From ca2bd30cfd6a4d1fab081ba8b87e7abf512a2def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= Date: Tue, 30 Aug 2022 09:16:12 +0200 Subject: [PATCH 001/620] Fix for issue 59, under define FIX_I59. - Correcting delay of LFE using binaural_latency_ns instead of latency_s for total latency of binaural renderer. - Corrected delay compensation for TD renderer by removing IVAS_FB_DEC_DELAY_NS and do rounding in samples instead of in nanosecond. --- lib_com/delay_comp.c | 10 +++++++++- lib_com/ivas_prot.h | 4 ++++ lib_com/options.h | 1 + lib_com/prot.h | 2 ++ lib_dec/ivas_binauralRenderer.c | 4 ++++ lib_dec/ivas_dec.c | 5 +++++ lib_dec/ivas_init_dec.c | 4 ++++ lib_dec/ivas_lfe_dec.c | 13 +++++++++++++ lib_dec/ivas_stat_dec.h | 4 ++++ lib_dec/lib_dec.c | 5 ++++- lib_enc/lib_enc.c | 4 ++++ .../tests/unit_tests/crend/ivas_crend_utest_utils.c | 4 ++++ 12 files changed, 58 insertions(+), 2 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index a957150b93..047b4d154c 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -54,8 +54,10 @@ float get_delay( const int16_t what_delay, /* i : what delay? (ENC or DEC) */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ +#ifndef FIX_I59 HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ +#endif const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ ) { @@ -94,7 +96,12 @@ float get_delay( else /* IVAS */ { delay = IVAS_DEC_DELAY_NS; - +#ifdef FIX_I59 + /* compensate for binaural renderer delay */ + { + delay += binaural_latency_ns; + } +#else if ( hCldfb != NULL || renderer_type == RENDERER_BINAURAL_OBJECTS_TD ) { delay += IVAS_FB_DEC_DELAY_NS; @@ -104,6 +111,7 @@ float get_delay( { delay += binaural_latency_ns; } +#endif } } diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 497c6a6bef..4ea1c98606 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -4815,7 +4815,11 @@ void ivas_lfe_enc( ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ const int32_t output_Fs, /* i : output sampling rate */ +#ifdef FIX_I59 + const int32_t binaural_latency_ns /* i : additional LFE delay to sync with binaural renderer */ +#else const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ +#endif ); void ivas_lfe_dec_close( diff --git a/lib_com/options.h b/lib_com/options.h index 77a14be529..c34eadfe94 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -153,6 +153,7 @@ #define FIX_I87 /* fix for issue 86: incorrect Ambisonics order set for head rotation in SBA */ +#define FIX_I59 /* fix for issue 59: correcting delay of LFE and delay compensation */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/prot.h b/lib_com/prot.h index d9b238bdf0..7b18b9ae49 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -716,8 +716,10 @@ float get_delay( const int16_t what_delay, /* i : what delay? (ENC or DEC) */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ +#ifndef FIX_I59 HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ +#endif const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ ); diff --git a/lib_dec/ivas_binauralRenderer.c b/lib_dec/ivas_binauralRenderer.c index 153e159adc..c000016355 100644 --- a/lib_dec/ivas_binauralRenderer.c +++ b/lib_dec/ivas_binauralRenderer.c @@ -496,6 +496,10 @@ ivas_error ivas_binRenderer_open( st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ); } } +#ifdef FIX_I59 + /* Add CLDFB delay */ + st_ivas->binaural_latency_ns += IVAS_FB_DEC_DELAY_NS; +#endif /* Allocate memories needed for reverb module */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index a103c9f45f..dcd5c68991 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -390,8 +390,13 @@ ivas_error ivas_dec( } if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { +#ifdef FIX_I59 + ivas_binaural_cldfb( st_ivas, output ); + ivas_binaural_add_LFE( st_ivas, output_frame, output ); +#else ivas_binaural_add_LFE( st_ivas, output_frame, output ); ivas_binaural_cldfb( st_ivas, output ); +#endif } else if ( st_ivas->renderer_type == RENDERER_MC ) { diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index a682cd3c58..9092e42f0c 100755 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1277,7 +1277,11 @@ ivas_error ivas_init_decoder( if ( st_ivas->mc_mode == MC_MODE_MCT ) { +#ifdef FIX_I59 + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, st_ivas->binaural_latency_ns ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) +#endif { return error; } diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index a909801b8f..8033782e86 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -352,7 +352,11 @@ void ivas_lfe_dec( ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ const int32_t output_Fs, /* i : output sampling rate */ +#ifdef FIX_I59 + const int32_t binaural_latency_ns /* i : additional LFE delay to sync with binaural renderer */ +#else const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ +#endif ) { float low_pass_delay_dec_out, block_offset_s; @@ -361,6 +365,9 @@ ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE hLFE; float lfe_addl_delay_s; int16_t i, j; +#ifdef FIX_I59 + int16_t add_delay_sa; +#endif low_pass_delay_dec_out = 0; block_offset_s = 0; @@ -436,8 +443,14 @@ ivas_error ivas_create_lfe_dec( lfe_addl_delay_s = block_offset_s - hLFE->lfe_block_delay_s; lfe_addl_delay_s = max( 0.0f, lfe_addl_delay_s ); +#ifdef FIX_I59 + add_delay_sa = NS2SA( output_Fs, binaural_latency_ns + 0.5f ); + hLFE->lfe_addl_delay = (int16_t) ( lfe_addl_delay_s * output_Fs ) + add_delay_sa; + hLFE->lfe_block_delay_s += lfe_addl_delay_s + add_delay_sa / output_Fs; +#else hLFE->lfe_addl_delay = (int16_t) ( lfe_addl_delay_s * output_Fs ) + (int16_t) roundf( add_delay_s * output_Fs ); hLFE->lfe_block_delay_s += lfe_addl_delay_s + add_delay_s; +#endif if ( hLFE->lfe_addl_delay > 0 ) { diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index f8f1c5cb85..a65f30cfc9 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -2004,7 +2004,11 @@ typedef struct Decoder_Struct float *hoa_dec_mtx; /* Pointer to decoder matrix for SBA */ HEAD_TRACK_DATA_HANDLE hHeadTrackData; /* Head tracking data structure */ RENDER_CONFIG_DATA *hRenderConfig; /* Renderer config pointer */ +#ifdef FIX_I59 + int32_t binaural_latency_ns; /* Binaural renderer latency in ns */ +#else int32_t binaural_latency_ns; /* HRTF binauralization latency in ns */ +#endif #ifdef DEBUGGING int32_t noClipping; /* number of clipped samples */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index fd27442c37..92c02bbd8e 100755 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1060,8 +1060,11 @@ ivas_error IVAS_DEC_GetDelay( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; - +#ifdef FIX_I59 + *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->binaural_latency_ns ) + 0.5f ); +#else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); +#endif *timeScale = hDecoderConfig->output_Fs; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 760ae0d353..3a4beaf315 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -940,7 +940,11 @@ ivas_error IVAS_ENC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } +#ifdef FIX_I59 + *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, 0 ) + 0.5f ); +#else *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ) ); +#endif *delay *= hEncoderConfig->nchan_inp; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index d993405b11..c47a0c86c3 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -1307,7 +1307,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } if ( st_ivas.ivas_format == MC_FORMAT ) { +#ifdef FIX_I59 + ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); +#else ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_s ); +#endif if ( st_ivas.hLFE->lfe_addl_delay > 0 ) { if ( st_ivas.hLFE->lfe_delay_buf != NULL ) -- GitLab From 95170560fd7df37fc08d62a456b4b92cf0e4a9d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= Date: Wed, 31 Aug 2022 07:12:29 +0200 Subject: [PATCH 002/620] Fix for non-binaural delay compensation. Adding filterbank delay when there is not binaural rendering (and it is used). Using binaural_latency_ns > 0 as indicator. --- lib_com/delay_comp.c | 10 ++++++++-- lib_com/prot.h | 2 +- lib_dec/lib_dec.c | 2 +- lib_enc/lib_enc.c | 2 +- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index 047b4d154c..e9c857b423 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -54,8 +54,8 @@ float get_delay( const int16_t what_delay, /* i : what delay? (ENC or DEC) */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifndef FIX_I59 HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ +#ifndef FIX_I59 RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ #endif const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ @@ -97,10 +97,16 @@ float get_delay( { delay = IVAS_DEC_DELAY_NS; #ifdef FIX_I59 - /* compensate for binaural renderer delay */ + if ( binaural_latency_ns > 0 ) { + /* compensate for binaural renderer delay */ delay += binaural_latency_ns; } + else if ( hCldfb != NULL ) + { + /* compensate for filterbank delay */ + delay += IVAS_FB_DEC_DELAY_NS; + } #else if ( hCldfb != NULL || renderer_type == RENDERER_BINAURAL_OBJECTS_TD ) { diff --git a/lib_com/prot.h b/lib_com/prot.h index 7b18b9ae49..4837495fe1 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -716,8 +716,8 @@ float get_delay( const int16_t what_delay, /* i : what delay? (ENC or DEC) */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifndef FIX_I59 HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ +#ifndef FIX_I59 RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ #endif const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 92c02bbd8e..77be1e198c 100755 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1061,7 +1061,7 @@ ivas_error IVAS_DEC_GetDelay( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; #ifdef FIX_I59 - *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->binaural_latency_ns ) + 0.5f ); + *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ); #else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); #endif diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 3a4beaf315..8a375269e7 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -941,7 +941,7 @@ ivas_error IVAS_ENC_GetDelay( } #ifdef FIX_I59 - *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, 0 ) + 0.5f ); + *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) + 0.5f ); #else *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ) ); #endif -- GitLab From 9786a7a727b9c05460680d394e0f4fee3a80291a Mon Sep 17 00:00:00 2001 From: Hiromi Sekine Date: Thu, 8 Sep 2022 18:08:39 +0900 Subject: [PATCH 003/620] Reduction of complexity for phase only correlation in stereo downmix for EVS. --- lib_com/options.h | 4 + lib_enc/ivas_stereo_dmx_evs.c | 325 +++++++++++++++++++++++++++++++++- 2 files changed, 328 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9a564035bf..9938929f9b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,6 +151,10 @@ #define FIX_I2_BWD /* Issue 2: BWD fix to more quickly react to WB -> SWB/FB change */ + +/* NTT switches */ +#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index a6773bc64c..4164845dbf 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -155,7 +155,15 @@ static void calc_poc( const float *s; float *P; float tmp1, tmp2, Lr, Li, Rr, Ri, gamma, igamma, iN; + +#ifdef NTT_REDUC_COMP_POC + float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary part of spectrum*/ + float aR, aI; /*real and imaginary values for searching phase angle*/ + int16_t j; +#else float specPOr[L_FRAME48k], specPOi[L_FRAME48k]; +#endif + float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; float rfft_buf[L_FRAME48k]; int16_t step, bias; @@ -194,12 +202,326 @@ static void calc_poc( cos_step = 4; cos_max = input_frame; } - else /* for 32 kHz & 48 kHz */ + else /* for 32 kHz & 48 kHz*/ { cos_step = 2; cos_max = n0; } +#ifdef NTT_REDUC_COMP_POC + /*apploximation of phase angle on an unit circle without using sqrt()*/ + for ( i = 1; i < n0 / 2; i++ ) + { + Lr = specLr[i]; + Li = specLi[i]; + Rr = specRr[i]; + Ri = specRi[i]; + + i_for = i * cos_step; + eps_cos = s[cos_max - i_for] * EPS; + eps_sin = s[i_for] * EPS; + Lr += ( specRr[i] * eps_cos + specRi[i] * eps_sin ); + Li += ( -specRr[i] * eps_sin + specRi[i] * eps_cos ); + Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); + Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); + + specPOr[i] = ( Lr * Rr + Li * Ri ); + specPOi[i] = ( Lr * Ri - Li * Rr ); + + j = n0 - i; + Lr = specLr[j]; + Li = specLi[j]; + Rr = specRr[j]; + Ri = specRi[j]; + Lr += ( -specRr[j] * eps_cos + specRi[j] * eps_sin ); + Li += ( -specRr[j] * eps_sin - specRi[j] * eps_cos ); + Rr += ( -specLr[j] * eps_cos + specLi[j] * eps_sin ); + Ri += ( -specLr[j] * eps_sin - specLi[j] * eps_cos ); + + specPOr[j] = ( Lr * Rr + Li * Ri ); + specPOi[j] = ( Lr * Ri - Li * Rr ); + } + { + i = n0 / 2; + Lr = specLr[i] + specRi[i] * EPS; + Li = specLi[i] - specRr[i] * EPS; + Rr = specRr[i] + specLi[i] * EPS; + Ri = specRi[i] - specLr[i] * EPS; + + specPOr[i] = ( Lr * Rr + Li * Ri ); + specPOi[i] = ( Lr * Ri - Li * Rr ); + } + /* complex spectrum (specPOr[i], specPOi[i]) are placed on an unit circle without using srqt()*/ + for ( i = 1; i < 10; i++ ) /*search from 4 angles */ + { + specPOr[i] = sign( specPOr[i] ) * 0.866f; /* low angles are more frequent for low frequency */ + specPOi[i] = sign( specPOi[i] ) * 0.5f; + } + for ( i = 10; i> 4; i++ ) /*search from 4 angles */ + { + specPOr[i] = sign( specPOr[i] ) * 0.7071f; /* low accuracy is adequate for low frequency */ + specPOi[i] = sign( specPOi[i] ) * 0.7071f; + } + for ( i = n0 >> 4; i> 3; i++ ) /* binary search from 8 angles */ + { + aR = fabsf( specPOr[i] ); + aI = fabsf( specPOi[i] ); + if ( aR > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.92388f; /* (wnd[n0>>2]+wnd[(n0>>2)-1])*0.5f) */ + specPOi[i] = sign( specPOi[i] ) * 0.382683f; /* (wnd[n0>>2]+wnd[(n0>>2)-1])*0.5f) */ + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.382683f; /* (wnd[n0>>2]+wnd[(n0>>2)-1])*0.5f) */ + specPOi[i] = sign( specPOi[i] ) * 0.92388f; /* (wnd[(n0>>2)*3]+wnd[((n0>>2)*3)-1])*0.5f) */ + } + } + for ( i = n0 >> 3; i> 2; i++ ) /* binary search from 16 angles */ + { + aR = fabsf( specPOr[i] ); + aI = fabsf( specPOi[i] ); + if ( aR > aI ) + { + if ( aR * 0.414213f /*tanf(PI/8)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.980785f; /* (wnd[(n0>>3)*7]+wnd[((n0>>3)*7)-1])*0.5f */ + specPOi[i] = sign( specPOi[i] ) * 0.19509f; /* (wnd[n0>>3]+wnd[(n0>>3)-1])*0.5f) */ + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.83147f; /* (wnd[(n0>>3)*5]+wnd[((n0>>3)*5)-1])*0.5f */ + specPOi[i] = sign( specPOi[i] ) * 0.55557f; /* (wnd[(n0>>3)*3]+wnd[(n0>>3)*3-1])*0.5f */ + } + } + else + { + if ( aR > aI * 0.41421356f /*tanf(PI/8)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.55557f; + specPOi[i] = sign( specPOi[i] ) * 0.83147f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.19509f; + specPOi[i] = sign( specPOi[i] ) * 0.980785f; + } + } + } + + for ( i = n0 >> 2; i> 1; i++ ) /* binary search from 32 angles */ + { + aR = fabsf( specPOr[i] ); + aI = fabsf( specPOi[i] ); + + if ( aR > aI ) + { + if ( aR * 0.4142136f /*tanf(PI/8)*/ > aI ) + { + if ( aR * 0.19891f /*tanf(PI/16)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.995185f; + specPOi[i] = sign( specPOi[i] ) * 0.098017f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.95694f; + specPOi[i] = sign( specPOi[i] ) * 0.290285f; + } + } + else + { + if ( aR * 0.66818f /*tanf(PI*3/16)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.881921f; + specPOi[i] = sign( specPOi[i] ) * 0.471397f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.77301f; + specPOi[i] = sign( specPOi[i] ) * 0.634393f; + } + } + } + else + { + if ( aR > aI * 0.4142136f /*tanf(PI/8)*/ ) + { + if ( aR > aI * 0.668179f /*tanf(PI*3/16)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.634393f; + specPOi[i] = sign( specPOi[i] ) * 0.77301f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.471397f; + specPOi[i] = sign( specPOi[i] ) * 0.881921f; + } + } + else + { + if ( aR > aI * 0.198912f /*tanf(PI/16)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.290285f; + specPOi[i] = sign( specPOi[i] ) * 0.95694f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.098017f; + specPOi[i] = sign( specPOi[i] ) * 0.995158f; + } + } + } + } + + for ( i = n0 >> 1; i < min( n0, 320 ); i++ ) /* binary search from 64 angles */ + { + aR = fabsf( specPOr[i] ); + aI = fabsf( specPOi[i] ); + + if ( aR > aI ) + { + if ( aR * 0.414213f /*tanf(PI/8)*/ > aI ) + { + if ( aR * 0.19891f /*tanf(PI/16)*/ > aI ) + { + if ( aR * 0.0984914f /*tanf(PI/32)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.99879f; + specPOi[i] = sign( specPOi[i] ) * 0.04907f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.98918f; + specPOi[i] = sign( specPOi[i] ) * 0.14763f; + } + } + else + { + if ( aR * 0.303347f /*tanf(PI*3/32)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.970031f; + specPOi[i] = sign( specPOi[i] ) * 0.24298f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.941544f; + specPOi[i] = sign( specPOi[i] ) * 0.33689f; + } + } + } + else + { + if ( aR * 0.66818f /*tanf(PI*3/16)*/ > aI ) + { + if ( aR * 0.534511f /*tanf(PI*5/32)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.903989f; + specPOi[i] = sign( specPOi[i] ) * 0.427555f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.857729f; + specPOi[i] = sign( specPOi[i] ) * 0.514103f; + } + } + else + { + if ( aR * 0.8206788f /*tanf(PI*7/32)*/ > aI ) + { + specPOr[i] = sign( specPOr[i] ) * 0.803208f; + specPOi[i] = sign( specPOi[i] ) * 0.595699f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.740951f; + specPOi[i] = sign( specPOi[i] ) * 0.671559f; + } + } + } + } + else + { + if ( aR > aI * 0.4142136f /*tanf(PI/8)*/ ) + { + if ( aR > aI * 0.6681767f /*tanf(PI*3/16)*/ ) + { + if ( aR > aI * 0.820681f /*tanf(PI*7/32)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.671559f; + specPOi[i] = sign( specPOi[i] ) * 0.740951f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.595699f; + specPOi[i] = sign( specPOi[i] ) * 0.803208f; + } + } + else + { + if ( aR > aI * 0.5345111f /*tanf(PI*5/32)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.514103f; + specPOi[i] = sign( specPOi[i] ) * 0.857729f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.427555f; + specPOi[i] = sign( specPOi[i] ) * 0.903989f; + } + } + } + else + { + if ( aR > aI * 0.1989124f /*tanf(PI/16)*/ ) + { + if ( aR > aI * 0.3033467f /*tanf(PI*3/32)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.33689f; + specPOi[i] = sign( specPOi[i] ) * 0.941544f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.24298f; + specPOi[i] = sign( specPOi[i] ) * 0.970031f; + } + } + else + { + if ( aR > aI * 0.098491f /*tanf(PI/32)*/ ) + { + specPOr[i] = sign( specPOr[i] ) * 0.14673f; + specPOi[i] = sign( specPOi[i] ) * 0.989177f; + } + else + { + specPOr[i] = sign( specPOr[i] ) * 0.049068f; + specPOi[i] = sign( specPOi[i] ) * 0.998795f; + } + } + } + } + } + for ( i = 1; i < min( n0, 320 ); i++ ) /*neglect highest frequency bins when 48 kHz samplng*/ + { + tmp1 = wnd[i * step + bias] * gamma; + specPOr[i] *= tmp1; + specPOi[i] *= tmp1; + gamma -= igamma; + } + if ( i < n0 ) + { + gamma -= igamma * ( n0 - 320 ); + } + for ( /* i = min(n0, 320) */; i < n0; i++ ) /*neglect higher frequency bins when 48 kHz samplng*/ + { + specPOr[i] = 0.f; + specPOi[i] = 0.f; + } + specPOr[n0] = sign( specLr[n0] ) * sign( specRr[n0] ) * wnd[i * step + bias] * gamma; + +#else + for ( i = 1; i < n0 / 2; i++ ) { Lr = specLr[i]; @@ -245,6 +567,7 @@ static void calc_poc( } specPOr[n0] = sign( specLr[i] ) * sign( specRr[i] ) * wnd[i * step + bias] * gamma; +#endif rfft_buf[0] = specPOr[0]; rfft_buf[1] = specPOr[n0]; -- GitLab From ea0dc612a6a162f895b729b6402d0af5c9ab87e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= Date: Thu, 22 Sep 2022 10:34:02 +0200 Subject: [PATCH 004/620] Removed filterbank delay from binaural_latency_ns. --- lib_com/delay_comp.c | 14 +++++++------- lib_com/prot.h | 4 +++- lib_dec/ivas_init_dec.c | 11 ++++++++++- lib_dec/ivas_stat_dec.h | 2 +- 4 files changed, 21 insertions(+), 10 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index e9c857b423..dd2584d40a 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -57,8 +57,10 @@ float get_delay( HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ #ifndef FIX_I59 RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ -#endif const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ +#else + const int32_t binaural_latency_ns /* i : binauralization delay in ns */ +#endif ) { float delay = 0; @@ -97,16 +99,14 @@ float get_delay( { delay = IVAS_DEC_DELAY_NS; #ifdef FIX_I59 - if ( binaural_latency_ns > 0 ) - { - /* compensate for binaural renderer delay */ - delay += binaural_latency_ns; - } - else if ( hCldfb != NULL ) + if ( hCldfb != NULL ) { /* compensate for filterbank delay */ delay += IVAS_FB_DEC_DELAY_NS; } + + /* compensate for binauralization delay */ + delay += binaural_latency_ns; #else if ( hCldfb != NULL || renderer_type == RENDERER_BINAURAL_OBJECTS_TD ) { diff --git a/lib_com/prot.h b/lib_com/prot.h index 4837495fe1..3c2ecf2759 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -719,8 +719,10 @@ float get_delay( HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ #ifndef FIX_I59 RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ -#endif const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ +#else + const int32_t binaural_latency_ns /* i : binauralization delay in ns */ +#endif ); void decision_matrix_enc( diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 9092e42f0c..2b0f605514 100755 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -619,6 +619,9 @@ ivas_error ivas_init_decoder( AUDIO_CONFIG output_config; DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; +#ifdef FIX_I59 + int32_t lfe_delay; +#endif error = IVAS_ERR_OK; @@ -1278,7 +1281,13 @@ ivas_error ivas_init_decoder( if ( st_ivas->mc_mode == MC_MODE_MCT ) { #ifdef FIX_I59 - if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, st_ivas->binaural_latency_ns ) ) != IVAS_ERR_OK ) + lfe_delay = st_ivas->binaural_latency_ns; + if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) + { + /* Account for filterbank delay */ + lfe_delay += IVAS_FB_DEC_DELAY_NS; + } + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, lfe_delay ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) #endif diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index a65f30cfc9..92f4a699e3 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -2005,7 +2005,7 @@ typedef struct Decoder_Struct HEAD_TRACK_DATA_HANDLE hHeadTrackData; /* Head tracking data structure */ RENDER_CONFIG_DATA *hRenderConfig; /* Renderer config pointer */ #ifdef FIX_I59 - int32_t binaural_latency_ns; /* Binaural renderer latency in ns */ + int32_t binaural_latency_ns; /* Binauralization latency in ns */ #else int32_t binaural_latency_ns; /* HRTF binauralization latency in ns */ #endif -- GitLab From 1f59b3289d09f2a1fe8e9f12848c1f21d106978a Mon Sep 17 00:00:00 2001 From: Hiromi Sekine Date: Mon, 26 Sep 2022 14:05:26 +0900 Subject: [PATCH 005/620] Additional reduction of WMOPS for NTT_REDUC_COMP_POC. --- lib_com/options.h | 4 +- lib_enc/ivas_stereo_dmx_evs.c | 387 ++++++++++++++++------------------ 2 files changed, 177 insertions(+), 214 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9938929f9b..edcd2846aa 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -150,10 +150,8 @@ #define SPAR_SCALING_HARMONIZATION /* Issue 80: Changes to harmonize scaling in spar */ #define FIX_I2_BWD /* Issue 2: BWD fix to more quickly react to WB -> SWB/FB change */ - - /* NTT switches */ -#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix */ +#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index 4164845dbf..4a09062bc2 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -160,14 +160,23 @@ static void calc_poc( float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary part of spectrum*/ float aR, aI; /*real and imaginary values for searching phase angle*/ int16_t j; + + int16_t index_angles, mult_angle; + + bool diffIR; + const float *cos_reverse; + + float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; + float rfft_buf[L_FRAME48k]; + int16_t step, bias; #else float specPOr[L_FRAME48k], specPOi[L_FRAME48k]; -#endif - float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; float rfft_buf[L_FRAME48k]; int16_t step, bias; int16_t i_for; +#endif + int16_t cos_step, cos_max; float eps_cos, eps_sin, EPS; @@ -181,131 +190,155 @@ static void calc_poc( igamma = STEREO_DMX_EVS_POC_GAMMA * iN; gamma = 1.0f - igamma; +#ifdef NTT_REDUC_COMP_POC /*apploximation of phase angle on an unit circle without using sqrt()*/ if ( input_frame == L_FRAME16k ) { step = 3; bias = 1; + cos_step = 4; + cos_max = input_frame; + mult_angle = 1; } else { step = 1; bias = 0; + cos_step = 2; + cos_max = n0; + mult_angle = 2; + if ( input_frame == L_FRAME48k ) + mult_angle = 3; } + cos_reverse = s + cos_max; specPOr[0] = sign( specLr[0] ) * sign( specRr[0] ) * wnd[bias]; specPOi[0] = 0.0f; - EPS = hPOC->eps; - - if ( input_frame == L_FRAME16k ) + if ( input_frame == L_FRAME48k ) { - cos_step = 4; - cos_max = input_frame; - } - else /* for 32 kHz & 48 kHz*/ - { - cos_step = 2; - cos_max = n0; + for ( i = 1; i < n0 / 2; i++ ) + { + Lr = specLr[i]; + Li = specLi[i]; + Rr = specRr[i]; + Ri = specRi[i]; + + eps_cos = s[cos_max - i * cos_step /*cos_max - i_for*/] * EPS; + eps_sin = s[i * cos_step /*i_for*/] * EPS; + Lr += ( Rr * eps_cos + Ri * eps_sin ); + Li += ( -Rr * eps_sin + Ri * eps_cos ); + Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); + Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); + + specPOr[i] = ( Lr * Rr + Li * Ri ); + specPOi[i] = ( Lr * Ri - Li * Rr ); + j = n0 - i; + if ( j < 320 ) + { + Lr = specLr[j]; + Li = specLi[j]; + Rr = specRr[j]; + Ri = specRi[j]; + Lr += ( -Rr * eps_cos + Ri * eps_sin ); + Li += ( -Rr * eps_sin - Ri * eps_cos ); + Rr += ( -specLr[j] * eps_cos + specLi[j] * eps_sin ); + Ri += ( -specLr[j] * eps_sin - specLi[j] * eps_cos ); + + specPOr[j] = ( Lr * Rr + Li * Ri ); + specPOi[j] = ( Lr * Ri - Li * Rr ); + } + } } - -#ifdef NTT_REDUC_COMP_POC - /*apploximation of phase angle on an unit circle without using sqrt()*/ - for ( i = 1; i < n0 / 2; i++ ) + else /* 16kHz and 32 kHz*/ { - Lr = specLr[i]; - Li = specLi[i]; - Rr = specRr[i]; - Ri = specRi[i]; - - i_for = i * cos_step; - eps_cos = s[cos_max - i_for] * EPS; - eps_sin = s[i_for] * EPS; - Lr += ( specRr[i] * eps_cos + specRi[i] * eps_sin ); - Li += ( -specRr[i] * eps_sin + specRi[i] * eps_cos ); - Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); - Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); - - specPOr[i] = ( Lr * Rr + Li * Ri ); - specPOi[i] = ( Lr * Ri - Li * Rr ); - - j = n0 - i; - Lr = specLr[j]; - Li = specLi[j]; - Rr = specRr[j]; - Ri = specRi[j]; - Lr += ( -specRr[j] * eps_cos + specRi[j] * eps_sin ); - Li += ( -specRr[j] * eps_sin - specRi[j] * eps_cos ); - Rr += ( -specLr[j] * eps_cos + specLi[j] * eps_sin ); - Ri += ( -specLr[j] * eps_sin - specLi[j] * eps_cos ); - - specPOr[j] = ( Lr * Rr + Li * Ri ); - specPOi[j] = ( Lr * Ri - Li * Rr ); + for ( i = 1; i < n0 / 2; i++ ) + { + Lr = specLr[i]; + Li = specLi[i]; + Rr = specRr[i]; + Ri = specRi[i]; + eps_cos = s[cos_max - i * cos_step /*cos_max - i_for*/] * EPS; + eps_sin = s[i * cos_step /*i_for*/] * EPS; + Lr += ( Rr * eps_cos + Ri * eps_sin ); + Li += ( -Rr * eps_sin + Ri * eps_cos ); + Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); + Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); + specPOr[i] = ( Lr * Rr + Li * Ri ); + specPOi[i] = ( Lr * Ri - Li * Rr ); + + j = n0 - i; + Lr = specLr[j]; + Li = specLi[j]; + Rr = specRr[j]; + Ri = specRi[j]; + Lr += ( -Rr * eps_cos + Ri * eps_sin ); + Li += ( -Rr * eps_sin - Ri * eps_cos ); + Rr += ( -specLr[j] * eps_cos + specLi[j] * eps_sin ); + Ri += ( -specLr[j] * eps_sin - specLi[j] * eps_cos ); + specPOr[j] = ( Lr * Rr + Li * Ri ); + specPOi[j] = ( Lr * Ri - Li * Rr ); + } } { - i = n0 / 2; + /* i=n0/2*/ Lr = specLr[i] + specRi[i] * EPS; Li = specLi[i] - specRr[i] * EPS; Rr = specRr[i] + specLi[i] * EPS; Ri = specRi[i] - specLr[i] * EPS; - specPOr[i] = ( Lr * Rr + Li * Ri ); specPOi[i] = ( Lr * Ri - Li * Rr ); } /* complex spectrum (specPOr[i], specPOi[i]) are placed on an unit circle without using srqt()*/ for ( i = 1; i < 10; i++ ) /*search from 4 angles */ { - specPOr[i] = sign( specPOr[i] ) * 0.866f; /* low angles are more frequent for low frequency */ - specPOi[i] = sign( specPOi[i] ) * 0.5f; + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + + specPOr[i] = sign( specPOr[i] ) * 0.866f * tmp1; /* low angles are more frequent for low frequency */ + specPOi[i] = sign( specPOi[i] ) * 0.5f * tmp1; } for ( i = 10; i> 4; i++ ) /*search from 4 angles */ { - specPOr[i] = sign( specPOr[i] ) * 0.7071f; /* low accuracy is adequate for low frequency */ - specPOi[i] = sign( specPOi[i] ) * 0.7071f; + tmp1 = wnd[i * step + bias] * gamma * 0.7071f; + gamma -= igamma; + + specPOr[i] = sign( specPOr[i] ) * tmp1; + specPOi[i] = sign( specPOi[i] ) * tmp1; /* low accuracy is adequate for low frequency */ } for ( i = n0 >> 4; i> 3; i++ ) /* binary search from 8 angles */ { aR = fabsf( specPOr[i] ); aI = fabsf( specPOi[i] ); - if ( aR > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.92388f; /* (wnd[n0>>2]+wnd[(n0>>2)-1])*0.5f) */ - specPOi[i] = sign( specPOi[i] ) * 0.382683f; /* (wnd[n0>>2]+wnd[(n0>>2)-1])*0.5f) */ - } - else + + diffIR = aR > aI; + index_angles = 120 - (int16_t) diffIR * 80; { - specPOr[i] = sign( specPOr[i] ) * 0.382683f; /* (wnd[n0>>2]+wnd[(n0>>2)-1])*0.5f) */ - specPOi[i] = sign( specPOi[i] ) * 0.92388f; /* (wnd[(n0>>2)*3]+wnd[((n0>>2)*3)-1])*0.5f) */ + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; } } for ( i = n0 >> 3; i> 2; i++ ) /* binary search from 16 angles */ { aR = fabsf( specPOr[i] ); aI = fabsf( specPOi[i] ); + if ( aR > aI ) { - if ( aR * 0.414213f /*tanf(PI/8)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.980785f; /* (wnd[(n0>>3)*7]+wnd[((n0>>3)*7)-1])*0.5f */ - specPOi[i] = sign( specPOi[i] ) * 0.19509f; /* (wnd[n0>>3]+wnd[(n0>>3)-1])*0.5f) */ - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.83147f; /* (wnd[(n0>>3)*5]+wnd[((n0>>3)*5)-1])*0.5f */ - specPOi[i] = sign( specPOi[i] ) * 0.55557f; /* (wnd[(n0>>3)*3]+wnd[(n0>>3)*3-1])*0.5f */ - } + diffIR = aR * 0.414213f /*tanf(PI/8)*/ > aI; + index_angles = 60 - (int16_t) diffIR * 40; } else { - if ( aR > aI * 0.41421356f /*tanf(PI/8)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.55557f; - specPOi[i] = sign( specPOi[i] ) * 0.83147f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.19509f; - specPOi[i] = sign( specPOi[i] ) * 0.980785f; - } + diffIR = aR > aI * 0.41421356f /*tanf(PI/8)*/; + index_angles = 140 - (int16_t) diffIR * 40; + } + { + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; } } @@ -318,125 +351,66 @@ static void calc_poc( { if ( aR * 0.4142136f /*tanf(PI/8)*/ > aI ) { - if ( aR * 0.19891f /*tanf(PI/16)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.995185f; - specPOi[i] = sign( specPOi[i] ) * 0.098017f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.95694f; - specPOi[i] = sign( specPOi[i] ) * 0.290285f; - } + diffIR = aR * 0.19891f /*tanf(PI/16)*/ > aI; + index_angles = 30 - (int16_t) diffIR * 20; } else { - if ( aR * 0.66818f /*tanf(PI*3/16)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.881921f; - specPOi[i] = sign( specPOi[i] ) * 0.471397f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.77301f; - specPOi[i] = sign( specPOi[i] ) * 0.634393f; - } + diffIR = aR * 0.66818f /*tanf(PI*3/16)*/ > aI; + index_angles = 70 - (int16_t) diffIR * 20; } } else { if ( aR > aI * 0.4142136f /*tanf(PI/8)*/ ) { - if ( aR > aI * 0.668179f /*tanf(PI*3/16)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.634393f; - specPOi[i] = sign( specPOi[i] ) * 0.77301f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.471397f; - specPOi[i] = sign( specPOi[i] ) * 0.881921f; - } + diffIR = aR > aI * 0.668179f /*tanf(PI*3/16)*/; + index_angles = 110 - (int16_t) diffIR * 20; } else { - if ( aR > aI * 0.198912f /*tanf(PI/16)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.290285f; - specPOi[i] = sign( specPOi[i] ) * 0.95694f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.098017f; - specPOi[i] = sign( specPOi[i] ) * 0.995158f; - } + diffIR = aR > aI * 0.198912f /*tanf(PI/16)*/; + index_angles = 150 - (int16_t) diffIR * 20; } } + { + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; + } } for ( i = n0 >> 1; i < min( n0, 320 ); i++ ) /* binary search from 64 angles */ { aR = fabsf( specPOr[i] ); aI = fabsf( specPOi[i] ); - if ( aR > aI ) { if ( aR * 0.414213f /*tanf(PI/8)*/ > aI ) { if ( aR * 0.19891f /*tanf(PI/16)*/ > aI ) { - if ( aR * 0.0984914f /*tanf(PI/32)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.99879f; - specPOi[i] = sign( specPOi[i] ) * 0.04907f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.98918f; - specPOi[i] = sign( specPOi[i] ) * 0.14763f; - } + diffIR = aR * 0.0984914f /*tanf(PI/32)*/ > aI; + index_angles = 15 - (int16_t) diffIR * 10; } else { - if ( aR * 0.303347f /*tanf(PI*3/32)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.970031f; - specPOi[i] = sign( specPOi[i] ) * 0.24298f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.941544f; - specPOi[i] = sign( specPOi[i] ) * 0.33689f; - } + diffIR = aR * 0.3033467f /*tanf(PI*3/32)*/ > aI; + index_angles = 35 - (int16_t) diffIR * 10; } } else { if ( aR * 0.66818f /*tanf(PI*3/16)*/ > aI ) { - if ( aR * 0.534511f /*tanf(PI*5/32)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.903989f; - specPOi[i] = sign( specPOi[i] ) * 0.427555f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.857729f; - specPOi[i] = sign( specPOi[i] ) * 0.514103f; - } + diffIR = aR * 0.534511f /*tanf(PI*5/32)*/ > aI; + index_angles = 55 - (int16_t) diffIR * 10; } else { - if ( aR * 0.8206788f /*tanf(PI*7/32)*/ > aI ) - { - specPOr[i] = sign( specPOr[i] ) * 0.803208f; - specPOi[i] = sign( specPOi[i] ) * 0.595699f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.740951f; - specPOi[i] = sign( specPOi[i] ) * 0.671559f; - } + diffIR = aR * 0.8206788f /*tanf(PI*7/32)*/ > aI; + index_angles = 75 - (int16_t) diffIR * 10; } } } @@ -446,68 +420,35 @@ static void calc_poc( { if ( aR > aI * 0.6681767f /*tanf(PI*3/16)*/ ) { - if ( aR > aI * 0.820681f /*tanf(PI*7/32)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.671559f; - specPOi[i] = sign( specPOi[i] ) * 0.740951f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.595699f; - specPOi[i] = sign( specPOi[i] ) * 0.803208f; - } + diffIR = aR > aI * 0.820681f /*tanf(PI*7/32)*/; + index_angles = 95 - (int16_t) diffIR * 10; } else { - if ( aR > aI * 0.5345111f /*tanf(PI*5/32)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.514103f; - specPOi[i] = sign( specPOi[i] ) * 0.857729f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.427555f; - specPOi[i] = sign( specPOi[i] ) * 0.903989f; - } + diffIR = aR > aI * 0.5345111f /*tanf(PI*5/32)*/; + index_angles = 115 - (int16_t) diffIR * 10; } } else { if ( aR > aI * 0.1989124f /*tanf(PI/16)*/ ) { - if ( aR > aI * 0.3033467f /*tanf(PI*3/32)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.33689f; - specPOi[i] = sign( specPOi[i] ) * 0.941544f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.24298f; - specPOi[i] = sign( specPOi[i] ) * 0.970031f; - } + diffIR = aR > aI * 0.3033467f /*tanf(PI*3/32)*/; + index_angles = 135 - (int16_t) diffIR * 10; } else { - if ( aR > aI * 0.098491f /*tanf(PI/32)*/ ) - { - specPOr[i] = sign( specPOr[i] ) * 0.14673f; - specPOi[i] = sign( specPOi[i] ) * 0.989177f; - } - else - { - specPOr[i] = sign( specPOr[i] ) * 0.049068f; - specPOi[i] = sign( specPOi[i] ) * 0.998795f; - } + diffIR = aR > aI * 0.098491f /*tanf(PI/32)*/; + index_angles = 155 - (int16_t) diffIR * 10; } } } - } - for ( i = 1; i < min( n0, 320 ); i++ ) /*neglect highest frequency bins when 48 kHz samplng*/ - { - tmp1 = wnd[i * step + bias] * gamma; - specPOr[i] *= tmp1; - specPOi[i] *= tmp1; - gamma -= igamma; + { + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; + } } if ( i < n0 ) { @@ -519,9 +460,33 @@ static void calc_poc( specPOi[i] = 0.f; } specPOr[n0] = sign( specLr[n0] ) * sign( specRr[n0] ) * wnd[i * step + bias] * gamma; - #else + if ( input_frame == L_FRAME16k ) + { + step = 3; + bias = 1; + } + else + { + step = 1; + bias = 0; + } + + specPOr[0] = sign( specLr[0] ) * sign( specRr[0] ) * wnd[bias]; + specPOi[0] = 0.0f; + + EPS = hPOC->eps; + if ( input_frame == L_FRAME16k ) + { + cos_step = 4; + cos_max = input_frame; + } + else /* for 32 kHz & 48 kHz */ + { + cos_step = 2; + cos_max = n0; + } for ( i = 1; i < n0 / 2; i++ ) { Lr = specLr[i]; @@ -690,7 +655,7 @@ static float find_poc_peak( cnt[n] = 0; cQ[n] = P[Lh - itd_cand[n]]; - peak_range = (int16_t) ( abs( itd_cand[n] ) + hPOC->shift_limit / STEREO_DMX_EVS_FIND_POC_PEAK_TAU ) / STEREO_DMX_EVS_FIND_POC_PEAK_TAU2; + peak_range = ( int16_t )( abs( itd_cand[n] ) + hPOC->shift_limit / STEREO_DMX_EVS_FIND_POC_PEAK_TAU ) / STEREO_DMX_EVS_FIND_POC_PEAK_TAU2; for ( i = 1; i <= peak_range; i++ ) { @@ -1028,7 +993,7 @@ void stereo_dmx_evs_enc( float dmx_data[L_FRAME48k]; int16_t input_frame; - input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); + input_frame = ( int16_t )( input_Fs / FRAMES_PER_SEC ); for ( n = 0; n < input_frame; n++ ) { @@ -1075,7 +1040,7 @@ ivas_error stereo_dmx_evs_init_encoder( STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS; int16_t n, input_frame; - input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); + input_frame = ( int16_t )( input_Fs / FRAMES_PER_SEC ); hStereoDmxEVS = NULL; if ( ( hStereoDmxEVS = (STEREO_DMX_EVS_ENC_HANDLE) count_malloc( sizeof( STEREO_DMX_EVS_ENC_DATA ) ) ) == NULL ) @@ -1117,7 +1082,7 @@ ivas_error stereo_dmx_evs_init_encoder( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for STEREO_DMX_EVS_POC_DATA\n" ) ); } - hStereoDmxEVS->hPOC->shift_limit = (int16_t) ( STEREO_DMX_EVS_SHIFT_LIMIT * input_Fs / 1000 ); + hStereoDmxEVS->hPOC->shift_limit = ( int16_t )( STEREO_DMX_EVS_SHIFT_LIMIT * input_Fs / 1000 ); for ( n = 0; n < CPE_CHANNELS; n++ ) { hStereoDmxEVS->hPOC->peakQ[n] = 0.0f; -- GitLab From 6ff997cc0d8a9110a47370cc06c88600383b3e3f Mon Sep 17 00:00:00 2001 From: vaclav Date: Fri, 30 Sep 2022 15:04:05 +0200 Subject: [PATCH 006/620] Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence; under FIX_DTX_RANGE --- lib_com/ivas_prot.h | 3 +++ lib_com/options.h | 2 +- lib_com/prot.h | 5 ++++- lib_enc/amr_wb_enc.c | 4 ++++ lib_enc/dtx.c | 25 ++++++++++++++++++++++++- lib_enc/ivas_core_pre_proc_front.c | 8 ++++++++ lib_enc/ivas_cpe_enc.c | 7 ++++++- lib_enc/ivas_front_vad.c | 4 ++++ lib_enc/ivas_ism_enc.c | 7 ++++++- lib_enc/ivas_sce_enc.c | 7 ++++++- lib_enc/lib_enc.c | 9 +++++++++ lib_enc/pre_proc.c | 4 ++++ 12 files changed, 79 insertions(+), 6 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index eafa392c8c..5d20b3be6e 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -185,6 +185,9 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ +#ifdef FIX_DTX_RANGE + ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ +#endif ); ivas_error pre_proc_ivas( diff --git a/lib_com/options.h b/lib_com/options.h index 3c30e33d86..fcc15e13c7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,7 @@ #define FIX_I106_TDREND_5MS /* Issue 106: 5 ms update rate in TD object renderer */ #define ALIGN_SID_SIZE /* Issue 111: make all DTX modes use one SID frame bitrate (5.2 kbps) */ #define FIX_135_MDCT_STEREO_MODE_UNINITIALIZED /* Issue 135: fix uninitialized value usage in SBA MDCT-Stereo core with PLC */ - +#define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ diff --git a/lib_com/prot.h b/lib_com/prot.h index f793d75bb7..1d3103d638 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3889,7 +3889,10 @@ void td_cng_enc_init( ); void dtx( - Encoder_State *st, /* i/o: encoder state structure */ + Encoder_State *st, /* i/o: encoder state structure */ +#ifdef FIX_DTX_RANGE + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ +#endif const int16_t vad, /* i : VAD flag for DTX */ const float speech[] /* i : Pointer to the speech frame */ ); diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 76ddf9e705..eebfc1c82c 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -311,7 +311,11 @@ void amr_wb_enc( st->fd_cng_reset_flag = 0; } +#ifdef FIX_DTX_RANGE + dtx( st, -1, vad_flag_dtx, inp ); +#else dtx( st, vad_flag_dtx, inp ); +#endif /*----------------------------------------------------------------* * Noise energy down-ward update and total noise energy estimation diff --git a/lib_enc/dtx.c b/lib_enc/dtx.c index 41a1f6af43..d8da85429f 100644 --- a/lib_enc/dtx.c +++ b/lib_enc/dtx.c @@ -63,6 +63,10 @@ #define LTE_VAR -4.0f +#ifdef FIX_DTX_RANGE +#define MAX_BRATE_DTX_EVS ACELP_24k40 /* maximum bitrate to which the default DTX is applied in EVS; otherwise DTX is applied only in silence */ +#define MAX_BRATE_DTX_IVAS IVAS_64k /* maximum bitrate to which the default DTX is applied in IVAS; otherwise DTX is applied only in silence */ +#endif /*-------------------------------------------------------------------* * Local function prototypes @@ -77,7 +81,10 @@ static void update_SID_cnt( DTX_ENC_HANDLE hDtxEnc, const int32_t core_brate, co *-------------------------------------------------------------------*/ void dtx( - Encoder_State *st, /* i/o: encoder state structure */ + Encoder_State *st, /* i/o: encoder state structure */ +#ifdef FIX_DTX_RANGE + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ +#endif const int16_t vad, /* i : VAD flag for DTX */ const float speech[] /* i : Pointer to the speech frame */ ) @@ -96,9 +103,15 @@ void dtx( } else { +#ifdef FIX_DTX_RANGE + last_br_cng_flag = st->last_total_brate_cng <= MAX_BRATE_DTX_EVS || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->last_total_brate_cng <= MAX_BRATE_DTX_IVAS ); + + last_br_flag = st->last_total_brate <= MAX_BRATE_DTX_EVS || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->last_total_brate <= MAX_BRATE_DTX_IVAS ); +#else last_br_cng_flag = st->last_total_brate_cng <= ACELP_24k40 || st->lp_noise < 15 || ( ( st->element_mode == IVAS_SCE ) && st->last_total_brate_cng <= ACELP_32k ); last_br_flag = st->last_total_brate <= ACELP_24k40 || st->lp_noise < 15 || ( ( st->element_mode == IVAS_SCE ) && st->last_total_brate <= ACELP_32k ); +#endif br_dtx_flag = 0; } @@ -174,8 +187,14 @@ void dtx( if ( st->dtx_sce_sba == 0 ) { +#ifdef FIX_DTX_RANGE + br_dtx_flag = ( st->element_mode == EVS_MONO && st->total_brate <= MAX_BRATE_DTX_EVS ) || + ( st->element_mode != EVS_MONO && ivas_total_brate <= MAX_BRATE_DTX_IVAS ) || + st->lp_noise < 15; +#else br_dtx_flag = st->total_brate <= ACELP_24k40 || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->total_brate <= ACELP_32k ) || st->element_mode == IVAS_CPE_DFT || ( st->element_mode == IVAS_CPE_MDCT && ( st->element_brate <= IVAS_64k || st->lp_noise < 15 ) ); +#endif } if ( st->Opt_DTX_ON && vad == 0 && @@ -235,7 +254,11 @@ void dtx( } else { +#ifdef FIX_DTX_RANGE + if ( ( st->cng_type == FD_CNG && ( st->total_brate <= MAX_BRATE_DTX_EVS || ( st->element_mode == IVAS_SCE && st->element_brate <= MAX_BRATE_DTX_IVAS ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ +#else if ( ( st->cng_type == FD_CNG && ( st->total_brate <= ACELP_24k40 || ( st->element_mode == IVAS_SCE && st->total_brate <= ACELP_32k ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ +#endif { if ( st->element_mode == EVS_MONO && ( st->total_brate == ACELP_9k60 || st->total_brate == ACELP_16k40 || st->total_brate == ACELP_24k40 ) ) { diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 51a549505f..2f1c94f2f4 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -101,6 +101,10 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ +#ifdef FIX_DTX_RANGE + , + const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ +#endif ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ @@ -547,7 +551,11 @@ ivas_error pre_proc_front_ivas( st->cng_type = LP_CNG; } +#ifdef FIX_DTX_RANGE + dtx( st, ivas_total_brate, *vad_flag_dtx, inp_12k8 ); +#else dtx( st, *vad_flag_dtx, inp_12k8 ); +#endif /*----------------------------------------------------------------* * Adjust FD-CNG Noise Estimator diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 08c45af220..ba3dfea759 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -429,7 +429,12 @@ ivas_error ivas_cpe_enc( { error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], - fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0 ); + fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0 +#ifdef FIX_DTX_RANGE + , + ivas_total_brate +#endif + ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 09fd624ca5..b54a9a624c 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -430,7 +430,11 @@ ivas_error front_vad_spar( noise_est_down( fr_bands[0], hFrontVad->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &hFrontVad->hNoiseEst->totalNoise, Etot[0], &hFrontVad->hNoiseEst->Etot_last, &hFrontVad->hNoiseEst->Etot_v_h2 ); corr_shift = correlation_shift( hFrontVad->hNoiseEst->totalNoise ); +#ifdef FIX_DTX_RANGE + dtx( st, hEncoderConfig->ivas_total_brate, vad_flag_dtx[0], inp_12k8 ); +#else dtx( st, vad_flag_dtx[0], inp_12k8 ); +#endif /* linear prediction analysis */ alw_pitch_lag_12k8[0] = st->old_pitch_la; diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 2433c01802..fc78c18ad7 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -150,7 +150,12 @@ ivas_error ivas_ism_enc( error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], - fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0 ); + fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0 +#ifdef FIX_DTX_RANGE + , + st_ivas->hEncoderConfig->ivas_total_brate +#endif + ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 4a4c24fa4e..9ae2215700 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -179,7 +179,12 @@ ivas_error ivas_sce_enc( &Etot[0], &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, - st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0 ); + st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0 +#ifdef FIX_DTX_RANGE + , + st_ivas->hEncoderConfig->ivas_total_brate +#endif + ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 0525c7c1db..3b539e0193 100644 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -870,11 +870,20 @@ static ivas_error configureEncoder( return IVAS_ERROR( IVAS_ERR_INVALID_SAMPLING_RATE, "8kHz input sampling rate is not supported in IVAS." ); } +#ifdef FIX_DTX_RANGE + if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && + ( ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp > 1 ) || // ToDo: see Issue 113 + ( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate > IVAS_128k ) || // ToDo: remove the bitrate limitation + ( hEncoderConfig->ivas_format == SBA_FORMAT && ivas_get_spar_num_TCs( hEncoderConfig->ivas_total_brate, 1 ) > 2 ) || // ToDo: support for 3+ TCs to be done + hEncoderConfig->ivas_format == MC_FORMAT // ToDo: TBD + ) ) +#else if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && !( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate <= IVAS_128k ) && hEncoderConfig->ivas_format != SBA_FORMAT && ( hEncoderConfig->element_mode_init != IVAS_CPE_DFT && hEncoderConfig->element_mode_init != IVAS_CPE_TD ) && !( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp == 1 ) && hEncoderConfig->element_mode_init != IVAS_CPE_MDCT ) +#endif { return IVAS_ERROR( IVAS_ERR_DTX_NOT_SUPPORTED, "DTX is not supported in this IVAS format and element mode." ); } diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index a17612290f..83391ab9d4 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -251,7 +251,11 @@ void pre_proc( * Select SID or FRAME_NO_DATA frame if DTX enabled *-----------------------------------------------------------------*/ +#ifdef FIX_DTX_RANGE + dtx( st, -1, vad_flag_dtx, inp_12k8 ); +#else dtx( st, vad_flag_dtx, inp_12k8 ); +#endif /*----------------------------------------------------------------* * Adjust FD-CNG Noise Estimator -- GitLab From 1c94d089d9a3ba0bc369cc7e5b613b2e82c2ba6d Mon Sep 17 00:00:00 2001 From: vaclav Date: Fri, 30 Sep 2022 15:21:23 +0200 Subject: [PATCH 007/620] fix SBA DTX at lowest bitrates --- lib_enc/lib_enc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 3b539e0193..a4040c0c5b 100644 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -872,10 +872,10 @@ static ivas_error configureEncoder( #ifdef FIX_DTX_RANGE if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && - ( ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp > 1 ) || // ToDo: see Issue 113 - ( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate > IVAS_128k ) || // ToDo: remove the bitrate limitation - ( hEncoderConfig->ivas_format == SBA_FORMAT && ivas_get_spar_num_TCs( hEncoderConfig->ivas_total_brate, 1 ) > 2 ) || // ToDo: support for 3+ TCs to be done - hEncoderConfig->ivas_format == MC_FORMAT // ToDo: TBD + ( ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp > 1 ) || // ToDo: see Issue 113 + ( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate > IVAS_128k ) || // ToDo: remove the bitrate limitation + ( hEncoderConfig->ivas_format == SBA_FORMAT && hEncoderConfig->ivas_total_brate >= IVAS_24k4 && ivas_get_spar_num_TCs( hEncoderConfig->ivas_total_brate, 1 ) > 2 ) || // ToDo: support for 3+ TCs to be done + hEncoderConfig->ivas_format == MC_FORMAT // ToDo: TBD ) ) #else if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && -- GitLab From 94652f353c4d9380e4028212d13a73ef220f6566 Mon Sep 17 00:00:00 2001 From: Fredrik Jansson Date: Thu, 6 Oct 2022 10:46:00 +0200 Subject: [PATCH 008/620] Added ITDCNG solution under separate define --- lib_com/ivas_cnst.h | 9 +++ lib_com/ivas_prot.h | 25 ++++++++ lib_com/options.h | 2 + lib_com/prot.h | 4 ++ lib_dec/ivas_stat_dec.h | 8 +++ lib_dec/ivas_stereo_dft_dec.c | 72 ++++++++++++++++++++++ lib_dec/ivas_stereo_dft_dec_dmx.c | 4 ++ lib_enc/amr_wb_enc.c | 7 ++- lib_enc/ivas_core_pre_proc_front.c | 15 ++++- lib_enc/ivas_cpe_enc.c | 16 +++++ lib_enc/ivas_front_vad.c | 10 ++- lib_enc/ivas_stat_enc.h | 14 +++++ lib_enc/ivas_stereo_cng_enc.c | 97 ++++++++++++++++++++++++++++- lib_enc/ivas_stereo_dft_enc.c | 19 +++++- lib_enc/ivas_stereo_dft_enc_itd.c | 98 +++++++++++++++++++++++++++++- lib_enc/ivas_stereo_dft_td_itd.c | 8 +++ lib_enc/pre_proc.c | 7 ++- lib_enc/vad.c | 10 +++ 18 files changed, 415 insertions(+), 10 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 2df702fade..516fd7bef3 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -473,6 +473,11 @@ enum #define STEREO_DFT_OFFSET 1 #define STEREO_DFT_NBDIV 2 +#ifdef FIX_ITD_CNG +#define STEREO_DFT_ITD_CNG_XFADE 100 +#define STEREO_DFT_ITD_CNG_XFADE_RESET 2 +#endif + #define STEREO_DFT_DELAY_DEC_BWE_NS ( STEREO_DFT_OFFSET * STEREO_DFT_HOP_NS - ACELP_LOOK_NS ) /* 1.25ms/2.5ms: max delay for core decoder*/ #define STEREO_DFT_ENC_DFT_NB ( STEREO_DFT_OFFSET + 1 ) /*frame + lookahead*/ @@ -538,6 +543,10 @@ typedef enum #define STEREO_DFT_SID_GIPD_NBITS 2 #define STEREO_DFT_FD_FILT 0.9f +#ifdef FIX_ITD_CNG +#define STEREO_DFT_CNG_ITD_CNT 8 +#endif + /*Residual prediction*/ #define STEREO_DFT_PAST_MAX 4 #define STEREO_DFT_RES_PRED_BAND_MAX 12 diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 6996e4a298..946a2ec858 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -893,6 +893,10 @@ float stereo_dft_enc_synthesize( void stereo_dft_enc_process( CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ + const int16_t vad_hover_flag[], /* i: VAD hangover flags */ +#endif const int16_t input_frame /* i : input frame length */ ); @@ -941,7 +945,11 @@ void stereo_dft_dequantize_itd( void stereo_dft_enc_sid_calc_coh( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ +#ifdef FIX_ITD_CNG + float prev_cohBand[2*(STEREO_DFT_BAND_MAX/2)], /* i/o: Previous coherence */ +#else float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ +#endif int16_t *td_active, /* i/o: TD stereo mode indicator */ int16_t *first_SID, /* i/o: First SID indicator */ float *cohBand /* i/o: Coherence per band */ @@ -1094,6 +1102,11 @@ void stereo_dft_dec_read_BS( void stereo_dft_dec_smooth_parameters( STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ +#ifdef FIX_ITD_CNG + , + const int16_t active_frame_counter, /* i : Active frame counter */ + const int32_t element_brate /* i : Element bitrate */ +#endif ); void stereo_dft_generate_res_pred( @@ -1249,6 +1262,10 @@ void stereo_dft_enc_compute_itd( float *DFT_R, const int16_t k_offset, const int16_t input_frame, +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], + const int16_t vad_hover_flag[], +#endif float *bin_nrgL, float *bin_nrgR ); @@ -1804,6 +1821,10 @@ void deindex_lvq_SHB( void stereo_td_itd_mdct_stereo( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ + const int16_t vad_hover_flag[], /* i: VAD hangover flags */ +#endif const int16_t input_frame /* i : frame length */ ); @@ -2367,6 +2388,10 @@ void stereo_cng_upd_counters( const int16_t nbands, /* i : Number of bands in active */ const float sidSideGain[], /* i : SID side gains */ const int16_t burst_ho_count /* i : Hang-over count */ +#ifdef FIX_ITD_CNG + , + int16_t *coh_fade_counter /* i : Coherence fade counter */ +#endif ); void stereo_cng_init_dec( diff --git a/lib_com/options.h b/lib_com/options.h index 222333bc33..94515f750c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -158,6 +158,8 @@ #define ALIGN_SID_SIZE /* Issue 111: make all DTX modes use one SID frame bitrate (5.2 kbps) */ +#define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_com/prot.h b/lib_com/prot.h index 4c91c8cd52..dc1465a209 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3833,6 +3833,10 @@ int16_t dtx_hangover_addition( int16_t *vad_hover_flag, /* o : VAD hangover flag */ VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ +#ifdef FIX_ITD_CNG + , + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ +#endif ); int16_t wb_vad( diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index c773491d41..95dbddb599 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -144,6 +144,14 @@ typedef struct stereo_dft_dec_data_struct float itd[STEREO_DFT_DEC_DFT_NB]; +#ifdef FIX_ITD_CNG + float itd_xfade_step; + float itd_xfade_target; + int16_t itd_xfade_counter; + float itd_xfade_prev; + int32_t last_active_element_brate; +#endif + /*residual prediction*/ int16_t res_pred_mode[STEREO_DFT_DEC_DFT_NB]; /* residual prediction mode: 0(off), 1(stereo filling only), 2(enhanced stereo filling) */ float res_pred_gain[STEREO_DFT_DEC_DFT_NB * STEREO_DFT_BAND_MAX]; /* prediction gain for the residual HFs */ diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index b0db814511..a8eb063cd9 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -480,6 +480,14 @@ void stereo_dft_dec_reset( set_zero( hStereoDft->smooth_fac[0], SBA_DIRAC_STEREO_NUM_BANDS ); set_zero( hStereoDft->smooth_fac[1], SBA_DIRAC_STEREO_NUM_BANDS ); +#ifdef FIX_ITD_CNG + hStereoDft->itd_xfade_target = 0.0f; + hStereoDft->itd_xfade_step = 0.0f; + hStereoDft->itd_xfade_counter = 0; + hStereoDft->itd_xfade_prev = 0.0f; + hStereoDft->last_active_element_brate = 0; +#endif + return; } @@ -1162,7 +1170,11 @@ void stereo_dft_dec( } else { +#ifdef FIX_ITD_CNG + stereo_dft_dec_smooth_parameters( hStereoDft, hStereoCng->prev_sid_nodata, hStereoCng->active_frame_counter, st0->element_brate ); +#else stereo_dft_dec_smooth_parameters( hStereoDft, hStereoCng->prev_sid_nodata ); +#endif } } @@ -1746,6 +1758,10 @@ void stereo_dft_dec_read_BS( * Initialization *-----------------------------------------------------------------*/ +#ifdef FIX_ITD_CNG + k_offset = STEREO_DFT_OFFSET; +#endif + #ifdef ALIGN_SID_SIZE if ( ivas_total_brate == IVAS_SID_5k2 ) #else @@ -1778,6 +1794,9 @@ void stereo_dft_dec_read_BS( hStereoDft->frame_sid = 0; *nb_bits = 0; *total_brate = 0; +#ifdef FIX_ITD_CNG + hStereoDft->itd[k = hStereoDft->prm_res[k_offset] - 1 + k_offset] = hStereoDft->itd_xfade_target; +#endif return; } @@ -1808,7 +1827,9 @@ void stereo_dft_dec_read_BS( /*init*/ max_bits = *nb_bits; *nb_bits = 0; +#ifndef FIX_ITD_CNG k_offset = STEREO_DFT_OFFSET; +#endif N_div = STEREO_DFT_NBDIV; #ifdef ALIGN_SID_SIZE @@ -2788,6 +2809,11 @@ void stereo_dft_generate_res_pred( void stereo_dft_dec_smooth_parameters( STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ +#ifdef FIX_ITD_CNG + , + const int16_t active_frame_counter, /* i : Active frame counter */ + const int32_t element_brate /* i : Element bitrate */ +#endif ) { int16_t k_offset, k, k2, b, N_div; @@ -2814,6 +2840,38 @@ void stereo_dft_dec_smooth_parameters( hStereoDft->gipd[( k + k_offset ) - k2] = hStereoDft->gipd[k + k_offset]; } +#ifdef FIX_ITD_CNG + if ( hStereoDft->frame_sid_nodata ) + { + /* set new xfade target if new itd received */ + if ( hStereoDft->itd[k + k_offset] != hStereoDft->itd_xfade_target ) + { + hStereoDft->itd_xfade_target = hStereoDft->itd[k + k_offset]; + hStereoDft->itd_xfade_step = ( hStereoDft->itd_xfade_target - hStereoDft->itd_xfade_prev ) / ( STEREO_DFT_ITD_CNG_XFADE - hStereoDft->itd_xfade_counter ); + } + + /* xfade */ + if ( hStereoDft->itd_xfade_prev != hStereoDft->itd_xfade_target && hStereoDft->itd_xfade_counter < STEREO_DFT_ITD_CNG_XFADE && hStereoDft->last_active_element_brate <= 24400 ) + { + hStereoDft->itd[k + k_offset] = hStereoDft->itd_xfade_prev + hStereoDft->itd_xfade_step; + hStereoDft->itd_xfade_prev = hStereoDft->itd[k + k_offset]; + hStereoDft->itd_xfade_counter++; + } + } + else + { + /* First active frame, "reset" everything if long enough active encoding, only triggered if STEREO_DFT_ITD_CNG_XFADE_RESET = -1 */ + if ( active_frame_counter > STEREO_DFT_ITD_CNG_XFADE_RESET ) + { + hStereoDft->itd_xfade_target = hStereoDft->itd[k + k_offset]; + hStereoDft->itd_xfade_prev = hStereoDft->itd[k + k_offset]; + hStereoDft->itd_xfade_counter = 0; + } + + hStereoDft->last_active_element_brate = element_brate; + + } +#endif for ( k2 = 1; k2 < hStereoDft->prm_res[k + k_offset]; k2++ ) { hStereoDft->itd[( k + k_offset ) - k2] = hStereoDft->itd[k + k_offset]; @@ -2822,6 +2880,20 @@ void stereo_dft_dec_smooth_parameters( return; } +#ifdef FIX_ITD_CNG + /* Active frame, "reset" everything "reset" everything if long enough active encoding */ + if ( active_frame_counter > STEREO_DFT_ITD_CNG_XFADE_RESET ) + { + hStereoDft->itd_xfade_counter = 0; + hStereoDft->itd_xfade_target = hStereoDft->itd[STEREO_DFT_NBDIV - 1]; + hStereoDft->itd_xfade_prev = hStereoDft->itd[STEREO_DFT_NBDIV - 1]; + } +#endif + +#ifdef FIX_ITD_CNG + hStereoDft->last_active_element_brate = element_brate; +#endif + for ( k = hStereoDft->prm_res[k_offset] - 1; k < N_div; k += hStereoDft->prm_res[k + k_offset] ) { max_res_pred_ind = 0; diff --git a/lib_dec/ivas_stereo_dft_dec_dmx.c b/lib_dec/ivas_stereo_dft_dec_dmx.c index 48ee7cf4e6..f58b6ddca4 100644 --- a/lib_dec/ivas_stereo_dft_dec_dmx.c +++ b/lib_dec/ivas_stereo_dft_dec_dmx.c @@ -130,7 +130,11 @@ void stereo_dft_unify_dmx( ( st0->core == TCX_20_CORE && ( ( st0->hTcxCfg->tcx_last_overlap_mode == MIN_OVERLAP ) || ( st0->hTcxCfg->tcx_last_overlap_mode == HALF_OVERLAP ) ) ) || ( st0->core == TCX_10_CORE ); /* Smoothing for the current frame */ +#ifdef FIX_ITD_CNG + stereo_dft_dec_smooth_parameters( hStereoDft, prev_sid_nodata, st0->hFdCngDec->hFdCngCom->active_frame_counter, st0->element_brate ); +#else stereo_dft_dec_smooth_parameters( hStereoDft, prev_sid_nodata ); +#endif for ( k = 0; k < N_div; k++ ) { diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 76ddf9e705..89c1579cd2 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -292,7 +292,12 @@ void amr_wb_enc( } /* apply DTX hangover for CNG analysis */ - vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, &vad_hover_flag, NULL, NULL ); + vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, &vad_hover_flag, NULL, NULL +#ifdef FIX_ITD_CNG + , + NULL +#endif + ); /*-----------------------------------------------------------------* * Select SID or FRAME_NO_DATA frame if DTX enabled diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 51a549505f..d6f7fa6977 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -451,7 +451,12 @@ ivas_error pre_proc_front_ivas( if ( ( hCPE != NULL && !( lr_vad_enabled && st->idchan == 0 ) ) || hSCE != NULL ) { - *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL ); + *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL +#ifdef FIX_ITD_CNG + , + NULL +#endif + ); } else { @@ -549,6 +554,14 @@ ivas_error pre_proc_front_ivas( dtx( st, *vad_flag_dtx, inp_12k8 ); +#ifdef FIX_ITD_CNG + if ( hCPE != NULL && hCPE->hStereoDft != NULL && st->core_brate == SID_2k40 ) + { + /* Add another period of expected xcorr updates */ + hCPE->hStereoDft->expectedNumUpdates += st->hDtxEnc->max_SID; + } +#endif + /*----------------------------------------------------------------* * Adjust FD-CNG Noise Estimator *----------------------------------------------------------------*/ diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index df94fe44ab..01b4d6ddef 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -361,7 +361,11 @@ ivas_error ivas_cpe_enc( ); /* DFT stereo processing */ +#ifdef FIX_ITD_CNG + stereo_dft_enc_process( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); +#else stereo_dft_enc_process( hCPE, input_frame ); +#endif } else if ( hCPE->element_mode == IVAS_CPE_TD ) { @@ -381,7 +385,11 @@ ivas_error ivas_cpe_enc( } else if ( hCPE->element_mode == IVAS_CPE_MDCT ) { +#ifdef FIX_ITD_CNG + stereo_td_itd_mdct_stereo( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); +#else stereo_td_itd_mdct_stereo( hCPE, input_frame ); +#endif } /*----------------------------------------------------------------* @@ -533,7 +541,11 @@ ivas_error ivas_cpe_enc( if ( hEncoderConfig->Opt_DTX_ON ) { +#ifdef FIX_ITD_CNG + stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, -1, NULL, sts[0]->hTdCngEnc->burst_ho_cnt, NULL ); +#else stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, -1, NULL, sts[0]->hTdCngEnc->burst_ho_cnt ); +#endif } } @@ -596,7 +608,11 @@ ivas_error ivas_cpe_enc( } else { +#ifdef FIX_ITD_CNG + stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, hCPE->hStereoDft->nbands, hCPE->hStereoDft->sidSideGain, sts[0]->hTdCngEnc->burst_ho_cnt, &hCPE->hStereoDft->coh_fade_counter ); +#else stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, hCPE->hStereoDft->nbands, hCPE->hStereoDft->sidSideGain, sts[0]->hTdCngEnc->burst_ho_cnt ); +#endif } } diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 09fd624ca5..2828073b5d 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -110,6 +110,9 @@ ivas_error front_vad( { localVAD_HE_SAD[n] = 0; vad_hover_flag[n] = 0; +#ifdef FIX_ITD_CNG + vad_flag_dtx[n] = 1; +#endif } /*------------------------------------------------------------------* @@ -192,7 +195,12 @@ ivas_error front_vad( } /* DTX hangover addition */ - vad_flag_dtx[n] = dtx_hangover_addition( sts[n], hFrontVad->hVAD->vad_flag, hFrontVad->lp_speech - hFrontVad->lp_noise, 0 /* <- no cldfb addition */, &vad_hover_flag[n], hFrontVad->hVAD, hFrontVad->hNoiseEst ); + vad_flag_dtx[n] = dtx_hangover_addition( sts[n], hFrontVad->hVAD->vad_flag, hFrontVad->lp_speech - hFrontVad->lp_noise, 0 /* <- no cldfb addition */, &vad_hover_flag[n], hFrontVad->hVAD, hFrontVad->hNoiseEst +#ifdef FIX_ITD_CNG + , + &hFrontVads[n]->rem_dtx_ho +#endif + ); if ( n_chan == 1 ) { diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 2ed6a0ff91..a3ad1248d7 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -232,6 +232,12 @@ typedef struct stereo_dft_enc_data_struct #endif +#ifdef FIX_ITD_CNG + int16_t currentNumUpdates; + int16_t expectedNumUpdates; /* Expected number of frames before use of ITD estimate */ + int16_t resetFrames; +#endif + /* energy buffers for ICBWE */ float nrg_L[2]; float nrg_R[2]; @@ -557,6 +563,9 @@ typedef struct front_vad_enc VAD_HANDLE hVAD; /* VAD handle */ float *delay_buf; int16_t delay_samples; +#ifdef FIX_ITD_CNG + int16_t rem_dtx_ho; /* Remaining hangover frames */ +#endif } FRONT_VAD_ENC, *FRONT_VAD_ENC_HANDLE; @@ -825,7 +834,12 @@ typedef struct stereo_cng_enc float sg_average[STEREO_DFT_ERB4_BANDS]; /* Sidegain average */ float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ +#ifdef FIX_ITD_CNG + float prev_cohBand[2*(STEREO_DFT_BAND_MAX/2)];/* Previous coherence */ + int16_t cng_counter; /* Counter for cng period length */ +#else float coh_crossfade[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ +#endif int16_t td_active; /* TD-stereo indication */ int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ int16_t first_SID; /* Set if first SID frame since codec start */ diff --git a/lib_enc/ivas_stereo_cng_enc.c b/lib_enc/ivas_stereo_cng_enc.c index 5db60b5238..1e55c42ade 100644 --- a/lib_enc/ivas_stereo_cng_enc.c +++ b/lib_enc/ivas_stereo_cng_enc.c @@ -32,6 +32,7 @@ #include #include "options.h" +#include #include "cnst.h" #include "rom_enc.h" #include "rom_com.h" @@ -50,6 +51,9 @@ *-------------------------------------------------------------------*/ #define COH_FADE_MAX 4 +#ifdef FIX_ITD_CNG +#define COH_FADE_UPDATES 2 +#endif /*--------------------------------------------------------------- @@ -60,7 +64,11 @@ void stereo_dft_enc_sid_calc_coh( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ - float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ +#ifdef FIX_ITD_CNG + float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )], /* i/o: Previous coherence */ +#else + float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ +#endif int16_t *td_active, /* i/o: TD stereo mode indicator */ int16_t *first_SID, /* i/o: First SID indicator */ float *cohBand /* i/o: Coherence per band */ @@ -69,7 +77,9 @@ void stereo_dft_enc_sid_calc_coh( int16_t b, k; float coh_weight; float coh_weight_sum; - +#ifdef FIX_ITD_CNG + float xspec_scale; +#endif /* Cluster the coherence into bands using a weighted average. The coherence is weighted with the energy spectrum of the mixdown signal. */ for ( b = 0; b < hStereoDft->nbands; b++ ) @@ -77,6 +87,32 @@ void stereo_dft_enc_sid_calc_coh( cohBand[b] = 0; coh_weight_sum = 0; +#ifdef FIX_ITD_CNG + if ( hStereoDft->coh_fade_counter == 0 && !*first_SID ) + { + for ( k = hStereoDft->band_limits[b]; k < hStereoDft->band_limits[b + 1]; k++ ) + { + xspec_scale = sqrtf( ( prev_cohBand[b] * ( hStereoDft->Spd_L_smooth[k] * hStereoDft->Spd_R_smooth[k] ) ) / ( hStereoDft->xspec_smooth[2 * k] * hStereoDft->xspec_smooth[2 * k] + hStereoDft->xspec_smooth[2 * k + 1] * hStereoDft->xspec_smooth[2 * k + 1] + EPSILON ) ); + hStereoDft->xspec_smooth[2 * k] *= xspec_scale; + hStereoDft->xspec_smooth[2 * k + 1] *= xspec_scale; + } + + cohBand[b] = prev_cohBand[b]; + } + else + { + for ( k = hStereoDft->band_limits[b]; k < hStereoDft->band_limits[b + 1]; k++ ) + { + coh_weight = hStereoDft->DFT[0][2 * k] * hStereoDft->DFT[0][2 * k] + hStereoDft->DFT[0][2 * k + 1] * hStereoDft->DFT[0][2 * k + 1]; + cohBand[b] += coh_weight * ( hStereoDft->xspec_smooth[2 * k] * hStereoDft->xspec_smooth[2 * k] + hStereoDft->xspec_smooth[2 * k + 1] * hStereoDft->xspec_smooth[2 * k + 1] ) / ( hStereoDft->Spd_L_smooth[k] * hStereoDft->Spd_R_smooth[k] + EPSILON ); + coh_weight_sum += coh_weight; + } + if ( coh_weight_sum > 0 ) + { + cohBand[b] = cohBand[b] / coh_weight_sum; + } + } +#else for ( k = hStereoDft->band_limits[b]; k < hStereoDft->band_limits[b + 1]; k++ ) { coh_weight = hStereoDft->DFT[0][2 * k] * hStereoDft->DFT[0][2 * k] + hStereoDft->DFT[0][2 * k + 1] * hStereoDft->DFT[0][2 * k + 1]; @@ -87,26 +123,56 @@ void stereo_dft_enc_sid_calc_coh( { cohBand[b] = cohBand[b] / coh_weight_sum; } +#endif } if ( *first_SID ) { +#ifdef FIX_ITD_CNG + mvr2r( cohBand, prev_cohBand, hStereoDft->nbands ); + mvr2r( prev_cohBand, &( prev_cohBand[ STEREO_DFT_BAND_MAX / 2 ] ), hStereoDft->nbands ); +#else mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); +#endif *first_SID = 0; } +#ifdef FIX_ITD_CNG + if ( hStereoDft->coh_fade_counter < COH_FADE_MAX && ( *td_active || hStereoDft->currentNumUpdates < COH_FADE_UPDATES ) ) +#else if ( hStereoDft->coh_fade_counter < COH_FADE_MAX && *td_active ) +#endif { for ( b = 0; b < hStereoDft->nbands; b++ ) { +#ifdef FIX_ITD_CNG + cohBand[b] = ( cohBand[b] * hStereoDft->coh_fade_counter + prev_cohBand[b] * ( COH_FADE_MAX - hStereoDft->coh_fade_counter ) ) / COH_FADE_MAX; +#else cohBand[b] = ( cohBand[b] * hStereoDft->coh_fade_counter + coh_crossfade[b] * ( COH_FADE_MAX - hStereoDft->coh_fade_counter ) ) / COH_FADE_MAX; +#endif } hStereoDft->coh_fade_counter++; +#ifdef FIX_ITD_CNG + if ( hStereoDft->coh_fade_counter > 0 ) + { + mvr2r( &prev_cohBand[STEREO_DFT_BAND_MAX / 2], prev_cohBand, hStereoDft->nbands ); + } + mvr2r( cohBand, &prev_cohBand[STEREO_DFT_BAND_MAX / 2], hStereoDft->nbands ); +#else mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); +#endif } else { +#ifdef FIX_ITD_CNG + if ( hStereoDft->coh_fade_counter > 0 ) + { + mvr2r( &prev_cohBand[STEREO_DFT_BAND_MAX / 2], prev_cohBand, hStereoDft->nbands ); + } + mvr2r( cohBand, &prev_cohBand[STEREO_DFT_BAND_MAX / 2], hStereoDft->nbands ); +#else mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); +#endif hStereoDft->coh_fade_counter = COH_FADE_MAX; *td_active = 0; } @@ -352,6 +418,11 @@ void stereo_dft_cng_side_gain( } hStereoCng->sg_average_counter++; +#ifdef FIX_ITD_CNG + hStereoCng->cng_counter++; + hStereoCng->cng_counter = min( hStereoCng->cng_counter, STEREO_DFT_SG_ACT_CNT_MAX ); +#endif + if ( core_brate == SID_2k40 ) { /* SID frame */ @@ -449,9 +520,16 @@ void stereo_enc_cng_init( hStereoCng->sg_active_cnt = 0; hStereoCng->first_SID = 1; set_f( hStereoCng->mem_cohBand, 0.5f, STEREO_DFT_BAND_MAX / 2 ); +#ifdef FIX_ITD_CNG + set_zero( hStereoCng->prev_cohBand, 2 * ( STEREO_DFT_BAND_MAX / 2 ) ); +#else set_zero( hStereoCng->coh_crossfade, STEREO_DFT_BAND_MAX / 2 ); +#endif hStereoCng->td_active = 0; hStereoCng->first_SID_after_TD = 1; +#ifdef FIX_ITD_CNG + hStereoCng->cng_counter = 0; +#endif return; } @@ -469,6 +547,10 @@ void stereo_cng_upd_counters( const int16_t nbands, /* i : Number of bands in active */ const float sidSideGain[], /* i : SID side gains */ const int16_t burst_ho_count /* i : Hang-over count */ +#ifdef FIX_ITD_CNG + , + int16_t *coh_fade_counter /* i : Coherence fade counter */ +#endif ) { int16_t b; @@ -492,5 +574,16 @@ void stereo_cng_upd_counters( hStereoCng->sg_active_cnt++; hStereoCng->sg_active_cnt = min( hStereoCng->sg_active_cnt, STEREO_DFT_SG_ACT_CNT_MAX ); +#ifdef FIX_ITD_CNG + if ( hStereoCng->sg_active_cnt > STEREO_DFT_CNG_ITD_CNT ) + { + hStereoCng->cng_counter = 0; + } + + if ( element_mode == IVAS_CPE_DFT ) + { + *coh_fade_counter = 0; + } +#endif return; } diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index 402003be6c..6759cbf2f9 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -491,6 +491,12 @@ void stereo_dft_enc_reset( set_f( hStereoDft->Spd_L_smooth, 1.0f, STEREO_DFT_N_32k_ENC / 2 ); set_f( hStereoDft->Spd_R_smooth, 1.0f, STEREO_DFT_N_32k_ENC / 2 ); +#ifdef FIX_ITD_CNG + hStereoDft->currentNumUpdates = 0; + hStereoDft->expectedNumUpdates = FIXED_SID_RATE; + hStereoDft->resetFrames = 0; +#endif + hStereoDft->coh_fade_counter = 0; /* Xtalk classifier */ @@ -1227,6 +1233,10 @@ float stereo_dft_enc_synthesize( void stereo_dft_enc_process( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ + const int16_t vad_hover_flag[], /* i: VAD hangover flags */ +#endif const int16_t input_frame /* i : input frame length */ ) { @@ -1297,8 +1307,11 @@ void stereo_dft_enc_process( if ( hStereoDft->hConfig->itd_mode ) #endif { +#ifdef FIX_ITD_CNG + stereo_dft_enc_compute_itd( hCPE, pDFT_L, pDFT_R, k_offset, input_frame, vad_flag_dtx, vad_hover_flag, bin_nrgL, bin_nrgR ); +#else stereo_dft_enc_compute_itd( hCPE, pDFT_L, pDFT_R, k_offset, input_frame, bin_nrgL, bin_nrgR ); - +#endif if ( hCPE->element_mode == IVAS_CPE_MDCT ) { return; @@ -2315,7 +2328,11 @@ void stereo_dft_enc_write_BS( if ( core_brate == SID_2k40 ) { +#ifdef FIX_ITD_CNG + stereo_dft_enc_sid_calc_coh( hStereoDft, hCPE->hStereoCng->prev_cohBand, &hCPE->hStereoCng->td_active, &hCPE->hStereoCng->first_SID, cohBand ); +#else stereo_dft_enc_sid_calc_coh( hStereoDft, hCPE->hStereoCng->coh_crossfade, &hCPE->hStereoCng->td_active, &hCPE->hStereoCng->first_SID, cohBand ); +#endif #ifdef ALIGN_SID_SIZE if ( *nb_bits <= ( ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_FORMAT_NBITS - STEREO_DFT_ITD_MODE_NBITS - STEREO_DFT_SID_ITD_NBITS - 1 ) ) diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index 594137993e..3961865e56 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -67,6 +67,10 @@ #define DENOM 0.05f #define XSPEC_ALPHA ( 1.f / 32 ) +#ifdef FIX_ITD_CNG +#define CORR_FILT 0.8f +#define CORR_RESET_FRAMES_MAX 20 +#endif #define ITD_VAD_NOISE_INIT_FRAMES 30 #define ITD_VAD_THRSHOLD 0.001f @@ -722,6 +726,10 @@ void stereo_dft_enc_compute_itd( float *DFT_R, const int16_t k_offset, const int16_t input_frame, +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], + const int16_t vad_hover_flag[], +#endif float *bin_nrgL, float *bin_nrgR ) { @@ -768,6 +776,10 @@ void stereo_dft_enc_compute_itd( const float *dft_trigo32k; float trigo_enc[STEREO_DFT_N_32k_ENC / 2 + 1]; +#ifdef FIX_ITD_CNG + float cng_xcorr_filt; +#endif + if ( hCPE->element_mode == IVAS_CPE_DFT ) { hStereoDft = hCPE->hStereoDft; @@ -926,6 +938,10 @@ void stereo_dft_enc_compute_itd( vad_flag_itd = stereo_dft_enc_itd_vad( hItd->E_band_n, &( hItd->vad_frm_cnt ), Spd_L, Spd_R, &mssnr ); +#ifdef FIX_ITD_CNG + vad_flag_itd = vad_flag_itd && vad_flag_dtx[0]; +#endif + if ( sum_nrg_L < EPSILON ) { sfm_L = 0; @@ -1053,17 +1069,93 @@ void stereo_dft_enc_compute_itd( if ( hCPE->hCoreCoder[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_DFT ) { +#ifdef FIX_ITD_CNG + if ( hCPE->hFrontVad[0] != NULL ) + { + /* Determine if we are in hangover */ + if ( vad_hover_flag[0] && vad_hover_flag[1] ) + { + /* Determine if we are in the first DTX hangover frame (also triggers for VAD hangover frame) */ + if ( hStereoDft->resetFrames > CORR_RESET_FRAMES_MAX ) + { + /* Reset cross spectrum when there is hangover */ + set_f( hStereoDft->xspec_smooth, 0.0f, STEREO_DFT_N_32k_ENC ); + hStereoDft->resetFrames = 0; + hStereoDft->currentNumUpdates = 0; + /* Expected minimum number of updates including first SID */ + hStereoDft->expectedNumUpdates = 1 + min( hCPE->hFrontVad[0]->rem_dtx_ho, hCPE->hFrontVad[1]->rem_dtx_ho ); + } + else if ( hStereoDft->currentNumUpdates >= hStereoDft->expectedNumUpdates ) + { + hStereoDft->expectedNumUpdates += 1 + min( hCPE->hFrontVad[0]->rem_dtx_ho, hCPE->hFrontVad[1]->rem_dtx_ho ); + } + cng_xcorr_filt = max( min( CORR_FILT, 10.0f * CORR_FILT / ( hStereoDft->expectedNumUpdates + hStereoDft->currentNumUpdates ) ), sfm_L ); + hStereoDft->currentNumUpdates++; + for ( i = 1; i < NFFT / 2; i++ ) + { + /* Low pass filter cross L/R power spectrum */ + hStereoDft->xspec_smooth[2 * i] = ( 1.f - cng_xcorr_filt ) * hStereoDft->xspec_smooth[2 * i] + cng_xcorr_filt * xcorr[2 * i]; + hStereoDft->xspec_smooth[2 * i + 1] = ( 1.f - cng_xcorr_filt ) * hStereoDft->xspec_smooth[2 * i + 1] + cng_xcorr_filt * xcorr[2 * i + 1]; + + /* Low pass filter L/R power spectrum */ + /* Calculate coherence as cross spectral density divided by L*R power spectrum */ + hStereoDft->Spd_L_smooth[i] = ( 1.f - cng_xcorr_filt ) * hStereoDft->Spd_L_smooth[i] + cng_xcorr_filt * Spd_L[i]; + hStereoDft->Spd_R_smooth[i] = ( 1.f - cng_xcorr_filt ) * hStereoDft->Spd_R_smooth[i] + cng_xcorr_filt * Spd_R[i]; + } + } + else if ( vad_flag_dtx[0] == 0 ) + { + hStereoDft->resetFrames = 0; + } + else + { + if ( hStereoDft->resetFrames < CORR_RESET_FRAMES_MAX + 1 ) + { + hStereoDft->resetFrames++; + } + if ( !vad_hover_flag[0] && !vad_hover_flag[1] ) + { + hStereoDft->expectedNumUpdates = hStereoDft->currentNumUpdates; + } + } + } +#endif +#ifdef FIX_ITD_CNG + if ( ( vad_flag_dtx[0] == 0 ) || ( hCPE->hFrontVad[0] == NULL && ( hCPE->hCoreCoder[0]->last_core_brate == SID_2k40 || hCPE->hCoreCoder[0]->last_core_brate == FRAME_NO_DATA ) ) || hCPE->hStereoCng->first_SID_after_TD ) +#else if ( hCPE->hCoreCoder[0]->last_core_brate == SID_2k40 || hCPE->hCoreCoder[0]->last_core_brate == FRAME_NO_DATA || hCPE->hStereoCng->first_SID_after_TD ) +#endif { - for ( i = 1; i < NFFT / 2; i++ ) +#ifdef FIX_ITD_CNG + if ( vad_flag_dtx[0] == 0 ) { + /* expectedNumUpdates updated after call to dtx() in SID frames */ + cng_xcorr_filt = max( min( CORR_FILT, 10.0f * CORR_FILT / ( hStereoDft->expectedNumUpdates + hStereoDft->currentNumUpdates ) ), sfm_L ); + hStereoDft->currentNumUpdates++; + } + else /* use sfm for active frames */ + { + cng_xcorr_filt = sfm_L; + } + + /* Copy state of xspec_smooth to xcorr_smooth in first CNG frame */ + if ( hCPE->hStereoCng->cng_counter == 0 && vad_flag_dtx[0] == 0 ) + { + mvr2r( hStereoDft->xspec_smooth, hItd->xcorr_smooth, NFFT ); + } +#endif + for ( i = 1; i < NFFT / 2; i++ ) + { /* Low pass filter cross L/R power spectrum */ hStereoDft->xspec_smooth[2 * i] = ( 1.f - XSPEC_ALPHA ) * hStereoDft->xspec_smooth[2 * i] + XSPEC_ALPHA * xcorr[2 * i]; hStereoDft->xspec_smooth[2 * i + 1] = ( 1.f - XSPEC_ALPHA ) * hStereoDft->xspec_smooth[2 * i + 1] + XSPEC_ALPHA * xcorr[2 * i + 1]; - +#ifdef FIX_ITD_CNG + hItd->xcorr_smooth[2 * i] = ( 1.f - cng_xcorr_filt ) * hItd->xcorr_smooth[2 * i] + cng_xcorr_filt * xcorr[2 * i]; + hItd->xcorr_smooth[2 * i + 1] = ( 1.f - cng_xcorr_filt ) * hItd->xcorr_smooth[2 * i + 1] + cng_xcorr_filt * xcorr[2 * i + 1]; +#else hItd->xcorr_smooth[2 * i] = ( 1.f - sfm_L ) * hItd->xcorr_smooth[2 * i] + sfm_L * xcorr[2 * i]; hItd->xcorr_smooth[2 * i + 1] = ( 1.f - sfm_L ) * hItd->xcorr_smooth[2 * i + 1] + sfm_L * xcorr[2 * i + 1]; - +#endif tmpf1 = sqrtf( hItd->xcorr_smooth[i * 2] * hItd->xcorr_smooth[i * 2] + hItd->xcorr_smooth[i * 2 + 1] * hItd->xcorr_smooth[i * 2 + 1] ); tmpf1 += EPSILON; tmpf2 = tmpf1; diff --git a/lib_enc/ivas_stereo_dft_td_itd.c b/lib_enc/ivas_stereo_dft_td_itd.c index 84dfee6980..c8d97b6563 100644 --- a/lib_enc/ivas_stereo_dft_td_itd.c +++ b/lib_enc/ivas_stereo_dft_td_itd.c @@ -384,6 +384,10 @@ void stereo_td_itd( void stereo_td_itd_mdct_stereo( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ + const int16_t vad_hover_flag[], /* i: VAD hangover flags */ +#endif const int16_t input_frame /* i : frame length */ ) { @@ -411,7 +415,11 @@ void stereo_td_itd_mdct_stereo( stereo_dft_enc_analyze( hCPE->hCoreCoder, CPE_CHANNELS, input_frame, NULL, hStereoMdct, DFT, hCPE->input_mem ); /*call ITD function*/ +#ifdef FIX_ITD_CNG + stereo_dft_enc_compute_itd( hCPE, DFT[0], DFT[1], STEREO_DFT_OFFSET, input_frame, vad_flag_dtx, vad_hover_flag, bin_nrgL, bin_nrgR ); +#else stereo_dft_enc_compute_itd( hCPE, DFT[0], DFT[1], STEREO_DFT_OFFSET, input_frame, bin_nrgL, bin_nrgR ); +#endif /* Time Domain ITD compensation using extrapolation */ #ifdef DEBUG_MODE_DFT diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index a17612290f..b3e04cecaa 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -211,7 +211,12 @@ void pre_proc( st->vad_flag = vad_flag_cldfb; } - vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL ); + vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL +#ifdef FIX_ITD_CNG + , + NULL +#endif + ); /*----------------------------------------------------------------* * NB/WB/SWB/FB bandwidth detector diff --git a/lib_enc/vad.c b/lib_enc/vad.c index 8d3c0beb4f..b095ffa6e5 100644 --- a/lib_enc/vad.c +++ b/lib_enc/vad.c @@ -162,6 +162,10 @@ int16_t dtx_hangover_addition( int16_t *vad_hover_flag, /* o : VAD hangover flag */ VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ +#ifdef FIX_ITD_CNG + , + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ +#endif ) { int16_t hangover_short_dtx, flag_dtx; @@ -303,6 +307,12 @@ int16_t dtx_hangover_addition( if ( flag_dtx != 0 && st->localVAD == 0 ) { *vad_hover_flag = 1; +#ifdef FIX_ITD_CNG + if ( rem_dtx_ho != NULL ) + { + *rem_dtx_ho = max( hangover_short_dtx - hVAD->hangover_cnt_dtx, 0 ); + } +#endif } return flag_dtx; -- GitLab From 3c55d9a880a53c57e417912e45331289cc049afb Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou Date: Fri, 7 Oct 2022 14:20:42 +0200 Subject: [PATCH 009/620] first changes to enable bitrate swtiching for MC at encoder side. WIP. --- lib_com/ivas_prot.h | 17 +++ lib_com/options.h | 1 + lib_enc/ivas_corecoder_enc_reconfig.c | 6 + lib_enc/ivas_mc_param_enc.c | 123 +++++++++++++++++++ lib_enc/ivas_mct_enc.c | 163 +++++++++++++++++++++++++- 5 files changed, 308 insertions(+), 2 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index bd587c1e68..69a0487292 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -628,6 +628,13 @@ ivas_error ivas_mc_enc_config( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); +#ifdef MC_BITRATE_SWITCHING +ivas_error ivas_mc_enc_reconfig( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t last_mc_mode /* i: last frame mc mode */ +); +#endif + ivas_error ivas_mc_dec_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t idx /* i : LS config. index */ @@ -3483,7 +3490,17 @@ int16_t ivas_param_mc_getNumTransportChannels( ivas_error ivas_param_mc_enc_open( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); +#ifdef MC_BITRATE_SWITCHING +/*------------------------------------------------------------------------- + * ivas_param_mc_enc_open() + * + * Initialize Parametric MC encoder handle + *------------------------------------------------------------------------*/ +ivas_error ivas_param_mc_reconfig( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); +#endif void ivas_param_mc_enc_close( PARAM_MC_ENC_HANDLE hParamMC, /* i/o: Parametric MC encoder handle */ const int32_t input_Fs /* i : input sampling rate */ diff --git a/lib_com/options.h b/lib_com/options.h index 7556ecb139..d6c426b75e 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -160,6 +160,7 @@ #define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ +#define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index f4b302eefd..39b1733620 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -286,6 +286,12 @@ ivas_error ivas_corecoder_enc_reconfig( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 1; } } +#ifdef MC_BITRATE_SWITCHING + if ( nSCE_old ) + { + st_ivas->hCPE[cpe_id]->element_mode = IVAS_CPE_MDCT; + } +#endif } } diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index af7a48a80b..46083faac7 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -218,6 +218,129 @@ ivas_error ivas_param_mc_enc_open( return error; } +#ifdef MC_BITRATE_SWITCHING +/*------------------------------------------------------------------------- + * ivas_param_mc_enc_open() + * + * Initialize Parametric MC encoder handle + *------------------------------------------------------------------------*/ + +ivas_error ivas_param_mc_reconfig( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +) +{ + int16_t i, k, l; + PARAM_MC_ENC_HANDLE hParamMC; + uint16_t config_index; + MC_LS_SETUP mc_input_setup; + int16_t max_bwidth; + int32_t input_Fs, ivas_total_brate; + ivas_error error; + + error = IVAS_ERR_OK; + + mc_input_setup = st_ivas->hEncoderConfig->mc_input_setup; + max_bwidth = st_ivas->hEncoderConfig->max_bwidth; + input_Fs = st_ivas->hEncoderConfig->input_Fs; + ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; + hParamMC = st_ivas->hParamMC; + + /* Preparing Config */ + st_ivas->nchan_transport = ivas_param_mc_getNumTransportChannels( ivas_total_brate, mc_input_setup ); + + /* get configuration index */ + config_index = ivas_param_mc_get_configuration_index( mc_input_setup, ivas_total_brate ); + + /* set core coder dependent on the number of transport channels */ + switch ( st_ivas->nchan_transport ) + { + case 4: + case 3: + st_ivas->nCPE = 2; + st_ivas->nSCE = 0; + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + break; + case 2: + st_ivas->nCPE = 1; + st_ivas->nSCE = 0; + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + break; +#ifdef DEBUGGING + default: + assert( 0 && "Number of transport channels not supported by ParamMC!\n" ); +#endif + } + + /* get dmx factors */ + hParamMC->dmx_factors = ivas_param_mc_conf[config_index].dmx_fac; + + + /* open/init parameter coding */ + ivas_param_mc_metadata_open( mc_input_setup, hParamMC->lfe_index, ivas_total_brate, &hParamMC->hMetadataPMC ); + + /* init icc index states */ + for ( i = 0; i < PARAM_MC_PARAMETER_FRAMES; i++ ) + { + set_s( hParamMC->icc_map_index[i], -1, PARAM_MC_SZ_ICC_MAP ); + + for ( l = 0; l < hParamMC->hMetadataPMC.icc_mapping_conf->icc_map_size_lfe; l++ ) + { + for ( k = 0; k < hParamMC->hMetadataPMC.icc_map_size_full; k++ ) + { + if ( hParamMC->hMetadataPMC.icc_mapping[i][l][0] == hParamMC->hMetadataPMC.icc_map_full[0][k] && hParamMC->hMetadataPMC.icc_mapping[i][l][1] == hParamMC->hMetadataPMC.icc_map_full[1][k] ) + { + hParamMC->icc_map_index[i][l] = k; + } + } + } + } + + /* Band Grouping */ + if ( hParamMC->hMetadataPMC.num_parameter_bands == 20 ) + { + mvs2s( param_mc_band_grouping_20, hParamMC->band_grouping, 20 + 1 ); + } + else if ( hParamMC->hMetadataPMC.num_parameter_bands == 14 ) + { + mvs2s( param_mc_band_grouping_14, hParamMC->band_grouping, 14 + 1 ); + } + else if ( hParamMC->hMetadataPMC.num_parameter_bands == 10 ) + { + mvs2s( param_mc_band_grouping_10, hParamMC->band_grouping, 10 + 1 ); + } + else + { + assert( 0 && "nbands must be 20, 14, or 10!" ); + } + + /* set max parameter band for abs cov */ + i = 0; + while ( hParamMC->band_grouping[i] <= PARAM_MC_MAX_BAND_ABS_COV_ENC ) + { + hParamMC->max_param_band_abs_cov = ( i++ ); + } + + /* parameter band grouping: 60 band CLDFB to 240 band MDFT resolution */ + for ( i = 0; i < hParamMC->hMetadataPMC.num_parameter_bands + 1; i++ ) + { + hParamMC->band_grouping[i] *= CLDFB_TO_MDFT_FAC; + } + + /* set correct coded band width */ + hParamMC->hMetadataPMC.coded_bwidth = max_bwidth; + hParamMC->hMetadataPMC.last_coded_bwidth = max_bwidth; + ivas_param_mc_set_coded_bands( &hParamMC->hMetadataPMC ); + + /* initialize offset for transient detection */ + hParamMC->transient_detector_delay = ( NSUBBLOCKS_SHIFT + 1 ) + NSUBBLOCKS + 1 - (int16_t) ceilf( (float) NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS ) / (float) NS2SA( input_Fs, 2 * DIRAC_SLOT_NS ) ); + + /* Init total/dmx ener factors */ + set_f( hParamMC->ener_fac, 0.0f, PARAM_MC_MAX_PARAMETER_BANDS ); + + + return error; +} +#endif /*------------------------------------------------------------------------- * ivas_param_mc_enc_close() diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index bcf5482da9..1003697735 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -245,8 +245,9 @@ ivas_error create_mct_enc( for ( n = 0; n < max_blocks; n++ ) { +#ifndef MC_BITRATE_SWITCHING assert( st_ivas->hEncoderConfig->element_mode_init == IVAS_CPE_MDCT && "MCT is not supported for other stereo modes" ); - +#endif if ( ( hMCT->hBlockData[n] = (MCT_BLOCK_DATA_HANDLE) count_malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT block data structure\n" ) ); @@ -542,9 +543,167 @@ ivas_error ivas_mc_enc_config( /* MC format switching */ if ( st_ivas->hEncoderConfig->last_ivas_total_brate != st_ivas->hEncoderConfig->ivas_total_brate || st_ivas->mc_mode != last_mc_mode ) { - /*ivas_mc_enc_reconfigure( st_ivas );*/ +#ifdef MC_BITRATE_SWITCHING + ivas_mc_enc_reconfig( st_ivas, last_mc_mode ); +#else return IVAS_ERROR( IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, "Error: MC format switching not supported yet!!!\n\n" ); +#endif } return error; } + +#ifdef MC_BITRATE_SWITCHING +/*------------------------------------------------------------------------- + * ivas_mc_enc_reconfig() + * - reconfigure the MC format encoder + *-------------------------------------------------------------------------*/ + +ivas_error ivas_mc_enc_reconfig( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t last_mc_mode /* i: last frame mc mode */ +) +{ + int16_t nchan_transport_old, nSCE_old, nCPE_old; + ivas_error error; + + error = IVAS_ERR_OK; + + nchan_transport_old = st_ivas->nchan_transport; + nSCE_old = st_ivas->nSCE; + nCPE_old = st_ivas->nCPE; + + if ( st_ivas->mc_mode == MC_MODE_MCT ) + { + st_ivas->nSCE = 0; + st_ivas->nCPE = st_ivas->hEncoderConfig->nchan_inp / 2; +#if 0 + for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + if ( ( error = create_cpe_enc( st_ivas, cpe_id, ( ivas_total_brate / ( hEncoderConfig->nchan_inp - 1 ) * CPE_CHANNELS ) ) ) != IVAS_ERR_OK ) + { + return error; + } + + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + if ( cpe_id * CPE_CHANNELS + n == LFE_CHANNEL ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = 0; + continue; + } + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; + reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); + } + } + + if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } +#endif + st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( st_ivas->hEncoderConfig->mc_input_setup ); + + if ( last_mc_mode != MC_MODE_MCT ) + { +#if 0 + /*-----------------------------------------------------------------* + * Allocate MCT handle + *-----------------------------------------------------------------*/ + + if ( ( st_ivas->hMCT = (MCT_ENC_HANDLE) count_malloc( sizeof( MCT_ENC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT\n" ) ); + } +#endif + + /*De-allocate handles for other MC modes*/ + if ( st_ivas->hParamMC != NULL ) + { + ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); + st_ivas->hParamMC = NULL; + } + + if ( st_ivas->hMcMasa != NULL ) + { + ivas_mcmasa_enc_close( st_ivas->hMcMasa, st_ivas->hEncoderConfig->input_Fs ); + st_ivas->hMcMasa = NULL; + } + } + } + else if ( st_ivas->mc_mode == MC_MODE_PARAMMC ) + { + if ( last_mc_mode != MC_MODE_PARAMMC ) + { + if ( ( error = ivas_param_mc_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { + } +#if 0 + for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + if ( ( error = create_cpe_enc( st_ivas, cpe_id, ivas_total_brate / ( st_ivas->nCPE + st_ivas->nSCE ) ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* prepare bitstream buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; + reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); + } + + /* Metadata only initialized for the last CPE index*/ + if ( cpe_id == st_ivas->nCPE - 1 ) + { + st_ivas->hCPE[cpe_id]->hMetaData->ind_list = ind_list_metadata[st_ivas->nSCE]; + reset_indices_enc( st_ivas->hCPE[cpe_id]->hMetaData, MAX_BITS_METADATA ); + } + } + + if ( st_ivas->nCPE > 1 ) + { + if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } +#endif + } + else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), st_ivas->hEncoderConfig->ivas_total_brate ); +#if 0 + if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ( error = ivas_masa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ( error = ivas_mcmasa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } +#endif + } + + /* re-configure core coder*/ + if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ) ) != IVAS_ERR_OK ) + { + return error; + } + + + return error; +} +#endif \ No newline at end of file -- GitLab From 9134870e7bfc9b1a086d9cafaf7abf9a8485cb4d Mon Sep 17 00:00:00 2001 From: Hiromi Sekine Date: Thu, 13 Oct 2022 18:03:30 +0900 Subject: [PATCH 010/620] Further reduction of complexity by modifying if{}else{} clause. --- lib_com/options.h | 1 + lib_enc/ivas_stereo_dmx_evs.c | 167 +++++++++++++++++++++++++++++++++- 2 files changed, 166 insertions(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index edcd2846aa..f5d63791dc 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -152,6 +152,7 @@ /* NTT switches */ #define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ +#define BOOL5 /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index 4a09062bc2..bf30d903f4 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -161,7 +161,7 @@ static void calc_poc( float aR, aI; /*real and imaginary values for searching phase angle*/ int16_t j; - int16_t index_angles, mult_angle; + int16_t mult_angle; bool diffIR; const float *cos_reverse; @@ -169,6 +169,13 @@ static void calc_poc( float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; float rfft_buf[L_FRAME48k]; int16_t step, bias; +#ifdef BOOL5 + bool diffIR0; /*angle */ + float up_down; + int16_t index_angles; +#else + int16_t index_angles; +#endif #else float specPOr[L_FRAME48k], specPOi[L_FRAME48k]; float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; @@ -305,6 +312,159 @@ static void calc_poc( specPOr[i] = sign( specPOr[i] ) * tmp1; specPOi[i] = sign( specPOi[i] ) * tmp1; /* low accuracy is adequate for low frequency */ } + +#ifdef BOOL5 + for ( i = n0 >> 4; i> 3; i++ ) /* binary search from 8 angles */ + { + aR = specPOr[i]; + aR *= aR; + aI = specPOi[i]; + aI *= aI; + diffIR = aR > aI; + /* index_angles = 120 - (int16_t) diffIR * 80;*/ + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-( 120 - (int16_t) diffIR * 80 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[( 120 - (int16_t) diffIR * 80 ) * mult_angle] * tmp1; + } + for ( i = n0 >> 3; i> 2; i++ ) /* binary search from 16 angles */ + { + aR = specPOr[i]; + aR *= aR; + aI = specPOi[i]; + aI *= aI; + diffIR0 = aR > aI; + /*index_angles = 140 - (int16_t) diffIR0*80; */ + up_down = ( /* 1.0f - 0.1715724f */ 0.82842759f ) * (float) diffIR0; + diffIR = aR * ( 1.0f - up_down ) > aI * ( up_down + 0.1715724f ); + + /* equivalent if{} else{}*/ + /* if ( aR > aI ) + { + if (aR * tanf(PI/8)* tanf(PI/8)> aI){ + index_angles = 60 - (int16_t) diffIR * 40; + } + else{......} + } + */ + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) /*((float)(aR>0)*2.f- 1.0f)*/ * cos_reverse[-( 140 - (int16_t) diffIR0 * 80 - (int16_t) diffIR * 40 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) /*( (float) ( aI > 0 ) * 2.f - 1.0f )*/ * s[( 140 - (int16_t) diffIR0 * 80 - (int16_t) diffIR * 40 ) * mult_angle] * tmp1; + } + for ( i = n0 >> 2; i> 1; i++ ) /* binary search from 32 angles */ + { + aR = specPOr[i]; + aR *= aR; + aI = specPOi[i]; + aI *= aI; + + if ( aR > aI ) + { + if ( aR * 0.1715724f /* tanf(PI/8)**2 = 0.414213f**2 */ > aI ) + { + diffIR = aR * 0.039565188f /* tanf(PI/16)**2 */ > aI; + index_angles = 30; + } + else + { + diffIR = aR * 0.446463176f /* tanf(PI*3/16)**2 */ > aI; + index_angles = 70; + } + } + else + { + if ( aR > aI * 0.1715724f /* tanf(PI/8)**2 */ ) + { + diffIR = aR > aI * 0.446463176f /* tanf(PI*3/16)**2 */; + index_angles = 110; + } + else + { + diffIR = aR > aI * 0.039565188f /* tanf(PI/16)**2 */; + index_angles = 150; + } + } + { + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-( index_angles - (int16_t) diffIR * 20 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[( index_angles - (int16_t) diffIR * 20 ) * mult_angle] * tmp1; + } + } + + for ( ; i < min( n0, 320 ); i++ ) /* binary search from 64 angles */ + { + aR = specPOr[i]; + aR *= aR; + aI = specPOi[i]; + aI *= aI; + if ( aR > aI ) + { + if ( aR * 0.1715724f /* tanf(PI/8)**2 */ > aI ) + { + if ( aR * 0.039565188f /* tanf(PI/16)**2 */ > aI ) + { + diffIR = aR * 0.00970f /*0.098491f * 0.098491f*/ /*tanf(PI/32)*/ > aI; + index_angles = 15; + } + else + { + diffIR = aR * 0.09201922 /* tanf(PI*3/32)**2 */ > aI; + index_angles = 35; + } + } + else + { + if ( aR * 0.446463176f /* tanf(PI*3/16)**2 */ > aI ) + { + diffIR = aR * 0.285702f /*0.5345111f*0.5345111f*/ /* tanf(PI*5/32)**2 */ > aI; + index_angles = 55; + } + else + { + diffIR = aR * 0.6735137f /*0.8206788f*0.8206788f */ /* tanf(PI*7/32)**2 */ > aI; + index_angles = 75; + } + } + } + else + { + if ( aR > aI * 0.1715724f /* tanf(PI/8)**2 */ ) + { + if ( aR > aI * 0.446463176f /* tanf(PI*3/16)**2 */ ) + { + diffIR = aR > aI * 0.6735137f /*0.8206788f*0.8206788f */ /* tanf(PI*7/32)**2 */; + index_angles = 95; + } + else + { + diffIR = aR > aI * 0.285702f /*0.5345111f*0.5345111f*/ /*tanf(PI*5/32)*/; + index_angles = 115; + } + } + else + { + if ( aR > aI * 0.039565188f /* tanf(PI/16)**2 */ ) // + { + diffIR = aR > aI * 0.09201922 /*0.3033467f*0.3033467f*/ /* tanf(PI*3/32)**2 */; + index_angles = 135; + } + else + { + diffIR = aR > aI * 0.00970f /*0.098491f * 0.098491f*/ /* tanf(PI/32)**2 */; + index_angles = 155; + } + } + } + { + tmp1 = wnd[i * step + bias] * gamma; + gamma -= igamma; + specPOr[i] = sign( specPOr[i] ) * cos_reverse[-( index_angles - (int16_t) diffIR * 10 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; + specPOi[i] = sign( specPOi[i] ) * s[( index_angles - (int16_t) diffIR * 10 ) * mult_angle] * tmp1; + } + } +#else /*BOOL5*/ for ( i = n0 >> 4; i> 3; i++ ) /* binary search from 8 angles */ { aR = fabsf( specPOr[i] ); @@ -450,6 +610,8 @@ static void calc_poc( specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; } } +#endif /*BOOL5*/ + if ( i < n0 ) { gamma -= igamma * ( n0 - 320 ); @@ -460,7 +622,8 @@ static void calc_poc( specPOi[i] = 0.f; } specPOr[n0] = sign( specLr[n0] ) * sign( specRr[n0] ) * wnd[i * step + bias] * gamma; -#else + +#else /*end NTT_REDUC_COMP*/ if ( input_frame == L_FRAME16k ) { step = 3; -- GitLab From e3d323ab544c8ac332eafed96fba3f15eeeee8d8 Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou Date: Fri, 14 Oct 2022 16:28:29 +0200 Subject: [PATCH 011/620] enable decoder bitrate switching framework --- lib_com/ivas_prot.h | 17 +- lib_dec/ivas_mc_param_dec.c | 277 ++++++++++++++++++++++++++ lib_dec/ivas_mct_dec.c | 170 +++++++++++++++- lib_enc/ivas_corecoder_enc_reconfig.c | 6 - lib_enc/ivas_mct_enc.c | 137 ++++++------- 5 files changed, 522 insertions(+), 85 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 6b714f25e3..27b9d21c0d 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -637,6 +637,12 @@ ivas_error ivas_mc_dec_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t idx /* i : LS config. index */ ); +#ifdef MC_BITRATE_SWITCHING +ivas_error ivas_mc_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t last_mc_mode /* i : last frame MC mode */ +); +#endif /*! r: MC format mode (MCT, McMASA, ParamMC) */ MC_MODE ivas_mc_mode_select( @@ -3501,12 +3507,6 @@ ivas_error ivas_param_mc_enc_open( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); #ifdef MC_BITRATE_SWITCHING -/*------------------------------------------------------------------------- - * ivas_param_mc_enc_open() - * - * Initialize Parametric MC encoder handle - *------------------------------------------------------------------------*/ - ivas_error ivas_param_mc_reconfig( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); @@ -3526,6 +3526,11 @@ void ivas_param_mc_enc( ivas_error ivas_param_mc_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); +#ifdef MC_BITRATE_SWITCHING +ivas_error ivas_param_mc_dec_reconfig( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); +#endif void ivas_param_mc_dec_close( PARAM_MC_DEC_HANDLE *hParamMC /* i/o: Parametric MC decoder handle */ diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 29e2ce4002..da643537e2 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -410,6 +410,283 @@ ivas_error ivas_param_mc_dec_open( return error; } +#ifdef MC_BITRATE_SWITCHING +ivas_error ivas_param_mc_dec_reconfig( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +) +{ + int16_t k, nchan_transport; + PARAM_MC_DEC_HANDLE hParamMC; + IVAS_OUTPUT_SETUP hTransportSetup; + int16_t nchan_out_transport; + int16_t nchan_out_cov; + float proto_matrix[MAX_CICP_CHANNELS * PARAM_MC_MAX_TRANSPORT_CHANS]; + float proto_mtx_norm; + int16_t max_param_band_residual; + uint16_t config_index; + MC_LS_SETUP mc_ls_setup; + float frequency_axis[CLDFB_NO_CHANNELS_MAX]; + AUDIO_CONFIG output_config; + int32_t output_Fs, ivas_total_brate; + ivas_error error; + + error = IVAS_ERR_OK; + hParamMC = st_ivas->hParamMC; + /*-----------------------------------------------------------------* + * prepare library opening + *-----------------------------------------------------------------*/ + + output_Fs = st_ivas->hDecoderConfig->output_Fs; + output_config = st_ivas->hDecoderConfig->output_config; + ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; + + hTransportSetup = st_ivas->hTransSetup; + mc_ls_setup = ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ); + nchan_out_transport = st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe; + hParamMC->hoa_encoder = NULL; + + + hParamMC->ls_conv_dmx_matrix = NULL; + + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + nchan_out_cov = st_ivas->hOutSetup.nchan_out_woLFE + st_ivas->hOutSetup.num_lfe; + } + else + { + nchan_out_cov = nchan_out_transport; + } + + st_ivas->nchan_transport = ivas_param_mc_getNumTransportChannels( ivas_total_brate, mc_ls_setup ); + config_index = ivas_param_mc_get_configuration_index( mc_ls_setup, ivas_total_brate ); + nchan_transport = st_ivas->nchan_transport; + + switch ( nchan_transport ) + { + case 4: + case 3: + st_ivas->nCPE = 2; + st_ivas->nSCE = 0; + st_ivas->element_mode_init = IVAS_CPE_MDCT; + break; + case 2: + st_ivas->nCPE = 1; + st_ivas->nSCE = 0; + st_ivas->element_mode_init = IVAS_CPE_MDCT; + + break; +#ifdef DEBUGGING + default: + assert( 0 && "Number of TC not supported for Parametric MC!" ); +#endif + } + + /*-----------------------------------------------------------------* + * set input parameters + *-----------------------------------------------------------------*/ + + hParamMC->slot_size = (int16_t) ( output_Fs / FRAMES_PER_SEC ) / CLDFB_NO_COL_MAX; + hParamMC->subframe_nbslots = CLDFB_NO_COL_MAX / PARAM_MC_NSUBFRAMES_DEC; + + hParamMC->num_freq_bands = (int16_t) ( output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ); + hParamMC->max_band_energy_compensation = hParamMC->num_freq_bands; + ivas_param_mc_metadata_open( mc_ls_setup, hTransportSetup.index_lfe[0], ivas_total_brate, hParamMC->hMetadataPMC ); + + /* init arrays for quantized parameters */ + hParamMC->icc_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ); + hParamMC->icld_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe * sizeof( float ) ); + set_f( hParamMC->icld_q, PARAM_MC_DEFAULT_MIN_ILD, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe ); + set_f( hParamMC->icc_q, 0.0f, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe ); + + param_mc_set_num_synth_bands( output_Fs, hParamMC ); + + + /* Band Grouping */ + if ( hParamMC->hMetadataPMC->num_parameter_bands == 20 ) + { + mvs2s( param_mc_band_grouping_20, hParamMC->band_grouping, 20 + 1 ); + } + else if ( hParamMC->hMetadataPMC->num_parameter_bands == 14 ) + { + mvs2s( param_mc_band_grouping_14, hParamMC->band_grouping, 14 + 1 ); + } + else if ( hParamMC->hMetadataPMC->num_parameter_bands == 10 ) + { + mvs2s( param_mc_band_grouping_10, hParamMC->band_grouping, 10 + 1 ); + } + else + { + assert( 0 && "nbands must be 20, 14, or 10!" ); + } + + /* set max parameter band for abs cov */ + k = 0; + while ( hParamMC->band_grouping[k] <= PARAM_MC_MAX_BAND_ABS_COV_DEC ) + { + hParamMC->max_param_band_abs_cov = ( k++ ); + } + + + /*-----------------------------------------------------------------* + * open sub-modules + *-----------------------------------------------------------------*/ + + /* prototype signal computation */ + + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_CLDFB || hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + if ( ( error = ivas_ls_setup_conversion_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* convert the ls conv dmx matrix into column order matrix format (nchan_out_cldfb x nchan_out) */ + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + hParamMC->ls_conv_dmx_matrix = (float *) count_malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); + for ( k = 0; k < nchan_out_transport; k++ ) + { + mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); + } + /* convert ParamMC parameter bands to SFB */ + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + st_ivas->hLsSetUpConversion->sfbCnt = hParamMC->num_param_bands_synth; + for ( k = 0; k <= hParamMC->num_param_bands_synth; k++ ) + { + st_ivas->hLsSetUpConversion->sfbOffset[k] = PARAM_MC_BAND_TO_MDCT_BAND_RATIO * hParamMC->band_grouping[k]; + } + } + else + { + /* close the ls conversion handle immediately, it was only needed to get the DMX matrix in case of DMX in the covariance domain */ + ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); + } + } + } + + hParamMC->proto_matrix_int = (float *) count_malloc( nchan_out_transport * nchan_transport * sizeof( float ) ); + mvr2r( ivas_param_mc_conf[config_index].dmx_fac, hParamMC->proto_matrix_int, nchan_transport * nchan_out_transport ); + + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + matrix_product( hParamMC->ls_conv_dmx_matrix, nchan_out_cov, nchan_out_transport, 0, + ivas_param_mc_conf[config_index].dmx_fac, nchan_out_transport, nchan_transport, 0, + proto_matrix ); + + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + proto_mtx_norm = 1.f; + for ( k = 0; k < nchan_transport * nchan_out_cov; k++ ) + { + proto_mtx_norm = max( fabsf( proto_mtx_norm ), fabsf( proto_matrix[k] ) ); + } + proto_mtx_norm = 1.f / proto_mtx_norm; + + /* transfer flattened proto_matrix to 2D in hLsSetupConversion->dmxMtx */ + for ( k = 0; k < nchan_transport; k++ ) + { + for ( int16_t i = 0; i < nchan_out_cov; i++ ) + { + st_ivas->hLsSetUpConversion->dmxMtx[k][i] = proto_matrix[k * nchan_out_cov + i] * proto_mtx_norm; + } + } + } + } + else + { + mvr2r( ivas_param_mc_conf[config_index].dmx_fac, proto_matrix, nchan_out_transport * nchan_transport ); + } + + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + { + hParamMC->num_outputs_diff = 0; + hParamMC->diff_proto_info = NULL; + hParamMC->h_output_synthesis_params.use_onset_filters = 0; + hParamMC->max_band_decorr = 0; + hParamMC->h_freq_domain_decorr_ap_params = NULL; + hParamMC->h_freq_domain_decorr_ap_state = NULL; + } + else + { + hParamMC->num_outputs_diff = nchan_out_cov; + hParamMC->diff_proto_info = (PARAM_MC_DIFF_PROTO_INFO *) count_malloc( sizeof( PARAM_MC_DIFF_PROTO_INFO ) ); + + param_mc_get_diff_proto_info( proto_matrix, nchan_transport, nchan_out_cov, hParamMC->diff_proto_info ); + + /* decorrelation */ + hParamMC->h_freq_domain_decorr_ap_params = NULL; + hParamMC->h_freq_domain_decorr_ap_state = NULL; + + ivas_dirac_dec_get_frequency_axis( frequency_axis, output_Fs, hParamMC->num_freq_bands ); + + ivas_dirac_dec_decorr_open( &( hParamMC->h_freq_domain_decorr_ap_params ), + &( hParamMC->h_freq_domain_decorr_ap_state ), + hParamMC->num_freq_bands, + hParamMC->num_outputs_diff, + hParamMC->diff_proto_info->num_protos_diff, + DIRAC_SYNTHESIS_COV_MC_LS, + frequency_axis, + nchan_transport, + output_Fs ); + + hParamMC->h_output_synthesis_params.use_onset_filters = 0; + hParamMC->max_band_decorr = hParamMC->h_freq_domain_decorr_ap_params->max_band_decorr; + } + hParamMC->max_band_energy_compensation = hParamMC->band_grouping[hParamMC->hMetadataPMC->nbands_coded]; + max_param_band_residual = 0; + + for ( k = hParamMC->hMetadataPMC->num_parameter_bands; k >= 0; k-- ) + { + if ( hParamMC->band_grouping[k] <= hParamMC->max_band_decorr ) + { + max_param_band_residual = k; + assert( hParamMC->band_grouping[k] == hParamMC->max_band_decorr ); + break; + } + } + + /* output synthesis */ + ivas_dirac_dec_output_synthesis_cov_open( &( hParamMC->h_output_synthesis_params ), + &( hParamMC->h_output_synthesis_cov_state ), + hParamMC->max_band_decorr, + PARAM_MC_MAX_NSLOTS, + hParamMC->hMetadataPMC->num_parameter_bands, + max_param_band_residual, + nchan_transport, + nchan_out_cov, + proto_matrix ); + + + /* Head rotation */ + if ( ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) && st_ivas->hDecoderConfig->Opt_Headrotation ) + { + hParamMC->hoa_encoder = (float *) count_malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( float ) ); + compute_hoa_encoder_mtx( st_ivas->hTransSetup.ls_azimuth, st_ivas->hTransSetup.ls_elevation, hParamMC->hoa_encoder, st_ivas->hTransSetup.nchan_out_woLFE, HEAD_ROTATION_HOA_ORDER ); + } + + /*-----------------------------------------------------------------* + * memory allocation + *-----------------------------------------------------------------*/ + + if ( hParamMC->max_band_decorr > 0 ) + { + hParamMC->proto_frame_f = (float *) count_malloc( 2 * hParamMC->diff_proto_info->num_protos_diff * hParamMC->num_freq_bands * sizeof( float ) ); + hParamMC->proto_frame_dec_f = (float *) count_malloc( 2 * nchan_out_cov * hParamMC->num_freq_bands * sizeof( float ) ); + } + else + { + hParamMC->proto_frame_f = NULL; + hParamMC->proto_frame_dec_f = NULL; + } + + ivas_param_mc_dec_init( hParamMC, nchan_transport, nchan_out_cov ); + + + return error; +} +#endif + /*------------------------------------------------------------------------- * param_mc_get_num_cldfb_syntheses() * diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index b4a4da3e3c..5095df6aed 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -622,8 +622,11 @@ ivas_error ivas_mc_dec_config( { if ( st_ivas->hDecoderConfig->last_ivas_total_brate != st_ivas->hDecoderConfig->ivas_total_brate || st_ivas->transport_config != signaled_config || last_mc_mode != st_ivas->mc_mode ) { - /*ivas_mc_dec_reconfigure( st_ivas );*/ +#ifdef MC_BITRATE_SWITCHING + ivas_mc_dec_reconfig( st_ivas, last_mc_mode ); +#else return IVAS_ERROR( IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, "Error: MC format switching not supported yet!!!\n\n" ); +#endif } } @@ -632,3 +635,168 @@ ivas_error ivas_mc_dec_config( return error; } +#ifdef MC_BITRATE_SWITCHING +ivas_error ivas_mc_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t last_mc_mode /* i : last frame MC mode */ +) +{ + int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; + ivas_error error; + + error = IVAS_ERR_OK; + + nchan_transport_old = st_ivas->nchan_transport; + nSCE_old = st_ivas->nSCE; + nCPE_old = st_ivas->nCPE; + sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; + + if ( st_ivas->mc_mode == MC_MODE_MCT ) + { + st_ivas->nSCE = 0; + st_ivas->nCPE = st_ivas->hDecoderConfig->nchan_out / 2; + + st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ) ); + + if ( last_mc_mode != MC_MODE_MCT ) + { + /*De-allocate handles for other MC modes*/ + if ( st_ivas->hParamMC != NULL ) + { + ivas_param_mc_dec_close( &st_ivas->hParamMC ); + st_ivas->hParamMC = NULL; + } + + /* De-allocate McMasa-related handles */ + if ( st_ivas->hMasa != NULL ) + { + ivas_masa_dec_close( st_ivas->hMasa ); + st_ivas->hMasa = NULL; + } + + if ( st_ivas->hQMetaData != NULL ) + { + ivas_qmetadata_close( &st_ivas->hQMetaData ); + st_ivas->hQMetaData = NULL; + } + } + } + else if ( st_ivas->mc_mode == MC_MODE_PARAMMC ) + { + if ( last_mc_mode != MC_MODE_PARAMMC ) + { + if ( ( error = ivas_param_mc_dec_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { + ivas_param_mc_dec_reconfig( st_ivas ); + } + + /* De-allocate McMasa-related handles */ + if ( st_ivas->hMasa != NULL ) + { + ivas_masa_dec_close( st_ivas->hMasa ); + st_ivas->hMasa = NULL; + } + + if ( st_ivas->hQMetaData != NULL ) + { + ivas_qmetadata_close( &st_ivas->hQMetaData ); + st_ivas->hQMetaData = NULL; + } + + if ( last_mc_mode == MC_MODE_MCT ) + { + if ( st_ivas->hMCT != NULL ) + { + ivas_mct_dec_close( &st_ivas->hMCT ); + st_ivas->hMCT = NULL; + } + /* LFE handle */ + if ( st_ivas->hLFE != NULL ) + { + ivas_lfe_dec_close( st_ivas->hLFE ); + st_ivas->hLFE = NULL; + } + } + } + else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), st_ivas->hDecoderConfig->ivas_total_brate ); + + if ( last_mc_mode != MC_MODE_MCMASA ) + { + if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ( error = ivas_masa_dec_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + if ( st_ivas->hParamMC != NULL ) + { + ivas_param_mc_dec_close( &st_ivas->hParamMC ); + st_ivas->hParamMC = NULL; + } + + if ( last_mc_mode == MC_MODE_MCT ) + { + if ( st_ivas->hMCT != NULL ) + { + ivas_mct_dec_close( &st_ivas->hMCT ); + st_ivas->hMCT = NULL; + } + /* LFE handle */ + if ( st_ivas->hLFE != NULL ) + { + ivas_lfe_dec_close( st_ivas->hLFE ); + st_ivas->hLFE = NULL; + } + } + } + + if ( st_ivas->nchan_transport == 1 ) + { + st_ivas->element_mode_init = IVAS_SCE; + } + else + { + st_ivas->element_mode_init = IVAS_CPE_MDCT; + } + + /* re-configure core coder*/ + if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* re-configure hp20 memories */ + ivas_hp20_dec_reconfig( st_ivas, nchan_transport_old ); + + /* Allocat the LFE handle that is coded seperately after the allocation of the core coders*/ + if ( st_ivas->mc_mode == MC_MODE_MCT ) + { + + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* reuse core-coder buffers for LFE decoder */ + st_ivas->hLFE->prevsynth_buf = &st_ivas->hCPE[1]->hCoreCoder[1]->old_synth_sw[0]; + st_ivas->hLFE->prior_out_buffer = &st_ivas->hCPE[1]->hCoreCoder[1]->previoussynth[0]; + + set_zero( st_ivas->hLFE->prevsynth_buf, LFE_PLC_BUFLEN ); + set_zero( st_ivas->hLFE->prior_out_buffer, L_FRAME48k ); + } + + return error; +} +#endif diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 39b1733620..f4b302eefd 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -286,12 +286,6 @@ ivas_error ivas_corecoder_enc_reconfig( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 1; } } -#ifdef MC_BITRATE_SWITCHING - if ( nSCE_old ) - { - st_ivas->hCPE[cpe_id]->element_mode = IVAS_CPE_MDCT; - } -#endif } } diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 202cbd1dff..71d8f401fb 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -254,9 +254,9 @@ ivas_error create_mct_enc( for ( n = 0; n < max_blocks; n++ ) { -#ifndef MC_BITRATE_SWITCHING + assert( st_ivas->hEncoderConfig->element_mode_init == IVAS_CPE_MDCT && "MCT is not supported for other stereo modes" ); -#endif + if ( ( hMCT->hBlockData[n] = (MCT_BLOCK_DATA_HANDLE) count_malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT block data structure\n" ) ); @@ -599,45 +599,11 @@ ivas_error ivas_mc_enc_reconfig( { st_ivas->nSCE = 0; st_ivas->nCPE = st_ivas->hEncoderConfig->nchan_inp / 2; -#if 0 - for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) - { - if ( ( error = create_cpe_enc( st_ivas, cpe_id, ( ivas_total_brate / ( hEncoderConfig->nchan_inp - 1 ) * CPE_CHANNELS ) ) ) != IVAS_ERR_OK ) - { - return error; - } - - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - if ( cpe_id * CPE_CHANNELS + n == LFE_CHANNEL ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = 0; - continue; - } - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; - reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); - } - } - if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } -#endif st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( st_ivas->hEncoderConfig->mc_input_setup ); if ( last_mc_mode != MC_MODE_MCT ) { -#if 0 - /*-----------------------------------------------------------------* - * Allocate MCT handle - *-----------------------------------------------------------------*/ - - if ( ( st_ivas->hMCT = (MCT_ENC_HANDLE) count_malloc( sizeof( MCT_ENC_DATA ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT\n" ) ); - } -#endif /*De-allocate handles for other MC modes*/ if ( st_ivas->hParamMC != NULL ) @@ -646,11 +612,23 @@ ivas_error ivas_mc_enc_reconfig( st_ivas->hParamMC = NULL; } + /* De-allocate McMasa-related handles */ if ( st_ivas->hMcMasa != NULL ) { ivas_mcmasa_enc_close( st_ivas->hMcMasa, st_ivas->hEncoderConfig->input_Fs ); st_ivas->hMcMasa = NULL; } + if ( st_ivas->hMasa != NULL ) + { + ivas_masa_enc_close( st_ivas->hMasa, nchan_transport_old, MC_FORMAT ); + st_ivas->hMasa = NULL; + } + + if ( st_ivas->hQMetaData != NULL ) + { + ivas_qmetadata_close( &st_ivas->hQMetaData ); + st_ivas->hQMetaData = NULL; + } } } else if ( st_ivas->mc_mode == MC_MODE_PARAMMC ) @@ -664,59 +642,75 @@ ivas_error ivas_mc_enc_reconfig( } else { + ivas_param_mc_reconfig( st_ivas ); } -#if 0 - for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) - { - if ( ( error = create_cpe_enc( st_ivas, cpe_id, ivas_total_brate / ( st_ivas->nCPE + st_ivas->nSCE ) ) ) != IVAS_ERR_OK ) - { - return error; - } - /* prepare bitstream buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; - reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); - } + /* De-allocate McMasa-related handles */ + if ( st_ivas->hMcMasa != NULL ) + { + ivas_mcmasa_enc_close( st_ivas->hMcMasa, st_ivas->hEncoderConfig->input_Fs ); + st_ivas->hMcMasa = NULL; + } + if ( st_ivas->hMasa != NULL ) + { + ivas_masa_enc_close( st_ivas->hMasa, nchan_transport_old, MC_FORMAT ); + st_ivas->hMasa = NULL; + } - /* Metadata only initialized for the last CPE index*/ - if ( cpe_id == st_ivas->nCPE - 1 ) - { - st_ivas->hCPE[cpe_id]->hMetaData->ind_list = ind_list_metadata[st_ivas->nSCE]; - reset_indices_enc( st_ivas->hCPE[cpe_id]->hMetaData, MAX_BITS_METADATA ); - } + if ( st_ivas->hQMetaData != NULL ) + { + ivas_qmetadata_close( &st_ivas->hQMetaData ); + st_ivas->hQMetaData = NULL; } - if ( st_ivas->nCPE > 1 ) + /* De-allocate MCT handle if last mode was MCT */ + if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL ) { - if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } + ivas_mct_enc_close( st_ivas->hMCT ); + st_ivas->hMCT = NULL; } } -#endif - } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), st_ivas->hEncoderConfig->ivas_total_brate ); -#if 0 - if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) + + if ( last_mc_mode != MC_MODE_MCMASA ) { - return error; + if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ( error = ivas_masa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ( error = ivas_mcmasa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } } - if ( ( error = ivas_masa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + if ( st_ivas->hParamMC != NULL ) { - return error; + ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); + st_ivas->hParamMC = NULL; } - - if ( ( error = ivas_mcmasa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL ) { - return error; + ivas_mct_enc_close( st_ivas->hMCT ); + st_ivas->hMCT = NULL; } -#endif + } + + if ( st_ivas->nchan_transport == 1 ) + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_SCE; + } + else + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; } /* re-configure core coder*/ @@ -725,7 +719,6 @@ ivas_error ivas_mc_enc_reconfig( return error; } - return error; } #endif \ No newline at end of file -- GitLab From 6f1554c58950125b9d57050bc794a883c8977a23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= Date: Mon, 17 Oct 2022 18:02:26 +0200 Subject: [PATCH 012/620] Removing incorrect delay component for CLDFB renderer. --- lib_dec/ivas_binauralRenderer.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib_dec/ivas_binauralRenderer.c b/lib_dec/ivas_binauralRenderer.c index 776c759171..b3d298b562 100644 --- a/lib_dec/ivas_binauralRenderer.c +++ b/lib_dec/ivas_binauralRenderer.c @@ -589,10 +589,6 @@ ivas_error ivas_binRenderer_open( st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ); } } -#ifdef FIX_I59 - /* Add CLDFB delay */ - st_ivas->binaural_latency_ns += IVAS_FB_DEC_DELAY_NS; -#endif /* Allocate memories needed for reverb module */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM && st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) -- GitLab From e1167220a8e7ab75c29c1d34bfb745c529915bb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= Date: Mon, 17 Oct 2022 18:04:48 +0200 Subject: [PATCH 013/620] - Dividing into separate defines for the three components of the fix. - Correcting delay compensation for case when render_lfe is 0. --- lib_com/delay_comp.c | 4 +-- lib_com/ivas_prot.h | 4 +-- lib_com/options.h | 4 ++- lib_com/prot.h | 2 +- lib_dec/ivas_dec.c | 2 +- lib_dec/ivas_init_dec.c | 27 +++++++++++++------ lib_dec/ivas_lfe_dec.c | 10 +++---- lib_dec/ivas_stat_dec.h | 2 +- lib_dec/lib_dec.c | 10 ++++++- lib_enc/lib_enc.c | 10 ++++++- .../unit_tests/crend/ivas_crend_utest_utils.c | 2 +- 11 files changed, 53 insertions(+), 24 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index dd2584d40a..7d0ba19485 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -55,7 +55,7 @@ float get_delay( const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ -#ifndef FIX_I59 +#ifndef FIX_I59_LFE_TD_DELAY RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ #else @@ -98,7 +98,7 @@ float get_delay( else /* IVAS */ { delay = IVAS_DEC_DELAY_NS; -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_TD_DELAY if ( hCldfb != NULL ) { /* compensate for filterbank delay */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 0b8eea3487..a16cfec163 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -4841,8 +4841,8 @@ void ivas_lfe_enc( ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ const int32_t output_Fs, /* i : output sampling rate */ -#ifdef FIX_I59 - const int32_t binaural_latency_ns /* i : additional LFE delay to sync with binaural renderer */ +#ifdef FIX_I59_LFE_TD_DELAY + const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ #else const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ #endif diff --git a/lib_com/options.h b/lib_com/options.h index 5db73b211c..bafd0e9e3c 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -155,7 +155,9 @@ #define SRAM_REDUCTION_BINRENDERER /* Issue 145: reduction of static RAM usage in fastconv binaural renderer */ #define SRAM_REDUCTION_BINRENDERER_ROOM /* Issue 145: reduction of static RAM usage in fastconv binaural room renderer */ #define FIX_I120_INV_SQRT /* Issue 120: inv_sqrt() shall be used instead of 1 / sqrt() to measure the correct complexity */ -#define FIX_I59 /* fix for issue 59: correcting delay of LFE and delay compensation */ +#define FIX_I59_LFE_TD_DELAY /* Issue 59: correcting delay of LFE for TD renderer */ +#define FIX_I59_LFE_CLDFB /* Issue 59: correcting LFE handling for fastconv binaural rendering */ +#define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/prot.h b/lib_com/prot.h index fb492ba3e7..5b9e3ddd36 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -717,7 +717,7 @@ float get_delay( const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ -#ifndef FIX_I59 +#ifndef FIX_I59_LFE_TD_DELAY RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ #else diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 62414bbc02..7ca4f8d8ec 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -389,7 +389,7 @@ ivas_error ivas_dec( } if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_CLDFB ivas_binaural_cldfb( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); #else diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 88b1cd8629..636f165684 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -606,8 +606,8 @@ ivas_error ivas_init_decoder( AUDIO_CONFIG output_config; DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; -#ifdef FIX_I59 - int32_t lfe_delay; +#ifdef FIX_I59_LFE_TD_DELAY + int32_t binauralization_delay_ns; #endif error = IVAS_ERR_OK; @@ -1228,14 +1228,25 @@ ivas_error ivas_init_decoder( if ( st_ivas->mc_mode == MC_MODE_MCT ) { -#ifdef FIX_I59 - lfe_delay = st_ivas->binaural_latency_ns; - if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) +#ifdef FIX_I59_LFE_TD_DELAY + binauralization_delay_ns = st_ivas->binaural_latency_ns; + if ( st_ivas->hBinRenderer != NULL ) { - /* Account for filterbank delay */ - lfe_delay += IVAS_FB_DEC_DELAY_NS; +#ifdef FIX_I59_LFE_CLDFB + if ( st_ivas->hBinRenderer->render_lfe ) + { + /* Account for filterbank delay */ + binauralization_delay_ns += IVAS_FB_DEC_DELAY_NS; + } + else + { + binauralization_delay_ns = 0; + } +#else + binauralization_delay_ns = 0; +#endif } - if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, lfe_delay ) ) != IVAS_ERR_OK ) + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, binauralization_delay_ns ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) #endif diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index 8033782e86..0782cccdb6 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -352,8 +352,8 @@ void ivas_lfe_dec( ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ const int32_t output_Fs, /* i : output sampling rate */ -#ifdef FIX_I59 - const int32_t binaural_latency_ns /* i : additional LFE delay to sync with binaural renderer */ +#ifdef FIX_I59_LFE_TD_DELAY + const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ #else const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ #endif @@ -365,7 +365,7 @@ ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE hLFE; float lfe_addl_delay_s; int16_t i, j; -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_TD_DELAY int16_t add_delay_sa; #endif @@ -443,8 +443,8 @@ ivas_error ivas_create_lfe_dec( lfe_addl_delay_s = block_offset_s - hLFE->lfe_block_delay_s; lfe_addl_delay_s = max( 0.0f, lfe_addl_delay_s ); -#ifdef FIX_I59 - add_delay_sa = NS2SA( output_Fs, binaural_latency_ns + 0.5f ); +#ifdef FIX_I59_LFE_TD_DELAY + add_delay_sa = NS2SA( output_Fs, binauralization_delay_ns + 0.5f ); hLFE->lfe_addl_delay = (int16_t) ( lfe_addl_delay_s * output_Fs ) + add_delay_sa; hLFE->lfe_block_delay_s += lfe_addl_delay_s + add_delay_sa / output_Fs; #else diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index bafc4a3fa8..ddcc8ccf4f 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -2013,7 +2013,7 @@ typedef struct Decoder_Struct float *hoa_dec_mtx; /* Pointer to decoder matrix for SBA */ HEAD_TRACK_DATA_HANDLE hHeadTrackData; /* Head tracking data structure */ RENDER_CONFIG_DATA *hRenderConfig; /* Renderer config pointer */ -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_TD_DELAY int32_t binaural_latency_ns; /* Binauralization latency in ns */ #else int32_t binaural_latency_ns; /* HRTF binauralization latency in ns */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 4ea06b5a75..cc28ff0b40 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1054,10 +1054,18 @@ ivas_error IVAS_DEC_GetDelay( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_TD_DELAY +#ifdef FIX_I59_DELAY_ROUNDING *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ); +#else + *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ) ); +#endif +#else +#ifdef FIX_I59_DELAY_ROUNDING + *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ); #else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); +#endif #endif *timeScale = hDecoderConfig->output_Fs; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 7f72fa920b..ef0108bcfa 100644 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -946,10 +946,18 @@ ivas_error IVAS_ENC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_TD_DELAY +#ifdef FIX_I59_DELAY_ROUNDING *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) + 0.5f ); +#else + *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) + 0.5f ) ); +#endif +#else +#ifdef FIX_I59_DELAY_ROUNDING + *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ); #else *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ) ); +#endif #endif *delay *= hEncoderConfig->nchan_inp; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index c47a0c86c3..b286ef93cc 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -1307,7 +1307,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } if ( st_ivas.ivas_format == MC_FORMAT ) { -#ifdef FIX_I59 +#ifdef FIX_I59_LFE_TD_DELAY ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); #else ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_s ); -- GitLab From c1091a4b803cef93de6266b83ca3fb6982be0ee8 Mon Sep 17 00:00:00 2001 From: Fredrik Jansson Date: Thu, 20 Oct 2022 08:58:54 +0200 Subject: [PATCH 014/620] Updated FIX_ITD_CNG --- lib_dec/ivas_stat_dec.h | 4 +++ lib_dec/ivas_stereo_dft_dec.c | 51 +++++++++++++++++++++++++++++++ lib_enc/ivas_stat_enc.h | 4 +++ lib_enc/ivas_stereo_dft_enc.c | 30 ++++++++++++++++-- lib_enc/ivas_stereo_dft_enc_itd.c | 1 + 5 files changed, 88 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 95dbddb599..d8a1a279ac 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -150,6 +150,10 @@ typedef struct stereo_dft_dec_data_struct int16_t itd_xfade_counter; float itd_xfade_prev; int32_t last_active_element_brate; + float ipd_xfade_target; + float ipd_xfade_step; + int16_t ipd_xfade_counter; + float ipd_xfade_prev; #endif /*residual prediction*/ diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index a8eb063cd9..96732a0b3a 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -486,6 +486,10 @@ void stereo_dft_dec_reset( hStereoDft->itd_xfade_counter = 0; hStereoDft->itd_xfade_prev = 0.0f; hStereoDft->last_active_element_brate = 0; + hStereoDft->ipd_xfade_target = 0.0f; + hStereoDft->ipd_xfade_step = 0.0f; + hStereoDft->ipd_xfade_counter = 0; + hStereoDft->ipd_xfade_prev = 0.0f; #endif return; @@ -1796,6 +1800,7 @@ void stereo_dft_dec_read_BS( *total_brate = 0; #ifdef FIX_ITD_CNG hStereoDft->itd[k = hStereoDft->prm_res[k_offset] - 1 + k_offset] = hStereoDft->itd_xfade_target; + hStereoDft->gipd[hStereoDft->prm_res[k_offset] - 1 + k_offset] = hStereoDft->ipd_xfade_target; #endif return; @@ -2835,6 +2840,49 @@ void stereo_dft_dec_smooth_parameters( *( hStereoDft->side_gain + ( ( k + k_offset ) - 1 ) * STEREO_DFT_BAND_MAX + b ) = *( hStereoDft->side_gain + ( k + k_offset ) * STEREO_DFT_BAND_MAX + b ); } +#ifdef FIX_ITD_CNG + if ( hStereoDft->frame_sid_nodata ) + { + /* set new xfade target if new itd received */ + if ( hStereoDft->gipd[k + k_offset] != hStereoDft->ipd_xfade_target ) + { + if ( ( hStereoDft->gipd[k + k_offset] - hStereoDft->ipd_xfade_prev ) > EVS_PI ) + { + hStereoDft->ipd_xfade_target = hStereoDft->gipd[k + k_offset] - 2 * EVS_PI; + hStereoDft->ipd_xfade_step = ( hStereoDft->ipd_xfade_target - hStereoDft->ipd_xfade_prev ) / ( STEREO_DFT_ITD_CNG_XFADE - hStereoDft->ipd_xfade_counter ); + } + else if ( ( hStereoDft->ipd_xfade_prev - hStereoDft->gipd[k + k_offset] ) > EVS_PI ) + { + hStereoDft->ipd_xfade_target = hStereoDft->gipd[k + k_offset] + 2 * EVS_PI; + hStereoDft->ipd_xfade_step = ( hStereoDft->ipd_xfade_target - hStereoDft->ipd_xfade_prev ) / ( STEREO_DFT_ITD_CNG_XFADE - hStereoDft->ipd_xfade_counter ); + } + else + { + hStereoDft->ipd_xfade_target = hStereoDft->gipd[k + k_offset]; + hStereoDft->ipd_xfade_step = ( hStereoDft->ipd_xfade_target - hStereoDft->ipd_xfade_prev ) / ( STEREO_DFT_ITD_CNG_XFADE - hStereoDft->ipd_xfade_counter ); + } + } + + /* xfade */ + if ( hStereoDft->ipd_xfade_prev != hStereoDft->ipd_xfade_target && hStereoDft->ipd_xfade_counter < STEREO_DFT_ITD_CNG_XFADE && hStereoDft->last_active_element_brate <= 24400 ) + { + hStereoDft->gipd[k + k_offset] = hStereoDft->ipd_xfade_prev + hStereoDft->ipd_xfade_step; + hStereoDft->ipd_xfade_prev = hStereoDft->gipd[k + k_offset]; + hStereoDft->ipd_xfade_counter++; + } + } + else + { + /* First active frame, "reset" everything if long enough active encoding, only triggered if STEREO_DFT_ITD_CNG_XFADE_RESET = -1 */ + if ( active_frame_counter > STEREO_DFT_ITD_CNG_XFADE_RESET ) + { + hStereoDft->ipd_xfade_target = hStereoDft->gipd[k + k_offset]; + hStereoDft->ipd_xfade_prev = hStereoDft->gipd[k + k_offset]; + hStereoDft->ipd_xfade_counter = 0; + } + } +#endif + for ( k2 = 1; k2 < hStereoDft->prm_res[k + k_offset]; k2++ ) { hStereoDft->gipd[( k + k_offset ) - k2] = hStereoDft->gipd[k + k_offset]; @@ -2887,6 +2935,9 @@ void stereo_dft_dec_smooth_parameters( hStereoDft->itd_xfade_counter = 0; hStereoDft->itd_xfade_target = hStereoDft->itd[STEREO_DFT_NBDIV - 1]; hStereoDft->itd_xfade_prev = hStereoDft->itd[STEREO_DFT_NBDIV - 1]; + hStereoDft->ipd_xfade_counter = 0; + hStereoDft->ipd_xfade_target = hStereoDft->gipd[STEREO_DFT_NBDIV - 1]; + hStereoDft->ipd_xfade_prev = hStereoDft->gipd[STEREO_DFT_NBDIV - 1]; } #endif diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index a3ad1248d7..bc2651824e 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -194,6 +194,10 @@ typedef struct stereo_dft_enc_data_struct float Spd_R_smooth[STEREO_DFT_N_32k_ENC / 2]; float sid_gipd; int16_t coh_fade_counter; +#ifdef FIX_ITD_CNG + float prev_sid_gipd; + int16_t prev_sid_no_ipd_flag; +#endif /*IPD*/ float gipd[STEREO_DFT_ENC_DFT_NB]; diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index 6759cbf2f9..9adacddb16 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -62,6 +62,9 @@ static FILE *pF = NULL; #define STEREO_DFT_NRG_PAST_MAX_BAND_LB 4 #define STEREO_DFT_DMX_CROSSOVER ( int16_t )( 132 * ( (float) ( STEREO_DFT_N_NS_ENC ) / STEREO_DFT_N_NS ) + 0.5f ) /* crossover bin between binwise and bandwise DMX */ #define ITD_VAD_E_BAND_N_INIT 200000 +#ifdef FIX_ITD_CNG +#define ITD_SID_PREV_FRAMES 5 +#endif /*------------------------------------------------------------------------- @@ -494,7 +497,10 @@ void stereo_dft_enc_reset( #ifdef FIX_ITD_CNG hStereoDft->currentNumUpdates = 0; hStereoDft->expectedNumUpdates = FIXED_SID_RATE; - hStereoDft->resetFrames = 0; + hStereoDft->resetFrames = 0; + hStereoDft->sid_gipd = 0; + hStereoDft->prev_sid_gipd = 0; + hStereoDft->prev_sid_no_ipd_flag = 1; #endif hStereoDft->coh_fade_counter = 0; @@ -1384,6 +1390,23 @@ void stereo_dft_enc_process( /* DFT stereo parameters */ stereo_dft_enc_compute_prm( hStereoDft, pDFT_L, pDFT_R, k_offset, 1, hCPE->hCoreCoder[0]->sp_aud_decision0, hCPE->hCoreCoder[0]->vad_flag, bin_nrgL, bin_nrgR, dot_prod_nrg_ratio ); +#ifdef FIX_ITD_CNG + if ( vad_flag_dtx[0] == 0 ) + { + if ( hCPE->hStereoCng->cng_counter == 0 && !hCPE->hStereoCng->first_SID_after_TD ) + { + hStereoDft->sid_gipd = hStereoDft->prev_sid_gipd; + hStereoDft->no_ipd_flag = hStereoDft->prev_sid_no_ipd_flag; + } + + if ( hCPE->hStereoCng->cng_counter > ITD_SID_PREV_FRAMES ) + { + hStereoDft->prev_sid_gipd = hStereoDft->sid_gipd; + hStereoDft->prev_sid_no_ipd_flag = hStereoDft->no_ipd_flag; + } + } +#endif + /*----------------------------------------------------------------* * UNCLR classifier (detection of uncorrelated L and R channels) *----------------------------------------------------------------*/ @@ -1440,7 +1463,11 @@ void stereo_dft_enc_process( } } +#ifdef FIX_ITD_CNG + if ( b < hStereoDft->res_cod_band_max && vad_flag_dtx[0] ) +#else if ( b < hStereoDft->res_cod_band_max ) +#endif { #ifdef DEBUGGING assert( hStereoDft->nbands == hStereoDft->nbands_dmx && "Don't use coarser stereo parameter resolution for residual coding bitrates!" ); @@ -2437,7 +2464,6 @@ void stereo_dft_enc_write_BS( #endif ( *nb_bits ) += nb; - /*----------------------------------------------------------------* * Residual prediction *----------------------------------------------------------------*/ diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index 3961865e56..c679613dd6 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -1132,6 +1132,7 @@ void stereo_dft_enc_compute_itd( /* expectedNumUpdates updated after call to dtx() in SID frames */ cng_xcorr_filt = max( min( CORR_FILT, 10.0f * CORR_FILT / ( hStereoDft->expectedNumUpdates + hStereoDft->currentNumUpdates ) ), sfm_L ); hStereoDft->currentNumUpdates++; + hStereoDft->sfm = cng_xcorr_filt; } else /* use sfm for active frames */ { -- GitLab From c3adc16e2eb939747956f2fc5dc11608dd306279 Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Thu, 20 Oct 2022 09:02:54 +0200 Subject: [PATCH 015/620] * fixed memory leaks in ParamMC only bit rate switching * added remapping of parameter buffers for ParamMC if the number of TCs stay the same and the number of parameter bands are different on a bit rate switch --- lib_com/ivas_mc_param_com.c | 91 ++++++- lib_com/options.h | 2 +- lib_dec/ivas_mc_param_dec.c | 340 +++++++++++++++++++++----- lib_dec/ivas_mct_dec.c | 52 ++++ lib_enc/ivas_corecoder_enc_reconfig.c | 9 + lib_enc/ivas_init_enc.c | 1 + lib_enc/ivas_mc_param_enc.c | 14 ++ lib_enc/ivas_mct_enc.c | 51 +++- 8 files changed, 491 insertions(+), 69 deletions(-) diff --git a/lib_com/ivas_mc_param_com.c b/lib_com/ivas_mc_param_com.c index 3690c1219f..bcdfc18c5f 100644 --- a/lib_com/ivas_mc_param_com.c +++ b/lib_com/ivas_mc_param_com.c @@ -329,6 +329,92 @@ void ivas_param_mc_default_icc_map( return; } +#ifdef MC_BITRATE_SWITCHING +int16_t ivas_param_mc_get_num_param_bands( + const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ + ) +{ + int16_t num_parameter_bands; + num_parameter_bands = 0; + + /* parameter bands */ + switch ( mc_ls_setup ) + { + case MC_LS_SETUP_5_1: + switch ( ivas_total_brate ) + { + case IVAS_48k: + num_parameter_bands = 10; + break; + case IVAS_64k: + case IVAS_80k: + num_parameter_bands = 14; + break; + default: + assert( 0 && "PARAM_MC: bitrate for CICP6 not supported!" ); + } + break; + + case MC_LS_SETUP_7_1: + switch ( ivas_total_brate ) + { + case IVAS_48k: + num_parameter_bands = 10; + break; + case IVAS_64k: + case IVAS_80k: + num_parameter_bands = 14; + break; + case IVAS_96k: + num_parameter_bands = 20; + break; + } + break; + case MC_LS_SETUP_5_1_2: + switch ( ivas_total_brate ) + { + case IVAS_48k: + num_parameter_bands = 10; + break; + case IVAS_64k: + case IVAS_80k: + num_parameter_bands = 14; + break; + case IVAS_96k: + num_parameter_bands = 20; + break; + } + break; + case MC_LS_SETUP_5_1_4: + switch ( ivas_total_brate ) + { + case IVAS_96k: + num_parameter_bands = 14; + break; + case IVAS_128k: + num_parameter_bands = 20; + break; + } + break; + case MC_LS_SETUP_7_1_4: + switch ( ivas_total_brate ) + { + case IVAS_128k: + num_parameter_bands = 20; + break; + case IVAS_160k: + num_parameter_bands = 20; + break; + } + break; + default: + assert( 0 && "PARAM_MC: channel configuration not supportet!" ); + } + + return num_parameter_bands; +} +#endif /*------------------------------------------------------------------------- * Local functions @@ -427,6 +513,9 @@ static void ivas_param_mc_set_coding_scheme( assert( 0 && "PARAM_MC: channel configuration not supported!" ); } + #ifdef MC_BITRATE_SWITCHING + hMetadataPMC->num_parameter_bands = ivas_param_mc_get_num_param_bands( mc_ls_setup, ivas_total_brate ); + #else /* parameter bands */ switch ( mc_ls_setup ) { @@ -500,6 +589,6 @@ static void ivas_param_mc_set_coding_scheme( default: assert( 0 && "PARAM_MC: channel configuration not supportet!" ); } - +#endif return; } diff --git a/lib_com/options.h b/lib_com/options.h index a5f837cacb..28fb60c2e9 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -58,7 +58,7 @@ #ifdef DEBUGGING -/*#define MEM_COUNT_DETAILS*/ /* RAM counting tool: print per sub-structure details */ +#define MEM_COUNT_DETAILS /* RAM counting tool: print per sub-structure details */ /*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index da643537e2..4e4bbac44d 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -411,6 +411,65 @@ ivas_error ivas_param_mc_dec_open( } #ifdef MC_BITRATE_SWITCHING + +typedef struct parameter_band_mapping_struct +{ + int16_t n_source_bands[20]; + int16_t source_band_idx[20][4]; + float source_band_factor[20][4]; + +} PARAM_MC_PARAMETER_BAND_MAPPING; + +static void ivas_param_mc_get_param_band_mapping( + const int16_t n_target_bands, + const int16_t *target_band_grouping, + const int16_t n_source_bands, + const int16_t *source_band_grouping, + PARAM_MC_PARAMETER_BAND_MAPPING *parameter_band_mapping ) +{ + int16_t target_band_idx; + int16_t source_band_idx = 0; + int16_t source_band_cnt_total; + + for ( target_band_idx = 0; target_band_idx < n_target_bands; target_band_idx++ ) + { + int16_t upper = target_band_grouping[target_band_idx + 1]; + int16_t lower = target_band_grouping[target_band_idx]; + int16_t source_band_in_target_band_cnt = 0; + float norm_fac = 1.0f; + source_band_cnt_total = 0; + for ( source_band_idx = 0; source_band_idx < n_source_bands; source_band_idx++ ) + { + /* find lowest corresponding source band*/ + if ( source_band_grouping[source_band_idx] <= lower && source_band_grouping[source_band_idx + 1] >= lower ) + { + do + { + int16_t source_bands_in_target_band = min( source_band_grouping[source_band_idx + 1], upper ) - max( source_band_grouping[source_band_idx], lower ); + if ( source_bands_in_target_band ) + { + source_band_cnt_total += source_bands_in_target_band; + parameter_band_mapping->source_band_idx[target_band_idx][source_band_in_target_band_cnt] = source_band_idx; + parameter_band_mapping->source_band_factor[target_band_idx][source_band_in_target_band_cnt++] = (float) source_bands_in_target_band; + } + source_band_idx++; + } while ( source_band_grouping[source_band_idx] <= upper && source_band_idx < n_source_bands ); + break; + } + } + norm_fac = 1.0f / ( (float) source_band_cnt_total ); + for ( source_band_idx = 0; source_band_idx < source_band_in_target_band_cnt; source_band_idx++ ) + { + + parameter_band_mapping->source_band_factor[target_band_idx][source_band_idx] *= norm_fac; + } + parameter_band_mapping->n_source_bands[target_band_idx] = source_band_in_target_band_cnt; + } + + + return; +} + ivas_error ivas_param_mc_dec_reconfig( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) @@ -429,9 +488,22 @@ ivas_error ivas_param_mc_dec_reconfig( AUDIO_CONFIG output_config; int32_t output_Fs, ivas_total_brate; ivas_error error; + int16_t nchan_transport_old; + int16_t num_param_bands_old; + const PARAM_MC_ILD_MAPPING *ild_mapping_conf_old; + const PARAM_MC_ICC_MAPPING *icc_mapping_conf_old; + const float *ild_factors_old; + PARAM_MC_PARAMETER_BAND_MAPPING parameter_band_mapping; + int16_t band_grouping_old[20 + 1]; error = IVAS_ERR_OK; hParamMC = st_ivas->hParamMC; + + + /* save important config information from the previous state */ + nchan_transport_old = st_ivas->nchan_transport; + num_param_bands_old = hParamMC->hMetadataPMC->num_parameter_bands; + /*-----------------------------------------------------------------* * prepare library opening *-----------------------------------------------------------------*/ @@ -490,16 +562,27 @@ ivas_error ivas_param_mc_dec_reconfig( hParamMC->num_freq_bands = (int16_t) ( output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ); hParamMC->max_band_energy_compensation = hParamMC->num_freq_bands; - ivas_param_mc_metadata_open( mc_ls_setup, hTransportSetup.index_lfe[0], ivas_total_brate, hParamMC->hMetadataPMC ); - /* init arrays for quantized parameters */ - hParamMC->icc_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ); - hParamMC->icld_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe * sizeof( float ) ); - set_f( hParamMC->icld_q, PARAM_MC_DEFAULT_MIN_ILD, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe ); - set_f( hParamMC->icc_q, 0.0f, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe ); + /* deallocate the full icc map, gets newly allocated in the metadata open function */ - param_mc_set_num_synth_bands( output_Fs, hParamMC ); + for ( k = 0; k < 2; k++ ) + { +#ifdef DEBUGGING + assert( hParamMC->hMetadataPMC->icc_map_full[k] != NULL ); +#endif + if ( hParamMC->hMetadataPMC->icc_map_full[k] != NULL ) + { + count_free( hParamMC->hMetadataPMC->icc_map_full[k] ); + hParamMC->hMetadataPMC->icc_map_full[k] = NULL; + } + } + ild_mapping_conf_old = hParamMC->hMetadataPMC->ild_mapping_conf; + icc_mapping_conf_old = hParamMC->hMetadataPMC->icc_mapping_conf; + ild_factors_old = hParamMC->hMetadataPMC->ild_factors; + mvs2s( hParamMC->band_grouping, band_grouping_old, hParamMC->hMetadataPMC->num_parameter_bands + 1 ); + + ivas_param_mc_metadata_open( mc_ls_setup, hTransportSetup.index_lfe[0], ivas_total_brate, hParamMC->hMetadataPMC ); /* Band Grouping */ if ( hParamMC->hMetadataPMC->num_parameter_bands == 20 ) @@ -519,6 +602,66 @@ ivas_error ivas_param_mc_dec_reconfig( assert( 0 && "nbands must be 20, 14, or 10!" ); } + ivas_param_mc_get_param_band_mapping( hParamMC->hMetadataPMC->num_parameter_bands, hParamMC->band_grouping, num_param_bands_old, band_grouping_old, ¶meter_band_mapping ); + + if ( nchan_transport_old != nchan_transport || num_param_bands_old != hParamMC->hMetadataPMC->num_parameter_bands ) + { + float *ild_q_old = hParamMC->icld_q; + float *icc_q_old = hParamMC->icc_q; + + + /* init arrays for quantized parameters */ + hParamMC->icc_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ); + hParamMC->icld_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe * sizeof( float ) ); + set_f( hParamMC->icld_q, PARAM_MC_DEFAULT_MIN_ILD, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe ); + set_f( hParamMC->icc_q, 0.0f, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe ); + + /* map old to new parameter banding, only for same number of TCs, needs some more thought for changing number of TCs */ + if ( num_param_bands_old != hParamMC->hMetadataPMC->num_parameter_bands && nchan_transport_old == nchan_transport ) + { + int16_t new_param_band_idx, param_idx, source_param_idx; + int16_t num_param_lfe; + float *p_icc_new = hParamMC->icc_q; + float *p_ild_new = hParamMC->icld_q; + + /* ICC */ + num_param_lfe = hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe; + for ( new_param_band_idx = 0; new_param_band_idx < hParamMC->hMetadataPMC->num_parameter_bands; new_param_band_idx++ ) + { + for ( param_idx = 0; param_idx < num_param_lfe; param_idx++ ) + { + *p_icc_new = 0.0f; + for ( source_param_idx = 0; source_param_idx < parameter_band_mapping.n_source_bands[new_param_band_idx]; source_param_idx++ ) + { + *p_icc_new += icc_q_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx] * num_param_lfe + param_idx] * parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx]; + } + p_icc_new++; + } + } + + /* ILD */ + num_param_lfe = hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe; + for ( new_param_band_idx = 0; new_param_band_idx < hParamMC->hMetadataPMC->num_parameter_bands; new_param_band_idx++ ) + { + for ( param_idx = 0; param_idx < num_param_lfe; param_idx++ ) + { + *p_ild_new = 0.0f; + for ( source_param_idx = 0; source_param_idx < parameter_band_mapping.n_source_bands[new_param_band_idx]; source_param_idx++ ) + { + *p_ild_new += powf( 10.0f, ild_q_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx] * num_param_lfe + param_idx] / 10.0f ) * parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx]; + } + *p_ild_new = 10.0f * log10f( *p_ild_new ); + p_ild_new++; + } + } + } + count_free( ild_q_old ); + count_free( icc_q_old ); + } + + param_mc_set_num_synth_bands( output_Fs, hParamMC ); + + /* set max parameter band for abs cov */ k = 0; while ( hParamMC->band_grouping[k] <= PARAM_MC_MAX_BAND_ABS_COV_DEC ) @@ -533,41 +676,41 @@ ivas_error ivas_param_mc_dec_reconfig( /* prototype signal computation */ - if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_CLDFB || hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + if ( ( nchan_transport_old != nchan_transport ) && hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { + + if ( st_ivas->hLsSetUpConversion != NULL ) + { + ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); + } + if ( ( error = ivas_ls_setup_conversion_open( st_ivas ) ) != IVAS_ERR_OK ) { return error; } /* convert the ls conv dmx matrix into column order matrix format (nchan_out_cldfb x nchan_out) */ - if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + count_free( hParamMC->ls_conv_dmx_matrix ); + hParamMC->ls_conv_dmx_matrix = (float *) count_malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); + for ( k = 0; k < nchan_out_transport; k++ ) { - hParamMC->ls_conv_dmx_matrix = (float *) count_malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); - for ( k = 0; k < nchan_out_transport; k++ ) - { - mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); - } - /* convert ParamMC parameter bands to SFB */ - if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) - { - st_ivas->hLsSetUpConversion->sfbCnt = hParamMC->num_param_bands_synth; - for ( k = 0; k <= hParamMC->num_param_bands_synth; k++ ) - { - st_ivas->hLsSetUpConversion->sfbOffset[k] = PARAM_MC_BAND_TO_MDCT_BAND_RATIO * hParamMC->band_grouping[k]; - } - } - else - { - /* close the ls conversion handle immediately, it was only needed to get the DMX matrix in case of DMX in the covariance domain */ - ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); - } + mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); } - } + /* convert ParamMC parameter bands to SFB */ - hParamMC->proto_matrix_int = (float *) count_malloc( nchan_out_transport * nchan_transport * sizeof( float ) ); - mvr2r( ivas_param_mc_conf[config_index].dmx_fac, hParamMC->proto_matrix_int, nchan_transport * nchan_out_transport ); + st_ivas->hLsSetUpConversion->sfbCnt = hParamMC->num_param_bands_synth; + for ( k = 0; k <= hParamMC->num_param_bands_synth; k++ ) + { + st_ivas->hLsSetUpConversion->sfbOffset[k] = PARAM_MC_BAND_TO_MDCT_BAND_RATIO * hParamMC->band_grouping[k]; + } + } + if ( nchan_transport_old != nchan_transport ) + { + count_free( hParamMC->proto_matrix_int ); + hParamMC->proto_matrix_int = (float *) count_malloc( nchan_out_transport * nchan_transport * sizeof( float ) ); + mvr2r( ivas_param_mc_conf[config_index].dmx_fac, hParamMC->proto_matrix_int, nchan_transport * nchan_out_transport ); + } if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { matrix_product( hParamMC->ls_conv_dmx_matrix, nchan_out_cov, nchan_out_transport, 0, @@ -598,17 +741,40 @@ ivas_error ivas_param_mc_dec_reconfig( mvr2r( ivas_param_mc_conf[config_index].dmx_fac, proto_matrix, nchan_out_transport * nchan_transport ); } - if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) - { - hParamMC->num_outputs_diff = 0; - hParamMC->diff_proto_info = NULL; - hParamMC->h_output_synthesis_params.use_onset_filters = 0; - hParamMC->max_band_decorr = 0; - hParamMC->h_freq_domain_decorr_ap_params = NULL; - hParamMC->h_freq_domain_decorr_ap_state = NULL; - } - else + if ( nchan_transport_old != nchan_transport && hParamMC->synthesis_conf != PARAM_MC_SYNTH_MONO_STEREO ) { + int16_t i; + int16_t len; + /* close decorrelator */ + ivas_dirac_dec_decorr_close( &hParamMC->h_freq_domain_decorr_ap_params, &hParamMC->h_freq_domain_decorr_ap_state ); + /* deallocate diffuse prototype info */ + if ( hParamMC->diff_proto_info ) + { + for ( i = 0; i < hParamMC->diff_proto_info->num_protos_diff; i++ ) + { + count_free( hParamMC->diff_proto_info->source_chan_idx[i] ); + hParamMC->diff_proto_info->source_chan_idx[i] = NULL; + + count_free( hParamMC->diff_proto_info->proto_fac[i] ); + hParamMC->diff_proto_info->proto_fac[i] = NULL; + } + + count_free( hParamMC->diff_proto_info->source_chan_idx ); + hParamMC->diff_proto_info->source_chan_idx = NULL; + + count_free( hParamMC->diff_proto_info->proto_fac ); + hParamMC->diff_proto_info->proto_fac = NULL; + + count_free( hParamMC->diff_proto_info->proto_index_diff ); + hParamMC->diff_proto_info->proto_index_diff = NULL; + + count_free( hParamMC->diff_proto_info->num_source_chan_diff ); + hParamMC->diff_proto_info->num_source_chan_diff = NULL; + + count_free( hParamMC->diff_proto_info ); + hParamMC->diff_proto_info = NULL; + } + hParamMC->num_outputs_diff = nchan_out_cov; hParamMC->diff_proto_info = (PARAM_MC_DIFF_PROTO_INFO *) count_malloc( sizeof( PARAM_MC_DIFF_PROTO_INFO ) ); @@ -632,6 +798,16 @@ ivas_error ivas_param_mc_dec_reconfig( hParamMC->h_output_synthesis_params.use_onset_filters = 0; hParamMC->max_band_decorr = hParamMC->h_freq_domain_decorr_ap_params->max_band_decorr; + /* init decorrelation */ + if ( hParamMC->max_band_decorr > 0 ) + { + + len = hParamMC->diff_proto_info->num_protos_diff * hParamMC->h_freq_domain_decorr_ap_params->h_onset_detection_power_params.max_band_decorr; + + /* init onsetDetectionPower */ + set_zero( hParamMC->h_freq_domain_decorr_ap_state->h_onset_detection_power_state.onset_detector_1, len ); + set_zero( hParamMC->h_freq_domain_decorr_ap_state->h_onset_detection_power_state.onset_detector_2, len ); + } } hParamMC->max_band_energy_compensation = hParamMC->band_grouping[hParamMC->hMetadataPMC->nbands_coded]; max_param_band_residual = 0; @@ -646,43 +822,75 @@ ivas_error ivas_param_mc_dec_reconfig( } } - /* output synthesis */ - ivas_dirac_dec_output_synthesis_cov_open( &( hParamMC->h_output_synthesis_params ), - &( hParamMC->h_output_synthesis_cov_state ), - hParamMC->max_band_decorr, - PARAM_MC_MAX_NSLOTS, - hParamMC->hMetadataPMC->num_parameter_bands, - max_param_band_residual, - nchan_transport, - nchan_out_cov, - proto_matrix ); + if ( nchan_transport_old != nchan_transport || num_param_bands_old != hParamMC->hMetadataPMC->num_parameter_bands ) + { + DIRAC_OUTPUT_SYNTHESIS_COV_STATE cov_state_old = hParamMC->h_output_synthesis_cov_state; + DIRAC_OUTPUT_SYNTHESIS_PARAMS params_old = hParamMC->h_output_synthesis_params; + float tmp_buf[MAX_CICP_CHANNELS * MAX_CICP_CHANNELS]; + set_zero( tmp_buf, MAX_CICP_CHANNELS * MAX_CICP_CHANNELS ); + /* output synthesis */ + ivas_dirac_dec_output_synthesis_cov_open( &( hParamMC->h_output_synthesis_params ), + &( hParamMC->h_output_synthesis_cov_state ), + hParamMC->max_band_decorr, + PARAM_MC_MAX_NSLOTS, + hParamMC->hMetadataPMC->num_parameter_bands, + max_param_band_residual, + nchan_transport, + nchan_out_cov, + proto_matrix ); - /* Head rotation */ - if ( ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) && st_ivas->hDecoderConfig->Opt_Headrotation ) - { - hParamMC->hoa_encoder = (float *) count_malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( float ) ); - compute_hoa_encoder_mtx( st_ivas->hTransSetup.ls_azimuth, st_ivas->hTransSetup.ls_elevation, hParamMC->hoa_encoder, st_ivas->hTransSetup.nchan_out_woLFE, HEAD_ROTATION_HOA_ORDER ); + ivas_dirac_dec_output_synthesis_cov_init( &( hParamMC->h_output_synthesis_cov_state ), nchan_transport, nchan_out_cov, hParamMC->hMetadataPMC->num_parameter_bands, max_param_band_residual ); + + + /* map old to new parameter banding, only for same number of TCs, needs some more thought for changing number of TCs */ + if ( num_param_bands_old != hParamMC->hMetadataPMC->num_parameter_bands && nchan_transport_old == nchan_transport ) + { + int16_t new_param_band_idx, source_param_idx; + + + for ( new_param_band_idx = 0; new_param_band_idx < hParamMC->hMetadataPMC->num_parameter_bands; new_param_band_idx++ ) + { + for ( source_param_idx = 0; source_param_idx < parameter_band_mapping.n_source_bands[new_param_band_idx]; source_param_idx++ ) + { + /* Cx */ + v_multc( cov_state_old.cx_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx]], parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx], tmp_buf, nchan_transport_old * nchan_transport_old ); + v_add( tmp_buf, hParamMC->h_output_synthesis_cov_state.cx_old[new_param_band_idx], hParamMC->h_output_synthesis_cov_state.cx_old[new_param_band_idx], nchan_transport_old * nchan_transport_old ); + /* Cy */ + v_multc( cov_state_old.cy_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx]], parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx], tmp_buf, nchan_out_cov * nchan_out_cov ); + v_add( tmp_buf, hParamMC->h_output_synthesis_cov_state.cy_old[new_param_band_idx], hParamMC->h_output_synthesis_cov_state.cy_old[new_param_band_idx], nchan_out_cov * nchan_out_cov ); + /* mixing matrix*/ + v_multc( cov_state_old.mixing_matrix_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx]], parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx], tmp_buf, nchan_transport_old * nchan_out_cov ); + v_add( tmp_buf, hParamMC->h_output_synthesis_cov_state.mixing_matrix_old[new_param_band_idx], hParamMC->h_output_synthesis_cov_state.mixing_matrix_old[new_param_band_idx], nchan_transport_old * nchan_out_cov ); + + } + } + for ( new_param_band_idx = 0; new_param_band_idx < max_param_band_residual; new_param_band_idx++ ) + { + for ( source_param_idx = 0; source_param_idx < parameter_band_mapping.n_source_bands[new_param_band_idx]; source_param_idx++ ) + { + /* residual mixing matrix*/ + v_multc( cov_state_old.mixing_matrix_res_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx]], parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx], tmp_buf, nchan_out_cov * nchan_out_cov ); + v_add( tmp_buf, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_old[new_param_band_idx], hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_old[new_param_band_idx], nchan_out_cov * nchan_out_cov ); + } + } + + } + ivas_dirac_dec_output_synthesis_cov_close( ¶ms_old, &cov_state_old ); } + /*-----------------------------------------------------------------* * memory allocation *-----------------------------------------------------------------*/ - if ( hParamMC->max_band_decorr > 0 ) + if ( hParamMC->max_band_decorr > 0 && nchan_transport_old != nchan_transport ) { + count_free( hParamMC->proto_frame_f ); hParamMC->proto_frame_f = (float *) count_malloc( 2 * hParamMC->diff_proto_info->num_protos_diff * hParamMC->num_freq_bands * sizeof( float ) ); - hParamMC->proto_frame_dec_f = (float *) count_malloc( 2 * nchan_out_cov * hParamMC->num_freq_bands * sizeof( float ) ); - } - else - { - hParamMC->proto_frame_f = NULL; - hParamMC->proto_frame_dec_f = NULL; + set_zero( hParamMC->proto_frame_f, 2 * hParamMC->diff_proto_info->num_protos_diff * hParamMC->num_freq_bands ); } - ivas_param_mc_dec_init( hParamMC, nchan_transport, nchan_out_cov ); - - return error; } #endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 5095df6aed..908bc6f9bc 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -642,11 +642,13 @@ ivas_error ivas_mc_dec_reconfig( ) { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; + int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; ivas_error error; error = IVAS_ERR_OK; nchan_transport_old = st_ivas->nchan_transport; + ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old ); nSCE_old = st_ivas->nSCE; nCPE_old = st_ivas->nCPE; sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; @@ -780,6 +782,56 @@ ivas_error ivas_mc_dec_reconfig( /* re-configure hp20 memories */ ivas_hp20_dec_reconfig( st_ivas, nchan_transport_old ); + /*-----------------------------------------------------------------* + * CLDFB instances + *-----------------------------------------------------------------*/ + + ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); + + /* Analysis*/ + if ( numCldfbAnalyses_old > numCldfbAnalyses ) + { + /* delete superfluous CLDFB synthesis instances */ + for ( i = numCldfbAnalyses; i < numCldfbAnalyses_old; i++ ) + { + deleteCldfb( &( st_ivas->cldfbAnaDec[i] ) ); + st_ivas->cldfbAnaDec[i] = NULL; + } + } + else if ( numCldfbAnalyses_old < numCldfbAnalyses ) + { + /* create additional CLDFB synthesis instances */ + for ( i = numCldfbAnalyses_old; i < numCldfbAnalyses; i++ ) + { + if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[i] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + + /* Synthesis */ + if ( numCldfbSyntheses_old > numCldfbSyntheses ) + { + /* delete superfluous CLDFB synthesis instances */ + for ( i = numCldfbSyntheses; i < numCldfbSyntheses_old; i++ ) + { + deleteCldfb( &( st_ivas->cldfbSynDec[i] ) ); + st_ivas->cldfbSynDec[i] = NULL; + } + } + else if ( numCldfbSyntheses_old < numCldfbSyntheses ) + { + /* create additional CLDFB synthesis instances */ + for ( i = numCldfbSyntheses_old; i < numCldfbSyntheses; i++ ) + { + if ( ( error = openCldfb( &( st_ivas->cldfbSynDec[i] ), CLDFB_SYNTHESIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + /* Allocat the LFE handle that is coded seperately after the allocation of the core coders*/ if ( st_ivas->mc_mode == MC_MODE_MCT ) { diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index f4b302eefd..f6687abe21 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -328,6 +328,15 @@ ivas_error ivas_corecoder_enc_reconfig( return error; } } +#ifdef MC_BITRATE_SWITCHING + else if (st_ivas->nCPE > 1 && st_ivas->hMCT == NULL && st_ivas->hEncoderConfig->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC) + { + if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } +#endif /* metadata handling for CPEs */ if ( st_ivas->nCPE > 0 ) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index e4db2ce2a1..0521a9b85d 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -570,6 +570,7 @@ ivas_error ivas_init_encoder( return error; } + /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 46083faac7..8de7f442f5 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -275,6 +275,20 @@ ivas_error ivas_param_mc_reconfig( hParamMC->dmx_factors = ivas_param_mc_conf[config_index].dmx_fac; + /* deallocate the full icc map, gets newly allocated in the metadata open function */ + + for ( i = 0; i < 2; i++ ) + { +#ifdef DEBUGGING + assert( hParamMC->hMetadataPMC.icc_map_full[i] != NULL ); +#endif + if (hParamMC->hMetadataPMC.icc_map_full[i] != NULL) + { + count_free( hParamMC->hMetadataPMC.icc_map_full[i] ); + hParamMC->hMetadataPMC.icc_map_full[i] = NULL; + } + } + /* open/init parameter coding */ ivas_param_mc_metadata_open( mc_input_setup, hParamMC->lfe_index, ivas_total_brate, &hParamMC->hMetadataPMC ); diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 71d8f401fb..665b1d436a 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -347,6 +347,13 @@ ivas_error mct_enc_reconfigure( hMCT->nchan_out_woLFE = st_ivas->hEncoderConfig->nchan_inp - 1; /* LFE channel is coded separately */ hMCT->num_lfe = TRUE; } +#ifdef MC_BITRATE_SWITCHING + if ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) + { + hMCT->nchan_out_woLFE = ivas_param_mc_getNumTransportChannels( ivas_total_brate, st_ivas->hEncoderConfig->mc_input_setup ); + hMCT->num_lfe = FALSE; + } +#endif #ifdef HARMONIZE_SBA_NCHAN_TRANSPORT else if ( ivas_format == SBA_FORMAT && st_ivas->hDirAC ) // VE: this condition to be reviewed together with the following one { @@ -697,7 +704,7 @@ ivas_error ivas_mc_enc_reconfig( ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); st_ivas->hParamMC = NULL; } - if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL ) + if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL) { ivas_mct_enc_close( st_ivas->hMCT ); st_ivas->hMCT = NULL; @@ -714,6 +721,48 @@ ivas_error ivas_mc_enc_reconfig( } /* re-configure core coder*/ + /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 + and might have IGF and TranDet static memory not allocated, set correct mct_chan_mode and init missing static mem + do it here since it is _very_ MC specific */ + if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > 2 ) + { + Encoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + if ( st_ivas->nchan_transport == 3 ) + { + st->mct_chan_mode = MCT_CHAN_MODE_IGNORE; + } + else + { + st->mct_chan_mode = MCT_CHAN_MODE_REGULAR; + } + if ( st->hTranDet == NULL ) + { + + if ( ( st->hTranDet = (TRAN_DET_HANDLE) count_malloc( sizeof( TRAN_DET_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Transient Detection\n" ) ); + } + InitTransientDetection( (int16_t) ( st->input_Fs / FRAMES_PER_SEC ), NS2SA( st->input_Fs, DELAY_FIR_RESAMPL_NS ), st->hTranDet, 0 ); + } + if ( st->hIGFEnc == NULL ) + { + if ( ( st->hIGFEnc = (IGF_ENC_INSTANCE_HANDLE) count_malloc( sizeof( IGF_ENC_INSTANCE ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hIGFEnc\n" ) ); + } + } + st->igf = getIgfPresent( st->element_mode, st->total_brate, st->bwidth, st->rf_mode, st->mct_chan_mode ); + } + else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) + { +#ifdef DEBUGGING + assert( st_ivas->hCPE[1] != NULL ); +#endif + Encoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + st->mct_chan_mode = MCT_CHAN_MODE_LFE; + } + + if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ) ) != IVAS_ERR_OK ) { return error; -- GitLab From 5edfd1b7acfa938fea57218d066be704a16b503a Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Fri, 21 Oct 2022 13:01:50 +0200 Subject: [PATCH 016/620] * fixed most ParamMC<->MCT bit rate switch transitions --- lib_com/bitstream.c | 2 ++ lib_com/ivas_stereo_mdct_bands_com.c | 3 ++ lib_dec/init_dec.c | 5 ++++ lib_dec/ivas_dec.c | 4 +++ lib_dec/ivas_init_dec.c | 6 +++- lib_dec/ivas_mc_param_dec.c | 31 ++++++++++++-------- lib_dec/ivas_mct_dec.c | 41 ++++++++++++++++++++++++++- lib_enc/ivas_corecoder_enc_reconfig.c | 9 ------ lib_enc/ivas_cpe_enc.c | 10 ++++++- lib_enc/ivas_init_enc.c | 21 ++++++++++++++ lib_enc/ivas_mct_enc.c | 40 ++++++++++++++++++++------ 11 files changed, 140 insertions(+), 32 deletions(-) diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 9ee771fb6b..0d72149ab5 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -879,10 +879,12 @@ static ivas_error write_indices_element( for ( n = 0; n < n_channels; n++ ) { +#ifndef MC_BITRATE_SWITCHING if ( ( st_ivas->hEncoderConfig->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCT ) && ( element_id * CPE_CHANNELS + n == LFE_CHANNEL ) ) { continue; } +#endif reset_indices_enc( sts[n]->hBstr, MAX_NUM_INDICES ); } } diff --git a/lib_com/ivas_stereo_mdct_bands_com.c b/lib_com/ivas_stereo_mdct_bands_com.c index 16149941e4..445eec09f9 100644 --- a/lib_com/ivas_stereo_mdct_bands_com.c +++ b/lib_com/ivas_stereo_mdct_bands_com.c @@ -225,6 +225,9 @@ void stereo_mdct_init_igf_start_band( { int16_t i, bitRateIndex, igfStartLine; const int16_t *swb_offset; +#ifdef DEBUGGING + stbParams->sfbIgfStart = 0; +#endif bitRateIndex = IGF_MapBitRateToIndex( element_brate, bwidth, IVAS_CPE_MDCT, 0 ); swb_offset = &swb_offset_LB_new[bitRateIndex][1]; diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 2e31017eaa..92a3ae55f1 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -616,17 +616,22 @@ ivas_error init_decoder( } /* TCX config. data structure */ +#ifndef MC_BITRATE_SWITCHING + /* for correct bit rate switching in MC we at least need the TcxCfg */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { +#endif if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); } +#ifndef MC_BITRATE_SWITCHING } else { st->hTcxCfg = NULL; } +#endif /* Tonal MDCT concealment data structure */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 7d54047014..1423cbb1f5 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -358,7 +358,11 @@ ivas_error ivas_dec( /* LFE channel decoder */ if ( st_ivas->mc_mode == MC_MODE_MCT ) { +#ifndef MC_BITRATE_SWITCHING + /* bay: this really killed the MC bitrate switching and took me one day to find it, at least a comment here why the messing with this pointers + happens would have been nice */ st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg = st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg; +#endif ivas_lfe_dec( st_ivas->hLFE, st, output_frame, st_ivas->bfi, output_lfe_ch ); } diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 5cc41a429a..e183eda8e0 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1439,7 +1439,11 @@ void destroy_core_dec( hCoreCoder->hTcxDec = NULL; } - if ( hCoreCoder->hTcxCfg != NULL && hCoreCoder->mct_chan_mode != MCT_CHAN_MODE_LFE ) + if ( hCoreCoder->hTcxCfg != NULL +#ifndef MC_BITRATE_SWITCHING + && hCoreCoder->mct_chan_mode != MCT_CHAN_MODE_LFE +#endif + ) { count_free( hCoreCoder->hTcxCfg ); hCoreCoder->hTcxCfg = NULL; diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 4e4bbac44d..6fbc52ff7e 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -56,6 +56,20 @@ #define PARAM_MC_LOCAL_SZ_LFE_MAP 5 +#ifdef MC_BITRATE_SWITCHING +/*-----------------------------------------------------------------------* + * Local typedefs + *-----------------------------------------------------------------------*/ + +typedef struct parameter_band_mapping_struct +{ + int16_t n_source_bands[20]; + int16_t source_band_idx[20][4]; + float source_band_factor[20][4]; + +} PARAM_MC_PARAMETER_BAND_MAPPING; +#endif + /*-----------------------------------------------------------------------* * Local function prototypes *-----------------------------------------------------------------------*/ @@ -87,6 +101,10 @@ static void param_mc_get_diff_proto_info( const float *proto_mtx, const uint16_t static void ivas_param_mc_mc2sba_cldfb( IVAS_OUTPUT_SETUP hTransSetup, float *hoa_encoder, const int16_t slot_idx, float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], const int16_t nBands, const float gain_lfe ); +#ifdef MC_BITRATE_SWITCHING +static void ivas_param_mc_get_param_band_mapping( const int16_t n_target_bands, const int16_t *target_band_grouping, const int16_t n_source_bands, const int16_t *source_band_grouping, PARAM_MC_PARAMETER_BAND_MAPPING *parameter_band_mapping ); +#endif + void ivas_param_mc_bs_decode_parameter_values( uint16_t bit_buffer[], int16_t *bit_pos, const int16_t max_bits, int16_t *BER_detect, HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC, HANDLE_PARAM_MC_PARAMETER_CODING_INFO hParamCodingInfo, const int16_t map_size_wo_lfe, const int16_t map_size, const int16_t num_lfe_bands, const int16_t band_step, const int16_t num_param_bands, float *value_buffer ); /*------------------------------------------------------------------------- @@ -411,15 +429,6 @@ ivas_error ivas_param_mc_dec_open( } #ifdef MC_BITRATE_SWITCHING - -typedef struct parameter_band_mapping_struct -{ - int16_t n_source_bands[20]; - int16_t source_band_idx[20][4]; - float source_band_factor[20][4]; - -} PARAM_MC_PARAMETER_BAND_MAPPING; - static void ivas_param_mc_get_param_band_mapping( const int16_t n_target_bands, const int16_t *target_band_grouping, @@ -862,19 +871,17 @@ ivas_error ivas_param_mc_dec_reconfig( /* mixing matrix*/ v_multc( cov_state_old.mixing_matrix_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx]], parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx], tmp_buf, nchan_transport_old * nchan_out_cov ); v_add( tmp_buf, hParamMC->h_output_synthesis_cov_state.mixing_matrix_old[new_param_band_idx], hParamMC->h_output_synthesis_cov_state.mixing_matrix_old[new_param_band_idx], nchan_transport_old * nchan_out_cov ); - } } for ( new_param_band_idx = 0; new_param_band_idx < max_param_band_residual; new_param_band_idx++ ) { for ( source_param_idx = 0; source_param_idx < parameter_band_mapping.n_source_bands[new_param_band_idx]; source_param_idx++ ) { - /* residual mixing matrix*/ + /* residual mixing matrix*/ v_multc( cov_state_old.mixing_matrix_res_old[parameter_band_mapping.source_band_idx[new_param_band_idx][source_param_idx]], parameter_band_mapping.source_band_factor[new_param_band_idx][source_param_idx], tmp_buf, nchan_out_cov * nchan_out_cov ); v_add( tmp_buf, hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_old[new_param_band_idx], hParamMC->h_output_synthesis_cov_state.mixing_matrix_res_old[new_param_band_idx], nchan_out_cov * nchan_out_cov ); } } - } ivas_dirac_dec_output_synthesis_cov_close( ¶ms_old, &cov_state_old ); } diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 908bc6f9bc..73f262f798 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -653,6 +653,8 @@ ivas_error ivas_mc_dec_reconfig( nCPE_old = st_ivas->nCPE; sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; + /* renderer might have changed, reselect */ + ivas_renderer_select( st_ivas ); if ( st_ivas->mc_mode == MC_MODE_MCT ) { st_ivas->nSCE = 0; @@ -712,7 +714,7 @@ ivas_error ivas_mc_dec_reconfig( if ( last_mc_mode == MC_MODE_MCT ) { - if ( st_ivas->hMCT != NULL ) + if ( st_ivas->hMCT != NULL && st_ivas->nchan_transport <= CPE_CHANNELS ) { ivas_mct_dec_close( &st_ivas->hMCT ); st_ivas->hMCT = NULL; @@ -773,7 +775,44 @@ ivas_error ivas_mc_dec_reconfig( st_ivas->element_mode_init = IVAS_CPE_MDCT; } + /* re-configure core coder*/ + /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 + and might have IGF static memory not allocated and the bit stream index list not set, + set correct mct_chan_mode and init missing static mem + do it here since it is _very_ MC specific */ + if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > CPE_CHANNELS ) + { + Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + if ( st_ivas->nchan_transport == 3 ) + { + st->mct_chan_mode = MCT_CHAN_MODE_IGNORE; + } + else + { + st->mct_chan_mode = MCT_CHAN_MODE_REGULAR; + } + + if ( st->hIGFDec == NULL ) + { + if ( ( st->hIGFDec = (IGF_DEC_INSTANCE_HANDLE) count_malloc( sizeof( IGFDEC_INSTANCE ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for IGF\n" ) ); + } + + st->igf = 0; + init_igf_dec( st->hIGFDec ); + } + } + else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) + { +#ifdef DEBUGGING + assert( st_ivas->hCPE[1] != NULL ); +#endif + Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + st->mct_chan_mode = MCT_CHAN_MODE_LFE; + } + if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index f6687abe21..f4b302eefd 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -328,15 +328,6 @@ ivas_error ivas_corecoder_enc_reconfig( return error; } } -#ifdef MC_BITRATE_SWITCHING - else if (st_ivas->nCPE > 1 && st_ivas->hMCT == NULL && st_ivas->hEncoderConfig->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC) - { - if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif /* metadata handling for CPEs */ if ( st_ivas->nCPE > 0 ) diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 5e5d4c9f10..15e3dcd6ba 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -816,7 +816,15 @@ ivas_error create_cpe_enc( * Metadata: allocate and initialize *-----------------------------------------------------------------*/ + +#ifdef MC_BITRATE_SWITCHING + /* we need the meta data handle also if we init as MC_FORMAT/MCT since it might be needed + at a bit rate switch to ParamMC or McMASA and the metadata index list is only really reachable + in the ivas_init_encoder() function and has to be connected to the MD handle there */ + if ( cpe_id == ( st_ivas->nCPE - 1 )) +#else if ( !( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) && ( cpe_id == ( st_ivas->nCPE - 1 ) ) ) +#endif { if ( ( hCPE->hMetaData = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) { @@ -880,7 +888,7 @@ ivas_error create_cpe_enc( #ifdef DEBUGGING if ( hEncoderConfig->Opt_DTX_ON && ( hCPE->element_mode == IVAS_CPE_TD || hEncoderConfig->stereo_mode_cmdl == 1 ) && !( ivas_format == MASA_FORMAT && element_mode_init == IVAS_CPE_MDCT ) ) #else - if ( hEncoderConfig->Opt_DTX_ON && element_mode_init != IVAS_CPE_MDCT ) +if ( hEncoderConfig->Opt_DTX_ON && element_mode_init != IVAS_CPE_MDCT ) #endif { for ( n = 0; n < CPE_CHANNELS; n++ ) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 0521a9b85d..4768eb3b24 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -520,10 +520,14 @@ ivas_error ivas_init_encoder( st_ivas->mc_mode = ivas_mc_mode_select( hEncoderConfig->mc_input_setup, ivas_total_brate ); hEncoderConfig->nchan_inp = ivas_mc_ls_setup_get_num_channels( hEncoderConfig->mc_input_setup ); +#ifdef MC_BITRATE_SWITCHING + st_ivas->hLFE = NULL; +#else if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, input_Fs ) ) != IVAS_ERR_OK ) { return error; } +#endif if ( st_ivas->mc_mode == MC_MODE_MCT ) { @@ -539,14 +543,24 @@ ivas_error ivas_init_encoder( for ( n = 0; n < CPE_CHANNELS; n++ ) { + /* we need the correct bitstream also for the LFE channel since it might become a proper coded channel when + switching to ParamMC and ind_list is only visible here, can't be done later */ +#ifndef MC_BITRATE_SWITCHING if ( cpe_id * CPE_CHANNELS + n == LFE_CHANNEL ) { st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = 0; continue; } +#endif st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); } + /* Metadata only initialized for the last CPE index*/ + if ( cpe_id == st_ivas->nCPE - 1 ) + { + st_ivas->hCPE[cpe_id]->hMetaData->ind_list = ind_list_metadata[st_ivas->nSCE]; + reset_indices_enc( st_ivas->hCPE[cpe_id]->hMetaData, MAX_BITS_METADATA ); + } } if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) @@ -554,6 +568,13 @@ ivas_error ivas_init_encoder( return error; } +#ifdef MC_BITRATE_SWITCHING + if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, input_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } +#endif + st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( st_ivas->hEncoderConfig->mc_input_setup ); } else if ( st_ivas->mc_mode == MC_MODE_PARAMMC ) diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 665b1d436a..9ffa451ab8 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -127,7 +127,11 @@ ivas_error ivas_mct_enc( /* joint MCT encoding */ ivas_mct_core_enc( ivas_format, hMCT, st_ivas->hCPE, hMCT->nchan_out_woLFE + hMCT->num_lfe, ivas_total_brate, switch_bw, +#ifdef MC_BITRATE_SWITCHING + ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) ? (int16_t) st_ivas->hLFE->lfe_bits : 0 +#else ivas_format == MC_FORMAT ? (int16_t) st_ivas->hLFE->lfe_bits : 0 +#endif #ifdef FIX_I1_113 , st_ivas->hEncoderConfig->sba_order @@ -348,7 +352,7 @@ ivas_error mct_enc_reconfigure( hMCT->num_lfe = TRUE; } #ifdef MC_BITRATE_SWITCHING - if ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) + else if ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) { hMCT->nchan_out_woLFE = ivas_param_mc_getNumTransportChannels( ivas_total_brate, st_ivas->hEncoderConfig->mc_input_setup ); hMCT->num_lfe = FALSE; @@ -611,7 +615,11 @@ ivas_error ivas_mc_enc_reconfig( if ( last_mc_mode != MC_MODE_MCT ) { - + /* create LFE handle */ + if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, st_ivas->hEncoderConfig->input_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } /*De-allocate handles for other MC modes*/ if ( st_ivas->hParamMC != NULL ) { @@ -671,11 +679,17 @@ ivas_error ivas_mc_enc_reconfig( } /* De-allocate MCT handle if last mode was MCT */ - if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL ) + if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL && st_ivas->nchan_transport <= CPE_CHANNELS ) { ivas_mct_enc_close( st_ivas->hMCT ); st_ivas->hMCT = NULL; } + if ( last_mc_mode == MC_MODE_MCT && st_ivas->hLFE != NULL ) + { + /* LFE handle */ + ivas_lfe_enc_close( st_ivas->hLFE ); + st_ivas->hLFE = NULL; + } } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { @@ -704,10 +718,19 @@ ivas_error ivas_mc_enc_reconfig( ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); st_ivas->hParamMC = NULL; } - if ( last_mc_mode == MC_MODE_MCT && st_ivas->hMCT != NULL) + if ( last_mc_mode == MC_MODE_MCT ) { - ivas_mct_enc_close( st_ivas->hMCT ); - st_ivas->hMCT = NULL; + /* LFE handle */ + if ( st_ivas->hLFE != NULL ) + { + ivas_lfe_enc_close( st_ivas->hLFE ); + st_ivas->hLFE = NULL; + } + if ( st_ivas->hMCT != NULL ) + { + ivas_mct_enc_close( st_ivas->hMCT ); + st_ivas->hMCT = NULL; + } } } @@ -722,9 +745,10 @@ ivas_error ivas_mc_enc_reconfig( /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 - and might have IGF and TranDet static memory not allocated, set correct mct_chan_mode and init missing static mem + and might have IGF and TranDet static memory not allocated and the bit stream index list not set, + set correct mct_chan_mode and init missing static mem do it here since it is _very_ MC specific */ - if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > 2 ) + if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > CPE_CHANNELS ) { Encoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; if ( st_ivas->nchan_transport == 3 ) -- GitLab From 66b1c883738079db474f840c9b27f65c15ef6467 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Mon, 24 Oct 2022 10:57:18 +0200 Subject: [PATCH 017/620] add a new generic function for multiprocessing and cleanup audio3dtools.py --- scripts/pyaudio3dtools/audio3dtools.py | 218 ++++++++++++------------- scripts/pyaudio3dtools/audioarray.py | 17 +- 2 files changed, 125 insertions(+), 110 deletions(-) diff --git a/scripts/pyaudio3dtools/audio3dtools.py b/scripts/pyaudio3dtools/audio3dtools.py index 99ae71351b..d459615eae 100644 --- a/scripts/pyaudio3dtools/audio3dtools.py +++ b/scripts/pyaudio3dtools/audio3dtools.py @@ -46,7 +46,114 @@ logger = main_logger.getChild(__name__) logger.setLevel(logging.DEBUG) -def main(): +def main(args): + # Set up logging handlers + console_handler = logging.StreamHandler() + console_handler.setLevel(logging.INFO) + console_handler.setFormatter(logging.Formatter("%(message)s")) + + # Configure loggers + LOGGER_FORMAT = "%(asctime)s | %(name)-12s | %(levelname)-8s | %(message)s" + LOGGER_DATEFMT = "%m-%d %H:%M" + logging.basicConfig( + format=LOGGER_FORMAT, + datefmt=LOGGER_DATEFMT, + level=logging.INFO, + handlers=[console_handler], + ) + logger.info("Audio3DTools") + + if args.list is True or args.long is True: + logger.info("===Supported spatial audio formats===") + spatialaudioformat.Format.list_all(args.long) + + elif args.infiles is not None: + logger.info("===Convert spatial audio file===") + # Input folder can be a path, a file or a list of files + if os.path.isdir(args.infiles): + path = args.infiles + audio_list = [ + os.path.join(path, f) for f in os.listdir(path) if f.endswith((".wav")) + ] + else: + audio_list = [args.infiles] + + outdir = args.outdir + _, output_ext = os.path.splitext(os.path.basename(outdir)) + if (len(audio_list) == 1) and ( + (output_ext.lower() == ".wav") or (output_ext.lower() == ".pcm") + ): + outfile = outdir + else: + outfile = None + if not os.path.exists(outdir): + os.makedirs(outdir) + + for infile in audio_list: + logger.info(f" process {infile}") + + _, input_ext = os.path.splitext(os.path.basename(infile)) + + if outfile is None: + outfile = os.path.basename(infile) + if not args.dont_rename: + if args.outformat is not None: + outfile = outfile.replace(input_ext, f"_{args.outformat}.wav") + else: + outfile = outfile.replace(input_ext, ".out.wav") + outfile = os.path.join(outdir, outfile) + + spatialaudioconvert.spatial_audio_convert( + infile, + outfile, + in_format=args.informat, + in_fs=args.infs, + in_nchans=args.inchan, + in_meta_files=args.metadata, + in_ls_layout_file=args.layoutfile, + out_format=args.outformat, + out_fs=args.outfs, + out_fc=args.outfc, + output_loudness=args.normalize, + loudness_tool=args.loudness_tool, + trajectory=args.trajectory, + binaural_dataset=args.binaural_dataset, + ) + + logger.info(f" Output {outfile}") + + if args.binaural: + if args.outformat.startswith("BINAURAL"): + raise SystemExit( + "BINAURAL output format can not be binauralized again!" + ) + + _, output_ext = os.path.splitext(os.path.basename(outfile)) + outfile_bin = outfile.replace(output_ext, "_BINAURAL.wav") + logger.info(f" Output binaural {outfile_bin}") + + spatialaudioconvert.spatial_audio_convert( + in_file=outfile, + out_file=outfile_bin, + in_format=args.outformat, + in_fs=args.outfs, + in_meta_files=args.metadata, + in_ls_layout_file=args.layoutfile, + out_format="BINAURAL", + output_loudness=args.normalize, + loudness_tool=args.loudness_tool, + trajectory=args.trajectory, + binaural_dataset=args.binaural_dataset, + ) + + outfile = None + else: + raise Exception( + "Input file must be provided for conversion and audio manipulation." + ) + + +if __name__ == "__main__": parser = argparse.ArgumentParser( description="Audio3DTools: Convert/Manipulate spatial audio files." ) @@ -186,111 +293,4 @@ def main(): ) args = parser.parse_args() - # Set up logging handlers - console_handler = logging.StreamHandler() - console_handler.setLevel(logging.INFO) - console_handler.setFormatter(logging.Formatter("%(message)s")) - - # Configure loggers - LOGGER_FORMAT = "%(asctime)s | %(name)-12s | %(levelname)-8s | %(message)s" - LOGGER_DATEFMT = "%m-%d %H:%M" - logging.basicConfig( - format=LOGGER_FORMAT, - datefmt=LOGGER_DATEFMT, - level=logging.INFO, - handlers=[console_handler], - ) - logger.info("Audio3DTools") - - if args.list is True or args.long is True: - logger.info("===Supported spatial audio formats===") - spatialaudioformat.Format.list_all(args.long) - - elif args.infiles is not None: - logger.info("===Convert spatial audio file===") - # Input folder can be a path, a file or a list of files - if os.path.isdir(args.infiles): - path = args.infiles - audio_list = [ - os.path.join(path, f) for f in os.listdir(path) if f.endswith((".wav")) - ] - else: - audio_list = [args.infiles] - - outdir = args.outdir - _, output_ext = os.path.splitext(os.path.basename(outdir)) - if (len(audio_list) == 1) and ( - (output_ext.lower() == ".wav") or (output_ext.lower() == ".pcm") - ): - outfile = outdir - else: - outfile = None - if not os.path.exists(outdir): - os.makedirs(outdir) - - for infile in audio_list: - logger.info(f" process {infile}") - - _, input_ext = os.path.splitext(os.path.basename(infile)) - - if outfile is None: - outfile = os.path.basename(infile) - if not args.dont_rename: - if args.outformat is not None: - outfile = outfile.replace(input_ext, f"_{args.outformat}.wav") - else: - outfile = outfile.replace(input_ext, ".out.wav") - outfile = os.path.join(outdir, outfile) - - spatialaudioconvert.spatial_audio_convert( - infile, - outfile, - in_format=args.informat, - in_fs=args.infs, - in_nchans=args.inchan, - in_meta_files=args.metadata, - in_ls_layout_file=args.layoutfile, - out_format=args.outformat, - out_fs=args.outfs, - out_fc=args.outfc, - output_loudness=args.normalize, - loudness_tool=args.loudness_tool, - trajectory=args.trajectory, - binaural_dataset=args.binaural_dataset, - ) - - logger.info(f" Output {outfile}") - - if args.binaural: - if args.outformat.startswith("BINAURAL"): - raise SystemExit( - "BINAURAL output format can not be binauralized again!" - ) - - _, output_ext = os.path.splitext(os.path.basename(outfile)) - outfile_bin = outfile.replace(output_ext, "_BINAURAL.wav") - logger.info(f" Output binaural {outfile_bin}") - - spatialaudioconvert.spatial_audio_convert( - in_file=outfile, - out_file=outfile_bin, - in_format=args.outformat, - in_fs=args.outfs, - in_meta_files=args.metadata, - in_ls_layout_file=args.layoutfile, - out_format="BINAURAL", - output_loudness=args.normalize, - loudness_tool=args.loudness_tool, - trajectory=args.trajectory, - binaural_dataset=args.binaural_dataset, - ) - - outfile = None - else: - raise Exception( - "Input file must be provided for conversion and audio manipulation." - ) - - -if __name__ == "__main__": - main() + main(args) diff --git a/scripts/pyaudio3dtools/audioarray.py b/scripts/pyaudio3dtools/audioarray.py index 16569e1ec7..5dbc43f769 100644 --- a/scripts/pyaudio3dtools/audioarray.py +++ b/scripts/pyaudio3dtools/audioarray.py @@ -32,9 +32,10 @@ import logging import math -from typing import Optional, Tuple +from typing import Callable, Iterable, Optional, Tuple import numpy as np +import multiprocessing as mp import scipy.signal as sig main_logger = logging.getLogger("__main__") @@ -430,3 +431,17 @@ def get_framewise(x: np.ndarray, chunk_size: int) -> np.ndarray: yield x[i * chunk_size : (i + 1) * chunk_size, :] if x.shape[0] % chunk_size: yield x[n_frames * chunk_size :, :] + + +def process_async(files: Iterable, func: Callable, **kwargs): + """Applies a function asynchronously to an array of audio files/filenames using a multiprocessing pool""" + + p = mp.pool(mp.cpu_count()) + results = [] + for f in files: + results.append(p.apply_async(func, args=(f, kwargs))) + p.close() + p.join() + for r in results: + r.get() + return results -- GitLab From 56bd6d8791ce1284fed7f4b6e10d7377c8eff5b5 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Tue, 25 Oct 2022 14:56:59 +0200 Subject: [PATCH 018/620] Added code for analyzing allocated memory in MATLAB --- apps/decoder.c | 6 ++++++ apps/encoder.c | 3 +++ lib_com/options.h | 1 + lib_debug/mem_count.c | 24 ++++++++++++++++++++++++ lib_debug/mem_count.h | 4 ++++ mem_analysis.m | 30 ++++++++++++++++++++++++++++++ 6 files changed, 68 insertions(+) create mode 100644 mem_analysis.m diff --git a/apps/decoder.c b/apps/decoder.c index 968dc79ec2..0b4074319e 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1480,6 +1480,9 @@ static ivas_error decodeG192( } #ifdef WMOPS update_wmops(); +#endif +#ifdef RAM_ANALYSIS + mem_analyze(); #endif } @@ -1836,6 +1839,9 @@ static ivas_error decodeVoIP( #ifdef WMOPS update_wmops(); +#endif +#ifdef RAM_ANALYSIS + mem_analyze(); #endif } diff --git a/apps/encoder.c b/apps/encoder.c index b1abc36d2f..4790019dcc 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -742,6 +742,9 @@ int main( #ifdef WMOPS update_wmops(); +#endif +#ifdef RAM_ANALYSIS + mem_analyze(); #endif } diff --git a/lib_com/options.h b/lib_com/options.h index b988fcb581..b17c271a86 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -42,6 +42,7 @@ #define SUPPORT_JBM_TRACEFILE /* support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */ #define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ +#define RAM_ANALYSIS /* #################### End compiler switches ######################### */ diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c index b12639ae3f..5f0ef86d8b 100644 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -178,6 +178,10 @@ static allocation_list Missing_Allocations; static unsigned int Num_Records_Missing_Alloc_Warnings = 0; #endif +#ifdef RAM_ANALYSIS +static FILE *mem_analysis_file = NULL; +#endif + /*-------------------------------------------------------------------* * LOCAL CONST DATA *-------------------------------------------------------------------*/ @@ -903,4 +907,24 @@ size_t mem_count_summary( Counting_Size cnt_size ) return size; } +#ifdef RAM_ANALYSIS +void mem_analyze() +{ + unsigned int i; + + if ( mem_analysis_file == NULL ) + { + mem_analysis_file = fopen( "mem_analysis.csv", "w" ); + } + for ( i = 0; i < Num_Records_Cur_RAM; i++ ) + { + fprintf( mem_analysis_file, "%s:%d,%d;", Current_Allocations[i].name, Current_Allocations[i].lineno, Current_Allocations[i].block_size ); + } + fprintf( mem_analysis_file, "\n" ); + + return; +} +#endif + + #endif diff --git a/lib_debug/mem_count.h b/lib_debug/mem_count.h index d30fc3ab1a..e196c799ec 100644 --- a/lib_debug/mem_count.h +++ b/lib_debug/mem_count.h @@ -95,6 +95,10 @@ extern "C" extern void *mem_alloc( const char *func_name, int func_lineno, size_t size, char *alloc_str ); extern void mem_free( const char *func_name, int func_lineno, void *ptr ); +#ifdef RAM_ANALYSIS + extern void mem_analyze(); +#endif + #ifdef __cplusplus } #endif diff --git a/mem_analysis.m b/mem_analysis.m new file mode 100644 index 0000000000..c31f7547ef --- /dev/null +++ b/mem_analysis.m @@ -0,0 +1,30 @@ +%% + +lines = readlines('mem_analysis.csv'); + +names = {}; +Nframes = length(lines); + +mem = zeros(1,Nframes); + +for i = 1:Nframes + entries = split(lines(i),';'); + for j = 1:length(entries) + a = split(entries(j),','); + if(length(a)==2) + name = a{1}; + num = str2double(a{2}); + I = find(strcmp(names,name)); + if isempty(I) + names{end+1} = name; + I = length(names); + end + mem(I,i) = num; + end + end +end + +bar(mem',1,'stacked') +legend(names,'location','eastoutside','interpreter','none') +xlabel('frame') +ylabel('memory size') \ No newline at end of file -- GitLab From e3c5bb7fdfa409238898f38d7a7b25effeaf0694 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Wed, 26 Oct 2022 14:34:22 +0200 Subject: [PATCH 019/620] [pyaudio3dtools] fix PCM support for ISM input --- scripts/pyaudio3dtools/spatialaudioconvert.py | 2 +- scripts/pyaudio3dtools/spatialmetadata.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/scripts/pyaudio3dtools/spatialaudioconvert.py b/scripts/pyaudio3dtools/spatialaudioconvert.py index 3d71dc0e6f..29ac5f5d79 100644 --- a/scripts/pyaudio3dtools/spatialaudioconvert.py +++ b/scripts/pyaudio3dtools/spatialaudioconvert.py @@ -196,7 +196,7 @@ def spatial_audio_convert( # initialise metadata object for ISM metadata_obj = spatialmetadata.Metadata() - metadata_obj.init_for_ism(in_file, in_fs, in_meta_files) + metadata_obj.init_for_ism(in_file, in_fs, in_nchans, in_meta_files) # TODO alternative paths for binaural rendering for now if out_format.startswith("BINAURAL_ROOM"): diff --git a/scripts/pyaudio3dtools/spatialmetadata.py b/scripts/pyaudio3dtools/spatialmetadata.py index 829bd298bc..9fa42a2e06 100644 --- a/scripts/pyaudio3dtools/spatialmetadata.py +++ b/scripts/pyaudio3dtools/spatialmetadata.py @@ -211,13 +211,13 @@ class Metadata: for object_index in range(self.nb_objects): print(f" Object #{object_index} Type: {self.objects[object_index]}") - def _append_audio_array(self, audio_wav=None, fs=48000, object_index=None): + def _append_audio_array(self, audio_wav=None, fs=48000, nchan=1, object_index=None): if audio_wav is None: audio_wav = self.audio_wav[-1] if object_index is None: object_index = -1 - x, fs = audiofile.readfile(audio_wav, fs=fs) + x, fs = audiofile.readfile(audio_wav, fs=fs, nchannels=nchan) logger.debug(f"Append {audio_wav}: {x.shape[0]} by {x.shape[1]}") # Select appropriate channels & resample if necessary @@ -245,6 +245,7 @@ class Metadata: self, in_file: str, in_fs: int, + in_nchan: int, metadata_files: list, ) -> None: self.audio_wav.append(in_file) @@ -252,7 +253,7 @@ class Metadata: for csv in metadata_files: self.objects.append(read_ism_ivas_data(csv, object_index=self.nb_objects)) self.objects[-1]["track_index"] = self.nb_objects - self._append_audio_array(self.audio_wav[-1], fs=in_fs) + self._append_audio_array(self.audio_wav[-1], fs=in_fs, nchan=in_nchan) self.nb_objects += 1 # Get audio array with sampling rate -- GitLab From 81a87199b60d10b575f1818c1f8a49111f314e90 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Wed, 26 Oct 2022 14:47:49 +0200 Subject: [PATCH 020/620] [pyaudio3dtools] add a warning and automatically adjust when a very low sampling rate is specified --- scripts/pyaudio3dtools/audio3dtools.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/scripts/pyaudio3dtools/audio3dtools.py b/scripts/pyaudio3dtools/audio3dtools.py index d459615eae..e9feccce80 100644 --- a/scripts/pyaudio3dtools/audio3dtools.py +++ b/scripts/pyaudio3dtools/audio3dtools.py @@ -33,6 +33,7 @@ import argparse import logging import os +import warnings from pyaudio3dtools import ( audiofile, @@ -63,6 +64,18 @@ def main(args): ) logger.info("Audio3DTools") + if args.infs is not None and args.infs < 1000: + warnings.warn( + f"Input sampling rate specified as {args.infs} Hz! Assuming {args.infs*1000} Hz" + ) + args.infs *= 1000 + + if args.outfs is not None and args.outfs < 1000: + warnings.warn( + f"Input sampling rate specified as {args.outfs} Hz! Assuming {args.outfs*1000} Hz" + ) + args.outfs *= 1000 + if args.list is True or args.long is True: logger.info("===Supported spatial audio formats===") spatialaudioformat.Format.list_all(args.long) -- GitLab From 0fd7baab08c3c02a3c4615f1779456a6584fd505 Mon Sep 17 00:00:00 2001 From: muxe6256 Date: Wed, 26 Oct 2022 16:54:13 +0200 Subject: [PATCH 021/620] fix rounding on lfe delay computation, add test script and test item --- .gitignore | 4 + CMakeLists.txt | 5 + lib_com/options.h | 1 + lib_dec/ivas_binauralRenderer.c | 19 ++ lib_dec/ivas_init_dec.c | 7 +- lib_dec/ivas_lfe_dec.c | 6 +- run_test_bin_latencys.py | 175 +++++++++++++++++ .../unit_tests/crend/ivas_crend_utest_utils.c | 183 ++++++++++++++---- scripts/testv/dirac_12ch_16k.wav | 3 + scripts/testv/dirac_12ch_32k.wav | 3 + scripts/testv/dirac_12ch_48k.wav | 3 + scripts/testv/test_8ch_16k.wav | 3 + scripts/testv/test_8ch_32k.wav | 3 + scripts/testv/test_8ch_48k.wav | 3 + 14 files changed, 376 insertions(+), 42 deletions(-) create mode 100644 run_test_bin_latencys.py create mode 100644 scripts/testv/dirac_12ch_16k.wav create mode 100644 scripts/testv/dirac_12ch_32k.wav create mode 100644 scripts/testv/dirac_12ch_48k.wav create mode 100644 scripts/testv/test_8ch_16k.wav create mode 100644 scripts/testv/test_8ch_32k.wav create mode 100644 scripts/testv/test_8ch_48k.wav diff --git a/.gitignore b/.gitignore index aecd59fd31..a3a51e60f1 100644 --- a/.gitignore +++ b/.gitignore @@ -53,3 +53,7 @@ tests/ref __pycache__/ *.py[cod] *$py.class + +# .history +.history/**/* + diff --git a/CMakeLists.txt b/CMakeLists.txt index ad70b85844..ed42fd70e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -158,6 +158,11 @@ if(WIN32) target_link_libraries(IVAS_dec Ws2_32) endif() +file(GLOB libCrendUnitTestSrcs "scripts/ivas_pytests/tests/unit_tests/crend/*.c") +file(GLOB libCrendUnitTestHeaders "scripts/ivas_pytests/tests/unit_tests/crend/*.h") +add_executable(IVAS_crend_unit_test ${libCrendUnitTestSrcs} ${libCrendUnitTestHeaders}) +target_link_libraries(IVAS_crend_unit_test lib_dec lib_util) + if(${IVAS_BUILD_PRERENDERER}) add_executable(IVAS_prerenderer scripts/prerenderer/prerenderer.c diff --git a/lib_com/options.h b/lib_com/options.h index c9eb38a9b6..4f3abf7ce1 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -154,6 +154,7 @@ #define FIX_I59_LFE_TD_DELAY /* Issue 59: correcting delay of LFE for TD renderer */ #define FIX_I59_LFE_CLDFB /* Issue 59: correcting LFE handling for fastconv binaural rendering */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ +#define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/ivas_binauralRenderer.c b/lib_dec/ivas_binauralRenderer.c index 45108a92fa..51f4db024b 100644 --- a/lib_dec/ivas_binauralRenderer.c +++ b/lib_dec/ivas_binauralRenderer.c @@ -567,6 +567,24 @@ ivas_error ivas_binRenderer_open( return error; } +#ifdef FIX_FIX_I59 + if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV ) + { + if ( hBinRenderer->ivas_format == MC_FORMAT ) + { + st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f ); + } + else + { + st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ); + } + } + else + { + /* same value for MC or HOA both use MC BRIR*/ + st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_BRIR_latency_s * 1000000000.f ); + } +#else if ( hBinRenderer->ivas_format == MC_FORMAT ) { st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f ); @@ -575,6 +593,7 @@ ivas_error ivas_binRenderer_open( { st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ); } +#endif } /* Allocate memories needed for reverb module */ diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 45bec1f769..dd900d6d6c 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1213,8 +1213,11 @@ ivas_error ivas_init_decoder( /*-----------------------------------------------------------------* * LFE handles for rendering after rendering to adjust LFE delay to binaural filter delay *-----------------------------------------------------------------*/ - - if ( st_ivas->mc_mode == MC_MODE_MCT ) +#ifdef FIX_FIX_I59 + if ( ( st_ivas->mc_mode == MC_MODE_MCT ) || ( st_ivas->mc_mode == MC_MODE_PARAMMC ) ) +#else + if ( st_ivas->mc_mode == MC_MODE_MCT ) +#endif { #ifdef FIX_I59_LFE_TD_DELAY binauralization_delay_ns = st_ivas->binaural_latency_ns; diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index 0782cccdb6..70e3a2fff4 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -355,7 +355,7 @@ ivas_error ivas_create_lfe_dec( #ifdef FIX_I59_LFE_TD_DELAY const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ #else - const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ + const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ #endif ) { @@ -444,7 +444,11 @@ ivas_error ivas_create_lfe_dec( lfe_addl_delay_s = block_offset_s - hLFE->lfe_block_delay_s; lfe_addl_delay_s = max( 0.0f, lfe_addl_delay_s ); #ifdef FIX_I59_LFE_TD_DELAY +#ifdef FIX_FIX_I59 + add_delay_sa = (int16_t) roundf( (float) binauralization_delay_ns * output_Fs / 1000000000.f ); +#else add_delay_sa = NS2SA( output_Fs, binauralization_delay_ns + 0.5f ); +#endif hLFE->lfe_addl_delay = (int16_t) ( lfe_addl_delay_s * output_Fs ) + add_delay_sa; hLFE->lfe_block_delay_s += lfe_addl_delay_s + add_delay_sa / output_Fs; #else diff --git a/run_test_bin_latencys.py b/run_test_bin_latencys.py new file mode 100644 index 0000000000..c40f226af5 --- /dev/null +++ b/run_test_bin_latencys.py @@ -0,0 +1,175 @@ + + +import os +import subprocess +import errno +import tempfile as tf +import sys +from scipy.io.wavfile import read, write +import numpy as np + +ivas_path = 'D:/DEV/ivas-3gpp/' + +trunk_path = ivas_path + 'ivas-codec/' +script_path = trunk_path + 'scripts/' +inpath = script_path + 'testv/' +outpath = script_path + 'testv/out/' +trajpath = script_path + 'trajectories/' + +if sys.platform.startswith('win32'): + unit_test_exe = trunk_path + 'build/IVAS_crend_unit_test.exe' + ivas_cod_exe = trunk_path + 'build/IVAS_cod.exe' + ivas_dec_exe = trunk_path + 'build/IVAS_dec.exe' + +file_name_7_1_root = 'test_8ch_' + +file_name_7_1_4_root = 'dirac_12ch_' + +sampleRates = ['48', '16', '32'] + +for sr in sampleRates: + file_name_7_1_4 = inpath + file_name_7_1_4_root + sr + 'k' + inFileName_7_1_4 = file_name_7_1_4 + '.wav' + + file_name_7_1 = inpath + file_name_7_1_root + sr + 'k' + inFileName_7_1 = file_name_7_1 + '.wav' + + # encode 7.1.4 512kb + cmd = [ivas_cod_exe, '-MC', '7_1_4', '-max_band', 'FB', '512000', sr, + file_name_7_1_4 + '.wav', file_name_7_1_4 + '_512kb.ptk'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # encode 7.1 512kb + cmd = [ivas_cod_exe, '-MC', '7_1', '-max_band', 'FB', '512000', sr, + file_name_7_1 + '.wav', file_name_7_1 + '_512kb.ptk'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # encode 7.1.4 128kb PARAMMC + cmd = [ivas_cod_exe, '-MC', '7_1_4', '-max_band', 'FB', '128000', sr, + file_name_7_1_4 + '.wav', file_name_7_1_4 + '_128kb.ptk'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # encode 7.1 64kb PARAMMC + cmd = [ivas_cod_exe, '-MC', '7_1', '-max_band', 'FB', '128000', sr, + file_name_7_1 + '.wav', file_name_7_1 + '_64kb.ptk'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode 7_1_4 + cmd = [ivas_dec_exe, '7_1_4', sr, file_name_7_1_4 + + '_512kb.ptk', file_name_7_1_4 + '_enc_dec.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode 7_1 + cmd = [ivas_dec_exe, '7_1', sr, file_name_7_1 + + '_512kb.ptk', file_name_7_1 + '_enc_dec.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural crend 7.1.4 + cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1_4 + + '_512kb.ptk', file_name_7_1_4 + '-hrir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural room crend 7.1.4 + cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, + file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-brir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural crend 7.1 + cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1 + + '_512kb.ptk', file_name_7_1 + '-hrir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural room crend 7.1 + cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, file_name_7_1 + + '_512kb.ptk', file_name_7_1 + '-brir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural fastconv 7.1 + cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1 + + '_64kb.ptk', file_name_7_1 + '-fastconv-hrir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural room fastconv 7.1 + cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, file_name_7_1 + + '_64kb.ptk', file_name_7_1 + '-fastconv-brir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural TD 7.1.4 + cmd = [ivas_dec_exe, '-T', trajpath + '/const000.csv', 'BINAURAL', sr, + file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-td-hrir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural TD 7.1 + cmd = [ivas_dec_exe, '-T', trajpath + '/const000.csv', 'BINAURAL', sr, + file_name_7_1 + '_512kb.ptk', file_name_7_1 + '-td-hrir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + +# render CICP19 to binaural +sampleRates = ['16', '32', '48'] +# option = ['-limiter', '-lp_lfe'] +option = ['-lp_lfe'] + +for sr in sampleRates: + file_name_7_1_4 = inpath + file_name_7_1_4_root + sr + 'k' + inFileName_7_1_4 = file_name_7_1_4 + '.wav' + + file_name_7_1 = inpath + file_name_7_1_root + sr + 'k' + inFileName_7_1 = file_name_7_1 + '.wav' + + cmd = [unit_test_exe, '-test', '1', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-i', + inFileName_7_1_4, '-o', file_name_7_1_4 + '-hrir-crend-u.wav'] + cmd = cmd + option + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + cmd = [unit_test_exe, '-test', '1', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-BRIR', + '-i', inFileName_7_1_4, '-o', file_name_7_1_4 + '-brir-crend-u.wav'] + cmd = cmd + option + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + cmd = [unit_test_exe, '-test', '2', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-i', + inFileName_7_1_4, '-o', file_name_7_1_4 + '-hrir-fastconv-u.wav'] + cmd = cmd + option + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + cmd = [unit_test_exe, '-test', '2', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-BRIR', + '-i', inFileName_7_1_4, '-o', file_name_7_1_4 + '-brir-fastconv-u.wav'] + cmd = cmd + option + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + cmd = [unit_test_exe, '-test', '4', '-sr', sr, '-ifmt', '7', '-ofmt', '2', + '-i', inFileName_7_1_4, '-o', file_name_7_1_4 + '-hrir-td-u.wav'] + cmd = cmd + option + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index b286ef93cc..dfec494779 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -64,6 +64,58 @@ #include "render_config_reader.h" +static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_round_latency, int16_t use_round_for_lfe, int32_t *err_lfe, int32_t *err_dec, int16_t verbose ) +{ + // float delay_ns_float[3]; + int32_t delay_ns[3]; + + float sampleRates[3] = { 48000.f, 32000.f, 16000.f }; + + // float binaural_latencys_s[3] = { 1.f / 48000.f, 2.f / 48000.f, 3.f / 48000.f }; + + int32_t delay_lfe[3][3]; + + int32_t delay_dec[3][3]; + + int32_t wanted; + + *err_lfe = 0; + *err_dec = 0; + + for ( int ind1 = 0; ind1 < sizeof( sampleRates ) / sizeof( float ); ind1++ ) + { + if ( verbose ) + printf( "\nsample rate = %f", sampleRates[ind1] ); + for ( int ind2 = 0; ind2 < sizeof( binaural_latencys_s ) / sizeof( float ); ind2++ ) + { + wanted = (int32_t) roundf( binaural_latencys_s[ind2] * sampleRates[ind1] ); + if ( verbose ) + printf( "\nbinaural_latencys_s = %f wanted = %ld", binaural_latencys_s[ind2], wanted ); + if ( use_round_latency ) + delay_ns[ind2] = (int32_t) roundf( binaural_latencys_s[ind2] * 1000000000.f ); + else + delay_ns[ind2] = (int32_t) ( binaural_latencys_s[ind2] * 1000000000.f ); + if ( verbose ) + printf( "\n delay_ns[%d] = %ld \n", ind2, delay_ns[ind2] ); + + if ( use_round_for_lfe ) + delay_lfe[ind1][ind2] = (int32_t) roundf( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); + else + delay_lfe[ind1][ind2] = (int32_t) ( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); + if ( verbose ) + printf( "\ndelay_lfe[%d][%d] = %ld\n", ind1, ind2, delay_lfe[ind1][ind2] ); + *err_lfe += abs( delay_lfe[ind1][ind2] - wanted ); + + delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] + 0.5f ); + + if ( verbose ) + printf( "\ndelay_dec[%d][%d] = %ld \n", ind1, ind2, delay_dec[ind1][ind2] ); + *err_dec += abs( delay_dec[ind1][ind2] - wanted ); + } + } + return *err_lfe + *err_dec; +} + static ivas_result_t ivas_dec_default_io_params( ivas_dec_io_params_t *pIO_params ) { @@ -103,7 +155,7 @@ static ivas_error ivas_hrtf_init( hHrtf->max_num_iterations = 0; hHrtf->gain_lfe = 0; hHrtf->index_frequency_max_diffuse = 0; - + for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) { hHrtf->inv_diffuse_weight[i] = 0; @@ -446,7 +498,7 @@ void ivas_open_files_crend( ivas_crend_io_params_t *pIo_params ) #ifdef USE_PCM_OUT if ( ( pIo_params->fIn[0] = fopen( pIo_params->in_path, "rb" ) ) == NULL ) #else - if ( AudioFileReader_open( &pIo_params->fIn[0] , pIo_params->in_path, pIo_params->sample_rate ) != IVAS_ERR_OK ) + if ( AudioFileReader_open( &pIo_params->fIn[0], pIo_params->in_path, pIo_params->sample_rate ) != IVAS_ERR_OK ) #endif { fprintf( stderr, "Error: Input audio file %s could not be opened\n\n", pIo_params->in_path ); @@ -861,7 +913,7 @@ static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params int16_t tmp, read = 0; num_in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - if ( pIo_params->test == CREND_BIN_TEST || pIo_params->test == FASTCONV_BIN_TEST || pIo_params->test == PARAM_BIN_TEST || pIo_params->test == TD_BIN_TEST || pIo_params->test == CREND_ACOUSTIC_PROXIMITY) + if ( pIo_params->test == CREND_BIN_TEST || pIo_params->test == FASTCONV_BIN_TEST || pIo_params->test == PARAM_BIN_TEST || pIo_params->test == TD_BIN_TEST || pIo_params->test == CREND_ACOUSTIC_PROXIMITY ) { /* Read in PCM */ for ( j = 0; j < input_frame_len; j++ ) @@ -871,7 +923,7 @@ static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params #ifdef USE_PCM_OUT if ( ( read = (int16_t) fread( &tmp, sizeof( int16_t ), 1, pIo_params->fIn[0] ) ) > 0 ) #else - if ( (AudioFileReader_read( pIo_params->fIn[0], &tmp, 1, &read ) == IVAS_ERR_OK) && (read > 0) ) + if ( ( AudioFileReader_read( pIo_params->fIn[0], &tmp, 1, &read ) == IVAS_ERR_OK ) && ( read > 0 ) ) #endif { ppPcm_in[i][j] = (float) tmp; @@ -911,7 +963,7 @@ static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params #else if ( ( AudioFileReader_read( pIo_params->fIn[i], &tmp, 1, &read ) == IVAS_ERR_OK ) && ( read > 0 ) ) #endif - { + { ppPcm_in[i][j] = (float) tmp; ppPcm_in[i][j] *= ( 1.0 / PCM16_TO_FLT_FAC ); samples_read += 1; @@ -943,14 +995,14 @@ static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params *---------------------------------------------------------------------*/ static ivas_result_t ivas_feed_head_track_data( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ IVAS_QUATERNION *orientation /* i : head-tracking data */ ) { HEAD_TRACK_DATA_HANDLE hHeadTrackData; int16_t i; - + hHeadTrackData = st_ivas->hHeadTrackData; if ( hHeadTrackData == NULL ) @@ -1081,6 +1133,40 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } } #endif + /* test rounding error + float binaural_latencys_fastconv_s[3] = { FASTCONV_HRIR_latency_s, FASTCONV_BRIR_latency_s, FASTCONV_BRIR_latency_s }; + float binaural_latencys_crend_s[3] = { 1.f / 48000.f, 2.f / 48000.f, 3.f / 48000.f }; + float binaural_latencys_td_s[3] = { BINAURAL_TD_LATENCY_S, BINAURAL_TD_LATENCY_S + 1.f / 48000.f, BINAURAL_TD_LATENCY_S + 2.f / 48000.f }; + + int32_t err = 0, err_lfe = 0, err_dec = 0; + err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 0, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_crend_s, 0, 0, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_td_s, 0, 0, &err_lfe, &err_dec, 0 ); + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + + err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 1, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_crend_s, 0, 1, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_td_s, 0, 1, &err_lfe, &err_dec, 0 ); + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + + err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 0, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_crend_s, 1, 0, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_td_s, 1, 0, &err_lfe, &err_dec, 0 ); + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + + err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 1, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_crend_s, 1, 1, &err_lfe, &err_dec, 0 ); + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + err += ivas_check_rounding( binaural_latencys_td_s, 1, 1, &err_lfe, &err_dec, 0 ); + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); +*/ ivas_render_config_open( &st_ivas.hRenderConfig ); ivas_render_config_init_from_rom( &st_ivas.hRenderConfig, 0 ); @@ -1109,7 +1195,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { st_ivas.ivas_format = SBA_FORMAT; } - + if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->in_fmt != pIo_params->out_fmt ) ) { if ( pIo_params->test == FASTCONV_BIN_TEST ) @@ -1118,16 +1204,28 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV_ROOM; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; +#ifdef FIX_FIX_I59 + pIo_params->latency_s = roundf( IVAS_FB_DEC_DELAY_NS + FASTCONV_BRIR_latency_s * 1000000000.f ); +#else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_BRIR_latency_s; +#endif } else { st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - if (st_ivas.ivas_format == MC_FORMAT) - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HRIR_latency_s ; + if ( st_ivas.ivas_format == MC_FORMAT ) +#ifdef FIX_FIX_I59 + pIo_params->latency_s = roundf( IVAS_FB_DEC_DELAY_NS + FASTCONV_HRIR_latency_s * 1000000000.f ); +#else + pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HRIR_latency_s; +#endif else +#ifdef FIX_FIX_I59 + pIo_params->latency_s = roundf( IVAS_FB_DEC_DELAY_NS + FASTCONV_HOA3_latency_s * 1000000000.f ); +#else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HOA3_latency_s; +#endif } } else if ( pIo_params->test == TD_BIN_TEST ) @@ -1137,7 +1235,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl fprintf( stderr, "TD Renderer configuration wrong input format\n" ); exit( -1 ); } - + if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) { st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; @@ -1148,7 +1246,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; } +#ifdef FIX_FIX_I59 + pIo_params->latency_s = roundf( BINAURAL_TD_LATENCY_S * 1000000000.f ); +#else pIo_params->latency_s = BINAURAL_TD_LATENCY_S; +#endif } else if ( pIo_params->test == PARAM_BIN_TEST ) { @@ -1162,9 +1264,13 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.renderer_type = RENDERER_BINAURAL_PARAMETRIC; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; } +#ifdef FIX_FIX_I59 + pIo_params->latency_s = IVAS_FB_DEC_DELAY_NS; +#else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate; +#endif } - else if( pIo_params->test == CREND_BIN_TEST ) + else if ( pIo_params->test == CREND_BIN_TEST ) { if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) { @@ -1205,11 +1311,10 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { return error; } - if ( ( error = HeadRotationFileReader_open( pIo_params->csv_path , &headRotReader ) ) != IVAS_ERR_OK ) + if ( ( error = HeadRotationFileReader_open( pIo_params->csv_path, &headRotReader ) ) != IVAS_ERR_OK ) { return error; } - } st_ivas.nchan_transport = audioCfg2channels( st_ivas.transport_config ); @@ -1259,8 +1364,8 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { if ( ( pIo_params->in_fmt != FOA_4 ) && ( pIo_params->in_fmt != HOA_9 ) && ( pIo_params->in_fmt != HOA_16 ) ) { - fprintf( stderr, "PARAM renderer configuration wrong format, must be FOA or HOA up to order 3\n" ); - exit( -1 ); + fprintf( stderr, "PARAM renderer configuration wrong format, must be FOA or HOA up to order 3\n" ); + exit( -1 ); } ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); @@ -1303,11 +1408,15 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl if ( pIo_params->test == CREND_BIN_TEST ) { - pIo_params->latency_s = st_ivas.hHrtf->latency_s; +#ifdef FIX_FIX_I59 + pIo_params->latency_s = roundf( st_ivas.hHrtf->latency_s * 1000000000.f ); +#else + pIo_params->latency_s = st_ivas.hHrtf->latency_s; +#endif } if ( st_ivas.ivas_format == MC_FORMAT ) { -#ifdef FIX_I59_LFE_TD_DELAY +#ifdef FIX_FIX_I59 ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); #else ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_s ); @@ -1357,7 +1466,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl delay_lp = 0; } } - + if ( pIo_params->limiter_enable ) { st_ivas.hLimiter = ivas_limiter_open( out_ch, pIo_params->sample_rate ); @@ -1384,20 +1493,20 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { skip_samples = NS2SA( pIo_params->sample_rate, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); } - fprintf( stdout, "IVAS Common Renderer skip samples = %d\n", (int)skip_samples ); + fprintf( stdout, "IVAS Common Renderer skip samples = %d\n", (int) skip_samples ); frame_len = frame_len << 2; - int32_t frame_dec=0; - IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES] = {0}; + int32_t frame_dec = 0; + IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES] = { 0 }; /* process loop */ - while ( ( ( result = ivas_wrapper_get_in_buf( pIo_params, ppPcm_in ) ) == IVAS_SUCCESS ) && ( (st_ivas.hDecoderConfig->Opt_Headrotation == 0) || ( (st_ivas.hDecoderConfig->Opt_Headrotation == 1) && (HeadRotationFileReading( headRotReader, Quaternions, frame_dec ) == IVAS_ERR_OK ) ) ) ) + while ( ( ( result = ivas_wrapper_get_in_buf( pIo_params, ppPcm_in ) ) == IVAS_SUCCESS ) && ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 0 ) || ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && ( HeadRotationFileReading( headRotReader, Quaternions, frame_dec ) == IVAS_ERR_OK ) ) ) ) { int16_t pcm[MAX_OUTPUT_CHANNELS]; frame_dec++; result = IVAS_SUCCESS; - if ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && (ivas_feed_head_track_data( &st_ivas, Quaternions ) != IVAS_SUCCESS )) + if ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && ( ivas_feed_head_track_data( &st_ivas, Quaternions ) != IVAS_SUCCESS ) ) { return IVAS_IO_ERROR; } @@ -1424,7 +1533,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { mvr2r( ppPcm_in[i], ppPcm_out[i], frame_len ); } - } + } else if ( pIo_params->test == TD_BIN_TEST ) { ObjRenderIVASFrame( &st_ivas, ppPcm_in, frame_len ); @@ -1445,7 +1554,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl /* Implement a 5 msec loops */ maxBand = (int16_t) ( ( CLDFB_NO_CHANNELS_MAX * st_ivas.hDecoderConfig->output_Fs ) / 48000 ); - for ( slot_idx = 0; slot_idx < (int16_t)CLDFB_NO_COL_MAX; slot_idx++ ) + for ( slot_idx = 0; slot_idx < (int16_t) CLDFB_NO_COL_MAX; slot_idx++ ) { for ( ch = 0; ch < in_ch; ch++ ) @@ -1457,7 +1566,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } } - for ( slot_idx = 0; slot_idx < (int16_t)CLDFB_NO_COL_MAX ; slot_idx++ ) + for ( slot_idx = 0; slot_idx < (int16_t) CLDFB_NO_COL_MAX; slot_idx++ ) { /* Implement binaural rendering */ for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) @@ -1474,7 +1583,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { filterTapsRealPtr = hrtfShCoeffsRe[ch][chIdx]; filterTapsImagPtr = hrtfShCoeffsIm[ch][chIdx]; - + for ( bandIdx = 0; bandIdx < maxBand; bandIdx++ ) { RealBuffer[bandIdx] += gain * ( Cldfb_RealBuffer[chIdx][slot_idx][bandIdx] * filterTapsRealPtr[bandIdx] ) - ( Cldfb_ImagBuffer[chIdx][slot_idx][bandIdx] * filterTapsImagPtr[bandIdx] ); @@ -1486,12 +1595,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl cldfbSynthesis( &outSlotRePr, &outSlotImPr, &( ppPcm_in[ch][slot_idx * maxBand] ), maxBand, st_ivas.cldfbSynDec[ch] ); } } - + for ( i = 0; i < out_ch; i++ ) { mvr2r( ppPcm_in[i], ppPcm_out[i], frame_len ); } - } else { @@ -1504,7 +1612,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl ivas_crend_process( &st_ivas, ppPcm_in ); } } - + if ( mixer == NULL ) { if ( st_ivas.hLFE ) @@ -1554,14 +1662,12 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl valEner += ppPcm_out[i][j] * ppPcm_out[i][j]; #endif pcm[i] = ( temp > MAX16B ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B - : (short) temp; + : (short) temp; clip = max( clip, fabs( ppPcm_out[i][j] ) ); - - } if ( write_flag == 1 ) { -#ifdef USE_PCM_OUT +#ifdef USE_PCM_OUT fwrite( pcm, sizeof( int16_t ), out_ch, pIo_params->fOut ); #else AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); @@ -1577,10 +1683,9 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl fprintf( stdout, "Processed frame: %ld\r", (long) frame_count ); frame_count++; - } - int16_t pcm[MAX_OUTPUT_CHANNELS] = {0}; + int16_t pcm[MAX_OUTPUT_CHANNELS] = { 0 }; while ( skipped_samples > 0 ) { AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); @@ -1598,7 +1703,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl ivas_lfe_dec_close( st_ivas.hLFE ); } - if ( st_ivas.hDirAC != NULL ) + if ( st_ivas.hDirAC != NULL ) ivas_dirac_dec_close( st_ivas.hDirAC ); if ( st_ivas.hBinRenderer != NULL ) ivas_binRenderer_close( &st_ivas.hBinRenderer ); @@ -1789,7 +1894,7 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in #ifdef USE_PCM_OUT pcm = ( temp > MAX16B_FLT ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B - : (short) temp; + : (short) temp; fwrite( &pcm, sizeof( int16_t ), 1, pIo_params->fOut ); #else pcm[i] = ( temp > MAX16B_FLT ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B diff --git a/scripts/testv/dirac_12ch_16k.wav b/scripts/testv/dirac_12ch_16k.wav new file mode 100644 index 0000000000..770a096292 --- /dev/null +++ b/scripts/testv/dirac_12ch_16k.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1480c94da2e6c1337dd8a6cf2394283a28739be9fd02f4a598c7c2fef578882e +size 4992156 diff --git a/scripts/testv/dirac_12ch_32k.wav b/scripts/testv/dirac_12ch_32k.wav new file mode 100644 index 0000000000..e363158e34 --- /dev/null +++ b/scripts/testv/dirac_12ch_32k.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b9adc43c1031a4799ad66c46a68d26ab34b4b4052aa05755f7081f06fd3b3a42 +size 9984132 diff --git a/scripts/testv/dirac_12ch_48k.wav b/scripts/testv/dirac_12ch_48k.wav new file mode 100644 index 0000000000..e6c45bcab5 --- /dev/null +++ b/scripts/testv/dirac_12ch_48k.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3cfbf8de4b0792f6a9155b048fb45bf56f907c1cb6446a2f7428cc50d6ba19d7 +size 14976044 diff --git a/scripts/testv/test_8ch_16k.wav b/scripts/testv/test_8ch_16k.wav new file mode 100644 index 0000000000..112985edbc --- /dev/null +++ b/scripts/testv/test_8ch_16k.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4b4a5f2c895033427626ce2cc05199cdcfbdd266cc8b2d75f8480bf0d051b54a +size 2304148 diff --git a/scripts/testv/test_8ch_32k.wav b/scripts/testv/test_8ch_32k.wav new file mode 100644 index 0000000000..abd795767b --- /dev/null +++ b/scripts/testv/test_8ch_32k.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f6a7ade09d04d823320157061558a177d00270bba789edff8bf554805ac35c61 +size 4608132 diff --git a/scripts/testv/test_8ch_48k.wav b/scripts/testv/test_8ch_48k.wav new file mode 100644 index 0000000000..dc170a11b9 --- /dev/null +++ b/scripts/testv/test_8ch_48k.wav @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:83cec3fb6760866285003140f482b9b8b1f52045072bdf8f6814973bbbea2d35 +size 6912044 -- GitLab From e5ef00eeac582354b52f6e9d0b63c31a5e1c9d0f Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Fri, 28 Oct 2022 10:59:17 +0200 Subject: [PATCH 022/620] fix for binaural rendering in generate_test_items.py --- scripts/pyprocessing/prepost_processing.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/pyprocessing/prepost_processing.py b/scripts/pyprocessing/prepost_processing.py index dee95b77a6..a2c014b6a9 100644 --- a/scripts/pyprocessing/prepost_processing.py +++ b/scripts/pyprocessing/prepost_processing.py @@ -161,7 +161,8 @@ class PostProcessing(Processing): out_sig, fs = audiofile.readfile(output_path) bin_sig = binauralrenderer.binaural_rendering( out_sig, - self.out_spfmt.name, + self.out_spfmt, + spatialaudioformat.Format("BINAURAL"), fs=fs, include_LFE=self.bin_rend_include_LFE, LFE_gain=self.bin_rend_LFE_gain, -- GitLab From adeac5396d848b470fad63fcd02bdcb513a2a3c4 Mon Sep 17 00:00:00 2001 From: vaclav Date: Wed, 2 Nov 2022 09:28:05 +0100 Subject: [PATCH 023/620] - BRATE_SWITCHING_FRAMEWORK - Bitrate switching changes related to the general framework - BRATE_SWITCHING_RENDERING - Bitrate switching changes related to the renderers --- lib_com/options.h | 4 + lib_dec/ivas_binauralRenderer.c | 11 ++- lib_dec/ivas_binaural_reverb.c | 3 + lib_dec/ivas_dirac_dec.c | 4 + lib_dec/ivas_dirac_dec_binaural_functions.c | 57 +++++++++++--- lib_dec/ivas_sba_dec.c | 86 +++++++++++++++++---- lib_enc/ivas_dirac_enc.c | 4 + lib_enc/ivas_mct_enc.c | 59 ++++++++++++++ 8 files changed, 199 insertions(+), 29 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9bdbbc81aa..f7d5ea7607 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -154,6 +154,10 @@ #define FIX_TCX_DEC_RECONF_BFI #define FIX_SBA_DTX_DECODE_ERROR /* Issue 176: SBA decoder error with DTX at 80kbps SWB, Issue 21: SBA front-VAD threshold (203) */ + +#define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ +#define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_dec/ivas_binauralRenderer.c b/lib_dec/ivas_binauralRenderer.c index 45108a92fa..95ce12b6bc 100644 --- a/lib_dec/ivas_binauralRenderer.c +++ b/lib_dec/ivas_binauralRenderer.c @@ -552,10 +552,17 @@ ivas_error ivas_binRenderer_open( } ivas_output_init( &out_setup, AUDIO_CONFIG_7_1_4 ); - if ( ( error = ivas_sba_get_hoa_dec_matrix( out_setup, &st_ivas->hoa_dec_mtx, st_ivas->hIntSetup.ambisonics_order ) ) != IVAS_ERR_OK ) + +#ifdef BRATE_SWITCHING_RENDERING + if ( st_ivas->hoa_dec_mtx == NULL ) +#endif { - return error; + if ( ( error = ivas_sba_get_hoa_dec_matrix( out_setup, &st_ivas->hoa_dec_mtx, st_ivas->hIntSetup.ambisonics_order ) ) != IVAS_ERR_OK ) + { + return error; + } } + hBinRenderer->hoa_dec_mtx = st_ivas->hoa_dec_mtx; st_ivas->binaural_latency_ns = (int32_t) ( FASTCONV_BRIR_latency_s * 1000000000.f ); } diff --git a/lib_dec/ivas_binaural_reverb.c b/lib_dec/ivas_binaural_reverb.c index b03c8c0053..db12954a1e 100644 --- a/lib_dec/ivas_binaural_reverb.c +++ b/lib_dec/ivas_binaural_reverb.c @@ -538,6 +538,9 @@ void ivas_binaural_reverb_close( } count_free( ( *hReverb ) ); +#ifdef BRATE_SWITCHING_RENDERING + ( *hReverb ) = NULL; +#endif return; } diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index ec9a712065..13b93f227f 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -270,6 +270,10 @@ ivas_error ivas_dirac_dec_config( /* band config needed only for SPAR with FOA output */ if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_FOA && st_ivas->sba_mode == SBA_MODE_SPAR ) { +#ifdef BRATE_SWITCHING_FRAMEWORK + st_ivas->nchan_transport = nchan_transport_orig; +#endif + return IVAS_ERR_OK; } diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index ca9f0a4587..6c406ba536 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -98,9 +98,21 @@ ivas_error ivas_dirac_dec_init_binaural_data( float binCenterFreq, tmpFloat; ivas_error error; - if ( ( hBinaural = (DIRAC_DEC_BIN_HANDLE) count_malloc( sizeof( DIRAC_DEC_BIN_DATA ) ) ) == NULL ) +#ifdef BRATE_SWITCHING_RENDERING + hBinaural = st_ivas->hDiracDecBin; + + if ( hBinaural == NULL ) +#endif { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC binaural handle " ); + if ( ( hBinaural = (DIRAC_DEC_BIN_HANDLE) count_malloc( sizeof( DIRAC_DEC_BIN_DATA ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC binaural handle " ); + } + +#ifdef BRATE_SWITCHING_RENDERING + hBinaural->hTdDecorr = NULL; + hBinaural->hReverb = NULL; +#endif } nBins = st_ivas->hDirAC->num_freq_bands; @@ -189,18 +201,31 @@ ivas_error ivas_dirac_dec_init_binaural_data( { mvr2r( parametricEarlyPartEneCorrection, hBinaural->earlyPartEneCorrection, nBins ); - if ( hBinaural->useSubframeMode ) +#ifdef BRATE_SWITCHING_RENDERING + /* reconfiguration needed when Reverb. parameters are changed -> close and open the handle again */ + if ( hBinaural->hReverb != NULL && ( ( hBinaural->hReverb->numBins != nBins ) || + ( hBinaural->useSubframeMode && hBinaural->hReverb->blockSize != CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES ) || + ( !hBinaural->useSubframeMode && hBinaural->hReverb->blockSize != CLDFB_NO_COL_MAX ) ) ) { - if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) - { - return error; - } + ivas_binaural_reverb_close( &( hBinaural->hReverb ) ); } - else + + if ( hBinaural->hReverb == NULL ) +#endif { - if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + if ( hBinaural->useSubframeMode ) { - return error; + if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { + if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + { + return error; + } } } } @@ -219,7 +244,13 @@ ivas_error ivas_dirac_dec_init_binaural_data( { if ( st_ivas->hDecoderConfig->ivas_total_brate >= IVAS_13k2 && st_ivas->ivas_format == SBA_FORMAT ) { - ivas_spar_td_decorr_dec_open( &( hBinaural->hTdDecorr ), output_Fs, 3, 1 ); +#ifdef BRATE_SWITCHING_RENDERING + if ( hBinaural->hTdDecorr == NULL ) +#endif + { + ivas_spar_td_decorr_dec_open( &( hBinaural->hTdDecorr ), output_Fs, 3, 1 ); + } + if ( st_ivas->hDecoderConfig->ivas_total_brate < IVAS_24k4 ) { hBinaural->hTdDecorr->pTrans_det->duck_mult_fac = IVAS_TDET_DUCK_MULT_FAC_PARA_BIN_LOW_BR; @@ -236,7 +267,11 @@ ivas_error ivas_dirac_dec_init_binaural_data( } else { +#ifdef BRATE_SWITCHING_RENDERING + ivas_spar_td_decorr_dec_close( &( hBinaural->hTdDecorr ) ); +#else hBinaural->hTdDecorr = NULL; +#endif } st_ivas->hDiracDecBin = hBinaural; diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 3d91d6834d..274b00a17b 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -347,26 +347,29 @@ ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { - int16_t i; - int16_t nchan_transport, nchan_transport_old; - int16_t nSCE_old, nCPE_old, nchan_hp20_old; + int16_t i, nchan_transport_old, nSCE_old, nCPE_old, nchan_hp20_old; AUDIO_CONFIG intern_config_old; int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old; int16_t sba_dirac_stereo_flag_old; int32_t ivas_total_brate, last_ivas_total_brate; + DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; error = IVAS_ERR_OK; - ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; - last_ivas_total_brate = st_ivas->hDecoderConfig->last_ivas_total_brate; + hDecoderConfig = st_ivas->hDecoderConfig; + ivas_total_brate = hDecoderConfig->ivas_total_brate; + last_ivas_total_brate = hDecoderConfig->last_ivas_total_brate; /*-----------------------------------------------------------------* - * Allocate, initalize, and configure SBA and rendering handles + * Set SBA high-level parameters + * Save old SBA high-level parameters *-----------------------------------------------------------------*/ ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old ); +#ifndef BRATE_SWITCHING_RENDERING numCldfbAnalyses = 0; +#endif nchan_hp20_old = getNumChanSynthesis( st_ivas ); @@ -377,9 +380,12 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->sba_order ); - ivas_sba_config( ivas_total_brate, st_ivas->sba_analysis_order, -1, &nchan_transport, st_ivas->sba_planar, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init ); + ivas_sba_config( ivas_total_brate, st_ivas->sba_analysis_order, -1, &st_ivas->nchan_transport, st_ivas->sba_planar, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init ); + - st_ivas->nchan_transport = nchan_transport; + /*-----------------------------------------------------------------* + * Renderer selection + *-----------------------------------------------------------------*/ /* renderer might have changed */ intern_config_old = st_ivas->intern_config; @@ -391,9 +397,45 @@ ivas_error ivas_sba_dec_reconfigure( ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); } +#ifdef BRATE_SWITCHING_RENDERING + /*-------------------------------------------------------------------* + * Reallocate and initialize binaural rendering handles + *--------------------------------------------------------------------*/ + + if ( st_ivas->hBinRenderer == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) ) + { + /* open fastconv binaural renderer */ + if ( ( error = ivas_binRenderer_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hBinRenderer != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV && st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV_ROOM ) ) + { + ivas_binRenderer_close( &st_ivas->hBinRenderer ); + } + + if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) + { + /* open parametric binaural renderer */ + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC ) ) + { + ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + } +#endif + + /*-----------------------------------------------------------------* + * hDirAC decoder handle configuration + *-----------------------------------------------------------------*/ + if ( st_ivas->sba_mode != SBA_MODE_SPAR ) { - st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ); + st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ); if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, -1 ) ) != IVAS_ERR_OK ) { @@ -405,15 +447,15 @@ ivas_error ivas_sba_dec_reconfigure( int16_t sba_order_internal; sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ); - ivas_spar_config( st_ivas->hDecoderConfig->ivas_total_brate, sba_order_internal, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->hSpar->core_nominal_brate, st_ivas->sid_format ); + ivas_spar_config( hDecoderConfig->ivas_total_brate, sba_order_internal, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->hSpar->core_nominal_brate, st_ivas->sid_format ); - if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, IVAS_MAX_NUM_BANDS - SPAR_DIRAC_SPLIT_START_BAND ) ) != IVAS_ERR_OK ) + if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, hDecoderConfig->ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, IVAS_MAX_NUM_BANDS - SPAR_DIRAC_SPLIT_START_BAND ) ) != IVAS_ERR_OK ) { return error; } } - if ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC && ( last_ivas_total_brate > IVAS_SID_5k2 || nchan_transport != nchan_transport_old ) && ( st_ivas->sba_mode != SBA_MODE_SPAR ) ) + if ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC && ( last_ivas_total_brate > IVAS_SID_5k2 || st_ivas->nchan_transport != nchan_transport_old ) && ( st_ivas->sba_mode != SBA_MODE_SPAR ) ) { if ( st_ivas->hDirAC != NULL ) { @@ -464,13 +506,24 @@ ivas_error ivas_sba_dec_reconfigure( /* special case, if there was one transport channel in the previous frame and more than one in the current frame, remove the second CLDFB here, it was for CNA/CNG */ - if ( nchan_transport_old == 1 && numCldfbAnalyses_old == 2 && nchan_transport > 1 ) + if ( nchan_transport_old == 1 && numCldfbAnalyses_old == 2 && st_ivas->nchan_transport > 1 ) { deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); st_ivas->cldfbAnaDec[1] = NULL; numCldfbAnalyses_old--; } +#ifdef BRATE_SWITCHING_RENDERING + /* resample CLDFB analysis instances */ + for ( i = 0; i < min( numCldfbAnalyses, numCldfbAnalyses_old ); i++ ) + { + if ( ( st_ivas->cldfbAnaDec[i]->no_channels * st_ivas->cldfbAnaDec[i]->no_col ) != ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ) ) + { + resampleCldfb( st_ivas->cldfbAnaDec[i], hDecoderConfig->output_Fs ); + } + } +#endif + /* Analysis*/ if ( numCldfbAnalyses_old > numCldfbAnalyses ) { @@ -486,7 +539,7 @@ ivas_error ivas_sba_dec_reconfigure( /* create additional CLDFB synthesis instances */ for ( i = numCldfbAnalyses_old; i < numCldfbAnalyses; i++ ) { - if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[i] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[i] ), CLDFB_ANALYSIS, hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) { return error; } @@ -508,14 +561,14 @@ ivas_error ivas_sba_dec_reconfigure( /* create additional CLDFB synthesis instances */ for ( i = numCldfbSyntheses_old; i < numCldfbSyntheses; i++ ) { - if ( ( error = openCldfb( &( st_ivas->cldfbSynDec[i] ), CLDFB_SYNTHESIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + if ( ( error = openCldfb( &( st_ivas->cldfbSynDec[i] ), CLDFB_SYNTHESIS, hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) { return error; } } } - +#ifndef BRATE_SWITCHING_RENDERING /*-------------------------------------------------------------------* * Reallocate and initialize binaural rendering handles *--------------------------------------------------------------------*/ @@ -545,6 +598,7 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } +#endif return error; } diff --git a/lib_enc/ivas_dirac_enc.c b/lib_enc/ivas_dirac_enc.c index 96a005a0b3..9b4256996f 100644 --- a/lib_enc/ivas_dirac_enc.c +++ b/lib_enc/ivas_dirac_enc.c @@ -131,6 +131,10 @@ ivas_error ivas_dirac_enc_open( } else { +#ifdef BRATE_SWITCHING_FRAMEWORK + hDirAC->num_samples_synchro_delay = 0; +#endif + for ( i = 0; i < DIRAC_MAX_ANA_CHANS; i++ ) { hDirAC->sba_synchro_buffer[i] = NULL; diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 18c3b93fb9..9fbf63c952 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -44,6 +44,48 @@ #include "wmops.h" +#ifdef BRATE_SWITCHING_FRAMEWORK +/*-------------------------------------------------------------------* + * set_mct_enc_params() + * + * Set hMCT handle parameters + *-------------------------------------------------------------------*/ + +static void set_mct_enc_params( + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const SBA_MODE sba_mode, /* i : SBA mode */ + const uint16_t b_nchan_change /* i : flag indicating different channel count */ +) +{ + int16_t n; + + if ( b_nchan_change ) + { + hMCT->currBlockDataCnt = 0; + + /*Initialize bits required to signal channel-pair index*/ + hMCT->bitsChannelPairIndex = max( 1, (int16_t) ( floor( ( log( hMCT->nchan_out_woLFE * ( hMCT->nchan_out_woLFE - 1 ) / 2 - 1 ) / log( 2. ) ) ) + 1 ) ); + + set_s( hMCT->lowE_ch, 0, MCT_MAX_CHANNELS ); + + for ( n = 0; n < MCT_MAX_CHANNELS; n++ ) + { + set_f( hMCT->lastxCorrMatrix[n], 0, MCT_MAX_CHANNELS ); + } + } + + hMCT->hbr_mct = 0; + if ( sba_mode == SBA_MODE_SPAR && ivas_total_brate >= IVAS_256k ) + { + hMCT->hbr_mct = 1; + } + + return; +} +#endif + + /*-------------------------------------------------------------------* * ivas_mct_enc() * @@ -276,6 +318,10 @@ ivas_error create_mct_enc( * Initializations *-----------------------------------------------------------------*/ +#ifdef BRATE_SWITCHING_FRAMEWORK + set_mct_enc_params( hMCT, ivas_total_brate, st_ivas->sba_mode, 1 ); +#else + hMCT->currBlockDataCnt = 0; /*Initialize bits required to signal channel-pair index*/ @@ -292,6 +338,7 @@ ivas_error create_mct_enc( { hMCT->hbr_mct = 1; } +#endif st_ivas->hMCT = hMCT; @@ -332,6 +379,13 @@ ivas_error mct_enc_reconfigure( hMCT->nchan_out_woLFE = st_ivas->hEncoderConfig->nchan_inp - 1; /* LFE channel is coded separately */ hMCT->num_lfe = TRUE; } +#ifdef BRATE_SWITCHING_FRAMEWORK + else if ( ivas_format == SBA_FORMAT ) + { + hMCT->nchan_out_woLFE = st_ivas->nchan_transport; + hMCT->num_lfe = FALSE; + } +#else else if ( ivas_format == SBA_FORMAT && st_ivas->hDirAC ) // VE: this condition to be reviewed together with the following one { hMCT->nchan_out_woLFE = ivas_get_sba_num_TCs( ivas_total_brate, st_ivas->sba_analysis_order ); @@ -342,6 +396,7 @@ ivas_error mct_enc_reconfigure( hMCT->nchan_out_woLFE = ivas_sba_get_nchan( st_ivas->sba_analysis_order, st_ivas->hEncoderConfig->sba_planar ); hMCT->num_lfe = FALSE; } +#endif else { assert( !"IVAS format currently not supported for MCT" ); @@ -454,6 +509,9 @@ ivas_error mct_enc_reconfigure( * Initializations *-----------------------------------------------------------------*/ +#ifdef BRATE_SWITCHING_FRAMEWORK + set_mct_enc_params( hMCT, ivas_total_brate, st_ivas->sba_mode, b_nchan_change ); +#else if ( b_nchan_change ) { hMCT->currBlockDataCnt = 0; @@ -467,6 +525,7 @@ ivas_error mct_enc_reconfigure( set_f( hMCT->lastxCorrMatrix[n], 0, MCT_MAX_CHANNELS ); } } +#endif return IVAS_ERR_OK; } -- GitLab From 5864afcd7018729e91edd87fc48eba8b3409811c Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 2 Nov 2022 14:27:05 +0100 Subject: [PATCH 024/620] Minor fix using dbgwrite instead of fprintf and a file pointer --- lib_debug/mem_count.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c index 5f0ef86d8b..7bb3f2680b 100644 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -49,6 +49,10 @@ typedef INT64 int64_t; #define FALSE 0 #endif +#ifdef RAM_ANALYSIS +#include "debug.h" +#endif + /* How to use the tool notes ========================= @@ -178,10 +182,6 @@ static allocation_list Missing_Allocations; static unsigned int Num_Records_Missing_Alloc_Warnings = 0; #endif -#ifdef RAM_ANALYSIS -static FILE *mem_analysis_file = NULL; -#endif - /*-------------------------------------------------------------------* * LOCAL CONST DATA *-------------------------------------------------------------------*/ @@ -911,16 +911,15 @@ size_t mem_count_summary( Counting_Size cnt_size ) void mem_analyze() { unsigned int i; + char buffer[1024]; - if ( mem_analysis_file == NULL ) - { - mem_analysis_file = fopen( "mem_analysis.csv", "w" ); - } for ( i = 0; i < Num_Records_Cur_RAM; i++ ) { - fprintf( mem_analysis_file, "%s:%d,%d;", Current_Allocations[i].name, Current_Allocations[i].lineno, Current_Allocations[i].block_size ); + sprintf( buffer, "%s:%d,%d;", Current_Allocations[i].name, Current_Allocations[i].lineno, Current_Allocations[i].block_size ); + dbgwrite( buffer, sizeof( char ), strlen( buffer ), 1, "mem_analysis.csv" ); } - fprintf( mem_analysis_file, "\n" ); + sprintf( buffer, "\n" ); + dbgwrite( buffer, sizeof( char ), strlen( buffer ), 1, "mem_analysis.csv" ); return; } -- GitLab From ccee19fac4c176fbd7e299c12447e0eb0ed3ce3d Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Wed, 2 Nov 2022 14:45:42 +0100 Subject: [PATCH 025/620] Reorder mem analysis matrix to put all constant buffers at the bottom. This emphasizes which buffers are actually constant --- mem_analysis.m | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mem_analysis.m b/mem_analysis.m index c31f7547ef..b259b2ebdf 100644 --- a/mem_analysis.m +++ b/mem_analysis.m @@ -1,12 +1,13 @@ %% -lines = readlines('mem_analysis.csv'); +lines = readlines('mem_analysis.csv','EmptyLineRule','skip'); names = {}; Nframes = length(lines); mem = zeros(1,Nframes); +% Load mem_analysis.csv into matrix for i = 1:Nframes entries = split(lines(i),';'); for j = 1:length(entries) @@ -24,6 +25,13 @@ for i = 1:Nframes end end +% Reorder the matrix such that the fixed allocations are at the bottom: +% --> Find all rows which are constant (sum of abs diff is zero). The >0 is +% to limit the reordering to constant values only. +[~,indx] = sort(sum(abs(diff(mem,[],2)),2)>0); +mem = mem(indx,:); +names = names(indx); + bar(mem',1,'stacked') legend(names,'location','eastoutside','interpreter','none') xlabel('frame') -- GitLab From 9a68006f510561c6c61d85fdd30e3dd61ad3f8a0 Mon Sep 17 00:00:00 2001 From: rhb Date: Wed, 2 Nov 2022 16:57:15 +0100 Subject: [PATCH 026/620] fix crashes in MCT bitrate switching under FIX_MCT_BS_CRASH --- lib_com/options.h | 1 + lib_debug/mem_count.c | 4 ++++ lib_dec/ivas_mct_dec.c | 3 +++ lib_dec/ivas_mdct_core_dec.c | 4 ++++ lib_enc/ivas_mct_enc.c | 3 +++ lib_enc/ivas_mdct_core_enc.c | 8 ++++++++ 6 files changed, 23 insertions(+) mode change 100644 => 100755 lib_debug/mem_count.c mode change 100644 => 100755 lib_dec/ivas_mct_dec.c mode change 100644 => 100755 lib_dec/ivas_mdct_core_dec.c mode change 100644 => 100755 lib_enc/ivas_mct_enc.c mode change 100644 => 100755 lib_enc/ivas_mdct_core_enc.c diff --git a/lib_com/options.h b/lib_com/options.h index 28fb60c2e9..c4746956b8 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -159,6 +159,7 @@ #define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ +#define FIX_MCT_BS_CRASH /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c old mode 100644 new mode 100755 index b12639ae3f..d83561f782 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -93,7 +93,11 @@ typedef INT64 int64_t; /* This is the maximum number of allocations for which to keep information. It can be increased if required. */ +#ifdef FIX_MCT_BS_CRASH +#define MAX_INFO_RECORDS 5000 +#else #define MAX_INFO_RECORDS 3000 +#endif /* This is the length after which the function name will be truncated when the summary is printed. */ diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c old mode 100644 new mode 100755 index 73f262f798..62089463ca --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -458,6 +458,9 @@ ivas_error mct_dec_reconfigure( * run into a number of problems */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef FIX_MCT_BS_CRASH + st_ivas->hCPE[cpe_id]->element_brate = cp_bitrate; +#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { st = st_ivas->hCPE[cpe_id]->hCoreCoder[n]; diff --git a/lib_dec/ivas_mdct_core_dec.c b/lib_dec/ivas_mdct_core_dec.c old mode 100644 new mode 100755 index d05024c565..cfd81f7b4c --- a/lib_dec/ivas_mdct_core_dec.c +++ b/lib_dec/ivas_mdct_core_dec.c @@ -414,7 +414,11 @@ void ivas_mdct_dec_side_bits_frame_channel( param_lpc[0][0] = get_next_indice( st0, 1 ) << 1; /* read low br mode flag (if it is possible to be non-zero) */ +#ifdef FIX_MCT_BS_CRASH + if ( sts[0]->element_brate == IVAS_48k && !((sts[0]->core == TCX_20 && sts[1]->core == TCX_20) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE) ) +#else if ( sts[0]->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) +#endif { sns_low_br_mode = get_next_indice( st0, 1 ); } diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c old mode 100644 new mode 100755 index 9ffa451ab8..896b9ec61e --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -392,6 +392,9 @@ ivas_error mct_enc_reconfigure( /* indicate LFE for appropriate core-coder channel */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef FIX_MCT_BS_CRASH + st_ivas->hCPE[cpe_id]->element_brate = cp_bitrate; +#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { st_ivas->hCPE[cpe_id]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; diff --git a/lib_enc/ivas_mdct_core_enc.c b/lib_enc/ivas_mdct_core_enc.c old mode 100644 new mode 100755 index 0d2f5817d6..023c3e211b --- a/lib_enc/ivas_mdct_core_enc.c +++ b/lib_enc/ivas_mdct_core_enc.c @@ -900,7 +900,11 @@ void ivas_mdct_core_whitening_enc( } /* set low br mode, if possible. Can later be discarded, depending on the stereo mode used for SNS parameter decoding */ +#ifdef FIX_MCT_BS_CRASH + if ( hCPE->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE) ) +#else if ( hCPE->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) +#endif { sns_low_br_mode = !sts[0]->sp_aud_decision0; } @@ -1120,7 +1124,11 @@ void ivas_mdct_core_whitening_enc( { push_next_indice( hBstr, param_lpc[0][0] >> 1, 1 ); +#ifdef FIX_MCT_BS_CRASH + if ( st->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE) ) +#else if ( st->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) +#endif { /* write classifier decision to signal low br mode for SNS encoding, for all other configs, low_br mode is not possible */ push_next_indice( hBstr, sns_low_br_mode, 1 ); -- GitLab From 7df752276830b481b0225cfd5aad41e03f83d55d Mon Sep 17 00:00:00 2001 From: Hiromi Sekine Date: Fri, 4 Nov 2022 17:05:58 +0900 Subject: [PATCH 027/620] Update NTT_REDUC_COMP_POC. --- lib_com/options.h | 6 +- lib_enc/ivas_stereo_dmx_evs.c | 410 ++++++---------------------------- 2 files changed, 74 insertions(+), 342 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 1f7704127b..332920ea35 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -161,8 +161,10 @@ #endif /* NTT switches */ -#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ -#define BOOL5 +#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ +#ifndef NTT_REDUC_COMP_POC +#define NTT_USE_INV_SQRT_POC /*inv_sqrt() is used */ +#endif /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index bf30d903f4..3a13984108 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -157,25 +157,13 @@ static void calc_poc( float tmp1, tmp2, Lr, Li, Rr, Ri, gamma, igamma, iN; #ifdef NTT_REDUC_COMP_POC - float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary part of spectrum*/ - float aR, aI; /*real and imaginary values for searching phase angle*/ - int16_t j; - - int16_t mult_angle; - - bool diffIR; - const float *cos_reverse; - + float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary values for searching phase angle*/ float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; float rfft_buf[L_FRAME48k]; int16_t step, bias; -#ifdef BOOL5 - bool diffIR0; /*angle */ - float up_down; - int16_t index_angles; -#else - int16_t index_angles; -#endif + int16_t mult_angle; + int16_t j; + int16_t end; #else float specPOr[L_FRAME48k], specPOi[L_FRAME48k]; float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; @@ -194,62 +182,55 @@ static void calc_poc( P = hPOC->P; n0 = input_frame / 2; itdLR = hPOC->itdLR; + igamma = STEREO_DMX_EVS_POC_GAMMA * iN; gamma = 1.0f - igamma; #ifdef NTT_REDUC_COMP_POC /*apploximation of phase angle on an unit circle without using sqrt()*/ + + step = 1; + bias = 0; + cos_step = 2; + cos_max = n0; + mult_angle = 3; + if ( input_frame == L_FRAME16k ) { step = 3; bias = 1; cos_step = 4; cos_max = input_frame; - mult_angle = 1; + mult_angle = 2; /*****/ } - else + if ( input_frame == L_FRAME32k ) { - step = 1; - bias = 0; - cos_step = 2; - cos_max = n0; mult_angle = 2; - if ( input_frame == L_FRAME48k ) - mult_angle = 3; } - cos_reverse = s + cos_max; - specPOr[0] = sign( specLr[0] ) * sign( specRr[0] ) * wnd[bias]; + end = min( n0, 320 ); + specPOr[0] = sign( specLr[0] * specRr[0] ) * wnd[bias]; specPOi[0] = 0.0f; EPS = hPOC->eps; if ( input_frame == L_FRAME48k ) { for ( i = 1; i < n0 / 2; i++ ) { - Lr = specLr[i]; - Li = specLi[i]; - Rr = specRr[i]; - Ri = specRi[i]; - eps_cos = s[cos_max - i * cos_step /*cos_max - i_for*/] * EPS; eps_sin = s[i * cos_step /*i_for*/] * EPS; - Lr += ( Rr * eps_cos + Ri * eps_sin ); - Li += ( -Rr * eps_sin + Ri * eps_cos ); - Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); - Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); + Lr = specLr[i]+ specRr[i] * eps_cos + specRi[i] * eps_sin; + Li = specLi[i]- specRr[i] * eps_sin + specRi[i] * eps_cos; + Rr = specRr[i]+ specLr[i] * eps_cos + specLi[i] * eps_sin; + Ri = specRi[i]- specLr[i] * eps_sin + specLi[i] * eps_cos; specPOr[i] = ( Lr * Rr + Li * Ri ); specPOi[i] = ( Lr * Ri - Li * Rr ); j = n0 - i; if ( j < 320 ) { - Lr = specLr[j]; - Li = specLi[j]; - Rr = specRr[j]; - Ri = specRi[j]; - Lr += ( -Rr * eps_cos + Ri * eps_sin ); - Li += ( -Rr * eps_sin - Ri * eps_cos ); - Rr += ( -specLr[j] * eps_cos + specLi[j] * eps_sin ); - Ri += ( -specLr[j] * eps_sin - specLi[j] * eps_cos ); + Lr = specLr[j] - specRr[j] * eps_cos + specRi[j] * eps_sin; + Li = specLi[j] - specRr[j] * eps_sin - specRi[j] * eps_cos; + Rr = specRr[j] - specLr[j] * eps_cos + specLi[j] * eps_sin; + Ri = specRi[j] - specLr[j] * eps_sin - specLi[j] * eps_cos; specPOr[j] = ( Lr * Rr + Li * Ri ); specPOi[j] = ( Lr * Ri - Li * Rr ); @@ -260,28 +241,21 @@ static void calc_poc( { for ( i = 1; i < n0 / 2; i++ ) { - Lr = specLr[i]; - Li = specLi[i]; - Rr = specRr[i]; - Ri = specRi[i]; eps_cos = s[cos_max - i * cos_step /*cos_max - i_for*/] * EPS; eps_sin = s[i * cos_step /*i_for*/] * EPS; - Lr += ( Rr * eps_cos + Ri * eps_sin ); - Li += ( -Rr * eps_sin + Ri * eps_cos ); - Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); - Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); + + Lr = specLr[i] + specRr[i] * eps_cos + specRi[i] * eps_sin; + Li = specLi[i] - specRr[i] * eps_sin + specRi[i] * eps_cos; + Rr = specRr[i] + specLr[i] * eps_cos + specLi[i] * eps_sin; + Ri = specRi[i] - specLr[i] * eps_sin + specLi[i] * eps_cos; specPOr[i] = ( Lr * Rr + Li * Ri ); specPOi[i] = ( Lr * Ri - Li * Rr ); j = n0 - i; - Lr = specLr[j]; - Li = specLi[j]; - Rr = specRr[j]; - Ri = specRi[j]; - Lr += ( -Rr * eps_cos + Ri * eps_sin ); - Li += ( -Rr * eps_sin - Ri * eps_cos ); - Rr += ( -specLr[j] * eps_cos + specLi[j] * eps_sin ); - Ri += ( -specLr[j] * eps_sin - specLi[j] * eps_cos ); + Lr = specLr[j] - specRr[j] * eps_cos + specRi[j] * eps_sin; + Li = specLi[j] - specRr[j] * eps_sin - specRi[j] * eps_cos; + Rr = specRr[j] - specLr[j] * eps_cos + specLi[j] * eps_sin; + Ri = specRi[j] - specLr[j] * eps_sin - specLi[j] * eps_cos; specPOr[j] = ( Lr * Rr + Li * Ri ); specPOi[j] = ( Lr * Ri - Li * Rr ); } @@ -299,331 +273,80 @@ static void calc_poc( for ( i = 1; i < 10; i++ ) /*search from 4 angles */ { tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; specPOr[i] = sign( specPOr[i] ) * 0.866f * tmp1; /* low angles are more frequent for low frequency */ specPOi[i] = sign( specPOi[i] ) * 0.5f * tmp1; + gamma -= igamma; } - for ( i = 10; i> 4; i++ ) /*search from 4 angles */ + for ( ; i> 4; i++ ) /*search from 4 angles */ { tmp1 = wnd[i * step + bias] * gamma * 0.7071f; - gamma -= igamma; specPOr[i] = sign( specPOr[i] ) * tmp1; specPOi[i] = sign( specPOi[i] ) * tmp1; /* low accuracy is adequate for low frequency */ - } - -#ifdef BOOL5 - for ( i = n0 >> 4; i> 3; i++ ) /* binary search from 8 angles */ - { - aR = specPOr[i]; - aR *= aR; - aI = specPOi[i]; - aI *= aI; - diffIR = aR > aI; - /* index_angles = 120 - (int16_t) diffIR * 80;*/ - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-( 120 - (int16_t) diffIR * 80 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[( 120 - (int16_t) diffIR * 80 ) * mult_angle] * tmp1; - } - for ( i = n0 >> 3; i> 2; i++ ) /* binary search from 16 angles */ - { - aR = specPOr[i]; - aR *= aR; - aI = specPOi[i]; - aI *= aI; - diffIR0 = aR > aI; - /*index_angles = 140 - (int16_t) diffIR0*80; */ - up_down = ( /* 1.0f - 0.1715724f */ 0.82842759f ) * (float) diffIR0; - diffIR = aR * ( 1.0f - up_down ) > aI * ( up_down + 0.1715724f ); - - /* equivalent if{} else{}*/ - /* if ( aR > aI ) - { - if (aR * tanf(PI/8)* tanf(PI/8)> aI){ - index_angles = 60 - (int16_t) diffIR * 40; - } - else{......} - } - */ - tmp1 = wnd[i * step + bias] * gamma; gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) /*((float)(aR>0)*2.f- 1.0f)*/ * cos_reverse[-( 140 - (int16_t) diffIR0 * 80 - (int16_t) diffIR * 40 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) /*( (float) ( aI > 0 ) * 2.f - 1.0f )*/ * s[( 140 - (int16_t) diffIR0 * 80 - (int16_t) diffIR * 40 ) * mult_angle] * tmp1; - } - for ( i = n0 >> 2; i> 1; i++ ) /* binary search from 32 angles */ - { - aR = specPOr[i]; - aR *= aR; - aI = specPOi[i]; - aI *= aI; - - if ( aR > aI ) - { - if ( aR * 0.1715724f /* tanf(PI/8)**2 = 0.414213f**2 */ > aI ) - { - diffIR = aR * 0.039565188f /* tanf(PI/16)**2 */ > aI; - index_angles = 30; - } - else - { - diffIR = aR * 0.446463176f /* tanf(PI*3/16)**2 */ > aI; - index_angles = 70; - } - } - else - { - if ( aR > aI * 0.1715724f /* tanf(PI/8)**2 */ ) - { - diffIR = aR > aI * 0.446463176f /* tanf(PI*3/16)**2 */; - index_angles = 110; - } - else - { - diffIR = aR > aI * 0.039565188f /* tanf(PI/16)**2 */; - index_angles = 150; - } - } - { - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-( index_angles - (int16_t) diffIR * 20 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[( index_angles - (int16_t) diffIR * 20 ) * mult_angle] * tmp1; - } - } - - for ( ; i < min( n0, 320 ); i++ ) /* binary search from 64 angles */ - { - aR = specPOr[i]; - aR *= aR; - aI = specPOi[i]; - aI *= aI; - if ( aR > aI ) - { - if ( aR * 0.1715724f /* tanf(PI/8)**2 */ > aI ) - { - if ( aR * 0.039565188f /* tanf(PI/16)**2 */ > aI ) - { - diffIR = aR * 0.00970f /*0.098491f * 0.098491f*/ /*tanf(PI/32)*/ > aI; - index_angles = 15; - } - else - { - diffIR = aR * 0.09201922 /* tanf(PI*3/32)**2 */ > aI; - index_angles = 35; - } - } - else - { - if ( aR * 0.446463176f /* tanf(PI*3/16)**2 */ > aI ) - { - diffIR = aR * 0.285702f /*0.5345111f*0.5345111f*/ /* tanf(PI*5/32)**2 */ > aI; - index_angles = 55; - } - else - { - diffIR = aR * 0.6735137f /*0.8206788f*0.8206788f */ /* tanf(PI*7/32)**2 */ > aI; - index_angles = 75; - } - } - } - else - { - if ( aR > aI * 0.1715724f /* tanf(PI/8)**2 */ ) - { - if ( aR > aI * 0.446463176f /* tanf(PI*3/16)**2 */ ) - { - diffIR = aR > aI * 0.6735137f /*0.8206788f*0.8206788f */ /* tanf(PI*7/32)**2 */; - index_angles = 95; - } - else - { - diffIR = aR > aI * 0.285702f /*0.5345111f*0.5345111f*/ /*tanf(PI*5/32)*/; - index_angles = 115; - } - } - else - { - if ( aR > aI * 0.039565188f /* tanf(PI/16)**2 */ ) // - { - diffIR = aR > aI * 0.09201922 /*0.3033467f*0.3033467f*/ /* tanf(PI*3/32)**2 */; - index_angles = 135; - } - else - { - diffIR = aR > aI * 0.00970f /*0.098491f * 0.098491f*/ /* tanf(PI/32)**2 */; - index_angles = 155; - } - } - } - { - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-( index_angles - (int16_t) diffIR * 10 ) * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[( index_angles - (int16_t) diffIR * 10 ) * mult_angle] * tmp1; - } - } -#else /*BOOL5*/ - for ( i = n0 >> 4; i> 3; i++ ) /* binary search from 8 angles */ - { - aR = fabsf( specPOr[i] ); - aI = fabsf( specPOi[i] ); - - diffIR = aR > aI; - index_angles = 120 - (int16_t) diffIR * 80; - { - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; - } - } - for ( i = n0 >> 3; i> 2; i++ ) /* binary search from 16 angles */ - { - aR = fabsf( specPOr[i] ); - aI = fabsf( specPOi[i] ); - - if ( aR > aI ) - { - diffIR = aR * 0.414213f /*tanf(PI/8)*/ > aI; - index_angles = 60 - (int16_t) diffIR * 40; - } - else - { - diffIR = aR > aI * 0.41421356f /*tanf(PI/8)*/; - index_angles = 140 - (int16_t) diffIR * 40; - } - { - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; - } } - for ( i = n0 >> 2; i> 1; i++ ) /* binary search from 32 angles */ + for ( ; i < n0 >> 3; i++ ) /* binary search from 8 angles */ { - aR = fabsf( specPOr[i] ); - aI = fabsf( specPOi[i] ); - - if ( aR > aI ) + tmp1 = wnd[i* step + bias] * gamma; + + if ( ( specPOr[i] - specPOi[i] ) * ( specPOr[i] + specPOi[i] ) > 0 ) { - if ( aR * 0.4142136f /*tanf(PI/8)*/ > aI ) - { - diffIR = aR * 0.19891f /*tanf(PI/16)*/ > aI; - index_angles = 30 - (int16_t) diffIR * 20; - } - else - { - diffIR = aR * 0.66818f /*tanf(PI*3/16)*/ > aI; - index_angles = 70 - (int16_t) diffIR * 20; - } + specPOr[i] = sign( specPOr[i] ) * tmp1 * /*0.923880f*/ s[120 * mult_angle]; /* cos(PI/8)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 * /*0.382683f*/ s[40 * mult_angle]; } else { - if ( aR > aI * 0.4142136f /*tanf(PI/8)*/ ) - { - diffIR = aR > aI * 0.668179f /*tanf(PI*3/16)*/; - index_angles = 110 - (int16_t) diffIR * 20; - } - else - { - diffIR = aR > aI * 0.198912f /*tanf(PI/16)*/; - index_angles = 150 - (int16_t) diffIR * 20; - } - } - { - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; + specPOr[i] = sign( specPOr[i] ) * tmp1 * /*0.382683f*/ s[40 * mult_angle]; /* cos(PI*3/8)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 * /*0.923880f*/ s[120 * mult_angle]; } + gamma -= igamma; } - - for ( i = n0 >> 1; i < min( n0, 320 ); i++ ) /* binary search from 64 angles */ + for ( ; i < end ; i++ ) /* binary search from 16 angles */ { - aR = fabsf( specPOr[i] ); - aI = fabsf( specPOi[i] ); - if ( aR > aI ) + tmp1 = wnd[i * step + bias] * gamma; + if ( ( specPOr[i] - specPOi[i] ) * ( specPOr[i] + specPOi[i] ) > 0 ) { - if ( aR * 0.414213f /*tanf(PI/8)*/ > aI ) + if ( ( specPOr[i] * 0.414213f - specPOi[i] ) * ( specPOr[i] * 0.414213f + specPOi[i] ) > 0 ) /*tan(PI/8)*/ { - if ( aR * 0.19891f /*tanf(PI/16)*/ > aI ) - { - diffIR = aR * 0.0984914f /*tanf(PI/32)*/ > aI; - index_angles = 15 - (int16_t) diffIR * 10; - } - else - { - diffIR = aR * 0.3033467f /*tanf(PI*3/32)*/ > aI; - index_angles = 35 - (int16_t) diffIR * 10; - } + specPOr[i] = sign( specPOr[i] ) * tmp1 /*0.980785f */ * s[140 * mult_angle]; /* cos(PI/16)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 /*0.195090f */ * s[20 * mult_angle]; } else { - if ( aR * 0.66818f /*tanf(PI*3/16)*/ > aI ) - { - diffIR = aR * 0.534511f /*tanf(PI*5/32)*/ > aI; - index_angles = 55 - (int16_t) diffIR * 10; - } - else - { - diffIR = aR * 0.8206788f /*tanf(PI*7/32)*/ > aI; - index_angles = 75 - (int16_t) diffIR * 10; - } + specPOr[i] = sign( specPOr[i] ) * tmp1 /* 0.831470f */ * s[100 * mult_angle]; /*cos(PI*3/16)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 /* 0.555570f*/ * s[60 * mult_angle]; } } else { - if ( aR > aI * 0.4142136f /*tanf(PI/8)*/ ) + if ( ( specPOr[i] - specPOi[i] * 0.414213f ) * ( specPOr[i] + specPOi[i] * 0.414213f ) > 0 ) /*tan(PI/8)*/ { - if ( aR > aI * 0.6681767f /*tanf(PI*3/16)*/ ) - { - diffIR = aR > aI * 0.820681f /*tanf(PI*7/32)*/; - index_angles = 95 - (int16_t) diffIR * 10; - } - else - { - diffIR = aR > aI * 0.5345111f /*tanf(PI*5/32)*/; - index_angles = 115 - (int16_t) diffIR * 10; - } + specPOr[i] = sign( specPOr[i] ) * tmp1 /** 0.555570f*/ * s[60 * mult_angle]; /*cos(PI*5/16)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 /** 0.831470f*/ * s[100 * mult_angle]; } else { - if ( aR > aI * 0.1989124f /*tanf(PI/16)*/ ) - { - diffIR = aR > aI * 0.3033467f /*tanf(PI*3/32)*/; - index_angles = 135 - (int16_t) diffIR * 10; - } - else - { - diffIR = aR > aI * 0.098491f /*tanf(PI/32)*/; - index_angles = 155 - (int16_t) diffIR * 10; - } + specPOr[i] = sign( specPOr[i] ) * tmp1 /** 0.195090f*/ * s[20 * mult_angle]; /*cos(PI*7/16)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 /** 0.980785f*/ * s[140* mult_angle]; } } - { - tmp1 = wnd[i * step + bias] * gamma; - gamma -= igamma; - specPOr[i] = sign( specPOr[i] ) * cos_reverse[-index_angles * mult_angle] * tmp1 /*s[cos_max - index_angles]*/; - specPOi[i] = sign( specPOi[i] ) * s[index_angles * mult_angle] * tmp1; - } + gamma -= igamma; } -#endif /*BOOL5*/ if ( i < n0 ) { gamma -= igamma * ( n0 - 320 ); } - for ( /* i = min(n0, 320) */; i < n0; i++ ) /*neglect higher frequency bins when 48 kHz samplng*/ + for ( ; i < n0; i++ ) /*neglect higher frequency bins when 48 kHz samplng*/ { specPOr[i] = 0.f; specPOi[i] = 0.f; } - specPOr[n0] = sign( specLr[n0] ) * sign( specRr[n0] ) * wnd[i * step + bias] * gamma; + specPOr[n0] = sign( specLr[n0] * specRr [n0] ) * wnd[i * step + bias] * gamma; -#else /*end NTT_REDUC_COMP*/ +#else /*NTT_REDUC_COMP_POC*/ if ( input_frame == L_FRAME16k ) { step = 3; @@ -663,8 +386,12 @@ static void calc_poc( Li += ( -specRr[i] * eps_sin + specRi[i] * eps_cos ); Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); - tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); +#ifdef NTT_USE_INV_SQRT_POC + tmp1 = wnd[i * step + bias] * gamma * inv_sqrt( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) + EPS ); +#else + tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); +#endif specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1; specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1; @@ -687,8 +414,11 @@ static void calc_poc( Rr += ( -specLr[i] * eps_cos + specLi[i] * eps_sin ); Ri += ( -specLr[i] * eps_sin - specLi[i] * eps_cos ); +#ifdef NTT_USE_INV_SQRT_POC + tmp1 = wnd[i * step + bias] * gamma * inv_sqrt( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) + EPS ); +#else tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); - +#endif specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1; specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1; gamma -= igamma; -- GitLab From 3f9a0cd033531faefd433c4fbdfd6ce473404a84 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 12:06:17 +0100 Subject: [PATCH 028/620] add scripts and resources for compelxity measurements --- ci/complexity_measurements/ep_10pct_fer.g192 | 1 + .../genWebpageData_Prom.csh | 191 ++ .../genWebpageData_Ram.csh | 475 +++++ .../genWebpageData_Rom.csh | 153 ++ .../genWebpageData_WMOPS.csh | 469 +++++ .../genWebpageData_WmopPerOperatingpoint.csh | 475 +++++ ci/complexity_measurements/getWmops.sh | 70 + .../index_complexity.html | 1649 +++++++++++++++++ .../mergeNewsletterRam.py | 79 + .../parseNewsletterProm.py | 60 + .../parseNewsletterRam.py | 143 ++ .../parseNewsletterRom.py | 48 + .../parseNewsletterWmops.py | 77 + ci/complexity_measurements/style.css | 220 +++ 14 files changed, 4110 insertions(+) create mode 100755 ci/complexity_measurements/ep_10pct_fer.g192 create mode 100755 ci/complexity_measurements/genWebpageData_Prom.csh create mode 100755 ci/complexity_measurements/genWebpageData_Ram.csh create mode 100755 ci/complexity_measurements/genWebpageData_Rom.csh create mode 100755 ci/complexity_measurements/genWebpageData_WMOPS.csh create mode 100755 ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh create mode 100755 ci/complexity_measurements/getWmops.sh create mode 100755 ci/complexity_measurements/index_complexity.html create mode 100755 ci/complexity_measurements/mergeNewsletterRam.py create mode 100755 ci/complexity_measurements/parseNewsletterProm.py create mode 100755 ci/complexity_measurements/parseNewsletterRam.py create mode 100755 ci/complexity_measurements/parseNewsletterRom.py create mode 100755 ci/complexity_measurements/parseNewsletterWmops.py create mode 100755 ci/complexity_measurements/style.css diff --git a/ci/complexity_measurements/ep_10pct_fer.g192 b/ci/complexity_measurements/ep_10pct_fer.g192 new file mode 100755 index 0000000000..ba6bfc78b3 --- /dev/null +++ b/ci/complexity_measurements/ep_10pct_fer.g192 @@ -0,0 +1 @@ +!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k k k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k k!k!k k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k k k!k!k k k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k k!k!k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k k k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k k!k!k!k k k k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k k k!k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k k k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k k!k!k!k k k!k!k!k!k k!k k!k!k k!k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k k k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k k!k!k!k!k!k k k!k k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k k!k!k!k!k k!k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k!k k!k k!k k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k k!k k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k k k!k!k!k k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k k k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k k!k k!k!k k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k k k!k!k!k k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k k!k!k!k!k!k k k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k k!k!k!k k!k!k!k!k!k k!k k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k k!k!k!k k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k k k!k!k!k k!k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k k k!k!k!k!k!k k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k!k!k!k k!k k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k k!k!k!k k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k!k!k!k k!k!k k k!k!k k k!k!k!k!k!k!k!k!k!k!k!k k k!k k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k k!k k!k k k!k!k!k!k!k!k!k k!k!k!k k k!k k k!k!k!k!k!k!k!k k!k k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k k k!k!k!k!k!k!k!k!k!k!k k!k!k k!k!k!k!k!k k!k k!k k!k!k!k!k!k k!k!k!k!k!k k k!k!k!k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k k!k!k k!k k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k!k \ No newline at end of file diff --git a/ci/complexity_measurements/genWebpageData_Prom.csh b/ci/complexity_measurements/genWebpageData_Prom.csh new file mode 100755 index 0000000000..bd9f40efab --- /dev/null +++ b/ci/complexity_measurements/genWebpageData_Prom.csh @@ -0,0 +1,191 @@ +#!/bin/tcsh + +set maxValues = 40 + +if (${#argv} != 3) then + echo usage: $0 \ \ \ + exit +endif + +set srcFile1 = $1 + +set file_final = $2 +set file = ${file_final}_new_$$ + +set graphName = $3 + +set tmpBase = `basename $0` +set tmpFile1 = /tmp/${tmpBase}1_$$ +rm -f ${tmpFile1} +cat ${srcFile1} | tail -n ${maxValues} > ${tmpFile1} +set nLines1 = `cat ${tmpFile1} | wc -l` +set maxNumWordsLine = 7 + +rm -f $file +touch $file + +echo "var $graphName = {" >> $file +echo ' prom_worstcase: {' >> $file +echo ' description: "Worst Case PROM",' >> $file +echo ' direction: -1,' >> $file +echo ' runs: [' >> $file + + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + @ i++ + set separator = "," + if ( $i == $nLines1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set revision = $tmp[1] + set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` + set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` + set logFileFlc = $tmp[5] + set logFileBasop = $tmp[7] + + echo ' {' >> $file + echo ' fullDate: "'${fullDate}'",' >> $file + echo ' shortDate: "'${shortDate}'",' >> $file + echo ' revision: "'${revision}'",' >> $file + echo ' logFileFlc: "'${logFileFlc}'",' >> $file + echo ' logFileBasop: "'${logFileBasop}'",' >> $file + echo ' }'${separator} >> $file + +end +echo ' ],' >> $file + +# begin displays +echo ' displays: [' >> $file + +# requirement PROM +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#000000",' >> $file +echo ' id: "requirementProm",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + set separator = "," + if ( $i == $nLines1 - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = 54260 + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# requirement ROM + +# measured ops FLC +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FF8000",' >> $file +echo ' id: "promOpsFlc",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + set separator = "," + if ( $i == $nLines1 - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[4] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# measured ops FLC + +# measured ops BASOP +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#0080FF",' >> $file +echo ' id: "promOpsBasop",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + set separator = "," + if ( $i == $nLines1 - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[6] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' }' >> $file + +echo ' ]' >> $file + +echo ' }' >> $file +echo '};' >> $file + +mv -f $file $file_final +rm -f ${tmpFile1} diff --git a/ci/complexity_measurements/genWebpageData_Ram.csh b/ci/complexity_measurements/genWebpageData_Ram.csh new file mode 100755 index 0000000000..dfa6d13ca5 --- /dev/null +++ b/ci/complexity_measurements/genWebpageData_Ram.csh @@ -0,0 +1,475 @@ +#!/bin/tcsh + +set maxValues = 40 + +if (${#argv} != 3) then + echo usage: $0 \ \ \ + exit +endif + +set srcFile = $1 +set file_final = $2 +set file = ${file_final}_new_$$ +set graphName = $3 + + +set tmpBase = `basename $0` +set tmpFile = /tmp/${tmpBase}_$$ +rm -f ${tmpFile} +cat ${srcFile} | tail -n ${maxValues} > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +set maxNumWordsLine = 19 + +rm -f $file +touch $file + +echo "var $graphName = {" >> $file +echo ' ram_worstcase: {' >> $file +echo ' description: "Worst Case RAM",' >> $file +echo ' direction: -1,' >> $file +echo ' runs: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + @ i++ + set separator = "," + if ( $i == $nLines ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set revision = $tmp[1] + set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` + set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` + set maxTotalRamEnc = $tmp[5] + set maxTotalRamDec = $tmp[7] + set maxDynamicRamEnc = $tmp[10] + set maxDynamicRamDec = $tmp[12] + set maxStaticRamEnc = $tmp[15] + set maxStaticRamDec = $tmp[17] + set logFile = $tmp[19] + + echo ' {' >> $file + echo ' fullDate: "'${fullDate}'",' >> $file + echo ' shortDate: "'${shortDate}'",' >> $file + echo ' revision: "'${revision}'",' >> $file + echo ' maxTotalRamEnc: "'${maxTotalRamEnc}'",' >> $file + echo ' maxTotalRamDec: "'${maxTotalRamDec}'",' >> $file + echo ' maxDynamicRamEnc: "'${maxDynamicRamEnc}'",' >> $file + echo ' maxDynamicRamDec: "'${maxDynamicRamDec}'",' >> $file + echo ' maxStaticRamEnc: "'${maxStaticRamEnc}'",' >> $file + echo ' maxStaticRamDec: "'${maxStaticRamDec}'",' >> $file + echo ' logFile: "'${logFile}'"' >> $file + echo ' }'${separator} >> $file + +end +echo ' ],' >> $file + +# begin displays +echo ' displays: [' >> $file + +# requirement RAM +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#000000",' >> $file +echo ' id: "requirementRam",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = 200000 + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# requirement RAM + +# maxTotalRamCodecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FF0000",' >> $file +echo ' id: "maxTotalRamCodecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[4] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxTotalRamCodecScore + +# maxTotalRamEncScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FF8000",' >> $file +echo ' id: "maxTotalRamEncScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[6] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxTotalRamEncScore + +# maxTotalRamDecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FFFF00",' >> $file +echo ' id: "maxTotalRamDecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[8] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxTotalRamDecScore + +# maxDynamicRamCodecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#004000",' >> $file +echo ' id: "maxDynamicRamCodecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[9] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxDynamicRamCodecScore + + +# maxDynamicRamEncScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#008000",' >> $file +echo ' id: "maxDynamicRamEncScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[11] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxDynamicRamEncScore + +# maxDynamicRamDecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#00FF00",' >> $file +echo ' id: "maxDynamicRamDecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[13] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxDynamicRamDecScore + +# maxStaticRamCodecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#800080",' >> $file +echo ' id: "maxStaticRamCodecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[14] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxStaticRamCodecScore + +# maxStaticRamEncScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#0000FF",' >> $file +echo ' id: "maxStaticRamEncScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[16] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# maxStaticRamEncScore + +# maxStaticRamDecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#0080C0",' >> $file +echo ' id: "maxStaticRamDecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[18] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' }' >> $file +# maxStaticRamDecScore + +echo ' ]' >> $file +# end displays + +echo ' }' >> $file +echo '};' >> $file + +mv -f $file $file_final +rm -f $tmpFile diff --git a/ci/complexity_measurements/genWebpageData_Rom.csh b/ci/complexity_measurements/genWebpageData_Rom.csh new file mode 100755 index 0000000000..776e801549 --- /dev/null +++ b/ci/complexity_measurements/genWebpageData_Rom.csh @@ -0,0 +1,153 @@ +#!/bin/tcsh + +set maxValues = 40 + +if (${#argv} != 3) then + echo usage: $0 \ \ \ \ + exit +endif + +set srcFile1 = $1 + +set file_final = $2 +set file = ${file_final}_new_$$ +set graphName = $3 + +set tmpBase = `basename $0` +set tmpFile1 = /tmp/${tmpBase}1_$$ +set tmpFile2 = /tmp/${tmpBase}2_$$ +rm -f ${tmpFile1} ${tmpFile2} +cat ${srcFile1} | tail -n ${maxValues} > ${tmpFile1} +set nLines1 = `cat ${tmpFile1} | wc -l` +set maxNumWordsLine1 = 5 +set maxNumWordsLine2 = 5 + +rm -f $file +touch $file + +echo "var $graphName = {" >> $file +echo ' rom_worstcase: {' >> $file +echo ' description: "Worst Case ROM",' >> $file +echo ' direction: -1,' >> $file +echo ' runs: [' >> $file + + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + @ i++ + set separator = "," + if ( $i == $nLines1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine1 ) then + continue + endif + + set revision = $tmp[1] + set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` + set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` + set logFileFlc = $tmp[5] + + echo ' {' >> $file + echo ' fullDate: "'${fullDate}'",' >> $file + echo ' shortDate: "'${shortDate}'",' >> $file + echo ' revision: "'${revision}'",' >> $file + echo ' logFileFlc: "'${logFileFlc}'",' >> $file +# echo ' logFileBasop: "'${logFileBasop[$i]}'"' >> $file + echo ' }'${separator} >> $file + +end +echo ' ],' >> $file + +# begin displays +echo ' displays: [' >> $file + +# requirement ROM +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#000000",' >> $file +echo ' id: "requirementRom",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + set separator = "," + if ( $i == $nLines1 - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine1 ) then + continue + endif + + set score = 200000 + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# requirement ROM + +# maxTablesizeCodecScore FLC +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FF8000",' >> $file +echo ' id: "maxRomFlc",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile1}`" ) + set separator = "," + if ( $i == $nLines1 - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine1 ) then + continue + endif + + set score = $tmp[4] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' }' >> $file +# maxTablesizeCodecScore FLC +echo ' ]' >> $file +# end displays + +echo ' }' >> $file +echo '};' >> $file + +mv -f $file $file_final +rm -f $tmpFile1 diff --git a/ci/complexity_measurements/genWebpageData_WMOPS.csh b/ci/complexity_measurements/genWebpageData_WMOPS.csh new file mode 100755 index 0000000000..c3137640d6 --- /dev/null +++ b/ci/complexity_measurements/genWebpageData_WMOPS.csh @@ -0,0 +1,469 @@ +#!/bin/tcsh + +set maxValues = 40 + +if (${#argv} != 3) then + echo usage: $0 \ \ \ + exit +endif + +set srcFile = $1 +set file_final = $2 +set file = ${file_final}_new_$$ +set graphName = $3 + + +set tmpBase = `basename $0` +set tmpFile = /tmp/${tmpBase}_$$ +rm -f ${tmpFile} +cat ${srcFile} | tail -n ${maxValues} > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +set maxNumWordsLineOld = 12 +set maxNumWordsLineNew = 19 + +rm -f $file +touch $file + +echo "var $graphName = {" >> $file +echo ' wmops_worstcase: {' >> $file +echo ' description: "Worst Case WMOPS",' >> $file +echo ' direction: -1,' >> $file +echo ' runs: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + @ i++ + set separator = "," + if ( $i == $nLines ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + set revision = $tmp[1] + set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` + set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` + set worstCaseEnc = $tmp[5] + set worstCaseDec = $tmp[7] + set worstCaseCodec = $tmp[9] + set fixpointScalingFac = $tmp[11] + if ( $numWords == $maxNumWordsLineOld ) then + set logFile = $tmp[12] + set worstCaseEncRs = "" + set worstCaseDecRs = "" + set worstCaseCodecRs = "" + else if ( $numWords < $maxNumWordsLineNew ) then + set logFile = "" + set worstCaseEncRs = "" + set worstCaseDecRs = "" + set worstCaseCodecRs = "" + else + set logFile = $tmp[19] + set worstCaseEncRs = $tmp[13] + set worstCaseDecRs = $tmp[15] + set worstCaseCodecRs = $tmp[17] + endif + + + echo ' {' >> $file + echo ' fullDate: "'${fullDate}'",' >> $file + echo ' shortDate: "'${shortDate}'",' >> $file + echo ' revision: "'${revision}'",' >> $file + echo ' worstCaseEnc: "'${worstCaseEnc}'",' >> $file + echo ' worstCaseDec: "'${worstCaseDec}'",' >> $file + echo ' worstCaseCodec: "'${worstCaseCodec}'",'>> $file + echo ' worstCaseEncRs: "'${worstCaseEncRs}'",' >> $file + echo ' worstCaseDecRs: "'${worstCaseDecRs}'",' >> $file + echo ' worstCaseCodecRs: "'${worstCaseCodecRs}'",'>> $file + echo ' fixpointScalingFac: "'${fixpointScalingFac}'",'>> $file + echo ' logFile: "'${logFile}'"' >> $file + echo ' }'${separator} >> $file + +end +echo ' ],' >> $file + +# begin displays +echo ' displays: [' >> $file + +# 135 WMOPS boundary +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: false,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#000000",' >> $file +echo ' id: "requirement",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + echo ' ['"${i}, 135.00"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# 135 WMOPS boundary + +# worst case codec +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#0080FF",' >> $file +echo ' id: "worst case codec",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + set score = $tmp[10] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# end worst case codec + +# worst case enc/dec +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FF8000",' >> $file +echo ' id: "worst case enc/dec",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + set score = $tmp[4] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# worst case enc/dec + +# worst case encoder +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#CF4B4B",' >> $file +echo ' id: "worst case enc",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + set score = $tmp[6] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# end worst case encoder + +# worst case decoder +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#008040",' >> $file +echo ' id: "worst case dec",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + set score = $tmp[8] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# end worst case decoder + +########### rateswitching ############### + +# worst case codec rateswitching +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#40C4FF",' >> $file +echo ' id: "worst case codec rs",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + if ( $numWords < $maxNumWordsLineNew ) then + set score = 0 + else + set score = $tmp[18] + endif + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# end worst case codec rateswitching + +# worst case enc/dec rateswitching +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FFC480",' >> $file +echo ' id: "worst case enc/dec rs",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + if ( $numWords < $maxNumWordsLineNew ) then + set score = 0 + else + set score = $tmp[12] + endif + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# worst case enc/dec rateswitching + +# worst case encoder rateswitching +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#CF8080",' >> $file +echo ' id: "worst case enc rs",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + if ( $numWords < $maxNumWordsLineNew ) then + set score = 0 + else + set score = $tmp[14] + endif + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# end worst case encoder rateswitching + +# worst case decoder rateswitching +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#00F040",' >> $file +echo ' id: "worst case dec rs",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLineOld ) then + continue + endif + + if ( $numWords < $maxNumWordsLineNew ) then + set score = 0 + else + set score = $tmp[16] + endif + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' }' >> $file +# end worst case decoder rateswitching + +########### end rateswitching ############### + +echo ' ]' >> $file +# end displays + +echo ' }' >> $file +echo '};' >> $file + +mv -f $file $file_final +rm -f $tmpFile diff --git a/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh b/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh new file mode 100755 index 0000000000..21d4ab324a --- /dev/null +++ b/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh @@ -0,0 +1,475 @@ +#!/bin/tcsh + +set srcFile = $1 +set file_final = $2 +set file = ${file_final}.new +set graphName = $3 + +set tmpBase = `basename $0` +set tmpFile = /tmp/${tmpBase}_$$ + +rm -f $file +touch $file + +set worstCaseCodec +set worstCaseEnc +set worstCaseDec +@ numEntries = 0; +@ offsetTicks = 0; + +echo "var $graphName = {" >> $file +echo ' wmops_worstcase_per_op: {' >> $file +echo ' description: "Worst Case WMOPS per OP",' >> $file +echo ' direction: -1,' >> $file +echo ' runs: [' >> $file + +# +# NB modes +# +if (0) then # don't use! +rm -f ${tmpFile} +cat ${srcFile} | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_NB_" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksNB = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "NB"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + +# +# NB modes, rateswitching +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_NB_RS" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksNB_RS = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "NB RS"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + +# +# AMR-WB IO modes +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_WB_" | grep "AMR" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksWBIO = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "AMR-WB IO"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + +# +# AMR-WB IO modes rateswitching +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_WB_RS" | grep "AMR" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksWBIO_RS = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "AMR-WB IO RS"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file +endif + +# +# WB modes +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_WB_" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksWB = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "WB"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + +# +# WB modes rateswitching +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_WB_RS" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksWB_RS = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "WB RS"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + +# +# SWB modes +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_SWB_" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksSWB = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "SWB"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + + +# +# SWB modes rateswitching +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_SWB_RS" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksSWB_RS = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "SWB RS"' >> $file + echo ' },' >> $file + +end + +# +# FB modes +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_FB_" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksFB = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +foreach line ( "`cat ${tmpFile}`" ) + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "FB"' >> $file + echo ' },' >> $file + +end + +set worstCaseCodec = ( $worstCaseCodec 0 ) +set worstCaseEnc = ( $worstCaseEnc 0 ) +set worstCaseDec = ( $worstCaseDec 0 ) +@ numEntries++ + +echo ' {' >> $file +echo ' operatingPoint: "",' >> $file +echo ' mode: ""' >> $file +echo ' },' >> $file + + +# +# FB modes rateswitching +# +rm -f ${tmpFile} +cat $srcFile | grep "[0-9]" | sed -e "s/\ /_/g" | sed -e "s/;/\ /g" | grep "_FB_RS" > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +@ ticksFB_RS = $offsetTicks + ( $nLines / 2 ) +@ offsetTicks += ($nLines + 1) + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + @ i++ + set separator = "," + if ( $i == $nLines ) then + set separator = "" + endif + + set tmp = `echo $line` + + set operatingPoint = $tmp[1] + set worstCaseCodec = ( $worstCaseCodec $tmp[4] ) + set worstCaseEnc = ( $worstCaseEnc $tmp[2] ) + set worstCaseDec = ( $worstCaseDec $tmp[3] ) + @ numEntries++ + + echo ' {' >> $file + echo ' operatingPoint: "'${operatingPoint}'",' >> $file + echo ' mode: "SWB RS"' >> $file + echo ' }'${separator} >> $file + +end + +echo ' ],' >> $file + +# +# ticks +# +echo ' ticks: [' >> $file +if (0) then +echo ' ['$ticksNB', "NB"],' >> $file +echo ' ['$ticksNB_RS', "NB RS"],' >> $file +echo ' ['$ticksWBIO', "AMR-WB IO"],' >> $file +endif +echo ' ['$ticksWB', "WB"],' >> $file +echo ' ['$ticksWB_RS', "WB RS"],' >> $file +echo ' ['$ticksSWB', "SWB"],' >> $file +echo ' ['$ticksSWB_RS', "SWB RS"],' >> $file +echo ' ['$ticksFB', "FB"],' >> $file +echo ' ['$ticksFB_RS', "FB RS"]' >> $file +echo ' ],' >> $file + + +# begin displays +echo ' displays: [' >> $file + +# Start: Worse case encoder +echo ' {' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: false,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#CF4B4B",' >> $file +echo ' id: "worstCaseEnc",' >> $file +echo ' label: "Encoder",' >> $file +echo ' data: [' >> $file + +@ i = 0 +while($i < $numEntries) + + set separator = "," + if ( $i == $numEntries - 1 ) then + set separator = "" + endif + + @ j = $i + 1 + + echo ' ['"${i}, $worstCaseEnc[$j]"']'${separator} >> $file + + @ i++ +end + +echo ' ]' >> $file +echo ' },' >> $file +# End: Worst case encoder + +# Start: Worse case decoder +echo ' {' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: false,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#008040",' >> $file +echo ' id: "worstCaseDec",' >> $file +echo ' label: "Decoder",' >> $file +echo ' data: [' >> $file + +@ i = 0 +while($i < $numEntries) + + set separator = "," + if ( $i == $numEntries - 1 ) then + set separator = "" + endif + + @ j = $i + 1 + + echo ' ['"${i}, $worstCaseDec[$j]"']'${separator} >> $file + + @ i++ +end + +echo ' ]' >> $file +echo ' }' >> $file +# End: Worst case encoder + +echo ' ]' >> $file +# end displays + +echo ' }' >> $file +echo '};' >> $file + +mv -f $file $file_final +rm -f $tmpFile diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh new file mode 100755 index 0000000000..268d1eb59f --- /dev/null +++ b/ci/complexity_measurements/getWmops.sh @@ -0,0 +1,70 @@ +#! /bin/bash + +# get format from command line +if [ $# -ne 1 ]; then + echo "Usage: $0 ivas-format" + exit 1 +fi + +ivas_format=$1 + +date=`date +%Y%m%d` # used for log-file file ending +shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file +fullDate=`date "+%c" | sed -e "s/\ /_/g"` # stored in the log-file + +commit_sha=`git rev-parse --short HEAD` + +destDir="." +scriptDir="scripts/complexity_measurements" +ep="${scriptDir}/ep_10pct_fer.g192" +numThreads=10 + +config_file="scripts/config/ci_linux.json" + +# get wmops newsletter +wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} +wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} +wmopsFilenameFlc48kHzLast=wmops_newsletter_stereo_48kHz__${commit_sha}_${date} +wmopsFilenameFlc48kHz=${destDir}/wmops/logs/${wmopsFilenameFlc48kHzLast} + +# instrument and build +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -t ${numThreads} -f ${ep} +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -t ${numThreads} -f ${ep} + +# now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode +### WMOPS +${scriptDir}/parseNewsletterWmops.py ${wmopsFilenameFlc}_WMOPS.csv ${wmopsFilenameFlcLast}_WMOPS.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_wmops_all.txt +${scriptDir}/parseNewsletterWmops.py ${wmopsFilenameFlc48kHz}_WMOPS.csv ${wmopsFilenameFlc48kHzLast}_WMOPS.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_wmops_48kHz_all.txt + +# now update the webpage +tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt ${destDir}/wmops/graphs_wmops_flc.js Graphs_WMOPS +tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_48kHz_all.txt ${destDir}/wmops/graphs_wmops_flc_48kHz.js Graphs_WMOPS_48kHz + +# per mode graph +tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP +tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc48kHz}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP_48kHz.js Graphs_WMOPS_perOP_48kHz + +# get memory info for webpage +### RAM +${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc48kHz}_SRAM.csv ${wmopsFilenameFlc48kHz}_DRAM.csv > ${wmopsFilenameFlc48kHz}_RAM.csv +${scriptDir}/parseNewsletterRam.py ${wmopsFilenameFlc48kHz}_SRAM.csv ${wmopsFilenameFlc48kHz}_DRAM.csv ${wmopsFilenameFlc48kHzLast}_RAM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_ram_all.txt + +# generate java script from database +tcsh ${scriptDir}/genWebpageData_Ram.csh ${destDir}/wmops/log_ram_all.txt ${destDir}/wmops/graphs_ram_flc.js Graphs_RAM + +### ROM +${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_TABLES.csv ${wmopsFilenameFlcLast}_TABLES.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_rom_all.txt + +# generate java script from database +tcsh ${scriptDir}/genWebpageData_Rom.csh ${destDir}/wmops/log_rom_all.txt ${destDir}/wmops/graphs_rom_flc.js Graphs_ROM + +# now go on with BASOP +promFilenameBasopLast="null" +promScoreBasop=0 + +### PROM +${scriptDir}/parseNewsletterProm.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlcLast}_PROM.csv ${commit_sha} ${shortDate} ${fullDate} ${promScoreBasop} ${promFilenameBasopLast} >> ${destDir}/wmops/log_prom_all.txt + +# generate java script from database +tcsh ${scriptDir}/genWebpageData_Prom.csh ${destDir}/wmops/log_prom_all.txt ${destDir}/wmops/graphs_prom_flc.js Graphs_PROM + diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html new file mode 100755 index 0000000000..855d4758c8 --- /dev/null +++ b/ci/complexity_measurements/index_complexity.html @@ -0,0 +1,1649 @@ + + + + + + + + IVAS Stereo - Worst Case WMOPS/Memory Performance + + + + + + + + + + + + + + + + + + + + + + + + +
+

IVAS Stereo - Worst Case WMOPS Performance (Float, native SR)

+ +
+
+
+ +
+
    +
  • Complexity requirement: 135 WMOPS (approximately 3.1 x WMOPS complexity of AMR-WB estimated with ITU-T STL2009)
  • +
  • Worst case encoder + decoder performance: Encoder and decoder mode might be different.
  • +
  • Worst case encoder + decoder performance (rateswitching): Encoder and decoder mode might be different.
  • +
  • Worst case codec performance: Encoder and decoder modes are identical.
  • +
  • Worst case codec performance (rateswitching): Encoder and decoder modes are identical.
  • +
  • Worst case encoder performance
  • +
  • Worst case encoder performance (rateswitching)
  • +
  • Worst case decoder performance
  • +
  • Worst case decoder performance (rateswitching)
  • +
+
+ +
+ +

IVAS Stereo - Worst Case WMOPS Performance + per Operating Point (Float, native SR)

+ +
+
+
+ +
+
+
+ +
+ + +

IVAS Stereo - Worst Case WMOPS Performance (Float, 48 kHz)

+ +
+
+
+ +
+
    +
  • Complexity requirement: 135 WMOPS (approximately 3.1 x WMOPS complexity of AMR-WB estimated with ITU-T STL2009)
  • +
  • Worst case encoder + decoder performance: Encoder and decoder mode might be different.
  • +
  • Worst case encoder + decoder performance (rateswitching): Encoder and decoder mode might be different.
  • +
  • Worst case codec performance: Encoder and decoder modes are identical.
  • +
  • Worst case codec performance (rateswitching): Encoder and decoder modes are identical.
  • +
  • Worst case encoder performance
  • +
  • Worst case encoder performance (rateswitching)
  • +
  • Worst case decoder performance
  • +
  • Worst case decoder performance (rateswitching)
  • +
+
+ +
+ +

IVAS Stereo - Worst Case WMOPS Performance + per Operating Point (Float, 48 kHz)

+ +
+
+
+ +
+
+
+ +
+ + + + + +

IVAS Stereo - Worst Case RAM Demand (Float)

+ +
+
+
+ +
+
    +
  • RAM requirement: 200 kWord (≈ 31 x RAM of AMR-WB speech codec: 6.5 kWord)
  • +
  • Max. total RAM Codec: + Dynamic + Static RAM, 32 bit words, Encoder + Decoder
  • +
  • Max. total RAM + Encoder: Dynamic + Static RAM, 32 bit words, Encoder only
  • +
  • Max. total RAM + Decoder: Dynamic + Static RAM, 32 bit words, Decoder only
  • + +
  • Max. static RAM Codec: + Static RAM, 32 bit words, Encoder + Decoder
  • +
  • Max. static RAM + Encoder: Static RAM, 32 bit words,, Encoder only
  • +
  • Max. static RAM + Decoder: Static RAM, 32 bit words, Decoder only
  • + +
  • Max. dynamic RAM + Codec: Dynamic RAM, 32 bit words, Encoder + Decoder
  • +
  • Max. dynamic RAM + Encoder: Dynamic RAM, 32 bit words, Encoder only
  • +
  • Max. dynamic RAM + Decoder: Dynamic RAM, 32 bit words, Decoder only
  • +
+
+ +
+ + + +

IVAS Stereo - Worst Case ROM Demand (Float)

+ +
+
+
+ +
+
    +
  • ROM requirement: 200 kWord (≈ 20 x ROM of AMR-WB speech codec: 9.9 kWord)
  • +
  • Measured ROM table size, 32 + bit words (Float)
  • +
+
+ + + +

IVAS Stereo - Worst Case PROM Demand

+ +
+
+
+ +
+
    +
  • PROM requirement: 54260 Ops (10 x Program ROM of AMR-WB speech codec, estimated with ITU-T STL2009: 5426 Ops)
  • +
  • Measured PROM (Float, + trunk)
  • +
  • Measured PROM (BASOP, branch basop)
  • +
+
+ +
+ +

FAQ

+
+
Q:
What does "native SR" mean? What is the difference between the graphs titled "native SR" and "48 kHz"?
+
A:
The graphs titled "native SR" run encoder/decoder at the native input/output sampling-rate per operating point. This is 16 kHz for WB, 32 kHz for SWB etc. The graphs titled "48 kHz" use 48 kHz input/output sampling rate, independent of the supported bandwidth, which is set by using the "-max_band" commandline switch.
+
Q:
What is the meaning of these funny symbols in the navigation box, in the left upper corner of this page?
+
A:
+ 1) Traffic light , or : The traffic light symbols show, whether the last datapoint matches the requirement (green) or not (red). A yellow traffic light means that the requirement is matched, but the score is very close (within a 3% margin) to the requirement.
+ 2) Arrow , , : The arrow indicates the trend of the last datapoint, compared to the last but one. An upwards arrow means that the score got higher (i.e. worse), downwards arrow arrow means that the score got lower (i.e. better), and a rightwards arrow means that the score was kept constant (within a 1% margin). +
+
Q:
Which input files are used for audio-input? What error pattern is used?
+
A:
The input files can be found here. The error pattern is here. +
+ + +
+

Legal notice

+
+ This webpage uses jQuery and Flot.js libraries for which the following licenses apply: +
+
jQuery:
+
+ Copyright OpenJS Foundation and other contributors, https://openjsf.org/ + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +
+
Flot.js:
+
+ Copyright (c) 2007-2014 IOLA and Ole Laursen + + Permission is hereby granted, free of charge, to any person + obtaining a copy of this software and associated documentation + files (the "Software"), to deal in the Software without + restriction, including without limitation the rights to use, + copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following + conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES + OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT + HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, + WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + OTHER DEALINGS IN THE SOFTWARE. +
+
+
+
+ + + + + diff --git a/ci/complexity_measurements/mergeNewsletterRam.py b/ci/complexity_measurements/mergeNewsletterRam.py new file mode 100755 index 0000000000..5dec63ffad --- /dev/null +++ b/ci/complexity_measurements/mergeNewsletterRam.py @@ -0,0 +1,79 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# /************************* IVAS control modules ****************************** +# +# (C) Copyright Fraunhofer IIS (2022) +# All Rights Reserved +# +# Initial author: mul +# contents/description: General utility functions for file and directory handling +# +# USAGE: +# +# This software and/or program is protected by copyright law and international +# treaties. Any reproduction or distribution of this software and/or program, +# or any portion of it, may result in severe civil and criminal penalties, and +# will be prosecuted to the maximum extent possible under law. +# +# ******************************************************************************/ + +import csv +import sys +import re + +newsletterFilename = "" +newsletterFilenameLast = "" +revision = "" +shortDate = "" +fullDate = "" + +if __name__ == "__main__": + newsletterFilenameSram = sys.argv[1] + newsletterFilenameDram = sys.argv[2] + +ram_table = {} + +with open(newsletterFilenameSram, "r") as csvfile: + SRAM = csv.reader(csvfile, delimiter=";") + for row in SRAM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + ram_table[key] = lst + +with open(newsletterFilenameDram, "r") as csvfile: + DRAM = csv.reader(csvfile, delimiter=";") + for row in DRAM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + ram_table[key] += lst + +# now we have the following format +# SRAM enc, SRAM dec, SRAM total, DRAM enc, DRAM dec, DRAM max(enc, dec) + +print("conf;sram enc;sram dec;sram total;dram enc;dram dec;dram max;total") + +for key in ram_table: + ram = ram_table[key] + total = int(ram[1]) + int(ram[2]) + int(ram[5]) + print( + key, + ";", + ram[0], + ";", + ram[1], + ";", + ram[2], + ";", + ram[3], + ";", + ram[4], + ";", + ram[5], + ";", + total, + sep="", + ) diff --git a/ci/complexity_measurements/parseNewsletterProm.py b/ci/complexity_measurements/parseNewsletterProm.py new file mode 100755 index 0000000000..8809b92e7b --- /dev/null +++ b/ci/complexity_measurements/parseNewsletterProm.py @@ -0,0 +1,60 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# /************************* IVAS control modules ****************************** +# +# (C) Copyright Fraunhofer IIS (2022) +# All Rights Reserved +# +# Initial author: mul +# contents/description: General utility functions for file and directory handling +# +# USAGE: +# +# This software and/or program is protected by copyright law and international +# treaties. Any reproduction or distribution of this software and/or program, +# or any portion of it, may result in severe civil and criminal penalties, and +# will be prosecuted to the maximum extent possible under law. +# +# ******************************************************************************/ + +import csv +import sys +import re + +newsletterFilename = "" +newsletterFilenameLast = "" +revision = "" +shortDate = "" +fullDate = "" +maxPromOpsBasop = "" +logfileBasop = "" + +if __name__ == "__main__": + newsletterFilename = sys.argv[1] + newsletterFilenameLast = sys.argv[2] + revision = sys.argv[3] + shortDate = sys.argv[4] + fullDate = sys.argv[5] + maxPromOpsBasop = sys.argv[6] + logfileBasop = sys.argv[7] + +max_total = ["", 0] + +with open(newsletterFilename, "r") as csvfile: + prom = csv.reader(csvfile, delimiter=";") + for row in prom: + if row[0] == "conf": + continue + if int(row[4]) > max_total[1]: + max_total[0] = re.sub(" ", "_", row[0]) + max_total[1] = int(row[4]) + +print( + revision, + shortDate, + fullDate, + max_total[1], + newsletterFilenameLast, + maxPromOpsBasop, + logfileBasop, +) diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py new file mode 100755 index 0000000000..43b34a8544 --- /dev/null +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -0,0 +1,143 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# /************************* IVAS control modules ****************************** +# +# (C) Copyright Fraunhofer IIS (2022) +# All Rights Reserved +# +# Initial author: mul +# contents/description: General utility functions for file and directory handling +# +# USAGE: +# +# This software and/or program is protected by copyright law and international +# treaties. Any reproduction or distribution of this software and/or program, +# or any portion of it, may result in severe civil and criminal penalties, and +# will be prosecuted to the maximum extent possible under law. +# +# ******************************************************************************/ + +import csv +import sys +import re + +newsletterFilename = "" +newsletterFilenameLast = "" +revision = "" +shortDate = "" +fullDate = "" + +if __name__ == "__main__": + newsletterFilenameSram = sys.argv[1] + newsletterFilenameDram = sys.argv[2] + newsletterFilenameLast = sys.argv[3] + revision = sys.argv[4] + shortDate = sys.argv[5] + fullDate = sys.argv[6] + +max_total_enc = ["", 0] +max_total_dec = ["", 0] +max_total_encdec = ["", 0] + +max_dynamic_enc = ["", 0] +max_dynamic_dec = ["", 0] +max_dynamic_encdec = ["", 0] + +max_static_enc = ["", 0] +max_static_dec = ["", 0] +max_static_encdec = ["", 0] + +ram_table = {} + +with open(newsletterFilenameSram, "r") as csvfile: + SRAM = csv.reader(csvfile, delimiter=";") + for row in SRAM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + ram_table[key] = lst + +with open(newsletterFilenameDram, "r") as csvfile: + DRAM = csv.reader(csvfile, delimiter=";") + for row in DRAM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + ram_table[key] += lst + +# now we have the following format +# SRAM enc, SRAM dec, SRAM total, DRAM enc, DRAM dec, DRAM max(enc, dec) + +for key in ram_table: + ram = ram_table[key] + static_enc = int(ram[0]) + static_dec = int(ram[1]) + static_encdec = static_enc + static_dec + + dynamic_enc = int(ram[3]) + dynamic_dec = int(ram[4]) + dynamic_encdec = int(ram[5]) + + total_enc = static_enc + dynamic_enc + total_dec = static_dec + dynamic_dec + total_encdec = static_encdec + dynamic_encdec + + if static_enc > max_static_enc[1]: + max_static_enc[0] = re.sub(" ", "_", key) + max_static_enc[1] = static_enc + + if static_dec > max_static_dec[1]: + max_static_dec[0] = re.sub(" ", "_", key) + max_static_dec[1] = static_dec + + if static_encdec > max_static_encdec[1]: + max_static_encdec[0] = re.sub(" ", "_", key) + max_static_encdec[1] = static_encdec + + if dynamic_enc > max_dynamic_enc[1]: + max_dynamic_enc[0] = re.sub(" ", "_", key) + max_dynamic_enc[1] = dynamic_enc + + if dynamic_dec > max_dynamic_dec[1]: + max_dynamic_dec[0] = re.sub(" ", "_", key) + max_dynamic_dec[1] = dynamic_dec + + if dynamic_encdec > max_dynamic_encdec[1]: + max_dynamic_encdec[0] = re.sub(" ", "_", key) + max_dynamic_encdec[1] = dynamic_encdec + + if total_enc > max_total_enc[1]: + max_total_enc[0] = re.sub(" ", "_", key) + max_total_enc[1] = total_enc + + if total_dec > max_static_dec[1]: + max_total_dec[0] = re.sub(" ", "_", key) + max_total_dec[1] = total_dec + + if total_encdec > max_static_encdec[1]: + max_total_encdec[0] = re.sub(" ", "_", key) + max_total_encdec[1] = total_encdec + +print( + revision, + shortDate, + fullDate, + max_total_encdec[1], + max_total_enc[0], + max_total_enc[1], + max_total_dec[0], + max_total_dec[1], + max_dynamic_encdec[1], + max_dynamic_encdec[0], + max_dynamic_enc[1], + max_dynamic_dec[0], + max_dynamic_dec[1], + max_static_enc[1] + max_static_dec[1], + max_static_enc[0], + max_static_enc[1], + max_static_dec[0], + max_static_dec[1], + newsletterFilenameLast, +) diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py new file mode 100755 index 0000000000..9350b8fac6 --- /dev/null +++ b/ci/complexity_measurements/parseNewsletterRom.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# /************************* IVAS control modules ****************************** +# +# (C) Copyright Fraunhofer IIS (2022) +# All Rights Reserved +# +# Initial author: mul +# contents/description: General utility functions for file and directory handling +# +# USAGE: +# +# This software and/or program is protected by copyright law and international +# treaties. Any reproduction or distribution of this software and/or program, +# or any portion of it, may result in severe civil and criminal penalties, and +# will be prosecuted to the maximum extent possible under law. +# +# ******************************************************************************/ + +import csv +import sys +import re + +newsletterFilename = "" +newsletterFilenameLast = "" +revision = "" +shortDate = "" +fullDate = "" + +if __name__ == "__main__": + newsletterFilename = sys.argv[1] + newsletterFilenameLast = sys.argv[2] + revision = sys.argv[3] + shortDate = sys.argv[4] + fullDate = sys.argv[5] + +max_total = ["", 0] + +with open(newsletterFilename, "r") as csvfile: + rom = csv.reader(csvfile, delimiter=";") + for row in rom: + if row[0] == "conf": + continue + if int(row[4]) > max_total[1]: + max_total[0] = re.sub(" ", "_", row[0]) + max_total[1] = int(row[4]) + +print(revision, shortDate, fullDate, max_total[1], newsletterFilenameLast) diff --git a/ci/complexity_measurements/parseNewsletterWmops.py b/ci/complexity_measurements/parseNewsletterWmops.py new file mode 100755 index 0000000000..14ab3b3ef9 --- /dev/null +++ b/ci/complexity_measurements/parseNewsletterWmops.py @@ -0,0 +1,77 @@ +#!/usr/bin/env python3 +# coding: utf-8 +# /************************* IVAS control modules ****************************** +# +# (C) Copyright Fraunhofer IIS (2022) +# All Rights Reserved +# +# Initial author: mul +# contents/description: General utility functions for file and directory handling +# +# USAGE: +# +# This software and/or program is protected by copyright law and international +# treaties. Any reproduction or distribution of this software and/or program, +# or any portion of it, may result in severe civil and criminal penalties, and +# will be prosecuted to the maximum extent possible under law. +# +# ******************************************************************************/ + +import csv +import sys +import re + +newsletterFilename = "" +newsletterFilenameLast = "" +revision = "" +shortDate = "" +fullDate = "" + +if __name__ == "__main__": + newsletterFilename = sys.argv[1] + newsletterFilenameLast = sys.argv[2] + revision = sys.argv[3] + shortDate = sys.argv[4] + fullDate = sys.argv[5] + +max_enc = ["", 0] +max_dec = ["", 0] +max_total = ["", 0] +fixedpointScalingFac = 1.0 + +with open(newsletterFilename, "r") as csvfile: + wmops = csv.reader(csvfile, delimiter=";") + for row in wmops: + if row[0] == "conf": + continue + if float(row[1]) > max_enc[1]: + max_enc[0] = re.sub(" ", "_", row[0]) + max_enc[1] = float(row[1]) + if float(row[2]) > max_dec[1]: + max_dec[0] = re.sub(" ", "_", row[0]) + max_dec[1] = float(row[2]) + if float(row[3]) > max_total[1]: + max_total[0] = re.sub(" ", "_", row[0]) + max_total[1] = float(row[3]) + +print( + revision, + shortDate, + fullDate, + max_enc[1] + max_dec[1], + max_enc[0], + max_enc[1], + max_dec[0], + max_dec[1], + max_total[0], + max_total[1], + fixedpointScalingFac, + max_enc[1] + max_dec[1], + max_enc[0], + max_enc[1], + max_dec[0], + max_dec[1], + max_total[0], + max_total[1], + newsletterFilenameLast, +) diff --git a/ci/complexity_measurements/style.css b/ci/complexity_measurements/style.css new file mode 100755 index 0000000000..44fb55de46 --- /dev/null +++ b/ci/complexity_measurements/style.css @@ -0,0 +1,220 @@ +body { + background-color:#FFF; + font:.6875em Verdana, Arial, Helvetica, sans-serif; + color:#000; +} +a { + color:#000; + text-decoration:underline; +} +a:hover { + text-decoration:none; +} +h1 { + font-size:2.265em; + font-weight:700; + text-align: center; +} +em { + font-style: normal; + font-weight: bold; +} +hr { + margin-top: 30px; + margin-bottom: 30px; + margin-left: 150px; + margin-right:150px; + height: 0px; + border-top-width: 2px; + border-bottom-width: 0px; + border-left-width: 0px; + border-right-width: 0px; + border-top-style: solid; + color: #606060; +} +.graph { + width: 800px; + height: 350px; +} +.graph-container { + margin: 0 auto; + width:800px; +} +.message-box { + margin-top: 2em; + padding: 1em; + background-color: #FF8000; + border-radius: 20px; +} +#wmops-graph { + height:500px; + width:800px; + float:left; +} +#wmops_per_op-graph { + height:500px; + width:800px; + float:left; +} +#wmops-48kHz-graph { + height:500px; + width:800px; + float:left; +} +#wmops_per_op-48kHz-graph { + height:500px; + width:800px; + float:left; +} +#wmops_basop_per_op-graph { + height:500px; + width:800px; + float:left; +} +#wmops-graph-basop { + height:500px; + width:800px; + float:left; +} +#conversion_factors_basop_flc { + height:500px; + width:800px; + float:left; +} +#ram-graph { + height:500px; + width:800px; + float:left; +} +#ram-graph-basop { + height:500px; + width:800px; + float:left; +} +#rom-graph { + height:500px; + width:800px; + float:left; +} +#rom-graph-basop{ + height:500px; + width:800px; + float:left; +} +#prom-graph { + height:500px; + width:800px; + float:left; +} +#tooltip { + border-radius:.35em; + border-radius:.35em; + background-color:#000; + color:#FFF; + display:none; + opacity:0.8; + padding:.25em; + position:absolute; + box-shadow: 6px 6px 6px #666; +} +#tooltip a:link, #tooltip a:active, #tooltip a:visited { + color:#FFF; + text-decoration: underline; +} +#tooltip a:hover { + color:#FFF; + text-decoration: none; +} +.legend { + display: inline; +} +.legend li { + border-left: 1.2em solid #FFF; + margin-right: 2em; + padding-left: .3em; + margin-bottom: .2em; + list-style-type: none; +} + +#menu { + color: #FFFFFF; +} + +#menu ul { + color: #FFFFFF; + list-style: none; + margin-left: -1em; + position: relative; + margin-top: 1.5em; + margin-bottom: 1.5em; +} + +#menu li { + margin-left: -1em; + margin-bottom: 1.0em; + margin-top: 1.0em; +} + +#menu a { + color: #FFFFFF; +} + +dt { + font-weight: bold; +} + +dd hr { + margin-top: 0.1em; + margin-bottom: 0.1em; + margin-left: 48%; + margin-right: 48%; +} + +#menu { + float: left; + margin-left: 1em; + margin-top: 1em; + width: 22em; + border-radius: 1em; + position: fixed; + background-color: #000000; + opacity: 0.8; + box-shadow: 6px 6px 6px #666; +} + +#content { + margin-left: 17em; +} + +.symbols { + float: right; + font-weight: bolder; + font-size: 2em; + margin-top: -0.4em; +} + +.trafficlight { + margin-right: 0px; + margin-left: 0px; + position: absolute; + right: 2em; + color: #202020; +} + +.trend { + margin-right: 0.5em; + margin-left: 0.2em; +} + +th, td { + padding: 0.5em 2em; + border: 1px solid #606060; +} + +th { + text-align: left; +} + +td#number { + text-align: right; +} -- GitLab From aca6a3d35003a1df16750438cc2b88e72baa290d Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 12:15:42 +0100 Subject: [PATCH 029/620] add test jobs to ci file and use correct config file --- .gitlab-ci.yml | 64 ++++++++++++++++++++++++++ ci/complexity_measurements/getWmops.sh | 2 +- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d639c71ceb..3a68716977 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -20,6 +20,7 @@ workflow: - if: $CI_PIPELINE_SOURCE == 'merge_request_event' # Runs for merge requests - if: $CI_PIPELINE_SOURCE == 'push' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Pushes to main - if: $CI_PIPELINE_SOURCE == 'schedule' && $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH # Scheduled in main + - if: $CI_PIPELINE_SOURCE == 'web' # for testing stages: - maintenance @@ -724,6 +725,69 @@ coverage-test-on-main-scheduled: - coverage.info - coverage + +# --------------------------------------------------------------- +# Complexity measurement jobs +# --------------------------------------------------------------- + +.complexity-measurements-setup: &complexity-measurements-setup + # create necessary environment + - mkdir -p wmops/logs + + # get latest artifacts with previously generated javascript files + - api_url=$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_COMMIT_REF_NAME/download?job=$CI_JOB_NAME + - 'curl --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "$api_url"' + - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html + - ls + - public_dir="$CI_JOB_NAME-public" + - mv $public_dir/* wmops/ + - ls wmops + - rm artifacts.zip + - rm -rf $public_dir + +.complexity-measurements-prepare-artifacts: &complexity-measurements-prepare-artifacts + # prepare artifacts -> move to public directory + - public_dir="$CI_JOB_NAME-public" + - mkdir $public_dir + - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ + - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html + # do separately here to avoid overwrite complaints by mv + - mv -f ci/complexity_measurements/style.css ${public_dir}/ + +.measure-complexity-template: + extends: + - .test-job-linux-needs-testv-dir + rules: + - if: $MEASURE_COMPLEXITY_LINUX + tags: + - test-complexity-measurement + stage: test + artifacts: + name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" + paths: + - $CI_JOB_NAME-public + +measure-complexity-linux-stereo-test: + extends: + - .measure-complexity-template + script: + - *print-common-info + - *update-ltv-repo + - *complexity-measurements-setup + - bash ci/complexity_measurements/getWmops.sh stereo + - *complexity-measurements-prepare-artifacts + +measure-complexity-linux-ism-test: + extends: + - .measure-complexity-template + script: + - *print-common-info + - *update-ltv-repo + - *complexity-measurements-setup + - bash ci/complexity_measurements/getWmops.sh ISM1 #"ISM1 ISM2 ISM3 ISM4" + - *complexity-measurements-prepare-artifacts + + # --------------------------------------------------------------- # Other jobs # --------------------------------------------------------------- diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 268d1eb59f..a4b963a8a7 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -19,7 +19,7 @@ scriptDir="scripts/complexity_measurements" ep="${scriptDir}/ep_10pct_fer.g192" numThreads=10 -config_file="scripts/config/ci_linux.json" +config_file="scripts/config/ci_linux_ltv.json" # get wmops newsletter wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} -- GitLab From 0225946165e5b02f607fc66f934fda7b292a9cb2 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 14:08:51 +0100 Subject: [PATCH 030/620] fix first run of complexity jobs --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3a68716977..11dccd6404 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -740,7 +740,8 @@ coverage-test-on-main-scheduled: - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html - ls - public_dir="$CI_JOB_NAME-public" - - mv $public_dir/* wmops/ + # if is needed to catch case when no artifact is there (first run), similarly as above + - if [[ -d $public_dir ]]; then mv $public_dir/* wmops/; else mkdir wmops; fi - ls wmops - rm artifacts.zip - rm -rf $public_dir -- GitLab From e9ac6a07d2a1ecf2c17f7d92bac0a8e56dea1af8 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 14:11:52 +0100 Subject: [PATCH 031/620] remove mkdir, directory already exists... --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 11dccd6404..376f1f43a5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -741,7 +741,7 @@ coverage-test-on-main-scheduled: - ls - public_dir="$CI_JOB_NAME-public" # if is needed to catch case when no artifact is there (first run), similarly as above - - if [[ -d $public_dir ]]; then mv $public_dir/* wmops/; else mkdir wmops; fi + - if [[ -d $public_dir ]]; then mv $public_dir/* wmops/; fi - ls wmops - rm artifacts.zip - rm -rf $public_dir -- GitLab From 2ec0692dd114e68f387410d4fe026722f92767a6 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 14:16:48 +0100 Subject: [PATCH 032/620] fix path to scripts and resoruces --- ci/complexity_measurements/getWmops.sh | 2 +- ci/complexity_measurements/index_complexity.html | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index a4b963a8a7..6f776a4d6c 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -15,7 +15,7 @@ fullDate=`date "+%c" | sed -e "s/\ /_/g"` # stored in the log-file commit_sha=`git rev-parse --short HEAD` destDir="." -scriptDir="scripts/complexity_measurements" +scriptDir="ci/complexity_measurements" ep="${scriptDir}/ep_10pct_fer.g192" numThreads=10 diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index 855d4758c8..bfba7d02ce 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -357,7 +357,7 @@ 2) Arrow , , : The arrow indicates the trend of the last datapoint, compared to the last but one. An upwards arrow means that the score got higher (i.e. worse), downwards arrow arrow means that the score got lower (i.e. better), and a rightwards arrow means that the score was kept constant (within a 1% margin).
Q:
Which input files are used for audio-input? What error pattern is used?
-
A:
The input files can be found here. The error pattern is here. +
A:
The input files can be found here. The error pattern is here. -- GitLab From 0e33c373c648a029edfc36be5a911f14c32fbf94 Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 16:18:36 +0100 Subject: [PATCH 033/620] remove thread limitation and add 10s duration for faster testing --- ci/complexity_measurements/getWmops.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 6f776a4d6c..e640c005f1 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -17,7 +17,7 @@ commit_sha=`git rev-parse --short HEAD` destDir="." scriptDir="ci/complexity_measurements" ep="${scriptDir}/ep_10pct_fer.g192" -numThreads=10 +duration="10" config_file="scripts/config/ci_linux_ltv.json" @@ -28,8 +28,8 @@ wmopsFilenameFlc48kHzLast=wmops_newsletter_stereo_48kHz__${commit_sha}_${date} wmopsFilenameFlc48kHz=${destDir}/wmops/logs/${wmopsFilenameFlc48kHzLast} # instrument and build -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -t ${numThreads} -f ${ep} -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -t ${numThreads} -f ${ep} +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -U $duration -f ${ep} +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -U $duration -f ${ep} # now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From 1b8aff057c929cf5995780b7c42680c9da660e9b Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 4 Nov 2022 16:44:41 +0100 Subject: [PATCH 034/620] add debugging output --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 376f1f43a5..458c7bfe62 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -736,7 +736,9 @@ coverage-test-on-main-scheduled: # get latest artifacts with previously generated javascript files - api_url=$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_COMMIT_REF_NAME/download?job=$CI_JOB_NAME + - echo $api_url - 'curl --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "$api_url"' + - cat artifacts.zip - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html - ls - public_dir="$CI_JOB_NAME-public" -- GitLab From e4a6a4709154688c210f02d98752529b3c57b7c5 Mon Sep 17 00:00:00 2001 From: knj Date: Mon, 7 Nov 2022 16:49:42 +0100 Subject: [PATCH 035/620] get last job run id to get the latest artifacts --- .gitlab-ci.yml | 7 +++-- ci/get_id_of_last_job_occurence.py | 41 ++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 4 deletions(-) create mode 100755 ci/get_id_of_last_job_occurence.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 458c7bfe62..1b36605848 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -734,10 +734,9 @@ coverage-test-on-main-scheduled: # create necessary environment - mkdir -p wmops/logs - # get latest artifacts with previously generated javascript files - - api_url=$CI_API_V4_URL/projects/$CI_PROJECT_ID/jobs/artifacts/$CI_COMMIT_REF_NAME/download?job=$CI_JOB_NAME - - echo $api_url - - 'curl --output artifacts.zip --header "JOB-TOKEN: $CI_JOB_TOKEN" "$api_url"' + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME) + - echo $job_id + - curl --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip - cat artifacts.zip - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html - ls diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py new file mode 100755 index 0000000000..4ddbe56032 --- /dev/null +++ b/ci/get_id_of_last_job_occurence.py @@ -0,0 +1,41 @@ +import argparse +import requests + +PER_PAGE_SUFFIX = "?per_page=50" +API_BASE_URL = "https://forge.3gpp.org/rep/api/v4/projects/49" + + +parser = argparse.ArgumentParser() +parser.add_argument("branch_name") +parser.add_argument("job_name") + +args = parser.parse_args() + +branch_name = args.branch_name +job_name = args.job_name + + +job_id = -1 +# check last 500 pipelines max +for page in range(100): + url_pls = API_BASE_URL + "/pipelines" + resp_pls = requests.get(url_pls + PER_PAGE_SUFFIX) + for pl in resp_pls.json(): + if pl["ref"] == branch_name: + url_jobs = url_pls + f"/{pl['id']}/jobs" + resp_jobs = requests.get(url_jobs + PER_PAGE_SUFFIX) + + if job_name not in resp_jobs.text: + continue + + # find actual job by name + for job in resp_jobs.json(): + if job["name"] == job_name: + job_id = job["id"] + break + break + + if job_id >= 0: + break + +print(job_id) -- GitLab From 710fb25b4165617426285b6545fd3c850d85fb13 Mon Sep 17 00:00:00 2001 From: knj Date: Mon, 7 Nov 2022 16:59:31 +0100 Subject: [PATCH 036/620] find last succesful (!) job --- ci/get_id_of_last_job_occurence.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py index 4ddbe56032..8015db1bdf 100755 --- a/ci/get_id_of_last_job_occurence.py +++ b/ci/get_id_of_last_job_occurence.py @@ -30,10 +30,11 @@ for page in range(100): # find actual job by name for job in resp_jobs.json(): - if job["name"] == job_name: + if job["name"] == job_name and job["status"] == "success": job_id = job["id"] break - break + if job_id >= 0 + break if job_id >= 0: break -- GitLab From 1048a4c808253945489d7d271969b24e52862573 Mon Sep 17 00:00:00 2001 From: knj Date: Mon, 7 Nov 2022 17:02:47 +0100 Subject: [PATCH 037/620] fix typo --- ci/get_id_of_last_job_occurence.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py index 8015db1bdf..461eeb2b56 100755 --- a/ci/get_id_of_last_job_occurence.py +++ b/ci/get_id_of_last_job_occurence.py @@ -33,7 +33,7 @@ for page in range(100): if job["name"] == job_name and job["status"] == "success": job_id = job["id"] break - if job_id >= 0 + if job_id >= 0: break if job_id >= 0: -- GitLab From 53def30f4ed3bfd92a58f10b95892bb3e6efb837 Mon Sep 17 00:00:00 2001 From: knj Date: Tue, 8 Nov 2022 09:35:58 +0100 Subject: [PATCH 038/620] add copyright headers --- ci/build_all_linux.sh | 28 +++++++++++ ci/build_codec_instrumented_linux.sh | 28 +++++++++++ ci/build_codec_sanitizers_linux.sh | 28 +++++++++++ ci/check_for_warnings.py | 29 ++++++++++++ .../genWebpageData_Prom.csh | 28 +++++++++++ .../genWebpageData_Ram.csh | 28 +++++++++++ .../genWebpageData_Rom.csh | 28 +++++++++++ .../genWebpageData_WMOPS.csh | 28 +++++++++++ .../genWebpageData_WmopPerOperatingpoint.csh | 28 +++++++++++ ci/complexity_measurements/getWmops.sh | 28 +++++++++++ .../index_complexity.html | 31 +++++++++++++ .../mergeNewsletterRam.py | 43 ++++++++++------- .../parseNewsletterProm.py | 45 +++++++++++------- .../parseNewsletterRam.py | 45 +++++++++++------- .../parseNewsletterRom.py | 46 ++++++++++++------- .../parseNewsletterWmops.py | 45 +++++++++++------- ci/get_id_of_last_job_occurence.py | 32 +++++++++++++ ci/run_evs_be_test.py | 29 ++++++++++++ ci/run_scheduled_sanitizer_test.py | 29 ++++++++++++ ci/smoke_test.sh | 28 +++++++++++ 20 files changed, 574 insertions(+), 80 deletions(-) diff --git a/ci/build_all_linux.sh b/ci/build_all_linux.sh index 65ea1461fa..c57c9fc941 100755 --- a/ci/build_all_linux.sh +++ b/ci/build_all_linux.sh @@ -1,5 +1,33 @@ #! /usr/bin/bash +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 diff --git a/ci/build_codec_instrumented_linux.sh b/ci/build_codec_instrumented_linux.sh index e98547c5fa..9f875f28fb 100755 --- a/ci/build_codec_instrumented_linux.sh +++ b/ci/build_codec_instrumented_linux.sh @@ -1,5 +1,33 @@ #! /usr/bin/bash +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 diff --git a/ci/build_codec_sanitizers_linux.sh b/ci/build_codec_sanitizers_linux.sh index 65c520d25a..d5891e43ad 100755 --- a/ci/build_codec_sanitizers_linux.sh +++ b/ci/build_codec_sanitizers_linux.sh @@ -1,5 +1,33 @@ #! /usr/bin/bash +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 diff --git a/ci/check_for_warnings.py b/ci/check_for_warnings.py index cc658b3d40..76a0bc917a 100755 --- a/ci/check_for_warnings.py +++ b/ci/check_for_warnings.py @@ -1,4 +1,33 @@ #!/usr/bin/env python3 +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import argparse import sys diff --git a/ci/complexity_measurements/genWebpageData_Prom.csh b/ci/complexity_measurements/genWebpageData_Prom.csh index bd9f40efab..d605abb1af 100755 --- a/ci/complexity_measurements/genWebpageData_Prom.csh +++ b/ci/complexity_measurements/genWebpageData_Prom.csh @@ -1,5 +1,33 @@ #!/bin/tcsh +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + set maxValues = 40 if (${#argv} != 3) then diff --git a/ci/complexity_measurements/genWebpageData_Ram.csh b/ci/complexity_measurements/genWebpageData_Ram.csh index dfa6d13ca5..19fac84e0a 100755 --- a/ci/complexity_measurements/genWebpageData_Ram.csh +++ b/ci/complexity_measurements/genWebpageData_Ram.csh @@ -1,5 +1,33 @@ #!/bin/tcsh +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + set maxValues = 40 if (${#argv} != 3) then diff --git a/ci/complexity_measurements/genWebpageData_Rom.csh b/ci/complexity_measurements/genWebpageData_Rom.csh index 776e801549..d99d5928bd 100755 --- a/ci/complexity_measurements/genWebpageData_Rom.csh +++ b/ci/complexity_measurements/genWebpageData_Rom.csh @@ -1,5 +1,33 @@ #!/bin/tcsh +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + set maxValues = 40 if (${#argv} != 3) then diff --git a/ci/complexity_measurements/genWebpageData_WMOPS.csh b/ci/complexity_measurements/genWebpageData_WMOPS.csh index c3137640d6..5551978054 100755 --- a/ci/complexity_measurements/genWebpageData_WMOPS.csh +++ b/ci/complexity_measurements/genWebpageData_WMOPS.csh @@ -1,5 +1,33 @@ #!/bin/tcsh +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + set maxValues = 40 if (${#argv} != 3) then diff --git a/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh b/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh index 21d4ab324a..cac8183bda 100755 --- a/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh +++ b/ci/complexity_measurements/genWebpageData_WmopPerOperatingpoint.csh @@ -1,5 +1,33 @@ #!/bin/tcsh +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + set srcFile = $1 set file_final = $2 set file = ${file_final}.new diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index e640c005f1..07096e05cd 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -1,5 +1,33 @@ #! /bin/bash +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + # get format from command line if [ $# -ne 1 ]; then echo "Usage: $0 ivas-format" diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index bfba7d02ce..321177b1df 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -1,4 +1,35 @@ + + + diff --git a/ci/complexity_measurements/mergeNewsletterRam.py b/ci/complexity_measurements/mergeNewsletterRam.py index 5dec63ffad..c5e61a9854 100755 --- a/ci/complexity_measurements/mergeNewsletterRam.py +++ b/ci/complexity_measurements/mergeNewsletterRam.py @@ -1,22 +1,33 @@ #!/usr/bin/env python3 # coding: utf-8 -# /************************* IVAS control modules ****************************** -# -# (C) Copyright Fraunhofer IIS (2022) -# All Rights Reserved -# -# Initial author: mul -# contents/description: General utility functions for file and directory handling -# -# USAGE: -# -# This software and/or program is protected by copyright law and international -# treaties. Any reproduction or distribution of this software and/or program, -# or any portion of it, may result in severe civil and criminal penalties, and -# will be prosecuted to the maximum extent possible under law. -# -# ******************************************************************************/ +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. import csv import sys import re diff --git a/ci/complexity_measurements/parseNewsletterProm.py b/ci/complexity_measurements/parseNewsletterProm.py index 8809b92e7b..072cb03c21 100755 --- a/ci/complexity_measurements/parseNewsletterProm.py +++ b/ci/complexity_measurements/parseNewsletterProm.py @@ -1,21 +1,34 @@ #!/usr/bin/env python3 # coding: utf-8 -# /************************* IVAS control modules ****************************** -# -# (C) Copyright Fraunhofer IIS (2022) -# All Rights Reserved -# -# Initial author: mul -# contents/description: General utility functions for file and directory handling -# -# USAGE: -# -# This software and/or program is protected by copyright law and international -# treaties. Any reproduction or distribution of this software and/or program, -# or any portion of it, may result in severe civil and criminal penalties, and -# will be prosecuted to the maximum extent possible under law. -# -# ******************************************************************************/ +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import csv import sys diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py index 43b34a8544..b099fb450f 100755 --- a/ci/complexity_measurements/parseNewsletterRam.py +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -1,21 +1,34 @@ #!/usr/bin/env python3 # coding: utf-8 -# /************************* IVAS control modules ****************************** -# -# (C) Copyright Fraunhofer IIS (2022) -# All Rights Reserved -# -# Initial author: mul -# contents/description: General utility functions for file and directory handling -# -# USAGE: -# -# This software and/or program is protected by copyright law and international -# treaties. Any reproduction or distribution of this software and/or program, -# or any portion of it, may result in severe civil and criminal penalties, and -# will be prosecuted to the maximum extent possible under law. -# -# ******************************************************************************/ +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import csv import sys diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py index 9350b8fac6..aeb7ee2650 100755 --- a/ci/complexity_measurements/parseNewsletterRom.py +++ b/ci/complexity_measurements/parseNewsletterRom.py @@ -1,21 +1,35 @@ #!/usr/bin/env python3 # coding: utf-8 -# /************************* IVAS control modules ****************************** -# -# (C) Copyright Fraunhofer IIS (2022) -# All Rights Reserved -# -# Initial author: mul -# contents/description: General utility functions for file and directory handling -# -# USAGE: -# -# This software and/or program is protected by copyright law and international -# treaties. Any reproduction or distribution of this software and/or program, -# or any portion of it, may result in severe civil and criminal penalties, and -# will be prosecuted to the maximum extent possible under law. -# -# ******************************************************************************/ + +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import csv import sys diff --git a/ci/complexity_measurements/parseNewsletterWmops.py b/ci/complexity_measurements/parseNewsletterWmops.py index 14ab3b3ef9..06943726a0 100755 --- a/ci/complexity_measurements/parseNewsletterWmops.py +++ b/ci/complexity_measurements/parseNewsletterWmops.py @@ -1,21 +1,34 @@ #!/usr/bin/env python3 # coding: utf-8 -# /************************* IVAS control modules ****************************** -# -# (C) Copyright Fraunhofer IIS (2022) -# All Rights Reserved -# -# Initial author: mul -# contents/description: General utility functions for file and directory handling -# -# USAGE: -# -# This software and/or program is protected by copyright law and international -# treaties. Any reproduction or distribution of this software and/or program, -# or any portion of it, may result in severe civil and criminal penalties, and -# will be prosecuted to the maximum extent possible under law. -# -# ******************************************************************************/ +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import csv import sys diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py index 461eeb2b56..3d77cf7d7d 100755 --- a/ci/get_id_of_last_job_occurence.py +++ b/ci/get_id_of_last_job_occurence.py @@ -1,3 +1,35 @@ +#!/usr/bin/env python3 + +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" + import argparse import requests diff --git a/ci/run_evs_be_test.py b/ci/run_evs_be_test.py index 9fa64877f2..e3c6c750bb 100755 --- a/ci/run_evs_be_test.py +++ b/ci/run_evs_be_test.py @@ -1,4 +1,33 @@ #!/usr/bin/env python3 +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import subprocess import pathlib import sys diff --git a/ci/run_scheduled_sanitizer_test.py b/ci/run_scheduled_sanitizer_test.py index 6696e184c2..2ccbe12fff 100644 --- a/ci/run_scheduled_sanitizer_test.py +++ b/ci/run_scheduled_sanitizer_test.py @@ -1,4 +1,33 @@ #!/usr/bin/env python3 +""" + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. +""" import argparse import sys diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index e3caac3533..3d7b85fdba 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -1,5 +1,33 @@ #! /usr/bin/bash +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 -- GitLab From 036bfdadb9311518432a1eb68d00a7bbe1768ca6 Mon Sep 17 00:00:00 2001 From: knj Date: Tue, 8 Nov 2022 13:30:26 +0100 Subject: [PATCH 039/620] add jobs for more modes and lower duration --- .gitlab-ci.yml | 41 +++++++++++++++++++++++++- ci/complexity_measurements/getWmops.sh | 2 +- 2 files changed, 41 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1b36605848..38127f8da4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -786,9 +786,48 @@ measure-complexity-linux-ism-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh ISM1 #"ISM1 ISM2 ISM3 ISM4" + - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" - *complexity-measurements-prepare-artifacts +measure-complexity-linux-sba-test: + extends: + - .measure-complexity-template + script: + - *print-common-info + - *update-ltv-repo + - *complexity-measurements-setup + - bash ci/complexity_measurements/getWmops.sh "SBA PlanarSBA" + - *complexity-measurements-prepare-artifacts + +measure-complexity-linux-mc-test: + extends: + - .measure-complexity-template + script: + - *print-common-info + - *update-ltv-repo + - *complexity-measurements-setup + - bash ci/complexity_measurements/getWmops.sh "MC" + - *complexity-measurements-prepare-artifacts + +measure-complexity-linux-masa-test: + extends: + - .measure-complexity-template + script: + - *print-common-info + - *update-ltv-repo + - *complexity-measurements-setup + - bash ci/complexity_measurements/getWmops.sh "MASA" + - *complexity-measurements-prepare-artifacts + +measure-complexity-linux-StereoDmxEVS-test: + extends: + - .measure-complexity-template + script: + - *print-common-info + - *update-ltv-repo + - *complexity-measurements-setup + - bash ci/complexity_measurements/getWmops.sh "StereoDmxEVS" + - *complexity-measurements-prepare-artifacts # --------------------------------------------------------------- # Other jobs diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 07096e05cd..6fbcd371e9 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -45,7 +45,7 @@ commit_sha=`git rev-parse --short HEAD` destDir="." scriptDir="ci/complexity_measurements" ep="${scriptDir}/ep_10pct_fer.g192" -duration="10" +duration="2" config_file="scripts/config/ci_linux_ltv.json" -- GitLab From 91e3976d25b5cfb67f02a6236dcec8067e8851f7 Mon Sep 17 00:00:00 2001 From: knj Date: Tue, 8 Nov 2022 15:13:46 +0100 Subject: [PATCH 040/620] change passed modes --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 38127f8da4..f6f7f2b58d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -796,7 +796,7 @@ measure-complexity-linux-sba-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh "SBA PlanarSBA" + - bash ci/complexity_measurements/getWmops.sh SBA - *complexity-measurements-prepare-artifacts measure-complexity-linux-mc-test: @@ -806,7 +806,7 @@ measure-complexity-linux-mc-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh "MC" + - bash ci/complexity_measurements/getWmops.sh MC - *complexity-measurements-prepare-artifacts measure-complexity-linux-masa-test: @@ -816,7 +816,7 @@ measure-complexity-linux-masa-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh "MASA" + - bash ci/complexity_measurements/getWmops.sh MASA - *complexity-measurements-prepare-artifacts measure-complexity-linux-StereoDmxEVS-test: @@ -826,7 +826,7 @@ measure-complexity-linux-StereoDmxEVS-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh "StereoDmxEVS" + - bash ci/complexity_measurements/getWmops.sh StereoDmxEVS - *complexity-measurements-prepare-artifacts # --------------------------------------------------------------- -- GitLab From 067c99ef674eb1e50470551adaa14f41a59058b4 Mon Sep 17 00:00:00 2001 From: knj Date: Wed, 9 Nov 2022 15:43:32 +0100 Subject: [PATCH 041/620] make y-axis max value adaptive to maximum value in the data --- .../index_complexity.html | 222 ++++-------------- 1 file changed, 50 insertions(+), 172 deletions(-) diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index 321177b1df..a663e37cbf 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -486,15 +486,35 @@ } } + function get_max_y_val_for_plotting(displays, round_to) { + var max = 0; + for ( var i = 0; i < displays.length; i++ ) + { + var data = displays[i].data; + for ( var j = 0; j < data.length; j++ ) + { + var val = data[j][1]; + if ( val > max ) + { + max = val; + } + } + } + + max = Math.ceil( max / round_to ) * round_to; + + return max; + } + function WMOPS() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 220, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " WMOPS"; @@ -608,7 +628,8 @@ } $(document).ready(function () { - drawGraph($("#wmops-graph"), Graphs_WMOPS.wmops_worstcase); + var max = get_max_y_val_for_plotting(Graphs_WMOPS.wmops_worstcase.displays, 50); + drawGraph($("#wmops-graph"), Graphs_WMOPS.wmops_worstcase, max); }); var refData = Graphs_WMOPS.wmops_worstcase.displays[0]; @@ -647,11 +668,11 @@ function WMOPS_perOP() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 220, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " WMOPS"; @@ -740,7 +761,9 @@ function WMOPS_perOP() { $(document).ready(function () { - drawGraph($("#wmops_per_op-graph"), Graphs_WMOPS_perOP.wmops_worstcase_per_op); + // need to get worst case of enc + dec combined, because values are stacked in the graph + var max = get_max_y_val_for_plotting(Graphs_WMOPS.wmops_worstcase.displays, 50); + drawGraph($("#wmops_per_op-graph"), Graphs_WMOPS_perOP.wmops_worstcase_per_op, max); }); var nEntriesWmopsGraph = Graphs_WMOPS.wmops_worstcase.runs.length - 1; @@ -761,11 +784,11 @@ function WMOPS_perOP() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 270, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " WMOPS"; @@ -879,7 +902,8 @@ function WMOPS_perOP() { } $(document).ready(function () { - drawGraph($("#wmops-48kHz-graph"), Graphs_WMOPS_48kHz.wmops_worstcase); + var max = get_max_y_val_for_plotting(Graphs_WMOPS_48kHz.wmops_worstcase.displays, 50); + drawGraph($("#wmops-48kHz-graph"), Graphs_WMOPS_48kHz.wmops_worstcase, max); }); var refData = Graphs_WMOPS_48kHz.wmops_worstcase.displays[0]; @@ -918,11 +942,11 @@ function WMOPS_perOP_48kHz() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 270, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " WMOPS"; @@ -1011,7 +1035,9 @@ function WMOPS_perOP_48kHz() { $(document).ready(function () { - drawGraph($("#wmops_per_op-48kHz-graph"), Graphs_WMOPS_perOP_48kHz.wmops_worstcase_per_op); + // need to get worst case of enc + dec combined, because values are stacked in the graph + var max = get_max_y_val_for_plotting(Graphs_WMOPS_48kHz.wmops_worstcase.displays, 50); + drawGraph($("#wmops_per_op-48kHz-graph"), Graphs_WMOPS_perOP_48kHz.wmops_worstcase_per_op, max); }); var nEntriesWmopsGraph = Graphs_WMOPS_48kHz.wmops_worstcase.runs.length - 1; @@ -1031,11 +1057,11 @@ function RAM() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 280000, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " Word"; @@ -1153,7 +1179,8 @@ function RAM() { } $(document).ready(function () { - drawGraph($("#ram-graph"), Graphs_RAM.ram_worstcase); + var max = get_max_y_val_for_plotting(Graphs_RAM.ram_worstcase.displays, 50000); + drawGraph($("#ram-graph"), Graphs_RAM.ram_worstcase, max); }); var testData = Graphs_RAM.ram_worstcase.displays[1]; @@ -1188,11 +1215,11 @@ function ROM() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 250000, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " Word"; @@ -1287,7 +1314,8 @@ function ROM() { } $(document).ready(function () { - drawGraph($("#rom-graph"), Graphs_ROM.rom_worstcase); + var max = get_max_y_val_for_plotting(Graphs_ROM.rom_worstcase.displays, 50000); + drawGraph($("#rom-graph"), Graphs_ROM.rom_worstcase, max); }); @@ -1353,11 +1381,11 @@ function PROM() { var previousPoint = null; - function drawGraph(elt, graph) { + function drawGraph(elt, graph, max_val) { var options = { yaxis: { min: 0, - max: 250000, + max: max_val, tickFormatter: function (v, axis) { if (graph.direction == -1) return v + " Ops"; @@ -1453,7 +1481,8 @@ function PROM() { } $(document).ready(function () { - drawGraph($("#prom-graph"), Graphs_PROM.prom_worstcase); + var max = get_max_y_val_for_plotting(Graphs_PROM.prom_worstcase.displays, 50000); + drawGraph($("#prom-graph"), Graphs_PROM.prom_worstcase, max); }); @@ -1510,157 +1539,6 @@ function PROM() { } } -} - - -function CONVERSION_FACTORS_perOP(){ - - /* deep copy of one of the WMOPS-per-OP objects */ - var Graphs_CONVERSION_FACTORS = jQuery.extend(true, {}, Graphs_WMOPS_BASOP_perOP); - - /* now calculate conversion factors and set the graph-properties - correctly */ - - /* show the points */ - Graphs_CONVERSION_FACTORS.wmops_worstcase_per_op.displays[0].points = - {show: true}; - Graphs_CONVERSION_FACTORS.wmops_worstcase_per_op.displays[1].points = - {show: true}; - - - /* calc conversion factors for encoder */ - for(var i = 0; i
"; - - text += 'Conversion Factor: ' + Math.round(y * 100) / 100; - if( item.series.id == "worstCaseEnc" ){ - text += " (enc)"; - } - if( item.series.id == "worstCaseDec" ){ - text += " (dec)"; - } - text += "

"; - - text += "Worst case enc BASOP: " + scoreEncBasop + " WMOPS
"; - text += "Worst case dec BASOP: " + scoreDecBasop + " WMOPS
"; - text += "Worst case codec BASOP: " + scoreCodecBasop + " WMOPS

"; - - text += "Worst case enc Float: " + scoreEncFlc + " WMOPS
"; - text += "Worst case dec Float: " + scoreDecFlc + " WMOPS
"; - text += "Worst case codec Float: " + scoreCodecFlc + " WMOPS

"; - - showToolTip(item.pageX, item.pageY, text); - - }); - - } - - - $(document).ready(function () { - drawGraph($("#conversion_factors_basop_flc"), Graphs_CONVERSION_FACTORS.wmops_worstcase_per_op); - }); - - var nEntriesWmopsGraph = Graphs_WMOPS_BASOP.wmops_worstcase.runs.length - 1; - var legend = "

Numbers derived from revision " + - Graphs_WMOPS_BASOP.wmops_worstcase.runs[nEntriesWmopsGraph].revision + - ", " + - Graphs_WMOPS_BASOP.wmops_worstcase.runs[nEntriesWmopsGraph].fullDate + - "

"; - - document.getElementById("conversion_factors_basop_flc-legend").innerHTML = legend; - - } -- GitLab From c28ce8decae189d58651041581fbfd666e5b534e Mon Sep 17 00:00:00 2001 From: knj Date: Wed, 9 Nov 2022 17:03:54 +0100 Subject: [PATCH 042/620] actually look in other pageswhen searching for last job id --- ci/get_id_of_last_job_occurence.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py index 3d77cf7d7d..1e642c8ef4 100755 --- a/ci/get_id_of_last_job_occurence.py +++ b/ci/get_id_of_last_job_occurence.py @@ -34,6 +34,7 @@ import argparse import requests PER_PAGE_SUFFIX = "?per_page=50" +PAGE_SUFFIX = "&page={}" API_BASE_URL = "https://forge.3gpp.org/rep/api/v4/projects/49" @@ -51,11 +52,12 @@ job_id = -1 # check last 500 pipelines max for page in range(100): url_pls = API_BASE_URL + "/pipelines" - resp_pls = requests.get(url_pls + PER_PAGE_SUFFIX) + suffix = PER_PAGE_SUFFIX + PAGE_SUFFIX.format(page) + resp_pls = requests.get(url_pls + suffix) for pl in resp_pls.json(): if pl["ref"] == branch_name: url_jobs = url_pls + f"/{pl['id']}/jobs" - resp_jobs = requests.get(url_jobs + PER_PAGE_SUFFIX) + resp_jobs = requests.get(url_jobs + suffix) if job_name not in resp_jobs.text: continue -- GitLab From 0e745b05119be02fecf4644781b0eb0831f7dddf Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 10:39:20 +0100 Subject: [PATCH 043/620] add job for gitlab pages publication --- .gitlab-ci.yml | 48 +++++++++++++++++++++++++++++++++++++++++++++ ci/index-pages.html | 19 ++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 ci/index-pages.html diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f6f7f2b58d..00c41c3ac3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -28,6 +28,7 @@ stages: - test - compare - validate + - deploy # --------------------------------------------------------------- # Generic script anchors @@ -833,6 +834,53 @@ measure-complexity-linux-StereoDmxEVS-test: # Other jobs # --------------------------------------------------------------- +pages: + stage: deploy + rules: + # only run for pipelines that affect the data for the page + - if: $MEASURE_COMPLEXITY_LINUX + # TODO: add coverage job + script: + + - API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs + + - mkdir public + # get artifacts for complexity jobs + - id_comp_stereo=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-stereo-test) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip + - unzip artifacts_comp_stereo.zip + - mv measure-complexity-linux-stereo-test-public ./public/ + + - id_comp_ism=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-ism-test) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip + - unzip artifacts_comp_ism.zip + - mv measure-complexity-linux-ism-test-public ./public/ + + - id_comp_sba=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-sba-test) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip + - unzip artifacts_comp_sba.zip + - mv measure-complexity-linux-sba-test-public ./public/ + + - id_comp_mc=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-mc-test) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip + - unzip artifacts_comp_mc.zip + - mv measure-complexity-linux-mc-test-public ./public/ + + - id_comp_masa=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-masa-test) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip + - unzip artifacts_comp_masa.zip + - mv measure-complexity-linux-masa-test-public ./public/ + + - id_comp_StereoDmxEVS=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-StereoDmxEVS-test) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip + - unzip artifacts_comp_StereoDmxEVS.zip + - mv measure-complexity-linux-StereoDmxEVS-test-public ./public/ + + - cp ci/index-pages.html public/index.html + artifacts: + paths: + - public + # Pull state of a branch on 3GPP repo, push to a mirror repo. pull-from-3gpp-forge: stage: maintenance diff --git a/ci/index-pages.html b/ci/index-pages.html new file mode 100644 index 0000000000..f8b0709b03 --- /dev/null +++ b/ci/index-pages.html @@ -0,0 +1,19 @@ + + + + + +

Ivas Codec Development

+ +

Complexity Reports

+ + + + -- GitLab From dfea2ed72ccc26bad74fbf82f6ffef65592ceb2d Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 10:39:49 +0100 Subject: [PATCH 044/620] fix bug in api url suffix when getting jobs for pipelines --- ci/get_id_of_last_job_occurence.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py index 1e642c8ef4..f6223d9980 100755 --- a/ci/get_id_of_last_job_occurence.py +++ b/ci/get_id_of_last_job_occurence.py @@ -52,12 +52,17 @@ job_id = -1 # check last 500 pipelines max for page in range(100): url_pls = API_BASE_URL + "/pipelines" + + # need both suffixes here to descend through the pages and get also older pipelines suffix = PER_PAGE_SUFFIX + PAGE_SUFFIX.format(page) resp_pls = requests.get(url_pls + suffix) for pl in resp_pls.json(): if pl["ref"] == branch_name: url_jobs = url_pls + f"/{pl['id']}/jobs" - resp_jobs = requests.get(url_jobs + suffix) + + # only one of the suffixes here - this assumes only max of 50 jobs per pipeline + # so only one page needed + resp_jobs = requests.get(url_jobs + PER_PAGE_SUFFIX) if job_name not in resp_jobs.text: continue -- GitLab From bc6d33a4eb187b3eda7d1e59b0037f06cc46e1b0 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 11:08:51 +0100 Subject: [PATCH 045/620] add tag to pages job --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 00c41c3ac3..9dbf86aebe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -836,6 +836,8 @@ measure-complexity-linux-StereoDmxEVS-test: pages: stage: deploy + tags: + - test-complexity-measurement rules: # only run for pipelines that affect the data for the page - if: $MEASURE_COMPLEXITY_LINUX -- GitLab From f1193c22bfef7946004b4e83d39775a8e7f0bd01 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 11:38:58 +0100 Subject: [PATCH 046/620] skip actual jobs for faster testing --- .gitlab-ci.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9dbf86aebe..3b9f5d7700 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -770,7 +770,7 @@ coverage-test-on-main-scheduled: paths: - $CI_JOB_NAME-public -measure-complexity-linux-stereo-test: +.measure-complexity-linux-stereo-test: extends: - .measure-complexity-template script: @@ -780,7 +780,7 @@ measure-complexity-linux-stereo-test: - bash ci/complexity_measurements/getWmops.sh stereo - *complexity-measurements-prepare-artifacts -measure-complexity-linux-ism-test: +.measure-complexity-linux-ism-test: extends: - .measure-complexity-template script: @@ -790,7 +790,7 @@ measure-complexity-linux-ism-test: - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" - *complexity-measurements-prepare-artifacts -measure-complexity-linux-sba-test: +.measure-complexity-linux-sba-test: extends: - .measure-complexity-template script: @@ -800,7 +800,7 @@ measure-complexity-linux-sba-test: - bash ci/complexity_measurements/getWmops.sh SBA - *complexity-measurements-prepare-artifacts -measure-complexity-linux-mc-test: +.measure-complexity-linux-mc-test: extends: - .measure-complexity-template script: @@ -810,7 +810,7 @@ measure-complexity-linux-mc-test: - bash ci/complexity_measurements/getWmops.sh MC - *complexity-measurements-prepare-artifacts -measure-complexity-linux-masa-test: +.measure-complexity-linux-masa-test: extends: - .measure-complexity-template script: @@ -820,7 +820,7 @@ measure-complexity-linux-masa-test: - bash ci/complexity_measurements/getWmops.sh MASA - *complexity-measurements-prepare-artifacts -measure-complexity-linux-StereoDmxEVS-test: +.measure-complexity-linux-StereoDmxEVS-test: extends: - .measure-complexity-template script: @@ -849,7 +849,10 @@ pages: - mkdir public # get artifacts for complexity jobs - id_comp_stereo=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-stereo-test) + - echo $id_comp_stereo + - echo "$API_URL_BASE/$job_id/artifacts" - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip + - cat artifacts_comp_stereo.zip - unzip artifacts_comp_stereo.zip - mv measure-complexity-linux-stereo-test-public ./public/ -- GitLab From d052c2d0fd91887be311a84a0a708f86ddd48c40 Mon Sep 17 00:00:00 2001 From: kiene Date: Thu, 10 Nov 2022 11:54:35 +0100 Subject: [PATCH 047/620] use current branch name in pages job --- .gitlab-ci.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3b9f5d7700..fd39b3bd38 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -845,10 +845,11 @@ pages: script: - API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs + - branch=$CI_COMMIT_REF_NAME - mkdir public # get artifacts for complexity jobs - - id_comp_stereo=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-stereo-test) + - id_comp_stereo=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-stereo-test) - echo $id_comp_stereo - echo "$API_URL_BASE/$job_id/artifacts" - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip @@ -856,27 +857,27 @@ pages: - unzip artifacts_comp_stereo.zip - mv measure-complexity-linux-stereo-test-public ./public/ - - id_comp_ism=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-ism-test) + - id_comp_ism=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-ism-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - unzip artifacts_comp_ism.zip - mv measure-complexity-linux-ism-test-public ./public/ - - id_comp_sba=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-sba-test) + - id_comp_sba=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-sba-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - unzip artifacts_comp_sba.zip - mv measure-complexity-linux-sba-test-public ./public/ - - id_comp_mc=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-mc-test) + - id_comp_mc=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-mc-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - unzip artifacts_comp_mc.zip - mv measure-complexity-linux-mc-test-public ./public/ - - id_comp_masa=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-masa-test) + - id_comp_masa=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-masa-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - unzip artifacts_comp_masa.zip - mv measure-complexity-linux-masa-test-public ./public/ - - id_comp_StereoDmxEVS=$(python3 ci/get_id_of_last_job_occurence.py $CI_DEFAULT_BRANCH measure-complexity-linux-StereoDmxEVS-test) + - id_comp_StereoDmxEVS=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-StereoDmxEVS-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - unzip artifacts_comp_StereoDmxEVS.zip - mv measure-complexity-linux-StereoDmxEVS-test-public ./public/ -- GitLab From 16650c8a8724ab041d3a0db2209704385cb3cd65 Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Thu, 10 Nov 2022 11:58:06 +0100 Subject: [PATCH 048/620] [fix] fixed binaural rendering for MC bitrate switching --- lib_dec/ivas_mct_dec.c | 106 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 101 insertions(+), 5 deletions(-) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 62089463ca..51ae63a4f8 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -601,7 +601,7 @@ ivas_error ivas_mc_dec_config( AUDIO_CONFIG signaled_config; MC_MODE last_mc_mode; ivas_error error; - + MC_MODE mc_mode; error = IVAS_ERR_OK; /* store last frame MC mode */ @@ -646,24 +646,34 @@ ivas_error ivas_mc_dec_reconfig( { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; + int16_t renderer_type_old; ivas_error error; - + MC_MODE mc_mode; error = IVAS_ERR_OK; - + nchan_transport_old = st_ivas->nchan_transport; + + /* we have to temporally set the current mc_mode back to the previous one to make sure the following call to + ivas_init_dec_get_num_cldfb_instances() returns the correct counts */ + mc_mode = st_ivas->mc_mode; + st_ivas->mc_mode = last_mc_mode; ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old ); + st_ivas->mc_mode = mc_mode; + nSCE_old = st_ivas->nSCE; nCPE_old = st_ivas->nCPE; sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; /* renderer might have changed, reselect */ + renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); if ( st_ivas->mc_mode == MC_MODE_MCT ) { - st_ivas->nSCE = 0; - st_ivas->nCPE = st_ivas->hDecoderConfig->nchan_out / 2; + st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ) ); + st_ivas->nSCE = 0; + st_ivas->nCPE = st_ivas->nchan_transport / 2; if ( last_mc_mode != MC_MODE_MCT ) { @@ -891,6 +901,92 @@ ivas_error ivas_mc_dec_reconfig( set_zero( st_ivas->hLFE->prior_out_buffer, L_FRAME48k ); } + + /* renderers */ + if ( renderer_type_old != st_ivas->renderer_type ) + { + AUDIO_CONFIG output_config; + + output_config = st_ivas->hDecoderConfig->output_config; + /* binaural renderers*/ + if ( output_config == AUDIO_CONFIG_BINAURAL || output_config == AUDIO_CONFIG_BINAURAL_ROOM ) + { + /* remove unneeded binaural renderers */ + if ( st_ivas->hBinRenderer != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV && st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV_ROOM ) ) + { + ivas_binRenderer_close( &st_ivas->hBinRenderer ); + } + if ( st_ivas->hCrend != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD || st_ivas->hRenderConfig->roomAcoustics.late_reverb_on == 0 ) ) ) + { + ivas_crend_close( st_ivas ); + } + if ( st_ivas->hBinRendererTd != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) ) + { + ivas_td_binaural_close( &st_ivas->hBinRendererTd ); + } + if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) + { + ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + } + /* init necessary new renderers */ + if ( st_ivas->hBinRenderer == NULL && st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) + { + if ( ( error = ivas_binRenderer_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hDiracDecBin == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) ) + { + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hBinRendererTd == NULL && st_ivas->renderer_type == RENDERER_BINAURAL_OBJECTS_TD ) + { + if ( ( error = ivas_td_binaural_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( st_ivas->hCrend == NULL && st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) + { + if ( ( st_ivas->hCrend = (CREND_HANDLE) count_malloc( sizeof( CREND_DATA ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); + } + } + } + else if ( st_ivas->hCrend == NULL && (st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM )) + { + if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) + { + return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); + } + } + } + /* stereo */ + else if ( output_config == AUDIO_CONFIG_MONO || output_config == AUDIO_CONFIG_STEREO ) + { + /* nothing should happen here... */ + } + /* LS */ + else if ( output_config == AUDIO_CONFIG_5_1 || output_config == AUDIO_CONFIG_5_1_2 || output_config == AUDIO_CONFIG_5_1_4 || output_config == AUDIO_CONFIG_7_1 || output_config == AUDIO_CONFIG_7_1_4 || output_config == AUDIO_CONFIG_LS_CUSTOM ) + { +#ifdef DEBUGGING + assert( st_ivas->renderer_type == RENDERER_MC || st_ivas->renderer_type == RENDERER_MC_PARAMMC || st_ivas->renderer_type == RENDERER_DIRAC || st_ivas->renderer_type == RENDERER_DISABLE ); +#endif + } +#ifdef DEBUGGING + else if ( output_config == AUDIO_CONFIG_FOA || output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_HOA3 ) + { + /* FOA/HOA output */ + /* Nothing to do, is always RENDERER_SBA_LINEAR_ENC */ + assert( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC && renderer_type_old == RENDERER_SBA_LINEAR_ENC ); + } +#endif + } return error; } #endif -- GitLab From 04790a85a156e4eb748f9cba187209fdbae69963 Mon Sep 17 00:00:00 2001 From: kiene Date: Thu, 10 Nov 2022 12:02:33 +0100 Subject: [PATCH 049/620] use correct job id in url --- .gitlab-ci.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index fd39b3bd38..023960b1f9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -849,35 +849,35 @@ pages: - mkdir public # get artifacts for complexity jobs - - id_comp_stereo=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-stereo-test) - - echo $id_comp_stereo + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-stereo-test) + - echo $job_id - echo "$API_URL_BASE/$job_id/artifacts" - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - cat artifacts_comp_stereo.zip - unzip artifacts_comp_stereo.zip - mv measure-complexity-linux-stereo-test-public ./public/ - - id_comp_ism=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-ism-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-ism-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - unzip artifacts_comp_ism.zip - mv measure-complexity-linux-ism-test-public ./public/ - - id_comp_sba=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-sba-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-sba-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - unzip artifacts_comp_sba.zip - mv measure-complexity-linux-sba-test-public ./public/ - - id_comp_mc=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-mc-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-mc-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - unzip artifacts_comp_mc.zip - mv measure-complexity-linux-mc-test-public ./public/ - - id_comp_masa=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-masa-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-masa-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - unzip artifacts_comp_masa.zip - mv measure-complexity-linux-masa-test-public ./public/ - - id_comp_StereoDmxEVS=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-StereoDmxEVS-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-StereoDmxEVS-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - unzip artifacts_comp_StereoDmxEVS.zip - mv measure-complexity-linux-StereoDmxEVS-test-public ./public/ -- GitLab From 7321d00c98e22701ee68bf2102b3e56fbe669bc2 Mon Sep 17 00:00:00 2001 From: Stefan Bayer Date: Thu, 10 Nov 2022 12:58:09 +0100 Subject: [PATCH 050/620] [fix] fix MONO and STEREO output for MC bitrate switching, only for switching ParamMC <-> MCT --- lib_dec/ivas_mc_param_dec.c | 7 ++----- lib_dec/ivas_mct_dec.c | 32 +++++++++++++++++++++++++++----- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 6fbc52ff7e..d861e31f35 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -526,9 +526,6 @@ ivas_error ivas_param_mc_dec_reconfig( nchan_out_transport = st_ivas->hTransSetup.nchan_out_woLFE + st_ivas->hTransSetup.num_lfe; hParamMC->hoa_encoder = NULL; - - hParamMC->ls_conv_dmx_matrix = NULL; - if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { nchan_out_cov = st_ivas->hOutSetup.nchan_out_woLFE + st_ivas->hOutSetup.num_lfe; @@ -619,13 +616,13 @@ ivas_error ivas_param_mc_dec_reconfig( float *icc_q_old = hParamMC->icc_q; - /* init arrays for quantized parameters */ + /* init arrays for the quantized parameters */ hParamMC->icc_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ); hParamMC->icld_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe * sizeof( float ) ); set_f( hParamMC->icld_q, PARAM_MC_DEFAULT_MIN_ILD, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe ); set_f( hParamMC->icc_q, 0.0f, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe ); - /* map old to new parameter banding, only for same number of TCs, needs some more thought for changing number of TCs */ + /* map old to new parameter banding, only for same number of TCs, needs some more thought for a changing number of TCs */ if ( num_param_bands_old != hParamMC->hMetadataPMC->num_parameter_bands && nchan_transport_old == nchan_transport ) { int16_t new_param_band_idx, param_idx, source_param_idx; diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 51ae63a4f8..88f0a0bf26 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -650,10 +650,10 @@ ivas_error ivas_mc_dec_reconfig( ivas_error error; MC_MODE mc_mode; error = IVAS_ERR_OK; - + nchan_transport_old = st_ivas->nchan_transport; - - /* we have to temporally set the current mc_mode back to the previous one to make sure the following call to + + /* we have to temporally set the current mc_mode back to the previous one to make sure the following call to ivas_init_dec_get_num_cldfb_instances() returns the correct counts */ mc_mode = st_ivas->mc_mode; st_ivas->mc_mode = last_mc_mode; @@ -682,6 +682,8 @@ ivas_error ivas_mc_dec_reconfig( { ivas_param_mc_dec_close( &st_ivas->hParamMC ); st_ivas->hParamMC = NULL; + /* remove ls conversion if it was allocated by ParamMC */ + ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); } /* De-allocate McMasa-related handles */ @@ -696,12 +698,26 @@ ivas_error ivas_mc_dec_reconfig( ivas_qmetadata_close( &st_ivas->hQMetaData ); st_ivas->hQMetaData = NULL; } + + /* init LS conversion if the renderer type asks for it */ + if ( st_ivas->renderer_type == RENDERER_MC && st_ivas->hLsSetUpConversion == NULL) + { + if ( ( error = ivas_ls_setup_conversion_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } } } else if ( st_ivas->mc_mode == MC_MODE_PARAMMC ) { if ( last_mc_mode != MC_MODE_PARAMMC ) { + /* remove old ls conversion for MCT if open, gets reopened correctly within ivas_param_mc_dec_open when needed */ + if ( renderer_type_old == RENDERER_MC && st_ivas->hLsSetUpConversion != NULL ) + { + ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); + } if ( ( error = ivas_param_mc_dec_open( st_ivas ) ) != IVAS_ERR_OK ) { return error; @@ -757,6 +773,12 @@ ivas_error ivas_mc_dec_reconfig( } } + /* ls conversion */ + if ( st_ivas->hLsSetUpConversion != NULL ) + { + ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); + } + if ( st_ivas->hParamMC != NULL ) { ivas_param_mc_dec_close( &st_ivas->hParamMC ); @@ -885,7 +907,7 @@ ivas_error ivas_mc_dec_reconfig( } /* Allocat the LFE handle that is coded seperately after the allocation of the core coders*/ - if ( st_ivas->mc_mode == MC_MODE_MCT ) + if ( st_ivas->mc_mode == MC_MODE_MCT && st_ivas->hLFE == NULL ) { if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) @@ -958,7 +980,7 @@ ivas_error ivas_mc_dec_reconfig( } } } - else if ( st_ivas->hCrend == NULL && (st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM )) + else if ( st_ivas->hCrend == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) ) { if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) { -- GitLab From adc274ab66793a50880267a2c4060dbb41ea397f Mon Sep 17 00:00:00 2001 From: muxe6256 Date: Thu, 10 Nov 2022 14:06:29 +0100 Subject: [PATCH 051/620] bugs corrections, warnings removal --- lib_dec/ivas_init_dec.c | 6 +- run_test_bin_latencys.py | 37 ++++++- .../unit_tests/crend/ivas_crend_io_parse.h | 16 ++- .../unit_tests/crend/ivas_crend_public.h | 10 +- .../unit_tests/crend/ivas_crend_unit_test.c | 103 ++++++++++-------- .../unit_tests/crend/ivas_crend_utest_utils.c | 80 ++++++++------ .../unit_tests/crend/ivas_dec_parse_io.h | 24 ++-- 7 files changed, 165 insertions(+), 111 deletions(-) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index dd900d6d6c..9579401ce5 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1213,11 +1213,7 @@ ivas_error ivas_init_decoder( /*-----------------------------------------------------------------* * LFE handles for rendering after rendering to adjust LFE delay to binaural filter delay *-----------------------------------------------------------------*/ -#ifdef FIX_FIX_I59 - if ( ( st_ivas->mc_mode == MC_MODE_MCT ) || ( st_ivas->mc_mode == MC_MODE_PARAMMC ) ) -#else - if ( st_ivas->mc_mode == MC_MODE_MCT ) -#endif + if ( st_ivas->mc_mode == MC_MODE_MCT ) { #ifdef FIX_I59_LFE_TD_DELAY binauralization_delay_ns = st_ivas->binaural_latency_ns; diff --git a/run_test_bin_latencys.py b/run_test_bin_latencys.py index c40f226af5..36101cdac8 100644 --- a/run_test_bin_latencys.py +++ b/run_test_bin_latencys.py @@ -26,6 +26,7 @@ file_name_7_1_root = 'test_8ch_' file_name_7_1_4_root = 'dirac_12ch_' sampleRates = ['48', '16', '32'] +# sampleRates = ['48'] for sr in sampleRates: file_name_7_1_4 = inpath + file_name_7_1_4_root + sr + 'k' @@ -56,7 +57,7 @@ for sr in sampleRates: subprocess.call(cmd, shell=False) # encode 7.1 64kb PARAMMC - cmd = [ivas_cod_exe, '-MC', '7_1', '-max_band', 'FB', '128000', sr, + cmd = [ivas_cod_exe, '-MC', '7_1', '-max_band', 'FB', '64000', sr, file_name_7_1 + '.wav', file_name_7_1 + '_64kb.ptk'] print(' '.join(cmd)) @@ -76,6 +77,21 @@ for sr in sampleRates: print(' '.join(cmd)) subprocess.call(cmd, shell=False) +# -render_config testv/config_renderer.cfg +# # decode binaural crend 7.1.4 +# cmd = [ivas_dec_exe, '-render_config', 'script/testv/config_renderer_fastconv.cfg', 'BINAURAL', sr, file_name_7_1_4 + +# '_512kb.ptk', file_name_7_1_4 + '-hrir.wav'] + +# print(' '.join(cmd)) +# subprocess.call(cmd, shell=False) + +# # decode binaural room crend 7.1.4 +# cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, +# file_name_7_1_4 + '_128kb.ptk', file_name_7_1_4 + '-parammc_brir.wav'] + +# print(' '.join(cmd)) +# subprocess.call(cmd, shell=False) + # decode binaural crend 7.1.4 cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-hrir.wav'] @@ -85,11 +101,24 @@ for sr in sampleRates: # decode binaural room crend 7.1.4 cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, - file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-brir.wav'] + file_name_7_1_4 + '_128kb.ptk', file_name_7_1_4 + '-parammc_brir.wav'] print(' '.join(cmd)) subprocess.call(cmd, shell=False) + # decode binaural crend 7.1.4 + cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1_4 + + '_128kb.ptk', file_name_7_1_4 + '-parammc_hrir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) + + # decode binaural room crend 7.1.4 + cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, + file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-brir.wav'] + + print(' '.join(cmd)) + subprocess.call(cmd, shell=False) # decode binaural crend 7.1 cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1 + '_512kb.ptk', file_name_7_1 + '-hrir.wav'] @@ -106,14 +135,14 @@ for sr in sampleRates: # decode binaural fastconv 7.1 cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1 + - '_64kb.ptk', file_name_7_1 + '-fastconv-hrir.wav'] + '_64kb.ptk', file_name_7_1 + '-parammc-hrir.wav'] print(' '.join(cmd)) subprocess.call(cmd, shell=False) # decode binaural room fastconv 7.1 cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, file_name_7_1 + - '_64kb.ptk', file_name_7_1 + '-fastconv-brir.wav'] + '_64kb.ptk', file_name_7_1 + '-parammc-brir.wav'] print(' '.join(cmd)) subprocess.call(cmd, shell=False) diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h index abc8b1e463..dd6280d6e9 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h @@ -31,9 +31,9 @@ *******************************************************************************************************/ /**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ + * File description - + * This source file contains definitions specific to IVAS common renderer + ****************************************************************************/ #ifndef IVAS_CREND_IO_PARSE_H #define IVAS_CREND_IO_PARSE_H @@ -110,10 +110,14 @@ typedef struct ivas_crend_io_params_t char out_path[IVAS_MAX_PATH_LEN]; char prox_path[IVAS_MAX_PATH_LEN]; char csv_path[IVAS_MAX_PATH_LEN]; +#ifdef FIX_FIX_I59 + int32_t latency_ns; +#else float latency_s; - int32_t use_brir; - int32_t lfe_lp_enable; - int32_t limiter_enable; +#endif + int16_t use_brir; + int16_t lfe_lp_enable; + int16_t limiter_enable; ivas_crend_sanity_test_inp_t sanity_test; float no_diegetic_pan; float tol; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h index 057cfba10a..38b02c6df3 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h @@ -31,9 +31,9 @@ *******************************************************************************************************/ /**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ + * File description - + * This source file contains definitions specific to IVAS common renderer + ****************************************************************************/ #include "ivas_crend_io_parse.h" #include "ivas_dec_parse_io.h" @@ -62,7 +62,7 @@ #define IVAS_SOFA_THR_VAL ( 1e-15f ) AUDIO_CONFIG ivas_crend_map_out_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); -const char * ivas_crend_map_in_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); +const char *ivas_crend_map_in_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); ivas_result_t ivas_crend_default_io_params( ivas_crend_io_params_t *pIO_params ); ivas_result_t ivas_crend_parse_io_params( int argc, char **argv, ivas_crend_io_params_t *pIo_params ); @@ -74,7 +74,7 @@ int16_t ivas_get_num_channels( const int16_t ch_format ); ivas_result_t ivas_crend_copy_hrtf_data( HRTFS_DATA *hHrtf, HRTFS_DATA *pCrend_hrtfs ); -int32_t ivas_wrapper_get_frame_len( int32_t sample_rate ); +int16_t ivas_wrapper_get_frame_len( int32_t sample_rate ); ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, float *mixer ); diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c index b2a24534c0..5ad498f38e 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c @@ -85,31 +85,31 @@ { \ fclose( io_params.fOut ); \ } -#else -#define FILES_CLOSE \ - if ( NULL != io_params.fIn ) \ - { \ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) \ - { \ - if ( NULL != io_params.fIn[i] ) \ - { \ - AudioFileReader_close( &io_params.fIn[i] ); \ - io_params.fIn[i] = NULL; \ - } \ - } \ - } \ - if ( NULL != io_params.fRef ) \ - { \ - if ( NULL != io_params.fRef ) \ - { \ - AudioFileReader_close( &io_params.fRef ); \ - io_params.fRef = NULL; \ - } \ - } \ - if ( io_params.fOut != NULL ) \ - { \ - AudioFileWriter_close( &io_params.fOut ); \ - } +#else +#define FILES_CLOSE \ + if ( NULL != io_params.fIn ) \ + { \ + for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) \ + { \ + if ( NULL != io_params.fIn[i] ) \ + { \ + AudioFileReader_close( &io_params.fIn[i] ); \ + io_params.fIn[i] = NULL; \ + } \ + } \ + } \ + if ( NULL != io_params.fRef ) \ + { \ + if ( NULL != io_params.fRef ) \ + { \ + AudioFileReader_close( &io_params.fRef ); \ + io_params.fRef = NULL; \ + } \ + } \ + if ( io_params.fOut != NULL ) \ + { \ + AudioFileWriter_close( &io_params.fOut ); \ + } #endif /* temp change : to silence the compilation error */ int32_t frame = 0; /* Counter of frames */ @@ -200,7 +200,7 @@ static ivas_result_t ivas_crend_reverb_test( ivas_crend_io_params_t *pIo_params #else AudioFileWriter_close( &pIo_params->fOut ); AudioFileReader *fOut; - AudioFileReader_open( &fOut , pIo_params->out_path, pIo_params->sample_rate); + AudioFileReader_open( &fOut, pIo_params->out_path, pIo_params->sample_rate ); int16_t numRead; /* Compare */ if ( pIo_params->fRef ) @@ -277,7 +277,7 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para userLoc = (int16_t *) calloc( in_ch, sizeof( int16_t ) ); /* load bitstream data */ - num = (int16_t)fread( bitstream, sizeof( uint8_t ), MAX_BITSTREAM_LEN, pIo_params->fProx ); + num = (int16_t) fread( bitstream, sizeof( uint8_t ), MAX_BITSTREAM_LEN, pIo_params->fProx ); /* using bitstream information fill in the location in the userLoc vector */ get_users_locations( bitstream, num, userLoc ); @@ -289,10 +289,10 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para #ifdef USE_PCM_OUT int32_t i; - for (i = 0; i < in_ch; i++) + for ( i = 0; i < in_ch; i++ ) { - fseek(pIo_params->fRef, 0, SEEK_SET); - ivas_wav_header_skip(pIo_params->fRef); + fseek( pIo_params->fRef, 0, SEEK_SET ); + ivas_wav_header_skip( pIo_params->fRef ); } #endif #ifdef USE_PCM_OUT @@ -343,12 +343,12 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para { acc_0f = 0.0f; /* read reference channel correspnding to the given user in USER_ID */ - if ( (AudioFileReader_read( fRef , &ref, 1, &numRead ) != IVAS_ERR_OK) || (numRead == 0) ) + if ( ( AudioFileReader_read( fRef, &ref, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) { printf( "Ref file finished\n" ); goto DONE; } - acc_0f = (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ); + acc_0f = (float) ( ref ) * ( 1.0f / PCM16_TO_FLT_FAC ); /* compare to output from object mixer-renderer call above */ if ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) @@ -356,7 +356,7 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para printf( "Output file finished\n" ); goto DONE; } - out_0f = (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ); + out_0f = (float) ( out ) * ( 1.0f / PCM16_TO_FLT_FAC ); /* check if much different.. */ if ( fabs( out_0f - acc_0f ) > TC_TOL ) @@ -369,7 +369,6 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para } - #endif DONE: if ( test == PASS ) @@ -445,7 +444,11 @@ static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_param if ( pIo_params->fRef ) { ivas_wav_header_skip( pIo_params->fRef ); - skip_samples = (int32_t)( pIo_params->latency_s * pIo_params->sample_rate ); +#ifdef FIX_FIX_I59 + skip_samples = NS2SA( pIo_params->sample_rate, (float) Io_params->latency_ns + 0.5f ); +#else + skip_samples = (int32_t) ( pIo_params->latency_s * pIo_params->sample_rate ); +#endif if ( pIo_params->no_delay_cmp == 0 ) { skip_bytes = skip_samples * ivas_get_num_channels( BIN_2 ) * sizeof( int16_t ); @@ -499,11 +502,15 @@ static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_param AudioFileReader_open( &fOut, pIo_params->out_path, pIo_params->sample_rate ); AudioFileReader_open( &fRef, pIo_params->ref_path, pIo_params->sample_rate ); +#ifdef FIX_FIX_I59 + skip_samples = NS2SA( pIo_params->sample_rate, (float) pIo_params->latency_ns + 0.5f ); +#else skip_samples = (int32_t) ( pIo_params->latency_s * pIo_params->sample_rate ); +#endif /* skip intial samples based on latency */ int16_t tail = 0; int32_t tail_zeros = 0; - + while ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) && ( AudioFileReader_read( fRef, &ref, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) ) { if ( fabs( (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ) - (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ) ) > pIo_params->tol ) @@ -570,7 +577,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa if ( pIo_params->out_fmt != STEREO_2 ) return IVAS_FAILED; - no_diegetic_pan = pIo_params->no_diegetic_pan; + no_diegetic_pan = pIo_params->no_diegetic_pan; if ( no_diegetic_pan > 1 ) no_diegetic_pan = 1; if ( no_diegetic_pan < -1 ) @@ -589,7 +596,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa } #ifdef USE_PCM_OUT - int32_t in_ch,i; + int32_t in_ch, i; in_ch = ivas_get_num_channels( pIo_params->in_fmt ); /* Compare */ @@ -622,7 +629,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa #else /* Compare */ - int16_t numRead; + int16_t numRead; AudioFileReader_close( &pIo_params->fRef ); AudioFileWriter_close( &pIo_params->fOut ); AudioFileReader *fRef, *fOut; @@ -635,11 +642,11 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa { if ( ( AudioFileReader_read( fRef, &ref, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) goto DONE; - ref_f = (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ); + ref_f = (float) ( ref ) * ( 1.0f / PCM16_TO_FLT_FAC ); - if (( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || (numRead == 0) ) + if ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) goto DONE; - out_f = (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ); + out_f = (float) ( out ) * ( 1.0f / PCM16_TO_FLT_FAC ); if ( fabs( out_f - ref_f ) > TC_TOL ) test = FAIL; @@ -686,12 +693,12 @@ int main( int argc, char **argv ) if ( io_params.in_path[0] != '\0' ) { if ( - io_params.test == CREND_ACOUSTIC_PROXIMITY || - io_params.test == CREND_BIN_TEST || - io_params.test == FASTCONV_BIN_TEST || - io_params.test == PARAM_BIN_TEST || - io_params.test == TD_BIN_TEST || - io_params.test == CREND_TEST_NO_DIEGETIC ) + io_params.test == CREND_ACOUSTIC_PROXIMITY || + io_params.test == CREND_BIN_TEST || + io_params.test == FASTCONV_BIN_TEST || + io_params.test == PARAM_BIN_TEST || + io_params.test == TD_BIN_TEST || + io_params.test == CREND_TEST_NO_DIEGETIC ) { ivas_open_files_crend( &io_params ); } diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index dfec494779..39224ed7ea 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -101,12 +101,13 @@ static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_ro if ( use_round_for_lfe ) delay_lfe[ind1][ind2] = (int32_t) roundf( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); else - delay_lfe[ind1][ind2] = (int32_t) ( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); + delay_lfe[ind1][ind2] = (int32_t) NS2SA( sampleRates[ind1], delay_ns[ind2] ); if ( verbose ) printf( "\ndelay_lfe[%d][%d] = %ld\n", ind1, ind2, delay_lfe[ind1][ind2] ); *err_lfe += abs( delay_lfe[ind1][ind2] - wanted ); delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] + 0.5f ); + // delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] ); if ( verbose ) printf( "\ndelay_dec[%d][%d] = %ld \n", ind1, ind2, delay_dec[ind1][ind2] ); @@ -279,8 +280,8 @@ int16_t ivas_get_num_channels( static ivas_result_t ivas_crend_mixer( float ppPcm_in[][L_FRAME48k], float ppPcm_out[][L_FRAME48k], - int32_t in_ch, - int32_t out_ch, + int16_t in_ch, + int16_t out_ch, const float *pMixer_gain, const int16_t frame_len ) { @@ -384,9 +385,9 @@ ivas_result_t ivas_crend_default_io_params( ivas_crend_io_params_t *pIO_params ) * Outputs - * *-----------------------------------------------------------------------------------------*/ -int32_t ivas_wrapper_get_frame_len( int32_t sample_rate ) +int16_t ivas_wrapper_get_frame_len( int32_t sample_rate ) { - return ( (int32_t) ( sample_rate / FRAMES_PER_SEC ) ); + return ( (int16_t) ( sample_rate / FRAMES_PER_SEC ) ); } /*-----------------------------------------------------------------------------------------* @@ -431,8 +432,11 @@ static ivas_result_t ivas_crend_set_config_params( *-----------------------------------------------------------------------------------------*/ ivas_result_t ivas_crend_copy_latencies_to_io_params( ivas_crend_io_params_t *pIo_params, HRTFS_DATA *pCrend_hrtfs ) { - +#ifdef FIX_FIX_I59 + pIo_params->latency_ns = (int32_t) ( pCrend_hrtfs->latency_s * 1000000000.f ); +#else pIo_params->latency_s = pCrend_hrtfs->latency_s; +#endif return IVAS_SUCCESS; } @@ -820,7 +824,7 @@ ivas_result_t ivas_crend_parse_io_params( int argc, char **argv, ivas_crend_io_p } else { - pIo_params->no_diegetic_pan = atof( param ); + pIo_params->no_diegetic_pan = (float) atof( param ); } optional_args++; } @@ -907,9 +911,9 @@ ivas_result_t ivas_wav_header_skip( FILE *in_file ) *-----------------------------------------------------------------------------------------*/ static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params, float ppPcm_in[][L_FRAME48k] ) { - int32_t i = 0, j = 0, samples_read = 0, num_in_ch = 0; - int32_t offset; - int32_t input_frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); + int16_t i = 0, j = 0, samples_read = 0, num_in_ch = 0; + int16_t offset; + int16_t input_frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); int16_t tmp, read = 0; num_in_ch = ivas_get_num_channels( pIo_params->in_fmt ); @@ -1092,8 +1096,8 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl int64_t frame_count = 0; - int32_t i = 0, j = 0; - int32_t frame_len = 0; + int16_t i = 0, j = 0; + int16_t frame_len = 0; ivas_dec_io_params_t dec_io_params; int16_t in_format; @@ -1133,7 +1137,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } } #endif - /* test rounding error + /* test rounding error */ float binaural_latencys_fastconv_s[3] = { FASTCONV_HRIR_latency_s, FASTCONV_BRIR_latency_s, FASTCONV_BRIR_latency_s }; float binaural_latencys_crend_s[3] = { 1.f / 48000.f, 2.f / 48000.f, 3.f / 48000.f }; float binaural_latencys_td_s[3] = { BINAURAL_TD_LATENCY_S, BINAURAL_TD_LATENCY_S + 1.f / 48000.f, BINAURAL_TD_LATENCY_S + 2.f / 48000.f }; @@ -1166,7 +1170,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_td_s, 1, 1, &err_lfe, &err_dec, 0 ); printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); -*/ + ivas_render_config_open( &st_ivas.hRenderConfig ); ivas_render_config_init_from_rom( &st_ivas.hRenderConfig, 0 ); @@ -1205,7 +1209,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV_ROOM; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; #ifdef FIX_FIX_I59 - pIo_params->latency_s = roundf( IVAS_FB_DEC_DELAY_NS + FASTCONV_BRIR_latency_s * 1000000000.f ); + pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_BRIR_latency_s * 1000000000.f ) ); #else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_BRIR_latency_s; #endif @@ -1216,13 +1220,13 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; if ( st_ivas.ivas_format == MC_FORMAT ) #ifdef FIX_FIX_I59 - pIo_params->latency_s = roundf( IVAS_FB_DEC_DELAY_NS + FASTCONV_HRIR_latency_s * 1000000000.f ); + pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f ) ); #else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HRIR_latency_s; #endif else #ifdef FIX_FIX_I59 - pIo_params->latency_s = roundf( IVAS_FB_DEC_DELAY_NS + FASTCONV_HOA3_latency_s * 1000000000.f ); + pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ) ); #else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HOA3_latency_s; #endif @@ -1247,7 +1251,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; } #ifdef FIX_FIX_I59 - pIo_params->latency_s = roundf( BINAURAL_TD_LATENCY_S * 1000000000.f ); + pIo_params->latency_ns = (int32_t) ( BINAURAL_TD_LATENCY_S * 1000000000.f ); #else pIo_params->latency_s = BINAURAL_TD_LATENCY_S; #endif @@ -1265,7 +1269,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; } #ifdef FIX_FIX_I59 - pIo_params->latency_s = IVAS_FB_DEC_DELAY_NS; + pIo_params->latency_ns = IVAS_FB_DEC_DELAY_NS; #else pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate; #endif @@ -1294,8 +1298,8 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl ivas_hrtf_init( st_ivas.hHrtf ); } - int32_t in_ch = audioCfg2channels( st_ivas.transport_config ); - int32_t out_ch = audioCfg2channels( st_ivas.hDecoderConfig->output_config ); + int16_t in_ch = audioCfg2channels( st_ivas.transport_config ); + int16_t out_ch = audioCfg2channels( st_ivas.hDecoderConfig->output_config ); /*------------------------------------------------------------------------------------------* * State memory allocation for Common renderer @@ -1409,7 +1413,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl if ( pIo_params->test == CREND_BIN_TEST ) { #ifdef FIX_FIX_I59 - pIo_params->latency_s = roundf( st_ivas.hHrtf->latency_s * 1000000000.f ); + pIo_params->latency_ns = (int32_t) ( st_ivas.hHrtf->latency_s * 1000000000.f ); #else pIo_params->latency_s = st_ivas.hHrtf->latency_s; #endif @@ -1417,7 +1421,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl if ( st_ivas.ivas_format == MC_FORMAT ) { #ifdef FIX_FIX_I59 - ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); + ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_ns ); #else ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_s ); #endif @@ -1428,9 +1432,15 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl count_free( st_ivas.hLFE->lfe_delay_buf ); st_ivas.hLFE->lfe_delay_buf = NULL; } +#ifdef FIX_FIX_I59 + if ( pIo_params->latency_ns > 0 ) + { + st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( (float) pIo_params->latency_ns * (float) dec_io_params.out_sample_rate / 1000000000.f ); +#else if ( pIo_params->latency_s > 0 ) { st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( pIo_params->latency_s * dec_io_params.out_sample_rate ); +#endif if ( st_ivas.hLFE->lfe_addl_delay > 0 ) { if ( ( st_ivas.hLFE->lfe_delay_buf = (float *) count_malloc( st_ivas.hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) @@ -1459,7 +1469,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } ivas_lfe_lpf_select_filt_coeff( pIo_params->sample_rate, IVAS_FILTER_ORDER_4, &filt_coeff ); ivas_filters_init( &st_ivas.hLFE->filter_state, filt_coeff, IVAS_FILTER_ORDER_4 ); +#ifdef FIX_FIX_I59 + pIo_params->latency_ns = pIo_params->latency_ns + (int32_t) ( ivas_lfe_lpf_delay[1] * 1000000000.f ); +#else pIo_params->latency_s = pIo_params->latency_s + ivas_lfe_lpf_delay[1]; +#endif } else { @@ -1491,7 +1505,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl int16_t write_flag = 0; if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->no_delay_cmp == 0 ) ) { +#ifdef FIX_FIX_I59 + skip_samples = NS2SA( pIo_params->sample_rate, (float) pIo_params->latency_ns + 0.5f ); +#else skip_samples = NS2SA( pIo_params->sample_rate, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); +#endif } fprintf( stdout, "IVAS Common Renderer skip samples = %d\n", (int) skip_samples ); @@ -1519,7 +1537,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { if ( i != lfe_ch_idx ) { - delay_signal( ppPcm_in[idx], frame_len, ppDelay_lines[idx], delay_lp ); + delay_signal( ppPcm_in[i], frame_len, ppDelay_lines[idx], delay_lp ); idx++; } } @@ -1663,7 +1681,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl #endif pcm[i] = ( temp > MAX16B ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B : (short) temp; - clip = max( clip, fabs( ppPcm_out[i][j] ) ); + clip = max( clip, fabsf( ppPcm_out[i][j] ) ); } if ( write_flag == 1 ) { @@ -1693,7 +1711,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } #ifdef _FIND_MAX_ - valEner = sqrt( valEner / ( frame_count * frame_len ) ); + valEner = sqrtf( valEner / ( frame_count * frame_len ) ); printf( "valMax = %f valEner = %f \n", 20.f * log10( valMax ), 20.f * log10( valEner ) ); #endif printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); @@ -1771,8 +1789,8 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in int64_t frame_count = 0; - int32_t i = 0, j = 0; - int32_t frame_len = 0; + int16_t i = 0, j = 0; + int16_t frame_len = 0; float *Smixer; float *powvec; @@ -1824,8 +1842,8 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in /*------------------------------------------------------------------------------------------* * In/out buffer memory allocation for encoder *------------------------------------------------------------------------------------------*/ - int32_t in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - int32_t out_ch = ivas_get_num_channels( pIo_params->out_fmt ); + int16_t in_ch = ivas_get_num_channels( pIo_params->in_fmt ); + int16_t out_ch = ivas_get_num_channels( pIo_params->out_fmt ); Smixer = (float *) calloc( in_ch, sizeof( float ) ); powvec = (float *) calloc( in_ch, sizeof( float ) ); @@ -1913,7 +1931,7 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in free( Smixer ); #ifdef _FIND_MAX_ - valEner = sqrt( valEner / ( frame_count * frame_len ) ); + valEner = sqrtf( valEner / ( frame_count * frame_len ) ); printf( "valMax = %f valEner = %f \n", 20.f * log10( valMax ), 20.f * log10( valEner ) ); #endif printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h index ed4071d8ca..0871946999 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h @@ -34,13 +34,13 @@ #define IVAS_DEC_PARSE_IO_H /**************************************************************************** -* File description - -* This header file contains declarations for IO/cmd line params parsing of IVAS decoder -****************************************************************************/ + * File description - + * This header file contains declarations for IO/cmd line params parsing of IVAS decoder + ****************************************************************************/ /*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ + * include header files + *------------------------------------------------------------------------------------------*/ #include #include #include @@ -48,8 +48,8 @@ #include "audio_file_writer.h" /*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ + * PreProcessor + *------------------------------------------------------------------------------------------*/ #define IVAS_IN_FMT_COMBINED "Combined" #define IVAS_IN_FMT_HOA_3 "HOA3S" @@ -64,8 +64,8 @@ #define MAX_CH_IDX_TAG_LEN ( 10 ) /*------------------------------------------------------------------------------------------* -* Global variables -*------------------------------------------------------------------------------------------*/ + * Global variables + *------------------------------------------------------------------------------------------*/ /* IVAS bitstream formats */ #define IVAS_G192 ( 0 ) #define IVAS_MIME ( 1 ) @@ -92,11 +92,11 @@ #define IVAS_MAX_NUM_CH 16 /*------------------------------------------------------------------------------------------* -* Structure definitions -*------------------------------------------------------------------------------------------*/ + * Structure definitions + *------------------------------------------------------------------------------------------*/ typedef struct ivas_dec_io_params_t { - int32_t in_fmt; + int16_t in_fmt; int32_t out_sample_rate; int32_t out_fmt; int32_t crend_enable; -- GitLab From 7e364a447452ecd298fbef15e5706d9314c848e0 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 14:41:12 +0100 Subject: [PATCH 052/620] remove requirements as there are none yet --- ci/complexity_measurements/genWebpageData_Prom.csh | 11 ++++++----- ci/complexity_measurements/genWebpageData_Ram.csh | 7 ++++--- ci/complexity_measurements/genWebpageData_Rom.csh | 7 ++++--- ci/complexity_measurements/genWebpageData_WMOPS.csh | 9 ++++++--- ci/complexity_measurements/index_complexity.html | 10 +--------- 5 files changed, 21 insertions(+), 23 deletions(-) diff --git a/ci/complexity_measurements/genWebpageData_Prom.csh b/ci/complexity_measurements/genWebpageData_Prom.csh index d605abb1af..d6e716f0c5 100755 --- a/ci/complexity_measurements/genWebpageData_Prom.csh +++ b/ci/complexity_measurements/genWebpageData_Prom.csh @@ -96,8 +96,8 @@ echo ' displays: [' >> $file # requirement PROM echo ' {' >> $file -echo ' lines: { show: true },' >> $file -echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false, fillColor: "#ffffff" },' >> $file echo ' borderWidth: 1.5,' >> $file echo ' borderColor: "#BEBEBE",' >> $file echo ' markingsLineWidth: .75,' >> $file @@ -122,7 +122,8 @@ foreach line ( "`cat ${tmpFile1}`" ) continue endif - set score = 54260 + # TODO: add real requirement once decided on + set score = 0 echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -174,8 +175,8 @@ echo ' },' >> $file # measured ops BASOP echo ' {' >> $file -echo ' lines: { show: true },' >> $file -echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false, fillColor: "#ffffff" },' >> $file echo ' borderWidth: 1.5,' >> $file echo ' borderColor: "#BEBEBE",' >> $file echo ' markingsLineWidth: .75,' >> $file diff --git a/ci/complexity_measurements/genWebpageData_Ram.csh b/ci/complexity_measurements/genWebpageData_Ram.csh index 19fac84e0a..a8dbc0e2f9 100755 --- a/ci/complexity_measurements/genWebpageData_Ram.csh +++ b/ci/complexity_measurements/genWebpageData_Ram.csh @@ -104,8 +104,8 @@ echo ' displays: [' >> $file # requirement RAM echo ' {' >> $file -echo ' lines: { show: true },' >> $file -echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false, fillColor: "#ffffff" },' >> $file echo ' borderWidth: 1.5,' >> $file echo ' borderColor: "#BEBEBE",' >> $file echo ' markingsLineWidth: .75,' >> $file @@ -130,7 +130,8 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = 200000 + # TODO: add real requirement once decided on + set score = 0 echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ diff --git a/ci/complexity_measurements/genWebpageData_Rom.csh b/ci/complexity_measurements/genWebpageData_Rom.csh index d99d5928bd..d2ef2daf15 100755 --- a/ci/complexity_measurements/genWebpageData_Rom.csh +++ b/ci/complexity_measurements/genWebpageData_Rom.csh @@ -96,8 +96,8 @@ echo ' displays: [' >> $file # requirement ROM echo ' {' >> $file -echo ' lines: { show: true },' >> $file -echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false, fillColor: "#ffffff" },' >> $file echo ' borderWidth: 1.5,' >> $file echo ' borderColor: "#BEBEBE",' >> $file echo ' markingsLineWidth: .75,' >> $file @@ -122,7 +122,8 @@ foreach line ( "`cat ${tmpFile1}`" ) continue endif - set score = 200000 + # TODO: add real requirement once decided on + set score = 0 echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ diff --git a/ci/complexity_measurements/genWebpageData_WMOPS.csh b/ci/complexity_measurements/genWebpageData_WMOPS.csh index 5551978054..c030f4afac 100755 --- a/ci/complexity_measurements/genWebpageData_WMOPS.csh +++ b/ci/complexity_measurements/genWebpageData_WMOPS.csh @@ -120,8 +120,8 @@ echo ' displays: [' >> $file # 135 WMOPS boundary echo ' {' >> $file -echo ' lines: { show: true },' >> $file -echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' lines: { show: false },' >> $file +echo ' points: { show: false, fillColor: "#ffffff" },' >> $file echo ' borderWidth: 1.5,' >> $file echo ' borderColor: "#BEBEBE",' >> $file echo ' markingsLineWidth: .75,' >> $file @@ -146,7 +146,10 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - echo ' ['"${i}, 135.00"']'${separator} >> $file + # TODO: add real requirement once decided on + set score = 0 + + echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ end diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index a663e37cbf..43e69db218 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -150,7 +150,6 @@
    -
  • Complexity requirement: 135 WMOPS (approximately 3.1 x WMOPS complexity of AMR-WB estimated with ITU-T STL2009)
  • Worst case encoder + decoder performance: Encoder and decoder mode might be different.
  • Worst case encoder + decoder performance (rateswitching): Encoder and decoder mode might be different.
  • Worst case codec performance: Encoder and decoder modes are identical.
  • @@ -186,7 +185,6 @@
      -
    • Complexity requirement: 135 WMOPS (approximately 3.1 x WMOPS complexity of AMR-WB estimated with ITU-T STL2009)
    • Worst case encoder + decoder performance: Encoder and decoder mode might be different.
    • Worst case encoder + decoder performance (rateswitching): Encoder and decoder mode might be different.
    • Worst case codec performance: Encoder and decoder modes are identical.
    • @@ -224,7 +222,6 @@
        -
      • Complexity requirement: 135 WMOPS (approximately 3.1 x WMOPS complexity of AMR-WB estimated with ITU-T STL2009)
      • Worst case encoder + decoder performance: Encoder and decoder mode might be different.
      • Worst case encoder + decoder performance (rateswitching): Encoder and decoder mode might be different.
      • Worst case codec performance: Encoder and decoder modes are identical.
      • @@ -274,7 +271,6 @@
          -
        • RAM requirement: 200 kWord (≈ 31 x RAM of AMR-WB speech codec: 6.5 kWord)
        • Max. total RAM Codec: Dynamic + Static RAM, 32 bit words, Encoder + Decoder
        • Max. total RAM @@ -309,7 +305,6 @@
            -
          • RAM requirement: 200 kWord (≈ 31 x RAM of AMR-WB speech codec: 6.5 kWord)
          • Max. total RAM Codec: Dynamic + Static RAM, Encoder + Decoder
          • Max. total RAM Encoder: Dynamic + Static RAM, Encoder only
          • Max. total RAM Decoder: Dynamic + Static RAM, Decoder only
          • @@ -335,7 +330,6 @@
              -
            • ROM requirement: 200 kWord (≈ 20 x ROM of AMR-WB speech codec: 9.9 kWord)
            • Measured ROM table size, 32 bit words (Float)
            @@ -352,7 +346,6 @@
              -
            • ROM requirement: 200 kWord (≈ 20 x ROM of AMR-WB speech codec: 9.9 kWord)
            • Measured ROM table size, 16 bit words (BASOP)
            @@ -369,10 +362,9 @@
              -
            • PROM requirement: 54260 Ops (10 x Program ROM of AMR-WB speech codec, estimated with ITU-T STL2009: 5426 Ops)
            • Measured PROM (Float, trunk)
            • -
            • Measured PROM (BASOP, branch basop)
            • +
            -- GitLab From eea072f7db6ef94e2eab25dce51c77547b6f2b90 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 14:47:56 +0100 Subject: [PATCH 053/620] add jobs back --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 023960b1f9..173260be90 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -770,7 +770,7 @@ coverage-test-on-main-scheduled: paths: - $CI_JOB_NAME-public -.measure-complexity-linux-stereo-test: +measure-complexity-linux-stereo-test: extends: - .measure-complexity-template script: @@ -780,7 +780,7 @@ coverage-test-on-main-scheduled: - bash ci/complexity_measurements/getWmops.sh stereo - *complexity-measurements-prepare-artifacts -.measure-complexity-linux-ism-test: +measure-complexity-linux-ism-test: extends: - .measure-complexity-template script: @@ -790,7 +790,7 @@ coverage-test-on-main-scheduled: - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" - *complexity-measurements-prepare-artifacts -.measure-complexity-linux-sba-test: +measure-complexity-linux-sba-test: extends: - .measure-complexity-template script: @@ -800,7 +800,7 @@ coverage-test-on-main-scheduled: - bash ci/complexity_measurements/getWmops.sh SBA - *complexity-measurements-prepare-artifacts -.measure-complexity-linux-mc-test: +measure-complexity-linux-mc-test: extends: - .measure-complexity-template script: @@ -810,7 +810,7 @@ coverage-test-on-main-scheduled: - bash ci/complexity_measurements/getWmops.sh MC - *complexity-measurements-prepare-artifacts -.measure-complexity-linux-masa-test: +measure-complexity-linux-masa-test: extends: - .measure-complexity-template script: @@ -820,7 +820,7 @@ coverage-test-on-main-scheduled: - bash ci/complexity_measurements/getWmops.sh MASA - *complexity-measurements-prepare-artifacts -.measure-complexity-linux-StereoDmxEVS-test: +measure-complexity-linux-StereoDmxEVS-test: extends: - .measure-complexity-template script: -- GitLab From 7f79519ea51789d952dbc8ec6c841095da072462 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Thu, 10 Nov 2022 14:50:41 +0100 Subject: [PATCH 054/620] Added TD renderer ITD update and cleanup under define FIX_ITD --- lib_com/ivas_cnst.h | 10 +- lib_com/ivas_prot.h | 47 +++++- lib_com/options.h | 2 +- lib_dec/ivas_stat_dec.h | 19 ++- lib_rend/ivas_lib_rend_internal.h | 2 + lib_rend/ivas_objectRenderer.c | 34 +++- lib_rend/ivas_objectRenderer_hrFilt.c | 54 +++++- lib_rend/ivas_objectRenderer_mix.c | 8 + lib_rend/ivas_objectRenderer_sfx.c | 223 ++++++++++++++++++++++++- lib_rend/ivas_objectRenderer_sources.c | 73 +++++++- lib_rend/lib_rend.c | 8 + 11 files changed, 456 insertions(+), 24 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 0074be76d2..8d2206eefa 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1390,8 +1390,16 @@ typedef enum #define SFX_SPAT_BIN_MAX_FILTER_LENGTH 256 #define SPAT_BIN_MAX_INPUT_CHANNELS 1 /* Max number of input channels per source/object. Mono for now, but stereo objects may be considered. */ - +#ifdef FIX_ITD +#define MAX_ITD 50 +#define SFX_SPAT_BIN_SINC_M 5 +#define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 +#define ITD_MEM_LEN (MAX_ITD + SFX_SPAT_BIN_SINC_M) +#define L_SUBFRAME5MS_48k (L_FRAME48k/4) +#define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ +#else #define BINAURAL_TD_LATENCY_S 0.00675f /* Binaural TD renderer latency in second == 324 samples in between 333 and 315 */ +#endif /* ----- Enums - TD Renderer ----- */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index eac8ec005a..48d9bcb650 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -4992,7 +4992,13 @@ void GetFilterFromAngle( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ const float Elev, /* i : Elevation, degrees */ float Azim, /* i : Azimuth, degrees */ +#ifdef FIX_ITD + float *LeftFilter_p, /* o : Left HR filter */ + float *RightFilter_p, /* o : Right HR filter */ + int16_t *itd /* o : ITD value */ +#else SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ +#endif ); void HRTF_model_precalc( @@ -5021,8 +5027,12 @@ ivas_error TDREND_REND_RenderSourceHRFilt( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ #endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ +#ifdef FIX_ITD + const int16_t subframe_length /* i : Subframe length in use */ +#else const int16_t subframe_length, /* i : Subframe length in use */ const int32_t output_Fs /* i : Output sample rate */ +#endif ); /* ----- Object renderer - sources ----- */ @@ -5055,7 +5065,15 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ +#ifdef FIX_ITD + float *LeftFilter_p, /* o: Left filter */ + float *RightFilter_p, /* o: Right filter */ + int16_t *filterlength, /* o: Length of filters */ + int16_t *itd, /* o: ITD value */ + float *Gain /* o: Gain value */ +#else const int32_t output_Fs /* i : Output sample rate */ +#endif ); ivas_error TDREND_SRC_Alloc( @@ -5068,8 +5086,12 @@ void TDREND_SRC_Dealloc( void TDREND_SRC_Init( TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ +#ifdef FIX_ITD + const TDREND_PosType_t PosType /* i : Position type specifier */ +#else const TDREND_PosType_t PosType, /* i : Position type specifier */ const int32_t output_Fs /* i : Output sampling rate */ +#endif ); /* ----- Object renderer - vec ----- */ @@ -5114,8 +5136,12 @@ int16_t TDREND_SPATIAL_EvalOrthonormOrient( ivas_error TDREND_MIX_AddSrc( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ int16_t *SrcInd, /* o : Source index */ +#ifdef FIX_ITD + const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ +#else const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ const int32_t output_Fs /* i : Output sampling rate */ +#endif ); ivas_error TDREND_MIX_SetDistAttenModel( @@ -5146,7 +5172,7 @@ ivas_error TDREND_MIX_Init( ); /* ----- Object renderer - sfx ----- */ - +#ifndef FIX_ITD ivas_error TDREND_SFX_SpatBin_Initialize( SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ const int32_t output_Fs /* i : Output sampling rate */ @@ -5168,8 +5194,27 @@ void TDREND_SFX_SpatBin_Execute_Main( int16_t *NoOfDeliveredOutputSamples_p, /* o : Number of output samples actually rendered */ const int32_t output_Fs /* i : Output sample rate */ ); +#endif +#ifdef FIX_ITD +void TDREND_Apply_ITD( + float *input, /* i: Input SCE subframe to be time adjusted */ + float *out_left, /* o: Output left channels with ITD applied */ + float *out_right, /* o: Output right channels with ITD applied */ + int16_t *previtd, /*i/o: Previous ITD value */ + const int16_t itd, /* i: Current subframe ITD value */ + float *mem_itd, /*i/o: ITD buffer memory */ + const int16_t length /* i: Subframe length */ +); +void TDREND_firfilt( + float *signal, /* i/o: Input signal / Filtered signal */ + const float *filter, /* i/o: FIR filter */ + float *mem, /* i/o: filter memory */ + const int16_t subframe_length, /* i : Length of signal */ + const int16_t filterlength /* i : Filter length */ +); +#endif /*----------------------------------------------------------------------------------* * Filter-bank (FB) Mixer *----------------------------------------------------------------------------------*/ diff --git a/lib_com/options.h b/lib_com/options.h index 7e32d95326..5802a57198 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,7 +151,7 @@ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ - +#define FIX_ITD /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 50369fab6d..1177a80443 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1324,6 +1324,8 @@ typedef struct ivas_binaural_head_track_struct /*----------------------------------------------------------------------------------* * TD ISm Object Renderer structure *----------------------------------------------------------------------------------*/ + +#ifndef FIX_ITD // VE2AT: move to ivas_rom_rend.h ? typedef struct { @@ -1387,6 +1389,7 @@ typedef struct TDREND_LIST_Item_s struct TDREND_LIST_Item_s *Next_p; /* Pointer to the next item */ } TDREND_LIST_Item_t; +#endif typedef struct { @@ -1579,10 +1582,10 @@ typedef struct TDREND_SRC_REND_s float SrcGainMax_p[SPAT_BIN_MAX_INPUT_CHANNELS]; float DirGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; float DistGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; - +#ifndef FIX_ITD /* HR filtering parameters */ SFX_SpatBin_t *SfxSpatBin_p; - +#endif } TDREND_SRC_REND_t; @@ -1605,7 +1608,17 @@ typedef struct float *InputFrame_p; /* Input frame pointer */ TDREND_SRC_SPATIAL_t *SrcSpatial_p; TDREND_SRC_REND_t *SrcRend_p; - +#ifdef FIX_ITD + int16_t itd; + int16_t previtd; + int16_t filterlength; + float mem_itd[ITD_MEM_LEN]; + float hr_filt_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Todo: Should we allocate these buffers with count_malloc instead of the maximum length? */ + float hr_filt_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + float mem_hr_filt_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; + float mem_hr_filt_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; + float Gain; +#endif } TDREND_SRC_t; /* Top level TD binaural renderer handle */ diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h index 94a762c315..f3a9ca6d87 100644 --- a/lib_rend/ivas_lib_rend_internal.h +++ b/lib_rend/ivas_lib_rend_internal.h @@ -109,7 +109,9 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ +#ifndef FIX_ITD const int32_t output_Fs, /* i : output sampling rate */ +#endif float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ); diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 31bc3b5e0a..475bc1d5d1 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -50,8 +50,11 @@ * Local function prototypes *---------------------------------------------------------------------*/ +#ifdef FIX_ITD +static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, float output[][L_FRAME48k], const int16_t subframe_length, const int16_t subframe_idx ); +#else static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, float output[][L_FRAME48k], const int16_t subframe_length, const int32_t output_Fs, const int16_t subframe_idx ); - +#endif static void TDREND_Clear_Update_flags( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd ); static void TDREND_Update_listener_orientation( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, @@ -134,7 +137,11 @@ ivas_error ivas_td_binaural_open( for ( nS = 0; nS < nchan_rend; nS++ ) { +#ifdef FIX_ITD + if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType ) ) != IVAS_ERR_OK ) +#else if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -281,7 +288,11 @@ void ObjRenderIVASFrame( } /* Render subframe */ +#ifdef FIX_ITD + TDREND_GetMix( st_ivas->hBinRendererTd, output, subframe_length, subframe_idx ); +#else TDREND_GetMix( st_ivas->hBinRendererTd, output, subframe_length, st_ivas->hDecoderConfig->output_Fs, subframe_idx ); +#endif } if ( st_ivas->hRenderConfig != NULL ) /* Renderer Configuration not enabled in TD standalone renderer */ @@ -307,7 +318,9 @@ static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ float output[][L_FRAME48k], /* i/o: ISm object synth / rendered output in 0,1 */ const int16_t subframe_length, /* i/o: subframe length */ +#ifndef FIX_ITD const int32_t output_Fs, /* i : Output sampling rate */ +#endif const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ ) { @@ -334,7 +347,12 @@ static ivas_error TDREND_GetMix( /* Update rendering params if needed */ if ( hBinRendererTd->Listener_p->PoseUpdated || SrcSpatial_p->Updated ) { +#ifdef FIX_ITD + TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, Src_p->hr_filt_left, + Src_p->hr_filt_right, &Src_p->filterlength, &Src_p->itd, &Src_p->Gain ); +#else TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, output_Fs ); +#endif } /* Render source if needed */ @@ -342,8 +360,12 @@ static ivas_error TDREND_GetMix( { #ifdef TDREND_HRTF_TABLE_METHODS error = TDREND_REND_RenderSourceHRFilt( Src_p, hBinRendererTd, output_buf, subframe_length, output_Fs ); +#else +#ifdef FIX_ITD + error = TDREND_REND_RenderSourceHRFilt( Src_p, output_buf, subframe_length ); #else error = TDREND_REND_RenderSourceHRFilt( Src_p, output_buf, subframe_length, output_Fs ); +#endif #endif } } @@ -580,7 +602,11 @@ ivas_error ivas_rend_TDObjRendOpen( for ( nS = 0; nS < nchan_rend; nS++ ) { +#ifdef FIX_ITD + if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType ) ) != IVAS_ERR_OK ) +#else if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType, outFs ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -665,7 +691,9 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ +#ifndef FIX_ITD const int32_t output_Fs, /* i : output sampling rate */ +#endif float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ) { @@ -737,7 +765,11 @@ ivas_error ivas_rend_TDObjRenderFrame( // } /* Render subframe */ +#ifdef FIX_ITD + TDREND_GetMix( pTDRend->hBinRendererTd, output, subframe_length, subframe_idx ); +#else TDREND_GetMix( pTDRend->hBinRendererTd, output, subframe_length, output_Fs, subframe_idx ); +#endif } /* TODO tmu : pass down renderer config struct */ diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 016d5a60f9..aed06e1d60 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -348,17 +348,35 @@ ivas_error TDREND_REND_RenderSourceHRFilt( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ #endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ - const int16_t subframe_length, /* i : Subframe length in use */ - - const int32_t output_Fs /* i : Output sample rate */ +#ifdef FIX_ITD + const int16_t subframe_length /* i : Subframe length in use */ +#else + const int16_t subframe_length, /* i : Subframe length in use */ + const int32_t output_Fs /* i : Output sample rate */ +#endif ) { +#ifndef FIX_ITD TDREND_SRC_REND_t *SrcRend_p; const float *InFrame_nIC_p; int16_t NoOfUsedInputSamples, NoOfDeliveredOutputSamples; +#endif float LeftOutputFrame[L_SPATIAL_SUBFR_48k]; float RightOutputFrame[L_SPATIAL_SUBFR_48k]; +#ifdef FIX_ITD + TDREND_Apply_ITD( Src_p->InputFrame_p, LeftOutputFrame, RightOutputFrame, &Src_p->previtd, Src_p->itd, Src_p->mem_itd, subframe_length ); +#ifdef FIX_ITD_DBG + dbgwrite( LeftOutputFrame, sizeof( float ), subframe_length, 1, "LeftOutputFrame.float" ); + dbgwrite( RightOutputFrame, sizeof( float ), subframe_length, 1, "RightOutputFrame.float" ); +#endif +#ifdef FIX_ITD_DBG + dbgwrite( Src_p->hr_filt_left, sizeof( float ), Src_p->filterlength, 1, "hr_filt_left.float" ); +#endif + TDREND_firfilt( LeftOutputFrame, Src_p->hr_filt_left, Src_p->mem_hr_filt_left, subframe_length, Src_p->filterlength ); + TDREND_firfilt( RightOutputFrame, Src_p->hr_filt_right, Src_p->mem_hr_filt_right, subframe_length, Src_p->filterlength ); +#else + /* Input channel rendering loop */ InFrame_nIC_p = Src_p->InputFrame_p; SrcRend_p = Src_p->SrcRend_p; @@ -375,7 +393,7 @@ ivas_error TDREND_REND_RenderSourceHRFilt( SrcRend_p->SfxSpatBin_p->HrFilterInterpOn = 1; /* Turn on after first frame is rendered. */ } #endif - +#endif /* Copy to accumulative output frame */ v_add( LeftOutputFrame, output_buf[0], output_buf[0], subframe_length ); v_add( RightOutputFrame, output_buf[1], output_buf[1], subframe_length ); @@ -698,16 +716,28 @@ static void GetFilterFromAngle_M( #else void GetFilterFromAngle( #endif - TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ - const float Elev, /* i : Elevation, degrees */ - float Azim, /* i : Azimuth, degrees */ + TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ + const float Elev, /* i : Elevation, degrees */ + float Azim, /* i : Azimuth, degrees */ +#ifdef FIX_ITD + float *LeftFilter_p, /* o : Left HR filter */ + float *RightFilter_p, /* o : Right HR filter */ + int16_t *itd /* o : ITD value */ +#else SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ +#endif ) { +#ifndef FIX_ITD int16_t count, ii; +#endif GenerateFilter( Elev, Azim, &HrFiltSet_p->ModelParams, &HrFiltSet_p->ModelEval ); +#ifdef FIX_ITD + mvr2r( HrFiltSet_p->ModelEval.hrfModL, LeftFilter_p, HrFiltSet_p->ModelParams.K ); + mvr2r( HrFiltSet_p->ModelEval.hrfModR, RightFilter_p, HrFiltSet_p->ModelParams.K ); +#else /* Renderer requires filter in reversed order: */ count = 0; for ( ii = ( HrFiltSet_p->ModelParams.K - 1 ); ii >= 0; ii-- ) @@ -716,16 +746,24 @@ void GetFilterFromAngle( SfxSpatBinParams_p->RightFilter_p[ii] = HrFiltSet_p->ModelEval.hrfModR[count]; count++; } - +#endif /* 4. Evaluate the ITD */ if ( HrFiltSet_p->ModelParams.UseItdModel ) { GenerateITD( Elev, Azim, &HrFiltSet_p->ModelParamsITD, &HrFiltSet_p->ModelEval ); +#ifdef FIX_ITD + *itd = (int16_t) HrFiltSet_p->ModelEval.itdMod; +#else SfxSpatBinParams_p->Itd = HrFiltSet_p->ModelEval.itdMod; +#endif } else { +#ifdef FIX_ITD + *itd = 0; +#else SfxSpatBinParams_p->Itd = 0; /* No extracted ITD */ +#endif } return; diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index df190b91b1..81992775bb 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -290,8 +290,12 @@ ivas_error TDREND_MIX_SetDistAttenModel( ivas_error TDREND_MIX_AddSrc( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ int16_t *SrcInd, /* o : Source index */ +#ifdef FIX_ITD + const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ +#else const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ const int32_t output_Fs /* i : Output sampling rate */ +#endif ) { TDREND_SRC_t *Src_p; @@ -323,7 +327,11 @@ ivas_error TDREND_MIX_AddSrc( return error; } +#ifdef FIX_ITD + TDREND_SRC_Init( Src_p, PosType ); +#else TDREND_SRC_Init( Src_p, PosType, output_Fs ); +#endif /* Special OpenAL initialization due to a common distance attenuation model */ if ( hBinRendererTd->DistAttenModel != 0 ) diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 59c37eb671..cc7d9e45dd 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -43,15 +43,17 @@ * Local constants *---------------------------------------------------------------------*/ +#ifndef FIX_ITD /* Sinc constants */ #define SFX_SPAT_BIN_SINC_M 5 #define SFX_SPAT_BIN_NUM_SUBSAMPLES_BITS 6 #define SFX_SPAT_BIN_NUM_SUBSAMPLES ( 1 << SFX_SPAT_BIN_NUM_SUBSAMPLES_BITS ) +#endif /*---------------------------------------------------------------------* * Local function prototypes *---------------------------------------------------------------------*/ - +#ifndef FIX_ITD static void TDREND_SFX_SpatBin_SetParamsInitializeOn( SFX_SpatBin_t *SfxSpatBin_p, const SFX_SpatBin_Params_t *NewParam_p, const int32_t output_Fs ); static void TDREND_SFX_SpatBin_SetParamsInitializeOff( SFX_SpatBin_t *SfxSpatBin_p, const SFX_SpatBin_Params_t *NewParam_p, const int32_t output_Fs ); static void TDREND_SFX_SpatBin_SetParamsOn( SFX_SpatBin_t *SfxSpatBin_p, const SFX_SpatBin_Params_t *NewParam_p, const int32_t output_Fs ); @@ -71,8 +73,11 @@ static void TDREND_FirFilterRev( float *OutputFrame_p, float *FirFilterRev_p, co static void TDREND_FirFilterRevInterp( float *OutputFrame_p, float *FirFilterRev_p, const int16_t FirFilterLength, float *InputFrame_p, const int16_t NumOfSamples, float *FilterStored ); #endif static void TDREND_SFX_SpatBin_Clear( SFX_SpatBin_t *SfxSpatBin_p, const int32_t output_Fs ); +#else +static void sincResample( const float *input, float *output, const int16_t length_in, const int16_t length_out ); +#endif - +#ifndef FIX_ITD /*-------------------------------------------------------------------* * TDREND_SFX_SpatBin_Resampling() * @@ -1450,3 +1455,217 @@ static void TDREND_FirFilterRevInterp( return; } #endif +#endif + +#ifdef FIX_ITD +/*---------------------------------------------------------------------* + * TDREND_Apply_ITD() + * + * Apply ITD by delaying late channel + *---------------------------------------------------------------------*/ +void TDREND_Apply_ITD( + float *input, /* i: Input subframe to be time adjusted */ + float *out_left, /* o: Output left channel with ITD applied */ + float *out_right, /* o: Output right channel with ITD applied */ + int16_t *previtd, /*i/o: Previous ITD value */ + const int16_t itd, /* i: Current subframe ITD value */ + float *mem_itd, /*i/o: ITD buffer memory */ + const int16_t length /* i: Subframe length */ +) +{ + int16_t transition_len; + int16_t tlen1, tlen2, tlen3; + int16_t length_in1; + int16_t length_in2; + int16_t currShift; + int16_t prevShift; + float *pstart1; + float *pstart2; + float buffer[ITD_MEM_LEN + L_SUBFRAME5MS_48k]; + float *p_input; + float *out_buf_A, *out_buf_B; + + wmops_sub_start( "TDREND_Apply_ITD" ); + + /* Prepare resampling buffer */ + mvr2r( mem_itd, buffer, ITD_MEM_LEN ); /* Retrieve memory */ + p_input = buffer + ITD_MEM_LEN; /* pointer to the current subframe */ + mvr2r( input, p_input, length ); /* input current subframe */ + mvr2r( buffer + length, mem_itd, ITD_MEM_LEN ); /* update memory for next frame */ + + currShift = (int16_t) abs( itd ); + prevShift = (int16_t) abs( *previtd ); + tlen3 = max( 0, SFX_SPAT_BIN_SINC_M - currShift ); /* Make sure there is enough look-ahead for the sinc resampling */ + transition_len = length - tlen3; + + if ( ( ( *previtd ) * itd ) < 0 ) + { + /* ITD sign change - apply shift on both channels */ + tlen1 = (int16_t) ( ( (float) ( transition_len * prevShift ) / ( (float) ( prevShift + currShift ) ) ) + 0.5f ); + tlen2 = transition_len - tlen1; + pstart1 = p_input - prevShift; + pstart2 = p_input + tlen1; + length_in1 = tlen1 + prevShift; + length_in2 = tlen2 - currShift; + } + else + { + /* ITD sign stays the same, or one of them is zero */ + tlen1 = transition_len; + tlen2 = 0; + pstart1 = p_input - prevShift; + pstart2 = p_input + tlen1 - currShift; + length_in1 = transition_len + prevShift - currShift; + length_in2 = 0; + } + + if ( *previtd == 0 ) + { + if (itd > 0) + { + out_buf_A = out_right; + out_buf_B = out_left; + } + else + { + out_buf_A = out_left; + out_buf_B = out_right; + } + } + else + { + if ( *previtd > 0 ) + { + out_buf_A = out_right; + out_buf_B = out_left; + } + else + { + out_buf_A = out_left; + out_buf_B = out_right; + } + } + + /* Output buffer A */ + sincResample( pstart1, out_buf_A, length_in1, tlen1 ); + mvr2r( pstart2, out_buf_A + tlen1, length - tlen1 ); + + /* Output buffer B */ + mvr2r( input, out_buf_B, tlen1 ); + sincResample( pstart2, out_buf_B + tlen1, length_in2, tlen2 ); + mvr2r( pstart2 + tlen2 + currShift, out_buf_B + transition_len, tlen3 ); + + *previtd = itd; + wmops_sub_end(); + return; +} + +/*---------------------------------------------------------------------* + * sincResample() + * + * Resample signal (stretch/compress) to new ITD + * The sinc resampling reads SFX_SPAT_BIN_SINC_M (5) samples outside of + * the target frame. + *---------------------------------------------------------------------*/ +static void sincResample( + const float *input, /*i : Input signal */ + float *output, /*o : Output signal */ + const int16_t length_in, /*i : Input length */ + const int16_t length_out /*i : Output length */ +) +{ + int16_t snc0; + int16_t i, j; + int16_t t; + float t_frac; + float t_step; + float tmp; + const float *p_mid; + const float *p_forward; + const float *p_backward; + const float *p_sinc_forward; + const float *p_sinc_backward; + + /* Compute fractional time step */ + t_step = (float) ( length_in ) / (float) ( length_out ); + t_frac = 0; + + for ( i = 0; i < length_out; i++ ) + { + t = (int16_t) ( t_frac + EPSILON ); + + /* Calculate the sinc-index for the center value of the sinc */ + snc0 = (int16_t) ( ( t_frac - t + EPSILON ) * SFX_SPAT_BIN_NUM_SUBSAMPLES + 0.5f ); + + /* Run convolution forward and backward from mid point */ + p_mid = input + t; + p_forward = p_mid + 1; + p_backward = p_mid - 1; + p_sinc_forward = SincTable + SFX_SPAT_BIN_NUM_SUBSAMPLES - snc0; + p_sinc_backward = SincTable + SFX_SPAT_BIN_NUM_SUBSAMPLES + snc0; + + tmp = *p_mid * SincTable[snc0]; /* Middle point */ + for ( j = 0; j < SFX_SPAT_BIN_SINC_M - 1; j++ ) + { + tmp += ( *p_forward ) * ( *p_sinc_forward ) + ( *p_backward ) * ( *p_sinc_backward ); + p_sinc_forward += SFX_SPAT_BIN_NUM_SUBSAMPLES; + p_sinc_backward += SFX_SPAT_BIN_NUM_SUBSAMPLES; + p_forward++; + p_backward--; + } + tmp += ( *p_forward ) * ( *p_sinc_forward ); /* Integer index always rounded down --> 4 steps backward, 5 steps forward */ + + output[i] = tmp; + + /* Advance fractional time */ + t_frac += t_step; + } + + return; +} + +/*-------------------------------------------------------------------* + * TDREND_firfilt() + * + * FIR filtering function + * + --------------------------------------------------------------------*/ + +void TDREND_firfilt( + float *signal, /* i/o: Input signal / Filtered signal */ + const float *filter, /* i/o: FIR filter */ + float *mem, /* i/o: filter memory */ + const int16_t subframe_length, /* i : Length of signal */ + const int16_t filterlength /* i : Filter length */ +) +{ + float buffer[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 + L_SUBFRAME5MS_48k]; + float *p_signal; + float *p_tmp; + const float *p_filter; + float tmp; + int16_t i, j; + + /* Handle memory */ + p_signal = buffer + filterlength - 1; + mvr2r( mem, buffer, filterlength - 1 ); /* Insert memory */ + mvr2r( signal, buffer + filterlength - 1, subframe_length ); /* Insert current frame */ + mvr2r( signal + subframe_length - filterlength + 1, mem, filterlength - 1 ); /* Update memory for next frame */ + + /* Convolution */ + for ( i = 0; i < subframe_length; i++ ) + { + tmp = 0.0f; + p_tmp = p_signal + i; + p_filter = filter; + for ( j = 0; j < filterlength; j++ ) + { + tmp += ( *p_filter++ ) * ( *p_tmp-- ); + } + signal[i] = tmp; + } + + return; +} + +#endif \ No newline at end of file diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index a9e88602ca..6fbcdcda13 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -50,9 +50,14 @@ static void TDREND_SRC_SPATIAL_SetDirAtten( TDREND_SRC_SPATIAL_t *SrcSpatial_p, static float TDREND_SRC_SPATIAL_GetDirGain( const TDREND_DirAtten_t *DirAtten_p, const float *Front_p, const float *RelPos_p ); static float TDREND_SRC_SPATIAL_GetDistGain( const TDREND_DistAtten_t *DistAtten_p, const float Dist ); static ivas_error TDREND_SRC_REND_Alloc( TDREND_SRC_REND_t **SrcRend_pp ); +#ifndef FIX_ITD static void TDREND_SRC_REND_Dealloc( TDREND_SRC_REND_t *SrcRend_p ); +#endif +#ifdef FIX_ITD +static void TDREND_SRC_REND_Init( TDREND_SRC_REND_t *SrcRend_p ); +#else static void TDREND_SRC_REND_Init( TDREND_SRC_REND_t *SrcRend_p, const int32_t output_Fs ); - +#endif /*-------------------------------------------------------------------* * TDREND_MIX_SRC_SetPos() @@ -192,20 +197,20 @@ static ivas_error TDREND_SRC_REND_Alloc( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "SrcRend_p allocation error\n" ) ); } - +#ifndef FIX_ITD /* Allocate the HR filtering structures */ SrcRend_p->SfxSpatBin_p = (SFX_SpatBin_t *) count_malloc( SPAT_BIN_MAX_INPUT_CHANNELS * sizeof( SFX_SpatBin_t ) ); if ( SrcRend_p->SfxSpatBin_p == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "SrcRend_p->SfxSpatBin_p allocation error\n" ) ); } - +#endif *SrcRend_pp = SrcRend_p; return IVAS_ERR_OK; } - +#ifndef FIX_ITD /*-------------------------------------------------------------------* * TDREND_SRC_REND_Dealloc() * @@ -255,7 +260,7 @@ static void TDREND_SRC_REND_Dealloc( return; } - +#endif /*-------------------------------------------------------------------* * TDREND_SRC_REND_Init() @@ -264,8 +269,12 @@ static void TDREND_SRC_REND_Dealloc( --------------------------------------------------------------------*/ static void TDREND_SRC_REND_Init( +#ifdef FIX_ITD + TDREND_SRC_REND_t *SrcRend_p /* i/o: Source object */ +#else TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ const int32_t output_Fs /* i : Output sampling rate */ +#endif ) { int16_t nC; @@ -293,11 +302,13 @@ static void TDREND_SRC_REND_Init( SrcRend_p->DistGain_p[nC] = 1.0f; } +#ifndef FIX_ITD /* Init the SfxSpatBin structs. One per channel. Default is effect turned off. */ for ( nC = 0; nC < SPAT_BIN_MAX_INPUT_CHANNELS; nC++ ) { TDREND_SFX_SpatBin_Initialize( SrcRend_p->SfxSpatBin_p + nC, output_Fs ); } +#endif return; } @@ -313,23 +324,39 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ - const int32_t output_Fs /* i : Output sampling rate */ +#ifdef FIX_ITD + float *LeftFilter_p, /* o: Left filter */ + float *RightFilter_p, /* o: Right filter */ + int16_t *filterlength, /* o: Length of filters */ + int16_t *itd, /* o: ITD value */ + float *Gain /* o: Gain value */ +#else + const int32_t output_Fs /* i : Output sampling rate */ +#endif ) { TDREND_MIX_Listener_t *Listener_p; TDREND_HRFILT_FiltSet_t *HrFiltSet_p; +#ifndef FIX_ITD SFX_SpatBin_t *SfxSpatBin_p; SFX_SpatBin_Params_t SfxSpatBinParams; - +#endif float ListRelPos[3], ListRelDist; +#ifndef FIX_ITD float Gain; +#endif float Azim, Elev; +#ifndef FIX_ITD int16_t mem_size; +#endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; HrFiltSet_p = hBinRendererTd->HrFiltSet_p; +#ifdef FIX_ITD + *filterlength = HrFiltSet_p->FiltLength; +#else SfxSpatBinParams.LeftFilter_p = NULL; SfxSpatBinParams.RightFilter_p = NULL; @@ -342,6 +369,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( SfxSpatBinParams.FilterLength = HrFiltSet_p->FiltLength; SfxSpatBinParams.LeftFilter_p = (float *) count_malloc( mem_size ); SfxSpatBinParams.RightFilter_p = (float *) count_malloc( mem_size ); +#endif /* 1. Map source pos to the coordinate system of the listener */ switch ( SrcSpatial_p->PosType ) @@ -378,7 +406,11 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( Azim = -1.0f * _180_OVER_PI * (float) atan2f( ListRelPos[1], ListRelPos[0] ); } +#ifdef FIX_ITD + GetFilterFromAngle( HrFiltSet_p, Elev, Azim, LeftFilter_p, RightFilter_p, itd ); +#else GetFilterFromAngle( HrFiltSet_p, Elev, Azim, &SfxSpatBinParams ); +#endif /* 6. Evaluate the directional and distance gains */ /* Directional gain */ @@ -407,6 +439,9 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( } /* Update total gains */ +#ifdef FIX_ITD + *Gain = ( *SrcRend_p->SrcGain_p ) * ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ) * hBinRendererTd->Gain; +#else Gain = ( *SrcRend_p->SrcGain_p ) * ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ) * hBinRendererTd->Gain; SfxSpatBinParams.LeftVolume = Gain; SfxSpatBinParams.RightVolume = Gain; @@ -426,6 +461,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( { count_free( SfxSpatBinParams.RightFilter_p ); } +#endif return; } @@ -700,7 +736,12 @@ void TDREND_SRC_Dealloc( TDREND_SRC_SPATIAL_Dealloc( Src_p->SrcSpatial_p ); /* Delloc the TDREND_SRC_REND__t variable */ +#ifdef FIX_ITD + count_free( Src_p->SrcRend_p ); + Src_p->SrcRend_p = NULL; +#else TDREND_SRC_REND_Dealloc( Src_p->SrcRend_p ); +#endif /* Free the Src_p variable */ count_free( Src_p ); @@ -718,8 +759,12 @@ void TDREND_SRC_Dealloc( void TDREND_SRC_Init( TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ +#ifdef FIX_ITD + const TDREND_PosType_t PosType /* i : Position type specifier */ +#else const TDREND_PosType_t PosType, /* i : Position type specifier */ const int32_t output_Fs /* i : Output sampling rate */ +#endif ) { /* Init the TDREND_SRC_Spatial_t variable */ @@ -729,7 +774,21 @@ void TDREND_SRC_Init( } /* Init the TDREND_SRC_REND_t variable */ +#ifdef FIX_ITD + TDREND_SRC_REND_Init( Src_p->SrcRend_p ); +#else TDREND_SRC_REND_Init( Src_p->SrcRend_p, output_Fs ); +#endif + +#ifdef FIX_ITD + /* Reset memory buffers */ + Src_p->itd = 0; + Src_p->previtd = 0; + Src_p->filterlength = -1; + set_f( Src_p->mem_itd, 0.0f, ITD_MEM_LEN ); + set_f( Src_p->mem_hr_filt_left, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 ); + set_f( Src_p->mem_hr_filt_right, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 ); +#endif return; } diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index ef38d00c19..59b8739c97 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1459,6 +1459,7 @@ static ivas_error updateMcPanGains( return IVAS_ERR_OK; } +#ifndef FIX_ITD #ifndef FIX_I81 /* Fixes initialization issues in TD renderer. Fix to be merged with branch. See issue: https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/issues/81 */ @@ -1478,6 +1479,7 @@ static void tmpFixBuggyTdBinRendInit( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRen } } #endif +#endif static ivas_error initMcBinauralRendering( input_mc *inputMc, @@ -1523,8 +1525,10 @@ static ivas_error initMcBinauralRendering( { return error; } +#ifndef FIX_ITD #ifndef FIX_I81 tmpFixBuggyTdBinRendInit( inputMc->tdRendWrapper.hBinRendererTd ); +#endif #endif } @@ -3133,7 +3137,9 @@ static ivas_error renderIsmToBinaural( ismInput->base.ctx.pHeadRotData, &ismInput->currentPos, outAudio.config.numSamplesPerChannel, +#ifndef FIX_ITD *ismInput->base.ctx.pOutSampleRate, +#endif tmpTDRendBuffer ) ) != IVAS_ERR_OK ) { return error; @@ -3473,7 +3479,9 @@ static ivas_error renderMcToBinaural( mcInput->base.ctx.pHeadRotData, NULL, mcInput->base.inputBuffer.config.numSamplesPerChannel, +#ifndef FIX_ITD *mcInput->base.ctx.pOutSampleRate, +#endif tmpRendBuffer ) ) != IVAS_ERR_OK ) { return error; -- GitLab From 03ee799d8928b52ec18aeb2a9f0f637528ffc29a Mon Sep 17 00:00:00 2001 From: kiene Date: Thu, 10 Nov 2022 15:31:21 +0100 Subject: [PATCH 055/620] overwrite while unpacking to avoid problems with automatic artifacts --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 173260be90..d81f46c404 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -854,32 +854,32 @@ pages: - echo "$API_URL_BASE/$job_id/artifacts" - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - cat artifacts_comp_stereo.zip - - unzip artifacts_comp_stereo.zip + - unzip artifacts_comp_stereo.zip -o - mv measure-complexity-linux-stereo-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-ism-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - - unzip artifacts_comp_ism.zip + - unzip artifacts_comp_ism.zip -o - mv measure-complexity-linux-ism-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-sba-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - - unzip artifacts_comp_sba.zip + - unzip artifacts_comp_sba.zip -o - mv measure-complexity-linux-sba-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-mc-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - - unzip artifacts_comp_mc.zip + - unzip artifacts_comp_mc.zip -o - mv measure-complexity-linux-mc-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-masa-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - - unzip artifacts_comp_masa.zip + - unzip artifacts_comp_masa.zip -o - mv measure-complexity-linux-masa-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-StereoDmxEVS-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - - unzip artifacts_comp_StereoDmxEVS.zip + - unzip artifacts_comp_StereoDmxEVS.zip -o - mv measure-complexity-linux-StereoDmxEVS-test-public ./public/ - cp ci/index-pages.html public/index.html -- GitLab From c1093821d6ff1b94c124797ec185f8ff47b58da9 Mon Sep 17 00:00:00 2001 From: knj Date: Thu, 10 Nov 2022 21:34:51 +0100 Subject: [PATCH 056/620] correct unzip command --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d81f46c404..387067040d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -854,32 +854,32 @@ pages: - echo "$API_URL_BASE/$job_id/artifacts" - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - cat artifacts_comp_stereo.zip - - unzip artifacts_comp_stereo.zip -o + - unzip -o artifacts_comp_stereo.zip - mv measure-complexity-linux-stereo-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-ism-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - - unzip artifacts_comp_ism.zip -o + - unzip -o artifacts_comp_ism.zip - mv measure-complexity-linux-ism-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-sba-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - - unzip artifacts_comp_sba.zip -o + - unzip -o artifacts_comp_sba.zip - mv measure-complexity-linux-sba-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-mc-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - - unzip artifacts_comp_mc.zip -o + - unzip -o artifacts_comp_mc.zip - mv measure-complexity-linux-mc-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-masa-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - - unzip artifacts_comp_masa.zip -o + - unzip -o artifacts_comp_masa.zip - mv measure-complexity-linux-masa-test-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-StereoDmxEVS-test) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - - unzip artifacts_comp_StereoDmxEVS.zip -o + - unzip -o artifacts_comp_StereoDmxEVS.zip - mv measure-complexity-linux-StereoDmxEVS-test-public ./public/ - cp ci/index-pages.html public/index.html -- GitLab From e9467735a939668230c0afdc2bbb2978bded5cde Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou Date: Thu, 10 Nov 2022 21:58:30 +0100 Subject: [PATCH 057/620] merge define FIX_MCT_BS_CRASH to MC_BITRATE_SWITCHING --- lib_com/options.h | 1 - lib_debug/mem_count.c | 2 +- lib_dec/ivas_mct_dec.c | 4 ++-- lib_dec/ivas_mdct_core_dec.c | 4 ++-- lib_enc/ivas_mct_enc.c | 2 +- lib_enc/ivas_mdct_core_enc.c | 8 ++++---- 6 files changed, 10 insertions(+), 11 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index c4746956b8..28fb60c2e9 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -159,7 +159,6 @@ #define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ -#define FIX_MCT_BS_CRASH /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c index d83561f782..51202d5faf 100755 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -93,7 +93,7 @@ typedef INT64 int64_t; /* This is the maximum number of allocations for which to keep information. It can be increased if required. */ -#ifdef FIX_MCT_BS_CRASH +#ifdef MC_BITRATE_SWITCHING #define MAX_INFO_RECORDS 5000 #else #define MAX_INFO_RECORDS 3000 diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 88f0a0bf26..5be5813b04 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -458,7 +458,7 @@ ivas_error mct_dec_reconfigure( * run into a number of problems */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef FIX_MCT_BS_CRASH +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = cp_bitrate; #endif for ( n = 0; n < CPE_CHANNELS; n++ ) @@ -700,7 +700,7 @@ ivas_error ivas_mc_dec_reconfig( } /* init LS conversion if the renderer type asks for it */ - if ( st_ivas->renderer_type == RENDERER_MC && st_ivas->hLsSetUpConversion == NULL) + if ( st_ivas->renderer_type == RENDERER_MC && st_ivas->hLsSetUpConversion == NULL ) { if ( ( error = ivas_ls_setup_conversion_open( st_ivas ) ) != IVAS_ERR_OK ) { diff --git a/lib_dec/ivas_mdct_core_dec.c b/lib_dec/ivas_mdct_core_dec.c index cfd81f7b4c..e2314b8cb6 100755 --- a/lib_dec/ivas_mdct_core_dec.c +++ b/lib_dec/ivas_mdct_core_dec.c @@ -414,8 +414,8 @@ void ivas_mdct_dec_side_bits_frame_channel( param_lpc[0][0] = get_next_indice( st0, 1 ) << 1; /* read low br mode flag (if it is possible to be non-zero) */ -#ifdef FIX_MCT_BS_CRASH - if ( sts[0]->element_brate == IVAS_48k && !((sts[0]->core == TCX_20 && sts[1]->core == TCX_20) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE) ) +#ifdef MC_BITRATE_SWITCHING + if ( sts[0]->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE ) ) #else if ( sts[0]->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) #endif diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 896b9ec61e..f4f8e6b8ee 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -392,7 +392,7 @@ ivas_error mct_enc_reconfigure( /* indicate LFE for appropriate core-coder channel */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef FIX_MCT_BS_CRASH +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = cp_bitrate; #endif for ( n = 0; n < CPE_CHANNELS; n++ ) diff --git a/lib_enc/ivas_mdct_core_enc.c b/lib_enc/ivas_mdct_core_enc.c index 023c3e211b..080637fa9b 100755 --- a/lib_enc/ivas_mdct_core_enc.c +++ b/lib_enc/ivas_mdct_core_enc.c @@ -900,8 +900,8 @@ void ivas_mdct_core_whitening_enc( } /* set low br mode, if possible. Can later be discarded, depending on the stereo mode used for SNS parameter decoding */ -#ifdef FIX_MCT_BS_CRASH - if ( hCPE->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE) ) +#ifdef MC_BITRATE_SWITCHING + if ( hCPE->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE ) ) #else if ( hCPE->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) #endif @@ -1124,8 +1124,8 @@ void ivas_mdct_core_whitening_enc( { push_next_indice( hBstr, param_lpc[0][0] >> 1, 1 ); -#ifdef FIX_MCT_BS_CRASH - if ( st->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE) ) +#ifdef MC_BITRATE_SWITCHING + if ( st->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE ) ) #else if ( st->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) #endif -- GitLab From 0bc24deadca2bc4e090f4be347067c2cca5d3f2f Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou Date: Thu, 10 Nov 2022 22:06:03 +0100 Subject: [PATCH 058/620] fix compiler errors --- lib_com/ivas_mc_param_com.c | 14 +++++++------- lib_dec/ivas_mc_param_dec.c | 8 -------- lib_dec/ivas_mct_dec.c | 6 +++--- 3 files changed, 10 insertions(+), 18 deletions(-) diff --git a/lib_com/ivas_mc_param_com.c b/lib_com/ivas_mc_param_com.c index bcdfc18c5f..29e7decb10 100644 --- a/lib_com/ivas_mc_param_com.c +++ b/lib_com/ivas_mc_param_com.c @@ -330,15 +330,15 @@ void ivas_param_mc_default_icc_map( } #ifdef MC_BITRATE_SWITCHING -int16_t ivas_param_mc_get_num_param_bands( - const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ - const int32_t ivas_total_brate /* i : IVAS total bitrate */ - ) +static int16_t ivas_param_mc_get_num_param_bands( + const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +) { int16_t num_parameter_bands; num_parameter_bands = 0; - /* parameter bands */ + /* parameter bands */ switch ( mc_ls_setup ) { case MC_LS_SETUP_5_1: @@ -513,9 +513,9 @@ static void ivas_param_mc_set_coding_scheme( assert( 0 && "PARAM_MC: channel configuration not supported!" ); } - #ifdef MC_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING hMetadataPMC->num_parameter_bands = ivas_param_mc_get_num_param_bands( mc_ls_setup, ivas_total_brate ); - #else +#else /* parameter bands */ switch ( mc_ls_setup ) { diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index d861e31f35..f5321e5820 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -494,14 +494,10 @@ ivas_error ivas_param_mc_dec_reconfig( uint16_t config_index; MC_LS_SETUP mc_ls_setup; float frequency_axis[CLDFB_NO_CHANNELS_MAX]; - AUDIO_CONFIG output_config; int32_t output_Fs, ivas_total_brate; ivas_error error; int16_t nchan_transport_old; int16_t num_param_bands_old; - const PARAM_MC_ILD_MAPPING *ild_mapping_conf_old; - const PARAM_MC_ICC_MAPPING *icc_mapping_conf_old; - const float *ild_factors_old; PARAM_MC_PARAMETER_BAND_MAPPING parameter_band_mapping; int16_t band_grouping_old[20 + 1]; @@ -518,7 +514,6 @@ ivas_error ivas_param_mc_dec_reconfig( *-----------------------------------------------------------------*/ output_Fs = st_ivas->hDecoderConfig->output_Fs; - output_config = st_ivas->hDecoderConfig->output_config; ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; hTransportSetup = st_ivas->hTransSetup; @@ -583,9 +578,6 @@ ivas_error ivas_param_mc_dec_reconfig( } } - ild_mapping_conf_old = hParamMC->hMetadataPMC->ild_mapping_conf; - icc_mapping_conf_old = hParamMC->hMetadataPMC->icc_mapping_conf; - ild_factors_old = hParamMC->hMetadataPMC->ild_factors; mvs2s( hParamMC->band_grouping, band_grouping_old, hParamMC->hMetadataPMC->num_parameter_bands + 1 ); ivas_param_mc_metadata_open( mc_ls_setup, hTransportSetup.index_lfe[0], ivas_total_brate, hParamMC->hMetadataPMC ); diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 5be5813b04..bb46fbdea0 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -601,7 +601,7 @@ ivas_error ivas_mc_dec_config( AUDIO_CONFIG signaled_config; MC_MODE last_mc_mode; ivas_error error; - MC_MODE mc_mode; + error = IVAS_ERR_OK; /* store last frame MC mode */ @@ -646,7 +646,7 @@ ivas_error ivas_mc_dec_reconfig( { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; - int16_t renderer_type_old; + RENDERER_TYPE renderer_type_old; ivas_error error; MC_MODE mc_mode; error = IVAS_ERR_OK; @@ -951,7 +951,7 @@ ivas_error ivas_mc_dec_reconfig( ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } /* init necessary new renderers */ - if ( st_ivas->hBinRenderer == NULL && st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) + if ( st_ivas->hBinRenderer == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) ) { if ( ( error = ivas_binRenderer_open( st_ivas ) ) != IVAS_ERR_OK ) { -- GitLab From bb480125a3ebb0b54d5fdf843d440adcb401bba1 Mon Sep 17 00:00:00 2001 From: Erik Norvell Date: Thu, 10 Nov 2022 22:20:35 +0100 Subject: [PATCH 059/620] Minor debug code cleanup and comment in options.h --- lib_com/options.h | 2 +- lib_rend/ivas_objectRenderer_hrFilt.c | 7 ------- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 5802a57198..6e56c9853b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,7 +151,7 @@ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ -#define FIX_ITD +#define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index aed06e1d60..785bf6ed95 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -366,13 +366,6 @@ ivas_error TDREND_REND_RenderSourceHRFilt( #ifdef FIX_ITD TDREND_Apply_ITD( Src_p->InputFrame_p, LeftOutputFrame, RightOutputFrame, &Src_p->previtd, Src_p->itd, Src_p->mem_itd, subframe_length ); -#ifdef FIX_ITD_DBG - dbgwrite( LeftOutputFrame, sizeof( float ), subframe_length, 1, "LeftOutputFrame.float" ); - dbgwrite( RightOutputFrame, sizeof( float ), subframe_length, 1, "RightOutputFrame.float" ); -#endif -#ifdef FIX_ITD_DBG - dbgwrite( Src_p->hr_filt_left, sizeof( float ), Src_p->filterlength, 1, "hr_filt_left.float" ); -#endif TDREND_firfilt( LeftOutputFrame, Src_p->hr_filt_left, Src_p->mem_hr_filt_left, subframe_length, Src_p->filterlength ); TDREND_firfilt( RightOutputFrame, Src_p->hr_filt_right, Src_p->mem_hr_filt_right, subframe_length, Src_p->filterlength ); #else -- GitLab From 96187f63a4a7b2ddfafc7cc5f91416e1fefd7fd2 Mon Sep 17 00:00:00 2001 From: vaclav Date: Thu, 10 Nov 2022 22:50:54 +0100 Subject: [PATCH 060/620] two // !!! comments --- lib_dec/init_dec.c | 2 +- lib_enc/ivas_init_enc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 92a3ae55f1..15f80f48e6 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -616,7 +616,7 @@ ivas_error init_decoder( } /* TCX config. data structure */ -#ifndef MC_BITRATE_SWITCHING +#ifndef MC_BITRATE_SWITCHING // !!! this does not seem to be correct for DFT/TD stereo; also why the MCT_CHAN_MODE_LFE channel is now included? /* for correct bit rate switching in MC we at least need the TcxCfg */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 4768eb3b24..48848f9956 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -521,7 +521,7 @@ ivas_error ivas_init_encoder( hEncoderConfig->nchan_inp = ivas_mc_ls_setup_get_num_channels( hEncoderConfig->mc_input_setup ); #ifdef MC_BITRATE_SWITCHING - st_ivas->hLFE = NULL; + st_ivas->hLFE = NULL; // !!! already done in ivas_initialize_handles_enc() #else if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, input_Fs ) ) != IVAS_ERR_OK ) { -- GitLab From 8835866f8b739b7dffa7811a20139ca16ac940a1 Mon Sep 17 00:00:00 2001 From: vaclav Date: Thu, 10 Nov 2022 23:08:51 +0100 Subject: [PATCH 061/620] adding comments --- lib_com/ivas_mc_param_com.c | 7 +++++++ lib_com/ivas_prot.h | 22 ++++++---------------- lib_dec/ivas_mc_param_dec.c | 14 ++++++++++++++ lib_dec/ivas_mct_dec.c | 26 ++++++++++++++++++++++++-- lib_enc/ivas_cpe_enc.c | 6 +++--- lib_enc/ivas_mc_param_enc.c | 10 ++++++---- lib_enc/ivas_mct_enc.c | 19 +++++++++++++++---- 7 files changed, 75 insertions(+), 29 deletions(-) diff --git a/lib_com/ivas_mc_param_com.c b/lib_com/ivas_mc_param_com.c index 29e7decb10..167eabb08b 100644 --- a/lib_com/ivas_mc_param_com.c +++ b/lib_com/ivas_mc_param_com.c @@ -329,7 +329,14 @@ void ivas_param_mc_default_icc_map( return; } + #ifdef MC_BITRATE_SWITCHING +/*------------------------------------------------------------------------- + * ivas_param_mc_get_num_param_bands() + * + * + *------------------------------------------------------------------------*/ + static int16_t ivas_param_mc_get_num_param_bands( const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ const int32_t ivas_total_brate /* i : IVAS total bitrate */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 27b9d21c0d..18832dfef8 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -626,23 +626,10 @@ ivas_error ivas_mc_enc_config( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); -#ifdef MC_BITRATE_SWITCHING -ivas_error ivas_mc_enc_reconfig( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t last_mc_mode /* i: last frame mc mode */ -); -#endif - ivas_error ivas_mc_dec_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t idx /* i : LS config. index */ ); -#ifdef MC_BITRATE_SWITCHING -ivas_error ivas_mc_dec_reconfig( - Decoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t last_mc_mode /* i : last frame MC mode */ -); -#endif /*! r: MC format mode (MCT, McMASA, ParamMC) */ MC_MODE ivas_mc_mode_select( @@ -3506,11 +3493,13 @@ int16_t ivas_param_mc_getNumTransportChannels( ivas_error ivas_param_mc_enc_open( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); + #ifdef MC_BITRATE_SWITCHING -ivas_error ivas_param_mc_reconfig( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +ivas_error ivas_param_mc_enc_reconfig( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); #endif + void ivas_param_mc_enc_close( PARAM_MC_ENC_HANDLE hParamMC, /* i/o: Parametric MC encoder handle */ const int32_t input_Fs /* i : input sampling rate */ @@ -3526,9 +3515,10 @@ void ivas_param_mc_enc( ivas_error ivas_param_mc_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); + #ifdef MC_BITRATE_SWITCHING ivas_error ivas_param_mc_dec_reconfig( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index f5321e5820..f2fbf03092 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -428,7 +428,14 @@ ivas_error ivas_param_mc_dec_open( return error; } + #ifdef MC_BITRATE_SWITCHING +/*------------------------------------------------------------------------- + * ivas_param_mc_get_param_band_mapping() + * + * + *-------------------------------------------------------------------------*/ + static void ivas_param_mc_get_param_band_mapping( const int16_t n_target_bands, const int16_t *target_band_grouping, @@ -479,6 +486,13 @@ static void ivas_param_mc_get_param_band_mapping( return; } + +/*------------------------------------------------------------------------- + * ivas_param_mc_dec_reconfig() + * + * Reconfiguration of ParamMC decoder + *-------------------------------------------------------------------------*/ + ivas_error ivas_param_mc_dec_reconfig( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index bb46fbdea0..e00a54d496 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -48,6 +48,16 @@ #include "deb_out.h" #endif + +#ifdef MC_BITRATE_SWITCHING +/*-----------------------------------------------------------------------* + * Local function prototypes + *-----------------------------------------------------------------------*/ + +static ivas_error ivas_mc_dec_reconfig( Decoder_Struct *st_ivas, const int16_t last_mc_mode ); +#endif + + /*--------------------------------------------------------------------------* * ivas_mct_dec() * @@ -638,8 +648,16 @@ ivas_error ivas_mc_dec_config( return error; } + + #ifdef MC_BITRATE_SWITCHING -ivas_error ivas_mc_dec_reconfig( +/*------------------------------------------------------------------------- + * ivas_mc_dec_reconfig() + * + * reconfigure the MC format decoder + *-------------------------------------------------------------------------*/ + +static ivas_error ivas_mc_dec_reconfig( Decoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t last_mc_mode /* i : last frame MC mode */ ) @@ -924,7 +942,10 @@ ivas_error ivas_mc_dec_reconfig( } - /* renderers */ + /*-----------------------------------------------------------------* + * Renderers + *-----------------------------------------------------------------*/ + if ( renderer_type_old != st_ivas->renderer_type ) { AUDIO_CONFIG output_config; @@ -1009,6 +1030,7 @@ ivas_error ivas_mc_dec_reconfig( } #endif } + return error; } #endif diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 15e3dcd6ba..0c1ac5055e 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -817,11 +817,11 @@ ivas_error create_cpe_enc( *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING // !!! what is this for? /* we need the meta data handle also if we init as MC_FORMAT/MCT since it might be needed at a bit rate switch to ParamMC or McMASA and the metadata index list is only really reachable in the ivas_init_encoder() function and has to be connected to the MD handle there */ - if ( cpe_id == ( st_ivas->nCPE - 1 )) + if ( cpe_id == ( st_ivas->nCPE - 1 ) ) #else if ( !( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) && ( cpe_id == ( st_ivas->nCPE - 1 ) ) ) #endif @@ -888,7 +888,7 @@ ivas_error create_cpe_enc( #ifdef DEBUGGING if ( hEncoderConfig->Opt_DTX_ON && ( hCPE->element_mode == IVAS_CPE_TD || hEncoderConfig->stereo_mode_cmdl == 1 ) && !( ivas_format == MASA_FORMAT && element_mode_init == IVAS_CPE_MDCT ) ) #else -if ( hEncoderConfig->Opt_DTX_ON && element_mode_init != IVAS_CPE_MDCT ) + if ( hEncoderConfig->Opt_DTX_ON && element_mode_init != IVAS_CPE_MDCT ) #endif { for ( n = 0; n < CPE_CHANNELS; n++ ) diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 8de7f442f5..1fc03c936e 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -75,6 +75,7 @@ static void ivas_param_mc_encode_parameter( int16_t *idx_in, HANDLE_IVAS_PARAM_M static void ivas_param_mc_range_encoder( const int16_t *seq_in, const int16_t num_symbols, const uint16_t *cum_freq, const uint16_t *sym_freq, const uint16_t tot_shift, const int16_t max_nb_bits, uint16_t *bit_buffer, int16_t *bit_pos ); + /*------------------------------------------------------------------------- * ivas_param_mc_enc_open() * @@ -218,14 +219,15 @@ ivas_error ivas_param_mc_enc_open( return error; } + #ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- - * ivas_param_mc_enc_open() + * ivas_param_mc_enc_reconfig() * - * Initialize Parametric MC encoder handle + * Reconfigure Parametric MC encoder *------------------------------------------------------------------------*/ -ivas_error ivas_param_mc_reconfig( +ivas_error ivas_param_mc_enc_reconfig( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ) { @@ -282,7 +284,7 @@ ivas_error ivas_param_mc_reconfig( #ifdef DEBUGGING assert( hParamMC->hMetadataPMC.icc_map_full[i] != NULL ); #endif - if (hParamMC->hMetadataPMC.icc_map_full[i] != NULL) + if ( hParamMC->hMetadataPMC.icc_map_full[i] != NULL ) { count_free( hParamMC->hMetadataPMC.icc_map_full[i] ); hParamMC->hMetadataPMC.icc_map_full[i] = NULL; diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index f4f8e6b8ee..ad67efb9a7 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -44,6 +44,15 @@ #include "wmops.h" +#ifdef MC_BITRATE_SWITCHING +/*-----------------------------------------------------------------------* + * Local function prototypes + *-----------------------------------------------------------------------*/ + +static ivas_error ivas_mc_enc_reconfig( Encoder_Struct *st_ivas, const int16_t last_mc_mode ); +#endif + + /*-------------------------------------------------------------------* * ivas_mct_enc() * @@ -589,13 +598,15 @@ ivas_error ivas_mc_enc_config( return error; } + #ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_mc_enc_reconfig() - * - reconfigure the MC format encoder + * + * Reconfigure the MC format encoder *-------------------------------------------------------------------------*/ -ivas_error ivas_mc_enc_reconfig( +static ivas_error ivas_mc_enc_reconfig( Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t last_mc_mode /* i: last frame mc mode */ ) @@ -660,7 +671,7 @@ ivas_error ivas_mc_enc_reconfig( } else { - ivas_param_mc_reconfig( st_ivas ); + ivas_param_mc_enc_reconfig( st_ivas ); } /* De-allocate McMasa-related handles */ @@ -797,4 +808,4 @@ ivas_error ivas_mc_enc_reconfig( return error; } -#endif \ No newline at end of file +#endif -- GitLab From 9efdc66356ae4d3f8422ba5078bfc135ef85a01a Mon Sep 17 00:00:00 2001 From: vaclav Date: Fri, 11 Nov 2022 10:35:32 +0100 Subject: [PATCH 062/620] comments, formatting --- lib_dec/ivas_mct_dec.c | 31 ++++++++++++++++++++----------- lib_enc/ivas_mct_enc.c | 23 ++++++++++++++++++----- 2 files changed, 38 insertions(+), 16 deletions(-) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index e00a54d496..e3456a5d4e 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -685,10 +685,9 @@ static ivas_error ivas_mc_dec_reconfig( /* renderer might have changed, reselect */ renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); + if ( st_ivas->mc_mode == MC_MODE_MCT ) { - - st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ) ); st_ivas->nSCE = 0; st_ivas->nCPE = st_ivas->nchan_transport / 2; @@ -766,6 +765,7 @@ static ivas_error ivas_mc_dec_reconfig( ivas_mct_dec_close( &st_ivas->hMCT ); st_ivas->hMCT = NULL; } + /* LFE handle */ if ( st_ivas->hLFE != NULL ) { @@ -810,6 +810,7 @@ static ivas_error ivas_mc_dec_reconfig( ivas_mct_dec_close( &st_ivas->hMCT ); st_ivas->hMCT = NULL; } + /* LFE handle */ if ( st_ivas->hLFE != NULL ) { @@ -828,8 +829,10 @@ static ivas_error ivas_mc_dec_reconfig( st_ivas->element_mode_init = IVAS_CPE_MDCT; } + /*-----------------------------------------------------------------* + * Reconfigure core coder + *-----------------------------------------------------------------*/ - /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 and might have IGF static memory not allocated and the bit stream index list not set, set correct mct_chan_mode and init missing static mem @@ -837,6 +840,7 @@ static ivas_error ivas_mc_dec_reconfig( if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > CPE_CHANNELS ) { Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + if ( st_ivas->nchan_transport == 3 ) { st->mct_chan_mode = MCT_CHAN_MODE_IGNORE; @@ -862,8 +866,7 @@ static ivas_error ivas_mc_dec_reconfig( #ifdef DEBUGGING assert( st_ivas->hCPE[1] != NULL ); #endif - Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; - st->mct_chan_mode = MCT_CHAN_MODE_LFE; + st_ivas->hCPE[1]->hCoreCoder[1]->mct_chan_mode = MCT_CHAN_MODE_LFE; } if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) @@ -924,10 +927,12 @@ static ivas_error ivas_mc_dec_reconfig( } } - /* Allocat the LFE handle that is coded seperately after the allocation of the core coders*/ + /*-----------------------------------------------------------------* + * Allocate the LFE handle that is coded seperately after the allocation of the core coders + *-----------------------------------------------------------------*/ + if ( st_ivas->mc_mode == MC_MODE_MCT && st_ivas->hLFE == NULL ) { - if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) { return error; @@ -941,9 +946,8 @@ static ivas_error ivas_mc_dec_reconfig( set_zero( st_ivas->hLFE->prior_out_buffer, L_FRAME48k ); } - /*-----------------------------------------------------------------* - * Renderers + * Reconfigure renderers *-----------------------------------------------------------------*/ if ( renderer_type_old != st_ivas->renderer_type ) @@ -951,6 +955,7 @@ static ivas_error ivas_mc_dec_reconfig( AUDIO_CONFIG output_config; output_config = st_ivas->hDecoderConfig->output_config; + /* binaural renderers*/ if ( output_config == AUDIO_CONFIG_BINAURAL || output_config == AUDIO_CONFIG_BINAURAL_ROOM ) { @@ -959,18 +964,22 @@ static ivas_error ivas_mc_dec_reconfig( { ivas_binRenderer_close( &st_ivas->hBinRenderer ); } + if ( st_ivas->hCrend != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD || st_ivas->hRenderConfig->roomAcoustics.late_reverb_on == 0 ) ) ) { ivas_crend_close( st_ivas ); } + if ( st_ivas->hBinRendererTd != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) ) { ivas_td_binaural_close( &st_ivas->hBinRendererTd ); } + if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } + /* init necessary new renderers */ if ( st_ivas->hBinRenderer == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) ) { @@ -1009,7 +1018,7 @@ static ivas_error ivas_mc_dec_reconfig( } } } - /* stereo */ + /* mono/stereo */ else if ( output_config == AUDIO_CONFIG_MONO || output_config == AUDIO_CONFIG_STEREO ) { /* nothing should happen here... */ @@ -1025,7 +1034,7 @@ static ivas_error ivas_mc_dec_reconfig( else if ( output_config == AUDIO_CONFIG_FOA || output_config == AUDIO_CONFIG_HOA2 || output_config == AUDIO_CONFIG_HOA3 ) { /* FOA/HOA output */ - /* Nothing to do, is always RENDERER_SBA_LINEAR_ENC */ + /* Nothing to do, renderer is always RENDERER_SBA_LINEAR_ENC */ assert( st_ivas->renderer_type == RENDERER_SBA_LINEAR_ENC && renderer_type_old == RENDERER_SBA_LINEAR_ENC ); } #endif diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index ad67efb9a7..49daafed5f 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -620,6 +620,10 @@ static ivas_error ivas_mc_enc_reconfig( nSCE_old = st_ivas->nSCE; nCPE_old = st_ivas->nCPE; + /*-----------------------------------------------------------------* + * Reconfigure MC modules + *-----------------------------------------------------------------*/ + if ( st_ivas->mc_mode == MC_MODE_MCT ) { st_ivas->nSCE = 0; @@ -634,6 +638,7 @@ static ivas_error ivas_mc_enc_reconfig( { return error; } + /*De-allocate handles for other MC modes*/ if ( st_ivas->hParamMC != NULL ) { @@ -647,6 +652,7 @@ static ivas_error ivas_mc_enc_reconfig( ivas_mcmasa_enc_close( st_ivas->hMcMasa, st_ivas->hEncoderConfig->input_Fs ); st_ivas->hMcMasa = NULL; } + if ( st_ivas->hMasa != NULL ) { ivas_masa_enc_close( st_ivas->hMasa, nchan_transport_old, MC_FORMAT ); @@ -698,6 +704,7 @@ static ivas_error ivas_mc_enc_reconfig( ivas_mct_enc_close( st_ivas->hMCT ); st_ivas->hMCT = NULL; } + if ( last_mc_mode == MC_MODE_MCT && st_ivas->hLFE != NULL ) { /* LFE handle */ @@ -732,6 +739,7 @@ static ivas_error ivas_mc_enc_reconfig( ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); st_ivas->hParamMC = NULL; } + if ( last_mc_mode == MC_MODE_MCT ) { /* LFE handle */ @@ -757,7 +765,10 @@ static ivas_error ivas_mc_enc_reconfig( st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; } - /* re-configure core coder*/ + /*-----------------------------------------------------------------* + * Reconfigure core coder + *-----------------------------------------------------------------*/ + /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 and might have IGF and TranDet static memory not allocated and the bit stream index list not set, set correct mct_chan_mode and init missing static mem @@ -765,6 +776,7 @@ static ivas_error ivas_mc_enc_reconfig( if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > CPE_CHANNELS ) { Encoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + if ( st_ivas->nchan_transport == 3 ) { st->mct_chan_mode = MCT_CHAN_MODE_IGNORE; @@ -773,15 +785,17 @@ static ivas_error ivas_mc_enc_reconfig( { st->mct_chan_mode = MCT_CHAN_MODE_REGULAR; } + if ( st->hTranDet == NULL ) { - if ( ( st->hTranDet = (TRAN_DET_HANDLE) count_malloc( sizeof( TRAN_DET_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Transient Detection\n" ) ); } + InitTransientDetection( (int16_t) ( st->input_Fs / FRAMES_PER_SEC ), NS2SA( st->input_Fs, DELAY_FIR_RESAMPL_NS ), st->hTranDet, 0 ); } + if ( st->hIGFEnc == NULL ) { if ( ( st->hIGFEnc = (IGF_ENC_INSTANCE_HANDLE) count_malloc( sizeof( IGF_ENC_INSTANCE ) ) ) == NULL ) @@ -789,6 +803,7 @@ static ivas_error ivas_mc_enc_reconfig( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hIGFEnc\n" ) ); } } + st->igf = getIgfPresent( st->element_mode, st->total_brate, st->bwidth, st->rf_mode, st->mct_chan_mode ); } else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) @@ -796,11 +811,9 @@ static ivas_error ivas_mc_enc_reconfig( #ifdef DEBUGGING assert( st_ivas->hCPE[1] != NULL ); #endif - Encoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; - st->mct_chan_mode = MCT_CHAN_MODE_LFE; + st_ivas->hCPE[1]->hCoreCoder[1]->mct_chan_mode = MCT_CHAN_MODE_LFE; } - if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ) ) != IVAS_ERR_OK ) { return error; -- GitLab From e44ed6df19c8e3e2443a31abadf635ccbf61cf4f Mon Sep 17 00:00:00 2001 From: knj Date: Fri, 11 Nov 2022 10:51:56 +0100 Subject: [PATCH 063/620] add note about missing requirements to FAQ section --- ci/complexity_measurements/index_complexity.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index 43e69db218..1e72b86e9a 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -376,7 +376,7 @@
            A:
            The graphs titled "native SR" run encoder/decoder at the native input/output sampling-rate per operating point. This is 16 kHz for WB, 32 kHz for SWB etc. The graphs titled "48 kHz" use 48 kHz input/output sampling rate, independent of the supported bandwidth, which is set by using the "-max_band" commandline switch.
            Q:
            What is the meaning of these funny symbols in the navigation box, in the left upper corner of this page?
            A:
            - 1) Traffic light , or : The traffic light symbols show, whether the last datapoint matches the requirement (green) or not (red). A yellow traffic light means that the requirement is matched, but the score is very close (within a 3% margin) to the requirement.
            + 1) Traffic light , or : !!!CURRENTLY NOT WORKING CORRECTLY AS NO REQUIREMENTS DEFINED YET!!! The traffic light symbols show, whether the last datapoint matches the requirement (green) or not (red). A yellow traffic light means that the requirement is matched, but the score is very close (within a 3% margin) to the requirement.
            2) Arrow , , : The arrow indicates the trend of the last datapoint, compared to the last but one. An upwards arrow means that the score got higher (i.e. worse), downwards arrow arrow means that the score got lower (i.e. better), and a rightwards arrow means that the score was kept constant (within a 1% margin).
            Q:
            Which input files are used for audio-input? What error pattern is used?
            -- GitLab From e33c9bf6735fa3a65d5bf0c72fde4a24edfb5b03 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Fri, 11 Nov 2022 16:34:46 +0100 Subject: [PATCH 064/620] [scripts] fix for ISM rendering when input file has extra samples - fix a missing comma in cicp13.txt ls layout file - correctly set executable bit on some python files --- scripts/ls_layouts/cicp13.txt | 6 +++--- scripts/pyaudio3dtools/audio3dtools.py | 0 scripts/pyaudio3dtools/audioarray.py | 10 ++++++++-- scripts/pyaudio3dtools/audiofile.py | 0 scripts/pyaudio3dtools/spatialaudioconvert.py | 7 +++++++ scripts/pyivastest/IvasModeRunner.py | 0 6 files changed, 18 insertions(+), 5 deletions(-) mode change 100644 => 100755 scripts/pyaudio3dtools/audio3dtools.py mode change 100755 => 100644 scripts/pyaudio3dtools/audiofile.py mode change 100755 => 100644 scripts/pyivastest/IvasModeRunner.py diff --git a/scripts/ls_layouts/cicp13.txt b/scripts/ls_layouts/cicp13.txt index 5ff15f86c1..d0510c1d8f 100644 --- a/scripts/ls_layouts/cicp13.txt +++ b/scripts/ls_layouts/cicp13.txt @@ -1,3 +1,3 @@ -0, 30 -30, 60, -60, 90, -90, 135, -135, 180, 0, 45, -45, 90, -90, 0, 135, -135, 180, 0, 45, -45 -0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 90, 35, 35, 35, -15, -15, -15 -3, 9 \ No newline at end of file +0, 30, -30, 60, -60, 90, -90, 135, -135, 180, 0, 45, -45, 90, -90, 0, 135, -135, 180, 0, 45, -45 +0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 35, 35, 35, 35, 90, 35, 35, 35, -15, -15, -15 +3, 9 diff --git a/scripts/pyaudio3dtools/audio3dtools.py b/scripts/pyaudio3dtools/audio3dtools.py old mode 100644 new mode 100755 diff --git a/scripts/pyaudio3dtools/audioarray.py b/scripts/pyaudio3dtools/audioarray.py index 0a918e5f1d..1906e82033 100644 --- a/scripts/pyaudio3dtools/audioarray.py +++ b/scripts/pyaudio3dtools/audioarray.py @@ -410,7 +410,7 @@ def limiter(x: np.ndarray, fs: int): fr_sig[idx_min] = -32768 -def get_framewise(x: np.ndarray, chunk_size: int) -> np.ndarray: +def get_framewise(x: np.ndarray, chunk_size: int, zero_pad=False) -> np.ndarray: """Generator to yield a signal frame by frame If array size is not a multiple of chunk_size, last frame contains the remainder @@ -420,6 +420,8 @@ def get_framewise(x: np.ndarray, chunk_size: int) -> np.ndarray: Input reference array chunk_size: int Size of frames to yield + zero_pad: bool + Whether to zero pad the last chunk if there are not enough samples Yields ------- @@ -430,7 +432,11 @@ def get_framewise(x: np.ndarray, chunk_size: int) -> np.ndarray: for i in range(n_frames): yield x[i * chunk_size : (i + 1) * chunk_size, :] if x.shape[0] % chunk_size: - yield x[n_frames * chunk_size :, :] + last_chunk = x[n_frames * chunk_size :, :] + if zero_pad: + yield np.pad(last_chunk, [[0, x.shape[0] % chunk_size], [0, 0]]) + else: + yield last_chunk def process_async(files: Iterable, func: Callable, **kwargs): diff --git a/scripts/pyaudio3dtools/audiofile.py b/scripts/pyaudio3dtools/audiofile.py old mode 100755 new mode 100644 diff --git a/scripts/pyaudio3dtools/spatialaudioconvert.py b/scripts/pyaudio3dtools/spatialaudioconvert.py index 430d362ab2..1ed144943f 100644 --- a/scripts/pyaudio3dtools/spatialaudioconvert.py +++ b/scripts/pyaudio3dtools/spatialaudioconvert.py @@ -426,6 +426,13 @@ def convert_ism( audioarray.get_framewise(out_sig, frame_len), ) ): + # update the crossfade if we have a smaller last frame + if out_frame.shape[0] != frame_len: + frame_size = out_frame.shape[0] + fade_in = np.arange(frame_size) / (frame_size - 1) + fade_in = fade_in[:, np.newaxis] + fade_out = 1.0 - fade_in + pos = EFAP.wrap_angles(*pos_data[i_frame % pos_frames, :], clip_ele=True) # ISM -> MC diff --git a/scripts/pyivastest/IvasModeRunner.py b/scripts/pyivastest/IvasModeRunner.py old mode 100755 new mode 100644 -- GitLab From 81d655e7bbc51de5a1c71dae784d6b1f272858b6 Mon Sep 17 00:00:00 2001 From: knj Date: Mon, 14 Nov 2022 14:39:32 +0100 Subject: [PATCH 065/620] make logfile link clickable by moving tooltip under cursor --- .../index_complexity.html | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index 43e69db218..00f356e056 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -450,8 +450,8 @@ function showToolTip(x, y, contents) { var tipWidth = 165; var tipHeight = 75; - var xOffset = 5; - var yOffset = 5; + var xOffset = -15; + var yOffset = -15; var ie = document.all && !window.opera; var iebody = (document.compatMode == "CSS1Com[at") ? document.documentElement @@ -533,7 +533,10 @@ elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } @@ -1080,7 +1083,10 @@ function RAM() { elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } @@ -1238,7 +1244,10 @@ function ROM() { elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } @@ -1404,7 +1413,10 @@ function PROM() { elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } -- GitLab From 3b3de345b1b5418548ddef13a1671e7cd0e525d3 Mon Sep 17 00:00:00 2001 From: knj Date: Mon, 14 Nov 2022 14:56:00 +0100 Subject: [PATCH 066/620] change format in title dynamically --- .gitlab-ci.yml | 18 +++++++++++++----- .../index_complexity.html | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4d4f2140d..d2d2ef69eb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -948,6 +948,8 @@ coverage-test-on-main-scheduled: - mkdir $public_dir - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html + # patch the format in the title + - sed -i "s/IVAS FORMAT/<title>IVAS $format/g" ${public_dir}/index.html # do separately here to avoid overwrite complaints by mv - mv -f ci/complexity_measurements/style.css ${public_dir}/ @@ -971,7 +973,8 @@ measure-complexity-linux-stereo-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh stereo + - format=stereo + - bash ci/complexity_measurements/getWmops.sh $stereo - *complexity-measurements-prepare-artifacts measure-complexity-linux-ism-test: @@ -981,6 +984,7 @@ measure-complexity-linux-ism-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup + - format=ISM - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" - *complexity-measurements-prepare-artifacts @@ -991,7 +995,8 @@ measure-complexity-linux-sba-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh SBA + - format=SBA + - bash ci/complexity_measurements/getWmops.sh $format - *complexity-measurements-prepare-artifacts measure-complexity-linux-mc-test: @@ -1001,7 +1006,8 @@ measure-complexity-linux-mc-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh MC + - format=MC + - bash ci/complexity_measurements/getWmops.sh $format - *complexity-measurements-prepare-artifacts measure-complexity-linux-masa-test: @@ -1011,7 +1017,8 @@ measure-complexity-linux-masa-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh MASA + - format=MASA + - bash ci/complexity_measurements/getWmops.sh $format - *complexity-measurements-prepare-artifacts measure-complexity-linux-StereoDmxEVS-test: @@ -1021,7 +1028,8 @@ measure-complexity-linux-StereoDmxEVS-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - bash ci/complexity_measurements/getWmops.sh StereoDmxEVS + - format=StereoDmxEVS + - bash ci/complexity_measurements/getWmops.sh $format - *complexity-measurements-prepare-artifacts # --------------------------------------------------------------- diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index 00f356e056..ad061c58af 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -36,7 +36,7 @@ <meta http-equiv="content-language" content="en"> <meta http-equiv="refresh" content="300"> - <title>IVAS Stereo - Worst Case WMOPS/Memory Performance + IVAS FORMAT - Worst Case WMOPS/Memory Performance -- GitLab From 52bfbc99d424cd1c59f824aee5a2a083ae83b8b5 Mon Sep 17 00:00:00 2001 From: knj Date: Mon, 14 Nov 2022 15:35:46 +0100 Subject: [PATCH 067/620] specify output format as well in complexity jobs --- .gitlab-ci.yml | 32 +++++++++++++++----------- ci/complexity_measurements/getWmops.sh | 9 ++++---- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d2d2ef69eb..7d0d4268ab 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -949,7 +949,7 @@ coverage-test-on-main-scheduled: - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title - - sed -i "s/IVAS FORMAT/<title>IVAS $format/g" ${public_dir}/index.html + - sed -i "s/<title>IVAS FORMAT/<title>IVAS $in_format to $out_format/g" ${public_dir}/index.html # do separately here to avoid overwrite complaints by mv - mv -f ci/complexity_measurements/style.css ${public_dir}/ @@ -973,8 +973,9 @@ measure-complexity-linux-stereo-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - format=stereo - - bash ci/complexity_measurements/getWmops.sh $stereo + - in_format=stereo + - out_format=stereo + - bash ci/complexity_measurements/getWmops.sh $in_format $out_format - *complexity-measurements-prepare-artifacts measure-complexity-linux-ism-test: @@ -984,8 +985,9 @@ measure-complexity-linux-ism-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - format=ISM - - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" + - in_format=ISM + - out_format=EXT + - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" $out_format - *complexity-measurements-prepare-artifacts measure-complexity-linux-sba-test: @@ -995,8 +997,9 @@ measure-complexity-linux-sba-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - format=SBA - - bash ci/complexity_measurements/getWmops.sh $format + - in_format=SBA + - out_format=HOA3 + - bash ci/complexity_measurements/getWmops.sh $in_format $out_format - *complexity-measurements-prepare-artifacts measure-complexity-linux-mc-test: @@ -1006,8 +1009,9 @@ measure-complexity-linux-mc-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - format=MC - - bash ci/complexity_measurements/getWmops.sh $format + - in_format=MC + - out_format=7_1_4 + - bash ci/complexity_measurements/getWmops.sh $in_format $out_format - *complexity-measurements-prepare-artifacts measure-complexity-linux-masa-test: @@ -1017,8 +1021,9 @@ measure-complexity-linux-masa-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - format=MASA - - bash ci/complexity_measurements/getWmops.sh $format + - in_format=MASA + - out_format=EXT + - bash ci/complexity_measurements/getWmops.sh $in_format $out_format - *complexity-measurements-prepare-artifacts measure-complexity-linux-StereoDmxEVS-test: @@ -1028,8 +1033,9 @@ measure-complexity-linux-StereoDmxEVS-test: - *print-common-info - *update-ltv-repo - *complexity-measurements-setup - - format=StereoDmxEVS - - bash ci/complexity_measurements/getWmops.sh $format + - in_format=StereoDmxEVS + - out_format=mono + - bash ci/complexity_measurements/getWmops.sh $format $out_format - *complexity-measurements-prepare-artifacts # --------------------------------------------------------------- diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 6fbcd371e9..3eb018dda9 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -29,12 +29,13 @@ # the United Nations Convention on Contracts on the International Sales of Goods. # get format from command line -if [ $# -ne 1 ]; then - echo "Usage: $0 ivas-format" +if [ $# -ne 2 ]; then + echo "Usage: $0 \"ivas-format(s)\" \"output-format(s)\"" exit 1 fi ivas_format=$1 +output_format=$2 date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file @@ -56,8 +57,8 @@ wmopsFilenameFlc48kHzLast=wmops_newsletter_stereo_48kHz__${commit_sha}_${date} wmopsFilenameFlc48kHz=${destDir}/wmops/logs/${wmopsFilenameFlc48kHzLast} # instrument and build -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -U $duration -f ${ep} -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -U $duration -f ${ep} +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -U $duration -f ${ep} --oc $output_format +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -U $duration -f ${ep} --oc $output_format # now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From 5f232ae3004777bd2a4459ecb935ccd29a5b601d Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 15:44:02 +0100 Subject: [PATCH 068/620] fix other forgotten tooltip parts --- ci/complexity_measurements/index_complexity.html | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index ad061c58af..e8b8b48b42 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -702,7 +702,10 @@ function WMOPS_perOP() { elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } @@ -810,7 +813,10 @@ function WMOPS_perOP() { elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } @@ -976,7 +982,10 @@ function WMOPS_perOP_48kHz() { elt.bind("plothover", function (event, pos, item) { if (!item) { - $("#tooltip").remove(); + // only remove if not in tooltip anymore + if ($('#tooltip:hover').length == 0) { + $("#tooltip").remove(); + } previousPoint = null; return; } -- GitLab From e97c323d48f9c9f7063bbe59fd870fe2d3e2098f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 15:52:17 +0100 Subject: [PATCH 069/620] archive newsletter logs so they can be linked to on the page --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7d0d4268ab..c415012143 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -939,6 +939,7 @@ coverage-test-on-main-scheduled: # if is needed to catch case when no artifact is there (first run), similarly as above - if [[ -d $public_dir ]]; then mv $public_dir/* wmops/; fi - ls wmops + - rm -rf wmops/logs/* - rm artifacts.zip - rm -rf $public_dir @@ -947,6 +948,9 @@ coverage-test-on-main-scheduled: - public_dir="$CI_JOB_NAME-public" - mkdir $public_dir - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ + # move logfiles for links + - mkdir $public_dir/logs + - mv wmops/logs/wmops_newsletter_* $public_dir/logs/ - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title - sed -i "s/<title>IVAS FORMAT/<title>IVAS $in_format to $out_format/g" ${public_dir}/index.html -- GitLab From 2ddea5708eac6d725eba71e369db9c5e275a8654 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 16:26:48 +0100 Subject: [PATCH 070/620] also archive log files --- .gitlab-ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c415012143..e8907b6776 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -939,7 +939,6 @@ coverage-test-on-main-scheduled: # if is needed to catch case when no artifact is there (first run), similarly as above - if [[ -d $public_dir ]]; then mv $public_dir/* wmops/; fi - ls wmops - - rm -rf wmops/logs/* - rm artifacts.zip - rm -rf $public_dir @@ -949,8 +948,11 @@ coverage-test-on-main-scheduled: - mkdir $public_dir - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ # move logfiles for links + - log_files=$(cat graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") + - echo $log_files - mkdir $public_dir/logs - - mv wmops/logs/wmops_newsletter_* $public_dir/logs/ + - for f in $log_files; do mv wmops/logs/$f $public_dir/logs/$f; done + # copy index page blueprint - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title - sed -i "s/<title>IVAS FORMAT/<title>IVAS $in_format to $out_format/g" ${public_dir}/index.html -- GitLab From dbe7c8c57b5c81ce397c4dfde420fb0200531e52 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 16:52:55 +0100 Subject: [PATCH 071/620] copy logs from correct dir and also copy logs for 48kHz --- .gitlab-ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e8907b6776..c629071e26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -948,10 +948,14 @@ coverage-test-on-main-scheduled: - mkdir $public_dir - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ # move logfiles for links - - log_files=$(cat graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - - echo $log_files - mkdir $public_dir/logs + # first move logs for "native" sampling rate + - log_files=$(cat wmops/graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") + - echo $log_files - for f in $log_files; do mv wmops/logs/$f $public_dir/logs/$f; done + - log_files_48=$(cat wmops/graphs_wmops_flc_48kHz.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") + - echo $log_files_48 + - for f in $log_files_48; do mv wmops/logs/$f $public_dir/logs/$f; done # copy index page blueprint - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title -- GitLab From ad992978c898baa4f3aa0f8f42c6dc4354b804ec Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 17:01:59 +0100 Subject: [PATCH 072/620] fixes in job --- .gitlab-ci.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c629071e26..7a623bf245 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -950,10 +950,10 @@ coverage-test-on-main-scheduled: # move logfiles for links - mkdir $public_dir/logs # first move logs for "native" sampling rate - - log_files=$(cat wmops/graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") + - log_files=$(cat $public_dir/graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - echo $log_files - for f in $log_files; do mv wmops/logs/$f $public_dir/logs/$f; done - - log_files_48=$(cat wmops/graphs_wmops_flc_48kHz.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") + - log_files_48=$(cat $public_dir/graphs_wmops_flc_48kHz.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - echo $log_files_48 - for f in $log_files_48; do mv wmops/logs/$f $public_dir/logs/$f; done # copy index page blueprint @@ -985,7 +985,7 @@ measure-complexity-linux-stereo-test: - *complexity-measurements-setup - in_format=stereo - out_format=stereo - - bash ci/complexity_measurements/getWmops.sh $in_format $out_format + - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts measure-complexity-linux-ism-test: @@ -997,7 +997,7 @@ measure-complexity-linux-ism-test: - *complexity-measurements-setup - in_format=ISM - out_format=EXT - - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" $out_format + - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" "$out_format" - *complexity-measurements-prepare-artifacts measure-complexity-linux-sba-test: @@ -1009,7 +1009,7 @@ measure-complexity-linux-sba-test: - *complexity-measurements-setup - in_format=SBA - out_format=HOA3 - - bash ci/complexity_measurements/getWmops.sh $in_format $out_format + - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts measure-complexity-linux-mc-test: @@ -1021,7 +1021,7 @@ measure-complexity-linux-mc-test: - *complexity-measurements-setup - in_format=MC - out_format=7_1_4 - - bash ci/complexity_measurements/getWmops.sh $in_format $out_format + - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts measure-complexity-linux-masa-test: @@ -1033,7 +1033,7 @@ measure-complexity-linux-masa-test: - *complexity-measurements-setup - in_format=MASA - out_format=EXT - - bash ci/complexity_measurements/getWmops.sh $in_format $out_format + - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts measure-complexity-linux-StereoDmxEVS-test: @@ -1045,7 +1045,7 @@ measure-complexity-linux-StereoDmxEVS-test: - *complexity-measurements-setup - in_format=StereoDmxEVS - out_format=mono - - bash ci/complexity_measurements/getWmops.sh $format $out_format + - bash ci/complexity_measurements/getWmops.sh "$format" "$out_format" - *complexity-measurements-prepare-artifacts # --------------------------------------------------------------- -- GitLab From 6baa1d5d36f8a75ca0b57830bc8396643ebf926a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 17:11:30 +0100 Subject: [PATCH 073/620] mv only if file exists --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a623bf245..545ac683d3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -952,10 +952,11 @@ coverage-test-on-main-scheduled: # first move logs for "native" sampling rate - log_files=$(cat $public_dir/graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - echo $log_files - - for f in $log_files; do mv wmops/logs/$f $public_dir/logs/$f; done + - ls wmops/logs + - for f in $log_files; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done - log_files_48=$(cat $public_dir/graphs_wmops_flc_48kHz.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - echo $log_files_48 - - for f in $log_files_48; do mv wmops/logs/$f $public_dir/logs/$f; done + - for f in $log_files_48; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done # copy index page blueprint - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title -- GitLab From 2fd36347f19102dd4183d865f67f7e8ef132c496 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 14 Nov 2022 18:47:10 +0100 Subject: [PATCH 074/620] put format in headings as well --- .gitlab-ci.yml | 2 +- .../index_complexity.html | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 545ac683d3..6be21fe25e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -960,7 +960,7 @@ coverage-test-on-main-scheduled: # copy index page blueprint - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title - - sed -i "s/<title>IVAS FORMAT/<title>IVAS $in_format to $out_format/g" ${public_dir}/index.html + - sed -i "s/IVAS FORMAT/IVAS $in_format to $out_format/g" ${public_dir}/index.html # do separately here to avoid overwrite complaints by mv - mv -f ci/complexity_measurements/style.css ${public_dir}/ diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index e8b8b48b42..26ba82c546 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -142,7 +142,7 @@ </div> <div id="content"> - <h1 id="sec:graph-wmops">IVAS Stereo - Worst Case WMOPS Performance (Float, native SR)</h1> + <h1 id="sec:graph-wmops">IVAS FORMAT - Worst Case WMOPS Performance (Float, native SR)</h1> <div class="graph-container"> <div id="wmops-graph"></div> @@ -163,7 +163,7 @@ <hr /> - <h1 id="sec:graph-wmops_per_op">IVAS Stereo - Worst Case WMOPS Performance + <h1 id="sec:graph-wmops_per_op">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point (Float, native SR)</h1> <div class="graph-container"> @@ -177,7 +177,7 @@ <hr /> - <h1 id="sec:graph-wmops_48kHz">IVAS Stereo - Worst Case WMOPS Performance (Float, 48 kHz)</h1> + <h1 id="sec:graph-wmops_48kHz">IVAS FORMAT - Worst Case WMOPS Performance (Float, 48 kHz)</h1> <div class="graph-container"> <div id="wmops-48kHz-graph"></div> @@ -198,7 +198,7 @@ <hr /> - <h1 id="sec:graph-wmops_per_op_48kHz">IVAS Stereo - Worst Case WMOPS Performance + <h1 id="sec:graph-wmops_per_op_48kHz">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point (Float, 48 kHz)</h1> <div class="graph-container"> @@ -214,7 +214,7 @@ <!-- - <h1 id="sec:graph-wmops-basop">IVAS Stereo - Worst Case WMOPS Performance (BASOP)</h1> + <h1 id="sec:graph-wmops-basop">IVAS FORMAT - Worst Case WMOPS Performance (BASOP)</h1> <div class="graph-container"> <div id="wmops-graph-basop"></div> @@ -235,7 +235,7 @@ <hr /> - <h1 id="sec:graph-wmops_basop_per_op">IVAS Stereo - Worst Case WMOPS Performance + <h1 id="sec:graph-wmops_basop_per_op">IVAS FORMAT - Worst Case WMOPS Performance per Operating Point (BASOP)</h1> <div class="graph-container"> @@ -248,7 +248,7 @@ <hr /> - <h1 id="sec:graph-conversion_factors_basop_flc">IVAS Stereo - Measured WMOPS + <h1 id="sec:graph-conversion_factors_basop_flc">IVAS FORMAT - Measured WMOPS Conversion Factors BASOP / Float</h1> @@ -263,7 +263,7 @@ <hr /> --> - <h1 id="sec:graph-ram">IVAS Stereo - Worst Case RAM Demand (Float)</h1> + <h1 id="sec:graph-ram">IVAS FORMAT - Worst Case RAM Demand (Float)</h1> <div class="graph-container"> <div id="ram-graph"></div> @@ -297,7 +297,7 @@ <hr /> <!-- - <h1 id="sec:graph-ram-basop">IVAS Stereo - Worst Case RAM Demand (BASOP)</h1> + <h1 id="sec:graph-ram-basop">IVAS FORMAT - Worst Case RAM Demand (BASOP)</h1> <div class="graph-container"> <div id="ram-graph-basop"></div> @@ -322,7 +322,7 @@ <hr /> --> - <h1 id="sec:graph-rom">IVAS Stereo - Worst Case ROM Demand (Float)</h1> + <h1 id="sec:graph-rom">IVAS FORMAT - Worst Case ROM Demand (Float)</h1> <div class="graph-container"> <div id="rom-graph"></div> @@ -338,7 +338,7 @@ <!-- <hr /> - <h1 id="sec:graph-rom-basop">IVAS Stereo - Worst Case ROM Demand (BASOP)</h1> + <h1 id="sec:graph-rom-basop">IVAS FORMAT - Worst Case ROM Demand (BASOP)</h1> <div class="graph-container"> <div id="rom-graph-basop"></div> @@ -354,7 +354,7 @@ <hr /> --> - <h1 id="sec:graph-prom">IVAS Stereo - Worst Case PROM Demand</h1> + <h1 id="sec:graph-prom">IVAS FORMAT - Worst Case PROM Demand</h1> <div class="graph-container"> <div id="prom-graph"></div> -- GitLab From edf476fff3eb125579b60f4374ff4f3cad5278f5 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 15 Nov 2022 09:00:54 +0100 Subject: [PATCH 075/620] fix MSVC compilation warnings --- apps/renderer.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 0d46dd05f4..cee003f972 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -485,7 +485,7 @@ static int16_t getTotalNumInChannels( } #ifdef NOKIA_MASA_EXTERNAL_RENDERER - for ( int32_t i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) + for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { if ( masaIds[i] == 0 ) { @@ -983,13 +983,12 @@ int main( #ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < args.inConfig.numMasaBuses; ++i ) { - int16_t numChannels; if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, masaIds[i], &numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } - IVAS_REND_ReadOnlyAudioBuffer tmpBuffer = getReadOnlySubBuffer( inBuffer, args.inConfig.masaBuses[i].inputChannelIndex, numChannels ); + IVAS_REND_ReadOnlyAudioBuffer tmpBuffer = getReadOnlySubBuffer( inBuffer, (int16_t) args.inConfig.masaBuses[i].inputChannelIndex, numChannels ); if ( ( error = IVAS_REND_FeedInputAudio( hIvasRend, masaIds[i], tmpBuffer ) ) != IVAS_ERR_OK ) { @@ -1390,7 +1389,7 @@ static IVAS_REND_AudioConfig parseAudioConfig( case '1': fprintf( stderr, "1TC MASA support is not functional and is pending on DirAC renderer refactoring.\n" ); exit( EXIT_FAILURE ); - return IVAS_REND_AUDIO_CONFIG_MASA1; + /*return IVAS_REND_AUDIO_CONFIG_MASA1;*/ // ToDo: temporarily disabled to avoid compilation warnings case '2': return IVAS_REND_AUDIO_CONFIG_MASA2; default: -- GitLab From 79372ffa88728a354fbe3477ee1c13efa1228acc Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 09:21:12 +0100 Subject: [PATCH 076/620] Disabled TDREND_HRTF_TABLE_METHODS in standalone renderer, not working anymore --- .../td_object_renderer/object_renderer_standalone/Makefile | 4 ---- 1 file changed, 4 deletions(-) diff --git a/scripts/td_object_renderer/object_renderer_standalone/Makefile b/scripts/td_object_renderer/object_renderer_standalone/Makefile index c8a43fc6f1..42b762bcfe 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/Makefile +++ b/scripts/td_object_renderer/object_renderer_standalone/Makefile @@ -77,10 +77,6 @@ CFLAGS += -fsanitize=undefined LDFLAGS += -fsanitize=undefined endif - -CFLAGS += -DTDREND_HRTF_TABLE_METHODS -LDFLAGS += -DTDREND_HRTF_TABLE_METHODS - ifeq "$(RELEASE)" "1" CFLAGS += -DRELEASE OPTIM ?= 2 -- GitLab From c6f981822c20a6461dbbafe0a842e0d2b9ce34b5 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 15 Nov 2022 09:39:32 +0100 Subject: [PATCH 077/620] fix variable usage --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c638cfc35e..35e1ab5d7f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1046,7 +1046,7 @@ measure-complexity-linux-StereoDmxEVS-test: - *complexity-measurements-setup - in_format=StereoDmxEVS - out_format=mono - - bash ci/complexity_measurements/getWmops.sh "$format" "$out_format" + - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts # --------------------------------------------------------------- -- GitLab From fb03edbbb7e8bc28911b609c260278cbbf5d3ce4 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 15 Nov 2022 14:37:31 +0100 Subject: [PATCH 078/620] change output formats --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 35e1ab5d7f..76026b4de9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -997,7 +997,7 @@ measure-complexity-linux-ism-test: - *update-ltv-repo - *complexity-measurements-setup - in_format=ISM - - out_format=EXT + - out_format=BINAURAL - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" "$out_format" - *complexity-measurements-prepare-artifacts @@ -1033,7 +1033,7 @@ measure-complexity-linux-masa-test: - *update-ltv-repo - *complexity-measurements-setup - in_format=MASA - - out_format=EXT + - out_format=7_1_4 - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts -- GitLab From 49043827bfdbea3e469facde2e1f0acc4ebd4ddd Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 15 Nov 2022 15:25:58 +0100 Subject: [PATCH 079/620] change tag in job --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7192aebe43..67e815cded 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -898,7 +898,7 @@ coverage-test-on-main-scheduled: - .test-job-linux-needs-testv-dir - .rules-main-scheduled tags: - - coverage-test + - ivas-linux stage: test rules: # only run in scheduled pipeline that passes this env vars -- GitLab From 6b622cc408265ac8d30c4de6c714cc0b65fe0632 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 17:04:05 +0100 Subject: [PATCH 080/620] Cleanup and fix for asan error --- lib_rend/ivas_lib_rend_internal.h | 4 ++-- lib_rend/ivas_objectRenderer.c | 10 +++++----- lib_rend/ivas_objectRenderer_hrFilt.c | 6 +++--- lib_rend/ivas_objectRenderer_mix.c | 6 +++--- lib_rend/ivas_objectRenderer_sfx.c | 13 ++++++++----- lib_rend/ivas_objectRenderer_sources.c | 8 ++++---- 6 files changed, 25 insertions(+), 22 deletions(-) diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h index f3a9ca6d87..6a362c8c1c 100644 --- a/lib_rend/ivas_lib_rend_internal.h +++ b/lib_rend/ivas_lib_rend_internal.h @@ -110,9 +110,9 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ #ifndef FIX_ITD - const int32_t output_Fs, /* i : output sampling rate */ + const int32_t output_Fs, /* i : output sampling rate */ #endif - float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ + float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ); ivas_error ivas_rend_TDObjRendOpen( diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 475bc1d5d1..6d5c49ad61 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -319,9 +319,9 @@ static ivas_error TDREND_GetMix( float output[][L_FRAME48k], /* i/o: ISm object synth / rendered output in 0,1 */ const int16_t subframe_length, /* i/o: subframe length */ #ifndef FIX_ITD - const int32_t output_Fs, /* i : Output sampling rate */ + const int32_t output_Fs, /* i : Output sampling rate */ #endif - const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ + const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ ) { int16_t i; @@ -348,7 +348,7 @@ static ivas_error TDREND_GetMix( if ( hBinRendererTd->Listener_p->PoseUpdated || SrcSpatial_p->Updated ) { #ifdef FIX_ITD - TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, Src_p->hr_filt_left, + TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, Src_p->hr_filt_left, Src_p->hr_filt_right, &Src_p->filterlength, &Src_p->itd, &Src_p->Gain ); #else TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, output_Fs ); @@ -692,9 +692,9 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ #ifndef FIX_ITD - const int32_t output_Fs, /* i : output sampling rate */ + const int32_t output_Fs, /* i : output sampling rate */ #endif - float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ + float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ) { int16_t subframe_length; diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 785bf6ed95..93c7eb96cc 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -349,10 +349,10 @@ ivas_error TDREND_REND_RenderSourceHRFilt( #endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ #ifdef FIX_ITD - const int16_t subframe_length /* i : Subframe length in use */ + const int16_t subframe_length /* i : Subframe length in use */ #else - const int16_t subframe_length, /* i : Subframe length in use */ - const int32_t output_Fs /* i : Output sample rate */ + const int16_t subframe_length, /* i : Subframe length in use */ + const int32_t output_Fs /* i : Output sample rate */ #endif ) { diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 81992775bb..c8e75cfd04 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -291,10 +291,10 @@ ivas_error TDREND_MIX_AddSrc( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ int16_t *SrcInd, /* o : Source index */ #ifdef FIX_ITD - const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ + const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ #else - const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ - const int32_t output_Fs /* i : Output sampling rate */ + const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ + const int32_t output_Fs /* i : Output sampling rate */ #endif ) { diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index cc7d9e45dd..1da7c671cc 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -1481,6 +1481,7 @@ void TDREND_Apply_ITD( int16_t prevShift; float *pstart1; float *pstart2; + float *pstart3; float buffer[ITD_MEM_LEN + L_SUBFRAME5MS_48k]; float *p_input; float *out_buf_A, *out_buf_B; @@ -1504,9 +1505,10 @@ void TDREND_Apply_ITD( tlen1 = (int16_t) ( ( (float) ( transition_len * prevShift ) / ( (float) ( prevShift + currShift ) ) ) + 0.5f ); tlen2 = transition_len - tlen1; pstart1 = p_input - prevShift; - pstart2 = p_input + tlen1; length_in1 = tlen1 + prevShift; + pstart2 = pstart1 + length_in1; length_in2 = tlen2 - currShift; + pstart3 = pstart2 + length_in2; } else { @@ -1514,9 +1516,10 @@ void TDREND_Apply_ITD( tlen1 = transition_len; tlen2 = 0; pstart1 = p_input - prevShift; - pstart2 = p_input + tlen1 - currShift; length_in1 = transition_len + prevShift - currShift; + pstart2 = pstart1 + length_in1; length_in2 = 0; + pstart3 = pstart2 + length_in2; } if ( *previtd == 0 ) @@ -1551,9 +1554,9 @@ void TDREND_Apply_ITD( mvr2r( pstart2, out_buf_A + tlen1, length - tlen1 ); /* Output buffer B */ - mvr2r( input, out_buf_B, tlen1 ); + mvr2r( p_input, out_buf_B, tlen1 ); sincResample( pstart2, out_buf_B + tlen1, length_in2, tlen2 ); - mvr2r( pstart2 + tlen2 + currShift, out_buf_B + transition_len, tlen3 ); + mvr2r( pstart3, out_buf_B + transition_len, tlen3 ); *previtd = itd; wmops_sub_end(); @@ -1668,4 +1671,4 @@ void TDREND_firfilt( return; } -#endif \ No newline at end of file +#endif diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index 6fbcdcda13..5b3ab93bfb 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -270,7 +270,7 @@ static void TDREND_SRC_REND_Dealloc( static void TDREND_SRC_REND_Init( #ifdef FIX_ITD - TDREND_SRC_REND_t *SrcRend_p /* i/o: Source object */ + TDREND_SRC_REND_t *SrcRend_p /* i/o: Source object */ #else TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ const int32_t output_Fs /* i : Output sampling rate */ @@ -331,7 +331,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( int16_t *itd, /* o: ITD value */ float *Gain /* o: Gain value */ #else - const int32_t output_Fs /* i : Output sampling rate */ + const int32_t output_Fs /* i : Output sampling rate */ #endif ) { @@ -758,9 +758,9 @@ void TDREND_SRC_Dealloc( --------------------------------------------------------------------*/ void TDREND_SRC_Init( - TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ + TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ #ifdef FIX_ITD - const TDREND_PosType_t PosType /* i : Position type specifier */ + const TDREND_PosType_t PosType /* i : Position type specifier */ #else const TDREND_PosType_t PosType, /* i : Position type specifier */ const int32_t output_Fs /* i : Output sampling rate */ -- GitLab From 5d069af806fe9173fa49ac2e449af8b9af4890d1 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 17:22:17 +0100 Subject: [PATCH 081/620] clang format applied --- lib_rend/ivas_objectRenderer_sfx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 1da7c671cc..51306a9927 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -1524,7 +1524,7 @@ void TDREND_Apply_ITD( if ( *previtd == 0 ) { - if (itd > 0) + if ( itd > 0 ) { out_buf_A = out_right; out_buf_B = out_left; @@ -1532,7 +1532,7 @@ void TDREND_Apply_ITD( else { out_buf_A = out_left; - out_buf_B = out_right; + out_buf_B = out_right; } } else -- GitLab From 0a1d696201cb53853425da5cd95dcfa5cccfd424 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 17:53:12 +0100 Subject: [PATCH 082/620] Fix in regexp for renderer non-be tag --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 67e815cded..e2db5e0e49 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -420,7 +420,7 @@ external-renderer-pytest-on-merge-request: - *print-common-info # some helper variables - "|| true" to prevent failures from grep not finding anything - - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend(erer)*[ -]*non[ -]*be\]") || true + - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true # TODO: needs splitting the test between reference and cut generation #- ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true -- GitLab From 5d44874747988f0653699692d242ab42a18eaf01 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 18:24:39 +0100 Subject: [PATCH 083/620] Trying fixes for external-renderer msan and asan --- .gitlab-ci.yml | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e2db5e0e49..1b35bf5cd7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -349,10 +349,23 @@ external-renderer-cmake-asan-pytest: needs: ["build-codec-linux-cmake"] stage: test script: + + - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true + - python3 ci/disable_ram_counting.py - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py + + # run test + - exit_code=0 + - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? + - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true + + - *merge-request-comparison-check + + allow_failure: + exit_codes: + - 123 artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always @@ -371,10 +384,23 @@ external-renderer-cmake-msan-pytest: needs: ["build-codec-linux-cmake"] stage: test script: + + - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true + - python3 ci/disable_ram_counting.py - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py + + # run test + - exit_code=0 + - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? + - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true + + - *merge-request-comparison-check + + allow_failure: + exit_codes: + - 123 artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always -- GitLab From d40479813d68f3ea5a7f5868ff25dae39bb4300d Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 19:14:01 +0100 Subject: [PATCH 084/620] Fixes for external-renderer-make-pytest --- .gitlab-ci.yml | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1b35bf5cd7..08902ecbe1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -327,10 +327,24 @@ external-renderer-make-pytest: needs: ["build-codec-linux-make"] stage: test script: + + - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true + - make -j IVAS_rend - make -j unittests - make -j --directory scripts/td_object_renderer/object_renderer_standalone - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py + + # run test + - exit_code=0 + - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? + - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true + + - *merge-request-comparison-check + + allow_failure: + exit_codes: + - 123 + artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always -- GitLab From 07db0e13692f60227684ac1118d9fbc84d30ca95 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Wed, 16 Nov 2022 08:11:56 +0100 Subject: [PATCH 085/620] reduce static memory in the MDFT FB at the encoder for all non-SPAR/DirAC modes, under define FIX_126_MDFT_FB_STATIC_MEM, active, BE --- lib_com/ivas_fb_mixer.c | 23 ++++++++++++++++++++--- lib_com/options.h | 1 + 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/lib_com/ivas_fb_mixer.c b/lib_com/ivas_fb_mixer.c index 53ad90d01f..8e60b4f841 100644 --- a/lib_com/ivas_fb_mixer.c +++ b/lib_com/ivas_fb_mixer.c @@ -186,16 +186,27 @@ ivas_error ivas_FB_mixer_open( frame_len = (int16_t) ( sampling_rate / FRAMES_PER_SEC ); + if ( ( hFbMixer = (IVAS_FB_MIXER_HANDLE) count_malloc( sizeof( IVAS_FB_MIXER_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } - if ( ( hFbMixer->pFb = (ivas_filterbank_t *) count_malloc( sizeof( ivas_filterbank_t ) ) ) == NULL ) +#ifdef FIX_126_MDFT_FB_STATIC_MEM + if ( fb_cfg->num_out_chans > 0 ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); +#endif + if ( ( hFbMixer->pFb = (ivas_filterbank_t *) count_malloc( sizeof( ivas_filterbank_t ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); + } +#ifdef FIX_126_MDFT_FB_STATIC_MEM } - + else + { + hFbMixer->pFb = NULL; + } +#endif if ( fb_cfg->active_w_mixing == -1 ) { num_chs_alloc = 0; @@ -312,10 +323,13 @@ ivas_error ivas_FB_mixer_open( } else { +#ifndef FIX_126_MDFT_FB_STATIC_MEM int16_t k; +#endif /* ignore all the deeper filter bank stuff for now */ hFbMixer->num_diff_bands = 0; +#ifndef FIX_126_MDFT_FB_STATIC_MEM hFbMixer->pFb->fb_consts.pFilterbank_bins_per_band = NULL; hFbMixer->pFb->fb_consts.pFilterbank_bins_start_offset = NULL; @@ -332,6 +346,7 @@ ivas_error ivas_FB_mixer_open( { hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] = NULL; } +#endif } hFbMixer->fb_cfg = fb_cfg; @@ -1059,10 +1074,12 @@ static ivas_error ivas_filterbank_setup( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong FB in ivas_filterbank_setup()!" ); } } +#ifndef FIX_126_MDFT_FB_STATIC_MEM else { hFbMixer->pFb->filterbank_num_bands = 0; } +#endif hFbMixer->cross_fade_end_offset = pCfg->fade_len + pCfg->pcm_offset; hFbMixer->cross_fade_start_offset = hFbMixer->cross_fade_end_offset - pCfg->fade_len; diff --git a/lib_com/options.h b/lib_com/options.h index 553d57a755..a9fcac0178 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -155,6 +155,7 @@ #define REMOVE_SID_HARM_LEFTOVERS /* Issue 192: remove leftovers from the SID bitrate harmonization */ #define FIX_MCT_UNINIT_MEM /* Issue 166: Reading of uninitialized memory in TCX range coder */ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ +#define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ /* ################## End DEVELOPMENT switches ######################### */ -- GitLab From 7f9f24a4ac74b65abd647b28d30d9c19ef3f70a1 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 16 Nov 2022 09:56:24 +0100 Subject: [PATCH 086/620] Small fix in buffer --- lib_rend/ivas_objectRenderer_sfx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 51306a9927..1b936f1672 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -1519,7 +1519,7 @@ void TDREND_Apply_ITD( length_in1 = transition_len + prevShift - currShift; pstart2 = pstart1 + length_in1; length_in2 = 0; - pstart3 = pstart2 + length_in2; + pstart3 = pstart2 + length_in2 + currShift; } if ( *previtd == 0 ) -- GitLab From 0e1e6e9636f7dc095cd637ae4785c48c072a8870 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 16 Nov 2022 13:36:53 +0100 Subject: [PATCH 087/620] Correct delay compensation in standalone renderer with FIX_ITD --- .../renderer_standalone.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index b2963093a2..0cc698e7b0 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -115,7 +115,9 @@ int main( int argc, char *argv[] ) { int16_t nFrameLength; int16_t n, nS, nSamplesRead, i, j; +#ifndef FIX_ITD int16_t offset; +#endif float *MixFrame; float output[MAX_CICP_CHANNELS][L_FRAME48k]; @@ -433,6 +435,8 @@ int main( int argc, char *argv[] ) /* Apply limiter */ ivas_limiter_dec( st_ivas->hLimiter, output, st_ivas->hDecoderConfig->nchan_out, nFrameLength, FALSE ); + +#ifndef FIX_ITD /* Trim first frame to compensate for delay */ if ( nFrameCount == 0 ) { @@ -442,16 +446,29 @@ int main( int argc, char *argv[] ) { offset = 0; } +#endif /* For Wav: Interleave, convert to int16_t */ +#ifdef FIX_ITD + for ( n = 0; n < currFrameLength; n++ ) +#else for ( n = 0; n < ( currFrameLength - offset ); n++ ) +#endif { for ( nS = 0; nS < NumLdspks; nS++ ) { +#ifdef FIX_ITD + MixFrameWav[n * NumLdspks + nS] = (int16_t) ( output[nS][n] + 0.5f * sign( output[nS][n] ) ); +#else MixFrameWav[n * NumLdspks + nS] = (int16_t) ( output[nS][n + offset] + 0.5f * sign( output[nS][n + offset] ) ); +#endif } } +#ifdef FIX_ITD + fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength ) * NumLdspks, f_output ); +#else fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength - offset ) * NumLdspks, f_output ); +#endif nFrameCount++; -- GitLab From fc0dbc7fc475a6c21db36de7157e52225fd04004 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 16 Nov 2022 13:44:00 +0100 Subject: [PATCH 088/620] [tests] remove restriction on logging level for renderer pytests --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08902ecbe1..a1aae1146b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -336,7 +336,7 @@ external-renderer-make-pytest: # run test - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? + - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -372,7 +372,7 @@ external-renderer-cmake-asan-pytest: # run test - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? + - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -407,7 +407,7 @@ external-renderer-cmake-msan-pytest: # run test - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? + - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -436,7 +436,7 @@ external-renderer-cmake-msan-pytest: script: - cmake -B cmake-build -G "Unix Makefiles" -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true -DDEC_TO_REND_FLOAT_DUMP=true - cmake --build cmake-build -- -j - - python3 -m pytest -q --log-level ERROR -n 1 -rA --junit-xml=report-junit.xml tests/renderer/test_renderer_vs_decoder.py + - python3 -m pytest -q -n 1 -rA --junit-xml=report-junit.xml tests/renderer/test_renderer_vs_decoder.py artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always @@ -482,7 +482,7 @@ external-renderer-pytest-on-merge-request: # run test - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer_be_comparison.py || exit_code=$? + - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer_be_comparison.py || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check -- GitLab From 136b721f5001109b7d6d007e8713a262d58ed17b Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 16 Nov 2022 13:45:20 +0100 Subject: [PATCH 089/620] Revert updates to .gitlab-ci.yml where the intended comparison is within the same revision --- .gitlab-ci.yml | 46 +++------------------------------------------- 1 file changed, 3 insertions(+), 43 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08902ecbe1..e2db5e0e49 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -327,24 +327,10 @@ external-renderer-make-pytest: needs: ["build-codec-linux-make"] stage: test script: - - - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true - - make -j IVAS_rend - make -j unittests - make -j --directory scripts/td_object_renderer/object_renderer_standalone - - # run test - - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? - - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - - - *merge-request-comparison-check - - allow_failure: - exit_codes: - - 123 - + - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always @@ -363,23 +349,10 @@ external-renderer-cmake-asan-pytest: needs: ["build-codec-linux-cmake"] stage: test script: - - - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true - - python3 ci/disable_ram_counting.py - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - - # run test - - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? - - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - - - *merge-request-comparison-check - - allow_failure: - exit_codes: - - 123 + - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always @@ -398,23 +371,10 @@ external-renderer-cmake-msan-pytest: needs: ["build-codec-linux-cmake"] stage: test script: - - - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true - - python3 ci/disable_ram_counting.py - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - - # run test - - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py || exit_code=$? - - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - - - *merge-request-comparison-check - - allow_failure: - exit_codes: - - 123 + - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" when: always -- GitLab From ef72ebae68821e6a40262de9fa70c079dc766b66 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 16 Nov 2022 16:35:28 +0100 Subject: [PATCH 090/620] Added fix for clipping in TD renderer under FIX_I214_CLIPPING_STANDALONE_REND --- lib_com/options.h | 2 +- .../renderer_standalone.c | 33 +++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index a9fcac0178..c2ef6ee92d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -156,7 +156,7 @@ #define FIX_MCT_UNINIT_MEM /* Issue 166: Reading of uninitialized memory in TCX range coder */ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ - +#define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index b2963093a2..8f560a7e9d 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -123,6 +123,10 @@ int main( int argc, char *argv[] ) int16_t *MixFrameWav; int16_t *input_buff; int16_t nChannels; +#ifdef FIX_I214_CLIPPING_STANDALONE_REND + float tmp; + int32_t noClipping; +#endif FILE *f_input; FILE *f_output; FILE *f_quat_traj; @@ -135,6 +139,9 @@ int main( int argc, char *argv[] ) MixFrameWav = count_malloc( 2 * L_FRAME48k * sizeof( int16_t ) ); input_buff = count_malloc( MAX_CICP_CHANNELS * L_FRAME48k * sizeof( int16_t ) ); nChannels = 0; +#ifdef FIX_I214_CLIPPING_STANDALONE_REND + noClipping = 0; +#endif for ( i = 0; i < 2 * L_FRAME48k; i++ ) { @@ -326,8 +333,13 @@ int main( int argc, char *argv[] ) #endif /* Init limiter */ +#ifdef FIX_I214_CLIPPING_STANDALONE_REND + st_ivas->hLimiter = ivas_limiter_open( NumLdspks, st_ivas->hDecoderConfig->output_Fs ); + st_ivas->hDecoderConfig->nchan_out = NumLdspks; +#else st_ivas->hLimiter = ivas_limiter_open( nChannels, st_ivas->hDecoderConfig->output_Fs ); st_ivas->hDecoderConfig->nchan_out = nChannels; +#endif st_ivas->hLimiter->strong_saturation_count = 0; st_ivas->hLimiter->gain = 1.f; st_ivas->hLimiter->release_heuristic = 0.f; @@ -448,7 +460,22 @@ int main( int argc, char *argv[] ) { for ( nS = 0; nS < NumLdspks; nS++ ) { +#ifdef FIX_I214_CLIPPING_STANDALONE_REND + tmp = output[nS][n + offset] + 0.5f * sign( output[nS][n + offset] ); + if ( tmp > MAX16B_FLT ) + { + tmp = MAX16B_FLT; + noClipping++; + } + if ( tmp < MIN16B_FLT ) + { + tmp = MIN16B_FLT; + noClipping++; + } + MixFrameWav[n * NumLdspks + nS] = (int16_t) ( tmp ); +#else MixFrameWav[n * NumLdspks + nS] = (int16_t) ( output[nS][n + offset] + 0.5f * sign( output[nS][n + offset] ) ); +#endif } } fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength - offset ) * NumLdspks, f_output ); @@ -504,6 +531,12 @@ int main( int argc, char *argv[] ) #endif fprintf( stdout, "Done rendering %d frames.\n", nFrameCount ); +#ifdef FIX_I214_CLIPPING_STANDALONE_REND + if ( noClipping > 0 ) + { + fprintf( stderr, "*** Clipping on %ld samples.\n", noClipping ); + } +#endif /* system( "pause" ); */ return 0; } -- GitLab From ddb3a0f02a00420113a2668e89d15374d063b760 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 16 Nov 2022 16:38:02 +0100 Subject: [PATCH 091/620] Correct format string in clipping report. --- .../object_renderer_standalone/renderer_standalone.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 8f560a7e9d..e34ca952f8 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -534,7 +534,7 @@ int main( int argc, char *argv[] ) #ifdef FIX_I214_CLIPPING_STANDALONE_REND if ( noClipping > 0 ) { - fprintf( stderr, "*** Clipping on %ld samples.\n", noClipping ); + fprintf( stderr, "*** Clipping on %d samples.\n", noClipping ); } #endif /* system( "pause" ); */ -- GitLab From 41ac732eb15f4448901b577cc6c28c3f8b5e9db8 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 17 Nov 2022 09:59:01 +0100 Subject: [PATCH 092/620] change tag to test on second runner --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bee2835af6..0c1b747093 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -970,7 +970,7 @@ coverage-test-on-main-scheduled: rules: - if: $MEASURE_COMPLEXITY_LINUX tags: - - test-complexity-measurement + - test-fhg-linux-runner2 stage: test artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" -- GitLab From a721f7dfb6de5c4b739522b6406742ad874f8361 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 17 Nov 2022 10:24:11 +0100 Subject: [PATCH 093/620] change tag to test other runner --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0c1b747093..b332fe7d93 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -970,7 +970,7 @@ coverage-test-on-main-scheduled: rules: - if: $MEASURE_COMPLEXITY_LINUX tags: - - test-fhg-linux-runner2 + - test-nokia-linux-runner stage: test artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" -- GitLab From 1fe554949c33eafd3e2019c321b48eee2e822d54 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 17 Nov 2022 11:20:48 +0100 Subject: [PATCH 094/620] make necessary changes for merging to main - remove duration limitation from getWmops.sh - setup complexity jobs to run in scheduled pipeline as for sanitizers --- .gitlab-ci.yml | 78 +++++++++++++++++--------- ci/complexity_measurements/getWmops.sh | 5 +- 2 files changed, 52 insertions(+), 31 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b332fe7d93..7edd3b867f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -964,22 +964,24 @@ coverage-test-on-main-scheduled: # do separately here to avoid overwrite complaints by mv - mv -f ci/complexity_measurements/style.css ${public_dir}/ -.measure-complexity-template: +.complexity-template: extends: + # still needed as long as no long MASA testvectors are there - .test-job-linux-needs-testv-dir - rules: - - if: $MEASURE_COMPLEXITY_LINUX tags: - - test-nokia-linux-runner + - test-complexity-measurement + timeout: 3 hours stage: test artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" paths: - $CI_JOB_NAME-public -measure-complexity-linux-stereo-test: +complexity-stereo-in-stereo-out: extends: - - .measure-complexity-template + - .complexity-template + rules: + - if: $MEASURE_COMPLEXITY_LINUX script: - *print-common-info - *update-ltv-repo @@ -989,9 +991,13 @@ measure-complexity-linux-stereo-test: - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts -measure-complexity-linux-ism-test: +complexity-ism-in-binaural-out: extends: - - .measure-complexity-template + - .complexity-template + rules: + - if: $MEASURE_COMPLEXITY_LINUX + when: delayed + start_in: 1 hour script: - *print-common-info - *update-ltv-repo @@ -1001,9 +1007,13 @@ measure-complexity-linux-ism-test: - bash ci/complexity_measurements/getWmops.sh "ISM1 ISM2 ISM3 ISM4" "$out_format" - *complexity-measurements-prepare-artifacts -measure-complexity-linux-sba-test: +complexity-sba-hoa3-in-hoa3-out: extends: - - .measure-complexity-template + - .complexity-template + rules: + - if: $MEASURE_COMPLEXITY_LINUX + when: delayed + start_in: 3 hours script: - *print-common-info - *update-ltv-repo @@ -1013,9 +1023,13 @@ measure-complexity-linux-sba-test: - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts -measure-complexity-linux-mc-test: +complexity-mc-in-7_1_4-out: extends: - - .measure-complexity-template + - .complexity-template + rules: + - if: $MEASURE_COMPLEXITY_LINUX + when: delayed + start_in: 6 hours script: - *print-common-info - *update-ltv-repo @@ -1025,9 +1039,13 @@ measure-complexity-linux-mc-test: - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts -measure-complexity-linux-masa-test: +complexity-masa-in-7_1_4-out: extends: - - .measure-complexity-template + - .complexity-template + rules: + - if: $MEASURE_COMPLEXITY_LINUX + when: delayed + start_in: 9 hours script: - *print-common-info - *update-ltv-repo @@ -1037,9 +1055,13 @@ measure-complexity-linux-masa-test: - bash ci/complexity_measurements/getWmops.sh "$in_format" "$out_format" - *complexity-measurements-prepare-artifacts -measure-complexity-linux-StereoDmxEVS-test: +complexity-StereoDmxEVS-stereo-in-mono-out: extends: - - .measure-complexity-template + - .complexity-template + rules: + - if: $MEASURE_COMPLEXITY_LINUX + when: delayed + start_in: 10 hours script: - *print-common-info - *update-ltv-repo @@ -1068,38 +1090,38 @@ pages: - mkdir public # get artifacts for complexity jobs - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-stereo-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) - echo $job_id - echo "$API_URL_BASE/$job_id/artifacts" - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - cat artifacts_comp_stereo.zip - unzip -o artifacts_comp_stereo.zip - - mv measure-complexity-linux-stereo-test-public ./public/ + - mv complexity-stereo-in-stereo-out-public ./public/ - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-ism-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - unzip -o artifacts_comp_ism.zip - - mv measure-complexity-linux-ism-test-public ./public/ + - mv complexity-ism-in-binaural-out-public ./public/ - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-sba-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - unzip -o artifacts_comp_sba.zip - - mv measure-complexity-linux-sba-test-public ./public/ + - mv complexity-sba-hoa3-in-hoa3-out-public ./public/ - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-mc-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - unzip -o artifacts_comp_mc.zip - - mv measure-complexity-linux-mc-test-public ./public/ + - mv complexity-mc-in-7_1_4-out-public ./public/ - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-masa-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - unzip -o artifacts_comp_masa.zip - - mv measure-complexity-linux-masa-test-public ./public/ + - mv complexity-masa-in-7_1_4-out-public ./public/ - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch measure-complexity-linux-StereoDmxEVS-test) + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - unzip -o artifacts_comp_StereoDmxEVS.zip - - mv measure-complexity-linux-StereoDmxEVS-test-public ./public/ + - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ - cp ci/index-pages.html public/index.html artifacts: diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 3eb018dda9..40b5837017 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -46,7 +46,6 @@ commit_sha=`git rev-parse --short HEAD` destDir="." scriptDir="ci/complexity_measurements" ep="${scriptDir}/ep_10pct_fer.g192" -duration="2" config_file="scripts/config/ci_linux_ltv.json" @@ -57,8 +56,8 @@ wmopsFilenameFlc48kHzLast=wmops_newsletter_stereo_48kHz__${commit_sha}_${date} wmopsFilenameFlc48kHz=${destDir}/wmops/logs/${wmopsFilenameFlc48kHzLast} # instrument and build -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -U $duration -f ${ep} --oc $output_format -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -U $duration -f ${ep} --oc $output_format +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -f ${ep} --oc $output_format # now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From d711419acef7cc14779b6c75d0a51af3d6427a6e Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 17 Nov 2022 11:23:47 +0100 Subject: [PATCH 095/620] remove unnecessary debug output --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7edd3b867f..49ff0c6df1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -932,7 +932,6 @@ coverage-test-on-main-scheduled: - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME) - echo $job_id - curl --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip - - cat artifacts.zip - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html - ls - public_dir="$CI_JOB_NAME-public" -- GitLab From dc2a9320b00f8ebc5c9f5e429c4fff799cc719af Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 17 Nov 2022 17:37:03 +0100 Subject: [PATCH 096/620] [cleanup] remove standalone renderer binaries and related files - remove DEC_TO_REND_FLOAT_DUMP and renderer vs decoder test - update test_renderer.py to run only a subset of tests (first version, test_renderer_be_comparison.py already tests exhaustively) --- .gitlab-ci.yml | 26 +- CMakeLists.txt | 14 - Makefile | 29 +- apps/renderer.c | 18 - lib_com/ivas_tools.c | 10 - scripts/ivas_pytests/build_all.bat | 7 - scripts/ivas_pytests/build_all.sh | 4 - scripts/ivas_pytests/clean_all.bat | 7 - scripts/ivas_pytests/clean_all.sh | 3 - scripts/ivas_pytests/disable_lib_com_optim.py | 23 - scripts/ivas_pytests/endofline.py | 26 - .../tests/unit_tests/crend/build.bat | 1 - .../tests/unit_tests/crend/clean.bat | 1 - .../unit_tests/crend/ivas_crend_io_parse.h | 128 -- .../unit_tests/crend/ivas_crend_public.h | 85 - .../unit_tests/crend/ivas_crend_unit_test.c | 729 ------- .../unit_tests/crend/ivas_crend_unit_test.h | 57 - .../unit_tests/crend/ivas_crend_unit_test.sln | 68 - .../crend/ivas_crend_unit_test.vcxproj | 195 -- .../unit_tests/crend/ivas_crend_utest_utils.c | 1800 ----------------- .../unit_tests/crend/ivas_dec_parse_io.h | 136 -- .../tests/unit_tests/crend/ivas_prox_mix.c | 229 --- .../tests/unit_tests/crend/ivas_prox_mix.h | 71 - .../tests/unit_tests/crend/ivas_result_t.h | 56 - .../disabled_test_crend_unittest.py | 576 ------ .../object_renderer_standalone/Makefile | 184 -- .../object_renderer_standalone.sln | 68 - .../object_renderer_standalone.vcxproj | 121 -- ...object_renderer_standalone.vcxproj.filters | 22 - .../renderer_standalone.c | 603 ------ tests/renderer/README.md | 18 +- tests/renderer/constants.py | 231 +-- .../renderer/run_test_renderer_vs_decoder.sh | 10 - tests/renderer/test_renderer.py | 117 +- tests/renderer/test_renderer_vs_decoder.py | 128 -- tests/renderer/utils.py | 250 +-- 36 files changed, 62 insertions(+), 5989 deletions(-) delete mode 100644 scripts/ivas_pytests/build_all.bat delete mode 100755 scripts/ivas_pytests/build_all.sh delete mode 100644 scripts/ivas_pytests/clean_all.bat delete mode 100755 scripts/ivas_pytests/clean_all.sh delete mode 100755 scripts/ivas_pytests/disable_lib_com_optim.py delete mode 100755 scripts/ivas_pytests/endofline.py delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/build.bat delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/clean.bat delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.sln delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.vcxproj delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_result_t.h delete mode 100644 scripts/ivas_pytests/tests/unit_tests/disabled_test_crend_unittest.py delete mode 100644 scripts/td_object_renderer/object_renderer_standalone/Makefile delete mode 100644 scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.sln delete mode 100644 scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj delete mode 100644 scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj.filters delete mode 100644 scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c delete mode 100755 tests/renderer/run_test_renderer_vs_decoder.sh delete mode 100644 tests/renderer/test_renderer_vs_decoder.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 49ff0c6df1..62554b51a4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -321,7 +321,7 @@ asan-on-merge-request-linux: expose_as: "Asan selftest results" # test external renderer executable -external-renderer-make-pytest: +external-renderer-pytest: extends: - .test-job-linux - .rules-merge-request @@ -329,8 +329,6 @@ external-renderer-make-pytest: stage: test script: - make -j IVAS_rend - - make -j unittests - - make -j --directory scripts/td_object_renderer/object_renderer_standalone - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" @@ -386,28 +384,6 @@ external-renderer-cmake-msan-pytest: junit: - report-junit.xml -# test external renderer executable with cmake vs decoder renderer -# TODO @tmu @knj @sgi -> converted to script, decide whether to re-enable later -.external-renderer-cmake-vs-decoder-pytest: - extends: - - .test-job-linux - - .rules-merge-request - needs: ["build-codec-linux-cmake"] - stage: test - script: - - cmake -B cmake-build -G "Unix Makefiles" -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true -DDEC_TO_REND_FLOAT_DUMP=true - - cmake --build cmake-build -- -j - - python3 -m pytest -q --log-level ERROR -n 1 -rA --junit-xml=report-junit.xml tests/renderer/test_renderer_vs_decoder.py - artifacts: - name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--job-$CI_JOB_NAME--results" - when: always - paths: - - report-junit.xml - expose_as: "external renderer cmake vs decoder results" - reports: - junit: - - report-junit.xml - # compare external renderer bitexactness between target and source branch external-renderer-pytest-on-merge-request: extends: diff --git a/CMakeLists.txt b/CMakeLists.txt index 317274ddce..ef64721d2b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -108,10 +108,6 @@ if(WMOPS) add_definitions("-DWMOPS=1") endif() -if(DEC_TO_REND_FLOAT_DUMP) - add_compile_definitions(DEC_TO_REND_FLOAT_DUMP) -endif() - project(stereo-evs) set_property(GLOBAL PROPERTY USE_FOLDERS ON) # make Visual Studio projects look nicer include(CTest) @@ -156,14 +152,6 @@ file(GLOB libUtilSrcs "lib_util/*.c") file(GLOB libUtilHeaders "lib_util/*.h") add_library(lib_util ${libUtilSrcs} ${libUtilHeaders}) -file(GLOB unitTestCRendSrcs "scripts/ivas_pytests/tests/unit_tests/crend/*.c") -file(GLOB unitTestCRendHeaders "scripts/ivas_pytests/tests/unit_tests/crend/*.h") -add_executable(IVAS_crend_unit_test ${unitTestCRendSrcs} ${unitTestCRendHeaders}) -target_link_libraries(IVAS_crend_unit_test lib_rend lib_dec lib_util lib_com lib_debug) - -add_executable(renderer_standalone "scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c") -target_link_libraries(renderer_standalone lib_rend lib_dec lib_util lib_com lib_debug) - add_executable(IVAS_cod apps/encoder.c) target_link_libraries(IVAS_cod lib_enc lib_util) if(WIN32) @@ -184,6 +172,4 @@ if(COPY_EXECUTABLES_FROM_BUILD_DIR) add_custom_command(TARGET IVAS_cod POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:IVAS_cod>" "${CMAKE_CURRENT_SOURCE_DIR}/") add_custom_command(TARGET IVAS_dec POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:IVAS_dec>" "${CMAKE_CURRENT_SOURCE_DIR}/") add_custom_command(TARGET IVAS_rend POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:IVAS_rend>" "${CMAKE_CURRENT_SOURCE_DIR}/") - add_custom_command(TARGET IVAS_crend_unit_test POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:IVAS_crend_unit_test>" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/ivas_pytests/tests/unit_tests/crend/") - add_custom_command(TARGET renderer_standalone POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:renderer_standalone>" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/td_object_renderer/object_renderer_standalone/") endif() diff --git a/Makefile b/Makefile index 141a607b07..40508621af 100644 --- a/Makefile +++ b/Makefile @@ -11,15 +11,6 @@ SRC_APP = apps BUILD = build OBJDIR = obj -# Dirs for python unittests -UTESTS_SCRIPT_DIR = scripts/ivas_pytests -UTESTS_DIR = $(UTESTS_SCRIPT_DIR)/tests/unit_tests -UTESTS_CREND_DIR = $(UTESTS_DIR)/crend - -# Source paths for python unittests -SRC_UTESTS = $(UTESTS_CREND_DIR) - - SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LIBUTIL) $(SRC_APP) $(SRC_UTESTS)) # Name of CLI binaries @@ -33,8 +24,6 @@ LIB_LIBENC ?= libivasenc.a LIB_LIBREND ?= libivasrend.a LIB_LIBUTIL ?= libivasutil.a -CLI_UTESTS_CREND ?= IVAS_crend_unit_test - # Default tool settings CC ?= gcc RM ?= rm -f @@ -131,8 +120,6 @@ SRCS_LIBENC = $(foreach DIR,$(SRC_LIBENC),$(patsubst $(DIR)/%,%,$(wildcard $(D SRCS_LIBREND = $(foreach DIR,$(SRC_LIBREND),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) SRCS_LIBUTIL = $(foreach DIR,$(SRC_LIBUTIL),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_UTESTS_CREND = $(foreach DIR,$(UTESTS_CREND_DIR),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) - OBJS_LIBCOM = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.o)) OBJS_LIBDEBUG = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEBUG:.c=.o)) OBJS_LIBDEC = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEC:.c=.o)) @@ -143,11 +130,6 @@ OBJS_CLI_APIDEC = $(OBJDIR)/decoder.o OBJS_CLI_APIENC = $(OBJDIR)/encoder.o OBJS_CLI_APPREND = $(OBJDIR)/renderer.o -OBJS_CLI_UTESTS_CREND = $(addprefix $(OBJDIR)/,$(SRCS_UTESTS_CREND:.c=.o)) - -OBJS_UTESTS = $(OBJS_CLI_UTESTS_CREND) - - DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS_LIBDEC:.c=.P) \ $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P)) @@ -187,23 +169,14 @@ $(CLI_APIDEC): $(OBJS_CLI_APIDEC) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(L $(CLI_APIREND): $(OBJS_CLI_APPREND) $(LIB_LIBREND) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) $(LIB_LIBDEC) $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_APPREND) -L. -livasrend -livasdec -livasutil -livasdebug -livascom $(LDLIBS) -o $(CLI_APIREND) -$(CLI_UTESTS_CREND): $(OBJS_CLI_UTESTS_CREND) $(LIB_LIBDEC) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBDEBUG) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_CLI_UTESTS_CREND) -L. -livasdec -livascom -livasutil -livasdebug $(LDLIBS) -o $(UTESTS_CREND_DIR)/$(CLI_UTESTS_CREND) - -unittests: $(CLI_UTESTS_CREND) - libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBUTIL) -clean: clean_unittests +clean: $(QUIET)$(RM) $(OBJS_LIBENC) $(OBJS_LIBDEC) $(DEPS) $(QUIET)$(RM) $(DEPS:.P=.d) $(QUIET)test ! -d $(OBJDIR) || rm -rf $(OBJDIR) $(QUIET)$(RM) $(CLI_APIENC) $(CLI_APIDEC) $(CLI_APIREND) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) -clean_unittests: - $(QUIET)$(RM) $(OBJS_UTESTS) - $(QUIET)$(RM) $(UTESTS_CREND_DIR)/$(CLI_UTESTS_CREND) - $(OBJDIR)/%.o : %.c | $(OBJDIR) $(QUIET_CC)$(CC) $(CFLAGS) -c -MD -o $@ $< @cp $(OBJDIR)/$*.d $(OBJDIR)/$*.P; \ diff --git a/apps/renderer.c b/apps/renderer.c index 0d46dd05f4..edb1c67a1d 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -834,10 +834,6 @@ int main( fprintf( stderr, "Failed to open file: %s\n", args.outputFilePath ); exit( -1 ); } -#ifdef DEC_TO_REND_FLOAT_DUMP - printf( "Warning: Renderer executable built with DEC_TO_REND_FLOAT_DUMP enabled!\n" ); - printf( " Float dump file (./float_out.wav) will be forced as input.\n" ); -#endif inBufferSize = frameSize_smpls * totalNumInChannels; outBufferSize = frameSize_smpls * numOutChannels; @@ -888,20 +884,6 @@ int main( /* Convert from int to float and from interleaved to packed */ convertInputBuffer( inpInt16Buffer, numSamplesRead, frameSize_smpls, num_in_channels, inFloatBuffer ); -#ifdef DEC_TO_REND_FLOAT_DUMP - /* Overwrite from dump file */ - float tmp[960 * 16]; - dbgread( tmp, sizeof( float ), numSamplesRead, "./float_out.raw" ); - - /* Conversion from interleaved to packed still necessary */ - for ( int32_t i = 0; i < numSamplesRead / num_in_channels; ++i ) - { - for ( int32_t c = 0; c < num_in_channels; ++c ) - { - inFloatBuffer[c * frameSize_smpls + i] = tmp[i * num_in_channels + c]; - } - } -#endif #ifndef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index b8fbaa833f..3c941ccc77 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -144,16 +144,6 @@ uint32_t ivas_syn_output( } } -#ifdef DEC_TO_REND_FLOAT_DUMP - for ( i = 0; i < output_frame; ++i ) - { - for ( n = 0; n < n_channels; ++n ) - { - dbgwrite( &synth[n][i], sizeof( float ), 1, 1, "./float_out.raw" ); - } - } -#endif - return noClipping; } diff --git a/scripts/ivas_pytests/build_all.bat b/scripts/ivas_pytests/build_all.bat deleted file mode 100644 index 102a370b7f..0000000000 --- a/scripts/ivas_pytests/build_all.bat +++ /dev/null @@ -1,7 +0,0 @@ -cd .\scripts\ivas_pytests\tests\unit_tests\crend -call build.bat || exit /b 1 -cd ..\..\..\..\..\ - -cd .\Workspace_msvc -MSBuild.exe Workspace_msvc.sln /property:Configuration=Release /p:Platform="Win32" || exit /b 1 -cd ..\ diff --git a/scripts/ivas_pytests/build_all.sh b/scripts/ivas_pytests/build_all.sh deleted file mode 100755 index d0ee9cf858..0000000000 --- a/scripts/ivas_pytests/build_all.sh +++ /dev/null @@ -1,4 +0,0 @@ -#! /bin/bash - -make -f Makefile all || exit -make -f Makefile unittests || exit diff --git a/scripts/ivas_pytests/clean_all.bat b/scripts/ivas_pytests/clean_all.bat deleted file mode 100644 index 1f5c18f21d..0000000000 --- a/scripts/ivas_pytests/clean_all.bat +++ /dev/null @@ -1,7 +0,0 @@ -cd .\Workspace_msvc -MSBuild.exe Workspace_msvc.sln /t:Clean /p:configuration=Release || exit /b 1 -cd ..\ - -cd .\scripts\ivas_pytests\tests\unit_tests\crend -call clean.bat -cd ..\..\..\..\..\ diff --git a/scripts/ivas_pytests/clean_all.sh b/scripts/ivas_pytests/clean_all.sh deleted file mode 100755 index 1af6eb498f..0000000000 --- a/scripts/ivas_pytests/clean_all.sh +++ /dev/null @@ -1,3 +0,0 @@ -#! /bin/bash - -make -f Makefile clean diff --git a/scripts/ivas_pytests/disable_lib_com_optim.py b/scripts/ivas_pytests/disable_lib_com_optim.py deleted file mode 100755 index 6704b6d81a..0000000000 --- a/scripts/ivas_pytests/disable_lib_com_optim.py +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env python3 -""" -Disable optimization in vcxproj file for lib_com. -""" - -import fileinput -import sys -from pathlib import Path - -HERE = Path(__file__).parent.resolve() -LIB_COM_PROJECT_FILE = str(HERE.joinpath("../../Workspace_msvc/lib_com.vcxproj")) - - -def replace_config(file, search_text, replace_text): - for line in fileinput.input(file, inplace=1): - if search_text in line: - line = line.replace(search_text, replace_text) - sys.stdout.write(line) - - -TXT_OLD = "<Optimization>MaxSpeed</Optimization>" -TXT_NEW = "<Optimization>Disabled</Optimization>" -replace_config(LIB_COM_PROJECT_FILE, TXT_OLD, TXT_NEW) diff --git a/scripts/ivas_pytests/endofline.py b/scripts/ivas_pytests/endofline.py deleted file mode 100755 index c012e1e7ce..0000000000 --- a/scripts/ivas_pytests/endofline.py +++ /dev/null @@ -1,26 +0,0 @@ -import glob - -def add_newline(filename): - fixed = 0 - with open(filename, "r") as f: - lines = f.readlines() - f.close() - if lines: - last_char = lines[-1][-1] - if last_char != '\n': - fixed = 1 - print( filename+ ": Missing newline at end of file" ) - # append newline - f = open(filename, "a") - f.write("\n") - f.close() - return fixed - -#for name in glob.glob(join("./**/*.h", "./**/*.c"), recursive=True): -count = 0 -count_fixed = 0 -for name in glob.glob("./**/*.[h|c]", recursive=True): - count+=1 - count_fixed += add_newline(name) -print(count, "processed files") -print(count_fixed, "fixed files") \ No newline at end of file diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/build.bat b/scripts/ivas_pytests/tests/unit_tests/crend/build.bat deleted file mode 100644 index 2cf3a27265..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/build.bat +++ /dev/null @@ -1 +0,0 @@ -MSBuild.exe ivas_crend_unit_test.sln /property:Configuration=Release /p:Platform="Win32" \ No newline at end of file diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/clean.bat b/scripts/ivas_pytests/tests/unit_tests/crend/clean.bat deleted file mode 100644 index c535a2cc62..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/clean.bat +++ /dev/null @@ -1 +0,0 @@ -MSBuild.exe ivas_crend_unit_test.sln /t:Clean /p:configuration=Release /p:Platform="Win32" \ No newline at end of file diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h deleted file mode 100644 index bc719cd4a6..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h +++ /dev/null @@ -1,128 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ - -#ifndef IVAS_CREND_IO_PARSE_H -#define IVAS_CREND_IO_PARSE_H - -#include "ivas_cnst.h" -#include "audio_file_reader.h" -#include "audio_file_writer.h" -#include <stdio.h> - -#define IVAS_IN_FMT_510 "510" -#define IVAS_IN_FMT_710 "710" -#define IVAS_IN_FMT_512 "512" -#define IVAS_IN_FMT_514 "514" -#define IVAS_IN_FMT_714 "714" -#define IVAS_IN_FMT_FOA "HOA1S" - -#define IVAS_MAX_NUM_CH 16 - -#define IVAS_MAX_PATH_LEN ( 2000 ) - -typedef enum ivas_in_out_fmt_struct_t -{ - MONO_1, - STEREO_2, - BIN_2, - FOA_4, - MULT_CH_5_1, - MULT_CH_7_1, - MULT_CH_5_1_2, - MULT_CH_5_1_4, - MULT_CH_7_1_4, - HOA_9, - HOA_16, - OBA, -} ivas_in_out_fmt_t, - IVAS_IN_OUT_FMT_CONFIG; - -#define CREND_MAND_ARGS 6 -/* Tests */ - -typedef enum test_types -{ - CREND_BIN_TEST = 1, - FASTCONV_BIN_TEST, - PARAM_BIN_TEST, - TD_BIN_TEST, - CREND_ACOUSTIC_PROXIMITY, - CREND_TEST_NO_DIEGETIC, - CREND_NUM_TESTS -} test_types; - -typedef struct ivas_crend_sanity_test_inp_t -{ - int32_t inp_len; - int32_t data_ch_idx; -} ivas_crend_sanity_test_inp_t; - -typedef struct ivas_crend_io_params_t -{ - test_types test; - int32_t sample_rate; - ivas_in_out_fmt_t in_fmt; - ivas_in_out_fmt_t out_fmt; -#ifdef USE_PCM_OUT - FILE *fIn[IVAS_MAX_NUM_CH]; - FILE *fOut; - FILE *fRef; -#else - AudioFileReader *fIn[IVAS_MAX_NUM_CH]; - AudioFileWriter *fOut; - AudioFileReader *fRef; -#endif - FILE *fProx; - char ref_path[IVAS_MAX_PATH_LEN]; - char in_path[IVAS_MAX_PATH_LEN]; - char out_path[IVAS_MAX_PATH_LEN]; - char prox_path[IVAS_MAX_PATH_LEN]; - char csv_path[IVAS_MAX_PATH_LEN]; - float latency_s; - int32_t use_brir; - int32_t lfe_lp_enable; - int32_t limiter_enable; - ivas_crend_sanity_test_inp_t sanity_test; - float no_diegetic_pan; - float tol; - int32_t no_delay_cmp; - int16_t renderConfigEnabled; - char renderConfigFilename[IVAS_MAX_PATH_LEN]; - OTR_TRACKING_T orientation_tracking; -} ivas_crend_io_params_t; - -#endif /* IVAS_CREND_IO_PARSE_H */ diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h deleted file mode 100644 index 057cfba10a..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h +++ /dev/null @@ -1,85 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ - -#include "ivas_crend_io_parse.h" -#include "ivas_dec_parse_io.h" -#include "ivas_stat_dec.h" -#include "ivas_result_t.h" - -#ifndef IVAS_CREND_PUBLIC_H -#define IVAS_CREND_PUBLIC_H - -#define FAIL 0 -#define PASS 1 - -#define TC_GLFE 1.88364908948980f -#define TC_M3DB 0.707945784384138f -#define TC_M3DB_BY2 ( TC_M3DB * 0.5f ) -#define TC_M6DB 0.501187233627272f -#define TC_TOL 3.05175781250000e-05f -#define TC_GAIN 0.2f - -/* for smart mixing test */ -#define PROXIMITY_USER_ID ( 0 ) - -#define IVAS_CREND_TOT_BIN_SANITY_TESTS ( 10 ) -#define IVAS_CREND_FOA_Z_TO_CHAN_INP_LEN ( 48000 ) -#define IVAS_CREND_CHAN_TO_BIN_INP_LEN ( 1920 ) -#define IVAS_SOFA_THR_VAL ( 1e-15f ) - -AUDIO_CONFIG ivas_crend_map_out_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); -const char * ivas_crend_map_in_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); - -ivas_result_t ivas_crend_default_io_params( ivas_crend_io_params_t *pIO_params ); -ivas_result_t ivas_crend_parse_io_params( int argc, char **argv, ivas_crend_io_params_t *pIo_params ); - -void ivas_open_files_ingest( ivas_crend_io_params_t *pIo_params ); -void ivas_open_files_crend( ivas_crend_io_params_t *pIo_params ); - -int16_t ivas_get_num_channels( const int16_t ch_format ); - -ivas_result_t ivas_crend_copy_hrtf_data( HRTFS_DATA *hHrtf, HRTFS_DATA *pCrend_hrtfs ); - -int32_t ivas_wrapper_get_frame_len( int32_t sample_rate ); - -ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, float *mixer ); - -ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, int16_t *userLoc ); - -ivas_result_t ivas_wav_header_skip( FILE *in_file ); - -#endif /* IVAS_CREND_PUBLIC_H */ diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c deleted file mode 100644 index baa953bc7d..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c +++ /dev/null @@ -1,729 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/**************************************************************************** - * File description - - * This source file contains definitions specific to IVAS common renderer unit tests - ****************************************************************************/ - - -/*------------------------------------------------------------------------------------------* - * include header files - *------------------------------------------------------------------------------------------*/ -#include <assert.h> -#include <stdint.h> -#include <math.h> -#include "options.h" -#include "stdlib.h" -#include "string.h" -#include "ivas_crend_public.h" -#include "ivas_crend_unit_test.h" -#include "ivas_stat_dec.h" -#include "ivas_prox_mix.h" -#include "prot.h" -#include "ivas_prot.h" - -#if defined( __unix__ ) || defined( __unix ) || defined( __APPLE__ ) || defined( __CYGWIN__ ) -#define USE_DIRENT -#endif - -#ifdef USE_DIRENT -#include "dirent.h" -#endif - -#ifdef USE_PCM_OUT -#define FILES_CLOSE \ - if ( NULL != io_params.fIn ) \ - { \ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) \ - { \ - if ( NULL != io_params.fIn[i] ) \ - { \ - fclose( io_params.fIn[i] ); \ - io_params.fIn[i] = NULL; \ - } \ - } \ - } \ - if ( NULL != io_params.fRef ) \ - { \ - if ( NULL != io_params.fRef ) \ - { \ - fclose( io_params.fRef ); \ - io_params.fRef = NULL; \ - } \ - } \ - if ( io_params.fOut != NULL ) \ - { \ - fclose( io_params.fOut ); \ - } -#else -#define FILES_CLOSE \ - if ( NULL != io_params.fIn ) \ - { \ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) \ - { \ - if ( NULL != io_params.fIn[i] ) \ - { \ - AudioFileReader_close( &io_params.fIn[i] ); \ - io_params.fIn[i] = NULL; \ - } \ - } \ - } \ - if ( NULL != io_params.fRef ) \ - { \ - if ( NULL != io_params.fRef ) \ - { \ - AudioFileReader_close( &io_params.fRef ); \ - io_params.fRef = NULL; \ - } \ - } \ - if ( io_params.fOut != NULL ) \ - { \ - AudioFileWriter_close( &io_params.fOut ); \ - } -#endif -/* temp change : to silence the compilation error */ -int32_t frame = 0; /* Counter of frames */ -/*-----------------------------------------------------------------------------------------* - * Function description - - * Reverb test - * - * Inputs - - * ivas_crend_io_params_t io_params - * - * Outputs - - * - * This function is based on a copy of the ivas_crend_test_to_200 - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_crend_reverb_test( ivas_crend_io_params_t *pIo_params ) -{ - - char *test_case; - - if ( pIo_params->in_fmt == MULT_CH_5_1 ) - { - test_case = "CREND_510_TO_200"; - } - else - { - test_case = "CREND_710_TO_200"; - } - - /* Call CREND */ - ivas_common_mixer_renderer( pIo_params, NULL ); - - /* Compare */ - int16_t out, ref, test = PASS; - long long samples = 0; -#ifdef USE_PCM_OUT - fseek( pIo_params->fOut, 0, SEEK_SET ); - /* Compare */ - if ( pIo_params->fRef ) - { - fseek( pIo_params->fRef, 0, SEEK_SET ); - ivas_wav_header_skip( pIo_params->fRef ); - - uint32_t headerOffset = ftell( pIo_params->fRef ); - uint32_t sizeRef = 0; - uint32_t sizeOut = 0; - - fseek( pIo_params->fRef, 0, SEEK_END ); - sizeRef = ftell( pIo_params->fRef ) - headerOffset; - fseek( pIo_params->fRef, headerOffset, SEEK_SET ); - - fseek( pIo_params->fOut, 0, SEEK_END ); - sizeOut = ftell( pIo_params->fOut ); - fseek( pIo_params->fOut, 0, SEEK_SET ); - - /* Comparing the size of test output file with the size of reference file. */ - /* The data length should be identical, when the header size is taken into account. */ - if ( sizeRef != sizeOut ) - { - test = FAIL; - } - if ( test != FAIL ) - { - while ( ( fread( &out, sizeof( int16_t ), 1, pIo_params->fOut ) > 0 ) && ( fread( &ref, sizeof( int16_t ), 1, pIo_params->fRef ) > 0 ) ) - { - if ( fabs( (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ) - (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ) ) > pIo_params->tol ) - { - test = FAIL; - break; - } - samples++; - } - } - - if ( test == PASS ) - { - printf( "%s test PASSED\n\n", test_case ); - } - else - { - printf( "%s test FAILED\n\n", test_case ); - exit( -1 ); - } - } - else - { - printf( "%s test vector GENERATED\n\n", test_case ); - } -#else - AudioFileWriter_close( &pIo_params->fOut ); - AudioFileReader *fOut; - AudioFileReader_open( &fOut , pIo_params->out_path, &pIo_params->sample_rate); - int16_t numRead; - /* Compare */ - if ( pIo_params->fRef ) - { - AudioFileReader_close( &pIo_params->fRef ); - AudioFileReader *fRef; - AudioFileReader_open( &fRef, pIo_params->ref_path, &pIo_params->sample_rate ); - - if ( test != FAIL ) - { - while ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) && ( AudioFileReader_read( fRef, &ref, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) ) - { - if ( fabs( (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ) - (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ) ) > pIo_params->tol ) - { - test = FAIL; - break; - } - samples++; - } - } - - if ( test == PASS ) - { - printf( "%s test PASSED\n\n", test_case ); - } - else - { - printf( "%s test FAILED\n\n", test_case ); - exit( -1 ); - } - AudioFileReader_close( &fOut ); - AudioFileReader_close( &fRef ); - } - else - { - printf( "%s test vector GENERATED\n\n", test_case ); - } -#endif - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * common function call for ivas_crend_proximity_test which tests the proximity mixer - * - * Inputs - - * ivas_crend_io_params_t io_params - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_params ) -{ - int16_t *userLoc; - int32_t in_ch; -#ifdef USE_PCM_OUT - size_t num; -#else - int16_t num; -#endif - int16_t out = 0, test = PASS; - int16_t ref; - - float out_0f, acc_0f; - - uint8_t bitstream[MAX_BITSTREAM_LEN]; - - assert( pIo_params->in_fmt == OBA ); - assert( pIo_params->out_fmt == MONO_1 ); - - in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - - /* allocate up to in_ch users to userLoc array */ - userLoc = (int16_t *) calloc( in_ch, sizeof( int16_t ) ); - - /* load bitstream data */ - num = (int16_t)fread( bitstream, sizeof( uint8_t ), MAX_BITSTREAM_LEN, pIo_params->fProx ); - - /* using bitstream information fill in the location in the userLoc vector */ - get_users_locations( bitstream, num, userLoc ); - - /* call the object mixer-renderer */ - ivas_object_mixer_renderer( pIo_params, userLoc ); - - free( userLoc ); - -#ifdef USE_PCM_OUT - int32_t i; - for (i = 0; i < in_ch; i++) - { - fseek(pIo_params->fRef, 0, SEEK_SET); - ivas_wav_header_skip(pIo_params->fRef); - } -#endif -#ifdef USE_PCM_OUT - if ( pIo_params->fRef ) - { - fseek( pIo_params->fRef, 0, SEEK_SET ); - fseek( pIo_params->fOut, 0, SEEK_SET ); - if ( strstr( pIo_params->ref_path, ".wav" ) != NULL ) - { - ivas_wav_header_skip( pIo_params->fRef ); - } - while ( 1 ) - { - acc_0f = 0.0f; - /* read reference channel correspnding to the given user in USER_ID */ - if ( fread( &ref, sizeof( int16_t ), 1, pIo_params->fRef ) <= 0 ) - { - printf( "Ref file finished\n" ); - goto DONE; - } - acc_0f = (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - /* compare to output from object mixer-renderer call above */ - if ( fread( &out, sizeof( int16_t ), 1, pIo_params->fOut ) <= 0 ) - { - printf( "Output file finished\n" ); - goto DONE; - } - out_0f = (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - /* check if much different.. */ - if ( fabs( out_0f - acc_0f ) > TC_TOL ) - { - test = FAIL; - } - } - } -#else - if ( pIo_params->fRef ) - { - int16_t numRead; - AudioFileReader_close( &pIo_params->fRef ); - AudioFileWriter_close( &pIo_params->fOut ); - AudioFileReader *fRef, *fOut; - AudioFileReader_open( &fOut, pIo_params->out_path, &pIo_params->sample_rate ); - AudioFileReader_open( &fRef, pIo_params->ref_path, &pIo_params->sample_rate ); - while ( 1 ) - { - acc_0f = 0.0f; - /* read reference channel correspnding to the given user in USER_ID */ - if ( (AudioFileReader_read( fRef , &ref, 1, &numRead ) != IVAS_ERR_OK) || (numRead == 0) ) - { - printf( "Ref file finished\n" ); - goto DONE; - } - acc_0f = (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - /* compare to output from object mixer-renderer call above */ - if ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) - { - printf( "Output file finished\n" ); - goto DONE; - } - out_0f = (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - /* check if much different.. */ - if ( fabs( out_0f - acc_0f ) > TC_TOL ) - { - test = FAIL; - } - } - AudioFileReader_close( &fOut ); - AudioFileReader_close( &fRef ); - } - - - -#endif -DONE: - if ( test == PASS ) - { - printf( "%s PASSED\n\n", "CREND_PROXIMITY" ); - } - else - { - printf( "%s FAILED\n\n", "CREND_PROXIMITY" ); - exit( -1 ); - } - if ( pIo_params->fProx ) - { - fclose( pIo_params->fProx ); - } - return IVAS_SUCCESS; -} -/*-----------------------------------------------------------------------------------------* - * Function description - - * function call for ivas_crend_binaural_test - * - * Inputs - - * ivas_crend_io_params_t io_params - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_params ) -{ - float *mixer = NULL; - char *test_case; - int16_t out = 0, ref = 0, test = PASS; - int32_t skip_samples = 0; - - if ( pIo_params->in_fmt == MULT_CH_5_1 ) - { - test_case = "CREND_510_TO_BIN"; - } - else if ( pIo_params->in_fmt == MULT_CH_7_1 ) - { - test_case = "CREND_710_TO_BIN"; - } - else if ( pIo_params->in_fmt == MULT_CH_5_1_2 ) - { - test_case = "CREND_512_TO_BIN"; - } - else if ( pIo_params->in_fmt == MULT_CH_5_1_4 ) - { - test_case = "CREND_514_TO_BIN"; - } - else if ( pIo_params->in_fmt == MULT_CH_7_1_4 ) - { - test_case = "CREND_714_TO_BIN"; - } - else if ( pIo_params->in_fmt == FOA_4 ) - { - test_case = "CREND_FOA_TO_BIN"; - } - else if ( pIo_params->in_fmt == HOA_9 ) - { - test_case = "CREND_HOA_9_TO_BIN"; - } - else if ( pIo_params->in_fmt == HOA_16 ) - { - test_case = "CREND_HOA_16_TO_BIN"; - } - else - { - test_case = ""; - } - /* Call CREND */ - ivas_common_mixer_renderer( pIo_params, mixer ); - -#ifdef USE_PCM_OUT - int32_t skip_bytes = 0; - /* Compare */ - if ( pIo_params->fRef ) - { - ivas_wav_header_skip( pIo_params->fRef ); - skip_samples = (int32_t)( pIo_params->latency_s * pIo_params->sample_rate ); - if ( pIo_params->no_delay_cmp == 0 ) - { - skip_bytes = skip_samples * ivas_get_num_channels( BIN_2 ) * sizeof( int16_t ); - } - /* skip intial samples based on latency */ - fseek( pIo_params->fOut, skip_bytes, SEEK_SET ); - int16_t tail = 0; - int32_t tail_zeros = 0; - while ( ( fread( &out, sizeof( int16_t ), 1, pIo_params->fOut ) > 0 ) && ( fread( &ref, sizeof( int16_t ), 1, pIo_params->fRef ) > 0 ) ) - { - if ( fabs( (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ) - (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ) ) > pIo_params->tol ) - { - tail = 1; - } - if ( tail == 1 ) - { - tail_zeros++; - if ( tail_zeros > skip_samples * ivas_get_num_channels( BIN_2 ) ) - { - test = FAIL; - } - if ( out != 0 ) - { - test = FAIL; - } - } - } - - if ( test == PASS ) - { - printf( "%s TEST PASSED\n\n", test_case ); - } - else - { - printf( "%s TEST FAILED\n\n", test_case ); - exit( -1 ); - } - } - else - { - printf( "%s TEST VECTOR GENERATED\n\n", test_case ); - } -#else - /* Compare */ - if ( pIo_params->fRef ) - { - int16_t numRead; - AudioFileReader_close( &pIo_params->fRef ); - AudioFileWriter_close( &pIo_params->fOut ); - AudioFileReader *fRef, *fOut; - AudioFileReader_open( &fOut, pIo_params->out_path, &pIo_params->sample_rate ); - AudioFileReader_open( &fRef, pIo_params->ref_path, &pIo_params->sample_rate ); - - skip_samples = (int32_t) ( pIo_params->latency_s * pIo_params->sample_rate ); - /* skip intial samples based on latency */ - int16_t tail = 0; - int32_t tail_zeros = 0; - - while ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) && ( AudioFileReader_read( fRef, &ref, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) ) - { - if ( fabs( (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ) - (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ) ) > pIo_params->tol ) - { - tail = 1; - } - if ( tail == 1 ) - { - tail_zeros++; - if ( tail_zeros > skip_samples * ivas_get_num_channels( BIN_2 ) ) - { - test = FAIL; - } - if ( out != 0 ) - { - test = FAIL; - } - } - } - - if ( test == PASS ) - { - printf( "%s TEST PASSED\n\n", test_case ); - } - else - { - printf( "%s TEST FAILED\n\n", test_case ); - exit( -1 ); - } - AudioFileReader_close( &fOut ); - AudioFileReader_close( &fRef ); - } - else - { - printf( "%s TEST VECTOR GENERATED\n\n", test_case ); - } -#endif - - return IVAS_SUCCESS; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * common function call for ivas_crend_HOA_to_200_test - * - * Inputs - - * ivas_crend_io_params_t io_params - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_params ) -{ - char *test_case = "CREND_NO_DIEGETIC"; - int16_t out = 0, test = PASS; - int16_t ref; - float out_f, ref_f; - float no_diegetic_pan; - float mixer[2]; - - if ( pIo_params->in_fmt > MONO_1 ) - return IVAS_FAILED; - if ( pIo_params->out_fmt != STEREO_2 ) - return IVAS_FAILED; - - no_diegetic_pan = pIo_params->no_diegetic_pan; - if ( no_diegetic_pan > 1 ) - no_diegetic_pan = 1; - if ( no_diegetic_pan < -1 ) - no_diegetic_pan = -1; - - mixer[0] = ( no_diegetic_pan + 1.f ) * 0.5f; - mixer[1] = 1.f - mixer[0]; - - /* Call CREND */ - ivas_common_mixer_renderer( pIo_params, mixer ); - - if ( pIo_params->fRef == NULL ) - { - printf( "%s test vector GENERATED\n\n", test_case ); - return IVAS_SUCCESS; - } - -#ifdef USE_PCM_OUT - int32_t in_ch,i; - in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - - /* Compare */ - - for ( i = 0; i < in_ch; i++ ) - { - fseek( pIo_params->fRef, 0, SEEK_SET ); - ivas_wav_header_skip( pIo_params->fRef ); - } - - fseek( pIo_params->fOut, 0, SEEK_SET ); - - if ( pIo_params->fRef ) - { - while ( 1 ) - { - - if ( fread( &ref, sizeof( int16_t ), 1, pIo_params->fRef ) <= 0 ) - goto DONE; - ref_f = (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - if ( fread( &out, sizeof( int16_t ), 1, pIo_params->fOut ) <= 0 ) - goto DONE; - out_f = (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - if ( fabs( out_f - ref_f ) > TC_TOL ) - test = FAIL; - } - } -#else - /* Compare */ - - int16_t numRead; - AudioFileReader_close( &pIo_params->fRef ); - AudioFileWriter_close( &pIo_params->fOut ); - AudioFileReader *fRef, *fOut; - AudioFileReader_open( &fOut, pIo_params->out_path, &pIo_params->sample_rate ); - AudioFileReader_open( &fRef, pIo_params->ref_path, &pIo_params->sample_rate ); - - if ( fRef ) - { - while ( 1 ) - { - if ( ( AudioFileReader_read( fRef, &ref, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) - goto DONE; - ref_f = (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - if (( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || (numRead == 0) ) - goto DONE; - out_f = (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ); - - if ( fabs( out_f - ref_f ) > TC_TOL ) - test = FAIL; - } - } - AudioFileReader_close( &fOut ); - AudioFileReader_close( &fRef ); -#endif -DONE: - - if ( test == PASS ) - { - printf( "%s PASSED\n\n", test_case ); - } - else - { - printf( "%s FAILED\n\n", test_case ); - exit( -1 ); - } - - return IVAS_SUCCESS; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * main process call - * - * Inputs - - * int argc - * char** argv - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -int main( int argc, char **argv ) -{ - ivas_crend_io_params_t io_params = { 0 }; - int32_t i; - - ivas_crend_default_io_params( &io_params ); - ivas_crend_parse_io_params( argc, argv, &io_params ); - - if ( io_params.in_path[0] != '\0' ) - { - if ( - io_params.test == CREND_ACOUSTIC_PROXIMITY || - io_params.test == CREND_BIN_TEST || - io_params.test == FASTCONV_BIN_TEST || - io_params.test == PARAM_BIN_TEST || - io_params.test == TD_BIN_TEST || - io_params.test == CREND_TEST_NO_DIEGETIC ) - { - ivas_open_files_crend( &io_params ); - } - } - switch ( io_params.test ) - { - case CREND_ACOUSTIC_PROXIMITY: - ivas_crend_proximity_test( &io_params ); - break; - case CREND_BIN_TEST: - case FASTCONV_BIN_TEST: - case PARAM_BIN_TEST: - case TD_BIN_TEST: - ivas_crend_binaural_test( &io_params ); - break; - case CREND_TEST_NO_DIEGETIC: - ivas_crend_no_diegetic_test( &io_params ); - break; - default: - ivas_common_mixer_renderer( &io_params, NULL ); - break; - } - - FILES_CLOSE; - -#ifdef RAM_COUNTING_TOOL - mem_count_summary( USE_DEFAULT ); -#endif - - return 0; -} diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h deleted file mode 100644 index c26134aba1..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ - -#ifndef IVAS_CREND_UNIT_TEST_H -#define IVAS_CREND_UNIT_TEST_H - -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include <stdint.h> -#include "ivas_stat_dec.h" -#include "ivas_result_t.h" - - -/* Tables */ - -extern float ivas_mixer_510_to_510_tc_gain[]; -extern float ivas_mixer_710_to_710_tc_gain[]; -extern float ivas_mixer_510_LFE_to_BIN_tc_gain[]; -extern float ivas_mixer_710_LFE_to_BIN_tc_gain[]; - - -#endif /* IVAS_CREND_UNIT_TEST_H */ diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.sln b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.sln deleted file mode 100644 index 549ec51076..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.sln +++ /dev/null @@ -1,68 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.1500 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ivas_crend_unit_test", "ivas_crend_unit_test.vcxproj", "{32354377-ACA7-40F9-9A0E-87FC956F0B78}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_com", "..\..\..\..\..\Workspace_msvc\lib_com.vcxproj", "{39EC200D-7795-4FF8-B214-B24EDA5526AE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_dec", "..\..\..\..\..\Workspace_msvc\lib_dec.vcxproj", "{E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_debug", "..\..\..\..\..\Workspace_msvc\lib_debug.vcxproj", "{54509728-928B-44D9-A118-A6F92F08B34F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_util", "..\..\..\..\..\Workspace_msvc\lib_util.vcxproj", "{2FA8F384-0775-F3B7-F8C3-85209222FC70}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_rend", "..\..\..\..\..\Workspace_msvc\lib_rend.vcxproj", "{718DE063-A18B-BB72-9150-62B892E6FFA6}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - Unittests|Win32 = Unittests|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {32354377-ACA7-40F9-9A0E-87FC956F0B78}.Debug|Win32.ActiveCfg = Debug|Win32 - {32354377-ACA7-40F9-9A0E-87FC956F0B78}.Debug|Win32.Build.0 = Debug|Win32 - {32354377-ACA7-40F9-9A0E-87FC956F0B78}.Release|Win32.ActiveCfg = Release|Win32 - {32354377-ACA7-40F9-9A0E-87FC956F0B78}.Release|Win32.Build.0 = Release|Win32 - {32354377-ACA7-40F9-9A0E-87FC956F0B78}.Unittests|Win32.ActiveCfg = Release|Win32 - {32354377-ACA7-40F9-9A0E-87FC956F0B78}.Unittests|Win32.Build.0 = Release|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Debug|Win32.Build.0 = Debug|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Release|Win32.ActiveCfg = Release|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Release|Win32.Build.0 = Release|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Unittests|Win32.Build.0 = Unittests|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Debug|Win32.ActiveCfg = Debug|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Debug|Win32.Build.0 = Debug|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Release|Win32.ActiveCfg = Release|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Release|Win32.Build.0 = Release|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Unittests|Win32.Build.0 = Unittests|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Debug|Win32.ActiveCfg = Debug|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Debug|Win32.Build.0 = Debug|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Release|Win32.ActiveCfg = Release|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Release|Win32.Build.0 = Release|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Unittests|Win32.Build.0 = Unittests|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Debug|Win32.ActiveCfg = Debug|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Debug|Win32.Build.0 = Debug|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Release|Win32.ActiveCfg = Release|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Release|Win32.Build.0 = Release|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Unittests|Win32.Build.0 = Unittests|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Debug|Win32.ActiveCfg = Debug|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Debug|Win32.Build.0 = Debug|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Release|Win32.ActiveCfg = Release|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Release|Win32.Build.0 = Release|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Unittests|Win32.Build.0 = Unittests|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {47313E68-F2E1-4EB5-81D6-46E2327E12EB} - EndGlobalSection -EndGlobal diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.vcxproj b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.vcxproj deleted file mode 100644 index 2b0527648d..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.vcxproj +++ /dev/null @@ -1,195 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\..\..\..\..\Workspace_msvc\lib_com.vcxproj"> - <Project>{39ec200d-7795-4ff8-b214-b24eda5526ae}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\..\..\Workspace_msvc\lib_dec.vcxproj"> - <Project>{e822ddaf-0f5f-4cd0-a694-38ae69de74d3}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\..\..\Workspace_msvc\lib_rend.vcxproj"> - <Project>{718DE063-A18B-BB72-9150-62B892E6FFA6}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\..\..\Workspace_msvc\lib_util.vcxproj"> - <Project>{2fa8f384-0775-f3b7-f8c3-85209222fc70}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\..\..\Workspace_msvc\lib_debug.vcxproj"> - <Project>{5821967e-dd91-4b90-9b06-3b2cd896be57}</Project> - </ProjectReference> - </ItemGroup> - <ItemGroup> - <ClCompile Include="ivas_crend_unit_test.c" /> - <ClCompile Include="ivas_crend_utest_utils.c" /> - <ClCompile Include="ivas_prox_mix.c" /> - </ItemGroup> - <ItemGroup> - <ClInclude Include="ivas_crend_io_parse.h" /> - <ClInclude Include="ivas_crend_public.h" /> - <ClInclude Include="ivas_dec_parse_io.h" /> - <ClInclude Include="ivas_prox_mix.h" /> - </ItemGroup> - <PropertyGroup Label="Globals"> - <ProjectGuid>{32354377-ACA7-40F9-9A0E-87FC956F0B78}</ProjectGuid> - <RootNamespace>evs_enc</RootNamespace> - <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseOfMfc>false</UseOfMfc> - <CharacterSet>MultiByte</CharacterSet> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseOfMfc>false</UseOfMfc> - <CharacterSet>MultiByte</CharacterSet> - <PlatformToolset>v141</PlatformToolset> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - </ImportGroup> - <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC71.props" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup> - <_ProjectFileVersion>15.0.26228.10</_ProjectFileVersion> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <OutDir>.\</OutDir> - <IntDir>.\Release_crend_unit_test\</IntDir> - <LinkIncremental>false</LinkIncremental> - <GenerateManifest>false</GenerateManifest> - <TargetName>IVAS_crend_unit_test</TargetName> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <OutDir>.\</OutDir> - <IntDir>.\Debug_crend_unit_test\</IntDir> - <LinkIncremental>false</LinkIncremental> - <GenerateManifest>false</GenerateManifest> - <TargetName>IVAS_crend_unit_test</TargetName> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <CustomBuildStep> - <Message /> - </CustomBuildStep> - <Midl> - <TypeLibraryName>.\Release/vbr_enc.tlb</TypeLibraryName> - <HeaderFileName /> - </Midl> - <ClCompile> - <Optimization>MaxSpeed</Optimization> - <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion> - <IntrinsicFunctions>false</IntrinsicFunctions> - <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> - <OmitFramePointers>false</OmitFramePointers> - <EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations> - <AdditionalIncludeDirectories>..\..\..\..\..\lib_util;..\..\..\..\..\lib_dec;..\..\..\..\..\lib_rend;..\..\..\..\..\lib_com;..\..\..\..\..\lib_enc;..\..\..\..\..\lib_debug;..\..\..\..\..\lib_util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>UNIT_TEST_CREND_TD_BINAURAL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <StringPooling>true</StringPooling> - <ExceptionHandling /> - <BasicRuntimeChecks>Default</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <FunctionLevelLinking>true</FunctionLevelLinking> - <FloatingPointModel>Precise</FloatingPointModel> - <RuntimeTypeInfo>false</RuntimeTypeInfo> - <PrecompiledHeader /> - <PrecompiledHeaderOutputFile /> - <ProgramDataBaseFileName>$(IntDir)ens_enc.pdb</ProgramDataBaseFileName> - <WarningLevel>Level4</WarningLevel> - <SuppressStartupBanner>true</SuppressStartupBanner> - <DebugInformationFormat /> - <CompileAs>Default</CompileAs> - <DisableSpecificWarnings>4100;4244;4310;%(DisableSpecificWarnings)</DisableSpecificWarnings> - <TreatWarningAsError>true</TreatWarningAsError> - </ClCompile> - <ResourceCompile> - <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <Culture>0x0c0c</Culture> - </ResourceCompile> - <Link> - <OutputFile>IVAS_crend_unit_test.exe</OutputFile> - <SuppressStartupBanner>true</SuppressStartupBanner> - <ManifestFile /> - <GenerateDebugInformation>false</GenerateDebugInformation> - <ProgramDatabaseFile>.\Release_crend_unit_test/ivas_crend_unit_test.pdb</ProgramDatabaseFile> - <SubSystem>Console</SubSystem> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention /> - <TargetMachine>MachineX86</TargetMachine> - <IgnoreSpecificDefaultLibraries>libcmtd.lib</IgnoreSpecificDefaultLibraries> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <CustomBuildStep> - <Message /> - </CustomBuildStep> - <Midl> - <TypeLibraryName>.\Debug/vbr_enc.tlb</TypeLibraryName> - <HeaderFileName /> - </Midl> - <ClCompile> - <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\..\..\..\..\lib_util;..\..\..\..\..\lib_dec;..\..\..\..\..\lib_rend;..\..\..\..\..\lib_com;..\..\..\..\..\lib_enc;..\..\..\..\..\lib_debug;..\..\..\..\..\lib_util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <ExceptionHandling /> - <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <RuntimeTypeInfo>false</RuntimeTypeInfo> - <PrecompiledHeader>NotUsing</PrecompiledHeader> - <PrecompiledHeaderOutputFile /> - <ProgramDataBaseFileName>$(IntDir)ivas_quant_dequant_test.pdb</ProgramDataBaseFileName> - <WarningLevel>Level4</WarningLevel> - <SuppressStartupBanner>true</SuppressStartupBanner> - <DebugInformationFormat>OldStyle</DebugInformationFormat> - <CompileAs>Default</CompileAs> - <DisableSpecificWarnings>4100;4244;4310;%(DisableSpecificWarnings)</DisableSpecificWarnings> - <TreatWarningAsError>true</TreatWarningAsError> - </ClCompile> - <ResourceCompile> - <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions> - <Culture>0x0c0c</Culture> - </ResourceCompile> - <Link> - <AdditionalDependencies /> - <OutputFile>IVAS_crend_unit_test.exe</OutputFile> - <SuppressStartupBanner>true</SuppressStartupBanner> - <ManifestFile /> - <IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries> - <GenerateDebugInformation>true</GenerateDebugInformation> - <ProgramDatabaseFile>.\Debug_crend_unit_test/ivas_crend_unit_test.pdb</ProgramDatabaseFile> - <SubSystem>Console</SubSystem> - <OptimizeReferences /> - <RandomizedBaseAddress>false</RandomizedBaseAddress> - <DataExecutionPrevention /> - <TargetMachine>MachineX86</TargetMachine> - </Link> - <PostBuildEvent> - <Command /> - </PostBuildEvent> - </ItemDefinitionGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> - <ProjectExtensions> - <VisualStudio> - <UserProperties DevPartner_IsInstrumented="0" /> - </VisualStudio> - </ProjectExtensions> -</Project> \ No newline at end of file diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c deleted file mode 100644 index be5e483927..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ /dev/null @@ -1,1800 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/**************************************************************************** - * File description - - * This source file contains utility definitions specific to IVAS common renderer unit tests - ****************************************************************************/ - - -/*------------------------------------------------------------------------------------------* - * include header files - *------------------------------------------------------------------------------------------*/ - -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include <stdint.h> -#include <math.h> -#include "options.h" -#include "ivas_dec_parse_io.h" -#include "ivas_crend_public.h" -#include "ivas_stat_dec.h" -#include "ivas_prox_mix.h" -#include "prot.h" -#include "ivas_prot.h" -#include "cmdl_tools.h" -#include "ivas_stat_dec.h" -#include "ivas_cnst.h" -#include "assert.h" -#include "ivas_rom_binaural_crend_head.h" -#include "ivas_rom_binauralRenderer.h" -#include "ivas_rom_com.h" -#include "head_rotation_file_reader.h" -#include "options.h" -#include "render_config_reader.h" - - -static ivas_result_t ivas_dec_default_io_params( ivas_dec_io_params_t *pIO_params ) -{ - memset( pIO_params, 0, sizeof( ivas_dec_io_params_t ) ); - pIO_params->quiet_mode = IVAS_DEFAULT_QUIET_MODE; - pIO_params->no_delay_cmp = IVAS_DEFAULT_NO_DELAY_COMP_MODE; - pIO_params->bs_format = IVAS_DEFAULT_BS_FORMAT; - pIO_params->out_fmt = IVAS_DEFAULT_FMT; - pIO_params->in_fmt = IVAS_DEFAULT_FMT; - pIO_params->lfe_ch_idx = IVAS_DEFAULT_LFE_CH_IDX; - pIO_params->block_offset_ms = IVAS_EXT_ADD_DELAY_MS; - pIO_params->no_diegetic_pan = 0; - pIO_params->orientation_tracking = OTR_TRACKING_NONE; - - return IVAS_SUCCESS; -} - -/*------------------------------------------------------------------------- - * ivas_hrtf_init() - * - * Initialize hHrtf handle - *------------------------------------------------------------------------*/ - -static ivas_error ivas_hrtf_init( - HRTFS_DATA *hHrtf /* i/o: HRTF handle */ -) -{ - int16_t i, j; - - if ( hHrtf == NULL ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - hHrtf->latency_s = 0; - hHrtf->max_num_ir = 0; - hHrtf->max_num_iterations = 0; - hHrtf->gain_lfe = 0; - hHrtf->index_frequency_max_diffuse = 0; - - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) - { - hHrtf->inv_diffuse_weight[i] = 0; - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->num_iterations[i][j] = 0; - hHrtf->pIndex_frequency_max[i][j] = NULL; - hHrtf->pOut_to_bin_re[i][j] = NULL; - hHrtf->pOut_to_bin_im[i][j] = NULL; - } - } - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->num_iterations_diffuse[j] = 0; - hHrtf->pIndex_frequency_max_diffuse[j] = NULL; - hHrtf->pOut_to_bin_diffuse_re[j] = NULL; - hHrtf->pOut_to_bin_diffuse_im[j] = NULL; - } - - return IVAS_ERR_OK; -} - -AUDIO_CONFIG ivas_crend_map_out_fmt( - IVAS_IN_OUT_FMT_CONFIG fmt ) -{ - switch ( fmt ) - { - case MONO_1: - return AUDIO_CONFIG_MONO; - case STEREO_2: - return AUDIO_CONFIG_STEREO; - case BIN_2: - return AUDIO_CONFIG_BINAURAL; - case FOA_4: - return AUDIO_CONFIG_FOA; - case HOA_9: - return AUDIO_CONFIG_HOA2; - case HOA_16: - return AUDIO_CONFIG_HOA3; - case MULT_CH_5_1: - return AUDIO_CONFIG_5_1; - case MULT_CH_7_1: - return AUDIO_CONFIG_7_1; - case MULT_CH_5_1_2: - return AUDIO_CONFIG_5_1_2; - case MULT_CH_5_1_4: - return AUDIO_CONFIG_5_1_4; - case MULT_CH_7_1_4: - return AUDIO_CONFIG_7_1_4; - default: - return -1; - } -} - -const char *ivas_crend_map_in_fmt( - IVAS_IN_OUT_FMT_CONFIG fmt ) -{ - switch ( fmt ) - { - case MONO_1: - case STEREO_2: - case MULT_CH_5_1: - case MULT_CH_7_1: - case MULT_CH_5_1_2: - case MULT_CH_5_1_4: - case MULT_CH_7_1_4: - return IVAS_IN_FMT_COMBINED; - case FOA_4: - case HOA_9: - case HOA_16: - return IVAS_IN_FMT_HOA_3; - default: - return ""; - } -} - - -int16_t ivas_get_num_channels( - const int16_t ch_format ) -{ - int16_t num_channels = 0; - - switch ( ch_format ) - { - case MONO_1: - num_channels = 1; - break; - case BIN_2: - case STEREO_2: - num_channels = 2; - break; - case FOA_4: - num_channels = FOA_CHANNELS; - break; - case MULT_CH_5_1: - num_channels = 6; - break; - case MULT_CH_7_1: - num_channels = 8; - break; - case HOA_9: - num_channels = 9; - break; - case HOA_16: - num_channels = 16; - break; - case OBA: - num_channels = 8; - break; - case MULT_CH_5_1_2: - num_channels = 8; - break; - case MULT_CH_5_1_4: - num_channels = 10; - break; - case MULT_CH_7_1_4: - num_channels = 12; - break; - default: - assert( !"Not supported Input format for Common Renderer!" ); - break; - } - - return num_channels; -} - -static ivas_result_t ivas_crend_mixer( - float ppPcm_in[][L_FRAME48k], - float ppPcm_out[][L_FRAME48k], - int32_t in_ch, - int32_t out_ch, - const float *pMixer_gain, - const int16_t frame_len ) -{ - int16_t i, j, k, offset; - - for ( i = 0; i < out_ch; i++ ) - { - offset = i * in_ch; - - for ( j = 0; j < frame_len; j++ ) - { - float temp = 0; - const float *pMixer = &pMixer_gain[offset]; - - for ( k = 0; k < in_ch; k++ ) - { - temp += ( ppPcm_in[k][j] * pMixer[k] ); - } - ppPcm_out[i][j] = temp; - } - } - - return IVAS_SUCCESS; -} - -/* prototypes */ -static void ivas_copy_io_params_to_dec_io_params( ivas_crend_io_params_t *pIo_params, ivas_dec_io_params_t *pDec_io_params ); -ivas_result_t ivas_crend_copy_latencies_to_io_params( ivas_crend_io_params_t *pIo_params, HRTFS_DATA *pCrend_hrtfs ); - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Unit test usage details - * - * Inputs - - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -static void ivas_crend_unit_test_usage( void ) -{ - fprintf( stdout, "Usage: ivas_crend_unit_test.exe -test <Test> -sr <Input_FS> -ifmt <Input Format> -ofmt <Outout Format> [options]\n\n" ); - - fprintf( stdout, "Mandatory arguments:\n" ); - fprintf( stdout, "--------------------\n" ); - fprintf( stdout, "-test <Test> : Test case for binaural renderer to run (crend = 1, fastconv = 2, param = 3, td = 4)\n" ); - fprintf( stdout, "-sr <Input_FS> : Sampling rate in kHz\n" ); - fprintf( stdout, "\nOptional arguments:\n" ); - fprintf( stdout, "---------------------\n" ); - fprintf( stdout, "-ifmt <Input_Format> : Input format index\n" ); - fprintf( stdout, " (0 - MONO, 1 - STEREO, 2 - BINAURAL, 3 - FOA, 4 - 5.1, 5 - 7.1, 6 - 5.1.2, 7 - 5.1.4, 8 - 7.1.4, 9 - HOA2, 10 - HOA3)\n" ); - fprintf( stdout, "-ofmt <Output_Format> : Output format index\n" ); - fprintf( stdout, " (0 - MONO, 1 - STEREO, 2 - BINAURAL, 3 - FOA, 4 - 5.1, 5 - 7.1, 6 - 5.1.2, 7 - 5.1.4, 8 - 7.1.4, 9 - HOA2, 10 - HOA3)\n" ); - fprintf( stdout, "-i <Input_Path/File> : Input path/file\n" ); - fprintf( stdout, "-o <Output_File> : Output file\n" ); - fprintf( stdout, "-r <Reference_Path/File> : Reference path/file\n" ); - fprintf( stdout, "-otr : orientation tracker mode\n" ); - fprintf( stdout, "-t <CSV_Path> : CSV files path\n" ); - fprintf( stdout, "-prox <prox_Path> : prox files path\n" ); - fprintf( stdout, "-zero_tol : ability to force some tests to check for bitexactness\n" ); - fprintf( stdout, "-limiter : add limiter\n" ); - fprintf( stdout, "-lp_lfe : add low pass filtering on LFE channel\n" ); - fprintf( stdout, "-no_delay_cmp : avoid delay conpensation on output wav file\n" ); - fprintf( stdout, "-brir : use default brir if available for de specified binaural renderer\n" ); - fprintf( stdout, "-render_config file : Renderer configuration file\n" ); - fprintf( stdout, "-no_diegetic_pan : panning mono no dietic sound to stereo -1<= pan <=1,\n" ); - fprintf( stdout, " left or l or 1->left, right or r or -1->right, center or c or 0->middle\n" ); - - fprintf( stdout, "\n" ); - - exit( -1 ); -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Set default IO parameters to 0 - * - * Inputs - - * ivas_crend_io_params_t *pIO_params - * - * Outputs - - * ivas_crend_io_params_t *pIO_params - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_default_io_params( ivas_crend_io_params_t *pIO_params ) -{ - memset( pIO_params, 0, sizeof( ivas_crend_io_params_t ) ); - pIO_params->tol = TC_TOL; - pIO_params->orientation_tracking = OTR_TRACKING_NONE; - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Get frame length - * - * Inputs - - * int32_t sample_rate - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -int32_t ivas_wrapper_get_frame_len( int32_t sample_rate ) -{ - return ( (int32_t) ( sample_rate / FRAMES_PER_SEC ) ); -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Set config parameters - * - * Inputs - - * ivas_crend_io_params_t *p_io_params - * ivas_crend_hrtfs_t *pCrend_hrtfs - * - * Outputs - - * ivas_dec_cfg_t *pDec_cfg - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_crend_set_config_params( - DECODER_CONFIG_HANDLE hDecoderConfig, - ivas_dec_io_params_t *p_io_params, - int16_t *in_format, - int16_t *lfe_ch_idx ) -{ - *in_format = p_io_params->in_fmt; - hDecoderConfig->output_config = ivas_crend_map_out_fmt( p_io_params->out_fmt ); - - *lfe_ch_idx = p_io_params->lfe_ch_idx; - - hDecoderConfig->nchan_out = audioCfg2channels( hDecoderConfig->output_config ); - - hDecoderConfig->output_Fs = p_io_params->out_sample_rate; - hDecoderConfig->no_diegetic_pan = p_io_params->no_diegetic_pan; - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Copy latencies to io_params - * - * Inputs - - * ivas_crend_hrtfs_t *pCrend_hrtfs - * - * Outputs - - * ivas_dec_cfg_t *pDec_cfg - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_copy_latencies_to_io_params( ivas_crend_io_params_t *pIo_params, HRTFS_DATA *pCrend_hrtfs ) -{ - - pIo_params->latency_s = pCrend_hrtfs->latency_s; - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Copy hrtf data to config parameters - * - * Inputs - - * ivas_crend_hrtfs_t *pCrend_hrtfs - * - * Outputs - - * ivas_dec_cfg_t *pDec_cfg - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_copy_hrtf_data( HRTFS_DATA *hHrtf, HRTFS_DATA *pCrend_hrtfs ) -{ - int16_t i, j; - - hHrtf->latency_s = pCrend_hrtfs->latency_s; - hHrtf->max_num_ir = pCrend_hrtfs->max_num_ir; - hHrtf->max_num_iterations = pCrend_hrtfs->max_num_iterations; - hHrtf->gain_lfe = pCrend_hrtfs->gain_lfe; - - for ( i = 0; i < pCrend_hrtfs->max_num_ir; i++ ) - { - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->pOut_to_bin_re[i][j] = pCrend_hrtfs->pOut_to_bin_re[i][j]; - hHrtf->pOut_to_bin_im[i][j] = pCrend_hrtfs->pOut_to_bin_im[i][j]; - hHrtf->num_iterations[i][j] = pCrend_hrtfs->num_iterations[i][j]; - hHrtf->pIndex_frequency_max[i][j] = pCrend_hrtfs->pIndex_frequency_max[i][j]; - } - hHrtf->inv_diffuse_weight[i] = pCrend_hrtfs->inv_diffuse_weight[i]; - } - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->pOut_to_bin_diffuse_re[j] = pCrend_hrtfs->pOut_to_bin_diffuse_re[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = pCrend_hrtfs->pOut_to_bin_diffuse_im[j]; - hHrtf->num_iterations_diffuse[j] = pCrend_hrtfs->num_iterations_diffuse[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = pCrend_hrtfs->pIndex_frequency_max_diffuse[j]; - } - hHrtf->index_frequency_max_diffuse = pCrend_hrtfs->index_frequency_max_diffuse; - - return IVAS_SUCCESS; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Open files corresponding to the reference tests - * - * Inputs - - * ivas_crend_io_params_t *pIo_params - * - * Outputs - - * ivas_crend_io_params_t *pIo_params - * - *-----------------------------------------------------------------------------------------*/ - -void ivas_open_files_crend( ivas_crend_io_params_t *pIo_params ) -{ - /* Input File */ -#ifdef USE_PCM_OUT - if ( ( pIo_params->fIn[0] = fopen( pIo_params->in_path, "rb" ) ) == NULL ) -#else - if ( AudioFileReader_open( &pIo_params->fIn[0], pIo_params->in_path, &pIo_params->sample_rate ) != IVAS_ERR_OK ) -#endif - { - fprintf( stderr, "Error: Input audio file %s could not be opened\n\n", pIo_params->in_path ); - ivas_crend_unit_test_usage(); - } - fprintf( stdout, "Input audio file: %s\n", pIo_params->in_path ); - - /* Reference File */ -#ifdef USE_PCM_OUT - if ( ( strlen( pIo_params->ref_path ) > 0 ) && ( ( pIo_params->fRef = fopen( pIo_params->ref_path, "rb" ) ) == NULL ) ) -#else - if ( ( strlen( pIo_params->ref_path ) > 0 ) && ( AudioFileReader_open( &pIo_params->fRef, pIo_params->ref_path, &pIo_params->sample_rate ) != IVAS_ERR_OK ) ) -#endif - { - fprintf( stderr, "Error: Reference audio file %s could not be opened\n\n", pIo_params->ref_path ); - ivas_crend_unit_test_usage(); - } - fprintf( stdout, "Reference audio file: %s\n", pIo_params->ref_path ); - - - /*if (pIo_params->test == CREND_IR_GREATER_960) - { - if ((pIo_params->custom_hrtf = fopen(pIo_params->sofa_path, "rb")) == NULL) - { - fprintf(stderr, "Error: Custom HRTF file %s could not be opened\n\n", pIo_params->sofa_path); - ivas_crend_unit_test_usage(); - } - }*/ - - - if ( pIo_params->test == CREND_ACOUSTIC_PROXIMITY ) - { - /* open proximity bitstream file */ - if ( ( pIo_params->fProx = fopen( pIo_params->prox_path, "rb" ) ) == NULL ) - { - fprintf( stderr, "Error: LocSharing bitstream file %s could not be opened\n\n", pIo_params->prox_path ); - ivas_crend_unit_test_usage(); - } - } - fprintf( stdout, "prox file or path: %s\n", pIo_params->prox_path ); -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Parse the cmd line params into IO param structure - * - * Inputs - - * int argc - * char** argv - * - * Outputs - - * ivas_enc_io_params_t *pIO_params - * - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_parse_io_params( int argc, char **argv, ivas_crend_io_params_t *pIo_params ) -{ - int i = 1; - int mandatory_args = 0; - int optional_args = 0; - int check_output_format_set = 0; - -#ifdef DEBUG_SBA - fprintf( stderr, "Number of cmd line args: %d\n", argc ); - fprintf( stderr, "CMD: " ); - while ( i < argc ) - { - /*printing with stderr so that it gets printed always*/ - fprintf( stderr, "%s ", argv[i++] ); - } - fprintf( stderr, "\n\n" ); - - i = 1; -#endif - - while ( i < argc ) - { - /*-----------------------------------------------------------------* - * Sampling rate - *-----------------------------------------------------------------*/ - if ( strcmp( to_upper( argv[i] ), "-SR" ) == 0 ) - { - pIo_params->sample_rate = atoi( argv[++i] ) * 1000; - if ( ( pIo_params->sample_rate != 8000 ) && ( pIo_params->sample_rate != 16000 ) && ( pIo_params->sample_rate != 32000 ) && ( pIo_params->sample_rate != 48000 ) ) - { - fprintf( stderr, "Error: %d kHz is not a supported sampling rate\n\n", atoi( argv[i] ) ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - *render config - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-RENDER_CONFIG" ) == 0 ) - { - pIo_params->renderConfigFilename[0] = '\0'; - pIo_params->renderConfigEnabled = true; - strcpy( pIo_params->renderConfigFilename, argv[++i] ); - - if ( pIo_params->renderConfigFilename[0] == '\0' ) - { - fprintf( stderr, "Error: Renderer configuration file path not specified\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Input Format - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-IFMT" ) == 0 ) - { - pIo_params->in_fmt = atoi( argv[++i] ); - if ( ( pIo_params->in_fmt != MONO_1 ) && ( pIo_params->in_fmt != STEREO_2 ) && ( pIo_params->in_fmt != BIN_2 ) && ( pIo_params->in_fmt != FOA_4 ) && ( pIo_params->in_fmt != HOA_9 ) && ( pIo_params->in_fmt != HOA_16 ) && ( pIo_params->in_fmt != MULT_CH_5_1 ) && ( pIo_params->in_fmt != MULT_CH_7_1 ) && ( pIo_params->in_fmt != MULT_CH_5_1_2 ) && ( pIo_params->in_fmt != MULT_CH_5_1_4 ) && ( pIo_params->in_fmt != MULT_CH_7_1_4 ) && ( pIo_params->in_fmt != OBA ) ) - { - fprintf( stderr, "Error: Invalid input format\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Output Format - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-OFMT" ) == 0 ) - { - pIo_params->out_fmt = atoi( argv[++i] ); - if ( ( pIo_params->out_fmt != MONO_1 ) && ( pIo_params->out_fmt != STEREO_2 ) && ( pIo_params->out_fmt != BIN_2 ) && ( pIo_params->out_fmt != FOA_4 ) && ( pIo_params->out_fmt != HOA_9 ) && ( pIo_params->out_fmt != HOA_16 ) && ( pIo_params->out_fmt != MULT_CH_5_1 ) && ( pIo_params->out_fmt != MULT_CH_7_1 ) && ( pIo_params->out_fmt != MULT_CH_5_1_2 ) && ( pIo_params->out_fmt != MULT_CH_5_1_4 ) && ( pIo_params->out_fmt != MULT_CH_7_1_4 ) ) - { - fprintf( stderr, "Error: Invalid output format\n\n" ); - ivas_crend_unit_test_usage(); - } - check_output_format_set = 1; - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Input file(s) - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-I" ) == 0 ) - { - strcpy( pIo_params->in_path, argv[++i] ); - if ( pIo_params->in_path[0] == '\0' ) - { - fprintf( stderr, "Error: input folder %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - - /*-----------------------------------------------------------------* - * Proximity file - *------------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-PROX" ) == 0 ) - { - if ( strlen( argv[++i] ) > IVAS_MAX_PATH_LEN ) - { - fprintf( stderr, "Error: input proximity path %s too big\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - strcpy( pIo_params->prox_path, argv[i] ); - if ( pIo_params->prox_path[0] == '\0' ) - { - fprintf( stderr, "Error: input proximity folder %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Input csv file - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-T" ) == 0 ) - { - if ( strlen( argv[++i] ) > IVAS_MAX_PATH_LEN ) - { - fprintf( stderr, "Error: input head orientation CSV file path %s too long\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - strcpy( pIo_params->csv_path, argv[i] ); - if ( pIo_params->csv_path[0] == '\0' ) - { - fprintf( stderr, "Error: input head orientation CSV file %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - - i++; - optional_args++; - } - - /*-----------------------------------------------------------------* - * Orientation tracking - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-OTR" ) == 0 ) - { - char tmp[5]; - strcpy( tmp, argv[++i] ); - if ( strcmp( to_upper( tmp ), "AVG" ) == 0 ) - { - pIo_params->orientation_tracking = OTR_TRACKING_AVG_ORIENT; - } - else if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) - { - pIo_params->orientation_tracking = OTR_TRACKING_REF_ORIENT; - } - else - { - fprintf( stderr, "Error: Invalid orientation tracking type\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - - /*-----------------------------------------------------------------* - * Output file(s) - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-O" ) == 0 ) - { - if ( check_output_format_set == 0 ) - { - fprintf( stderr, "Error: Output format flag must be set beform output file name\n\n" ); - ivas_crend_unit_test_usage(); - } - if ( pIo_params->sample_rate == 0 ) - { - fprintf( stderr, "Error: Sample rate flag must be set beform output file name\n\n" ); - ivas_crend_unit_test_usage(); - } - strcpy( pIo_params->out_path, argv[++i] ); -#ifdef USE_PCM_OUT - if ( ( pIo_params->fOut = fopen( pIo_params->out_path, "wb+" ) ) == NULL ) -#else - if ( AudioFileWriter_open( &pIo_params->fOut, pIo_params->out_path, pIo_params->sample_rate, ivas_get_num_channels( pIo_params->out_fmt ) ) != IVAS_ERR_OK ) -#endif - { - fprintf( stderr, "Error: output audio file %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - fprintf( stdout, "Output audio file: %s\n", argv[i] ); - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Reference file(s) path - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-R" ) == 0 ) - { - strcpy( pIo_params->ref_path, argv[++i] ); - if ( pIo_params->ref_path[0] == '\0' ) - { - fprintf( stderr, "Error: Ref folder %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Test to Run - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-TEST" ) == 0 ) - { - pIo_params->test = atoi( argv[++i] ); - if ( pIo_params->test < 0 || pIo_params->test >= CREND_NUM_TESTS ) - { - fprintf( stderr, "Error: Invalid Test case\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Use BRIR Length - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-BRIR" ) == 0 ) - { - pIo_params->use_brir = 1; - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Apply low pass filter to LFE - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-LP_LFE" ) == 0 ) - { - pIo_params->lfe_lp_enable = 1; - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Apply limiter - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-LIMITER" ) == 0 ) - { - pIo_params->limiter_enable = 1; - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * CREND non diegetic panning value - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-NO_DIEGETIC_PAN" ) == 0 ) - { - i++; - char *param = to_upper( argv[i++] ); - if ( ( strcmp( param, "CENTER" ) == 0 ) || ( strchr( param, 'C' ) != NULL ) ) - { - pIo_params->no_diegetic_pan = 0; - } - else if ( ( strcmp( param, "LEFT" ) == 0 ) || ( strchr( param, 'L' ) != NULL ) ) - { - pIo_params->no_diegetic_pan = -1; - } - else if ( ( strcmp( param, "RIGHT" ) == 0 ) || ( strchr( param, 'R' ) != NULL ) ) - { - pIo_params->no_diegetic_pan = 1; - } - else - { - pIo_params->no_diegetic_pan = atof( param ); - } - optional_args++; - } - else if ( strcmp( to_upper( argv[i] ), "-ZERO_TOL" ) == 0 ) - { - pIo_params->tol = 0.0f; - i++; - optional_args++; - } - else if ( strcmp( to_upper( argv[i] ), "-NO_DELAY_CMP" ) == 0 ) - { - pIo_params->no_delay_cmp = 1; - i++; - optional_args++; - } - else - { - fprintf( stderr, "Error: Flag not found\n\n" ); - i++; - } - } - if ( mandatory_args != CREND_MAND_ARGS ) - { - fprintf( stderr, "Error: Not enough mandatory arguments\n\n" ); - ivas_crend_unit_test_usage(); - } - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Skip WAV header from a WAV file - * - * Inputs - - * FILE *in_file - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_wav_header_skip( FILE *in_file ) -{ - int8_t data_start[4] = { 0 }; - int32_t check, count = 0; - int32_t length; - - check = 1; - while ( check ) - { - if ( data_start[0] == 'd' && data_start[1] == 'a' && - data_start[2] == 't' && data_start[3] == 'a' ) - { - ( fread( &length, 4, 1, in_file ) ); - check = 0; - } - else - { - data_start[0] = data_start[1]; - data_start[1] = data_start[2]; - data_start[2] = data_start[3]; - ( fread( &data_start[3], 1, 1, in_file ) ); - } - count++; - if ( count > 2000 ) - { - length = 0xffffffff; - return IVAS_FAILED; - } - } - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Read/Generate inputs - * - * Inputs - - * ivas_enc_io_params_t *pIo_params - * - * Outputs - - * ivas_enc_in_buf_t *pIn_buf - * - * - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params, float ppPcm_in[][L_FRAME48k] ) -{ - int32_t i = 0, j = 0, samples_read = 0, num_in_ch = 0; - int32_t offset; - int32_t input_frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); - int16_t tmp, read = 0; - - num_in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - if ( pIo_params->test == CREND_BIN_TEST || pIo_params->test == FASTCONV_BIN_TEST || pIo_params->test == PARAM_BIN_TEST || pIo_params->test == TD_BIN_TEST || pIo_params->test == CREND_ACOUSTIC_PROXIMITY ) - { - /* Read in PCM */ - for ( j = 0; j < input_frame_len; j++ ) - { - for ( i = 0; i < num_in_ch; i++ ) - { -#ifdef USE_PCM_OUT - if ( ( read = (int16_t) fread( &tmp, sizeof( int16_t ), 1, pIo_params->fIn[0] ) ) > 0 ) -#else - if ( ( AudioFileReader_read( pIo_params->fIn[0], &tmp, 1, &read ) == IVAS_ERR_OK ) && ( read > 0 ) ) -#endif - { - ppPcm_in[i][j] = (float) tmp; - // ppPcm_in[i][j] *= ( 1.0 / PCM16_TO_FLT_FAC ); - samples_read += 1; - } - else - { - if ( samples_read != 0 && samples_read < input_frame_len * num_in_ch ) - { - /* Setting remaining buffer to zeros */ - offset = samples_read / num_in_ch; - for ( i = 0; i < num_in_ch; i++ ) - { - set_zero( &ppPcm_in[i][offset], input_frame_len - offset ); - } - return IVAS_SUCCESS; - } - else - { - return IVAS_READ_DONE; - } - } - } - } - } - else - { - /* Read in PCM */ - for ( i = 0; i < num_in_ch; i++ ) - { - samples_read = 0; - for ( j = 0; j < input_frame_len; j++ ) - { -#ifdef USE_PCM_OUT - if ( ( read = (int16_t) fread( &tmp, sizeof( int16_t ), 1, pIo_params->fIn[i] ) ) > 0 ) -#else - if ( ( AudioFileReader_read( pIo_params->fIn[i], &tmp, 1, &read ) == IVAS_ERR_OK ) && ( read > 0 ) ) -#endif - { - ppPcm_in[i][j] = (float) tmp; - // ppPcm_in[i][j] *= ( 1.0 / PCM16_TO_FLT_FAC ); - samples_read += 1; - } - else - { - if ( samples_read != 0 && samples_read < input_frame_len ) - { - /* Setting remaining buffer to zeros */ - offset = samples_read; - set_zero( &ppPcm_in[i][offset], input_frame_len - offset ); - break; - } - else - { - return IVAS_READ_DONE; - } - } - } - } - } - - return IVAS_SUCCESS; -} -/*---------------------------------------------------------------------* - * ivas_feed_head_track_data( ) - * - * Feed the decoder with the head tracking data - *---------------------------------------------------------------------*/ - -static ivas_result_t ivas_feed_head_track_data( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - IVAS_QUATERNION *orientation /* i : head-tracking data */ -) -{ - HEAD_TRACK_DATA_HANDLE hHeadTrackData; - int16_t i; - - - hHeadTrackData = st_ivas->hHeadTrackData; - - if ( hHeadTrackData == NULL ) - { - return IVAS_FAILED; - } - - /* Move head-tracking data to the decoder handle */ - for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) - { - hHeadTrackData->Quaternions[i].w = orientation[i].w; - hHeadTrackData->Quaternions[i].x = orientation[i].x; - hHeadTrackData->Quaternions[i].y = orientation[i].y; - hHeadTrackData->Quaternions[i].z = orientation[i].z; - } - - st_ivas->hHeadTrackData->num_quaternions = 0; - - return IVAS_SUCCESS; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Copy io_params to dec_io_params - * - * Inputs - - * ivas_crend_io_params_t *pIo_params - * - * Outputs - - * ivas_dec_io_params_t *pDec_io_params - * - *-----------------------------------------------------------------------------------------*/ -static void ivas_copy_io_params_to_dec_io_params( ivas_crend_io_params_t *pIo_params, ivas_dec_io_params_t *pDec_io_params ) -{ - pDec_io_params->in_fmt = pIo_params->in_fmt; - pDec_io_params->out_fmt = pIo_params->out_fmt; - pDec_io_params->out_sample_rate = pIo_params->sample_rate; - pDec_io_params->no_diegetic_pan = pIo_params->no_diegetic_pan; - pDec_io_params->renderConfigEnabled = pIo_params->renderConfigEnabled; - pDec_io_params->use_brir = pIo_params->use_brir; - strcpy( pDec_io_params->renderConfigFilename, pIo_params->renderConfigFilename ); - pDec_io_params->orientation_tracking = pIo_params->orientation_tracking; - switch ( pIo_params->in_fmt ) - { - case MULT_CH_5_1: - case MULT_CH_7_1: - case MULT_CH_5_1_2: - case MULT_CH_5_1_4: - case MULT_CH_7_1_4: - pDec_io_params->lfe_ch_idx = IVAS_DEFAULT_LFE_CH_IDX; - break; - case FOA_4: - case HOA_9: - case HOA_16: - default: - pDec_io_params->lfe_ch_idx = -1; - break; - } -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Main Common Renderer block - * - * Inputs - - * ivas_enc_io_params_t io_params - * float* mixer - * int16_t delay_cmp - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, float *mixer ) -{ - ivas_result_t result = IVAS_SUCCESS; - ivas_error error; - - float ppPcm_in[IVAS_MAX_NUM_CH][L_FRAME48k]; - float ppPcm_out[IVAS_MAX_NUM_CH][L_FRAME48k]; - float *ppDelay_lines[IVAS_MAX_NUM_CH]; - const float *filt_coeff; - int16_t delay_lp = 0; - Decoder_Struct st_ivas; - HeadRotFileReader *headRotReader = NULL; - - memset( &st_ivas, 0, sizeof( Decoder_Struct ) ); - - int64_t frame_count = 0; - - int32_t i = 0, j = 0; - int32_t frame_len = 0; - - ivas_dec_io_params_t dec_io_params; - int16_t in_format; - int16_t lfe_ch_idx; - DECODER_CONFIG decConfig; - - st_ivas.hDecoderConfig = &decConfig; - memset( st_ivas.hDecoderConfig, 0, sizeof( DECODER_CONFIG ) ); - memset( &st_ivas.hOutSetup, 0, sizeof( IVAS_OUTPUT_SETUP ) ); - - ivas_dec_default_io_params( &dec_io_params ); - ivas_copy_io_params_to_dec_io_params( pIo_params, &dec_io_params ); - result = ivas_crend_set_config_params( st_ivas.hDecoderConfig, &dec_io_params, &in_format, &lfe_ch_idx ); - st_ivas.transport_config = st_ivas.intern_config = ivas_crend_map_out_fmt( in_format ); - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "Crend configuration parameters setting failed\n" ); - exit( -1 ); - } - - frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); - frame_len = frame_len >> 2; -#ifdef USE_PCM_OUT - /* skip WAV header */ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) - { - if ( pIo_params->fIn[i] != NULL ) - { - result = ivas_wav_header_skip( pIo_params->fIn[i] ); - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "WAV header skip failed\n" ); - ivas_crend_close( &st_ivas ); - exit( -1 ); - } - } - } -#endif - - ivas_render_config_open( &st_ivas.hRenderConfig ); - ivas_render_config_init_from_rom( &st_ivas.hRenderConfig, 0 ); - if ( pIo_params->renderConfigEnabled ) - { - RenderConfigReader *renderConfigReader = NULL; - if ( ( error = RenderConfigReader_open( pIo_params->renderConfigFilename, &renderConfigReader ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError: Can't open Renderer configuration file %s \n\n", pIo_params->renderConfigFilename ); - exit( -1 ); - } - if ( RenderConfigReader_read( renderConfigReader, (IVAS_RENDER_CONFIG_HANDLE) st_ivas.hRenderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Failed to read renderer configuration from file %s\n", pIo_params->renderConfigFilename ); - exit( -1 ); - } - } - - st_ivas.hRenderConfig->roomAcoustics.use_brir = pIo_params->use_brir; - - if ( ( pIo_params->in_fmt >= MULT_CH_5_1 ) && ( pIo_params->in_fmt <= MULT_CH_7_1_4 ) ) - { - st_ivas.ivas_format = MC_FORMAT; - } - else - { - st_ivas.ivas_format = SBA_FORMAT; - } - - if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->in_fmt != pIo_params->out_fmt ) ) - { - if ( pIo_params->test == FASTCONV_BIN_TEST ) - { - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV_ROOM; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_BRIR_latency_s; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - if ( st_ivas.ivas_format == MC_FORMAT ) - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HRIR_latency_s; - else - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HOA3_latency_s; - } - } - else if ( pIo_params->test == TD_BIN_TEST ) - { - if ( st_ivas.ivas_format == SBA_FORMAT ) - { - fprintf( stderr, "TD Renderer configuration wrong input format\n" ); - exit( -1 ); - } - - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - pIo_params->latency_s = BINAURAL_TD_LATENCY_S; - } - else if ( pIo_params->test == PARAM_BIN_TEST ) - { - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_PARAMETRIC_ROOM; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_PARAMETRIC; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate; - } - else if ( pIo_params->test == CREND_BIN_TEST ) - { - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_MIXER_CONV_ROOM; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_MIXER_CONV; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - } - else - { - fprintf( stderr, "Crend configuration wrong renderer\n" ); - exit( -1 ); - } - } - else - { - ivas_hrtf_init( st_ivas.hHrtf ); - } - - int32_t in_ch = audioCfg2channels( st_ivas.transport_config ); - int32_t out_ch = audioCfg2channels( st_ivas.hDecoderConfig->output_config ); - - /*------------------------------------------------------------------------------------------* - * State memory allocation for Common renderer - *------------------------------------------------------------------------------------------*/ - st_ivas.hDecoderConfig->Opt_Headrotation = pIo_params->orientation_tracking != OTR_TRACKING_NONE ? 1 : 0; - /*-------------------------------------------------------------------* - * Allocate and initialize Head-Tracking handle - *--------------------------------------------------------------------*/ - - if ( st_ivas.hDecoderConfig->Opt_Headrotation ) - { - if ( ( error = ivas_headTrack_open( &( st_ivas.hHeadTrackData ) ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - if ( ( error = HeadRotationFileReader_open( pIo_params->csv_path, &headRotReader ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - - st_ivas.nchan_transport = audioCfg2channels( st_ivas.transport_config ); - st_ivas.hIntSetup.index_lfe[0] = lfe_ch_idx; - st_ivas.hIntSetup.num_lfe = lfe_ch_idx > 0 ? 1 : 0; - - if ( pIo_params->test == FASTCONV_BIN_TEST ) - { - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); - int16_t numCldfbAnalyses, numCldfbSyntheses; - numCldfbAnalyses = st_ivas.nchan_transport; - numCldfbSyntheses = st_ivas.hDecoderConfig->nchan_out; - - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbAnaDec[i] ), CLDFB_ANALYSIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - st_ivas.cldfbAnaDec[i] = NULL; - } - - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbSynDec[i] ), CLDFB_SYNTHESIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_OUTPUT_CHANNELS; i++ ) - { - st_ivas.cldfbSynDec[i] = NULL; - } - - ivas_binRenderer_open( &st_ivas ); - } - else if ( pIo_params->test == TD_BIN_TEST ) - { - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); - ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); - ivas_td_binaural_open( &st_ivas ); - } - else if ( pIo_params->test == PARAM_BIN_TEST ) - { - if ( ( pIo_params->in_fmt != FOA_4 ) && ( pIo_params->in_fmt != HOA_9 ) && ( pIo_params->in_fmt != HOA_16 ) ) - { - fprintf( stderr, "PARAM renderer configuration wrong format, must be FOA or HOA up to order 3\n" ); - exit( -1 ); - } - - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); - ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); - st_ivas.hOutSetup.separateChannelEnabled = 1; - int16_t numCldfbAnalyses, numCldfbSyntheses; - numCldfbAnalyses = st_ivas.nchan_transport; - numCldfbSyntheses = st_ivas.hDecoderConfig->nchan_out; - - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbAnaDec[i] ), CLDFB_ANALYSIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - st_ivas.cldfbAnaDec[i] = NULL; - } - - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbSynDec[i] ), CLDFB_SYNTHESIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_OUTPUT_CHANNELS; i++ ) - { - st_ivas.cldfbSynDec[i] = NULL; - } - } - else - { - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); - ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); - ivas_crend_open( &st_ivas ); - } - - if ( pIo_params->test == CREND_BIN_TEST ) - { - pIo_params->latency_s = st_ivas.hHrtf->latency_s; - } - if ( st_ivas.ivas_format == MC_FORMAT ) - { - ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_s ); - if ( st_ivas.hLFE->lfe_addl_delay > 0 ) - { - if ( st_ivas.hLFE->lfe_delay_buf != NULL ) - { - count_free( st_ivas.hLFE->lfe_delay_buf ); - st_ivas.hLFE->lfe_delay_buf = NULL; - } - if ( pIo_params->latency_s > 0 ) - { - st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( pIo_params->latency_s * dec_io_params.out_sample_rate ); - if ( st_ivas.hLFE->lfe_addl_delay > 0 ) - { - if ( ( st_ivas.hLFE->lfe_delay_buf = (float *) count_malloc( st_ivas.hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) - { - fprintf( stderr, "Can not allocate memory for LFE additional delay buffer\n" ); - return IVAS_FAILED; - } - set_zero( (float *) st_ivas.hLFE->lfe_delay_buf, st_ivas.hLFE->lfe_addl_delay ); - } - } - else - { - st_ivas.hLFE->lfe_addl_delay = 0; - } - } - /* delay input channel of latency of lp filter*/ - if ( pIo_params->lfe_lp_enable ) - { - delay_lp = (int16_t) ( ivas_lfe_lpf_delay[1] * (float) pIo_params->sample_rate ); - for ( i = 0; i < in_ch - st_ivas.hIntSetup.num_lfe; i++ ) - { - if ( ( ppDelay_lines[i] = (float *) count_malloc( delay_lp * sizeof( float ) ) ) == NULL ) - { - fprintf( stderr, "Can not allocate memory for LFE additional delay buffer\n" ); - return IVAS_FAILED; - } - set_zero( (float *) ppDelay_lines[i], delay_lp ); - } - ivas_lfe_lpf_select_filt_coeff( pIo_params->sample_rate, IVAS_FILTER_ORDER_4, &filt_coeff ); - ivas_filters_init( &st_ivas.hLFE->filter_state, filt_coeff, IVAS_FILTER_ORDER_4 ); - pIo_params->latency_s = pIo_params->latency_s + ivas_lfe_lpf_delay[1]; - } - else - { - delay_lp = 0; - } - } - - if ( pIo_params->limiter_enable ) - { - st_ivas.hLimiter = ivas_limiter_open( out_ch, pIo_params->sample_rate ); - } - - /*------------------------------------------------------------------------------------------* - * Loop for every frame of input data - * - Read the input data - * - Run the Common renderer - * - Write the parameters into output bitstream file - *------------------------------------------------------------------------------------------*/ - -#define _FIND_MAX_ -#ifdef _FIND_MAX_ - float valMax = 0; - float valEner = 0; -#endif - - /* delay adjustment */ - int32_t skip_samples = 0; - int32_t skipped_samples = 0; - int16_t write_flag = 0; - if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->no_delay_cmp == 0 ) ) - { - skip_samples = NS2SA( pIo_params->sample_rate, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); - } - fprintf( stdout, "IVAS Common Renderer skip samples = %d\n", (int) skip_samples ); - - frame_len = frame_len << 2; - - int32_t frame_dec = 0; - IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES] = { 0 }; - - /* process loop */ - while ( ( ( result = ivas_wrapper_get_in_buf( pIo_params, ppPcm_in ) ) == IVAS_SUCCESS ) && ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 0 ) || ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && ( HeadRotationFileReading( headRotReader, Quaternions, frame_dec ) == IVAS_ERR_OK ) ) ) ) - { - int16_t pcm[MAX_OUTPUT_CHANNELS]; - frame_dec++; - result = IVAS_SUCCESS; - if ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && ( ivas_feed_head_track_data( &st_ivas, Quaternions ) != IVAS_SUCCESS ) ) - { - return IVAS_IO_ERROR; - } - - if ( pIo_params->lfe_lp_enable ) - { - /* ADD delay to make overall max(block_offset, 11.5)*/ - if ( st_ivas.hLFE->lfe_addl_delay > 0 ) - { - delay_signal( ppPcm_in[lfe_ch_idx], frame_len, st_ivas.hLFE->lfe_delay_buf, st_ivas.hLFE->lfe_addl_delay ); - } - - ivas_filter_process( &st_ivas.hLFE->filter_state, ppPcm_in[lfe_ch_idx], frame_len ); - } - - if ( pIo_params->test == FASTCONV_BIN_TEST ) - { - ivas_binaural_cldfb( &st_ivas, ppPcm_in ); - } - else if ( pIo_params->test == TD_BIN_TEST ) - { - ObjRenderIVASFrame( &st_ivas, ppPcm_in, frame_len ); - } - else if ( pIo_params->test == PARAM_BIN_TEST ) - { - float Cldfb_RealBuffer[MAX_INTERN_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - float Cldfb_ImagBuffer[MAX_INTERN_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - float RealBuffer[CLDFB_NO_CHANNELS_MAX]; - float ImagBuffer[CLDFB_NO_CHANNELS_MAX]; - int16_t slot_idx, maxBand, ch; - float gain = powf( 10.f, -6.f / 20.f ); /* add gain to compensate loudness with decoder, but are missing when compare to other renderers*/ - - /* Implement a 5 msec loops */ - maxBand = (int16_t) ( ( CLDFB_NO_CHANNELS_MAX * st_ivas.hDecoderConfig->output_Fs ) / 48000 ); - - for ( slot_idx = 0; slot_idx < (int16_t) CLDFB_NO_COL_MAX; slot_idx++ ) - { - - for ( ch = 0; ch < in_ch; ch++ ) - { - cldfbAnalysis_ts( &( ppPcm_in[ch][maxBand * slot_idx] ), - Cldfb_RealBuffer[ch][slot_idx], - Cldfb_ImagBuffer[ch][slot_idx], - maxBand, st_ivas.cldfbAnaDec[ch] ); - } - } - - for ( slot_idx = 0; slot_idx < (int16_t) CLDFB_NO_COL_MAX; slot_idx++ ) - { - /* Implement binaural rendering */ - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - float *outSlotRePr, *outSlotImPr; /* Pointers needed for function call compatibility */ - - set_zero( RealBuffer, maxBand ); - set_zero( ImagBuffer, maxBand ); - - int16_t bandIdx, chIdx; - const float *filterTapsRealPtr, *filterTapsImagPtr; - - for ( chIdx = 0; chIdx < in_ch; chIdx++ ) - { - filterTapsRealPtr = hrtfShCoeffsRe[ch][chIdx]; - filterTapsImagPtr = hrtfShCoeffsIm[ch][chIdx]; - - for ( bandIdx = 0; bandIdx < maxBand; bandIdx++ ) - { - RealBuffer[bandIdx] += gain * ( Cldfb_RealBuffer[chIdx][slot_idx][bandIdx] * filterTapsRealPtr[bandIdx] ) - ( Cldfb_ImagBuffer[chIdx][slot_idx][bandIdx] * filterTapsImagPtr[bandIdx] ); - ImagBuffer[bandIdx] += gain * ( Cldfb_RealBuffer[chIdx][slot_idx][bandIdx] * filterTapsImagPtr[bandIdx] ) + ( Cldfb_ImagBuffer[chIdx][slot_idx][bandIdx] * filterTapsRealPtr[bandIdx] ); - } - } - outSlotRePr = &( RealBuffer[0] ); - outSlotImPr = &( ImagBuffer[0] ); - cldfbSynthesis( &outSlotRePr, &outSlotImPr, &( ppPcm_in[ch][slot_idx * maxBand] ), maxBand, st_ivas.cldfbSynDec[ch] ); - } - } - } - else - { - if ( mixer != NULL ) - { - ivas_crend_mixer( ppPcm_in, ppPcm_out, in_ch, out_ch, mixer, frame_len ); - } - else - { - ivas_crend_process( &st_ivas, ppPcm_in ); - } - } - - if ( mixer == NULL ) - { - if ( pIo_params->lfe_lp_enable ) - { - for ( i = 0; i < out_ch; i++ ) - { - delay_signal( ppPcm_in[i], frame_len, ppDelay_lines[i], delay_lp ); - } - } - - ivas_binaural_add_LFE( &st_ivas, frame_len, ppPcm_in ); - - for ( i = 0; i < out_ch; i++ ) - { - mvr2r( ppPcm_in[i], ppPcm_out[i], frame_len ); - } - if ( pIo_params->limiter_enable ) - { - ivas_limiter_dec( st_ivas.hLimiter, ppPcm_out, out_ch, frame_len, 0 ); - } - } - - - float valMaxLoc = 0; - float clip = 1.0f; - for ( j = 0; j < frame_len; j++ ) - { - if ( ( write_flag == 0 ) && ( skipped_samples == skip_samples ) ) - { - write_flag = 1; - } - for ( i = 0; i < out_ch; i++ ) - { - // float temp = roundf( ppPcm_out[i][j] * PCM16_TO_FLT_FAC ); - float temp; -#ifdef _FIND_MAX_ - valMaxLoc = ( ppPcm_out[i][j] > valMaxLoc ) ? ppPcm_out[i][j] : ( ppPcm_out[i][j] < -valMaxLoc ) ? -ppPcm_out[i][j] - : valMaxLoc; - /* if (valMaxLoc > 1.0) printf("Saturation valMax = %f at frame_len = %ld sample = %ld \n", valMaxLoc, frame_len, i); */ - if ( valMax < valMaxLoc ) - valMax = valMaxLoc; - valEner += ppPcm_out[i][j] * ppPcm_out[i][j]; -#endif - temp = ( ppPcm_out[i][j] > MAX16B_FLT ) ? MAX16B_FLT : ( ppPcm_out[i][j] < MIN16B_FLT ) ? MIN16B_FLT - : ppPcm_out[i][j]; - pcm[i] = (short) roundf( temp ); - clip = max( clip, fabsf( ppPcm_out[i][j] ) ); - } - if ( write_flag == 1 ) - { -#ifdef USE_PCM_OUT - fwrite( pcm, sizeof( int16_t ), out_ch, pIo_params->fOut ); -#else - AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); -#endif - } - if ( write_flag == 0 ) - skipped_samples++; - } - if ( clip > MAX16B_FLT ) - { - fprintf( stdout, "IVAS Common Renderer Clipped: max gain = %f\n", clip ); - } - - fprintf( stdout, "Processed frame: %ld\r", (long) frame_count ); - frame_count++; - } - - int16_t pcm[MAX_OUTPUT_CHANNELS] = { 0 }; - while ( skipped_samples > 0 ) - { - AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); - skipped_samples--; - } - -#ifdef _FIND_MAX_ - valEner = sqrt( valEner / ( frame_count * frame_len ) ); - printf( "valMax = %f valEner = %f \n", 20.f * log10( valMax ), 20.f * log10( valEner ) ); -#endif - printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); - - if ( st_ivas.hLFE ) - { - ivas_lfe_dec_close( st_ivas.hLFE ); - } - - if ( st_ivas.hDirAC != NULL ) - ivas_dirac_dec_close( st_ivas.hDirAC ); - if ( st_ivas.hBinRenderer != NULL ) - ivas_binRenderer_close( &st_ivas.hBinRenderer ); - ivas_crend_close( &st_ivas ); - if ( st_ivas.hBinRendererTd != NULL ) - ivas_td_binaural_close( &st_ivas.hBinRendererTd ); - if ( st_ivas.hLimiter != NULL ) - ivas_limiter_close( &st_ivas.hLimiter ); - if ( st_ivas.hEFAPdata != NULL ) - efap_free_data( &st_ivas.hEFAPdata ); - - if ( pIo_params->lfe_lp_enable ) - { - for ( i = 0; i < in_ch - st_ivas.hIntSetup.num_lfe; i++ ) - { - count_free( ppDelay_lines[i] ); - } - } - if ( st_ivas.hRenderConfig != NULL ) - { - ivas_render_config_close( &st_ivas.hRenderConfig ); - } - - /* Head track data handle */ - if ( st_ivas.hHeadTrackData != NULL ) - { - count_free( st_ivas.hHeadTrackData ); - st_ivas.hHeadTrackData = NULL; - } - - if ( headRotReader ) - { - HeadRotationFileReader_close( &headRotReader ); - } - - -#ifdef RAM_COUNTING_TOOL - mem_count_summary( USE_DEFAULT ); -#endif - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Object mixer renderer block - * - * Inputs - - * ivas_enc_io_params_t io_params - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, int16_t *userLoc ) -{ - ivas_result_t result = IVAS_SUCCESS; - - float ppPcm_in[IVAS_MAX_NUM_CH][L_FRAME48k]; - float ppPcm_out[IVAS_MAX_NUM_CH][L_FRAME48k]; - DECODER_CONFIG decoder_config; - Decoder_Struct st_ivas; - - memset( &st_ivas, 0, sizeof( Decoder_Struct ) ); - - st_ivas.hDecoderConfig = &decoder_config; - memset( st_ivas.hDecoderConfig, 0, sizeof( DECODER_CONFIG ) ); - - int64_t frame_count = 0; - - int32_t i = 0, j = 0; - int32_t frame_len = 0; - - float *Smixer; - float *powvec; - ivas_dec_io_params_t dec_io_params = { 0 }; - int16_t in_format; - int16_t lfe_ch_idx; - - ivas_dec_default_io_params( &dec_io_params ); - ivas_copy_io_params_to_dec_io_params( pIo_params, &dec_io_params ); - - frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); - -#ifdef USE_PCM_OUT - /* skip WAV header */ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) - { - if ( pIo_params->fIn[i] != NULL ) - { - result = ivas_wav_header_skip( pIo_params->fIn[i] ); - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "WAV header skip failed\n" ); - ivas_crend_close( &st_ivas ); - exit( -1 ); - } - } - } -#endif - - result = ivas_crend_set_config_params( &decoder_config, &dec_io_params, &in_format, &lfe_ch_idx ); - - st_ivas.transport_config = ivas_crend_map_out_fmt( in_format ); - - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "Crend configuration parameters setting failed\n" ); - ivas_crend_close( &st_ivas ); - exit( -1 ); - } - - /*------------------------------------------------------------------------------------------* - * State memory allocation for Common renderer - *------------------------------------------------------------------------------------------*/ - decoder_config.Opt_Headrotation = 0; - ivas_crend_open( &st_ivas ); - - /*------------------------------------------------------------------------------------------* - * In/out buffer memory allocation for encoder - *------------------------------------------------------------------------------------------*/ - int32_t in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - int32_t out_ch = ivas_get_num_channels( pIo_params->out_fmt ); - - Smixer = (float *) calloc( in_ch, sizeof( float ) ); - powvec = (float *) calloc( in_ch, sizeof( float ) ); - - /* init - ignore FLC */ - for ( i = 0; i < in_ch; i++ ) - { - powvec[i] = 0.0f; - } - - /*------------------------------------------------------------------------------------------* - * Loop for every frame of input data - * - Read the input data - * - Run the Common renderer - * - Write the parameters into output bitstream file - *------------------------------------------------------------------------------------------*/ - -#define _FIND_MAX_ -#ifdef _FIND_MAX_ - float valMax = 0; - float valEner = 0; -#endif - - while ( ( ( result = ivas_wrapper_get_in_buf( pIo_params, ppPcm_in ) ) == IVAS_SUCCESS ) ) /* process loop */ - { -#ifdef USE_PCM_OUT - int16_t pcm; -#else - int16_t pcm[MAX_OUTPUT_CHANNELS]; -#endif - result = IVAS_SUCCESS; - - /* get the mixing matrix.. */ - get_prox_downmix_mixer( (int16_t) PROXIMITY_USER_ID, Smixer, userLoc, in_ch, ppPcm_in, frame_len, powvec ); - - result = ivas_crend_mixer( ppPcm_in, ppPcm_out, in_ch, out_ch, Smixer, frame_len ); - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "Error: ivas_crend_process failed with %d \n\n", (int32_t) result ); - ivas_crend_close( &st_ivas ); - exit( -1 ); - } - - float valMaxLoc = 0; - - for ( j = 0; j < frame_len; j++ ) - { - - for ( i = 0; i < out_ch; i++ ) - { - - // float temp = roundf( ppPcm_out[i][j] * PCM16_TO_FLT_FAC ); - float temp = roundf( ppPcm_out[i][j] ); -#ifdef _FIND_MAX_ - - valMaxLoc = ( ppPcm_out[i][j] > valMaxLoc ) ? ppPcm_out[i][j] : ( ppPcm_out[i][j] < -valMaxLoc ) ? -ppPcm_out[i][j] - : valMaxLoc; - /* if (valMaxLoc > 1.0) printf("Saturation valMax = %f at frame_len = %ld sample = %ld \n", valMaxLoc, frame_len, i); */ - - if ( valMax < valMaxLoc ) - { - valMax = valMaxLoc; - } - valEner += ppPcm_out[i][j] * ppPcm_out[i][j]; -#endif - -#ifdef USE_PCM_OUT - pcm = ( temp > MAX16B_FLT ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B - : (short) temp; - fwrite( &pcm, sizeof( int16_t ), 1, pIo_params->fOut ); -#else - pcm[i] = ( temp > MAX16B_FLT ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B - : (short) temp; - -#endif - } -#ifndef USE_PCM_OUT - AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); -#endif - } - - frame_count++; - } - free( powvec ); - free( Smixer ); - -#ifdef _FIND_MAX_ - valEner = sqrt( valEner / ( frame_count * frame_len ) ); - printf( "valMax = %f valEner = %f \n", 20.f * log10( valMax ), 20.f * log10( valEner ) ); -#endif - printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); - - ivas_crend_close( &st_ivas ); - - return IVAS_SUCCESS; -} diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h deleted file mode 100644 index 97962a785b..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h +++ /dev/null @@ -1,136 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_DEC_PARSE_IO_H -#define IVAS_DEC_PARSE_IO_H - -/**************************************************************************** -* File description - -* This header file contains declarations for IO/cmd line params parsing of IVAS decoder -****************************************************************************/ - -/*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include "ivas_cnst.h" -#include "audio_file_writer.h" - -/*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ - -#define IVAS_IN_FMT_COMBINED "Combined" -#define IVAS_IN_FMT_HOA_3 "HOA3S" - -#define MAX_PCM_OUT_FILES ( IVAS_MAX_NUM_CH ) -#define REQ_DEC_CMD_LINE_PARAMS ( 7 ) - -#define IVAS_MAX_PATH_LEN ( 2000 ) - -#define IVAS_EXT_ADD_DELAY_MS ( 2 ) -#define MAX_OUT_FILE_LEN ( 1000 ) -#define MAX_CH_IDX_TAG_LEN ( 10 ) - -/*------------------------------------------------------------------------------------------* -* Global variables -*------------------------------------------------------------------------------------------*/ -/* IVAS bitstream formats */ -#define IVAS_G192 ( 0 ) -#define IVAS_MIME ( 1 ) - -/* IVAS decoder output formats */ -#define IVAS_NO_RENDERER ( -1 ) /* no renderer required */ - -#define IVAS_DEFAULT_QUIET_MODE ( 0 ) -#define IVAS_DEFAULT_NO_DELAY_COMP_MODE ( 0 ) -#define IVAS_DEFAULT_BS_FORMAT ( IVAS_G192 ) -#define IVAS_DEFAULT_FMT ( IVAS_NO_RENDERER ) -#define IVAS_DEFAULT_LFE_CH_IDX ( 3 ) /* ch count starting from 0 */ -#define IVAS_DEFAULT_AGC ( 0 ) - -#define IVAS_IN_FMT_510 "510" -#define IVAS_IN_FMT_710 "710" -#define IVAS_IN_FMT_512 "512" -#define IVAS_IN_FMT_514 "514" -#define IVAS_IN_FMT_714 "714" -#define IVAS_IN_FMT_FOA "HOA1S" -#define IVAS_IN_FMT_HOA_2 "HOA2S" -#define IVAS_IN_FMT_HOA_3 "HOA3S" -#define IVAS_IN_FMT_HOA_4 "HOA4S" - -#define IVAS_MAX_NUM_CH 16 - -/*------------------------------------------------------------------------------------------* -* Structure definitions -*------------------------------------------------------------------------------------------*/ -typedef struct ivas_dec_io_params_t -{ - int32_t in_fmt; - int32_t out_sample_rate; - int32_t out_fmt; - int32_t crend_enable; - int16_t quiet_mode; - int16_t no_delay_cmp; - int16_t bs_format; - int16_t lfe_ch_idx; - int16_t block_offset_ms; -#ifdef USE_PCM_OUT - FILE *fOut[MAX_PCM_OUT_FILES]; -#else - AudioFileWriter *fOut[MAX_PCM_OUT_FILES]; -#endif - FILE *fBs; - FILE *fMd; - FILE *fPlc; - char sofa_path[IVAS_MAX_PATH_LEN]; - char csv_path[IVAS_MAX_PATH_LEN]; - int16_t orientation_tracking; - int16_t coding_tool; - float no_diegetic_pan; - int16_t renderConfigEnabled; - int16_t use_brir; - char renderConfigFilename[IVAS_MAX_PATH_LEN]; -#ifdef DEBUG_AGC - FILE *agcBitstream; /* temporary */ -#endif -#ifdef DEBUG_SBA - int8_t file_tag[50]; - int16_t dtx_on; -#endif - -} ivas_dec_io_params_t; - - -#endif diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c deleted file mode 100644 index 2bf19080e5..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c +++ /dev/null @@ -1,229 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*-----------------------------------------------------------------------------------------* -* File description - -* This file contains funciton definitions which are common between IVAS spatial decoding -* tools -*-----------------------------------------------------------------------------------------*/ - -/*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "ivas_prox_mix.h" -#include "wmops.h" - -/*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ - -/*------------------------------------------------------------------------------------------* - * Global variables - *------------------------------------------------------------------------------------------*/ - -/*------------------------------------------------------------------------------------------* - * Static functions declaration - *------------------------------------------------------------------------------------------*/ - -static float get_block_power( float *vec, int32_t frame_len ); - -/*------------------------------------------------------------------------------------------* - * function definitions - *------------------------------------------------------------------------------------------*/ - -/*-----------------------------------------------------------------------------------------* - * Function description - Returns mixer to combine uplink signals in an intelligent way to - * prevent unnecessary reproduction of certain signals and prevent acoustic feedback. - * - * Inputs - - * userID: a given user ID - * bitstream: float of bitstream data containing co-located user IDs - * pMixer: a 1-d mixer to be used in ivas_crend to combine the multichannel audio data into - * a single Mono signal. - * Outputs - - * - * - * - *-----------------------------------------------------------------------------------------*/ - -ivas_result_t get_users_locations( - uint8_t *bitstream, - int32_t len, - int16_t *userLoc ) -{ - /* userID = channelID starting from index=0 */ - int16_t nrLoc = 1; - int32_t i; - - /* enter user location depending on position in userLoc array */ - for ( i = 0; i < len; i++ ) - { - - if ( bitstream[i] == LOC_BITSTREAM_DELIMITER ) - { - nrLoc++; - } - else - { - userLoc[bitstream[i]] = nrLoc; - } - } - - return IVAS_SUCCESS; -} - - -ivas_result_t get_prox_downmix_mixer( - int16_t userID, - float *sMixer, - int16_t *userLoc, - int32_t nChan, - float ppPcm_in[][L_FRAME48k], - int32_t frame_len, - float *powvec ) -{ - /* userID = channelID starting from index=0 */ - int16_t nrUsers = 0, nrLoc = 0; - int32_t i, j; - int16_t locIdx = 0; - float pow_1, pow_2; - float *pow; - - pow = (float *) calloc( nChan, sizeof( float ) ); - - /* init */ - for ( i = 0; i < nChan; i++ ) - { - pow[i] = get_block_power( ppPcm_in[i], frame_len ); - - if ( pow[i] >= powvec[i] ) - { - powvec[i] = POWER_SMOOTH_HI * ( powvec[i] - pow[i] ) + pow[i]; - } - else - { - powvec[i] = POWER_SMOOTH_LO * ( powvec[i] - pow[i] ) + pow[i]; - } - /* reset the mixer */ - sMixer[i] = 0.0f; - } - - /* first find the room where userID is located*/ - locIdx = userLoc[userID]; - - /* iterate one more time, this time ignoring the room where the user is in. */ - for ( i = 0; i < nChan; i++ ) - { - if ( ( locIdx != userLoc[i] ) && ( userLoc[i] > 0 ) ) - { - sMixer[i] = 1.0f; - - nrUsers++; - - if ( userLoc[i] > nrLoc ) - { - nrLoc = userLoc[i]; - } - } - } - - /* Check for co-located users and select user with max */ - /* nrUsers contains the number of far-end users, i.e non-co-located*/ - /* These have to be treated differently */ - for ( i = 0; i < nChan; i++ ) - { - if ( sMixer[i] > 0.0f ) - { - locIdx = userLoc[i]; - pow_1 = powvec[i]; - for ( j = i + 1; j < nChan; j++ ) - { - if ( userLoc[j] == locIdx ) - { - /* compare signal power in block.. */ - pow_2 = powvec[j]; - - if ( pow_2 > POWER_FACT * pow_1 ) - { - sMixer[i] = 0.0f; - break; - } - else - { - sMixer[j] = 0.0f; - } - } - } - } - } - - nrUsers = 0; - for ( i = 0; i < nChan; i++ ) - { - if ( sMixer[i] > 0.0f ) - { - nrUsers++; - } - } - - if ( nrUsers != 0 ) - { - for ( i = 0; i < nChan; i++ ) - { - sMixer[i] = sMixer[i] / (float) nrUsers; - } - } - free( pow ); - - return IVAS_SUCCESS; -} - - -static float get_block_power( - float *vec, - int32_t frame_len ) -{ - int32_t i; - float pow = 0.0f; - - for ( i = 0; i < frame_len; i++ ) - { - pow = pow + vec[i] * vec[i]; - } - - return pow; -} diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h deleted file mode 100644 index 8aa4b57130..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h +++ /dev/null @@ -1,71 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - - -#ifndef IVAS_PROX_MIX_H -#define IVAS_PROX_MIX_H - -/**************************************************************************** -* File description - -* This header file contains declarations which are common between IVAS -* spatial decoding tools -****************************************************************************/ - -/*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include "ivas_stat_dec.h" -#include "ivas_result_t.h" - -/*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ - -/*------------------------------------------------------------------------------------------* - * Global variables - *------------------------------------------------------------------------------------------*/ -#define LOC_BITSTREAM_DELIMITER ( 128 ) -#define MAX_BITSTREAM_LEN ( 128 ) -#define POWER_FACT ( 1.2f ) -#define POWER_SMOOTH_HI ( 0.8f ) -#define POWER_SMOOTH_LO ( 0.95f ) - -/*------------------------------------------------------------------------------------------* - * function declarations - *------------------------------------------------------------------------------------------*/ -ivas_result_t get_users_locations( uint8_t *bitstream, int32_t len, int16_t *userLoc ); -ivas_result_t get_prox_downmix_mixer( int16_t userID, float *pMixer, int16_t *userLoc, int32_t nChan, float ppPcm_in[][L_FRAME48k], int32_t frame_len, float *powvec ); - -#endif diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_result_t.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_result_t.h deleted file mode 100644 index 7702760f4c..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_result_t.h +++ /dev/null @@ -1,56 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_RESULT_H -#define IVAS_RESULT_H - -/*----------------------------------------------------------------------------------* - * IVAS Error codes - *----------------------------------------------------------------------------------*/ - -typedef enum ivas_result_t -{ - IVAS_SUCCESS = 0, - IVAS_FAILED = -1, - IVAS_IO_ERROR = -2, - IVAS_MEM_ERROR = -3, - IVAS_READ_DONE = -4, - IVAS_INVALID_SOFA_FORMAT = -5, - IVAS_SOFA_UNKNOWN_VARIABLE = -6, - IVAS_SOFA_FILE_OPEN_FAILED = -7, - IVAS_SOFA_FILE_READ_FAILED = -8, - IVAS_SOFA_FILE_SEEK_FAILED = -9, - IVAS_SOFA_DATA_UNZIP_FAILED = -10, - -} ivas_result_t; - -#endif diff --git a/scripts/ivas_pytests/tests/unit_tests/disabled_test_crend_unittest.py b/scripts/ivas_pytests/tests/unit_tests/disabled_test_crend_unittest.py deleted file mode 100644 index 51345971f9..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/disabled_test_crend_unittest.py +++ /dev/null @@ -1,576 +0,0 @@ -""" - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. -""" - -import os -import subprocess -import pytest -import errno -import tempfile as tf -import sys -import shutil -from scipy.io.wavfile import read, write -import numpy as np - -unit_test_path = "/scripts/ivas_pytests" -inpath = os.getenv("TESTVECTOR_PATH_REL_GROUPB") -if not inpath: - # Assuming `data` folder is checked out at the same level as trunk - inpath = '../../../data/ivas_pytests/unit_tests/' -inpath_sh = os.getenv("TESTVECTOR_PATH_REL_TRUNK") -if not inpath_sh: - # Assuming `data` folder is checked out at the same level as trunk - inpath_sh = '/../data/ivas_pytests/unit_tests/' - -unit_test_exe = os.getenv("CREND_UNIT_TEST_BIN") -if not unit_test_exe: - if sys.platform.startswith('win32'): - unit_test_exe = 'tests/unit_tests/crend/IVAS_crend_unit_test.exe' - else: - unit_test_exe = './tests/unit_tests/crend/IVAS_crend_unit_test' - -p4EditCmd = 'p4 edit -c ' -p4AddCmd = 'p4 add -c ' -p4RevertCmd = 'p4 revert -a -c ' - - -#Input/Output formats -MONO_1 = '0' -STEREO_2 = '1' -BIN_2 = '2' -FOA_4 = '3' -MULT_CH_5_1 = '4' -MULT_CH_7_1 = '5' -MULT_CH_5_1_2 = '6' -MULT_CH_7_1_4 = '7' -HOA_9 = '8' -HOA_16 = '9' -OBA_25 = '10' - -#List of Tests -CREND_BIN_TEST = '1' -FASTCONV_BIN_TEST = '2' -PARAM_BIN_TEST = '3' -TD_BIN_TEST = '4' -CREND_ACOUSTIC_PROXIMITY = '5' -CREND_NO_DIEGETIC_TEST = '6' -CREND_REVERB = '7' - -CHECK_PASS = 1 -CHECK_FAIL = 0 -CHECK_INFMT_ERROR = 2 - -ZERO_TOL = 0 - -projects = ['/chan_stereo/','/chan_binaural/','/scen_HOA1S/','/chan_standard_510/','/chan_standard_710/'] - -out_fmt_list = [MONO_1, STEREO_2, MULT_CH_5_1, MULT_CH_7_1, MULT_CH_5_1_2, MULT_CH_7_1_4] -prox_path = inpath + 'crend/tests/proximity/bitstream/userSharingLoc.bin' -csv_path = inpath + 'crend/tests/csv/' - -rel_in_csv_file_path_crend = 'crend/tests/crend/in_csv_wav' -in_csv_file_path_crend = inpath + rel_in_csv_file_path_crend -rel_in_new_file_path_crend = 'crend/tests/crend/in_new_wav' -in_new_file_path_crend = inpath + rel_in_new_file_path_crend -rel_in_file_path_crend = 'crend/tests/crend/in_wav' -in_file_path_crend = inpath + rel_in_file_path_crend - -rel_in_file_path_reverb = 'crend/tests/reverb/in_wav' -rel_in_cfg_path_reverb = 'crend/tests/reverb' -in_file_path_reverb = inpath + rel_in_file_path_reverb -render_cfg_path = inpath + 'crend/tests/render_config' - -temp = os.getcwd() + inpath_sh + rel_in_file_path_reverb - -# D:\DEV\IVAS-Ref\trunk\scripts\ivas_pytests\testv\crend\tests - -file_list_reverb_in = os.listdir(os.getcwd() + inpath_sh + rel_in_file_path_reverb) - -in_file_path_prox = inpath + 'crend/tests/proximity/in_wav' - -rel_in_file_path_custom = 'crend/tests/custom/in_wav' -in_file_path_custom = inpath + rel_in_file_path_custom - -file_list_crend_bin = os.listdir(os.getcwd() + inpath_sh + rel_in_file_path_crend) - -file_list_crend_in = os.listdir(os.getcwd() + inpath_sh + rel_in_file_path_crend) -file_list_crend_new = os.listdir(os.getcwd() + inpath_sh + rel_in_new_file_path_crend) -file_list_crend_csv = os.listdir(os.getcwd() + inpath_sh + rel_in_csv_file_path_crend) - -file_list_crend_foa = [file for file in file_list_crend_in if "HOA" in file and ".wav" in file] - -# file_list_crend_in_new_hoa is currently unused -file_list_crend_in_new_hoa = [file for file in file_list_crend_new if "HOA" in file and ".wav" in file] - -# file_list_crend_in_48k is currently unused -file_list_crend_in_48k = [file for file in file_list_crend_in if "48k" in file and ".wav" in file] - -file_list_custom_bin = os.listdir(os.getcwd() + inpath_sh + rel_in_file_path_custom) - -# file_list_custom_bin_48k is currently unused -file_list_custom_bin_48k = [file for file in file_list_custom_bin if "48k" in file and ".wav" in file] - -file_list_custom_hoa = [file for file in file_list_custom_bin if "HOA" in file and ".wav" in file] -def check_and_makedir(dir_path): - if not os.path.exists(dir_path): - try: - os.makedirs(dir_path) - except OSError as e: - if e.errno != errno.EEXIST: - raise # raises the error again - -crend_unit_test_proximity = [(OBA_25, MONO_1, '/proximity/', prox_path),] - -# bin_test_cases = [CREND_BIN_TEST, FASTCONV_BIN_TEST, PARAM_BIN_TEST, TD_BIN_TEST] -bin_test_cases = [CREND_BIN_TEST] - -#CREND_TEST_CSV -@pytest.mark.create_ref -@pytest.mark.parametrize("file", file_list_crend_csv) -def test_ivas_crend_csv(rootdir, update_ref, p4_CL, p4cmd_active, reference_path, dut_base_path, file): - os.chdir(rootdir + unit_test_path) - - if ".wav" in file: - if '32k' in file: - fs = '32' - elif '16k' in file: - fs = '16' - elif '48k' in file: - fs = '48' - else: - fs = 'NA' - - if fs != 'NA': - if reference_path: - ref_file_path_csv = f"{reference_path}/crend/otr/wav" - else: - ref_file_path_csv = inpath + 'crend/tests/otr/ref_wav' - if dut_base_path: - out_file_path_csv = f"{dut_base_path}/crend/otr/wav" - else: - out_file_path_csv = inpath + 'crend/tests/otr/out_wav' - check_and_makedir(out_file_path_csv) - if update_ref == 1: - check_and_makedir(ref_file_path_csv) - - - infile = in_csv_file_path_crend + "/" + file - reffile1 = ref_file_path_csv + "/" + file[:-4] + '_binRot_csv1_ref.wav' - reffile2 = ref_file_path_csv + "/" + file[:-4] + '_binRot_csv2_ref.wav' - reffile3 = ref_file_path_csv + "/" + file[:-4] + '_binRot_csv2_avg.wav' - outfile1 = out_file_path_csv + "/" + file[:-4] + '_binRot_csv1_ref.wav' - outfile2 = out_file_path_csv + "/" + file[:-4] + '_binRot_csv2_ref.wav' - outfile3 = out_file_path_csv + "/" + file[:-4] + '_binRot_csv2_avg.wav' - csvfile1 = csv_path + 'headrot.csv' - csvfile2 = csv_path + 'headrot_case00_3000_q.csv' - - ivas_crend_run(CHECK_PASS, '48', CREND_BIN_TEST, HOA_16, BIN_2, infile, reffile1, outfile1, 'NA', 'NA', 'NA', csvfile1, 'ref', 'NA', 'NA', 'NA', 'NA', update_ref, '', p4cmd_active) - ivas_crend_run(CHECK_PASS, '48', CREND_BIN_TEST, HOA_16, BIN_2, infile, reffile2, outfile2, 'NA', 'NA', 'NA', csvfile2, 'ref', 'NA', 'NA', 'NA', 'NA', update_ref, '', p4cmd_active) - ivas_crend_run(CHECK_PASS, '48', CREND_BIN_TEST, HOA_16, BIN_2, infile, reffile3, outfile3, 'NA', 'NA', 'NA', csvfile2, 'avg', 'NA', 'NA', 'NA', 'NA', update_ref, '', p4cmd_active) - -#CREND_REVERB -@pytest.mark.create_ref -@pytest.mark.parametrize("file", file_list_reverb_in) -def test_ivas_crend_reverb(rootdir, update_ref, p4_CL, p4cmd_active, reference_path, dut_base_path, file): - os.chdir(rootdir + unit_test_path) - - if ".wav" in file: - if '32k' in file: - fs = '32' - elif '16k' in file: - fs = '16' - elif '48k' in file: - fs = '48' - else: - fs = 'NA' - - if fs != 'NA': - if reference_path: - ref_file_path_reverb = f"{reference_path}/crend/reverb/wav" - else: - ref_file_path_reverb = inpath + 'crend/tests/reverb/ref_wav' - if dut_base_path: - out_file_path_reverb = f"{dut_base_path}/crend/reverb/wav" - else: - out_file_path_reverb = inpath + 'crend/tests/reverb/out_wav' - check_and_makedir(out_file_path_reverb) - if update_ref == 1: - check_and_makedir(ref_file_path_reverb) - - infile = in_file_path_reverb + '/' + file - reffile = ref_file_path_reverb + '/' + file[:-4] + '_reverb.wav' - outfile = out_file_path_reverb + '/' + file[:-4] + '_reverb.wav' - render_config_file_path = render_cfg_path + '/' + 'just_reverb.cfg' - - ivas_crend_run(CHECK_PASS, fs, CREND_BIN_TEST, MULT_CH_5_1, BIN_2, infile, reffile, outfile, 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', render_config_file_path, update_ref, p4_CL, p4cmd_active) - -#CREND_PROXIMITY -@pytest.mark.create_ref -@pytest.mark.parametrize("ifmt, ofmt, project, prox", crend_unit_test_proximity) -def test_ivas_crend_proximity(rootdir, update_ref, p4_CL, p4cmd_active, reference_path, dut_base_path, ifmt, ofmt, project, prox): - - project += "" # just to remove a warning about an unused argument - - os.chdir(rootdir + unit_test_path) - - if reference_path: - ref_file_path_prox = f"{reference_path}/crend/proximity/wav" - else: - ref_file_path_prox = inpath + 'crend/tests/proximity/ref_wav' - if dut_base_path: - out_file_path_prox = f"{dut_base_path}/crend/proximity/wav" - else: - out_file_path_prox = inpath + 'crend/tests/proximity/out_wav' - check_and_makedir(out_file_path_prox) - if update_ref == 1: - check_and_makedir(ref_file_path_prox) - - infile = in_file_path_prox + "/" + 'au_up_oba.wav' - reffile = ref_file_path_prox + "/" + 'au_up_oba_100_prox.wav' - outfile = out_file_path_prox + "/" + 'au_up_oba_100_prox.wav' - - ivas_crend_run(CHECK_PASS, '48', CREND_ACOUSTIC_PROXIMITY, ifmt, ofmt, infile, reffile, outfile, 'NA', prox, 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', update_ref, p4_CL, p4cmd_active) - -#CREND_NO_DIEGETIC_TEST -@pytest.mark.create_ref -def test_ivas_crend_non_diegitic(rootdir, update_ref, p4_CL, p4cmd_active, reference_path, dut_base_path): - os.chdir(rootdir + unit_test_path) - - if reference_path: - ref_file_path_crend = f"{reference_path}/crend/crend/wav" - else: - ref_file_path_crend = inpath + 'crend/tests/crend/ref_wav' - if dut_base_path: - out_file_path_crend = f"{dut_base_path}/crend/crend/wav" - else: - out_file_path_crend = inpath + 'crend/tests/crend/out_wav' - check_and_makedir(out_file_path_crend) - if update_ref == 1: - check_and_makedir(ref_file_path_crend) - - fileName = 'stv48c' - - infile = in_new_file_path_crend + "/" + fileName + '.wav' - reffile = ref_file_path_crend + "/" + fileName + '_100_48k_200_non_diegetic_1.wav' - outfile = out_file_path_crend + "/" + fileName + '_100_48k_200_no_diegetic_1.wav' - - ivas_crend_run(CHECK_PASS, '48', CREND_NO_DIEGETIC_TEST, MONO_1, STEREO_2, infile, reffile, outfile, 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', '1', 'NA', 'NA', update_ref, p4_CL, p4cmd_active) - - reffile = ref_file_path_crend + "/" + fileName + '_100_48k_200_non_diegetic_-1.wav' - outfile = out_file_path_crend + "/" + fileName + '_100_48k_200_no_diegetic_-1.wav' - - ivas_crend_run(CHECK_PASS, '48', CREND_NO_DIEGETIC_TEST, MONO_1, STEREO_2, infile, reffile, outfile, 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', '-1', 'NA', 'NA', update_ref, p4_CL, p4cmd_active) - - reffile = ref_file_path_crend + "/" + fileName + '_100_48k_200_non_diegetic_-0.5.wav' - outfile = out_file_path_crend + "/" + fileName + '_100_48k_200_no_diegetic_-0.5.wav' - - ivas_crend_run(CHECK_PASS, '48', CREND_NO_DIEGETIC_TEST, MONO_1, STEREO_2, infile, reffile, outfile, 'NA', 'NA', 'NA', 'NA', 'NA', 'NA', '-0.5', 'NA', 'NA', update_ref, p4_CL, p4cmd_active) - - -#CREND_BIN_TEST -@pytest.mark.create_ref -def test_ivas_crend_reference_tests_bin_test(rootdir, update_ref, p4_CL, p4cmd_active, reference_path, dut_base_path): - os.chdir(rootdir + unit_test_path) - - if reference_path: - ref_file_path_crend = f"{reference_path}/crend/crend/wav" - else: - ref_file_path_crend = inpath + 'crend/tests/crend/ref_wav' - if dut_base_path: - out_file_path_crend = f"{dut_base_path}/crend/crend/wav" - else: - out_file_path_crend = inpath + 'crend/tests/crend/out_wav' - check_and_makedir(out_file_path_crend) - if update_ref == 1: - check_and_makedir(ref_file_path_crend) - - test_cases = bin_test_cases - ir_cases = ['NA','brir'] - add_to_path = '' - - for ir_case in ir_cases: - for test_case in test_cases: - if test_case == CREND_BIN_TEST: - add_to_path = add_to_path + '_' + 'crend' - if 'brir' == ir_case : - add_to_path = 'brir' - else: - add_to_path = 'hrir' - elif test_case == FASTCONV_BIN_TEST: - add_to_path = add_to_path + '_' + 'fastconv' - if 'brir' == ir_case : - add_to_path = 'brir' - else: - add_to_path = 'hrir' - elif test_case == PARAM_BIN_TEST: - if 'brir' == ir_case : - continue - add_to_path = 'hrir' - add_to_path = add_to_path + '_' + 'param' - elif test_case == TD_BIN_TEST: - if 'brir' == ir_case : - continue - add_to_path = 'hrir' - add_to_path = add_to_path + '_' + 'td' - else: - continue - for file in file_list_crend_bin: - if ".wav" in file: - if '32k' in file: - fs = '32' - elif '16k' in file: - fs = '16' - else: - fs = '48' - if '510' in file: - if PARAM_BIN_TEST == test_case : - continue - in_fmt = MULT_CH_5_1 - elif '710' in file: - if PARAM_BIN_TEST == test_case : - continue - in_fmt = MULT_CH_7_1 - elif 'HOA' in file: - if TD_BIN_TEST == test_case : - continue - if 'brir' == ir_case : - continue - in_fmt = FOA_4 - elif '512' in file: - if PARAM_BIN_TEST == test_case : - continue - in_fmt = MULT_CH_5_1_2 - elif '714' in file: - if PARAM_BIN_TEST == test_case : - continue - in_fmt = MULT_CH_7_1_4 - elif 'HOA1' in file: - if TD_BIN_TEST == test_case : - continue - if 'brir' == ir_case : - continue - in_fmt = FOA_4 - elif 'HOA2' in file: - if TD_BIN_TEST == test_case : - continue - if 'brir' in ir_case : - continue - in_fmt = HOA_9 - elif 'HOA3' in file: - if TD_BIN_TEST == test_case : - continue - if 'brir' == ir_case : - continue - in_fmt = HOA_16 - else: - continue - - infile = in_file_path_crend + "/" + file - reffile = f"{ref_file_path_crend}/{file[:-4]}_" + add_to_path + ".wav" - outfile = f"{out_file_path_crend}/{file[:-4]}_" + add_to_path + ".wav" - - ivas_crend_run(CHECK_PASS, fs, test_case, in_fmt, BIN_2, infile, reffile, outfile, ir_case, 'NA', 'NA','NA', 'NA', 'NA', 'NA', 'NA', 'NA', update_ref, p4_CL, p4cmd_active) - - -####### run cmd ####### - -def ivas_crend_run(check_pass, fs, test, in_fmt, out_fmt, infile, reffile, outfile, use_brir, path_prox, use_limiter, csvfile, orientrk, use_lp_lfe, no_diegetic_pan, zero_tol, render_config_file_path, update_ref, p4_CL, p4cmd_active): - - cmd = [ - unit_test_exe, - '-test', test, - ] - - if fs != 'NA': - cmd = cmd + ['-sr', fs] - if in_fmt != 'NA': - cmd = cmd + ['-ifmt', in_fmt] - if out_fmt != 'NA': - cmd = cmd + ['-ofmt', out_fmt] - if infile != 'NA': - cmd = cmd + ['-i', infile] - if outfile != 'NA': - cmd = cmd + ['-o', outfile] - if reffile != 'NA' and update_ref != 1: - cmd = cmd + ['-r', reffile] - if csvfile != 'NA': - cmd = cmd + ['-t', csvfile] - if orientrk != 'NA': - cmd = cmd + ['-otr', orientrk] - if use_limiter != 'NA': - cmd = cmd + ['-limiter'] - if path_prox != 'NA': - cmd = cmd + ['-prox', path_prox] - if use_brir != 'NA': - cmd = cmd + ['-brir', ] - if use_lp_lfe != 'NA': - cmd = cmd + ['-lp_lfe'] - if no_diegetic_pan != 'NA': - if no_diegetic_pan == '-1': - cmd = cmd + ['-no_diegetic_pan', 'left' ] - else: - if no_diegetic_pan == '1': - cmd = cmd + ['-no_diegetic_pan', 'right' ] - else: - if no_diegetic_pan == '0': - cmd = cmd + ['-no_diegetic_pan', 'center' ] - else: - cmd = cmd + ['-no_diegetic_pan', no_diegetic_pan ] - if zero_tol != 'NA': - cmd = cmd + ["-zero_tol"] - if render_config_file_path != 'NA': - cmd = cmd + ["-render_config", render_config_file_path] - - - - ## reference update code here - if update_ref == 1: - new_file = False - if os.path.exists(reffile) and p4cmd_active: - p4cmd = p4EditCmd + p4_CL + ' ' + reffile - assert subprocess.call(p4cmd.split(), shell=False) == 0 - else: - new_file = True - - stdoutfile = tf.NamedTemporaryFile(mode='w', suffix='.txt', prefix='stdout', dir='.', delete=False) - stderrfile = tf.NamedTemporaryFile(mode='w', suffix='.txt', prefix='stderr', dir='.', delete=False) - stdoutname = stdoutfile.name - stderrname = stderrfile.name - print(' '.join(cmd)) - test_status = subprocess.call(cmd, shell=False, stdout=stdoutfile, stderr=stderrfile) - stdoutfile.close() - stderrfile.close() - - if update_ref == 1: - assert test_status == 0 - # convert raw out to wav - shutil.copyfile(outfile, reffile) - # raw2wav(outfile, reffile, int(fs)*1000, format_chans(out_fmt)) - ##Revert if unchanged## - if p4cmd_active: - p4cmd = p4RevertCmd + p4_CL + ' ' + reffile - assert subprocess.call(p4cmd.split(), shell=False) == 0 - if new_file: - p4cmd = p4AddCmd + p4_CL + ' ' + reffile - assert subprocess.call(p4cmd.split(), shell=False) == 0 - ## ref update code ends - else: - # assert integer_frame_check(fs, outfile, out_fmt, test) - # print_error_warning(stderrname) ## print stderr msgs by default - - print("Test status: " + str(test_status)) - if check_pass == CHECK_PASS: - assert test_status == 0 - elif check_pass == CHECK_FAIL: - assert test_status != 0 - elif check_pass == CHECK_INFMT_ERROR: - assert test_status != 0 - assert find_error_warning(stderrname) == 1 - - if os.path.isfile(outfile): - os.remove(outfile) - - - if os.path.isfile(stdoutname): - os.remove(stdoutname) - - if os.path.isfile(stderrname): - os.remove(stderrname) - - - -def find_clipping_warning(filename): - f = open(filename,'r') - clipped = 0 - for line in f: - print(line) - if "IVAS Common Renderer Clipped:" in line: - clipped = 1 - print(clipped) - return clipped - f.close() -def find_error_warning(filename): - f = open(filename,'r') - clipped = 0 - for line in f: - if "Error: CREND HR may only be turned on for SPAR (FOA) inputs." in line: - clipped = 1 - print(clipped) - return clipped - f.close() - -def print_error_warning(filename): - f = open(filename,'r') - print("############Logged STDERR MSGS START##################") - for line in f: - print(line) - print("############Logged STDERR MSGS END##################") - f.close() - -def integer_frame_check(fs, outfile, out_fmt, test): - num_chan = format_chans(out_fmt) - frsz = int(fs)*1000*0.02 - samples = os.stat(outfile).st_size/num_chan/2 - if samples/frsz != samples//frsz: - print(samples, frsz, samples/frsz, samples//frsz) - return False - else: - return True - -def raw2wav(rawfile, wavfile, fs, num_ch): - x = np.fromfile(rawfile, dtype=np.int16) - # numpy fills arrays along 1st dimension before the 0th? - x = x.reshape(len(x)//num_ch, num_ch) - write(wavfile, fs, x) - -def format_chans(out_fmt): - if out_fmt == MONO_1: - num_chan = 1 - elif out_fmt == STEREO_2: - num_chan = 2 - elif out_fmt == BIN_2: - num_chan = 2 - elif out_fmt == FOA_4: - num_chan = 4 - elif out_fmt == MULT_CH_5_1: - num_chan = 6 - elif out_fmt == MULT_CH_7_1: - num_chan = 8 - elif out_fmt == MULT_CH_5_1_2: - num_chan = 8 - elif out_fmt == MULT_CH_7_1_4: - num_chan = 12 - elif out_fmt == HOA_9: - num_chan = 9 - elif out_fmt == HOA_16: - num_chan = 16 - else: - print("Invalid output format.") - assert 0 - return num_chan diff --git a/scripts/td_object_renderer/object_renderer_standalone/Makefile b/scripts/td_object_renderer/object_renderer_standalone/Makefile deleted file mode 100644 index c8a43fc6f1..0000000000 --- a/scripts/td_object_renderer/object_renderer_standalone/Makefile +++ /dev/null @@ -1,184 +0,0 @@ -# GNU Makefile - -# Paths -SRC_LIBCOM = ../../../lib_com -SRC_LIBDEBUG = ../../../lib_debug -SRC_LIBDEC = ../../../lib_dec -SRC_LIBENC = ../../../lib_enc -SRC_LIBREND = ../../../lib_rend -SRC_LIBUTIL = ../../../lib_util -SRC_APP = ./object_renderer_standalone -BUILD = build -OBJDIR = obj - -SRC_DIRS = $(sort -u $(SRC_LIBCOM) $(SRC_LIBDEBUG) $(SRC_LIBDEC) $(SRC_LIBENC) $(SRC_LIBREND) $(SRC_LIBUTIL) $(SRC_APP)) - -# Name of CLI binaries -CLI_REN ?= renderer_standalone -LIB_LIBCOM ?= libivascom.a -LIB_LIBDEBUG ?= libivasdebug.a -LIB_LIBDEC ?= libivasdec.a -LIB_LIBENC ?= libivasenc.a -LIB_LIBREND ?= libivasrend.a -LIB_LIBUTIL ?= libivasutil.a - -# Default tool settings -CC ?= gcc -RM ?= rm -f -AR ?= ar - -# Detect system -UNAME_S := $(shell uname -s) - -# Switches for cross-platform builds (i.e. build 32 bit code on 64 bit platforms) -ifneq "$(TARGET_PLATFORM)" "" -ifeq ("$(TARGET_PLATFORM)", "$(findstring $(TARGET_PLATFORM), i386 i586 i686)") - CFLAGS += -m32 - LDFLAGS += -m32 -endif - -ifeq ("$(TARGET_PLATFORM)", "$(findstring $(TARGET_PLATFORM), x86_64)") - CFLAGS += -m64 - LDFLAGS += -m64 -endif -endif - -ifndef VERBOSE -QUIET_CC = @echo ' ' Compiling $<; -QUIET_LINK= @echo ' ' Linking $@; -QUIET_AR = @echo ' ' Archiving $@; -QUIET = @ -endif - -# C compiler flags -CFLAGS += -std=c99 -pedantic -Wcast-qual -Wall -W -Wextra -Wno-long-long \ - -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes \ - -Werror-implicit-function-declaration -Wno-unused-parameter \ - -Wno-unused-function -Wno-implicit-fallthrough - -# libs to link -LDLIBS += -lm - -# Clang sanitizer compiler options -CCCLANG = clang -ifeq "$(CLANG)" "1" -CC = $(CCCLANG) -CFLAGS += -fsanitize=memory -LDFLAGS += -fsanitize=memory -endif -ifeq "$(CLANG)" "2" -CC = $(CCCLANG) -CFLAGS += -fsanitize=address -LDFLAGS += -fsanitize=address -endif -ifeq "$(CLANG)" "3" -CC = $(CCCLANG) -CFLAGS += -fsanitize=undefined -LDFLAGS += -fsanitize=undefined -endif - - -CFLAGS += -DTDREND_HRTF_TABLE_METHODS -LDFLAGS += -DTDREND_HRTF_TABLE_METHODS - -ifeq "$(RELEASE)" "1" -CFLAGS += -DRELEASE -OPTIM ?= 2 -endif - -ifneq "$(DEBUG)" "0" -CFLAGS += -g3 -LDFLAGS += -g3 -endif - -ifeq "$(GCOV)" "1" -CFLAGS += -fprofile-arcs -ftest-coverage -LDFLAGS += -fprofile-arcs -ftest-coverage -endif - -ifeq "$(STRIP)" "1" -CFLAGS += -fdata-sections -ffunction-sections -ifneq ($(UNAME_S),Darwin) -LDFLAGS += -Wl,-gc-sections -static -else -LDFLAGS += -Wl,-dead_strip -endif -endif - -OPTIM ?= 0 -CFLAGS += -O$(OPTIM) - -CFLAGS += $(foreach DIR,$(SRC_DIRS),-I$(DIR)) - -# Source file search paths -VPATH = $(SRC_DIRS) - -############################################################################### - -SRCS_LIBCOM = $(foreach DIR,$(SRC_LIBCOM),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LIBDEBUG = $(foreach DIR,$(SRC_LIBDEBUG),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LIBDEC = $(foreach DIR,$(SRC_LIBDEC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LIBENC = $(foreach DIR,$(SRC_LIBENC),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LIBREND = $(foreach DIR,$(SRC_LIBREND),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) -SRCS_LIBUTIL = $(foreach DIR,$(SRC_LIBUTIL),$(patsubst $(DIR)/%,%,$(wildcard $(DIR)/*.c))) - -OBJS_LIBCOM = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.o)) -OBJS_LIBDEBUG = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEBUG:.c=.o)) -OBJS_LIBDEC = $(addprefix $(OBJDIR)/,$(SRCS_LIBDEC:.c=.o)) -OBJS_LIBENC = $(addprefix $(OBJDIR)/,$(SRCS_LIBENC:.c=.o)) -OBJS_LIBREND = $(addprefix $(OBJDIR)/,$(SRCS_LIBREND:.c=.o)) -OBJS_LIBUTIL = $(addprefix $(OBJDIR)/,$(SRCS_LIBUTIL:.c=.o)) -OBJS_REN = $(OBJDIR)/renderer_standalone.o - - -DEPS = $(addprefix $(OBJDIR)/,$(SRCS_LIBCOM:.c=.P) $(SRCS_LIBDEBUG:.c=.P) $(SRCS_LIBDEC:.c=.P) \ - $(SRCS_LIBENC:.c=.P) $(SRCS_LIBUTIL:.c=.P)) - -############################################################################### - -.PHONY: all clean clean_all - -all: $(CLI_REN) - -$(OBJDIR): - $(QUIET)mkdir -p $(OBJDIR) - -$(LIB_LIBCOM): $(OBJS_LIBCOM) - $(QUIET_AR)$(AR) rcs $@ $^ - -$(LIB_LIBDEBUG): $(OBJS_LIBDEBUG) - $(QUIET_AR)$(AR) rcs $@ $^ - -$(LIB_LIBDEC): $(OBJS_LIBDEC) $(OBJS_LIBREND) - $(QUIET_AR)$(AR) rcs $@ $^ - -$(LIB_LIBENC): $(OBJS_LIBENC) - $(QUIET_AR)$(AR) rcs $@ $^ - -$(LIB_LIBREND): $(OBJS_LIBREND) - $(QUIET_AR)$(AR) rcs $@ $^ - -$(LIB_LIBUTIL): $(OBJS_LIBUTIL) - $(QUIET_AR)$(AR) rcs $@ $^ - -$(CLI_REN): $(LIB_LIBENC) $(LIB_LIBDEC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(OBJS_REN) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_REN) -L. -livasdebug -livasutil -livasenc -livasdec -livascom $(LDLIBS) -o $(CLI_REN) - -libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBUTIL) - -clean: - $(QUIET)$(RM) $(OBJS_LIBENC) $(OBJS_LIBDEC) $(OBJS_REN) $(DEPS) - $(QUIET)$(RM) $(DEPS:.P=.d) - $(QUIET)test ! -d $(OBJDIR) || rm -rf $(OBJDIR) - -clean_all: clean - $(QUIET)$(RM) $(CLI_REN) $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBUTIL) $(LIB_LIBREND) - -$(OBJDIR)/%.o : %.c | $(OBJDIR) - $(QUIET_CC)$(CC) $(CFLAGS) -c -MD -o $@ $< - @cp $(OBJDIR)/$*.d $(OBJDIR)/$*.P; \ - sed -e 's/#.*//' -e 's/^[^:]*: *//' -e 's/ *\\$$//' \ - -e '/^$$/ d' -e 's/$$/ :/' < $(OBJDIR)/$*.d >> $(OBJDIR)/$*.P; \ - $(RM) $(OBJDIR)/$*.d - --include $(DEPS) diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.sln b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.sln deleted file mode 100644 index 72b9350406..0000000000 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.sln +++ /dev/null @@ -1,68 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.28307.136 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_dec", "..\..\..\Workspace_msvc\lib_dec.vcxproj", "{E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_com", "..\..\..\Workspace_msvc\lib_com.vcxproj", "{39EC200D-7795-4FF8-B214-B24EDA5526AE}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_rend", "..\..\..\Workspace_msvc\lib_rend.vcxproj", "{718DE063-A18B-BB72-9150-62B892E6FFA6}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_util", "..\..\..\Workspace_msvc\lib_util.vcxproj", "{2FA8F384-0775-F3B7-F8C3-85209222FC70}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lib_debug", "..\..\..\Workspace_msvc\lib_debug.vcxproj", "{54509728-928B-44D9-A118-A6F92F08B34F}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "object_renderer_standalone", "object_renderer_standalone.vcxproj", "{75AE3898-3FDF-4AE2-86A1-838D0E78545E}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - Unittests|Win32 = Unittests|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {75AE3898-3FDF-4AE2-86A1-838D0E78545E}.Debug|Win32.ActiveCfg = Debug|Win32 - {75AE3898-3FDF-4AE2-86A1-838D0E78545E}.Debug|Win32.Build.0 = Debug|Win32 - {75AE3898-3FDF-4AE2-86A1-838D0E78545E}.Release|Win32.ActiveCfg = Release|Win32 - {75AE3898-3FDF-4AE2-86A1-838D0E78545E}.Release|Win32.Build.0 = Release|Win32 - {75AE3898-3FDF-4AE2-86A1-838D0E78545E}.Unittests|Win32.ActiveCfg = Release|Win32 - {75AE3898-3FDF-4AE2-86A1-838D0E78545E}.Unittests|Win32.Build.0 = Release|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Debug|Win32.ActiveCfg = Debug|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Debug|Win32.Build.0 = Debug|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Release|Win32.ActiveCfg = Release|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Release|Win32.Build.0 = Release|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {2FA8F384-0775-F3B7-F8C3-85209222FC70}.Unittests|Win32.Build.0 = Unittests|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Debug|Win32.ActiveCfg = Debug|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Debug|Win32.Build.0 = Debug|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Release|Win32.ActiveCfg = Release|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Release|Win32.Build.0 = Release|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {E822DDAF-0F5F-4CD0-A694-38AE69DE74D3}.Unittests|Win32.Build.0 = Unittests|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Debug|Win32.ActiveCfg = Debug|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Debug|Win32.Build.0 = Debug|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Release|Win32.ActiveCfg = Release|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Release|Win32.Build.0 = Release|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {39EC200D-7795-4FF8-B214-B24EDA5526AE}.Unittests|Win32.Build.0 = Unittests|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Debug|Win32.ActiveCfg = Debug|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Debug|Win32.Build.0 = Debug|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Release|Win32.ActiveCfg = Release|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Release|Win32.Build.0 = Release|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {54509728-928B-44D9-A118-A6F92F08B34F}.Unittests|Win32.Build.0 = Unittests|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Debug|Win32.ActiveCfg = Debug|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Debug|Win32.Build.0 = Debug|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Release|Win32.ActiveCfg = Release|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Release|Win32.Build.0 = Release|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Unittests|Win32.ActiveCfg = Unittests|Win32 - {718DE063-A18B-BB72-9150-62B892E6FFA6}.Unittests|Win32.Build.0 = Unittests|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {16E75611-7E35-43B5-B2CA-01E9C9B952F1} - EndGlobalSection -EndGlobal diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj deleted file mode 100644 index 925450bae2..0000000000 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj +++ /dev/null @@ -1,121 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup Label="ProjectConfigurations"> - <ProjectConfiguration Include="Debug|Win32"> - <Configuration>Debug</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - <ProjectConfiguration Include="Release|Win32"> - <Configuration>Release</Configuration> - <Platform>Win32</Platform> - </ProjectConfiguration> - </ItemGroup> - <PropertyGroup Label="Globals"> - <VCProjectVersion>15.0</VCProjectVersion> - <ProjectGuid>{75AE3898-3FDF-4AE2-86A1-838D0E78545E}</ProjectGuid> - <RootNamespace>objectrendererstandalone</RootNamespace> - <WindowsTargetPlatformVersion>10.0.17763.0</WindowsTargetPlatformVersion> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>true</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> - <CharacterSet>MultiByte</CharacterSet> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration"> - <ConfigurationType>Application</ConfigurationType> - <UseDebugLibraries>false</UseDebugLibraries> - <PlatformToolset>v141</PlatformToolset> - <WholeProgramOptimization>true</WholeProgramOptimization> - <CharacterSet>MultiByte</CharacterSet> - </PropertyGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> - <ImportGroup Label="ExtensionSettings"> - </ImportGroup> - <ImportGroup Label="Shared"> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" /> - </ImportGroup> - <PropertyGroup Label="UserMacros" /> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <OutDir>.\</OutDir> - <IntDir>.\Debug_Renderer_Standalone\</IntDir> - <TargetName>renderer_standalone</TargetName> - <LinkIncremental>false</LinkIncremental> - </PropertyGroup> - <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <OutDir>.\</OutDir> - <IntDir>.\Release_Renderer_Standalone\</IntDir> - <TargetName>renderer_standalone</TargetName> - <LinkIncremental>false</LinkIncremental> - </PropertyGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> - <ClCompile> - <WarningLevel>Level4</WarningLevel> - <Optimization>Disabled</Optimization> - <SDLCheck>true</SDLCheck> - <ConformanceMode>false</ConformanceMode> - <AdditionalIncludeDirectories>..\..\..\lib_enc;..\..\..\lib_dec;..\..\..\lib_com;..\..\..\lib_debug;..\..\..\lib_util;..\..\..\lib_rend;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <DebugInformationFormat>OldStyle</DebugInformationFormat> - <SupportJustMyCode>false</SupportJustMyCode> - <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions);TDREND_HRTF_TABLE_METHODS</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary> - <ProgramDataBaseFileName>.\Debug_Renderer_Standalone\renderer_standalone.pdb</ProgramDataBaseFileName> - <ExceptionHandling /> - <RuntimeTypeInfo>false</RuntimeTypeInfo> - </ClCompile> - <Link> - <OutputFile>.\renderer_standalone.exe</OutputFile> - <ProgramDatabaseFile>.\Debug_Renderer_Standalone\renderer_standalone.pdb</ProgramDatabaseFile> - <SubSystem>Console</SubSystem> - </Link> - </ItemDefinitionGroup> - <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> - <ClCompile> - <WarningLevel>Level3</WarningLevel> - <Optimization>MaxSpeed</Optimization> - <FunctionLevelLinking>true</FunctionLevelLinking> - <IntrinsicFunctions>true</IntrinsicFunctions> - <SDLCheck>true</SDLCheck> - <ConformanceMode>true</ConformanceMode> - <AdditionalIncludeDirectories>..\..\..\lib_enc;..\..\..\lib_dec;..\..\..\lib_com;..\..\..\lib_debug;..\..\..\lib_util;..\..\..\lib_rend;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> - <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;WIN32;%(PreprocessorDefinitions);OBJECT_RENDERER_EXTERNAL_METADATA</PreprocessorDefinitions> - <RuntimeLibrary>MultiThreaded</RuntimeLibrary> - <ProgramDataBaseFileName>$(IntDir)renderer_standalone.pdb</ProgramDataBaseFileName> - </ClCompile> - <Link> - <EnableCOMDATFolding>true</EnableCOMDATFolding> - <OptimizeReferences>true</OptimizeReferences> - <OutputFile>.\renderer_standalone.exe</OutputFile> - <GenerateDebugInformation>false</GenerateDebugInformation> - </Link> - </ItemDefinitionGroup> - <ItemGroup> - <ClCompile Include="object_renderer_standalone\renderer_standalone.c" /> - </ItemGroup> - <ItemGroup> - <ProjectReference Include="..\..\..\Workspace_msvc\lib_com.vcxproj"> - <Project>{39ec200d-7795-4ff8-b214-b24eda5526ae}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\Workspace_msvc\lib_debug.vcxproj"> - <Project>{54509728-928b-44d9-a118-a6f92f08b34f}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\Workspace_msvc\lib_dec.vcxproj"> - <Project>{e822ddaf-0f5f-4cd0-a694-38ae69de74d3}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\Workspace_msvc\lib_rend.vcxproj"> - <Project>{718de063-a18b-bb72-9150-62b892e6ffa6}</Project> - </ProjectReference> - <ProjectReference Include="..\..\..\Workspace_msvc\lib_util.vcxproj"> - <Project>{2fa8f384-0775-f3b7-f8c3-85209222fc70}</Project> - </ProjectReference> - </ItemGroup> - <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> - <ImportGroup Label="ExtensionTargets"> - </ImportGroup> -</Project> \ No newline at end of file diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj.filters b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj.filters deleted file mode 100644 index 880c4e60a8..0000000000 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> - <ItemGroup> - <Filter Include="Source Files"> - <UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier> - <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions> - </Filter> - <Filter Include="Header Files"> - <UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier> - <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions> - </Filter> - <Filter Include="Resource Files"> - <UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier> - <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions> - </Filter> - </ItemGroup> - <ItemGroup> - <ClCompile Include="object_renderer_standalone\renderer_standalone.c"> - <Filter>Source Files</Filter> - </ClCompile> - </ItemGroup> -</Project> \ No newline at end of file diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c deleted file mode 100644 index b2963093a2..0000000000 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ /dev/null @@ -1,603 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#define _USE_MATH_DEFINES -#include <math.h> - -#include "options.h" -#include "stdint.h" -#include "prot.h" -#include "ivas_prot.h" -#include "ivas_cnst.h" -#include "ivas_stat_dec.h" -#include "cnst.h" -#include "wmops.h" -#include "hrtf_file_reader.h" -#include "ivas_error.h" - -/*------------------------------------------------------------------------------------------* - * Constants - *------------------------------------------------------------------------------------------*/ - -#define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ -#define NUM_ISM_METADATA_PER_LINE 4 /* Number of ISM metadata per line in a metadata file */ - -/*---------------------------------------------------------------------* - * Local function prototypes - *---------------------------------------------------------------------*/ -static char *to_upper( char *str ); -static void usage_rend( void ); -static void readMetadata( FILE *file, ISM_METADATA_HANDLE hIsmMetaData ); - -static void ivas_binaural_add_LFE_local( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - int16_t output_frame, /* i : length of input frame */ - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ - const int8_t render_lfe /* i : render lfe flag */ -); - -/*---------------------------------------------------------------------* - * usage_rend() - * - * Print the usage of the "renderer_standalone" program - *---------------------------------------------------------------------*/ - -static void usage_rend( void ) -{ - fprintf( stdout, "Usage: renderer_standalone.exe [Options] Channels Metadata Fs InputAudio OutputAudio\n\n" ); - - fprintf( stdout, "Mandatory parameters:\n" ); - fprintf( stdout, "---------------------\n" ); - fprintf( stdout, "Channels : Number of channels\n" ); - fprintf( stdout, "Metadata : Metadata files, number of files specified by Channels\n" ); - fprintf( stdout, "Fs : Sampling rate\n" ); - fprintf( stdout, "InputAudio : Audio to be rendered, interleaved Channels\n" ); - fprintf( stdout, "OutputAudio : Rendered output audio\n\n" ); - - fprintf( stdout, "Options:\n" ); - fprintf( stdout, "--------\n" ); - fprintf( stdout, "-T File : Head rotation specified by external trajectory File\n" ); - fprintf( stdout, "-hrtf File : HRTF filter file (if not specified: use default model from ROM)\n" ); - fprintf( stdout, "-mc Conf : Run renderer on multichannel input, where Conf is one of \n" ); - fprintf( stdout, " 5_1, 7_1, 5_1_2, 5_1_4 and 7_1_4. Note: In this mode the Channels\n" ); - fprintf( stdout, " and Metadata arguments are omitted.\n" ); - fprintf( stdout, "\n" ); - - exit( -1 ); -} - - -/*------------------------------------------------------------------------------------------* - * Global variables - *------------------------------------------------------------------------------------------*/ - -int32_t frame = 0; /* Counter of frames */ - - -/*------------------------------------------------------------------------------------------* - * Standalone Renderer program - * - * - *------------------------------------------------------------------------------------------*/ -int main( int argc, char *argv[] ) -{ - int16_t nFrameLength; - int16_t n, nS, nSamplesRead, i, j; - int16_t offset; - - float *MixFrame; - float output[MAX_CICP_CHANNELS][L_FRAME48k]; - int16_t NumLdspks = 2; - int16_t *MixFrameWav; - int16_t *input_buff; - int16_t nChannels; - FILE *f_input; - FILE *f_output; - FILE *f_quat_traj; - float x, y, z, w; - FILE *f_metadata[MAX_NUM_OBJECTS]; - Decoder_Struct st_ivas_static; - Decoder_Struct *st_ivas = &st_ivas_static; - - MixFrame = count_malloc( 2 * L_FRAME48k * sizeof( float ) ); - MixFrameWav = count_malloc( 2 * L_FRAME48k * sizeof( int16_t ) ); - input_buff = count_malloc( MAX_CICP_CHANNELS * L_FRAME48k * sizeof( int16_t ) ); - nChannels = 0; - - for ( i = 0; i < 2 * L_FRAME48k; i++ ) - { - MixFrame[i] = 0.0; - MixFrameWav[i] = 0; - } - for ( i = 0; i < MAX_NUM_OBJECTS; ++i ) - { - f_metadata[i] = NULL; - } - - - /*------------------------------------------------------------------------------------------* - * Struct initializations - *------------------------------------------------------------------------------------------*/ - st_ivas->hHrtfTD = NULL; - st_ivas->hRenderConfig = NULL; - st_ivas->hHeadTrackData = NULL; - st_ivas->ivas_format = ISM_FORMAT; - f_quat_traj = NULL; - if ( ( st_ivas->hDecoderConfig = (DECODER_CONFIG_HANDLE) count_malloc( sizeof( DECODER_CONFIG ) ) ) == NULL ) - { - return IVAS_ERR_FAILED_ALLOC; - } - st_ivas->hDecoderConfig->Opt_Headrotation = FALSE; - - /* ISm metadata handles */ - for ( n = 0; n < MAX_NUM_OBJECTS; n++ ) - { - st_ivas->hIsmMetaData[n] = NULL; - } - - /*------------------------------------------------------------------------------------------* - * Parse command line and initialize renderer - *------------------------------------------------------------------------------------------*/ - if ( ( argc ) < 5 ) - { - fprintf( stderr, "Not enough input arguments!\n\n" ); - usage_rend(); - } - i = 1; - /* Optional arguments */ - while ( argv[i][0] == '-' ) - { - if ( strcmp( to_upper( argv[i] ), "-HRTF" ) == 0 ) - { - i++; - ivas_HRTF_binary_open( &( st_ivas->hHrtfTD ) ); - i++; - } - else if ( strcmp( to_upper( argv[i] ), "-T" ) == 0 ) - { - i++; - f_quat_traj = fopen( argv[i], "r" ); - - if ( f_quat_traj == NULL ) - { - fprintf( stderr, "\nError: Unable to open head-rotation file %s \n\n", argv[i] ); - usage_rend(); - } - i++; - } - else if ( strcmp( to_upper( argv[i] ), "-MC" ) == 0 ) - { - st_ivas->ivas_format = MC_FORMAT; - st_ivas->mc_mode = MC_MODE_MCT; - i++; - if ( strcmp( to_upper( argv[i] ), "5_1" ) == 0 ) - { - st_ivas->transport_config = AUDIO_CONFIG_5_1; - nChannels = 6; - } - else if ( strcmp( to_upper( argv[i] ), "7_1" ) == 0 ) - { - st_ivas->transport_config = AUDIO_CONFIG_7_1; - nChannels = 8; - } - else if ( strcmp( to_upper( argv[i] ), "5_1_2" ) == 0 ) - { - st_ivas->transport_config = AUDIO_CONFIG_5_1_2; - nChannels = 8; - } - else if ( strcmp( to_upper( argv[i] ), "5_1_4" ) == 0 ) - { - st_ivas->transport_config = AUDIO_CONFIG_5_1_4; - nChannels = 10; - } - else if ( strcmp( to_upper( argv[i] ), "7_1_4" ) == 0 ) - { - st_ivas->transport_config = AUDIO_CONFIG_7_1_4; - nChannels = 12; - } - else - { - fprintf( stderr, "\nError: Unknown MC configuration %s \n\n", argv[i] ); - usage_rend(); - } - st_ivas->nchan_transport = nChannels; - st_ivas->hIntSetup.num_lfe = 1; - st_ivas->hIntSetup.nchan_out_woLFE = nChannels - 1; - st_ivas->hIntSetup.index_lfe[0] = 3; - i++; - } - else - { - fprintf( stderr, "Unknown option: %s\n\n", argv[i] ); - usage_rend(); - } - } - - if ( st_ivas->ivas_format == ISM_FORMAT ) - { - - if ( ( argc - i ) < 5 ) - { - fprintf( stderr, "Not enough input arguments!\n\n" ); - usage_rend(); - } - - /* Mandatory arguments */ - nChannels = (int16_t) atoi( argv[i] ); /* Number of channels */ - st_ivas->nSCE = nChannels; - st_ivas->nchan_transport = nChannels; - i++; - - if ( ( argc - i ) < ( 3 + nChannels ) ) - { - fprintf( stderr, "Not enough input arguments for %d channels!\n\n", nChannels ); - usage_rend(); - } - - /* Metadata files */ - for ( j = 0; j < nChannels; j++ ) - { - if ( ( f_metadata[j] = fopen( argv[i], "r" ) ) == NULL ) - { - fprintf( stderr, "\nError: Unable to open metadata file %s \n\n", argv[i] ); - exit( -1 ); - } - st_ivas->hIsmMetaData[j] = (ISM_METADATA_HANDLE) count_malloc( sizeof( ISM_METADATA_FRAME ) ); - i++; - } - } - - - /* Fs and 20ms frame length */ - st_ivas->hDecoderConfig->output_Fs = atoi( argv[i] ) * 1000; - nFrameLength = ( (int16_t) ( st_ivas->hDecoderConfig->output_Fs / 1000 ) ) * 20; /* 20 ms frame */ - i++; - - /* Input, n-channel audio */ - if ( ( f_input = fopen( argv[i], "rb" ) ) == NULL ) - { - fprintf( stderr, "Error: input file %s cannot be opened\n\n", argv[i] ); - exit( -1 ); - } - i++; - - /* Output rendered audio */ - if ( ( f_output = fopen( argv[i], "wb" ) ) == NULL ) - { - fprintf( stderr, "Error: output file %s cannot be opened\n\n", argv[i] ); - exit( -1 ); - } - i++; - - if ( i != argc ) - { - fprintf( stderr, "Too many arguments!\n\n" ); - usage_rend(); - } - - - if ( f_quat_traj != NULL ) - { - st_ivas->hDecoderConfig->Opt_Headrotation = 1; - if ( ( st_ivas->hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) count_malloc( sizeof( HEAD_TRACK_DATA ) ) ) == NULL ) - { - fprintf( stderr, "Can not allocate memory for head-tracking\n" ); - exit( -1 ); - } - st_ivas->hDecoderConfig->Opt_Headrotation = TRUE; - } -#ifdef EXT_RENDERER - else - { - st_ivas->hDecoderConfig->Opt_Headrotation = 0; - } -#endif - - /* Init limiter */ - st_ivas->hLimiter = ivas_limiter_open( nChannels, st_ivas->hDecoderConfig->output_Fs ); - st_ivas->hDecoderConfig->nchan_out = nChannels; - st_ivas->hLimiter->strong_saturation_count = 0; - st_ivas->hLimiter->gain = 1.f; - st_ivas->hLimiter->release_heuristic = 0.f; - - ivas_td_binaural_open( st_ivas ); - - int16_t nFrameCount = 0; - int16_t currFrameLength, currWindowLength; - - /*------------------------------------------------------------------------------------------* - * Main rendering loop - *------------------------------------------------------------------------------------------*/ - fprintf( stdout, "Rendering...\n" ); - while ( 1 ) - { - /* Read the next frame from the file */ - nSamplesRead = (int16_t) fread( input_buff, sizeof( int16_t ), nFrameLength * nChannels, f_input ); - if ( nSamplesRead <= 0 ) - { - if ( frame == 0 ) - { - fprintf( stderr, "Error: no frames processed." ); - } - break; - } - - if ( nSamplesRead % nChannels != 0 ) - { - fprintf( stderr, "Error: total number of entries in input audio was not a multiple of the number of channels.\n\n" ); - break; - } - - currWindowLength = nSamplesRead / nChannels; - if ( currWindowLength < nFrameLength ) - { - currFrameLength = currWindowLength; - } - else - { - currFrameLength = nFrameLength; - } - - - /* Renderer expects non-interleaved channels, so de-interleave here. */ - for ( nS = 0; nS < nChannels; nS++ ) - { - for ( n = 0; n < currFrameLength; n++ ) - { - output[nS][n] = input_buff[nChannels * n + nS]; - } - } - - if ( st_ivas->ivas_format == ISM_FORMAT ) - { - /* Read metadata */ - for ( j = 0; j < nChannels; j++ ) - { - readMetadata( f_metadata[j], st_ivas->hIsmMetaData[j] ); - } - } - else /* st_ivas->ivas_format == MC_FORMAT */ - { - ivas_binaural_add_LFE_local( st_ivas, currFrameLength, output, 1 ); - } - - /* Read headrotation */ - if ( f_quat_traj != NULL ) - { - for ( i = 0; i < 4; i++ ) /* MAX_PARAM_SPATIAL_SUBFRAMES = 4 */ - { - if ( 4 == fscanf( f_quat_traj, "%f,%f,%f,%f", &w, &x, &y, &z ) ) - { - st_ivas->hHeadTrackData->num_quaternions = -1; - - st_ivas->hHeadTrackData->Quaternions[i].w = w; - st_ivas->hHeadTrackData->Quaternions[i].x = x; - st_ivas->hHeadTrackData->Quaternions[i].y = y; - st_ivas->hHeadTrackData->Quaternions[i].z = z; - - st_ivas->hHeadTrackData->num_quaternions = 0; - } - else - { - if ( feof( f_quat_traj ) ) - { - rewind( f_quat_traj ); - i--; /* Rewind and re-read the value for i */ - } - else - { - fprintf( stderr, "Incorrect format in headrotation file! \n\n" ); - exit( -1 ); - } - } - } - } - - /* Renderer */ - ObjRenderIVASFrame( st_ivas, output, currFrameLength ); - - /* Write the rendered audio to file. */ - - /* Apply limiter */ - ivas_limiter_dec( st_ivas->hLimiter, output, st_ivas->hDecoderConfig->nchan_out, nFrameLength, FALSE ); - - /* Trim first frame to compensate for delay */ - if ( nFrameCount == 0 ) - { - offset = (int16_t) ( st_ivas->hDecoderConfig->output_Fs / 200 ); /* 240 samples for 48kHz etc */ - } - else - { - offset = 0; - } - - /* For Wav: Interleave, convert to int16_t */ - for ( n = 0; n < ( currFrameLength - offset ); n++ ) - { - for ( nS = 0; nS < NumLdspks; nS++ ) - { - MixFrameWav[n * NumLdspks + nS] = (int16_t) ( output[nS][n + offset] + 0.5f * sign( output[nS][n + offset] ) ); - } - } - fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength - offset ) * NumLdspks, f_output ); - - nFrameCount++; - - frame++; - - fprintf( stdout, "." ); - } - fprintf( stdout, "\n" ); - - - /*------------------------------------------------------------------------------------------* - * Close and deallocate memory - *------------------------------------------------------------------------------------------*/ - - fclose( f_input ); - fclose( f_output ); - - count_free( MixFrame ); - count_free( MixFrameWav ); - count_free( input_buff ); - - ivas_td_binaural_close( &st_ivas->hBinRendererTd ); - count_free( st_ivas->hDecoderConfig ); - st_ivas->hHrtfTD = NULL; - - /* ISM metadata handles */ - for ( n = 0; n < MAX_NUM_OBJECTS; n++ ) - { - if ( st_ivas->hIsmMetaData[n] != NULL ) - { - count_free( st_ivas->hIsmMetaData[n] ); - st_ivas->hIsmMetaData[n] = NULL; - } - } - - if ( st_ivas->hHeadTrackData != NULL ) - { - count_free( st_ivas->hHeadTrackData ); - fclose( f_quat_traj ); - } - - ivas_limiter_close( &st_ivas->hLimiter ); - -#ifdef RAM_COUNTING_TOOL - mem_count_summary( USE_DEFAULT ); -#endif - -#ifdef DEBUGGING - dbgclose(); -#endif - - fprintf( stdout, "Done rendering %d frames.\n", nFrameCount ); - /* system( "pause" ); */ - return 0; -} - -/*---------------------------------------------------------------------* - * to_upper() - * - * Capitalize all letters of a string. - * (normally to_upper() function would be used but it does not work in Unix) - *---------------------------------------------------------------------*/ -static char *to_upper( - char *str ) -{ - int16_t i; - char *p = str; - - i = 0; - while ( str[i] != 0 ) - { - if ( str[i] >= 'a' && str[i] <= 'z' ) - { - str[i] -= 0x20; - } - i++; - } - - return p; -} - -/*---------------------------------------------------------------------* - * readMetadata() - * - * Read one frame of metadata - *---------------------------------------------------------------------*/ -static void readMetadata( - FILE *file, - ISM_METADATA_HANDLE hIsmMetaData ) -{ - char char_buff[META_LINE_LENGTH]; - float meta_prm[NUM_ISM_METADATA_PER_LINE]; - char *char_ptr; - int16_t j; - - if ( fgets( char_buff, META_LINE_LENGTH, file ) == NULL ) - { - fprintf( stderr, "\n!!!Error: Early EOF met while reading ISM metadata input file. Exiting!!!\n\n" ); - exit( -1 ); - } - - j = 0; - char_ptr = strtok( char_buff, "," ); - meta_prm[j++] = (float) atof( char_ptr ); - while ( char_ptr != NULL && j < NUM_ISM_METADATA_PER_LINE ) - { - char_ptr = strtok( NULL, "," ); - meta_prm[j++] = (float) atof( char_ptr ); - } - - hIsmMetaData->azimuth = meta_prm[0]; - hIsmMetaData->elevation = meta_prm[1]; - - return; -} - -/*KLUDGE: Copied here instead of moving ivas_binaural_add_LFE to a separate file. */ -static void ivas_binaural_add_LFE_local( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - int16_t output_frame, /* i : length of input frame */ - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ - const int8_t render_lfe /* i : render lfe flag */ -) -{ - - if ( render_lfe ) - { - float gain; - int16_t ch, idx_lfe; - - gain = GAIN_LFE / st_ivas->hIntSetup.nchan_out_woLFE; - - /* copy lfe to all other channels */ - for ( idx_lfe = 0; idx_lfe < st_ivas->hIntSetup.num_lfe; idx_lfe++ ) - { - v_multc( output_f[st_ivas->hIntSetup.index_lfe[idx_lfe]], gain, output_f[st_ivas->hIntSetup.index_lfe[idx_lfe]], output_frame ); - - for ( ch = 0; ch < ( st_ivas->hIntSetup.nchan_out_woLFE + st_ivas->hIntSetup.num_lfe ); ch++ ) - { - if ( st_ivas->hIntSetup.index_lfe[idx_lfe] != ch ) - { - v_add( output_f[ch], output_f[st_ivas->hIntSetup.index_lfe[idx_lfe]], output_f[ch], output_frame ); - } - } - } - } - - return; -} diff --git a/tests/renderer/README.md b/tests/renderer/README.md index b819e43c5c..9748d8abf1 100644 --- a/tests/renderer/README.md +++ b/tests/renderer/README.md @@ -2,24 +2,10 @@ See also the [contribution page](https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/wikis/Contributions/2-external-renderer) for related presentations. -## Running Tests - -### Two testfiles are located in `tests/renderer/`: - -* `test_renderer.py` -* `test_renderer_vs_decoder.py` \ - (requires `DEC_TO_REND_FLOAT_DUMP` defined in `options.h`, cannot be run in parallel i.e. `-n 1` argument must be used for the `pytest-xdist` plugin) - ### Run tests with: `python3 -m pytest -q -n auto tests/renderer/test_renderer.py` -OR - -:warning: `DEC_TO_REND_FLOAT_DUMP` must be defined before compiling! :warning: - -`python3 -m pytest -q -n 1 tests/renderer/test_renderer_vs_decoder.py` - ### Important flags (see [pytest docs](https://docs.pytest.org/en/7.2.x/) for more information): * `-k` flag can filter test cases, e.g. `-k "test_ism_binaural_static"` @@ -37,9 +23,7 @@ this option will also report captured logs, **required for obtaining the command ├── cut -> Default location for output files for test conditions ├── data -> Input test vectors ├── ref -> Default location for output files for reference conditions -├── run_test_renderer_vs_decoder.sh -> Compiles and runs test_renderer_vs_decoder.py with CMake and DEC_TO_REND_FLOAT_DUMP defined ├── test_renderer_be_comparison.py -> Tests for CI Merge Request pipeline to compare renderer bit-exactness -├── test_renderer.py -> Comparison of renderer against standalone executables / python scripts (to be deprecated soon) -├── test_renderer_vs_decoder.py -> Comparison of renderer against decoder (to be deprecated soon) +├── test_renderer.py -> Runs the renderer for all modes └── utils.py -> Wrapper functions for executables for use in testcases ``` diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index da7302bdc2..89dbcccc69 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -42,26 +42,6 @@ TESTV_DIR = SCRIPTS_DIR.joinpath("testv") BIN_SUFFIX_MERGETARGET = "_ref" -""" Encoder commandline template """ -IVAS_COD_CMD = [ - str(TESTS_DIR.parent.parent.joinpath("IVAS_cod")), - "", # 1 -> mode - "", # 2 -> options for mode - "", # 3 -> bitrate - "48", # 4 -> input fs - "", # 5 -> input file - "", # 6 -> bitstream file -] - -""" Decoder commandline template """ -IVAS_DEC_CMD = [ - str(TESTS_DIR.parent.parent.joinpath("IVAS_dec")), - "-no_delay_cmp", - "", # 2 -> output format, - "48", # 3 -> output fs - "", # 4 -> bitstream file - "", # 5 -> output file -] """ Renderer commandline template """ RENDERER_CMD = [ @@ -81,39 +61,6 @@ RENDERER_CMD = [ "-q", ] -""" TD Object Renderer commandline template """ -TDRENDERER_CMD = [ - str( - SCRIPTS_DIR.joinpath("td_object_renderer") - .joinpath("object_renderer_standalone") - .joinpath("renderer_standalone") - ), - "48", - "", # 4 -> input file - "", # 5 -> output file -] - -""" CREND commandline template """ -CREND_CMD = [ - str( - SCRIPTS_DIR.joinpath("ivas_pytests/tests/unit_tests/crend/IVAS_crend_unit_test") - ), - "-test", - "1", - "-sr", - "48", - "-ifmt", - "", # 4 -> input format - "-ofmt", - "", # 8 -> output format - "-i", - "", # 2 -> input file - "-o", - "/dev/null", # 6 -> output file - # "-lp_lfe", - # "-limiter" - # "-no_delay_cmp" -] """ Format to file mappings """ NCHAN_TO_FILE = { @@ -188,60 +135,14 @@ FORMAT_TO_METADATA_FILES = { "MASA2": [str(TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.met"))], } -FORMAT_TO_IVAS = { - "MONO": ["", ""], - "STEREO": ["-stereo", ""], - "FOA": ["-sba", "1"], - "HOA2": ["-sba", "2"], - "HOA3": ["-sba", "3"], - "5_1": ["-mc", "5_1"], - "7_1": ["-mc", "7_1"], - "5_1_2": ["-mc", "5_1_2"], - "5_1_4": ["-mc", "5_1_4"], - "7_1_4": ["-mc", "7_1_4"], - "ISM1": ["-ism", "1"], - "ISM2": ["-ism", "2"], - "ISM3": ["-ism", "3"], - "ISM4": ["-ism", "4"], -} - -FORMAT_TO_IVAS_BR = { - "MONO": "128000", - "STEREO": "256000", - "FOA": "512000", - "HOA2": "512000", - "HOA3": "512000", - "5_1": "512000", - "7_1": "512000", - "5_1_2": "512000", - "5_1_4": "512000", - "7_1_4": "512000", - "ISM1": "256000", - "ISM2": "256000", - "ISM3": "256000", - "ISM4": "256000", -} - -FORMAT_TO_CREND_FORMAT = { - "MONO": "0", - "STEREO": "1", - "BINAURAL": "2", - "BINAURAL_ROOM": "2", - "FOA": "3", - "5_1": "4", - "7_1": "5", - "5_1_2": "6", - "5_1_4": "7", - "7_1_4": "8", - "HOA2": "9", - "HOA3": "10", -} """ Input formats """ INPUT_FORMATS_AMBI = ["FOA", "HOA2", "HOA3"] INPUT_FORMATS_MC = ["MONO", "STEREO", "5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] INPUT_FORMATS_ISM = ["ISM1", "ISM2", "ISM3", "ISM4"] -INPUT_FORMATS_MASA = ["MASA2"] #["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly +INPUT_FORMATS_MASA = [ + "MASA2" +] # ["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly """ Non binaural / parametric output formats """ OUTPUT_FORMATS = [ @@ -411,130 +312,4 @@ pass_snr = { "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, - ##################################### - # - # External vs Internal Renderer tests - # - ##################################### - # Failure reason: only fails for this trajectory with very high SNR, possible minor diff. in crossfade - # or due to usage of multiple TD Object Renderer instances - "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 84, - "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 78, - "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 85, - # TODO needs investigation - # Failure reason: conversion to 7_1_4 could be implemented differently w.r.t decoder - "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 15, - "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 15, - "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 12, - "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, - "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-full_circle_in_15s]": 12, - "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, - "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-full_circle_in_15s]": 12, - "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, - "test_ism_binaural_static_vs_decoder[ISM1-BINAURAL_ROOM]": 15, - "test_ism_binaural_static_vs_decoder[ISM2-BINAURAL_ROOM]": 12, - "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL_ROOM]": 12, - "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12, - # TODO harmonize panning to stereo - # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize - "test_ism_vs_decoder[ISM1-STEREO]": 8, - "test_ism_vs_decoder[ISM2-STEREO]": 17, - "test_ism_vs_decoder[ISM3-STEREO]": 14, - "test_ism_vs_decoder[ISM4-STEREO]": 14, - # TODO needs investigation - # Failure reason: likely differences between metadata position rounding (decoder uses ceil()) and crossfades - "test_ism_vs_decoder[ISM1-5_1_2]": 26, - "test_ism_vs_decoder[ISM1-5_1]": 26, - "test_ism_vs_decoder[ISM1-5_1_4]": 26, - "test_ism_vs_decoder[ISM1-7_1]": 26, - "test_ism_vs_decoder[ISM1-7_1_4]": 26, - "test_ism_vs_decoder[ISM1-FOA]": 26, - "test_ism_vs_decoder[ISM1-HOA2]": 26, - "test_ism_vs_decoder[ISM1-HOA3]": 26, - "test_ism_vs_decoder[ISM2-5_1_2]": 31, - "test_ism_vs_decoder[ISM2-5_1_4]": 31, - "test_ism_vs_decoder[ISM2-5_1]": 6, - "test_ism_vs_decoder[ISM2-7_1_4]": 31, - "test_ism_vs_decoder[ISM2-7_1]": 5, - "test_ism_vs_decoder[ISM2-FOA]": 31, - "test_ism_vs_decoder[ISM2-HOA2]": 30, - "test_ism_vs_decoder[ISM2-HOA3]": 29, - "test_ism_vs_decoder[ISM3-5_1_2]": 32, - "test_ism_vs_decoder[ISM3-5_1_4]": 32, - "test_ism_vs_decoder[ISM3-5_1]": 8, - "test_ism_vs_decoder[ISM3-7_1_4]": 31, - "test_ism_vs_decoder[ISM3-7_1]": 7, - "test_ism_vs_decoder[ISM3-FOA]": 32, - "test_ism_vs_decoder[ISM3-HOA2]": 31, - "test_ism_vs_decoder[ISM3-HOA3]": 29, - "test_ism_vs_decoder[ISM3-MONO]": 77, - "test_ism_vs_decoder[ISM4-5_1_2]": 31, - "test_ism_vs_decoder[ISM4-5_1_4]": 30, - "test_ism_vs_decoder[ISM4-5_1]": 8, - "test_ism_vs_decoder[ISM4-7_1_4]": 30, - "test_ism_vs_decoder[ISM4-7_1]": 7, - "test_ism_vs_decoder[ISM4-FOA]": 31, - "test_ism_vs_decoder[ISM4-HOA2]": 30, - "test_ism_vs_decoder[ISM4-HOA3]": 29, - "test_ism_vs_decoder[ISM4-MONO]": 77, - # TODO needs investigation - # Failure reason: headrotation and crossfade could have differences - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-full_circle_in_15s]": 4, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - # TODO needs investigation - "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, - "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 5, - "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - # TODO needs investigation - "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18, - "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18, - "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, - "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, - "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, - # Failure reason: Mono downmix significantly different, needs a fix - "test_multichannel_vs_decoder[5_1_2-MONO]": 1, - "test_multichannel_vs_decoder[5_1_4-MONO]": 1, - "test_multichannel_vs_decoder[5_1-MONO]": 1, - "test_multichannel_vs_decoder[7_1_4-MONO]": 1, - "test_multichannel_vs_decoder[7_1-MONO]": 1, - "test_multichannel_vs_decoder[STEREO-MONO]": 17, - # Failure reason: Stereo downmix differs slightly, needs a fix - "test_multichannel_vs_decoder[5_1_2-STEREO]": 44, - "test_multichannel_vs_decoder[5_1_4-STEREO]": 48, - "test_multichannel_vs_decoder[5_1-STEREO]": 48, - "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, - "test_multichannel_vs_decoder[7_1-STEREO]": 44, - # TODO needs investigation - # Failure reason: possibly due to minor differences in crossfades - "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, - "test_multichannel_vs_decoder[5_1_2-5_1]": 63, - "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, - "test_multichannel_vs_decoder[5_1_2-7_1]": 63, - "test_multichannel_vs_decoder[5_1_4-5_1_2]": 63, - "test_multichannel_vs_decoder[5_1_4-5_1]": 62, - "test_multichannel_vs_decoder[5_1_4-7_1_4]": 61, - "test_multichannel_vs_decoder[5_1_4-7_1]": 62, - "test_multichannel_vs_decoder[5_1-5_1_2]": 62, - "test_multichannel_vs_decoder[5_1-5_1_4]": 62, - "test_multichannel_vs_decoder[5_1-7_1_4]": 62, - "test_multichannel_vs_decoder[5_1-7_1]": 62, - "test_multichannel_vs_decoder[7_1_4-5_1_2]": 63, - "test_multichannel_vs_decoder[7_1_4-5_1_4]": 63, - "test_multichannel_vs_decoder[7_1_4-5_1]": 63, - "test_multichannel_vs_decoder[7_1_4-7_1]": 62, - "test_multichannel_vs_decoder[7_1-5_1_2]": 63, - "test_multichannel_vs_decoder[7_1-5_1_4]": 63, - "test_multichannel_vs_decoder[7_1-5_1]": 63, - "test_multichannel_vs_decoder[7_1-7_1_4]": 63, } diff --git a/tests/renderer/run_test_renderer_vs_decoder.sh b/tests/renderer/run_test_renderer_vs_decoder.sh deleted file mode 100755 index 215a6435b0..0000000000 --- a/tests/renderer/run_test_renderer_vs_decoder.sh +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash - -# WARNING! This script is a temporary helper, ideally these steps should be done manually and the pytest suite also run manually -cd ../../ -mkdir build -cmake -B build -G "Unix Makefiles" -DDEC_TO_REND_FLOAT_DUMP=true -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true -cmake --build build -- -j -python3 -m pytest -q -n 1 -rA tests/renderer/test_renderer_vs_decoder.py - -echo "WARNING! Existing executables in root were overwritten!" diff --git a/tests/renderer/test_renderer.py b/tests/renderer/test_renderer.py index 97ccf03c94..b8faad0ec5 100644 --- a/tests/renderer/test_renderer.py +++ b/tests/renderer/test_renderer.py @@ -27,31 +27,33 @@ """ +import random import pytest + from .utils import * +random.seed(42) """ Ambisonics """ -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) +@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_AMBI, 1)) def test_ambisonics(test_info, in_fmt, out_fmt): - compare_renderer_vs_pyscripts(test_info, in_fmt, out_fmt) + run_renderer(in_fmt, out_fmt) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_AMBI, 1)) def test_ambisonics_binaural_static(test_info, in_fmt, out_fmt): - compare_renderer_vs_crend_unit_test(test_info, in_fmt, out_fmt) + run_renderer(in_fmt, out_fmt) -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) +@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_AMBI, 1)) def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): - compare_renderer_vs_crend_unit_test( - test_info, + run_renderer( in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), @@ -61,38 +63,36 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): """ Multichannel """ -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) +@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MC, 2)) def test_multichannel(test_info, in_fmt, out_fmt): - compare_renderer_vs_pyscripts(test_info, in_fmt, out_fmt) + run_renderer(in_fmt, out_fmt) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MC, 2)) def test_multichannel_binaural_static(test_info, in_fmt, out_fmt): if in_fmt in ["MONO", "STEREO"]: pytest.skip("MONO or STEREO to Binaural rendering unsupported") - compare_renderer_vs_crend_unit_test(test_info, in_fmt, out_fmt) + run_renderer(in_fmt, out_fmt) -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) +@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MC, 2)) def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): if in_fmt in ["MONO", "STEREO"]: pytest.skip("MONO or STEREO to Binaural rendering unsupported") if (in_fmt == "5_1" or in_fmt == "7_1") and out_fmt == "BINAURAL": - compare_renderer_vs_td_standalone( - test_info, + run_renderer( in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), ) else: - compare_renderer_vs_crend_unit_test( - test_info, + run_renderer( in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), @@ -102,16 +102,14 @@ def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file """ ISM """ -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) +@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_ISM, 2)) def test_ism(test_info, in_fmt, out_fmt): - compare_renderer_vs_pyscripts( - test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] - ) + run_renderer(in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt]) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_ISM, 2)) def test_ism_binaural_static(test_info, in_fmt, out_fmt): try: in_meta_files = FORMAT_TO_METADATA_FILES[in_fmt] @@ -119,18 +117,14 @@ def test_ism_binaural_static(test_info, in_fmt, out_fmt): in_meta_files = None if out_fmt == "BINAURAL": - compare_renderer_vs_td_standalone( - test_info, in_fmt, out_fmt, in_meta_files=in_meta_files - ) + run_renderer(in_fmt, out_fmt, in_meta_files=in_meta_files) else: - compare_renderer_vs_pyscripts( - test_info, in_fmt, out_fmt, in_meta_files=in_meta_files - ) + run_renderer(in_fmt, out_fmt, in_meta_files=in_meta_files) -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) +@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_ISM, 2)) def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): try: in_meta_files = FORMAT_TO_METADATA_FILES[in_fmt] @@ -138,16 +132,14 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): in_meta_files = None if out_fmt == "BINAURAL": - compare_renderer_vs_td_standalone( - test_info, + run_renderer( in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=in_meta_files, ) else: - compare_renderer_vs_pyscripts( - test_info, + run_renderer( in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), @@ -158,8 +150,8 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): """ MASA """ -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) +@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) +@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MASA, 1)) def test_masa(test_info, in_fmt, out_fmt): # # TODO: implement MASA in Python, compare BE # compare_renderer_vs_pyscripts( test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] @@ -168,8 +160,8 @@ def test_masa(test_info, in_fmt, out_fmt): # MASA inputs not supported yet -# @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -# @pytest.mark.parametrize("in_fmt", METADATA_SCENES_TO_TEST_NO_BE) +# @pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS, 2)) +# @pytest.mark.parametrize("in_fmt", random.sample(METADATA_SCENES_TO_TEST_NO_BE, 2)) # def test_metadata_masa(test_info, in_fmt, out_fmt): # # TODO: unify with test_metadata once Python supports MASA # cut, cut_fs = run_renderer( @@ -182,50 +174,44 @@ def test_masa(test_info, in_fmt, out_fmt): """ Custom loudspeaker layouts """ -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) +@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) +@pytest.mark.parametrize("in_layout", random.sample(CUSTOM_LS_TO_TEST, 1)) def test_custom_ls_input(test_info, in_layout, out_fmt): - compare_renderer_vs_pyscripts( - test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt - ) + run_renderer(CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt) -@pytest.mark.parametrize("out_fmt", CUSTOM_LS_TO_TEST) -@pytest.mark.parametrize("in_fmt", OUTPUT_FORMATS) +@pytest.mark.parametrize("out_fmt", random.sample(CUSTOM_LS_TO_TEST, 1)) +@pytest.mark.parametrize("in_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) def test_custom_ls_output(test_info, in_fmt, out_fmt): - compare_renderer_vs_pyscripts( - test_info, + run_renderer( in_fmt, CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), ) -@pytest.mark.parametrize("out_fmt", CUSTOM_LS_TO_TEST) -@pytest.mark.parametrize("in_fmt", CUSTOM_LS_TO_TEST) +@pytest.mark.parametrize("out_fmt", random.sample(CUSTOM_LS_TO_TEST, 1)) +@pytest.mark.parametrize("in_fmt", random.sample(CUSTOM_LS_TO_TEST, 1)) def test_custom_ls_input_output(test_info, in_fmt, out_fmt): - compare_renderer_vs_pyscripts( - test_info, + run_renderer( CUSTOM_LAYOUT_DIR.joinpath(f"{in_fmt}.txt"), CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), ) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) +@pytest.mark.parametrize("in_layout", random.sample(CUSTOM_LS_TO_TEST, 2)) def test_custom_ls_input_binaural(test_info, in_layout, out_fmt): - compare_renderer_vs_pyscripts( - test_info, + run_renderer( CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, ) -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) +@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) +@pytest.mark.parametrize("in_layout", random.sample(CUSTOM_LS_TO_TEST, 2)) def test_custom_ls_input_binaural_headrotation(test_info, in_layout, out_fmt, trj_file): - compare_renderer_vs_pyscripts( - test_info, + run_renderer( CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), @@ -235,11 +221,10 @@ def test_custom_ls_input_binaural_headrotation(test_info, in_layout, out_fmt, tr """ Metadata / scene description input """ -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", METADATA_SCENES_TO_TEST) +@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 1)) +@pytest.mark.parametrize("in_fmt", random.sample(METADATA_SCENES_TO_TEST, 1)) def test_metadata(test_info, in_fmt, out_fmt): - compare_renderer_vs_pyscripts( - test_info, + run_renderer( "META", out_fmt, metadata_input=TEST_VECTOR_DIR.joinpath(f"{in_fmt}.txt"), diff --git a/tests/renderer/test_renderer_vs_decoder.py b/tests/renderer/test_renderer_vs_decoder.py deleted file mode 100644 index cd88580d9b..0000000000 --- a/tests/renderer/test_renderer_vs_decoder.py +++ /dev/null @@ -1,128 +0,0 @@ -#!/usr/bin/env python3 - -""" - (C) 2022 Baseline Development Group with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies OY, Orange, - Panasonic Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The Baseline Development Group consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies OY, Orange, - Panasonic Corporation, Qualcomm Technologies, Inc., and VoiceAge Corporation retain full ownership - rights in their respective contributions in the software. No license of any kind, including but not - limited to patent license, of any foregoing parties is hereby granted by implication, estoppel or - otherwise. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and/or fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. -""" - -from .utils import * - -""" Ambisonics """ - - -@pytest.mark.skip("Ambisonics comparison requires CLDFB interface") -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) -def test_ambisonics_vs_decoder(test_info, in_fmt, out_fmt): - compare_renderer_vs_decoder(test_info, in_fmt, out_fmt) - - -@pytest.mark.skip("Ambisonics comparison requires CLDFB interface") -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) -def test_ambisonics_binaural_static_vs_decoder(test_info, in_fmt, out_fmt): - compare_renderer_vs_decoder(test_info, in_fmt, out_fmt) - - -@pytest.mark.skip("Ambisonics comparison requires CLDFB interface") -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) -def test_ambisonics_binaural_headrotation_vs_decoder( - test_info, in_fmt, out_fmt, trj_file -): - compare_renderer_vs_decoder( - test_info, - in_fmt, - out_fmt, - trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), - ) - - -""" Multichannel """ - - -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) -def test_multichannel_vs_decoder(test_info, in_fmt, out_fmt): - if in_fmt == "MONO": - pytest.skip("(EVS) Mono decoder rendering unsupported") - - if in_fmt == "STEREO" and out_fmt in ["FOA", "HOA2", "HOA3"]: - pytest.skip("Stereo to Ambisonics rendering unsupported in the decoder") - - compare_renderer_vs_decoder(test_info, in_fmt, out_fmt) - - -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) -def test_multichannel_binaural_static_vs_decoder(test_info, in_fmt, out_fmt): - if in_fmt in ["MONO", "STEREO"]: - pytest.skip("MONO or STEREO to Binaural rendering unsupported") - - compare_renderer_vs_decoder(test_info, in_fmt, out_fmt) - - -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) -def test_multichannel_binaural_headrotation_vs_decoder( - test_info, in_fmt, out_fmt, trj_file -): - if in_fmt in ["MONO", "STEREO"]: - pytest.skip("MONO or STEREO to Binaural rendering unsupported") - - compare_renderer_vs_decoder( - test_info, - in_fmt, - out_fmt, - trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), - ) - - -""" ISM """ - - -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) -def test_ism_vs_decoder(test_info, in_fmt, out_fmt): - compare_renderer_vs_decoder(test_info, in_fmt, out_fmt) - - -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) -def test_ism_binaural_static_vs_decoder(test_info, in_fmt, out_fmt): - compare_renderer_vs_decoder(test_info, in_fmt, out_fmt) - - -@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) -@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) -def test_ism_binaural_headrotation_vs_decoder(test_info, in_fmt, out_fmt, trj_file): - compare_renderer_vs_decoder( - test_info, - in_fmt, - out_fmt, - trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), - ) diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py index 8a4ecf739b..b4ab4401f4 100644 --- a/tests/renderer/utils.py +++ b/tests/renderer/utils.py @@ -100,51 +100,6 @@ def check_BE( ) -def run_enc( - in_fmt: str, - bit_file: str, - in_meta_files: Optional[list] = None, -) -> None: - - cmd = IVAS_COD_CMD[:] - cmd[1] = FORMAT_TO_IVAS[in_fmt][0] - cmd[2] = FORMAT_TO_IVAS[in_fmt][1] - cmd[3] = FORMAT_TO_IVAS_BR[in_fmt] - cmd[5] = str(FORMAT_TO_FILE[in_fmt]) - cmd[6] = bit_file - - if in_meta_files is not None: - cmd[3:3] = [*in_meta_files] - - if in_fmt == "MONO": - cmd.pop(1) - cmd.pop(1) - elif in_fmt == "STEREO": - cmd.pop(2) - - run_cmd(cmd) - - -def run_dec( - bit_file: str, - out_file: str, - out_fmt: str, - trj_file: Optional[str] = None, -) -> Tuple[np.ndarray, int]: - - cmd = IVAS_DEC_CMD[:] - cmd[2] = out_fmt - cmd[4] = bit_file - cmd[5] = out_file - - if trj_file is not None and out_fmt in ["BINAURAL", "BINAURAL_ROOM"]: - cmd[1:1] = ["-T", str(trj_file)] - - run_cmd(cmd) - - return pyaudio3dtools.audiofile.readfile(out_file) - - def run_renderer( in_fmt: str, out_fmt: str, @@ -177,7 +132,6 @@ def run_renderer( out_file = str(output_path_base.joinpath(f"{in_name}_to_{out_name}{trj_name}.wav")) - cmd = RENDERER_CMD[:] cmd[2] = str(in_file) cmd[4] = str(in_fmt) @@ -197,153 +151,6 @@ def run_renderer( return pyaudio3dtools.audiofile.readfile(out_file) -def run_renderer_ext( - in_file: str, - in_fmt: str, - out_fmt: str, - in_meta_files: Optional[list] = None, - trj_file: Optional[str] = None, -) -> Tuple[np.ndarray, int]: - """Run renderer with decoder float dump""" - if trj_file is not None: - trj_name = f"_{trj_file.stem}" - else: - trj_name = "" - - if not isinstance(out_fmt, str): - out_name = f"{out_fmt.stem}" - else: - out_name = out_fmt - - in_name = in_fmt - - out_file = str(OUTPUT_PATH_CUT.joinpath(f"{in_name}_to_{out_name}{trj_name}.wav")) - - cmd = RENDERER_CMD[:] - cmd[2] = str(in_file) - cmd[4] = str(in_fmt) - cmd[6] = str(out_file) - cmd[8] = str(out_fmt) - - if in_meta_files is not None: - cmd[5:5] = ["-im", *in_meta_files] - - if trj_file is not None: - cmd.extend(["-tf", str(trj_file)]) - - run_cmd(cmd) - - return pyaudio3dtools.audiofile.readfile(out_file) - - -def run_crend_unittest( - in_fmt: str, - out_fmt: str, - metadata_input: Optional[str] = None, - in_meta_files: Optional[list] = None, - trj_file: Optional[str] = None, -) -> Tuple[np.ndarray, int]: - """Reference creation with standalone renderer""" - if trj_file is not None: - trj_name = f"_{trj_file.stem}" - else: - trj_name = "" - - if not isinstance(out_fmt, str): - out_name = f"{out_fmt.stem}" - else: - out_name = out_fmt - - if metadata_input is not None: - in_file = metadata_input - in_name = metadata_input.stem - elif not isinstance(in_fmt, str): - in_file = FORMAT_TO_FILE[in_fmt.stem] - in_name = in_fmt.stem - else: - in_file = FORMAT_TO_FILE[in_fmt] - in_name = in_fmt - - out_file = str(OUTPUT_PATH_REF.joinpath(f"{in_name}_to_{out_name}{trj_name}.wav")) - - cmd = CREND_CMD[:] - cmd[6] = FORMAT_TO_CREND_FORMAT[str(in_fmt)] - cmd[8] = FORMAT_TO_CREND_FORMAT[str(out_fmt)] - cmd[10] = str(in_file) - cmd[12] = str(out_file) - if out_fmt == "BINAURAL_ROOM": - cmd.append("-brir") - - if trj_file is not None: - cmd.extend(["-t", str(trj_file)]) - cmd.extend(["-otr", "REF"]) - - run_cmd(cmd) - - return pyaudio3dtools.audiofile.readfile(out_file) - - -def run_td_standalone( - in_fmt: str, - out_fmt: str, - metadata_input: Optional[str] = None, - in_meta_files: Optional[list] = None, - trj_file: Optional[str] = None, -): - """Reference creation with TD Object renderer""" - if trj_file is not None: - trj_name = f"_{trj_file.stem}" - else: - trj_name = "" - - if not isinstance(out_fmt, str): - out_name = f"{out_fmt.stem}" - else: - out_name = out_fmt - - if metadata_input is not None: - in_file = metadata_input - in_name = metadata_input.stem - elif not isinstance(in_fmt, str): - in_file = FORMAT_TO_FILE[in_fmt.stem] - in_name = in_fmt.stem - else: - in_file = FORMAT_TO_FILE[in_fmt] - in_name = in_fmt - - out_file = str(OUTPUT_PATH_REF.joinpath(f"{in_name}_to_{out_name}{trj_name}.pcm")) - - in_spfmt = pyaudio3dtools.spatialaudioformat.Format(in_fmt) - - with TemporaryDirectory() as tmp_dir: - # write PCM tmp file - tmp_dir = Path(tmp_dir) - in_file_pcm = tmp_dir.joinpath(in_file.stem + ".pcm") - - in_sig, _ = pyaudio3dtools.audiofile.readfile(in_file) - pyaudio3dtools.audiofile.writefile(in_file_pcm, in_sig) - - cmd = TDRENDERER_CMD[:] - cmd[2] = str(in_file_pcm) - cmd[3] = str(out_file) - - if in_spfmt.isloudspeaker: - cmd[1:1] = ["-mc", in_spfmt.name] - else: - cmd[1:1] = str(in_spfmt.nchannels) - if in_meta_files is not None: - cmd[2:2] = in_meta_files - else: - cmd[2:2] = ["NULL"] * in_spfmt.nchannels - - if trj_file is not None: - cmd[1:1] = ["-T", str(trj_file)] - - run_cmd(cmd) - - return pyaudio3dtools.audiofile.readfile(out_file, nchannels=2) - - def run_pyscripts( in_fmt, out_fmt, @@ -389,7 +196,11 @@ def run_pyscripts( def compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, **kwargs): ref, ref_fs = run_renderer( - in_fmt, out_fmt, binary_suffix=BIN_SUFFIX_MERGETARGET, output_path_base=OUTPUT_PATH_REF, **kwargs + in_fmt, + out_fmt, + binary_suffix=BIN_SUFFIX_MERGETARGET, + output_path_base=OUTPUT_PATH_REF, + **kwargs, ) cut, cut_fs = run_renderer(in_fmt, out_fmt, **kwargs) check_BE(test_info, ref, ref_fs, cut, cut_fs) @@ -399,54 +210,3 @@ def compare_renderer_vs_pyscripts(test_info, in_fmt, out_fmt, **kwargs): ref, ref_fs = run_pyscripts(in_fmt, out_fmt, **kwargs) cut, cut_fs = run_renderer(in_fmt, out_fmt, **kwargs) check_BE(test_info, ref, ref_fs, cut, cut_fs) - - -def compare_renderer_vs_crend_unit_test(test_info, in_fmt, out_fmt, **kwargs): - ref, ref_fs = run_crend_unittest(in_fmt, out_fmt, **kwargs) - cut, cut_fs = run_renderer(in_fmt, out_fmt, **kwargs) - check_BE(test_info, ref, ref_fs, cut, cut_fs) - - -def compare_renderer_vs_td_standalone(test_info, in_fmt, out_fmt, **kwargs): - ref, ref_fs = run_td_standalone(in_fmt, out_fmt, **kwargs) - cut, cut_fs = run_renderer(in_fmt, out_fmt, **kwargs) - check_BE(test_info, ref, ref_fs, cut, cut_fs) - - -def compare_renderer_vs_decoder(test_info, in_fmt, out_fmt, **kwargs): - with TemporaryDirectory() as tmp_dir: - tmp_dir = Path(tmp_dir) - - in_meta_files = None - bit_file = str(tmp_dir.joinpath(f"{in_fmt}_to_{out_fmt}.192")) - out_file_decoder = str(OUTPUT_PATH_REF.joinpath(f"{in_fmt}_to_{out_fmt}.wav")) - - # Ref: cod -> dec (out_fmt) - if in_fmt in FORMAT_TO_METADATA_FILES.keys(): - in_meta_files = FORMAT_TO_METADATA_FILES[in_fmt] - - # encoder - run_enc(in_fmt, bit_file, in_meta_files=in_meta_files) - # decoder renderer - ref, ref_fs = run_dec(bit_file, out_file_decoder, out_fmt, **kwargs) - - # CuT cod -> dec (in_fmt) -> rend - if in_fmt in FORMAT_TO_METADATA_FILES.keys(): - tmp_fmt = "EXT" - in_meta_files = [ - str(tmp_dir.joinpath(f"{in_fmt}_to_EXT.wav.{n}.csv")) - for n in range(int(in_fmt[-1])) - ] - else: - tmp_fmt = in_fmt - - out_file_ext = str(tmp_dir.joinpath(f"{in_fmt}_to_{tmp_fmt}.wav")) - - # passthrough decoder - run_dec(bit_file, out_file_ext, tmp_fmt, **kwargs) - # external renderer - cut, cut_fs = run_renderer_ext( - out_file_ext, in_fmt, out_fmt, in_meta_files=in_meta_files, **kwargs - ) - - check_BE(test_info, ref, ref_fs, cut, cut_fs) -- GitLab From 18031bb0fde4ab460fed46e36b2c31cedc9bf3b8 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 17 Nov 2022 17:45:26 +0100 Subject: [PATCH 097/620] remove build jobs from ci --- .gitlab-ci.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 62554b51a4..4e849938dc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -201,26 +201,6 @@ build-codec-linux-make: # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? -build-unittests-linux: - extends: - - .build-job-with-check-for-warnings - - .rules-basis - script: - - *print-common-info - - make unittests -j 2>&1 | tee $BUILD_OUTPUT - # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< - - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? - -build-td-object-renderer-standalone-linux: - extends: - - .build-job-with-check-for-warnings - - .rules-basis - script: - - *print-common-info - - make -C scripts/td_object_renderer/object_renderer_standalone -j 2>&1 | tee $BUILD_OUTPUT - # need to use the "|| exit $?" suffix to get the allowed_failure return code, otherwise the job fails with code 1...< - - ci/check_for_warnings.py $BUILD_OUTPUT || exit $? - build-codec-linux-cmake: extends: - .build-job-with-check-for-warnings -- GitLab From 5498a9c74b3dbef709827749a7c5c270ddbffbd3 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 18 Nov 2022 09:08:55 +0100 Subject: [PATCH 098/620] change timeout and delay values --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 49ff0c6df1..e84c6e1039 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -969,7 +969,7 @@ coverage-test-on-main-scheduled: - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - timeout: 3 hours + timeout: 5 hours stage: test artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" @@ -996,7 +996,7 @@ complexity-ism-in-binaural-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 1 hour + start_in: 2 hours script: - *print-common-info - *update-ltv-repo @@ -1012,7 +1012,7 @@ complexity-sba-hoa3-in-hoa3-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 3 hours + start_in: 5 hours script: - *print-common-info - *update-ltv-repo @@ -1028,7 +1028,7 @@ complexity-mc-in-7_1_4-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 6 hours + start_in: 8 hours script: - *print-common-info - *update-ltv-repo @@ -1044,7 +1044,7 @@ complexity-masa-in-7_1_4-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 9 hours + start_in: 13 hours script: - *print-common-info - *update-ltv-repo @@ -1060,7 +1060,7 @@ complexity-StereoDmxEVS-stereo-in-mono-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 10 hours + start_in: 15 hours script: - *print-common-info - *update-ltv-repo -- GitLab From 09a41c22ce97019a8f4745aea5e2520bc01f4d6e Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Sat, 19 Nov 2022 11:21:49 +0100 Subject: [PATCH 099/620] raise timeout for complexity jobs even more --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e84c6e1039..b9d42a2f85 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -969,7 +969,7 @@ coverage-test-on-main-scheduled: - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - timeout: 5 hours + timeout: 7 hours stage: test artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" @@ -1044,7 +1044,7 @@ complexity-masa-in-7_1_4-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 13 hours + start_in: 15 hours script: - *print-common-info - *update-ltv-repo @@ -1060,7 +1060,7 @@ complexity-StereoDmxEVS-stereo-in-mono-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 15 hours + start_in: 17 hours script: - *print-common-info - *update-ltv-repo -- GitLab From 292de80b420900b9f3fd5c08b8687d3b893646c2 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Sun, 20 Nov 2022 15:11:49 +0100 Subject: [PATCH 100/620] fix links for compelxity reports in index webpage --- ci/index-pages.html | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ci/index-pages.html b/ci/index-pages.html index f8b0709b03..0a2e73e78e 100644 --- a/ci/index-pages.html +++ b/ci/index-pages.html @@ -8,12 +8,12 @@ <h2>Complexity Reports</h2> <ul> - <li><a href="measure-complexity-linux-stereo-test-public/index.html">Stereo</a></li> - <li><a href="measure-complexity-linux-ism-test-public/index.html">ISM</a></li> - <li><a href="measure-complexity-linux-sba-test-public/index.html">SBA</a></li> - <li><a href="measure-complexity-linux-mc-test-public/index.html">Multichannel</a></li> - <li><a href="measure-complexity-linux-masa-test-public/index.html">Masa</a></li> - <li><a href="measure-complexity-linux-StereoDmxEVS-test-public/index.html">StereoDmxEVS</a></li> + <li><a href="complexity-stereo-in-stereo-out-public/index.html">Stereo</a></li> + <li><a href="complexity-ism-in-binaural-out-public/index.html">ISM</a></li> + <li><a href="complexity-sba-hoa3-in-hoa3-out-public/index.html">SBA</a></li> + <li><a href="complexity-mc-in-7_1_4-out-public/index.html">Multichannel</a></li> + <li><a href="complexity-masa-in-7_1_4-out-public/index.html">Masa</a></li> + <li><a href="complexity-StereoDmxEVS-stereo-in-mono-out-public/index.html">StereoDmxEVS</a></li> </ul> </body> -- GitLab From c63fbdedea0467686a4d37f96f8a025fc5d90ffd Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 12:10:22 +0100 Subject: [PATCH 101/620] also generate and archive html report for pytest jobs --- .gitlab-ci.yml | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b9d42a2f85..2a322d6632 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -413,6 +413,9 @@ external-renderer-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request + # TODO: remove, only for testing + tags: + - test-fhg-linux-runner1 needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "20 minutes" @@ -443,7 +446,7 @@ external-renderer-pytest-on-merge-request: # run test - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer_be_comparison.py || exit_code=$? + - python3 -m pytest -q --log-level ERROR -n auto -rA --html=report.html --junit-xml=report-junit.xml tests/renderer/test_renderer_be_comparison.py || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -456,6 +459,7 @@ external-renderer-pytest-on-merge-request: when: always paths: - report-junit.xml + - report.html expose_as: "pytest external renderer results" reports: junit: @@ -466,6 +470,9 @@ ivas-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request + # TODO: remove, only for testing + tags: + - test-fhg-linux-runner1 stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "10 minutes" @@ -492,7 +499,7 @@ ivas-pytest-on-merge-request: ### run pytest - exit_code=0 - - python3 -m pytest tests -v --junit-xml=report-junit.xml || exit_code=$? + - python3 -m pytest tests -v --html=report.html --junit-xml=report-junit.xml || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -505,6 +512,7 @@ ivas-pytest-on-merge-request: when: always paths: - report-junit.xml + - report.html expose_as: "pytest ivas results" reports: junit: @@ -514,6 +522,9 @@ evs-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request + # TODO: remove, only for testing + tags: + - test-fhg-linux-runner1 stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "10 minutes" @@ -537,7 +548,7 @@ evs-pytest-on-merge-request: ### run pytest for EVS cases - exit_code=0 - - python3 -m pytest tests/test_param_file.py -v --param_file scripts/config/self_test_evs.prm --junit-xml=report-junit-evs.xml || exit_code=$? + - python3 -m pytest tests/test_param_file.py -v --param_file scripts/config/self_test_evs.prm --html=report.html --junit-xml=report-junit-evs.xml || exit_code=$? - zero_errors=$(cat report-junit-evs.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -550,6 +561,7 @@ evs-pytest-on-merge-request: when: always paths: - report-junit-evs.xml + - report.html expose_as: "pytest evs results" reports: junit: @@ -634,6 +646,9 @@ codec-comparison-on-main-push: extends: - .test-job-linux - .rules-main-push + # TODO: remove, only for testing + tags: + - test-fhg-linux-runner1 stage: compare needs: ["build-codec-linux-cmake"] timeout: "30 minutes" # To be revisited @@ -691,7 +706,7 @@ codec-comparison-on-main-push: ### run pytest - exit_code=0 - - python3 -m pytest tests -v --junit-xml=report-junit.xml || exit_code=$? + - python3 -m pytest tests -v --html=report.html --junit-xml=report-junit.xml || exit_code=$? - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "pytest run had failures and non-BE flag not present"; exit $EXIT_CODE_FAIL; fi - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - if [ $exit_code -eq 1 ] && [ $zero_errors == 1 ]; then echo "pytest run had failures, but no errors and non-BE flag present"; exit $EXIT_CODE_NON_BE; fi @@ -704,6 +719,7 @@ codec-comparison-on-main-push: when: always paths: - report-junit.xml + - report.html expose_as: "Results of comparison to previous merge commit" reports: junit: report-junit.xml -- GitLab From 63d2aa7149ad59ba7c8ac90b41642d1d98956218 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 12:25:56 +0100 Subject: [PATCH 102/620] strip away extra 48kHz run --- .gitlab-ci.yml | 3 - ci/complexity_measurements/getWmops.sh | 10 +- .../index_complexity.html | 332 ------------------ 3 files changed, 2 insertions(+), 343 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b9d42a2f85..a3b4314aa5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -953,9 +953,6 @@ coverage-test-on-main-scheduled: - echo $log_files - ls wmops/logs - for f in $log_files; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done - - log_files_48=$(cat $public_dir/graphs_wmops_flc_48kHz.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - - echo $log_files_48 - - for f in $log_files_48; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done # copy index page blueprint - cp ci/complexity_measurements/index_complexity.html ${public_dir}/index.html # patch the format in the title diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 40b5837017..b14933c91e 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -52,30 +52,24 @@ config_file="scripts/config/ci_linux_ltv.json" # get wmops newsletter wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} -wmopsFilenameFlc48kHzLast=wmops_newsletter_stereo_48kHz__${commit_sha}_${date} -wmopsFilenameFlc48kHz=${destDir}/wmops/logs/${wmopsFilenameFlc48kHzLast} # instrument and build ./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc48kHz} -C $ivas_format -R 48 -S 48 -f ${ep} --oc $output_format # now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS ${scriptDir}/parseNewsletterWmops.py ${wmopsFilenameFlc}_WMOPS.csv ${wmopsFilenameFlcLast}_WMOPS.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_wmops_all.txt -${scriptDir}/parseNewsletterWmops.py ${wmopsFilenameFlc48kHz}_WMOPS.csv ${wmopsFilenameFlc48kHzLast}_WMOPS.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_wmops_48kHz_all.txt # now update the webpage tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt ${destDir}/wmops/graphs_wmops_flc.js Graphs_WMOPS -tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_48kHz_all.txt ${destDir}/wmops/graphs_wmops_flc_48kHz.js Graphs_WMOPS_48kHz # per mode graph tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP -tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc48kHz}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP_48kHz.js Graphs_WMOPS_perOP_48kHz # get memory info for webpage ### RAM -${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc48kHz}_SRAM.csv ${wmopsFilenameFlc48kHz}_DRAM.csv > ${wmopsFilenameFlc48kHz}_RAM.csv -${scriptDir}/parseNewsletterRam.py ${wmopsFilenameFlc48kHz}_SRAM.csv ${wmopsFilenameFlc48kHz}_DRAM.csv ${wmopsFilenameFlc48kHzLast}_RAM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_ram_all.txt +${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc}_SRAM.csv ${wmopsFilenameFlc}_DRAM.csv > ${wmopsFilenameFlc}_RAM.csv +${scriptDir}/parseNewsletterRam.py ${wmopsFilenameFlc}_SRAM.csv ${wmopsFilenameFlc}_DRAM.csv ${wmopsFilenameFlcLast}_RAM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_ram_all.txt # generate java script from database tcsh ${scriptDir}/genWebpageData_Ram.csh ${destDir}/wmops/log_ram_all.txt ${destDir}/wmops/graphs_ram_flc.js Graphs_RAM diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index c2d3c951b6..a131f56662 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -45,10 +45,8 @@ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.stack.min.js"></script> <script type="text/javascript" src="graphs_wmops_flc.js"></script> - <script type="text/javascript" src="graphs_wmops_flc_48kHz.js"></script> <!-- <script type="text/javascript" src="graphs_wmops_basop.js"></script>--> <script type="text/javascript" src="graphs_wmops_flc_perOP.js"></script> - <script type="text/javascript" src="graphs_wmops_flc_perOP_48kHz.js"></script> <!-- <script type="text/javascript" src="graphs_wmops_basop_perOP.js"></script>--> <script type="text/javascript" src="graphs_ram_flc.js"></script> <!-- <script type="text/javascript" src="graphs_ram_basop.js"></script>--> @@ -70,14 +68,6 @@ <li><a href="#sec:graph-wmops_per_op">WMOPS Float per OP</a></li> - <li><a href="#sec:graph-wmops_48kHz">WMOPS Float, 48kHz</a> - <span class="symbols"> - <span class="trafficlight"><span id="wmops_48kHz_tl_l">●</span><span id="wmops_48kHz_tl_c">●</span><span id="wmops_48kHz_tl_r">●</span></span> - <span class="trend"><span id="wmops_48kHz_trend">-</span></span></span> - </li> - - <li><a href="#sec:graph-wmops_per_op_48kHz">WMOPS Float per OP, 48kHz</a></li> - <!-- <li><a href="#sec:graph-wmops-basop">WMOPS BASOP</a> <span class="symbols"> @@ -176,42 +166,6 @@ <hr /> - - <h1 id="sec:graph-wmops_48kHz">IVAS FORMAT - Worst Case WMOPS Performance (Float, 48 kHz)</h1> - - <div class="graph-container"> - <div id="wmops-48kHz-graph"></div> - </div> - - <div class="graph-container" style="clear: both;"> - <ul class="legend"> - <li style="border-color: #FF8000;"><em>Worst case encoder + decoder performance:</em> Encoder and decoder mode might be different.</li> - <li style="border-color: #FFC480;"><em>Worst case encoder + decoder performance (rateswitching):</em> Encoder and decoder mode might be different.</li> - <li style="border-color: #0080FF;"><em>Worst case codec performance:</em> Encoder and decoder modes are identical.</li> - <li style="border-color: #40C4FF;"><em>Worst case codec performance (rateswitching):</em> Encoder and decoder modes are identical.</li> - <li style="border-color: #CF4B4B;"><em>Worst case encoder performance</em> </li> - <li style="border-color: #CF8080;"><em>Worst case encoder performance (rateswitching)</em> </li> - <li style="border-color: #008040;"><em>Worst case decoder performance</em> </li> - <li style="border-color: #00F040;"><em>Worst case decoder performance (rateswitching)</em> </li> - </ul> - </div> - - <hr /> - - <h1 id="sec:graph-wmops_per_op_48kHz">IVAS FORMAT - Worst Case WMOPS Performance - per Operating Point (Float, 48 kHz)</h1> - - <div class="graph-container"> - <div id="wmops_per_op-48kHz-graph"></div> - </div> - - <div class="graph-container" style="clear: both; padding-top: 1em"> - <div id="wmops_per_op-48kHz-legend"></div> - </div> - - <hr /> - - <!-- <h1 id="sec:graph-wmops-basop">IVAS FORMAT - Worst Case WMOPS Performance (BASOP)</h1> @@ -372,8 +326,6 @@ <h1 id="sec:faq">FAQ</h1> <dl style="margin-left: 200px; margin-right: 200px;"> - <dt>Q:</dt><dd>What does "native SR" mean? What is the difference between the graphs titled "native SR" and "48 kHz"?</dd> - <dt>A:</dt><dd>The graphs titled "native SR" run encoder/decoder at the native input/output sampling-rate per operating point. This is 16 kHz for WB, 32 kHz for SWB etc. The graphs titled "48 kHz" use 48 kHz input/output sampling rate, independent of the supported bandwidth, which is set by using the "-max_band" commandline switch.</dd> <dt>Q:</dt><dd>What is the meaning of these funny symbols in the navigation box, in the left upper corner of this page?</dd> <dt>A:</dt><dd> 1) Traffic light <span style="color: #202020; background-color: #000000; opacity: 0.8; font-weight: bolder; font-size: 1.5em;"><span style="color: #FF0000;">●</span><span>●</span><span>●</span></span>, <span style="color: #202020; background-color: #000000; opacity: 0.8; font-weight: bolder; font-size: 1.5em;"><span>●</span><span style="color: #FFFF00;">●</span><span>●</span></span> or <span style="color: #202020; background-color: #000000; opacity: 0.8; font-weight: bolder; font-size: 1.5em;"><span>●</span><span>●</span><span style="color: #00FF00;">●</span></span>: !!!CURRENTLY NOT WORKING CORRECTLY AS NO REQUIREMENTS DEFINED YET!!! The traffic light symbols show, whether the last datapoint matches the requirement (green) or not (red). A yellow traffic light means that the requirement is matched, but the score is very close (within a 3% margin) to the requirement.<br /> @@ -776,287 +728,6 @@ function WMOPS_perOP() { } - - - function WMOPS_48kHz() { - - var previousPoint = null; - - function drawGraph(elt, graph, max_val) { - var options = { - yaxis: { - min: 0, - max: max_val, - tickFormatter: function (v, axis) { - if (graph.direction == -1) - return v + " WMOPS"; - return v; - }, - invert: graph.direction == 1 - }, - xaxis: { - tickFormatter: function (v, axis) { - v = Math.round(v); - if (!(v in graph.runs)) - return ''; - return graph.runs[v].shortDate; - } - }, - legend: { show: false }, - grid: { - hoverable: true, - clickable: true - } - }; - - $.plot(elt, graph.displays, options); - - elt.bind("plothover", function (event, pos, item) { - if (!item) { - // only remove if not in tooltip anymore - if ($('#tooltip:hover').length == 0) { - $("#tooltip").remove(); - } - previousPoint = null; - return; - } - - if (previousPoint && - (previousPoint[0] == item.datapoint[0]) && - (previousPoint[1] == item.datapoint[1])) { - return; - } - - previousPoint = item.datapoint; - $("#tooltip").remove(); - if(item.series.id != "requirement"){ - var x = item.datapoint[0]; - var y = item.datapoint[1]; - var text = 'Score: ' + y; - - if (graph.direction == -1) - text += " WMOPS"; - text += "<br>"; - - if (x > 0) { - var thisValue = parseFloat(y); - var prevValue = parseFloat(item.series.data[x - 1, x - 1][1]); - var diff = Math.round((thisValue - prevValue) * 100) / 100; - var pdiff = calcPercentDiff(thisValue, prevValue); - var better; - if ((pdiff < 0 && graph.direction == -1) || - (pdiff > 0 && graph.direction == 1)) { - better = "worse"; - } else { - better = "better"; - } - pdiff = Math.abs(pdiff); - if (diff === diff) { - text += String.fromCharCode(916) + ": " + diff; - if (graph.direction == -1) - text += " WMOPS"; - text += " (" + pdiff + "% " + better + ")<br>"; - } - } - - if( item.series.id == "worst case enc/dec" ){ - text += "Worst case enc: " + graph.runs[x].worstCaseEnc + "<br>"; - text += "Worst case dec: " + graph.runs[x].worstCaseDec + "<br>"; - } - if( item.series.id == "worst case codec" ){ - text += "Worst case codec: " + graph.runs[x].worstCaseCodec + "<br>"; - } - if( item.series.id == "worst case enc" ){ - text += "Worst case enc: " + graph.runs[x].worstCaseEnc + "<br>"; - } - if( item.series.id == "worst case dec" ){ - text += "Worst case dec: " + graph.runs[x].worstCaseDec + "<br>"; - } - if( item.series.id == "worst case enc/dec rs" ){ - text += "Worst case enc rateswitching: " + graph.runs[x].worstCaseEncRs + "<br>"; - text += "Worst case dec rateswitching: " + graph.runs[x].worstCaseDecRs + "<br>"; - } - if( item.series.id == "worst case codec rs" ){ - text += "Worst case codec rateswitching: " + graph.runs[x].worstCaseCodecRs + "<br>"; - } - if( item.series.id == "worst case enc rs" ){ - text += "Worst case enc rateswitching: " + graph.runs[x].worstCaseEncRs + "<br>"; - } - if( item.series.id == "worst case dec rs" ){ - text += "Worst case dec rateswitching: " + graph.runs[x].worstCaseDecRs + "<br>"; - } - - - text += "<br>" - text += "Revision: " + graph.runs[x].revision + "<br>"; - text += "Date: " + graph.runs[x].fullDate + "<br>"; - text += "Fixpoint scal. fac. to reach 138 WMOPS: " + graph.runs[x].fixpointScalingFac + "<br><br>"; - - text += "<a href=\"logs/" + graph.runs[x].logFile + "\">Logfile</a><br>"; - } else { - text = "Complexity requirement: 135 WMOPS"; - } - - showToolTip(item.pageX, item.pageY, text); - - }); - } - - $(document).ready(function () { - var max = get_max_y_val_for_plotting(Graphs_WMOPS_48kHz.wmops_worstcase.displays, 50); - drawGraph($("#wmops-48kHz-graph"), Graphs_WMOPS_48kHz.wmops_worstcase, max); - }); - - var refData = Graphs_WMOPS_48kHz.wmops_worstcase.displays[0]; - var testData = Graphs_WMOPS_48kHz.wmops_worstcase.displays[2]; - var testDataRs = Graphs_WMOPS_48kHz.wmops_worstcase.displays[6]; - var nEntries = testData.data.length; - - if( testDataRs.data[nEntries-1][1] > testData.data[nEntries-1][1] ) { - testData = testDataRs; - } - - if(testData.data[nEntries-1][1] > refData.data[nEntries-1][1] ) { - document.getElementById("wmops_48kHz_tl_l").style.color="#FF0000"; - } else if(testData.data[nEntries-1][1] > 0.97 * refData.data[nEntries-1][1] ) { - document.getElementById("wmops_48kHz_tl_c").style.color="#FFFF00"; - } else { - document.getElementById("wmops_48kHz_tl_r").style.color="#00FF00"; - } - - if(nEntries > 1) { - if( testData.data[nEntries-1][1] > 1.01 * testData.data[nEntries-2][1] ) { - document.getElementById("wmops_48kHz_trend").innerHTML="↑"; - document.getElementById("wmops_48kHz_trend").style.color="#FF0000"; - } else if(testData.data[nEntries-1][1] < 0.99 * testData.data[nEntries-2][1] ) { - document.getElementById("wmops_48kHz_trend").innerHTML="↓"; - document.getElementById("wmops_48kHz_trend").style.color="#00FF00"; - } else { - document.getElementById("wmops_48kHz_trend").innerHTML="→"; - document.getElementById("wmops_48kHz_trend").style.color="#FFFFFF"; - } - } -} - - -function WMOPS_perOP_48kHz() { - - var previousPoint = null; - - function drawGraph(elt, graph, max_val) { - var options = { - yaxis: { - min: 0, - max: max_val, - tickFormatter: function (v, axis) { - if (graph.direction == -1) - return v + " WMOPS"; - return v; - }, - invert: graph.direction == 1 - }, - xaxis: { - ticks: graph.ticks - }, - legend: { show: true }, - grid: { - hoverable: true, - clickable: true - }, - series: { - stack: true, - bars: { - show: true, - lineWidth: 2, // in pixels - barWidth: 0.6, // in units of the x axis - fill: true, - fillColor: null, - align: "center", // "left", "right", or "center" - horizontal: false, - zero: true - } - } - }; - - $.plot(elt, graph.displays, options); - - elt.bind("plothover", function (event, pos, item) { - if (!item) { - // only remove if not in tooltip anymore - if ($('#tooltip:hover').length == 0) { - $("#tooltip").remove(); - } - previousPoint = null; - return; - } - - if (previousPoint && - (previousPoint[0] == item.datapoint[0]) && - (previousPoint[1] == item.datapoint[1])) { - return; - } - - previousPoint = item.datapoint; - $("#tooltip").remove(); - - var encData = Graphs_WMOPS_perOP_48kHz.wmops_worstcase_per_op.displays[0]; - var decData = Graphs_WMOPS_perOP_48kHz.wmops_worstcase_per_op.displays[1]; - - var x = item.datapoint[0]; - var y = item.datapoint[1]; - - var scoreEnc = parseFloat(encData.data[x][1]); - var scoreDec = parseFloat(decData.data[x][1]); - var scoreCodec = Math.round((scoreEnc + scoreDec) * 100) / 100; - - var text = ""; - - text += "Mode: " + Graphs_WMOPS_perOP_48kHz.wmops_worstcase_per_op.runs[x].operatingPoint + "<br><br>"; - - text += 'Score: ' + Math.round(y * 100) / 100; - if (graph.direction == -1) - text += " WMOPS"; - if( item.series.id == "worstCaseEnc" ){ - text += " (enc)"; - } - if( item.series.id == "worstCaseDec" ){ - text += " (enc + dec)"; - } - text += "<br><br>"; - - text += "Worst case enc: " + scoreEnc + " WMOPS<br>"; - text += "Worst case dec: " + scoreDec + " WMOPS<br>"; - text += "Worst case codec: " + scoreCodec + " WMOPS<br><br>"; - - var nEntriesWmopsGraph = Graphs_WMOPS_48kHz.wmops_worstcase.runs.length - 1; - text += "<a href=\"logs/" + Graphs_WMOPS_48kHz.wmops_worstcase.runs[nEntriesWmopsGraph].logFile + "\">Logfile</a><br>"; - - showToolTip(item.pageX, item.pageY, text); - - }); - - } - - - $(document).ready(function () { - // need to get worst case of enc + dec combined, because values are stacked in the graph - var max = get_max_y_val_for_plotting(Graphs_WMOPS_48kHz.wmops_worstcase.displays, 50); - drawGraph($("#wmops_per_op-48kHz-graph"), Graphs_WMOPS_perOP_48kHz.wmops_worstcase_per_op, max); - }); - - var nEntriesWmopsGraph = Graphs_WMOPS_48kHz.wmops_worstcase.runs.length - 1; - var legend = "<p style=\"text-align: center;\">Numbers derived from revision " + - Graphs_WMOPS_48kHz.wmops_worstcase.runs[nEntriesWmopsGraph].revision + - ", " + - Graphs_WMOPS_48kHz.wmops_worstcase.runs[nEntriesWmopsGraph].fullDate + - "</p>"; - - document.getElementById("wmops_per_op-48kHz-legend").innerHTML = legend; - -} - - - function RAM() { var previousPoint = null; @@ -1557,9 +1228,6 @@ function PROM() { WMOPS(); WMOPS_perOP(); - - WMOPS_48kHz(); - WMOPS_perOP_48kHz(); RAM(); ROM(); -- GitLab From 83c90b735c0979c123846c244fd289991ffd8f2f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 12:28:08 +0100 Subject: [PATCH 103/620] limit file duration to 2s for testing --- ci/complexity_measurements/getWmops.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index b14933c91e..8b0a14b50d 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -54,7 +54,7 @@ wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} # instrument and build -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format -U 2 # now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From a45774416e0bc6e50107e85537f0aca9eab816ed Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 12:29:37 +0100 Subject: [PATCH 104/620] comment out pages job to not always recreate page during testing --- .gitlab-ci.yml | 104 ++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a3b4314aa5..0875f106b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1071,58 +1071,58 @@ complexity-StereoDmxEVS-stereo-in-mono-out: # Other jobs # --------------------------------------------------------------- -pages: - stage: deploy - tags: - - test-complexity-measurement - rules: - # only run for pipelines that affect the data for the page - - if: $MEASURE_COMPLEXITY_LINUX - # TODO: add coverage job - script: - - - API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs - - branch=$CI_COMMIT_REF_NAME - - - mkdir public - # get artifacts for complexity jobs - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - - cat artifacts_comp_stereo.zip - - unzip -o artifacts_comp_stereo.zip - - mv complexity-stereo-in-stereo-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - - unzip -o artifacts_comp_ism.zip - - mv complexity-ism-in-binaural-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - - unzip -o artifacts_comp_sba.zip - - mv complexity-sba-hoa3-in-hoa3-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - - unzip -o artifacts_comp_mc.zip - - mv complexity-mc-in-7_1_4-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - - unzip -o artifacts_comp_masa.zip - - mv complexity-masa-in-7_1_4-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - - unzip -o artifacts_comp_StereoDmxEVS.zip - - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ - - - cp ci/index-pages.html public/index.html - artifacts: - paths: - - public +#pages: + #stage: deploy + #tags: + #- test-complexity-measurement + #rules: + ## only run for pipelines that affect the data for the page + #- if: $MEASURE_COMPLEXITY_LINUX + ## TODO: add coverage job + #script: + + #- API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs + #- branch=$CI_COMMIT_REF_NAME + + #- mkdir public + ## get artifacts for complexity jobs + #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) + #- echo $job_id + #- echo "$API_URL_BASE/$job_id/artifacts" + #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip + #- cat artifacts_comp_stereo.zip + #- unzip -o artifacts_comp_stereo.zip + #- mv complexity-stereo-in-stereo-out-public ./public/ + + #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) + #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip + #- unzip -o artifacts_comp_ism.zip + #- mv complexity-ism-in-binaural-out-public ./public/ + + #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) + #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip + #- unzip -o artifacts_comp_sba.zip + #- mv complexity-sba-hoa3-in-hoa3-out-public ./public/ + + #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) + #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip + #- unzip -o artifacts_comp_mc.zip + #- mv complexity-mc-in-7_1_4-out-public ./public/ + + #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) + #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip + #- unzip -o artifacts_comp_masa.zip + #- mv complexity-masa-in-7_1_4-out-public ./public/ + + #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) + #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip + #- unzip -o artifacts_comp_StereoDmxEVS.zip + #- mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ + + #- cp ci/index-pages.html public/index.html + #artifacts: + #paths: + #- public # Pull state of a branch on 3GPP repo, push to a mirror repo. pull-from-3gpp-forge: -- GitLab From 95442d6fcf058a758c5da489a0eb0be94216f9c4 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 12:43:46 +0100 Subject: [PATCH 105/620] half delays and timeout --- .gitlab-ci.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0875f106b2..60c8795945 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -966,7 +966,7 @@ coverage-test-on-main-scheduled: - .test-job-linux-needs-testv-dir tags: - test-complexity-measurement - timeout: 7 hours + timeout: 3 hours 30 minutes stage: test artifacts: name: "$CI_JOB_NAME--$CI_COMMIT_REF_NAME--sha-$CI_COMMIT_SHA" @@ -993,7 +993,7 @@ complexity-ism-in-binaural-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 2 hours + start_in: 1 hour script: - *print-common-info - *update-ltv-repo @@ -1009,7 +1009,7 @@ complexity-sba-hoa3-in-hoa3-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 5 hours + start_in: 2 hours 30 minutes script: - *print-common-info - *update-ltv-repo @@ -1025,7 +1025,7 @@ complexity-mc-in-7_1_4-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 8 hours + start_in: 4 hours script: - *print-common-info - *update-ltv-repo @@ -1041,7 +1041,7 @@ complexity-masa-in-7_1_4-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 15 hours + start_in: 7 hours 30 minutes script: - *print-common-info - *update-ltv-repo @@ -1057,7 +1057,7 @@ complexity-StereoDmxEVS-stereo-in-mono-out: rules: - if: $MEASURE_COMPLEXITY_LINUX when: delayed - start_in: 17 hours + start_in: 8 hours 30 minutes script: - *print-common-info - *update-ltv-repo -- GitLab From 190e52b05bf899d30e0d77f6c98d9a55381669a8 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 13:05:21 +0100 Subject: [PATCH 106/620] remove length limitation --- ci/complexity_measurements/getWmops.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 8b0a14b50d..b14933c91e 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -54,7 +54,7 @@ wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} # instrument and build -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format -U 2 +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format # now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From beff232403c3be4f0638252fe8ceb99957a7d90b Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 13:06:12 +0100 Subject: [PATCH 107/620] Revert "comment out pages job to not always recreate page during testing" This reverts commit a45774416e0bc6e50107e85537f0aca9eab816ed. --- .gitlab-ci.yml | 104 ++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 60c8795945..746b36bf37 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1071,58 +1071,58 @@ complexity-StereoDmxEVS-stereo-in-mono-out: # Other jobs # --------------------------------------------------------------- -#pages: - #stage: deploy - #tags: - #- test-complexity-measurement - #rules: - ## only run for pipelines that affect the data for the page - #- if: $MEASURE_COMPLEXITY_LINUX - ## TODO: add coverage job - #script: - - #- API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs - #- branch=$CI_COMMIT_REF_NAME - - #- mkdir public - ## get artifacts for complexity jobs - #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) - #- echo $job_id - #- echo "$API_URL_BASE/$job_id/artifacts" - #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - #- cat artifacts_comp_stereo.zip - #- unzip -o artifacts_comp_stereo.zip - #- mv complexity-stereo-in-stereo-out-public ./public/ - - #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) - #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - #- unzip -o artifacts_comp_ism.zip - #- mv complexity-ism-in-binaural-out-public ./public/ - - #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) - #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - #- unzip -o artifacts_comp_sba.zip - #- mv complexity-sba-hoa3-in-hoa3-out-public ./public/ - - #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) - #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - #- unzip -o artifacts_comp_mc.zip - #- mv complexity-mc-in-7_1_4-out-public ./public/ - - #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) - #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - #- unzip -o artifacts_comp_masa.zip - #- mv complexity-masa-in-7_1_4-out-public ./public/ - - #- job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) - #- curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - #- unzip -o artifacts_comp_StereoDmxEVS.zip - #- mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ - - #- cp ci/index-pages.html public/index.html - #artifacts: - #paths: - #- public +pages: + stage: deploy + tags: + - test-complexity-measurement + rules: + # only run for pipelines that affect the data for the page + - if: $MEASURE_COMPLEXITY_LINUX + # TODO: add coverage job + script: + + - API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs + - branch=$CI_COMMIT_REF_NAME + + - mkdir public + # get artifacts for complexity jobs + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip + - cat artifacts_comp_stereo.zip + - unzip -o artifacts_comp_stereo.zip + - mv complexity-stereo-in-stereo-out-public ./public/ + + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip + - unzip -o artifacts_comp_ism.zip + - mv complexity-ism-in-binaural-out-public ./public/ + + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip + - unzip -o artifacts_comp_sba.zip + - mv complexity-sba-hoa3-in-hoa3-out-public ./public/ + + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip + - unzip -o artifacts_comp_mc.zip + - mv complexity-mc-in-7_1_4-out-public ./public/ + + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip + - unzip -o artifacts_comp_masa.zip + - mv complexity-masa-in-7_1_4-out-public ./public/ + + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip + - unzip -o artifacts_comp_StereoDmxEVS.zip + - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ + + - cp ci/index-pages.html public/index.html + artifacts: + paths: + - public # Pull state of a branch on 3GPP repo, push to a mirror repo. pull-from-3gpp-forge: -- GitLab From e6ded348cb2655f30f66c2db7b08414a91516b4e Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 15 Nov 2022 17:53:12 +0100 Subject: [PATCH 108/620] Fix in regexp for renderer non-be tag --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b9d42a2f85..49dc698a57 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -421,7 +421,7 @@ external-renderer-pytest-on-merge-request: - *print-common-info # some helper variables - "|| true" to prevent failures from grep not finding anything - - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend(erer)*[ -]*non[ -]*be\]") || true + - non_be_flag=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[rend\(erer\)*[ -]*non[ -]*be\]") || true # TODO: needs splitting the test between reference and cut generation #- ref_using_main=$(echo $CI_MERGE_REQUEST_TITLE | grep -c --ignore-case "\[ref[ -]*using[ -]*main\]") || true -- GitLab From 8b927983c01e17aa2fd75a97defd7a1d0444f4d3 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 21 Nov 2022 15:06:00 +0100 Subject: [PATCH 109/620] - fix Issue 127: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter; under FIX_I217_GSC_FLAG_IN_ISM - + remove unnecessary assignments --- lib_com/options.h | 2 +- lib_dec/ivas_stereo_td_low_rate_dec.c | 20 +++++++------------- lib_enc/gs_enc.c | 1 - lib_enc/ivas_stereo_td_low_rate_enc.c | 25 +++++++++++++------------ 4 files changed, 21 insertions(+), 27 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a9fcac0178..1f7dd80611 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -156,7 +156,7 @@ #define FIX_MCT_UNINIT_MEM /* Issue 166: Reading of uninitialized memory in TCX range coder */ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ - +#define FIX_I217_GSC_FLAG_IN_ISM /* Issue 127: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_stereo_td_low_rate_dec.c b/lib_dec/ivas_stereo_td_low_rate_dec.c index 8a0757cd5e..0e1c34db1d 100644 --- a/lib_dec/ivas_stereo_td_low_rate_dec.c +++ b/lib_dec/ivas_stereo_td_low_rate_dec.c @@ -67,7 +67,6 @@ void tdm_low_rate_dec( int16_t Diff_len, nb_subfr; int16_t attack_flag; int16_t last_bin; - int16_t m_coder_type; float exc_wo_nf[L_FRAME]; hGSCDec = st->hGSCDec; @@ -76,26 +75,21 @@ void tdm_low_rate_dec( * Initialization *---------------------------------------------------------------*/ - m_coder_type = st->coder_type; - - Diff_len = 0; - - pit_band_idx = 10 + BAND1k2; nb_subfr = 2; - hGSCDec->Last_GSC_pit_band_idx = pit_band_idx; - +#ifdef FIX_I217_GSC_FLAG_IN_ISM + st->GSC_IVAS_mode = 0; +#endif st->GSC_noisy_speech = 1; hGSCDec->noise_lev = 14; - /*---------------------------------------------------------------* - * DCT transform - *---------------------------------------------------------------*/ + pit_band_idx = 10 + BAND1k2; + hGSCDec->Last_GSC_pit_band_idx = pit_band_idx; st->tilt_code = 0.0f; set_f( exc, 0, L_FRAME ); set_f( dct_epit, 0, L_FRAME ); - set_f( pitch_buf, 64, 4 ); + set_f( pitch_buf, L_SUBFR, NB_SUBFR ); st->bpf_off = 1; st->bfi_pitch = (int16_t) ( mean( pitch_buf, 4 ) + 0.5f ); @@ -127,7 +121,7 @@ void tdm_low_rate_dec( tmp_nb_bits_tot--; } - gsc_dec( st, dct_epit, pit_band_idx, Diff_len, tmp_nb_bits_tot, nb_subfr, m_coder_type, &last_bin, lsf_new, exc_wo_nf, tmp_noise ); + gsc_dec( st, dct_epit, pit_band_idx, Diff_len, tmp_nb_bits_tot, nb_subfr, st->coder_type, &last_bin, lsf_new, exc_wo_nf, tmp_noise ); /*--------------------------------------------------------------------------------------* * iDCT transform diff --git a/lib_enc/gs_enc.c b/lib_enc/gs_enc.c index cfee14b2ca..bd8897e554 100644 --- a/lib_enc/gs_enc.c +++ b/lib_enc/gs_enc.c @@ -97,7 +97,6 @@ void encod_audio( hGSCEnc = st->hGSCEnc; m_mean = 0.0f; - tmp_nb_bits_tot = 0; T0_tmp = 64; T0_frac_tmp = 0; diff --git a/lib_enc/ivas_stereo_td_low_rate_enc.c b/lib_enc/ivas_stereo_td_low_rate_enc.c index 92abf45e9a..563e1d1b39 100644 --- a/lib_enc/ivas_stereo_td_low_rate_enc.c +++ b/lib_enc/ivas_stereo_td_low_rate_enc.c @@ -72,28 +72,29 @@ void tdm_low_rate_enc( float exc_wo_nf[L_FRAME]; LPD_state_HANDLE hLPDmem = st->hLPDmem; - tmp_nb_bits_tot = 0; - /*---------------------------------------------------------------* - * DCT transform of the residual and create a subsample residual + * Initialization *---------------------------------------------------------------*/ - edct( res, dct_res, L_FRAME, st->element_mode ); - nb_subfr = 2; - /*---------------------------------------------------------------* - * Compute time domain excitation contribution in the subsample domain - *---------------------------------------------------------------*/ +#ifdef FIX_I217_GSC_FLAG_IN_ISM + st->GSC_IVAS_mode = 0; +#endif + st->GSC_noisy_speech = 1; + st->hGSCEnc->noise_lev = 14; hLPDmem->tilt_code = 0.0f; - - st->GSC_noisy_speech = 1; set_f( dct_epit, 0, L_FRAME ); - set_f( pitch_buf, 64, NB_SUBFR ); - st->hGSCEnc->noise_lev = 14; + set_f( pitch_buf, L_SUBFR, NB_SUBFR ); last_pit_bin = L_FRAME / 2; + /*---------------------------------------------------------------* + * DCT transform of the residual and create a subsample residual + *---------------------------------------------------------------*/ + + edct( res, dct_res, L_FRAME, st->element_mode ); + /*--------------------------------------------------------------------------------------* * GSC encoder *--------------------------------------------------------------------------------------*/ -- GitLab From 95aee2b01936871cc47ebdf0043e9de33747bcb3 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 21 Nov 2022 15:17:45 +0100 Subject: [PATCH 110/620] rename two source files --- Workspace_msvc/lib_dec.vcxproj | 2 +- Workspace_msvc/lib_dec.vcxproj.filters | 12 +++--------- Workspace_msvc/lib_enc.vcxproj | 4 ++-- Workspace_msvc/lib_enc.vcxproj.filters | 6 +++--- ...ereo_td_low_rate_dec.c => ivas_td_low_rate_dec.c} | 0 ...ereo_td_low_rate_enc.c => ivas_td_low_rate_enc.c} | 0 6 files changed, 9 insertions(+), 15 deletions(-) rename lib_dec/{ivas_stereo_td_low_rate_dec.c => ivas_td_low_rate_dec.c} (100%) rename lib_enc/{ivas_stereo_td_low_rate_enc.c => ivas_td_low_rate_enc.c} (100%) diff --git a/Workspace_msvc/lib_dec.vcxproj b/Workspace_msvc/lib_dec.vcxproj index 1d7e5cd133..ad725ce034 100644 --- a/Workspace_msvc/lib_dec.vcxproj +++ b/Workspace_msvc/lib_dec.vcxproj @@ -314,10 +314,10 @@ <ClCompile Include="..\lib_dec\ivas_stereo_mdct_stereo_dec.c" /> <ClCompile Include="..\lib_dec\ivas_stereo_switching_dec.c" /> <ClCompile Include="..\lib_dec\ivas_stereo_td_dec.c" /> - <ClCompile Include="..\lib_dec\ivas_stereo_td_low_rate_dec.c" /> <ClCompile Include="..\lib_dec\ivas_svd_dec.c" /> <ClCompile Include="..\lib_dec\ivas_tcx_core_dec.c" /> <ClCompile Include="..\lib_dec\ivas_td_decorr.c" /> + <ClCompile Include="..\lib_dec\ivas_td_low_rate_dec.c" /> <ClCompile Include="..\lib_dec\ivas_vbap.c" /> <ClCompile Include="..\lib_dec\jbm_jb4sb.c" /> <ClCompile Include="..\lib_dec\jbm_jb4_circularbuffer.c" /> diff --git a/Workspace_msvc/lib_dec.vcxproj.filters b/Workspace_msvc/lib_dec.vcxproj.filters index ffc999a2f1..5b52aabb77 100644 --- a/Workspace_msvc/lib_dec.vcxproj.filters +++ b/Workspace_msvc/lib_dec.vcxproj.filters @@ -466,9 +466,6 @@ <ClCompile Include="..\lib_dec\ivas_stereo_td_dec.c"> <Filter>dec_ivas_c</Filter> </ClCompile> - <ClCompile Include="..\lib_dec\ivas_stereo_td_low_rate_dec.c"> - <Filter>dec_ivas_c</Filter> - </ClCompile> <ClCompile Include="..\lib_dec\ivas_tcx_core_dec.c"> <Filter>dec_ivas_c</Filter> </ClCompile> @@ -476,15 +473,9 @@ <ClCompile Include="..\lib_dec\ivas_agc_dec.c"> <Filter>dec_ivas_c</Filter> </ClCompile> - <ClCompile Include="..\lib_dec\ivas_spar_foa_md_dec.c"> - <Filter>dec_ivas_c</Filter> - </ClCompile> <ClCompile Include="..\lib_dec\ivas_td_decorr.c"> <Filter>dec_ivas_c</Filter> </ClCompile> - <ClCompile Include="..\lib_dec\ivas_spar_foa_dec.c"> - <Filter>dec_ivas_c</Filter> - </ClCompile> <ClCompile Include="..\lib_dec\ivas_pca_dec.c"> <Filter>dec_ivas_c</Filter> </ClCompile> @@ -506,6 +497,9 @@ <ClCompile Include="..\lib_dec\ivas_corecoder_dec_reconfig.c"> <Filter>dec_ivas_c</Filter> </ClCompile> + <ClCompile Include="..\lib_dec\ivas_td_low_rate_dec.c"> + <Filter>dec_ivas_c</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_dec\jbm_jb4_inputbuffer.h"> diff --git a/Workspace_msvc/lib_enc.vcxproj b/Workspace_msvc/lib_enc.vcxproj index 3d46808cf3..a2d1e13ae7 100644 --- a/Workspace_msvc/lib_enc.vcxproj +++ b/Workspace_msvc/lib_enc.vcxproj @@ -330,8 +330,8 @@ <ClCompile Include="..\lib_enc\ivas_stereo_switching_enc.c" /> <ClCompile Include="..\lib_enc\ivas_stereo_td_analysis.c" /> <ClCompile Include="..\lib_enc\ivas_stereo_td_enc.c" /> - <ClCompile Include="..\lib_enc\ivas_stereo_td_low_rate_enc.c" /> <ClCompile Include="..\lib_enc\ivas_tcx_core_enc.c" /> + <ClCompile Include="..\lib_enc\ivas_td_low_rate_enc.c" /> <ClCompile Include="..\lib_enc\lead_indexing.c" /> <ClCompile Include="..\lib_enc\lib_enc.c" /> <ClCompile Include="..\lib_enc\long_enr.c" /> @@ -423,4 +423,4 @@ <UserProperties DevPartner_IsInstrumented="0" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project> \ No newline at end of file diff --git a/Workspace_msvc/lib_enc.vcxproj.filters b/Workspace_msvc/lib_enc.vcxproj.filters index 1d7ee5594f..8fe608e0a6 100644 --- a/Workspace_msvc/lib_enc.vcxproj.filters +++ b/Workspace_msvc/lib_enc.vcxproj.filters @@ -550,9 +550,6 @@ <ClCompile Include="..\lib_enc\ivas_stereo_td_enc.c"> <Filter>enc_ivas_c</Filter> </ClCompile> - <ClCompile Include="..\lib_enc\ivas_stereo_td_low_rate_enc.c"> - <Filter>enc_ivas_c</Filter> - </ClCompile> <ClCompile Include="..\lib_enc\ivas_tcx_core_enc.c"> <Filter>enc_ivas_c</Filter> </ClCompile> @@ -584,6 +581,9 @@ <ClCompile Include="..\lib_enc\ivas_corecoder_enc_reconfig.c"> <Filter>enc_ivas_c</Filter> </ClCompile> + <ClCompile Include="..\lib_enc\ivas_td_low_rate_enc.c"> + <Filter>enc_ivas_c</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_enc\ivas_stat_enc.h"> diff --git a/lib_dec/ivas_stereo_td_low_rate_dec.c b/lib_dec/ivas_td_low_rate_dec.c similarity index 100% rename from lib_dec/ivas_stereo_td_low_rate_dec.c rename to lib_dec/ivas_td_low_rate_dec.c diff --git a/lib_enc/ivas_stereo_td_low_rate_enc.c b/lib_enc/ivas_td_low_rate_enc.c similarity index 100% rename from lib_enc/ivas_stereo_td_low_rate_enc.c rename to lib_enc/ivas_td_low_rate_enc.c -- GitLab From 0040a19bce0b80408e46aa5a2ec78a287ae5e7b2 Mon Sep 17 00:00:00 2001 From: Andrea Eichenseer <andrea.eichenseer@iis.fraunhofer.de> Date: Mon, 21 Nov 2022 15:35:28 +0100 Subject: [PATCH 111/620] Fix issue 218 under switch FIX_I218_PARAMISM_NOISY_SPEECH, active --- lib_com/options.h | 1 + lib_enc/ivas_ism_enc.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index c2ef6ee92d..7d1fcb92fe 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -157,6 +157,7 @@ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ #define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ +#define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 3c8a1f04b3..6f63b9b7a9 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -175,7 +175,11 @@ ivas_error ivas_ism_enc( /* For the current frame, make a decision based on some core-coder flags */ if ( st_ivas->hSCE[0]->hCoreCoder[0]->flag_noisy_speech_snr && st_ivas->hSCE[1]->hCoreCoder[0]->flag_noisy_speech_snr ) { +#ifdef FIX_I218_PARAMISM_NOISY_SPEECH + if ( st_ivas->hSCE[0]->hCoreCoder[0]->vad_flag || st_ivas->hSCE[1]->hCoreCoder[0]->vad_flag ) +#else if ( st_ivas->hSCE[0]->hCoreCoder[0]->vad_flag && st_ivas->hSCE[1]->hCoreCoder[0]->vad_flag ) +#endif { st_ivas->hDirAC->hParamIsm->noisy_speech_buffer[i] = 0; } -- GitLab From 240c139c34c9267e75bd1cf26242c0f753c7484f Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 21 Nov 2022 15:56:42 +0100 Subject: [PATCH 112/620] Removed old files from lib_debug --- Workspace_msvc/lib_debug.vcxproj | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Workspace_msvc/lib_debug.vcxproj b/Workspace_msvc/lib_debug.vcxproj index 5dc36d4633..43c601024d 100644 --- a/Workspace_msvc/lib_debug.vcxproj +++ b/Workspace_msvc/lib_debug.vcxproj @@ -143,20 +143,15 @@ </ItemDefinitionGroup> <ItemGroup> <ClCompile Include="..\lib_debug\debug.c" /> - <ClCompile Include="..\lib_debug\memory.c" /> - <ClCompile Include="..\lib_debug\mem_count.c" /> <ClCompile Include="..\lib_debug\segsnr.c" /> <ClCompile Include="..\lib_debug\snr.c" /> <ClCompile Include="..\lib_debug\sba_debug.c" /> - <ClCompile Include="..\lib_debug\wmops.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_debug\debug.h" /> <ClInclude Include="..\lib_debug\deb_out.h" /> <ClInclude Include="..\lib_debug\errorhnd.h" /> - <ClInclude Include="..\lib_debug\mem_count.h" /> <ClInclude Include="..\lib_debug\sba_debug.h" /> - <ClInclude Include="..\lib_debug\wmops.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> @@ -166,4 +161,4 @@ <UserProperties DevPartner_IsInstrumented="0" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project> \ No newline at end of file -- GitLab From 752203b623067d4bcb7c4d364c5c39b5185d2420 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 22 Nov 2022 07:18:50 +0000 Subject: [PATCH 113/620] fix typo in comment --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 5e51b257c9..4e0d5ba58f 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -158,7 +158,7 @@ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ #define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ #define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ -#define FIX_I217_GSC_FLAG_IN_ISM /* Issue 127: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ +#define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ /* ################## End DEVELOPMENT switches ######################### */ -- GitLab From 545d796d56039bd09b945f3268893e09fcc09856 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 22 Nov 2022 08:31:45 +0100 Subject: [PATCH 114/620] Moved mem_analysis.m to scripts folder --- mem_analysis.m => scripts/mem_analysis.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename mem_analysis.m => scripts/mem_analysis.m (93%) diff --git a/mem_analysis.m b/scripts/mem_analysis.m similarity index 93% rename from mem_analysis.m rename to scripts/mem_analysis.m index b259b2ebdf..ad75efa1c7 100644 --- a/mem_analysis.m +++ b/scripts/mem_analysis.m @@ -1,6 +1,6 @@ %% -lines = readlines('mem_analysis.csv','EmptyLineRule','skip'); +lines = readlines('../mem_analysis.csv','EmptyLineRule','skip'); names = {}; Nframes = length(lines); -- GitLab From 1865cf3ddd7ae5267320e8979a956e1ba23cccca Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Tue, 22 Nov 2022 08:45:07 +0100 Subject: [PATCH 115/620] reduce the memory consumption of DirAC and the hDirAC_mem handle for certain bit rates and output configurations, under define FIX_158_DIRAC_MEM, active, self_test BE --- lib_com/options.h | 1 + lib_dec/ivas_dirac_dec.c | 121 +++++++++++++++++++++++++++++++++------ lib_dec/ivas_stat_dec.h | 4 ++ 3 files changed, 110 insertions(+), 16 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index c2ef6ee92d..6837dd2d0d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -157,6 +157,7 @@ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ #define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ +#define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index d7feb33256..298bcc4a0b 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -49,8 +49,11 @@ /*-----------------------------------------------------------------------* * Local function prototypes *-----------------------------------------------------------------------*/ - +#ifdef FIX_158_DIRAC_MEM +static void ivas_dirac_alloc_mem( DIRAC_DEC_HANDLE hDirAC, const RENDERER_TYPE renderer_type, DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ); +#else static void ivas_dirac_alloc_mem( DIRAC_DEC_HANDLE hDirAC, DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ); +#endif static void ivas_dirac_free_mem( DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ); @@ -714,6 +717,13 @@ ivas_error ivas_dirac_dec_config( } } + +#ifdef FIX_158_DIRAC_MEM + if ( flag_config == DIRAC_OPEN ) + { + hDirAC->buffer_energy = NULL; + } +#endif if ( ( flag_config == DIRAC_OPEN && hDirAC->hConfig->dec_param_estim == TRUE ) || ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->hConfig->dec_param_estim == TRUE && dec_param_estim_old == FALSE ) ) ) { hDirAC->index_buffer_intensity = 0; @@ -726,7 +736,12 @@ ivas_error ivas_dirac_dec_config( set_f( hDirAC->buffer_intensity_real[i][j], 0.0f, CLDFB_NO_CHANNELS_MAX ); } } - +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->buffer_energy == NULL ) + { + hDirAC->buffer_energy = (float *) count_malloc( DIRAC_NO_COL_AVG_DIFF * CLDFB_NO_CHANNELS_MAX * sizeof( float ) ); + } +#endif set_f( hDirAC->buffer_energy, 0.0f, DIRAC_NO_COL_AVG_DIFF * CLDFB_NO_CHANNELS_MAX ); } else if ( ( flag_config == DIRAC_OPEN && hDirAC->hConfig->dec_param_estim == FALSE ) || ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->hConfig->dec_param_estim == FALSE && dec_param_estim_old == TRUE ) ) ) @@ -742,6 +757,13 @@ ivas_error ivas_dirac_dec_config( hDirAC->buffer_intensity_real[i][j] = NULL; } } +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->buffer_energy != NULL ) + { + count_free( hDirAC->buffer_energy ); + hDirAC->buffer_energy = NULL; + } +#endif } /* output synthesis */ @@ -752,7 +774,11 @@ ivas_error ivas_dirac_dec_config( { ivas_dirac_free_mem( &( hDirAC->stack_mem ) ); } +#ifdef FIX_158_DIRAC_MEM + ivas_dirac_alloc_mem( hDirAC, st_ivas->renderer_type, &( hDirAC->stack_mem ) ); +#else ivas_dirac_alloc_mem( hDirAC, &( hDirAC->stack_mem ) ); +#endif mvs2s( DirAC_block_grouping, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); @@ -935,6 +961,13 @@ void ivas_dirac_dec_close( } } } +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->buffer_energy != NULL ) + { + count_free( hDirAC->buffer_energy ); + hDirAC->buffer_energy = NULL; + } +#endif for ( i = 0; i < hDirAC->dirac_md_buffer_length; i++ ) { @@ -1091,6 +1124,9 @@ void ivas_dirac_dec_close( static void ivas_dirac_alloc_mem( DIRAC_DEC_HANDLE hDirAC, +#ifdef FIX_158_DIRAC_MEM + const RENDERER_TYPE renderer_type, +#endif DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ) { int16_t num_freq_bands, num_freq_bands_diff, size; @@ -1113,6 +1149,9 @@ static void ivas_dirac_alloc_mem( hDirAC_mem->proto_power_diff_smooth = NULL; hDirAC_mem->direct_responses_square = NULL; hDirAC_mem->frame_dec_f = NULL; +#ifdef FIX_158_DIRAC_MEM + hDirAC_mem->proto_diffuse_buffer_f = NULL; +#endif if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) { hDirAC_mem->cy_auto_dir_smooth = (float *) malloc( sizeof( float ) * size ); @@ -1123,8 +1162,14 @@ static void ivas_dirac_alloc_mem( set_zero( hDirAC_mem->proto_power_diff_smooth, size ); hDirAC_mem->direct_responses_square = (float *) malloc( sizeof( float ) * size ); set_zero( hDirAC_mem->direct_responses_square, size ); - - hDirAC_mem->frame_dec_f = (float *) malloc( sizeof( float ) * 2 * num_outputs_diff * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->proto_signal_decorr_on && ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) ) + { +#endif + hDirAC_mem->frame_dec_f = (float *) malloc( sizeof( float ) * 2 * num_outputs_diff * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + } +#endif } hDirAC->h_output_synthesis_psd_state.proto_power_smooth = hDirAC_mem->proto_power_smooth; hDirAC->h_output_synthesis_psd_state.proto_power_diff_smooth = hDirAC_mem->proto_power_diff_smooth; @@ -1153,21 +1198,44 @@ static void ivas_dirac_alloc_mem( hDirAC->h_output_synthesis_psd_state.direct_responses = hDirAC_mem->direct_responses; /* Prototypes */ - hDirAC_mem->proto_direct_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_protos_dir * num_freq_bands ); - if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD ) +#ifdef FIX_158_DIRAC_MEM + hDirAC_mem->proto_direct_buffer_f = NULL; + hDirAC_mem->proto_diffuse_buffer_f = NULL; + if ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) { - hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * size ); - } - else - { - hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_outputs_diff * num_freq_bands ); +#endif + hDirAC_mem->proto_direct_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_protos_dir * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->proto_signal_decorr_on ) + { +#endif + if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD ) + { + hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * size ); + } + else + { + hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_outputs_diff * num_freq_bands ); + } +#ifdef FIX_158_DIRAC_MEM + } } +#endif hDirAC->h_output_synthesis_psd_state.proto_direct_buffer_f = hDirAC_mem->proto_direct_buffer_f; hDirAC->h_output_synthesis_psd_state.proto_diffuse_buffer_f = hDirAC_mem->proto_diffuse_buffer_f; /* Gains/power factors*/ - hDirAC_mem->direct_power_factor = (float *) malloc( sizeof( float ) * num_freq_bands ); - hDirAC_mem->diffuse_power_factor = (float *) malloc( sizeof( float ) * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + hDirAC_mem->direct_power_factor = NULL; + hDirAC_mem->diffuse_power_factor = NULL; + if ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) + { +#endif + hDirAC_mem->direct_power_factor = (float *) malloc( sizeof( float ) * num_freq_bands ); + hDirAC_mem->diffuse_power_factor = (float *) malloc( sizeof( float ) * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + } +#endif hDirAC->h_output_synthesis_psd_state.direct_power_factor = hDirAC_mem->direct_power_factor; hDirAC->h_output_synthesis_psd_state.diffuse_power_factor = hDirAC_mem->diffuse_power_factor; @@ -1175,8 +1243,20 @@ static void ivas_dirac_alloc_mem( hDirAC_mem->onset_filter = NULL; if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) { - hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * 2 * num_freq_bands ); - hDirAC_mem->onset_filter = (float *) malloc( sizeof( float ) * num_outputs_diff * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + if ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) + { +#endif + hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * 2 * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->proto_signal_decorr_on ) + { +#endif + hDirAC_mem->onset_filter = (float *) malloc( sizeof( float ) * num_outputs_diff * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + } + } +#endif } else { @@ -1184,11 +1264,20 @@ static void ivas_dirac_alloc_mem( { hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * 5 * num_freq_bands ); } +#ifndef FIX_158_DIRAC_MEM else { hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * num_freq_bands ); } - hDirAC_mem->onset_filter = (float *) malloc( sizeof( float ) * 2 * num_freq_bands ); +#endif +#ifdef FIX_158_DIRAC_MEM + if ( hDirAC->proto_signal_decorr_on ) + { +#endif + hDirAC_mem->onset_filter = (float *) malloc( sizeof( float ) * 2 * num_freq_bands ); +#ifdef FIX_158_DIRAC_MEM + } +#endif } return; diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 50369fab6d..2393a41f2f 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -663,7 +663,11 @@ typedef struct ivas_dirac_dec_data_structure /*Parameter estimation*/ int16_t index_buffer_intensity; float *buffer_intensity_real[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF]; +#ifdef FIX_158_DIRAC_MEM + float *buffer_energy; +#else float buffer_energy[DIRAC_NO_COL_AVG_DIFF * CLDFB_NO_CHANNELS_MAX]; +#endif /*Decoder parameters */ /*Prototypes*/ -- GitLab From 77da6f3874c12b2f2d591ed76640d162308184ce Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 09:21:36 +0100 Subject: [PATCH 116/620] Replaced old files with wmc_auto.h and wmc_auto.c --- Workspace_msvc/lib_debug.vcxproj | 2 + lib_debug/mem_count.c | 909 ------------------- lib_debug/mem_count.h | 104 --- lib_debug/memory.c | 187 ---- lib_debug/wmc_auto.c | 1450 ++++++++++++++++++++++++++++++ lib_debug/wmc_auto.h | 523 +++++++++++ lib_debug/wmops.c | 503 ----------- lib_debug/wmops.h | 777 ---------------- 8 files changed, 1975 insertions(+), 2480 deletions(-) delete mode 100644 lib_debug/mem_count.c delete mode 100644 lib_debug/mem_count.h delete mode 100644 lib_debug/memory.c create mode 100644 lib_debug/wmc_auto.c create mode 100644 lib_debug/wmc_auto.h delete mode 100644 lib_debug/wmops.c delete mode 100644 lib_debug/wmops.h diff --git a/Workspace_msvc/lib_debug.vcxproj b/Workspace_msvc/lib_debug.vcxproj index 43c601024d..401709477f 100644 --- a/Workspace_msvc/lib_debug.vcxproj +++ b/Workspace_msvc/lib_debug.vcxproj @@ -146,12 +146,14 @@ <ClCompile Include="..\lib_debug\segsnr.c" /> <ClCompile Include="..\lib_debug\snr.c" /> <ClCompile Include="..\lib_debug\sba_debug.c" /> + <ClCompile Include="..\lib_debug\wmc_auto.c" /> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_debug\debug.h" /> <ClInclude Include="..\lib_debug\deb_out.h" /> <ClInclude Include="..\lib_debug\errorhnd.h" /> <ClInclude Include="..\lib_debug\sba_debug.h" /> + <ClInclude Include="..\lib_debug\wmc_auto.h" /> </ItemGroup> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <ImportGroup Label="ExtensionTargets"> diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c deleted file mode 100644 index ca4832399f..0000000000 --- a/lib_debug/mem_count.c +++ /dev/null @@ -1,909 +0,0 @@ -/* - * Memory Counting Tool - * - * Copyright 2022 VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. - * VoiceAge Corporation retains full ownership rights in their respective contributions in the software. - * No license of any kind, including but not limited to patent license, of any foregoing parties is - * hereby granted by implication, estoppel or otherwise. - * - * This software is provided "AS IS", without any express or implied warranties. The software is in the - * development stage. It is intended exclusively for experts who have experience with such software and - * solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - * and/or fitness for a particular purpose are hereby disclaimed and excluded. - * - * Written by : Guy J. Richard - August 2017 - * - */ - -#include <stdint.h> -#include "options.h" -#include "mem_count.h" - -#include <stdio.h> /* for printf, ... */ -#include <string.h> /* for stricmp, ... */ -#include <stdlib.h> /* for alloc, NULL, ... */ -#include <ctype.h> /* for tolower */ - -/* Mostly to get a 'int32_t' */ -#if !defined( _MSC_VER ) || _MSC_VER >= 1600 -#include <stdint.h> -#else -#include <basetsd.h> -#endif - -#ifdef RAM_COUNTING_TOOL - -#if defined( _MSC_VER ) && _MSC_VER < 1600 -typedef UINT32 uint32_t; -typedef INT32 int32_t; -typedef UINT64 uint64_t; -typedef INT64 int64_t; -#endif - -#ifndef TRUE -#define TRUE ( 0 == 0 ) -#endif -#ifndef FALSE -#define FALSE 0 -#endif - -/* How to use the tool notes - ========================= - - The tool measure SRAM memory allocated by malloc(), calloc() and - deallocated by free(). - - In order to run the tool, one needs to: - 1) Prepend 'count_' to all calls to 'malloc', 'calloc' and 'free' except debug files. - 2) Add the following code into e.g. prot.h, so that all files with calls to these functions see it. - #ifdef RAM_COUNTING_TOOL - #define count_malloc(n1) MALLOC_FCT_CALL(n1) - #define count_calloc(n1,n2) CALLOC_FCT_CALL(n1, n2) - #define count_free(ptr) FREE_FCT_CALL(ptr) - #else - #define count_malloc(n1) malloc(n1) - #define count_calloc(n1,n2) calloc(n1, n2) - #define count_free(ptr) free(ptr) - #endif - 3) Call mem_count_init() at the beginning of encoding/decoding - - The first param allows to set a limit on the RAM that can be allocated. - While the codec is running, if memory is requested such that the maximum - is passed (Mem Alloc > Limit), the codec will stop and the summary will - be printed. - - The second param allows to decide the units (bytes, shorts or longs). - Please note that the unit specified is combined with the limit param to - produce the total size that can be allocated. Ex ..init(1000, USE_16BITS); - will set the limit to 1000 x 16 Bits Word (2000 bytes in total). - 4) Call mem_count_summary() at the end of encoding/decoding to print-out the results. - - The first parameter allows to overwrite the initial units configuration. - The Total size allocated (always in bytes internally) will be converted - to the unit selected before being reported. - - The switch 'RAM_COUNTING_TOOL' also has to be defined to enable memory counting. - - There is a define 'MEM_COUNT_DETAILS' in options.h that enables printing per - sub-structure details when DEBUGGING is activated. -*/ - -/*-------------------------------------------------------------------* - * LOCAL CONSTANTS - *-------------------------------------------------------------------*/ - -/* This is the maximum number of allocations for which to keep information. - It can be increased if required. */ -#ifdef SBA_BR_SWITCHING -#define MAX_INFO_RECORDS 8000 -#else -#define MAX_INFO_RECORDS 3000 -#endif -/* This is the length after which the function name - will be truncated when the summary is printed. */ -#define MAX_FUNCTION_NAME_LENGTH 18 - -/* This is the length after which the parameter to - the allocating function will be truncated when - the summary is printed. */ -#define MAX_PARAMS_LENGTH 36 - -/* This is the value (in bytes) towards which the block size - is rounded. For example, a block of 123 bytes, when using - a 32 bits system, will end up taking 124 bytes since - the last unused byte cannot be used for another block. */ -#ifdef MEM_ALIGN_64BITS -#define BLOCK_ROUNDING 8 -#else /* Align on 32 Bits Instead */ -#define BLOCK_ROUNDING 4 -#endif - -#define N_32BITS_BLOCKS ( BLOCK_ROUNDING / sizeof( int32_t ) ) - -/* Special Value to See if Memory was ever written */ -#define MAGIC_VALUE_OOB 0x12A534F0 /* Put Before & After Buffer */ -#define MAGIC_VALUE_USED ( ~MAGIC_VALUE_OOB ) /* To Detect if Memory was Written */ -/* OOB Flags */ -#define OOB_START 0x1 -#define OOB_END 0x2 - -/*-------------------------------------------------------------------* - * LOCAL MACROS - *-------------------------------------------------------------------*/ - -#define ROUND_BLOCK_SIZE( n ) ( ( ( n ) + BLOCK_ROUNDING - 1 ) & ~( BLOCK_ROUNDING - 1 ) ) -#define IS_CALLOC( str ) ( ( size_str[0] ) == 'c' ) - -#define WARNING( msg ) \ - do \ - { \ - printf( "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, msg ); \ - } while ( 0 ) -#define ERROR( msg ) \ - do \ - { \ - WARNING( msg ); \ - exit( -1 ); \ - } while ( 0 ) - -/*-------------------------------------------------------------------* - * LOCAL TYPES - *-------------------------------------------------------------------*/ - -typedef struct -{ - void *block_ptr; - size_t block_size; - int lineno; - char name[MAX_FUNCTION_NAME_LENGTH + 1]; /* +1 for NUL */ - char params[1 + MAX_PARAMS_LENGTH + 1]; /* +1 for 'm'/'c' alloc & +1 for NUL */ - int used; - int OOB_Flag; - int seq_no; /* To Help Sorting by Order of Creation when all else is identical */ - int noccurances; -} allocator_record; - -typedef allocator_record allocation_list[MAX_INFO_RECORDS]; - -/*-------------------------------------------------------------------* - * LOCAL DATA - *-------------------------------------------------------------------*/ - -static allocation_list Current_Allocations, Peak_Allocations, Freed_Allocations; -static size_t RAM_Limit = NO_RAM_LIMIT; /* Always in Bytes */ -static size_t Current_RAM = 0, Peak_RAM = 0; /* In Bytes */ -static unsigned int Num_Records_Cur_RAM = 0, Num_Records_Peak_RAM = 0, Num_Records_Freed_RAM = 0; -static int Seq_No = 0; - -static size_t Stat_Cnt_Size = USE_BYTES; - -#ifndef DISABLE_NULL_PTR_FREE_WARNING -static allocation_list Missing_Allocations; -static unsigned int Num_Records_Missing_Alloc_Warnings = 0; -#endif - -/*-------------------------------------------------------------------* - * LOCAL CONST DATA - *-------------------------------------------------------------------*/ - -/* Suffix after numeral value printed in the summary */ -/* One char for each size */ -static const char Count_suffix[] = "BsL"; /* Using 's' because 'S' - looks a lot like '5'. */ -/* */ -static const char *Count_Name[] = { "Bytes", "Shorts", "Longs" }; - -/*-------------------------------------------------------------------* - * GLOBAL FUNCTIONS - *-------------------------------------------------------------------*/ - -/* It is not necessary to call dyn_mem_stats_init() since all static - variables are pre-initialised. It can be used to run stats again. */ -void mem_count_init( size_t limit, Counting_Size cnt_size ) -{ - if ( cnt_size != USE_DEFAULT ) - Stat_Cnt_Size = cnt_size; - Current_RAM = Peak_RAM = 0; - RAM_Limit = limit << Stat_Cnt_Size; - Num_Records_Cur_RAM = Num_Records_Peak_RAM = Num_Records_Freed_RAM = 0; -#ifndef DISABLE_NULL_PTR_FREE_WARNING - Num_Records_Missing_Alloc_Warnings = 0; -#endif - Seq_No = 0; -} - -/* This Function basically uses 'malloc' to allocate memory but also - records information about which functions allocated memory, the peak, ... - When, dyn_mem_print_stats() is called, all this info is printed as - well as the memory that has not been de-allocated; it is useful to - find memory leaks. */ -void *mem_alloc( - const char *func_name, - int func_lineno, - size_t size, - char *size_str /* the first char indicates m-alloc or c-alloc */ ) -{ - size_t rounded_size; - void *block_ptr; - char *tmp_ptr; - allocator_record *record_ptr; - size_t n, f; - int32_t fill_value; - int32_t *ptr32; - int32_t mask, temp; - unsigned int check; - - /* Do not Support Empty Requests */ - if ( size == 0 ) - { - ERROR( "Size of Zero not Supported" ); - } - - if ( Num_Records_Cur_RAM == MAX_INFO_RECORDS ) - { - ERROR( "Too Many Allocs. Increase 'MAX_INFO_RECORDS'" ); - } - - /* Round Up Block Size */ - rounded_size = ROUND_BLOCK_SIZE( size ); - - /* Allocate using the standard mem allocator. - Allocate a bit More to Have Room for Signature Values */ - block_ptr = malloc( rounded_size + BLOCK_ROUNDING * 2 ); - - /* the split line is to prevent a 'search/replace' adding a '_' to the name */ - /* We request more memory to have room to put signatures at the start - and end of the allocated buffer to check for OOBounds accesses. */ - /* Stop if it Failed */ - if ( block_ptr == NULL ) - { - ERROR( "Out of System RAM" ); - } - - /* Cannot use #if sizeof(int32_t) to catch this at compile time - because the preprocessor doesn't know anything about types - or sizes. */ - check = sizeof( int32_t ); - if ( check != 4 ) - { - ERROR( "Expecting 'int32_t' to be a 32 Bits Integer" ); - } - - /* Set Signatures and Fill (or Clear) Memory */ - ptr32 = (int32_t *) block_ptr; - /* Signature at Start of Block */ - n = N_32BITS_BLOCKS; - do - { - *ptr32++ = MAGIC_VALUE_OOB; - } while ( --n ); - /* Fill with Pattern or Clear Memory */ - fill_value = MAGIC_VALUE_USED; - if ( IS_CALLOC( size_str ) ) - { - fill_value = 0x00000000; - } - n = size / sizeof( int32_t ); - while ( n-- ) - { - *ptr32++ = fill_value; - } - n = rounded_size - size; - /* When Initializing with '0' */ - /* Need to Adapt the Magic Value */ - f = n % sizeof( int32_t ); - if ( f != 0 ) - { - /* For f=, shift by [1->24, 2->16, 3->8] */ - mask = 0xFFFFFFFF << ( ( sizeof( int32_t ) - f ) * 8 ); /* (1) */ - temp = MAGIC_VALUE_OOB & mask; - if ( fill_value != 0x0 ) - { /* Using M-Alloc */ - /* Merge Fill Value */ - temp += ( ~mask ) & MAGIC_VALUE_USED; - } /* for C-Alloc, the code in (1) hereabove already introduces zeros */ - *ptr32++ = temp; - } - n /= sizeof( int32_t ); - n += N_32BITS_BLOCKS; - /* Signature at End of Block */ - do - { - *ptr32++ = MAGIC_VALUE_OOB; - } while ( --n ); - - /* Adjust Pointer (Magic Value Before and After the Memory Region Requested) */ - tmp_ptr = (char *) block_ptr; - tmp_ptr += BLOCK_ROUNDING; - block_ptr = (void *) tmp_ptr; - - /* Save Information about Function Requesting the RAM */ - record_ptr = &Current_Allocations[Num_Records_Cur_RAM]; - - /* Save Name (and NUL Terminate it) */ - strncpy( record_ptr->name, func_name, MAX_FUNCTION_NAME_LENGTH ); - record_ptr->name[MAX_FUNCTION_NAME_LENGTH] = '\0'; - /* Save Params (and NUL Terminate it) - There string starts with a Marker (either 'm' or 'c') - that indicates the type of allocation requested. */ - strncpy( record_ptr->params, size_str, MAX_PARAMS_LENGTH ); - record_ptr->params[MAX_PARAMS_LENGTH] = '\0'; - /* Save Other Info */ - record_ptr->lineno = func_lineno; - record_ptr->block_ptr = block_ptr; - record_ptr->block_size = size; - record_ptr->used = -1; /* By default do not check mem usage */ - record_ptr->seq_no = ++Seq_No; - record_ptr->noccurances = 1; - - /* Increase # of Records */ - Num_Records_Cur_RAM++; - /* Update Amount of RAM Allocated */ - Current_RAM += rounded_size; - - /* Is this the Worst Case */ - if ( Peak_RAM < Current_RAM ) - { /* Yes */ - /* Update the Peak RAM */ - Peak_RAM = Current_RAM; - /* Keep the Information */ - memmove( Peak_Allocations, Current_Allocations, sizeof( allocator_record ) * Num_Records_Cur_RAM ); - Num_Records_Peak_RAM = Num_Records_Cur_RAM; - } - - /* Limit Busted? */ - if ( RAM_Limit != NO_RAM_LIMIT ) - { - if ( Current_RAM > RAM_Limit ) - { - char info_msg[100]; - - mem_count_summary( USE_DEFAULT ); - - sprintf( info_msg, "Alloc Limit of %lu %s was Passed", (unsigned long) RAM_Limit >> Stat_Cnt_Size, Count_Name[Stat_Cnt_Size] ); - ERROR( info_msg ); - } - } - - return block_ptr; -} - -/* Calculate Memory Usage of Block (Look for Signature) */ -static void mem_set_usage( allocator_record *record_ptr ) -{ - int total_bytes_used; - - size_t n; - int32_t *ptr32; - char *ptr8; - size_t total_bytes; - int32_t fill_value; - - fill_value = MAGIC_VALUE_USED; - if ( ( record_ptr->params[0] ) == 'c' ) - { - fill_value = 0x00000000; - } - - total_bytes = record_ptr->block_size; - - /* Check 4 bytes at a time */ - ptr32 = (int32_t *) record_ptr->block_ptr; - total_bytes_used = 0; - for ( n = total_bytes / sizeof( int32_t ); n > 0; n-- ) - { - if ( *ptr32++ != fill_value ) - total_bytes_used += sizeof( int32_t ); - } - - /* Check Remaining Bytes (If Applicable) */ - ptr8 = (char *) ptr32; - for ( n = total_bytes % sizeof( int32_t ); n > 0; n-- ) - { - if ( *ptr8++ != (char) fill_value ) - total_bytes_used++; - /* Update Value */ - fill_value >>= 8; - } - - /* Save Space Used */ - record_ptr->used = total_bytes_used; -} - -static void mem_check_OOB( allocator_record *record_ptr ) -{ - int32_t *ptr32; - unsigned int OOB_Flag = 0x0; - int32_t mask; - size_t i; - int f; - - ptr32 = (int32_t *) record_ptr->block_ptr - N_32BITS_BLOCKS; - /* Check at Beginning of Block */ - i = N_32BITS_BLOCKS; - do - { - if ( *ptr32++ ^ MAGIC_VALUE_OOB ) - OOB_Flag |= OOB_START; - } while ( --i ); - - /* Advance to End (Snap to lowest 32 Bits) */ - ptr32 += record_ptr->block_size / sizeof( int32_t ); - - /* Calculate Unused Space That has been - added to get to the rounded Block Size */ - i = ROUND_BLOCK_SIZE( record_ptr->block_size ) - record_ptr->block_size; - - /* Partial Check (For Block Size that have been rounded) */ - f = i % sizeof( int32_t ); - if ( f != 0 ) - { - mask = 0xFFFFFFFF << ( ( sizeof( int32_t ) - f ) * 8 ); - if ( ( *ptr32++ ^ MAGIC_VALUE_OOB ) & mask ) - OOB_Flag |= OOB_END; - } - - /* Full Check (all 32 Bits) for Remaining */ - i /= sizeof( int32_t ); - i += N_32BITS_BLOCKS; - do - { - if ( *ptr32++ ^ MAGIC_VALUE_OOB ) - OOB_Flag |= OOB_END; - } while ( --i ); - - record_ptr->OOB_Flag = OOB_Flag; -} - -/* Just to make the code cleaner */ -static int is_same_record( const allocator_record *record_ptr1, allocator_record *record_ptr2 ) -{ - return record_ptr2->block_size == record_ptr1->block_size && - record_ptr2->lineno == record_ptr1->lineno && - strcmp( record_ptr2->name, record_ptr1->name ) == 0 && - strcmp( record_ptr2->params, record_ptr1->params ) == 0 && - record_ptr2->OOB_Flag == record_ptr1->OOB_Flag - ? 1 - : 0; -} - -/* This Function basically uses 'free' and removes the - Information about the memory block from the list of - currently allocated Memory */ -void mem_free( const char *func_name, int func_lineno, void *ptr ) -{ - unsigned int i, j, k; - char *tmp_ptr; - allocator_record *record_ptr, *record_ptr2; - - char info_msg[100]; - - /* Search for the Block Pointer in the List */ - record_ptr = &Current_Allocations[0]; - for ( i = 0; i < Num_Records_Cur_RAM; i++ ) - { - /* Same Pointer? */ - if ( ptr == record_ptr->block_ptr ) - { /* Yes, Found it */ - if ( Num_Records_Freed_RAM == MAX_INFO_RECORDS ) - { - ERROR( "Too Many Allocs. Increase 'MAX_INFO_RECORDS'" ); - } - - for ( j = 0; j < Num_Records_Peak_RAM; j++ ) - { - /* Is this Block Part of the Peak RAM? */ - if ( memcmp( record_ptr, &Peak_Allocations[j], sizeof( *record_ptr ) ) == 0 ) - { - break; /* Stop the 'j' loop */ - } - } - - mem_set_usage( record_ptr ); - mem_check_OOB( record_ptr ); - - /* De-Allocated Block was Part of Peak RAM? */ - if ( j == Num_Records_Peak_RAM ) - { /* No */ - /* Here, in order to avoid filling this list with repetitive blocks */ - /* that are allocated and deallocated repeatedly, we look for a block */ - /* that has the same module, line #, size & same OOB characteristics. */ - /* We then just increase the # of occurances of this block definition. */ - /* The % used will be merged */ - record_ptr2 = &Freed_Allocations[0]; - for ( k = 0; k < Num_Records_Freed_RAM; k++ ) - { - /* Same Block but allocated many times */ - if ( is_same_record( record_ptr2, record_ptr ) ) - { - record_ptr2->noccurances++; - record_ptr2->used += record_ptr->used; - break; - } - record_ptr2++; - } - /* Found it */ - } - else - { - /* Force Add to List */ - k = Num_Records_Freed_RAM; - } - - if ( k == Num_Records_Freed_RAM ) - { /* No */ - /* Add to List */ - memmove( &Freed_Allocations[Num_Records_Freed_RAM], record_ptr, sizeof( allocator_record ) ); - /* Increase # of Records for Deallocated Block List */ - Num_Records_Freed_RAM++; - } - - /* De-Allocated Block was Part of Peak RAM? */ - if ( j != Num_Records_Peak_RAM ) - { /* Yes */ - /* Update Block Info There too (The Info here is Bytes Used and OOB Flags) */ - memmove( &Peak_Allocations[j], record_ptr, sizeof( *record_ptr ) ); - } - - /* First Adjust Pointer to Get to the Start of the Block */ - tmp_ptr = (char *) ptr; - tmp_ptr -= BLOCK_ROUNDING; - ptr = (void *) tmp_ptr; - /* De-allocate using the standard memory facilities */ - fr\ -ee( ptr ); /* the split line is to prevent a 'search/replace' adding a '_' to the name */ - - /* Decrease # of Records */ - Num_Records_Cur_RAM--; - /* Update (decrease) Amount of RAM Allocated */ - Current_RAM -= ROUND_BLOCK_SIZE( record_ptr->block_size ); - - /* Erase the entry (Move the Last One over it) */ - memmove( record_ptr, &Current_Allocations[Num_Records_Cur_RAM], sizeof( allocator_record ) ); - - return; - } - record_ptr++; - } - - /* Not Found, Problem! */ - if ( ptr != NULL ) - { - /* Stop */ - sprintf( info_msg, "Invalid Pointer: '%p'", ptr ); - ERROR( info_msg ); - } -#ifndef DISABLE_NULL_PTR_FREE_WARNING - else - { /* Warn about Freeing of NULL Pointers */ - /* Search to Warn Only Once. */ - record_ptr = &Missing_Allocations[0]; - for ( i = 0; i < Num_Records_Missing_Alloc_Warnings; i++ ) - { - /* Same Name? */ - if ( strncmp( record_ptr->name, func_name, MAX_FUNCTION_NAME_LENGTH ) == 0 ) - { /* Yes */ - /* Same Line Number? */ - if ( record_ptr->lineno == func_lineno ) - { /* Yes */ - /* No Need to Warn Again */ - return; - } - } - record_ptr++; - } - /* Save Name */ - strncpy( record_ptr->name, func_name, MAX_FUNCTION_NAME_LENGTH ); - record_ptr->name[MAX_FUNCTION_NAME_LENGTH] = '\0'; - - /* Save Line No */ - record_ptr->lineno = func_lineno; - /* Save Pointer */ - record_ptr->block_ptr = ptr; - /* Save Size */ - record_ptr->block_size = 0; /* It is an Unknown Block, so there is no size, we put a '0' */ - - Num_Records_Missing_Alloc_Warnings++; - - WARNING( "Trying to Free 'NULL' Pointer" ); - } -#endif -} - -#ifdef MEM_COUNT_DETAILS -/* Used to Sort Block Information Records */ -static int compare_mem_records( const void *ptr1, const void *ptr2 ) -{ - const allocator_record *record_ptr1 = (const allocator_record *) ptr1, - *record_ptr2 = (const allocator_record *) ptr2; - int result; - - /* Sort First by 'Name', then by 'Line No' and finaly by 'Block Size' */ - - /* Compare Function Name */ - result = strcmp( record_ptr1->name, record_ptr2->name ); - /* Same Function Name? */ - if ( result == 0 ) - { /* Yes */ - /* Compare Line Number */ - result = record_ptr1->lineno - record_ptr2->lineno; - /* Same Line Number */ - if ( result == 0 ) - { /* Yes */ - /* Compare Block Size */ - result = record_ptr1->block_size - record_ptr2->block_size; - /* Same Size? */ - if ( result == 0 ) - { - result = record_ptr1->seq_no - record_ptr2->seq_no; - } - } - } - - return result; -} - -static void mem_print_records( allocator_record *record_ptr, int num_records, Counting_Size cnt_size, int print_size ) -{ - int i, sum, total; - char *last_name = NULL; - int single_flag; - char chr = Count_suffix[cnt_size]; - size_t nwords, rounded_block_size; - char nblocks_str[22]; - char quantity_str[22]; - char format_str[50]; - char *tmp_ptr; - int nblocks; - - char *OOB_str[] = { "- ", "beg", "end", "b+e" }; - - strcpy( format_str, "\n %-*s %5i %-*s %3s %3.0f%% %8s" ); - if ( print_size != FALSE ) - strcat( format_str, " %6u" ); - - /* Sort it */ - qsort( record_ptr, num_records, sizeof( allocator_record ), compare_mem_records ); - - single_flag = 0; - - nblocks = 0; - - if ( num_records > 0 ) - { - /* Print Header */ - printf( " %-*s Ln No %-*s OOB Used Quantity%s", MAX_FUNCTION_NAME_LENGTH, "Function Name", MAX_PARAMS_LENGTH, "Parameters ('m' or 'c' alloc)", print_size != FALSE ? " Size" : "" ); - - total = sum = 0; - for ( i = num_records - 1; i >= 0; i-- ) - { - if ( sum == 0 ) - { - last_name = record_ptr->name; - } - - rounded_block_size = ROUND_BLOCK_SIZE( record_ptr->block_size ) >> cnt_size; - nwords = rounded_block_size * record_ptr->noccurances; - - /* Calc Usage (It has already been done for a De-Allocated Block - That was part of the Peak Mem. But not for a Block that is - still allocated (never freed). */ - if ( record_ptr->used < 0 ) - { - mem_set_usage( record_ptr ); - /* Check Out of Bounds Too */ - mem_check_OOB( record_ptr ); - } - - sprintf( quantity_str, "%i", record_ptr->noccurances ); - - /* Print Quantity x Size */ - tmp_ptr = strchr( quantity_str, '\0' ); - *tmp_ptr++ = 'x'; - sprintf( tmp_ptr, "%i", (int) rounded_block_size ); - - printf( format_str, MAX_FUNCTION_NAME_LENGTH, record_ptr->name, record_ptr->lineno, MAX_PARAMS_LENGTH, record_ptr->params, OOB_str[record_ptr->OOB_Flag], ( record_ptr->used * 100.0f / record_ptr->block_size / record_ptr->noccurances ), quantity_str, (uint32_t) nwords ); - /* Count $ of Blocks */ - nblocks += record_ptr->noccurances; - /* Add Size */ - sum += nwords; - /* Advance */ - record_ptr++; - - if ( print_size != FALSE ) - { - /* End Reached or New Function? */ - if ( i == 0 || strcmp( last_name, record_ptr->name ) != 0 ) - { - /* Cumulate Total */ - total += sum; - - if ( i == 0 && total == sum ) - single_flag = 1; -#ifdef MEM_COUNT_TOTAL_PER_FUNC - /* Print 'Total' on the Line if there is only one Function - that allocated all the RAM */ - printf( " %7i%c", sum, chr ); -#endif - /* Reset Sum */ - sum = 0; - } - } - } - /* Print the Total */ - if ( !single_flag && print_size != FALSE ) - { -#ifdef MEM_COUNT_TOTAL_PER_FUNC -#define SPACES 9 -#else -#define SPACES 0 -#endif - - sprintf( nblocks_str, "%i Blocks", nblocks ); - - printf( "\n %*s %*s %*s --------\n", MAX_FUNCTION_NAME_LENGTH, "", MAX_PARAMS_LENGTH, "", SPACES, "" ); - printf( " %-*s %-*s %*s%7i%c\n", MAX_FUNCTION_NAME_LENGTH, "Total", MAX_PARAMS_LENGTH, nblocks_str, SPACES, "", total, chr ); - } - else - printf( "\n" ); - } - else - { - printf( " <None>\n" ); - } -} -#endif - -/* Print Memory Summary. - Return Peak Memory Used (according to Units Specified) */ -size_t mem_count_summary( Counting_Size cnt_size ) -{ - size_t size; -#ifdef MEM_COUNT_DETAILS - unsigned int i, j; - size_t num; - allocation_list Allocations; -#endif - if ( cnt_size == USE_DEFAULT ) - cnt_size = Stat_Cnt_Size; - - size = Peak_RAM >> cnt_size; -#ifdef MEM_COUNT_DETAILS - printf( "\n\n====== STATIC RAM COUNTING TOOL: MEMORY SUMMARY ======\n\n" ); - - printf( " NOTES\n" - " 1) %c = %s, %c = %s (16 Bits Words) & %c = %s (32 Bits Words).\n" - " 2) The '%%' of 'Used' memory is not very reliable for c-alloc.\n" - " 3) The Out Of Bounds (OOB) Checking is primitive as it checks\n" - " only for writing before and past the buffer when it is freed\n" - " or when the summary is printed.\n" - " 4) Quantity Filed format is N x Block Size.\n" - " When it is 1: Size = Block Size\n" - " Otherwise, Size = The Total Size Allocated for the 'N' Blocks.\n" - "\n", - Count_suffix[USE_BYTES], Count_Name[USE_BYTES], Count_suffix[USE_16BITS], Count_Name[USE_16BITS], Count_suffix[USE_32BITS], Count_Name[USE_32BITS] ); - - /* Create a Temporary List of Block to Print */ - /* from all the Block Allocated in the Peak */ - /* Scenario. We want to Merge Entries allocated */ - /* from the exact same code location and having */ - /* the same block size. In order to simplifiy the */ - /* printout. */ - num = 0; - for ( i = 0; i < Num_Records_Peak_RAM; i++ ) - { - /* Check if an Identical Block Before Adding to List */ - for ( j = 0; j < num; j++ ) - { - if ( is_same_record( &Peak_Allocations[i], &Allocations[j] ) ) - { - Allocations[j].noccurances++; - Allocations[j].used += Peak_Allocations[i].used; - break; - } - } - - /* Unique Block? */ - if ( j == num ) - { /* Yes */ - /* Add to List */ - memmove( &Allocations[num++], &Peak_Allocations[i], sizeof( allocator_record ) ); - } - } - /* Print the Peak Allocated */ - printf( " Peak Memory Allocated\n" ); - mem_print_records( &Allocations[0], num, cnt_size, TRUE ); - printf( "\n" ); - - /* Create a Temporary List of Block to Print */ - /* from all the Block Allocated BUT excluding */ - /* blocks that are part of the peak (and that */ - /* are already printed). */ - /* This is done every time the summary is printed */ - /* so that the code can continue to be executed */ - /* and the summary can be printed again with blocks */ - /* that are part of the peak having changed and thus */ - /* those that end up in this 'catch all' category. */ - num = 0; - for ( i = 0; i < Num_Records_Freed_RAM; i++ ) - { - /* Check if Record is in the Peak */ - for ( j = 0; j < Num_Records_Peak_RAM; j++ ) - { - /* Is this Block Part of the Peak RAM OR Still Allocated ? */ - if ( is_same_record( &Freed_Allocations[i], &Peak_Allocations[j] ) ) - { /* Yes */ - break; /* Stop the 'j' loop */ - } - } - /* If part of the Peak, skip it */ - if ( j == Num_Records_Peak_RAM ) - { /* Not Part of Peak */ - /* Check if an Identical Block Before Adding to List */ - for ( j = 0; j < num; j++ ) - { -#ifndef MEM_COUNT_SEPARATE_OTHER_BLOCKS - /* Just Check for Same Size, Params and OOB Result */ - if ( Freed_Allocations[i].block_size == Allocations[j].block_size && - strcmp( Freed_Allocations[i].params, Allocations[j].params ) == 0 && - Freed_Allocations[i].OOB_Flag == Allocations[j].OOB_Flag ) - { - Allocations[j].noccurances += Freed_Allocations[i].noccurances; - Allocations[j].used += Freed_Allocations[i].used; - /* Indicate that Locations are Multiple */ - strncpy( Allocations[j].name, "MULTIPLE LOCATIONS", MAX_FUNCTION_NAME_LENGTH ); - /* Wipe the Line # */ - Allocations[j].lineno = 0; - break; - } -#else - if ( is_same_record( &Freed_Allocations[i], &Allocations[j] ) ) - { - Allocations[j].noccurances++; - Allocations[j].used += Freed_Allocations[i].used; - break; - } -#endif - } - - /* Unique Block? */ - if ( j == num ) - { /* Yes */ - /* Add to List */ - memmove( &Allocations[num++], &Freed_Allocations[i], sizeof( allocator_record ) ); - } - } - } - - if ( num != 0 ) - { - /* Print all Other Block (Those that have been Freed but are not Part - of the Peak Memory). */ - printf( " Other Memory Allocated\n" ); - mem_print_records( &Allocations[0], num, cnt_size, FALSE /*Do not print the size column*/ ); - printf( "\n" ); - } - - /* If we have busted the RAM Limit, we will end up in the - summary function (here) and abort. Hence, no point printing - the memory still allocated, it will be the same as the Peak! */ - if ( RAM_Limit == 0 || Current_RAM <= RAM_Limit ) - { - /* Print the Not Deallocated */ - printf( " Memory Still Allocated\n" ); - mem_print_records( &Current_Allocations[0], Num_Records_Cur_RAM, cnt_size, TRUE ); - printf( "\n" ); - } -#endif - -#ifndef MEM_COUNT_DETAILS - if ( Num_Records_Cur_RAM > 0 ) - { - printf( "\nWarning: Part of the SRAM is still allocated! Activate MEM_COUNT_DETAILS for more details.\n" ); - } -#endif - printf( "Peak SRAM Allocated: %i%c\n\n\n", (int) size, Count_suffix[cnt_size] ); - - return size; -} - -#endif diff --git a/lib_debug/mem_count.h b/lib_debug/mem_count.h deleted file mode 100644 index d30fc3ab1a..0000000000 --- a/lib_debug/mem_count.h +++ /dev/null @@ -1,104 +0,0 @@ -/* - * mem_count.h - * - * Copyright 2022 VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. - * VoiceAge Corporation retains full ownership rights in their respective contributions in the software. - * No license of any kind, including but not limited to patent license, of any foregoing parties is - * hereby granted by implication, estoppel or otherwise. - * - * This software is provided "AS IS", without any express or implied warranties. The software is in the - * development stage. It is intended exclusively for experts who have experience with such software and - * solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - * and/or fitness for a particular purpose are hereby disclaimed and excluded. - * - * Written by : Guy J. Richard - August 2017 - * - */ - -#ifndef __MEM_COUNT_H__ -#define __MEM_COUNT_H__ - -#include <stdint.h> -#include "options.h" -#include <stdlib.h> /* for size_t, ... */ - -#ifdef RAM_COUNTING_TOOL -/*-------------------------------------------------------------------* - * Global Constants - *-------------------------------------------------------------------*/ - -#define NO_RAM_LIMIT 0 - -/* Define this when using 64 Bits values in the code (ex: double) */ -/*#define MEM_ALIGN_64BITS */ /* Will Align on 32 Bits if not Defined */ - -/*#define DISABLE_NULL_PTR_FREE_WARNING*/ - -/*#define MEM_COUNT_DETAILS*/ - -/*#define MEM_COUNT_SEPARATE_OTHER_BLOCKS */ /* Print separate lines with location details if the same block is allocated in multiple places and is not a part of the Peak memory */ - /* if not defined, MULTIPLE LOCATIONS is printed instead */ - -/*-------------------------------------------------------------------* - * Global Types - *-------------------------------------------------------------------*/ - -typedef enum -{ - USE_DEFAULT = -1, - USE_BYTES, - USE_16BITS, - USE_32BITS -} Counting_Size; - -/*-------------------------------------------------------------------* - * Global Macros - *-------------------------------------------------------------------*/ - -#define STRINGIFY( x ) #x -#define TO_STRING( x ) STRINGIFY( x ) - -#if ( defined( _WIN32 ) && ( _MSC_VER <= 1800 ) && ( _MSC_VER >= 1300 ) ) -#define __func__ __FUNCTION__ -#elif defined( __STDC_VERSION__ ) && __STDC_VERSION__ < 199901L -#if ( __GNUC__ >= 2 ) -#define __func__ __FUNCTION__ -#else -#define __func__ "<unknown>" -#endif -#elif defined( __GNUC__ ) -#define __func__ __extension__ __FUNCTION__ -#endif - -/* MALLOC_FCT_CALL, FREE_FCT_CALL, ... are defined here because 'wmc_auto.h' uses */ -/* them to map malloc, free & calloc to a Memory Counting Mechanism. If the WMC Tool */ -/* is not used, then these definitions will have no effect and are harmless. */ -#define MALLOC_FCT_CALL( size ) mem_alloc( __func__, __LINE__, size, "m:" TO_STRING( size ) ) -#define FREE_FCT_CALL( ptr ) mem_free( __func__, __LINE__, ptr ) -#define CALLOC_FCT_CALL( n, sz ) mem_alloc( __func__, __LINE__, ( n ) * ( sz ), "c:" TO_STRING( n ) ", " TO_STRING( sz ) ) - - -/*-------------------------------------------------------------------* - * Prototypes - *-------------------------------------------------------------------*/ - -#ifdef __cplusplus -extern "C" -{ -#endif - - extern void mem_count_init( size_t limit, Counting_Size cnt_size ); - extern size_t mem_count_summary( Counting_Size cnt_size ); - - extern void *mem_alloc( const char *func_name, int func_lineno, size_t size, char *alloc_str ); - extern void mem_free( const char *func_name, int func_lineno, void *ptr ); - -#ifdef __cplusplus -} -#endif - -#endif - -#endif diff --git a/lib_debug/memory.c b/lib_debug/memory.c deleted file mode 100644 index afd292ddbc..0000000000 --- a/lib_debug/memory.c +++ /dev/null @@ -1,187 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "options.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdint.h> - -#include "prot.h" -#include "debug.h" -#include "wmops.h" -#include "rom_enc.h" -#include "rom_dec.h" -#include "rom_com.h" -#include "stat_enc.h" -#include "stat_dec.h" - -#ifdef WMOPS - -/*-------------------------------------------------------------------* - * Memory counting tool - *--------------------------------------------------------------------*/ - -int16_t *ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ -int16_t *ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ -int32_t wc_frame = 0; /* Frame corresponding to the worst-case stack usage */ -char location_max_stack[256] = "undefined"; -#define MAX_FCT_NAME_LENGTH 30 -typedef struct -{ - char function_name[MAX_FCT_NAME_LENGTH + 1]; - int16_t *stack_ptr; -} caller_info; -int current_calls = 0; -#define MAX_RECORDABLE_CALLS 40 -caller_info stack_callers[2][MAX_RECORDABLE_CALLS]; - - -/*-------------------------------------------------------------------* - * reset_stack() - * - * Initialize/reset the base stack counter.. - *--------------------------------------------------------------------*/ - -void reset_stack() -{ - int16_t something; - - ptr_base_stack = &something; - ptr_max_stack = ptr_base_stack; -} - -/*-------------------------------------------------------------------* - * push_stack() - * - * Check the current stack pointer and update the maximum stack pointer, if new maximum found. - *--------------------------------------------------------------------*/ - -int push_stack( const char *filename, const char *fctname ) -{ - int16_t something; - - (void) *filename; /* to avoid compilation warning */ - - /* Is there room to save the caller's information? */ - if ( current_calls >= MAX_RECORDABLE_CALLS ) - { /* No */ - fprintf( stderr, "memory.c: No more room to store call stack info. Please increase MAX_RECORDABLE_CALLS" ); - exit( -1 ); - } - /* Valid Function Name? */ - if ( fctname[0] == 0 ) - { /* No */ - fprintf( stderr, "memory.c: Invalid function name for call stack info." ); - exit( -1 ); - } - /* Save the Name of the Calling Function in the Table */ - strncpy( stack_callers[0][current_calls].function_name, fctname, MAX_FCT_NAME_LENGTH ); - stack_callers[0][current_calls].function_name[MAX_FCT_NAME_LENGTH] = 0; /* Nul Terminate */ - /* Save the Stack Pointer */ - stack_callers[0][current_calls].stack_ptr = &something; - /* Increase Stack Calling Tree Level */ - current_calls++; - /* Is this the First Time or the Worst Case? */ - if ( &something < ptr_max_stack || ptr_max_stack == NULL ) - { /* Yes */ - /* Save Info about it */ - ptr_max_stack = &something; - wc_frame = frame; - strncpy( location_max_stack, fctname, sizeof( location_max_stack ) - 1 ); - location_max_stack[sizeof( location_max_stack ) - 1] = '\0'; - - /* Save Call Tree */ - memmove( stack_callers[1], stack_callers[0], sizeof( caller_info ) * current_calls ); - - /* Terminate the List (Unless Full) */ - if ( current_calls < MAX_RECORDABLE_CALLS ) - { - stack_callers[1][current_calls].function_name[0] = 0; - } - } - return 0 /* for Now */; -} - -int pop_stack( const char *filename, const char *fctname ) -{ - caller_info *caller_info_ptr; - - (void) *filename; /* to avoid compilation warning */ - - /* Decrease Stack Calling */ - current_calls--; - - /* Get Pointer to Caller Information */ - caller_info_ptr = &stack_callers[0][current_calls]; - - /* Check if Names Match */ - if ( strncmp( caller_info_ptr->function_name, fctname, MAX_FCT_NAME_LENGTH ) != 0 ) - { - fprintf( stderr, "memory.c: Invalid pop_stack()" ); - exit( -1 ); - } - - /* Erase Entry */ - caller_info_ptr->function_name[0] = 0; - - return 0 /* for Now */; -} - -void print_stack_call_tree( void ) -{ - caller_info *caller_info_ptr; - int call_level; - - fprintf( stdout, "Stack Call Tree (frame #%5d) Stack Usage in words\n", wc_frame ); - caller_info_ptr = &stack_callers[1][0]; - for ( call_level = 0; call_level < MAX_RECORDABLE_CALLS; call_level++ ) - { - /* Done? */ - if ( caller_info_ptr->function_name[0] == 0 ) - break; - /* Print Name */ - fprintf( stdout, "%-42s", caller_info_ptr->function_name ); - /* Print Stack Usage (Based on Difference) */ - if ( call_level != 0 ) - { - fprintf( stdout, "%ld\n", ( ( caller_info_ptr - 1 )->stack_ptr - caller_info_ptr->stack_ptr ) * sizeof( int16_t ) / sizeof( float ) ); - } - else - fprintf( stdout, "\n" ); - /* Advance */ - caller_info_ptr++; - } - fprintf( stdout, "\n" ); -} - -#endif /* WMOPS */ diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c new file mode 100644 index 0000000000..f9fbcc6f82 --- /dev/null +++ b/lib_debug/wmc_auto.c @@ -0,0 +1,1450 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdint.h> +#include <sys/stat.h> + +#ifndef _MSC_VER +#include <dirent.h> +#include <errno.h> +#else +#include <windows.h> +#endif + +#include "options.h" +#include "wmc_auto.h" + + + /*-------------------------------------------------------------------* + * WMOPS counting tool + *--------------------------------------------------------------------*/ + +#ifdef WMOPS + +#define WMC_TOOL_SKIP /* Skip the instrumentation of this file, if invoked by accident */ + +#define MAX_RECORDS 1024 +#define MAX_CHAR 64 +#define MAX_STACK 64 +#define DOUBLE_MAX 0x80000000 + +struct wmops_record +{ + char label[MAX_CHAR]; + long call_number; + long update_cnt; + int call_tree[MAX_RECORDS]; + double start_selfcnt; + double current_selfcnt; + double max_selfcnt; + double min_selfcnt; + double tot_selfcnt; + double start_cnt; /* The following take into account the decendants */ + double current_cnt; + double max_cnt; + double min_cnt; + double tot_cnt; +}; + +double ops_cnt; +double prom_cnt; +double inst_cnt[NUM_INST]; + +static struct wmops_record wmops[MAX_RECORDS]; +static int stack[MAX_STACK]; +static int sptr; +static int num_records; +static int current_record; +static long update_cnt; +static double start_cnt; +static double max_cnt; +static double min_cnt; +static double inst_cnt_wc[NUM_INST]; +static long fnum_cnt_wc; + + +void reset_wmops(void) +{ + int i, j; + + for (i = 0; i < MAX_RECORDS; i++) + { + strcpy(&wmops[i].label[0], "\0"); + wmops[i].call_number = 0; + wmops[i].update_cnt = 0; + for (j = 0; j < MAX_RECORDS; j++) + { + wmops[i].call_tree[j] = -1; + } + wmops[i].start_selfcnt = 0.0; + wmops[i].current_selfcnt = 0.0; + wmops[i].max_selfcnt = 0.0; + wmops[i].min_selfcnt = DOUBLE_MAX; + wmops[i].tot_selfcnt = 0.0; + wmops[i].start_cnt = 0.0; + wmops[i].current_cnt = 0.0; + wmops[i].max_cnt = 0.0; + wmops[i].min_cnt = DOUBLE_MAX; + wmops[i].tot_cnt = 0.0; + } + + for (i = 0; i < MAX_STACK; i++) + { + stack[i] = -1; + } + sptr = 0; + num_records = 0; + current_record = -1; + update_cnt = 0; + + max_cnt = 0.0; + min_cnt = DOUBLE_MAX; + start_cnt = 0.0; + ops_cnt = 0.0; +} + + +void push_wmops(const char* label) +{ + int new_flag; + int i, j; + + /* Check if new function record label */ + new_flag = 1; + for (i = 0; i < num_records; i++) + { + if (strcmp(wmops[i].label, label) == 0) + { + new_flag = 0; + break; + } + } + + /* Configure new record */ + if (new_flag) + { + if (num_records >= MAX_RECORDS) + { + fprintf(stdout, "push_wmops(): exceeded MAX_RECORDS count.\n\n"); + exit(-1); + } + strcpy(wmops[i].label, label); + num_records++; + } + + /* Push current context onto stack */ + if (current_record >= 0) + { + if (sptr >= MAX_STACK) + { + fprintf(stdout, "\r push_wmops(): stack exceeded, try inreasing MAX_STACK\n"); + exit(-1); + } + stack[sptr++] = current_record; + + /* accumulate op counts */ + wmops[current_record].current_selfcnt += ops_cnt - wmops[current_record].start_selfcnt; + + /* update call tree */ + for (j = 0; j < MAX_RECORDS; j++) + { + if (wmops[i].call_tree[j] == current_record) + { + break; + } + else if (wmops[i].call_tree[j] == -1) + { + wmops[i].call_tree[j] = current_record; + break; + } + } + } + + /* init current record */ + current_record = i; + wmops[current_record].start_selfcnt = ops_cnt; + wmops[current_record].start_cnt = ops_cnt; + wmops[current_record].call_number++; + + return; +} + + +void pop_wmops(void) +{ + + /* Check for underflow */ + if (current_record < 0) + { + fprintf(stdout, "\r pop_wmops(): stack underflow, too many calls to pop_wmops()\n"); + exit(-1); + } + + /* update count of current record */ + wmops[current_record].current_selfcnt += ops_cnt - wmops[current_record].start_selfcnt; + wmops[current_record].current_cnt += ops_cnt - wmops[current_record].start_cnt; + + /* Get back previous context from stack */ + if (sptr > 0) + { + current_record = stack[--sptr]; + wmops[current_record].start_selfcnt = ops_cnt; + } + else + { + current_record = -1; + } + + return; +} + + +void update_wmops(void) +{ + int i; + double current_cnt; + + if (sptr != 0) + { + fprintf(stdout, "update_wmops(): Stack must be empty!\n"); + exit(-1); + } + + for (i = 0; i < num_records; i++) + { + wmops[i].tot_selfcnt += wmops[i].current_selfcnt; + wmops[i].tot_cnt += wmops[i].current_cnt; + + if (wmops[i].current_selfcnt > 0) + { + if (wmops[i].current_selfcnt > wmops[i].max_selfcnt) + { + wmops[i].max_selfcnt = wmops[i].current_selfcnt; + } + + if (wmops[i].current_selfcnt < wmops[i].min_selfcnt) + { + wmops[i].min_selfcnt = wmops[i].current_selfcnt; + } + } + + wmops[i].current_selfcnt = 0; + + if (wmops[i].current_cnt > 0) + { + if (wmops[i].current_cnt > wmops[i].max_cnt) + { + wmops[i].max_cnt = wmops[i].current_cnt; + } + + if (wmops[i].current_cnt < wmops[i].min_cnt) + { + wmops[i].min_cnt = wmops[i].current_cnt; + } + + wmops[i].update_cnt++; + } + + wmops[i].current_cnt = 0; + } + + current_cnt = ops_cnt - start_cnt; + if (current_cnt > max_cnt) + { + max_cnt = current_cnt; + + for (i = 0; i < NUM_INST; i++) + { + inst_cnt_wc[i] = inst_cnt[i]; + } + + fnum_cnt_wc = update_cnt + 1; + } + + if (current_cnt < min_cnt) + { + min_cnt = current_cnt; + } + + for (i = 0; i < NUM_INST; i++) + { + inst_cnt[i] = 0.0; + } + + start_cnt = ops_cnt; + update_cnt++; + + return; +} + + +void print_wmops(void) +{ + int i; + + char* sfmts = "%20s %8s %8s %7s %7s\n"; + char* dfmts = "%20s %8.2f %8.3f %7.3f %7.3f\n"; + char* sfmt = "%20s %8s %8s %7s %7s %7s %7s %7s\n"; + char* dfmt = "%20s %8.2f %8.3f %7.3f %7.3f %7.3f %7.3f %7.3f\n"; + +#if ENABLE_TREE + + int j; + char* sfmtt = "%20s %4s %15s\n"; + char* dfmtt = "%20s %4d "; + +#endif + + fprintf(stdout, "\n\n --- Weighted MOPS Analysis --- \n\n"); + fprintf(stdout, "WMOPS boost factor: %4.2f\n\n", WMOPS_BOOST_FAC); + + fprintf(stdout, "%54s %23s\n", "|------ SELF ------|", "|--- CUMULATIVE ---|"); + fprintf(stdout, sfmt, " routine", " calls", " min ", " max ", " avg ", " min ", " max ", " avg "); + fprintf(stdout, sfmt, "---------------", "------", "------", "------", "------", "------", "------", "------"); + + for (i = 0; i < num_records; i++) + { + fprintf(stdout, dfmt, wmops[i].label, update_cnt == 0 ? 0 : (float)wmops[i].call_number / update_cnt, + wmops[i].min_selfcnt == DOUBLE_MAX ? 0 : FAC * wmops[i].min_selfcnt, + FAC * wmops[i].max_selfcnt, + wmops[i].update_cnt == 0 ? 0 : FAC * wmops[i].tot_selfcnt / wmops[i].update_cnt, + wmops[i].min_cnt == DOUBLE_MAX ? 0 : FAC * wmops[i].min_cnt, + FAC * wmops[i].max_cnt, + wmops[i].update_cnt == 0 ? 0 : FAC * wmops[i].tot_cnt / wmops[i].update_cnt); + } + + fprintf(stdout, sfmts, "---------------", "------", "------", "------", "------"); + fprintf(stdout, dfmts, "total", (float)update_cnt, FAC * min_cnt, FAC * max_cnt, update_cnt == 0 ? 0 : FAC * ops_cnt / update_cnt); + fprintf(stdout, "\n"); + +#if ENABLE_TREE + fprintf(stdout, "\nCall Tree:\n\n"); + fprintf(stdout, sfmtt, " function", "num", "called by: "); + fprintf(stdout, sfmtt, "---------------", "---", "--------------"); + + for (i = 0; i < num_records; i++) + { + fprintf(stdout, dfmtt, wmops[i].label, i); + for (j = 0; wmops[i].call_tree[j] != -1; j++) + { + if (j != 0) + { + fprintf(stdout, ", "); + } + fprintf(stdout, "%d", wmops[i].call_tree[j]); + } + fprintf(stdout, "\n"); + } + + fprintf(stdout, sfmtt, "---------------", "---", "--------------"); + fprintf(stdout, "\n\n"); + + fprintf(stdout, "\nInstruction Type Analysis (for worst case frame #%ld):\n\n", fnum_cnt_wc); /* added -- JPA */ + for (i = 0; i < NUM_INST; i++) + { + switch ((enum instructions)i) + { + case _ADD: + fprintf(stdout, "\tAdds: %12.1f\n", inst_cnt_wc[i]); + break; + case _ABS: + fprintf(stdout, "\tAbsolutes: %12.1f\n", inst_cnt_wc[i]); + break; + case _MULT: + fprintf(stdout, "\tMultiplies: %12.1f\n", inst_cnt_wc[i]); + break; + case _MAC: + fprintf(stdout, "\tMACs: %12.1f\n", inst_cnt_wc[i]); + break; + case _MOVE: + fprintf(stdout, "\tMoves: %12.1f\n", inst_cnt_wc[i]); + break; + case _STORE: + fprintf(stdout, "\tStores: %12.1f\n", inst_cnt_wc[i]); + break; + case _LOGIC: + fprintf(stdout, "\tLogicals: %12.1f\n", inst_cnt_wc[i]); + break; + case _SHIFT: + fprintf(stdout, "\tShifts: %12.1f\n", inst_cnt_wc[i]); + break; + case _BRANCH: + fprintf(stdout, "\tBranches: %12.1f\n", inst_cnt_wc[i]); + break; + case _DIV: + fprintf(stdout, "\tDivisions: %12.1f\n", inst_cnt_wc[i]); + break; + case _SQRT: + fprintf(stdout, "\tSquare Root: %12.1f\n", inst_cnt_wc[i]); + break; + case _TRANS: + fprintf(stdout, "\tTrans: %12.1f\n", inst_cnt_wc[i]); + break; + case _FUNC: + fprintf(stdout, "\tFunc Call: %12.1f\n", inst_cnt_wc[i]); + break; + case _LOOP: + fprintf(stdout, "\tLoop Init: %12.1f\n", inst_cnt_wc[i]); + break; + case _INDIRECT: + fprintf(stdout, "\tIndirect Addr: %12.1f\n", inst_cnt_wc[i]); + break; + case _PTR_INIT: + fprintf(stdout, "\tPointer Init: %12.1f\n", inst_cnt_wc[i]); + break; + case _TEST: + fprintf(stdout, "\tExtra condit.: %12.1f\n", inst_cnt_wc[i]); + break; + case _POWER: + fprintf(stdout, "\tExponential: %12.1f\n", inst_cnt_wc[i]); + break; + case _LOG: + fprintf(stdout, "\tLogarithm: %12.1f\n", inst_cnt_wc[i]); + break; + case _MISC: + fprintf(stdout, "\tAll other op.: %12.1f\n", inst_cnt_wc[i]); + break; + default: + fprintf(stdout, "\tERROR: Invalid instruction type: %d\n\n", i); + } + } +#endif + + return; +} + + +/*-------------------------------------------------------------------* + * Memory counting tool measuring RAM usage (stack and heap) + * + * Maximum RAM is measured by monitoring the total allocated memory (stack and heap) in each frame. + * + * Maximum stack is measured by monitoring the difference between the 'top' and 'bottom' of the stack. The 'bottom' of the stack is updated in each function + * with a macro 'func_start_' which is inserted automatically to all functions during the instrumentation process. + * + * Maximum heap is measured by summing the sizes of all memory blocks allocated by malloc() or calloc() and deallocated by free(). The maximum heap size is + * updated each time when the macros malloc_() or calloc_() is invoked. The macros 'malloc_ and calloc_' are inserted automatically during the instrumentation process. + * As part of heap measurements, intra-frame heap and inter-frame heap are measured separately. Intra-frame heap refers to heap memory which is allocated and deallocated + * within a single frame. Inter-frame heap, on the contrary, refers to heap memory which is preserved for more than one frame. + * + * In order to run the memory counting tool the function reset_mem(cnt_size) must be called at the beginning of the encoding/decoding process. + * The unit in which memory consumption is reported is set via the parameter 'cnt_size'. It can be set to 0 (bytes), 1 (32b words) or 2 (64b words). + * At the end of the encoding/decoding process, 'print_mem()' function may be called to print basic information about memory consumption. If the macro 'MEM_COUNT_DETAILS' + * is activated, detailed information is printed + * + * The macro 'WMOPS' needs to be activated to enable memory counting. To avoid the instrumentation of malloc()/calloc()/free() calls, use + * #define WMC_TOOL_SKIP ... #undef WMC_TOOL_SKIP macro pair around the malloc(), calloc() and free(). + *--------------------------------------------------------------------*/ + +#define MAX_RECORDABLE_CALLS 40 +#define MAX_FUNCTION_NAME_LENGTH 35 /* Maximum length that the function string will be truncated to */ +#define MAX_PARAMS_LENGTH 50 /* Maximum length that the parameter string will be truncated to */ +#define MAX_NUM_RECORDS 300 /* Initial maximum number of memory records -> mightb be increased during runtime, if needed */ +#define MAX_NUM_RECORDS_REALLOC_STEP 10 /* When re-allocating the list of memory records, increase the number of records by this number */ + + /* This is the value (in bytes) towards which the block size is rounded. For example, a block of 123 bytes, when using + a 32 bits system, will end up taking 124 bytes since the last unused byte cannot be used for another block. */ +#ifdef MEM_ALIGN_64BITS +#define BLOCK_ROUNDING 8 /* Align on 64 Bits */ +#else +#define BLOCK_ROUNDING 4 /* Align on 32 Bits */ +#endif + +#define N_32BITS_BLOCKS ( BLOCK_ROUNDING / sizeof( int32_t ) ) + +#define MAGIC_VALUE_OOB 0x12A534F0 /* Signature value which is inserted before and after each allocated memory block, used to detect out-of-bound access */ +#define MAGIC_VALUE_USED ( ~MAGIC_VALUE_OOB ) /* Value used to pre-fill allocated memory blocks, used to calculate actual memory usage */ +#define OOB_START 0x1 /* Flag indicating out-of-bounds access before memory block */ +#define OOB_END 0x2 /* Flag indicating out-of-bounds access after memory block */ + +#define ROUND_BLOCK_SIZE( n ) ( ( ( n ) + BLOCK_ROUNDING - 1 ) & ~( BLOCK_ROUNDING - 1 ) ) +#define IS_CALLOC( str ) ( str[0] == 'c' ) + +typedef struct +{ + char function_name[MAX_FUNCTION_NAME_LENGTH + 1]; + int16_t* stack_ptr; +} caller_info; + +caller_info stack_callers[2][MAX_RECORDABLE_CALLS]; + +typedef struct +{ + char name[MAX_FUNCTION_NAME_LENGTH + 1]; /* +1 for NUL */ + char params[1 + MAX_PARAMS_LENGTH + 1]; /* +1 for 'm'/'c' alloc & +1 for NUL */ + unsigned long hash; + int lineno; + void* block_ptr; + int block_size; + int max_block_size; /* Maximum block size allocated */ + int32_t wc_heap_size[2]; /* Worst-Case Heap [Frame#, Size] */ + int32_t wc_heap_size_intra_frame[2]; /* Worst-Case Intra-Frame Heap [Frame#, Size] */ + int32_t wc_heap_size_inter_frame[2]; /* Worst-Case Inter-Frame Heap [Frame#, Size] */ + int frame_allocated; /* Frame number in which the Memory Block has been allocated */ + float ave_usage; /* Average Usage of memory block calculated as ratio of used size and allocated size */ + int OOB_Flag; + int noccurances; /* Numer of times that the Memory Block Was Allocated */ +} allocator_record; + +allocator_record* allocation_list = NULL, * peak_allocations, * peak_allocations_one_frame, * peak_allocations_state; + +static int16_t* ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ +static int16_t* ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ +static int32_t wc_frame = 0; /* Frame corresponding to the worst-case stack usage */ +static int32_t wc_ram_size, wc_ram_frame; +static int32_t current_heap_size, wc_heap_size[2], wc_heap_size_intra_frame[2], wc_heap_size_inter_frame[2]; +static int current_calls = 0; +static char location_max_stack[256] = "undefined"; +static int Num_Records; +static size_t Stat_Cnt_Size = USE_BYTES; +static int Max_Num_Records; +static const char* Count_Unit[] = { "bytes", "words", "words" }; + +/* Local Functions */ +static unsigned long malloc_hash(const char* func_name, int func_lineno, char* size_str); +allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str); +static void* mem_alloc_block(size_t size, const char* size_str); + +/*-------------------------------------------------------------------* + * reset_mem() + * + * Initialize/reset memory counting tool (stack and heap) + *--------------------------------------------------------------------*/ + +void reset_mem(Counting_Size cnt_size) +{ + int16_t something; + size_t tmp_size; + + /* initialize stack pointers */ + ptr_base_stack = &something; + ptr_max_stack = ptr_base_stack; + + Stat_Cnt_Size = cnt_size; + + /* Check, if sizeof(int32_t) is 4 bytes */ + tmp_size = sizeof(int32_t); + if (tmp_size != 4) + { + printf("Error: Expecting 'int32_t' to be a 32 Bits Integer!"); + exit(-1); + } + + /* create allocation list for malloc() memory blocks */ + if (allocation_list == NULL) + { + allocation_list = malloc(MAX_NUM_RECORDS * sizeof(allocator_record)); + } + + if (allocation_list == NULL) + { + printf("Error: Unable to Create List of Memory Blocks!"); + exit(-1); + } + + Num_Records = 0; + Max_Num_Records = MAX_NUM_RECORDS; + + wc_ram_size = 0; + wc_ram_frame = -1; + current_heap_size = 0; + wc_heap_size[0] = -1; + wc_heap_size[1] = 0; + wc_heap_size_intra_frame[0] = -1; + wc_heap_size_intra_frame[1] = 0; + wc_heap_size_inter_frame[0] = -1; + wc_heap_size_inter_frame[1] = 0; + + return; +} + +/*-------------------------------------------------------------------* + * reset_stack() + * + * Reset stack pointer + *--------------------------------------------------------------------*/ + +void reset_stack(void) +{ + int16_t something; + + /* initialize/reset stack pointers */ + ptr_base_stack = &something; + ptr_max_stack = ptr_base_stack; + + return; +} + +/*-------------------------------------------------------------------* + * push_stack() + * + * Check the current stack pointer and update the maximum stack pointer, if new maximum found. + *--------------------------------------------------------------------*/ + +int push_stack(const char* filename, const char* fctname) +{ + int16_t something; + int32_t current_stack_size; + + (void)*filename; /* to avoid compilation warning */ + + /* Is there room to save the caller's information? */ + if (current_calls >= MAX_RECORDABLE_CALLS) + { /* No */ + fprintf(stderr, "No more room to store call stack info. Please increase MAX_RECORDABLE_CALLS"); + exit(-1); + } + + /* Valid Function Name? */ + if (fctname[0] == 0) + { /* No */ + fprintf(stderr, "Invalid function name for call stack info."); + exit(-1); + } + + /* Save the Name of the Calling Function in the Table */ + strncpy(stack_callers[0][current_calls].function_name, fctname, MAX_FUNCTION_NAME_LENGTH); + stack_callers[0][current_calls].function_name[MAX_FUNCTION_NAME_LENGTH] = 0; /* Nul Terminate */ + + /* Save the Stack Pointer */ + stack_callers[0][current_calls].stack_ptr = &something; + + /* Increase Stack Calling Tree Level */ + current_calls++; + + /* Is this the First Time or the Worst Case? */ + if (&something < ptr_max_stack || ptr_max_stack == NULL) + { /* Yes */ + /* Save Info about it */ + ptr_max_stack = &something; + + //wc_frame = frame; + wc_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ + strncpy(location_max_stack, fctname, sizeof(location_max_stack) - 1); + location_max_stack[sizeof(location_max_stack) - 1] = '\0'; + + /* Save Call Tree */ + memmove(stack_callers[1], stack_callers[0], sizeof(caller_info) * current_calls); + + /* Terminate the List (Unless Full) */ + if (current_calls < MAX_RECORDABLE_CALLS) + { + stack_callers[1][current_calls].function_name[0] = 0; + } + } + + /* Check, if This is the New Worst-Case RAM (stack + heap) */ + current_stack_size = (int32_t)(((ptr_base_stack - ptr_max_stack) * sizeof(int16_t))); + if (current_stack_size + current_heap_size > wc_ram_size) + { + wc_ram_size = current_stack_size + current_heap_size; + wc_ram_frame = update_cnt; + } + + return 0 /* for Now */; +} + +/*-------------------------------------------------------------------* + * pop_stack() + * + * Remove stack caller entry from the list + *--------------------------------------------------------------------*/ + +int pop_stack(const char* filename, const char* fctname) +{ + caller_info* caller_info_ptr; + + (void)*filename; /* to avoid compilation warning */ + + /* Decrease Stack Calling */ + current_calls--; + + /* Get Pointer to Caller Information */ + caller_info_ptr = &stack_callers[0][current_calls]; + + /* Check, if Names Match */ + if (strncmp(caller_info_ptr->function_name, fctname, MAX_FUNCTION_NAME_LENGTH) != 0) + { + fprintf(stderr, "Invalid usage of pop_stack()"); + exit(-1); + } + + /* Erase Entry */ + caller_info_ptr->function_name[0] = 0; + + return 0 /* for Now */; +} + +#ifdef MEM_COUNT_DETAILS +/*-------------------------------------------------------------------* + * print_stack_call_tree() + * + * Print detailed information about worst-case stack usage + *--------------------------------------------------------------------*/ + +static void print_stack_call_tree(void) +{ + caller_info* caller_info_ptr; + int call_level; + + fprintf(stdout, "Stack Call Tree (frame #%d):\n", wc_frame); + caller_info_ptr = &stack_callers[1][0]; + for (call_level = 0; call_level < MAX_RECORDABLE_CALLS; call_level++) + { + /* Done? */ + if (caller_info_ptr->function_name[0] == 0) + break; + + /* Print Name */ + fprintf(stdout, "%-42s", caller_info_ptr->function_name); + + /* Print Stack Usage (Based on Difference) */ + if (call_level != 0) + { + fprintf(stdout, "%lu\n", ((caller_info_ptr - 1)->stack_ptr - caller_info_ptr->stack_ptr) * sizeof(int16_t) / sizeof(float)); + } + else + { + fprintf(stdout, "\n"); + } + + /* Advance */ + caller_info_ptr++; + } + + fprintf(stdout, "\n"); + + return; +} +#endif + + +/*-------------------------------------------------------------------* + * mem_alloc() + * + * Creates new record, stores auxiliary information about which function allocated the memory, line number, parameters, etc. + * Finally, it allocates physical memory using malloc() + * The function also updates worst-case heap size and worst-case RAM size + *--------------------------------------------------------------------*/ + +void* mem_alloc( + const char* func_name, + int func_lineno, + size_t size, + char* size_str /* the first char indicates m-alloc or c-alloc */) +{ + int i; + int32_t current_stack_size; + unsigned long hash; + allocator_record* ptr_record; + + if (size == 0) + { + printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Size of Zero not Supported"); + exit(-1); + } + + /* Create new record, if not existing */ + if ((ptr_record = get_mem_record(&hash, func_name, func_lineno, size_str)) == NULL) + { + if (Num_Records >= Max_Num_Records) + { + /* There is no room for a new record -> reallocate memory */ + Max_Num_Records += MAX_NUM_RECORDS_REALLOC_STEP; + allocation_list = realloc(allocation_list, Max_Num_Records * sizeof(allocator_record)); + } + + ptr_record = &(allocation_list[Num_Records]); + + /* Initialize new record */ + ptr_record->hash = hash; + ptr_record->ave_usage = 0; + ptr_record->noccurances = 0; + ptr_record->max_block_size = 0; + ptr_record->frame_allocated = -1; + ptr_record->OOB_Flag = 0; + ptr_record->wc_heap_size[0] = -1; + ptr_record->wc_heap_size[1] = 0; + ptr_record->wc_heap_size_intra_frame[0] = -1; + ptr_record->wc_heap_size_intra_frame[1] = 0; + ptr_record->wc_heap_size_inter_frame[0] = -1; + ptr_record->wc_heap_size_inter_frame[1] = 0; + + Num_Records++; + } + else + { + printf("Record Exists"); + } + + /* Allocate memory block for the new record, add signature before the beginning and after the memory block and fill it with magic value */ + ptr_record->block_ptr = mem_alloc_block(size, size_str); + + if (ptr_record->block_ptr == NULL) + { + printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Cannot Allocate Memory!"); + exit(-1); + } + + /* Save all zuxiliary information about the memory block */ + strncpy(ptr_record->name, func_name, MAX_FUNCTION_NAME_LENGTH); + ptr_record->name[MAX_FUNCTION_NAME_LENGTH] = '\0'; + strncpy(ptr_record->params, size_str, MAX_PARAMS_LENGTH); /* Note: The size string starts with either 'm' or 'c' to indicate 'm'alloc or 'c'alloc */ + ptr_record->params[MAX_PARAMS_LENGTH] = '\0'; + ptr_record->lineno = func_lineno; + ptr_record->block_size = size; + + if (ptr_record->block_size > ptr_record->max_block_size) + { + ptr_record->max_block_size = ptr_record->block_size; + } + + if (ptr_record->frame_allocated != -1) + { + printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Attempt to Allocate the Same Memory Block with Freeing it First!"); + exit(-1); + } + + ptr_record->frame_allocated = update_cnt; /* Store the current frame number -> later it will be used to determine the total duration */ + ptr_record->noccurances++; + + /* Update Heap Size in the current frame */ + current_heap_size += ptr_record->block_size; + + /* Update Worst-Case Heap Size, if Exceeded */ + if (current_heap_size > wc_heap_size[1]) + { + for (i = 0; i < Num_Records; i++) + { + if (allocation_list[i].block_ptr != NULL) + { + allocation_list[i].wc_heap_size[0] = update_cnt; + allocation_list[i].wc_heap_size[1] = allocation_list[i].block_size; + } + else + { + allocation_list[i].wc_heap_size[0] = -1; + allocation_list[i].wc_heap_size[1] = 0; + } + } + + wc_heap_size[0] = update_cnt; + wc_heap_size[1] = current_heap_size; + } + + /* Check, if this is the new Worst-Case RAM (stack + heap) */ + current_stack_size = (int32_t)(((ptr_base_stack - ptr_max_stack) * sizeof(int16_t))); + if (current_stack_size + current_heap_size > wc_ram_size) + { + wc_ram_size = current_stack_size + current_heap_size; + wc_ram_frame = update_cnt; + } + + return ptr_record->block_ptr; +} + +/*-------------------------------------------------------------------* + * mem_alloc_block() + * + * Physical allocation of memory using malloc(). Appends 'signature' before and after the block, + * pre-fills memory block with magic value + *--------------------------------------------------------------------*/ + +static void* mem_alloc_block(size_t size, const char* size_str) +{ + size_t rounded_size; + void* block_ptr; + char* tmp_ptr; + size_t n, f; + int32_t fill_value; + int32_t* ptr32; + int32_t mask, temp; + + /* Round Up Block Size */ + rounded_size = ROUND_BLOCK_SIZE(size); + + /* Allocate memory using the standard malloc() by adding room for Signature Values */ + block_ptr = malloc(rounded_size + BLOCK_ROUNDING * 2); + + if (block_ptr == NULL) + { + return NULL; + } + + /* Add Signature Before the Start of the Block */ + ptr32 = (int32_t*)block_ptr; + n = N_32BITS_BLOCKS; + do + { + *ptr32++ = MAGIC_VALUE_OOB; + } while (--n); + + /* Fill Memory Block with Magic Value or 0 */ + fill_value = MAGIC_VALUE_USED; + if (IS_CALLOC(size_str)) + { + fill_value = 0x00000000; + } + n = size / sizeof(int32_t); + while (n--) + { + *ptr32++ = fill_value; + } + + /* Fill the Reminder of the Memory Block - After Rounding */ + n = rounded_size - size; + f = n % sizeof(int32_t); + if (f != 0) + { + /* when filling with '0' need to adapt the magic value */ + /* shift by [1->24, 2->16, 3->8] */ + mask = 0xFFFFFFFF << ((sizeof(int32_t) - f) * 8); /* (1) */ + temp = MAGIC_VALUE_OOB & mask; + if (fill_value != 0x0) + { /* for malloc merge fill value */ + temp += (~mask) & MAGIC_VALUE_USED; + } /* for calloc the code in (1) above already introduces zeros */ + *ptr32++ = temp; + } + n /= sizeof(int32_t); + n += N_32BITS_BLOCKS; + + /* Add Signature After the End of Block */ + do + { + *ptr32++ = MAGIC_VALUE_OOB; + } while (--n); + + /* Adjust the Memory Block Pointer (Magic Value Before and After the Memory Block Requested) */ + tmp_ptr = (char*)block_ptr; + tmp_ptr += BLOCK_ROUNDING; + block_ptr = (void*)tmp_ptr; + + return block_ptr; +} + +/*-------------------------------------------------------------------* + * mem_set_usage() + * + * Calculates actual usage of memory block by checking the magic value that was used to pre-fill + * each memory block during its allocation + *--------------------------------------------------------------------*/ + +static int mem_set_usage(allocator_record* record_ptr) +{ + int total_bytes_used; + + size_t n; + int32_t* ptr32; + char* ptr8; + size_t total_bytes; + int32_t fill_value; + + fill_value = MAGIC_VALUE_USED; + if ((record_ptr->params[0]) == 'c') + { + fill_value = 0x00000000; + } + + total_bytes = record_ptr->block_size; + + /* Check 4 bytes at a time */ + ptr32 = (int32_t*)record_ptr->block_ptr; + total_bytes_used = 0; + for (n = total_bytes / sizeof(int32_t); n > 0; n--) + { + if (*ptr32++ != fill_value) + { + total_bytes_used += sizeof(int32_t); + } + } + + /* Check remaining bytes (If Applicable) 1 byte at a time */ + ptr8 = (char*)ptr32; + for (n = total_bytes % sizeof(int32_t); n > 0; n--) + { + if (*ptr8++ != (char)fill_value) + { + total_bytes_used++; + } + + /* Update Value */ + fill_value >>= 8; + } + + return total_bytes_used; +} + +/*-------------------------------------------------------------------* + * mem_check_OOB() + * + * Checks, if out-of-bounds access has occured. This is done by inspecting the 'signature' value + * taht has been added before and after the memory block during its allocation + *--------------------------------------------------------------------*/ + +static unsigned int mem_check_OOB(allocator_record* record_ptr) +{ + int32_t* ptr32; + unsigned int OOB_Flag = 0x0; + int32_t mask; + size_t i; + int f; + + ptr32 = (int32_t*)record_ptr->block_ptr - N_32BITS_BLOCKS; + + /* Check the Signature at the Beginning of Memory Block */ + i = N_32BITS_BLOCKS; + do + { + if (*ptr32++ ^ MAGIC_VALUE_OOB) + { + OOB_Flag |= OOB_START; + } + } while (--i); + + /* Advance to End (Snap to lowest 32 Bits) */ + ptr32 += record_ptr->block_size / sizeof(int32_t); + + /* Calculate Unused Space That has been added to get to the rounded Block Size */ + i = ROUND_BLOCK_SIZE(record_ptr->block_size) - record_ptr->block_size; + + /* Partial Check of Signature at the End of Memory Block (for block size that has been rounded) */ + f = i % sizeof(int32_t); + if (f != 0) + { + mask = 0xFFFFFFFF << ((sizeof(int32_t) - f) * 8); + if ((*ptr32++ ^ MAGIC_VALUE_OOB) & mask) + { + OOB_Flag |= OOB_END; + } + } + + /* Full Check of Signature at the End of Memory Block, i.e. all 32 Bits (for the remainder after rounding) */ + i /= sizeof(int32_t); + i += N_32BITS_BLOCKS; + do + { + if (*ptr32++ ^ MAGIC_VALUE_OOB) + { + OOB_Flag |= OOB_END; + } + } while (--i); + + return OOB_Flag; +} + +/*-------------------------------------------------------------------* + * malloc_hash() + * + * Calculate hash from function name, line number and malloc size + *--------------------------------------------------------------------*/ + +static unsigned long malloc_hash(const char* func_name, int func_lineno, char* size_str) +{ + unsigned long hash = 5381; + const char* ptr_str; + int c; + + ptr_str = func_name; + while (c = *ptr_str++) + { + hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ + } + + hash = ((hash << 5) + hash) + func_lineno; /* hash * 33 + func_lineno */ + + ptr_str = size_str; + while (c = *ptr_str++) + { + hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ + } + + return hash; +} + +/*-------------------------------------------------------------------* + * get_mem_record() + * + * Search for memory record in the internal list, return NULL if not found + *--------------------------------------------------------------------*/ + +allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str) +{ + int i; + + /* calculate hash */ + *hash = malloc_hash(func_name, func_lineno, size_str); + + for (i = 0; i < Num_Records; i++) + { + /* check, if memory block is not allocated at the moment and the hash matches */ + if (allocation_list[i].block_ptr == NULL && *hash == allocation_list[i].hash) + { + return &(allocation_list[i]); + } + } + + /* not found */ + return NULL; +} + +/*-------------------------------------------------------------------* + * mem_free() + * + * This function updates worst-case intra-frame memory and worst-case inter-frame memory. It also updates actual and average usage of + * the memory block and finally, it de-allocates the physical memory with free() + * + * Note: The record is not removed from the list and may be reused later on in mem_alloc()! + *--------------------------------------------------------------------*/ + +void mem_free(const char* func_name, int func_lineno, void* ptr) +{ + int i; + int32_t current_heap_size_intra_frame, current_heap_size_inter_frame; + float current_usage; + char* tmp_ptr; + allocator_record* ptr_record; + + /* Search for the Block Pointer in the List */ + ptr_record = NULL; + for (i = 0; i < Num_Records; i++) + { + if (ptr == allocation_list[i].block_ptr) + { /* Yes, Found it */ + ptr_record = &(allocation_list[i]); + break; + } + } + + if (ptr_record == NULL) + { + printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Unable to Find Record Corresponding to the Allocated Memory Block!"); + exit(-1); + } + + /* Update the Heap Size */ + current_heap_size -= ptr_record->block_size; + + /* Calculate Intra-Frame Heap Size and Inter-Frame Heap Size in the Current Frame */ + current_heap_size_intra_frame = 0; + current_heap_size_inter_frame = 0; + for (i = 0; i < Num_Records; i++) + { + if (allocation_list[i].block_ptr != NULL) + { + if (allocation_list[i].frame_allocated == update_cnt) + { + current_heap_size_intra_frame += allocation_list[i].block_size; + } + else + { + current_heap_size_inter_frame += allocation_list[i].block_size; + } + } + } + + /* Update Worst-Case Intra-Frame Heap Size, if Exceeded */ + if (ptr_record->frame_allocated == update_cnt && current_heap_size_intra_frame > wc_heap_size_intra_frame[1]) + { + for (i = 0; i < Num_Records; i++) + { + if (allocation_list[i].block_ptr != NULL) + { + allocation_list[i].wc_heap_size_intra_frame[0] = update_cnt; + allocation_list[i].wc_heap_size_intra_frame[1] = allocation_list[i].block_size; + } + else + { + allocation_list[i].wc_heap_size_intra_frame[0] = -1; + allocation_list[i].wc_heap_size_intra_frame[1] = 0; + } + } + + wc_heap_size_intra_frame[0] = update_cnt; + wc_heap_size_intra_frame[1] = current_heap_size_intra_frame; + } + + /* Update Worst-Case Inter-Frame Heap Size, if Exceeded */ + if (ptr_record->frame_allocated < update_cnt && current_heap_size_inter_frame > wc_heap_size_inter_frame[1]) + { + for (i = 0; i < Num_Records; i++) + { + if (allocation_list[i].block_ptr != NULL) + { + allocation_list[i].wc_heap_size_inter_frame[0] = update_cnt; + allocation_list[i].wc_heap_size_inter_frame[1] = allocation_list[i].block_size; + } + else + { + allocation_list[i].wc_heap_size_inter_frame[0] = -1; + allocation_list[i].wc_heap_size_inter_frame[1] = 0; + } + } + + wc_heap_size_inter_frame[0] = update_cnt; + wc_heap_size_inter_frame[1] = current_heap_size_inter_frame; + + } + + /* Update the Average Usage of Memory Block (Look for Signature) */ + current_usage = (float)mem_set_usage(ptr_record) / ptr_record->block_size; + ptr_record->ave_usage = ((ptr_record->noccurances - 1.0f) / ptr_record->noccurances) * ptr_record->ave_usage + (1.0f / ptr_record->noccurances) * current_usage; + + /* Check, if Out-Of-Bounds Access has been Detected */ + ptr_record->OOB_Flag = mem_check_OOB(ptr_record); + + /* De-Allocate Memory Block */ + tmp_ptr = (char*)ptr; + tmp_ptr -= BLOCK_ROUNDING; + ptr = (void*)tmp_ptr; + free(ptr); + + /* Reset some properties of the memory record */ + ptr_record->frame_allocated = -1; + ptr_record->block_ptr = NULL; + ptr_record->block_size = 0; + + return; +} + +#ifdef MEM_COUNT_DETAILS +/*-------------------------------------------------------------------* + * subst() + * + * Substitute character in string + *--------------------------------------------------------------------*/ + +static void subst(char* s, char from, char to) +{ + while (*s == from) + { + *s++ = to; + } + + return; +} + +/*-------------------------------------------------------------------* + * mem_count_summary() + * + * Print detailed (per-item) information about heap memory usage + *--------------------------------------------------------------------*/ + +static void mem_count_summary(void) +{ + int i, j, flag_intra_frame_memory; + size_t length; + char format_str[50], name_str[MAX_FUNCTION_NAME_LENGTH + 1], parms_str[MAX_PARAMS_LENGTH + 1], type_str[10], usage_str[20], size_str[20], line_str[10]; + char buf[300]; + allocator_record* record_ptr; + + /* Prepare format string */ + sprintf(format_str, "%%-%ds %%5s %%6s %%-%ds %%14s %%6s ", MAX_FUNCTION_NAME_LENGTH, MAX_PARAMS_LENGTH); + + /* Check, if we have at least one Intra-Frame Heap memory block in the list */ + flag_intra_frame_memory = 0; + for (i = 0; i < Num_Records; i++) + { + record_ptr = &(allocation_list[i]); + if (record_ptr->wc_heap_size_intra_frame[1] > 0) + { + flag_intra_frame_memory = 1; + break; + } + } + + for (j = 0; j < 3; j++) + { + if (j == 0 && wc_heap_size[1] > 0) + { + /* Total Heap Size */ + printf("\nList of memory blocks when maximum heap size is reached:\n\n"); + } + else if (j == 1 && flag_intra_frame_memory && wc_heap_size_intra_frame[1] > 0) + { + /* Intra-Frame Heap Size */ + printf("\nList of memory blocks when maximum Intra-Frame Heap Size is reached:\n\n"); + } + else if (j == 2 && flag_intra_frame_memory && wc_heap_size_inter_frame[1] > 0) + { + /* Inter-Frame Heap Size */ + printf("\nList of memory blocks when maximum Inter-Frame Heap Size is reached:\n\n"); + } + else + { + continue; + } + + /* Print Header */ + sprintf(buf, format_str, "Function Name", "Line", "Type", "Function Parameters", "Maximum Size", "Usage"); + puts(buf); + length = strlen(buf); + sprintf(buf, "%0*d\n", (int)length - 1, 0); + subst(buf, '0', '-'); + puts(buf); + + /* Print all Records */ + for (i = 0; i < Num_Records; i++) + { + record_ptr = &(allocation_list[i]); + + if ((j == 0 && record_ptr->wc_heap_size[1] > 0) || + (j == 1 && record_ptr->wc_heap_size_intra_frame[1] > 0) || + (j == 2 && record_ptr->wc_heap_size_inter_frame[1] > 0) + ) + { + strncpy(name_str, record_ptr->name, MAX_FUNCTION_NAME_LENGTH); + name_str[MAX_FUNCTION_NAME_LENGTH] = '\0'; + strncpy(parms_str, &(record_ptr->params[2]), MAX_PARAMS_LENGTH); + parms_str[MAX_PARAMS_LENGTH] = '\0'; + + if (record_ptr->params[0] == 'm') + { + strcpy(type_str, "malloc"); + } + else + { + strcpy(type_str, "calloc"); + } + + sprintf(usage_str, "%d%%", (int)(record_ptr->ave_usage * 100.0f)); + sprintf(line_str, "%d", record_ptr->lineno); + sprintf(size_str, "%d %s", (int)(record_ptr->max_block_size >> Stat_Cnt_Size), Count_Unit[Stat_Cnt_Size]); + + sprintf(buf, format_str, name_str, line_str, type_str, parms_str, size_str, usage_str); + puts(buf); + } + } + + printf("\n\n"); + } + + return; +} +#endif + +/*-------------------------------------------------------------------* + * print_mem() + * + * Print information about ROM and RAM memory usage + *--------------------------------------------------------------------*/ + +void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) +{ + int i, nElem; + + if (Const_Data_PROM_Table != NULL) + { + fprintf(stdout, "\n\n --- Program ROM usage --- \n\n"); + + nElem = 0; + while (strcmp(Const_Data_PROM_Table[nElem].file_spec, "") != 0) nElem++; + + for (i = 0; i < nElem; i++) + { + fprintf(stdout, "Program ROM size (%s): %d words (instructions)\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size); + } + + fprintf(stdout, "\n\n --- Table ROM (const data) usage --- \n\n"); + + for (i = 0; i < nElem; i++) + { + if (Const_Data_PROM_Table[i].Get_Const_Data_Size_Func == NULL) + { + fprintf(stdout, "Error: Cannot retrieve or calculate Table ROM size of (%s)!\n", Const_Data_PROM_Table[i].file_spec); + } + + fprintf(stdout, "Table ROM size (%s): %d words\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func()); + } + } + + if (wc_ram_size > 0) + { + fprintf(stdout, "\n\n --- RAM usage (Stack + Heap) --- \n\n"); + fprintf(stdout, "Maximum RAM size: %d %s in frame %d\n", wc_ram_size >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_ram_frame); + } + + if (ptr_base_stack - ptr_max_stack > 0) + { + fprintf(stdout, "\n\n --- Stack usage --- \n\n"); + fprintf(stdout, "Maximum stack size: %lu %s in frame #%d\n", ((ptr_base_stack - ptr_max_stack) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], + wc_frame); +#ifdef MEM_COUNT_DETAILS + print_stack_call_tree(); +#endif + } + + + /* check, if all memory blocks have been deallocated (freed) */ + for (i = 0; i < Num_Records; i++) + { + if (allocation_list[i].block_ptr != NULL) + { + printf("Fct=%s, Ln=%i: %s!\n", allocation_list[i].name, allocation_list[i].lineno, "Error: Memory Block has not been De-Allocated with free()!"); + exit(-1); + } + } + + if (wc_heap_size[1] > 0) + { + fprintf(stdout, "\n\n --- Heap usage (malloc/calloc) --- \n\n"); + printf("Maximum heap size: %d %s in frame %d\n", wc_heap_size[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size[0]); + } + + if (wc_heap_size_intra_frame[1] > 0) + { + printf("Maximum intra-frame heap size: %d %s in frame %d\n", wc_heap_size_intra_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_intra_frame[0]); + } + + if (wc_heap_size_inter_frame[1] > 0 && wc_heap_size_inter_frame[1] != wc_heap_size[1]) + { + printf("Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size_inter_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_inter_frame[1]); + } + +#ifdef MEM_COUNT_DETAILS + /* Print detailed information abour heap memory usage */ + mem_count_summary(); +#endif + + if (Stat_Cnt_Size > 0) + { + fprintf(stdout, "\nNote: 1 word = %d bits\n", 8 << Stat_Cnt_Size); + fprintf(stdout, "This is an optimistic estimate of memory consumption assuming that each variable type is stored with sizeof(type) bits\n\n"); + } + + /* De-allocate list of heap memory blocks */ + if (allocation_list != NULL) + { + free(allocation_list); + } + + return; +} + +#endif /* WMOPS */ + +#ifndef WMOPS +int cntr_push_pop = 0; /* global counter for checking balanced push_wmops()/pop_wmops() pairs when WMOPS is not activated */ +#endif + +#undef WMC_TOOL_SKIP + + + + + + diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h new file mode 100644 index 0000000000..f379572bc7 --- /dev/null +++ b/lib_debug/wmc_auto.h @@ -0,0 +1,523 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 + +#define WMOPS_BOOST_FAC (1.0f) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ + +#define FAC (FRAMES_PER_SECOND/(MILLION_CYCLES*WMOPS_BOOST_FAC)) + +#define ENABLE_TREE 0 /* Call tree may be activated by setting this flag to 1 */ +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +/* inline function for memset in combination with float pointer */ +#define SET_FLOAT(ptr,value,num) \ +{ \ + int i; \ + LOOP(1); MOVE(num); \ + for (i=0; i < num; i++) \ + { \ + ptr[i] = value; \ + } \ +} + +/* inline function for memset in combination with integer */ +#define SET_INT(ptr,value,num) \ +{ \ + int i; \ + LOOP(1); MOVE(num); \ + for (i=0; i < num; i++) \ + { \ + ptr[i] = value; \ + } \ +} + +#ifdef WMOPS +enum instructions {_ADD,_ABS, _MULT, _MAC, _MOVE, _STORE, _LOGIC, _SHIFT, _BRANCH, _DIV, _SQRT, _TRANS, _FUNC, _LOOP, _INDIRECT, _PTR_INIT, _TEST, _POWER, _LOG, _MISC}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD(x) { {ops_cnt+=(_ADD_C*(x)); inst_cnt[_ADD]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_ADD_P*(x)); }}}} +#define ABS(x) { {ops_cnt+=(_ABS_C*(x)); inst_cnt[_ABS]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_ABS_P*(x)); }}}} +#define MULT(x) { {ops_cnt+=(_MULT_C*(x)); inst_cnt[_MULT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MULT_P*(x)); }}}} +#define MAC(x) { {ops_cnt+=(_MAC_C*(x)); inst_cnt[_MAC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MAC_P*(x)); }}}} +#define MOVE(x) { {ops_cnt+=(_MOVE_C*(x)); inst_cnt[_MOVE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MOVE_P*(x)); }}}} +#define STORE(x) { {ops_cnt+=(_STORE_C*(x)); inst_cnt[_STORE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_STORE_P*(x)); }}}} +#define LOGIC(x) { {ops_cnt+=(_LOGIC_C*(x)); inst_cnt[_LOGIC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOGIC_P*(x)); }}}} +#define SHIFT(x) { {ops_cnt+=(_SHIFT_C*(x)); inst_cnt[_SHIFT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SHIFT_P*(x)); }}}} +#define BRANCH(x) { {ops_cnt+=(_BRANCH_C*(x)); inst_cnt[_BRANCH]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_BRANCH_P*(x)); }}}} +#define DIV(x) { {ops_cnt+=(_DIV_C*(x)); inst_cnt[_DIV]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_DIV_P*(x)); }}}} +#define SQRT(x) { {ops_cnt+=(_SQRT_C*(x)); inst_cnt[_SQRT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SQRT_P*(x)); }}}} +#define TRANS(x) { {ops_cnt+=(_TRANS_C*(x)); inst_cnt[_TRANS]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_TRANS_P*(x)); }}}} +#define LOOP(x) { {ops_cnt+=(_LOOP_C*(x)); inst_cnt[_LOOP]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOOP_P*(x)); }}}} +#define INDIRECT(x) { {ops_cnt+=(_INDIRECT_C*(x)); inst_cnt[_INDIRECT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_INDIRECT_P*(x)); }}}} +#define PTR_INIT(x) { {ops_cnt+=(_PTR_INIT_C*(x)); inst_cnt[_PTR_INIT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_PTR_INIT_P*(x)); }}}} +#define TEST(x) { {ops_cnt+=(_TEST_C*(x)); inst_cnt[_TEST]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_TEST_P*(x)); }}}} +#define POWER(x) { {ops_cnt+=(_POWER_C*(x)); inst_cnt[_POWER]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_POWER_P*(x)); }}}} +#define LOG(x) { {ops_cnt+=(_LOG_C*(x)); inst_cnt[_LOG]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOG_P*(x)); }}}} +#define MISC(x) { {ops_cnt+=(_MISC_C*(x)); inst_cnt[_MISC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MISC_P*(x)); }}}} + +#define FUNC(x) { {ops_cnt+=(_FUNC_C+_MOVE_C*(x)); inst_cnt[_FUNC]++; inst_cnt[_MOVE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_FUNC_P+_MOVE_P*(x)); }}}} + +#define DADD(x) { {ops_cnt+=(2*_ADD_C*(x)); inst_cnt[_ADD]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_ADD_P*(x)); }}}} +#define DMULT(x) { {ops_cnt+=(2*_MULT_C*(x)); inst_cnt[_MULT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MULT_P*(x)); }}}} +#define DMAC(x) { {ops_cnt+=(2*_MAC_C*(x)); inst_cnt[_MAC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MAC_P*(x)); }}}} +#define DMOVE(x) { {ops_cnt+=(2*_MOVE_C*(x)); inst_cnt[_MOVE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MOVE_P*(x)); }}}} +#define DSTORE(x) { {ops_cnt+=(2*_STORE_C*(x)); inst_cnt[_STORE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_STORE_P*(x)); }}}} +#define DLOGIC(x) { {ops_cnt+=(2*_LOGIC_C*(x)); inst_cnt[_LOGIC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOGIC_P*(x)); }}}} +#define DSHIFT(x) { {ops_cnt+=(2*_SHIFT_C*(x)); inst_cnt[_SHIFT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SHIFT_P*(x)); }}}} +#define DDIV(x) { {ops_cnt+=(2*_DIV_C*(x)); inst_cnt[_DIV]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_DIV_P*(x)); }}}} +#define DSQRT(x) { {ops_cnt+=(2*_SQRT_C*(x)); inst_cnt[_SQRT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SQRT_P*(x)); }}}} +#define DTRANS(x) { {ops_cnt+=(2*_TRANS_C*(x)); inst_cnt[_TRANS]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_TRANS_P*(x)); }}}} + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt [NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops (void); +void push_wmops (const char *label); +void pop_wmops (void); +void update_wmops (void); +void print_wmops (void); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops(x) (cntr_push_pop++) +#define pop_wmops() (cntr_push_pop--) +#define update_wmops() (assert(cntr_push_pop == 0)) +#define print_wmops() + +#define ADD(x) +#define ABS(x) +#define MULT(x) +#define MAC(x) +#define MOVE(x) +#define STORE(x) +#define LOGIC(x) +#define SHIFT(x) +#define BRANCH(x) +#define DIV(x) +#define SQRT(x) +#define TRANS(x) +#define FUNC(x) +#define LOOP(x) +#define INDIRECT(x) +#define PTR_INIT(x) +#define TEST(x) +#define POWER(x) +#define LOG(x) +#define MISC(x) + +#define DADD(x) +#define DMULT(x) +#define DMAC(x) +#define DMOVE(x) +#define DSTORE(x) +#define DLOGIC(x) +#define DSHIFT(x) +#define DDIV(x) +#define DSQRT(x) +#define DTRANS(x) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac(a, b, c) ((a)+(b)*(c)) +#endif +#ifndef mac +#define msu(a, b, c) ((a)-(b)*(c)) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_(op, n) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_(op, val) (val) +#define OP_COUNT_WRAPPER2_(expr) +#define OP_COUNT_WRAPPER3_(op, expr) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double* ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_(op, x) (*ops_cnt_ptr+=(op##_C*(x)), inst_cnt[op]+=(x)) + +/* #pragma GCC diagnostic is Available from gcc V4.2.4 */ +#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__) >= 40204 +/* Disable Some Warnings with Cygwin gcc Compiler (Only when WMOPS are Activated) */ +/* To Avoid: "warning: suggest parentheses around && within ||" and + "warning: suggest explicit braces to avoid ambiguous else" */ +#pragma GCC diagnostic ignored "-Wparentheses" /* Otherwise use : "-Wno-parentheses" */ +#endif + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_(op, val) (op, val) +#define OP_COUNT_WRAPPER2_(expr) if (expr, 0); else +#define OP_COUNT_WRAPPER3_(op, expr) if ( op , 0); else expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_(x) OP_COUNT_(_ABS, (x)*WMOPS_BOOST_FAC) +#define ADD_(x) OP_COUNT_(_ADD, (x)*WMOPS_BOOST_FAC) +#define MULT_(x) OP_COUNT_(_MULT, (x)*WMOPS_BOOST_FAC) +#define MAC_(x) OP_COUNT_(_MAC, (x)*WMOPS_BOOST_FAC) +#define MOVE_(x) OP_COUNT_(_MOVE, (x)*WMOPS_BOOST_FAC) +#define STORE_(x) OP_COUNT_(_STORE, (x)*WMOPS_BOOST_FAC) +#define LOGIC_(x) OP_COUNT_(_LOGIC, (x)*WMOPS_BOOST_FAC) +#define SHIFT_(x) OP_COUNT_(_SHIFT, (x)*WMOPS_BOOST_FAC) +#define BRANCH_(x) OP_COUNT_(_BRANCH, (x)*WMOPS_BOOST_FAC) +#define DIV_(x) OP_COUNT_(_DIV, (x)*WMOPS_BOOST_FAC) +#define SQRT_(x) OP_COUNT_(_SQRT, (x)*WMOPS_BOOST_FAC) +#define TRANS_(x) OP_COUNT_(_TRANS, (x)*WMOPS_BOOST_FAC) +#define POWER_(x) TRANS_(x) +#define LOG_(x) TRANS_(x) +#define LOOP_(x) OP_COUNT_(_LOOP, (x)*WMOPS_BOOST_FAC) +#define INDIRECT_(x) OP_COUNT_(_INDIRECT, (x)*WMOPS_BOOST_FAC) +#define PTR_INIT_(x) OP_COUNT_(_PTR_INIT, (x)*WMOPS_BOOST_FAC) +#define FUNC_(x) (OP_COUNT_(_MOVE, (x)*WMOPS_BOOST_FAC), OP_COUNT_(_FUNC, 1)) +#define MISC_(x) ABS_(x) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_(1), abs) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_(1), fabs) +#define labs_ OP_COUNT_WRAPPER1_( ABS_(1), labs) +#define floor_ OP_COUNT_WRAPPER1_( MISC_(1), floor) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_(1), sqrt) +#define pow_ OP_COUNT_WRAPPER1_(POWER_(1), pow) +#define exp_ OP_COUNT_WRAPPER1_(POWER_(1), exp) +#define log_ OP_COUNT_WRAPPER1_( LOG_(1), log) +#define log10_ OP_COUNT_WRAPPER1_( LOG_(1), log10) +#define cos_ OP_COUNT_WRAPPER1_(TRANS_(1), cos) +#define sin_ OP_COUNT_WRAPPER1_(TRANS_(1), sin) +#define tan_ OP_COUNT_WRAPPER1_(TRANS_(1), tan) +#define acos_ OP_COUNT_WRAPPER1_(TRANS_(1), acos) +#define asin_ OP_COUNT_WRAPPER1_(TRANS_(1), asin) +#define atan_ OP_COUNT_WRAPPER1_(TRANS_(1), atan) +#define atan2_ OP_COUNT_WRAPPER1_(TRANS_(1), atan2) +#define cosh_ OP_COUNT_WRAPPER1_(TRANS_(1), cosh) +#define sinh_ OP_COUNT_WRAPPER1_(TRANS_(1), sinh) +#define tanh_ OP_COUNT_WRAPPER1_(TRANS_(1), tanh) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_(1), fmod) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), min((a),(b))) +#define max_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), max((a),(b))) +#define MIN_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), MIN((a),(b))) +#define MAX_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), MAX((a),(b))) +#define Min_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), Min((a),(b))) +#define Max_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), Max((a),(b))) +/* Square and its Variants */ +#define sqr_(x) OP_COUNT_WRAPPER1_(MULT_(1), sqr((x))) +#define Sqr_(x) OP_COUNT_WRAPPER1_(MULT_(1), Sqr((x))) +#define SQR_(x) OP_COUNT_WRAPPER1_(MULT_(1), SQR((x))) +#define square_(x) OP_COUNT_WRAPPER1_(MULT_(1),square((x))) +#define Square_(x) OP_COUNT_WRAPPER1_(MULT_(1),Square((x))) +#define SQUARE_(x) OP_COUNT_WRAPPER1_(MULT_(1),SQUARE((x))) +/* Sign and its Variants */ +#define sign_(x) OP_COUNT_WRAPPER1_(MOVE_(1), sign((x))) +#define Sign_(x) OP_COUNT_WRAPPER1_(MOVE_(1), Sign((x))) +#define SIGN_(x) OP_COUNT_WRAPPER1_(MOVE_(1), SIGN((x))) +/* Square Root and its Variants */ +#define sqrtf_(x) OP_COUNT_WRAPPER1_(SQRT_(1), sqrtf((x))) +/* Invert Square Root and its Variants */ +#define inv_sqrt_(x) OP_COUNT_WRAPPER1_(SQRT_(1), inv_sqrt((x))) +/* Others */ +#define log_base_2_(x) OP_COUNT_WRAPPER1_(( LOG_(1),MULT_(1)), log_base_2((x))) +#define log2_f_(x) OP_COUNT_WRAPPER1_(( LOG_(1),MULT_(1)), log2_f((x))) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_(x) OP_COUNT_WRAPPER1_(wmc_flag_=wmc_flag_, _round((x))) +#define round_f_(x) OP_COUNT_WRAPPER1_(wmc_flag_=wmc_flag_, round_f((x))) +#define _squant_(x) OP_COUNT_WRAPPER1_(wmc_flag_=wmc_flag_, _squant((x))) +/* Set Min/Max */ +#define set_min_(a, b) OP_COUNT_WRAPPER3_((ADD_(1),BRANCH_(1),MOVE_(1)), set_min((a),(b))) +#define set_max_(a, b) OP_COUNT_WRAPPER3_((ADD_(1),BRANCH_(1),MOVE_(1)), set_max((a),(b))) +/* mac & msu (Instrumented Versions) */ +#define mac_(a, b, c) OP_COUNT_WRAPPER1_(MAC_(1), mac(a, b, c)) +#define msu_(a, b, c) OP_COUNT_WRAPPER1_(MAC_(1), msu(a, b, c)) + +/* Functions */ +#define func_(name, x) OP_COUNT_WRAPPER1_(FUNC_(x), name) + +/* Logical Operators */ +#ifndef __ +#define __ (BRANCH_(1), 1) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ (BRANCH_(1), 0)?0: +#endif + +/* Flow Control keywords */ +#define if_ OP_COUNT_WRAPPER2_(BRANCH_(1)) if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_(c) while OP_COUNT_WRAPPER1_(BRANCH_(1), (c)) /* needs extra "()" if ',' encountered */ +#define do_ do { +#define _while BRANCH_(1);} while + +#define goto_ OP_COUNT_WRAPPER2_(BRANCH_(1)) goto +#define break_ OP_COUNT_WRAPPER2_(BRANCH_(1)) break +#define continue_ OP_COUNT_WRAPPER2_(BRANCH_(1)) continue +#define return_ OP_COUNT_WRAPPER2_((wmc_flag_=stack_tree_level_, STACK_DEPTH_FCT_RETURN)) return + +#define switch_ OP_COUNT_WRAPPER2_((BRANCH_(1),wmc_flag_=1)) switch +#define cost_(n) OP_COUNT_WRAPPER2_(wmc_flag_?(ADD_(n),BRANCH_(n),wmc_flag_=0):0); + +#ifdef WMOPS + +/* Check if EOF is defined */ +#ifndef EOF +#include <stdio.h> /* required for 'fprintf' */ +#endif + +/* Counter Function (should not be called externally!) */ +static void wops_(const char* ops) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ +#define ACC 2 +#define MUL 1 + void (*fct)(const char* ops) = wops_; +st: while (*ops != '\0') { + switch (*ops++) { + int cnt; + case '-': for (cnt = 0; ops[cnt] == '>'; cnt++); if (cnt & 1) goto ind; + case '+': lm = 2; if (lo & MUL) { MULT_(-1); MAC_(1); break; } + lo = ACC << 2; case 'U': case 'D': ADD_(1); break; + case '*': lm = 2; if (lo & ACC) { ADD_(-1); MAC_(1); break; } + lo = MUL << 2; MULT_(1); break; + case '/': case '%': lm = 2; DIV_(1); break; + case '&': case '|': case '^': lm = 2; case '~': LOGIC_(1); break; + case '<': case '>': if (*ops != ops[-1]) goto error; ops++; + case -85: case -69: lm = 2; SHIFT_(1); break; + case 'L': case 'G': if (*ops == 't') goto comp; + case 'E': case 'N': if (*ops != 'e') goto error; + comp: ops++; ADD_(1); break; + case '!': MISC_(2); break; + case 'M': MOVE_(1); break; + case 'S': STORE_(1); break; + case 'P': PTR_INIT_(1); break; + case '[': case ']': goto st; + ind: ops++; + case 'I': case '.': INDIRECT_(1); break; + case '=': if (lm) goto st; + case '\0': /* This Cannot Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" + with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct(""); + error: default: + /* The Following Checks are made instead of Including the Required Files to + avoid generating warnings if they are already Included in the Source File */ +#ifdef EOF /* Will exist if <stdio.h> is Included */ + fprintf(stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1); +#ifdef EXIT_FAILURE /* Will exist if <stdlib.h> is Included */ + exit(EXIT_FAILURE); +#endif +#endif + return; /* If no Exit Mechanism, just continue */ + } lm >>= 1; lo >>= 2; +} +} + +#endif + +/* All Other Operations */ +#define $(str) OP_COUNT_WRAPPER2_(wops_(str)) + + +/*-------------------------------------------------------------------* + * Memory counting tool + *-------------------------------------------------------------------*/ + +/* Enhanced Const Data Size Counting (Rounding Up to the Nearest 'Integer' Size) */ +#define rsize(item) ((sizeof(item) + sizeof(int) - 1) / sizeof(int) * sizeof(int)) + +#ifdef _MSC_VER +/* Disable "warning C4210: nonstandard extension used : function given file scope" with Visual Studio Compiler */ +#pragma warning(disable: 4210) +#endif + +/* Const Data Size and PROM Size Wrapper Functions */ +#define Const_Data_Size_Func(file) Const_Data_Size_##file(void) +#define Get_Const_Data_Size(file, val_ptr) { extern int Const_Data_Size_##file(void); *(val_ptr) = Const_Data_Size_##file(); } +#define PROM_Size_Func(file) PROM_Size_##file(void) +#define Get_PROM_Size(file, val_ptr) { int PROM_Size_##file(void); *(val_ptr) = PROM_Size_##file(); } + +/* ROM Size Lookup Table - contains information about PROM size and Const Data Size in all source files */ +/* The print_mem() function looks for this table to print the results of Const Data usage and PROM usage */ +typedef struct ROM_Size_Lookup_Table +{ + const char file_spec[255]; + int PROM_size; + int (*Get_Const_Data_Size_Func) (void); +} ROM_Size_Lookup_Table; + +/* The WMC tool inserts the following declaration during the innstrumentation process in the .c file where the function print_mem() is located */ +/* and modifies it to print_mem(Const_Data_PROM_Table) */ + +/* #ifdef WMOPS + * ROM_Size_Lookup_Table Const_Data_PROM_Table[] = + * { + * {"../lib_enc/rom_enc.c", 0, NULL}, + * {"../lib_com/*.c", 0, NULL}, + * {"", -1, NULL} + * }; + * #endif + */ + +/*#define MEM_ALIGN_64BITS */ /* Define this when using 64 Bits values in the code (ex: double), otherwise it will align on 32 Bits */ +/*#define MEM_COUNT_DETAILS*/ + +typedef enum +{ + USE_BYTES = 0, + USE_16BITS = 1, + USE_32BITS = 2 +} Counting_Size; + +#if ( defined( _WIN32 ) && ( _MSC_VER <= 1800 ) && ( _MSC_VER >= 1300 ) ) +#define __func__ __FUNCTION__ +#elif defined( __STDC_VERSION__ ) && __STDC_VERSION__ < 199901L +#if ( __GNUC__ >= 2 ) +#define __func__ __FUNCTION__ +#else +#define __func__ "<unknown>" +#endif +#elif defined( __GNUC__ ) +#define __func__ __extension__ __FUNCTION__ +#endif + + +#ifdef WMOPS + +void* mem_alloc(const char* func_name, int func_lineno, size_t size, char* alloc_str); +void mem_free(const char* func_name, int func_lineno, void* ptr); + +#define malloc_(size) mem_alloc( __func__, __LINE__, size, "m:" #size ) +#define calloc_(n,size) mem_alloc( __func__, __LINE__, ( n ) * ( size ), "c:" #n ", " #size ) +#define free_(ptr) mem_free( __func__, __LINE__, ptr ) + +void reset_mem(Counting_Size cnt_size); +void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]); + +int push_stack(const char* filename, const char* fctname); +int pop_stack(const char* filename, const char* fctname); + +#ifdef WMOPS_DETAIL +#define STACK_DEPTH_FCT_CALL (push_wmops(__FUNCTION__), push_stack(__FILE__,__FUNCTION__)) /* add push_wmops() in all function calls */ +#define STACK_DEPTH_FCT_RETURN (pop_wmops(), pop_stack(__FILE__,__FUNCTION__)) /* add pop_wmops() in all function returns */ +#else +#define STACK_DEPTH_FCT_CALL push_stack(__FILE__,__FUNCTION__) +#define STACK_DEPTH_FCT_RETURN pop_stack(__FILE__,__FUNCTION__) +#endif + +void reset_stack(void); +#define func_start_ int stack_tree_level_=STACK_DEPTH_FCT_CALL; + +#else +#define malloc_(n1) malloc( n1 ) +#define calloc_(n1,n2) calloc( n1, n2 ) +#define free_(ptr) free( ptr ) +#define reset_mem( cnt_size ) +#define print_mem( Const_Data_PROM_Table ) + +#define push_stack(file,fct) +#define pop_stack(file,fct) +#define reset_stack() +#define func_start_ + +#endif + +#endif /* WMOPS_H */ + + + + diff --git a/lib_debug/wmops.c b/lib_debug/wmops.c deleted file mode 100644 index fe75a207ff..0000000000 --- a/lib_debug/wmops.c +++ /dev/null @@ -1,503 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "wmops.h" - - -/*-------------------------------------------------------------------* - * WMOPS counting tool - *--------------------------------------------------------------------*/ - -#ifdef WMOPS - -#define MAX_RECORDS 1024 -#define MAX_CHAR 64 -#define MAX_STACK 64 -#define DOUBLE_MAX 0x80000000; - -struct wmops_record -{ - char label[MAX_CHAR]; - int32_t call_number; - int32_t update_cnt; - int call_tree[MAX_RECORDS]; - double start_selfcnt; - double current_selfcnt; - double max_selfcnt; - double min_selfcnt; - double tot_selfcnt; - double start_cnt; /* The following take into account the decendants */ - double current_cnt; - double max_cnt; - double min_cnt; - double tot_cnt; -#ifdef WMOPS_WC_FRAME_ANALYSIS - int32_t current_call_number; - double wc_cnt; - double wc_selfcnt; - int32_t wc_call_number; -#endif -}; - -double ops_cnt; -double prom_cnt; -double inst_cnt[NUM_INST]; - -int ops_cnt_activ = 1; - -static struct wmops_record wmops[MAX_RECORDS]; -static int stack[MAX_STACK]; -static int sptr; -static int num_records; -static int current_record; -static int32_t update_cnt; -static double start_cnt; -static double max_cnt; -static double min_cnt; -static double inst_cnt_wc[NUM_INST]; -static int32_t fnum_cnt_wc; - - -void reset_wmops( void ) -{ - int i, j; - - for ( i = 0; i < MAX_RECORDS; i++ ) - { - strcpy( &wmops[i].label[0], "\0" ); - wmops[i].call_number = 0; - wmops[i].update_cnt = 0; - for ( j = 0; j < MAX_RECORDS; j++ ) - { - wmops[i].call_tree[j] = -1; - } - wmops[i].start_selfcnt = 0.0; - wmops[i].current_selfcnt = 0.0; - wmops[i].max_selfcnt = 0.0; - wmops[i].min_selfcnt = DOUBLE_MAX; - wmops[i].tot_selfcnt = 0.0; - wmops[i].start_cnt = 0.0; - wmops[i].current_cnt = 0.0; - wmops[i].max_cnt = 0.0; - wmops[i].min_cnt = DOUBLE_MAX; - wmops[i].tot_cnt = 0.0; -#ifdef WMOPS_WC_FRAME_ANALYSIS - wmops[i].wc_cnt = 0.0; - wmops[i].wc_selfcnt = 0.0; - wmops[i].current_call_number = 0; -#endif - } - - for ( i = 0; i < MAX_STACK; i++ ) - { - stack[i] = -1; - } - sptr = 0; - num_records = 0; - current_record = -1; - update_cnt = 0; - - max_cnt = 0.0; - min_cnt = DOUBLE_MAX; - start_cnt = 0.0; - ops_cnt = 0.0; -} - - -void push_wmops( const char *label ) -{ - int new_flag; - int i, j; - - /* Check if new function record label */ - new_flag = 1; - for ( i = 0; i < num_records; i++ ) - { - if ( strcmp( wmops[i].label, label ) == 0 ) - { - new_flag = 0; - break; - } - } - - /* Configure new record */ - if ( new_flag ) - { - if ( num_records >= MAX_RECORDS ) - { - fprintf( stdout, "push_wmops(): exceeded MAX_RECORDS count.\n\n" ); - exit( -1 ); - } - strcpy( wmops[i].label, label ); - num_records++; - } - - /* Push current context onto stack */ - if ( current_record >= 0 ) - { - if ( sptr >= MAX_STACK ) - { - fprintf( stdout, "\r push_wmops(): stack exceeded, try inreasing MAX_STACK\n" ); - exit( -1 ); - } - stack[sptr++] = current_record; - - /* accumulate op counts */ - wmops[current_record].current_selfcnt += ops_cnt - wmops[current_record].start_selfcnt; - - /* update call tree */ - for ( j = 0; j < MAX_RECORDS; j++ ) - { - if ( wmops[i].call_tree[j] == current_record ) - { - break; - } - else if ( wmops[i].call_tree[j] == -1 ) - { - wmops[i].call_tree[j] = current_record; - break; - } - } - } - - /* init current record */ - current_record = i; - wmops[current_record].start_selfcnt = ops_cnt; - wmops[current_record].start_cnt = ops_cnt; - wmops[current_record].call_number++; -#ifdef WMOPS_WC_FRAME_ANALYSIS - wmops[current_record].current_call_number++; -#endif -} - -void wmops_sub_start( const char *label ) -{ -#ifndef WMOPS_DETAIL - push_wmops( label ); -#endif -} - -void pop_wmops( void ) -{ - - /* Check for underflow */ - if ( current_record < 0 ) - { - fprintf( stdout, "\r pop_wmops(): stack underflow, too many calls to pop_wmops()\n" ); - exit( -1 ); - } - - /* update count of current record */ - wmops[current_record].current_selfcnt += ops_cnt - wmops[current_record].start_selfcnt; - wmops[current_record].current_cnt += ops_cnt - wmops[current_record].start_cnt; - - /* Get back previous context from stack */ - if ( sptr > 0 ) - { - current_record = stack[--sptr]; - wmops[current_record].start_selfcnt = ops_cnt; - } - else - { - current_record = -1; - } -} - -void wmops_sub_end( void ) -{ -#ifndef WMOPS_DETAIL - pop_wmops(); -#endif -} - -void update_wmops( void ) -{ - int i; - double current_cnt; - - if ( sptr != 0 ) - { - fprintf( stdout, "update_wmops(): Stack must be empty!\n" ); - exit( -1 ); - } - -#ifdef WMOPS_PER_FRAME /* output complexity in WMOPS per frame - note that "frame" number was already incremented before calling this function */ - { - float tmpF = (float) ( FAC * wmops[0].current_cnt ); - dbgwrite( &tmpF, 4, 1, 1, "res/wmops" ); - } -#endif - -#ifdef WMOPS_WC_FRAME_ANALYSIS - if ( ops_cnt - start_cnt > max_cnt ) - { - for ( i = 0; i < num_records; i++ ) - { - wmops[i].wc_cnt = wmops[i].current_cnt; - wmops[i].wc_selfcnt = wmops[i].current_selfcnt; - wmops[i].wc_call_number = wmops[i].current_call_number; - } - } -#endif - - for ( i = 0; i < num_records; i++ ) - { - wmops[i].tot_selfcnt += wmops[i].current_selfcnt; - wmops[i].tot_cnt += wmops[i].current_cnt; - - if ( wmops[i].current_selfcnt > 0 ) - { - if ( wmops[i].current_selfcnt > wmops[i].max_selfcnt ) - { - wmops[i].max_selfcnt = wmops[i].current_selfcnt; - } - - if ( wmops[i].current_selfcnt < wmops[i].min_selfcnt ) - { - wmops[i].min_selfcnt = wmops[i].current_selfcnt; - } - } - - wmops[i].current_selfcnt = 0; - - if ( wmops[i].current_cnt > 0 ) - { - if ( wmops[i].current_cnt > wmops[i].max_cnt ) - { - wmops[i].max_cnt = wmops[i].current_cnt; - } - - if ( wmops[i].current_cnt < wmops[i].min_cnt ) - { - wmops[i].min_cnt = wmops[i].current_cnt; - } - - wmops[i].update_cnt++; - } - - wmops[i].current_cnt = 0; -#ifdef WMOPS_WC_FRAME_ANALYSIS - wmops[i].current_call_number = 0; -#endif - } - - current_cnt = ops_cnt - start_cnt; - if ( current_cnt > max_cnt ) - { - max_cnt = current_cnt; - - for ( i = 0; i < NUM_INST; i++ ) - { - inst_cnt_wc[i] = inst_cnt[i]; - } - - fnum_cnt_wc = update_cnt; - } - - if ( current_cnt < min_cnt ) - { - min_cnt = current_cnt; - } - - for ( i = 0; i < NUM_INST; i++ ) - { - inst_cnt[i] = 0.0; - } - - - start_cnt = ops_cnt; - update_cnt++; -} - - -void print_wmops( void ) -{ - int i, label_len, max_label_len; - - char *sfmts = "%*s %8s %8s %7s %7s\n"; - char *dfmts = "%*s %8.2f %8.3f %7.3f %7.3f\n"; - char *sfmt = "%*s %8s %8s %7s %7s %7s %7s %7s\n"; - char *dfmt = "%*s %8.2f %8.3f %7.3f %7.3f %7.3f %7.3f %7.3f\n"; - -#if ENABLE_TREE - int j; - char *sfmtt = "%20s %4s %15s\n"; - char *dfmtt = "%20s %4d "; -#endif - - /* fprintf( stdout, "\nProgram Memory Analysis: %12.0f words\n", prom_cnt ); */ - /* fprintf (stdout, "\nInstruction Type Analysis (for worst case frame):\n\n"); */ - fprintf( stdout, "\nInstruction Type Analysis (for worst case frame number %d):\n\n", fnum_cnt_wc ); /* added -- JPA */ - for ( i = 0; i < NUM_INST; i++ ) - { - switch ( (enum instructions) i ) - { - case _ADD: - fprintf( stdout, "\tAdds: %12.1f\n", inst_cnt_wc[i] ); - break; - case _ABS: - fprintf( stdout, "\tAbsolutes: %12.1f\n", inst_cnt_wc[i] ); - break; - case _MULT: - fprintf( stdout, "\tMultiplies: %12.1f\n", inst_cnt_wc[i] ); - break; - case _MAC: - fprintf( stdout, "\tMACs: %12.1f\n", inst_cnt_wc[i] ); - break; - case _MOVE: - fprintf( stdout, "\tMoves: %12.1f\n", inst_cnt_wc[i] ); - break; - case _STORE: - fprintf( stdout, "\tStores: %12.1f\n", inst_cnt_wc[i] ); - break; - case _LOGIC: - fprintf( stdout, "\tLogicals: %12.1f\n", inst_cnt_wc[i] ); - break; - case _SHIFT: - fprintf( stdout, "\tShifts: %12.1f\n", inst_cnt_wc[i] ); - break; - case _BRANCH: - fprintf( stdout, "\tBranches: %12.1f\n", inst_cnt_wc[i] ); - break; - case _DIV: - fprintf( stdout, "\tDivisions: %12.1f\n", inst_cnt_wc[i] ); - break; - case _SQRT: - fprintf( stdout, "\tSquare Root: %12.1f\n", inst_cnt_wc[i] ); - break; - case _TRANS: - fprintf( stdout, "\tTrans: %12.1f\n", inst_cnt_wc[i] ); - break; - case _FUNC: - fprintf( stdout, "\tFunc Call: %12.1f\n", inst_cnt_wc[i] ); - break; - case _LOOP: - fprintf( stdout, "\tLoop Init: %12.1f\n", inst_cnt_wc[i] ); - break; - case _INDIRECT: - fprintf( stdout, "\tIndirect Addr: %12.1f\n", inst_cnt_wc[i] ); - break; - case _PTR_INIT: - fprintf( stdout, "\tPointer Init: %12.1f\n", inst_cnt_wc[i] ); - break; - case _TEST: - fprintf( stdout, "\tExtra condit.: %12.1f\n", inst_cnt_wc[i] ); - break; - case _POWER: - fprintf( stdout, "\tExponential: %12.1f\n", inst_cnt_wc[i] ); - break; - case _LOG: - fprintf( stdout, "\tLogarithm: %12.1f\n", inst_cnt_wc[i] ); - break; - case _MISC: - fprintf( stdout, "\tAll other op.: %12.1f\n", inst_cnt_wc[i] ); - break; - default: - fprintf( stdout, "\tERROR: Invalid instruction type: %d\n\n", i ); - } - } - - max_label_len = 0; - for ( i = 0; i < num_records; i++ ) - { - label_len = strlen( wmops[i].label ); - if ( label_len > max_label_len ) - { - max_label_len = label_len; - } - } - max_label_len += 4; - -#ifdef WMOPS_WC_FRAME_ANALYSIS - fprintf( stdout, "\n\nWeighted MOPS Analysis for worst case frame number %d ( WMOPS boost factor %4.2f ):\n", fnum_cnt_wc, WMOPS_BOOST_FAC ); - fprintf( stdout, "%*s %8s %10s %12s\n", max_label_len, " routine", " calls", " SELF", " CUMULATIVE" ); - fprintf( stdout, "%*s %8s %10s %10s\n", max_label_len, "---------------", "------", "------", "----------" ); - - for ( i = 0; i < num_records; i++ ) - { - fprintf( stdout, "%*s %8d %10.3f %12.3f\n", max_label_len, wmops[i].label, wmops[i].wc_call_number, FAC * wmops[i].wc_selfcnt, FAC * wmops[i].wc_cnt ); - } - -#endif - - fprintf( stdout, "\n\nWeighted MOPS Analysis ( WMOPS boost factor %4.2f ):\n", WMOPS_BOOST_FAC ); - fprintf( stdout, "%*s %34s %23s\n", max_label_len, "", "|------ SELF ------|", "|--- CUMULATIVE ---|" ); - fprintf( stdout, sfmt, max_label_len, " routine", " calls", " min ", " max ", " avg ", " min ", " max ", " avg " ); - fprintf( stdout, sfmt, max_label_len, "---------------", "------", "------", "------", "------", "------", "------", "------" ); - for ( i = 0; i < num_records; i++ ) - { - fprintf( stdout, dfmt, max_label_len, wmops[i].label, - update_cnt == 0 ? 0.0f : (float) wmops[i].call_number / update_cnt, - wmops[i].update_cnt == 0 ? 0.0f : FAC * wmops[i].min_selfcnt, FAC * wmops[i].max_selfcnt, - wmops[i].update_cnt == 0 ? 0.0f : FAC * wmops[i].tot_selfcnt / wmops[i].update_cnt, - wmops[i].update_cnt == 0 ? 0.0f : FAC * wmops[i].min_cnt, FAC * wmops[i].max_cnt, - wmops[i].update_cnt == 0 ? 0.0f : FAC * wmops[i].tot_cnt / wmops[i].update_cnt ); - } - fprintf( stdout, sfmts, max_label_len, "---------------", "------", "------", "------", "------" ); - fprintf( stdout, dfmts, max_label_len, "total", (float) update_cnt, FAC * min_cnt, FAC * max_cnt, FAC * ops_cnt / update_cnt ); - fprintf( stdout, "\n" ); - -#if ENABLE_TREE - - fprintf( stdout, "\nCall Tree:\n\n" ); - fprintf( stdout, sfmtt, " function", "num", "called by: " ); - fprintf( stdout, sfmtt, "---------------", "---", "--------------" ); - - for ( i = 0; i < num_records; i++ ) - { - fprintf( stdout, dfmtt, wmops[i].label, i ); - for ( j = 0; wmops[i].call_tree[j] != -1; j++ ) - { - if ( j != 0 ) - { - fprintf( stdout, ", " ); - } - fprintf( stdout, "%d", wmops[i].call_tree[j] ); - } - fprintf( stdout, "\n" ); - } - - fprintf( stdout, sfmtt, "---------------", "---", "--------------" ); - fprintf( stdout, "\n\n" ); - -#endif -} - -#endif /* WMOPS */ diff --git a/lib_debug/wmops.h b/lib_debug/wmops.h deleted file mode 100644 index f18c990ed5..0000000000 --- a/lib_debug/wmops.h +++ /dev/null @@ -1,777 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef WMOPS_H -#define WMOPS_H - -#include <stdint.h> -#include "options.h" - - -/*------------------------------------------------------------------------------------------* - * Memory calculation tool - *------------------------------------------------------------------------------------------*/ - -#ifdef WMOPS - -#ifdef _MSC_VER -#pragma warning( disable : 4033 ) -#pragma warning( disable : 4702 ) -#pragma warning( disable : 4709 ) -#endif - -extern int Const_Data_Size_rom_enc( void ); -extern int Const_Data_Size_rom_com( void ); -extern int Const_Data_Size_rom_dec( void ); -extern int Const_Data_Size_ivas_rom_enc( void ); -extern int Const_Data_Size_ivas_rom_com( void ); -extern int Const_Data_Size_ivas_rom_dec( void ); -extern int Const_Data_Size_ivas_spar_rom_com( void ); -extern int Const_Data_Size_ivas_rom_binauralRen( void ); -extern int Const_Data_Size_ivas_rom_TdBinauralR( void ); -extern int Const_Data_Size_ivas_rom_binaural_cr( void ); - -int push_stack( const char *filename, const char *fctname ); -int pop_stack( const char *filename, const char *fctname ); -void reset_stack( void ); -void print_stack_call_tree( void ); - -#else - -#define push_stack( file, fct ) -#define pop_stack( file, fct ) -#define reset_stack() -#define print_mem_enc( x ) -#define print_mem_dec( x ) -#define print_stack_call_tree() - -#endif - -/******************************************************************************************/ - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 - -#define WMC_AUTO_WEIGHTING_FACT 0.91f /* constant to equalize difference between automatic and manual instrumentation */ -#define WMOPS_BOOST_FAC ( 1.0f / WMC_AUTO_WEIGHTING_FACT ) /* complexity scaling factor for manually instrumented code */ - -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) - -/******************************************************************************************/ - - -#define FLC_MSU( c ) MAC( c ) /* multiply and subtract is currently seen as MAC operation */ -#define FLC_MAX( c ) MISC( c ) /* max() is seen as MISC like abs() */ -#define FLC_MIN( c ) MISC( c ) /* min() is seen as MISC like abs() */ -#define FLC_NEG( c ) ADD( c ) /* negation is seen as addion: a = 0 - a */ -#define FLC_CAST( c ) /* type conversion is costfree for the moment, but who knows it for the future ? */ -#define FLC_INLINE_FUNC( c ) /* inline function calls are costfree, parameters/retval are currently not counted */ - /* example: FLC_INLINE_FUNC(3); SET_FLOAT(ptr,value,num); */ -#define FLC_ATAN2( c ) \ - DIV( c ); \ - TRANS( c ) /* atan2 is curently seen as division followed by atan */ - -/* inline function for memset in combination with float pointer */ -#define SET_FLOAT( ptr, value, num ) \ - { \ - int i; \ - LOOP( 1 ); \ - MOVE( num ); \ - for ( i = 0; i < num; i++ ) \ - { \ - ptr[i] = value; \ - } \ - } - -/* inline function for memset in combination with integer */ -#define SET_INT( ptr, value, num ) \ - { \ - int i; \ - LOOP( 1 ); \ - MOVE( num ); \ - for ( i = 0; i < num; i++ ) \ - { \ - ptr[i] = value; \ - } \ - } - -#ifdef WMOPS -#ifndef WMOPS_DETAIL -#define STACK_DEPTH_FCT_CALL push_stack( __FILE__, __func__ ) /* Define stack counting function for WMC Tool */ - -#define STACK_DEPTH_FCT_RETURN pop_stack( __FILE__, __func__ ) /* Define stack counting function for WMC Tool */ -#else -#define STACK_DEPTH_FCT_CALL ( push_wmops( __func__ ), push_stack( __FILE__, __func__ ) ) /* Define stack counting function for WMC Tool */ - -#define STACK_DEPTH_FCT_RETURN ( pop_wmops(), pop_stack( __FILE__, __func__ ) ) /* Define stack counting function for WMC Tool */ -#endif - -#define ENABLE_WMOPS 1 /* Only for the WMC_Tool */ -#define ENABLE_TREE 0 /* Call tree may be activated by setting this flag to 1 */ -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - -#define FLC_OPS_COND if ( ops_cnt_activ > 0 ) - -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; -enum flc_fields -{ - FLC_NOP = 0, - FLC_ADD, - FLC_MULT, - FLC_MAC, - FLC_MOVE, - FLC_STORE, - FLC_LOGIC, - FLC_SHIFT, - FLC_BRANCH, - FLC_DIV, - FLC_SQRT, - FLC_TRANS, - FLC_FUNC, - FLC_LOOP, - FLC_INDIRECT, - FLC_PTR_INIT, - FLC_MISC, - FLC_TEST, - FLC_POWER, - FLC_LOG, - FLC_OPEND -}; - - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - FLC_OPS_COND \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void wmops_sub_start( const char *label ); -void wmops_sub_end( void ); -void update_wmops( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -#define push_wmops( x ) -#define pop_wmops() -#define wmops_sub_start( x ) -#define wmops_sub_end() -#define update_wmops() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -#endif -- GitLab From f27466252aaf0626afac9cdf56fb8a1876b08d55 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 09:48:35 +0100 Subject: [PATCH 117/620] Added new binaries for Win32 and Linux --- scripts/tools/Linux/wmc_tool | Bin 0 -> 216328 bytes scripts/tools/Win32/wmc_tool.exe | 3 +++ scripts/wmc_tool.exe | 3 --- 3 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 scripts/tools/Linux/wmc_tool create mode 100644 scripts/tools/Win32/wmc_tool.exe delete mode 100644 scripts/wmc_tool.exe diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool new file mode 100644 index 0000000000000000000000000000000000000000..90517ea310d32c8c5421759cda3e32f53216069c GIT binary patch literal 216328 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Ó)r03epU;6TM3Fl8Ltu>J><R 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πqkyzR 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 literal 0 HcmV?d00001 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe new file mode 100644 index 0000000000..9568101299 --- /dev/null +++ b/scripts/tools/Win32/wmc_tool.exe @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7694acbdd63f95acdccd908d493d93d6121d2fdec7b29fd21f030b5a6906359 +size 309760 diff --git a/scripts/wmc_tool.exe b/scripts/wmc_tool.exe deleted file mode 100644 index 5524302886..0000000000 --- a/scripts/wmc_tool.exe +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b213d20b8edf59a094f0d9d4dd2624d4bf9944d1cf7f9732b302c580b790bed1 -size 207360 -- GitLab From e8b27323d57241e73eba12898b23e41bc637870f Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 09:52:17 +0100 Subject: [PATCH 118/620] Replaced wmops_sub_start() with push_wmops() --- lib_dec/acelp_core_dec.c | 6 +-- lib_dec/dec_acelp_tcx_main.c | 4 +- lib_dec/evs_dec.c | 8 +-- lib_dec/fd_cng_dec.c | 8 +-- lib_dec/hq_core_dec.c | 4 +- lib_dec/ivas_core_dec.c | 6 +-- lib_dec/ivas_cpe_dec.c | 6 +-- lib_dec/ivas_dec.c | 4 +- lib_dec/ivas_dirac_dec.c | 4 +- lib_dec/ivas_dirac_decorr_dec.c | 4 +- lib_dec/ivas_dirac_output_synthesis_cov.c | 12 ++--- lib_dec/ivas_dirac_output_synthesis_dec.c | 8 +-- lib_dec/ivas_ism_metadata_dec.c | 6 +-- lib_dec/ivas_ism_param_dec.c | 8 +-- lib_dec/ivas_mc_param_dec.c | 8 +-- lib_dec/ivas_mct_core_dec.c | 4 +- lib_dec/ivas_mct_dec.c | 4 +- lib_dec/ivas_mdct_core_dec.c | 4 +- lib_dec/ivas_out_setup_conversion.c | 12 ++--- lib_dec/ivas_sce_dec.c | 4 +- lib_dec/ivas_spar_decoder.c | 12 ++--- lib_dec/ivas_stereo_cng_dec.c | 4 +- lib_dec/ivas_stereo_dft_dec.c | 18 +++---- lib_dec/ivas_stereo_mdct_core_dec.c | 4 +- lib_dec/ivas_svd_dec.c | 4 +- lib_dec/ivas_tcx_core_dec.c | 4 +- lib_dec/ivas_vbap.c | 10 ++-- lib_dec/tonalMDCTconcealment.c | 14 ++--- lib_enc/acelp_core_enc.c | 4 +- lib_enc/enc_acelp_tcx_main.c | 4 +- lib_enc/evs_enc.c | 8 +-- lib_enc/hq_core_enc.c | 4 +- lib_enc/ivas_core_enc.c | 4 +- lib_enc/ivas_core_pre_proc.c | 4 +- lib_enc/ivas_core_pre_proc_front.c | 4 +- lib_enc/ivas_cpe_enc.c | 4 +- lib_enc/ivas_dirac_enc.c | 8 +-- lib_enc/ivas_enc.c | 4 +- lib_enc/ivas_front_vad.c | 8 +-- lib_enc/ivas_ism_enc.c | 4 +- lib_enc/ivas_ism_metadata_enc.c | 6 +-- lib_enc/ivas_ism_param_enc.c | 8 +-- lib_enc/ivas_mc_param_enc.c | 22 ++++---- lib_enc/ivas_mct_core_enc.c | 4 +- lib_enc/ivas_mct_enc.c | 4 +- lib_enc/ivas_mct_enc_mct.c | 4 +- lib_enc/ivas_mdct_core_enc.c | 8 +-- lib_enc/ivas_sce_enc.c | 4 +- lib_enc/ivas_spar_encoder.c | 4 +- lib_enc/ivas_stereo_dft_enc.c | 22 ++++---- lib_enc/ivas_stereo_mdct_core_enc.c | 4 +- lib_enc/ivas_stereo_mdct_stereo_enc.c | 8 +-- lib_enc/ivas_tcx_core_enc.c | 4 +- lib_enc/pre_proc.c | 4 +- lib_rend/ivas_binauralRenderer.c | 4 +- lib_rend/ivas_crend.c | 8 +-- lib_rend/ivas_objectRenderer.c | 4 +- lib_rend/ivas_rotation.c | 12 ++--- lib_rend/ivas_sba_rendering.c | 12 ++--- lib_rend/lib_rend.c | 64 +++++++++++------------ 60 files changed, 232 insertions(+), 232 deletions(-) diff --git a/lib_dec/acelp_core_dec.c b/lib_dec/acelp_core_dec.c index 4c52cdb811..54e062332f 100644 --- a/lib_dec/acelp_core_dec.c +++ b/lib_dec/acelp_core_dec.c @@ -131,7 +131,7 @@ ivas_error acelp_core_dec( return error; } - wmops_sub_start( "acelp_core_dec" ); + push_wmops( "acelp_core_dec" ); output_frame = (int16_t) ( st->output_Fs / FRAMES_PER_SEC ); @@ -179,7 +179,7 @@ ivas_error acelp_core_dec( set_f( synth, 0, output_frame ); /* They are however read in a few places which causes errors in the valgrind tests. Simplest solution from a code perspective was to set them to zero. */ /* CN generation done in DFT domain */ - wmops_sub_end(); + pop_wmops(); return error; } @@ -1432,6 +1432,6 @@ ivas_error acelp_core_dec( st->hTdCngDec->ho_16k_lsp[st->hTdCngDec->ho_circ_ptr] = ( st->L_frame == L_FRAME ? 0 : 1 ); } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/dec_acelp_tcx_main.c b/lib_dec/dec_acelp_tcx_main.c index b9d3481579..31064aa7c7 100644 --- a/lib_dec/dec_acelp_tcx_main.c +++ b/lib_dec/dec_acelp_tcx_main.c @@ -295,7 +295,7 @@ void dec_acelp_tcx_frame( float old_bwe_exc[( PIT16k_MAX + ( L_FRAME16k + 1 ) + L_SUBFR16k ) * 2]; /* excitation buffer */ float *ptr_bwe_exc; /* pointer to BWE excitation signal in the current frame */ - wmops_sub_start( "dec_acelp_tcx_frame" ); + push_wmops( "dec_acelp_tcx_frame" ); start_bit_pos = st->next_bit_pos; if ( st->rf_flag == 1 ) @@ -479,6 +479,6 @@ void dec_acelp_tcx_frame( st->last_coder_type = INACTIVE; } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/evs_dec.c b/lib_dec/evs_dec.c index 299e6a31ce..c55c5b4721 100644 --- a/lib_dec/evs_dec.c +++ b/lib_dec/evs_dec.c @@ -86,7 +86,7 @@ ivas_error evs_dec( error = IVAS_ERR_OK; - wmops_sub_start( "evs_dec" ); + push_wmops( "evs_dec" ); /*------------------------------------------------------------------* * Initialization *-----------------------------------------------------------------*/ @@ -285,7 +285,7 @@ ivas_error evs_dec( /*---------------------------------------------------------------------* * Pre-processing for bandwidth switching *---------------------------------------------------------------------*/ - wmops_sub_start( "BWE_decoding" ); + push_wmops( "BWE_decoding" ); bw_switching_pre_proc( st, old_syn_12k8_16k, -1, 1 ); @@ -356,7 +356,7 @@ ivas_error evs_dec( swb_CNG_dec( st, synth, hb_synth, sid_bw ); } - wmops_sub_end(); + pop_wmops(); /*----------------------------------------------------------------* * Delay ACELP core synthesis to be synchronized with the components of bandwidth extension layers @@ -975,6 +975,6 @@ ivas_error evs_dec( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/fd_cng_dec.c b/lib_dec/fd_cng_dec.c index c1ddeeb79f..c9b8e9edd4 100644 --- a/lib_dec/fd_cng_dec.c +++ b/lib_dec/fd_cng_dec.c @@ -385,7 +385,7 @@ void ApplyFdCng( int16_t L_frame, last_L_frame; int32_t sr_core; - wmops_sub_start( "ApplyFdCng" ); + push_wmops( "ApplyFdCng" ); /* limit L_frame and core Fs values for MDCT-Stereo modes which can have higher core sampling than 16kHz, but use a downsampled buffer */ L_frame = min( st->L_frame, L_FRAME16k ); @@ -608,7 +608,7 @@ void ApplyFdCng( break; } - wmops_sub_end(); + pop_wmops(); return; } @@ -1771,7 +1771,7 @@ void generate_masking_noise_dirac( int16_t *seed = &( hFdCngCom->seed ); float scale; - wmops_sub_start( "fd_cng_dirac" ); + push_wmops( "fd_cng_dirac" ); /* Init */ scale = 0.f; @@ -1930,7 +1930,7 @@ void generate_masking_noise_dirac( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/hq_core_dec.c b/lib_dec/hq_core_dec.c index 547354eddc..431a30de01 100644 --- a/lib_dec/hq_core_dec.c +++ b/lib_dec/hq_core_dec.c @@ -87,7 +87,7 @@ void hq_core_dec( int16_t mdctWindowLength; int16_t mdctWindowLengthFB; - wmops_sub_start( "hq_core_dec" ); + push_wmops( "hq_core_dec" ); /*-------------------------------------------------------------------------- * Initializations *--------------------------------------------------------------------------*/ @@ -495,7 +495,7 @@ void hq_core_dec( mvr2r( output, st->old_exc + L_EXC_MEM_DEC - st->L_frame, st->L_frame ); } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 1d98e39e2b..23f3a049f9 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -97,7 +97,7 @@ ivas_error ivas_core_dec( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_core_dec" ); + push_wmops( "ivas_core_dec" ); /*------------------------------------------------------------------* * General initialization @@ -408,7 +408,7 @@ ivas_error ivas_core_dec( { if ( hMCT ) { - wmops_sub_end(); + pop_wmops(); return error; } @@ -757,7 +757,7 @@ ivas_error ivas_core_dec( output_debug_mode_info_dec( sts, n_channels, output_frame, pitch_buf ); #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index 12b8fcb899..3a2a005fb6 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -80,7 +80,7 @@ ivas_error ivas_cpe_dec( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_cpe_dec" ); + push_wmops( "ivas_cpe_dec" ); ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; @@ -369,7 +369,7 @@ ivas_error ivas_cpe_dec( if ( st_ivas->hMCT ) { - wmops_sub_end(); + pop_wmops(); return error; } @@ -521,7 +521,7 @@ ivas_error ivas_cpe_dec( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 5d3a5a10f9..407fb01dfc 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -67,7 +67,7 @@ ivas_error ivas_dec( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_dec" ); + push_wmops( "ivas_dec" ); /*----------------------------------------------------------------* * IVAS decoder setup @@ -584,6 +584,6 @@ ivas_error ivas_dec( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index d7feb33256..98a4fb1f18 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -1787,7 +1787,7 @@ void ivas_dirac_dec( float *reference_power, *reference_power_smooth; float *onset_filter, *onset_filter_subframe, *p_onset_filter = NULL; uint16_t coherence_flag; - wmops_sub_start( "ivas_dirac_dec" ); + push_wmops( "ivas_dirac_dec" ); /* Initialize aux buffers */ hDirAC = st_ivas->hDirAC; @@ -2459,7 +2459,7 @@ void ivas_dirac_dec( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_dirac_decorr_dec.c b/lib_dec/ivas_dirac_decorr_dec.c index 437bdf8a64..2a02737336 100644 --- a/lib_dec/ivas_dirac_decorr_dec.c +++ b/lib_dec/ivas_dirac_decorr_dec.c @@ -315,7 +315,7 @@ void ivas_dirac_dec_decorr_process( float *filter_coeff_num_real, *filter_coeff_den_real, *decorr_buffer_start_ptr, *decorr_buffer_ptr; float input_real, input_imag, filter_frame_imag, filter_frame_real; - wmops_sub_start( "dirac_decorr_process" ); + push_wmops( "dirac_decorr_process" ); /* check handles */ if ( h_freq_domain_decorr_ap_params == NULL || h_freq_domain_decorr_ap_state == NULL ) @@ -571,7 +571,7 @@ void ivas_dirac_dec_decorr_process( } /*end of decorrelator*/ - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_dirac_output_synthesis_cov.c b/lib_dec/ivas_dirac_output_synthesis_cov.c index decca34452..d88108dc25 100644 --- a/lib_dec/ivas_dirac_output_synthesis_cov.c +++ b/lib_dec/ivas_dirac_output_synthesis_cov.c @@ -452,7 +452,7 @@ int16_t computeMixingMatrices( float mat_mult_buffer2[MAX_OUTPUT_CHANNELS * MAX_OUTPUT_CHANNELS]; float mat_mult_buffer3[MAX_OUTPUT_CHANNELS * MAX_OUTPUT_CHANNELS]; - wmops_sub_start( "dirac_cov_mix_mat" ); + push_wmops( "dirac_cov_mix_mat" ); set_zero( svd_s_buffer, MAX_OUTPUT_CHANNELS ); for ( i = 0; i < MAX_OUTPUT_CHANNELS; i++ ) @@ -665,7 +665,7 @@ int16_t computeMixingMatrices( mvr2r( mat_mult_buffer3, mixing_matrix, lengthCy * lengthCx ); } - wmops_sub_end(); + pop_wmops(); return out; } @@ -706,7 +706,7 @@ int16_t computeMixingMatricesResidual( float mat_mult_buffer2[MAX_OUTPUT_CHANNELS * MAX_OUTPUT_CHANNELS]; float mat_mult_buffer3[MAX_OUTPUT_CHANNELS * MAX_OUTPUT_CHANNELS]; - wmops_sub_start( "dirac_cov_mix_mat_r" ); + push_wmops( "dirac_cov_mix_mat_r" ); /*-----------------------------------------------------------------* * Decomposition of Cy @@ -864,7 +864,7 @@ int16_t computeMixingMatricesResidual( mvr2r( mat_mult_buffer3, mixing_matrix, lengthCy * lengthCx ); - wmops_sub_end(); + pop_wmops(); return out; } @@ -910,7 +910,7 @@ int16_t computeMixingMatricesISM( float mat_mult_buffer3[MAX_OUTPUT_CHANNELS * MAX_OUTPUT_CHANNELS]; int16_t nL, nC; - wmops_sub_start( "dirac_cov_mix_mat" ); + push_wmops( "dirac_cov_mix_mat" ); out = EXIT_SUCCESS; lengthCx = num_inputs; @@ -1047,7 +1047,7 @@ int16_t computeMixingMatricesISM( mvr2r( mat_mult_buffer3, mixing_matrix, lengthCy * lengthCx ); } - wmops_sub_end(); + pop_wmops(); return out; } diff --git a/lib_dec/ivas_dirac_output_synthesis_dec.c b/lib_dec/ivas_dirac_output_synthesis_dec.c index 79c04f824b..c73c1375f4 100644 --- a/lib_dec/ivas_dirac_output_synthesis_dec.c +++ b/lib_dec/ivas_dirac_output_synthesis_dec.c @@ -945,7 +945,7 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls( int16_t alphaMaxBin; int16_t alphaMaxBinFast; - wmops_sub_start( "dirac_out_synth_sfr" ); + push_wmops( "dirac_out_synth_sfr" ); h_dirac_output_synthesis_params = &( hDirAC->h_output_synthesis_psd_params ); h_dirac_output_synthesis_state = &( hDirAC->h_output_synthesis_psd_state ); @@ -1248,7 +1248,7 @@ void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls( set_zero( h_dirac_output_synthesis_state->cy_cross_dir_smooth, num_freq_bands * nchan_out_woLFE ); set_zero( h_dirac_output_synthesis_state->cy_auto_diff_smooth, num_freq_bands * nchan_out_woLFE ); - wmops_sub_end(); + pop_wmops(); return; } @@ -1277,7 +1277,7 @@ static void ivas_dirac_dec_get_response_split_order( float dv_0, dv_1, dv_2, dv_r_0, dv_r_1, dv_r_2; float w; - wmops_sub_start( "ivas_dirac_dec_get_response_split_order" ); + push_wmops( "ivas_dirac_dec_get_response_split_order" ); index_azimuth = ( azimuth + 180 ) % 360; index_elevation = elevation + 90; @@ -1411,7 +1411,7 @@ static void ivas_dirac_dec_get_response_split_order( response[b] = c; } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_ism_metadata_dec.c b/lib_dec/ivas_ism_metadata_dec.c index 6b9f8ec8ba..1ce0a03aa0 100644 --- a/lib_dec/ivas_ism_metadata_dec.c +++ b/lib_dec/ivas_ism_metadata_dec.c @@ -76,7 +76,7 @@ ivas_error ivas_ism_metadata_dec( error = IVAS_ERR_OK; - wmops_sub_start( "ism_meta_dec" ); + push_wmops( "ism_meta_dec" ); if ( ism_total_brate == IVAS_SID_5k2 || ism_total_brate == FRAME_NO_DATA ) { @@ -97,7 +97,7 @@ ivas_error ivas_ism_metadata_dec( } #endif - wmops_sub_end(); + pop_wmops(); return error; } @@ -499,7 +499,7 @@ ivas_error ivas_ism_metadata_dec( hSCE[ch]->hCoreCoder[0]->bit_stream = hSCE[ch - 1]->hCoreCoder[0]->bit_stream + ( hSCE[ch - 1]->hCoreCoder[0]->total_brate / FRAMES_PER_SEC ); } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 8ebf27afb5..7baeda81ee 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -398,7 +398,7 @@ ivas_error ivas_param_ism_dec_open( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_param_ism_dec_open" ); + push_wmops( "ivas_param_ism_dec_open" ); /*-----------------------------------------------------------------* * prepare library opening @@ -534,7 +534,7 @@ ivas_error ivas_param_ism_dec_open( st_ivas->hDirAC = hDirAC; - wmops_sub_end(); + pop_wmops(); return error; } @@ -764,7 +764,7 @@ void ivas_param_ism_dec( hSetup = st_ivas->hIntSetup; - wmops_sub_start( "ivas_param_ism_dec" ); + push_wmops( "ivas_param_ism_dec" ); /* Frame-level Processing */ /* De-quantization */ @@ -915,7 +915,7 @@ void ivas_param_ism_dec( st_ivas->hIsmMetaData[ch]->elevation = st_ivas->hDirAC->elevation_values[ch]; } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 29e2ce4002..e9eeaad813 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -599,7 +599,7 @@ void ivas_param_mc_dec_read_BS( int16_t ild_map_size_wo_lfe; HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC; - wmops_sub_start( "param_mc_read_bs" ); + push_wmops( "param_mc_read_bs" ); /* Inits */ *nb_bits = 0; @@ -771,7 +771,7 @@ void ivas_param_mc_dec_read_BS( hMetadataPMC->attackIndex = 0; } - wmops_sub_end(); + pop_wmops(); return; } @@ -817,7 +817,7 @@ void ivas_param_mc_dec( hParamMC = st_ivas->hParamMC; assert( hParamMC ); - wmops_sub_start( "param_mc_dec" ); + push_wmops( "param_mc_dec" ); set_s( channel_active, 0, MAX_CICP_CHANNELS ); nchan_transport = st_ivas->nchan_transport; @@ -1101,7 +1101,7 @@ void ivas_param_mc_dec( /* update */ hParamMC->hMetadataPMC->last_coded_bwidth = hParamMC->hMetadataPMC->coded_bwidth; param_mc_update_mixing_matrices( hParamMC, mixing_matrix, mixing_matrix_res, nchan_transport, nchan_out_cov ); - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_mct_core_dec.c b/lib_dec/ivas_mct_core_dec.c index d7459efabd..4ce7d2e82e 100644 --- a/lib_dec/ivas_mct_core_dec.c +++ b/lib_dec/ivas_mct_core_dec.c @@ -183,7 +183,7 @@ void ivas_mct_core_dec( float nrg[MCT_MAX_CHANNELS]; #endif - wmops_sub_start( "mct_decoding" ); + push_wmops( "mct_decoding" ); /*--------------------------------------------------------------------------------* * Initializations @@ -269,7 +269,7 @@ void ivas_mct_core_dec( apply_MCT_dec( hMCT, sts, x ); } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index b4a4da3e3c..86c1e4abe8 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -79,7 +79,7 @@ ivas_error ivas_mct_dec( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_mct_dec" ); + push_wmops( "ivas_mct_dec" ); nCPE = st_ivas->nCPE; hMCT = st_ivas->hMCT; @@ -263,7 +263,7 @@ ivas_error ivas_mct_dec( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/ivas_mdct_core_dec.c b/lib_dec/ivas_mdct_core_dec.c index 3e186d61b8..2dd875bdbf 100644 --- a/lib_dec/ivas_mdct_core_dec.c +++ b/lib_dec/ivas_mdct_core_dec.c @@ -474,7 +474,7 @@ void ivas_mdct_core_invQ( float concealment_noise[CPE_CHANNELS][L_FRAME48k]; TONALMDCTCONC_NOISE_GEN_MODE noise_gen_mode_bfi; - wmops_sub_start( "mdct_core_invQ" ); + push_wmops( "mdct_core_invQ" ); sts = hCPE->hCoreCoder; bfi = sts[0]->bfi; @@ -734,7 +734,7 @@ void ivas_mdct_core_invQ( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_out_setup_conversion.c b/lib_dec/ivas_out_setup_conversion.c index 55f53bae73..2a8fc9a548 100644 --- a/lib_dec/ivas_out_setup_conversion.c +++ b/lib_dec/ivas_out_setup_conversion.c @@ -460,7 +460,7 @@ void ivas_ls_setup_conversion( float dmxCoeff, tmpVal; float output_tmp[MAX_OUTPUT_CHANNELS][L_FRAME48k]; - wmops_sub_start( "LS_Renderer" ); + push_wmops( "LS_Renderer" ); hLsSetUpConversion = st_ivas->hLsSetUpConversion; @@ -499,7 +499,7 @@ void ivas_ls_setup_conversion( mvr2r( output_tmp[chOutIdx], output[chOutIdx], output_frame ); } - wmops_sub_end(); + pop_wmops(); return; } @@ -535,7 +535,7 @@ void ivas_ls_setup_conversion_process_mdct( LSSETUP_CONVERSION_HANDLE hLsSetUpConversion; CPE_DEC_HANDLE hCPE[MCT_MAX_BLOCKS]; - wmops_sub_start( "LS_Renderer_MDCT" ); + push_wmops( "LS_Renderer_MDCT" ); /* Assign all the declared variables */ inChannels = st_ivas->nchan_transport; @@ -736,7 +736,7 @@ void ivas_ls_setup_conversion_process_mdct( } } - wmops_sub_end(); + pop_wmops(); return; } @@ -1096,7 +1096,7 @@ void ivas_lssetupconversion_process_param_mc( float Cldfb_ImagBuffer_tmp[MAX_CICP_CHANNELS][CLDFB_NO_CHANNELS_MAX]; LSSETUP_CONVERSION_HANDLE hLsSetUpConversion; - wmops_sub_start( "LS_Renderer_Process_Param_MC" ); + push_wmops( "LS_Renderer_Process_Param_MC" ); /* inits */ inChannels = st_ivas->hIntSetup.nchan_out_woLFE + st_ivas->hIntSetup.num_lfe; @@ -1199,6 +1199,6 @@ void ivas_lssetupconversion_process_param_mc( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_sce_dec.c b/lib_dec/ivas_sce_dec.c index 97ee2e8336..e6004ed51b 100644 --- a/lib_dec/ivas_sce_dec.c +++ b/lib_dec/ivas_sce_dec.c @@ -67,7 +67,7 @@ ivas_error ivas_sce_dec( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_sce_dec" ); + push_wmops( "ivas_sce_dec" ); hSCE = st_ivas->hSCE[sce_id]; st = hSCE->hCoreCoder[0]; @@ -285,7 +285,7 @@ ivas_error ivas_sce_dec( #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_dec/ivas_spar_decoder.c b/lib_dec/ivas_spar_decoder.c index ceed901c1a..a513302812 100644 --- a/lib_dec/ivas_spar_decoder.c +++ b/lib_dec/ivas_spar_decoder.c @@ -231,7 +231,7 @@ ivas_error ivas_spar_dec( uint16_t bstr_meta[MAX_BITS_METADATA], *bit_stream_orig; ivas_error error; - wmops_sub_start( "ivas_spar_decode" ); + push_wmops( "ivas_spar_decode" ); error = IVAS_ERR_OK; hDecoderConfig = st_ivas->hDecoderConfig; @@ -273,7 +273,7 @@ ivas_error ivas_spar_dec( *nb_bits_read += zero_pad_bits; } - wmops_sub_end(); + pop_wmops(); return error; } @@ -626,7 +626,7 @@ static void ivas_spar_dec_MD( DECODER_CONFIG_HANDLE hDecoderConfig = st_ivas->hDecoderConfig; SPAR_DEC_HANDLE hSpar = st_ivas->hSpar; - wmops_sub_start( "ivas_spar_dec_MD" ); + push_wmops( "ivas_spar_dec_MD" ); /*---------------------------------------------------------------------* * Initialization @@ -711,7 +711,7 @@ static void ivas_spar_dec_MD( set_s( hSpar->hMdDec->valid_bands, 0, IVAS_MAX_NUM_BANDS ); } - wmops_sub_end(); + pop_wmops(); return; } @@ -905,7 +905,7 @@ void ivas_spar_dec_upmixer( DECODER_CONFIG_HANDLE hDecoderConfig; SPAR_DEC_HANDLE hSpar; - wmops_sub_start( "ivas_spar_dec_upmixer" ); + push_wmops( "ivas_spar_dec_upmixer" ); hSpar = st_ivas->hSpar; hDecoderConfig = st_ivas->hDecoderConfig; @@ -1223,7 +1223,7 @@ void ivas_spar_dec_upmixer( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_stereo_cng_dec.c b/lib_dec/ivas_stereo_cng_dec.c index ac7f942b2a..d3e62935d1 100644 --- a/lib_dec/ivas_stereo_cng_dec.c +++ b/lib_dec/ivas_stereo_cng_dec.c @@ -225,7 +225,7 @@ static void stereo_dft_generate_comfort_noise( hFdCngCom = st->hFdCngDec->hFdCngCom; - wmops_sub_start( "DFT_CNG" ); + push_wmops( "DFT_CNG" ); set_f( dmpf, 0.0f, M + 2 ); set_f( Atmp, 0.0f, M + 2 ); @@ -625,7 +625,7 @@ static void stereo_dft_generate_comfort_noise( st->hFdCngDec->ms_last_inactive_bwidth = st->bwidth; } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index 503c7e88f2..1e2e82889e 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -640,7 +640,7 @@ void stereo_dft_dec_analyze( int16_t mem_size; int16_t ovl2; - wmops_sub_start( "DFT_analysis" ); + push_wmops( "DFT_analysis" ); hStereoDft = hCPE->hStereoDft; @@ -762,7 +762,7 @@ void stereo_dft_dec_analyze( if ( hCPE->nchan_out == 1 && hCPE->hStereoDft->hConfig->res_cod_mode == STEREO_DFT_RES_COD_OFF ) { - wmops_sub_end(); + pop_wmops(); return; } @@ -913,7 +913,7 @@ void stereo_dft_dec_analyze( } } - wmops_sub_end(); + pop_wmops(); return; } @@ -943,7 +943,7 @@ void stereo_dft_dec_synthesize( int16_t ovl2, flat_portion_end; float ola_buff[STEREO_DFT32MS_OVL2_MAX]; int16_t moffset; - wmops_sub_start( "DFT_synthesis" ); + push_wmops( "DFT_synthesis" ); /*-----------------------------------------------------------------* * Initialization @@ -1069,7 +1069,7 @@ void stereo_dft_dec_synthesize( } #endif - wmops_sub_end(); + pop_wmops(); return; } @@ -2212,7 +2212,7 @@ void stereo_dft_dec_read_BS( fprintf( pF, "\nGain: %d ", I ); #endif - wmops_sub_start( "residual_decode" ); + push_wmops( "residual_decode" ); if ( I != ECSQ_GLOBAL_GAIN_INDEX_ALL_ZERO ) { ECSQ_init_instance( &ecsq_inst, 0 /*dummy index*/, &range_uni_dec_state ); @@ -2244,7 +2244,7 @@ void stereo_dft_dec_read_BS( } ( *nb_bits ) += n_bits; - wmops_sub_end(); + pop_wmops(); #ifdef DEBUG_MODE_DFT fprintf( pF, "%d (max: %d)", n_bits + STEREO_DFT_RES_GLOBAL_GAIN_BITS, max_bits ); @@ -2401,7 +2401,7 @@ void stereo_dft_generate_res_pred( float g2; int16_t nbands_respred; - wmops_sub_start( "gen_respred" ); + push_wmops( "gen_respred" ); /* smoothing and limiting parameters */ alpha = hStereoDft->wasTransient ? 0 : 0.2f; /* no smoothing after transients */ @@ -2733,7 +2733,7 @@ void stereo_dft_generate_res_pred( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_stereo_mdct_core_dec.c b/lib_dec/ivas_stereo_mdct_core_dec.c index d0d05f1fa0..c899278f6e 100644 --- a/lib_dec/ivas_stereo_mdct_core_dec.c +++ b/lib_dec/ivas_stereo_mdct_core_dec.c @@ -181,7 +181,7 @@ void stereo_mdct_core_dec( float signal_out_tmp[CPE_CHANNELS][L_FRAME_PLUS]; - wmops_sub_start( "stereo_mdct_core_dec" ); + push_wmops( "stereo_mdct_core_dec" ); /*--------------------------------------------------------------------------------* * Initializations @@ -365,7 +365,7 @@ void stereo_mdct_core_dec( mvr2r( signal_outFB_tmp[0], signal_outFB[0], hCPE->hCoreCoder[0]->hTcxDec->L_frameTCX ); mvr2r( signal_outFB_tmp[1], signal_outFB[1], hCPE->hCoreCoder[1]->hTcxDec->L_frameTCX ); - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_svd_dec.c b/lib_dec/ivas_svd_dec.c index ff9852d1df..c6d04a79d2 100644 --- a/lib_dec/ivas_svd_dec.c +++ b/lib_dec/ivas_svd_dec.c @@ -196,7 +196,7 @@ int16_t svd( float secDiag[MAX_OUTPUT_CHANNELS]; float eps_x = 0.0f, temp; - wmops_sub_start( "svd" ); + push_wmops( "svd" ); set_zero( secDiag, MAX_OUTPUT_CHANNELS ); @@ -252,7 +252,7 @@ int16_t svd( } } while ( condition == 1 ); - wmops_sub_end(); + pop_wmops(); return ( errorMessage ); } diff --git a/lib_dec/ivas_tcx_core_dec.c b/lib_dec/ivas_tcx_core_dec.c index 3ca3033cb4..e1d6bd63ff 100644 --- a/lib_dec/ivas_tcx_core_dec.c +++ b/lib_dec/ivas_tcx_core_dec.c @@ -191,7 +191,7 @@ void stereo_tcx_core_dec( TCX_LTP_DEC_HANDLE hTcxLtpDec = st->hTcxLtpDec; TCX_DEC_HANDLE hTcxDec = st->hTcxDec; - wmops_sub_start( "stereo_tcx_core_dec" ); + push_wmops( "stereo_tcx_core_dec" ); /*Sanity check*/ assert( !( st->total_brate == FRAME_NO_DATA || st->total_brate == SID_2k40 ) ); /*Active frame*/ @@ -773,7 +773,7 @@ void stereo_tcx_core_dec( #endif - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/ivas_vbap.c b/lib_dec/ivas_vbap.c index f0960bd127..2790dd379f 100644 --- a/lib_dec/ivas_vbap.c +++ b/lib_dec/ivas_vbap.c @@ -154,13 +154,13 @@ ivas_error vbap_init_data( VBAP_SPEAKER_NODE speaker_node_data[VBAP_MAX_NUM_SPEAKER_NODES]; VBAP_DATA *vbap; - wmops_sub_start( "vbap_init" ); + push_wmops( "vbap_init" ); /* Basic init checks */ if ( num_speaker_nodes > VBAP_MAX_NUM_SPEAKER_NODES || num_speaker_nodes < 3 ) { hVBAPdata = NULL; - wmops_sub_end(); + pop_wmops(); /* TODO: are these two paths correct behaviour or should and error be returned ? */ return IVAS_ERR_OK; } @@ -303,7 +303,7 @@ ivas_error vbap_init_data( determine_virtual_speaker_node_division_gains( vbap->back_virtual_speaker_node_index, vbap->back_virtual_speaker_node_division_gains, connections, virtual_back_type, max_num_connections, num_speaker_nodes ); } - wmops_sub_end(); + pop_wmops(); if ( is_success ) { @@ -400,7 +400,7 @@ void vbap_determine_gains( assert( gains != NULL && "VBAP gain determination requires reserved memory for gain output." ); #endif - wmops_sub_start( "vbap_gains" ); + push_wmops( "vbap_gains" ); num_speaker_nodes = hVBAPdata->num_speaker_nodes; bottom_virtual_speaker_node_index = hVBAPdata->bottom_virtual_speaker_node_index; top_virtual_speaker_node_index = hVBAPdata->top_virtual_speaker_node_index; @@ -484,7 +484,7 @@ void vbap_determine_gains( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_dec/tonalMDCTconcealment.c b/lib_dec/tonalMDCTconcealment.c index a16638da51..7a1c172f40 100644 --- a/lib_dec/tonalMDCTconcealment.c +++ b/lib_dec/tonalMDCTconcealment.c @@ -502,7 +502,7 @@ void TonalMDCTConceal_InsertNoise( float g, nrgNoiseInLastFrame, nrgWhiteNoise, tiltFactor, tilt; float last_block_nrg_correct; - wmops_sub_start( "InsertNoise" ); + push_wmops( "InsertNoise" ); g = 1.0f - crossfadeGain; if ( !hTonalMDCTConc->lastBlockData.blockIsConcealed ) @@ -860,7 +860,7 @@ void TonalMDCTConceal_InsertNoise( *pSeed = rnd; - wmops_sub_end(); + pop_wmops(); return; } @@ -987,7 +987,7 @@ void TonalMdctConceal_create_concealment_noise( float *cngNoiseLevelPtr; float last_scf; - wmops_sub_start( "create_conc_noise" ); + push_wmops( "create_conc_noise" ); hStereoMdct = hCPE->hStereoMdct; st = hCPE->hCoreCoder[idchan]; @@ -1039,7 +1039,7 @@ void TonalMdctConceal_create_concealment_noise( concealment_noise[i] = *rnd; } - wmops_sub_end(); + pop_wmops(); return; } @@ -1118,7 +1118,7 @@ void TonalMdctConceal_create_concealment_noise( st->seed_tcx_plc = *rnd; - wmops_sub_end(); + pop_wmops(); return; } @@ -1135,7 +1135,7 @@ void TonalMdctConceal_whiten_noise_shape( float scfs_int[FDNS_NPTS]; const PsychoacousticParameters *psychParams; - wmops_sub_start( "apply_sns_on_noise_shape" ); + push_wmops( "apply_sns_on_noise_shape" ); scfs_bg = &st->hTonalMDCTConc->scaleFactorsBackground[0]; psychParams = st->hTonalMDCTConc->psychParams; @@ -1176,5 +1176,5 @@ void TonalMdctConceal_whiten_noise_shape( set_zero( hFdCngCom->cngNoiseLevel, stop_idx - start_idx ); } - wmops_sub_end(); + pop_wmops(); } diff --git a/lib_enc/acelp_core_enc.c b/lib_enc/acelp_core_enc.c index 857099ed92..95a986552a 100644 --- a/lib_enc/acelp_core_enc.c +++ b/lib_enc/acelp_core_enc.c @@ -131,7 +131,7 @@ ivas_error acelp_core_enc( return error; } - wmops_sub_start( "acelp_core_enc" ); + push_wmops( "acelp_core_enc" ); /*------------------------------------------------------------------* * Initialization *------------------------------------------------------------------*/ @@ -757,7 +757,7 @@ ivas_error acelp_core_enc( } } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/enc_acelp_tcx_main.c b/lib_enc/enc_acelp_tcx_main.c index e087c8cede..f3b3076f78 100644 --- a/lib_enc/enc_acelp_tcx_main.c +++ b/lib_enc/enc_acelp_tcx_main.c @@ -64,7 +64,7 @@ void enc_acelp_tcx_main( float old_bwe_exc[( PIT16k_MAX + ( L_FRAME16k + 1 ) + L_SUBFR16k ) * 2]; /* excitation buffer */ float *ptr_bwe_exc; /* pointer to BWE excitation signal in the current frame */ - wmops_sub_start( "enc_acelp_tcx_main" ); + push_wmops( "enc_acelp_tcx_main" ); ptr_bwe_exc = old_bwe_exc + PIT16k_MAX * 2; @@ -129,6 +129,6 @@ void enc_acelp_tcx_main( /* coreSwitching update of Mode 1 parameters in the last frame */ st->last_coder_type = st->coder_type; - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 29b610db79..864037f0d9 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -103,7 +103,7 @@ ivas_error evs_enc( error = IVAS_ERR_OK; - wmops_sub_start( "evs_enc" ); + push_wmops( "evs_enc" ); /*------------------------------------------------------------------* * Initialization *-----------------------------------------------------------------*/ @@ -390,7 +390,7 @@ ivas_error evs_enc( * WB TBE encoding * WB BWE encoding *---------------------------------------------------------------------*/ - wmops_sub_start( "BWE_encoding" ); + push_wmops( "BWE_encoding" ); if ( st->input_Fs >= 16000 && st->bwidth < SWB ) { @@ -497,7 +497,7 @@ ivas_error evs_enc( swb_CNG_enc( st, shb_speech, old_syn_12k8_16k ); } - wmops_sub_end(); + pop_wmops(); /*---------------------------------------------------------------------* * Channel-aware mode - write signaling information into the bitstream *---------------------------------------------------------------------*/ @@ -565,7 +565,7 @@ ivas_error evs_enc( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/hq_core_enc.c b/lib_enc/hq_core_enc.c index bb66182d3d..29e56f5268 100644 --- a/lib_enc/hq_core_enc.c +++ b/lib_enc/hq_core_enc.c @@ -72,7 +72,7 @@ void hq_core_enc( BSTR_ENC_HANDLE hBstr = st->hBstr; - wmops_sub_start( "hq_core_enc" ); + push_wmops( "hq_core_enc" ); set_f( t_audio, 0, L_FRAME48k ); st->Nb_ACELP_frames = 0; @@ -289,7 +289,7 @@ void hq_core_enc( mvr2r( output, st->hLPDmem->old_exc, L_FRAME16k ); } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index b863944b57..ff01e2bd13 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -105,7 +105,7 @@ ivas_error ivas_core_enc( int32_t element_brate, last_element_brate, input_Fs; ivas_error error; - wmops_sub_start( "ivas_core_enc" ); + push_wmops( "ivas_core_enc" ); error = IVAS_ERR_OK; @@ -522,7 +522,7 @@ ivas_error ivas_core_enc( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_core_pre_proc.c b/lib_enc/ivas_core_pre_proc.c index acbacc09e0..c928e55e09 100644 --- a/lib_enc/ivas_core_pre_proc.c +++ b/lib_enc/ivas_core_pre_proc.c @@ -85,7 +85,7 @@ ivas_error pre_proc_ivas( int32_t sr_core_tmp, total_brate_tmp; ivas_error error; - wmops_sub_start( "pre_proc" ); + push_wmops( "pre_proc" ); error = IVAS_ERR_OK; @@ -459,7 +459,7 @@ ivas_error pre_proc_ivas( dbgwrite( inp_16k, sizeof( float ), L_FRAME, 1, fname( debug_dir, "inp_16k", st->idchan, st->id_element, ENC ) ); #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index b4336bdf62..8f5799b07f 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -155,7 +155,7 @@ ivas_error pre_proc_front_ivas( int16_t LR_vad_flag; ivas_error error; - wmops_sub_start( "pre_proc_front" ); + push_wmops( "pre_proc_front" ); /*------------------------------------------------------------------* * Initialization @@ -843,7 +843,7 @@ ivas_error pre_proc_front_ivas( mvr2r( &old_inp_12k8[L_FRAME], st->old_inp_12k8, L_INP_MEM ); - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index e047defac6..e2b4fe4995 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -104,7 +104,7 @@ ivas_error ivas_cpe_enc( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_cpe_enc" ); + push_wmops( "ivas_cpe_enc" ); hCPE = st_ivas->hCPE[cpe_id]; sts = hCPE->hCoreCoder; @@ -687,7 +687,7 @@ ivas_error ivas_cpe_enc( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_dirac_enc.c b/lib_enc/ivas_dirac_enc.c index 223d23d695..98d39afcb5 100644 --- a/lib_enc/ivas_dirac_enc.c +++ b/lib_enc/ivas_dirac_enc.c @@ -313,7 +313,7 @@ void ivas_dirac_enc( { int16_t i; - wmops_sub_start( "ivas_dirac_enc" ); + push_wmops( "ivas_dirac_enc" ); /*Check if highest band of input signal <= enc_param_start_band: could happen for WB input signal in 4TCs mode*/ if ( hDirAC->band_grouping[hDirAC->hConfig->nbands] <= hDirAC->band_grouping[hDirAC->hConfig->enc_param_start_band] ) @@ -434,7 +434,7 @@ void ivas_dirac_enc( } } - wmops_sub_end(); + pop_wmops(); return; } @@ -587,7 +587,7 @@ void ivas_dirac_param_est_enc( float reference_power[CLDFB_NO_COL_MAX][DIRAC_NO_FB_BANDS_MAX]; - wmops_sub_start( "dirac_enc_param_est" ); + push_wmops( "dirac_enc_param_est" ); /* Initialization */ l_ts = input_frame / MAX_PARAM_SPATIAL_SUBFRAMES; @@ -863,7 +863,7 @@ void ivas_dirac_param_est_enc( } #endif - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 7be1f11c49..8b60d95c00 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -70,7 +70,7 @@ ivas_error ivas_enc( #endif error = IVAS_ERR_OK; - wmops_sub_start( "ivas_enc" ); + push_wmops( "ivas_enc" ); /*------------------------------------------------------------------* * Initialization - general @@ -386,6 +386,6 @@ ivas_error ivas_enc( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index e9818cb7ae..4bc3730818 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -83,7 +83,7 @@ ivas_error front_vad( error = IVAS_ERR_OK; - wmops_sub_start( "front_vad" ); + push_wmops( "front_vad" ); if ( hCPE != NULL ) { @@ -248,7 +248,7 @@ ivas_error front_vad( mvr2r( Bin_E, Bin_E_out, L_FRAME ); } - wmops_sub_end(); + pop_wmops(); return error; } @@ -389,7 +389,7 @@ ivas_error front_vad_spar( int16_t old_pitch; ivas_error error; - wmops_sub_start( "front_vad_SPAR" ); + push_wmops( "front_vad_SPAR" ); error = IVAS_ERR_OK; @@ -497,7 +497,7 @@ ivas_error front_vad_spar( hSpar->force_front_vad = 0; } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 3c8a1f04b3..5a1f29fe29 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -91,7 +91,7 @@ ivas_error ivas_ism_enc( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_ism_enc" ); + push_wmops( "ivas_ism_enc" ); /*------------------------------------------------------------------* * Preprocesing @@ -275,7 +275,7 @@ ivas_error ivas_ism_enc( mvr2r( st->input, st->old_input_signal, input_frame ); } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_ism_metadata_enc.c b/lib_enc/ivas_ism_metadata_enc.c index 60550bca0b..64c1c179b8 100644 --- a/lib_enc/ivas_ism_metadata_enc.c +++ b/lib_enc/ivas_ism_metadata_enc.c @@ -157,7 +157,7 @@ ivas_error ivas_ism_metadata_enc( error = IVAS_ERR_OK; - wmops_sub_start( "ism_meta_enc" ); + push_wmops( "ism_meta_enc" ); if ( ism_mode == ISM_MODE_PARAM ) { @@ -175,7 +175,7 @@ ivas_error ivas_ism_metadata_enc( if ( num_obj == 1 && ( hSCE[0]->hCoreCoder[0]->core_brate == SID_2k40 || hSCE[0]->hCoreCoder[0]->core_brate == FRAME_NO_DATA ) && ( ism_mode == ISM_MODE_DISC ) ) { /* no metadata encoding in CNG */ - wmops_sub_end(); + pop_wmops(); return error; } @@ -705,7 +705,7 @@ ivas_error ivas_ism_metadata_enc( } } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_ism_param_enc.c b/lib_enc/ivas_ism_param_enc.c index 8dcdef30b5..91eff650dc 100644 --- a/lib_enc/ivas_ism_param_enc.c +++ b/lib_enc/ivas_ism_param_enc.c @@ -197,7 +197,7 @@ void ivas_param_ism_stereo_dmx( float stereo_dmx[2][L_FRAME48k]; ISM_METADATA_HANDLE hIsmMetaData; - wmops_sub_start( "ivas_param_ism_st_dmx" ); + push_wmops( "ivas_param_ism_st_dmx" ); /*Initialization*/ alpha = 0.5; @@ -232,7 +232,7 @@ void ivas_param_ism_stereo_dmx( mvr2r( stereo_dmx[0], data[0], input_frame ); mvr2r( stereo_dmx[1], data[1], input_frame ); - wmops_sub_end(); + pop_wmops(); return; } @@ -362,7 +362,7 @@ void ivas_param_ism_enc( hDirAC = st_ivas->hDirAC; hParamIsm = hDirAC->hParamIsm; - wmops_sub_start( "ivas_param_ism_enc" ); + push_wmops( "ivas_param_ism_enc" ); l_ts = input_frame / PARAM_ISM_MDFT_NO_SLOTS; num_time_slots = PARAM_ISM_MDFT_NO_SLOTS; @@ -396,7 +396,7 @@ void ivas_param_ism_enc( /* Compute object indices and power ratios */ ivas_param_ism_compute_obj_parameters( reference_power_obj, hParamIsm ); - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index af7a48a80b..67e0c3974c 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -267,7 +267,7 @@ void ivas_param_mc_enc( PARAM_MC_ENC_HANDLE hParamMC; int16_t nchan_inp; - wmops_sub_start( "param_mc_enc" ); + push_wmops( "param_mc_enc" ); /* initializations */ hParamMC = st_ivas->hParamMC; @@ -409,7 +409,7 @@ void ivas_param_mc_enc( /* updates */ hParamMC->hMetadataPMC.last_coded_bwidth = hParamMC->hMetadataPMC.coded_bwidth; - wmops_sub_end(); + pop_wmops(); return; } @@ -500,7 +500,7 @@ static void ivas_param_mc_param_est_enc( int16_t start_ts; const float *p_dmx_fac; - wmops_sub_start( "param_mc_prm_est" ); + push_wmops( "param_mc_prm_est" ); /* initializations */ @@ -777,7 +777,7 @@ static void ivas_param_mc_param_est_enc( } - wmops_sub_end(); + pop_wmops(); return; } @@ -1034,7 +1034,7 @@ static void ivas_param_mc_quantize_ilds( float tot_ener, dmx_ener, ener_fac, delta_fac; int16_t ILD_idx[PARAM_MC_SZ_ILD_MAP]; - wmops_sub_start( "param_mc_prm_q" ); + push_wmops( "param_mc_prm_q" ); /* Initialization */ set_zero( Nrg, MAX_CICP_CHANNELS ); @@ -1056,7 +1056,7 @@ static void ivas_param_mc_quantize_ilds( /* Downsampling */ if ( ( hParamMC->hMetadataPMC.bAttackPresent == 0 ) && ( hParamMC->hMetadataPMC.param_frame_idx != hParamMC->hMetadataPMC.coding_band_mapping[freq_idx] ) ) { - wmops_sub_end(); + pop_wmops(); return; } @@ -1143,7 +1143,7 @@ static void ivas_param_mc_quantize_ilds( /* Save current quantized ICLDs */ mvs2s( ILD_idx, ILD_idx_out + freq_idx * ild_map_size, num_ilds_to_code ); - wmops_sub_end(); + pop_wmops(); return; } @@ -1308,7 +1308,7 @@ static void ivas_param_mc_transient_detection( float *pAccSubblockNrg; float attackRatioThreshold; - wmops_sub_start( "param_mc_trn_det" ); + push_wmops( "param_mc_trn_det" ); attackRatioThreshold = hTranDet->transientDetector.attackRatioThreshold; pSubblockNrg = &hTranDet->subblockEnergies.subblockNrg[hParamMC->transient_detector_delay]; @@ -1339,7 +1339,7 @@ static void ivas_param_mc_transient_detection( *pAttackIndex = attackIndex; *pbIsAttackPresent = bIsAttackPresent; - wmops_sub_end(); + pop_wmops(); return; } @@ -1369,7 +1369,7 @@ static void ivas_param_mc_write_bs( int16_t ild_map_size_wo_lfe; int16_t ild_map_size; - wmops_sub_start( "param_mc_prm_enc" ); + push_wmops( "param_mc_prm_enc" ); /* Init */ set_zero( seq_tmp_uni, PARAM_MC_MAX_PARAMETER_BANDS * PARAM_MC_SZ_ILD_MAP ); @@ -1434,7 +1434,7 @@ static void ivas_param_mc_write_bs( ivas_param_mc_encode_parameter( ILD_idx, &hParamMC->hMetadataPMC, &hParamMC->hMetadataPMC.ild_coding, nbands, band_step, ild_map_size_wo_lfe, ild_map_size, bit_buffer, bit_pos ); - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_mct_core_enc.c b/lib_enc/ivas_mct_core_enc.c index 4a94dee5d9..a5db75de59 100644 --- a/lib_enc/ivas_mct_core_enc.c +++ b/lib_enc/ivas_mct_core_enc.c @@ -243,7 +243,7 @@ void ivas_mct_core_enc( static FILE *f_bit_split = 0; #endif - wmops_sub_start( "mct_encoding" ); + push_wmops( "mct_encoding" ); /*--------------------------------------------------------------* * Initialization @@ -580,7 +580,7 @@ void ivas_mct_core_enc( assert( ( total_brate + ( NBITS_BWIDTH + format_bits + mct_bits + sba_meta + lfe_bits ) * FRAMES_PER_SEC ) == ivas_total_brate ); #endif - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 18c3b93fb9..72bfd4efbc 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -70,7 +70,7 @@ ivas_error ivas_mct_enc( error = IVAS_ERR_OK; - wmops_sub_start( "ivas_mct_enc" ); + push_wmops( "ivas_mct_enc" ); /* Initialization */ hMCT = st_ivas->hMCT; @@ -148,7 +148,7 @@ ivas_error ivas_mct_enc( } } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_mct_enc_mct.c b/lib_enc/ivas_mct_enc_mct.c index 0e36280b20..c506f4e431 100755 --- a/lib_enc/ivas_mct_enc_mct.c +++ b/lib_enc/ivas_mct_enc_mct.c @@ -474,7 +474,7 @@ void apply_MCT_enc( float tmp_max_corr; int16_t count_active_ch = 0; - wmops_sub_start( "mct_core_enc_mct" ); + push_wmops( "mct_core_enc_mct" ); forceKeepTree = 1; inactiveBlockDetected = 0; @@ -739,7 +739,7 @@ void apply_MCT_enc( } #endif - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_mdct_core_enc.c b/lib_enc/ivas_mdct_core_enc.c index aaf76ceb35..595469530a 100644 --- a/lib_enc/ivas_mdct_core_enc.c +++ b/lib_enc/ivas_mdct_core_enc.c @@ -602,7 +602,7 @@ void ivas_mdct_core_whitening_enc( int16_t nbits_start_sns; int16_t num_sns; - wmops_sub_start( "mdct_core_whitening" ); + push_wmops( "mdct_core_whitening" ); /*--------------------------------------------------------------* * Initialization @@ -1147,7 +1147,7 @@ void ivas_mdct_core_whitening_enc( } } - wmops_sub_end(); + pop_wmops(); return; } @@ -1186,7 +1186,7 @@ void ivas_mdct_quant_coder( int16_t target_bitsTCX10[CPE_CHANNELS][NB_DIV]; int16_t nbits_start, total_nbbits; - wmops_sub_start( "mdct_core_Q" ); + push_wmops( "mdct_core_Q" ); sts = hCPE->hCoreCoder; @@ -1306,7 +1306,7 @@ void ivas_mdct_quant_coder( assert( st->bits_frame_channel == total_nbbits ); } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 0b49c56854..f1ebe700b4 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -91,7 +91,7 @@ ivas_error ivas_sce_enc( ivas_error error; int16_t flag_16k_smc; - wmops_sub_start( "ivas_sce_enc" ); + push_wmops( "ivas_sce_enc" ); error = IVAS_ERR_OK; @@ -258,7 +258,7 @@ ivas_error ivas_sce_enc( } #endif - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index b08eeb5e4b..60df797acd 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -358,7 +358,7 @@ static ivas_error ivas_spar_enc_process( float dir[3], avg_dir[3]; float energySum, vecLen; - wmops_sub_start( "ivas_spar_enc_process" ); + push_wmops( "ivas_spar_enc_process" ); /*-----------------------------------------------------------------------------------------* * Initialization @@ -774,7 +774,7 @@ static ivas_error ivas_spar_enc_process( set_f( data_f[order[j]], 0.0f, input_frame ); } - wmops_sub_end(); + pop_wmops(); return error; } diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index de44362ddd..911baa16a9 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -739,7 +739,7 @@ void stereo_dft_enc_analyze( int16_t trigo_step; - wmops_sub_start( "DFT_analysis" ); + push_wmops( "DFT_analysis" ); /*-----------------------------------------------------------------* * Initialization @@ -863,7 +863,7 @@ void stereo_dft_enc_analyze( } } - wmops_sub_end(); + pop_wmops(); return; } @@ -939,7 +939,7 @@ float stereo_dft_enc_synthesize( win = hStereoDft->win; win_ana = hStereoDft->win_ana; - wmops_sub_start( "DFT_synth_fs" ); + push_wmops( "DFT_synth_fs" ); } else if ( output_sampling_rate == INT_FS_12k8 ) { @@ -956,7 +956,7 @@ float stereo_dft_enc_synthesize( win = hStereoDft->win_12k8; win_ana = hStereoDft->win_ana_12k8; - wmops_sub_start( "DFT_synth_12k8" ); + push_wmops( "DFT_synth_12k8" ); } else if ( output_sampling_rate == 16000 ) { @@ -973,13 +973,13 @@ float stereo_dft_enc_synthesize( { mem = hStereoDft->output_mem_dmx_16k_shb; - wmops_sub_start( "DFT_synth_16k_shb" ); + push_wmops( "DFT_synth_16k_shb" ); } else { mem = hStereoDft->output_mem_dmx_16k; - wmops_sub_start( "DFT_synth_16k" ); + push_wmops( "DFT_synth_16k" ); } win = hStereoDft->win_16k; win_ana = hStereoDft->win_ana_16k; @@ -999,7 +999,7 @@ float stereo_dft_enc_synthesize( win = hStereoDft->win_32k; win_ana = hStereoDft->win_ana_32k; - wmops_sub_start( "DFT_synth_32k" ); + push_wmops( "DFT_synth_32k" ); } else if ( output_sampling_rate == 8000 ) { @@ -1016,7 +1016,7 @@ float stereo_dft_enc_synthesize( win = hStereoDft->win_8k; win_ana = hStereoDft->win_ana_8k; - wmops_sub_start( "DFT_synth_8k" ); + push_wmops( "DFT_synth_8k" ); } else { @@ -1212,7 +1212,7 @@ float stereo_dft_enc_synthesize( } #endif - wmops_sub_end(); + pop_wmops(); return ( nrg ); } @@ -1925,7 +1925,7 @@ void stereo_dft_enc_res( dbgwrite( &max_snr, sizeof( float ), 1, 1, "./res/stereo_dft_res_cod_target_snr.dat" ); #endif - wmops_sub_start( "residual_encode" ); + push_wmops( "residual_encode" ); /* residual encoding */ ECSQ_init_instance( &ecsq_inst, 0 /*dummy index*/, &range_uni_enc_state ); @@ -2003,7 +2003,7 @@ void stereo_dft_enc_res( } #endif - wmops_sub_end(); + pop_wmops(); #ifdef DEBUG_MODE_DFT { diff --git a/lib_enc/ivas_stereo_mdct_core_enc.c b/lib_enc/ivas_stereo_mdct_core_enc.c index 6d1e9a32b0..c35f7670ec 100755 --- a/lib_enc/ivas_stereo_mdct_core_enc.c +++ b/lib_enc/ivas_stereo_mdct_core_enc.c @@ -146,7 +146,7 @@ void stereo_mdct_core_enc( int16_t stereo_bits; int16_t meta_bits, signal_bits; - wmops_sub_start( "stereo_mdct_core_enc" ); + push_wmops( "stereo_mdct_core_enc" ); L_subframeTCX = 0; /* to avoid compilation warning */ @@ -451,7 +451,7 @@ void stereo_mdct_core_enc( ivas_mdct_quant_coder( hCPE, 0, tnsBits, tnsSize, p_param, 0 ); - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/ivas_stereo_mdct_stereo_enc.c b/lib_enc/ivas_stereo_mdct_stereo_enc.c index fcad004b3a..9975b95871 100644 --- a/lib_enc/ivas_stereo_mdct_stereo_enc.c +++ b/lib_enc/ivas_stereo_mdct_stereo_enc.c @@ -189,7 +189,7 @@ void stereo_coder_tcx( int16_t k; int16_t nSubframes, L_frameTCX; int16_t nAvailBitsMS[NB_DIV]; - wmops_sub_start( "stereo_coder_tcx" ); + push_wmops( "stereo_coder_tcx" ); set_s( nAvailBitsMS, 0, NB_DIV ); @@ -321,7 +321,7 @@ void stereo_coder_tcx( #endif hStereoMdct->sw_uncorr = 1; - wmops_sub_end(); + pop_wmops(); return; } #ifdef DEBUGGING @@ -342,7 +342,7 @@ void stereo_coder_tcx( set_s( &ms_mask[k][0], 1, MAX_SFB ); } - wmops_sub_end(); + pop_wmops(); return; } #endif @@ -464,7 +464,7 @@ void stereo_coder_tcx( hStereoMdct->sw_uncorr = ( sw_uncorr_mean > 0.6f ); } - wmops_sub_end(); + pop_wmops(); #ifdef DEBUG_MODE_MDCT /* MDCT stereo data */ diff --git a/lib_enc/ivas_tcx_core_enc.c b/lib_enc/ivas_tcx_core_enc.c index e8cfaf6697..1e04a7ad82 100644 --- a/lib_enc/ivas_tcx_core_enc.c +++ b/lib_enc/ivas_tcx_core_enc.c @@ -171,7 +171,7 @@ void stereo_tcx_core_enc( pF = fopen( "./res/stereo_tcx_enc_ind.txt", "w" ); #endif - wmops_sub_start( "stereo_tcx_core_enc" ); + push_wmops( "stereo_tcx_core_enc" ); /*Sanity check*/ assert( st->mdct_sw == MODE1 && "MDCT switching should be in TCX MODE 1\n" ); @@ -547,7 +547,7 @@ void stereo_tcx_core_enc( set_f( pitch_buf, L_SUBFR, NB_SUBFR16k ); } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index a17612290f..1afdcef5a0 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -118,7 +118,7 @@ void pre_proc( int16_t clas_mod; int16_t old_pitch1; - wmops_sub_start( "pre_proc" ); + push_wmops( "pre_proc" ); /*------------------------------------------------------------------* * Initialization @@ -959,6 +959,6 @@ void pre_proc( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index 53f8dbcfa3..b647073188 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -874,7 +874,7 @@ void ivas_binRenderer( int16_t chIdx, k; int16_t numTimeSlots = MAX_PARAM_SPATIAL_SUBFRAMES; - wmops_sub_start( "fastconv_binaural_rendering" ); + push_wmops( "fastconv_binaural_rendering" ); /* Compute Convolution */ /* memory reset for the binaural output */ @@ -952,7 +952,7 @@ void ivas_binRenderer( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 3782f5789e..760dbcbaed 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -1045,7 +1045,7 @@ ivas_error ivas_crend_process( AUDIO_CONFIG intern_config; ivas_error error; - wmops_sub_start( "ivas_crend_process" ); + push_wmops( "ivas_crend_process" ); intern_config = st_ivas->intern_config; nchan_out = st_ivas->hDecoderConfig->nchan_out; @@ -1131,7 +1131,7 @@ ivas_error ivas_crend_process( mvr2r( pcm_tmp[i], output[i], output_frame ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -1782,7 +1782,7 @@ ivas_error ivas_rend_crendProcess( IVAS_REND_AudioConfigType inConfigType; ivas_error error; - wmops_sub_start( "ivas_rend_crendProcess" ); + push_wmops( "ivas_rend_crendProcess" ); in_config = getIvasAudioConfigFromRendAudioConfig( inConfig ); inConfigType = getAudioConfigType( inConfig ); @@ -1818,7 +1818,7 @@ ivas_error ivas_rend_crendProcess( mvr2r( pcm_tmp[i], output[i], output_frame ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 31bc3b5e0a..14e8154018 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -679,7 +679,7 @@ ivas_error ivas_rend_TDObjRenderFrame( IVAS_FORMAT ivas_format; IVAS_REND_AudioConfigType inConfigType; - wmops_sub_start( "ivas_rend_TDObjRenderFrame" ); + push_wmops( "ivas_rend_TDObjRenderFrame" ); inConfigType = getAudioConfigType( inConfig ); lfe_idx = LFE_CHANNEL; @@ -751,7 +751,7 @@ ivas_error ivas_rend_TDObjRenderFrame( // } // } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 4f5ba72d39..9774900c57 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -277,7 +277,7 @@ void rotateAziEle_DirAC( float dv_r_0, dv_r_1, dv_r_2; float w; - wmops_sub_start( "rotateAziEle_DirAC" ); + push_wmops( "rotateAziEle_DirAC" ); for ( b = band1; b < band2; b++ ) { @@ -297,7 +297,7 @@ void rotateAziEle_DirAC( ele[b] = (int16_t) ( atan2f( dv_r_2, sqrtf( dv_r_0 * dv_r_0 + dv_r_1 * dv_r_1 ) ) * _180_OVER_PI ); } - wmops_sub_end(); + pop_wmops(); return; } @@ -475,7 +475,7 @@ void rotateFrame_sd( float cross_fade[IVAS_FB_1MS_48K_SAMP]; #endif - wmops_sub_start( "rotateFrame_sd" ); + push_wmops( "rotateFrame_sd" ); nchan = hTransSetup.nchan_out_woLFE + hTransSetup.num_lfe; index_lfe = hTransSetup.index_lfe[0]; @@ -601,7 +601,7 @@ void rotateFrame_sd( mvr2r( &output_tmp[ch_out][subframe_idx * subframe_len], &output[ch_out][subframe_idx * subframe_len], subframe_len ); } - wmops_sub_end(); + pop_wmops(); return; } @@ -727,7 +727,7 @@ void rotateFrame_sd_cldfb( int16_t nInChannels; int16_t isPlanar; - wmops_sub_start( "rotateFrame_sd_cldfb" ); + push_wmops( "rotateFrame_sd_cldfb" ); nInChannels = hOutputSetup->nchan_out_woLFE; isPlanar = 1; @@ -806,7 +806,7 @@ void rotateFrame_sd_cldfb( } } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_rend/ivas_sba_rendering.c b/lib_rend/ivas_sba_rendering.c index e2977a81e4..b7c5553671 100755 --- a/lib_rend/ivas_sba_rendering.c +++ b/lib_rend/ivas_sba_rendering.c @@ -160,7 +160,7 @@ void ivas_sba2mc_cldfb( float *p_real, *p_imag, *p_realOut, *p_imagOut; int16_t nb_channels_in; - wmops_sub_start( "ivas_sba2mc_cldfb" ); + push_wmops( "ivas_sba2mc_cldfb" ); nb_channels_in = hInSetup.nchan_out_woLFE; assert( ( nb_channels_in == 16 ) && ( nb_channels_out == 11 ) && "ivas_sba2mc_cldfb; only HOA3 to CICP19 is for now supported!" ); @@ -206,7 +206,7 @@ void ivas_sba2mc_cldfb( } } - wmops_sub_end(); + pop_wmops(); return; } @@ -501,7 +501,7 @@ void ivas_sba_upmixer_renderer( int16_t i, nchan_internal; float temp; - wmops_sub_start( "ivas_sba_upmixer_renderer" ); + push_wmops( "ivas_sba_upmixer_renderer" ); nchan_internal = ivas_sba_get_nchan_metadata( st_ivas->sba_analysis_order ); @@ -524,7 +524,7 @@ void ivas_sba_upmixer_renderer( ivas_sba_linear_renderer( output, output_frame, st_ivas->hIntSetup.nchan_out_woLFE, st_ivas->hDecoderConfig->output_config, st_ivas->hOutSetup, st_ivas->hoa_dec_mtx ); } - wmops_sub_end(); + pop_wmops(); return; } @@ -616,7 +616,7 @@ void ivas_sba_prototype_renderer( int16_t firstSlot, slotEnd, firstInCh, inChEnd, firstOutCh, outChEnd; int16_t sf_idx; - wmops_sub_start( "ivas_sba_prototype_renderer" ); + push_wmops( "ivas_sba_prototype_renderer" ); hSpar = st_ivas->hSpar; hDecoderConfig = st_ivas->hDecoderConfig; @@ -745,7 +745,7 @@ void ivas_sba_prototype_renderer( } } - wmops_sub_end(); + pop_wmops(); return; } diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index caff4d52c0..035d0ee4cb 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3455,7 +3455,7 @@ static ivas_error rotateFrameMc( rotation_gains gains; float tmp_gains[MAX_INPUT_CHANNELS]; - wmops_sub_start( "rotateFrameMc" ); + push_wmops( "rotateFrameMc" ); if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) { @@ -3541,7 +3541,7 @@ static ivas_error rotateFrameMc( } } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -3563,7 +3563,7 @@ static ivas_error rotateFrameSba( float tmpRot[2 * HEADROT_ORDER + 1]; rotation_gains gains; - wmops_sub_start( "rotateFrameSba" ); + push_wmops( "rotateFrameSba" ); getAmbisonicsOrder( inConfig, &shd_rot_max_order ); @@ -3639,7 +3639,7 @@ static ivas_error rotateFrameSba( } } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -3651,7 +3651,7 @@ static ivas_error renderIsmToBinaural( float tmpTDRendBuffer[MAX_OUTPUT_CHANNELS][L_FRAME48k]; ivas_error error; - wmops_sub_start( "renderIsmToBinaural" ); + push_wmops( "renderIsmToBinaural" ); copyBufferTo2dArray( ismInput->base.inputBuffer, tmpTDRendBuffer ); @@ -3670,7 +3670,7 @@ static ivas_error renderIsmToBinaural( accumulate2dArrayToBuffer( tmpTDRendBuffer, &outAudio ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -3693,7 +3693,7 @@ static ivas_error renderIsmToBinauralRoom( IVAS_REND_AudioObjectPosition rotatedPos; const IVAS_REND_HeadRotData *headRotData; - wmops_sub_start( "renderIsmToBinauralRoom" ); + push_wmops( "renderIsmToBinauralRoom" ); headRotData = ismInput->base.ctx.pHeadRotData; rotatedPos = defaultObjectPosition(); @@ -3769,7 +3769,7 @@ static ivas_error renderIsmToBinauralRoom( count_free( tmpMcBuffer.data ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -3782,7 +3782,7 @@ static ivas_error renderIsmToMc( pan_vector previousPanGains; ivas_error error; - wmops_sub_start( "renderIsmToMc" ); + push_wmops( "renderIsmToMc" ); /* TODO(sgi): Possible optimization: less processing needed if position didn't change */ if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->currentPos.azimuth, ismInput->currentPos.elevation, currentPanGains ) ) != IVAS_ERR_OK ) @@ -3798,7 +3798,7 @@ static ivas_error renderIsmToMc( * This should have been validated in IVAS_REND_FeedInputAudio() */ renderBufferChannelLerp( ismInput->base.inputBuffer, 0, currentPanGains, previousPanGains, outAudio ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -3815,7 +3815,7 @@ static ivas_error renderIsmToSba( ivas_error error; error = IVAS_ERR_OK; - wmops_sub_start( "renderIsmToSba" ); + push_wmops( "renderIsmToSba" ); if ( ( error = getAudioConfigNumChannels( outConfig, &numOutChannels ) ) != IVAS_ERR_OK ) { @@ -3842,7 +3842,7 @@ static ivas_error renderIsmToSba( * This should have been validated in IVAS_REND_FeedInputAudio() */ renderBufferChannelLerp( ismInput->base.inputBuffer, 0, currentPanGains, previousPanGains, outAudio ); - wmops_sub_end(); + pop_wmops(); return error; } @@ -3936,7 +3936,7 @@ static ivas_error renderLfeToBinaural( assert( ( outAudio.config.numChannels == 2 ) && "Must be binaural output" ); - wmops_sub_start( "renderLfeToBinaural" ); + push_wmops( "renderLfeToBinaural" ); gain = GAIN_LFE; @@ -3969,7 +3969,7 @@ static ivas_error renderLfeToBinaural( *writePtr++ += gain * ( *readPtr++ ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -3986,7 +3986,7 @@ static ivas_error renderMcToBinaural( ivas_error error; IVAS_REND_AudioBuffer tmpRotBuffer; - wmops_sub_start( "renderMcToBinaural" ); + push_wmops( "renderMcToBinaural" ); headRotEnabled = mcInput->base.ctx.pHeadRotData->headRotEnabled; inConfig = mcInput->base.inConfig; @@ -4045,7 +4045,7 @@ static ivas_error renderMcToBinaural( /* TODO tmu : needs delay compensation */ renderLfeToBinaural( mcInput, outAudio ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4060,7 +4060,7 @@ static ivas_error renderMcToBinauralRoom( ivas_error error; IVAS_REND_AudioBuffer tmpRotBuffer; - wmops_sub_start( "renderMcToBinauralRoom" ); + push_wmops( "renderMcToBinauralRoom" ); /* apply rotation */ if ( mcInput->base.ctx.pHeadRotData->headRotEnabled ) @@ -4097,7 +4097,7 @@ static ivas_error renderMcToBinauralRoom( /* TODO tmu : needs delay compensation */ renderLfeToBinaural( mcInput, outAudio ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4116,7 +4116,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( IVAS_REND_AudioBuffer tmpMcBuffer; IVAS_REND_AudioBuffer *tmpBufPtr; - wmops_sub_start( "renderMcCustomLsToBinauralRoom" ); + push_wmops( "renderMcCustomLsToBinauralRoom" ); tmpRotBuffer = outAudio; /* avoid compilation warning */ @@ -4169,7 +4169,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( } count_free( tmpMcBuffer.data ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4181,7 +4181,7 @@ static ivas_error renderMcToMc( int16_t i; IVAS_REND_AudioBuffer inAudio; - wmops_sub_start( "renderMcToMc" ); + push_wmops( "renderMcToMc" ); inAudio = mcInput->base.inputBuffer; @@ -4190,7 +4190,7 @@ static ivas_error renderMcToMc( renderBufferChannel( inAudio, i, mcInput->panGains[i], outAudio ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4202,7 +4202,7 @@ static ivas_error renderMcToSba( int16_t i; IVAS_REND_AudioBuffer inAudio; - wmops_sub_start( "renderMcToSba" ); + push_wmops( "renderMcToSba" ); inAudio = mcInput->base.inputBuffer; @@ -4211,7 +4211,7 @@ static ivas_error renderMcToSba( renderBufferChannel( inAudio, i, mcInput->panGains[i], outAudio ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4310,7 +4310,7 @@ static ivas_error renderSbaToMc( int16_t i; IVAS_REND_AudioBuffer inAudio; - wmops_sub_start( "renderSbaToMc" ); + push_wmops( "renderSbaToMc" ); inAudio = sbaInput->base.inputBuffer; @@ -4319,7 +4319,7 @@ static ivas_error renderSbaToMc( renderBufferChannel( inAudio, i, sbaInput->hoaDecMtx[i], outAudio ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4331,7 +4331,7 @@ static ivas_error renderSbaToSba( int16_t i; IVAS_REND_AudioBuffer inAudio; - wmops_sub_start( "renderSbaToSba" ); + push_wmops( "renderSbaToSba" ); inAudio = sbaInput->base.inputBuffer; @@ -4340,7 +4340,7 @@ static ivas_error renderSbaToSba( renderBufferChannel( inAudio, i, sbaInput->hoaDecMtx[i], outAudio ); } - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4355,7 +4355,7 @@ static ivas_error renderSbaToBinaural( ivas_error error; IVAS_REND_AudioBuffer tmpRotBuffer; - wmops_sub_start( "renderSbaToBinaural" ); + push_wmops( "renderSbaToBinaural" ); /* apply rotation */ if ( sbaInput->base.ctx.pHeadRotData->headRotEnabled ) @@ -4388,7 +4388,7 @@ static ivas_error renderSbaToBinaural( accumulate2dArrayToBuffer( tmpCrendBuffer, &outAudio ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } @@ -4410,7 +4410,7 @@ static ivas_error renderSbaToBinauralRoom( tmpRotBuffer = outAudio; /* avoid compilation warning */ - wmops_sub_start( "renderSbaToBinauralRoom" ); + push_wmops( "renderSbaToBinauralRoom" ); headRotEnabled = sbaInput->base.ctx.pHeadRotData->headRotEnabled; @@ -4454,7 +4454,7 @@ static ivas_error renderSbaToBinauralRoom( } count_free( tmpMcBuffer.data ); - wmops_sub_end(); + pop_wmops(); return IVAS_ERR_OK; } -- GitLab From cf91c02c09a6ef590c62580ef74733d498ae2695 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 10:36:50 +0100 Subject: [PATCH 119/620] Replaced #include wmops.h with wmc_auto.h --- apps/decoder.c | 2 +- apps/encoder.c | 2 +- apps/renderer.c | 2 +- lib_com/ACcontextMapping.c | 2 +- lib_com/ari.c | 2 +- lib_com/ari_hm.c | 2 +- lib_com/arith_coder.c | 2 +- lib_com/bitalloc.c | 2 +- lib_com/bitallocsum.c | 2 +- lib_com/bits_alloc.c | 2 +- lib_com/bitstream.c | 2 +- lib_com/calc_st_com.c | 2 +- lib_com/cb_shape.c | 2 +- lib_com/cldfb.c | 2 +- lib_com/cng_exc.c | 2 +- lib_com/codec_tcx_common.c | 2 +- lib_com/core_com_config.c | 2 +- lib_com/deemph.c | 2 +- lib_com/delay_comp.c | 2 +- lib_com/dlpc_bfi.c | 2 +- lib_com/edct.c | 2 +- lib_com/enhancer.c | 2 +- lib_com/enr_1_az.c | 2 +- lib_com/env_adj.c | 2 +- lib_com/env_stab.c | 2 +- lib_com/env_stab_trans.c | 2 +- lib_com/est_tilt.c | 2 +- lib_com/fd_cng_com.c | 2 +- lib_com/fft.c | 2 +- lib_com/fft_cldfb.c | 2 +- lib_com/fft_rel.c | 2 +- lib_com/fill_spectrum.c | 2 +- lib_com/findpulse.c | 2 +- lib_com/fine_gain_bits.c | 2 +- lib_com/frame_ener.c | 2 +- lib_com/get_gain.c | 2 +- lib_com/gs_bitallocation.c | 2 +- lib_com/gs_gains.c | 2 +- lib_com/gs_inact_switching.c | 2 +- lib_com/gs_noisefill.c | 2 +- lib_com/gs_preech.c | 2 +- lib_com/guided_plc_util.c | 2 +- lib_com/hp50.c | 2 +- lib_com/hq2_bit_alloc.c | 2 +- lib_com/hq2_core_com.c | 2 +- lib_com/hq2_noise_inject.c | 2 +- lib_com/hq_bit_allocation.c | 2 +- lib_com/hq_conf.c | 2 +- lib_com/hq_tools.c | 2 +- lib_com/hvq_pvq_bitalloc.c | 2 +- lib_com/ifft_rel.c | 2 +- lib_com/igf_base.c | 2 +- lib_com/index_pvq_opt.c | 2 +- lib_com/int_lsp.c | 2 +- lib_com/interleave_spectrum.c | 2 +- lib_com/interpol.c | 2 +- lib_com/isf_dec_amr_wb.c | 2 +- lib_com/ivas_agc_com.c | 2 +- lib_com/ivas_arith.c | 2 +- lib_com/ivas_avq_pos_reorder_com.c | 2 +- lib_com/ivas_cov_smooth.c | 2 +- lib_com/ivas_dirac_com.c | 2 +- lib_com/ivas_entropy_coder_common.c | 2 +- lib_com/ivas_fb_mixer.c | 2 +- lib_com/ivas_filters.c | 2 +- lib_com/ivas_ism_config.c | 2 +- lib_com/ivas_masa_com.c | 2 +- lib_com/ivas_mc_com.c | 2 +- lib_com/ivas_mc_param_com.c | 2 +- lib_com/ivas_mcmasa_com.c | 2 +- lib_com/ivas_mct_com.c | 2 +- lib_com/ivas_mdct_core_com.c | 2 +- lib_com/ivas_mdct_imdct.c | 2 +- lib_com/ivas_mdft_imdft.c | 2 +- lib_com/ivas_pca_tools.c | 2 +- lib_com/ivas_qmetadata_com.c | 2 +- lib_com/ivas_qspherical_com.c | 2 +- lib_com/ivas_rom_com.c | 2 +- lib_com/ivas_sba_config.c | 2 +- lib_com/ivas_sns_com.c | 2 +- lib_com/ivas_spar_com.c | 2 +- lib_com/ivas_spar_com_quant_util.c | 2 +- lib_com/ivas_stereo_dft_com.c | 2 +- lib_com/ivas_stereo_eclvq_com.c | 2 +- lib_com/ivas_stereo_ica_com.c | 2 +- lib_com/ivas_stereo_mdct_bands_com.c | 2 +- lib_com/ivas_stereo_mdct_stereo_com.c | 2 +- lib_com/ivas_stereo_psychlpc_com.c | 2 +- lib_com/ivas_stereo_td_bit_alloc.c | 2 +- lib_com/ivas_tools.c | 2 +- lib_com/ivas_transient_det.c | 2 +- lib_com/lag_wind.c | 2 +- lib_com/lerp.c | 2 +- lib_com/limit_t0.c | 2 +- lib_com/logqnorm.c | 2 +- lib_com/longarith.c | 2 +- lib_com/low_rate_band_att.c | 2 +- lib_com/lpc_tools.c | 2 +- lib_com/lsf_dec_bfi.c | 2 +- lib_com/lsf_msvq_ma.c | 2 +- lib_com/lsf_tools.c | 2 +- lib_com/lsp_conv_poly.c | 2 +- lib_com/modif_fs.c | 2 +- lib_com/mslvq_com.c | 2 +- lib_com/nelp.c | 2 +- lib_com/parameter_bitmaping.c | 2 +- lib_com/phase_dispersion.c | 2 +- lib_com/ppp.c | 2 +- lib_com/pred_lt4.c | 2 +- lib_com/preemph.c | 2 +- lib_com/pvq_com.c | 2 +- lib_com/range_com.c | 2 +- lib_com/re8_ppv.c | 4 ++-- lib_com/re8_util.c | 2 +- lib_com/realft.c | 2 +- lib_com/recovernorm.c | 2 +- lib_com/reordvct.c | 2 +- lib_com/residu.c | 2 +- lib_com/rom_com.c | 2 +- lib_com/stab_est.c | 2 +- lib_com/stat_noise_uv_mod.c | 2 +- lib_com/swb_bwe_com.c | 2 +- lib_com/swb_bwe_com_hr.c | 2 +- lib_com/swb_bwe_com_lr.c | 2 +- lib_com/swb_tbe_com.c | 2 +- lib_com/syn_12k8.c | 2 +- lib_com/syn_filt.c | 2 +- lib_com/tcq_position_arith.c | 2 +- lib_com/tcx_ltp.c | 2 +- lib_com/tcx_mdct.c | 2 +- lib_com/tcx_mdct_window.c | 2 +- lib_com/tcx_utils.c | 2 +- lib_com/tec_com.c | 2 +- lib_com/tns_base.c | 2 +- lib_com/tools.c | 2 +- lib_com/trans_direct.c | 2 +- lib_com/trans_inv.c | 2 +- lib_com/vlpc_2st_com.c | 2 +- lib_com/weight.c | 2 +- lib_com/weight_a.c | 2 +- lib_com/wi.c | 2 +- lib_com/window_ola.c | 2 +- lib_com/wtda.c | 2 +- lib_debug/debug.c | 2 +- lib_debug/sba_debug.c | 2 +- lib_debug/segsnr.c | 2 +- lib_debug/snr.c | 2 +- lib_dec/ACcontextMapping_dec.c | 2 +- lib_dec/FEC.c | 2 +- lib_dec/FEC_HQ_core.c | 2 +- lib_dec/FEC_HQ_phase_ecu.c | 2 +- lib_dec/FEC_adapt_codebook.c | 2 +- lib_dec/FEC_clas_estim.c | 2 +- lib_dec/FEC_lsf_estim.c | 2 +- lib_dec/FEC_pitch_estim.c | 2 +- lib_dec/FEC_scale_syn.c | 2 +- lib_dec/LD_music_post_filter.c | 2 +- lib_dec/TonalComponentDetection.c | 2 +- lib_dec/acelp_core_dec.c | 2 +- lib_dec/acelp_core_switch_dec.c | 2 +- lib_dec/amr_wb_dec.c | 2 +- lib_dec/ari_dec.c | 2 +- lib_dec/ari_hm_dec.c | 2 +- lib_dec/arith_coder_dec.c | 2 +- lib_dec/avq_dec.c | 2 +- lib_dec/bass_psfilter.c | 2 +- lib_dec/cng_dec.c | 2 +- lib_dec/core_dec_init.c | 2 +- lib_dec/core_dec_reconf.c | 2 +- lib_dec/core_dec_switch.c | 2 +- lib_dec/core_switching_dec.c | 2 +- lib_dec/d_gain2p.c | 2 +- lib_dec/dec2t32.c | 2 +- lib_dec/dec4t64.c | 2 +- lib_dec/dec_LPD.c | 2 +- lib_dec/dec_ace.c | 2 +- lib_dec/dec_acelp.c | 2 +- lib_dec/dec_acelp_tcx_main.c | 2 +- lib_dec/dec_amr_wb.c | 2 +- lib_dec/dec_gen_voic.c | 2 +- lib_dec/dec_higher_acelp.c | 2 +- lib_dec/dec_nelp.c | 2 +- lib_dec/dec_pit_exc.c | 2 +- lib_dec/dec_post.c | 2 +- lib_dec/dec_ppp.c | 2 +- lib_dec/dec_prm.c | 2 +- lib_dec/dec_tcx.c | 2 +- lib_dec/dec_tran.c | 2 +- lib_dec/dec_uv.c | 2 +- lib_dec/decision_matrix_dec.c | 2 +- lib_dec/dlpc_avq.c | 2 +- lib_dec/dlpc_stoch.c | 2 +- lib_dec/er_dec_acelp.c | 2 +- lib_dec/er_dec_tcx.c | 2 +- lib_dec/er_scale_syn.c | 2 +- lib_dec/er_sync_exc.c | 2 +- lib_dec/er_util.c | 2 +- lib_dec/evs_dec.c | 2 +- lib_dec/fd_cng_dec.c | 2 +- lib_dec/gain_dec.c | 2 +- lib_dec/gaus_dec.c | 2 +- lib_dec/gs_dec.c | 2 +- lib_dec/gs_dec_amr_wb.c | 2 +- lib_dec/hdecnrm.c | 2 +- lib_dec/hf_synth.c | 2 +- lib_dec/hq_classifier_dec.c | 2 +- lib_dec/hq_conf_fec.c | 2 +- lib_dec/hq_core_dec.c | 2 +- lib_dec/hq_env_dec.c | 2 +- lib_dec/hq_hr_dec.c | 2 +- lib_dec/hq_lr_dec.c | 2 +- lib_dec/igf_dec.c | 2 +- lib_dec/igf_scf_dec.c | 2 +- lib_dec/init_dec.c | 2 +- lib_dec/inov_dec.c | 2 +- lib_dec/ivas_agc_dec.c | 2 +- lib_dec/ivas_core_dec.c | 2 +- lib_dec/ivas_corecoder_dec_reconfig.c | 2 +- lib_dec/ivas_cpe_dec.c | 2 +- lib_dec/ivas_dec.c | 2 +- lib_dec/ivas_decision_matrix_dec.c | 2 +- lib_dec/ivas_dirac_dec.c | 2 +- lib_dec/ivas_dirac_dec_binaural_functions.c | 2 +- lib_dec/ivas_dirac_decorr_dec.c | 2 +- lib_dec/ivas_dirac_onsets_dec.c | 2 +- lib_dec/ivas_dirac_output_synthesis_cov.c | 2 +- lib_dec/ivas_dirac_output_synthesis_dec.c | 2 +- lib_dec/ivas_entropy_decoder.c | 2 +- lib_dec/ivas_init_dec.c | 2 +- lib_dec/ivas_ism_metadata_dec.c | 2 +- lib_dec/ivas_ism_param_dec.c | 2 +- lib_dec/ivas_ism_renderer.c | 2 +- lib_dec/ivas_lfe_dec.c | 2 +- lib_dec/ivas_lfe_plc.c | 2 +- lib_dec/ivas_masa_dec.c | 2 +- lib_dec/ivas_mc_param_dec.c | 2 +- lib_dec/ivas_mct_core_dec.c | 2 +- lib_dec/ivas_mct_dec.c | 2 +- lib_dec/ivas_mct_dec_mct.c | 2 +- lib_dec/ivas_mdct_core_dec.c | 2 +- lib_dec/ivas_mono_dmx_renderer.c | 2 +- lib_dec/ivas_out_setup_conversion.c | 2 +- lib_dec/ivas_pca_dec.c | 2 +- lib_dec/ivas_post_proc.c | 2 +- lib_dec/ivas_qmetadata_dec.c | 2 +- lib_dec/ivas_qspherical_dec.c | 2 +- lib_dec/ivas_range_uni_dec.c | 2 +- lib_dec/ivas_rom_dec.c | 2 +- lib_dec/ivas_sba_dec.c | 2 +- lib_dec/ivas_sba_dirac_stereo_dec.c | 2 +- lib_dec/ivas_sce_dec.c | 2 +- lib_dec/ivas_sns_dec.c | 2 +- lib_dec/ivas_spar_decoder.c | 2 +- lib_dec/ivas_spar_md_dec.c | 2 +- lib_dec/ivas_stereo_adapt_GR_dec.c | 2 +- lib_dec/ivas_stereo_cng_dec.c | 2 +- lib_dec/ivas_stereo_dft_dec.c | 2 +- lib_dec/ivas_stereo_dft_dec_dmx.c | 2 +- lib_dec/ivas_stereo_dft_plc.c | 2 +- lib_dec/ivas_stereo_eclvq_dec.c | 2 +- lib_dec/ivas_stereo_esf_dec.c | 2 +- lib_dec/ivas_stereo_ica_dec.c | 2 +- lib_dec/ivas_stereo_icbwe_dec.c | 2 +- lib_dec/ivas_stereo_mdct_core_dec.c | 2 +- lib_dec/ivas_stereo_mdct_stereo_dec.c | 2 +- lib_dec/ivas_stereo_switching_dec.c | 2 +- lib_dec/ivas_stereo_td_dec.c | 2 +- lib_dec/ivas_stereo_td_low_rate_dec.c | 2 +- lib_dec/ivas_svd_dec.c | 2 +- lib_dec/ivas_tcx_core_dec.c | 2 +- lib_dec/ivas_td_decorr.c | 2 +- lib_dec/ivas_vbap.c | 2 +- lib_dec/jbm_jb4_circularbuffer.c | 2 +- lib_dec/jbm_jb4_jmf.c | 2 +- lib_dec/jbm_jb4sb.c | 2 +- lib_dec/jbm_pcmdsp_apa.c | 2 +- lib_dec/jbm_pcmdsp_fifo.c | 2 +- lib_dec/jbm_pcmdsp_similarityestimation.c | 2 +- lib_dec/jbm_pcmdsp_window.c | 2 +- lib_dec/lead_deindexing.c | 2 +- lib_dec/lib_dec.c | 2 +- lib_dec/lp_exc_d.c | 2 +- lib_dec/lsf_dec.c | 2 +- lib_dec/lsf_msvq_ma_dec.c | 2 +- lib_dec/nelp_dec.c | 2 +- lib_dec/peak_vq_dec.c | 2 +- lib_dec/pit_dec.c | 2 +- lib_dec/pitch_extr.c | 2 +- lib_dec/post_dec.c | 2 +- lib_dec/ppp_dec.c | 2 +- lib_dec/pvq_core_dec.c | 2 +- lib_dec/pvq_decode.c | 2 +- lib_dec/range_dec.c | 2 +- lib_dec/re8_dec.c | 2 +- lib_dec/rom_dec.c | 2 +- lib_dec/rst_dec.c | 2 +- lib_dec/stat_noise_uv_dec.c | 2 +- lib_dec/swb_bwe_dec.c | 2 +- lib_dec/swb_bwe_dec_hr.c | 2 +- lib_dec/swb_bwe_dec_lr.c | 2 +- lib_dec/swb_tbe_dec.c | 2 +- lib_dec/syn_outp.c | 2 +- lib_dec/tcq_core_dec.c | 2 +- lib_dec/tcx_utils_dec.c | 2 +- lib_dec/tns_base_dec.c | 2 +- lib_dec/tonalMDCTconcealment.c | 2 +- lib_dec/transition_dec.c | 2 +- lib_dec/updt_dec.c | 2 +- lib_dec/vlpc_1st_dec.c | 2 +- lib_dec/vlpc_2st_dec.c | 2 +- lib_dec/voiced_dec.c | 2 +- lib_dec/waveadjust_fec_dec.c | 2 +- lib_enc/ACcontextMapping_enc.c | 2 +- lib_enc/FEC_enc.c | 2 +- lib_enc/SNR_calc.c | 2 +- lib_enc/acelp_core_enc.c | 2 +- lib_enc/acelp_core_switch_enc.c | 2 +- lib_enc/acelp_enc_util.c | 2 +- lib_enc/amr_wb_enc.c | 2 +- lib_enc/analy_lp.c | 2 +- lib_enc/analy_sp.c | 2 +- lib_enc/ari_enc.c | 2 +- lib_enc/ari_hm_enc.c | 2 +- lib_enc/arith_coder_enc.c | 2 +- lib_enc/avq_cod.c | 2 +- lib_enc/bass_psfilter_enc.c | 2 +- lib_enc/bw_detect.c | 2 +- lib_enc/cng_enc.c | 2 +- lib_enc/cod2t32.c | 2 +- lib_enc/cod4t64.c | 2 +- lib_enc/cod4t64_fast.c | 2 +- lib_enc/cod_ace.c | 2 +- lib_enc/cod_tcx.c | 2 +- lib_enc/cod_uv.c | 2 +- lib_enc/comvad_decision.c | 2 +- lib_enc/cor_shif.c | 2 +- lib_enc/core_enc_2div.c | 2 +- lib_enc/core_enc_init.c | 2 +- lib_enc/core_enc_ol.c | 2 +- lib_enc/core_enc_reconf.c | 2 +- lib_enc/core_enc_switch.c | 2 +- lib_enc/core_enc_updt.c | 2 +- lib_enc/core_switching_enc.c | 2 +- lib_enc/corr_xh.c | 2 +- lib_enc/decision_matrix_enc.c | 2 +- lib_enc/detect_transient.c | 2 +- lib_enc/diffcod.c | 2 +- lib_enc/dtx.c | 2 +- lib_enc/enc_acelp.c | 2 +- lib_enc/enc_acelp_tcx_main.c | 2 +- lib_enc/enc_acelpx.c | 2 +- lib_enc/enc_amr_wb.c | 2 +- lib_enc/enc_gain.c | 2 +- lib_enc/enc_gen_voic.c | 2 +- lib_enc/enc_gen_voic_rf.c | 2 +- lib_enc/enc_higher_acelp.c | 2 +- lib_enc/enc_nelp.c | 2 +- lib_enc/enc_pit_exc.c | 2 +- lib_enc/enc_ppp.c | 2 +- lib_enc/enc_prm.c | 2 +- lib_enc/enc_tran.c | 2 +- lib_enc/enc_uv.c | 2 +- lib_enc/energy.c | 2 +- lib_enc/eval_pit_contr.c | 2 +- lib_enc/evs_enc.c | 2 +- lib_enc/ext_sig_ana.c | 2 +- lib_enc/fd_cng_enc.c | 2 +- lib_enc/find_tar.c | 2 +- lib_enc/find_tilt.c | 2 +- lib_enc/find_uv.c | 2 +- lib_enc/find_wsp.c | 2 +- lib_enc/frame_spec_dif_cor_rate.c | 2 +- lib_enc/gain_enc.c | 2 +- lib_enc/gaus_enc.c | 2 +- lib_enc/gp_clip.c | 2 +- lib_enc/gs_enc.c | 2 +- lib_enc/guided_plc_enc.c | 2 +- lib_enc/hf_cod_amrwb.c | 2 +- lib_enc/hq_classifier_enc.c | 2 +- lib_enc/hq_core_enc.c | 2 +- lib_enc/hq_env_enc.c | 2 +- lib_enc/hq_hr_enc.c | 2 +- lib_enc/hq_lr_enc.c | 2 +- lib_enc/hvq_enc.c | 2 +- lib_enc/igf_enc.c | 2 +- lib_enc/igf_scf_enc.c | 2 +- lib_enc/init_enc.c | 2 +- lib_enc/inov_enc.c | 2 +- lib_enc/isf_enc_amr_wb.c | 2 +- lib_enc/ivas_agc_enc.c | 2 +- lib_enc/ivas_core_enc.c | 2 +- lib_enc/ivas_core_pre_proc.c | 2 +- lib_enc/ivas_core_pre_proc_front.c | 2 +- lib_enc/ivas_corecoder_enc_reconfig.c | 2 +- lib_enc/ivas_cpe_enc.c | 2 +- lib_enc/ivas_decision_matrix_enc.c | 2 +- lib_enc/ivas_dirac_enc.c | 2 +- lib_enc/ivas_enc.c | 2 +- lib_enc/ivas_enc_cov_handler.c | 2 +- lib_enc/ivas_entropy_coder.c | 2 +- lib_enc/ivas_front_vad.c | 2 +- lib_enc/ivas_init_enc.c | 2 +- lib_enc/ivas_ism_enc.c | 2 +- lib_enc/ivas_ism_metadata_enc.c | 2 +- lib_enc/ivas_ism_param_enc.c | 2 +- lib_enc/ivas_lfe_enc.c | 2 +- lib_enc/ivas_masa_enc.c | 2 +- lib_enc/ivas_mc_param_enc.c | 2 +- lib_enc/ivas_mcmasa_enc.c | 2 +- lib_enc/ivas_mct_core_enc.c | 2 +- lib_enc/ivas_mct_enc.c | 2 +- lib_enc/ivas_mct_enc_mct.c | 2 +- lib_enc/ivas_mdct_core_enc.c | 2 +- lib_enc/ivas_pca_enc.c | 2 +- lib_enc/ivas_qmetadata_enc.c | 2 +- lib_enc/ivas_qspherical_enc.c | 2 +- lib_enc/ivas_range_uni_enc.c | 2 +- lib_enc/ivas_rom_enc.c | 2 +- lib_enc/ivas_sba_enc.c | 2 +- lib_enc/ivas_sce_enc.c | 2 +- lib_enc/ivas_sns_enc.c | 2 +- lib_enc/ivas_spar_encoder.c | 2 +- lib_enc/ivas_spar_md_enc.c | 2 +- lib_enc/ivas_stereo_adapt_GR_enc.c | 2 +- lib_enc/ivas_stereo_classifier.c | 2 +- lib_enc/ivas_stereo_cng_enc.c | 2 +- lib_enc/ivas_stereo_dft_enc.c | 2 +- lib_enc/ivas_stereo_dft_enc_itd.c | 2 +- lib_enc/ivas_stereo_dft_td_itd.c | 2 +- lib_enc/ivas_stereo_dmx_evs.c | 2 +- lib_enc/ivas_stereo_eclvq_enc.c | 2 +- lib_enc/ivas_stereo_ica_enc.c | 2 +- lib_enc/ivas_stereo_icbwe_enc.c | 2 +- lib_enc/ivas_stereo_mdct_core_enc.c | 2 +- lib_enc/ivas_stereo_mdct_igf_enc.c | 2 +- lib_enc/ivas_stereo_mdct_stereo_enc.c | 2 +- lib_enc/ivas_stereo_switching_enc.c | 2 +- lib_enc/ivas_stereo_td_analysis.c | 2 +- lib_enc/ivas_stereo_td_enc.c | 2 +- lib_enc/ivas_stereo_td_low_rate_enc.c | 2 +- lib_enc/ivas_tcx_core_enc.c | 2 +- lib_enc/lead_indexing.c | 2 +- lib_enc/lib_enc.c | 2 +- lib_enc/long_enr.c | 2 +- lib_enc/lp_exc_e.c | 2 +- lib_enc/lsf_enc.c | 2 +- lib_enc/lsf_msvq_ma_enc.c | 2 +- lib_enc/ltd_stable.c | 2 +- lib_enc/mdct_classifier.c | 2 +- lib_enc/mdct_selector.c | 2 +- lib_enc/mslvq_enc.c | 2 +- lib_enc/multi_harm.c | 2 +- lib_enc/nelp_enc.c | 2 +- lib_enc/nois_est.c | 2 +- lib_enc/noise_adjust.c | 2 +- lib_enc/normalizecoefs.c | 2 +- lib_enc/peak_vq_enc.c | 2 +- lib_enc/pit_enc.c | 2 +- lib_enc/pitch_ol.c | 2 +- lib_enc/pitch_ol2.c | 2 +- lib_enc/plc_enc_ext.c | 2 +- lib_enc/ppp_enc.c | 2 +- lib_enc/pre_proc.c | 2 +- lib_enc/pvq_core_enc.c | 2 +- lib_enc/pvq_encode.c | 2 +- lib_enc/q_gain2p.c | 2 +- lib_enc/qlpc_avq.c | 2 +- lib_enc/qlpc_stoch.c | 2 +- lib_enc/range_enc.c | 2 +- lib_enc/re8_cod.c | 2 +- lib_enc/reordernorm.c | 2 +- lib_enc/rom_enc.c | 2 +- lib_enc/rst_enc.c | 2 +- lib_enc/set_impulse.c | 2 +- lib_enc/setmodeindex.c | 2 +- lib_enc/sig_clas.c | 2 +- lib_enc/spec_center.c | 2 +- lib_enc/spec_flatness.c | 2 +- lib_enc/speech_music_classif.c | 2 +- lib_enc/stat_noise_uv_enc.c | 2 +- lib_enc/subband_fft.c | 2 +- lib_enc/swb_bwe_enc.c | 2 +- lib_enc/swb_bwe_enc_hr.c | 2 +- lib_enc/swb_bwe_enc_lr.c | 2 +- lib_enc/swb_pre_proc.c | 2 +- lib_enc/swb_tbe_enc.c | 2 +- lib_enc/tcq_core_enc.c | 2 +- lib_enc/tcx_ltp_enc.c | 2 +- lib_enc/tcx_utils_enc.c | 2 +- lib_enc/tfa_enc.c | 2 +- lib_enc/tns_base_enc.c | 2 +- lib_enc/transient_detection.c | 2 +- lib_enc/transition_enc.c | 2 +- lib_enc/update_decision.c | 2 +- lib_enc/updt_enc.c | 2 +- lib_enc/updt_tar.c | 2 +- lib_enc/vad.c | 2 +- lib_enc/vad_param_updt.c | 2 +- lib_enc/vad_proc.c | 2 +- lib_enc/vbr_average_rate.c | 2 +- lib_enc/vlpc_1st_cod.c | 2 +- lib_enc/vlpc_2st_cod.c | 2 +- lib_enc/voiced_enc.c | 2 +- lib_enc/waveadjust_fec_cod.c | 2 +- lib_rend/ivas_allrad_dec.c | 2 +- lib_rend/ivas_binauralRenderer.c | 2 +- lib_rend/ivas_binaural_reverb.c | 2 +- lib_rend/ivas_crend.c | 2 +- lib_rend/ivas_efap.c | 2 +- lib_rend/ivas_hrtf.c | 2 +- lib_rend/ivas_limiter.c | 2 +- lib_rend/ivas_ls_custom_dec.c | 2 +- lib_rend/ivas_objectRenderer.c | 2 +- lib_rend/ivas_objectRenderer_hrFilt.c | 2 +- lib_rend/ivas_objectRenderer_mix.c | 2 +- lib_rend/ivas_objectRenderer_sfx.c | 2 +- lib_rend/ivas_objectRenderer_sources.c | 2 +- lib_rend/ivas_objectRenderer_vec.c | 2 +- lib_rend/ivas_orient_trk.c | 2 +- lib_rend/ivas_output_init.c | 2 +- lib_rend/ivas_render_config.c | 2 +- lib_rend/ivas_reverb.c | 2 +- lib_rend/ivas_reverb_delay_line.c | 2 +- lib_rend/ivas_reverb_fft_filter.c | 2 +- lib_rend/ivas_reverb_filter_design.c | 2 +- lib_rend/ivas_reverb_iir_filter.c | 2 +- lib_rend/ivas_reverb_utils.c | 2 +- lib_rend/ivas_rom_TdBinauralRenderer.c | 2 +- lib_rend/ivas_rom_binauralRenderer.c | 2 +- lib_rend/ivas_rotation.c | 2 +- lib_rend/ivas_sba_rendering.c | 2 +- lib_rend/lib_rend.c | 2 +- lib_util/audio_file_reader.c | 2 +- lib_util/audio_file_writer.c | 2 +- scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c | 2 +- 535 files changed, 536 insertions(+), 536 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 64779c92b1..aaef6c2cd5 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -46,7 +46,7 @@ #ifdef WMOPS #include "PROM_Size_lib_com.h" #include "PROM_Size_lib_dec.h" -#include "wmops.h" +#include "wmc_auto.h" #endif #ifdef RAM_COUNTING_TOOL #include "mem_count.h" diff --git a/apps/encoder.c b/apps/encoder.c index e9325ded59..45e292ddf8 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -42,7 +42,7 @@ #ifdef WMOPS #include "PROM_Size_lib_com.h" #include "PROM_Size_lib_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #endif #ifdef RAM_COUNTING_TOOL #include "mem_count.h" diff --git a/apps/renderer.c b/apps/renderer.c index 0d46dd05f4..5674793bcc 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -47,7 +47,7 @@ #include "render_config_reader.h" #ifdef WMOPS #include "PROM_Size_lib_rend.h" -#include "wmops.h" +#include "wmc_auto.h" #endif #ifdef RAM_COUNTING_TOOL #include "mem_count.h" diff --git a/lib_com/ACcontextMapping.c b/lib_com/ACcontextMapping.c index 27c51eb179..d9170b7ea0 100644 --- a/lib_com/ACcontextMapping.c +++ b/lib_com/ACcontextMapping.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * get_next_coeff_mapped() diff --git a/lib_com/ari.c b/lib_com/ari.c index 3b7ccfd9a4..55d88af255 100644 --- a/lib_com/ari.c +++ b/lib_com/ari.c @@ -39,7 +39,7 @@ #include "prot.h" #include "basop_util.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- diff --git a/lib_com/ari_hm.c b/lib_com/ari_hm.c index 78e639ea91..d4727d6116 100644 --- a/lib_com/ari_hm.c +++ b/lib_com/ari_hm.c @@ -42,7 +42,7 @@ #include "basop_util.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * UnmapIndex() diff --git a/lib_com/arith_coder.c b/lib_com/arith_coder.c index e534a23e04..7a862fa5d0 100644 --- a/lib_com/arith_coder.c +++ b/lib_com/arith_coder.c @@ -45,7 +45,7 @@ #include "prot.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" #define WMC_TOOL_MAN diff --git a/lib_com/bitalloc.c b/lib_com/bitalloc.c index 97acd28c58..43b27971d3 100644 --- a/lib_com/bitalloc.c +++ b/lib_com/bitalloc.c @@ -44,7 +44,7 @@ #include "prot.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * bitalloc() diff --git a/lib_com/bitallocsum.c b/lib_com/bitallocsum.c index 124bf69fe5..99d4096758 100644 --- a/lib_com/bitallocsum.c +++ b/lib_com/bitallocsum.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * bitallocsum() diff --git a/lib_com/bits_alloc.c b/lib_com/bits_alloc.c index e9f9878853..6217037c35 100644 --- a/lib_com/bits_alloc.c +++ b/lib_com/bits_alloc.c @@ -43,7 +43,7 @@ #include "prot.h" #include "ivas_cnst.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 12f172f2a3..0c13dfc580 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -49,7 +49,7 @@ #include "ivas_prot.h" #include "ivas_cnst.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING diff --git a/lib_com/calc_st_com.c b/lib_com/calc_st_com.c index 5f1c3776d9..642f6159fe 100644 --- a/lib_com/calc_st_com.c +++ b/lib_com/calc_st_com.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------------- diff --git a/lib_com/cb_shape.c b/lib_com/cb_shape.c index b44c46ab0f..306d1c9a45 100644 --- a/lib_com/cb_shape.c +++ b/lib_com/cb_shape.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * cb_shape() diff --git a/lib_com/cldfb.c b/lib_com/cldfb.c index 1d9fefcebb..1706030a5a 100644 --- a/lib_com/cldfb.c +++ b/lib_com/cldfb.c @@ -44,7 +44,7 @@ #include "stat_dec.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #if __STDC_VERSION__ >= 199901L #if defined __ICL diff --git a/lib_com/cng_exc.c b/lib_com/cng_exc.c index 62955ee955..58f6fa87be 100644 --- a/lib_com/cng_exc.c +++ b/lib_com/cng_exc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_com/codec_tcx_common.c b/lib_com/codec_tcx_common.c index 98a2fb4bd0..16bf165bbf 100644 --- a/lib_com/codec_tcx_common.c +++ b/lib_com/codec_tcx_common.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * tcxGetNoiseFillingTilt() diff --git a/lib_com/core_com_config.c b/lib_com/core_com_config.c index 7ffb4f0e9f..d6a2ce9ada 100644 --- a/lib_com/core_com_config.c +++ b/lib_com/core_com_config.c @@ -42,7 +42,7 @@ #endif #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" diff --git a/lib_com/deemph.c b/lib_com/deemph.c index 20b5c43719..4cfff30ba4 100644 --- a/lib_com/deemph.c +++ b/lib_com/deemph.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * deemph() diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index a957150b93..60e4193ab1 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * get_delay() diff --git a/lib_com/dlpc_bfi.c b/lib_com/dlpc_bfi.c index 33ba286c3c..8adefe60a2 100644 --- a/lib_com/dlpc_bfi.c +++ b/lib_com/dlpc_bfi.c @@ -42,7 +42,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * routine: dlpc_bfi() diff --git a/lib_com/edct.c b/lib_com/edct.c index 8fe84049a6..9321b838a7 100644 --- a/lib_com/edct.c +++ b/lib_com/edct.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> /* for cosf, sinf */ static ivas_error get_edct_table( diff --git a/lib_com/enhancer.c b/lib_com/enhancer.c index 2ed4271c05..964f2845b7 100644 --- a/lib_com/enhancer.c +++ b/lib_com/enhancer.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/enr_1_az.c b/lib_com/enr_1_az.c index f5f88ed55c..6c99e673b7 100644 --- a/lib_com/enr_1_az.c +++ b/lib_com/enr_1_az.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * enr_1_Az() diff --git a/lib_com/env_adj.c b/lib_com/env_adj.c index a169311615..3f7fa94d8e 100644 --- a/lib_com/env_adj.c +++ b/lib_com/env_adj.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * env_adj() diff --git a/lib_com/env_stab.c b/lib_com/env_stab.c index abe93eddce..d07c74874d 100644 --- a/lib_com/env_stab.c +++ b/lib_com/env_stab.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING #include "assert.h" #endif diff --git a/lib_com/env_stab_trans.c b/lib_com/env_stab_trans.c index 6a8ca2b266..58ef2843d2 100644 --- a/lib_com/env_stab_trans.c +++ b/lib_com/env_stab_trans.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * env_stab_transient_detect() diff --git a/lib_com/est_tilt.c b/lib_com/est_tilt.c index e126f761f8..8089d546dd 100644 --- a/lib_com/est_tilt.c +++ b/lib_com/est_tilt.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * est_tilt() diff --git a/lib_com/fd_cng_com.c b/lib_com/fd_cng_com.c index 98b5a3df75..655a868166 100644 --- a/lib_com/fd_cng_com.c +++ b/lib_com/fd_cng_com.c @@ -43,7 +43,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- diff --git a/lib_com/fft.c b/lib_com/fft.c index ed0d6604e6..1823f51372 100644 --- a/lib_com/fft.c +++ b/lib_com/fft.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef _MSC_VER #pragma warning( disable : 4310 ) diff --git a/lib_com/fft_cldfb.c b/lib_com/fft_cldfb.c index 6967f87bcd..b2dcab8954 100644 --- a/lib_com/fft_cldfb.c +++ b/lib_com/fft_cldfb.c @@ -39,7 +39,7 @@ #include <assert.h> #include "prot.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" #if __STDC_VERSION__ >= 199901L #if defined __ICL diff --git a/lib_com/fft_rel.c b/lib_com/fft_rel.c index a8b96e8217..e9d12d41a9 100644 --- a/lib_com/fft_rel.c +++ b/lib_com/fft_rel.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_com/fill_spectrum.c b/lib_com/fill_spectrum.c index a3dbcf304b..e6923efc6a 100644 --- a/lib_com/fill_spectrum.c +++ b/lib_com/fill_spectrum.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * fill_spectrum() diff --git a/lib_com/findpulse.c b/lib_com/findpulse.c index e26980d225..4b8acee231 100644 --- a/lib_com/findpulse.c +++ b/lib_com/findpulse.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* * findpulse() diff --git a/lib_com/fine_gain_bits.c b/lib_com/fine_gain_bits.c index 240b174bef..8977479814 100644 --- a/lib_com/fine_gain_bits.c +++ b/lib_com/fine_gain_bits.c @@ -42,7 +42,7 @@ #include "rom_com.h" #include "prot.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * subband_gain_bits() diff --git a/lib_com/frame_ener.c b/lib_com/frame_ener.c index d5c38e6640..ff10a6e914 100644 --- a/lib_com/frame_ener.c +++ b/lib_com/frame_ener.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* * fer_energy() diff --git a/lib_com/get_gain.c b/lib_com/get_gain.c index 320d5ad12c..0cc12d4482 100644 --- a/lib_com/get_gain.c +++ b/lib_com/get_gain.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* * get_gain() diff --git a/lib_com/gs_bitallocation.c b/lib_com/gs_bitallocation.c index 8458fb754f..5015a6219a 100644 --- a/lib_com/gs_bitallocation.c +++ b/lib_com/gs_bitallocation.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/gs_gains.c b/lib_com/gs_gains.c index ea23b27781..4cc66d04b3 100644 --- a/lib_com/gs_gains.c +++ b/lib_com/gs_gains.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/gs_inact_switching.c b/lib_com/gs_inact_switching.c index a9d2a80046..f028160807 100644 --- a/lib_com/gs_inact_switching.c +++ b/lib_com/gs_inact_switching.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_com/gs_noisefill.c b/lib_com/gs_noisefill.c index 2885f324ca..23205aa5aa 100644 --- a/lib_com/gs_noisefill.c +++ b/lib_com/gs_noisefill.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * gs_noisf() diff --git a/lib_com/gs_preech.c b/lib_com/gs_preech.c index b7ab89a879..9a323db597 100644 --- a/lib_com/gs_preech.c +++ b/lib_com/gs_preech.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_com/guided_plc_util.c b/lib_com/guided_plc_util.c index cb14c503c8..0c962db3af 100644 --- a/lib_com/guided_plc_util.c +++ b/lib_com/guided_plc_util.c @@ -38,7 +38,7 @@ #include "options.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/hp50.c b/lib_com/hp50.c index 58b15a4211..50287d78a9 100644 --- a/lib_com/hp50.c +++ b/lib_com/hp50.c @@ -41,7 +41,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /* diff --git a/lib_com/hq2_bit_alloc.c b/lib_com/hq2_bit_alloc.c index b46f54480e..b3fa6f3616 100644 --- a/lib_com/hq2_bit_alloc.c +++ b/lib_com/hq2_bit_alloc.c @@ -45,7 +45,7 @@ #include "basop_util.h" #include "basop_mpy.h" #include "stl.h" -#include "wmops.h" +#include "wmc_auto.h" #define WMC_TOOL_MAN diff --git a/lib_com/hq2_core_com.c b/lib_com/hq2_core_com.c index 33411f9334..062d86615e 100644 --- a/lib_com/hq2_core_com.c +++ b/lib_com/hq2_core_com.c @@ -45,7 +45,7 @@ #include "prot.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * mdct_spectrum_denorm() diff --git a/lib_com/hq2_noise_inject.c b/lib_com/hq2_noise_inject.c index 3eac77d81b..5c112b60d9 100644 --- a/lib_com/hq2_noise_inject.c +++ b/lib_com/hq2_noise_inject.c @@ -41,7 +41,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq2_noise_inject() diff --git a/lib_com/hq_bit_allocation.c b/lib_com/hq_bit_allocation.c index fbb655e4f3..221178d5b1 100644 --- a/lib_com/hq_bit_allocation.c +++ b/lib_com/hq_bit_allocation.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq_bit_allocation() diff --git a/lib_com/hq_conf.c b/lib_com/hq_conf.c index ed548171a1..3a08d0de1c 100644 --- a/lib_com/hq_conf.c +++ b/lib_com/hq_conf.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq_configure() diff --git a/lib_com/hq_tools.c b/lib_com/hq_tools.c index 7a154a00a6..627590dd42 100644 --- a/lib_com/hq_tools.c +++ b/lib_com/hq_tools.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/hvq_pvq_bitalloc.c b/lib_com/hvq_pvq_bitalloc.c index 9357a37964..6004e35baa 100644 --- a/lib_com/hvq_pvq_bitalloc.c +++ b/lib_com/hvq_pvq_bitalloc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------*/ /* Function hvq_pvq_bitalloc */ diff --git a/lib_com/ifft_rel.c b/lib_com/ifft_rel.c index d0200f87be..ab3d68ac03 100644 --- a/lib_com/ifft_rel.c +++ b/lib_com/ifft_rel.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_com/igf_base.c b/lib_com/igf_base.c index 70b202770a..4d4c63f835 100644 --- a/lib_com/igf_base.c +++ b/lib_com/igf_base.c @@ -42,7 +42,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * IGF_ApplyTransFac() diff --git a/lib_com/index_pvq_opt.c b/lib_com/index_pvq_opt.c index e09c831dab..31010e2786 100644 --- a/lib_com/index_pvq_opt.c +++ b/lib_com/index_pvq_opt.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * LOCAL DEFINITIONS diff --git a/lib_com/int_lsp.c b/lib_com/int_lsp.c index 5e1175ab1e..d4d05d5f73 100644 --- a/lib_com/int_lsp.c +++ b/lib_com/int_lsp.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * int_lsp() diff --git a/lib_com/interleave_spectrum.c b/lib_com/interleave_spectrum.c index ae1432a1eb..a6bc325189 100644 --- a/lib_com/interleave_spectrum.c +++ b/lib_com/interleave_spectrum.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * interleave_spectrum() diff --git a/lib_com/interpol.c b/lib_com/interpol.c index da4b41a9f9..c23f790780 100644 --- a/lib_com/interpol.c +++ b/lib_com/interpol.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * interpolation() diff --git a/lib_com/isf_dec_amr_wb.c b/lib_com/isf_dec_amr_wb.c index 79eeda7b54..6a4dd2d96c 100644 --- a/lib_com/isf_dec_amr_wb.c +++ b/lib_com/isf_dec_amr_wb.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * isf_dec_amr_wb() diff --git a/lib_com/ivas_agc_com.c b/lib_com/ivas_agc_com.c index b02853555b..3716d3fa19 100644 --- a/lib_com/ivas_agc_com.c +++ b/lib_com/ivas_agc_com.c @@ -39,7 +39,7 @@ #include "debug.h" #endif #include <math.h> -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_arith.c b/lib_com/ivas_arith.c index 9edbf5f53c..00fb12db22 100644 --- a/lib_com/ivas_arith.c +++ b/lib_com/ivas_arith.c @@ -35,7 +35,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" #include "ivas_prot.h" #include "stat_dec.h" diff --git a/lib_com/ivas_avq_pos_reorder_com.c b/lib_com/ivas_avq_pos_reorder_com.c index 66152d26fd..79e31e9aac 100644 --- a/lib_com/ivas_avq_pos_reorder_com.c +++ b/lib_com/ivas_avq_pos_reorder_com.c @@ -36,7 +36,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * ordr_esti() diff --git a/lib_com/ivas_cov_smooth.c b/lib_com/ivas_cov_smooth.c index eaaec6a982..86e929bd1c 100644 --- a/lib_com/ivas_cov_smooth.c +++ b/lib_com/ivas_cov_smooth.c @@ -36,7 +36,7 @@ #include "debug.h" #endif #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" diff --git a/lib_com/ivas_dirac_com.c b/lib_com/ivas_dirac_com.c index a3bfeabdb2..0f49c3cc2c 100644 --- a/lib_com/ivas_dirac_com.c +++ b/lib_com/ivas_dirac_com.c @@ -39,7 +39,7 @@ #include "ivas_prot.h" #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_com/ivas_entropy_coder_common.c b/lib_com/ivas_entropy_coder_common.c index 1bc72598e2..5bb17f4555 100644 --- a/lib_com/ivas_entropy_coder_common.c +++ b/lib_com/ivas_entropy_coder_common.c @@ -39,7 +39,7 @@ #include "ivas_rom_com.h" #include "math.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_fb_mixer.c b/lib_com/ivas_fb_mixer.c index 8e60b4f841..ed034787bf 100644 --- a/lib_com/ivas_fb_mixer.c +++ b/lib_com/ivas_fb_mixer.c @@ -40,7 +40,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_filters.c b/lib_com/ivas_filters.c index 898ba7fe89..ae37910c66 100644 --- a/lib_com/ivas_filters.c +++ b/lib_com/ivas_filters.c @@ -38,7 +38,7 @@ #include "ivas_prot.h" #include "ivas_cnst.h" #include "ivas_stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_ism_config.c b/lib_com/ivas_ism_config.c index fc4be3127e..6c5ddb5910 100644 --- a/lib_com/ivas_ism_config.c +++ b/lib_com/ivas_ism_config.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_com/ivas_masa_com.c b/lib_com/ivas_masa_com.c index f98dcd8414..5bec680806 100644 --- a/lib_com/ivas_masa_com.c +++ b/lib_com/ivas_masa_com.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- * Local constants diff --git a/lib_com/ivas_mc_com.c b/lib_com/ivas_mc_com.c index a6ee0069ff..f9f3803a28 100644 --- a/lib_com/ivas_mc_com.c +++ b/lib_com/ivas_mc_com.c @@ -39,7 +39,7 @@ #include <math.h> #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- diff --git a/lib_com/ivas_mc_param_com.c b/lib_com/ivas_mc_param_com.c index 3690c1219f..8e198a643a 100644 --- a/lib_com/ivas_mc_param_com.c +++ b/lib_com/ivas_mc_param_com.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_com/ivas_mcmasa_com.c b/lib_com/ivas_mcmasa_com.c index 2441cf7973..4f03ed50a8 100644 --- a/lib_com/ivas_mcmasa_com.c +++ b/lib_com/ivas_mcmasa_com.c @@ -36,7 +36,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* diff --git a/lib_com/ivas_mct_com.c b/lib_com/ivas_mct_com.c index 97d7636a03..33b9c975ee 100644 --- a/lib_com/ivas_mct_com.c +++ b/lib_com/ivas_mct_com.c @@ -35,7 +35,7 @@ #include "ivas_cnst.h" #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> diff --git a/lib_com/ivas_mdct_core_com.c b/lib_com/ivas_mdct_core_com.c index fd80b2d054..32dba0ca7a 100644 --- a/lib_com/ivas_mdct_core_com.c +++ b/lib_com/ivas_mdct_core_com.c @@ -35,7 +35,7 @@ #include "ivas_cnst.h" #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * ivas_mdct_tcx10_bit_distribution() diff --git a/lib_com/ivas_mdct_imdct.c b/lib_com/ivas_mdct_imdct.c index 036f89201f..9e058b2777 100644 --- a/lib_com/ivas_mdct_imdct.c +++ b/lib_com/ivas_mdct_imdct.c @@ -38,7 +38,7 @@ #include "debug.h" #endif #include "ivas_stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_mdft_imdft.c b/lib_com/ivas_mdft_imdft.c index 61797d6746..c4e77186a5 100644 --- a/lib_com/ivas_mdft_imdft.c +++ b/lib_com/ivas_mdft_imdft.c @@ -39,7 +39,7 @@ #endif #include "ivas_rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_pca_tools.c b/lib_com/ivas_pca_tools.c index 21f3c0c1ec..62a6f543ff 100644 --- a/lib_com/ivas_pca_tools.c +++ b/lib_com/ivas_pca_tools.c @@ -40,7 +40,7 @@ #include <math.h> #include <assert.h> #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" diff --git a/lib_com/ivas_qmetadata_com.c b/lib_com/ivas_qmetadata_com.c index ee8cfd2f2f..fa508c05ff 100644 --- a/lib_com/ivas_qmetadata_com.c +++ b/lib_com/ivas_qmetadata_com.c @@ -39,7 +39,7 @@ #include "ivas_prot.h" #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * Local constants diff --git a/lib_com/ivas_qspherical_com.c b/lib_com/ivas_qspherical_com.c index cf88d4da30..b5cd6060af 100644 --- a/lib_com/ivas_qspherical_com.c +++ b/lib_com/ivas_qspherical_com.c @@ -39,7 +39,7 @@ #include "ivas_prot.h" #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_com/ivas_rom_com.c b/lib_com/ivas_rom_com.c index c843d5ddc4..fefbffdcc6 100644 --- a/lib_com/ivas_rom_com.c +++ b/lib_com/ivas_rom_com.c @@ -39,7 +39,7 @@ #include "cnst.h" #include "ivas_cnst.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /* clang-format off */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 64635577b4..a58f44ebab 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_com/ivas_sns_com.c b/lib_com/ivas_sns_com.c index cc0f07ffe0..052486f97e 100644 --- a/lib_com/ivas_sns_com.c +++ b/lib_com/ivas_sns_com.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- diff --git a/lib_com/ivas_spar_com.c b/lib_com/ivas_spar_com.c index 31db5f1bbc..0c7d08f42e 100644 --- a/lib_com/ivas_spar_com.c +++ b/lib_com/ivas_spar_com.c @@ -43,7 +43,7 @@ #include "ivas_rom_com.h" #include "cnst.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_com/ivas_spar_com_quant_util.c b/lib_com/ivas_spar_com_quant_util.c index c095e20107..7a6b0d2d85 100644 --- a/lib_com/ivas_spar_com_quant_util.c +++ b/lib_com/ivas_spar_com_quant_util.c @@ -40,7 +40,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* * Function ivas_quantise_real_values() diff --git a/lib_com/ivas_stereo_dft_com.c b/lib_com/ivas_stereo_dft_com.c index 2b889dde0a..d541e0ed30 100644 --- a/lib_com/ivas_stereo_dft_com.c +++ b/lib_com/ivas_stereo_dft_com.c @@ -38,7 +38,7 @@ #include "ivas_prot.h" #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- * stereo_dft_config() diff --git a/lib_com/ivas_stereo_eclvq_com.c b/lib_com/ivas_stereo_eclvq_com.c index 76fcff1395..d0e87c5875 100644 --- a/lib_com/ivas_stereo_eclvq_com.c +++ b/lib_com/ivas_stereo_eclvq_com.c @@ -37,7 +37,7 @@ #include "ivas_cnst.h" #include <assert.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- * ECSQ_init_instance() diff --git a/lib_com/ivas_stereo_ica_com.c b/lib_com/ivas_stereo_ica_com.c index b35c438d2e..1796cb88d1 100644 --- a/lib_com/ivas_stereo_ica_com.c +++ b/lib_com/ivas_stereo_ica_com.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "rom_com.h" #include "ivas_rom_com.h" diff --git a/lib_com/ivas_stereo_mdct_bands_com.c b/lib_com/ivas_stereo_mdct_bands_com.c index 16149941e4..43613beb59 100644 --- a/lib_com/ivas_stereo_mdct_bands_com.c +++ b/lib_com/ivas_stereo_mdct_bands_com.c @@ -38,7 +38,7 @@ #include "ivas_prot.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local union diff --git a/lib_com/ivas_stereo_mdct_stereo_com.c b/lib_com/ivas_stereo_mdct_stereo_com.c index cbb1423cd1..13aac9de70 100644 --- a/lib_com/ivas_stereo_mdct_stereo_com.c +++ b/lib_com/ivas_stereo_mdct_stereo_com.c @@ -34,7 +34,7 @@ #include "options.h" #include "ivas_cnst.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> /*-------------------------------------------------------------------* diff --git a/lib_com/ivas_stereo_psychlpc_com.c b/lib_com/ivas_stereo_psychlpc_com.c index 8a50caaa29..52df610e79 100644 --- a/lib_com/ivas_stereo_psychlpc_com.c +++ b/lib_com/ivas_stereo_psychlpc_com.c @@ -36,7 +36,7 @@ #include "ivas_prot.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> /*-------------------------------------------------------------------* diff --git a/lib_com/ivas_stereo_td_bit_alloc.c b/lib_com/ivas_stereo_td_bit_alloc.c index 7d5b0afb55..167cbafccd 100644 --- a/lib_com/ivas_stereo_td_bit_alloc.c +++ b/lib_com/ivas_stereo_td_bit_alloc.c @@ -42,7 +42,7 @@ #include "ivas_rom_com.h" #include "ivas_cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index b8fbaa833f..15defd670a 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -39,7 +39,7 @@ #include <math.h> #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_rom_com.h" /*--------------------------------------------------------------- diff --git a/lib_com/ivas_transient_det.c b/lib_com/ivas_transient_det.c index 0b398ec9d1..9a02c78c41 100644 --- a/lib_com/ivas_transient_det.c +++ b/lib_com/ivas_transient_det.c @@ -36,7 +36,7 @@ #include "debug.h" #endif #include "math.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" #include "ivas_cnst.h" #include "ivas_prot.h" diff --git a/lib_com/lag_wind.c b/lib_com/lag_wind.c index dba9f04de4..3e5a10bcfa 100644 --- a/lib_com/lag_wind.c +++ b/lib_com/lag_wind.c @@ -43,7 +43,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_com/lerp.c b/lib_com/lerp.c index 4708dc5ca4..0336ee0bb8 100644 --- a/lib_com/lerp.c +++ b/lib_com/lerp.c @@ -37,7 +37,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------* diff --git a/lib_com/limit_t0.c b/lib_com/limit_t0.c index 33a3ba4231..305d972626 100644 --- a/lib_com/limit_t0.c +++ b/lib_com/limit_t0.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------* * Local constants diff --git a/lib_com/logqnorm.c b/lib_com/logqnorm.c index 50ecd83898..788249e2f3 100644 --- a/lib_com/logqnorm.c +++ b/lib_com/logqnorm.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "prot.h" /* Function prototypes */ -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * logqnorm() diff --git a/lib_com/longarith.c b/lib_com/longarith.c index 2e5604d277..c8da255345 100644 --- a/lib_com/longarith.c +++ b/lib_com/longarith.c @@ -38,7 +38,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_com/low_rate_band_att.c b/lib_com/low_rate_band_att.c index 2ff62af41b..5a13fe5f14 100644 --- a/lib_com/low_rate_band_att.c +++ b/lib_com/low_rate_band_att.c @@ -42,7 +42,7 @@ #include <math.h> #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * fine_gain_pred() diff --git a/lib_com/lpc_tools.c b/lib_com/lpc_tools.c index 7e84d83fb2..191374577d 100644 --- a/lib_com/lpc_tools.c +++ b/lib_com/lpc_tools.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_com/lsf_dec_bfi.c b/lib_com/lsf_dec_bfi.c index f6da9ffb21..4b4492aeba 100644 --- a/lib_com/lsf_dec_bfi.c +++ b/lib_com/lsf_dec_bfi.c @@ -40,7 +40,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * routine: lsf_dec_bfi() diff --git a/lib_com/lsf_msvq_ma.c b/lib_com/lsf_msvq_ma.c index 0f091463bd..ac98c88293 100644 --- a/lib_com/lsf_msvq_ma.c +++ b/lib_com/lsf_msvq_ma.c @@ -45,7 +45,7 @@ #include "rom_com.h" #include "stl.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * midlsf_dec() diff --git a/lib_com/lsf_tools.c b/lib_com/lsf_tools.c index 3fc93a05f7..88aa59c9ae 100644 --- a/lib_com/lsf_tools.c +++ b/lib_com/lsf_tools.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/lsp_conv_poly.c b/lib_com/lsp_conv_poly.c index 1f882b5e90..7b3529202a 100644 --- a/lib_com/lsp_conv_poly.c +++ b/lib_com/lsp_conv_poly.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_com/modif_fs.c b/lib_com/modif_fs.c index a817f0c348..ee60cdb1f5 100644 --- a/lib_com/modif_fs.c +++ b/lib_com/modif_fs.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * modify_Fs() diff --git a/lib_com/mslvq_com.c b/lib_com/mslvq_com.c index 4d0593ce56..72db553cf3 100644 --- a/lib_com/mslvq_com.c +++ b/lib_com/mslvq_com.c @@ -39,7 +39,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*-----------------------------------------------------------------* diff --git a/lib_com/nelp.c b/lib_com/nelp.c index 63489ea27e..4c1243d31c 100644 --- a/lib_com/nelp.c +++ b/lib_com/nelp.c @@ -39,7 +39,7 @@ #include <math.h> #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * dequantize_uvg() diff --git a/lib_com/parameter_bitmaping.c b/lib_com/parameter_bitmaping.c index 95d5b77bbe..8a273aafea 100644 --- a/lib_com/parameter_bitmaping.c +++ b/lib_com/parameter_bitmaping.c @@ -42,7 +42,7 @@ #endif #include "stat_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /********************************/ diff --git a/lib_com/phase_dispersion.c b/lib_com/phase_dispersion.c index 7e1a1a4b14..a61ff20f2b 100644 --- a/lib_com/phase_dispersion.c +++ b/lib_com/phase_dispersion.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * phase_dispersion() diff --git a/lib_com/ppp.c b/lib_com/ppp.c index 9008e1b441..d8dbc23638 100644 --- a/lib_com/ppp.c +++ b/lib_com/ppp.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Interpol_delay() diff --git a/lib_com/pred_lt4.c b/lib_com/pred_lt4.c index 3226c31b57..d319ae17cb 100644 --- a/lib_com/pred_lt4.c +++ b/lib_com/pred_lt4.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * pred_lt4() diff --git a/lib_com/preemph.c b/lib_com/preemph.c index 32283198cd..000c828444 100644 --- a/lib_com/preemph.c +++ b/lib_com/preemph.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------* * preemph() diff --git a/lib_com/pvq_com.c b/lib_com/pvq_com.c index 750c20adb9..7c6629c9e1 100644 --- a/lib_com/pvq_com.c +++ b/lib_com/pvq_com.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "prot.h" #include "stl.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local definitions diff --git a/lib_com/range_com.c b/lib_com/range_com.c index 083b95edbb..57c6de705b 100644 --- a/lib_com/range_com.c +++ b/lib_com/range_com.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * rc_get_bits2() diff --git a/lib_com/re8_ppv.c b/lib_com/re8_ppv.c index ab48b24ced..6239a1960d 100644 --- a/lib_com/re8_ppv.c +++ b/lib_com/re8_ppv.c @@ -41,8 +41,8 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" -#include "wmops.h" +#include "wmc_auto.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_com/re8_util.c b/lib_com/re8_util.c index e4600774b4..c52bfdbd4c 100644 --- a/lib_com/re8_util.c +++ b/lib_com/re8_util.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_com/realft.c b/lib_com/realft.c index 0c0b8236c5..17db0602e7 100644 --- a/lib_com/realft.c +++ b/lib_com/realft.c @@ -42,7 +42,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * four1() diff --git a/lib_com/recovernorm.c b/lib_com/recovernorm.c index b5e35de268..43ea89468c 100644 --- a/lib_com/recovernorm.c +++ b/lib_com/recovernorm.c @@ -42,7 +42,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * recovernorm() diff --git a/lib_com/reordvct.c b/lib_com/reordvct.c index a497f28e4a..0f517e1a0f 100644 --- a/lib_com/reordvct.c +++ b/lib_com/reordvct.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * reordvct() diff --git a/lib_com/residu.c b/lib_com/residu.c index a897f70f25..119057f9ca 100644 --- a/lib_com/residu.c +++ b/lib_com/residu.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------* * residu() diff --git a/lib_com/rom_com.c b/lib_com/rom_com.c index e5f2b7ce0b..612d577135 100644 --- a/lib_com/rom_com.c +++ b/lib_com/rom_com.c @@ -43,7 +43,7 @@ #include "rom_com.h" #include "prot.h" #include "basop_util.h" -#include "wmops.h" +#include "wmc_auto.h" /* clang-format off */ diff --git a/lib_com/stab_est.c b/lib_com/stab_est.c index 0ee40153a6..2ffadd6554 100644 --- a/lib_com/stab_est.c +++ b/lib_com/stab_est.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_com/stat_noise_uv_mod.c b/lib_com/stat_noise_uv_mod.c index 72b843d1db..0c37a66311 100644 --- a/lib_com/stat_noise_uv_mod.c +++ b/lib_com/stat_noise_uv_mod.c @@ -41,7 +41,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_com/swb_bwe_com.c b/lib_com/swb_bwe_com.c index 4e692fc22b..9e9fc51405 100644 --- a/lib_com/swb_bwe_com.c +++ b/lib_com/swb_bwe_com.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * WB_BWE_gain_pred() diff --git a/lib_com/swb_bwe_com_hr.c b/lib_com/swb_bwe_com_hr.c index ebad781a99..4d4d674248 100644 --- a/lib_com/swb_bwe_com_hr.c +++ b/lib_com/swb_bwe_com_hr.c @@ -41,7 +41,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * swb_hr_nonzero_subband_noise_fill() diff --git a/lib_com/swb_bwe_com_lr.c b/lib_com/swb_bwe_com_lr.c index 963d881cb3..15fe32156f 100644 --- a/lib_com/swb_bwe_com_lr.c +++ b/lib_com/swb_bwe_com_lr.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * hf_parinitiz() diff --git a/lib_com/swb_tbe_com.c b/lib_com/swb_tbe_com.c index cc0c70cbbf..ac45f375e4 100644 --- a/lib_com/swb_tbe_com.c +++ b/lib_com/swb_tbe_com.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" #include <assert.h> diff --git a/lib_com/syn_12k8.c b/lib_com/syn_12k8.c index 4323853f98..96c462682a 100644 --- a/lib_com/syn_12k8.c +++ b/lib_com/syn_12k8.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------ * syn_12k8() diff --git a/lib_com/syn_filt.c b/lib_com/syn_filt.c index d571b9cb7f..680fc55c5c 100644 --- a/lib_com/syn_filt.c +++ b/lib_com/syn_filt.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> /*------------------------------------------------------------------* diff --git a/lib_com/tcq_position_arith.c b/lib_com/tcq_position_arith.c index 4c3c49e197..ca8e26ae84 100644 --- a/lib_com/tcq_position_arith.c +++ b/lib_com/tcq_position_arith.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" static void bitstream_save_bit( TCQ_PBITSTREAM pBS, const int16_t bit ); diff --git a/lib_com/tcx_ltp.c b/lib_com/tcx_ltp.c index 160a6e7875..ef119c62cb 100644 --- a/lib_com/tcx_ltp.c +++ b/lib_com/tcx_ltp.c @@ -42,7 +42,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * Local constants diff --git a/lib_com/tcx_mdct.c b/lib_com/tcx_mdct.c index d9713c9cfc..88ede107f4 100644 --- a/lib_com/tcx_mdct.c +++ b/lib_com/tcx_mdct.c @@ -39,7 +39,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * TCX_MDCT() diff --git a/lib_com/tcx_mdct_window.c b/lib_com/tcx_mdct_window.c index 2d1d474404..c73f782c95 100644 --- a/lib_com/tcx_mdct_window.c +++ b/lib_com/tcx_mdct_window.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * mdct_window_sine() diff --git a/lib_com/tcx_utils.c b/lib_com/tcx_utils.c index 6e868add48..42c5bce036 100644 --- a/lib_com/tcx_utils.c +++ b/lib_com/tcx_utils.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * tcx_get_windows() diff --git a/lib_com/tec_com.c b/lib_com/tec_com.c index 18b2e79b94..0aa4294289 100644 --- a/lib_com/tec_com.c +++ b/lib_com/tec_com.c @@ -41,7 +41,7 @@ #include "rom_com.h" #include "prot.h" #include "stat_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * Local constants diff --git a/lib_com/tns_base.c b/lib_com/tns_base.c index 94b014b59b..7327c6c9a9 100644 --- a/lib_com/tns_base.c +++ b/lib_com/tns_base.c @@ -41,7 +41,7 @@ #include "rom_com.h" #include "prot.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------------- diff --git a/lib_com/tools.c b/lib_com/tools.c index 2ab9952c0c..8957544cb7 100644 --- a/lib_com/tools.c +++ b/lib_com/tools.c @@ -41,7 +41,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * own_random() diff --git a/lib_com/trans_direct.c b/lib_com/trans_direct.c index d6e35d583e..2d65b87c52 100644 --- a/lib_com/trans_direct.c +++ b/lib_com/trans_direct.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * direct_transform() diff --git a/lib_com/trans_inv.c b/lib_com/trans_inv.c index 18c5fe0431..be153ab569 100644 --- a/lib_com/trans_inv.c +++ b/lib_com/trans_inv.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * Local constants diff --git a/lib_com/vlpc_2st_com.c b/lib_com/vlpc_2st_com.c index 86fdf68c5f..32a1bd8559 100644 --- a/lib_com/vlpc_2st_com.c +++ b/lib_com/vlpc_2st_com.c @@ -40,7 +40,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * lsf_weight_2st() diff --git a/lib_com/weight.c b/lib_com/weight.c index e50707b688..99b0c74927 100644 --- a/lib_com/weight.c +++ b/lib_com/weight.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * sfm2mqb() diff --git a/lib_com/weight_a.c b/lib_com/weight_a.c index 0eda2133ce..dccb61bcda 100644 --- a/lib_com/weight_a.c +++ b/lib_com/weight_a.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------ * weight_a() diff --git a/lib_com/wi.c b/lib_com/wi.c index e63c0a4b92..d4ecd7d64d 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -40,7 +40,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_com/window_ola.c b/lib_com/window_ola.c index 7a5b153636..ec2c4b641a 100644 --- a/lib_com/window_ola.c +++ b/lib_com/window_ola.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * window_ola() diff --git a/lib_com/wtda.c b/lib_com/wtda.c index cd8d588ed5..2d5d4f93b5 100644 --- a/lib_com/wtda.c +++ b/lib_com/wtda.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_debug/debug.c b/lib_debug/debug.c index 5ee8f10e31..c2f835b727 100644 --- a/lib_debug/debug.c +++ b/lib_debug/debug.c @@ -53,7 +53,7 @@ #include <direct.h> #else #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_debug/sba_debug.c b/lib_debug/sba_debug.c index 68fd39f4c0..b39a30f6f0 100644 --- a/lib_debug/sba_debug.c +++ b/lib_debug/sba_debug.c @@ -40,7 +40,7 @@ #include "prot.h" #include "sba_debug.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_SBA #include <math.h> #include "tinywaveout_c.h" diff --git a/lib_debug/segsnr.c b/lib_debug/segsnr.c index 561a4e239d..69a25f0e4f 100644 --- a/lib_debug/segsnr.c +++ b/lib_debug/segsnr.c @@ -34,7 +34,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include <stdint.h> #include "options.h" #include "prot.h" diff --git a/lib_debug/snr.c b/lib_debug/snr.c index a524b35c26..f70b5f33eb 100644 --- a/lib_debug/snr.c +++ b/lib_debug/snr.c @@ -38,7 +38,7 @@ #endif #include <math.h> #include <string.h> -#include "wmops.h" +#include "wmc_auto.h" #include "cnst.h" #include "prot.h" diff --git a/lib_dec/ACcontextMapping_dec.c b/lib_dec/ACcontextMapping_dec.c index 10fb369741..fa11a6ce13 100644 --- a/lib_dec/ACcontextMapping_dec.c +++ b/lib_dec/ACcontextMapping_dec.c @@ -43,7 +43,7 @@ #include "rom_com.h" #include "ivas_rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /* Range coder header file */ #include <assert.h> diff --git a/lib_dec/FEC.c b/lib_dec/FEC.c index 3267092e7e..7716f3ef9d 100644 --- a/lib_dec/FEC.c +++ b/lib_dec/FEC.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "rom_dec.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/FEC_HQ_core.c b/lib_dec/FEC_HQ_core.c index 53eca76982..df35a1a318 100644 --- a/lib_dec/FEC_HQ_core.c +++ b/lib_dec/FEC_HQ_core.c @@ -44,7 +44,7 @@ #include "rom_dec.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local prototypes diff --git a/lib_dec/FEC_HQ_phase_ecu.c b/lib_dec/FEC_HQ_phase_ecu.c index fd71f5c41b..54fd6af77d 100644 --- a/lib_dec/FEC_HQ_phase_ecu.c +++ b/lib_dec/FEC_HQ_phase_ecu.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_dec/FEC_adapt_codebook.c b/lib_dec/FEC_adapt_codebook.c index 5ffd9a1fde..d80eec01ae 100644 --- a/lib_dec/FEC_adapt_codebook.c +++ b/lib_dec/FEC_adapt_codebook.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_dec.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- * FEC_synchro_exc() diff --git a/lib_dec/FEC_clas_estim.c b/lib_dec/FEC_clas_estim.c index 7a27532f17..718923a604 100644 --- a/lib_dec/FEC_clas_estim.c +++ b/lib_dec/FEC_clas_estim.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "stat_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_dec/FEC_lsf_estim.c b/lib_dec/FEC_lsf_estim.c index f971ec4434..81fb282132 100644 --- a/lib_dec/FEC_lsf_estim.c +++ b/lib_dec/FEC_lsf_estim.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * FEC_lsf_estim() diff --git a/lib_dec/FEC_pitch_estim.c b/lib_dec/FEC_pitch_estim.c index e2f6491cc3..d0bfc99114 100644 --- a/lib_dec/FEC_pitch_estim.c +++ b/lib_dec/FEC_pitch_estim.c @@ -42,7 +42,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------* * FEC_pitch_estim() diff --git a/lib_dec/FEC_scale_syn.c b/lib_dec/FEC_scale_syn.c index 66fae0fc05..e13e3dce57 100644 --- a/lib_dec/FEC_scale_syn.c +++ b/lib_dec/FEC_scale_syn.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #define SCLSYN_LAMBDA 0.3f diff --git a/lib_dec/LD_music_post_filter.c b/lib_dec/LD_music_post_filter.c index f19e737595..56454f78ff 100644 --- a/lib_dec/LD_music_post_filter.c +++ b/lib_dec/LD_music_post_filter.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_dec/TonalComponentDetection.c b/lib_dec/TonalComponentDetection.c index 230dfe4086..69840ccfd4 100644 --- a/lib_dec/TonalComponentDetection.c +++ b/lib_dec/TonalComponentDetection.c @@ -46,7 +46,7 @@ #include "prot.h" #include "cnst.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" diff --git a/lib_dec/acelp_core_dec.c b/lib_dec/acelp_core_dec.c index 54e062332f..460a2a0894 100644 --- a/lib_dec/acelp_core_dec.c +++ b/lib_dec/acelp_core_dec.c @@ -48,7 +48,7 @@ #ifdef LSF_RE_USE_SECONDARY_CHANNEL #include "ivas_rom_com.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * acelp_core_dec() diff --git a/lib_dec/acelp_core_switch_dec.c b/lib_dec/acelp_core_switch_dec.c index be34a95e31..6a58533ef2 100644 --- a/lib_dec/acelp_core_switch_dec.c +++ b/lib_dec/acelp_core_switch_dec.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/amr_wb_dec.c b/lib_dec/amr_wb_dec.c index 29c4f939ed..44c1bcd1e1 100644 --- a/lib_dec/amr_wb_dec.c +++ b/lib_dec/amr_wb_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * amr_wb_dec() diff --git a/lib_dec/ari_dec.c b/lib_dec/ari_dec.c index fe97e69a52..64ffb220c5 100644 --- a/lib_dec/ari_dec.c +++ b/lib_dec/ari_dec.c @@ -41,7 +41,7 @@ #include "prot.h" #include "stat_com.h" #include "basop_util.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- diff --git a/lib_dec/ari_hm_dec.c b/lib_dec/ari_hm_dec.c index 78f14e4a28..1433af7869 100644 --- a/lib_dec/ari_hm_dec.c +++ b/lib_dec/ari_hm_dec.c @@ -42,7 +42,7 @@ #include "basop_util.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * DecodeIndex() diff --git a/lib_dec/arith_coder_dec.c b/lib_dec/arith_coder_dec.c index 793edcef26..28fe250e6d 100644 --- a/lib_dec/arith_coder_dec.c +++ b/lib_dec/arith_coder_dec.c @@ -45,7 +45,7 @@ #include "rom_com.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------* * tcx_arith_decode() diff --git a/lib_dec/avq_dec.c b/lib_dec/avq_dec.c index 99aabbb04c..d9ab4f0569 100644 --- a/lib_dec/avq_dec.c +++ b/lib_dec/avq_dec.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> /*-------------------------------------------------------------------* diff --git a/lib_dec/bass_psfilter.c b/lib_dec/bass_psfilter.c index 85c595460c..e07aa50a14 100644 --- a/lib_dec/bass_psfilter.c +++ b/lib_dec/bass_psfilter.c @@ -46,7 +46,7 @@ #include "debug.h" #endif #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_dec/cng_dec.c b/lib_dec/cng_dec.c index 415ac27b3a..6fa2974667 100644 --- a/lib_dec/cng_dec.c +++ b/lib_dec/cng_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/core_dec_init.c b/lib_dec/core_dec_init.c index 90827ca0ee..ae18893d8e 100644 --- a/lib_dec/core_dec_init.c +++ b/lib_dec/core_dec_init.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * open_decoder_LPD() diff --git a/lib_dec/core_dec_reconf.c b/lib_dec/core_dec_reconf.c index 201ccc0cb3..3915e74892 100644 --- a/lib_dec/core_dec_reconf.c +++ b/lib_dec/core_dec_reconf.c @@ -42,7 +42,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * reconfig_decoder_LPD() diff --git a/lib_dec/core_dec_switch.c b/lib_dec/core_dec_switch.c index c1f8e590fb..76d0aedbea 100644 --- a/lib_dec/core_dec_switch.c +++ b/lib_dec/core_dec_switch.c @@ -42,7 +42,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------* * mode_switch_decoder_LPD() diff --git a/lib_dec/core_switching_dec.c b/lib_dec/core_switching_dec.c index 8762f20ac3..b53394e355 100644 --- a/lib_dec/core_switching_dec.c +++ b/lib_dec/core_switching_dec.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "prot.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local prototypes diff --git a/lib_dec/d_gain2p.c b/lib_dec/d_gain2p.c index 7a0cd8ed4f..7011d76d7e 100644 --- a/lib_dec/d_gain2p.c +++ b/lib_dec/d_gain2p.c @@ -44,7 +44,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * Mode2_gain_dec_mless diff --git a/lib_dec/dec2t32.c b/lib_dec/dec2t32.c index 67981738fc..ee2ebf3734 100644 --- a/lib_dec/dec2t32.c +++ b/lib_dec/dec2t32.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* * dec_acelp_2t32() diff --git a/lib_dec/dec4t64.c b/lib_dec/dec4t64.c index 3a0a6a7e50..e309d2573c 100644 --- a/lib_dec/dec4t64.c +++ b/lib_dec/dec4t64.c @@ -43,7 +43,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/dec_LPD.c b/lib_dec/dec_LPD.c index c06bee28f9..679a87d418 100644 --- a/lib_dec/dec_LPD.c +++ b/lib_dec/dec_LPD.c @@ -46,7 +46,7 @@ #include "cnst.h" #include "basop_proto_func.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/dec_ace.c b/lib_dec/dec_ace.c index 24fbf3149f..bcb7ed6596 100644 --- a/lib_dec/dec_ace.c +++ b/lib_dec/dec_ace.c @@ -42,7 +42,7 @@ #endif #include <math.h> #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * decoder_acelp() diff --git a/lib_dec/dec_acelp.c b/lib_dec/dec_acelp.c index 7ccdee8888..445b8549e0 100644 --- a/lib_dec/dec_acelp.c +++ b/lib_dec/dec_acelp.c @@ -40,7 +40,7 @@ #include "typedef.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/dec_acelp_tcx_main.c b/lib_dec/dec_acelp_tcx_main.c index 31064aa7c7..51ed389e26 100644 --- a/lib_dec/dec_acelp_tcx_main.c +++ b/lib_dec/dec_acelp_tcx_main.c @@ -43,7 +43,7 @@ #include "debug.h" #endif #include "stat_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * decode_frame_type() diff --git a/lib_dec/dec_amr_wb.c b/lib_dec/dec_amr_wb.c index 79c9b8d951..b03bdc9f0d 100644 --- a/lib_dec/dec_amr_wb.c +++ b/lib_dec/dec_amr_wb.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * decod_amr_wb() diff --git a/lib_dec/dec_gen_voic.c b/lib_dec/dec_gen_voic.c index ba8f0424ea..65ea2826ad 100644 --- a/lib_dec/dec_gen_voic.c +++ b/lib_dec/dec_gen_voic.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * decod_gen_voic() diff --git a/lib_dec/dec_higher_acelp.c b/lib_dec/dec_higher_acelp.c index 32b5b70514..03a9ca0044 100644 --- a/lib_dec/dec_higher_acelp.c +++ b/lib_dec/dec_higher_acelp.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * transf_cdbk_dec() diff --git a/lib_dec/dec_nelp.c b/lib_dec/dec_nelp.c index 2cdcd126db..9e0d2171b2 100644 --- a/lib_dec/dec_nelp.c +++ b/lib_dec/dec_nelp.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * decod_nelp() diff --git a/lib_dec/dec_pit_exc.c b/lib_dec/dec_pit_exc.c index 547e321aaf..bda383a9ee 100644 --- a/lib_dec/dec_pit_exc.c +++ b/lib_dec/dec_pit_exc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * dec_pit_exc() diff --git a/lib_dec/dec_post.c b/lib_dec/dec_post.c index 9c90fcac62..962cf09247 100644 --- a/lib_dec/dec_post.c +++ b/lib_dec/dec_post.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_dec/dec_ppp.c b/lib_dec/dec_ppp.c index c6a274bef4..a9d75b7b17 100644 --- a/lib_dec/dec_ppp.c +++ b/lib_dec/dec_ppp.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * decod_ppp() diff --git a/lib_dec/dec_prm.c b/lib_dec/dec_prm.c index 4027b7f95b..14153810e2 100644 --- a/lib_dec/dec_prm.c +++ b/lib_dec/dec_prm.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/dec_tcx.c b/lib_dec/dec_tcx.c index 5b74ca0f6f..6debad10dc 100755 --- a/lib_dec/dec_tcx.c +++ b/lib_dec/dec_tcx.c @@ -45,7 +45,7 @@ #include <math.h> #include "stat_com.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_rom_com.h" #ifdef DEBUG_PLOT #include "deb_out.h" diff --git a/lib_dec/dec_tran.c b/lib_dec/dec_tran.c index 7120211fb6..e124f6d09b 100644 --- a/lib_dec/dec_tran.c +++ b/lib_dec/dec_tran.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * decod_tran() diff --git a/lib_dec/dec_uv.c b/lib_dec/dec_uv.c index 2839521091..d94bcb5af7 100644 --- a/lib_dec/dec_uv.c +++ b/lib_dec/dec_uv.c @@ -37,7 +37,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * decod_unvoiced() diff --git a/lib_dec/decision_matrix_dec.c b/lib_dec/decision_matrix_dec.c index cb604dc5f7..4f4e711079 100644 --- a/lib_dec/decision_matrix_dec.c +++ b/lib_dec/decision_matrix_dec.c @@ -42,7 +42,7 @@ #include "stat_dec.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * decision_matrix_dec() diff --git a/lib_dec/dlpc_avq.c b/lib_dec/dlpc_avq.c index 2a89cdb35c..f7adce59ea 100644 --- a/lib_dec/dlpc_avq.c +++ b/lib_dec/dlpc_avq.c @@ -38,7 +38,7 @@ #include "options.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * dlpc_avq() diff --git a/lib_dec/dlpc_stoch.c b/lib_dec/dlpc_stoch.c index 21b1ab2d8d..de47da85c6 100644 --- a/lib_dec/dlpc_stoch.c +++ b/lib_dec/dlpc_stoch.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * lpc_unquantize() diff --git a/lib_dec/er_dec_acelp.c b/lib_dec/er_dec_acelp.c index 4e0d5c9b48..ba232d0f08 100644 --- a/lib_dec/er_dec_acelp.c +++ b/lib_dec/er_dec_acelp.c @@ -42,7 +42,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * con_acelp() diff --git a/lib_dec/er_dec_tcx.c b/lib_dec/er_dec_tcx.c index 6710e2a6ff..8a1c61a046 100644 --- a/lib_dec/er_dec_tcx.c +++ b/lib_dec/er_dec_tcx.c @@ -45,7 +45,7 @@ #include <math.h> #include "prot.h" #include "rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * con_tcx() diff --git a/lib_dec/er_scale_syn.c b/lib_dec/er_scale_syn.c index 1ae7f57104..c85346b4ed 100644 --- a/lib_dec/er_scale_syn.c +++ b/lib_dec/er_scale_syn.c @@ -39,7 +39,7 @@ #include <math.h> #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* diff --git a/lib_dec/er_sync_exc.c b/lib_dec/er_sync_exc.c index 3a66e83129..618f35ae3b 100644 --- a/lib_dec/er_sync_exc.c +++ b/lib_dec/er_sync_exc.c @@ -40,7 +40,7 @@ #include <math.h> #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_dec/er_util.c b/lib_dec/er_util.c index f907781c29..2c2f0333e6 100644 --- a/lib_dec/er_util.c +++ b/lib_dec/er_util.c @@ -43,7 +43,7 @@ #include "prot.h" #include "cnst.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_dec/evs_dec.c b/lib_dec/evs_dec.c index c55c5b4721..ac0befbb3e 100644 --- a/lib_dec/evs_dec.c +++ b/lib_dec/evs_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_dec/fd_cng_dec.c b/lib_dec/fd_cng_dec.c index c9b8e9edd4..a475387fb1 100644 --- a/lib_dec/fd_cng_dec.c +++ b/lib_dec/fd_cng_dec.c @@ -45,7 +45,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" #include "ivas_rom_dec.h" diff --git a/lib_dec/gain_dec.c b/lib_dec/gain_dec.c index dd8a58637c..e618fd9d1f 100644 --- a/lib_dec/gain_dec.c +++ b/lib_dec/gain_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Es_pred_dec() diff --git a/lib_dec/gaus_dec.c b/lib_dec/gaus_dec.c index fed8ab60ac..e287eda7e1 100644 --- a/lib_dec/gaus_dec.c +++ b/lib_dec/gaus_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/gs_dec.c b/lib_dec/gs_dec.c index f1b4e997af..ed6d673d7c 100644 --- a/lib_dec/gs_dec.c +++ b/lib_dec/gs_dec.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * decod_audio() diff --git a/lib_dec/gs_dec_amr_wb.c b/lib_dec/gs_dec_amr_wb.c index 956e065031..c8207d518e 100644 --- a/lib_dec/gs_dec_amr_wb.c +++ b/lib_dec/gs_dec_amr_wb.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_dec/hdecnrm.c b/lib_dec/hdecnrm.c index f1a119a867..7ae05db527 100644 --- a/lib_dec/hdecnrm.c +++ b/lib_dec/hdecnrm.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------*/ diff --git a/lib_dec/hf_synth.c b/lib_dec/hf_synth.c index 9c0f2c8463..1724930487 100644 --- a/lib_dec/hf_synth.c +++ b/lib_dec/hf_synth.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/hq_classifier_dec.c b/lib_dec/hq_classifier_dec.c index 38a0230079..9426014686 100644 --- a/lib_dec/hq_classifier_dec.c +++ b/lib_dec/hq_classifier_dec.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq_classifier_dec() diff --git a/lib_dec/hq_conf_fec.c b/lib_dec/hq_conf_fec.c index 5e0e6426f2..e93acf94a5 100644 --- a/lib_dec/hq_conf_fec.c +++ b/lib_dec/hq_conf_fec.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq_configure_bfi() diff --git a/lib_dec/hq_core_dec.c b/lib_dec/hq_core_dec.c index 431a30de01..4920e220ae 100644 --- a/lib_dec/hq_core_dec.c +++ b/lib_dec/hq_core_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" diff --git a/lib_dec/hq_env_dec.c b/lib_dec/hq_env_dec.c index d4abecfc5d..d8f851e71f 100644 --- a/lib_dec/hq_env_dec.c +++ b/lib_dec/hq_env_dec.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------* * decode_envelope_indices() diff --git a/lib_dec/hq_hr_dec.c b/lib_dec/hq_hr_dec.c index 3eb1108b24..24a51bd464 100644 --- a/lib_dec/hq_hr_dec.c +++ b/lib_dec/hq_hr_dec.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq_pred_hb_bws() diff --git a/lib_dec/hq_lr_dec.c b/lib_dec/hq_lr_dec.c index 5e7584384d..fd323f3bba 100644 --- a/lib_dec/hq_lr_dec.c +++ b/lib_dec/hq_lr_dec.c @@ -46,7 +46,7 @@ #include "prot.h" #include "stl.h" #include "basop_util.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/igf_dec.c b/lib_dec/igf_dec.c index 2cded75928..c7c2c549dd 100644 --- a/lib_dec/igf_dec.c +++ b/lib_dec/igf_dec.c @@ -45,7 +45,7 @@ #include "cnst.h" #include "stat_dec.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/igf_scf_dec.c b/lib_dec/igf_scf_dec.c index 29660271b3..176fdec9b7 100644 --- a/lib_dec/igf_scf_dec.c +++ b/lib_dec/igf_scf_dec.c @@ -41,7 +41,7 @@ #include "debug.h" #endif #include "stat_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 4b74ccebb9..978248e695 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -43,7 +43,7 @@ #include "ivas_cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------* * init_decoder() diff --git a/lib_dec/inov_dec.c b/lib_dec/inov_dec.c index ce3c2728bc..bda5ac47a1 100644 --- a/lib_dec/inov_dec.c +++ b/lib_dec/inov_dec.c @@ -43,7 +43,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------* * inov_decode() diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index 0b25c8216c..89a3196347 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -39,7 +39,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_AGC diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 23f3a049f9..d5bab20de1 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -42,7 +42,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index b11ba6cd39..88e5a4868a 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index 3a2a005fb6..7e6a6e70a5 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 407fb01dfc..31d4352e36 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* diff --git a/lib_dec/ivas_decision_matrix_dec.c b/lib_dec/ivas_decision_matrix_dec.c index a62e1d29eb..6f183359b6 100644 --- a/lib_dec/ivas_decision_matrix_dec.c +++ b/lib_dec/ivas_decision_matrix_dec.c @@ -40,7 +40,7 @@ #include "ivas_prot.h" #include "prot.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * ivas_decision_matrix_dec() diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 98a4fb1f18..49a1dd0048 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index 1418193139..a9b3cea4a0 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_dec/ivas_dirac_decorr_dec.c b/lib_dec/ivas_dirac_decorr_dec.c index 2a02737336..e484042a3c 100644 --- a/lib_dec/ivas_dirac_decorr_dec.c +++ b/lib_dec/ivas_dirac_decorr_dec.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_dec/ivas_dirac_onsets_dec.c b/lib_dec/ivas_dirac_onsets_dec.c index 67209cc052..95e6c90217 100644 --- a/lib_dec/ivas_dirac_onsets_dec.c +++ b/lib_dec/ivas_dirac_onsets_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_dec/ivas_dirac_output_synthesis_cov.c b/lib_dec/ivas_dirac_output_synthesis_cov.c index d88108dc25..1176e853e1 100644 --- a/lib_dec/ivas_dirac_output_synthesis_cov.c +++ b/lib_dec/ivas_dirac_output_synthesis_cov.c @@ -48,7 +48,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "rom_dec.h" diff --git a/lib_dec/ivas_dirac_output_synthesis_dec.c b/lib_dec/ivas_dirac_output_synthesis_dec.c index c73c1375f4..a8a1e035f5 100644 --- a/lib_dec/ivas_dirac_output_synthesis_dec.c +++ b/lib_dec/ivas_dirac_output_synthesis_dec.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- * Local constants diff --git a/lib_dec/ivas_entropy_decoder.c b/lib_dec/ivas_entropy_decoder.c index cc3fab8656..f9d63ddee9 100644 --- a/lib_dec/ivas_entropy_decoder.c +++ b/lib_dec/ivas_entropy_decoder.c @@ -40,7 +40,7 @@ #endif #include "ivas_rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index e51b46779c..3d244cb4a7 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/ivas_ism_metadata_dec.c b/lib_dec/ivas_ism_metadata_dec.c index 1ce0a03aa0..50f5cbb2a2 100644 --- a/lib_dec/ivas_ism_metadata_dec.c +++ b/lib_dec/ivas_ism_metadata_dec.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------* diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 7baeda81ee..81ebf28a73 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_ism_renderer.c b/lib_dec/ivas_ism_renderer.c index f27d49b111..c671c7fd3e 100644 --- a/lib_dec/ivas_ism_renderer.c +++ b/lib_dec/ivas_ism_renderer.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------* diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index a909801b8f..066cd968f1 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -39,7 +39,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include "math.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_dec/ivas_lfe_plc.c b/lib_dec/ivas_lfe_plc.c index 71d1aa7a5e..ea93dc0f90 100644 --- a/lib_dec/ivas_lfe_plc.c +++ b/lib_dec/ivas_lfe_plc.c @@ -39,7 +39,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* * Local constants diff --git a/lib_dec/ivas_masa_dec.c b/lib_dec/ivas_masa_dec.c index 3df3784405..5e263a91d1 100644 --- a/lib_dec/ivas_masa_dec.c +++ b/lib_dec/ivas_masa_dec.c @@ -42,7 +42,7 @@ #include "debug.h" #endif #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * Local constants diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index e9eeaad813..0d426078e9 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -47,7 +47,7 @@ #ifdef DEBUG_PLOT #include "deb_out.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "rom_dec.h" /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_mct_core_dec.c b/lib_dec/ivas_mct_core_dec.c index 4ce7d2e82e..d831b7044c 100644 --- a/lib_dec/ivas_mct_core_dec.c +++ b/lib_dec/ivas_mct_core_dec.c @@ -38,7 +38,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "cnst.h" #include "basop_proto_func.h" #include "stat_com.h" diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 86c1e4abe8..c034b54dad 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_dec/ivas_mct_dec_mct.c b/lib_dec/ivas_mct_dec_mct.c index 6b8f9b74fa..4369dea639 100644 --- a/lib_dec/ivas_mct_dec_mct.c +++ b/lib_dec/ivas_mct_dec_mct.c @@ -35,7 +35,7 @@ #include "ivas_cnst.h" #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> #include "stat_enc.h" diff --git a/lib_dec/ivas_mdct_core_dec.c b/lib_dec/ivas_mdct_core_dec.c index 2dd875bdbf..ea0a043734 100644 --- a/lib_dec/ivas_mdct_core_dec.c +++ b/lib_dec/ivas_mdct_core_dec.c @@ -38,7 +38,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "cnst.h" #include "basop_proto_func.h" #include "stat_com.h" diff --git a/lib_dec/ivas_mono_dmx_renderer.c b/lib_dec/ivas_mono_dmx_renderer.c index 20b677075e..f086831491 100644 --- a/lib_dec/ivas_mono_dmx_renderer.c +++ b/lib_dec/ivas_mono_dmx_renderer.c @@ -39,7 +39,7 @@ #include "ivas_cnst.h" #include "ivas_rom_com.h" #include "ivas_rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_dec/ivas_out_setup_conversion.c b/lib_dec/ivas_out_setup_conversion.c index 2a8fc9a548..e3be5b4f34 100644 --- a/lib_dec/ivas_out_setup_conversion.c +++ b/lib_dec/ivas_out_setup_conversion.c @@ -39,7 +39,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_rom_com.h" #include "ivas_rom_dec.h" diff --git a/lib_dec/ivas_pca_dec.c b/lib_dec/ivas_pca_dec.c index ef5694d656..84ca7025eb 100644 --- a/lib_dec/ivas_pca_dec.c +++ b/lib_dec/ivas_pca_dec.c @@ -39,7 +39,7 @@ #endif #include <assert.h> #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_post_proc.c b/lib_dec/ivas_post_proc.c index 1dce7978c2..277c5e81ae 100644 --- a/lib_dec/ivas_post_proc.c +++ b/lib_dec/ivas_post_proc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- * ivas_post_proc() diff --git a/lib_dec/ivas_qmetadata_dec.c b/lib_dec/ivas_qmetadata_dec.c index 059ba752e7..b4b1ded927 100644 --- a/lib_dec/ivas_qmetadata_dec.c +++ b/lib_dec/ivas_qmetadata_dec.c @@ -38,7 +38,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include "ivas_rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_qspherical_dec.c b/lib_dec/ivas_qspherical_dec.c index c37d03e5a9..57d58c4596 100644 --- a/lib_dec/ivas_qspherical_dec.c +++ b/lib_dec/ivas_qspherical_dec.c @@ -36,7 +36,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include "ivas_stat_dec.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" diff --git a/lib_dec/ivas_range_uni_dec.c b/lib_dec/ivas_range_uni_dec.c index de9b3a4559..7036416c60 100644 --- a/lib_dec/ivas_range_uni_dec.c +++ b/lib_dec/ivas_range_uni_dec.c @@ -39,7 +39,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING #include "debug.h" #endif diff --git a/lib_dec/ivas_rom_dec.c b/lib_dec/ivas_rom_dec.c index c79bc38019..90c62a06f2 100644 --- a/lib_dec/ivas_rom_dec.c +++ b/lib_dec/ivas_rom_dec.c @@ -38,7 +38,7 @@ #include "cnst.h" #include "ivas_cnst.h" #include <stddef.h> -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_stat_dec.h" /* clang-format off */ diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index fe043c746b..3adf4e39cd 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifdef SBA_BR_SWITCHING diff --git a/lib_dec/ivas_sba_dirac_stereo_dec.c b/lib_dec/ivas_sba_dirac_stereo_dec.c index e4ab91a7d7..8918712fc2 100644 --- a/lib_dec/ivas_sba_dirac_stereo_dec.c +++ b/lib_dec/ivas_sba_dirac_stereo_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/ivas_sce_dec.c b/lib_dec/ivas_sce_dec.c index e6004ed51b..e93f06bcce 100644 --- a/lib_dec/ivas_sce_dec.c +++ b/lib_dec/ivas_sce_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* diff --git a/lib_dec/ivas_sns_dec.c b/lib_dec/ivas_sns_dec.c index 444a76cf80..17e7ec26b3 100644 --- a/lib_dec/ivas_sns_dec.c +++ b/lib_dec/ivas_sns_dec.c @@ -35,7 +35,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * sns_1st_dec() diff --git a/lib_dec/ivas_spar_decoder.c b/lib_dec/ivas_spar_decoder.c index a513302812..9a05f6352d 100644 --- a/lib_dec/ivas_spar_decoder.c +++ b/lib_dec/ivas_spar_decoder.c @@ -43,7 +43,7 @@ #include "ivas_stat_com.h" #include <math.h> #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/ivas_spar_md_dec.c b/lib_dec/ivas_spar_md_dec.c index f316c746cf..969096c381 100644 --- a/lib_dec/ivas_spar_md_dec.c +++ b/lib_dec/ivas_spar_md_dec.c @@ -40,7 +40,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_stat_dec.h" /*#define ENABLE_DITHER */ /* IVAS_fmToDo: development switch */ diff --git a/lib_dec/ivas_stereo_adapt_GR_dec.c b/lib_dec/ivas_stereo_adapt_GR_dec.c index ec84df9831..313ca6b770 100644 --- a/lib_dec/ivas_stereo_adapt_GR_dec.c +++ b/lib_dec/ivas_stereo_adapt_GR_dec.c @@ -33,7 +33,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" #include "ivas_rom_com.h" #include "rom_dec.h" diff --git a/lib_dec/ivas_stereo_cng_dec.c b/lib_dec/ivas_stereo_cng_dec.c index d3e62935d1..8b46c5e6bd 100644 --- a/lib_dec/ivas_stereo_cng_dec.c +++ b/lib_dec/ivas_stereo_cng_dec.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * Local constants diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index 1e2e82889e..d5a4bb495b 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -45,7 +45,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/ivas_stereo_dft_dec_dmx.c b/lib_dec/ivas_stereo_dft_dec_dmx.c index 48ee7cf4e6..c7ab872eb9 100644 --- a/lib_dec/ivas_stereo_dft_dec_dmx.c +++ b/lib_dec/ivas_stereo_dft_dec_dmx.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_dec/ivas_stereo_dft_plc.c b/lib_dec/ivas_stereo_dft_plc.c index 34eaa2013c..a616ed82ca 100644 --- a/lib_dec/ivas_stereo_dft_plc.c +++ b/lib_dec/ivas_stereo_dft_plc.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- * Local constants diff --git a/lib_dec/ivas_stereo_eclvq_dec.c b/lib_dec/ivas_stereo_eclvq_dec.c index 41ed8924d1..06529b3d9b 100644 --- a/lib_dec/ivas_stereo_eclvq_dec.c +++ b/lib_dec/ivas_stereo_eclvq_dec.c @@ -38,7 +38,7 @@ #include "ivas_rom_dec.h" #include <assert.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- diff --git a/lib_dec/ivas_stereo_esf_dec.c b/lib_dec/ivas_stereo_esf_dec.c index 0ab8bcdb49..c2a6e58f4e 100644 --- a/lib_dec/ivas_stereo_esf_dec.c +++ b/lib_dec/ivas_stereo_esf_dec.c @@ -38,7 +38,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * init_basic_allpass() diff --git a/lib_dec/ivas_stereo_ica_dec.c b/lib_dec/ivas_stereo_ica_dec.c index 122f739dba..6864accb29 100644 --- a/lib_dec/ivas_stereo_ica_dec.c +++ b/lib_dec/ivas_stereo_ica_dec.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "rom_com.h" #include "ivas_rom_com.h" diff --git a/lib_dec/ivas_stereo_icbwe_dec.c b/lib_dec/ivas_stereo_icbwe_dec.c index 6c3fef9eae..59f0bc90f2 100644 --- a/lib_dec/ivas_stereo_icbwe_dec.c +++ b/lib_dec/ivas_stereo_icbwe_dec.c @@ -38,7 +38,7 @@ #include "ivas_cnst.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "rom_com.h" #include "ivas_rom_com.h" #ifdef DEBUGGING diff --git a/lib_dec/ivas_stereo_mdct_core_dec.c b/lib_dec/ivas_stereo_mdct_core_dec.c index c899278f6e..766a9f7316 100644 --- a/lib_dec/ivas_stereo_mdct_core_dec.c +++ b/lib_dec/ivas_stereo_mdct_core_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec.c b/lib_dec/ivas_stereo_mdct_stereo_dec.c index 67b893a9f2..f11ef7cb7b 100644 --- a/lib_dec/ivas_stereo_mdct_stereo_dec.c +++ b/lib_dec/ivas_stereo_mdct_stereo_dec.c @@ -37,7 +37,7 @@ #include "ivas_cnst.h" #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 355eed3906..ac0e91da34 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -40,7 +40,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> diff --git a/lib_dec/ivas_stereo_td_dec.c b/lib_dec/ivas_stereo_td_dec.c index f3bd292a8b..d636d12bd7 100644 --- a/lib_dec/ivas_stereo_td_dec.c +++ b/lib_dec/ivas_stereo_td_dec.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * stereo_td_init_dec() diff --git a/lib_dec/ivas_stereo_td_low_rate_dec.c b/lib_dec/ivas_stereo_td_low_rate_dec.c index 8a0757cd5e..4f10eab8f4 100644 --- a/lib_dec/ivas_stereo_td_low_rate_dec.c +++ b/lib_dec/ivas_stereo_td_low_rate_dec.c @@ -42,7 +42,7 @@ #include "ivas_cnst.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * tdm_low_rate_dec() diff --git a/lib_dec/ivas_svd_dec.c b/lib_dec/ivas_svd_dec.c index c6d04a79d2..cd05d5aeeb 100644 --- a/lib_dec/ivas_svd_dec.c +++ b/lib_dec/ivas_svd_dec.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_dec/ivas_tcx_core_dec.c b/lib_dec/ivas_tcx_core_dec.c index e1d6bd63ff..ecf8bfbc3f 100644 --- a/lib_dec/ivas_tcx_core_dec.c +++ b/lib_dec/ivas_tcx_core_dec.c @@ -40,7 +40,7 @@ #include "prot.h" #include "rom_com.h" #include "stat_dec.h" -#include "wmops.h" +#include "wmc_auto.h" #include "basop_proto_func.h" #include "stat_com.h" #include "ivas_prot.h" diff --git a/lib_dec/ivas_td_decorr.c b/lib_dec/ivas_td_decorr.c index 29b748e4c7..1fdc60380d 100644 --- a/lib_dec/ivas_td_decorr.c +++ b/lib_dec/ivas_td_decorr.c @@ -39,7 +39,7 @@ #endif #include "math.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_dec/ivas_vbap.c b/lib_dec/ivas_vbap.c index 2790dd379f..c059f57658 100644 --- a/lib_dec/ivas_vbap.c +++ b/lib_dec/ivas_vbap.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * Local constants diff --git a/lib_dec/jbm_jb4_circularbuffer.c b/lib_dec/jbm_jb4_circularbuffer.c index a9da400a36..410e907f13 100644 --- a/lib_dec/jbm_jb4_circularbuffer.c +++ b/lib_dec/jbm_jb4_circularbuffer.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /* local includes */ #include "jbm_jb4_circularbuffer.h" diff --git a/lib_dec/jbm_jb4_jmf.c b/lib_dec/jbm_jb4_jmf.c index 7b0dd2f188..2095049373 100644 --- a/lib_dec/jbm_jb4_jmf.c +++ b/lib_dec/jbm_jb4_jmf.c @@ -46,7 +46,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /* local includes */ #include "jbm_jb4_jmf.h" diff --git a/lib_dec/jbm_jb4sb.c b/lib_dec/jbm_jb4sb.c index 28dfd43e61..806ed99487 100644 --- a/lib_dec/jbm_jb4sb.c +++ b/lib_dec/jbm_jb4sb.c @@ -46,7 +46,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /* local headers */ #include "jbm_jb4_circularbuffer.h" #include "jbm_jb4_inputbuffer.h" diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 3968e38974..3fb6065c06 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -47,7 +47,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /* local headers */ #include "jbm_pcmdsp_apa.h" #include "jbm_pcmdsp_similarityestimation.h" diff --git a/lib_dec/jbm_pcmdsp_fifo.c b/lib_dec/jbm_pcmdsp_fifo.c index 86990618fd..6219098d4f 100644 --- a/lib_dec/jbm_pcmdsp_fifo.c +++ b/lib_dec/jbm_pcmdsp_fifo.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "jbm_pcmdsp_fifo.h" diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.c b/lib_dec/jbm_pcmdsp_similarityestimation.c index 3016fab5e1..5398cafebb 100644 --- a/lib_dec/jbm_pcmdsp_similarityestimation.c +++ b/lib_dec/jbm_pcmdsp_similarityestimation.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /* local headers */ #include "jbm_pcmdsp_similarityestimation.h" diff --git a/lib_dec/jbm_pcmdsp_window.c b/lib_dec/jbm_pcmdsp_window.c index 94182e5ad6..482f26f6c1 100644 --- a/lib_dec/jbm_pcmdsp_window.c +++ b/lib_dec/jbm_pcmdsp_window.c @@ -43,7 +43,7 @@ #endif #include "jbm_pcmdsp_window.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * hannWindow() diff --git a/lib_dec/lead_deindexing.c b/lib_dec/lead_deindexing.c index 246e0df391..9bd4f34a0e 100644 --- a/lib_dec/lead_deindexing.c +++ b/lib_dec/lead_deindexing.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index d16d1f2494..5a81f77346 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -43,7 +43,7 @@ #include "debug.h" #endif #ifdef WMOPS -#include "wmops.h" +#include "wmc_auto.h" #endif /*---------------------------------------------------------------------* diff --git a/lib_dec/lp_exc_d.c b/lib_dec/lp_exc_d.c index 046523105f..291feeddc7 100644 --- a/lib_dec/lp_exc_d.c +++ b/lib_dec/lp_exc_d.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * lp_filt_exc_dec() diff --git a/lib_dec/lsf_dec.c b/lib_dec/lsf_dec.c index ffa5e91e2c..acf1769b4e 100644 --- a/lib_dec/lsf_dec.c +++ b/lib_dec/lsf_dec.c @@ -47,7 +47,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_dec/lsf_msvq_ma_dec.c b/lib_dec/lsf_msvq_ma_dec.c index 1fe895b706..2ad2e97abf 100644 --- a/lib_dec/lsf_msvq_ma_dec.c +++ b/lib_dec/lsf_msvq_ma_dec.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * lsf_msvq_ma_decprm() diff --git a/lib_dec/nelp_dec.c b/lib_dec/nelp_dec.c index 1814031fb2..ccf0b9f36a 100644 --- a/lib_dec/nelp_dec.c +++ b/lib_dec/nelp_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * nelp_decoder() diff --git a/lib_dec/peak_vq_dec.c b/lib_dec/peak_vq_dec.c index 45897b77b3..1f3012e4f2 100644 --- a/lib_dec/peak_vq_dec.c +++ b/lib_dec/peak_vq_dec.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------* diff --git a/lib_dec/pit_dec.c b/lib_dec/pit_dec.c index 9f2ba3bcad..4d4b1f72db 100644 --- a/lib_dec/pit_dec.c +++ b/lib_dec/pit_dec.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------* * pit_decode() diff --git a/lib_dec/pitch_extr.c b/lib_dec/pitch_extr.c index d90f06af7a..a1a421564d 100644 --- a/lib_dec/pitch_extr.c +++ b/lib_dec/pitch_extr.c @@ -45,7 +45,7 @@ #include "cnst.h" #include "prot.h" #include "basop_util.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* diff --git a/lib_dec/post_dec.c b/lib_dec/post_dec.c index 0d7bd7e7c7..f9a87da144 100644 --- a/lib_dec/post_dec.c +++ b/lib_dec/post_dec.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Function prototypes diff --git a/lib_dec/ppp_dec.c b/lib_dec/ppp_dec.c index 24ad0146a0..5fd442f810 100644 --- a/lib_dec/ppp_dec.c +++ b/lib_dec/ppp_dec.c @@ -40,7 +40,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/pvq_core_dec.c b/lib_dec/pvq_core_dec.c index 0ef00c6ae3..c14263f163 100644 --- a/lib_dec/pvq_core_dec.c +++ b/lib_dec/pvq_core_dec.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "prot.h" #include "stl.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local prototypes diff --git a/lib_dec/pvq_decode.c b/lib_dec/pvq_decode.c index c9a2bf41ab..4986a25f2a 100644 --- a/lib_dec/pvq_decode.c +++ b/lib_dec/pvq_decode.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Function pvq_decode() * diff --git a/lib_dec/range_dec.c b/lib_dec/range_dec.c index 55010e0b36..5c958ca110 100644 --- a/lib_dec/range_dec.c +++ b/lib_dec/range_dec.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local prototypes diff --git a/lib_dec/re8_dec.c b/lib_dec/re8_dec.c index 22a0a538a2..29a61ca0c4 100644 --- a/lib_dec/re8_dec.c +++ b/lib_dec/re8_dec.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- diff --git a/lib_dec/rom_dec.c b/lib_dec/rom_dec.c index a79803ea5c..d8d7a6a59d 100644 --- a/lib_dec/rom_dec.c +++ b/lib_dec/rom_dec.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /* clang-format off */ diff --git a/lib_dec/rst_dec.c b/lib_dec/rst_dec.c index 6b8683767d..9b919044ba 100644 --- a/lib_dec/rst_dec.c +++ b/lib_dec/rst_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* * CNG_reset_dec() diff --git a/lib_dec/stat_noise_uv_dec.c b/lib_dec/stat_noise_uv_dec.c index f9e8ec4f78..86abd752a2 100644 --- a/lib_dec/stat_noise_uv_dec.c +++ b/lib_dec/stat_noise_uv_dec.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------* * stat_noise_uv_dec() diff --git a/lib_dec/swb_bwe_dec.c b/lib_dec/swb_bwe_dec.c index fca9267bd0..cedf300ed7 100644 --- a/lib_dec/swb_bwe_dec.c +++ b/lib_dec/swb_bwe_dec.c @@ -45,7 +45,7 @@ #include "rom_com.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * para_pred_bws() diff --git a/lib_dec/swb_bwe_dec_hr.c b/lib_dec/swb_bwe_dec_hr.c index edfaaf67be..eda63e3869 100644 --- a/lib_dec/swb_bwe_dec_hr.c +++ b/lib_dec/swb_bwe_dec_hr.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * swb_bwe_dec_hr() diff --git a/lib_dec/swb_bwe_dec_lr.c b/lib_dec/swb_bwe_dec_lr.c index d10be17f5f..4a2860a3f8 100644 --- a/lib_dec/swb_bwe_dec_lr.c +++ b/lib_dec/swb_bwe_dec_lr.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_dec/swb_tbe_dec.c b/lib_dec/swb_tbe_dec.c index 5b602bbfd6..50844ff680 100644 --- a/lib_dec/swb_tbe_dec.c +++ b/lib_dec/swb_tbe_dec.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_dec.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*-----------------------------------------------------------------* diff --git a/lib_dec/syn_outp.c b/lib_dec/syn_outp.c index cff7d72374..aebc5ff5e0 100644 --- a/lib_dec/syn_outp.c +++ b/lib_dec/syn_outp.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * syn_output() diff --git a/lib_dec/tcq_core_dec.c b/lib_dec/tcq_core_dec.c index a7050f9de0..9089a8a512 100644 --- a/lib_dec/tcq_core_dec.c +++ b/lib_dec/tcq_core_dec.c @@ -44,7 +44,7 @@ #include "prot.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * tcq_core_LR_enc() diff --git a/lib_dec/tcx_utils_dec.c b/lib_dec/tcx_utils_dec.c index f817c61e03..683a3738f9 100644 --- a/lib_dec/tcx_utils_dec.c +++ b/lib_dec/tcx_utils_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- * tcx_decoder_memory_update() diff --git a/lib_dec/tns_base_dec.c b/lib_dec/tns_base_dec.c index b7d977c84f..d03815a19e 100644 --- a/lib_dec/tns_base_dec.c +++ b/lib_dec/tns_base_dec.c @@ -40,7 +40,7 @@ #include "rom_com.h" #include "prot.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_dec/tonalMDCTconcealment.c b/lib_dec/tonalMDCTconcealment.c index 7a1c172f40..c792fc0033 100644 --- a/lib_dec/tonalMDCTconcealment.c +++ b/lib_dec/tonalMDCTconcealment.c @@ -45,7 +45,7 @@ #include <math.h> #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*******************************************************/ diff --git a/lib_dec/transition_dec.c b/lib_dec/transition_dec.c index 9bcecf40b8..6b7f22891f 100644 --- a/lib_dec/transition_dec.c +++ b/lib_dec/transition_dec.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------* * Local function prototypes diff --git a/lib_dec/updt_dec.c b/lib_dec/updt_dec.c index 2c3eed80e3..cf9705e73e 100644 --- a/lib_dec/updt_dec.c +++ b/lib_dec/updt_dec.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * updt_dec() diff --git a/lib_dec/vlpc_1st_dec.c b/lib_dec/vlpc_1st_dec.c index 1aa1ab72f2..3740812449 100644 --- a/lib_dec/vlpc_1st_dec.c +++ b/lib_dec/vlpc_1st_dec.c @@ -39,7 +39,7 @@ #include "options.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * vlpc_1st_dec() diff --git a/lib_dec/vlpc_2st_dec.c b/lib_dec/vlpc_2st_dec.c index 83163cda78..49ab4e0629 100644 --- a/lib_dec/vlpc_2st_dec.c +++ b/lib_dec/vlpc_2st_dec.c @@ -37,7 +37,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * vlpc_2st_dec() diff --git a/lib_dec/voiced_dec.c b/lib_dec/voiced_dec.c index 08d58ffc7d..68e2b67818 100644 --- a/lib_dec/voiced_dec.c +++ b/lib_dec/voiced_dec.c @@ -40,7 +40,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * ppp_voiced_decoder() diff --git a/lib_dec/waveadjust_fec_dec.c b/lib_dec/waveadjust_fec_dec.c index 222fb66599..f0fec98056 100644 --- a/lib_dec/waveadjust_fec_dec.c +++ b/lib_dec/waveadjust_fec_dec.c @@ -41,7 +41,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ACcontextMapping_enc.c b/lib_enc/ACcontextMapping_enc.c index 62ab9e7552..7f86ea5cf0 100644 --- a/lib_enc/ACcontextMapping_enc.c +++ b/lib_enc/ACcontextMapping_enc.c @@ -46,7 +46,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/FEC_enc.c b/lib_enc/FEC_enc.c index 89868e6729..98d07eb13e 100644 --- a/lib_enc/FEC_enc.c +++ b/lib_enc/FEC_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * FEC_encode() diff --git a/lib_enc/SNR_calc.c b/lib_enc/SNR_calc.c index 1ccaad6e0f..08ee8706dc 100644 --- a/lib_enc/SNR_calc.c +++ b/lib_enc/SNR_calc.c @@ -39,7 +39,7 @@ #include <math.h> #include "prot.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/acelp_core_enc.c b/lib_enc/acelp_core_enc.c index 95a986552a..e1bfd633d4 100644 --- a/lib_enc/acelp_core_enc.c +++ b/lib_enc/acelp_core_enc.c @@ -50,7 +50,7 @@ #ifdef LSF_RE_USE_SECONDARY_CHANNEL #include "ivas_rom_com.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * acelp_core_enc() diff --git a/lib_enc/acelp_core_switch_enc.c b/lib_enc/acelp_core_switch_enc.c index efabd35882..6849b40a9e 100644 --- a/lib_enc/acelp_core_switch_enc.c +++ b/lib_enc/acelp_core_switch_enc.c @@ -44,7 +44,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/acelp_enc_util.c b/lib_enc/acelp_enc_util.c index 003dadb026..275cb239ec 100644 --- a/lib_enc/acelp_enc_util.c +++ b/lib_enc/acelp_enc_util.c @@ -43,7 +43,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * E_ACELP_toeplitz_mul() diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 76ddf9e705..0cf0d8bc51 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -43,7 +43,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_MODE_INFO extern float snr_[2][320]; diff --git a/lib_enc/analy_lp.c b/lib_enc/analy_lp.c index b4b990634e..2f216cef90 100644 --- a/lib_enc/analy_lp.c +++ b/lib_enc/analy_lp.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * analy_lp() diff --git a/lib_enc/analy_sp.c b/lib_enc/analy_sp.c index 5828e72483..ab3e69bf0f 100644 --- a/lib_enc/analy_sp.c +++ b/lib_enc/analy_sp.c @@ -44,7 +44,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> #include "ivas_cnst.h" diff --git a/lib_enc/ari_enc.c b/lib_enc/ari_enc.c index 3c6df474f8..7b5a17f6c0 100644 --- a/lib_enc/ari_enc.c +++ b/lib_enc/ari_enc.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------- diff --git a/lib_enc/ari_hm_enc.c b/lib_enc/ari_hm_enc.c index c88ac3812a..168fa02845 100644 --- a/lib_enc/ari_hm_enc.c +++ b/lib_enc/ari_hm_enc.c @@ -44,7 +44,7 @@ #include "basop_util.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * EncodeIndex() diff --git a/lib_enc/arith_coder_enc.c b/lib_enc/arith_coder_enc.c index 553721377c..8a0c4b9ad8 100644 --- a/lib_enc/arith_coder_enc.c +++ b/lib_enc/arith_coder_enc.c @@ -46,7 +46,7 @@ #include "rom_com.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/avq_cod.c b/lib_enc/avq_cod.c index 601138ccd0..f2fe58a932 100644 --- a/lib_enc/avq_cod.c +++ b/lib_enc/avq_cod.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local prototypes diff --git a/lib_enc/bass_psfilter_enc.c b/lib_enc/bass_psfilter_enc.c index 3d9a390945..fb7d656931 100644 --- a/lib_enc/bass_psfilter_enc.c +++ b/lib_enc/bass_psfilter_enc.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_enc/bw_detect.c b/lib_enc/bw_detect.c index c2955f1f39..e64c5df8a1 100644 --- a/lib_enc/bw_detect.c +++ b/lib_enc/bw_detect.c @@ -46,7 +46,7 @@ #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/cng_enc.c b/lib_enc/cng_enc.c index 20787dd3f7..cd9bd2b022 100644 --- a/lib_enc/cng_enc.c +++ b/lib_enc/cng_enc.c @@ -44,7 +44,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_enc/cod2t32.c b/lib_enc/cod2t32.c index 1efef884d4..85bc7a3a4c 100644 --- a/lib_enc/cod2t32.c +++ b/lib_enc/cod2t32.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_enc/cod4t64.c b/lib_enc/cod4t64.c index 2c9ad01e21..4b51a2d18f 100644 --- a/lib_enc/cod4t64.c +++ b/lib_enc/cod4t64.c @@ -44,7 +44,7 @@ #include "rom_enc.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/cod4t64_fast.c b/lib_enc/cod4t64_fast.c index b67248ebe2..440ed8040f 100644 --- a/lib_enc/cod4t64_fast.c +++ b/lib_enc/cod4t64_fast.c @@ -40,7 +40,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/cod_ace.c b/lib_enc/cod_ace.c index 091146298a..6903e61bc2 100644 --- a/lib_enc/cod_ace.c +++ b/lib_enc/cod_ace.c @@ -42,7 +42,7 @@ #include "debug.h" #endif #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * coder_acelp() diff --git a/lib_enc/cod_tcx.c b/lib_enc/cod_tcx.c index f60ac1a314..fc97155742 100644 --- a/lib_enc/cod_tcx.c +++ b/lib_enc/cod_tcx.c @@ -40,7 +40,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" #include "ivas_rom_com.h" #ifdef DEBUGGING diff --git a/lib_enc/cod_uv.c b/lib_enc/cod_uv.c index 166a9685dc..5a64f93d06 100644 --- a/lib_enc/cod_uv.c +++ b/lib_enc/cod_uv.c @@ -37,7 +37,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * gauss_L2: diff --git a/lib_enc/comvad_decision.c b/lib_enc/comvad_decision.c index 4ccd0e4142..8c94c3a709 100644 --- a/lib_enc/comvad_decision.c +++ b/lib_enc/comvad_decision.c @@ -38,7 +38,7 @@ #include "options.h" #include "prot.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/cor_shif.c b/lib_enc/cor_shif.c index d27b097a43..1a5f5a3c2c 100644 --- a/lib_enc/cor_shif.c +++ b/lib_enc/cor_shif.c @@ -38,7 +38,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Correlation_shift diff --git a/lib_enc/core_enc_2div.c b/lib_enc/core_enc_2div.c index 65a5c78650..ed3789aed8 100644 --- a/lib_enc/core_enc_2div.c +++ b/lib_enc/core_enc_2div.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * core_encode_twodiv() diff --git a/lib_enc/core_enc_init.c b/lib_enc/core_enc_init.c index 009185cc88..d1bb1087c0 100644 --- a/lib_enc/core_enc_init.c +++ b/lib_enc/core_enc_init.c @@ -43,7 +43,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/core_enc_ol.c b/lib_enc/core_enc_ol.c index a761893653..2a41b9ad9f 100644 --- a/lib_enc/core_enc_ol.c +++ b/lib_enc/core_enc_ol.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/core_enc_reconf.c b/lib_enc/core_enc_reconf.c index 0489d210bc..ed5b3f2fa7 100644 --- a/lib_enc/core_enc_reconf.c +++ b/lib_enc/core_enc_reconf.c @@ -42,7 +42,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Funtion core_coder_reconfig * diff --git a/lib_enc/core_enc_switch.c b/lib_enc/core_enc_switch.c index f96d0eed57..5b230295b2 100644 --- a/lib_enc/core_enc_switch.c +++ b/lib_enc/core_enc_switch.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * core_coder_mode_switch() diff --git a/lib_enc/core_enc_updt.c b/lib_enc/core_enc_updt.c index 987910bcb5..0a05cc7545 100644 --- a/lib_enc/core_enc_updt.c +++ b/lib_enc/core_enc_updt.c @@ -42,7 +42,7 @@ #include "prot.h" #include "rom_com.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * core_encode_update() diff --git a/lib_enc/core_switching_enc.c b/lib_enc/core_switching_enc.c index 6102bd5f67..4ebed1862a 100644 --- a/lib_enc/core_switching_enc.c +++ b/lib_enc/core_switching_enc.c @@ -44,7 +44,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * core_switching_pre_enc() diff --git a/lib_enc/corr_xh.c b/lib_enc/corr_xh.c index bf4d473bda..b33b312d5a 100644 --- a/lib_enc/corr_xh.c +++ b/lib_enc/corr_xh.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * corr_xh() diff --git a/lib_enc/decision_matrix_enc.c b/lib_enc/decision_matrix_enc.c index 3433bdf1b4..d236897862 100644 --- a/lib_enc/decision_matrix_enc.c +++ b/lib_enc/decision_matrix_enc.c @@ -44,7 +44,7 @@ #include "stat_enc.h" #include "stat_dec.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* diff --git a/lib_enc/detect_transient.c b/lib_enc/detect_transient.c index 3eaddbc073..2bb7c7b528 100644 --- a/lib_enc/detect_transient.c +++ b/lib_enc/detect_transient.c @@ -42,7 +42,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * hp_filter() diff --git a/lib_enc/diffcod.c b/lib_enc/diffcod.c index 3d0c47ca62..e6ec210456 100644 --- a/lib_enc/diffcod.c +++ b/lib_enc/diffcod.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------*/ /* Function diffcod() */ diff --git a/lib_enc/dtx.c b/lib_enc/dtx.c index 41a1f6af43..c7c0a37380 100644 --- a/lib_enc/dtx.c +++ b/lib_enc/dtx.c @@ -45,7 +45,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/enc_acelp.c b/lib_enc/enc_acelp.c index 07d63fe25b..c525648d16 100644 --- a/lib_enc/enc_acelp.c +++ b/lib_enc/enc_acelp.c @@ -45,7 +45,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_enc/enc_acelp_tcx_main.c b/lib_enc/enc_acelp_tcx_main.c index f3b3076f78..869c8f7406 100644 --- a/lib_enc/enc_acelp_tcx_main.c +++ b/lib_enc/enc_acelp_tcx_main.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * enc_acelp_tcx_main() diff --git a/lib_enc/enc_acelpx.c b/lib_enc/enc_acelpx.c index 6c8e783d76..dc7a232fae 100644 --- a/lib_enc/enc_acelpx.c +++ b/lib_enc/enc_acelpx.c @@ -43,7 +43,7 @@ #endif #include "prot.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /* Iterations: nb_pos_ix*16 */ diff --git a/lib_enc/enc_amr_wb.c b/lib_enc/enc_amr_wb.c index 2e88776d8f..af1366ee6f 100644 --- a/lib_enc/enc_amr_wb.c +++ b/lib_enc/enc_amr_wb.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * encod_amr_wb() diff --git a/lib_enc/enc_gain.c b/lib_enc/enc_gain.c index a5728e1f37..5d2df71cbd 100644 --- a/lib_enc/enc_gain.c +++ b/lib_enc/enc_gain.c @@ -41,7 +41,7 @@ #include "prot.h" #include "rom_enc.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /* diff --git a/lib_enc/enc_gen_voic.c b/lib_enc/enc_gen_voic.c index dd642cd470..e2b2c96e05 100644 --- a/lib_enc/enc_gen_voic.c +++ b/lib_enc/enc_gen_voic.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * encod_gen_voic() diff --git a/lib_enc/enc_gen_voic_rf.c b/lib_enc/enc_gen_voic_rf.c index e8af6856ad..ace0f5f2ac 100644 --- a/lib_enc/enc_gen_voic_rf.c +++ b/lib_enc/enc_gen_voic_rf.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * reset_rf_indices() diff --git a/lib_enc/enc_higher_acelp.c b/lib_enc/enc_higher_acelp.c index ebda178d8b..96fd12eec9 100644 --- a/lib_enc/enc_higher_acelp.c +++ b/lib_enc/enc_higher_acelp.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/enc_nelp.c b/lib_enc/enc_nelp.c index 11ec6105b9..ba79832160 100644 --- a/lib_enc/enc_nelp.c +++ b/lib_enc/enc_nelp.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * encod_nelp() diff --git a/lib_enc/enc_pit_exc.c b/lib_enc/enc_pit_exc.c index 900d4021d0..1048ccf886 100644 --- a/lib_enc/enc_pit_exc.c +++ b/lib_enc/enc_pit_exc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * enc_pit_exc() diff --git a/lib_enc/enc_ppp.c b/lib_enc/enc_ppp.c index b7668bfb01..230aff7481 100644 --- a/lib_enc/enc_ppp.c +++ b/lib_enc/enc_ppp.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- * encod_ppp() diff --git a/lib_enc/enc_prm.c b/lib_enc/enc_prm.c index cd606af8fb..f48bb968c2 100644 --- a/lib_enc/enc_prm.c +++ b/lib_enc/enc_prm.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/enc_tran.c b/lib_enc/enc_tran.c index ee1768067e..600466bfa1 100644 --- a/lib_enc/enc_tran.c +++ b/lib_enc/enc_tran.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * encod_tran() diff --git a/lib_enc/enc_uv.c b/lib_enc/enc_uv.c index c34419c7df..cbdc8a0d7e 100644 --- a/lib_enc/enc_uv.c +++ b/lib_enc/enc_uv.c @@ -43,7 +43,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * encod_unvoiced() diff --git a/lib_enc/energy.c b/lib_enc/energy.c index e69063b873..408964a31b 100644 --- a/lib_enc/energy.c +++ b/lib_enc/energy.c @@ -39,7 +39,7 @@ #include "prot.h" #include "cnst.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * background_update() diff --git a/lib_enc/eval_pit_contr.c b/lib_enc/eval_pit_contr.c index d7eb087e57..0e3d041f26 100644 --- a/lib_enc/eval_pit_contr.c +++ b/lib_enc/eval_pit_contr.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constantes diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 864037f0d9..56d6e84952 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/ext_sig_ana.c b/lib_enc/ext_sig_ana.c index 58d1e34a56..d2e33cb6bf 100644 --- a/lib_enc/ext_sig_ana.c +++ b/lib_enc/ext_sig_ana.c @@ -43,7 +43,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index e3a349b2ae..c0133f2366 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -46,7 +46,7 @@ #include "prot.h" #include "ivas_prot.h" #include "stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * createFdCngEnc() diff --git a/lib_enc/find_tar.c b/lib_enc/find_tar.c index b97cd8fd57..edbf873704 100644 --- a/lib_enc/find_tar.c +++ b/lib_enc/find_tar.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * find_targets() diff --git a/lib_enc/find_tilt.c b/lib_enc/find_tilt.c index 140c3b84bf..da601dd87a 100644 --- a/lib_enc/find_tilt.c +++ b/lib_enc/find_tilt.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_enc/find_uv.c b/lib_enc/find_uv.c index fcfbfaa497..e05a94e1d9 100644 --- a/lib_enc/find_uv.c +++ b/lib_enc/find_uv.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/find_wsp.c b/lib_enc/find_wsp.c index d2e2575b52..42b6b62e45 100644 --- a/lib_enc/find_wsp.c +++ b/lib_enc/find_wsp.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * find_wsp() diff --git a/lib_enc/frame_spec_dif_cor_rate.c b/lib_enc/frame_spec_dif_cor_rate.c index 9b3329c5c1..ae240e497d 100644 --- a/lib_enc/frame_spec_dif_cor_rate.c +++ b/lib_enc/frame_spec_dif_cor_rate.c @@ -38,7 +38,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * frame_spec_dif_cor_rate() diff --git a/lib_enc/gain_enc.c b/lib_enc/gain_enc.c index 41389a6edb..842e14a00c 100644 --- a/lib_enc/gain_enc.c +++ b/lib_enc/gain_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/gaus_enc.c b/lib_enc/gaus_enc.c index 080f12f707..9e931e2704 100644 --- a/lib_enc/gaus_enc.c +++ b/lib_enc/gaus_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/gp_clip.c b/lib_enc/gp_clip.c index 036fcd2bf7..1d61b5de21 100644 --- a/lib_enc/gp_clip.c +++ b/lib_enc/gp_clip.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/gs_enc.c b/lib_enc/gs_enc.c index cfee14b2ca..7820bb446d 100644 --- a/lib_enc/gs_enc.c +++ b/lib_enc/gs_enc.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/guided_plc_enc.c b/lib_enc/guided_plc_enc.c index 28dd46c544..1baf8bf663 100644 --- a/lib_enc/guided_plc_enc.c +++ b/lib_enc/guided_plc_enc.c @@ -39,7 +39,7 @@ #include <math.h> #include "prot.h" #include "stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * coderLookAheadInnovation() diff --git a/lib_enc/hf_cod_amrwb.c b/lib_enc/hf_cod_amrwb.c index e731e13da9..66b6dc59f2 100644 --- a/lib_enc/hf_cod_amrwb.c +++ b/lib_enc/hf_cod_amrwb.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/hq_classifier_enc.c b/lib_enc/hq_classifier_enc.c index f604939d21..fc6eea1205 100644 --- a/lib_enc/hq_classifier_enc.c +++ b/lib_enc/hq_classifier_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_enc/hq_core_enc.c b/lib_enc/hq_core_enc.c index 29e56f5268..24b68016db 100644 --- a/lib_enc/hq_core_enc.c +++ b/lib_enc/hq_core_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * hq_core_enc() diff --git a/lib_enc/hq_env_enc.c b/lib_enc/hq_env_enc.c index 0ddfc2cb0e..e458a9947c 100644 --- a/lib_enc/hq_env_enc.c +++ b/lib_enc/hq_env_enc.c @@ -42,7 +42,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------------------* * encode_envelope_indices() diff --git a/lib_enc/hq_hr_enc.c b/lib_enc/hq_hr_enc.c index 569d616066..9b3ad08c37 100644 --- a/lib_enc/hq_hr_enc.c +++ b/lib_enc/hq_hr_enc.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_enc.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hq_hr_enc() diff --git a/lib_enc/hq_lr_enc.c b/lib_enc/hq_lr_enc.c index 184dc79e6b..ab9ab86f9f 100644 --- a/lib_enc/hq_lr_enc.c +++ b/lib_enc/hq_lr_enc.c @@ -46,7 +46,7 @@ #include "prot.h" #include "stl.h" #include "basop_util.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* diff --git a/lib_enc/hvq_enc.c b/lib_enc/hvq_enc.c index d82de6f5f3..e169cb4673 100644 --- a/lib_enc/hvq_enc.c +++ b/lib_enc/hvq_enc.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_enc.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * hvq_enc() diff --git a/lib_enc/igf_enc.c b/lib_enc/igf_enc.c index e355cd2083..277d36480d 100644 --- a/lib_enc/igf_enc.c +++ b/lib_enc/igf_enc.c @@ -45,7 +45,7 @@ #include "ivas_prot.h" #include "cnst.h" #include "stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_enc/igf_scf_enc.c b/lib_enc/igf_scf_enc.c index b1a3842b8f..b391bfcaad 100644 --- a/lib_enc/igf_scf_enc.c +++ b/lib_enc/igf_scf_enc.c @@ -43,7 +43,7 @@ #include "stat_enc.h" #include "stat_com.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_enc/init_enc.c b/lib_enc/init_enc.c index 4e4ab24369..6a2643186a 100644 --- a/lib_enc/init_enc.c +++ b/lib_enc/init_enc.c @@ -45,7 +45,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * init_encoder() diff --git a/lib_enc/inov_enc.c b/lib_enc/inov_enc.c index c80057f055..09e3251f37 100644 --- a/lib_enc/inov_enc.c +++ b/lib_enc/inov_enc.c @@ -43,7 +43,7 @@ #include "prot.h" #include "ivas_prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * inov_encode() diff --git a/lib_enc/isf_enc_amr_wb.c b/lib_enc/isf_enc_amr_wb.c index 441c66be9b..ec369b4681 100644 --- a/lib_enc/isf_enc_amr_wb.c +++ b/lib_enc/isf_enc_amr_wb.c @@ -43,7 +43,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index f39f2b8148..0eb287763f 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -40,7 +40,7 @@ #include "prot.h" #include <math.h> #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index ff01e2bd13..3dc1b8358d 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -40,7 +40,7 @@ #include "prot.h" #include "ivas_cnst.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> #ifdef DEBUG_MODE_ACELP diff --git a/lib_enc/ivas_core_pre_proc.c b/lib_enc/ivas_core_pre_proc.c index c928e55e09..6cdfd45180 100644 --- a/lib_enc/ivas_core_pre_proc.c +++ b/lib_enc/ivas_core_pre_proc.c @@ -41,7 +41,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 8f5799b07f..3fe5a1118e 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -41,7 +41,7 @@ #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index dffd53bb93..9e544da1ba 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index e2b4fe4995..32f49f936d 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_decision_matrix_enc.c b/lib_enc/ivas_decision_matrix_enc.c index de6fe8dc96..de689b3a62 100644 --- a/lib_enc/ivas_decision_matrix_enc.c +++ b/lib_enc/ivas_decision_matrix_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* diff --git a/lib_enc/ivas_dirac_enc.c b/lib_enc/ivas_dirac_enc.c index 98d39afcb5..f8e3d4f8bf 100644 --- a/lib_enc/ivas_dirac_enc.c +++ b/lib_enc/ivas_dirac_enc.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- * Local function prototypes diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 8b60d95c00..e1d40d4db8 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * ivas_enc() diff --git a/lib_enc/ivas_enc_cov_handler.c b/lib_enc/ivas_enc_cov_handler.c index 933c2c5de9..b94a29bcb4 100644 --- a/lib_enc/ivas_enc_cov_handler.c +++ b/lib_enc/ivas_enc_cov_handler.c @@ -37,7 +37,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* * Local constants diff --git a/lib_enc/ivas_entropy_coder.c b/lib_enc/ivas_entropy_coder.c index a3714821f3..9286983f3f 100644 --- a/lib_enc/ivas_entropy_coder.c +++ b/lib_enc/ivas_entropy_coder.c @@ -41,7 +41,7 @@ #include "ivas_rom_com.h" #include "math.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* * Local constants diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 4bc3730818..9bea3565d8 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -42,7 +42,7 @@ #include "prot.h" #include "ivas_prot.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" #include <math.h> diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 18280a60e2..b7642f2cd4 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 5a1f29fe29..4a97d45fce 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -39,7 +39,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_ism_metadata_enc.c b/lib_enc/ivas_ism_metadata_enc.c index 64c1c179b8..20f5be82f1 100644 --- a/lib_enc/ivas_ism_metadata_enc.c +++ b/lib_enc/ivas_ism_metadata_enc.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_enc/ivas_ism_param_enc.c b/lib_enc/ivas_ism_param_enc.c index 91eff650dc..c379383ea8 100644 --- a/lib_enc/ivas_ism_param_enc.c +++ b/lib_enc/ivas_ism_param_enc.c @@ -39,7 +39,7 @@ #include "cnst.h" #include "ivas_cnst.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- * Local function definitions diff --git a/lib_enc/ivas_lfe_enc.c b/lib_enc/ivas_lfe_enc.c index a333995d69..d1c70cbc62 100644 --- a/lib_enc/ivas_lfe_enc.c +++ b/lib_enc/ivas_lfe_enc.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_enc/ivas_masa_enc.c b/lib_enc/ivas_masa_enc.c index c2649adc56..270868386f 100644 --- a/lib_enc/ivas_masa_enc.c +++ b/lib_enc/ivas_masa_enc.c @@ -37,7 +37,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include "ivas_stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" /*-----------------------------------------------------------------------* diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 67e0c3974c..848b1afdd6 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -46,7 +46,7 @@ #ifdef DEBUG_PLOT #include "deb_out.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index 8d127e17d5..92a1950580 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -44,7 +44,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_enc/ivas_mct_core_enc.c b/lib_enc/ivas_mct_core_enc.c index a5db75de59..a9594e3cfa 100644 --- a/lib_enc/ivas_mct_core_enc.c +++ b/lib_enc/ivas_mct_core_enc.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------* diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 72bfd4efbc..b6b75bec44 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_mct_enc_mct.c b/lib_enc/ivas_mct_enc_mct.c index c506f4e431..9f90f86fd3 100755 --- a/lib_enc/ivas_mct_enc_mct.c +++ b/lib_enc/ivas_mct_enc_mct.c @@ -36,7 +36,7 @@ #include "ivas_cnst.h" #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> #define SPAR_CORR_THRES 0.9f diff --git a/lib_enc/ivas_mdct_core_enc.c b/lib_enc/ivas_mdct_core_enc.c index 595469530a..6517a5f50b 100644 --- a/lib_enc/ivas_mdct_core_enc.c +++ b/lib_enc/ivas_mdct_core_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------* * Local constants diff --git a/lib_enc/ivas_pca_enc.c b/lib_enc/ivas_pca_enc.c index c6b804088e..9fb4180236 100644 --- a/lib_enc/ivas_pca_enc.c +++ b/lib_enc/ivas_pca_enc.c @@ -41,7 +41,7 @@ #include <math.h> #include <assert.h> #include "typedef.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_enc/ivas_qmetadata_enc.c b/lib_enc/ivas_qmetadata_enc.c index c9f0bd70ff..9f8687e72b 100644 --- a/lib_enc/ivas_qmetadata_enc.c +++ b/lib_enc/ivas_qmetadata_enc.c @@ -39,7 +39,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include "ivas_stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" diff --git a/lib_enc/ivas_qspherical_enc.c b/lib_enc/ivas_qspherical_enc.c index b8f889b472..4e2ab5049e 100644 --- a/lib_enc/ivas_qspherical_enc.c +++ b/lib_enc/ivas_qspherical_enc.c @@ -38,7 +38,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #include "ivas_stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "prot.h" diff --git a/lib_enc/ivas_range_uni_enc.c b/lib_enc/ivas_range_uni_enc.c index be325d47bc..aa2ab55e0b 100644 --- a/lib_enc/ivas_range_uni_enc.c +++ b/lib_enc/ivas_range_uni_enc.c @@ -39,7 +39,7 @@ #include <stdint.h> #include "options.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING #include "debug.h" #endif diff --git a/lib_enc/ivas_rom_enc.c b/lib_enc/ivas_rom_enc.c index ebc4ee6bc3..7227dbc66d 100644 --- a/lib_enc/ivas_rom_enc.c +++ b/lib_enc/ivas_rom_enc.c @@ -38,7 +38,7 @@ #include "cnst.h" #include "ivas_cnst.h" #include <stddef.h> -#include "wmops.h" +#include "wmc_auto.h" /* clang-format off */ diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 003baa0fa0..32c229eb11 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index f1ebe700b4..b1b332d2f4 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_sns_enc.c b/lib_enc/ivas_sns_enc.c index 45c04ac9ea..c55e8e6f27 100644 --- a/lib_enc/ivas_sns_enc.c +++ b/lib_enc/ivas_sns_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 60df797acd..9bd3732c3d 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -41,7 +41,7 @@ #include "prot.h" #include "math.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_spar_md_enc.c b/lib_enc/ivas_spar_md_enc.c index 09c766b581..775a61228e 100644 --- a/lib_enc/ivas_spar_md_enc.c +++ b/lib_enc/ivas_spar_md_enc.c @@ -40,7 +40,7 @@ #include "math.h" #include "ivas_rom_com.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_adapt_GR_enc.c b/lib_enc/ivas_stereo_adapt_GR_enc.c index 8f07441920..f2a63660d7 100644 --- a/lib_enc/ivas_stereo_adapt_GR_enc.c +++ b/lib_enc/ivas_stereo_adapt_GR_enc.c @@ -36,7 +36,7 @@ #include "ivas_prot.h" #include "prot.h" #include "stat_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_rom_com.h" #ifdef DEBUGGING #include "debug.h" diff --git a/lib_enc/ivas_stereo_classifier.c b/lib_enc/ivas_stereo_classifier.c index 48b21146fa..f48437ccfd 100644 --- a/lib_enc/ivas_stereo_classifier.c +++ b/lib_enc/ivas_stereo_classifier.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_cng_enc.c b/lib_enc/ivas_stereo_cng_enc.c index 31f5e7c794..d14561749b 100644 --- a/lib_enc/ivas_stereo_cng_enc.c +++ b/lib_enc/ivas_stereo_cng_enc.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------- diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index 911baa16a9..ff49c3d789 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -45,7 +45,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index 594137993e..4693c76ea6 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -45,7 +45,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_enc/ivas_stereo_dft_td_itd.c b/lib_enc/ivas_stereo_dft_td_itd.c index 84dfee6980..c6d792fe00 100644 --- a/lib_enc/ivas_stereo_dft_td_itd.c +++ b/lib_enc/ivas_stereo_dft_td_itd.c @@ -47,7 +47,7 @@ #ifdef DEBUG_PLOT #include "deb_out.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index a6773bc64c..8ce8cdbd09 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_eclvq_enc.c b/lib_enc/ivas_stereo_eclvq_enc.c index dffdafd17a..d5d4b29414 100644 --- a/lib_enc/ivas_stereo_eclvq_enc.c +++ b/lib_enc/ivas_stereo_eclvq_enc.c @@ -39,7 +39,7 @@ #include "ivas_rom_enc.h" #include <assert.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /* used only for norm_s in the code_length_from_count function */ #include "basop32.h" diff --git a/lib_enc/ivas_stereo_ica_enc.c b/lib_enc/ivas_stereo_ica_enc.c index c178d05a91..b7152096ea 100644 --- a/lib_enc/ivas_stereo_ica_enc.c +++ b/lib_enc/ivas_stereo_ica_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #include "rom_com.h" #include "ivas_rom_com.h" diff --git a/lib_enc/ivas_stereo_icbwe_enc.c b/lib_enc/ivas_stereo_icbwe_enc.c index 1d1f89f656..049dd0ba76 100644 --- a/lib_enc/ivas_stereo_icbwe_enc.c +++ b/lib_enc/ivas_stereo_icbwe_enc.c @@ -37,7 +37,7 @@ #include "ivas_cnst.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include "rom_com.h" #include "ivas_rom_com.h" #ifdef DEBUGGING diff --git a/lib_enc/ivas_stereo_mdct_core_enc.c b/lib_enc/ivas_stereo_mdct_core_enc.c index c35f7670ec..1b8460cf07 100755 --- a/lib_enc/ivas_stereo_mdct_core_enc.c +++ b/lib_enc/ivas_stereo_mdct_core_enc.c @@ -41,7 +41,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * sync_tcx_mode() diff --git a/lib_enc/ivas_stereo_mdct_igf_enc.c b/lib_enc/ivas_stereo_mdct_igf_enc.c index b04fe84de2..d2c5ae38fe 100644 --- a/lib_enc/ivas_stereo_mdct_igf_enc.c +++ b/lib_enc/ivas_stereo_mdct_igf_enc.c @@ -39,7 +39,7 @@ #include "stat_enc.h" #include "ivas_stat_enc.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/ivas_stereo_mdct_stereo_enc.c b/lib_enc/ivas_stereo_mdct_stereo_enc.c index 9975b95871..28bb061548 100644 --- a/lib_enc/ivas_stereo_mdct_stereo_enc.c +++ b/lib_enc/ivas_stereo_mdct_stereo_enc.c @@ -39,7 +39,7 @@ #include "prot.h" #include "ivas_rom_com.h" #include "ivas_rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "stat_enc.h" #ifdef DEBUG_PLOT #include "deb_out.h" diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index d0201784a6..c618e4a3c7 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -40,7 +40,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_td_analysis.c b/lib_enc/ivas_stereo_td_analysis.c index 41de84d714..50e7a83fec 100644 --- a/lib_enc/ivas_stereo_td_analysis.c +++ b/lib_enc/ivas_stereo_td_analysis.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_stereo_td_enc.c b/lib_enc/ivas_stereo_td_enc.c index 1e7fe30bd1..4874ba47b0 100644 --- a/lib_enc/ivas_stereo_td_enc.c +++ b/lib_enc/ivas_stereo_td_enc.c @@ -41,7 +41,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include "math.h" diff --git a/lib_enc/ivas_stereo_td_low_rate_enc.c b/lib_enc/ivas_stereo_td_low_rate_enc.c index 92abf45e9a..b1f939c432 100644 --- a/lib_enc/ivas_stereo_td_low_rate_enc.c +++ b/lib_enc/ivas_stereo_td_low_rate_enc.c @@ -42,7 +42,7 @@ #include "ivas_cnst.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/ivas_tcx_core_enc.c b/lib_enc/ivas_tcx_core_enc.c index 1e04a7ad82..4f17a3979b 100644 --- a/lib_enc/ivas_tcx_core_enc.c +++ b/lib_enc/ivas_tcx_core_enc.c @@ -41,7 +41,7 @@ #include "prot.h" #include "rom_com.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/lead_indexing.c b/lib_enc/lead_indexing.c index d97ccc6955..3faccbb2e7 100644 --- a/lib_enc/lead_indexing.c +++ b/lib_enc/lead_indexing.c @@ -41,7 +41,7 @@ #endif #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 68a465a5bc..d828335a95 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #ifdef WMOPS -#include "wmops.h" +#include "wmc_auto.h" #endif diff --git a/lib_enc/long_enr.c b/lib_enc/long_enr.c index 3dc098af61..566f18e06f 100644 --- a/lib_enc/long_enr.c +++ b/lib_enc/long_enr.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * long_enr() diff --git a/lib_enc/lp_exc_e.c b/lib_enc/lp_exc_e.c index e8078c5e0e..36011ade86 100644 --- a/lib_enc/lp_exc_e.c +++ b/lib_enc/lp_exc_e.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/lsf_enc.c b/lib_enc/lsf_enc.c index 8e561c76e8..e8bf8b51ac 100644 --- a/lib_enc/lsf_enc.c +++ b/lib_enc/lsf_enc.c @@ -49,7 +49,7 @@ #include "ivas_prot.h" #include "ivas_rom_com.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_enc/lsf_msvq_ma_enc.c b/lib_enc/lsf_msvq_ma_enc.c index bf115aa671..d731845268 100644 --- a/lib_enc/lsf_msvq_ma_enc.c +++ b/lib_enc/lsf_msvq_ma_enc.c @@ -44,7 +44,7 @@ #include "rom_com.h" #include "rom_enc.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" #define kMaxC 8 diff --git a/lib_enc/ltd_stable.c b/lib_enc/ltd_stable.c index 5650f93e67..3ca14288d5 100644 --- a/lib_enc/ltd_stable.c +++ b/lib_enc/ltd_stable.c @@ -38,7 +38,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * ltd_stable() diff --git a/lib_enc/mdct_classifier.c b/lib_enc/mdct_classifier.c index ae7e6f7e3f..b94835b0a4 100644 --- a/lib_enc/mdct_classifier.c +++ b/lib_enc/mdct_classifier.c @@ -41,7 +41,7 @@ #endif #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> diff --git a/lib_enc/mdct_selector.c b/lib_enc/mdct_selector.c index 1f118d23d2..ee83eb3a40 100644 --- a/lib_enc/mdct_selector.c +++ b/lib_enc/mdct_selector.c @@ -44,7 +44,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_enc/mslvq_enc.c b/lib_enc/mslvq_enc.c index 3c910cbf06..2ca49f2629 100644 --- a/lib_enc/mslvq_enc.c +++ b/lib_enc/mslvq_enc.c @@ -40,7 +40,7 @@ #include "prot.h" #include "rom_com.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*-----------------------------------------------------------------* diff --git a/lib_enc/multi_harm.c b/lib_enc/multi_harm.c index 4427b3376c..cfbe05efa3 100644 --- a/lib_enc/multi_harm.c +++ b/lib_enc/multi_harm.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_enc/nelp_enc.c b/lib_enc/nelp_enc.c index 8f8f407749..e25983020f 100644 --- a/lib_enc/nelp_enc.c +++ b/lib_enc/nelp_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * quantize_uvg() diff --git a/lib_enc/nois_est.c b/lib_enc/nois_est.c index b8d551a738..1553873656 100644 --- a/lib_enc/nois_est.c +++ b/lib_enc/nois_est.c @@ -39,7 +39,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constants diff --git a/lib_enc/noise_adjust.c b/lib_enc/noise_adjust.c index 5d592d071b..7eb123b399 100644 --- a/lib_enc/noise_adjust.c +++ b/lib_enc/noise_adjust.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * noise_adjust() diff --git a/lib_enc/normalizecoefs.c b/lib_enc/normalizecoefs.c index 7e039f171e..425bde338c 100644 --- a/lib_enc/normalizecoefs.c +++ b/lib_enc/normalizecoefs.c @@ -41,7 +41,7 @@ #endif #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------- * normalizecoefs() diff --git a/lib_enc/peak_vq_enc.c b/lib_enc/peak_vq_enc.c index a77f071112..e2bc6b9c5c 100644 --- a/lib_enc/peak_vq_enc.c +++ b/lib_enc/peak_vq_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> /*-------------------------------------------------------------------------- diff --git a/lib_enc/pit_enc.c b/lib_enc/pit_enc.c index 454da71966..2bbca8b8b4 100644 --- a/lib_enc/pit_enc.c +++ b/lib_enc/pit_enc.c @@ -42,7 +42,7 @@ #include "prot.h" #include "rom_enc.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * pit_encode() diff --git a/lib_enc/pitch_ol.c b/lib_enc/pitch_ol.c index 72d454fd30..32ab74cea6 100644 --- a/lib_enc/pitch_ol.c +++ b/lib_enc/pitch_ol.c @@ -41,7 +41,7 @@ #include "cnst.h" #include "rom_com.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_enc/pitch_ol2.c b/lib_enc/pitch_ol2.c index 13f5bd33de..5ea871d265 100644 --- a/lib_enc/pitch_ol2.c +++ b/lib_enc/pitch_ol2.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_enc.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local constants diff --git a/lib_enc/plc_enc_ext.c b/lib_enc/plc_enc_ext.c index 70b573c5a9..4c3685076a 100644 --- a/lib_enc/plc_enc_ext.c +++ b/lib_enc/plc_enc_ext.c @@ -41,7 +41,7 @@ #include "stat_enc.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #define NBITS_GACELP 5 diff --git a/lib_enc/ppp_enc.c b/lib_enc/ppp_enc.c index 887be74fd5..26a0c99ab1 100644 --- a/lib_enc/ppp_enc.c +++ b/lib_enc/ppp_enc.c @@ -40,7 +40,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index 1afdcef5a0..f9f3fd74ee 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -43,7 +43,7 @@ #include "rom_enc.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/pvq_core_enc.c b/lib_enc/pvq_core_enc.c index 3603b950e9..5e7003e025 100644 --- a/lib_enc/pvq_core_enc.c +++ b/lib_enc/pvq_core_enc.c @@ -44,7 +44,7 @@ #include "prot.h" #include "prot.h" #include "stl.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/pvq_encode.c b/lib_enc/pvq_encode.c index acf7928a6f..159a4c2597 100644 --- a/lib_enc/pvq_encode.c +++ b/lib_enc/pvq_encode.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" static void pyramidSearch( const float *const s, const int16_t L, const int16_t Ptot, const float A, int16_t *ztak, float *stak ); diff --git a/lib_enc/q_gain2p.c b/lib_enc/q_gain2p.c index 8a3bc04b9a..949bbe0fe1 100644 --- a/lib_enc/q_gain2p.c +++ b/lib_enc/q_gain2p.c @@ -43,7 +43,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/qlpc_avq.c b/lib_enc/qlpc_avq.c index 03aeab128e..4b41c56bab 100644 --- a/lib_enc/qlpc_avq.c +++ b/lib_enc/qlpc_avq.c @@ -38,7 +38,7 @@ #include "options.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * qlpc_avq() diff --git a/lib_enc/qlpc_stoch.c b/lib_enc/qlpc_stoch.c index 403132b6e8..c42d2efeb7 100644 --- a/lib_enc/qlpc_stoch.c +++ b/lib_enc/qlpc_stoch.c @@ -46,7 +46,7 @@ #include "rom_com.h" #include "rom_enc.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * lpc_quantization() diff --git a/lib_enc/range_enc.c b/lib_enc/range_enc.c index d44ed895a4..4029ffc2f0 100644 --- a/lib_enc/range_enc.c +++ b/lib_enc/range_enc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/re8_cod.c b/lib_enc/re8_cod.c index 30030cc394..500fa8b139 100644 --- a/lib_enc/re8_cod.c +++ b/lib_enc/re8_cod.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------ diff --git a/lib_enc/reordernorm.c b/lib_enc/reordernorm.c index 2387263aab..b086ef3ad8 100644 --- a/lib_enc/reordernorm.c +++ b/lib_enc/reordernorm.c @@ -42,7 +42,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------*/ /* Function reordernorm */ diff --git a/lib_enc/rom_enc.c b/lib_enc/rom_enc.c index cc9755ce92..72b185f613 100644 --- a/lib_enc/rom_enc.c +++ b/lib_enc/rom_enc.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /* clang-format off */ diff --git a/lib_enc/rst_enc.c b/lib_enc/rst_enc.c index ac8853c721..43f4e19d31 100644 --- a/lib_enc/rst_enc.c +++ b/lib_enc/rst_enc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * CNG_reset_enc() diff --git a/lib_enc/set_impulse.c b/lib_enc/set_impulse.c index 493d373d1e..f2dc62d3cd 100644 --- a/lib_enc/set_impulse.c +++ b/lib_enc/set_impulse.c @@ -39,7 +39,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local constant diff --git a/lib_enc/setmodeindex.c b/lib_enc/setmodeindex.c index 67d2d9d710..0dba8cf52b 100644 --- a/lib_enc/setmodeindex.c +++ b/lib_enc/setmodeindex.c @@ -42,7 +42,7 @@ #include "prot.h" #include "cnst.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------- diff --git a/lib_enc/sig_clas.c b/lib_enc/sig_clas.c index c1438b6b76..44c6ed8c03 100644 --- a/lib_enc/sig_clas.c +++ b/lib_enc/sig_clas.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local constants diff --git a/lib_enc/spec_center.c b/lib_enc/spec_center.c index f565cba7a8..45c7792dc2 100644 --- a/lib_enc/spec_center.c +++ b/lib_enc/spec_center.c @@ -39,7 +39,7 @@ #include "prot.h" #include "rom_enc.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * spec_center() diff --git a/lib_enc/spec_flatness.c b/lib_enc/spec_flatness.c index 2ef6bd3b60..ed97d959e8 100644 --- a/lib_enc/spec_flatness.c +++ b/lib_enc/spec_flatness.c @@ -39,7 +39,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * spec_flatness() diff --git a/lib_enc/speech_music_classif.c b/lib_enc/speech_music_classif.c index a61e42c164..e384a50cb8 100644 --- a/lib_enc/speech_music_classif.c +++ b/lib_enc/speech_music_classif.c @@ -46,7 +46,7 @@ #include "ivas_prot.h" #include "rom_enc.h" #include "rom_com.h" /* Common static table prototypes */ -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_enc/stat_noise_uv_enc.c b/lib_enc/stat_noise_uv_enc.c index 3cb876097b..1b7647d7f9 100644 --- a/lib_enc/stat_noise_uv_enc.c +++ b/lib_enc/stat_noise_uv_enc.c @@ -41,7 +41,7 @@ #endif #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * stat_noise_uv_enc() diff --git a/lib_enc/subband_fft.c b/lib_enc/subband_fft.c index 9f02fa04ae..61d40b2489 100644 --- a/lib_enc/subband_fft.c +++ b/lib_enc/subband_fft.c @@ -39,7 +39,7 @@ #include <math.h> #include "prot.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/swb_bwe_enc.c b/lib_enc/swb_bwe_enc.c index 54e786d761..44609e028b 100644 --- a/lib_enc/swb_bwe_enc.c +++ b/lib_enc/swb_bwe_enc.c @@ -46,7 +46,7 @@ #include "rom_enc.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/swb_bwe_enc_hr.c b/lib_enc/swb_bwe_enc_hr.c index 63e5753650..087e0f01f9 100644 --- a/lib_enc/swb_bwe_enc_hr.c +++ b/lib_enc/swb_bwe_enc_hr.c @@ -42,7 +42,7 @@ #include <math.h> #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * en_band_quant() diff --git a/lib_enc/swb_bwe_enc_lr.c b/lib_enc/swb_bwe_enc_lr.c index 7273972d7c..c7a6a99f82 100644 --- a/lib_enc/swb_bwe_enc_lr.c +++ b/lib_enc/swb_bwe_enc_lr.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "stat_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*--------------------------------------------------------------------------* * GetSubbandCorrIndex2_har() diff --git a/lib_enc/swb_pre_proc.c b/lib_enc/swb_pre_proc.c index 4d6eaf7836..6089f10350 100644 --- a/lib_enc/swb_pre_proc.c +++ b/lib_enc/swb_pre_proc.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" #include "ivas_rom_enc.h" diff --git a/lib_enc/swb_tbe_enc.c b/lib_enc/swb_tbe_enc.c index 036611efb3..8e4cf5be70 100644 --- a/lib_enc/swb_tbe_enc.c +++ b/lib_enc/swb_tbe_enc.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*-----------------------------------------------------------------* diff --git a/lib_enc/tcq_core_enc.c b/lib_enc/tcq_core_enc.c index 11d96e2015..c4742a9c29 100644 --- a/lib_enc/tcq_core_enc.c +++ b/lib_enc/tcq_core_enc.c @@ -44,7 +44,7 @@ #include "cnst.h" #include "basop_util.h" #include "basop_proto_func.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* * tcq_core_LR_enc() diff --git a/lib_enc/tcx_ltp_enc.c b/lib_enc/tcx_ltp_enc.c index fbac9b1640..4274fc047b 100644 --- a/lib_enc/tcx_ltp_enc.c +++ b/lib_enc/tcx_ltp_enc.c @@ -43,7 +43,7 @@ #include "prot.h" #include "rom_enc.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_PLOT #include "deb_out.h" #endif diff --git a/lib_enc/tcx_utils_enc.c b/lib_enc/tcx_utils_enc.c index 04b6f0a206..3b982a7395 100755 --- a/lib_enc/tcx_utils_enc.c +++ b/lib_enc/tcx_utils_enc.c @@ -44,7 +44,7 @@ #include "prot.h" #include "rom_com.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*---------------------------------------------------------------------* diff --git a/lib_enc/tfa_enc.c b/lib_enc/tfa_enc.c index dca8b62623..db875805e1 100644 --- a/lib_enc/tfa_enc.c +++ b/lib_enc/tfa_enc.c @@ -38,7 +38,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * tfaCalcEnv() diff --git a/lib_enc/tns_base_enc.c b/lib_enc/tns_base_enc.c index f008ed728f..dde185b345 100644 --- a/lib_enc/tns_base_enc.c +++ b/lib_enc/tns_base_enc.c @@ -37,7 +37,7 @@ #include <assert.h> #include <stdint.h> #include "options.h" -#include "wmops.h" +#include "wmc_auto.h" #include "cnst.h" #include "rom_com.h" #include "prot.h" diff --git a/lib_enc/transient_detection.c b/lib_enc/transient_detection.c index 469c7c4d8d..39cb0d176f 100644 --- a/lib_enc/transient_detection.c +++ b/lib_enc/transient_detection.c @@ -44,7 +44,7 @@ #include "prot.h" #include "ivas_prot.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------* diff --git a/lib_enc/transition_enc.c b/lib_enc/transition_enc.c index ef291f23c2..52d4b19803 100644 --- a/lib_enc/transition_enc.c +++ b/lib_enc/transition_enc.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/update_decision.c b/lib_enc/update_decision.c index 05877f7a7e..655ce8d8b7 100644 --- a/lib_enc/update_decision.c +++ b/lib_enc/update_decision.c @@ -38,7 +38,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index c6663895e0..ec9b0b78b1 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "rom_com.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * updt_enc() diff --git a/lib_enc/updt_tar.c b/lib_enc/updt_tar.c index 4cf7f78680..692dad3f58 100644 --- a/lib_enc/updt_tar.c +++ b/lib_enc/updt_tar.c @@ -40,7 +40,7 @@ #include "debug.h" #endif #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*----------------------------------------------------------------------------------* * procedure updt_tar() diff --git a/lib_enc/vad.c b/lib_enc/vad.c index 8d3c0beb4f..ff4d3c36bc 100644 --- a/lib_enc/vad.c +++ b/lib_enc/vad.c @@ -43,7 +43,7 @@ #include "cnst.h" #include "prot.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_prot.h" /*-----------------------------------------------------------------* diff --git a/lib_enc/vad_param_updt.c b/lib_enc/vad_param_updt.c index cbbf5c37d9..21c940510d 100644 --- a/lib_enc/vad_param_updt.c +++ b/lib_enc/vad_param_updt.c @@ -42,7 +42,7 @@ #include <math.h> #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * vad_param_updt() diff --git a/lib_enc/vad_proc.c b/lib_enc/vad_proc.c index f40ca2cb5f..93f357aa07 100644 --- a/lib_enc/vad_proc.c +++ b/lib_enc/vad_proc.c @@ -39,7 +39,7 @@ #include "options.h" #include "prot.h" #include "rom_enc.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_enc/vbr_average_rate.c b/lib_enc/vbr_average_rate.c index a32091f690..77ac2a9ddb 100644 --- a/lib_enc/vbr_average_rate.c +++ b/lib_enc/vbr_average_rate.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * Local constants diff --git a/lib_enc/vlpc_1st_cod.c b/lib_enc/vlpc_1st_cod.c index 9f93167054..0ffbc85a9f 100644 --- a/lib_enc/vlpc_1st_cod.c +++ b/lib_enc/vlpc_1st_cod.c @@ -42,7 +42,7 @@ #include "cnst.h" #include "prot.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* diff --git a/lib_enc/vlpc_2st_cod.c b/lib_enc/vlpc_2st_cod.c index 86abfec1b0..7a90311d7e 100644 --- a/lib_enc/vlpc_2st_cod.c +++ b/lib_enc/vlpc_2st_cod.c @@ -38,7 +38,7 @@ #include "options.h" #include "cnst.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------* * vlpc_2st_cod() diff --git a/lib_enc/voiced_enc.c b/lib_enc/voiced_enc.c index 55ee77a476..9b0a1f4bfc 100644 --- a/lib_enc/voiced_enc.c +++ b/lib_enc/voiced_enc.c @@ -40,7 +40,7 @@ #include "prot.h" #include "cnst.h" #include "rom_com.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * Local function prototypes diff --git a/lib_enc/waveadjust_fec_cod.c b/lib_enc/waveadjust_fec_cod.c index e0b87477be..f1d5ab6220 100644 --- a/lib_enc/waveadjust_fec_cod.c +++ b/lib_enc/waveadjust_fec_cod.c @@ -38,7 +38,7 @@ #include "options.h" #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* * SFM_Cal() diff --git a/lib_rend/ivas_allrad_dec.c b/lib_rend/ivas_allrad_dec.c index a61f543cb1..a25e708c35 100644 --- a/lib_rend/ivas_allrad_dec.c +++ b/lib_rend/ivas_allrad_dec.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUG_MODE_INFO_ALLRAD diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index b647073188..906bc22945 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_rend/ivas_binaural_reverb.c b/lib_rend/ivas_binaural_reverb.c index b03c8c0053..9104d37f7a 100644 --- a/lib_rend/ivas_binaural_reverb.c +++ b/lib_rend/ivas_binaural_reverb.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /* The reverberator structure implemented here is described in detail in: diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 760dbcbaed..ae2240df34 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -46,7 +46,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_rend/ivas_efap.c b/lib_rend/ivas_efap.c index 8314d3117f..cb4b209488 100644 --- a/lib_rend/ivas_efap.c +++ b/lib_rend/ivas_efap.c @@ -42,7 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* * Local constants diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c index 7c4183b0e8..bbb4afa152 100644 --- a/lib_rend/ivas_hrtf.c +++ b/lib_rend/ivas_hrtf.c @@ -39,7 +39,7 @@ #include "assert.h" #include "ivas_rom_TdBinauralRenderer.h" #include "ivas_error.h" -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------* diff --git a/lib_rend/ivas_limiter.c b/lib_rend/ivas_limiter.c index fd116223c5..dc290742c5 100644 --- a/lib_rend/ivas_limiter.c +++ b/lib_rend/ivas_limiter.c @@ -36,7 +36,7 @@ #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> #ifndef EXT_RENDERER diff --git a/lib_rend/ivas_ls_custom_dec.c b/lib_rend/ivas_ls_custom_dec.c index 4f10420363..b76b7d8da4 100644 --- a/lib_rend/ivas_ls_custom_dec.c +++ b/lib_rend/ivas_ls_custom_dec.c @@ -37,7 +37,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 14e8154018..e59c98d167 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -35,7 +35,7 @@ #include "prot.h" #include "ivas_prot.h" #include <math.h> -#include "wmops.h" +#include "wmc_auto.h" #include "ivas_rom_com.h" #ifdef EXT_RENDERER #include "lib_rend.h" diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 016d5a60f9..6b0eb31970 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -39,7 +39,7 @@ #include "ivas_rom_rend.h" #include "ivas_cnst.h" #include "ivas_rom_TdBinauralRenderer.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index df190b91b1..9f0c0bf427 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -34,7 +34,7 @@ #include "options.h" #include "prot.h" #include "ivas_prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING #include "debug.h" #endif diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 59c37eb671..44bc695e1d 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -36,7 +36,7 @@ #include "ivas_prot.h" #include "ivas_rom_rend.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*---------------------------------------------------------------------* diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index a9e88602ca..364da58c7f 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -35,7 +35,7 @@ #include <math.h> #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING #include "debug.h" #endif diff --git a/lib_rend/ivas_objectRenderer_vec.c b/lib_rend/ivas_objectRenderer_vec.c index 11c5d31ea8..17f5f229d1 100644 --- a/lib_rend/ivas_objectRenderer_vec.c +++ b/lib_rend/ivas_objectRenderer_vec.c @@ -35,7 +35,7 @@ #include <math.h> #include "ivas_prot.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #ifdef DEBUGGING #include "debug.h" #endif diff --git a/lib_rend/ivas_orient_trk.c b/lib_rend/ivas_orient_trk.c index 4754062b56..8d4d561898 100644 --- a/lib_rend/ivas_orient_trk.c +++ b/lib_rend/ivas_orient_trk.c @@ -40,7 +40,7 @@ #endif #include <math.h> #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_output_init.c b/lib_rend/ivas_output_init.c index e5407abff4..40711b79ad 100644 --- a/lib_rend/ivas_output_init.c +++ b/lib_rend/ivas_output_init.c @@ -43,7 +43,7 @@ #include "debug.h" #include <assert.h> #endif -#include "wmops.h" +#include "wmc_auto.h" /*-------------------------------------------------------------------------* * audioCfg2channels() diff --git a/lib_rend/ivas_render_config.c b/lib_rend/ivas_render_config.c index 7e8caec092..8dbf05ed4a 100644 --- a/lib_rend/ivas_render_config.c +++ b/lib_rend/ivas_render_config.c @@ -39,7 +39,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb.c b/lib_rend/ivas_reverb.c index 22265c03c1..ffbdd026a3 100644 --- a/lib_rend/ivas_reverb.c +++ b/lib_rend/ivas_reverb.c @@ -41,7 +41,7 @@ #include "math.h" #include "ivas_rom_rend.h" #include <assert.h> -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_delay_line.c b/lib_rend/ivas_reverb_delay_line.c index 9ad1a03bf9..361af732ff 100644 --- a/lib_rend/ivas_reverb_delay_line.c +++ b/lib_rend/ivas_reverb_delay_line.c @@ -37,7 +37,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_fft_filter.c b/lib_rend/ivas_reverb_fft_filter.c index 7a304aaf7c..4b8b2ec414 100644 --- a/lib_rend/ivas_reverb_fft_filter.c +++ b/lib_rend/ivas_reverb_fft_filter.c @@ -38,7 +38,7 @@ #endif #include <math.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_filter_design.c b/lib_rend/ivas_reverb_filter_design.c index 0654dbfa8a..efe8ec16dc 100644 --- a/lib_rend/ivas_reverb_filter_design.c +++ b/lib_rend/ivas_reverb_filter_design.c @@ -40,7 +40,7 @@ #include <math.h> #include <stdint.h> #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_iir_filter.c b/lib_rend/ivas_reverb_iir_filter.c index b633f8e82c..b557079db3 100644 --- a/lib_rend/ivas_reverb_iir_filter.c +++ b/lib_rend/ivas_reverb_iir_filter.c @@ -38,7 +38,7 @@ #include "debug.h" #endif #include <stddef.h> -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_reverb_utils.c b/lib_rend/ivas_reverb_utils.c index 31a559bd2c..7d26351ee8 100644 --- a/lib_rend/ivas_reverb_utils.c +++ b/lib_rend/ivas_reverb_utils.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/ivas_rom_TdBinauralRenderer.c b/lib_rend/ivas_rom_TdBinauralRenderer.c index 34263ea8f3..a4e07a435e 100644 --- a/lib_rend/ivas_rom_TdBinauralRenderer.c +++ b/lib_rend/ivas_rom_TdBinauralRenderer.c @@ -39,7 +39,7 @@ #endif #include "cnst.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------- diff --git a/lib_rend/ivas_rom_binauralRenderer.c b/lib_rend/ivas_rom_binauralRenderer.c index bfd2da9fb4..b778c72092 100644 --- a/lib_rend/ivas_rom_binauralRenderer.c +++ b/lib_rend/ivas_rom_binauralRenderer.c @@ -37,7 +37,7 @@ #endif #include "cnst.h" #include "ivas_cnst.h" -#include "wmops.h" +#include "wmc_auto.h" /* clang-format off */ diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 9774900c57..6a0c460ba5 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -43,7 +43,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifndef EXT_RENDERER diff --git a/lib_rend/ivas_sba_rendering.c b/lib_rend/ivas_sba_rendering.c index b7c5553671..194dffc0b9 100755 --- a/lib_rend/ivas_sba_rendering.c +++ b/lib_rend/ivas_sba_rendering.c @@ -40,7 +40,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" /*-----------------------------------------------------------------------* diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 035d0ee4cb..9f714e73b0 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -39,7 +39,7 @@ #include "ivas_rom_rend.h" #include "ivas_lib_rend_internal.h" #include "prot.h" -#include "wmops.h" +#include "wmc_auto.h" #include <assert.h> #include <math.h> diff --git a/lib_util/audio_file_reader.c b/lib_util/audio_file_reader.c index d2c38cbb17..ded04a9f2c 100644 --- a/lib_util/audio_file_reader.c +++ b/lib_util/audio_file_reader.c @@ -34,7 +34,7 @@ #include "tinywavein_c.h" #include <stdint.h> #include <stdio.h> -#include "wmops.h" +#include "wmc_auto.h" struct AudioFileReader { diff --git a/lib_util/audio_file_writer.c b/lib_util/audio_file_writer.c index af9c6ee0e6..5c86161ead 100644 --- a/lib_util/audio_file_writer.c +++ b/lib_util/audio_file_writer.c @@ -34,7 +34,7 @@ #include "tinywaveout_c.h" #include <stdio.h> #include <string.h> -#include "wmops.h" +#include "wmc_auto.h" struct AudioFileWriter { diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c index 2bf19080e5..f71a878c98 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c @@ -45,7 +45,7 @@ #include "debug.h" #endif #include "ivas_prox_mix.h" -#include "wmops.h" +#include "wmc_auto.h" /*------------------------------------------------------------------------------------------* * PreProcessor -- GitLab From 4c9c3530ee1040e88a7f3a477307aa882caacbaa Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 10:54:52 +0100 Subject: [PATCH 120/620] replaced WMC_TOOL_MAN with WMC_TOOL_SKIP --- apps/decoder.c | 2 +- apps/encoder.c | 2 +- lib_com/ari_hm.c | 4 +++- lib_com/arith_coder.c | 5 ++++- lib_com/bitalloc.c | 5 ++++- lib_com/bitstream.c | 4 ++-- lib_com/fft.c | 4 +++- lib_com/hq2_bit_alloc.c | 4 +++- lib_com/hq2_core_com.c | 4 ++-- lib_com/index_pvq_opt.c | 5 ++--- lib_com/interpol.c | 4 ++-- lib_com/lsf_tools.c | 4 ++-- lib_com/modif_fs.c | 4 ++-- lib_com/parameter_bitmaping.c | 16 ++++++++-------- lib_com/pvq_com.c | 4 +++- lib_com/tools.c | 21 ++++++++++----------- lib_debug/segsnr.c | 4 +++- lib_dec/FEC.c | 4 ++-- lib_dec/arith_coder_dec.c | 4 ++-- lib_dec/hq_lr_dec.c | 24 ++++++++++++------------ lib_dec/pitch_extr.c | 4 ++-- lib_dec/pvq_core_dec.c | 4 ++-- lib_dec/tcq_core_dec.c | 28 ++++++++++++++-------------- lib_enc/arith_coder_enc.c | 8 ++++---- lib_enc/hq_lr_enc.c | 24 ++++++++++++------------ lib_enc/ivas_stereo_eclvq_enc.c | 4 ++-- lib_enc/lsf_msvq_ma_enc.c | 4 ++-- lib_enc/tcq_core_enc.c | 16 ++++++++-------- lib_enc/transient_detection.c | 4 ++-- 29 files changed, 119 insertions(+), 105 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index aaef6c2cd5..ca7a96278e 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -59,7 +59,7 @@ #include "render_config_reader.h" -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /*------------------------------------------------------------------------------------------* * Local constants, enums, structures diff --git a/apps/encoder.c b/apps/encoder.c index 45e292ddf8..a9ff08770b 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -53,7 +53,7 @@ #include "debug.h" #endif -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /*------------------------------------------------------------------------------------------* diff --git a/lib_com/ari_hm.c b/lib_com/ari_hm.c index d4727d6116..cbe681263e 100644 --- a/lib_com/ari_hm.c +++ b/lib_com/ari_hm.c @@ -196,7 +196,7 @@ int16_t CountIndexBits( return 8; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /*-------------------------------------------------------------------* * tcx_hm_render() @@ -301,3 +301,5 @@ void tcx_hm_modify_envelope( return; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/arith_coder.c b/lib_com/arith_coder.c index 7a862fa5d0..b192213aff 100644 --- a/lib_com/arith_coder.c +++ b/lib_com/arith_coder.c @@ -48,7 +48,8 @@ #include "wmc_auto.h" -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP + /*-------------------------------------------------------* * expfp() * @@ -573,3 +574,5 @@ void tcx_arith_render_envelope( return; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/bitalloc.c b/lib_com/bitalloc.c index 43b27971d3..c393bee870 100644 --- a/lib_com/bitalloc.c +++ b/lib_com/bitalloc.c @@ -221,7 +221,8 @@ void bitalloc( } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP + /*-------------------------------------------------------------------* * BitAllocF() * @@ -1020,3 +1021,5 @@ int16_t BitAllocWB( return (Word16) t_fx; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 0c13dfc580..75529eeadf 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -622,7 +622,7 @@ uint16_t get_indice_1( return st->bit_stream[pos]; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /*-------------------------------------------------------------------* * reset_indices_enc() @@ -2960,4 +2960,4 @@ void dtx_read_padding_bits( st->total_brate = tmp; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP diff --git a/lib_com/fft.c b/lib_com/fft.c index 1823f51372..d9edf0ad14 100644 --- a/lib_com/fft.c +++ b/lib_com/fft.c @@ -6393,7 +6393,7 @@ void rfft( } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP #define SCALEFACTOR8 ( 4 ) #define SCALEFACTOR64 ( 7 ) @@ -6766,3 +6766,5 @@ void BASOP_cfft( return; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/hq2_bit_alloc.c b/lib_com/hq2_bit_alloc.c index b3fa6f3616..17aff7a017 100644 --- a/lib_com/hq2_bit_alloc.c +++ b/lib_com/hq2_bit_alloc.c @@ -47,7 +47,7 @@ #include "stl.h" #include "wmc_auto.h" -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /*------------------------------------------------------------------- * Local constants @@ -1030,3 +1030,5 @@ void hq2_bit_alloc( } return; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/hq2_core_com.c b/lib_com/hq2_core_com.c index 062d86615e..c02380af38 100644 --- a/lib_com/hq2_core_com.c +++ b/lib_com/hq2_core_com.c @@ -306,7 +306,7 @@ void reverse_transient_frame_energies( return; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP void bit_allocation_second_fx( Word32 *Rk, Word32 *Rk_sort, @@ -415,7 +415,7 @@ void bit_allocation_second_fx( return; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /*--------------------------------------------------------------------------* * spt_shorten_domain_pre() diff --git a/lib_com/index_pvq_opt.c b/lib_com/index_pvq_opt.c index 31010e2786..e51906f02b 100644 --- a/lib_com/index_pvq_opt.c +++ b/lib_com/index_pvq_opt.c @@ -89,8 +89,7 @@ static int16_t local_norm_l_opt( { int16_t l32res; -#define WMC_TOOL_MAN - MAC( 1 ); +#define WMC_TOOL_SKIP if ( l32var == (int32_t) MINNEG ) { @@ -115,7 +114,7 @@ static int16_t local_norm_l_opt( } } } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP return ( l32res ); } diff --git a/lib_com/interpol.c b/lib_com/interpol.c index c23f790780..1fbd14cde5 100644 --- a/lib_com/interpol.c +++ b/lib_com/interpol.c @@ -70,10 +70,10 @@ float interpolation( for ( i = 0; i < nb_coef; i++ ) { s += ( *x1-- ) * ( *c1 ) + ( *x2++ ) * ( *c2 ); -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP c1 += up_samp; c2 += up_samp; -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } return s; diff --git a/lib_com/lsf_tools.c b/lib_com/lsf_tools.c index 88aa59c9ae..be9d2c0837 100644 --- a/lib_com/lsf_tools.c +++ b/lib_com/lsf_tools.c @@ -2079,7 +2079,7 @@ void msvq_dec( start = 0; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP v_add( uq + start, cb[i] + Idx[i] * maxn, uq + start, n ); IF( uq_ind != NULL ) @@ -2090,7 +2090,7 @@ void msvq_dec( uq_ind[start + j] = add( uq_ind[start + j], (Word16) ( cb[i][Idx[i] * maxn + j] * 2.0f * 1.28f ) ); } } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } return; diff --git a/lib_com/modif_fs.c b/lib_com/modif_fs.c index ee60cdb1f5..d2618fd36d 100644 --- a/lib_com/modif_fs.c +++ b/lib_com/modif_fs.c @@ -113,7 +113,7 @@ int16_t modify_Fs( } } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* Retrieve and/or calculate the resampling parameters */ fac_num = cfg_ptr->fac_num; fac_den = (int16_t) ( ( cfg_ptr->fin * fac_num ) / cfg_ptr->fout ); @@ -133,7 +133,7 @@ int16_t modify_Fs( signal = signal_tab + 2 * L_FILT_MAX + L_FRAME48k - mem_len - lg; signal_ana = signal; mem_len_ana = mem_len; -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } /*-------------------------------------------------------------------* diff --git a/lib_com/parameter_bitmaping.c b/lib_com/parameter_bitmaping.c index 8a273aafea..786e85e2fa 100644 --- a/lib_com/parameter_bitmaping.c +++ b/lib_com/parameter_bitmaping.c @@ -117,9 +117,9 @@ void GetParameters( { ParamBitMap const *const param = ¶msBitMap->params[iParam]; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP pSubStruct = param->GetParamValue( pParameter, index, &value ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /* If a function for encoding/decoding value is defined than it should take care of 0 */ if ( param->fZeroAllowed || ( param->EncodeValue != NULL ) ) { @@ -130,9 +130,9 @@ void GetParameters( *( *pStream )++ = value - 1; } ++*pnSize; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP *pnBits += ( param->nBits != 0 ) ? param->nBits : param->GetNumberOfBits( value, index ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( ( param->pSubParamBitMap != NULL ) && ( value > 0 ) ) { GetParameters( param->pSubParamBitMap, value, ( pSubStruct != NULL ) ? pSubStruct : pParameter, pStream, pnSize, pnBits ); @@ -167,9 +167,9 @@ void SetParameters( /* If a function for encoding/decoding value is defined than it should take care of 0 */ value = *( *pStream )++ + ( param->fZeroAllowed || ( param->EncodeValue != NULL ) ? 0 : 1 ); -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP pSubStruct = param->SetParamValue( pParameter, index, value ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP ++*pnSize; if ( ( param->pSubParamBitMap != NULL ) && ( value > 0 ) ) { @@ -207,9 +207,9 @@ void WriteToBitstream( TEncodeValue EncodeValue; int16_t value; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP nBits = ( param->nBits != 0 ) ? param->nBits : param->GetNumberOfBits( **pStream, index ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP fShiftValue = !param->fZeroAllowed && ( param->EncodeValue == NULL ); EncodeValue = ( param->EncodeValue == NULL ) ? &FixedWidthEncoding : param->EncodeValue; value = PutIntoBitstream( pStream, EncodeValue, index, hBstr, nBits ) + ( fShiftValue ? 1 : 0 ); diff --git a/lib_com/pvq_com.c b/lib_com/pvq_com.c index 7c6629c9e1..6aa3040e6d 100644 --- a/lib_com/pvq_com.c +++ b/lib_com/pvq_com.c @@ -814,7 +814,7 @@ Word16 atan2_fx( Word16 man, expo, reciprocal; Word16 angle, w, z; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP IF( L_sub( x, 0 ) == 0 ) { return 25736; /* EVS_PI/2 in Q14 */ @@ -973,3 +973,5 @@ Word16 atan2_fx( return angle; /* Q14 between 0 and EVS_PI/2 radian. */ } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/tools.c b/lib_com/tools.c index 8957544cb7..271dc54828 100644 --- a/lib_com/tools.c +++ b/lib_com/tools.c @@ -1446,8 +1446,7 @@ void polezero_filter( return; } -#define WMC_TOOL_MAN - +#define WMC_TOOL_SKIP static float fleft_shift( float input, const int16_t shift ) { return ( input * (float) pow( 2.0, (double) shift ) ); @@ -1457,7 +1456,7 @@ static float fright_shift( float input, const int16_t shift ) { return ( input * (float) pow( 0.5, (double) shift ) ); } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /*--------------------------------------------------------------------------------* @@ -1487,7 +1486,7 @@ float root_a( return 0.0; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* This next piece of code implements a "norm" function */ /* and returns the shift needed to scale "a" to have a */ /* 1 in the (MSB-1) position. This is equivalent to */ @@ -1506,7 +1505,7 @@ float root_a( mod_a *= 2.0; shift_a++; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP shift_a &= 0xfffe; mod_a = fleft_shift( a, shift_a ); @@ -1554,7 +1553,7 @@ float root_a_over_b( { return 0.0; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP if ( isinf( a ) ) { return FLT_MAX; @@ -1563,12 +1562,12 @@ float root_a_over_b( { return 0.f; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP a += 0x00000001; b += 0x00000001; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* This next piece of code implements a "norm" function */ /* and returns the shift needed to scale "a" to have a */ /* 1 in the (MSB-1) position. This is equivalent to */ @@ -1587,12 +1586,12 @@ float root_a_over_b( mod_a *= 2.0; shift_a++; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP shift_a &= 0xfffe; mod_a = fleft_shift( a, shift_a ); -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* This next piece of code implements a "norm" function */ /* and returns the shift needed to scale "b" to have a */ /* 1 in the (MSB-1) position. This is equivalent to */ @@ -1611,7 +1610,7 @@ float root_a_over_b( mod_b *= 2.0; shift_b++; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP shift_b &= 0xfffe; mod_b = fleft_shift( b, shift_b ); diff --git a/lib_debug/segsnr.c b/lib_debug/segsnr.c index 69a25f0e4f..51b33f57a9 100644 --- a/lib_debug/segsnr.c +++ b/lib_debug/segsnr.c @@ -39,7 +39,7 @@ #include "options.h" #include "prot.h" -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP #ifdef OUTPUT_SNR /*_____________________________________________________________________ @@ -101,3 +101,5 @@ float segsnr( float x[], float xe[], int16_t n, int16_t nseg ) return ( snr ); } #endif + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_dec/FEC.c b/lib_dec/FEC.c index 7716f3ef9d..f623c265c2 100644 --- a/lib_dec/FEC.c +++ b/lib_dec/FEC.c @@ -522,7 +522,7 @@ static void gain_dec_bfi( } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /*-------------------------------------------------------------------* * pulseRes_preCalc() * @@ -577,4 +577,4 @@ static void pulseRes_preCalc( return; } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP diff --git a/lib_dec/arith_coder_dec.c b/lib_dec/arith_coder_dec.c index 28fe250e6d..ce02943382 100644 --- a/lib_dec/arith_coder_dec.c +++ b/lib_dec/arith_coder_dec.c @@ -170,9 +170,9 @@ void tcx_arith_decode_envelope( gamma_w = 1.0f; gamma_uw = 1.0f / st->gamma; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP tcx_arith_render_envelope( A_ind, L_frame, L_spec, FL2WORD16( hTcxCfg->preemph_fac ), FL2WORD16( gamma_w ), FL2WORD16( 0.5f * gamma_uw ), env ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( use_hm ) { diff --git a/lib_dec/hq_lr_dec.c b/lib_dec/hq_lr_dec.c index fd323f3bba..f0717287b2 100644 --- a/lib_dec/hq_lr_dec.c +++ b/lib_dec/hq_lr_dec.c @@ -252,7 +252,7 @@ void hq_lr_dec( return; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* Estimate number of bits per sub-band */ Q_band_energy = SWB_BWE_LR_Qbe; FOR( i = 0; i < bands; i++ ) @@ -295,7 +295,7 @@ void hq_lr_dec( Ep_tmp_fx[i] = L_shr( L_tmp, sub( 15, exp2 ) ); /*Q13 */ Ep_tmp[i] = (float) ( Ep_tmp_fx[i] / pow( 2.0, 13 ) ); } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( *is_transient == 0 && inner_frame == L_FRAME8k && st->core_brate <= ACELP_13k20 ) { @@ -306,7 +306,7 @@ void hq_lr_dec( last_bitalloc_max_band[i] = get_next_indice( st, 1 ); } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP lowband = 6; move16(); trans_bit = 2; @@ -567,7 +567,7 @@ void hq_lr_dec( #endif /* BASOP_NOGLOB */ } } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( i = 0; i < bands; i++ ) { @@ -578,7 +578,7 @@ void hq_lr_dec( } else if ( *is_transient == 0 && inner_frame == L_FRAME16k ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP bit_budget = sub( bit_budget, 2 ); /* bits in high bands to indicate the last 2 subbands is allocated bits or not */ /* decode the last p2a_bands-1 subbands bit-allocation index of the previous frame */ for ( i = 0; i < 2; i++ ) @@ -839,7 +839,7 @@ void hq_lr_dec( L_band_energy_tmp[i] = L_shl( L_tmp, 1 ); /*Q_band_energy */ } } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( i = 0; i < bands; i++ ) { @@ -1216,14 +1216,14 @@ static float band_energy_dequant( deng_bits += BITS_DE_CMODE; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* Get the reference energy */ exp_normd = norm_l( L_qint ); div_s( &rev_qint_fx, 0x4000, round_fx( L_shl( L_qint, exp_normd ) ) ); /* Q14-(29+exp_normd-16)+15 */ Qrev_qint = sub( 14 - ( 29 - 16 ) + 15, exp_normd ); bq0 = (int16_t) round_fx( L_shl( L_mult( eref_fx, rev_qint_fx ), sub( 5, Qrev_qint ) ) ); /* 16-(10+Qrev_qint+1) */ -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /* Reconstruct quantized spectrum */ bq1[0] = bq2[0] + bq0; @@ -1234,11 +1234,11 @@ static float band_energy_dequant( for ( k = 0; k < bands; k++ ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP L_band_energy[k] = L_mls( L_qint, bq1[k] ); move32(); /* 29+0-15 -> Qbe(Q14) */ band_energy[k] = (float) ( L_band_energy[k] / pow( 2.0f, SWB_BWE_LR_Qbe ) ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } if ( is_transient ) @@ -1309,7 +1309,7 @@ static void mdct_spectrum_fine_gain_dec( Word16 Qgt; Word16 temp_lo_fx, temp_hi_fx; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* Fine gain quantization on only the most significant energy bands */ /*delta = qint / gqlevs; */ exp_normn = norm_l( L_qint ); @@ -1334,7 +1334,7 @@ static void mdct_spectrum_fine_gain_dec( gain_table_fx[i] = shl( gain_table_fx[i], sub( 14, Qgt ) ); /* Qgt -> Q14 */ gain_table[i] = (float) ( gain_table_fx[i] / pow( 2.0f, 14 ) ); } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( k = bands - Ngq; k < bands; k++ ) { diff --git a/lib_dec/pitch_extr.c b/lib_dec/pitch_extr.c index a1a421564d..d115275f89 100644 --- a/lib_dec/pitch_extr.c +++ b/lib_dec/pitch_extr.c @@ -151,7 +151,7 @@ void pitch_pred_linear_fit( ml_fx[i] = (int32_t) ( ml[i] / pow( 2.f, -31 + 15 ) ); /* Q16 */ } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP FOR( i = 0; i < lcor; i++ ) { pg_fx[i] = mult( mult( pg_fx[i], pg_fx[i] ), timeWeight[i] ); /*Q12 'til pg[lcor-1], Q14 'til pg[8]*/ @@ -286,7 +286,7 @@ void pitch_pred_linear_fit( pita = L_shl( L_deposit_l( a1 ), add( add( sum0_q, 16 - 10 + 1 ), sub( tmpa, a_e ) ) ) /*Q16*/; pitb = L_shl_r( L_mult( b1 /*Q15*/, add( no_subfr_pred, nb_subfr ) /*Q0*/ ), add( add( sum0_q, 16 - 12 ), sub( tmpb, b_e ) ) ); pit = L_add( pita, pitb ); /*Q16*/ -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /* convert pitch back to float precision */ T0 = (float) ( pit * pow( 2.f, -31 + 15 ) ); diff --git a/lib_dec/pvq_core_dec.c b/lib_dec/pvq_core_dec.c index c14263f163..d444a7ca91 100644 --- a/lib_dec/pvq_core_dec.c +++ b/lib_dec/pvq_core_dec.c @@ -403,7 +403,7 @@ static void densitySymbolIndexDecode( *index_phi = -1; return; } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP angle = atan2_fx( SQRT_DIM_fx[r_dim], SQRT_DIM_fx[l_dim] ); #ifndef BASOP_NOGLOB angle = shl( angle, 1 ); @@ -412,7 +412,7 @@ static void densitySymbolIndexDecode( #endif /* BASOP_NOGLOB */ angle = mult_r( angle, 20861 ); c = mult_r( res, angle ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP res_c = res - c; if ( c == 0 ) diff --git a/lib_dec/tcq_core_dec.c b/lib_dec/tcq_core_dec.c index 9089a8a512..bcc3ca4286 100644 --- a/lib_dec/tcq_core_dec.c +++ b/lib_dec/tcq_core_dec.c @@ -148,7 +148,7 @@ void tcq_core_LR_dec( } } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP bsub_fx = L_shl( L_add( tcq_arbits, lsbtcq_bits ), 16 ); IF( bsub_fx > 0 ) { @@ -173,7 +173,7 @@ void tcq_core_LR_dec( } srt_vec_ind_fx( Rk_fx, Rk_sort_fx, k_sort, BANDS ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /*read the bits*/ nb_bytes = bit_budget >> 3; @@ -248,10 +248,10 @@ void tcq_core_LR_dec( } if ( surplus_fx != 0 ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP surplus_fx = L_add( Rk_fx[k_sort[k]], surplus_fx ); surplus_fx = L_add( delta_fx, surplus_fx ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } } else @@ -283,10 +283,10 @@ void tcq_core_LR_dec( } if ( surplus_fx != 0 ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP surplus_fx = L_add( Rk_fx[k_sort[k]], surplus_fx ); surplus_fx = L_add( delta_fx, surplus_fx ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } } else @@ -315,7 +315,7 @@ void tcq_core_LR_dec( if ( Rk_fx[k_sort[k]] > 0 && surplus_fx < 0 ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP IF( nzbands <= 1 ) { divider = 0; @@ -335,7 +335,7 @@ void tcq_core_LR_dec( delta_fx = 0; } surplus_fx = L_sub( surplus_fx, delta_fx ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } else { @@ -344,13 +344,13 @@ void tcq_core_LR_dec( } } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP if ( ( L_sub( surplus_fx, 524288 ) > 0 && sub( input_frame, L_FRAME8k ) == 0 ) || ( L_sub( surplus_fx, 786432 ) > 0 && sub( input_frame, L_FRAME16k ) == 0 ) ) { bit_surplus_fx[0] = Mult_32_16( surplus_fx, 24576 ); /* Q16 */ bit_surplus_fx[1] = Mult_32_16( surplus_fx, 8192 ); /* Q16 */ } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP else { bit_surplus_fx[0] = surplus_fx; @@ -363,9 +363,9 @@ void tcq_core_LR_dec( { if ( k == k_num[j] ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP Rk_fx[k_sort[k]] = L_add( Rk_fx[k_sort[k]], bit_surplus_fx[j] ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( Rk_fx[k_sort[k]] > 0 && USQ_TCQ[k_sort[k]] == 0 ) { /* get number of pulses */ @@ -412,9 +412,9 @@ void tcq_core_LR_dec( decode_magnitude_usq_fx( pardec, band_width[k_sort[k]], pulsesnum, nz, &positions[band_start[k_sort[k]]], &inp_vector[band_start[k_sort[k]]] ); decode_signs_fx( pardec, band_width[k_sort[k]], &inp_vector[band_start[k_sort[k]]] ); -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP nzbands = sub( nzbands, 1 ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } else { diff --git a/lib_enc/arith_coder_enc.c b/lib_enc/arith_coder_enc.c index 8a0c4b9ad8..e292a2c881 100644 --- a/lib_enc/arith_coder_enc.c +++ b/lib_enc/arith_coder_enc.c @@ -611,9 +611,9 @@ void tcx_arith_encode_envelope( gamma_w = 1.0f; gamma_uw = 1.0f / st->gamma; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP tcx_arith_render_envelope( A_ind, L_frame, L_spec, FL2WORD16( hTcxCfg->preemph_fac ), FL2WORD16( gamma_w ), FL2WORD16( 0.5f * gamma_uw ), env ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( k = 0; k < L_spec; ++k ) { @@ -649,13 +649,13 @@ void tcx_arith_encode_envelope( envelope = (Word16 *) env; tcx_arith_scale_envelope( L_spec, L_spec_core, env, target_bits, low_complexity, envelope, &envelope_e ); -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP tmp = sub( envelope_e, 1 ); FOR( k = 0; k < L_spec; k++ ) { exponents[k] = expfp( negate( envelope[k] ), tmp ); } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP scale = tcx_arith_rateloop( spectrum, L_spec, envelope, envelope_e, exponents, target_bits, deadzone, deadzone_flags, &( hTcxEnc->tcx_target_bits_fac ) ); /* Final quantization */ diff --git a/lib_enc/hq_lr_enc.c b/lib_enc/hq_lr_enc.c index ab9ab86f9f..3e6fb69eeb 100644 --- a/lib_enc/hq_lr_enc.c +++ b/lib_enc/hq_lr_enc.c @@ -326,7 +326,7 @@ void hq_lr_enc( spt_shorten_domain_set( hBstr, hHQ_core, t_audio, p2a_flags, new_band_start, new_band_end, new_band_width, bands, band_start, band_end, band_width, &bit_budget ); } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* Estimate number of bits per band */ Q_band_energy = SWB_BWE_LR_Qbe; FOR( i = 0; i < bands; i++ ) @@ -368,11 +368,11 @@ void hq_lr_enc( move32(); /*Q(31-exp2) */ Ep_tmp_fx[i] = L_shr( L_tmp, sub( 15, exp2 ) ); /*Q13 */ } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( is_transient == 0 && inner_frame == L_FRAME8k && st->core_brate <= ACELP_13k20 ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP lowband = 6; move16(); trans_bit = 2; @@ -640,7 +640,7 @@ void hq_lr_enc( L_band_energy_tmp[i] = L_shl( L_tmp, 1 ); /*Q_band_energy */ } } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( i = 0; i < bands; i++ ) { @@ -657,7 +657,7 @@ void hq_lr_enc( } else if ( is_transient == 0 && inner_frame == L_FRAME16k ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP bit_budget = sub( bit_budget, 2 ); /* bits in high bands to indicate the last 2 subbands is allocated bits or not */ FOR( i = 0; i < bands; i++ ) { @@ -909,7 +909,7 @@ void hq_lr_enc( L_band_energy_tmp[i] = L_shl( L_tmp, 1 ); /*Q_band_energy */ } } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( i = 0; i < bands; i++ ) { @@ -1510,7 +1510,7 @@ static float band_energy_quant( for ( k = 0; k < bands; k++ ) L_band_energy[k] = (Word32) ( band_energy[k] * pow( 2.0f, SWB_BWE_LR_Qbe ) ); -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP exp_normd = norm_l( L_qint ); div_s( &rev_qint_fx, 0x4000, round_fx( L_shl( L_qint, exp_normd ) ) ); /* Q14-(29+exp_normd-16)+15 */ Qrev_qint = sub( 14 - ( 29 - 16 ) + 15, exp_normd ); @@ -1522,7 +1522,7 @@ static float band_energy_quant( L_tmp = L_mls( L_band_energy[k], rev_qint_fx ); /* Q14+Qrev_qint-15 */ bq1[k] = round_fx( L_shl( L_tmp, sub( 17, Qrev_qint ) ) ); /* 16-(14+Qrev_qint-15) */ } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( is_transient ) { @@ -1604,10 +1604,10 @@ static float band_energy_quant( for ( k = 0; k < bands; k++ ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP L_band_energy[k] = L_mls( L_qint, (Word16) bq1[k] ); move32(); /* 29+0-15 -> Qbe(Q14) */ -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP band_energy[k] = (float) ( L_band_energy[k] / pow( 2.0f, SWB_BWE_LR_Qbe ) ); } @@ -1708,7 +1708,7 @@ static void mdct_spectrum_fine_gain_enc( Word16 Qgt; Word16 temp_lo_fx, temp_hi_fx; -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP /* Fine gain quantization on only the most significant energy bands */ /*delta = qint / gqlevs; */ exp_normn = norm_l( L_qint ); @@ -1733,7 +1733,7 @@ static void mdct_spectrum_fine_gain_enc( gain_table_fx[i] = shl( gain_table_fx[i], sub( 14, Qgt ) ); /* Qgt -> Q14 */ gain_table[i] = (float) ( gain_table_fx[i] / pow( 2.0f, 14 ) ); } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP for ( k = bands - Ngq; k < bands; k++ ) { diff --git a/lib_enc/ivas_stereo_eclvq_enc.c b/lib_enc/ivas_stereo_eclvq_enc.c index d5d4b29414..ac635ca6fe 100644 --- a/lib_enc/ivas_stereo_eclvq_enc.c +++ b/lib_enc/ivas_stereo_eclvq_enc.c @@ -240,9 +240,9 @@ static int16_t code_length_from_count( assert( c <= ( 1 << 14 ) ); #endif -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP c_norm = norm_s( (int16_t) c ); /* equivalent with 14 - floor(log_base2(c)) */ -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /* compute linear approximation of log2(1 + x), for x in [0, 1], using a look-up table with 64 entries */ /* normalize to {16384, ..., 32767}, subtract MSB bit, and convert to Q6 for indexing log2_1px_table */ diff --git a/lib_enc/lsf_msvq_ma_enc.c b/lib_enc/lsf_msvq_ma_enc.c index d731845268..7e78a2b8e1 100644 --- a/lib_enc/lsf_msvq_ma_enc.c +++ b/lib_enc/lsf_msvq_ma_enc.c @@ -120,14 +120,14 @@ void msvq_enc( cb_stage = cbp; /* Set up pointers to parent and current nodes */ -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP swap( indices[0], indices[1], int16_t * ); MOVE( 3 ); swap( resid[0], resid[1], float * ); MOVE( 3 ); swap( dist[0], dist[1], float * ); MOVE( 3 ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /* p_max points to maximum distortion node (worst of best) */ p_max = 0; diff --git a/lib_enc/tcq_core_enc.c b/lib_enc/tcq_core_enc.c index c4742a9c29..c096117c67 100644 --- a/lib_enc/tcq_core_enc.c +++ b/lib_enc/tcq_core_enc.c @@ -181,7 +181,7 @@ ivas_error tcq_core_LR_enc( } } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP bsub_fx = L_shl( L_add( tcq_arbits, lsbtcq_bits ), 16 ); IF( bsub_fx > 0 ) { @@ -206,7 +206,7 @@ ivas_error tcq_core_LR_enc( } srt_vec_ind_fx( Rk_fx, Rk_sort_fx, k_sort, BANDS ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP /* Quantize spectral band shapes using TCQ */ /* Select ISC */ @@ -282,7 +282,7 @@ ivas_error tcq_core_LR_enc( if ( Rk_fx[k_sort[k]] > 0 && surplus_fx < 0 ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP IF( nzbands <= 1 ) { divider = 0; @@ -302,7 +302,7 @@ ivas_error tcq_core_LR_enc( delta_fx = 0; } surplus_fx = L_sub( surplus_fx, delta_fx ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP } else { @@ -311,13 +311,13 @@ ivas_error tcq_core_LR_enc( } } -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP if ( ( L_sub( surplus_fx, 524288 ) > 0 && sub( input_frame, L_FRAME8k ) == 0 ) || ( L_sub( surplus_fx, 786432 ) > 0 && sub( input_frame, L_FRAME16k ) == 0 ) ) { bit_surplus_fx[0] = Mult_32_16( surplus_fx, 24576 ); /* Q16 */ bit_surplus_fx[1] = Mult_32_16( surplus_fx, 8192 ); /* Q16 */ } -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP else { bit_surplus_fx[0] = surplus_fx; @@ -329,9 +329,9 @@ ivas_error tcq_core_LR_enc( { if ( k == k_num[j] ) { -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP Rk_fx[k_sort[k]] = L_add( Rk_fx[k_sort[k]], bit_surplus_fx[j] ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP if ( Rk_fx[k_sort[k]] > 0 && USQ_TCQ[k_sort[k]] == 0 ) /* Then have non-zero block AND WILL BE ENCODED BY TCQ */ { diff --git a/lib_enc/transient_detection.c b/lib_enc/transient_detection.c index 39cb0d176f..a49fff7234 100644 --- a/lib_enc/transient_detection.c +++ b/lib_enc/transient_detection.c @@ -609,9 +609,9 @@ static void RunTransientDetector( assert( ( pTransientDetector->CheckSubblocksForAttack != NULL ) ); /* Variable initialization */ -#define WMC_TOOL_MAN +#define WMC_TOOL_SKIP pTransientDetector->CheckSubblocksForAttack( pSubblockNrg, pAccSubblockNrg, NSUBBLOCKS + nDelay, nRelativeDelay, attackRatioThreshold, &pTransientDetector->bIsAttackPresent, &pTransientDetector->attackIndex ); -#undef WMC_TOOL_MAN +#undef WMC_TOOL_SKIP return; } -- GitLab From a1b1037b5fe8eda56e0b2804a6830f17805ac574 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 22 Nov 2022 10:58:36 +0100 Subject: [PATCH 121/620] Fixes for linux build. --- lib_debug/mem_count.c | 4 ++-- lib_debug/mem_count.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c index 2a43d56ff1..ba7db459cb 100644 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -911,14 +911,14 @@ size_t mem_count_summary( Counting_Size cnt_size ) } #ifdef RAM_ANALYSIS -void mem_analyze() +void mem_analyze(void) { unsigned int i; char buffer[1024]; for ( i = 0; i < Num_Records_Cur_RAM; i++ ) { - sprintf( buffer, "%s:%d,%d;", Current_Allocations[i].name, Current_Allocations[i].lineno, Current_Allocations[i].block_size ); + sprintf( buffer, "%s:%d,%ld;", Current_Allocations[i].name, Current_Allocations[i].lineno, Current_Allocations[i].block_size ); dbgwrite( buffer, sizeof( char ), strlen( buffer ), 1, "mem_analysis.csv" ); } sprintf( buffer, "\n" ); diff --git a/lib_debug/mem_count.h b/lib_debug/mem_count.h index e196c799ec..36f7d8f79f 100644 --- a/lib_debug/mem_count.h +++ b/lib_debug/mem_count.h @@ -96,7 +96,7 @@ extern "C" extern void mem_free( const char *func_name, int func_lineno, void *ptr ); #ifdef RAM_ANALYSIS - extern void mem_analyze(); + extern void mem_analyze(void); #endif #ifdef __cplusplus -- GitLab From 3fa54099cb269c08ec1a4d803f9cac8b1393f8bf Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 22 Nov 2022 11:12:55 +0100 Subject: [PATCH 122/620] Put MEM_ANALYSIS within DEBUGGING since it uses dbgwrite. Move switch to debugging section in options.h and disable by default. --- apps/decoder.c | 4 ++++ apps/encoder.c | 2 ++ lib_com/options.h | 2 +- lib_debug/mem_count.c | 3 ++- lib_debug/mem_count.h | 2 ++ 5 files changed, 11 insertions(+), 2 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index c54758de6c..6f73723af1 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1485,8 +1485,10 @@ static ivas_error decodeG192( #ifdef WMOPS update_wmops(); #endif +#ifdef DEBUGGING #ifdef RAM_ANALYSIS mem_analyze(); +#endif #endif } @@ -1844,8 +1846,10 @@ static ivas_error decodeVoIP( #ifdef WMOPS update_wmops(); #endif +#ifdef DEBUGGING #ifdef RAM_ANALYSIS mem_analyze(); +#endif #endif } diff --git a/apps/encoder.c b/apps/encoder.c index ea0374c7ec..0bad34878b 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -766,8 +766,10 @@ int main( #ifdef WMOPS update_wmops(); #endif +#ifdef DEBUGGING #ifdef RAM_ANALYSIS mem_analyze(); +#endif #endif } diff --git a/lib_com/options.h b/lib_com/options.h index ee032d9cbd..68e801b352 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -42,7 +42,6 @@ #define SUPPORT_JBM_TRACEFILE /* support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */ #define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ -#define RAM_ANALYSIS /* #################### End compiler switches ######################### */ @@ -56,6 +55,7 @@ /*#define WMOPS_PER_FRAME*/ /* Output complexity in WMOPS per frame to the file "res/wmops" (one float value per frame) */ /*#define WMOPS_DETAIL*/ /* Activate complexity detail printout for every function. Increases runtime overhead */ /*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output WMOPS analysis for worst case frame */ +/*#define RAM_ANALYSIS*/ /* Output memory allocated with count_malloc each frame. Can be parsed and plotted with scripts/mem_analysis.m */ #ifdef DEBUGGING diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c index ba7db459cb..8bb85e1a6b 100644 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -910,6 +910,7 @@ size_t mem_count_summary( Counting_Size cnt_size ) return size; } +#ifdef DEBUGGING #ifdef RAM_ANALYSIS void mem_analyze(void) { @@ -927,6 +928,6 @@ void mem_analyze(void) return; } #endif - +#endif #endif diff --git a/lib_debug/mem_count.h b/lib_debug/mem_count.h index 36f7d8f79f..dfcd77c4bb 100644 --- a/lib_debug/mem_count.h +++ b/lib_debug/mem_count.h @@ -95,9 +95,11 @@ extern "C" extern void *mem_alloc( const char *func_name, int func_lineno, size_t size, char *alloc_str ); extern void mem_free( const char *func_name, int func_lineno, void *ptr ); +#ifdef DEBUGGING #ifdef RAM_ANALYSIS extern void mem_analyze(void); #endif +#endif #ifdef __cplusplus } -- GitLab From 78bdd79a4beed77196f8faddbf993f1ac9a9126a Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 22 Nov 2022 11:26:57 +0100 Subject: [PATCH 123/620] Clang format --- lib_debug/mem_count.c | 2 +- lib_debug/mem_count.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_debug/mem_count.c b/lib_debug/mem_count.c index 8bb85e1a6b..278126d35e 100644 --- a/lib_debug/mem_count.c +++ b/lib_debug/mem_count.c @@ -912,7 +912,7 @@ size_t mem_count_summary( Counting_Size cnt_size ) #ifdef DEBUGGING #ifdef RAM_ANALYSIS -void mem_analyze(void) +void mem_analyze( void ) { unsigned int i; char buffer[1024]; diff --git a/lib_debug/mem_count.h b/lib_debug/mem_count.h index dfcd77c4bb..38ccb0bac6 100644 --- a/lib_debug/mem_count.h +++ b/lib_debug/mem_count.h @@ -97,7 +97,7 @@ extern "C" #ifdef DEBUGGING #ifdef RAM_ANALYSIS - extern void mem_analyze(void); + extern void mem_analyze( void ); #endif #endif -- GitLab From ec3b686a07e9f8de0a2ea5a36da9bc392878440b Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:22:07 +0100 Subject: [PATCH 124/620] remove doubled initialization --- lib_dec/ivas_dirac_dec.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 298bcc4a0b..f8c19d0c10 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -1149,9 +1149,6 @@ static void ivas_dirac_alloc_mem( hDirAC_mem->proto_power_diff_smooth = NULL; hDirAC_mem->direct_responses_square = NULL; hDirAC_mem->frame_dec_f = NULL; -#ifdef FIX_158_DIRAC_MEM - hDirAC_mem->proto_diffuse_buffer_f = NULL; -#endif if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) { hDirAC_mem->cy_auto_dir_smooth = (float *) malloc( sizeof( float ) * size ); -- GitLab From 3fe07f2dd1b74c8cc7ce2e89dc0555401576b32a Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:29:06 +0100 Subject: [PATCH 125/620] front-end and back-end (reset_mem(), print_mem()) --- apps/decoder.c | 74 +++-------------- apps/encoder.c | 71 ++-------------- apps/renderer.c | 83 ++----------------- lib_com/options.h | 1 - lib_com/prot.h | 26 +----- .../unit_tests/crend/ivas_crend_unit_test.c | 9 +- .../unit_tests/crend/ivas_crend_utest_utils.c | 5 -- 7 files changed, 34 insertions(+), 235 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index ca7a96278e..825903d0be 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -30,6 +30,9 @@ *******************************************************************************************************/ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> #include "lib_dec.h" #include "cmdl_tools.h" #include "audio_file_writer.h" @@ -41,21 +44,10 @@ #include "head_rotation_file_reader.h" #include "jbm_file_writer.h" #include "evs_rtp_payload.h" -#include <stdio.h> -#include <string.h> -#ifdef WMOPS -#include "PROM_Size_lib_com.h" -#include "PROM_Size_lib_dec.h" -#include "wmc_auto.h" -#endif -#ifdef RAM_COUNTING_TOOL -#include "mem_count.h" -#else -#include <stdlib.h> -#endif #ifdef DEBUGGING #include "debug.h" #endif +#include "wmc_auto.h" #include "render_config_reader.h" @@ -142,41 +134,6 @@ static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeCha #endif -#ifdef WMOPS -/*------------------------------------------------------------------------------------------* - * Function to print complexity & memory estimates at the decoder - *------------------------------------------------------------------------------------------*/ - -extern int16_t *ptr_base_stack; -extern int16_t *ptr_base_stack; -extern int16_t *ptr_max_stack; -extern int32_t wc_frame; -extern char location_max_stack[256]; -void print_stack_call_tree( void ); - -static void print_mem_dec( size_t SRAM_size ) -{ - fprintf( stdout, "\n\n --- Decoder memory usage --- \n\n" ); - - fprintf( stdout, "PROM size (decoder): %d words (or instructions)\n", PROM_Size_lib_dec ); - fprintf( stdout, "PROM size (common): %d words (or instructions)\n", PROM_Size_lib_com ); - fprintf( stdout, "Stack size (decoder): %ld words in %s() in frame #%d\n", ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) / sizeof( float ), location_max_stack, wc_frame ); - fprintf( stdout, "Table ROM size (decoder): %ld words\n", ( Const_Data_Size_rom_dec() + Const_Data_Size_ivas_rom_dec() ) / sizeof( float ) ); - fprintf( stdout, "Table ROM size (binaural renderer): %ld words\n", ( Const_Data_Size_ivas_rom_binauralRen() + Const_Data_Size_ivas_rom_TdBinauralR() + Const_Data_Size_ivas_rom_binaural_cr() ) / sizeof( float ) ); - fprintf( stdout, "Table ROM size (common): %ld words\n", ( Const_Data_Size_rom_com() + Const_Data_Size_ivas_rom_com() ) / sizeof( float ) ); -#ifdef RAM_COUNTING_TOOL - fprintf( stdout, "Static RAM size (decoder): %ld words\n\n", SRAM_size ); -#endif - print_stack_call_tree(); - - fprintf( stdout, "Note: this is an optimistic estimate of the memory consumption assuming\n" ); - fprintf( stdout, " that each variable (short, long or float) in the codec requires\n" ); - fprintf( stdout, " 32 bits of memory and may therefore be represented by 1 word.\n" ); - fprintf( stdout, " The following formula is used: sizeof('memory array')/sizeof(float)\n\n" ); -} -#endif - - /*------------------------------------------------------------------------------------------* * main() * @@ -205,20 +162,10 @@ int main( #endif #endif -#ifdef WMOPS - size_t SRAM_size = 0; - reset_stack(); - reset_wmops(); -#endif - #ifdef DEBUGGING dbgargs( &argc, argv ); #endif -#ifdef RAM_COUNTING_TOOL - mem_count_init( 0, USE_32BITS ); -#endif - /*------------------------------------------------------------------------------------------* * Parse command-line arguments *------------------------------------------------------------------------------------------*/ @@ -497,6 +444,11 @@ int main( } } +#ifdef WMOPS + reset_wmops(); + rest_mem( USE_32BITS ); +#endif + /*-----------------------------------------------------------------* * Decoding *-----------------------------------------------------------------*/ @@ -574,15 +526,9 @@ cleanup: fprintf( stderr, "\nError while closing file: %s\nContinuing...\n\n", arg.inputBitstreamFilename ); } -#ifdef RAM_COUNTING_TOOL -#ifdef WMOPS - SRAM_size = -#endif - mem_count_summary( USE_DEFAULT ); -#endif #ifdef WMOPS print_wmops(); - print_mem_dec( SRAM_size ); + print_mem(); #endif if ( !arg.quietModeEnabled ) diff --git a/apps/encoder.c b/apps/encoder.c index a9ff08770b..f1c023f8ca 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -30,6 +30,9 @@ *******************************************************************************************************/ +#include <stdio.h> +#include <string.h> +#include <stdlib.h> #include "lib_enc.h" #include "cmdl_tools.h" #include "audio_file_reader.h" @@ -37,25 +40,13 @@ #include "jbm_file_reader.h" #include "masa_file_reader.h" #include "ism_file_reader.h" -#include <stdio.h> -#include <string.h> -#ifdef WMOPS -#include "PROM_Size_lib_com.h" -#include "PROM_Size_lib_enc.h" -#include "wmc_auto.h" -#endif -#ifdef RAM_COUNTING_TOOL -#include "mem_count.h" -#else -#include <stdlib.h> -#endif #ifdef DEBUGGING #include "debug.h" #endif +#include "wmc_auto.h" #define WMC_TOOL_SKIP - /*------------------------------------------------------------------------------------------* * Local constants, enums, structures *------------------------------------------------------------------------------------------*/ @@ -154,40 +145,6 @@ static IVAS_ENC_FORCED_MODE parseForcedMode( char *forcedModeChar ); #endif -#ifdef WMOPS -/*------------------------------------------------------------------------------------------* - * Function to print complexity & memory estimates at the encoder - *------------------------------------------------------------------------------------------*/ - -extern int16_t *ptr_base_stack; -extern int16_t *ptr_base_stack; -extern int16_t *ptr_max_stack; -extern int32_t wc_frame; -extern char location_max_stack[256]; -void print_stack_call_tree( void ); - -static void print_mem_enc( size_t SRAM_size ) -{ - fprintf( stdout, "\n\n --- Encoder memory usage --- \n\n" ); - - fprintf( stdout, "PROM size (encoder): %d words (or instructions)\n", PROM_Size_lib_enc ); - fprintf( stdout, "PROM size (common): %d words (or instructions)\n", PROM_Size_lib_com ); - fprintf( stdout, "Stack size (encoder): %ld words in %s() in frame #%d\n", ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) / sizeof( float ), location_max_stack, wc_frame ); - fprintf( stdout, "Table ROM size (encoder): %ld words\n", ( Const_Data_Size_rom_enc() + Const_Data_Size_ivas_rom_enc() ) / sizeof( float ) ); - fprintf( stdout, "Table ROM size (common): %ld words\n", ( Const_Data_Size_rom_com() + Const_Data_Size_ivas_rom_com() ) / sizeof( float ) ); -#ifdef RAM_COUNTING_TOOL - fprintf( stdout, "Static RAM size (encoder): %ld words\n\n", SRAM_size ); -#endif - print_stack_call_tree(); - - fprintf( stdout, "Note: this is an optimistic estimate of the memory consumption assuming\n" ); - fprintf( stdout, " that each variable (short, long or float) in the codec requires\n" ); - fprintf( stdout, " 32 bits of memory and may therefore be represented by 1 word.\n" ); - fprintf( stdout, " The following formula is used: sizeof('memory array')/sizeof(float)\n\n" ); -} -#endif - - /*------------------------------------------------------------------------------------------* * main() * @@ -224,20 +181,10 @@ int main( #endif #endif -#ifdef WMOPS - size_t SRAM_size = 0; - reset_wmops(); - reset_stack(); -#endif - #ifdef DEBUGGING dbgargs( &argc, argv ); #endif -#ifdef RAM_COUNTING_TOOL - mem_count_init( 0, USE_32BITS ); -#endif - initArgStruct( &arg ); /*------------------------------------------------------------------------------------------* @@ -600,8 +547,8 @@ int main( } #ifdef WMOPS - reset_stack(); reset_wmops(); + reset_mem( USE_32BITS ); #endif /*------------------------------------------------------------------------------------------* @@ -829,15 +776,9 @@ cleanup: IVAS_ENC_Close( &hIvasEnc ); -#ifdef RAM_COUNTING_TOOL -#ifdef WMOPS - SRAM_size = -#endif - mem_count_summary( USE_DEFAULT ); -#endif #ifdef WMOPS print_wmops(); - print_mem_enc( SRAM_size ); + print_mem( ); #endif #ifdef DEBUGGING diff --git a/apps/renderer.c b/apps/renderer.c index 5674793bcc..225055226c 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -30,6 +30,13 @@ *******************************************************************************************************/ +#include <assert.h> +#include <ctype.h> +#include <math.h> +#include <stdbool.h> +#include <stdint.h> +#include <stdio.h> +#include <string.h> #include "options.h" #include "debug.h" #include "audio_file_reader.h" @@ -45,33 +52,9 @@ #include "masa_file_reader.h" #include "prot.h" #include "render_config_reader.h" -#ifdef WMOPS -#include "PROM_Size_lib_rend.h" #include "wmc_auto.h" -#endif -#ifdef RAM_COUNTING_TOOL -#include "mem_count.h" -#endif -#include <assert.h> -#include <ctype.h> -#include <math.h> -#include <stdbool.h> -#include <stdint.h> -#include <stdio.h> -#include <string.h> #ifdef EXT_RENDERER -#ifndef count_malloc -#ifdef RAM_COUNTING_TOOL -#define count_malloc( n1 ) MALLOC_FCT_CALL( n1 ) -#define count_calloc( n1, n2 ) CALLOC_FCT_CALL( n1, n2 ) -#define count_free( ptr ) FREE_FCT_CALL( ptr ) -#else -#define count_malloc( n1 ) malloc( n1 ) -#define count_calloc( n1, n2 ) calloc( n1, n2 ) -#define count_free( ptr ) free( ptr ) -#endif -#endif #ifndef min #define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) ) @@ -96,37 +79,6 @@ static #define SEP_FOLDER '/' #endif -#ifdef WMOPS -void print_stack_call_tree( void ); -int Const_Data_Size_ivas_rom_rend( void ); -extern int16_t *ptr_base_stack; -extern int16_t *ptr_max_stack; -extern int32_t wc_frame; -extern char location_max_stack[256]; - -/*------------------------------------------------------------------------------------------* - * Function to print complexity & memory estimates - *------------------------------------------------------------------------------------------*/ -static void print_mem_renderer( size_t SRAM_size ) -{ - fprintf( stdout, "\n\n --- Renderer memory usage --- \n\n" ); - - fprintf( stdout, "PROM size (renderer): %d words (or instructions)\n", PROM_Size_lib_rend ); - fprintf( stdout, "Stack size: %d words in %s() in frame #%d\n", ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) / sizeof( float ), location_max_stack, wc_frame ); - fprintf( stdout, "Table ROM size(renderer): %d words\n", ( Const_Data_Size_ivas_rom_rend() ) / sizeof( float ) ); - fprintf( stdout, "Table ROM size (binaural renderer): %ld words\n", ( Const_Data_Size_ivas_rom_binauralRen() + Const_Data_Size_ivas_rom_TdBinauralR() + Const_Data_Size_ivas_rom_binaural_cr() ) / sizeof( float ) ); -#ifdef RAM_COUNTING_TOOL - fprintf( stdout, "Static RAM size: %d words\n\n", SRAM_size ); -#endif - print_stack_call_tree(); - - fprintf( stdout, "Note: this is an optimistic estimate of the memory consumption assuming\n" ); - fprintf( stdout, " that each variable (short, long or float) in the codec requires\n" ); - fprintf( stdout, " 32 bits of memory and may therefore be represented by 1 word.\n" ); - fprintf( stdout, " The following formula is used: sizeof('memory array')/sizeof(float)\n\n" ); -} -#endif - typedef struct { uint32_t frameCounter; @@ -595,18 +547,6 @@ int main( int32_t delayTimeScale = 0; int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; -#ifdef WMOPS - size_t SRAM_size; -#endif - -#ifdef WMOPS - reset_wmops(); - reset_stack(); -#endif - -#ifdef RAM_COUNTING_TOOL - mem_count_init( 0, USE_32BITS ); -#endif for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { @@ -856,6 +796,7 @@ int main( #ifdef WMOPS reset_wmops(); + reset_mem( USE_32BITS ); #endif if ( !args.quietModeEnabled ) @@ -1107,15 +1048,9 @@ int main( IsmPositionProvider_close( positionProvider ); RenderConfigReader_close( &renderConfigReader ); -#ifdef RAM_COUNTING_TOOL -#ifdef WMOPS - SRAM_size = -#endif - mem_count_summary( USE_DEFAULT ); -#endif #ifdef WMOPS print_wmops(); - print_mem_renderer( SRAM_size ); + print_mem(); #endif return 0; diff --git a/lib_com/options.h b/lib_com/options.h index c2ef6ee92d..a831340bc0 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -41,7 +41,6 @@ /* ################### Start compiler switches ######################## */ #define SUPPORT_JBM_TRACEFILE /* support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */ -#define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ /* #################### End compiler switches ######################### */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 2d6527fe59..16463ca8b5 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -37,15 +37,13 @@ #ifndef PROT_H #define PROT_H +#include <stdio.h> +#include <stdlib.h> #include <stdint.h> #include "options.h" #ifdef DEBUGGING #include "debug.h" #endif -#include <stdio.h> -#ifndef RAM_COUNTING_TOOL -#include <stdlib.h> -#endif #include "typedef.h" #include "stat_enc.h" #include "stat_dec.h" @@ -55,28 +53,8 @@ #include "ivas_stat_dec.h" #include "cnst.h" #include "stl.h" -#ifdef RAM_COUNTING_TOOL -#include "mem_count.h" -#endif #include "ivas_error_utils.h" -/*----------------------------------------------------------------------------------* - * Prototypes of RAM counting tool macros - *----------------------------------------------------------------------------------*/ - -#ifdef RAM_COUNTING_TOOL -#define count_malloc( n1 ) MALLOC_FCT_CALL( n1 ) -#define count_calloc( n1, n2 ) CALLOC_FCT_CALL( n1, n2 ) -#define count_free( ptr ) FREE_FCT_CALL( ptr ) -#else -#define count_malloc( n1 ) malloc( n1 ) -#define count_calloc( n1, n2 ) calloc( n1, n2 ) -#define count_free( ptr ) free( ptr ) -#endif - -#define dynamic_malloc( n1 ) malloc( n1 ) -#define dynamic_calloc( n1, n2 ) calloc( n1, n2 ) -#define dynamic_free( n1 ) free( n1 ) /*----------------------------------------------------------------------------------* * Prototypes of global macros diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c index baa953bc7d..82d365ea26 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c @@ -700,6 +700,11 @@ int main( int argc, char **argv ) ivas_open_files_crend( &io_params ); } } + +#ifdef WMOPS + rest_mem( USE_32BITS ); +#endif + switch ( io_params.test ) { case CREND_ACOUSTIC_PROXIMITY: @@ -721,8 +726,8 @@ int main( int argc, char **argv ) FILES_CLOSE; -#ifdef RAM_COUNTING_TOOL - mem_count_summary( USE_DEFAULT ); +#ifdef WMOPS + print_mem(); #endif return 0; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index be5e483927..cc06737da4 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -1612,11 +1612,6 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl HeadRotationFileReader_close( &headRotReader ); } - -#ifdef RAM_COUNTING_TOOL - mem_count_summary( USE_DEFAULT ); -#endif - return IVAS_SUCCESS; } -- GitLab From bac3d12a2dcf228fda1cf183626e0b33eb64e63d Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:34:52 +0100 Subject: [PATCH 126/620] Replacment of count_malloc() with malloc() --- apps/renderer.c | 28 ++-- lib_com/cldfb.c | 12 +- lib_com/fd_cng_com.c | 4 +- lib_com/ivas_cov_smooth.c | 12 +- lib_com/ivas_fb_mixer.c | 40 ++--- lib_com/ivas_mc_param_com.c | 4 +- lib_com/ivas_qmetadata_com.c | 20 +-- lib_com/ivas_transient_det.c | 4 +- lib_com/wi.c | 14 +- lib_dec/dec_gen_voic.c | 4 +- lib_dec/fd_cng_dec.c | 4 +- lib_dec/init_dec.c | 42 ++--- lib_dec/ivas_agc_dec.c | 18 +-- lib_dec/ivas_corecoder_dec_reconfig.c | 24 +-- lib_dec/ivas_cpe_dec.c | 52 +++--- lib_dec/ivas_dirac_dec.c | 150 +++++++++--------- lib_dec/ivas_dirac_dec_binaural_functions.c | 4 +- lib_dec/ivas_dirac_decorr_dec.c | 52 +++--- lib_dec/ivas_dirac_onsets_dec.c | 4 +- lib_dec/ivas_dirac_output_synthesis_cov.c | 26 +-- lib_dec/ivas_dirac_output_synthesis_dec.c | 62 ++++---- lib_dec/ivas_init_dec.c | 68 ++++---- lib_dec/ivas_ism_metadata_dec.c | 2 +- lib_dec/ivas_ism_param_dec.c | 96 +++++------ lib_dec/ivas_ism_renderer.c | 2 +- lib_dec/ivas_lfe_dec.c | 12 +- lib_dec/ivas_masa_dec.c | 30 ++-- lib_dec/ivas_mc_param_dec.c | 64 ++++---- lib_dec/ivas_mct_dec.c | 20 +-- lib_dec/ivas_mono_dmx_renderer.c | 2 +- lib_dec/ivas_out_setup_conversion.c | 20 +-- lib_dec/ivas_sba_dec.c | 18 +-- lib_dec/ivas_sce_dec.c | 18 +-- lib_dec/ivas_spar_decoder.c | 8 +- lib_dec/ivas_spar_md_dec.c | 92 +++++------ lib_dec/ivas_stereo_dft_dec.c | 16 +- lib_dec/ivas_stereo_switching_dec.c | 112 ++++++------- lib_dec/ivas_td_decorr.c | 12 +- lib_dec/ivas_vbap.c | 26 +-- lib_dec/jbm_jb4_circularbuffer.c | 8 +- lib_dec/jbm_jb4_inputbuffer.c | 8 +- lib_dec/jbm_jb4_jmf.c | 4 +- lib_dec/jbm_jb4sb.c | 8 +- lib_dec/jbm_pcmdsp_apa.c | 4 +- lib_dec/jbm_pcmdsp_fifo.c | 8 +- lib_dec/lib_dec.c | 12 +- lib_dec/ppp_dec.c | 2 +- lib_dec/voiced_dec.c | 6 +- lib_enc/fd_cng_enc.c | 4 +- lib_enc/init_enc.c | 44 ++--- lib_enc/ivas_agc_enc.c | 18 +-- lib_enc/ivas_corecoder_enc_reconfig.c | 8 +- lib_enc/ivas_cpe_enc.c | 36 ++--- lib_enc/ivas_dirac_enc.c | 32 ++-- lib_enc/ivas_enc_cov_handler.c | 4 +- lib_enc/ivas_front_vad.c | 16 +- lib_enc/ivas_init_enc.c | 60 +++---- lib_enc/ivas_ism_metadata_enc.c | 2 +- lib_enc/ivas_ism_param_enc.c | 8 +- lib_enc/ivas_lfe_enc.c | 12 +- lib_enc/ivas_masa_enc.c | 12 +- lib_enc/ivas_mc_param_enc.c | 4 +- lib_enc/ivas_mcmasa_enc.c | 44 ++--- lib_enc/ivas_mct_enc.c | 20 +-- lib_enc/ivas_sba_enc.c | 8 +- lib_enc/ivas_sce_enc.c | 10 +- lib_enc/ivas_spar_encoder.c | 10 +- lib_enc/ivas_spar_md_enc.c | 56 +++---- lib_enc/ivas_stereo_dft_enc.c | 12 +- lib_enc/ivas_stereo_dmx_evs.c | 8 +- lib_enc/ivas_stereo_mdct_stereo_enc.c | 14 +- lib_enc/ivas_stereo_switching_enc.c | 70 ++++---- lib_enc/ivas_stereo_td_enc.c | 12 +- lib_enc/lib_enc.c | 12 +- lib_enc/ppp_enc.c | 2 +- lib_enc/voiced_enc.c | 132 +++++++-------- lib_rend/ivas_allrad_dec.c | 2 +- lib_rend/ivas_binauralRenderer.c | 64 ++++---- lib_rend/ivas_binaural_reverb.c | 32 ++-- lib_rend/ivas_crend.c | 68 ++++---- lib_rend/ivas_efap.c | 36 ++--- lib_rend/ivas_hrtf.c | 18 +-- lib_rend/ivas_limiter.c | 8 +- lib_rend/ivas_ls_custom_dec.c | 2 +- lib_rend/ivas_objectRenderer.c | 26 +-- lib_rend/ivas_objectRenderer_hrFilt.c | 108 ++++++------- lib_rend/ivas_objectRenderer_mix.c | 20 +-- lib_rend/ivas_objectRenderer_sfx.c | 28 ++-- lib_rend/ivas_objectRenderer_sources.c | 36 ++--- lib_rend/ivas_render_config.c | 4 +- lib_rend/ivas_reverb.c | 12 +- lib_rend/ivas_rotation.c | 2 +- lib_rend/lib_rend.c | 52 +++--- lib_util/hrtf_file_reader.c | 40 ++--- .../unit_tests/crend/ivas_crend_utest_utils.c | 10 +- 95 files changed, 1248 insertions(+), 1248 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 225055226c..df04ea984d 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -781,10 +781,10 @@ int main( inBufferSize = frameSize_smpls * totalNumInChannels; outBufferSize = frameSize_smpls * numOutChannels; - inpInt16Buffer = count_malloc( inBufferSize * sizeof( int16_t ) ); - inFloatBuffer = count_malloc( inBufferSize * sizeof( float ) ); - outInt16Buffer = count_malloc( outBufferSize * sizeof( int16_t ) ); - outFloatBuffer = count_malloc( outBufferSize * sizeof( float ) ); + inpInt16Buffer = malloc( inBufferSize * sizeof( int16_t ) ); + inFloatBuffer = malloc( inBufferSize * sizeof( float ) ); + outInt16Buffer = malloc( outBufferSize * sizeof( int16_t ) ); + outFloatBuffer = malloc( outBufferSize * sizeof( float ) ); inBuffer.config.numSamplesPerChannel = (int16_t) frameSize_smpls; inBuffer.config.numChannels = (int16_t) totalNumInChannels; @@ -1032,10 +1032,10 @@ int main( #endif /* === Close === */ - count_free( inpInt16Buffer ); - count_free( inFloatBuffer ); - count_free( outInt16Buffer ); - count_free( outFloatBuffer ); + free( inpInt16Buffer ); + free( inFloatBuffer ); + free( outInt16Buffer ); + free( outFloatBuffer ); for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { MasaFileReader_close( &masaReaders[i] ); @@ -1579,7 +1579,7 @@ IsmPositionProvider *IsmPositionProvider_open( IsmPositionProvider *ipp; uint16_t i; - ipp = (IsmPositionProvider *) count_malloc( sizeof( IsmPositionProvider ) ); + ipp = (IsmPositionProvider *) malloc( sizeof( IsmPositionProvider ) ); ipp->frameCounter = 0; ipp->numObjects = 0; @@ -1696,16 +1696,16 @@ void IsmPositionProvider_close( IsmPositionProvider *positionProvider ) if ( positionProvider->positions[i] != NULL ) { - count_free( positionProvider->positions[i] ); + free( positionProvider->positions[i] ); } if ( positionProvider->positionDurations[i] != NULL ) { - count_free( positionProvider->positionDurations[i] ); + free( positionProvider->positionDurations[i] ); } } - count_free( positionProvider ); + free( positionProvider ); return; } @@ -1954,8 +1954,8 @@ static void parseIsm( if ( parseUint32( line, &numberOfObjectPositionsToRead ) == 0 ) { positionProvider->numPositions[idx] = numberOfObjectPositionsToRead; - positionProvider->positions[idx] = count_malloc( numberOfObjectPositionsToRead * sizeof( IVAS_REND_AudioObjectPosition ) ); - positionProvider->positionDurations[idx] = count_malloc( numberOfObjectPositionsToRead * sizeof( uint16_t ) ); + positionProvider->positions[idx] = malloc( numberOfObjectPositionsToRead * sizeof( IVAS_REND_AudioObjectPosition ) ); + positionProvider->positionDurations[idx] = malloc( numberOfObjectPositionsToRead * sizeof( uint16_t ) ); for ( i = 0; i < numberOfObjectPositionsToRead; ++i ) { diff --git a/lib_com/cldfb.c b/lib_com/cldfb.c index 1706030a5a..40c6db15bb 100644 --- a/lib_com/cldfb.c +++ b/lib_com/cldfb.c @@ -706,7 +706,7 @@ ivas_error openCldfb( HANDLE_CLDFB_FILTER_BANK hs; int16_t buf_len; - hs = (HANDLE_CLDFB_FILTER_BANK) count_malloc( sizeof( CLDFB_FILTER_BANK ) ); + hs = (HANDLE_CLDFB_FILTER_BANK) malloc( sizeof( CLDFB_FILTER_BANK ) ); if ( hs == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); @@ -728,7 +728,7 @@ ivas_error openCldfb( buf_len = hs->p_filter_length; } - hs->cldfb_state = (float *) count_malloc( buf_len * sizeof( float ) ); + hs->cldfb_state = (float *) malloc( buf_len * sizeof( float ) ); if ( hs->cldfb_state == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for CLDFB" ); @@ -889,9 +889,9 @@ void deleteCldfb( { if ( hs->cldfb_state ) { - count_free( hs->cldfb_state ); + free( hs->cldfb_state ); } - count_free( hs ); + free( hs ); *h_cldfb = NULL; } @@ -1148,7 +1148,7 @@ ivas_error cldfb_save_memory( hs->memory_length = hs->p_filter_length; } - hs->memory = (float *) count_malloc( hs->memory_length * sizeof( float ) ); + hs->memory = (float *) malloc( hs->memory_length * sizeof( float ) ); if ( hs->memory == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CLDFB\n" ); @@ -1199,7 +1199,7 @@ void cldfb_restore_memory( } hs->memory_length = 0; - count_free( hs->memory ); + free( hs->memory ); hs->memory = NULL; return; diff --git a/lib_com/fd_cng_com.c b/lib_com/fd_cng_com.c index 655a868166..39431dca36 100644 --- a/lib_com/fd_cng_com.c +++ b/lib_com/fd_cng_com.c @@ -68,7 +68,7 @@ ivas_error createFdCngCom( HANDLE_FD_CNG_COM hs; /* Allocate memory */ - hs = (HANDLE_FD_CNG_COM) count_malloc( sizeof( FD_CNG_COM ) ); + hs = (HANDLE_FD_CNG_COM) malloc( sizeof( FD_CNG_COM ) ); if ( hs == NULL ) { @@ -162,7 +162,7 @@ void deleteFdCngCom( if ( hsCom != NULL ) { - count_free( hsCom ); + free( hsCom ); *hFdCngCom = NULL; } diff --git a/lib_com/ivas_cov_smooth.c b/lib_com/ivas_cov_smooth.c index 86e929bd1c..842c97e8ee 100644 --- a/lib_com/ivas_cov_smooth.c +++ b/lib_com/ivas_cov_smooth.c @@ -93,12 +93,12 @@ ivas_error ivas_spar_covar_smooth_enc_open( ivas_cov_smooth_state_t *hCovState; int16_t i, j; - if ( ( hCovState = (ivas_cov_smooth_state_t *) count_malloc( sizeof( ivas_cov_smooth_state_t ) ) ) == NULL ) + if ( ( hCovState = (ivas_cov_smooth_state_t *) malloc( sizeof( ivas_cov_smooth_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV encoder" ); } - if ( ( hCovState->pSmoothing_factor = (float *) count_malloc( sizeof( float ) * cov_smooth_cfg->max_bands ) ) == NULL ) + if ( ( hCovState->pSmoothing_factor = (float *) malloc( sizeof( float ) * cov_smooth_cfg->max_bands ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV encoder" ); } @@ -107,7 +107,7 @@ ivas_error ivas_spar_covar_smooth_enc_open( { for ( j = 0; j < nchan_inp; j++ ) { - if ( ( hCovState->pPrior_cov_real[i][j] = (float *) count_malloc( sizeof( float ) * cov_smooth_cfg->max_bands ) ) == NULL ) + if ( ( hCovState->pPrior_cov_real[i][j] = (float *) malloc( sizeof( float ) * cov_smooth_cfg->max_bands ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV encoder" ); } @@ -141,19 +141,19 @@ void ivas_spar_covar_smooth_enc_close( if ( hCovState != NULL ) { - count_free( hCovState->pSmoothing_factor ); + free( hCovState->pSmoothing_factor ); hCovState->pSmoothing_factor = NULL; for ( i = 0; i < nchan_inp; i++ ) { for ( j = 0; j < nchan_inp; j++ ) { - count_free( hCovState->pPrior_cov_real[i][j] ); + free( hCovState->pPrior_cov_real[i][j] ); hCovState->pPrior_cov_real[i][j] = NULL; } } - count_free( hCovState ); + free( hCovState ); hCovState_out = NULL; } diff --git a/lib_com/ivas_fb_mixer.c b/lib_com/ivas_fb_mixer.c index ed034787bf..f2bd9658fc 100644 --- a/lib_com/ivas_fb_mixer.c +++ b/lib_com/ivas_fb_mixer.c @@ -110,7 +110,7 @@ ivas_error ivas_fb_set_cfg( { IVAS_FB_CFG *pFb_cfg; - if ( ( pFb_cfg = (IVAS_FB_CFG *) count_malloc( sizeof( IVAS_FB_CFG ) ) ) == NULL ) + if ( ( pFb_cfg = (IVAS_FB_CFG *) malloc( sizeof( IVAS_FB_CFG ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer config" ); } @@ -187,7 +187,7 @@ ivas_error ivas_FB_mixer_open( frame_len = (int16_t) ( sampling_rate / FRAMES_PER_SEC ); - if ( ( hFbMixer = (IVAS_FB_MIXER_HANDLE) count_malloc( sizeof( IVAS_FB_MIXER_DATA ) ) ) == NULL ) + if ( ( hFbMixer = (IVAS_FB_MIXER_HANDLE) malloc( sizeof( IVAS_FB_MIXER_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } @@ -196,7 +196,7 @@ ivas_error ivas_FB_mixer_open( if ( fb_cfg->num_out_chans > 0 ) { #endif - if ( ( hFbMixer->pFb = (ivas_filterbank_t *) count_malloc( sizeof( ivas_filterbank_t ) ) ) == NULL ) + if ( ( hFbMixer->pFb = (ivas_filterbank_t *) malloc( sizeof( ivas_filterbank_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } @@ -231,12 +231,12 @@ ivas_error ivas_FB_mixer_open( { j = fb_cfg->remix_order[i]; - if ( ( hFbMixer->ppFilterbank_inFR_re[j] = (float *) count_malloc( sizeof( float ) * frame_len ) ) == NULL ) + if ( ( hFbMixer->ppFilterbank_inFR_re[j] = (float *) malloc( sizeof( float ) * frame_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } - if ( ( hFbMixer->ppFilterbank_inFR_im[j] = (float *) count_malloc( sizeof( float ) * frame_len ) ) == NULL ) + if ( ( hFbMixer->ppFilterbank_inFR_im[j] = (float *) malloc( sizeof( float ) * frame_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } @@ -253,7 +253,7 @@ ivas_error ivas_FB_mixer_open( } for ( i = 0; i < num_chs_alloc; i++ ) { - if ( ( hFbMixer->ppFilterbank_prior_input[i] = (float *) count_malloc( sizeof( float ) * fb_cfg->prior_input_length ) ) == NULL ) + if ( ( hFbMixer->ppFilterbank_prior_input[i] = (float *) malloc( sizeof( float ) * fb_cfg->prior_input_length ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } @@ -264,7 +264,7 @@ ivas_error ivas_FB_mixer_open( { float *pTemp_mem; - if ( ( pTemp_mem = (float *) count_malloc( sizeof( float ) * fb_cfg->num_out_chans * fb_cfg->num_in_chans * IVAS_MAX_NUM_BANDS ) ) == NULL ) + if ( ( pTemp_mem = (float *) malloc( sizeof( float ) * fb_cfg->num_out_chans * fb_cfg->num_in_chans * IVAS_MAX_NUM_BANDS ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer" ); } @@ -291,7 +291,7 @@ ivas_error ivas_FB_mixer_open( { for ( i = 0; i < num_bands; i++ ) { - if ( ( hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] = (float *) count_malloc( sizeof( float ) * pActive_bins_per_band_abs[i] ) ) == NULL ) + if ( ( hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] = (float *) malloc( sizeof( float ) * pActive_bins_per_band_abs[i] ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } @@ -309,12 +309,12 @@ ivas_error ivas_FB_mixer_open( for ( j = start_diff_band_non48k; j < num_bands; j++ ) { - if ( ( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[0][j] = (float *) count_malloc( sizeof( float ) * pActive_bins_per_band[j] ) ) == NULL ) + if ( ( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[0][j] = (float *) malloc( sizeof( float ) * pActive_bins_per_band[j] ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } - if ( ( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[1][j] = (float *) count_malloc( sizeof( float ) * pActive_bins_per_band[j] ) ) == NULL ) + if ( ( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[1][j] = (float *) malloc( sizeof( float ) * pActive_bins_per_band[j] ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } @@ -402,10 +402,10 @@ void ivas_FB_mixer_close( { j = fb_cfg->remix_order[i]; - count_free( hFbMixer->ppFilterbank_inFR_re[j] ); + free( hFbMixer->ppFilterbank_inFR_re[j] ); hFbMixer->ppFilterbank_inFR_re[j] = NULL; - count_free( hFbMixer->ppFilterbank_inFR_im[j] ); + free( hFbMixer->ppFilterbank_inFR_im[j] ); hFbMixer->ppFilterbank_inFR_im[j] = NULL; } } @@ -420,13 +420,13 @@ void ivas_FB_mixer_close( } for ( i = 0; i < num_chs_alloc; i++ ) { - count_free( hFbMixer->ppFilterbank_prior_input[i] ); + free( hFbMixer->ppFilterbank_prior_input[i] ); hFbMixer->ppFilterbank_prior_input[i] = NULL; } if ( ( fb_cfg->active_w_mixing != -1 ) && ( fb_cfg->num_out_chans > 0 ) ) { - count_free( hFbMixer->prior_mixer[0][0] ); + free( hFbMixer->prior_mixer[0][0] ); hFbMixer->prior_mixer[0][0] = NULL; } @@ -438,7 +438,7 @@ void ivas_FB_mixer_close( { for ( i = 0; i < num_bands; i++ ) { - count_free( hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] ); + free( hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] ); hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] = NULL; } } @@ -450,10 +450,10 @@ void ivas_FB_mixer_close( for ( j = start_diff_band_non48k; j < num_bands; j++ ) { - count_free( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[0][j] ); + free( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[0][j] ); hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[0][j] = NULL; - count_free( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[1][j] ); + free( hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[1][j] ); hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[1][j] = NULL; } } @@ -461,17 +461,17 @@ void ivas_FB_mixer_close( if ( hFbMixer->pFb != NULL ) { - count_free( hFbMixer->pFb ); + free( hFbMixer->pFb ); hFbMixer->pFb = NULL; } if ( hFbMixer->fb_cfg != NULL ) { - count_free( hFbMixer->fb_cfg ); + free( hFbMixer->fb_cfg ); hFbMixer->fb_cfg = NULL; } - count_free( hFbMixer ); + free( hFbMixer ); hFbMixer = NULL; } diff --git a/lib_com/ivas_mc_param_com.c b/lib_com/ivas_mc_param_com.c index 8e198a643a..0856fb703b 100644 --- a/lib_com/ivas_mc_param_com.c +++ b/lib_com/ivas_mc_param_com.c @@ -218,7 +218,7 @@ void ivas_param_mc_metadata_close( { if ( hMetadataPMC->icc_map_full[i] ) { - count_free( hMetadataPMC->icc_map_full[i] ); + free( hMetadataPMC->icc_map_full[i] ); hMetadataPMC->icc_map_full[i] = NULL; } } @@ -276,7 +276,7 @@ void ivas_param_mc_create_full_icc_mapping( /* allocate memory for the map */ for ( i = 0; i < 2; i++ ) { - icc_map[i] = (int16_t *) count_malloc( *icc_map_size_full * sizeof( int16_t ) ); + icc_map[i] = (int16_t *) malloc( *icc_map_size_full * sizeof( int16_t ) ); } /* create map (non-LFE ICCs) */ diff --git a/lib_com/ivas_qmetadata_com.c b/lib_com/ivas_qmetadata_com.c index fa508c05ff..86b0cf7c3e 100644 --- a/lib_com/ivas_qmetadata_com.c +++ b/lib_com/ivas_qmetadata_com.c @@ -65,7 +65,7 @@ ivas_error ivas_qmetadata_open( ) { /* allocate MetaData handle */ - if ( ( *hQMetaData = (IVAS_QMETADATA_HANDLE) count_malloc( sizeof( IVAS_QMETADATA ) ) ) == NULL ) + if ( ( *hQMetaData = (IVAS_QMETADATA_HANDLE) malloc( sizeof( IVAS_QMETADATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for Q MetaData" ); } @@ -126,7 +126,7 @@ ivas_error ivas_qmetadata_allocate_memory( hQMetaData->no_directions = ndirs; hQMetaData->coherence_flag = coherence_flag; - hQMetaData->q_direction = (IVAS_QDIRECTION *) count_malloc( sizeof( IVAS_QDIRECTION ) * ndirs ); + hQMetaData->q_direction = (IVAS_QDIRECTION *) malloc( sizeof( IVAS_QDIRECTION ) * ndirs ); reservationFailed = hQMetaData->q_direction == NULL; if ( !reservationFailed ) @@ -140,7 +140,7 @@ ivas_error ivas_qmetadata_allocate_memory( } else { - hQMetaData->q_direction[dir].band_data = (IVAS_QDIRECTION_BAND_DATA *) count_malloc( sizeof( IVAS_QDIRECTION_BAND_DATA ) * hQMetaData->q_direction[dir].cfg.nbands ); + hQMetaData->q_direction[dir].band_data = (IVAS_QDIRECTION_BAND_DATA *) malloc( sizeof( IVAS_QDIRECTION_BAND_DATA ) * hQMetaData->q_direction[dir].cfg.nbands ); { int16_t j; for ( j = 0; j < nbands; j++ ) @@ -156,7 +156,7 @@ ivas_error ivas_qmetadata_allocate_memory( if ( coherence_flag ) { - hQMetaData->q_direction[dir].coherence_band_data = (IVAS_QDIRECTION_BAND_COHERENCE_DATA *) count_malloc( sizeof( IVAS_QDIRECTION_BAND_COHERENCE_DATA ) * hQMetaData->q_direction[dir].cfg.nbands ); + hQMetaData->q_direction[dir].coherence_band_data = (IVAS_QDIRECTION_BAND_COHERENCE_DATA *) malloc( sizeof( IVAS_QDIRECTION_BAND_COHERENCE_DATA ) * hQMetaData->q_direction[dir].cfg.nbands ); reservationFailed |= hQMetaData->q_direction[dir].coherence_band_data == NULL; } else @@ -173,7 +173,7 @@ ivas_error ivas_qmetadata_allocate_memory( if ( coherence_flag ) { - hQMetaData->surcoh_band_data = (IVAS_SURROUND_COHERENCE_BAND_DATA *) count_malloc( sizeof( IVAS_SURROUND_COHERENCE_BAND_DATA ) * hQMetaData->q_direction[0].cfg.nbands ); + hQMetaData->surcoh_band_data = (IVAS_SURROUND_COHERENCE_BAND_DATA *) malloc( sizeof( IVAS_SURROUND_COHERENCE_BAND_DATA ) * hQMetaData->q_direction[0].cfg.nbands ); reservationFailed |= hQMetaData->surcoh_band_data == NULL; } else @@ -215,23 +215,23 @@ static void ivas_qmetadata_free_memory( { if ( hQMetaData->q_direction[dir].band_data != NULL ) { - count_free( hQMetaData->q_direction[dir].band_data ); + free( hQMetaData->q_direction[dir].band_data ); hQMetaData->q_direction[dir].band_data = NULL; } if ( hQMetaData->q_direction[dir].coherence_band_data != NULL ) { - count_free( hQMetaData->q_direction[dir].coherence_band_data ); + free( hQMetaData->q_direction[dir].coherence_band_data ); hQMetaData->q_direction[dir].coherence_band_data = NULL; } } - count_free( hQMetaData->q_direction ); + free( hQMetaData->q_direction ); hQMetaData->q_direction = NULL; } if ( hQMetaData->surcoh_band_data != NULL ) { - count_free( hQMetaData->surcoh_band_data ); + free( hQMetaData->surcoh_band_data ); hQMetaData->surcoh_band_data = NULL; } @@ -256,7 +256,7 @@ void ivas_qmetadata_close( ivas_qmetadata_free_memory( *hQMetaData ); - count_free( *hQMetaData ); + free( *hQMetaData ); *hQMetaData = NULL; return; diff --git a/lib_com/ivas_transient_det.c b/lib_com/ivas_transient_det.c index 9a02c78c41..54e42ab8ff 100644 --- a/lib_com/ivas_transient_det.c +++ b/lib_com/ivas_transient_det.c @@ -171,7 +171,7 @@ ivas_error ivas_spar_transient_det_open( { ivas_trans_det_state_t *hTranDet; - if ( ( hTranDet = (ivas_trans_det_state_t *) count_malloc( sizeof( ivas_trans_det_state_t ) ) ) == NULL ) + if ( ( hTranDet = (ivas_trans_det_state_t *) malloc( sizeof( ivas_trans_det_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR TD\n" ); } @@ -199,7 +199,7 @@ void ivas_spar_transient_det_close( return; } - count_free( *hTranDet ); + free( *hTranDet ); *hTranDet = NULL; return; diff --git a/lib_com/wi.c b/lib_com/wi.c index d4ecd7d64d..596db26f9c 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -73,7 +73,7 @@ ivas_error DTFS_new( int16_t i; DTFS_STRUCTURE *dtfs = NULL; - dtfs = (DTFS_STRUCTURE *) count_malloc( sizeof( DTFS_STRUCTURE ) ); + dtfs = (DTFS_STRUCTURE *) malloc( sizeof( DTFS_STRUCTURE ) ); if ( dtfs == NULL ) { @@ -668,9 +668,9 @@ static void DTFS_transform( out[i] = sum1; } - count_free( tmp1_dtfs ); - count_free( tmp2_dtfs ); - count_free( tmp3_dtfs ); + free( tmp1_dtfs ); + free( tmp2_dtfs ); + free( tmp3_dtfs ); return; } @@ -1643,7 +1643,7 @@ ivas_error WIsyn( error = IVAS_ERR_OK; - if ( ( phase = (float *) count_malloc( N * sizeof( float ) ) ) == NULL ) + if ( ( phase = (float *) malloc( N * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for WI structure\n" ) ); } @@ -1697,8 +1697,8 @@ ivas_error WIsyn( } *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); - count_free( phase ); - count_free( CURRCW_DTFS ); + free( phase ); + free( CURRCW_DTFS ); return error; } diff --git a/lib_dec/dec_gen_voic.c b/lib_dec/dec_gen_voic.c index 65ea2826ad..e4f3ae9b4f 100644 --- a/lib_dec/dec_gen_voic.c +++ b/lib_dec/dec_gen_voic.c @@ -285,8 +285,8 @@ ivas_error decod_gen_voic( } } - count_free( PREVP ); - count_free( CURRP ); + free( PREVP ); + free( CURRP ); } } diff --git a/lib_dec/fd_cng_dec.c b/lib_dec/fd_cng_dec.c index a475387fb1..9dca4cc182 100644 --- a/lib_dec/fd_cng_dec.c +++ b/lib_dec/fd_cng_dec.c @@ -76,7 +76,7 @@ ivas_error createFdCngDec( *hFdCngDec = NULL; /* Allocate memory */ - hs = (HANDLE_FD_CNG_DEC) count_malloc( sizeof( FD_CNG_DEC ) ); + hs = (HANDLE_FD_CNG_DEC) malloc( sizeof( FD_CNG_DEC ) ); if ( hs == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for FD CNG DEC structure" ); @@ -352,7 +352,7 @@ void deleteFdCngDec( if ( hsDec != NULL ) { deleteFdCngCom( &( hsDec->hFdCngCom ) ); - count_free( hsDec ); + free( hsDec ); *hFdCngDec = NULL; } diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 978248e695..d46505d453 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -193,7 +193,7 @@ ivas_error init_decoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hGSCDec = (GSC_DEC_HANDLE) count_malloc( sizeof( GSC_DEC_DATA ) ) ) == NULL ) + if ( ( st->hGSCDec = (GSC_DEC_HANDLE) malloc( sizeof( GSC_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for GSC\n" ) ); } @@ -211,7 +211,7 @@ ivas_error init_decoder( if ( st->output_Fs == 16000 && st->element_mode == EVS_MONO ) { - if ( ( st->hWIDec = (WI_DEC_HANDLE) count_malloc( sizeof( WI_DEC_DATA ) ) ) == NULL ) + if ( ( st->hWIDec = (WI_DEC_HANDLE) malloc( sizeof( WI_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FEC WI\n" ) ); } @@ -230,7 +230,7 @@ ivas_error init_decoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hPFstat = (PFSTAT_HANDLE) count_malloc( sizeof( PFSTAT ) ) ) == NULL ) + if ( ( st->hPFstat = (PFSTAT_HANDLE) malloc( sizeof( PFSTAT ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for NB/formant postflter\n" ) ); } @@ -250,7 +250,7 @@ ivas_error init_decoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hBWE_zero = (ZERO_BWE_DEC_HANDLE) count_malloc( sizeof( ZERO_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_zero = (ZERO_BWE_DEC_HANDLE) malloc( sizeof( ZERO_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for zero BWE\n" ) ); } @@ -269,7 +269,7 @@ ivas_error init_decoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hMusicPF = (MUSIC_POSTFILT_HANDLE) count_malloc( sizeof( MUSIC_POSTFILT_DATA ) ) ) == NULL ) + if ( ( st->hMusicPF = (MUSIC_POSTFILT_HANDLE) malloc( sizeof( MUSIC_POSTFILT_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LD music postflter\n" ) ); } @@ -295,7 +295,7 @@ ivas_error init_decoder( if ( idchan == 0 && ( st->element_mode == EVS_MONO || st->element_mode == IVAS_CPE_DFT || st->element_mode == IVAS_CPE_TD ) ) { - if ( ( st->hTdCngDec = (TD_CNG_DEC_HANDLE) count_malloc( sizeof( TD_CNG_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTdCngDec = (TD_CNG_DEC_HANDLE) malloc( sizeof( TD_CNG_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX/TD CNG\n" ) ); } @@ -324,7 +324,7 @@ ivas_error init_decoder( if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT || st->element_mode == IVAS_SCE || st->element_mode == EVS_MONO ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hHQ_core = (HQ_DEC_HANDLE) count_malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) + if ( ( st->hHQ_core = (HQ_DEC_HANDLE) malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ core\n" ) ); } @@ -335,7 +335,7 @@ ivas_error init_decoder( if ( st->element_mode == EVS_MONO ) { /* HQ NB FEC initialization */ - if ( ( st->hHQ_nbfec = (HQ_NBFEC_HANDLE) count_malloc( sizeof( HQ_NBFEC_DATA ) ) ) == NULL ) + if ( ( st->hHQ_nbfec = (HQ_NBFEC_HANDLE) malloc( sizeof( HQ_NBFEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ NB FEC\n" ) ); } @@ -359,7 +359,7 @@ ivas_error init_decoder( if ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) { - if ( ( st->hBWE_TD = (TD_BWE_DEC_HANDLE) count_malloc( sizeof( TD_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_TD = (TD_BWE_DEC_HANDLE) malloc( sizeof( TD_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD BWE\n" ) ); } @@ -380,7 +380,7 @@ ivas_error init_decoder( if ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) { - if ( ( st->hBWE_FD = (FD_BWE_DEC_HANDLE) count_malloc( sizeof( FD_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD = (FD_BWE_DEC_HANDLE) malloc( sizeof( FD_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FD BWE\n" ) ); } @@ -415,7 +415,7 @@ ivas_error init_decoder( if ( st->element_mode == EVS_MONO ) { - if ( ( st->hBWE_FD_HR = (HR_BWE_DEC_HANDLE) count_malloc( sizeof( HR_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD_HR = (HR_BWE_DEC_HANDLE) malloc( sizeof( HR_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HR BWE\n" ) ); } @@ -433,7 +433,7 @@ ivas_error init_decoder( if ( st->Opt_AMR_WB || st->element_mode == EVS_MONO ) { - if ( ( st->hAmrwb_IO = (AMRWB_IO_DEC_HANDLE) count_malloc( sizeof( AMRWB_IO_DEC_DATA ) ) ) == NULL ) + if ( ( st->hAmrwb_IO = (AMRWB_IO_DEC_HANDLE) malloc( sizeof( AMRWB_IO_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AMR-WB IO\n" ) ); } @@ -478,7 +478,7 @@ ivas_error init_decoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hBPF = (BPF_DEC_HANDLE) count_malloc( sizeof( BPF_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBPF = (BPF_DEC_HANDLE) malloc( sizeof( BPF_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for BPF\n" ) ); } @@ -553,7 +553,7 @@ ivas_error init_decoder( if ( st->element_mode == EVS_MONO ) { - if ( ( st->hSC_VBR = (SC_VBR_DEC_HANDLE) count_malloc( sizeof( SC_VBR_DEC_DATA ) ) ) == NULL ) + if ( ( st->hSC_VBR = (SC_VBR_DEC_HANDLE) malloc( sizeof( SC_VBR_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SC-VBR\n" ) ); } @@ -583,7 +583,7 @@ ivas_error init_decoder( /* TCX-LTP */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) count_malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TCX-LTP handle\n" ) ); } @@ -597,7 +597,7 @@ ivas_error init_decoder( // VE: reduction possible for MCT_CHAN_MODE_LFE channel - see I1-172 if ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) { - if ( ( st->hTcxDec = (TCX_DEC_HANDLE) count_malloc( sizeof( TCX_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTcxDec = (TCX_DEC_HANDLE) malloc( sizeof( TCX_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxDec\n" ) ); } @@ -615,7 +615,7 @@ ivas_error init_decoder( /* TCX config. data structure */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) + if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); } @@ -628,7 +628,7 @@ ivas_error init_decoder( /* Tonal MDCT concealment data structure */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hTonalMDCTConc = (TonalMDCTConcealPtr) count_malloc( sizeof( TonalMDCTConceal_INSTANCE ) ) ) == NULL ) + if ( ( st->hTonalMDCTConc = (TonalMDCTConcealPtr) malloc( sizeof( TonalMDCTConceal_INSTANCE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TonalMDCTConcealment\n" ) ); } @@ -644,7 +644,7 @@ ivas_error init_decoder( if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hIGFDec = (IGF_DEC_INSTANCE_HANDLE) count_malloc( sizeof( IGFDEC_INSTANCE ) ) ) == NULL ) + if ( ( st->hIGFDec = (IGF_DEC_INSTANCE_HANDLE) malloc( sizeof( IGFDEC_INSTANCE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for IGF\n" ) ); } @@ -667,7 +667,7 @@ ivas_error init_decoder( if ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) #endif { - if ( ( st->hPlcInfo = (T_PLCInfo_HANDLE) count_malloc( sizeof( T_PLCInfo ) ) ) == NULL ) + if ( ( st->hPlcInfo = (T_PLCInfo_HANDLE) malloc( sizeof( T_PLCInfo ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for PLC handle\n" ) ); } @@ -679,7 +679,7 @@ ivas_error init_decoder( if ( st->element_mode == EVS_MONO ) { - if ( ( st->hTECDec = (TEC_DEC_HANDLE) count_malloc( sizeof( TEC_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTECDec = (TEC_DEC_HANDLE) malloc( sizeof( TEC_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TEC\n" ) ); } diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index 89a3196347..d44839e155 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -104,7 +104,7 @@ ivas_error ivas_spar_agc_dec_open( int16_t output_frame; #endif - if ( ( hAgc = (ivas_agc_dec_state_t *) count_malloc( sizeof( ivas_agc_dec_state_t ) ) ) == NULL ) + if ( ( hAgc = (ivas_agc_dec_state_t *) malloc( sizeof( ivas_agc_dec_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AGC decoder" ); } @@ -115,20 +115,20 @@ ivas_error ivas_spar_agc_dec_open( #endif #ifdef FIX_AGC_WINFUNC_MEMORY - if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * ( output_frame - delay ) ) ) == NULL ) + if ( ( hAgc->agc_com.winFunc = (float *) malloc( sizeof( float ) * ( output_frame - delay ) ) ) == NULL ) #else - if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * output_frame ) ) == NULL ) + if ( ( hAgc->agc_com.winFunc = (float *) malloc( sizeof( float ) * output_frame ) ) == NULL ) #endif { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AGC decoder" ); } - if ( ( hAgc->gain_state = (ivas_agc_dec_chan_state_t *) count_malloc( sizeof( ivas_agc_dec_chan_state_t ) * FOA_CHANNELS ) ) == NULL ) + if ( ( hAgc->gain_state = (ivas_agc_dec_chan_state_t *) malloc( sizeof( ivas_agc_dec_chan_state_t ) * FOA_CHANNELS ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AGC decoder" ); } - if ( ( hAgc->gain_data = (ivas_agc_chan_data_t *) count_malloc( sizeof( ivas_agc_chan_data_t ) * FOA_CHANNELS ) ) == NULL ) + if ( ( hAgc->gain_data = (ivas_agc_chan_data_t *) malloc( sizeof( ivas_agc_chan_data_t ) * FOA_CHANNELS ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AGC decoder" ); } @@ -161,16 +161,16 @@ void ivas_spar_agc_dec_close( if ( hAgc != NULL ) { - count_free( hAgc->agc_com.winFunc ); + free( hAgc->agc_com.winFunc ); hAgc->agc_com.winFunc = NULL; - count_free( hAgc->gain_state ); + free( hAgc->gain_state ); hAgc->gain_state = NULL; - count_free( hAgc->gain_data ); + free( hAgc->gain_data ); hAgc->gain_data = NULL; - count_free( hAgc ); + free( hAgc ); *hAgcDec = NULL; } diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 88e5a4868a..9295c38bc9 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -90,10 +90,10 @@ ivas_error ivas_corecoder_dec_reconfig( if ( st_ivas->hSCE[0] != NULL ) { - count_free( st_ivas->hSCE[0]->save_synth ); + free( st_ivas->hSCE[0]->save_synth ); st_ivas->hSCE[0]->save_synth = NULL; - count_free( st_ivas->hSCE[0]->save_hb_synth ); + free( st_ivas->hSCE[0]->save_hb_synth ); st_ivas->hSCE[0]->save_hb_synth = NULL; } } @@ -152,7 +152,7 @@ ivas_error ivas_corecoder_dec_reconfig( /* special case, if we have MCT now and had a single CPE before, remove the MDCT Stereo handles from the first CPE*/ if ( st_ivas->nCPE > 1 && nCPE_old == 1 ) { - count_free( st_ivas->hCPE[0]->hStereoMdct ); + free( st_ivas->hCPE[0]->hStereoMdct ); st_ivas->hCPE[0]->hStereoMdct = NULL; } @@ -216,7 +216,7 @@ ivas_error ivas_corecoder_dec_reconfig( /* special case, if we have a single CPE and had MCT before we need to init the MDCT stereo handles here */ if ( st_ivas->nCPE == 1 && nCPE_old > 1 ) { - if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) + if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -249,7 +249,7 @@ ivas_error ivas_corecoder_dec_reconfig( if ( st_ivas->hSCE[0]->save_synth == NULL ) { - if ( ( st_ivas->hSCE[0]->save_synth = (float *) count_malloc( sizeof( float ) * output_frame ) ) == NULL ) + if ( ( st_ivas->hSCE[0]->save_synth = (float *) malloc( sizeof( float ) * output_frame ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for stereo output\n" ) ); } @@ -258,7 +258,7 @@ ivas_error ivas_corecoder_dec_reconfig( if ( st_ivas->hSCE[0]->save_hb_synth == NULL ) { - if ( ( st_ivas->hSCE[0]->save_hb_synth = (float *) count_malloc( sizeof( float ) * output_frame ) ) == NULL ) + if ( ( st_ivas->hSCE[0]->save_hb_synth = (float *) malloc( sizeof( float ) * output_frame ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate HB memory for stereo output\n" ) ); } @@ -345,7 +345,7 @@ ivas_error ivas_hp20_dec_reconfig( old_mem_hp20_out = st_ivas->mem_hp20_out; st_ivas->mem_hp20_out = NULL; - if ( ( st_ivas->mem_hp20_out = (float **) count_malloc( nchan_hp20 * sizeof( float * ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out = (float **) malloc( nchan_hp20 * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -358,7 +358,7 @@ ivas_error ivas_hp20_dec_reconfig( /* create additional hp20 memories */ for ( ; i < nchan_hp20; i++ ) { - if ( ( st_ivas->mem_hp20_out[i] = (float *) count_malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out[i] = (float *) malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -366,7 +366,7 @@ ivas_error ivas_hp20_dec_reconfig( set_f( st_ivas->mem_hp20_out[i], 0.0f, L_HP20_MEM ); } - count_free( old_mem_hp20_out ); + free( old_mem_hp20_out ); old_mem_hp20_out = NULL; } else if ( nchan_hp20 < nchan_hp20_old ) @@ -375,7 +375,7 @@ ivas_error ivas_hp20_dec_reconfig( old_mem_hp20_out = st_ivas->mem_hp20_out; st_ivas->mem_hp20_out = NULL; - if ( ( st_ivas->mem_hp20_out = (float **) count_malloc( nchan_hp20 * sizeof( float * ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out = (float **) malloc( nchan_hp20 * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -388,11 +388,11 @@ ivas_error ivas_hp20_dec_reconfig( /* remove superfluous hp20 memories */ for ( ; i < nchan_hp20_old; i++ ) { - count_free( old_mem_hp20_out[i] ); + free( old_mem_hp20_out[i] ); old_mem_hp20_out[i] = NULL; } - count_free( old_mem_hp20_out ); + free( old_mem_hp20_out ); old_mem_hp20_out = NULL; } diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index 7e6a6e70a5..bb3dd4cd69 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -550,7 +550,7 @@ ivas_error create_cpe_dec( * Allocate CPE handle *-----------------------------------------------------------------*/ - if ( ( hCPE = (CPE_DEC_HANDLE) count_malloc( sizeof( CPE_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE = (CPE_DEC_HANDLE) malloc( sizeof( CPE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CPE\n" ) ); } @@ -610,13 +610,13 @@ ivas_error create_cpe_dec( if ( st_ivas->ivas_format == STEREO_FORMAT || st_ivas->ivas_format == MASA_FORMAT || ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) || st_ivas->sba_dirac_stereo_flag ) { - if ( ( hCPE->input_mem[i] = (float *) count_malloc( sizeof( float ) * NS2SA( output_Fs, STEREO_DFT32MS_OVL_NS ) ) ) == NULL ) + if ( ( hCPE->input_mem[i] = (float *) malloc( sizeof( float ) * NS2SA( output_Fs, STEREO_DFT32MS_OVL_NS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } set_zero( hCPE->input_mem[i], NS2SA( output_Fs, STEREO_DFT32MS_OVL_NS ) ); - if ( ( hCPE->input_mem_LB[i] = (float *) count_malloc( sizeof( float ) * STEREO_DFT32MS_OVL_16k ) ) == NULL ) + if ( ( hCPE->input_mem_LB[i] = (float *) malloc( sizeof( float ) * STEREO_DFT32MS_OVL_16k ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } @@ -624,14 +624,14 @@ ivas_error create_cpe_dec( if ( i == 0 ) { - if ( ( hCPE->input_mem_BPF[0] = (float *) count_malloc( sizeof( float ) * STEREO_DFT32MS_OVL_16k ) ) == NULL ) + if ( ( hCPE->input_mem_BPF[0] = (float *) malloc( sizeof( float ) * STEREO_DFT32MS_OVL_16k ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } set_zero( hCPE->input_mem_BPF[0], STEREO_DFT32MS_OVL_16k ); } - if ( ( hCPE->output_mem[i] = (float *) count_malloc( sizeof( float ) * NS2SA( output_Fs, STEREO_DFT32MS_OVL_NS ) ) ) == NULL ) + if ( ( hCPE->output_mem[i] = (float *) malloc( sizeof( float ) * NS2SA( output_Fs, STEREO_DFT32MS_OVL_NS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } @@ -639,7 +639,7 @@ ivas_error create_cpe_dec( if ( i < hCPE->nchan_out ) { - if ( ( hCPE->prev_synth_chs[i] = (float *) count_malloc( sizeof( float ) * NS2SA( output_Fs, FRAME_SIZE_NS ) ) ) == NULL ) + if ( ( hCPE->prev_synth_chs[i] = (float *) malloc( sizeof( float ) * NS2SA( output_Fs, FRAME_SIZE_NS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } @@ -675,7 +675,7 @@ ivas_error create_cpe_dec( break; } - if ( ( st = (DEC_CORE_HANDLE) count_malloc( sizeof( Decoder_State ) ) ) == NULL ) + if ( ( st = (DEC_CORE_HANDLE) malloc( sizeof( Decoder_State ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CoreCoder structure\n" ) ); } @@ -715,7 +715,7 @@ ivas_error create_cpe_dec( if ( hCPE->element_mode != IVAS_CPE_MDCT && hCPE->nchan_out == 1 ) { - if ( ( hCPE->hStereoDftDmx = (STEREO_DFT_DMX_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_DMX_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoDftDmx = (STEREO_DFT_DMX_DATA_HANDLE) malloc( sizeof( STEREO_DFT_DMX_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo DFT mono output\n" ) ); } @@ -729,7 +729,7 @@ ivas_error create_cpe_dec( if ( ( hCPE->element_mode != IVAS_CPE_MDCT || ( st_ivas->ivas_format == STEREO_FORMAT && hCPE->element_brate <= MAX_MDCT_ITD_BRATE ) ) && hCPE->nchan_out != 1 ) { - if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) count_malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } @@ -743,7 +743,7 @@ ivas_error create_cpe_dec( if ( hCPE->element_mode != IVAS_CPE_MDCT && !( hCPE->element_mode == IVAS_CPE_DFT && hCPE->nchan_out == 1 ) ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE\n" ) ); } @@ -757,7 +757,7 @@ ivas_error create_cpe_dec( if ( hCPE->element_mode == IVAS_CPE_TD ) { - if ( ( hCPE->hStereoTD = (STEREO_TD_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_TD_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTD = (STEREO_TD_DEC_DATA_HANDLE) malloc( sizeof( STEREO_TD_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD Stereo\n" ) ); } @@ -771,7 +771,7 @@ ivas_error create_cpe_dec( if ( hCPE->element_mode == IVAS_CPE_MDCT && st_ivas->nCPE == 1 ) { - if ( ( hCPE->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo MDCT\n" ) ); } @@ -802,7 +802,7 @@ ivas_error create_cpe_dec( if ( hCPE->element_mode == IVAS_CPE_TD || hCPE->element_mode == IVAS_CPE_DFT ) { - if ( ( hCPE->hStereoCng = (STEREO_CNG_DEC_HANDLE) count_malloc( sizeof( STEREO_CNG_DEC ) ) ) == NULL ) + if ( ( hCPE->hStereoCng = (STEREO_CNG_DEC_HANDLE) malloc( sizeof( STEREO_CNG_DEC ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo CNG\n" ) ); } @@ -836,7 +836,7 @@ void destroy_cpe_dec( { destroy_core_dec( st ); - count_free( st ); + free( st ); st = NULL; } } @@ -849,31 +849,31 @@ void destroy_cpe_dec( if ( hCPE->hStereoDftDmx != NULL ) { - count_free( hCPE->hStereoDftDmx ); + free( hCPE->hStereoDftDmx ); hCPE->hStereoDftDmx = NULL; } if ( hCPE->hStereoTD != NULL ) { - count_free( hCPE->hStereoTD ); + free( hCPE->hStereoTD ); hCPE->hStereoTD = NULL; } if ( hCPE->hStereoMdct != NULL ) { - count_free( hCPE->hStereoMdct ); + free( hCPE->hStereoMdct ); hCPE->hStereoMdct = NULL; } if ( hCPE->hStereoTCA != NULL ) { - count_free( hCPE->hStereoTCA ); + free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; } if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } @@ -881,29 +881,29 @@ void destroy_cpe_dec( { for ( n = 0; n < CPE_CHANNELS; n++ ) { - count_free( hCPE->input_mem_LB[n] ); + free( hCPE->input_mem_LB[n] ); hCPE->input_mem_LB[n] = NULL; - count_free( hCPE->input_mem[n] ); + free( hCPE->input_mem[n] ); hCPE->input_mem[n] = NULL; - count_free( hCPE->output_mem[n] ); + free( hCPE->output_mem[n] ); hCPE->output_mem[n] = NULL; if ( hCPE->prev_synth_chs[n] != NULL ) { - count_free( hCPE->prev_synth_chs[n] ); + free( hCPE->prev_synth_chs[n] ); hCPE->prev_synth_chs[n] = NULL; } } - count_free( hCPE->input_mem_BPF[0] ); + free( hCPE->input_mem_BPF[0] ); hCPE->input_mem_BPF[0] = NULL; } if ( hCPE->hStereoCng != NULL ) { - count_free( hCPE->hStereoCng ); + free( hCPE->hStereoCng ); hCPE->hStereoCng = NULL; } - count_free( hCPE ); + free( hCPE ); return; } diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 49a1dd0048..bd8c2c3a3c 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -163,12 +163,12 @@ ivas_error ivas_dirac_dec_config( * prepare library opening *-----------------------------------------------------------------*/ - if ( ( hDirAC = (DIRAC_DEC_HANDLE) count_malloc( sizeof( DIRAC_DEC_DATA ) ) ) == NULL ) + if ( ( hDirAC = (DIRAC_DEC_HANDLE) malloc( sizeof( DIRAC_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } - if ( ( hDirAC->hConfig = (DIRAC_CONFIG_DATA_HANDLE) count_malloc( sizeof( DIRAC_CONFIG_DATA ) ) ) == NULL ) + if ( ( hDirAC->hConfig = (DIRAC_CONFIG_DATA_HANDLE) malloc( sizeof( DIRAC_CONFIG_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC Config\n" ) ); } @@ -311,7 +311,7 @@ ivas_error ivas_dirac_dec_config( if ( flag_config == DIRAC_OPEN ) { hDirAC->num_freq_bands = (int16_t) ( output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ); - hDirAC->frequency_axis = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->frequency_axis = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->frequency_axis, 0.0f, hDirAC->num_freq_bands ); ivas_dirac_dec_get_frequency_axis( hDirAC->frequency_axis, output_Fs, hDirAC->num_freq_bands ); @@ -321,7 +321,7 @@ ivas_error ivas_dirac_dec_config( { if ( ( flag_config == DIRAC_RECONFIGURE && hDirAC->masa_stereo_type_detect == NULL ) || flag_config == DIRAC_OPEN ) { - hDirAC->masa_stereo_type_detect = (MASA_STEREO_TYPE_DETECT *) count_malloc( sizeof( MASA_STEREO_TYPE_DETECT ) ); + hDirAC->masa_stereo_type_detect = (MASA_STEREO_TYPE_DETECT *) malloc( sizeof( MASA_STEREO_TYPE_DETECT ) ); } ivas_masa_init_stereotype_detection( hDirAC->masa_stereo_type_detect ); } @@ -329,7 +329,7 @@ ivas_error ivas_dirac_dec_config( { if ( flag_config == DIRAC_RECONFIGURE && hDirAC->masa_stereo_type_detect != NULL ) { - count_free( hDirAC->masa_stereo_type_detect ); + free( hDirAC->masa_stereo_type_detect ); } hDirAC->masa_stereo_type_detect = NULL; } @@ -389,22 +389,22 @@ ivas_error ivas_dirac_dec_config( if ( flag_config == DIRAC_OPEN ) { num_outputs_dir_old = hDirAC->num_outputs_dir; - hDirAC->proto_index_dir = (int16_t *) count_malloc( sizeof( int16_t ) * hDirAC->num_outputs_dir ); + hDirAC->proto_index_dir = (int16_t *) malloc( sizeof( int16_t ) * hDirAC->num_outputs_dir ); num_outputs_diff_old = hDirAC->num_outputs_diff; - hDirAC->proto_index_diff = (int16_t *) count_malloc( sizeof( int16_t ) * hDirAC->num_outputs_diff ); + hDirAC->proto_index_diff = (int16_t *) malloc( sizeof( int16_t ) * hDirAC->num_outputs_diff ); } if ( hDirAC->num_outputs_dir != num_outputs_dir_old && flag_config == DIRAC_RECONFIGURE ) { - count_free( hDirAC->proto_index_dir ); - hDirAC->proto_index_dir = (int16_t *) count_malloc( sizeof( int16_t ) * hDirAC->num_outputs_dir ); + free( hDirAC->proto_index_dir ); + hDirAC->proto_index_dir = (int16_t *) malloc( sizeof( int16_t ) * hDirAC->num_outputs_dir ); } set_s( hDirAC->proto_index_dir, 0, hDirAC->num_outputs_dir ); if ( hDirAC->num_outputs_diff != num_outputs_diff_old && flag_config == DIRAC_RECONFIGURE ) { - count_free( hDirAC->proto_index_diff ); - hDirAC->proto_index_diff = (int16_t *) count_malloc( sizeof( int16_t ) * hDirAC->num_outputs_diff ); + free( hDirAC->proto_index_diff ); + hDirAC->proto_index_diff = (int16_t *) malloc( sizeof( int16_t ) * hDirAC->num_outputs_diff ); } set_s( hDirAC->proto_index_diff, 0, hDirAC->num_outputs_diff ); @@ -524,14 +524,14 @@ ivas_error ivas_dirac_dec_config( /* direct/diffuse responses */ if ( flag_config == DIRAC_OPEN ) { - hDirAC->diffuse_response_function = (float *) count_malloc( sizeof( float ) * hDirAC->num_outputs_dir ); + hDirAC->diffuse_response_function = (float *) malloc( sizeof( float ) * hDirAC->num_outputs_dir ); } /* reallocate static memory */ else if ( flag_config == DIRAC_RECONFIGURE && hDirAC->num_outputs_dir != num_outputs_dir_old ) { - count_free( hDirAC->diffuse_response_function ); + free( hDirAC->diffuse_response_function ); hDirAC->diffuse_response_function = NULL; - hDirAC->diffuse_response_function = (float *) count_malloc( sizeof( float ) * hDirAC->num_outputs_dir ); + hDirAC->diffuse_response_function = (float *) malloc( sizeof( float ) * hDirAC->num_outputs_dir ); } if ( ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_LS ) || ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD ) || ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_MONO ) ) @@ -549,13 +549,13 @@ ivas_error ivas_dirac_dec_config( { if ( flag_config == DIRAC_OPEN ) { - hDirAC->hoa_encoder = (float *) count_malloc( nchan_out_woLFE * hDirAC->num_outputs_diff * sizeof( float ) ); + hDirAC->hoa_encoder = (float *) malloc( nchan_out_woLFE * hDirAC->num_outputs_diff * sizeof( float ) ); } else if ( flag_config == DIRAC_RECONFIGURE && hDirAC->hoa_encoder && ( hDirAC->num_outputs_diff != num_outputs_diff_old ) ) { - count_free( hDirAC->hoa_encoder ); + free( hDirAC->hoa_encoder ); hDirAC->hoa_encoder = NULL; - hDirAC->hoa_encoder = (float *) count_malloc( nchan_out_woLFE * hDirAC->num_outputs_diff * sizeof( float ) ); + hDirAC->hoa_encoder = (float *) malloc( nchan_out_woLFE * hDirAC->num_outputs_diff * sizeof( float ) ); } set_f( hDirAC->hoa_encoder, 0.0f, nchan_out_woLFE * hDirAC->num_outputs_diff ); compute_hoa_encoder_mtx( ls_azimuth, ls_elevation, hDirAC->hoa_encoder, hDirAC->num_outputs_diff, hDirAC->hOutSetup.ambisonics_order ); @@ -564,7 +564,7 @@ ivas_error ivas_dirac_dec_config( { if ( flag_config == DIRAC_RECONFIGURE && hDirAC->hoa_encoder ) { - count_free( hDirAC->hoa_encoder ); + free( hDirAC->hoa_encoder ); } hDirAC->hoa_encoder = NULL; } @@ -609,7 +609,7 @@ ivas_error ivas_dirac_dec_config( { if ( st_ivas->hoa_dec_mtx != NULL ) { - count_free( st_ivas->hoa_dec_mtx ); + free( st_ivas->hoa_dec_mtx ); st_ivas->hoa_dec_mtx = NULL; } if ( ( error = ivas_sba_get_hoa_dec_matrix( hDirAC->hOutSetup, &st_ivas->hoa_dec_mtx, hDirAC->hOutSetup.ambisonics_order ) ) != IVAS_ERR_OK ) @@ -696,7 +696,7 @@ ivas_error ivas_dirac_dec_config( { if ( flag_config == DIRAC_RECONFIGURE && hDirAC->proto_frame_f ) { - count_free( hDirAC->proto_frame_f ); + free( hDirAC->proto_frame_f ); } hDirAC->proto_frame_f = NULL; } @@ -704,13 +704,13 @@ ivas_error ivas_dirac_dec_config( { if ( flag_config == DIRAC_OPEN || ( flag_config == DIRAC_RECONFIGURE && hDirAC->proto_frame_f == NULL ) ) { - hDirAC->proto_frame_f = (float *) count_malloc( sizeof( float ) * 2 * hDirAC->num_protos_diff * hDirAC->num_freq_bands ); + hDirAC->proto_frame_f = (float *) malloc( sizeof( float ) * 2 * hDirAC->num_protos_diff * hDirAC->num_freq_bands ); } else if ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->num_protos_diff != num_protos_diff_old ) ) { proto_frame_f_old = hDirAC->proto_frame_f; - count_free( proto_frame_f_old ); - hDirAC->proto_frame_f = (float *) count_malloc( sizeof( float ) * 2 * hDirAC->num_protos_diff * hDirAC->num_freq_bands ); + free( proto_frame_f_old ); + hDirAC->proto_frame_f = (float *) malloc( sizeof( float ) * 2 * hDirAC->num_protos_diff * hDirAC->num_freq_bands ); } } @@ -722,7 +722,7 @@ ivas_error ivas_dirac_dec_config( { for ( j = 0; j < DIRAC_NO_COL_AVG_DIFF; j++ ) { - hDirAC->buffer_intensity_real[i][j] = (float *) count_malloc( CLDFB_NO_CHANNELS_MAX * sizeof( float ) ); + hDirAC->buffer_intensity_real[i][j] = (float *) malloc( CLDFB_NO_CHANNELS_MAX * sizeof( float ) ); set_f( hDirAC->buffer_intensity_real[i][j], 0.0f, CLDFB_NO_CHANNELS_MAX ); } } @@ -737,7 +737,7 @@ ivas_error ivas_dirac_dec_config( { if ( flag_config == DIRAC_RECONFIGURE && hDirAC->buffer_intensity_real[i][j] ) { - count_free( hDirAC->buffer_intensity_real[i][j] ); + free( hDirAC->buffer_intensity_real[i][j] ); } hDirAC->buffer_intensity_real[i][j] = NULL; } @@ -790,45 +790,45 @@ ivas_error ivas_dirac_dec_config( } } - hDirAC->azimuth = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->elevation = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->diffuseness_vector = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->energy_ratio1 = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->spreadCoherence = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->surroundingCoherence = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->azimuth = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->elevation = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->diffuseness_vector = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->energy_ratio1 = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->spreadCoherence = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->surroundingCoherence = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); for ( i = 0; i < hDirAC->dirac_md_buffer_length; i++ ) { - hDirAC->azimuth[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->azimuth[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->azimuth[i], 0, hDirAC->num_freq_bands ); - hDirAC->elevation[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->elevation[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->elevation[i], 0, hDirAC->num_freq_bands ); - hDirAC->diffuseness_vector[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->diffuseness_vector[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->diffuseness_vector[i], 1.0f, hDirAC->num_freq_bands ); - hDirAC->energy_ratio1[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->energy_ratio1[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->energy_ratio1[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->spreadCoherence[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->spreadCoherence[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->spreadCoherence[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->surroundingCoherence[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->surroundingCoherence[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->surroundingCoherence[i], 0.0f, hDirAC->num_freq_bands ); } if ( st_ivas->ivas_format == MASA_FORMAT ) { - hDirAC->azimuth2 = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->elevation2 = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->energy_ratio2 = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->spreadCoherence2 = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->azimuth2 = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->elevation2 = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->energy_ratio2 = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->spreadCoherence2 = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); for ( i = 0; i < hDirAC->dirac_md_buffer_length; i++ ) { - hDirAC->azimuth2[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->azimuth2[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->azimuth2[i], 0, hDirAC->num_freq_bands ); - hDirAC->elevation2[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->elevation2[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->elevation2[i], 0, hDirAC->num_freq_bands ); - hDirAC->energy_ratio2[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->energy_ratio2[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->energy_ratio2[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->spreadCoherence2[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->spreadCoherence2[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->spreadCoherence2[i], 0.0f, hDirAC->num_freq_bands ); } } @@ -867,7 +867,7 @@ void ivas_dirac_dec_close( /* Config & CLDFB */ if ( hDirAC->hConfig != NULL ) { - count_free( hDirAC->hConfig ); + free( hDirAC->hConfig ); hDirAC->hConfig = NULL; } @@ -885,32 +885,32 @@ void ivas_dirac_dec_close( /* free frequency axis buffer */ if ( hDirAC->frequency_axis != NULL ) { - count_free( hDirAC->frequency_axis ); + free( hDirAC->frequency_axis ); hDirAC->frequency_axis = NULL; } if ( hDirAC->diffuse_response_function != NULL ) { - count_free( hDirAC->diffuse_response_function ); + free( hDirAC->diffuse_response_function ); hDirAC->diffuse_response_function = NULL; } if ( hDirAC->hoa_encoder != NULL ) { - count_free( hDirAC->hoa_encoder ); + free( hDirAC->hoa_encoder ); hDirAC->hoa_encoder = NULL; } /* prototype indexing */ if ( hDirAC->proto_index_dir != NULL ) { - count_free( hDirAC->proto_index_dir ); + free( hDirAC->proto_index_dir ); hDirAC->proto_index_dir = NULL; } if ( hDirAC->proto_index_diff != NULL ) { - count_free( hDirAC->proto_index_diff ); + free( hDirAC->proto_index_diff ); hDirAC->proto_index_dir = NULL; } @@ -920,7 +920,7 @@ void ivas_dirac_dec_close( /* free prototype signal buffers */ if ( hDirAC->proto_frame_f != NULL ) { - count_free( hDirAC->proto_frame_f ); + free( hDirAC->proto_frame_f ); hDirAC->proto_frame_f = NULL; } @@ -930,7 +930,7 @@ void ivas_dirac_dec_close( { if ( hDirAC->buffer_intensity_real[i][j] != NULL ) { - count_free( hDirAC->buffer_intensity_real[i][j] ); + free( hDirAC->buffer_intensity_real[i][j] ); hDirAC->buffer_intensity_real[i][j] = NULL; } } @@ -940,34 +940,34 @@ void ivas_dirac_dec_close( { if ( hDirAC->azimuth[i] != NULL ) { - count_free( hDirAC->azimuth[i] ); + free( hDirAC->azimuth[i] ); hDirAC->azimuth[i] = NULL; } if ( hDirAC->elevation[i] != NULL ) { - count_free( hDirAC->elevation[i] ); + free( hDirAC->elevation[i] ); hDirAC->elevation[i] = NULL; } if ( hDirAC->diffuseness_vector[i] != NULL ) { - count_free( hDirAC->diffuseness_vector[i] ); + free( hDirAC->diffuseness_vector[i] ); hDirAC->diffuseness_vector[i] = NULL; } } if ( hDirAC->azimuth != NULL ) { - count_free( hDirAC->azimuth ); + free( hDirAC->azimuth ); hDirAC->azimuth = NULL; } if ( hDirAC->elevation != NULL ) { - count_free( hDirAC->elevation ); + free( hDirAC->elevation ); hDirAC->elevation = NULL; } if ( hDirAC->diffuseness_vector != NULL ) { - count_free( hDirAC->diffuseness_vector ); + free( hDirAC->diffuseness_vector ); hDirAC->diffuseness_vector = NULL; } @@ -977,11 +977,11 @@ void ivas_dirac_dec_close( { if ( hDirAC->azimuth2[i] != NULL ) { - count_free( hDirAC->azimuth2[i] ); + free( hDirAC->azimuth2[i] ); hDirAC->azimuth2[i] = NULL; } } - count_free( hDirAC->azimuth2 ); + free( hDirAC->azimuth2 ); hDirAC->azimuth2 = NULL; } @@ -991,11 +991,11 @@ void ivas_dirac_dec_close( { if ( hDirAC->elevation2[i] != NULL ) { - count_free( hDirAC->elevation2[i] ); + free( hDirAC->elevation2[i] ); hDirAC->elevation2[i] = NULL; } } - count_free( hDirAC->elevation2 ); + free( hDirAC->elevation2 ); hDirAC->elevation2 = NULL; } @@ -1005,11 +1005,11 @@ void ivas_dirac_dec_close( { if ( hDirAC->energy_ratio1[i] != NULL ) { - count_free( hDirAC->energy_ratio1[i] ); + free( hDirAC->energy_ratio1[i] ); hDirAC->energy_ratio1[i] = NULL; } } - count_free( hDirAC->energy_ratio1 ); + free( hDirAC->energy_ratio1 ); hDirAC->energy_ratio1 = NULL; } @@ -1019,11 +1019,11 @@ void ivas_dirac_dec_close( { if ( hDirAC->energy_ratio2[i] != NULL ) { - count_free( hDirAC->energy_ratio2[i] ); + free( hDirAC->energy_ratio2[i] ); hDirAC->energy_ratio2[i] = NULL; } } - count_free( hDirAC->energy_ratio2 ); + free( hDirAC->energy_ratio2 ); hDirAC->energy_ratio2 = NULL; } @@ -1033,11 +1033,11 @@ void ivas_dirac_dec_close( { if ( hDirAC->spreadCoherence[i] != NULL ) { - count_free( hDirAC->spreadCoherence[i] ); + free( hDirAC->spreadCoherence[i] ); hDirAC->spreadCoherence[i] = NULL; } } - count_free( hDirAC->spreadCoherence ); + free( hDirAC->spreadCoherence ); hDirAC->spreadCoherence = NULL; } @@ -1047,11 +1047,11 @@ void ivas_dirac_dec_close( { if ( hDirAC->spreadCoherence2[i] != NULL ) { - count_free( hDirAC->spreadCoherence2[i] ); + free( hDirAC->spreadCoherence2[i] ); hDirAC->spreadCoherence2[i] = NULL; } } - count_free( hDirAC->spreadCoherence2 ); + free( hDirAC->spreadCoherence2 ); hDirAC->spreadCoherence2 = NULL; } @@ -1061,23 +1061,23 @@ void ivas_dirac_dec_close( { if ( hDirAC->surroundingCoherence[i] != NULL ) { - count_free( hDirAC->surroundingCoherence[i] ); + free( hDirAC->surroundingCoherence[i] ); hDirAC->surroundingCoherence[i] = NULL; } } - count_free( hDirAC->surroundingCoherence ); + free( hDirAC->surroundingCoherence ); hDirAC->surroundingCoherence = NULL; } if ( hDirAC->masa_stereo_type_detect != NULL ) { - count_free( hDirAC->masa_stereo_type_detect ); + free( hDirAC->masa_stereo_type_detect ); hDirAC->masa_stereo_type_detect = NULL; } ivas_dirac_free_mem( &( hDirAC->stack_mem ) ); - count_free( hDirAC ); + free( hDirAC ); return; } diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index a9b3cea4a0..213108689f 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -98,7 +98,7 @@ ivas_error ivas_dirac_dec_init_binaural_data( float binCenterFreq, tmpFloat; ivas_error error; - if ( ( hBinaural = (DIRAC_DEC_BIN_HANDLE) count_malloc( sizeof( DIRAC_DEC_BIN_DATA ) ) ) == NULL ) + if ( ( hBinaural = (DIRAC_DEC_BIN_HANDLE) malloc( sizeof( DIRAC_DEC_BIN_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC binaural handle " ); } @@ -267,7 +267,7 @@ void ivas_dirac_dec_close_binaural_data( ivas_spar_td_decorr_dec_close( &( ( *hBinaural )->hTdDecorr ) ); - count_free( *hBinaural ); + free( *hBinaural ); *hBinaural = NULL; return; diff --git a/lib_dec/ivas_dirac_decorr_dec.c b/lib_dec/ivas_dirac_decorr_dec.c index e484042a3c..ab608bad61 100644 --- a/lib_dec/ivas_dirac_decorr_dec.c +++ b/lib_dec/ivas_dirac_decorr_dec.c @@ -101,8 +101,8 @@ void ivas_dirac_dec_decorr_open( *-----------------------------------------------------------------*/ /* allocate structs */ - freq_domain_decorr_ap_params = (DIRAC_DECORR_PARAMS *) count_malloc( sizeof( DIRAC_DECORR_PARAMS ) ); - freq_domain_decorr_ap_state = (DIRAC_DECORR_STATE *) count_malloc( sizeof( DIRAC_DECORR_STATE ) ); + freq_domain_decorr_ap_params = (DIRAC_DECORR_PARAMS *) malloc( sizeof( DIRAC_DECORR_PARAMS ) ); + freq_domain_decorr_ap_state = (DIRAC_DECORR_STATE *) malloc( sizeof( DIRAC_DECORR_STATE ) ); /*-----------------------------------------------------------------* * check input parameters @@ -215,7 +215,7 @@ void ivas_dirac_dec_decorr_open( } } - freq_domain_decorr_ap_params->split_frequency_bands = (int16_t *) count_malloc( sizeof( int16_t ) * ( freq_domain_decorr_ap_params->num_split_frequency_bands + 1 ) ); + freq_domain_decorr_ap_params->split_frequency_bands = (int16_t *) malloc( sizeof( int16_t ) * ( freq_domain_decorr_ap_params->num_split_frequency_bands + 1 ) ); mvs2s( &split_frequencies_bands[0], freq_domain_decorr_ap_params->split_frequency_bands, freq_domain_decorr_ap_params->num_split_frequency_bands + 1 ); /* calc buffer size and allocate arrays */ @@ -232,18 +232,18 @@ void ivas_dirac_dec_decorr_open( if ( num_outputs_diff > 0 ) { buffer_size_decorr = ( ap_pre_delay[split_band_index_start] + ap_filter_length[split_band_index_start] ); - freq_domain_decorr_ap_state->decorr_buffer = (float *) count_malloc( sizeof( float ) * 2 * buffer_size_decorr * num_outputs_diff * freq_domain_decorr_ap_params->max_band_decorr ); + freq_domain_decorr_ap_state->decorr_buffer = (float *) malloc( sizeof( float ) * 2 * buffer_size_decorr * num_outputs_diff * freq_domain_decorr_ap_params->max_band_decorr ); set_f( freq_domain_decorr_ap_state->decorr_buffer, 0.0f, 2 * buffer_size_decorr * num_outputs_diff * freq_domain_decorr_ap_params->max_band_decorr ); - freq_domain_decorr_ap_params->filter_coeff_num_real = (float *) count_malloc( sizeof( float ) * ( ap_filter_length[split_band_index_start] + 1 ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); - freq_domain_decorr_ap_params->filter_coeff_den_real = (float *) count_malloc( sizeof( float ) * ( ap_filter_length[split_band_index_start] + 1 ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); - freq_domain_decorr_ap_params->phase_coeff_real = (float *) count_malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); - freq_domain_decorr_ap_params->phase_coeff_imag = (float *) count_malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); - freq_domain_decorr_ap_state->direct_energy_smooth = (float *) count_malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); - freq_domain_decorr_ap_state->reverb_energy_smooth = (float *) count_malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); + freq_domain_decorr_ap_params->filter_coeff_num_real = (float *) malloc( sizeof( float ) * ( ap_filter_length[split_band_index_start] + 1 ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); + freq_domain_decorr_ap_params->filter_coeff_den_real = (float *) malloc( sizeof( float ) * ( ap_filter_length[split_band_index_start] + 1 ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); + freq_domain_decorr_ap_params->phase_coeff_real = (float *) malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); + freq_domain_decorr_ap_params->phase_coeff_imag = (float *) malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); + freq_domain_decorr_ap_state->direct_energy_smooth = (float *) malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); + freq_domain_decorr_ap_state->reverb_energy_smooth = (float *) malloc( sizeof( float ) * freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); - freq_domain_decorr_ap_params->pre_delay = (int16_t *) count_malloc( sizeof( int16_t ) * freq_domain_decorr_ap_params->num_split_frequency_bands ); - freq_domain_decorr_ap_params->filter_length = (int16_t *) count_malloc( sizeof( int16_t ) * freq_domain_decorr_ap_params->num_split_frequency_bands ); + freq_domain_decorr_ap_params->pre_delay = (int16_t *) malloc( sizeof( int16_t ) * freq_domain_decorr_ap_params->num_split_frequency_bands ); + freq_domain_decorr_ap_params->filter_length = (int16_t *) malloc( sizeof( int16_t ) * freq_domain_decorr_ap_params->num_split_frequency_bands ); set_f( freq_domain_decorr_ap_state->direct_energy_smooth, 0.0f, freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); set_f( freq_domain_decorr_ap_state->reverb_energy_smooth, 0.0f, freq_domain_decorr_ap_params->max_band_decorr * num_outputs_diff ); @@ -617,13 +617,13 @@ void ivas_dirac_dec_decorr_close( if ( dirac_onset_detection_state->onset_detector_1 != NULL ) { - count_free( dirac_onset_detection_state->onset_detector_1 ); + free( dirac_onset_detection_state->onset_detector_1 ); dirac_onset_detection_state->onset_detector_1 = NULL; } if ( dirac_onset_detection_state->onset_detector_2 != NULL ) { - count_free( dirac_onset_detection_state->onset_detector_2 ); + free( dirac_onset_detection_state->onset_detector_2 ); dirac_onset_detection_state->onset_detector_2 = NULL; } @@ -634,78 +634,78 @@ void ivas_dirac_dec_decorr_close( /* free decorrelation buffer */ if ( ( *ph_freq_domain_decorr_ap_state )->decorr_buffer != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_state )->decorr_buffer ); + free( ( *ph_freq_domain_decorr_ap_state )->decorr_buffer ); ( *ph_freq_domain_decorr_ap_state )->decorr_buffer = NULL; } /* free ducker smoothed direct energy buffer */ if ( ( *ph_freq_domain_decorr_ap_state )->direct_energy_smooth != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_state )->direct_energy_smooth ); + free( ( *ph_freq_domain_decorr_ap_state )->direct_energy_smooth ); ( *ph_freq_domain_decorr_ap_state )->direct_energy_smooth = NULL; } /* free ducker smoothed reverb energy buffer */ if ( ( *ph_freq_domain_decorr_ap_state )->reverb_energy_smooth != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_state )->reverb_energy_smooth ); + free( ( *ph_freq_domain_decorr_ap_state )->reverb_energy_smooth ); ( *ph_freq_domain_decorr_ap_state )->reverb_energy_smooth = NULL; } /* free pre-delay param buffer */ if ( ( *ph_freq_domain_decorr_ap_params )->pre_delay != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->pre_delay ); + free( ( *ph_freq_domain_decorr_ap_params )->pre_delay ); ( *ph_freq_domain_decorr_ap_params )->pre_delay = NULL; } /* free filter length param buffer */ if ( ( *ph_freq_domain_decorr_ap_params )->filter_length != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->filter_length ); + free( ( *ph_freq_domain_decorr_ap_params )->filter_length ); ( *ph_freq_domain_decorr_ap_params )->filter_length = NULL; } /* free filter coeff param buffers */ if ( ( *ph_freq_domain_decorr_ap_params )->filter_coeff_num_real != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->filter_coeff_num_real ); + free( ( *ph_freq_domain_decorr_ap_params )->filter_coeff_num_real ); ( *ph_freq_domain_decorr_ap_params )->filter_coeff_num_real = NULL; } /* free pre-delay param buffer */ if ( ( *ph_freq_domain_decorr_ap_params )->filter_coeff_den_real != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->filter_coeff_den_real ); + free( ( *ph_freq_domain_decorr_ap_params )->filter_coeff_den_real ); ( *ph_freq_domain_decorr_ap_params )->filter_coeff_den_real = NULL; } /* free pre-delay param buffer */ if ( ( *ph_freq_domain_decorr_ap_params )->phase_coeff_imag != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->phase_coeff_imag ); + free( ( *ph_freq_domain_decorr_ap_params )->phase_coeff_imag ); ( *ph_freq_domain_decorr_ap_params )->phase_coeff_imag = NULL; } /* free pre-delay param buffer */ if ( ( *ph_freq_domain_decorr_ap_params )->phase_coeff_real != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->phase_coeff_real ); + free( ( *ph_freq_domain_decorr_ap_params )->phase_coeff_real ); ( *ph_freq_domain_decorr_ap_params )->phase_coeff_real = NULL; } /* free pre-delay param buffer */ if ( ( *ph_freq_domain_decorr_ap_params )->split_frequency_bands != NULL ) { - count_free( ( *ph_freq_domain_decorr_ap_params )->split_frequency_bands ); + free( ( *ph_freq_domain_decorr_ap_params )->split_frequency_bands ); ( *ph_freq_domain_decorr_ap_params )->split_frequency_bands = NULL; } /* free pointers to state and parameter structs */ - count_free( *ph_freq_domain_decorr_ap_params ); + free( *ph_freq_domain_decorr_ap_params ); *ph_freq_domain_decorr_ap_params = NULL; - count_free( *ph_freq_domain_decorr_ap_state ); + free( *ph_freq_domain_decorr_ap_state ); *ph_freq_domain_decorr_ap_state = NULL; return; diff --git a/lib_dec/ivas_dirac_onsets_dec.c b/lib_dec/ivas_dirac_onsets_dec.c index 95e6c90217..08968b84fb 100644 --- a/lib_dec/ivas_dirac_onsets_dec.c +++ b/lib_dec/ivas_dirac_onsets_dec.c @@ -69,8 +69,8 @@ void ivas_dirac_dec_onset_detection_open( dirac_onset_detection_params->max_band_decorr = max_band_decorr; /* memory allocation */ - dirac_onset_detection_state->onset_detector_1 = (float *) count_malloc( sizeof( float ) * num_protos_diff * dirac_onset_detection_params->max_band_decorr ); - dirac_onset_detection_state->onset_detector_2 = (float *) count_malloc( sizeof( float ) * num_protos_diff * dirac_onset_detection_params->max_band_decorr ); + dirac_onset_detection_state->onset_detector_1 = (float *) malloc( sizeof( float ) * num_protos_diff * dirac_onset_detection_params->max_band_decorr ); + dirac_onset_detection_state->onset_detector_2 = (float *) malloc( sizeof( float ) * num_protos_diff * dirac_onset_detection_params->max_band_decorr ); /* init to zero */ set_zero( dirac_onset_detection_state->onset_detector_1, num_protos_diff * dirac_onset_detection_params->max_band_decorr ); diff --git a/lib_dec/ivas_dirac_output_synthesis_cov.c b/lib_dec/ivas_dirac_output_synthesis_cov.c index 1176e853e1..0557cca612 100644 --- a/lib_dec/ivas_dirac_output_synthesis_cov.c +++ b/lib_dec/ivas_dirac_output_synthesis_cov.c @@ -80,15 +80,15 @@ void ivas_dirac_dec_output_synthesis_cov_open( /* buffer length and interpolator */ h_dirac_output_synthesis_params->alpha_synthesis = NULL; - h_dirac_output_synthesis_params->proto_matrix = (float *) count_malloc( nchan_out * nchan_in * sizeof( float ) ); + h_dirac_output_synthesis_params->proto_matrix = (float *) malloc( nchan_out * nchan_in * sizeof( float ) ); /* cov buffers */ for ( idx = 0; idx < num_param_bands; idx++ ) { - h_dirac_output_synthesis_state->cx_old[idx] = (float *) count_malloc( nchan_in * nchan_in * sizeof( float ) ); - h_dirac_output_synthesis_state->cy_old[idx] = (float *) count_malloc( nchan_out * nchan_out * sizeof( float ) ); - h_dirac_output_synthesis_state->mixing_matrix_old[idx] = (float *) count_malloc( nchan_out * nchan_in * sizeof( float ) ); + h_dirac_output_synthesis_state->cx_old[idx] = (float *) malloc( nchan_in * nchan_in * sizeof( float ) ); + h_dirac_output_synthesis_state->cy_old[idx] = (float *) malloc( nchan_out * nchan_out * sizeof( float ) ); + h_dirac_output_synthesis_state->mixing_matrix_old[idx] = (float *) malloc( nchan_out * nchan_in * sizeof( float ) ); set_zero( h_dirac_output_synthesis_state->cx_old[idx], nchan_in * nchan_in ); set_zero( h_dirac_output_synthesis_state->cy_old[idx], nchan_out * nchan_out ); set_zero( h_dirac_output_synthesis_state->mixing_matrix_old[idx], nchan_out * nchan_in ); @@ -101,7 +101,7 @@ void ivas_dirac_dec_output_synthesis_cov_open( } for ( idx = 0; idx < num_param_bands_residual; idx++ ) { - h_dirac_output_synthesis_state->mixing_matrix_res_old[idx] = (float *) count_malloc( nchan_out * nchan_out * sizeof( float ) ); + h_dirac_output_synthesis_state->mixing_matrix_res_old[idx] = (float *) malloc( nchan_out * nchan_out * sizeof( float ) ); set_zero( h_dirac_output_synthesis_state->mixing_matrix_res_old[idx], nchan_out * nchan_out ); } for ( ; idx < CLDFB_NO_CHANNELS_MAX; idx++ ) @@ -114,7 +114,7 @@ void ivas_dirac_dec_output_synthesis_cov_open( *-----------------------------------------------------------------*/ /* compute interpolator */ - h_dirac_output_synthesis_params->interpolator = (float *) count_malloc( interp_length * sizeof( float ) ); + h_dirac_output_synthesis_params->interpolator = (float *) malloc( interp_length * sizeof( float ) ); for ( idx = 1; idx <= interp_length; ++idx ) { h_dirac_output_synthesis_params->interpolator[idx - 1] = (float) idx / (float) interp_length; @@ -181,21 +181,21 @@ void ivas_dirac_dec_output_synthesis_cov_close( /* free interpolator */ if ( h_dirac_output_synthesis_params->interpolator != NULL ) { - count_free( h_dirac_output_synthesis_params->interpolator ); + free( h_dirac_output_synthesis_params->interpolator ); h_dirac_output_synthesis_params->interpolator = NULL; } /* free alpha */ if ( h_dirac_output_synthesis_params->alpha_synthesis != NULL ) { - count_free( h_dirac_output_synthesis_params->alpha_synthesis ); + free( h_dirac_output_synthesis_params->alpha_synthesis ); h_dirac_output_synthesis_params->alpha_synthesis = NULL; } /* free proto_matrix */ if ( h_dirac_output_synthesis_params->proto_matrix != NULL ) { - count_free( h_dirac_output_synthesis_params->proto_matrix ); + free( h_dirac_output_synthesis_params->proto_matrix ); h_dirac_output_synthesis_params->proto_matrix = NULL; } @@ -204,25 +204,25 @@ void ivas_dirac_dec_output_synthesis_cov_close( { if ( h_dirac_output_synthesis_state->cx_old[idx] != NULL ) { - count_free( h_dirac_output_synthesis_state->cx_old[idx] ); + free( h_dirac_output_synthesis_state->cx_old[idx] ); h_dirac_output_synthesis_state->cx_old[idx] = NULL; } if ( h_dirac_output_synthesis_state->cy_old[idx] != NULL ) { - count_free( h_dirac_output_synthesis_state->cy_old[idx] ); + free( h_dirac_output_synthesis_state->cy_old[idx] ); h_dirac_output_synthesis_state->cy_old[idx] = NULL; } if ( h_dirac_output_synthesis_state->mixing_matrix_old[idx] != NULL ) { - count_free( h_dirac_output_synthesis_state->mixing_matrix_old[idx] ); + free( h_dirac_output_synthesis_state->mixing_matrix_old[idx] ); h_dirac_output_synthesis_state->mixing_matrix_old[idx] = NULL; } if ( h_dirac_output_synthesis_state->mixing_matrix_res_old[idx] != NULL ) { - count_free( h_dirac_output_synthesis_state->mixing_matrix_res_old[idx] ); + free( h_dirac_output_synthesis_state->mixing_matrix_res_old[idx] ); h_dirac_output_synthesis_state->mixing_matrix_res_old[idx] = NULL; } } diff --git a/lib_dec/ivas_dirac_output_synthesis_dec.c b/lib_dec/ivas_dirac_output_synthesis_dec.c index a8a1e035f5..cf4dbcb071 100644 --- a/lib_dec/ivas_dirac_output_synthesis_dec.c +++ b/lib_dec/ivas_dirac_output_synthesis_dec.c @@ -126,22 +126,22 @@ void ivas_dirac_dec_output_synthesis_open( dirac_output_synthesis_state->diffuse_responses_square = NULL; if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_MONO ) { - dirac_output_synthesis_state->diffuse_responses_square = (float *) count_malloc( 2 * sizeof( float ) ); + dirac_output_synthesis_state->diffuse_responses_square = (float *) malloc( 2 * sizeof( float ) ); } else if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) { - dirac_output_synthesis_state->diffuse_responses_square = (float *) count_malloc( hDirAC->hOutSetup.nchan_out_woLFE * sizeof( float ) ); + dirac_output_synthesis_state->diffuse_responses_square = (float *) malloc( hDirAC->hOutSetup.nchan_out_woLFE * sizeof( float ) ); } /* prototype power buffers */ dirac_output_synthesis_state->proto_power_smooth_prev = NULL; if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) { - dirac_output_synthesis_state->proto_power_smooth_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_protos_dir * sizeof( float ) ); + dirac_output_synthesis_state->proto_power_smooth_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_protos_dir * sizeof( float ) ); } if ( dirac_output_synthesis_params->max_band_decorr > 0 && ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_LS || hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD ) ) { - dirac_output_synthesis_state->proto_power_diff_smooth_prev = (float *) count_malloc( dirac_output_synthesis_params->max_band_decorr * hDirAC->hOutSetup.nchan_out_woLFE * sizeof( float ) ); + dirac_output_synthesis_state->proto_power_diff_smooth_prev = (float *) malloc( dirac_output_synthesis_params->max_band_decorr * hDirAC->hOutSetup.nchan_out_woLFE * sizeof( float ) ); } else { @@ -149,41 +149,41 @@ void ivas_dirac_dec_output_synthesis_open( } /* buffer length and interpolator */ - dirac_output_synthesis_params->interpolator = (float *) count_malloc( hDirAC->subframe_nbslots * sizeof( float ) ); + dirac_output_synthesis_params->interpolator = (float *) malloc( hDirAC->subframe_nbslots * sizeof( float ) ); /* target PSD buffers */ - dirac_output_synthesis_state->cy_cross_dir_smooth_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); + dirac_output_synthesis_state->cy_cross_dir_smooth_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) { dirac_output_synthesis_state->cy_auto_dir_smooth_prev = NULL; - dirac_output_synthesis_state->cy_auto_diff_smooth_prev = (float *) count_malloc( dirac_output_synthesis_params->max_band_decorr * hDirAC->num_outputs_diff * sizeof( float ) ); + dirac_output_synthesis_state->cy_auto_diff_smooth_prev = (float *) malloc( dirac_output_synthesis_params->max_band_decorr * hDirAC->num_outputs_diff * sizeof( float ) ); } else { - dirac_output_synthesis_state->cy_auto_dir_smooth_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); + dirac_output_synthesis_state->cy_auto_dir_smooth_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD ) { - dirac_output_synthesis_state->cy_auto_diff_smooth_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); + dirac_output_synthesis_state->cy_auto_diff_smooth_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); } else { - dirac_output_synthesis_state->cy_auto_diff_smooth_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_diff * sizeof( float ) ); + dirac_output_synthesis_state->cy_auto_diff_smooth_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_diff * sizeof( float ) ); } } /* direct and diffuse gain buffers */ - dirac_output_synthesis_state->gains_dir_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); + dirac_output_synthesis_state->gains_dir_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) { - dirac_output_synthesis_state->gains_diff_prev = (float *) count_malloc( dirac_output_synthesis_params->max_band_decorr * hDirAC->num_outputs_diff * sizeof( float ) ); + dirac_output_synthesis_state->gains_diff_prev = (float *) malloc( dirac_output_synthesis_params->max_band_decorr * hDirAC->num_outputs_diff * sizeof( float ) ); } else if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_PSD_SHD && hDirAC->synthesisConf != DIRAC_SYNTHESIS_MONO ) { - dirac_output_synthesis_state->gains_diff_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_diff * sizeof( float ) ); + dirac_output_synthesis_state->gains_diff_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_diff * sizeof( float ) ); } else { - dirac_output_synthesis_state->gains_diff_prev = (float *) count_malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); + dirac_output_synthesis_state->gains_diff_prev = (float *) malloc( hDirAC->num_freq_bands * hDirAC->num_outputs_dir * sizeof( float ) ); } /*-----------------------------------------------------------------* @@ -194,15 +194,15 @@ void ivas_dirac_dec_output_synthesis_open( if ( !( renderer_type == RENDERER_BINAURAL_PARAMETRIC || renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || hDirAC->synthesisConf == DIRAC_SYNTHESIS_GAIN_SHD ) ) { computeAlphaSynthesis( temp_alpha_synthesis, DIRAC_AVG_LENGTH_SYNTH_MS, DIRAC_ALPHA_MAX, &dirac_output_synthesis_params->numAlphas, hDirAC->slot_size, hDirAC->num_freq_bands, hDirAC->frequency_axis, output_Fs ); - dirac_output_synthesis_params->alpha_synthesis = (float *) count_malloc( dirac_output_synthesis_params->numAlphas * sizeof( float ) ); + dirac_output_synthesis_params->alpha_synthesis = (float *) malloc( dirac_output_synthesis_params->numAlphas * sizeof( float ) ); mvr2r( temp_alpha_synthesis, dirac_output_synthesis_params->alpha_synthesis, dirac_output_synthesis_params->numAlphas ); computeAlphaSynthesis( temp_alpha_synthesis, DIRAC_AVG_LENGTH_SYNTH_MS_FAST, DIRAC_ALPHA_MAX_FAST, &dirac_output_synthesis_params->numAlphasFast, hDirAC->slot_size, hDirAC->num_freq_bands, hDirAC->frequency_axis, output_Fs ); - dirac_output_synthesis_params->alpha_synthesis_fast = (float *) count_malloc( dirac_output_synthesis_params->numAlphasFast * sizeof( float ) ); + dirac_output_synthesis_params->alpha_synthesis_fast = (float *) malloc( dirac_output_synthesis_params->numAlphasFast * sizeof( float ) ); mvr2r( temp_alpha_synthesis, dirac_output_synthesis_params->alpha_synthesis_fast, dirac_output_synthesis_params->numAlphasFast ); - dirac_output_synthesis_state->reference_power_smooth_prev = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); - dirac_output_synthesis_state->direction_smoothness_prev = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + dirac_output_synthesis_state->reference_power_smooth_prev = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); + dirac_output_synthesis_state->direction_smoothness_prev = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_zero( dirac_output_synthesis_state->reference_power_smooth_prev, hDirAC->num_freq_bands ); set_zero( dirac_output_synthesis_state->direction_smoothness_prev, hDirAC->num_freq_bands ); } @@ -367,79 +367,79 @@ void ivas_dirac_dec_output_synthesis_close( /* free interpolator */ if ( ( dirac_output_synthesis_params )->interpolator != NULL ) { - count_free( ( dirac_output_synthesis_params )->interpolator ); + free( ( dirac_output_synthesis_params )->interpolator ); ( dirac_output_synthesis_params )->interpolator = NULL; } /* free alpha */ if ( ( dirac_output_synthesis_params )->alpha_synthesis != NULL ) { - count_free( ( dirac_output_synthesis_params )->alpha_synthesis ); + free( ( dirac_output_synthesis_params )->alpha_synthesis ); ( dirac_output_synthesis_params )->alpha_synthesis = NULL; } if ( ( dirac_output_synthesis_params )->alpha_synthesis_fast != NULL ) { - count_free( ( dirac_output_synthesis_params )->alpha_synthesis_fast ); + free( ( dirac_output_synthesis_params )->alpha_synthesis_fast ); ( dirac_output_synthesis_params )->alpha_synthesis_fast = NULL; } if ( ( dirac_output_synthesis_state )->reference_power_smooth_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->reference_power_smooth_prev ); + free( ( dirac_output_synthesis_state )->reference_power_smooth_prev ); ( dirac_output_synthesis_state )->reference_power_smooth_prev = NULL; } if ( ( dirac_output_synthesis_state )->direction_smoothness_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->direction_smoothness_prev ); + free( ( dirac_output_synthesis_state )->direction_smoothness_prev ); ( dirac_output_synthesis_state )->direction_smoothness_prev = NULL; } if ( ( dirac_output_synthesis_state )->diffuse_responses_square != NULL ) { - count_free( ( dirac_output_synthesis_state )->diffuse_responses_square ); + free( ( dirac_output_synthesis_state )->diffuse_responses_square ); ( dirac_output_synthesis_state )->diffuse_responses_square = NULL; } /* free power buffers */ if ( ( dirac_output_synthesis_state )->proto_power_smooth_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->proto_power_smooth_prev ); + free( ( dirac_output_synthesis_state )->proto_power_smooth_prev ); ( dirac_output_synthesis_state )->proto_power_smooth_prev = NULL; } if ( ( dirac_output_synthesis_state )->proto_power_diff_smooth_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->proto_power_diff_smooth_prev ); + free( ( dirac_output_synthesis_state )->proto_power_diff_smooth_prev ); ( dirac_output_synthesis_state )->proto_power_diff_smooth_prev = NULL; } /* free target power buffers */ if ( ( dirac_output_synthesis_state )->cy_auto_dir_smooth_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->cy_auto_dir_smooth_prev ); + free( ( dirac_output_synthesis_state )->cy_auto_dir_smooth_prev ); ( dirac_output_synthesis_state )->cy_auto_dir_smooth_prev = NULL; } if ( ( dirac_output_synthesis_state )->cy_cross_dir_smooth_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->cy_cross_dir_smooth_prev ); + free( ( dirac_output_synthesis_state )->cy_cross_dir_smooth_prev ); ( dirac_output_synthesis_state )->cy_cross_dir_smooth_prev = NULL; } if ( ( dirac_output_synthesis_state )->cy_auto_diff_smooth_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->cy_auto_diff_smooth_prev ); + free( ( dirac_output_synthesis_state )->cy_auto_diff_smooth_prev ); ( dirac_output_synthesis_state )->cy_auto_diff_smooth_prev = NULL; } /* free gain buffers */ if ( ( dirac_output_synthesis_state )->gains_dir_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->gains_dir_prev ); + free( ( dirac_output_synthesis_state )->gains_dir_prev ); ( dirac_output_synthesis_state )->gains_dir_prev = NULL; } if ( ( dirac_output_synthesis_state )->gains_diff_prev != NULL ) { - count_free( ( dirac_output_synthesis_state )->gains_diff_prev ); + free( ( dirac_output_synthesis_state )->gains_diff_prev ); ( dirac_output_synthesis_state )->gains_diff_prev = NULL; } diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 3d244cb4a7..601efc3b7d 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1126,7 +1126,7 @@ ivas_error ivas_init_decoder( if ( n > 0 ) { - if ( ( st_ivas->mem_hp20_out = (float **) count_malloc( n * sizeof( float * ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out = (float **) malloc( n * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -1138,7 +1138,7 @@ ivas_error ivas_init_decoder( for ( i = 0; i < n; i++ ) { - if ( ( st_ivas->mem_hp20_out[i] = (float *) count_malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out[i] = (float *) malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -1174,7 +1174,7 @@ ivas_error ivas_init_decoder( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { - if ( ( st_ivas->hCrend = (CREND_HANDLE) count_malloc( sizeof( CREND_DATA ) ) ) == NULL ) + if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); } @@ -1299,127 +1299,127 @@ void destroy_core_dec( if ( hCoreCoder->hGSCDec != NULL ) { - count_free( hCoreCoder->hGSCDec ); + free( hCoreCoder->hGSCDec ); hCoreCoder->hGSCDec = NULL; } if ( hCoreCoder->hPFstat != NULL ) { - count_free( hCoreCoder->hPFstat ); + free( hCoreCoder->hPFstat ); hCoreCoder->hPFstat = NULL; } if ( hCoreCoder->hMusicPF != NULL ) { - count_free( hCoreCoder->hMusicPF ); + free( hCoreCoder->hMusicPF ); hCoreCoder->hMusicPF = NULL; } if ( hCoreCoder->hBPF != NULL ) { - count_free( hCoreCoder->hBPF ); + free( hCoreCoder->hBPF ); hCoreCoder->hBPF = NULL; } if ( hCoreCoder->hBWE_zero != NULL ) { - count_free( hCoreCoder->hBWE_zero ); + free( hCoreCoder->hBWE_zero ); hCoreCoder->hBWE_zero = NULL; } if ( hCoreCoder->hTdCngDec != NULL ) { - count_free( hCoreCoder->hTdCngDec ); + free( hCoreCoder->hTdCngDec ); hCoreCoder->hTdCngDec = NULL; } if ( hCoreCoder->hSC_VBR != NULL ) { - count_free( hCoreCoder->hSC_VBR ); + free( hCoreCoder->hSC_VBR ); hCoreCoder->hSC_VBR = NULL; } if ( hCoreCoder->hAmrwb_IO != NULL ) { - count_free( hCoreCoder->hAmrwb_IO ); + free( hCoreCoder->hAmrwb_IO ); hCoreCoder->hAmrwb_IO = NULL; } if ( hCoreCoder->hBWE_TD != NULL ) { - count_free( hCoreCoder->hBWE_TD ); + free( hCoreCoder->hBWE_TD ); hCoreCoder->hBWE_TD = NULL; } if ( hCoreCoder->hBWE_FD != NULL ) { - count_free( hCoreCoder->hBWE_FD ); + free( hCoreCoder->hBWE_FD ); hCoreCoder->hBWE_FD = NULL; } if ( hCoreCoder->hBWE_FD_HR != NULL ) { - count_free( hCoreCoder->hBWE_FD_HR ); + free( hCoreCoder->hBWE_FD_HR ); hCoreCoder->hBWE_FD_HR = NULL; } if ( hCoreCoder->hWIDec != NULL ) { - count_free( hCoreCoder->hWIDec ); + free( hCoreCoder->hWIDec ); hCoreCoder->hWIDec = NULL; } if ( hCoreCoder->hTECDec != NULL ) { - count_free( hCoreCoder->hTECDec ); + free( hCoreCoder->hTECDec ); hCoreCoder->hTECDec = NULL; } if ( hCoreCoder->hTcxLtpDec != NULL ) { - count_free( hCoreCoder->hTcxLtpDec ); + free( hCoreCoder->hTcxLtpDec ); hCoreCoder->hTcxLtpDec = NULL; } if ( hCoreCoder->hTcxDec != NULL ) { - count_free( hCoreCoder->hTcxDec ); + free( hCoreCoder->hTcxDec ); hCoreCoder->hTcxDec = NULL; } if ( hCoreCoder->hTcxCfg != NULL && hCoreCoder->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - count_free( hCoreCoder->hTcxCfg ); + free( hCoreCoder->hTcxCfg ); hCoreCoder->hTcxCfg = NULL; } if ( hCoreCoder->hTonalMDCTConc != NULL ) { - count_free( hCoreCoder->hTonalMDCTConc ); + free( hCoreCoder->hTonalMDCTConc ); hCoreCoder->hTonalMDCTConc = NULL; } if ( hCoreCoder->hIGFDec != NULL ) { - count_free( hCoreCoder->hIGFDec ); + free( hCoreCoder->hIGFDec ); hCoreCoder->hIGFDec = NULL; } if ( hCoreCoder->hPlcInfo != NULL ) { - count_free( hCoreCoder->hPlcInfo ); + free( hCoreCoder->hPlcInfo ); hCoreCoder->hPlcInfo = NULL; } if ( hCoreCoder->hHQ_core != NULL ) { - count_free( hCoreCoder->hHQ_core ); + free( hCoreCoder->hHQ_core ); hCoreCoder->hHQ_core = NULL; } if ( hCoreCoder->hHQ_nbfec != NULL ) { - count_free( hCoreCoder->hHQ_nbfec ); + free( hCoreCoder->hHQ_nbfec ); hCoreCoder->hHQ_nbfec = NULL; } @@ -1571,10 +1571,10 @@ void ivas_destroy_dec( { for ( i = 0; i < getNumChanSynthesis( st_ivas ); i++ ) { - count_free( st_ivas->mem_hp20_out[i] ); + free( st_ivas->mem_hp20_out[i] ); st_ivas->mem_hp20_out[i] = NULL; } - count_free( st_ivas->mem_hp20_out ); + free( st_ivas->mem_hp20_out ); st_ivas->mem_hp20_out = NULL; } @@ -1583,7 +1583,7 @@ void ivas_destroy_dec( { if ( st_ivas->hIsmMetaData[n] != NULL ) { - count_free( st_ivas->hIsmMetaData[n] ); + free( st_ivas->hIsmMetaData[n] ); st_ivas->hIsmMetaData[n] = NULL; } } @@ -1591,7 +1591,7 @@ void ivas_destroy_dec( /* ISm renderer handle */ if ( st_ivas->hIsmRendererData != NULL ) { - count_free( st_ivas->hIsmRendererData ); + free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } @@ -1619,7 +1619,7 @@ void ivas_destroy_dec( /* HOA decoder matrix */ if ( st_ivas->hoa_dec_mtx != NULL ) { - count_free( st_ivas->hoa_dec_mtx ); + free( st_ivas->hoa_dec_mtx ); st_ivas->hoa_dec_mtx = NULL; } @@ -1653,7 +1653,7 @@ void ivas_destroy_dec( /* Custom LS configuration handle */ if ( st_ivas->hLsSetupCustom != NULL ) { - count_free( st_ivas->hLsSetupCustom ); + free( st_ivas->hLsSetupCustom ); st_ivas->hLsSetupCustom = NULL; } @@ -1667,14 +1667,14 @@ void ivas_destroy_dec( /* Downmix structure */ if ( st_ivas->hMonoDmxRenderer != NULL ) { - count_free( st_ivas->hMonoDmxRenderer ); + free( st_ivas->hMonoDmxRenderer ); st_ivas->hMonoDmxRenderer = NULL; } /* Head track data handle */ if ( st_ivas->hHeadTrackData != NULL ) { - count_free( st_ivas->hHeadTrackData ); + free( st_ivas->hHeadTrackData ); st_ivas->hHeadTrackData = NULL; } @@ -1704,12 +1704,12 @@ void ivas_destroy_dec( if ( st_ivas->hDecoderConfig != NULL ) { - count_free( st_ivas->hDecoderConfig ); + free( st_ivas->hDecoderConfig ); st_ivas->hDecoderConfig = NULL; } /* main IVAS handle */ - count_free( st_ivas ); + free( st_ivas ); return; } diff --git a/lib_dec/ivas_ism_metadata_dec.c b/lib_dec/ivas_ism_metadata_dec.c index 50f5cbb2a2..7a5731a286 100644 --- a/lib_dec/ivas_ism_metadata_dec.c +++ b/lib_dec/ivas_ism_metadata_dec.c @@ -522,7 +522,7 @@ ivas_error create_ism_metadata_dec( /* allocate ISm metadata handles */ for ( ch = 0; ch < MAX_NUM_OBJECTS; ch++ ) { - if ( ( st_ivas->hIsmMetaData[ch] = (ISM_METADATA_HANDLE) count_malloc( sizeof( ISM_METADATA_FRAME ) ) ) == NULL ) + if ( ( st_ivas->hIsmMetaData[ch] = (ISM_METADATA_HANDLE) malloc( sizeof( ISM_METADATA_FRAME ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISm MetaData\n" ) ); } diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 81ebf28a73..c9e8135375 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -326,11 +326,11 @@ static ivas_error ivas_param_ism_rendering_init( } /* memory allocation for proto matrix and interpolator */ - if ( ( hParamIsmRendering->proto_matrix = (float *) count_malloc( hOutSetup.nchan_out_woLFE * nchan_transport * sizeof( float ) ) ) == NULL ) + if ( ( hParamIsmRendering->proto_matrix = (float *) malloc( hOutSetup.nchan_out_woLFE * nchan_transport * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for proto matrix\n" ) ); } - if ( ( hParamIsmRendering->interpolator = (float *) count_malloc( subframe_nbslots * sizeof( float ) ) ) == NULL ) + if ( ( hParamIsmRendering->interpolator = (float *) malloc( subframe_nbslots * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for interpolator\n" ) ); } @@ -404,18 +404,18 @@ ivas_error ivas_param_ism_dec_open( * prepare library opening *-----------------------------------------------------------------*/ - if ( ( hDirAC = (DIRAC_DEC_HANDLE) count_malloc( sizeof( DIRAC_DEC_DATA ) ) ) == NULL ) + if ( ( hDirAC = (DIRAC_DEC_HANDLE) malloc( sizeof( DIRAC_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } /* Assign memory to Param Object handle */ - if ( ( hDirAC->hParamIsm = (PARAM_ISM_CONFIG_HANDLE) count_malloc( sizeof( PARAM_ISM_CONFIG_DATA ) ) ) == NULL ) + if ( ( hDirAC->hParamIsm = (PARAM_ISM_CONFIG_HANDLE) malloc( sizeof( PARAM_ISM_CONFIG_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Param ISM\n" ) ); } - if ( ( hDirAC->hParamIsmRendering = (PARAM_ISM_RENDERING_HANDLE) count_malloc( sizeof( PARAM_ISM_RENDERING_DATA ) ) ) == NULL ) + if ( ( hDirAC->hParamIsmRendering = (PARAM_ISM_RENDERING_HANDLE) malloc( sizeof( PARAM_ISM_RENDERING_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Param ISM Rendering handle\n" ) ); } @@ -500,34 +500,34 @@ ivas_error ivas_param_ism_dec_open( if ( ( output_config == AUDIO_CONFIG_BINAURAL || output_config == AUDIO_CONFIG_BINAURAL_ROOM ) ) { hDirAC->dirac_md_buffer_length = MAX_PARAM_SPATIAL_SUBFRAMES; - hDirAC->azimuth = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->elevation = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->azimuth2 = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->elevation2 = (int16_t **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); - hDirAC->energy_ratio1 = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->spreadCoherence = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->energy_ratio2 = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->spreadCoherence2 = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); - hDirAC->surroundingCoherence = (float **) count_malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->azimuth = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->elevation = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->azimuth2 = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->elevation2 = (int16_t **) malloc( hDirAC->dirac_md_buffer_length * sizeof( int16_t * ) ); + hDirAC->energy_ratio1 = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->spreadCoherence = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->energy_ratio2 = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->spreadCoherence2 = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); + hDirAC->surroundingCoherence = (float **) malloc( hDirAC->dirac_md_buffer_length * sizeof( float * ) ); for ( i = 0; i < hDirAC->dirac_md_buffer_length; i++ ) { - hDirAC->azimuth[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->azimuth[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->azimuth[i], 0, hDirAC->num_freq_bands ); - hDirAC->elevation[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->elevation[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->elevation[i], 0, hDirAC->num_freq_bands ); - hDirAC->azimuth2[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->azimuth2[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->azimuth2[i], 0, hDirAC->num_freq_bands ); - hDirAC->elevation2[i] = (int16_t *) count_malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); + hDirAC->elevation2[i] = (int16_t *) malloc( hDirAC->num_freq_bands * sizeof( int16_t ) ); set_s( hDirAC->elevation2[i], 0, hDirAC->num_freq_bands ); - hDirAC->energy_ratio1[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->energy_ratio1[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->energy_ratio1[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->spreadCoherence[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->spreadCoherence[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->spreadCoherence[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->energy_ratio2[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->energy_ratio2[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->energy_ratio2[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->spreadCoherence2[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->spreadCoherence2[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->spreadCoherence2[i], 0.0f, hDirAC->num_freq_bands ); - hDirAC->surroundingCoherence[i] = (float *) count_malloc( hDirAC->num_freq_bands * sizeof( float ) ); + hDirAC->surroundingCoherence[i] = (float *) malloc( hDirAC->num_freq_bands * sizeof( float ) ); set_f( hDirAC->surroundingCoherence[i], 0.0f, hDirAC->num_freq_bands ); } } @@ -555,7 +555,7 @@ void ivas_param_ism_dec_close( /* Config & CLDFB */ if ( hDirAC->hParamIsm != NULL ) { - count_free( hDirAC->hParamIsm ); + free( hDirAC->hParamIsm ); hDirAC->hParamIsm = NULL; } @@ -565,25 +565,25 @@ void ivas_param_ism_dec_close( { if ( hDirAC->azimuth[i] != NULL ) { - count_free( hDirAC->azimuth[i] ); + free( hDirAC->azimuth[i] ); hDirAC->azimuth[i] = NULL; } if ( hDirAC->elevation[i] != NULL ) { - count_free( hDirAC->elevation[i] ); + free( hDirAC->elevation[i] ); hDirAC->elevation[i] = NULL; } } if ( hDirAC->azimuth != NULL ) { - count_free( hDirAC->azimuth ); + free( hDirAC->azimuth ); hDirAC->azimuth = NULL; } if ( hDirAC->elevation != NULL ) { - count_free( hDirAC->elevation ); + free( hDirAC->elevation ); hDirAC->elevation = NULL; } @@ -593,11 +593,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->azimuth2[i] != NULL ) { - count_free( hDirAC->azimuth2[i] ); + free( hDirAC->azimuth2[i] ); hDirAC->azimuth2[i] = NULL; } } - count_free( hDirAC->azimuth2 ); + free( hDirAC->azimuth2 ); hDirAC->azimuth2 = NULL; } @@ -607,11 +607,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->elevation2[i] != NULL ) { - count_free( hDirAC->elevation2[i] ); + free( hDirAC->elevation2[i] ); hDirAC->elevation2[i] = NULL; } } - count_free( hDirAC->elevation2 ); + free( hDirAC->elevation2 ); hDirAC->elevation2 = NULL; } @@ -621,11 +621,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->energy_ratio1[i] != NULL ) { - count_free( hDirAC->energy_ratio1[i] ); + free( hDirAC->energy_ratio1[i] ); hDirAC->energy_ratio1[i] = NULL; } } - count_free( hDirAC->energy_ratio1 ); + free( hDirAC->energy_ratio1 ); hDirAC->energy_ratio1 = NULL; } @@ -635,11 +635,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->energy_ratio2[i] != NULL ) { - count_free( hDirAC->energy_ratio2[i] ); + free( hDirAC->energy_ratio2[i] ); hDirAC->energy_ratio2[i] = NULL; } } - count_free( hDirAC->energy_ratio2 ); + free( hDirAC->energy_ratio2 ); hDirAC->energy_ratio2 = NULL; } @@ -649,11 +649,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->spreadCoherence[i] != NULL ) { - count_free( hDirAC->spreadCoherence[i] ); + free( hDirAC->spreadCoherence[i] ); hDirAC->spreadCoherence[i] = NULL; } } - count_free( hDirAC->spreadCoherence ); + free( hDirAC->spreadCoherence ); hDirAC->spreadCoherence = NULL; } @@ -663,11 +663,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->spreadCoherence2[i] != NULL ) { - count_free( hDirAC->spreadCoherence2[i] ); + free( hDirAC->spreadCoherence2[i] ); hDirAC->spreadCoherence2[i] = NULL; } } - count_free( hDirAC->spreadCoherence2 ); + free( hDirAC->spreadCoherence2 ); hDirAC->spreadCoherence2 = NULL; } @@ -677,11 +677,11 @@ void ivas_param_ism_dec_close( { if ( hDirAC->surroundingCoherence[i] != NULL ) { - count_free( hDirAC->surroundingCoherence[i] ); + free( hDirAC->surroundingCoherence[i] ); hDirAC->surroundingCoherence[i] = NULL; } } - count_free( hDirAC->surroundingCoherence ); + free( hDirAC->surroundingCoherence ); hDirAC->surroundingCoherence = NULL; } } @@ -691,23 +691,23 @@ void ivas_param_ism_dec_close( /* Param ISM Rendering */ if ( hDirAC->hParamIsmRendering->interpolator != NULL ) { - count_free( hDirAC->hParamIsmRendering->interpolator ); + free( hDirAC->hParamIsmRendering->interpolator ); hDirAC->hParamIsmRendering->interpolator = NULL; } if ( hDirAC->hParamIsmRendering->proto_matrix != NULL ) { - count_free( hDirAC->hParamIsmRendering->proto_matrix ); + free( hDirAC->hParamIsmRendering->proto_matrix ); hDirAC->hParamIsmRendering->proto_matrix = NULL; } } if ( hDirAC->hParamIsmRendering != NULL ) { - count_free( hDirAC->hParamIsmRendering ); + free( hDirAC->hParamIsmRendering ); hDirAC->hParamIsmRendering = NULL; } - count_free( hDirAC ); + free( hDirAC ); return; } @@ -1069,7 +1069,7 @@ static ivas_error ivas_ism_bitrate_switching( /* close the ISM renderer and reinitialize */ if ( st_ivas->hIsmRendererData != NULL ) { - count_free( st_ivas->hIsmRendererData ); + free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } ivas_ism_renderer_open( st_ivas ); @@ -1113,7 +1113,7 @@ static ivas_error ivas_ism_bitrate_switching( /* Close the ISM renderer */ if ( st_ivas->hIsmRendererData != NULL ) { - count_free( st_ivas->hIsmRendererData ); + free( st_ivas->hIsmRendererData ); st_ivas->hIsmRendererData = NULL; } } diff --git a/lib_dec/ivas_ism_renderer.c b/lib_dec/ivas_ism_renderer.c index c671c7fd3e..d0b4297846 100644 --- a/lib_dec/ivas_ism_renderer.c +++ b/lib_dec/ivas_ism_renderer.c @@ -61,7 +61,7 @@ ivas_error ivas_ism_renderer_open( error = IVAS_ERR_OK; - if ( ( st_ivas->hIsmRendererData = (ISM_RENDERER_HANDLE) count_malloc( sizeof( ISM_RENDERER_DATA ) ) ) == NULL ) + if ( ( st_ivas->hIsmRendererData = (ISM_RENDERER_HANDLE) malloc( sizeof( ISM_RENDERER_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISM renderer\n" ) ); } diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index 066cd968f1..688fb0da9a 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -371,7 +371,7 @@ ivas_error ivas_create_lfe_dec( * Allocate LFE handle *-----------------------------------------------------------------*/ - if ( ( hLFE = (LFE_DEC_HANDLE) count_malloc( sizeof( LFE_DEC_DATA ) ) ) == NULL ) + if ( ( hLFE = (LFE_DEC_HANDLE) malloc( sizeof( LFE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LFE\n" ) ); } @@ -380,7 +380,7 @@ ivas_error ivas_create_lfe_dec( * LFE Window: allocate and initialize *-----------------------------------------------------------------*/ - if ( ( hLFE->pWindow_state = (LFE_WINDOW_HANDLE) count_malloc( sizeof( LFE_WINDOW_DATA ) ) ) == NULL ) + if ( ( hLFE->pWindow_state = (LFE_WINDOW_HANDLE) malloc( sizeof( LFE_WINDOW_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LFE window structure\n" ) ); } @@ -441,7 +441,7 @@ ivas_error ivas_create_lfe_dec( if ( hLFE->lfe_addl_delay > 0 ) { - if ( ( hLFE->lfe_delay_buf = (float *) count_malloc( hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) + if ( ( hLFE->lfe_delay_buf = (float *) malloc( hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LFE additional delay buffer\n" ) ); } @@ -478,16 +478,16 @@ void ivas_lfe_dec_close( LFE_DEC_HANDLE hLFE /* i/o: LFE decoder handle */ ) { - count_free( hLFE->pWindow_state ); + free( hLFE->pWindow_state ); hLFE->pWindow_state = NULL; if ( hLFE->lfe_delay_buf != NULL ) { - count_free( hLFE->lfe_delay_buf ); + free( hLFE->lfe_delay_buf ); hLFE->lfe_delay_buf = NULL; } - count_free( hLFE ); + free( hLFE ); return; } diff --git a/lib_dec/ivas_masa_dec.c b/lib_dec/ivas_masa_dec.c index 5e263a91d1..d04505baef 100644 --- a/lib_dec/ivas_masa_dec.c +++ b/lib_dec/ivas_masa_dec.c @@ -322,7 +322,7 @@ ivas_error ivas_masa_dec_open( { MASA_DECODER_HANDLE hMasa; - if ( ( hMasa = (MASA_DECODER_HANDLE) count_malloc( sizeof( MASA_DECODER ) ) ) == NULL ) + if ( ( hMasa = (MASA_DECODER_HANDLE) malloc( sizeof( MASA_DECODER ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MASA decoder\n" ) ); } @@ -337,7 +337,7 @@ ivas_error ivas_masa_dec_open( /* Create spherical grid only for external output */ if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_EXTERNAL ) { - hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) count_malloc( sizeof( SPHERICAL_GRID_DATA ) ); + hMasa->data.sph_grid16 = (SPHERICAL_GRID_DATA *) malloc( sizeof( SPHERICAL_GRID_DATA ) ); generate_gridEq( hMasa->data.sph_grid16 ); } else @@ -373,7 +373,7 @@ void ivas_masa_dec_close( /* Free spherical grid memory if in use */ if ( hMasa->data.sph_grid16 != NULL ) { - count_free( hMasa->data.sph_grid16 ); + free( hMasa->data.sph_grid16 ); hMasa->data.sph_grid16 = NULL; } @@ -381,29 +381,29 @@ void ivas_masa_dec_close( { if ( hMasa->hMasaLfeSynth->lfeSynthRingBuffer != NULL ) { - count_free( hMasa->hMasaLfeSynth->lfeSynthRingBuffer ); + free( hMasa->hMasaLfeSynth->lfeSynthRingBuffer ); hMasa->hMasaLfeSynth->lfeSynthRingBuffer = NULL; } if ( hMasa->hMasaLfeSynth->lfeSynthRingBuffer2 != NULL ) { - count_free( hMasa->hMasaLfeSynth->lfeSynthRingBuffer2 ); + free( hMasa->hMasaLfeSynth->lfeSynthRingBuffer2 ); hMasa->hMasaLfeSynth->lfeSynthRingBuffer2 = NULL; } if ( hMasa->hMasaLfeSynth->delayBuffer_syncLp != NULL ) { - count_free( hMasa->hMasaLfeSynth->delayBuffer_syncLp ); + free( hMasa->hMasaLfeSynth->delayBuffer_syncLp ); hMasa->hMasaLfeSynth->delayBuffer_syncLp = NULL; } if ( hMasa->hMasaLfeSynth->delayBuffer_syncDirAC != NULL ) { - count_free( hMasa->hMasaLfeSynth->delayBuffer_syncDirAC ); + free( hMasa->hMasaLfeSynth->delayBuffer_syncDirAC ); hMasa->hMasaLfeSynth->delayBuffer_syncDirAC = NULL; } - count_free( hMasa->hMasaLfeSynth ); + free( hMasa->hMasaLfeSynth ); hMasa->hMasaLfeSynth = NULL; } - count_free( hMasa ); + free( hMasa ); hMasa = NULL; return; @@ -803,7 +803,7 @@ static void init_lfe_synth_data( output_Fs = st_ivas->hDecoderConfig->output_Fs; output_config = st_ivas->hDecoderConfig->output_config; - hMasa->hMasaLfeSynth = (MCMASA_LFE_SYNTH_DATA_HANDLE) count_malloc( sizeof( MCMASA_LFE_SYNTH_DATA ) ); + hMasa->hMasaLfeSynth = (MCMASA_LFE_SYNTH_DATA_HANDLE) malloc( sizeof( MCMASA_LFE_SYNTH_DATA ) ); hMasa->hMasaLfeSynth->transportEneSmooth = 0.0f; hMasa->hMasaLfeSynth->protoLfeEneSmooth = 0.0f; @@ -827,7 +827,7 @@ static void init_lfe_synth_data( /* Ring buffer for the filterbank of the LFE synthesis. * The filterbank is using moving average lowpass filter with the crossover of 120 Hz. */ bufferSize = (int16_t) ( ( output_Fs / FRAMES_PER_SEC ) / MAX_PARAM_SPATIAL_SUBFRAMES ); - hMasa->hMasaLfeSynth->lfeSynthRingBuffer = (float *) count_malloc( bufferSize * sizeof( float ) ); + hMasa->hMasaLfeSynth->lfeSynthRingBuffer = (float *) malloc( bufferSize * sizeof( float ) ); set_zero( hMasa->hMasaLfeSynth->lfeSynthRingBuffer, bufferSize ); hMasa->hMasaLfeSynth->ringBufferLoPointer = 0; hMasa->hMasaLfeSynth->ringBufferHiPointer = bufferSize / 2; @@ -837,7 +837,7 @@ static void init_lfe_synth_data( /* Ring buffer for additional lowpass filter for the LFE signal. * Moving average lowpass filter with the crossover of 240 Hz. */ bufferSize /= 2; - hMasa->hMasaLfeSynth->lfeSynthRingBuffer2 = (float *) count_malloc( bufferSize * sizeof( float ) ); + hMasa->hMasaLfeSynth->lfeSynthRingBuffer2 = (float *) malloc( bufferSize * sizeof( float ) ); set_zero( hMasa->hMasaLfeSynth->lfeSynthRingBuffer2, bufferSize ); hMasa->hMasaLfeSynth->ringBufferLoPointer2 = 0; hMasa->hMasaLfeSynth->lowpassSum2 = 0.0f; @@ -845,13 +845,13 @@ static void init_lfe_synth_data( /* Delay buffer for matching the delay of the lowpass filter */ bufferSize /= 2; /* The delay of the moving average lowpass filter is bufferSize / 2 */ - hMasa->hMasaLfeSynth->delayBuffer_syncLp = (float *) count_malloc( bufferSize * sizeof( float ) ); + hMasa->hMasaLfeSynth->delayBuffer_syncLp = (float *) malloc( bufferSize * sizeof( float ) ); set_zero( hMasa->hMasaLfeSynth->delayBuffer_syncLp, bufferSize ); hMasa->hMasaLfeSynth->delayBuffer_syncLp_size = bufferSize; /* Delay buffer for syncing with DirAC rendering */ bufferSize = NS2SA( output_Fs, IVAS_FB_DEC_DELAY_NS ) - hMasa->hMasaLfeSynth->ringBufferSize / 2 - hMasa->hMasaLfeSynth->ringBufferSize2 / 2; - hMasa->hMasaLfeSynth->delayBuffer_syncDirAC = (float *) count_malloc( bufferSize * sizeof( float ) ); + hMasa->hMasaLfeSynth->delayBuffer_syncDirAC = (float *) malloc( bufferSize * sizeof( float ) ); set_zero( hMasa->hMasaLfeSynth->delayBuffer_syncDirAC, bufferSize ); hMasa->hMasaLfeSynth->delayBuffer_syncDirAC_size = bufferSize; @@ -870,7 +870,7 @@ static void init_lfe_synth_data( /* Delay buffer for syncing with DirAC rendering */ bufferSize = NS2SA( output_Fs, IVAS_FB_DEC_DELAY_NS ); - hMasa->hMasaLfeSynth->delayBuffer_syncDirAC = (float *) count_malloc( bufferSize * sizeof( float ) ); + hMasa->hMasaLfeSynth->delayBuffer_syncDirAC = (float *) malloc( bufferSize * sizeof( float ) ); set_zero( hMasa->hMasaLfeSynth->delayBuffer_syncDirAC, bufferSize ); hMasa->hMasaLfeSynth->delayBuffer_syncDirAC_size = bufferSize; diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 0d426078e9..5e0055a5cd 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -120,12 +120,12 @@ ivas_error ivas_param_mc_dec_open( * prepare library opening *-----------------------------------------------------------------*/ - if ( ( hParamMC = (PARAM_MC_DEC_HANDLE) count_malloc( sizeof( PARAM_MC_DEC_DATA ) ) ) == NULL ) + if ( ( hParamMC = (PARAM_MC_DEC_HANDLE) malloc( sizeof( PARAM_MC_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Parametric MC\n" ) ); } - if ( ( hParamMC->hMetadataPMC = (HANDLE_IVAS_PARAM_MC_METADATA) count_malloc( sizeof( IVAS_PARAM_MC_METADATA ) ) ) == NULL ) + if ( ( hParamMC->hMetadataPMC = (HANDLE_IVAS_PARAM_MC_METADATA) malloc( sizeof( IVAS_PARAM_MC_METADATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Parametric MC metadata \n" ) ); } @@ -216,8 +216,8 @@ ivas_error ivas_param_mc_dec_open( ivas_param_mc_metadata_open( mc_ls_setup, hTransportSetup.index_lfe[0], ivas_total_brate, hParamMC->hMetadataPMC ); /* init arrays for quantized parameters */ - hParamMC->icc_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ); - hParamMC->icld_q = (float *) count_malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe * sizeof( float ) ); + hParamMC->icc_q = (float *) malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe * sizeof( float ) ); + hParamMC->icld_q = (float *) malloc( hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe * sizeof( float ) ); set_f( hParamMC->icld_q, PARAM_MC_DEFAULT_MIN_ILD, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe ); set_f( hParamMC->icc_q, 0.0f, hParamMC->hMetadataPMC->num_parameter_bands * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe ); @@ -266,7 +266,7 @@ ivas_error ivas_param_mc_dec_open( /* convert the ls conv dmx matrix into column order matrix format (nchan_out_cldfb x nchan_out) */ if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { - hParamMC->ls_conv_dmx_matrix = (float *) count_malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); + hParamMC->ls_conv_dmx_matrix = (float *) malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); for ( k = 0; k < nchan_out_transport; k++ ) { mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); @@ -288,7 +288,7 @@ ivas_error ivas_param_mc_dec_open( } } - hParamMC->proto_matrix_int = (float *) count_malloc( nchan_out_transport * nchan_transport * sizeof( float ) ); + hParamMC->proto_matrix_int = (float *) malloc( nchan_out_transport * nchan_transport * sizeof( float ) ); mvr2r( ivas_param_mc_conf[config_index].dmx_fac, hParamMC->proto_matrix_int, nchan_transport * nchan_out_transport ); if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_LS_CONV_COV || hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) @@ -333,7 +333,7 @@ ivas_error ivas_param_mc_dec_open( else { hParamMC->num_outputs_diff = nchan_out_cov; - hParamMC->diff_proto_info = (PARAM_MC_DIFF_PROTO_INFO *) count_malloc( sizeof( PARAM_MC_DIFF_PROTO_INFO ) ); + hParamMC->diff_proto_info = (PARAM_MC_DIFF_PROTO_INFO *) malloc( sizeof( PARAM_MC_DIFF_PROTO_INFO ) ); param_mc_get_diff_proto_info( proto_matrix, nchan_transport, nchan_out_cov, hParamMC->diff_proto_info ); @@ -384,7 +384,7 @@ ivas_error ivas_param_mc_dec_open( /* Head rotation */ if ( ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) && st_ivas->hDecoderConfig->Opt_Headrotation ) { - hParamMC->hoa_encoder = (float *) count_malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( float ) ); + hParamMC->hoa_encoder = (float *) malloc( st_ivas->hTransSetup.nchan_out_woLFE * MAX_INTERN_CHANNELS * sizeof( float ) ); compute_hoa_encoder_mtx( st_ivas->hTransSetup.ls_azimuth, st_ivas->hTransSetup.ls_elevation, hParamMC->hoa_encoder, st_ivas->hTransSetup.nchan_out_woLFE, HEAD_ROTATION_HOA_ORDER ); } @@ -394,8 +394,8 @@ ivas_error ivas_param_mc_dec_open( if ( hParamMC->max_band_decorr > 0 ) { - hParamMC->proto_frame_f = (float *) count_malloc( 2 * hParamMC->diff_proto_info->num_protos_diff * hParamMC->num_freq_bands * sizeof( float ) ); - hParamMC->proto_frame_dec_f = (float *) count_malloc( 2 * nchan_out_cov * hParamMC->num_freq_bands * sizeof( float ) ); + hParamMC->proto_frame_f = (float *) malloc( 2 * hParamMC->diff_proto_info->num_protos_diff * hParamMC->num_freq_bands * sizeof( float ) ); + hParamMC->proto_frame_dec_f = (float *) malloc( 2 * nchan_out_cov * hParamMC->num_freq_bands * sizeof( float ) ); } else { @@ -487,19 +487,19 @@ void ivas_param_mc_dec_close( { ivas_param_mc_metadata_close( hParamMC->hMetadataPMC ); - count_free( hParamMC->hMetadataPMC ); + free( hParamMC->hMetadataPMC ); hParamMC->hMetadataPMC = NULL; } if ( hParamMC->icc_q != NULL ) { - count_free( hParamMC->icc_q ); + free( hParamMC->icc_q ); hParamMC->icc_q = NULL; } if ( hParamMC->icld_q != NULL ) { - count_free( hParamMC->icld_q ); + free( hParamMC->icld_q ); hParamMC->icld_q = NULL; } @@ -508,26 +508,26 @@ void ivas_param_mc_dec_close( { for ( i = 0; i < hParamMC->diff_proto_info->num_protos_diff; i++ ) { - count_free( hParamMC->diff_proto_info->source_chan_idx[i] ); + free( hParamMC->diff_proto_info->source_chan_idx[i] ); hParamMC->diff_proto_info->source_chan_idx[i] = NULL; - count_free( hParamMC->diff_proto_info->proto_fac[i] ); + free( hParamMC->diff_proto_info->proto_fac[i] ); hParamMC->diff_proto_info->proto_fac[i] = NULL; } - count_free( hParamMC->diff_proto_info->source_chan_idx ); + free( hParamMC->diff_proto_info->source_chan_idx ); hParamMC->diff_proto_info->source_chan_idx = NULL; - count_free( hParamMC->diff_proto_info->proto_fac ); + free( hParamMC->diff_proto_info->proto_fac ); hParamMC->diff_proto_info->proto_fac = NULL; - count_free( hParamMC->diff_proto_info->proto_index_diff ); + free( hParamMC->diff_proto_info->proto_index_diff ); hParamMC->diff_proto_info->proto_index_diff = NULL; - count_free( hParamMC->diff_proto_info->num_source_chan_diff ); + free( hParamMC->diff_proto_info->num_source_chan_diff ); hParamMC->diff_proto_info->num_source_chan_diff = NULL; - count_free( hParamMC->diff_proto_info ); + free( hParamMC->diff_proto_info ); hParamMC->diff_proto_info = NULL; } @@ -536,35 +536,35 @@ void ivas_param_mc_dec_close( /* free prototype signal buffers */ if ( hParamMC->proto_frame_f != NULL ) { - count_free( hParamMC->proto_frame_f ); + free( hParamMC->proto_frame_f ); hParamMC->proto_frame_f = NULL; } if ( hParamMC->proto_frame_dec_f != NULL ) { - count_free( hParamMC->proto_frame_dec_f ); + free( hParamMC->proto_frame_dec_f ); hParamMC->proto_frame_dec_f = NULL; } if ( hParamMC->ls_conv_dmx_matrix != NULL ) { - count_free( hParamMC->ls_conv_dmx_matrix ); + free( hParamMC->ls_conv_dmx_matrix ); hParamMC->ls_conv_dmx_matrix = NULL; } if ( hParamMC->proto_matrix_int != NULL ) { - count_free( hParamMC->proto_matrix_int ); + free( hParamMC->proto_matrix_int ); hParamMC->proto_matrix_int = NULL; } if ( hParamMC->hoa_encoder != NULL ) { - count_free( hParamMC->hoa_encoder ); + free( hParamMC->hoa_encoder ); hParamMC->hoa_encoder = NULL; } - count_free( hParamMC ); + free( hParamMC ); hParamMC = NULL; return; @@ -2073,9 +2073,9 @@ static void param_mc_get_diff_proto_info( /* Initializations */ max_num_src_chan = 0; set_zero( proto_fac, MAX_CICP_CHANNELS * PARAM_MC_MAX_TRANSPORT_CHANS ); - p_diff_proto_info->proto_index_diff = (int16_t *) count_malloc( nchan_out_cov * sizeof( int16_t ) ); + p_diff_proto_info->proto_index_diff = (int16_t *) malloc( nchan_out_cov * sizeof( int16_t ) ); set_s( p_diff_proto_info->proto_index_diff, 0, nchan_out_cov ); - p_diff_proto_info->num_source_chan_diff = (int16_t *) count_malloc( nchan_out_cov * sizeof( int16_t ) ); + p_diff_proto_info->num_source_chan_diff = (int16_t *) malloc( nchan_out_cov * sizeof( int16_t ) ); set_s( p_diff_proto_info->num_source_chan_diff, 0, nchan_out_cov ); /* we have at least one prototype, copy the first one */ @@ -2136,15 +2136,15 @@ static void param_mc_get_diff_proto_info( /* set up the prototype info struct */ - p_diff_proto_info->source_chan_idx = (int16_t **) count_malloc( p_diff_proto_info->num_protos_diff * sizeof( int16_t * ) ); - p_diff_proto_info->proto_fac = (float **) count_malloc( p_diff_proto_info->num_protos_diff * sizeof( float * ) ); + p_diff_proto_info->source_chan_idx = (int16_t **) malloc( p_diff_proto_info->num_protos_diff * sizeof( int16_t * ) ); + p_diff_proto_info->proto_fac = (float **) malloc( p_diff_proto_info->num_protos_diff * sizeof( float * ) ); for ( cur_diff_proto = 0; cur_diff_proto < p_diff_proto_info->num_protos_diff; cur_diff_proto++ ) { float *proto_fac_ptr; - p_diff_proto_info->source_chan_idx[cur_diff_proto] = (int16_t *) count_malloc( max_num_src_chan * sizeof( int16_t ) ); - p_diff_proto_info->proto_fac[cur_diff_proto] = (float *) count_malloc( max_num_src_chan * sizeof( float ) ); + p_diff_proto_info->source_chan_idx[cur_diff_proto] = (int16_t *) malloc( max_num_src_chan * sizeof( int16_t ) ); + p_diff_proto_info->proto_fac[cur_diff_proto] = (float *) malloc( max_num_src_chan * sizeof( float ) ); proto_fac_ptr = proto_fac + cur_diff_proto; for ( cur_transport_ch = 0; cur_transport_ch < nchan_transport; cur_transport_ch++ ) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index c034b54dad..13b4b74f15 100644 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -288,7 +288,7 @@ ivas_error create_mct_dec( * Allocate MCT handle *-----------------------------------------------------------------*/ - if ( ( hMCT = (MCT_DEC_HANDLE) count_malloc( sizeof( MCT_DEC_DATA ) ) ) == NULL ) + if ( ( hMCT = (MCT_DEC_HANDLE) malloc( sizeof( MCT_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CPE\n" ) ); } @@ -343,7 +343,7 @@ ivas_error create_mct_dec( for ( n = 0; n < max_blocks; n++ ) { - if ( ( hMCT->hBlockData[n] = (MCT_DEC_BLOCK_DATA_HANDLE) count_malloc( sizeof( MCT_DEC_BLOCK_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n] = (MCT_DEC_BLOCK_DATA_HANDLE) malloc( sizeof( MCT_DEC_BLOCK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT block data structure\n" ) ); } @@ -356,7 +356,7 @@ ivas_error create_mct_dec( * MDCT stereo initialization *-----------------------------------------------------------------*/ - if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -485,7 +485,7 @@ ivas_error mct_dec_reconfigure( { if ( hMCT->hBlockData[n] == NULL ) { - if ( ( hMCT->hBlockData[n] = (MCT_DEC_BLOCK_DATA_HANDLE) count_malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n] = (MCT_DEC_BLOCK_DATA_HANDLE) malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT block data structure\n" ) ); } @@ -495,7 +495,7 @@ ivas_error mct_dec_reconfigure( hMCT->hBlockData[n]->ch2 = 0; /* MDCT stereo initialization */ - if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -512,11 +512,11 @@ ivas_error mct_dec_reconfigure( { if ( hMCT->hBlockData[n]->hStereoMdct != NULL ) { - count_free( hMCT->hBlockData[n]->hStereoMdct ); + free( hMCT->hBlockData[n]->hStereoMdct ); hMCT->hBlockData[n]->hStereoMdct = NULL; } - count_free( hMCT->hBlockData[n] ); + free( hMCT->hBlockData[n] ); hMCT->hBlockData[n] = NULL; } } @@ -565,16 +565,16 @@ void ivas_mct_dec_close( { if ( ( *hMCT )->hBlockData[n]->hStereoMdct != NULL ) { - count_free( ( *hMCT )->hBlockData[n]->hStereoMdct ); + free( ( *hMCT )->hBlockData[n]->hStereoMdct ); ( *hMCT )->hBlockData[n]->hStereoMdct = NULL; } - count_free( ( *hMCT )->hBlockData[n] ); + free( ( *hMCT )->hBlockData[n] ); ( *hMCT )->hBlockData[n] = NULL; } } - count_free( *hMCT ); + free( *hMCT ); *hMCT = NULL; return; diff --git a/lib_dec/ivas_mono_dmx_renderer.c b/lib_dec/ivas_mono_dmx_renderer.c index f086831491..0e40c0fe3d 100644 --- a/lib_dec/ivas_mono_dmx_renderer.c +++ b/lib_dec/ivas_mono_dmx_renderer.c @@ -63,7 +63,7 @@ ivas_error ivas_mono_dmx_renderer_open( { MONO_DOWNMIX_RENDERER_HANDLE hDownmix; - if ( ( hDownmix = (MONO_DOWNMIX_RENDERER_HANDLE) count_malloc( sizeof( MONO_DOWNMIX_RENDERER_STRUCT ) ) ) == NULL ) + if ( ( hDownmix = (MONO_DOWNMIX_RENDERER_HANDLE) malloc( sizeof( MONO_DOWNMIX_RENDERER_STRUCT ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for downmixing\n" ) ); } diff --git a/lib_dec/ivas_out_setup_conversion.c b/lib_dec/ivas_out_setup_conversion.c index e3be5b4f34..6b5734fff6 100644 --- a/lib_dec/ivas_out_setup_conversion.c +++ b/lib_dec/ivas_out_setup_conversion.c @@ -317,7 +317,7 @@ ivas_error ivas_ls_setup_conversion_open( output_frame = (int16_t) ( output_Fs / FRAMES_PER_SEC ); /* Allocate memory to the handle */ - if ( ( hLsSetUpConversion = (LSSETUP_CONVERSION_HANDLE) count_malloc( sizeof( LSSETUP_CONVERSION_STRUCT ) ) ) == NULL ) + if ( ( hLsSetUpConversion = (LSSETUP_CONVERSION_HANDLE) malloc( sizeof( LSSETUP_CONVERSION_STRUCT ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LS configuration Conversion Handle \n" ) ); } @@ -331,8 +331,8 @@ ivas_error ivas_ls_setup_conversion_open( hLsSetUpConversion->sfbCnt = (int16_t) ( output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ); for ( chIdx = 0; chIdx < outChannels; chIdx++ ) { - hLsSetUpConversion->targetEnergyPrev[chIdx] = (float *) count_malloc( ( hLsSetUpConversion->sfbCnt ) * sizeof( float ) ); - hLsSetUpConversion->dmxEnergyPrev[chIdx] = (float *) count_malloc( ( hLsSetUpConversion->sfbCnt ) * sizeof( float ) ); + hLsSetUpConversion->targetEnergyPrev[chIdx] = (float *) malloc( ( hLsSetUpConversion->sfbCnt ) * sizeof( float ) ); + hLsSetUpConversion->dmxEnergyPrev[chIdx] = (float *) malloc( ( hLsSetUpConversion->sfbCnt ) * sizeof( float ) ); set_f( hLsSetUpConversion->targetEnergyPrev[chIdx], 0.0f, hLsSetUpConversion->sfbCnt ); set_f( hLsSetUpConversion->dmxEnergyPrev[chIdx], 0.0f, hLsSetUpConversion->sfbCnt ); } @@ -347,8 +347,8 @@ ivas_error ivas_ls_setup_conversion_open( inChannels = st_ivas->nchan_transport; /*Initialization of MDCT bands with TCX20 resolution */ ivas_lssetupconversion_mdct_init_bands( output_frame, TCX_20_CORE, &hLsSetUpConversion->sfbOffset[0], &hLsSetUpConversion->sfbCnt ); - hLsSetUpConversion->targetEnergyPrev[0] = (float *) count_malloc( ( MAX_SFB + 2 ) * sizeof( float ) ); - hLsSetUpConversion->dmxEnergyPrev[0] = (float *) count_malloc( ( MAX_SFB + 2 ) * sizeof( float ) ); + hLsSetUpConversion->targetEnergyPrev[0] = (float *) malloc( ( MAX_SFB + 2 ) * sizeof( float ) ); + hLsSetUpConversion->dmxEnergyPrev[0] = (float *) malloc( ( MAX_SFB + 2 ) * sizeof( float ) ); for ( chIdx = 1; chIdx < MAX_CICP_CHANNELS; chIdx++ ) { hLsSetUpConversion->targetEnergyPrev[chIdx] = NULL; @@ -363,7 +363,7 @@ ivas_error ivas_ls_setup_conversion_open( for ( chIdx = 0; chIdx < inChannels; chIdx++ ) { /* Allocate memory depending on the number of output channels */ - if ( ( hLsSetUpConversion->dmxMtx[chIdx] = (float *) count_malloc( outChannels * sizeof( float ) ) ) == NULL ) + if ( ( hLsSetUpConversion->dmxMtx[chIdx] = (float *) malloc( outChannels * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for temp dmx matrix \n" ) ); } @@ -418,24 +418,24 @@ void ivas_ls_setup_conversion_close( { if ( ( *hLsSetUpConversion )->dmxMtx[idx] != NULL ) { - count_free( ( *hLsSetUpConversion )->dmxMtx[idx] ); + free( ( *hLsSetUpConversion )->dmxMtx[idx] ); ( *hLsSetUpConversion )->dmxMtx[idx] = NULL; } if ( ( *hLsSetUpConversion )->targetEnergyPrev[idx] != NULL ) { - count_free( ( *hLsSetUpConversion )->targetEnergyPrev[idx] ); + free( ( *hLsSetUpConversion )->targetEnergyPrev[idx] ); ( *hLsSetUpConversion )->targetEnergyPrev[idx] = NULL; } if ( ( *hLsSetUpConversion )->dmxEnergyPrev[idx] != NULL ) { - count_free( ( *hLsSetUpConversion )->dmxEnergyPrev[idx] ); + free( ( *hLsSetUpConversion )->dmxEnergyPrev[idx] ); ( *hLsSetUpConversion )->dmxEnergyPrev[idx] = NULL; } } - count_free( *hLsSetUpConversion ); + free( *hLsSetUpConversion ); *hLsSetUpConversion = NULL; return; diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 3adf4e39cd..55094f0432 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -134,17 +134,17 @@ ivas_error ivas_sba_dec_reinit( { for ( i = 0; i < getNumChanSynthesis( st_ivas ); i++ ) { - count_free( st_ivas->mem_hp20_out[i] ); + free( st_ivas->mem_hp20_out[i] ); st_ivas->mem_hp20_out[i] = NULL; } - count_free( st_ivas->mem_hp20_out ); + free( st_ivas->mem_hp20_out ); st_ivas->mem_hp20_out = NULL; } /* HOA decoder matrix */ if ( st_ivas->hoa_dec_mtx != NULL ) { - count_free( st_ivas->hoa_dec_mtx ); + free( st_ivas->hoa_dec_mtx ); st_ivas->hoa_dec_mtx = NULL; } @@ -172,7 +172,7 @@ ivas_error ivas_sba_dec_reinit( /* Custom LS configuration handle */ if ( st_ivas->hLsSetupCustom != NULL ) { - count_free( st_ivas->hLsSetupCustom ); + free( st_ivas->hLsSetupCustom ); st_ivas->hLsSetupCustom = NULL; } @@ -186,14 +186,14 @@ ivas_error ivas_sba_dec_reinit( /* Downmix structure */ if ( st_ivas->hMonoDmxRenderer != NULL ) { - count_free( st_ivas->hMonoDmxRenderer ); + free( st_ivas->hMonoDmxRenderer ); st_ivas->hMonoDmxRenderer = NULL; } /* Head track data handle */ if ( st_ivas->hHeadTrackData != NULL ) { - count_free( st_ivas->hHeadTrackData ); + free( st_ivas->hHeadTrackData ); st_ivas->hHeadTrackData = NULL; } @@ -424,7 +424,7 @@ ivas_error ivas_sba_dec_reinit( if ( n > 0 ) { - if ( ( st_ivas->mem_hp20_out = (float **) count_malloc( n * sizeof( float * ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out = (float **) malloc( n * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -436,7 +436,7 @@ ivas_error ivas_sba_dec_reinit( for ( i = 0; i < n; i++ ) { - if ( ( st_ivas->mem_hp20_out[i] = (float *) count_malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_out[i] = (float *) malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -477,7 +477,7 @@ ivas_error ivas_sba_dec_reinit( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { - if ( ( st_ivas->hCrend = (CREND_HANDLE) count_malloc( sizeof( CREND_DATA ) ) ) == NULL ) + if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); } diff --git a/lib_dec/ivas_sce_dec.c b/lib_dec/ivas_sce_dec.c index e93f06bcce..29ac68d0bc 100644 --- a/lib_dec/ivas_sce_dec.c +++ b/lib_dec/ivas_sce_dec.c @@ -314,7 +314,7 @@ ivas_error create_sce_dec( * Allocate SCE handle *-----------------------------------------------------------------*/ - if ( ( hSCE = (SCE_DEC_HANDLE) count_malloc( sizeof( SCE_DEC_DATA ) ) ) == NULL ) + if ( ( hSCE = (SCE_DEC_HANDLE) malloc( sizeof( SCE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SCE\n" ) ); } @@ -332,7 +332,7 @@ ivas_error create_sce_dec( * Core Coder, 1 instance: allocate and initialize *-----------------------------------------------------------------*/ - if ( ( st = (DEC_CORE_HANDLE) count_malloc( sizeof( Decoder_State ) ) ) == NULL ) + if ( ( st = (DEC_CORE_HANDLE) malloc( sizeof( Decoder_State ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CoreCoder structure\n" ) ); } @@ -362,7 +362,7 @@ ivas_error create_sce_dec( /* allocate and initialize "hTdCngDec" - needed in DTX */ if ( sce_id == 0 && st->hTdCngDec == NULL ) { - if ( ( st->hTdCngDec = (TD_CNG_DEC_HANDLE) count_malloc( sizeof( TD_CNG_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTdCngDec = (TD_CNG_DEC_HANDLE) malloc( sizeof( TD_CNG_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX/TD CNG\n" ) ); } @@ -376,13 +376,13 @@ ivas_error create_sce_dec( if ( st_ivas->sba_dirac_stereo_flag ) { - if ( ( hSCE->save_synth = (float *) count_malloc( sizeof( float ) * output_frame ) ) == NULL ) + if ( ( hSCE->save_synth = (float *) malloc( sizeof( float ) * output_frame ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for stereo output\n" ) ); } set_zero( hSCE->save_synth, output_frame ); - if ( ( hSCE->save_hb_synth = (float *) count_malloc( sizeof( float ) * output_frame ) ) == NULL ) + if ( ( hSCE->save_hb_synth = (float *) malloc( sizeof( float ) * output_frame ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate HB memory for stereo output\n" ) ); } @@ -419,22 +419,22 @@ void destroy_sce_dec( { destroy_core_dec( st ); - count_free( st ); + free( st ); st = NULL; } if ( hSCE->save_synth != NULL ) { - count_free( hSCE->save_synth ); + free( hSCE->save_synth ); hSCE->save_synth = NULL; } if ( hSCE->save_hb_synth != NULL ) { - count_free( hSCE->save_hb_synth ); + free( hSCE->save_hb_synth ); hSCE->save_hb_synth = NULL; } - count_free( hSCE ); + free( hSCE ); return; } diff --git a/lib_dec/ivas_spar_decoder.c b/lib_dec/ivas_spar_decoder.c index 9a05f6352d..15b58155d0 100644 --- a/lib_dec/ivas_spar_decoder.c +++ b/lib_dec/ivas_spar_decoder.c @@ -75,7 +75,7 @@ ivas_error ivas_spar_dec_open( num_channels_internal = ivas_sba_get_nchan_metadata( sba_order_internal ); /* SPAR decoder handle */ - if ( ( hSpar = (SPAR_DEC_HANDLE) count_malloc( sizeof( SPAR_DEC_DATA ) ) ) == NULL ) + if ( ( hSpar = (SPAR_DEC_HANDLE) malloc( sizeof( SPAR_DEC_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR decoder" ); } @@ -121,7 +121,7 @@ ivas_error ivas_spar_dec_open( hSpar->hPCA = NULL; if ( st_ivas->hDecoderConfig->ivas_total_brate == PCA_BRATE && sba_order_internal == 1 ) { - if ( ( hSpar->hPCA = (PCA_DEC_STATE *) count_malloc( sizeof( PCA_DEC_STATE ) ) ) == NULL ) + if ( ( hSpar->hPCA = (PCA_DEC_STATE *) malloc( sizeof( PCA_DEC_STATE ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for PCA decoder" ); } @@ -201,11 +201,11 @@ void ivas_spar_dec_close( /* PCA */ if ( hSpar->hPCA != NULL ) { - count_free( hSpar->hPCA ); + free( hSpar->hPCA ); hSpar->hPCA = NULL; } - count_free( hSpar ); + free( hSpar ); hSpar = NULL; } diff --git a/lib_dec/ivas_spar_md_dec.c b/lib_dec/ivas_spar_md_dec.c index 969096c381..c6532e42f2 100644 --- a/lib_dec/ivas_spar_md_dec.c +++ b/lib_dec/ivas_spar_md_dec.c @@ -101,137 +101,137 @@ static ivas_error ivas_spar_md_dec_matrix_open( { int16_t i, j; - if ( ( hMdDec->spar_md.band_coeffs = (ivas_band_coeffs_t *) count_malloc( IVAS_MAX_NUM_BANDS * MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( ivas_band_coeffs_t ) ) ) == NULL ) + if ( ( hMdDec->spar_md.band_coeffs = (ivas_band_coeffs_t *) malloc( IVAS_MAX_NUM_BANDS * MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( ivas_band_coeffs_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for band_coeffs in SPAR MD" ); } - if ( ( hMdDec->mixer_mat = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->mixer_mat = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->mixer_mat[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->mixer_mat[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->mixer_mat[i][j] = (float *) count_malloc( MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->mixer_mat[i][j] = (float *) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdDec->spar_coeffs.C_re = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs.C_re = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->spar_coeffs.C_re[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs.C_re[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->spar_coeffs.C_re[i][j] = (float *) count_malloc( MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs.C_re[i][j] = (float *) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdDec->spar_coeffs.P_re = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs.P_re = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->spar_coeffs.P_re[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs.P_re[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->spar_coeffs.P_re[i][j] = (float *) count_malloc( MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs.P_re[i][j] = (float *) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdDec->spar_coeffs_prev.C_re = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_prev.C_re = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->spar_coeffs_prev.C_re[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_prev.C_re[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->spar_coeffs_prev.C_re[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_prev.C_re[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdDec->spar_coeffs_prev.P_re = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_prev.P_re = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->spar_coeffs_prev.P_re[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_prev.P_re[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->spar_coeffs_prev.P_re[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_prev.P_re[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdDec->spar_coeffs_tar.C_re = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_tar.C_re = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->spar_coeffs_tar.C_re[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_tar.C_re[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->spar_coeffs_tar.C_re[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_tar.C_re[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdDec->spar_coeffs_tar.P_re = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_tar.P_re = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdDec->spar_coeffs_tar.P_re[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_tar.P_re[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdDec->spar_coeffs_tar.P_re[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdDec->spar_coeffs_tar.P_re[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } @@ -260,7 +260,7 @@ ivas_error ivas_spar_md_dec_open( error = IVAS_ERR_OK; - if ( ( hMdDec = (ivas_spar_md_dec_state_t *) count_malloc( sizeof( ivas_spar_md_dec_state_t ) ) ) == NULL ) + if ( ( hMdDec = (ivas_spar_md_dec_state_t *) malloc( sizeof( ivas_spar_md_dec_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD decoder" ); } @@ -298,7 +298,7 @@ static void ivas_spar_md_dec_matrix_close( if ( hMdDecoder->spar_md.band_coeffs != NULL ) { - count_free( hMdDecoder->spar_md.band_coeffs ); + free( hMdDecoder->spar_md.band_coeffs ); hMdDecoder->spar_md.band_coeffs = NULL; } if ( hMdDecoder->mixer_mat != NULL ) @@ -307,11 +307,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->mixer_mat[i][j] ); + free( hMdDecoder->mixer_mat[i][j] ); } - count_free( hMdDecoder->mixer_mat[i] ); + free( hMdDecoder->mixer_mat[i] ); } - count_free( hMdDecoder->mixer_mat ); + free( hMdDecoder->mixer_mat ); } if ( hMdDecoder->spar_coeffs.C_re != NULL ) @@ -320,11 +320,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->spar_coeffs.C_re[i][j] ); + free( hMdDecoder->spar_coeffs.C_re[i][j] ); } - count_free( hMdDecoder->spar_coeffs.C_re[i] ); + free( hMdDecoder->spar_coeffs.C_re[i] ); } - count_free( hMdDecoder->spar_coeffs.C_re ); + free( hMdDecoder->spar_coeffs.C_re ); } if ( hMdDecoder->spar_coeffs.P_re != NULL ) @@ -333,11 +333,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->spar_coeffs.P_re[i][j] ); + free( hMdDecoder->spar_coeffs.P_re[i][j] ); } - count_free( hMdDecoder->spar_coeffs.P_re[i] ); + free( hMdDecoder->spar_coeffs.P_re[i] ); } - count_free( hMdDecoder->spar_coeffs.P_re ); + free( hMdDecoder->spar_coeffs.P_re ); } if ( hMdDecoder->spar_coeffs_prev.C_re != NULL ) @@ -346,11 +346,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->spar_coeffs_prev.C_re[i][j] ); + free( hMdDecoder->spar_coeffs_prev.C_re[i][j] ); } - count_free( hMdDecoder->spar_coeffs_prev.C_re[i] ); + free( hMdDecoder->spar_coeffs_prev.C_re[i] ); } - count_free( hMdDecoder->spar_coeffs_prev.C_re ); + free( hMdDecoder->spar_coeffs_prev.C_re ); } if ( hMdDecoder->spar_coeffs_prev.P_re != NULL ) @@ -359,11 +359,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->spar_coeffs_prev.P_re[i][j] ); + free( hMdDecoder->spar_coeffs_prev.P_re[i][j] ); } - count_free( hMdDecoder->spar_coeffs_prev.P_re[i] ); + free( hMdDecoder->spar_coeffs_prev.P_re[i] ); } - count_free( hMdDecoder->spar_coeffs_prev.P_re ); + free( hMdDecoder->spar_coeffs_prev.P_re ); } if ( hMdDecoder->spar_coeffs_tar.C_re != NULL ) @@ -372,11 +372,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->spar_coeffs_tar.C_re[i][j] ); + free( hMdDecoder->spar_coeffs_tar.C_re[i][j] ); } - count_free( hMdDecoder->spar_coeffs_tar.C_re[i] ); + free( hMdDecoder->spar_coeffs_tar.C_re[i] ); } - count_free( hMdDecoder->spar_coeffs_tar.C_re ); + free( hMdDecoder->spar_coeffs_tar.C_re ); } if ( hMdDecoder->spar_coeffs_tar.P_re != NULL ) @@ -385,11 +385,11 @@ static void ivas_spar_md_dec_matrix_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdDecoder->spar_coeffs_tar.P_re[i][j] ); + free( hMdDecoder->spar_coeffs_tar.P_re[i][j] ); } - count_free( hMdDecoder->spar_coeffs_tar.P_re[i] ); + free( hMdDecoder->spar_coeffs_tar.P_re[i] ); } - count_free( hMdDecoder->spar_coeffs_tar.P_re ); + free( hMdDecoder->spar_coeffs_tar.P_re ); } return; @@ -416,7 +416,7 @@ void ivas_spar_md_dec_close( if ( *hMdDec != NULL ) { - count_free( *hMdDec ); + free( *hMdDec ); *hMdDec = NULL; } diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index d5a4bb495b..70f2c3ae06 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -262,22 +262,22 @@ ivas_error stereo_dft_dec_create( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: DFT Stereo memory already allocated\n" ); } - if ( ( hStereoDft_loc = (STEREO_DFT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_DEC_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc = (STEREO_DFT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_DFT_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT Stereo\n" ) ); } - if ( ( hStereoDft_loc->hConfig = (STEREO_DFT_CONFIG_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_CONFIG_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc->hConfig = (STEREO_DFT_CONFIG_DATA_HANDLE) malloc( sizeof( STEREO_DFT_CONFIG_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT Stereo Config\n" ) ); } - if ( ( hStereoDft_loc->hBpf = (BPF_DEC_HANDLE) count_malloc( sizeof( BPF_DEC_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc->hBpf = (BPF_DEC_HANDLE) malloc( sizeof( BPF_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for BPF handle\n" ) ); } - if ( ( hStereoDft_loc->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) count_malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TCX-LTP handle\n" ) ); } @@ -580,23 +580,23 @@ void stereo_dft_dec_destroy( if ( hStereoDft->hConfig != NULL ) { - count_free( hStereoDft->hConfig ); + free( hStereoDft->hConfig ); hStereoDft->hConfig = NULL; } if ( hStereoDft->hBpf != NULL ) { - count_free( hStereoDft->hBpf ); + free( hStereoDft->hBpf ); hStereoDft->hBpf = NULL; } if ( hStereoDft->hTcxLtpDec != NULL ) { - count_free( hStereoDft->hTcxLtpDec ); + free( hStereoDft->hTcxLtpDec ); hStereoDft->hTcxLtpDec = NULL; } - count_free( hStereoDft ); + free( hStereoDft ); hStereoDft = NULL; return; diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index ac0e91da34..aa28994dd4 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -56,7 +56,7 @@ static ivas_error allocate_CoreCoder_TCX( { if ( st->hTcxDec == NULL ) { - if ( ( st->hTcxDec = (TCX_DEC_HANDLE) count_malloc( sizeof( TCX_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTcxDec = (TCX_DEC_HANDLE) malloc( sizeof( TCX_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for hTcxDec" ) ); } @@ -70,7 +70,7 @@ static ivas_error allocate_CoreCoder_TCX( if ( st->hTcxCfg == NULL ) { - if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) + if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for hTcxCfg" ) ); } @@ -79,7 +79,7 @@ static ivas_error allocate_CoreCoder_TCX( /* allocated TCX-LTP structure for second channel */ if ( st->hTcxLtpDec == NULL ) { - if ( ( st->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) count_malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for TCX-LTP handle\n" ) ); } @@ -90,7 +90,7 @@ static ivas_error allocate_CoreCoder_TCX( /* allocate HQ structure */ if ( st->hHQ_core == NULL ) { - if ( ( st->hHQ_core = (HQ_DEC_HANDLE) count_malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) + if ( ( st->hHQ_core = (HQ_DEC_HANDLE) malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for HQ core\n" ) ); } @@ -100,7 +100,7 @@ static ivas_error allocate_CoreCoder_TCX( if ( st->hIGFDec == NULL ) { - if ( ( st->hIGFDec = (IGF_DEC_INSTANCE_HANDLE) count_malloc( sizeof( IGFDEC_INSTANCE ) ) ) == NULL ) + if ( ( st->hIGFDec = (IGF_DEC_INSTANCE_HANDLE) malloc( sizeof( IGFDEC_INSTANCE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for IGF\n" ) ); } @@ -111,7 +111,7 @@ static ivas_error allocate_CoreCoder_TCX( if ( st->hTonalMDCTConc == NULL ) { - if ( ( st->hTonalMDCTConc = (TonalMDCTConcealPtr) count_malloc( sizeof( TonalMDCTConceal_INSTANCE ) ) ) == NULL ) + if ( ( st->hTonalMDCTConc = (TonalMDCTConcealPtr) malloc( sizeof( TonalMDCTConceal_INSTANCE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for TonalMDCTConcealment\n" ) ); } @@ -140,7 +140,7 @@ static ivas_error allocate_CoreCoder( if ( st->hGSCDec == NULL ) { - if ( ( st->hGSCDec = (GSC_DEC_HANDLE) count_malloc( sizeof( GSC_DEC_DATA ) ) ) == NULL ) + if ( ( st->hGSCDec = (GSC_DEC_HANDLE) malloc( sizeof( GSC_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for GSC\n" ) ); } @@ -150,7 +150,7 @@ static ivas_error allocate_CoreCoder( if ( st->hPFstat == NULL ) { - if ( ( st->hPFstat = (PFSTAT_HANDLE) count_malloc( sizeof( PFSTAT ) ) ) == NULL ) + if ( ( st->hPFstat = (PFSTAT_HANDLE) malloc( sizeof( PFSTAT ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for NB/formant postflter\n" ) ); } @@ -161,7 +161,7 @@ static ivas_error allocate_CoreCoder( if ( st->hMusicPF == NULL ) { - if ( ( st->hMusicPF = (MUSIC_POSTFILT_HANDLE) count_malloc( sizeof( MUSIC_POSTFILT_DATA ) ) ) == NULL ) + if ( ( st->hMusicPF = (MUSIC_POSTFILT_HANDLE) malloc( sizeof( MUSIC_POSTFILT_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LD music postflter\n" ) ); } @@ -171,7 +171,7 @@ static ivas_error allocate_CoreCoder( if ( st->hBPF == NULL ) { - if ( ( st->hBPF = (BPF_DEC_HANDLE) count_malloc( sizeof( BPF_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBPF = (BPF_DEC_HANDLE) malloc( sizeof( BPF_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for BPF\n" ) ); } @@ -181,7 +181,7 @@ static ivas_error allocate_CoreCoder( if ( st->hBWE_zero == NULL ) { - if ( ( st->hBWE_zero = (ZERO_BWE_DEC_HANDLE) count_malloc( sizeof( ZERO_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_zero = (ZERO_BWE_DEC_HANDLE) malloc( sizeof( ZERO_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for zero BWE\n" ) ); } @@ -223,25 +223,25 @@ static void deallocate_CoreCoder_TCX( { if ( st->hTcxDec != NULL ) { - count_free( st->hTcxDec ); + free( st->hTcxDec ); st->hTcxDec = NULL; } if ( st->hTcxCfg != NULL ) { - count_free( st->hTcxCfg ); + free( st->hTcxCfg ); st->hTcxCfg = NULL; } if ( st->hIGFDec != NULL ) { - count_free( st->hIGFDec ); + free( st->hIGFDec ); st->hIGFDec = NULL; } if ( st->hTonalMDCTConc != NULL ) { - count_free( st->hTonalMDCTConc ); + free( st->hTonalMDCTConc ); st->hTonalMDCTConc = NULL; } @@ -261,31 +261,31 @@ static void deallocate_CoreCoder( { if ( st->hGSCDec != NULL ) { - count_free( st->hGSCDec ); + free( st->hGSCDec ); st->hGSCDec = NULL; } if ( st->hPFstat != NULL ) { - count_free( st->hPFstat ); + free( st->hPFstat ); st->hPFstat = NULL; } if ( st->hMusicPF != NULL ) { - count_free( st->hMusicPF ); + free( st->hMusicPF ); st->hMusicPF = NULL; } if ( st->hBPF != NULL ) { - count_free( st->hBPF ); + free( st->hBPF ); st->hBPF = NULL; } if ( st->hBWE_zero != NULL ) { - count_free( st->hBWE_zero ); + free( st->hBWE_zero ); st->hBWE_zero = NULL; } @@ -402,13 +402,13 @@ ivas_error stereo_memory_dec( /* deallocate data structure of the previous CPE mode */ if ( hCPE->hStereoTD != NULL ) { - count_free( hCPE->hStereoTD ); + free( hCPE->hStereoTD ); hCPE->hStereoTD = NULL; } if ( hCPE->hStereoMdct != NULL ) { - count_free( hCPE->hStereoMdct ); + free( hCPE->hStereoMdct ); hCPE->hStereoMdct = NULL; } @@ -433,7 +433,7 @@ ivas_error stereo_memory_dec( /* allocate ICBWE structure */ if ( hCPE->hStereoICBWE == NULL ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } @@ -445,7 +445,7 @@ ivas_error stereo_memory_dec( st = hCPE->hCoreCoder[0]; if ( st->hHQ_core == NULL ) { - if ( ( st->hHQ_core = (HQ_DEC_HANDLE) count_malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) + if ( ( st->hHQ_core = (HQ_DEC_HANDLE) malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ core\n" ) ); } @@ -456,7 +456,7 @@ ivas_error stereo_memory_dec( /* allocate TD CNG handle */ if ( st->idchan == 0 && st->hTdCngDec == NULL ) { - if ( ( st->hTdCngDec = (TD_CNG_DEC_HANDLE) count_malloc( sizeof( TD_CNG_DEC_DATA ) ) ) == NULL ) + if ( ( st->hTdCngDec = (TD_CNG_DEC_HANDLE) malloc( sizeof( TD_CNG_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX/TD CNG\n" ) ); } @@ -480,7 +480,7 @@ ivas_error stereo_memory_dec( if ( hCPE->hStereoMdct != NULL ) { - count_free( hCPE->hStereoMdct ); + free( hCPE->hStereoMdct ); hCPE->hStereoMdct = NULL; } @@ -498,7 +498,7 @@ ivas_error stereo_memory_dec( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: TD Stereo memory already allocated\n" ); } - if ( ( hCPE->hStereoTD = (STEREO_TD_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_TD_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTD = (STEREO_TD_DEC_DATA_HANDLE) malloc( sizeof( STEREO_TD_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD Stereo\n" ) ); } @@ -522,7 +522,7 @@ ivas_error stereo_memory_dec( st = hCPE->hCoreCoder[1]; if ( st->hTcxLtpDec != 0 ) { - count_free( st->hTcxLtpDec ); + free( st->hTcxLtpDec ); st->hTcxLtpDec = NULL; } @@ -538,14 +538,14 @@ ivas_error stereo_memory_dec( /* deallocated HQ-core for second channel */ if ( st->hHQ_core != 0 ) { - count_free( st->hHQ_core ); + free( st->hHQ_core ); st->hHQ_core = NULL; } /* allocate DFT stereo mono DMX data structure */ if ( hCPE->nchan_out == 1 && hCPE->hStereoDftDmx == NULL ) { - if ( ( hCPE->hStereoDftDmx = (STEREO_DFT_DMX_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_DMX_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoDftDmx = (STEREO_DFT_DMX_DATA_HANDLE) malloc( sizeof( STEREO_DFT_DMX_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo DFT mono output\n" ) ); } @@ -555,7 +555,7 @@ ivas_error stereo_memory_dec( /* allocate TCA data structure */ if ( hCPE->nchan_out != 1 && hCPE->hStereoTCA == NULL ) { - if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) count_malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } @@ -574,14 +574,14 @@ ivas_error stereo_memory_dec( /* allocate BWEs for primary channel */ if ( st->hBWE_TD == NULL ) { - if ( ( st->hBWE_TD = (TD_BWE_DEC_HANDLE) count_malloc( sizeof( TD_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_TD = (TD_BWE_DEC_HANDLE) malloc( sizeof( TD_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD BWE\n" ) ); } td_bwe_dec_init( st->hBWE_TD, -1, st->output_Fs ); - if ( ( st->hBWE_FD = (FD_BWE_DEC_HANDLE) count_malloc( sizeof( FD_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD = (FD_BWE_DEC_HANDLE) malloc( sizeof( FD_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FD BWE\n" ) ); } @@ -604,7 +604,7 @@ ivas_error stereo_memory_dec( /* allocate stereo CNG structure */ if ( hCPE->hStereoCng == NULL ) { - if ( ( hCPE->hStereoCng = (STEREO_CNG_DEC_HANDLE) count_malloc( sizeof( STEREO_CNG_DEC ) ) ) == NULL ) + if ( ( hCPE->hStereoCng = (STEREO_CNG_DEC_HANDLE) malloc( sizeof( STEREO_CNG_DEC ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo CNG\n" ) ); } @@ -640,26 +640,26 @@ ivas_error stereo_memory_dec( if ( hCPE->hStereoTD != NULL ) { - count_free( hCPE->hStereoTD ); + free( hCPE->hStereoTD ); hCPE->hStereoTD = NULL; } if ( hCPE->hStereoDftDmx != NULL ) { - count_free( hCPE->hStereoDftDmx ); + free( hCPE->hStereoDftDmx ); hCPE->hStereoDftDmx = NULL; } if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } /* de-allocate stereo CNG structure */ if ( hCPE->hStereoCng != NULL ) { - count_free( hCPE->hStereoCng ); + free( hCPE->hStereoCng ); hCPE->hStereoCng = NULL; } @@ -729,7 +729,7 @@ ivas_error stereo_memory_dec( st->hTcxDec->prev_good_synth = st->hTcxDec->old_synthFB + NS2SA( st->output_Fs, PH_ECU_LOOKAHEAD_NS ); /* allocate and initialize MDCT stereo structure */ - if ( ( hCPE->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -762,21 +762,21 @@ ivas_error stereo_memory_dec( /* deallocate ICBWE structure */ if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } /* allocate BWEs for secondary channel */ if ( st->hBWE_TD == NULL ) { - if ( ( st->hBWE_TD = (TD_BWE_DEC_HANDLE) count_malloc( sizeof( TD_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_TD = (TD_BWE_DEC_HANDLE) malloc( sizeof( TD_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD BWE\n" ) ); } td_bwe_dec_init( st->hBWE_TD, -1, st->output_Fs ); - if ( ( st->hBWE_FD = (FD_BWE_DEC_HANDLE) count_malloc( sizeof( FD_BWE_DEC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD = (FD_BWE_DEC_HANDLE) malloc( sizeof( FD_BWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FD BWE\n" ) ); } @@ -791,13 +791,13 @@ ivas_error stereo_memory_dec( { if ( st->hBWE_TD != NULL ) { - count_free( st->hBWE_TD ); + free( st->hBWE_TD ); st->hBWE_TD = NULL; } if ( st->hBWE_FD != NULL ) { - count_free( st->hBWE_FD ); + free( st->hBWE_FD ); st->hBWE_FD = NULL; } } @@ -805,7 +805,7 @@ ivas_error stereo_memory_dec( /* allocate ICBWE structure */ if ( hCPE->hStereoICBWE == NULL ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } @@ -829,7 +829,7 @@ ivas_error stereo_memory_dec( if ( hCPE->hStereoTCA == NULL ) { /* allocate TCA data structure */ - if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) count_malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } @@ -844,7 +844,7 @@ ivas_error stereo_memory_dec( /* de-allocate TCA data structure */ if ( hCPE->hStereoMdct->use_itd == 1 && ivas_total_brate > IVAS_SID_5k2 && hCPE->hStereoTCA != NULL ) { - count_free( hCPE->hStereoTCA ); + free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; hCPE->hStereoMdct->use_itd = 0; } @@ -869,7 +869,7 @@ ivas_error stereo_memory_dec( { if ( hCPE->hStereoDftDmx == NULL ) { - if ( ( hCPE->hStereoDftDmx = (STEREO_DFT_DMX_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_DMX_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoDftDmx = (STEREO_DFT_DMX_DATA_HANDLE) malloc( sizeof( STEREO_DFT_DMX_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo DFT mono output\n" ) ); } @@ -878,13 +878,13 @@ ivas_error stereo_memory_dec( if ( hCPE->prev_synth_chs[1] != NULL ) { - count_free( hCPE->prev_synth_chs[1] ); + free( hCPE->prev_synth_chs[1] ); hCPE->prev_synth_chs[1] = NULL; } if ( hCPE->hStereoTCA != NULL ) { - count_free( hCPE->hStereoTCA ); + free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; } } @@ -892,14 +892,14 @@ ivas_error stereo_memory_dec( { if ( hCPE->hStereoDftDmx != NULL ) { - count_free( hCPE->hStereoDftDmx ); + free( hCPE->hStereoDftDmx ); hCPE->hStereoDftDmx = NULL; } if ( hCPE->prev_synth_chs[1] == NULL ) { st = hCPE->hCoreCoder[1]; - if ( ( hCPE->prev_synth_chs[1] = (float *) count_malloc( sizeof( float ) * NS2SA( st->output_Fs, FRAME_SIZE_NS ) ) ) == NULL ) + if ( ( hCPE->prev_synth_chs[1] = (float *) malloc( sizeof( float ) * NS2SA( st->output_Fs, FRAME_SIZE_NS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } @@ -908,7 +908,7 @@ ivas_error stereo_memory_dec( if ( hCPE->hStereoICBWE == NULL && hCPE->element_mode == IVAS_CPE_DFT ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_DEC_HANDLE) malloc( sizeof( STEREO_ICBWE_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } @@ -918,7 +918,7 @@ ivas_error stereo_memory_dec( if ( hCPE->hStereoTCA == NULL && ( hCPE->element_mode == IVAS_CPE_DFT || hCPE->element_mode == IVAS_CPE_TD ) ) { - if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) count_malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTCA = (STEREO_TCA_DEC_HANDLE) malloc( sizeof( STEREO_TCA_DEC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } @@ -931,13 +931,13 @@ ivas_error stereo_memory_dec( if ( hCPE->hStereoTCA != NULL ) { /* note: in MASA, hCPE->hStereoMdct->itd = 0 */ - count_free( hCPE->hStereoTCA ); + free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; } if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } } diff --git a/lib_dec/ivas_td_decorr.c b/lib_dec/ivas_td_decorr.c index 1fdc60380d..7622676a3c 100644 --- a/lib_dec/ivas_td_decorr.c +++ b/lib_dec/ivas_td_decorr.c @@ -117,12 +117,12 @@ ivas_error ivas_spar_td_decorr_dec_open( error = IVAS_ERR_OK; - if ( ( hCovState = (ivas_td_decorr_state_t *) count_malloc( sizeof( ivas_td_decorr_state_t ) ) ) == NULL ) + if ( ( hCovState = (ivas_td_decorr_state_t *) malloc( sizeof( ivas_td_decorr_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV decoder" ); } - if ( ( hCovState->look_ahead_buf = (float *) count_malloc( sizeof( float ) * (int16_t) ( output_Fs * IVAS_DECORR_PARM_LOOKAHEAD_TAU ) ) ) == NULL ) + if ( ( hCovState->look_ahead_buf = (float *) malloc( sizeof( float ) * (int16_t) ( output_Fs * IVAS_DECORR_PARM_LOOKAHEAD_TAU ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV decoder" ); } @@ -136,7 +136,7 @@ ivas_error ivas_spar_td_decorr_dec_open( { len = hCovState->APD_filt_state[0].order[i]; - if ( ( hCovState->APD_filt_state[j].state[i] = (float *) count_malloc( sizeof( float ) * len ) ) == NULL ) + if ( ( hCovState->APD_filt_state[j].state[i] = (float *) malloc( sizeof( float ) * len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV decoder" ); } @@ -182,14 +182,14 @@ void ivas_spar_td_decorr_dec_close( return; } - count_free( ( *hTdDecorr )->look_ahead_buf ); + free( ( *hTdDecorr )->look_ahead_buf ); ( *hTdDecorr )->look_ahead_buf = NULL; for ( j = 0; j < ( *hTdDecorr )->num_apd_outputs; j++ ) { for ( i = 0; i < ( *hTdDecorr )->num_apd_sections; i++ ) { - count_free( ( *hTdDecorr )->APD_filt_state[j].state[i] ); + free( ( *hTdDecorr )->APD_filt_state[j].state[i] ); ( *hTdDecorr )->APD_filt_state[j].state[i] = NULL; } } @@ -199,7 +199,7 @@ void ivas_spar_td_decorr_dec_close( ivas_spar_transient_det_close( &( *hTdDecorr )->pTrans_det ); } - count_free( ( *hTdDecorr ) ); + free( ( *hTdDecorr ) ); ( *hTdDecorr ) = NULL; return; diff --git a/lib_dec/ivas_vbap.c b/lib_dec/ivas_vbap.c index c059f57658..2842e49738 100644 --- a/lib_dec/ivas_vbap.c +++ b/lib_dec/ivas_vbap.c @@ -171,7 +171,7 @@ ivas_error vbap_init_data( } /* Allocate VBAP structure */ - if ( ( vbap = (VBAP_HANDLE) count_malloc( sizeof( VBAP_DATA ) ) ) == NULL ) + if ( ( vbap = (VBAP_HANDLE) malloc( sizeof( VBAP_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VBAP data\n" ) ); } @@ -263,12 +263,12 @@ ivas_error vbap_init_data( break; } } - vbap->search_struct[0].triplets = (VBAP_VS_TRIPLET *) count_malloc( ( ( speaker_nodes_group1_internal - 2 ) * 2 - ( max( 0, ( speaker_nodes_horiz_internal - 2 ) ) ) ) * sizeof( VBAP_VS_TRIPLET ) ); + vbap->search_struct[0].triplets = (VBAP_VS_TRIPLET *) malloc( ( ( speaker_nodes_group1_internal - 2 ) * 2 - ( max( 0, ( speaker_nodes_horiz_internal - 2 ) ) ) ) * sizeof( VBAP_VS_TRIPLET ) ); is_success &= vbap->search_struct[0].triplets != NULL; if ( speaker_nodes_group2_internal > 0 ) { vbap->num_search_structs = 2; - vbap->search_struct[1].triplets = (VBAP_VS_TRIPLET *) count_malloc( ( ( speaker_nodes_group2_internal - 2 ) * 2 - ( max( 0, ( speaker_nodes_horiz_internal - 2 ) ) ) ) * sizeof( VBAP_VS_TRIPLET ) ); + vbap->search_struct[1].triplets = (VBAP_VS_TRIPLET *) malloc( ( ( speaker_nodes_group2_internal - 2 ) * 2 - ( max( 0, ( speaker_nodes_horiz_internal - 2 ) ) ) ) * sizeof( VBAP_VS_TRIPLET ) ); is_success &= vbap->search_struct[1].triplets != NULL; } else @@ -335,26 +335,26 @@ void vbap_free_data( if ( ( *hVBAPdata )->bottom_virtual_speaker_node_division_gains != NULL ) { - count_free( ( *hVBAPdata )->bottom_virtual_speaker_node_division_gains ); + free( ( *hVBAPdata )->bottom_virtual_speaker_node_division_gains ); } if ( ( *hVBAPdata )->top_virtual_speaker_node_division_gains != NULL ) { - count_free( ( *hVBAPdata )->top_virtual_speaker_node_division_gains ); + free( ( *hVBAPdata )->top_virtual_speaker_node_division_gains ); } if ( ( *hVBAPdata )->back_virtual_speaker_node_division_gains != NULL ) { - count_free( ( *hVBAPdata )->back_virtual_speaker_node_division_gains ); + free( ( *hVBAPdata )->back_virtual_speaker_node_division_gains ); } if ( ( *hVBAPdata )->search_struct[0].triplets != NULL ) { - count_free( ( *hVBAPdata )->search_struct[0].triplets ); + free( ( *hVBAPdata )->search_struct[0].triplets ); } if ( ( *hVBAPdata )->num_search_structs == 2 && ( *hVBAPdata )->search_struct[1].triplets != NULL ) { - count_free( ( *hVBAPdata )->search_struct[1].triplets ); + free( ( *hVBAPdata )->search_struct[1].triplets ); } - count_free( *hVBAPdata ); + free( *hVBAPdata ); *hVBAPdata = NULL; return; @@ -1450,7 +1450,7 @@ static void get_half_sphere_connection_options( } /* Init memory for connection options */ - c_options = (ConnectionOption *) count_malloc( sizeof( ConnectionOption ) * max_num_connection_options ); + c_options = (ConnectionOption *) malloc( sizeof( ConnectionOption ) * max_num_connection_options ); for ( c = 0; c < max_num_connection_options; c++ ) { c_options[c].chA = -1; @@ -1505,7 +1505,7 @@ static void get_half_sphere_connection_options( /* Init memory for reordered connection options and order by arc_weighted, * which informs of the preference order of the connections in case they cross */ - c_options_reorder = (ConnectionOption *) count_malloc( sizeof( ConnectionOption ) * ( *num_connection_options ) ); + c_options_reorder = (ConnectionOption *) malloc( sizeof( ConnectionOption ) * ( *num_connection_options ) ); for ( c = 0; c < *num_connection_options; c++ ) { float min_arc_weighted; @@ -1530,7 +1530,7 @@ static void get_half_sphere_connection_options( /* Set reordered connections as output and free temporary data */ *connection_options_pr = c_options_reorder; - count_free( c_options ); + free( c_options ); return; } @@ -1676,7 +1676,7 @@ static void formulate_half_sphere_connections( } c_opt++; } - count_free( connection_options ); + free( connection_options ); return; } diff --git a/lib_dec/jbm_jb4_circularbuffer.c b/lib_dec/jbm_jb4_circularbuffer.c index 410e907f13..0ef0793bc7 100644 --- a/lib_dec/jbm_jb4_circularbuffer.c +++ b/lib_dec/jbm_jb4_circularbuffer.c @@ -72,7 +72,7 @@ struct JB4_CIRCULARBUFFER /* Creates a circular buffer (FIFO) */ int16_t JB4_CIRCULARBUFFER_Create( JB4_CIRCULARBUFFER_HANDLE *ph ) { - JB4_CIRCULARBUFFER_HANDLE h = count_malloc( sizeof( struct JB4_CIRCULARBUFFER ) ); + JB4_CIRCULARBUFFER_HANDLE h = malloc( sizeof( struct JB4_CIRCULARBUFFER ) ); h->data = NULL; h->capacity = 0; @@ -103,9 +103,9 @@ void JB4_CIRCULARBUFFER_Destroy( if ( h->data ) { - count_free( h->data ); + free( h->data ); } - count_free( h ); + free( h ); *ph = NULL; return; @@ -119,7 +119,7 @@ int16_t JB4_CIRCULARBUFFER_Init( { /* keep one element free to be able to decide between full/empty buffer */ ++capacity; - h->data = count_malloc( capacity * sizeof( JB4_CIRCULARBUFFER_ELEMENT ) ); + h->data = malloc( capacity * sizeof( JB4_CIRCULARBUFFER_ELEMENT ) ); h->capacity = capacity; h->writePos = 0; diff --git a/lib_dec/jbm_jb4_inputbuffer.c b/lib_dec/jbm_jb4_inputbuffer.c index 8eaf547838..bcd965de57 100644 --- a/lib_dec/jbm_jb4_inputbuffer.c +++ b/lib_dec/jbm_jb4_inputbuffer.c @@ -70,7 +70,7 @@ struct JB4_INPUTBUFFER int16_t JB4_INPUTBUFFER_Create( JB4_INPUTBUFFER_HANDLE *ph ) { - JB4_INPUTBUFFER_HANDLE h = count_malloc( sizeof( struct JB4_INPUTBUFFER ) ); + JB4_INPUTBUFFER_HANDLE h = malloc( sizeof( struct JB4_INPUTBUFFER ) ); h->data = NULL; h->capacity = 0; @@ -100,8 +100,8 @@ void JB4_INPUTBUFFER_Destroy( return; } if ( h->data ) - count_free( h->data ); - count_free( h ); + free( h->data ); + free( h ); *ph = NULL; return; @@ -117,7 +117,7 @@ int16_t JB4_INPUTBUFFER_Init( /* keep one element free to be able to decide between full/empty buffer */ ++capacity; - h->data = count_malloc( capacity * sizeof( JB4_INPUTBUFFER_ELEMENT ) ); + h->data = malloc( capacity * sizeof( JB4_INPUTBUFFER_ELEMENT ) ); h->capacity = capacity; h->writePos = 0; h->readPos = 0; diff --git a/lib_dec/jbm_jb4_jmf.c b/lib_dec/jbm_jb4_jmf.c index 2095049373..945f9abcf0 100644 --- a/lib_dec/jbm_jb4_jmf.c +++ b/lib_dec/jbm_jb4_jmf.c @@ -92,7 +92,7 @@ static void JB4_JMF_popFront( JB4_JMF_HANDLE h ); int16_t JB4_JMF_Create( JB4_JMF_HANDLE *ph ) { - JB4_JMF_HANDLE h = count_malloc( sizeof( struct JB4_JMF ) ); + JB4_JMF_HANDLE h = malloc( sizeof( struct JB4_JMF ) ); JB4_CIRCULARBUFFER_Create( &h->fifo ); JB4_CIRCULARBUFFER_Create( &h->offsetFifo ); @@ -131,7 +131,7 @@ void JB4_JMF_Destroy( JB4_CIRCULARBUFFER_Destroy( &h->offsetFifo ); JB4_CIRCULARBUFFER_Destroy( &h->timeStampFifo ); - count_free( h ); + free( h ); *ph = NULL; return; diff --git a/lib_dec/jbm_jb4sb.c b/lib_dec/jbm_jb4sb.c index 806ed99487..e23de4aa04 100644 --- a/lib_dec/jbm_jb4sb.c +++ b/lib_dec/jbm_jb4sb.c @@ -208,7 +208,7 @@ ivas_error JB4_Create( int16_t iter; JB4_HANDLE h; - if ( ( h = count_malloc( sizeof( struct JB4 ) ) ) == NULL ) + if ( ( h = malloc( sizeof( struct JB4 ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for JB4 structure\n" ) ); } @@ -270,7 +270,7 @@ ivas_error JB4_Create( /* allocate memory for data units */ for ( iter = 0; iter < MAX_JBM_SLOTS; ++iter ) { - h->memorySlots[iter].data = count_malloc( MAX_AU_SIZE ); + h->memorySlots[iter].data = malloc( MAX_AU_SIZE ); h->freeMemorySlots[iter] = &h->memorySlots[iter]; } h->nFreeMemorySlots = MAX_JBM_SLOTS; @@ -304,10 +304,10 @@ void JB4_Destroy( for ( i = 0; i < MAX_JBM_SLOTS; ++i ) { - count_free( h->memorySlots[i].data ); + free( h->memorySlots[i].data ); } - count_free( h ); + free( h ); *ph = NULL; return; diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 3fb6065c06..de0f2b22ec 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -150,7 +150,7 @@ uint8_t apa_init( } /* allocate state struct */ - ps = (apa_state_t *) count_malloc( sizeof( apa_state_t ) ); + ps = (apa_state_t *) malloc( sizeof( apa_state_t ) ); if ( !ps ) { return 2; @@ -402,7 +402,7 @@ bool apa_exit( } /* deallocate state struct */ - count_free( *pps ); + free( *pps ); /* set pointer to NULL */ *pps = NULL; diff --git a/lib_dec/jbm_pcmdsp_fifo.c b/lib_dec/jbm_pcmdsp_fifo.c index 6219098d4f..1a5aa340dd 100644 --- a/lib_dec/jbm_pcmdsp_fifo.c +++ b/lib_dec/jbm_pcmdsp_fifo.c @@ -51,7 +51,7 @@ int16_t pcmdsp_fifo_create( PCMDSP_FIFO_HANDLE *ph ) { - PCMDSP_FIFO_HANDLE h = count_malloc( sizeof( struct PCMDSP_FIFO ) ); + PCMDSP_FIFO_HANDLE h = malloc( sizeof( struct PCMDSP_FIFO ) ); h->size = 0; h->capacity = 0; @@ -85,10 +85,10 @@ void pcmdsp_fifo_destroy( if ( h->dataBegin ) { - count_free( h->dataBegin ); + free( h->dataBegin ); } - count_free( h ); + free( h ); *ph = NULL; return; @@ -106,7 +106,7 @@ int16_t pcmdsp_fifo_init( h->capacity = nSamples; h->nBytesPerSampleSet = nChannels * nBytesPerSample; nDataBytes = nSamples * h->nBytesPerSampleSet; - h->dataBegin = count_malloc( nDataBytes ); + h->dataBegin = malloc( nDataBytes ); h->dataEnd = h->dataBegin + nDataBytes; h->dataWriteIterator = h->dataBegin; h->dataReadIterator = h->dataBegin; diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 5a81f77346..792aafe180 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -121,7 +121,7 @@ ivas_error IVAS_DEC_Open( * Allocate and initialize IVAS application decoder handle *-----------------------------------------------------------------*/ - if ( ( *phIvasDec = (IVAS_DEC_HANDLE) count_malloc( sizeof( struct IVAS_DEC ) ) ) == NULL ) + if ( ( *phIvasDec = (IVAS_DEC_HANDLE) malloc( sizeof( struct IVAS_DEC ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for IVAS decoder handle" ); } @@ -143,12 +143,12 @@ ivas_error IVAS_DEC_Open( * Initialize IVAS-codec decoder state *-----------------------------------------------------------------*/ - if ( ( hIvasDec->st_ivas = (Decoder_Struct *) count_malloc( sizeof( Decoder_Struct ) ) ) == NULL ) + if ( ( hIvasDec->st_ivas = (Decoder_Struct *) malloc( sizeof( Decoder_Struct ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for IVAS decoder structure" ); } - if ( ( hIvasDec->st_ivas->hDecoderConfig = (DECODER_CONFIG_HANDLE) count_malloc( sizeof( DECODER_CONFIG ) ) ) == NULL ) + if ( ( hIvasDec->st_ivas->hDecoderConfig = (DECODER_CONFIG_HANDLE) malloc( sizeof( DECODER_CONFIG ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for Decoder config structure" ); } @@ -259,7 +259,7 @@ void IVAS_DEC_Close( ( *phIvasDec )->st_ivas = NULL; } - count_free( *phIvasDec ); + free( *phIvasDec ); *phIvasDec = NULL; phIvasDec = NULL; @@ -506,7 +506,7 @@ ivas_error IVAS_DEC_EnableVoIP( { return error; } - hIvasDec->hVoIP = count_malloc( sizeof( IVAS_DEC_VOIP ) ); + hIvasDec->hVoIP = malloc( sizeof( IVAS_DEC_VOIP ) ); hIvasDec->hVoIP->lastDecodedWasActive = 0; hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); @@ -1464,7 +1464,7 @@ static void IVAS_DEC_Close_VoIP( pcmdsp_fifo_destroy( &hVoIP->hFifoAfterTimeScaler ); - count_free( hVoIP ); + free( hVoIP ); return; } diff --git a/lib_dec/ppp_dec.c b/lib_dec/ppp_dec.c index 5fd442f810..adea4ea6a9 100644 --- a/lib_dec/ppp_dec.c +++ b/lib_dec/ppp_dec.c @@ -177,7 +177,7 @@ ivas_error ppp_quarter_decoder( tmp = (float) get_next_indice( st, 3 ); DTFS_phaseShift( CURRCW_Q_DTFS, (float) ( PI2 * ( tmp - 3 ) / CURRCW_Q_DTFS->lag ) ); - count_free( PREVDTFS ); + free( PREVDTFS ); return error; } diff --git a/lib_dec/voiced_dec.c b/lib_dec/voiced_dec.c index 68e2b67818..2771224ac0 100644 --- a/lib_dec/voiced_dec.c +++ b/lib_dec/voiced_dec.c @@ -233,9 +233,9 @@ ivas_error ppp_voiced_decoder( mvr2r( dtfs_temp->a, hSC_VBR->dtfs_dec_a, MAXLAG_WI ); mvr2r( dtfs_temp->b, hSC_VBR->dtfs_dec_b, MAXLAG_WI ); - count_free( TMPDTFS ); - count_free( CURRP_Q_D ); - count_free( dtfs_temp ); + free( TMPDTFS ); + free( CURRP_Q_D ); + free( dtfs_temp ); return error; } diff --git a/lib_enc/fd_cng_enc.c b/lib_enc/fd_cng_enc.c index c0133f2366..016847877c 100644 --- a/lib_enc/fd_cng_enc.c +++ b/lib_enc/fd_cng_enc.c @@ -66,7 +66,7 @@ ivas_error createFdCngEnc( *hFdCngEnc = NULL; /* Allocate memory */ - hs = (HANDLE_FD_CNG_ENC) count_malloc( sizeof( FD_CNG_ENC ) ); + hs = (HANDLE_FD_CNG_ENC) malloc( sizeof( FD_CNG_ENC ) ); if ( hs == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for FD CNG ENC structure" ); @@ -282,7 +282,7 @@ void deleteFdCngEnc( if ( hsEnc != NULL ) { deleteFdCngCom( &( hsEnc->hFdCngCom ) ); - count_free( hsEnc ); + free( hsEnc ); *hFdCngEnc = NULL; } diff --git a/lib_enc/init_enc.c b/lib_enc/init_enc.c index 6a2643186a..722e4bfe12 100644 --- a/lib_enc/init_enc.c +++ b/lib_enc/init_enc.c @@ -107,7 +107,7 @@ ivas_error init_encoder( if ( !vad_only_flag ) { - if ( ( st->hBstr = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBstr = (BSTR_ENC_HANDLE) malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Bitstream structure\n" ) ); } @@ -256,7 +256,7 @@ ivas_error init_encoder( if ( !vad_only_flag ) { - if ( ( st->hSignalBuf = (SIGNAL_BUFFERS_ENC_HANDLE) count_malloc( sizeof( SIGNAL_BUFFERS_ENC_DATA ) ) ) == NULL ) + if ( ( st->hSignalBuf = (SIGNAL_BUFFERS_ENC_HANDLE) malloc( sizeof( SIGNAL_BUFFERS_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Signal buffers\n" ) ); } @@ -311,7 +311,7 @@ ivas_error init_encoder( if ( idchan == 0 || st->element_mode == IVAS_CPE_TD || st->element_mode == IVAS_CPE_MDCT || st->element_mode == EVS_MONO ) { - if ( ( st->hNoiseEst = (NOISE_EST_HANDLE) count_malloc( sizeof( NOISE_EST_DATA ) ) ) == NULL ) + if ( ( st->hNoiseEst = (NOISE_EST_HANDLE) malloc( sizeof( NOISE_EST_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Noise estimation\n" ); } @@ -332,7 +332,7 @@ ivas_error init_encoder( if ( ( idchan == 0 || st->element_mode == IVAS_CPE_TD || st->element_mode == IVAS_CPE_MDCT || st->element_mode == EVS_MONO ) && ( !vad_only_flag ) ) { - if ( ( st->hVAD = (VAD_HANDLE) count_malloc( sizeof( VAD_DATA ) ) ) == NULL ) + if ( ( st->hVAD = (VAD_HANDLE) malloc( sizeof( VAD_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VAD\n" ) ); } @@ -348,7 +348,7 @@ ivas_error init_encoder( /* CLDFB-based VAD */ if ( st->element_mode == EVS_MONO ) { - if ( ( st->hVAD_CLDFB = (VAD_CLDFB_HANDLE) count_malloc( sizeof( T_CldfbVadState ) ) ) == NULL ) + if ( ( st->hVAD_CLDFB = (VAD_CLDFB_HANDLE) malloc( sizeof( T_CldfbVadState ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CLDFB VAD\n" ) ); } @@ -366,7 +366,7 @@ ivas_error init_encoder( if ( idchan == 0 || st->element_mode == IVAS_CPE_TD || st->element_mode == IVAS_CPE_MDCT || st->element_mode == EVS_MONO ) { - if ( ( st->hSpMusClas = (SP_MUS_CLAS_HANDLE) count_malloc( sizeof( SP_MUS_CLAS_DATA ) ) ) == NULL ) + if ( ( st->hSpMusClas = (SP_MUS_CLAS_HANDLE) malloc( sizeof( SP_MUS_CLAS_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Speech/music classifier\n" ) ); } @@ -414,7 +414,7 @@ ivas_error init_encoder( if ( ( ( idchan == 0 && st->Opt_DTX_ON ) || st->element_mode == EVS_MONO ) || ( st->element_mode == IVAS_CPE_MDCT && st->Opt_DTX_ON ) ) { - if ( ( st->hDtxEnc = (DTX_ENC_HANDLE) count_malloc( sizeof( DTX_ENC_DATA ) ) ) == NULL ) + if ( ( st->hDtxEnc = (DTX_ENC_HANDLE) malloc( sizeof( DTX_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX variables\n" ) ); } @@ -464,7 +464,7 @@ ivas_error init_encoder( if ( ( ( idchan == 0 && st->Opt_DTX_ON && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == EVS_MONO ) ) { - if ( ( st->hTdCngEnc = (TD_CNG_ENC_HANDLE) count_malloc( sizeof( TD_CNG_ENC_DATA ) ) ) == NULL ) + if ( ( st->hTdCngEnc = (TD_CNG_ENC_HANDLE) malloc( sizeof( TD_CNG_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX/TD CNG\n" ) ); } @@ -500,7 +500,7 @@ ivas_error init_encoder( if ( st->Opt_SC_VBR || st->element_mode == EVS_MONO ) { - if ( ( st->hSC_VBR = (SC_VBR_ENC_HANDLE) count_malloc( sizeof( SC_VBR_ENC_DATA ) ) ) == NULL ) + if ( ( st->hSC_VBR = (SC_VBR_ENC_HANDLE) malloc( sizeof( SC_VBR_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SC-VBR\n" ) ); } @@ -521,7 +521,7 @@ ivas_error init_encoder( if ( st->Opt_AMR_WB || st->element_mode == EVS_MONO ) { - if ( ( st->hAmrwb_IO = (AMRWB_IO_ENC_HANDLE) count_malloc( sizeof( AMRWB_IO_ENC_DATA ) ) ) == NULL ) + if ( ( st->hAmrwb_IO = (AMRWB_IO_ENC_HANDLE) malloc( sizeof( AMRWB_IO_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AMR-WB IO\n" ) ); } @@ -539,7 +539,7 @@ ivas_error init_encoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hLPDmem = (LPD_state_HANDLE) count_malloc( sizeof( LPD_state ) ) ) == NULL ) + if ( ( st->hLPDmem = (LPD_state_HANDLE) malloc( sizeof( LPD_state ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LPDmem\n" ) ); } @@ -560,7 +560,7 @@ ivas_error init_encoder( if ( ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) || st->element_mode == IVAS_CPE_TD ) { - if ( ( st->hGSCEnc = (GSC_ENC_HANDLE) count_malloc( sizeof( GSC_ENC_DATA ) ) ) == NULL ) + if ( ( st->hGSCEnc = (GSC_ENC_HANDLE) malloc( sizeof( GSC_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for GSC\n" ) ); } @@ -578,7 +578,7 @@ ivas_error init_encoder( if ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) { - if ( ( st->hBWE_TD = (TD_BWE_ENC_HANDLE) count_malloc( sizeof( TD_BWE_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_TD = (TD_BWE_ENC_HANDLE) malloc( sizeof( TD_BWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD BWE\n" ) ); } @@ -603,7 +603,7 @@ ivas_error init_encoder( if ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) { - if ( ( st->hBWE_FD = (FD_BWE_ENC_HANDLE) count_malloc( sizeof( FD_BWE_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD = (FD_BWE_ENC_HANDLE) malloc( sizeof( FD_BWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FD BWE\n" ) ); } @@ -621,7 +621,7 @@ ivas_error init_encoder( if ( st->element_mode != IVAS_CPE_TD && st->element_mode != IVAS_CPE_MDCT && idchan == 0 ) { - if ( ( st->hHQ_core = (HQ_ENC_HANDLE) count_malloc( sizeof( HQ_ENC_DATA ) ) ) == NULL ) + if ( ( st->hHQ_core = (HQ_ENC_HANDLE) malloc( sizeof( HQ_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ core\n" ) ); } @@ -657,7 +657,7 @@ ivas_error init_encoder( if ( st->Opt_RF_ON || st->element_mode == EVS_MONO ) { - if ( ( st->hRF = (RF_ENC_HANDLE) count_malloc( sizeof( RF_ENC_DATA ) ) ) == NULL ) + if ( ( st->hRF = (RF_ENC_HANDLE) malloc( sizeof( RF_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for RF\n" ) ); } @@ -676,7 +676,7 @@ ivas_error init_encoder( if ( st->element_mode == EVS_MONO ) { - if ( ( st->hTECEnc = (TEC_ENC_HANDLE) count_malloc( sizeof( TEC_ENC_DATA ) ) ) == NULL ) + if ( ( st->hTECEnc = (TEC_ENC_HANDLE) malloc( sizeof( TEC_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TEC\n" ) ); } @@ -694,7 +694,7 @@ ivas_error init_encoder( // VE: reduction possible for MCT_CHAN_MODE_LFE channel - see I1-172 if ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) { - if ( ( st->hTcxEnc = (TCX_ENC_HANDLE) count_malloc( sizeof( TCX_ENC_DATA ) ) ) == NULL ) + if ( ( st->hTcxEnc = (TCX_ENC_HANDLE) malloc( sizeof( TCX_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxEnc\n" ) ); } @@ -711,7 +711,7 @@ ivas_error init_encoder( /* MDCT classifier */ MDCT_classifier_reset( st->hTcxEnc ); - if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) + if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); } @@ -728,7 +728,7 @@ ivas_error init_encoder( if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hIGFEnc = (IGF_ENC_INSTANCE_HANDLE) count_malloc( sizeof( IGF_ENC_INSTANCE ) ) ) == NULL ) + if ( ( st->hIGFEnc = (IGF_ENC_INSTANCE_HANDLE) malloc( sizeof( IGF_ENC_INSTANCE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hIGFEnc\n" ) ); } @@ -756,7 +756,7 @@ ivas_error init_encoder( /* PLC encoder */ if ( st->element_mode == EVS_MONO ) { - if ( ( st->hPlcExt = (PLC_ENC_EVS_HANDLE) count_malloc( sizeof( PLC_ENC_EVS ) ) ) == NULL ) + if ( ( st->hPlcExt = (PLC_ENC_EVS_HANDLE) malloc( sizeof( PLC_ENC_EVS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hPlcExt\n" ) ); } @@ -803,7 +803,7 @@ ivas_error init_encoder( if ( st->mct_chan_mode != MCT_CHAN_MODE_LFE ) { - if ( ( st->hTranDet = (TRAN_DET_HANDLE) count_malloc( sizeof( TRAN_DET_DATA ) ) ) == NULL ) + if ( ( st->hTranDet = (TRAN_DET_HANDLE) malloc( sizeof( TRAN_DET_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Transient Detection\n" ) ); } diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 0eb287763f..25415fe203 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -157,7 +157,7 @@ ivas_error ivas_spar_agc_enc_open( int16_t input_frame; #endif - if ( ( hAgc = (ivas_agc_enc_state_t *) count_malloc( sizeof( ivas_agc_enc_state_t ) ) ) == NULL ) + if ( ( hAgc = (ivas_agc_enc_state_t *) malloc( sizeof( ivas_agc_enc_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR AGC encoder" ); } @@ -168,20 +168,20 @@ ivas_error ivas_spar_agc_enc_open( #endif #ifdef FIX_AGC_WINFUNC_MEMORY - if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * ( input_frame - delay ) ) ) == NULL ) + if ( ( hAgc->agc_com.winFunc = (float *) malloc( sizeof( float ) * ( input_frame - delay ) ) ) == NULL ) #else - if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * input_frame ) ) == NULL ) + if ( ( hAgc->agc_com.winFunc = (float *) malloc( sizeof( float ) * input_frame ) ) == NULL ) #endif { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR AGC encoder" ); } - if ( ( hAgc->gain_state = (ivas_agc_enc_chan_state_t *) count_malloc( sizeof( ivas_agc_enc_chan_state_t ) * nchan_inp ) ) == NULL ) + if ( ( hAgc->gain_state = (ivas_agc_enc_chan_state_t *) malloc( sizeof( ivas_agc_enc_chan_state_t ) * nchan_inp ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR AGC encoder" ); } - if ( ( hAgc->gain_data = (ivas_agc_chan_data_t *) count_malloc( sizeof( ivas_agc_chan_data_t ) * nchan_inp ) ) == NULL ) + if ( ( hAgc->gain_data = (ivas_agc_chan_data_t *) malloc( sizeof( ivas_agc_chan_data_t ) * nchan_inp ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR AGC encoder" ); } @@ -214,16 +214,16 @@ void ivas_spar_agc_enc_close( if ( hAgc != NULL ) { - count_free( hAgc->agc_com.winFunc ); + free( hAgc->agc_com.winFunc ); hAgc->agc_com.winFunc = NULL; - count_free( hAgc->gain_state ); + free( hAgc->gain_state ); hAgc->gain_state = NULL; - count_free( hAgc->gain_data ); + free( hAgc->gain_data ); hAgc->gain_data = NULL; - count_free( hAgc ); + free( hAgc ); hAgc = NULL; } diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 9e544da1ba..391b3678d7 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -184,7 +184,7 @@ ivas_error ivas_corecoder_enc_reconfig( /* special case, if we have MCT now and had a single CPE before, remove the MDCT Stereo handles */ if ( st_ivas->nCPE > 1 && nCPE_old == 1 ) { - count_free( st_ivas->hCPE[0]->hStereoMdct ); + free( st_ivas->hCPE[0]->hStereoMdct ); st_ivas->hCPE[0]->hStereoMdct = NULL; } @@ -333,7 +333,7 @@ ivas_error ivas_corecoder_enc_reconfig( { if ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData == NULL ) { - if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) + if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData = (BSTR_ENC_HANDLE) malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MetaData structure\n" ) ); } @@ -346,7 +346,7 @@ ivas_error ivas_corecoder_enc_reconfig( { if ( st_ivas->hCPE[cpe_id]->hMetaData != NULL ) { - count_free( st_ivas->hCPE[cpe_id]->hMetaData ); + free( st_ivas->hCPE[cpe_id]->hMetaData ); st_ivas->hCPE[cpe_id]->hMetaData = NULL; } } @@ -355,7 +355,7 @@ ivas_error ivas_corecoder_enc_reconfig( /* special case, if we have a single CPE and had MCT before we need to init the MDCT stereo handles here */ if ( st_ivas->nCPE == 1 && nCPE_old > 1 ) { - if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 32f49f936d..7d033f7806 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -725,7 +725,7 @@ ivas_error create_cpe_enc( * Allocate CPE handle *-----------------------------------------------------------------*/ - if ( ( hCPE = (CPE_ENC_HANDLE) count_malloc( sizeof( CPE_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE = (CPE_ENC_HANDLE) malloc( sizeof( CPE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CPE\n" ) ); } @@ -759,7 +759,7 @@ ivas_error create_cpe_enc( { if ( ivas_format == STEREO_FORMAT || ivas_format == MASA_FORMAT || ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) ) { - if ( ( hCPE->input_mem[n] = (float *) count_malloc( sizeof( float ) * NS2SA( input_Fs, STEREO_DFT_OVL_NS ) ) ) == NULL ) + if ( ( hCPE->input_mem[n] = (float *) malloc( sizeof( float ) * NS2SA( input_Fs, STEREO_DFT_OVL_NS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT stereo memory\n" ) ); } @@ -776,7 +776,7 @@ ivas_error create_cpe_enc( * stereo classifier: allocate and initialize *-----------------------------------------------------------------*/ - if ( ( hCPE->hStereoClassif = (STEREO_CLASSIF_HANDLE) count_malloc( sizeof( STEREO_CLASSIF_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoClassif = (STEREO_CLASSIF_HANDLE) malloc( sizeof( STEREO_CLASSIF_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for stereo classifier structure\n" ) ); } @@ -789,7 +789,7 @@ ivas_error create_cpe_enc( if ( !( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) && ( cpe_id == ( st_ivas->nCPE - 1 ) ) ) { - if ( ( hCPE->hMetaData = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hMetaData = (BSTR_ENC_HANDLE) malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MetaData structure\n" ) ); } @@ -801,7 +801,7 @@ ivas_error create_cpe_enc( for ( n = 0; n < CPE_CHANNELS; n++ ) { - if ( ( st = (ENC_CORE_HANDLE) count_malloc( sizeof( Encoder_State ) ) ) == NULL ) + if ( ( st = (ENC_CORE_HANDLE) malloc( sizeof( Encoder_State ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CoreCoder structure\n" ) ); } @@ -835,7 +835,7 @@ ivas_error create_cpe_enc( { if ( hCPE->element_mode == IVAS_CPE_TD || hCPE->element_mode == IVAS_CPE_DFT ) { - if ( ( hCPE->hStereoCng = (STEREO_CNG_ENC_HANDLE) count_malloc( sizeof( STEREO_CNG_ENC ) ) ) == NULL ) + if ( ( hCPE->hStereoCng = (STEREO_CNG_ENC_HANDLE) malloc( sizeof( STEREO_CNG_ENC ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo Cng for Unified/TD \n" ) ); } @@ -888,7 +888,7 @@ ivas_error create_cpe_enc( if ( hCPE->element_mode != IVAS_CPE_MDCT ) { - if ( ( hCPE->hStereoTCA = (STEREO_TCA_ENC_HANDLE) count_malloc( sizeof( STEREO_TCA_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTCA = (STEREO_TCA_ENC_HANDLE) malloc( sizeof( STEREO_TCA_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } @@ -902,7 +902,7 @@ ivas_error create_cpe_enc( if ( hCPE->element_mode != IVAS_CPE_MDCT ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_ENC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_ENC_HANDLE) malloc( sizeof( STEREO_ICBWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } @@ -916,7 +916,7 @@ ivas_error create_cpe_enc( if ( hCPE->element_mode == IVAS_CPE_TD ) { - if ( ( hCPE->hStereoTD = (STEREO_TD_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_TD_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTD = (STEREO_TD_ENC_DATA_HANDLE) malloc( sizeof( STEREO_TD_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD Stereo\n" ) ); } @@ -930,7 +930,7 @@ ivas_error create_cpe_enc( if ( hCPE->element_mode == IVAS_CPE_MDCT && st_ivas->nCPE == 1 ) { - if ( ( hCPE->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -971,7 +971,7 @@ void destroy_cpe_enc( if ( hCPE->hStereoClassif != NULL ) { - count_free( hCPE->hStereoClassif ); + free( hCPE->hStereoClassif ); hCPE->hStereoClassif = NULL; } @@ -979,14 +979,14 @@ void destroy_cpe_enc( { if ( hCPE->input_mem[n] != NULL ) { - count_free( hCPE->input_mem[n] ); + free( hCPE->input_mem[n] ); hCPE->input_mem[n] = NULL; } } if ( hCPE->hMetaData != NULL ) { - count_free( hCPE->hMetaData ); + free( hCPE->hMetaData ); hCPE->hMetaData = NULL; } @@ -1009,7 +1009,7 @@ void destroy_cpe_enc( if ( hCPE->hStereoTD != NULL ) { - count_free( hCPE->hStereoTD ); + free( hCPE->hStereoTD ); hCPE->hStereoTD = NULL; } @@ -1021,19 +1021,19 @@ void destroy_cpe_enc( if ( hCPE->hStereoTCA != NULL ) { - count_free( hCPE->hStereoTCA ); + free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; } if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } if ( hCPE->hStereoCng != NULL ) { - count_free( hCPE->hStereoCng ); + free( hCPE->hStereoCng ); hCPE->hStereoCng = NULL; } @@ -1046,7 +1046,7 @@ void destroy_cpe_enc( } } - count_free( hCPE ); + free( hCPE ); return; } diff --git a/lib_enc/ivas_dirac_enc.c b/lib_enc/ivas_dirac_enc.c index f8e3d4f8bf..4566d07751 100644 --- a/lib_enc/ivas_dirac_enc.c +++ b/lib_enc/ivas_dirac_enc.c @@ -70,12 +70,12 @@ ivas_error ivas_dirac_enc_open( error = IVAS_ERR_OK; - if ( ( hDirAC = (DIRAC_ENC_HANDLE) count_malloc( sizeof( DIRAC_ENC_DATA ) ) ) == NULL ) + if ( ( hDirAC = (DIRAC_ENC_HANDLE) malloc( sizeof( DIRAC_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } - if ( ( hDirAC->hConfig = (DIRAC_CONFIG_DATA_HANDLE) count_malloc( sizeof( DIRAC_CONFIG_DATA ) ) ) == NULL ) + if ( ( hDirAC->hConfig = (DIRAC_CONFIG_DATA_HANDLE) malloc( sizeof( DIRAC_CONFIG_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC Config\n" ) ); } @@ -125,7 +125,7 @@ ivas_error ivas_dirac_enc_open( for ( i = 0; i < DIRAC_MAX_ANA_CHANS; i++ ) { - hDirAC->sba_synchro_buffer[i] = (float *) count_malloc( hDirAC->num_samples_synchro_delay * sizeof( float ) ); + hDirAC->sba_synchro_buffer[i] = (float *) malloc( hDirAC->num_samples_synchro_delay * sizeof( float ) ); set_zero( hDirAC->sba_synchro_buffer[i], hDirAC->num_samples_synchro_delay ); } } @@ -140,11 +140,11 @@ ivas_error ivas_dirac_enc_open( /* intensity 3-dim */ for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) { - hDirAC->direction_vector_m[i] = (float **) count_malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) ); + hDirAC->direction_vector_m[i] = (float **) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) ); for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) { - hDirAC->direction_vector_m[i][j] = (float *) count_malloc( DIRAC_MAX_NBANDS * sizeof( float ) ); + hDirAC->direction_vector_m[i][j] = (float *) malloc( DIRAC_MAX_NBANDS * sizeof( float ) ); set_f( hDirAC->direction_vector_m[i][j], 0.0f, DIRAC_MAX_NBANDS ); } } @@ -152,14 +152,14 @@ ivas_error ivas_dirac_enc_open( hDirAC->no_col_avg_diff = (int16_t) ( DIRAC_NO_COL_AVG_DIFF_NS / dirac_slot_ns ); for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) { - hDirAC->buffer_intensity_real[i] = (float **) count_malloc( hDirAC->no_col_avg_diff * sizeof( float * ) ); + hDirAC->buffer_intensity_real[i] = (float **) malloc( hDirAC->no_col_avg_diff * sizeof( float * ) ); for ( j = 0; j < hDirAC->no_col_avg_diff; j++ ) { - hDirAC->buffer_intensity_real[i][j] = (float *) count_malloc( DIRAC_MAX_NBANDS * sizeof( float ) ); + hDirAC->buffer_intensity_real[i][j] = (float *) malloc( DIRAC_MAX_NBANDS * sizeof( float ) ); set_f( hDirAC->buffer_intensity_real[i][j], 0.0f, DIRAC_MAX_NBANDS ); } } - hDirAC->buffer_energy = (float *) count_malloc( DIRAC_MAX_NBANDS * hDirAC->no_col_avg_diff * sizeof( float ) ); + hDirAC->buffer_energy = (float *) malloc( DIRAC_MAX_NBANDS * hDirAC->no_col_avg_diff * sizeof( float ) ); set_f( hDirAC->buffer_energy, 0.0f, DIRAC_MAX_NBANDS * hDirAC->no_col_avg_diff ); if ( st_ivas->hQMetaData->useLowerRes ) @@ -243,7 +243,7 @@ void ivas_dirac_enc_close( { if ( hDirAC->sba_synchro_buffer[i] != NULL ) { - count_free( hDirAC->sba_synchro_buffer[i] ); + free( hDirAC->sba_synchro_buffer[i] ); hDirAC->sba_synchro_buffer[i] = NULL; } } @@ -253,7 +253,7 @@ void ivas_dirac_enc_close( { for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) { - count_free( hDirAC->direction_vector_m[i][j] ); + free( hDirAC->direction_vector_m[i][j] ); hDirAC->direction_vector_m[i][j] = NULL; } @@ -261,28 +261,28 @@ void ivas_dirac_enc_close( { if ( hDirAC->buffer_intensity_real[i][j] != 0 ) { - count_free( hDirAC->buffer_intensity_real[i][j] ); + free( hDirAC->buffer_intensity_real[i][j] ); hDirAC->buffer_intensity_real[i][j] = NULL; } } - count_free( hDirAC->buffer_intensity_real[i] ); + free( hDirAC->buffer_intensity_real[i] ); hDirAC->buffer_intensity_real[i] = NULL; - count_free( hDirAC->direction_vector_m[i] ); + free( hDirAC->direction_vector_m[i] ); hDirAC->direction_vector_m[i] = NULL; } - count_free( hDirAC->buffer_energy ); + free( hDirAC->buffer_energy ); hDirAC->buffer_energy = NULL; if ( hDirAC->hConfig != NULL ) { - count_free( hDirAC->hConfig ); + free( hDirAC->hConfig ); hDirAC->hConfig = NULL; } - count_free( hDirAC ); + free( hDirAC ); return; } diff --git a/lib_enc/ivas_enc_cov_handler.c b/lib_enc/ivas_enc_cov_handler.c index b94a29bcb4..02d34abb52 100644 --- a/lib_enc/ivas_enc_cov_handler.c +++ b/lib_enc/ivas_enc_cov_handler.c @@ -74,7 +74,7 @@ ivas_error ivas_spar_covar_enc_open( error = IVAS_ERR_OK; - if ( ( hCovState = (ivas_enc_cov_handler_state_t *) count_malloc( sizeof( ivas_enc_cov_handler_state_t ) ) ) == NULL ) + if ( ( hCovState = (ivas_enc_cov_handler_state_t *) malloc( sizeof( ivas_enc_cov_handler_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR COV encoder" ); } @@ -125,7 +125,7 @@ void ivas_spar_covar_enc_close( ivas_spar_covar_smooth_enc_close( &hCovState->pCov_dtx_state, nchan_inp ); - count_free( hCovState ); + free( hCovState ); hCovState = NULL; } diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 9bea3565d8..c4b69473de 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -266,18 +266,18 @@ ivas_error front_vad_create( { FRONT_VAD_ENC_HANDLE hFrontVad; - if ( ( hFrontVad = (FRONT_VAD_ENC_HANDLE) count_malloc( sizeof( FRONT_VAD_ENC ) ) ) == NULL ) + if ( ( hFrontVad = (FRONT_VAD_ENC_HANDLE) malloc( sizeof( FRONT_VAD_ENC ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for front-VAD structure \n" ) ); } - if ( ( hFrontVad->hNoiseEst = (NOISE_EST_HANDLE) count_malloc( sizeof( NOISE_EST_DATA ) ) ) == NULL ) + if ( ( hFrontVad->hNoiseEst = (NOISE_EST_HANDLE) malloc( sizeof( NOISE_EST_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Noise estimation\n" ) ); } noise_est_init( hFrontVad->hNoiseEst ); - if ( ( hFrontVad->hVAD = (VAD_HANDLE) count_malloc( sizeof( VAD_DATA ) ) ) == NULL ) + if ( ( hFrontVad->hVAD = (VAD_HANDLE) malloc( sizeof( VAD_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VAD\n" ) ); } @@ -296,7 +296,7 @@ ivas_error front_vad_create( hFrontVad->delay_buf = NULL; if ( hFrontVad->delay_samples > 0 ) { - if ( ( hFrontVad->delay_buf = (float *) count_malloc( hFrontVad->delay_samples * sizeof( float ) ) ) == NULL ) + if ( ( hFrontVad->delay_buf = (float *) malloc( hFrontVad->delay_samples * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VAD delay buffer\n" ) ); } @@ -322,19 +322,19 @@ void front_vad_destroy( { if ( *hFrontVad != NULL ) { - count_free( ( *hFrontVad )->hNoiseEst ); + free( ( *hFrontVad )->hNoiseEst ); ( *hFrontVad )->hNoiseEst = NULL; - count_free( ( *hFrontVad )->hVAD ); + free( ( *hFrontVad )->hVAD ); ( *hFrontVad )->hVAD = NULL; if ( ( *hFrontVad )->delay_buf != NULL ) { - count_free( ( *hFrontVad )->delay_buf ); + free( ( *hFrontVad )->delay_buf ); ( *hFrontVad )->delay_buf = NULL; } - count_free( *hFrontVad ); + free( *hFrontVad ); *hFrontVad = NULL; } diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index b7642f2cd4..d47dc3322f 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -692,7 +692,7 @@ ivas_error ivas_init_encoder( if ( n > 0 ) { - if ( ( st_ivas->mem_hp20_in = (float **) count_malloc( n * sizeof( float * ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_in = (float **) malloc( n * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -704,7 +704,7 @@ ivas_error ivas_init_encoder( for ( i = 0; i < n; i++ ) { - if ( ( st_ivas->mem_hp20_in[i] = (float *) count_malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_in[i] = (float *) malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -730,137 +730,137 @@ void destroy_core_enc( if ( hCoreCoder->hSignalBuf != NULL ) { - count_free( hCoreCoder->hSignalBuf ); + free( hCoreCoder->hSignalBuf ); hCoreCoder->hSignalBuf = NULL; } if ( hCoreCoder->hBstr != NULL ) { - count_free( hCoreCoder->hBstr ); + free( hCoreCoder->hBstr ); hCoreCoder->hBstr = NULL; } if ( hCoreCoder->hLPDmem != NULL ) { - count_free( hCoreCoder->hLPDmem ); + free( hCoreCoder->hLPDmem ); hCoreCoder->hLPDmem = NULL; } if ( hCoreCoder->hTranDet != NULL ) { - count_free( hCoreCoder->hTranDet ); + free( hCoreCoder->hTranDet ); hCoreCoder->hTranDet = NULL; } if ( hCoreCoder->hNoiseEst != NULL ) { - count_free( hCoreCoder->hNoiseEst ); + free( hCoreCoder->hNoiseEst ); hCoreCoder->hNoiseEst = NULL; } if ( hCoreCoder->hVAD != NULL ) { - count_free( hCoreCoder->hVAD ); + free( hCoreCoder->hVAD ); hCoreCoder->hVAD = NULL; } if ( hCoreCoder->hVAD_CLDFB != NULL ) { - count_free( hCoreCoder->hVAD_CLDFB ); + free( hCoreCoder->hVAD_CLDFB ); hCoreCoder->hVAD_CLDFB = NULL; } if ( hCoreCoder->hTdCngEnc != NULL ) { - count_free( hCoreCoder->hTdCngEnc ); + free( hCoreCoder->hTdCngEnc ); hCoreCoder->hTdCngEnc = NULL; } if ( hCoreCoder->hDtxEnc != NULL ) { - count_free( hCoreCoder->hDtxEnc ); + free( hCoreCoder->hDtxEnc ); hCoreCoder->hDtxEnc = NULL; } if ( hCoreCoder->hSpMusClas != NULL ) { - count_free( hCoreCoder->hSpMusClas ); + free( hCoreCoder->hSpMusClas ); hCoreCoder->hSpMusClas = NULL; } if ( hCoreCoder->hGSCEnc != NULL ) { - count_free( hCoreCoder->hGSCEnc ); + free( hCoreCoder->hGSCEnc ); hCoreCoder->hGSCEnc = NULL; } if ( hCoreCoder->hSC_VBR != NULL ) { - count_free( hCoreCoder->hSC_VBR ); + free( hCoreCoder->hSC_VBR ); hCoreCoder->hSC_VBR = NULL; } if ( hCoreCoder->hAmrwb_IO != NULL ) { - count_free( hCoreCoder->hAmrwb_IO ); + free( hCoreCoder->hAmrwb_IO ); hCoreCoder->hAmrwb_IO = NULL; } if ( hCoreCoder->hBWE_TD != NULL ) { - count_free( hCoreCoder->hBWE_TD ); + free( hCoreCoder->hBWE_TD ); hCoreCoder->hBWE_TD = NULL; } if ( hCoreCoder->hBWE_FD != NULL ) { - count_free( hCoreCoder->hBWE_FD ); + free( hCoreCoder->hBWE_FD ); hCoreCoder->hBWE_FD = NULL; } if ( hCoreCoder->hRF != NULL ) { - count_free( hCoreCoder->hRF ); + free( hCoreCoder->hRF ); hCoreCoder->hRF = NULL; } if ( hCoreCoder->hTECEnc != NULL ) { - count_free( hCoreCoder->hTECEnc ); + free( hCoreCoder->hTECEnc ); hCoreCoder->hTECEnc = NULL; } if ( hCoreCoder->hTcxEnc != NULL ) { - count_free( hCoreCoder->hTcxEnc ); + free( hCoreCoder->hTcxEnc ); hCoreCoder->hTcxEnc = NULL; } if ( hCoreCoder->hTcxCfg != NULL ) { - count_free( hCoreCoder->hTcxCfg ); + free( hCoreCoder->hTcxCfg ); hCoreCoder->hTcxCfg = NULL; } if ( hCoreCoder->hIGFEnc != NULL ) { - count_free( hCoreCoder->hIGFEnc ); + free( hCoreCoder->hIGFEnc ); hCoreCoder->hIGFEnc = NULL; } if ( hCoreCoder->hPlcExt != NULL ) { - count_free( hCoreCoder->hPlcExt ); + free( hCoreCoder->hPlcExt ); hCoreCoder->hPlcExt = NULL; } if ( hCoreCoder->hHQ_core != NULL ) { - count_free( hCoreCoder->hHQ_core ); + free( hCoreCoder->hHQ_core ); hCoreCoder->hHQ_core = NULL; } - count_free( hCoreCoder ); + free( hCoreCoder ); return; } @@ -909,10 +909,10 @@ void ivas_destroy_enc( for ( i = 0; i < n; i++ ) { - count_free( st_ivas->mem_hp20_in[i] ); + free( st_ivas->mem_hp20_in[i] ); st_ivas->mem_hp20_in[i] = NULL; } - count_free( st_ivas->mem_hp20_in ); + free( st_ivas->mem_hp20_in ); st_ivas->mem_hp20_in = NULL; } @@ -921,7 +921,7 @@ void ivas_destroy_enc( { if ( st_ivas->hIsmMetaData[n] != NULL ) { - count_free( st_ivas->hIsmMetaData[n] ); + free( st_ivas->hIsmMetaData[n] ); st_ivas->hIsmMetaData[n] = NULL; } } @@ -995,12 +995,12 @@ void ivas_destroy_enc( /* Encoder configuration handle */ if ( st_ivas->hEncoderConfig != NULL ) { - count_free( st_ivas->hEncoderConfig ); + free( st_ivas->hEncoderConfig ); st_ivas->hEncoderConfig = NULL; } /* main IVAS handle */ - count_free( st_ivas ); + free( st_ivas ); return; } diff --git a/lib_enc/ivas_ism_metadata_enc.c b/lib_enc/ivas_ism_metadata_enc.c index 20f5be82f1..6efaf666cb 100644 --- a/lib_enc/ivas_ism_metadata_enc.c +++ b/lib_enc/ivas_ism_metadata_enc.c @@ -740,7 +740,7 @@ ivas_error create_ism_metadata_enc( /* allocate ISm metadata handles */ for ( ch = 0; ch < n_ISms; ch++ ) { - if ( ( st_ivas->hIsmMetaData[ch] = (ISM_METADATA_HANDLE) count_malloc( sizeof( ISM_METADATA_FRAME ) ) ) == NULL ) + if ( ( st_ivas->hIsmMetaData[ch] = (ISM_METADATA_HANDLE) malloc( sizeof( ISM_METADATA_FRAME ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ISm MetaData\n" ) ); } diff --git a/lib_enc/ivas_ism_param_enc.c b/lib_enc/ivas_ism_param_enc.c index c379383ea8..7a2131d88f 100644 --- a/lib_enc/ivas_ism_param_enc.c +++ b/lib_enc/ivas_ism_param_enc.c @@ -258,13 +258,13 @@ ivas_error ivas_param_ism_enc_open( error = IVAS_ERR_OK; /* Assign memory to DirAC handle */ - if ( ( hDirAC = (DIRAC_ENC_HANDLE) count_malloc( sizeof( DIRAC_ENC_DATA ) ) ) == NULL ) + if ( ( hDirAC = (DIRAC_ENC_HANDLE) malloc( sizeof( DIRAC_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC\n" ) ); } /* Assign memory to Param Object handle */ - if ( ( hDirAC->hParamIsm = (PARAM_ISM_CONFIG_HANDLE) count_malloc( sizeof( PARAM_ISM_CONFIG_DATA ) ) ) == NULL ) + if ( ( hDirAC->hParamIsm = (PARAM_ISM_CONFIG_HANDLE) malloc( sizeof( PARAM_ISM_CONFIG_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Param ISM\n" ) ); } @@ -326,11 +326,11 @@ void ivas_param_ism_enc_close( if ( hDirAC->hParamIsm != NULL ) { - count_free( hDirAC->hParamIsm ); + free( hDirAC->hParamIsm ); hDirAC->hParamIsm = NULL; } - count_free( hDirAC ); + free( hDirAC ); return; } diff --git a/lib_enc/ivas_lfe_enc.c b/lib_enc/ivas_lfe_enc.c index d1c70cbc62..c34b77e9de 100644 --- a/lib_enc/ivas_lfe_enc.c +++ b/lib_enc/ivas_lfe_enc.c @@ -391,7 +391,7 @@ ivas_error ivas_create_lfe_enc( * Allocate LFE handle *-----------------------------------------------------------------*/ - if ( ( hLFE = (LFE_ENC_HANDLE) count_malloc( sizeof( LFE_ENC_DATA ) ) ) == NULL ) + if ( ( hLFE = (LFE_ENC_HANDLE) malloc( sizeof( LFE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LFE\n" ) ); } @@ -406,7 +406,7 @@ ivas_error ivas_create_lfe_enc( * Input memory buffer: allocate and initialize *-----------------------------------------------------------------*/ - if ( ( hLFE->old_wtda_audio = (float *) count_malloc( sizeof( float ) * NS2SA( input_Fs, IVAS_LFE_FADE_NS ) ) ) == NULL ) + if ( ( hLFE->old_wtda_audio = (float *) malloc( sizeof( float ) * NS2SA( input_Fs, IVAS_LFE_FADE_NS ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LFE memory\n" ) ); } @@ -417,7 +417,7 @@ ivas_error ivas_create_lfe_enc( * LFE Window: allocate and initialize *-----------------------------------------------------------------*/ - if ( ( hLFE->pWindow_state = (LFE_WINDOW_HANDLE) count_malloc( sizeof( LFE_WINDOW_DATA ) ) ) == NULL ) + if ( ( hLFE->pWindow_state = (LFE_WINDOW_HANDLE) malloc( sizeof( LFE_WINDOW_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LFE window structure\n" ) ); } @@ -465,16 +465,16 @@ void ivas_lfe_enc_close( { if ( hLFE->old_wtda_audio != NULL ) { - count_free( hLFE->old_wtda_audio ); + free( hLFE->old_wtda_audio ); hLFE->old_wtda_audio = NULL; } if ( hLFE->pWindow_state ) { - count_free( hLFE->pWindow_state ); + free( hLFE->pWindow_state ); hLFE->pWindow_state = NULL; } - count_free( hLFE ); + free( hLFE ); return; } diff --git a/lib_enc/ivas_masa_enc.c b/lib_enc/ivas_masa_enc.c index 270868386f..e1eb467aef 100644 --- a/lib_enc/ivas_masa_enc.c +++ b/lib_enc/ivas_masa_enc.c @@ -88,7 +88,7 @@ ivas_error ivas_masa_enc_open( error = IVAS_ERR_OK; - if ( ( hMasa = (MASA_ENCODER_HANDLE) count_malloc( sizeof( MASA_ENCODER ) ) ) == NULL ) + if ( ( hMasa = (MASA_ENCODER_HANDLE) malloc( sizeof( MASA_ENCODER ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MASA encoder\n" ) ); } @@ -123,7 +123,7 @@ ivas_error ivas_masa_enc_open( { for ( i = 0; i < st_ivas->nchan_transport; i++ ) { - hMasa->data.delay_buffer[i] = (float *) count_malloc( MASA_ENC_DELAY_SLOTS * CLDFB_NO_CHANNELS_MAX * sizeof( float ) ); + hMasa->data.delay_buffer[i] = (float *) malloc( MASA_ENC_DELAY_SLOTS * CLDFB_NO_CHANNELS_MAX * sizeof( float ) ); set_f( hMasa->data.delay_buffer[i], 0.0f, MASA_ENC_DELAY_SLOTS * CLDFB_NO_CHANNELS_MAX ); } } @@ -163,12 +163,12 @@ void ivas_masa_enc_close( { for ( i = 0; i < nchan_transport; i++ ) { - count_free( hMasa->data.delay_buffer[i] ); + free( hMasa->data.delay_buffer[i] ); hMasa->data.delay_buffer[i] = NULL; } } - count_free( hMasa ); + free( hMasa ); return; } @@ -219,7 +219,7 @@ void ivas_masa_encode( if ( Opt_DTX_ON ) { - h_orig_metadata = (MASA_DIRECTIONAL_SPATIAL_META *) count_malloc( MASA_MAXIMUM_DIRECTIONS * sizeof( MASA_DIRECTIONAL_SPATIAL_META ) ); + h_orig_metadata = (MASA_DIRECTIONAL_SPATIAL_META *) malloc( MASA_MAXIMUM_DIRECTIONS * sizeof( MASA_DIRECTIONAL_SPATIAL_META ) ); for ( i = 0; i < MASA_MAXIMUM_DIRECTIONS; i++ ) { for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) @@ -348,7 +348,7 @@ void ivas_masa_encode( } } - count_free( h_orig_metadata ); + free( h_orig_metadata ); ivas_qmetadata_enc_sid_encode( hMetaData, hQMetaData, masa_sid_descriptor, ivas_format, SBA_MODE_NONE ); diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 848b1afdd6..6599456ca9 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -97,7 +97,7 @@ ivas_error ivas_param_mc_enc_open( error = IVAS_ERR_OK; /* Sanity Checks */ - if ( ( hParamMC = (PARAM_MC_ENC_HANDLE) count_malloc( sizeof( PARAM_MC_ENC_DATA ) ) ) == NULL ) + if ( ( hParamMC = (PARAM_MC_ENC_HANDLE) malloc( sizeof( PARAM_MC_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Paramtric MC\n" ) ); } @@ -233,7 +233,7 @@ void ivas_param_mc_enc_close( ivas_FB_mixer_close( &hParamMC->hFbMixer, sampling_rate ); - count_free( hParamMC ); + free( hParamMC ); return; } diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index 92a1950580..c3f50b11c8 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -111,7 +111,7 @@ ivas_error ivas_mcmasa_enc_open( assert( st_ivas->hMasa != NULL && "MASA encoder handle is not present" ); hMasa = st_ivas->hMasa; - if ( NULL == ( hMcMasa = (MCMASA_ENC_HANDLE) count_malloc( sizeof( MCMASA_ENC_DATA ) ) ) ) + if ( NULL == ( hMcMasa = (MCMASA_ENC_HANDLE) malloc( sizeof( MCMASA_ENC_DATA ) ) ) ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for McMasa\n" ) ); } @@ -204,9 +204,9 @@ ivas_error ivas_mcmasa_enc_open( if ( hMcMasa->separateChannelEnabled ) { /* TD Energy calculation with LP */ - hMcMasa->delay_buffer_lfe[0] = (float *) count_malloc( NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS + DIRAC_SLOT_ENC_NS ) * sizeof( float ) ); + hMcMasa->delay_buffer_lfe[0] = (float *) malloc( NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS + DIRAC_SLOT_ENC_NS ) * sizeof( float ) ); set_zero( hMcMasa->delay_buffer_lfe[0], NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS + DIRAC_SLOT_ENC_NS ) ); - hMcMasa->delay_buffer_lfe[1] = (float *) count_malloc( NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS + DIRAC_SLOT_ENC_NS ) * sizeof( float ) ); + hMcMasa->delay_buffer_lfe[1] = (float *) malloc( NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS + DIRAC_SLOT_ENC_NS ) * sizeof( float ) ); set_zero( hMcMasa->delay_buffer_lfe[1], NS2SA( input_Fs, DELAY_DIRAC_ENC_CMP_NS + DIRAC_SLOT_ENC_NS ) ); hMcMasa->hFbMixerLfe = NULL; } @@ -236,7 +236,7 @@ ivas_error ivas_mcmasa_enc_open( bufferSize = (int16_t) ( ( input_Fs / FRAMES_PER_SEC ) / MAX_PARAM_SPATIAL_SUBFRAMES ); for ( i = 0; i < 2; i++ ) { - hMcMasa->lfeAnaRingBuffer[i] = (float *) count_malloc( bufferSize * sizeof( float ) ); + hMcMasa->lfeAnaRingBuffer[i] = (float *) malloc( bufferSize * sizeof( float ) ); set_zero( hMcMasa->lfeAnaRingBuffer[i], bufferSize ); hMcMasa->lowpassSum[i] = 0.0f; } @@ -250,33 +250,33 @@ ivas_error ivas_mcmasa_enc_open( /* intensity 3-dim */ for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) { - hMcMasa->direction_vector_m[i] = (float **) count_malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) ); + hMcMasa->direction_vector_m[i] = (float **) malloc( MAX_PARAM_SPATIAL_SUBFRAMES * sizeof( float * ) ); for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) { - hMcMasa->direction_vector_m[i][j] = (float *) count_malloc( hMcMasa->nbands * sizeof( float ) ); + hMcMasa->direction_vector_m[i][j] = (float *) malloc( hMcMasa->nbands * sizeof( float ) ); } } hMcMasa->no_col_avg_diff = (int8_t) ( DIRAC_NO_COL_AVG_DIFF_NS / dirac_slot_ns ); for ( i = 0; i < DIRAC_NUM_DIMS; i++ ) { - hMcMasa->buffer_intensity_real[i] = (float **) count_malloc( hMcMasa->no_col_avg_diff * sizeof( float * ) ); + hMcMasa->buffer_intensity_real[i] = (float **) malloc( hMcMasa->no_col_avg_diff * sizeof( float * ) ); for ( j = 0; j < hMcMasa->no_col_avg_diff; j++ ) { - hMcMasa->buffer_intensity_real[i][j] = (float *) count_malloc( hMcMasa->nbands * sizeof( float ) ); + hMcMasa->buffer_intensity_real[i][j] = (float *) malloc( hMcMasa->nbands * sizeof( float ) ); set_zero( hMcMasa->buffer_intensity_real[i][j], hMcMasa->nbands ); } } - hMcMasa->buffer_intensity_real_vert = (float **) count_malloc( hMcMasa->no_col_avg_diff * sizeof( float * ) ); + hMcMasa->buffer_intensity_real_vert = (float **) malloc( hMcMasa->no_col_avg_diff * sizeof( float * ) ); for ( j = 0; j < hMcMasa->no_col_avg_diff; j++ ) { - hMcMasa->buffer_intensity_real_vert[j] = (float *) count_malloc( hMcMasa->nbands * sizeof( float ) ); + hMcMasa->buffer_intensity_real_vert[j] = (float *) malloc( hMcMasa->nbands * sizeof( float ) ); set_zero( hMcMasa->buffer_intensity_real_vert[j], hMcMasa->nbands ); } - hMcMasa->buffer_energy = (float *) count_malloc( hMcMasa->nbands * hMcMasa->no_col_avg_diff * sizeof( float ) ); + hMcMasa->buffer_energy = (float *) malloc( hMcMasa->nbands * hMcMasa->no_col_avg_diff * sizeof( float ) ); set_zero( hMcMasa->buffer_energy, hMcMasa->nbands * hMcMasa->no_col_avg_diff ); if ( st_ivas->hEncoderConfig->mc_input_setup == MC_LS_SETUP_5_1 ) @@ -411,14 +411,14 @@ void ivas_mcmasa_enc_close( if ( hMcMasa->separateChannelEnabled ) { - count_free( hMcMasa->delay_buffer_lfe[0] ); - count_free( hMcMasa->delay_buffer_lfe[1] ); + free( hMcMasa->delay_buffer_lfe[0] ); + free( hMcMasa->delay_buffer_lfe[1] ); } if ( hMcMasa->separateChannelEnabled ) { for ( i = 0; i < 2; i++ ) { - count_free( hMcMasa->lfeAnaRingBuffer[i] ); + free( hMcMasa->lfeAnaRingBuffer[i] ); } } @@ -434,35 +434,35 @@ void ivas_mcmasa_enc_close( { for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; j++ ) { - count_free( hMcMasa->direction_vector_m[i][j] ); + free( hMcMasa->direction_vector_m[i][j] ); hMcMasa->direction_vector_m[i][j] = NULL; } for ( j = 0; j < hMcMasa->no_col_avg_diff; j++ ) { - count_free( hMcMasa->buffer_intensity_real[i][j] ); + free( hMcMasa->buffer_intensity_real[i][j] ); hMcMasa->buffer_intensity_real[i][j] = NULL; } - count_free( hMcMasa->buffer_intensity_real[i] ); + free( hMcMasa->buffer_intensity_real[i] ); hMcMasa->buffer_intensity_real[i] = NULL; - count_free( hMcMasa->direction_vector_m[i] ); + free( hMcMasa->direction_vector_m[i] ); hMcMasa->direction_vector_m[i] = NULL; } for ( j = 0; j < hMcMasa->no_col_avg_diff; j++ ) { - count_free( hMcMasa->buffer_intensity_real_vert[j] ); + free( hMcMasa->buffer_intensity_real_vert[j] ); hMcMasa->buffer_intensity_real_vert[j] = NULL; } - count_free( hMcMasa->buffer_intensity_real_vert ); + free( hMcMasa->buffer_intensity_real_vert ); hMcMasa->buffer_intensity_real_vert = NULL; - count_free( hMcMasa->buffer_energy ); + free( hMcMasa->buffer_energy ); hMcMasa->buffer_energy = NULL; - count_free( hMcMasa ); + free( hMcMasa ); return; } diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index b6b75bec44..414d525ebd 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -178,7 +178,7 @@ ivas_error create_mct_enc( * Allocate MCT handle *-----------------------------------------------------------------*/ - if ( ( hMCT = (MCT_ENC_HANDLE) count_malloc( sizeof( MCT_ENC_DATA ) ) ) == NULL ) + if ( ( hMCT = (MCT_ENC_HANDLE) malloc( sizeof( MCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT\n" ) ); } @@ -242,7 +242,7 @@ ivas_error create_mct_enc( { assert( st_ivas->hEncoderConfig->element_mode_init == IVAS_CPE_MDCT && "MCT is not supported for other stereo modes" ); - if ( ( hMCT->hBlockData[n] = (MCT_BLOCK_DATA_HANDLE) count_malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n] = (MCT_BLOCK_DATA_HANDLE) malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT block data structure\n" ) ); } @@ -256,7 +256,7 @@ ivas_error create_mct_enc( * MDCT stereo initialization *-----------------------------------------------------------------*/ - if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -407,7 +407,7 @@ ivas_error mct_enc_reconfigure( if ( hMCT->hBlockData[n] == NULL ) { mem_init = 1; - if ( ( hMCT->hBlockData[n] = (MCT_BLOCK_DATA_HANDLE) count_malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n] = (MCT_BLOCK_DATA_HANDLE) malloc( sizeof( MCT_BLOCK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MCT block data structure\n" ) ); } @@ -421,7 +421,7 @@ ivas_error mct_enc_reconfigure( * MDCT stereo initialization *-----------------------------------------------------------------*/ - if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + if ( ( hMCT->hBlockData[n]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -441,11 +441,11 @@ ivas_error mct_enc_reconfigure( { if ( hMCT->hBlockData[n]->hStereoMdct != NULL ) { - count_free( hMCT->hBlockData[n]->hStereoMdct ); + free( hMCT->hBlockData[n]->hStereoMdct ); hMCT->hBlockData[n]->hStereoMdct = NULL; } - count_free( hMCT->hBlockData[n] ); + free( hMCT->hBlockData[n] ); hMCT->hBlockData[n] = NULL; } } @@ -492,16 +492,16 @@ void ivas_mct_enc_close( { if ( hMCT->hBlockData[n]->hStereoMdct != NULL ) { - count_free( hMCT->hBlockData[n]->hStereoMdct ); + free( hMCT->hBlockData[n]->hStereoMdct ); hMCT->hBlockData[n]->hStereoMdct = NULL; } - count_free( hMCT->hBlockData[n] ); + free( hMCT->hBlockData[n] ); hMCT->hBlockData[n] = NULL; } } - count_free( hMCT ); + free( hMCT ); return; } diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 32c229eb11..87d3c670f9 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -200,10 +200,10 @@ ivas_error ivas_sba_enc_reinit( for ( i = 0; i < n; i++ ) { - count_free( st_ivas->mem_hp20_in[i] ); + free( st_ivas->mem_hp20_in[i] ); st_ivas->mem_hp20_in[i] = NULL; } - count_free( st_ivas->mem_hp20_in ); + free( st_ivas->mem_hp20_in ); st_ivas->mem_hp20_in = NULL; } @@ -291,7 +291,7 @@ ivas_error ivas_sba_enc_reinit( if ( n > 0 ) { - if ( ( st_ivas->mem_hp20_in = (float **) count_malloc( n * sizeof( float * ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_in = (float **) malloc( n * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } @@ -303,7 +303,7 @@ ivas_error ivas_sba_enc_reinit( for ( i = 0; i < n; i++ ) { - if ( ( st_ivas->mem_hp20_in[i] = (float *) count_malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) + if ( ( st_ivas->mem_hp20_in[i] = (float *) malloc( L_HP20_MEM * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HP20 filter memory\n" ) ); } diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index b1b332d2f4..6b8a7de67b 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -286,7 +286,7 @@ ivas_error create_sce_enc( * Allocate SCE handle *-----------------------------------------------------------------*/ - if ( ( hSCE = (SCE_ENC_HANDLE) count_malloc( sizeof( SCE_ENC_DATA ) ) ) == NULL ) + if ( ( hSCE = (SCE_ENC_HANDLE) malloc( sizeof( SCE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SCE\n" ) ); } @@ -305,7 +305,7 @@ ivas_error create_sce_enc( if ( st_ivas->hEncoderConfig->ivas_format != MONO_FORMAT ) { - if ( ( hSCE->hMetaData = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) + if ( ( hSCE->hMetaData = (BSTR_ENC_HANDLE) malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MetaData structure\n" ) ); } @@ -319,7 +319,7 @@ ivas_error create_sce_enc( * Core Coder, 1 instance: allocate and initialize *-----------------------------------------------------------------*/ - if ( ( st = (ENC_CORE_HANDLE) count_malloc( sizeof( Encoder_State ) ) ) == NULL ) + if ( ( st = (ENC_CORE_HANDLE) malloc( sizeof( Encoder_State ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CoreCoder structure\n" ) ); } @@ -364,11 +364,11 @@ void destroy_sce_enc( if ( hSCE->hMetaData != NULL ) { - count_free( hSCE->hMetaData ); + free( hSCE->hMetaData ); hSCE->hMetaData = NULL; } - count_free( hSCE ); + free( hSCE ); return; } diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 9bd3732c3d..1d43d8eeb9 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -73,7 +73,7 @@ ivas_error ivas_spar_enc_open( error = IVAS_ERR_OK; /* SPAR encoder handle */ - if ( ( hSpar = (SPAR_ENC_HANDLE) count_malloc( sizeof( SPAR_ENC_DATA ) ) ) == NULL ) + if ( ( hSpar = (SPAR_ENC_HANDLE) malloc( sizeof( SPAR_ENC_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR encoder" ); } @@ -138,7 +138,7 @@ ivas_error ivas_spar_enc_open( hSpar->hPCA = NULL; if ( hEncoderConfig->Opt_PCA_ON ) { - if ( ( hSpar->hPCA = (PCA_ENC_STATE *) count_malloc( sizeof( PCA_ENC_STATE ) ) ) == NULL ) + if ( ( hSpar->hPCA = (PCA_ENC_STATE *) malloc( sizeof( PCA_ENC_STATE ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR PCA encoder" ); } @@ -179,7 +179,7 @@ ivas_error ivas_spar_enc_open( return error; } - if ( ( hSpar->hCoreCoderVAD = (ENC_CORE_HANDLE) count_malloc( sizeof( Encoder_State ) ) ) == NULL ) + if ( ( hSpar->hCoreCoderVAD = (ENC_CORE_HANDLE) malloc( sizeof( Encoder_State ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CoreCoder structure\n" ) ); } @@ -260,11 +260,11 @@ void ivas_spar_enc_close( /* PCA */ if ( hSpar->hPCA != NULL ) { - count_free( hSpar->hPCA ); + free( hSpar->hPCA ); hSpar->hPCA = NULL; } - count_free( hSpar ); + free( hSpar ); hSpar = NULL; } diff --git a/lib_enc/ivas_spar_md_enc.c b/lib_enc/ivas_spar_md_enc.c index 775a61228e..9faf183682 100644 --- a/lib_enc/ivas_spar_md_enc.c +++ b/lib_enc/ivas_spar_md_enc.c @@ -117,87 +117,87 @@ ivas_error ivas_spar_md_enc_open( error = IVAS_ERR_OK; - if ( ( hMdEnc = (ivas_spar_md_enc_state_t *) count_malloc( sizeof( ivas_spar_md_enc_state_t ) ) ) == NULL ) + if ( ( hMdEnc = (ivas_spar_md_enc_state_t *) malloc( sizeof( ivas_spar_md_enc_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD encoder" ); } num_channels = ivas_sba_get_nchan_metadata( sba_order ); - if ( ( hMdEnc->spar_md.band_coeffs = (ivas_band_coeffs_t *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( ivas_band_coeffs_t ) ) ) == NULL ) + if ( ( hMdEnc->spar_md.band_coeffs = (ivas_band_coeffs_t *) malloc( IVAS_MAX_NUM_BANDS * sizeof( ivas_band_coeffs_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for band_coeffs in SPAR MD" ); } - if ( ( hMdEnc->mixer_mat = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdEnc->mixer_mat = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdEnc->mixer_mat[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdEnc->mixer_mat[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdEnc->mixer_mat[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdEnc->mixer_mat[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } } } - if ( ( hMdEnc->cov_real = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdEnc->cov_real = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR cov real matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdEnc->cov_real[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdEnc->cov_real[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR cov real matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdEnc->cov_real[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdEnc->cov_real[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR cov real matrix" ); } } } - if ( ( hMdEnc->cov_dtx_real = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdEnc->cov_dtx_real = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR cov dtx real matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdEnc->cov_dtx_real[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdEnc->cov_dtx_real[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR cov dtx real matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdEnc->cov_dtx_real[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdEnc->cov_dtx_real[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR cov dtx real matrix" ); } } } - if ( ( hMdEnc->mixer_mat_local = (float ***) count_malloc( num_channels * sizeof( float ** ) ) ) == NULL ) + if ( ( hMdEnc->mixer_mat_local = (float ***) malloc( num_channels * sizeof( float ** ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( i = 0; i < num_channels; i++ ) { - if ( ( hMdEnc->mixer_mat_local[i] = (float **) count_malloc( num_channels * sizeof( float * ) ) ) == NULL ) + if ( ( hMdEnc->mixer_mat_local[i] = (float **) malloc( num_channels * sizeof( float * ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } for ( j = 0; j < num_channels; j++ ) { - if ( ( hMdEnc->mixer_mat_local[i][j] = (float *) count_malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) + if ( ( hMdEnc->mixer_mat_local[i][j] = (float *) malloc( IVAS_MAX_NUM_BANDS * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR MD matrix" ); } @@ -233,7 +233,7 @@ void ivas_spar_md_enc_close( if ( hMdEnc->spar_md.band_coeffs != NULL ) { - count_free( hMdEnc->spar_md.band_coeffs ); + free( hMdEnc->spar_md.band_coeffs ); hMdEnc->spar_md.band_coeffs = NULL; } if ( hMdEnc->mixer_mat != NULL ) @@ -242,11 +242,11 @@ void ivas_spar_md_enc_close( { for ( j = 0; j < num_channels; j++ ) { - count_free( hMdEnc->mixer_mat[i][j] ); + free( hMdEnc->mixer_mat[i][j] ); } - count_free( hMdEnc->mixer_mat[i] ); + free( hMdEnc->mixer_mat[i] ); } - count_free( hMdEnc->mixer_mat ); + free( hMdEnc->mixer_mat ); } if ( hMdEnc->cov_real != NULL ) @@ -256,11 +256,11 @@ void ivas_spar_md_enc_close( for ( j = 0; j < num_channels; j++ ) { - count_free( hMdEnc->cov_real[i][j] ); + free( hMdEnc->cov_real[i][j] ); } - count_free( hMdEnc->cov_real[i] ); + free( hMdEnc->cov_real[i] ); } - count_free( hMdEnc->cov_real ); + free( hMdEnc->cov_real ); } if ( hMdEnc->cov_dtx_real != NULL ) @@ -270,11 +270,11 @@ void ivas_spar_md_enc_close( for ( j = 0; j < num_channels; j++ ) { - count_free( hMdEnc->cov_dtx_real[i][j] ); + free( hMdEnc->cov_dtx_real[i][j] ); } - count_free( hMdEnc->cov_dtx_real[i] ); + free( hMdEnc->cov_dtx_real[i] ); } - count_free( hMdEnc->cov_dtx_real ); + free( hMdEnc->cov_dtx_real ); } if ( hMdEnc->mixer_mat_local != NULL ) @@ -284,16 +284,16 @@ void ivas_spar_md_enc_close( for ( j = 0; j < num_channels; j++ ) { - count_free( hMdEnc->mixer_mat_local[i][j] ); + free( hMdEnc->mixer_mat_local[i][j] ); } - count_free( hMdEnc->mixer_mat_local[i] ); + free( hMdEnc->mixer_mat_local[i] ); } - count_free( hMdEnc->mixer_mat_local ); + free( hMdEnc->mixer_mat_local ); } if ( hMdEnc != NULL ) { - count_free( hMdEnc ); + free( hMdEnc ); hMdEnc = NULL; } diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index ff49c3d789..ea83d6e3f7 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -269,17 +269,17 @@ ivas_error stereo_dft_enc_create( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: DFT Stereo memory already allocated\n" ); } - if ( ( hStereoDft_loc = (STEREO_DFT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_ENC_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc = (STEREO_DFT_ENC_DATA_HANDLE) malloc( sizeof( STEREO_DFT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT Stereo\n" ) ); } - if ( ( hStereoDft_loc->hConfig = (STEREO_DFT_CONFIG_DATA_HANDLE) count_malloc( sizeof( STEREO_DFT_CONFIG_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc->hConfig = (STEREO_DFT_CONFIG_DATA_HANDLE) malloc( sizeof( STEREO_DFT_CONFIG_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DFT Stereo Config\n" ) ); } - if ( ( hStereoDft_loc->hItd = (ITD_DATA_HANDLE) count_malloc( sizeof( ITD_DATA ) ) ) == NULL ) + if ( ( hStereoDft_loc->hItd = (ITD_DATA_HANDLE) malloc( sizeof( ITD_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ITD data\n" ) ); } @@ -695,17 +695,17 @@ void stereo_dft_enc_destroy( { if ( ( *hStereoDft )->hConfig != NULL ) { - count_free( ( *hStereoDft )->hConfig ); + free( ( *hStereoDft )->hConfig ); ( *hStereoDft )->hConfig = NULL; } if ( ( *hStereoDft )->hItd != NULL ) { - count_free( ( *hStereoDft )->hItd ); + free( ( *hStereoDft )->hItd ); ( *hStereoDft )->hItd = NULL; } - count_free( *hStereoDft ); + free( *hStereoDft ); *hStereoDft = NULL; return; diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index 8ce8cdbd09..c1aee73883 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -755,7 +755,7 @@ ivas_error stereo_dmx_evs_init_encoder( input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); hStereoDmxEVS = NULL; - if ( ( hStereoDmxEVS = (STEREO_DMX_EVS_ENC_HANDLE) count_malloc( sizeof( STEREO_DMX_EVS_ENC_DATA ) ) ) == NULL ) + if ( ( hStereoDmxEVS = (STEREO_DMX_EVS_ENC_HANDLE) malloc( sizeof( STEREO_DMX_EVS_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for STEREO_DMX_EVS_ENC_DATA\n" ) ); } @@ -789,7 +789,7 @@ ivas_error stereo_dmx_evs_init_encoder( } hStereoDmxEVS->hPOC = NULL; - if ( ( hStereoDmxEVS->hPOC = (STEREO_DMX_EVS_POC_HANDLE) count_malloc( sizeof( STEREO_DMX_EVS_POC_DATA ) ) ) == NULL ) + if ( ( hStereoDmxEVS->hPOC = (STEREO_DMX_EVS_POC_HANDLE) malloc( sizeof( STEREO_DMX_EVS_POC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for STEREO_DMX_EVS_POC_DATA\n" ) ); } @@ -859,11 +859,11 @@ void stereo_dmx_evs_close_encoder( { if ( hStereoDmxEVS->hPOC != NULL ) { - count_free( hStereoDmxEVS->hPOC ); + free( hStereoDmxEVS->hPOC ); hStereoDmxEVS->hPOC = NULL; } - count_free( hStereoDmxEVS ); + free( hStereoDmxEVS ); return; } diff --git a/lib_enc/ivas_stereo_mdct_stereo_enc.c b/lib_enc/ivas_stereo_mdct_stereo_enc.c index 28bb061548..a8bcc5e50a 100644 --- a/lib_enc/ivas_stereo_mdct_stereo_enc.c +++ b/lib_enc/ivas_stereo_mdct_stereo_enc.c @@ -1161,13 +1161,13 @@ void initMdctStereoEncData( { if ( hStereoMdct->hDft_ana != NULL ) { - count_free( hStereoMdct->hDft_ana ); + free( hStereoMdct->hDft_ana ); hStereoMdct->hDft_ana = NULL; } if ( hStereoMdct->hItd != NULL ) { - count_free( hStereoMdct->hItd ); + free( hStereoMdct->hItd ); hStereoMdct->hItd = NULL; } } @@ -1188,7 +1188,7 @@ ivas_error initMdctItdHandling( { if ( hStereoMdct->hItd == NULL ) { - if ( ( hStereoMdct->hItd = (ITD_DATA_HANDLE) count_malloc( sizeof( ITD_DATA ) ) ) == NULL ) + if ( ( hStereoMdct->hItd = (ITD_DATA_HANDLE) malloc( sizeof( ITD_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ITD data\n" ) ); } @@ -1196,7 +1196,7 @@ ivas_error initMdctItdHandling( if ( hStereoMdct->hDft_ana == NULL ) { - if ( ( hStereoMdct->hDft_ana = (DFT_ANA_HANDLE) count_malloc( sizeof( DFT_ANA ) ) ) == NULL ) + if ( ( hStereoMdct->hDft_ana = (DFT_ANA_HANDLE) malloc( sizeof( DFT_ANA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for ITD data\n" ) ); } @@ -1223,17 +1223,17 @@ void stereo_mdct_enc_destroy( { if ( ( *hStereoMdct )->hDft_ana != NULL ) { - count_free( ( *hStereoMdct )->hDft_ana ); + free( ( *hStereoMdct )->hDft_ana ); ( *hStereoMdct )->hDft_ana = NULL; } if ( ( *hStereoMdct )->hItd != NULL ) { - count_free( ( *hStereoMdct )->hItd ); + free( ( *hStereoMdct )->hItd ); ( *hStereoMdct )->hItd = NULL; } - count_free( *hStereoMdct ); + free( *hStereoMdct ); *hStereoMdct = NULL; return; diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index c618e4a3c7..c7b31d247b 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -55,7 +55,7 @@ static ivas_error allocate_CoreCoder_enc( { if ( st->hLPDmem == NULL && st->element_mode != IVAS_CPE_MDCT ) { - if ( ( st->hLPDmem = (LPD_state_HANDLE) count_malloc( sizeof( LPD_state ) ) ) == NULL ) + if ( ( st->hLPDmem = (LPD_state_HANDLE) malloc( sizeof( LPD_state ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for LPDmem\n" ) ); } @@ -64,7 +64,7 @@ static ivas_error allocate_CoreCoder_enc( if ( st->hGSCEnc == NULL && st->element_mode != IVAS_CPE_MDCT ) { - if ( ( st->hGSCEnc = (GSC_ENC_HANDLE) count_malloc( sizeof( GSC_ENC_DATA ) ) ) == NULL ) + if ( ( st->hGSCEnc = (GSC_ENC_HANDLE) malloc( sizeof( GSC_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for GSC\n" ) ); } @@ -73,7 +73,7 @@ static ivas_error allocate_CoreCoder_enc( if ( st->hNoiseEst == NULL ) { - if ( ( st->hNoiseEst = (NOISE_EST_HANDLE) count_malloc( sizeof( NOISE_EST_DATA ) ) ) == NULL ) + if ( ( st->hNoiseEst = (NOISE_EST_HANDLE) malloc( sizeof( NOISE_EST_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Noise estimation\n" ) ); } @@ -82,7 +82,7 @@ static ivas_error allocate_CoreCoder_enc( if ( st->hVAD == NULL ) { - if ( ( st->hVAD = (VAD_HANDLE) count_malloc( sizeof( VAD_DATA ) ) ) == NULL ) + if ( ( st->hVAD = (VAD_HANDLE) malloc( sizeof( VAD_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for VAD\n" ) ); } @@ -91,7 +91,7 @@ static ivas_error allocate_CoreCoder_enc( if ( st->hSpMusClas == NULL ) { - if ( ( st->hSpMusClas = (SP_MUS_CLAS_HANDLE) count_malloc( sizeof( SP_MUS_CLAS_DATA ) ) ) == NULL ) + if ( ( st->hSpMusClas = (SP_MUS_CLAS_HANDLE) malloc( sizeof( SP_MUS_CLAS_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Speech/music classifier\n" ) ); } @@ -114,25 +114,25 @@ static void deallocate_CoreCoder_TCX_enc( { if ( st->hTcxEnc != NULL ) { - count_free( st->hTcxEnc ); + free( st->hTcxEnc ); st->hTcxEnc = NULL; } if ( st->hTcxCfg != NULL ) { - count_free( st->hTcxCfg ); + free( st->hTcxCfg ); st->hTcxCfg = NULL; } if ( st->hIGFEnc != NULL ) { - count_free( st->hIGFEnc ); + free( st->hIGFEnc ); st->hIGFEnc = NULL; } if ( st->hHQ_core != NULL ) { - count_free( st->hHQ_core ); + free( st->hHQ_core ); st->hHQ_core = NULL; } @@ -152,31 +152,31 @@ static void deallocate_CoreCoder_enc( { if ( st->hLPDmem != NULL ) { - count_free( st->hLPDmem ); + free( st->hLPDmem ); st->hLPDmem = NULL; } if ( st->hGSCEnc != NULL ) { - count_free( st->hGSCEnc ); + free( st->hGSCEnc ); st->hGSCEnc = NULL; } if ( st->hNoiseEst != NULL && st->element_mode != IVAS_CPE_MDCT ) { - count_free( st->hNoiseEst ); + free( st->hNoiseEst ); st->hNoiseEst = NULL; } if ( st->hVAD != NULL && st->element_mode != IVAS_CPE_MDCT ) { - count_free( st->hVAD ); + free( st->hVAD ); st->hVAD = NULL; } if ( st->hSpMusClas != NULL && st->element_mode != IVAS_CPE_MDCT ) { - count_free( st->hSpMusClas ); + free( st->hSpMusClas ); st->hSpMusClas = NULL; } @@ -187,7 +187,7 @@ static void deallocate_CoreCoder_enc( if ( st->hBWE_TD != NULL ) { - count_free( st->hBWE_TD ); + free( st->hBWE_TD ); st->hBWE_TD = NULL; } @@ -198,7 +198,7 @@ static void deallocate_CoreCoder_enc( if ( st->hBWE_FD != NULL ) { - count_free( st->hBWE_FD ); + free( st->hBWE_FD ); st->hBWE_FD = NULL; } @@ -261,7 +261,7 @@ ivas_error stereo_memory_enc( /* deallocate data structure of the previous CPE mode */ if ( hCPE->hStereoTD != NULL ) { - count_free( hCPE->hStereoTD ); + free( hCPE->hStereoTD ); hCPE->hStereoTD = NULL; } @@ -283,7 +283,7 @@ ivas_error stereo_memory_enc( /* allocate ICBWE structure */ if ( hCPE->hStereoICBWE == NULL ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_ENC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_ENC_HANDLE) malloc( sizeof( STEREO_ICBWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } @@ -295,7 +295,7 @@ ivas_error stereo_memory_enc( st = hCPE->hCoreCoder[0]; if ( st->hHQ_core == NULL ) { - if ( ( st->hHQ_core = (HQ_ENC_HANDLE) count_malloc( sizeof( HQ_ENC_DATA ) ) ) == NULL ) + if ( ( st->hHQ_core = (HQ_ENC_HANDLE) malloc( sizeof( HQ_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ core\n" ) ); } @@ -332,7 +332,7 @@ ivas_error stereo_memory_enc( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: TD Stereo memory already allocated\n" ); } - if ( ( hCPE->hStereoTD = (STEREO_TD_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_TD_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTD = (STEREO_TD_ENC_DATA_HANDLE) malloc( sizeof( STEREO_TD_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD Stereo\n" ) ); } @@ -360,7 +360,7 @@ ivas_error stereo_memory_enc( { if ( hCPE->hCoreCoder[1]->hDtxEnc != NULL ) { - count_free( hCPE->hCoreCoder[1]->hDtxEnc ); + free( hCPE->hCoreCoder[1]->hDtxEnc ); hCPE->hCoreCoder[1]->hDtxEnc = NULL; } @@ -372,7 +372,7 @@ ivas_error stereo_memory_enc( if ( hCPE->hCoreCoder[0]->Opt_DTX_ON && hCPE->hCoreCoder[0]->hTdCngEnc == NULL ) { - if ( ( hCPE->hCoreCoder[0]->hTdCngEnc = (TD_CNG_ENC_HANDLE) count_malloc( sizeof( TD_CNG_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hCoreCoder[0]->hTdCngEnc = (TD_CNG_ENC_HANDLE) malloc( sizeof( TD_CNG_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX/TD CNG\n" ) ); } @@ -386,7 +386,7 @@ ivas_error stereo_memory_enc( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Error: TCA Stereo memory already allocated\n" ); } - if ( ( hCPE->hStereoTCA = (STEREO_TCA_ENC_HANDLE) count_malloc( sizeof( STEREO_TCA_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoTCA = (STEREO_TCA_ENC_HANDLE) malloc( sizeof( STEREO_TCA_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo TCA\n" ) ); } @@ -413,7 +413,7 @@ ivas_error stereo_memory_enc( /* allocate BWEs for primary channel */ if ( st->hBWE_TD == NULL ) { - if ( ( st->hBWE_TD = (TD_BWE_ENC_HANDLE) count_malloc( sizeof( TD_BWE_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_TD = (TD_BWE_ENC_HANDLE) malloc( sizeof( TD_BWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD BWE\n" ) ); } @@ -429,7 +429,7 @@ ivas_error stereo_memory_enc( InitSWBencBuffer( st->hBWE_TD ); ResetSHBbuffer_Enc( st->hBWE_TD ); - if ( ( st->hBWE_FD = (FD_BWE_ENC_HANDLE) count_malloc( sizeof( FD_BWE_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD = (FD_BWE_ENC_HANDLE) malloc( sizeof( FD_BWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FD BWE\n" ) ); } @@ -440,7 +440,7 @@ ivas_error stereo_memory_enc( /* allocate stereo CNG structure */ if ( hCPE->hStereoCng == NULL ) { - if ( ( hCPE->hStereoCng = (STEREO_CNG_ENC_HANDLE) count_malloc( sizeof( STEREO_CNG_ENC ) ) ) == NULL ) + if ( ( hCPE->hStereoCng = (STEREO_CNG_ENC_HANDLE) malloc( sizeof( STEREO_CNG_ENC ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo Cng for Unified/TD\n" ) ); } @@ -466,19 +466,19 @@ ivas_error stereo_memory_enc( if ( hCPE->hStereoTD != NULL ) { - count_free( hCPE->hStereoTD ); + free( hCPE->hStereoTD ); hCPE->hStereoTD = NULL; } if ( hCPE->hStereoTCA != NULL ) { - count_free( hCPE->hStereoTCA ); + free( hCPE->hStereoTCA ); hCPE->hStereoTCA = NULL; } if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } @@ -500,7 +500,7 @@ ivas_error stereo_memory_enc( /* allocate TCX/IGF structures for second channel */ st = hCPE->hCoreCoder[1]; - if ( ( st->hTcxEnc = (TCX_ENC_HANDLE) count_malloc( sizeof( TCX_ENC_DATA ) ) ) == NULL ) + if ( ( st->hTcxEnc = (TCX_ENC_HANDLE) malloc( sizeof( TCX_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxEnc\n" ) ); } @@ -515,19 +515,19 @@ ivas_error stereo_memory_enc( st->last_core = ACELP_CORE; /* needed to set-up TCX core in SetTCXModeInfo() */ } - if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) + if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); } - if ( ( st->hIGFEnc = (IGF_ENC_INSTANCE_HANDLE) count_malloc( sizeof( IGF_ENC_INSTANCE ) ) ) == NULL ) + if ( ( st->hIGFEnc = (IGF_ENC_INSTANCE_HANDLE) malloc( sizeof( IGF_ENC_INSTANCE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hIGFEnc\n" ) ); } st->igf = getIgfPresent( st->element_mode, st->total_brate, st->bwidth, st->rf_mode, st->mct_chan_mode ); /* allocate and initialize MDCT stereo structure */ - if ( ( hCPE->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); } @@ -562,7 +562,7 @@ ivas_error stereo_memory_enc( if ( st->hDtxEnc == NULL ) { - if ( ( st->hDtxEnc = (DTX_ENC_HANDLE) count_malloc( sizeof( DTX_ENC_DATA ) ) ) == NULL ) + if ( ( st->hDtxEnc = (DTX_ENC_HANDLE) malloc( sizeof( DTX_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTX variables\n" ) ); } @@ -571,7 +571,7 @@ ivas_error stereo_memory_enc( if ( st->hTdCngEnc != NULL ) { - count_free( st->hTdCngEnc ); + free( st->hTdCngEnc ); st->hTdCngEnc = NULL; } diff --git a/lib_enc/ivas_stereo_td_enc.c b/lib_enc/ivas_stereo_td_enc.c index 4874ba47b0..afd22f8c6c 100644 --- a/lib_enc/ivas_stereo_td_enc.c +++ b/lib_enc/ivas_stereo_td_enc.c @@ -190,7 +190,7 @@ ivas_error stereo_set_tdm( { if ( st->hBWE_TD != NULL ) { - count_free( st->hBWE_TD ); + free( st->hBWE_TD ); st->hBWE_TD = NULL; } @@ -198,7 +198,7 @@ ivas_error stereo_set_tdm( if ( st->hBWE_FD != NULL ) { - count_free( st->hBWE_FD ); + free( st->hBWE_FD ); st->hBWE_FD = NULL; } } @@ -206,7 +206,7 @@ ivas_error stereo_set_tdm( /* allocate ICBWE structure */ if ( hCPE->hStereoICBWE == NULL ) { - if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_ENC_HANDLE) count_malloc( sizeof( STEREO_ICBWE_ENC_DATA ) ) ) == NULL ) + if ( ( hCPE->hStereoICBWE = (STEREO_ICBWE_ENC_HANDLE) malloc( sizeof( STEREO_ICBWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Stereo ICBWE \n" ) ); } @@ -222,7 +222,7 @@ ivas_error stereo_set_tdm( /* deallocate ICBWE structure */ if ( hCPE->hStereoICBWE != NULL ) { - count_free( hCPE->hStereoICBWE ); + free( hCPE->hStereoICBWE ); hCPE->hStereoICBWE = NULL; } @@ -238,7 +238,7 @@ ivas_error stereo_set_tdm( /* allocate BWEs for secondary channel */ if ( st->hBWE_TD == NULL ) { - if ( ( st->hBWE_TD = (TD_BWE_ENC_HANDLE) count_malloc( sizeof( TD_BWE_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_TD = (TD_BWE_ENC_HANDLE) malloc( sizeof( TD_BWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD BWE\n" ) ); } @@ -251,7 +251,7 @@ ivas_error stereo_set_tdm( InitSWBencBuffer( st->hBWE_TD ); ResetSHBbuffer_Enc( st->hBWE_TD ); - if ( ( st->hBWE_FD = (FD_BWE_ENC_HANDLE) count_malloc( sizeof( FD_BWE_ENC_DATA ) ) ) == NULL ) + if ( ( st->hBWE_FD = (FD_BWE_ENC_HANDLE) malloc( sizeof( FD_BWE_ENC_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FD BWE\n" ) ); } diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index d828335a95..44e69a9f86 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -116,7 +116,7 @@ ivas_error IVAS_ENC_Open( #ifdef BITSTREAM_INDICES_MEMORY if ( ( *phIvasEnc = (IVAS_ENC_HANDLE) dynamic_malloc( sizeof( struct IVAS_ENC ) ) ) == NULL ) #else - if ( ( *phIvasEnc = (IVAS_ENC_HANDLE) count_malloc( sizeof( struct IVAS_ENC ) ) ) == NULL ) + if ( ( *phIvasEnc = (IVAS_ENC_HANDLE) malloc( sizeof( struct IVAS_ENC ) ) ) == NULL ) #endif { return IVAS_ERR_FAILED_ALLOC; @@ -157,12 +157,12 @@ ivas_error IVAS_ENC_Open( * Allocate IVAS-codec encoder state *-----------------------------------------------------------------*/ - if ( ( ( *phIvasEnc )->st_ivas = (Encoder_Struct *) count_malloc( sizeof( Encoder_Struct ) ) ) == NULL ) + if ( ( ( *phIvasEnc )->st_ivas = (Encoder_Struct *) malloc( sizeof( Encoder_Struct ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for IVAS encoder structure" ); } - if ( ( ( *phIvasEnc )->st_ivas->hEncoderConfig = (ENCODER_CONFIG_HANDLE) count_malloc( sizeof( ENCODER_CONFIG ) ) ) == NULL ) + if ( ( ( *phIvasEnc )->st_ivas->hEncoderConfig = (ENCODER_CONFIG_HANDLE) malloc( sizeof( ENCODER_CONFIG ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for Encoder config structure" ); } @@ -213,10 +213,10 @@ void IVAS_ENC_Close( { if ( ( *phIvasEnc )->st_ivas->hEncoderConfig ) { - count_free( ( *phIvasEnc )->st_ivas->hEncoderConfig ); + free( ( *phIvasEnc )->st_ivas->hEncoderConfig ); ( *phIvasEnc )->st_ivas->hEncoderConfig = NULL; } - count_free( ( *phIvasEnc )->st_ivas ); + free( ( *phIvasEnc )->st_ivas ); } ( *phIvasEnc )->st_ivas = NULL; @@ -224,7 +224,7 @@ void IVAS_ENC_Close( #ifdef BITSTREAM_INDICES_MEMORY dynamic_free( *phIvasEnc ); #else - count_free( *phIvasEnc ); + free( *phIvasEnc ); #endif *phIvasEnc = NULL; diff --git a/lib_enc/ppp_enc.c b/lib_enc/ppp_enc.c index 26a0c99ab1..0ce8ecacf3 100644 --- a/lib_enc/ppp_enc.c +++ b/lib_enc/ppp_enc.c @@ -355,7 +355,7 @@ ivas_error ppp_quarter_encoder( push_indice( hBstr, IND_GLOBAL_ALIGNMENT, (int16_t) ( tmp + 3 ), 3 ); - count_free( PREVDTFS ); + free( PREVDTFS ); return error; } diff --git a/lib_enc/voiced_enc.c b/lib_enc/voiced_enc.c index 9b0a1f4bfc..d128b17001 100644 --- a/lib_enc/voiced_enc.c +++ b/lib_enc/voiced_enc.c @@ -554,12 +554,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -580,12 +580,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -607,12 +607,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -748,12 +748,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -779,12 +779,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -800,12 +800,12 @@ ivas_error ppp_voiced_encoder( if ( hSC_VBR->bump_up == 1 ) { - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -815,12 +815,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -834,12 +834,12 @@ ivas_error ppp_voiced_encoder( { if ( ( error = ppp_quarter_encoder( &flag, hBstr, CURRP_Q_E, TMPDTFS, dtfs_temp->lag, *CURRP_NQ, lpc2, &( hSC_VBR->lastLgainE ), &( hSC_VBR->lastHgainE ), &( hSC_VBR->lasterbE[0] ), *dtfs_temp ) ) != IVAS_ERR_OK ) { - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } } @@ -1025,12 +1025,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -1045,12 +1045,12 @@ ivas_error ppp_voiced_encoder( PPP_MODE_E = 'B'; hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } @@ -1082,12 +1082,12 @@ ivas_error ppp_voiced_encoder( mvr2r( dtfs_temp->a, hSC_VBR->dtfs_enc_a, MAXLAG_WI ); mvr2r( dtfs_temp->b, hSC_VBR->dtfs_enc_b, MAXLAG_WI ); - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + free( CURRP_NQ ); + free( TMPDTFS ); + free( TMPDTFS2 ); + free( TMPDTFS3 ); + free( CURRP_Q_E ); + free( dtfs_temp ); return error; } diff --git a/lib_rend/ivas_allrad_dec.c b/lib_rend/ivas_allrad_dec.c index a25e708c35..b304208441 100644 --- a/lib_rend/ivas_allrad_dec.c +++ b/lib_rend/ivas_allrad_dec.c @@ -108,7 +108,7 @@ ivas_error ivas_sba_get_hoa_dec_matrix( /* Allocate memory */ assert( *hoa_dec_mtx == NULL && "hoa_dec_mtx != NULL" ); - if ( ( *hoa_dec_mtx = (float *) count_malloc( SBA_NHARM_HOA3 * ( hOutSetup.nchan_out_woLFE ) * sizeof( float ) ) ) == NULL ) + if ( ( *hoa_dec_mtx = (float *) malloc( SBA_NHARM_HOA3 * ( hOutSetup.nchan_out_woLFE ) * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "ALLRAD: Cannot allocate memory!" ) ); } diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index 906bc22945..a3b79c79e0 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -133,7 +133,7 @@ static ivas_error ivas_binRenderer_convModuleOpen( * prepare library opening *-----------------------------------------------------------------*/ - if ( ( hBinRenConvModule = (BINRENDERER_CONV_MODULE_HANDLE) count_malloc( sizeof( BINRENDERER_CONV_MODULE ) ) ) == NULL ) + if ( ( hBinRenConvModule = (BINRENDERER_CONV_MODULE_HANDLE) malloc( sizeof( BINRENDERER_CONV_MODULE ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } @@ -187,79 +187,79 @@ static ivas_error ivas_binRenderer_convModuleOpen( } /* allocate memory for filter states */ - if ( ( hBinRenConvModule->filterTapsLeftReal = (float ***) count_malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsLeftReal = (float ***) malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterTapsLeftImag = (float ***) count_malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsLeftImag = (float ***) malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterTapsRightReal = (float ***) count_malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsRightReal = (float ***) malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterTapsRightImag = (float ***) count_malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsRightImag = (float ***) malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } for ( bandIdx = 0; bandIdx < hBinRenderer->conv_band; bandIdx++ ) { - if ( ( hBinRenConvModule->filterTapsLeftReal[bandIdx] = (float **) count_malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsLeftReal[bandIdx] = (float **) malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterTapsLeftImag[bandIdx] = (float **) count_malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsLeftImag[bandIdx] = (float **) malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterTapsRightReal[bandIdx] = (float **) count_malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsRightReal[bandIdx] = (float **) malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterTapsRightImag[bandIdx] = (float **) count_malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterTapsRightImag[bandIdx] = (float **) malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } } - if ( ( hBinRenConvModule->filterStatesLeftReal = (float ***) count_malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterStatesLeftReal = (float ***) malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterStatesLeftImag = (float ***) count_malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterStatesLeftImag = (float ***) malloc( hBinRenderer->conv_band * sizeof( float ** ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } for ( bandIdx = 0; bandIdx < hBinRenderer->conv_band; bandIdx++ ) { - if ( ( hBinRenConvModule->filterStatesLeftReal[bandIdx] = (float **) count_malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterStatesLeftReal[bandIdx] = (float **) malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterStatesLeftImag[bandIdx] = (float **) count_malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterStatesLeftImag[bandIdx] = (float **) malloc( hBinRenderer->nInChannels * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } for ( chIdx = 0; chIdx < hBinRenderer->nInChannels; chIdx++ ) { - if ( ( hBinRenConvModule->filterStatesLeftReal[bandIdx][chIdx] = (float *) count_malloc( hBinRenConvModule->numTapsArray[bandIdx] * sizeof( float ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterStatesLeftReal[bandIdx][chIdx] = (float *) malloc( hBinRenConvModule->numTapsArray[bandIdx] * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } - if ( ( hBinRenConvModule->filterStatesLeftImag[bandIdx][chIdx] = (float *) count_malloc( hBinRenConvModule->numTapsArray[bandIdx] * sizeof( float ) ) ) == NULL ) + if ( ( hBinRenConvModule->filterStatesLeftImag[bandIdx][chIdx] = (float *) malloc( hBinRenConvModule->numTapsArray[bandIdx] * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Convolution Module \n" ) ); } @@ -495,7 +495,7 @@ ivas_error ivas_binRenderer_open( * prepare library opening *-----------------------------------------------------------------*/ - if ( ( hBinRenderer = (BINAURAL_RENDERER_HANDLE) count_malloc( sizeof( BINAURAL_RENDERER ) ) ) == NULL ) + if ( ( hBinRenderer = (BINAURAL_RENDERER_HANDLE) malloc( sizeof( BINAURAL_RENDERER ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Renderer\n" ) ); } @@ -651,29 +651,29 @@ static void ivas_binRenderer_convModuleClose( for ( bandIdx = 0; bandIdx < ( *hBinRenderer )->conv_band; bandIdx++ ) { - count_free( hBinRenConvModule->filterTapsLeftReal[bandIdx] ); + free( hBinRenConvModule->filterTapsLeftReal[bandIdx] ); hBinRenConvModule->filterTapsLeftReal[bandIdx] = NULL; - count_free( hBinRenConvModule->filterTapsLeftImag[bandIdx] ); + free( hBinRenConvModule->filterTapsLeftImag[bandIdx] ); hBinRenConvModule->filterTapsLeftImag[bandIdx] = NULL; - count_free( hBinRenConvModule->filterTapsRightReal[bandIdx] ); + free( hBinRenConvModule->filterTapsRightReal[bandIdx] ); hBinRenConvModule->filterTapsRightReal[bandIdx] = NULL; - count_free( hBinRenConvModule->filterTapsRightImag[bandIdx] ); + free( hBinRenConvModule->filterTapsRightImag[bandIdx] ); hBinRenConvModule->filterTapsRightImag[bandIdx] = NULL; } - count_free( hBinRenConvModule->filterTapsLeftReal ); + free( hBinRenConvModule->filterTapsLeftReal ); hBinRenConvModule->filterTapsLeftReal = NULL; - count_free( hBinRenConvModule->filterTapsLeftImag ); + free( hBinRenConvModule->filterTapsLeftImag ); hBinRenConvModule->filterTapsLeftImag = NULL; - count_free( hBinRenConvModule->filterTapsRightReal ); + free( hBinRenConvModule->filterTapsRightReal ); hBinRenConvModule->filterTapsRightReal = NULL; - count_free( hBinRenConvModule->filterTapsRightImag ); + free( hBinRenConvModule->filterTapsRightImag ); hBinRenConvModule->filterTapsRightImag = NULL; @@ -681,28 +681,28 @@ static void ivas_binRenderer_convModuleClose( { for ( chIdx = 0; chIdx < ( *hBinRenderer )->nInChannels; chIdx++ ) { - count_free( hBinRenConvModule->filterStatesLeftReal[bandIdx][chIdx] ); + free( hBinRenConvModule->filterStatesLeftReal[bandIdx][chIdx] ); hBinRenConvModule->filterStatesLeftReal[bandIdx][chIdx] = NULL; - count_free( hBinRenConvModule->filterStatesLeftImag[bandIdx][chIdx] ); + free( hBinRenConvModule->filterStatesLeftImag[bandIdx][chIdx] ); hBinRenConvModule->filterStatesLeftImag[bandIdx][chIdx] = NULL; } - count_free( hBinRenConvModule->filterStatesLeftReal[bandIdx] ); + free( hBinRenConvModule->filterStatesLeftReal[bandIdx] ); hBinRenConvModule->filterStatesLeftReal[bandIdx] = NULL; - count_free( hBinRenConvModule->filterStatesLeftImag[bandIdx] ); + free( hBinRenConvModule->filterStatesLeftImag[bandIdx] ); hBinRenConvModule->filterStatesLeftImag[bandIdx] = NULL; } - count_free( hBinRenConvModule->filterStatesLeftReal ); + free( hBinRenConvModule->filterStatesLeftReal ); hBinRenConvModule->filterStatesLeftReal = NULL; - count_free( hBinRenConvModule->filterStatesLeftImag ); + free( hBinRenConvModule->filterStatesLeftImag ); hBinRenConvModule->filterStatesLeftImag = NULL; - count_free( ( *hBinRenderer )->hBinRenConvModule ); + free( ( *hBinRenderer )->hBinRenConvModule ); ( *hBinRenderer )->hBinRenConvModule = NULL; return; @@ -734,7 +734,7 @@ void ivas_binRenderer_close( ivas_binaural_reverb_close( &( ( *hBinRenderer )->hReverb ) ); } - count_free( *hBinRenderer ); + free( *hBinRenderer ); *hBinRenderer = NULL; return; diff --git a/lib_rend/ivas_binaural_reverb.c b/lib_rend/ivas_binaural_reverb.c index 9104d37f7a..6c236d8e50 100644 --- a/lib_rend/ivas_binaural_reverb.c +++ b/lib_rend/ivas_binaural_reverb.c @@ -384,7 +384,7 @@ ivas_error ivas_binaural_reverb_open( float t60[CLDFB_NO_CHANNELS_MAX]; float ene[CLDFB_NO_CHANNELS_MAX]; - if ( ( *hReverbPr = (REVERB_STRUCT_HANDLE) count_malloc( sizeof( REVERB_STRUCT ) ) ) == NULL ) + if ( ( *hReverbPr = (REVERB_STRUCT_HANDLE) malloc( sizeof( REVERB_STRUCT ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } @@ -426,12 +426,12 @@ ivas_error ivas_binaural_reverb_open( hReverb->loopBufLengthMax[bin] = (int16_t) ( 500 / ( 1 + bin ) + ( CLDFB_NO_CHANNELS_MAX - bin ) ); len = hReverb->loopBufLengthMax[bin] + hReverb->blockSize; - if ( ( hReverb->loopBufReal[bin] = (float *) count_malloc( len * sizeof( float ) ) ) == NULL ) + if ( ( hReverb->loopBufReal[bin] = (float *) malloc( len * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } - if ( ( hReverb->loopBufImag[bin] = (float *) count_malloc( len * sizeof( float ) ) ) == NULL ) + if ( ( hReverb->loopBufImag[bin] = (float *) malloc( len * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } @@ -450,29 +450,29 @@ ivas_error ivas_binaural_reverb_open( { len = hReverb->loopBufLength[bin]; - if ( ( hReverb->tapPhaseShiftType[bin][chIdx] = (int16_t *) count_malloc( len * sizeof( int16_t ) ) ) == NULL ) + if ( ( hReverb->tapPhaseShiftType[bin][chIdx] = (int16_t *) malloc( len * sizeof( int16_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } set_s( hReverb->tapPhaseShiftType[bin][chIdx], 0, len ); - if ( ( hReverb->tapPointersReal[bin][chIdx] = (float **) count_malloc( len * sizeof( float * ) ) ) == NULL ) + if ( ( hReverb->tapPointersReal[bin][chIdx] = (float **) malloc( len * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } - if ( ( hReverb->tapPointersImag[bin][chIdx] = (float **) count_malloc( len * sizeof( float * ) ) ) == NULL ) + if ( ( hReverb->tapPointersImag[bin][chIdx] = (float **) malloc( len * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } len = hReverb->blockSize; - if ( ( hReverb->outputBufferReal[bin][chIdx] = (float *) count_malloc( len * sizeof( float ) ) ) == NULL ) + if ( ( hReverb->outputBufferReal[bin][chIdx] = (float *) malloc( len * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } - if ( ( hReverb->outputBufferImag[bin][chIdx] = (float *) count_malloc( len * sizeof( float ) ) ) == NULL ) + if ( ( hReverb->outputBufferImag[bin][chIdx] = (float *) malloc( len * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural Reverberator\n" ) ); } @@ -527,17 +527,17 @@ void ivas_binaural_reverb_close( { for ( chIdx = 0; chIdx < BINAURAL_CHANNELS; chIdx++ ) { - count_free( ( *hReverb )->tapPhaseShiftType[bin][chIdx] ); - count_free( ( *hReverb )->tapPointersReal[bin][chIdx] ); - count_free( ( *hReverb )->tapPointersImag[bin][chIdx] ); - count_free( ( *hReverb )->outputBufferReal[bin][chIdx] ); - count_free( ( *hReverb )->outputBufferImag[bin][chIdx] ); + free( ( *hReverb )->tapPhaseShiftType[bin][chIdx] ); + free( ( *hReverb )->tapPointersReal[bin][chIdx] ); + free( ( *hReverb )->tapPointersImag[bin][chIdx] ); + free( ( *hReverb )->outputBufferReal[bin][chIdx] ); + free( ( *hReverb )->outputBufferImag[bin][chIdx] ); } - count_free( ( *hReverb )->loopBufReal[bin] ); - count_free( ( *hReverb )->loopBufImag[bin] ); + free( ( *hReverb )->loopBufReal[bin] ); + free( ( *hReverb )->loopBufImag[bin] ); } - count_free( ( *hReverb ) ); + free( ( *hReverb ) ); return; } diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index ae2240df34..7c62138119 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -110,7 +110,7 @@ static ivas_error ivas_hrtf_open( if ( *hHrtf_out == NULL ) { - if ( ( hHrtf = (HRTFS_HANDLE) count_malloc( sizeof( HRTFS_DATA ) ) ) == NULL ) + if ( ( hHrtf = (HRTFS_HANDLE) malloc( sizeof( HRTFS_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR decoder\n" ); } @@ -143,7 +143,7 @@ static ivas_error ivas_hrtf_close( return IVAS_ERR_WRONG_PARAMS; } - count_free( *hHrtf ); + free( *hHrtf ); *hHrtf = NULL; return IVAS_ERR_OK; @@ -670,7 +670,7 @@ ivas_error ivas_crend_open( } } - if ( ( hCrend = (CREND_HANDLE) count_malloc( sizeof( CREND_DATA ) ) ) == NULL ) + if ( ( hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for renderer handle" ); } @@ -706,13 +706,13 @@ ivas_error ivas_crend_open( for ( i = 0; i < hHrtf->max_num_ir; i++ ) { - if ( ( hCrend->freq_buffer_re[i] = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_re[i] = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } set_f( hCrend->freq_buffer_re[i], 0, max_total_ir_len ); - if ( ( hCrend->freq_buffer_im[i] = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_im[i] = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -721,7 +721,7 @@ ivas_error ivas_crend_open( for ( i = 0; i < BINAURAL_CHANNELS; i++ ) { - if ( ( hCrend->prev_out_buffer[i] = (float *) count_malloc( sizeof( float ) * subframe_length ) ) == NULL ) + if ( ( hCrend->prev_out_buffer[i] = (float *) malloc( sizeof( float ) * subframe_length ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -732,13 +732,13 @@ ivas_error ivas_crend_open( if ( max_total_ir_len > 0 ) { - if ( ( hCrend->freq_buffer_re_diffuse = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_re_diffuse = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } set_f( hCrend->freq_buffer_re_diffuse, 0, max_total_ir_len ); - if ( ( hCrend->freq_buffer_im_diffuse = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_im_diffuse = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -753,7 +753,7 @@ ivas_error ivas_crend_open( max_total_ir_len = (int16_t) ( hHrtf->latency_s * st_ivas->hDecoderConfig->output_Fs + 0.5f ) + subframe_length; if ( max_total_ir_len > 0 ) { - if ( ( hCrend->lfe_delay_line = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->lfe_delay_line = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -766,7 +766,7 @@ ivas_error ivas_crend_open( if ( st_ivas->hDecoderConfig->Opt_Headrotation ) { - if ( ( hCrend->hTrack = (ivas_orient_trk_state_t *) count_malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL ) + if ( ( hCrend->hTrack = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Orientation tracking" ); } @@ -832,12 +832,12 @@ ivas_error ivas_crend_close( { if ( st_ivas->hCrend->freq_buffer_re[i] != NULL ) { - count_free( st_ivas->hCrend->freq_buffer_re[i] ); + free( st_ivas->hCrend->freq_buffer_re[i] ); st_ivas->hCrend->freq_buffer_re[i] = NULL; } if ( st_ivas->hCrend->freq_buffer_im[i] != NULL ) { - count_free( st_ivas->hCrend->freq_buffer_im[i] ); + free( st_ivas->hCrend->freq_buffer_im[i] ); st_ivas->hCrend->freq_buffer_im[i] = NULL; } } @@ -846,39 +846,39 @@ ivas_error ivas_crend_close( { if ( st_ivas->hCrend->prev_out_buffer[i] != NULL ) { - count_free( st_ivas->hCrend->prev_out_buffer[i] ); + free( st_ivas->hCrend->prev_out_buffer[i] ); st_ivas->hCrend->prev_out_buffer[i] = NULL; } } if ( st_ivas->hCrend->lfe_delay_line != NULL ) { - count_free( st_ivas->hCrend->lfe_delay_line ); + free( st_ivas->hCrend->lfe_delay_line ); st_ivas->hCrend->lfe_delay_line = NULL; } if ( st_ivas->hCrend->freq_buffer_re_diffuse != NULL ) { - count_free( st_ivas->hCrend->freq_buffer_re_diffuse ); + free( st_ivas->hCrend->freq_buffer_re_diffuse ); st_ivas->hCrend->freq_buffer_re_diffuse = NULL; } if ( st_ivas->hCrend->freq_buffer_im_diffuse != NULL ) { - count_free( st_ivas->hCrend->freq_buffer_im_diffuse ); + free( st_ivas->hCrend->freq_buffer_im_diffuse ); st_ivas->hCrend->freq_buffer_im_diffuse = NULL; } if ( st_ivas->hCrend->hTrack != NULL ) { - count_free( st_ivas->hCrend->hTrack ); + free( st_ivas->hCrend->hTrack ); st_ivas->hCrend->hTrack = NULL; } } ivas_reverb_close( &st_ivas->hCrend->hReverb ); - count_free( st_ivas->hCrend ); + free( st_ivas->hCrend ); st_ivas->hCrend = NULL; } @@ -1169,7 +1169,7 @@ ivas_error ivas_rend_openCrend( } } - if ( ( hCrend = (CREND_HANDLE) count_malloc( sizeof( CREND_DATA ) ) ) == NULL ) + if ( ( hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for renderer handle" ); } @@ -1205,13 +1205,13 @@ ivas_error ivas_rend_openCrend( for ( i = 0; i < hHrtf->max_num_ir; i++ ) { - if ( ( hCrend->freq_buffer_re[i] = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_re[i] = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } set_zero( hCrend->freq_buffer_re[i], max_total_ir_len ); - if ( ( hCrend->freq_buffer_im[i] = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_im[i] = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -1220,7 +1220,7 @@ ivas_error ivas_rend_openCrend( for ( i = 0; i < BINAURAL_CHANNELS; i++ ) { - if ( ( hCrend->prev_out_buffer[i] = (float *) count_malloc( sizeof( float ) * subframe_length ) ) == NULL ) + if ( ( hCrend->prev_out_buffer[i] = (float *) malloc( sizeof( float ) * subframe_length ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -1231,13 +1231,13 @@ ivas_error ivas_rend_openCrend( if ( max_total_ir_len > 0 ) { - if ( ( hCrend->freq_buffer_re_diffuse = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_re_diffuse = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } set_zero( hCrend->freq_buffer_re_diffuse, max_total_ir_len ); - if ( ( hCrend->freq_buffer_im_diffuse = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->freq_buffer_im_diffuse = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -1252,7 +1252,7 @@ ivas_error ivas_rend_openCrend( max_total_ir_len = (int16_t) ( hHrtf->latency_s * output_Fs + 0.5f ) + subframe_length; if ( max_total_ir_len > 0 ) { - if ( ( hCrend->lfe_delay_line = (float *) count_malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) + if ( ( hCrend->lfe_delay_line = (float *) malloc( sizeof( float ) * max_total_ir_len ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend" ); } @@ -1265,7 +1265,7 @@ ivas_error ivas_rend_openCrend( if ( false ) /* TODO tmu : check renderer headrotation flag */ { - if ( ( hCrend->hTrack = (ivas_orient_trk_state_t *) count_malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL ) + if ( ( hCrend->hTrack = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Orientation tracking" ); } @@ -1710,12 +1710,12 @@ ivas_error ivas_rend_closeCrend( { if ( pCrend->hCrend->freq_buffer_re[i] != NULL ) { - count_free( pCrend->hCrend->freq_buffer_re[i] ); + free( pCrend->hCrend->freq_buffer_re[i] ); pCrend->hCrend->freq_buffer_re[i] = NULL; } if ( pCrend->hCrend->freq_buffer_im[i] != NULL ) { - count_free( pCrend->hCrend->freq_buffer_im[i] ); + free( pCrend->hCrend->freq_buffer_im[i] ); pCrend->hCrend->freq_buffer_im[i] = NULL; } } @@ -1724,38 +1724,38 @@ ivas_error ivas_rend_closeCrend( { if ( pCrend->hCrend->prev_out_buffer[i] != NULL ) { - count_free( pCrend->hCrend->prev_out_buffer[i] ); + free( pCrend->hCrend->prev_out_buffer[i] ); pCrend->hCrend->prev_out_buffer[i] = NULL; } } if ( pCrend->hCrend->lfe_delay_line != NULL ) { - count_free( pCrend->hCrend->lfe_delay_line ); + free( pCrend->hCrend->lfe_delay_line ); pCrend->hCrend->lfe_delay_line = NULL; } if ( pCrend->hCrend->freq_buffer_re_diffuse != NULL ) { - count_free( pCrend->hCrend->freq_buffer_re_diffuse ); + free( pCrend->hCrend->freq_buffer_re_diffuse ); pCrend->hCrend->freq_buffer_re_diffuse = NULL; } if ( pCrend->hCrend->freq_buffer_im_diffuse != NULL ) { - count_free( pCrend->hCrend->freq_buffer_im_diffuse ); + free( pCrend->hCrend->freq_buffer_im_diffuse ); pCrend->hCrend->freq_buffer_im_diffuse = NULL; } if ( pCrend->hCrend->hTrack != NULL ) { - count_free( pCrend->hCrend->hTrack ); + free( pCrend->hCrend->hTrack ); pCrend->hCrend->hTrack = NULL; } ivas_reverb_close( &pCrend->hCrend->hReverb ); - count_free( pCrend->hCrend ); + free( pCrend->hCrend ); pCrend->hCrend = NULL; } diff --git a/lib_rend/ivas_efap.c b/lib_rend/ivas_efap.c index cb4b209488..860a2adf04 100644 --- a/lib_rend/ivas_efap.c +++ b/lib_rend/ivas_efap.c @@ -168,29 +168,29 @@ ivas_error efap_init_data( *-----------------------------------------------------------------*/ /* Memory Allocations for efap */ - if ( ( efap = (EFAP *) count_malloc( sizeof( EFAP ) ) ) == NULL ) + if ( ( efap = (EFAP *) malloc( sizeof( EFAP ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP handle\n" ) ); } /* Memory Allocation and update for aziSpk & eleSpk arrays*/ - if ( ( efap->aziSpk = (float *) count_malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL ) + if ( ( efap->aziSpk = (float *) malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP speaker azimuths\n" ) ); } - if ( ( efap->eleSpk = (float *) count_malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL ) + if ( ( efap->eleSpk = (float *) malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP speaker elevations\n" ) ); } /* Memory Allocation for vertexArray */ - if ( ( efap->vtxData.vertexArray = (EFAP_VERTEX *) count_malloc( ( num_speaker_nodes + EFAP_MAX_GHOST_LS ) * sizeof( EFAP_VERTEX ) ) ) == NULL ) + if ( ( efap->vtxData.vertexArray = (EFAP_VERTEX *) malloc( ( num_speaker_nodes + EFAP_MAX_GHOST_LS ) * sizeof( EFAP_VERTEX ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP Vertex Array\n" ) ); } /* Memory allocation for the tmp buffer short */ - if ( ( efap->bufferShort = (float *) count_malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL ) + if ( ( efap->bufferShort = (float *) malloc( num_speaker_nodes * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP bufferS\n" ) ); } @@ -219,7 +219,7 @@ ivas_error efap_init_data( /* Memory allocation for the tmp buffer long */ - if ( ( efap->bufferLong = (float *) count_malloc( efap->vtxData.numVtx * sizeof( float ) ) ) == NULL ) + if ( ( efap->bufferLong = (float *) malloc( efap->vtxData.numVtx * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP bufferL\n" ) ); } @@ -327,33 +327,33 @@ void efap_free_data( dim1 = ( *hEFAPdata )->numTot; /* instance buffer members */ - count_free( ( *hEFAPdata )->aziSpk ); + free( ( *hEFAPdata )->aziSpk ); ( *hEFAPdata )->aziSpk = NULL; - count_free( ( *hEFAPdata )->eleSpk ); + free( ( *hEFAPdata )->eleSpk ); ( *hEFAPdata )->eleSpk = NULL; - count_free( ( *hEFAPdata )->vtxData.vertexArray ); + free( ( *hEFAPdata )->vtxData.vertexArray ); ( *hEFAPdata )->vtxData.vertexArray = NULL; - count_free( ( *hEFAPdata )->vtxData.vtxOrder ); + free( ( *hEFAPdata )->vtxData.vtxOrder ); ( *hEFAPdata )->vtxData.vtxOrder = NULL; - count_free( ( *hEFAPdata )->bufferLong ); + free( ( *hEFAPdata )->bufferLong ); ( *hEFAPdata )->bufferLong = NULL; - count_free( ( *hEFAPdata )->bufferShort ); + free( ( *hEFAPdata )->bufferShort ); ( *hEFAPdata )->bufferShort = NULL; p_dmTranspose = (void **) ( *hEFAPdata )->dmTranspose; for ( i = 0; i < dim1; i++ ) { - count_free( p_dmTranspose[i] ); + free( p_dmTranspose[i] ); } - count_free( p_dmTranspose ); + free( p_dmTranspose ); /* instance */ - count_free( *hEFAPdata ); + free( *hEFAPdata ); *hEFAPdata = NULL; return; @@ -538,7 +538,7 @@ static ivas_error sphere_triangulation( add_ghost_speakers( vtxData->vertexArray, &vtxData->numVtx, efip_flag ); /* Sort the vertices according to their index */ - if ( ( vtxData->vtxOrder = (int16_t *) count_malloc( vtxData->numVtx * sizeof( int16_t ) ) ) == NULL ) + if ( ( vtxData->vtxOrder = (int16_t *) malloc( vtxData->numVtx * sizeof( int16_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for EFAP Vertex Order\n" ) ); } @@ -557,7 +557,7 @@ static ivas_error sphere_triangulation( assert( polyData->numTri != 0 && "EFAP: failed to construct convex hull!" ); /* Allocate the DM matrix transpose */ - if ( ( p_dmTranspose = count_malloc( vtxData->numVtx * sizeof( float * ) ) ) == NULL ) + if ( ( p_dmTranspose = malloc( vtxData->numVtx * sizeof( float * ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "EFAP: can not allocate memory for dmTranspose\n" ) ); } @@ -567,7 +567,7 @@ static ivas_error sphere_triangulation( for ( i = 0; i < vtxData->numVtx; i++ ) { - if ( ( p_dmTranspose[i] = count_malloc( numSpk * sizeof( float ) ) ) == NULL ) + if ( ( p_dmTranspose[i] = malloc( numSpk * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "EFAP: can not allocate memory for dmTranspose\n" ) ); } diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c index bbb4afa152..347a060e98 100644 --- a/lib_rend/ivas_hrtf.c +++ b/lib_rend/ivas_hrtf.c @@ -61,8 +61,8 @@ void BSplineModelEvalAlloc( ModelEval_t *modelEval /* i/o: Model evaluation structure */ ) { - modelEval->hrfModL = (float *) count_malloc( model->K * sizeof( float ) ); - modelEval->hrfModR = (float *) count_malloc( model->K * sizeof( float ) ); + modelEval->hrfModL = (float *) malloc( model->K * sizeof( float ) ); + modelEval->hrfModR = (float *) malloc( model->K * sizeof( float ) ); return; } @@ -118,11 +118,11 @@ void DefaultBSplineModel( model->elevKSeq = (const float *) orange53_rom_elevKSeq; model->elevBsShape = (const float *) orange53_rom_elevBsShape; - model->azimBsShape = (const float **) count_malloc( model->num_unique_azim_splines * sizeof( float * ) ); + model->azimBsShape = (const float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); model->azimBsShape[0] = (const float *) orange53_rom_azimBsShape; - model->azimKSeq = (float **) count_malloc( 18 * sizeof( float * ) ); - model->azimKSeq[0] = (float *) count_malloc( 2 * sizeof( float * ) ); - model->azimKSeq[17] = (float *) count_malloc( 2 * sizeof( float * ) ); + model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ); + model->azimKSeq[0] = (float *) malloc( 2 * sizeof( float * ) ); + model->azimKSeq[17] = (float *) malloc( 2 * sizeof( float * ) ); model->azimKSeq[0][0] = 0.0f; model->azimKSeq[17][0] = 0.0f; model->azimKSeq[0][1] = 360.0f; @@ -130,7 +130,7 @@ void DefaultBSplineModel( for ( i = 1; i < 17; i++ ) { - model->azimKSeq[i] = (float *) count_malloc( model->azimDim2[i] * sizeof( float * ) ); /* azimDim2[i] = 91, i=2..15 */ + model->azimKSeq[i] = (float *) malloc( model->azimDim2[i] * sizeof( float * ) ); /* azimDim2[i] = 91, i=2..15 */ for ( j = 0; j < model->azimDim2[i]; j++ ) { model->azimKSeq[i][j] = (float) orange53_rom_azimSegSamples[0] * j; @@ -229,7 +229,7 @@ ivas_error ivas_HRTF_binary_open( TDREND_HRFILT_FiltSet_t **hHrtfTD ) { /* Allocate HR filter set for headphones configuration */ - *hHrtfTD = (TDREND_HRFILT_FiltSet_t *) count_malloc( sizeof( TDREND_HRFILT_FiltSet_t ) ); + *hHrtfTD = (TDREND_HRFILT_FiltSet_t *) malloc( sizeof( TDREND_HRFILT_FiltSet_t ) ); if ( *hHrtfTD == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HRTF binary!" ); @@ -253,7 +253,7 @@ void ivas_HRTF_binary_close( return; } - count_free( *hHrtfTD ); + free( *hHrtfTD ); *hHrtfTD = NULL; return; diff --git a/lib_rend/ivas_limiter.c b/lib_rend/ivas_limiter.c index dc290742c5..cd1bb65eb6 100644 --- a/lib_rend/ivas_limiter.c +++ b/lib_rend/ivas_limiter.c @@ -132,11 +132,11 @@ IVAS_LIMITER_HANDLE ivas_limiter_open( return NULL; } - hLimiter = count_malloc( sizeof( IVAS_LIMITER ) ); + hLimiter = malloc( sizeof( IVAS_LIMITER ) ); hLimiter->max_num_channels = max_num_channels; hLimiter->num_channels = max_num_channels; - hLimiter->channel_ptrs = count_malloc( max_num_channels * sizeof( float * ) ); + hLimiter->channel_ptrs = malloc( max_num_channels * sizeof( float * ) ); hLimiter->sampling_rate = sampling_rate; hLimiter->gain = 1.f; hLimiter->release_heuristic = 0.f; @@ -174,8 +174,8 @@ void ivas_limiter_close( return; } - count_free( ( *phLimiter )->channel_ptrs ); - count_free( *phLimiter ); + free( ( *phLimiter )->channel_ptrs ); + free( *phLimiter ); *phLimiter = NULL; return; diff --git a/lib_rend/ivas_ls_custom_dec.c b/lib_rend/ivas_ls_custom_dec.c index b76b7d8da4..6c3f2eaec7 100644 --- a/lib_rend/ivas_ls_custom_dec.c +++ b/lib_rend/ivas_ls_custom_dec.c @@ -51,7 +51,7 @@ ivas_error ivas_ls_custom_open( ) { /* Allocate handle */ - if ( ( *hLsSetupCustom = (LSSETUP_CUSTOM_HANDLE) count_malloc( sizeof( LSSETUP_CUSTOM_STRUCT ) ) ) == NULL ) + if ( ( *hLsSetupCustom = (LSSETUP_CUSTOM_HANDLE) malloc( sizeof( LSSETUP_CUSTOM_STRUCT ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Custom LS layout memory\n" ) ); } diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index e59c98d167..da579df4b3 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -94,19 +94,19 @@ ivas_error ivas_td_binaural_open( error = IVAS_ERR_OK; - if ( ( hBinRendererTd = count_malloc( sizeof( BINAURAL_TD_OBJECT_RENDERER ) ) ) == NULL ) + if ( ( hBinRendererTd = malloc( sizeof( BINAURAL_TD_OBJECT_RENDERER ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } - if ( ( hBinRendererTd->TdRend_MixSpatSpec_p = count_malloc( sizeof( TDREND_MixSpatSpec_t ) ) ) == NULL ) + if ( ( hBinRendererTd->TdRend_MixSpatSpec_p = malloc( sizeof( TDREND_MixSpatSpec_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } - if ( ( hBinRendererTd->DirAtten_p = count_malloc( sizeof( TDREND_DirAtten_t ) ) ) == NULL ) + if ( ( hBinRendererTd->DirAtten_p = malloc( sizeof( TDREND_DirAtten_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } - if ( ( hBinRendererTd->Listener_p = count_malloc( sizeof( TDREND_MIX_Listener_t ) ) ) == NULL ) + if ( ( hBinRendererTd->Listener_p = malloc( sizeof( TDREND_MIX_Listener_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } @@ -222,12 +222,12 @@ void ivas_td_binaural_close( return; } - count_free( ( *hBinRendererTd )->TdRend_MixSpatSpec_p ); - count_free( ( *hBinRendererTd )->DirAtten_p ); + free( ( *hBinRendererTd )->TdRend_MixSpatSpec_p ); + free( ( *hBinRendererTd )->DirAtten_p ); TDREND_MIX_Dealloc( *hBinRendererTd ); - count_free( *hBinRendererTd ); + free( *hBinRendererTd ); *hBinRendererTd = NULL; return; @@ -533,19 +533,19 @@ ivas_error ivas_rend_TDObjRendOpen( error = IVAS_ERR_OK; - if ( ( hBinRendererTd = count_malloc( sizeof( BINAURAL_TD_OBJECT_RENDERER ) ) ) == NULL ) + if ( ( hBinRendererTd = malloc( sizeof( BINAURAL_TD_OBJECT_RENDERER ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } - if ( ( hBinRendererTd->TdRend_MixSpatSpec_p = count_malloc( sizeof( TDREND_MixSpatSpec_t ) ) ) == NULL ) + if ( ( hBinRendererTd->TdRend_MixSpatSpec_p = malloc( sizeof( TDREND_MixSpatSpec_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } - if ( ( hBinRendererTd->DirAtten_p = count_malloc( sizeof( TDREND_DirAtten_t ) ) ) == NULL ) + if ( ( hBinRendererTd->DirAtten_p = malloc( sizeof( TDREND_DirAtten_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } - if ( ( hBinRendererTd->Listener_p = count_malloc( sizeof( TDREND_MIX_Listener_t ) ) ) == NULL ) + if ( ( hBinRendererTd->Listener_p = malloc( sizeof( TDREND_MIX_Listener_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TD renderer\n" ) ); } @@ -700,7 +700,7 @@ ivas_error ivas_rend_TDObjRenderFrame( { ivas_format = ISM_FORMAT; num_src = 1; - hIsmMetaData[0] = count_malloc( sizeof( ISM_METADATA_FRAME ) ); + hIsmMetaData[0] = malloc( sizeof( ISM_METADATA_FRAME ) ); hIsmMetaData[0]->azimuth = currentPos->azimuth; hIsmMetaData[0]->elevation = currentPos->elevation; } @@ -722,7 +722,7 @@ ivas_error ivas_rend_TDObjRenderFrame( /* TODO tmu : needs a refactor / better approach */ if ( ivas_format == ISM_FORMAT ) { - count_free( hIsmMetaData[0] ); + free( hIsmMetaData[0] ); } for ( subframe_idx = 0; subframe_idx < MAX_PARAM_SPATIAL_SUBFRAMES; subframe_idx++ ) diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 6b0eb31970..75376435e0 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -132,8 +132,8 @@ void TDREND_HRFILT_SetFiltSet( HrFiltSet_p->NumElev = (int16_t) temp; /* Elevation angles */ - HrFiltSet_p->Elev_p = (float *) count_malloc( HrFiltSet_p->NumElev * sizeof( float ) ); - buffer_p = (double *) count_malloc( HrFiltSet_p->NumElev * sizeof( double ) ); + HrFiltSet_p->Elev_p = (float *) malloc( HrFiltSet_p->NumElev * sizeof( float ) ); + buffer_p = (double *) malloc( HrFiltSet_p->NumElev * sizeof( double ) ); num_to_read = HrFiltSet_p->NumElev; fread( (void *) buffer_p, num_bytes, num_to_read, f_hrtf ); temp_p = buffer_p; @@ -149,20 +149,20 @@ void TDREND_HRFILT_SetFiltSet( assert( 0 && "Error: HR Filter elevation values had irregular spacing." ); } } - count_free( buffer_p ); + free( buffer_p ); /* Number of azimuth values, one per elevation */ - HrFiltSet_p->NumAzim_p = (int16_t *) count_malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); - buffer_p = (double *) count_malloc( HrFiltSet_p->NumElev * sizeof( double ) ); + HrFiltSet_p->NumAzim_p = (int16_t *) malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); + buffer_p = (double *) malloc( HrFiltSet_p->NumElev * sizeof( double ) ); fread( (void *) buffer_p, num_bytes, HrFiltSet_p->NumElev, f_hrtf ); for ( n = 0; n < HrFiltSet_p->NumElev; n++ ) { HrFiltSet_p->NumAzim_p[n] = (int16_t) buffer_p[n]; } - count_free( buffer_p ); + free( buffer_p ); /* Indices to the first azimuth value, one per elevation */ - HrFiltSet_p->AzimStartIdx_p = (int16_t *) count_malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); + HrFiltSet_p->AzimStartIdx_p = (int16_t *) malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); count = 0; for ( n = 0; n < HrFiltSet_p->NumElev; n++ ) { @@ -178,9 +178,9 @@ void TDREND_HRFILT_SetFiltSet( } /* Azimuth values, one set per elevation, i.e. one per measurement point */ - HrFiltSet_p->Azim_p = (float *) count_malloc( HrFiltSet_p->NumPos * sizeof( float ) ); - buffer_p = (double *) count_malloc( HrFiltSet_p->NumPos * sizeof( double ) ); - HrFiltSet_p->ElevFull_p = (float *) count_malloc( HrFiltSet_p->NumPos * sizeof( float ) ); + HrFiltSet_p->Azim_p = (float *) malloc( HrFiltSet_p->NumPos * sizeof( float ) ); + buffer_p = (double *) malloc( HrFiltSet_p->NumPos * sizeof( double ) ); + HrFiltSet_p->ElevFull_p = (float *) malloc( HrFiltSet_p->NumPos * sizeof( float ) ); fread( (void *) buffer_p, num_bytes, HrFiltSet_p->NumPos, f_hrtf ); i = 0; for ( n = 0; n < HrFiltSet_p->NumElev; n++ ) @@ -197,7 +197,7 @@ void TDREND_HRFILT_SetFiltSet( i++; } } - count_free( buffer_p ); + free( buffer_p ); } if ( HrFiltSet_p->FilterMethod == TDREND_HRFILT_Method_Table_S ) { @@ -206,8 +206,8 @@ void TDREND_HRFILT_SetFiltSet( HrFiltSet_p->NumElev = (int16_t) temp; /* Elevation angles */ - HrFiltSet_p->Elev_p = (float *) count_malloc( HrFiltSet_p->NumElev * sizeof( float ) ); - buffer_p = (double *) count_malloc( HrFiltSet_p->NumElev * sizeof( double ) ); + HrFiltSet_p->Elev_p = (float *) malloc( HrFiltSet_p->NumElev * sizeof( float ) ); + buffer_p = (double *) malloc( HrFiltSet_p->NumElev * sizeof( double ) ); num_to_read = HrFiltSet_p->NumElev; fread( (void *) buffer_p, num_bytes, num_to_read, f_hrtf ); temp_p = buffer_p; @@ -215,20 +215,20 @@ void TDREND_HRFILT_SetFiltSet( { HrFiltSet_p->Elev_p[n] = (float) *temp_p++; } - count_free( buffer_p ); + free( buffer_p ); /* Number of azimuth values, one per elevation */ - HrFiltSet_p->NumAzim_p = (int16_t *) count_malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); - buffer_p = (double *) count_malloc( HrFiltSet_p->NumElev * sizeof( double ) ); + HrFiltSet_p->NumAzim_p = (int16_t *) malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); + buffer_p = (double *) malloc( HrFiltSet_p->NumElev * sizeof( double ) ); fread( (void *) buffer_p, num_bytes, HrFiltSet_p->NumElev, f_hrtf ); for ( n = 0; n < HrFiltSet_p->NumElev; n++ ) { HrFiltSet_p->NumAzim_p[n] = (int16_t) buffer_p[n]; } - count_free( buffer_p ); + free( buffer_p ); /* Indices to the first azimuth value, one per elevation */ - HrFiltSet_p->AzimStartIdx_p = (int16_t *) count_malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); + HrFiltSet_p->AzimStartIdx_p = (int16_t *) malloc( HrFiltSet_p->NumElev * sizeof( int16_t ) ); count = 0; for ( n = 0; n < HrFiltSet_p->NumElev; n++ ) { @@ -244,9 +244,9 @@ void TDREND_HRFILT_SetFiltSet( } /* Azimuth values, one set per elevation, i.e. one per measurement point */ - HrFiltSet_p->Azim_p = (float *) count_malloc( HrFiltSet_p->NumPos * sizeof( float ) ); - buffer_p = (double *) count_malloc( HrFiltSet_p->NumPos * sizeof( double ) ); - HrFiltSet_p->ElevFull_p = (float *) count_malloc( HrFiltSet_p->NumPos * sizeof( float ) ); + HrFiltSet_p->Azim_p = (float *) malloc( HrFiltSet_p->NumPos * sizeof( float ) ); + buffer_p = (double *) malloc( HrFiltSet_p->NumPos * sizeof( double ) ); + HrFiltSet_p->ElevFull_p = (float *) malloc( HrFiltSet_p->NumPos * sizeof( float ) ); fread( (void *) buffer_p, num_bytes, HrFiltSet_p->NumPos, f_hrtf ); i = 0; for ( n = 0; n < HrFiltSet_p->NumElev; n++ ) @@ -263,14 +263,14 @@ void TDREND_HRFILT_SetFiltSet( i++; } } - count_free( buffer_p ); + free( buffer_p ); } /* allocate memory to LeftFilt and RightFilt */ mem_size = ( HrFiltSet_p->NumPos * HrFiltSet_p->FiltLength * sizeof( double ) ); - FiltSetIntRight_p = (double *) count_malloc( mem_size ); - FiltSetIntLeft_p = (double *) count_malloc( mem_size ); + FiltSetIntRight_p = (double *) malloc( mem_size ); + FiltSetIntLeft_p = (double *) malloc( mem_size ); RightFilt_p = FiltSetIntRight_p; LeftFilt_p = FiltSetIntLeft_p; @@ -301,8 +301,8 @@ void TDREND_HRFILT_SetFiltSet( /* Copy, and reverse the filter sets */ mem_size = ( HrFiltSet_p->NumPos * HrFiltSet_p->FiltLength * sizeof( float ) ); - RightFiltFlp_p = (float *) count_malloc( mem_size ); - LeftFiltFlp_p = (float *) count_malloc( mem_size ); + RightFiltFlp_p = (float *) malloc( mem_size ); + LeftFiltFlp_p = (float *) malloc( mem_size ); HrFiltSet_p->RightFiltSet_p = RightFiltFlp_p; HrFiltSet_p->LeftFiltSet_p = LeftFiltFlp_p; @@ -328,8 +328,8 @@ void TDREND_HRFILT_SetFiltSet( FiltIntLeft0_p += HrFiltSet_p->FiltLength; } - count_free( FiltSetIntLeft_p ); - count_free( FiltSetIntRight_p ); + free( FiltSetIntLeft_p ); + free( FiltSetIntRight_p ); return; } @@ -1117,8 +1117,8 @@ void HRTF_model_precalc( AlphaN = model->AlphaN; /* Precalculated energies for each section and each row of the alpha matrices */ - model->EL_dyn = (float *) count_malloc( HRTF_MODEL_N_SECTIONS * AlphaN * sizeof( float ) ); - model->ER_dyn = (float *) count_malloc( HRTF_MODEL_N_SECTIONS * AlphaN * sizeof( float ) ); + model->EL_dyn = (float *) malloc( HRTF_MODEL_N_SECTIONS * AlphaN * sizeof( float ) ); + model->ER_dyn = (float *) malloc( HRTF_MODEL_N_SECTIONS * AlphaN * sizeof( float ) ); pEL = model->EL_dyn; pER = model->ER_dyn; for ( i = 0; i < HRTF_MODEL_N_SECTIONS; i++ ) @@ -1169,37 +1169,37 @@ void BSplineModelEvalDealloc( if ( !model->modelROM ) { - count_free( model->elevKSeq_dyn ); - count_free( model->azim_start_idx_dyn ); - count_free( model->azimDim2_dyn ); - count_free( model->azimDim3_dyn ); - count_free( model->AlphaL_dyn ); - count_free( model->AlphaR_dyn ); - count_free( model->azimSegSamples_dyn ); + free( model->elevKSeq_dyn ); + free( model->azim_start_idx_dyn ); + free( model->azimDim2_dyn ); + free( model->azimDim3_dyn ); + free( model->AlphaL_dyn ); + free( model->AlphaR_dyn ); + free( model->azimSegSamples_dyn ); - count_free( model->azimShapeIdx_dyn ); - count_free( model->azimShapeSampFactor_dyn ); - count_free( model->elevBsShape_dyn ); + free( model->azimShapeIdx_dyn ); + free( model->azimShapeSampFactor_dyn ); + free( model->elevBsShape_dyn ); - count_free( model->EL_dyn ); - count_free( model->ER_dyn ); + free( model->EL_dyn ); + free( model->ER_dyn ); for ( i = 0; i < model->num_unique_azim_splines; i++ ) { - count_free( model->azimBsShape_dyn[i] ); + free( model->azimBsShape_dyn[i] ); } - count_free( model->azimBsShape_dyn ); + free( model->azimBsShape_dyn ); } - count_free( (void *) model->azimBsShape ); /* void* cast needed to please both gcc and Visual studio compilers. Deallocating const float** should be fine and gcc agrees, but Visual studio complains. */ + free( (void *) model->azimBsShape ); /* void* cast needed to please both gcc and Visual studio compilers. Deallocating const float** should be fine and gcc agrees, but Visual studio complains. */ for ( i = 0; i < model->elevDim3; i++ ) { - count_free( model->azimKSeq[i] ); + free( model->azimKSeq[i] ); } - count_free( model->azimKSeq ); + free( model->azimKSeq ); if ( modelEval != NULL ) { - count_free( modelEval->hrfModL ); - count_free( modelEval->hrfModR ); + free( modelEval->hrfModL ); + free( modelEval->hrfModR ); } return; @@ -1216,11 +1216,11 @@ void BSplineModelEvalITDDealloc( ModelParamsITD_t *model /* i : Model parameters */ ) { - count_free( model->elevKSeq_dyn ); - count_free( model->azimKSeq_dyn ); - count_free( model->W_dyn ); - count_free( model->azimBsShape_dyn ); - count_free( model->elevBsShape_dyn ); + free( model->elevKSeq_dyn ); + free( model->azimKSeq_dyn ); + free( model->W_dyn ); + free( model->azimBsShape_dyn ); + free( model->elevBsShape_dyn ); return; } diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 9f0c0bf427..a050aad8cb 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -122,7 +122,7 @@ void TDREND_MIX_Dealloc( /* Deallocate Listener and RendListener */ if ( hBinRendererTd->Listener_p != NULL ) { - count_free( hBinRendererTd->Listener_p ); + free( hBinRendererTd->Listener_p ); hBinRendererTd->Listener_p = NULL; } /* Dealloc HR filter set */ @@ -140,44 +140,44 @@ void TDREND_MIX_Dealloc( { if ( hBinRendererTd->HrFiltSet_p->Elev_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->Elev_p ); + free( hBinRendererTd->HrFiltSet_p->Elev_p ); hBinRendererTd->HrFiltSet_p->Elev_p = NULL; } if ( hBinRendererTd->HrFiltSet_p->Azim_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->Azim_p ); + free( hBinRendererTd->HrFiltSet_p->Azim_p ); hBinRendererTd->HrFiltSet_p->Azim_p = NULL; } if ( hBinRendererTd->HrFiltSet_p->LeftFiltSet_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->LeftFiltSet_p ); + free( hBinRendererTd->HrFiltSet_p->LeftFiltSet_p ); hBinRendererTd->HrFiltSet_p->LeftFiltSet_p = NULL; } if ( hBinRendererTd->HrFiltSet_p->RightFiltSet_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->RightFiltSet_p ); + free( hBinRendererTd->HrFiltSet_p->RightFiltSet_p ); hBinRendererTd->HrFiltSet_p->RightFiltSet_p = NULL; } #ifdef TDREND_HRTF_TABLE_METHODS if ( hBinRendererTd->HrFiltSet_p->NumAzim_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->NumAzim_p ); + free( hBinRendererTd->HrFiltSet_p->NumAzim_p ); hBinRendererTd->HrFiltSet_p->NumAzim_p = NULL; } if ( hBinRendererTd->HrFiltSet_p->AzimStartIdx_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->AzimStartIdx_p ); + free( hBinRendererTd->HrFiltSet_p->AzimStartIdx_p ); hBinRendererTd->HrFiltSet_p->AzimStartIdx_p = NULL; } if ( hBinRendererTd->HrFiltSet_p->ElevFull_p != NULL ) { - count_free( hBinRendererTd->HrFiltSet_p->ElevFull_p ); + free( hBinRendererTd->HrFiltSet_p->ElevFull_p ); hBinRendererTd->HrFiltSet_p->ElevFull_p = NULL; } #endif } - count_free( hBinRendererTd->HrFiltSet_p ); + free( hBinRendererTd->HrFiltSet_p ); hBinRendererTd->HrFiltSet_p = NULL; } @@ -225,7 +225,7 @@ ivas_error TDREND_MIX_Init( /* Init HR filter set */ if ( *hHrtfTD == NULL ) { - if ( ( hBinRendererTd->HrFiltSet_p = (TDREND_HRFILT_FiltSet_t *) count_malloc( sizeof( TDREND_HRFILT_FiltSet_t ) ) ) == NULL ) + if ( ( hBinRendererTd->HrFiltSet_p = (TDREND_HRFILT_FiltSet_t *) malloc( sizeof( TDREND_HRFILT_FiltSet_t ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Binaural TD renderer\n" ) ); } diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 44bc695e1d..85fc8caf4a 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -429,10 +429,10 @@ static void TDREND_SFX_SpatBin_SetParamsInitializeOn( SfxSpatBin_p->FilterLength = NewParam_p->FilterLength; mem_size = (int16_t) SfxSpatBin_p->FilterLength * sizeof( float ); - LeftFilter_p = (float *) count_malloc( mem_size ); - RightFilter_p = (float *) count_malloc( mem_size ); - LeftFilterIncr_p = (float *) count_malloc( mem_size ); - RightFilterIncr_p = (float *) count_malloc( mem_size ); + LeftFilter_p = (float *) malloc( mem_size ); + RightFilter_p = (float *) malloc( mem_size ); + LeftFilterIncr_p = (float *) malloc( mem_size ); + RightFilterIncr_p = (float *) malloc( mem_size ); SfxSpatBin_p->LeftFilter_p = LeftFilter_p; SfxSpatBin_p->RightFilter_p = RightFilter_p; @@ -510,10 +510,10 @@ static void TDREND_SFX_SpatBin_SetParamsInitializeOff( SfxSpatBin_p->FilterLength = NewParam_p->FilterLength; mem_size = (int16_t) SfxSpatBin_p->FilterLength * sizeof( float ); - LeftFilter_p = (float *) count_malloc( mem_size ); - RightFilter_p = (float *) count_malloc( mem_size ); - LeftFilterIncr_p = (float *) count_malloc( mem_size ); - RightFilterIncr_p = (float *) count_malloc( mem_size ); + LeftFilter_p = (float *) malloc( mem_size ); + RightFilter_p = (float *) malloc( mem_size ); + LeftFilterIncr_p = (float *) malloc( mem_size ); + RightFilterIncr_p = (float *) malloc( mem_size ); SfxSpatBin_p->LeftFilter_p = LeftFilter_p; SfxSpatBin_p->RightFilter_p = RightFilter_p; @@ -1218,8 +1218,8 @@ ivas_error TDREND_SFX_SpatBin_Initialize( case 16000: SfxSpatBin_p->MaxTargetTime = TDREND_SRC_REND_MaxTargetTimes[0]; SfxSpatBin_p->MaxBlockLength = TDREND_SRC_REND_MaxBlockLengths[0]; - SfxSpatBin_p->LeftOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0] ) * sizeof( float ) ); - SfxSpatBin_p->RightOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0] ) * sizeof( float ) ); + SfxSpatBin_p->LeftOldBuffer = malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0] ) * sizeof( float ) ); + SfxSpatBin_p->RightOldBuffer = malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0] ) * sizeof( float ) ); /* Fill old buffers with zeros */ for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0]; i++ ) { @@ -1230,8 +1230,8 @@ ivas_error TDREND_SFX_SpatBin_Initialize( case 32000: SfxSpatBin_p->MaxTargetTime = TDREND_SRC_REND_MaxTargetTimes[1]; SfxSpatBin_p->MaxBlockLength = TDREND_SRC_REND_MaxBlockLengths[1]; - SfxSpatBin_p->LeftOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1] ) * sizeof( float ) ); - SfxSpatBin_p->RightOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1] ) * sizeof( float ) ); + SfxSpatBin_p->LeftOldBuffer = malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1] ) * sizeof( float ) ); + SfxSpatBin_p->RightOldBuffer = malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1] ) * sizeof( float ) ); /* Fill old buffers with zeros */ for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1]; i++ ) { @@ -1242,8 +1242,8 @@ ivas_error TDREND_SFX_SpatBin_Initialize( case 48000: SfxSpatBin_p->MaxTargetTime = TDREND_SRC_REND_MaxTargetTimes[2]; SfxSpatBin_p->MaxBlockLength = TDREND_SRC_REND_MaxBlockLengths[2]; - SfxSpatBin_p->LeftOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2] ) * sizeof( float ) ); - SfxSpatBin_p->RightOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2] ) * sizeof( float ) ); + SfxSpatBin_p->LeftOldBuffer = malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2] ) * sizeof( float ) ); + SfxSpatBin_p->RightOldBuffer = malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2] ) * sizeof( float ) ); /* Fill old buffers with zeros */ for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2]; i++ ) { diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index 364da58c7f..f0cc254120 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -187,14 +187,14 @@ static ivas_error TDREND_SRC_REND_Alloc( *SrcRend_pp = NULL; /* Allocate the TDREND_SRC_REND_t variable */ - SrcRend_p = (TDREND_SRC_REND_t *) count_malloc( sizeof( TDREND_SRC_REND_t ) ); + SrcRend_p = (TDREND_SRC_REND_t *) malloc( sizeof( TDREND_SRC_REND_t ) ); if ( SrcRend_p == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "SrcRend_p allocation error\n" ) ); } /* Allocate the HR filtering structures */ - SrcRend_p->SfxSpatBin_p = (SFX_SpatBin_t *) count_malloc( SPAT_BIN_MAX_INPUT_CHANNELS * sizeof( SFX_SpatBin_t ) ); + SrcRend_p->SfxSpatBin_p = (SFX_SpatBin_t *) malloc( SPAT_BIN_MAX_INPUT_CHANNELS * sizeof( SFX_SpatBin_t ) ); if ( SrcRend_p->SfxSpatBin_p == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "SrcRend_p->SfxSpatBin_p allocation error\n" ) ); @@ -222,35 +222,35 @@ static void TDREND_SRC_REND_Dealloc( } if ( SrcRend_p->SfxSpatBin_p->LeftOldBuffer != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p->LeftOldBuffer ); + free( SrcRend_p->SfxSpatBin_p->LeftOldBuffer ); } if ( SrcRend_p->SfxSpatBin_p->RightOldBuffer != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p->RightOldBuffer ); + free( SrcRend_p->SfxSpatBin_p->RightOldBuffer ); } if ( SrcRend_p->SfxSpatBin_p->LeftFilter_p != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p->LeftFilter_p ); + free( SrcRend_p->SfxSpatBin_p->LeftFilter_p ); } if ( SrcRend_p->SfxSpatBin_p->LeftFilterIncr_p != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p->LeftFilterIncr_p ); + free( SrcRend_p->SfxSpatBin_p->LeftFilterIncr_p ); } if ( SrcRend_p->SfxSpatBin_p->RightFilter_p != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p->RightFilter_p ); + free( SrcRend_p->SfxSpatBin_p->RightFilter_p ); } if ( SrcRend_p->SfxSpatBin_p->RightFilterIncr_p != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p->RightFilterIncr_p ); + free( SrcRend_p->SfxSpatBin_p->RightFilterIncr_p ); } if ( SrcRend_p->SfxSpatBin_p != NULL ) { - count_free( SrcRend_p->SfxSpatBin_p ); + free( SrcRend_p->SfxSpatBin_p ); } /* Free the SrcRend_p variable */ - count_free( SrcRend_p ); + free( SrcRend_p ); SrcRend_p = NULL; return; @@ -340,8 +340,8 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( SfxSpatBinParams.Reset = FALSE; SfxSpatBinParams.FilterLength = HrFiltSet_p->FiltLength; - SfxSpatBinParams.LeftFilter_p = (float *) count_malloc( mem_size ); - SfxSpatBinParams.RightFilter_p = (float *) count_malloc( mem_size ); + SfxSpatBinParams.LeftFilter_p = (float *) malloc( mem_size ); + SfxSpatBinParams.RightFilter_p = (float *) malloc( mem_size ); /* 1. Map source pos to the coordinate system of the listener */ switch ( SrcSpatial_p->PosType ) @@ -419,12 +419,12 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( if ( SfxSpatBinParams.LeftFilter_p != NULL ) { - count_free( SfxSpatBinParams.LeftFilter_p ); + free( SfxSpatBinParams.LeftFilter_p ); } if ( SfxSpatBinParams.RightFilter_p != NULL ) { - count_free( SfxSpatBinParams.RightFilter_p ); + free( SfxSpatBinParams.RightFilter_p ); } return; @@ -446,7 +446,7 @@ static ivas_error TDREND_SRC_SPATIAL_Alloc( *SrcSpatial_pp = NULL; /* Allocate the TDREND_SRC_t variable */ - SrcSpatial_p = (TDREND_SRC_SPATIAL_t *) count_malloc( sizeof( TDREND_SRC_SPATIAL_t ) ); + SrcSpatial_p = (TDREND_SRC_SPATIAL_t *) malloc( sizeof( TDREND_SRC_SPATIAL_t ) ); if ( SrcSpatial_p == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "TDREND_SRC_SPATIAL_t allocation error\n" ) ); @@ -473,7 +473,7 @@ static void TDREND_SRC_SPATIAL_Dealloc( return; } /* Free the SrcSpatial_p variable */ - count_free( SrcSpatial_p ); + free( SrcSpatial_p ); SrcSpatial_p = NULL; return; @@ -658,7 +658,7 @@ ivas_error TDREND_SRC_Alloc( *Src_pp = NULL; /* Allocate the TDREND_SRC_t variable */ - Src_p = (TDREND_SRC_t *) count_malloc( sizeof( TDREND_SRC_t ) ); + Src_p = (TDREND_SRC_t *) malloc( sizeof( TDREND_SRC_t ) ); if ( Src_p == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, " TDREND_SRC_Alloc: Allocation error\n" ) ); @@ -703,7 +703,7 @@ void TDREND_SRC_Dealloc( TDREND_SRC_REND_Dealloc( Src_p->SrcRend_p ); /* Free the Src_p variable */ - count_free( Src_p ); + free( Src_p ); Src_p = NULL; return; diff --git a/lib_rend/ivas_render_config.c b/lib_rend/ivas_render_config.c index 8dbf05ed4a..ea63940ce4 100644 --- a/lib_rend/ivas_render_config.c +++ b/lib_rend/ivas_render_config.c @@ -53,7 +53,7 @@ ivas_error ivas_render_config_open( ) { /* Allocate HR filter set for headphones configuration */ - *hRenderConfig = (RENDER_CONFIG_HANDLE) count_malloc( sizeof( RENDER_CONFIG_DATA ) ); + *hRenderConfig = (RENDER_CONFIG_HANDLE) malloc( sizeof( RENDER_CONFIG_DATA ) ); if ( *hRenderConfig == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for renderer configuration!" ); @@ -78,7 +78,7 @@ void ivas_render_config_close( return; } - count_free( *hRenderConfig ); + free( *hRenderConfig ); *hRenderConfig = NULL; return; diff --git a/lib_rend/ivas_reverb.c b/lib_rend/ivas_reverb.c index ffbdd026a3..a6cc8d50ea 100644 --- a/lib_rend/ivas_reverb.c +++ b/lib_rend/ivas_reverb.c @@ -965,7 +965,7 @@ ivas_error ivas_reverb_open( nr_fc_input = hRenderConfig->roomAcoustics.nBands; /* Allocate main reverb. handle */ - if ( ( pState = (REVERB_HANDLE) count_malloc( sizeof( REVERB_DATA ) ) ) == NULL ) + if ( ( pState = (REVERB_HANDLE) malloc( sizeof( REVERB_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Reverberator " ); } @@ -978,14 +978,14 @@ ivas_error ivas_reverb_open( /* Allocate memory for feedback delay lines */ for ( loop_idx = 0; loop_idx < IVAS_REV_MAX_NR_BRANCHES; loop_idx++ ) { - if ( ( pState->loop_delay_buffer[loop_idx] = (float *) count_malloc( params.pLoop_delays[loop_idx] * sizeof( float ) ) ) == NULL ) + if ( ( pState->loop_delay_buffer[loop_idx] = (float *) malloc( params.pLoop_delays[loop_idx] * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CREND Reverberator" ); } } /* Allocate memory for the pre-delay delay line */ - if ( ( pState->pPredelay_buffer = (float *) count_malloc( output_frame * sizeof( float ) ) ) == NULL ) + if ( ( pState->pPredelay_buffer = (float *) malloc( output_frame * sizeof( float ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CREND Reverberator" ); } @@ -1120,15 +1120,15 @@ void ivas_reverb_close( { if ( hReverb->loop_delay_buffer[loop_idx] != NULL ) { - count_free( hReverb->loop_delay_buffer[loop_idx] ); + free( hReverb->loop_delay_buffer[loop_idx] ); hReverb->loop_delay_buffer[loop_idx] = NULL; } } - count_free( hReverb->pPredelay_buffer ); + free( hReverb->pPredelay_buffer ); hReverb->pPredelay_buffer = NULL; - count_free( hReverb ); + free( hReverb ); hReverb = NULL; } diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 6a0c460ba5..c11511ef3d 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -77,7 +77,7 @@ ivas_error ivas_headTrack_open( int16_t i; /* Allocate Head-Tracking handle */ - if ( ( *hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) count_malloc( sizeof( HEAD_TRACK_DATA ) ) ) == NULL ) + if ( ( *hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) malloc( sizeof( HEAD_TRACK_DATA ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for head-tracking memory\n" ) ); } diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 9f714e73b0..a134992047 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1747,7 +1747,7 @@ static ivas_error initSbaPanGainsForMcOut( } } - count_free( tmpDecMtx ); + free( tmpDecMtx ); return IVAS_ERR_OK; } @@ -2120,8 +2120,8 @@ static DecoderDummy *initDecoderDummy( int32_t sampleRate, int16_t numTransChann assert( error == IVAS_ERR_OK ); } - decDummy = count_malloc( sizeof( DecoderDummy ) ); - decDummy->hDecoderConfig = count_malloc( sizeof( DECODER_CONFIG ) ); + decDummy = malloc( sizeof( DecoderDummy ) ); + decDummy->hDecoderConfig = malloc( sizeof( DECODER_CONFIG ) ); decDummy->hDecoderConfig->output_Fs = sampleRate; decDummy->hDecoderConfig->nchan_out = (int16_t) numOutChannels; decDummy->hDecoderConfig->Opt_Headrotation = 0; @@ -2141,7 +2141,7 @@ static DecoderDummy *initDecoderDummy( int32_t sampleRate, int16_t numTransChann if ( outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM || outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) { - decDummy->hHeadTrackData = count_malloc( sizeof( HEAD_TRACK_DATA ) ); + decDummy->hHeadTrackData = malloc( sizeof( HEAD_TRACK_DATA ) ); /* Initialise Rmat_prev to I, Rmat will be computed later */ for ( i = 0; i < 3; i++ ) { @@ -2222,11 +2222,11 @@ static void freeDecoderDummy( DecoderDummy **ppDecDummy ) if ( pDecDummy->hDecoderConfig != NULL ) { - count_free( pDecDummy->hDecoderConfig ); + free( pDecDummy->hDecoderConfig ); } if ( pDecDummy->hHeadTrackData != NULL ) { - count_free( pDecDummy->hHeadTrackData ); + free( pDecDummy->hHeadTrackData ); } ivas_render_config_close( &pDecDummy->hRenderConfig ); @@ -2266,7 +2266,7 @@ static void freeDecoderDummy( DecoderDummy **ppDecDummy ) /* HOA decoder matrix */ if ( pDecDummy->hoa_dec_mtx != NULL ) { - count_free( pDecDummy->hoa_dec_mtx ); + free( pDecDummy->hoa_dec_mtx ); pDecDummy->hoa_dec_mtx = NULL; } @@ -2274,7 +2274,7 @@ static void freeDecoderDummy( DecoderDummy **ppDecDummy ) ivas_dirac_dec_close_binaural_data( &pDecDummy->hDiracDecBin ); #endif - count_free( pDecDummy ); + free( pDecDummy ); pDecDummy = NULL; } @@ -2316,7 +2316,7 @@ ivas_error IVAS_REND_Open( return error; } - *phIvasRend = (IVAS_REND_HANDLE) count_malloc( sizeof( struct IVAS_REND ) ); + *phIvasRend = (IVAS_REND_HANDLE) malloc( sizeof( struct IVAS_REND ) ); if ( *phIvasRend == NULL ) { return IVAS_ERR_FAILED_ALLOC; @@ -3756,7 +3756,7 @@ static ivas_error renderIsmToBinauralRoom( tmpMcBuffer = ismInput->base.inputBuffer; getAudioConfigNumChannels( IVAS_REND_AUDIO_CONFIG_7_1_4, &tmp ); tmpMcBuffer.config.numChannels = tmp; - tmpMcBuffer.data = count_malloc( tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels * sizeof( float ) ); + tmpMcBuffer.data = malloc( tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels * sizeof( float ) ); set_zero( tmpMcBuffer.data, tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels ); renderBufferChannelLerp( ismInput->base.inputBuffer, 0, currentPanGains, previousPanGains, tmpMcBuffer ); @@ -3767,7 +3767,7 @@ static ivas_error renderIsmToBinauralRoom( accumulate2dArrayToBuffer( tmpCrendBuffer, &outAudio ); - count_free( tmpMcBuffer.data ); + free( tmpMcBuffer.data ); pop_wmops(); @@ -4014,7 +4014,7 @@ static ivas_error renderMcToBinaural( if ( headRotEnabled ) { tmpRotBuffer = mcInput->base.inputBuffer; - tmpRotBuffer.data = count_malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); + tmpRotBuffer.data = malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); set_zero( tmpRotBuffer.data, tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels ); rotateFrameMc( mcInput->base.inputBuffer, @@ -4026,7 +4026,7 @@ static ivas_error renderMcToBinaural( tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpRendBuffer ); - count_free( tmpRotBuffer.data ); + free( tmpRotBuffer.data ); } else { @@ -4066,7 +4066,7 @@ static ivas_error renderMcToBinauralRoom( if ( mcInput->base.ctx.pHeadRotData->headRotEnabled ) { tmpRotBuffer = mcInput->base.inputBuffer; - tmpRotBuffer.data = count_malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); + tmpRotBuffer.data = malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); set_zero( tmpRotBuffer.data, tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels ); rotateFrameMc( mcInput->base.inputBuffer, @@ -4078,7 +4078,7 @@ static ivas_error renderMcToBinauralRoom( tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpCrendBuffer ); - count_free( tmpRotBuffer.data ); + free( tmpRotBuffer.data ); } else { @@ -4126,7 +4126,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( if ( headRotEnabled ) { tmpRotBuffer = mcInput->base.inputBuffer; - tmpRotBuffer.data = count_malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); + tmpRotBuffer.data = malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); set_zero( tmpRotBuffer.data, tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels ); rotateFrameMc( mcInput->base.inputBuffer, @@ -4142,7 +4142,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( tmpMcBuffer = mcInput->base.inputBuffer; getAudioConfigNumChannels( IVAS_REND_AUDIO_CONFIG_7_1_4, &tmp ); tmpMcBuffer.config.numChannels = (int16_t) tmp; - tmpMcBuffer.data = count_malloc( tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels * sizeof( float ) ); + tmpMcBuffer.data = malloc( tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels * sizeof( float ) ); set_zero( tmpMcBuffer.data, tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels ); tmpBufPtr = ( headRotEnabled ) ? &tmpRotBuffer : &mcInput->base.inputBuffer; @@ -4165,9 +4165,9 @@ static ivas_error renderMcCustomLsToBinauralRoom( if ( headRotEnabled ) { - count_free( tmpRotBuffer.data ); + free( tmpRotBuffer.data ); } - count_free( tmpMcBuffer.data ); + free( tmpMcBuffer.data ); pop_wmops(); @@ -4361,7 +4361,7 @@ static ivas_error renderSbaToBinaural( if ( sbaInput->base.ctx.pHeadRotData->headRotEnabled ) { tmpRotBuffer = sbaInput->base.inputBuffer; - tmpRotBuffer.data = count_malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); + tmpRotBuffer.data = malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); /* copy input for in-place rotation */ mvr2r( sbaInput->base.inputBuffer.data, tmpRotBuffer.data, tmpRotBuffer.config.numChannels * tmpRotBuffer.config.numSamplesPerChannel ); @@ -4373,7 +4373,7 @@ static ivas_error renderSbaToBinaural( tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpCrendBuffer ); - count_free( tmpRotBuffer.data ); + free( tmpRotBuffer.data ); } else { @@ -4418,7 +4418,7 @@ static ivas_error renderSbaToBinauralRoom( if ( headRotEnabled ) { tmpRotBuffer = sbaInput->base.inputBuffer; - tmpRotBuffer.data = count_malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); + tmpRotBuffer.data = malloc( tmpRotBuffer.config.numSamplesPerChannel * tmpRotBuffer.config.numChannels * sizeof( float ) ); /* copy input for in-place rotation */ mvr2r( sbaInput->base.inputBuffer.data, tmpRotBuffer.data, tmpRotBuffer.config.numChannels * tmpRotBuffer.config.numSamplesPerChannel ); @@ -4429,7 +4429,7 @@ static ivas_error renderSbaToBinauralRoom( tmpMcBuffer = sbaInput->base.inputBuffer; getAudioConfigNumChannels( IVAS_REND_AUDIO_CONFIG_7_1_4, &tmp ); tmpMcBuffer.config.numChannels = (int16_t) tmp; - tmpMcBuffer.data = count_malloc( tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels * sizeof( float ) ); + tmpMcBuffer.data = malloc( tmpMcBuffer.config.numSamplesPerChannel * tmpMcBuffer.config.numChannels * sizeof( float ) ); set_zero( tmpMcBuffer.data, tmpMcBuffer.config.numChannels * tmpMcBuffer.config.numSamplesPerChannel ); tmpBufPtr = ( headRotEnabled ) ? &tmpRotBuffer : &sbaInput->base.inputBuffer; @@ -4450,9 +4450,9 @@ static ivas_error renderSbaToBinauralRoom( if ( headRotEnabled ) { - count_free( tmpRotBuffer.data ); + free( tmpRotBuffer.data ); } - count_free( tmpMcBuffer.data ); + free( tmpMcBuffer.data ); pop_wmops(); @@ -4826,7 +4826,7 @@ void IVAS_REND_Close( ivas_limiter_close( &hIvasRend->hLimiter ); - count_free( hIvasRend ); + free( hIvasRend ); *phIvasRend = NULL; return; diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index 92b0058436..a4ea39b298 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -126,16 +126,16 @@ static void LoadBSplineBinaryITD( fread( &modelITD->N, sizeof( int16_t ), 1, f_hrtf ); fread( &modelITD->elevDim2, sizeof( int16_t ), 1, f_hrtf ); fread( &modelITD->elevDim3, sizeof( int16_t ), 1, f_hrtf ); - modelITD->elevKSeq_dyn = (float *) count_malloc( ( modelITD->elevDim3 - 2 ) * sizeof( float ) ); + modelITD->elevKSeq_dyn = (float *) malloc( ( modelITD->elevDim3 - 2 ) * sizeof( float ) ); fread( modelITD->elevKSeq_dyn, sizeof( float ), modelITD->elevDim3 - 2, f_hrtf ); fread( &modelITD->azimDim2, sizeof( int16_t ), 1, f_hrtf ); fread( &modelITD->azimDim3, sizeof( int16_t ), 1, f_hrtf ); - modelITD->azimKSeq_dyn = (float *) count_malloc( ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( float ) ); /* basis functions are flipped around 180 deg, number of basis functions above/below is (N+1)/2 */ + modelITD->azimKSeq_dyn = (float *) malloc( ( ( modelITD->azimDim3 + 1 ) / 2 - 2 ) * sizeof( float ) ); /* basis functions are flipped around 180 deg, number of basis functions above/below is (N+1)/2 */ fread( modelITD->azimKSeq_dyn, sizeof( float ), ( modelITD->azimDim3 + 1 ) / 2 - 2, f_hrtf ); fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); - modelITD->W_dyn = (float *) count_malloc( tmp * sizeof( float ) ); + modelITD->W_dyn = (float *) malloc( tmp * sizeof( float ) ); fread( modelITD->W_dyn, sizeof( float ), tmp, f_hrtf ); /* azimuth */ @@ -144,7 +144,7 @@ static void LoadBSplineBinaryITD( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); - modelITD->azimBsShape_dyn = (float *) count_malloc( tmp * sizeof( float ) ); + modelITD->azimBsShape_dyn = (float *) malloc( tmp * sizeof( float ) ); fread( modelITD->azimBsShape_dyn, sizeof( float ), tmp, f_hrtf ); fread( &modelITD->azimSegSamples, sizeof( int16_t ), 1, f_hrtf ); @@ -155,7 +155,7 @@ static void LoadBSplineBinaryITD( fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); - modelITD->elevBsShape_dyn = (float *) count_malloc( tmp * sizeof( float ) ); + modelITD->elevBsShape_dyn = (float *) malloc( tmp * sizeof( float ) ); fread( modelITD->elevBsShape_dyn, sizeof( float ), tmp, f_hrtf ); fread( &modelITD->elevSegSamples, sizeof( int16_t ), 1, f_hrtf ); @@ -224,51 +224,51 @@ static ivas_error LoadBSplineBinary( fread( &model->elevDim2, sizeof( int16_t ), 1, f_hrtf ); fread( &model->elevDim3, sizeof( int16_t ), 1, f_hrtf ); - model->elevKSeq_dyn = (float *) count_malloc( ( model->elevDim3 - 2 ) * sizeof( float ) ); + model->elevKSeq_dyn = (float *) malloc( ( model->elevDim3 - 2 ) * sizeof( float ) ); fread( model->elevKSeq_dyn, sizeof( float ), model->elevDim3 - 2, f_hrtf ); - model->azimDim2_dyn = (int16_t *) count_malloc( model->elevDim3 * sizeof( int16_t ) ); - model->azimDim3_dyn = (int16_t *) count_malloc( model->elevDim3 * sizeof( int16_t ) ); - model->azim_start_idx_dyn = (int16_t *) count_malloc( model->elevDim3 * sizeof( int16_t ) ); - model->azimKSeq = (float **) count_malloc( model->elevDim3 * sizeof( float * ) ); + model->azimDim2_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); + model->azimDim3_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); + model->azim_start_idx_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); + model->azimKSeq = (float **) malloc( model->elevDim3 * sizeof( float * ) ); for ( i = 0; i < model->elevDim3; i++ ) { fread( &model->azimDim2_dyn[i], sizeof( int16_t ), 1, f_hrtf ); fread( &model->azimDim3_dyn[i], sizeof( int16_t ), 1, f_hrtf ); fread( &model->azim_start_idx_dyn[i], sizeof( int16_t ), 1, f_hrtf ); - model->azimKSeq[i] = (float *) count_malloc( ( model->azimDim3_dyn[i] + 1 ) * sizeof( float ) ); + model->azimKSeq[i] = (float *) malloc( ( model->azimDim3_dyn[i] + 1 ) * sizeof( float ) ); fread( model->azimKSeq[i], sizeof( float ), ( model->azimDim3_dyn[i] + 1 ), f_hrtf ); } fread( &model->AlphaN, sizeof( int16_t ), 1, f_hrtf ); - model->AlphaL_dyn = (float *) count_malloc( model->AlphaN * model->K * sizeof( float ) ); + model->AlphaL_dyn = (float *) malloc( model->AlphaN * model->K * sizeof( float ) ); fread( model->AlphaL_dyn, sizeof( float ), model->AlphaN * model->K, f_hrtf ); - model->AlphaR_dyn = (float *) count_malloc( model->AlphaN * model->K * sizeof( float ) ); + model->AlphaR_dyn = (float *) malloc( model->AlphaN * model->K * sizeof( float ) ); fread( model->AlphaR_dyn, sizeof( float ), model->AlphaN * model->K, f_hrtf ); /* azimuth */ fread( &model->num_unique_azim_splines, sizeof( int16_t ), 1, f_hrtf ); - model->azimBsShape = (const float **) count_malloc( model->num_unique_azim_splines * sizeof( float * ) ); - model->azimBsShape_dyn = (float **) count_malloc( model->num_unique_azim_splines * sizeof( float * ) ); - model->azimSegSamples_dyn = (int16_t *) count_malloc( model->num_unique_azim_splines * sizeof( int16_t ) ); + model->azimBsShape = (const float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); + model->azimBsShape_dyn = (float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); + model->azimSegSamples_dyn = (int16_t *) malloc( model->num_unique_azim_splines * sizeof( int16_t ) ); for ( i = 0; i < model->num_unique_azim_splines; i++ ) { fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); - model->azimBsShape_dyn[i] = (float *) count_malloc( tmp * sizeof( float ) ); + model->azimBsShape_dyn[i] = (float *) malloc( tmp * sizeof( float ) ); fread( model->azimBsShape_dyn[i], sizeof( float ), tmp, f_hrtf ); fread( &model->azimSegSamples_dyn[i], sizeof( int16_t ), 1, f_hrtf ); } - model->azimShapeIdx_dyn = (int16_t *) count_malloc( model->elevDim3 * sizeof( int16_t ) ); + model->azimShapeIdx_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); fread( model->azimShapeIdx_dyn, sizeof( int16_t ), model->elevDim3, f_hrtf ); - model->azimShapeSampFactor_dyn = (int16_t *) count_malloc( model->elevDim3 * sizeof( int16_t ) ); + model->azimShapeSampFactor_dyn = (int16_t *) malloc( model->elevDim3 * sizeof( int16_t ) ); fread( model->azimShapeSampFactor_dyn, sizeof( int16_t ), model->elevDim3, f_hrtf ); /* elevation */ fread( model->elevBsLen, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); fread( model->elevBsStart, sizeof( int16_t ), HRTF_MODEL_BSPLINE_NUM_COEFFS, f_hrtf ); fread( &tmp, sizeof( int16_t ), 1, f_hrtf ); - model->elevBsShape_dyn = (float *) count_malloc( tmp * sizeof( float ) ); + model->elevBsShape_dyn = (float *) malloc( tmp * sizeof( float ) ); fread( model->elevBsShape_dyn, sizeof( float ), tmp, f_hrtf ); fread( &model->elevSegSamples, sizeof( int16_t ), 1, f_hrtf ); diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index cc06737da4..69f5f99556 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -1317,7 +1317,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { if ( st_ivas.hLFE->lfe_delay_buf != NULL ) { - count_free( st_ivas.hLFE->lfe_delay_buf ); + free( st_ivas.hLFE->lfe_delay_buf ); st_ivas.hLFE->lfe_delay_buf = NULL; } if ( pIo_params->latency_s > 0 ) @@ -1325,7 +1325,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( pIo_params->latency_s * dec_io_params.out_sample_rate ); if ( st_ivas.hLFE->lfe_addl_delay > 0 ) { - if ( ( st_ivas.hLFE->lfe_delay_buf = (float *) count_malloc( st_ivas.hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) + if ( ( st_ivas.hLFE->lfe_delay_buf = (float *) malloc( st_ivas.hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) { fprintf( stderr, "Can not allocate memory for LFE additional delay buffer\n" ); return IVAS_FAILED; @@ -1344,7 +1344,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl delay_lp = (int16_t) ( ivas_lfe_lpf_delay[1] * (float) pIo_params->sample_rate ); for ( i = 0; i < in_ch - st_ivas.hIntSetup.num_lfe; i++ ) { - if ( ( ppDelay_lines[i] = (float *) count_malloc( delay_lp * sizeof( float ) ) ) == NULL ) + if ( ( ppDelay_lines[i] = (float *) malloc( delay_lp * sizeof( float ) ) ) == NULL ) { fprintf( stderr, "Can not allocate memory for LFE additional delay buffer\n" ); return IVAS_FAILED; @@ -1592,7 +1592,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { for ( i = 0; i < in_ch - st_ivas.hIntSetup.num_lfe; i++ ) { - count_free( ppDelay_lines[i] ); + free( ppDelay_lines[i] ); } } if ( st_ivas.hRenderConfig != NULL ) @@ -1603,7 +1603,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl /* Head track data handle */ if ( st_ivas.hHeadTrackData != NULL ) { - count_free( st_ivas.hHeadTrackData ); + free( st_ivas.hHeadTrackData ); st_ivas.hHeadTrackData = NULL; } -- GitLab From ad634cbea73ad4fe58d6fcc469d6cb5ad1071b46 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:37:11 +0100 Subject: [PATCH 127/620] removal of dynamic_malloc --- lib_enc/lib_enc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 44e69a9f86..8c92a96ca4 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -114,7 +114,9 @@ ivas_error IVAS_ENC_Open( *-----------------------------------------------------------------*/ #ifdef BITSTREAM_INDICES_MEMORY - if ( ( *phIvasEnc = (IVAS_ENC_HANDLE) dynamic_malloc( sizeof( struct IVAS_ENC ) ) ) == NULL ) +#define WMC_TOOL_SKIP + if ( ( *phIvasEnc = (IVAS_ENC_HANDLE) malloc( sizeof( struct IVAS_ENC ) ) ) == NULL ) +#undef WMC_TOOL_SKIP #else if ( ( *phIvasEnc = (IVAS_ENC_HANDLE) malloc( sizeof( struct IVAS_ENC ) ) ) == NULL ) #endif -- GitLab From ad76ed1893b16a885bb41bec28515c69e04c84a8 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:38:09 +0100 Subject: [PATCH 128/620] removal of dynamic_free --- lib_enc/lib_enc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 8c92a96ca4..2ab737e4ec 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -224,7 +224,9 @@ void IVAS_ENC_Close( ( *phIvasEnc )->st_ivas = NULL; #ifdef BITSTREAM_INDICES_MEMORY - dynamic_free( *phIvasEnc ); +#ifdef WMC_TOOL_SKIP + free( *phIvasEnc ); +#undef WMC_TOOL_SKIP #else free( *phIvasEnc ); #endif -- GitLab From f0b9192add41bd7320d7955cfae099ded24091f4 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:39:19 +0100 Subject: [PATCH 129/620] removal of dynamic_malloc - cont. --- lib_dec/lib_dec.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 792aafe180..4bdc40eb65 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1825,10 +1825,11 @@ void IVAS_DEC_PrintConfigWithBitstream( { Decoder_Struct *st_ivas; +#define WMC_TOOL_WKIP /* Create a copy of decoder struct that will be modified by preview_indices(), * leaving the original decoder struct unchanged. The additional memory used here * should not be counted towards memory footprint of the decoder. */ - st_ivas = dynamic_malloc( sizeof( Decoder_Struct ) ); + st_ivas = malloc( sizeof( Decoder_Struct ) ); memcpy( st_ivas, hIvasDec->st_ivas, sizeof( Decoder_Struct ) ); preview_indices( st_ivas, bit_stream, num_bits ); @@ -1836,7 +1837,8 @@ void IVAS_DEC_PrintConfigWithBitstream( /* Print config from modified decoder struct */ printConfigInfo_dec( st_ivas, hIvasDec->bitstreamformat, hIvasDec->Opt_VOIP, quietModeEnabled ); - dynamic_free( st_ivas ); + free( st_ivas ); +#undef WMC_TOOL_SKIP return; } -- GitLab From 54c17c82296deeed6bf0ef2b7245313d148ca863 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:44:25 +0100 Subject: [PATCH 130/620] replacement of count_calloc() with calloc() --- apps/renderer.c | 5 ++--- lib_dec/ivas_vbap.c | 6 +++--- lib_enc/lib_enc.c | 2 +- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index df04ea984d..8dc3eb6332 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -437,7 +437,7 @@ static int16_t getTotalNumInChannels( } #ifdef NOKIA_MASA_EXTERNAL_RENDERER - for ( int32_t i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) + for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { if ( masaIds[i] == 0 ) { @@ -924,7 +924,6 @@ int main( #ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < args.inConfig.numMasaBuses; ++i ) { - int16_t numChannels; if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, masaIds[i], &numChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); @@ -1325,7 +1324,7 @@ static IVAS_REND_AudioConfig parseAudioConfig( case '1': fprintf( stderr, "1TC MASA support is not functional and is pending on DirAC renderer refactoring.\n" ); exit( EXIT_FAILURE ); - return IVAS_REND_AUDIO_CONFIG_MASA1; + //return IVAS_REND_AUDIO_CONFIG_MASA1; case '2': return IVAS_REND_AUDIO_CONFIG_MASA2; default: diff --git a/lib_dec/ivas_vbap.c b/lib_dec/ivas_vbap.c index 2842e49738..e651646bbf 100644 --- a/lib_dec/ivas_vbap.c +++ b/lib_dec/ivas_vbap.c @@ -200,7 +200,7 @@ ivas_error vbap_init_data( if ( is_success && virtual_bottom_type != NO_VIRTUAL_SPEAKER_NODE ) { - vbap->bottom_virtual_speaker_node_division_gains = (float *) count_calloc( num_speaker_nodes, sizeof( float ) ); + vbap->bottom_virtual_speaker_node_division_gains = (float *) calloc( num_speaker_nodes, sizeof( float ) ); is_success &= vbap->bottom_virtual_speaker_node_division_gains != NULL; speaker_node_azi_deg_internal[vbap->bottom_virtual_speaker_node_index] = 0.0f; speaker_node_ele_deg_internal[vbap->bottom_virtual_speaker_node_index] = -90.0f; @@ -208,7 +208,7 @@ ivas_error vbap_init_data( if ( is_success && virtual_top_type != NO_VIRTUAL_SPEAKER_NODE ) { - vbap->top_virtual_speaker_node_division_gains = (float *) count_calloc( num_speaker_nodes, sizeof( float ) ); + vbap->top_virtual_speaker_node_division_gains = (float *) calloc( num_speaker_nodes, sizeof( float ) ); is_success &= vbap->top_virtual_speaker_node_division_gains != NULL; speaker_node_azi_deg_internal[vbap->top_virtual_speaker_node_index] = 0.0f; speaker_node_ele_deg_internal[vbap->top_virtual_speaker_node_index] = 90.0f; @@ -216,7 +216,7 @@ ivas_error vbap_init_data( if ( is_success && virtual_back_type != NO_VIRTUAL_SPEAKER_NODE ) { - vbap->back_virtual_speaker_node_division_gains = (float *) count_calloc( num_speaker_nodes, sizeof( float ) ); + vbap->back_virtual_speaker_node_division_gains = (float *) calloc( num_speaker_nodes, sizeof( float ) ); is_success &= vbap->back_virtual_speaker_node_division_gains != NULL; speaker_node_azi_deg_internal[vbap->back_virtual_speaker_node_index] = 180.0f; speaker_node_ele_deg_internal[vbap->back_virtual_speaker_node_index] = 0.0f; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 2ab737e4ec..af8424b3e8 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -224,7 +224,7 @@ void IVAS_ENC_Close( ( *phIvasEnc )->st_ivas = NULL; #ifdef BITSTREAM_INDICES_MEMORY -#ifdef WMC_TOOL_SKIP +#define WMC_TOOL_SKIP free( *phIvasEnc ); #undef WMC_TOOL_SKIP #else -- GitLab From b792f76e9a811c134fdd025675667092a12db6a3 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 12:46:17 +0100 Subject: [PATCH 131/620] bug fixes --- apps/decoder.c | 4 ++-- apps/encoder.c | 2 +- apps/renderer.c | 2 +- lib_com/options.h | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 825903d0be..012833761a 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -446,7 +446,7 @@ int main( #ifdef WMOPS reset_wmops(); - rest_mem( USE_32BITS ); + reset_mem( USE_32BITS ); #endif /*-----------------------------------------------------------------* @@ -528,7 +528,7 @@ cleanup: #ifdef WMOPS print_wmops(); - print_mem(); + print_mem( NULL ); #endif if ( !arg.quietModeEnabled ) diff --git a/apps/encoder.c b/apps/encoder.c index f1c023f8ca..87cc319ec4 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -778,7 +778,7 @@ cleanup: #ifdef WMOPS print_wmops(); - print_mem( ); + print_mem( NULL ); #endif #ifdef DEBUGGING diff --git a/apps/renderer.c b/apps/renderer.c index 8dc3eb6332..1ddc3e8690 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1049,7 +1049,7 @@ int main( #ifdef WMOPS print_wmops(); - print_mem(); + print_mem( NULL ); #endif return 0; diff --git a/lib_com/options.h b/lib_com/options.h index a831340bc0..b3261333e3 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -50,7 +50,7 @@ #ifndef RELEASE #define DEBUGGING /* Activate debugging part of the code */ #endif -/*#define WMOPS*/ /* Activate complexity and memory counters (! the codec must be already instrumented with the WMC Tool (use /ic and /op options) !) */ +#define WMOPS /* Activate complexity and memory counters (! the codec must be already instrumented with the WMC Tool (use /ic and /op options) !) */ /*#define WMOPS_PER_FRAME*/ /* Output complexity in WMOPS per frame to the file "res/wmops" (one float value per frame) */ /*#define WMOPS_DETAIL*/ /* Activate complexity detail printout for every function. Increases runtime overhead */ /*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output WMOPS analysis for worst case frame */ -- GitLab From 0ad2254d5ab3eee71b9ac59e2bd08cd97971a2bb Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 13:09:38 +0100 Subject: [PATCH 132/620] replacement of WMC_TOOL_SKIP_FILE with WMC_TOOL_SKIP --- lib_com/basop32.c | 4 +++- lib_com/basop_com_lpc.c | 6 ++++-- lib_com/basop_lsf_tools.c | 5 ++++- lib_com/basop_mpy.c | 5 ++++- lib_com/basop_tcx_utils.c | 5 ++++- lib_com/basop_util.c | 5 ++++- lib_com/disclaimer.c | 3 ++- lib_com/enh1632.c | 5 +++-- lib_com/enh40.c | 5 ++++- lib_com/options.h | 2 +- lib_com/window.c | 7 +++++-- 11 files changed, 38 insertions(+), 14 deletions(-) diff --git a/lib_com/basop32.c b/lib_com/basop32.c index b12e336e9c..af94bfaca6 100644 --- a/lib_com/basop32.c +++ b/lib_com/basop32.c @@ -30,7 +30,6 @@ *******************************************************************************************************/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ /* v.2.3 - 30.Nov.2009 ============================================================================= @@ -167,6 +166,8 @@ HISTORY: #include "ivas_error.h" #include "ivas_error_utils.h" +#define WMC_TOOL_SKIP + #ifdef _MSC_VER #pragma warning( disable : 4310 ) #endif @@ -3203,4 +3204,5 @@ Word32 L_msu0( Word32 L_var3, Word16 var1, Word16 var2 ) #endif /* ! BASOP_NOGLOB */ +#undef WMC_TOOL_SKIP /* end of file */ diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c index a24c100d54..3b02560719 100644 --- a/lib_com/basop_com_lpc.c +++ b/lib_com/basop_com_lpc.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include <assert.h> #include <stdint.h> @@ -41,10 +40,11 @@ #include "typedef.h" #include "basop_proto_func.h" #include "cnst.h" - #include "basop_util.h" #include "stl.h" +#define WMC_TOOL_SKIP + #define UNROLL_CHEBYSHEV_INNER_LOOP #define NC_MAX 8 #define GUESS_TBL_SZ 256 @@ -259,3 +259,5 @@ void basop_lsf2lsp( const Word16 lsf[], Word16 lsp[] ) return; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c index 7a7e655f81..72d5383c2f 100644 --- a/lib_com/basop_lsf_tools.c +++ b/lib_com/basop_lsf_tools.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include <assert.h> #include <stdint.h> @@ -42,6 +41,8 @@ #include "control.h" #include "basop_util.h" +#define WMC_TOOL_SKIP + #define NC_MAX 8 static Word16 E_LPC_f_lsp_pol_get( const Word16 lsp[], Word32 f[], const Word16 n, const Word16 past_Ovf, const Word16 isMODE1 ); @@ -309,3 +310,5 @@ static Word16 E_LPC_f_lsp_pol_get( } return Ovf; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/basop_mpy.c b/lib_com/basop_mpy.c index 478dff4cfe..4641af2211 100644 --- a/lib_com/basop_mpy.c +++ b/lib_com/basop_mpy.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include "basop_mpy.h" #include <stdint.h> @@ -42,6 +41,8 @@ #include "debug.h" #endif +#define WMC_TOOL_SKIP + Word32 Mpy_32_16_1( Word32 x, Word16 y ) { Word32 mh; @@ -87,3 +88,5 @@ Word32 Mpy_32_32( Word32 x, Word32 y ) return ( mh ); } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c index ea306d34b2..84b6ffca9b 100644 --- a/lib_com/basop_tcx_utils.c +++ b/lib_com/basop_tcx_utils.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include <assert.h> #include <stdint.h> @@ -47,6 +46,8 @@ #include "prot.h" #include "rom_com.h" +#define WMC_TOOL_SKIP + /* compare two positive normalized 16 bit mantissa/exponent values */ /* return value: positive if first value greater, negative if second value greater, zero if equal */ static Word16 compMantExp16Unorm( Word16 m1, Word16 e1, Word16 m2, Word16 e2 ) @@ -436,3 +437,5 @@ void basop_PsychAdaptLowFreqDeemph( Word32 x[], const Word16 lpcGains[], const W } } } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c index 71feed1276..0006971a23 100644 --- a/lib_com/basop_util.c +++ b/lib_com/basop_util.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include <assert.h> #include <stdint.h> @@ -48,6 +47,8 @@ #include "control.h" #include "cnst.h" +#define WMC_TOOL_SKIP + extern const Word32 SqrtTable[32]; extern const Word16 SqrtDiffTable[32]; @@ -1107,3 +1108,5 @@ Word32 Sqrt_l( return ( L_y ); } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_com/disclaimer.c b/lib_com/disclaimer.c index 749f9fcce2..8e55138dd8 100644 --- a/lib_com/disclaimer.c +++ b/lib_com/disclaimer.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include <stdint.h> #include "options.h" @@ -42,6 +41,8 @@ #endif #include "prot.h" +#define WMC_TOOL_SKIP + int16_t print_disclaimer( FILE *fPtr ) { diff --git a/lib_com/enh1632.c b/lib_com/enh1632.c index 985398eec9..402d4a62c9 100644 --- a/lib_com/enh1632.c +++ b/lib_com/enh1632.c @@ -30,7 +30,6 @@ *******************************************************************************************************/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ /* =========================================================================== File: ENH1632.C v.2.3 - 30.Nov.2009 @@ -90,6 +89,8 @@ #include <stdlib.h> #include "stl.h" +#define WMC_TOOL_SKIP + /***************************************************************************** * * Constants and Globals @@ -629,5 +630,5 @@ Word32 L_rotl( Word32 L_var1, Word16 var2, Word16 *var3 ) return ( L_var_out ); } - +#undef WMC_TOOL_SKIP /* end of file */ diff --git a/lib_com/enh40.c b/lib_com/enh40.c index 777bfffd8f..645a220803 100644 --- a/lib_com/enh40.c +++ b/lib_com/enh40.c @@ -30,7 +30,6 @@ *******************************************************************************************************/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ /* =========================================================================== File: ENH40.C v.2.3 - 30.Nov.2009 @@ -93,6 +92,7 @@ * Include-Files * *****************************************************************************/ + #include <stdio.h> #include <stdlib.h> #include "stl.h" @@ -100,6 +100,8 @@ #include <assert.h> #endif /* BASOP_NOGLOB */ +#define WMC_TOOL_SKIP + #ifdef _MSC_VER #pragma warning( disable : 4310 ) #endif @@ -1308,4 +1310,5 @@ Word40 L40_shl_r( Word40 L40_var1, Word16 var2 ) } +#undef WMC_TOOL_SKIP /* end of file */ diff --git a/lib_com/options.h b/lib_com/options.h index b3261333e3..949a5d2ec7 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -57,7 +57,7 @@ #ifdef DEBUGGING -/*#define MEM_COUNT_DETAILS*/ /* RAM counting tool: print per sub-structure details */ +#define MEM_COUNT_DETAILS /* RAM counting tool: print per sub-structure details */ /*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO diff --git a/lib_com/window.c b/lib_com/window.c index a3bf82ac7e..80797869e0 100644 --- a/lib_com/window.c +++ b/lib_com/window.c @@ -33,16 +33,17 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ #include <stdint.h> +#include <math.h> #include "options.h" #ifdef DEBUGGING #include "debug.h" #endif -#include <math.h> #include "prot.h" +#define WMC_TOOL_SKIP + /*------------------------------------------------------------------- * ham_cos_window() * @@ -75,3 +76,5 @@ void ham_cos_window( return; } + +#undef WMC_TOOL_SKIP \ No newline at end of file -- GitLab From 4a87b4699c5c3c80dbe9a7d4200d253b4676b975 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 13:13:35 +0100 Subject: [PATCH 133/620] bug fixes --- apps/renderer.c | 2 +- lib_com/enh40.c | 1 - lib_dec/jbm_jb4_inputbuffer.c | 7 ++++--- lib_dec/jbm_jb4sb.c | 4 +++- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 1ddc3e8690..1144e1dd25 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -929,7 +929,7 @@ int main( fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); } - IVAS_REND_ReadOnlyAudioBuffer tmpBuffer = getReadOnlySubBuffer( inBuffer, args.inConfig.masaBuses[i].inputChannelIndex, numChannels ); + IVAS_REND_ReadOnlyAudioBuffer tmpBuffer = getReadOnlySubBuffer( inBuffer, (int16_t) args.inConfig.masaBuses[i].inputChannelIndex, numChannels ); if ( ( error = IVAS_REND_FeedInputAudio( hIvasRend, masaIds[i], tmpBuffer ) ) != IVAS_ERR_OK ) { diff --git a/lib_com/enh40.c b/lib_com/enh40.c index 645a220803..1215d9f576 100644 --- a/lib_com/enh40.c +++ b/lib_com/enh40.c @@ -163,7 +163,6 @@ #ifndef BASOP_NOGLOB Word40 L40_shl( Word40 L40_var1, Word16 var2 ) #else /* BASOP_NOGLOB */ - Word40 L40_shl_o( Word40 L40_var1, Word16 var2, Flag *Overflow ) #endif /* BASOP_NOGLOB */ { diff --git a/lib_dec/jbm_jb4_inputbuffer.c b/lib_dec/jbm_jb4_inputbuffer.c index bcd965de57..0959868a61 100644 --- a/lib_dec/jbm_jb4_inputbuffer.c +++ b/lib_dec/jbm_jb4_inputbuffer.c @@ -33,11 +33,9 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ /** \file jbm_jb4_inputbuffer.c RTP input buffer with fixed capacity. */ -/* system includes */ #include <assert.h> #include <stdint.h> #include "options.h" @@ -46,9 +44,10 @@ #ifdef DEBUGGING #include "debug.h" #endif -/* local includes */ #include "jbm_jb4_inputbuffer.h" +#define WMC_TOOL_SKIP + /** input buffer with fixed capacity */ struct JB4_INPUTBUFFER @@ -359,3 +358,5 @@ uint16_t JB4_INPUTBUFFER_Size( return ret; } + +#undef WMC_TOOL_SKIP \ No newline at end of file diff --git a/lib_dec/jbm_jb4sb.c b/lib_dec/jbm_jb4sb.c index e23de4aa04..a1d9d3d847 100644 --- a/lib_dec/jbm_jb4sb.c +++ b/lib_dec/jbm_jb4sb.c @@ -33,7 +33,6 @@ /*==================================================================================== EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 ====================================================================================*/ -/* WMC_TOOL_SKIP_FILE (basic ops file) */ /*! \file jbm_jb4sb.c EVS Jitter Buffer Management Interface */ @@ -54,6 +53,7 @@ #include "jbm_jb4sb.h" #include "prot.h" +#define WMC_TOOL_SKIP #define JB4_MIN( a, b ) ( ( a ) > ( b ) ? ( b ) : ( a ) ) #define JB4_MAX( a, b ) ( ( a ) > ( b ) ? ( a ) : ( b ) ) @@ -1508,3 +1508,5 @@ static int16_t JB4_inputBufferCompareFunction( return result; } + +#undef WMC_TOOL_SKIP \ No newline at end of file -- GitLab From c07a4a3a1633cd59273961c7fab27ee976e0e0f2 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 13:19:59 +0100 Subject: [PATCH 134/620] fixed non-matching brace problem --- lib_com/enh40.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib_com/enh40.c b/lib_com/enh40.c index 1215d9f576..5da2b0e6fd 100644 --- a/lib_com/enh40.c +++ b/lib_com/enh40.c @@ -190,11 +190,10 @@ Word40 L40_shl_o( Word40 L40_var1, Word16 var2, Flag *Overflow ) { #if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) if ( L40_var_out > 0x003fffffffff ) - { #else if ( L40_var_out > 0x003fffffffffLL ) - { #endif + { #ifndef BASOP_NOGLOB Overflow = 1; exit( 1 ); @@ -259,11 +258,10 @@ Word40 L40_shl( Word40 L40_var1, Word16 var2 ) { #if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) if ( L40_var_out > 0x003fffffffff ) - { #else if ( L40_var_out > 0x003fffffffffLL ) - { #endif + { assert( 0 ); L40_var_out = MAX_40; break; @@ -543,7 +541,6 @@ Word40 L40_add( Word40 L40_var1, Word40 L40_var2 ) #ifndef BASOP_NOGLOB Word40 L40_sub( Word40 L40_var1, Word40 L40_var2 ) #else /* BASOP_NOGLOB */ - Word40 L40_sub_o( Word40 L40_var1, Word40 L40_var2, Flag *Overflow ) #endif /* BASOP_NOGLOB */ { -- GitLab From 4e01a5e65b4aed855cf0083275c351970dca571a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 22 Nov 2022 13:38:25 +0100 Subject: [PATCH 135/620] prepare pages job to run in separate schedule --- .gitlab-ci.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a31842daec..a32388f0c4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1071,13 +1071,15 @@ complexity-StereoDmxEVS-stereo-in-mono-out: # Other jobs # --------------------------------------------------------------- +# job that sets up gitlab pages website +# is run on a separate schedule and collects artifacts from other jobs (currently +# only the complexity measurements) multiple times a day pages: stage: deploy tags: - - test-complexity-measurement + - ivas-linux rules: - # only run for pipelines that affect the data for the page - - if: $MEASURE_COMPLEXITY_LINUX + - if: $UPDATE_PAGES # TODO: add coverage job script: @@ -1085,7 +1087,8 @@ pages: - branch=$CI_COMMIT_REF_NAME - mkdir public - # get artifacts for complexity jobs + + ### fetch artifacts from latest run of complexity jobs - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) - echo $job_id - echo "$API_URL_BASE/$job_id/artifacts" -- GitLab From 318c9e5bf7678eeee2a2d6c133bb89c7242b6038 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 22 Nov 2022 14:14:45 +0100 Subject: [PATCH 136/620] remove test tag --- .gitlab-ci.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2a322d6632..c8bd082928 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -413,9 +413,6 @@ external-renderer-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request - # TODO: remove, only for testing - tags: - - test-fhg-linux-runner1 needs: ["build-codec-linux-make"] # TODO: set reasonable timeout, will most likely take less timeout: "20 minutes" @@ -470,9 +467,6 @@ ivas-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request - # TODO: remove, only for testing - tags: - - test-fhg-linux-runner1 stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "10 minutes" @@ -522,9 +516,6 @@ evs-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request - # TODO: remove, only for testing - tags: - - test-fhg-linux-runner1 stage: compare needs: ["build-codec-linux-cmake", "codec-smoke-test"] timeout: "10 minutes" @@ -646,9 +637,6 @@ codec-comparison-on-main-push: extends: - .test-job-linux - .rules-main-push - # TODO: remove, only for testing - tags: - - test-fhg-linux-runner1 stage: compare needs: ["build-codec-linux-cmake"] timeout: "30 minutes" # To be revisited -- GitLab From 3b3a98694198dba01a31cf5c2e82b741de007249 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 22 Nov 2022 14:20:03 +0100 Subject: [PATCH 137/620] use self-contained-html flag so report works standalone --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8800af5488..ef7291844c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -443,7 +443,7 @@ external-renderer-pytest-on-merge-request: # run test - exit_code=0 - - python3 -m pytest -q --log-level ERROR -n auto -rA --html=report.html --junit-xml=report-junit.xml tests/renderer/test_renderer_be_comparison.py || exit_code=$? + - python3 -m pytest -q --log-level ERROR -n auto -rA --html=report.html --self-contained-html --junit-xml=report-junit.xml tests/renderer/test_renderer_be_comparison.py || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -493,7 +493,7 @@ ivas-pytest-on-merge-request: ### run pytest - exit_code=0 - - python3 -m pytest tests -v --html=report.html --junit-xml=report-junit.xml || exit_code=$? + - python3 -m pytest tests -v --html=report.html --self-contained-html --junit-xml=report-junit.xml || exit_code=$? - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -539,7 +539,7 @@ evs-pytest-on-merge-request: ### run pytest for EVS cases - exit_code=0 - - python3 -m pytest tests/test_param_file.py -v --param_file scripts/config/self_test_evs.prm --html=report.html --junit-xml=report-junit-evs.xml || exit_code=$? + - python3 -m pytest tests/test_param_file.py -v --param_file scripts/config/self_test_evs.prm --html=report.html --self-contained-html --junit-xml=report-junit-evs.xml || exit_code=$? - zero_errors=$(cat report-junit-evs.xml | grep -c 'errors="0"') || true - *merge-request-comparison-check @@ -694,7 +694,7 @@ codec-comparison-on-main-push: ### run pytest - exit_code=0 - - python3 -m pytest tests -v --html=report.html --junit-xml=report-junit.xml || exit_code=$? + - python3 -m pytest tests -v --html=report.html --self-contained-html --junit-xml=report-junit.xml || exit_code=$? - if [ $exit_code -eq 1 ] && [ $non_be_flag == 0 ]; then echo "pytest run had failures and non-BE flag not present"; exit $EXIT_CODE_FAIL; fi - zero_errors=$(cat report-junit.xml | grep -c 'errors="0"') || true - if [ $exit_code -eq 1 ] && [ $zero_errors == 1 ]; then echo "pytest run had failures, but no errors and non-BE flag present"; exit $EXIT_CODE_NON_BE; fi -- GitLab From 1e8c90b51ce8c6e71f625a71ab80c258d4c5f07a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 22 Nov 2022 15:04:02 +0100 Subject: [PATCH 138/620] do not log env vars on runners --- pytest.ini | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pytest.ini b/pytest.ini index bb4169677b..0cb53d22bb 100644 --- a/pytest.ini +++ b/pytest.ini @@ -12,3 +12,5 @@ junit_family = xunit1 log_file_level = DEBUG log_format = %(asctime)s %(levelname)s %(message)s log_date_format = %Y-%m-%d %H:%M:%S +# for pytest-html report: do not log environment variables from the runners +environment_table_redact_list = .* -- GitLab From 2cc706a8445e6830dbb50169f9d71db203f224e5 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 15:14:34 +0100 Subject: [PATCH 139/620] fixing compilation warnings --- apps/decoder.c | 6 +++++- apps/encoder.c | 6 +++++- lib_com/pvq_com.c | 3 ++- lib_dec/ivas_dirac_dec_binaural_functions.c | 5 ++++- lib_dec/ivas_qmetadata_dec.c | 5 ++++- lib_dec/lib_dec.c | 4 ++-- lib_enc/ivas_agc_enc.c | 3 ++- lib_enc/ivas_qmetadata_enc.c | 3 ++- lib_rend/ivas_rotation.c | 4 ++++ lib_rend/lib_rend.c | 2 ++ 10 files changed, 32 insertions(+), 9 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 012833761a..e0c927c966 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -165,6 +165,10 @@ int main( #ifdef DEBUGGING dbgargs( &argc, argv ); #endif +#ifdef WMOPS + reset_wmops(); + reset_mem( USE_32BITS ); +#endif /*------------------------------------------------------------------------------------------* * Parse command-line arguments @@ -446,7 +450,7 @@ int main( #ifdef WMOPS reset_wmops(); - reset_mem( USE_32BITS ); + reset_stack(); #endif /*-----------------------------------------------------------------* diff --git a/apps/encoder.c b/apps/encoder.c index 87cc319ec4..c12e023db6 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -184,6 +184,10 @@ int main( #ifdef DEBUGGING dbgargs( &argc, argv ); #endif +#ifdef WMOPS + reset_wmops(); + reset_mem( USE_32BITS ); +#endif initArgStruct( &arg ); @@ -548,7 +552,7 @@ int main( #ifdef WMOPS reset_wmops(); - reset_mem( USE_32BITS ); + reset_stack(); #endif /*------------------------------------------------------------------------------------------* diff --git a/lib_com/pvq_com.c b/lib_com/pvq_com.c index 6aa3040e6d..af8e3f1bcc 100644 --- a/lib_com/pvq_com.c +++ b/lib_com/pvq_com.c @@ -691,6 +691,8 @@ void srt_vec_ind_f( return; } +#define WMC_TOOL_SKIP + /*-------------------------------------------------------------------* * UMult_32_32() * @@ -814,7 +816,6 @@ Word16 atan2_fx( Word16 man, expo, reciprocal; Word16 angle, w, z; -#define WMC_TOOL_SKIP IF( L_sub( x, 0 ) == 0 ) { return 25736; /* EVS_PI/2 in Q14 */ diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index 213108689f..942f545ec6 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -856,8 +856,11 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric { if ( !h->renderStereoOutputInsteadOfBinaural ) { + int16_t idx; + /* Apply target spectrum that emphasizes low frequencies when the sound is surround coherent */ - diffEne *= ( 1.0f - surCoh ) + surCoh * surCohEne[min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 )]; + idx = min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 ); + diffEne *= ( 1.0f - surCoh ) + surCoh * surCohEne[idx]; } } h->ChEneOut[0][bin] += diffEne; /* Diff ene part*/ diff --git a/lib_dec/ivas_qmetadata_dec.c b/lib_dec/ivas_qmetadata_dec.c index b4b1ded927..e1c6711236 100644 --- a/lib_dec/ivas_qmetadata_dec.c +++ b/lib_dec/ivas_qmetadata_dec.c @@ -3132,8 +3132,11 @@ int16_t read_surround_coherence( if ( hQMetaData->no_directions == 2 ) { + int16_t idx; + d += hQMetaData->twoDirBands[j]; - error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[max( d - 1, 0 )].energy_ratio[0] * hQMetaData->twoDirBands[j]; + idx = max( d - 1, 0 ); + error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[idx].energy_ratio[0] * hQMetaData->twoDirBands[j]; } else { diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 4bdc40eb65..516cb87bdf 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1817,6 +1817,7 @@ void IVAS_DEC_PrintConfig( #ifdef DEBUGGING +#define WMC_TOOL_SKIP void IVAS_DEC_PrintConfigWithBitstream( IVAS_DEC_HANDLE hIvasDec, const bool quietModeEnabled, @@ -1825,7 +1826,6 @@ void IVAS_DEC_PrintConfigWithBitstream( { Decoder_Struct *st_ivas; -#define WMC_TOOL_WKIP /* Create a copy of decoder struct that will be modified by preview_indices(), * leaving the original decoder struct unchanged. The additional memory used here * should not be counted towards memory footprint of the decoder. */ @@ -1838,10 +1838,10 @@ void IVAS_DEC_PrintConfigWithBitstream( printConfigInfo_dec( st_ivas, hIvasDec->bitstreamformat, hIvasDec->Opt_VOIP, quietModeEnabled ); free( st_ivas ); -#undef WMC_TOOL_SKIP return; } +#undef WMC_TOOL_SKIP #endif diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 25415fe203..57d7a07938 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -347,7 +347,8 @@ void ivas_agc_enc_process( int16_t isCompensated = FALSE; actualMaxAbsVal = pState->gain_state[i].lastMaxAbs * pState->gain_state[i].lastGain; pState->gain_data[i].gainException = FALSE; - pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[min( offset - 1, MaxAbsValIdx )] ) ); + idx = min( offset - 1, MaxAbsValIdx ); + pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[idx] ) ); while ( !isCompensated ) { diff --git a/lib_enc/ivas_qmetadata_enc.c b/lib_enc/ivas_qmetadata_enc.c index 9f8687e72b..59a11c8ddb 100644 --- a/lib_enc/ivas_qmetadata_enc.c +++ b/lib_enc/ivas_qmetadata_enc.c @@ -4277,7 +4277,8 @@ static int16_t encode_surround_coherence( if ( hQMetaData->no_directions == 2 ) { k += hQMetaData->twoDirBands[j]; - error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[max( k - 1, 0 )].energy_ratio[0] * hQMetaData->twoDirBands[j]; + idx = max( k - 1, 0 ); + error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[idx].energy_ratio[0] * hQMetaData->twoDirBands[j]; } else { diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index c11511ef3d..2f89c24d2b 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -903,6 +903,8 @@ static float SHrot_v( return p0 * ( 1.0f - d ) + p1 * sqrtf( 1.0f + d ); } } + + return 0; } static float SHrot_w( @@ -935,6 +937,8 @@ static float SHrot_w( return p0 - p1; } } + + return 0; } #ifdef EXT_RENDERER diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index a134992047..60a717905d 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -470,6 +470,8 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( default: return AUDIO_CONFIG_INVALID; } + + return IVAS_ERR_OK; } static ivas_error initLimiter( -- GitLab From b9da8349ad23292a314a118d84d1ee8a120392a1 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 22 Nov 2022 16:27:49 +0100 Subject: [PATCH 140/620] correction of bugs inside wmc_tool (print_mem() and const array[]) --- scripts/tools/Linux/wmc_tool | Bin 216328 -> 216328 bytes scripts/tools/Win32/wmc_tool.exe | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index 90517ea310d32c8c5421759cda3e32f53216069c..5e688baffec5967005eef9f6830e25c58bd900ac 100644 GIT binary patch delta 11220 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 D;~E*{ delta 11358 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 GYXJbtA2_!F diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index 9568101299..1b73a39d5c 100644 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e7694acbdd63f95acdccd908d493d93d6121d2fdec7b29fd21f030b5a6906359 -size 309760 +oid sha256:de3bb28f77cc9f38c67165cace5a096791cc2b5d8e7fda6aed17f87f63b8e7e5 +size 260096 -- GitLab From ea1ff74b1c8929a3f4bc70b00233b5cfa1568c59 Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Tue, 22 Nov 2022 16:42:07 +0100 Subject: [PATCH 141/620] fix compiler errors when DEBUG_MODE_DFT is enabled --- lib_enc/ivas_stereo_dft_enc.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index de44362ddd..8a672632fc 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -567,10 +567,6 @@ void stereo_enc_itd_init( void stereo_dft_enc_update( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder stereo handle */ const int16_t max_bwidth /* i : maximum encoded bandwidth */ -#ifdef DEBUG_MODE_DFT - , - const int16_t res_cod_bits -#endif ) { int16_t i, k_offset; @@ -670,7 +666,7 @@ void stereo_dft_enc_update( /*residual coding*/ if ( hStereoDft->hConfig->res_cod_mode ) { - tmp = res_cod_bits; + tmp = hStereoDft->res_cod_bits; nbits += tmp; fprintf( stderr, "\t Res cod.: %.2f kbps\n", tmp * input_Fs / ( 1000.f * input_frame ) ); } -- GitLab From 3a19ac0272c8c6834306bf865ca01e1a07cbd1ac Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 08:59:53 +0100 Subject: [PATCH 142/620] remove unnecessary constant defines --- apps/decoder.c | 1 - lib_com/ivas_cnst.h | 2 -- 2 files changed, 3 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 6f73723af1..7f94e19808 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -79,7 +79,6 @@ static #define NUM_BITS_SID_IVAS_9K3 186 #define NUM_BITS_SID_IVAS_10K2 204 #endif -#define META_LINE_LENGTH 200 #define MAX_FRAME_SIZE ( 48000 / 50 ) #define MAX_NUM_OUTPUT_CHANNELS 16 #define MAX_OUTPUT_PCM_BUFFER_SIZE ( MAX_NUM_OUTPUT_CHANNELS * MAX_FRAME_SIZE ) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 0074be76d2..7306216378 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -303,8 +303,6 @@ typedef enum * ISm Constants *----------------------------------------------------------------------------------*/ -#define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ - #define ISM_NB_BITS_METADATA_NOMINAL ( ( SCE_CORE_16k_LOW_LIMIT - ACELP_16k_LOW_LIMIT ) / FRAMES_PER_SEC ) /* nominal number of metadata bits - used for configuration of Core-Coder modules */ #define ISM_METADATA_VAD_FLAG_BITS 1 -- GitLab From c70ace952d70e1961847cbe65e7edcf6158fd18f Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 09:17:52 +0100 Subject: [PATCH 143/620] fix Issue 211: make ISM metadata file reader robust against invalid files; under FIX_ISM_METADAT_READER --- lib_com/ivas_error.h | 3 +++ lib_com/options.h | 1 + lib_enc/lib_enc.c | 4 ++++ lib_util/ism_file_reader.c | 37 +++++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+) diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index fdc7a1502d..84d9191d95 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -89,6 +89,9 @@ typedef enum IVAS_ERR_NOT_IMPLEMENTED, IVAS_ERR_FILE_READER_TIMESTAMP_MISMATCH, IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT, +#ifdef FIX_ISM_METADAT_READER + IVAS_ERR_ISM_INVALID_METADATA_VALUE, +#endif IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE, #ifdef DEBUGGING IVAS_ERR_INVALID_FORCE_MODE, diff --git a/lib_com/options.h b/lib_com/options.h index 29d980db05..4ca2b4a135 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -161,6 +161,7 @@ #define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ #define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ #define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ +#define FIX_ISM_METADAT_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 68a465a5bc..7929e4518b 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -1397,6 +1397,10 @@ const char *IVAS_ENC_GetErrorMessage( return "mismatched timestamp"; case IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT: return "invalid metadata format"; +#ifdef FIX_ISM_METADAT_READER + case IVAS_ERR_ISM_INVALID_METADATA_VALUE: + return "invalid metadata value provided"; +#endif case IVAS_ERR_FAILED_FILE_READ: return "could not read from file"; case IVAS_ERR_NOT_SUPPORTED_OPTION: diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c index d60c3ec8a8..412c0f91e1 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -86,6 +86,7 @@ IsmFileReader *IsmFileReader_open( * * Reads ISM metadata from a previously opened file into the provided struct. *---------------------------------------------------------------------*/ + /*! r: error code */ ivas_error IsmFileReader_readNextFrame( IsmFileReader *self, /* i/o: IsmFileReader handle */ @@ -124,12 +125,47 @@ ivas_error IsmFileReader_readNextFrame( return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; } +#ifdef FIX_ISM_METADAT_READER + if ( strtok( char_ptr, "\n" ) != NULL ) + { + /* Not enough values provided in one line */ + return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; + } +#endif + ismMetadata->azimuth = meta_prm[0]; ismMetadata->elevation = meta_prm[1]; ismMetadata->radius = meta_prm[2]; ismMetadata->spread = meta_prm[3]; ismMetadata->gainFactor = meta_prm[4]; +#ifdef FIX_ISM_METADAT_READER + /* verify whether the read metadata values are in an expected range */ + if ( ismMetadata->azimuth > 180 || ismMetadata->azimuth < -180 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->elevation > 90 || ismMetadata->elevation < -90 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->radius < 0 ) // Ivas_fmToDo: to be reviewed + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->spread > 360 || ismMetadata->spread < 0 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->gainFactor > 1 || ismMetadata->gainFactor < 0 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } +#endif return IVAS_ERR_OK; } @@ -140,6 +176,7 @@ ivas_error IsmFileReader_readNextFrame( * * De-allocates all underlying memory of an IsmFileReader. *---------------------------------------------------------------------*/ + void IsmFileReader_close( IsmFileReader **selfPtr /* i/o: pointer to IsmFileReader handle */ ) -- GitLab From 9c09c64f8dde8ad2a471e2168ecebb406fb863c9 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 10:20:36 +0100 Subject: [PATCH 144/620] additional sanity check within FIX_ISM_METADAT_READER --- lib_util/cmdl_tools.c | 24 ++++++++++++++++++++++++ lib_util/cmdl_tools.h | 2 ++ lib_util/ism_file_reader.c | 16 ++++++++++++++++ 3 files changed, 42 insertions(+) diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index aee640a17e..010685f239 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -78,3 +78,27 @@ bool is_digits_only( char *str ) return true; } + + +/*---------------------------------------------------------------------* + * is_number() + * + * Check if a string is a number. + *---------------------------------------------------------------------*/ + +bool is_number( char *str ) +{ + int16_t i; + + i = 0; + while ( str[i] != 0 ) + { + if ( ( str[i] < '0' || str[i] > '9' ) && str[i] != '.' && str[i] != '-' && str[i] != '\n' ) + { + return false; + } + i++; + } + + return true; +} diff --git a/lib_util/cmdl_tools.h b/lib_util/cmdl_tools.h index 3bc9cb81f7..829ec985b0 100644 --- a/lib_util/cmdl_tools.h +++ b/lib_util/cmdl_tools.h @@ -38,6 +38,8 @@ bool is_digits_only( char *str ); +bool is_number( char *str ); + char *to_upper( char *str ); diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c index 412c0f91e1..a3cc081edb 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -31,6 +31,9 @@ *******************************************************************************************************/ #include "ism_file_reader.h" +#ifdef FIX_ISM_METADAT_READER +#include "cmdl_tools.h" +#endif #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -114,8 +117,21 @@ ivas_error IsmFileReader_readNextFrame( char_ptr = strtok( char_buff, "," ); i = 0; meta_prm[i++] = (float) atof( char_ptr ); +#ifdef FIX_ISM_METADAT_READER + if ( is_number( char_ptr ) == false ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } +#endif while ( ( char_ptr = strtok( NULL, "," ) ) != NULL && i < NUM_ISM_METADATA_PER_LINE ) { +#ifdef FIX_ISM_METADAT_READER + if ( is_number( char_ptr ) == false ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } +#endif + meta_prm[i++] = (float) atof( char_ptr ); } -- GitLab From 3e6ff53e2bbbd133078ed3aa2891f2d44d77f9a6 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 10:20:56 +0100 Subject: [PATCH 145/620] fix in metadata input file --- scripts/testv/stvISM4.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/testv/stvISM4.csv b/scripts/testv/stvISM4.csv index 9afd15ba07..6318155a25 100644 --- a/scripts/testv/stvISM4.csv +++ b/scripts/testv/stvISM4.csv @@ -17,7 +17,7 @@ -0.00,76.80,1.00,0.00,1.00 -0.00,81.60,1.00,0.00,1.00 -0.00,86.40,1.00,0.00,1.00 --177.60,91.20,1.00,0.00,1.00 +-177.60,89.20,1.00,0.00,1.00 -177.60,86.40,1.00,0.00,1.00 -177.60,81.60,1.00,0.00,1.00 -177.60,76.80,1.00,0.00,1.00 @@ -54,7 +54,7 @@ 177.60,-76.80,1.00,0.00,1.00 177.60,-76.80,1.00,0.00,1.00 177.60,-86.40,1.00,0.00,1.00 -177.60,-91.20,1.00,0.00,1.00 +177.60,-89.20,1.00,0.00,1.00 0.00,-86.40,1.00,0.00,1.00 0.00,-81.60,1.00,0.00,1.00 0.00,-76.80,1.00,0.00,1.00 -- GitLab From 46c805e87be9011554ea961d05c1255f506da297 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 12:10:09 +0100 Subject: [PATCH 146/620] update with main --- lib_com/options.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 2f90f2c877..d717b4ebb2 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -161,11 +161,10 @@ #define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ #define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ #define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ - - #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif -- GitLab From 7e44f316ab8f25934693904ec3a409f20dabed7b Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 12:50:36 +0100 Subject: [PATCH 147/620] introduce function ivas_cldfb_dec_reconfig() --- lib_com/ivas_prot.h | 9 +++ lib_dec/ivas_corecoder_dec_reconfig.c | 89 +++++++++++++++++++++++++++ lib_dec/ivas_sba_dec.c | 12 ++++ 3 files changed, 110 insertions(+) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index eac8ec005a..1a170720f8 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3053,6 +3053,7 @@ ivas_error ivas_sba_dec_reinit( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif + ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); @@ -3063,6 +3064,14 @@ void ivas_init_dec_get_num_cldfb_instances( int16_t *numCldfbSyntheses /* o : number of CLDFB synthesis instances */ ); +#ifdef BRATE_SWITCHING_RENDERING +ivas_error ivas_cldfb_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + int16_t numCldfbAnalyses_old, /* i : number of CLDFB analysis instances in previous frame */ + const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ +); +#endif /*! r: Ambisonic (SBA) order */ int16_t ivas_sba_get_order( const int16_t nb_channels, /* i : Number of ambisonic channels */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index b11ba6cd39..b8d4e66cf4 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -398,3 +398,92 @@ ivas_error ivas_hp20_dec_reconfig( return error; } + + +#ifdef BRATE_SWITCHING_RENDERING +/*-------------------------------------------------------------------* + * ivas_cldfb_dec_reconfig() + * + * Allocate, initialize, and configure CLDFB handles in case of bitrate switching + *-------------------------------------------------------------------*/ + +ivas_error ivas_cldfb_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + int16_t numCldfbAnalyses_old, /* i : number of CLDFB analysis instances in previous frame */ + const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ +) +{ + int16_t i, numCldfbAnalyses, numCldfbSyntheses; + DECODER_CONFIG_HANDLE hDecoderConfig; + ivas_error error; + + hDecoderConfig = st_ivas->hDecoderConfig; + + ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); + + /* special case, if there was one transport channel in the previous frame and more than one in the current frame, + remove the second CLDFB here, it was for CNA/CNG */ + if ( st_ivas->ivas_format == SBA_FORMAT && nchan_transport_old == 1 && numCldfbAnalyses_old == 2 && st_ivas->nchan_transport > 1 ) + { + deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); + st_ivas->cldfbAnaDec[1] = NULL; + numCldfbAnalyses_old--; + } + + /* resample CLDFB analysis instances */ + for ( i = 0; i < min( numCldfbAnalyses, numCldfbAnalyses_old ); i++ ) + { + if ( ( st_ivas->cldfbAnaDec[i]->no_channels * st_ivas->cldfbAnaDec[i]->no_col ) != ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ) ) + { + resampleCldfb( st_ivas->cldfbAnaDec[i], hDecoderConfig->output_Fs ); + } + } + + /* Analysis*/ + if ( numCldfbAnalyses_old > numCldfbAnalyses ) + { + /* delete superfluous CLDFB synthesis instances */ + for ( i = numCldfbAnalyses; i < numCldfbAnalyses_old; i++ ) + { + deleteCldfb( &( st_ivas->cldfbAnaDec[i] ) ); + st_ivas->cldfbAnaDec[i] = NULL; + } + } + else if ( numCldfbAnalyses_old < numCldfbAnalyses ) + { + /* create additional CLDFB synthesis instances */ + for ( i = numCldfbAnalyses_old; i < numCldfbAnalyses; i++ ) + { + if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[i] ), CLDFB_ANALYSIS, hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + + /* Synthesis */ + if ( numCldfbSyntheses_old > numCldfbSyntheses ) + { + /* delete superfluous CLDFB synthesis instances */ + for ( i = numCldfbSyntheses; i < numCldfbSyntheses_old; i++ ) + { + deleteCldfb( &( st_ivas->cldfbSynDec[i] ) ); + st_ivas->cldfbSynDec[i] = NULL; + } + } + else if ( numCldfbSyntheses_old < numCldfbSyntheses ) + { + /* create additional CLDFB synthesis instances */ + for ( i = numCldfbSyntheses_old; i < numCldfbSyntheses; i++ ) + { + if ( ( error = openCldfb( &( st_ivas->cldfbSynDec[i] ), CLDFB_SYNTHESIS, hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + + return IVAS_ERR_OK; +} +#endif diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 9834cb0552..975fb60480 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -549,9 +549,17 @@ ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { +#ifdef BRATE_SWITCHING_RENDERING + int16_t nchan_transport_old, nSCE_old, nCPE_old, nchan_hp20_old; +#else int16_t i, nchan_transport_old, nSCE_old, nCPE_old, nchan_hp20_old; +#endif AUDIO_CONFIG intern_config_old; +#ifdef BRATE_SWITCHING_RENDERING + int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; +#else int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old; +#endif int16_t sba_dirac_stereo_flag_old; int32_t ivas_total_brate, last_ivas_total_brate; DECODER_CONFIG_HANDLE hDecoderConfig; @@ -704,6 +712,9 @@ ivas_error ivas_sba_dec_reconfigure( * CLDFB instances *-----------------------------------------------------------------*/ +#ifdef BRATE_SWITCHING_RENDERING + ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); +#else ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); /* special case, if there was one transport channel in the previous frame and more than one in the current frame, @@ -769,6 +780,7 @@ ivas_error ivas_sba_dec_reconfigure( } } } +#endif #ifndef BRATE_SWITCHING_RENDERING /*-------------------------------------------------------------------* -- GitLab From 8dd9ee4a4a632d0e1f2df8074620babc924e8a5e Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 23 Nov 2022 13:00:05 +0100 Subject: [PATCH 148/620] call "st_ivas->nchan_transport = nchan_transport_orig" assignment only at one place; under BRATE_SWITCHING_FRAMEWORK --- lib_dec/ivas_dirac_dec.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 2daed39221..5f9e908481 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -262,6 +262,10 @@ ivas_error ivas_dirac_dec_config( * set input parameters *-----------------------------------------------------------------*/ +#ifdef BRATE_SWITCHING_FRAMEWORK + st_ivas->nchan_transport = nchan_transport_orig; +#endif + if ( flag_config == DIRAC_OPEN ) { hDirAC->slot_size = (int16_t) ( ( output_Fs / FRAMES_PER_SEC ) / CLDFB_NO_COL_MAX ); @@ -273,15 +277,12 @@ ivas_error ivas_dirac_dec_config( /* band config needed only for SPAR with FOA output */ if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_FOA && st_ivas->sba_mode == SBA_MODE_SPAR ) { -#ifdef BRATE_SWITCHING_FRAMEWORK - st_ivas->nchan_transport = nchan_transport_orig; -#endif - return IVAS_ERR_OK; } +#ifndef BRATE_SWITCHING_FRAMEWORK st_ivas->nchan_transport = nchan_transport_orig; - +#endif if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC ) { hDirAC->synthesisConf = DIRAC_SYNTHESIS_PSD_LS; @@ -876,8 +877,9 @@ ivas_error ivas_dirac_dec_config( st_ivas->hDirAC = hDirAC; } +#ifndef BRATE_SWITCHING_FRAMEWORK st_ivas->nchan_transport = nchan_transport_orig; - +#endif return error; } -- GitLab From c41f67fde1d11f69f25f7137b9e7fa576573bce4 Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Thu, 24 Nov 2022 09:07:59 +1100 Subject: [PATCH 149/620] Make way for 3 extra bits in the AGC by removing an unnecessary bit from the AGC and slightly reducing the dirac max metadata rate for 24.4kbps --- lib_com/ivas_dirac_com.c | 4 ++++ lib_com/options.h | 2 +- lib_dec/ivas_agc_dec.c | 4 ++++ lib_enc/ivas_agc_enc.c | 2 ++ 4 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lib_com/ivas_dirac_com.c b/lib_com/ivas_dirac_com.c index a3bfeabdb2..b7265987d5 100644 --- a/lib_com/ivas_dirac_com.c +++ b/lib_com/ivas_dirac_com.c @@ -372,7 +372,11 @@ ivas_error ivas_dirac_sba_config( else if ( sba_total_brate <= IVAS_24k4 ) { hQMetaData->bits_frame_nominal = ACELP_16k40 / FRAMES_PER_SEC; +#ifdef FIX_185_REDUCE_MD_BITS + hQMetaData->metadata_max_bits = 103; +#else hQMetaData->metadata_max_bits = 106; +#endif } else if ( sba_total_brate <= IVAS_32k ) { diff --git a/lib_com/options.h b/lib_com/options.h index d717b4ebb2..edc0d9ae06 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -163,7 +163,7 @@ #define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ - +#define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index 0b25c8216c..99585a8829 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -308,7 +308,11 @@ void ivas_agc_read_bits( if ( per_ch_bit[i] == 1 ) { pState->gain_data[i].absGainExpCurr = get_next_indice( st0, (int16_t) pState->agc_com.betaE ); +#ifdef FIX_185_REDUCE_MD_BITS + pState->gain_data[i].gainException = false; +#else pState->gain_data[i].gainException = get_next_indice( st0, 1 ); +#endif } else { diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index f39f2b8148..0da76da143 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -512,7 +512,9 @@ void ivas_agc_enc_process( if ( per_ch_bit[i] == 1 ) { push_next_indice( hMetaData, (uint16_t) pState->gain_data[i].absGainExpCurr, (int16_t) pState->agc_com.betaE ); +#ifndef FIX_185_REDUCE_MD_BITS push_next_indice( hMetaData, (uint16_t) pState->gain_data[i].gainException, 1 ); +#endif assert( pState->gain_data[i].gainException == FALSE ); } } -- GitLab From 39777f28f6b84faf7fd0c721d9215a3c6b14fe86 Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Thu, 24 Nov 2022 09:16:38 +1100 Subject: [PATCH 150/620] AGC exception bit is no longer used, so clean up all code that calculate/use the exception bit --- .gitignore | 4 +++ lib_com/ivas_rom_com.c | 4 +-- lib_com/ivas_stat_com.h | 2 ++ lib_com/options.h | 4 +++ lib_dec/ivas_agc_dec.c | 14 +++++++++++ lib_enc/ivas_agc_enc.c | 42 ++++++++++++++++++++++++++++--- tests/create_short_testvectors.py | 2 +- 7 files changed, 65 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 591570d7d1..13dd28ed34 100644 --- a/.gitignore +++ b/.gitignore @@ -51,6 +51,10 @@ tests/renderer/cut tests/renderer/ref tests/dut tests/ref +scripts/testv/*_cut*.pcm +# default reference binary name +IVAS_cod_ref +IVAS_dec_ref # Python files that pop up when running scripts __pycache__/ diff --git a/lib_com/ivas_rom_com.c b/lib_com/ivas_rom_com.c index c843d5ddc4..c824c94a40 100644 --- a/lib_com/ivas_rom_com.c +++ b/lib_com/ivas_rom_com.c @@ -938,7 +938,7 @@ const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN] = { 256000, 0, SBA_HOA3_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 76300, 73550, 112000 },{ 59350, 57200, 56000 },{ 42400, 40850, 48000 },{ 25450, 24500, 40000 } }, { { 31, 11, 11, 1 },{ 1, 1, 1, 1 },{ 31, 1, 1, 1 } }, 1, 2, 0 }, - { 384000, 0, 1, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 100000, 100000, 128000 },{ 79850, 79850, 104000 },{ 66600, 66600, 104000 } }, // not yet optimized + { 384000, 0, SBA_FOA_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 100000, 100000, 128000 },{ 79850, 79850, 104000 },{ 66600, 66600, 104000 } }, // not yet optimized { { 31, 1, 1, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, { 384000, 0, SBA_HOA2_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 105350, 103300, 112000 },{ 75200, 73750, 96000 },{ 45100, 44250, 48000 } }, // just added as a place holder, not necessarily operational @@ -947,7 +947,7 @@ const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN] = { 384000, 0, SBA_HOA3_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 124300, 121550, 128000 },{ 96700, 94550, 112000 },{ 69050, 67500, 96000 },{ 41450, 40500, 48000 } }, // just added as a place holder, not necessarily operational { { 31, 11, 11, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, - { 512000, 0, 1, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 128000, 128000, 128000 },{ 128000, 128000, 128000 }, {118450, 118450, 128000 } }, // not yet optimized + { 512000, 0, SBA_FOA_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 128000, 128000, 128000 },{ 128000, 128000, 128000 }, {118450, 118450, 128000 } }, // not yet optimized { { 31, 1, 1, 1 },{ 1, 1, 1, 1 },{ 1, 1, 1, 1 } }, 1, 2, 0 }, { 512000, 0, SBA_HOA2_ORDER, FB, 24000, 4, WYXZ, 0, 0,{ { 128000, 128000, 128000 },{ 128000, 128000, 128000 },{ 128000, 128000, 128000 },{ 97700, 93300, 128000 } }, // not yet optimized diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h index 8dd59f1d18..2ec890b57d 100644 --- a/lib_com/ivas_stat_com.h +++ b/lib_com/ivas_stat_com.h @@ -315,7 +315,9 @@ typedef struct ivas_huff_coeffs_t /* AGC structures */ typedef struct ivas_agc_chan_data_t { +#ifndef CLEANUP_185_NO_AGC_EXCEPTION int16_t gainException; +#endif int16_t absGainExp; int16_t absGainExpCurr; diff --git a/lib_com/options.h b/lib_com/options.h index edc0d9ae06..21fe824853 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -164,6 +164,10 @@ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ +#ifdef FIX_185_REDUCE_MD_BITS +#define CLEANUP_185_NO_AGC_EXCEPTION /* Issue 185: Cleanup AGC EXCEPTION code */ +#endif + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index 99585a8829..d9aa86d7cf 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -78,7 +78,9 @@ static void ivas_agc_dec_init( /* gain_data */ ptr->absGainExp = hAgcDec->agc_com.absEmin; ptr->absGainExpCurr = hAgcDec->agc_com.absEmin; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION ptr->gainException = false; +#endif ptr++; } @@ -213,8 +215,10 @@ void ivas_agc_dec_process( pState->gain_state[i].lastGain = powf( pState->agc_com.winFunc[offset - 1], ( -1.f * (float) ( pState->gain_data[i].absGainExp - pState->agc_com.absEmin ) ) ); gainLast = 1.f / pState->gain_state[i].lastGain; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION if ( !pState->gain_data[i].gainException ) { +#endif if ( pState->gain_state[i].gainExpVal != 0 ) { for ( idx = 0; idx < output_frame; idx++ ) @@ -241,6 +245,7 @@ void ivas_agc_dec_process( pcm_out[i][idx] = pcm_in[i][idx] * gain; } } +#ifndef CLEANUP_185_NO_AGC_EXCEPTION } else { @@ -261,6 +266,7 @@ void ivas_agc_dec_process( } pState->gain_state[i].lastGain /= gainCurr; } +#endif pState->gain_data[i].absGainExp = pState->gain_data[i].absGainExpCurr; } @@ -309,7 +315,9 @@ void ivas_agc_read_bits( { pState->gain_data[i].absGainExpCurr = get_next_indice( st0, (int16_t) pState->agc_com.betaE ); #ifdef FIX_185_REDUCE_MD_BITS +#ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = false; +#endif #else pState->gain_data[i].gainException = get_next_indice( st0, 1 ); #endif @@ -317,7 +325,9 @@ void ivas_agc_read_bits( else { pState->gain_data[i].absGainExpCurr = (int32_t) pState->agc_com.absEmin; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = false; +#endif } } } @@ -326,7 +336,9 @@ void ivas_agc_read_bits( for ( i = 0; i < n_channels; i++ ) { pState->gain_data[i].absGainExpCurr = (int32_t) pState->agc_com.absEmin; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = false; +#endif } } @@ -337,8 +349,10 @@ void ivas_agc_read_bits( { fread( &( pState->gain_data[i].absGainExpCurr ), sizeof( int32_t ), 1, stream ); /* n bits */ num_bits += pState->agc_com.betaE; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION fread( &( pState->gain_data[i].gainException ), sizeof( int16_t ), 1, stream ); /* 1 bit */ num_bits++; +#endif num_dmx_bits[i]++; /*fprintf(stdout, "AbsGain[%d]:= %d[%d bits]; ", i, pState->gain_data[i].absGainExp, pState->betaE);*/ diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 0da76da143..3219807050 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -130,7 +130,9 @@ static void ivas_agc_enc_init( /* gain_data */ ptr->absGainExp = hAgcEnc->agc_com.absEmin; ptr->absGainExpCurr = hAgcEnc->agc_com.absEmin; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION ptr->gainException = FALSE; +#endif ptr++; } @@ -302,7 +304,9 @@ void ivas_agc_enc_process( isGainAdjusted = FALSE; if ( !isClipped ) { +#ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = FALSE; +#endif if ( pState->gain_state[i].lastExp == AGC_EMAX || MaxAbsVal < FLT_MIN ) { @@ -336,17 +340,26 @@ void ivas_agc_enc_process( if ( !isGainAdjusted ) { float actualMaxAbsVal = 0.f; - int16_t currMaxAttExp, gainExpValMaxRange; + int16_t currMaxAttExp +#ifndef CLEANUP_185_NO_AGC_EXCEPTION + , + gainExpValMaxRange +#endif + ; currMaxAttExp = min( ( pState->gain_state[i].lastExp + pState->agc_com.absEmin ), pState->agc_com.maxAttExp ); +#ifndef CLEANUP_185_NO_AGC_EXCEPTION gainExpValMaxRange = min( ( pState->gain_state[i].lastExp + pState->agc_com.absEmin ), pState->agc_com.maxAttExp + 1 ); +#endif extendedExpVal = FALSE; if ( isClipped ) { int16_t isCompensated = FALSE; actualMaxAbsVal = pState->gain_state[i].lastMaxAbs * pState->gain_state[i].lastGain; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = FALSE; +#endif pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[min( offset - 1, MaxAbsValIdx )] ) ); while ( !isCompensated ) @@ -384,6 +397,7 @@ void ivas_agc_enc_process( break; } +#ifndef CLEANUP_185_NO_AGC_EXCEPTION if ( pState->gain_state[i].gainExpVal > currMaxAttExp ) { pState->gain_data[i].gainException = TRUE; @@ -398,11 +412,14 @@ void ivas_agc_enc_process( } break; } +#endif } } +#ifndef CLEANUP_185_NO_AGC_EXCEPTION if ( !pState->gain_data[i].gainException ) { +#endif for ( idx = 0; idx < input_frame; idx++ ) { if ( idx < offset ) @@ -418,6 +435,7 @@ void ivas_agc_enc_process( } pState->gain_state[i].lastGain *= powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); +#ifndef CLEANUP_185_NO_AGC_EXCEPTION } else { @@ -431,16 +449,18 @@ void ivas_agc_enc_process( } pState->gain_state[i].lastGain *= gain; } - +#endif /*safety check starts*/ if ( pState->gain_state[i].gainExpVal == pState->agc_com.maxAttExp + 1 ) { extendedExpVal = TRUE; } +#ifndef CLEANUP_185_NO_AGC_EXCEPTION else if ( pState->gain_state[i].gainExpVal == 0 ) { pState->gain_data[i].gainException = FALSE; } +#endif /*safety check ends*/ pState->gain_state[i].prevExp = pState->gain_state[i].lastExp; @@ -448,10 +468,14 @@ void ivas_agc_enc_process( pState->gain_state[i].lastExp -= pState->gain_state[i].gainExpVal; if ( extendedExpVal ) { + +#ifndef CLEANUP_185_NO_AGC_EXCEPTION if ( !pState->gain_data[i].gainException ) { pState->gain_data[i].gainException = TRUE; +#endif pState->gain_state[i].gainExpVal = -1; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION } else { @@ -460,18 +484,24 @@ void ivas_agc_enc_process( pState->gain_state[i].gainExpVal = 0; } } +#endif } } pState->gain_data[i].absGainExp = pState->gain_state[i].prevExp + pState->agc_com.absEmin; - if ( extendedExpVal && pState->gain_data[i].gainException && pState->gain_state[i].gainExpVal <= 0 ) + if ( extendedExpVal +#ifndef CLEANUP_185_NO_AGC_EXCEPTION + && pState->gain_data[i].gainException +#endif + && pState->gain_state[i].gainExpVal <= 0 ) { +#ifndef CLEANUP_185_NO_AGC_EXCEPTION if ( pState->gain_state[i].gainExpVal == -1 ) { pState->gain_data[i].gainException = FALSE; } - +#endif pState->gain_state[i].gainExpVal = pState->agc_com.maxAttExp + 1; } @@ -515,7 +545,9 @@ void ivas_agc_enc_process( #ifndef FIX_185_REDUCE_MD_BITS push_next_indice( hMetaData, (uint16_t) pState->gain_data[i].gainException, 1 ); #endif +#ifndef CLEANUP_185_NO_AGC_EXCEPTION assert( pState->gain_data[i].gainException == FALSE ); +#endif } } } @@ -552,8 +584,10 @@ static int16_t ivas_agc_writeBits( FILE *stream, const int16_t n_channels, ivas_ fwrite( &( pState->gain_data[i].absGainExpCurr ), sizeof( int32_t ), 1, stream ); /* n bits */ num_bits += pState->agc_com.betaE; +#ifndef CLEANUP_185_NO_AGC_EXCEPTION fwrite( &( pState->gain_data[i].gainException ), sizeof( int16_t ), 1, stream ); /* 1 bit */ num_bits++; +#endif num_dmx_bits[i]++; /*fprintf(stdout, "absGainExpCurr[%d]:= %d[%d bits]; ", i, pState->gain_data[i].absGainExpCurr, pState->betaE); */ diff --git a/tests/create_short_testvectors.py b/tests/create_short_testvectors.py index 56c41d49b8..bb9207b75d 100755 --- a/tests/create_short_testvectors.py +++ b/tests/create_short_testvectors.py @@ -43,7 +43,7 @@ from cut_pcm import cut_samples HERE = Path(__file__).parent.resolve() TEST_VECTOR_DIR = str(HERE.joinpath("../scripts/testv").resolve()) -NUM_CHANNELS = "4" # currently only FOA +NUM_CHANNELS = "4" # currently only FOA CUT_FROM = "0.0" CUT_LEN = "5.0" -- GitLab From 602dfad2ec2f209ff874bf408571798e6e35fe22 Mon Sep 17 00:00:00 2001 From: Tapani Pihlajakuja <tapani.pihlajakuja@nokia.com> Date: Thu, 24 Nov 2022 10:32:00 +0200 Subject: [PATCH 151/620] Implements bitrate switching within McMASA and partially to other MC modes. --- lib_com/ivas_mcmasa_com.c | 37 +++ lib_com/ivas_prot.h | 47 +++ lib_com/options.h | 6 +- lib_com/swb_tbe_com.c | 4 + lib_dec/ivas_core_dec.c | 1 - lib_dec/ivas_corecoder_dec_reconfig.c | 221 +++++++++++++- lib_dec/ivas_cpe_dec.c | 5 + lib_dec/ivas_init_dec.c | 29 +- lib_dec/ivas_masa_dec.c | 2 +- lib_dec/ivas_mcmasa_dec.c | 148 ++++++++++ lib_dec/ivas_mct_dec.c | 144 +++++++++- lib_dec/ivas_sba_dec.c | 4 + lib_dec/ivas_sce_dec.c | 5 + lib_enc/igf_enc.c | 0 lib_enc/ivas_corecoder_enc_reconfig.c | 398 +++++++++++++++++++++++++- lib_enc/ivas_cpe_enc.c | 8 +- lib_enc/ivas_init_enc.c | 24 ++ lib_enc/ivas_mc_param_enc.c | 2 +- lib_enc/ivas_mcmasa_enc.c | 114 ++++++++ lib_enc/ivas_mct_enc.c | 48 ++++ lib_enc/ivas_sba_enc.c | 4 + lib_enc/ivas_sce_enc.c | 4 + 22 files changed, 1237 insertions(+), 18 deletions(-) create mode 100644 lib_dec/ivas_mcmasa_dec.c mode change 100755 => 100644 lib_enc/igf_enc.c diff --git a/lib_com/ivas_mcmasa_com.c b/lib_com/ivas_mcmasa_com.c index 2441cf7973..a080befbaa 100644 --- a/lib_com/ivas_mcmasa_com.c +++ b/lib_com/ivas_mcmasa_com.c @@ -91,6 +91,7 @@ void ivas_mcmasa_set_separate_channel_mode( return; } +#ifndef MCMASA_BITRATE_SWITCHING /*--------------------------------------------------------------------------* * ivas_mcmasa_mono_brate() * @@ -112,3 +113,39 @@ int32_t ivas_mcmasa_mono_brate( return ( const int32_t )( MCMASA_MONOBITRATIO * ivas_total_brate ); } } +#else +/*--------------------------------------------------------------------------* + * ivas_mcmasa_split_brate() + * + * Split the total bitrate to elements in McMASA + *--------------------------------------------------------------------------*/ +void ivas_mcmasa_split_brate( + const uint8_t separateChannelEnabled, /* i : Transport running in "separate channel" mode */ + const int32_t ivas_total_brate, /* i : Total bitrate available to be split */ + const int16_t nSCE, /* i : Number of SCEs in use (0 or 1) */ + const int16_t nCPE, /* i : Number of CPEs in use (0 or 1) */ + int32_t *brate_sce, /* o : Pointer to SCE element bitrate */ + int32_t *brate_cpe /* o : Pointer to CPE element bitrate */ +) +{ + if ( separateChannelEnabled ) + { + /* 25% of total bitrate is used for SCE below 96 kb/s (separated mono channel), otherwise 30% */ + if ( ivas_total_brate < IVAS_96k ) + { + *brate_sce = (int32_t) ( MCMASA_MONOBITRATIO_64k * ivas_total_brate ); + } + else + { + *brate_sce = (int32_t) ( MCMASA_MONOBITRATIO * ivas_total_brate ); + } + + *brate_cpe = ivas_total_brate - *brate_sce; + } + else + { + *brate_sce = nSCE > 0 ? ivas_total_brate / ( nCPE + nSCE ) : 0; + *brate_cpe = nCPE > 0 ? ivas_total_brate / ( nCPE + nSCE ) : 0; + } +} +#endif diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 27b9d21c0d..170c8eafa2 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -128,7 +128,14 @@ ivas_error ivas_corecoder_enc_reconfig( Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ +#ifdef MCMASA_BITRATE_SWITCHING + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ + const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ + const MC_MODE last_mc_mode /* i : switching between MC modes: last mode */ +#else const int16_t nchan_transport_old /* i : number of TCs in previous frame */ +#endif ); #endif @@ -333,11 +340,21 @@ void ivas_mct_dec_close( #ifdef CORECODER_BITRATE_SWITCHING ivas_error ivas_corecoder_dec_reconfig( +#ifdef MCMASA_BITRATE_SWITCHING + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ + const int16_t nCPE_old, /* i : number of CPEs in previous frame */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ + const int32_t brate_SCE, /* i : bitrate to be set for the SCEs      */ + const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ +#else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old /* i : signal stereo output for SBA DirAC in previous frame */ +#endif ); ivas_error ivas_hp20_dec_reconfig( @@ -4779,6 +4796,16 @@ void ivas_mcmasa_enc_close( const int32_t input_Fs /* i : input sampling rate */ ); +#ifdef MCMASA_BITRATE_SWITCHING +ivas_error ivas_mcmasa_enc_reconfig( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +ivas_error ivas_mcmasa_dec_reconfig( + Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ +); +#endif + void ivas_mcmasa_setNumTransportChannels( int16_t* nchan_transport, /* o : Pointer to number of transport channels to be set */ int16_t* element_mode, /* o : Pointer to element mode to be set */ @@ -4791,10 +4818,21 @@ void ivas_mcmasa_set_separate_channel_mode( const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ ); +#ifndef MCMASA_BITRATE_SWITCHING /*! r: McMASA SCE bitrate */ int32_t ivas_mcmasa_mono_brate( const int32_t ivas_total_brate /* i : IVAS total bitrate */ ); +#else +void ivas_mcmasa_split_brate( + const uint8_t separateChannelEnabled, /* i : Transport running in "separate channel" mode */ + const int32_t ivas_total_brate, /* i : Total bitrate available to be split */ + const int16_t nSCE, /* i : Number of SCEs in use (0 or 1) */ + const int16_t nCPE, /* i : Number of CPEs in use (0 or 1) */ + int32_t *brate_sce, /* o : Pointer to SCE element bitrate */ + int32_t *brate_cpe /* o : Pointer to CPE element bitrate */ +); +#endif void ivas_mcmasa_enc( MCMASA_ENC_HANDLE hMcMasa, /* i/o: Encoder McMASA handle */ @@ -4819,6 +4857,15 @@ void ivas_mcmasa_param_est_enc( const int16_t nchan_inp /* i : Number of input channels */ ); +#ifdef MCMASA_BITRATE_SWITCHING +void ivas_mcmasa_dmx_modify( + const int16_t n_samples, /* i : input frame length in samples */ + float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format */ + const uint8_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ + const uint8_t n_chnls_dmx_new /* i : number of downmix channels in the target format */ +); +#endif + void v_multc_acc( const float x[], /* i : Input vector */ const float c, /* i : Constant */ diff --git a/lib_com/options.h b/lib_com/options.h index 28fb60c2e9..6b63e63f71 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -58,7 +58,7 @@ #ifdef DEBUGGING -#define MEM_COUNT_DETAILS /* RAM counting tool: print per sub-structure details */ +/*#define MEM_COUNT_DETAILS*/ /* RAM counting tool: print per sub-structure details */ /*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO @@ -159,7 +159,9 @@ #define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ - +#ifdef MC_BITRATE_SWITCHING +#define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ +#endif /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/swb_tbe_com.c b/lib_com/swb_tbe_com.c index 4291feaed9..c8961f88dd 100644 --- a/lib_com/swb_tbe_com.c +++ b/lib_com/swb_tbe_com.c @@ -1891,6 +1891,10 @@ void tbe_celp_exc( return; } +#ifdef MCMASA_BITRATE_SWITCHING + assert( bwe_exc != NULL && "BWE excitation is NULL" ); +#endif + if ( L_frame == L_FRAME ) { offset = tbe_celp_exc_offset( T0, T0_frac ); diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index ad350f4e30..12274f8762 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -442,7 +442,6 @@ ivas_error ivas_core_dec( } } #endif - } /*---------------------------------------------------------------------* diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 8f0ba78857..479ed862af 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -50,15 +50,25 @@ /*-------------------------------------------------------------------* * ivas_corecoder_dec_reconfig() * - * Allocate, initalize, and configure SCE/CPE/MCT handles in case of bitrate switching + * Allocate, initialize, and configure SCE/CPE/MCT handles in case of bitrate switching *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_dec_reconfig( +#ifdef MCMASA_BITRATE_SWITCHING + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ + const int16_t nCPE_old, /* i : number of CPEs in previous frame */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ + const int32_t brate_SCE, /* i : bitrate to be set for the SCEs      */ + const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ +#else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old /* i : signal stereo output for SBA DirAC in previous frame */ +#endif ) { int16_t n, sce_id, cpe_id, output_frame; @@ -82,7 +92,12 @@ ivas_error ivas_corecoder_dec_reconfig( *-----------------------------------------------------------------*/ /* remove dummy CPE element for DFT stereo-like upmix */ +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( ( st_ivas->ivas_format == SBA_FORMAT ) && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) || + ( ( st_ivas->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCMASA ) && sba_dirac_stereo_flag_old ) ) +#else if ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) +#endif { st_ivas->hCPE[0]->hCoreCoder[0] = NULL; st_ivas->hCPE[0]->hCoreCoder[1] = NULL; @@ -99,6 +114,204 @@ ivas_error ivas_corecoder_dec_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( st_ivas->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCMASA ) ) + { + float *save_synth, *save_hb_synth; + save_synth = NULL; + save_hb_synth = NULL; + + /* McMASA specific handling: delete anything old and create completely new ones. + * sba_dirac_stereo_flag: STEREO rendering from 1 transport channel with low delay using DFT stereo */ + if ( ( nSCE_old > 0 ) && sba_dirac_stereo_flag_old && st_ivas->sba_dirac_stereo_flag ) + { + /* save the old buffers, if they exist */ + save_synth = st_ivas->hSCE[0]->save_synth; + save_hb_synth = st_ivas->hSCE[0]->save_hb_synth; + st_ivas->hSCE[0]->save_synth = NULL; + st_ivas->hSCE[0]->save_hb_synth = NULL; + } + + for ( sce_id = 0; sce_id < nSCE_old; sce_id++ ) + { + destroy_sce_dec( st_ivas->hSCE[sce_id] ); + st_ivas->hSCE[sce_id] = NULL; + } + for ( cpe_id = 0; cpe_id < nCPE_old; cpe_id++ ) + { + destroy_cpe_dec( st_ivas->hCPE[cpe_id] ); + st_ivas->hCPE[cpe_id] = NULL; + } + for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) + { + if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) + { + return error; + } + if ( ( sce_id == 0 ) && sba_dirac_stereo_flag_old && st_ivas->sba_dirac_stereo_flag ) + { + /* replace the newly created buffers with the old ones */ + if ( st_ivas->hSCE[0]->save_synth != NULL ) + { + count_free( st_ivas->hSCE[0]->save_synth ); + st_ivas->hSCE[0]->save_synth = NULL; + } + if ( st_ivas->hSCE[0]->save_hb_synth != NULL ) + { + count_free( st_ivas->hSCE[0]->save_hb_synth ); + st_ivas->hSCE[0]->save_hb_synth = NULL; + } + st_ivas->hSCE[0]->save_synth = save_synth; + st_ivas->hSCE[0]->save_hb_synth = save_hb_synth; + } + } + for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + else + { + /* non-McMASA */ + if ( ( st_ivas->nSCE == nSCE_old ) && ( st_ivas->nCPE == nCPE_old ) ) + { + for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) + { + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; + st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + } + + for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; + + /* prepare bitstream buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + } + } + + if ( st_ivas->nCPE > 1 ) + { + if ( ( error = mct_dec_reconfigure( st_ivas, 0 ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + else + { + nSCE_existing = min( nSCE_old, st_ivas->nSCE ); + nCPE_existing = min( nCPE_old, st_ivas->nCPE ); + + // VE: TBV - try to reuse the CoreCoder + /* destroy superfluous core coder elements */ + for ( sce_id = st_ivas->nSCE; sce_id < nSCE_old; sce_id++ ) + { + destroy_sce_dec( st_ivas->hSCE[sce_id] ); + st_ivas->hSCE[sce_id] = NULL; + } + + for ( cpe_id = st_ivas->nCPE; cpe_id < nCPE_old; cpe_id++ ) + { + destroy_cpe_dec( st_ivas->hCPE[cpe_id] ); + st_ivas->hCPE[cpe_id] = NULL; + } + + if ( st_ivas->nCPE <= 1 && st_ivas->hMCT != NULL ) + { + ivas_mct_dec_close( &st_ivas->hMCT ); + } + + /* special case, if we have MCT now and had a single CPE before, remove the MDCT Stereo handles from the first CPE*/ + if ( st_ivas->nCPE > 1 && nCPE_old == 1 ) + { + count_free( st_ivas->hCPE[0]->hStereoMdct ); + st_ivas->hCPE[0]->hStereoMdct = NULL; + } + + for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) + { + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; + st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + } + for ( ; sce_id < st_ivas->nSCE; sce_id++ ) + { + if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) + { + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; + + /* prepare bitstream buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + } + } + for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + if ( st_ivas->nCPE > 1 && nCPE_old <= 1 ) + { + if ( nCPE_old == 1 ) + { + /* set correct nominal bitrates and igf config already here, needed for the correct init of the MDCT Stereo handles for MCT */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[0]->hCoreCoder[n]->total_brate = st_ivas->hCPE[0]->element_brate; + st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal = (int16_t) ( st_ivas->hCPE[0]->element_brate / FRAMES_PER_SEC ); + st_ivas->hCPE[0]->hCoreCoder[n]->igf = 0; + } + } + + if ( ( error = create_mct_dec( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hMCT != NULL && st_ivas->nCPE > 1 ) + { + if ( ( error = mct_dec_reconfigure( st_ivas, st_ivas->nchan_transport != nchan_transport_old ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + /* special case, if we have a single CPE and had MCT before we need to init the MDCT stereo handles here */ + if ( st_ivas->nCPE == 1 && nCPE_old > 1 ) + { + if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); + } + + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->use_itd = 0; + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0; + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f; + + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + /* reset mct_chan_mode */ + st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; + } + } + } + } +#else if ( st_ivas->nchan_transport == nchan_transport_old ) { for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) @@ -233,9 +446,15 @@ ivas_error ivas_corecoder_dec_reconfig( } } } +#endif /* create dummy CPE element for DFT stereo-like upmix */ +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( ( st_ivas->ivas_format == SBA_FORMAT ) && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) || + ( ( st_ivas->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCMASA ) && st_ivas->sba_dirac_stereo_flag ) ) +#else if ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) +#endif { if ( ( error = create_cpe_dec( st_ivas, 0, ivas_total_brate / ( st_ivas->nSCE + st_ivas->nCPE ) ) ) != IVAS_ERR_OK ) { diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index e8c0493ad1..e8da2b8e48 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -535,8 +535,13 @@ ivas_error ivas_cpe_dec( for ( i = 0; i < n; i++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate.cpe", 0, cpe_id, DEC ) ); + dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode.cpe", 0, cpe_id, DEC ) ); +#else dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate", 0, cpe_id, DEC ) ); dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode", 0, cpe_id, DEC ) ); +#endif for ( int16_t j = 0; j < CPE_CHANNELS; j++ ) { diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index e183eda8e0..3d4fc869fe 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -272,7 +272,7 @@ ivas_error ivas_dec_setup( { if ( ( error = doSanityChecks_IVAS( st_ivas ) ) != IVAS_ERR_OK ) { - return IVAS_ERROR( error, "Sanitiy checks failed" ); + return IVAS_ERROR( error, "Sanity checks failed" ); } if ( ( error = ivas_init_decoder( st_ivas ) ) != IVAS_ERR_OK ) @@ -724,7 +724,7 @@ ivas_error ivas_init_decoder( } /*-----------------------------------------------------------------* - * Allocate and initalize SCE/CPE and other handles + * Allocate and initialize SCE/CPE and other handles *-----------------------------------------------------------------*/ if ( st_ivas->ivas_format == MONO_FORMAT ) @@ -1056,6 +1056,10 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { +#ifdef MCMASA_BITRATE_SWITCHING + int32_t brate_sce, brate_cpe; +#endif + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), ivas_total_brate ); if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) @@ -1092,8 +1096,18 @@ ivas_error ivas_init_decoder( } } +#ifdef MCMASA_BITRATE_SWITCHING + ivas_mcmasa_split_brate( st_ivas->hOutSetup.separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &brate_sce, &brate_cpe ); +#endif + for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( error = create_sce_dec( st_ivas, sce_id, brate_sce ) ) != IVAS_ERR_OK ) + { + return error; + } +#else if ( st_ivas->hOutSetup.separateChannelEnabled ) { if ( ( error = create_sce_dec( st_ivas, sce_id, ivas_mcmasa_mono_brate( ivas_total_brate ) ) ) != IVAS_ERR_OK ) @@ -1108,15 +1122,23 @@ ivas_error ivas_init_decoder( return error; } } +#endif reset_indices_dec( st_ivas->hSCE[sce_id]->hCoreCoder[0] ); } for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->element_mode_init = IVAS_CPE_MDCT; /* element_mode_init was IVAS_SCE for SCE initialization */ + if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_cpe ) ) != IVAS_ERR_OK ) + { + return error; + } +#else if ( st_ivas->hOutSetup.separateChannelEnabled ) { - st_ivas->element_mode_init = IVAS_CPE_MDCT; + st_ivas->element_mode_init = IVAS_CPE_MDCT; /* element_mode_init was IVAS_SCE for SCE initialization */ if ( ( error = create_cpe_dec( st_ivas, cpe_id, ivas_total_brate - st_ivas->hSCE[0]->element_brate ) ) != IVAS_ERR_OK ) { @@ -1132,6 +1154,7 @@ ivas_error ivas_init_decoder( return error; } } +#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { diff --git a/lib_dec/ivas_masa_dec.c b/lib_dec/ivas_masa_dec.c index b4aa18f2a1..3d30ba2071 100644 --- a/lib_dec/ivas_masa_dec.c +++ b/lib_dec/ivas_masa_dec.c @@ -1063,7 +1063,7 @@ ivas_error ivas_masa_dec_reconfigure( last_ivas_total_brate = st_ivas->hDecoderConfig->last_ivas_total_brate; /*-----------------------------------------------------------------* - * Allocate and initalize SCE/CPE and other handles + * Allocate and initialize SCE/CPE and other handles *-----------------------------------------------------------------*/ bit_stream = st_ivas->hSCE[0] != NULL ? st_ivas->hSCE[0]->hCoreCoder[0]->bit_stream : st_ivas->hCPE[0]->hCoreCoder[0]->bit_stream; diff --git a/lib_dec/ivas_mcmasa_dec.c b/lib_dec/ivas_mcmasa_dec.c new file mode 100644 index 0000000000..7b7cf935a4 --- /dev/null +++ b/lib_dec/ivas_mcmasa_dec.c @@ -0,0 +1,148 @@ +/****************************************************************************************************** + +(C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +contributors to this repository. All Rights Reserved. + +This software is protected by copyright law and by international treaties. +The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +contributors to this repository retain full ownership rights in their respective contributions in +the software. This notice grants no license of any kind, including but not limited to patent +license, nor is any license granted by implication, estoppel or otherwise. + +Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +contributions. + +This software is provided "AS IS", without any express or implied warranties. The software is in the +development stage. It is intended exclusively for experts who have experience with such software and +solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +and fitness for a particular purpose are hereby disclaimed and excluded. + +Any dispute, controversy or claim arising under or in relation to providing this software shall be +submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ +#include <stdio.h> + +#include "ivas_cnst.h" +#include "ivas_prot.h" +#include "options.h" +#include "prot.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "wmops.h" + +#ifdef MCMASA_BITRATE_SWITCHING + +/*------------------------------------------------------------------------- + * Local constants + *------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------- + * Local function prototypes + *------------------------------------------------------------------------*/ + +/*------------------------------------------------------------------------- + * ivas_mcmasa_dec_reconfig() + * + * Reconfigure McMASA decoder + *------------------------------------------------------------------------*/ +ivas_error ivas_mcmasa_dec_reconfig( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +) +{ + ivas_error error; + int32_t ivas_total_brate; + + ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; + + /* close the old MASA instance */ + if ( st_ivas->hMasa != NULL ) + { + ivas_masa_dec_close( st_ivas->hMasa ); + } + + /* get new McMASA settings */ + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), ivas_total_brate ); + ivas_mcmasa_set_separate_channel_mode( &( st_ivas->hOutSetup.separateChannelEnabled ), &( st_ivas->hOutSetup.separateChannelIndex ), ivas_total_brate ); + + /* renderer might change as an effect from the transport mode change */ + ivas_renderer_select( st_ivas ); + + /* side effect of the renderer selection can be a changed internal config. this is also needed when switching from non-McMASA */ + ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); + ivas_mcmasa_set_separate_channel_mode( &( st_ivas->hIntSetup.separateChannelEnabled ), &( st_ivas->hIntSetup.separateChannelIndex ), ivas_total_brate ); + + if ( ( error = ivas_masa_dec_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && st_ivas->hOutSetup.output_config == AUDIO_CONFIG_STEREO ); + + if ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_MCMASA_MONO_STEREO ) + { + if ( st_ivas->hDirAC == NULL ) + { + if ( ( error = ivas_dirac_dec_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + /*-------------------------------------------------------------------* + * Close binaural rendering handles and re-allocate proper ones + * in McMASA renderer_type can be only RENDERER_BINAURAL_PARAMETRIC, RENDERER_BINAURAL_PARAMETRIC_ROOM + *--------------------------------------------------------------------*/ + if ( st_ivas->hBinRenderer != NULL ) + { + ivas_binRenderer_close( &st_ivas->hBinRenderer ); + } + + if ( st_ivas->hDiracDecBin == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) + { + /* open parametric binaural renderer */ + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hDiracDecBin != NULL ) + { + if ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM ) + { + /* close unneeded renderer */ + ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + } + else + { + /* the decision for useTdDecorr is done in ivas_dirac_dec_init_binaural_data(). here, comparing against the same condition. */ + if ( st_ivas->hDiracDecBin->useTdDecorr != ( st_ivas->hDecoderConfig->ivas_total_brate < IVAS_48k && st_ivas->nchan_transport == 1 ) ) + { + /* st_ivas->hDiracDecBin->useTdDecorr will change => close and re-open. */ + ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + } + return error; +} +#endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index bb46fbdea0..e91062ecc2 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -644,11 +644,18 @@ ivas_error ivas_mc_dec_reconfig( const int16_t last_mc_mode /* i : last frame MC mode */ ) { +#ifdef MCMASA_BITRATE_SWITCHING + int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; +#else int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; +#endif int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; RENDERER_TYPE renderer_type_old; ivas_error error; MC_MODE mc_mode; +#ifdef MCMASA_BITRATE_SWITCHING + int32_t new_brate_SCE, new_brate_CPE; +#endif error = IVAS_ERR_OK; nchan_transport_old = st_ivas->nchan_transport; @@ -664,13 +671,23 @@ ivas_error ivas_mc_dec_reconfig( nCPE_old = st_ivas->nCPE; sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; +#ifdef MCMASA_BITRATE_SWITCHING + /* special handling needed for the hp20 buffers for McMASA */ + if ( last_mc_mode == MC_MODE_MCMASA ) + { + nchan_hp20_old = getNumChanSynthesis( st_ivas ); + } + else + { + nchan_hp20_old = nchan_transport_old; + } +#endif /* renderer might have changed, reselect */ renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); + if ( st_ivas->mc_mode == MC_MODE_MCT ) { - - st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ) ); st_ivas->nSCE = 0; st_ivas->nCPE = st_ivas->nchan_transport / 2; @@ -758,8 +775,10 @@ ivas_error ivas_mc_dec_reconfig( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { +#ifdef MCMASA_BITRATE_SWITCHING ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), st_ivas->hDecoderConfig->ivas_total_brate ); +#endif if ( last_mc_mode != MC_MODE_MCMASA ) { if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) @@ -767,12 +786,19 @@ ivas_error ivas_mc_dec_reconfig( return error; } +#ifndef MCMASA_BITRATE_SWITCHING if ( ( error = ivas_masa_dec_open( st_ivas ) ) != IVAS_ERR_OK ) { return error; } } - +#else + } + if ( ( error = ivas_mcmasa_dec_reconfig( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } +#endif /* ls conversion */ if ( st_ivas->hLsSetUpConversion != NULL ) { @@ -801,6 +827,19 @@ ivas_error ivas_mc_dec_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode != MC_MODE_MCMASA ) + { + if ( st_ivas->nchan_transport == 1 ) + { + st_ivas->element_mode_init = IVAS_SCE; + } + else + { + st_ivas->element_mode_init = IVAS_CPE_MDCT; + } + } +#else if ( st_ivas->nchan_transport == 1 ) { st_ivas->element_mode_init = IVAS_SCE; @@ -809,7 +848,7 @@ ivas_error ivas_mc_dec_reconfig( { st_ivas->element_mode_init = IVAS_CPE_MDCT; } - +#endif /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 @@ -848,13 +887,33 @@ ivas_error ivas_mc_dec_reconfig( st->mct_chan_mode = MCT_CHAN_MODE_LFE; } +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + uint8_t separateChannelEnabled; + int16_t separateChannelIndex; + ivas_mcmasa_set_separate_channel_mode( &separateChannelEnabled, &separateChannelIndex, st_ivas->hDecoderConfig->ivas_total_brate ); + ivas_mcmasa_split_brate( separateChannelEnabled, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); + } + else + { + new_brate_SCE = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport; + new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; + } + if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) +#endif { return error; } /* re-configure hp20 memories */ +#ifdef MCMASA_BITRATE_SWITCHING + ivas_hp20_dec_reconfig( st_ivas, nchan_hp20_old ); +#else ivas_hp20_dec_reconfig( st_ivas, nchan_transport_old ); +#endif /*-----------------------------------------------------------------* * CLDFB instances @@ -884,6 +943,25 @@ ivas_error ivas_mc_dec_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( last_mc_mode == MC_MODE_MCMASA ) && ( nchan_transport_old == 1 ) && ( ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM ) || ( renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) ) + { + /* cldfbAnaDec[1] might be modified by DirAC (ivas_dirac_dec_binaural_internal) -> re-instantiate it */ + if ( ( numCldfbAnalyses_old > 1 ) && ( numCldfbAnalyses > 1 ) ) + { + deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); + st_ivas->cldfbAnaDec[1] = NULL; + if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[1] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + for ( i = 0; i < numCldfbAnalyses; i++ ) + { + cldfb_reset_memory( st_ivas->cldfbAnaDec[i] ); + } +#endif /* Synthesis */ if ( numCldfbSyntheses_old > numCldfbSyntheses ) { @@ -905,8 +983,14 @@ ivas_error ivas_mc_dec_reconfig( } } } +#ifdef MCMASA_BITRATE_SWITCHING + for ( i = 0; i < numCldfbSyntheses; i++ ) + { + cldfb_reset_memory( st_ivas->cldfbSynDec[i] ); + } +#endif - /* Allocat the LFE handle that is coded seperately after the allocation of the core coders*/ + /* Allocate the LFE handle that is coded separately after the allocation of the core coders */ if ( st_ivas->mc_mode == MC_MODE_MCT && st_ivas->hLFE == NULL ) { @@ -923,8 +1007,37 @@ ivas_error ivas_mc_dec_reconfig( set_zero( st_ivas->hLFE->prior_out_buffer, L_FRAME48k ); } - /* renderers */ +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + if ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_MCMASA_MONO_STEREO ) ) + { + if ( st_ivas->hDirAC != NULL ) + { + /* reconfigure existing DirAC dec */ + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { + /* init a new DirAC dec */ + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_OPEN ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + else if ( ( st_ivas->renderer_type == RENDERER_DISABLE ) && ( st_ivas->hDirAC != NULL ) ) + { + ivas_dirac_dec_close( st_ivas->hDirAC ); + st_ivas->hDirAC = NULL; + } + } +#endif + if ( renderer_type_old != st_ivas->renderer_type ) { AUDIO_CONFIG output_config; @@ -946,10 +1059,29 @@ ivas_error ivas_mc_dec_reconfig( { ivas_td_binaural_close( &st_ivas->hBinRendererTd ); } +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->hDiracDecBin != NULL ) + { + if ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC ) + { + ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + } + else + { + /* useTdDecorr may change => close and re-open */ + ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } +#else if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } +#endif /* init necessary new renderers */ if ( st_ivas->hBinRenderer == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) ) { diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index bd02907991..08d263e8ac 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -605,7 +605,11 @@ ivas_error ivas_sba_dec_reconfigure( *-----------------------------------------------------------------*/ #ifdef CORECODER_BITRATE_SWITCHING +#ifdef MCMASA_BITRATE_SWITCHING + ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); +#else ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ); +#endif /*-----------------------------------------------------------------* * HP20 memories diff --git a/lib_dec/ivas_sce_dec.c b/lib_dec/ivas_sce_dec.c index 1eadd39cb0..fcc5cc8985 100644 --- a/lib_dec/ivas_sce_dec.c +++ b/lib_dec/ivas_sce_dec.c @@ -285,8 +285,13 @@ ivas_error ivas_sce_dec( for ( i = 0; i < n; i++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate.sce", 0, sce_id, DEC ) ); + dbgwrite( &st->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode.sce", 0, sce_id, DEC ) ); +#else dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate", 0, sce_id, DEC ) ); dbgwrite( &st->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode", 0, sce_id, DEC ) ); +#endif dbgwrite( output, sizeof( float ), output_frame, 1, fname( debug_dir, "output.sce", 0, sce_id, DEC ) ); tmpF = 0; diff --git a/lib_enc/igf_enc.c b/lib_enc/igf_enc.c old mode 100755 new mode 100644 diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index f4b302eefd..e76a73046a 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -51,10 +51,20 @@ *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_enc_reconfig( +#ifdef MCMASA_BITRATE_SWITCHING + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ + const int16_t nCPE_old, /* i : number of CPEs in previous frame */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ + const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ + const MC_MODE last_mc_mode /* i : switching between MC modes: last mode */ +#else Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ const int16_t nchan_transport_old /* i : number of TCs in previous frame */ +#endif ) { int16_t n, sce_id, cpe_id; @@ -63,7 +73,9 @@ ivas_error ivas_corecoder_enc_reconfig( BSTR_ENC_HANDLE hBstr, hMetaData; Indice *ind_list, *ind_list_metadata; int16_t nb_bits_tot, next_ind, last_ind; +#ifndef MCMASA_BITRATE_SWITCHING int32_t ivas_total_brate; +#endif ENCODER_CONFIG_HANDLE hEncoderConfig; ivas_error error; @@ -72,7 +84,9 @@ ivas_error ivas_corecoder_enc_reconfig( *-----------------------------------------------------------------*/ hEncoderConfig = st_ivas->hEncoderConfig; +#ifndef MCMASA_BITRATE_SWITCHING ivas_total_brate = hEncoderConfig->ivas_total_brate; +#endif error = IVAS_ERR_OK; len_inp_memory = (int16_t) ( hEncoderConfig->input_Fs / FRAMES_PER_SEC ); @@ -85,18 +99,31 @@ ivas_error ivas_corecoder_enc_reconfig( * Switching between SCE(s)/CPE(s)/MCT *-----------------------------------------------------------------*/ +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( st_ivas->nSCE == nSCE_old ) && ( st_ivas->nCPE == nCPE_old ) && ( st_ivas->mc_mode == last_mc_mode ) ) +#else if ( st_ivas->nchan_transport == nchan_transport_old ) +#endif { + /* transport layout (and mode) stays the same -> take a shortcut in reconfig */ for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; +#else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; +#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; +#else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; +#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) @@ -117,11 +144,23 @@ ivas_error ivas_corecoder_enc_reconfig( } else { +#ifdef MCMASA_BITRATE_SWITCHING + /* transport layout changes */ ind_list = NULL; + ind_list_metadata = NULL; +#else + ind_list = NULL; +#endif hBstr = NULL; hMetaData = NULL; +#ifdef MCMASA_BITRATE_SWITCHING + /* get the index list pointers + * taking the hBstr from the first active element gets the start of ind_list + * the same for the hMetaData */ +#else /* get the index list pointers */ +#endif if ( nSCE_old ) { hBstr = st_ivas->hSCE[0]->hCoreCoder[0]->hBstr; @@ -140,12 +179,368 @@ ivas_error ivas_corecoder_enc_reconfig( #endif /* save bitstream information */ +#ifdef MCMASA_BITRATE_SWITCHING + ind_list = hBstr->ind_list; /* pointer to the beginning of the global list */ +#else ind_list = hBstr->ind_list; +#endif nb_bits_tot = hBstr->nb_bits_tot; next_ind = hBstr->next_ind; last_ind = hBstr->last_ind; - ind_list_metadata = hMetaData->ind_list; + ind_list_metadata = hMetaData->ind_list; /* pointer to the beginning of the global list */ + +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + int16_t buff_len; + buff_len = L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS ); + + if ( last_mc_mode == MC_MODE_MCMASA ) + { + /* copy earlier dmx buffers */ + if ( nSCE_old > 0 ) + { + set_zero( input_buff[0], buff_len ); + mvr2r( st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, input_buff[0], len_inp_memory ); + } + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + set_zero( input_buff[n + 1], buff_len ); + if ( nCPE_old > 0 ) + { + mvr2r( st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, input_buff[n + 1], len_inp_memory ); + } + } + + /* modify the dmx format to match the new one */ + ivas_mcmasa_dmx_modify( buff_len, input_buff, nSCE_old + 2 * nCPE_old, st_ivas->nSCE + 2 * st_ivas->nCPE ); + } + + for ( sce_id = 0; sce_id < nSCE_old; sce_id++ ) + { + destroy_sce_enc( st_ivas->hSCE[sce_id] ); + st_ivas->hSCE[sce_id] = NULL; + } + for ( cpe_id = 0; cpe_id < nCPE_old; cpe_id++ ) + { + destroy_cpe_enc( st_ivas->hCPE[cpe_id] ); + st_ivas->hCPE[cpe_id] = NULL; + } + + if ( st_ivas->nSCE ) + { + if ( ( error = create_sce_enc( st_ivas, 0, brate_SCE ) ) != IVAS_ERR_OK ) + { + return error; + } + /* restore information of the bitstream already written */ + st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list = ind_list + 0 * MAX_NUM_INDICES; + + /* only SCE in use => update bitstream info */ + st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->last_ind = last_ind; + st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->nb_bits_tot = nb_bits_tot; + st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->next_ind = next_ind; + + /* in case of 2+1, this is not really used, but let's keep it for compatibility */ + st_ivas->hSCE[0]->hMetaData->ind_list = ind_list_metadata + 0 * MAX_BITS_METADATA; + reset_indices_enc( st_ivas->hSCE[0]->hMetaData, MAX_BITS_METADATA ); + + if ( last_mc_mode == MC_MODE_MCMASA ) + { + /* restore input buffer */ + mvr2r( input_buff[0], st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, len_inp_memory ); + } + } + + if ( st_ivas->nCPE ) + { + if ( st_ivas->hMcMasa->separateChannelEnabled ) + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + } + if ( ( error = create_cpe_enc( st_ivas, 0, brate_CPE ) ) != IVAS_ERR_OK ) + { + return error; + } + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( 0 * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; + + if ( ( st_ivas->nSCE > 0 ) || ( n > 0 ) ) /* the started bitstream is in SCE or in the first core channel of CPE => reset here */ + { + reset_indices_enc( st_ivas->hCPE[0]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); + } + else + { + /* restore the beginning of the bitstream */ + st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->last_ind = last_ind; + st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; + st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->next_ind = next_ind; + } + if ( hEncoderConfig->Opt_DTX_ON ) + { + st_ivas->hCPE[0]->hCoreCoder[n]->cng_sba_flag = 1; + } + + if ( last_mc_mode == MC_MODE_MCMASA ) + { + /* restore input buffer */ + mvr2r( st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, input_buff[n + 1], len_inp_memory ); + } + } + st_ivas->hCPE[0]->hMetaData->ind_list = ind_list_metadata + st_ivas->nSCE * MAX_NUM_INDICES; + reset_indices_enc( st_ivas->hCPE[0]->hMetaData, MAX_BITS_METADATA ); + } + } /* end of McMASA special handling */ + else + { + n_CoreCoder_existing = min( st_ivas->nchan_transport, nchan_transport_old ); + + /* destroy superfluous core-coder elements */ + for ( sce_id = st_ivas->nSCE; sce_id < nSCE_old; sce_id++ ) + { + /* save input audio buffers */ + if ( n_CoreCoder_existing > sce_id ) + { + mvr2r( st_ivas->hSCE[sce_id]->hCoreCoder[0]->input_buff, input_buff[sce_id], len_inp_memory ); + } + + destroy_sce_enc( st_ivas->hSCE[sce_id] ); + st_ivas->hSCE[sce_id] = NULL; + } + + for ( cpe_id = st_ivas->nCPE; cpe_id < nCPE_old; cpe_id++ ) + { + /* save input audio buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + if ( n_CoreCoder_existing > cpe_id * CPE_CHANNELS + n ) + { + mvr2r( st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, input_buff[( cpe_id - st_ivas->nCPE ) * CPE_CHANNELS + n], len_inp_memory ); /* TODO VoiceAge: Please check if this should be hCoreCoder[n] */ + } + } + + destroy_cpe_enc( st_ivas->hCPE[cpe_id] ); + st_ivas->hCPE[cpe_id] = NULL; + } + + if ( st_ivas->nCPE <= 1 && st_ivas->hMCT != NULL ) + { + ivas_mct_enc_close( st_ivas->hMCT ); + st_ivas->hMCT = NULL; + } + + /* special case, if we have MCT now and had a single CPE before, remove the MDCT Stereo handles */ + if ( st_ivas->nCPE > 1 && nCPE_old == 1 ) + { + count_free( st_ivas->hCPE[0]->hStereoMdct ); + st_ivas->hCPE[0]->hStereoMdct = NULL; + } + + /* create missing core coder elements and set element bitrates for already existing ones */ + if ( st_ivas->nSCE > 0 ) + { + nSCE_existing = min( nSCE_old, st_ivas->nSCE ); + + for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) + { + copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; + st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + } + + for ( sce_id = nSCE_existing; sce_id < st_ivas->nSCE; sce_id++ ) + { + if ( ( error = create_sce_enc( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* propagate input audio buffers */ + if ( n_CoreCoder_existing > sce_id ) + { + mvr2r( input_buff[sce_id], st_ivas->hSCE[sce_id]->hCoreCoder[0]->input_buff, len_inp_memory ); + } + + /* prepare bitstream buffers */ + st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->ind_list = ind_list + sce_id * MAX_NUM_INDICES; + + /* only reset indices if it is not the first index list, this already contains the IVAS format bits */ + if ( sce_id > 0 ) + { + reset_indices_enc( st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr, MAX_NUM_INDICES ); + } + else + { + st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->last_ind = last_ind; + st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->nb_bits_tot = nb_bits_tot; + st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->next_ind = next_ind; + } + + st_ivas->hSCE[sce_id]->hMetaData->ind_list = ind_list_metadata + sce_id * MAX_BITS_METADATA; + reset_indices_enc( st_ivas->hSCE[sce_id]->hMetaData, MAX_BITS_METADATA ); + } + } + + if ( st_ivas->nCPE > 0 ) + { + nCPE_existing = min( nCPE_old, st_ivas->nCPE ); + + for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) + { + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; + + /* prepare bitstream buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + copy_encoder_config( st_ivas, st_ivas->hCPE[cpe_id]->hCoreCoder[n], 0 ); + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + } + } + + for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* propagate input audio buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + if ( n_CoreCoder_existing > cpe_id * CPE_CHANNELS + n ) + { + mvr2r( input_buff[n], st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, len_inp_memory ); /* TODO VoiceAge: Please check if this should be hCoreCoder[n] */ + } + } + + /* prepare bitstream buffers */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n ) * MAX_NUM_INDICES; + if ( cpe_id * CPE_CHANNELS + n > 0 ) + { + reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); + } + else + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->last_ind = last_ind; + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->next_ind = next_ind; + } + + if ( hEncoderConfig->Opt_DTX_ON ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 1; + } + } + } + } + + if ( st_ivas->nCPE > 1 && nCPE_old <= 1 ) + { + if ( nCPE_old == 1 ) + { + /* set correct nominal bitrates and igf config already here, needed for the correct init of the MDCT Stereo handles for MCT */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[0]->hCoreCoder[n]->total_brate = st_ivas->hCPE[0]->element_brate; + + st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal = (int16_t) ( st_ivas->hCPE[0]->element_brate / FRAMES_PER_SEC ); + st_ivas->hCPE[0]->hCoreCoder[n]->igf = getIgfPresent( st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, + st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal * FRAMES_PER_SEC, + st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, + st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode, + st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode ); + + if ( st_ivas->hCPE[0]->hCoreCoder[n]->igf ) + { + IGFEncSetMode( st_ivas->hCPE[0]->hCoreCoder[n]->hIGFEnc, + st_ivas->hCPE[0]->element_brate, + st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, + st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, + st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode ); + } + } + } + + if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else if ( st_ivas->hMCT != NULL && st_ivas->nCPE > 1 ) + { + if ( ( error = mct_enc_reconfigure( st_ivas, st_ivas->nchan_transport != nchan_transport_old ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + /* metadata handling for CPEs */ + if ( st_ivas->nCPE > 0 ) + { + if ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData == NULL ) + { + if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MetaData structure\n" ) ); + } + } + + st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata; + reset_indices_enc( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData, MAX_BITS_METADATA ); + + for ( cpe_id = 0; cpe_id < st_ivas->nCPE - 1; cpe_id++ ) + { + if ( st_ivas->hCPE[cpe_id]->hMetaData != NULL ) + { + count_free( st_ivas->hCPE[cpe_id]->hMetaData ); + st_ivas->hCPE[cpe_id]->hMetaData = NULL; + } + } + } + + /* special case, if we have a single CPE and had MCT before we need to init the MDCT stereo handles here */ + if ( st_ivas->nCPE == 1 && nCPE_old > 1 ) + { + if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); + } + + /* set correct nominal bitrates and igf config already here, needed for the correct init of the MDCT Stereo handle */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[0]->hCoreCoder[n]->total_brate = st_ivas->hCPE[0]->element_brate; + + st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal = (int16_t) ( st_ivas->hCPE[0]->element_brate / FRAMES_PER_SEC ); + st_ivas->hCPE[0]->hCoreCoder[n]->igf = getIgfPresent( st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, + st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal * FRAMES_PER_SEC, + st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, + st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode, + st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode ); + + if ( st_ivas->hCPE[0]->hCoreCoder[n]->igf ) + { + IGFEncSetMode( st_ivas->hCPE[0]->hCoreCoder[n]->hIGFEnc, + st_ivas->hCPE[0]->element_brate, + st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, + st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, + st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode ); + } + + /* reset mct_chan_mode */ + st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; + } + + initMdctStereoEncData( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, hEncoderConfig->max_bwidth, 0, NULL, 1 ); + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( ( hEncoderConfig->ivas_format == SBA_FORMAT ) && ( st_ivas->nchan_transport == 2 ) ); + } + } + } +#else n_CoreCoder_existing = min( st_ivas->nchan_transport, nchan_transport_old ); /* destroy superfluous core-coder elements */ @@ -390,6 +785,7 @@ ivas_error ivas_corecoder_enc_reconfig( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( ( hEncoderConfig->ivas_format == SBA_FORMAT ) && ( st_ivas->nchan_transport == 2 ) ); } } +#endif return error; } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 15e3dcd6ba..dbc5f44a25 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -420,7 +420,11 @@ ivas_error ivas_cpe_enc( { dbgwrite( sts[0]->input - NS2SA( sts[0]->input_Fs, ACELP_LOOK_NS ), sizeof( float ), input_frame, 1, fname( debug_dir, "input_DMX", n, sts[n]->id_element, ENC ) ); } +#ifdef MCMASA_BITRATE_SWITCHING + dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode.cpe", 0, sts[0]->id_element, ENC ) ); +#else dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, sts[0]->id_element, ENC ) ); +#endif #endif /*----------------------------------------------------------------* @@ -821,7 +825,7 @@ ivas_error create_cpe_enc( /* we need the meta data handle also if we init as MC_FORMAT/MCT since it might be needed at a bit rate switch to ParamMC or McMASA and the metadata index list is only really reachable in the ivas_init_encoder() function and has to be connected to the MD handle there */ - if ( cpe_id == ( st_ivas->nCPE - 1 )) + if ( cpe_id == ( st_ivas->nCPE - 1 ) ) #else if ( !( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) && ( cpe_id == ( st_ivas->nCPE - 1 ) ) ) #endif @@ -888,7 +892,7 @@ ivas_error create_cpe_enc( #ifdef DEBUGGING if ( hEncoderConfig->Opt_DTX_ON && ( hCPE->element_mode == IVAS_CPE_TD || hEncoderConfig->stereo_mode_cmdl == 1 ) && !( ivas_format == MASA_FORMAT && element_mode_init == IVAS_CPE_MDCT ) ) #else -if ( hEncoderConfig->Opt_DTX_ON && element_mode_init != IVAS_CPE_MDCT ) + if ( hEncoderConfig->Opt_DTX_ON && element_mode_init != IVAS_CPE_MDCT ) #endif { for ( n = 0; n < CPE_CHANNELS; n++ ) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 4768eb3b24..e64c4e058b 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -617,6 +617,10 @@ ivas_error ivas_init_encoder( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { +#ifdef MCMASA_BITRATE_SWITCHING + int32_t brate_sce, brate_cpe; +#endif + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( hEncoderConfig->element_mode_init ), ivas_total_brate ); if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) @@ -634,8 +638,18 @@ ivas_error ivas_init_encoder( return error; } +#ifdef MCMASA_BITRATE_SWITCHING + ivas_mcmasa_split_brate( st_ivas->hMcMasa->separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &brate_sce, &brate_cpe ); +#endif + for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( error = create_sce_enc( st_ivas, sce_id, brate_sce ) ) != IVAS_ERR_OK ) + { + return error; + } +#else if ( st_ivas->hMcMasa->separateChannelEnabled ) { if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_mcmasa_mono_brate( ivas_total_brate ) ) ) != IVAS_ERR_OK ) @@ -650,6 +664,7 @@ ivas_error ivas_init_encoder( return error; } } +#endif /* prepare bitstream buffers */ st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->ind_list = ind_list[sce_id]; @@ -661,6 +676,14 @@ ivas_error ivas_init_encoder( for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + + if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_cpe ) ) != IVAS_ERR_OK ) + { + return error; + } +#else if ( st_ivas->hMcMasa->separateChannelEnabled ) { hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; @@ -677,6 +700,7 @@ ivas_error ivas_init_encoder( return error; } } +#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 8de7f442f5..238a58109b 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -282,7 +282,7 @@ ivas_error ivas_param_mc_reconfig( #ifdef DEBUGGING assert( hParamMC->hMetadataPMC.icc_map_full[i] != NULL ); #endif - if (hParamMC->hMetadataPMC.icc_map_full[i] != NULL) + if ( hParamMC->hMetadataPMC.icc_map_full[i] != NULL ) { count_free( hParamMC->hMetadataPMC.icc_map_full[i] ); hParamMC->hMetadataPMC.icc_map_full[i] = NULL; diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index a281ec4760..e79ac261ca 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -395,6 +395,50 @@ ivas_error ivas_mcmasa_enc_open( return error; } +#ifdef MCMASA_BITRATE_SWITCHING +/*------------------------------------------------------------------------- + * ivas_mcmasa_enc_reconfig() + * + * Reconfigure McMASA encoder + *------------------------------------------------------------------------*/ +ivas_error ivas_mcmasa_enc_reconfig( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +) +{ + int32_t ivas_total_brate; + ivas_error error; + + error = IVAS_ERR_OK; + + ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; + + if ( ivas_total_brate != st_ivas->hEncoderConfig->last_ivas_total_brate ) + { + /* bitrate changed, may need to do something */ + + /* brute-force solution: close McMASA and re-instantiate with new settings */ + ivas_masa_enc_close( st_ivas->hMasa, st_ivas->nchan_transport, st_ivas->hEncoderConfig->ivas_format ); + ivas_mcmasa_enc_close( st_ivas->hMcMasa, st_ivas->hEncoderConfig->input_Fs ); + + /* Determine if to separate some channels from the analysis */ + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), ivas_total_brate ); + + if ( ( error = ivas_masa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ( error = ivas_mcmasa_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* core SCE, CPE reconfiguration happens later */ + } + + return error; +} +#endif /*--------------------------------------------------------------------------* * ivas_mcmasa_enc_close() @@ -1145,7 +1189,77 @@ void ivas_mcmasa_param_est_enc( return; } +#ifdef MCMASA_BITRATE_SWITCHING +void ivas_mcmasa_dmx_modify( + const int16_t n_samples, /* i : input frame length in samples */ + float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format. TODO: buffer size into define? */ + const uint8_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ + const uint8_t n_chnls_dmx_new ) /* i : number of downmix channels in the target format */ +{ + /* assumed data ordering in **dmx: [sce][cpe_chnl0][cpe_chnl1], i.e., [c][l][r] */ + int16_t i; + + assert( ( n_chnls_dmx_old == 1 || n_chnls_dmx_old == 2 || n_chnls_dmx_old == 3 ) && "Input downmix may contain only 1-3 channels." ); + assert( ( n_chnls_dmx_new == 1 || n_chnls_dmx_new == 2 || n_chnls_dmx_new == 3 ) && "Output downmix may contain only 1-3 channels." ); + if ( n_chnls_dmx_old == n_chnls_dmx_new ) + { + /* same dmx layout -> nothing to do */ + return; + } + if ( n_chnls_dmx_old == 1 ) + { + /* split mono energy into identical channels */ + for ( i = 0; i < n_samples; i++ ) + { + if ( n_chnls_dmx_new == 2 ) + { + dmx[1][i] = dmx[0][i] * INV_SQRT2; + dmx[2][i] = dmx[1][i]; + } + else if ( n_chnls_dmx_new == 3 ) + { + dmx[0][i] = dmx[0][i] * INV_SQRT3; + } + } + } + else if ( n_chnls_dmx_old == 2 ) + { + for ( i = 0; i < n_samples; i++ ) + { + if ( n_chnls_dmx_new == 1 ) + { + /* sum l and r */ + dmx[0][i] = dmx[1][i] + dmx[2][i]; + } + else if ( n_chnls_dmx_new == 3 ) + { + dmx[0][i] = 0.5f * ( dmx[1][i] + dmx[2][i] ); + dmx[1][i] = dmx[1][i] - dmx[0][i]; + dmx[2][i] = dmx[2][i] - dmx[0][i]; + } + } + } + else if ( n_chnls_dmx_old == 3 ) + { + for ( i = 0; i < n_samples; i++ ) + { + if ( n_chnls_dmx_new == 1 ) + { + /* sum all channels */ + dmx[0][i] = dmx[0][i] + dmx[1][i] + dmx[2][i]; + } + else if ( n_chnls_dmx_new == 2 ) + { + /* mix center into sides */ + dmx[0][i] *= INV_SQRT2; + dmx[1][i] += dmx[0][i]; + dmx[2][i] += dmx[0][i]; + } + } + } +} +#endif /*--------------------------------------------------------------------------* * Local functions *--------------------------------------------------------------------------*/ diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index f4f8e6b8ee..0f2f2d4f01 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -602,6 +602,9 @@ ivas_error ivas_mc_enc_reconfig( { int16_t nchan_transport_old, nSCE_old, nCPE_old; ivas_error error; +#ifdef MCMASA_BITRATE_SWITCHING + int32_t new_brate_SCE, new_brate_CPE; +#endif error = IVAS_ERR_OK; @@ -696,10 +699,17 @@ ivas_error ivas_mc_enc_reconfig( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( last_mc_mode != MC_MODE_MCMASA ) + { + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), st_ivas->hEncoderConfig->ivas_total_brate ); + +#else ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), st_ivas->hEncoderConfig->ivas_total_brate ); if ( last_mc_mode != MC_MODE_MCMASA ) { +#endif if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) { return error; @@ -716,6 +726,17 @@ ivas_error ivas_mc_enc_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + else + { + /* reconfigure McMASA instance */ + if ( ( error = ivas_mcmasa_enc_reconfig( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + } +#endif + if ( st_ivas->hParamMC != NULL ) { ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); @@ -737,6 +758,19 @@ ivas_error ivas_mc_enc_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode != MC_MODE_MCMASA ) + { + if ( st_ivas->nchan_transport == 1 ) + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_SCE; + } + else + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + } + } +#else if ( st_ivas->nchan_transport == 1 ) { st_ivas->hEncoderConfig->element_mode_init = IVAS_SCE; @@ -745,6 +779,7 @@ ivas_error ivas_mc_enc_reconfig( { st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; } +#endif /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 @@ -789,8 +824,21 @@ ivas_error ivas_mc_enc_reconfig( st->mct_chan_mode = MCT_CHAN_MODE_LFE; } +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + ivas_mcmasa_split_brate( st_ivas->hMcMasa->separateChannelEnabled, st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); + } + else + { + new_brate_SCE = st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport; + new_brate_CPE = ( st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; + } + if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, new_brate_SCE, new_brate_CPE, last_mc_mode ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ) ) != IVAS_ERR_OK ) +#endif { return error; } diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index e3564725f5..397a04e4a4 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -272,7 +272,11 @@ ivas_error ivas_sba_enc_reconfigure( * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ +#ifdef MCMASA_BITRATE_SWITCHING + ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, ivas_total_brate / st_ivas->nchan_transport, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS, MC_MODE_NONE ); +#else ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ); +#endif #else if ( hEncoderConfig->nchan_transport == nchan_transport_old ) diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 651ba3b9e5..bd460c038c 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -178,7 +178,11 @@ ivas_error ivas_sce_enc( #ifdef DEBUG_MODE_INFO dbgwrite( st->input - NS2SA( st->input_Fs, ACELP_LOOK_NS ), sizeof( float ), input_frame, 1, "res/input_DMX" ); +#ifdef MCMASA_BITRATE_SWITCHING + dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode.sce", 0, st->id_element, ENC ) ); +#else dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); +#endif #endif /*----------------------------------------------------------------* -- GitLab From 094a06f8d45359438c28627863c57e41388c103a Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 09:36:00 +0100 Subject: [PATCH 152/620] revised memory printout --- lib_com/options.h | 9 +++-- lib_debug/wmc_auto.c | 84 ++++++++++++++++++++++++-------------------- 2 files changed, 50 insertions(+), 43 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 949a5d2ec7..a03a564174 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -48,17 +48,16 @@ /* ################### Start DEBUGGING switches ########################### */ #ifndef RELEASE -#define DEBUGGING /* Activate debugging part of the code */ +#define DEBUGGING /* Activate debugging part of the code */ #endif -#define WMOPS /* Activate complexity and memory counters (! the codec must be already instrumented with the WMC Tool (use /ic and /op options) !) */ +#define WMOPS /* Activate complexity and memory counters */ /*#define WMOPS_PER_FRAME*/ /* Output complexity in WMOPS per frame to the file "res/wmops" (one float value per frame) */ /*#define WMOPS_DETAIL*/ /* Activate complexity detail printout for every function. Increases runtime overhead */ -/*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output WMOPS analysis for worst case frame */ +/*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output WMOPS analysis for the worst-case frame */ +/*#define MEM_COUNT_DETAILS*/ /* Output detailed memory consumption report for the worst-case frame */ #ifdef DEBUGGING -#define MEM_COUNT_DETAILS /* RAM counting tool: print per sub-structure details */ - /*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO /*#define DEBUG_MODE_ACELP*/ /* output most important ACELP core parameters to the subdirectory "res/" */ diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index f9fbcc6f82..d9665ebe70 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -701,16 +701,19 @@ static void print_stack_call_tree(void) caller_info* caller_info_ptr; int call_level; - fprintf(stdout, "Stack Call Tree (frame #%d):\n", wc_frame); + fprintf(stdout, "\nList of functions when maximum stack size is reached:\n\n"); + caller_info_ptr = &stack_callers[1][0]; for (call_level = 0; call_level < MAX_RECORDABLE_CALLS; call_level++) { /* Done? */ - if (caller_info_ptr->function_name[0] == 0) + if ( caller_info_ptr->function_name[0] == 0 ) + { break; + } /* Print Name */ - fprintf(stdout, "%-42s", caller_info_ptr->function_name); + fprintf(stdout, "%-42s()", caller_info_ptr->function_name); /* Print Stack Usage (Based on Difference) */ if (call_level != 0) @@ -1267,26 +1270,32 @@ static void mem_count_summary(void) } } - for (j = 0; j < 3; j++) + for (j = 0; j < 2; j++) { - if (j == 0 && wc_heap_size[1] > 0) - { - /* Total Heap Size */ - printf("\nList of memory blocks when maximum heap size is reached:\n\n"); - } - else if (j == 1 && flag_intra_frame_memory && wc_heap_size_intra_frame[1] > 0) - { - /* Intra-Frame Heap Size */ - printf("\nList of memory blocks when maximum Intra-Frame Heap Size is reached:\n\n"); - } - else if (j == 2 && flag_intra_frame_memory && wc_heap_size_inter_frame[1] > 0) + if ( !flag_intra_frame_memory ) { - /* Inter-Frame Heap Size */ - printf("\nList of memory blocks when maximum Inter-Frame Heap Size is reached:\n\n"); + if ( j == 0 ) + { + /* Total Heap Size */ + printf( "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); + } + else + { + continue; + } } - else + else { - continue; + if ( j == 0 ) + { + /* Intra-Frame Heap Size */ + printf( "\nList of memory blocks when maximum intra-frame heap size is reached:\n\n" ); + } + else + { + /* Inter-Frame Heap Size */ + printf( "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); + } } /* Print Header */ @@ -1302,9 +1311,9 @@ static void mem_count_summary(void) { record_ptr = &(allocation_list[i]); - if ((j == 0 && record_ptr->wc_heap_size[1] > 0) || - (j == 1 && record_ptr->wc_heap_size_intra_frame[1] > 0) || - (j == 2 && record_ptr->wc_heap_size_inter_frame[1] > 0) + if ( ( !flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size[1] > 0 ) || + ( flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size_intra_frame[1] > 0 ) || + ( flag_intra_frame_memory && j == 1 && record_ptr->wc_heap_size_inter_frame[1] > 0 ) ) { strncpy(name_str, record_ptr->name, MAX_FUNCTION_NAME_LENGTH); @@ -1388,7 +1397,6 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) #endif } - /* check, if all memory blocks have been deallocated (freed) */ for (i = 0; i < Num_Records; i++) { @@ -1399,26 +1407,26 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) } } - if (wc_heap_size[1] > 0) - { - fprintf(stdout, "\n\n --- Heap usage (malloc/calloc) --- \n\n"); - printf("Maximum heap size: %d %s in frame %d\n", wc_heap_size[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size[0]); - } - - if (wc_heap_size_intra_frame[1] > 0) + if ( wc_heap_size[1] > 0 ) { - printf("Maximum intra-frame heap size: %d %s in frame %d\n", wc_heap_size_intra_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_intra_frame[0]); - } + fprintf( stdout, "\n\n --- Heap usage (malloc/calloc) --- \n\n" ); - if (wc_heap_size_inter_frame[1] > 0 && wc_heap_size_inter_frame[1] != wc_heap_size[1]) - { - printf("Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size_inter_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_inter_frame[1]); - } + if ( wc_heap_size_intra_frame[1] > 0 ) + { + printf( "Maximum intra-frame heap size: %d %s in frame %d\n", wc_heap_size_intra_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_intra_frame[0] ); + printf( "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size_inter_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_inter_frame[0] ); + } + else + { + printf( "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size[0] ); + } #ifdef MEM_COUNT_DETAILS - /* Print detailed information abour heap memory usage */ - mem_count_summary(); + /* Print detailed information abour heap memory usage */ + mem_count_summary(); #endif + } + if (Stat_Cnt_Size > 0) { -- GitLab From 978e301626cc2064d916ba649f5fc0843d73fd3a Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 09:51:20 +0100 Subject: [PATCH 153/620] updated binaries (Win32 in Release mode, Linux CentOS release 7.9.2009) --- scripts/tools/Linux/wmc_tool | Bin 216328 -> 204152 bytes scripts/tools/Win32/wmc_tool.exe | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index 5e688baffec5967005eef9f6830e25c58bd900ac..d686079a4a00ff56eca8fefede12135839d6826e 100644 GIT binary patch literal 204152 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 literal 216328 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℘;E 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 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index 1b73a39d5c..ee46bf6c69 100644 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:de3bb28f77cc9f38c67165cace5a096791cc2b5d8e7fda6aed17f87f63b8e7e5 -size 260096 +oid sha256:53abececf47d67ecead8b6377fdae152a07039a590e66edcab157af0eb14d1fd +size 159232 -- GitLab From 438a483d112e8908ad32693005b263ef724b8174 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 24 Nov 2022 09:59:16 +0100 Subject: [PATCH 154/620] Revert "temporarily disable 24.4kkbps SBA in sanitizer tests" This reverts commit bc1f7d6fa1bf84d47c68ce76c24c690375c750c0. --- ci/run_scheduled_sanitizer_test.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/ci/run_scheduled_sanitizer_test.py b/ci/run_scheduled_sanitizer_test.py index b07a42d6ac..bc794bf2d8 100755 --- a/ci/run_scheduled_sanitizer_test.py +++ b/ci/run_scheduled_sanitizer_test.py @@ -89,11 +89,6 @@ def get_modes(in_format: str) -> list: in_format = "MC_" + in_format + "_b" mode_list = [m for m in mode_list if in_format in m] - # TODO: remove once #185 is fixed - # temporarily skip 24.4kbps SBA bitrate - if in_format == "SBA": - mode_list = [m for m in mode_list if not "b24_4" in m] - return mode_list -- GitLab From db534cf71bb405b2aff17757ad5e627a9c90e365 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 10:52:53 +0100 Subject: [PATCH 155/620] fixed wrong inclusion of Const_Data_Size_ string in case of a single file --- scripts/tools/Linux/wmc_tool | Bin 204152 -> 204224 bytes scripts/tools/Win32/wmc_tool.exe | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index d686079a4a00ff56eca8fefede12135839d6826e..f3a182da4e833f6be2045eba5b062905ff5106a2 100644 GIT binary patch delta 26158 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 Wrc25)n{z$*3{f4fI6X>?Sq=b{kHESB delta 25942 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 DE*J}` diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index ee46bf6c69..0978123154 100644 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:53abececf47d67ecead8b6377fdae152a07039a590e66edcab157af0eb14d1fd +oid sha256:173b31cf61e6b7616617bc7e09df9bac4cce896bed1c8457f2c48ed8fad2457d size 159232 -- GitLab From 6f17811674259bca2c514a3b6fdc5ca3428ec1fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= <tomas.toftgard@ericsson.com> Date: Thu, 24 Nov 2022 11:14:18 +0100 Subject: [PATCH 156/620] Using roundf() instead of NS2SA for nanosec to sample conversion to get rounding in sample domain. --- lib_dec/lib_dec.c | 4 ++-- .../tests/unit_tests/crend/ivas_crend_unit_test.c | 4 ++-- .../tests/unit_tests/crend/ivas_crend_utest_utils.c | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index cc28ff0b40..cbe3d995dc 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1056,13 +1056,13 @@ ivas_error IVAS_DEC_GetDelay( hDecoderConfig = st_ivas->hDecoderConfig; #ifdef FIX_I59_LFE_TD_DELAY #ifdef FIX_I59_DELAY_ROUNDING - *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ); + *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); #else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ) ); #endif #else #ifdef FIX_I59_DELAY_ROUNDING - *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ); + *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); #else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); #endif diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c index 5ad498f38e..9623c59fad 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c @@ -445,7 +445,7 @@ static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_param { ivas_wav_header_skip( pIo_params->fRef ); #ifdef FIX_FIX_I59 - skip_samples = NS2SA( pIo_params->sample_rate, (float) Io_params->latency_ns + 0.5f ); + skip_samples = (int32_t) roundf( (float) pIo_params->latency_ns * pIo_params->sample_rate / 1000000000.f ); #else skip_samples = (int32_t) ( pIo_params->latency_s * pIo_params->sample_rate ); #endif @@ -503,7 +503,7 @@ static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_param AudioFileReader_open( &fRef, pIo_params->ref_path, pIo_params->sample_rate ); #ifdef FIX_FIX_I59 - skip_samples = NS2SA( pIo_params->sample_rate, (float) pIo_params->latency_ns + 0.5f ); + skip_samples = (int32_t) roundf( (float) pIo_params->latency_ns * pIo_params->sample_rate / 1000000000.f ); #else skip_samples = (int32_t) ( pIo_params->latency_s * pIo_params->sample_rate ); #endif diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index 39224ed7ea..3770e0eed5 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -1506,7 +1506,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->no_delay_cmp == 0 ) ) { #ifdef FIX_FIX_I59 - skip_samples = NS2SA( pIo_params->sample_rate, (float) pIo_params->latency_ns + 0.5f ); + skip_samples = (int32_t) roundf( (float) pIo_params->latency_ns * pIo_params->sample_rate / 1000000000.f ); #else skip_samples = NS2SA( pIo_params->sample_rate, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); #endif -- GitLab From 1e65bda449a8a6d9f0dc04ce73840bc5aba5610e Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Thu, 24 Nov 2022 11:32:40 +0100 Subject: [PATCH 157/620] Added interpolation for large changes in position metadata --- lib_com/ivas_cnst.h | 3 + lib_com/ivas_prot.h | 25 ++++++-- lib_dec/ivas_stat_dec.h | 10 ++-- lib_rend/ivas_objectRenderer.c | 22 +++++-- lib_rend/ivas_objectRenderer_hrFilt.c | 24 +++++--- lib_rend/ivas_objectRenderer_sfx.c | 11 +++- lib_rend/ivas_objectRenderer_sources.c | 60 ++++++++++++++++--- .../renderer_standalone.c | 10 ++++ 8 files changed, 131 insertions(+), 34 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 8d2206eefa..be10cd76a8 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1396,6 +1396,9 @@ typedef enum #define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 #define ITD_MEM_LEN (MAX_ITD + SFX_SPAT_BIN_SINC_M) #define L_SUBFRAME5MS_48k (L_FRAME48k/4) +#define MAX_ANGULAR_STEP (15.0f) +#define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) +#define MAX_INTERPOLATION_STEPS 12 #define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ #else #define BINAURAL_TD_LATENCY_S 0.00675f /* Binaural TD renderer latency in second == 324 samples in between 333 and 315 */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index db1cd535c6..c19bde40d0 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5002,8 +5002,8 @@ void GetFilterFromAngle( const float Elev, /* i : Elevation, degrees */ float Azim, /* i : Azimuth, degrees */ #ifdef FIX_ITD - float *LeftFilter_p, /* o : Left HR filter */ - float *RightFilter_p, /* o : Right HR filter */ + float *LeftFilter, /* o : Left HR filter */ + float *RightFilter, /* o : Right HR filter */ int16_t *itd /* o : ITD value */ #else SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ @@ -5032,8 +5032,14 @@ void TDREND_HRFILT_SetFiltSet( ivas_error TDREND_REND_RenderSourceHRFilt( TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ +#ifdef FIX_ITD + const float *hrf_left_delta, /* i: Left filter interpolation delta */ + const float *hrf_right_delta, /* i: Right filter interpolation delta */ + const int16_t intp_count, /* i: Interpolation count */ +#else #ifdef TDREND_HRTF_TABLE_METHODS BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ +#endif #endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ #ifdef FIX_ITD @@ -5075,11 +5081,16 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ #ifdef FIX_ITD - float *LeftFilter_p, /* o: Left filter */ - float *RightFilter_p, /* o: Right filter */ + float *hrf_left_prev, /* o: Left filter */ + float *hrf_right_prev, /* o: Right filter */ + float *hrf_left_delta, /* o: Left filter interpolation delta */ + float *hrf_right_delta, /* o: Right filter interpolation delta */ + int16_t *intp_count, /* o: Interpolation count */ int16_t *filterlength, /* o: Length of filters */ int16_t *itd, /* o: ITD value */ - float *Gain /* o: Gain value */ + float *Gain, /* o: Gain value */ + TDREND_SRC_t *Src_p, + const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ #else const int32_t output_Fs /* i : Output sample rate */ #endif @@ -5218,7 +5229,9 @@ void TDREND_Apply_ITD( void TDREND_firfilt( float *signal, /* i/o: Input signal / Filtered signal */ - const float *filter, /* i/o: FIR filter */ + float *filter, /* i/o: FIR filter */ + const float *filter_delta, /* i : FIR filter delta */ + const int16_t intp_count, /* i : interpolation count */ float *mem, /* i/o: filter memory */ const int16_t subframe_length, /* i : Length of signal */ const int16_t filterlength /* i : Filter length */ diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 4fdfa9a064..7e867a7f19 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1617,10 +1617,12 @@ typedef struct int16_t previtd; int16_t filterlength; float mem_itd[ITD_MEM_LEN]; - float hr_filt_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Todo: Should we allocate these buffers with count_malloc instead of the maximum length? */ - float hr_filt_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; - float mem_hr_filt_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; - float mem_hr_filt_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; + float hrf_left_prev[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Todo: Should we allocate these buffers with count_malloc instead of the maximum length? */ + float hrf_right_prev[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + float azim_prev; + float elev_prev; + float mem_hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; + float mem_hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; float Gain; #endif } TDREND_SRC_t; diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 6d5c49ad61..1979abe230 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -330,12 +330,24 @@ static ivas_error TDREND_GetMix( TDREND_SRC_REND_t *SrcRend_p; ivas_error error; float output_buf[2][L_SPATIAL_SUBFR_48k]; /* Temp buffer for left/right rendered signal */ +#ifdef FIX_ITD + float hrf_left_delta[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + float hrf_right_delta[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + int16_t intp_count; +#endif error = IVAS_ERR_OK; /* Clear the output buffer to accumulate rendered sources */ set_f( output_buf[0], 0.0f, subframe_length ); set_f( output_buf[1], 0.0f, subframe_length ); +#ifdef FIX_ITD + /* Clear interpolation buffers and counter */ + set_f( hrf_left_delta, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH ); + set_f( hrf_right_delta, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH ); + intp_count = 0; +#endif + /* Create the mix */ /* Loop through the source list and render each source */ for ( i = 0; i < hBinRendererTd->NumOfSrcs; i++ ) @@ -348,8 +360,8 @@ static ivas_error TDREND_GetMix( if ( hBinRendererTd->Listener_p->PoseUpdated || SrcSpatial_p->Updated ) { #ifdef FIX_ITD - TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, Src_p->hr_filt_left, - Src_p->hr_filt_right, &Src_p->filterlength, &Src_p->itd, &Src_p->Gain ); + TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, Src_p->hrf_left_prev, + Src_p->hrf_right_prev, hrf_left_delta, hrf_right_delta, &intp_count, &Src_p->filterlength, &Src_p->itd, &Src_p->Gain, Src_p, subframe_idx ); #else TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, output_Fs ); #endif @@ -358,11 +370,11 @@ static ivas_error TDREND_GetMix( /* Render source if needed */ if ( ( SrcRend_p->InputAvailable == TRUE ) && ( SrcRend_p->PlayStatus == TDREND_PLAYSTATUS_PLAYING ) ) { +#ifdef FIX_ITD + error = TDREND_REND_RenderSourceHRFilt( Src_p, hrf_left_delta, hrf_right_delta, intp_count, output_buf, subframe_length ); +#else #ifdef TDREND_HRTF_TABLE_METHODS error = TDREND_REND_RenderSourceHRFilt( Src_p, hBinRendererTd, output_buf, subframe_length, output_Fs ); -#else -#ifdef FIX_ITD - error = TDREND_REND_RenderSourceHRFilt( Src_p, output_buf, subframe_length ); #else error = TDREND_REND_RenderSourceHRFilt( Src_p, output_buf, subframe_length, output_Fs ); #endif diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 93c7eb96cc..5269b580b0 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -344,15 +344,21 @@ void TDREND_HRFILT_SetFiltSet( ivas_error TDREND_REND_RenderSourceHRFilt( TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ +#ifdef FIX_ITD + const float *hrf_left_delta, /* i: Left filter interpolation delta */ + const float *hrf_right_delta, /* i: Right filter interpolation delta */ + const int16_t intp_count, /* i: Interpolation count */ +#else #ifdef TDREND_HRTF_TABLE_METHODS BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ +#endif #endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ #ifdef FIX_ITD const int16_t subframe_length /* i : Subframe length in use */ #else - const int16_t subframe_length, /* i : Subframe length in use */ - const int32_t output_Fs /* i : Output sample rate */ + const int16_t subframe_length, /* i : Subframe length in use */ + const int32_t output_Fs /* i : Output sample rate */ #endif ) { @@ -366,8 +372,8 @@ ivas_error TDREND_REND_RenderSourceHRFilt( #ifdef FIX_ITD TDREND_Apply_ITD( Src_p->InputFrame_p, LeftOutputFrame, RightOutputFrame, &Src_p->previtd, Src_p->itd, Src_p->mem_itd, subframe_length ); - TDREND_firfilt( LeftOutputFrame, Src_p->hr_filt_left, Src_p->mem_hr_filt_left, subframe_length, Src_p->filterlength ); - TDREND_firfilt( RightOutputFrame, Src_p->hr_filt_right, Src_p->mem_hr_filt_right, subframe_length, Src_p->filterlength ); + TDREND_firfilt( LeftOutputFrame, Src_p->hrf_left_prev, hrf_left_delta, intp_count, Src_p->mem_hrf_left, subframe_length, Src_p->filterlength ); + TDREND_firfilt( RightOutputFrame, Src_p->hrf_right_prev, hrf_right_delta, intp_count, Src_p->mem_hrf_right, subframe_length, Src_p->filterlength ); #else /* Input channel rendering loop */ @@ -713,9 +719,9 @@ void GetFilterFromAngle( const float Elev, /* i : Elevation, degrees */ float Azim, /* i : Azimuth, degrees */ #ifdef FIX_ITD - float *LeftFilter_p, /* o : Left HR filter */ - float *RightFilter_p, /* o : Right HR filter */ - int16_t *itd /* o : ITD value */ + float *hrf_left, /* o : Left HR filter */ + float *hrf_right, /* o : Right HR filter */ + int16_t *itd /* o : ITD value */ #else SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ #endif @@ -728,8 +734,8 @@ void GetFilterFromAngle( GenerateFilter( Elev, Azim, &HrFiltSet_p->ModelParams, &HrFiltSet_p->ModelEval ); #ifdef FIX_ITD - mvr2r( HrFiltSet_p->ModelEval.hrfModL, LeftFilter_p, HrFiltSet_p->ModelParams.K ); - mvr2r( HrFiltSet_p->ModelEval.hrfModR, RightFilter_p, HrFiltSet_p->ModelParams.K ); + mvr2r( HrFiltSet_p->ModelEval.hrfModL, hrf_left, HrFiltSet_p->ModelParams.K ); + mvr2r( HrFiltSet_p->ModelEval.hrfModR, hrf_right, HrFiltSet_p->ModelParams.K ); #else /* Renderer requires filter in reversed order: */ count = 0; diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 1b936f1672..a5f3b58e7a 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -1636,7 +1636,9 @@ static void sincResample( void TDREND_firfilt( float *signal, /* i/o: Input signal / Filtered signal */ - const float *filter, /* i/o: FIR filter */ + float *filter, /* i/o: FIR filter */ + const float *filter_delta, /* i : FIR filter delta */ + const int16_t intp_count, /* i : interpolation count */ float *mem, /* i/o: filter memory */ const int16_t subframe_length, /* i : Length of signal */ const int16_t filterlength /* i : Filter length */ @@ -1645,7 +1647,7 @@ void TDREND_firfilt( float buffer[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 + L_SUBFRAME5MS_48k]; float *p_signal; float *p_tmp; - const float *p_filter; + float *p_filter; float tmp; int16_t i, j; @@ -1666,6 +1668,11 @@ void TDREND_firfilt( tmp += ( *p_filter++ ) * ( *p_tmp-- ); } signal[i] = tmp; + + if ( i < intp_count ) + { + v_add( filter, filter_delta, filter, filterlength ); + } } return; diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index 5b3ab93bfb..fa645f1492 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -325,11 +325,16 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ #ifdef FIX_ITD - float *LeftFilter_p, /* o: Left filter */ - float *RightFilter_p, /* o: Right filter */ - int16_t *filterlength, /* o: Length of filters */ - int16_t *itd, /* o: ITD value */ - float *Gain /* o: Gain value */ + float *hrf_left_prev, /* o: Left filter */ + float *hrf_right_prev, /* o: Right filter */ + float *hrf_left_delta, /* o: Left filter interpolation delta */ + float *hrf_right_delta, /* o: Right filter interpolation delta */ + int16_t *intp_count, /* o: Interpolation count */ + int16_t *filterlength, /* o: Length of filters */ + int16_t *itd, /* o: ITD value */ + float *Gain, /* o: Gain value */ + TDREND_SRC_t *Src_p, /* i/o: Source pointer */ + const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ #else const int32_t output_Fs /* i : Output sampling rate */ #endif @@ -348,6 +353,11 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( float Azim, Elev; #ifndef FIX_ITD int16_t mem_size; +#else + float hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + float hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + float azim_delta; + float elev_delta; #endif /* Evaluate the HR filters from the source and listener positions and orientations */ @@ -407,7 +417,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( } #ifdef FIX_ITD - GetFilterFromAngle( HrFiltSet_p, Elev, Azim, LeftFilter_p, RightFilter_p, itd ); + GetFilterFromAngle( HrFiltSet_p, Elev, Azim, hrf_left, hrf_right, itd ); #else GetFilterFromAngle( HrFiltSet_p, Elev, Azim, &SfxSpatBinParams ); #endif @@ -441,6 +451,32 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( /* Update total gains */ #ifdef FIX_ITD *Gain = ( *SrcRend_p->SrcGain_p ) * ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ) * hBinRendererTd->Gain; + + /* Delta for interpolation, in case the angular step exceeds MAX_ANGULAR_STEP */ + elev_delta = Elev - Src_p->elev_prev; + azim_delta = Azim - Src_p->azim_prev; + Src_p->elev_prev = Elev; + Src_p->azim_prev = Azim; + + azim_delta = ( azim_delta > 180.0f ) ? ( azim_delta - 360 ) : ( ( azim_delta < -180.0f ) ? ( azim_delta + 360 ) : ( azim_delta ) ); /* map to -180:180 range */ + *intp_count = min( MAX_INTERPOLATION_STEPS, max( (int16_t) ( fabsf( azim_delta ) * MAX_ANGULAR_STEP_INV ), (int16_t) ( fabsf( elev_delta ) * MAX_ANGULAR_STEP_INV ) ) ); + + if ( ( *intp_count > 0 ) && subframe_idx == 0 ) + { + /* Set deltas for interpolation */ + v_sub( hrf_left, hrf_left_prev, hrf_left_delta, *filterlength ); + v_multc( hrf_left_delta, 1.0f / *intp_count, hrf_left_delta, *filterlength ); + v_sub( hrf_right, hrf_right_prev, hrf_right_delta, *filterlength ); + v_multc( hrf_right_delta, 1.0f / *intp_count, hrf_right_delta, *filterlength ); + } + else + { + /* No interpolation, just set the new filters and reset deltas */ + mvr2r( hrf_left, hrf_left_prev, *filterlength ); + mvr2r( hrf_right, hrf_right_prev, *filterlength ); + set_f( hrf_left_delta, 0.0f, *filterlength ); + set_f( hrf_right_delta, 0.0f, *filterlength ); + } #else Gain = ( *SrcRend_p->SrcGain_p ) * ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ) * hBinRendererTd->Gain; SfxSpatBinParams.LeftVolume = Gain; @@ -786,8 +822,16 @@ void TDREND_SRC_Init( Src_p->previtd = 0; Src_p->filterlength = -1; set_f( Src_p->mem_itd, 0.0f, ITD_MEM_LEN ); - set_f( Src_p->mem_hr_filt_left, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 ); - set_f( Src_p->mem_hr_filt_right, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 ); + set_f( Src_p->mem_hrf_left, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 ); + set_f( Src_p->mem_hrf_right, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1 ); + + set_f( Src_p->hrf_left_prev, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH ); + set_f( Src_p->hrf_right_prev, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH ); + Src_p->hrf_left_prev[0] = 1; + Src_p->hrf_right_prev[0] = 1; + Src_p->azim_prev = 0.0f; + Src_p->elev_prev = 0.0f; + #endif return; diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 5b2ec832d8..0b386dd419 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -392,7 +392,17 @@ int main( int argc, char *argv[] ) { output[nS][n] = input_buff[nChannels * n + nS]; } +#ifdef FIX_ITD + /* Pad to full frame length */ + for ( ; n < nFrameLength; n++ ) + { + output[nS][n] = 0; + } +#endif } +#ifdef FIX_ITD + currFrameLength = nFrameLength; +#endif if ( st_ivas->ivas_format == ISM_FORMAT ) { -- GitLab From 1917282e4ba8f336a0b3cc6311071c74021c3e68 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 12:26:58 +0100 Subject: [PATCH 158/620] fixed formatting issues in the memory printout --- scripts/tools/Linux/wmc_tool | Bin 204224 -> 204224 bytes scripts/tools/Win32/wmc_tool.exe | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index f3a182da4e833f6be2045eba5b062905ff5106a2..a5a80a3ea7b8177410c2463ba1cc51d44cdf8fb5 100644 GIT binary patch delta 5634 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 delta 5520 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 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index 0978123154..19abc48e90 100644 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:173b31cf61e6b7616617bc7e09df9bac4cce896bed1c8457f2c48ed8fad2457d +oid sha256:d620d27b217f24d833fde95887a3445952ac82164ffbe267c90a48273adac368 size 159232 -- GitLab From 8ce4b82201e3e5461c9537c440ac0501c88f2e57 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 24 Nov 2022 12:40:30 +0100 Subject: [PATCH 159/620] Contribution 19 - mutllichannel JBM Extends JBM to support more than one audio channel. Introduces VoIP mode for decoding IVAS bitstreams. --- .gitignore | 2 + CMakeLists.txt | 3 + apps/decoder.c | 447 +++++++++++++++++++++++++++++++++++-- lib_com/bitstream.c | 16 +- lib_com/ivas_error.h | 3 + lib_com/options.h | 2 + lib_debug/debug.h | 2 + lib_debug/memory.c | 2 + lib_dec/jbm_jb4sb.h | 2 + lib_dec/jbm_pcmdsp_apa.c | 31 ++- lib_dec/jbm_pcmdsp_apa.h | 8 +- lib_dec/jbm_pcmdsp_fifo.c | 16 ++ lib_dec/jbm_pcmdsp_fifo.h | 8 + lib_dec/lib_dec.c | 228 ++++++++++++++++++- lib_dec/lib_dec.h | 21 +- lib_util/evs_rtp_payload.c | 2 + lib_util/evs_rtp_payload.h | 2 + 17 files changed, 760 insertions(+), 35 deletions(-) diff --git a/.gitignore b/.gitignore index 13dd28ed34..4c03ff1833 100644 --- a/.gitignore +++ b/.gitignore @@ -47,6 +47,8 @@ scripts/ref/ scripts/test/ scripts/out/ scripts/self_test_summary.txt +scripts/cppp/ +binary/ tests/renderer/cut tests/renderer/ref tests/dut diff --git a/CMakeLists.txt b/CMakeLists.txt index 317274ddce..37f7a5cce5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -187,3 +187,6 @@ if(COPY_EXECUTABLES_FROM_BUILD_DIR) add_custom_command(TARGET IVAS_crend_unit_test POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:IVAS_crend_unit_test>" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/ivas_pytests/tests/unit_tests/crend/") add_custom_command(TARGET renderer_standalone POST_BUILD VERBATIM COMMAND "${CMAKE_COMMAND}" -E copy "$<TARGET_FILE:renderer_standalone>" "${CMAKE_CURRENT_SOURCE_DIR}/scripts/td_object_renderer/object_renderer_standalone/") endif() + +# Allow creating packages for CMake install +install(TARGETS lib_enc lib_dec lib_rend lib_com lib_util ARCHIVE DESTINATION lib) diff --git a/apps/decoder.c b/apps/decoder.c index 6f73723af1..e5f50cec20 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -137,6 +137,9 @@ static void usage_dec( void ); static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); #ifdef DEBUGGING +#ifdef MC_JBM +static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); +#endif static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif @@ -340,7 +343,15 @@ int main( if ( arg.voipMode ) { +#ifdef MC_JBM + if ( ( error = printBitstreamInfoVoip(arg, hBsReader, hIvasDec) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error while previewing VoIP bitstream: %s\n", ivas_error_to_string( error ) ); + goto cleanup; + } +#else IVAS_DEC_PrintConfig( hIvasDec, arg.quietModeEnabled, arg.voipMode ); +#endif } else { @@ -420,9 +431,9 @@ int main( fprintf( stdout, "FEC: %.2f %%\n", arg.FER ); } } -#else +#else /* DEBUGGING */ IVAS_DEC_PrintConfig( hIvasDec, 1, arg.voipMode ); -#endif +#endif /* DEBUGGING */ /*-------------------------------------------------------------------* * Load renderer configuration from file @@ -503,11 +514,13 @@ int main( if ( arg.voipMode ) { +#ifndef MC_JBM if ( arg.decMode != IVAS_DEC_MODE_EVS ) { fprintf( stderr, "\nError: VoIP not yet supported for decMode: %d\n\n", arg.decMode ); goto cleanup; } +#endif if ( ( error = IVAS_DEC_EnableVoIP( hIvasDec, 60, arg.inputFormat ) ) != IVAS_ERR_OK ) { @@ -1128,6 +1141,163 @@ static int16_t app_own_random( int16_t *seed ) } #endif +#ifdef MC_JBM +static ivas_error initOnFirstGoodFrame( + IVAS_DEC_HANDLE hIvasDec, /* i/o: */ + const DecArguments arg, /* i : */ + const int16_t numInitialBadFrames, /* i : */ + const uint16_t numOutSamples, /* i : */ + int16_t *pFullDelayNumSamples, /* o : */ + int16_t *pRemainingDelayNumSamples, /* o : */ + int32_t *delayTimeScale, /* o : */ + IVAS_DEC_BS_FORMAT *pBsFormat, /* i/o: */ + AudioFileWriter **ppAfWriter, /* o : */ + MasaFileWriter **ppMasaWriter, /* o : */ + IsmFileWriter *ismWriters[IVAS_MAX_NUM_OBJECTS], /* o : */ + int16_t *pNumOutChannels, /* o : */ + uint16_t *pNumObj /* o : */ +) +{ + ivas_error error = IVAS_ERR_UNKNOWN; + + /* Now delay, number of output channels and frame size are known */ + if ( arg.delayCompensationEnabled ) + { + if ( ( error = IVAS_DEC_GetDelay( hIvasDec, pFullDelayNumSamples, delayTimeScale ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nUnable to get delay of decoder: %s\n", ivas_error_to_string( error ) ); + return error; + } + } + else + { + *pFullDelayNumSamples = 0; + } + *pRemainingDelayNumSamples = *pFullDelayNumSamples; + + if ( ( error = IVAS_DEC_GetNumOutputChannels( hIvasDec, pNumOutChannels ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError in IVAS_DEC_GetNumOutputChannels, code: %d\n", error ); + return error; + } + + int32_t pcmFrameSize; + + if ( ( error = IVAS_DEC_GetPcmFrameSize( hIvasDec, &pcmFrameSize ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError in IVAS_DEC_GetPcmFrameSize, error code: %d\n", error ); + return error; + } + + /* Open audio writer and write all previously skipped bad frames now that frame size is known */ + if ( ( error = AudioFileWriter_open( ppAfWriter, arg.outputWavFilename, arg.output_Fs, *pNumOutChannels ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nUnable to open output file %s\n", arg.outputWavFilename ); + return error; + } + + int16_t *zeroBuf = malloc( pcmFrameSize * sizeof( int16_t ) ); + memset( zeroBuf, 0, pcmFrameSize * sizeof( int16_t ) ); + + for ( int16_t i = 0; i < numInitialBadFrames; ++i ) + { + if ( *pRemainingDelayNumSamples < numOutSamples ) + { + if ( ( error = AudioFileWriter_write( *ppAfWriter, zeroBuf, numOutSamples * *pNumOutChannels - ( *pRemainingDelayNumSamples * *pNumOutChannels ) ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nOutput audio file writer error\n" ); + return error; + } + *pRemainingDelayNumSamples = 0; + } + else + { + *pRemainingDelayNumSamples -= numOutSamples; + } + } + + free( zeroBuf ); + + /* Open other output files if EXT output config - now details about ISM or MASA are known */ + if ( arg.outputFormat == IVAS_DEC_OUTPUT_EXT ) + { + if ( ( error = IVAS_DEC_GetFormat( hIvasDec, pBsFormat ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); + return error; + } + + /* If outputting ISM, get number of objects, open output files and write zero metadata for initial bad frames */ + if ( *pBsFormat == IVAS_DEC_BS_OBJ ) + { + if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, pNumObj ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError in IVAS_DEC_GetNumObjects: %s\n", IVAS_DEC_GetErrorMessage( error ) ); + return error; + } + + for ( int16_t i = 0; i < *pNumObj; ++i ) + { + if ( ( error = IsmFileWriter_open( arg.outputWavFilename, i, &ismWriters[i] ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError: Error opening ISM decoded metadata file %s\n", IsmFileWriter_getFilePath( ismWriters[i] ) ); + return error; + } + } + + for ( int16_t j = 0; j < numInitialBadFrames; ++j ) + { + /* write zero metadata */ + for ( int16_t i = 0; i < *pNumObj; ++i ) + { + IVAS_ISM_METADATA IsmMetadata; + + if ( ( error = IVAS_DEC_GetObjectMetadata( hIvasDec, &IsmMetadata, 1, i ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError in IVAS_DEC_GetObjectMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) ); + return error; + } + + if ( ( error = IsmFileWriter_writeFrame( IsmMetadata, ismWriters[i] ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing ISM metadata to file %s\n", IsmFileWriter_getFilePath( ismWriters[i] ) ); + return error; + } + } + } + } + /* If outputting MASA, open output file and write metadata for initial bad frames */ + else if ( *pBsFormat == IVAS_DEC_BS_MASA ) + { + if ( ( error = MasaFileWriter_open( arg.outputWavFilename, ppMasaWriter ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError: Error opening MASA decoded metadata file %s\n", MasaFileWriter_getFilePath( *ppMasaWriter ) ); + return error; + } + + /* Duplicate good first frame metadata to fill the beginning of stream. */ + IVAS_MASA_QMETADATA_HANDLE qMetadata = NULL; + if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &qMetadata ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) ); + return error; + } + + for ( int16_t j = 0; j < numInitialBadFrames; ++j ) + { + if ( ( error = MasaFileWriter_writeFrame( *ppMasaWriter, qMetadata ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing MASA metadata to file: %s\n", MasaFileWriter_getFilePath( *ppMasaWriter ) ); + return error; + } + } + } + } + + return IVAS_ERR_OK; +} +#endif + /*---------------------------------------------------------------------* * decodeG192() * @@ -1144,7 +1314,11 @@ static ivas_error decodeG192( { bool decodingFailed = true; /* Assume failure until cleanup is reached without errors */ uint16_t bit_stream[IVAS_MAX_BITS_PER_FRAME + 4 * 8]; +#ifdef MC_JBM + int16_t i, num_bits; +#else int16_t i, j, num_bits; +#endif int16_t bfi = 0; #ifdef DEBUGGING int16_t fec_seed = 12558; /* FEC_SEED */ @@ -1156,7 +1330,9 @@ static ivas_error decodeG192( int16_t nOutChannels = 0; int16_t delayNumSamples = -1; int16_t delayNumSamples_orig = 0; +#ifndef MC_JBM int16_t zeroPad = 0; +#endif int16_t nOutSamples = 0; int32_t delayTimeScale = 0; ivas_error error = IVAS_ERR_UNKNOWN; @@ -1264,6 +1440,27 @@ static ivas_error decodeG192( /* Once good frame decoded, catch up */ if ( decodedGoodFrame ) { +#ifdef MC_JBM + error = initOnFirstGoodFrame( + hIvasDec, + arg, + numInitialBadFrames, + nOutSamples, + &delayNumSamples_orig, + &delayNumSamples, + &delayTimeScale, + &bsFormat, + &afWriter, + &masaWriter, + ismWriters, + &nOutChannels, + &numObj ); + if ( error != IVAS_ERR_OK ) + { + goto cleanup; + } +#else + /* Now number of output channels and frame size are known */ if ( ( error = IVAS_DEC_GetNumOutputChannels( hIvasDec, &nOutChannels ) ) != IVAS_ERR_OK ) { @@ -1383,6 +1580,7 @@ static ivas_error decodeG192( } } } +#endif } else { @@ -1390,6 +1588,7 @@ static ivas_error decodeG192( } } +#ifndef MC_JBM if ( delayNumSamples == -1 ) { if ( arg.delayCompensationEnabled ) @@ -1407,6 +1606,7 @@ static ivas_error decodeG192( } zeroPad = delayNumSamples; } +#endif /* Write current frame */ if ( decodedGoodFrame ) @@ -1519,12 +1719,21 @@ static ivas_error decodeG192( } /* add zeros at the end to have equal length of synthesized signals */ +#ifdef MC_JBM + memset( pcmBuf, 0, delayNumSamples_orig * nOutChannels * sizeof( int16_t ) ); + if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig * nOutChannels ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); + goto cleanup; + } +#else memset( pcmBuf, 0, zeroPad * nOutChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, zeroPad * nOutChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nOutput audio file writer error\n" ); goto cleanup; } +#endif /*------------------------------------------------------------------------------------------* * Close files and deallocate resources @@ -1549,11 +1758,119 @@ cleanup: return error; } +#ifdef MC_JBM +#ifdef DEBUGGING +/*---------------------------------------------------------------------* + * printBitstreamInfoVoip() + * + * Print bitstream info of a VoIP G.192 or RTPDUMP bitstream. + *---------------------------------------------------------------------*/ +static ivas_error printBitstreamInfoVoip( + DecArguments arg, + BS_READER_HANDLE hBsReader, + IVAS_DEC_HANDLE hIvasDec ) +{ + bool previewFailed = true; + ivas_error error = IVAS_ERR_OK; + FILE *f_rtpstream = NULL; + EVS_RTPDUMP_DEPACKER rtpdumpDepacker; + EVS_RTPDUMP_DEPACKER_ERROR rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_NO_ERROR; + uint8_t au[( IVAS_MAX_BITS_PER_FRAME + 7 ) >> 3]; + int16_t auSizeBits; + uint8_t *auPtr = NULL; + bool isAMRWB_IOmode; + uint16_t frameTypeIndex; + bool qBit; + uint32_t nextPacketRcvTime_ms = 0; + uint16_t rtpSequenceNumber; + uint32_t rtpTimeStamp; + + rtpdumpDepacker.rtpdump = NULL; + switch ( arg.inputFormat ) + { + case IVAS_DEC_INPUT_FORMAT_RTPDUMP: + case IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF: + f_rtpstream = fopen( arg.inputBitstreamFilename, "r" ); + + if ( f_rtpstream == NULL ) + { + fprintf( stderr, "could not open: %s\n", arg.inputBitstreamFilename ); + goto cleanup; + } + + rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_open( &rtpdumpDepacker, f_rtpstream, arg.inputFormat == IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF ); + if ( rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR ) + { + fprintf( stderr, "error in EVS_RTPDUMP_DEPACKER_open(): %d\n", rtpdumpDepackerError ); + goto cleanup; + } + break; + case IVAS_DEC_INPUT_FORMAT_G192: + auPtr = au; + break; + default: + fprintf( stderr, "Unsupported format of input bitstream" ); + goto cleanup; + } + + /* Keep reading until full frame is found */ + do + { + if ( arg.inputFormat == IVAS_DEC_INPUT_FORMAT_G192 ) + { + error = BS_Reader_ReadVoipFrame_compact( hBsReader, au, &auSizeBits, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms ); + qBit = 1; /* good q_bit for INPUT_FORMAT_G192 */ + } + else + { + auPtr = au; /* might have been set to RTP packet in prev call */ + rtpdumpDepackerError = EVS_RTPDUMP_DEPACKER_readNextFrame( &rtpdumpDepacker, &rtpSequenceNumber, &rtpTimeStamp, + &nextPacketRcvTime_ms, + &isAMRWB_IOmode, &frameTypeIndex, &qBit, + &auPtr, (uint16_t *) &auSizeBits ); + /* EVS RTP payload format has timescale 16000, JBM uses 1000 internally */ + rtpTimeStamp = rtpTimeStamp / 16; + } + if ( error != IVAS_ERR_OK || rtpdumpDepackerError != EVS_RTPDUMP_DEPACKER_NO_ERROR ) + { + fprintf( stderr, "failed to read first RTP packet\n" ); + goto cleanup; + } +#ifdef REMOVE_SID_HARM_LEFTOVERS + } while (!qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_5K2 ); +#else + } while (!qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_4K4 || auSizeBits == NUM_BITS_SID_IVAS_7K8 || auSizeBits == NUM_BITS_SID_IVAS_9K3 || auSizeBits == NUM_BITS_SID_IVAS_10K2 ); +#endif + + BS_Reader_Rewind( hBsReader ); + + IVAS_DEC_PrintConfigWithVoipBitstream( hIvasDec, arg.quietModeEnabled, au, auSizeBits ); + + /*------------------------------------------------------------------------------------------* + * Close fhandles and deallocate resources + *------------------------------------------------------------------------------------------*/ + + previewFailed = false; /* This will stay set to true if cleanup is reached via a goto due to an error */ + +cleanup: + + EVS_RTPDUMP_DEPACKER_close( &rtpdumpDepacker ); + + if ( previewFailed && error == IVAS_ERR_OK ) + { + return IVAS_ERR_UNKNOWN; + } + + return IVAS_ERR_OK; +} +#endif +#endif + /*---------------------------------------------------------------------* * decodeVoIP() * - * Read G.192 bitstream and decode in VOIP + * Read G.192 or RTPDUMP bitstream and decode in VOIP *---------------------------------------------------------------------*/ static ivas_error decodeVoIP( @@ -1573,23 +1890,36 @@ static ivas_error decodeVoIP( uint16_t rtpSequenceNumber; uint32_t rtpTimeStamp; +#ifdef MC_JBM + bool decodedGoodFrame = false; + int16_t numInitialBadFrames = 0; /* Number of bad frames received until first good frame is decoded */ + int16_t nOutChannels = 0; + MasaFileWriter *masaWriter = NULL; + uint16_t numObj = 0; + + const uint32_t pcmBufSizeWithSampleBasedTimeScaling = 3 * MAX_OUTPUT_PCM_BUFFER_SIZE; + int16_t pcmBuf[3 * MAX_OUTPUT_PCM_BUFFER_SIZE]; +#else /* For now always assume output with one channel. When adding VoIP to IVAS, * initialization of the memory for jitter buffer etc. needs to happen after * first good frame has been decoded because for some configs (such as EXT * renderer) only then the number of output channels is known.*/ const int16_t nOutChannels = 1; + const uint32_t pcmBufSizeWithSampleBasedTimeScaling = 3 * MAX_FRAME_SIZE; + int16_t pcmBuf[3 * MAX_FRAME_SIZE]; +#endif AudioFileWriter *afWriter = NULL; #ifdef SUPPORT_JBM_TRACEFILE JbmTraceFileWriter *jbmTraceWriter = NULL; #endif JbmOffsetFileWriter *jbmOffsetWriter = NULL; - const uint32_t pcmBufSizeWithSampleBasedTimeScaling = 3 * MAX_FRAME_SIZE; - int16_t pcmBuf[3 * MAX_FRAME_SIZE]; int16_t delayNumSamples_orig = -1; int16_t delayNumSamples = -1; int32_t delayTimeScale = -1; +#ifndef MC_JBM int16_t zeroPad = 0; +#endif FILE *f_rtpstream = NULL; EVS_RTPDUMP_DEPACKER rtpdumpDepacker; @@ -1599,6 +1929,15 @@ static ivas_error decodeVoIP( uint16_t frameTypeIndex; bool qBit; +#ifdef MC_JBM + IVAS_DEC_BS_FORMAT bsFormat = IVAS_DEC_BS_UNKOWN; + IsmFileWriter *ismWriters[IVAS_MAX_NUM_OBJECTS]; + for ( int16_t i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i ) + { + ismWriters[i] = NULL; + } +#endif + memset( pcmBuf, 0, pcmBufSizeWithSampleBasedTimeScaling ); rtpdumpDepacker.rtpdump = NULL; @@ -1629,11 +1968,13 @@ static ivas_error decodeVoIP( goto cleanup; } +#ifndef MC_JBM if ( ( error = AudioFileWriter_open( &afWriter, arg.outputWavFilename, arg.output_Fs, nOutChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nUnable to open output file %s\n", arg.outputWavFilename ); goto cleanup; } +#endif #ifdef SUPPORT_JBM_TRACEFILE if ( arg.jbmTraceFilename != NULL ) @@ -1661,10 +2002,12 @@ static ivas_error decodeVoIP( if ( arg.inputFormat == IVAS_DEC_INPUT_FORMAT_G192 ) { error = BS_Reader_ReadVoipFrame_compact( hBsReader, au, &auSize, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms ); +#ifndef MC_JBM if ( !evsPayload_getFrameTypeFromSize( auSize, &isAMRWB_IOmode, &frameTypeIndex ) ) { error = IVAS_ERR_BITSTREAM_READER_INVALID_DATA; } +#endif qBit = 1; /* good q_bit for INPUT_FORMAT_G192 */ } else @@ -1710,7 +2053,11 @@ static ivas_error decodeVoIP( while ( nextPacketRcvTime_ms <= systemTime_ms ) { /* feed the previous read packet into the receiver now */ +#ifdef MC_JBM + error = IVAS_DEC_VoIP_FeedFrame( hIvasDec, auPtr, auSize, rtpSequenceNumber, rtpTimeStamp, nextPacketRcvTime_ms, qBit ); +#else error = IVAS_DEC_VoIP_FeedFrame( hIvasDec, auPtr, auSize, rtpSequenceNumber, rtpTimeStamp, nextPacketRcvTime_ms, isAMRWB_IOmode, frameTypeIndex, qBit ); +#endif if ( error != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_VoIP_FeedFrame: %s\n", IVAS_DEC_GetErrorMessage( error ) ); @@ -1723,10 +2070,12 @@ static ivas_error decodeVoIP( { error = BS_Reader_ReadVoipFrame_compact( hBsReader, au, &auSize, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms ); +#ifndef MC_JBM if ( !evsPayload_getFrameTypeFromSize( auSize, &isAMRWB_IOmode, &frameTypeIndex ) ) { error = IVAS_ERR_BITSTREAM_READER_INVALID_DATA; } +#endif qBit = 1; /* good q_bit for VOIP_G192_RTP */ } else @@ -1758,8 +2107,15 @@ static ivas_error decodeVoIP( break; } +#ifdef MC_JBM + nOutSamples = arg.output_Fs / 50; + + /* decode and get samples */ + if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) +#else /* decode and get samples */ if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, &nOutSamples, pcmBuf, pcmBufSizeWithSampleBasedTimeScaling, systemTime_ms ) ) != IVAS_ERR_OK ) +#endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; @@ -1803,6 +2159,46 @@ static ivas_error decodeVoIP( } } +#ifdef MC_JBM + /* Continue checking for first good frame until it is found */ + if ( !decodedGoodFrame ) + { + if ( ( error = IVAS_DEC_HasDecodedFirstGoodFrame( hIvasDec, &decodedGoodFrame ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error in IVAS_DEC_HasDecodedFirstGoodFrame, code: %d\n", error ); + goto cleanup; + } + + /* Once good frame decoded, catch up */ + if ( decodedGoodFrame ) + { + error = initOnFirstGoodFrame( + hIvasDec, + arg, + numInitialBadFrames, + nOutSamples, + &delayNumSamples_orig, + &delayNumSamples, + &delayTimeScale, + &bsFormat, + &afWriter, + &masaWriter, + ismWriters, + &nOutChannels, + &numObj ); + if ( error != IVAS_ERR_OK ) + { + goto cleanup; + } + } + else + { + ++numInitialBadFrames; + } + } +#endif + +#ifndef MC_JBM if ( delayNumSamples == -1 ) { if ( arg.delayCompensationEnabled ) @@ -1820,20 +2216,29 @@ static ivas_error decodeVoIP( } zeroPad = delayNumSamples; } +#endif - if ( delayNumSamples < nOutSamples ) + /* Write current frame */ +#ifdef MC_JBM + if ( decodedGoodFrame ) { - if ( ( error = AudioFileWriter_write( afWriter, &pcmBuf[delayNumSamples * nOutChannels], nOutSamples * nOutChannels - ( delayNumSamples * nOutChannels ) ) ) != IVAS_ERR_OK ) +#endif + if ( delayNumSamples < nOutSamples ) { - fprintf( stderr, "\nOutput audio file writer error\n" ); - goto cleanup; + if ( ( error = AudioFileWriter_write( afWriter, &pcmBuf[delayNumSamples * nOutChannels], nOutSamples * nOutChannels - ( delayNumSamples * nOutChannels ) ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nOutput audio file writer error\n" ); + goto cleanup; + } + delayNumSamples = 0; } - delayNumSamples = 0; - } - else - { - delayNumSamples -= nOutSamples; + else + { + delayNumSamples -= nOutSamples; + } +#ifdef MC_JBM } +#endif if ( !arg.quietModeEnabled ) { @@ -1853,10 +2258,19 @@ static ivas_error decodeVoIP( #endif } - +#ifdef MC_JBM + /* add zeros at the end to have equal length of synthesized signals */ + memset( pcmBuf, 0, delayNumSamples_orig * nOutChannels * sizeof( int16_t ) ); + if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig * nOutChannels ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); + goto cleanup; + } +#else /* add zeros at the end to have equal length of synthesized signals */ memset( pcmBuf, 0, zeroPad * nOutChannels * sizeof( int16_t ) ); AudioFileWriter_write( afWriter, pcmBuf, zeroPad * nOutChannels ); +#endif /*------------------------------------------------------------------------------------------* * Printouts after decoding has finished @@ -1875,6 +2289,9 @@ static ivas_error decodeVoIP( cleanup: +#ifdef MC_JBM + EVS_RTPDUMP_DEPACKER_close( &rtpdumpDepacker ); +#endif AudioFileWriter_close( &afWriter ); JbmOffsetFileWriter_close( &jbmOffsetWriter ); #ifdef SUPPORT_JBM_TRACEFILE diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 12f172f2a3..871981bb18 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2020,7 +2020,11 @@ ivas_error read_indices( file_read_FECpattern( &st_ivas->bfi ); st_ivas->bfi |= bfi; +#ifdef MC_JBM + if ( bfi == FRAMEMODE_MISSING ) /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ +#else if ( bfi ) +#endif { for ( k = 0; k < num_bits; k++ ) { @@ -2185,7 +2189,11 @@ ivas_error read_indices( } /* handle bad/lost speech frame(and CS bad SID frame) in the decoders CNG synthesis settings pair (total_brate, bfi) */ - if ( ( ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST) --> stay in CNG */ + if ( ( +#ifdef MC_JBM + bfi != FRAMEMODE_FUTURE && /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ +#endif + ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST) --> stay in CNG */ ( sid_upd_bad != 0 ) ) /* SID_UPD_BAD --> start CNG */ { st_ivas->bfi = 0; /* bfi=0 needed to activate CNG code */ @@ -2228,7 +2236,11 @@ ivas_error read_indices( } /* GOOD frame */ - if ( st_ivas->bfi == 0 ) + if ( st_ivas->bfi == 0 +#ifdef MC_JBM + || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ +#endif + ) { /* GOOD frame - convert ITU-T G.192 words to short values */ st_ivas->hDecoderConfig->ivas_total_brate = total_brate; diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index fdc7a1502d..397f78f277 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -87,6 +87,9 @@ typedef enum IVAS_ERR_INVALID_INDEX, IVAS_ERR_NOT_SUPPORTED_OPTION, IVAS_ERR_NOT_IMPLEMENTED, +#ifdef MC_JBM + IVAS_ERR_WAITING_FOR_BITSTREAM, +#endif IVAS_ERR_FILE_READER_TIMESTAMP_MISMATCH, IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT, IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE, diff --git a/lib_com/options.h b/lib_com/options.h index 21fe824853..117c7e068d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -168,6 +168,8 @@ #define CLEANUP_185_NO_AGC_EXCEPTION /* Issue 185: Cleanup AGC EXCEPTION code */ #endif +#define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_debug/debug.h b/lib_debug/debug.h index abf246674a..ed9c2776c2 100644 --- a/lib_debug/debug.h +++ b/lib_debug/debug.h @@ -44,7 +44,9 @@ * Global variables used for debugging *------------------------------------------------------------------------------------------*/ +#ifdef DEBUGGING extern int32_t frame; +#endif #ifdef DEBUGGING extern uint16_t g_nPrintedLines; diff --git a/lib_debug/memory.c b/lib_debug/memory.c index afd292ddbc..27a6768080 100644 --- a/lib_debug/memory.c +++ b/lib_debug/memory.c @@ -47,6 +47,8 @@ #ifdef WMOPS +extern int32_t frame; + /*-------------------------------------------------------------------* * Memory counting tool *--------------------------------------------------------------------*/ diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h index bc70413689..7142a6fd20 100644 --- a/lib_dec/jbm_jb4sb.h +++ b/lib_dec/jbm_jb4sb.h @@ -63,9 +63,11 @@ struct JB4_DATAUNIT uint32_t rcvTime; /** true, if the data unit contains only silence */ bool silenceIndicator; +#ifndef MC_JBM Word16 isAMRWB_IOmode; /** for EVS payload */ Word16 frameTypeIndex; +#endif /** Q bit for AMR-WB IO */ Word16 qBit; diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 3968e38974..9057f103a5 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -70,7 +70,11 @@ struct apa_state_t uint16_t l_buf_out; /* Hann window */ +#ifdef MC_JBM + float win[APA_BUF_PER_CHANNEL]; +#else float win[APA_BUF]; +#endif uint16_t l_halfwin; /* sampling rate [Hz] */ @@ -99,8 +103,8 @@ struct apa_state_t /* search length [samples] */ uint16_t l_search; - uint16_t wss; /* waveform subsampling */ - uint16_t css; /* correlation subsampling */ + uint16_t wss; /* waveform subsampling per channel */ + uint16_t css; /* correlation subsampling per channel */ float targetQuality; uint16_t qualityred; /* quality reduction threshold */ @@ -217,6 +221,12 @@ bool apa_set_rate( ps->rate = (uint16_t) output_Fs; /* set number of channels */ +#ifdef MC_JBM + if ( num_channels > APA_MAX_NUM_CHANNELS ) + { + return 1; + } +#endif ps->num_channels = num_channels; /* @@ -235,8 +245,12 @@ bool apa_set_rate( ps->l_seg = ( ps->rate / 100 ) * ps->num_channels; /* init Hann window */ +#ifdef MC_JBM + /* Note: l_win < APA_BUF_PER_CHANNEL is required */ +#else /* Note: l_win < APA_BUF is required, which is assured */ /* because APA_MAX_RATE/100 = l_win = 441 < 2048 = APA_BUF */ +#endif /* Length of Hann window should be independent of * number of channels - same window applied to all channels */ ps->l_halfwin = ps->rate / 100; @@ -462,6 +476,11 @@ uint8_t apa_exec( statsResetThreshold = 1637; statsResetShift = 2; +#ifdef MC_JBM + /* Convert max_scaling from "per channel" to total */ + maxScaling *= ps->num_channels; +#endif + /* make sure no invalid output is used */ *l_out = 0; l_frm_out = 0; @@ -818,7 +837,11 @@ static bool logarithmic_search( do { coeff_max = -FLT_MAX; /* will always be overwritten with result of first correlation */ +#ifdef MC_JBM + for ( i = s_start; i < s_start + inlen; i += css * ps->num_channels ) +#else for ( i = s_start; i < s_start + inlen; i += css ) +#endif { if ( ( wss == 1 ) && ( ps->num_channels == 1 ) ) { @@ -929,7 +952,11 @@ static bool find_synch( /* pass last pitch to search function as prediction value */ *synch_pos = ps->last_pitch; +#ifdef MC_JBM + logarithmic_search( ps, in, s_start, s_len, offset, fixed_pos, corr_len, ps->wss, ps->css, synch_pos ); +#else logarithmic_search( ps, in, s_start, s_len, offset, fixed_pos, corr_len, ps->wss, ps->css * ps->num_channels, synch_pos ); +#endif /* assert synch_pos is cleanly divisible by number of channels */ assert( *synch_pos % ps->num_channels == 0 ); diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index 5cf4e7d8b6..e3628489ad 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -50,7 +50,13 @@ */ /* size of IO buffers (a_in[], a_out[]) for apa_exec() */ -#define APA_BUF 4096 * 3 +#ifdef MC_JBM +#define APA_BUF_PER_CHANNEL ( 960 * 3 ) +#define APA_MAX_NUM_CHANNELS 16 +#define APA_BUF ( APA_BUF_PER_CHANNEL * APA_MAX_NUM_CHANNELS ) +#else + #define APA_BUF 4096 * 3 +#endif /* min/max sampling rate [Hz] */ #define APA_MIN_RATE 1000 diff --git a/lib_dec/jbm_pcmdsp_fifo.c b/lib_dec/jbm_pcmdsp_fifo.c index 86990618fd..6c203318e4 100644 --- a/lib_dec/jbm_pcmdsp_fifo.c +++ b/lib_dec/jbm_pcmdsp_fifo.c @@ -97,15 +97,27 @@ void pcmdsp_fifo_destroy( /* Initializes the FIFO with a fixed maximum allowed number audio samples. */ int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, +#ifdef MC_JBM + uint16_t nSamplesPerChannel, +#else uint16_t nSamples, +#endif uint16_t nChannels, uint16_t nBytesPerSample ) { +#ifdef MC_JBM + uint32_t nDataBytes; /* Must be 32-bit, otherwise overflows for multichannel */ + + h->capacity = nSamplesPerChannel; + h->nBytesPerSampleSet = nChannels * nBytesPerSample; + nDataBytes = nSamplesPerChannel * h->nBytesPerSampleSet; +#else uint16_t nDataBytes; h->capacity = nSamples; h->nBytesPerSampleSet = nChannels * nBytesPerSample; nDataBytes = nSamples * h->nBytesPerSampleSet; +#endif h->dataBegin = count_malloc( nDataBytes ); h->dataEnd = h->dataBegin + nDataBytes; h->dataWriteIterator = h->dataBegin; @@ -201,7 +213,11 @@ int16_t pcmdsp_fifo_read( /* Returns the number of samples per channel that can be read (number of currently stored samples). */ +#ifdef MC_JBM +uint16_t pcmdsp_fifo_nReadableSamplesPerChannel( +#else uint16_t pcmdsp_fifo_nReadableSamples( +#endif const PCMDSP_FIFO_HANDLE h ) { return h->size; diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h index bdd186702e..0265f745a8 100644 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -70,12 +70,20 @@ int16_t pcmdsp_fifo_create( PCMDSP_FIFO_HANDLE *ph ); void pcmdsp_fifo_destroy( PCMDSP_FIFO_HANDLE *ph ); +#ifdef MC_JBM +int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint16_t nChannels, uint16_t nBytesPerSample ); +#else int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, uint16_t nSamples, uint16_t nChannels, uint16_t nBytesPerSample ); +#endif int16_t pcmdsp_fifo_write( PCMDSP_FIFO_HANDLE h, const uint8_t *samples, uint16_t nSamplesPerChannel ); int16_t pcmdsp_fifo_read( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint8_t *samples ); +#ifdef MC_JBM +uint16_t pcmdsp_fifo_nReadableSamplesPerChannel(const PCMDSP_FIFO_HANDLE h ); +#else uint16_t pcmdsp_fifo_nReadableSamples( const PCMDSP_FIFO_HANDLE h ); +#endif #endif /* JBM_PCMDSP_FIFO_H */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index d16d1f2494..0c0588b5aa 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -42,9 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#ifdef WMOPS #include "wmops.h" -#endif /*---------------------------------------------------------------------* * Local structs @@ -52,7 +50,7 @@ struct IVAS_DEC_VOIP { - uint16_t nSamplesFrame; + uint16_t nSamplesFrame; /* Total number of samples in a frame (includes number of channels) */ JB4_HANDLE hJBM; PCMDSP_APA_HANDLE hTimeScaler; PCMDSP_FIFO_HANDLE hFifoAfterTimeScaler; @@ -80,6 +78,10 @@ struct IVAS_DEC int16_t sdp_hf_only; /* RTP payload format parameter: only Header-Full format without zero padding for size collision avoidance */ int16_t prev_ft_speech; /* RXDTX handler: previous frametype flag for G.192 format AMRWB SID_FIRST detection */ int16_t CNG; /* RXDTX handler: CNG=1, nonCNG=0 */ + +#ifdef MC_JBM + JB4_DATAUNIT_HANDLE hCurrentDataUnit; +#endif }; @@ -130,6 +132,9 @@ ivas_error IVAS_DEC_Open( hIvasDec->hasBeenFedFirstGoodFrame = false; hIvasDec->hasDecodedFirstGoodFrame = false; hIvasDec->isInitialized = false; +#ifdef MC_JBM + hIvasDec->hCurrentDataUnit = NULL; +#endif hIvasDec->mode = mode; @@ -486,6 +491,7 @@ ivas_error IVAS_DEC_EnableVoIP( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } +#ifndef MC_JBM if ( !hIvasDec->isInitialized ) { if ( ( error = ivas_init_decoder( hIvasDec->st_ivas ) ) != IVAS_ERR_OK ) @@ -496,19 +502,31 @@ ivas_error IVAS_DEC_EnableVoIP( hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; hIvasDec->isInitialized = true; } +#endif hDecoderConfig = hIvasDec->st_ivas->hDecoderConfig; hIvasDec->Opt_VOIP = 1; + +#ifdef MC_JBM + hDecoderConfig->nchan_out = audioCfg2channels( hDecoderConfig->output_config ); + assert( hDecoderConfig->nchan_out > 0 && "EXT output not yet supported in VoIP mode" ); +#else hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]->codec_mode = 0; hDecoderConfig->nchan_out = 1; /* VoIP only supported in mono */ +#endif + if ( ( error = input_format_API_to_internal( inputFormat, &hIvasDec->bitstreamformat, &hIvasDec->sdp_hf_only, true ) ) != IVAS_ERR_OK ) { return error; } hIvasDec->hVoIP = count_malloc( sizeof( IVAS_DEC_VOIP ) ); hIvasDec->hVoIP->lastDecodedWasActive = 0; +#ifdef MC_JBM + hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs * hDecoderConfig->nchan_out / FRAMES_PER_SEC ); +#else hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); +#endif /* Copy updated configuration to core coder */ @@ -575,7 +593,7 @@ ivas_error IVAS_DEC_FeedFrame_Serial( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ const uint16_t num_bits, /* i : number of bits in input bitstream */ - const int16_t bfi /* i : bad frame indicator flag */ + int16_t bfi /* i : bad frame indicator flag */ ) { ivas_error error; @@ -593,19 +611,68 @@ ivas_error IVAS_DEC_FeedFrame_Serial( return error; } +#ifdef MC_JBM + if ( hIvasDec->hCurrentDataUnit != NULL ) + { + DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; + st->ini_frame = 0; + st->prev_use_partial_copy = 0; + hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = hIvasDec->hCurrentDataUnit->dataSize * FRAMES_PER_SEC; + } + else + { + hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; + } +#else hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; +#endif } hIvasDec->isInitialized = true; } - if ( !bfi ) + if ( !bfi ) /* TODO(mcjbm): Is this ok for bfi == 2 (partial frame)? Is there enough info to fully configure decoder? */ { hIvasDec->hasBeenFedFirstGoodFrame = true; } +#ifdef MC_JBM + /* Update redundant frame information in EVS (pre- read indices) */ + if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && hIvasDec->hCurrentDataUnit != NULL ) + { + DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; + st->bit_stream = serial; + + if ( hIvasDec->hCurrentDataUnit->partial_frame || st->prev_use_partial_copy ) + { + st->next_coder_type = hIvasDec->hCurrentDataUnit->nextCoderType; + } + else + { + st->next_coder_type = INACTIVE; + } + + if ( hIvasDec->hCurrentDataUnit->partial_frame == 1 && bfi != 1 ) + { + bfi = 2; + } + } +#endif + error = read_indices( hIvasDec->st_ivas, serial, num_bits, &hIvasDec->prev_ft_speech, &hIvasDec->CNG, bfi ); +#ifdef MC_JBM + /* Update redundant frame information in EVS (post- read indices) */ + if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && + hIvasDec->hCurrentDataUnit != NULL && + hIvasDec->hCurrentDataUnit->partial_frame != 0 ) + { + DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; + st->codec_mode = MODE2; + st->use_partial_copy = 1; + } +#endif + return error; } @@ -619,7 +686,7 @@ ivas_error IVAS_DEC_FeedFrame_Serial( ivas_error IVAS_DEC_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - int16_t *nOutSamples /* o : number of samples written to output buffer */ + int16_t *nOutSamples /* o : number of samples per channel written to output buffer */ ) { Decoder_Struct *st_ivas; @@ -1052,6 +1119,14 @@ ivas_error IVAS_DEC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } +#ifdef MC_JBM + if ( !hIvasDec->hasDecodedFirstGoodFrame ) + { + /* Delay depends on IVAS format, which is unknown until first frame has been decoded */ + return IVAS_ERR_WAITING_FOR_BITSTREAM; + } +#endif + st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; @@ -1139,11 +1214,32 @@ static bool isSidFrame( return false; } +#ifdef MC_JBM +static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_t num_bits ) +{ + uint32_t i; + uint8_t byte; + const uint8_t mask = 0x80; + + for ( i = 0; i < num_bits; ++i ) + { + if ( i % 8 == 0 ) + { + byte = compact[i / 8]; + } + + serial[i] = ( byte & mask ) >> 7; + + byte <<= 1; + } +} +#endif + /*---------------------------------------------------------------------* * IVAS_DEC_VoIP_FeedFrame( ) * - * + * Feed RTP packet into internal jitter buffer *---------------------------------------------------------------------*/ ivas_error IVAS_DEC_VoIP_FeedFrame( @@ -1153,9 +1249,11 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ - const bool isAMRWB_IOmode, /* i : AMRWB flag */ - const uint16_t frameTypeIndex, /* i : core mode for frame */ - const bool qBit /* i : Q bit for AMR-WB IO */ +#ifndef MC_JBM + const bool isAMRWB_IOmode, /* i : AMRWB flag */ + const uint16_t frameTypeIndex, /* i : core mode for frame */ +#endif + const bool qBit /* i : Q bit for AMR-WB IO */ ) { JB4_DATAUNIT_HANDLE dataUnit; @@ -1186,8 +1284,10 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( dataUnit->timeStamp = rtpTimeStamp; dataUnit->partial_frame = 0; dataUnit->partialCopyOffset = partialCopyOffset; +#ifndef MC_JBM dataUnit->isAMRWB_IOmode = isAMRWB_IOmode; dataUnit->frameTypeIndex = frameTypeIndex; +#endif dataUnit->qBit = qBit; /* add the frame to the JBM */ @@ -1211,8 +1311,10 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( dataUnit->timeStamp = rtpTimeStamp - partialCopyOffset * dataUnit->duration; dataUnit->partial_frame = 1; dataUnit->partialCopyOffset = partialCopyOffset; +#ifndef MC_JBM dataUnit->isAMRWB_IOmode = isAMRWB_IOmode; dataUnit->frameTypeIndex = frameTypeIndex; +#endif dataUnit->qBit = qBit; /* add the frame to the JBM */ @@ -1235,45 +1337,77 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( ivas_error IVAS_DEC_VoIP_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ +#ifdef MC_JBM + uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ +#else int16_t *nOutSamples, /* o : number of samples written to output buffer */ int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ +#endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ ) { Decoder_Struct *st_ivas; DECODER_CONFIG_HANDLE hDecoderConfig; +#ifndef MC_JBM Decoder_State *st; +#endif IVAS_DEC_VOIP *hVoIP; uint32_t extBufferedTime_ms, scale, maxScaling; uint16_t nTimeScalerOutSamples; JB4_DATAUNIT_HANDLE dataUnit; uint16_t bit_stream[MAX_BITS_PER_FRAME + 4 * 8]; int16_t nOutSamplesElse; +#ifndef MC_JBM uint16_t soundCardFrameSize; +#endif uint16_t extBufferedSamples; int16_t timeScalingDone; int16_t result; ivas_error error; + +#ifdef MC_JBM + /* scratch buffer */ + int16_t apaExecBuffer[APA_BUF]; +#endif error = IVAS_ERR_OK; st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; - st = st_ivas->hSCE[0]->hCoreCoder[0]; hVoIP = hIvasDec->hVoIP; +#ifndef MC_JBM + st = st_ivas->hSCE[0]->hCoreCoder[0]; soundCardFrameSize = hVoIP->nSamplesFrame; +#endif timeScalingDone = 0; +#ifdef MC_JBM + /* TODO(mcjbm): ringbuffer capacity should be configurable by user */ + if( nSamplesPerChannel > hVoIP->hFifoAfterTimeScaler->capacity || nSamplesPerChannel == 0 ) + { + return IVAS_ERR_WRONG_PARAMS; + } +#else assert( hVoIP->nSamplesFrame <= pcmBufSize ); assert( hVoIP->nSamplesFrame <= APA_BUF ); st_ivas->hSCE[0]->hCoreCoder[0]->bit_stream = bit_stream; +#endif /* make sure that the FIFO after decoder/scaler contains at least one sound card frame (i.e. 20ms) */ +#ifdef MC_JBM + while ( pcmdsp_fifo_nReadableSamplesPerChannel( hVoIP->hFifoAfterTimeScaler ) < nSamplesPerChannel ) +#else while ( pcmdsp_fifo_nReadableSamples( hVoIP->hFifoAfterTimeScaler ) < soundCardFrameSize ) +#endif { +#ifdef MC_JBM + extBufferedSamples = pcmdsp_fifo_nReadableSamplesPerChannel( hVoIP->hFifoAfterTimeScaler ); +#else extBufferedSamples = pcmdsp_fifo_nReadableSamples( hVoIP->hFifoAfterTimeScaler ); +#endif extBufferedTime_ms = extBufferedSamples * 1000 / hDecoderConfig->output_Fs; dataUnit = NULL; /* pop one access unit from the jitter buffer */ @@ -1300,6 +1434,12 @@ ivas_error IVAS_DEC_VoIP_GetSamples( /* copy bitstream into decoder state */ if ( dataUnit ) { +#ifdef MC_JBM + hIvasDec->hCurrentDataUnit = dataUnit; + + bsCompactToSerial( dataUnit->data, bit_stream, dataUnit->dataSize ); + IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, dataUnit->dataSize, 0 ); +#else if ( st->codec_mode != 0 ) { read_indices_from_djb( st, dataUnit->data, &hIvasDec->CNG, dataUnit->dataSize, @@ -1323,29 +1463,50 @@ ivas_error IVAS_DEC_VoIP_GetSamples( dataUnit->isAMRWB_IOmode, dataUnit->frameTypeIndex, dataUnit->qBit, hIvasDec->bitstreamformat, hIvasDec->amrwb_rfc4867_flag, 0, 0 ); } +#endif } +#ifdef MC_JBM + else if ( hIvasDec->hasDecodedFirstGoodFrame ) + { + /* Decoder has been initialized with first good frame - do PLC */ + IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, 0, 1 ); +#else else if ( st->codec_mode != 0 ) { read_indices_from_djb( st, NULL, &hIvasDec->CNG, 0, 0, 0, 0, hIvasDec->bitstreamformat, 0, 0, 0 ); +#endif } /* decode */ +#ifdef MC_JBM + if ( !hIvasDec->hasBeenFedFirstGoodFrame ) + { + /* codec mode to use not known yet - simply output silence */ + set_s( apaExecBuffer, 0, hVoIP->nSamplesFrame ); /* TODO(sgi): Could be optimized: just write directly to output buffer */ +#else if ( st->codec_mode == 0 ) { /* codec mode to use not known yet */ set_s( pcmBuf, 0, hVoIP->nSamplesFrame ); +#endif } else { +#ifndef MC_JBM if ( hIvasDec->mode == IVAS_DEC_MODE_EVS ) { /* Update total bitrate after reading indices */ hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = st->total_brate; } +#endif +#ifdef MC_JBM + if ( ( error = IVAS_DEC_GetSamples( hIvasDec, apaExecBuffer, &nOutSamplesElse ) ) != IVAS_ERR_OK ) +#else if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamplesElse ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -1380,16 +1541,26 @@ ivas_error IVAS_DEC_VoIP_GetSamples( { return IVAS_ERR_UNKNOWN; } +#ifdef MC_JBM + result = apa_exec( hVoIP->hTimeScaler, apaExecBuffer, hVoIP->nSamplesFrame, (uint16_t) maxScaling, apaExecBuffer, &nTimeScalerOutSamples ); +#else result = apa_exec( hVoIP->hTimeScaler, pcmBuf, (uint16_t) ( hVoIP->nSamplesFrame * hDecoderConfig->nchan_out ), (uint16_t) maxScaling, pcmBuf, &nTimeScalerOutSamples ); +#endif if ( result != 0 ) { return IVAS_ERR_UNKNOWN; } +#ifndef MC_JBM assert( nTimeScalerOutSamples <= pcmBufSize ); +#endif assert( nTimeScalerOutSamples <= APA_BUF ); /* append scaled samples to FIFO */ + #ifdef MC_JBM + if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) apaExecBuffer, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) + #else if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) pcmBuf, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) + #endif { return IVAS_ERR_UNKNOWN; } @@ -1400,9 +1571,14 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #endif } +#ifdef MC_JBM + /* fetch a user-specified number of samples from FIFO */ + if ( pcmdsp_fifo_read( hVoIP->hFifoAfterTimeScaler, nSamplesPerChannel, (uint8_t *) pcmBuf ) != 0 ) +#else /* fetch one frame for the sound card from FIFO */ *nOutSamples = (int16_t) soundCardFrameSize; if ( pcmdsp_fifo_read( hVoIP->hFifoAfterTimeScaler, *nOutSamples, (uint8_t *) pcmBuf ) != 0 ) +#endif { return IVAS_ERR_UNKNOWN; } @@ -1798,7 +1974,6 @@ static ivas_error printConfigInfo_dec( return IVAS_ERR_OK; } - /*---------------------------------------------------------------------* * IVAS_DEC_PrintConfig( ) * @@ -1840,6 +2015,35 @@ void IVAS_DEC_PrintConfigWithBitstream( return; } + +#ifdef MC_JBM +void IVAS_DEC_PrintConfigWithVoipBitstream( + IVAS_DEC_HANDLE hIvasDec, + const bool quietModeEnabled, + uint8_t *au, + const uint16_t auSizeBits +) +{ + Decoder_Struct *st_ivas; + uint16_t bit_stream[MAX_BITS_PER_FRAME + 4 * 8]; + + /* Create a copy of decoder struct that will be modified by preview_indices(), + * leaving the original decoder struct unchanged. The additional memory used here + * should not be counted towards memory footprint of the decoder. */ + st_ivas = dynamic_malloc( sizeof( Decoder_Struct ) ); + memcpy( st_ivas, hIvasDec->st_ivas, sizeof( Decoder_Struct ) ); + + bsCompactToSerial( au, bit_stream, auSizeBits ); + preview_indices( st_ivas, bit_stream, auSizeBits ); + + /* Print config from modified decoder struct */ + printConfigInfo_dec( st_ivas, hIvasDec->bitstreamformat, hIvasDec->Opt_VOIP, quietModeEnabled ); + + dynamic_free( st_ivas ); + + return; +} +#endif #endif diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index f43034c885..3b3c5620bc 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -145,14 +145,14 @@ ivas_error IVAS_DEC_FeedFrame_Serial( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ const uint16_t num_bits, /* i : number of bits in input bitstream */ - const int16_t bfi /* i : bad frame indicator flag */ + int16_t bfi /* i : bad frame indicator flag */ ); /*! r: decoder error code */ ivas_error IVAS_DEC_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - int16_t *nOutSamples /* o : number of samples written to output buffer */ + int16_t *nOutSamples /* o : number of samples per channel written to output buffer */ ); /*! r: error code */ @@ -183,17 +183,24 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ +#ifndef MC_JBM const bool isAMRWB_IOmode, /* i : AMRWB flag */ const uint16_t frameTypeIndex, /* i : core mode for frame */ +#endif const bool qBit /* i : Q bit for AMR-WB IO */ ); /*! r: error code */ ivas_error IVAS_DEC_VoIP_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ +#ifdef MC_JBM + uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ +#else int16_t *nOutSamples, /* o : number of samples written to output buffer */ int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ +#endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ ); @@ -334,7 +341,6 @@ const char *IVAS_DEC_GetErrorMessage( ivas_error error /* i : decoder error code enum */ ); - void IVAS_DEC_PrintConfig( const IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ @@ -348,6 +354,15 @@ void IVAS_DEC_PrintConfigWithBitstream( uint16_t bit_stream[], /* i : bitstream buffer */ const int16_t num_bits /* i : number of bits in bitstream */ ); + +#ifdef MC_JBM +void IVAS_DEC_PrintConfigWithVoipBitstream( + IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ + const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ + uint8_t *au, /* i : buffer containing input access unit */ + const uint16_t auSizeBits /* i : size of the access unit in bits */ +); +#endif #endif void IVAS_DEC_PrintDisclaimer( diff --git a/lib_util/evs_rtp_payload.c b/lib_util/evs_rtp_payload.c index 67dcaa6f36..5adb67d1af 100644 --- a/lib_util/evs_rtp_payload.c +++ b/lib_util/evs_rtp_payload.c @@ -141,6 +141,7 @@ static void evsHeaderFullPayload_parseToc( uint8_t toc, bool *isAMRWB_IOmode, bo } } +#ifndef MC_JBM bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ) { int16_t i; @@ -171,6 +172,7 @@ bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmod } return false; } +#endif bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeInBits ) { diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h index 55073a7fa5..a39811c1f2 100644 --- a/lib_util/evs_rtp_payload.h +++ b/lib_util/evs_rtp_payload.h @@ -160,7 +160,9 @@ extern "C" bool evsPayload_unpackFrame( bool hf_only, char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **framePtr, uint16_t *frameSizeBits ); +#ifndef MC_JBM bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ); +#endif bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeBits ); -- GitLab From beeb1191b1e22d4a55012c679bf6d9c2bc7f6c21 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 13:11:14 +0100 Subject: [PATCH 160/620] minor fix of formatting in detailed stack printout --- lib_debug/wmc_auto.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index d9665ebe70..6def739e31 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -632,7 +632,6 @@ int push_stack(const char* filename, const char* fctname) /* Save Info about it */ ptr_max_stack = &something; - //wc_frame = frame; wc_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ strncpy(location_max_stack, fctname, sizeof(location_max_stack) - 1); location_max_stack[sizeof(location_max_stack) - 1] = '\0'; @@ -700,6 +699,7 @@ static void print_stack_call_tree(void) { caller_info* caller_info_ptr; int call_level; + char fctname[MAX_FUNCTION_NAME_LENGTH+1]; fprintf(stdout, "\nList of functions when maximum stack size is reached:\n\n"); @@ -713,7 +713,10 @@ static void print_stack_call_tree(void) } /* Print Name */ - fprintf(stdout, "%-42s()", caller_info_ptr->function_name); + strncpy(fctname, caller_info_ptr->function_name, MAX_FUNCTION_NAME_LENGTH); + strcat(fctname, "()"); + fprintf(stdout, "%-42s", fctname); + fprintf(stdout, "%-42s", caller_info_ptr->function_name); /* Print Stack Usage (Based on Difference) */ if (call_level != 0) @@ -1456,3 +1459,4 @@ int cntr_push_pop = 0; /* global counter for checking balanced push_wmops() + -- GitLab From 5aa9a2b3f19fa7832c03e8659c6d4e87d86821f8 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 13:15:44 +0100 Subject: [PATCH 161/620] uploaded binary for Darwin --- scripts/tools/Darwin/wmc_tool | Bin 0 -> 502293 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 scripts/tools/Darwin/wmc_tool diff --git a/scripts/tools/Darwin/wmc_tool b/scripts/tools/Darwin/wmc_tool new file mode 100644 index 0000000000000000000000000000000000000000..1393aaa77f752e4595dfb5898a5a0b8a3e010ede GIT binary patch literal 502293 zcmX^0Z`VEs1_mZZ1_pKp1_ovZ1_uTP<`q8}7#R2%85npNK!61#vq}^s2I7w5(GVC7 zfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c z4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!3jHhQRq> zZ~w6~FfcNM4gp|bU=U<rU^v0Xz|h*D2)0O)fq}t;fq@}DKETo4HOe)}A1sVQFrx6V zb3o=)FoDboag7K;RRhrvasje9gwM*rzyQLa!wEpL@$n_86(t}R1jomtnirtUzyLDu zZ!?HwU;yz!#}`0UGcYi)Ff_o~V1E^tlqMC!h0x9O+sFtuF92d31B?&TzyURn4Jr^H z4>B)4BQ>WWwFqoJs{0mff|%#P1knKELzxf(sCf_$D7?~>ljBn>l2Z#x;!6^f(B1c7 z3&gw!Q1^lODCWTog3|Hv$@zK3hyX-4@4z;Qc?}8>13`S0@PnEIqvGR}i%W_!^U|RL z=;k?GX99=cWOaxF5Ff&VkmzoWk1x$D&&*4S&&*59#}a;5{z1&sfjEx=#78#+VlspT zrMnkkb6gxl9OIq+{eq#Xj~VPP&~X<Km5}rX<AZo03^H2)tUo;;5o(}#!ET-d#4yl- z8KA>7;5<<Juz>SG`qAS7)jS6Vi2FW3{R!gZiwBTDEf_)Og3Lj($N^#w%wG%+AYU<n zkNE(p0`XuN#E*~9NsKS9%uUMAi7zNAVu+8&Zr%Z?yFliF^n>(*FeslQ!T{u+l*E!m zkPHN)n|Htw;yx#cGy{l_&!6$}NyUiV3NjzneF9Dp^Atb<4mA_mJeaegQVgJQgOqPR zo_^l0E}qcT!O#FP2Oe$>5MTb#fanC71Hup<1A`I+LxTZ`)4<Fi!N9;E(ZI~m!N9<< zpn;hI6z?}0m>Fg;GcXjiFf$0SF))DA6-b>&H#5T~P#HUenPGzf0|Pe$1497F90mpk zHz?L)U|;~HJv*p4HY#HpGeZRy2|fk}1_cJlK`#2G#YOr#nMwL7l{qO;wbCHBGB7Y` z&okM2s@~?wKBkEBqErzjBd9*GAK5_1!0>|e3pf-QO_;S97#KkL0%{C{1_MI_$UhF# z!8%~V-~(hp;R2Ea`I$jMgcVdm!`+gTnUt)pt!Jp0Qkj#P1Xd3UFSvRJbqw{vmBl5g zxq41eEnvIUpzdktf`o%6l>eiP86KWsg`>o12#kinXb6mkz-S1JhQMeDjE2By2#kin zXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeDjE2By2#kinXb6mkz-S1JhQMeD zjE2By2#kinXb6mkz-S0y34u_L&Zofv&GiBdCBhz^zdgF^IbKAxFftr>2CtU$Xg<Ob z9eX%Uk6*q8tQ(tp4HDJ=XeQ1469m*dhC7BihB}4>do;e0U}9kK=w|(Tk%_^ho57>g z^+NN0&;n{k{?@Hb3=E!~e~!0<_@K3Y9^LT*9?9+;X~&)aF>s|FXJO`LIPMNweaPU^ zdZ0v&U*3U%e;apiAY;QXCjO>bObiSSKkNBhCW7o}KFsLReBgiSz0R#1|Nj5?>~&EQ z@aSw+`1k+6Z+DG~07$^VqqEflDyiYo+3NA{|9_8O(_34a7<@YazgW`D2(rkhbE&|; z|Nr@0W`oS_Jp9@a5!@3znh!Jjbb}Rmbl&&qHJ!VaiQz>SNN49^kJbbHEzwL23@-fp zj2)Z*DU}E~HviKv$#QJ|r_SGcgpq;4)$qS#!#^cQ{wYTqs{hB7toP`=@6!40g-JBn zZvK`WZcwNk_2{i;bm8A-aEyV$qu2D(3MPgZtj&xJt{tTyC-S%M<z`@T?Rf6kc$^Uw zjFxvx>t81P|Nq~Ge_J-AWAk7A5-!JvzgqmQ-v2><tY!l7O8Go`O}#)4KHbE~@LJlV z*R%p;^6Dl=29M5zpzv#`{2$}N?|KmIl||eP42CB`I{Bv@bllI#$k4D0bkm;;zsoP5 zUL6n5=A-{TE${NTJp1?mKQvT4lYLYS9J^gq6f6&x7JGE|2K@W~-=%jUXvL~a=hBFO z|NlE4e8TFP{O84tMyQ{Kyg+_F=Fts_k!}N@?xi4YKAn#|4nAV_>HO}|xz*v{|Nk#) z8yOi~Tc4Dud35gu3)nO=GC*wxTl!kmqq`RruRh&|uayiBK;>Y9orWIWy`Ut}Jr(4V zPC?J+ql_LiK%PJNkkz%*hR?GzhL6LyGlx&W^SBEiXc;L(^8rT3P8SsgpU&4W*}+N1 zwtO=agGaBZ-7+Qy$32W33=I1~gyDe~Zvq(^UVi6fVDRX?|6+dxBZFh-F%YvPf)Nyv z@tc_#e0ui^{Qv*or}Mu{=cmqth6i3eZeRo@Y~OAc6^~xq&r3muf)=3e0}(!*zYGt& zm;y3)KFHi|aGLh%w(#xEQBm;dHT4%@X7K6dZ30o9|9v`N?F22Mb=<*lSl;8soN|y; zT0s_iv>x#3Tnq9xf6E(I1_qzrtsvoDpq0)(o$q}*zkxOS^tvAK>Fs3z1@}EeMuye{ z{H?S2LAki}fJgUSkQR^DZ~QHvK&y_sr-IaZv|i$GdBniL(8b(&u;JnThJ*VXeoB_{ z*r=3n*u?X<hVz0PF%=Z0p#0;)zfIYt^MT5Jmi;zTMQ<G&{-~5ZcWn3*U-Hng*G1)m z4QJU6$A&)|yFj}wc7Rq;^SfN|=muw9pJW5aZdV3J%VYelH4F?4ol^}!F#<^*uD$yp z$!xC%IGH_X^-TW%!mu8i%pT`}lG#ycGV|%S@ag;nNnh`MI{&>;tOup7ZzU$6vfxP_ zBZEhGD=4(O8D1-=!OB~Z`#n4Fyeww{g$OjIX};DlJmAp{PNLlq2SF2IrzR}Dft}Q8 z2~TU_L>0oz;MrNi%i-A>!wX7pyx{ca(cKHOx04YR2&JCKT2uc0|Icu|H3391Ffh1u z89VatJJ##5wE3q}d9+8b=(=1629IQxE)T{F{~w^JkB+Ubb=(sD@-QfNxE=Q~FmNz{ z3s6O99xM0b-*(AkAEOUsO}PjE;%mj$o}G7JDl#!JG#|Lp{DY}D2gOJYO^}fquZxeh zCV^a(25}iku=;ge!_WGX1E6v+2~?0Z9~F2li6}nPCU`a<RcJo&pTEVKn}Naco9jo$ zk~f}~u|LY6d0NIYls$Oe;%fNBqt{k!0}~`qdGw0jSj5C&c;LlEKSl;nhPIt>nu)>H z;u-&xgQe^~-L{>lnHV}w`1G1Ecs3vV@3;q)`aL`EzUBed7p{z7K;=cEFXLAqQ092& z(K{6sj?gf6+yPSUxD%9DJbGE}c$paj9K&85vu0%QXg(qUE(H^q!O4by8-o=%3QAU6 zwI+fph*mdd1_oD6kOigleXQ4l(l>vz4M=(OQAVH6wcxx0OScN}<m701q%_*KcZ&)n zv4WG0<H2XFp2`1SwA4ToYpD;&*5mNRY5*?`|NC@)dr?vYN~}*x)O<R>zc2@Bf+to{ zSYg*~35{cDK?rgmOs>-smN2J+%F#|ic*1l%&cYAc<K)>H!w)J5`9TSjADl3o4=_T* zt&<Uylo%O&I^TQrnldb6VtCOM1a^5zCR9l`XY0udmrmYS+{_FmVIJL6L8Y=sw~$Bk zA%WL|i2QU&q50td64UQa9~chubCkUEuyp!S{=&nOsqC>wHxsB%@&MV}dEBGdboxRj zh8L0$i%O>(9&qgKV_;xt@Mt~Y!te6Y$MS&-zw<{QNMQgkFf5P){&;DqYwvPMxIaGl znAIcs_Y1*lu*3OV&S!vv98nEP_;mh)ln>uMI`6$;tOf=7{}MG&d48k{xqLtbxuHil zI6z;kfJy`~6CUKSy2qsxmiZ8Y-YLQds&qJfJ5x|=9-nS-k?q*&3M;UEI-h&=nnrRl zGoY6BKE1qkT+9qFRu+OvTUe3L-zxp<|9=lit>Mva;nQo%xeinb*#>ekGfeR5{Dx|Z zZ|Bb!=^zt8d3ZmljPE?mzs-TshPQ+p)Z%GA&S=9`dIA&%4+7!U+tfgC_13TkR4vX0 zXE0E^22#DTfWoTRcFI~%y~f1Ez_1TQcy!*{8N<N9@bVC-nROiOUQm-3WO5tAWNV1Y zYFJHPRSB}zmLF`g2qOc-J`e#i8B}w=%mA4T_qj)}sWvCLstgBFsP$w?0ZO2?fHq(G z^wu7DZ4E8)A))??152oLa56KzFh(<AKNADPF3@f!a25gAv^zN%7#Mszf52+j1}#YK zYQw?6;L{DSU42`>m2~-ZF9p@CzO7IATdMy5|KG*k@KdRz#HaH?!%rLjR#r9!25{B@ zXN%N%ObjoK{6Q%aTywZ|Yr3|+t+?mXshh*W%uwPCO@bcXoF2^w1zb8`y%yk?2Q|AH zJem(GG#~n3qVU}jp8p)d`HvBl{~Uk3p5fY^%kY}B!NQKewT~54>wzm`7fX%OIG@g~ zphCs9cP}VQxpw}86=QqLp?PYZJ1ATaBZ@K4<g1`O<<WT`RE(`H2j!`^B?_QotN^45 zQjEEDYrN)%YVzooc&+4W_|~TzY#B_nQv#a9T{<m5G3A+j6xxhC&ce;Xz`)_tS;EcX z)0x68;BnlA8&-fJ<)@dRRstxwiTi^R@^KLJj2|dPnQmW+nvj2i+iBJy2lm>oTM0_Y zf}rFEB0M^8xpaOsJn-U!J17QNIgdj6I@Yci_*-AvGcdSxKJaKf0_q7xJH|N1I>tH1 z#~ub*Hs23qFSvae0<qT~&0a_bI$Q>Flx;HDUQl~~ABgbiy!Eo{>;L~ClR^<DaY0P_ zx&qY)5R)n)CV7HQ5(4=EM1V4kJ_7@TYv&8Y11~h)85v%hfLf@%wy{S*rkMT$H+N;_ z*_at#3wm~!b9go%=K!|?Co+Ol1gM(@DqK)9m1pP87c!uhNhdgSgZglXeLBJI_SeRs zhWY>h|2><JFnV^I`*c1>ErvjPALM}24qR`$XSe-}7p2fj2b`lkIuGpx?auS*1=q|z zy}k!tXsJVT)iV}QuG$JJi$FQ5-={nEfN$%Qk~V0v@#%c&ldRFr=xBMgGzOZ2T{`!I z(zD}1NXzki2{aY2Oai$Ck%}#RI$yz4@xK?(OCYIO1JrU{RRZdfKnm?{SBBRz@XRL( zO?$63LCqMj3Li)}2BxG_5?(8V+<{apA7|la!I`E(m4ipGYy%53!^`!c<}h-Zr^Ny; z^O8XnO7y&F$Oice7QXx~zZl`20#JrREBYQWV=4N0S(q7KSfH7+iIIU}7iiNpv{wP@ z+ancwovM%sa%Bc3olr!l;!;T;qSz~GLhVe5*{GBVfjSdhj0_Bj7A2^3=HG_Y?T{*Z zW1~{?!Y01t3Cjf=&a!*3=uWnPbR3SC#(H#u`y#Hr>mkL~J6N&BRt$~s?@pkgK}5I# zv?%~Bw!RgCBK&`eGN{<vSp>@Vu&#m-EH1kx!GWl6cmUeb0&zXM!8XIxz~kGcQxlpv z;7x+#EZj^C3>+SvAy`T=P>jC>bqhe5Kf()MjPQDaN($2-OF-Ecy&kRsIkeYyAGm+% z49ff<0#uARfBgU7qgQtQ0gyIRoeiM&LFs|lf*#$)93IVwAz6Jco~-WE%ge;X%<w`t z6BKT+BvrECqjN4OA-{G)%I+TBU@?zwV~kwy)62V?k(uGevkYWo_*+UqgBab`FJ2X* z=YG(r7&Q0$c7A-Js|-n7FBw3Ye=j8S|1W8TW`3AS;2I3kl?3Jgb)cl+(zzDY8g@MR zl+`o&?~CsR(Bv@P59A(1a?pVG9Kp%q-HYc1pycqaMA4`7{fkuvsQDk(HuUJ0gtWuK z86P7BK$?xHIbHyq<7;rlzfW)J0dRJA>^$<a<tK6@&!g8=brvWRdqG_gP{|7F_c`tW zwQ62S7BPUwkXkl?0;$*Z_e@Z%gFE)G)n8P5fKpHeBeY?N&<84!??D=dC6(P%K?XZ^ zmx4OUkcK_O&j0`a|F^tWChw8_%j4j4Ru9JG-`ts)N_jn+k3VQW^xyJR(fij-ofkX7 zj`B!8>2dHOYl9C5Gm8h~36JIj3XL313=AwD-4z1-+xQ!P^76Ojf#SXSfI`DhuF{9# z@hwC{)}z-ncQH0UGBPl{FoigjALd8r#mIh~4yveo(f!B>YW?4Q@e9<DYdtVn{P=A; znjaZB9Cv`WQojg<I27*3Gt-g%xY-RY9%1@G@hAq-I#~R;dLf!0Ss0*cH8&qMtu`)1 z_Tzb1G(W=hf&6F$(K=ZCm_G@{kD#m#jmOSBR6n{-LiXcp7Zg7t^nv{72hloM{P<-) z$d9}~euKu-QHCK!lR*V&E2u62kEt+mFfgDDDuH``-CzYST^5e~`;J40w^TiPMWdtf z4R39Ze(eh#sM16+6Esk@S>v?<`Z(3*>en)cw>^4oH_k;2G8In%4>IZ4Kn9siwRbWx zI9l9?4l<dl>;w%mdGyLKcr+jW@3<c{Yy=%$fmYnFIUE`9ySDx>iScB-<J0-wr}G(f ztjVYICE7UCwO>pO0l_cgHIasyX0n0GpCgE2rVX%Rrg}C821iYh*`-TB?PU*0IC=C| zfMze6ConO*Fm;61RI#AZr%uqY5oidpo1yhUg=Hse+Ak)Ck|<c61L+062K5C&V{s)G z@V=jqW#y0Z7e1DjWsiNjD}Q)49|sLnd-R&hfh@V;z{ud)dEBG*K<WIKUzived|UtX zx4dRzU~p`(*W_<~$b=<QUAxSY1}j0aDH%nZ*nB)25t~c<z_A%;1&U3NZr<4KObi~K zz2M5-;vOhc`8>Ks{lTK(K^o8Aa7GWvU@~YdQHKFEx3L=(%f6leUbDL}zHYr;lH$ww z4m$DR)A<b=yU^h-v>5*KgNY%)G4w@^I#Lu{8iJzu7$S;Sz@k{*kb%KP^L6X((m9~n zj^^W_m|fY&#PA~89vZWt1BpPP59uJoVz%c8g)!>_vgDf`Qp`#*LSq)xxpnMfM-1sp z6$#m>l<?WamvDjF*8J`7K`n^RA0C~DL4y(e+r0mGo@#h>zv0mShF?-eFB*QTlss<u z8DDa*;oyaapIk-PKqE-KrX5p3<An|okF^$q+LfL6J$g+iPXW!P!Nj9M;*il(mu?ND zLA;~<tu>4c43536pf;OFXDg^5fA9foXR8FL^OOAJg<U#mLaP-N-QeQpju8U`Xy5@p z!36HSLHk~vTS3}hD5ZlMac}ustibl}1q<FyLu%W<R07LD8;>Y10u3vI$3R><e?x~A zcY(Bm2GJ@)z_AV+x9FCDb{;_y-FffDsx+{@CGw!Ad@e{6EQVk6L31o<E=vqFo(P$5 zfKOt%bXs~Op8z$Z9FMc`u`n<=K>HV-ogtt}tQ0;0AI6U!%?Bksj)RgiXeJAqTss*d z16q!=K!X+F$uRKj4`kZNr<d3G8xzBexLA~8yVdj8|Nk%Dz@utlr+@~OAi2t?b1f(q zUMs_$2^|Ra=oIvTOu2b<PX#Ff&AA;%%(+389cSU<08OcM#&B`?bk=Zz#%#D?V>WO% zTY{syG{K`A%y8-50ZIXgFn3FZq^TB`U{IJJ_2`}pveF~@GC0CP<sx{r{e@{NBSY)$ z5_M>9e(^O0DV|>o`E-N(0Y2T}S)13ga8LQbCv;poEqx%p1$d7QIs<f^g^vR?qSsl% z$Ke5;4(bfy1NjI(p9uGnqvi3^0@vQ{5Py7zrky&Fb2<^}*E9%}ey@W)0ZFw!o$p>0 zq<~V+{}N$Px5F5u1)g%4;4X%SFCrRTIt`(T2FbkwpsqNiYYIv_KA=%(4@lB^dEhUo zYXRxAb>4sR${N($1P_+Y2Thaons!YCRr}xp8K2JYE}f9UGCq)ldTk#~2Mv}9gL<1F z!l(1o&RWo@@0m9sQ^9kY9^Dq8vHi~=Q+RiOMkGkk2|<tq`Qi$w(r7(U5)CSAI*-3d z0lNY`bS4RL1<N#WvkBDY1J9{L2E00wLCq)IdT`sA*Z4EYG0dPLXb|DidCTy?3riD5 zhL<kr&Y9c+c8(5q=eR<h699G2RVz@SfSuE21+vk!bSg+c`b_W7Bt{1QecT?swx%5* zr?7yW0wR1mf4$uK`u~5!1JLpensj}7O`?5zZCy7qF?e^IeD~<BJ>b!~^~c};|6g28 zVr1B1E62dldDG+a3y;p$3xEIrH@xK0{F{S+>LGA%YzM>t`v3ecCpvpy{Qdub$0;Pm zpjh3pA2cxw)_dab|Nq{-EZ;qv5Ab+&wto2g|Np^95}i}ufXoEB2~?IggR=uGf6H$M z1_lU+r8L%~8=O#gg65H-b!_tw){+;!9{-zvGV`||0!<?HimnSns`jCChVcyWO0*T^ zCy!p=1FxfZKuiLg3N^g>!2jkSEd1>Y85tOMf`*o$7J2mYRzb{d^k6*k{{e=%%?B7A zIt)FU4>CHmd@E6Q=rVBlcI<x1^)9KF+a(V>BtbI#+oBjfnh!Cy+%A3h`YdQ-i-Bne zXjst$k_BI?f=WCnTOLvefP$m*;0`3GH2-8Nd5h*;@EmzB@8LkO*C9^qay{T`_zhgx zLOs!PfWPGs$k^W4gZ%q`ypT#@Wax1I&%ccsG`iJtp!C(t#f%IL-@p;f$lqec!@vOb zC}?#EbUqUifC^AaMChW1LJ2e!O7Vn3m+JvYK<osa*oEX!NhF6B#$!127ibvS@LMx@ zl$Vvi?-eMocY@}6_km7`+yNR3gazw42Fm;ai%op~fCdF3oO*o^cyyk4O(=|rF&h#< z&@=!^t-Y}aK-IWYJh=S<YC<3lSaja=fGj)Ni7427dU;R2V`6yGk^t=lT5&;ZE^r<M zEtzV)@%R6K<yKG*c47R`+4=-r9z$CpsI$spuDyGpv&yh$h;baWO8n>zG8koc6S2DH z-V5b8P-XH2(hPYPi(DNN(+q(vq3NCqa-Jh>I@5=FEhrFtI@f}hX@F)pL9@x2)!?^Q zP<h12-#Q0WSak0NsrKkKUEa*Z@IuoB6qpA+I>Eg|aC=S*ln7y!UF(60$WGSgw@eKD zEugk5w9y1=n=~I3c+Cr*;sPx>_{+e+0PE_!g0_@AECYX(--UAo%Px9!gBOy)tm_8P z2zWFfXMCCc|Nnni!*AbOL4_rTTYon(F}$cX#&D}5rdzMS0l5{_yvFI)FH~{s+n4*8 z85qEI3b^YH={Po6Xz;g&s$%J^L3@@iT?R;fHVuznQB7ZP35H{V$>!*nUm0PmMfjV~ zGNKs`>4?9)2o^_OGqSn*<t|1{Cw4J-K<XDx{$^19VPnPL@=*oUNP$F0uj!3`CWaTE zV5{b2!6h_kfELv4b?LTnZT(-7!{5RM5{I<<eYzDqn~w;%blOI|W@2#Z{OQyA0F*cm zfYu-Iw_IanVEFFv0kjaL<duhI#E<eP9+nbi_aTjwERbz2Alo_*gR?z@<6iKPMeBjm zwJ&dhq8PLQ5!{Qh1F4OGs0H<vpT4YTWMHtdF6D#ziHE;c6~!+cARTHT9iaX~8#oJq zCvv+bTW?n+^0&l;EPyU4>bCT3J}%HHJLwe@L+34@&YvJpfG2VJTO2{2aD;op5$p*@ zkS8oXdQBICx_bMg7#Scw0J&|)OK>WLFR-WsDVY-mE;34AxEg+Y`H_Kv0X$gJ(u3$; zyVWy+R^<HG0(Gx_x^4e02Mv~h`_-ToIp3F~43>ab<UnU{U-LLJ-f;!ZYH$7X|Gy{W zJ@Bd={C(*aFTtZFh7w3!X=^2LX@;dMt*8VVEdkk4y5MENpa1_oT5p%~yBdCbZG4<H z@+GJO0xeXtvEpylRsk7u542cF>Nu+{RL-;Wm}7&THGgZ7GHAW#ThOW^P+zUrRHB}V z;l(L^aOjkzcy@vcQ&4(?b;kd{U}7loN6XXjVHPu3+4IiFvJgDXVh9>$Dg1%3V0#@C z!;4IPP-pxYD0=3*8h(Q&8g~BHwcvySD;v8(YIz}!;co%0g8{WgkqSkdPS!k-gJN(w z$PVrx56ejKoWCS!&R-HV!Ubx1KsxKnAbXbTfy%YRh(tf_wUS5c?Gh=EZg4&2!oRQL zuZx8>e`^;wV(z|Xb~SwK3tA_bz{J4dV+o$R=Wq950tM+4k8W_K#v1>>{(tiiwsJ*} zUfv*2a1jG)BpIIc=<Eem0skL3?g2&EYl$7;+}7C&5^dZIsu5!u8W>7>eL9zdgdF$G zZv$0XkkX;~IHO0e>EmuDh8GvY!Lh~P(g+SbaISLcwgeRq;Uy*TkOBD_R5aK=2Ney! zJUVYehsO^6FNpvJ(_wiJ(9$HNr4gVU)c~?0H=L0Hv`_{#sZzT8wT?%xY(_T|Xn6*s zN9S?S${}xvBTC;G{(sGTob}2xke@(3>*GF_-;15P*lny!<ZN{KTb=&@{|{OM`QNqm ziDTyx{(i&%|Np<tQUDcv-~j1${NH-g0}>4U{lXwwPXz|hl34x@B?VBU926Q1{H>y3 zJ*}Xnu0F}Ajf6<Y-Z|h#Lg!qNVrZ9>I}937C!Il=0yKgMnb(m(EIb4G<##AjJ7Hfa zD9~Y3pNMvX<!fnp2h;~?sTs&V@OS{If6?v9!rcq%UwHP0fyV=mc^rJk>e$I+?$Hfi zHSF2xW6t5(8Db7<Gniux26#3fWAy3V3Nq8T^(}wPX>bf<^)i-rku=EZpyKwX6Ue`y ztc>no@TxCvWdEKE!R}wf*SLmfVC^E%01YF9f&-`t!~t4#3}S%%h1nK@HkLeKt)S8a zSeuQLo-i@I@C^ew{wSzX)cOLn76j541DEIE7Ad3_W#w=6{q+C;OXts^PIoVOOr-fB zqetfnk4`A>Cog|%2WT1?QG)QdsPlnS9wcBm4KI0go-_R4c^NWJ`pw0TQJ_?&8=Q(j zwO{jb1xS*zJY4kX<!fF<a_qRr%fQfi!Q<cqRu9I59^Eed93I_1`~n`$2meD|a2z~% z$H*W6&p5rND=L{7UTA57iXKq&57g%Z`LtyMB&Oj-Z(t{D%VQ>nl1O-d1{Jyj&@6o5 ze~AMq3qw{HLgrb)&Ax}Qu@Otbva5(@AJ`hmC=0mRR}7kjgbX-&c7oR!L0h7h;1Dk5 zdua_?ClBi+L%V>`_9J-g2&x{^`tq;_k6rP%eBc5FE~LcjHC@}z#PA|d8=472!IP1o zL<z~k7=w*VAp=IRHH^NHHIe)++zy}wfs%W{D^+|t|ATU`Z4fB;zJ;{%89<s~(Tz0N zXo-@VVGBiFIu+p~UEnpM3<50BcC%+^2xzHj367<rkjnFRITOQ+SPifTOY)%uVBkff zHl4gjA2KnN#Gow_<@9KVEDm)hYH?^4$bvuWj0`&=bp^N#0o9_DUvnZgfnfpe(Z<B^ z;xA|h2DHN6AH1|4CN~)*_fQj54<7-ixGms;?&lueTS1BLMHy&i5~%Q)Bm-WD2QKJ) zO@EXzF}$b(jrezh(kr;h4N~<J(qjW@1veEUJ6W$h0CfRgf+gTXsi@tRGk^d8hoxI` zyDRWf^VS2X^FLspGL#sD)&nB)iTO9jPYop>q0tJ?Bv0TR!Ll1KH8>a;zBw{A@VBaS zfP8)sG=Wt5)&ts0>NRZuh1_yTEc3ViWCta2aKEjK0eK#Q$0ojn!$yU_^*Ta@M{fn= zYZg$J<KKod>43hVr`NQ<l!@Vmpc*7CrF(WBLGovXO($#FeI|yIAY7$^B`j3m`B)}` z8)Ax}hM1yf^AYfRG|0%fHpq^(s<1RrI>*)UiDMUw3X(VYn?Rj%8_oJy8x{VRJAeQG zx6$BlWno9_{(zFBYnP1*VpfyC9W=G%(JMO95!~p(-LC@O%V48b!fO-H-%|be|NocE zK+}ZHN1(&^Z6!<$FE~_j21M>X$^$|PWXBQ}d;w7;ViR8?V57m`63@iI0E*ZDpbaMA zh02+rY&jJYSNyHpL9PDgBaDvx+fahC=#`C1$upbyl1HGKrLsGaI9Of`>i?_Y^j_ax z%Dv|dvg4>ShWBi2`1|iMGBDWa@V7Aj`TyU>n!n}e@BjZ_s<6Vky2T{UH#^oNx=_qT z;4ai2Sx6VkboVS!7YaV#yk!<j7YZ`p-1z`L$sFs!cmq_fb{>O|pn}`BXw#6ncfehz zZ(K-Sr=1cE4E)<Tta?F1<t6K_dLf$`7D<5mP2gGP#jrZ6xmN;|%MU=yH;E!9h8MGx zz|q0q(h1slhMM(UI$3|;1{G`t;C?rbf-RT{X&eTe1)um>Dwf^%=|;<fD+)pNzY;uZ zro0rzKE;fhw^~8XgI-ZtTLO7&6$1l<jV*tR@~{8@ZKC;Gy_t!~xXVCY@m^6MLWZA) z4~USON~CKMspM`xIF(G3hNhCKGf+}V-wdjx68Br+RC0j>DV0nX!<tHJ#IU52bTQ;q z@+qH*;YEo8IF*!ODV%TKq&(C1f$R`afTs*_;oM-OqQT!1`s4rqmknfx{@iLr=*Q=Q zLtjD)8v5d(xh%w*5P|7b3H_5dz@Z<+juiSU<*|nTBzdIJ2RHITyJ8yim>6C#%i|32 zj2n~(xGczy`EsZM4l2Vvnt#}qi+F(BTnqvX8Xo+M5Aru%_y*b#3Z6uLtpJ@(H9YW| z56Xnj-$L8SKHyD6yK|WsUf9ZkeZk*i0?KBPeQ-X>hQ6)eDx6(9P3K()O%8&K6(3M1 z{#%KcXRp72OXnwO8|Kje62xj24@;!(I%H569%jBE+s?~^Z7ZGj@+hdtum(3&_?tmv z4d7PadXOk|1%jnPX`W;6JW#W{b1tZh0PQzl2CcILHS#8!fLh*1;44FqgZ31jbpy4x zzm<r9R)$XiDTTDRUAhfGBP8EEpktGrpe{P7soxD=qteOY+xgrx`536f)ZGgjL3ixr zVfXFKVdp^fjoCrnM|N<x7~1@4W?)3L#L}xkVTEO8Kk^!Az5!HzwH_!DhxEIc7z7$% zg?>}@r~m&U^VZFW7@<aYGa$95l7D%0{sVQ^Js8hf{@`za0q!^M1?`&N2U=(FVw(d4 zgJb6rP{aE5IZ&4qIz#{pCk61bZ*UxXbPIxpdZvQ9@UDj696QfCb(<J{zxMsuQU(Ub z5+TRtql})-#}phbj}|?B`5ZKM)cTgc;~o<O1E}W;?ni-w$b%U?F67x=!^Qz>KZ2Hq zW-~FocrOj>IzpS`C0TIqv>vDk>}2)5%EV9-hvYR-6CBie1hs2RT;UBxcq2IQM>(k5 z2sRJ3+Xxndw1Z!k|A)@xLIlC-3Owrm7CZzFTDXn0pA$anj=t{gzd8OIjNEl^JIfGd zTy-Y6j584hm2n>3yvCr_hmbWL(B*HSl~Sr;QSeGB(DEo122fiWvI-8moclG0E8}y} z^0!1E#>dcQ6&{`U@U~9QUj{9b3V9LE1TXqZ6g)ut&Cs@5mU6jjf($QR{F(_g7+nn- z-|Na`VtBzL1<u0!EtA1{72F1bbt(%kGclC-d7$n*gm)^5+i|E0vShg=*pkxuuMMD! zSUe6sV)f_-56O8jUi9qt;e(82Se_{5g+}KwhWca7^`ImSPjiTL=9&D}1G4!TI@0OE zc*>>orR4|y_RpXpYvc_a1{t801iXtbA@Va~{_usj3wYwN#Kx!Blr00a1VXmr5)(t( zafbSOkLCkR9-YTQYt=9&9zn}T`5}5sFCk4*_L?3}2is?a-M-t-5c{lrdQE4hgYDzE z#Kdrn0c0B^KHC;Tbe3L0u`Ly1+mVaNz7qhg{{?MdziR=ujlV^V4^+Ay^X#nyt&HnW zXJUBa2$~OQJpdYrN9q4rcCwaTBz7PkssESw1C*#C9S=Q_1rNmG)!lq(=g%gVzqK7( z9(L{00rl^WBCT3IYeJjc`@0B{d-tY-b8nd-DEInw+m`l$+J|@fp<AQ#`cPUZdqIUW zs0(q|we@XD0(hP3f5bXf=$H&z7eea-xOuYqAE=E7-4d<I1B#6!h}oAlu!W5LJfIc| z$o$d;h~T`R%Ea(uq8KDNAvGX)AmnZ*>*@1MpkWBe<Q8ns7G45N!AoFpKj8(apYYhH zJMqWsMQDBTB0d|H5-ywg5;jl=vb@@-^MPmQanQ0vNB(X8DC-iRgVrTJ0<BBD3tg9Z z6`n;~50vO2vMK85h%jVy#0RuU_BCjc?6cRPdflVf^aH35xltTkN|e|_2ByDz^qO|0 zU`y3Ly}Vb?F)_SgFaw1mXrhO|RT<Q`H{=Enmq0hudG@-fFha-r9lK&w7#)wfsDSpr z{DX}LH@UzTyo1hv02yfus(3qMR2aeSmo?xr5nA^`8(YU)L5&v<1_mbR#wcim!jhx3 z5L$A%^sWFkb6h%KL)$p-ZNWa{Z&|Aiaxo~kL5744poKqlfgLFCbZ!NWF2A^93tC{u z-|`de1n|0{7ZX6nz+(U9L$D0^#1Eftg_m!^BW(X)tPW#ffGo99{r~^}-{v0<{H;?V zN<r--k7N#bTtN>Pu{_A%Is@F_1lO~@GeC~-1TXx9x?dk;F{tgKr2}$5>;wppZn*n9 zZ-Gj5P(u{D8dL=8eizW9#BRu9&<i$5qyH~;z%r<T3v14GYrL#rL7mkG1(*-Kndj1} z0U4?11>LUakqjBD>^uc>g<~g+h;L_&2*{(LmXT+tiwLNxCjxHjfrjlNVc5xmvf3Ro z%B1GVzwZcAA#}xnHib}G9-<JkNCX!`A9<jK(1%V?A#?{;2)*nC6+%9}&_)Be5c28# z3~Deu1(idf1_NYx8gFA^(P>CyLF*S%L8KxCnnpW}D2U)^GjIuk&Sn5vP&yx)(tVOq zhtZ>4d!fVV;L~Pc$I>u@))RtKOEr8gJvj2Z72peZL51dvk5-_z{o4{fpU&qmwt!as zLE@#G;k7KZ2=VE*e60m%YrYg@0w)ScVTU|125KjE3PMg0aqRr!*mwqX!=_8;!^Vf8 zTmYVpo#D}W2$DW{#C<zU#6hQqh=US_I3!^p9nRqJ?bu@emXhD#&A}eMrtt|(3@;uE zfO9dZz64Dyz(=DkJ6YXM;jJ&fIeug;`3Ro1e(hsvSoX}P+YmHqjVS2;#WOLyXb=Du z@SyUn6f|)SnM8m83v|@Yheq&%FwoIRr70fpUf6MvHcybdAYDDAjq96FGBK36Lc<PP zFMu|#L#l>D|4TICRRd-}@AVvLApzP)&e>p5%io#~IRyb!hJd!NCph-bg_IMZpof+d z?3UmV;%_;s1}Z0zW>G+k$H6BNfoD;^TYzJpzl9ytOYOY>Vw(lLWN_)$c=;JpUO`fg z#Y@n-Bc$n2_>nNs<<O8WU*kzgNpQgfGEe5%>BGw4+gZa3>hVE}0UuUSY_mdQ8{RX6 zZf5NifRyZ@VxSp1y07Qid{h8hsK4ff9=%c`;rPw<lR(J_U(4Db<*$4#YZ=O(y!80_ z|375W9s_@iHJro2-+J}u|No%67Bm7qPmO^AVh!jh1JF3{_MiX%zid|n&FX^|KZ3p7 z2|95D6wr`q+)fV9UN=V1<g*@-^3AnV1(tqYkkju$MrfpUa=hI61GFJ^FB9lQtIlUH z?Nk}SCv@fUGct4@2KA*?_`$1e`LjT6Rq!TnpU&@{x4_%<r<jA}Y=35fR@j0LgaDrk z0a|$sx_tFz&;d}7bS@~~L2LD-_!$`-LG$$YU!3OyX*AuHiEJorJ+mFe)Ww*lg3p@x zv;Y797g1)QbO1McKOfxa5{S|9SdD%R($;J1nGJF<Xua4z5b@FrJn;xOtq@_F8pJd~ ztfozcm?i)=O&PTC8btVXetH?R_5XjzgKy-0EWbljg$KXuacIN9rSrjSX_w9iU`a@Q z#P50@TE`xIA@9-4I}IG#x-+ww7+Mba@VmZ*RsWs$UtHz|`4zkZx`P)SjK$!73wRGM z(pgvEO+k{j6T!jA400Wa@ag>J)A{mc-X&0B@%=>`FC?D7zp#Orr4BX=EuPmvj4~+( z1siB@#y$`Mif3!ks?)4};NtIvCBkLzctDn$-URns(6>j&LX10{2{H~80pM5wpYHJU zr7XlS8~alC7cY3=UY!duumjwQL0|06V+vdBZ2&ft9kkdRM7-p?^#A{hg$QH9AjUXi zb=OhQ`o~^dZLk^0?%HVu@@Dg1P*$lu&<)<k@={m{wAR(sKMK_H1eXIZ&VUR6RcIf< zGtQ7cvSjOR{*Lcl3=I4&g5YK+cti#=1TWyzYsweJ1Ujs)Q&#H;WS!YVq;+O5xgaC> zpj9!iz{T$q4@<~8GoQ|HFQOq9mL7U}m<yC~zrWbZ4U5ohZg3QYr6K1rXvVz_T0Plo z8<+!%0Z~xe01==FjRyI2<{nV$c>W>-YS{Cap^C^2W{+OeIXNI>dCLxid=DA>LiCki zLe>p{7f`)m2H6Fxu%Xoq%I*&EPCLZ%4HsTebphI718P5ec82hR&g$U>mB^4&yFis1 zq!#OhkHSF~BC+RSbB#|g@A*Sa3@?6Zf|@YkrYpG7-i>I=LU;Hrj9_AT5zGm$n?SWU zsQryxdv_edTYJOnNwh8$qI>25vfvX3sP+a;cY|tg^r=qtonKO*vpafSRQ`izY!CeB z-^PKw^Xm<$hxHuP!+HemVcqiR^<ac9BZp`Kt&Qq6JsQr$@S+?v@c;=spJYql*8iZR zYiu_j1O*#3S!#lYmUKLOeFa=Pe<22Y5&c7ODtrM-g^xYD9e=!@(<Q;b@AEG3GX7rM zWuOkIo*_60`CDTD{r}%`o4+L#v|S7`zS}L~V)?r?)UkIyD4HER@4=3Q_-p_gLj;d6 zf}@8SytM~>E);Zy4rnXRQv*<o;D3oMXe-VNkQPYNa_P2s%>!M~^IF!`@ISnV0A3L7 z(+O&kf~rc;X*S?Bavr^YjGoEIVQszRE}{&ebwi$=C88Xjoj#(V1Sbk<0w6W`ED!Uy zdjAC-w747Oex#Flj6sfRJy4<nTDyY04+_+#c%f?m?xwXq`vV%VeE9`5_S6flcE7zm zE{m4E?7<ZduQ=$O2#gV>7Y7U(Kx^RmTR_{>Jv)!S2Ceb{w+OlwJ$rpwK+8uUE!g8M zA_5Ey3BH{<A|Ov8cW*$R0%zP#CeP-hte`Gguj%m&CI-|+^HcUSF}&~x@23Q>eroA~ zw7EcG>5~j<fIxDHqvdh_)>6>IZS*}>Qn00yH)KGKJy50sxzz)-KMx$e;NI-L7hL*~ zs1*h^7S4j!K|-Roo8dKLmz7VaB6OFVOQ+#WesIN&w6}>TgNfmVE6l<_tS}3~ZUmiU z1hUzu+o1I}f6D<@1_s~WI)T@Eod-aJ+rHf?YyzOX3M!C5Zt6AN3mTpJrU%Qf{4J|k zLH!EQT3~KaG1Poe!SZm)`EQON1xnt7bNx%uz{!(N*4TZZt{UhV98EOU;AxY?@;)VR zz#5)`G(3D+2|5O-^W%3$hQsnc{H<9ak2Ql9eK1-cE`9mZh?RlCvCBo}KhmOzA^{tf z67c$tUXKe6KRL@iKn^D~-w#p)@!W$n&>3$C&$T}P_y7OP6D$l2p1nRQ|84X<`CZRA z?ggbE$9-Jj?Ixf#WT57pXXlyM+Af{1njgJuKE>Dw8hbEs;dgz-zwdw}|Gx8<C-}D= zaOL0j--X{FG}g!H$iL4<<;7|pMuyIV2Omm+HAIxifN8x_J;!fH)%aVJL0e6m&w>_@ zGrm6S`0c1Vf2%)4jLC5y==>3o+h1?)o%sL%{|k-3{{8>Y#ot!;|NnomIj*HVE}bu$ zA29K^>|kJE0E>l|n1X4a5+^Y2R$A@&?WjU22UsN=nCHOX3OdBZvH5HQ$o!W9prxVT zjw<lCZe{?ToOsls#Pa2F2vdQ-bsmJ}Py!l-tWo*@;;J?yL-P-x5)nuKeIWi(Fh7*P z6*N%p*nHLjY%0jLjR*h#|G&TS=fD5|*~%jwza3>NDROLn`p&WWEF)OaRnQ5poiCbC zC^&ZcsDQ;9e(IJ8HvH5s;enLz{LS^CZQ%UdVDgatzV946k2-!ks#F^LS_jmJKu#v8 z<8|zgjb}jzl7Ut0LtCc}76zrt;4on<kv2Tw*zn(if9`>U57=EeUo@X!aoh*$g*bK| zb!~ae-w`PV4i<w_CFmTO;WwAgPcNQ>melon{0AkAQyd<xCtUblUO~<8a`<nfTf$+Z z&ENU~Qhb0?kw<UEKhRlmflLf9?lOX_4Db{YIJ1HdHMH#H72VCmP~weiYQYHmdNrpX zpy5bJy>~W%iQz>(#Prfdh6lPN8h&e*<Tm_{Ey?hJ^qWA7BRg+3z_(KiHT+g7;cfUG zU&7IF_(H>P&T@0;Kw!5}>!lJykM6CYV#K4{%%k}jc=6*g@X>A(-`v29x-8v(l)v_{ zWGj0HZPY`DMLd#0B@ozm43>vWBVBsIb%+b(q%PQ5Sg)Zg<yz*7gGw*Z2m;79pKc2e z*x=cB(2VD8O;C+eBJb1r|HXWe9(ZYqSRQPMvOE}eEFxrOW~ZP>@(qv98=#`kwNr-; z8W^6PK5U={7aOSlW0L^)au35hj1n*R{Qm#nvGMEzNH$R72XB{px#cft$Ik!P_Mmf` z3>l$q(3f)Jpf<9swm-Ou3mcB;y!T=e$ib}#O5cE%Y3uHUEYtP`&7k~$@rePV{r}5! z&??&A+5;|~-(D^e12u4;zqkUGeg0DF>;L~gy{3{$OrS|J&^j$plh^~kn6UIE%KXRb z9iTNX5PSJsR)Nm->qOnh!rxK`5{1qbcN_Tjrok%*&+ZsD0o3*SQ6K|vf>z)`52Oxb zgH#R=U-LjK2S>}}CFj7k!#kvv|DCM%J3zGqXkEXSPbaE!@R~VLbN@A1$5RhW$+8FF zc}^c__29wZnt`YuK>M0syu8f{+G+t>H+&Ja!P2AGbkBAs1`8I$(zhPT7d?7eCVBMo z&eR3<2zVO7gY6t1&4>PbG#`A^{7bOpbMr60l6NlMg&$lx!P|?w4ZEBftsK9UO1N|v z{(uU4^g1&^`>?Mqte8vHcEr47X7J!&e4$9%rMvJCrn2T|Ot1ModYwU|>!2Lp{EV^n zTZt01RA{iUEfsTYJO?U{V0xRu?Q=%Q#(!K43JfLMj*b6>7!(-zTVI3A4e-=AWVRD@ zF49gW1_cIJ!vilN1MuKpm`AVaO&`#C4u8Roq>@DFYzu6%^6)mwCo3yJ7X11HwxD#r z;eiGV%~AnK@&>#A<vQ@(JGyI`859^GlRhur-hoft8?FEU-=!NI?9g!;mu^tI3e>`K zv9ti4U<*Dz4eiXV!;r;@{4L4g(NkEn%BNeyGa0;r9en85yBC{PA<ZfUP>Z<?qzO_` zfLhG3lOKJ$6<*6AHJahW=a3<@P7ZKG`5@>31lLXz9?#Ag9?*_^P?UOhhVX!j3LZ#N z0cur(`@Nl@IAj4w-9l_@$xzQ$R`ci;m6O6Zg6_CI`gH*G^ciiG@p#atH^=Q7uZ_@; zpK;t?4e1K>+8Tr-M$tccf->KW)nCE6wOe;p5fg)}#XsmMy6)m4$S6AWlw<IMK+n!Q zpi%VipuSO}FXI;<&?(-qQ)i&*3lg#L6OLoHfJV{7UOah(G>Q&79Ky2`X*v%+ioO<f zWW6TH0{AF8Bo#oa3s5c(#W=m-fHJt!<Zr1H1XUGBK@krry*#=lKqJ_oMt$eK7aNoz zNk9qIvMvT`f+T@%2GGfK@Qz>SKa}<8u;EjePD7v0hoJr2Nc{>IQ3h591qR>F6nwoU zN6TZSd5FWpK^=NnHOB&S2578g8|X-c&cmL`*FY`?&uhPX@lOfl;%_D36BiDG7DB>Z zjOYt^z)$sq)o7lbcR_9hCsfDdF1!r?859_xOG=0wN$53g+Qh{0f)V6ANV(p6{pbJx zuWLMD-L-cwCBRO;|H9)JC=-K+;{N^w)pVvWLO>Jsb3qF}JrL*e=72oVYx^h)Ww-@& z7-%eLxJ7F<xFX})1lr4Vm=S!|-M1I@AWdKwpjBjj?x3L;U&Lk=2H51}>uA{cO1CCz zI503U2>5oU@FL|}^br+kU(g4<mRQRj)DMIk3_kDEOBr0=@wbS92IFDrjKL$>_W-D1 z@aV4L5O}flCnzNz0X1hKCOvQi4K9EU2UYW+Gu4<ur(gOWc<~c7g4TMVMBO9V^#G{F z*6Dfx>H*L^1ZWRSw+kZ&tjZDd=xznAeDX;4;P7Df5I}8Q`6L@aOV4h|q4gjC{r?Y7 zdazB}eUR0X{4H<5%N!6BloHV8WY8Q_rvOcVpd8}}(u5`bp^Rd^?Ed%vf5TqTl^6^q z?kFvf*RG%l<MrBr2nj|82Ny?BH$~t@GN_HzdZ0wuqu2JZD-#2_r(<~FMfPV<`Q*{r z3NjMOyl#j<FYm2<ka;Etp;tCQo2cOP4nSvl@N@X|f)4<E!3eQ|zhxSDHNnx>#n4dp z>DC0zETJbA0T*A;S^1#!0xH=tN8La%3z<U0ZE24fC?P<G4CHvg!yBNY3=&PC1}*rO z5^!w^IyKhC@FcWV@R|p7L}BwmMn}tYCA!}n7+Ff*`B-LffR4+`5GZ>DIn}VigW09Q zL)oRl!`a2BJ0ajDs7VAl+ZuE_B5Yk$uc;wu$c<ATd|G7-Xz`?PZ|xuOXccHG6e`aS zmiOg%dGFhs`rna%TZ{_0_XQf*0`+`7dTsxM#?L|_t0qhCw%jhc32oK8SQ_xRo&go# z@JkUuBR;TlP6ncdzvUcg@E0_v0=^0X)H#71v;0Cx4xHBbTT;OJ3fzc!aTc^<5|ZXz zx(#0XfVL?$AN>zXp1r0&otYS3to{PdjwK~%+haXDSs$!rVkn7+MlvWXp)9s@>kj<z z{Sf#J_&1G@nm~Q!Um&vd9(dyM2592(vQIbicG(V)g;rlcF$$h_>~}T%=Gj~KW|t_a zRn}`d4<vs`797Z}o}dwg=3}oxtLA%6eL+(HKZD)M-=YPc%Lg|Q!0oZXPF~}+pmpq@ z!P|nSLJ|h#=z3o0t|a~z(4idNMIXK&13UUf<1>(R8~=gG(pw&&W9+Yhj<G-Q(T&{m zyX?fo@S^oI1JW++mX~WlHwhTRmV<hLMgzec86iu|Iys={sDhS+c7m%BXzg*Fg^PiO z!NsRD2Xt&w3XWrwKpCUgGzw(#oljsdgVtq(x^SSh4_=95)5+?%hS+7oNV}KO=7GOC zGBLcU_ymuUIiO{o4R#v*t?_^U|3_&bfx2+6UFho-Yy|POwl+t<4uv+h3{eaNHMTZu zytY7ZYi+K6t>W2v?4=KA;vID4-#%YNi>tu_+~Tr)11iycx@|2$Gb|SHbqj`>pcWVW z$Un#~_RbHW^;361cS=CEVEp&Mxdj81Z+cl@tpcx~D!z%-;F`pNb$NF+2LpqnCdly8 z#gJzEagScpb_XVg7b+j&@dj#ABgb3kDq`aeX|WsHP77s_9S1&u;tf0l0A5eu#iC+k zU7CuhH2>Oz_J2TCK}rE|;<?+&$^vqP8Lqr7i+v6P?1<O%K_f%p`T<&X+VGZ&fku03 zR2aGVr+}(pSVs+7wxKWNh=)(+gNnF=kZT>RAd5EnTYi9cOo5L60<Sd!kMAOHiPVw= zm2+?TTR=xAg6h?mpml{X-@Wt%cbTA#QOlRXkc{fczb%##w2c?3C@u*Coeluf+<Kto zUd!#0TaaS$ksTAmi<I{`<L~4O%HyvNWCz20%=nAuZ|x#-y`nE@voFp|WXL~d)7uM? z<#=tuS?<^iXqG#g3R)@zU$3|?6(!4omkNRM8)!Wt;q{6K`8hm#S*w<V^BeOur2OUu z8F5D}6N0Z-GysiYYl6%NuU7;O*Ld`rir6wSyx8~_5}dH4(0ZWaZYQhsawdin3KF`F zEq^N~sA~-0!*|GriQ$FITb$`*<uc0CM;yqG2X7!AYCQni%-CR~QqA95gRL8kwwzVN zqgQknsI`PAdAytfIus0YVNeOS!nqo04Ge5kF=U%Tr=SlrcnKC#laGa;frA0m;sfn0 zPC?pP{F3t<s3t)_Mh1GM>pgcwVq0JZPHd6SpouLa86~j=CR3i+c$b0`+qBC_iOmcY zyU4w1cw&=b29@vViEX(RDE?pLj{hZ;$G<bkjt8$$;~%4Zmj$WX1yzNb>{URHpd{II zl?d7JmI^sGfJ*gJHqYiGOs`o$RSUdK2MsPk>NW7B-TTj=voOHZv5-ULq2+p#Fm!Z5 z0o3^HMCmI*=k4Buwz>xigUa>)plcNGzYqm!g82w#-VQdL06CbyQ}AWu=l}mfO$JHu zg0Wt3HwU!n613w4%KOR8-^vIY1V&z_f5igSokHsWg64>JFdX3Lcp(m2chP#F#M`IW zbgc!bD;|3QIuQ)&Za{mgjXa>~3>I*Q6?w@%+#Jx7{WG8jY3l*dnGld(=kW&6I3?(i zHdn(ZFKcK2{|_G#`1hI<%I>_k3#8)3zIUME09#RSP><h<fq`Kki16q<^wM$S|Nn;n zU+}(SVCXz-`2WR`mmrm<>s>&e+6o#t@Byu_din7dSl!c?P<3-4>e|uNf!AU22!RH6 zZJWG6wt-f1>;n;?<s9Jgg;TS@ZUqgPcHVm#4capE|3weXU}uQIde{u!EC@DO!WCpN ze1X@?1#2PeLp)xB$3H;JGXK5+d*g*O$Q$VEb8-Y3865fd@qjMf(*!$`6|_PJM7+#d z2Xb8PfzEp`4}w<-z?WgYdI2&Wa{eX6^e(XJut0*X7vqCCQU+`=BWN)ThyX3ay4wH$ zfApmP|D`4)Xb_v8_z2W~5WQ~6|Nmc>{QnQ5L2P>B2T=P#^oOPY|C=rQ{~tz!*!09o z%OLiH=&*JF|M#!^|Nqar|No=c{{Qc`?*IS#b^rgrS@-|H#`^#NL)QQQZ?x|J|Lk@D z|KC{m|9`^T|NleQ{{R1A)Bpb$w;*T`o1R!^GsJ!n{b1Yw|8KYb|9=2V!}uWj&7uGQ zCmsI(A4Y@N^u%?CA@+mly@&q)Z#nY+Ka2*k>4^)DK<o$675o1G4>|DvKa2*k>4_Z< zK<o$6Tqpkj4><AvKa2*k>4|Ni_Je4f)BpcBo&NtHMuXV&#CcHrLA2@l|NpDc|Njr8 zL2P>Bbg2Cx`t{TQ|4p9#{|}=<Y<gn(XAt{A^x1d+|4YCB{~tz!*!0Bzq4tC5Js<!7 zXZrO2Ka2*k>51P#?FZ5Rpa1`V{Q3WX7!6|66Q76L526vbSEWq=-QSJ4FT44Tg=^>W z&eM+k+m3&~=%RSg)$ncOPX<s6kl*R73;(vqE}%OuU4Hs>f{w8bz2MpT4Se_I&lf*I zYbZezSN}nqEINNRK4Ji^7~<ddz4<qzPiN_g65ZC@r4g=%ZxPn>%fk-a0xeP44l$wh z%}dakdydWj8Tng4(~PdI|M^?Rz^hVyFMx(e`8(Evd7%e7xjZ|MzU*aUU}$^{vd*L1 z_kv5ep+~nT2S~q1r|$;-)^5<wuHH%k(278L&<HK~a@6-8-K8g9ID;3RLWbj4g9fWx zzm?oEJOEmoCde=E0y=1g5p;g5qvf%Z<K2NDS}&Kpby0leV)>}_sgGsmkMjFImYQX^ zJi2`kfL7hQUhqja0G&G6@e_2HS?34PDiV)w-wi(9IgA3JD;-`pc9!nx4BY`*Y~a!9 zyTaA*?Q3;Jh)e(<xClA#1mwQOphFozp}G?4xci_9fzTDNg`xK+f_etchZI1Q0>`_H zKD2%Yx$l{a<+IYK;1S^apb_9(9^Ig@a&7(Z((Sr~za<hhG6)GOSI`lOo{XS-wmrH- zS9I6zc`bu*PTB;7`TQ-Q)$QFyA6#0GmAp{=XZf%65!i}5AS<qWBp-x%)}z~n5j5@p z|0U@7K%ef~3y$6LpwO2D-@nTUo+keG;y4><0U;>tON?7@S3LFTc0JH3;n*z?S{V+S zk^t%S>~`ny=)4J<N%QH>;Q)uBPj~5w*V|kT-@XK|CF}g+*m(^S^OmlLZ$U>ZCV(Qu z1$6KqC_R8qTP(@&>2~Ds?DY^ZyabAQ*UpbFosVDhfKC`_KB(YmdA-D~yYhoe>-my5 ziuWz=mp%h8=zRcM(0kh>`4Gr&p4~1CV1K=40T}@uA${?m71AMWZTkQJ|7&K?&Z9n^ zFFcx$SRmcD2uk+g^aRxe(*NQZL}Tge*XQ8(J7eU>&eAoWo&P<$S&f20^IG65?0tIk z6+F7@1w499-`j$E7QC#W)80E@A+1q;p#)k>3radm!Gll7JbGnsXn`)qsomhynY-h) z3)nqA-MKqFdS&-%fmRD0V}wjj%mNvTVwz7c?;_CU7-xTjJE!24$i5(RLHnUQ@4Ya+ z4H-U2@a#MSy5_F+K!sT+YyK1_hLQl!Zhs9>atB?A47u;~!2c2}>?5*>J<y%^UOc!3 zA1_!9yRR3v54xJaWe(_Yq+0$~&;g&vT#qmucRc_Z(?>pyr(E8nSCk)gZ76)`2%;2p zG4<x?*Z$Dqd|9Xo@PT~SLkwxhT@O^(Zmxc<1={m(%WQ@i+BvEL9@?q9f_xVs=)Pyr z&5FADfuMmN*jY-t8G$GRJ)km;;Wb|xIQ*e^_C$mCLca&^g$CV7=(_`L-Gs_y@IcSn zgYbc#5*6r@3D*N9JFQ#~mWn{{=-Kj`7m<Tq4WIaQ*KUAD^K}hSG#~j7nvm(d_oDtL zIDnxM_N<e2-y|l65*v7gai>iH6@JYJ{+FoZim%t}5ti}GGdMQbsMzwioB>^nT)T#W zzXf#cx@WS#fn&G3g5|-|D9_HbF1<S$z?B4S`k9{zl7m{}AVXIk-L4xvx*arpI$wiU zjl<UWJ@@E5_To1qY<=JR7yB7OSKa0A0D0iGuy1#|hDWdLXLTlq*D|1Z0H^FH>Y!}n zyTPY3QNyLP(!jIxyl1Z;_`FZ}T5xLyh6dlx5-e-MLH8Uw9%EBzs9nQQqWIDa<?csN ze1jx6DA*|Qx9<G|x=j?4g*xxO_<S9bBjP~E`F6X4E<!TzWR0B&T4e<fU@mz0BIgHO z(_5YQUd+7?iZSqH<0^3a0nKl9vDsMjw^o3vTd+m^Eoq?L5wL8Ba{oCrKKWam|NsC0 z&G9p1$y@OB=5x^W=A)NCAX_$Hq%wdulDY11>DB-xAK%V&jc(T!j-BoXKAn$Ix6>VG z5e9{yPiKiRhexN2FzB8UVaTedgN&eb=h*4X00}0KUfEDJCI(Pw^@9o$@BymeQ%;Y9 zM$20dlq4WR%d(SIe*#hE2cGcCy#^1j6=>lFS|RP5oUh>79k1cr`nJT>qt{u$rSs)$ zQAC0UrGN1G+$G}Q96p2hpcecnf9+#wQ1<NQ!C(LXPjI!&H{fr51zuDEy@0271#FVr z{68cOczSjof$rS}O>l$C%m1K5bKml}_Jed9zI{3E-~a!Hw>`R9y?sIHmBGW>^+Ks{ z=MA)a1a$v~OXokxXj%cN(CxK7ZqCH88#Imv8%#4i@Z#xt(9#0de?D--N;bc+0Ue>x z3mQ{;z3<nr|Nr%V|Njr8L2P<rh2IeSK{RrBqt|~DzMbb>JC8edp7HFw>e2bxqqFvc zN9Xq!2_V08x}Nap2Ju0+9^CWk%)Q{#`O3BPsY~ZW*Umq#oj-g#zx#H6d?5}xnYQ&n zNwr6J><Q1#d!W@Fuhqcm!H4k!C`!P$Ux!|B>3r$h`2chU`I9f8gS!uuc<^uYKsmhO z9B6CNNzm4!Bao%%MSJ+S@kk)=K3WY@vJ9kTAy^4#*-Y?|Z}Sleq$UBR{73a~<C_(r zl>^<ZuHKM{>vX-)ydN~c%F5rm6|@Ssv$n&dJ6^!!xGQM7gTbTM^r;f)YO(t-(jW^v z`CATv$EA;Zbh~!AbZ02Ig3cxeof!fuQ9U}ri)4Lz69im4-@R4_wKqMRk269Reauo~ zVt66<7nEf{x2*BElrn;n>9>-bpeFId*L-Oc;465Kl^lnx-~}H?0lBlSleM-7R4;-S z?+QWu2UmZz!~|4@fS2%swLAr#VDZ3X2B>A_(cKGLsN&OI18OB7|L@xQ?q%x#|Nqk_ zfUkIa#{k-VQ4czK<(DE8!;9mWAo(iEr@OSnvD;6f^<;&4Coe+}q__yv@Mu0H@R}D? zK0_BvlvqNR#Pfg-(RKo#HO>S&YaDrD#C(v^IS`{uS3=v@h6lPh8h-MYu!61tRd(t8 zsd=#1@qce1Q|keK&kN0u{(QgH%Oco(;J?R=v}PCA8H|X~^Z}W7;Ws=qTeJTC|NmOm zr&rZTk%<9nK2*6+=d%|};Yv$i@^5#YXLvHr+I0s1{DZwbp8VTg=XmsraC-EX&hX&; zlxEGuzddvo_%;)Mzk?pVJPaP3AJeP_!PD6M{xA{#?VM??C+l*3x>GwGJ6lvho0M7) zfS36kZ>{<N|37GZ8o$e-<{wN&xxEGd(=2^TXYjjzX#T-emeCvVFU`^?bOyi6r{*8b zB@w*=e-V7vB9GpHKXCqm-)WXUt~2;ukG<B~0XpTyqtkT)*w*6^TR|-|h?OAO*Zgor zuUR}gODA|H`>1euFy3@L?xK<bQtN7X33O&|Zvd!GZG<Qxy214vC{=a$di?+Y-=)*1 zcZp}`ZO}4(P^D*in!h=TnSr7C2NQp9GcyB2Cs>2W43AzGhvP1-pauF2E}bE*D;#&) zJMlAkSf2LiYz3KAyu_oIrF8*l2|42nk51PHP}K@n<Jo!IquX^tXDjF$U{Hrm2;m;^ z`AW@)8M~NmI7`0SD3rYGJoxS6w}bViY&QQ(pT53t!^PiX4my;Sm%l|Hbb?s7i;99P zs9nwk%BS5vDjFWWfd($19pKkM8w-yqG#~$8V%F_;;roS^j0y}4rLR3K<8G8c^{|Y4 zP<FrDO~9kqPr=&lg9pFsIgf71E@sEQptW5u4}yAi%?AZsI*)mDo`1~;F5f(wk1I4E z`(GmV-Teb-E(nzV<H6})zU=YqbeGO!==I$pu==X*stezbGblJPl)Pzvu2Aya!!qhd z`9lxOs0U@YyPX8Aoj!Q<Iw^SYyB_lCHUKs4TR_pq04iD?`M0szaF%?rQ7HNF?ZS%s zl2;zxt_{aQZ9WE9%Mg`{5=Y<e8kK^VH$XGCwF?+Z#SjW!b2Zm4VBl}jWMp7)v0e)b za{iujP&s7z(v{!;EZBh3{XU&@Bf!xQE;w9!7cp>vF1lZu0%`>ve8S?H{Kuzrs>T2R z|6gqU4lXVDTlzo&4qAxe+Tqb%P~g+O6eRDNe8uD7BNk8z*tyjKq+!N)P^tH%L>#nS z4kQr%9dw&>YKLogh)Tw5c2~noprq{rE408a@$IZpDd=tm+u!M;QsD{iGqQMg%CP%( zmaubx^*S~mVsz~cQOSV!_xQItGlEXnu;DFXvEeHHV8dI&W5dPYy5{fy|B&+QFeCpq zW*gp;uQpsIA3<pneDQ~m<!%0^_P_uCzkCJi=fT4lx%Upye^9}(8Fc#$=wkM6#}D5x ztOO-IQ2#daNBINLK8o9r&<ABqpKi(H;A9TsysY^Ln$Wrp$#Y0KtZCk#|NmPL)G0Z3 z9`x#E=>^5SM=y_q;eiRwHLMGmN~*!vcv&7S{a|?ewVOw;?QspztfOe3G!w&aMh*ss zeIVkssz-0_A(zf)kmk%nP|@3K`$G@2IU{x)+?>&Ofz*oDt{3=QH!?CXbl&i2JOZjR zk?K{KZWq=iE}aLoT_?=^z86%;wO-=y1Kl<4nG7k5T==)gxX$=?h_RHd^LppS*LuBG z|3MkN*MqUQfTi^$zvsv1XMeumWBdRrXF6RccqE@lbFqx^ozZ!b-{pMsFUHPOAoV42 z&BvKKPaz5eet8BYGkW9yHb48L`Ozc!Bt$pA>#g4KKg|ajzu#j#)_jZ=W)n!sN01Uw z*?YP9_`l8*&HtI|w>WBEa6~FTL1R7)p3OfQeLFAucD~~8TL5Z1c3$@F4gBxYc>z?w zxpbGbF6nk@UEykZ%$48&gJ<VaN6o`^r+kzDdLDev;>%p4QegP)HB$N2e2me>@?Oab z&u($g?syK+)h;fb-(L&B`rF5t>OsZP4e+*@&WjT~I#2O$W3=Hcd1j+f@(5PeNqY2p z{kN$vdHDJ~a%g~#ck8_6(RzC~D20^nem(KUj?c(FX2|$saO)-hmiY_}4Bc$azZm&j zCNeNESf1c-1JzcJofjP&AA-jA__y8i=q}^%NxtcM@G+}z@&%99|0NbajQ2ph%{&i2 zVg*(B3@(fZeHgD<9xM*(4*THPda>l4;w{Ttr7t`z>wc6!^02fkyW4ppI`*&+<2|q* zq|OnzyoBo)>J|fOe-GCF60BzjsF;n8J&f=o#Qn(Qry7vv8Z&>Z90#c8|8u+@)O-Wg zvmU+f3Lc%V2fE!Ae7fs3Kve)pjSK&_bB>KCL8~@FgMa%OSs1`2rB5%bkR%g>XY#eq zi{LE)2OqMgO>q3?BF@ZGD&g3C40LCl0;oUdV)>!;`O7Qp3=C-#K;wBGC)pVoe7ke_ zIXt^V_ys_n8$Hk7ask8JuerhZBpg$)yisEI&FwRIdv4y3@|QlAdSy>qZ}Yc$vNABd zmNvZY)A<h^9^c%U1xlZJG#^uFKFnx&qx8LRuL!?mw+a9EW8mt<2z>Pg=(Z@(L8#Cp z8bHMj8|cP3&<5bQ;BnIDpmEYiFQ2k7Fu1gygWNag@a-5Qe=F!-S)b0(3l1&c_&cV7 zE)o59jETQR8l<w*_k>61W#7)@p1rl8*54m-CWaR$Pe9A_2h0o%zM$J*Z@F~)o&XK` zfkuZb9Qj)=fyNQKOH?#KY2&p7BElwseRA+Wf6IDi28Qo$AHYjzUwMG`CO!e}O}y{X z?S`~XvKwS!1jIswRi%>+54_9+t=I4Ti7*=yUXF|c{H^~$i}soif)4R4ecM^O#iKKH z2gr{uoxUePUh(X8WrwtnJvt9J)H5o0^wu+a^g1w>yx#>{gyGY9>_yi{28PxHr6$N0 zI50F+gA_+ImV5)Phhl(Sk@H!MiQz>QSUrDBF%zh)4Bg>rd9_5qNAs0W=lgy23=9k} zj(=ca00$Iu5?e3E#PHG^6p)~9LLul#?OuO@&cm;Tq3#3u;_!d|mdJnL@d5$RctPfm za!7oBKgPfyz`)-MI_?+}n>>sR4BwA2$bioE_yHc|@jU@@i6+D)zMa>>j`8U{{KEVL zDEfYRcHZ!SyU4NI{QEHm7Le`>;Pui+L2J7~LFdtHDhcxD>0_X}IP`)~FY9MfCI*C7 z@R;OmkS1^yf1n#Q<YLpw`l=qZka`-(XW+&bXwf&~PPS6iv%o8Vls^IWOYZxiTt7Wu zl!@U*;4x5!26c=OmiqLv=87^g_;iO}DD8SF%Yt0EfztzM%-@lJn=eDdPlb|C4L><c z-gch)cIn%p`jRINKdnoxK_#x?NyqMR(Bg9i2ZmCi*9xA^#}yDFB?8Tl7)!W)E%Ser zv-(=<m$Nq?WVAe3bhGgr0|Nt#W2ezeP|L=r^TlhS3H;k`d+;y5Un~l;7_@l=WcmNz zNXCZWie--)e%6;f>*9iN%Q>Nni&z_e)|aw?c1U_!Ugd9b05v2v5BYSyheelf=TVo= z(=S@zftH@!^zHoR+xY?!2ru~=85p{Kw={z8>SFQecD>Na0V<zBtHlpKVD)4??%Vkb zBjuTjFfqKm%D}+TdC;fx_cv!|0Z6OIqxmrCMzqqmFQ5Ge9SVWScA%aZ7pN!3TPg;2 zXeVf92a>}7GcYi`&UWnfQBi0;SrX*g9RtezhXp#%d34?fHLD@bV3}|3pIJ&idRV%H z_ad{GJ$t<sYGH|NcQI%!J*3I|4BX^(2A#HR$y|2lbw4N(%Rmw_I0gH59tQ<U(OYPc z{6K^UC^a}X6fv`a0>Kf~-Ul^zHC#ZatLlPoFxG_KUH%3%v(|-j*#z1R*QXd67<Pm9 z0fTBc7X}8<mFS@Mq9gw{ca&2Pp4q6BJhF)|xd%Favg`(^IooUcPKb%&#muAd9CJ_z zBgbTdZrkq72i;OuBH+{cAM81g&RZ{LyaDYjeh<304P;92VQ{I7<jY>xA|Xi9=WhX> z@B}*UvfCAs?@T&bi)xq{O0qoRc@A=L+JXNizMydc@MSpQaRA8B0cw8J2if@W5Z3(m zR}f-p>7<vS3(3F(1WQ2MuJMK=sCtEjBdCq@pZFl$F3802BJ2n}2<rsVg0Msjv|(8l zIp|_v!<GA^D0gf~VtfqB2`@pHb$ImJu9pS3i^~L%+r@?lUa0P2V0g&@zB>`rP5@ol z<!boW5i~2t<bz!4d~;-GDis2?0zf@cN6Vu{Z(o9j1wf-d9qU2;&CYk82cNNe_llT1 zcgvW&7@ltYy^NuOfxiWGs%7JE4h04V{#H-`dUS?f@a|<X_h>#K;N4wgF5uDY|KIS^ zYjH#kls3Vm*F?~x(*V>Q<liPE*zh~P<PGRtfae~qmr4XY7_WPLzXeW0FCtzsFhGst z@aVR95d`XtA8!7^;n5v>p@ggR1~2G{!A>WI#?zpa=OBK2d7Y7g!MoeVoC9=Tk2mN7 zu44@KyO%OFFuVk9fB;Dec=USw2T2JWbNFB1_#1Q)8-MFOP@#q70}t@vpoK?w>46vS ztPBjhLCU~&L>40hLqo;?dWenutqGt^*j=Nd&<bi|Y~cr07vPOWorioGzk4<x=kV!u z_>V})NKHo2`0zncf1MwE^JjP9hwqoZAA<C+d_bqaKk%_+EW7R7dCjBKb%#fH<qwbM z<Nsf<9{}ei{+9cobPJADSnI{7+jU2U18A)yuVE!9ZI~+aL#7NuKn2<%@VN?yKm}xp z6=X<@1JtEQ8Pa;q?$K-dh7YuD^1y$O&f_np?+4ol@o?#s*M%P7_7W&Z{`asv0g8~) zMBi?6Q0LvZ^E;?)`3EX!KxZsMJEpHan-4H{xidn!{63w>UtBl<%Af~8GKRN(EsvK7 z`)YoG<pZD2LoY%>OBJEs3%$@O1x}*y^3XH+st2fP`;gU#@u%el{&s`Epzh{#!*4IX zJ^KH@^Kk2d5<&0?xCT=94qTqL9w<o!M+j(Z|2gCl3~>AI5ToUxVux>Tj4UPZTQ60Z zfr9_L$HC{U-7=Qn4!e{HdoZ4F1YOs5pi{oVU)iC--`S!05Hs{dd5`8}36>Yi4}j_r z0pH{j6%Man8)Hz!dGwl2<z-@c;l2+Xo+UD%z&*7el$;nDN;E)oyP!6Lwu_3uYkkjd z5zxZU9$qGf-RhvFt{~#2!k_>DeHcF<a|Rue&CJUM@(u^+oNUKV7ZncB@RtRsuLSD% zf%*-g`<+3Pb<IbR!r<lcm!QD`kURr;{5UMwqxp@1XXn2L+w4jvP~#~Hl*VoC%E27a zE<DiLWT1vh=l2(#pws|bAnVb3lD}0Sly7=XX9zPffDWn1fk^IfU|?_n%Y*86k6u%A z5s17GLY@IE{~k18-D~=#0wS-2kY@tRpNGhcLiO`N<-r{ykp1904th<eltJ{r0R?U6 zLD2Qr5dHlS{p$oE@@Js(pwS_Z){~{h9=)br@({TVP&rVu6C@Yz(Q8@=m74;UYhYk- z0m)f=^qR&%<tm_Z3J^b+%6s&h`hu#q&hIZ`Kys}Ic7j^vJ3tEfT@HFQ9}$RljEg<& z)9d;!?YJv=Q8VwSa&UI#69!SDQsD4B{#p-Fc=ChRlYo@RGx&5K_vm$Fgk1maVR_A? z^B8}N&%giwyX3wdzF&H)i@oJQ$z9O+O$TWC2_yeDcSg{~0xbth-@QKS(Odf_?YQe3 z(9&Yw=u)tKTR}B@=fBrlnD)JiX8>K7(0mALAL!(<w}1ct?~(%9b+3!9<v__pSbra8 zpBtk`^D#z<eF!7b`nv(1o!>k=|GXANsBkrW0$x<#E4x_&6f4g?I`6$W{REs}_*+1= zuxqy+Xo*G|h;Vi3wDl@sVt|P8w}4tZp51;NpydLfbJn2qqlf;Nq=Om_pvi-G;B^_W zgVs=P)#$wUBJl|WgX11h4gy`gHs`f5C{KbWcslRBaD}*{^bKqcfpw|E%N&#$-Lwgy z^$XyA3H&XAko5&EZlL{3u2&e2yIuepjCzw+xt>R_s5K}LA=Vdwl|t7S#3O<R9RJYe z25QG3211t`Si;8xkGWm~tvk2?UU#4bUU$$fidc8x%K@5SdBL`YfdSG#1I=^m{x?8b zZ}7u_;Ccgp<n;y@d^$g(EjQR&1YT}nw-CPEfWJlYA873d_>>0M3nkmETrZXiLYEwD z1jYGFcF=efB>rFi{tH$N+FA#ioZbSO`d|hvM(BLt(R_phsX$MgaPHs#|Df~yU^IwL zPt5ZlVn2umm#5*5VUD4WA)r##0zRJ82pUu9{D*Zs2h>J83R(`+9j4)G_{5|0qO0M5 z!*BfZ4BwoXSwQWxLkf<dTgNPq6uo^J1KPva`h>p&w3*MNvvh|`C-^3GNZYFPgim*l zAcseHjG#cbh~T$FO(h|qu}Z1$hd?7P{H+0u3=E!@clldEchtOe0=3^kefLM8f)doZ zMVr3{k3y6j`sVmq0Ca|OCV2i@v+UXTLy*2Z=z8n#haf%nub^AM4>5o)=xR|1C2H`6 z(hJ#`7+xrEhvs2kka)N60q|IhYbS440jR+QIzHXA8#?ob)MA9rzd=@nd~^E9Sn?LU zXzV#?(byx8ZYEG46_!bRP0c`7?byb^03I;}<>4tW=P`g2J7j+0n<J>72pXmbwRxKl z{4ag`^6|g_|G`_XA^ROQKxTZ|26nDTx9bj1e%GU*=9dq@>u*oXyCuRtny+DlBA|}W z`um^(6W0?B1)v_=5k|*uHwDjbKMl|1FR(i@7*AP#@aQhx!QZX}It*?$C<r<ads^Nt z<$Nt=cpICkkx)}XJN5Zn%t3Jm->7cN%Ea)33F1Qj7HN=N=h4^7pz<EnZHIV60Ho;d zR!|cQv__7<1#+r0w1aiMlT|REiJ`<A<Wf*^37_wQ#5dw#O7QU83()Y}W1sHKAFt<v zN9>k?TAp35D3>Clbv>IIU|mn7@nVqspq(dI{QXZ*&#{VyiQ$DLB;}M!K>QU25@Usk z@wb5ToCoOGL1yqte~_UnP^?JaV_<ms4!rfn^+ZDg<KvexAWpAsjR3g9b7p2@aNG-; zMgY$x7#?`>aUBE0OBK*gdeE9iGgu#67c?H$S-Qgmv{bFv^a?W*!;7{p;M7rK;L&;5 zr&sj=GpI|MdjPb43A}=)QW|`wRp))sylf;$G33ONhlaObvvsmg&jnR&wI_T#zxwnh zGkSc#?7<wn16;m4@^5od`RCbu1l+}hww7P{bl2{1?J{>f#txdXpUcd|u!{{ecG3C# zh4&T)2G<UAkJbaeo$q|QYftdEYy;=y157^Mxd)KP>OtuPlvU7|B)kT#H+TkGZ}1Sh z-r%N3ujvIQCI(RZG;1>hgJZWZL+i;(4WC}!olGFV)*gV)KZDGJ9xmeuR><Favf@=I z?-tORvAw20nV1-Mff}J8lYZO*jYxvrSSsdYow@@wUho{;*#kvb#vM?5#I%HoiNUw? zFX;HS51YWD?9*L)pu`js(qT+Y49GPigJU;)>j7|ZLk@U(_F@-E7bLhJL4sQ&hl#<n z^Nw%ldtc2rKE1kGOib|gbD*>cs(e86Xf|9W&NjRy_6^p`rO&|u3_dgF-3xoL!%Hvo z%QJw~HdHfmdGtmzmVWZF{0;I1WYEK>^U;gNw;32byX!zJE4e`d)yum&8+1t9TaYJw zI)8!Z*If+{yf|_Rygr1#WdW!xXg<K{(Q6vV2nq2Y8^QiAF@*TposkJtSwqS%h<}wq z&IUW~*^5&k)o}kdSZkDsy!2*dVCZBu$Yx?_u-4#jwLxuxxO7<~uJZKhEZtCU=+Vns z1#(C-PlpHN!T%4T%?nT?#Bp1+;Q?2R@BC8^l)CwJ>)z5}VtDNWX@~GPgNEs$ia~7= z$88!g#U+<tiz8Yij@zo?61#l5b$c|J7<_tdz~fPl;7hlBdQ&fWblyPjjPc7exHA58 zZT(i_;ludDqn9@>3lu^=DjY7IHY%Xvpz|2$cJFTA1CaKItKrEPr)EGxPYZNMr0<22 zy;i;#OJ!X(LFSb100*4qVV~~O4Uo&=OZi_bfCNDeq0$YmhHpJIZ+LXxhbGHIFD~9> zU~oL{2JKa~fjUi~^z4GMMAxI&R*?r>w7mGo$lz-D4OXtqTm{;{3kgB~mR+C<;5VqH z(_s$E6en*mF!0MWfYxyx`v3nwj0UmkiLd?p{~u%@h(=^EwD!73;~NeZ28PbdkaoLA zH|t$B$c$>I>xJX3B7gpahEW+jdiMtW{r`U-3nK%=i?7!i7(nGSsGrt3*9O#m?cB=o z=l_4--VzlBpU&?uB*A9}9p@Kd{q&EKfnT$=;NSoM`~s|3AUx3C%`OHTt`Zg--qJ$f z-W(MRP~k9n1L)Z4!=R{xUb_KK5BI=1>_w^&sHiD5_37OD;P?OkE?vgQm>D1nd^-1n zJJHb0_`*tvfx)H2xD|9p63AU8RgRrUK&v!BEwR@w9=*0+T;OOG{0oZKw~l*|D~&xX zKvxI+?*{v<dn+giKnKFH?gR~f{_ni^;`a_v>wtBODkPx5Q_qb&ptS}MJQ|OHf)lAN z>(jYb0vtk1U;O_6zq=I_T&)NA`&ii-7&;Glbhh634LZ|mDJV<~Z@U`)_vzfL@#p`4 z<ggc+-CT1~fq}mdbjYhm=Um8=%&8y1I(06BZc%VGeBx^O4YWR{)!@(n|F7i`G49BC z4^+f?Cc83tS{~u=1+5bE>@I!b(+fKY|Apjru-{(DUT0uPJKn+ya*RHMXSeGQuWpkE zptyN@4XnbW*VO1QBg2aoTR@v_TMz7DU|?Y2_kfNqtN&$W@PVWhpUz(|CU0e6XaJ`h z2L2Y%+Dgy}boW+}`#gH5g2MF$1E|vP1Uva<$bV4yfP_7|dqL6W(GB*ZN3YDq<{wNo z2_Btu89*y)yJKHKCb`c2VPtp_ehri^pq}AxF$I-*o%i?YgXXugA!|r|dY3x<`Tw84 z#Tg{od;ol;Lg%rUR-iQ`hHqUBzk#p*Y5u|J(+iFW{?@~w3bz~VFpq8l(0EI)>H5E* z+hksxxC$D|T?<Naj$N*xWXxg1%ipRG+EER0At<>VTMJLjKHYmENdR<Hhfn7tNP3>i z&%gk>jqnaT1A|MKGB`0q6ug2cDB)*daOqHPJ>b*5793{X;E3mMoef&M-rWic3y*FA z-)>h1sIwu?bok52;L`c=WdsY@ok&_ex<xKR)PzFR7#?`>>k0$IOA}BNX-9HtQBi7M zNxVmAD=4^*w|e~f|34+Ohym&VXfVDO0-4cy@5SRQa0@^&+iU9c8*~@cBf|qPmRtd4 zk-4BS>SDIxDglR(0QdrCh+jJIzgV&c)Q~*_N}E32&`bha?hdO{Ulj8}LI_lEgS*(r zSX4kc9<(IB^A;qK{P{p_B^woZDDk(}faVGXSbzNjmpq`P?6D&xKR-uHzna0Lvo#mA zf~6Z=U^sTM!`xN^3arlmFZkCWMH|df9`H*8A(r0ag*Z%+4H0#q4gPSK@8m^|I{wz@ z%nS_t0<1GZjuLFGhZKi3ARfGMjDzq%4)(!t-xcuG^8Xk4tBG)*71Vu=tT@~!iQztX z&;q%=pv(u#!5}yA_klWGhPNkpc8A;rU3KEoYx?RZI0qcN1d8~jpx6Z;q74f~eb5|t z=Ui~P)cO3y;Z;a(Malxu!W|NpeLRq`JO&z~<KL!@ln<a8B?nZrc4)UAfaY<JZm<pf zt&2dZ7PNXH8C*|!fZ71y)WzQeTD`|Fz&iUUBLlx+YZWB8n?XEyaHm3eAg}s#W8~&U zHc)x@{>A^5@I>m-Jr|UXA#F5xRD%vH17%}T76t}*B891e=Hyk}utdt=`WBK91QE8w zQfDn9bz(T@5;*I;e^IcKh#<A*h6HI7Ga~v?N){<@)a2;_D_I;t<s-agK`B*Ae}GFB zpI&g;V0hrg!3&@edhXG^6;xe$^iI9<`~UwJ`Wr#vbsSM`o&&XIL6KxV7gW<hi+282 z(Vw8vpkuGuTn)du8iE=JGLRsd0Ew)BKfu|y0m6F#;X#`bhafyq)E#e~|L_0*SOr^9 zAq7s5kRln>vZ(gy1XniD8WmJ38>|31?-*!S1DXnvWAz&(N&e;pg<q*6=qRvbY@h`d zKAqouI-!wymlG73YOM!KN*z0o_;iD7YiJ4i^7!}v{~bGzy!P<uwS5L^`}c~j{ldtA z+Q5ij09xhn_2sPZ|NndR+U|p>YsFA!ynulL(h7mv@-pu`xEUq?4IDNg|HBdwQqhKy zc&33j9=?BJyqpNn|Kk98p1)NAbU{Ivnj>Za+~I%*0Dmi}(c8Qi)TCj6IuV+c`1@vo z7H@%DJD`IZ|9}p?e&Wc#4N+gJFf%atcbhy1Ma#@(*poHrU=Bu5MV<k56{yMS!oLmD z^g~J0ZlJ}U9mb%n*acb}4m!)oaw(`8f#$MSP)megfb{|-5TQwG6NCo|QU$+IA0Gv9 zegvgI<XYa736$#Jzj(eBGc2J+95fYeWd{XhiKAoZ5tK-TC6z^>9SFU)2mUiMc=U?4 ze?m_srt=sWUd{!b7T#qCjs;jN;+seJR8UHXBvwCm&}xGtt{rx*2TG^$3$O|x`vhF= z)mno}mORi{Np~wqC%Ekmu9Cq$L`Y@xLWH1~9<hPE#NVn3P8;}KwSx`eD*o0#kW4)7 zE4VZUt$F7cV66l3G+V(Tj_$0-;MNzoj($<QgiuI(L!C7V)CI#ESfC0U)D-{)7Jq9h zBt$^%a*yr`PzPV@6Q}{pdny{#!GGe>Jr&f`0EaWEga7ytw1W?B95#bH__ZGy!9yzI ziy&Q84WC}qOpsW2FGw$FM6@y&KBDsN#e2~3dFz4F`-TTzM|<?z9{dZA{*Djm(Qh_~ zf#K!hzu*#L4n$Ehh9bc^uoB|s(!c-zzsNnsz|hId9nHkhV4+be54N{gRPPID=N341 zdUPHGd*_8Xqzwu3JLI??cF_5{!GHh%f6eq7<RjM(yB7?n7#LnNz1H&RJnq_|_TuA7 z28P#culb=WTso9r+&c-%xW`>PY*b!cg0NjWj9(mwF|}XpIf=Re$^kMzi8P)r;o12Q z)Nye=0VXeiHpc3~CZE9LZ+xvMOFTWh<2XR;785*rg9Qu^fR?^O#!o;ia+?n+SRO3N z0UdpL?fWqf1}28m7e1C*Kgu8ZSZbBseI1VI4oz^}4_dSd>M*rD;cq$4%)sz^4njI@ z0>~A&5CRjr!PkF-%q$TAk6j;Nv^-e)61?=Y`6tsZPyxm7bPD7)7m(Xr4gaI8FLVT5 zxzv0}!Nu}ti4W9;EFc#?1H146$c49GTfpagK&Oj$A~^tJKS)Q3Fvxz8c`lYeOP@nL z(t3cuV<l+K)B(`8ndaIP3?AJz5(c0(S04N>$2~e-FMzIteaFb~qG&z?gX0!P@REnS zpw(}kM;*J_S`Sn>cCucJU}6As_*+(kq@Yu7ulZp65&2stGchoL?_ES*zX?7W_vn95 z=nnc`(>9Pz9P>e$7Bom*I`?G}6LJ!m0NT9YVGUk~@(0v^?=@Wm(!vVK8T>6<z?t9m z1gMwn0&>d1C#;~|G@Y&|yt-?Y1<-sZ2GTrZ9yt5)w=jb=z`W(v$@)JW?yVD`L3Nn7 zQ061R<Kz4-%OUGi!TTTK>lrcpx9lw=!wZdhVE=(8c3KaVPJG!9sbW2PP2VyxF}$!` z0Ins#0S)RRd-R&V1Bojx08O6#VD#vAJ<)vQKWIUUXSW-N=fNkep4~Mp1|Gep?jYk& z&V_mhG@k=nu?>zTzfM-r>Fm&00$nBJ3G<FLQhEi=g18z!0k80XzyOW1SKu-KC!jI^ z`xsuj{DzU?Md(~)FZI3zO__T1ntFoVojD)s9#GtXTnmYaUelQ%ozgJZwt*^MSm4`q zvNnZ51HZ%{?owWGdV;vG#08w3-htf)n~%`+Y(`E_<{%q(&OvtD{MX8^hEEXrrR52K z>-FFN|AP`%=eghi|G!oN<!-~bt}RbWUV-o7@aVObV+75Ug0h3*ffqNXf%>Pe7d%im z;DN{M(dYX-I!}9ahA!~vEZyMIS-Zlcn{^jxLcbfl@7|-^pTi@W-J@5e!EwJhDCM>u zsMGT3<+<q5eDDU?JkQQEpz|I)EqPQ*q(B!2-2lx|y==W*>hoIKr&r}->+Mpf*MgqC zH7Xo0W*-Il^myy-Qho5=Pk*RYph2b<&|c#gokx&!6Tdt|ckG_l+a(v95C89s-Q&|; zx&Sl+7YsJ%=<A5I2|nF*9H7lkJPp3RD(5}ALpOMKikxpgz}U&=*y(a!!PW5pZjj4; zG=KY8zV_sIzw6y=W8(o@<ka~MG>kv>2m^yB<9+92E;bwto{aZAHSd;mc{cwSFFo$j zUAn>}IZmLP&GK;Rv|g6G;5|3JDh-~=e_nVW0jHXhFwf58z0IH_Lpoh|_;jbP@a!&8 z;ecGI!VC&I(C9&D>5LafM?eFMCHx-UwKHCPJq((pU{L|>ll19)2HH%+(e1m#vC~II z;H3^|PZsh{k#bPZ>a_)p2%&F$eKQ3V*Q~6d<q+Krpk1{5t=s<n{|{bA<bgC)2c7>w ziT?nP&d;8m|9pDWVaF@{cmrx9_+9`F<Zv)Ba5(M&`Rv89U7-HVagWvmB_g09XV3uY zLhyu+^~;%H`uPhcaG&QmxcLR@prm*<9|Mnk&YTU3b?{J#N3ZBYkPV&ReL9~(>gw#j zpiafn)&r%%pvm(N*Xxdukr0p)ct_L~qN>aFx?=~6ifilJQq`Bm;9#<i`3i1iD8FDt zn;*M488m7MI++4_`n}8dx?=~A3TP<%-$4e{`Z{38iE9iDFW!I-9nd@y;nB^y7Bu+= z$qbN*aaR7;pb!Rz&aDxe|Nleg#=$dNz4Zznz3v(wovi{|pnE*>6+AlkzR(2SeCn^^ z+WOX~bFYLJXq0XXXfoXJn+Is2?uoPs-5lR9em}^<(7;e41Um2>w1n2x@?FvMmu(=0 zt>5@NYC%2S&d(kPAG0>v$gwaqIFuTDbl1oUcr@3@aWItVdGxx0H*)hp&X)l%mNWb2 z@Yw;h@V5fI@Ye!#3DL)w!eFCbcyxY*H9@{PGCPz$0hOwteEZR(bL$C^qkB!~JZEHh zAqSnC$N()90nJ=hICrvk1~M^}M0#}hf_w@)R$Ks@zMv+RfbXw?E_%g%46-@MlAY7R z=>s(RJsY%C1#(PkOfUn(u~yKqDZ}wr(5^_(V60=8hzkF{L(u!S)jWDl6~e&hSNC}^ ze)#_YMLl>fXlwNAFv!$Tu{Me<c=Bhf2IvIqp#T5>Go(Q*sjhY0S`8|J-+J`gGJR%b zaO}Jeo)_`x6+QSAJU&!45tOWcf#zRq%lMcWTr6He?+mfc=VM~<V4MpI!HyH~gRCK^ z>heL>uQ)P-jw3CJ_hh`|(aUNV0Gc0iQQ_#6QSs>n-E!^GI~C+vkM3Sja)HbeK`s+{ zv9JzO;wV7R!2pL!$vUgn!2kdMmvT8mPSsuZ8no;LJnjg-!r{tOMurz*pc<j|KuIBJ zv{vi?f5&dnw5NL~?_Pf<hLRMI?x~Qtgq*l8f>Pf?7GFAGUwnzSoFN@#*~_V5cb3jF zJn)(m6inch@7k@8NHU;n$jd>ciN8m0p@89~*CMd=2tJ?Yn1Z9_)sisqJzDR;dsSY5 z_NqLF+|=yRE5g`l!w6a<>(MzC6xgNO$C*HDd|xXYUh?QXfpC7>gl`T^4W-9HIji{) zqod{3(sv%+tsp&(79bt`t)77l44_O0x_AU?KH~|G&U22ISNYrHK(h@T9-SXSfeN~B z8I+@sI|P8zqDOCqg-5UHZqPdM-U*=Ax<}{K9h(3D?*_NPTi<$g?gd%I-@*wRJWp=u z09By9EC)P#MUHtiA2RUhoccf$G(8e?jK!lj<d}v>=hP2i0iR<kKD{Bwczk+Yj&b<( zsvPrdKB55CrsL6Ta?GRom<zZied3!VqXKBX4QSWnaYk3m_eF1Ceg=(UwEpMscm*0Z z===#fOsLz2<2&f~ItTvNb)bFqy)qn){~bWPZ5@5OOE?5Py1h9->la(NL9)#U1VCL7 z(0;b&0}77KNB{G;FtIT(d~^65Q1ZsZ(&I<@GY?CSvWG80Lx~=pa|=L)M(5TIU~1|O zkS{uya%lbk@6(;a!2!De(A1+hK)|K*-D@#K^nlAN$o^ZaZ%&^BK<jmq!0UCC%AUPc z01fbVzVhfihR`wLn;UZge=94fgVzkcZmsk!*!`V*8#Mp_cldUk!>6-%0@(hk2f$S8 z1x--7I}dbUUYCdpxYjW|@R|#fAHnz8bRKIswBMuoKuW_eDGz?<V~+gWM0h$cH$1-I zaCm>iZ>gf24Zl=Mt~C6LFFD^^bitwFA7|My(2b#-r#ue6QYc|JyyWry<7*bfOW!|w zH2-k*>71JZwtH)W=KufYNgmy;po9bJhdXx3fyO(0I-h~21wa7=I(Nu{fdO<^hrEYR zFRvEpQmLnV|NnRFkOQ}|=YZ~9?9OHI>4uov4e?($#DCpj|3PhVvCJ?iMO?Msq51zm z^c3GYyTO@~za`ZlRN8{>B7kIh3DB}+@Kx*JgGqXJgZ2Wy<p<v>3Ob$L8>F$j6;v9z zbZfkP14_i*;7ZP?+u$W=ag?v-Gf=P1qkAsIlg=8R$>%|74s^0E=-L)Y;^=h%B@S>} zYd-ehr}NbdgK7qb&ej^Ruy=$<vU7k(D`?Wt10>Sf8vu&8K1<LJr{rs(LCW4jf#a=f zH2?nxbxJ!Advs0(dGNKkPv<+2ZZO-k`ItoW;s5+C0xS#+j+SLVO5b{Re)a6G`v6+l zvSb%%gs1dEH`q=`OSbN<Ak+9;wy`iUH2>q`Z@J~mz|ee*u@fx*dbz9NTOtD8r?Wt# zyBFk?P7edm<f9&t8zUT#v+yw}FdXphOyL9Fw*yKFo}D3lpu1G~z~{wyc3uN@?;%Bf zCu4UjC<(7%;crm_t>x*w>(LD^KtN{`_lnNF&&U8yyDu!ifHouZw`%%;E&~N8C-8=1 z(8N`*>6WjI3@@HdU|;|xpI+Vvo}lF^uR%csnnl8rbog86gEj;lV`BiHlK?TL2xQ6v zxG8$zb5*v2N+<Bbo!36t5+Q$UD9j|#>BkV0bU`MC!A)xM1TDvbIHU6%%rNAn%-;%H zf(^<fNWOagg^}Tf0NfNkuqhB-o!4NdKum>X2>#ZSkanp@ujwX`=HyABX&rE8@quL> zum<1G*B-sRH#|T~oQ{DqTq|e^HpKDGAf1}{b&7$HF4+ny>_APJP<Rf1?$K-N1v22r zByiq?L`bv;XmXyl14Qw=obc%03Mwr<_+7w-r*9|rplxPk>}K=m?giB^jIfmAP%7oq z4K8Ipy1`|xM>p7zmuDcE6q;v2txs&qO2R-lDQSV4s0<$6kRlvf3$*_F30iUQ0xI#D z14`>b^(UwnDE;7pwUF<Ggli`_MtnQZ_@X7=2X|nJx8@@#@%nbY_U(KKj|YfuY;NRl zb@pUn@Jv1rE@2KnWc7d-MM#ckJP2xbx?27PSH1l0&wu>?|MCeV1H*B6aRJIiuu^y~ zsDQDINGMJB=-dj*x1g?_00V<duZe?a^1l}au$78iy+CE<(cWgz2IbDy7;w3C!{gus zP{+;zbgW<ZR!}MB)A{X1@HTMwP6gCI6$cs6Jrz_Oc1H!gmh^zIeY)3zRKJ!5b$-FJ z9^GL3eLAxuy1~YGIwg1{9|oN*;M<vUmcg;J<Sa+`R!|WMVhTVCED#fPwPdGLK!fcp z4<-hN(x|lKto<HL4Dk$U$64E9jCvTO9LC6pG16g-co-ub#_)$R+`$Zw<YOMaq9&m9 zs(Hwx`4AVhSn}uw*KUw9Y3X}VwDPx3b!TAco(ghr=LL`MUQqjnf4w6MGb23hHnS$U zGBJQ|5(U=>jIE&Bfl)L7bU7BD3eE>&8@!Bcy#v}<_!Bhs0$L2L<PN$_%t65Lq(|p5 zXd@TYf?)vfk2%QbV)>H4xe+vLBL>>B#38`IQ2M0xWJP}GDezwN?h*kGkJfJ`&Mu%U z{SLhrgtbROW0If)0o=Yhfz}gySQdf%Q$}UaJd!Vh4vReah}EOlgb8GiqvhH1`LE?% zz-<<2e+ayv{0d06`OyE;kDaG|y4Qlzg=cpyXiR?3T~L3U*9>&(dM9MHo#PIM`|=Sl z9&i2s-=nh?6oQ>|LG7y6+x-15GN2*0y&ypb{#G*?Pzn#wfvjRW-kJbqc_z1l+nSxN zph5|1lf(zGO=m!7r+5C^30eycZgNDtc)1EX@()=74O$@j`aL7VYje>0OP|iq;3Z4o zrJ<niI6|XOFK->_R;QI9{on<C{4GyFg>G*#BWQV|6?4f!-{e{Y$8J{z(8Yx*uD!4e zEI}2C<H4t_p2>e-Fl`2xj{GgF<UqL%blVQ7W#ZGV;nNAdU*Ne<=erl5Hi23u|4R%& zb81^Rfl705$HK9j{k1B5ybRjM@aa~Br2;v47X%vgzMZKW-MwHZbov?~UxC5H$zX5* ze5<8zX9?<cmX4k5KE0}!-!U@0eDe>~fnskx;L$6(cROhJkr3$0%I;oJXnXYXob>7C zIpx`WPyy-|P#3w^G#IozwbwQVM0K8q4Do@=S4Spz`~3)`BY3_1VM&lrpYV6=0x>$D zdLDer>eg+e?FehZ-{WIo@ap!_2DR8rbU?%MuMz$4Lkght3!&|44@)m_dgUs6_HqU2 zzM0OOh{iN1e!n?_+S9!tsb=s<ap_yf-v0gn@BjDc{LuW9$)|HID5Q!692@_;fUohq z4XRu^e|UA5XbW`lA)f;#23nUZ2wIm5xuu$uza4bgfp6zokLCj$9^C@ak^@p?6upKN z8Enc73{b<Ng}YC8E2y6H?R?4KVgTA|&Cz<2zeNo)eGhVt2jdNhiJ-gwK#2u(s{?2e zG<Z)yZw07F$q(*H9#^ou$lvlBl=0&~e82qt@L~oA#?mJqmgPUn?|E37m)(Ty$ZPQ7 zU~YH`n)>qT>;+ZGU978InHX9Q@VA7DfCeH!opR7X1Z>G*_gs*@KHbL7-8Ooidk=uB zhTg3pRiGX`cxJ0N;Lrd6FRDvGlZ6NUyIu4+p#JOT@aeV&d8wO$fx)-+KuLyYue(6! zDbTj<0}9QD{+E<?7kv1B?fbF+3<?aTuY4>Wz}xg0%I?2B$HTw?>f|2lw)=kl`*DzW z_*+27`ap^pM$3z(PaV4%9T^##Szp^TF)+Sd%mbQ`KMOwGrt^eP=P$^V3&?2xmU_@7 zGtJ;6Q~KPs^(22sE)N4kcPq$0%@6+Bf?BXXkaEPe^DKX>F=%mlcPl6oJiBYyKt)*b zRYryvUt6J>7&J-_T6LiH|9>}k>q(z(a2ZtL>)QFUlh@xKw5Sj~*5K1^1qy+OplOTd z;{vZaL1zFoAN*fp?+7}%2{dx_))TaA{kf+ld)Xt;Zg%j-iSD_eMh$rC545Gs^xG9i zh8GnO%S-zV54;wFTK-xXbo&ihHPj8RoiDq&p(7no+d)^&gIatoyFp|7z2O3#=RhZV zfP19;E$*Nh6Q|D#C_6Yjdn^8X^qSUz>@|Sc%ippHlqDceL$<8-WQ9G#LjD%;sUawy zO~&C__a9JifISWNDG$iTeJ$W%Mp#lh)9}D+OK`M)b7EHDZ;b&Bib5mw?Mv{e1jJ!P z1V~93I50p5YJiVVx%8SFoQaMpSY9l#`R4XXq2xVyH0C8}H0B9pw8XKSg?-oW|M&kh zUTFTo!QZaS#lWzuk&%IcfAOIr_Lp*8kfW9%Nv2nX&7=7chezjBP^aAS`#}cKa<-Nx z(7YBjIjLM`WO%Wx8SGE~7QD%c!4^F^Ra2OpmS19Ic%ccgob=@M7nBS@TcdtsOHQEG z#objOK)IHKfk6RuAe9sNKq{uP+uh&-r13duwRYoqA<%8LSPK)q0#FYY8vXno2SNAO zbsqG9ba_7W=QBXZ0X&i;47wc@ED!Uyf`;eQ`0HCiV<Ik{y`U~8tUU{Ac^!Pf>ezYI zBl*XRD$wFPkn5Ge7tSAtwy%A<HQ*P{{|D8>S*yVf-F#3rtOwEqX_0p`ypA(G`EomG zvKCRwfPBi|B8!wLpF>^$5_F0dw1)KQwtVevc*&>p$2SKi1^(7Wpz^aBR1|{Bv)3>8 z{skS3;nCd-YB~9IR%&!l1-ZR5&;V+fOE=hKY5e(Me?t0qji(qG7#cj1Pk3~m0L>md zc8aincI2;jVdwBX?!pf4f`eLc5chX-IDR`Q050T?f_kyv4}u!~{H<r07#Kh$)g3l) zS<T;43L22;bqAd;#1C5f)qFs~@+N;v1q-ON^qH~bwGXJce(Gb%Q1$@SmOuD_)vK4s z!lU`%1CLH{v%{;~$Kr)YXD=uZICZ;NJg{91I-sES5$JBTZwD86^qMkXU}Pv2cl>tH zfxl%ZCwQgt|Ns9P_*>S17HD;z_iR4!AG9TXZ38%?_;hatm5U`2j@^8%Co3#Fd7oG^ zF_Z*COCOJJ$iOZqxHWt5e~AV5(Ol%yAsf##GQ9AE7+<==@W5*pP+7#kjRU#He*>!V zpMz@rN6?)(w?Laudrh4|x&<J*`CHP#Hv%4T>HGzr-mP%#WOcCw?V<|-4K|`qBp{Be zF=u070PTVW)djD>rwcp*oi1?Sr`z!d)c>GM-p_%`i+WJg@qkAw$d1xkpsV12f`$lD zYpRnVrQY@65F=2uECt;f1sN5G))iYpc^akgCatFO0a<>o4s1E8MN5e_xL_^-6_e<- z6lhfov{(^9FIHYIU;&lBpmG+xG2R4}uTaBe>sdyI7v>OWl~h4%9Un;HgIs|-gDdbp zb5N{Z1g(UH1P(^Z3dEkW(B=v3LAD;Og#^Y7!vn7c5VbYLZfM2^SK6TL2fi#4Vy92H z6*xFrK!rVeaDWbe{f1s?qZY4R3<?aO;eg($pj{sxy^wa=<t&t<H4Sui9D$-W8MO3+ zzaCt*L5o(G-p!z5!?p9P<H2XFpuq%X(CR->vAWv|ltvN7ssVDb`t61AGElL~-x3C1 z4Ez1X<)xsBUGTVTH^WOORt5&pA!R?lIWRNww=Mx4TMa584>MZcEPV}%U{H<Qx&btB z2(k=xeS&9iIA|#mKWK~*yo89qMFF(P#p#m+sE~5{QU27&lBw(gNH^$y)K<_^7RdRu ze%&q>FJ68E?aD%w<)Gxn-{K2u0YV!X&tG2s_5Xk8DWA@N-`qg0kIA4#XU))YdHC`n z=ZoO@x(>=gz4Zcy-=LBEnjd_q+i?ZUPy8)2e*OR74QZo;8l9jvx;way&R%x26MV0P zXLk)dsKLo}nvvl}OEoz0@V9_A;=+<Gq_GK2GZikKy!T8%=~WTja{xCxVd)idsW9ja zeOQ`(1>UOr1hiH6KE_tv?o*5mFL)u=LOtNx`LcA1;eprnhTnWTe?SGhEkIQ~$PbW1 z$3bIf&BqumKb1axx%ub+|DfOoM;0?91H;R1P!2ud)A{S06O#i!cq<XOkOnWqdi@e~ zU<#s=e3<|~AqT5>OYES9JuG{?#8z6o0Ve>oHtowhf8fq4EdU*Te9W`+fJf`Ml4Or= za333VxQS5~XusoL&~O9f3SLm|fpq1T--UGLtVKa-7CcDV&B)ve>i={yHtYrUiWo|G zpo5gmP9HiMAvyBJy&O<C9^B#b=ruL?44TQewFFJOf>yXf>~`#ChlYShw<PHBQb>=@ zgYl;21!#|+zkTb6|NmchbAk3YfvSL(OZ*+2pjy0(;oBhv-_E1_tx}-V4XpWFvzfrh zXhQllpmQler$P6cn%)QP?)dgXU@<gZftq5_Sy-2D(2W`uvA&%zN<ep}LwbIoo0tV$ zI&G_rm>66-fBAHN1ohtzg8Ogbpn41Q^ae|hUeh!87#UuyS_JBoz1R<)M{GS%y5lwY zFct8|)Ne0(Aj>UF-x&V)?R@c?_c*JN5$H%P@M^>^b{kFp)=A(b4W5Pp^?jjZ58&}p z7Y^{99Uhj)`CH}x|NsATHYig<rffXA89E_%i&(pGaPYUrfs$bLzyJS1XBGs40<80% zPbcUGV9+@_9=)d0AlL3F2Zu>XCUi)}xAO&L0@<>Yx5ki(p(GTV^kBIQ-p;Ur<*aw$ zob>{fvmT>f&%N_5Bg2a@hz-7-FG`mh9(c`ac)+*w1?c!Q4gS`RpjI`!jo{M>xi{U~ zMUaEPH5lZ--GBf8N9qCbgYJ=p7Eo`YdGe*zH?$U{OJ^pQ#v`a-OJ3vg<&Ce9P}Bvj zGUaUeY0clN1YWdq50uDyO)uVIWO$KR1_{Yj&&~tTzyxoQt+4E5H8NmgDDj6Ub<kl& z;KPr=qcSCCpcDma3B3cigkFGJLXS~fLir#Yc*;Pv45%eky3`ePsk4PfsUox~@6pZR z)A<oJGv@<}{t`}5E9zw|sBsQy6m&D#f@alAxEvcStod6z!OOwH9e59j0*~$r1CL(Q zhNFxOFPNZy$@PSfxI+A5)5)5q&%{s?hs!UnNPfX}mqD+oG{};<r6BKsre#VOxf*_Z z&E*QJJ)mXMf6%00_gYXh8Z@0aF_nSA$MOY#D`>*hvB9pIA3T%e*;~g5%6CT?8D996 zLc%{0nzKPGm@8~LdAI2?F_ie>O2wwwQ!!ebCL3hI+Y+z^rSlPkj-8+z%Y8aOz4(~I z!0?*cr}G17zo`yrboUr^tO!zyCf<OQqF?#(l%m2O-QePq+3^E(NF837PD}^s+Y1_n zY_PZHZv}OKT)WM|C#3osfkvV3mlVR2f`sS6=d7NL_d(||dNdyv03EmE(QB%Ei;>|4 zH)z3W=W&-#)495!!tEnypED=8B0KoMMDn}C2L@>2RslX*+X8g7yv6GSpt7kn9yV5E zdAxMhYiFprS8p;hyx0s{OWAq+II9!rkOBtKo$L%Ynx(pMM=|(7Rx5aPBTBK-y{?7_ zUQ7ExI=QcfY^*_xP8pzlAAZ*ZparOhK&!yPEiu@_4inINv}Q;*sjV0sE&MJ0Ai+-1 zWw4<B68OkW%TCtqI!p{D8Mu<G1yXW#{85g`dLF%|Wrr9UK)DFi7gH<-rB!g&oBvYn zC+KXi13sP5s+7NVBWO~JA1r+A<&q!&LAztz44D{Sbj}8~Jo#IuzyAOKIO}yiCI(RB z!K0To{RSh0M<?q=J@7Ec4bA`myPY0%vYrI-cRGNA4>VBF$-4(6(93HDR?fRikBOm^ z6)Xl$S3D3!>miE7A&S<56@kTeg04yBg(zACQS{|H$YS0FU`1dtut}hXvqvZIREVOB z5Ji*qm>9afUUc$K0ttf-KV#sA7}g3B=;gh85Nud8SRG3zZxcv(AE=cq2v%oW3KHlw zZ3dfXS`4z37c90DG&%$x4C&;}04w5604w560~_|ElQ$J4ybn~3ia-pD015P(T7lJ> zhJg(Oi-8phLlk*K6p2F=d4d&z#lVV0A&TrEioRR}Ip5R<tOzUy_M;eB5w9Uw5${E? zB3^y4v;K7Q>Vbs8hKYmKnJR(=dQI1W)tSnJ4FijT4RZ!7;uQfa;_U(};uQiLrqanP z2oeUX<AkVV0SWZ-ra;s&fz^HJ<Yfd2?*z45*dXe@=z^x2d0P*Fe8Brj7Zg!4oxC4G z!n;6gS=qtrM4x~JdPT*+=7~PiWn$>$1&i$jDPjRD;=K-5#QWtc*s!Z0-f`AT(0qKH z^@1)F11m^nFYjfDl2Z^R$Kgtj>M}7XLX>QRDA^CPiuE8!;Z6ev1_mXNY$xv)kU%f* z1c;(dU`1dta4J-VC|V9tlm}6?6s!m=23Dj7Q8Wvp$Oocm23QeT46H~QqNo?5NDHE< z8>|Q{23Dj3QPcoY!~s!M2UY|UJI-3A%LG~@%iz&#TdvE*@Z!L928NfXpM$2=_eOw< z`Q)wOHghlUg)|0+T^bAw3@^N9fF`v|IXsz51w491AMFD*e8Ej?u$?c$E`b)s9s}+7 zV&Vcdk-;W;cFT891(|gmJjw-1_07MS_<JhY85nw<{&#{$?Liwnz~vx95%?IY|Ik6# zm!MO|J$koVfEOsefARV<+^U(Hphd~00j=No`<6WZ|KGE_Ho~KqS2LP{VV4BR*^{S( z&e=|laO{o^XuZwf=giE&&>Q@}`4<O&vja2e)S~yd4Nv-XK6vQ_+P&Hh9_97u2Co|d zb@f1ZK7cvaTR{^H{4HD9z%yN?`ktNtpp!%3?Z~2OmthMAyf1<Z((jIYKubzM0dkE4 zG}W8WfuaSzfl=lnq!OJ3Zo8}nRfeE}O2z36433OPJbT?VJgwt2_*>$^$L}l!4Tpk` zDF991bl!i>F#$2PFnbRp!wcD5P@M{1iwSNkJm}=@Qe$E$@jz=Upw1T`1l=Fz1UYLP zwdD(LGrXRKn1gfaQgCeeQ|r+ynsW)12v{>f6u-*_L~uZog!2W6$3Q$+!;>IQj{H*& zbUFXG;qvL83i2pqBRaU+?*I)7gFNTLc%u0LlVhhFhv7-YS+=hgVe{J#{M){H@Gt&e zEMxes;a9x_|CD2lA3%%Z__v90_ZBfaH2hO6yVdZkzT|%AArH+{t(W*aUVvNV;1S1e zv(|4VmL80!J-YXTx<ww{_8y=?GNkZ;97HVo&HW=IXgzW~cs^3T>{;i9*Q}Z+K!X#I zbOKpXWO<O^=LBR0-^+HeJ&+*~j@FYUIUc>m{}F8kkLCjcou@oHkG~d1geUm^k3;`U z6krD*mxJvyFMIa#`M>}FLGcS-AFa?G06l=Z<W2J<@ZrY=;KPp%%I>_}3!33Q4(@V! zKpf}M-3qFIJ-Q`a4WGQ!1dXHh?hW_{x{u`@c$w0R%LSnBv8~owMg~Xl#Z+Lzqw|pA zffw$n3=A*TK%1^1lmD=$f9J86%50Eq^U@U5qwDoz>^#x@fZe0@z<$sPj2`^1KRh&l zdi1h*diJs$@$B8A0@|eFq4^7Rcy${8`vYnG?@y-jzrU2m|Nb^;J~xd&Zy9LObQ-^v z(z2ZY|Nk?BSZOUxU}_F?8h>8i77#n{3|J=b30NlY4|5v7h3yrPcF;W|AQj6B;MzOD ziqaN<72O4yu>+(c?*hb(7hq{Uu<Q|#IcGf@kAVhOJem*v;0NEp1QNZR#$Ryj9f)-+ zjlbY>D2R11jlbXoSnNa^f5E}fH2$OuY5YkyL2|b`Z)u(aP4pt7cfx1>ItGv&XaZOQ zw4~x)gY9%x*b<l?Rp=6!78s)j#wdX?a$t-U7$XM82!SztU<?-sgWpQ*2IvaCURxbi zCI%19;~ve&xzhOS=Yl$nFOEzC^~}MgFQ`<^y!Zb<XeI(Am&RWQUfg7O0J<Ke6P%8G zyKPj!C#^d3Z(}j<0GHR!$5_l6Jd<5icp7Yvs=$1-O9kqqO)$nP7-JEPF$>0+1Y>l; z7)>xn6^u~?W_a}SCaHjY0$Mr6<=HKx;+veK!r{cfjYYcy+~adP#-hytI;~Zp(?vzX zqccWDz@wMdemAK4cTwT+=;Tq^rvVxZ?A@yXT0_<=`fV2@LpOL*!xuCd)(a})4G+91 zm<Vd;gBM3Qb?|8OZv)SPICt=v+k*7-H!~@N%GkM}3JG-c3-mmVH%g#gW=lbV2wH|3 zk_l>DAN2(7#Oq!PT37AU30fB7(K{7nJ*ZS<cp-lpQbzJCGcdUFZ>wc+Jmv~A1*{Nu zsK&2T;0n*Rqm}`*A`)x^f9qT&(6l!wk2fD+^lUyN0UcU$v~~@EW>@|md(c@(U3Wk= zqdZjJGr1L9p(byg0IEY6KkRgv!@%GHx;2X#w4U1YVDp1Nng<!rd31tnKF8x=_3*kI zq}j9ixCUscX|L+6U5pH`k#0apn*b`{Acs4>_}&j%TLr5BJ-g*WM+^5l{Re4vv^-jC z<!LQn^4hW6|3T}?k_X!0Ag(`LdF}g6L_OlsdD*A)(TiUvL0!*Vtp`eWyzBz)?CS<M zE@1xYjur4tP6aJh00q5cC)l~Ztxx#-@<8M5jCWAo=hItpqq$-SLrEoMJvFGZU6BsT z4~IePhI}j^^EZR8HiDdKQ?-?m;l<j1NK|%<dsrSSb_99Br}GCie}ERxb{lv!AJFiy z`~+GL{;n8h|Ef=KrG}4XriM@F&!W#Di%WYUMqk_l8ed5T_w!0JJvtA=7F&R>MX>5* zy)4JXP!f#R$Ag}?df<PF<u^yjLHUv3`a-honMb!I_)t919AD>sk6zP!kPSQ_8^DX5 zO6P&fTf^I~U8Rt8262ZcNY%3x&?y3?4B&C^m*DX?@KRn#<7UeaP-hh!M=x?tfRk*? z5m1%Wc?`7A;2Sh5pltA9NAq6r;x5o2Dmb=YZ0QBHoWAk5K9Of&0IjeBEk`odn+#fx zBnO^VgDfyi?gB3b1FuSAIp@*srQy@d8@QQ~!EqO86}1OwDH75R)f2usGBv>V6C7oP zoUeY46=c_2{tnQQpRS#6Kzk(Jx^0x<>yesS!0VBe!RwLoLF<t^kHODp1h1wjDTA!< zM_P~M*!UlGL^*$}D`@rg4<<)`r$e9|(~=HqJN5<(bRI)mjFASKUUmBH09uUU^`rc` zhb33pqnBKu)4dLPbl!un{{rm~C|v?s4D-MAqfaNeZ1w6c0d1`X$AM4hDM)GY@fbMh zTOZ0XFgW(MNB^(?-~5BIyu^p`u}62chDUd?fk*SP{~p~_L1P6kntZ^wta<c`Ds5t9 z;O~(G&w>?e_`r)Jh_SPv#&*epinU?`@JeFQ`zK%x+A64gmK*~^gST?S%d4QB361|j zbHF~3VK$#$-gO({QG}SM`v3nwe+y_r+OhHfa`2Qfh?B;j&uTgu)QqTa1vN?1j)Tt~ z0ND;sJ1(8?UOWwB0H4S7RTk8nfUHyM2A^I99iLgdk&)qreiAtQ@V7XD3ii&!;En@$ zWwTEwc$qS2Vh}XGsn_`fG^6g>9m61inn_YY<~&b?6ab)^s2)a;LlBL)E6@g<Pd5W- z*5nZKZgTj35Jt<7C9A(VF*Se|oJ4Vyzx1$-5-5A@(R#Z?)3et>!0`WTZt%wQ0}7Tu zOH98xd=dbujQ9akDN*+1C1@E8=(Mo|-yE0(_*;EJW1OJ*vg3@FKTBV~{0?eacFqOO zV0c*11+|^|n?c7ibTjSz|NsAf#S^xipdERZwh|yJ&K45bkYzsLFa-_Vfe$|W_@XNm z611~GYcspSX1=cWfJ{YsSc0p2{?>AEVu&&T2Nu-g&bgrK=C!|1cTs?6Z`^+mh&cG% zT>kx6JbL$rf=Z5F)1}A28_#sRKp_cD!{0zI`1k)mB+aQEfh1)ykQ?9y*3I>d3@@S+ z;BnDv`|tn%G}qQAb*Ya0`|ltua5=`v(0R-7z>8CzAS=L84LS}RR(JGH1*I#9Rl5&E ztXeG%QVK4_x*Zjm8Tr>Ah7L$FGB&eT$T2Z6IyU|X4=39?qNnZ)>tLz7l((7HTN0$W z+ri?siQ~892_@#utU6F3h1ZJBtm+`cpjpGQ+d+ZxfKM-PFWd;YwV*l?T34e@8eN4R zybqo<;%^uK{r~^VAE1>gpt9qe8?!^{VR(_@(R#8(1zLtdCNhrwFH!&I^icrReSt5h zd_A!fqM1>kv<*eG9=c|0==?kjXw~s6a1r<fRDRum>Gl8rf3Pv#;MIH}1^g|h;KT}< zM12l&jRD9&XjurlYDyh+)?U#E&;mgRkde>8Mm_);dHdyeP@3ty*)0fK=M0kOZ+QX| zY6j0Els<p?^4I_W4SORr|NjTA`UkD3;cvMB+M(7AU02+42*m3J4@c}{xWK^h;$a&o zuB$<luiP6M8GL$qTg5@!B~TVD8+AgL5!Y~m>v#A-gh#I|;}K8_hAw9YOMvp+YbR)I zdGyNOKg`Ggs!t(jCM?|mnvFv?-lvyW5Og=ynGVoSWYF0Q{4L#_p!;EtvV!z<-g^<+ z4lcb)_JB95%D3L;@8|;!l0wg108f_rbQ^d!9~0=5JtD@$(0S9R^8?0yG|2tO=HNkY zevXoNK9&jKL0<*%Ah$=asmWnRh8Hi|K%P7T+VQdJr46WHmIsZzF@Rc1EuanD;ETaM zdS%%_9&1$vUF+!$D&Kl#zZ_yjoR13IsM&e%#Z-imFJFH72O12P5(9TaA-9Zs^vdo$ z#K^$kdIQu}XsA(Pv@PZFY(B!|+xhe*sQmysYm(8i%SGis=se!egAEVwHyqsG@KcJv zxev4&rg<-@Nyot78V;I&7GM<wIZd!N7vy>Y)^8xQHCq$@|NsA)KcDqF*p>C*O{Vaz zUB<g?zze*$g02|^?R2=^%D`~UbqDw=1;Jzn29KSZ3e^flsU@WzogBv<*h`D@7(BY2 z1w4|yIXrqrKr8=1G4IhU!vQJ^eY(NhjbHP^>u-=K|2F6UHoPTYY`983AP(5OEye&k zt?GqWEGXoULoSm2?$h}XR1*G&m4q_;A;lAqIH=+O-LZ?k16%}yjv@xB?VJl*JnsSP z47}Y3?hJH6)O4_eCQDi;ih&nf^qTq~WJEc=*M)(>iGQDs@rxJD3=ADDvY=8C)XHr+ zQ2HF2lzloMAbP8y`0hLgSvTc}a;x$S(88(5poLTSzze6iimo|!#i%ek9&=Fv4Fl~3 z&7Hr9Zvk!Nicw)SybT+#;orAM7A%(vaRT^+q2|MkEeA@U@C&f+IsiU}DCRFD66YTP zCAIoia7EV(uA9KE)U6<wzjy~)=-7Gx1q*0Z=}rahqT<Y|R1J^L9#)Y0V=b%^e?f%= zsPVfMZ0BC6hRe;6lQcofG(m?Jdi0v+tYl<(@h%dQ1ydpO!)~3tF~Up?B@t+&Whmn{ zkp0EP&9SkAEa`+;QaT${kQ{$u6%9@g;ByDS$3ATm0Y&})7mCrK1Ow@Yz}slx7C3m} z52QMKvj>u1?tnG@a_O=LpV0@p#sQ+>^d4{uap|xI4L+8El=Xr`!>9ARM=yA2_k}vh zCXloa=+M&6?=LnrL9B)~=WLik$<?#*Kd3n6Zx#??VDMl(?9pqZ;n8>;)T0CKAS!GE zhpH@yuK+5WLA_j1bajK9U>?1qU-!Wpk)}{*tAgCqy%dzDL8m9c&MI6l3<`q1p!S7N z=kpihQJ^5Y59$;(9|qrj4L<V`ln5Z6e6|}B3fF`g7`m7t;}PI+fSf`GJ*)7*Zg5a^ zft%DF%;3C|Dh#R`z+2u?oSF)EY8TY(Dq+xeMHUs98@a)5eEy;;l7Qnpp$1sub(}I5 z$DI&DwQ`0KC|I7qU<ak3PH4)2HmE>8_2?Bnx)K(|mv%wI<d6`)Fj=z;B}`!Bgph8B zYwI^?vEb1w`*#l`1AmLm&;S2l8VE5k7=C-L4wZy#0mM>pOY*n5|N8&mMuoq{9z@6U zx0wI>|G(GcLc>ok{w8gZm}W_^O>F5Ql*0``qYL2U8u|Afhn$rFX}*_Nd-RI3fyz<% z<sHZ;EPzf-*c|=x2m=EH<Z{Ez|Ns9JFt|L@qgPZNwC)F=k#>v>4A5g3d{GPp9mB9$ z<8{cfR@74%HdnuPfN0=ve#!vafB_oRWPlvf0MYdFB?G9K_UN^Z+Q<mGVArEpRAvdN zrSambKj;i=pKjADXBZhAE$;JAIatc>(`|b83?l>5(G2@Rec;zTj*Ry~$LqA@fNuN% zAIz{6bdm$;h9dC644|V(ptTHi;Q-3P3>>!LQjfny_dBR@0=_W>TyK^vgB;Gl-zp3` zI#Cm3OX<9qtp7m4is4}y@a-qP8xWrHUkvsP2h20<sGecK<{1u%XG)SFCrsSoMLuDI zfJf|YpdLy2hUSq~FpqeB`~M$$3CcW&ZH&+q{L&sYA`Wd|l+^ijgPW2_C(z3AgL2;g z7rmj7f)Uh5=@pIM#mIo@K6`XR55tbw4$f1c0+kJ{4@<FZ0#O4lmZ8lP{?;3O3=FT? zq1<j~1)uJ0@U^q+L9L(UZrDhON3SR=sDSR3IpxuOm<2Rr^{RU>Xpfz%;eW@@Gl&X2 zZGuy`i4~}!4Z4`TL<rP318r0R?bCYtG66g;@`S%59ArMEW#QO)4z$AK-~(14#uuO! ziyF`lw$CC)h8O38zyVy60V;|i>(0Sz5NtbHjd_?DN`i2XPazf|cvwb)7hOn#+M{Sg zRL>VOGQ7wHSppfNnr(Qyiy2Z}6p7jBmIxgOm))RLZ==oM3fanaAKAaKo0nKF*l-nn z^5`|40y0u82(;4>)OrMI1&?Zh?k|RB2Jp<7S0`@)Hxoli3|d`}bQT$?eGgvTc<_G- zarM18$nu$i;6N*#_*xIPe2MX;XSWZ(fk*Q}(0y*DVxSS?s4CED0w6bn4vpKx3rcX{ zb)(>jaA5}xD*pGdJj~y+fR}**bVr~s<5&Og8hsAX2~EAG)0QwYyoe13+f||k*&xWs zy8v{SdN;Vy$iJT3r+Y1EXPP6kF9USR{p)y$?ii46d5CVP6jX5uAIz)>E+&T83J~?i zAocG-G1YpYBp9Z`3fVSq8IV1WoxTj9WakLp{|%aB1D$XNzpBND@s&&GL(314^vmCF z_4oh(m!PRDh&2}%GcvsBfLbF7v*tP{XhjLsQ{Eb{r$ZF)1SyV&DwcsMUWcOC<YhW| z<`lFEst=@I8>(KXnYEo0+>dt!wOv3h5@u%|m?4FnObq<%y$u)-zSM^64+iOf4T;?n zxP4wI_Wc2OXd&)X2dUqUu3ipBJ<H1o&=J_3Aou+NWw~y2^`AJ9J<st{1Frr8NPRTA z`eP{Sd0zei-`WQ<e<?`4HoE$0DCz}Xo`9>b2C4rY07+qR|7M}67kN1Yu09Z?{xrIJ zI~4U2FEilk)j{fKqpKG}QLpgQ0<QiyD0gL}tAECh96lB=IpFHAfYe)~tKWs9-sa^E z@VFQ#eAa^0b3@ca^MnU9E46^8P+^Iqh8>(Z9H1HICF@_%VogYjZvD^S2RaN8TBv(; z8-vCm|NZ|D>4|oJe-Tj*%IV)<ObTIOI0m}$xf#6ct=H6d3#cb0S_r1VqZvM(9}N$@ zcnVs$2=9~1FoL?Aueo9K51`{iu=YQrIY3p{{THYFK<!m<{}a?E&;gxsvli4;2b~Ad z`47^dp1J{Eg*k&x<LOd|bU@#O`=HR{-3uU!Tszc3mpOokNcmeuI2ahZ8KCumPq!v$ z3{?|kgy9pP&X>qHXEB0K;S)d<-r)229J@mqKqEh(9quJkpvx0Lg@;G;F$K^O37~rG z?#o;3pz-`C{2dqBL8HNW94?j*%3NJKANjVvEmiU8{OHp82z2jMsU}EI^C3pd3#IR0 zt27@1-OZ<9d7(rSe7V+p@X3ZRL8mT0X}!eXSp=STa1-$8Yz5V&9=#F&J$4kABo>v# zD}c`ERRc{E?odc8%}b6iF7fDW1x?(6PEBU?Y(C0pQ(yAg1JX>j;e`%7may1xm9ige z)zSL@p8<4)3G!s0(RxVxTnXd}$YDdUu8ZLTpYElgL3_{6dp^Ck7V|-4OQ2K%iowI6 zqeUQb<<t3SCuj}=yb&IB_Rc!cT}?N$L5DJBFhXZ49Xt3yqddnzS95@-_*!p658VJ= z1_3I|AkBCFmdD^h^ZOo<y;v^}_5c6x(OUspdm1o{k>SN9FG$AE@$5W`JU8Xo$!gAm z<wP|;aD0Me;K2V9YotYpnc(p#&9cX!ngHcI$>%dc^}iP=fr5s}N~eSF1>yCvUJELY z`CC9&j5{{eGSu?7sxhH8sv&)bQU*u<ea9euhH_PpUeOfLSRkIJ{cB%HGrd?7Tf5!> zOS>M@%w4t=(ag=50dD3hx`5j39^JeO;1z@5p=C#ld!VK}pGUW-5Lgs^LKadB9&!~= z=Zn`Ij*Ry}H}6D)Hi!4}K4Aj2dwswst9f*T2fjcjLv;Rvwpmab@a~3?sFCI0#$nY9 z+OANt(W)1AtQyGJ(v_f-8bKpDko|3SGZ-0O7<fXoW%@vp0Mux3bI7ujH<5{n0d&R+ z%ElAOi1NYzCAQcX6(euKlLT3E+5>D!=_1%^YLL<SZupv{k`Sa8SL=Zi9gk+@TXW5z zhw?HpG%%DRZ*Y0}nTde`vKJgA2Ti}Ah4Tmhmp=EjcH`i0xd2Mi-QZ)&z!#ABgZ7kk z*KzoCZv~|&$1XO=SOF-*f#*ehdR4O+K{qAoo|+BHbPS+|Zu4<QNS=EKIzYlffx!Wi z;e0zEzR1b={~sx%b%M^AEIs7`&t&{9piT0Sp#@Nmev#b+9cDfWnkED-9|CWWemjkk z;YGeXIIK#dkz?X^C+~FzP?ZLDa)}vIXrTm@EcOV2tk|07Vflf-WdeA*9DK%(XK&nJ zk6nx`44{Rqp!4BD;qjWsrk=mm1vKLYsYV!kJs2B)Dwe<C-*(c2fAOiJ=ld8y@yWmV zT=5mq%`<1+LF=-Qdo~~Y2Odu{We54g-3{W8N@RancJlHwFfo(_;PQYG$OF)I*(moT zBa-dPsf-LSUb=!!FJ1In5_ANgNP|UfDL?2uOb3W#9Gj2-@#%zQnO<kc25a6@js^=Z zkIq{q%pRSGT)MKEK-c*~%V>|zYo49gA+_H8mEc;>r6ZdO)Oqs+1q9^Ko$dzELI)3M zjeoHDAhSm|Y|sc)CH9KW2Nhj$D?w#?3C~MkuvSzR^)q2ZGv;7r{H>q^OTg6|tSber zHa)sIJ(I6^c3uUYoZ-oM7IfM2A<*(`(22pI$_6xJ&}+JL3M0b{Ye;DDx2S+`@I)z^ zy*pXwfG%}v`SAy|oD=!LOVIJ@n*aZUW@W$=EBr0D|NQ?CE2QxrNbCf%_6X>1`%Z8n z-TQJS$oO8{NejRYmdMGVC1l8#HnH1-2H98@_JGz6Ko5DH54uvM^Mgm@5zv{XNC&+_ zw}2xKK6f?z_WGb>=dss&V7>K<ognXkk3j^Lmf*uVBtU(rI#*C~JO*MKgTkfPR1WN> zxu7vgkIwrpou4`n8XkDD2(&D+*H&O9$fX=i3=I1~#A_$eV51ep3=s1@=m5c9(_8aF z{z5k+4r0cq6(BQI7#SG$fe4SzTQ9jl6JVY9Uwm+ZyJjiGqzUsuvrpg!M?RhZVXhI$ zWnkdn$L-N;yKEZBFi@`C2O@kre;FQlanhE70lcIS<fJ(eGeOKih?zDJGeJH?GV?$V zD9Go6PKR>s(vfjI#v%h+;X4iNS~if6L4*%z-`7LO9bBNHr~@zJZ9&UEbYx!ogJ#?y z3j{mwLDmOu2Ic!+Tdt)b7dnCN#|9A|orhjZgA{k(f58ZG8Yu9$IfE7xnl7A&E#Oo^ zPV2Q@3l4lGP{4r*(3FNX=$LzO=t1mu>HPM(5oF#nXLv|PLyUIAYV@gWkiE8+U|)i+ zb>9afUZ#Uw2siR2_x1n(A)^|y|CTc{fNng#3DO8Hj63hW0Gadp{fpgM3=FRWzz6K> z$h_zW@tj^ey!Q0yJPs-&Uetm_44^0O!-kb#q=PmZf)3?Ze-Q&=!l!3mctZpnJLFzC zK$tEa)-OyUOwf|97n(43DZ>ldEbv`*FIWEmZ?x+Fe;5s7(-X_Cg4hqDAHDkjU*^sK z|1cWFrYGij1F;`OGr#)(|M08-|6w$UO;6knwI4(;{rdm^>#zU+!)Oqjp7=V{eh`i5 zQl(8mIWOCz`He((J7}J_`2<t*4|e|6PoPFf=WobC(4ZB&KE34@9^Lg09?8WP9=*JG z&0tIZ!!tmAtz^&~dPyH>cKi8@B^ls~n7^eObfiS*QJ>Dz3m%=ZCm<`cz$F-H`ZtX~ zU-oDYXnjw<>RAY_dlf>P-i6S%PeHT`e?IFQD1-Milp*>H%8+HuWnf5i<u7~kvI#UT z4w<h8uTC<3)XT{5LNo)`Z@}UJ7mz9Z`Kmq;S~mnjo5nzB+Y}HDazHke!CM4nh*m-w zvJD^x$N~H<pfjy~JD-7X1bppl`LtZ~CFnfyv<Z-g(z#+)P_O*kg%$O#{M-J!@Vor- zvHZ;6whnZR!8YgrkY-icC7b$^>pqsR`CAr(m;1l+(7Xk^3-iT^G^lseT=?^4SwMEX z@aK!Z&Sqc$iSS;6GFW$l82tIR3n8>=Cxq55gwU#y5L(tT8x%e_eKkMww}pZl#+^4j zn|})MH!T3|y6-&U+5F&xN9PS6P0+3{kIws`L*y7dnvZ|*Xg>CVzeNaiT7U<C-tjd4 zf&(sT{P`Es9Qm(YO7q~ayY!hq-|It~Bfka1=`=_Fk~3-ibtk_aWGrDh=Ja17jo(V- zBqNB+o#w%BC3cbVm?KCOV!%bPG!sag6J*v!h@_RsNoJ53HZ2#xT3A5RXj)i7Vi;QZ zuUrS~U<1jb>0k$mVbO67tb+q2i>8AUB!)%DRj>{&kSv-GZjcxj9aq3Qc)lHEEVTeL zc|lCaH2y1x!CXEN*9Xkx|8|g(za<}ZD|;{^d-KaPpavPpfRg<vp^Ri!$rh06gYW=` z7%Bx?R0WEcgW!01$pzx;!RG6IIzNLFXlp!p6z#QVCpi7I9{{bQ6Xus^@U=Wxnv8JK z1kn1~3>#2F10R?VO7*P~pzZk$&l&k!{6P1RT0Z4(aRm>uJ@V0f1-se%#f@YJhL^g3 z{{Kgq23~(~!pHJs*$R(dkN*u7|Noc1JLd3T;q?oT?${GP-N^zz-K7^il8ZTf7@v9c zibi&UN~Z5SL8JUHF3ttF=35Vx>K|_g6?&jsbU=+s1<?IpQ$bA=(X}0*<_vOMHQEGp zJo*Q;yC>l5J5b8g0LRYjo}g<OetUF-_B@oh`gW&r_;%+B_-a0VEee`1aBM#Q-=o_Z zv|5A%)LT*Z=&s=K=ynkB(EQ<J`JxnbV>M{=?};SPD!kGQ8yH^;J2wAks^RwOH1;?S z8hitfDl{KKz61afL@4g@Xnb=5v@)=pb?XL5Q@ay%zl`nW1&j<YCV&=4_S%Z}GBOx` zd+`KR@b}uj0m+mlfo4Y({{R24prD}O(`%d43u>mC+I4`awIB(&|G}rce|yoL1d8Hg z9-XZcpdqBry#k;%Z?EjX`HUzlP8d8J|ADtN?*Wm%{7%n2diSb;wfqAu=DwcDz~Fq$ zMTZ5nG{&d%o#BBOcM=&Gd>NnnYCbDH<k3ABY%ud&kTv^3&D0l%z>72Q`}CU5YX`;l zw-*{o3=9o65)3}QHq893QDB$YdVqX32c)*w_IeN4&mTZ5UVCj*K{8E=sD3u(0aa?f zwqEVX9!Q(u1G?(r-;3EGgCL#-T@u~7733`6&hI|GrraoA_GtVK@~I=(zdrm<k5T>m zJOSoku)!ezzDWT4*GKa)cK==iFMz!7(`&n~4dmZ{FDw#a{xw1P_rQEch8Jr<YI|*~ zA#uzA@$XfT%p{16LLWFJo`H)0UfX9NnF_FstW+O3LpXri)t&eEDMNY${$NQ_15{DV z1ke^XTSX*MNLNJxEMdxxBJs)azzcSWIp61kn%i*GKgNTa>!Qz4MQ=ky7rjSOdlVvi z09EaJi0B4X(U}m@g{Y#<5YY*!qPbvETMkfAK-rRz;5!KF!}r>XgJgo^L4)-F4Zpou z4G|5R3l7M+5S}-L2fAp;qu16M!UG*5=h15`I{~b+7^2b%B9{u`u|ecO>)AYdZ38;N zD#61Jy|#zuF*3Zk9S5@ayWzJN#t<F%=780xLU<1#JaGu`I)ujw;a!CAKxesm^xDn_ znbsQz3U6Cyi2ojfiVCPqF+}D?FDMb1{sbvF@FEBz_z@y_vl%?fX$ukj4iP*K5!8SP z{)GrCf)d$*7s3$1D3HxiHYYfdnFh6kjrtS|c1{6E0hC<}Vn2h3uLQAg#WFBJ^8G20 zXgBNa)sT|S+Vw)IkVoSYP=SXudhmih7WoDqwDvEgd<0(_<I&AJ0csTZGHp;P2P*zN zdQIJ$85v$&j%5HXTV!M4Z@C8EIC8AzHh;@DaG1%eG=oaUr64_sq8L2h4H^aOy!Rp- zyvXk;ynOr&t4}=}|ANbh{UFkp-{~*3eDDArT=MJ1@fdLVpw0s7tZ$qJ%J0t%54<=L z!@%If_}f?WZ|OcC=B<dra4Sdxw2(`7ViPF4+<PG%%fR5&U}M1G+iSwc-wN77_fixz z?$>LZ*Mx92%st>@=--RoF$@g8y*g};4K{2HB~b`Zf#)|M&DC;YP~&zNGjz-lJRWFZ zQ(vM3nT&X`Fa|t5;ludaqw~H`=f4+eAjkFUFoVkG(rszb@L3CTy>I7xU(N46y=y^r z0m8Pl37(DrK_RmnM0oN$-3OZuzUXL8Gy{XvF&AZU&`g^N3!1f{<#V8GkM5Tqh9s1Q zpw(>M;2HzukY3xeMv&rvFBrh?F=1}7VP@cOWdhX`-K^a!@u#QlQFzmn2l$4^^NyWY z9Xr2xbpH0}X0?Qx2&#L#>oq)*ixoV2c@JwcFzixbU|@K`3v%D_)(1Zz=N`Ls7b}34 zqP3`luF~yXy9RW$Lg(BCAga4q!=>{<^9cvnmj90YE=M|BkNf~l?tm`<_37oc>juTB zs5F?8-P{FA0-p^3yBhvCJm6~hmS3Ks*@~e8ba)=<5)4LH%dbW6ULFKpc-#7xzhejJ zrrFMypewWvK4$glPLbmPT~O0-s-fZ6|59nk=A(?B$!9&FM@%z*a<n{GzW!wsH>gNj zx&h>n&b=2v&g|TK;>Z90ovnAkoUJ=RQoS~Ej@{y&7eFhAYi+wgNALDeWnf^i{r{hx zfxlmZk%7S$wC|k1-<%1wF-3#F<sx_^jWvJkEmj7GZ(y$q@V9z{_e-mW_JHDPF34Js z&ilTd$9y}lzvwdrt(gGX2O1@EFa)^_v_`0VDo6}G)VDnnB=~<HD`??wC#WvEsROFL zWLrBK8GJi`y#!tHZM%elfswzT4df_q(8iQL(86U~9}u%;GAjdvZ4{W<3u1!LtZg-8 zWnlOYb|ZrV0|S5S63{eWuj;yPG-tkeWdItxIu3H+d;^eMKn`^2`~`NMBxogHuPt{s zBf~yE(CF7CHU@^?j&J|(|8M>YI*k-ug^PwE&tgGs1)V(Fst2*v0>jo4gsqwwwl0o< z4LCmQWMtUK4G9{bURKdAMuwN$*ccdW?O7Nc`1_WC0>lBtY*`OtGAJ-O@VAJ9LV=UP zz=6Nj0JN<M910x#tqVargnLz2gOXu4QcS>`84_Ir`{9AQl0x1++RC8TPS2Tw-|O zg^4yek{*DXc)g-l;Fc(_e+MYaKI{e!RJ`nGW?--do&CYz!Vh9HFo4#U&u4}u9VY%( z0nqk*%XdD#w#BuK4E$}YKv#lyzW9EK!G(o^zjXm<!WVqzR4XXCcrb!ClRj|ie9?U1 zzl-Gu{^lys366{)#U8z$4@zFV%mW2YHz+N)fXY<ci6CaHHZwda2!N8pOwbW{y{d~l z(UZb`J$N`w(L)ahzHo3joB@RcFFYJ{w7}tT1Jv~E6*U3}2d{fOBpet77#Lo*GckaU zJz`+wZ*gW}V6bHYMOW)|&_QY7h;iU=<p4RT8=7UG`*t3G5ejz6G0-qF7uY4B^$wpp zK(|PL0w>G{(7jaMkZ|dakq~g{0$uCt(QC`y&d9J2)RTgY9UC5a(W%M6;L>62+xg?A z3_Cm|z$fzcgD!6GRh`*^9uik|;UUqbiyjgzAiH~QCxUF^fro^WCO9O{wStR04RC<) z+O|PMf`ftKWi2>~GH@{Pw}^p4f{8(ZfxopEbPO^$Boz2t|AB65?^Wf%aF7eaK|ev| z1E|^m43<laL970HZQr&sGVBB2mIf|ICTf5kWD9Z7bTGxcrWN8KP)QHIYzCTJ9Y6`A z0b+YsJ6dq~cAkH6SO>W%D}}oOsVI9B0t%`B`}pBu!Uu7}t`=~Zh=A?>`BD&`2N*rN z!KE>O>oib7f}AORJMX{n*8#=C5m3>@0<qAe*Yr&rC>1;cr-G^w28P|B&a_YGf9Om# zs05v^4m$qrw@<I=La@!e+giZBZrBT|ycoJ66+t(+R`BTt*Ae_JnyjEh1VAaVSGA)J zEd*X1(FQpMTuN4gvOY@qe+I2f>$R0?V`SL(oSA{)<r+rNNqJ9RGlMQng?O=HFQ{t7 zZg+>_Ptcwru;ch!q`)&zj~YHPx^(_*c*xjtsg$GTB!4Rp=y1c%|Bj%MiYbR(I373r zX5??Z#0c{1F_+GzpfbXR<DnzR_0AI>ovomn&!zK+M`tUj@_TuX5uWrxgM6)17(u7r zLam$u4t;Qy@6p=}s`<fd5X->Ay&!{qx>F<te6+!NbQkFA7pS_|A|Bn293IUFIhqgs z2WzqcYeE`Ccu;x=ba4u(2A;YCRP}Z~^62cH@#Fvh7ezs!E!QAHk8ZF?>w(hsKE1H! z!+&stQ1lL%k}YXsWO#X(0qzaZCY#o?ptRPjdc6fb!i2Tp5q1KUGf^VU3ACuL*Vdq! zkzpSv$OLePNl;~Ac%1~z5G)J~rNutIs<jv<?*tv=0y=8t{);>elV1eFsxEDi;fSg$ z2+|YzqXN#9D?m-YUQs5n&v?a~z{&F^=uj1Gi4&SjUUGd09f$#rXy49b9`Nk)LJjOB za7MWe%5tC<x9Q<#L`De=1jRNeA{jh-dG$eU@m^MC5XJ9$!lT#rPa`A4K2Wvg0}hEW z6;Pu3@bV2KXxBct*@Ti?UN(ID{~vsZu}|^`&{9tiNKx$7U1PujYFfLhLx<i$-5=11 zME6oqgYmUtC-{6kkM0=IDT;^x`}EpYlrb`ZHu-?s!kzzKaD#M$SJy(8COCHcs3^3a zEV<*^?V_Rqy5!98n@8vM*MgAtI_TJ&=Hm*MA4_(F&b2?l%K*AREgpP-nta*APE+d# zpbn`=>+Mo?kIqBinHU(EIQUyjL5*wBT8v|imLE%BzE%O7a|mRPG-#Tik%<FjP88T2 zsj`PJUH<?7Z+IJ2675olC#-yRP-KF;S&(u5fF@9oLz+(a{6RCE;2O%WyTm}i6?(aN zukF!#MuvT$nFk+GPPpmWdBgC)i^oc!xlOy*rOm&XL4#|S9>*O)5yIdDuNYt0gRKVF zieJ<~R__J%@F0sfuQr0LhE$Hp2&+9%D#yGAMuvT$Q7U-ln4<))91(f0yB=ItXMibL zhI&S<MV8@h&bgrS3^XO#-3y9Zm+nFZkM2T^m#JSss|!84c|jd~(A^x?zL1_Us4Ifp z6aMQ9wi>iD;)*ZW^C0F)gy=qB28PXF|NjsA@&AAEFHG$5{r~?WlmS`v`J~1-ptE#* zI(tFGVLqL$A3!&^_HuwCzjNvj(5x${ul?7fn^k2Fr~m=q%Ini@=h<5iYH-{wW@LD= zN(G#hOL9FskNEVOo-Aerod*Cq^}wZ*_3m95uOz^;+ZR+23cN<W-x0igp~MKbbm5(k zCDMJJi9bMF3BgBge0$-b0vfag?|GaHy{J=}zx5mVSl=2Ikb`_c4w8gAD8aMym}9pq z$R$>tticGEc)?wQIDY~8d`qM=Aq#(af-j5v?$K-dzKD_G#U5pl8;*fi<SlkJ{N~uj z2HQ`x0W`GG-3kgd$1WCjr0tJILN+QTd^YhVTr3xCIQiSbm(+Cre=$LYfuZv-Xc>+h z$jQB?hTufC6_RMbcisZm;oE$`?aCYVj10S-K(p;2;w9)VA<#~CP*j2LRRrfHQ1p2~ zc%UnuSo3E=A`LXwlG}O1qwxqRx{=Ztxcvxq#q$>jKnJ1pny#(`rEoM?7(iU13UY-b z$Q2+0QW(AjZTjwJWkOh1GWmsrH|T^hUja}ASRO1*_2}$n`2YWZZzBT}sGY>~|NsAk z4_KiivdKSQ)ObTuk&|cV5zp>Y(1mp%_2A2qKy?Xt%;ZI$Hv>cSUXTR%2&}!Jp@<in z-ry4`7+zcWcBgW@cJSy0XZvoj7Rcg<ZJ<K4*Os>h6o$xaA8bLz)&bwnRF3XmkeeJk zeFZ$5k1_f%?*&C<_f$|`03GDd#NaUlbT-JrhpdjBB0Qk`c{qGKYtS$0ab@u6H9b}U z8n5{OB0&-2r*fZO(@h|;?xmo7=Gg7a(0a1Mvy*rKEl}<N@k(MmyF)p^E9bD>PkHcv z367I&!K=fdXNH0H@V!+4TM62m2)X+dY@<gfGw1+S@IrG7pI+1A0!9YV?NlzHGP07f zp^}k-zvVo*p8pRrr5mzTl)nWuQR~<p%g}neBCYjyg<GdA57@~d5&o8mpqvNI)Sb6p z^Md9}!0Sa1{Vxdx<!9((Fwmiu9+r%t{UVGW%?JJ?xmVGPfdPE9ASgr4eXRsKABz!s z3^6Oj6{T+sPc~Hkk164Pt>e*o5X3B1Zm{I#Z*>4A{$59r`?);$T~55z2MIuwl-%{~ zJn!3Sqw?|-N(qQQ-vY`IE|6r{2~GhXol`-P1e+FO)t(N?L!GV{e0uX0JbLRu1<k)a zMury~<iUYmk_;~SY+vPpViQ*0JifumP~zj!?XBU_d{6-Cek5YcyMHeN<UwT(xV&2q zD)0FBv8eQV+-UwOT%O_6xfPT^J$hNer>!LOba*fx{Qt1qSpl?Q8$7(+?XA&y%%k%Z z@(C9c!24g0{pW81H9YvYS22A*?!dypQ1aZzGKr)7p^s&fK-q0q!*Ac5m|04BUduH9 zs4ih`{!v?M4J~aT`J|J>)$p4~H!JTnNa%oWP;Uio@^%3)2?K>HQZdu*tl(<+t@S|3 zSx|UjE&n%vb7WEgowt+7QU2P;GEt!H=?>7XF3gP0KRC*{c7g`u`4=B7>PB<M%kuxA zt^ueZU??#J2el~jcqBMI9{67(_RaA##C-7mu8L*PURr^77lH;b8IFTn)C{1DPP<H0 z5KE9fI_H84n{qXeURE~HCM#GtA8SR@2imvjxIOxHK=Xkc%|DnxH$5ZCYG_v1I&Rl^ zZFH<v33P`>8pJY?VD)QRk6v5pO3<La=%Z{#23N!X`#_VKh6i3u76;86x?23>pK`#b z6Flfz%IVXs+dYMm;WfKYw{F!GkTw}m+wi|5cq5@tFSO8p07`C<_2$ssc#$5AH$aOH zJCA`5u<q^!g_q+FP|px@xwA(vtI;(^hJfG~yFn9+%|`^leU(F?g&LqW$)GB!WV2PT zB51FE>uLrD2IwZd<>1WRYx*`DG<JFXMGmMk03|`t-Y(D1qdvW+mq1dG@m!y7aN*s} z+<KtGx07}MRZzhLvc$97ACgaG5RnHSZ-&Mnf6E+D$HozIrXlX-jiA!&r8FqpfR{E- z1Fb(#1=VsYvXHv=`HNd17xtPSEeF+d;F`jx^FOq%^#U(Cv|V2TnpGA7RdXN$v}zc1 zY^LFX7k@<=7+$jc{r?|y3q6XT9J^c@kn4ONoA?qA8x{W6Nbq!ysX-N}Qh5KOS{7Vr z@VBl3l}i&qt3g3y^eB2?*{GB}vxzTx1Zppo-SOx(?aPAb<^`R4(s}??<bZ;<Jd2S5 z9GEtptVLHC8A|-%0m%<(|3kyC#1vE>L(lKVv3?&Ec59{JVF$W>*4OfBNj+%Az7~Hg zxU_FR%IMK+$^dmuJ?P%K)&nJFKE0-IGC|4rE$GgU3bRh$Czlx+N&-E*!!^K_8hqKg z9jNyJb_dFd?CABFD#YZ{4X<Tg4d41&J}s4dS^XQdDfB3aBlt4!H#iP_L5mTR!0d0n zt#A2TGk*X7@3<Fy@lJOus33RY2A$RAn_O?u?FhaGFx<6wIj9lh(h05`9S=TX^-TWr z;<pnxUP@d+E5^H9LD}A?I{|hFAh`4O?8Q4L(9V_rC83}swGpJFdnza^bu+#8_UMk( z0G-tYI%y*a+6Hmyd<JQNn1ZT`UfZ5(P{IN&yxa#OAg42~6lP#}x#1V2R{%E7qZ`~< z^5~4z=myVJcNQY<33Tby;r8f;l>VJ1+#KM8aym=61w4+saD$FXWoSOY*va%V?$`hS zFLpXIFidd!_5c6tpa1_i{(@i-AI2t?2I*x6oigzI|9=?m1Lf0;Hiy~=qCxd}?8{q@ zpyg@uE({DHzGJv!m}978NN|8F|F(-Rod>>Oa8W#AcpEZb;dI!g)AfQQ|F#>BmbY9$ zSKxM@_Uydk+4<MC^%98h(&>A}qw~8*=QYRwSHZ>LGf+dP^H{g5fKT!d*Vg})iZ7>w zN=A7H246<d!g-(0XO91`dUk^P1^g|bJE$P@h~1$V3{OJJ*%wVdpta={=RCT7B{~^l z@>k&UNnm;Yjv8=3!keS>0O*J-pY9SyP>b~c>#30Pup3#11Jn8v8<^1utJ%RuS6sqn z^>c5K(<&E3PJHY9;DKwkN*daHZ1Wol&?@)N@1VnQK?h>>nm$QoWO$J##=vmg6?6?S z<On)YZ{DX@^+YPDg#>EvR(N;v9y|}@m4v}tzY-YbKjeH46JpAZXD{A@P6B8>P&)Ia zH)utk<q!U5@L6J@8p)Cg>?lyB=g}+cQ4K0lYY)6eYA*20GuY_xxBLdp7lS$hphR%* zMXf!!WZ-WB)u^uBsSK{IPb$(ugqusJ>hE)m3{XM-mQx^|&=#>v=cCuq{^g<nCF!8@ z7k_&gw2oQOo`Jy;d~i3YK|K4lF}QjKb%5@@_-Y4sN9h|^!*9Np|4J2JrZXbXZGzK> zXXi0r%YXbWKA_7qy4Y+q_**qW?Ht!D498tBKw3Czj{N(MK=)Y5gYMP^)lkVST^@`V z{y#VdQ3-0(Y(_L`WTC>K#>{4o*OtdzFEOMYcfC+uySe(cHu&IxkOIVxDzRkn0)g{< z814h@)Un;)4LTIz4rpf;yHB_6j&77g5%z#$=rtdt{&Hlz<J$V9B-)el9%Si~M{no_ zpU#(%Oa*Vel%54QUjBjaB?32IN>n{NkMVC~uyVanvdhZ#VyUR3CdjDLt*`kIX>0=c zK8M-^9=)>Wm5dDFqY;{2&oI9H1Ky1R4$Iap|Nj5)c0Gf>q-?^~fB*k;{{R0UMuXV& z#J{2TgJ{@#0F?3%v|iYyyPU(NyN<)v@}EoR4@Z8VV;-Hg7ks+aJvvKIcy!D8B)<TS z&2`=btzv7i0j**y;Yaf-r1k?TNVQ>L0F6pC|74Urz<HweWa$-G%YQZJ!A;5f6CT~J z7rGsIJi2{PXgl(}-hotJgamtn7uz{@{^|UoTL1t5e@oW<bBqk7JRZHQY3CRjULIp) zV6bE@hKXf?#5RG&%3)%8AhCI1v1*uD5l9Slkf<eVJxr_&BvuAi*9;S@0*NJo#oA$F zbs#Z6uvj-ttO+D$1s3aviM4^mKo`JTvQCDHb%Df$!0M*M#QH#D{}@32m<<z~1QL4% z7Ml+fn+6iQ1{PZk6PpDR1GR-MS(n4a=7Gf4fz_>si7f(&%>s+9hlwo%iGl8_v}D~3 z665sfWnFcSk>PczCF?Gjz($ZjiY4non7|H@K(Hn237EiskbsjV>v@>KF_3_vCF?bq zz*&%hf+g!+n7|c~0KX;c6OcfbM=$H`bBqk#0Ro+Z9=#qShPS%~IWK!OAAIrc5M$|Q z)U%Yq<&_8cu+<l!%bvb~M#A1$GBCKdJmH^lz@_tH^TU6QKSB3L@J~6&anP}Y&$Z=A zh3L1#OeL(l|AUUMy8-HC#yQ5vf=AKzSTZoAIUZ+Ww`KTtn5p#6>-%Ww@0v&F2T#z} zeA$zwj11tR2uRTy2D<X3^*~7=<lLyIoxCb1L6sAK>&X&(&+c%@$P5o?Ju7HX{NVo* zP3-lN(~s9H5Ty&hJcHo@&^1DuCE*P}Q~6s!=fO4nw1V7?0=A341#}4$+zQ0KU@Jg( z215?n1KoR!a$V<3$N!)so<Z#$s38XbL5BiE-HB9(Li+m$|MR!-{r~^}o6~1j&;h1S z-~&vV${xLTh3W^59Ks!eRsT6qAqa5~6KE^vGjRL;0q91h+u%y7*Yss9qz{+@y3M)u zKuI2GVxw2}QY<Ja*;@}(xOK9gIS%EN1bKG*;~oz-0o9iW<#|fpdEh#4#HaJwi@&_! zHA|q%at^2#ss;_txWzIuyby*uBH5=`)fDUk{??Nfj-9+-U>AU5)(h@qA^7@O@c78V z|0R03;uo4~K$dR+S>Ae}bcx{spI!$>P(*W;)HVF%EvW<tYe|M@cR7bgZ=FErsn_uS z*m3X;UBa;Q;oZUK{j!%md+p-Ud`#dq#(5>jz~{xwc88w`6?{2}Nf+&izid|SVH z^1I&i?7ZRAc>ta#K;v<s`k?VSsJLxB{tL7!<-cutxJNH*$}!OB0k1Epv6(Eg(}VHU z|3@CZtg**H2S9uDvc`ZI+8({E{vd{uM=z@%h#~3G%W4W@fDYqU0WsJ;dReWHF)}nW zFvcEEn{fUA|NkKT=l}oz5B~rE|MLI;|40A-|Nj#WgXBTtd;b6bkBra#|NkF^LGpw! zx|uLOA$`=A{{$Kokq5O7(fS|I_1vDF=RG^GdUUhi2Tdq;gC|iuI>Ce29^LL79?9px zcVcy?aDXniS{wyxm_C1@#0_rlfzRsk={4<%0*$nR2X49<TMtxNb+R@bVPpWYK{rPQ zLW(FzKO4MX-w85S^3KCD3VdFV6lnZa3bd^SKAZUM#a__DB=Brv=_1gS0oZ)c&RB*9 z>*~@>lu<5F+tH=V7(6%@u(bJ?k`H9nIDb26WWb}B^(wd-DKf!>@zDQAC|aXqL8D#K zh6f<SS^TY_xe}jl)%}f(3@<^0NucgDXk8j;HstvW3y{xyO_kF?BQ($<E!b?x3S;nW z2ww&x!*0;Miu*u>Pv@td)sO|xF)R!WFG2UML&oCxn?bi6qBsWBgmv7m0e4JGF{sC` zh-GvRp#-!g-=|xZ9Xu<o!{FI`6m`h$wK%N(<;wUTv}yYP|NpM7|4Sl$7+=F$SD(<D ztcMOUG6Xn=zVP}8+RX@Qv#NV^9tO2p!NZXyo2^<w<84s$O1WG$-@CT{FJ1kb2^3Y} z(G8DI2@spLwE>hm7(75TJ>KA%9?<wMs3eGW1lNxqy|$ZEKv`b2DjYOW10QDuEq;R9 zfbcKqRL7Ux|NsAgQDMlyVDj((|0DnZ|A)~aHa+oEsQn-sRG!7YT*i*v-}mU|1JAX4 zSn?N1fm@>G!rgufU@=R7g&H>g`3Ly79f&>5FAp9c@aXpA084sU`g0V?Ky-+Dbo&Xw zL<P#(_$NX1Oh5%7`yIoAJsRJDI#Zx-Z|7DG@U+8JP#x^i*=qsb9RZ%4@agRJ`2YWZ z%YhP2eogR+Z2X$NpaV|%HK&3ux8T=|ZQ$2Toxrb|yMSM_bOXO;?E#N&)*W?_$n11| z;Q?9e;nC^(z@yhyz@yXkhQ|)jv^VIwA`kEiRo0nc<rXi#>w_i%Wt+fUYe+xo+l#vf zAW`cVH^H*3F<@CxLU~cj<I#8o<cny>xY)xl`t%tX5bdSl08enQ-n04mf6#)3IR>Df zfeXLq56|S|phgxO7lUKt{{^67ke;ic@!-beiJ(SEuiIar&W~M!EtmLPW-ws%{~CTN zl?a0FcLB8-__qnRTq=F@y4d6RAy9j6|3^@}2EKO*RDbbrixFf3T{hBuoU!4zQVC1T z?b6pRw@Vy6nt$;ZS$XuD2!aN{dZRwMSpIh8_rLFA`QMS>_rFi_aUact9=$e#pq;`# zng@=%2r%mD=`p<M0xf3L1RaG}r@$}3YE!_-;K(o7HWySA?nq87Nlj7YV({#2TLTgR z4}^d-5WhTV3lcc}IEF(~zztA=*ZJF{bE^b+s(h*fnCgX`=+tTeo^R{5_y<k_7W|s6 z4*&lD=hy57oqNfzITe)2_%-JifCZN}fT^_;z|__SU~2CMkb&K-%WGf>;(<r6=}S}4 zwB6PNphJj2D{w*Q;QE6X0e%M!A<Td<U#!yuALq#mQm4p(l4=e>)6xl#-c|vS6`+LF zD;sbaR6zJ1*!K_Qb<i5{PcN3}f#Tf}EabxP`2iI5a-gXH2Z?&nZ9k5U$3Ri<)62?z zn3182x#a+)r3;Eb8*p?VX7p@6z{tOix#d9V+t;NY#}9&{dl!0iyD%{DZ*$>h0;P}U zLyR_{=sr;TrsY71lSlJU{vsQXUK4Imbi4FcesZ<^?#l1~&&BeSBfsx8kK{uhnxGR+ zxk2&msd>QhxC;j)!e{C-Ft}>|b8Y=rC(kdy>YWEVqL!5b<XL!pdvvn?17G3CYF!Np zYirjBrF<TZM?jGr4JkukWb0t0XIOavUOCPW)@$)17ql3!+w?~jBZFtR8R*n_R?vP- zc8^}$HwPIRz~*>%+kx`kOGgwl;p1zd66OYImk%U;fsQxqoT>n(dNsg%`C1LYR4?c} zt(F5N;PmwulD@#y)C4d!w*X8nZ2(hiCxEG~3&7Og4Il%%S>3B3eg>B^rky5`^!4}u z|6Q>3^&YaO50t(vbQn-lQ!6NeK@wE!2~c9{Z503++u3>n%$xfFO!b14fs+w<G~v?= zFCDa$<#fEo6r>g@b%7Sr!Bbc3-GBf8LsHiSP{9K3KMsQQWvLBMUo!jxtgo{{>8rIC zR4E{(FV`NAZq|1dpnx{;=-mtQ=!;}6P}$6S0xSwDlc7nDiGcx@<bG%}Fd)}J;PeJ6 ze?WT|L5p+#y;ut}rS(9G6ez#BbXb5&R*%l(o%dc$hRBq@0v!q24BCMRF3J!cR7832 z2pXUH=Gpn@MVS@@gIBMN0;r|vYKXF%6SQ8y@^O(g|2|_-p<@CvzWFd{S!2m_P@~cl zRA&4DwK~A|fZT&{FLXw|`7k50{Vx35s{ezma^&Cl9c1WzO-Qr%nc)G~mj537E;l?n zZ$Jj5!G<C<gX14$esF+C=kFJfKpJ~Rm<>;Y_J?@zyPopsJOS1idl;b!q~0+sxQo5z zK#4xYNeD@Pc?SM{A3&~%1R2(Ppo9-}7C6Xxp!2Ok>)URCGA+7!@c9N$&|x&+Jv;yK z@3VX1tN}V6{x~CO1(6H?z88-C`)pKR=z`ZDK6bHu0g5n&25W{Aeg1vbpi|%&UkGS0 zFt}L0D18YMmhkCKW&|&N`Ukqc^@#>3zm)C-xBg&365|MM-@)3SApdpodo&;a54!Tn zfuZGOi8TK<e#1)*KkNCY9%8%z>Yj3f<Qsl+l|Doc8hChi`TuV@SrP?OWO(4UHcI$7 zbQw7`eB*8S$mP*n_1}TxqX)n1ujT`cUHmO4OH@HxJUV|h{NyUR1{uEvS$CR$8<$7( zq5mKo-@o1)d)N@%7K7KP9=)ayeHj^Eh-g5fUbw-67c?yB!Prp22wK^35T?ZeT>paN z`^PcYuQ3iCrQeRZeus?Y^u~S#kIx)n0v(andGEzh(4wE#10}2t7BQgod4wZ6_An@X zK=n6deyEGD<s^R#xTXi?rT;En`aZp;Y`%;Puk|4A2Nzb~UPP;d=0%TqGTs44$hQ|I zAc0;P7N;&Ag_e^gISoG*N{k&X&X(%=bpAku*aZG<-r%U^-xdH``@#rPCuni1<oRoE zaCrN4{&4Ah_3hyO(y5&n;Rogybu|1^DQRx_70=&N1zO;6=t9FUPX4w$P*;V?@Blbj zJHjI$$v#y7HP|umx7-2GUVZcI{QuerydSn#RmBI?$9(ppMU4S;LY5EXXRtq?y_gGL zHVN8dCBeYo0=jU-k$<24iwafH?71T-Rp+WQFjyWgb@%D~4a(n+4R#78e!jhFjPOM4 ztqNKIdeo7BUmfEMJ5|t1*=LTHM@z0aeq&L&@7wvTMD8VMeJRxczkNHuz-0JaWB!B6 zc%+GR{wB}=kRzx;gI+fA{4JLM|NjR~jPtjF*85=34)F0Dl<)wJhl57HUAoL%TfXtP zECYwkSC3v<VQ)r;*Q)&T3_i@cCqN4&dSw~BL8DpsUUaE4Ft~M@Xm~Onb#3`pQVNpo zy!XOW6&!Sq{QLgBhy*Q6?Db^?9iHLSTm9do^Rx^9z6YSa?cgx8Q~_n{2PM*J6C4}t z7)oY=!v?g@?1daes`NQnq7ftpnZNVt{Pp6a3OLK}2F=U8_33<pHY^Vce-!@(fa7~P z*jHaXJO6{@4zyyi^Dw0F*`N%LJTGwMf%BhZgN=$pNhSE|26zm1DuZJ1m?Qtb8WqMD z)ykkKeB)?&tmLBOH&=%HrQ)wWVC9WZ=WpN6r(od{W6);5Uen{Apv3j<g*s?aW9MPm zenQClO`l#B@P0!6R?rQY;1U&QVn+5~FsQzBgzVMtHJz8j$lwBAi9G|fX0h`=WbGp3 zVVBO22Y<?YB%k!@W#RB(JOLW5^G&|)(Rs*+^ODEGR|+NUhL=3Qe|pVoc**hmcaL5X zW}jZ~|6SZ2Jj{;G#~D47zdL?Az*s8i1G>@uxM%YZ#?o-`WH0C{rV=(#G4`7KnA3mI zDR=*TI<I;5I{tU;;_Tq^?5+3@R<7|n8!0~`Ddpeh0b2U@uY=2@`S`yQN3e<VAQSnw zaexGm{V!E}eGZ`+<bM?XP*o+XK$>2!_v!UubOnw4c^-s>Aw~rWDK9-be{}If`!AiR z8XnzmIJCdvmsF85=n@Dy&?OL(&`Tf$k1@of+Rwku16pqBm9Vs&EZvV<V}Q$JczNp4 z_(lSBLSN?>k8aja`JlEAWU#B(^nDT|!;3^k(Cj9t=?|V(2X(nTJCFPHuD$RVHl7VS zP6D(#1C;!A6e0CN0VrK{K6}BY1mWKXEztnAJGxnO^BEbCXK*JNo&+^ST2GcrflA(% zlNIl}eL8FozT|3t2rh?PPnJ9b%`+SUEtKrtdIH>1y}t{z=KIAOMNlDs>^0~><`;`W z3c6W!puPYNtcXGuw}HF}YU4m_-WQ<?;K2y&<A0!Y$-u3Gub}b2Ja~{C16_@5dNYxc z;e|KICeQ@+EpWy??$J9J5gwr9WMJVT15>yX)<1jq;uA!y<hp0)5zugZ=ld616&M&i z8IN?aF!y@QZ}=%yq>hNv2{!R15-j^|q>6+b`M0^KfUX*31S^v)f8qhY*c>$b>e=g~ z!syX?_%*u+<6)2HgN*#!1bd6-J2d>0Dtg;nw7=n3e92RXhJTV}_d$VK4qDxE@V5eZ zGx9T!&RZ{>6&M&CkFm%xKms!iq@bJielEoS;J^g6NgI!V!Us7pIpndlcf*1qIse5i zc~F5^B4v2e#lo0>%0Umt)0!tdX1G|CNc=BlImW`w;L!<bp~1>0c=-rw-(Cle*R*~s z3HD58_vmFg3K~cOuk<+f!UeL{(zo?Vi65u|SO9WyZw2Fv$8w;B%<`U{EO(&mQa$Av z7<!!<9Xr{5Iv;@C4$gMq`%+(Q1*z^l;&>di!wz&APw6I)Zr1lXAb)ds^xD3TXJpuC z!oa|=3lz*R8sr!l_Ji`n3q3i|QDF`Y9<BdN++dCd4Z{3u{Z^;!*!kV?_G`%e(_uzW z%ljn)p4~S0K#JeJ(3E3fc>NsYXnD{rU+{Lm;eo?Q?R(IA7>~v`8Q?LC-Wi}iS?AOp zpbG~&zk77Ex`3Ss$*rAxLBkI(c)@--2HJF>05TYqL_tSVfKpno?0OeaDZdpoLh)M8 zqgQsm3;4WEkTX8Xg7Oh)-70^}dC=KJy*VnP&}x%S4jhBv#fZJ8g7J(DFFwnHg^v1k zt_6*SfKH$RnE+1B|6e=@%ht_py<Iocqw}W6!G{W<bvE#%>e1N?8analwPEx)_+J6M zN$15C&>Fwao1pcFom)XeDxL?QDfo15?Erau7ic6K6#SmOGGZPFe=C6c37x$apxbnN z9T`C@0y<k)fCgaX9T>n{T0z@d8f8G|XMx4NJ6*mqfNE-A%MYdZJiC1vj)V5GGI(^i zg6!%oVD#v9`wx!c=6_85t)RmqRxp<EJ2li;{nsjG?=G46r_*F2_>>#W`JRJ}K9&bd z(hV=YmgSdc@a(QR`@^%l<SawC&GgQiX)K_zFb~TMCD$DJx5<b%{I)N-)9_oXR2{5l zGh?&OG=@@Mu&(Bs=`0NVQxEfR`~CVTEI&9}#PEoetOTnz{Qr8bM|UeY_zwP%_3U<G z1s(hh4y1!W<y^W=IGXo@f`y?%-tac0J?z<CbC==8HqbIe&>aevb3p-B`Vtgr3#CDe z<G%THF9k&-f6GBoDb+g{)bEF!p9)S@+~BCW|AJqJfuW&B;=jI6H#iY_^vcFKF*1~J zr5$epk6Gz6c=YZCX$DQT9hL@doqP`3=mm<x?x~;z{6ZddZe?dHC>6hK2AAZ=Jer^V z^Z0%b9Qdy#(k6KH+K72H9|sK~GI=!rXXI}wg4|vu{$Hz9sJmw3pH7>Jjtw^ATBTQB zbAsAuAm+(#n~9w@6Ios#K)7z7BO}90S@4+4_ZO9*^@-iAe3_t(4eGgHD3t{5@d7!n z@dzlBfeHp#4Ph(=%G}`g7A$K+`X4(wLKqlc{E=i}@X$OG;nBHu!<zs9!9z(~G9V^{ zN9Oi^`2GL?J{Cp>h8Nc)LFeB5SPeOQ;CQRR8W>9h&T@dWBH*lyHUIyE()_VjkXa1J zS|9xS|DU1xH&d;HN3ZR}B+$s8>AN^a2Ezj{Bwm7!=VY}6I{{Q`%}Qis*e3!nwN6Pg zFgWfP0&RES2-?ipId{RD|NncP|97_TS@ZwDW9Jc29_rPtNCZvb*p?)ME`fs1k9l;r zg8b;!9rJ+$+~;`r;-Mrc|MR!_g3SV-JaG;xWW@~XLLX!Fwfs_gw0SSc8YcdpRAx{Z zOo95%aX%CIcnnqHL`DX~+pl#IwH?1agKOt^$L8}a$6G<llNlHonh!Ht&jmS?zxOyV z1A}YlKcD2+a96p!;ApVW<!@aHy1oH?c(w;qLj|L*55LP#@cN@?FO0x$D_I8FR<<C4 zk>Q0rL})TZXevmE2P_2Xd_ja8K*C=oAbvdx*=*s_Yg!Hxz6TWs6-^M;Ng(0lP~pXJ z)vG|l8=%6jAb*3FGnj&{oCy`yg9~?nR5w9|mEpq0AmMDNFb`Zf4I~@_6$TY(5SIjk zgl(b1pmi*+o!?(>0~e1jpzs5QFXPLlpp*}b+maUoKE2?<Yf$SzQUa8B|G$t0n^B@> zc&Py_r^G+ykVh|%mPg}3P%WZ)!DB{44aa{aP(==^TmJ8h0VO$o(3u;oZ~y-XJ7?>G zHUIy=SRoD$#@1GT28Oiey+=SvfxokyAM75VUT}c|s)<&KGcb7AvVwNPHaGKwBj2MJ zoSQ(4og2g%7+$^sE#?L%5`~u!;B1GNS3u<nb`N=g?{@qD!UyaM@;qen2E{|y#ULIs z6a*cAaCFW8{|@{uDuU?#xdpmA3F;piL70C)SsCP?4Pp!oj*aI*<;+V_kn?+OIpV<? zTQnLx=Vy4}h0RlN-VO!L1$KiAF8<aR0-z()et0w<0To9`1s5c19dDfj3SR~Wh7F9J ztuxmA{}0Jcpla0cwoB*U9c%vohvlgtP$o`3ZFt*puK)uB!)pWN+z2}GwtH^Fn*aYn zbw_t^#TwAm=RroxUT}tNkp*dngt<qz%L$GK3x<;WjlaKu;;*FvG%MT*(F0nw(+VmL zUYrmG-R#8Zll%ZQhioPaYIz*<=mcBhk$l*rv$bFi=)@J92EWcNe?f@{q>c}?OtkZ` zS7*!L6Cml%=P!PP?nLWsU9sl>e~|EnHUIw`{(tclBH95Jy|L#1f2ZRue;+^t1k_dU z-U@bzu_!2&e}7>v3W~`RIm1hi4R)X;?$i0vgYhC->h|kZ`3o}4lktsLFT^~L&Q_2? zKAqo@(mn4hP%`-ry6A27|Nk#Gh=2|E1t|jOi|3&G*E+v}yHlX$ww|5GG(Y%uKKDs} z04`l0z1S%NI(COenZdX752(%J)4dnuM{r^G?ImcefPZ^y$m;+9(?HkONHa1ptYiQk zcF@wq1M<)}zg`n?7<n?j12uzuzyWgqMF5CC_&~t}yn74OgasYHaqy=?gAKR7NB2~a z9i>_xjHf*g{!s8}KJX9P|2)Rb;MvXR(JRB)V8f{I(d+QP<c(){7{_rYExlw0&u%-< z?lKO~ZV{E&u4%`a^*|?^gNy=|BNstey+JMm1ck*CVNh7`w>oixvP|e|aF#LU1dYmo z>JX3asi0W%=mu9#9-TK|eEb61KXA;mlSRd)+uFDFKYvRO7pTedpT92^bmhlwaC^(< z-iu<;RdJR_UHE-ofO?ajmiJ4azjT6B{rkY-o)5k}4ixSshL~aQDvTQD9^G?6o&d+l zx7Yk&k0Hcf{15^=+M|0bii>Z(u>bu3|4Y#D7bG)*MoYj6+o#)fNdkCoX+OB*Dk{Xl z(0K!zfcUq8^J`}-$gtMi{Cyul8<%=b{USltqi46BPp{2vukI<}ST#KG;*uZ(!|_&9 zTNG~HTfn)%we_1v=Uh-8<L`UJ0-8Bs0UPYW_`>kyad3M8R8Dwwwt_M{=sdoy;GpP^ z5b)`?IqlQA_rYpViDcl@yOaSO!p}WB&%Jmm2ugg<U%V8AOk#qh^cj3Q!3`v@Zj;ZT zT)a*YJbf|~RK|5%c=Vd;#Da!}UiozXG(7O)mjK9L3Gkfy+^2Ub$SzQGav3jZfa^Hu zkoX8@28Pf4TD_oF34i#3&-_~8GT<|RByWQhNGk5cXMVw6kfVLNO?Bfz!7kUm^##b) zy|srR+dIPEg6^~jUDCcb1~h7T$ne06Dgg#idj8BW05ve`fJd+CtQbay4U8{h1waF; z;Phq&={W`pfQs|~rSCku?Ox~zfYLOmTvaHQ^61?Q@;=DjpfiRXJHhUr%mnI>?EL_8 zNAg^db3kW&fDUT_^}me;z(XbcEuclK9-Rj}Z}>3&cIn;V<iNo2S_n}lPjGBL#thom z3fV@<S@Pba^OlF^A&<`E;DaAtyn?KZEWO@66_iALI)AwK?mM_2bk4$FkfnwvJv)!M zSpKT@L!=>}&Ihio|Ld$e!KHv><1>Z>;8N_xbckX6E$yIQX!8LDkIq(*2OOJ^9dPN~ z3bFuFa&%twOup{Hc*v*QbayPMEdYzW*9r)?gU63SBVnNV84v5JAd^aTKod3{PXBE< zOP_f3I{iKF^ap$@oaJHAvV%i^kkpo5X+2p2nhJUF;u#+-tw7qyp!NuZPv>(;j(j2B z{qH|C*kwQ`K5PZWO!G6Qi|;_mFjM+JOcpe8{;d@x%UBxT4OVvW9Y^ys&@|2qK_9p} z(9+-UV0EAg))JlWttp_Y5T2gcUW4v#0k@JodQB@qOTRinX=)W8C{4+AZ)HGHe*G0_ zGt_@jFRRxy2BO-dw-@9K!vilq@`BE`0C5;f6F~FPy|x}vj0`WH@-i^I_V<7^)Lc5h zL6S1)Fl>+RUQkYP-0ukP!r972F*57}v%#+Taqs_spKepd7*O*boTm_x;@NEmDU%v` zL3bf-1y$@W%;4<Oyce7q`KKJ<0=FVcgh5NBs$Z5eBaNSR_ku#N`5`F8y0?NF?S_|L zxNidOPbs+oTK#m|qZ?e5fX`s<24`E3Zj%!py>lTe8ScLTwcSBg)mmN#27Uq7_z=*1 zYzr$$nqPo563UeXHCPcj>kB)iHhBO(Tn6lH52)$Q2N|Ju`Xm=f_*j1A?=k!R|Nm<) zMDga+ttuQ1Dj8T*K(`Np+71UCL4E(Zpq&NH#-K(RFIxyBg9pFwP1nx%j+)0En~(qY z=-mr)RX5l=NbvK3`(ArNrIAOk>7HOvf%eO#^P_L)GtbT&o}jh&FBEtfKv$fB3SCh3 z<Y7G*)Nt_VHO&rYWZ-X={Pq98OZQSxID%GEcjPmH4%_+f`27edvGKQbu!7P9xEsjd zQq2lVQP4O$%MHo~plk>(vwP=)6nS*c1to^#trF0p^mr?*s|gyM1XqU%JRno-JbD8d zJz5WV@Vi|0=rxrH2KOe5K<&2PtspZ%v7*fZFM9v8fUE;03Q(?d{B}fvztt49{S?wf z_kd`6agq}pH7!ysV4d(3CeO{l@Dj9L71YQ3cATYD(ec}H2maO%C@oc3+x2DeS5Tg^ zUFZXf3{&O+u;X-Z{r?Zq1@3xvoBBk8qLI&|*H$2akzpU`x@quO!i%e13=EFnjw_T( zg4-{)dLU^TPzMF%_!rx_Kp_CqX9SXvg-gtZ=wsq<(P9Fd06OOj6eBJF`8#5m;89T` z;n{8H(Q7(40OY=@ppZ8_@WK>qEHrxbxFAh%ke7~wvk)knURHepRiLbsB0wVspzgZ1 zKO@6FEw~G$xfmE;Oj!;tB3?3l0T)6qo0%CH4FA8dz5D<F%W`nDo7EF+0H_{)0CGd; zEyDvZwsL~H`ih{gJ}CG-x>=RssyqT18Fqo%=7tAe^n%rah6rAM0-4r37gXMWV(=HZ zW_%$6UTAv%g#^e$`}E6mlj9RhOME)Fu!0mGZ(#)u;^gaPfX+|27z(OG@4qktHReF0 zj@_W@qVupvukBwU1_tm!R=biw$BA|xd|?YxWDDZ)x0-|1-GA{MbX6LL6DERGcHVz6 zm6L%1!{TI+#Su`8cY^eTEVc!&zyVqOB_C$7|2|M_?cj?eAVszy9)Bxn#}+7Y=Yh^T z>^5bGEU|>;xYoWu|Np-f1ew*%`Zx?0O*25zqymqo5>Uq24-Ufhph*-^E7_LWkC9;? zDEJ|XFaV_H+i^zz*1e$pNnj;RASH-&stdZSt>r&|=Mu0AP?D1M11Bj^H_`CGi%0D6 zG{@iC@%R7#m$M;##VSzw)XRHSkCDM~zbd%op9+eceIT~sfftN7|NnpK4GQ93+d{Bf zQBOlghL_+bMmH-L*khpN^V}b7A4sp^ffq%f6E^oNfs#-&XsK&A>jO|QgBxrO2$efQ z!&`<2UO0o5gZhpyLm<jGLY2chhP~i|uRG)fhexleq8}r}%V4kvz%5B=jh)&Iud!!> zeFBzz(WeSd{h)Rq=x7VjI-J%2L8k(zIzuH&bD@GBz2Kn+kM60U{^|=AJ(vO?=m-KR zaj*XW{{<*!z>R}aBY4r&!UisKUxQ96cMArEhG<MMC|E(qGQ-Yh-gy20|K`0Q(;4{t z_Ar2Se0!~ls7k@@8_(`qh8ON^kYO+%Yj9r^vbxT{S7n=5_nxPqJ}qb>fc1p}8v_GK z1k|O4i10y0K)qRr$RAb)2ESgNr;yI)Tc_@pr=ZSk>w&tde!VJSwkP8o!`rXLAmhE@ z3MTo4hvjMhUeJ<N&}g?ux6MtEX^&s5V+9?(!lLr}M)O{9wNWAky6g<pCT%|c;6*<x z15(!l)Q$xW-f%Yl`|r`a7gU|R(1oxKK;nTAwg-q^+V~H&fSSKG;61o-+X@OqaFTiN z0~^Ya1RY3c0Fm#7%YXG{WO!KzN)X+w<#5sYAkj&G|NnonoCSFeAAG$Xcs$ml`HhB0 z=Vy;zQ@=n)h8LSabrGl--~esw>^us};W=|a>EIYB1%WP=_DQY=orD4EO!h&>-EuGZ zbY~0rbQe4LGQRidjNReVoowORE$7o&d%)B3t`EQaYtS5LJ!n+xGsFT<ewX8*sf|w8 z4IY*!JVApSz9)S6-GBOY{`S#)4KDA%(<irlx^qFBA76NYG+N%^Z=DQE+}*J!;OiYg zeN{!z-Z~DS&UY_BNBy=Qs3`R8j??gLKBnQ=eB^)WU01^=pbdJSoo79|!8Uqy-Yjne z&6Im~9(8P}Wvut@&1Ee4>eF3&z}NCGf0HX{MRRxV1<=|1J|5k|9=*1Ppc<l=ccm6+ zKRc)l+Xo^H54^Z@<^TWJ`X1e`J3P7tJbG<aAqpG73PA-4tTfqt1=J^a|H7IXH24JC za;$+g@&xw}Y`i=ew06T2JXJL_5LAMKrm7xz^qTSqFfzR00M$9I2TH;~Q$wA{4ZrOI z9Ut~Wlo`}=C@Jvl7We42ec{i@uv-mu`VWXOJn+H*?1b+xc0fvIN2s}=m7f;i1y&N! zRd^8nwIKb-8Ti9xaN6WV=qow#!X4Bv>-_!#bU&6y=V8arc#hWFkfqR$-R=^WH);b~ z50prHcGnAdfbvK-s8w*>9lUYhu{)llx7pr-fuZrRT?5GN{GK-&AA`D29?8F7M1b7c zdY~l3qxpb>XQ#VB^Wg)Io$(Sro!<?=8D4s!#st>V$_rYD-CZx>nH<gmO*|i8`~__Y zwshwxjrHvI7x0*IjD=Ck@b=3;pcz1L@C0ixGVE3d1rLaLc?aA+uDt}iKdSg1Xond; zsA1&C$gmsK8$jw3JiYY)|4UGT4+*M1kP^_58T&xQOVF$sbo>VvpN=7*6|M^4jP=c< z^PfjI>p@Uu0Nx#Q!vj8T^x`(C!s)#K;yxn-19WCcFDWtmSPScsfB*l3YVAe7kmdqt zrw8bYhC<L0Qps@~p51i<VDE#vw4DcE2!juu{O@6TqeR)WTg;=^wgaTIm-m}5sAxt` zoMM+iiSzl3dEo5Dst$FTwd;*iH_(}pjYmK(2c=i=+%Lp5S%_&Xz@~w+11wLRxCl-s z4?)#1c+B-i$*vdjptjq8)ir&L4F6TvfyoVEaub-`0w%YC$sJ&F7ns}wCij8K17PwH zm^=a|kAcY(VDc20JOd`rfyoPC@)DT50w%A4$s1tu7MQ#PChvjC2Vn9Mn0x{zpMl92 zVDc51d;=!mfyobG@)MZ+0w%wK$sb_y7nuA5CjWs+hJKLWnZP6qm}CQ!9AJ_QO!9z9 zJ}@Z&CWXMH2$&QDlM-N33UqougHNxlWIrQ=WAJ~~PG3fb2^qGahR3u2|Nm!1fLM1x zEKtzDyaZy2fy7RLSb8AVJ`k%I#M%O4fv$dhxeCMroj&t&0f+_Km-%uUhy^-J{$&q{ zbqu7V3B<YtVpV`xpsW5~g4XM0yaS1)fW$y&`M(6+Z;=72QC@;}6=i_V{(tEPk_8>w z^wI{z0^Jqx(g?%?owD{4w7(<+v`hJ=97rsNk%8f*2#A#hVu9{k%cumgKxdX@bbwgj z{{8=-F&)Hu17a-$u^xd~TS2TFAl6Y33$&>-;|hoc%1jxc<1An90?C4oKmh0G3~nX{ zhL_7gVxV;|FXw<*pn~S*BoNCEBnz4_&hP`V>Of-gAXW*81?qXe%mT4mKw=3X7U*E( zmti2*GLV=Lh_w~OassiAfLNd%6B(C5EIp7I=w92GDj?P;kQnH`n+!J4DYBrxbA}j* z#Rig91F=B+_A|^ttWSUc|Ics(v0i{!p&-^h5Gw`50!{B^6oXi&Kw>Q*7U)u(|Nj{U z86I*lFg)ZCStY>mmE!<-B?rU*|BR~`8O|^=Fq~nOx+BBzjBzt71H(*q;e#>^YuG^t zlkVdbz97SJk+YeRf#C|5@KG6t=Ukw(i@$ISAC_Tg=b6RGz_5^4__++j7GBU{+>iN$ z_scMR<EsS?G79gNVQ3Rr#l*m{K}dL$48viecZ>`S8%2cI$uJxd0U3E*RCt37!!6Of zj0_Ch#ibX^FkBL^W?(ogA-zzB;e|vE1H%(Z>G?7Y|0O~9s)F1rz_5amfnf!sa3d4L zZpKgskk}<ghGT*Z495gTHm_%7=n)cWT+hgGO-SV9I!1;$!Xoe2F*0lrUdhP7a8rc; z;X2To+~0l-43CqAPp)TV_?CQ?g@NI82LILdj10FjCJ8ezyr~vnw4RZnxn>dz1H;q? zMuC0n85x!~F#cd<V3^y)DBQlDkzqp<BWQd6u4YEz*7b}GXPX&Q7#KFTFbX%XXJk0i z!uW!XfniNIqrm5Nj0}6a88`AWFua|?C_H^VBSXVX#$CJ&47-*wiho_l$Z&BP<84+3 zhBa##RUd=6YZxamGl2c2!SIihf#Dyg<WWh6>0DjB3=9j!Wp+t2>=ln=V3;i-xn7cC zi^Lp81_sbxP0(xwXzK}x{sJQY|Ns9PN`HgWU!n95DE%Eu|ANw>y`~^0XfG*<{tY7j z|Ns9FO8<q@prQtZq1^xce7ro|T$~*2Y^*HIOpKrr84L_k4;oYeVNg2;9fQO{7$gp& zabaY0u&Kc&&j&gUA0)xRzyR8L57Niapuk|qz`(%HpuoV(pa6C+7m_-Va*#T1EMkIK z#DtK<9HHh3BZ<Mx6G0Mlf~pfm5(B9NVO0hN22e4t#-P9;#-IRNF2|q@6;okQU=W9j zIYY&ikj&sjVk<(~p#AnBa|vNKsCr~|ELg;l<<Z&6`Nbvi=z>UmS5*V!3M<fQ<Vb=e zh#9VGV4OLE{m;N~0(4RsJjV64c)1j`6f~SQ6^smwj1-dd3o45;(=$pG!tyhdQytS& z6`b>n3i68*OEUBG^b{O(auk9<^2G{4sl};9WvMB8AQM1XAtWQSSfMySt)x7$C{-b| zSfQXOza%xeBsE1LsS?TPoWyd4#5}NIW?o5ZQ6AXv#2kf^qSVBa%+z8%g^-L?h2s3u zqU2PC<ouLW9kBYuoE(MxG=<EPVuh5{qRcX|wqhNy-4NT#GE*RyVROAgX<kZdkwQsE zs)CYdNT_azLNLs&A^G_^#p(*~sd=eIi8%@ZrAaxN$qGK1$*Fn8sY-eZ0XeCO#i=?9 zMX8A?U;}a>QVMCAIjLa#^NSRUQqw@j=PN)A4@ynW&&^HEO94Am!ClYL(oi8kPeCcz z-z_BEG00UR#NXd1Si#LdNFg}D)z#TU!O_n}!7<du(_g{a-^J6<T_HHc(a*&($R$__ z5z3Bvl?tWBsi2T3!3glwqTI|9P=FT{<wF9aBqOmz0jw}Dza%pm94~qKB??8Ux%p+O zDd2zwtI12vEXe?QAR|>Fv9u&3zo=LtFTV)vJFLM8isY2k)ZEk*g_3-QjKs23h1|rH zRE5O6N`<1-f}+&o)Vva~=Zh5*i$Q8YL0?>&S(2EPnUh&kiQxsXU1|A6U?U1jiwg3K zQ$cP}09lohnv<eXlv-SnpI4ljl#{9eQ<##PmYQ5rjA5FdLWqZJkgI}cu!5hzLbzj4 zkfUEnBsjc7JUoLHVDW$yv=DDwDY%zbDg<RFXCxM-=qQBcB&KBMW)>;<Cg!B(<(Cy_ zS1M@01oaSt4xzyrsYOXe`T5zYddZ2JAm8Zoa`AF0XQt()q^2o^`}zk2$9wQ{DW{~S zW#*+K1bDghwG=|~6#|M<%Tn`76qL#ni}Et_(ybKKRn!$S^As{uQu9hO(=t<w6!MD{ z@=9})Qj3%na#M?o6Vp?n3ESP-SwTx5Y#qq9_;`1}Q0Mq~UM}T=qQvyvL<Nw7;>zNZ z)ZF-t)Wnq3B3>@#)V!3;G>{|pwG@I<6LWM+GILWEic)hR5tor!Pz*5?>SVVdM_<?A z_yE_S_+VFOe?J${bSM;?8t54yJm>4_<KyY?7w;VD?Bf~?RRX09Q_VnjqK1Q$zkhH@ zyqlvlR1t*IFw`?h(*&{gwG@hz6LT{2(iPGYlS}f8z$qZLurx6zvkD{%N?s|MX=$lN zsd>q%3Q4IY<*BK8pv0V?n^=;W3{LC0iFu`oISQG1#U(|hxv&%p_9MdW=#Btc55pQ5 zL7=aJ>Q^mDM8o}~sfp}aS3gH5AJ_PhAXitIk#O1o&Qeg&*HUl>m3SpZsi2HisgRVa zkeFNoD)t~{Tybhi3B=o(#R_RTiRqv$W(f8PEMWaYed9g-f<usug)@ziECZ*$lEfTn z$^vC2NB|{+ihYHW%7WBl1&z!+h19&#T!p06ocwZ4utgw`>1!!u=H-CWb6RO0L<1;m z=BDNrr<Q;cZ*qQaQYNI3S18Xc$xukk$xkd%D98tw{$O)p4i0t=iFfnycMQ=eC@In@ zOUx-v)yXT(1;;<!<uSZm)o>0Gj2K=n1qFr7yb^^>Ya)~@K-6Pb>ErJopkb(Kt>Eh) z=Bfd5nl)5C$j=&?wg%P;nF=<bfV5V~)Ye9IImAqe`NVqxqFzBkp`fHFIx|+mRskF^ zIQ;@qUkkB}2r`D3tCqZo1VvzaY7s^hdivpwKm|~c5$}Hmu=>#`#1oaUC{)f&1C{;Y z0*IFjoLiAHa<M{nyrYYYPQ0U2u#Q5!Z>UcQh;noWk^W(>ItuZ@A^t%i+Q;AB6C@n$ z;pqla<P_xS=j@@Q5bxp{22vIn1QHDia`Xe4<QD1&QVhx*ItuZgelDItuFfC@0U<&0 zo_?MnW{7JrhzjrzcMZ}}i1+b#2ifWw>|ARNN_?;q0OY`UXcb_HD3L)<#wHB%15_MY zwXdTyR8#>)*gwn_Dvm4+_B2EsSr{A!n8M&7!4!ss5Lny<$=xoVVPG)@1w#uY;o!ia z5Qw-TQk@wO4p6YTktvdDQ22sH6%>rXHA7x1q}7#}k^(Afl0fZ(G=;>Xba0i1T4l$B zq6Mnk7|BprG{rkB7$FJ6qAcDSCFnrW2Q>smH7Gj4;wTRG@plIcDkz```+5e$;>8dn z(gPsr8#x9Xor2@B2!kUXB95#Y6zLFA6qkcaYN#p5sv(gMR*xJ5kVpp$qo@Yu1BfZe z!q7+uDMt<!P^5#z6ckW`798miab(qyNC%4}3xgvaEJ}8yLv$lM7#`^XC@zCXdH_n$ zfg>H$5O5xb1O~E$L6HtojAAx8(jnp~k?!c?qEP{@AFCCr^9zdOlk-ZnZ8ac8fR;vu zrY5wG1C?PQ$!L&NthTL21x%(|p%~Q1NCsE$1<83O)(V+v3L1(arlvx*0*JOXv<7uW zb3rD+j1NFIzP7fu7LfxSoq}<>%PBbC8CfHeyPSe4cNZwNBO8zEE>Nn6ISe(tKr$!} zL%0hhh3qhL!V6?ZJaT}cxy#WR<}3v?cY#V_WDg;^%h4IxSqfyi%h4IdSqf<G0=3Yf z2@K6$;A#NLVMy-s4|7F!7+LND8IL=>zy%L9#8BM@mO+k4guB2}NDd>%U0^eiLku;% zz$G76cY$TFy9+Eup}W9l;C2_dzQyV;uncy0fu$&P7uXEk?t+y45Qm}0BSZ$tVTgEy zNFf|XPCP=)KynyrJi2&>K^&!^fR-OY)e?^K%f&Mc;V7_1(#utl@yN*@EkA;4KbXT% z!wV#X6k4FZT5$=ew2qDkNg+FoobUpfffQN_Xzl`6zfgyvx(h6W>@Y+;f~AlgMvl9{ zW*|EZH6B6DHmI}E;t?c+>@4tT1|+;dQb^7st6T+{f$S`_@PaiVKyE_~FPIG6ZHVxK zNx|GkPI$r0fV&MfykKn@On1R#u(%5*MTxs$X5eras1XHn6R3HM8eSk7xSK%Ii0}eQ z!Q2FrAt$^*X29J9G6XHWKuve3!%*D?Y2P806bN^LrH~v(j=R8SAUh1zT|WNqP*<Us zU!VpilB<x*2_JuVBv*knl3sp+jK@=cf!eV!hoOcSNCrndf~1fgMoxHv%s>t<XnsVr zSV27n>@EYz#5-%pgZn_RphLtaNIF(q+Zw3=0jY#Jm>kD~jEoO}+6W6xNCYDs?1I$x zM+r(JEl>*|IV=&5b#!roISiDT$tv0$U0hH?5*n1S!3P&mQx_VN=<WhZAvp};E|3JW z!^jCWkQpcrgM=8uU5GX|hPzN3*+}l9eG}USlv;3w7pN5sOLE9r6{Lsa@B$eQOI@JU zfEHfhrY^)`=-~yHLPR7YyucDj4kITX!Db*wB$~UxO<nBn0!v|Y7g&NqcY)2o<1TPh z7rVQ_QrO%DmY~pGU^DQz3#l!O9*>~bCL(zum0)ye%DRA>l#t*;ZJHTrfm^JI;6id2 zNDoqQkyU<y%s>t<^zsYbq=YyOJ-onD2!|okJy-(CVdSKHuo=h>gQR<2uG9+91iwN` zeko|m7COdbjV@kLln)-A!H|HtQXv{Pl@*In1Der+nivnB83PX_m*r=I=ZRBG;>&aM z3yKvqKq8vfyj&n!p`f%l116E2pI2O>0Gj4i(8@_nO3gv2$}fN^0_lQ_mlmWXmZV~p zDk#d#!>|%G!<ti^3YyFVkI5?}=a=SzXYEolixZP_Qd7WlCy1I6G;0nuMMD!FOdy{o z=am%2gI!;cUto>U0Tu%L6cq0oD9W_8HIWp;{G_3&fT~Pa7fBhi7eOi$i;Gi>N>DW@ z*xD)>fTlHJ6%>-^LC!{43aRLk_~5}c1RqrKX;dIt?+dQ!kQ6{haS#IFA{IppxNt)e z0T(MMB9J~aiV&o1K{7ZnC<H|TI8mdBfEqU_0-&xEiU6#Sf+7g(AfO0>TIZk`1Jzz2 zjBp6JeT*c9kU?%5qv`>*5s|bgAdjv?TU!WYV9gw45wu{3)$B-0FazENGvr+`gWd%_ zpkbvalG%u$2IUx}H3_+i$qH%;xy7Xl8h-hC3ZC$3`_vSLu+*aB%>2A!$W%0Jl|^o1 zGQ!~8#AJ;`9fc$vg=9?y4UI%iZH**NEsbPw+J&xtz^<{l6jh@xrbh5m3&hF}@FETu z*I-BI5YI5j5LfU*A!k^A_f1XCNX*MD&IM<9SibQOh<El6^$UsD$S=@Q$OA7F(AQEx zHpRan6|(wD0c=)kkwSP;VnIP_5$Y@t+@$az$AAFWAVY|eWr;bO3JMw^3K1&kYK`JG zQY#9Ika8iq3S)?AU{wkr5|qBs9O{#wo|&AOqoAe`0$S5mRH*=QI%pvgcwGu~2?=;f z3XBahM>#d8I2FXu*HTc|f|ck6B}M9>MP#AHkf|<5P(f^kv@|9k9x(ZN3hGd8>I%7u z;H46v#a^IAHYrMwH3!a>>E)Su3hBwo3eNet1(`X}X=`XV5mG^EDL{>hFDNNeuvJil za*>K#c*uZbtU^;k1KGvewi@{b%F57cRtHi0=NCX~SXc}rugOWtOia(qF9xkp$t+fI zEKAJH0aXnOX+`<DU<Zep=o#smKoSmUb_2GwN6XN_z`#I3TLCKI>*?no6dw-~MhFHt zhB$lpxQ4m<#K&tY*x4$W7#JCtKoTpY4pIot&rMYbhb%cN#vNQ5{&_i-3gsE8d61P$ z;AL5kuq7#wTnJuCqJR-s#ii-#sl_D<1&Kwec_kUC#i_*#iADLPc_|8NYG4~P^Au`o zlt4>#z^gStr5gkz)<VGyNv$Zz$xO~HQAjFEOil%_EK39>4u!<rq|Efv{L*3tP>NE5 z1Q^odC**)m&&w}LO;J$N4M%d55~!l~2Q7mu&n!*_FSD}(Dap&%MNtJ#&d}lm6p~t$ z0)3Dv3V!|}uEACiZ<9fST&1t2pa5PysSer`4O$fxuMSxplv%8ho|B&hT4tHA012;@ z)a0B*XyF1{+*6iXR0$3=uqp7>JfO9j>X3Y*4q9Ub(VU!<SeyY`e*|9AlMf0sh1~p< z(wx*{1qFmD;I)OBdC57YDXEZkh>*2s;H8s#1bhki5dn4hrQxQ4R+S?88N6f=Ih?>A zEeGX!@S;2Ls!6D8k$ePN^Qlk(U8x6JbC#Hrk_lcXm7k`NsG#nw4)z-;q(HI(Mfq8& z$t6&)Lfk@WasinFPBDlTtB}Q#?vNOE1FZ%FDT2frcybh;9u#a948SdAeJyASotd9U zN#z2nx`?Y_!0`ks!9Z1rj)H-vH8`i@u9;Bk9gs$a`~n4pMtD_(vX0Ru6;$vmfELgB zCMFl<LyENg(h>#rYIOxQ1@&5WaBBj(hBmc0RiQW|zceQWw8SnsF$dHthxA(#b8;#b zAq5+(#s)1(fH$-dl>umdiVoO&3K|uf7%Kn~J_L<GVb$;ALX>_`gE<~%0FwP6afku< z?FTKAfN57i)(=_*1oi*{{h*N-m;uQ8!Rv=W2H@8ZZbia8fTSNR4)y?k{op1i7X4sx zBJ_jXr&#oZ#fi`l=}15gKyp7s9Ap4~_k)HlV8MqR{@`_0px`5re!wFDFawb62Z@7h zS0JDt+|q_RAK8AeIM@LE?gw{HVEVzDKpaH+1`VRaoTq?Q-ai1O1MF2K_k(&;VCxCE zAJ)MFn}MVsCayz3Kddi?t{)~&NI$3x2-XYofCiESK*O3~4`2&F9ps<}8KI+K2=0SG z+rgmj8{AZA5d&=z`zDrTAj)afM!$kWVp4HD!fZs_UqJzEilHXRNr_3tNNszCG-5P? z6d`NMAx0BO5t62~oc#PE?9PLD800*#A|y=;#f3#B*foLDc)SKk6Ic<lCWV6ha;%!5 z=@qOAqzFY*YDEEIO{o<HD4KHe)3It&PynZWh)p^9=}4M#^3x3s2x$T<Leiw5kerV_ za-rD@VpDQHO5`dOXXatG2}M(JCaA9otJ4$|N)n0CRFa6IDUlfGffOP8DUlfGffS)= zBF1@%sLlg%jR*w<SP`;K$@#?@gfxMoB?DPgab_N2O&~?cno1Ih&;(M1tSK!wKLxAv z6coVq3OGf86lsE6hv1HuLN25Y1lltM+M1J-59*{t1ru{XTbe2rAjJ@5Fj8MjAvZHm zKR2-g)EfhhVq_L6ge4YbCgzo(7C*U}dGX*;5>0GH5F(4`X6Av$UUW2)G?5Fv+{6mv zv?o?z)9&l(N0fG7Pd}{M9V3X-?ihhpJCT0(#qM`sBK_`*>UVuDh2X+c&~_+LUj?)i z4r|0HD1Zt`aD@V|p%8TgsHq4oMnTFnKnpFAQ<;K7aA6TKnu80AuxSnqB1&^$5W41K zu-6D`hA2bV3<(#4njy+CGzW${2DuW}3|0oy42q1*^gM7b!4nn5ndx~rO$N87!Pyq1 z3}!N-U=AiuGe{X0&7SUlMA#hc>Fx*94Du5=78HW=^GgVL4OCO7;j#cxS%Z}!S>Tyh zmReK-OUQ)n$;>N@2bn?GCYVYj%fO>KsKpkj0#8aTPK`IhWugYWDu?A2O&tY<Hkk2< zXi@;l8pY!b46Fu%T97&U=|=HsFatrOXBnvqh%pIUc&{D*SZGdaT8VB3s7wHlisq$& zws3*=pC*F4$f?DkfpUe6M9`K_h14|AhDjyxI2(BI2G`gqvj5`2qjk6f4DL*XgFy{X z1qFyUnE#Lrgcyf2z;GD|)rQ5ucu=vBS3;@_q1s>ug3^C#iGputp1yBl1$Y<>=IG+o zl6X8do^iZ}2Do!?sHp?#41&v8P`3cY(9}_Y8i1`f0ZZYo5{NV#qpm=jJ;66~0;&BK zKrIDGl?a|L!B%rPI)nV815ydD_(2MhtB%~_QesU&nqYwqin~Gg529vQ&^TngMqXlW zs*XYh)|LjSLj{U=9R-jom}#*22((!U=w@7$S%`QA4WuYjFw|5~Q$w4G!kp94um=~9 zR?zVwn7N3qFq)|bn)U`(Xr{X5<d-Wr=jW9a<>x45r&gBd7p0*39#lvuC}gI^gBa*h zVib?$ZcPQyPF`4Q1t|w@kj14B)LQ}d#0@nyLCO%WR!~qV&&bS4jn_!lgs`wR?vR5E zG@S+-I0tP?Dpp9XC@D%*P}0y;0`0_5*HKqU%>&PRr-H`YL4%SgPE<(A2Rkt(U!fY= z5%FM0fPI0m%eofgB2d>D*_8DB5{M}T0tloI*%F1MqSVA}u>Aydf)ygPCg+1@@k>*Q z(F#+G(5;|Qlv+|+l!r^V2BP#UE=f$zjtA`lj?YOgOU;Sb0UZk9>>cmo8W7?U@8%p5 zALJSm8sw*`2{jZoY>LY>OOi8iT7(E%9fX~rBmvQf>|}6vv?N|54>JoI#Uos74=Dum z5QSi#CX(3(npOs&)fC{lQ>3km;QoqpMrv|4DAl<7yMd<uAmtLIR|1=*1xbNZ1&9Ed z0-aj0DK1IL%-74X1Es{G)WXtCP;vup%2iJTuTDr)hm__>(>CxyZ&<;jpaC5S2Az<Q zl&XMhFc><lUItof0-i6>KrAHz&mn5^a#e%tSIFv;oLumrJIKi(tgoezlWV2mlUQ7W z7})`N7(CVk$|4|DP)oqeQ*!bl2Iy;{>jJ5UWd%oPl&yTep+2D9Tp+W+F4fRVOD@sG zaH@i>0@x4Myj;a4R*(z^nblNKv{g`#F;Le8WlfMVkW>MY1nq5x`Vk}rU7}(Q^>t!# zs)D+%I?`koC@Mg!NFW}`FDQ;q&MS!ptt3&mQ@2(CZT-^LgzVl*&MQ$+1C_#{{Hl<d zmx5xdHnOQ8tDzVi$VLzoa`F|_6nsN{KwH2dO*mac(57uiaQ$Ts$@kU@wGh{WLl+cy zHZ}@I)(XjB$A_w0L0K+P3!$|;OgBU?M6niB3DhZY3d2o~&dwk=fsMlFB$x?cr-338 z;xw2r8V&Ix$cNx^3MIJo;r>uXaU{%XXhy-g&;bQ(zEy)8Sp#Rqsaq+)jD&<q9g20J z`o`T8CHRp8&<1Xh9hx?{gFv+)B<X?DB`5*u8pdiWfYV57QBi)8HE8x;TN~N;x)!F; zSkyJML`sZsry`k-!~{<UfLc1(eD4Eysyl9{!VLpWT7gywfD?L&I@G<%`MIDqTp(4D zz;cBf>PL#9pbVM{GZYdC&`{0KEkO1!$R?6-enBy4VK_LUVoz9#L^u?~O30v)ktVi) z^(D(dXb&2jfx%=L2%d++74-q68VH+Jz-3@GJlbPPH5wGO;Iv;{0!{Imc_|b{Imko^ zhD1IzC4oyrPq;(%h;t}xJ_eW1ZHY4m;vNJE%1$}C&|C!fIV2Co7^qu;YJc!KRL+Tc zpi0~Wv{Wh&T=T;WfpoHqQ^CtuaIP*=2X!UX;RB;dr6md=^Gb_TQy@KOm~nV}&~Qb$ z$?@RD7@*1)#)d{4NDXMsL2_ORblDLS4@pg0a*2kL5~%S6(gDuw(CAJ{O-n4zDY1e? z7)Tc4M+LY1oSgh}&>{_R(+afa26UE8N-B6^66i3i{4@nma0?2g2((-w2-b9R%LJ|D zD9J|{s-U0%S^AL<J|_#jj1_uNQ8B31R+5og2@X`)s4~Rl)D+MmFd(yoAt!o)Oa{jY z^t1|ilTKetAv`lDM<KN$v$zCgBBD{3Sqyb2bj2*llOPOj+i4V+q@)%V=_n}06oFea zRtlbZWr;bNDUdcE$aj!_AZV?Fx@xg{OrDYssJ>9pRWJmFDa<Vqo}e>`JbglgTtR6G z(>*zvNuX9HE(fJnWR_^SBAEg<9NOqqhSDIHgD|8UU=6a!Gfg2cU%|B^vqS;DR8U7D zs}!_A8QR$ZhZ#s)EvWjkv$It&v{uN;R{*h$tigx4fX{J(*#d4;gHCJ%kAWdtny4L2 z6^-JOBJ6E?P&x$5g1gip<8&zpkQ3*8Q*-l+K!?IXmqVB2=jVV9%%a?UT~Lb{<W>dO zyo|)W<Wx`+0Il<ONi0cJ2+phm9cc%(RU-(r1PzopLJMH)b^KBji$F`&)IIY`Qqxn5 z)WLe7oqR}-M4_lSvno|1vm`Yaw5k-u$xnlFwH098yb?`t;!@B@5z<2Dfddwr^x}Pk zo#Vq?gTQWgfiBI1t$tH*HZd|Zuu{kaEm=>@OGzwB0rj*~^S}dppi)V}N&z%d0$zxe zo>`Wf2U&$woSa{f3S9#kmRSrs`zpAkG$k`%0c9B^Y&{}0KWjjjr&}q2tObqmKvOQ* zan2w|C?LWUH0~G><nId(DcJH<1z4vFHMxQH#)I_6gW@6{q)G#{q)HPs4pLl#B&Dnj z5{E3`NAyJ9Q%mB}3<2xc0iB8jDnLQ)Ysm5)@VX~7weiTNS}SOQmc~MK+2V45Cb**j z>tumEis5vGAhPkOj)tqjbS|j#1eeC=LJUO^w}E2?9sxf2`Prof3L)S{q`C^A@rT6B zykdpSytMox&`D_dc?yY1p!HB7<G{%gJdy<tDWqu4%mc5Xf}X<&iVH|oLMs<=uR1<A zHCICuk@9l#^RtUV14@v!ekEWxl;kUb6@%syK}YzN=0J|?L$a_Ge2^VHAwjsHoD4d9 z3^YyvI<76bL?OuE7ZUgoPsW2iiRf&D6DGLF403LKaY1Tww2`SPXwwL&;Dm=WD33y` zR*;y67M4^6PMVsC?IX3=Er%_o11&BL_jOhPm1LmmHMOXu80_IRcqNRq_D~_Ev<Ou0 zfU3pJJou`1@Tq&C!%C7<i$M_vHb5^Kl9kIdQj0)qC{q!^4Gval9Ap+NfaZ2Vr$2%M zPG1Wgsk!+npmPI@6*5aeB^*KnIPf944U`NZAqgqwz{v?(DuK7HfJ$cUzDLe82xFpS z6>PzJKm!Dz6{*!qdV2afnMv`fdCB^q%|5Al$$H63Itm6l3VxwJKDCfjJQWn+3X}75 z^|f#)QPNS+HH2yeTLU^mN<m8jR`G!=N{}aDdDhp}H{Q_)G#h4S;^Y|;te~Y2s&k<W z1;Oh)!ONOUi$QT>W}@H(n$H8DvIdU@&^e?E8mSdl(9KMmItt)Lui%x!nI#J4pq5Kw z4roF!KTpBf2x0~#CXn3$S?}-S8sg~b6AY5(<$|Sg(0N_(v>Y1j8t)Vt;u;JZFaZUR zf`S4_%+L(%16u_{Btc^%sGt!qS1r8B1I{Vn^r;MLH^UmU8Vd2@o_@wg3ZP+b1q}sQ z#iL+jt6*qhV1OYGYH1jQ#X&Uzv<{4q2UR!m@e1+rpz-$*&{>b5!zNR6GSiT3iVqHP z0at6mU<DAf<IzQJ6bvmbEe#BPKqGo-AU8ozuLLbvH&P(VTF@Q>SU|%ar({!_mz|ei zo@b|o7<yMmccVM_q)Z&vfa(%(HH*csu$?MkXM>6<Xm){YHq%nbP0fu@%*n}5Mj3Sj z2OOw>0oou?0?y6xpaT^1@^!$aaeN7w(g6=1YJm#j{N#90D-E`Z4P<OuQEDpDrh>-* zv_R(vf?A`9YAF}&ws;LtaR@z$2~<pij0ekTD8K?zM<G7m$J5U>J|5yk9R;OaD<uVG zkWS=q1C5yGC&z2#>40S5W)d(_Lm^K=6LbzS*xw48Itoh3Ak*^{lynrZ*aGr<Jm`o> zxCJ0*gF_o6h27bpEgj(Y7AP=4)evYtFEv*KysaiPFCCm)K;w|{V5h^v8c||mt$T14 zfRKO&RW9HSdf;(<)ac60Nrj{V<gw$l<Pwk|NH<t-enC7LT2Yf@JfyHeM0;?EBgzbd zv!joXf(F=~kd1`MSz1#EvS$+FjQDsrPajY!KvALzDosIW(IJ_k3F`HM)?kBDJGfN} zN*j<C1T34PI|MS7p`cNK*s7?b0OH`c931&D0#xs%q=0onJcH>FNVf~>6wp=?0zm`z z6+R~@DBv~$>L)_J0GR-9V<V+dh_xUAP?~@R94Jgd2?MlJ5|mEBs*tCNY|(=j6vvRN z0M)~=A|THYB`-mQH5Bp;vF2_=ojfCidQimXCxaC0DCD7()}Y*oC8L6bH9*A?vf+@e zub}oMJQE^IBl02kEC*7Hhy|o51GNNoKr<gmvhZw$MH1o;aEOBTvSJBx@Dv+7vLLMv zP!0eW{_!5r<_Aa>FX%#L_-X4545R0*gU^N^J#W24Vf4Ip1xH$)w+<fBOjUpnAA;&b zBr(Vk9;zUyH>Q_ihbowonOA}?SXrzOnwbR)gH%J#c89g0K_W1lQZhlC9l;8fVLRY# zQj3c6K-1Kq)+l(}D?+L~GcP5-ycnVZQM|ykD&-e|s?lP-3{X=RE()5rPb@9T2MdGB z90h$XYK)?R#(lM*8$H46H$Yt@Q0EpbK?NJ219hnVOhg$S?&};6x*;Jx*xM6wdMK!f z4bILi0C$Q(Cqp0~;GUlb8F2s?=%BIV%)GMvY{*IJiOI>}1N5N<Gpt1Sb&QA)a&`6( za)BIAZ)jkIbaF39*4e``2-dDJLz4qnuuw^4IT!y>(E0AZju8+^g9;1KE?oly15o5Z zhcUn{llY?4<ou!(c#jV}ZlRz6K8Ye4W<6}^A}2pDT|oi7A|W1f{y%j50xAJLwgGek zDky?L2kw-B9001D!3_hjiBRvt3{8O?%TZjCSX2^UoSKt{&<>SKE-eBjV(gNj1>9J5 zftJZ(l_<%_VGqO!AnQSn2E{aJJOwdyQj(YrnzSg%S4d0-r$%rhNJ&iwU9bULmk!d3 z=5COQknn&?fZU8Jn3)GUJ`WnAP?aFJLR5l=7kIg#!k|HMh%i(D>F^S$2q<lW%tJY} z1hl#Wd<y}VB%lCJ59l!jDrPbvC)<KsBVc)OvIE5*vTQ*~5qR|m*nCiXFt0Qhn!1Wn zC1CLhNqPu5a4JGcLs0XfUP8nV+#gUGM1Z2|0Hpy)IH8Ke0w=ya86|w6s=y9O1GyhG zA6A|WZnHwV)6hN}IILi!!k_^r*varZ3Rz&)pkx4EZITHZI)R+W56Vu^#1A=_ACf4b z+Ce&sONx>UDmB!=#z$wy>Ou0MK`dxe$pAj@22u)F0?u5J+z7S`Vkn9dM3|zf0J|^? zEU1vBV55NI!YuH~Eg*wH7|E3&E~@pQwPDd&pj!cS4WS7bqzJmS1;m7_heRSYV}fkf z18oEbDFI=)GFTcRs1OwOgcW7x!AcJWTLnbvh~!qd&7dqt&_IYUKx>3-6%6qE0IwpD z>+vgqlnO+-8r>l9L>wqo!O@JC5W#sEXEIDo&W7Cb0FO^-To!{yFd&<^K_-Lp2qYU9 zgW?hzp0LP+$SBw<z)itOiICKaEf}DA7n{$qhd#7W1i1qoBVg}Cb1k?l299Es@egqJ zLadVmms+Xi;8}90S3p9U$e9{+B?@ebU|woDc;F1wBvOES7HlNAk_U$m)HDUqJSoJl z=#haGggBxDG;Rti8FC9Wz+QkC3_6f{S`)Oc#{hKK56DW;!MPBdpge^<gd>pi8b}&> zsTPP2jb(7qf%qWb=I5nlrk56_g3N*W5;SHEk_R~rW<1mZNCgF07Eud;#!-<<7^r%X zF-UqqT%-y0{L&H~1tp~D)3j1Ztw>Hy1zoa*WEkX7E4`S!m^_qX5@Z~BIvljn4G}C* ze}ZH|AzM(1BV?he0Hh8np5W`dki#jUv^YZnn)1Q(U8xl%3i){@`JmI`le6JT0u(4v zWzgyo6fUsnLkbCyLU4AovjrE-;2cXrpv4qH2F<`}MnlsI>JC`w=_r&GRVrlW6{Ui< zI;JD6AR`1p#RbTz+S;Hx0M&Q!>JSu&pn<XE<kH;IoWzn;&^Zd=b`)e33?vW2VE0C& z8WO7q<HL$(ZClXF2~Z11K^NL|fhmFH#8^E@F#*+p?hHst1a8ZM?tDvy#}CK};5<rJ zy$FglhzBxb^}tm#yl%9Gr4DGcBSj_1PNbLzaX}b8cY?%_QZ9%K8b|~6G!W?*-BMjc z!WQ9hF`9#sG6TqJ5GLS4sAG|{NoHPV3Cvvd(gZaE6>JqUp;kiNhboO0zY6g5K!hGh zO$n_q@Tv!gCZu%*&h?NY1TuIFS?&VrQGtd=kw$w#Tu7|~Q4T6a!F2{GU4agTDoO+G zxj-&NQT?W1qkyGAz$g|$IUF%c4a?wg3v@v9zzVsb4Ywd~fDb7G4FQ8gQ$rIipQDwM z$Z-bCE1+}4z?-@t9WwOj1Di{Wj0;L>_zed|DA6SXq(=ac8u!!^g`~vfYz5GHI+>u8 zn?S1-K&3bM@GEe)2VOdW@;9iYQ?SDpLuj#R3n_A=b#*~nKpiHKPe2&EZ%_&>j06qM zOrRVOaXV6pfnhPc#RZQ?tZ5b!vyihSv2|ylc>~(bg4u!`fbalO1RckS;V_Iei(;du zl|nFRbBRJOXpLD?szPdRK}n?|ktq|Dn>3J`wMaEIj+PW8*fV4GkQ@2hw$S<mRANI? zHmtJ%^*$oTpjx5H4Q?E^fB|U&1rCNHXoZB7f<Q`<A``?Vpc8H=sO1bbkc46$Nf&rA zC}<%&Uf+Y91W!pI4hZ9QqYWZZK`nVQ+=$X=gL@bj)KCMFVhH3UXdZzwA*m6>!KEG4 zSwLwSVD%Fyx)J#uWF9fG1<?h!85HKpc_k#q637rN=@XIzK`wz|;$jD699qnf=q7l7 z6z(xtj1b`_xE^RJ0N!we6on|BfGb9_02*H)Ps7!sN<%Ak1zk|tTLiwr18M;%YLV62 zDWFCPQk+616c9}|i02Rq3cc)s9Sw|J@PJ&2WGIM>Jn#g*MG+<torzpM!2Jf&gESDO zV5@)#IR$M6*kB7>J-Q!lK*wl+8p+UPhvXbkt^_3qbU%Wugquf<H<8Rl@(n1az};{Z z^B^@G#9C-fL1PEuFM{nX#39Exsw_w}frhfR6pGVwOF&~2N~%T%#R{qxP;6eTplV(m zlcxl=9-=q}O|hO)nu4l@o^hIjsyUoQ*95Xb!BzpQ1qvWrU>IE^$TlR6SS<q?0Jj<9 z3WzbFNuD$Xq>EfZ?NCrygGMYsV~`*=#8)5(mLM!LDOON5G{x$7WK}5&3ZTFN%@M&? z7=et$sL(-OZUtRkU4`&e(52j|DGI*+0l^B6d5Jld#hJxmDFu)sc)uLO2=JV>LQ;Ny zaS8NVT`L7u6Fs9eur?jY1W-KUE?ansjbW0isY$Vdf~t`*$a^{pN;Qx<A_awDS06V8 zkXv+hb!$KidO$J?3eKUvp+1fwo?)(F$r_w)1cf1J84xH46ciMS@=HrH^HM<ufxD2! zU=}E|K~@WaiWVp<u`C_R%FTqXB|?`4t*QVSjP4z%r4T>BNsv_#4n-`GrI3t*p2-Qf zqtG1+O36Bi3LiWMrh{BmfzIkyuvaipuu{+f-@L1dDBTlta-g$G3i?QTpeqYO;R3>N z^`LSKTKR*<y%2-BQ1e0eCTk(wf}|YHM0ACT6|iO>nnJkMh%yRfvjKJsk(-wK2zMa# z;xZlNQgF$LJVK4#4yaNzldyOwIj;mw5$T=*xe2RBKq&|mHHg{*ygnukv=Ih8ZU;)g z#X1T~kkkq%iB7gK3$P_OkhvxKC5bsoI<O>#6vPUUuz-aVjGI^ista+YOo$$6wS<xu zaXCZ@+Ec+&7=r=^-Q7wtdEo1`LyA&Ut-xg)E`vcK2O9VUnWCToA7loFTwZA|hywNK z!86O?{a1L)Es#O*z=tqECg|$wLMezCm;@U{&0?Vhvs}o8`5NRqaNz?TYJ;aukmn#1 z##ynTjkdam)(Uv1qd@JRERagrunEX$5Jqa8fVd!x5i2?hU|)meU>K<%0TRN{qMD+F z<S%6BBKr-=6buufDF<Xa-uy#y<bh1YVjI*xXw;%*RHc|a$k{BAtJ6a&3sMmkxCSVS z%JYjryTCyEFw=?>b5j+RRdZ4_A&FQ=0jY_q3EoMTm;xG~*VR?<3UGvvoq)_i?yqBO zGb6<pY@@#hXh}L~H$zELDcF6*nwik%EXc1&I>1{nL6<in?Lq`8!3>TP$CQ*}aLxhA zD=4TM8tECPf%oIV+OVLx;mla%=maT6AMk`)=@d+al}W|<Ii)43P<tt~613f(u${i8 zIVG6|IhjyPDYetlnFuQ#ouNJig%_nE3p%=p2s`u3pgyFAo#5@)ge?s&$uB~(mBO$E zpB+rtQs{v~un?xuQt%lAge?uu$V@ANSxIqbft>e3*jA^a#JuDTcnDMIRTs}N!dALu zmSuuAGeZ4Jp_QQ1=Lp*gISded)E%fmqR>w839E!H4Jk^@gL)E_V<@x~wD*RvouFNo z3ZV86$eR?WBG6gQgzfan&o5B$%*!mHik-0Y1PI&fnFm^UnOvgan37UtMQI@jJHdgl zy#e`|c_pbuFfUUWub}IJ2;1ojK5Q#FKQAS-M2~X6f^GyQ#?pfPywtps%)}f})KchC zAAfhkR{G?pCl+OvWaNS@q&WS84k00ICurw9c!!@tegP$6n}TsV11Q^LX&1Q$1^EXd z4lV#ShM=u31<(#bD+SdQaK}YQ0i_iWZRvt;u!k=i2HAi<=|r_<!CDH~cJC|XrY06c zHnj#h`YJ$n@M=J2@Id=|Gg1>l=V&WH_x~qWWagIUDu9$`7DM%d`&0_K`FWWo`JnaK z;5DA$jwWOeTq0<1YcAyE0CbZ<yNyy4lQR^+O=LY@E;NfE4#96#N@iMGYEf!la;id7 zYDsx&Y981H>LvLF>fp_^>Ph(}CHcAPpov(}&RwvfdXW28ut|Z=^n&z^!DnDV+y_16 z5adGe%{K~(pyL#a@)gvPcJ-)(&f!YV02z>(2fBbQHAMlm${VzO8`R~g1a0O;-d$CU zx}zAh$TT-KuLNa7F=nWMA_ZgzB<>*LUtF4-3tsD;kqX|92fii+WEC{zlXCKtvx|{p zB&kvXx?M<9A-@PbCYPVAp$QJLlvMCWLU7C_RVsit{%Ar%EEk#tz-|C-xl_n21_uf( z#K6H-l9`(dxpN2<;Lu~MA=brfAlV1vWP f>(XRYyjW>p$=6Jb`U7=@{{A$!3UM# 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%0AVVKxp14;{*g&9o2{z_q= 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 J?$$CrYXF^qMtJ}L literal 0 HcmV?d00001 -- GitLab From 2c319898d818728fa4ded325d5a7614710821071 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 24 Nov 2022 13:22:56 +0100 Subject: [PATCH 162/620] Fix formatting --- apps/decoder.c | 10 +++++----- lib_com/bitstream.c | 10 +++++----- lib_dec/jbm_pcmdsp_apa.h | 2 +- lib_dec/jbm_pcmdsp_fifo.h | 2 +- lib_dec/lib_dec.c | 33 ++++++++++++++++----------------- 5 files changed, 28 insertions(+), 29 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index e5f50cec20..f8eb9a6a3e 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -344,7 +344,7 @@ int main( if ( arg.voipMode ) { #ifdef MC_JBM - if ( ( error = printBitstreamInfoVoip(arg, hBsReader, hIvasDec) ) != IVAS_ERR_OK ) + if ( ( error = printBitstreamInfoVoip( arg, hBsReader, hIvasDec ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error while previewing VoIP bitstream: %s\n", ivas_error_to_string( error ) ); goto cleanup; @@ -431,7 +431,7 @@ int main( fprintf( stdout, "FEC: %.2f %%\n", arg.FER ); } } -#else /* DEBUGGING */ +#else /* DEBUGGING */ IVAS_DEC_PrintConfig( hIvasDec, 1, arg.voipMode ); #endif /* DEBUGGING */ @@ -1149,7 +1149,7 @@ static ivas_error initOnFirstGoodFrame( const uint16_t numOutSamples, /* i : */ int16_t *pFullDelayNumSamples, /* o : */ int16_t *pRemainingDelayNumSamples, /* o : */ - int32_t *delayTimeScale, /* o : */ + int32_t *delayTimeScale, /* o : */ IVAS_DEC_BS_FORMAT *pBsFormat, /* i/o: */ AudioFileWriter **ppAfWriter, /* o : */ MasaFileWriter **ppMasaWriter, /* o : */ @@ -1837,9 +1837,9 @@ static ivas_error printBitstreamInfoVoip( goto cleanup; } #ifdef REMOVE_SID_HARM_LEFTOVERS - } while (!qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_5K2 ); + } while ( !qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_5K2 ); #else - } while (!qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_4K4 || auSizeBits == NUM_BITS_SID_IVAS_7K8 || auSizeBits == NUM_BITS_SID_IVAS_9K3 || auSizeBits == NUM_BITS_SID_IVAS_10K2 ); + } while ( !qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_4K4 || auSizeBits == NUM_BITS_SID_IVAS_7K8 || auSizeBits == NUM_BITS_SID_IVAS_9K3 || auSizeBits == NUM_BITS_SID_IVAS_10K2 ); #endif BS_Reader_Rewind( hBsReader ); diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 871981bb18..8b6516f603 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2189,12 +2189,12 @@ ivas_error read_indices( } /* handle bad/lost speech frame(and CS bad SID frame) in the decoders CNG synthesis settings pair (total_brate, bfi) */ - if ( ( + if ( ( #ifdef MC_JBM - bfi != FRAMEMODE_FUTURE && /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ + bfi != FRAMEMODE_FUTURE && /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ #endif - ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST) --> stay in CNG */ - ( sid_upd_bad != 0 ) ) /* SID_UPD_BAD --> start CNG */ + ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST) --> stay in CNG */ + ( sid_upd_bad != 0 ) ) /* SID_UPD_BAD --> start CNG */ { st_ivas->bfi = 0; /* bfi=0 needed to activate CNG code */ total_brate = FRAME_NO_DATA; @@ -2238,7 +2238,7 @@ ivas_error read_indices( /* GOOD frame */ if ( st_ivas->bfi == 0 #ifdef MC_JBM - || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ + || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ #endif ) { diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index e3628489ad..aa8c931f5c 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -55,7 +55,7 @@ #define APA_MAX_NUM_CHANNELS 16 #define APA_BUF ( APA_BUF_PER_CHANNEL * APA_MAX_NUM_CHANNELS ) #else - #define APA_BUF 4096 * 3 +#define APA_BUF 4096 * 3 #endif /* min/max sampling rate [Hz] */ diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h index 0265f745a8..85312ace99 100644 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -81,7 +81,7 @@ int16_t pcmdsp_fifo_write( PCMDSP_FIFO_HANDLE h, const uint8_t *samples, uint16_ int16_t pcmdsp_fifo_read( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint8_t *samples ); #ifdef MC_JBM -uint16_t pcmdsp_fifo_nReadableSamplesPerChannel(const PCMDSP_FIFO_HANDLE h ); +uint16_t pcmdsp_fifo_nReadableSamplesPerChannel( const PCMDSP_FIFO_HANDLE h ); #else uint16_t pcmdsp_fifo_nReadableSamples( const PCMDSP_FIFO_HANDLE h ); #endif diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 0c0588b5aa..98862e6b43 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1336,14 +1336,14 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( *---------------------------------------------------------------------*/ ivas_error IVAS_DEC_VoIP_GetSamples( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ #ifdef MC_JBM - uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ + uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ #else - int16_t *nOutSamples, /* o : number of samples written to output buffer */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ + int16_t *nOutSamples, /* o : number of samples written to output buffer */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ + const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ #endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ ) @@ -1366,7 +1366,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( int16_t timeScalingDone; int16_t result; ivas_error error; - + #ifdef MC_JBM /* scratch buffer */ int16_t apaExecBuffer[APA_BUF]; @@ -1385,7 +1385,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM /* TODO(mcjbm): ringbuffer capacity should be configurable by user */ - if( nSamplesPerChannel > hVoIP->hFifoAfterTimeScaler->capacity || nSamplesPerChannel == 0 ) + if ( nSamplesPerChannel > hVoIP->hFifoAfterTimeScaler->capacity || nSamplesPerChannel == 0 ) { return IVAS_ERR_WRONG_PARAMS; } @@ -1555,12 +1555,12 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #endif assert( nTimeScalerOutSamples <= APA_BUF ); - /* append scaled samples to FIFO */ - #ifdef MC_JBM +/* append scaled samples to FIFO */ +#ifdef MC_JBM if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) apaExecBuffer, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) - #else +#else if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) pcmBuf, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) - #endif +#endif { return IVAS_ERR_UNKNOWN; } @@ -2018,11 +2018,10 @@ void IVAS_DEC_PrintConfigWithBitstream( #ifdef MC_JBM void IVAS_DEC_PrintConfigWithVoipBitstream( - IVAS_DEC_HANDLE hIvasDec, - const bool quietModeEnabled, - uint8_t *au, - const uint16_t auSizeBits -) + IVAS_DEC_HANDLE hIvasDec, + const bool quietModeEnabled, + uint8_t *au, + const uint16_t auSizeBits ) { Decoder_Struct *st_ivas; uint16_t bit_stream[MAX_BITS_PER_FRAME + 4 * 8]; -- GitLab From 93721a9375140a9d1af0a999253d33429ae2a580 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 14:32:14 +0100 Subject: [PATCH 163/620] update of binaries (fixed Include_Header()) prevent C4706 warning when compiling in Windows --- lib_debug/wmc_auto.c | 9 ++++----- scripts/tools/Linux/wmc_tool | Bin 204224 -> 204224 bytes scripts/tools/Win32/wmc_tool.exe | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 6def739e31..427a29f096 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1063,20 +1063,19 @@ static unsigned long malloc_hash(const char* func_name, int func_lineno, char* s { unsigned long hash = 5381; const char* ptr_str; - int c; ptr_str = func_name; - while (c = *ptr_str++) + while ( ptr_str != NULL && *ptr_str != '\0' ) { - hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ + hash = ((hash << 5) + hash) + *ptr_str++; /* hash * 33 + char */ } hash = ((hash << 5) + hash) + func_lineno; /* hash * 33 + func_lineno */ ptr_str = size_str; - while (c = *ptr_str++) + while ( ptr_str != NULL && *ptr_str != '\0' ) { - hash = ((hash << 5) + hash) + c; /* hash * 33 + c */ + hash = ( ( hash << 5 ) + hash ) + *ptr_str++; /* hash * 33 + char */ } return hash; diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index a5a80a3ea7b8177410c2463ba1cc51d44cdf8fb5..eb2720672262fa6090f6fb6547cee7a7b31486cf 100644 GIT binary patch delta 3824 zcmX@Go9Do8o(UH?{~uvu0D=D#Z|)b8Sqb6DtaJj2G03dkyo#~#6Q_emXYC1(&e8*u z3w*`uKX`N=+Ygd|@uKqoe~(Vr7aq;E2N+7YJ-S^Fcyx!p@aPoq=ypBf(d{7M(d&E1 zqdWA2XXi=B9Sn>N3_Cd(7&!LX<U2BWbRK`v<_<RCfk$)g0|x#n2U-r4=!3O3AF%M~ z_I<G{p#r4v97wJCq5uCoUH>%m*ZyJPp9)gS+U@%1HS6XRUuuIG&uw>eXJllQxw*)R zq4U`OudR*@JHT#azV`qB>v)gjt}lAGCwnlqGBUoH{?e0ChcRNhm=~iJW5@JBFGh97 zqth$B7-bnBO`q<?sLsT&eEI<|Ml~jl<<nnyF{(0VOy~1vG+>-D-QJtAneoH+!`_VA zY>a-}-v=_@U}8*~ej<c1gt1||Y$)Sf#--c2!x&Q;8JBD?3}^h!$hdBLZX{zK<A&*X zA{qZPp4fgTig5!o<B#pVag3inFeYwq@MpR&H$6L#NnKT;prk0ixTHuy(N@7P)W=6b zO-(@yNlZP)KwV+_f;=Vzd6=-awzY!3mO@5iafX7Hg0ZoJwnB17V$t-+c}z{jn<r(d zpaC(%#zw(ZK~q5+!UHh~*tC6HKGP?o?aLN1IkDA?RQ&y4!^*(0r26lFA65p2vYNmD zS=bpE)N23!S7B#hu&Dj}--VrlA-neP{}grxhT7V{|6AA@7&g@Y{lA2rfx)Bh@Bbt0 z3=DmBfB!#WXJAmR|NEbXgMlHt{_lSk4hDvO^?(1na4;}vHT?ab!ok2$)$sR!4+jIo zqlUl#w{S4jGk7)r{eOppfnihQ-~TL}3=EGN|Nd9uWMD98`upF7lYybG>F@s(P6mdH zO@IHla569$H~;;=gp+|mqUG=ZBb*Ej9W8(VKjCCxP-y-8pM{HoA-VPMe-$nUhHtHZ z|GRK8FsQfv{hz|cz@X6n_kRl)1H+AuzyFtTF)$={{{4T1tDb>jQs>|QPq-KuI=lY< zSK(%0*xK{=zYjM9!`$A#|8uw*7|!+n{oljQz_7XR@BcO23=B&BfB&E1W?*>N|M&kJ zZUzSZ34j0d@GvlVPyG8|hlhb->BPVPeRvoc{!je-KZl2b;q#=w|9f~C7~CiS{lA8X zfnoOKzyHthFfiCo{rmq-Jr4sz$F#ryd3YHZq^JM=ufxm0&^rC^e;-~3hVU7G|L5>B zFdUfq_kRyB14HhtzyH_pGBEhf{rmq4F9U<{yubgy@G>xHFZ}yogpYy2W69tDCVUJG z&zAoEAHv7LAhrDO{}Mh1hMpCF|4-p#U^uYy@Bb})3=B1E|Ng(i$H1Vp?(hHlFMJFP z?c4wUm*Hn%P~P?TzYRYFL&x5~|6}+W7(|Z#{a?e+z;N{V-~V&?85o35{{6oP#6SP{ z{~dk?hUpjn{{O?zzz}@n?|&Hq1_sqzfB)MEFff$f|NB2hfPrDp!@vJq1Q-}99{v5l zM1X<8?eX9LM+6ucra$}p|A_ztgYm1s_5WD}85nZk{Qa*Y$iT4U?ce_{f(#6qzyJPE z5oBQSWc~NQN05ObfcM}3ErJXT7kK~uzaq%MaER~U|388Z4BUeM{>un4FlY$<`)?z} zz;H$Q-~SjP1_n-%fB$QQ7#QqC{{5dL#K2H2^6&p1AqIvOBLDv15n^CiBmM6`i!cL2 zmrVV?|0==^4DVI`{dW;&U=T9=_di9Lfg#5H-~S$A28MkW|NgHLW?;B!`S1T3VFm_I z`+xu62s1EPIsE(2Bf`M&!|UIF6A=c6&EEh1hlnsRXvY8h-y*`m@GJh`|0N;}3<neb z{XZhYz)+X;@Bb4K28IQx|NgUxGB8Xk`1gMaD+9x&`htJ|kFYW@Fckj#|Adu+!L0D# ze-<_d29Lsj|5ex+7*Y!V{dZwwV0cmZ?|%v#1A|P_zyB?43=Gvp|NbvwV_;ZO^zZ)> zHU@^PMgRUkVPjxmD*pFhN0fo#WbwcMKB5c^&ZYnU=ZG>eEH3}|zekjTfw|(}|23iv z4DMC`{+|(LV5nbQ_3!^1Q3eLt>VN-v#26SdtN;Di5o2IjQT^|~j~D~P|LTALbHo@J zX4U-r-y_Dr@V4gP|21L^3<<UW{+|(JVAxgr@BbSy1_r6RfB$*J85lqzsw2+8VAb&N ze~35(!~TYU|4YOf7+M?u{huSwz|ht7@Bbcg1_qJlfB)}@Gt@JPwEX-3N1TD-VC%pC zG7=07cUu4bw~=6AaOwW{KSqLqA*%1+{}u@bh7*1N{x6YWV7Su%@BbMI28NIc|Ng&` zU|_g5@!x+QNd^Y~N&o)qNHQ?|nDp;|h$I8U=_&vImq;=&6i)m1e~Kgn!^&y@{%?_F zV0bv~-~TI;3=9l2{{8<Vsm;J3I_uwm5h(_Sq`Ck8n@BM*ESvxDe~1(V!<4Q6{+CEG zFtBX<_kWKR1B1wP&UH-ci~-XP*D>icPMDs!j!B*AS=RKfbxd-MY|~e+W0GeSnSK&P zX-$6#qGYCXu4j^Gl$fpwqH3mlf~X18GuJc8Go8<#-nE`dj_FSJ^i?4GW%l$_>zU*j zv!=fUN&hOH&b5I_j_FP5bS)75zjV46i2hhQJ!=D#93#v0&J9fRj5X6&f~ZB)Pl71P z=`TT){dCTaO!ACH(=|cVzUiJDK@KgSK5HYB5@X2p+>K1?tToIG3~AF3Ze&ttTsHkB zNZq#SoST^BnVwWk*V@D+$0#)2a}$$1qwDlc5Y;}t6GZt;UkRe-Og{;tM5ez4QRdS* zH#5mIu9~h1qIOUB1W{9_XM!l5>75{I>hzT$YT5LYo0;r2W9$F^*I{B{VBtC9#Nfy$ z(8lD<%jVI{%q-8u!_L9LAj81G@P?IvA#u9l7AAQ{&FO(4%4&My7AASc|4o1Y=YyIF zFpW%Ea7{UE3=DqLH-eP?YX1A*5m{LcSQXgpHEf`=_9Mtp@#%tFndBJ*ryGK(?&*Ob zDt>w)h?+co;#MYk#p7*%|1V->V1T=nc`hT!ERZXE*cli+r(XoAE}8xjr22X1-~U<2 z_A;e{6oc)3!_L59INfj?lf2^NuD|~?Q4CFi8>+*>z@Rg|a2u06<Id?5w=t<R7ERv? z;)zec38MI?{{&Gy(<Qev$uo9Mw**o1rbljPl4trbb9&WwaPpW55?wHTCx}v;esepM zI%D#5#vM%ZiuYIj{h!K=?4bl^kQ+fB`oqb<pfcTY2a`M~frBW;>5U-DfBHg@-iQ1D z{=bCcy|W;#VDHW0Vqlm&{UJ!T{&dEjO!C|hPyYQMz{<eDB6DQA_D&{QM$YM;JDKDe z4W?)AWRhn(b8&jtP9{0Vs_831qN}H$1X1eKUxFyd>72Wm<Qa3OYwlu_H~RbX@Bas! z3=AxWXi4TWC)j=!1_p*6HU@^Rpa1>`B_S5q=~cU!<QS(+pSg=kUh~WEzyCimFfg#x zA!&DQW@dT;)(vq!4+F!#=?`}?$vZy(_xHanO6*9$W9JSJ1H+U5fB&yRkzWp%|HH$; zP%zzbH<LVL>-0nrHEVh!h+02=;cg~*rX!5g5A9}BV_Y!(B}g=GI_DlHdB(-lHTN*d zdoGjx_uq?+fq`Wrsymq-*uV}2MUf641H%dBfB%zE91sh4fDa!71K0G4AX8bVZv;`H z(=UQ3wdo)CFsU={nJ&4PNuDd*{NMjFVFm`4Wz(JZGO01nou0XuNuJSfdgopyd8V)4 z(^u_fl4G1S{p4OId95h{|NejCVqjpojN~p*j(y4nch?zy28MI7)4TRENwL1+XJ9Cu zZn%$0Uh#bVzyArKJ_;<qGDm}RIoK-#3=I6!3->X}Gx|@T2%?IoZv;{6r(Xn7oYOyo zDAVbJ`<dh!L#7*osP5^3Ac}2zA&9b^J`qIqOy9VlNnY_-+Q0t^D9JM#?!GmG3=C}3 zKkjFeXL^x7UFZOl8q>Xu=~f4r<QSc&M;>5OcYK)n?>{R_s4~Dq71XLYmi6y{7mDev zaMMAp4TI?i4=~9y3QT_pqUKI#Jjf)^IAglvK_+>o2SwAJ4l=1RohzN5b&yGpQD%DQ zK_+!ZhUptYiV~(@Jjf)kbg1Ire@kQwO2FnbfKoT8^>Mpmy3ipeHO4v9Ef0aiEb<VO zJk!;h=~aiA<e1*pOrLd#Nsf_q`c9B6%k-Nd*`M{(e}P2Rrb`}Xl4taqZV93!rbixT za%XgyzVI-UIHSe(orjs;b8dfemgxqE5v(f-atI7FGYB#Stb=qhVPYVfnL&tw=g9U? z*O>0{Gxklt_>9S(iQ~w0q329)OfoCCM?GgcX2iH>x}p@bJ{QbfnU&L{q?pY(Vde!) XpDD#`&IPIrKt}Q$*?vok`56-cwaP$$ delta 3782 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 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index 19abc48e90..99d343d821 100644 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d620d27b217f24d833fde95887a3445952ac82164ffbe267c90a48273adac368 +oid sha256:8358a512d72751dd7ffef0896d65f8f8c551e0de203a150a21d9025647968789 size 159232 -- GitLab From 14206d8e7fddc7b7f983ca2a51d4be2753520cc5 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 24 Nov 2022 18:32:46 +0100 Subject: [PATCH 164/620] fixed formatting in stack memory printout print also the usage of the top level stack function --- lib_debug/wmc_auto.c | 31 ++++++++++++------------------- scripts/tools/Linux/wmc_tool | Bin 204224 -> 204224 bytes scripts/tools/Win32/wmc_tool.exe | 4 ++-- 3 files changed, 14 insertions(+), 21 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 427a29f096..38ccb5d333 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -29,13 +29,13 @@ #include "wmc_auto.h" - /*-------------------------------------------------------------------* - * WMOPS counting tool - *--------------------------------------------------------------------*/ +#define WMC_TOOL_SKIP /* Skip the instrumentation of this file, if invoked by accident */ #ifdef WMOPS -#define WMC_TOOL_SKIP /* Skip the instrumentation of this file, if invoked by accident */ +/*-------------------------------------------------------------------* + * Complexity counting tool + *--------------------------------------------------------------------*/ #define MAX_RECORDS 1024 #define MAX_CHAR 64 @@ -353,7 +353,7 @@ void print_wmops(void) fprintf(stdout, sfmtt, "---------------", "---", "--------------"); fprintf(stdout, "\n\n"); - fprintf(stdout, "\nInstruction Type Analysis (for worst case frame #%ld):\n\n", fnum_cnt_wc); /* added -- JPA */ + fprintf(stdout, "\nInstruction Type Analysis (for the worst-case frame %ld):\n\n", fnum_cnt_wc); /* added -- JPA */ for (i = 0; i < NUM_INST; i++) { switch ((enum instructions)i) @@ -450,7 +450,7 @@ void print_wmops(void) * #define WMC_TOOL_SKIP ... #undef WMC_TOOL_SKIP macro pair around the malloc(), calloc() and free(). *--------------------------------------------------------------------*/ -#define MAX_RECORDABLE_CALLS 40 +#define MAX_RECORDABLE_CALLS 100 #define MAX_FUNCTION_NAME_LENGTH 35 /* Maximum length that the function string will be truncated to */ #define MAX_PARAMS_LENGTH 50 /* Maximum length that the parameter string will be truncated to */ #define MAX_NUM_RECORDS 300 /* Initial maximum number of memory records -> mightb be increased during runtime, if needed */ @@ -716,16 +716,15 @@ static void print_stack_call_tree(void) strncpy(fctname, caller_info_ptr->function_name, MAX_FUNCTION_NAME_LENGTH); strcat(fctname, "()"); fprintf(stdout, "%-42s", fctname); - fprintf(stdout, "%-42s", caller_info_ptr->function_name); /* Print Stack Usage (Based on Difference) */ if (call_level != 0) { - fprintf(stdout, "%lu\n", ((caller_info_ptr - 1)->stack_ptr - caller_info_ptr->stack_ptr) * sizeof(int16_t) / sizeof(float)); + fprintf(stdout, "%lu %s\n", (((caller_info_ptr - 1)->stack_ptr - caller_info_ptr->stack_ptr) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); } else { - fprintf(stdout, "\n"); + fprintf(stdout, "%lu %s\n", ((ptr_base_stack - caller_info_ptr->stack_ptr) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); } /* Advance */ @@ -806,7 +805,7 @@ void* mem_alloc( exit(-1); } - /* Save all zuxiliary information about the memory block */ + /* Save all auxiliary information about the memory block */ strncpy(ptr_record->name, func_name, MAX_FUNCTION_NAME_LENGTH); ptr_record->name[MAX_FUNCTION_NAME_LENGTH] = '\0'; strncpy(ptr_record->params, size_str, MAX_PARAMS_LENGTH); /* Note: The size string starts with either 'm' or 'c' to indicate 'm'alloc or 'c'alloc */ @@ -1367,7 +1366,7 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) for (i = 0; i < nElem; i++) { - fprintf(stdout, "Program ROM size (%s): %d words (instructions)\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size); + fprintf(stdout, "Program ROM size (%s): %d instruction words\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size); } fprintf(stdout, "\n\n --- Table ROM (const data) usage --- \n\n"); @@ -1379,7 +1378,7 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) fprintf(stdout, "Error: Cannot retrieve or calculate Table ROM size of (%s)!\n", Const_Data_PROM_Table[i].file_spec); } - fprintf(stdout, "Table ROM size (%s): %d words\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func()); + fprintf(stdout, "Table ROM size (%s): %d %s\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func() >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); } } @@ -1392,7 +1391,7 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) if (ptr_base_stack - ptr_max_stack > 0) { fprintf(stdout, "\n\n --- Stack usage --- \n\n"); - fprintf(stdout, "Maximum stack size: %lu %s in frame #%d\n", ((ptr_base_stack - ptr_max_stack) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], + fprintf(stdout, "Maximum stack size: %lu %s in frame %d\n", ((ptr_base_stack - ptr_max_stack) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_frame); #ifdef MEM_COUNT_DETAILS print_stack_call_tree(); @@ -1451,11 +1450,5 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) int cntr_push_pop = 0; /* global counter for checking balanced push_wmops()/pop_wmops() pairs when WMOPS is not activated */ #endif -#undef WMC_TOOL_SKIP - - - - - diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index eb2720672262fa6090f6fb6547cee7a7b31486cf..6d8f0f709007a2c2d66bd71821602a081d11bec3 100644 GIT binary patch delta 4006 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 L*?v=s`8g8+o&Z?H delta 4028 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 E08s`};{X5v diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index 99d343d821..2db486e5e9 100644 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8358a512d72751dd7ffef0896d65f8f8c551e0de203a150a21d9025647968789 -size 159232 +oid sha256:5d7f079929453621229f2792937e65f0c71de4f747acd1db4ed61f29fbe8c169 +size 159744 -- GitLab From b6abbbd14285705c50c25fc71c322fd01a389a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= <tomas.toftgard@ericsson.com> Date: Thu, 24 Nov 2022 18:52:47 +0100 Subject: [PATCH 165/620] Applied clang formatting. --- lib_com/delay_comp.c | 8 +- lib_com/prot.h | 8 +- lib_dec/ivas_lfe_dec.c | 2 +- .../unit_tests/crend/ivas_crend_io_parse.h | 6 +- .../unit_tests/crend/ivas_crend_public.h | 8 +- .../unit_tests/crend/ivas_crend_unit_test.c | 87 +++++++++---------- .../unit_tests/crend/ivas_crend_unit_test.h | 6 +- .../unit_tests/crend/ivas_dec_parse_io.h | 22 ++--- .../tests/unit_tests/crend/ivas_prox_mix.c | 72 +++++++-------- .../tests/unit_tests/crend/ivas_prox_mix.h | 16 ++-- 10 files changed, 117 insertions(+), 118 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index 7d0ba19485..cce609a00d 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -51,10 +51,10 @@ /*! r: delay value in ns */ float get_delay( - const int16_t what_delay, /* i : what delay? (ENC or DEC) */ - const int32_t io_fs, /* i : input/output sampling frequency */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ + const int16_t what_delay, /* i : what delay? (ENC or DEC) */ + const int32_t io_fs, /* i : input/output sampling frequency */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ #ifndef FIX_I59_LFE_TD_DELAY RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 1e8df861b0..b3b31e24fa 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -713,10 +713,10 @@ int16_t lev_dur( /*! r: delay value in ns */ float get_delay( - const int16_t what_delay, /* i : what delay? (ENC or DEC) */ - const int32_t io_fs, /* i : input/output sampling frequency */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ + const int16_t what_delay, /* i : what delay? (ENC or DEC) */ + const int32_t io_fs, /* i : input/output sampling frequency */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ #ifndef FIX_I59_LFE_TD_DELAY RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index b6b7b46c37..70e3a2fff4 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -355,7 +355,7 @@ ivas_error ivas_create_lfe_dec( #ifdef FIX_I59_LFE_TD_DELAY const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ #else - const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ + const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ #endif ) { diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h index deeb400926..bcdbd84487 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_io_parse.h @@ -31,9 +31,9 @@ *******************************************************************************************************/ /**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ + * File description - + * This source file contains definitions specific to IVAS common renderer + ****************************************************************************/ #ifndef IVAS_CREND_IO_PARSE_H #define IVAS_CREND_IO_PARSE_H diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h index d6fbf9f3ca..38b02c6df3 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_public.h @@ -31,9 +31,9 @@ *******************************************************************************************************/ /**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ + * File description - + * This source file contains definitions specific to IVAS common renderer + ****************************************************************************/ #include "ivas_crend_io_parse.h" #include "ivas_dec_parse_io.h" @@ -62,7 +62,7 @@ #define IVAS_SOFA_THR_VAL ( 1e-15f ) AUDIO_CONFIG ivas_crend_map_out_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); -const char * ivas_crend_map_in_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); +const char *ivas_crend_map_in_fmt( IVAS_IN_OUT_FMT_CONFIG fmt ); ivas_result_t ivas_crend_default_io_params( ivas_crend_io_params_t *pIO_params ); ivas_result_t ivas_crend_parse_io_params( int argc, char **argv, ivas_crend_io_params_t *pIo_params ); diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c index e94a0d4793..0c8d7590a3 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c @@ -85,31 +85,31 @@ { \ fclose( io_params.fOut ); \ } -#else -#define FILES_CLOSE \ - if ( NULL != io_params.fIn ) \ - { \ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) \ - { \ - if ( NULL != io_params.fIn[i] ) \ - { \ - AudioFileReader_close( &io_params.fIn[i] ); \ - io_params.fIn[i] = NULL; \ - } \ - } \ - } \ - if ( NULL != io_params.fRef ) \ - { \ - if ( NULL != io_params.fRef ) \ - { \ - AudioFileReader_close( &io_params.fRef ); \ - io_params.fRef = NULL; \ - } \ - } \ - if ( io_params.fOut != NULL ) \ - { \ - AudioFileWriter_close( &io_params.fOut ); \ - } +#else +#define FILES_CLOSE \ + if ( NULL != io_params.fIn ) \ + { \ + for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) \ + { \ + if ( NULL != io_params.fIn[i] ) \ + { \ + AudioFileReader_close( &io_params.fIn[i] ); \ + io_params.fIn[i] = NULL; \ + } \ + } \ + } \ + if ( NULL != io_params.fRef ) \ + { \ + if ( NULL != io_params.fRef ) \ + { \ + AudioFileReader_close( &io_params.fRef ); \ + io_params.fRef = NULL; \ + } \ + } \ + if ( io_params.fOut != NULL ) \ + { \ + AudioFileWriter_close( &io_params.fOut ); \ + } #endif /* temp change : to silence the compilation error */ int32_t frame = 0; /* Counter of frames */ @@ -200,7 +200,7 @@ static ivas_result_t ivas_crend_reverb_test( ivas_crend_io_params_t *pIo_params #else AudioFileWriter_close( &pIo_params->fOut ); AudioFileReader *fOut; - AudioFileReader_open( &fOut , pIo_params->out_path, &pIo_params->sample_rate); + AudioFileReader_open( &fOut, pIo_params->out_path, &pIo_params->sample_rate ); int16_t numRead; /* Compare */ if ( pIo_params->fRef ) @@ -277,7 +277,7 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para userLoc = (int16_t *) calloc( in_ch, sizeof( int16_t ) ); /* load bitstream data */ - num = (int16_t)fread( bitstream, sizeof( uint8_t ), MAX_BITSTREAM_LEN, pIo_params->fProx ); + num = (int16_t) fread( bitstream, sizeof( uint8_t ), MAX_BITSTREAM_LEN, pIo_params->fProx ); /* using bitstream information fill in the location in the userLoc vector */ get_users_locations( bitstream, num, userLoc ); @@ -289,10 +289,10 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para #ifdef USE_PCM_OUT int32_t i; - for (i = 0; i < in_ch; i++) + for ( i = 0; i < in_ch; i++ ) { - fseek(pIo_params->fRef, 0, SEEK_SET); - ivas_wav_header_skip(pIo_params->fRef); + fseek( pIo_params->fRef, 0, SEEK_SET ); + ivas_wav_header_skip( pIo_params->fRef ); } #endif #ifdef USE_PCM_OUT @@ -343,7 +343,7 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para { acc_0f = 0.0f; /* read reference channel correspnding to the given user in USER_ID */ - if ( (AudioFileReader_read( fRef , &ref, 1, &numRead ) != IVAS_ERR_OK) || (numRead == 0) ) + if ( ( AudioFileReader_read( fRef, &ref, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) { printf( "Ref file finished\n" ); goto DONE; @@ -369,7 +369,6 @@ static ivas_result_t ivas_crend_proximity_test( ivas_crend_io_params_t *pIo_para } - #endif DONE: if ( test == PASS ) @@ -452,7 +451,7 @@ static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_param #ifdef FIX_FIX_I59 skip_samples = (int32_t) roundf( (float) pIo_params->latency_ns * pIo_params->sample_rate / 1000000000.f ); #else - skip_samples = (int32_t)( pIo_params->latency_s * pIo_params->sample_rate ); + skip_samples = (int32_t) ( pIo_params->latency_s * pIo_params->sample_rate ); #endif if ( pIo_params->no_delay_cmp == 0 ) { @@ -515,7 +514,7 @@ static ivas_result_t ivas_crend_binaural_test( ivas_crend_io_params_t *pIo_param /* skip intial samples based on latency */ int16_t tail = 0; int32_t tail_zeros = 0; - + while ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) && ( AudioFileReader_read( fRef, &ref, 1, &numRead ) == IVAS_ERR_OK ) && ( numRead > 0 ) ) { if ( fabs( (float) ( out ) * ( 1.0 / PCM16_TO_FLT_FAC ) - (float) ( ref ) * ( 1.0 / PCM16_TO_FLT_FAC ) ) > pIo_params->tol ) @@ -582,7 +581,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa if ( pIo_params->out_fmt != STEREO_2 ) return IVAS_FAILED; - no_diegetic_pan = pIo_params->no_diegetic_pan; + no_diegetic_pan = pIo_params->no_diegetic_pan; if ( no_diegetic_pan > 1 ) no_diegetic_pan = 1; if ( no_diegetic_pan < -1 ) @@ -601,7 +600,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa } #ifdef USE_PCM_OUT - int32_t in_ch,i; + int32_t in_ch, i; in_ch = ivas_get_num_channels( pIo_params->in_fmt ); /* Compare */ @@ -634,7 +633,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa #else /* Compare */ - int16_t numRead; + int16_t numRead; AudioFileReader_close( &pIo_params->fRef ); AudioFileWriter_close( &pIo_params->fOut ); AudioFileReader *fRef, *fOut; @@ -649,7 +648,7 @@ static ivas_result_t ivas_crend_no_diegetic_test( ivas_crend_io_params_t *pIo_pa goto DONE; ref_f = (float) ( ref ) * ( 1.0f / PCM16_TO_FLT_FAC ); - if (( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || (numRead == 0) ) + if ( ( AudioFileReader_read( fOut, &out, 1, &numRead ) != IVAS_ERR_OK ) || ( numRead == 0 ) ) goto DONE; out_f = (float) ( out ) * ( 1.0f / PCM16_TO_FLT_FAC ); @@ -698,12 +697,12 @@ int main( int argc, char **argv ) if ( io_params.in_path[0] != '\0' ) { if ( - io_params.test == CREND_ACOUSTIC_PROXIMITY || - io_params.test == CREND_BIN_TEST || - io_params.test == FASTCONV_BIN_TEST || - io_params.test == PARAM_BIN_TEST || - io_params.test == TD_BIN_TEST || - io_params.test == CREND_TEST_NO_DIEGETIC ) + io_params.test == CREND_ACOUSTIC_PROXIMITY || + io_params.test == CREND_BIN_TEST || + io_params.test == FASTCONV_BIN_TEST || + io_params.test == PARAM_BIN_TEST || + io_params.test == TD_BIN_TEST || + io_params.test == CREND_TEST_NO_DIEGETIC ) { ivas_open_files_crend( &io_params ); } diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h index c26134aba1..379a23ce2b 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.h @@ -31,9 +31,9 @@ *******************************************************************************************************/ /**************************************************************************** -* File description - -* This source file contains definitions specific to IVAS common renderer -****************************************************************************/ + * File description - + * This source file contains definitions specific to IVAS common renderer + ****************************************************************************/ #ifndef IVAS_CREND_UNIT_TEST_H #define IVAS_CREND_UNIT_TEST_H diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h index 4cec7e1d6f..ca18f63be1 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_dec_parse_io.h @@ -34,13 +34,13 @@ #define IVAS_DEC_PARSE_IO_H /**************************************************************************** -* File description - -* This header file contains declarations for IO/cmd line params parsing of IVAS decoder -****************************************************************************/ + * File description - + * This header file contains declarations for IO/cmd line params parsing of IVAS decoder + ****************************************************************************/ /*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ + * include header files + *------------------------------------------------------------------------------------------*/ #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -48,8 +48,8 @@ #include "audio_file_writer.h" /*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ + * PreProcessor + *------------------------------------------------------------------------------------------*/ #define IVAS_IN_FMT_COMBINED "Combined" #define IVAS_IN_FMT_HOA_3 "HOA3S" @@ -64,8 +64,8 @@ #define MAX_CH_IDX_TAG_LEN ( 10 ) /*------------------------------------------------------------------------------------------* -* Global variables -*------------------------------------------------------------------------------------------*/ + * Global variables + *------------------------------------------------------------------------------------------*/ /* IVAS bitstream formats */ #define IVAS_G192 ( 0 ) #define IVAS_MIME ( 1 ) @@ -93,8 +93,8 @@ #define IVAS_MAX_NUM_CH 16 /*------------------------------------------------------------------------------------------* -* Structure definitions -*------------------------------------------------------------------------------------------*/ + * Structure definitions + *------------------------------------------------------------------------------------------*/ typedef struct ivas_dec_io_params_t { int16_t in_fmt; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c index 2bf19080e5..b55c43b6f8 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.c @@ -31,14 +31,14 @@ *******************************************************************************************************/ /*-----------------------------------------------------------------------------------------* -* File description - -* This file contains funciton definitions which are common between IVAS spatial decoding -* tools -*-----------------------------------------------------------------------------------------*/ + * File description - + * This file contains funciton definitions which are common between IVAS spatial decoding + * tools + *-----------------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ + * include header files + *------------------------------------------------------------------------------------------*/ #include <stdint.h> #include "options.h" #ifdef DEBUGGING @@ -48,16 +48,16 @@ #include "wmops.h" /*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ + * PreProcessor + *------------------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------------* * Global variables *------------------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------------* - * Static functions declaration - *------------------------------------------------------------------------------------------*/ + * Static functions declaration + *------------------------------------------------------------------------------------------*/ static float get_block_power( float *vec, int32_t frame_len ); @@ -66,23 +66,23 @@ static float get_block_power( float *vec, int32_t frame_len ); *------------------------------------------------------------------------------------------*/ /*-----------------------------------------------------------------------------------------* - * Function description - Returns mixer to combine uplink signals in an intelligent way to - * prevent unnecessary reproduction of certain signals and prevent acoustic feedback. - * - * Inputs - - * userID: a given user ID - * bitstream: float of bitstream data containing co-located user IDs - * pMixer: a 1-d mixer to be used in ivas_crend to combine the multichannel audio data into - * a single Mono signal. - * Outputs - - * - * - * - *-----------------------------------------------------------------------------------------*/ - -ivas_result_t get_users_locations( - uint8_t *bitstream, - int32_t len, + * Function description - Returns mixer to combine uplink signals in an intelligent way to + * prevent unnecessary reproduction of certain signals and prevent acoustic feedback. + * + * Inputs - + * userID: a given user ID + * bitstream: float of bitstream data containing co-located user IDs + * pMixer: a 1-d mixer to be used in ivas_crend to combine the multichannel audio data into + * a single Mono signal. + * Outputs - + * + * + * + *-----------------------------------------------------------------------------------------*/ + +ivas_result_t get_users_locations( + uint8_t *bitstream, + int32_t len, int16_t *userLoc ) { /* userID = channelID starting from index=0 */ @@ -107,13 +107,13 @@ ivas_result_t get_users_locations( } -ivas_result_t get_prox_downmix_mixer( - int16_t userID, - float *sMixer, - int16_t *userLoc, - int32_t nChan, - float ppPcm_in[][L_FRAME48k], - int32_t frame_len, +ivas_result_t get_prox_downmix_mixer( + int16_t userID, + float *sMixer, + int16_t *userLoc, + int32_t nChan, + float ppPcm_in[][L_FRAME48k], + int32_t frame_len, float *powvec ) { /* userID = channelID starting from index=0 */ @@ -213,8 +213,8 @@ ivas_result_t get_prox_downmix_mixer( } -static float get_block_power( - float *vec, +static float get_block_power( + float *vec, int32_t frame_len ) { int32_t i; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h index 8aa4b57130..3da8f9a268 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_prox_mix.h @@ -35,14 +35,14 @@ #define IVAS_PROX_MIX_H /**************************************************************************** -* File description - -* This header file contains declarations which are common between IVAS -* spatial decoding tools -****************************************************************************/ + * File description - + * This header file contains declarations which are common between IVAS + * spatial decoding tools + ****************************************************************************/ /*------------------------------------------------------------------------------------------* -* include header files -*------------------------------------------------------------------------------------------*/ + * include header files + *------------------------------------------------------------------------------------------*/ #include "stdio.h" #include "stdlib.h" #include "string.h" @@ -50,8 +50,8 @@ #include "ivas_result_t.h" /*------------------------------------------------------------------------------------------* -* PreProcessor -*------------------------------------------------------------------------------------------*/ + * PreProcessor + *------------------------------------------------------------------------------------------*/ /*------------------------------------------------------------------------------------------* * Global variables -- GitLab From 6fb74bfbc7922d44c7f5ecc753244531a31adbcf Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 10:14:57 +0100 Subject: [PATCH 166/620] removal of debugging message --- lib_debug/wmc_auto.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 38ccb5d333..22edfcff38 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -791,10 +791,6 @@ void* mem_alloc( Num_Records++; } - else - { - printf("Record Exists"); - } /* Allocate memory block for the new record, add signature before the beginning and after the memory block and fill it with magic value */ ptr_record->block_ptr = mem_alloc_block(size, size_str); -- GitLab From 23349265788f7082917cb751aaacf377205135fd Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Fri, 25 Nov 2022 10:53:51 +0100 Subject: [PATCH 167/620] #220: fix sanitizer problem in ParamMC/svd caused by NaN coming from negative energies in Cproto, under define FIX_I220_PARAMMC_CPROTO --- lib_com/options.h | 1 + lib_dec/ivas_mc_param_dec.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index 21fe824853..1d98c0d8a0 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -167,6 +167,7 @@ #ifdef FIX_185_REDUCE_MD_BITS #define CLEANUP_185_NO_AGC_EXCEPTION /* Issue 185: Cleanup AGC EXCEPTION code */ #endif +#define FIX_I220_PARAMMC_CPROTO /* Issue 220: sanitizer error in the svd due to NaNs coming from negative energies in Cproto */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 29e2ce4002..d4a4fa5168 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -1564,6 +1564,16 @@ static void ivas_param_mc_get_mixing_matrices( matrix_product( mat_mult_buffer1, nY_intern, nX, 0, hParamMC->proto_matrix_int, nY_intern, nX, 1, Cproto ); +#ifdef FIX_I220_PARAMMC_CPROTO + for ( ch_idx1 = 0; ch_idx1 < nY_intern; ch_idx1++ ) + { + if ( Cproto[ch_idx1 + ch_idx1 * nY_intern] < 0.0f ) + { + Cproto[ch_idx1 + ch_idx1 * nY_intern] = 0.0f; + } + } +#endif + ivas_param_mc_dequantize_cov( hParamMC, hParamMC->icld_q + param_band_idx * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe, hParamMC->icc_q + param_band_idx * hParamMC->hMetadataPMC->icc_mapping_conf->icc_map_size_lfe, -- GitLab From b4071947236c8dec616038d2bb02e8bc4031e2d3 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 11:12:05 +0100 Subject: [PATCH 168/620] fix Issue 223: change return data type in function get_delay(); under FIX_GET_DELAY_RETURN --- lib_com/delay_comp.c | 14 +++++++++++--- lib_com/options.h | 1 + lib_com/prot.h | 16 ++++++++++------ lib_dec/lib_dec.c | 4 ++++ lib_enc/lib_enc.c | 4 ++++ 5 files changed, 30 insertions(+), 9 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index a957150b93..dddc100f58 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -50,8 +50,12 @@ *--------------------------------------------------------------------------*/ /*! r: delay value in ns */ +#ifdef FIX_GET_DELAY_RETURN +int32_t get_delay( +#else float get_delay( - const int16_t what_delay, /* i : what delay? (ENC or DEC) */ +#endif + const int16_t enc_dec, /* i : encoder/decoder flag */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ @@ -59,9 +63,13 @@ float get_delay( const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ ) { +#ifdef FIX_GET_DELAY_RETURN + int32_t delay = 0; +#else float delay = 0; +#endif - if ( what_delay == ENC ) + if ( enc_dec == ENC ) { if ( ivas_format == MONO_FORMAT ) /* EVS mono */ { @@ -78,7 +86,7 @@ float get_delay( delay += IVAS_FB_ENC_DELAY_NS; } } - else + else /* DEC */ { if ( ivas_format == MONO_FORMAT ) /* EVS mono */ { diff --git a/lib_com/options.h b/lib_com/options.h index 21fe824853..2d30a38dd2 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -167,6 +167,7 @@ #ifdef FIX_185_REDUCE_MD_BITS #define CLEANUP_185_NO_AGC_EXCEPTION /* Issue 185: Cleanup AGC EXCEPTION code */ #endif +#define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 2d6527fe59..6e10f8c57f 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -712,13 +712,17 @@ int16_t lev_dur( ); /*! r: delay value in ns */ +#ifdef FIX_GET_DELAY_RETURN +int32_t get_delay( +#else float get_delay( - const int16_t what_delay, /* i : what delay? (ENC or DEC) */ - const int32_t io_fs, /* i : input/output sampling frequency */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ - RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ - const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ +#endif + const int16_t enc_dec, /* i : encoder/decoder flag */ + const int32_t io_fs, /* i : input/output sampling frequency */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ + RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ + const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ ); void decision_matrix_enc( diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index d16d1f2494..70e0384839 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1055,7 +1055,11 @@ ivas_error IVAS_DEC_GetDelay( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; +#ifdef FIX_GET_DELAY_RETURN + *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) ); +#else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); +#endif *timeScale = hDecoderConfig->output_Fs; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 68a465a5bc..398098a839 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -954,7 +954,11 @@ ivas_error IVAS_ENC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } +#ifdef FIX_GET_DELAY_RETURN + *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) ); +#else *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ) ); +#endif *delay *= hEncoderConfig->nchan_inp; -- GitLab From 91f6930fa0ba3bbeb8fd93bfe8d45826104bc9f4 Mon Sep 17 00:00:00 2001 From: bohmr <reinhold.boehm@dolby.com> Date: Fri, 25 Nov 2022 12:09:48 +0000 Subject: [PATCH 169/620] skip high bitrates testing for DTX until DTX issue is resolved --- tests/test_sba_bs_enc.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_sba_bs_enc.py b/tests/test_sba_bs_enc.py index e8edf01285..23260fbaaf 100644 --- a/tests/test_sba_bs_enc.py +++ b/tests/test_sba_bs_enc.py @@ -163,6 +163,10 @@ def test_sba_enc_system( fs, agc, ): + if dtx == '1' and ivas_br not in ['32000', '64000']: + # skip high bitrates for DTX until DTX issue is resolved + pytest.skip() + tag = tag + fs + 'c' max_bw = "FB" bypass = -1 -- GitLab From 9fc8345a5b92277410a54dd4571961061db3f0b2 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 25 Nov 2022 13:18:01 +0100 Subject: [PATCH 170/620] add -j to make_options in scripts --- scripts/pyivastest/IvasSvnBuilder.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/pyivastest/IvasSvnBuilder.py b/scripts/pyivastest/IvasSvnBuilder.py index d34b64fabe..f12e714286 100644 --- a/scripts/pyivastest/IvasSvnBuilder.py +++ b/scripts/pyivastest/IvasSvnBuilder.py @@ -41,6 +41,7 @@ import xml.etree.ElementTree import logging from getpass import getpass import urllib.parse +from multiprocessing import cpu_count from pyivastest.IvasModeRunner import * from pyivastest.IvasModeAnalyzer import * @@ -1176,7 +1177,9 @@ class IvasBuilderAndRunner(IvasBaseClass): max_workers=1, ): - make_options = list() + n_cpus = cpu_count() + # do not use all cores to avoid weird getting-stuck issues observed on Mac... + make_options = ["-j" ,f"{n_cpus - 2}"] run_tool = "" if defines_to_enable is None: defines_to_enable_check = [] -- GitLab From 96bd2e89476e0d36cba440e71bcd6e295dbbe65c Mon Sep 17 00:00:00 2001 From: bohmr <reinhold.boehm@dolby.com> Date: Fri, 25 Nov 2022 12:30:10 +0000 Subject: [PATCH 171/620] skip high bitrates for DTX also in test_sba_plc_system() --- tests/test_sba_bs_dec_plc.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests/test_sba_bs_dec_plc.py b/tests/test_sba_bs_dec_plc.py index 27bf561cdc..b885c06ddd 100644 --- a/tests/test_sba_bs_dec_plc.py +++ b/tests/test_sba_bs_dec_plc.py @@ -89,6 +89,10 @@ def test_sba_plc_system( fs, agc ): + if dtx == '1' and ivas_br not in ['32000', '64000']: + # skip high bitrates for DTX until DTX issue is resolved + pytest.skip() + tag = tag + fs + 'c' # dec -- GitLab From 9036bf0d42dd87d2745867b7643e36374030fc37 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 13:42:08 +0100 Subject: [PATCH 172/620] support for .csv output of per-frame memory consumption --- lib_debug/wmc_auto.c | 42 +++++++++++++++++++++++++++++++++++++++--- lib_debug/wmc_auto.h | 3 +++ 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 22edfcff38..559f355c91 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1238,13 +1238,14 @@ static void subst(char* s, char from, char to) return; } + /*-------------------------------------------------------------------* * mem_count_summary() * * Print detailed (per-item) information about heap memory usage *--------------------------------------------------------------------*/ -static void mem_count_summary(void) +static void mem_count_summary() { int i, j, flag_intra_frame_memory; size_t length; @@ -1341,6 +1342,42 @@ static void mem_count_summary(void) return; } + +/*-------------------------------------------------------------------* + * export_mem() + * + * Export detailed (per-item) information about heap memory usage to a .csv file + *--------------------------------------------------------------------*/ + +void export_mem( const char *csv_filename ) +{ + int i; + FILE *fid; + allocator_record *record_ptr; + + /* Export individual heap memory records to a .csv file */ + if ( csv_filename != NULL && strcmp( csv_filename, "" ) != 0 ) + { + fid = fopen( csv_filename, "wb" ); + + if ( fid == NULL ) + { + fprintf( stderr, "\nCannot open %s!\n\n", csv_filename ); + exit( -1 ); + } + + for ( i = 0; i < Num_Records; i++ ) + { + record_ptr = &( allocation_list[i] ); + fprintf( fid, "%s:%d,%ld;\n", record_ptr->name, record_ptr->lineno, record_ptr->block_size ); + } + fprintf( fid, "\n" ); + + fclose( fid ); + } + + return; +} #endif /*-------------------------------------------------------------------* @@ -1420,11 +1457,10 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) #ifdef MEM_COUNT_DETAILS /* Print detailed information abour heap memory usage */ - mem_count_summary(); + mem_count_summary( ); #endif } - if (Stat_Cnt_Size > 0) { fprintf(stdout, "\nNote: 1 word = %d bits\n", 8 << Stat_Cnt_Size); diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index f379572bc7..a124f14aac 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -487,6 +487,9 @@ void mem_free(const char* func_name, int func_lineno, void* ptr); void reset_mem(Counting_Size cnt_size); void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]); +#ifdef MEM_COUNT_DETAILS +void export_mem( const char *csv_filename ); +#endif int push_stack(const char* filename, const char* fctname); int pop_stack(const char* filename, const char* fctname); -- GitLab From cbb762185a39bd017a316de36d19696882ed0734 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 13:57:52 +0100 Subject: [PATCH 173/620] implement calls to export_mem() in encoder/decoder/renderer --- apps/decoder.c | 3 +++ apps/encoder.c | 3 +++ apps/renderer.c | 31 +++++++++++++++++-------------- lib_debug/wmc_auto.c | 2 +- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index e0c927c966..ddfe3dc691 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1434,6 +1434,9 @@ static ivas_error decodeG192( } #ifdef WMOPS update_wmops(); +#ifdef MEM_COUNT_DETAILS + export_mem( "mem_analysis.csv" ); +#endif #endif } diff --git a/apps/encoder.c b/apps/encoder.c index c12e023db6..a5cbdd1fa9 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -716,6 +716,9 @@ int main( #ifdef WMOPS update_wmops(); +#ifdef MEM_COUNT_DETAILS + export_mem( "mem_analysis.csv" ); +#endif #endif } diff --git a/apps/renderer.c b/apps/renderer.c index 1144e1dd25..a86af7ba22 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -781,10 +781,10 @@ int main( inBufferSize = frameSize_smpls * totalNumInChannels; outBufferSize = frameSize_smpls * numOutChannels; - inpInt16Buffer = malloc( inBufferSize * sizeof( int16_t ) ); - inFloatBuffer = malloc( inBufferSize * sizeof( float ) ); - outInt16Buffer = malloc( outBufferSize * sizeof( int16_t ) ); - outFloatBuffer = malloc( outBufferSize * sizeof( float ) ); + inpInt16Buffer = malloc_( inBufferSize * sizeof( int16_t ) ); + inFloatBuffer = malloc_( inBufferSize * sizeof( float ) ); + outInt16Buffer = malloc_( outBufferSize * sizeof( int16_t ) ); + outFloatBuffer = malloc_( outBufferSize * sizeof( float ) ); inBuffer.config.numSamplesPerChannel = (int16_t) frameSize_smpls; inBuffer.config.numChannels = (int16_t) totalNumInChannels; @@ -1000,6 +1000,9 @@ int main( #ifdef WMOPS update_wmops(); +#ifdef MEM_COUNT_DETAILS + export_mem( "mem_analysis.csv" ); +#endif #endif } @@ -1031,10 +1034,10 @@ int main( #endif /* === Close === */ - free( inpInt16Buffer ); - free( inFloatBuffer ); - free( outInt16Buffer ); - free( outFloatBuffer ); + free_( inpInt16Buffer ); + free_( inFloatBuffer ); + free_( outInt16Buffer ); + free_( outFloatBuffer ); for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { MasaFileReader_close( &masaReaders[i] ); @@ -1578,7 +1581,7 @@ IsmPositionProvider *IsmPositionProvider_open( IsmPositionProvider *ipp; uint16_t i; - ipp = (IsmPositionProvider *) malloc( sizeof( IsmPositionProvider ) ); + ipp = (IsmPositionProvider *) malloc_( sizeof( IsmPositionProvider ) ); ipp->frameCounter = 0; ipp->numObjects = 0; @@ -1695,16 +1698,16 @@ void IsmPositionProvider_close( IsmPositionProvider *positionProvider ) if ( positionProvider->positions[i] != NULL ) { - free( positionProvider->positions[i] ); + free_( positionProvider->positions[i] ); } if ( positionProvider->positionDurations[i] != NULL ) { - free( positionProvider->positionDurations[i] ); + free_( positionProvider->positionDurations[i] ); } } - free( positionProvider ); + free_( positionProvider ); return; } @@ -1953,8 +1956,8 @@ static void parseIsm( if ( parseUint32( line, &numberOfObjectPositionsToRead ) == 0 ) { positionProvider->numPositions[idx] = numberOfObjectPositionsToRead; - positionProvider->positions[idx] = malloc( numberOfObjectPositionsToRead * sizeof( IVAS_REND_AudioObjectPosition ) ); - positionProvider->positionDurations[idx] = malloc( numberOfObjectPositionsToRead * sizeof( uint16_t ) ); + positionProvider->positions[idx] = malloc_( numberOfObjectPositionsToRead * sizeof( IVAS_REND_AudioObjectPosition ) ); + positionProvider->positionDurations[idx] = malloc_( numberOfObjectPositionsToRead * sizeof( uint16_t ) ); for ( i = 0; i < numberOfObjectPositionsToRead; ++i ) { diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 559f355c91..4c4831754d 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1245,7 +1245,7 @@ static void subst(char* s, char from, char to) * Print detailed (per-item) information about heap memory usage *--------------------------------------------------------------------*/ -static void mem_count_summary() +static void mem_count_summary(void) { int i, j, flag_intra_frame_memory; size_t length; -- GitLab From bee6d5a37fb455571977236d13a686ab71f2051f Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 14:01:04 +0100 Subject: [PATCH 174/620] update of comments --- lib_com/options.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a03a564174..155e3fdec8 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -48,13 +48,13 @@ /* ################### Start DEBUGGING switches ########################### */ #ifndef RELEASE -#define DEBUGGING /* Activate debugging part of the code */ +#define DEBUGGING /* Activate debugging part of the code */ #endif -#define WMOPS /* Activate complexity and memory counters */ +#define WMOPS /* Activate complexity and memory counters */ /*#define WMOPS_PER_FRAME*/ /* Output complexity in WMOPS per frame to the file "res/wmops" (one float value per frame) */ -/*#define WMOPS_DETAIL*/ /* Activate complexity detail printout for every function. Increases runtime overhead */ -/*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output WMOPS analysis for the worst-case frame */ -/*#define MEM_COUNT_DETAILS*/ /* Output detailed memory consumption report for the worst-case frame */ +/*#define WMOPS_DETAIL*/ /* Output detailed complexity printout for every function. Increases runtime overhead */ +/*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output detailed analysis for the worst-case frame */ +#define MEM_COUNT_DETAILS /* Output detailed memory analysis for the worst-case (maximum) frame */ #ifdef DEBUGGING -- GitLab From 5b650bb017712e3f0ea12379f26d3704182806e7 Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Fri, 25 Nov 2022 14:40:38 +0100 Subject: [PATCH 175/620] [fix] for issue 221, uninitialized tcx config values when switching from TD to MDCT stereo --- lib_com/options.h | 3 ++- lib_dec/ivas_stereo_switching_dec.c | 14 +++++++++++++- lib_enc/ivas_stereo_switching_enc.c | 9 +++++++-- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index edc0d9ae06..cdf098506c 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -41,7 +41,7 @@ /* ################### Start compiler switches ######################## */ #define SUPPORT_JBM_TRACEFILE /* support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */ -#define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ +//#define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ /* #################### End compiler switches ######################### */ @@ -164,6 +164,7 @@ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ +#define FIX_221_BR_SWITCH_STEREO /* Issue 221: Fix missing initialization when switchin from TD to MDCT stereo*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 355eed3906..cab870415f 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1467,7 +1467,6 @@ void stereo_switching_dec( mvr2r( sts[0]->old_exc, sts[1]->old_exc, L_EXC_MEM_DEC ); mvr2r( sts[0]->lsf_old, sts[1]->lsf_old, M ); mvr2r( sts[0]->lsp_old, sts[1]->lsp_old, M ); - if ( hCPE->element_mode == IVAS_CPE_MDCT ) { sts[1]->last_core = sts[0]->last_core; @@ -1493,6 +1492,19 @@ void stereo_switching_dec( set_f( sts[0]->old_exc, 0.0f, L_EXC_MEM_DEC ); set_f( sts[1]->old_exc, 0.0f, L_EXC_MEM_DEC ); } +#ifdef FIX_221_BR_SWITCH_STEREO + else if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode == IVAS_CPE_TD ) + { + sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; + sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; + sts[1]->fscale = sts[0]->fscale; + sts[1]->hTcxCfg->tcx_mdct_window_length = sts[0]->hTcxCfg->tcx_mdct_window_length; + sts[1]->pit_res_max = sts[0]->pit_res_max; + sts[1]->pit_res_max_past = sts[0]->pit_res_max_past; + sts[1]->hTcxDec->L_frameTCX = sts[0]->hTcxDec->L_frameTCX; + sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; + } +#endif return; } diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index d0201784a6..535d73e7ba 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -803,7 +803,6 @@ void stereo_switching_enc( mvr2r( sts[0]->lsp_old1, sts[1]->lsp_old1, M ); sts[1]->GSC_noisy_speech = 0; - if ( hCPE->element_mode == IVAS_CPE_MDCT ) { /* cross-fade overlap region of DFT Stereo downmix and original stereo channels */ @@ -828,6 +827,12 @@ void stereo_switching_enc( set_f( sts[0]->hLPDmem->old_exc, 0.0f, L_EXC_MEM ); set_f( sts[1]->hLPDmem->old_exc, 0.0f, L_EXC_MEM ); } - +#ifdef FIX_221_BR_SWITCH_STEREO + else if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode == IVAS_CPE_TD ) + { + sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; + sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; + } +#endif return; } -- GitLab From f10127ea4df9132b9b65700d40ae80e678bb305b Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 14:42:56 +0100 Subject: [PATCH 176/620] check, if .csv has already been opened --- lib_debug/wmc_auto.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 4c4831754d..3a7acf8f3b 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1352,11 +1352,16 @@ static void mem_count_summary(void) void export_mem( const char *csv_filename ) { int i; - FILE *fid; + static FILE *fid = NULL; allocator_record *record_ptr; - /* Export individual heap memory records to a .csv file */ - if ( csv_filename != NULL && strcmp( csv_filename, "" ) != 0 ) + if (csv_filename == NULL || strcmp( csv_filename, "" ) == 0 ) + { + return; + } + + /* Check, if the .csv file has already been opened */ + if ( fid == NULL ) { fid = fopen( csv_filename, "wb" ); @@ -1365,16 +1370,15 @@ void export_mem( const char *csv_filename ) fprintf( stderr, "\nCannot open %s!\n\n", csv_filename ); exit( -1 ); } + } - for ( i = 0; i < Num_Records; i++ ) - { - record_ptr = &( allocation_list[i] ); - fprintf( fid, "%s:%d,%ld;\n", record_ptr->name, record_ptr->lineno, record_ptr->block_size ); - } - fprintf( fid, "\n" ); - - fclose( fid ); + /* Export individual heap memory records to a .csv file */ + for ( i = 0; i < Num_Records; i++ ) + { + record_ptr = &( allocation_list[i] ); + fprintf( fid, "%s:%d,%ld;", record_ptr->name, record_ptr->lineno, record_ptr->block_size ); } + fprintf( fid, "\n" ); return; } -- GitLab From 84aaab2fde50a729e3ed0ce6bcb2a180cba774cd Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 15:04:27 +0100 Subject: [PATCH 177/620] =?UTF-8?q?ISM=20metadata:=20change=20outlying=20e?= =?UTF-8?q?levation=20values=20from=2091.2=C2=B0=20to=2089.2=C2=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/testv/stvISM4.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/testv/stvISM4.csv b/scripts/testv/stvISM4.csv index 9afd15ba07..6318155a25 100644 --- a/scripts/testv/stvISM4.csv +++ b/scripts/testv/stvISM4.csv @@ -17,7 +17,7 @@ -0.00,76.80,1.00,0.00,1.00 -0.00,81.60,1.00,0.00,1.00 -0.00,86.40,1.00,0.00,1.00 --177.60,91.20,1.00,0.00,1.00 +-177.60,89.20,1.00,0.00,1.00 -177.60,86.40,1.00,0.00,1.00 -177.60,81.60,1.00,0.00,1.00 -177.60,76.80,1.00,0.00,1.00 @@ -54,7 +54,7 @@ 177.60,-76.80,1.00,0.00,1.00 177.60,-76.80,1.00,0.00,1.00 177.60,-86.40,1.00,0.00,1.00 -177.60,-91.20,1.00,0.00,1.00 +177.60,-89.20,1.00,0.00,1.00 0.00,-86.40,1.00,0.00,1.00 0.00,-81.60,1.00,0.00,1.00 0.00,-76.80,1.00,0.00,1.00 -- GitLab From 628ea712c8991bbde0aa0c5a9372c6a7291a17ff Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 15:22:47 +0100 Subject: [PATCH 178/620] compact memory printout --- lib_debug/wmc_auto.c | 79 +++++++++++++++++++++++++++----------------- 1 file changed, 49 insertions(+), 30 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 3a7acf8f3b..84818dbdbf 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -540,7 +540,7 @@ void reset_mem(Counting_Size cnt_size) tmp_size = sizeof(int32_t); if (tmp_size != 4) { - printf("Error: Expecting 'int32_t' to be a 32 Bits Integer!"); + fprintf( stderr, "Error: Expecting 'int32_t' to be a 32 Bits Integer!" ); exit(-1); } @@ -552,7 +552,7 @@ void reset_mem(Counting_Size cnt_size) if (allocation_list == NULL) { - printf("Error: Unable to Create List of Memory Blocks!"); + fprintf( stderr, "Error: Unable to Create List of Memory Blocks!" ); exit(-1); } @@ -759,7 +759,7 @@ void* mem_alloc( if (size == 0) { - printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Size of Zero not Supported"); + fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Size of Zero not Supported" ); exit(-1); } @@ -797,7 +797,7 @@ void* mem_alloc( if (ptr_record->block_ptr == NULL) { - printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Cannot Allocate Memory!"); + fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Cannot Allocate Memory!" ); exit(-1); } @@ -816,7 +816,7 @@ void* mem_alloc( if (ptr_record->frame_allocated != -1) { - printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Attempt to Allocate the Same Memory Block with Freeing it First!"); + fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Attempt to Allocate the Same Memory Block with Freeing it First!" ); exit(-1); } @@ -1132,7 +1132,7 @@ void mem_free(const char* func_name, int func_lineno, void* ptr) if (ptr_record == NULL) { - printf("Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Unable to Find Record Corresponding to the Allocated Memory Block!"); + fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Unable to Find Record Corresponding to the Allocated Memory Block!" ); exit(-1); } @@ -1275,7 +1275,7 @@ static void mem_count_summary(void) if ( j == 0 ) { /* Total Heap Size */ - printf( "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); + fprintf( stdout, "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); } else { @@ -1287,12 +1287,12 @@ static void mem_count_summary(void) if ( j == 0 ) { /* Intra-Frame Heap Size */ - printf( "\nList of memory blocks when maximum intra-frame heap size is reached:\n\n" ); + fprintf( stdout, "\nList of memory blocks when maximum intra-frame heap size is reached:\n\n" ); } else { /* Inter-Frame Heap Size */ - printf( "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); + fprintf( stdout, "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); } } @@ -1337,7 +1337,7 @@ static void mem_count_summary(void) } } - printf("\n\n"); + fprintf( stdout, "\n" ); } return; @@ -1394,10 +1394,10 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) { int i, nElem; + fprintf( stdout, "\n\n --- Memory usage --- \n\n" ); + if (Const_Data_PROM_Table != NULL) { - fprintf(stdout, "\n\n --- Program ROM usage --- \n\n"); - nElem = 0; while (strcmp(Const_Data_PROM_Table[nElem].file_spec, "") != 0) nElem++; @@ -1406,8 +1406,6 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) fprintf(stdout, "Program ROM size (%s): %d instruction words\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size); } - fprintf(stdout, "\n\n --- Table ROM (const data) usage --- \n\n"); - for (i = 0; i < nElem; i++) { if (Const_Data_PROM_Table[i].Get_Const_Data_Size_Func == NULL) @@ -1415,24 +1413,32 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) fprintf(stdout, "Error: Cannot retrieve or calculate Table ROM size of (%s)!\n", Const_Data_PROM_Table[i].file_spec); } - fprintf(stdout, "Table ROM size (%s): %d %s\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func() >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); + fprintf(stdout, "Table ROM (const data) size (%s): %d %s\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func() >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); } } + else + { + fprintf( stdout, "Program ROM size: not available\n"); + fprintf( stdout, "Table ROM (const data) size: not available\n"); + } if (wc_ram_size > 0) { - fprintf(stdout, "\n\n --- RAM usage (Stack + Heap) --- \n\n"); - fprintf(stdout, "Maximum RAM size: %d %s in frame %d\n", wc_ram_size >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_ram_frame); + fprintf(stdout, "Maximum RAM (stack + heap) size: %d %s in frame %d\n", wc_ram_size >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_ram_frame); + } + else + { + fprintf( stdout, "Maximum RAM (stack + heap) size: not available\n" ); } if (ptr_base_stack - ptr_max_stack > 0) { - fprintf(stdout, "\n\n --- Stack usage --- \n\n"); fprintf(stdout, "Maximum stack size: %lu %s in frame %d\n", ((ptr_base_stack - ptr_max_stack) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_frame); -#ifdef MEM_COUNT_DETAILS - print_stack_call_tree(); -#endif + } + else + { + fprintf( stdout, "Maximum stack size: not available\n" ); } /* check, if all memory blocks have been deallocated (freed) */ @@ -1440,31 +1446,44 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) { if (allocation_list[i].block_ptr != NULL) { - printf("Fct=%s, Ln=%i: %s!\n", allocation_list[i].name, allocation_list[i].lineno, "Error: Memory Block has not been De-Allocated with free()!"); + fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", allocation_list[i].name, allocation_list[i].lineno, "Error: Memory Block has not been De-Allocated with free()!" ); exit(-1); } } if ( wc_heap_size[1] > 0 ) { - fprintf( stdout, "\n\n --- Heap usage (malloc/calloc) --- \n\n" ); - if ( wc_heap_size_intra_frame[1] > 0 ) { - printf( "Maximum intra-frame heap size: %d %s in frame %d\n", wc_heap_size_intra_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_intra_frame[0] ); - printf( "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size_inter_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_inter_frame[0] ); + fprintf( stdout, "Maximum intra-frame heap size: %d %s in frame %d\n", wc_heap_size_intra_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_intra_frame[0] ); + fprintf( stdout, "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size_inter_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_inter_frame[0] ); } else { - printf( "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size[0] ); + fprintf( stdout, "Maximum intra-frame heap size: 0\n" ); + fprintf( stdout, "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size[0] ); } + } + else + { + fprintf( stdout, "Maximum intra-frame heap size: not available\n" ); + fprintf( stdout, "Maximum inter-frame heap size: not available\n" ); + } #ifdef MEM_COUNT_DETAILS - /* Print detailed information abour heap memory usage */ - mem_count_summary( ); -#endif + /* Print detailed information about worst-case stack usage */ + if ( ptr_base_stack - ptr_max_stack > 0 ) + { + print_stack_call_tree(); } + /* Print detailed information about worst-case heap usage */ + if ( wc_heap_size[1] > 0 ) + { + mem_count_summary(); + } +#endif + if (Stat_Cnt_Size > 0) { fprintf(stdout, "\nNote: 1 word = %d bits\n", 8 << Stat_Cnt_Size); -- GitLab From 1ceb051a2eeb4238aeb5f0c48f363937d8e80e04 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 25 Nov 2022 15:28:30 +0100 Subject: [PATCH 179/620] define export_mem() as void statement when WMOPS is deactivated --- lib_debug/wmc_auto.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index a124f14aac..9b218fa293 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -511,6 +511,7 @@ void reset_stack(void); #define free_(ptr) free( ptr ) #define reset_mem( cnt_size ) #define print_mem( Const_Data_PROM_Table ) +#define export_mem( csv_filename ) #define push_stack(file,fct) #define pop_stack(file,fct) -- GitLab From bead3686768364150530556f43dc6f799cf45058 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 15:41:34 +0100 Subject: [PATCH 180/620] merge two same code blocks into one --- lib_dec/ivas_stereo_switching_dec.c | 8 +++++++- lib_enc/ivas_stereo_switching_enc.c | 7 ++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index cab870415f..87a12fa3b8 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1471,20 +1471,24 @@ void stereo_switching_dec( { sts[1]->last_core = sts[0]->last_core; sts[1]->last_coder_type = sts[0]->last_coder_type; +#ifndef FIX_221_BR_SWITCH_STEREO sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; +#endif mvr2r( sts[0]->hHQ_core->old_out, sts[1]->hHQ_core->old_out, L_FRAME48k ); mvr2r( sts[0]->delay_buf_out, sts[1]->delay_buf_out, HQ_DELTA_MAX * HQ_DELAY_COMP ); mvr2r( sts[0]->hTcxDec->old_syn_Overl, sts[1]->hTcxDec->old_syn_Overl, 256 ); /* Todo: apply panning to buffers instead of simply using dmx in left and right channel */ +#ifndef FIX_221_BR_SWITCH_STEREO sts[1]->fscale = sts[0]->fscale; sts[1]->hTcxCfg->tcx_mdct_window_length = sts[0]->hTcxCfg->tcx_mdct_window_length; sts[1]->pit_res_max = sts[0]->pit_res_max; sts[1]->pit_res_max_past = sts[0]->pit_res_max_past; sts[1]->hTcxDec->L_frameTCX = sts[0]->hTcxDec->L_frameTCX; sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; +#endif } } else if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_MDCT ) @@ -1492,8 +1496,10 @@ void stereo_switching_dec( set_f( sts[0]->old_exc, 0.0f, L_EXC_MEM_DEC ); set_f( sts[1]->old_exc, 0.0f, L_EXC_MEM_DEC ); } + #ifdef FIX_221_BR_SWITCH_STEREO - else if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode == IVAS_CPE_TD ) + /* TD/DFT -> MDCT stereo switching (there is no TCX in the TD stereo secondary channel, or DFT stereo) */ + if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode != IVAS_CPE_MDCT ) { sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 535d73e7ba..2f5c06b6c9 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -818,8 +818,10 @@ void stereo_switching_enc( sts[1]->last_core = sts[0]->last_core; sts[1]->last_coder_type = sts[0]->last_coder_type; sts[1]->last_bwidth = sts[0]->last_bwidth; +#ifndef FIX_221_BR_SWITCH_STEREO sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; +#endif } } else if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_MDCT ) @@ -827,12 +829,15 @@ void stereo_switching_enc( set_f( sts[0]->hLPDmem->old_exc, 0.0f, L_EXC_MEM ); set_f( sts[1]->hLPDmem->old_exc, 0.0f, L_EXC_MEM ); } + #ifdef FIX_221_BR_SWITCH_STEREO - else if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode == IVAS_CPE_TD ) + /* TD/DFT -> MDCT stereo switching (there is no TCX in the TD stereo secondary channel, or DFT stereo) */ + if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode != IVAS_CPE_MDCT ) { sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; } #endif + return; } -- GitLab From 46c9a56ad07103b69d734c006a01949ca55c7e6f Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 15:42:39 +0100 Subject: [PATCH 181/620] clean out a commented code --- lib_dec/ivas_stereo_switching_dec.c | 2 -- lib_enc/ivas_stereo_switching_enc.c | 5 +---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 87a12fa3b8..83eb0c23e4 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1424,7 +1424,6 @@ void stereo_switching_dec( sts[0]->tilt_code = 0.0f; sts[0]->gc_threshold = 0.0f; - /*init_gp_clip( sts[1]->clip_var );*/ set_f( sts[0]->mem_syn1, 0, M ); set_f( sts[0]->mem_syn2, 0, M ); @@ -1454,7 +1453,6 @@ void stereo_switching_dec( sts[1]->tilt_code = 0.0f; sts[1]->gc_threshold = 0.0f; - /*init_gp_clip( sts[1]->clip_var );*/ set_f( sts[1]->mem_syn1, 0, M ); set_f( sts[1]->mem_syn2, 0, M ); diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 2f5c06b6c9..66f7c8fcd9 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -758,11 +758,8 @@ void stereo_switching_enc( /* no secondary channel in the previous frame -> memory resets */ set_zero( sts[1]->old_inp_12k8, L_INP_MEM ); - /*set_zero( sts[1]->old_inp_16k, L_INP_MEM );*/ set_zero( sts[1]->mem_decim, 2 * L_FILT_MAX ); - /*set_zero( sts[1]->mem_decim16k, 2*L_FILT_MAX );*/ sts[1]->mem_preemph = 0; - /*sts[1]->mem_preemph16k = 0;*/ set_zero( sts[1]->buf_speech_enc, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k ); set_zero( sts[1]->buf_speech_enc_pe, L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k ); @@ -812,7 +809,7 @@ void stereo_switching_enc( sts[1]->input[-sts[0]->encoderLookahead_FB + i] = ( ( sts[0]->encoderLookahead_FB - i ) * sts[0]->input[-sts[0]->encoderLookahead_FB + i] + i * sts[1]->input[-sts[0]->encoderLookahead_FB + i] ) * tmpF; sts[0]->input[-sts[0]->encoderLookahead_FB + i] = ( ( sts[0]->encoderLookahead_FB - i ) * sts[0]->input[-sts[0]->encoderLookahead_FB + i] + i * sts[1]->input[-2 * sts[0]->encoderLookahead_FB + i] ) * tmpF; } - /* restore continous signal in right channel (part of old_output was used to store original left channel) */ + /* restore continuous signal in right channel (part of old_output was used to store original left channel) */ mvr2r( sts[0]->input - sts[0]->hTcxEnc->L_frameTCX, sts[1]->input - sts[0]->hTcxEnc->L_frameTCX, sts[0]->hTcxEnc->L_frameTCX - sts[0]->encoderLookahead_FB ); sts[1]->last_core = sts[0]->last_core; -- GitLab From afaa34db80531424795776a173703963ceb7aac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhold=20B=C3=B6hm?= <Reinhold.Boehm@dolby.com> Date: Fri, 25 Nov 2022 15:53:47 +0100 Subject: [PATCH 182/620] skip more high bitrate DTX tests --- scripts/config/self_test.prm | 5 +++-- tests/test_sba_bs_enc.py | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 15e0be1ab5..310cc82800 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -267,9 +267,10 @@ ../IVAS_cod -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 32 testv/stvST32c.pcm bit ../IVAS_dec STEREO 32 bit testv/stvST48c.pcm_stereo_sw_32-32.tst +// disabled until high bitrate DTX issue is fixed // stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, MONO out -../IVAS_cod -dtx -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stvST48n.pcm bit -../IVAS_dec MONO 48 bit testv/stvST48n.pcm_stereo_sw_48-48_DTX_MONO.tst +//../IVAS_cod -dtx -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stvST48n.pcm bit +//../IVAS_dec MONO 48 bit testv/stvST48n.pcm_stereo_sw_48-48_DTX_MONO.tst // 1 ISm with metadata at 13.2 kbps, 48 kHz in, 48 kHz out, MONO out diff --git a/tests/test_sba_bs_enc.py b/tests/test_sba_bs_enc.py index 23260fbaaf..fcf1c00fba 100644 --- a/tests/test_sba_bs_enc.py +++ b/tests/test_sba_bs_enc.py @@ -365,6 +365,10 @@ def test_sba_enc_BWforce_system( tag, sample_rate_bw_idx, ): + if dtx == '1' and ivas_br not in ['32000', '64000']: + # skip high bitrates for DTX until DTX issue is resolved + pytest.skip() + fs = sample_rate_bw_idx[0] bw = sample_rate_bw_idx[1] tag = tag + fs + 'c' -- GitLab From 674caa7d0e562c0f7f94d0fdfed0c61427474988 Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Fri, 25 Nov 2022 15:53:52 +0100 Subject: [PATCH 183/620] re-enable RAM_COUNTING_TOOL --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 189f489480..6c7e089ec9 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -41,7 +41,7 @@ /* ################### Start compiler switches ######################## */ #define SUPPORT_JBM_TRACEFILE /* support for JBM tracefile, which is needed for 3GPP objective/subjective testing, but not relevant for real-world implementations */ -//#define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ +#define RAM_COUNTING_TOOL /* tool to automatically count the dynamically alocated static memory consumption */ /* #################### End compiler switches ######################### */ -- GitLab From c120864570366b9db15fa679c8b74b24e7a0d1de Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 15:56:01 +0100 Subject: [PATCH 184/620] remove frame index from ISM metadata input file --- tests/renderer/data/ism_0a_0e.csv | 1500 ++++++++++++++--------------- 1 file changed, 750 insertions(+), 750 deletions(-) diff --git a/tests/renderer/data/ism_0a_0e.csv b/tests/renderer/data/ism_0a_0e.csv index fa12ec7c33..7772c8c916 100644 --- a/tests/renderer/data/ism_0a_0e.csv +++ b/tests/renderer/data/ism_0a_0e.csv @@ -1,750 +1,750 @@ -0,0,0,1,0,1 -1,0,0,1,0,1 -2,0,0,1,0,1 -3,0,0,1,0,1 -4,0,0,1,0,1 -5,0,0,1,0,1 -6,0,0,1,0,1 -7,0,0,1,0,1 -8,0,0,1,0,1 -9,0,0,1,0,1 -10,0,0,1,0,1 -11,0,0,1,0,1 -12,0,0,1,0,1 -13,0,0,1,0,1 -14,0,0,1,0,1 -15,0,0,1,0,1 -16,0,0,1,0,1 -17,0,0,1,0,1 -18,0,0,1,0,1 -19,0,0,1,0,1 -20,0,0,1,0,1 -21,0,0,1,0,1 -22,0,0,1,0,1 -23,0,0,1,0,1 -24,0,0,1,0,1 -25,0,0,1,0,1 -26,0,0,1,0,1 -27,0,0,1,0,1 -28,0,0,1,0,1 -29,0,0,1,0,1 -30,0,0,1,0,1 -31,0,0,1,0,1 -32,0,0,1,0,1 -33,0,0,1,0,1 -34,0,0,1,0,1 -35,0,0,1,0,1 -36,0,0,1,0,1 -37,0,0,1,0,1 -38,0,0,1,0,1 -39,0,0,1,0,1 -40,0,0,1,0,1 -41,0,0,1,0,1 -42,0,0,1,0,1 -43,0,0,1,0,1 -44,0,0,1,0,1 -45,0,0,1,0,1 -46,0,0,1,0,1 -47,0,0,1,0,1 -48,0,0,1,0,1 -49,0,0,1,0,1 -50,0,0,1,0,1 -51,0,0,1,0,1 -52,0,0,1,0,1 -53,0,0,1,0,1 -54,0,0,1,0,1 -55,0,0,1,0,1 -56,0,0,1,0,1 -57,0,0,1,0,1 -58,0,0,1,0,1 -59,0,0,1,0,1 -60,0,0,1,0,1 -61,0,0,1,0,1 -62,0,0,1,0,1 -63,0,0,1,0,1 -64,0,0,1,0,1 -65,0,0,1,0,1 -66,0,0,1,0,1 -67,0,0,1,0,1 -68,0,0,1,0,1 -69,0,0,1,0,1 -70,0,0,1,0,1 -71,0,0,1,0,1 -72,0,0,1,0,1 -73,0,0,1,0,1 -74,0,0,1,0,1 -75,0,0,1,0,1 -76,0,0,1,0,1 -77,0,0,1,0,1 -78,0,0,1,0,1 -79,0,0,1,0,1 -80,0,0,1,0,1 -81,0,0,1,0,1 -82,0,0,1,0,1 -83,0,0,1,0,1 -84,0,0,1,0,1 -85,0,0,1,0,1 -86,0,0,1,0,1 -87,0,0,1,0,1 -88,0,0,1,0,1 -89,0,0,1,0,1 -90,0,0,1,0,1 -91,0,0,1,0,1 -92,0,0,1,0,1 -93,0,0,1,0,1 -94,0,0,1,0,1 -95,0,0,1,0,1 -96,0,0,1,0,1 -97,0,0,1,0,1 -98,0,0,1,0,1 -99,0,0,1,0,1 -100,0,0,1,0,1 -101,0,0,1,0,1 -102,0,0,1,0,1 -103,0,0,1,0,1 -104,0,0,1,0,1 -105,0,0,1,0,1 -106,0,0,1,0,1 -107,0,0,1,0,1 -108,0,0,1,0,1 -109,0,0,1,0,1 -110,0,0,1,0,1 -111,0,0,1,0,1 -112,0,0,1,0,1 -113,0,0,1,0,1 -114,0,0,1,0,1 -115,0,0,1,0,1 -116,0,0,1,0,1 -117,0,0,1,0,1 -118,0,0,1,0,1 -119,0,0,1,0,1 -120,0,0,1,0,1 -121,0,0,1,0,1 -122,0,0,1,0,1 -123,0,0,1,0,1 -124,0,0,1,0,1 -125,0,0,1,0,1 -126,0,0,1,0,1 -127,0,0,1,0,1 -128,0,0,1,0,1 -129,0,0,1,0,1 -130,0,0,1,0,1 -131,0,0,1,0,1 -132,0,0,1,0,1 -133,0,0,1,0,1 -134,0,0,1,0,1 -135,0,0,1,0,1 -136,0,0,1,0,1 -137,0,0,1,0,1 -138,0,0,1,0,1 -139,0,0,1,0,1 -140,0,0,1,0,1 -141,0,0,1,0,1 -142,0,0,1,0,1 -143,0,0,1,0,1 -144,0,0,1,0,1 -145,0,0,1,0,1 -146,0,0,1,0,1 -147,0,0,1,0,1 -148,0,0,1,0,1 -149,0,0,1,0,1 -150,0,0,1,0,1 -151,0,0,1,0,1 -152,0,0,1,0,1 -153,0,0,1,0,1 -154,0,0,1,0,1 -155,0,0,1,0,1 -156,0,0,1,0,1 -157,0,0,1,0,1 -158,0,0,1,0,1 -159,0,0,1,0,1 -160,0,0,1,0,1 -161,0,0,1,0,1 -162,0,0,1,0,1 -163,0,0,1,0,1 -164,0,0,1,0,1 -165,0,0,1,0,1 -166,0,0,1,0,1 -167,0,0,1,0,1 -168,0,0,1,0,1 -169,0,0,1,0,1 -170,0,0,1,0,1 -171,0,0,1,0,1 -172,0,0,1,0,1 -173,0,0,1,0,1 -174,0,0,1,0,1 -175,0,0,1,0,1 -176,0,0,1,0,1 -177,0,0,1,0,1 -178,0,0,1,0,1 -179,0,0,1,0,1 -180,0,0,1,0,1 -181,0,0,1,0,1 -182,0,0,1,0,1 -183,0,0,1,0,1 -184,0,0,1,0,1 -185,0,0,1,0,1 -186,0,0,1,0,1 -187,0,0,1,0,1 -188,0,0,1,0,1 -189,0,0,1,0,1 -190,0,0,1,0,1 -191,0,0,1,0,1 -192,0,0,1,0,1 -193,0,0,1,0,1 -194,0,0,1,0,1 -195,0,0,1,0,1 -196,0,0,1,0,1 -197,0,0,1,0,1 -198,0,0,1,0,1 -199,0,0,1,0,1 -200,0,0,1,0,1 -201,0,0,1,0,1 -202,0,0,1,0,1 -203,0,0,1,0,1 -204,0,0,1,0,1 -205,0,0,1,0,1 -206,0,0,1,0,1 -207,0,0,1,0,1 -208,0,0,1,0,1 -209,0,0,1,0,1 -210,0,0,1,0,1 -211,0,0,1,0,1 -212,0,0,1,0,1 -213,0,0,1,0,1 -214,0,0,1,0,1 -215,0,0,1,0,1 -216,0,0,1,0,1 -217,0,0,1,0,1 -218,0,0,1,0,1 -219,0,0,1,0,1 -220,0,0,1,0,1 -221,0,0,1,0,1 -222,0,0,1,0,1 -223,0,0,1,0,1 -224,0,0,1,0,1 -225,0,0,1,0,1 -226,0,0,1,0,1 -227,0,0,1,0,1 -228,0,0,1,0,1 -229,0,0,1,0,1 -230,0,0,1,0,1 -231,0,0,1,0,1 -232,0,0,1,0,1 -233,0,0,1,0,1 -234,0,0,1,0,1 -235,0,0,1,0,1 -236,0,0,1,0,1 -237,0,0,1,0,1 -238,0,0,1,0,1 -239,0,0,1,0,1 -240,0,0,1,0,1 -241,0,0,1,0,1 -242,0,0,1,0,1 -243,0,0,1,0,1 -244,0,0,1,0,1 -245,0,0,1,0,1 -246,0,0,1,0,1 -247,0,0,1,0,1 -248,0,0,1,0,1 -249,0,0,1,0,1 -250,0,0,1,0,1 -251,0,0,1,0,1 -252,0,0,1,0,1 -253,0,0,1,0,1 -254,0,0,1,0,1 -255,0,0,1,0,1 -256,0,0,1,0,1 -257,0,0,1,0,1 -258,0,0,1,0,1 -259,0,0,1,0,1 -260,0,0,1,0,1 -261,0,0,1,0,1 -262,0,0,1,0,1 -263,0,0,1,0,1 -264,0,0,1,0,1 -265,0,0,1,0,1 -266,0,0,1,0,1 -267,0,0,1,0,1 -268,0,0,1,0,1 -269,0,0,1,0,1 -270,0,0,1,0,1 -271,0,0,1,0,1 -272,0,0,1,0,1 -273,0,0,1,0,1 -274,0,0,1,0,1 -275,0,0,1,0,1 -276,0,0,1,0,1 -277,0,0,1,0,1 -278,0,0,1,0,1 -279,0,0,1,0,1 -280,0,0,1,0,1 -281,0,0,1,0,1 -282,0,0,1,0,1 -283,0,0,1,0,1 -284,0,0,1,0,1 -285,0,0,1,0,1 -286,0,0,1,0,1 -287,0,0,1,0,1 -288,0,0,1,0,1 -289,0,0,1,0,1 -290,0,0,1,0,1 -291,0,0,1,0,1 -292,0,0,1,0,1 -293,0,0,1,0,1 -294,0,0,1,0,1 -295,0,0,1,0,1 -296,0,0,1,0,1 -297,0,0,1,0,1 -298,0,0,1,0,1 -299,0,0,1,0,1 -300,0,0,1,0,1 -301,0,0,1,0,1 -302,0,0,1,0,1 -303,0,0,1,0,1 -304,0,0,1,0,1 -305,0,0,1,0,1 -306,0,0,1,0,1 -307,0,0,1,0,1 -308,0,0,1,0,1 -309,0,0,1,0,1 -310,0,0,1,0,1 -311,0,0,1,0,1 -312,0,0,1,0,1 -313,0,0,1,0,1 -314,0,0,1,0,1 -315,0,0,1,0,1 -316,0,0,1,0,1 -317,0,0,1,0,1 -318,0,0,1,0,1 -319,0,0,1,0,1 -320,0,0,1,0,1 -321,0,0,1,0,1 -322,0,0,1,0,1 -323,0,0,1,0,1 -324,0,0,1,0,1 -325,0,0,1,0,1 -326,0,0,1,0,1 -327,0,0,1,0,1 -328,0,0,1,0,1 -329,0,0,1,0,1 -330,0,0,1,0,1 -331,0,0,1,0,1 -332,0,0,1,0,1 -333,0,0,1,0,1 -334,0,0,1,0,1 -335,0,0,1,0,1 -336,0,0,1,0,1 -337,0,0,1,0,1 -338,0,0,1,0,1 -339,0,0,1,0,1 -340,0,0,1,0,1 -341,0,0,1,0,1 -342,0,0,1,0,1 -343,0,0,1,0,1 -344,0,0,1,0,1 -345,0,0,1,0,1 -346,0,0,1,0,1 -347,0,0,1,0,1 -348,0,0,1,0,1 -349,0,0,1,0,1 -350,0,0,1,0,1 -351,0,0,1,0,1 -352,0,0,1,0,1 -353,0,0,1,0,1 -354,0,0,1,0,1 -355,0,0,1,0,1 -356,0,0,1,0,1 -357,0,0,1,0,1 -358,0,0,1,0,1 -359,0,0,1,0,1 -360,0,0,1,0,1 -361,0,0,1,0,1 -362,0,0,1,0,1 -363,0,0,1,0,1 -364,0,0,1,0,1 -365,0,0,1,0,1 -366,0,0,1,0,1 -367,0,0,1,0,1 -368,0,0,1,0,1 -369,0,0,1,0,1 -370,0,0,1,0,1 -371,0,0,1,0,1 -372,0,0,1,0,1 -373,0,0,1,0,1 -374,0,0,1,0,1 -375,0,0,1,0,1 -376,0,0,1,0,1 -377,0,0,1,0,1 -378,0,0,1,0,1 -379,0,0,1,0,1 -380,0,0,1,0,1 -381,0,0,1,0,1 -382,0,0,1,0,1 -383,0,0,1,0,1 -384,0,0,1,0,1 -385,0,0,1,0,1 -386,0,0,1,0,1 -387,0,0,1,0,1 -388,0,0,1,0,1 -389,0,0,1,0,1 -390,0,0,1,0,1 -391,0,0,1,0,1 -392,0,0,1,0,1 -393,0,0,1,0,1 -394,0,0,1,0,1 -395,0,0,1,0,1 -396,0,0,1,0,1 -397,0,0,1,0,1 -398,0,0,1,0,1 -399,0,0,1,0,1 -400,0,0,1,0,1 -401,0,0,1,0,1 -402,0,0,1,0,1 -403,0,0,1,0,1 -404,0,0,1,0,1 -405,0,0,1,0,1 -406,0,0,1,0,1 -407,0,0,1,0,1 -408,0,0,1,0,1 -409,0,0,1,0,1 -410,0,0,1,0,1 -411,0,0,1,0,1 -412,0,0,1,0,1 -413,0,0,1,0,1 -414,0,0,1,0,1 -415,0,0,1,0,1 -416,0,0,1,0,1 -417,0,0,1,0,1 -418,0,0,1,0,1 -419,0,0,1,0,1 -420,0,0,1,0,1 -421,0,0,1,0,1 -422,0,0,1,0,1 -423,0,0,1,0,1 -424,0,0,1,0,1 -425,0,0,1,0,1 -426,0,0,1,0,1 -427,0,0,1,0,1 -428,0,0,1,0,1 -429,0,0,1,0,1 -430,0,0,1,0,1 -431,0,0,1,0,1 -432,0,0,1,0,1 -433,0,0,1,0,1 -434,0,0,1,0,1 -435,0,0,1,0,1 -436,0,0,1,0,1 -437,0,0,1,0,1 -438,0,0,1,0,1 -439,0,0,1,0,1 -440,0,0,1,0,1 -441,0,0,1,0,1 -442,0,0,1,0,1 -443,0,0,1,0,1 -444,0,0,1,0,1 -445,0,0,1,0,1 -446,0,0,1,0,1 -447,0,0,1,0,1 -448,0,0,1,0,1 -449,0,0,1,0,1 -450,0,0,1,0,1 -451,0,0,1,0,1 -452,0,0,1,0,1 -453,0,0,1,0,1 -454,0,0,1,0,1 -455,0,0,1,0,1 -456,0,0,1,0,1 -457,0,0,1,0,1 -458,0,0,1,0,1 -459,0,0,1,0,1 -460,0,0,1,0,1 -461,0,0,1,0,1 -462,0,0,1,0,1 -463,0,0,1,0,1 -464,0,0,1,0,1 -465,0,0,1,0,1 -466,0,0,1,0,1 -467,0,0,1,0,1 -468,0,0,1,0,1 -469,0,0,1,0,1 -470,0,0,1,0,1 -471,0,0,1,0,1 -472,0,0,1,0,1 -473,0,0,1,0,1 -474,0,0,1,0,1 -475,0,0,1,0,1 -476,0,0,1,0,1 -477,0,0,1,0,1 -478,0,0,1,0,1 -479,0,0,1,0,1 -480,0,0,1,0,1 -481,0,0,1,0,1 -482,0,0,1,0,1 -483,0,0,1,0,1 -484,0,0,1,0,1 -485,0,0,1,0,1 -486,0,0,1,0,1 -487,0,0,1,0,1 -488,0,0,1,0,1 -489,0,0,1,0,1 -490,0,0,1,0,1 -491,0,0,1,0,1 -492,0,0,1,0,1 -493,0,0,1,0,1 -494,0,0,1,0,1 -495,0,0,1,0,1 -496,0,0,1,0,1 -497,0,0,1,0,1 -498,0,0,1,0,1 -499,0,0,1,0,1 -500,0,0,1,0,1 -501,0,0,1,0,1 -502,0,0,1,0,1 -503,0,0,1,0,1 -504,0,0,1,0,1 -505,0,0,1,0,1 -506,0,0,1,0,1 -507,0,0,1,0,1 -508,0,0,1,0,1 -509,0,0,1,0,1 -510,0,0,1,0,1 -511,0,0,1,0,1 -512,0,0,1,0,1 -513,0,0,1,0,1 -514,0,0,1,0,1 -515,0,0,1,0,1 -516,0,0,1,0,1 -517,0,0,1,0,1 -518,0,0,1,0,1 -519,0,0,1,0,1 -520,0,0,1,0,1 -521,0,0,1,0,1 -522,0,0,1,0,1 -523,0,0,1,0,1 -524,0,0,1,0,1 -525,0,0,1,0,1 -526,0,0,1,0,1 -527,0,0,1,0,1 -528,0,0,1,0,1 -529,0,0,1,0,1 -530,0,0,1,0,1 -531,0,0,1,0,1 -532,0,0,1,0,1 -533,0,0,1,0,1 -534,0,0,1,0,1 -535,0,0,1,0,1 -536,0,0,1,0,1 -537,0,0,1,0,1 -538,0,0,1,0,1 -539,0,0,1,0,1 -540,0,0,1,0,1 -541,0,0,1,0,1 -542,0,0,1,0,1 -543,0,0,1,0,1 -544,0,0,1,0,1 -545,0,0,1,0,1 -546,0,0,1,0,1 -547,0,0,1,0,1 -548,0,0,1,0,1 -549,0,0,1,0,1 -550,0,0,1,0,1 -551,0,0,1,0,1 -552,0,0,1,0,1 -553,0,0,1,0,1 -554,0,0,1,0,1 -555,0,0,1,0,1 -556,0,0,1,0,1 -557,0,0,1,0,1 -558,0,0,1,0,1 -559,0,0,1,0,1 -560,0,0,1,0,1 -561,0,0,1,0,1 -562,0,0,1,0,1 -563,0,0,1,0,1 -564,0,0,1,0,1 -565,0,0,1,0,1 -566,0,0,1,0,1 -567,0,0,1,0,1 -568,0,0,1,0,1 -569,0,0,1,0,1 -570,0,0,1,0,1 -571,0,0,1,0,1 -572,0,0,1,0,1 -573,0,0,1,0,1 -574,0,0,1,0,1 -575,0,0,1,0,1 -576,0,0,1,0,1 -577,0,0,1,0,1 -578,0,0,1,0,1 -579,0,0,1,0,1 -580,0,0,1,0,1 -581,0,0,1,0,1 -582,0,0,1,0,1 -583,0,0,1,0,1 -584,0,0,1,0,1 -585,0,0,1,0,1 -586,0,0,1,0,1 -587,0,0,1,0,1 -588,0,0,1,0,1 -589,0,0,1,0,1 -590,0,0,1,0,1 -591,0,0,1,0,1 -592,0,0,1,0,1 -593,0,0,1,0,1 -594,0,0,1,0,1 -595,0,0,1,0,1 -596,0,0,1,0,1 -597,0,0,1,0,1 -598,0,0,1,0,1 -599,0,0,1,0,1 -600,0,0,1,0,1 -601,0,0,1,0,1 -602,0,0,1,0,1 -603,0,0,1,0,1 -604,0,0,1,0,1 -605,0,0,1,0,1 -606,0,0,1,0,1 -607,0,0,1,0,1 -608,0,0,1,0,1 -609,0,0,1,0,1 -610,0,0,1,0,1 -611,0,0,1,0,1 -612,0,0,1,0,1 -613,0,0,1,0,1 -614,0,0,1,0,1 -615,0,0,1,0,1 -616,0,0,1,0,1 -617,0,0,1,0,1 -618,0,0,1,0,1 -619,0,0,1,0,1 -620,0,0,1,0,1 -621,0,0,1,0,1 -622,0,0,1,0,1 -623,0,0,1,0,1 -624,0,0,1,0,1 -625,0,0,1,0,1 -626,0,0,1,0,1 -627,0,0,1,0,1 -628,0,0,1,0,1 -629,0,0,1,0,1 -630,0,0,1,0,1 -631,0,0,1,0,1 -632,0,0,1,0,1 -633,0,0,1,0,1 -634,0,0,1,0,1 -635,0,0,1,0,1 -636,0,0,1,0,1 -637,0,0,1,0,1 -638,0,0,1,0,1 -639,0,0,1,0,1 -640,0,0,1,0,1 -641,0,0,1,0,1 -642,0,0,1,0,1 -643,0,0,1,0,1 -644,0,0,1,0,1 -645,0,0,1,0,1 -646,0,0,1,0,1 -647,0,0,1,0,1 -648,0,0,1,0,1 -649,0,0,1,0,1 -650,0,0,1,0,1 -651,0,0,1,0,1 -652,0,0,1,0,1 -653,0,0,1,0,1 -654,0,0,1,0,1 -655,0,0,1,0,1 -656,0,0,1,0,1 -657,0,0,1,0,1 -658,0,0,1,0,1 -659,0,0,1,0,1 -660,0,0,1,0,1 -661,0,0,1,0,1 -662,0,0,1,0,1 -663,0,0,1,0,1 -664,0,0,1,0,1 -665,0,0,1,0,1 -666,0,0,1,0,1 -667,0,0,1,0,1 -668,0,0,1,0,1 -669,0,0,1,0,1 -670,0,0,1,0,1 -671,0,0,1,0,1 -672,0,0,1,0,1 -673,0,0,1,0,1 -674,0,0,1,0,1 -675,0,0,1,0,1 -676,0,0,1,0,1 -677,0,0,1,0,1 -678,0,0,1,0,1 -679,0,0,1,0,1 -680,0,0,1,0,1 -681,0,0,1,0,1 -682,0,0,1,0,1 -683,0,0,1,0,1 -684,0,0,1,0,1 -685,0,0,1,0,1 -686,0,0,1,0,1 -687,0,0,1,0,1 -688,0,0,1,0,1 -689,0,0,1,0,1 -690,0,0,1,0,1 -691,0,0,1,0,1 -692,0,0,1,0,1 -693,0,0,1,0,1 -694,0,0,1,0,1 -695,0,0,1,0,1 -696,0,0,1,0,1 -697,0,0,1,0,1 -698,0,0,1,0,1 -699,0,0,1,0,1 -700,0,0,1,0,1 -701,0,0,1,0,1 -702,0,0,1,0,1 -703,0,0,1,0,1 -704,0,0,1,0,1 -705,0,0,1,0,1 -706,0,0,1,0,1 -707,0,0,1,0,1 -708,0,0,1,0,1 -709,0,0,1,0,1 -710,0,0,1,0,1 -711,0,0,1,0,1 -712,0,0,1,0,1 -713,0,0,1,0,1 -714,0,0,1,0,1 -715,0,0,1,0,1 -716,0,0,1,0,1 -717,0,0,1,0,1 -718,0,0,1,0,1 -719,0,0,1,0,1 -720,0,0,1,0,1 -721,0,0,1,0,1 -722,0,0,1,0,1 -723,0,0,1,0,1 -724,0,0,1,0,1 -725,0,0,1,0,1 -726,0,0,1,0,1 -727,0,0,1,0,1 -728,0,0,1,0,1 -729,0,0,1,0,1 -730,0,0,1,0,1 -731,0,0,1,0,1 -732,0,0,1,0,1 -733,0,0,1,0,1 -734,0,0,1,0,1 -735,0,0,1,0,1 -736,0,0,1,0,1 -737,0,0,1,0,1 -738,0,0,1,0,1 -739,0,0,1,0,1 -740,0,0,1,0,1 -741,0,0,1,0,1 -742,0,0,1,0,1 -743,0,0,1,0,1 -744,0,0,1,0,1 -745,0,0,1,0,1 -746,0,0,1,0,1 -747,0,0,1,0,1 -748,0,0,1,0,1 -749,0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 +0,0,1,0,1 -- GitLab From 4759c7bb4aabbc11d952f2f5ec94c24863941463 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Fri, 25 Nov 2022 16:19:38 +0100 Subject: [PATCH 185/620] fixed get framewise --- scripts/pyaudio3dtools/audioarray.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pyaudio3dtools/audioarray.py b/scripts/pyaudio3dtools/audioarray.py index 1906e82033..917cdf59c6 100644 --- a/scripts/pyaudio3dtools/audioarray.py +++ b/scripts/pyaudio3dtools/audioarray.py @@ -434,7 +434,7 @@ def get_framewise(x: np.ndarray, chunk_size: int, zero_pad=False) -> np.ndarray: if x.shape[0] % chunk_size: last_chunk = x[n_frames * chunk_size :, :] if zero_pad: - yield np.pad(last_chunk, [[0, x.shape[0] % chunk_size], [0, 0]]) + yield np.pad(last_chunk, [[0, chunk_size - (x.shape[0] % chunk_size)], [0, 0]]) else: yield last_chunk -- GitLab From 84695b182e08f6369183bb1c9ee740929464b69f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 25 Nov 2022 16:34:28 +0100 Subject: [PATCH 186/620] remove extra comment line --- scripts/config/self_test.prm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 310cc82800..c734e5ed4f 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -267,8 +267,7 @@ ../IVAS_cod -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 32 testv/stvST32c.pcm bit ../IVAS_dec STEREO 32 bit testv/stvST48c.pcm_stereo_sw_32-32.tst -// disabled until high bitrate DTX issue is fixed -// stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, MONO out +// disabled until high bitrate DTX issue is fixed - stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, MONO out //../IVAS_cod -dtx -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stvST48n.pcm bit //../IVAS_dec MONO 48 bit testv/stvST48n.pcm_stereo_sw_48-48_DTX_MONO.tst -- GitLab From 0b3eb247d3cb6ff1db42387966492a37fd66a408 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 16:39:04 +0100 Subject: [PATCH 187/620] remove obsolete comment in self_test.prm --- scripts/config/self_test.prm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index c734e5ed4f..df4bbb45a3 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -267,7 +267,7 @@ ../IVAS_cod -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 32 testv/stvST32c.pcm bit ../IVAS_dec STEREO 32 bit testv/stvST48c.pcm_stereo_sw_32-32.tst -// disabled until high bitrate DTX issue is fixed - stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, MONO out +// stereo bitrate switching from 13.2 kbps to 128 kbps, 48kHz in, 48kHz out, DTX on, MONO out //../IVAS_cod -dtx -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stvST48n.pcm bit //../IVAS_dec MONO 48 bit testv/stvST48n.pcm_stereo_sw_48-48_DTX_MONO.tst -- GitLab From 0d094fec3a6fd8ec0fbf54eced9a262fa3541fc5 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 25 Nov 2022 17:34:02 +0100 Subject: [PATCH 188/620] fix MSVC warning when DEBUGGING is disabled --- apps/renderer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/renderer.c b/apps/renderer.c index cee003f972..9fb5337ed8 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -31,7 +31,6 @@ *******************************************************************************************************/ #include "options.h" -#include "debug.h" #include "audio_file_reader.h" #include "audio_file_writer.h" #include "cmdl_tools.h" @@ -49,6 +48,9 @@ #include "PROM_Size_lib_rend.h" #include "wmops.h" #endif +#ifdef DEBUGGING +#include "debug.h" +#endif #ifdef RAM_COUNTING_TOOL #include "mem_count.h" #endif -- GitLab From 5d2fcf53e0d32866b963ec66d29488c78f5592a8 Mon Sep 17 00:00:00 2001 From: Hiromi Sekine <sekine.hiromi@ntt-tx.co.jp> Date: Mon, 28 Nov 2022 11:02:51 +0900 Subject: [PATCH 189/620] Remove unnecessary code. --- lib_com/options.h | 5 +---- lib_enc/ivas_stereo_dmx_evs.c | 40 +++++++++++++++-------------------- 2 files changed, 18 insertions(+), 27 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index c49202354f..7124060f77 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -172,10 +172,7 @@ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ /* NTT switches */ -#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ -#ifndef NTT_REDUC_COMP_POC -#define NTT_USE_INV_SQRT_POC /*inv_sqrt() is used */ -#endif +#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index 3a13984108..e1f7e28d8f 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -157,7 +157,7 @@ static void calc_poc( float tmp1, tmp2, Lr, Li, Rr, Ri, gamma, igamma, iN; #ifdef NTT_REDUC_COMP_POC - float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary values for searching phase angle*/ + float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary values for searching phase angle*/ float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; float rfft_buf[L_FRAME48k]; int16_t step, bias; @@ -182,7 +182,7 @@ static void calc_poc( P = hPOC->P; n0 = input_frame / 2; itdLR = hPOC->itdLR; - + igamma = STEREO_DMX_EVS_POC_GAMMA * iN; gamma = 1.0f - igamma; @@ -217,10 +217,10 @@ static void calc_poc( { eps_cos = s[cos_max - i * cos_step /*cos_max - i_for*/] * EPS; eps_sin = s[i * cos_step /*i_for*/] * EPS; - Lr = specLr[i]+ specRr[i] * eps_cos + specRi[i] * eps_sin; - Li = specLi[i]- specRr[i] * eps_sin + specRi[i] * eps_cos; - Rr = specRr[i]+ specLr[i] * eps_cos + specLi[i] * eps_sin; - Ri = specRi[i]- specLr[i] * eps_sin + specLi[i] * eps_cos; + Lr = specLr[i] + specRr[i] * eps_cos + specRi[i] * eps_sin; + Li = specLi[i] - specRr[i] * eps_sin + specRi[i] * eps_cos; + Rr = specRr[i] + specLr[i] * eps_cos + specLi[i] * eps_sin; + Ri = specRi[i] - specLr[i] * eps_sin + specLi[i] * eps_cos; specPOr[i] = ( Lr * Rr + Li * Ri ); specPOi[i] = ( Lr * Ri - Li * Rr ); @@ -287,14 +287,14 @@ static void calc_poc( gamma -= igamma; } - for ( ; i < n0 >> 3; i++ ) /* binary search from 8 angles */ + for ( ; i<n0>> 3; i++ ) /* binary search from 8 angles */ { - tmp1 = wnd[i* step + bias] * gamma; - + tmp1 = wnd[i * step + bias] * gamma; + if ( ( specPOr[i] - specPOi[i] ) * ( specPOr[i] + specPOi[i] ) > 0 ) { - specPOr[i] = sign( specPOr[i] ) * tmp1 * /*0.923880f*/ s[120 * mult_angle]; /* cos(PI/8)*/ - specPOi[i] = sign( specPOi[i] ) * tmp1 * /*0.382683f*/ s[40 * mult_angle]; + specPOr[i] = sign( specPOr[i] ) * tmp1 * /*0.923880f*/ s[120 * mult_angle]; /* cos(PI/8)*/ + specPOi[i] = sign( specPOi[i] ) * tmp1 * /*0.382683f*/ s[40 * mult_angle]; } else { @@ -303,7 +303,7 @@ static void calc_poc( } gamma -= igamma; } - for ( ; i < end ; i++ ) /* binary search from 16 angles */ + for ( ; i < end; i++ ) /* binary search from 16 angles */ { tmp1 = wnd[i * step + bias] * gamma; if ( ( specPOr[i] - specPOi[i] ) * ( specPOr[i] + specPOi[i] ) > 0 ) @@ -316,7 +316,7 @@ static void calc_poc( else { specPOr[i] = sign( specPOr[i] ) * tmp1 /* 0.831470f */ * s[100 * mult_angle]; /*cos(PI*3/16)*/ - specPOi[i] = sign( specPOi[i] ) * tmp1 /* 0.555570f*/ * s[60 * mult_angle]; + specPOi[i] = sign( specPOi[i] ) * tmp1 /* 0.555570f*/ * s[60 * mult_angle]; } } else @@ -329,7 +329,7 @@ static void calc_poc( else { specPOr[i] = sign( specPOr[i] ) * tmp1 /** 0.195090f*/ * s[20 * mult_angle]; /*cos(PI*7/16)*/ - specPOi[i] = sign( specPOi[i] ) * tmp1 /** 0.980785f*/ * s[140* mult_angle]; + specPOi[i] = sign( specPOi[i] ) * tmp1 /** 0.980785f*/ * s[140 * mult_angle]; } } gamma -= igamma; @@ -344,7 +344,7 @@ static void calc_poc( specPOr[i] = 0.f; specPOi[i] = 0.f; } - specPOr[n0] = sign( specLr[n0] * specRr [n0] ) * wnd[i * step + bias] * gamma; + specPOr[n0] = sign( specLr[n0] * specRr[n0] ) * wnd[i * step + bias] * gamma; #else /*NTT_REDUC_COMP_POC*/ if ( input_frame == L_FRAME16k ) @@ -387,11 +387,8 @@ static void calc_poc( Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); -#ifdef NTT_USE_INV_SQRT_POC - tmp1 = wnd[i * step + bias] * gamma * inv_sqrt( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) + EPS ); -#else tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); -#endif + specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1; specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1; @@ -414,11 +411,8 @@ static void calc_poc( Rr += ( -specLr[i] * eps_cos + specLi[i] * eps_sin ); Ri += ( -specLr[i] * eps_sin - specLi[i] * eps_cos ); -#ifdef NTT_USE_INV_SQRT_POC - tmp1 = wnd[i * step + bias] * gamma * inv_sqrt( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) + EPS ); -#else tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); -#endif + specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1; specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1; gamma -= igamma; -- GitLab From dfd8057009a818fbc636b5d09ba07caff862cf8c Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 28 Nov 2022 08:24:51 +0000 Subject: [PATCH 190/620] Update dtx.c: fix use-of-uninitialized-value-error within FIX_DTX_RANGE --- lib_enc/dtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/dtx.c b/lib_enc/dtx.c index d8da85429f..1e80dfaf06 100644 --- a/lib_enc/dtx.c +++ b/lib_enc/dtx.c @@ -255,7 +255,7 @@ void dtx( else { #ifdef FIX_DTX_RANGE - if ( ( st->cng_type == FD_CNG && ( st->total_brate <= MAX_BRATE_DTX_EVS || ( st->element_mode == IVAS_SCE && st->element_brate <= MAX_BRATE_DTX_IVAS ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ + if ( ( st->cng_type == FD_CNG && ( st->total_brate <= MAX_BRATE_DTX_EVS || ( st->element_mode == IVAS_SCE && ivas_total_brate <= MAX_BRATE_DTX_IVAS ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ #else if ( ( st->cng_type == FD_CNG && ( st->total_brate <= ACELP_24k40 || ( st->element_mode == IVAS_SCE && st->total_brate <= ACELP_32k ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ #endif -- GitLab From 4d7624897683a83919fec365355e31130bfa05b1 Mon Sep 17 00:00:00 2001 From: Hiromi Sekine <sekine.hiromi@ntt-tx.co.jp> Date: Mon, 28 Nov 2022 18:44:03 +0900 Subject: [PATCH 191/620] Apply clang-format. --- lib_enc/ivas_stereo_dmx_evs.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index e1f7e28d8f..b0ec2f1c8e 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -278,7 +278,7 @@ static void calc_poc( specPOi[i] = sign( specPOi[i] ) * 0.5f * tmp1; gamma -= igamma; } - for ( ; i<n0>> 4; i++ ) /*search from 4 angles */ + for ( ; i < n0 >> 4; i++ ) /*search from 4 angles */ { tmp1 = wnd[i * step + bias] * gamma * 0.7071f; @@ -287,7 +287,7 @@ static void calc_poc( gamma -= igamma; } - for ( ; i<n0>> 3; i++ ) /* binary search from 8 angles */ + for ( ; i < n0 >> 3; i++ ) /* binary search from 8 angles */ { tmp1 = wnd[i * step + bias] * gamma; @@ -542,7 +542,7 @@ static float find_poc_peak( cnt[n] = 0; cQ[n] = P[Lh - itd_cand[n]]; - peak_range = ( int16_t )( abs( itd_cand[n] ) + hPOC->shift_limit / STEREO_DMX_EVS_FIND_POC_PEAK_TAU ) / STEREO_DMX_EVS_FIND_POC_PEAK_TAU2; + peak_range = (int16_t) ( abs( itd_cand[n] ) + hPOC->shift_limit / STEREO_DMX_EVS_FIND_POC_PEAK_TAU ) / STEREO_DMX_EVS_FIND_POC_PEAK_TAU2; for ( i = 1; i <= peak_range; i++ ) { @@ -880,7 +880,7 @@ void stereo_dmx_evs_enc( float dmx_data[L_FRAME48k]; int16_t input_frame; - input_frame = ( int16_t )( input_Fs / FRAMES_PER_SEC ); + input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); for ( n = 0; n < input_frame; n++ ) { @@ -927,7 +927,7 @@ ivas_error stereo_dmx_evs_init_encoder( STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS; int16_t n, input_frame; - input_frame = ( int16_t )( input_Fs / FRAMES_PER_SEC ); + input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); hStereoDmxEVS = NULL; if ( ( hStereoDmxEVS = (STEREO_DMX_EVS_ENC_HANDLE) count_malloc( sizeof( STEREO_DMX_EVS_ENC_DATA ) ) ) == NULL ) @@ -969,7 +969,7 @@ ivas_error stereo_dmx_evs_init_encoder( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for STEREO_DMX_EVS_POC_DATA\n" ) ); } - hStereoDmxEVS->hPOC->shift_limit = ( int16_t )( STEREO_DMX_EVS_SHIFT_LIMIT * input_Fs / 1000 ); + hStereoDmxEVS->hPOC->shift_limit = (int16_t) ( STEREO_DMX_EVS_SHIFT_LIMIT * input_Fs / 1000 ); for ( n = 0; n < CPE_CHANNELS; n++ ) { hStereoDmxEVS->hPOC->peakQ[n] = 0.0f; -- GitLab From 656ca9c073c7c9a5346ced2de63333bbcd947143 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 28 Nov 2022 11:32:06 +0100 Subject: [PATCH 192/620] Simplify error check and correct comment --- lib_util/ism_file_reader.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c index f989ea5f3c..cc93501571 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -142,9 +142,9 @@ ivas_error IsmFileReader_readNextFrame( } #ifdef FIX_ISM_METADATA_READER - if ( strtok( char_ptr, "\n" ) != NULL ) + if ( char_ptr != NULL ) { - /* Not enough values provided in one line */ + /* Too many values provided in one line */ return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; } #endif -- GitLab From 0ab6da1c832872b0b604a92dcc9e74ea24bb3d5d Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 28 Nov 2022 13:40:30 +0530 Subject: [PATCH 193/620] Made modifications for SBA bitrate switching [x] Added reconfiguration changes for switching bitrates with same transport channels [x] Changes under the switch SBA_BR_SWITCHING_2 --- lib_com/ivas_cnst.h | 4 ++ lib_com/ivas_prot.h | 15 +++- lib_com/ivas_sba_config.c | 25 ++++++- lib_com/options.h | 1 + lib_dec/ivas_dec.c | 3 + lib_dec/ivas_dirac_dec.c | 17 ++++- lib_dec/ivas_init_dec.c | 12 ++++ lib_dec/ivas_sba_dec.c | 140 ++++++++++++++++++++++++++++++++++-- lib_dec/ivas_stat_dec.h | 4 +- lib_enc/ivas_enc.c | 13 ++++ lib_enc/ivas_init_enc.c | 4 +- lib_enc/ivas_sba_enc.c | 52 +++++++++++++- lib_enc/ivas_spar_encoder.c | 16 ++++- lib_enc/ivas_spar_md_enc.c | 20 +++--- lib_enc/ivas_stat_enc.h | 4 +- 15 files changed, 305 insertions(+), 25 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 0074be76d2..4a40921268 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -923,6 +923,10 @@ typedef enum { DIRAC_OPEN, /* initialize to default value */ DIRAC_RECONFIGURE /* HOA3 */ +#ifdef SBA_BR_SWITCHING_2 + , + DIRAC_RECONFIGURE_MODE +#endif } DIRAC_CONFIG_FLAG; diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 7b2ad0a798..348640389e 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -112,8 +112,19 @@ ivas_error ivas_sba_enc_reinit( #endif #ifdef SBA_BR_SWITCHING int16_t get_sba_reinit_flag( - int32_t ivas_total_bitrate, /* i: current bitrate */ - int32_t last_ivas_total_brate /* i: previous bitrate */ + int32_t ivas_total_bitrate, /* i : Current bitrate */ + int32_t last_ivas_total_brate /* i : Previous bitrate */ +#ifdef SBA_BR_SWITCHING_2 + , int16_t sba_order +#endif +); +#endif +#ifdef SBA_BR_SWITCHING_2 +ivas_error ivas_spar_md_enc_init +( + ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ ); #endif ivas_error ivas_sba_enc_reconfigure( diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 64635577b4..133bf3886d 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -82,14 +82,37 @@ SBA_MODE ivas_sba_mode_select( int16_t get_sba_reinit_flag( int32_t ivas_total_bitrate, /* i : Current bitrate */ int32_t last_ivas_total_brate /* i : Previous bitrate */ +#ifdef SBA_BR_SWITCHING_2 + , + int16_t sba_order +#endif ) { int16_t sba_reinit_flag; sba_reinit_flag = 0; +#ifdef SBA_BR_SWITCHING_2 + if ( ivas_total_bitrate != last_ivas_total_brate && ( ivas_total_bitrate > IVAS_SID_5k2 ) ) +#else if ( ivas_total_bitrate != last_ivas_total_brate && ( last_ivas_total_brate > IVAS_SID_5k2 ) && ( ivas_total_bitrate > IVAS_SID_5k2 ) ) +#endif { - sba_reinit_flag = 1; +#ifdef SBA_BR_SWITCHING_2 + int16_t sba_analysis_order, nchan_transport_old, nchan_transport_new; + SBA_MODE last_sba_mode, current_sba_mode; + sba_analysis_order = ivas_sba_get_analysis_order( last_ivas_total_brate, sba_order ); + nchan_transport_old = ivas_get_sba_num_TCs( last_ivas_total_brate, min( sba_analysis_order, IVAS_MAX_SBA_ORDER ) ); + last_sba_mode = ivas_sba_mode_select( last_ivas_total_brate ); + current_sba_mode = ivas_sba_mode_select( ivas_total_bitrate ); + sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_bitrate, sba_order ); + nchan_transport_new = ivas_get_sba_num_TCs( ivas_total_bitrate, min( sba_analysis_order, IVAS_MAX_SBA_ORDER ) ); + if ( ( current_sba_mode != last_sba_mode ) || ( nchan_transport_new != nchan_transport_old ) ) + { +#endif + sba_reinit_flag = 1; +#ifdef SBA_BR_SWITCHING_2 + } +#endif } return sba_reinit_flag; diff --git a/lib_com/options.h b/lib_com/options.h index 73a346c809..de8b01e9ff 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,6 +151,7 @@ #define FIX_EFAP_MATH /* fix for EFAP: remove angle quantization and a bug in polygon lookup causing incorrect gains. minor tweak for ALLRAD. non-BE for modes using EFAP */ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ +#define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ #define REMOVE_SID_HARM_LEFTOVERS /* Issue 192: remove leftovers from the SID bitrate harmonization */ diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 5d3a5a10f9..c3deb7103f 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -563,6 +563,9 @@ ivas_error ivas_dec( if ( !st_ivas->bfi ) /* do not update if first frame(s) are lost or NO_DATA */ { st_ivas->hDecoderConfig->last_ivas_total_brate = ivas_total_brate; +#ifdef SBA_BR_SWITCHING_2 + st_ivas->last_active_ivas_total_brate = ( ivas_total_brate <= IVAS_SID_5k2 ) ? st_ivas->last_active_ivas_total_brate : ivas_total_brate; +#endif } if ( st_ivas->ini_frame < MAX_FRAME_COUNTER && !( st_ivas->bfi && st_ivas->ini_frame == 0 ) ) /* keep "st_ivas->ini_frame = 0" until first good received frame */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 5f9e908481..990e5607fd 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -129,8 +129,12 @@ ivas_error ivas_dirac_dec_open( *-------------------------------------------------------------------------*/ ivas_error ivas_dirac_dec_config( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ +#ifdef SBA_BR_SWITCHING_2 + const DIRAC_CONFIG_FLAG flag_config_inp /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ +#else const DIRAC_CONFIG_FLAG flag_config /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ +#endif ) { DIRAC_DEC_HANDLE hDirAC; @@ -149,7 +153,11 @@ ivas_error ivas_dirac_dec_config( int32_t output_Fs, ivas_total_brate; ivas_error error; int16_t nchan_transport_orig; +#ifdef SBA_BR_SWITCHING_2 + DIRAC_CONFIG_FLAG flag_config; + flag_config = ( flag_config_inp == DIRAC_RECONFIGURE_MODE ) ? DIRAC_RECONFIGURE : flag_config_inp; +#endif error = IVAS_ERR_OK; hDirAC = NULL; @@ -277,6 +285,9 @@ ivas_error ivas_dirac_dec_config( /* band config needed only for SPAR with FOA output */ if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_FOA && st_ivas->sba_mode == SBA_MODE_SPAR ) { +#ifdef SBA_BR_SWITCHING_2 + st_ivas->nchan_transport = nchan_transport_orig; +#endif return IVAS_ERR_OK; } @@ -661,7 +672,11 @@ ivas_error ivas_dirac_dec_config( } else if ( flag_config == DIRAC_RECONFIGURE && hDirAC->proto_signal_decorr_on && proto_signal_decorr_on_old ) { +#ifdef SBA_BR_SWITCHING_2 + if ( nchan_transport != nchan_transport_old || hDirAC->num_outputs_diff != num_outputs_diff_old || flag_config_inp == DIRAC_RECONFIGURE_MODE ) +#else if ( ( nchan_transport != nchan_transport_old ) || ( hDirAC->num_outputs_diff != num_outputs_diff_old ) ) +#endif { /* close and reopen the decorrelator */ ivas_dirac_dec_decorr_close( &hDirAC->h_freq_domain_decorr_ap_params, &hDirAC->h_freq_domain_decorr_ap_state ); diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index e51b46779c..9f42ccb99f 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -125,10 +125,19 @@ ivas_error ivas_dec_setup( st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->sba_order ); num_bits_read += SBA_ORDER_BITS; +#ifdef SBA_BR_SWITCHING_2 + if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) +#else if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->hDecoderConfig->last_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) +#endif { #ifdef SBA_BR_SWITCHING +#ifndef SBA_BR_SWITCHING_2 if ( get_sba_reinit_flag( ivas_total_brate, st_ivas->hDecoderConfig->last_ivas_total_brate ) ) +#else + int16_t sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->last_active_ivas_total_brate, st_ivas->sba_order ); + if ( sba_reinit_flag ) +#endif { if ( ( error = ivas_sba_dec_reinit( st_ivas ) ) != IVAS_ERR_OK ) { @@ -624,6 +633,9 @@ ivas_error ivas_init_decoder( ivas_total_brate = hDecoderConfig->ivas_total_brate; hDecoderConfig->last_ivas_total_brate = ivas_total_brate; +#ifdef SBA_BR_SWITCHING_2 + st_ivas->last_active_ivas_total_brate = ivas_total_brate; +#endif if ( output_config == AUDIO_CONFIG_EXTERNAL ) { diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 975fb60480..86fa059209 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -37,6 +37,9 @@ #include "ivas_cnst.h" #include "prot.h" #include "ivas_prot.h" +#ifdef SBA_BR_SWITCHING_2 +#include "ivas_rom_com.h" +#endif #include "ivas_rom_dec.h" #include <math.h> #ifdef DEBUGGING @@ -73,6 +76,9 @@ ivas_error ivas_sba_dec_reinit( ivas_total_brate = hDecoderConfig->ivas_total_brate; hDecoderConfig->last_ivas_total_brate = ivas_total_brate; +#ifdef SBA_BR_SWITCHING_2 + st_ivas->last_active_ivas_total_brate = ivas_total_brate; +#endif /*------------------------------------------------------------------------------------------* * Closing Decoder handles before Reinitialisation *------------------------------------------------------------------------------------------*/ @@ -561,7 +567,11 @@ ivas_error ivas_sba_dec_reconfigure( int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old; #endif int16_t sba_dirac_stereo_flag_old; +#ifndef SBA_BR_SWITCHING_2 int32_t ivas_total_brate, last_ivas_total_brate; +#else + int32_t ivas_total_brate; +#endif DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; @@ -569,8 +579,9 @@ ivas_error ivas_sba_dec_reconfigure( hDecoderConfig = st_ivas->hDecoderConfig; ivas_total_brate = hDecoderConfig->ivas_total_brate; +#ifndef SBA_BR_SWITCHING_2 last_ivas_total_brate = hDecoderConfig->last_ivas_total_brate; - +#endif /*-----------------------------------------------------------------* * Set SBA high-level parameters * Save old SBA high-level parameters @@ -590,13 +601,94 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->sba_order ); - ivas_sba_config( ivas_total_brate, st_ivas->sba_analysis_order, -1, &st_ivas->nchan_transport, st_ivas->sba_planar, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init ); +#ifdef SBA_BR_SWITCHING_2 + /*-----------------------------------------------------------------* + * Allocate, initalize, and configure SBA handles + *-----------------------------------------------------------------*/ + + if ( st_ivas->sba_mode != SBA_MODE_SPAR ) + { + ivas_spar_dec_close( st_ivas->hSpar, hDecoderConfig->output_Fs ); + st_ivas->hSpar = NULL; + + if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, -1 ) ) != IVAS_ERR_OK ) + { + return error; + } + st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ); + } + else + { + int16_t sba_order_internal; + DIRAC_DEC_HANDLE hDirAC = st_ivas->hDirAC; + SPAR_DEC_HANDLE hSpar = st_ivas->hSpar; + sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ); + + /* PCA handle */ + if ( hSpar != NULL ) + { + if ( st_ivas->hDecoderConfig->ivas_total_brate == PCA_BRATE && sba_order_internal == 1 ) + { + if ( ( hSpar->hPCA = (PCA_DEC_STATE *) count_malloc( sizeof( PCA_DEC_STATE ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for PCA decoder" ); + } + + ivas_pca_dec_init( hSpar->hPCA ); + } + else if ( hSpar->hPCA != NULL ) + { + count_free( st_ivas->hSpar->hPCA ); + hSpar->hPCA = NULL; + } + } + + st_ivas->sba_dirac_stereo_flag = 0; + + sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ); + ivas_spar_config( ivas_total_brate, sba_order_internal, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &hSpar->core_nominal_brate, st_ivas->sid_format ); + + if ( hDirAC == NULL && st_ivas->sba_mode == SBA_MODE_DIRAC ) + { + if ( ( error = ivas_dirac_dec_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + hDirAC = st_ivas->hDirAC; + } + + if ( hDirAC != NULL ) + { + ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE_MODE ); + + mvs2s( hDirAC->dirac_to_spar_md_bands, hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS ); + hSpar->enc_param_start_band = hDirAC->hConfig->enc_param_start_band; + } + + if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, IVAS_MAX_NUM_BANDS - SPAR_DIRAC_SPLIT_START_BAND ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + if ( st_ivas->nchan_transport == 1 ) + { + st_ivas->element_mode_init = IVAS_SCE; + } + else + { + st_ivas->element_mode_init = IVAS_CPE_MDCT; + } +#else + ivas_sba_config( ivas_total_brate, st_ivas->sba_analysis_order, -1, &st_ivas->nchan_transport, st_ivas->sba_planar, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init ); + +#endif /*-----------------------------------------------------------------* * Renderer selection *-----------------------------------------------------------------*/ - /* renderer might have changed */ intern_config_old = st_ivas->intern_config; ivas_renderer_select( st_ivas ); @@ -606,7 +698,6 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); } - #ifdef BRATE_SWITCHING_RENDERING /*-------------------------------------------------------------------* * Reallocate and initialize binaural rendering handles @@ -638,11 +729,47 @@ ivas_error ivas_sba_dec_reconfigure( ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } #endif +#ifdef SBA_BR_SWITCHING_2 + if ((st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC)) + { + if (st_ivas->hDirAC != NULL) + { + if ((error = ivas_dirac_dec_config(st_ivas, DIRAC_RECONFIGURE)) != IVAS_ERR_OK) + { + return error; + } + } + else + { + if ((error = ivas_dirac_dec_config(st_ivas, DIRAC_OPEN)) != IVAS_ERR_OK) + { + return error; + } + } + } + else if (st_ivas->renderer_type == RENDERER_DISABLE || (st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR)) + { + if (st_ivas->hDirAC != NULL) + { + ivas_dirac_dec_close(st_ivas->hDirAC); + st_ivas->hDirAC = NULL; + } + if (st_ivas->hVBAPdata != NULL) + { + vbap_free_data(&(st_ivas->hVBAPdata)); + } + } + + if (st_ivas->hDirAC != NULL && st_ivas->sba_mode == SBA_MODE_SPAR) + { + mvs2s(st_ivas->hDirAC->dirac_to_spar_md_bands, st_ivas->hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS); + st_ivas->hSpar->enc_param_start_band = st_ivas->hDirAC->hConfig->enc_param_start_band; + } +#else /*-----------------------------------------------------------------* * hDirAC decoder handle configuration *-----------------------------------------------------------------*/ - if ( st_ivas->sba_mode != SBA_MODE_SPAR ) { st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && hDecoderConfig->output_config == AUDIO_CONFIG_STEREO ); @@ -695,7 +822,7 @@ ivas_error ivas_sba_dec_reconfigure( vbap_free_data( &( st_ivas->hVBAPdata ) ); } } - +#endif /*-----------------------------------------------------------------* * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ @@ -736,7 +863,6 @@ ivas_error ivas_sba_dec_reconfigure( } } #endif - /* Analysis*/ if ( numCldfbAnalyses_old > numCldfbAnalyses ) { diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 2393a41f2f..5338d4e8bc 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1965,7 +1965,9 @@ typedef struct Decoder_Struct #ifdef DEBUGGING int32_t noClipping; /* number of clipped samples */ #endif - +#ifdef SBA_BR_SWITCHING_2 + int32_t last_active_ivas_total_brate; +#endif } Decoder_Struct; /* clang-format on */ diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 7be1f11c49..61faee23a4 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -65,8 +65,10 @@ ivas_error ivas_enc( float data_f[MAX_INPUT_CHANNELS][L_FRAME48k]; /* IVAS_fmToDo: buffer can be allocated dynamically based on the number of analysed channels */ int32_t ivas_total_brate; ivas_error error; +#ifndef SBA_BR_SWITCHING_2 #ifdef SBA_BR_SWITCHING int16_t sba_reinit_flag; +#endif #endif error = IVAS_ERR_OK; @@ -88,11 +90,18 @@ ivas_error ivas_enc( set_s( nb_bits_metadata, 0, MAX_SCE ); #ifdef SBA_BR_SWITCHING +#ifndef SBA_BR_SWITCHING_2 sba_reinit_flag = 0; +#endif if ( ivas_format == SBA_FORMAT ) { +#ifndef SBA_BR_SWITCHING_2 sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->hEncoderConfig->last_ivas_total_brate ); if ( sba_reinit_flag ) +#else + st_ivas->sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); + if ( st_ivas->sba_reinit_flag ) +#endif { if ( ( error = ivas_sba_enc_reinit( st_ivas ) ) != IVAS_ERR_OK ) { @@ -208,7 +217,11 @@ ivas_error ivas_enc( #ifndef SBA_BR_SWITCHING if ( st_ivas->sba_mode == SBA_MODE_DIRAC ) #else +#ifndef SBA_BR_SWITCHING_2 if ( ( st_ivas->sba_mode == SBA_MODE_DIRAC ) && ( !sba_reinit_flag ) ) +#else + if ( !st_ivas->sba_reinit_flag ) +#endif #endif { if ( ( error = ivas_sba_enc_reconfigure( st_ivas ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 18280a60e2..8d3f78d154 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -342,7 +342,9 @@ ivas_error ivas_init_encoder( st_ivas->sba_mode = SBA_MODE_NONE; st_ivas->nchan_transport = -1; - +#ifdef SBA_BR_SWITCHING_2 + st_ivas->sba_reinit_flag = 0; +#endif /*-----------------------------------------------------------------* * Allocate and initialize SCE/CPE and other handles *-----------------------------------------------------------------*/ diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 003baa0fa0..04aba97747 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -332,18 +332,66 @@ ivas_error ivas_sba_enc_reconfigure( error = IVAS_ERR_OK; ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; - +#ifdef SBA_BR_SWITCHING_2 + ENCODER_CONFIG_HANDLE hEncoderConfig; + hEncoderConfig = st_ivas->hEncoderConfig; +#endif if ( ivas_total_brate != st_ivas->hEncoderConfig->last_ivas_total_brate ) { +#ifdef SBA_BR_SWITCHING_2 + DIRAC_ENC_HANDLE hDirAC = st_ivas->hDirAC; + SPAR_ENC_HANDLE hSpar; +#endif nchan_transport_old = st_ivas->nchan_transport; nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); +#ifdef SBA_BR_SWITCHING_2 + st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); - ivas_dirac_enc_reconfigure( st_ivas ); + if ( st_ivas->sba_mode == SBA_MODE_SPAR ) + { + if ( st_ivas->hSpar == NULL ) + { + if ( ( error = ivas_spar_enc_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + + // VE: TBV - populate 'hSpar->hFrontVad' with 'hCoreCoder[0]' instead of resetting it to init-state? + } + ivas_spar_config( ivas_total_brate, min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ), + &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->hSpar->core_nominal_brate, -1 ); + } + else + { + ivas_spar_enc_close( st_ivas->hSpar, hEncoderConfig->input_Fs, hEncoderConfig->nchan_inp ); + st_ivas->hSpar = NULL; + } + hSpar = st_ivas->hSpar; + + if ( st_ivas->nchan_transport == 1 ) + { + hEncoderConfig->element_mode_init = IVAS_SCE; + } + else + { + hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + } + +#endif + ivas_dirac_enc_reconfigure( st_ivas ); + +#ifdef SBA_BR_SWITCHING_2 + if ( st_ivas->sba_mode == SBA_MODE_SPAR ) + { + mvs2s( hDirAC->dirac_to_spar_md_bands, hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS ); + hSpar->enc_param_start_band = hDirAC->hConfig->enc_param_start_band; + } +#endif /*-----------------------------------------------------------------* * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index b08eeb5e4b..e0365b6055 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -547,7 +547,21 @@ static ivas_error ivas_spar_enc_process( if ( hSpar->hMdEnc->table_idx != table_idx ) { hSpar->hMdEnc->table_idx = table_idx; - ivas_spar_set_bitrate_config( &hSpar->hMdEnc->spar_md_cfg, table_idx, ( hSpar->hMdEnc->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : SPAR_DIRAC_SPLIT_START_BAND ); +#ifdef SBA_BR_SWITCHING_2 + if ( ivas_total_brate != hEncoderConfig->last_ivas_total_brate && !st_ivas->sba_reinit_flag ) + { + if ( ( error = ivas_spar_md_enc_init( hSpar->hMdEnc, hEncoderConfig, sba_order ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { +#endif + ivas_spar_set_bitrate_config( &hSpar->hMdEnc->spar_md_cfg, table_idx, ( hSpar->hMdEnc->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : SPAR_DIRAC_SPLIT_START_BAND ); +#ifdef SBA_BR_SWITCHING_2 + } +#endif } nchan_transport = st_ivas->nchan_transport; diff --git a/lib_enc/ivas_spar_md_enc.c b/lib_enc/ivas_spar_md_enc.c index 09c766b581..11893eff81 100644 --- a/lib_enc/ivas_spar_md_enc.c +++ b/lib_enc/ivas_spar_md_enc.c @@ -83,9 +83,9 @@ static void ivas_select_next_strat( ivas_strats_t prior_strat, ivas_strats_t cs[ static void ivas_store_prior_coeffs( ivas_spar_md_enc_state_t *hMdEnc, const int16_t num_bands, const int16_t bands_bw, const int16_t strat, const int16_t dtx_vad, const int16_t qsi ); static void ivas_write_spar_md_bitstream( ivas_spar_md_enc_state_t *hMdEnc, const int16_t nB, const int16_t bands_bw, BSTR_ENC_HANDLE hMetaData, const int32_t ivas_total_brate, const int16_t strat, const int16_t qsi, const int16_t planarCP ); - +#ifndef SBA_BR_SWITCHING_2 static ivas_error ivas_spar_md_enc_init( ivas_spar_md_enc_state_t *hMdEnc, const ENCODER_CONFIG_HANDLE hEncoderConfig, const int16_t sba_order ); - +#endif static void ivas_spar_quant_pred_coeffs_dtx( ivas_spar_md_t *pSpar_md, const float *pValues, const int16_t ndm, int16_t *pIndex, const int16_t dim1, float *pQuant ); static void ivas_quant_p_per_band_dtx( float *pP_mat, const int16_t num_dec, const int16_t num_dmx, int16_t *ppIdx_pd, float *pP_out, const int16_t num_ch ); @@ -306,12 +306,16 @@ void ivas_spar_md_enc_close( * * SPAR MD encoder initialization *-----------------------------------------------------------------------------------------*/ - -static ivas_error ivas_spar_md_enc_init( - ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - const int16_t sba_order /* i : Ambisonic (SBA) order */ -) +#ifndef SBA_BR_SWITCHING_2 +static ivas_error ivas_spar_md_enc_init +#else +ivas_error ivas_spar_md_enc_init +#endif + ( + ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ + ) { float pFC[IVAS_MAX_NUM_BANDS]; int16_t table_idx; diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 0644fcd918..542c52b19a 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1030,7 +1030,9 @@ typedef struct int16_t sba_analysis_order; /* Ambisonic (SBA) order used for analysis and coding */ int16_t codec_mode; /* Mode1 or Mode2 of core codec */ int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ - +#ifdef SBA_BR_SWITCHING_2 + int16_t sba_reinit_flag; /*flag indicating whether reinitialisation or reconfiguration function should be used*/ +#endif float **mem_hp20_in; /* input signals HP filter memories */ /* core-encoder modules */ -- GitLab From 0daa897a894fcba963df274bcb0b5fce1b12d963 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 28 Nov 2022 12:05:37 +0100 Subject: [PATCH 194/620] Fix conversion warning --- apps/decoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/decoder.c b/apps/decoder.c index f8eb9a6a3e..2f16b67df4 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2108,7 +2108,7 @@ static ivas_error decodeVoIP( } #ifdef MC_JBM - nOutSamples = arg.output_Fs / 50; + nOutSamples = (int16_t) ( arg.output_Fs / 50 ); /* decode and get samples */ if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) -- GitLab From aec722f9437ea68cf89439f22827fd98cf4c0f3c Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 28 Nov 2022 12:18:41 +0100 Subject: [PATCH 195/620] Wrap unused function in MC_JBM switch --- lib_com/bitstream.c | 2 ++ lib_com/prot.h | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 8b6516f603..0394887d94 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2743,6 +2743,7 @@ void get_NextCoderType( return; } +#ifndef MC_JBM /*-------------------------------------------------------------------* * read_indices_from_djb() * @@ -2853,6 +2854,7 @@ void read_indices_from_djb( return; } +#endif /*-------------------------------------------------------------------* * get_indice_preview() diff --git a/lib_com/prot.h b/lib_com/prot.h index 2d6527fe59..61e16ac36e 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -665,7 +665,7 @@ void evs_dec_previewFrame( int16_t *partialCopyOffset /* o : offset of the partial copy relative to the primary copy */ ); - +#ifndef MC_JBM void read_indices_from_djb( Decoder_State *st, /* i/o: decoder state structure */ uint8_t *pt_stream, /* i : bitstream file */ @@ -679,6 +679,7 @@ void read_indices_from_djb( const int16_t partialframe, /* i : partial frame information */ const int16_t next_coder_type /* i : next coder type information */ ); +#endif void getPartialCopyInfo( Decoder_State *st, /* i : decoder state structure */ -- GitLab From 0b60f877dad9d8fdb6ff0f61d35d5b7b4d7d0575 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Mon, 28 Nov 2022 13:28:55 +0100 Subject: [PATCH 196/620] added missing new source file lib_dec/ivas_mcmasa_dec.c to the VS project --- Workspace_msvc/lib_dec.vcxproj | 1 + Workspace_msvc/lib_dec.vcxproj.filters | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Workspace_msvc/lib_dec.vcxproj b/Workspace_msvc/lib_dec.vcxproj index 5860b0a970..2b44db88b2 100644 --- a/Workspace_msvc/lib_dec.vcxproj +++ b/Workspace_msvc/lib_dec.vcxproj @@ -291,6 +291,7 @@ <ClCompile Include="..\lib_dec\ivas_limiter.c" /> <ClCompile Include="..\lib_dec\ivas_ls_custom_dec.c" /> <ClCompile Include="..\lib_dec\ivas_masa_dec.c" /> + <ClCompile Include="..\lib_dec\ivas_mcmasa_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_core_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec.c" /> <ClCompile Include="..\lib_dec\ivas_mct_dec_mct.c" /> diff --git a/Workspace_msvc/lib_dec.vcxproj.filters b/Workspace_msvc/lib_dec.vcxproj.filters index 5476cf5588..df6c4bb090 100644 --- a/Workspace_msvc/lib_dec.vcxproj.filters +++ b/Workspace_msvc/lib_dec.vcxproj.filters @@ -584,6 +584,9 @@ <ClCompile Include="..\lib_dec\ivas_corecoder_dec_reconfig.c"> <Filter>dec_ivas_c</Filter> </ClCompile> + <ClCompile Include="..\lib_dec\ivas_mcmasa_dec.c"> + <Filter>dec_ivas_c</Filter> + </ClCompile> </ItemGroup> <ItemGroup> <ClInclude Include="..\lib_dec\jbm_jb4_inputbuffer.h"> -- GitLab From 87cd96d97a0e0d03c1554b5017a10ece30c5e27a Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 28 Nov 2022 13:56:56 +0100 Subject: [PATCH 197/620] print duplicate records as Nx999 words --- lib_debug/wmc_auto.c | 101 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 87 insertions(+), 14 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 84818dbdbf..38ecbec1b0 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -491,9 +491,9 @@ typedef struct void* block_ptr; int block_size; int max_block_size; /* Maximum block size allocated */ - int32_t wc_heap_size[2]; /* Worst-Case Heap [Frame#, Size] */ - int32_t wc_heap_size_intra_frame[2]; /* Worst-Case Intra-Frame Heap [Frame#, Size] */ - int32_t wc_heap_size_inter_frame[2]; /* Worst-Case Inter-Frame Heap [Frame#, Size] */ + int32_t wc_heap_size[3]; /* Worst-Case Heap [Frame#, Size, Count] */ + int32_t wc_heap_size_intra_frame[3]; /* Worst-Case Intra-Frame Heap [Frame#, Size, Count] */ + int32_t wc_heap_size_inter_frame[3]; /* Worst-Case Inter-Frame Heap [Frame#, Size, Count] */ int frame_allocated; /* Frame number in which the Memory Block has been allocated */ float ave_usage; /* Average Usage of memory block calculated as ratio of used size and allocated size */ int OOB_Flag; @@ -784,10 +784,13 @@ void* mem_alloc( ptr_record->OOB_Flag = 0; ptr_record->wc_heap_size[0] = -1; ptr_record->wc_heap_size[1] = 0; + ptr_record->wc_heap_size[2] = 1; ptr_record->wc_heap_size_intra_frame[0] = -1; ptr_record->wc_heap_size_intra_frame[1] = 0; + ptr_record->wc_heap_size_intra_frame[2] = 1; ptr_record->wc_heap_size_inter_frame[0] = -1; ptr_record->wc_heap_size_inter_frame[1] = 0; + ptr_record->wc_heap_size_inter_frame[2] = 1; Num_Records++; } @@ -1102,6 +1105,7 @@ allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int return NULL; } + /*-------------------------------------------------------------------* * mem_free() * @@ -1158,11 +1162,11 @@ void mem_free(const char* func_name, int func_lineno, void* ptr) } /* Update Worst-Case Intra-Frame Heap Size, if Exceeded */ - if (ptr_record->frame_allocated == update_cnt && current_heap_size_intra_frame > wc_heap_size_intra_frame[1]) + if (current_heap_size_intra_frame > wc_heap_size_intra_frame[1]) { for (i = 0; i < Num_Records; i++) { - if (allocation_list[i].block_ptr != NULL) + if ( allocation_list[i].frame_allocated == update_cnt ) { allocation_list[i].wc_heap_size_intra_frame[0] = update_cnt; allocation_list[i].wc_heap_size_intra_frame[1] = allocation_list[i].block_size; @@ -1179,11 +1183,11 @@ void mem_free(const char* func_name, int func_lineno, void* ptr) } /* Update Worst-Case Inter-Frame Heap Size, if Exceeded */ - if (ptr_record->frame_allocated < update_cnt && current_heap_size_inter_frame > wc_heap_size_inter_frame[1]) + if (current_heap_size_inter_frame > wc_heap_size_inter_frame[1]) { for (i = 0; i < Num_Records; i++) { - if (allocation_list[i].block_ptr != NULL) + if ( allocation_list[i].frame_allocated < update_cnt ) { allocation_list[i].wc_heap_size_inter_frame[0] = update_cnt; allocation_list[i].wc_heap_size_inter_frame[1] = allocation_list[i].block_size; @@ -1197,7 +1201,6 @@ void mem_free(const char* func_name, int func_lineno, void* ptr) wc_heap_size_inter_frame[0] = update_cnt; wc_heap_size_inter_frame[1] = current_heap_size_inter_frame; - } /* Update the Average Usage of Memory Block (Look for Signature) */ @@ -1249,12 +1252,12 @@ static void mem_count_summary(void) { int i, j, flag_intra_frame_memory; size_t length; - char format_str[50], name_str[MAX_FUNCTION_NAME_LENGTH + 1], parms_str[MAX_PARAMS_LENGTH + 1], type_str[10], usage_str[20], size_str[20], line_str[10]; + char format_str[50], name_str[MAX_FUNCTION_NAME_LENGTH + 3], parms_str[MAX_PARAMS_LENGTH + 1], type_str[10], usage_str[20], size_str[20], line_str[10]; char buf[300]; - allocator_record* record_ptr; + allocator_record* record_ptr, *ptr; /* Prepare format string */ - sprintf(format_str, "%%-%ds %%5s %%6s %%-%ds %%14s %%6s ", MAX_FUNCTION_NAME_LENGTH, MAX_PARAMS_LENGTH); + sprintf(format_str, "%%-%ds %%5s %%6s %%-%ds %%20s %%6s ", MAX_FUNCTION_NAME_LENGTH, MAX_PARAMS_LENGTH); /* Check, if we have at least one Intra-Frame Heap memory block in the list */ flag_intra_frame_memory = 0; @@ -1268,6 +1271,37 @@ static void mem_count_summary(void) } } + /* Find duplicate records (same hash and worst-case heap size) */ + for ( i = 0; i < Num_Records; i++ ) + { + record_ptr = &( allocation_list[i] ); + for ( j = i + 1; j < Num_Records; j++ ) + { + ptr = &( allocation_list[j] ); + + if ( ptr->hash != 0 && ptr->hash == record_ptr->hash && ptr->wc_heap_size[1] == record_ptr->wc_heap_size[1] ) + { + ptr->wc_heap_size[0] = -1; + ptr->wc_heap_size[1] = 0; + record_ptr->wc_heap_size[2]++; + } + + if ( ptr->hash != 0 && ptr->hash == record_ptr->hash && ptr->wc_heap_size_intra_frame[1] == record_ptr->wc_heap_size_intra_frame[1] ) + { + ptr->wc_heap_size_intra_frame[0] = -1; + ptr->wc_heap_size_intra_frame[1] = 0; + record_ptr->wc_heap_size_intra_frame[2]++; + } + + if ( ptr->hash != 0 && ptr->hash == record_ptr->hash && ptr->wc_heap_size_inter_frame[1] == record_ptr->wc_heap_size_inter_frame[1] ) + { + ptr->wc_heap_size_inter_frame[0] = -1; + ptr->wc_heap_size_inter_frame[1] = 0; + record_ptr->wc_heap_size_inter_frame[2]++; + } + } + } + for (j = 0; j < 2; j++) { if ( !flag_intra_frame_memory ) @@ -1315,6 +1349,7 @@ static void mem_count_summary(void) ) { strncpy(name_str, record_ptr->name, MAX_FUNCTION_NAME_LENGTH); + strcat( name_str, "()" ); name_str[MAX_FUNCTION_NAME_LENGTH] = '\0'; strncpy(parms_str, &(record_ptr->params[2]), MAX_PARAMS_LENGTH); parms_str[MAX_PARAMS_LENGTH] = '\0'; @@ -1330,7 +1365,40 @@ static void mem_count_summary(void) sprintf(usage_str, "%d%%", (int)(record_ptr->ave_usage * 100.0f)); sprintf(line_str, "%d", record_ptr->lineno); - sprintf(size_str, "%d %s", (int)(record_ptr->max_block_size >> Stat_Cnt_Size), Count_Unit[Stat_Cnt_Size]); + + if ( !flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size[1] > 0 ) + { + if ( record_ptr->wc_heap_size[2] > 1 ) + { + sprintf( size_str, "%dx%d %s", record_ptr->wc_heap_size[2], ( int )( record_ptr->wc_heap_size[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + else + { + sprintf( size_str, "%d %s", (int) ( record_ptr->wc_heap_size[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + } + else if ( flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size_intra_frame[1] > 0 ) + { + if ( record_ptr->wc_heap_size_intra_frame[2] > 1 ) + { + sprintf( size_str, "%dx%d %s", record_ptr->wc_heap_size_intra_frame[2], ( int )( record_ptr->wc_heap_size_intra_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + else + { + sprintf( size_str, "%d %s", (int) ( record_ptr->wc_heap_size_intra_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + } + else if ( flag_intra_frame_memory && j == 1 && record_ptr->wc_heap_size_inter_frame[1] > 0 ) + { + if ( record_ptr->wc_heap_size_inter_frame[2] > 1 ) + { + sprintf( size_str, "%dx%d %s", record_ptr->wc_heap_size_inter_frame[2], ( int )( record_ptr->wc_heap_size_inter_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + else + { + sprintf( size_str, "%d %s", (int) ( record_ptr->wc_heap_size_inter_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + } sprintf(buf, format_str, name_str, line_str, type_str, parms_str, size_str, usage_str); puts(buf); @@ -1376,7 +1444,7 @@ void export_mem( const char *csv_filename ) for ( i = 0; i < Num_Records; i++ ) { record_ptr = &( allocation_list[i] ); - fprintf( fid, "%s:%d,%ld;", record_ptr->name, record_ptr->lineno, record_ptr->block_size ); + fprintf( fid, "%s:%d,%d;", record_ptr->name, record_ptr->lineno, record_ptr->block_size ); } fprintf( fid, "\n" ); @@ -1487,7 +1555,12 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) if (Stat_Cnt_Size > 0) { fprintf(stdout, "\nNote: 1 word = %d bits\n", 8 << Stat_Cnt_Size); - fprintf(stdout, "This is an optimistic estimate of memory consumption assuming that each variable type is stored with sizeof(type) bits\n\n"); + fprintf( stdout, "This is an optimistic estimate of memory consumption assuming that each variable type is stored with sizeof(type) bits\n" ); + } + + if ( wc_heap_size[1] > 0 ) + { + fprintf( stdout, "Intra-frame heap memory is allocated and de-allocated in the same frame\n" ); } /* De-allocate list of heap memory blocks */ -- GitLab From 9c6c89d3ee14982dfc22a49091a95a151f858f78 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 28 Nov 2022 16:26:19 +0100 Subject: [PATCH 198/620] parentheses around WMOPS_BOOST_FAC -> doesn't affect complexity --- lib_debug/wmc_auto.c | 1 + lib_debug/wmc_auto.h | 36 +++++++++++++++++------------------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 38ecbec1b0..bddc735164 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -1272,6 +1272,7 @@ static void mem_count_summary(void) } /* Find duplicate records (same hash and worst-case heap size) */ + /* Note: average usage is not re-calculated */ for ( i = 0; i < Num_Records; i++ ) { record_ptr = &( allocation_list[i] ); diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 9b218fa293..ffcfdb63bc 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -23,10 +23,8 @@ /* Real-time relationships */ #define FRAMES_PER_SECOND 50.0 #define MILLION_CYCLES 1e6 - #define WMOPS_BOOST_FAC (1.0f) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ - -#define FAC (FRAMES_PER_SECOND/(MILLION_CYCLES*WMOPS_BOOST_FAC)) +#define FAC (FRAMES_PER_SECOND/MILLION_CYCLES*WMOPS_BOOST_FAC) #define ENABLE_TREE 0 /* Call tree may be activated by setting this flag to 1 */ #define NUM_INST 20 /* Total number of instruction types (in enum below) */ @@ -242,24 +240,24 @@ static int wmc_flag_ = 0; #endif /* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_(x) OP_COUNT_(_ABS, (x)*WMOPS_BOOST_FAC) -#define ADD_(x) OP_COUNT_(_ADD, (x)*WMOPS_BOOST_FAC) -#define MULT_(x) OP_COUNT_(_MULT, (x)*WMOPS_BOOST_FAC) -#define MAC_(x) OP_COUNT_(_MAC, (x)*WMOPS_BOOST_FAC) -#define MOVE_(x) OP_COUNT_(_MOVE, (x)*WMOPS_BOOST_FAC) -#define STORE_(x) OP_COUNT_(_STORE, (x)*WMOPS_BOOST_FAC) -#define LOGIC_(x) OP_COUNT_(_LOGIC, (x)*WMOPS_BOOST_FAC) -#define SHIFT_(x) OP_COUNT_(_SHIFT, (x)*WMOPS_BOOST_FAC) -#define BRANCH_(x) OP_COUNT_(_BRANCH, (x)*WMOPS_BOOST_FAC) -#define DIV_(x) OP_COUNT_(_DIV, (x)*WMOPS_BOOST_FAC) -#define SQRT_(x) OP_COUNT_(_SQRT, (x)*WMOPS_BOOST_FAC) -#define TRANS_(x) OP_COUNT_(_TRANS, (x)*WMOPS_BOOST_FAC) +#define ABS_(x) OP_COUNT_(_ABS, (x)/WMOPS_BOOST_FAC) +#define ADD_(x) OP_COUNT_(_ADD, (x)/WMOPS_BOOST_FAC) +#define MULT_(x) OP_COUNT_(_MULT, (x)/WMOPS_BOOST_FAC) +#define MAC_(x) OP_COUNT_(_MAC, (x)/WMOPS_BOOST_FAC) +#define MOVE_(x) OP_COUNT_(_MOVE, (x)/WMOPS_BOOST_FAC) +#define STORE_(x) OP_COUNT_(_STORE, (x)/WMOPS_BOOST_FAC) +#define LOGIC_(x) OP_COUNT_(_LOGIC, (x)/WMOPS_BOOST_FAC) +#define SHIFT_(x) OP_COUNT_(_SHIFT, (x)/WMOPS_BOOST_FAC) +#define BRANCH_(x) OP_COUNT_(_BRANCH, (x)/WMOPS_BOOST_FAC) +#define DIV_(x) OP_COUNT_(_DIV, (x)/WMOPS_BOOST_FAC) +#define SQRT_(x) OP_COUNT_(_SQRT, (x)/WMOPS_BOOST_FAC) +#define TRANS_(x) OP_COUNT_(_TRANS, (x)/WMOPS_BOOST_FAC) #define POWER_(x) TRANS_(x) #define LOG_(x) TRANS_(x) -#define LOOP_(x) OP_COUNT_(_LOOP, (x)*WMOPS_BOOST_FAC) -#define INDIRECT_(x) OP_COUNT_(_INDIRECT, (x)*WMOPS_BOOST_FAC) -#define PTR_INIT_(x) OP_COUNT_(_PTR_INIT, (x)*WMOPS_BOOST_FAC) -#define FUNC_(x) (OP_COUNT_(_MOVE, (x)*WMOPS_BOOST_FAC), OP_COUNT_(_FUNC, 1)) +#define LOOP_(x) OP_COUNT_(_LOOP, (x)/WMOPS_BOOST_FAC) +#define INDIRECT_(x) OP_COUNT_(_INDIRECT, (x)/WMOPS_BOOST_FAC) +#define PTR_INIT_(x) OP_COUNT_(_PTR_INIT, (x)/WMOPS_BOOST_FAC) +#define FUNC_(x) (OP_COUNT_(_MOVE, (x)/WMOPS_BOOST_FAC), OP_COUNT_(_FUNC, 1)) #define MISC_(x) ABS_(x) /* Math Operations */ -- GitLab From bfc59e741fdc487a92dbe2238424b9e3dde289f6 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Tue, 29 Nov 2022 13:18:37 +0530 Subject: [PATCH 199/620] Modified ivas_sba_dec_reconfigure() [x] Added a conditional check to avoid reinitialisastion of parametric binaural renderer if renderer type remains the same --- lib_dec/ivas_sba_dec.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 86fa059209..44066333fd 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -691,6 +691,10 @@ ivas_error ivas_sba_dec_reconfigure( *-----------------------------------------------------------------*/ /* renderer might have changed */ intern_config_old = st_ivas->intern_config; +#ifdef SBA_BR_SWITCHING_2 + RENDERER_TYPE old_renderer_type; + old_renderer_type = st_ivas->renderer_type; +#endif ivas_renderer_select( st_ivas ); /* side effect of the renderer selection can be a changed internal config */ @@ -715,15 +719,21 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_binRenderer_close( &st_ivas->hBinRenderer ); } - - if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) +#ifdef SBA_BR_SWITCHING_2 + if (st_ivas->renderer_type != old_renderer_type) { - /* open parametric binaural renderer */ - if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) +#endif + if (st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC) { - return error; + /* open parametric binaural renderer */ + if ((error = ivas_dirac_dec_init_binaural_data(st_ivas)) != IVAS_ERR_OK) + { + return error; + } } +#ifdef SBA_BR_SWITCHING_2 } +#endif else if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC ) ) { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); -- GitLab From 15c0170a675386978252dd497e0cd717b1e5bdba Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 29 Nov 2022 09:18:34 +0100 Subject: [PATCH 200/620] fix compilation warnings - bring the branch in line iwth the main --- lib_rend/ivas_rotation.c | 5 +---- lib_rend/lib_rend.c | 2 -- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 2f89c24d2b..e0ee11fac2 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -903,8 +903,6 @@ static float SHrot_v( return p0 * ( 1.0f - d ) + p1 * sqrtf( 1.0f + d ); } } - - return 0; } static float SHrot_w( @@ -937,10 +935,9 @@ static float SHrot_w( return p0 - p1; } } - - return 0; } + #ifdef EXT_RENDERER void SHrotmatgen( #else diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 60a717905d..a134992047 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -470,8 +470,6 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( default: return AUDIO_CONFIG_INVALID; } - - return IVAS_ERR_OK; } static ivas_error initLimiter( -- GitLab From 0545695a7b9677592563d97c4697de8eb5ca1dae Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 29 Nov 2022 09:29:20 +0100 Subject: [PATCH 201/620] introduce INTRAFRAME_HEAP_MANAGEMENT --- lib_com/options.h | 2 ++ lib_dec/ivas_dirac_dec.c | 13 +++++++++++++ lib_dec/ivas_stat_dec.h | 3 ++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 97695c678f..9e5289acb4 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -171,6 +171,8 @@ #define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ +#define INTRAFRAME_HEAP_MANAGEMENT + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 419fc88b5e..971405d65b 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -774,6 +774,7 @@ ivas_error ivas_dirac_dec_config( /* output synthesis */ ivas_dirac_dec_output_synthesis_init( hDirAC, nchan_out_woLFE ); +#ifndef INTRAFRAME_HEAP_MANAGEMENT /* Allocate stack memory */ if ( flag_config != DIRAC_OPEN ) { @@ -783,6 +784,7 @@ ivas_error ivas_dirac_dec_config( ivas_dirac_alloc_mem( hDirAC, st_ivas->renderer_type, &( hDirAC->stack_mem ) ); #else ivas_dirac_alloc_mem( hDirAC, &( hDirAC->stack_mem ) ); +#endif #endif mvs2s( DirAC_block_grouping, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); @@ -1114,7 +1116,9 @@ void ivas_dirac_dec_close( hDirAC->masa_stereo_type_detect = NULL; } +#ifndef INTRAFRAME_HEAP_MANAGEMENT ivas_dirac_free_mem( &( hDirAC->stack_mem ) ); +#endif free( hDirAC ); @@ -1883,7 +1887,12 @@ void ivas_dirac_dec( /* Initialize aux buffers */ hDirAC = st_ivas->hDirAC; + +#ifdef INTRAFRAME_HEAP_MANAGEMENT + ivas_dirac_alloc_mem( hDirAC, st_ivas->renderer_type, &DirAC_mem ); +#else DirAC_mem = st_ivas->hDirAC->stack_mem; +#endif reference_power = DirAC_mem.reference_power; reference_power_smooth = DirAC_mem.reference_power + hDirAC->num_freq_bands; @@ -2551,6 +2560,10 @@ void ivas_dirac_dec( } } +#ifdef INTRAFRAME_HEAP_MANAGEMENT + ivas_dirac_free_mem( &DirAC_mem ); +#endif + pop_wmops(); return; diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 2393a41f2f..953d741f0b 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -698,8 +698,9 @@ typedef struct ivas_dirac_dec_data_structure float *proto_frame_f; float *proto_frame_dec_f; +#ifndef INTRAFRAME_HEAP_MANAGEMENT DIRAC_DEC_STACK_MEM stack_mem; - +#endif MASA_STEREO_TYPE_DETECT *masa_stereo_type_detect; int16_t num_ele_spk_no_diffuse_rendering; -- GitLab From c51e4b9b3c7f5f5483ea770d5661369b31669854 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 13:50:16 +0100 Subject: [PATCH 202/620] add debug output to complexity jobs --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3f643add34..f0cb125fd9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -965,6 +965,7 @@ coverage-test-on-main-scheduled: - sed -i "s/IVAS FORMAT/IVAS $in_format to $out_format/g" ${public_dir}/index.html # do separately here to avoid overwrite complaints by mv - mv -f ci/complexity_measurements/style.css ${public_dir}/ + - ls $public_dir .complexity-template: extends: -- GitLab From b591a3108586abb6c2248d10ddbe00117a9cc21b Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 29 Nov 2022 13:56:29 +0100 Subject: [PATCH 203/620] remove #ifdef WMOPS in lib_enc.c and lib_dec.c --- lib_dec/lib_dec.c | 2 -- lib_enc/lib_enc.c | 3 --- 2 files changed, 5 deletions(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 7395eca204..1aca5200f9 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -42,9 +42,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#ifdef WMOPS #include "wmc_auto.h" -#endif /*---------------------------------------------------------------------* * Local structs diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 0606a9aa93..8db1396ffb 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -39,10 +39,7 @@ #ifdef DEBUGGING #include "debug.h" #endif -#ifdef WMOPS #include "wmc_auto.h" -#endif - /*---------------------------------------------------------------------* * Local struct -- GitLab From 1701881c631371deb7d5a001c1fbf792a13d8922 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 29 Nov 2022 14:00:00 +0100 Subject: [PATCH 204/620] run with Linux binary instead of wine --- scripts/prepare_instrumentation.sh | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index d9fab685ea..2f0159780a 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -30,13 +30,9 @@ # the United Nations Convention on Contracts on the International Sales of Goods. # -emulator="" system=`uname -s` if [[ ($system == "Linux") && (`uname -a` =~ (microsoft|Microsoft|wsl|WSL) ) ]]; then - system="WSL" -fi -if [[ ($system == "Linux") || ($system == "Darwin") ]]; then - emulator="wine" + system="Linux" fi coan_exists () { @@ -100,10 +96,8 @@ fi find $targetdir -name "*.[ch]" -exec sed -i.bak -e "s/\(0x[0-9a-fA-F]*\)UL/\(\(unsigned long\)\1\)/" \{\} \; # run wmc_tool using wine -${emulator} ./wmc_tool.exe $targetdir/lib_enc/*.c /ic /op > /dev/null -${emulator} ./wmc_tool.exe $targetdir/lib_com/*.c /ic /op > /dev/null -${emulator} ./wmc_tool.exe $targetdir/lib_dec/*.c /ic /op > /dev/null -${emulator} ./wmc_tool.exe $targetdir/lib_rend/*.c /ic /op > /dev/null +scripts/tools/$system/wmc_tool -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" > /dev/null +scripts/tools/$system/wmc_tool -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_com/*.c" "$targetdir/lib_rend/*.c" > /dev/null # automatically enable #define WMOPS in options.h sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" $targetdir/lib_com/options.h -- GitLab From 0b442584e045a4d4d217244314dc40266302effa Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 14:19:59 +0100 Subject: [PATCH 205/620] raise Error when error file is given, but needed binary is missing --- scripts/pyivastest/IvasScriptsCommon.py | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/scripts/pyivastest/IvasScriptsCommon.py b/scripts/pyivastest/IvasScriptsCommon.py index 45631566e9..46e6a2f4a8 100644 --- a/scripts/pyivastest/IvasScriptsCommon.py +++ b/scripts/pyivastest/IvasScriptsCommon.py @@ -544,12 +544,18 @@ def runner_setup(runner, args): runner.limit_duration = True runner.max_duration = args["limit_duration"] + if "fer_file" in args.keys() or "ber_file" in args.keys(): + # assert that the eid-xor tool is there + eid_xor_path = os.path.join(runner.config["utilPath"], "eid-xor") + if not os.path.isfile(eid_xor_path): + raise FileNotFoundError(f"Could not find {eid_xor_path} (needed for error pattern insertion)") + if args["fer_file"]: fer_suffix = "fer_{}".format( "_".join(os.path.basename(args["fer_file"]).split(".")) ) fer_cmd = [ - os.path.join(runner.config["utilPath"], "eid-xor"), + eid_xor_path, "-vbr", "-fer", "{in_file}", @@ -564,7 +570,7 @@ def runner_setup(runner, args): "_".join(os.path.basename(args["ber_file"]).split(".")) ) ber_cmd = [ - os.path.join(runner.config["utilPath"], "eid-xor"), + eid_xor_path, "-vbr", "-ber", "{in_file}", @@ -634,12 +640,19 @@ def runner_setup(runner, args): def analyzer_setup(analyzer, args): bs_proc_chain = {} + + if "fer_file" in args.keys() or "ber_file" in args.keys(): + # assert that the eid-xor tool is there + eid_xor_path = os.path.join(analyzer.config["utilPath"], "eid-xor") + if not os.path.isfile(eid_xor_path): + raise FileNotFoundError(f"Could not find {eid_xor_path} (needed for error pattern insertion)") + if args["fer_file"]: fer_suffix = "fer_{}".format( "_".join(os.path.basename(args["fer_file"]).split(".")) ) fer_cmd = [ - os.path.join(analyzer.config["utilPath"], "eid-xor"), + eid_xor_path, "-vbr", "-fer", "{in_file}", @@ -654,7 +667,7 @@ def analyzer_setup(analyzer, args): "_".join(os.path.basename(args["ber_file"]).split(".")) ) ber_cmd = [ - os.path.join(analyzer.config["utilPath"], "eid-xor"), + eid_xor_path, "-vbr", "-ber", "{in_file}", -- GitLab From 76b85009e50829dd7fca7be3b9db3afaced43199 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 14:48:07 +0100 Subject: [PATCH 206/620] add printout to sanitizer artifact collection --- ci/collect_artifacts.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/collect_artifacts.py b/ci/collect_artifacts.py index d3228ba2e8..6cd0a77ed7 100755 --- a/ci/collect_artifacts.py +++ b/ci/collect_artifacts.py @@ -62,6 +62,9 @@ def collect_for_sanitizer_test(file): ) files_to_archive = find_failed_files_for_sanitizer_test(console_log, "logs") + print("files_to_archive_noPLC:", files_to_archive_noPLC) + print("files_to_archive:", files_to_archive) + log_folder = pathlib.Path("./LOGS_PLC") log_folder.mkdir() for test in files_to_archive.keys(): -- GitLab From dca5d5b0de27dd121fdd0c80b35614fee820e390 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 29 Nov 2022 14:54:54 +0100 Subject: [PATCH 207/620] fix dir name --- scripts/prepare_instrumentation.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index 2f0159780a..aec8eb1e0c 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -86,7 +86,7 @@ fi # strip switches, to remove the macros if coan_exists; then - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,rend,util,debug}/*.[hc] + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,rend,util,debug}/(?!wmc_auto)*.[hc] coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] else ./strip_defines_cppp.sh $targetdir $ifdef_list @@ -96,8 +96,8 @@ fi find $targetdir -name "*.[ch]" -exec sed -i.bak -e "s/\(0x[0-9a-fA-F]*\)UL/\(\(unsigned long\)\1\)/" \{\} \; # run wmc_tool using wine -scripts/tools/$system/wmc_tool -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" > /dev/null -scripts/tools/$system/wmc_tool -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_com/*.c" "$targetdir/lib_rend/*.c" > /dev/null +"tools/$system/wmc_tool" -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" > /dev/null +"tools/$system/wmc_tool" -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_com/*.c" "$targetdir/lib_rend/*.c" > /dev/null # automatically enable #define WMOPS in options.h sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" $targetdir/lib_com/options.h -- GitLab From f4fcf95be5f8ed7ca7a59a319bd29163f96a9a9f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 15:33:34 +0100 Subject: [PATCH 208/620] correction in collectionscript and add printouts --- ci/collect_artifacts.py | 3 +++ ci/run_scheduled_sanitizer_test.py | 14 +++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ci/collect_artifacts.py b/ci/collect_artifacts.py index d3228ba2e8..d3e3d3a949 100755 --- a/ci/collect_artifacts.py +++ b/ci/collect_artifacts.py @@ -57,6 +57,9 @@ def collect_for_sanitizer_test(file): with open(file) as f: console_log = f.readlines() + print("CONSOLE_LOG:") + print(console_log) + files_to_archive_noPLC = find_failed_files_for_sanitizer_test( console_log, "logs_noPLC" ) diff --git a/ci/run_scheduled_sanitizer_test.py b/ci/run_scheduled_sanitizer_test.py index bc794bf2d8..2aaa49dee6 100755 --- a/ci/run_scheduled_sanitizer_test.py +++ b/ci/run_scheduled_sanitizer_test.py @@ -115,7 +115,7 @@ def run_check(modes: list, out_formats: list, tests: list, run_fec: bool = True) ) ) - with open(CONSOLE_OUT_FILE, "a") as f: + with open(CONSOLE_OUT_FILE, "w") as f: proc = subprocess.Popen( cmd_no_fec, stdout=subprocess.PIPE, stderr=subprocess.PIPE ) @@ -174,10 +174,14 @@ def run_check(modes: list, out_formats: list, tests: list, run_fec: bool = True) ) ) - proc = subprocess.Popen(cmd_fec, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - for c in iter(lambda: proc.stdout.read(1), b""): - sys.stdout.buffer.write(c) - proc.wait() + with open(CONSOLE_OUT_FILE, "a") as f: + proc = subprocess.Popen( + cmd_fec, stdout=subprocess.PIPE, stderr=subprocess.PIPE + ) + for c in iter(lambda: proc.stdout.read(1), b""): + sys.stdout.buffer.write(c) + f.write(c.decode("utf8")) + proc.wait() returncode_fec = proc.returncode print("returncode_fec:", returncode_fec) -- GitLab From 46376b5238253c69a3405a108b9d0db154befe7f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 15:40:02 +0100 Subject: [PATCH 209/620] add temporary hack in script -> revert later! --- ci/run_scheduled_sanitizer_test.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ci/run_scheduled_sanitizer_test.py b/ci/run_scheduled_sanitizer_test.py index 2aaa49dee6..60402cbfd5 100755 --- a/ci/run_scheduled_sanitizer_test.py +++ b/ci/run_scheduled_sanitizer_test.py @@ -84,6 +84,9 @@ def get_modes(in_format: str) -> list: output = list_process.stdout.decode("utf8") mode_list = output.splitlines() + # temporary hack for faster debugging inside CI + mode_list = ["SBA_b80_dtx_swb_cbr", "SBA_b64_dtx_swb_cbr"] + # correction for multichannel modes to avoid selecting some mono modes... if in_format in MC_MODES: in_format = "MC_" + in_format + "_b" -- GitLab From 62947ad0320d99e5d28da2e8197330997de6175e Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 15:40:50 +0100 Subject: [PATCH 210/620] change SBA san job to be able to run it alone from web -> revert later! --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ef7291844c..88110a1020 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -882,7 +882,7 @@ sanitizer-test-mc-7_1_4: sanitizer-test-sba: extends: .sanitizer-test-schedule-C rules: - - if: $SANITIZER_SCHEDULE_C + - if: $SANITIZER_SBA script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py SBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS -- GitLab From b4ccdc9824f3823195f362c876f08ba61ee02608 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 15:54:29 +0100 Subject: [PATCH 211/620] intentionally add asan error for testing -> revert later --- lib_enc/ivas_front_vad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 70b900da6d..378006724a 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -414,7 +414,7 @@ ivas_error front_vad_spar( *-----------------------------------------------------------------*/ st->input = input; - mvr2r( omni_in, st->input, input_frame ); + mvr2r( omni_in, st->input, input_frame * 4 ); delay_signal( st->input, input_frame, hFrontVad->delay_buf, hFrontVad->delay_samples ); -- GitLab From e33fd9fa62c8c649aa5c5a6b8ddee405f294145e Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 15:59:56 +0100 Subject: [PATCH 212/620] Revert "intentionally add asan error for testing -> revert later" This reverts commit b4ccdc9824f3823195f362c876f08ba61ee02608. --- lib_enc/ivas_front_vad.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 378006724a..70b900da6d 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -414,7 +414,7 @@ ivas_error front_vad_spar( *-----------------------------------------------------------------*/ st->input = input; - mvr2r( omni_in, st->input, input_frame * 4 ); + mvr2r( omni_in, st->input, input_frame ); delay_signal( st->input, input_frame, hFrontVad->delay_buf, hFrontVad->delay_samples ); -- GitLab From 2fa9779bb46949b587e200c0e4f51b49b8732b11 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 16:00:19 +0100 Subject: [PATCH 213/620] Revert "change SBA san job to be able to run it alone from web" This reverts commit 62947ad0320d99e5d28da2e8197330997de6175e. --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 88110a1020..ef7291844c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -882,7 +882,7 @@ sanitizer-test-mc-7_1_4: sanitizer-test-sba: extends: .sanitizer-test-schedule-C rules: - - if: $SANITIZER_SBA + - if: $SANITIZER_SCHEDULE_C script: - *update-ltv-repo - python3 ci/run_scheduled_sanitizer_test.py SBA $OUT_FORMATS_CHANNEL_BASED $OUT_FORMATS_SCENE_BASED $OUT_FORMATS_BINAURAL --tests $SANITIZER_TESTS -- GitLab From de5ab3a522e5767d2183e24b02b16a043b928677 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 16:00:24 +0100 Subject: [PATCH 214/620] Revert "add temporary hack in script -> revert later!" This reverts commit 46376b5238253c69a3405a108b9d0db154befe7f. --- ci/run_scheduled_sanitizer_test.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/run_scheduled_sanitizer_test.py b/ci/run_scheduled_sanitizer_test.py index 60402cbfd5..2aaa49dee6 100755 --- a/ci/run_scheduled_sanitizer_test.py +++ b/ci/run_scheduled_sanitizer_test.py @@ -84,9 +84,6 @@ def get_modes(in_format: str) -> list: output = list_process.stdout.decode("utf8") mode_list = output.splitlines() - # temporary hack for faster debugging inside CI - mode_list = ["SBA_b80_dtx_swb_cbr", "SBA_b64_dtx_swb_cbr"] - # correction for multichannel modes to avoid selecting some mono modes... if in_format in MC_MODES: in_format = "MC_" + in_format + "_b" -- GitLab From 2983ae29e66d3d0ea3243e9c855313a309b36a22 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 29 Nov 2022 16:03:17 +0100 Subject: [PATCH 215/620] remove confusing printout --- ci/collect_artifacts.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/collect_artifacts.py b/ci/collect_artifacts.py index edb1ff70c3..6cd0a77ed7 100755 --- a/ci/collect_artifacts.py +++ b/ci/collect_artifacts.py @@ -57,9 +57,6 @@ def collect_for_sanitizer_test(file): with open(file) as f: console_log = f.readlines() - print("CONSOLE_LOG:") - print(console_log) - files_to_archive_noPLC = find_failed_files_for_sanitizer_test( console_log, "logs_noPLC" ) -- GitLab From 686f91eef71eaf6dc2a173e715cd81bbc6171d9a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 30 Nov 2022 09:40:11 +0100 Subject: [PATCH 216/620] make is_number ignore CR characters as well -> makes ISM file reader accept windows-style line endings --- lib_util/cmdl_tools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index 010685f239..d0d2d0d374 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -93,7 +93,7 @@ bool is_number( char *str ) i = 0; while ( str[i] != 0 ) { - if ( ( str[i] < '0' || str[i] > '9' ) && str[i] != '.' && str[i] != '-' && str[i] != '\n' ) + if ( ( str[i] < '0' || str[i] > '9' ) && str[i] != '.' && str[i] != '-' && str[i] != '\n' && str[i] != '\r' ) { return false; } -- GitLab From b397e9106a1a3ce028cd5265fa03521f7ccdff02 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 30 Nov 2022 14:58:35 +0000 Subject: [PATCH 217/620] Update bitstream.c under FIX_ISM_DECODER_PRINTOUT --- lib_com/bitstream.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 12f172f2a3..a542a4f230 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -1950,6 +1950,14 @@ ivas_error preview_indices( /* read number of objects from the bitstream */ st_ivas->nchan_transport = 1; +#ifdef FIX_ISM_DECODER_PRINTOUT + k = (int16_t) ( ( total_brate / FRAMES_PER_SEC ) - 1 ); + while ( bit_stream[k] == 1 && st_ivas->nchan_transport < MAX_NUM_OBJECTS ) + { + st_ivas->nchan_transport++; + k--; + } +#else if ( total_brate != SID_2k40 && total_brate != FRAME_NO_DATA ) { k = (int16_t) ( ( total_brate / FRAMES_PER_SEC ) - 1 ); @@ -1959,7 +1967,7 @@ ivas_error preview_indices( k--; } } - +#endif st_ivas->transport_config = AUDIO_CONFIG_EXTERNAL + st_ivas->nchan_transport; st_ivas->ism_mode = ivas_ism_mode_select( st_ivas->nchan_transport, total_brate ); -- GitLab From cf04451bf5d1c603d6c2deb626e7518e15c5fae4 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 30 Nov 2022 15:00:28 +0000 Subject: [PATCH 218/620] Update options.h wrt. FIX_ISM_DECODER_PRINTOUT --- lib_com/options.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a4c706f0ee..388f61bd95 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -173,9 +173,9 @@ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ #define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ +#define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ +#define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ -/* NTT switches */ -#define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ -- GitLab From c570cb89881c4cd422adc3bab4cd08f766de9e11 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 30 Nov 2022 16:11:25 +0100 Subject: [PATCH 219/620] Issue 230: fix bitbudget distribution in inactive frames in ISM format; under FIX_ISM_INACTIVE_BITS --- lib_com/ivas_ism_config.c | 12 ++++++++++++ lib_com/options.h | 4 ++-- lib_enc/ivas_core_enc.c | 1 + lib_enc/ivas_ism_metadata_enc.c | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/lib_com/ivas_ism_config.c b/lib_com/ivas_ism_config.c index fc4be3127e..75ef0a2ae7 100644 --- a/lib_com/ivas_ism_config.c +++ b/lib_com/ivas_ism_config.c @@ -199,7 +199,11 @@ ivas_error ivas_ism_config( diff = 0; for ( ch = 0; ch < n_ISms; ch++ ) { +#ifdef FIX_ISM_INACTIVE_BITS + int16_t limit; +#else int32_t limit; +#endif limit = MIN_BRATE_SWB_BWE / FRMS_PER_SECOND; if ( element_brate[ch] < MIN_BRATE_SWB_STEREO ) /* replicate function set_bw() -> check the coded audio band-width */ @@ -219,12 +223,20 @@ ivas_error ivas_ism_config( else if ( ism_imp[ch] == ISM_LOW_IMP ) { tmp = (int16_t) ( BETA_ISM_LOW_IMP * bits_CoreCoder[ch] ); +#ifdef FIX_ISM_INACTIVE_BITS + tmp = max( limit, tmp ); +#else tmp = (int16_t) max( limit, bits_CoreCoder[ch] - tmp ); +#endif } else if ( ism_imp[ch] == ISM_MEDIUM_IMP ) { tmp = (int16_t) ( BETA_ISM_MEDIUM_IMP * bits_CoreCoder[ch] ); +#ifdef FIX_ISM_INACTIVE_BITS + tmp = max( limit, tmp ); +#else tmp = (int16_t) max( limit, bits_CoreCoder[ch] - tmp ); +#endif } else /* ism_imp[ch] == ISM_HIGH_IMP */ { diff --git a/lib_com/options.h b/lib_com/options.h index a4c706f0ee..0ec45254f9 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -173,10 +173,10 @@ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ #define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ - -/* NTT switches */ #define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ +#define FIX_ISM_INACTIVE_BITS /* fix bitbudget distribution in inactive frames in ISM format */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index b863944b57..dc3247cbfb 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -438,6 +438,7 @@ ivas_error ivas_core_enc( dbgwrite( &tmpF, sizeof( float ), 1, input_frame, fname( debug_dir, "extl_brate", n, id, ENC ) ); dbgwrite( &st->coder_type, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "coder_type", n, id, ENC ) ); + dbgwrite( &st->coder_type_raw, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "coder_type_raw", n, id, ENC ) ); dbgwrite( &st->clas, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "clas", n, id, ENC ) ); dbgwrite( &st->cng_type, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "cng_type", n, id, ENC ) ); dbgwrite( &st->L_frame, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "L_frame", n, id, ENC ) ); diff --git a/lib_enc/ivas_ism_metadata_enc.c b/lib_enc/ivas_ism_metadata_enc.c index 60550bca0b..c4fcd2dee7 100644 --- a/lib_enc/ivas_ism_metadata_enc.c +++ b/lib_enc/ivas_ism_metadata_enc.c @@ -105,6 +105,20 @@ static void rate_ism_importance( { ctype = hSCE[ch]->hCoreCoder[0]->coder_type_raw; +#ifdef FIX_ISM_INACTIVE_BITS + if ( hSCE[ch]->hCoreCoder[0]->tcxonly ) + { + if ( hSCE[ch]->hCoreCoder[0]->localVAD == 0 ) + { + ctype = INACTIVE; + } + else if ( ctype == UNVOICED ) + { + ctype = GENERIC; + } + } +#endif + if ( hIsmMeta[ch]->ism_metadata_flag == 0 ) { ism_imp[ch] = ISM_NO_META; -- GitLab From 33cedc151fd196acdab6402088059736f807a917 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 30 Nov 2022 16:21:09 +0100 Subject: [PATCH 220/620] comment --- lib_com/options.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 0ec45254f9..1cff0303b4 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,7 +175,8 @@ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* Contribution : Complexity reduction of phase spectrum in stereo downmix*/ -#define FIX_ISM_INACTIVE_BITS /* fix bitbudget distribution in inactive frames in ISM format */ +#define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ -- GitLab From ee5e18f9a5637828e02d4aecb88c1872ed128094 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 30 Nov 2022 16:36:58 +0100 Subject: [PATCH 221/620] Modifications in the complexity CI script --- .../genWebpageData_Ram.csh | 52 +-- .../genWebpageData_Rom.csh | 381 ++++++++++++++++-- ci/complexity_measurements/getWmops.sh | 24 +- .../mergeNewsletterRam.py | 20 +- .../mergeNewsletterRom.py | 88 ++++ .../parseNewsletterRam.py | 108 ++--- .../parseNewsletterRom.py | 121 +++++- 7 files changed, 648 insertions(+), 146 deletions(-) create mode 100644 ci/complexity_measurements/mergeNewsletterRom.py diff --git a/ci/complexity_measurements/genWebpageData_Ram.csh b/ci/complexity_measurements/genWebpageData_Ram.csh index a8dbc0e2f9..f5cc50aab4 100755 --- a/ci/complexity_measurements/genWebpageData_Ram.csh +++ b/ci/complexity_measurements/genWebpageData_Ram.csh @@ -77,10 +77,10 @@ foreach line ( "`cat ${tmpFile}`" ) set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` set maxTotalRamEnc = $tmp[5] set maxTotalRamDec = $tmp[7] - set maxDynamicRamEnc = $tmp[10] - set maxDynamicRamDec = $tmp[12] - set maxStaticRamEnc = $tmp[15] - set maxStaticRamDec = $tmp[17] + set maxStackEnc = $tmp[10] + set maxStackDec = $tmp[12] + set maxHeapEnc = $tmp[15] + set maxHeapDec = $tmp[17] set logFile = $tmp[19] echo ' {' >> $file @@ -89,10 +89,10 @@ foreach line ( "`cat ${tmpFile}`" ) echo ' revision: "'${revision}'",' >> $file echo ' maxTotalRamEnc: "'${maxTotalRamEnc}'",' >> $file echo ' maxTotalRamDec: "'${maxTotalRamDec}'",' >> $file - echo ' maxDynamicRamEnc: "'${maxDynamicRamEnc}'",' >> $file - echo ' maxDynamicRamDec: "'${maxDynamicRamDec}'",' >> $file - echo ' maxStaticRamEnc: "'${maxStaticRamEnc}'",' >> $file - echo ' maxStaticRamDec: "'${maxStaticRamDec}'",' >> $file + echo ' maxStackEnc: "'${maxStackEnc}'",' >> $file + echo ' maxStackDec: "'${maxStackDec}'",' >> $file + echo ' maxHeapEnc: "'${maxHeapEnc}'",' >> $file + echo ' maxHeapDec: "'${maxHeapDec}'",' >> $file echo ' logFile: "'${logFile}'"' >> $file echo ' }'${separator} >> $file @@ -259,7 +259,7 @@ echo ' ]' >> $file echo ' },' >> $file # maxTotalRamDecScore -# maxDynamicRamCodecScore +# maxStackCodecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -270,7 +270,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#004000",' >> $file -echo ' id: "maxDynamicRamCodecScore",' >> $file +echo ' id: "maxStackCodecScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -296,10 +296,10 @@ end echo ' ]' >> $file echo ' },' >> $file -# maxDynamicRamCodecScore +# maxStackCodecScore -# maxDynamicRamEncScore +# maxStackEncScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -310,7 +310,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#008000",' >> $file -echo ' id: "maxDynamicRamEncScore",' >> $file +echo ' id: "maxStackEncScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -336,9 +336,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# maxDynamicRamEncScore +# maxStackEncScore -# maxDynamicRamDecScore +# maxStackDecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -349,7 +349,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#00FF00",' >> $file -echo ' id: "maxDynamicRamDecScore",' >> $file +echo ' id: "maxStackDecScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -375,9 +375,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# maxDynamicRamDecScore +# maxStackDecScore -# maxStaticRamCodecScore +# maxHeapCodecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -388,7 +388,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#800080",' >> $file -echo ' id: "maxStaticRamCodecScore",' >> $file +echo ' id: "maxHeapCodecScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -414,9 +414,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# maxStaticRamCodecScore +# maxHeapCodecScore -# maxStaticRamEncScore +# maxHeapEncScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -427,7 +427,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#0000FF",' >> $file -echo ' id: "maxStaticRamEncScore",' >> $file +echo ' id: "maxHeapEncScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -453,9 +453,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# maxStaticRamEncScore +# maxHeapEncScore -# maxStaticRamDecScore +# maxHeapDecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -466,7 +466,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#0080C0",' >> $file -echo ' id: "maxStaticRamDecScore",' >> $file +echo ' id: "maxHeapDecScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -492,7 +492,7 @@ end echo ' ]' >> $file echo ' }' >> $file -# maxStaticRamDecScore +# maxHeapDecScore echo ' ]' >> $file # end displays diff --git a/ci/complexity_measurements/genWebpageData_Rom.csh b/ci/complexity_measurements/genWebpageData_Rom.csh index d2ef2daf15..fb4d24528b 100755 --- a/ci/complexity_measurements/genWebpageData_Rom.csh +++ b/ci/complexity_measurements/genWebpageData_Rom.csh @@ -31,61 +31,68 @@ set maxValues = 40 if (${#argv} != 3) then - echo usage: $0 \<input log flc\> \<input log basop\> \<output js file\> \<graph name\> + echo usage: $0 \<input log\> \<output js file\> \<graph name\> exit endif -set srcFile1 = $1 - +set srcFile = $1 set file_final = $2 set file = ${file_final}_new_$$ set graphName = $3 set tmpBase = `basename $0` -set tmpFile1 = /tmp/${tmpBase}1_$$ -set tmpFile2 = /tmp/${tmpBase}2_$$ -rm -f ${tmpFile1} ${tmpFile2} -cat ${srcFile1} | tail -n ${maxValues} > ${tmpFile1} -set nLines1 = `cat ${tmpFile1} | wc -l` -set maxNumWordsLine1 = 5 -set maxNumWordsLine2 = 5 +set tmpFile = /tmp/${tmpBase}_$$ +rm -f ${tmpFile} +cat ${srcFile} | tail -n ${maxValues} > ${tmpFile} +set nLines = `cat ${tmpFile} | wc -l` +set maxNumWordsLine = 19 rm -f $file touch $file echo "var $graphName = {" >> $file echo ' rom_worstcase: {' >> $file -echo ' description: "Worst Case ROM",' >> $file +echo ' description: "ROM",' >> $file echo ' direction: -1,' >> $file echo ' runs: [' >> $file - @ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) +foreach line ( "`cat ${tmpFile}`" ) @ i++ set separator = "," - if ( $i == $nLines1 ) then + if ( $i == $nLines ) then set separator = "" endif set tmp = ( $line ) set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine1 ) then + if ( $numWords < $maxNumWordsLine ) then continue endif set revision = $tmp[1] set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` - set logFileFlc = $tmp[5] + set TotalRomEnc = $tmp[5] + set TotalRomDec = $tmp[7] + set PromEnc = $tmp[10] + set PromDec = $tmp[12] + set TromEnc = $tmp[15] + set TromDec = $tmp[17] + set logFile = $tmp[19] echo ' {' >> $file echo ' fullDate: "'${fullDate}'",' >> $file echo ' shortDate: "'${shortDate}'",' >> $file echo ' revision: "'${revision}'",' >> $file - echo ' logFileFlc: "'${logFileFlc}'",' >> $file -# echo ' logFileBasop: "'${logFileBasop[$i]}'"' >> $file + echo ' TotalRomEnc: "'${TotalRomEnc}'",' >> $file + echo ' TotalRomDec: "'${TotalRomDec}'",' >> $file + echo ' PromEnc: "'${PromEnc}'",' >> $file + echo ' PromDec: "'${PromDec}'",' >> $file + echo ' TromEnc: "'${TromEnc}'",' >> $file + echo ' TromDec: "'${TromDec}'",' >> $file + echo ' logFile: "'${logFile}'"' >> $file echo ' }'${separator} >> $file end @@ -94,7 +101,7 @@ echo ' ],' >> $file # begin displays echo ' displays: [' >> $file -# requirement ROM +# requirement ROM echo ' {' >> $file echo ' lines: { show: false },' >> $file echo ' points: { show: false, fillColor: "#ffffff" },' >> $file @@ -109,16 +116,16 @@ echo ' id: "requirementRom",' >> $file echo ' data: [' >> $file @ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) +foreach line ( "`cat ${tmpFile}`" ) set separator = "," - if ( $i == $nLines1 - 1 ) then + if ( $i == $nLines - 1 ) then set separator = "" endif set tmp = ( $line ) set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine1 ) then + if ( $numWords < $maxNumWordsLine ) then continue endif @@ -134,7 +141,7 @@ echo ' ]' >> $file echo ' },' >> $file # requirement ROM -# maxTablesizeCodecScore FLC +# TotalRomCodecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -144,21 +151,21 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#FF8000",' >> $file -echo ' id: "maxRomFlc",' >> $file +echo ' color: "#FF0000",' >> $file +echo ' id: "TotalRomCodecScore",' >> $file echo ' data: [' >> $file @ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) +foreach line ( "`cat ${tmpFile}`" ) set separator = "," - if ( $i == $nLines1 - 1 ) then + if ( $i == $nLines - 1 ) then set separator = "" endif set tmp = ( $line ) set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine1 ) then + if ( $numWords < $maxNumWordsLine ) then continue endif @@ -169,9 +176,323 @@ foreach line ( "`cat ${tmpFile1}`" ) end +echo ' ]' >> $file +echo ' },' >> $file +# TotalRomCodecScore + +# TotalRomEncScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FF8000",' >> $file +echo ' id: "TotalRomEncScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[6] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# TotalRomEncScore + +# TotalRomDecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#FFFF00",' >> $file +echo ' id: "TotalRomDecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[8] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# TotalRomDecScore + +# PROMCodecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#004000",' >> $file +echo ' id: "PROMCodecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[9] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# PROMCodecScore + + +# PROMEncScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#008000",' >> $file +echo ' id: "PROMEncScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[11] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# PROMEncScore + +# PROMDecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#00FF00",' >> $file +echo ' id: "PROMDecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[13] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# PROMDecScore + +# TROMCodecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#800080",' >> $file +echo ' id: "TROMCodecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[14] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# TROMCodecScore + +# TROMEncScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#0000FF",' >> $file +echo ' id: "TROMEncScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[16] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + +echo ' ]' >> $file +echo ' },' >> $file +# TROMEncScore + +# TROMDecScore +echo ' {' >> $file +echo ' lines: { show: true },' >> $file +echo ' points: { show: true, fillColor: "#ffffff" },' >> $file +echo ' borderWidth: 1.5,' >> $file +echo ' borderColor: "#BEBEBE",' >> $file +echo ' markingsLineWidth: .75,' >> $file +echo ' hoverable: true,' >> $file +echo ' clickable: true,' >> $file +echo ' shadowSize: 0,' >> $file +echo ' color: "#0080C0",' >> $file +echo ' id: "TROMDecScore",' >> $file +echo ' data: [' >> $file + +@ i = 0 +foreach line ( "`cat ${tmpFile}`" ) + set separator = "," + if ( $i == $nLines - 1 ) then + set separator = "" + endif + + set tmp = ( $line ) + + set numWords = `echo $tmp | wc -w` + if ( $numWords < $maxNumWordsLine ) then + continue + endif + + set score = $tmp[18] + + echo ' ['"${i}, ${score}"']'${separator} >> $file + @ i++ + +end + echo ' ]' >> $file echo ' }' >> $file -# maxTablesizeCodecScore FLC +# TROMDecScore + echo ' ]' >> $file # end displays @@ -179,4 +500,4 @@ echo ' }' >> $file echo '};' >> $file mv -f $file $file_final -rm -f $tmpFile1 +rm -f $tmpFile diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index b14933c91e..9c4c8a4835 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -55,8 +55,9 @@ wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} # instrument and build ./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format +# ./scripts/IvasBuildAndRunChecks.py -z debug -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -m stereo_b24_4_swb_cbr -C stereo -f ${ep} --oc stereo -# now get the info on worst case operating point: WMOPS number, enc-operating mode, dec-operating mode +# get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS ${scriptDir}/parseNewsletterWmops.py ${wmopsFilenameFlc}_WMOPS.csv ${wmopsFilenameFlcLast}_WMOPS.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_wmops_all.txt @@ -66,27 +67,24 @@ tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt # per mode graph tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP + # get memory info for webpage ### RAM -${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc}_SRAM.csv ${wmopsFilenameFlc}_DRAM.csv > ${wmopsFilenameFlc}_RAM.csv -${scriptDir}/parseNewsletterRam.py ${wmopsFilenameFlc}_SRAM.csv ${wmopsFilenameFlc}_DRAM.csv ${wmopsFilenameFlcLast}_RAM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_ram_all.txt +${scriptDir}/mergeNewsletterRam.py ${wmopsFilenameFlc}_HEAP.csv ${wmopsFilenameFlc}_STACK.csv > ${wmopsFilenameFlc}_RAM.csv +${scriptDir}/parseNewsletterRam.py ${wmopsFilenameFlc}_HEAP.csv ${wmopsFilenameFlc}_STACK.csv ${wmopsFilenameFlcLast}_RAM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_ram_all.txt # generate java script from database tcsh ${scriptDir}/genWebpageData_Ram.csh ${destDir}/wmops/log_ram_all.txt ${destDir}/wmops/graphs_ram_flc.js Graphs_RAM ### ROM -${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_TABLES.csv ${wmopsFilenameFlcLast}_TABLES.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_rom_all.txt - -# generate java script from database -tcsh ${scriptDir}/genWebpageData_Rom.csh ${destDir}/wmops/log_rom_all.txt ${destDir}/wmops/graphs_rom_flc.js Graphs_ROM - # now go on with BASOP -promFilenameBasopLast="null" -promScoreBasop=0 +# promFilenameBasopLast="null" +# promScoreBasop=0 -### PROM -${scriptDir}/parseNewsletterProm.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlcLast}_PROM.csv ${commit_sha} ${shortDate} ${fullDate} ${promScoreBasop} ${promFilenameBasopLast} >> ${destDir}/wmops/log_prom_all.txt +${scriptDir}/mergeNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv > ${wmopsFilenameFlc}_ROM.csv +${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv ${wmopsFilenameFlcLast}_ROM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_rom_all.txt # generate java script from database -tcsh ${scriptDir}/genWebpageData_Prom.csh ${destDir}/wmops/log_prom_all.txt ${destDir}/wmops/graphs_prom_flc.js Graphs_PROM +tcsh ${scriptDir}/genWebpageData_Rom.csh ${destDir}/wmops/log_rom_all.txt ${destDir}/wmops/graphs_rom_flc.js Graphs_ROM + diff --git a/ci/complexity_measurements/mergeNewsletterRam.py b/ci/complexity_measurements/mergeNewsletterRam.py index c5e61a9854..34b70a306c 100755 --- a/ci/complexity_measurements/mergeNewsletterRam.py +++ b/ci/complexity_measurements/mergeNewsletterRam.py @@ -39,23 +39,23 @@ shortDate = "" fullDate = "" if __name__ == "__main__": - newsletterFilenameSram = sys.argv[1] - newsletterFilenameDram = sys.argv[2] + newsletterFilenameHEAP = sys.argv[1] + newsletterFilenameSTACK = sys.argv[2] ram_table = {} -with open(newsletterFilenameSram, "r") as csvfile: - SRAM = csv.reader(csvfile, delimiter=";") - for row in SRAM: +with open(newsletterFilenameHEAP, "r") as csvfile: + HEAP = csv.reader(csvfile, delimiter=";") + for row in HEAP: if row[0] == "conf": continue key = row[0] lst = row[1:] ram_table[key] = lst -with open(newsletterFilenameDram, "r") as csvfile: - DRAM = csv.reader(csvfile, delimiter=";") - for row in DRAM: +with open(newsletterFilenameSTACK, "r") as csvfile: + STACK = csv.reader(csvfile, delimiter=";") + for row in STACK: if row[0] == "conf": continue key = row[0] @@ -63,9 +63,9 @@ with open(newsletterFilenameDram, "r") as csvfile: ram_table[key] += lst # now we have the following format -# SRAM enc, SRAM dec, SRAM total, DRAM enc, DRAM dec, DRAM max(enc, dec) +# HEAP enc, HEAP dec, HEAP total, STACK enc, STACK dec, STACK max(enc, dec) -print("conf;sram enc;sram dec;sram total;dram enc;dram dec;dram max;total") +print("conf;HEAP enc;HEAP dec;HEAP total;STACK enc;STACK dec;STACK max;total") for key in ram_table: ram = ram_table[key] diff --git a/ci/complexity_measurements/mergeNewsletterRom.py b/ci/complexity_measurements/mergeNewsletterRom.py new file mode 100644 index 0000000000..3ed69a8e09 --- /dev/null +++ b/ci/complexity_measurements/mergeNewsletterRom.py @@ -0,0 +1,88 @@ +#!/usr/bin/env python3 +# coding: utf-8 + +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. +import csv +import sys +import re + +newsletterFilename = "" +newsletterFilenameLast = "" +revision = "" +shortDate = "" +fullDate = "" + +if __name__ == "__main__": + newsletterFilenamePROM = sys.argv[1] + newsletterFilenameTROM = sys.argv[2] + +rom_table = {} + +with open(newsletterFilenamePROM, "r") as csvfile: + PROM = csv.reader(csvfile, delimiter=";") + for row in PROM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + rom_table[key] = lst + +with open(newsletterFilenameTROM, "r") as csvfile: + TROM = csv.reader(csvfile, delimiter=";") + for row in TROM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + rom_table[key] += lst + +# now we have the following format +# PROM enc, PROM dec, PROM total, TROM enc, TROM dec, TROM total + +print("conf;PROM enc;PROM dec;PROM total;TROM enc;TROM dec;TROM total") + +for key in rom_table: + ram = rom_table[key] + total = int(ram[1]) + int(ram[2]) + int(ram[5]) + print( + key, + ";", + ram[0], + ";", + ram[1], + ";", + ram[2], + ";", + ram[3], + ";", + ram[4], + ";", + ram[5], + sep="", + ) diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py index b099fb450f..ee0a9c3f75 100755 --- a/ci/complexity_measurements/parseNewsletterRam.py +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -41,8 +41,8 @@ shortDate = "" fullDate = "" if __name__ == "__main__": - newsletterFilenameSram = sys.argv[1] - newsletterFilenameDram = sys.argv[2] + newsletterFilenameHEAP = sys.argv[1] + newsletterFilenameSTACK = sys.argv[2] newsletterFilenameLast = sys.argv[3] revision = sys.argv[4] shortDate = sys.argv[5] @@ -52,28 +52,28 @@ max_total_enc = ["", 0] max_total_dec = ["", 0] max_total_encdec = ["", 0] -max_dynamic_enc = ["", 0] -max_dynamic_dec = ["", 0] -max_dynamic_encdec = ["", 0] +max_stack_enc = ["", 0] +max_stack_dec = ["", 0] +max_stack_encdec = ["", 0] -max_static_enc = ["", 0] -max_static_dec = ["", 0] -max_static_encdec = ["", 0] +max_heap_enc = ["", 0] +max_heap_dec = ["", 0] +max_heap_encdec = ["", 0] ram_table = {} -with open(newsletterFilenameSram, "r") as csvfile: - SRAM = csv.reader(csvfile, delimiter=";") - for row in SRAM: +with open(newsletterFilenameHEAP, "r") as csvfile: + HEAP = csv.reader(csvfile, delimiter=";") + for row in HEAP: if row[0] == "conf": continue key = row[0] lst = row[1:] ram_table[key] = lst -with open(newsletterFilenameDram, "r") as csvfile: - DRAM = csv.reader(csvfile, delimiter=";") - for row in DRAM: +with open(newsletterFilenameSTACK, "r") as csvfile: + STACK = csv.reader(csvfile, delimiter=";") + for row in STACK: if row[0] == "conf": continue key = row[0] @@ -81,55 +81,55 @@ with open(newsletterFilenameDram, "r") as csvfile: ram_table[key] += lst # now we have the following format -# SRAM enc, SRAM dec, SRAM total, DRAM enc, DRAM dec, DRAM max(enc, dec) +# HEAP enc, HEAP dec, HEAP total, STACK enc, STACK dec, STACK max(enc, dec) for key in ram_table: ram = ram_table[key] - static_enc = int(ram[0]) - static_dec = int(ram[1]) - static_encdec = static_enc + static_dec + heap_enc = int(ram[0]) + heap_dec = int(ram[1]) + heap_encdec = heap_enc + heap_dec - dynamic_enc = int(ram[3]) - dynamic_dec = int(ram[4]) - dynamic_encdec = int(ram[5]) + stack_enc = int(ram[3]) + stack_dec = int(ram[4]) + stack_encdec = int(ram[5]) - total_enc = static_enc + dynamic_enc - total_dec = static_dec + dynamic_dec - total_encdec = static_encdec + dynamic_encdec + total_enc = heap_enc + stack_enc + total_dec = heap_dec + stack_dec + total_encdec = heap_encdec + stack_encdec - if static_enc > max_static_enc[1]: - max_static_enc[0] = re.sub(" ", "_", key) - max_static_enc[1] = static_enc + if heap_enc > max_heap_enc[1]: + max_heap_enc[0] = re.sub(" ", "_", key) + max_heap_enc[1] = heap_enc - if static_dec > max_static_dec[1]: - max_static_dec[0] = re.sub(" ", "_", key) - max_static_dec[1] = static_dec + if heap_dec > max_heap_dec[1]: + max_heap_dec[0] = re.sub(" ", "_", key) + max_heap_dec[1] = heap_dec - if static_encdec > max_static_encdec[1]: - max_static_encdec[0] = re.sub(" ", "_", key) - max_static_encdec[1] = static_encdec + if heap_encdec > max_heap_encdec[1]: + max_heap_encdec[0] = re.sub(" ", "_", key) + max_heap_encdec[1] = heap_encdec - if dynamic_enc > max_dynamic_enc[1]: - max_dynamic_enc[0] = re.sub(" ", "_", key) - max_dynamic_enc[1] = dynamic_enc + if stack_enc > max_stack_enc[1]: + max_stack_enc[0] = re.sub(" ", "_", key) + max_stack_enc[1] = stack_enc - if dynamic_dec > max_dynamic_dec[1]: - max_dynamic_dec[0] = re.sub(" ", "_", key) - max_dynamic_dec[1] = dynamic_dec + if stack_dec > max_stack_dec[1]: + max_stack_dec[0] = re.sub(" ", "_", key) + max_stack_dec[1] = stack_dec - if dynamic_encdec > max_dynamic_encdec[1]: - max_dynamic_encdec[0] = re.sub(" ", "_", key) - max_dynamic_encdec[1] = dynamic_encdec + if stack_encdec > max_stack_encdec[1]: + max_stack_encdec[0] = re.sub(" ", "_", key) + max_stack_encdec[1] = stack_encdec if total_enc > max_total_enc[1]: max_total_enc[0] = re.sub(" ", "_", key) max_total_enc[1] = total_enc - if total_dec > max_static_dec[1]: + if total_dec > max_heap_dec[1]: max_total_dec[0] = re.sub(" ", "_", key) max_total_dec[1] = total_dec - if total_encdec > max_static_encdec[1]: + if total_encdec > max_heap_encdec[1]: max_total_encdec[0] = re.sub(" ", "_", key) max_total_encdec[1] = total_encdec @@ -142,15 +142,15 @@ print( max_total_enc[1], max_total_dec[0], max_total_dec[1], - max_dynamic_encdec[1], - max_dynamic_encdec[0], - max_dynamic_enc[1], - max_dynamic_dec[0], - max_dynamic_dec[1], - max_static_enc[1] + max_static_dec[1], - max_static_enc[0], - max_static_enc[1], - max_static_dec[0], - max_static_dec[1], + max_stack_encdec[1], + max_stack_encdec[0], + max_stack_enc[1], + max_stack_dec[0], + max_stack_dec[1], + max_heap_enc[1] + max_heap_dec[1], + max_heap_enc[0], + max_heap_enc[1], + max_heap_dec[0], + max_heap_dec[1], newsletterFilenameLast, ) diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py index aeb7ee2650..3dae8893ea 100755 --- a/ci/complexity_measurements/parseNewsletterRom.py +++ b/ci/complexity_measurements/parseNewsletterRom.py @@ -42,21 +42,116 @@ shortDate = "" fullDate = "" if __name__ == "__main__": - newsletterFilename = sys.argv[1] - newsletterFilenameLast = sys.argv[2] - revision = sys.argv[3] - shortDate = sys.argv[4] - fullDate = sys.argv[5] + newsletterFilenamePROM = sys.argv[1] + newsletterFilenameTROM = sys.argv[2] + newsletterFilenameLast = sys.argv[3] + revision = sys.argv[4] + shortDate = sys.argv[5] + fullDate = sys.argv[6] -max_total = ["", 0] +max_total_enc = ["", 0] +max_total_dec = ["", 0] +max_total_encdec = ["", 0] -with open(newsletterFilename, "r") as csvfile: - rom = csv.reader(csvfile, delimiter=";") - for row in rom: +max_prom_enc = ["", 0] +max_prom_dec = ["", 0] +max_prom_encdec = ["", 0] + +max_trom_enc = ["", 0] +max_trom_dec = ["", 0] +max_trom_encdec = ["", 0] + +rom_table = {} + +with open(newsletterFilenamePROM, "r") as csvfile: + PROM = csv.reader(csvfile, delimiter=";") + for row in PROM: + if row[0] == "conf": + continue + key = row[0] + lst = row[1:] + rom_table[key] = lst + +with open(newsletterFilenameTROM, "r") as csvfile: + TROM = csv.reader(csvfile, delimiter=";") + for row in TROM: if row[0] == "conf": continue - if int(row[4]) > max_total[1]: - max_total[0] = re.sub(" ", "_", row[0]) - max_total[1] = int(row[4]) + key = row[0] + lst = row[1:] + rom_table[key] += lst + +# now we have the following format +# PROM enc, PROM dec, PROM total, TROM enc, TROM dec, TROM total + +for key in rom_table: + rom = rom_table[key] + prom_enc = int(rom[0]) + prom_dec = int(rom[1]) + prom_encdec = int(rom[2]) + + trom_enc = int(rom[3]) + trom_dec = int(rom[4]) + trom_encdec = int(rom[5]) + + total_enc = prom_enc + trom_enc + total_dec = prom_dec + trom_dec + total_encdec = prom_encdec + trom_encdec + + if prom_enc > max_prom_enc[1]: + max_prom_enc[0] = re.sub(" ", "_", key) + max_prom_enc[1] = prom_enc + + if prom_dec > max_prom_dec[1]: + max_prom_dec[0] = re.sub(" ", "_", key) + max_prom_dec[1] = prom_dec + + if prom_encdec > max_prom_encdec[1]: + max_prom_encdec[0] = re.sub(" ", "_", key) + max_prom_encdec[1] = prom_encdec + + if trom_enc > max_trom_enc[1]: + max_trom_enc[0] = re.sub(" ", "_", key) + max_trom_enc[1] = trom_enc + + if trom_dec > max_trom_dec[1]: + max_trom_dec[0] = re.sub(" ", "_", key) + max_trom_dec[1] = trom_dec + + if trom_encdec > max_trom_encdec[1]: + max_trom_encdec[0] = re.sub(" ", "_", key) + max_trom_encdec[1] = trom_encdec + + if total_enc > max_total_enc[1]: + max_total_enc[0] = re.sub(" ", "_", key) + max_total_enc[1] = total_enc + + if total_dec > max_prom_dec[1]: + max_total_dec[0] = re.sub(" ", "_", key) + max_total_dec[1] = total_dec + + if total_encdec > max_prom_encdec[1]: + max_total_encdec[0] = re.sub(" ", "_", key) + max_total_encdec[1] = total_encdec -print(revision, shortDate, fullDate, max_total[1], newsletterFilenameLast) +print( + revision, #set revision = $tmp[1] + shortDate, #set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` + fullDate, #set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` + max_total_encdec[1], #TotalRomCodecScore + max_total_enc[0], #set TotalRomEnc = $tmp[5] + max_total_enc[1], #TotalRomEncScore + max_total_dec[0], #set TotalRomDec = $tmp[7] + max_total_dec[1], #TotalRomDecScore + max_prom_encdec[1], #PROMCodecScore + max_prom_enc[0], #set PromEnc = $tmp[10] + max_prom_enc[1], #PROMEncScore + max_prom_dec[0], #set PromDec = $tmp[12] + max_prom_dec[1], #PROMDecScore + max_trom_encdec[1], #TROMCodecScore + max_trom_enc[0], #set TromEnc = $tmp[15] + max_trom_enc[1], #TROMEncScore + max_trom_dec[0], #set TromDec = $tmp[17] + max_trom_dec[1], #TROMDecScore + newsletterFilenameLast, #set logFile = $tmp[19] +) -- GitLab From bc5a0f8539dce7473228c74e1e4fdf6278ad3458 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 30 Nov 2022 18:15:52 +0100 Subject: [PATCH 222/620] Further modifications to the complexity scripts --- .../genWebpageData_Prom.csh | 220 ------------------ .../parseNewsletterProm.py | 73 ------ scripts/pyivastest/IvasModeAnalyzer.py | 70 +++--- 3 files changed, 42 insertions(+), 321 deletions(-) delete mode 100755 ci/complexity_measurements/genWebpageData_Prom.csh delete mode 100755 ci/complexity_measurements/parseNewsletterProm.py diff --git a/ci/complexity_measurements/genWebpageData_Prom.csh b/ci/complexity_measurements/genWebpageData_Prom.csh deleted file mode 100755 index d6e716f0c5..0000000000 --- a/ci/complexity_measurements/genWebpageData_Prom.csh +++ /dev/null @@ -1,220 +0,0 @@ -#!/bin/tcsh - -# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -# contributors to this repository. All Rights Reserved. - -# This software is protected by copyright law and by international treaties. -# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -# contributors to this repository retain full ownership rights in their respective contributions in -# the software. This notice grants no license of any kind, including but not limited to patent -# license, nor is any license granted by implication, estoppel or otherwise. - -# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -# contributions. - -# This software is provided "AS IS", without any express or implied warranties. The software is in the -# development stage. It is intended exclusively for experts who have experience with such software and -# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -# and fitness for a particular purpose are hereby disclaimed and excluded. - -# Any dispute, controversy or claim arising under or in relation to providing this software shall be -# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -# the United Nations Convention on Contracts on the International Sales of Goods. - -set maxValues = 40 - -if (${#argv} != 3) then - echo usage: $0 \<input log\> \<output js file\> \<graph name\> - exit -endif - -set srcFile1 = $1 - -set file_final = $2 -set file = ${file_final}_new_$$ - -set graphName = $3 - -set tmpBase = `basename $0` -set tmpFile1 = /tmp/${tmpBase}1_$$ -rm -f ${tmpFile1} -cat ${srcFile1} | tail -n ${maxValues} > ${tmpFile1} -set nLines1 = `cat ${tmpFile1} | wc -l` -set maxNumWordsLine = 7 - -rm -f $file -touch $file - -echo "var $graphName = {" >> $file -echo ' prom_worstcase: {' >> $file -echo ' description: "Worst Case PROM",' >> $file -echo ' direction: -1,' >> $file -echo ' runs: [' >> $file - - -@ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) - @ i++ - set separator = "," - if ( $i == $nLines1 ) then - set separator = "" - endif - - set tmp = ( $line ) - - set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine ) then - continue - endif - - set revision = $tmp[1] - set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` - set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` - set logFileFlc = $tmp[5] - set logFileBasop = $tmp[7] - - echo ' {' >> $file - echo ' fullDate: "'${fullDate}'",' >> $file - echo ' shortDate: "'${shortDate}'",' >> $file - echo ' revision: "'${revision}'",' >> $file - echo ' logFileFlc: "'${logFileFlc}'",' >> $file - echo ' logFileBasop: "'${logFileBasop}'",' >> $file - echo ' }'${separator} >> $file - -end -echo ' ],' >> $file - -# begin displays -echo ' displays: [' >> $file - -# requirement PROM -echo ' {' >> $file -echo ' lines: { show: false },' >> $file -echo ' points: { show: false, fillColor: "#ffffff" },' >> $file -echo ' borderWidth: 1.5,' >> $file -echo ' borderColor: "#BEBEBE",' >> $file -echo ' markingsLineWidth: .75,' >> $file -echo ' hoverable: true,' >> $file -echo ' clickable: true,' >> $file -echo ' shadowSize: 0,' >> $file -echo ' color: "#000000",' >> $file -echo ' id: "requirementProm",' >> $file -echo ' data: [' >> $file - -@ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) - set separator = "," - if ( $i == $nLines1 - 1 ) then - set separator = "" - endif - - set tmp = ( $line ) - - set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine ) then - continue - endif - - # TODO: add real requirement once decided on - set score = 0 - - echo ' ['"${i}, ${score}"']'${separator} >> $file - @ i++ - -end - -echo ' ]' >> $file -echo ' },' >> $file -# requirement ROM - -# measured ops FLC -echo ' {' >> $file -echo ' lines: { show: true },' >> $file -echo ' points: { show: true, fillColor: "#ffffff" },' >> $file -echo ' borderWidth: 1.5,' >> $file -echo ' borderColor: "#BEBEBE",' >> $file -echo ' markingsLineWidth: .75,' >> $file -echo ' hoverable: true,' >> $file -echo ' clickable: true,' >> $file -echo ' shadowSize: 0,' >> $file -echo ' color: "#FF8000",' >> $file -echo ' id: "promOpsFlc",' >> $file -echo ' data: [' >> $file - -@ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) - set separator = "," - if ( $i == $nLines1 - 1 ) then - set separator = "" - endif - - set tmp = ( $line ) - - set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine ) then - continue - endif - - set score = $tmp[4] - - echo ' ['"${i}, ${score}"']'${separator} >> $file - @ i++ - -end - -echo ' ]' >> $file -echo ' },' >> $file -# measured ops FLC - -# measured ops BASOP -echo ' {' >> $file -echo ' lines: { show: false },' >> $file -echo ' points: { show: false, fillColor: "#ffffff" },' >> $file -echo ' borderWidth: 1.5,' >> $file -echo ' borderColor: "#BEBEBE",' >> $file -echo ' markingsLineWidth: .75,' >> $file -echo ' hoverable: true,' >> $file -echo ' clickable: true,' >> $file -echo ' shadowSize: 0,' >> $file -echo ' color: "#0080FF",' >> $file -echo ' id: "promOpsBasop",' >> $file -echo ' data: [' >> $file - -@ i = 0 -foreach line ( "`cat ${tmpFile1}`" ) - set separator = "," - if ( $i == $nLines1 - 1 ) then - set separator = "" - endif - - set tmp = ( $line ) - - set numWords = `echo $tmp | wc -w` - if ( $numWords < $maxNumWordsLine ) then - continue - endif - - set score = $tmp[6] - - echo ' ['"${i}, ${score}"']'${separator} >> $file - @ i++ - -end - -echo ' ]' >> $file -echo ' }' >> $file - -echo ' ]' >> $file - -echo ' }' >> $file -echo '};' >> $file - -mv -f $file $file_final -rm -f ${tmpFile1} diff --git a/ci/complexity_measurements/parseNewsletterProm.py b/ci/complexity_measurements/parseNewsletterProm.py deleted file mode 100755 index 072cb03c21..0000000000 --- a/ci/complexity_measurements/parseNewsletterProm.py +++ /dev/null @@ -1,73 +0,0 @@ -#!/usr/bin/env python3 -# coding: utf-8 -""" - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. -""" - -import csv -import sys -import re - -newsletterFilename = "" -newsletterFilenameLast = "" -revision = "" -shortDate = "" -fullDate = "" -maxPromOpsBasop = "" -logfileBasop = "" - -if __name__ == "__main__": - newsletterFilename = sys.argv[1] - newsletterFilenameLast = sys.argv[2] - revision = sys.argv[3] - shortDate = sys.argv[4] - fullDate = sys.argv[5] - maxPromOpsBasop = sys.argv[6] - logfileBasop = sys.argv[7] - -max_total = ["", 0] - -with open(newsletterFilename, "r") as csvfile: - prom = csv.reader(csvfile, delimiter=";") - for row in prom: - if row[0] == "conf": - continue - if int(row[4]) > max_total[1]: - max_total[0] = re.sub(" ", "_", row[0]) - max_total[1] = int(row[4]) - -print( - revision, - shortDate, - fullDate, - max_total[1], - newsletterFilenameLast, - maxPromOpsBasop, - logfileBasop, -) diff --git a/scripts/pyivastest/IvasModeAnalyzer.py b/scripts/pyivastest/IvasModeAnalyzer.py index 678af1906a..178b2faa35 100644 --- a/scripts/pyivastest/IvasModeAnalyzer.py +++ b/scripts/pyivastest/IvasModeAnalyzer.py @@ -52,45 +52,43 @@ INSTRUMENTED_RESULTS = { "strip_suffix": False, "encdec": 2, }, - "SRAM": { - "keyword": "Static RAM size", + "HEAP": { + "keyword": "Maximum inter-frame heap size:", "number_format": "{:.0f}", - "position": 4, + "position": 0, "max_or_add": "add", - "keyword_suffix": True, - "strip_suffix": True, + "keyword_suffix": False, + "strip_suffix": False, "encdec": 2, }, - "DRAM": { - "keyword": "Stack size", + "STACK": { + "keyword": "Maximum stack size:", "number_format": "{:.0f}", - "position": 3, + "position": 0, "max_or_add": "max", - "keyword_suffix": True, - "strip_suffix": True, + "keyword_suffix": False, + "strip_suffix": False, "encdec": 2, }, "PROM": { - "keyword": "PROM size", + "keyword": "Program ROM size", "number_format": "{:.0f}", - "position": 3, + "position": 0, "max_or_add": "add", "keyword_suffix": True, "strip_suffix": True, "encdec": 4, }, - "TABLES": { - "keyword": "Table ROM size", + "TROM": { + "keyword": "Table ROM (const data) size", "number_format": "{:.0f}", - "position": 4, + "position": 0, "max_or_add": "add", "keyword_suffix": True, "strip_suffix": True, "encdec": 4, }, } - - HTML_DOCTYPE = """<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">""" HTML_META = ( @@ -254,32 +252,44 @@ class IvasModeAnalyzer(IvasModeCollector): @staticmethod def get_log_value_from_file( - filename: str, keyword: str, position: int, strip_suffix=0 + filename: str, keywords: list, position: int, strip_suffix=0 ): """ Parameters ---------- - filename : + filename : log filename - keyword : + keywords : list of keywords to be searched in the log file (must be present on a single line) - position : + position : index to the list of extracted values strip_suffix : (Default value = 0) Returns ------- + + First value extracted from the line in the log file containing all keywords """ - loglines = [] + + if type(keywords) != list: + keywords = [keywords] + if os.path.exists(filename): fp = open(filename) loglines = fp.readlines() - return IvasModeAnalyzer.get_log_value( - loglines, keyword, position, strip_suffix=strip_suffix - ) + fp.close() + matching_lines = [line for line in loglines if all(keyword in line for keyword in keywords)] + + for line in matching_lines: + all_values_on_line = [float(s) for s in line.split() if re.match(r'^[0-9\.]*$', s)] + if all_values_on_line: + return all_values_on_line[position] + + return -1.0 + def sort_log_modes(self): list_to_sort = [] @@ -389,7 +399,7 @@ class IvasModeAnalyzer(IvasModeCollector): enc_value, self.get_log_value_from_file( enc_log_name, - " ".join([keyword, "\(encoder\)"]), + [keyword, "lib_enc"], position, strip_suffix=strip_suffix, ), @@ -411,7 +421,7 @@ class IvasModeAnalyzer(IvasModeCollector): com_value, self.get_log_value_from_file( enc_log_name, - " ".join([keyword, "\(common\)"]), + [keyword, "lib_com"], position, strip_suffix=strip_suffix, ), @@ -435,7 +445,7 @@ class IvasModeAnalyzer(IvasModeCollector): dec_value, self.get_log_value_from_file( dec_log_name, - " ".join([keyword, "\(decoder\)"]), + [keyword, "lib_dec"], position, strip_suffix=strip_suffix, ), @@ -885,6 +895,10 @@ class IvasModeAnalyzer(IvasModeCollector): ------- """ + + if not os.path.exists(os.path.dirname(csv_file_name)): + os.makedirs(os.path.dirname(csv_file_name)) + with open(csv_file_name + ".csv", "w", newline="\n") as f: header = result_table.pop(0) # write header -- GitLab From 440e8dd515e11c1f4259a4e4fe4283bca703f881 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 1 Dec 2022 08:32:20 +0100 Subject: [PATCH 223/620] avoid warning command within array index --- lib_enc/ivas_agc_enc.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 791e3a225e..146cf2597a 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -360,8 +360,7 @@ void ivas_agc_enc_process( #ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = FALSE; #endif - idx = min( offset - 1, MaxAbsValIdx ); - pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[idx] ) ); + pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[min( offset - 1, MaxAbsValIdx )] ) ); while ( !isCompensated ) { -- GitLab From ddbf0485ab45baa28728a95244f4b45fc65603a0 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Thu, 1 Dec 2022 14:37:06 +0530 Subject: [PATCH 224/620] Fix for gap while switching from 24.4 to 32 Kbps --- lib_enc/ivas_spar_encoder.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index e0365b6055..989f7a0a9e 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -523,21 +523,6 @@ static ivas_error ivas_spar_enc_process( } } - /*-----------------------------------------------------------------------------------------* - * Covariance process - *-----------------------------------------------------------------------------------------*/ - - for ( i = 0; i < nchan_inp; i++ ) - { - for ( j = 0; j < nchan_inp; j++ ) - { - cov_real[i][j] = hSpar->hMdEnc->cov_real[i][j]; - cov_dtx_real[i][j] = hSpar->hMdEnc->cov_dtx_real[i][j]; - } - } - - ivas_enc_cov_handler_process( hSpar->hCovEnc, ppIn_FR_real, ppIn_FR_imag, cov_real, cov_dtx_real, hSpar->hFbMixer->pFb, 0, hSpar->hFbMixer->pFb->filterbank_num_bands, nchan_inp, dtx_vad, transient_det ); - /*-----------------------------------------------------------------------------------------* * Set SPAR bitrates *-----------------------------------------------------------------------------------------*/ @@ -563,6 +548,21 @@ static ivas_error ivas_spar_enc_process( } #endif } + + /*-----------------------------------------------------------------------------------------* + * Covariance process + *-----------------------------------------------------------------------------------------*/ + + for ( i = 0; i < nchan_inp; i++ ) + { + for ( j = 0; j < nchan_inp; j++ ) + { + cov_real[i][j] = hSpar->hMdEnc->cov_real[i][j]; + cov_dtx_real[i][j] = hSpar->hMdEnc->cov_dtx_real[i][j]; + } + } + + ivas_enc_cov_handler_process( hSpar->hCovEnc, ppIn_FR_real, ppIn_FR_imag, cov_real, cov_dtx_real, hSpar->hFbMixer->pFb, 0, hSpar->hFbMixer->pFb->filterbank_num_bands, nchan_inp, dtx_vad, transient_det ); nchan_transport = st_ivas->nchan_transport; -- GitLab From fc9383ab4f6784b9a8a53c810f2143f57c89f0cb Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 1 Dec 2022 09:08:20 +0000 Subject: [PATCH 225/620] Update self_test.prm --- scripts/config/self_test.prm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index df4bbb45a3..4923bbb2f8 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -333,8 +333,8 @@ ../IVAS_dec BINAURAL 48 bit testv/stv2ISM48s.pcm_16400_48-48_binaural.tst // 3 ISm with metadata at 24.4 kbps, 48 kHz in, 48 kHz out, BINAURAL out -../IVAS_cod -ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 24400 48 testv/stv2ISM48s.pcm bit -../IVAS_dec BINAURAL 48 bit testv/stv2ISM48s.pcm_24400_48-48_binaural.tst +../IVAS_cod -ism 3 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv 24400 48 testv/stv3ISM48s.pcm bit +../IVAS_dec BINAURAL 48 bit testv/stv3ISM48s.pcm_24400_48-48_binaural.tst // 2 ISm with metadata at 48 kbps, 48 kHz in, 48 kHz out, BINAURAL out, random FEC at 5% ../IVAS_cod -ism 2 testv/stvISM3.csv testv/stvISM4.csv 48000 48 testv/stv2ISM48s.pcm bit -- GitLab From 5a93958896c594d39f1c6b8b386aa967186a92a0 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Thu, 1 Dec 2022 14:54:12 +0530 Subject: [PATCH 226/620] Moved the previous fix under the switch [x] moved the fix into the switch SBA_BR_SWITCHING_2 --- lib_enc/ivas_spar_encoder.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 989f7a0a9e..207958b1eb 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -522,7 +522,22 @@ static ivas_error ivas_spar_enc_process( hQMetaData->q_direction->cfg.nbands = orig_dirac_bands; } } +#ifndef SBA_BR_SWITCHING_2 + /*-----------------------------------------------------------------------------------------* + * Covariance process + *-----------------------------------------------------------------------------------------*/ + + for ( i = 0; i < nchan_inp; i++ ) + { + for ( j = 0; j < nchan_inp; j++ ) + { + cov_real[i][j] = hSpar->hMdEnc->cov_real[i][j]; + cov_dtx_real[i][j] = hSpar->hMdEnc->cov_dtx_real[i][j]; + } + } + ivas_enc_cov_handler_process( hSpar->hCovEnc, ppIn_FR_real, ppIn_FR_imag, cov_real, cov_dtx_real, hSpar->hFbMixer->pFb, 0, hSpar->hFbMixer->pFb->filterbank_num_bands, nchan_inp, dtx_vad, transient_det ); +#endif /*-----------------------------------------------------------------------------------------* * Set SPAR bitrates *-----------------------------------------------------------------------------------------*/ @@ -548,7 +563,7 @@ static ivas_error ivas_spar_enc_process( } #endif } - +#ifdef SBA_BR_SWITCHING_2 /*-----------------------------------------------------------------------------------------* * Covariance process *-----------------------------------------------------------------------------------------*/ @@ -563,7 +578,7 @@ static ivas_error ivas_spar_enc_process( } ivas_enc_cov_handler_process( hSpar->hCovEnc, ppIn_FR_real, ppIn_FR_imag, cov_real, cov_dtx_real, hSpar->hFbMixer->pFb, 0, hSpar->hFbMixer->pFb->filterbank_num_bands, nchan_inp, dtx_vad, transient_det ); - +#endif nchan_transport = st_ivas->nchan_transport; /*-----------------------------------------------------------------------------------------* -- GitLab From bf668044ae5e4c6adfad786a4b3ac5d55bac74ca Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 1 Dec 2022 11:36:09 +0100 Subject: [PATCH 227/620] Issue 233: Improve robustness of command-line parameters; under IMPROVE_CMDLINE_ROBUSTNESS --- apps/encoder.c | 51 ++++++++++++++++++++++++++++++++++++++++++++++- lib_com/options.h | 2 ++ 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/apps/encoder.c b/apps/encoder.c index 0bad34878b..b53a97fa93 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1273,8 +1273,21 @@ static bool parseCmdlIVAS_enc( arg->inputFormat = IVAS_ENC_INPUT_ISM; i++; +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + if ( i < argc - 4 ) +#else if ( i < argc - 5 ) +#endif { +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + if ( !is_digits_only( argv[i] ) ) + { + fprintf( stderr, "Error: Number of ISM channels must be an integer number!\n\n" ); + usage_enc(); + return false; + } +#endif + if ( sscanf( argv[i], "%d", &tmp ) > 0 ) { i++; @@ -1286,6 +1299,14 @@ static bool parseCmdlIVAS_enc( usage_enc(); return false; } +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + else if ( tmp > IVAS_MAX_NUM_OBJECTS ) + { + fprintf( stderr, "Error: Too high number of ISM channels specified!\n\n" ); + usage_enc(); + return false; + } +#endif else { arg->inputFormatConfig.ism.numObjects = (int16_t) tmp; @@ -1317,7 +1338,11 @@ static bool parseCmdlIVAS_enc( } else { +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + fprintf( stderr, "Error: not enough metadata arguments specified!\n\n" ); +#else fprintf( stderr, "Error: not enough arguments\n\n" ); +#endif usage_enc(); return false; } @@ -1359,7 +1384,19 @@ static bool parseCmdlIVAS_enc( arg->inputFormatConfig.sba.order = IVAS_ENC_SBA_HOA3; break; default: + +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + if ( is_number( argv[i - 1] ) ) + { + fprintf( stderr, "Error: Wrong SBA order specified!\n\n" ); + } + else + { + fprintf( stderr, "Error: SBA order specified must be a number!\n\n" ); + } +#else fprintf( stderr, "Error: Wrong SBA order specified!\n\n" ); +#endif usage_enc(); return false; } @@ -1371,6 +1408,15 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + if ( !is_digits_only( argv[i] ) ) + { + fprintf( stderr, "Error: Number of MASA channels must be an integer number!\n\n" ); + usage_enc(); + return false; + } +#endif + if ( sscanf( argv[i], "%d", &tmp ) > 0 ) { i++; @@ -1385,7 +1431,11 @@ static bool parseCmdlIVAS_enc( arg->inputFormatConfig.masaVariant = IVAS_ENC_MASA_2CH; break; default: +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + fprintf( stderr, "Error: MASA channels must be 1 or 2.\n\n" ); +#else fprintf( stderr, "Error: MASA channels must for the moment be 1 or 2.\n\n" ); +#endif usage_enc(); return false; } @@ -1410,7 +1460,6 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { - if ( strcmp( to_upper( argv[i] ), "5_1" ) == 0 ) { arg->inputFormatConfig.mcLayout = IVAS_ENC_MC_5_1; diff --git a/lib_com/options.h b/lib_com/options.h index 388f61bd95..a31a0f3ac0 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,6 +175,8 @@ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ +#define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ + /* ################## End DEVELOPMENT switches ######################### */ -- GitLab From ab61a7ce313fbcaaec64215186027742bfcd7a1f Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 14:08:02 +0100 Subject: [PATCH 228/620] add executable bit for UNIX systems --- ci/complexity_measurements/mergeNewsletterRom.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 ci/complexity_measurements/mergeNewsletterRom.py diff --git a/ci/complexity_measurements/mergeNewsletterRom.py b/ci/complexity_measurements/mergeNewsletterRom.py old mode 100644 new mode 100755 -- GitLab From 9465a4daba2618151add4033324968a4705bc4be Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 1 Dec 2022 13:58:27 +0000 Subject: [PATCH 229/620] Remove duplicated reset in function FdCngDecodeDiracMDCTStereoSID(). --- lib_dec/fd_cng_dec.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib_dec/fd_cng_dec.c b/lib_dec/fd_cng_dec.c index c1ddeeb79f..ce25292957 100644 --- a/lib_dec/fd_cng_dec.c +++ b/lib_dec/fd_cng_dec.c @@ -2117,8 +2117,6 @@ void FdCngDecodeDiracMDCTStereoSID( { sts[0]->hFdCngDec->hFdCngCom->sidNoiseEst[p] = 0.5f * ( sts[0]->hFdCngDec->hFdCngCom->sidNoiseEst[p] + sts[1]->hFdCngDec->hFdCngCom->sidNoiseEst[p] ); } - sts[0]->hFdCngDec->hFdCngCom->coherence = 0.0f; - sts[1]->hFdCngDec->hFdCngCom->coherence = 0.0f; } return; -- GitLab From 4844800400a1ba432071e55662db7f5db18b45cf Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 15:44:45 +0100 Subject: [PATCH 230/620] change permissions for tools as well --- scripts/tools/Darwin/wmc_tool | Bin scripts/tools/Linux/wmc_tool | Bin scripts/tools/Win32/wmc_tool.exe | 0 3 files changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 scripts/tools/Darwin/wmc_tool mode change 100644 => 100755 scripts/tools/Linux/wmc_tool mode change 100644 => 100755 scripts/tools/Win32/wmc_tool.exe diff --git a/scripts/tools/Darwin/wmc_tool b/scripts/tools/Darwin/wmc_tool old mode 100644 new mode 100755 diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool old mode 100644 new mode 100755 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe old mode 100644 new mode 100755 -- GitLab From ee8d6615ebfd844b92c0d0687730d669e38c8df3 Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 16:03:10 +0100 Subject: [PATCH 231/620] add qoutation marks around glob expression --- scripts/prepare_instrumentation.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index aec8eb1e0c..2e1e408596 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -86,8 +86,8 @@ fi # strip switches, to remove the macros if coan_exists; then - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,rend,util,debug}/(?!wmc_auto)*.[hc] - coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] + coan source --replace --no-transients -E -K --file $ifdef_list "$targetdir/lib_{com,dec,enc,rend,util,debug}/(?!wmc_auto)*.[hc]" + coan source --replace --no-transients -E -K --file $ifdef_list "$targetdir/apps/*.[hc]" else ./strip_defines_cppp.sh $targetdir $ifdef_list fi -- GitLab From 525d885ce069c7a7cc5d0d976caa7f5fab0cc4f1 Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 16:03:35 +0100 Subject: [PATCH 232/620] add check=True in instrumentation subprocess call --- scripts/pyivastest/IvasSvnBuilder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pyivastest/IvasSvnBuilder.py b/scripts/pyivastest/IvasSvnBuilder.py index f12e714286..919ec6ae89 100644 --- a/scripts/pyivastest/IvasSvnBuilder.py +++ b/scripts/pyivastest/IvasSvnBuilder.py @@ -275,7 +275,7 @@ class IvasBuilder(IvasBaseClass): build_log.write(" ".join(instrument_cmd)) build_log.write("\n") build_result = subprocess.run( - instrument_cmd, capture_output=True, text=True + instrument_cmd, capture_output=True, text=True, check=True ) build_log.write(build_result.stderr) build_log.write(build_result.stdout) -- GitLab From f7421b0c8a39ac70a8cef93e551347b39ffebd2f Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 1 Dec 2022 15:06:07 +0000 Subject: [PATCH 233/620] Bit-exact simplification in set_bw_mct() --- lib_enc/bw_detect.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib_enc/bw_detect.c b/lib_enc/bw_detect.c index c2955f1f39..a69913eb4a 100644 --- a/lib_enc/bw_detect.c +++ b/lib_enc/bw_detect.c @@ -660,7 +660,7 @@ int16_t set_bw_mct( const int16_t nCPE /* i : number of CPEs */ ) { - Encoder_State *sts[MCT_MAX_CHANNELS]; + Encoder_State *st; int16_t ch, cpe_id; int16_t mct_bwidth, last_mct_bwidth, bw_changed; @@ -671,13 +671,13 @@ int16_t set_bw_mct( { for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { - sts[ch] = hCPE[cpe_id]->hCoreCoder[ch]; - if ( sts[ch]->mct_chan_mode == MCT_CHAN_MODE_LFE || sts[ch]->mct_chan_mode == MCT_CHAN_MODE_IGNORE ) + st = hCPE[cpe_id]->hCoreCoder[ch]; + if ( st->mct_chan_mode == MCT_CHAN_MODE_LFE || st->mct_chan_mode == MCT_CHAN_MODE_IGNORE ) { continue; } - mct_bwidth = max( mct_bwidth, sts[ch]->input_bwidth ); + mct_bwidth = max( mct_bwidth, st->input_bwidth ); } } @@ -690,8 +690,8 @@ int16_t set_bw_mct( { for ( ch = 0; ch < CPE_CHANNELS; ch++ ) { - sts[ch] = hCPE[cpe_id]->hCoreCoder[ch]; - sts[ch]->bwidth = mct_bwidth; + st = hCPE[cpe_id]->hCoreCoder[ch]; + st->bwidth = mct_bwidth; } } } -- GitLab From 9036f393c1d6f35291bd51ec2ab9558bb7fcd575 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 18:27:06 +0100 Subject: [PATCH 234/620] - add FIX_REND_ROUNDING to round like mvr2s() instead of using roundf - add FIX_REND_MONO_DMX with updated downmix coefficients for mono output --- apps/renderer.c | 17 ++++++++++ lib_com/options.h | 2 ++ lib_rend/ivas_rom_rend.c | 15 +++++++++ lib_rend/lib_rend.c | 51 +++++++++++++++++++++++++---- scripts/pyaudio3dtools/constants.py | 16 ++++----- tests/renderer/constants.py | 5 ++- 6 files changed, 88 insertions(+), 18 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 9fb5337ed8..e8e3f29d6b 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -2461,6 +2461,9 @@ static void convertOutputBuffer( int16_t *intBuffer ) { int16_t chnl, smpl, i; +#ifdef FIX_REND_ROUNDING + float temp; +#endif i = 0; @@ -2468,7 +2471,21 @@ static void convertOutputBuffer( { for ( chnl = 0; chnl < numChannels; ++chnl ) { +#ifdef FIX_REND_ROUNDING + temp = floatBuffer[chnl * numSamplesPerChannel + smpl]; + temp = (float) floor( temp + 0.5f ); + if ( temp > MAX16B_FLT ) + { + temp = MAX16B_FLT; + } + else if ( temp < MIN16B_FLT ) + { + temp = MIN16B_FLT; + } + intBuffer[i] = (int16_t) temp; +#else intBuffer[i] = (int16_t) roundf( floatBuffer[chnl * numSamplesPerChannel + smpl] ); +#endif ++i; } diff --git a/lib_com/options.h b/lib_com/options.h index 388f61bd95..50aca177db 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,6 +175,8 @@ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ +#define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ +#define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_rend/ivas_rom_rend.c b/lib_rend/ivas_rom_rend.c index 100dded459..9d3876ca90 100644 --- a/lib_rend/ivas_rom_rend.c +++ b/lib_rend/ivas_rom_rend.c @@ -362,6 +362,20 @@ const uint32_t ls_LFE_last_idx_CICP19[12] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, const float ls_conversion_cicpX_mono[12][1] = { #ifdef EXT_RENDERER +#ifdef FIX_REND_MONO_DMX + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {0.79999995f}, + {0.79999995f}, + {0.79999995f}, + {0.79999995f}, + {0.849999964f}, + {0.849999964f}, + {0.849999964f}, + {0.849999964f} +#else /* FIX_REND_MONO_DMX */ {1.00000000f}, {1.00000000f}, {1.00000000f}, @@ -374,6 +388,7 @@ const float ls_conversion_cicpX_mono[12][1] = {1.00000000f}, {1.00000000f}, {1.00000000f}, +#endif /* FIX_REND_MONO_DMX */ #else {1.00000000f}, {1.00000000f}, diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index d766334988..ada392cf32 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1203,6 +1203,11 @@ static ivas_error initMcPanGainsWithMonoOut( { int16_t i; int16_t numInChannels; +#ifdef FIX_REND_MONO_DMX + int16_t readIdx; + int16_t writeIdx; + bool skipSideSpeakers; +#endif ivas_error error; if ( ( error = getRendInputNumChannels( inputMc, &numInChannels ) ) != IVAS_ERR_OK ) @@ -1210,12 +1215,44 @@ static ivas_error initMcPanGainsWithMonoOut( return error; } +#ifdef FIX_REND_MONO_DMX + if ( inputMc->base.inConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) + { + for ( i = 0; i < numInChannels; ++i ) + { + /* It's OK to also set gain 1 for LFE input channels here. + * Correct LFE handling will be applied within updateMcPanGains() */ + inputMc->panGains[i][0] = 1.f; + } + } + else + { + /* ls_conversion_cicpX_stereo contains gains for side speakers. + * These should be skipped with 5.1+X inputs. */ + skipSideSpeakers = false; + if ( inputMc->base.inConfig == IVAS_REND_AUDIO_CONFIG_5_1_2 || inputMc->base.inConfig == IVAS_REND_AUDIO_CONFIG_5_1_4 ) + { + skipSideSpeakers = true; + } + for ( readIdx = 0, writeIdx = 0; writeIdx < numInChannels; ++readIdx, ++writeIdx ) + { + if ( skipSideSpeakers && readIdx == 4 ) + { + /* Skip gains for side speakers in lookup table */ + readIdx += 2; + } + + inputMc->panGains[writeIdx][0] = ls_conversion_cicpX_mono[readIdx][0]; + } + } +#else for ( i = 0; i < numInChannels; ++i ) { /* It's OK to also set gain 1 for LFE input channels here. * Correct LFE handling will be applied within updateMcPanGains() */ inputMc->panGains[i][0] = 1.f; } +#endif return IVAS_ERR_OK; } @@ -1323,13 +1360,13 @@ static ivas_error updateMcPanGainsForMcOut( /* "if" conditions below realize the following mapping: If in == out, use identity matrix, otherwise follow the table: - +-----------+----------+---------------+-----------+--------------------+ - | in\out | MONO | STEREO | custom LS | other | - +-----------+----------+---------------+-----------+--------------------+ - | MONO | mono out | EFAP | EFAP | EFAP | - | custom LS | mono out | EFAP | EFAP | EFAP | - | other | mono out | stereo lookup | EFAP | conversion mapping | - +-----------+----------+---------------+-----------+--------------------+ + +-----------+-------------+---------------+-----------+--------------------+ + | in\out | MONO | STEREO | custom LS | other | + +-----------+-------------+---------------+-----------+--------------------+ + | MONO | mono out | EFAP | EFAP | EFAP | + | custom LS | mono out | EFAP | EFAP | EFAP | + | other | mono lookup | stereo lookup | EFAP | conversion mapping | + +-----------+-------------+---------------+-----------+--------------------+ */ if ( configsAreEqual( inputMc->base.inConfig, inputMc->customLsInput, outConfig, *inputMc->base.ctx.pCustomLsOut ) ) diff --git a/scripts/pyaudio3dtools/constants.py b/scripts/pyaudio3dtools/constants.py index b9523fc4ae..92fd5a709e 100644 --- a/scripts/pyaudio3dtools/constants.py +++ b/scripts/pyaudio3dtools/constants.py @@ -37,14 +37,14 @@ IVAS_CICPX_TO_MONO = np.array( 1, 1, 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, - 1, + 0.79999995, + 0.79999995, + 0.79999995, + 0.79999995, + 0.849999964, + 0.849999964, + 0.849999964, + 0.849999964, ] ] ).T diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index da7302bdc2..e6ed242619 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -502,21 +502,20 @@ pass_snr = { "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, - # Failure reason: Mono downmix significantly different, needs a fix + # Failure reason: R channel in MONO output is delayed "test_multichannel_vs_decoder[5_1_2-MONO]": 1, "test_multichannel_vs_decoder[5_1_4-MONO]": 1, "test_multichannel_vs_decoder[5_1-MONO]": 1, "test_multichannel_vs_decoder[7_1_4-MONO]": 1, "test_multichannel_vs_decoder[7_1-MONO]": 1, "test_multichannel_vs_decoder[STEREO-MONO]": 17, - # Failure reason: Stereo downmix differs slightly, needs a fix + # Failure reason: Active dmx (decoder) vs Passive dmx (renderer) "test_multichannel_vs_decoder[5_1_2-STEREO]": 44, "test_multichannel_vs_decoder[5_1_4-STEREO]": 48, "test_multichannel_vs_decoder[5_1-STEREO]": 48, "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, "test_multichannel_vs_decoder[7_1-STEREO]": 44, # TODO needs investigation - # Failure reason: possibly due to minor differences in crossfades "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, "test_multichannel_vs_decoder[5_1_2-5_1]": 63, "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, -- GitLab From 70e3d4d88c7f5376c543be0ce89ff8dd8ee59321 Mon Sep 17 00:00:00 2001 From: Charles Kinuthia <charles.kinuthia@ericsson.com> Date: Thu, 1 Dec 2022 21:55:16 +0100 Subject: [PATCH 235/620] Low rate encoding of transients contribution under define LOW_RATE_TRANS --- lib_com/ivas_prot.h | 12 +++ lib_com/options.h | 1 + lib_enc/ivas_core_pre_proc_front.c | 40 +++++++++- lib_enc/ivas_cpe_enc.c | 6 ++ lib_enc/ivas_ism_enc.c | 7 ++ lib_enc/ivas_sce_enc.c | 8 ++ lib_enc/stat_enc.h | 4 + lib_enc/transient_detection.c | 122 +++++++++++++++++++++++++++++ 8 files changed, 199 insertions(+), 1 deletion(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 1a170720f8..2790de78a0 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -205,6 +205,10 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ +#ifdef LOW_RATE_TRANS + , + const int16_t ivas_format /* i : IVAS format */ +#endif ); ivas_error pre_proc_ivas( @@ -609,6 +613,14 @@ void set_transient_stereo( float currFlatness[] /* i/o: current flatness */ ); +#ifdef LOW_RATE_TRANS +int16_t transient_analysis( + TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ + const float cor_map_LT[], /* i : LT correlation map */ + const float multi_harm_limit /* i : multi harminic threshold */ +); +#endif + void ivas_post_proc( SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ diff --git a/lib_com/options.h b/lib_com/options.h index edc0d9ae06..690a0f18cd 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -164,6 +164,7 @@ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ +#define LOW_RATE_TRANS /* Eri: low rate encoding of transients */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index b4336bdf62..14a3773c01 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -45,6 +45,14 @@ #include <math.h> +#ifdef LOW_RATE_TRANS +/*---------------------------------------------------------------* + * Local constants + *---------------------------------------------------------------*/ + +#define SCE_SMC_THR 16000 +#endif + /*-------------------------------------------------------------------* * Local function prototypes *--------------------------------------------------------------------*/ @@ -101,6 +109,10 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ +#ifdef LOW_RATE_TRANS + , + const int16_t ivas_format /* i : IVAS format */ +#endif ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ @@ -776,7 +788,11 @@ ivas_error pre_proc_front_ivas( else if ( element_mode != IVAS_CPE_MDCT ) { /* SNR-based speech/music classification */ +#ifdef LOW_RATE_TRANS + if ( ( element_mode >= IVAS_CPE_DFT && element_brate >= IVAS_24k4 ) || ( element_mode == IVAS_SCE && element_brate >= SCE_SMC_THR ) ) +#else if ( ( element_mode >= IVAS_CPE_DFT && element_brate >= IVAS_24k4 ) || ( element_mode == IVAS_SCE && element_brate >= 16000 ) ) +#endif { if ( flag_16k_smc ) { @@ -794,7 +810,29 @@ ivas_error pre_proc_front_ivas( smc_dec = ivas_acelp_tcx20_switching( st, inp_12k8, wsp, non_staX, pitch_fr, voicing_fr, currFlatness, lsp_mid, stab_fac, res_cod_SNR_M, flag_16k_smc ); } } - +#ifdef LOW_RATE_TRANS + /* Switch to ACELP for non-harmonic transient signals */ + else if ( ( ( ivas_format == STEREO_FORMAT && element_brate <= IVAS_16k4 ) || ( ivas_format == ISM_FORMAT && element_brate < SCE_SMC_THR ) ) && ( loc_harm[0] != 1 ) && smc_dec == MUSIC ) + { + if ( element_mode == IVAS_SCE ) + { + if ( transient_analysis( st->hTranDet, st->hNoiseEst->cor_map, st->hNoiseEst->multi_harm_limit ) ) + { + smc_dec = SPEECH; + } + } + else if ( element_mode == IVAS_CPE_DFT ) + { + for ( i = 0; i < CPE_CHANNELS; i++ ) + { + if ( smc_dec != SPEECH && transient_analysis( hCPE->hCoreCoder[i]->hTranDet, st->hNoiseEst->cor_map, st->hNoiseEst->multi_harm_limit ) ) + { + smc_dec = SPEECH; /* overwrite initial music decision, intial SPEECH_MUSIC never changed */ + } + } + } + } +#endif /* 2nd stage speech/music classification (ACELP/GSC/TCX core selection) */ ivas_smc_mode_selection( st, element_brate, smc_dec, *relE, *Etot, attack_flag, inp_12k8, S_map, flag_spitch ); diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index e047defac6..420bff9b5e 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -426,9 +426,15 @@ ivas_error ivas_cpe_enc( for ( n = 0; n < n_CoreChannels; n++ ) { +#ifdef LOW_RATE_TRANS + error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], + &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], + fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, st_ivas->hEncoderConfig->ivas_format ); +#else error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0 ); +#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 6f63b9b7a9..07aba8785a 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -147,10 +147,17 @@ ivas_error ivas_ism_enc( * Front Pre-processing *----------------------------------------------------------------*/ +#ifdef LOW_RATE_TRANS + error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], + &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], + &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], + fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, st_ivas->hEncoderConfig->ivas_format ); +#else error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0 ); +#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 0b49c56854..ca5884cd35 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -181,11 +181,19 @@ ivas_error ivas_sce_enc( * Front Pre-processing *----------------------------------------------------------------*/ +#ifdef LOW_RATE_TRANS + error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata, input_frame, 0, old_inp_12k8[0], old_inp_16k[0], + &Etot[0], &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], + &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], + fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, + st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, st_ivas->hEncoderConfig->ivas_format ); +#else error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata, input_frame, 0, old_inp_12k8[0], old_inp_16k[0], &Etot[0], &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0 ); +#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index de0451d3bc..8f8c054cff 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -123,6 +123,10 @@ typedef struct float firState1; float firState2; +#ifdef LOW_RATE_TRANS + int16_t ramp_up_flag; /* bit map flags to indicate a ramp up in beginning of TCX frame */ +#endif + } SubblockEnergies; diff --git a/lib_enc/transient_detection.c b/lib_enc/transient_detection.c index 469c7c4d8d..2b10e7cbe4 100644 --- a/lib_enc/transient_detection.c +++ b/lib_enc/transient_detection.c @@ -53,6 +53,13 @@ #define MIN_BLOCK_ENERGY 107.37f +#ifdef LOW_RATE_TRANS +#define THR_HIGH 8.5f +#define THR_NORM_HIGH 8.0f +#define THR_NORM_LOW 4.5f +#define THR_LOW 4.25f +#define THR_LOW_STEP 1.0f +#endif /*---------------------------------------------------------------* * Local function prototypes @@ -218,6 +225,10 @@ void RunTransientDetection( float filteredInput[L_FRAME_MAX]; SubblockEnergies *pSubblockEnergies = &hTranDet->subblockEnergies; TransientDetector *pTransientDetector = &hTranDet->transientDetector; +#ifdef LOW_RATE_TRANS + float e0; + float e1; +#endif assert( ( input != NULL ) && ( hTranDet != NULL ) && ( pSubblockEnergies != NULL ) && ( pTransientDetector != NULL ) ); @@ -233,6 +244,17 @@ void RunTransientDetection( /* Update the delay buffer. */ UpdateDelayBuffer( filteredInput, length, &hTranDet->delayBuffer ); +#ifdef LOW_RATE_TRANS + /* compute ramp up flag */ + pSubblockEnergies->ramp_up_flag = pSubblockEnergies->ramp_up_flag << 1; + e0 = dotp( filteredInput + length / 2, filteredInput + length / 2, pSubblockEnergies->pDelayBuffer->nSubblockSize / 2 ) + 0.5f * MIN_BLOCK_ENERGY; + e1 = pSubblockEnergies->subblockNrg[pSubblockEnergies->nDelay + 4] - e0; + if ( e1 > e0 ) + { + pSubblockEnergies->ramp_up_flag |= 0x0001; + } +#endif + return; } @@ -557,6 +579,9 @@ static void InitTransientDetector( pTransientDetector->attackRatioThreshold = attackRatioThreshold; pTransientDetector->bIsAttackPresent = FALSE; pTransientDetector->attackIndex = -1; +#ifdef LOW_RATE_TRANS + pTransientDetector->pSubblockEnergies->ramp_up_flag = 0x0; +#endif return; } @@ -824,3 +849,100 @@ void set_transient_stereo( return; } + +#ifdef LOW_RATE_TRANS +/*-------------------------------------------------------------------* + * transient_analysis() + * + * + *-------------------------------------------------------------------*/ +/*! r: preliminary flag to force ACELP */ +int16_t transient_analysis( + TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ + const float cor_map_LT[], /* i : LT correlation map */ + const float multi_harm_limit /* i : multi harminic threshold */ +) +{ + const float *pSubblockNrg; + float accSubblockNrgRev[NSUBBLOCKS]; /* store acc Nrg in reversed signal */ + float *pTmp; /* point to acc Nrg */ + int16_t offset; + int16_t i; + float thr_fwd; + float thr_rev; + const int16_t nRelativeDelay = hTranDet->subblockEnergies.nDelay - hTranDet->transientDetector.nDelay; + int16_t prel_force_td; + float cor_map_LT_sum; + + pTmp = &accSubblockNrgRev[NSUBBLOCKS - 1]; + offset = nRelativeDelay - 4; + prel_force_td = FALSE; + + /* summation of the LT correlation map */ + cor_map_LT_sum = sum_f( cor_map_LT, L_FFT / 2 ); /* Note maybe BE optimized by computing inside noise_est */ + + thr_fwd = THR_NORM_HIGH; + if ( cor_map_LT_sum > multi_harm_limit * 0.8f ) + { + thr_fwd = THR_HIGH; + } + thr_rev = THR_LOW; + if ( cor_map_LT_sum > multi_harm_limit * 0.6f ) + { + thr_rev = THR_NORM_LOW; + } + + /* forward attack analysis */ + for ( i = -2; i < 7; i++ ) + { + if ( hTranDet->subblockEnergies.subblockNrg[nRelativeDelay + i] > hTranDet->subblockEnergies.accSubblockNrg[nRelativeDelay + i] * thr_fwd ) + { + prel_force_td |= 0x0001; + } + } + + if ( prel_force_td == 0 ) + { + /* release analysis */ + pSubblockNrg = hTranDet->transientDetector.pSubblockEnergies->subblockNrg; + set_zero( accSubblockNrgRev, NSUBBLOCKS ); + + for ( i = NSUBBLOCKS - 1; i > -1; i-- ) + { + if ( i == NSUBBLOCKS - 1 ) + { + accSubblockNrgRev[i] = pSubblockNrg[i + offset]; + } + else + { + accSubblockNrgRev[i] = *pTmp; + *pTmp *= hTranDet->transientDetector.pSubblockEnergies->facAccSubblockNrg; + if ( pSubblockNrg[i + offset] > *pTmp ) + { + *pTmp = pSubblockNrg[i + offset]; + } + } + } + + /* -3 check */ + if ( pSubblockNrg[1 + offset] > accSubblockNrgRev[1] * thr_rev ) + { + prel_force_td |= 0x0002; + } + + /* -4 check */ + if ( prel_force_td == 0 && pSubblockNrg[offset] > accSubblockNrgRev[0] * thr_rev ) + { + if ( pSubblockNrg[offset] > accSubblockNrgRev[0] * ( thr_rev + THR_LOW_STEP ) ) + { + prel_force_td |= 0x0004; + } + else if ( ( hTranDet->subblockEnergies.ramp_up_flag & 0x0002 ) != 0 ) + { + prel_force_td |= 0x0008; + } + } + } + return prel_force_td != 0; +} +#endif -- GitLab From 017aad175d63588ce51d729b250b65e2e753ddd2 Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 22:53:32 +0100 Subject: [PATCH 236/620] changes to the html page --- .../index_complexity.html | 262 ++++-------------- 1 file changed, 47 insertions(+), 215 deletions(-) diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index a131f56662..33c458fa11 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -52,7 +52,6 @@ <!-- <script type="text/javascript" src="graphs_ram_basop.js"></script>--> <script type="text/javascript" src="graphs_rom_flc.js"></script> <!-- <script type="text/javascript" src="graphs_rom_basop.js"></script>--> - <script type="text/javascript" src="graphs_prom_flc.js"></script> </head> <body> @@ -103,30 +102,6 @@ <span class="trend"><span id="rom_trend">-</span></span> </span></li> - <!-- - <li><a href="#sec:graph-rom-basop">ROM BASOP</a> - <span class="symbols"> - <span class="trafficlight"><span id="rom_basop_tl_l">●</span><span id="rom_basop_tl_c">●</span><span id="rom_basop_tl_r">●</span></span> - <span class="trend"><span id="rom_basop_trend">-</span></span> - </span></li> - --> - - <li><a href="#sec:graph-prom">PROM</a> - <span class="symbols"> - <span class="trafficlight"><span id="prom_tl_l">●</span><span id="prom_tl_c">●</span><span id="prom_tl_r">●</span></span> - <span class="trend"><span id="prom_trend">-</span></span> - </span> - </li> - - <!-- - <li><a href="#sec:graph-prom">PROM BASOP</a></a> - <span class="symbols"> - <span class="trafficlight"><span id="prom_basop_tl_l">●</span><span id="prom_basop_tl_c">●</span><span id="prom_basop_tl_r">●</span></span> - <span class="trend"><span id="prom_basop_trend">-</span></span> - </span> - </li> - --> - <li><a href="#sec:faq">FAQ</a></li> </ul> </div> @@ -284,8 +259,17 @@ <div class="graph-container" style="clear: both;"> <ul class="legend"> - <li style="border-color: #FF8000;"><em>Measured ROM table size, 32 - bit words (Float)</em></li> + <li style="border-color: #FF0000;"><em>Max. total ROM Codec:</em> Encoder + Decoder</li> + <li style="border-color: #FF8000;"><em>Max. total ROM Encoder:</em> Encoder only</li> + <li style="border-color: #FFFF00;"><em>Max. total ROM Decoder:</em> Decoder only</li> + + <li style="border-color: #800080;"><em>Max. Table ROM Codec:</em> Encoder + Decoder</li> + <li style="border-color: #0000FF;"><em>Max. Table ROM Encoder:</em> Encoder only</li> + <li style="border-color: #0080C0;"><em>Max. Table ROM Decoder:</em> Decoder only</li> + + <li style="border-color: #004000;"><em>Max. PROM Codec:</em> Encoder + Decoder</li> + <li style="border-color: #008000;"><em>Max. PROM Encoder:</em> Encoder only</li> + <li style="border-color: #00FF00;"><em>Max. PROM Decoder:</em> Decoder only</li> </ul> </div> @@ -308,22 +292,6 @@ <hr /> --> - <h1 id="sec:graph-prom">IVAS FORMAT - Worst Case PROM Demand</h1> - - <div class="graph-container"> - <div id="prom-graph"></div> - </div> - - <div class="graph-container" style="clear: both;"> - <ul class="legend"> - <li style="border-color: #FF8000;"><em>Measured PROM (Float, - trunk)</em></li> - <!--<li style="border-color: #0080FF;"><em>Measured PROM (BASOP, branch basop)</em></li>--> - </ul> - </div> - - <hr /> - <h1 id="sec:faq">FAQ</h1> <dl style="margin-left: 200px; margin-right: 200px;"> <dt>Q:</dt><dd>What is the meaning of these funny symbols in the navigation box, in the left upper corner of this page?</dd> @@ -941,7 +909,8 @@ function ROM() { previousPoint = item.datapoint; $("#tooltip").remove(); - if(item.series.id != "requirementRom"){ + if(item.series.id != "requirementRom") + { var x = item.datapoint[0]; var y = item.datapoint[1]; var text = 'Score: ' + y; @@ -971,13 +940,47 @@ function ROM() { } } + if( item.series.id == "TotalRomCodecScore" ){ + text += "Worst case enc: " + graph.runs[x].TotalRomEnc + "<br>"; + text += "Worst case dec: " + graph.runs[x].TotalRomDec + "<br>"; + } + if( item.series.id == "TotalRomEncScore" ){ + text += "Worst case enc: " + graph.runs[x].TotalRomEnc + "<br>"; + } + if( item.series.id == "TotalRomDecScore" ){ + text += "Worst case dec: " + graph.runs[x].TotalRomDec + "<br>"; + } + if( item.series.id == "PROMCodecScore" ){ + text += "Worst case enc: " + graph.runs[x].PromEnc + "<br>"; + text += "Worst case dec: " + graph.runs[x].PromDec + "<br>"; + } + if( item.series.id == "PROMEncScore" ){ + text += "Worst case enc: " + graph.runs[x].PromEnc + "<br>"; + } + if( item.series.id == "PROMDecScore" ){ + text += "Worst case dec: " + graph.runs[x].PromDec + "<br>"; + } + if( item.series.id == "TROMCodecScore" ){ + text += "Worst case enc: " + graph.runs[x].TromEnc + "<br>"; + text += "Worst case dec: " + graph.runs[x].TromDec + "<br>"; + } + if( item.series.id == "TROMEncScore" ){ + text += "Worst case enc: " + graph.runs[x].TromEnc + "<br>"; + } + if( item.series.id == "TROMDecScore" ){ + text += "Worst case dec: " + graph.runs[x].TromDec + "<br>"; + } + text += "<br>" text += "Revision: " + graph.runs[x].revision + "<br>"; text += "Date: " + graph.runs[x].fullDate + "<br><br>"; + text += "<a href=\"logs/" + graph.runs[x].logFile + "\">Logfile</a><br>"; + /* if( item.series.id == "maxRomFlc" ){ text += "<a href=\"logs/" + graph.runs[x].logFileFlc + "\">Logfile</a><br>"; } + */ /* if( item.series.id == "maxRomBasop" ){ @@ -1056,182 +1059,11 @@ function ROM() { */ } - - -function PROM() { - - var previousPoint = null; - - function drawGraph(elt, graph, max_val) { - var options = { - yaxis: { - min: 0, - max: max_val, - tickFormatter: function (v, axis) { - if (graph.direction == -1) - return v + " Ops"; - return v; - }, - invert: graph.direction == 1 - }, - xaxis: { - tickFormatter: function (v, axis) { - v = Math.round(v); - if (!(v in graph.runs)) - return ''; - return graph.runs[v].shortDate; - } - }, - legend: { show: false }, - grid: { - hoverable: true, - clickable: true - } - }; - - $.plot(elt, graph.displays, options); - - elt.bind("plothover", function (event, pos, item) { - if (!item) { - // only remove if not in tooltip anymore - if ($('#tooltip:hover').length == 0) { - $("#tooltip").remove(); - } - previousPoint = null; - return; - } - - if (previousPoint && - (previousPoint[0] == item.datapoint[0]) && - (previousPoint[1] == item.datapoint[1])) { - return; - } - - previousPoint = item.datapoint; - $("#tooltip").remove(); - - if(item.series.id != "requirementProm"){ - var x = item.datapoint[0]; - var y = item.datapoint[1]; - var text = 'Score: ' + y; - - if (graph.direction == -1) - text += " Ops"; - text += "<br>"; - - if (x > 0) { - var thisValue = parseFloat(y); - var prevValue = parseFloat(item.series.data[x - 1, x - 1][1]); - var diff = Math.round((thisValue - prevValue) * 100) / 100; - var pdiff = calcPercentDiff(thisValue, prevValue); - var better; - if ((pdiff < 0 && graph.direction == -1) || - (pdiff > 0 && graph.direction == 1)) { - better = "worse"; - } else { - better = "better"; - } - pdiff = Math.abs(pdiff); - if (diff === diff) { - text += String.fromCharCode(916) + ": " + diff; - if (graph.direction == -1) - text += " Ops"; - text += " (" + pdiff + "% " + better + ")<br>"; - } - } - - text += "<br>" - text += "Revision: " + graph.runs[x].revision + "<br>"; - text += "Date: " + graph.runs[x].fullDate + "<br><br>"; - - if( item.series.id == "promOpsFlc" ){ - text += "<a href=\"logs/" + graph.runs[x].logFileFlc +"\">Logfile</a><br>"; - } - - if( item.series.id == "promOpsBasop" ){ - text += "<a href=\"logs/" + graph.runs[x].logFileBasop +"\">Logfile</a><br>"; - } - if( item.series.id == "promOpsBasopFlc" ){ - text += "<a href=\"logs/" + graph.runs[x].logFileBasopFlc +"\">Logfile</a><br>"; - } - - } else { - text = "PROM requirement: 54260 Ops"; - } - - showToolTip(item.pageX, item.pageY, text); - - }); - } - - $(document).ready(function () { - var max = get_max_y_val_for_plotting(Graphs_PROM.prom_worstcase.displays, 50000); - drawGraph($("#prom-graph"), Graphs_PROM.prom_worstcase, max); - }); - - - /* FLC */ - var testData = Graphs_PROM.prom_worstcase.displays[1]; - var refData = Graphs_PROM.prom_worstcase.displays[0]; - var nEntries = testData.data.length; - - if( testData.data[nEntries-1][1] > refData.data[nEntries-1][1] ) { - document.getElementById("prom_tl_l").style.color="#FF0000"; - } else if( testData.data[nEntries-1][1] > 0.97 * refData.data[nEntries-1][1] ) { - document.getElementById("prom_tl_c").style.color="#FFFF00"; - } else { - document.getElementById("prom_tl_r").style.color="#00FF00"; - } - - if(nEntries > 1) { - if( testData.data[nEntries-1][1] > 1.01 * testData.data[nEntries-2][1] ) { - document.getElementById("prom_trend").innerHTML="↑"; - document.getElementById("prom_trend").style.color="#FF0000"; - } else if( testData.data[nEntries-1][1] < 0.99 * testData.data[nEntries-2][1] ) { - document.getElementById("prom_trend").innerHTML="↓"; - document.getElementById("prom_trend").style.color="#00FF00"; - } else { - document.getElementById("prom_trend").innerHTML="→"; - document.getElementById("prom_trend").style.color="#FFFFFF"; - } - } - - - /* BASOP */ - var testData = Graphs_PROM.prom_worstcase.displays[2]; - var refData = Graphs_PROM.prom_worstcase.displays[0]; - var nEntries = testData.data.length; - - if( testData.data[nEntries-1][1] > refData.data[nEntries-1][1] ) { - document.getElementById("prom_basop_tl_l").style.color="#FF0000"; - } else if( testData.data[nEntries-1][1] > 0.97 * refData.data[nEntries-1][1] ) { - document.getElementById("prom_basop_tl_c").style.color="#FFFF00"; - } else { - document.getElementById("prom_basop_tl_r").style.color="#00FF00"; - } - - if(nEntries > 1) { - if( testData.data[nEntries-1][1] > 1.01 * testData.data[nEntries-2][1] ) { - document.getElementById("prom_basop_trend").innerHTML="↑"; - document.getElementById("prom_basop_trend").style.color="#FF0000"; - } else if( testData.data[nEntries-1][1] < 0.99 * testData.data[nEntries-2][1] ) { - document.getElementById("prom_basop_trend").innerHTML="↓"; - document.getElementById("prom_basop_trend").style.color="#00FF00"; - } else { - document.getElementById("prom_basop_trend").innerHTML="→"; - document.getElementById("prom_basop_trend").style.color="#FFFFFF"; - } - } - -} - - WMOPS(); WMOPS_perOP(); RAM(); ROM(); - PROM(); </script> </body> -- GitLab From 28238e80666ee21cb6f3e8176fadc2a87bdd2f52 Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 23:00:46 +0100 Subject: [PATCH 237/620] small cleanup --- ci/complexity_measurements/getWmops.sh | 4 ---- 1 file changed, 4 deletions(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 9c4c8a4835..6136192374 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -55,7 +55,6 @@ wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} # instrument and build ./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format -# ./scripts/IvasBuildAndRunChecks.py -z debug -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -m stereo_b24_4_swb_cbr -C stereo -f ${ep} --oc stereo # get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS @@ -77,9 +76,6 @@ ${scriptDir}/parseNewsletterRam.py ${wmopsFilenameFlc}_HEAP.csv ${wmopsFilenameF tcsh ${scriptDir}/genWebpageData_Ram.csh ${destDir}/wmops/log_ram_all.txt ${destDir}/wmops/graphs_ram_flc.js Graphs_RAM ### ROM -# now go on with BASOP -# promFilenameBasopLast="null" -# promScoreBasop=0 ${scriptDir}/mergeNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv > ${wmopsFilenameFlc}_ROM.csv ${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv ${wmopsFilenameFlcLast}_ROM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_rom_all.txt -- GitLab From f1bcb2a38a00cf16d1bdf384c153c1a29299c6d7 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 1 Dec 2022 23:06:59 +0100 Subject: [PATCH 238/620] remove remaining "wmops.h" include --- .../object_renderer_standalone/renderer_standalone.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 0b386dd419..e33ee38839 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -43,7 +43,7 @@ #include "ivas_cnst.h" #include "ivas_stat_dec.h" #include "cnst.h" -#include "wmops.h" +#include "wmc_auto.h" #include "hrtf_file_reader.h" #include "ivas_error.h" -- GitLab From 5ce6f76ebe7f2f7d876d75dff0aca0a0e8edac1a Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Fri, 2 Dec 2022 11:39:56 +0530 Subject: [PATCH 239/620] Clang formatting done --- lib_dec/ivas_sba_dec.c | 30 ++++++++++++++++-------------- lib_enc/ivas_spar_encoder.c | 2 +- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 44066333fd..4e96c041bd 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -702,6 +702,7 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); } + #ifdef BRATE_SWITCHING_RENDERING /*-------------------------------------------------------------------* * Reallocate and initialize binaural rendering handles @@ -720,13 +721,13 @@ ivas_error ivas_sba_dec_reconfigure( ivas_binRenderer_close( &st_ivas->hBinRenderer ); } #ifdef SBA_BR_SWITCHING_2 - if (st_ivas->renderer_type != old_renderer_type) + if ( st_ivas->renderer_type != old_renderer_type ) { #endif - if (st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC) + if ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) { /* open parametric binaural renderer */ - if ((error = ivas_dirac_dec_init_binaural_data(st_ivas)) != IVAS_ERR_OK) + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) { return error; } @@ -740,40 +741,40 @@ ivas_error ivas_sba_dec_reconfigure( } #endif #ifdef SBA_BR_SWITCHING_2 - if ((st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC)) + if ( ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) { - if (st_ivas->hDirAC != NULL) + if ( st_ivas->hDirAC != NULL ) { - if ((error = ivas_dirac_dec_config(st_ivas, DIRAC_RECONFIGURE)) != IVAS_ERR_OK) + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE ) ) != IVAS_ERR_OK ) { return error; } } else { - if ((error = ivas_dirac_dec_config(st_ivas, DIRAC_OPEN)) != IVAS_ERR_OK) + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_OPEN ) ) != IVAS_ERR_OK ) { return error; } } } - else if (st_ivas->renderer_type == RENDERER_DISABLE || (st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR)) + else if ( st_ivas->renderer_type == RENDERER_DISABLE || ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR ) ) { - if (st_ivas->hDirAC != NULL) + if ( st_ivas->hDirAC != NULL ) { - ivas_dirac_dec_close(st_ivas->hDirAC); + ivas_dirac_dec_close( st_ivas->hDirAC ); st_ivas->hDirAC = NULL; } - if (st_ivas->hVBAPdata != NULL) + if ( st_ivas->hVBAPdata != NULL ) { - vbap_free_data(&(st_ivas->hVBAPdata)); + vbap_free_data( &( st_ivas->hVBAPdata ) ); } } - if (st_ivas->hDirAC != NULL && st_ivas->sba_mode == SBA_MODE_SPAR) + if ( st_ivas->hDirAC != NULL && st_ivas->sba_mode == SBA_MODE_SPAR ) { - mvs2s(st_ivas->hDirAC->dirac_to_spar_md_bands, st_ivas->hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS); + mvs2s( st_ivas->hDirAC->dirac_to_spar_md_bands, st_ivas->hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS ); st_ivas->hSpar->enc_param_start_band = st_ivas->hDirAC->hConfig->enc_param_start_band; } #else @@ -873,6 +874,7 @@ ivas_error ivas_sba_dec_reconfigure( } } #endif + /* Analysis*/ if ( numCldfbAnalyses_old > numCldfbAnalyses ) { diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 207958b1eb..dc6b5f7c73 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -523,7 +523,7 @@ static ivas_error ivas_spar_enc_process( } } #ifndef SBA_BR_SWITCHING_2 - /*-----------------------------------------------------------------------------------------* + /*-----------------------------------------------------------------------------------------* * Covariance process *-----------------------------------------------------------------------------------------*/ -- GitLab From 030f5f870bbce6715664f22deadb6eaed0ed893b Mon Sep 17 00:00:00 2001 From: Fredrik Jansson <fredrik.k.jansson@ericsson.com> Date: Fri, 2 Dec 2022 10:26:52 +0100 Subject: [PATCH 240/620] Apply clang format --- lib_com/prot.h | 2 +- lib_dec/ivas_stereo_dft_dec.c | 5 ++--- lib_enc/ivas_core_pre_proc_front.c | 2 +- lib_enc/ivas_stat_enc.h | 14 +++++++------- lib_enc/ivas_stereo_cng_enc.c | 12 ++++++------ lib_enc/ivas_stereo_dft_enc.c | 6 +++--- lib_enc/ivas_stereo_dft_enc_itd.c | 16 ++++++++-------- lib_enc/ivas_stereo_dft_td_itd.c | 2 +- lib_enc/vad.c | 2 +- 9 files changed, 30 insertions(+), 31 deletions(-) diff --git a/lib_com/prot.h b/lib_com/prot.h index c6b2c07539..0800ac92f5 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3839,7 +3839,7 @@ int16_t dtx_hangover_addition( NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ #ifdef FIX_ITD_CNG , - int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ #endif ); diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index bcae1b48bf..32d3510f80 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -2776,8 +2776,8 @@ void stereo_dft_dec_smooth_parameters( const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ #ifdef FIX_ITD_CNG , - const int16_t active_frame_counter, /* i : Active frame counter */ - const int32_t element_brate /* i : Element bitrate */ + const int16_t active_frame_counter, /* i : Active frame counter */ + const int32_t element_brate /* i : Element bitrate */ #endif ) { @@ -2877,7 +2877,6 @@ void stereo_dft_dec_smooth_parameters( } hStereoDft->last_active_element_brate = element_brate; - } #endif for ( k2 = 1; k2 < hStereoDft->prm_res[k + k_offset]; k2++ ) diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 26bfa6cc1e..e38f81a79f 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -455,7 +455,7 @@ ivas_error pre_proc_front_ivas( if ( ( hCPE != NULL && !( lr_vad_enabled && st->idchan == 0 ) ) || hSCE != NULL ) { - *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL + *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL #ifdef FIX_ITD_CNG , NULL diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 1b59a26a6f..dfe32a9a02 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -235,7 +235,7 @@ typedef struct stereo_dft_enc_data_struct #endif -#ifdef FIX_ITD_CNG +#ifdef FIX_ITD_CNG int16_t currentNumUpdates; int16_t expectedNumUpdates; /* Expected number of frames before use of ITD estimate */ int16_t resetFrames; @@ -568,7 +568,7 @@ typedef struct front_vad_enc float *delay_buf; int16_t delay_samples; #ifdef FIX_ITD_CNG - int16_t rem_dtx_ho; /* Remaining hangover frames */ + int16_t rem_dtx_ho; /* Remaining hangover frames */ #endif } FRONT_VAD_ENC, *FRONT_VAD_ENC_HANDLE; @@ -823,14 +823,14 @@ typedef struct stereo_cng_enc float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ #ifdef FIX_ITD_CNG - float prev_cohBand[2*(STEREO_DFT_BAND_MAX/2)];/* Previous coherence */ - int16_t cng_counter; /* Counter for cng period length */ + float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )]; /* Previous coherence */ + int16_t cng_counter; /* Counter for cng period length */ #else float coh_crossfade[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ #endif - int16_t td_active; /* TD-stereo indication */ - int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ - int16_t first_SID; /* Set if first SID frame since codec start */ + int16_t td_active; /* TD-stereo indication */ + int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ + int16_t first_SID; /* Set if first SID frame since codec start */ } STEREO_CNG_ENC, *STEREO_CNG_ENC_HANDLE; diff --git a/lib_enc/ivas_stereo_cng_enc.c b/lib_enc/ivas_stereo_cng_enc.c index 6c13f1f578..68be66c2a1 100644 --- a/lib_enc/ivas_stereo_cng_enc.c +++ b/lib_enc/ivas_stereo_cng_enc.c @@ -63,15 +63,15 @@ * ---------------------------------------------------------------*/ void stereo_dft_enc_sid_calc_coh( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ #ifdef FIX_ITD_CNG float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )], /* i/o: Previous coherence */ #else float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ #endif - int16_t *td_active, /* i/o: TD stereo mode indicator */ - int16_t *first_SID, /* i/o: First SID indicator */ - float *cohBand /* i/o: Coherence per band */ + int16_t *td_active, /* i/o: TD stereo mode indicator */ + int16_t *first_SID, /* i/o: First SID indicator */ + float *cohBand /* i/o: Coherence per band */ ) { int16_t b, k; @@ -130,7 +130,7 @@ void stereo_dft_enc_sid_calc_coh( { #ifdef FIX_ITD_CNG mvr2r( cohBand, prev_cohBand, hStereoDft->nbands ); - mvr2r( prev_cohBand, &( prev_cohBand[ STEREO_DFT_BAND_MAX / 2 ] ), hStereoDft->nbands ); + mvr2r( prev_cohBand, &( prev_cohBand[STEREO_DFT_BAND_MAX / 2] ), hStereoDft->nbands ); #else mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); #endif @@ -543,7 +543,7 @@ void stereo_cng_upd_counters( const int16_t burst_ho_count /* i : Hang-over count */ #ifdef FIX_ITD_CNG , - int16_t *coh_fade_counter /* i : Coherence fade counter */ + int16_t *coh_fade_counter /* i : Coherence fade counter */ #endif ) { diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index aa18c059a1..e54b98a942 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -494,10 +494,10 @@ void stereo_dft_enc_reset( set_f( hStereoDft->Spd_L_smooth, 1.0f, STEREO_DFT_N_32k_ENC / 2 ); set_f( hStereoDft->Spd_R_smooth, 1.0f, STEREO_DFT_N_32k_ENC / 2 ); -#ifdef FIX_ITD_CNG +#ifdef FIX_ITD_CNG hStereoDft->currentNumUpdates = 0; hStereoDft->expectedNumUpdates = FIXED_SID_RATE; - hStereoDft->resetFrames = 0; + hStereoDft->resetFrames = 0; hStereoDft->sid_gipd = 0; hStereoDft->prev_sid_gipd = 0; hStereoDft->prev_sid_no_ipd_flag = 1; @@ -1234,7 +1234,7 @@ float stereo_dft_enc_synthesize( *-------------------------------------------------------------------------*/ void stereo_dft_enc_process( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ #ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index c679613dd6..e917c36e36 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -68,7 +68,7 @@ #define XSPEC_ALPHA ( 1.f / 32 ) #ifdef FIX_ITD_CNG -#define CORR_FILT 0.8f +#define CORR_FILT 0.8f #define CORR_RESET_FRAMES_MAX 20 #endif @@ -727,7 +727,7 @@ void stereo_dft_enc_compute_itd( const int16_t k_offset, const int16_t input_frame, #ifdef FIX_ITD_CNG - const int16_t vad_flag_dtx[], + const int16_t vad_flag_dtx[], const int16_t vad_hover_flag[], #endif float *bin_nrgL, @@ -940,7 +940,7 @@ void stereo_dft_enc_compute_itd( #ifdef FIX_ITD_CNG vad_flag_itd = vad_flag_itd && vad_flag_dtx[0]; -#endif +#endif if ( sum_nrg_L < EPSILON ) { @@ -1076,7 +1076,7 @@ void stereo_dft_enc_compute_itd( if ( vad_hover_flag[0] && vad_hover_flag[1] ) { /* Determine if we are in the first DTX hangover frame (also triggers for VAD hangover frame) */ - if ( hStereoDft->resetFrames > CORR_RESET_FRAMES_MAX ) + if ( hStereoDft->resetFrames > CORR_RESET_FRAMES_MAX ) { /* Reset cross spectrum when there is hangover */ set_f( hStereoDft->xspec_smooth, 0.0f, STEREO_DFT_N_32k_ENC ); @@ -1108,17 +1108,17 @@ void stereo_dft_enc_compute_itd( hStereoDft->resetFrames = 0; } else - { + { if ( hStereoDft->resetFrames < CORR_RESET_FRAMES_MAX + 1 ) { - hStereoDft->resetFrames++; + hStereoDft->resetFrames++; } if ( !vad_hover_flag[0] && !vad_hover_flag[1] ) { hStereoDft->expectedNumUpdates = hStereoDft->currentNumUpdates; } } - } + } #endif #ifdef FIX_ITD_CNG if ( ( vad_flag_dtx[0] == 0 ) || ( hCPE->hFrontVad[0] == NULL && ( hCPE->hCoreCoder[0]->last_core_brate == SID_2k40 || hCPE->hCoreCoder[0]->last_core_brate == FRAME_NO_DATA ) ) || hCPE->hStereoCng->first_SID_after_TD ) @@ -1146,7 +1146,7 @@ void stereo_dft_enc_compute_itd( } #endif for ( i = 1; i < NFFT / 2; i++ ) - { + { /* Low pass filter cross L/R power spectrum */ hStereoDft->xspec_smooth[2 * i] = ( 1.f - XSPEC_ALPHA ) * hStereoDft->xspec_smooth[2 * i] + XSPEC_ALPHA * xcorr[2 * i]; hStereoDft->xspec_smooth[2 * i + 1] = ( 1.f - XSPEC_ALPHA ) * hStereoDft->xspec_smooth[2 * i + 1] + XSPEC_ALPHA * xcorr[2 * i + 1]; diff --git a/lib_enc/ivas_stereo_dft_td_itd.c b/lib_enc/ivas_stereo_dft_td_itd.c index c8d97b6563..fd4cbdde71 100644 --- a/lib_enc/ivas_stereo_dft_td_itd.c +++ b/lib_enc/ivas_stereo_dft_td_itd.c @@ -383,7 +383,7 @@ void stereo_td_itd( * ---------------------------------------------------------------*/ void stereo_td_itd_mdct_stereo( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ #ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ diff --git a/lib_enc/vad.c b/lib_enc/vad.c index b095ffa6e5..98b6ad240e 100644 --- a/lib_enc/vad.c +++ b/lib_enc/vad.c @@ -164,7 +164,7 @@ int16_t dtx_hangover_addition( NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ #ifdef FIX_ITD_CNG , - int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ #endif ) { -- GitLab From 004a64822dda606b2c9f5d1d657f289a192b7efb Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 2 Dec 2022 14:41:34 +0100 Subject: [PATCH 241/620] Remove leftovers in renderer_type logic in SBA DirAC decoder; under SBA_DIRAC_RENDERER_TYPE_CLEANUP --- lib_com/ivas_prot.h | 3 ++- lib_com/ivas_sba_config.c | 4 ++-- lib_com/options.h | 4 ++-- lib_dec/ivas_init_dec.c | 4 +++- lib_dec/ivas_sba_dec.c | 2 ++ lib_rend/ivas_output_init.c | 7 +++++++ 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 2d7ef74210..30d642570b 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3112,10 +3112,11 @@ int16_t ivas_sba_get_analysis_order( const int16_t sba_order /* i : Ambisonic (SBA) order */ ); +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP int16_t ivas_sba_get_order_transport( const int16_t nchan_transport /* i : Number of transport channels */ ); - +#endif /*! r: number of Ambisonic channels */ int16_t ivas_sba_get_nchan( const int16_t sba_order, /* i : Ambisonic (SBA) order */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 64635577b4..8f6df42f8c 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -223,7 +223,7 @@ int16_t ivas_sba_get_analysis_order( return sba_analysis_order; } - +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP /*-------------------------------------------------------------------* * ivas_sba_get_order_transport() * @@ -249,7 +249,7 @@ int16_t ivas_sba_get_order_transport( return ( sba_order ); } - +#endif /*-------------------------------------------------------------------* * ivas_sba_get_nchan() diff --git a/lib_com/options.h b/lib_com/options.h index b5063ecf39..b401a349e0 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,9 +175,9 @@ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ - - #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ +#define SBA_DIRAC_RENDERER_TYPE_CLEANUP /* Remove leftovers in renderer_type logic in SBA DirAC decoder */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index e51b46779c..97ee1aa937 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -826,7 +826,7 @@ ivas_error ivas_init_decoder( st_ivas->hSpar->dirac_to_spar_md_bands, st_ivas->hQMetaData->useLowerBandRes, st_ivas->hSpar->enc_param_start_band, 0 ); } } - else + else /* SBA_MODE_DIRAC */ { if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, -1 ) ) != IVAS_ERR_OK ) { @@ -835,6 +835,7 @@ ivas_error ivas_init_decoder( st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && output_config == AUDIO_CONFIG_STEREO ); +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP if ( ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) && st_ivas->hOutSetup.is_loudspeaker_setup ) { int16_t ambisonics_order; @@ -856,6 +857,7 @@ ivas_error ivas_init_decoder( return error; } } +#endif } } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 975fb60480..868efe4c73 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -328,6 +328,7 @@ ivas_error ivas_sba_dec_reinit( st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && output_config == AUDIO_CONFIG_STEREO ); +#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP if ( ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) && st_ivas->hOutSetup.is_loudspeaker_setup ) { int16_t ambisonics_order; @@ -349,6 +350,7 @@ ivas_error ivas_sba_dec_reinit( return error; } } +#endif } if ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR ) diff --git a/lib_rend/ivas_output_init.c b/lib_rend/ivas_output_init.c index e5407abff4..57fcbf7268 100644 --- a/lib_rend/ivas_output_init.c +++ b/lib_rend/ivas_output_init.c @@ -542,6 +542,12 @@ void ivas_renderer_select( { *renderer_type = RENDERER_DISABLE; } +#ifdef SBA_DIRAC_RENDERER_TYPE_CLEANUP + else if ( st_ivas->ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) + { + *renderer_type = RENDERER_SBA_LINEAR_DEC; + } +#else else if ( st_ivas->ivas_format == SBA_FORMAT ) { int16_t nchan_max; @@ -564,6 +570,7 @@ void ivas_renderer_select( *renderer_type = RENDERER_SBA_LINEAR_DEC; } } +#endif } else if ( st_ivas->ivas_format == MC_FORMAT ) { -- GitLab From 63392d8cda4a3bac83531903799581646a6a3eba Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Fri, 2 Dec 2022 15:54:16 +0100 Subject: [PATCH 242/620] further align multichannel rendering - fix a bug for the external renderer causing headrotation to not be applied for BINAURAL_ROOM due to passing the wrong EFAP handle - enable limiter for Crend Unit Test to align - update testcase SNR thresholds accordingly - fix a bug in file naming for test_renderer_vs_decoder.py --- lib_com/options.h | 1 + lib_rend/lib_rend.c | 8 +++++ tests/renderer/constants.py | 65 ++++++++++++++----------------------- tests/renderer/utils.py | 19 ++++++++--- 4 files changed, 48 insertions(+), 45 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 50aca177db..90de40b919 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -177,6 +177,7 @@ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ #define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ +#define FIX_REND_ROT_MCBRIRS /* ISsue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index ada392cf32..7ef176cfbf 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -4119,7 +4119,11 @@ static ivas_error renderMcToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, +#ifdef FIX_REND_ROT_MCBRIRS + mcInput->base.ctx.pEfapOutWrapper->hEfap, +#else mcInput->efapInWrapper.hEfap, +#endif tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpCrendBuffer ); @@ -4179,7 +4183,11 @@ static ivas_error renderMcCustomLsToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, +#ifdef FIX_REND_ROT_MCBRIRS + mcInput->base.ctx.pEfapOutWrapper->hEfap, +#else mcInput->efapInWrapper.hEfap, +#endif tmpRotBuffer ); } diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index e6ed242619..12736af984 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -111,7 +111,7 @@ CREND_CMD = [ "-o", "/dev/null", # 6 -> output file # "-lp_lfe", - # "-limiter" + "-limiter" # "-no_delay_cmp" ] @@ -241,7 +241,9 @@ FORMAT_TO_CREND_FORMAT = { INPUT_FORMATS_AMBI = ["FOA", "HOA2", "HOA3"] INPUT_FORMATS_MC = ["MONO", "STEREO", "5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] INPUT_FORMATS_ISM = ["ISM1", "ISM2", "ISM3", "ISM4"] -INPUT_FORMATS_MASA = ["MASA2"] #["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly +INPUT_FORMATS_MASA = [ + "MASA2" +] # ["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly """ Non binaural / parametric output formats """ OUTPUT_FORMATS = [ @@ -381,36 +383,20 @@ pass_snr = { "test_ism[ISM4-HOA2]": 36, "test_ism[ISM4-HOA3]": 33, "test_ism[ISM4-STEREO]": 57, - # TODO delay alignment of LFE in binaural output # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, - # Failure reason: bitexact except for clicks and differences in center channel, could be due to crossfades - "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-full_circle_in_15s]": 30, - "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 30, - "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-full_circle_in_15s]": 29, - "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 29, - "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-full_circle_in_15s]": 30, - "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 30, - "test_multichannel_binaural_static[5_1_2-BINAURAL]": 30, - "test_multichannel_binaural_static[5_1_4-BINAURAL]": 29, - "test_multichannel_binaural_static[5_1-BINAURAL]": 27, - "test_multichannel_binaural_static[7_1-BINAURAL]": 30, - "test_multichannel_binaural_static[7_1_4-BINAURAL]": 30, - # TODO needs debugging - # Failure reason: headrotation may be applied differently, differences increase progressively - "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-full_circle_in_15s]": 10, - "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, - "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 11, - "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, - "test_multichannel_binaural_headrotation[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 12, - "test_multichannel_binaural_headrotation[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, - "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-full_circle_in_15s]": 10, - "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, - "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 10, - "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, + # Failure reason: differences in LFE alignment and possibly rotation + "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-full_circle_in_15s]": 14, + "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 12, + "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 8, + "test_multichannel_binaural_headrotation[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 6, + "test_multichannel_binaural_headrotation[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 6, + "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-full_circle_in_15s]": 11, + "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 9, + "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 6, ##################################### # # External vs Internal Renderer tests @@ -485,18 +471,18 @@ pass_snr = { "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - # TODO needs investigation - "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, - "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 5, - "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - # TODO needs investigation + # # TODO needs investigation + "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 7, + "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 6, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 3, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 2, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 2, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 2, + "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 7, + "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 5, + "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 16, + "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 16, + # Failure reason: Differences seem to be purely in late reverb part "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, @@ -515,7 +501,6 @@ pass_snr = { "test_multichannel_vs_decoder[5_1-STEREO]": 48, "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, "test_multichannel_vs_decoder[7_1-STEREO]": 44, - # TODO needs investigation "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, "test_multichannel_vs_decoder[5_1_2-5_1]": 63, "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py index 8a4ecf739b..b22cdc9f69 100644 --- a/tests/renderer/utils.py +++ b/tests/renderer/utils.py @@ -177,7 +177,6 @@ def run_renderer( out_file = str(output_path_base.joinpath(f"{in_name}_to_{out_name}{trj_name}.wav")) - cmd = RENDERER_CMD[:] cmd[2] = str(in_file) cmd[4] = str(in_fmt) @@ -389,7 +388,11 @@ def run_pyscripts( def compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, **kwargs): ref, ref_fs = run_renderer( - in_fmt, out_fmt, binary_suffix=BIN_SUFFIX_MERGETARGET, output_path_base=OUTPUT_PATH_REF, **kwargs + in_fmt, + out_fmt, + binary_suffix=BIN_SUFFIX_MERGETARGET, + output_path_base=OUTPUT_PATH_REF, + **kwargs, ) cut, cut_fs = run_renderer(in_fmt, out_fmt, **kwargs) check_BE(test_info, ref, ref_fs, cut, cut_fs) @@ -414,12 +417,18 @@ def compare_renderer_vs_td_standalone(test_info, in_fmt, out_fmt, **kwargs): def compare_renderer_vs_decoder(test_info, in_fmt, out_fmt, **kwargs): + if "trj_file" in kwargs: + trj_name = f"_{kwargs['trj_file'].stem}" + else: + trj_name = "" with TemporaryDirectory() as tmp_dir: tmp_dir = Path(tmp_dir) in_meta_files = None - bit_file = str(tmp_dir.joinpath(f"{in_fmt}_to_{out_fmt}.192")) - out_file_decoder = str(OUTPUT_PATH_REF.joinpath(f"{in_fmt}_to_{out_fmt}.wav")) + bit_file = str(tmp_dir.joinpath(f"{in_fmt}_to_{out_fmt}{trj_name}.192")) + out_file_decoder = str( + OUTPUT_PATH_REF.joinpath(f"{in_fmt}_to_{out_fmt}{trj_name}.wav") + ) # Ref: cod -> dec (out_fmt) if in_fmt in FORMAT_TO_METADATA_FILES.keys(): @@ -440,7 +449,7 @@ def compare_renderer_vs_decoder(test_info, in_fmt, out_fmt, **kwargs): else: tmp_fmt = in_fmt - out_file_ext = str(tmp_dir.joinpath(f"{in_fmt}_to_{tmp_fmt}.wav")) + out_file_ext = str(tmp_dir.joinpath(f"{in_fmt}_to_{tmp_fmt}{trj_name}.wav")) # passthrough decoder run_dec(bit_file, out_file_ext, tmp_fmt, **kwargs) -- GitLab From c5dc9bfb884812914aeac5ba8dedbe2ff0b4c573 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Fri, 2 Dec 2022 17:52:36 +0100 Subject: [PATCH 243/620] rename and update FIX_REND_ROT_MCBRIRS to FIX_REND_ROT_MC_BIN since the issue was also present for binaural output + resolve asan error --- lib_com/options.h | 2 +- lib_rend/lib_rend.c | 22 ++++++++++++++-------- tests/renderer/constants.py | 1 + 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 90de40b919..d31450fef2 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -177,7 +177,7 @@ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ #define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ -#define FIX_REND_ROT_MCBRIRS /* ISsue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ +#define FIX_REND_ROT_MC_BIN /* Issue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 7ef176cfbf..a4ca68bf99 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1556,6 +1556,12 @@ static ivas_error initMcBinauralRendering( { ivas_rend_closeCrend( &inputMc->crendWrapper ); } +#ifdef FIX_REND_ROT_MC_BIN + if ( inputMc->efapInWrapper.hEfap != NULL ) + { + efap_free_data( &inputMc->efapInWrapper.hEfap ); + } +#endif outSampleRate = *inputMc->base.ctx.pOutSampleRate; @@ -1599,6 +1605,14 @@ static ivas_error initMcBinauralRendering( } } +#ifdef FIX_REND_ROT_MC_BIN + /* Initialise the EFAP handle for rotation on input layout */ + if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM && inputMc->base.ctx.pHeadRotData->headRotEnabled ) + { + initEfap( &inputMc->efapInWrapper, inConfig, NULL ); + } +#endif + return error; } @@ -4119,11 +4133,7 @@ static ivas_error renderMcToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, -#ifdef FIX_REND_ROT_MCBRIRS - mcInput->base.ctx.pEfapOutWrapper->hEfap, -#else mcInput->efapInWrapper.hEfap, -#endif tmpRotBuffer ); copyBufferTo2dArray( tmpRotBuffer, tmpCrendBuffer ); @@ -4183,11 +4193,7 @@ static ivas_error renderMcCustomLsToBinauralRoom( mcInput->customLsInput, mcInput->base.ctx.pHeadRotData, mcInput->rot_gains_prev, -#ifdef FIX_REND_ROT_MCBRIRS - mcInput->base.ctx.pEfapOutWrapper->hEfap, -#else mcInput->efapInWrapper.hEfap, -#endif tmpRotBuffer ); } diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 12736af984..829c0437bf 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -386,6 +386,7 @@ pass_snr = { # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, + "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 1, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, # Failure reason: differences in LFE alignment and possibly rotation -- GitLab From a6b31d63b7b4b9558f8e7e4fc25dddf6aaf6c710 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 5 Dec 2022 10:21:12 +0530 Subject: [PATCH 244/620] Removed a line of code --- lib_dec/ivas_dirac_dec.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 990e5607fd..dbdf0870e8 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -285,9 +285,6 @@ ivas_error ivas_dirac_dec_config( /* band config needed only for SPAR with FOA output */ if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_FOA && st_ivas->sba_mode == SBA_MODE_SPAR ) { -#ifdef SBA_BR_SWITCHING_2 - st_ivas->nchan_transport = nchan_transport_orig; -#endif return IVAS_ERR_OK; } -- GitLab From 809c2c3dad53a3341679b2002b145b90b1fc1d2a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 5 Dec 2022 09:46:02 +0100 Subject: [PATCH 245/620] remove printout that clutters CI console log --- ci/collect_artifacts.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/ci/collect_artifacts.py b/ci/collect_artifacts.py index 6cd0a77ed7..d3228ba2e8 100755 --- a/ci/collect_artifacts.py +++ b/ci/collect_artifacts.py @@ -62,9 +62,6 @@ def collect_for_sanitizer_test(file): ) files_to_archive = find_failed_files_for_sanitizer_test(console_log, "logs") - print("files_to_archive_noPLC:", files_to_archive_noPLC) - print("files_to_archive:", files_to_archive) - log_folder = pathlib.Path("./LOGS_PLC") log_folder.mkdir() for test in files_to_archive.keys(): -- GitLab From 136ea33d0415948685970c3ab6f8b2811d385df4 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Mon, 5 Dec 2022 13:02:20 +0100 Subject: [PATCH 246/620] fixed another SVD NaN problem, this time from rounding errors in calculation Cproto_diag --- lib_dec/ivas_mc_param_dec.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index d4a4fa5168..5f1f705a65 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -1613,6 +1613,17 @@ static void ivas_param_mc_get_mixing_matrices( matrix_product( proto_matrix_ptr, nY_band, nX, 0, Cx, nX, nX, 0, mat_mult_buffer1 ); matrix_product_diag( mat_mult_buffer1, nY_band, nX, 0, proto_matrix_ptr, nY_band, nX, 1, Cproto_diag ); + +#ifdef FIX_I220_PARAMMC_CPROTO + /* make sure we have no negative entries in Cproto_diag due to rounding errors */ + for ( ch_idx1 = 0; ch_idx1 < nY_band; ch_idx1++ ) + { + if ( Cproto_diag[ch_idx1] < 0.0f ) + { + Cproto_diag[ch_idx1] = 0.0f; + } + } +#endif /* Computing the mixing matrices */ -- GitLab From c050195db4a353a61847fde972ee49191cbaba3f Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 5 Dec 2022 13:16:02 +0100 Subject: [PATCH 247/620] removal of reset_stack() fix of intra-frame and inter-frame memory printout --- apps/decoder.c | 3 - apps/encoder.c | 1 - lib_debug/wmc_auto.c | 729 ++++++++++++++++++++++++++++--------------- lib_debug/wmc_auto.h | 24 +- 4 files changed, 483 insertions(+), 274 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 8cae229dc5..ff01e6e429 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -449,7 +449,6 @@ int main( #ifdef WMOPS reset_wmops(); - reset_stack(); #endif /*-----------------------------------------------------------------* @@ -1129,7 +1128,6 @@ static ivas_error decodeG192( } #ifdef WMOPS - reset_stack(); reset_wmops(); #endif @@ -1641,7 +1639,6 @@ static ivas_error decodeVoIP( } #ifdef WMOPS - reset_stack(); reset_wmops(); #endif diff --git a/apps/encoder.c b/apps/encoder.c index a5cbdd1fa9..d67a37c881 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -552,7 +552,6 @@ int main( #ifdef WMOPS reset_wmops(); - reset_stack(); #endif /*------------------------------------------------------------------------------------------* diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 1f01fb0a1e..8191daefd7 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -82,6 +82,8 @@ static double min_cnt; static double inst_cnt_wc[NUM_INST]; static long fnum_cnt_wc; +static int *heap_allocation_call_tree = NULL, heap_allocation_call_tree_size = 0, heap_allocation_call_tree_max_size = 0; + void reset_wmops(void) { @@ -338,6 +340,14 @@ void update_wmops(void) } start_cnt = ops_cnt; + + if ( heap_allocation_call_tree_size > 0 ) + { + /* update intra-frame heap memory and inter-frame heap memory*/ + update_mem(); + } + + /* increment frame counter */ update_cnt++; return; @@ -524,7 +534,7 @@ void print_wmops(void) #define MAX_FUNCTION_NAME_LENGTH 35 /* Maximum length that the function string will be truncated to */ #define MAX_PARAMS_LENGTH 50 /* Maximum length that the parameter string will be truncated to */ #define MAX_NUM_RECORDS 300 /* Initial maximum number of memory records -> mightb be increased during runtime, if needed */ -#define MAX_NUM_RECORDS_REALLOC_STEP 10 /* When re-allocating the list of memory records, increase the number of records by this number */ +#define MAX_NUM_RECORDS_REALLOC_STEP 50 /* When re-allocating the list of memory records, increase the number of records by this number */ /* This is the value (in bytes) towards which the block size is rounded. For example, a block of 123 bytes, when using a 32 bits system, will end up taking 124 bytes since the last unused byte cannot be used for another block. */ @@ -560,33 +570,35 @@ typedef struct int lineno; void* block_ptr; int block_size; - int max_block_size; /* Maximum block size allocated */ - int32_t wc_heap_size[3]; /* Worst-Case Heap [Frame#, Size, Count] */ - int32_t wc_heap_size_intra_frame[3]; /* Worst-Case Intra-Frame Heap [Frame#, Size, Count] */ - int32_t wc_heap_size_inter_frame[3]; /* Worst-Case Inter-Frame Heap [Frame#, Size, Count] */ - int frame_allocated; /* Frame number in which the Memory Block has been allocated */ - float ave_usage; /* Average Usage of memory block calculated as ratio of used size and allocated size */ + unsigned long total_block_size; /* Cumulative sum of the allocated size in the session */ + unsigned long total_used_size; /* Cumulative sum of the used size in the session */ + int wc_heap_size_intra_frame; /* Worst-Case Intra-Frame Heap Size */ + int wc_heap_size_inter_frame; /* Worst-Case Inter-Frame Heap Size */ + int frame_allocated; /* Frame number in which the Memory Block has been allocated (-1 if not allocated at the moment) */ int OOB_Flag; - int noccurances; /* Numer of times that the Memory Block Was Allocated */ + int noccurances; /* Number of times that the memory block has been allocated in a frame */ } allocator_record; -allocator_record* allocation_list = NULL, * peak_allocations, * peak_allocations_one_frame, * peak_allocations_state; +allocator_record *allocation_list = NULL; static int16_t* ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ static int16_t* ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ -static int32_t wc_frame = 0; /* Frame corresponding to the worst-case stack usage */ +static int32_t wc_stack_frame = 0; /* Frame corresponding to the worst-case stack usage */ static int32_t wc_ram_size, wc_ram_frame; -static int32_t current_heap_size, wc_heap_size[2], wc_heap_size_intra_frame[2], wc_heap_size_inter_frame[2]; +static int32_t current_heap_size; static int current_calls = 0; static char location_max_stack[256] = "undefined"; -static int Num_Records; +static int Num_Records, Max_Num_Records; static size_t Stat_Cnt_Size = USE_BYTES; -static int Max_Num_Records; static const char* Count_Unit[] = { "bytes", "words", "words" }; +static int *list_wc_intra_frame_heap, n_items_wc_intra_frame_heap, max_items_wc_intra_frame_heap, size_wc_intra_frame_heap, location_wc_intra_frame_heap; +static int *list_current_inter_frame_heap, n_items_current_inter_frame_heap, max_items_current_inter_frame_heap, size_current_inter_frame_heap; +static int *list_wc_inter_frame_heap, n_items_wc_inter_frame_heap, max_items_wc_inter_frame_heap, size_wc_inter_frame_heap, location_wc_inter_frame_heap; + /* Local Functions */ static unsigned long malloc_hash(const char* func_name, int func_lineno, char* size_str); -allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str); +allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str, int *index_record); static void* mem_alloc_block(size_t size, const char* size_str); /*-------------------------------------------------------------------* @@ -632,12 +644,47 @@ void reset_mem(Counting_Size cnt_size) wc_ram_size = 0; wc_ram_frame = -1; current_heap_size = 0; - wc_heap_size[0] = -1; - wc_heap_size[1] = 0; - wc_heap_size_intra_frame[0] = -1; - wc_heap_size_intra_frame[1] = 0; - wc_heap_size_inter_frame[0] = -1; - wc_heap_size_inter_frame[1] = 0; + + /* heap allocation tree */ + heap_allocation_call_tree_max_size = MAX_NUM_RECORDS; + if ( heap_allocation_call_tree == NULL ) + { + heap_allocation_call_tree = (int *) malloc( heap_allocation_call_tree_max_size * sizeof( int ) ); + memset( heap_allocation_call_tree, -1, heap_allocation_call_tree_max_size * sizeof( int ) ); + } + heap_allocation_call_tree_size = 0; + + /* wc intra-frame heap */ + max_items_wc_intra_frame_heap = MAX_NUM_RECORDS; + if ( list_wc_intra_frame_heap == NULL ) + { + list_wc_intra_frame_heap = (int *) malloc( max_items_wc_intra_frame_heap * sizeof( int ) ); + memset( list_wc_intra_frame_heap, -1, max_items_wc_intra_frame_heap * sizeof( int ) ); + } + n_items_wc_intra_frame_heap = 0; + size_wc_intra_frame_heap = 0; + location_wc_intra_frame_heap = -1; + + /* current inter-frame heap */ + max_items_current_inter_frame_heap = MAX_NUM_RECORDS; + if ( list_current_inter_frame_heap == NULL ) + { + list_current_inter_frame_heap = (int *) malloc( max_items_current_inter_frame_heap * sizeof( int ) ); + memset( list_current_inter_frame_heap, -1, max_items_current_inter_frame_heap * sizeof( int ) ); + } + n_items_current_inter_frame_heap = 0; + size_current_inter_frame_heap = 0; + + /* wc inter-frame heap */ + max_items_wc_inter_frame_heap = MAX_NUM_RECORDS; + if ( list_wc_inter_frame_heap == NULL ) + { + list_wc_inter_frame_heap = (int *) malloc( max_items_wc_inter_frame_heap * sizeof( int ) ); + memset( list_wc_inter_frame_heap, -1, max_items_wc_inter_frame_heap * sizeof( int ) ); + } + n_items_wc_inter_frame_heap = 0; + size_wc_inter_frame_heap = 0; + location_wc_inter_frame_heap = -1; return; } @@ -702,7 +749,7 @@ int push_stack(const char* filename, const char* fctname) /* Save Info about it */ ptr_max_stack = &something; - wc_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ + wc_stack_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ strncpy(location_max_stack, fctname, sizeof(location_max_stack) - 1); location_max_stack[sizeof(location_max_stack) - 1] = '\0'; @@ -822,7 +869,7 @@ void* mem_alloc( size_t size, char* size_str /* the first char indicates m-alloc or c-alloc */) { - int i; + int index_record; int32_t current_stack_size; unsigned long hash; allocator_record* ptr_record; @@ -833,8 +880,22 @@ void* mem_alloc( exit(-1); } - /* Create new record, if not existing */ - if ((ptr_record = get_mem_record(&hash, func_name, func_lineno, size_str)) == NULL) + /* Search for an existing record (that has been de-allocated before) */ + index_record = 0; + while ((ptr_record = get_mem_record(&hash, func_name, func_lineno, size_str, &index_record)) != NULL) + { + if ( ptr_record->frame_allocated == -1 ) + { + break; + } + else + { + index_record++; + } + } + + /* Create new record */ + if ( ptr_record == NULL ) { if (Num_Records >= Max_Num_Records) { @@ -847,21 +908,15 @@ void* mem_alloc( /* Initialize new record */ ptr_record->hash = hash; - ptr_record->ave_usage = 0; ptr_record->noccurances = 0; - ptr_record->max_block_size = 0; + ptr_record->total_block_size = 0; + ptr_record->total_used_size = 0; ptr_record->frame_allocated = -1; ptr_record->OOB_Flag = 0; - ptr_record->wc_heap_size[0] = -1; - ptr_record->wc_heap_size[1] = 0; - ptr_record->wc_heap_size[2] = 1; - ptr_record->wc_heap_size_intra_frame[0] = -1; - ptr_record->wc_heap_size_intra_frame[1] = 0; - ptr_record->wc_heap_size_intra_frame[2] = 1; - ptr_record->wc_heap_size_inter_frame[0] = -1; - ptr_record->wc_heap_size_inter_frame[1] = 0; - ptr_record->wc_heap_size_inter_frame[2] = 1; + ptr_record->wc_heap_size_intra_frame = -1; + ptr_record->wc_heap_size_inter_frame = -1; + index_record = Num_Records; Num_Records++; } @@ -881,11 +936,7 @@ void* mem_alloc( ptr_record->params[MAX_PARAMS_LENGTH] = '\0'; ptr_record->lineno = func_lineno; ptr_record->block_size = size; - - if (ptr_record->block_size > ptr_record->max_block_size) - { - ptr_record->max_block_size = ptr_record->block_size; - } + ptr_record->total_block_size += size; if (ptr_record->frame_allocated != -1) { @@ -894,32 +945,10 @@ void* mem_alloc( } ptr_record->frame_allocated = update_cnt; /* Store the current frame number -> later it will be used to determine the total duration */ - ptr_record->noccurances++; /* Update Heap Size in the current frame */ current_heap_size += ptr_record->block_size; - /* Update Worst-Case Heap Size, if Exceeded */ - if (current_heap_size > wc_heap_size[1]) - { - for (i = 0; i < Num_Records; i++) - { - if (allocation_list[i].block_ptr != NULL) - { - allocation_list[i].wc_heap_size[0] = update_cnt; - allocation_list[i].wc_heap_size[1] = allocation_list[i].block_size; - } - else - { - allocation_list[i].wc_heap_size[0] = -1; - allocation_list[i].wc_heap_size[1] = 0; - } - } - - wc_heap_size[0] = update_cnt; - wc_heap_size[1] = current_heap_size; - } - /* Check, if this is the new Worst-Case RAM (stack + heap) */ current_stack_size = (int32_t)(((ptr_base_stack - ptr_max_stack) * sizeof(int16_t))); if (current_stack_size + current_heap_size > wc_ram_size) @@ -928,6 +957,23 @@ void* mem_alloc( wc_ram_frame = update_cnt; } + /* Add new entry to the heap allocation call tree */ + if (heap_allocation_call_tree == NULL) + { + fprintf( stderr, "Error: Heap allocation call tree not created!" ); + exit( -1 ); + } + + /* check, if the maximum size of the call tree has been reached -> resize if so */ + if ( heap_allocation_call_tree_size >= heap_allocation_call_tree_max_size ) + { + heap_allocation_call_tree_max_size += MAX_NUM_RECORDS_REALLOC_STEP; + heap_allocation_call_tree = (int *) realloc( heap_allocation_call_tree, heap_allocation_call_tree_max_size * sizeof( int ) ); + } + + /* push new entry (positive number means push op, neagtive number means pop op; zero index must be converted to 0.01 :-) */ + heap_allocation_call_tree[heap_allocation_call_tree_size++] = index_record; + return ptr_record->block_ptr; } @@ -1153,25 +1199,33 @@ static unsigned long malloc_hash(const char* func_name, int func_lineno, char* s * get_mem_record() * * Search for memory record in the internal list, return NULL if not found + * Start from index_record *--------------------------------------------------------------------*/ -allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str) +allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str, int *index_record) { int i; + if (*index_record < 0 || *index_record > Num_Records) + { + return NULL; + } + /* calculate hash */ *hash = malloc_hash(func_name, func_lineno, size_str); - for (i = 0; i < Num_Records; i++) + for (i = *index_record; i < Num_Records; i++) { /* check, if memory block is not allocated at the moment and the hash matches */ if (allocation_list[i].block_ptr == NULL && *hash == allocation_list[i].hash) { - return &(allocation_list[i]); + *index_record = i; + return &( allocation_list[i] ); } } /* not found */ + *index_record = -1; return NULL; } @@ -1179,27 +1233,27 @@ allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int /*-------------------------------------------------------------------* * mem_free() * - * This function updates worst-case intra-frame memory and worst-case inter-frame memory. It also updates actual and average usage of - * the memory block and finally, it de-allocates the physical memory with free() + * This function de-allocatesd the memory block and frees the mphysical memory with free(). + * It also updates actual and average usage of the memory block. * * Note: The record is not removed from the list and may be reused later on in mem_alloc()! *--------------------------------------------------------------------*/ void mem_free(const char* func_name, int func_lineno, void* ptr) { - int i; - int32_t current_heap_size_intra_frame, current_heap_size_inter_frame; - float current_usage; + int i, index_record; char* tmp_ptr; allocator_record* ptr_record; /* Search for the Block Pointer in the List */ ptr_record = NULL; + index_record = -1; for (i = 0; i < Num_Records; i++) { if (ptr == allocation_list[i].block_ptr) { /* Yes, Found it */ ptr_record = &(allocation_list[i]); + index_record = i; break; } } @@ -1213,83 +1267,215 @@ void mem_free(const char* func_name, int func_lineno, void* ptr) /* Update the Heap Size */ current_heap_size -= ptr_record->block_size; - /* Calculate Intra-Frame Heap Size and Inter-Frame Heap Size in the Current Frame */ - current_heap_size_intra_frame = 0; - current_heap_size_inter_frame = 0; - for (i = 0; i < Num_Records; i++) + /* Calculate the Actual Usage of the Memory Block (Look for Signature) */ + ptr_record->total_used_size += mem_set_usage(ptr_record); + + /* Check, if Out-Of-Bounds Access has been Detected */ + ptr_record->OOB_Flag = mem_check_OOB(ptr_record); + + /* De-Allocate Memory Block */ + tmp_ptr = (char*)ptr; + tmp_ptr -= BLOCK_ROUNDING; + ptr = (void*)tmp_ptr; + free(ptr); + + /* Add new entry to the heap allocation call tree */ + if ( heap_allocation_call_tree == NULL ) { - if (allocation_list[i].block_ptr != NULL) + fprintf( stderr, "Error: Heap allocation call tree not created!" ); + exit( -1 ); + } + + /* check, if the maximum size of the call tree has been reached -> resize if so */ + if ( heap_allocation_call_tree_size >= heap_allocation_call_tree_max_size ) + { + heap_allocation_call_tree_max_size += MAX_NUM_RECORDS_REALLOC_STEP; + heap_allocation_call_tree = (int *) realloc( heap_allocation_call_tree, heap_allocation_call_tree_max_size * sizeof( int ) ); + } + + heap_allocation_call_tree[heap_allocation_call_tree_size++] = -index_record; + + /* Reset memory block pointer (this is checked when updating wc intra-frame and inter-frame memory) */ + ptr_record->block_ptr = NULL; + + return; +} + + +/*-------------------------------------------------------------------* + * update_mem() + * + * This function updates the worst-case intra-frame memory and the worst-case inter-frame memory. + *--------------------------------------------------------------------*/ + +void update_mem( void ) +{ + int i, j, flag_alloc = -1, i_record; + int32_t size_current_intra_frame_heap; + int *list_current_intra_frame_heap = NULL, n_items_current_intra_frame_heap; + allocator_record *ptr_record; + + /* process the heap allocation call tree */ + n_items_current_intra_frame_heap = 0; + size_current_intra_frame_heap = 0; + for ( i = 0; i < heap_allocation_call_tree_size; i++ ) + { + /* get the record */ + i_record = heap_allocation_call_tree[i]; + + if (i_record > 0) + { + flag_alloc = 1; + } + else if (i_record < 0) + { + flag_alloc = 0; + i_record = -i_record; + } + ptr_record = &( allocation_list[i_record] ); + + if ( ptr_record->frame_allocated == update_cnt && ptr_record->block_ptr == NULL ) { - if (allocation_list[i].frame_allocated == update_cnt) + /* intra-frame heap memory */ + if ( list_current_intra_frame_heap == NULL ) { - current_heap_size_intra_frame += allocation_list[i].block_size; + list_current_intra_frame_heap = (int *) malloc( heap_allocation_call_tree_size * sizeof( int ) ); + memset( list_current_intra_frame_heap, -1, heap_allocation_call_tree_size * sizeof( int ) ); } - else + + /* zero index doesn't have sign to determine whether it's allocated or de-allocated -> we need to search the list */ + if ( i_record == 0 ) { - current_heap_size_inter_frame += allocation_list[i].block_size; + flag_alloc = 1; + for ( j = 0; j < n_items_current_intra_frame_heap; j++) + { + if (list_current_intra_frame_heap[j] == i_record) + { + flag_alloc = 0; + break; + } + } } - } - } - /* Update Worst-Case Intra-Frame Heap Size, if Exceeded */ - if (current_heap_size_intra_frame > wc_heap_size_intra_frame[1]) - { - for (i = 0; i < Num_Records; i++) - { - if ( allocation_list[i].frame_allocated == update_cnt ) + if ( flag_alloc ) { - allocation_list[i].wc_heap_size_intra_frame[0] = update_cnt; - allocation_list[i].wc_heap_size_intra_frame[1] = allocation_list[i].block_size; + /* add to list */ + list_current_intra_frame_heap[n_items_current_intra_frame_heap++] = i_record; + size_current_intra_frame_heap += ptr_record->block_size; + + /* check, if this is the new worst-case */ + if ( size_current_intra_frame_heap > size_wc_intra_frame_heap ) + { + if ( n_items_current_intra_frame_heap >= max_items_wc_intra_frame_heap) + { + /* resize list, if needed */ + max_items_wc_intra_frame_heap = n_items_current_intra_frame_heap + MAX_NUM_RECORDS_REALLOC_STEP; + list_wc_intra_frame_heap = realloc( list_wc_intra_frame_heap, max_items_wc_intra_frame_heap * sizeof( int ) ); + } + + /* save to wc list */ + memmove( list_wc_intra_frame_heap, list_current_intra_frame_heap, n_items_current_intra_frame_heap * sizeof( int ) ); + n_items_wc_intra_frame_heap = n_items_current_intra_frame_heap; + size_wc_intra_frame_heap = size_current_intra_frame_heap; + location_wc_intra_frame_heap = update_cnt; + ptr_record->wc_heap_size_intra_frame = ptr_record->block_size; + } } else { - allocation_list[i].wc_heap_size_intra_frame[0] = -1; - allocation_list[i].wc_heap_size_intra_frame[1] = 0; + /* remove from list */ + for ( j = 0; j < n_items_current_intra_frame_heap; j++ ) + { + if ( list_current_intra_frame_heap[j] == i_record ) + { + break; + } + } + memmove( &list_current_intra_frame_heap[j], &list_current_intra_frame_heap[j + 1], ( n_items_current_intra_frame_heap - j ) * sizeof( int ) ); + n_items_current_intra_frame_heap--; + size_current_intra_frame_heap -= ptr_record->block_size; + + /* reset block size */ + ptr_record->frame_allocated = -1; + ptr_record->block_size = 0; } } + else + { + /* inter-frame heap memory */ - wc_heap_size_intra_frame[0] = update_cnt; - wc_heap_size_intra_frame[1] = current_heap_size_intra_frame; - } + /* zero index doesn't have sign to determine whether it's allocated or de-allocated -> we need to search the list */ + if ( i_record == 0 ) + { + flag_alloc = 1; + for ( j = 0; j < n_items_current_inter_frame_heap; j++ ) + { + if ( list_current_inter_frame_heap[j] == i_record ) + { + flag_alloc = 0; + break; + } + } + } - /* Update Worst-Case Inter-Frame Heap Size, if Exceeded */ - if (current_heap_size_inter_frame > wc_heap_size_inter_frame[1]) - { - for (i = 0; i < Num_Records; i++) - { - if ( allocation_list[i].frame_allocated < update_cnt ) + if ( flag_alloc ) { - allocation_list[i].wc_heap_size_inter_frame[0] = update_cnt; - allocation_list[i].wc_heap_size_inter_frame[1] = allocation_list[i].block_size; + /* add to list */ + if ( n_items_current_inter_frame_heap >= max_items_current_inter_frame_heap ) + { + /* resize list, if needed */ + max_items_current_inter_frame_heap = n_items_current_inter_frame_heap + MAX_NUM_RECORDS_REALLOC_STEP; + list_current_inter_frame_heap = realloc( list_current_inter_frame_heap, max_items_current_inter_frame_heap * sizeof( int ) ); + } + + list_current_inter_frame_heap[n_items_current_inter_frame_heap++] = i_record; + size_current_inter_frame_heap += ptr_record->block_size; + + /* check, if this is the new worst-case */ + if ( size_current_inter_frame_heap > size_wc_inter_frame_heap ) + { + if ( n_items_current_inter_frame_heap >= max_items_wc_inter_frame_heap ) + { + /* resize list, if needed */ + max_items_wc_inter_frame_heap = n_items_current_inter_frame_heap + MAX_NUM_RECORDS_REALLOC_STEP; + list_wc_inter_frame_heap = realloc( list_wc_inter_frame_heap, max_items_wc_inter_frame_heap * sizeof( int ) ); + } + + memmove( list_wc_inter_frame_heap, list_current_inter_frame_heap, n_items_current_inter_frame_heap * sizeof(int) ); + n_items_wc_inter_frame_heap = n_items_current_inter_frame_heap; + size_wc_inter_frame_heap = size_current_inter_frame_heap; + location_wc_inter_frame_heap = update_cnt; + ptr_record->wc_heap_size_inter_frame = ptr_record->block_size; + } } else { - allocation_list[i].wc_heap_size_inter_frame[0] = -1; - allocation_list[i].wc_heap_size_inter_frame[1] = 0; + /* remove from list */ + for ( j = 0; j < n_items_current_inter_frame_heap; j++ ) + { + if ( list_current_inter_frame_heap[j] == i_record ) + { + break; + } + } + memmove( &list_current_inter_frame_heap[j], &list_current_inter_frame_heap[j + 1], ( n_items_current_inter_frame_heap - j ) * sizeof( int ) ); + n_items_current_inter_frame_heap--; + size_current_inter_frame_heap -= ptr_record->block_size; + + /* reset block size */ + ptr_record->frame_allocated = -1; + ptr_record->block_size = 0; } } - - wc_heap_size_inter_frame[0] = update_cnt; - wc_heap_size_inter_frame[1] = current_heap_size_inter_frame; } - /* Update the Average Usage of Memory Block (Look for Signature) */ - current_usage = (float)mem_set_usage(ptr_record) / ptr_record->block_size; - ptr_record->ave_usage = ((ptr_record->noccurances - 1.0f) / ptr_record->noccurances) * ptr_record->ave_usage + (1.0f / ptr_record->noccurances) * current_usage; - - /* Check, if Out-Of-Bounds Access has been Detected */ - ptr_record->OOB_Flag = mem_check_OOB(ptr_record); - - /* De-Allocate Memory Block */ - tmp_ptr = (char*)ptr; - tmp_ptr -= BLOCK_ROUNDING; - ptr = (void*)tmp_ptr; - free(ptr); + /* reset heap allocation call tree */ + heap_allocation_call_tree_size = 0; - /* Reset some properties of the memory record */ - ptr_record->frame_allocated = -1; - ptr_record->block_ptr = NULL; - ptr_record->block_size = 0; + if ( list_current_intra_frame_heap ) + { + free( list_current_intra_frame_heap ); + } return; } @@ -1320,159 +1506,182 @@ static void subst(char* s, char from, char to) static void mem_count_summary(void) { - int i, j, flag_intra_frame_memory; + int i, j, index, index_record; size_t length; - char format_str[50], name_str[MAX_FUNCTION_NAME_LENGTH + 3], parms_str[MAX_PARAMS_LENGTH + 1], type_str[10], usage_str[20], size_str[20], line_str[10]; - char buf[300]; - allocator_record* record_ptr, *ptr; + char buf[300], format_str[50], name_str[MAX_FUNCTION_NAME_LENGTH + 3], parms_str[MAX_PARAMS_LENGTH + 1], type_str[10], usage_str[20], size_str[20], line_str[10]; + allocator_record* ptr_record, *ptr; /* Prepare format string */ sprintf(format_str, "%%-%ds %%5s %%6s %%-%ds %%20s %%6s ", MAX_FUNCTION_NAME_LENGTH, MAX_PARAMS_LENGTH); - /* Check, if we have at least one Intra-Frame Heap memory block in the list */ - flag_intra_frame_memory = 0; - for (i = 0; i < Num_Records; i++) + if ( n_items_wc_intra_frame_heap > 0 ) { - record_ptr = &(allocation_list[i]); - if (record_ptr->wc_heap_size_intra_frame[1] > 0) - { - flag_intra_frame_memory = 1; - break; - } - } + /* Intra-Frame Heap Size */ + fprintf( stdout, "\nList of memory blocks when maximum intra-frame heap size is reached:\n\n" ); - /* Find duplicate records (same hash and worst-case heap size) */ - /* Note: average usage is not re-calculated */ - for ( i = 0; i < Num_Records; i++ ) - { - record_ptr = &( allocation_list[i] ); - for ( j = i + 1; j < Num_Records; j++ ) + /* Find duplicate records (same hash and worst-case heap size) */ + for ( i = 0; i < n_items_wc_intra_frame_heap; i++ ) { - ptr = &( allocation_list[j] ); - - if ( ptr->hash != 0 && ptr->hash == record_ptr->hash && ptr->wc_heap_size[1] == record_ptr->wc_heap_size[1] ) + index_record = list_wc_intra_frame_heap[i]; + if ( index_record == -1 ) { - ptr->wc_heap_size[0] = -1; - ptr->wc_heap_size[1] = 0; - record_ptr->wc_heap_size[2]++; + continue; } - if ( ptr->hash != 0 && ptr->hash == record_ptr->hash && ptr->wc_heap_size_intra_frame[1] == record_ptr->wc_heap_size_intra_frame[1] ) + ptr_record = &( allocation_list[index_record] ); + for ( j = i + 1; j < n_items_wc_intra_frame_heap; j++ ) { - ptr->wc_heap_size_intra_frame[0] = -1; - ptr->wc_heap_size_intra_frame[1] = 0; - record_ptr->wc_heap_size_intra_frame[2]++; + index = list_wc_intra_frame_heap[j]; + if ( index == -1 ) + { + continue; + } + ptr = &( allocation_list[index] ); + + if ( ptr->hash == ptr_record->hash && ptr->wc_heap_size_intra_frame == ptr_record->wc_heap_size_intra_frame ) + { + ptr_record->noccurances++; + list_wc_intra_frame_heap[j] = -1; + } } + } + + /* Print Header */ + sprintf( buf, format_str, "Function Name", "Line", "Type", "Function Parameters", "Maximum Size", "Usage" ); + puts( buf ); + length = strlen( buf ); + sprintf( buf, "%0*d\n", (int) length - 1, 0 ); + subst( buf, '0', '-' ); + puts( buf ); + + for ( i = 0; i < n_items_wc_intra_frame_heap; i++ ) + { + index_record = list_wc_intra_frame_heap[i]; - if ( ptr->hash != 0 && ptr->hash == record_ptr->hash && ptr->wc_heap_size_inter_frame[1] == record_ptr->wc_heap_size_inter_frame[1] ) + if ( index_record != -1 ) { - ptr->wc_heap_size_inter_frame[0] = -1; - ptr->wc_heap_size_inter_frame[1] = 0; - record_ptr->wc_heap_size_inter_frame[2]++; + /* get the record */ + ptr_record = &( allocation_list[index_record] ); + + /* prepare information strings */ + strncpy( name_str, ptr_record->name, MAX_FUNCTION_NAME_LENGTH ); + strcat( name_str, "()" ); + name_str[MAX_FUNCTION_NAME_LENGTH] = '\0'; + strncpy( parms_str, &( ptr_record->params[2] ), MAX_PARAMS_LENGTH ); + parms_str[MAX_PARAMS_LENGTH] = '\0'; + + if ( ptr_record->params[0] == 'm' ) + { + strcpy( type_str, "malloc" ); + } + else + { + strcpy( type_str, "calloc" ); + } + + sprintf( line_str, "%d", ptr_record->lineno ); + + /* prepare average usage & memory size strings */ + sprintf( usage_str, "%d%%", (int) ( ((float)ptr_record->total_used_size / (ptr_record->total_block_size + 1)) * 100.0f ) ); + + if ( ptr_record->noccurances > 1 ) + { + sprintf( size_str, "%dx%d %s", ptr_record->noccurances, (int) ( (ptr_record->noccurances * ptr_record->wc_heap_size_intra_frame) >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + else + { + sprintf( size_str, "%d %s", (int) ( ptr_record->wc_heap_size_intra_frame >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + } + + sprintf( buf, format_str, name_str, line_str, type_str, parms_str, size_str, usage_str ); + puts( buf ); } } + + fprintf( stdout, "\n" ); } - for (j = 0; j < 2; j++) + if ( n_items_wc_inter_frame_heap > 0 ) { - if ( !flag_intra_frame_memory ) + /* Inter-Frame Heap Size */ + fprintf( stdout, "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); + + /* Find duplicate records (same hash and worst-case heap size) */ + for ( i = 0; i < n_items_wc_inter_frame_heap; i++ ) { - if ( j == 0 ) - { - /* Total Heap Size */ - fprintf( stdout, "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); - } - else + index_record = list_wc_inter_frame_heap[i]; + if (index_record == -1) { continue; } - } - else - { - if ( j == 0 ) - { - /* Intra-Frame Heap Size */ - fprintf( stdout, "\nList of memory blocks when maximum intra-frame heap size is reached:\n\n" ); - } - else + ptr_record = &( allocation_list[index_record] ); + ptr_record->noccurances = 1; /* reset the counter because som blocks may be both, intra-frame and inter-frame */ + for ( j = i + 1; j < n_items_wc_inter_frame_heap; j++ ) { - /* Inter-Frame Heap Size */ - fprintf( stdout, "\nList of memory blocks when maximum inter-frame heap size is reached:\n\n" ); + index = list_wc_inter_frame_heap[j]; + if (index == -1) + { + continue; + } + ptr = &( allocation_list[index] ); + + if ( ptr->hash == ptr_record->hash && ptr->wc_heap_size_inter_frame == ptr_record->wc_heap_size_inter_frame ) + { + ptr_record->noccurances++; + list_wc_inter_frame_heap[j] = -1; + } } } /* Print Header */ - sprintf(buf, format_str, "Function Name", "Line", "Type", "Function Parameters", "Maximum Size", "Usage"); - puts(buf); - length = strlen(buf); - sprintf(buf, "%0*d\n", (int)length - 1, 0); - subst(buf, '0', '-'); - puts(buf); - - /* Print all Records */ - for (i = 0; i < Num_Records; i++) + sprintf( buf, format_str, "Function Name", "Line", "Type", "Function Parameters", "Maximum Size", "Usage" ); + puts( buf ); + length = strlen( buf ); + sprintf( buf, "%0*d\n", (int) length - 1, 0 ); + subst( buf, '0', '-' ); + puts( buf ); + + for ( i = 0; i < n_items_wc_inter_frame_heap; i++ ) { - record_ptr = &(allocation_list[i]); + index_record = list_wc_inter_frame_heap[i]; - if ( ( !flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size[1] > 0 ) || - ( flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size_intra_frame[1] > 0 ) || - ( flag_intra_frame_memory && j == 1 && record_ptr->wc_heap_size_inter_frame[1] > 0 ) - ) + if ( index_record != -1 ) { - strncpy(name_str, record_ptr->name, MAX_FUNCTION_NAME_LENGTH); + /* get the record */ + ptr_record = &( allocation_list[index_record] ); + + /* prepare information strings */ + strncpy( name_str, ptr_record->name, MAX_FUNCTION_NAME_LENGTH ); strcat( name_str, "()" ); name_str[MAX_FUNCTION_NAME_LENGTH] = '\0'; - strncpy(parms_str, &(record_ptr->params[2]), MAX_PARAMS_LENGTH); + strncpy( parms_str, &( ptr_record->params[2] ), MAX_PARAMS_LENGTH ); parms_str[MAX_PARAMS_LENGTH] = '\0'; - if (record_ptr->params[0] == 'm') + if ( ptr_record->params[0] == 'm' ) { - strcpy(type_str, "malloc"); + strcpy( type_str, "malloc" ); } else { - strcpy(type_str, "calloc"); + strcpy( type_str, "calloc" ); } - sprintf(usage_str, "%d%%", (int)(record_ptr->ave_usage * 100.0f)); - sprintf(line_str, "%d", record_ptr->lineno); + sprintf( line_str, "%d", ptr_record->lineno ); + + /* prepare average usage & memory size strings */ + sprintf( usage_str, "%d%%", (int) ( ( (float) ptr_record->total_used_size / ( ptr_record->total_block_size + 1 ) ) * 100.0f ) ); - if ( !flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size[1] > 0 ) + if ( ptr_record->noccurances > 1 ) { - if ( record_ptr->wc_heap_size[2] > 1 ) - { - sprintf( size_str, "%dx%d %s", record_ptr->wc_heap_size[2], ( int )( record_ptr->wc_heap_size[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); - } - else - { - sprintf( size_str, "%d %s", (int) ( record_ptr->wc_heap_size[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); - } + sprintf( size_str, "%dx%d %s", ptr_record->noccurances, (int) ( ( ptr_record->noccurances * ptr_record->wc_heap_size_inter_frame ) >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); } - else if ( flag_intra_frame_memory && j == 0 && record_ptr->wc_heap_size_intra_frame[1] > 0 ) + else { - if ( record_ptr->wc_heap_size_intra_frame[2] > 1 ) - { - sprintf( size_str, "%dx%d %s", record_ptr->wc_heap_size_intra_frame[2], ( int )( record_ptr->wc_heap_size_intra_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); - } - else - { - sprintf( size_str, "%d %s", (int) ( record_ptr->wc_heap_size_intra_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); - } - } - else if ( flag_intra_frame_memory && j == 1 && record_ptr->wc_heap_size_inter_frame[1] > 0 ) - { - if ( record_ptr->wc_heap_size_inter_frame[2] > 1 ) - { - sprintf( size_str, "%dx%d %s", record_ptr->wc_heap_size_inter_frame[2], ( int )( record_ptr->wc_heap_size_inter_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); - } - else - { - sprintf( size_str, "%d %s", (int) ( record_ptr->wc_heap_size_inter_frame[1] >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); - } + sprintf( size_str, "%d %s", (int) ( ptr_record->wc_heap_size_inter_frame >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); } - sprintf(buf, format_str, name_str, line_str, type_str, parms_str, size_str, usage_str); - puts(buf); + sprintf( buf, format_str, name_str, line_str, type_str, parms_str, size_str, usage_str ); + puts( buf ); } } @@ -1573,15 +1782,21 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) if (ptr_base_stack - ptr_max_stack > 0) { fprintf(stdout, "Maximum stack size: %lu %s in frame %d\n", ((ptr_base_stack - ptr_max_stack) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], - wc_frame); + wc_stack_frame); } else { fprintf( stdout, "Maximum stack size: not available\n" ); } + /* last update of intra-frame memory and inter-frame memory, if needed */ + if ( heap_allocation_call_tree_size > 0 ) + { + update_mem(); + } + /* check, if all memory blocks have been deallocated (freed) */ - for (i = 0; i < Num_Records; i++) + for ( i = 0; i < Num_Records; i++ ) { if (allocation_list[i].block_ptr != NULL) { @@ -1590,23 +1805,22 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) } } - if ( wc_heap_size[1] > 0 ) + if ( n_items_wc_intra_frame_heap > 0 ) { - if ( wc_heap_size_intra_frame[1] > 0 ) - { - fprintf( stdout, "Maximum intra-frame heap size: %d %s in frame %d\n", wc_heap_size_intra_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_intra_frame[0] ); - fprintf( stdout, "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size_inter_frame[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size_inter_frame[0] ); - } - else - { - fprintf( stdout, "Maximum intra-frame heap size: 0\n" ); - fprintf( stdout, "Maximum inter-frame heap size: %d %s in frame %d\n", wc_heap_size[1] >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_heap_size[0] ); - } + fprintf( stdout, "Maximum intra-frame heap size: %d %s in frame %d\n", size_wc_intra_frame_heap >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], location_wc_intra_frame_heap ); } else { - fprintf( stdout, "Maximum intra-frame heap size: not available\n" ); - fprintf( stdout, "Maximum inter-frame heap size: not available\n" ); + fprintf( stdout, "Maximum intra-frame heap size: 0\n" ); + } + + if ( n_items_wc_inter_frame_heap > 0 ) + { + fprintf( stdout, "Maximum inter-frame heap size: %d %s in frame %d\n", size_wc_inter_frame_heap >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], location_wc_inter_frame_heap ); + } + else + { + fprintf( stdout, "Maximum inter-frame heap size: 0\n" ); } #ifdef MEM_COUNT_DETAILS @@ -1617,10 +1831,7 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) } /* Print detailed information about worst-case heap usage */ - if ( wc_heap_size[1] > 0 ) - { - mem_count_summary(); - } + mem_count_summary(); #endif if (Stat_Cnt_Size > 0) @@ -1629,7 +1840,7 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) fprintf( stdout, "This is an optimistic estimate of memory consumption assuming that each variable type is stored with sizeof(type) bits\n" ); } - if ( wc_heap_size[1] > 0 ) + if ( n_items_wc_intra_frame_heap > 0 ) { fprintf( stdout, "Intra-frame heap memory is allocated and de-allocated in the same frame\n" ); } @@ -1640,6 +1851,28 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) free(allocation_list); } + /* De-allocate heap allocation call tree */ + if ( heap_allocation_call_tree != NULL ) + { + free( heap_allocation_call_tree ); + } + + /* De-allocate intra-frame and inter-frame heap lists */ + if ( list_wc_intra_frame_heap != NULL ) + { + free( list_wc_intra_frame_heap ); + } + + if ( list_current_inter_frame_heap != NULL ) + { + free( list_current_inter_frame_heap ); + } + + if ( list_wc_inter_frame_heap != NULL ) + { + free( list_wc_inter_frame_heap ); + } + return; } diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 1b774e4247..9973afc3df 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -28,28 +28,6 @@ #define NUM_INST 20 /* Total number of instruction types (in enum below) */ -/* inline function for memset in combination with float pointer */ -#define SET_FLOAT(ptr,value,num) \ -{ \ - int i; \ - LOOP(1); MOVE(num); \ - for (i=0; i < num; i++) \ - { \ - ptr[i] = value; \ - } \ -} - -/* inline function for memset in combination with integer */ -#define SET_INT(ptr,value,num) \ -{ \ - int i; \ - LOOP(1); MOVE(num); \ - for (i=0; i < num; i++) \ - { \ - ptr[i] = value; \ - } \ -} - #ifdef WMOPS enum instructions {_ADD,_ABS, _MULT, _MAC, _MOVE, _STORE, _LOGIC, _SHIFT, _BRANCH, _DIV, _SQRT, _TRANS, _FUNC, _LOOP, _INDIRECT, _PTR_INIT, _TEST, _POWER, _LOG, _MISC}; @@ -137,6 +115,7 @@ void reset_wmops (void); void push_wmops (const char *label); void pop_wmops (void); void update_wmops (void); +void update_mem( void ); void print_wmops (void); #else /* WMOPS counting disabled */ @@ -146,6 +125,7 @@ extern int cntr_push_pop; #define push_wmops(x) (cntr_push_pop++) #define pop_wmops() (cntr_push_pop--) #define update_wmops() (assert(cntr_push_pop == 0)) +#define update_mem() #define print_wmops() #define ADD(x) -- GitLab From 9531055704b6e7a1874dfc7c421c8cc96034aec3 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Mon, 5 Dec 2022 13:47:36 +0100 Subject: [PATCH 248/620] fix clang-format problem --- lib_dec/ivas_mc_param_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 5f1f705a65..90dee22031 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -1613,7 +1613,7 @@ static void ivas_param_mc_get_mixing_matrices( matrix_product( proto_matrix_ptr, nY_band, nX, 0, Cx, nX, nX, 0, mat_mult_buffer1 ); matrix_product_diag( mat_mult_buffer1, nY_band, nX, 0, proto_matrix_ptr, nY_band, nX, 1, Cproto_diag ); - + #ifdef FIX_I220_PARAMMC_CPROTO /* make sure we have no negative entries in Cproto_diag due to rounding errors */ for ( ch_idx1 = 0; ch_idx1 < nY_band; ch_idx1++ ) -- GitLab From b8241ded67089c5d88aa8ff510dd8a91c6f36e8c Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 5 Dec 2022 14:49:16 +0100 Subject: [PATCH 249/620] fixing TD object renderer --- .../renderer_standalone.c | 44 +++++++++++-------- 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index e33ee38839..e4572d3b91 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -137,9 +137,13 @@ int main( int argc, char *argv[] ) Decoder_Struct st_ivas_static; Decoder_Struct *st_ivas = &st_ivas_static; - MixFrame = count_malloc( 2 * L_FRAME48k * sizeof( float ) ); - MixFrameWav = count_malloc( 2 * L_FRAME48k * sizeof( int16_t ) ); - input_buff = count_malloc( MAX_CICP_CHANNELS * L_FRAME48k * sizeof( int16_t ) ); +#ifdef WMOPS + reset_mem( USE_32BITS ); +#endif + + MixFrame = malloc_( 2 * L_FRAME48k * sizeof( float ) ); + MixFrameWav = malloc_( 2 * L_FRAME48k * sizeof( int16_t ) ); + input_buff = malloc_( MAX_CICP_CHANNELS * L_FRAME48k * sizeof( int16_t ) ); nChannels = 0; #ifdef FIX_I214_CLIPPING_STANDALONE_REND noClipping = 0; @@ -155,7 +159,6 @@ int main( int argc, char *argv[] ) f_metadata[i] = NULL; } - /*------------------------------------------------------------------------------------------* * Struct initializations *------------------------------------------------------------------------------------------*/ @@ -164,7 +167,7 @@ int main( int argc, char *argv[] ) st_ivas->hHeadTrackData = NULL; st_ivas->ivas_format = ISM_FORMAT; f_quat_traj = NULL; - if ( ( st_ivas->hDecoderConfig = (DECODER_CONFIG_HANDLE) count_malloc( sizeof( DECODER_CONFIG ) ) ) == NULL ) + if ( ( st_ivas->hDecoderConfig = (DECODER_CONFIG_HANDLE) malloc_( sizeof( DECODER_CONFIG ) ) ) == NULL ) { return IVAS_ERR_FAILED_ALLOC; } @@ -283,7 +286,7 @@ int main( int argc, char *argv[] ) fprintf( stderr, "\nError: Unable to open metadata file %s \n\n", argv[i] ); exit( -1 ); } - st_ivas->hIsmMetaData[j] = (ISM_METADATA_HANDLE) count_malloc( sizeof( ISM_METADATA_FRAME ) ); + st_ivas->hIsmMetaData[j] = (ISM_METADATA_HANDLE) malloc_( sizeof( ISM_METADATA_FRAME ) ); i++; } } @@ -316,11 +319,10 @@ int main( int argc, char *argv[] ) usage_rend(); } - if ( f_quat_traj != NULL ) { st_ivas->hDecoderConfig->Opt_Headrotation = 1; - if ( ( st_ivas->hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) count_malloc( sizeof( HEAD_TRACK_DATA ) ) ) == NULL ) + if ( ( st_ivas->hHeadTrackData = (HEAD_TRACK_DATA_HANDLE) malloc_( sizeof( HEAD_TRACK_DATA ) ) ) == NULL ) { fprintf( stderr, "Can not allocate memory for head-tracking\n" ); exit( -1 ); @@ -354,6 +356,7 @@ int main( int argc, char *argv[] ) /*------------------------------------------------------------------------------------------* * Main rendering loop *------------------------------------------------------------------------------------------*/ + fprintf( stdout, "Rendering...\n" ); while ( 1 ) { @@ -511,6 +514,10 @@ int main( int argc, char *argv[] ) fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength - offset ) * NumLdspks, f_output ); #endif +#ifdef WMOPS + update_wmops(); +#endif + nFrameCount++; frame++; @@ -527,12 +534,12 @@ int main( int argc, char *argv[] ) fclose( f_input ); fclose( f_output ); - count_free( MixFrame ); - count_free( MixFrameWav ); - count_free( input_buff ); + free_( MixFrame ); + free_( MixFrameWav ); + free_( input_buff ); ivas_td_binaural_close( &st_ivas->hBinRendererTd ); - count_free( st_ivas->hDecoderConfig ); + free_( st_ivas->hDecoderConfig ); st_ivas->hHrtfTD = NULL; /* ISM metadata handles */ @@ -540,23 +547,19 @@ int main( int argc, char *argv[] ) { if ( st_ivas->hIsmMetaData[n] != NULL ) { - count_free( st_ivas->hIsmMetaData[n] ); + free_( st_ivas->hIsmMetaData[n] ); st_ivas->hIsmMetaData[n] = NULL; } } if ( st_ivas->hHeadTrackData != NULL ) { - count_free( st_ivas->hHeadTrackData ); + free_( st_ivas->hHeadTrackData ); fclose( f_quat_traj ); } ivas_limiter_close( &st_ivas->hLimiter ); -#ifdef RAM_COUNTING_TOOL - mem_count_summary( USE_DEFAULT ); -#endif - #ifdef DEBUGGING dbgclose(); #endif @@ -568,6 +571,11 @@ int main( int argc, char *argv[] ) fprintf( stderr, "*** Clipping on %d samples.\n", noClipping ); } #endif + +#ifdef WMOPS + print_mem( NULL ); +#endif + /* system( "pause" ); */ return 0; } -- GitLab From e4b8599597ec0798107ad2f02a2af4debb67821f Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 5 Dec 2022 15:06:04 +0100 Subject: [PATCH 250/620] fixing CREND unit test --- .../tests/unit_tests/crend/ivas_crend_unit_test.c | 5 +++-- .../tests/unit_tests/crend/ivas_crend_utest_utils.c | 5 +++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c index 82d365ea26..882ccec11c 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_unit_test.c @@ -51,6 +51,7 @@ #include "ivas_prox_mix.h" #include "prot.h" #include "ivas_prot.h" +#include "wmc_auto.h" #if defined( __unix__ ) || defined( __unix ) || defined( __APPLE__ ) || defined( __CYGWIN__ ) #define USE_DIRENT @@ -702,7 +703,7 @@ int main( int argc, char **argv ) } #ifdef WMOPS - rest_mem( USE_32BITS ); + reset_mem( USE_32BITS ); #endif switch ( io_params.test ) @@ -727,7 +728,7 @@ int main( int argc, char **argv ) FILES_CLOSE; #ifdef WMOPS - print_mem(); + print_mem( NULL ); #endif return 0; diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index 69f5f99556..b4d283e0bc 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -62,6 +62,7 @@ #include "head_rotation_file_reader.h" #include "options.h" #include "render_config_reader.h" +#include "wmc_auto.h" static ivas_result_t ivas_dec_default_io_params( ivas_dec_io_params_t *pIO_params ) @@ -1556,6 +1557,10 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl fprintf( stdout, "Processed frame: %ld\r", (long) frame_count ); frame_count++; + +#ifdef WMOPS + update_wmops(); +#endif } int16_t pcm[MAX_OUTPUT_CHANNELS] = { 0 }; -- GitLab From 6c0c3da989a66a5f41a3d085338849cb8f230e06 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Mon, 5 Dec 2022 12:40:55 +0100 Subject: [PATCH 251/620] update is_number() function (cherry picked from commit f55e16cfc318b16a51bd3454d32a0fcc5c18c2af) --- lib_util/cmdl_tools.c | 47 +++++++++++++++++++++++++++++++++++++++---- lib_util/cmdl_tools.h | 4 ++-- 2 files changed, 45 insertions(+), 6 deletions(-) diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index d0d2d0d374..593409456a 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -62,7 +62,7 @@ char *to_upper( char *str ) * Check if a string contains only digits. *---------------------------------------------------------------------*/ -bool is_digits_only( char *str ) +bool is_digits_only( const char *str ) { int16_t i; @@ -86,19 +86,58 @@ bool is_digits_only( char *str ) * Check if a string is a number. *---------------------------------------------------------------------*/ -bool is_number( char *str ) +bool is_number( const char *str ) { int16_t i; + int16_t decimal_separator_count; + int16_t numeric_len; i = 0; + decimal_separator_count = 0; + numeric_len = 0; + + /* Check for null string or sign character */ + if ( str[i] == '\0' ) + { + return false; + } + else if ( str[i] == '+' || str[i] == '-' ) + { + i++; + } + + /* Ensure rest of string is numeric and only one decimal separator is present */ while ( str[i] != 0 ) { - if ( ( str[i] < '0' || str[i] > '9' ) && str[i] != '.' && str[i] != '-' && str[i] != '\n' && str[i] != '\r' ) + if ( str[i] < '0' || str[i] > '9' ) { - return false; + if ( str[i] == '.' ) + { + if ( decimal_separator_count > 1 ) + { + return false; + } + else + { + decimal_separator_count++; + } + } + else if ( str[i] != '\r' && str[i] != '\n' ) + { + return false; + } + } + else + { + numeric_len++; } i++; } + if ( numeric_len == 0 ) + { + return false; + } + return true; } diff --git a/lib_util/cmdl_tools.h b/lib_util/cmdl_tools.h index 829ec985b0..52b6e69453 100644 --- a/lib_util/cmdl_tools.h +++ b/lib_util/cmdl_tools.h @@ -36,9 +36,9 @@ #include <stdbool.h> #include <stdint.h> -bool is_digits_only( char *str ); +bool is_digits_only( const char *str ); -bool is_number( char *str ); +bool is_number( const char *str ); char *to_upper( char *str ); -- GitLab From 7ba34e4b1452a7c213134dee1a7eee8469248ba9 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Mon, 5 Dec 2022 12:46:34 +0100 Subject: [PATCH 252/620] minor modification for readability (cherry picked from commit c598d237314b7050745eff5927f1d209e34709c0) --- lib_util/cmdl_tools.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib_util/cmdl_tools.c b/lib_util/cmdl_tools.c index 593409456a..d36112f8a3 100644 --- a/lib_util/cmdl_tools.c +++ b/lib_util/cmdl_tools.c @@ -88,12 +88,12 @@ bool is_digits_only( const char *str ) bool is_number( const char *str ) { + bool decimal_separator_found; int16_t i; - int16_t decimal_separator_count; int16_t numeric_len; + decimal_separator_found = false; i = 0; - decimal_separator_count = 0; numeric_len = 0; /* Check for null string or sign character */ @@ -113,13 +113,13 @@ bool is_number( const char *str ) { if ( str[i] == '.' ) { - if ( decimal_separator_count > 1 ) + if ( decimal_separator_found ) { return false; } else { - decimal_separator_count++; + decimal_separator_found = true; } } else if ( str[i] != '\r' && str[i] != '\n' ) -- GitLab From 7531cd4abd580486bc7574f5fa552aa9c755ac34 Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Tue, 6 Dec 2022 08:09:43 +1100 Subject: [PATCH 253/620] Move check of is_number earlier in the logic to fail early --- apps/encoder.c | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index b53a97fa93..476d3a1936 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1354,12 +1354,20 @@ static bool parseCmdlIVAS_enc( arg->inputFormat = IVAS_ENC_INPUT_SBA; /* SBA configuration */ - if ( i < argc - 4 ) + if ( i < argc - 4 +#ifdef IMPROVE_CMDLINE_ROBUSTNESS + && is_number(argv[i]) && sscanf( argv[i], "%d", &tmp ) > 0 +#endif + ) { +#ifndef IMPROVE_CMDLINE_ROBUSTNESS if ( sscanf( argv[i], "%d", &tmp ) > 0 ) { +#endif i++; +#ifndef IMPROVE_CMDLINE_ROBUSTNESS } +#endif } else { @@ -1384,19 +1392,7 @@ static bool parseCmdlIVAS_enc( arg->inputFormatConfig.sba.order = IVAS_ENC_SBA_HOA3; break; default: - -#ifdef IMPROVE_CMDLINE_ROBUSTNESS - if ( is_number( argv[i - 1] ) ) - { - fprintf( stderr, "Error: Wrong SBA order specified!\n\n" ); - } - else - { - fprintf( stderr, "Error: SBA order specified must be a number!\n\n" ); - } -#else fprintf( stderr, "Error: Wrong SBA order specified!\n\n" ); -#endif usage_enc(); return false; } -- GitLab From 36f5a1fc018e3208d619963242031cfc787fda64 Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Tue, 6 Dec 2022 08:18:31 +1100 Subject: [PATCH 254/620] Clang format fixes --- apps/encoder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index 476d3a1936..a91532f9e6 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1354,9 +1354,9 @@ static bool parseCmdlIVAS_enc( arg->inputFormat = IVAS_ENC_INPUT_SBA; /* SBA configuration */ - if ( i < argc - 4 + if ( i < argc - 4 #ifdef IMPROVE_CMDLINE_ROBUSTNESS - && is_number(argv[i]) && sscanf( argv[i], "%d", &tmp ) > 0 + && is_number( argv[i] ) && sscanf( argv[i], "%d", &tmp ) > 0 #endif ) { -- GitLab From 9f78bff539df1b704188ba887ce23583d42cb1a6 Mon Sep 17 00:00:00 2001 From: Stefan Doehla <stefan.doehla@iis.fraunhofer.de> Date: Mon, 5 Dec 2022 23:19:25 +0000 Subject: [PATCH 255/620] Band aid for Issue #150 - should correspond to legacy behavior using globals --- lib_com/hq2_bit_alloc.c | 17 ++++++++++++++++- lib_com/options.h | 2 +- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/lib_com/hq2_bit_alloc.c b/lib_com/hq2_bit_alloc.c index b46f54480e..bfc11a5cd8 100644 --- a/lib_com/hq2_bit_alloc.c +++ b/lib_com/hq2_bit_alloc.c @@ -375,6 +375,13 @@ void hq2_bit_alloc_har( Word32 L_y[BANDS_MAX]; +#ifdef FIX_150 +#ifdef BASOP_NOGLOB + Flag Overflow; + Overflow = 0; +#endif +#endif + grp_rngmax_fx[0] = 0; grp_rngmax_fx[1] = 0; @@ -639,8 +646,16 @@ void hq2_bit_alloc_har( L_temp = Mpy_32_16( L_Ravg_sub[GRP_SB - 1], sub( GRP_SB, 1 ) ); /* Qbe+0+1 */ L_temp = Mpy_32_16( L_temp, Inv_norm_sum_fx ); /* Qbe+1+QIpb+1 */ +#ifdef FIX_150 +#ifdef BASOP_NOGLOB + lf_hf_ge_r_fx = round_fx_o( L_shl_o( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ), &Overflow ), &Overflow ); + Overflow = 0; /* reset BASOP Overflow */ +#else + lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); +#endif +#else lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); - +#endif exp_normn = norm_s( norm_sum_fx ); exp_normn = sub( exp_normn, 1 ); exp_normd = norm_s( harmonic_band_fx ); diff --git a/lib_com/options.h b/lib_com/options.h index b5063ecf39..37940bd272 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,7 +175,7 @@ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ - +#define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ -- GitLab From 939dc7fca7d6399e3cc5bc81a33a89dad17b784a Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Tue, 6 Dec 2022 09:23:49 +0100 Subject: [PATCH 256/620] - removed cldfb analysis/synthesis reset after MC reconfig - removed special handling of McMASA in corecoder bitrate switching and merged the operations more in the common flow --- lib_dec/ivas_corecoder_dec_reconfig.c | 235 ++----------- lib_dec/ivas_mct_dec.c | 13 +- lib_enc/ivas_corecoder_enc_reconfig.c | 457 ++++++-------------------- 3 files changed, 132 insertions(+), 573 deletions(-) diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 479ed862af..f2f37e1180 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -60,7 +60,7 @@ ivas_error ivas_corecoder_dec_reconfig( const int16_t nCPE_old, /* i : number of CPEs in previous frame */ const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ - const int32_t brate_SCE, /* i : bitrate to be set for the SCEs      */ + const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ #else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ @@ -93,8 +93,8 @@ ivas_error ivas_corecoder_dec_reconfig( /* remove dummy CPE element for DFT stereo-like upmix */ #ifdef MCMASA_BITRATE_SWITCHING - if ( ( ( st_ivas->ivas_format == SBA_FORMAT ) && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) || - ( ( st_ivas->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCMASA ) && sba_dirac_stereo_flag_old ) ) + if ( ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) || + ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) #endif @@ -115,215 +115,28 @@ ivas_error ivas_corecoder_dec_reconfig( } #ifdef MCMASA_BITRATE_SWITCHING - if ( ( st_ivas->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCMASA ) ) - { - float *save_synth, *save_hb_synth; - save_synth = NULL; - save_hb_synth = NULL; - - /* McMASA specific handling: delete anything old and create completely new ones. - * sba_dirac_stereo_flag: STEREO rendering from 1 transport channel with low delay using DFT stereo */ - if ( ( nSCE_old > 0 ) && sba_dirac_stereo_flag_old && st_ivas->sba_dirac_stereo_flag ) - { - /* save the old buffers, if they exist */ - save_synth = st_ivas->hSCE[0]->save_synth; - save_hb_synth = st_ivas->hSCE[0]->save_hb_synth; - st_ivas->hSCE[0]->save_synth = NULL; - st_ivas->hSCE[0]->save_hb_synth = NULL; - } - - for ( sce_id = 0; sce_id < nSCE_old; sce_id++ ) - { - destroy_sce_dec( st_ivas->hSCE[sce_id] ); - st_ivas->hSCE[sce_id] = NULL; - } - for ( cpe_id = 0; cpe_id < nCPE_old; cpe_id++ ) - { - destroy_cpe_dec( st_ivas->hCPE[cpe_id] ); - st_ivas->hCPE[cpe_id] = NULL; - } - for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) - { - if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) - { - return error; - } - if ( ( sce_id == 0 ) && sba_dirac_stereo_flag_old && st_ivas->sba_dirac_stereo_flag ) - { - /* replace the newly created buffers with the old ones */ - if ( st_ivas->hSCE[0]->save_synth != NULL ) - { - count_free( st_ivas->hSCE[0]->save_synth ); - st_ivas->hSCE[0]->save_synth = NULL; - } - if ( st_ivas->hSCE[0]->save_hb_synth != NULL ) - { - count_free( st_ivas->hSCE[0]->save_hb_synth ); - st_ivas->hSCE[0]->save_hb_synth = NULL; - } - st_ivas->hSCE[0]->save_synth = save_synth; - st_ivas->hSCE[0]->save_hb_synth = save_hb_synth; - } - } - for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) - { - if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - else - { - /* non-McMASA */ - if ( ( st_ivas->nSCE == nSCE_old ) && ( st_ivas->nCPE == nCPE_old ) ) - { - for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) - { - st_ivas->hSCE[sce_id]->element_brate = brate_SCE; - st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ - } - - for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) - { - st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; - - /* prepare bitstream buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ - } - } - - if ( st_ivas->nCPE > 1 ) - { - if ( ( error = mct_dec_reconfigure( st_ivas, 0 ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - else - { - nSCE_existing = min( nSCE_old, st_ivas->nSCE ); - nCPE_existing = min( nCPE_old, st_ivas->nCPE ); - - // VE: TBV - try to reuse the CoreCoder - /* destroy superfluous core coder elements */ - for ( sce_id = st_ivas->nSCE; sce_id < nSCE_old; sce_id++ ) - { - destroy_sce_dec( st_ivas->hSCE[sce_id] ); - st_ivas->hSCE[sce_id] = NULL; - } - - for ( cpe_id = st_ivas->nCPE; cpe_id < nCPE_old; cpe_id++ ) - { - destroy_cpe_dec( st_ivas->hCPE[cpe_id] ); - st_ivas->hCPE[cpe_id] = NULL; - } - - if ( st_ivas->nCPE <= 1 && st_ivas->hMCT != NULL ) - { - ivas_mct_dec_close( &st_ivas->hMCT ); - } - - /* special case, if we have MCT now and had a single CPE before, remove the MDCT Stereo handles from the first CPE*/ - if ( st_ivas->nCPE > 1 && nCPE_old == 1 ) - { - count_free( st_ivas->hCPE[0]->hStereoMdct ); - st_ivas->hCPE[0]->hStereoMdct = NULL; - } - - for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) - { - st_ivas->hSCE[sce_id]->element_brate = brate_SCE; - st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ - } - for ( ; sce_id < st_ivas->nSCE; sce_id++ ) - { - if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) - { - st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; - - /* prepare bitstream buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ - } - } - for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) - { - if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - if ( st_ivas->nCPE > 1 && nCPE_old <= 1 ) - { - if ( nCPE_old == 1 ) - { - /* set correct nominal bitrates and igf config already here, needed for the correct init of the MDCT Stereo handles for MCT */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->total_brate = st_ivas->hCPE[0]->element_brate; - st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal = (int16_t) ( st_ivas->hCPE[0]->element_brate / FRAMES_PER_SEC ); - st_ivas->hCPE[0]->hCoreCoder[n]->igf = 0; - } - } - - if ( ( error = create_mct_dec( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else if ( st_ivas->hMCT != NULL && st_ivas->nCPE > 1 ) - { - if ( ( error = mct_dec_reconfigure( st_ivas, st_ivas->nchan_transport != nchan_transport_old ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - /* special case, if we have a single CPE and had MCT before we need to init the MDCT stereo handles here */ - if ( st_ivas->nCPE == 1 && nCPE_old > 1 ) - { - if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_DEC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_DEC_DATA ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); - } - - st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->use_itd = 0; - st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0; - st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f; - - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - /* reset mct_chan_mode */ - st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; - } - } - } - } + if ( st_ivas->nchan_transport == nchan_transport_old && st_ivas->nSCE == nSCE_old && st_ivas->nCPE == nCPE_old ) #else if ( st_ivas->nchan_transport == nchan_transport_old ) +#endif { for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; +#else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; +#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; +#else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; - +#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { @@ -372,12 +185,20 @@ ivas_error ivas_corecoder_dec_reconfig( for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; +#else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; +#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( ; sce_id < st_ivas->nSCE; sce_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) +#else if ( ( error = create_sce_dec( st_ivas, sce_id, ivas_total_brate / st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -385,8 +206,11 @@ ivas_error ivas_corecoder_dec_reconfig( for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; +#else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; - +#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { @@ -395,7 +219,11 @@ ivas_error ivas_corecoder_dec_reconfig( } for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) +#else if ( ( error = create_cpe_dec( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -446,12 +274,11 @@ ivas_error ivas_corecoder_dec_reconfig( } } } -#endif /* create dummy CPE element for DFT stereo-like upmix */ #ifdef MCMASA_BITRATE_SWITCHING - if ( ( ( st_ivas->ivas_format == SBA_FORMAT ) && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) || - ( ( st_ivas->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCMASA ) && st_ivas->sba_dirac_stereo_flag ) ) + if ( ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) || + ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) #endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index e91062ecc2..0c75a1ca65 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -681,6 +681,7 @@ ivas_error ivas_mc_dec_reconfig( { nchan_hp20_old = nchan_transport_old; } + st_ivas->sba_dirac_stereo_flag = 0; /* needs to be after getNumChanSynthesis() */ #endif /* renderer might have changed, reselect */ renderer_type_old = st_ivas->renderer_type; @@ -777,8 +778,8 @@ ivas_error ivas_mc_dec_reconfig( { #ifdef MCMASA_BITRATE_SWITCHING ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), st_ivas->hDecoderConfig->ivas_total_brate ); - #endif + if ( last_mc_mode != MC_MODE_MCMASA ) { if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) @@ -957,10 +958,6 @@ ivas_error ivas_mc_dec_reconfig( } } } - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - cldfb_reset_memory( st_ivas->cldfbAnaDec[i] ); - } #endif /* Synthesis */ if ( numCldfbSyntheses_old > numCldfbSyntheses ) @@ -983,12 +980,6 @@ ivas_error ivas_mc_dec_reconfig( } } } -#ifdef MCMASA_BITRATE_SWITCHING - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - cldfb_reset_memory( st_ivas->cldfbSynDec[i] ); - } -#endif /* Allocate the LFE handle that is coded separately after the allocation of the core coders */ if ( st_ivas->mc_mode == MC_MODE_MCT && st_ivas->hLFE == NULL ) diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index e76a73046a..371a376007 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -98,14 +98,12 @@ ivas_error ivas_corecoder_enc_reconfig( /*-----------------------------------------------------------------* * Switching between SCE(s)/CPE(s)/MCT *-----------------------------------------------------------------*/ - #ifdef MCMASA_BITRATE_SWITCHING - if ( ( st_ivas->nSCE == nSCE_old ) && ( st_ivas->nCPE == nCPE_old ) && ( st_ivas->mc_mode == last_mc_mode ) ) + if ( st_ivas->nchan_transport == nchan_transport_old && st_ivas->nSCE == nSCE_old && st_ivas->nCPE == nCPE_old ) /* in McMASA, nchan_transport may be the same, but nSCE/nCPE differs */ #else if ( st_ivas->nchan_transport == nchan_transport_old ) #endif { - /* transport layout (and mode) stays the same -> take a shortcut in reconfig */ for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); @@ -124,7 +122,6 @@ ivas_error ivas_corecoder_enc_reconfig( #else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; #endif - /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { @@ -145,7 +142,26 @@ ivas_error ivas_corecoder_enc_reconfig( else { #ifdef MCMASA_BITRATE_SWITCHING - /* transport layout changes */ + int16_t nchan_transport_real, nchan_transport_old_real; + if ( last_mc_mode == MC_MODE_MCMASA ) + { + /* in SCE+CPE McMASA nchan_transport is still 2 */ + nchan_transport_old_real = nSCE_old + CPE_CHANNELS * nCPE_old; + } + else + { + nchan_transport_old_real = nchan_transport_old; + } + if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + { + nchan_transport_real = st_ivas->nSCE + CPE_CHANNELS * st_ivas->nCPE; + } + else + { + nchan_transport_real = st_ivas->nchan_transport; + } + + /* something in transport changes */ ind_list = NULL; ind_list_metadata = NULL; #else @@ -154,13 +170,7 @@ ivas_error ivas_corecoder_enc_reconfig( hBstr = NULL; hMetaData = NULL; -#ifdef MCMASA_BITRATE_SWITCHING - /* get the index list pointers - * taking the hBstr from the first active element gets the start of ind_list - * the same for the hMetaData */ -#else /* get the index list pointers */ -#endif if ( nSCE_old ) { hBstr = st_ivas->hSCE[0]->hCoreCoder[0]->hBstr; @@ -179,369 +189,41 @@ ivas_error ivas_corecoder_enc_reconfig( #endif /* save bitstream information */ -#ifdef MCMASA_BITRATE_SWITCHING ind_list = hBstr->ind_list; /* pointer to the beginning of the global list */ -#else - ind_list = hBstr->ind_list; -#endif nb_bits_tot = hBstr->nb_bits_tot; next_ind = hBstr->next_ind; last_ind = hBstr->last_ind; ind_list_metadata = hMetaData->ind_list; /* pointer to the beginning of the global list */ #ifdef MCMASA_BITRATE_SWITCHING - if ( st_ivas->mc_mode == MC_MODE_MCMASA ) + if ( last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) { - int16_t buff_len; - buff_len = L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS ); - - if ( last_mc_mode == MC_MODE_MCMASA ) + /* within McMASA we can modify the transport signals when switching */ + /* copy earlier dmx buffers */ + if ( nSCE_old > 0 ) { - /* copy earlier dmx buffers */ - if ( nSCE_old > 0 ) - { - set_zero( input_buff[0], buff_len ); - mvr2r( st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, input_buff[0], len_inp_memory ); - } - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - set_zero( input_buff[n + 1], buff_len ); - if ( nCPE_old > 0 ) - { - mvr2r( st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, input_buff[n + 1], len_inp_memory ); - } - } - - /* modify the dmx format to match the new one */ - ivas_mcmasa_dmx_modify( buff_len, input_buff, nSCE_old + 2 * nCPE_old, st_ivas->nSCE + 2 * st_ivas->nCPE ); + set_zero( input_buff[0], len_inp_memory ); + mvr2r( st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, input_buff[0], len_inp_memory ); } - - for ( sce_id = 0; sce_id < nSCE_old; sce_id++ ) - { - destroy_sce_enc( st_ivas->hSCE[sce_id] ); - st_ivas->hSCE[sce_id] = NULL; - } - for ( cpe_id = 0; cpe_id < nCPE_old; cpe_id++ ) - { - destroy_cpe_enc( st_ivas->hCPE[cpe_id] ); - st_ivas->hCPE[cpe_id] = NULL; - } - - if ( st_ivas->nSCE ) + for ( n = 0; n < CPE_CHANNELS; n++ ) { - if ( ( error = create_sce_enc( st_ivas, 0, brate_SCE ) ) != IVAS_ERR_OK ) + set_zero( input_buff[n + 1], len_inp_memory ); + if ( nCPE_old > 0 ) { - return error; - } - /* restore information of the bitstream already written */ - st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->ind_list = ind_list + 0 * MAX_NUM_INDICES; - - /* only SCE in use => update bitstream info */ - st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->last_ind = last_ind; - st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->nb_bits_tot = nb_bits_tot; - st_ivas->hSCE[0]->hCoreCoder[0]->hBstr->next_ind = next_ind; - - /* in case of 2+1, this is not really used, but let's keep it for compatibility */ - st_ivas->hSCE[0]->hMetaData->ind_list = ind_list_metadata + 0 * MAX_BITS_METADATA; - reset_indices_enc( st_ivas->hSCE[0]->hMetaData, MAX_BITS_METADATA ); - - if ( last_mc_mode == MC_MODE_MCMASA ) - { - /* restore input buffer */ - mvr2r( input_buff[0], st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, len_inp_memory ); + mvr2r( st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, input_buff[n + 1], len_inp_memory ); } } + ivas_mcmasa_dmx_modify( len_inp_memory, input_buff, nSCE_old + CPE_CHANNELS * nCPE_old, st_ivas->nSCE + CPE_CHANNELS * st_ivas->nCPE ); - if ( st_ivas->nCPE ) - { - if ( st_ivas->hMcMasa->separateChannelEnabled ) - { - st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - } - - if ( ( error = create_cpe_enc( st_ivas, 0, brate_CPE ) ) != IVAS_ERR_OK ) - { - return error; - } - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( 0 * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; - - if ( ( st_ivas->nSCE > 0 ) || ( n > 0 ) ) /* the started bitstream is in SCE or in the first core channel of CPE => reset here */ - { - reset_indices_enc( st_ivas->hCPE[0]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); - } - else - { - /* restore the beginning of the bitstream */ - st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->last_ind = last_ind; - st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; - st_ivas->hCPE[0]->hCoreCoder[n]->hBstr->next_ind = next_ind; - } - if ( hEncoderConfig->Opt_DTX_ON ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->cng_sba_flag = 1; - } - - if ( last_mc_mode == MC_MODE_MCMASA ) - { - /* restore input buffer */ - mvr2r( st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, input_buff[n + 1], len_inp_memory ); - } - } - st_ivas->hCPE[0]->hMetaData->ind_list = ind_list_metadata + st_ivas->nSCE * MAX_NUM_INDICES; - reset_indices_enc( st_ivas->hCPE[0]->hMetaData, MAX_BITS_METADATA ); - } - } /* end of McMASA special handling */ + n_CoreCoder_existing = 0; + } else { - n_CoreCoder_existing = min( st_ivas->nchan_transport, nchan_transport_old ); - - /* destroy superfluous core-coder elements */ - for ( sce_id = st_ivas->nSCE; sce_id < nSCE_old; sce_id++ ) - { - /* save input audio buffers */ - if ( n_CoreCoder_existing > sce_id ) - { - mvr2r( st_ivas->hSCE[sce_id]->hCoreCoder[0]->input_buff, input_buff[sce_id], len_inp_memory ); - } - - destroy_sce_enc( st_ivas->hSCE[sce_id] ); - st_ivas->hSCE[sce_id] = NULL; - } - - for ( cpe_id = st_ivas->nCPE; cpe_id < nCPE_old; cpe_id++ ) - { - /* save input audio buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - if ( n_CoreCoder_existing > cpe_id * CPE_CHANNELS + n ) - { - mvr2r( st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, input_buff[( cpe_id - st_ivas->nCPE ) * CPE_CHANNELS + n], len_inp_memory ); /* TODO VoiceAge: Please check if this should be hCoreCoder[n] */ - } - } - - destroy_cpe_enc( st_ivas->hCPE[cpe_id] ); - st_ivas->hCPE[cpe_id] = NULL; - } - - if ( st_ivas->nCPE <= 1 && st_ivas->hMCT != NULL ) - { - ivas_mct_enc_close( st_ivas->hMCT ); - st_ivas->hMCT = NULL; - } - - /* special case, if we have MCT now and had a single CPE before, remove the MDCT Stereo handles */ - if ( st_ivas->nCPE > 1 && nCPE_old == 1 ) - { - count_free( st_ivas->hCPE[0]->hStereoMdct ); - st_ivas->hCPE[0]->hStereoMdct = NULL; - } - - /* create missing core coder elements and set element bitrates for already existing ones */ - if ( st_ivas->nSCE > 0 ) - { - nSCE_existing = min( nSCE_old, st_ivas->nSCE ); - - for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) - { - copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); - st_ivas->hSCE[sce_id]->element_brate = brate_SCE; - st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ - } - - for ( sce_id = nSCE_existing; sce_id < st_ivas->nSCE; sce_id++ ) - { - if ( ( error = create_sce_enc( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) - { - return error; - } - - /* propagate input audio buffers */ - if ( n_CoreCoder_existing > sce_id ) - { - mvr2r( input_buff[sce_id], st_ivas->hSCE[sce_id]->hCoreCoder[0]->input_buff, len_inp_memory ); - } - - /* prepare bitstream buffers */ - st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->ind_list = ind_list + sce_id * MAX_NUM_INDICES; - - /* only reset indices if it is not the first index list, this already contains the IVAS format bits */ - if ( sce_id > 0 ) - { - reset_indices_enc( st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr, MAX_NUM_INDICES ); - } - else - { - st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->last_ind = last_ind; - st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->nb_bits_tot = nb_bits_tot; - st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->next_ind = next_ind; - } - - st_ivas->hSCE[sce_id]->hMetaData->ind_list = ind_list_metadata + sce_id * MAX_BITS_METADATA; - reset_indices_enc( st_ivas->hSCE[sce_id]->hMetaData, MAX_BITS_METADATA ); - } - } - - if ( st_ivas->nCPE > 0 ) - { - nCPE_existing = min( nCPE_old, st_ivas->nCPE ); - - for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) - { - st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; - - /* prepare bitstream buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - copy_encoder_config( st_ivas, st_ivas->hCPE[cpe_id]->hCoreCoder[n], 0 ); - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ - } - } - - for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) - { - if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) - { - return error; - } - - /* propagate input audio buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - if ( n_CoreCoder_existing > cpe_id * CPE_CHANNELS + n ) - { - mvr2r( input_buff[n], st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, len_inp_memory ); /* TODO VoiceAge: Please check if this should be hCoreCoder[n] */ - } - } - - /* prepare bitstream buffers */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n ) * MAX_NUM_INDICES; - if ( cpe_id * CPE_CHANNELS + n > 0 ) - { - reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); - } - else - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->last_ind = last_ind; - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->next_ind = next_ind; - } - - if ( hEncoderConfig->Opt_DTX_ON ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->cng_sba_flag = 1; - } - } - } - } - - if ( st_ivas->nCPE > 1 && nCPE_old <= 1 ) - { - if ( nCPE_old == 1 ) - { - /* set correct nominal bitrates and igf config already here, needed for the correct init of the MDCT Stereo handles for MCT */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->total_brate = st_ivas->hCPE[0]->element_brate; - - st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal = (int16_t) ( st_ivas->hCPE[0]->element_brate / FRAMES_PER_SEC ); - st_ivas->hCPE[0]->hCoreCoder[n]->igf = getIgfPresent( st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, - st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal * FRAMES_PER_SEC, - st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, - st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode, - st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode ); - - if ( st_ivas->hCPE[0]->hCoreCoder[n]->igf ) - { - IGFEncSetMode( st_ivas->hCPE[0]->hCoreCoder[n]->hIGFEnc, - st_ivas->hCPE[0]->element_brate, - st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, - st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, - st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode ); - } - } - } - - if ( ( error = create_mct_enc( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else if ( st_ivas->hMCT != NULL && st_ivas->nCPE > 1 ) - { - if ( ( error = mct_enc_reconfigure( st_ivas, st_ivas->nchan_transport != nchan_transport_old ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - /* metadata handling for CPEs */ - if ( st_ivas->nCPE > 0 ) - { - if ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData == NULL ) - { - if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData = (BSTR_ENC_HANDLE) count_malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MetaData structure\n" ) ); - } - } - - st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata; - reset_indices_enc( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData, MAX_BITS_METADATA ); - - for ( cpe_id = 0; cpe_id < st_ivas->nCPE - 1; cpe_id++ ) - { - if ( st_ivas->hCPE[cpe_id]->hMetaData != NULL ) - { - count_free( st_ivas->hCPE[cpe_id]->hMetaData ); - st_ivas->hCPE[cpe_id]->hMetaData = NULL; - } - } - } - - /* special case, if we have a single CPE and had MCT before we need to init the MDCT stereo handles here */ - if ( st_ivas->nCPE == 1 && nCPE_old > 1 ) - { - if ( ( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct = (STEREO_MDCT_ENC_DATA_HANDLE) count_malloc( sizeof( STEREO_MDCT_ENC_DATA ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for MDCT Stereo \n" ) ); - } - - /* set correct nominal bitrates and igf config already here, needed for the correct init of the MDCT Stereo handle */ - for ( n = 0; n < CPE_CHANNELS; n++ ) - { - st_ivas->hCPE[0]->hCoreCoder[n]->total_brate = st_ivas->hCPE[0]->element_brate; - - st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal = (int16_t) ( st_ivas->hCPE[0]->element_brate / FRAMES_PER_SEC ); - st_ivas->hCPE[0]->hCoreCoder[n]->igf = getIgfPresent( st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, - st_ivas->hCPE[0]->hCoreCoder[n]->bits_frame_nominal * FRAMES_PER_SEC, - st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, - st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode, - st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode ); - - if ( st_ivas->hCPE[0]->hCoreCoder[n]->igf ) - { - IGFEncSetMode( st_ivas->hCPE[0]->hCoreCoder[n]->hIGFEnc, - st_ivas->hCPE[0]->element_brate, - st_ivas->hCPE[0]->hCoreCoder[n]->bwidth, - st_ivas->hCPE[0]->hCoreCoder[n]->element_mode, - st_ivas->hCPE[0]->hCoreCoder[n]->rf_mode ); - } - - /* reset mct_chan_mode */ - st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; - } - - initMdctStereoEncData( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, hEncoderConfig->max_bwidth, 0, NULL, 1 ); - st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( ( hEncoderConfig->ivas_format == SBA_FORMAT ) && ( st_ivas->nchan_transport == 2 ) ); - } + n_CoreCoder_existing = min( nchan_transport_real, nchan_transport_old_real ); } - } #else n_CoreCoder_existing = min( st_ivas->nchan_transport, nchan_transport_old ); +#endif /* destroy superfluous core-coder elements */ for ( sce_id = st_ivas->nSCE; sce_id < nSCE_old; sce_id++ ) @@ -563,7 +245,7 @@ ivas_error ivas_corecoder_enc_reconfig( { if ( n_CoreCoder_existing > cpe_id * CPE_CHANNELS + n ) { - mvr2r( st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, input_buff[( cpe_id - st_ivas->nCPE ) * CPE_CHANNELS + n], len_inp_memory ); + mvr2r( st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, input_buff[( cpe_id - st_ivas->nCPE ) * CPE_CHANNELS + n], len_inp_memory ); /* TODO VoiceAge: Please check if this should be hCoreCoder[n] */ } } @@ -592,13 +274,21 @@ ivas_error ivas_corecoder_enc_reconfig( for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hSCE[sce_id]->element_brate = brate_SCE; +#else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; +#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( sce_id = nSCE_existing; sce_id < st_ivas->nSCE; sce_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( ( error = create_sce_enc( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) +#else if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate / st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -635,19 +325,44 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; +#else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; - +#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { copy_encoder_config( st_ivas, st_ivas->hCPE[cpe_id]->hCoreCoder[n], 0 ); st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ + +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; + if ( cpe_id * CPE_CHANNELS + n > 0 || ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->nSCE > 0 ) ) + { + reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); + } + else + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->last_ind = last_ind; + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->next_ind = next_ind; + } +#endif } } for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + } + if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) +#else if ( ( error = create_cpe_enc( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -657,15 +372,20 @@ ivas_error ivas_corecoder_enc_reconfig( { if ( n_CoreCoder_existing > cpe_id * CPE_CHANNELS + n ) { - mvr2r( input_buff[n], st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, len_inp_memory ); + mvr2r( input_buff[n], st_ivas->hCPE[cpe_id]->hCoreCoder[0]->input_buff, len_inp_memory ); /* TODO VoiceAge: Please check if this should be hCoreCoder[n] */ } } /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; + if ( cpe_id * CPE_CHANNELS + n > 0 || ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->nSCE > 0 ) ) +#else st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n ) * MAX_NUM_INDICES; if ( cpe_id * CPE_CHANNELS + n > 0 ) +#endif { reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); } @@ -684,6 +404,24 @@ ivas_error ivas_corecoder_enc_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + if ( last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) + { + /* restore modified transport signal */ + if ( st_ivas->nSCE ) + { + mvr2r( input_buff[0], st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, len_inp_memory ); + } + if ( st_ivas->nCPE ) + { + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + mvr2r( input_buff[n + 1], st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, len_inp_memory ); + } + } + } +#endif + if ( st_ivas->nCPE > 1 && nCPE_old <= 1 ) { if ( nCPE_old == 1 ) @@ -735,7 +473,11 @@ ivas_error ivas_corecoder_enc_reconfig( } } +#ifdef MCMASA_BITRATE_SWITCHING + st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata + st_ivas->nSCE * MAX_NUM_INDICES; +#else st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata; +#endif reset_indices_enc( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData, MAX_BITS_METADATA ); for ( cpe_id = 0; cpe_id < st_ivas->nCPE - 1; cpe_id++ ) @@ -785,7 +527,6 @@ ivas_error ivas_corecoder_enc_reconfig( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( ( hEncoderConfig->ivas_format == SBA_FORMAT ) && ( st_ivas->nchan_transport == 2 ) ); } } -#endif return error; } -- GitLab From 8651f70dcceed57581a78ce4144adf229d100da0 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 12:15:53 +0100 Subject: [PATCH 257/620] inclusion of stdio.h and stdlib.h --- lib_debug/wmc_auto.c | 2 +- lib_debug/wmc_auto.h | 179 +++++++++++++++++++++++++++++-------------- 2 files changed, 124 insertions(+), 57 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 8191daefd7..00ef4f1ade 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -519,7 +519,7 @@ void print_wmops(void) * Maximum heap is measured by summing the sizes of all memory blocks allocated by malloc() or calloc() and deallocated by free(). The maximum heap size is * updated each time when the macros malloc_() or calloc_() is invoked. The macros 'malloc_ and calloc_' are inserted automatically during the instrumentation process. * As part of heap measurements, intra-frame heap and inter-frame heap are measured separately. Intra-frame heap refers to heap memory which is allocated and deallocated - * within a single frame. Inter-frame heap, on the contrary, refers to heap memory which is preserved for more than one frame. + * within a single frame. Inter-frame heap, on the contrary, refers to heap memory which is reserved for more than one frame. * * In order to run the memory counting tool the function reset_mem(cnt_size) must be called at the beginning of the encoding/decoding process. * The unit in which memory consumption is reported is set via the parameter 'cnt_size'. It can be set to 0 (bytes), 1 (32b words) or 2 (64b words). diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 9973afc3df..96e7b581d9 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -14,6 +14,15 @@ #ifndef WMOPS_H #define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + /* To Prevent "warning: '$' in identifier or number" message under GCC */ #ifdef __GNUC__ @@ -189,14 +198,6 @@ extern int cntr_push_pop; static double* ops_cnt_ptr = &ops_cnt; #define OP_COUNT_(op, x) (*ops_cnt_ptr+=(op##_C*(x)), inst_cnt[op]+=(x)) -/* #pragma GCC diagnostic is Available from gcc V4.2.4 */ -#if (__GNUC__*10000 + __GNUC_MINOR__*100 + __GNUC_PATCHLEVEL__) >= 40204 -/* Disable Some Warnings with Cygwin gcc Compiler (Only when WMOPS are Activated) */ -/* To Avoid: "warning: suggest parentheses around && within ||" and - "warning: suggest explicit braces to avoid ambiguous else" */ -#pragma GCC diagnostic ignored "-Wparentheses" /* Otherwise use : "-Wno-parentheses" */ -#endif - /******************************************************************/ /* NOTES: */ /* The 'wmc_flag_' flag is global to avoid declaration in every */ @@ -327,60 +328,126 @@ static int wmc_flag_ = 0; #ifdef WMOPS -/* Check if EOF is defined */ -#ifndef EOF -#include <stdio.h> /* required for 'fprintf' */ -#endif +#define ACC 2 +#define MUL 1 -/* Counter Function (should not be called externally!) */ +/* Counting Function (should not be called externally!) */ static void wops_(const char* ops) { char lm = 0; /* lm: Last Operation is Math */ static char lo = 0; /* Last Operation */ -#define ACC 2 -#define MUL 1 + void (*fct)(const char* ops) = wops_; -st: while (*ops != '\0') { - switch (*ops++) { - int cnt; - case '-': for (cnt = 0; ops[cnt] == '>'; cnt++); if (cnt & 1) goto ind; - case '+': lm = 2; if (lo & MUL) { MULT_(-1); MAC_(1); break; } - lo = ACC << 2; case 'U': case 'D': ADD_(1); break; - case '*': lm = 2; if (lo & ACC) { ADD_(-1); MAC_(1); break; } - lo = MUL << 2; MULT_(1); break; - case '/': case '%': lm = 2; DIV_(1); break; - case '&': case '|': case '^': lm = 2; case '~': LOGIC_(1); break; - case '<': case '>': if (*ops != ops[-1]) goto error; ops++; - case -85: case -69: lm = 2; SHIFT_(1); break; - case 'L': case 'G': if (*ops == 't') goto comp; - case 'E': case 'N': if (*ops != 'e') goto error; - comp: ops++; ADD_(1); break; - case '!': MISC_(2); break; - case 'M': MOVE_(1); break; - case 'S': STORE_(1); break; - case 'P': PTR_INIT_(1); break; - case '[': case ']': goto st; - ind: ops++; - case 'I': case '.': INDIRECT_(1); break; - case '=': if (lm) goto st; - case '\0': /* This Cannot Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" - with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct(""); - error: default: - /* The Following Checks are made instead of Including the Required Files to - avoid generating warnings if they are already Included in the Source File */ -#ifdef EOF /* Will exist if <stdio.h> is Included */ - fprintf(stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1); -#ifdef EXIT_FAILURE /* Will exist if <stdlib.h> is Included */ - exit(EXIT_FAILURE); -#endif -#endif - return; /* If no Exit Mechanism, just continue */ - } lm >>= 1; lo >>= 2; -} + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); +error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; } #endif -- GitLab From ecc1306a384d2a030fa04779e9437a24f2e3f26c Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 12:17:36 +0100 Subject: [PATCH 258/620] update of wmc_tool binaries to reflect latest fixes --- scripts/tools/Linux/wmc_tool | Bin 204224 -> 220608 bytes scripts/tools/Win32/wmc_tool.exe | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index 6d8f0f709007a2c2d66bd71821602a081d11bec3..674946491221379fd8c7a611ae23adb023f7cb39 100755 GIT binary patch delta 48265 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 HWmW|M*@_$) delta 35228 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 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index 2db486e5e9..bc39ab105d 100755 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d7f079929453621229f2792937e65f0c71de4f747acd1db4ed61f29fbe8c169 -size 159744 +oid sha256:2059a1e251389164de4aa311e941a7e8c406efa67fd01052a6ea43bba863b5c1 +size 176128 -- GitLab From 253792a65c58f578a1ebc037e82df581c17241b2 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 12:37:51 +0100 Subject: [PATCH 259/620] convert '-' to '_' in Const_Data_Size_xxx strings --- scripts/tools/Linux/wmc_tool | Bin 220608 -> 220608 bytes scripts/tools/Win32/wmc_tool.exe | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/tools/Linux/wmc_tool b/scripts/tools/Linux/wmc_tool index 674946491221379fd8c7a611ae23adb023f7cb39..fa197f0647c5d4fc951fc688cd07695c6b66f1cd 100755 GIT binary patch delta 17163 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%0DE0gM--nxlA=dxz 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 FOaLK$dv^c; delta 17158 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 PK+*7qar><(=4VU*QxD28 diff --git a/scripts/tools/Win32/wmc_tool.exe b/scripts/tools/Win32/wmc_tool.exe index bc39ab105d..2c4859e0e5 100755 --- a/scripts/tools/Win32/wmc_tool.exe +++ b/scripts/tools/Win32/wmc_tool.exe @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2059a1e251389164de4aa311e941a7e8c406efa67fd01052a6ea43bba863b5c1 +oid sha256:85947566be9633b14ed4c2cf0b822333a2820ce02a3675ab837bc32b791790dc size 176128 -- GitLab From 6eb71868be8df78086b1baa155cbe58cc3d2bd64 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 12:43:38 +0100 Subject: [PATCH 260/620] =?UTF-8?q?fix=20warning=20/home/gitlab-runner/bui?= =?UTF-8?q?lds/tCBFNnUz/0/rep/ivas-codec-pc/ivas-codec/lib=5Frend/lib=5Fre?= =?UTF-8?q?nd.c:444:5:=20warning:=20enumeration=20value=20=E2=80=98IVAS=5F?= =?UTF-8?q?REND=5FAUDIO=5FCONFIG=5FLS=5FCUSTOM=E2=80=99=20not=20handled=20?= =?UTF-8?q?in=20switch=20[-Wswitch]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib_rend/lib_rend.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 6827a0f007..cd51a9bf17 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -467,6 +467,8 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( return AUDIO_CONFIG_HOA2; case IVAS_REND_AUDIO_CONFIG_HOA3: return AUDIO_CONFIG_HOA3; + default: + return AUDIO_CONFIG_INVALID; } return AUDIO_CONFIG_INVALID; -- GitLab From 6bf45de52bfaaf59b83701dd4eff0554da283c69 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 13:00:32 +0100 Subject: [PATCH 261/620] removing INTERFRAME_HEAP_MANAGEMENT --- lib_com/options.h | 1 - lib_dec/ivas_dirac_dec.c | 12 ------------ lib_dec/ivas_stat_dec.h | 2 -- 3 files changed, 15 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 1511bb0882..52277eaf6d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -174,7 +174,6 @@ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ -#define INTRAFRAME_HEAP_MANAGEMENT /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 971405d65b..7851acdf7b 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -774,7 +774,6 @@ ivas_error ivas_dirac_dec_config( /* output synthesis */ ivas_dirac_dec_output_synthesis_init( hDirAC, nchan_out_woLFE ); -#ifndef INTRAFRAME_HEAP_MANAGEMENT /* Allocate stack memory */ if ( flag_config != DIRAC_OPEN ) { @@ -784,7 +783,6 @@ ivas_error ivas_dirac_dec_config( ivas_dirac_alloc_mem( hDirAC, st_ivas->renderer_type, &( hDirAC->stack_mem ) ); #else ivas_dirac_alloc_mem( hDirAC, &( hDirAC->stack_mem ) ); -#endif #endif mvs2s( DirAC_block_grouping, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); @@ -1116,9 +1114,7 @@ void ivas_dirac_dec_close( hDirAC->masa_stereo_type_detect = NULL; } -#ifndef INTRAFRAME_HEAP_MANAGEMENT ivas_dirac_free_mem( &( hDirAC->stack_mem ) ); -#endif free( hDirAC ); @@ -1888,11 +1884,7 @@ void ivas_dirac_dec( /* Initialize aux buffers */ hDirAC = st_ivas->hDirAC; -#ifdef INTRAFRAME_HEAP_MANAGEMENT - ivas_dirac_alloc_mem( hDirAC, st_ivas->renderer_type, &DirAC_mem ); -#else DirAC_mem = st_ivas->hDirAC->stack_mem; -#endif reference_power = DirAC_mem.reference_power; reference_power_smooth = DirAC_mem.reference_power + hDirAC->num_freq_bands; @@ -2560,10 +2552,6 @@ void ivas_dirac_dec( } } -#ifdef INTRAFRAME_HEAP_MANAGEMENT - ivas_dirac_free_mem( &DirAC_mem ); -#endif - pop_wmops(); return; diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 62151d812c..e06b62778a 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -698,9 +698,7 @@ typedef struct ivas_dirac_dec_data_structure float *proto_frame_f; float *proto_frame_dec_f; -#ifndef INTRAFRAME_HEAP_MANAGEMENT DIRAC_DEC_STACK_MEM stack_mem; -#endif MASA_STEREO_TYPE_DETECT *masa_stereo_type_detect; int16_t num_ele_spk_no_diffuse_rendering; -- GitLab From 96d8de9f51d1e1ddd89aa9cdc06e56d7f9df74d9 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 13:04:43 +0100 Subject: [PATCH 262/620] activate TEMP_FIX_BSPLINE_MALLOC - temporary fix for CI builds --- lib_com/options.h | 2 +- lib_rend/ivas_objectRenderer_hrFilt.c | 3 ++ lib_rend/ivas_objectRenderer_mix.c | 17 +++++++ lib_util/hrtf_file_reader.c | 66 +++++++++++++++++++++++++++ 4 files changed, 87 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 52277eaf6d..e3be8caad3 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -173,7 +173,7 @@ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ - +#define TEMP_FIX_BSPLINE_MALLOC /* temporary fix for malloc_() free() mismatch reported by the WMC tool */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index c887ae30e6..6b8bc4b07f 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -1189,6 +1189,7 @@ void HRTF_model_precalc( return; } +#ifndef TEMP_FIX_BSPLINE_MALLOC /*-------------------------------------------------------------------* * BSplineModelEvalDealloc() @@ -1262,6 +1263,8 @@ void BSplineModelEvalITDDealloc( return; } +#endif + /*-------------------------------------------------------------------* * SkipSmallest_ValueIndex() diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 8c39670d9b..e25c179924 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -135,6 +135,23 @@ void TDREND_MIX_Dealloc( BSplineModelEvalITDDealloc( &hBinRendererTd->HrFiltSet_p->ModelParamsITD ); } BSplineModelEvalDealloc( &hBinRendererTd->HrFiltSet_p->ModelParams, &hBinRendererTd->HrFiltSet_p->ModelEval ); + +#ifdef TEMP_FIX_BSPLINE_MALLOC + { + ModelParams_t *model = &hBinRendererTd->HrFiltSet_p->ModelParams; + ModelEval_t *modelEval = &hBinRendererTd->HrFiltSet_p->ModelEval; + if ( !model->modelROM ) + { + free_( model->EL_dyn ); + free_( model->ER_dyn ); + } + if ( modelEval != NULL ) + { + free_( modelEval->hrfModL ); + free_( modelEval->hrfModR ); + } + } +#endif } else { diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index a4ea39b298..7fda364291 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -305,6 +305,72 @@ static ivas_error LoadBSplineBinary( return IVAS_ERR_OK; } +#ifdef TEMP_FIX_BSPLINE_MALLOC +/*-------------------------------------------------------------------* + * BSplineModelEvalDealloc() + * + * Deallocate BSpline HR Filter model + --------------------------------------------------------------------*/ + +void BSplineModelEvalDealloc( + ModelParams_t *model, /* i : Model parameters */ + ModelEval_t *modelEval /* i : Model evaluation structure */ +) +{ + /* Allocated in LoadBSplineBinary() */ + int16_t i; + + if ( !model->modelROM ) + { + free( model->elevKSeq_dyn ); + free( model->azim_start_idx_dyn ); + free( model->azimDim2_dyn ); + free( model->azimDim3_dyn ); + free( model->AlphaL_dyn ); + free( model->AlphaR_dyn ); + free( model->azimSegSamples_dyn ); + + free( model->azimShapeIdx_dyn ); + free( model->azimShapeSampFactor_dyn ); + free( model->elevBsShape_dyn ); + + for ( i = 0; i < model->num_unique_azim_splines; i++ ) + { + free( model->azimBsShape_dyn[i] ); + } + free( model->azimBsShape_dyn ); + } + free( (void *) model->azimBsShape ); /* void* cast needed to please both gcc and Visual studio compilers. Deallocating const float** should be fine and gcc agrees, but Visual studio complains. */ + for ( i = 0; i < model->elevDim3; i++ ) + { + free( model->azimKSeq[i] ); + } + free( model->azimKSeq ); + + return; +} + + +/*-------------------------------------------------------------------* + * BSplineModelEvalITDDealloc() + * + * Deallocates the ITD model. + --------------------------------------------------------------------*/ + +void BSplineModelEvalITDDealloc( + ModelParamsITD_t *model /* i : Model parameters */ +) +{ + free( model->elevKSeq_dyn ); + free( model->azimKSeq_dyn ); + free( model->W_dyn ); + free( model->azimBsShape_dyn ); + free( model->elevBsShape_dyn ); + + return; +} + +#endif /*-------------------------------------------------------------------* * TDREND_MIX_LoadHRTF() -- GitLab From 31b662b10ee47f9075d6a983292bef944d1b04cc Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 13:16:07 +0100 Subject: [PATCH 263/620] fix warnings inside TEMP_FIX_BSPLINE_MALLOC --- lib_com/ivas_prot.h | 6 ++++-- lib_dec/ivas_init_dec.c | 22 +++++++++++++++++++++- lib_dec/ivas_sba_dec.c | 22 +++++++++++++++++++++- lib_rend/ivas_objectRenderer_mix.c | 6 +++++- lib_util/hrtf_file_reader.c | 3 +-- 5 files changed, 52 insertions(+), 7 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 4dfc6c0dfd..80baee2de3 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5018,8 +5018,10 @@ void HRTF_model_precalc( ); void BSplineModelEvalDealloc( - ModelParams_t *model, /* i : Model parameters */ - ModelEval_t *modelEval /* i : Model evaluation structure */ + ModelParams_t *model /* i : Model parameters */ +#ifndef TEMP_FIX_BSPLINE_MALLOC + ,ModelEval_t *modelEval /* i : Model evaluation structure */ +#endif ); void BSplineModelEvalITDDealloc( diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 601efc3b7d..749d050bff 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1691,8 +1691,28 @@ void ivas_destroy_dec( BSplineModelEvalITDDealloc( &st_ivas->hHrtfTD->ModelParamsITD ); } - BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams, &st_ivas->hHrtfTD->ModelEval ); + BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams +#ifndef TEMP_FIX_BSPLINE_MALLOC + ,&st_ivas->hHrtfTD->ModelEval +#endif + ); +#ifdef TEMP_FIX_BSPLINE_MALLOC + { + ModelParams_t *model = &st_ivas->hHrtfTD->ModelParams; + ModelEval_t *modelEval = &st_ivas->hHrtfTD->ModelEval; + if ( !model->modelROM ) + { + free_( model->EL_dyn ); + free_( model->ER_dyn ); + } + if ( modelEval != NULL ) + { + free_( modelEval->hrfModL ); + free_( modelEval->hrfModR ); + } + } +#endif ivas_HRTF_binary_close( &st_ivas->hHrtfTD ); } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 77d1fef233..360c92d4dd 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -210,8 +210,28 @@ ivas_error ivas_sba_dec_reinit( BSplineModelEvalITDDealloc( &st_ivas->hHrtfTD->ModelParamsITD ); } - BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams, &st_ivas->hHrtfTD->ModelEval ); + BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams +#ifndef TEMP_FIX_BSPLINE_MALLOC + , &st_ivas->hHrtfTD->ModelEval +#endif + ); +#ifdef TEMP_FIX_BSPLINE_MALLOC + { + ModelParams_t *model = &st_ivas->hHrtfTD->ModelParams; + ModelEval_t *modelEval = &st_ivas->hHrtfTD->ModelEval; + if ( !model->modelROM ) + { + free_( model->EL_dyn ); + free_( model->ER_dyn ); + } + if ( modelEval != NULL ) + { + free_( modelEval->hrfModL ); + free_( modelEval->hrfModR ); + } + } +#endif ivas_HRTF_binary_close( &st_ivas->hHrtfTD ); } diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index e25c179924..c72790f275 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -134,7 +134,11 @@ void TDREND_MIX_Dealloc( { BSplineModelEvalITDDealloc( &hBinRendererTd->HrFiltSet_p->ModelParamsITD ); } - BSplineModelEvalDealloc( &hBinRendererTd->HrFiltSet_p->ModelParams, &hBinRendererTd->HrFiltSet_p->ModelEval ); + BSplineModelEvalDealloc( &hBinRendererTd->HrFiltSet_p->ModelParams +#ifndef TEMP_FIX_BSPLINE_MALLOC + , &hBinRendererTd->HrFiltSet_p->ModelEval +#endif + ); #ifdef TEMP_FIX_BSPLINE_MALLOC { diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index 7fda364291..827d5d9baa 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -313,8 +313,7 @@ static ivas_error LoadBSplineBinary( --------------------------------------------------------------------*/ void BSplineModelEvalDealloc( - ModelParams_t *model, /* i : Model parameters */ - ModelEval_t *modelEval /* i : Model evaluation structure */ + ModelParams_t *model /* i : Model parameters */ ) { /* Allocated in LoadBSplineBinary() */ -- GitLab From 83b9a8514499d5dc6c4e8aa18d6da1e87083b835 Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Tue, 6 Dec 2022 13:29:29 +0100 Subject: [PATCH 264/620] fix: re-instantiate CPE when bitrate switching McMASA<->non-McMASA as the internal settings depend from the MC-mode. clean-up DFT-stereo dummy-CPE --- lib_com/ivas_prot.h | 15 ++++++++------- lib_dec/ivas_corecoder_dec_reconfig.c | 22 ++++++++++++++++++---- lib_dec/ivas_mct_dec.c | 2 +- lib_dec/ivas_sba_dec.c | 2 +- lib_enc/ivas_mct_enc.c | 2 +- 5 files changed, 29 insertions(+), 14 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 170c8eafa2..d6b64c8203 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -341,13 +341,14 @@ void ivas_mct_dec_close( #ifdef CORECODER_BITRATE_SWITCHING ivas_error ivas_corecoder_dec_reconfig( #ifdef MCMASA_BITRATE_SWITCHING - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ - const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ - const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ - const int32_t brate_SCE, /* i : bitrate to be set for the SCEs      */ - const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ + int16_t nCPE_old, /* i : number of CPEs in previous frame */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ + const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ + const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ + const MC_MODE last_mc_mode /* i : MC mode in the previous frame */ #else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index f2f37e1180..811b7211ad 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -50,18 +50,19 @@ /*-------------------------------------------------------------------* * ivas_corecoder_dec_reconfig() * - * Allocate, initialize, and configure SCE/CPE/MCT handles in case of bitrate switching + * Allocate, initalize, and configure SCE/CPE/MCT handles in case of bitrate switching *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_dec_reconfig( #ifdef MCMASA_BITRATE_SWITCHING Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ + int16_t nCPE_old, /* i : number of CPEs in previous frame */ const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ - const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ + const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ + const MC_MODE last_mc_mode /* i : MC mode in the previous frame */ #else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ @@ -94,7 +95,7 @@ ivas_error ivas_corecoder_dec_reconfig( /* remove dummy CPE element for DFT stereo-like upmix */ #ifdef MCMASA_BITRATE_SWITCHING if ( ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) || - ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) ) + ( st_ivas->ivas_format == MC_FORMAT && last_mc_mode == MC_MODE_MCMASA && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) ) #else if ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) #endif @@ -171,6 +172,19 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[cpe_id] = NULL; } +#ifdef MCMASA_BITRATE_SWITCHING + /* the CPE-internal settings depend from ivas_format and mc_mode, so clean-up when switching between mc_modes */ + if ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode != last_mc_mode && ( st_ivas->mc_mode == MC_MODE_MCMASA || last_mc_mode == MC_MODE_MCMASA ) ) + { + for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) + { + destroy_cpe_dec( st_ivas->hCPE[cpe_id] ); + st_ivas->hCPE[cpe_id] = NULL; + } + nCPE_old = 0; + nCPE_existing = min( nCPE_old, st_ivas->nCPE ); + } +#endif if ( st_ivas->nCPE <= 1 && st_ivas->hMCT != NULL ) { ivas_mct_dec_close( &st_ivas->hMCT ); diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 0c75a1ca65..eed6452a4d 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -901,7 +901,7 @@ ivas_error ivas_mc_dec_reconfig( new_brate_SCE = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport; new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; } - if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE ) ) != IVAS_ERR_OK ) + if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE, last_mc_mode ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) #endif diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 08d263e8ac..0897393ca8 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -606,7 +606,7 @@ ivas_error ivas_sba_dec_reconfigure( #ifdef CORECODER_BITRATE_SWITCHING #ifdef MCMASA_BITRATE_SWITCHING - ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); + ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS, MC_MODE_NONE ); #else ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ); #endif diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 0f2f2d4f01..0abc613a8c 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -845,4 +845,4 @@ ivas_error ivas_mc_enc_reconfig( return error; } -#endif \ No newline at end of file +#endif -- GitLab From a17f8a352f699cc3565c587ed6531665458934c5 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 13:37:13 +0100 Subject: [PATCH 265/620] removal of TEMP_FIX_BSPLINE_MALLOC - needs to be resolved in another way --- lib_com/ivas_prot.h | 6 +-- lib_dec/ivas_init_dec.c | 22 +-------- lib_dec/ivas_sba_dec.c | 23 +--------- lib_rend/ivas_objectRenderer_hrFilt.c | 4 -- lib_rend/ivas_objectRenderer_mix.c | 24 +--------- lib_util/hrtf_file_reader.c | 66 --------------------------- lib_util/hrtf_file_reader.h | 1 + 7 files changed, 8 insertions(+), 138 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 80baee2de3..4dfc6c0dfd 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5018,10 +5018,8 @@ void HRTF_model_precalc( ); void BSplineModelEvalDealloc( - ModelParams_t *model /* i : Model parameters */ -#ifndef TEMP_FIX_BSPLINE_MALLOC - ,ModelEval_t *modelEval /* i : Model evaluation structure */ -#endif + ModelParams_t *model, /* i : Model parameters */ + ModelEval_t *modelEval /* i : Model evaluation structure */ ); void BSplineModelEvalITDDealloc( diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 749d050bff..601efc3b7d 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1691,28 +1691,8 @@ void ivas_destroy_dec( BSplineModelEvalITDDealloc( &st_ivas->hHrtfTD->ModelParamsITD ); } - BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams -#ifndef TEMP_FIX_BSPLINE_MALLOC - ,&st_ivas->hHrtfTD->ModelEval -#endif - ); + BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams, &st_ivas->hHrtfTD->ModelEval ); -#ifdef TEMP_FIX_BSPLINE_MALLOC - { - ModelParams_t *model = &st_ivas->hHrtfTD->ModelParams; - ModelEval_t *modelEval = &st_ivas->hHrtfTD->ModelEval; - if ( !model->modelROM ) - { - free_( model->EL_dyn ); - free_( model->ER_dyn ); - } - if ( modelEval != NULL ) - { - free_( modelEval->hrfModL ); - free_( modelEval->hrfModR ); - } - } -#endif ivas_HRTF_binary_close( &st_ivas->hHrtfTD ); } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 360c92d4dd..b70ba464b5 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -45,6 +45,7 @@ #include "wmc_auto.h" + #ifdef SBA_BR_SWITCHING /*-------------------------------------------------------------------* * ivas_sba_dec_reinit() @@ -210,28 +211,8 @@ ivas_error ivas_sba_dec_reinit( BSplineModelEvalITDDealloc( &st_ivas->hHrtfTD->ModelParamsITD ); } - BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams -#ifndef TEMP_FIX_BSPLINE_MALLOC - , &st_ivas->hHrtfTD->ModelEval -#endif - ); + BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams, &st_ivas->hHrtfTD->ModelEval ); -#ifdef TEMP_FIX_BSPLINE_MALLOC - { - ModelParams_t *model = &st_ivas->hHrtfTD->ModelParams; - ModelEval_t *modelEval = &st_ivas->hHrtfTD->ModelEval; - if ( !model->modelROM ) - { - free_( model->EL_dyn ); - free_( model->ER_dyn ); - } - if ( modelEval != NULL ) - { - free_( modelEval->hrfModL ); - free_( modelEval->hrfModR ); - } - } -#endif ivas_HRTF_binary_close( &st_ivas->hHrtfTD ); } diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 6b8bc4b07f..839a80b0d5 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -1189,8 +1189,6 @@ void HRTF_model_precalc( return; } -#ifndef TEMP_FIX_BSPLINE_MALLOC - /*-------------------------------------------------------------------* * BSplineModelEvalDealloc() * @@ -1263,8 +1261,6 @@ void BSplineModelEvalITDDealloc( return; } -#endif - /*-------------------------------------------------------------------* * SkipSmallest_ValueIndex() diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index c72790f275..b5c6acbdfc 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -40,6 +40,7 @@ #endif + /*-------------------------------------------------------------------* * TDREND_MIX_LIST_SetPos() * @@ -134,28 +135,7 @@ void TDREND_MIX_Dealloc( { BSplineModelEvalITDDealloc( &hBinRendererTd->HrFiltSet_p->ModelParamsITD ); } - BSplineModelEvalDealloc( &hBinRendererTd->HrFiltSet_p->ModelParams -#ifndef TEMP_FIX_BSPLINE_MALLOC - , &hBinRendererTd->HrFiltSet_p->ModelEval -#endif - ); - -#ifdef TEMP_FIX_BSPLINE_MALLOC - { - ModelParams_t *model = &hBinRendererTd->HrFiltSet_p->ModelParams; - ModelEval_t *modelEval = &hBinRendererTd->HrFiltSet_p->ModelEval; - if ( !model->modelROM ) - { - free_( model->EL_dyn ); - free_( model->ER_dyn ); - } - if ( modelEval != NULL ) - { - free_( modelEval->hrfModL ); - free_( modelEval->hrfModR ); - } - } -#endif + BSplineModelEvalDealloc( &hBinRendererTd->HrFiltSet_p->ModelParams, &hBinRendererTd->HrFiltSet_p->ModelEval ); } else { diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index 827d5d9baa..9eddcdf305 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -305,72 +305,6 @@ static ivas_error LoadBSplineBinary( return IVAS_ERR_OK; } -#ifdef TEMP_FIX_BSPLINE_MALLOC -/*-------------------------------------------------------------------* - * BSplineModelEvalDealloc() - * - * Deallocate BSpline HR Filter model - --------------------------------------------------------------------*/ - -void BSplineModelEvalDealloc( - ModelParams_t *model /* i : Model parameters */ -) -{ - /* Allocated in LoadBSplineBinary() */ - int16_t i; - - if ( !model->modelROM ) - { - free( model->elevKSeq_dyn ); - free( model->azim_start_idx_dyn ); - free( model->azimDim2_dyn ); - free( model->azimDim3_dyn ); - free( model->AlphaL_dyn ); - free( model->AlphaR_dyn ); - free( model->azimSegSamples_dyn ); - - free( model->azimShapeIdx_dyn ); - free( model->azimShapeSampFactor_dyn ); - free( model->elevBsShape_dyn ); - - for ( i = 0; i < model->num_unique_azim_splines; i++ ) - { - free( model->azimBsShape_dyn[i] ); - } - free( model->azimBsShape_dyn ); - } - free( (void *) model->azimBsShape ); /* void* cast needed to please both gcc and Visual studio compilers. Deallocating const float** should be fine and gcc agrees, but Visual studio complains. */ - for ( i = 0; i < model->elevDim3; i++ ) - { - free( model->azimKSeq[i] ); - } - free( model->azimKSeq ); - - return; -} - - -/*-------------------------------------------------------------------* - * BSplineModelEvalITDDealloc() - * - * Deallocates the ITD model. - --------------------------------------------------------------------*/ - -void BSplineModelEvalITDDealloc( - ModelParamsITD_t *model /* i : Model parameters */ -) -{ - free( model->elevKSeq_dyn ); - free( model->azimKSeq_dyn ); - free( model->W_dyn ); - free( model->azimBsShape_dyn ); - free( model->elevBsShape_dyn ); - - return; -} - -#endif - /*-------------------------------------------------------------------* * TDREND_MIX_LoadHRTF() * diff --git a/lib_util/hrtf_file_reader.h b/lib_util/hrtf_file_reader.h index ed3d572d56..c7b751ad76 100644 --- a/lib_util/hrtf_file_reader.h +++ b/lib_util/hrtf_file_reader.h @@ -36,6 +36,7 @@ #include <stdint.h> #include "common_api_types.h" #include "ivas_error.h" +#include "options.h" typedef struct hrtfFileReader hrtfFileReader; -- GitLab From e993f46a7c811d66a3551aeb244ebaaab5f9ea90 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 15:20:35 +0100 Subject: [PATCH 266/620] turn on extended globing to allow !(pattern*) matching --- scripts/prepare_instrumentation.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index 2e1e408596..c8e6247135 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -84,13 +84,15 @@ if [ $? -ne 0 ]; then exit -1 fi -# strip switches, to remove the macros +# strip switches, to remove the macros (turn on extended globing to allow !(pattern*) matching) +shopt -s extglob if coan_exists; then - coan source --replace --no-transients -E -K --file $ifdef_list "$targetdir/lib_{com,dec,enc,rend,util,debug}/(?!wmc_auto)*.[hc]" - coan source --replace --no-transients -E -K --file $ifdef_list "$targetdir/apps/*.[hc]" + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,rend,util,debug}/!(wmc_auto*).[hc] + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] else ./strip_defines_cppp.sh $targetdir $ifdef_list fi +shopt -u extglob # patch code before wmc_tool: replace hexadecimal unsigned long constants (0x...UL) by regular integer constant + cast to unsigned long find $targetdir -name "*.[ch]" -exec sed -i.bak -e "s/\(0x[0-9a-fA-F]*\)UL/\(\(unsigned long\)\1\)/" \{\} \; -- GitLab From 7c4d8a7305c3a9ef2d74a13a0474e7b125435fb4 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 15:38:27 +0100 Subject: [PATCH 267/620] Extend the timeout from 2m to 4m to allow for a complete instrumentation by the WMC tool --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0cb125fd9..46b51657f0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -147,7 +147,7 @@ stages: .build-job-linux: stage: build - timeout: "2 minutes" + timeout: "4 minutes" tags: - ivas-linux -- GitLab From 86f8ddd067b7afa15d2a452d4eb5499705bceacb Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 15:44:50 +0100 Subject: [PATCH 268/620] Do not instrument lib_com as part of the decoder to shorten the job --- scripts/prepare_instrumentation.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index c8e6247135..4a89d1018b 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -97,9 +97,9 @@ shopt -u extglob # patch code before wmc_tool: replace hexadecimal unsigned long constants (0x...UL) by regular integer constant + cast to unsigned long find $targetdir -name "*.[ch]" -exec sed -i.bak -e "s/\(0x[0-9a-fA-F]*\)UL/\(\(unsigned long\)\1\)/" \{\} \; -# run wmc_tool using wine -"tools/$system/wmc_tool" -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" > /dev/null -"tools/$system/wmc_tool" -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_com/*.c" "$targetdir/lib_rend/*.c" > /dev/null +# run wmc_tool +"tools/$system/wmc_tool" -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" +"tools/$system/wmc_tool" -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_rend/*.c" # automatically enable #define WMOPS in options.h sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" $targetdir/lib_com/options.h -- GitLab From b373aef033af8175705f26ace6ab10c8c1db02ec Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 6 Dec 2022 16:13:53 +0100 Subject: [PATCH 269/620] Issue 234: fix extremely high complexity numbers for IVAS EVS mode; under FIX_VBR_COMPLEXITY --- lib_com/options.h | 4 +- lib_com/wi.c | 1737 ++++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 1640 insertions(+), 101 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index b5063ecf39..7b8d1ec30d 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -175,10 +175,10 @@ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ - - #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ +#define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_com/wi.c b/lib_com/wi.c index e63c0a4b92..f8245ede4d 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -42,6 +42,10 @@ #include "rom_com.h" #include "wmops.h" +#ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_MAN +#endif + /*-------------------------------------------------------------------* * Local constants *-------------------------------------------------------------------*/ @@ -80,6 +84,11 @@ ivas_error DTFS_new( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTFS (SC-VBR) structure\n" ) ); } +#ifdef FIX_VBR_COMPLEXITY + MOVE( 2 ); + LOOP( 1 ); + MOVE( 2 ); +#endif dtfs->lag = 0; dtfs->nH = 0; dtfs->nH_4kHz = 0; @@ -110,20 +119,40 @@ void DTFS_copy( ) { int16_t k; +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); for ( k = 0; k < MAXLAG_WI; k++ ) { + MOVE( 1 ); Xout->a[k] = Xinp.a[k]; } + LOOP( 1 ); for ( k = 0; k < MAXLAG_WI; k++ ) { + MOVE( 1 ); Xout->b[k] = Xinp.b[k]; } + MOVE( 1 ); Xout->lag = Xinp.lag; Xout->nH = Xinp.nH; Xout->nH_4kHz = Xinp.nH_4kHz; Xout->upper_cut_off_freq_of_interest = Xinp.upper_cut_off_freq_of_interest; Xout->upper_cut_off_freq = Xinp.upper_cut_off_freq; - +#else + for ( k = 0; k < MAXLAG_WI; k++ ) + { + Xout->a[k] = Xinp.a[k]; + } + for ( k = 0; k < MAXLAG_WI; k++ ) + { + Xout->b[k] = Xinp.b[k]; + } + Xout->lag = Xinp.lag; + Xout->nH = Xinp.nH; + Xout->nH_4kHz = Xinp.nH_4kHz; + Xout->upper_cut_off_freq_of_interest = Xinp.upper_cut_off_freq_of_interest; + Xout->upper_cut_off_freq = Xinp.upper_cut_off_freq; +#endif return; } @@ -142,21 +171,50 @@ void DTFS_sub( ) { int16_t i; + +#ifdef FIX_VBR_COMPLEXITY + MULT( 1 ); + LOOP( 1 ); for ( i = 0; i <= X1.lag / 2; i++ ) { + MOVE( 1 ); + MULT( 1 ); tmp->a[i] = X1.a[i]; + MOVE( 1 ); tmp->b[i] = X1.b[i]; } + MULT( 1 ); + LOOP( 1 ); for ( i = 0; i <= X2.lag / 2; i++ ) { + MAC( 1 ); tmp->a[i] -= X2.a[i]; + ADD( 1 ); tmp->b[i] -= X2.b[i]; } + MOVE( 1 ); tmp->lag = max( X1.lag, X2.lag ); tmp->nH = max( X1.nH, X2.nH ); tmp->nH_4kHz = max( X1.nH_4kHz, X2.nH_4kHz ); tmp->upper_cut_off_freq_of_interest = X1.upper_cut_off_freq_of_interest; tmp->upper_cut_off_freq = X1.upper_cut_off_freq; +#else + for ( i = 0; i <= X1.lag / 2; i++ ) + { + tmp->a[i] = X1.a[i]; + tmp->b[i] = X1.b[i]; + } + for ( i = 0; i <= X2.lag / 2; i++ ) + { + tmp->a[i] -= X2.a[i]; + tmp->b[i] -= X2.b[i]; + } + tmp->lag = max( X1.lag, X2.lag ); + tmp->nH = max( X1.nH, X2.nH ); + tmp->nH_4kHz = max( X1.nH_4kHz, X2.nH_4kHz ); + tmp->upper_cut_off_freq_of_interest = X1.upper_cut_off_freq_of_interest; + tmp->upper_cut_off_freq = X1.upper_cut_off_freq; +#endif return; } @@ -181,6 +239,43 @@ static void DTFS_fast_fs_inv( N = X1_DTFS->lag; } +#ifdef FIX_VBR_COMPLEXITY + /* Populate the dbuf array */ + dbuf[1] = X1_DTFS->a[0]; + dbuf[2] = 0.0; + for ( i = 1; i < M_2; i++ ) + { + MAC( 1 ); + dbuf[2 * i + 1] = X1_DTFS->a[i] * N_2; + MAC( 1 ); + dbuf[2 * i + 2] = X1_DTFS->b[i] * N_2; + } + + if ( N_2 != M_2 ) + { + dbuf[2 * i + 1] = X1_DTFS->a[i] * N_2; + dbuf[2 * i + 2] = X1_DTFS->b[i] * N_2; + i++; + } + + /* Zero-padding in the frequency domain */ + for ( ; i < N_2; i++ ) + { + MOVE( 1 ); + MAC( 2 ); + dbuf[2 * i + 1] = dbuf[2 * i + 2] = 0.0; + } + + FUNC( 3 ); + realft( dbuf, N_2, -1 ); + + for ( i = 1; i <= N; i++ ) + { + MULT( 1 ); + ADD( 1 ); + out[i - 1] = dbuf[i] / N_2; + } +#else /* Populate the dbuf array */ dbuf[1] = X1_DTFS->a[0]; dbuf[2] = 0.0; @@ -209,6 +304,7 @@ static void DTFS_fast_fs_inv( { out[i - 1] = dbuf[i] / N_2; } +#endif return; } @@ -236,6 +332,95 @@ static float DTFS_alignment_weight( float pwf = 0.7f, tmplpc[M + 1]; DTFS_STRUCTURE X1_DTFS; +#ifdef FIX_VBR_COMPLEXITY + FUNC( 2 ); + DTFS_copy( &X1_DTFS, refX1_DTFS ); + FUNC( 2 ); + DTFS_adjustLag( &X1_DTFS, X2_DTFS.lag ); + FUNC( 3 ); + ADD( 1 ); + DTFS_poleFilter( &X1_DTFS, LPC1, M + 1 ); + MOVE( 1 ); + tmp = 1.0; + LOOP( 1 ); + for ( k = 0, tmp = 1.0; k < M + 1; k++ ) + { + MOVE( 1 ); + MULT( 2 ); + tmplpc[k] = LPC1[k] * ( tmp *= pwf ); + } + + + FUNC( 3 ); + DTFS_zeroFilter( &X1_DTFS, tmplpc, M + 1 ); + FUNC( 3 ); + DTFS_poleFilter( &X2_DTFS, LPC2, M + 1 ); + MOVE( 1 ); + LOOP( 1 ); + for ( k = 0, tmp = 1.0; k < M + 1; k++ ) + { + /* can be stored as a table */ + MULT( 1 ); + tmplpc[k] = LPC2[k] * ( tmp *= pwf ); + } + FUNC( 3 ); + DTFS_zeroFilter( &X2_DTFS, tmplpc, M + 1 ); + MOVE( 1 ); + ADD( 1 ); + maxcorr = (float) -HUGE_VAL; + MOVE( 1 ); + fshift = Eshift; + MOVE( 1 ); + MULT( 1 ); + Adiff = max( 6, 0.15f * X2_DTFS.lag ); + LOGIC( 1 ); + if ( X2_DTFS.lag < 60 ) + { + MOVE( 1 ); + diff = 0.25; + } + else + { + MOVE( 1 ); + diff = 0.5; + } + ADD( 1 ); + ADD( 1 ); + LOOP( 1 ); + for ( n = Eshift - Adiff; n <= Eshift + Adiff; n += diff ) + { + MOVE( 2 ); + ADD( 1 ); + corr = tmp = 0.0f; + /* bit-exact optimization - PI2/X2_DTFS.lag should be counted as a single divide */ + MULT( 1 ); + tmp1 = (float) ( PI2 * n / X2_DTFS.lag ); + ADD( 1 ); + LOOP( 1 ); + for ( k = 0; k <= min( X2_DTFS.lag >> 1, X2_DTFS.nH_4kHz ); k++, tmp += tmp1 ) + { + /* Not counting math function cos and sin since they will be implemented as look-up tables */ + MAC( 1 ); + ADD( 1 ); + corr += (float) ( ( X1_DTFS.a[k] * X2_DTFS.a[k] + X1_DTFS.b[k] * X2_DTFS.b[k] ) * cos( tmp ) ); + MAC( 1 ); + ADD( 1 ); + corr += (float) ( ( X1_DTFS.b[k] * X2_DTFS.a[k] - X1_DTFS.a[k] * X2_DTFS.b[k] ) * sin( tmp ) ); + } + MOVE( 1 ); + MAC( 2 ); + ABS( 1 ); + wcorr = (float) ( corr * ( 1.0f - 0.01f * fabs( n - Eshift ) ) ); + LOGIC( 1 ); + if ( wcorr > maxcorr ) + { + MOVE( 1 ); + fshift = n; + MOVE( 1 ); + maxcorr = wcorr; + } + } +#else DTFS_copy( &X1_DTFS, refX1_DTFS ); DTFS_adjustLag( &X1_DTFS, X2_DTFS.lag ); DTFS_poleFilter( &X1_DTFS, LPC1, M + 1 ); @@ -283,6 +468,7 @@ static float DTFS_alignment_weight( maxcorr = wcorr; } } +#endif return fshift; } @@ -303,6 +489,53 @@ float DTFS_alignment_full( int16_t k; float maxcorr, corr, tmp, tmp1, fshift, n, diff; +#ifdef FIX_VBR_COMPLEXITY + LOGIC( 1 ); + if ( X1_DTFS.lag < X2_DTFS.lag ) + { + FUNC( 2 ); + DTFS_zeroPadd( X2_DTFS.lag, &X1_DTFS ); + } + + MOVE( 1 ); + ADD( 1 ); + maxcorr = (float) -HUGE_VAL; + /* bit-exact optimization - 1/num_steps can be constant => should be counted as a multiply */ + MOVE( 1 ); + MULT( 1 ); + diff = (float) X2_DTFS.lag / num_steps; + + LOOP( 1 ); + for ( fshift = n = 0.0; n < (float) X2_DTFS.lag; n += diff ) + { + MOVE( 2 ); + corr = tmp = 0.0f; + MOVE( 1 ); + MULT( 2 ); + tmp1 = (float) ( PI2 * n / X2_DTFS.lag ); + ADD( 1 ); + + LOOP( 1 ); + for ( k = 0; k <= min( X2_DTFS.lag >> 1, X2_DTFS.nH_4kHz ); k++, tmp += tmp1 ) + + { + MAC( 1 ); + ADD( 2 ); + corr += (float) ( ( X1_DTFS.a[k] * X2_DTFS.a[k] + X1_DTFS.b[k] * X2_DTFS.b[k] ) * cos( tmp ) ); + MAC( 1 ); + ADD( 1 ); + corr += (float) ( ( X1_DTFS.b[k] * X2_DTFS.a[k] - X1_DTFS.a[k] * X2_DTFS.b[k] ) * sin( tmp ) ); + } + LOGIC( 1 ); + if ( corr > maxcorr ) + { + MOVE( 1 ); + fshift = n; + MOVE( 1 ); + maxcorr = corr; + } + } +#else if ( X1_DTFS.lag < X2_DTFS.lag ) { DTFS_zeroPadd( X2_DTFS.lag, &X1_DTFS ); @@ -329,6 +562,7 @@ float DTFS_alignment_full( maxcorr = corr; } } +#endif return fshift; } @@ -350,12 +584,30 @@ void DTFS_phaseShift( { int16_t k; float tmp, tmp2 = 0.0f; + +#ifdef FIX_VBR_COMPLEXITY + ADD( 1 ); + LOOP( 1 ); + for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++, tmp2 += ph ) + { + MOVE( 1 ); + ADD( 1 ); + tmp = X->a[k]; + MOVE( 1 ); + MAC( 1 ); + X->a[k] = (float) ( tmp * cos( tmp2 ) - X->b[k] * sin( tmp2 ) ); + MOVE( 1 ); + MAC( 1 ); + X->b[k] = (float) ( tmp * sin( tmp2 ) + X->b[k] * cos( tmp2 ) ); + } +#else for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++, tmp2 += ph ) { tmp = X->a[k]; X->a[k] = (float) ( tmp * cos( tmp2 ) - X->b[k] * sin( tmp2 ) ); X->b[k] = (float) ( tmp * sin( tmp2 ) + X->b[k] * cos( tmp2 ) ); } +#endif return; } @@ -375,6 +627,34 @@ void DTFS_zeroPadd( int16_t i; float diff; +#ifdef FIX_VBR_COMPLEXITY + LOGIC( 1 ); + if ( N == X->lag ) + { + return; + } + ADD( 1 ); + LOOP( 1 ); + for ( i = ( X->lag >> 1 ) + 1; i <= N >> 1; i++ ) + { + MOVE( 2 ); + X->a[i] = X->b[i] = 0.0; + } + MOVE( 1 ); + X->lag = N; + /* recompute nH for new lag */ + X->nH = (int16_t) floor( X->upper_cut_off_freq / ( 12800.0 / X->lag ) ); + MOVE( 1 ); + MULT( 1 ); + diff = 12800.0f / X->lag; + MULT( 1 ); + ADD( 1 ); + LOGIC( 1 ); + if ( X->upper_cut_off_freq - ( diff * X->nH ) >= diff ) + { + X->nH++; + } +#else if ( N == X->lag ) { return; @@ -391,6 +671,7 @@ void DTFS_zeroPadd( { X->nH++; } +#endif return; } @@ -436,6 +717,102 @@ void DTFS_to_fs( X->sampling_rate = INT_FS_16k; } +#ifdef FIX_VBR_COMPLEXITY + X->lag = N; + MOVE( 1 ); + MULT( 1 ); + nH_band = (int16_t) floor( X->upper_cut_off_freq / ( 12800.0 / X->lag ) ); + + nH_4kHz = (int16_t) floor( 4000 / ( 12800.0 / X->lag ) ); + MOVE( 1 ); + MULT( 1 ); + diff = 12800.0f / X->lag; + MULT( 1 ); + ADD( 1 ); + LOGIC( 1 ); + if ( X->upper_cut_off_freq - ( diff * nH_band ) >= diff ) + { + nH_band++; + } + if ( 4000 - ( diff * nH_4kHz ) >= diff ) + { + nH_4kHz++; + } + /* Number of harmonics excluding the ones at 0 and at pi */ + MOVE( 1 ); + MULT( 1 ); + ADD( 1 ); + nH = ( N - 1 ) >> 1; + /* The DC component */ + X->a[0] = 0.0; + X->b[0] = 0.0; + LOOP( 1 ); + for ( n = 0; n < N; n++ ) + { + ADD( 1 ); + X->a[0] += x[n]; + } + MULT( 1 ); + X->a[0] /= N; + + /* Strictly set the DC componet to zero */ + MOVE( 1 ); + X->a[0] = 0.0; + + /* The harmonics excluding the one at pi */ + LOOP( 1 ); + for ( k = 1; k <= nH; k++ ) + { + X->a[k] = x[0]; + X->b[k] = 0.0; + MOVE( 2 ); + MULT( 1 ); + sum = tmp = (float) ( PI2 * k / N ); + LOOP( 1 ); + for ( n = 1; n < N; n++, sum += tmp ) + { + ADD( 1 ); + X->a[k] += (float) ( x[n] * cos( sum ) ); + ADD( 1 ); + X->b[k] += (float) ( x[n] * sin( sum ) ); + } + MULT( 2 ); + X->a[k] *= ( 2.0f / N ); + MULT( 2 ); + X->b[k] *= ( 2.0f / N ); + } + + /* The harmonic at 'pi' */ + LOGIC( 1 ); + if ( N % 2 == 0 ) + { + MOVE( 1 ); + X->a[k] = 0.0; + MOVE( 1 ); + tmp = 1.0; + LOOP( 1 ); + for ( n = 0; n < N; n++, tmp *= -1.0 ) + { + ADD( 1 ); + X->a[k] += x[n] * tmp; + } + MULT( 1 ); + X->a[k] /= N; + MOVE( 1 ); + X->b[k] = 0.0; + } + ADD( 1 ); + LOOP( 1 ); + for ( k = nH_band + 1; k <= min( ( X->lag >> 1 ), ( MAXLAG_WI - 1 ) ); k++ ) + { + MOVE( 1 ); + X->a[k] = 0.0; + MOVE( 1 ); + X->b[k] = 0.0; + } + X->nH = nH_band; + X->nH_4kHz = nH_4kHz; +#else X->lag = N; nH_band = (int16_t) floor( X->upper_cut_off_freq / ( 12800.0 / X->lag ) ); @@ -497,6 +874,7 @@ void DTFS_to_fs( } X->nH = nH_band; X->nH_4kHz = nH_4kHz; +#endif return; } @@ -518,6 +896,25 @@ void DTFS_fs_inv( float phase, tmp; int16_t k, n; +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); + for ( n = 0; n < N; n++ ) + { + MOVE( 1 ); + x[n] = X->a[0]; + MOVE( 2 ); + MAC( 1 ); + tmp = phase = (float) ( PI2 * n / X->lag + ph0 ); + ADD( 1 ); + LOOP( 1 ); + for ( k = 1; k <= min( X->lag >> 1, X->nH ); k++, tmp += phase ) + { + MAC( 1 ); + ADD( 1 ); + x[n] += (float) ( X->a[k] * cos( tmp ) + X->b[k] * sin( tmp ) ); + } + } +#else for ( n = 0; n < N; n++ ) { x[n] = X->a[0]; @@ -527,6 +924,7 @@ void DTFS_fs_inv( x[n] += (float) ( X->a[k] * cos( tmp ) + X->b[k] * sin( tmp ) ); } } +#endif return; } @@ -577,12 +975,21 @@ static void DTFS_transform( IVAS_ERROR( error, "Error creating DTFS structure 3" ); } +#ifdef FIX_VBR_COMPLEXITY + FUNC( 2 ); DTFS_copy( tmp1_dtfs, X ); + FUNC( 2 ); DTFS_copy( tmp2_dtfs, X2 ); + FUNC( 3 ); DTFS_fast_fs_inv( tmp1_dtfs, x1_256, 256 ); + FUNC( 3 ); DTFS_fast_fs_inv( tmp2_dtfs, x2_256, 256 ); - + MOVE( 1 ); + MAC( 1 ); + ADD( 1 ); + LOG( 1 ); tmp = (float) ( log( 1.0 - WI_THRESHLD ) / ( X.lag - N ) ); + LOOP( 1 ); for ( i = 0; i < N; i++ ) { if ( FR_flag == 0 ) @@ -591,11 +998,13 @@ static void DTFS_transform( if ( N - WI_SAMPLE_THLD > X.lag ) { /* pre-computed and stored in a table */ + MOVE( 1 ); w = (float) ( 1.0 - exp( -( i + 1 ) * tmp ) ); } else { /* can be a look-up table */ + MOVE( 1 ); w = (float) ( i + 1 ) / N; } } @@ -618,23 +1027,30 @@ static void DTFS_transform( w = (float) ( i + 1 ) / N1; } else - { w = 1.0; - } } } /* add sinc interpolation of two time domain waveforms at appropriate phase position */ - j = ( LL_OS * 10 + (int16_t) rint_new( phase[i] * LL_OS / PI2 ) ) % LL_OS; + MULT( 1 ); + DIV( 1 ); + FUNC( 1 ); + ADD( 1 ); + j = ( LL_OS * 10 + (int) rint_new( phase[i] * LL_OS / PI2 ) ) % LL_OS; if ( j < 0 ) { j = 0; } + MOVE( 1 ); + DIV( 1 ); k = j % WARP_OS_RATE; + MOVE( 1 ); + MULT( 1 ); l1 = j / WARP_OS_RATE; + MOVE( 2 ); set_f( x_r_fx, 0.0f, L_FRAME ); @@ -652,9 +1068,12 @@ static void DTFS_transform( x_r_fx[m] = x1_256[m] * temp_w + x2_256[m] * w; } + LOOP( 1 ); for ( j1 = 0, sum1 = sum2 = 0.0; j1 < OSLENGTH; j1++ ) { /* mult or div by constants should be done once outside the loop */ + DIV( 1 ); + ADD( 1 ); m = ( 1000 * LL + l1 - OSLENGTH / 2 + j1 ) % LL; if ( m < 0 ) @@ -667,30 +1086,159 @@ static void DTFS_transform( out[i] = sum1; } +#else + DTFS_copy( tmp1_dtfs, X ); + DTFS_copy( tmp2_dtfs, X2 ); + DTFS_fast_fs_inv( tmp1_dtfs, x1_256, 256 ); + DTFS_fast_fs_inv( tmp2_dtfs, x2_256, 256 ); - count_free( tmp1_dtfs ); - count_free( tmp2_dtfs ); - count_free( tmp3_dtfs ); - - return; -} - - -/*-------------------------------------------------------------------* - * DTFS_zeroFilter() - * - * DTFS zero filter response. - *-------------------------------------------------------------------*/ - -void DTFS_zeroFilter( - DTFS_STRUCTURE *X, /* i/o: DTFS to zeroFilter inplace */ - const float *LPC, /* i : LPCs */ - const int16_t N /* i : LPC order */ -) -{ - float tmp, tmp1, tmp2, sum1, sum2; - int16_t k, n; - + tmp = (float) ( log( 1.0 - WI_THRESHLD ) / ( X.lag - N ) ); + for ( i = 0; i < N; i++ ) + { + if ( FR_flag == 0 ) + { + /* should not be counted inside the loop */ + if ( N - WI_SAMPLE_THLD > X.lag ) + { + /* pre-computed and stored in a table */ + w = (float) ( 1.0 - exp( -( i + 1 ) * tmp ) ); + } + else + { + /* can be a look-up table */ + w = (float) ( i + 1 ) / N; + } + } + else + { + if ( nrg_flag ) + { + w = (float) ( i + 1 ) / N; + } + else + { + if ( N <= tmp2_dtfs->lag ) + { + N = tmp2_dtfs->lag + 1; + } + + N1 = N - tmp2_dtfs->lag; + if ( i < N1 ) + { + w = (float) ( i + 1 ) / N1; + } + else + { + w = 1.0; + } + } + } + + /* add sinc interpolation of two time domain waveforms at + appropriate phase position */ + j = ( LL_OS * 10 + (int16_t) rint_new( phase[i] * LL_OS / PI2 ) ) % LL_OS; + + if ( j < 0 ) + { + j = 0; + } + + k = j % WARP_OS_RATE; + l1 = j / WARP_OS_RATE; + + set_f( x_r_fx, 0.0f, L_FRAME ); + + temp_w = ( 1 - w ); + + for ( j1 = 0; j1 < 12; j1++ ) + { + m = ( 1000 * LL + l1 - OSLENGTH / 2 + j1 ) % LL; + + if ( m < 0 ) + { + m = 0; + } + + x_r_fx[m] = x1_256[m] * temp_w + x2_256[m] * w; + } + + for ( j1 = 0, sum1 = sum2 = 0.0; j1 < OSLENGTH; j1++ ) + { + /* mult or div by constants should be done once outside the loop */ + m = ( 1000 * LL + l1 - OSLENGTH / 2 + j1 ) % LL; + + if ( m < 0 ) + { + m = 0; + } + + sum1 += x_r_fx[m] * sinc[k][j1]; + } + + out[i] = sum1; + } +#endif + + count_free( tmp1_dtfs ); + count_free( tmp2_dtfs ); + count_free( tmp3_dtfs ); + + return; +} + + +/*-------------------------------------------------------------------* + * DTFS_zeroFilter() + * + * DTFS zero filter response. + *-------------------------------------------------------------------*/ + +void DTFS_zeroFilter( + DTFS_STRUCTURE *X, /* i/o: DTFS to zeroFilter inplace */ + const float *LPC, /* i : LPCs */ + const int16_t N /* i : LPC order */ +) +{ + float tmp, tmp1, tmp2, sum1, sum2; + int16_t k, n; + +#ifdef FIX_VBR_COMPLEXITY + MOVE( 1 ); + MULT( 1 ); + tmp1 = (float) ( PI2 / X->lag ); + LOOP( 1 ); + for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) + { + MOVE( 2 ); + MULT( 1 ); + tmp = tmp2 = k * tmp1; + /* Calculate sum1 and sum2 */ + MOVE( 1 ); + sum1 = 1.0; + MOVE( 1 ); + sum2 = 0.0; + ADD( 1 ); + LOOP( 1 ); + for ( n = 0; n < N; n++, tmp2 += tmp ) + { + MULT( 1 ); + ADD( 2 ); + sum1 += (float) ( LPC[n] * cos( tmp2 ) ); + MULT( 1 ); + ADD( 1 ); + sum2 += (float) ( LPC[n] * sin( tmp2 ) ); + } + /* Calculate the circular convolution */ + MOVE( 1 ); + tmp = X->a[k]; + MOVE( 1 ); + MAC( 1 ); + X->a[k] = tmp * sum1 - X->b[k] * sum2; + MOVE( 1 ); + MAC( 1 ); + X->b[k] = X->b[k] * sum1 + tmp * sum2; + } +#else tmp1 = (float) ( PI2 / X->lag ); for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) { @@ -708,6 +1256,7 @@ void DTFS_zeroFilter( X->a[k] = tmp * sum1 - X->b[k] * sum2; X->b[k] = X->b[k] * sum1 + tmp * sum2; } +#endif return; } @@ -728,6 +1277,45 @@ void DTFS_poleFilter( float tmp, tmp1, tmp2, sum1, sum2; int16_t k, n; +#ifdef FIX_VBR_COMPLEXITY + MOVE( 1 ); + MULT( 1 ); + tmp1 = (float) ( PI2 / X->lag ); + LOOP( 1 ); + for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) + { + MOVE( 2 ); + MULT( 1 ); + tmp = tmp2 = k * tmp1; + /* Calculate sum1 and sum2 */ + MOVE( 1 ); + sum1 = 1.0; + MOVE( 1 ); + sum2 = 0.0; + ADD( 1 ); + LOOP( 1 ); + for ( n = 0; n < N; n++, tmp2 += tmp ) + { + MULT( 1 ); + ADD( 2 ); + sum1 += (float) ( LPC[n] * cos( tmp2 ) ); + MULT( 1 ); + ADD( 1 ); + sum2 += (float) ( LPC[n] * sin( tmp2 ) ); + } + /* Calculate the circular convolution */ + MOVE( 1 ); + tmp = X->a[k]; + MAC( 1 ); + tmp2 = sum1 * sum1 + sum2 * sum2; + MAC( 1 ); + DIV( 1 ); + X->a[k] = ( tmp * sum1 + X->b[k] * sum2 ) / tmp2; + MAC( 1 ); + ADD( 1 ); + X->b[k] = ( -tmp * sum2 + X->b[k] * sum1 ) / tmp2; + } +#else tmp1 = (float) ( PI2 / X->lag ); for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) { @@ -746,6 +1334,7 @@ void DTFS_poleFilter( X->a[k] = ( tmp * sum1 + X->b[k] * sum2 ) / tmp2; X->b[k] = ( -tmp * sum2 + X->b[k] * sum1 ) / tmp2; } +#endif return; } @@ -765,17 +1354,40 @@ static float DTFS_setEngy( int16_t k; float en1, tmp; +#ifdef FIX_VBR_COMPLEXITY + FUNC( 1 ); + MOVE( 1 ); en1 = DTFS_getEngy( *X_DTFS ); + LOGIC( 1 ); if ( en1 == 0.0 ) { return 0.0; } + MOVE( 1 ); + DIV( 1 ); + SQRT( 1 ); tmp = (float) sqrt( en2 / en1 ); + LOOP( 1 ); for ( k = 0; k <= min( X_DTFS->lag >> 1, X_DTFS->nH ); k++ ) { + MULT( 1 ); X_DTFS->a[k] *= tmp; + MULT( 1 ); X_DTFS->b[k] *= tmp; } +#else + en1 = DTFS_getEngy( *X_DTFS ); + if ( en1 == 0.0 ) + { + return 0.0; + } + tmp = (float) sqrt( en2 / en1 ); + for ( k = 0; k <= min( X_DTFS->lag >> 1, X_DTFS->nH ); k++ ) + { + X_DTFS->a[k] *= tmp; + X_DTFS->b[k] *= tmp; + } +#endif return en1; } @@ -795,6 +1407,58 @@ void DTFS_adjustLag( int16_t k; float en, diff; +#ifdef FIX_VBR_COMPLEXITY + LOGIC( 1 ); + if ( N == X_DTFS->lag ) + { + return; + } + + LOGIC( 1 ); + if ( N > X_DTFS->lag ) + { + + FUNC( 2 ); + DTFS_zeroPadd( N, X_DTFS ); + } + else + { + FUNC( 1 ); + MOVE( 1 ); + en = DTFS_getEngy( *X_DTFS ); + ADD( 1 ); + LOOP( 1 ); + for ( k = ( N >> 1 ) + 1; k <= min( X_DTFS->lag >> 1, X_DTFS->nH ); k++ ) + { + MOVE( 1 ); + X_DTFS->a[k] = 0.0; + MOVE( 1 ); + X_DTFS->b[k] = 0.0; + } + FUNC( 2 ); + DTFS_setEngy( X_DTFS, en ); + MOVE( 1 ); + X_DTFS->lag = N; + /* recompute nH for new lag */ + X_DTFS->nH = (int16_t) floor( X_DTFS->upper_cut_off_freq / ( 12800.0 / X_DTFS->lag ) ); + + X_DTFS->nH_4kHz = (int16_t) floor( 4000.0 / ( 12800.0 / X_DTFS->lag ) ); + MOVE( 1 ); + MULT( 1 ); + diff = 12800.0f / X_DTFS->lag; + MULT( 1 ); + ADD( 1 ); + LOGIC( 1 ); + if ( X_DTFS->upper_cut_off_freq - ( diff * X_DTFS->nH ) >= diff ) + { + X_DTFS->nH++; + } + if ( 4000.0 - ( diff * X_DTFS->nH_4kHz ) >= diff ) + { + X_DTFS->nH_4kHz++; + } + } +#else if ( N == X_DTFS->lag ) { return; @@ -828,6 +1492,7 @@ void DTFS_adjustLag( X_DTFS->nH_4kHz++; } } +#endif return; } @@ -847,6 +1512,27 @@ float DTFS_getEngy( float en; en = 0.0f; +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); + for ( k = 1; k <= min( ( X.lag - 1 ) >> 1, X.nH ); k++ ) + { + MAC( 1 ); + ADD( 1 ); + en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; + } + MULT( 1 ); + en /= 2.0; + MULT( 1 ); + ADD( 1 ); + en += X.a[0] * X.a[0]; + LOGIC( 1 ); + if ( X.lag % 2 == 0 ) + { + MAC( 1 ); + ADD( 1 ); + en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; + } +#else for ( k = 1; k <= min( ( X.lag - 1 ) >> 1, X.nH ); k++ ) { en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; @@ -857,6 +1543,7 @@ float DTFS_getEngy( { en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; } +#endif return en; } @@ -875,6 +1562,31 @@ void DTFS_car2pol( int16_t k; float tmp; +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); + for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) + { + MOVE( 1 ); + tmp = X->a[k]; + MOVE( 1 ); + FUNC( 2 ); + MULT( 1 ); + X->a[k] = (float) ( 0.5f * sqrt( tmp * tmp + X->b[k] * X->b[k] ) ); + MOVE( 1 ); + X->b[k] = (float) atan2( X->b[k], tmp ); + } + LOGIC( 1 ); + if ( X->lag % 2 == 0 ) + { + MOVE( 1 ); + tmp = X->a[k]; + FUNC( 2 ); + MOVE( 1 ); + X->a[k] = (float) sqrt( tmp * tmp + X->b[k] * X->b[k] ); + MOVE( 1 ); + X->b[k] = (float) atan2( X->b[k], tmp ); + } +#else for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) { tmp = X->a[k]; @@ -888,6 +1600,7 @@ void DTFS_car2pol( X->a[k] = (float) sqrt( tmp * tmp + X->b[k] * X->b[k] ); X->b[k] = (float) atan2( X->b[k], tmp ); } +#endif return; } @@ -906,6 +1619,32 @@ void DTFS_pol2car( int16_t k; float tmp; +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); + for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) + { + MOVE( 1 ); + tmp = X->b[k]; + MOVE( 1 ); + MULT( 2 ); + X->b[k] = (float) ( 2.0f * X->a[k] * sin( tmp ) ); + MOVE( 1 ); + MULT( 2 ); + X->a[k] = (float) ( 2.0f * X->a[k] * cos( tmp ) ); + } + LOGIC( 1 ); + if ( X->lag % 2 == 0 ) + { + MOVE( 1 ); + tmp = X->b[k]; + MOVE( 1 ); + MULT( 1 ); + X->b[k] = (float) ( X->a[k] * sin( tmp ) ); + MOVE( 1 ); + MULT( 1 ); + X->a[k] = (float) ( X->a[k] * cos( tmp ) ); + } +#else for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) { tmp = X->b[k]; @@ -919,6 +1658,7 @@ void DTFS_pol2car( X->b[k] = (float) ( X->a[k] * sin( tmp ) ); X->a[k] = (float) ( X->a[k] * cos( tmp ) ); } +#endif return; } @@ -947,11 +1687,20 @@ float DTFS_setEngyHarm( en1 = 0.0f; count = 0; + +#ifdef FIX_VBR_COMPLEXITY + LOGIC( 1 ); if ( f1 == 0.0 ) { + MULT( 1 ); + ADD( 1 ); en1 += X->a[0] * X->a[0]; count++; } + MOVE( 1 ); + ADD( 1 ); + ADD( 1 ); + LOOP( 1 ); for ( k = 1, tmp = diff; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++, tmp += diff ) { if ( X->a[k] < EPSILON ) @@ -959,8 +1708,11 @@ float DTFS_setEngyHarm( X->a[k] = 0; } + LOGIC( 1 ); if ( tmp > f1 && tmp <= f2 ) { + MULT( 1 ); + ADD( 1 ); en1 += X->a[k] * X->a[k]; count++; } @@ -971,6 +1723,8 @@ float DTFS_setEngyHarm( count = 1; } + + DIV( 1 ); en1 /= count; if ( en2 < 0.0 ) @@ -978,38 +1732,105 @@ float DTFS_setEngyHarm( en2 = 0.0; } + LOGIC( 1 ); if ( en1 > 0.0 ) { + MOVE( 1 ); + DIV( 1 ); + SQRT( 1 ); factor = (float) sqrt( en2 / en1 ); } else { + MOVE( 1 ); factor = 0.0f; } + LOGIC( 1 ); if ( g1 == 0.0 ) { + MULT( 1 ); X->a[k] *= factor; } + MOVE( 1 ); + ADD( 1 ); + ADD( 1 ); + LOOP( 1 ); for ( k = 1, tmp = diff; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++, tmp += diff ) { + ADD( 1 ); + ADD( 1 ); + LOGIC( 1 ); if ( tmp > g1 && tmp <= g2 ) { + MULT( 1 ); X->a[k] *= factor; } } +#else + if ( f1 == 0.0 ) + { + en1 += X->a[0] * X->a[0]; + count++; + } + for ( k = 1, tmp = diff; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++, tmp += diff ) + { + if ( X->a[k] < EPSILON ) + { + X->a[k] = 0; + } - return (float) ( en1 + 1e-20 ); -} + if ( tmp > f1 && tmp <= f2 ) + { + en1 += X->a[k] * X->a[k]; + count++; + } + } + if ( count <= 0.0 ) + { + count = 1; + } -/*-------------------------------------------------------------------* - * cubicPhase() - * - * Compute coefficients of cubic phase function - *-------------------------------------------------------------------*/ + en1 /= count; -static void cubicPhase( - float ph1, /* i : phase offset */ + if ( en2 < 0.0 ) + { + en2 = 0.0; + } + + if ( en1 > 0.0 ) + { + factor = (float) sqrt( en2 / en1 ); + } + else + { + factor = 0.0f; + } + if ( g1 == 0.0 ) + { + X->a[k] *= factor; + } + for ( k = 1, tmp = diff; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++, tmp += diff ) + { + if ( tmp > g1 && tmp <= g2 ) + { + X->a[k] *= factor; + } + } +#endif + + return (float) ( en1 + 1e-20 ); +} + + +/*-------------------------------------------------------------------* + * cubicPhase() + * + * Compute coefficients of cubic phase function + *-------------------------------------------------------------------*/ + +static void cubicPhase( + float ph1, /* i : phase offset */ float ph2, /* i : phase 2 */ const float L1, /* i : previous lag */ const float L2, /* i : current lag */ @@ -1021,6 +1842,75 @@ static void cubicPhase( int16_t n; double diff; +#ifdef FIX_VBR_COMPLEXITY + ADD( 1 ); + N -= (int16_t) L2; + + if ( N <= 0 ) + { + N = 1; + } + + /* Computation of the coefficients of the cubic phase function */ + MOVE( 1 ); + DIV( 1 ); + f1 = (float) ( PI2 / L1 ); + MOVE( 1 ); + DIV( 1 ); + f2 = (float) ( PI2 / L2 ); + MOVE( 1 ); + DIV( 1 ); + ph1 = (float) fmod( (double) ( ph1 ), PI2 ); + MOVE( 1 ); + DIV( 1 ); + ph2 = (float) fmod( (double) ( ph2 ), PI2 ); + MOVE( 1 ); + coef[3] = ph1; + MOVE( 1 ); + coef[2] = f1; + MOVE( 1 ); + MAC( 1 ); + ADD( 1 ); + FUNC( 1 ); + ADD( 1 ); + factor = (float) ( anint( ( ph1 - ph2 + 0.5 * N * ( f2 + f1 ) ) / PI2 ) ); + MOVE( 1 ); + ADD( 1 ); + c1 = f2 - f1; + MOVE( 1 ); + MAC( 1 ); + ADD( 2 ); + c2 = (float) ( ph2 - ph1 - N * f1 + PI2 * factor ); + MOVE( 1 ); + MAC( 1 ); + DIV( 1 ); + coef[0] = ( N * c1 - 2 * c2 ) / ( N * N * N ); + MOVE( 1 ); + MULT( 4 ); + DIV( 1 ); + ADD( 1 ); + coef[1] = ( c1 - 3 * N * N * coef[0] ) / ( 2 * N ); + /* Computation of the phase value at each sample point */ + MOVE( 1 ); + phOut[0] = ph1; + LOOP( 1 ); + for ( n = 1; n < N; n++ ) + { + MOVE( 1 ); + phOut[n] = _POLY3( n, coef ); + } + MOVE( 1 ); + MULT( 1 ); + diff = (float) ( PI2 / L2 ); + ADD( 1 ); + LOOP( 1 ); + for ( ; n < N + (int) L2; n++ ) + { + MOVE( 1 ); + ADD( 2 ); + phOut[n] = (float) ( phOut[n - 1] + diff ); + } +#else N -= (int16_t) L2; if ( N <= 0 ) @@ -1052,6 +1942,7 @@ static void cubicPhase( { phOut[n] = (float) ( phOut[n - 1] + diff ); } +#endif return; } @@ -1085,12 +1976,21 @@ void DTFS_to_erb( erb = &( erb_WB[0] ); } +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); for ( i = 0; i < num_erb; i++ ) { + MOVE( 1 ); count[i] = 0; + MOVE( 1 ); out[i] = 0.0; } + MOVE( 1 ); + MULT( 1 ); diff = 12800.0f / X.lag; + MOVE( 2 ); + ADD( 1 ); + LOOP( 1 ); for ( i = j = 0, freq = 0.0; i <= min( X.lag >> 1, X.nH ); i++, freq += diff ) { if ( !( freq <= erb[num_erb] ) ) @@ -1098,8 +1998,10 @@ void DTFS_to_erb( freq = erb[num_erb]; } + LOOP( 1 ); for ( ; j < num_erb; j++ ) { + LOGIC( 1 ); if ( freq < erb[j + 1] ) { if ( X.a[i] < 0.0f ) @@ -1107,19 +2009,60 @@ void DTFS_to_erb( X.a[i] = 0.0f; } + ADD( 1 ); out[j] += X.a[i]; count[j]++; break; } } } + LOOP( 1 ); for ( i = 0; i < num_erb; i++ ) { + LOGIC( 1 ); if ( count[i] > 1 ) { + DIV( 1 ); out[i] /= count[i]; } } +#else + for ( i = 0; i < num_erb; i++ ) + { + count[i] = 0; + out[i] = 0.0; + } + diff = 12800.0f / X.lag; + for ( i = j = 0, freq = 0.0; i <= min( X.lag >> 1, X.nH ); i++, freq += diff ) + { + if ( !( freq <= erb[num_erb] ) ) + { + freq = erb[num_erb]; + } + + for ( ; j < num_erb; j++ ) + { + if ( freq < erb[j + 1] ) + { + if ( X.a[i] < 0.0f ) + { + X.a[i] = 0.0f; + } + + out[j] += X.a[i]; + count[j]++; + break; + } + } + } + for ( i = 0; i < num_erb; i++ ) + { + if ( count[i] > 1 ) + { + out[i] /= count[i]; + } + } +#endif return; } @@ -1155,6 +2098,68 @@ void erb_slot( upper_cut_off_freq = 6400; erb = &( erb_WB[0] ); } + +#ifdef FIX_VBR_COMPLEXITY + MOVE( 1 ); + MULT( 1 ); + nH_band = (int16_t) floor( upper_cut_off_freq / ( 12800.0 / lag ) ); + + LOOP( 1 ); + for ( i = 0; i < num_erb; i++ ) + { + MOVE( 1 ); + out[i] = 0; + MOVE( 1 ); + mfreq[i] = 0.0; + } + MOVE( 1 ); + MULT( 1 ); + diff = 12800.0f / lag; + MULT( 1 ); + ADD( 1 ); + LOGIC( 1 ); + if ( upper_cut_off_freq - ( diff * nH_band ) >= diff ) + { + nH_band++; + } + MOVE( 2 ); + ADD( 1 ); + LOOP( 1 ); + for ( i = j = 0, freq = 0.0; i <= min( lag >> 1, nH_band ); i++, freq += diff ) + { + + if ( !( freq <= erb[num_erb] ) ) + { + freq = erb[num_erb]; + } + + MOVE( 1 ); + freq = min( freq, upper_cut_off_freq ); + + LOOP( 1 ); + for ( ; j < num_erb; j++ ) + { + LOGIC( 1 ); + if ( freq < erb[j + 1] ) + { + ADD( 1 ); + mfreq[j] += freq; + out[j]++; + break; + } + } + } + LOOP( 1 ); + for ( j = 0; j < num_erb; j++ ) + { + LOGIC( 1 ); + if ( out[j] > 1 ) + { + DIV( 1 ); + mfreq[j] /= out[j]; + } + } +#else nH_band = (int16_t) floor( upper_cut_off_freq / ( 12800.0 / lag ) ); for ( i = 0; i < num_erb; i++ ) @@ -1195,6 +2200,7 @@ void erb_slot( mfreq[j] /= out[j]; } } +#endif return; } @@ -1232,24 +2238,38 @@ void DTFS_erb_inv( erb = &( erb_WB[0] ); } +#ifdef FIX_VBR_COMPLEXITY + MOVE( 1 ); f[m] = 0.0; + MOVE( 1 ); amp[m] = 0.0; m++; + LOOP( 1 ); for ( i = 0; i < num_erb; i++ ) { + LOGIC( 1 ); if ( slot[i] != 0 ) { + MOVE( 1 ); f[m] = mfreq[i]; + MOVE( 1 ); amp[m] = in[i]; m++; } } + MOVE( 1 ); f[m] = upper_cut_off_freq; + MOVE( 1 ); amp[m] = 0.0; m++; + MOVE( 1 ); + MULT( 1 ); diff = 12800.0f / X->lag; + MOVE( 2 ); + ADD( 1 ); + LOOP( 1 ); for ( i = 0, j = 1, freq = 0.0; i <= min( X->lag >> 1, X->nH ); i++, freq += diff ) { if ( !( freq <= erb[num_erb] ) ) @@ -1262,96 +2282,426 @@ void DTFS_erb_inv( m = num_erb + 2; } + LOGIC( 1 ); if ( freq > upper_cut_off_freq ) { + MOVE( 1 ); freq = upper_cut_off_freq; } + LOOP( 1 ); for ( ; j < m; j++ ) { + LOGIC( 1 ); if ( freq <= f[j] ) { + MOVE( 1 ); + MAC( 2 ); + ADD( 1 ); X->a[i] = amp[j] * ( freq - f[j - 1] ) + amp[j - 1] * ( f[j] - freq ); + LOGIC( 1 ); if ( f[j] != f[j - 1] ) { - X->a[i] /= ( f[j] - f[j - 1] ); + DIV( 1 ); + ADD( 1 ); + X->a[i] /= ( f[j] - f[j - 1] ); + } + break; + } + } + + X->a[0] = 0.0f; + } +#else + f[m] = 0.0; + amp[m] = 0.0; + m++; + for ( i = 0; i < num_erb; i++ ) + { + if ( slot[i] != 0 ) + { + f[m] = mfreq[i]; + amp[m] = in[i]; + m++; + } + } + f[m] = upper_cut_off_freq; + amp[m] = 0.0; + m++; + + diff = 12800.0f / X->lag; + + for ( i = 0, j = 1, freq = 0.0; i <= min( X->lag >> 1, X->nH ); i++, freq += diff ) + { + if ( !( freq <= erb[num_erb] ) ) + { + freq = erb[num_erb]; + } + + if ( !( m <= num_erb + 2 ) ) + { + m = num_erb + 2; + } + + if ( freq > upper_cut_off_freq ) + { + freq = upper_cut_off_freq; + } + for ( ; j < m; j++ ) + { + if ( freq <= f[j] ) + { + X->a[i] = amp[j] * ( freq - f[j - 1] ) + amp[j - 1] * ( f[j] - freq ); + if ( f[j] != f[j - 1] ) + { + X->a[i] /= ( f[j] - f[j - 1] ); + } + break; + } + } + + X->a[0] = 0.0f; + } +#endif + + return; +} + + +/*-------------------------------------------------------------------* + * LPCPowSpect() + * + * LPC power spectrum + *-------------------------------------------------------------------*/ + +static void LPCPowSpect( + const float *freq, /* i : ERB frequencies */ + const int16_t Nf, /* i : Number of ERBs */ + const float *LPC, /* i : LPC coefficients */ + const int16_t Np, /* i : Number of LPCs */ + float *out /* o : LPC power spectrum */ +) +{ + float w, tmp, Re, Im; + int16_t i, k; + +#ifdef FIX_VBR_COMPLEXITY + LOOP( 1 ); + for ( k = 0; k < Nf; k++ ) + { + MOVE( 1 ); + Re = 1.0; + MOVE( 1 ); + Im = 0.0; + /* Note that freq ranges between [0 UPPER_CUT_OFF_FREQ] */ + MOVE( 1 ); + MULT( 2 ); + tmp = (float) ( freq[k] / 12800.0f * PI2 ); + MOVE( 1 ); + ADD( 1 ); + LOOP( 1 ); + for ( i = 0, w = tmp; i < Np; i++, w += tmp ) + { + MULT( 1 ); + ADD( 2 ); + Re += (float) ( LPC[i] * cos( w ) ); + MULT( 1 ); + ADD( 1 ); + Im -= (float) ( LPC[i] * sin( w ) ); + } + MOVE( 1 ); + MAC( 1 ); + DIV( 1 ); + out[k] = 1.0f / ( Re * Re + Im * Im ); + } +#else + for ( k = 0; k < Nf; k++ ) + { + Re = 1.0; + Im = 0.0; + /* Note that freq ranges between [0 UPPER_CUT_OFF_FREQ] */ + tmp = (float) ( freq[k] / 12800.0f * PI2 ); + for ( i = 0, w = tmp; i < Np; i++, w += tmp ) + { + Re += (float) ( LPC[i] * cos( w ) ); + Im -= (float) ( LPC[i] * sin( w ) ); + } + out[k] = 1.0f / ( Re * Re + Im * Im ); + } +#endif + + return; +} + + +/*-------------------------------------------------------------------* + * erb_diff() + * + * ERB difference + *-------------------------------------------------------------------*/ + +void erb_diff( + const float *prev_erb, /* i : previous ERB */ + const int16_t pl, /* i : previous lag */ + const float *curr_erb, /* i : current ERB */ + const int16_t l, /* i : current lag */ + const float *curr_lsp, /* i : current LSP coefficients */ + float *out, /* o : ERB difference */ + int16_t *index, /* i : ERB index */ + const int16_t num_erb /* i : Number of ERBs */ +) +{ + int16_t i, j; + int16_t pslot[NUM_ERB_WB], cslot[NUM_ERB_WB], mmseindex; + float tmp, tmp1, t_prev_erb[NUM_ERB_WB], LPC[M + 1], mfreq[NUM_ERB_WB], PowSpect[NUM_ERB_WB], mmse; + const float( *AmpCB1 )[10] = 0; + + if ( num_erb == NUM_ERB_NB ) + { + AmpCB1 = AmpCB1_NB; + } + else if ( num_erb == NUM_ERB_WB ) + { + AmpCB1 = AmpCB1_WB; + } + +#ifdef FIX_VBR_COMPLEXITY + FUNC( 3 ); + erb_slot( l, cslot, mfreq, num_erb ); + FUNC( 3 ); + erb_slot( pl, pslot, t_prev_erb, num_erb ); + MOVE( 1 ); + ADD( 1 ); + LOOP( 1 ); + for ( i = 0, tmp = 1.0f; i < M + 1; i++ ) + { + MOVE( 1 ); + MULT( 2 ); + ADD( 1 ); + LPC[i] = curr_lsp[i] * ( tmp *= 0.78f ); + } + FUNC( 5 ); + ADD( 1 ); + LPCPowSpect( mfreq, num_erb, LPC, M + 1, PowSpect ); + + LOOP( 1 ); + for ( i = 0; i < num_erb; i++ ) + { + MOVE( 1 ); + t_prev_erb[i] = prev_erb[i]; + } + + LOGIC( 1 ); + if ( pl > l ) + { + MOVE( 1 ); + tmp = t_prev_erb[0]; + LOOP( 1 ); + for ( i = 0; i < num_erb; i++ ) + { + if ( pslot[i] < 0 ) + { + pslot[i] = 0; + } + + LOGIC( 1 ); + if ( pslot[i] != 0 ) + { + MOVE( 1 ); + tmp = t_prev_erb[i]; + } + else + { + MOVE( 1 ); + t_prev_erb[i] = tmp; + } + } + } + else if ( l > pl ) + { + MOVE( 1 ); + tmp = t_prev_erb[num_erb - 1]; + ADD( 1 ); + LOOP( 1 ); + for ( i = num_erb - 1; i >= 0; i-- ) + { + LOGIC( 1 ); + if ( pslot[i] != 0 ) + { + MOVE( 1 ); + tmp = t_prev_erb[i]; + } + else + { + MOVE( 1 ); + t_prev_erb[i] = tmp; + } + } + } + + LOOP( 1 ); + for ( i = 0; i < num_erb; i++ ) + { + MOVE( 1 ); + ADD( 1 ); + out[i] = curr_erb[i] - t_prev_erb[i]; + } + + /* First Band Amplitude Search */ + MOVE( 1 ); + mmse = (float) HUGE_VAL; + MOVE( 1 ); + mmseindex = -1; + LOOP( 1 ); + for ( j = 0; j < ERB_CBSIZE1; j++ ) + { + MOVE( 1 ); + tmp = 0.0; + LOOP( 1 ); + for ( i = 1; i < 11; i++ ) + { + LOGIC( 1 ); + if ( cslot[i] != 0 ) + { + ADD( 1 ); + LOGIC( 1 ); + if ( AmpCB1[j][i - 1] < -t_prev_erb[i] ) + { + MOVE( 1 ); + MULT( 1 ); + MULT( 1 ); + tmp1 = PowSpect[i] * SQR( curr_erb[i] ); + } + else + { + MOVE( 1 ); + MAC( 1 ); + MULT( 1 ); + tmp1 = (float) ( PowSpect[i] * SQR( out[i] - AmpCB1[j][i - 1] ) ); } - break; + LOGIC( 1 ); + if ( AmpCB1[j][i - 1] < out[i] ) + { + MULT( 1 ); + tmp1 *= 0.9f; + } + ADD( 1 ); + tmp += tmp1; } } - X->a[0] = 0.0f; + LOGIC( 1 ); + if ( tmp < mmse ) + { + MOVE( 1 ); + mmse = tmp; + MOVE( 1 ); + mmseindex = j; + } } - return; -} - - -/*-------------------------------------------------------------------* - * LPCPowSpect() - * - * LPC power spectrum - *-------------------------------------------------------------------*/ - -static void LPCPowSpect( - const float *freq, /* i : ERB frequencies */ - const int16_t Nf, /* i : Number of ERBs */ - const float *LPC, /* i : LPC coefficients */ - const int16_t Np, /* i : Number of LPCs */ - float *out /* o : LPC power spectrum */ -) -{ - float w, tmp, Re, Im; - int16_t i, k; - - for ( k = 0; k < Nf; k++ ) + if ( !( mmseindex < ERB_CBSIZE1 && mmseindex >= 0 ) ) { - Re = 1.0; - Im = 0.0; - /* Note that freq ranges between [0 UPPER_CUT_OFF_FREQ] */ - tmp = (float) ( freq[k] / 12800.0f * PI2 ); - for ( i = 0, w = tmp; i < Np; i++, w += tmp ) - { - Re += (float) ( LPC[i] * cos( w ) ); - Im -= (float) ( LPC[i] * sin( w ) ); - } - out[k] = 1.0f / ( Re * Re + Im * Im ); + mmseindex = 0; } - return; -} + MOVE( 1 ); + index[0] = mmseindex; + /* Second Band Amplitude Search */ + MOVE( 1 ); + mmse = (float) HUGE_VAL; + MOVE( 1 ); + mmseindex = -1; + LOOP( 1 ); + for ( j = 0; j < ERB_CBSIZE2; j++ ) + { + MOVE( 1 ); + tmp = 0.0; + for ( i = 11; i < num_erb; i++ ) + { + if ( num_erb == NUM_ERB_NB ) + { + LOGIC( 1 ); + if ( cslot[i] != 0 ) + { + ADD( 1 ); + LOGIC( 1 ); + if ( AmpCB2_NB[j][i - 11] < -t_prev_erb[i] ) + { + MOVE( 1 ); + MULT( 1 ); + MULT( 1 ); + tmp1 = PowSpect[i] * SQR( curr_erb[i] ); + } + else + { + MOVE( 1 ); + MAC( 1 ); + MULT( 1 ); + tmp1 = (float) ( PowSpect[i] * SQR( out[i] - AmpCB2_NB[j][i - 11] ) ); + } -/*-------------------------------------------------------------------* - * erb_diff() - * - * ERB difference - *-------------------------------------------------------------------*/ + LOGIC( 1 ); + if ( AmpCB2_NB[j][i - 11] < out[i] ) + { + MULT( 1 ); + tmp1 *= 0.9f; + } + ADD( 1 ); + tmp += tmp1; + } + } + else if ( num_erb == NUM_ERB_WB ) + { + if ( cslot[i] != 0 ) + { + ADD( 1 ); + LOGIC( 1 ); + if ( AmpCB2_WB[j][i - 11] < -t_prev_erb[i] ) + { + MOVE( 1 ); + MULT( 1 ); + MULT( 1 ); + tmp1 = PowSpect[i] * SQR( curr_erb[i] ); + } + else + { + MOVE( 1 ); + MAC( 1 ); + MULT( 1 ); + tmp1 = (float) ( PowSpect[i] * SQR( out[i] - AmpCB2_WB[j][i - 11] ) ); + } -void erb_diff( - const float *prev_erb, /* i : previous ERB */ - const int16_t pl, /* i : previous lag */ - const float *curr_erb, /* i : current ERB */ - const int16_t l, /* i : current lag */ - const float *curr_lsp, /* i : current LSP coefficients */ - float *out, /* o : ERB difference */ - int16_t *index, /* i : ERB index */ - const int16_t num_erb /* i : Number of ERBs */ -) -{ - int16_t i, j; - int16_t pslot[NUM_ERB_WB], cslot[NUM_ERB_WB], mmseindex; - float tmp, tmp1, t_prev_erb[NUM_ERB_WB], LPC[M + 1], mfreq[NUM_ERB_WB], PowSpect[NUM_ERB_WB], mmse; - const float( *AmpCB1 )[10] = 0; + LOGIC( 1 ); + if ( AmpCB2_WB[j][i - 11] < out[i] ) + { + MULT( 1 ); + tmp1 *= 0.9f; + } + ADD( 1 ); + tmp += tmp1; + } + } + } - if ( num_erb == NUM_ERB_NB ) - { - AmpCB1 = AmpCB1_NB; + LOGIC( 1 ); + if ( tmp < mmse ) + { + MOVE( 1 ); + mmse = tmp; + MOVE( 1 ); + mmseindex = j; + } } - else if ( num_erb == NUM_ERB_WB ) + + if ( !( mmseindex < ERB_CBSIZE2 && mmseindex >= 0 ) ) { - AmpCB1 = AmpCB1_WB; + mmseindex = 0; } + MOVE( 1 ); + index[1] = mmseindex; +#else erb_slot( l, cslot, mfreq, num_erb ); erb_slot( pl, pslot, t_prev_erb, num_erb ); for ( i = 0, tmp = 1.0f; i < M + 1; i++ ) @@ -1509,6 +2859,7 @@ void erb_diff( } index[1] = mmseindex; +#endif return; } @@ -1540,6 +2891,115 @@ void erb_add( { AmpCB1 = AmpCB1_WB; } + +#ifdef FIX_VBR_COMPLEXITY + FUNC( 3 ); + erb_slot( l, cslot, t_prev_erb, num_erb ); + FUNC( 3 ); + erb_slot( pl, pslot, t_prev_erb, num_erb ); + + LOOP( 1 ); + for ( i = 0; i < num_erb; i++ ) + { + MOVE( 1 ); + t_prev_erb[i] = prev_erb[i]; + } + + LOGIC( 1 ); + if ( pl > l ) + { + MOVE( 1 ); + tmp = t_prev_erb[0]; + LOOP( 1 ); + for ( i = 0; i < num_erb; i++ ) + { + if ( !( pslot[i] >= 0 ) ) + { + pslot[i] = 0; + } + + LOGIC( 1 ); + if ( pslot[i] != 0 ) + { + MOVE( 1 ); + tmp = t_prev_erb[i]; + } + else + { + MOVE( 1 ); + t_prev_erb[i] = tmp; + } + } + } + else if ( l > pl ) + { + MOVE( 1 ); + tmp = t_prev_erb[num_erb - 1]; + ADD( 1 ); + LOOP( 1 ); + for ( i = num_erb - 1; i >= 0; i-- ) + { + LOGIC( 1 ); + if ( pslot[i] != 0 ) + { + MOVE( 1 ); + tmp = t_prev_erb[i]; + } + else + { + MOVE( 1 ); + t_prev_erb[i] = tmp; + } + } + } + + LOOP( 1 ); + for ( i = 1; i < 11; i++ ) + { + LOGIC( 1 ); + if ( cslot[i] != 0 ) + { + MOVE( 1 ); + ADD( 1 ); + curr_erb[i] = (float) ( AmpCB1[index[0]][i - 1] + t_prev_erb[i] ); + MOVE( 1 ); + curr_erb[i] = max( 0.0f, curr_erb[i] ); + } + else + { + MOVE( 1 ); + curr_erb[i] = 0.0; + } + } + LOOP( 1 ); + for ( i = 11; i < ( num_erb - 2 ); i++ ) + { + LOGIC( 1 ); + if ( cslot[i] != 0 ) + { + MOVE( 1 ); + if ( num_erb == NUM_ERB_NB ) + { + ADD( 1 ); + curr_erb[i] = (float) ( AmpCB2_NB[index[1]][i - 11] + t_prev_erb[i] ); + MOVE( 1 ); + curr_erb[i] = max( 0.0f, curr_erb[i] ); + } + else if ( num_erb == NUM_ERB_WB ) + { + ADD( 1 ); + curr_erb[i] = (float) ( AmpCB2_WB[index[1]][i - 11] + t_prev_erb[i] ); + MOVE( 1 ); + curr_erb[i] = max( 0.0f, curr_erb[i] ); + } + } + else + { + MOVE( 1 ); + curr_erb[i] = 0.0f; + } + } +#else erb_slot( l, cslot, t_prev_erb, num_erb ); erb_slot( pl, pslot, t_prev_erb, num_erb ); @@ -1616,10 +3076,12 @@ void erb_add( curr_erb[i] = 0.0f; } } +#endif return; } + /*-------------------------------------------------------------------* * WIsyn() * @@ -1653,6 +3115,78 @@ ivas_error WIsyn( return IVAS_ERROR( error, "Error creating new DTFS structure\n" ); } +#ifdef FIX_VBR_COMPLEXITY + FUNC( 2 ); + DTFS_copy( CURRCW_DTFS, *CURRCW_DTFS_out ); + + /* Calculating the expected alignment shift */ + MOVE( 1 ); + MULT( 2 ); + INDIRECT( 1 ); + INDIRECT( 1 ); + alignment = (float) ( *ph_offset / PI2 * PREVCW.lag ); + LOGIC( 1 ); + if ( flag == 1 ) + { + MULT( 1 ); + alignment *= I; + } + /* Calculating the expected alignment shift */ + MOVE( 1 ); + DIV( 1 ); + ADD( 2 ); + DIV( 1 ); + tmp = (float) fmod( ( N % ( ( PREVCW.lag + CURRCW_DTFS->lag ) >> 1 ) + alignment ), CURRCW_DTFS->lag ); + + /* Compute the alignment shift */ + if ( FR_flag == 0 ) + { + FUNC( 5 ); + MOVE( 1 ); + alignment = DTFS_alignment_weight( PREVCW, *CURRCW_DTFS, tmp, curr_lpc, curr_lpc ); + } + else /* FR case */ + { + FUNC( 5 ); + MOVE( 1 ); + alignment = DTFS_alignment_full( PREVCW, *CURRCW_DTFS, CURRCW_DTFS->lag * 2 ); + } + + MOVE( 1 ); + MULT( 2 ); + tmp = (float) ( PI2 * alignment / CURRCW_DTFS->lag ); + FUNC( 2 ); + DTFS_phaseShift( CURRCW_DTFS, tmp ); + FUNC( 2 ); + MULT( 2 ); + DTFS_phaseShift( CURRCW_DTFS, (float) ( PI2 * alignment / CURRCW_DTFS->lag ) ); + + /* Compute the cubic phase track and transform to 1-D signal */ + FUNC( 6 ); + cubicPhase( *ph_offset, tmp, (float) PREVCW.lag, (float) CURRCW_DTFS->lag, N, phase ); + + if ( FR_flag == 0 ) + { + FUNC( 6 ); + DTFS_transform( PREVCW, *CURRCW_DTFS, phase, out, N, 0 ); + } + else + { + FUNC( 6 ); + DTFS_transform( PREVCW, *CURRCW_DTFS, phase, out, N, 1 ); + } + + /* Adjust the phase offset and wrap it between 0 and 2pi */ + LOGIC( 1 ); + if ( flag == 2 ) + { + MULT( 1 ); + tmp *= I; + } + MOVE( 1 ); + DIV( 1 ); + *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); +#else DTFS_copy( CURRCW_DTFS, *CURRCW_DTFS_out ); /* Calculating the expected alignment shift */ @@ -1696,9 +3230,14 @@ ivas_error WIsyn( tmp *= I; } *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); +#endif count_free( phase ); count_free( CURRCW_DTFS ); return error; } + +#ifdef FIX_VBR_COMPLEXITY +#undef WMC_TOOL_MAN +#endif -- GitLab From 976df6d8a844e4bc87d1d51d834db6890e73b397 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 6 Dec 2022 16:33:31 +0100 Subject: [PATCH 270/620] fix BE --- lib_com/wi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_com/wi.c b/lib_com/wi.c index f8245ede4d..066b7faf50 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -153,6 +153,7 @@ void DTFS_copy( Xout->upper_cut_off_freq_of_interest = Xinp.upper_cut_off_freq_of_interest; Xout->upper_cut_off_freq = Xinp.upper_cut_off_freq; #endif + return; } @@ -3159,7 +3160,7 @@ ivas_error WIsyn( DTFS_phaseShift( CURRCW_DTFS, tmp ); FUNC( 2 ); MULT( 2 ); - DTFS_phaseShift( CURRCW_DTFS, (float) ( PI2 * alignment / CURRCW_DTFS->lag ) ); + DTFS_phaseShift( CURRCW_DTFS_out, (float) ( PI2 * alignment / CURRCW_DTFS->lag ) ); /* Compute the cubic phase track and transform to 1-D signal */ FUNC( 6 ); -- GitLab From 8a67bc005ccbf3a5260a035e6bc30a9b149c9c30 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 16:55:56 +0100 Subject: [PATCH 271/620] Keep #define WMOPS in options.h because coan crashes on wmc_auto.h --- scripts/prepare_instrumentation.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/prepare_instrumentation.sh b/scripts/prepare_instrumentation.sh index 4a89d1018b..70385e971c 100755 --- a/scripts/prepare_instrumentation.sh +++ b/scripts/prepare_instrumentation.sh @@ -87,6 +87,9 @@ fi # strip switches, to remove the macros (turn on extended globing to allow !(pattern*) matching) shopt -s extglob if coan_exists; then + # remove WMOPS from the list -> otherwise it will be removed with coan and wmc_auto.h will not see it + sed -i "/-DWMOPS/d" $ifdef_list + coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/lib_{com,dec,enc,rend,util,debug}/!(wmc_auto*).[hc] coan source --replace --no-transients -E -K --file $ifdef_list $targetdir/apps/*.[hc] else @@ -98,8 +101,8 @@ shopt -u extglob find $targetdir -name "*.[ch]" -exec sed -i.bak -e "s/\(0x[0-9a-fA-F]*\)UL/\(\(unsigned long\)\1\)/" \{\} \; # run wmc_tool -"tools/$system/wmc_tool" -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" -"tools/$system/wmc_tool" -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_rend/*.c" +"tools/$system/wmc_tool" -m "$targetdir/apps/encoder.c" "$targetdir/lib_enc/*.c" "$targetdir/lib_com/*.c" >> /dev/null +"tools/$system/wmc_tool" -m "$targetdir/apps/decoder.c" "$targetdir/lib_dec/*.c" "$targetdir/lib_rend/*.c" >> /dev/null # automatically enable #define WMOPS in options.h sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" $targetdir/lib_com/options.h -- GitLab From 4761cfdb38142c5cc46351b6c1f7427b2efb8d05 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 6 Dec 2022 17:07:30 +0100 Subject: [PATCH 272/620] VBR: change count_malloc() -> dynamic->malloc() --- lib_com/wi.c | 14 ++--- lib_dec/dec_gen_voic.c | 4 +- lib_dec/ppp_dec.c | 2 +- lib_dec/voiced_dec.c | 6 +- lib_enc/ppp_enc.c | 3 +- lib_enc/voiced_enc.c | 134 +++++++++++++++++++++-------------------- 6 files changed, 83 insertions(+), 80 deletions(-) diff --git a/lib_com/wi.c b/lib_com/wi.c index 066b7faf50..b0d16671b0 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -77,7 +77,7 @@ ivas_error DTFS_new( int16_t i; DTFS_STRUCTURE *dtfs = NULL; - dtfs = (DTFS_STRUCTURE *) count_malloc( sizeof( DTFS_STRUCTURE ) ); + dtfs = (DTFS_STRUCTURE *) dynamic_malloc( sizeof( DTFS_STRUCTURE ) ); if ( dtfs == NULL ) { @@ -1180,9 +1180,9 @@ static void DTFS_transform( } #endif - count_free( tmp1_dtfs ); - count_free( tmp2_dtfs ); - count_free( tmp3_dtfs ); + dynamic_free( tmp1_dtfs ); + dynamic_free( tmp2_dtfs ); + dynamic_free( tmp3_dtfs ); return; } @@ -3106,7 +3106,7 @@ ivas_error WIsyn( error = IVAS_ERR_OK; - if ( ( phase = (float *) count_malloc( N * sizeof( float ) ) ) == NULL ) + if ( ( phase = (float *) dynamic_malloc( N * sizeof( float ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for WI structure\n" ) ); } @@ -3233,8 +3233,8 @@ ivas_error WIsyn( *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); #endif - count_free( phase ); - count_free( CURRCW_DTFS ); + dynamic_free( phase ); + dynamic_free( CURRCW_DTFS ); return error; } diff --git a/lib_dec/dec_gen_voic.c b/lib_dec/dec_gen_voic.c index ba8f0424ea..0151abcbba 100644 --- a/lib_dec/dec_gen_voic.c +++ b/lib_dec/dec_gen_voic.c @@ -285,8 +285,8 @@ ivas_error decod_gen_voic( } } - count_free( PREVP ); - count_free( CURRP ); + dynamic_free( PREVP ); + dynamic_free( CURRP ); } } diff --git a/lib_dec/ppp_dec.c b/lib_dec/ppp_dec.c index 24ad0146a0..3de25cf680 100644 --- a/lib_dec/ppp_dec.c +++ b/lib_dec/ppp_dec.c @@ -177,7 +177,7 @@ ivas_error ppp_quarter_decoder( tmp = (float) get_next_indice( st, 3 ); DTFS_phaseShift( CURRCW_Q_DTFS, (float) ( PI2 * ( tmp - 3 ) / CURRCW_Q_DTFS->lag ) ); - count_free( PREVDTFS ); + dynamic_free( PREVDTFS ); return error; } diff --git a/lib_dec/voiced_dec.c b/lib_dec/voiced_dec.c index 08d58ffc7d..cda7120103 100644 --- a/lib_dec/voiced_dec.c +++ b/lib_dec/voiced_dec.c @@ -233,9 +233,9 @@ ivas_error ppp_voiced_decoder( mvr2r( dtfs_temp->a, hSC_VBR->dtfs_dec_a, MAXLAG_WI ); mvr2r( dtfs_temp->b, hSC_VBR->dtfs_dec_b, MAXLAG_WI ); - count_free( TMPDTFS ); - count_free( CURRP_Q_D ); - count_free( dtfs_temp ); + dynamic_free( TMPDTFS ); + dynamic_free( CURRP_Q_D ); + dynamic_free( dtfs_temp ); return error; } diff --git a/lib_enc/ppp_enc.c b/lib_enc/ppp_enc.c index 887be74fd5..f2c6f4e2bd 100644 --- a/lib_enc/ppp_enc.c +++ b/lib_enc/ppp_enc.c @@ -355,11 +355,12 @@ ivas_error ppp_quarter_encoder( push_indice( hBstr, IND_GLOBAL_ALIGNMENT, (int16_t) ( tmp + 3 ), 3 ); - count_free( PREVDTFS ); + dynamic_free( PREVDTFS ); return error; } + /*-------------------------------------------------------------------* * set_ppp_mode() * diff --git a/lib_enc/voiced_enc.c b/lib_enc/voiced_enc.c index 55ee77a476..d67ecbbce2 100644 --- a/lib_enc/voiced_enc.c +++ b/lib_enc/voiced_enc.c @@ -554,12 +554,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -580,12 +580,13 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); + return error; } @@ -607,12 +608,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -748,12 +749,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -779,12 +780,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -800,12 +801,12 @@ ivas_error ppp_voiced_encoder( if ( hSC_VBR->bump_up == 1 ) { - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -815,12 +816,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -834,12 +835,13 @@ ivas_error ppp_voiced_encoder( { if ( ( error = ppp_quarter_encoder( &flag, hBstr, CURRP_Q_E, TMPDTFS, dtfs_temp->lag, *CURRP_NQ, lpc2, &( hSC_VBR->lastLgainE ), &( hSC_VBR->lastHgainE ), &( hSC_VBR->lasterbE[0] ), *dtfs_temp ) ) != IVAS_ERR_OK ) { - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); + return error; } } @@ -1025,12 +1027,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -1045,12 +1047,12 @@ ivas_error ppp_voiced_encoder( PPP_MODE_E = 'B'; hSC_VBR->bump_up = 1; - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } @@ -1082,12 +1084,12 @@ ivas_error ppp_voiced_encoder( mvr2r( dtfs_temp->a, hSC_VBR->dtfs_enc_a, MAXLAG_WI ); mvr2r( dtfs_temp->b, hSC_VBR->dtfs_enc_b, MAXLAG_WI ); - count_free( CURRP_NQ ); - count_free( TMPDTFS ); - count_free( TMPDTFS2 ); - count_free( TMPDTFS3 ); - count_free( CURRP_Q_E ); - count_free( dtfs_temp ); + dynamic_free( CURRP_NQ ); + dynamic_free( TMPDTFS ); + dynamic_free( TMPDTFS2 ); + dynamic_free( TMPDTFS3 ); + dynamic_free( CURRP_Q_E ); + dynamic_free( dtfs_temp ); return error; } -- GitLab From 301047b3bc4acf964c83515e559a154bf4c44dac Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 17:36:38 +0100 Subject: [PATCH 273/620] add options.h to encoder.c and decoder.c do not instrument free() when reading HRTF data from external file --- apps/decoder.c | 1 + apps/encoder.c | 1 + lib_rend/ivas_objectRenderer_hrFilt.c | 4 ++++ 3 files changed, 6 insertions(+) diff --git a/apps/decoder.c b/apps/decoder.c index ff01e6e429..c2e3aee4c2 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -33,6 +33,7 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> +#include "options.h" #include "lib_dec.h" #include "cmdl_tools.h" #include "audio_file_writer.h" diff --git a/apps/encoder.c b/apps/encoder.c index d67a37c881..b94272cd11 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -33,6 +33,7 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> +#include "options.h" #include "lib_enc.h" #include "cmdl_tools.h" #include "audio_file_reader.h" diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 839a80b0d5..ff6f08575e 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -1203,6 +1203,7 @@ void BSplineModelEvalDealloc( /* Allocated in LoadBSplineBinary() */ int16_t i; +#define WMC_TOOL_SKIP if ( !model->modelROM ) { free( model->elevKSeq_dyn ); @@ -1237,6 +1238,7 @@ void BSplineModelEvalDealloc( free( modelEval->hrfModL ); free( modelEval->hrfModR ); } +#undef WMC_TOOL_SKIP return; } @@ -1252,11 +1254,13 @@ void BSplineModelEvalITDDealloc( ModelParamsITD_t *model /* i : Model parameters */ ) { +#define WMC_TOOL_SKIP free( model->elevKSeq_dyn ); free( model->azimKSeq_dyn ); free( model->W_dyn ); free( model->azimBsShape_dyn ); free( model->elevBsShape_dyn ); +#undef WMC_TOOL_SKIP return; } -- GitLab From b6a626aecd7209b203e4104d7fa384e256fcc7fe Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 17:47:57 +0100 Subject: [PATCH 274/620] disable WMOPS by default in options.h --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index e3be8caad3..b3a0851217 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -50,7 +50,7 @@ #ifndef RELEASE #define DEBUGGING /* Activate debugging part of the code */ #endif -#define WMOPS /* Activate complexity and memory counters */ +/*#define WMOPS*/ /* Activate complexity and memory counters */ /*#define WMOPS_PER_FRAME*/ /* Output complexity in WMOPS per frame to the file "res/wmops" (one float value per frame) */ /*#define WMOPS_DETAIL*/ /* Output detailed complexity printout for every function. Increases runtime overhead */ /*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output detailed complexity analysis for the worst-case frame */ -- GitLab From 611d89d9a6c0d0447450f7e34bc41a6de099e796 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 18:36:50 +0100 Subject: [PATCH 275/620] add LIB_LIBREND to Makefile --- .../td_object_renderer/object_renderer_standalone/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/td_object_renderer/object_renderer_standalone/Makefile b/scripts/td_object_renderer/object_renderer_standalone/Makefile index 42b762bcfe..5f27f599b3 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/Makefile +++ b/scripts/td_object_renderer/object_renderer_standalone/Makefile @@ -157,8 +157,8 @@ $(LIB_LIBREND): $(OBJS_LIBREND) $(LIB_LIBUTIL): $(OBJS_LIBUTIL) $(QUIET_AR)$(AR) rcs $@ $^ -$(CLI_REN): $(LIB_LIBENC) $(LIB_LIBDEC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(OBJS_REN) - $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_REN) -L. -livasdebug -livasutil -livasenc -livasdec -livascom $(LDLIBS) -o $(CLI_REN) +$(CLI_REN): $(OBJS_REN) $(LIB_LIBENC) $(LIB_LIBDEC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBUTIL) $(LIB_LIBREND) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(OBJS_REN) -L. -livasrend -livasdebug -livasutil -livasenc -livasdec -livascom $(LDLIBS) -o $(CLI_REN) libs: $(LIB_LIBENC) $(LIB_LIBDEBUG) $(LIB_LIBCOM) $(LIB_LIBDEC) $(LIB_LIBREND) $(LIB_LIBUTIL) -- GitLab From 28c818e25b49e5cea478ed13646cd21158237b0a Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 6 Dec 2022 18:38:22 +0100 Subject: [PATCH 276/620] reintroduce FIX_ISM_INACTIVE_BITS fix --- lib_com/ivas_ism_config.c | 12 ++++++++++++ lib_enc/ivas_ism_metadata_enc.c | 14 ++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/lib_com/ivas_ism_config.c b/lib_com/ivas_ism_config.c index fc4be3127e..75ef0a2ae7 100644 --- a/lib_com/ivas_ism_config.c +++ b/lib_com/ivas_ism_config.c @@ -199,7 +199,11 @@ ivas_error ivas_ism_config( diff = 0; for ( ch = 0; ch < n_ISms; ch++ ) { +#ifdef FIX_ISM_INACTIVE_BITS + int16_t limit; +#else int32_t limit; +#endif limit = MIN_BRATE_SWB_BWE / FRMS_PER_SECOND; if ( element_brate[ch] < MIN_BRATE_SWB_STEREO ) /* replicate function set_bw() -> check the coded audio band-width */ @@ -219,12 +223,20 @@ ivas_error ivas_ism_config( else if ( ism_imp[ch] == ISM_LOW_IMP ) { tmp = (int16_t) ( BETA_ISM_LOW_IMP * bits_CoreCoder[ch] ); +#ifdef FIX_ISM_INACTIVE_BITS + tmp = max( limit, tmp ); +#else tmp = (int16_t) max( limit, bits_CoreCoder[ch] - tmp ); +#endif } else if ( ism_imp[ch] == ISM_MEDIUM_IMP ) { tmp = (int16_t) ( BETA_ISM_MEDIUM_IMP * bits_CoreCoder[ch] ); +#ifdef FIX_ISM_INACTIVE_BITS + tmp = max( limit, tmp ); +#else tmp = (int16_t) max( limit, bits_CoreCoder[ch] - tmp ); +#endif } else /* ism_imp[ch] == ISM_HIGH_IMP */ { diff --git a/lib_enc/ivas_ism_metadata_enc.c b/lib_enc/ivas_ism_metadata_enc.c index 60550bca0b..c4fcd2dee7 100644 --- a/lib_enc/ivas_ism_metadata_enc.c +++ b/lib_enc/ivas_ism_metadata_enc.c @@ -105,6 +105,20 @@ static void rate_ism_importance( { ctype = hSCE[ch]->hCoreCoder[0]->coder_type_raw; +#ifdef FIX_ISM_INACTIVE_BITS + if ( hSCE[ch]->hCoreCoder[0]->tcxonly ) + { + if ( hSCE[ch]->hCoreCoder[0]->localVAD == 0 ) + { + ctype = INACTIVE; + } + else if ( ctype == UNVOICED ) + { + ctype = GENERIC; + } + } +#endif + if ( hIsmMeta[ch]->ism_metadata_flag == 0 ) { ism_imp[ch] = ISM_NO_META; -- GitLab From 56b7ec21196de0af21e4c37c48abfad3bcacc96c Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 20:43:51 +0100 Subject: [PATCH 277/620] small correction of comment --- lib_com/options.h | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 3589dafa25..d3f61f16be 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -51,10 +51,10 @@ #define DEBUGGING /* Activate debugging part of the code */ #endif /*#define WMOPS*/ /* Activate complexity and memory counters */ -/*#define WMOPS_PER_FRAME*/ /* Output complexity in WMOPS per frame to the file "res/wmops" (one float value per frame) */ +/*#define WMOPS_PER_FRAME*/ /* Output per-frame complexity (writes one float value per frame to the file "wmops_analysis") */ /*#define WMOPS_DETAIL*/ /* Output detailed complexity printout for every function. Increases runtime overhead */ /*#define WMOPS_WC_FRAME_ANALYSIS*/ /* Output detailed complexity analysis for the worst-case frame */ -/*#define MEM_COUNT_DETAILS*/ /* Output detailed memory analysis for the worst-case frame (write to the file "mem_analysis.csv") */ +/*#define MEM_COUNT_DETAILS*/ /* Output detailed memory analysis for the worst-case frame (writes to the file "mem_analysis.csv") */ #ifdef DEBUGGING @@ -176,7 +176,6 @@ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ - #define TEMP_FIX_BSPLINE_MALLOC /* temporary fix for malloc_() free() mismatch reported by the WMC tool */ /* ################## End DEVELOPMENT switches ######################### */ -- GitLab From 3d79bb39c69980c559ab4ff67204ab69a0b8f091 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 21:44:12 +0100 Subject: [PATCH 278/620] apply clang-format --- lib_debug/wmc_auto.c | 714 ++++++++-------- lib_debug/wmc_auto.h | 889 +++++++++++++++----- lib_dec/ivas_dirac_dec_binaural_functions.c | 28 +- lib_dec/ivas_sba_dec.c | 1 - lib_rend/ivas_objectRenderer_mix.c | 1 - 5 files changed, 1045 insertions(+), 588 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 00ef4f1ade..602d94b4cf 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -29,7 +29,7 @@ #include "wmc_auto.h" -#define WMC_TOOL_SKIP /* Skip the instrumentation of this file, if invoked by accident */ +#define WMC_TOOL_SKIP /* Skip the instrumentation of this file, if invoked by accident */ #ifdef WMOPS @@ -37,23 +37,23 @@ * Complexity counting tool *--------------------------------------------------------------------*/ -#define MAX_RECORDS 1024 -#define MAX_CHAR 64 -#define MAX_STACK 64 -#define DOUBLE_MAX 0x80000000 +#define MAX_RECORDS 1024 +#define MAX_CHAR 64 +#define MAX_STACK 64 +#define DOUBLE_MAX 0x80000000 struct wmops_record { - char label[MAX_CHAR]; - long call_number; - long update_cnt; - int call_tree[MAX_RECORDS]; + char label[MAX_CHAR]; + long call_number; + long update_cnt; + int call_tree[MAX_RECORDS]; double start_selfcnt; double current_selfcnt; double max_selfcnt; double min_selfcnt; double tot_selfcnt; - double start_cnt; /* The following take into account the decendants */ + double start_cnt; /* The following take into account the decendants */ double current_cnt; double max_cnt; double min_cnt; @@ -85,16 +85,16 @@ static long fnum_cnt_wc; static int *heap_allocation_call_tree = NULL, heap_allocation_call_tree_size = 0, heap_allocation_call_tree_max_size = 0; -void reset_wmops(void) +void reset_wmops( void ) { int i, j; - for (i = 0; i < MAX_RECORDS; i++) + for ( i = 0; i < MAX_RECORDS; i++ ) { - strcpy(&wmops[i].label[0], "\0"); + strcpy( &wmops[i].label[0], "\0" ); wmops[i].call_number = 0; wmops[i].update_cnt = 0; - for (j = 0; j < MAX_RECORDS; j++) + for ( j = 0; j < MAX_RECORDS; j++ ) { wmops[i].call_tree[j] = -1; } @@ -115,7 +115,7 @@ void reset_wmops(void) #endif } - for (i = 0; i < MAX_STACK; i++) + for ( i = 0; i < MAX_STACK; i++ ) { stack[i] = -1; } @@ -131,16 +131,16 @@ void reset_wmops(void) } -void push_wmops(const char* label) +void push_wmops( const char *label ) { int new_flag; int i, j; /* Check if new function record label */ new_flag = 1; - for (i = 0; i < num_records; i++) + for ( i = 0; i < num_records; i++ ) { - if (strcmp(wmops[i].label, label) == 0) + if ( strcmp( wmops[i].label, label ) == 0 ) { new_flag = 0; break; @@ -148,24 +148,24 @@ void push_wmops(const char* label) } /* Configure new record */ - if (new_flag) + if ( new_flag ) { - if (num_records >= MAX_RECORDS) + if ( num_records >= MAX_RECORDS ) { - fprintf(stdout, "push_wmops(): exceeded MAX_RECORDS count.\n\n"); - exit(-1); + fprintf( stdout, "push_wmops(): exceeded MAX_RECORDS count.\n\n" ); + exit( -1 ); } - strcpy(wmops[i].label, label); + strcpy( wmops[i].label, label ); num_records++; } /* Push current context onto stack */ - if (current_record >= 0) + if ( current_record >= 0 ) { - if (sptr >= MAX_STACK) + if ( sptr >= MAX_STACK ) { - fprintf(stdout, "\r push_wmops(): stack exceeded, try inreasing MAX_STACK\n"); - exit(-1); + fprintf( stdout, "\r push_wmops(): stack exceeded, try inreasing MAX_STACK\n" ); + exit( -1 ); } stack[sptr++] = current_record; @@ -173,13 +173,13 @@ void push_wmops(const char* label) wmops[current_record].current_selfcnt += ops_cnt - wmops[current_record].start_selfcnt; /* update call tree */ - for (j = 0; j < MAX_RECORDS; j++) + for ( j = 0; j < MAX_RECORDS; j++ ) { - if (wmops[i].call_tree[j] == current_record) + if ( wmops[i].call_tree[j] == current_record ) { break; } - else if (wmops[i].call_tree[j] == -1) + else if ( wmops[i].call_tree[j] == -1 ) { wmops[i].call_tree[j] = current_record; break; @@ -200,14 +200,14 @@ void push_wmops(const char* label) } -void pop_wmops(void) +void pop_wmops( void ) { /* Check for underflow */ - if (current_record < 0) + if ( current_record < 0 ) { - fprintf(stdout, "\r pop_wmops(): stack underflow, too many calls to pop_wmops()\n"); - exit(-1); + fprintf( stdout, "\r pop_wmops(): stack underflow, too many calls to pop_wmops()\n" ); + exit( -1 ); } /* update count of current record */ @@ -215,7 +215,7 @@ void pop_wmops(void) wmops[current_record].current_cnt += ops_cnt - wmops[current_record].start_cnt; /* Get back previous context from stack */ - if (sptr > 0) + if ( sptr > 0 ) { current_record = stack[--sptr]; wmops[current_record].start_selfcnt = ops_cnt; @@ -229,11 +229,11 @@ void pop_wmops(void) } -void update_wmops(void) +void update_wmops( void ) { int i; double current_cnt; -#ifdef WMOPS_PER_FRAME +#ifdef WMOPS_PER_FRAME static FILE *fid = NULL; const char filename[] = "wmops_analysis"; float tmpF; @@ -260,7 +260,7 @@ void update_wmops(void) /* Write current complexity to the external file */ tmpF = (float) ( FAC * wmops[0].current_cnt ); - fwrite( &tmpF, sizeof(float), 1, fid ); + fwrite( &tmpF, sizeof( float ), 1, fid ); #endif #ifdef WMOPS_WC_FRAME_ANALYSIS @@ -275,19 +275,19 @@ void update_wmops(void) } #endif - for (i = 0; i < num_records; i++) + for ( i = 0; i < num_records; i++ ) { wmops[i].tot_selfcnt += wmops[i].current_selfcnt; wmops[i].tot_cnt += wmops[i].current_cnt; - if (wmops[i].current_selfcnt > 0) + if ( wmops[i].current_selfcnt > 0 ) { - if (wmops[i].current_selfcnt > wmops[i].max_selfcnt) + if ( wmops[i].current_selfcnt > wmops[i].max_selfcnt ) { wmops[i].max_selfcnt = wmops[i].current_selfcnt; } - if (wmops[i].current_selfcnt < wmops[i].min_selfcnt) + if ( wmops[i].current_selfcnt < wmops[i].min_selfcnt ) { wmops[i].min_selfcnt = wmops[i].current_selfcnt; } @@ -295,14 +295,14 @@ void update_wmops(void) wmops[i].current_selfcnt = 0; - if (wmops[i].current_cnt > 0) + if ( wmops[i].current_cnt > 0 ) { - if (wmops[i].current_cnt > wmops[i].max_cnt) + if ( wmops[i].current_cnt > wmops[i].max_cnt ) { wmops[i].max_cnt = wmops[i].current_cnt; } - if (wmops[i].current_cnt < wmops[i].min_cnt) + if ( wmops[i].current_cnt < wmops[i].min_cnt ) { wmops[i].min_cnt = wmops[i].current_cnt; } @@ -317,11 +317,11 @@ void update_wmops(void) } current_cnt = ops_cnt - start_cnt; - if (current_cnt > max_cnt) + if ( current_cnt > max_cnt ) { max_cnt = current_cnt; - for (i = 0; i < NUM_INST; i++) + for ( i = 0; i < NUM_INST; i++ ) { inst_cnt_wc[i] = inst_cnt[i]; } @@ -329,12 +329,12 @@ void update_wmops(void) fnum_cnt_wc = update_cnt + 1; } - if (current_cnt < min_cnt) + if ( current_cnt < min_cnt ) { min_cnt = current_cnt; } - for (i = 0; i < NUM_INST; i++) + for ( i = 0; i < NUM_INST; i++ ) { inst_cnt[i] = 0.0; } @@ -354,41 +354,41 @@ void update_wmops(void) } -void print_wmops(void) +void print_wmops( void ) { int i; - char* sfmts = "%20s %8s %8s %7s %7s\n"; - char* dfmts = "%20s %8.2f %8.3f %7.3f %7.3f\n"; - char* sfmt = "%20s %8s %8s %7s %7s %7s %7s %7s\n"; - char* dfmt = "%20s %8.2f %8.3f %7.3f %7.3f %7.3f %7.3f %7.3f\n"; + char *sfmts = "%20s %8s %8s %7s %7s\n"; + char *dfmts = "%20s %8.2f %8.3f %7.3f %7.3f\n"; + char *sfmt = "%20s %8s %8s %7s %7s %7s %7s %7s\n"; + char *dfmt = "%20s %8.2f %8.3f %7.3f %7.3f %7.3f %7.3f %7.3f\n"; #ifdef WMOPS_WC_FRAME_ANALYSIS int j, label_len, max_label_len; - char* sfmtt = "%20s %4s %15s\n"; - char* dfmtt = "%20s %4d "; + char *sfmtt = "%20s %4s %15s\n"; + char *dfmtt = "%20s %4d "; #endif - fprintf(stdout, "\n\n --- Complexity analysis [WMOPS] --- \n\n"); + fprintf( stdout, "\n\n --- Complexity analysis [WMOPS] --- \n\n" ); - fprintf(stdout, "%54s %23s\n", "|------ SELF ------|", "|--- CUMULATIVE ---|"); - fprintf(stdout, sfmt, " routine", " calls", " min ", " max ", " avg ", " min ", " max ", " avg "); - fprintf(stdout, sfmt, "---------------", "------", "------", "------", "------", "------", "------", "------"); + fprintf( stdout, "%54s %23s\n", "|------ SELF ------|", "|--- CUMULATIVE ---|" ); + fprintf( stdout, sfmt, " routine", " calls", " min ", " max ", " avg ", " min ", " max ", " avg " ); + fprintf( stdout, sfmt, "---------------", "------", "------", "------", "------", "------", "------", "------" ); - for (i = 0; i < num_records; i++) + for ( i = 0; i < num_records; i++ ) { - fprintf(stdout, dfmt, wmops[i].label, update_cnt == 0 ? 0 : (float)wmops[i].call_number / update_cnt, - wmops[i].min_selfcnt == DOUBLE_MAX ? 0 : FAC * wmops[i].min_selfcnt, - FAC * wmops[i].max_selfcnt, - wmops[i].update_cnt == 0 ? 0 : FAC * wmops[i].tot_selfcnt / wmops[i].update_cnt, - wmops[i].min_cnt == DOUBLE_MAX ? 0 : FAC * wmops[i].min_cnt, - FAC * wmops[i].max_cnt, - wmops[i].update_cnt == 0 ? 0 : FAC * wmops[i].tot_cnt / wmops[i].update_cnt); + fprintf( stdout, dfmt, wmops[i].label, update_cnt == 0 ? 0 : (float) wmops[i].call_number / update_cnt, + wmops[i].min_selfcnt == DOUBLE_MAX ? 0 : FAC * wmops[i].min_selfcnt, + FAC * wmops[i].max_selfcnt, + wmops[i].update_cnt == 0 ? 0 : FAC * wmops[i].tot_selfcnt / wmops[i].update_cnt, + wmops[i].min_cnt == DOUBLE_MAX ? 0 : FAC * wmops[i].min_cnt, + FAC * wmops[i].max_cnt, + wmops[i].update_cnt == 0 ? 0 : FAC * wmops[i].tot_cnt / wmops[i].update_cnt ); } - fprintf(stdout, sfmts, "---------------", "------", "------", "------", "------"); - fprintf(stdout, dfmts, "total", (float)update_cnt, FAC * min_cnt, FAC * max_cnt, update_cnt == 0 ? 0 : FAC * ops_cnt / update_cnt); - fprintf(stdout, "\n"); + fprintf( stdout, sfmts, "---------------", "------", "------", "------", "------" ); + fprintf( stdout, dfmts, "total", (float) update_cnt, FAC * min_cnt, FAC * max_cnt, update_cnt == 0 ? 0 : FAC * ops_cnt / update_cnt ); + fprintf( stdout, "\n" ); #ifdef WMOPS_WC_FRAME_ANALYSIS /* calculate maximum label length for compact prinout */ @@ -403,7 +403,7 @@ void print_wmops(void) } max_label_len += 4; - fprintf( stdout, "\nComplexity analysis for the worst-case frame %ld:\n", fnum_cnt_wc); + fprintf( stdout, "\nComplexity analysis for the worst-case frame %ld:\n", fnum_cnt_wc ); fprintf( stdout, "%*s %8s %10s %12s\n", max_label_len, " routine", " calls", " SELF", " CUMULATIVE" ); fprintf( stdout, "%*s %8s %10s %10s\n", max_label_len, "---------------", "------", "------", "----------" ); @@ -412,94 +412,94 @@ void print_wmops(void) fprintf( stdout, "%*s %8d %10.3f %12.3f\n", max_label_len, wmops[i].label, wmops[i].wc_call_number, FAC * wmops[i].wc_selfcnt, FAC * wmops[i].wc_cnt ); } - fprintf(stdout, "\nCall Tree:\n\n"); - fprintf(stdout, sfmtt, " function", "num", "called by: "); - fprintf(stdout, sfmtt, "---------------", "---", "--------------"); + fprintf( stdout, "\nCall Tree:\n\n" ); + fprintf( stdout, sfmtt, " function", "num", "called by: " ); + fprintf( stdout, sfmtt, "---------------", "---", "--------------" ); - for (i = 0; i < num_records; i++) + for ( i = 0; i < num_records; i++ ) { - fprintf(stdout, dfmtt, wmops[i].label, i); - for (j = 0; wmops[i].call_tree[j] != -1; j++) + fprintf( stdout, dfmtt, wmops[i].label, i ); + for ( j = 0; wmops[i].call_tree[j] != -1; j++ ) { - if (j != 0) + if ( j != 0 ) { - fprintf(stdout, ", "); + fprintf( stdout, ", " ); } - fprintf(stdout, "%d", wmops[i].call_tree[j]); + fprintf( stdout, "%d", wmops[i].call_tree[j] ); } - fprintf(stdout, "\n"); + fprintf( stdout, "\n" ); } - fprintf(stdout, sfmtt, "---------------", "---", "--------------"); - fprintf(stdout, "\n\n"); + fprintf( stdout, sfmtt, "---------------", "---", "--------------" ); + fprintf( stdout, "\n\n" ); - fprintf(stdout, "\nInstruction type analysis for the worst-case frame %ld:\n\n", fnum_cnt_wc); /* added -- JPA */ - for (i = 0; i < NUM_INST; i++) + fprintf( stdout, "\nInstruction type analysis for the worst-case frame %ld:\n\n", fnum_cnt_wc ); /* added -- JPA */ + for ( i = 0; i < NUM_INST; i++ ) { - switch ((enum instructions)i) + switch ( (enum instructions) i ) { - case _ADD: - fprintf(stdout, "\tAdds: %12.1f\n", inst_cnt_wc[i]); - break; - case _ABS: - fprintf(stdout, "\tAbsolutes: %12.1f\n", inst_cnt_wc[i]); - break; - case _MULT: - fprintf(stdout, "\tMultiplies: %12.1f\n", inst_cnt_wc[i]); - break; - case _MAC: - fprintf(stdout, "\tMACs: %12.1f\n", inst_cnt_wc[i]); - break; - case _MOVE: - fprintf(stdout, "\tMoves: %12.1f\n", inst_cnt_wc[i]); - break; - case _STORE: - fprintf(stdout, "\tStores: %12.1f\n", inst_cnt_wc[i]); - break; - case _LOGIC: - fprintf(stdout, "\tLogicals: %12.1f\n", inst_cnt_wc[i]); - break; - case _SHIFT: - fprintf(stdout, "\tShifts: %12.1f\n", inst_cnt_wc[i]); - break; - case _BRANCH: - fprintf(stdout, "\tBranches: %12.1f\n", inst_cnt_wc[i]); - break; - case _DIV: - fprintf(stdout, "\tDivisions: %12.1f\n", inst_cnt_wc[i]); - break; - case _SQRT: - fprintf(stdout, "\tSquare Root: %12.1f\n", inst_cnt_wc[i]); - break; - case _TRANS: - fprintf(stdout, "\tTrans: %12.1f\n", inst_cnt_wc[i]); - break; - case _FUNC: - fprintf(stdout, "\tFunc Call: %12.1f\n", inst_cnt_wc[i]); - break; - case _LOOP: - fprintf(stdout, "\tLoop Init: %12.1f\n", inst_cnt_wc[i]); - break; - case _INDIRECT: - fprintf(stdout, "\tIndirect Addr: %12.1f\n", inst_cnt_wc[i]); - break; - case _PTR_INIT: - fprintf(stdout, "\tPointer Init: %12.1f\n", inst_cnt_wc[i]); - break; - case _TEST: - fprintf(stdout, "\tExtra condit.: %12.1f\n", inst_cnt_wc[i]); - break; - case _POWER: - fprintf(stdout, "\tExponential: %12.1f\n", inst_cnt_wc[i]); - break; - case _LOG: - fprintf(stdout, "\tLogarithm: %12.1f\n", inst_cnt_wc[i]); - break; - case _MISC: - fprintf(stdout, "\tAll other op.: %12.1f\n", inst_cnt_wc[i]); - break; - default: - fprintf(stdout, "\tERROR: Invalid instruction type: %d\n\n", i); + case _ADD: + fprintf( stdout, "\tAdds: %12.1f\n", inst_cnt_wc[i] ); + break; + case _ABS: + fprintf( stdout, "\tAbsolutes: %12.1f\n", inst_cnt_wc[i] ); + break; + case _MULT: + fprintf( stdout, "\tMultiplies: %12.1f\n", inst_cnt_wc[i] ); + break; + case _MAC: + fprintf( stdout, "\tMACs: %12.1f\n", inst_cnt_wc[i] ); + break; + case _MOVE: + fprintf( stdout, "\tMoves: %12.1f\n", inst_cnt_wc[i] ); + break; + case _STORE: + fprintf( stdout, "\tStores: %12.1f\n", inst_cnt_wc[i] ); + break; + case _LOGIC: + fprintf( stdout, "\tLogicals: %12.1f\n", inst_cnt_wc[i] ); + break; + case _SHIFT: + fprintf( stdout, "\tShifts: %12.1f\n", inst_cnt_wc[i] ); + break; + case _BRANCH: + fprintf( stdout, "\tBranches: %12.1f\n", inst_cnt_wc[i] ); + break; + case _DIV: + fprintf( stdout, "\tDivisions: %12.1f\n", inst_cnt_wc[i] ); + break; + case _SQRT: + fprintf( stdout, "\tSquare Root: %12.1f\n", inst_cnt_wc[i] ); + break; + case _TRANS: + fprintf( stdout, "\tTrans: %12.1f\n", inst_cnt_wc[i] ); + break; + case _FUNC: + fprintf( stdout, "\tFunc Call: %12.1f\n", inst_cnt_wc[i] ); + break; + case _LOOP: + fprintf( stdout, "\tLoop Init: %12.1f\n", inst_cnt_wc[i] ); + break; + case _INDIRECT: + fprintf( stdout, "\tIndirect Addr: %12.1f\n", inst_cnt_wc[i] ); + break; + case _PTR_INIT: + fprintf( stdout, "\tPointer Init: %12.1f\n", inst_cnt_wc[i] ); + break; + case _TEST: + fprintf( stdout, "\tExtra condit.: %12.1f\n", inst_cnt_wc[i] ); + break; + case _POWER: + fprintf( stdout, "\tExponential: %12.1f\n", inst_cnt_wc[i] ); + break; + case _LOG: + fprintf( stdout, "\tLogarithm: %12.1f\n", inst_cnt_wc[i] ); + break; + case _MISC: + fprintf( stdout, "\tAll other op.: %12.1f\n", inst_cnt_wc[i] ); + break; + default: + fprintf( stdout, "\tERROR: Invalid instruction type: %d\n\n", i ); } } #endif @@ -530,34 +530,34 @@ void print_wmops(void) * #define WMC_TOOL_SKIP ... #undef WMC_TOOL_SKIP macro pair around the malloc(), calloc() and free(). *--------------------------------------------------------------------*/ -#define MAX_RECORDABLE_CALLS 100 -#define MAX_FUNCTION_NAME_LENGTH 35 /* Maximum length that the function string will be truncated to */ -#define MAX_PARAMS_LENGTH 50 /* Maximum length that the parameter string will be truncated to */ -#define MAX_NUM_RECORDS 300 /* Initial maximum number of memory records -> mightb be increased during runtime, if needed */ -#define MAX_NUM_RECORDS_REALLOC_STEP 50 /* When re-allocating the list of memory records, increase the number of records by this number */ +#define MAX_RECORDABLE_CALLS 100 +#define MAX_FUNCTION_NAME_LENGTH 35 /* Maximum length that the function string will be truncated to */ +#define MAX_PARAMS_LENGTH 50 /* Maximum length that the parameter string will be truncated to */ +#define MAX_NUM_RECORDS 300 /* Initial maximum number of memory records -> mightb be increased during runtime, if needed */ +#define MAX_NUM_RECORDS_REALLOC_STEP 50 /* When re-allocating the list of memory records, increase the number of records by this number */ - /* This is the value (in bytes) towards which the block size is rounded. For example, a block of 123 bytes, when using - a 32 bits system, will end up taking 124 bytes since the last unused byte cannot be used for another block. */ +/* This is the value (in bytes) towards which the block size is rounded. For example, a block of 123 bytes, when using + a 32 bits system, will end up taking 124 bytes since the last unused byte cannot be used for another block. */ #ifdef MEM_ALIGN_64BITS -#define BLOCK_ROUNDING 8 /* Align on 64 Bits */ -#else -#define BLOCK_ROUNDING 4 /* Align on 32 Bits */ +#define BLOCK_ROUNDING 8 /* Align on 64 Bits */ +#else +#define BLOCK_ROUNDING 4 /* Align on 32 Bits */ #endif #define N_32BITS_BLOCKS ( BLOCK_ROUNDING / sizeof( int32_t ) ) -#define MAGIC_VALUE_OOB 0x12A534F0 /* Signature value which is inserted before and after each allocated memory block, used to detect out-of-bound access */ -#define MAGIC_VALUE_USED ( ~MAGIC_VALUE_OOB ) /* Value used to pre-fill allocated memory blocks, used to calculate actual memory usage */ -#define OOB_START 0x1 /* Flag indicating out-of-bounds access before memory block */ -#define OOB_END 0x2 /* Flag indicating out-of-bounds access after memory block */ +#define MAGIC_VALUE_OOB 0x12A534F0 /* Signature value which is inserted before and after each allocated memory block, used to detect out-of-bound access */ +#define MAGIC_VALUE_USED ( ~MAGIC_VALUE_OOB ) /* Value used to pre-fill allocated memory blocks, used to calculate actual memory usage */ +#define OOB_START 0x1 /* Flag indicating out-of-bounds access before memory block */ +#define OOB_END 0x2 /* Flag indicating out-of-bounds access after memory block */ -#define ROUND_BLOCK_SIZE( n ) ( ( ( n ) + BLOCK_ROUNDING - 1 ) & ~( BLOCK_ROUNDING - 1 ) ) -#define IS_CALLOC( str ) ( str[0] == 'c' ) +#define ROUND_BLOCK_SIZE( n ) ( ( ( n ) + BLOCK_ROUNDING - 1 ) & ~( BLOCK_ROUNDING - 1 ) ) +#define IS_CALLOC( str ) ( str[0] == 'c' ) typedef struct { char function_name[MAX_FUNCTION_NAME_LENGTH + 1]; - int16_t* stack_ptr; + int16_t *stack_ptr; } caller_info; caller_info stack_callers[2][MAX_RECORDABLE_CALLS]; @@ -568,38 +568,38 @@ typedef struct char params[1 + MAX_PARAMS_LENGTH + 1]; /* +1 for 'm'/'c' alloc & +1 for NUL */ unsigned long hash; int lineno; - void* block_ptr; + void *block_ptr; int block_size; - unsigned long total_block_size; /* Cumulative sum of the allocated size in the session */ - unsigned long total_used_size; /* Cumulative sum of the used size in the session */ - int wc_heap_size_intra_frame; /* Worst-Case Intra-Frame Heap Size */ - int wc_heap_size_inter_frame; /* Worst-Case Inter-Frame Heap Size */ - int frame_allocated; /* Frame number in which the Memory Block has been allocated (-1 if not allocated at the moment) */ + unsigned long total_block_size; /* Cumulative sum of the allocated size in the session */ + unsigned long total_used_size; /* Cumulative sum of the used size in the session */ + int wc_heap_size_intra_frame; /* Worst-Case Intra-Frame Heap Size */ + int wc_heap_size_inter_frame; /* Worst-Case Inter-Frame Heap Size */ + int frame_allocated; /* Frame number in which the Memory Block has been allocated (-1 if not allocated at the moment) */ int OOB_Flag; - int noccurances; /* Number of times that the memory block has been allocated in a frame */ + int noccurances; /* Number of times that the memory block has been allocated in a frame */ } allocator_record; allocator_record *allocation_list = NULL; -static int16_t* ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ -static int16_t* ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ -static int32_t wc_stack_frame = 0; /* Frame corresponding to the worst-case stack usage */ +static int16_t *ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ +static int16_t *ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ +static int32_t wc_stack_frame = 0; /* Frame corresponding to the worst-case stack usage */ static int32_t wc_ram_size, wc_ram_frame; static int32_t current_heap_size; static int current_calls = 0; static char location_max_stack[256] = "undefined"; static int Num_Records, Max_Num_Records; static size_t Stat_Cnt_Size = USE_BYTES; -static const char* Count_Unit[] = { "bytes", "words", "words" }; +static const char *Count_Unit[] = { "bytes", "words", "words" }; static int *list_wc_intra_frame_heap, n_items_wc_intra_frame_heap, max_items_wc_intra_frame_heap, size_wc_intra_frame_heap, location_wc_intra_frame_heap; static int *list_current_inter_frame_heap, n_items_current_inter_frame_heap, max_items_current_inter_frame_heap, size_current_inter_frame_heap; static int *list_wc_inter_frame_heap, n_items_wc_inter_frame_heap, max_items_wc_inter_frame_heap, size_wc_inter_frame_heap, location_wc_inter_frame_heap; /* Local Functions */ -static unsigned long malloc_hash(const char* func_name, int func_lineno, char* size_str); -allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str, int *index_record); -static void* mem_alloc_block(size_t size, const char* size_str); +static unsigned long malloc_hash( const char *func_name, int func_lineno, char *size_str ); +allocator_record *get_mem_record( unsigned long *hash, const char *func_name, int func_lineno, char *size_str, int *index_record ); +static void *mem_alloc_block( size_t size, const char *size_str ); /*-------------------------------------------------------------------* * reset_mem() @@ -607,7 +607,7 @@ static void* mem_alloc_block(size_t size, const char* size_str); * Initialize/reset memory counting tool (stack and heap) *--------------------------------------------------------------------*/ -void reset_mem(Counting_Size cnt_size) +void reset_mem( Counting_Size cnt_size ) { int16_t something; size_t tmp_size; @@ -619,23 +619,23 @@ void reset_mem(Counting_Size cnt_size) Stat_Cnt_Size = cnt_size; /* Check, if sizeof(int32_t) is 4 bytes */ - tmp_size = sizeof(int32_t); - if (tmp_size != 4) + tmp_size = sizeof( int32_t ); + if ( tmp_size != 4 ) { fprintf( stderr, "Error: Expecting 'int32_t' to be a 32 Bits Integer!" ); - exit(-1); + exit( -1 ); } /* create allocation list for malloc() memory blocks */ - if (allocation_list == NULL) + if ( allocation_list == NULL ) { - allocation_list = malloc(MAX_NUM_RECORDS * sizeof(allocator_record)); + allocation_list = malloc( MAX_NUM_RECORDS * sizeof( allocator_record ) ); } - if (allocation_list == NULL) + if ( allocation_list == NULL ) { fprintf( stderr, "Error: Unable to Create List of Memory Blocks!" ); - exit(-1); + exit( -1 ); } Num_Records = 0; @@ -695,7 +695,7 @@ void reset_mem(Counting_Size cnt_size) * Reset stack pointer *--------------------------------------------------------------------*/ -void reset_stack(void) +void reset_stack( void ) { int16_t something; @@ -712,29 +712,29 @@ void reset_stack(void) * Check the current stack pointer and update the maximum stack pointer, if new maximum found. *--------------------------------------------------------------------*/ -int push_stack(const char* filename, const char* fctname) +int push_stack( const char *filename, const char *fctname ) { int16_t something; int32_t current_stack_size; - (void)*filename; /* to avoid compilation warning */ + (void) *filename; /* to avoid compilation warning */ /* Is there room to save the caller's information? */ - if (current_calls >= MAX_RECORDABLE_CALLS) + if ( current_calls >= MAX_RECORDABLE_CALLS ) { /* No */ - fprintf(stderr, "No more room to store call stack info. Please increase MAX_RECORDABLE_CALLS"); - exit(-1); + fprintf( stderr, "No more room to store call stack info. Please increase MAX_RECORDABLE_CALLS" ); + exit( -1 ); } /* Valid Function Name? */ - if (fctname[0] == 0) + if ( fctname[0] == 0 ) { /* No */ - fprintf(stderr, "Invalid function name for call stack info."); - exit(-1); + fprintf( stderr, "Invalid function name for call stack info." ); + exit( -1 ); } /* Save the Name of the Calling Function in the Table */ - strncpy(stack_callers[0][current_calls].function_name, fctname, MAX_FUNCTION_NAME_LENGTH); + strncpy( stack_callers[0][current_calls].function_name, fctname, MAX_FUNCTION_NAME_LENGTH ); stack_callers[0][current_calls].function_name[MAX_FUNCTION_NAME_LENGTH] = 0; /* Nul Terminate */ /* Save the Stack Pointer */ @@ -744,28 +744,28 @@ int push_stack(const char* filename, const char* fctname) current_calls++; /* Is this the First Time or the Worst Case? */ - if (&something < ptr_max_stack || ptr_max_stack == NULL) + if ( &something < ptr_max_stack || ptr_max_stack == NULL ) { /* Yes */ /* Save Info about it */ ptr_max_stack = &something; - wc_stack_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ - strncpy(location_max_stack, fctname, sizeof(location_max_stack) - 1); - location_max_stack[sizeof(location_max_stack) - 1] = '\0'; + wc_stack_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ + strncpy( location_max_stack, fctname, sizeof( location_max_stack ) - 1 ); + location_max_stack[sizeof( location_max_stack ) - 1] = '\0'; /* Save Call Tree */ - memmove(stack_callers[1], stack_callers[0], sizeof(caller_info) * current_calls); + memmove( stack_callers[1], stack_callers[0], sizeof( caller_info ) * current_calls ); /* Terminate the List (Unless Full) */ - if (current_calls < MAX_RECORDABLE_CALLS) + if ( current_calls < MAX_RECORDABLE_CALLS ) { stack_callers[1][current_calls].function_name[0] = 0; } } /* Check, if This is the New Worst-Case RAM (stack + heap) */ - current_stack_size = (int32_t)(((ptr_base_stack - ptr_max_stack) * sizeof(int16_t))); - if (current_stack_size + current_heap_size > wc_ram_size) + current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) ); + if ( current_stack_size + current_heap_size > wc_ram_size ) { wc_ram_size = current_stack_size + current_heap_size; wc_ram_frame = update_cnt; @@ -780,11 +780,11 @@ int push_stack(const char* filename, const char* fctname) * Remove stack caller entry from the list *--------------------------------------------------------------------*/ -int pop_stack(const char* filename, const char* fctname) +int pop_stack( const char *filename, const char *fctname ) { - caller_info* caller_info_ptr; + caller_info *caller_info_ptr; - (void)*filename; /* to avoid compilation warning */ + (void) *filename; /* to avoid compilation warning */ /* Decrease Stack Calling */ current_calls--; @@ -793,10 +793,10 @@ int pop_stack(const char* filename, const char* fctname) caller_info_ptr = &stack_callers[0][current_calls]; /* Check, if Names Match */ - if (strncmp(caller_info_ptr->function_name, fctname, MAX_FUNCTION_NAME_LENGTH) != 0) + if ( strncmp( caller_info_ptr->function_name, fctname, MAX_FUNCTION_NAME_LENGTH ) != 0 ) { - fprintf(stderr, "Invalid usage of pop_stack()"); - exit(-1); + fprintf( stderr, "Invalid usage of pop_stack()" ); + exit( -1 ); } /* Erase Entry */ @@ -812,16 +812,16 @@ int pop_stack(const char* filename, const char* fctname) * Print detailed information about worst-case stack usage *--------------------------------------------------------------------*/ -static void print_stack_call_tree(void) +static void print_stack_call_tree( void ) { - caller_info* caller_info_ptr; + caller_info *caller_info_ptr; int call_level; - char fctname[MAX_FUNCTION_NAME_LENGTH+1]; + char fctname[MAX_FUNCTION_NAME_LENGTH + 1]; - fprintf(stdout, "\nList of functions when maximum stack size is reached:\n\n"); + fprintf( stdout, "\nList of functions when maximum stack size is reached:\n\n" ); caller_info_ptr = &stack_callers[1][0]; - for (call_level = 0; call_level < MAX_RECORDABLE_CALLS; call_level++) + for ( call_level = 0; call_level < MAX_RECORDABLE_CALLS; call_level++ ) { /* Done? */ if ( caller_info_ptr->function_name[0] == 0 ) @@ -830,25 +830,25 @@ static void print_stack_call_tree(void) } /* Print Name */ - strncpy(fctname, caller_info_ptr->function_name, MAX_FUNCTION_NAME_LENGTH); - strcat(fctname, "()"); - fprintf(stdout, "%-42s", fctname); + strncpy( fctname, caller_info_ptr->function_name, MAX_FUNCTION_NAME_LENGTH ); + strcat( fctname, "()" ); + fprintf( stdout, "%-42s", fctname ); /* Print Stack Usage (Based on Difference) */ - if (call_level != 0) + if ( call_level != 0 ) { - fprintf(stdout, "%lu %s\n", (((caller_info_ptr - 1)->stack_ptr - caller_info_ptr->stack_ptr) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); + fprintf( stdout, "%lu %s\n", ( ( ( caller_info_ptr - 1 )->stack_ptr - caller_info_ptr->stack_ptr ) * sizeof( int16_t ) ) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size] ); } else { - fprintf(stdout, "%lu %s\n", ((ptr_base_stack - caller_info_ptr->stack_ptr) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); + fprintf( stdout, "%lu %s\n", ( ( ptr_base_stack - caller_info_ptr->stack_ptr ) * sizeof( int16_t ) ) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size] ); } /* Advance */ caller_info_ptr++; } - fprintf(stdout, "\n"); + fprintf( stdout, "\n" ); return; } @@ -863,26 +863,26 @@ static void print_stack_call_tree(void) * The function also updates worst-case heap size and worst-case RAM size *--------------------------------------------------------------------*/ -void* mem_alloc( - const char* func_name, +void *mem_alloc( + const char *func_name, int func_lineno, size_t size, - char* size_str /* the first char indicates m-alloc or c-alloc */) + char *size_str /* the first char indicates m-alloc or c-alloc */ ) { int index_record; int32_t current_stack_size; unsigned long hash; - allocator_record* ptr_record; + allocator_record *ptr_record; - if (size == 0) + if ( size == 0 ) { fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Size of Zero not Supported" ); - exit(-1); + exit( -1 ); } /* Search for an existing record (that has been de-allocated before) */ index_record = 0; - while ((ptr_record = get_mem_record(&hash, func_name, func_lineno, size_str, &index_record)) != NULL) + while ( ( ptr_record = get_mem_record( &hash, func_name, func_lineno, size_str, &index_record ) ) != NULL ) { if ( ptr_record->frame_allocated == -1 ) { @@ -897,14 +897,14 @@ void* mem_alloc( /* Create new record */ if ( ptr_record == NULL ) { - if (Num_Records >= Max_Num_Records) + if ( Num_Records >= Max_Num_Records ) { /* There is no room for a new record -> reallocate memory */ Max_Num_Records += MAX_NUM_RECORDS_REALLOC_STEP; - allocation_list = realloc(allocation_list, Max_Num_Records * sizeof(allocator_record)); + allocation_list = realloc( allocation_list, Max_Num_Records * sizeof( allocator_record ) ); } - ptr_record = &(allocation_list[Num_Records]); + ptr_record = &( allocation_list[Num_Records] ); /* Initialize new record */ ptr_record->hash = hash; @@ -921,44 +921,44 @@ void* mem_alloc( } /* Allocate memory block for the new record, add signature before the beginning and after the memory block and fill it with magic value */ - ptr_record->block_ptr = mem_alloc_block(size, size_str); + ptr_record->block_ptr = mem_alloc_block( size, size_str ); - if (ptr_record->block_ptr == NULL) + if ( ptr_record->block_ptr == NULL ) { fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Cannot Allocate Memory!" ); - exit(-1); + exit( -1 ); } /* Save all auxiliary information about the memory block */ - strncpy(ptr_record->name, func_name, MAX_FUNCTION_NAME_LENGTH); + strncpy( ptr_record->name, func_name, MAX_FUNCTION_NAME_LENGTH ); ptr_record->name[MAX_FUNCTION_NAME_LENGTH] = '\0'; - strncpy(ptr_record->params, size_str, MAX_PARAMS_LENGTH); /* Note: The size string starts with either 'm' or 'c' to indicate 'm'alloc or 'c'alloc */ + strncpy( ptr_record->params, size_str, MAX_PARAMS_LENGTH ); /* Note: The size string starts with either 'm' or 'c' to indicate 'm'alloc or 'c'alloc */ ptr_record->params[MAX_PARAMS_LENGTH] = '\0'; ptr_record->lineno = func_lineno; ptr_record->block_size = size; ptr_record->total_block_size += size; - if (ptr_record->frame_allocated != -1) + if ( ptr_record->frame_allocated != -1 ) { fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Attempt to Allocate the Same Memory Block with Freeing it First!" ); - exit(-1); + exit( -1 ); } - ptr_record->frame_allocated = update_cnt; /* Store the current frame number -> later it will be used to determine the total duration */ + ptr_record->frame_allocated = update_cnt; /* Store the current frame number -> later it will be used to determine the total duration */ /* Update Heap Size in the current frame */ current_heap_size += ptr_record->block_size; /* Check, if this is the new Worst-Case RAM (stack + heap) */ - current_stack_size = (int32_t)(((ptr_base_stack - ptr_max_stack) * sizeof(int16_t))); - if (current_stack_size + current_heap_size > wc_ram_size) + current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) ); + if ( current_stack_size + current_heap_size > wc_ram_size ) { wc_ram_size = current_stack_size + current_heap_size; wc_ram_frame = update_cnt; } /* Add new entry to the heap allocation call tree */ - if (heap_allocation_call_tree == NULL) + if ( heap_allocation_call_tree == NULL ) { fprintf( stderr, "Error: Heap allocation call tree not created!" ); exit( -1 ); @@ -984,75 +984,75 @@ void* mem_alloc( * pre-fills memory block with magic value *--------------------------------------------------------------------*/ -static void* mem_alloc_block(size_t size, const char* size_str) +static void *mem_alloc_block( size_t size, const char *size_str ) { size_t rounded_size; - void* block_ptr; - char* tmp_ptr; + void *block_ptr; + char *tmp_ptr; size_t n, f; int32_t fill_value; - int32_t* ptr32; + int32_t *ptr32; int32_t mask, temp; /* Round Up Block Size */ - rounded_size = ROUND_BLOCK_SIZE(size); + rounded_size = ROUND_BLOCK_SIZE( size ); /* Allocate memory using the standard malloc() by adding room for Signature Values */ - block_ptr = malloc(rounded_size + BLOCK_ROUNDING * 2); + block_ptr = malloc( rounded_size + BLOCK_ROUNDING * 2 ); - if (block_ptr == NULL) + if ( block_ptr == NULL ) { return NULL; } /* Add Signature Before the Start of the Block */ - ptr32 = (int32_t*)block_ptr; + ptr32 = (int32_t *) block_ptr; n = N_32BITS_BLOCKS; do { *ptr32++ = MAGIC_VALUE_OOB; - } while (--n); + } while ( --n ); /* Fill Memory Block with Magic Value or 0 */ fill_value = MAGIC_VALUE_USED; - if (IS_CALLOC(size_str)) + if ( IS_CALLOC( size_str ) ) { fill_value = 0x00000000; } - n = size / sizeof(int32_t); - while (n--) + n = size / sizeof( int32_t ); + while ( n-- ) { *ptr32++ = fill_value; } /* Fill the Reminder of the Memory Block - After Rounding */ n = rounded_size - size; - f = n % sizeof(int32_t); - if (f != 0) + f = n % sizeof( int32_t ); + if ( f != 0 ) { /* when filling with '0' need to adapt the magic value */ /* shift by [1->24, 2->16, 3->8] */ - mask = 0xFFFFFFFF << ((sizeof(int32_t) - f) * 8); /* (1) */ + mask = 0xFFFFFFFF << ( ( sizeof( int32_t ) - f ) * 8 ); /* (1) */ temp = MAGIC_VALUE_OOB & mask; - if (fill_value != 0x0) + if ( fill_value != 0x0 ) { /* for malloc merge fill value */ - temp += (~mask) & MAGIC_VALUE_USED; + temp += ( ~mask ) & MAGIC_VALUE_USED; } /* for calloc the code in (1) above already introduces zeros */ *ptr32++ = temp; } - n /= sizeof(int32_t); + n /= sizeof( int32_t ); n += N_32BITS_BLOCKS; /* Add Signature After the End of Block */ do { *ptr32++ = MAGIC_VALUE_OOB; - } while (--n); + } while ( --n ); /* Adjust the Memory Block Pointer (Magic Value Before and After the Memory Block Requested) */ - tmp_ptr = (char*)block_ptr; + tmp_ptr = (char *) block_ptr; tmp_ptr += BLOCK_ROUNDING; - block_ptr = (void*)tmp_ptr; + block_ptr = (void *) tmp_ptr; return block_ptr; } @@ -1064,18 +1064,18 @@ static void* mem_alloc_block(size_t size, const char* size_str) * each memory block during its allocation *--------------------------------------------------------------------*/ -static int mem_set_usage(allocator_record* record_ptr) +static int mem_set_usage( allocator_record *record_ptr ) { int total_bytes_used; size_t n; - int32_t* ptr32; - char* ptr8; + int32_t *ptr32; + char *ptr8; size_t total_bytes; int32_t fill_value; fill_value = MAGIC_VALUE_USED; - if ((record_ptr->params[0]) == 'c') + if ( ( record_ptr->params[0] ) == 'c' ) { fill_value = 0x00000000; } @@ -1083,21 +1083,21 @@ static int mem_set_usage(allocator_record* record_ptr) total_bytes = record_ptr->block_size; /* Check 4 bytes at a time */ - ptr32 = (int32_t*)record_ptr->block_ptr; + ptr32 = (int32_t *) record_ptr->block_ptr; total_bytes_used = 0; - for (n = total_bytes / sizeof(int32_t); n > 0; n--) + for ( n = total_bytes / sizeof( int32_t ); n > 0; n-- ) { - if (*ptr32++ != fill_value) + if ( *ptr32++ != fill_value ) { - total_bytes_used += sizeof(int32_t); + total_bytes_used += sizeof( int32_t ); } } /* Check remaining bytes (If Applicable) 1 byte at a time */ - ptr8 = (char*)ptr32; - for (n = total_bytes % sizeof(int32_t); n > 0; n--) + ptr8 = (char *) ptr32; + for ( n = total_bytes % sizeof( int32_t ); n > 0; n-- ) { - if (*ptr8++ != (char)fill_value) + if ( *ptr8++ != (char) fill_value ) { total_bytes_used++; } @@ -1116,53 +1116,53 @@ static int mem_set_usage(allocator_record* record_ptr) * taht has been added before and after the memory block during its allocation *--------------------------------------------------------------------*/ -static unsigned int mem_check_OOB(allocator_record* record_ptr) +static unsigned int mem_check_OOB( allocator_record *record_ptr ) { - int32_t* ptr32; + int32_t *ptr32; unsigned int OOB_Flag = 0x0; int32_t mask; size_t i; int f; - ptr32 = (int32_t*)record_ptr->block_ptr - N_32BITS_BLOCKS; + ptr32 = (int32_t *) record_ptr->block_ptr - N_32BITS_BLOCKS; /* Check the Signature at the Beginning of Memory Block */ i = N_32BITS_BLOCKS; do { - if (*ptr32++ ^ MAGIC_VALUE_OOB) + if ( *ptr32++ ^ MAGIC_VALUE_OOB ) { OOB_Flag |= OOB_START; } - } while (--i); + } while ( --i ); /* Advance to End (Snap to lowest 32 Bits) */ - ptr32 += record_ptr->block_size / sizeof(int32_t); + ptr32 += record_ptr->block_size / sizeof( int32_t ); /* Calculate Unused Space That has been added to get to the rounded Block Size */ - i = ROUND_BLOCK_SIZE(record_ptr->block_size) - record_ptr->block_size; + i = ROUND_BLOCK_SIZE( record_ptr->block_size ) - record_ptr->block_size; /* Partial Check of Signature at the End of Memory Block (for block size that has been rounded) */ - f = i % sizeof(int32_t); - if (f != 0) + f = i % sizeof( int32_t ); + if ( f != 0 ) { - mask = 0xFFFFFFFF << ((sizeof(int32_t) - f) * 8); - if ((*ptr32++ ^ MAGIC_VALUE_OOB) & mask) + mask = 0xFFFFFFFF << ( ( sizeof( int32_t ) - f ) * 8 ); + if ( ( *ptr32++ ^ MAGIC_VALUE_OOB ) & mask ) { OOB_Flag |= OOB_END; } } /* Full Check of Signature at the End of Memory Block, i.e. all 32 Bits (for the remainder after rounding) */ - i /= sizeof(int32_t); + i /= sizeof( int32_t ); i += N_32BITS_BLOCKS; do { - if (*ptr32++ ^ MAGIC_VALUE_OOB) + if ( *ptr32++ ^ MAGIC_VALUE_OOB ) { OOB_Flag |= OOB_END; } - } while (--i); + } while ( --i ); return OOB_Flag; } @@ -1173,18 +1173,18 @@ static unsigned int mem_check_OOB(allocator_record* record_ptr) * Calculate hash from function name, line number and malloc size *--------------------------------------------------------------------*/ -static unsigned long malloc_hash(const char* func_name, int func_lineno, char* size_str) +static unsigned long malloc_hash( const char *func_name, int func_lineno, char *size_str ) { unsigned long hash = 5381; - const char* ptr_str; + const char *ptr_str; ptr_str = func_name; while ( ptr_str != NULL && *ptr_str != '\0' ) { - hash = ((hash << 5) + hash) + *ptr_str++; /* hash * 33 + char */ + hash = ( ( hash << 5 ) + hash ) + *ptr_str++; /* hash * 33 + char */ } - hash = ((hash << 5) + hash) + func_lineno; /* hash * 33 + func_lineno */ + hash = ( ( hash << 5 ) + hash ) + func_lineno; /* hash * 33 + func_lineno */ ptr_str = size_str; while ( ptr_str != NULL && *ptr_str != '\0' ) @@ -1202,22 +1202,22 @@ static unsigned long malloc_hash(const char* func_name, int func_lineno, char* s * Start from index_record *--------------------------------------------------------------------*/ -allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int func_lineno, char* size_str, int *index_record) +allocator_record *get_mem_record( unsigned long *hash, const char *func_name, int func_lineno, char *size_str, int *index_record ) { int i; - if (*index_record < 0 || *index_record > Num_Records) + if ( *index_record < 0 || *index_record > Num_Records ) { return NULL; } /* calculate hash */ - *hash = malloc_hash(func_name, func_lineno, size_str); + *hash = malloc_hash( func_name, func_lineno, size_str ); - for (i = *index_record; i < Num_Records; i++) + for ( i = *index_record; i < Num_Records; i++ ) { /* check, if memory block is not allocated at the moment and the hash matches */ - if (allocation_list[i].block_ptr == NULL && *hash == allocation_list[i].hash) + if ( allocation_list[i].block_ptr == NULL && *hash == allocation_list[i].hash ) { *index_record = i; return &( allocation_list[i] ); @@ -1237,47 +1237,47 @@ allocator_record* get_mem_record(unsigned long* hash, const char* func_name, int * It also updates actual and average usage of the memory block. * * Note: The record is not removed from the list and may be reused later on in mem_alloc()! - *--------------------------------------------------------------------*/ + *--------------------------------------------------------------------*/ -void mem_free(const char* func_name, int func_lineno, void* ptr) +void mem_free( const char *func_name, int func_lineno, void *ptr ) { int i, index_record; - char* tmp_ptr; - allocator_record* ptr_record; + char *tmp_ptr; + allocator_record *ptr_record; /* Search for the Block Pointer in the List */ ptr_record = NULL; index_record = -1; - for (i = 0; i < Num_Records; i++) + for ( i = 0; i < Num_Records; i++ ) { - if (ptr == allocation_list[i].block_ptr) + if ( ptr == allocation_list[i].block_ptr ) { /* Yes, Found it */ - ptr_record = &(allocation_list[i]); + ptr_record = &( allocation_list[i] ); index_record = i; break; } } - if (ptr_record == NULL) + if ( ptr_record == NULL ) { fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", func_name, func_lineno, "Error: Unable to Find Record Corresponding to the Allocated Memory Block!" ); - exit(-1); + exit( -1 ); } /* Update the Heap Size */ current_heap_size -= ptr_record->block_size; /* Calculate the Actual Usage of the Memory Block (Look for Signature) */ - ptr_record->total_used_size += mem_set_usage(ptr_record); + ptr_record->total_used_size += mem_set_usage( ptr_record ); /* Check, if Out-Of-Bounds Access has been Detected */ - ptr_record->OOB_Flag = mem_check_OOB(ptr_record); + ptr_record->OOB_Flag = mem_check_OOB( ptr_record ); /* De-Allocate Memory Block */ - tmp_ptr = (char*)ptr; + tmp_ptr = (char *) ptr; tmp_ptr -= BLOCK_ROUNDING; - ptr = (void*)tmp_ptr; - free(ptr); + ptr = (void *) tmp_ptr; + free( ptr ); /* Add new entry to the heap allocation call tree */ if ( heap_allocation_call_tree == NULL ) @@ -1305,8 +1305,8 @@ void mem_free(const char* func_name, int func_lineno, void* ptr) /*-------------------------------------------------------------------* * update_mem() * - * This function updates the worst-case intra-frame memory and the worst-case inter-frame memory. - *--------------------------------------------------------------------*/ + * This function updates the worst-case intra-frame memory and the worst-case inter-frame memory. + *--------------------------------------------------------------------*/ void update_mem( void ) { @@ -1323,11 +1323,11 @@ void update_mem( void ) /* get the record */ i_record = heap_allocation_call_tree[i]; - if (i_record > 0) + if ( i_record > 0 ) { flag_alloc = 1; } - else if (i_record < 0) + else if ( i_record < 0 ) { flag_alloc = 0; i_record = -i_record; @@ -1347,9 +1347,9 @@ void update_mem( void ) if ( i_record == 0 ) { flag_alloc = 1; - for ( j = 0; j < n_items_current_intra_frame_heap; j++) + for ( j = 0; j < n_items_current_intra_frame_heap; j++ ) { - if (list_current_intra_frame_heap[j] == i_record) + if ( list_current_intra_frame_heap[j] == i_record ) { flag_alloc = 0; break; @@ -1366,7 +1366,7 @@ void update_mem( void ) /* check, if this is the new worst-case */ if ( size_current_intra_frame_heap > size_wc_intra_frame_heap ) { - if ( n_items_current_intra_frame_heap >= max_items_wc_intra_frame_heap) + if ( n_items_current_intra_frame_heap >= max_items_wc_intra_frame_heap ) { /* resize list, if needed */ max_items_wc_intra_frame_heap = n_items_current_intra_frame_heap + MAX_NUM_RECORDS_REALLOC_STEP; @@ -1441,7 +1441,7 @@ void update_mem( void ) list_wc_inter_frame_heap = realloc( list_wc_inter_frame_heap, max_items_wc_inter_frame_heap * sizeof( int ) ); } - memmove( list_wc_inter_frame_heap, list_current_inter_frame_heap, n_items_current_inter_frame_heap * sizeof(int) ); + memmove( list_wc_inter_frame_heap, list_current_inter_frame_heap, n_items_current_inter_frame_heap * sizeof( int ) ); n_items_wc_inter_frame_heap = n_items_current_inter_frame_heap; size_wc_inter_frame_heap = size_current_inter_frame_heap; location_wc_inter_frame_heap = update_cnt; @@ -1487,9 +1487,9 @@ void update_mem( void ) * Substitute character in string *--------------------------------------------------------------------*/ -static void subst(char* s, char from, char to) +static void subst( char *s, char from, char to ) { - while (*s == from) + while ( *s == from ) { *s++ = to; } @@ -1504,15 +1504,15 @@ static void subst(char* s, char from, char to) * Print detailed (per-item) information about heap memory usage *--------------------------------------------------------------------*/ -static void mem_count_summary(void) +static void mem_count_summary( void ) { int i, j, index, index_record; size_t length; char buf[300], format_str[50], name_str[MAX_FUNCTION_NAME_LENGTH + 3], parms_str[MAX_PARAMS_LENGTH + 1], type_str[10], usage_str[20], size_str[20], line_str[10]; - allocator_record* ptr_record, *ptr; + allocator_record *ptr_record, *ptr; /* Prepare format string */ - sprintf(format_str, "%%-%ds %%5s %%6s %%-%ds %%20s %%6s ", MAX_FUNCTION_NAME_LENGTH, MAX_PARAMS_LENGTH); + sprintf( format_str, "%%-%ds %%5s %%6s %%-%ds %%20s %%6s ", MAX_FUNCTION_NAME_LENGTH, MAX_PARAMS_LENGTH ); if ( n_items_wc_intra_frame_heap > 0 ) { @@ -1582,11 +1582,11 @@ static void mem_count_summary(void) sprintf( line_str, "%d", ptr_record->lineno ); /* prepare average usage & memory size strings */ - sprintf( usage_str, "%d%%", (int) ( ((float)ptr_record->total_used_size / (ptr_record->total_block_size + 1)) * 100.0f ) ); + sprintf( usage_str, "%d%%", (int) ( ( (float) ptr_record->total_used_size / ( ptr_record->total_block_size + 1 ) ) * 100.0f ) ); if ( ptr_record->noccurances > 1 ) { - sprintf( size_str, "%dx%d %s", ptr_record->noccurances, (int) ( (ptr_record->noccurances * ptr_record->wc_heap_size_intra_frame) >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); + sprintf( size_str, "%dx%d %s", ptr_record->noccurances, (int) ( ( ptr_record->noccurances * ptr_record->wc_heap_size_intra_frame ) >> Stat_Cnt_Size ), Count_Unit[Stat_Cnt_Size] ); } else { @@ -1610,7 +1610,7 @@ static void mem_count_summary(void) for ( i = 0; i < n_items_wc_inter_frame_heap; i++ ) { index_record = list_wc_inter_frame_heap[i]; - if (index_record == -1) + if ( index_record == -1 ) { continue; } @@ -1619,7 +1619,7 @@ static void mem_count_summary(void) for ( j = i + 1; j < n_items_wc_inter_frame_heap; j++ ) { index = list_wc_inter_frame_heap[j]; - if (index == -1) + if ( index == -1 ) { continue; } @@ -1703,7 +1703,7 @@ void export_mem( const char *csv_filename ) static FILE *fid = NULL; allocator_record *record_ptr; - if (csv_filename == NULL || strcmp( csv_filename, "" ) == 0 ) + if ( csv_filename == NULL || strcmp( csv_filename, "" ) == 0 ) { return; } @@ -1738,51 +1738,52 @@ void export_mem( const char *csv_filename ) * Print information about ROM and RAM memory usage *--------------------------------------------------------------------*/ -void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) +void print_mem( ROM_Size_Lookup_Table Const_Data_PROM_Table[] ) { int i, nElem; fprintf( stdout, "\n\n --- Memory usage --- \n\n" ); - if (Const_Data_PROM_Table != NULL) + if ( Const_Data_PROM_Table != NULL ) { nElem = 0; - while (strcmp(Const_Data_PROM_Table[nElem].file_spec, "") != 0) nElem++; + while ( strcmp( Const_Data_PROM_Table[nElem].file_spec, "" ) != 0 ) + nElem++; - for (i = 0; i < nElem; i++) + for ( i = 0; i < nElem; i++ ) { - fprintf(stdout, "Program ROM size (%s): %d instruction words\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size); + fprintf( stdout, "Program ROM size (%s): %d instruction words\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].PROM_size ); } - for (i = 0; i < nElem; i++) + for ( i = 0; i < nElem; i++ ) { - if (Const_Data_PROM_Table[i].Get_Const_Data_Size_Func == NULL) + if ( Const_Data_PROM_Table[i].Get_Const_Data_Size_Func == NULL ) { - fprintf(stdout, "Error: Cannot retrieve or calculate Table ROM size of (%s)!\n", Const_Data_PROM_Table[i].file_spec); + fprintf( stdout, "Error: Cannot retrieve or calculate Table ROM size of (%s)!\n", Const_Data_PROM_Table[i].file_spec ); } - fprintf(stdout, "Table ROM (const data) size (%s): %d %s\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func() >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size]); + fprintf( stdout, "Table ROM (const data) size (%s): %d %s\n", Const_Data_PROM_Table[i].file_spec, Const_Data_PROM_Table[i].Get_Const_Data_Size_Func() >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size] ); } } else { - fprintf( stdout, "Program ROM size: not available\n"); - fprintf( stdout, "Table ROM (const data) size: not available\n"); + fprintf( stdout, "Program ROM size: not available\n" ); + fprintf( stdout, "Table ROM (const data) size: not available\n" ); } - if (wc_ram_size > 0) + if ( wc_ram_size > 0 ) { - fprintf(stdout, "Maximum RAM (stack + heap) size: %d %s in frame %d\n", wc_ram_size >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_ram_frame); + fprintf( stdout, "Maximum RAM (stack + heap) size: %d %s in frame %d\n", wc_ram_size >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], wc_ram_frame ); } else { fprintf( stdout, "Maximum RAM (stack + heap) size: not available\n" ); } - if (ptr_base_stack - ptr_max_stack > 0) + if ( ptr_base_stack - ptr_max_stack > 0 ) { - fprintf(stdout, "Maximum stack size: %lu %s in frame %d\n", ((ptr_base_stack - ptr_max_stack) * sizeof(int16_t)) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], - wc_stack_frame); + fprintf( stdout, "Maximum stack size: %lu %s in frame %d\n", ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], + wc_stack_frame ); } else { @@ -1798,10 +1799,10 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) /* check, if all memory blocks have been deallocated (freed) */ for ( i = 0; i < Num_Records; i++ ) { - if (allocation_list[i].block_ptr != NULL) + if ( allocation_list[i].block_ptr != NULL ) { fprintf( stderr, "Fct=%s, Ln=%i: %s!\n", allocation_list[i].name, allocation_list[i].lineno, "Error: Memory Block has not been De-Allocated with free()!" ); - exit(-1); + exit( -1 ); } } @@ -1834,9 +1835,9 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) mem_count_summary(); #endif - if (Stat_Cnt_Size > 0) + if ( Stat_Cnt_Size > 0 ) { - fprintf(stdout, "\nNote: 1 word = %d bits\n", 8 << Stat_Cnt_Size); + fprintf( stdout, "\nNote: 1 word = %d bits\n", 8 << Stat_Cnt_Size ); fprintf( stdout, "This is an optimistic estimate of memory consumption assuming that each variable type is stored with sizeof(type) bits\n" ); } @@ -1846,9 +1847,9 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) } /* De-allocate list of heap memory blocks */ - if (allocation_list != NULL) + if ( allocation_list != NULL ) { - free(allocation_list); + free( allocation_list ); } /* De-allocate heap allocation call tree */ @@ -1879,8 +1880,5 @@ void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]) #endif /* WMOPS */ #ifndef WMOPS -int cntr_push_pop = 0; /* global counter for checking balanced push_wmops()/pop_wmops() pairs when WMOPS is not activated */ +int cntr_push_pop = 0; /* global counter for checking balanced push_wmops()/pop_wmops() pairs when WMOPS is not activated */ #endif - - - diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 96e7b581d9..79017022ce 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -14,13 +14,13 @@ #ifndef WMOPS_H #define WMOPS_H - + #ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ +#include <stdlib.h> /* stdlib is needed for exit() */ #endif #ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ +#include <stdio.h> /* stdio is needed for fprintf() */ #endif @@ -30,15 +30,37 @@ #endif /* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC (1.0f) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC (FRAMES_PER_SECOND/MILLION_CYCLES*WMOPS_BOOST_FAC) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ #ifdef WMOPS -enum instructions {_ADD,_ABS, _MULT, _MAC, _MOVE, _STORE, _LOGIC, _SHIFT, _BRANCH, _DIV, _SQRT, _TRANS, _FUNC, _LOOP, _INDIRECT, _PTR_INIT, _TEST, _POWER, _LOG, _MISC}; +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; #define _ADD_C 1 #define _ABS_C 1 @@ -49,16 +71,16 @@ enum instructions {_ADD,_ABS, _MULT, _MAC, _MOVE, _STORE, _LOGIC, _SHIFT, _BRANC #define _LOGIC_C 1 #define _SHIFT_C 1 #define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ #define _LOOP_C 3 #define _INDIRECT_C 2 #define _PTR_INIT_C 1 #define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 +#define _POWER_C 25 +#define _LOG_C 25 #define _MISC_C 1 #define _ADD_P 1 @@ -73,7 +95,7 @@ enum instructions {_ADD,_ABS, _MULT, _MAC, _MOVE, _STORE, _LOGIC, _SHIFT, _BRANC #define _DIV_P 2 #define _SQRT_P 2 #define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ +#define _FUNC_P 2 /* need to add number of arguments */ #define _LOOP_P 1 #define _INDIRECT_P 2 #define _PTR_INIT_P 1 @@ -82,111 +104,532 @@ enum instructions {_ADD,_ABS, _MULT, _MAC, _MOVE, _STORE, _LOGIC, _SHIFT, _BRANC #define _LOG_P 2 #define _MISC_P 1 -#define ADD(x) { {ops_cnt+=(_ADD_C*(x)); inst_cnt[_ADD]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_ADD_P*(x)); }}}} -#define ABS(x) { {ops_cnt+=(_ABS_C*(x)); inst_cnt[_ABS]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_ABS_P*(x)); }}}} -#define MULT(x) { {ops_cnt+=(_MULT_C*(x)); inst_cnt[_MULT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MULT_P*(x)); }}}} -#define MAC(x) { {ops_cnt+=(_MAC_C*(x)); inst_cnt[_MAC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MAC_P*(x)); }}}} -#define MOVE(x) { {ops_cnt+=(_MOVE_C*(x)); inst_cnt[_MOVE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MOVE_P*(x)); }}}} -#define STORE(x) { {ops_cnt+=(_STORE_C*(x)); inst_cnt[_STORE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_STORE_P*(x)); }}}} -#define LOGIC(x) { {ops_cnt+=(_LOGIC_C*(x)); inst_cnt[_LOGIC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOGIC_P*(x)); }}}} -#define SHIFT(x) { {ops_cnt+=(_SHIFT_C*(x)); inst_cnt[_SHIFT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SHIFT_P*(x)); }}}} -#define BRANCH(x) { {ops_cnt+=(_BRANCH_C*(x)); inst_cnt[_BRANCH]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_BRANCH_P*(x)); }}}} -#define DIV(x) { {ops_cnt+=(_DIV_C*(x)); inst_cnt[_DIV]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_DIV_P*(x)); }}}} -#define SQRT(x) { {ops_cnt+=(_SQRT_C*(x)); inst_cnt[_SQRT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SQRT_P*(x)); }}}} -#define TRANS(x) { {ops_cnt+=(_TRANS_C*(x)); inst_cnt[_TRANS]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_TRANS_P*(x)); }}}} -#define LOOP(x) { {ops_cnt+=(_LOOP_C*(x)); inst_cnt[_LOOP]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOOP_P*(x)); }}}} -#define INDIRECT(x) { {ops_cnt+=(_INDIRECT_C*(x)); inst_cnt[_INDIRECT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_INDIRECT_P*(x)); }}}} -#define PTR_INIT(x) { {ops_cnt+=(_PTR_INIT_C*(x)); inst_cnt[_PTR_INIT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_PTR_INIT_P*(x)); }}}} -#define TEST(x) { {ops_cnt+=(_TEST_C*(x)); inst_cnt[_TEST]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_TEST_P*(x)); }}}} -#define POWER(x) { {ops_cnt+=(_POWER_C*(x)); inst_cnt[_POWER]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_POWER_P*(x)); }}}} -#define LOG(x) { {ops_cnt+=(_LOG_C*(x)); inst_cnt[_LOG]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOG_P*(x)); }}}} -#define MISC(x) { {ops_cnt+=(_MISC_C*(x)); inst_cnt[_MISC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MISC_P*(x)); }}}} - -#define FUNC(x) { {ops_cnt+=(_FUNC_C+_MOVE_C*(x)); inst_cnt[_FUNC]++; inst_cnt[_MOVE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_FUNC_P+_MOVE_P*(x)); }}}} - -#define DADD(x) { {ops_cnt+=(2*_ADD_C*(x)); inst_cnt[_ADD]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_ADD_P*(x)); }}}} -#define DMULT(x) { {ops_cnt+=(2*_MULT_C*(x)); inst_cnt[_MULT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MULT_P*(x)); }}}} -#define DMAC(x) { {ops_cnt+=(2*_MAC_C*(x)); inst_cnt[_MAC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MAC_P*(x)); }}}} -#define DMOVE(x) { {ops_cnt+=(2*_MOVE_C*(x)); inst_cnt[_MOVE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_MOVE_P*(x)); }}}} -#define DSTORE(x) { {ops_cnt+=(2*_STORE_C*(x)); inst_cnt[_STORE]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_STORE_P*(x)); }}}} -#define DLOGIC(x) { {ops_cnt+=(2*_LOGIC_C*(x)); inst_cnt[_LOGIC]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_LOGIC_P*(x)); }}}} -#define DSHIFT(x) { {ops_cnt+=(2*_SHIFT_C*(x)); inst_cnt[_SHIFT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SHIFT_P*(x)); }}}} -#define DDIV(x) { {ops_cnt+=(2*_DIV_C*(x)); inst_cnt[_DIV]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_DIV_P*(x)); }}}} -#define DSQRT(x) { {ops_cnt+=(2*_SQRT_C*(x)); inst_cnt[_SQRT]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_SQRT_P*(x)); }}}} -#define DTRANS(x) { {ops_cnt+=(2*_TRANS_C*(x)); inst_cnt[_TRANS]+=(x); { static int pcnt; if (!pcnt) { pcnt=1; prom_cnt+=(_TRANS_P*(x)); }}}} +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } extern double ops_cnt; extern double prom_cnt; -extern double inst_cnt [NUM_INST]; +extern double inst_cnt[NUM_INST]; extern int ops_cnt_activ; -void reset_wmops (void); -void push_wmops (const char *label); -void pop_wmops (void); -void update_wmops (void); +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); void update_mem( void ); -void print_wmops (void); +void print_wmops( void ); #else /* WMOPS counting disabled */ #define reset_wmops() extern int cntr_push_pop; -#define push_wmops(x) (cntr_push_pop++) -#define pop_wmops() (cntr_push_pop--) -#define update_wmops() (assert(cntr_push_pop == 0)) +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) #define update_mem() #define print_wmops() -#define ADD(x) -#define ABS(x) -#define MULT(x) -#define MAC(x) -#define MOVE(x) -#define STORE(x) -#define LOGIC(x) -#define SHIFT(x) -#define BRANCH(x) -#define DIV(x) -#define SQRT(x) -#define TRANS(x) -#define FUNC(x) -#define LOOP(x) -#define INDIRECT(x) -#define PTR_INIT(x) -#define TEST(x) -#define POWER(x) -#define LOG(x) -#define MISC(x) - -#define DADD(x) -#define DMULT(x) -#define DMAC(x) -#define DMOVE(x) -#define DSTORE(x) -#define DLOGIC(x) -#define DSHIFT(x) -#define DDIV(x) -#define DSQRT(x) -#define DTRANS(x) +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) #endif /* mac & msu (Non Instrumented Versions) */ #ifndef mac -#define mac(a, b, c) ((a)+(b)*(c)) +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) #endif #ifndef mac -#define msu(a, b, c) ((a)-(b)*(c)) +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) #endif #ifndef WMOPS /* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_(op, n) +#define OP_COUNT_( op, n ) /* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_(op, val) (val) -#define OP_COUNT_WRAPPER2_(expr) -#define OP_COUNT_WRAPPER3_(op, expr) expr +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr /* DESACTIVATE Logical & Ternary Operators */ #define __ @@ -195,8 +638,8 @@ extern int cntr_push_pop; #else /* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double* ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_(op, x) (*ops_cnt_ptr+=(op##_C*(x)), inst_cnt[op]+=(x)) +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) /******************************************************************/ /* NOTES: */ @@ -212,119 +655,133 @@ static double* ops_cnt_ptr = &ops_cnt; static int wmc_flag_ = 0; /* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_(op, val) (op, val) -#define OP_COUNT_WRAPPER2_(expr) if (expr, 0); else -#define OP_COUNT_WRAPPER3_(op, expr) if ( op , 0); else expr +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr #endif /* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_(x) OP_COUNT_(_ABS, (x)/WMOPS_BOOST_FAC) -#define ADD_(x) OP_COUNT_(_ADD, (x)/WMOPS_BOOST_FAC) -#define MULT_(x) OP_COUNT_(_MULT, (x)/WMOPS_BOOST_FAC) -#define MAC_(x) OP_COUNT_(_MAC, (x)/WMOPS_BOOST_FAC) -#define MOVE_(x) OP_COUNT_(_MOVE, (x)/WMOPS_BOOST_FAC) -#define STORE_(x) OP_COUNT_(_STORE, (x)/WMOPS_BOOST_FAC) -#define LOGIC_(x) OP_COUNT_(_LOGIC, (x)/WMOPS_BOOST_FAC) -#define SHIFT_(x) OP_COUNT_(_SHIFT, (x)/WMOPS_BOOST_FAC) -#define BRANCH_(x) OP_COUNT_(_BRANCH, (x)/WMOPS_BOOST_FAC) -#define DIV_(x) OP_COUNT_(_DIV, (x)/WMOPS_BOOST_FAC) -#define SQRT_(x) OP_COUNT_(_SQRT, (x)/WMOPS_BOOST_FAC) -#define TRANS_(x) OP_COUNT_(_TRANS, (x)/WMOPS_BOOST_FAC) -#define POWER_(x) TRANS_(x) -#define LOG_(x) TRANS_(x) -#define LOOP_(x) OP_COUNT_(_LOOP, (x)/WMOPS_BOOST_FAC) -#define INDIRECT_(x) OP_COUNT_(_INDIRECT, (x)/WMOPS_BOOST_FAC) -#define PTR_INIT_(x) OP_COUNT_(_PTR_INIT, (x)/WMOPS_BOOST_FAC) -#define FUNC_(x) (OP_COUNT_(_MOVE, (x)/WMOPS_BOOST_FAC), OP_COUNT_(_FUNC, 1)) -#define MISC_(x) ABS_(x) +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) /* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_(1), abs) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_(1), fabs) -#define labs_ OP_COUNT_WRAPPER1_( ABS_(1), labs) -#define floor_ OP_COUNT_WRAPPER1_( MISC_(1), floor) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_(1), sqrt) -#define pow_ OP_COUNT_WRAPPER1_(POWER_(1), pow) -#define exp_ OP_COUNT_WRAPPER1_(POWER_(1), exp) -#define log_ OP_COUNT_WRAPPER1_( LOG_(1), log) -#define log10_ OP_COUNT_WRAPPER1_( LOG_(1), log10) -#define cos_ OP_COUNT_WRAPPER1_(TRANS_(1), cos) -#define sin_ OP_COUNT_WRAPPER1_(TRANS_(1), sin) -#define tan_ OP_COUNT_WRAPPER1_(TRANS_(1), tan) -#define acos_ OP_COUNT_WRAPPER1_(TRANS_(1), acos) -#define asin_ OP_COUNT_WRAPPER1_(TRANS_(1), asin) -#define atan_ OP_COUNT_WRAPPER1_(TRANS_(1), atan) -#define atan2_ OP_COUNT_WRAPPER1_(TRANS_(1), atan2) -#define cosh_ OP_COUNT_WRAPPER1_(TRANS_(1), cosh) -#define sinh_ OP_COUNT_WRAPPER1_(TRANS_(1), sinh) -#define tanh_ OP_COUNT_WRAPPER1_(TRANS_(1), tanh) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_(1), fmod) +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) /* these macros use any local macros already defined */ /* min/max and their Variants */ -#define min_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), min((a),(b))) -#define max_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), max((a),(b))) -#define MIN_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), MIN((a),(b))) -#define MAX_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), MAX((a),(b))) -#define Min_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), Min((a),(b))) -#define Max_(a, b) OP_COUNT_WRAPPER1_(MISC_(1), Max((a),(b))) +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) /* Square and its Variants */ -#define sqr_(x) OP_COUNT_WRAPPER1_(MULT_(1), sqr((x))) -#define Sqr_(x) OP_COUNT_WRAPPER1_(MULT_(1), Sqr((x))) -#define SQR_(x) OP_COUNT_WRAPPER1_(MULT_(1), SQR((x))) -#define square_(x) OP_COUNT_WRAPPER1_(MULT_(1),square((x))) -#define Square_(x) OP_COUNT_WRAPPER1_(MULT_(1),Square((x))) -#define SQUARE_(x) OP_COUNT_WRAPPER1_(MULT_(1),SQUARE((x))) +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) /* Sign and its Variants */ -#define sign_(x) OP_COUNT_WRAPPER1_(MOVE_(1), sign((x))) -#define Sign_(x) OP_COUNT_WRAPPER1_(MOVE_(1), Sign((x))) -#define SIGN_(x) OP_COUNT_WRAPPER1_(MOVE_(1), SIGN((x))) +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) /* Square Root and its Variants */ -#define sqrtf_(x) OP_COUNT_WRAPPER1_(SQRT_(1), sqrtf((x))) +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) /* Invert Square Root and its Variants */ -#define inv_sqrt_(x) OP_COUNT_WRAPPER1_(SQRT_(1), inv_sqrt((x))) +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) /* Others */ -#define log_base_2_(x) OP_COUNT_WRAPPER1_(( LOG_(1),MULT_(1)), log_base_2((x))) -#define log2_f_(x) OP_COUNT_WRAPPER1_(( LOG_(1),MULT_(1)), log2_f((x))) +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) /* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" with Cygwin gcc Compiler */ -#define _round_(x) OP_COUNT_WRAPPER1_(wmc_flag_=wmc_flag_, _round((x))) -#define round_f_(x) OP_COUNT_WRAPPER1_(wmc_flag_=wmc_flag_, round_f((x))) -#define _squant_(x) OP_COUNT_WRAPPER1_(wmc_flag_=wmc_flag_, _squant((x))) +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) /* Set Min/Max */ -#define set_min_(a, b) OP_COUNT_WRAPPER3_((ADD_(1),BRANCH_(1),MOVE_(1)), set_min((a),(b))) -#define set_max_(a, b) OP_COUNT_WRAPPER3_((ADD_(1),BRANCH_(1),MOVE_(1)), set_max((a),(b))) +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) /* mac & msu (Instrumented Versions) */ -#define mac_(a, b, c) OP_COUNT_WRAPPER1_(MAC_(1), mac(a, b, c)) -#define msu_(a, b, c) OP_COUNT_WRAPPER1_(MAC_(1), msu(a, b, c)) +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) /* Functions */ -#define func_(name, x) OP_COUNT_WRAPPER1_(FUNC_(x), name) +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) /* Logical Operators */ #ifndef __ -#define __ (BRANCH_(1), 1) && +#define __ ( BRANCH_( 1 ), 1 ) && #endif /* Ternary Operators (? and :) */ #ifndef _ -#define _ (BRANCH_(1), 0)?0: +#define _ ( BRANCH_( 1 ), 0 ) ? 0: #endif /* Flow Control keywords */ -#define if_ OP_COUNT_WRAPPER2_(BRANCH_(1)) if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_(c) while OP_COUNT_WRAPPER1_(BRANCH_(1), (c)) /* needs extra "()" if ',' encountered */ -#define do_ do { -#define _while BRANCH_(1);} while +#define if_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while -#define goto_ OP_COUNT_WRAPPER2_(BRANCH_(1)) goto -#define break_ OP_COUNT_WRAPPER2_(BRANCH_(1)) break -#define continue_ OP_COUNT_WRAPPER2_(BRANCH_(1)) continue -#define return_ OP_COUNT_WRAPPER2_((wmc_flag_=stack_tree_level_, STACK_DEPTH_FCT_RETURN)) return +#define goto_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) goto +#define break_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) break +#define continue_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) continue +#define return_ OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) return -#define switch_ OP_COUNT_WRAPPER2_((BRANCH_(1),wmc_flag_=1)) switch -#define cost_(n) OP_COUNT_WRAPPER2_(wmc_flag_?(ADD_(n),BRANCH_(n),wmc_flag_=0):0); +#define switch_ OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); #ifdef WMOPS @@ -332,12 +789,12 @@ static int wmc_flag_ = 0; #define MUL 1 /* Counting Function (should not be called externally!) */ -static void wops_(const char* ops) +static void wops_( const char *ops ) { char lm = 0; /* lm: Last Operation is Math */ static char lo = 0; /* Last Operation */ - void (*fct)(const char* ops) = wops_; + void ( *fct )( const char *ops ) = wops_; st: while ( *ops != '\0' ) @@ -432,13 +889,13 @@ st: case '=': if ( lm ) goto st; - case '\0': + case '\0': /* This Shouldn't Happen */ /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ wmc_flag_ = wmc_flag_; ops_cnt_ptr = ops_cnt_ptr; fct( "" ); -error: + error: default: fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); exit( -1 ); @@ -453,7 +910,7 @@ error: #endif /* All Other Operations */ -#define $(str) OP_COUNT_WRAPPER2_(wops_(str)) +#define $( str ) OP_COUNT_WRAPPER2_( wops_( str ) ) /*-------------------------------------------------------------------* @@ -461,18 +918,26 @@ error: *-------------------------------------------------------------------*/ /* Enhanced Const Data Size Counting (Rounding Up to the Nearest 'Integer' Size) */ -#define rsize(item) ((sizeof(item) + sizeof(int) - 1) / sizeof(int) * sizeof(int)) +#define rsize( item ) ( ( sizeof( item ) + sizeof( int ) - 1 ) / sizeof( int ) * sizeof( int ) ) #ifdef _MSC_VER /* Disable "warning C4210: nonstandard extension used : function given file scope" with Visual Studio Compiler */ -#pragma warning(disable: 4210) +#pragma warning( disable : 4210 ) #endif /* Const Data Size and PROM Size Wrapper Functions */ -#define Const_Data_Size_Func(file) Const_Data_Size_##file(void) -#define Get_Const_Data_Size(file, val_ptr) { extern int Const_Data_Size_##file(void); *(val_ptr) = Const_Data_Size_##file(); } -#define PROM_Size_Func(file) PROM_Size_##file(void) -#define Get_PROM_Size(file, val_ptr) { int PROM_Size_##file(void); *(val_ptr) = PROM_Size_##file(); } +#define Const_Data_Size_Func( file ) Const_Data_Size_##file( void ) +#define Get_Const_Data_Size( file, val_ptr ) \ + { \ + extern int Const_Data_Size_##file( void ); \ + *( val_ptr ) = Const_Data_Size_##file(); \ + } +#define PROM_Size_Func( file ) PROM_Size_##file( void ) +#define Get_PROM_Size( file, val_ptr ) \ + { \ + int PROM_Size_##file( void ); \ + *( val_ptr ) = PROM_Size_##file(); \ + } /* ROM Size Lookup Table - contains information about PROM size and Const Data Size in all source files */ /* The print_mem() function looks for this table to print the results of Const Data usage and PROM usage */ @@ -480,7 +945,7 @@ typedef struct ROM_Size_Lookup_Table { const char file_spec[255]; int PROM_size; - int (*Get_Const_Data_Size_Func) (void); + int ( *Get_Const_Data_Size_Func )( void ); } ROM_Size_Lookup_Table; /* The WMC tool inserts the following declaration during the innstrumentation process in the .c file where the function print_mem() is located */ @@ -521,50 +986,46 @@ typedef enum #ifdef WMOPS -void* mem_alloc(const char* func_name, int func_lineno, size_t size, char* alloc_str); -void mem_free(const char* func_name, int func_lineno, void* ptr); +void *mem_alloc( const char *func_name, int func_lineno, size_t size, char *alloc_str ); +void mem_free( const char *func_name, int func_lineno, void *ptr ); -#define malloc_(size) mem_alloc( __func__, __LINE__, size, "m:" #size ) -#define calloc_(n,size) mem_alloc( __func__, __LINE__, ( n ) * ( size ), "c:" #n ", " #size ) -#define free_(ptr) mem_free( __func__, __LINE__, ptr ) +#define malloc_( size ) mem_alloc( __func__, __LINE__, size, "m:" #size ) +#define calloc_( n, size ) mem_alloc( __func__, __LINE__, ( n ) * ( size ), "c:" #n ", " #size ) +#define free_( ptr ) mem_free( __func__, __LINE__, ptr ) -void reset_mem(Counting_Size cnt_size); -void print_mem(ROM_Size_Lookup_Table Const_Data_PROM_Table[]); +void reset_mem( Counting_Size cnt_size ); +void print_mem( ROM_Size_Lookup_Table Const_Data_PROM_Table[] ); #ifdef MEM_COUNT_DETAILS void export_mem( const char *csv_filename ); #endif -int push_stack(const char* filename, const char* fctname); -int pop_stack(const char* filename, const char* fctname); +int push_stack( const char *filename, const char *fctname ); +int pop_stack( const char *filename, const char *fctname ); #ifdef WMOPS_DETAIL -#define STACK_DEPTH_FCT_CALL (push_wmops(__FUNCTION__), push_stack(__FILE__,__FUNCTION__)) /* add push_wmops() in all function calls */ -#define STACK_DEPTH_FCT_RETURN (pop_wmops(), pop_stack(__FILE__,__FUNCTION__)) /* add pop_wmops() in all function returns */ +#define STACK_DEPTH_FCT_CALL ( push_wmops( __FUNCTION__ ), push_stack( __FILE__, __FUNCTION__ ) ) /* add push_wmops() in all function calls */ +#define STACK_DEPTH_FCT_RETURN ( pop_wmops(), pop_stack( __FILE__, __FUNCTION__ ) ) /* add pop_wmops() in all function returns */ #else -#define STACK_DEPTH_FCT_CALL push_stack(__FILE__,__FUNCTION__) -#define STACK_DEPTH_FCT_RETURN pop_stack(__FILE__,__FUNCTION__) +#define STACK_DEPTH_FCT_CALL push_stack( __FILE__, __FUNCTION__ ) +#define STACK_DEPTH_FCT_RETURN pop_stack( __FILE__, __FUNCTION__ ) #endif -void reset_stack(void); -#define func_start_ int stack_tree_level_=STACK_DEPTH_FCT_CALL; +void reset_stack( void ); +#define func_start_ int stack_tree_level_ = STACK_DEPTH_FCT_CALL; #else -#define malloc_(n1) malloc( n1 ) -#define calloc_(n1,n2) calloc( n1, n2 ) -#define free_(ptr) free( ptr ) +#define malloc_( n1 ) malloc( n1 ) +#define calloc_( n1, n2 ) calloc( n1, n2 ) +#define free_( ptr ) free( ptr ) #define reset_mem( cnt_size ) #define print_mem( Const_Data_PROM_Table ) #define export_mem( csv_filename ) -#define push_stack(file,fct) -#define pop_stack(file,fct) +#define push_stack( file, fct ) +#define pop_stack( file, fct ) #define reset_stack() #define func_start_ #endif #endif /* WMOPS_H */ - - - - diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index 07838490ac..5643de5df5 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -105,9 +105,9 @@ ivas_error ivas_dirac_dec_init_binaural_data( #endif { if ( ( hBinaural = (DIRAC_DEC_BIN_HANDLE) malloc( sizeof( DIRAC_DEC_BIN_DATA ) ) ) == NULL ) - { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC binaural handle " ); - } + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC binaural handle " ); + } #ifdef BRATE_SWITCHING_RENDERING hBinaural->hTdDecorr = NULL; @@ -213,22 +213,22 @@ ivas_error ivas_dirac_dec_init_binaural_data( if ( hBinaural->hReverb == NULL ) #endif { - if ( hBinaural->useSubframeMode ) - { - if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + if ( hBinaural->useSubframeMode ) { - return error; + if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + { + return error; + } } - } - else - { - if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + else { - return error; + if ( ( error = ivas_binaural_reverb_open( &hBinaural->hReverb, nBins, CLDFB_NO_COL_MAX, NULL, st_ivas->hIntSetup.output_config, output_Fs, RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) != IVAS_ERR_OK ) + { + return error; + } } } } - } else if ( renderer_type == RENDERER_STEREO_PARAMETRIC ) { set_f( hBinaural->earlyPartEneCorrection, 1.0f, CLDFB_NO_CHANNELS_MAX ); @@ -248,7 +248,7 @@ ivas_error ivas_dirac_dec_init_binaural_data( if ( hBinaural->hTdDecorr == NULL ) #endif { - ivas_spar_td_decorr_dec_open( &( hBinaural->hTdDecorr ), output_Fs, 3, 1 ); + ivas_spar_td_decorr_dec_open( &( hBinaural->hTdDecorr ), output_Fs, 3, 1 ); } if ( st_ivas->hDecoderConfig->ivas_total_brate < IVAS_24k4 ) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index b70ba464b5..77d1fef233 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -45,7 +45,6 @@ #include "wmc_auto.h" - #ifdef SBA_BR_SWITCHING /*-------------------------------------------------------------------* * ivas_sba_dec_reinit() diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index b5c6acbdfc..8c39670d9b 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -40,7 +40,6 @@ #endif - /*-------------------------------------------------------------------* * TDREND_MIX_LIST_SetPos() * -- GitLab From 6ba4edae77400e9d01fd7416dab35b352922b2f9 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 22:01:55 +0100 Subject: [PATCH 279/620] fix formatting in wmc_auto.h --- lib_debug/wmc_auto.h | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index 79017022ce..f88cbb9421 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -762,7 +762,8 @@ static int wmc_flag_ = 0; #endif /* Flow Control keywords */ -#define if_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) if +#define if_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ +if #define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for #define while_( c ) \ while \ @@ -775,12 +776,17 @@ static int wmc_flag_ = 0; } \ while -#define goto_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) goto -#define break_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) break -#define continue_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) continue -#define return_ OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) return - -#define switch_ OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) switch +#define goto_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ +goto +#define break_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ +break +#define continue_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ +continue +#define return_ OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ +return + +#define switch_ OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ +switch #define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); #ifdef WMOPS -- GitLab From b06ddb89f5faa0c0a12e7a11c883142cebb3061a Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 6 Dec 2022 22:07:18 +0100 Subject: [PATCH 280/620] fix no newline at the end of file --- lib_com/ari_hm.c | 2 +- lib_com/arith_coder.c | 2 +- lib_com/basop32.c | 2 +- lib_com/basop_com_lpc.c | 2 +- lib_com/basop_lsf_tools.c | 2 +- lib_com/basop_mpy.c | 2 +- lib_com/basop_tcx_utils.c | 2 +- lib_com/basop_util.c | 2 +- lib_com/bitalloc.c | 2 +- lib_com/bitstream.c | 1 + lib_com/enh1632.c | 2 +- lib_com/enh40.c | 2 +- lib_com/fft.c | 2 +- lib_com/hq2_bit_alloc.c | 2 +- lib_com/pvq_com.c | 2 +- lib_com/window.c | 2 +- lib_debug/segsnr.c | 2 +- lib_dec/FEC.c | 1 + lib_dec/jbm_jb4_inputbuffer.c | 2 +- lib_dec/jbm_jb4sb.c | 2 +- 20 files changed, 20 insertions(+), 18 deletions(-) diff --git a/lib_com/ari_hm.c b/lib_com/ari_hm.c index cbe681263e..1c3961b3ae 100644 --- a/lib_com/ari_hm.c +++ b/lib_com/ari_hm.c @@ -302,4 +302,4 @@ void tcx_hm_modify_envelope( return; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/arith_coder.c b/lib_com/arith_coder.c index b192213aff..67fbb93691 100644 --- a/lib_com/arith_coder.c +++ b/lib_com/arith_coder.c @@ -575,4 +575,4 @@ void tcx_arith_render_envelope( return; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/basop32.c b/lib_com/basop32.c index af94bfaca6..bf369ff33f 100644 --- a/lib_com/basop32.c +++ b/lib_com/basop32.c @@ -3205,4 +3205,4 @@ Word32 L_msu0( Word32 L_var3, Word16 var1, Word16 var2 ) #endif /* ! BASOP_NOGLOB */ #undef WMC_TOOL_SKIP -/* end of file */ + diff --git a/lib_com/basop_com_lpc.c b/lib_com/basop_com_lpc.c index 3b02560719..c0667f96f6 100644 --- a/lib_com/basop_com_lpc.c +++ b/lib_com/basop_com_lpc.c @@ -260,4 +260,4 @@ void basop_lsf2lsp( const Word16 lsf[], Word16 lsp[] ) return; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/basop_lsf_tools.c b/lib_com/basop_lsf_tools.c index 72d5383c2f..eeb42df491 100644 --- a/lib_com/basop_lsf_tools.c +++ b/lib_com/basop_lsf_tools.c @@ -311,4 +311,4 @@ static Word16 E_LPC_f_lsp_pol_get( return Ovf; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/basop_mpy.c b/lib_com/basop_mpy.c index 4641af2211..8c55d25e79 100644 --- a/lib_com/basop_mpy.c +++ b/lib_com/basop_mpy.c @@ -89,4 +89,4 @@ Word32 Mpy_32_32( Word32 x, Word32 y ) return ( mh ); } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/basop_tcx_utils.c b/lib_com/basop_tcx_utils.c index 84b6ffca9b..5e744c2906 100644 --- a/lib_com/basop_tcx_utils.c +++ b/lib_com/basop_tcx_utils.c @@ -438,4 +438,4 @@ void basop_PsychAdaptLowFreqDeemph( Word32 x[], const Word16 lpcGains[], const W } } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/basop_util.c b/lib_com/basop_util.c index 0006971a23..660de7cb9a 100644 --- a/lib_com/basop_util.c +++ b/lib_com/basop_util.c @@ -1109,4 +1109,4 @@ Word32 Sqrt_l( return ( L_y ); } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/bitalloc.c b/lib_com/bitalloc.c index c393bee870..3ee65a036b 100644 --- a/lib_com/bitalloc.c +++ b/lib_com/bitalloc.c @@ -1022,4 +1022,4 @@ int16_t BitAllocWB( return (Word16) t_fx; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index ff731f13c9..35ec95000f 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2969,3 +2969,4 @@ void dtx_read_padding_bits( } #undef WMC_TOOL_SKIP + diff --git a/lib_com/enh1632.c b/lib_com/enh1632.c index 402d4a62c9..5a810cab0e 100644 --- a/lib_com/enh1632.c +++ b/lib_com/enh1632.c @@ -631,4 +631,4 @@ Word32 L_rotl( Word32 L_var1, Word16 var2, Word16 *var3 ) } #undef WMC_TOOL_SKIP -/* end of file */ + diff --git a/lib_com/enh40.c b/lib_com/enh40.c index 5da2b0e6fd..9d8fd84b60 100644 --- a/lib_com/enh40.c +++ b/lib_com/enh40.c @@ -1307,4 +1307,4 @@ Word40 L40_shl_r( Word40 L40_var1, Word16 var2 ) #undef WMC_TOOL_SKIP -/* end of file */ + diff --git a/lib_com/fft.c b/lib_com/fft.c index d9edf0ad14..8ce6b73a5f 100644 --- a/lib_com/fft.c +++ b/lib_com/fft.c @@ -6767,4 +6767,4 @@ void BASOP_cfft( return; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/hq2_bit_alloc.c b/lib_com/hq2_bit_alloc.c index 17aff7a017..c1accf0406 100644 --- a/lib_com/hq2_bit_alloc.c +++ b/lib_com/hq2_bit_alloc.c @@ -1031,4 +1031,4 @@ void hq2_bit_alloc( return; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/pvq_com.c b/lib_com/pvq_com.c index af8e3f1bcc..c45217f354 100644 --- a/lib_com/pvq_com.c +++ b/lib_com/pvq_com.c @@ -975,4 +975,4 @@ Word16 atan2_fx( return angle; /* Q14 between 0 and EVS_PI/2 radian. */ } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_com/window.c b/lib_com/window.c index 80797869e0..899ff8e4ce 100644 --- a/lib_com/window.c +++ b/lib_com/window.c @@ -77,4 +77,4 @@ void ham_cos_window( return; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_debug/segsnr.c b/lib_debug/segsnr.c index 51b33f57a9..b7733355fa 100644 --- a/lib_debug/segsnr.c +++ b/lib_debug/segsnr.c @@ -102,4 +102,4 @@ float segsnr( float x[], float xe[], int16_t n, int16_t nseg ) } #endif -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_dec/FEC.c b/lib_dec/FEC.c index f623c265c2..0ea85907e6 100644 --- a/lib_dec/FEC.c +++ b/lib_dec/FEC.c @@ -578,3 +578,4 @@ static void pulseRes_preCalc( return; } #undef WMC_TOOL_SKIP + diff --git a/lib_dec/jbm_jb4_inputbuffer.c b/lib_dec/jbm_jb4_inputbuffer.c index 0959868a61..f8a3d09b52 100644 --- a/lib_dec/jbm_jb4_inputbuffer.c +++ b/lib_dec/jbm_jb4_inputbuffer.c @@ -359,4 +359,4 @@ uint16_t JB4_INPUTBUFFER_Size( return ret; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP diff --git a/lib_dec/jbm_jb4sb.c b/lib_dec/jbm_jb4sb.c index a1d9d3d847..be8caff4b3 100644 --- a/lib_dec/jbm_jb4sb.c +++ b/lib_dec/jbm_jb4sb.c @@ -1509,4 +1509,4 @@ static int16_t JB4_inputBufferCompareFunction( return result; } -#undef WMC_TOOL_SKIP \ No newline at end of file +#undef WMC_TOOL_SKIP -- GitLab From d4aad621ca0c81f77154e5f2a3d0bd0e53185c4d Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:33:20 +0100 Subject: [PATCH 281/620] [cleanup] accept PRINT_SBA_ORDER --- lib_com/options.h | 1 - lib_dec/lib_dec.c | 4 ---- lib_enc/lib_enc.c | 4 ---- 3 files changed, 9 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9c71abfd90..298a50f470 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -145,7 +145,6 @@ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ -#define PRINT_SBA_ORDER /* Issue 179: print-out also the SBA order of IVAS SBA format to stdout */ #define EXT_RENDERER /* FhG: external renderer library and standalone application */ #define NOKIA_MASA_EXTERNAL_RENDERER /* Nokia: MASA support for external renderer */ #define FIX_EFAP_MATH /* fix for EFAP: remove angle quantization and a bug in polygon lookup causing incorrect gains. minor tweak for ALLRAD. non-BE for modes using EFAP */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 70e0384839..ea24c7b72d 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1770,11 +1770,7 @@ static ivas_error printConfigInfo_dec( } else if ( st_ivas->ivas_format == SBA_FORMAT ) { -#ifdef PRINT_SBA_ORDER fprintf( stdout, "Input configuration: Scene Based Audio, Ambisonic order %i%s, %d transport channel(s)\n", st_ivas->sba_order, st_ivas->sba_planar ? " (Planar)" : "", st_ivas->nchan_transport ); -#else - fprintf( stdout, "Input configuration: SBA - %d transport channel(s) %s\n", st_ivas->nchan_transport, st_ivas->sba_planar ? "(Planar)" : "" ); -#endif } else if ( st_ivas->ivas_format == MASA_FORMAT ) { diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index b3f8dc478d..75b642b925 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -1520,11 +1520,7 @@ static ivas_error printConfigInfo_enc( } else if ( hEncoderConfig->ivas_format == SBA_FORMAT ) { -#ifdef PRINT_SBA_ORDER fprintf( stdout, "IVAS format: Scene Based Audio, Ambisonic order %i %s ", hEncoderConfig->sba_order, hEncoderConfig->sba_planar ? "(Planar)" : "" ); -#else - fprintf( stdout, "IVAS format: Scene Based Analysis %s ", hEncoderConfig->sba_planar ? "(Planar)" : "" ); -#endif if ( hEncoderConfig->Opt_PCA_ON ) { fprintf( stdout, "- PCA configured with signal adaptive decision " ); -- GitLab From d04fc2ae1817f1f5bc24444bbf5fa6e9f596d928 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:36:26 +0100 Subject: [PATCH 282/620] [cleanup] accept EXT_RENDERER --- apps/renderer.c | 12 --- lib_com/common_api_types.h | 6 -- lib_com/ivas_cnst.h | 10 -- lib_com/ivas_error.h | 8 -- lib_com/ivas_prot.h | 22 ----- lib_com/options.h | 1 - lib_dec/ivas_stat_dec.h | 14 --- lib_enc/lib_enc.c | 8 -- lib_rend/ivas_crend.c | 16 ---- lib_rend/ivas_efap.c | 5 - lib_rend/ivas_lib_rend_internal.h | 2 - lib_rend/ivas_limiter.c | 25 ----- lib_rend/ivas_ls_custom_dec.c | 5 - lib_rend/ivas_objectRenderer.c | 26 ----- lib_rend/ivas_rom_rend.c | 90 ----------------- lib_rend/ivas_rotation.c | 96 ------------------- lib_rend/ivas_sba_rendering.c | 7 -- lib_rend/lib_rend.c | 2 - lib_rend/lib_rend.h | 2 - .../renderer_standalone.c | 2 - 20 files changed, 359 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 9fb5337ed8..e70492698e 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -62,7 +62,6 @@ #include <stdio.h> #include <string.h> -#ifdef EXT_RENDERER #ifndef count_malloc #ifdef RAM_COUNTING_TOOL #define count_malloc( n1 ) MALLOC_FCT_CALL( n1 ) @@ -2476,14 +2475,3 @@ static void convertOutputBuffer( return; } -#else -int main( - int argc, - char **argv ) -{ - (void) argc; - (void) argv; - fprintf( stderr, "Enable EXT_RENDERER in options.h to use the external renderer.\n" ); - return 0; -} -#endif diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 0fd3e7c552..fafd3e0af6 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -47,9 +47,7 @@ #define IVAS_MAX_NUM_OBJECTS 4 #define IVAS_MAX_OUTPUT_CHANNELS 16 #define IVAS_CLDFB_NO_CHANNELS_MAX ( 60 ) -#ifdef EXT_RENDERER #define IVAS_MAX_INPUT_LFE_CHANNELS 4 -#endif /*----------------------------------------------------------------------------------* * Common API structures @@ -79,11 +77,7 @@ typedef struct _IVAS_ISM_METADATA float gainFactor; } IVAS_ISM_METADATA; -#ifdef EXT_RENDERER typedef struct -#else -typedef struct _IVAS_QUATERNION -#endif { float w, x, y, z; diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index c575be0ee3..4a9ce1e080 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -107,10 +107,8 @@ typedef enum AUDIO_CONFIG_ISM2, /* ISM2 */ AUDIO_CONFIG_ISM3, /* ISM3 */ AUDIO_CONFIG_ISM4, /* ISM4 */ -#ifdef EXT_RENDERER /* TODO tmu : temporary, or use something like IVAS_ENC input format */ AUDIO_CONFIG_MASA1, /* MASA1 */ AUDIO_CONFIG_MASA2, /* MASA2 */ -#endif AUDIO_CONFIG_EXTERNAL /* external renderer */ } AUDIO_CONFIG; @@ -193,10 +191,8 @@ typedef enum #define IVAS_MAX_SBA_ORDER 3 /* Maximum supported Ambisonics order */ -#ifdef EXT_RENDERER #define IVAS_LIMITER_THRESHOLD 32729 /* -0.01 dBFS */ #define IVAS_LIMITER_ATTACK_SECONDS 0.005f -#endif #define IVAS_NUM_SUPPORTED_FS 3 /* number of supported sampling-rates in IVAS */ /*----------------------------------------------------------------------------------* @@ -1374,21 +1370,15 @@ typedef enum #define BINAURAL_COHERENCE_DIFFERENCE_BINS 9 /* Number of bins for direction-dependent diffuse-field binaural coherence */ -#ifdef EXT_RENDERER #define HEADROT_ORDER 3 #define HEADROT_SHMAT_DIM ( ( HEADROT_ORDER + 1 ) * ( HEADROT_ORDER + 1 ) ) #define HEADROT_SHMAT_DIM2 ( HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM ) -#endif /*----------------------------------------------------------------------------------* * TD Binaural Object renderer *----------------------------------------------------------------------------------*/ -#ifdef EXT_RENDERER #define MAX_NUM_TDREND_CHANNELS 16 /* max. number of channels in TD renderer (objects or loudspeaker channels) */ -#else -#define MAX_NUM_TDREND_CHANNELS 11 /* max. number of channels in TD renderer (objects or loudspeaker channels) */ -#endif #define SFX_SPAT_BIN_MAX_NO_OF_OUTPUT_SAMPLES 288 /* 288 = 6 msec @ 48 kHz. */ #define HRTF_MODEL_N_SECTIONS 3 /* No. sections used in approximate evaluation of model */ diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index c6b517b9a0..4004400ae5 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -59,11 +59,7 @@ typedef enum IVAS_ERR_INVALID_CICP_INDEX, IVAS_ERR_INVALID_BITRATE, IVAS_ERR_INVALID_MASA_CONFIG, -#ifdef EXT_RENDERER IVAS_ERR_TOO_MANY_INPUTS, -#else - IVAS_ERR_TOO_MANY_OBJECT_INPUTS, -#endif #ifdef NOKIA_MASA_EXTERNAL_RENDERER IVAS_ERR_MISSING_METADATA, #endif @@ -128,7 +124,6 @@ typedef enum IVAS_ERR_BITSTREAM_READER_INVALID_DATA, IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT, -#ifdef EXT_RENDERER /*----------------------------------------* * renderer (lib_rend only) * *----------------------------------------*/ @@ -138,7 +133,6 @@ typedef enum IVAS_ERR_INVALID_INPUT_ID, IVAS_ERR_WRONG_NUM_CHANNELS, IVAS_ERR_INVALID_BUFFER_SIZE, -#endif /*----------------------------------------* * unknown error * @@ -172,7 +166,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Internal error"; case IVAS_ERR_INTERNAL_FATAL: return "Internal fatal error"; -#ifdef EXT_RENDERER case IVAS_ERR_INVALID_SAMPLING_RATE: return "Invalid sampling rate"; case IVAS_ERR_INVALID_OUTPUT_FORMAT: @@ -185,7 +178,6 @@ static inline const char *ivas_error_to_string( ivas_error error_code ) return "Wrong number of channels"; case IVAS_ERR_INVALID_BUFFER_SIZE: return "Invalid buffer size"; -#endif case IVAS_ERR_FAILED_FILE_OPEN: return "File open error"; case IVAS_ERR_FAILED_FILE_WRITE: diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 2d7ef74210..8d190886e9 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3181,7 +3181,6 @@ ivas_error ivas_sba_get_hoa_dec_matrix( const int16_t ambisonics_order /* i : Ambisonics order */ ); -#ifdef EXT_RENDERER void ivas_sba_mtx_mult( float output_f[][L_FRAME48k], /* i/o: synthesized core-corder transport channels/DirAC output */ const int16_t output_frame, /* i : frame length per channel */ @@ -3189,7 +3188,6 @@ void ivas_sba_mtx_mult( const IVAS_OUTPUT_SETUP output_setup, /* i : Output configuration */ const float *mtx_hoa_decoder /* o : HOA decoding matrix */ ); -#endif /*----------------------------------------------------------------------------------* * DirAC prototypes @@ -4570,32 +4568,22 @@ void ivas_binaural_add_LFE( ); void QuatToRotMat( -#ifdef EXT_RENDERER const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ -#else - const Quaternion quat, /* i : quaternion describing the rotation */ -#endif float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ ); void Quat2Euler( -#ifdef EXT_RENDERER const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ -#else - const Quaternion quat, /* i : quaternion describing the rotation */ -#endif float *yaw, /* o : yaw */ float *pitch, /* o : pitch */ float *roll /* o : roll */ ); -#ifdef EXT_RENDERER void SHrotmatgen( float SHrotmat[SBA_NHARM_HOA3][SBA_NHARM_HOA3], /* o : SHD rotation matrix */ float Rmat[3][3], /* i : real-space rotation matrix */ const int16_t order /* i : ambisonics order */ ); -#endif void rotateAziEle( float azi_in, /* i : output elevation */ @@ -4621,9 +4609,6 @@ ivas_error ivas_headTrack_open( void rotateFrame_shd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ -#ifndef EXT_RENDERER - const int32_t output_Fs, /* i : output sampling frequency */ -#endif const int16_t subframe_len, /* i : subframe length per channel */ const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ const int16_t subframe_idx /* i : subframe index */ @@ -4632,9 +4617,6 @@ void rotateFrame_shd( void rotateFrame_sd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ -#ifndef EXT_RENDERER - const int32_t output_Fs, /* i : output sampling frequency */ -#endif const int16_t subframe_len, /* i : subframe length per channel */ const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ @@ -4805,11 +4787,7 @@ ivas_error ivas_ls_custom_output_init( void ivas_ls_custom_setup( IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ -#ifdef EXT_RENDERER const LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ -#else - const LSSETUP_CUSTOM_HANDLE hLsSetupCustom /* i : Custom loudspeaker setup handle */ -#endif ); diff --git a/lib_com/options.h b/lib_com/options.h index 298a50f470..fbca342372 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -145,7 +145,6 @@ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ -#define EXT_RENDERER /* FhG: external renderer library and standalone application */ #define NOKIA_MASA_EXTERNAL_RENDERER /* Nokia: MASA support for external renderer */ #define FIX_EFAP_MATH /* fix for EFAP: remove angle quantization and a bug in polygon lookup causing incorrect gains. minor tweak for ALLRAD. non-BE for modes using EFAP */ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 552435db66..a1eb473fcc 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -40,9 +40,7 @@ #include "ivas_cnst.h" #include "ivas_stat_com.h" #include "ivas_stat_rend.h" -#ifdef EXT_RENDERER #include "common_api_types.h" // VE2AT: don't we want to avoid this include in the library? I admit that the rules hefre are not 100% clear to me but introducing it just for IVAS_QUATERNION is not necessry I think -#endif /*----------------------------------------------------------------------------------* @@ -1308,23 +1306,11 @@ typedef struct ivas_binaural_rendering_struct * Head tracking data structure *----------------------------------------------------------------------------------*/ // VE2AT: move to ivas_rom_rend.h ? -#ifndef EXT_RENDERER -/* Quaternion type for head orientation */ -typedef struct Quaternion_struct -{ - float w, x, y, z; - -} Quaternion; -#endif typedef struct ivas_binaural_head_track_struct { int16_t num_quaternions; -#ifdef EXT_RENDERER IVAS_QUATERNION Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES]; -#else - Quaternion Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES]; -#endif float Rmat[3][3]; float Rmat_prev[3][3]; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 75b642b925..3596650e1a 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -378,11 +378,7 @@ ivas_error IVAS_ENC_ConfigureForObjects( if ( numObjects > MAX_NUM_OBJECTS ) { -#ifdef EXT_RENDERER return IVAS_ERR_TOO_MANY_INPUTS; -#else - return IVAS_ERR_TOO_MANY_OBJECT_INPUTS; -#endif } st_ivas = hIvasEnc->st_ivas; @@ -1377,11 +1373,7 @@ const char *IVAS_ENC_GetErrorMessage( return "invalid bitrate"; case IVAS_ERR_INVALID_MASA_CONFIG: return "invalid MASA config"; -#ifdef EXT_RENDERER case IVAS_ERR_TOO_MANY_INPUTS: -#else - case IVAS_ERR_TOO_MANY_OBJECT_INPUTS: -#endif return "too many object inputs provided"; case IVAS_ERR_INDEX_OUT_OF_BOUNDS: return "index out of bounds"; diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 3782f5789e..cdd7b30218 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -39,10 +39,8 @@ #include "ivas_stat_dec.h" #include <math.h> #include "ivas_rom_binaural_crend_head.h" -#ifdef EXT_RENDERER #include "lib_rend.h" #include "ivas_lib_rend_internal.h" -#endif #ifdef DEBUGGING #include "debug.h" #endif @@ -1037,11 +1035,7 @@ ivas_error ivas_crend_process( { int16_t i, nchan_out, output_frame; int16_t subframe_len, subframe_idx; -#ifdef EXT_RENDERER float pcm_tmp[BINAURAL_CHANNELS][L_FRAME48k]; -#else - float pcm_tmp[MAX_TRANSPORT_CHANNELS][L_FRAME48k]; -#endif AUDIO_CONFIG intern_config; ivas_error error; @@ -1081,20 +1075,12 @@ ivas_error ivas_crend_process( */ if ( intern_config == AUDIO_CONFIG_FOA || intern_config == AUDIO_CONFIG_HOA2 || intern_config == AUDIO_CONFIG_HOA3 ) { -#ifdef EXT_RENDERER rotateFrame_shd( st_ivas->hHeadTrackData, output, subframe_len, st_ivas->hIntSetup, subframe_idx ); -#else - rotateFrame_shd( st_ivas->hHeadTrackData, output, st_ivas->hDecoderConfig->output_Fs, subframe_len, st_ivas->hIntSetup, subframe_idx ); -#endif } /* Rotation in SD for MC -> BINAURAL_ROOM */ else if ( st_ivas->ivas_format != ISM_FORMAT && st_ivas->hIntSetup.is_loudspeaker_setup ) { -#ifdef EXT_RENDERER rotateFrame_sd( st_ivas->hHeadTrackData, output, subframe_len, st_ivas->hIntSetup, st_ivas->hEFAPdata, subframe_idx ); -#else - rotateFrame_sd( st_ivas->hHeadTrackData, output, st_ivas->hDecoderConfig->output_Fs, subframe_len, st_ivas->hIntSetup, st_ivas->hEFAPdata, subframe_idx ); -#endif } } @@ -1136,7 +1122,6 @@ ivas_error ivas_crend_process( return IVAS_ERR_OK; } -#ifdef EXT_RENDERER /*------------------------------------------------------------------------- * ivas_rend_openCrend() @@ -1976,4 +1961,3 @@ ivas_error ivas_rend_crendConvolver( return IVAS_ERR_OK; } -#endif diff --git a/lib_rend/ivas_efap.c b/lib_rend/ivas_efap.c index 8314d3117f..273a73667f 100644 --- a/lib_rend/ivas_efap.c +++ b/lib_rend/ivas_efap.c @@ -155,12 +155,7 @@ ivas_error efap_init_data( if ( !speaker_node_azi_deg || !speaker_node_ele_deg ) { hEFAPdata = NULL; -#ifdef EXT_RENDERER return IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "EFAP requires arrays of speaker azimuths and elevations" ); -#else - /* TODO: is this path correct behaviour or and error ? */ - return IVAS_ERR_OK; -#endif } /*-----------------------------------------------------------------* diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h index 6a362c8c1c..f758bc780a 100644 --- a/lib_rend/ivas_lib_rend_internal.h +++ b/lib_rend/ivas_lib_rend_internal.h @@ -37,7 +37,6 @@ #ifndef IVAS_LIB_REND_INTERNALS_H #define IVAS_LIB_REND_INTERNALS_H -#ifdef EXT_RENDERER typedef struct { int8_t headRotEnabled; @@ -122,4 +121,3 @@ ivas_error ivas_rend_TDObjRendOpen( const int32_t output_Fs ); #endif -#endif diff --git a/lib_rend/ivas_limiter.c b/lib_rend/ivas_limiter.c index fd116223c5..56dbb39b07 100644 --- a/lib_rend/ivas_limiter.c +++ b/lib_rend/ivas_limiter.c @@ -39,15 +39,6 @@ #include "wmops.h" #include <assert.h> -#ifndef EXT_RENDERER -/*----------------------------------------------------------------------------------* - * Local constants - *----------------------------------------------------------------------------------*/ - -#define LIMITER_THRESHOLD 32729 /* -0.01 dBFS */ -#define LIMITER_ATTACK_SECONDS 0.005f - -#endif /*-------------------------------------------------------------------* * detect_strong_saturations() @@ -73,19 +64,11 @@ static int16_t detect_strong_saturations( *strong_saturation_cnt = 50; apply_strong_limiting = 1; } -#ifdef EXT_RENDERER else if ( max_val > 3 * IVAS_LIMITER_THRESHOLD && *strong_saturation_cnt > 0 ) -#else - else if ( max_val > 3 * LIMITER_THRESHOLD && *strong_saturation_cnt > 0 ) -#endif { apply_strong_limiting = 1; } -#ifdef EXT_RENDERER else if ( max_val > 10 * IVAS_LIMITER_THRESHOLD ) -#else - else if ( max_val > 10 * LIMITER_THRESHOLD ) -#endif { *strong_saturation_cnt += 20; *strong_saturation_cnt = min( *strong_saturation_cnt, 50 ); @@ -140,11 +123,7 @@ IVAS_LIMITER_HANDLE ivas_limiter_open( hLimiter->sampling_rate = sampling_rate; hLimiter->gain = 1.f; hLimiter->release_heuristic = 0.f; -#ifdef EXT_RENDERER hLimiter->attack_constant = powf( 0.01f, 1.0f / ( IVAS_LIMITER_ATTACK_SECONDS * sampling_rate ) ); -#else - hLimiter->attack_constant = powf( 0.01f, 1.0f / ( LIMITER_ATTACK_SECONDS * sampling_rate ) ); -#endif hLimiter->strong_saturation_count = 0; #ifdef DEBUGGING hLimiter->cnt_frames_limited = 0; @@ -216,11 +195,7 @@ void ivas_limiter_dec( channels[c] = output[c]; } -#ifdef EXT_RENDERER limiter_process( hLimiter, output_frame, IVAS_LIMITER_THRESHOLD, BER_detect, &hLimiter->strong_saturation_count ); -#else - limiter_process( hLimiter, output_frame, LIMITER_THRESHOLD, BER_detect, &hLimiter->strong_saturation_count ); -#endif return; } diff --git a/lib_rend/ivas_ls_custom_dec.c b/lib_rend/ivas_ls_custom_dec.c index 4f10420363..28bd8c1dd8 100644 --- a/lib_rend/ivas_ls_custom_dec.c +++ b/lib_rend/ivas_ls_custom_dec.c @@ -79,13 +79,8 @@ ivas_error ivas_ls_custom_open( *-------------------------------------------------------------------------*/ void ivas_ls_custom_setup( -#ifdef EXT_RENDERER IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ const LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ -#else - IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ - const LSSETUP_CUSTOM_HANDLE hLsSetupCustom /* i : Custom loudspeaker setup handle */ -#endif ) { hOutSetup->output_config = AUDIO_CONFIG_LS_CUSTOM; diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 1979abe230..24959055ff 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -37,10 +37,8 @@ #include <math.h> #include "wmops.h" #include "ivas_rom_com.h" -#ifdef EXT_RENDERER #include "lib_rend.h" #include "ivas_lib_rend_internal.h" -#endif #ifdef DEBUGGING #include "debug.h" #endif @@ -59,17 +57,11 @@ static void TDREND_Clear_Update_flags( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRe static void TDREND_Update_listener_orientation( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, const int16_t headRotEnabled, -#ifdef EXT_RENDERER const IVAS_QUATERNION *headPosition -#else - const Quaternion *headPosition -#endif ); static void TDREND_Update_object_positions( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, const int16_t numSources, -#ifdef EXT_RENDERER const int16_t lfe_idx, -#endif const IVAS_FORMAT in_format, const ISM_METADATA_HANDLE *hIsmMetaData, float output[][L_FRAME48k] ); @@ -171,12 +163,10 @@ ivas_error ivas_td_binaural_open( ls_azimuth = ls_azimuth_CICP19; ls_elevation = ls_elevation_CICP19; break; -#ifdef EXT_RENDERER case AUDIO_CONFIG_LS_CUSTOM: ls_azimuth = st_ivas->hTransSetup.ls_azimuth; ls_elevation = st_ivas->hTransSetup.ls_elevation; break; -#endif default: ls_azimuth = NULL; ls_elevation = NULL; @@ -269,11 +259,7 @@ void ObjRenderIVASFrame( } /* Update object position(s) */ -#ifdef EXT_RENDERER TDREND_Update_object_positions( st_ivas->hBinRendererTd, st_ivas->nchan_transport, LFE_CHANNEL, st_ivas->ivas_format, st_ivas->hIsmMetaData, output ); -#else - TDREND_Update_object_positions( st_ivas->hBinRendererTd, st_ivas->nchan_transport, st_ivas->ivas_format, st_ivas->hIsmMetaData, output ); -#endif for ( subframe_idx = 0; subframe_idx < MAX_PARAM_SPATIAL_SUBFRAMES; subframe_idx++ ) { @@ -424,9 +410,7 @@ static void TDREND_Clear_Update_flags( static void TDREND_Update_object_positions( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o : TD Renderer handle */ const int16_t numSources, /* i : Number of sources to render */ -#ifdef EXT_RENDERER const int16_t lfe_idx, /* i : Input LFE index */ -#endif const IVAS_FORMAT in_format, /* i : Format of input sources */ const ISM_METADATA_HANDLE *hIsmMetaData, /* i : Input metadata for ISM objects */ float output[][L_FRAME48k] /* i/o: SCE/MC channels */ @@ -444,11 +428,7 @@ static void TDREND_Update_object_positions( c_indx = 0; for ( nS = 0; nS < numSources; nS++ ) { -#ifdef EXT_RENDERER if ( !( in_format == MC_FORMAT && nS == lfe_idx ) ) /* Skip LFE for MC */ -#else - if ( !( in_format == MC_FORMAT && nS == LFE_CHANNEL ) ) /* Skip LFE for MC */ -#endif { hBinRendererTd->Sources[c_indx]->InputFrame_p = output[nS]; hBinRendererTd->Sources[c_indx]->SrcRend_p->InputAvailable = TRUE; @@ -492,11 +472,7 @@ static void TDREND_Update_object_positions( static void TDREND_Update_listener_orientation( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD Renderer handle */ const int16_t headRotEnabled, /* i : Headrotation flag */ -#ifdef EXT_RENDERER const IVAS_QUATERNION *headPosition /* i : Head Position */ -#else - const Quaternion *headPosition /* i : Head Position */ -#endif ) { float Pos[3]; @@ -542,7 +518,6 @@ static void TDREND_Update_listener_orientation( return; } -#ifdef EXT_RENDERER ivas_error ivas_rend_TDObjRendOpen( TDREND_WRAPPER *pTDRend, @@ -799,4 +774,3 @@ ivas_error ivas_rend_TDObjRenderFrame( return IVAS_ERR_OK; } -#endif diff --git a/lib_rend/ivas_rom_rend.c b/lib_rend/ivas_rom_rend.c index 100dded459..cf0c7c69a9 100644 --- a/lib_rend/ivas_rom_rend.c +++ b/lib_rend/ivas_rom_rend.c @@ -361,7 +361,6 @@ const uint32_t ls_LFE_last_idx_CICP19[12] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, /* Downmix matrices */ const float ls_conversion_cicpX_mono[12][1] = { -#ifdef EXT_RENDERER {1.00000000f}, {1.00000000f}, {1.00000000f}, @@ -374,20 +373,6 @@ const float ls_conversion_cicpX_mono[12][1] = {1.00000000f}, {1.00000000f}, {1.00000000f}, -#else - {1.00000000f}, - {1.00000000f}, - {0.70710677f}, - {0.70710677f}, - {0.79999995f}, - {0.79999995f}, - {0.79999995f}, - {0.79999995f}, - {0.849999964f}, - {0.849999964f}, - {0.849999964f}, - {0.849999964f} -#endif }; const float ls_conversion_cicpX_stereo[12][2] = @@ -408,13 +393,8 @@ const float ls_conversion_cicpX_stereo[12][2] = const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 6.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {7, 1.000000000f}, @@ -428,13 +408,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[] = const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 6.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {7, 1.000000000f}, @@ -448,13 +423,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[] = const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 8.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {9, 1.000000000f}, @@ -468,13 +438,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[] = const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {10, 6.0f}, -#else - /* First row indicates the number of non-zero elements */ - {10, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {7, 1.000000000f}, @@ -490,13 +455,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[] = const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp12[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {10, 8.0f}, -#else - /* First row indicates the number of non-zero elements */ - {10, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {9, 1.000000000f}, @@ -513,13 +473,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp12[] = const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {10, 8.0f}, -#else - /* First row indicates the number of non-zero elements */ - {10, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {9, 1.000000000f}, @@ -535,13 +490,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[] = const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {14, 6.0f}, -#else - /* First row indicates the number of non-zero elements */ - {14, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {7, 1.000000000f}, @@ -561,13 +511,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[] = const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {14, 8.0f}, -#else - /* First row indicates the number of non-zero elements */ - {14, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {9, 1.000000000f}, @@ -587,13 +532,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[] = const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {14, 8.0f}, -#else - /* First row indicates the number of non-zero elements */ - {14, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {9, 1.000000000f}, @@ -613,13 +553,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[] = const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {14, 10.0f}, -#else - /* First row indicates the number of non-zero elements */ - {14, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.000000000f}, {11, 1.000000000f}, @@ -640,13 +575,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[] = /* Upmix matrices */ const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 8.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.0f}, {9, 1.0f}, @@ -660,13 +590,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[] = const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 10.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.0f}, {11, 1.0f}, @@ -680,13 +605,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[] = const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 12.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.0f}, {13, 1.0f}, @@ -700,13 +620,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[] = const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {8, 12.0f}, -#else - /* First row indicates the number of non-zero elements */ - {8, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.0f}, {13, 1.0f}, @@ -720,13 +635,8 @@ const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[] = const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[] = { -#ifdef EXT_RENDERER /* First row indicates the number of non-zero elements and the number of matrix columns */ {10, 12.0f}, -#else - /* First row indicates the number of non-zero elements */ - {10, 0.0f}, -#endif /* Index of non-zero element, value of non-zero element*/ {0, 1.0f}, {13, 1.0f}, diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 4f5ba72d39..66ffd089ac 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -45,24 +45,6 @@ #endif #include "wmops.h" -#ifndef EXT_RENDERER - -/*-----------------------------------------------------------------------* - * Local Constants - *-----------------------------------------------------------------------*/ - -#define HEADROT_ORDER 3 -#define HEADROT_SHMAT_DIM ( HEADROT_ORDER + 1 ) * ( HEADROT_ORDER + 1 ) -#define HEADROT_SHMAT_DIM2 HEADROT_SHMAT_DIM *HEADROT_SHMAT_DIM - - -/*-----------------------------------------------------------------------* - * Local Function prototypes - *-----------------------------------------------------------------------*/ - -static void SHrotmatgen( float SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM], float Rmat[3][3], const int16_t order ); - -#endif /*-----------------------------------------------------------------------* * ivas_headTrack_open() @@ -106,11 +88,7 @@ ivas_error ivas_headTrack_open( *---------------------------------------------------------------------------------*/ void QuatToRotMat( -#ifdef EXT_RENDERER const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ -#else - const Quaternion quat, /* i : quaternion describing the rotation */ -#endif float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ ) { @@ -179,11 +157,7 @@ void QuatToRotMat( *------------------------------------------------------------------------*/ void Quat2Euler( -#ifdef EXT_RENDERER const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ -#else - const Quaternion quat, /* i : quaternion describing the rotation */ -#endif float *yaw, /* o : yaw */ float *pitch, /* o : pitch */ float *roll /* o : roll */ @@ -312,9 +286,6 @@ void rotateAziEle_DirAC( void rotateFrame_shd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ -#ifndef EXT_RENDERER - const int32_t output_Fs, /* i : output sampling frequency */ -#endif const int16_t subframe_len, /* i : subframe length per channel */ const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ const int16_t subframe_idx /* i : subframe index */ @@ -322,39 +293,21 @@ void rotateFrame_shd( { int16_t i, l, n, m; int16_t m1, m2; -#ifdef EXT_RENDERER int16_t shd_rot_max_order; -#else - int16_t shd_rot_max_order, fade_len_smp; -#endif float tmp; float tmpRot[2 * HEADROT_ORDER + 1]; float SHrotmat_prev[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM]; float SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM]; -#ifdef EXT_RENDERER float cross_fade[L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES]; -#else - float cross_fade[IVAS_FB_1MS_48K_SAMP]; -#endif shd_rot_max_order = hTransSetup.ambisonics_order; -#ifdef EXT_RENDERER tmp = 1.0f / ( subframe_len - 1 ); for ( i = 0; i < subframe_len; i++ ) { cross_fade[i] = i * tmp; } -#else - /* 1ms linear crossfade */ - fade_len_smp = NS2SA( output_Fs, 1000000 ); - tmp = 1.0f / fade_len_smp; - for ( i = 0; i < fade_len_smp; i++ ) - { - cross_fade[i] = ( i + 1 ) * tmp; - } -#endif /* initialize rotation matrices with zeros */ for ( i = 0; i < HEADROT_SHMAT_DIM; i++ ) @@ -388,18 +341,7 @@ void rotateFrame_shd( for ( m = m1; m < m2; m++ ) { /* crossfade with previous rotation gains */ -#ifndef EXT_RENDERER - if ( i < fade_len_smp ) - { -#endif tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; -#ifndef EXT_RENDERER - } - else - { - tmpRot[n - m1] += SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i]; - } -#endif } } /* write back the result */ @@ -447,9 +389,6 @@ void rotateFrame_shd( void rotateFrame_sd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ -#ifndef EXT_RENDERER - const int32_t output_Fs, /* i : output sampling frequency */ -#endif const int16_t subframe_len, /* i : subframe length per channel */ const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ @@ -460,41 +399,24 @@ void rotateFrame_sd( int16_t nchan, index_lfe; int16_t ch_in, ch_in_woLFE, ch_out, ch_out_woLFE; int16_t azimuth, elevation; -#ifndef EXT_RENDERER - int16_t fade_len_smp; -#endif float tmp; float tmp_gains[MAX_CICP_CHANNELS - 1]; float gains[MAX_CICP_CHANNELS][MAX_CICP_CHANNELS]; float gains_prev[MAX_CICP_CHANNELS][MAX_CICP_CHANNELS]; float output_tmp[MAX_CICP_CHANNELS][L_FRAME48k]; -#ifdef EXT_RENDERER float cross_fade[L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES]; -#else - float cross_fade[IVAS_FB_1MS_48K_SAMP]; -#endif wmops_sub_start( "rotateFrame_sd" ); nchan = hTransSetup.nchan_out_woLFE + hTransSetup.num_lfe; index_lfe = hTransSetup.index_lfe[0]; -#ifdef EXT_RENDERER tmp = 1.0f / ( subframe_len - 1 ); for ( i = 0; i < subframe_len; i++ ) { cross_fade[i] = i * tmp; } -#else - /* 1ms linear crossfade */ - fade_len_smp = NS2SA( output_Fs, 1000000 ); - tmp = 1.0f / fade_len_smp; - for ( i = 0; i < fade_len_smp; i++ ) - { - cross_fade[i] = ( i + 1 ) * tmp; - } -#endif /* Get next quaternion and calculate rotation matrix */ QuatToRotMat( hHeadTrackData->Quaternions[hHeadTrackData->num_quaternions++], hHeadTrackData->Rmat ); @@ -521,11 +443,7 @@ void rotateFrame_sd( /* gains for previous subframe rotation */ rotateAziEle( hTransSetup.ls_azimuth[ch_in_woLFE], hTransSetup.ls_elevation[ch_in_woLFE], &azimuth, &elevation, hHeadTrackData->Rmat_prev, hTransSetup.is_planar_setup ); -#ifdef EXT_RENDERER if ( hEFAPdata != NULL && ( hTransSetup.ls_azimuth[ch_in_woLFE] != azimuth || hTransSetup.ls_elevation[ch_in_woLFE] != elevation ) ) -#else - if ( hEFAPdata != NULL && ( hTransSetup.ls_azimuth[ch_in_woLFE] != azimuth && hTransSetup.ls_elevation[ch_in_woLFE] != elevation ) ) -#endif { efap_determine_gains( hEFAPdata, tmp_gains, azimuth, elevation, EFAP_MODE_EFAP ); for ( ch_out = 0; ch_out < nchan; ch_out++ ) @@ -572,20 +490,10 @@ void rotateFrame_sd( for ( ch_in = 0; ch_in < nchan; ch_in++ ) { /* crossfade with previous rotation gains */ -#ifdef EXT_RENDERER for ( i = subframe_idx * subframe_len, j = 0; j < subframe_len; i++, j++ ) -#else - for ( i = subframe_idx * subframe_len, j = 0; j < fade_len_smp; i++, j++ ) -#endif { output_tmp[ch_out][i] += ( cross_fade[j] ) * gains[ch_in][ch_out] * output[ch_in][i] + ( 1 - cross_fade[j] ) * gains_prev[ch_in][ch_out] * output[ch_in][i]; } -#ifndef EXT_RENDERER - for ( ; i < ( subframe_idx + 1 ) * subframe_len; i++ ) - { - output_tmp[ch_out][i] += gains[ch_in][ch_out] * output[ch_in][i]; - } -#endif } } @@ -937,11 +845,7 @@ static float SHrot_w( } } -#ifdef EXT_RENDERER void SHrotmatgen( -#else -static void SHrotmatgen( -#endif float SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM], /* o : rotation matrix in SHD */ float Rmat[3][3], /* i : real-space rotation matrix */ const int16_t order /* i : ambisonics order */ diff --git a/lib_rend/ivas_sba_rendering.c b/lib_rend/ivas_sba_rendering.c index e2977a81e4..dc41fc1805 100755 --- a/lib_rend/ivas_sba_rendering.c +++ b/lib_rend/ivas_sba_rendering.c @@ -47,9 +47,6 @@ * Local function prototypes *-----------------------------------------------------------------------*/ -#ifndef EXT_RENDERER -static void ivas_sba_mtx_mult( float output_f[][L_FRAME48k], const int16_t output_frame, const int16_t nchan_in, const IVAS_OUTPUT_SETUP output_setup, const float *mtx_hoa_decoder ); -#endif #ifdef DEBUG_MODE_DIRAC static void debug_mode_dirac( float output[MAX_OUTPUT_CHANNELS][L_FRAME48k], const int16_t nchan_transport, const int16_t output_frame ); @@ -428,11 +425,7 @@ ivas_error ivas_sba_linear_renderer( * HOA decoding with LFE insertion *-------------------------------------------------------------------*/ -#ifdef EXT_RENDERER void ivas_sba_mtx_mult( -#else -static void ivas_sba_mtx_mult( -#endif float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ const int16_t output_frame, /* i : output frame length per channel */ const int16_t nchan_in, /* i : Number of ambisonic channels */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index d766334988..ccc8b0e69d 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -48,7 +48,6 @@ #include <stdlib.h> #include <string.h> -#ifdef EXT_RENDERER /* Maximum buffer length (per channel) in samples. * Keep this separate from L_FRAME48k in case we want to support different size later */ #define MAX_BUFFER_LENGTH_PER_CHANNEL ( L_FRAME48k ) @@ -4858,4 +4857,3 @@ int32_t IVAS_REND_GetCntFramesLimited( return hIvasRend->hLimiter->cnt_frames_limited; } #endif -#endif diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index 158a734f46..a831dae603 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -41,7 +41,6 @@ #include "common_api_types.h" #include "ivas_error.h" -#ifdef EXT_RENDERER #define RENDERER_MAX_ISM_INPUTS 4 #define RENDERER_MAX_MC_INPUTS 1 @@ -287,5 +286,4 @@ int32_t IVAS_REND_GetCntFramesLimited( /* clang-format on */ -#endif /* LIB_REND_H */ #endif diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 0b386dd419..0210189ffc 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -327,12 +327,10 @@ int main( int argc, char *argv[] ) } st_ivas->hDecoderConfig->Opt_Headrotation = TRUE; } -#ifdef EXT_RENDERER else { st_ivas->hDecoderConfig->Opt_Headrotation = 0; } -#endif /* Init limiter */ #ifdef FIX_I214_CLIPPING_STANDALONE_REND -- GitLab From 976f7fb675ec881e50cb2db7c5823e8801bbc25c Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:37:16 +0100 Subject: [PATCH 283/620] [cleanup] accept NOKIA_MASA_EXTERNAL_RENDERER --- apps/renderer.c | 26 -------------------------- lib_com/ivas_error.h | 2 -- lib_com/options.h | 1 - lib_rend/lib_rend.c | 28 ---------------------------- lib_rend/lib_rend.h | 9 --------- 5 files changed, 66 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index e70492698e..1d438e35dd 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -426,10 +426,8 @@ static int16_t getTotalNumInChannels( IVAS_REND_InputId mcIds[RENDERER_MAX_MC_INPUTS], IVAS_REND_InputId ismIds[RENDERER_MAX_ISM_INPUTS], IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS] -#ifdef NOKIA_MASA_EXTERNAL_RENDERER , IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS] -#endif ) { int16_t totalNumInChannels = 0; @@ -485,7 +483,6 @@ static int16_t getTotalNumInChannels( totalNumInChannels += numInputChannels; } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { if ( masaIds[i] == 0 ) @@ -501,7 +498,6 @@ static int16_t getTotalNumInChannels( } totalNumInChannels += numInputChannels; } -#endif return totalNumInChannels; } @@ -675,9 +671,7 @@ int main( IVAS_REND_InputId mcIds[RENDERER_MAX_MC_INPUTS] = { 0 }; IVAS_REND_InputId ismIds[RENDERER_MAX_ISM_INPUTS] = { 0 }; IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS] = { 0 }; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS] = { 0 }; -#endif if ( ( error = IVAS_REND_Open( &hIvasRend, args.sampleRate, args.outConfig.audioConfig ) ) != IVAS_ERR_OK ) { @@ -786,7 +780,6 @@ int main( } } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < args.inConfig.numMasaBuses; ++i ) { if ( ( error = IVAS_REND_AddInput( hIvasRend, args.inConfig.masaBuses[i].audioConfig, &masaIds[i] ) ) != IVAS_ERR_OK ) @@ -801,13 +794,8 @@ int main( exit( -1 ); } } -#endif -#ifdef NOKIA_MASA_EXTERNAL_RENDERER const int16_t totalNumInChannels = getTotalNumInChannels( hIvasRend, mcIds, ismIds, sbaIds, masaIds ); -#else - const int16_t totalNumInChannels = getTotalNumInChannels( hIvasRend, mcIds, ismIds, sbaIds ); -#endif if ( AudioFileReader_getNumChannels( audioReader ) != 0 /* If input file is raw PCM, audio reader has no info about number of channels */ && totalNumInChannels != AudioFileReader_getNumChannels( audioReader ) ) @@ -904,18 +892,6 @@ int main( } #endif -#ifndef NOKIA_MASA_EXTERNAL_RENDERER - for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) - { - if ( masaReaders[i] != NULL ) - { - MasaFileReader_readNextFrame( masaReaders[i] ); - /* TODO: Feed MASA metadata here once MASA inputs are supported. - For now avoid unused var warning */ - (void) hMasaMetadata; - } - } -#endif ObjectPositionBuffer mtdBuffer; IsmPositionProvider_getNextFrame( positionProvider, &mtdBuffer ); @@ -981,7 +957,6 @@ int main( } } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < args.inConfig.numMasaBuses; ++i ) { if ( ( error = IVAS_REND_GetInputNumChannels( hIvasRend, masaIds[i], &numChannels ) ) != IVAS_ERR_OK ) @@ -1009,7 +984,6 @@ int main( } } } -#endif IVAS_REND_GetSamples( hIvasRend, outBuffer ); diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index 4004400ae5..35e1ac8e8b 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -60,9 +60,7 @@ typedef enum IVAS_ERR_INVALID_BITRATE, IVAS_ERR_INVALID_MASA_CONFIG, IVAS_ERR_TOO_MANY_INPUTS, -#ifdef NOKIA_MASA_EXTERNAL_RENDERER IVAS_ERR_MISSING_METADATA, -#endif IVAS_ERR_INDEX_OUT_OF_BOUNDS, IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, IVAS_ERR_INVALID_FEC_CONFIG, diff --git a/lib_com/options.h b/lib_com/options.h index fbca342372..5c6068e331 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -145,7 +145,6 @@ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ -#define NOKIA_MASA_EXTERNAL_RENDERER /* Nokia: MASA support for external renderer */ #define FIX_EFAP_MATH /* fix for EFAP: remove angle quantization and a bug in polygon lookup causing incorrect gains. minor tweak for ALLRAD. non-BE for modes using EFAP */ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index ccc8b0e69d..2764aa6a10 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -139,7 +139,6 @@ typedef struct rotation_gains rot_gains_prev; } input_sba; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER /* Due to API of some rendering methods, the renderer has to use the decoder struct. Only struct members relevant for rendering will be initialized, therefore typedef as "dummy" decoder struct */ typedef Decoder_Struct DecoderDummy; @@ -151,7 +150,6 @@ typedef struct MASA_METADATA_FRAME masaMetadata; bool metadataHasBeenFed; } input_masa; -#endif struct IVAS_REND { @@ -165,9 +163,7 @@ struct IVAS_REND input_ism inputsIsm[RENDERER_MAX_ISM_INPUTS]; input_mc inputsMc[RENDERER_MAX_MC_INPUTS]; input_sba inputsSba[RENDERER_MAX_SBA_INPUTS]; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER input_masa inputsMasa[RENDERER_MAX_MASA_INPUTS]; -#endif /* TODO @Philips - inputConfig should not be stored here, but read from e.g. input_mc->input_base.inConfig, please remove this */ IVAS_REND_AudioConfig inputConfig; @@ -1871,7 +1867,6 @@ static void clearInputSba( return; } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER static ivas_error initMasaDummyDecForMcOut( input_masa *inputMasa, IVAS_REND_AudioConfig outConfig ) { ivas_error error; @@ -2233,7 +2228,6 @@ static void freeDecoderDummy( DecoderDummy **ppDecDummy ) } ivas_render_config_close( &pDecDummy->hRenderConfig ); -#ifdef NOKIA_MASA_EXTERNAL_RENDERER /* CLDFB handles */ for ( i = 0; i < MAX_INTERN_CHANNELS; i++ ) { @@ -2275,7 +2269,6 @@ static void freeDecoderDummy( DecoderDummy **ppDecDummy ) /* Parametric binaural renderer handle */ ivas_dirac_dec_close_binaural_data( &pDecDummy->hDiracDecBin ); -#endif count_free( pDecDummy ); pDecDummy = NULL; @@ -2290,7 +2283,6 @@ static void clearInputMasa( input_masa *inputMasa ) initRendInputBase( &inputMasa->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx ); freeDecoderDummy( &inputMasa->decDummy ); } -#endif ivas_error IVAS_REND_Open( IVAS_REND_HANDLE *phIvasRend, @@ -2368,7 +2360,6 @@ ivas_error IVAS_REND_Open( initRendInputBase( &hIvasRend->inputsSba[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) ); hIvasRend->inputsSba[i].crendWrapper.hCrend = NULL; } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsMasa[i].base, @@ -2378,7 +2369,6 @@ ivas_error IVAS_REND_Open( hIvasRend->inputsMasa[i].decDummy = NULL; hIvasRend->inputsMasa[i].metadataHasBeenFed = false; } -#endif return IVAS_ERR_OK; } @@ -2599,7 +2589,6 @@ static ivas_error getInputById( } pInputBase = &hIvasRend->inputsSba[inputIndex].base; break; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER case IVAS_REND_AUDIO_CONFIG_TYPE_MASA: if ( inputIndex > RENDERER_MAX_MASA_INPUTS ) { @@ -2607,7 +2596,6 @@ static ivas_error getInputById( } pInputBase = &hIvasRend->inputsMasa[inputIndex].base; break; -#endif default: return IVAS_ERR_INVALID_INPUT_ID; } @@ -2666,7 +2654,6 @@ static ivas_error getConstInputById( } pInputBase = &hIvasRend->inputsSba[inputIndex].base; break; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER case IVAS_REND_AUDIO_CONFIG_TYPE_MASA: if ( inputIndex > RENDERER_MAX_MASA_INPUTS ) { @@ -2674,7 +2661,6 @@ static ivas_error getConstInputById( } pInputBase = &hIvasRend->inputsMasa[inputIndex].base; break; -#endif default: return IVAS_ERR_INVALID_INPUT_ID; } @@ -2773,14 +2759,12 @@ ivas_error IVAS_REND_AddInput( inputStructSize = sizeof( *hIvasRend->inputsSba ); activateInput = setRendInputActiveSba; break; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER case IVAS_REND_AUDIO_CONFIG_TYPE_MASA: maxNumInputsOfType = RENDERER_MAX_MASA_INPUTS; inputsArray = hIvasRend->inputsMasa; inputStructSize = sizeof( *hIvasRend->inputsMasa ); activateInput = setRendInputActiveMasa; break; -#endif default: return IVAS_ERR_INVALID_INPUT_FORMAT; } @@ -2975,11 +2959,9 @@ ivas_error IVAS_REND_RemoveInput( case IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS: clearInputSba( (input_sba *) inputBase ); break; -#ifdef NOKIA_MASA_EXTERNAL_RENDERER case IVAS_REND_AUDIO_CONFIG_TYPE_MASA: clearInputMasa( (input_masa *) inputBase ); break; -#endif default: return IVAS_ERR_INVALID_INPUT_FORMAT; } @@ -3070,7 +3052,6 @@ ivas_error IVAS_REND_GetDelay( } } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; i++ ) { if ( hIvasRend->inputsMasa[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN ) @@ -3079,7 +3060,6 @@ ivas_error IVAS_REND_GetDelay( *nSamples = max( *nSamples, NS2SA( *timeScale, latency_ns ) ); } } -#endif return IVAS_ERR_OK; } @@ -3172,7 +3152,6 @@ ivas_error IVAS_REND_FeedInputObjectMetadata( return IVAS_ERR_OK; } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER ivas_error IVAS_REND_FeedInputMasaMetadata( IVAS_REND_HANDLE hIvasRend, const IVAS_REND_InputId inputId, @@ -3206,7 +3185,6 @@ ivas_error IVAS_REND_FeedInputMasaMetadata( return IVAS_ERR_OK; } -#endif ivas_error IVAS_REND_InitConfig( IVAS_REND_HANDLE st, bool rendererConfigEnabled ) @@ -4547,7 +4525,6 @@ static ivas_error renderActiveInputsSba( return IVAS_ERR_OK; } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER static void copyMasaMetadataToDiracRenderer( MASA_METADATA_FRAME *meta, DIRAC_DEC_HANDLE hDirAC ) { int16_t band, sf, bin; @@ -4717,7 +4694,6 @@ static ivas_error renderActiveInputsMasa( return IVAS_ERR_OK; } -#endif ivas_error IVAS_REND_GetSamples( IVAS_REND_HANDLE hIvasRend, @@ -4772,12 +4748,10 @@ ivas_error IVAS_REND_GetSamples( { return error; } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER if ( ( error = renderActiveInputsMasa( hIvasRend, outAudio ) ) != IVAS_ERR_OK ) { return error; } -#endif #ifdef DEBUGGING hIvasRend->numClipping += @@ -4821,12 +4795,10 @@ void IVAS_REND_Close( { clearInputSba( &hIvasRend->inputsSba[i] ); } -#ifdef NOKIA_MASA_EXTERNAL_RENDERER for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { clearInputMasa( &hIvasRend->inputsMasa[i] ); } -#endif /* clear Config. Renderer */ ivas_render_config_close( &( hIvasRend->hRendererConfig ) ); diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index a831dae603..ea4b84d897 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -228,20 +228,11 @@ ivas_error IVAS_REND_FeedInputObjectMetadata( const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ ); -#ifdef NOKIA_MASA_EXTERNAL_RENDERER ivas_error IVAS_REND_FeedInputMasaMetadata( IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ const IVAS_REND_InputId inputId, /* i : ID of the input */ IVAS_MASA_METADATA_HANDLE masaMetadata /* i : MASA metadata frame */ ); -#else -/* Support for MASA input will be added in the future. */ -ivas_error IVAS_REND_FeedInputMasaMetadata( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - void* TODO -); -#endif ivas_error IVAS_REND_InitConfig( IVAS_REND_HANDLE st, /* i/o: Renderer handle */ -- GitLab From 2b7e131cf0daaa517ed4838b73b4af7ceba40fe6 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:38:09 +0100 Subject: [PATCH 284/620] [cleanup] accept FIX_EFAP_MATH --- lib_com/options.h | 1 - lib_rend/ivas_efap.c | 14 -------------- 2 files changed, 15 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 5c6068e331..bc66f821d8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -145,7 +145,6 @@ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ -#define FIX_EFAP_MATH /* fix for EFAP: remove angle quantization and a bug in polygon lookup causing incorrect gains. minor tweak for ALLRAD. non-BE for modes using EFAP */ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ diff --git a/lib_rend/ivas_efap.c b/lib_rend/ivas_efap.c index 273a73667f..48bfd7b8a0 100644 --- a/lib_rend/ivas_efap.c +++ b/lib_rend/ivas_efap.c @@ -1324,21 +1324,11 @@ static void efap_panning( float tmpBuff[EFAP_MAX_CHAN_NUM]; float normTmpBuff; float P[2]; -#ifndef FIX_EFAP_MATH - float P_tmp[2]; -#endif P[0] = azi; P[1] = ele; /* Finding in which polygon the point is */ -#ifndef FIX_EFAP_MATH - P_tmp[0] = roundf( P[0] / PANNING_AZI_RESOLUTION ); - P_tmp[1] = roundf( P[1] / PANNING_ELE_RESOLUTION ); - - P[0] = P_tmp[0] * PANNING_AZI_RESOLUTION; - P[1] = P_tmp[1] * PANNING_ELE_RESOLUTION; -#endif polyIdx = get_poly_num( P, polyData ); @@ -2260,11 +2250,7 @@ static int16_t in_tri( /* Verification of the non-colinearity */ invFactor = tmpDot1[0] * tmpDot2[1] - tmpDot1[1] * tmpDot2[0]; -#ifdef FIX_EFAP_MATH if ( fabsf( invFactor ) < thresh ) -#else - if ( invFactor < thresh ) -#endif { return 0; } -- GitLab From 38de434bb9c4a19e2d8c5b5b22edb7182af25c1c Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:38:51 +0100 Subject: [PATCH 285/620] [cleanup] accept FIX_MCT_PLC_RECOVERY --- lib_com/options.h | 1 - lib_dec/ivas_core_dec.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index bc66f821d8..b9c3067a67 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -146,7 +146,6 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ -#define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 1d98e39e2b..d356a7e093 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -182,11 +182,7 @@ ivas_error ivas_core_dec( } #ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS -#ifdef FIX_MCT_PLC_RECOVERY if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && st->hTcxDec != NULL ) -#else - if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && st->hTcxDec != NULL && hMCT == NULL ) -#endif { float gain; -- GitLab From 583a9b6556daccd69a5536a21c045402a11f07bd Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:39:31 +0100 Subject: [PATCH 286/620] [cleanup] accept FIX_AGC_WINFUNC_MEMORY --- lib_com/options.h | 1 - lib_dec/ivas_agc_dec.c | 14 -------------- lib_enc/ivas_agc_enc.c | 14 -------------- 3 files changed, 29 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index b9c3067a67..a064db8b45 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ #define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ -#define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define REMOVE_SID_HARM_LEFTOVERS /* Issue 192: remove leftovers from the SID bitrate harmonization */ #define FIX_MCT_UNINIT_MEM /* Issue 166: Reading of uninitialized memory in TCX range coder */ diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index d9aa86d7cf..f9bf4f14cc 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -100,11 +100,7 @@ ivas_error ivas_spar_agc_dec_open( ) { ivas_agc_dec_state_t *hAgc; -#ifdef FIX_AGC_WINFUNC_MEMORY int16_t output_frame, delay; -#else - int16_t output_frame; -#endif if ( ( hAgc = (ivas_agc_dec_state_t *) count_malloc( sizeof( ivas_agc_dec_state_t ) ) ) == NULL ) { @@ -112,15 +108,9 @@ ivas_error ivas_spar_agc_dec_open( } output_frame = (int16_t) ( output_Fs / FRAMES_PER_SEC ); -#ifdef FIX_AGC_WINFUNC_MEMORY delay = NS2SA( output_Fs, ( IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ) ); -#endif -#ifdef FIX_AGC_WINFUNC_MEMORY if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * ( output_frame - delay ) ) ) == NULL ) -#else - if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * output_frame ) ) == NULL ) -#endif { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AGC decoder" ); } @@ -135,11 +125,7 @@ ivas_error ivas_spar_agc_dec_open( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for AGC decoder" ); } -#ifdef FIX_AGC_WINFUNC_MEMORY ivas_agc_dec_init( hAgc, output_frame, delay ); -#else - ivas_agc_dec_init( hAgc, output_frame, NS2SA( output_Fs, ( IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ) ) ); -#endif *hAgcDec = hAgc; diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 3219807050..818785109e 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -153,11 +153,7 @@ ivas_error ivas_spar_agc_enc_open( ) { ivas_agc_enc_state_t *hAgc; -#ifdef FIX_AGC_WINFUNC_MEMORY int16_t input_frame, delay; -#else - int16_t input_frame; -#endif if ( ( hAgc = (ivas_agc_enc_state_t *) count_malloc( sizeof( ivas_agc_enc_state_t ) ) ) == NULL ) { @@ -165,15 +161,9 @@ ivas_error ivas_spar_agc_enc_open( } input_frame = (int16_t) ( input_Fs / FRAMES_PER_SEC ); -#ifdef FIX_AGC_WINFUNC_MEMORY delay = NS2SA( input_Fs, ( IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ) ); -#endif -#ifdef FIX_AGC_WINFUNC_MEMORY if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * ( input_frame - delay ) ) ) == NULL ) -#else - if ( ( hAgc->agc_com.winFunc = (float *) count_malloc( sizeof( float ) * input_frame ) ) == NULL ) -#endif { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR AGC encoder" ); } @@ -188,11 +178,7 @@ ivas_error ivas_spar_agc_enc_open( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR AGC encoder" ); } -#ifdef FIX_AGC_WINFUNC_MEMORY ivas_agc_enc_init( hAgc, input_frame, nchan_inp, delay ); -#else - ivas_agc_enc_init( hAgc, input_frame, nchan_inp, NS2SA( input_Fs, ( IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ) ) ); -#endif *hAgcEnc = hAgc; -- GitLab From ef0b63de0cb68e471c2ae3a3eef172ea5726bd17 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:40:17 +0100 Subject: [PATCH 287/620] [cleanup] accept REMOVE_SID_HARM_LEFTOVERS --- apps/decoder.c | 11 ----------- lib_com/options.h | 1 - 2 files changed, 12 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 7f94e19808..0e98b0b1f2 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -71,14 +71,7 @@ static int32_t frame = 0; /* Counter of frames */ #define MIN_NUM_BITS_ACTIVE_FRAME 56 -#ifdef REMOVE_SID_HARM_LEFTOVERS #define NUM_BITS_SID_IVAS_5K2 104 -#else -#define NUM_BITS_SID_IVAS_4K4 88 -#define NUM_BITS_SID_IVAS_7K8 156 -#define NUM_BITS_SID_IVAS_9K3 186 -#define NUM_BITS_SID_IVAS_10K2 204 -#endif #define MAX_FRAME_SIZE ( 48000 / 50 ) #define MAX_NUM_OUTPUT_CHANNELS 16 #define MAX_OUTPUT_PCM_BUFFER_SIZE ( MAX_NUM_OUTPUT_CHANNELS * MAX_FRAME_SIZE ) @@ -353,11 +346,7 @@ int main( fprintf( stderr, "\nError: input bitstream file %s couldn't be read\n\n", arg.inputBitstreamFilename ); goto cleanup; } -#ifdef REMOVE_SID_HARM_LEFTOVERS } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_5K2 ); -#else - } while ( bfi || num_bits < MIN_NUM_BITS_ACTIVE_FRAME || num_bits == NUM_BITS_SID_IVAS_4K4 || num_bits == NUM_BITS_SID_IVAS_7K8 || num_bits == NUM_BITS_SID_IVAS_9K3 || num_bits == NUM_BITS_SID_IVAS_10K2 ); -#endif BS_Reader_Rewind( hBsReader ); diff --git a/lib_com/options.h b/lib_com/options.h index a064db8b45..fbcf6d3d7c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define REMOVE_SID_HARM_LEFTOVERS /* Issue 192: remove leftovers from the SID bitrate harmonization */ #define FIX_MCT_UNINIT_MEM /* Issue 166: Reading of uninitialized memory in TCX range coder */ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ -- GitLab From dd136dee6bf216769a4833b7eb316415206ca1e9 Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Wed, 7 Dec 2022 08:40:45 +1100 Subject: [PATCH 288/620] Change error message to indicate the nubmer is expected --- apps/encoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/encoder.c b/apps/encoder.c index a91532f9e6..005794d939 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1372,7 +1372,7 @@ static bool parseCmdlIVAS_enc( else { tmp = -1; /* this is to avoid a compilation warning */ - fprintf( stderr, "Error: SBA order not specified!\n\n" ); + fprintf( stderr, "Error: SBA order must be specified, expecting a number!\n\n" ); usage_enc(); return false; } -- GitLab From ab5fe9565371189b9bfc8916119ec2a6916f4868 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:41:00 +0100 Subject: [PATCH 289/620] [cleanup] accept FIX_MCT_UNINIT_MEM --- lib_com/options.h | 1 - lib_enc/ivas_mdct_core_enc.c | 8 -------- 2 files changed, 9 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index fbcf6d3d7c..86dffb889c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_MCT_UNINIT_MEM /* Issue 166: Reading of uninitialized memory in TCX range coder */ #define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ #define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ diff --git a/lib_enc/ivas_mdct_core_enc.c b/lib_enc/ivas_mdct_core_enc.c index aaf76ceb35..a999681ab4 100644 --- a/lib_enc/ivas_mdct_core_enc.c +++ b/lib_enc/ivas_mdct_core_enc.c @@ -881,11 +881,7 @@ void ivas_mdct_core_whitening_enc( { chE_tot = sum_f( chE, NB_DIV ); -#ifdef FIX_MCT_UNINIT_MEM if ( chE_tot < SILENT_CHANNEL_THRES && nSubframes == 1 ) -#else - if ( chE_tot < SILENT_CHANNEL_THRES ) -#endif { st->mct_chan_mode = MCT_CHAN_MODE_IGNORE; st->bits_frame_channel = 0; @@ -1059,11 +1055,7 @@ void ivas_mdct_core_whitening_enc( { st->side_bits_frame_channel = 0; /*dummy initialization to prevent range coder crashing in case all channels are silent and bits are distributed to channel 0 */ -#ifdef FIX_MCT_UNINIT_MEM *p_param[ch] = 1 + NOISE_FILL_RANGES + LTPSIZE + tnsSize[ch][0] + NPRM_CTX_HM; -#else - *p_param[ch] = 9; -#endif continue; } -- GitLab From 0b8af2ec770818d1e59aff9426d6466f8b419f88 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:41:51 +0100 Subject: [PATCH 290/620] [cleanup] accept FIX_IGF_NOISE_REPETITION --- lib_com/options.h | 1 - lib_dec/dec_tcx.c | 13 ------------- 2 files changed, 14 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 86dffb889c..0b08a7d264 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_IGF_NOISE_REPETITION /* Issue 182: fix repetition of same noise in IGF */ #define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ #define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ #define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ diff --git a/lib_dec/dec_tcx.c b/lib_dec/dec_tcx.c index 5b74ca0f6f..14865adc37 100755 --- a/lib_dec/dec_tcx.c +++ b/lib_dec/dec_tcx.c @@ -1309,7 +1309,6 @@ void decoder_tcx_noisefilling( IGFDecReplicateTCX10State( st->hIGFDec ); } -#ifdef FIX_IGF_NOISE_REPETITION if ( st->element_mode != EVS_MONO ) { if ( bfi ) @@ -1321,22 +1320,10 @@ void decoder_tcx_noisefilling( nf_seed = *st->hIGFDec->igfData.igfInfo.nfSeed; } } -#endif if ( st->igf ) { -#ifdef FIX_IGF_NOISE_REPETITION *st->hIGFDec->igfData.igfInfo.nfSeed = (int16_t) ( nf_seed * 31821L + 13849L ); -#else - if ( bfi && st->element_mode != EVS_MONO ) - { - *st->hIGFDec->igfData.igfInfo.nfSeed = (int16_t) ( st->seed_tcx_plc * 31821L + 13849L ); - } - else - { - *st->hIGFDec->igfData.igfInfo.nfSeed = (int16_t) ( nf_seed * 31821L + 13849L ); - } -#endif } return; -- GitLab From 3fc6306cdae8cc657fe37b573b937e73e9dd1626 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:42:30 +0100 Subject: [PATCH 291/620] [cleanup] accept FIX_126_MDFT_FB_STATIC_MEM --- lib_com/ivas_fb_mixer.c | 31 ------------------------------- lib_com/options.h | 1 - 2 files changed, 32 deletions(-) diff --git a/lib_com/ivas_fb_mixer.c b/lib_com/ivas_fb_mixer.c index 8e60b4f841..84bbdf0903 100644 --- a/lib_com/ivas_fb_mixer.c +++ b/lib_com/ivas_fb_mixer.c @@ -192,21 +192,17 @@ ivas_error ivas_FB_mixer_open( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } -#ifdef FIX_126_MDFT_FB_STATIC_MEM if ( fb_cfg->num_out_chans > 0 ) { -#endif if ( ( hFbMixer->pFb = (ivas_filterbank_t *) count_malloc( sizeof( ivas_filterbank_t ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for FB mixer encoder" ); } -#ifdef FIX_126_MDFT_FB_STATIC_MEM } else { hFbMixer->pFb = NULL; } -#endif if ( fb_cfg->active_w_mixing == -1 ) { num_chs_alloc = 0; @@ -323,30 +319,9 @@ ivas_error ivas_FB_mixer_open( } else { -#ifndef FIX_126_MDFT_FB_STATIC_MEM - int16_t k; -#endif /* ignore all the deeper filter bank stuff for now */ hFbMixer->num_diff_bands = 0; -#ifndef FIX_126_MDFT_FB_STATIC_MEM - hFbMixer->pFb->fb_consts.pFilterbank_bins_per_band = NULL; - hFbMixer->pFb->fb_consts.pFilterbank_bins_start_offset = NULL; - - for ( i = 0; i < 2; i++ ) - { - for ( k = 0; k < IVAS_MAX_NUM_BANDS; k++ ) - { - hFbMixer->pFb->fb_consts.ppFilterbank_FRs[i][k] = NULL; - hFbMixer->pFb->fb_consts.ppFilterbank_FRs_non48k[i][k] = NULL; - } - } - - for ( i = 0; i < IVAS_MAX_NUM_FB_BANDS; i++ ) - { - hFbMixer->pFb->fb_bin_to_band.pFb_bin_to_band[i] = NULL; - } -#endif } hFbMixer->fb_cfg = fb_cfg; @@ -1074,12 +1049,6 @@ static ivas_error ivas_filterbank_setup( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "Wrong FB in ivas_filterbank_setup()!" ); } } -#ifndef FIX_126_MDFT_FB_STATIC_MEM - else - { - hFbMixer->pFb->filterbank_num_bands = 0; - } -#endif hFbMixer->cross_fade_end_offset = pCfg->fade_len + pCfg->pcm_offset; hFbMixer->cross_fade_start_offset = hFbMixer->cross_fade_end_offset - pCfg->fade_len; diff --git a/lib_com/options.h b/lib_com/options.h index 0b08a7d264..25c626520f 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_126_MDFT_FB_STATIC_MEM /* Issue 126: reduce static mem consumption of the MDFT FB for non-SBA formats */ #define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ #define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ #define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ -- GitLab From 8c782e7327716ee95f4048852f1ac839021aa2a2 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:44:47 +0100 Subject: [PATCH 292/620] [cleanup] accept FIX_I214_CLIPPING_STANDALONE_REND --- lib_com/options.h | 1 - .../renderer_standalone.c | 19 ------------------- 2 files changed, 20 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 25c626520f..f7630ac679 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_I214_CLIPPING_STANDALONE_REND /* Issue 214: TD standalone renderer does not handle clipping */ #define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ #define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ #define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 0210189ffc..948da8a425 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -125,10 +125,8 @@ int main( int argc, char *argv[] ) int16_t *MixFrameWav; int16_t *input_buff; int16_t nChannels; -#ifdef FIX_I214_CLIPPING_STANDALONE_REND float tmp; int32_t noClipping; -#endif FILE *f_input; FILE *f_output; FILE *f_quat_traj; @@ -141,9 +139,7 @@ int main( int argc, char *argv[] ) MixFrameWav = count_malloc( 2 * L_FRAME48k * sizeof( int16_t ) ); input_buff = count_malloc( MAX_CICP_CHANNELS * L_FRAME48k * sizeof( int16_t ) ); nChannels = 0; -#ifdef FIX_I214_CLIPPING_STANDALONE_REND noClipping = 0; -#endif for ( i = 0; i < 2 * L_FRAME48k; i++ ) { @@ -333,13 +329,8 @@ int main( int argc, char *argv[] ) } /* Init limiter */ -#ifdef FIX_I214_CLIPPING_STANDALONE_REND st_ivas->hLimiter = ivas_limiter_open( NumLdspks, st_ivas->hDecoderConfig->output_Fs ); st_ivas->hDecoderConfig->nchan_out = NumLdspks; -#else - st_ivas->hLimiter = ivas_limiter_open( nChannels, st_ivas->hDecoderConfig->output_Fs ); - st_ivas->hDecoderConfig->nchan_out = nChannels; -#endif st_ivas->hLimiter->strong_saturation_count = 0; st_ivas->hLimiter->gain = 1.f; st_ivas->hLimiter->release_heuristic = 0.f; @@ -477,7 +468,6 @@ int main( int argc, char *argv[] ) { for ( nS = 0; nS < NumLdspks; nS++ ) { -#ifdef FIX_I214_CLIPPING_STANDALONE_REND #ifdef FIX_ITD tmp = output[nS][n] + 0.5f * sign( output[nS][n] ); #else @@ -494,13 +484,6 @@ int main( int argc, char *argv[] ) noClipping++; } MixFrameWav[n * NumLdspks + nS] = (int16_t) ( tmp ); -#else -#ifdef FIX_ITD - MixFrameWav[n *NumLdspks + nS] = (int16_t) ( output[nS][n] + 0.5f * sign( output[nS][n] ) ); -#else - MixFrameWav[n * NumLdspks + nS] = (int16_t) ( output[nS][n + offset] + 0.5f * sign( output[nS][n + offset] ) ); -#endif -#endif } } #ifdef FIX_ITD @@ -560,12 +543,10 @@ int main( int argc, char *argv[] ) #endif fprintf( stdout, "Done rendering %d frames.\n", nFrameCount ); -#ifdef FIX_I214_CLIPPING_STANDALONE_REND if ( noClipping > 0 ) { fprintf( stderr, "*** Clipping on %d samples.\n", noClipping ); } -#endif /* system( "pause" ); */ return 0; } -- GitLab From 289a3eca490838fa66939d7b18e3e4603396f427 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:45:29 +0100 Subject: [PATCH 293/620] [cleanup] accept FIX_I218_PARAMISM_NOISY_SPEECH --- lib_com/options.h | 1 - lib_enc/ivas_ism_enc.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index f7630ac679..24d72db098 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_I218_PARAMISM_NOISY_SPEECH /* Issue 218: Fix noisy speech buffer in ParamISM */ #define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ #define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 8e6c059c7b..a8090a68fd 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -180,11 +180,7 @@ ivas_error ivas_ism_enc( /* For the current frame, make a decision based on some core-coder flags */ if ( st_ivas->hSCE[0]->hCoreCoder[0]->flag_noisy_speech_snr && st_ivas->hSCE[1]->hCoreCoder[0]->flag_noisy_speech_snr ) { -#ifdef FIX_I218_PARAMISM_NOISY_SPEECH if ( st_ivas->hSCE[0]->hCoreCoder[0]->vad_flag || st_ivas->hSCE[1]->hCoreCoder[0]->vad_flag ) -#else - if ( st_ivas->hSCE[0]->hCoreCoder[0]->vad_flag && st_ivas->hSCE[1]->hCoreCoder[0]->vad_flag ) -#endif { st_ivas->hDirAC->hParamIsm->noisy_speech_buffer[i] = 0; } -- GitLab From 752e51dff79a46a011714ac587548792d216dccf Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:46:18 +0100 Subject: [PATCH 294/620] [cleanup] accept FIX_I217_GSC_FLAG_IN_ISM --- lib_com/options.h | 1 - lib_dec/ivas_td_low_rate_dec.c | 2 -- lib_enc/ivas_td_low_rate_enc.c | 2 -- 3 files changed, 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 24d72db098..f1f1bdf5d4 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_I217_GSC_FLAG_IN_ISM /* Issue 217: fix BER detected in ISM4 due to desynchronized 'GSC_IVAS_mode' parameter */ #define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ diff --git a/lib_dec/ivas_td_low_rate_dec.c b/lib_dec/ivas_td_low_rate_dec.c index 0e1c34db1d..e610fcf0f3 100644 --- a/lib_dec/ivas_td_low_rate_dec.c +++ b/lib_dec/ivas_td_low_rate_dec.c @@ -77,9 +77,7 @@ void tdm_low_rate_dec( nb_subfr = 2; -#ifdef FIX_I217_GSC_FLAG_IN_ISM st->GSC_IVAS_mode = 0; -#endif st->GSC_noisy_speech = 1; hGSCDec->noise_lev = 14; diff --git a/lib_enc/ivas_td_low_rate_enc.c b/lib_enc/ivas_td_low_rate_enc.c index 563e1d1b39..8714014347 100644 --- a/lib_enc/ivas_td_low_rate_enc.c +++ b/lib_enc/ivas_td_low_rate_enc.c @@ -78,9 +78,7 @@ void tdm_low_rate_enc( nb_subfr = 2; -#ifdef FIX_I217_GSC_FLAG_IN_ISM st->GSC_IVAS_mode = 0; -#endif st->GSC_noisy_speech = 1; st->hGSCEnc->noise_lev = 14; -- GitLab From 3cf96ec2829bbf74939a7d68fbdec047d5930aa7 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:46:59 +0100 Subject: [PATCH 295/620] [cleanup] accept FIX_158_DIRAC_MEM --- lib_com/options.h | 1 - lib_dec/ivas_dirac_dec.c | 48 ---------------------------------------- lib_dec/ivas_stat_dec.h | 4 ---- 3 files changed, 53 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index f1f1bdf5d4..510f922aca 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define FIX_158_DIRAC_MEM /* Issue 158: Reduce memory consumption in the hDirac_mem handle */ #define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 5f9e908481..75d12883f6 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -49,11 +49,7 @@ /*-----------------------------------------------------------------------* * Local function prototypes *-----------------------------------------------------------------------*/ -#ifdef FIX_158_DIRAC_MEM static void ivas_dirac_alloc_mem( DIRAC_DEC_HANDLE hDirAC, const RENDERER_TYPE renderer_type, DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ); -#else -static void ivas_dirac_alloc_mem( DIRAC_DEC_HANDLE hDirAC, DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ); -#endif static void ivas_dirac_free_mem( DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ); @@ -723,12 +719,10 @@ ivas_error ivas_dirac_dec_config( } -#ifdef FIX_158_DIRAC_MEM if ( flag_config == DIRAC_OPEN ) { hDirAC->buffer_energy = NULL; } -#endif if ( ( flag_config == DIRAC_OPEN && hDirAC->hConfig->dec_param_estim == TRUE ) || ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->hConfig->dec_param_estim == TRUE && dec_param_estim_old == FALSE ) ) ) { hDirAC->index_buffer_intensity = 0; @@ -741,12 +735,10 @@ ivas_error ivas_dirac_dec_config( set_f( hDirAC->buffer_intensity_real[i][j], 0.0f, CLDFB_NO_CHANNELS_MAX ); } } -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->buffer_energy == NULL ) { hDirAC->buffer_energy = (float *) count_malloc( DIRAC_NO_COL_AVG_DIFF * CLDFB_NO_CHANNELS_MAX * sizeof( float ) ); } -#endif set_f( hDirAC->buffer_energy, 0.0f, DIRAC_NO_COL_AVG_DIFF * CLDFB_NO_CHANNELS_MAX ); } else if ( ( flag_config == DIRAC_OPEN && hDirAC->hConfig->dec_param_estim == FALSE ) || ( flag_config == DIRAC_RECONFIGURE && ( hDirAC->hConfig->dec_param_estim == FALSE && dec_param_estim_old == TRUE ) ) ) @@ -762,13 +754,11 @@ ivas_error ivas_dirac_dec_config( hDirAC->buffer_intensity_real[i][j] = NULL; } } -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->buffer_energy != NULL ) { count_free( hDirAC->buffer_energy ); hDirAC->buffer_energy = NULL; } -#endif } /* output synthesis */ @@ -779,11 +769,7 @@ ivas_error ivas_dirac_dec_config( { ivas_dirac_free_mem( &( hDirAC->stack_mem ) ); } -#ifdef FIX_158_DIRAC_MEM ivas_dirac_alloc_mem( hDirAC, st_ivas->renderer_type, &( hDirAC->stack_mem ) ); -#else - ivas_dirac_alloc_mem( hDirAC, &( hDirAC->stack_mem ) ); -#endif mvs2s( DirAC_block_grouping, hDirAC->block_grouping, MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); @@ -967,13 +953,11 @@ void ivas_dirac_dec_close( } } } -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->buffer_energy != NULL ) { count_free( hDirAC->buffer_energy ); hDirAC->buffer_energy = NULL; } -#endif for ( i = 0; i < hDirAC->dirac_md_buffer_length; i++ ) { @@ -1130,9 +1114,7 @@ void ivas_dirac_dec_close( static void ivas_dirac_alloc_mem( DIRAC_DEC_HANDLE hDirAC, -#ifdef FIX_158_DIRAC_MEM const RENDERER_TYPE renderer_type, -#endif DIRAC_DEC_STACK_MEM_HANDLE hDirAC_mem ) { int16_t num_freq_bands, num_freq_bands_diff, size; @@ -1165,14 +1147,10 @@ static void ivas_dirac_alloc_mem( set_zero( hDirAC_mem->proto_power_diff_smooth, size ); hDirAC_mem->direct_responses_square = (float *) malloc( sizeof( float ) * size ); set_zero( hDirAC_mem->direct_responses_square, size ); -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->proto_signal_decorr_on && ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) ) { -#endif hDirAC_mem->frame_dec_f = (float *) malloc( sizeof( float ) * 2 * num_outputs_diff * num_freq_bands ); -#ifdef FIX_158_DIRAC_MEM } -#endif } hDirAC->h_output_synthesis_psd_state.proto_power_smooth = hDirAC_mem->proto_power_smooth; hDirAC->h_output_synthesis_psd_state.proto_power_diff_smooth = hDirAC_mem->proto_power_diff_smooth; @@ -1201,17 +1179,13 @@ static void ivas_dirac_alloc_mem( hDirAC->h_output_synthesis_psd_state.direct_responses = hDirAC_mem->direct_responses; /* Prototypes */ -#ifdef FIX_158_DIRAC_MEM hDirAC_mem->proto_direct_buffer_f = NULL; hDirAC_mem->proto_diffuse_buffer_f = NULL; if ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) { -#endif hDirAC_mem->proto_direct_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_protos_dir * num_freq_bands ); -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->proto_signal_decorr_on ) { -#endif if ( hDirAC->synthesisConf == DIRAC_SYNTHESIS_PSD_SHD ) { hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * size ); @@ -1220,25 +1194,19 @@ static void ivas_dirac_alloc_mem( { hDirAC_mem->proto_diffuse_buffer_f = (float *) malloc( sizeof( float ) * 2 * MAX_PARAM_SPATIAL_SUBFRAMES * num_outputs_diff * num_freq_bands ); } -#ifdef FIX_158_DIRAC_MEM } } -#endif hDirAC->h_output_synthesis_psd_state.proto_direct_buffer_f = hDirAC_mem->proto_direct_buffer_f; hDirAC->h_output_synthesis_psd_state.proto_diffuse_buffer_f = hDirAC_mem->proto_diffuse_buffer_f; /* Gains/power factors*/ -#ifdef FIX_158_DIRAC_MEM hDirAC_mem->direct_power_factor = NULL; hDirAC_mem->diffuse_power_factor = NULL; if ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) { -#endif hDirAC_mem->direct_power_factor = (float *) malloc( sizeof( float ) * num_freq_bands ); hDirAC_mem->diffuse_power_factor = (float *) malloc( sizeof( float ) * num_freq_bands ); -#ifdef FIX_158_DIRAC_MEM } -#endif hDirAC->h_output_synthesis_psd_state.direct_power_factor = hDirAC_mem->direct_power_factor; hDirAC->h_output_synthesis_psd_state.diffuse_power_factor = hDirAC_mem->diffuse_power_factor; @@ -1246,20 +1214,14 @@ static void ivas_dirac_alloc_mem( hDirAC_mem->onset_filter = NULL; if ( hDirAC->synthesisConf != DIRAC_SYNTHESIS_GAIN_SHD ) { -#ifdef FIX_158_DIRAC_MEM if ( renderer_type != RENDERER_BINAURAL_PARAMETRIC && renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && renderer_type != RENDERER_STEREO_PARAMETRIC ) { -#endif hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * 2 * num_freq_bands ); -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->proto_signal_decorr_on ) { -#endif hDirAC_mem->onset_filter = (float *) malloc( sizeof( float ) * num_outputs_diff * num_freq_bands ); -#ifdef FIX_158_DIRAC_MEM } } -#endif } else { @@ -1267,20 +1229,10 @@ static void ivas_dirac_alloc_mem( { hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * 5 * num_freq_bands ); } -#ifndef FIX_158_DIRAC_MEM - else - { - hDirAC_mem->reference_power = (float *) malloc( sizeof( float ) * num_freq_bands ); - } -#endif -#ifdef FIX_158_DIRAC_MEM if ( hDirAC->proto_signal_decorr_on ) { -#endif hDirAC_mem->onset_filter = (float *) malloc( sizeof( float ) * 2 * num_freq_bands ); -#ifdef FIX_158_DIRAC_MEM } -#endif } return; diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index a1eb473fcc..a18f826921 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -673,11 +673,7 @@ typedef struct ivas_dirac_dec_data_structure /*Parameter estimation*/ int16_t index_buffer_intensity; float *buffer_intensity_real[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF]; -#ifdef FIX_158_DIRAC_MEM float *buffer_energy; -#else - float buffer_energy[DIRAC_NO_COL_AVG_DIFF * CLDFB_NO_CHANNELS_MAX]; -#endif /*Decoder parameters */ /*Prototypes*/ -- GitLab From e39edccd840ff3f7a714d206449df9ffbf14b70b Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:47:38 +0100 Subject: [PATCH 296/620] [cleanup] accept BRATE_SWITCHING_FRAMEWORK --- lib_com/options.h | 1 - lib_dec/ivas_dirac_dec.c | 8 ------- lib_enc/ivas_dirac_enc.c | 2 -- lib_enc/ivas_mct_enc.c | 51 ---------------------------------------- 4 files changed, 62 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 510f922aca..d3f91691fb 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ -#define BRATE_SWITCHING_FRAMEWORK /* Bitrate switching changes related to the general framework */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ #ifdef FIX_185_REDUCE_MD_BITS diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 75d12883f6..f2273de26d 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -258,9 +258,7 @@ ivas_error ivas_dirac_dec_config( * set input parameters *-----------------------------------------------------------------*/ -#ifdef BRATE_SWITCHING_FRAMEWORK st_ivas->nchan_transport = nchan_transport_orig; -#endif if ( flag_config == DIRAC_OPEN ) { @@ -276,9 +274,6 @@ ivas_error ivas_dirac_dec_config( return IVAS_ERR_OK; } -#ifndef BRATE_SWITCHING_FRAMEWORK - st_ivas->nchan_transport = nchan_transport_orig; -#endif if ( nchan_transport_orig > 2 && hDirAC->hOutSetup.is_loudspeaker_setup && st_ivas->renderer_type == RENDERER_DIRAC ) { hDirAC->synthesisConf = DIRAC_SYNTHESIS_PSD_LS; @@ -863,9 +858,6 @@ ivas_error ivas_dirac_dec_config( st_ivas->hDirAC = hDirAC; } -#ifndef BRATE_SWITCHING_FRAMEWORK - st_ivas->nchan_transport = nchan_transport_orig; -#endif return error; } diff --git a/lib_enc/ivas_dirac_enc.c b/lib_enc/ivas_dirac_enc.c index b83cb1233f..52b67fe056 100644 --- a/lib_enc/ivas_dirac_enc.c +++ b/lib_enc/ivas_dirac_enc.c @@ -131,9 +131,7 @@ ivas_error ivas_dirac_enc_open( } else { -#ifdef BRATE_SWITCHING_FRAMEWORK hDirAC->num_samples_synchro_delay = 0; -#endif for ( i = 0; i < DIRAC_MAX_ANA_CHANS; i++ ) { diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 9fbf63c952..c9f3698b27 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -44,7 +44,6 @@ #include "wmops.h" -#ifdef BRATE_SWITCHING_FRAMEWORK /*-------------------------------------------------------------------* * set_mct_enc_params() * @@ -83,7 +82,6 @@ static void set_mct_enc_params( return; } -#endif /*-------------------------------------------------------------------* @@ -318,27 +316,7 @@ ivas_error create_mct_enc( * Initializations *-----------------------------------------------------------------*/ -#ifdef BRATE_SWITCHING_FRAMEWORK set_mct_enc_params( hMCT, ivas_total_brate, st_ivas->sba_mode, 1 ); -#else - - hMCT->currBlockDataCnt = 0; - - /*Initialize bits required to signal channel-pair index*/ - hMCT->bitsChannelPairIndex = max( 1, (int16_t) ( floor( ( log( hMCT->nchan_out_woLFE * ( hMCT->nchan_out_woLFE - 1 ) / 2 - 1 ) / log( 2. ) ) ) + 1 ) ); - - set_s( hMCT->lowE_ch, 0, MCT_MAX_CHANNELS ); - - for ( n = 0; n < MCT_MAX_CHANNELS; n++ ) - { - set_f( hMCT->lastxCorrMatrix[n], 0, MCT_MAX_CHANNELS ); - } - hMCT->hbr_mct = 0; - if ( st_ivas->sba_mode == SBA_MODE_SPAR && ivas_total_brate >= IVAS_256k ) - { - hMCT->hbr_mct = 1; - } -#endif st_ivas->hMCT = hMCT; @@ -379,24 +357,11 @@ ivas_error mct_enc_reconfigure( hMCT->nchan_out_woLFE = st_ivas->hEncoderConfig->nchan_inp - 1; /* LFE channel is coded separately */ hMCT->num_lfe = TRUE; } -#ifdef BRATE_SWITCHING_FRAMEWORK else if ( ivas_format == SBA_FORMAT ) { hMCT->nchan_out_woLFE = st_ivas->nchan_transport; hMCT->num_lfe = FALSE; } -#else - else if ( ivas_format == SBA_FORMAT && st_ivas->hDirAC ) // VE: this condition to be reviewed together with the following one - { - hMCT->nchan_out_woLFE = ivas_get_sba_num_TCs( ivas_total_brate, st_ivas->sba_analysis_order ); - hMCT->num_lfe = FALSE; - } - else if ( ivas_format == SBA_FORMAT ) - { - hMCT->nchan_out_woLFE = ivas_sba_get_nchan( st_ivas->sba_analysis_order, st_ivas->hEncoderConfig->sba_planar ); - hMCT->num_lfe = FALSE; - } -#endif else { assert( !"IVAS format currently not supported for MCT" ); @@ -509,23 +474,7 @@ ivas_error mct_enc_reconfigure( * Initializations *-----------------------------------------------------------------*/ -#ifdef BRATE_SWITCHING_FRAMEWORK set_mct_enc_params( hMCT, ivas_total_brate, st_ivas->sba_mode, b_nchan_change ); -#else - if ( b_nchan_change ) - { - hMCT->currBlockDataCnt = 0; - /*Initialize bits required to signal channel-pair index*/ - hMCT->bitsChannelPairIndex = max( 1, (int16_t) ( floor( ( log( hMCT->nchan_out_woLFE * ( hMCT->nchan_out_woLFE - 1 ) / 2 - 1 ) / log( 2. ) ) ) + 1 ) ); - - set_s( hMCT->lowE_ch, 0, MCT_MAX_CHANNELS ); - - for ( n = 0; n < MCT_MAX_CHANNELS; n++ ) - { - set_f( hMCT->lastxCorrMatrix[n], 0, MCT_MAX_CHANNELS ); - } - } -#endif return IVAS_ERR_OK; } -- GitLab From 15d6f2797c7f02907bea44584619afcee75df4c0 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:48:27 +0100 Subject: [PATCH 297/620] [cleanup] accept FIX_185_REDUCE_MD_BITS --- lib_com/ivas_dirac_com.c | 4 ---- lib_com/options.h | 3 --- lib_dec/ivas_agc_dec.c | 4 ---- lib_enc/ivas_agc_enc.c | 3 --- 4 files changed, 14 deletions(-) diff --git a/lib_com/ivas_dirac_com.c b/lib_com/ivas_dirac_com.c index b7265987d5..afb71a7278 100644 --- a/lib_com/ivas_dirac_com.c +++ b/lib_com/ivas_dirac_com.c @@ -372,11 +372,7 @@ ivas_error ivas_dirac_sba_config( else if ( sba_total_brate <= IVAS_24k4 ) { hQMetaData->bits_frame_nominal = ACELP_16k40 / FRAMES_PER_SEC; -#ifdef FIX_185_REDUCE_MD_BITS hQMetaData->metadata_max_bits = 103; -#else - hQMetaData->metadata_max_bits = 106; -#endif } else if ( sba_total_brate <= IVAS_32k ) { diff --git a/lib_com/options.h b/lib_com/options.h index d3f91691fb..c5662cd2f8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,10 +149,7 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_185_REDUCE_MD_BITS /* Issue 185: Crash in SBA encoder for 24.4 kbps HOA3 input with longer testvector */ -#ifdef FIX_185_REDUCE_MD_BITS #define CLEANUP_185_NO_AGC_EXCEPTION /* Issue 185: Cleanup AGC EXCEPTION code */ -#endif #define FIX_I220_PARAMMC_CPROTO /* Issue 220: sanitizer error in the svd due to NaNs coming from negative energies in Cproto */ #define FIX_221_BR_SWITCH_STEREO /* Issue 221: Fix missing initialization when switchin from TD to MDCT stereo*/ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index f9bf4f14cc..da7f0db448 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -300,12 +300,8 @@ void ivas_agc_read_bits( if ( per_ch_bit[i] == 1 ) { pState->gain_data[i].absGainExpCurr = get_next_indice( st0, (int16_t) pState->agc_com.betaE ); -#ifdef FIX_185_REDUCE_MD_BITS #ifndef CLEANUP_185_NO_AGC_EXCEPTION pState->gain_data[i].gainException = false; -#endif -#else - pState->gain_data[i].gainException = get_next_indice( st0, 1 ); #endif } else diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 818785109e..d6cb3975c1 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -528,9 +528,6 @@ void ivas_agc_enc_process( if ( per_ch_bit[i] == 1 ) { push_next_indice( hMetaData, (uint16_t) pState->gain_data[i].absGainExpCurr, (int16_t) pState->agc_com.betaE ); -#ifndef FIX_185_REDUCE_MD_BITS - push_next_indice( hMetaData, (uint16_t) pState->gain_data[i].gainException, 1 ); -#endif #ifndef CLEANUP_185_NO_AGC_EXCEPTION assert( pState->gain_data[i].gainException == FALSE ); #endif -- GitLab From 603e62d07a19e8f4fe9411fb2423fb0726da2872 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:49:07 +0100 Subject: [PATCH 298/620] [cleanup] accept CLEANUP_185_NO_AGC_EXCEPTION --- lib_com/ivas_stat_com.h | 3 -- lib_com/options.h | 1 - lib_dec/ivas_agc_dec.c | 42 -------------------- lib_enc/ivas_agc_enc.c | 88 ----------------------------------------- 4 files changed, 134 deletions(-) diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h index 2ec890b57d..79d29ea575 100644 --- a/lib_com/ivas_stat_com.h +++ b/lib_com/ivas_stat_com.h @@ -315,9 +315,6 @@ typedef struct ivas_huff_coeffs_t /* AGC structures */ typedef struct ivas_agc_chan_data_t { -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - int16_t gainException; -#endif int16_t absGainExp; int16_t absGainExpCurr; diff --git a/lib_com/options.h b/lib_com/options.h index c5662cd2f8..49b3897671 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define CLEANUP_185_NO_AGC_EXCEPTION /* Issue 185: Cleanup AGC EXCEPTION code */ #define FIX_I220_PARAMMC_CPROTO /* Issue 220: sanitizer error in the svd due to NaNs coming from negative energies in Cproto */ #define FIX_221_BR_SWITCH_STEREO /* Issue 221: Fix missing initialization when switchin from TD to MDCT stereo*/ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index da7f0db448..1e98dd4dd4 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -78,9 +78,6 @@ static void ivas_agc_dec_init( /* gain_data */ ptr->absGainExp = hAgcDec->agc_com.absEmin; ptr->absGainExpCurr = hAgcDec->agc_com.absEmin; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - ptr->gainException = false; -#endif ptr++; } @@ -201,10 +198,6 @@ void ivas_agc_dec_process( pState->gain_state[i].lastGain = powf( pState->agc_com.winFunc[offset - 1], ( -1.f * (float) ( pState->gain_data[i].absGainExp - pState->agc_com.absEmin ) ) ); gainLast = 1.f / pState->gain_state[i].lastGain; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - if ( !pState->gain_data[i].gainException ) - { -#endif if ( pState->gain_state[i].gainExpVal != 0 ) { for ( idx = 0; idx < output_frame; idx++ ) @@ -231,28 +224,6 @@ void ivas_agc_dec_process( pcm_out[i][idx] = pcm_in[i][idx] * gain; } } -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - } - else - { - float gainCurr = powf( pState->agc_com.winFunc[offset - 1], ( -1.f * (float) pState->gain_state[i].gainExpVal ) ); - float gainTot = gainCurr * gainLast; - - for ( idx = 0; idx < output_frame; idx++ ) - { - if ( idx >= pState->agc_com.in_delay ) - { - gain = gainTot; - } - else - { - gain = gainLast; - } - pcm_out[i][idx] = pcm_in[i][idx] * gain; - } - pState->gain_state[i].lastGain /= gainCurr; - } -#endif pState->gain_data[i].absGainExp = pState->gain_data[i].absGainExpCurr; } @@ -300,16 +271,10 @@ void ivas_agc_read_bits( if ( per_ch_bit[i] == 1 ) { pState->gain_data[i].absGainExpCurr = get_next_indice( st0, (int16_t) pState->agc_com.betaE ); -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - pState->gain_data[i].gainException = false; -#endif } else { pState->gain_data[i].absGainExpCurr = (int32_t) pState->agc_com.absEmin; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - pState->gain_data[i].gainException = false; -#endif } } } @@ -318,9 +283,6 @@ void ivas_agc_read_bits( for ( i = 0; i < n_channels; i++ ) { pState->gain_data[i].absGainExpCurr = (int32_t) pState->agc_com.absEmin; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - pState->gain_data[i].gainException = false; -#endif } } @@ -331,10 +293,6 @@ void ivas_agc_read_bits( { fread( &( pState->gain_data[i].absGainExpCurr ), sizeof( int32_t ), 1, stream ); /* n bits */ num_bits += pState->agc_com.betaE; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - fread( &( pState->gain_data[i].gainException ), sizeof( int16_t ), 1, stream ); /* 1 bit */ - num_bits++; -#endif num_dmx_bits[i]++; /*fprintf(stdout, "AbsGain[%d]:= %d[%d bits]; ", i, pState->gain_data[i].absGainExp, pState->betaE);*/ diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index d6cb3975c1..4ccb262313 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -130,9 +130,6 @@ static void ivas_agc_enc_init( /* gain_data */ ptr->absGainExp = hAgcEnc->agc_com.absEmin; ptr->absGainExpCurr = hAgcEnc->agc_com.absEmin; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - ptr->gainException = FALSE; -#endif ptr++; } @@ -290,9 +287,6 @@ void ivas_agc_enc_process( isGainAdjusted = FALSE; if ( !isClipped ) { -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - pState->gain_data[i].gainException = FALSE; -#endif if ( pState->gain_state[i].lastExp == AGC_EMAX || MaxAbsVal < FLT_MIN ) { @@ -327,25 +321,15 @@ void ivas_agc_enc_process( { float actualMaxAbsVal = 0.f; int16_t currMaxAttExp -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - , - gainExpValMaxRange -#endif ; currMaxAttExp = min( ( pState->gain_state[i].lastExp + pState->agc_com.absEmin ), pState->agc_com.maxAttExp ); -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - gainExpValMaxRange = min( ( pState->gain_state[i].lastExp + pState->agc_com.absEmin ), pState->agc_com.maxAttExp + 1 ); -#endif extendedExpVal = FALSE; if ( isClipped ) { int16_t isCompensated = FALSE; actualMaxAbsVal = pState->gain_state[i].lastMaxAbs * pState->gain_state[i].lastGain; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - pState->gain_data[i].gainException = FALSE; -#endif pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[min( offset - 1, MaxAbsValIdx )] ) ); while ( !isCompensated ) @@ -383,29 +367,9 @@ void ivas_agc_enc_process( break; } -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - if ( pState->gain_state[i].gainExpVal > currMaxAttExp ) - { - pState->gain_data[i].gainException = TRUE; - - if ( pState->gain_state[i].gainExpVal == gainExpValMaxRange ) - { - extendedExpVal = TRUE; - if ( isCompensated ) - { - pState->gain_data[i].gainException = FALSE; - } - } - break; - } -#endif } } -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - if ( !pState->gain_data[i].gainException ) - { -#endif for ( idx = 0; idx < input_frame; idx++ ) { if ( idx < offset ) @@ -421,32 +385,11 @@ void ivas_agc_enc_process( } pState->gain_state[i].lastGain *= powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - } - else - { - pState->gain_state[i].gainExpVal = (int16_t) ( -floorf( -logf( ( actualMaxAbsVal + pState->minDelta ) * MDFT_NORM_SCALING ) * INV_LOG_2 ) ); - pState->gain_state[i].gainExpVal = min( gainExpValMaxRange, pState->gain_state[i].gainExpVal ); - - gain = powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); - for ( idx = 0; idx < input_frame; idx++ ) - { - ppPcm_out[i][idx] *= gain; - } - pState->gain_state[i].lastGain *= gain; - } -#endif /*safety check starts*/ if ( pState->gain_state[i].gainExpVal == pState->agc_com.maxAttExp + 1 ) { extendedExpVal = TRUE; } -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - else if ( pState->gain_state[i].gainExpVal == 0 ) - { - pState->gain_data[i].gainException = FALSE; - } -#endif /*safety check ends*/ pState->gain_state[i].prevExp = pState->gain_state[i].lastExp; @@ -455,39 +398,15 @@ void ivas_agc_enc_process( if ( extendedExpVal ) { -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - if ( !pState->gain_data[i].gainException ) - { - pState->gain_data[i].gainException = TRUE; -#endif pState->gain_state[i].gainExpVal = -1; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - } - else - { - if ( pState->gain_state[i].gainExpVal == gainExpValMaxRange ) - { - pState->gain_state[i].gainExpVal = 0; - } - } -#endif } } pState->gain_data[i].absGainExp = pState->gain_state[i].prevExp + pState->agc_com.absEmin; if ( extendedExpVal -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - && pState->gain_data[i].gainException -#endif && pState->gain_state[i].gainExpVal <= 0 ) { -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - if ( pState->gain_state[i].gainExpVal == -1 ) - { - pState->gain_data[i].gainException = FALSE; - } -#endif pState->gain_state[i].gainExpVal = pState->agc_com.maxAttExp + 1; } @@ -528,9 +447,6 @@ void ivas_agc_enc_process( if ( per_ch_bit[i] == 1 ) { push_next_indice( hMetaData, (uint16_t) pState->gain_data[i].absGainExpCurr, (int16_t) pState->agc_com.betaE ); -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - assert( pState->gain_data[i].gainException == FALSE ); -#endif } } } @@ -567,10 +483,6 @@ static int16_t ivas_agc_writeBits( FILE *stream, const int16_t n_channels, ivas_ fwrite( &( pState->gain_data[i].absGainExpCurr ), sizeof( int32_t ), 1, stream ); /* n bits */ num_bits += pState->agc_com.betaE; -#ifndef CLEANUP_185_NO_AGC_EXCEPTION - fwrite( &( pState->gain_data[i].gainException ), sizeof( int16_t ), 1, stream ); /* 1 bit */ - num_bits++; -#endif num_dmx_bits[i]++; /*fprintf(stdout, "absGainExpCurr[%d]:= %d[%d bits]; ", i, pState->gain_data[i].absGainExpCurr, pState->betaE); */ -- GitLab From 239778f460fea590a032d8f4e3e5fb3e2385109f Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:49:48 +0100 Subject: [PATCH 299/620] [cleanup] accept FIX_I220_PARAMMC_CPROTO --- lib_com/options.h | 1 - lib_dec/ivas_mc_param_dec.c | 4 ---- 2 files changed, 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 49b3897671..19029d22e7 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_I220_PARAMMC_CPROTO /* Issue 220: sanitizer error in the svd due to NaNs coming from negative energies in Cproto */ #define FIX_221_BR_SWITCH_STEREO /* Issue 221: Fix missing initialization when switchin from TD to MDCT stereo*/ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ #define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 90dee22031..7557fed214 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -1564,7 +1564,6 @@ static void ivas_param_mc_get_mixing_matrices( matrix_product( mat_mult_buffer1, nY_intern, nX, 0, hParamMC->proto_matrix_int, nY_intern, nX, 1, Cproto ); -#ifdef FIX_I220_PARAMMC_CPROTO for ( ch_idx1 = 0; ch_idx1 < nY_intern; ch_idx1++ ) { if ( Cproto[ch_idx1 + ch_idx1 * nY_intern] < 0.0f ) @@ -1572,7 +1571,6 @@ static void ivas_param_mc_get_mixing_matrices( Cproto[ch_idx1 + ch_idx1 * nY_intern] = 0.0f; } } -#endif ivas_param_mc_dequantize_cov( hParamMC, hParamMC->icld_q + param_band_idx * hParamMC->hMetadataPMC->ild_mapping_conf->ild_map_size_lfe, @@ -1614,7 +1612,6 @@ static void ivas_param_mc_get_mixing_matrices( matrix_product_diag( mat_mult_buffer1, nY_band, nX, 0, proto_matrix_ptr, nY_band, nX, 1, Cproto_diag ); -#ifdef FIX_I220_PARAMMC_CPROTO /* make sure we have no negative entries in Cproto_diag due to rounding errors */ for ( ch_idx1 = 0; ch_idx1 < nY_band; ch_idx1++ ) { @@ -1623,7 +1620,6 @@ static void ivas_param_mc_get_mixing_matrices( Cproto_diag[ch_idx1] = 0.0f; } } -#endif /* Computing the mixing matrices */ -- GitLab From 32d0a3c0af10574a12c1c60ffc84cc6c87d55ab8 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:50:29 +0100 Subject: [PATCH 300/620] [cleanup] accept FIX_221_BR_SWITCH_STEREO --- lib_com/options.h | 1 - lib_dec/ivas_stereo_switching_dec.c | 14 -------------- lib_enc/ivas_stereo_switching_enc.c | 6 ------ 3 files changed, 21 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 19029d22e7..1d6f2c2a63 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_221_BR_SWITCH_STEREO /* Issue 221: Fix missing initialization when switchin from TD to MDCT stereo*/ #define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ #define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 83eb0c23e4..1ba74c1c69 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1469,24 +1469,12 @@ void stereo_switching_dec( { sts[1]->last_core = sts[0]->last_core; sts[1]->last_coder_type = sts[0]->last_coder_type; -#ifndef FIX_221_BR_SWITCH_STEREO - sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; - sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; -#endif mvr2r( sts[0]->hHQ_core->old_out, sts[1]->hHQ_core->old_out, L_FRAME48k ); mvr2r( sts[0]->delay_buf_out, sts[1]->delay_buf_out, HQ_DELTA_MAX * HQ_DELAY_COMP ); mvr2r( sts[0]->hTcxDec->old_syn_Overl, sts[1]->hTcxDec->old_syn_Overl, 256 ); /* Todo: apply panning to buffers instead of simply using dmx in left and right channel */ -#ifndef FIX_221_BR_SWITCH_STEREO - sts[1]->fscale = sts[0]->fscale; - sts[1]->hTcxCfg->tcx_mdct_window_length = sts[0]->hTcxCfg->tcx_mdct_window_length; - sts[1]->pit_res_max = sts[0]->pit_res_max; - sts[1]->pit_res_max_past = sts[0]->pit_res_max_past; - sts[1]->hTcxDec->L_frameTCX = sts[0]->hTcxDec->L_frameTCX; - sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; -#endif } } else if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_MDCT ) @@ -1495,7 +1483,6 @@ void stereo_switching_dec( set_f( sts[1]->old_exc, 0.0f, L_EXC_MEM_DEC ); } -#ifdef FIX_221_BR_SWITCH_STEREO /* TD/DFT -> MDCT stereo switching (there is no TCX in the TD stereo secondary channel, or DFT stereo) */ if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode != IVAS_CPE_MDCT ) { @@ -1508,7 +1495,6 @@ void stereo_switching_dec( sts[1]->hTcxDec->L_frameTCX = sts[0]->hTcxDec->L_frameTCX; sts[1]->hTcxDec->conceal_eof_gain = sts[0]->hTcxDec->conceal_eof_gain; } -#endif return; } diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 66f7c8fcd9..59adc49fef 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -815,10 +815,6 @@ void stereo_switching_enc( sts[1]->last_core = sts[0]->last_core; sts[1]->last_coder_type = sts[0]->last_coder_type; sts[1]->last_bwidth = sts[0]->last_bwidth; -#ifndef FIX_221_BR_SWITCH_STEREO - sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; - sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; -#endif } } else if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_MDCT ) @@ -827,14 +823,12 @@ void stereo_switching_enc( set_f( sts[1]->hLPDmem->old_exc, 0.0f, L_EXC_MEM ); } -#ifdef FIX_221_BR_SWITCH_STEREO /* TD/DFT -> MDCT stereo switching (there is no TCX in the TD stereo secondary channel, or DFT stereo) */ if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode != IVAS_CPE_MDCT ) { sts[1]->hTcxCfg->last_aldo = sts[0]->hTcxCfg->last_aldo; sts[1]->hTcxCfg->tcx_curr_overlap_mode = sts[0]->hTcxCfg->tcx_curr_overlap_mode; } -#endif return; } -- GitLab From b814dd8ab4a4af89643a270ff1076484647baeb2 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:51:09 +0100 Subject: [PATCH 301/620] [cleanup] accept FIX_DTX_RANGE --- lib_com/ivas_prot.h | 2 -- lib_com/options.h | 1 - lib_com/prot.h | 2 -- lib_enc/amr_wb_enc.c | 4 ---- lib_enc/dtx.c | 19 ------------------- lib_enc/ivas_core_pre_proc_front.c | 6 ------ lib_enc/ivas_cpe_enc.c | 2 -- lib_enc/ivas_front_vad.c | 4 ---- lib_enc/ivas_ism_enc.c | 2 -- lib_enc/ivas_sce_enc.c | 2 -- lib_enc/lib_enc.c | 8 -------- lib_enc/pre_proc.c | 4 ---- 12 files changed, 56 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 8d190886e9..c09adab6c8 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -205,9 +205,7 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ -#ifdef FIX_DTX_RANGE ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ -#endif ); ivas_error pre_proc_ivas( diff --git a/lib_com/options.h b/lib_com/options.h index 1d6f2c2a63..eb71459f53 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_DTX_RANGE /* Issue 118: fix the DTX usage: default DTX up to 64 kbps, otherwise only in silence */ #define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ diff --git a/lib_com/prot.h b/lib_com/prot.h index 0800ac92f5..04b4269612 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3898,9 +3898,7 @@ void td_cng_enc_init( void dtx( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef FIX_DTX_RANGE const int32_t ivas_total_brate, /* i : IVAS total bitrate */ -#endif const int16_t vad, /* i : VAD flag for DTX */ const float speech[] /* i : Pointer to the speech frame */ ); diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 68903a62da..c73e5a8949 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -316,11 +316,7 @@ void amr_wb_enc( st->fd_cng_reset_flag = 0; } -#ifdef FIX_DTX_RANGE dtx( st, -1, vad_flag_dtx, inp ); -#else - dtx( st, vad_flag_dtx, inp ); -#endif /*----------------------------------------------------------------* * Noise energy down-ward update and total noise energy estimation diff --git a/lib_enc/dtx.c b/lib_enc/dtx.c index 1e80dfaf06..2f84db283a 100644 --- a/lib_enc/dtx.c +++ b/lib_enc/dtx.c @@ -63,10 +63,8 @@ #define LTE_VAR -4.0f -#ifdef FIX_DTX_RANGE #define MAX_BRATE_DTX_EVS ACELP_24k40 /* maximum bitrate to which the default DTX is applied in EVS; otherwise DTX is applied only in silence */ #define MAX_BRATE_DTX_IVAS IVAS_64k /* maximum bitrate to which the default DTX is applied in IVAS; otherwise DTX is applied only in silence */ -#endif /*-------------------------------------------------------------------* * Local function prototypes @@ -82,9 +80,7 @@ static void update_SID_cnt( DTX_ENC_HANDLE hDtxEnc, const int32_t core_brate, co void dtx( Encoder_State *st, /* i/o: encoder state structure */ -#ifdef FIX_DTX_RANGE const int32_t ivas_total_brate, /* i : IVAS total bitrate */ -#endif const int16_t vad, /* i : VAD flag for DTX */ const float speech[] /* i : Pointer to the speech frame */ ) @@ -103,15 +99,9 @@ void dtx( } else { -#ifdef FIX_DTX_RANGE last_br_cng_flag = st->last_total_brate_cng <= MAX_BRATE_DTX_EVS || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->last_total_brate_cng <= MAX_BRATE_DTX_IVAS ); last_br_flag = st->last_total_brate <= MAX_BRATE_DTX_EVS || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->last_total_brate <= MAX_BRATE_DTX_IVAS ); -#else - last_br_cng_flag = st->last_total_brate_cng <= ACELP_24k40 || st->lp_noise < 15 || ( ( st->element_mode == IVAS_SCE ) && st->last_total_brate_cng <= ACELP_32k ); - - last_br_flag = st->last_total_brate <= ACELP_24k40 || st->lp_noise < 15 || ( ( st->element_mode == IVAS_SCE ) && st->last_total_brate <= ACELP_32k ); -#endif br_dtx_flag = 0; } @@ -187,14 +177,9 @@ void dtx( if ( st->dtx_sce_sba == 0 ) { -#ifdef FIX_DTX_RANGE br_dtx_flag = ( st->element_mode == EVS_MONO && st->total_brate <= MAX_BRATE_DTX_EVS ) || ( st->element_mode != EVS_MONO && ivas_total_brate <= MAX_BRATE_DTX_IVAS ) || st->lp_noise < 15; -#else - br_dtx_flag = st->total_brate <= ACELP_24k40 || st->lp_noise < 15 || ( st->element_mode == IVAS_SCE && st->total_brate <= ACELP_32k ) || - st->element_mode == IVAS_CPE_DFT || ( st->element_mode == IVAS_CPE_MDCT && ( st->element_brate <= IVAS_64k || st->lp_noise < 15 ) ); -#endif } if ( st->Opt_DTX_ON && vad == 0 && @@ -254,11 +239,7 @@ void dtx( } else { -#ifdef FIX_DTX_RANGE if ( ( st->cng_type == FD_CNG && ( st->total_brate <= MAX_BRATE_DTX_EVS || ( st->element_mode == IVAS_SCE && ivas_total_brate <= MAX_BRATE_DTX_IVAS ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ -#else - if ( ( st->cng_type == FD_CNG && ( st->total_brate <= ACELP_24k40 || ( st->element_mode == IVAS_SCE && st->total_brate <= ACELP_32k ) ) ) || ( st->element_mode == IVAS_CPE_MDCT ) ) /* at highest bitrates, use exclusively LP_CNG */ -#endif { if ( st->element_mode == EVS_MONO && ( st->total_brate == ACELP_9k60 || st->total_brate == ACELP_16k40 || st->total_brate == ACELP_24k40 ) ) { diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index e38f81a79f..828fdf17a1 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -101,10 +101,8 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ -#ifdef FIX_DTX_RANGE , const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ -#endif ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ @@ -556,11 +554,7 @@ ivas_error pre_proc_front_ivas( st->cng_type = LP_CNG; } -#ifdef FIX_DTX_RANGE dtx( st, ivas_total_brate, *vad_flag_dtx, inp_12k8 ); -#else - dtx( st, *vad_flag_dtx, inp_12k8 ); -#endif #ifdef FIX_ITD_CNG if ( hCPE != NULL && hCPE->hStereoDft != NULL && st->core_brate == SID_2k40 ) diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 8295171f9f..d4573396bc 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -437,10 +437,8 @@ ivas_error ivas_cpe_enc( error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0 -#ifdef FIX_DTX_RANGE , ivas_total_brate -#endif ); if ( error != IVAS_ERR_OK ) { diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 89d073aeba..cc2a4b08d8 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -438,11 +438,7 @@ ivas_error front_vad_spar( noise_est_down( fr_bands[0], hFrontVad->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &hFrontVad->hNoiseEst->totalNoise, Etot[0], &hFrontVad->hNoiseEst->Etot_last, &hFrontVad->hNoiseEst->Etot_v_h2 ); corr_shift = correlation_shift( hFrontVad->hNoiseEst->totalNoise ); -#ifdef FIX_DTX_RANGE dtx( st, hEncoderConfig->ivas_total_brate, vad_flag_dtx[0], inp_12k8 ); -#else - dtx( st, vad_flag_dtx[0], inp_12k8 ); -#endif /* linear prediction analysis */ alw_pitch_lag_12k8[0] = st->old_pitch_la; diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index a8090a68fd..7b5d9d5b61 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -151,10 +151,8 @@ ivas_error ivas_ism_enc( &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0 -#ifdef FIX_DTX_RANGE , st_ivas->hEncoderConfig->ivas_total_brate -#endif ); if ( error != IVAS_ERR_OK ) { diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index ba0c27ddd1..40351f6cf0 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -186,10 +186,8 @@ ivas_error ivas_sce_enc( &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0 -#ifdef FIX_DTX_RANGE , st_ivas->hEncoderConfig->ivas_total_brate -#endif ); if ( error != IVAS_ERR_OK ) { diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 3596650e1a..4325ef1269 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -872,20 +872,12 @@ static ivas_error configureEncoder( return IVAS_ERROR( IVAS_ERR_INVALID_SAMPLING_RATE, "8kHz input sampling rate is not supported in IVAS." ); } -#ifdef FIX_DTX_RANGE if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && ( ( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp > 1 ) || // ToDo: see Issue 113 ( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate > IVAS_128k ) || // ToDo: remove the bitrate limitation ( hEncoderConfig->ivas_format == SBA_FORMAT && ivas_get_sba_num_TCs( hEncoderConfig->ivas_total_brate, 1 ) > 2 ) || // ToDo: support for 3+ TCs to be done hEncoderConfig->ivas_format == MC_FORMAT // ToDo: TBD ) ) -#else - if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_format != MONO_FORMAT && - !( hEncoderConfig->ivas_format == MASA_FORMAT && hEncoderConfig->ivas_total_brate <= IVAS_128k ) && - hEncoderConfig->ivas_format != SBA_FORMAT && - ( hEncoderConfig->element_mode_init != IVAS_CPE_DFT && hEncoderConfig->element_mode_init != IVAS_CPE_TD ) && !( hEncoderConfig->ivas_format == ISM_FORMAT && hEncoderConfig->nchan_inp == 1 ) && - hEncoderConfig->element_mode_init != IVAS_CPE_MDCT ) -#endif { return IVAS_ERROR( IVAS_ERR_DTX_NOT_SUPPORTED, "DTX is not supported in this IVAS format and element mode." ); } diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index 9729dd6d54..7fb89690f1 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -256,11 +256,7 @@ void pre_proc( * Select SID or FRAME_NO_DATA frame if DTX enabled *-----------------------------------------------------------------*/ -#ifdef FIX_DTX_RANGE dtx( st, -1, vad_flag_dtx, inp_12k8 ); -#else - dtx( st, vad_flag_dtx, inp_12k8 ); -#endif /*----------------------------------------------------------------* * Adjust FD-CNG Noise Estimator -- GitLab From 1361aa526089ac584746a51585ead84033f75503 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:52:17 +0100 Subject: [PATCH 302/620] [cleanup] accept FIX_ISM_METADATA_READER --- lib_com/ivas_error.h | 2 -- lib_com/options.h | 1 - lib_enc/lib_enc.c | 2 -- lib_util/ism_file_reader.c | 10 ---------- 4 files changed, 15 deletions(-) diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index 35e1ac8e8b..07458f6b38 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -83,9 +83,7 @@ typedef enum IVAS_ERR_NOT_IMPLEMENTED, IVAS_ERR_FILE_READER_TIMESTAMP_MISMATCH, IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT, -#ifdef FIX_ISM_METADATA_READER IVAS_ERR_ISM_INVALID_METADATA_VALUE, -#endif IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE, #ifdef DEBUGGING IVAS_ERR_INVALID_FORCE_MODE, diff --git a/lib_com/options.h b/lib_com/options.h index eb71459f53..c7a02d2f02 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_ISM_METADATA_READER /* Issue 211: make ISM metadata file reader robust against invalid files */ #define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 4325ef1269..40cbcc1298 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -1394,10 +1394,8 @@ const char *IVAS_ENC_GetErrorMessage( return "mismatched timestamp"; case IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT: return "invalid metadata format"; -#ifdef FIX_ISM_METADATA_READER case IVAS_ERR_ISM_INVALID_METADATA_VALUE: return "invalid metadata value provided"; -#endif case IVAS_ERR_FAILED_FILE_READ: return "could not read from file"; case IVAS_ERR_NOT_SUPPORTED_OPTION: diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c index cc93501571..b511b30499 100644 --- a/lib_util/ism_file_reader.c +++ b/lib_util/ism_file_reader.c @@ -31,9 +31,7 @@ *******************************************************************************************************/ #include "ism_file_reader.h" -#ifdef FIX_ISM_METADATA_READER #include "cmdl_tools.h" -#endif #include <stdio.h> #include <stdlib.h> #include <string.h> @@ -117,20 +115,16 @@ ivas_error IsmFileReader_readNextFrame( char_ptr = strtok( char_buff, "," ); i = 0; meta_prm[i++] = (float) atof( char_ptr ); -#ifdef FIX_ISM_METADATA_READER if ( is_number( char_ptr ) == false ) { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#endif while ( ( char_ptr = strtok( NULL, "," ) ) != NULL && i < NUM_ISM_METADATA_PER_LINE ) { -#ifdef FIX_ISM_METADATA_READER if ( is_number( char_ptr ) == false ) { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#endif meta_prm[i++] = (float) atof( char_ptr ); } @@ -141,13 +135,11 @@ ivas_error IsmFileReader_readNextFrame( return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; } -#ifdef FIX_ISM_METADATA_READER if ( char_ptr != NULL ) { /* Too many values provided in one line */ return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; } -#endif ismMetadata->azimuth = meta_prm[0]; ismMetadata->elevation = meta_prm[1]; @@ -155,7 +147,6 @@ ivas_error IsmFileReader_readNextFrame( ismMetadata->spread = meta_prm[3]; ismMetadata->gainFactor = meta_prm[4]; -#ifdef FIX_ISM_METADATA_READER /* verify whether the read metadata values are in an expected range */ if ( ismMetadata->azimuth > 180 || ismMetadata->azimuth < -180 ) { @@ -181,7 +172,6 @@ ivas_error IsmFileReader_readNextFrame( { return IVAS_ERR_ISM_INVALID_METADATA_VALUE; } -#endif return IVAS_ERR_OK; } -- GitLab From a961d61973ab6326ff622999604c421481f40ee8 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:53:08 +0100 Subject: [PATCH 303/620] [cleanup] accept FIX_ISM_METADATA_READER --- lib_com/delay_comp.c | 8 -------- lib_com/options.h | 1 - lib_com/prot.h | 4 ---- lib_dec/lib_dec.c | 4 ---- lib_enc/lib_enc.c | 4 ---- 5 files changed, 21 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index dddc100f58..4bcac1555e 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -50,11 +50,7 @@ *--------------------------------------------------------------------------*/ /*! r: delay value in ns */ -#ifdef FIX_GET_DELAY_RETURN int32_t get_delay( -#else -float get_delay( -#endif const int16_t enc_dec, /* i : encoder/decoder flag */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ @@ -63,11 +59,7 @@ float get_delay( const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ ) { -#ifdef FIX_GET_DELAY_RETURN int32_t delay = 0; -#else - float delay = 0; -#endif if ( enc_dec == ENC ) { diff --git a/lib_com/options.h b/lib_com/options.h index c7a02d2f02..05728894e9 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_GET_DELAY_RETURN /* Issue 223: change return data type in function get_delay() */ #define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_ITD_CNG /* Eri Contribution 11: Fix for CNG ITD */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 04b4269612..ec039cd894 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -712,11 +712,7 @@ int16_t lev_dur( ); /*! r: delay value in ns */ -#ifdef FIX_GET_DELAY_RETURN int32_t get_delay( -#else -float get_delay( -#endif const int16_t enc_dec, /* i : encoder/decoder flag */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index ea24c7b72d..d45527b740 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1055,11 +1055,7 @@ ivas_error IVAS_DEC_GetDelay( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; -#ifdef FIX_GET_DELAY_RETURN *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) ); -#else - *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); -#endif *timeScale = hDecoderConfig->output_Fs; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 40cbcc1298..b4eb85915e 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -951,11 +951,7 @@ ivas_error IVAS_ENC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef FIX_GET_DELAY_RETURN *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) ); -#else - *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ) ); -#endif *delay *= hEncoderConfig->nchan_inp; -- GitLab From 7c42ab5f20abccc3676e813f4af6a339cb052829 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:53:47 +0100 Subject: [PATCH 304/620] [cleanup] accept NTT_REDUC_COMP_POC --- lib_com/options.h | 1 - lib_enc/ivas_stereo_dmx_evs.c | 83 ----------------------------------- 2 files changed, 84 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 05728894e9..9dc8ab44c8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define NTT_REDUC_COMP_POC /* NTT Contribution 10: Complexity reduction of phase spectrum in stereo downmix*/ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_ITD_CNG /* Eri Contribution 11: Fix for CNG ITD */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ diff --git a/lib_enc/ivas_stereo_dmx_evs.c b/lib_enc/ivas_stereo_dmx_evs.c index b0ec2f1c8e..e522912cc7 100644 --- a/lib_enc/ivas_stereo_dmx_evs.c +++ b/lib_enc/ivas_stereo_dmx_evs.c @@ -156,7 +156,6 @@ static void calc_poc( float *P; float tmp1, tmp2, Lr, Li, Rr, Ri, gamma, igamma, iN; -#ifdef NTT_REDUC_COMP_POC float specPOr[L_FRAME48k / 2 + 1], specPOi[L_FRAME48k / 2]; /*real and imaginary values for searching phase angle*/ float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; float rfft_buf[L_FRAME48k]; @@ -164,13 +163,6 @@ static void calc_poc( int16_t mult_angle; int16_t j; int16_t end; -#else - float specPOr[L_FRAME48k], specPOi[L_FRAME48k]; - float tmpPOC1[L_FRAME48k], tmpPOC2[L_FRAME48k]; - float rfft_buf[L_FRAME48k]; - int16_t step, bias; - int16_t i_for; -#endif int16_t cos_step, cos_max; float eps_cos, eps_sin, EPS; @@ -186,7 +178,6 @@ static void calc_poc( igamma = STEREO_DMX_EVS_POC_GAMMA * iN; gamma = 1.0f - igamma; -#ifdef NTT_REDUC_COMP_POC /*apploximation of phase angle on an unit circle without using sqrt()*/ step = 1; bias = 0; @@ -346,80 +337,6 @@ static void calc_poc( } specPOr[n0] = sign( specLr[n0] * specRr[n0] ) * wnd[i * step + bias] * gamma; -#else /*NTT_REDUC_COMP_POC*/ - if ( input_frame == L_FRAME16k ) - { - step = 3; - bias = 1; - } - else - { - step = 1; - bias = 0; - } - - specPOr[0] = sign( specLr[0] ) * sign( specRr[0] ) * wnd[bias]; - specPOi[0] = 0.0f; - - EPS = hPOC->eps; - - if ( input_frame == L_FRAME16k ) - { - cos_step = 4; - cos_max = input_frame; - } - else /* for 32 kHz & 48 kHz */ - { - cos_step = 2; - cos_max = n0; - } - for ( i = 1; i < n0 / 2; i++ ) - { - Lr = specLr[i]; - Li = specLi[i]; - Rr = specRr[i]; - Ri = specRi[i]; - i_for = i * cos_step; - eps_cos = s[cos_max - i_for] * EPS; - eps_sin = s[i_for] * EPS; - Lr += ( specRr[i] * eps_cos + specRi[i] * eps_sin ); - Li += ( -specRr[i] * eps_sin + specRi[i] * eps_cos ); - Rr += ( specLr[i] * eps_cos + specLi[i] * eps_sin ); - Ri += ( -specLr[i] * eps_sin + specLi[i] * eps_cos ); - - tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); - - specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1; - specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1; - - gamma -= igamma; - } - - for ( i = n0 >> 1; i < n0; i++ ) - { - Lr = specLr[i]; - Li = specLi[i]; - Rr = specRr[i]; - Ri = specRi[i]; - - i_for = ( n0 - i ) * cos_step; - eps_cos = s[cos_max - i_for] * EPS; - eps_sin = s[i_for] * EPS; - - Lr += ( -specRr[i] * eps_cos + specRi[i] * eps_sin ); - Li += ( -specRr[i] * eps_sin - specRi[i] * eps_cos ); - Rr += ( -specLr[i] * eps_cos + specLi[i] * eps_sin ); - Ri += ( -specLr[i] * eps_sin - specLi[i] * eps_cos ); - - tmp1 = wnd[i * step + bias] * gamma / ( sqrtf( ( ( Lr * Lr + Li * Li ) ) * ( ( Rr * Rr + Ri * Ri ) ) ) + EPS ); - - specPOr[i] = ( Lr * Rr + Li * Ri ) * tmp1; - specPOi[i] = ( Lr * Ri - Li * Rr ) * tmp1; - gamma -= igamma; - } - - specPOr[n0] = sign( specLr[i] ) * sign( specRr[i] ) * wnd[i * step + bias] * gamma; -#endif rfft_buf[0] = specPOr[0]; rfft_buf[1] = specPOr[n0]; -- GitLab From 9951b0d30d894da57f862b4cebf156d7be503be5 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Tue, 6 Dec 2022 22:59:51 +0100 Subject: [PATCH 305/620] formatting --- apps/decoder.c | 4 +-- apps/renderer.c | 6 ++--- lib_com/common_api_types.h | 8 +++--- lib_com/prot.h | 6 ++--- lib_dec/ivas_agc_dec.c | 38 ++++++++++++++--------------- lib_dec/ivas_stereo_switching_dec.c | 1 - lib_enc/dtx.c | 6 ++--- lib_enc/ivas_agc_enc.c | 31 +++++++++++------------ lib_enc/ivas_cpe_enc.c | 6 ++--- lib_enc/ivas_ism_enc.c | 6 ++--- lib_enc/ivas_sce_enc.c | 6 ++--- lib_rend/ivas_crend.c | 1 - lib_rend/ivas_objectRenderer.c | 13 +++++----- lib_rend/ivas_rotation.c | 26 ++++++++++---------- 14 files changed, 72 insertions(+), 86 deletions(-) mode change 100755 => 100644 lib_com/prot.h diff --git a/apps/decoder.c b/apps/decoder.c index 0e98b0b1f2..6396e3ab94 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -70,8 +70,8 @@ static #endif int32_t frame = 0; /* Counter of frames */ -#define MIN_NUM_BITS_ACTIVE_FRAME 56 -#define NUM_BITS_SID_IVAS_5K2 104 +#define MIN_NUM_BITS_ACTIVE_FRAME 56 +#define NUM_BITS_SID_IVAS_5K2 104 #define MAX_FRAME_SIZE ( 48000 / 50 ) #define MAX_NUM_OUTPUT_CHANNELS 16 #define MAX_OUTPUT_PCM_BUFFER_SIZE ( MAX_NUM_OUTPUT_CHANNELS * MAX_FRAME_SIZE ) diff --git a/apps/renderer.c b/apps/renderer.c index 1d438e35dd..8682232fa0 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -425,10 +425,8 @@ static int16_t getTotalNumInChannels( IVAS_REND_HANDLE hIvasRend, IVAS_REND_InputId mcIds[RENDERER_MAX_MC_INPUTS], IVAS_REND_InputId ismIds[RENDERER_MAX_ISM_INPUTS], - IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS] - , - IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS] -) + IVAS_REND_InputId sbaIds[RENDERER_MAX_SBA_INPUTS], + IVAS_REND_InputId masaIds[RENDERER_MAX_MASA_INPUTS] ) { int16_t totalNumInChannels = 0; int16_t i, numInputChannels; diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index fafd3e0af6..fa14ecff23 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -43,10 +43,10 @@ * Common API constants *----------------------------------------------------------------------------------*/ -#define IVAS_MAX_BITS_PER_FRAME ( 512000 / 50 ) -#define IVAS_MAX_NUM_OBJECTS 4 -#define IVAS_MAX_OUTPUT_CHANNELS 16 -#define IVAS_CLDFB_NO_CHANNELS_MAX ( 60 ) +#define IVAS_MAX_BITS_PER_FRAME ( 512000 / 50 ) +#define IVAS_MAX_NUM_OBJECTS 4 +#define IVAS_MAX_OUTPUT_CHANNELS 16 +#define IVAS_CLDFB_NO_CHANNELS_MAX ( 60 ) #define IVAS_MAX_INPUT_LFE_CHANNELS 4 /*----------------------------------------------------------------------------------* diff --git a/lib_com/prot.h b/lib_com/prot.h old mode 100755 new mode 100644 index ec039cd894..973f15ef5a --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3893,10 +3893,10 @@ void td_cng_enc_init( ); void dtx( - Encoder_State *st, /* i/o: encoder state structure */ + Encoder_State *st, /* i/o: encoder state structure */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t vad, /* i : VAD flag for DTX */ - const float speech[] /* i : Pointer to the speech frame */ + const int16_t vad, /* i : VAD flag for DTX */ + const float speech[] /* i : Pointer to the speech frame */ ); void dtx_hangover_control( diff --git a/lib_dec/ivas_agc_dec.c b/lib_dec/ivas_agc_dec.c index 1e98dd4dd4..827915efc2 100644 --- a/lib_dec/ivas_agc_dec.c +++ b/lib_dec/ivas_agc_dec.c @@ -198,32 +198,32 @@ void ivas_agc_dec_process( pState->gain_state[i].lastGain = powf( pState->agc_com.winFunc[offset - 1], ( -1.f * (float) ( pState->gain_data[i].absGainExp - pState->agc_com.absEmin ) ) ); gainLast = 1.f / pState->gain_state[i].lastGain; - if ( pState->gain_state[i].gainExpVal != 0 ) + if ( pState->gain_state[i].gainExpVal != 0 ) + { + for ( idx = 0; idx < output_frame; idx++ ) { - for ( idx = 0; idx < output_frame; idx++ ) + if ( idx >= pState->agc_com.in_delay ) + { + gain = powf( pState->agc_com.winFunc[idx - pState->agc_com.in_delay], (float) ( -1 * pState->gain_state[i].gainExpVal ) ) * gainLast; + } + else { - if ( idx >= pState->agc_com.in_delay ) - { - gain = powf( pState->agc_com.winFunc[idx - pState->agc_com.in_delay], (float) ( -1 * pState->gain_state[i].gainExpVal ) ) * gainLast; - } - else - { - gain = gainLast; - } - - pcm_out[i][idx] = pcm_in[i][idx] * gain; + gain = gainLast; } - pState->gain_state[i].lastGain *= powf( pState->agc_com.winFunc[offset - 1], (float) pState->gain_state[i].gainExpVal ); + pcm_out[i][idx] = pcm_in[i][idx] * gain; } - else + + pState->gain_state[i].lastGain *= powf( pState->agc_com.winFunc[offset - 1], (float) pState->gain_state[i].gainExpVal ); + } + else + { + gain = gainLast; + for ( idx = 0; idx < output_frame; idx++ ) { - gain = gainLast; - for ( idx = 0; idx < output_frame; idx++ ) - { - pcm_out[i][idx] = pcm_in[i][idx] * gain; - } + pcm_out[i][idx] = pcm_in[i][idx] * gain; } + } pState->gain_data[i].absGainExp = pState->gain_data[i].absGainExpCurr; } diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 1ba74c1c69..56c1cfef54 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -1474,7 +1474,6 @@ void stereo_switching_dec( mvr2r( sts[0]->delay_buf_out, sts[1]->delay_buf_out, HQ_DELTA_MAX * HQ_DELAY_COMP ); mvr2r( sts[0]->hTcxDec->old_syn_Overl, sts[1]->hTcxDec->old_syn_Overl, 256 ); /* Todo: apply panning to buffers instead of simply using dmx in left and right channel */ - } } else if ( hCPE->element_mode == IVAS_CPE_TD && hCPE->last_element_mode == IVAS_CPE_MDCT ) diff --git a/lib_enc/dtx.c b/lib_enc/dtx.c index 2f84db283a..4d05245dba 100644 --- a/lib_enc/dtx.c +++ b/lib_enc/dtx.c @@ -79,10 +79,10 @@ static void update_SID_cnt( DTX_ENC_HANDLE hDtxEnc, const int32_t core_brate, co *-------------------------------------------------------------------*/ void dtx( - Encoder_State *st, /* i/o: encoder state structure */ + Encoder_State *st, /* i/o: encoder state structure */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t vad, /* i : VAD flag for DTX */ - const float speech[] /* i : Pointer to the speech frame */ + const int16_t vad, /* i : VAD flag for DTX */ + const float speech[] /* i : Pointer to the speech frame */ ) { float alpha; diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index 4ccb262313..d8d0f1f772 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -320,8 +320,7 @@ void ivas_agc_enc_process( if ( !isGainAdjusted ) { float actualMaxAbsVal = 0.f; - int16_t currMaxAttExp - ; + int16_t currMaxAttExp; currMaxAttExp = min( ( pState->gain_state[i].lastExp + pState->agc_com.absEmin ), pState->agc_com.maxAttExp ); extendedExpVal = FALSE; @@ -366,25 +365,24 @@ void ivas_agc_enc_process( pState->gain_state[i].gainExpVal = min( pState->gain_state[i].gainExpVal, currMaxAttExp ); break; } - } } - for ( idx = 0; idx < input_frame; idx++ ) + for ( idx = 0; idx < input_frame; idx++ ) + { + if ( idx < offset ) + { + gain = powf( pState->agc_com.winFunc[idx], pState->gain_state[i].gainExpVal ); + } + else { - if ( idx < offset ) - { - gain = powf( pState->agc_com.winFunc[idx], pState->gain_state[i].gainExpVal ); - } - else - { - gain = powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); - } - ppPcm_out[i][idx] *= gain; + gain = powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); } + ppPcm_out[i][idx] *= gain; + } - pState->gain_state[i].lastGain *= powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); + pState->gain_state[i].lastGain *= powf( pState->agc_com.winFunc[offset - 1], pState->gain_state[i].gainExpVal ); /*safety check starts*/ if ( pState->gain_state[i].gainExpVal == pState->agc_com.maxAttExp + 1 ) { @@ -398,14 +396,13 @@ void ivas_agc_enc_process( if ( extendedExpVal ) { - pState->gain_state[i].gainExpVal = -1; + pState->gain_state[i].gainExpVal = -1; } } pState->gain_data[i].absGainExp = pState->gain_state[i].prevExp + pState->agc_com.absEmin; - if ( extendedExpVal - && pState->gain_state[i].gainExpVal <= 0 ) + if ( extendedExpVal && pState->gain_state[i].gainExpVal <= 0 ) { pState->gain_state[i].gainExpVal = pState->agc_com.maxAttExp + 1; } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index d4573396bc..470d597b15 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -436,10 +436,8 @@ ivas_error ivas_cpe_enc( { error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], - fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0 - , - ivas_total_brate - ); + fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, + ivas_total_brate ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 7b5d9d5b61..39d5b42a07 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -150,10 +150,8 @@ ivas_error ivas_ism_enc( error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], - fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0 - , - st_ivas->hEncoderConfig->ivas_total_brate - ); + fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, + st_ivas->hEncoderConfig->ivas_total_brate ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 40351f6cf0..2a74fcf68d 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -185,10 +185,8 @@ ivas_error ivas_sce_enc( &Etot[0], &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, - st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0 - , - st_ivas->hEncoderConfig->ivas_total_brate - ); + st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, + st_ivas->hEncoderConfig->ivas_total_brate ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index cdd7b30218..f63d729dc7 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -1960,4 +1960,3 @@ ivas_error ivas_rend_crendConvolver( return IVAS_ERR_OK; } - diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 24959055ff..da4c10a888 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -57,8 +57,7 @@ static void TDREND_Clear_Update_flags( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRe static void TDREND_Update_listener_orientation( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, const int16_t headRotEnabled, - const IVAS_QUATERNION *headPosition -); + const IVAS_QUATERNION *headPosition ); static void TDREND_Update_object_positions( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, const int16_t numSources, const int16_t lfe_idx, @@ -410,10 +409,10 @@ static void TDREND_Clear_Update_flags( static void TDREND_Update_object_positions( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o : TD Renderer handle */ const int16_t numSources, /* i : Number of sources to render */ - const int16_t lfe_idx, /* i : Input LFE index */ - const IVAS_FORMAT in_format, /* i : Format of input sources */ - const ISM_METADATA_HANDLE *hIsmMetaData, /* i : Input metadata for ISM objects */ - float output[][L_FRAME48k] /* i/o: SCE/MC channels */ + const int16_t lfe_idx, /* i : Input LFE index */ + const IVAS_FORMAT in_format, /* i : Format of input sources */ + const ISM_METADATA_HANDLE *hIsmMetaData, /* i : Input metadata for ISM objects */ + float output[][L_FRAME48k] /* i/o: SCE/MC channels */ ) { TDREND_DirAtten_t *DirAtten_p; @@ -472,7 +471,7 @@ static void TDREND_Update_object_positions( static void TDREND_Update_listener_orientation( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD Renderer handle */ const int16_t headRotEnabled, /* i : Headrotation flag */ - const IVAS_QUATERNION *headPosition /* i : Head Position */ + const IVAS_QUATERNION *headPosition /* i : Head Position */ ) { float Pos[3]; diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 66ffd089ac..1a7cd8b830 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -89,7 +89,7 @@ ivas_error ivas_headTrack_open( void QuatToRotMat( const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ + float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ ) { float s1, s2, s3, c1, c2, c3; @@ -158,9 +158,9 @@ void QuatToRotMat( void Quat2Euler( const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float *yaw, /* o : yaw */ - float *pitch, /* o : pitch */ - float *roll /* o : roll */ + float *yaw, /* o : yaw */ + float *pitch, /* o : pitch */ + float *roll /* o : roll */ ) { if ( quat.w != -3.0 ) @@ -286,9 +286,9 @@ void rotateAziEle_DirAC( void rotateFrame_shd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const int16_t subframe_idx /* i : subframe index */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const int16_t subframe_idx /* i : subframe index */ ) { int16_t i, l, n, m; @@ -341,7 +341,7 @@ void rotateFrame_shd( for ( m = m1; m < m2; m++ ) { /* crossfade with previous rotation gains */ - tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; + tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; } } /* write back the result */ @@ -389,10 +389,10 @@ void rotateFrame_shd( void rotateFrame_sd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ - const int16_t subframe_idx /* i : subframe index */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ + const int16_t subframe_idx /* i : subframe index */ ) { int16_t i, j; @@ -489,7 +489,7 @@ void rotateFrame_sd( { for ( ch_in = 0; ch_in < nchan; ch_in++ ) { -/* crossfade with previous rotation gains */ + /* crossfade with previous rotation gains */ for ( i = subframe_idx * subframe_len, j = 0; j < subframe_len; i++, j++ ) { output_tmp[ch_out][i] += ( cross_fade[j] ) * gains[ch_in][ch_out] * output[ch_in][i] + ( 1 - cross_fade[j] ) * gains_prev[ch_in][ch_out] * output[ch_in][i]; -- GitLab From d8029bc0864eb471e30667b59feee6b5682775f3 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 05:48:50 +0100 Subject: [PATCH 306/620] added MC rate switch modes to ivas_modes.json --- scripts/config/ivas_modes.json | 155 +++++++++++++++++++++++++++++++++ 1 file changed, 155 insertions(+) diff --git a/scripts/config/ivas_modes.json b/scripts/config/ivas_modes.json index b6039efdf4..ba0bc4143a 100644 --- a/scripts/config/ivas_modes.json +++ b/scripts/config/ivas_modes.json @@ -1639,6 +1639,161 @@ 512000 ] } + }, + "MC_5_1_b{bitrate}_{bandwidth}_rs": { + "encmodeoption": [ + "-mc", + "5_1" + ], + "encoptions": [ + "-max_band", + "{bandwidth}" + ], + "dec": { + "5_1": [] + }, + "in_config": "5_1", + "table_name": "MC 5_1@{table_bitrate} kbps RS {bandwidth}", + "nummetadata": 0, + "metadatafilenames": [], + "rs": true, + "amr": false, + "mono": false, + "bitrates": { + "wb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "swb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "fb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + } + } + }, + "MC_7_1_b{bitrate}_{bandwidth}_rs": { + "encmodeoption": [ + "-mc", + "7_1" + ], + "encoptions": [ + "-max_band", + "{bandwidth}" + ], + "dec": { + "7_1": [] + }, + "in_config": "7_1", + "table_name": "MC 7_1@{table_bitrate} kbps RS {bandwidth}", + "nummetadata": 0, + "metadatafilenames": [], + "rs": true, + "amr": false, + "mono": false, + "bitrates": { + "wb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "swb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "fb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + } + } + }, + "MC_5_1_2_b{bitrate}_{bandwidth}_rs": { + "encmodeoption": [ + "-mc", + "5_1_2" + ], + "encoptions": [ + "-max_band", + "{bandwidth}" + ], + "dec": { + "5_1_2": [] + }, + "in_config": "5_1_2", + "table_name": "MC 5_1_2@{table_bitrate} kbps RS {bandwidth}", + "nummetadata": 0, + "metadatafilenames": [], + "rs": true, + "amr": false, + "mono": false, + "bitrates": { + "wb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "swb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "fb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + } + } + }, + "MC_5_1_4_b{bitrate}_{bandwidth}_rs": { + "encmodeoption": [ + "-mc", + "5_1_4" + ], + "encoptions": [ + "-max_band", + "{bandwidth}" + ], + "dec": { + "5_1_4": [] + }, + "in_config": "5_1_4", + "table_name": "MC 5_1_4@{table_bitrate} kbps RS {bandwidth}", + "nummetadata": 0, + "metadatafilenames": [], + "rs": true, + "amr": false, + "mono": false, + "bitrates": { + "wb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "swb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "fb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + } + } + }, + "MC_7_1_4_b{bitrate}_{bandwidth}_rs": { + "encmodeoption": [ + "-mc", + "7_1_4" + ], + "encoptions": [ + "-max_band", + "{bandwidth}" + ], + "dec": { + "7_1_4": [] + }, + "in_config": "7_1_4", + "table_name": "MC 7_1_4@{table_bitrate} kbps RS {bandwidth}", + "nummetadata": 0, + "metadatafilenames": [], + "rs": true, + "amr": false, + "mono": false, + "bitrates": { + "wb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "swb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + }, + "fb": { + "all": "{sw_files_path}/sw_13k2_512k.bin" + } + } } }, "ISM1": { -- GitLab From 472db4b91d2bfa1d99555e9d82db9a718525862a Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 07:30:21 +0100 Subject: [PATCH 307/620] fix setting of new_rate_CPE in the MC reconfiguration, was wrong for MC_MODE_MCT --- lib_dec/ivas_mct_dec.c | 7 ++++++- lib_enc/ivas_mct_enc.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index eed6452a4d..e015bfb008 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -896,9 +896,14 @@ ivas_error ivas_mc_dec_reconfig( ivas_mcmasa_set_separate_channel_mode( &separateChannelEnabled, &separateChannelIndex, st_ivas->hDecoderConfig->ivas_total_brate ); ivas_mcmasa_split_brate( separateChannelEnabled, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); } + else if ( st_ivas->mc_mode == MC_MODE_MCT ) + { + new_brate_SCE = 0; + new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / ( st_ivas->nchan_transport - 1 ) ) * CPE_CHANNELS; + } else { - new_brate_SCE = st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport; + new_brate_SCE = 0; /*st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport;*/ new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; } if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE, last_mc_mode ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 0abc613a8c..fde460e738 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -829,9 +829,14 @@ ivas_error ivas_mc_enc_reconfig( { ivas_mcmasa_split_brate( st_ivas->hMcMasa->separateChannelEnabled, st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); } + else if ( st_ivas->mc_mode == MC_MODE_MCT ) + { + new_brate_SCE = 0; + new_brate_CPE = ( st_ivas->hEncoderConfig->ivas_total_brate / (st_ivas->nchan_transport -1)) * CPE_CHANNELS; + } else { - new_brate_SCE = st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport; + new_brate_SCE = 0; /*st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport;*/ new_brate_CPE = ( st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; } -- GitLab From ea81c0f937f1bfad4e15db677e6213e125c5c9a9 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 7 Dec 2022 08:28:58 +0100 Subject: [PATCH 308/620] fix formatting --- lib_com/basop32.c | 1 - lib_com/bitstream.c | 1 - lib_com/enh1632.c | 1 - lib_com/enh40.c | 1 - lib_debug/wmc_auto.h | 32 +++++++++++++++++++------------- lib_dec/FEC.c | 1 - 6 files changed, 19 insertions(+), 18 deletions(-) diff --git a/lib_com/basop32.c b/lib_com/basop32.c index bf369ff33f..ec66c33281 100644 --- a/lib_com/basop32.c +++ b/lib_com/basop32.c @@ -3205,4 +3205,3 @@ Word32 L_msu0( Word32 L_var3, Word16 var1, Word16 var2 ) #endif /* ! BASOP_NOGLOB */ #undef WMC_TOOL_SKIP - diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 35ec95000f..ff731f13c9 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2969,4 +2969,3 @@ void dtx_read_padding_bits( } #undef WMC_TOOL_SKIP - diff --git a/lib_com/enh1632.c b/lib_com/enh1632.c index 5a810cab0e..4f1373b845 100644 --- a/lib_com/enh1632.c +++ b/lib_com/enh1632.c @@ -631,4 +631,3 @@ Word32 L_rotl( Word32 L_var1, Word16 var2, Word16 *var3 ) } #undef WMC_TOOL_SKIP - diff --git a/lib_com/enh40.c b/lib_com/enh40.c index 9d8fd84b60..1d987ce84c 100644 --- a/lib_com/enh40.c +++ b/lib_com/enh40.c @@ -1307,4 +1307,3 @@ Word40 L40_shl_r( Word40 L40_var1, Word16 var2 ) #undef WMC_TOOL_SKIP - diff --git a/lib_debug/wmc_auto.h b/lib_debug/wmc_auto.h index f88cbb9421..578be9b532 100644 --- a/lib_debug/wmc_auto.h +++ b/lib_debug/wmc_auto.h @@ -762,8 +762,9 @@ static int wmc_flag_ = 0; #endif /* Flow Control keywords */ -#define if_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ -if +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if #define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for #define while_( c ) \ while \ @@ -776,17 +777,22 @@ if } \ while -#define goto_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ -goto -#define break_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ -break -#define continue_ OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ -continue -#define return_ OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ -return - -#define switch_ OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ -switch +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch #define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); #ifdef WMOPS diff --git a/lib_dec/FEC.c b/lib_dec/FEC.c index 0ea85907e6..f623c265c2 100644 --- a/lib_dec/FEC.c +++ b/lib_dec/FEC.c @@ -578,4 +578,3 @@ static void pulseRes_preCalc( return; } #undef WMC_TOOL_SKIP - -- GitLab From bd299063195d7a359e0156d5791c2d81e3a09f54 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 09:57:29 +0100 Subject: [PATCH 309/620] move part of FIX_124 to IMDCT to avoid rate sw problem --- lib_dec/dec_tcx.c | 7 +++++++ lib_dec/ivas_core_dec.c | 13 ++----------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/lib_dec/dec_tcx.c b/lib_dec/dec_tcx.c index 5b74ca0f6f..afd10ad0ce 100755 --- a/lib_dec/dec_tcx.c +++ b/lib_dec/dec_tcx.c @@ -334,6 +334,13 @@ void IMDCT( /* number of zero for ALDO windows*/ nz = NS2SA( st->output_Fs, N_ZERO_MDCT_NS ) * L_frame / L_frameTCX; +#ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS + if ( frame_cnt == 0 && !bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && !hTcxCfg->last_aldo ) + { + v_multc(old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap); + } +#endif + if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 || st->mct_chan_mode == MCT_CHAN_MODE_LFE ) && ( st->tcxonly ) ) { /* Mode decision in PLC diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index 1d98e39e2b..e014555c06 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -188,17 +188,8 @@ ivas_error ivas_core_dec( if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && st->hTcxDec != NULL && hMCT == NULL ) #endif { - float gain; - - gain = st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph; - v_multc( st->hHQ_core->old_out, gain, st->hHQ_core->old_out, st->hTcxDec->L_frameTCX ); - v_multc( st->hHQ_core->old_outLB, gain, st->hHQ_core->old_outLB, st->L_frame ); - - if ( !st->hTcxCfg->last_aldo ) - { - v_multc( st->hTcxDec->syn_OverlFB, gain, st->hTcxDec->syn_OverlFB, st->hTcxCfg->tcx_mdct_window_lengthFB ); - v_multc( st->hTcxDec->syn_Overl, gain, st->hTcxDec->syn_Overl, st->hTcxCfg->tcx_mdct_window_length ); - } + v_multc( st->hHQ_core->old_out, st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, st->hHQ_core->old_out, st->hTcxDec->L_frameTCX ); + v_multc( st->hHQ_core->old_outLB, st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, st->hHQ_core->old_outLB, st->L_frame ); } #else /* PLC: [TCX: Fade-out-recovery] - overlapping part needs to be attenuated for first good frame */ -- GitLab From bbbb73907855a51057da6a1a7a8667b53f6c1fba Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 7 Dec 2022 10:23:09 +0100 Subject: [PATCH 310/620] correction of malloc()/free() instrumentation within FIX_VBR_COMPLEXITY --- lib_com/wi.c | 62 ++++++++++++++++++++++++++++++++++++------ lib_dec/dec_gen_voic.c | 2 -- lib_dec/ppp_dec.c | 2 -- lib_dec/voiced_dec.c | 2 -- lib_enc/ppp_enc.c | 2 -- lib_enc/voiced_enc.c | 24 ++-------------- 6 files changed, 56 insertions(+), 38 deletions(-) diff --git a/lib_com/wi.c b/lib_com/wi.c index 96fa87d3a8..8719988d3b 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -42,10 +42,6 @@ #include "rom_com.h" #include "wmc_auto.h" -#ifdef FIX_VBR_COMPLEXITY -#define WMC_TOOL_SKIP -#endif - /*-------------------------------------------------------------------* * Local constants *-------------------------------------------------------------------*/ @@ -85,9 +81,11 @@ ivas_error DTFS_new( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP MOVE( 2 ); LOOP( 1 ); MOVE( 2 ); +#undef WMC_TOOL_SKIP #endif dtfs->lag = 0; dtfs->nH = 0; @@ -120,6 +118,7 @@ void DTFS_copy( { int16_t k; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 0; k < MAXLAG_WI; k++ ) { @@ -138,6 +137,7 @@ void DTFS_copy( Xout->nH_4kHz = Xinp.nH_4kHz; Xout->upper_cut_off_freq_of_interest = Xinp.upper_cut_off_freq_of_interest; Xout->upper_cut_off_freq = Xinp.upper_cut_off_freq; +#undef WMC_TOOL_SKIP #else for ( k = 0; k < MAXLAG_WI; k++ ) { @@ -174,6 +174,7 @@ void DTFS_sub( int16_t i; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP MULT( 1 ); LOOP( 1 ); for ( i = 0; i <= X1.lag / 2; i++ ) @@ -199,6 +200,7 @@ void DTFS_sub( tmp->nH_4kHz = max( X1.nH_4kHz, X2.nH_4kHz ); tmp->upper_cut_off_freq_of_interest = X1.upper_cut_off_freq_of_interest; tmp->upper_cut_off_freq = X1.upper_cut_off_freq; +#undef WMC_TOOL_SKIP #else for ( i = 0; i <= X1.lag / 2; i++ ) { @@ -241,6 +243,7 @@ static void DTFS_fast_fs_inv( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP /* Populate the dbuf array */ dbuf[1] = X1_DTFS->a[0]; dbuf[2] = 0.0; @@ -276,6 +279,7 @@ static void DTFS_fast_fs_inv( ADD( 1 ); out[i - 1] = dbuf[i] / N_2; } +#undef WMC_TOOL_SKIP #else /* Populate the dbuf array */ dbuf[1] = X1_DTFS->a[0]; @@ -334,6 +338,7 @@ static float DTFS_alignment_weight( DTFS_STRUCTURE X1_DTFS; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP FUNC( 2 ); DTFS_copy( &X1_DTFS, refX1_DTFS ); FUNC( 2 ); @@ -351,7 +356,6 @@ static float DTFS_alignment_weight( tmplpc[k] = LPC1[k] * ( tmp *= pwf ); } - FUNC( 3 ); DTFS_zeroFilter( &X1_DTFS, tmplpc, M + 1 ); FUNC( 3 ); @@ -421,6 +425,7 @@ static float DTFS_alignment_weight( maxcorr = wcorr; } } +#undef WMC_TOOL_SKIP #else DTFS_copy( &X1_DTFS, refX1_DTFS ); DTFS_adjustLag( &X1_DTFS, X2_DTFS.lag ); @@ -491,6 +496,7 @@ float DTFS_alignment_full( float maxcorr, corr, tmp, tmp1, fshift, n, diff; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOGIC( 1 ); if ( X1_DTFS.lag < X2_DTFS.lag ) { @@ -536,6 +542,7 @@ float DTFS_alignment_full( maxcorr = corr; } } +#undef WMC_TOOL_SKIP #else if ( X1_DTFS.lag < X2_DTFS.lag ) { @@ -587,6 +594,7 @@ void DTFS_phaseShift( float tmp, tmp2 = 0.0f; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP ADD( 1 ); LOOP( 1 ); for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++, tmp2 += ph ) @@ -601,6 +609,7 @@ void DTFS_phaseShift( MAC( 1 ); X->b[k] = (float) ( tmp * sin( tmp2 ) + X->b[k] * cos( tmp2 ) ); } +#undef WMC_TOOL_SKIP #else for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++, tmp2 += ph ) { @@ -629,6 +638,7 @@ void DTFS_zeroPadd( float diff; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOGIC( 1 ); if ( N == X->lag ) { @@ -655,6 +665,7 @@ void DTFS_zeroPadd( { X->nH++; } +#undef WMC_TOOL_SKIP #else if ( N == X->lag ) { @@ -719,6 +730,7 @@ void DTFS_to_fs( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP X->lag = N; MOVE( 1 ); MULT( 1 ); @@ -813,6 +825,7 @@ void DTFS_to_fs( } X->nH = nH_band; X->nH_4kHz = nH_4kHz; +#undef WMC_TOOL_SKIP #else X->lag = N; nH_band = (int16_t) floor( X->upper_cut_off_freq / ( 12800.0 / X->lag ) ); @@ -898,6 +911,7 @@ void DTFS_fs_inv( int16_t k, n; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( n = 0; n < N; n++ ) { @@ -915,6 +929,7 @@ void DTFS_fs_inv( x[n] += (float) ( X->a[k] * cos( tmp ) + X->b[k] * sin( tmp ) ); } } +#undef WMC_TOOL_SKIP #else for ( n = 0; n < N; n++ ) { @@ -977,6 +992,7 @@ static void DTFS_transform( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP FUNC( 2 ); DTFS_copy( tmp1_dtfs, X ); FUNC( 2 ); @@ -1087,6 +1103,7 @@ static void DTFS_transform( out[i] = sum1; } +#undef WMC_TOOL_SKIP #else DTFS_copy( tmp1_dtfs, X ); DTFS_copy( tmp2_dtfs, X2 ); @@ -1204,6 +1221,7 @@ void DTFS_zeroFilter( int16_t k, n; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP MOVE( 1 ); MULT( 1 ); tmp1 = (float) ( PI2 / X->lag ); @@ -1239,6 +1257,7 @@ void DTFS_zeroFilter( MAC( 1 ); X->b[k] = X->b[k] * sum1 + tmp * sum2; } +#undef WMC_TOOL_SKIP #else tmp1 = (float) ( PI2 / X->lag ); for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) @@ -1279,6 +1298,7 @@ void DTFS_poleFilter( int16_t k, n; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP MOVE( 1 ); MULT( 1 ); tmp1 = (float) ( PI2 / X->lag ); @@ -1316,6 +1336,7 @@ void DTFS_poleFilter( ADD( 1 ); X->b[k] = ( -tmp * sum2 + X->b[k] * sum1 ) / tmp2; } +#undef WMC_TOOL_SKIP #else tmp1 = (float) ( PI2 / X->lag ); for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) @@ -1356,6 +1377,7 @@ static float DTFS_setEngy( float en1, tmp; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP FUNC( 1 ); MOVE( 1 ); en1 = DTFS_getEngy( *X_DTFS ); @@ -1376,6 +1398,7 @@ static float DTFS_setEngy( MULT( 1 ); X_DTFS->b[k] *= tmp; } +#undef WMC_TOOL_SKIP #else en1 = DTFS_getEngy( *X_DTFS ); if ( en1 == 0.0 ) @@ -1409,6 +1432,7 @@ void DTFS_adjustLag( float en, diff; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOGIC( 1 ); if ( N == X_DTFS->lag ) { @@ -1459,6 +1483,7 @@ void DTFS_adjustLag( X_DTFS->nH_4kHz++; } } +#undef WMC_TOOL_SKIP #else if ( N == X_DTFS->lag ) { @@ -1514,6 +1539,7 @@ float DTFS_getEngy( en = 0.0f; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 1; k <= min( ( X.lag - 1 ) >> 1, X.nH ); k++ ) { @@ -1533,6 +1559,7 @@ float DTFS_getEngy( ADD( 1 ); en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; } +#undef WMC_TOOL_SKIP #else for ( k = 1; k <= min( ( X.lag - 1 ) >> 1, X.nH ); k++ ) { @@ -1564,6 +1591,7 @@ void DTFS_car2pol( float tmp; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) { @@ -1587,6 +1615,7 @@ void DTFS_car2pol( MOVE( 1 ); X->b[k] = (float) atan2( X->b[k], tmp ); } +#undef WMC_TOOL_SKIP #else for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) { @@ -1621,6 +1650,7 @@ void DTFS_pol2car( float tmp; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) { @@ -1645,6 +1675,7 @@ void DTFS_pol2car( MULT( 1 ); X->a[k] = (float) ( X->a[k] * cos( tmp ) ); } +#undef WMC_TOOL_SKIP #else for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) { @@ -1690,6 +1721,7 @@ float DTFS_setEngyHarm( count = 0; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOGIC( 1 ); if ( f1 == 0.0 ) { @@ -1767,6 +1799,7 @@ float DTFS_setEngyHarm( X->a[k] *= factor; } } +#undef WMC_TOOL_SKIP #else if ( f1 == 0.0 ) { @@ -1844,6 +1877,7 @@ static void cubicPhase( double diff; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP ADD( 1 ); N -= (int16_t) L2; @@ -1911,6 +1945,7 @@ static void cubicPhase( ADD( 2 ); phOut[n] = (float) ( phOut[n - 1] + diff ); } +#undef WMC_TOOL_SKIP #else N -= (int16_t) L2; @@ -1978,6 +2013,7 @@ void DTFS_to_erb( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( i = 0; i < num_erb; i++ ) { @@ -2027,6 +2063,7 @@ void DTFS_to_erb( out[i] /= count[i]; } } +#undef WMC_TOOL_SKIP #else for ( i = 0; i < num_erb; i++ ) { @@ -2101,6 +2138,7 @@ void erb_slot( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP MOVE( 1 ); MULT( 1 ); nH_band = (int16_t) floor( upper_cut_off_freq / ( 12800.0 / lag ) ); @@ -2160,6 +2198,7 @@ void erb_slot( mfreq[j] /= out[j]; } } +#undef WMC_TOOL_SKIP #else nH_band = (int16_t) floor( upper_cut_off_freq / ( 12800.0 / lag ) ); @@ -2240,6 +2279,7 @@ void DTFS_erb_inv( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP MOVE( 1 ); f[m] = 0.0; MOVE( 1 ); @@ -2312,6 +2352,7 @@ void DTFS_erb_inv( X->a[0] = 0.0f; } +#undef WMC_TOOL_SKIP #else f[m] = 0.0; amp[m] = 0.0; @@ -2386,6 +2427,7 @@ static void LPCPowSpect( int16_t i, k; #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 0; k < Nf; k++ ) { @@ -2414,6 +2456,7 @@ static void LPCPowSpect( DIV( 1 ); out[k] = 1.0f / ( Re * Re + Im * Im ); } +#undef WMC_TOOL_SKIP #else for ( k = 0; k < Nf; k++ ) { @@ -2466,6 +2509,7 @@ void erb_diff( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP FUNC( 3 ); erb_slot( l, cslot, mfreq, num_erb ); FUNC( 3 ); @@ -2702,6 +2746,7 @@ void erb_diff( MOVE( 1 ); index[1] = mmseindex; +#undef WMC_TOOL_SKIP #else erb_slot( l, cslot, mfreq, num_erb ); erb_slot( pl, pslot, t_prev_erb, num_erb ); @@ -2894,6 +2939,7 @@ void erb_add( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP FUNC( 3 ); erb_slot( l, cslot, t_prev_erb, num_erb ); FUNC( 3 ); @@ -3000,6 +3046,7 @@ void erb_add( curr_erb[i] = 0.0f; } } +#undef WMC_TOOL_SKIP #else erb_slot( l, cslot, t_prev_erb, num_erb ); erb_slot( pl, pslot, t_prev_erb, num_erb ); @@ -3117,6 +3164,7 @@ ivas_error WIsyn( } #ifdef FIX_VBR_COMPLEXITY +#define WMC_TOOL_SKIP FUNC( 2 ); DTFS_copy( CURRCW_DTFS, *CURRCW_DTFS_out ); @@ -3187,6 +3235,7 @@ ivas_error WIsyn( MOVE( 1 ); DIV( 1 ); *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); +#undef WMC_TOOL_SKIP #else DTFS_copy( CURRCW_DTFS, *CURRCW_DTFS_out ); @@ -3239,6 +3288,3 @@ ivas_error WIsyn( return error; } -#ifdef FIX_VBR_COMPLEXITY -#undef WMC_TOOL_SKIP -#endif diff --git a/lib_dec/dec_gen_voic.c b/lib_dec/dec_gen_voic.c index 4df8a1e63f..e4f3ae9b4f 100644 --- a/lib_dec/dec_gen_voic.c +++ b/lib_dec/dec_gen_voic.c @@ -285,10 +285,8 @@ ivas_error decod_gen_voic( } } -#define WMC_TOOL_SKIP free( PREVP ); free( CURRP ); -#undef WMC_TOOL_SKIP } } diff --git a/lib_dec/ppp_dec.c b/lib_dec/ppp_dec.c index aa650a074a..adea4ea6a9 100644 --- a/lib_dec/ppp_dec.c +++ b/lib_dec/ppp_dec.c @@ -177,9 +177,7 @@ ivas_error ppp_quarter_decoder( tmp = (float) get_next_indice( st, 3 ); DTFS_phaseShift( CURRCW_Q_DTFS, (float) ( PI2 * ( tmp - 3 ) / CURRCW_Q_DTFS->lag ) ); -#define WMC_TOOL_SKIP free( PREVDTFS ); -#undef WMC_TOOL_SKIP return error; } diff --git a/lib_dec/voiced_dec.c b/lib_dec/voiced_dec.c index 94a59818db..2771224ac0 100644 --- a/lib_dec/voiced_dec.c +++ b/lib_dec/voiced_dec.c @@ -233,11 +233,9 @@ ivas_error ppp_voiced_decoder( mvr2r( dtfs_temp->a, hSC_VBR->dtfs_dec_a, MAXLAG_WI ); mvr2r( dtfs_temp->b, hSC_VBR->dtfs_dec_b, MAXLAG_WI ); -#define WMC_TOOL_SKIP free( TMPDTFS ); free( CURRP_Q_D ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } diff --git a/lib_enc/ppp_enc.c b/lib_enc/ppp_enc.c index 24552a0972..5c64049f51 100644 --- a/lib_enc/ppp_enc.c +++ b/lib_enc/ppp_enc.c @@ -355,9 +355,7 @@ ivas_error ppp_quarter_encoder( push_indice( hBstr, IND_GLOBAL_ALIGNMENT, (int16_t) ( tmp + 3 ), 3 ); -#define WMC_TOOL_SKIP free( PREVDTFS ); -#undef WMC_TOOL_SKIP return error; } diff --git a/lib_enc/voiced_enc.c b/lib_enc/voiced_enc.c index 0d5e827093..15fd15d079 100644 --- a/lib_enc/voiced_enc.c +++ b/lib_enc/voiced_enc.c @@ -554,14 +554,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -581,14 +579,13 @@ ivas_error ppp_voiced_encoder( if ( ( l - pl ) > 13 || ( l - pl ) < -11 || ( l < 19 ) || ( pl < 19 ) ) { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP + free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -611,14 +608,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -754,14 +749,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -787,14 +780,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -809,14 +800,12 @@ ivas_error ppp_voiced_encoder( if ( hSC_VBR->bump_up == 1 ) { -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -826,14 +815,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -847,14 +834,13 @@ ivas_error ppp_voiced_encoder( { if ( ( error = ppp_quarter_encoder( &flag, hBstr, CURRP_Q_E, TMPDTFS, dtfs_temp->lag, *CURRP_NQ, lpc2, &( hSC_VBR->lastLgainE ), &( hSC_VBR->lastHgainE ), &( hSC_VBR->lasterbE[0] ), *dtfs_temp ) ) != IVAS_ERR_OK ) { -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP + return error; } } @@ -1040,14 +1026,12 @@ ivas_error ppp_voiced_encoder( { hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -1062,14 +1046,12 @@ ivas_error ppp_voiced_encoder( PPP_MODE_E = 'B'; hSC_VBR->bump_up = 1; -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } @@ -1101,14 +1083,12 @@ ivas_error ppp_voiced_encoder( mvr2r( dtfs_temp->a, hSC_VBR->dtfs_enc_a, MAXLAG_WI ); mvr2r( dtfs_temp->b, hSC_VBR->dtfs_enc_b, MAXLAG_WI ); -#define WMC_TOOL_SKIP free( CURRP_NQ ); free( TMPDTFS ); free( TMPDTFS2 ); free( TMPDTFS3 ); free( CURRP_Q_E ); free( dtfs_temp ); -#undef WMC_TOOL_SKIP return error; } -- GitLab From 5aeb7a44d49e8a986691b59763dc8ac180e32f62 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 7 Dec 2022 10:31:25 +0100 Subject: [PATCH 311/620] remove superfluous #endif --- .../object_renderer_standalone/renderer_standalone.c | 1 - 1 file changed, 1 deletion(-) diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 1bccd10bb8..a3df9f8205 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -550,7 +550,6 @@ int main( int argc, char *argv[] ) { fprintf( stderr, "*** Clipping on %d samples.\n", noClipping ); } -#endif #ifdef WMOPS print_mem( NULL ); -- GitLab From e7cb98443a023f6f2e5bac639ab22b5112c618ef Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 7 Dec 2022 10:38:59 +0100 Subject: [PATCH 312/620] apply clang-format --- lib_com/wi.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib_com/wi.c b/lib_com/wi.c index 8719988d3b..cb8f7b9863 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -3287,4 +3287,3 @@ ivas_error WIsyn( return error; } - -- GitLab From c8ccda269ae69e756379e2aa78717bfd451b0a8a Mon Sep 17 00:00:00 2001 From: Stefan Doehla <stefan.doehla@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 10:19:15 +0000 Subject: [PATCH 313/620] [formatting] to please CI --- lib_com/hq2_bit_alloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_com/hq2_bit_alloc.c b/lib_com/hq2_bit_alloc.c index bfc11a5cd8..270c130617 100644 --- a/lib_com/hq2_bit_alloc.c +++ b/lib_com/hq2_bit_alloc.c @@ -651,11 +651,12 @@ void hq2_bit_alloc_har( lf_hf_ge_r_fx = round_fx_o( L_shl_o( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ), &Overflow ), &Overflow ); Overflow = 0; /* reset BASOP Overflow */ #else - lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); + lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); #endif #else lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); #endif + exp_normn = norm_s( norm_sum_fx ); exp_normn = sub( exp_normn, 1 ); exp_normd = norm_s( harmonic_band_fx ); -- GitLab From 4cd9fe479aa4b152e51a398fa36c7fce2080b60f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 13:46:14 +0100 Subject: [PATCH 314/620] apply formatter --- lib_dec/dec_tcx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 lib_dec/dec_tcx.c diff --git a/lib_dec/dec_tcx.c b/lib_dec/dec_tcx.c old mode 100755 new mode 100644 index 67c2c280f2..07d676002c --- a/lib_dec/dec_tcx.c +++ b/lib_dec/dec_tcx.c @@ -337,7 +337,7 @@ void IMDCT( #ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS if ( frame_cnt == 0 && !bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && !hTcxCfg->last_aldo ) { - v_multc(old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap); + v_multc( old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap ); } #endif -- GitLab From b2edda728e81872aa5625b50a92946b666d456b2 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 14:08:37 +0100 Subject: [PATCH 315/620] disable ram counting tool in sanitizer tests --- .gitlab-ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f0cb125fd9..7a0f5d3385 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -287,6 +287,7 @@ msan-on-merge-request-linux: needs: ["build-codec-sanitizers-linux"] script: - *print-common-info + - python3 ci/disable_ram_counting.py - make clean - make -j CLANG=1 - python3 scripts/self_test.py --create | tee test_output.txt @@ -308,6 +309,7 @@ asan-on-merge-request-linux: needs: ["build-codec-sanitizers-linux"] script: - *print-common-info + - python3 ci/disable_ram_counting.py - make clean - make -j CLANG=2 - python3 scripts/self_test.py --create | tee test_output.txt -- GitLab From 30265949dc0a07f3ac6ac98be44e045a10122ed9 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 14:53:05 +0100 Subject: [PATCH 316/620] fix non-be to EVS --- lib_dec/dec_tcx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/dec_tcx.c b/lib_dec/dec_tcx.c index 07d676002c..3316648d8e 100644 --- a/lib_dec/dec_tcx.c +++ b/lib_dec/dec_tcx.c @@ -335,7 +335,7 @@ void IMDCT( nz = NS2SA( st->output_Fs, N_ZERO_MDCT_NS ) * L_frame / L_frameTCX; #ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS - if ( frame_cnt == 0 && !bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && !hTcxCfg->last_aldo ) + if ( st->element_mode != EVS_MONO && frame_cnt == 0 && !bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && !hTcxCfg->last_aldo ) { v_multc( old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap ); } -- GitLab From 71f8ca000e6084d21789c03c1e8a10d87cd7f243 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 7 Dec 2022 15:20:18 +0100 Subject: [PATCH 317/620] update --- lib_com/basop_util.h | 418 -- lib_com/cnst.h | 2218 ------- lib_com/common_api_types.h | 150 - lib_com/control.h | 82 - lib_com/enh1632.h | 508 -- lib_com/enh40.h | 349 -- lib_com/ivas_cnst.h | 1602 ----- lib_com/ivas_error.h | 194 - lib_com/ivas_error_utils.h | 96 - lib_com/ivas_prot.h | 5617 ----------------- lib_com/ivas_rom_com.h | 404 -- lib_com/ivas_stat_com.h | 740 --- lib_com/mime.h | 447 -- lib_com/move.h | 74 - lib_com/rom_com.h | 1330 ---- lib_com/stat_com.h | 688 -- lib_com/stl.h | 71 - lib_com/typedef.h | 129 - lib_debug/debug.h | 242 - lib_debug/sba_debug.h | 60 - lib_dec/ivas_rom_dec.h | 159 - lib_dec/jbm_jb4_circularbuffer.h | 76 - lib_dec/jbm_jb4_inputbuffer.h | 76 - lib_dec/jbm_jb4_jmf.h | 61 - lib_dec/jbm_jb4sb.h | 107 - lib_dec/jbm_pcmdsp_apa.h | 122 - lib_dec/jbm_pcmdsp_fifo.h | 81 - lib_dec/jbm_pcmdsp_similarityestimation.h | 140 - lib_dec/jbm_pcmdsp_window.h | 66 - lib_dec/lib_dec.h | 359 -- lib_dec/rom_dec.h | 71 - lib_dec/stat_dec.h | 1347 ---- lib_enc/ivas_rom_enc.h | 130 - lib_enc/ivas_stat_enc.h | 1082 ---- lib_enc/lib_enc.h | 342 - lib_enc/rom_enc.h | 209 - lib_enc/stat_enc.h | 1574 ----- lib_rend/ivas_lib_rend_internal.h | 123 - lib_rend/ivas_rom_TdBinauralRenderer.h | 69 - lib_rend/ivas_rom_binauralRenderer.h | 78 - lib_rend/ivas_rom_binaural_crend_head.c | 6911 --------------------- lib_rend/ivas_rom_binaural_crend_head.h | 187 - lib_rend/ivas_rom_rend.c | 709 --- lib_rend/ivas_rom_rend.h | 141 - lib_rend/ivas_stat_rend.h | 102 - lib_rend/lib_rend.h | 280 - lib_util/audio_file_reader.h | 68 - lib_util/audio_file_writer.h | 61 - lib_util/bitstream_reader.c | 331 - lib_util/bitstream_reader.h | 72 - lib_util/bitstream_writer.c | 252 - lib_util/bitstream_writer.h | 67 - lib_util/cmdln_parser.c | 365 -- lib_util/cmdln_parser.h | 67 - lib_util/evs_rtp_payload.c | 305 - lib_util/evs_rtp_payload.h | 202 - lib_util/g192.c | 555 -- lib_util/g192.h | 100 - lib_util/head_rotation_file_reader.c | 170 - lib_util/head_rotation_file_reader.h | 88 - lib_util/ism_file_reader.c | 219 - lib_util/ism_file_reader.h | 67 - lib_util/ism_file_writer.c | 174 - lib_util/ism_file_writer.h | 70 - lib_util/jbm_file_reader.c | 181 - lib_util/jbm_file_reader.h | 67 - lib_util/jbm_file_writer.c | 293 - lib_util/jbm_file_writer.h | 86 - lib_util/ls_custom_file_reader.c | 404 -- lib_util/ls_custom_file_reader.h | 105 - lib_util/masa_file_reader.c | 428 -- lib_util/masa_file_reader.h | 85 - lib_util/masa_file_writer.c | 357 -- lib_util/masa_file_writer.h | 63 - lib_util/mime_io.c | 658 -- lib_util/mime_io.h | 75 - lib_util/render_config_reader.c | 586 -- lib_util/render_config_reader.h | 66 - lib_util/rtpdump.c | 383 -- lib_util/rtpdump.h | 107 - lib_util/tinywavein_c.h | 556 -- lib_util/tinywaveout_c.h | 592 -- 82 files changed, 38346 deletions(-) delete mode 100644 lib_com/basop_util.h delete mode 100644 lib_com/cnst.h delete mode 100644 lib_com/common_api_types.h delete mode 100644 lib_com/control.h delete mode 100644 lib_com/enh1632.h delete mode 100644 lib_com/enh40.h delete mode 100644 lib_com/ivas_cnst.h delete mode 100644 lib_com/ivas_error.h delete mode 100644 lib_com/ivas_error_utils.h delete mode 100644 lib_com/ivas_prot.h delete mode 100644 lib_com/ivas_rom_com.h delete mode 100644 lib_com/ivas_stat_com.h delete mode 100644 lib_com/mime.h delete mode 100644 lib_com/move.h delete mode 100644 lib_com/rom_com.h delete mode 100644 lib_com/stat_com.h delete mode 100644 lib_com/stl.h delete mode 100644 lib_com/typedef.h delete mode 100644 lib_debug/debug.h delete mode 100644 lib_debug/sba_debug.h delete mode 100644 lib_dec/ivas_rom_dec.h delete mode 100644 lib_dec/jbm_jb4_circularbuffer.h delete mode 100644 lib_dec/jbm_jb4_inputbuffer.h delete mode 100644 lib_dec/jbm_jb4_jmf.h delete mode 100644 lib_dec/jbm_jb4sb.h delete mode 100644 lib_dec/jbm_pcmdsp_apa.h delete mode 100644 lib_dec/jbm_pcmdsp_fifo.h delete mode 100644 lib_dec/jbm_pcmdsp_similarityestimation.h delete mode 100644 lib_dec/jbm_pcmdsp_window.h delete mode 100644 lib_dec/lib_dec.h delete mode 100644 lib_dec/rom_dec.h delete mode 100644 lib_dec/stat_dec.h delete mode 100644 lib_enc/ivas_rom_enc.h delete mode 100644 lib_enc/ivas_stat_enc.h delete mode 100644 lib_enc/lib_enc.h delete mode 100644 lib_enc/rom_enc.h delete mode 100644 lib_enc/stat_enc.h delete mode 100644 lib_rend/ivas_lib_rend_internal.h delete mode 100644 lib_rend/ivas_rom_TdBinauralRenderer.h delete mode 100644 lib_rend/ivas_rom_binauralRenderer.h delete mode 100644 lib_rend/ivas_rom_binaural_crend_head.c delete mode 100644 lib_rend/ivas_rom_binaural_crend_head.h delete mode 100644 lib_rend/ivas_rom_rend.c delete mode 100644 lib_rend/ivas_rom_rend.h delete mode 100644 lib_rend/ivas_stat_rend.h delete mode 100644 lib_rend/lib_rend.h delete mode 100644 lib_util/audio_file_reader.h delete mode 100644 lib_util/audio_file_writer.h delete mode 100644 lib_util/bitstream_reader.c delete mode 100644 lib_util/bitstream_reader.h delete mode 100644 lib_util/bitstream_writer.c delete mode 100644 lib_util/bitstream_writer.h delete mode 100644 lib_util/cmdln_parser.c delete mode 100644 lib_util/cmdln_parser.h delete mode 100644 lib_util/evs_rtp_payload.c delete mode 100644 lib_util/evs_rtp_payload.h delete mode 100644 lib_util/g192.c delete mode 100644 lib_util/g192.h delete mode 100644 lib_util/head_rotation_file_reader.c delete mode 100644 lib_util/head_rotation_file_reader.h delete mode 100644 lib_util/ism_file_reader.c delete mode 100644 lib_util/ism_file_reader.h delete mode 100644 lib_util/ism_file_writer.c delete mode 100644 lib_util/ism_file_writer.h delete mode 100644 lib_util/jbm_file_reader.c delete mode 100644 lib_util/jbm_file_reader.h delete mode 100644 lib_util/jbm_file_writer.c delete mode 100644 lib_util/jbm_file_writer.h delete mode 100644 lib_util/ls_custom_file_reader.c delete mode 100644 lib_util/ls_custom_file_reader.h delete mode 100644 lib_util/masa_file_reader.c delete mode 100644 lib_util/masa_file_reader.h delete mode 100644 lib_util/masa_file_writer.c delete mode 100644 lib_util/masa_file_writer.h delete mode 100644 lib_util/mime_io.c delete mode 100644 lib_util/mime_io.h delete mode 100644 lib_util/render_config_reader.c delete mode 100644 lib_util/render_config_reader.h delete mode 100644 lib_util/rtpdump.c delete mode 100644 lib_util/rtpdump.h delete mode 100644 lib_util/tinywavein_c.h delete mode 100644 lib_util/tinywaveout_c.h diff --git a/lib_com/basop_util.h b/lib_com/basop_util.h deleted file mode 100644 index 3ab5615034..0000000000 --- a/lib_com/basop_util.h +++ /dev/null @@ -1,418 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef __BASOP_UTIL_H__ -#define __BASOP_UTIL_H__ - -#include <stdint.h> -#include "options.h" -#include "basop_settings.h" -#include "typedef.h" -#include "basop32.h" -#include "basop_mpy.h" - - -#define LD_DATA_SCALE ( 6 ) - -#define LD_DATA_SHIFT_I5 ( 7 ) - -#define modDiv2( x ) sub( x, shl( shr( x, 1 ), 1 ) ) -#define modDiv8( x ) L_sub( x, L_shl( L_shr( x, 3 ), 3 ) ) - -#ifndef CHEAP_NORM_SIZE -#define CHEAP_NORM_SIZE 161 -#endif - -static __inline Word16 limitScale16( Word16 s ) -{ - /* It is assumed, that s is calculated just before, therefore we can switch upon sign */ - if ( s >= 0 ) - s = s_min( s, WORD16_BITS - 1 ); - if ( s < 0 ) - s = s_max( s, 1 - WORD16_BITS ); - return ( s ); -} - -static __inline Word16 limitScale32( Word16 s ) -{ - /* It is assumed, that s is calculated just before, therefore we can switch upon sign */ - if ( s >= 0 ) - s = s_min( s, WORD32_BITS - 1 ); - if ( s < 0 ) - s = s_max( s, 1 - WORD32_BITS ); - return ( s ); -} - - -/*!********************************************************************** - \brief Add two values given by mantissa and exponent. - - Mantissas are in 16-bit-fractional format with values between 0 and 1. <br> - The base for exponents is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> - -************************************************************************/ -Word16 BASOP_Util_Add_MantExp /*!< Exponent of result */ - ( Word16 a_m, /*!< Mantissa of 1st operand a */ - Word16 a_e, /*!< Exponent of 1st operand a */ - Word16 b_m, /*!< Mantissa of 2nd operand b */ - Word16 b_e, /*!< Exponent of 2nd operand b */ - Word16 *ptrSum_m ); /*!< Mantissa of result */ - - -/************************************************************************/ -/*! - \brief Calculate the squareroot of a number given by mantissa and exponent - - Mantissa is in 16/32-bit-fractional format with values between 0 and 1. <br> - For *norm versions mantissa has to be between 0.5 and 1. <br> - The base for the exponent is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> - The exponent is addressed via pointers and will be overwritten with the result. -*/ -Word16 Sqrt16( /*!< output mantissa */ - Word16 mantissa, /*!< input mantissa */ - Word16 *exponent /*!< pointer to exponent */ -); - -/*****************************************************************************/ -/*! - \brief Calculate the inverse of a number given by mantissa and exponent - - Mantissa is in 16-bit-fractional format with values between 0 and 1. <br> - The base for the exponent is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> - The operand is addressed via pointers and will be overwritten with the result. - - The function uses a table lookup and a newton iteration. -*/ -Word16 Inv16( /*!< output mantissa */ - Word16 mantissa, /*!< input mantissa */ - Word16 *exponent /*!< pointer to exponent */ -); - -/******************************************************************************/ -/*! - \brief Calculate the squareroot and inverse of squareroot of a number given by mantissa and exponent - - Mantissa is in 16-bit-fractional format with values between 0 and 1. <br> - The base for the exponent is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> -*/ -void BASOP_Util_Sqrt_InvSqrt_MantExp( Word16 mantissa, /*!< mantissa */ - Word16 exponent, /*!< expoinent */ - Word16 *sqrt_mant, /*!< Pointer to sqrt mantissa */ - Word16 *sqrt_exp, /*!< Pointer to sqrt exponent */ - Word16 *isqrt_mant, /*!< Pointer to 1/sqrt mantissa */ - Word16 *isqrt_exp /*!< Pointer to 1/sqrt exponent */ -); - - -/********************************************************************/ -/*! - \brief Calculates the scalefactor needed to normalize input array - - The scalefactor needed to normalize the Word32 input array is returned <br> - If the input array contains only '0', a scalefactor 0 is returned <br> - Scaling factor is determined wrt a normalized target x: 1073741824 <= x <= 2147483647 for positive x <br> - and -2147483648 <= x <= -1073741824 for negative x -*/ - -/*! r: measured headroom in range [0..31], 0 if all x[i] == 0 */ -Word16 getScaleFactor32( - const Word32 *x, /* i : array containing 32-bit data */ - const Word16 len_x ); /* i : length of the array to scan */ - -/************************************************************************/ -/*! - \brief Binary logarithm with 7 iterations - - \param x - - \return log2(x)/64 - */ -/************************************************************************/ -Word32 BASOP_Util_Log2( Word32 x ); - - -/****************************************************************************/ -/*! - \brief Does fractional division of Word16 arg1 by Word16 arg2 - - - \return fractional Q15 Word16 z = arg1(Q15)/arg2(Q15) with scaling s -*/ -Word16 BASOP_Util_Divide1616_Scale( Word16 x, /* i : Numerator*/ - Word16 y, /* i : Denominator*/ - Word16 *s ); /* o : Additional scalefactor difference*/ - -/****************************************************************************/ -/*! - \brief Does fractional integer division of Word32 arg1 by Word16 arg2 - - - \return fractional Word16 integer z = arg1(32bits)/arg2(16bits), z not normalized -*/ -Word16 BASOP_Util_Divide3216_Scale( Word32 x, /*!< i : Numerator */ - Word16 y, /*!< i : Denominator*/ - Word16 *s ); /*!< o : Additional scalefactor difference*/ - - -/************************************************************************/ -/*! - * \brief Binary logarithm with 5 iterations - * - * \param[i] val - * - * \return basop_log2(val)/128 - */ -/************************************************************************/ -Word32 BASOP_Util_log2_i5( Word32 val ); - -/************************************************************************/ -/*! - \brief Binary power - - Date: 06-JULY-2012 Arthur Tritthart, IIS Fraunhofer Erlangen - - Version with 3 table lookup and 1 linear interpolations - - Algorithm: compute power of 2, argument x is in Q7.25 format - result = 2^(x/64) - We split exponent (x/64) into 5 components: - integer part: represented by b31..b25 (exp) - fractional part 1: represented by b24..b20 (lookup1) - fractional part 2: represented by b19..b15 (lookup2) - fractional part 3: represented by b14..b10 (lookup3) - fractional part 4: represented by b09..b00 (frac) - => result = (lookup1*lookup2*(lookup3+C1*frac)<<3)>>exp - - Due to the fact, that all lookup values contain a factor 0.5 - the result has to be shifted by 3 to the right also. - Table exp2_tab_long contains the log2 for 0 to 1.0 in steps - of 1/32, table exp2w_tab_long the log2 for 0 to 1/32 in steps - of 1/1024, table exp2x_tab_long the log2 for 0 to 1/1024 in - steps of 1/32768. Since the 2-logarithm of very very small - negative value is rather linear, we can use interpolation. - - Limitations: - - For x <= 0, the result is fractional positive - For x > 0, the result is integer in range 1...7FFF.FFFF - For x < -31/64, we have to clear the result - For x = 0, the result is ~1.0 (0x7FFF.FFFF) - For x >= 31/64, the result is 0x7FFF.FFFF - - \param x - - \return pow(2,(x/64)) - */ -/************************************************************************/ -Word32 BASOP_Util_InvLog2( Word32 x ); - - -/****************************************************************************/ -/*! - \brief Sets Array Word16 arg1 to value Word16 arg2 for Word16 arg3 elements -*/ -void set_val_Word16( Word16 X[], /*!< Address of array */ - const Word16 val, /*!< Value to copy into array */ - Word16 n ); /*!< Number of elements to process */ - - -/****************************************************************************/ -/*! - \brief Sets Array Word32 arg1 to value Word32 arg2 for Word16 arg3 elements -*/ -void set_val_Word32( Word32 X[], /*!< Address of array */ - const Word32 val, /*!< Value to copy into array */ - Word16 n ); /*!< Number of elements to process */ - -/****************************************************************************/ -/*! - \brief Does a multiplication of Word16 input values - - \return z16 = x16 * y16 -*/ -Word16 mult0( Word16 x, /* i : Multiplier */ - Word16 y ); /* i : Multiplicand */ - -/** - * \brief calculate cosine of angle. Tuned for ISF domain. - * \param theta Angle normalized to radix 2, theta = (angle in radians)*2.0/pi - * \return result with exponent 0. - */ -Word16 getCosWord16R2( Word16 theta ); - -/****************************************************************************/ -/*! - \brief 16/16->16 unsigned integer division - - x and y have to be positive, x has to be < 16384 - - \return 16/16->16 integer - */ - -Word16 idiv1616U( Word16 x, Word16 y ); - - -/** - * \brief return 2 ^ (exp * 2^exp_e) - * \param exp_m mantissa of the exponent to 2.0f - * \param exp_e exponent of the exponent to 2.0f - * \param result_e pointer to a INT where the exponent of the result will be stored into - * \return mantissa of the result - */ -Word32 BASOP_util_Pow2( - const Word32 exp_m, - const Word16 exp_e, - Word16 *result_e ); - - -Word32 Isqrt_lc1( - Word32 frac, /* i : Q31: normalized value (1.0 < frac <= 0.5) */ - Word16 *exp /* i/o: exponent (value = frac x 2^exponent) */ -); - -/*****************************************************************************/ -/*! - - \brief Calculates pow(2,x) - ___________________________________________________________________________ - | | - | Function Name : Pow2() | - | | - | L_x = pow(2.0, exponant.fraction) (exponent = interger part) | - | = pow(2.0, 0.fraction) << exponent | - |---------------------------------------------------------------------------| - | Algorithm: | - | | - | The function Pow2(L_x) is approximated by a table and linear | - | interpolation. | - | | - | 1- i = bit10-b15 of fraction, 0 <= i <= 31 | - | 2- a = bit0-b9 of fraction | - | 3- L_x = table[i]<<16 - (table[i] - table[i+1]) * a * 2 | - | 4- L_x = L_x >> (30-exponant) (with rounding) | - |___________________________________________________________________________| -*/ -Word32 Pow2( /* o : Q0 : result (range: 0<=val<=0x7fffffff) */ - Word16 exponant, /* i : Q0 : Integer part. (range: 0<=val<=30) */ - Word16 fraction /* i : Q15 : Fractionnal part. (range: 0.0<=val<1.0) */ -); - -/************************************************************************* - * - * FUNCTION: Log2_norm() - * - * PURPOSE: Computes log2(L_x, exp), where L_x is positive and - * normalized, and exp is the normalisation exponent - * If L_x is negative or zero, the result is 0. - * - * DESCRIPTION: - * The function Log2(L_x) is approximated by a table and linear - * interpolation. The following steps are used to compute Log2(L_x) - * - * 1- exponent = 30-norm_exponent - * 2- i = bit25-b31 of L_x; 32<=i<=63 (because of normalization). - * 3- a = bit10-b24 - * 4- i -=32 - * 5- fraction = table[i]<<16 - (table[i] - table[i+1]) * a * 2 - * - *************************************************************************/ - -Word16 Log2_norm_lc( /* o : Fractional part of Log2. (range: 0<=val<1) */ - Word32 L_x /* i : input value (normalized) */ -); - -/************************************************************************* - * - * FUNCTION: BASOP_Util_fPow() - */ -/** - * \brief BASOP_Util_fPow - * - * PURPOSE: Computes pow(base_m, base_e, exp_m, exp_e), where base_m and base_e - * specify the base, and exp_m and exp_e specify the exponent. - * The result is returned in a mantissa and exponent representation. - * - * DESCRIPTION: - * The function BASOP_Util_fPow(L_x) calculates the power function by - * calculating 2 ^ (log2(base)*exp) - * - * \param base_m mantissa of base - * \param base_e exponent of base - * \param exp_m mantissa of exponent - * \param exp_e exponent of exponent - * \param result_e pointer to exponent of result - * \return Word32 mantissa of result - * - *************************************************************************/ - -Word32 BASOP_Util_fPow( /* o : mantissa of result */ - Word32 base_m, - Word16 base_e, /* i : input value for base (mantissa and exponent) */ - Word32 exp_m, - Word16 exp_e, /* i : input value for exponent (mantissa and exponent) */ - Word16 *result_e /* o : output pointer to exponent of result */ -); - -/*!********************************************************************** - \brief Add two values given by mantissa and exponent. - - Mantissas are in 32-bit-fractional format with values between 0 and 1. <br> - The base for exponents is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> - -************************************************************************/ -Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */ - ( Word32 a_m, /* i : Mantissa of 1st operand a */ - Word16 a_e, /* i : Exponent of 1st operand a */ - Word32 b_m, /* i : Mantissa of 2nd operand b */ - Word16 b_e, /* i : Exponent of 2nd operand b */ - Word16 *ptr_e ); /* o : exponent of result */ - -/****************************************************************************/ -/*! - \brief Accumulates multiplications - - Accumulates the elementwise multiplications of Word32 Array X with Word16 Array Y - pointed to by arg1 and arg2 with specified headroom. Length of to be multiplied arrays is arg3, - headroom with has to be taken into account is specified in arg4 - - \return Word32 result of accumulated multiplications over Word32 array arg1 and Word16 array arg2 and Word16 pointer - to exponent correction factor which needs to be added to the exponent of the result vector -*/ -Word32 dotWord32_16_guards( const Word32 *X, const Word16 *Y, Word16 n, Word16 hr, Word16 *shift ); - -Word32 Sqrt_l( Word32 L_x, Word16 *exp ); - -#endif /* __BASOP_UTIL_H__ */ diff --git a/lib_com/cnst.h b/lib_com/cnst.h deleted file mode 100644 index eda4d0f120..0000000000 --- a/lib_com/cnst.h +++ /dev/null @@ -1,2218 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef CNST_H -#define CNST_H - -#include <stdint.h> -#include "options.h" - -/* clang-format off */ - -/*----------------------------------------------------------------------------------* - * General constants - *----------------------------------------------------------------------------------*/ - -#define MODE1 1 -#define MODE2 2 - -#define EVS_PI 3.14159265358979323846264338327950288f - -#define PI2 ( 2 * EVS_PI ) -#define RANDOM_INITSEED 21845 /* Seed for random generators */ -#ifndef FLT_MIN -#define FLT_MIN ( 1.175494351e-38F ) -#endif -#ifndef FLT_MAX -#define FLT_MAX ( 3.402823466e+38F ) -#endif -#define TRUE 1 -#define FALSE 0 - -#define MAX16B 32767 -#define MIN16B ( -32768 ) -#define MAX16B_FLT 32767.0f -#define MIN16B_FLT ( -32768.0f ) -#define PCM16_TO_FLT_FAC 32768.0f -#define MDFT_NORM_SCALING ( 1.0f / PCM16_TO_FLT_FAC ) -#define MAX_FRAME_COUNTER 200 -#define MAX_BITS_PER_FRAME 10240 /* Bits per frame for max. bitrate 512kbps */ - -#define ENC 0 /* Index for "encoder" */ -#define DEC 1 /* Index for "decoder" */ - -#define DEC_IVAS 2 /* Index for IVAS decoder */ - -#ifdef DEBUGGING -#define FORCE_SPEECH 100 /* debugging - force speech on the command line */ -#define FORCE_MUSIC 101 /* debugging - force music on the command line */ -#define FORCE_ACELP 102 /* debugging - force ACELP core on the command line */ -#define FORCE_GSC 103 /* debugging - force GSC core on the command line */ -#define FORCE_TCX 104 /* debugging - force TCX core on the command line */ -#define FORCE_HQ 105 /* debugging - force HQ core on the command line */ -#define FORCE_TD_RENDERER 201 -#define FORCE_CLDFB_RENDERER 202 -#endif - -enum{ - NB = 0, /* Indicator of 4 kHz bandwidth */ - WB = 1, /* Indicator of 8 kHz bandwidth */ - SWB = 2, /* Indicator of 14 kHz bandwidth */ - FB = 3 /* Indicator of 20 kHz bandwidth */ -}; - -/* Conversion of bandwidth string into numerical constant */ -#define CONV_BWIDTH( bw ) ( !strcmp( bw, "NB" ) ? NB : !strcmp( bw, "WB" ) ? WB : !strcmp( bw, "SWB" ) ? SWB : !strcmp( bw, "FB" ) ? FB : -1 ) - -#define L_FRAME48k 960 /* Frame size in samples at 48kHz */ -#define L_FRAME32k 640 /* Frame size in samples at 32kHz */ -#define L_FRAME25_6k 512 /* Frame size in samples at 25.6kHz */ -#define L_FRAME16k 320 /* Frame size in samples at 16kHz */ -#define L_FRAME8k 160 /* Frame size in samples at 8kHz */ -#define L_FRAME4k 80 /* Frame size in samples at 4kHz */ - -#define L_SPEC48k 800 /* HQ spectrum length at 48kHz */ -#define L_SPEC32k 640 /* HQ spectrum length at 32kHz */ -#define L_SPEC16k 320 /* HQ spectrum length at 16kHz */ -#define L_SPEC8k 160 /* HQ spectrum length at 8kHz */ -#define L_SPEC48k_EXT 1000 /* Extended HQ spectrum length at 48kHz, for ACELP->HQ switching */ -#define L_SPEC32k_EXT 800 /* Extended HQ spectrum length at 32kHz, for ACELP->HQ switching */ -#define L_SPEC16k_EXT 400 /* Extended HQ spectrum length at 16kHz, for ACELP->HQ switching */ -#define L_FRAME48k_EXT 1200 /* Extended MDCT frame size in samples at 48kHz */ - -/* Conversion of ns to samples for a given sampling frequency */ -#define NS2SA( fs, x ) ( int16_t )( ( ( ( int32_t )( fs ) / 100L ) * ( ( x ) / 100L ) ) / 100000L ) - -#define ACTIVE_FRAME 0xFF -#define SID_FRAME 0xFA -#define ZERO_FRAME 0xF0 -#define FRAME_SIZE_NB 13 - -#define RATE_MODE_MAX 2 /* Number of rate mode */ -#define BANDWIDTH_MODE_MAX 2 /* Number of different bandwidth (NB/WB-FB) */ - -#define MIN_LOG_60dB 0.000001f -#define MIN_LOG_VAL_60dB -60.0f - -#define INV_LOG_2 1.442695040888963f /* 1/log(2) */ -#define INV_SQRT_2 0.70710676908493f /* 1/sqrt(2) */ - -#define MAX_V_MULT_MAT 100 /* maximum array length for the function v_mult_mat() */ - -#define SBA_AGC_FORCE_ENABLE 1 -#define SBA_AGC_FORCE_DISABLE 0 -#define SBA_AGC_DEFAULT -1 - -/*----------------------------------------------------------------------------------* - * Layers - *----------------------------------------------------------------------------------*/ - -#define ACELP_CORE 0 /* ACELP core layer */ -#define TCX_20_CORE 1 /* TCX 20ms core layer */ -#define TCX_10_CORE 2 /* TCX 10ms core layer */ -#define HQ_CORE 3 /* HQ core layer */ -#define AMR_WB_CORE 4 /* AMR-WB IO core */ - - -#define WB_TBE 5 /* WB TBE layer (16/32/48kHz signals) */ -#define WB_BWE 6 /* WB BWE layer optimized for music (16/32/48kHz signals) */ - -#define SWB_CNG 7 /* SWB CNG layer (32/48kHz signals) */ -#define SWB_TBE 8 /* SWB TBE layer optimized for speech (32/48kHz signals) */ -#define SWB_BWE 9 /* SWB BWE layer optimized for music (32/48kHz signals) */ -#define SWB_BWE_HIGHRATE 10 /* SWB BWE layer optimized for highrate speech (32/48kHz) */ - -#define FB_TBE 11 /* FB TBE layer (48kHz signals) */ -#define FB_BWE 12 /* FB BWE layer optimized for music (48kHz) */ -#define FB_BWE_HIGHRATE 13 /* FB BWE layer optimized for highrate speech (48kHz) */ - -#define IGF_BWE 14 /* IGF layer for music (16.4 and 24.4kbps), 32kHz signals */ - -#define LP_CNG 0 /* LP-based CNG in DTX operation */ -#define FD_CNG 1 /* FD-based CNG in DTX operation */ - -/*----------------------------------------------------------------------------------* - * Bitrates - *----------------------------------------------------------------------------------*/ - -#define FRAME_NO_DATA 0 /* Frame with no data */ -#define SID_1k75 1750 /* SID at 1.75 kbps (used only in AMR-WB IO mode */ -#define SID_2k40 2400 /* SID at 2.40 kbps */ -#define PPP_NELP_2k80 2800 /* PPP and NELP at 2.80 kbps (used only for SC-VBR) */ -#define ACELP_5k90 5900 /* ACELP core layer at average bitrate of 5.90 kbps (used only in SC-VBR mode) */ -#define ACELP_5k00 5000 /* ACELP core layer at 5.00 kbps (used only in TD stereo secondary channel) */ -#define ACELP_6k15 6150 /* ACELP core layer at 6.15 kbps (used only in TD stereo secondary channel) */ -#define ACELP_6k60 6600 /* ACELP core layer at 6.60 kbps (used only in AMR-WB IO mode) */ -#define ACELP_7k20 7200 /* ACELP core layer at 7.20 kbps */ -#define ACELP_8k00 8000 /* ACELP core layer at 8 kbps */ -#define ACELP_8k85 8850 /* ACELP core layer at 8.85 kbps (used only in AMR-WB IO mode) */ -#define ACELP_9k60 9600 /* ACELP core layer at 9.60 kbps */ -#define ACELP_11k60 11600 /* ACELP core layer at 11.60 kbps (used for SWB TBE) */ -#define ACELP_12k15 12150 /* ACELP core layer at 12.15 kbps (used for WB TBE) */ -#define ACELP_12k65 12650 /* ACELP core layer at 12.65 kbps (used only in AMR-WB IO mode) */ -#define ACELP_12k85 12850 /* ACELP core layer at 12.85 kbps (used for WB BWE) */ -#define ACELP_13k20 13200 /* ACELP core layer at 13.20 kbps */ -#define ACELP_14k25 14250 /* ACELP core layer at 14.25 kbps (used only in AMR-WB IO mode) */ -#define ACELP_14k80 14800 /* ACELP core layer at 14.80 kbps (used only in core switching) */ -#define ACELP_15k85 15850 /* ACELP core layer at 15.85 kbps (used only in AMR-WB IO mode) */ -#define ACELP_16k40 16400 /* ACELP core layer at 16.40 kbps */ -#define ACELP_18k25 18250 /* ACELP core layer at 18.25 kbps (used only in AMR-WB IO mode) */ -#define ACELP_19k85 19850 /* ACELP core layer at 19.85 kbps (used only in AMR-WB IO mode) */ -#define ACELP_22k60 22600 /* ACELP core layer at 22.60 kbps (used only in core switching) */ -#define ACELP_23k05 23050 /* ACELP core layer at 23.05 kbps (used only in AMR-WB IO mode) */ -#define ACELP_23k85 23850 /* ACELP core layer at 23.85 kbps (used only in AMR-WB IO mode) */ -#define ACELP_24k40 24400 /* ACELP core layer at 24.40 kbps */ -#define ACELP_29k00 29000 /* ACELP core layer at 29.00 kbps (used for FB + SWB TBE) */ -#define ACELP_29k20 29200 /* ACELP core layer at 29.20 kbps (used for SWB TBE) */ -#define ACELP_30k20 30200 /* ACELP core layer at 30.20 kbps (used for FB + SWB BWE) */ -#define ACELP_30k40 30400 /* ACELP core layer at 30.40 kbps (used for SWB BWE) */ -#define ACELP_32k 32000 /* ACELP core layer at 32 kbps */ -#define ACELP_48k 48000 /* ACELP core layer at 48 kbps */ -#define ACELP_64k 64000 /* ACELP core layer at 64 kbps */ - -#define HQ_16k40 16400 /* HQ core at 16.4 kbps */ -#define HQ_13k20 13200 /* HQ core at 13.2 kbps */ -#define HQ_24k40 24400 /* HQ core at 24.4 kbps */ -#define HQ_32k 32000 /* HQ core at 32 kbps */ -#define HQ_48k 48000 /* HQ core at 48 kbps */ -#define HQ_64k 64000 /* HQ core at 64 kbps */ -#define HQ_96k 96000 /* HQ core at 96 kbps */ -#define HQ_128k 128000 /* HQ core at 128 kbps */ - -#define WB_TBE_0k35 350 /* WB TBE layer (used only at 9.6 kbps on top of ACELP@12k8 core for 16kHz signals) */ -#define WB_BWE_0k35 350 /* WB BWE layer (used only on top of ACELP@12k8 core for 16kHz signals) */ -#define WB_TBE_1k05 1050 /* WB TBE layer (used only on top of ACELP@12k8 core for 16kHz signals) */ -#define SWB_TBE_0k95 950 /* SWB TBE layer (used in low SWB bitrates) */ -#define SWB_TBE_1k10 1100 /* SWB TBE layer in LRTD stereo */ -#define SWB_TBE_1k75 1750 /* SWB TBE layer in LRTD stereo */ -#define SWB_TBE_1k6 1600 /* SWB TBE layer */ -#define SWB_BWE_1k6 1600 /* SWB BWE layer */ -#define FB_TBE_1k8 1800 /* SWB+FB TBE layer (used only for 48kHz signals) */ -#define FB_BWE_1k8 1800 /* SWB+FB BWE layer (used only for 48kHz signals) */ -#define SWB_TBE_2k8 2800 /* SWB TBE layer @32kbps */ -#define FB_TBE_3k0 3000 /* SWB+FB TBE layer @32kbps (used only for 48kHz signals) */ -#define SWB_BWE_16k 16000 /* SWB BWE layer for highrate SWB speech */ - -#define GSC_LRES_GAINQ_LIMIT 3000 /* Bitrate where the low resolution quantization starts for the GSC */ -#define GSC_LRES_NB_NITS 10 /* Number of bits gained by using the low resolution quantization */ - -#define SIZE_BRATE_TBL 11 -#define SIZE_BRATE_INTERMED_TBL 22 - -#define BRATE2IDX( brate ) ( brate == ACELP_5k00 ? 0 : brate == ACELP_6k15 ? 1 : brate == ACELP_7k20 ? 2 : brate == ACELP_8k00 ? 3 : brate == ACELP_9k60 ? 4 : brate == ACELP_11k60 ? 5 : brate == ACELP_12k15 ? 6 : brate == ACELP_12k85 ? 7 : brate == ACELP_13k20 ? 8 : brate == ACELP_14k80 ? 9 : brate == ACELP_16k40 ? 10 : brate == ACELP_22k60 ? 11 : brate == ACELP_24k40 ? 12 : brate == ACELP_29k00 ? 13 : brate == ACELP_29k20 ? 14 : brate == ACELP_30k20 ? 15 : brate == ACELP_30k40 ? 16 : brate == ACELP_32k ? 17 : brate == ACELP_48k ? 18 : brate == ACELP_64k ? 19 : brate == HQ_96k ? 20 : brate == HQ_128k ? 21 : -1 ) - -#define BRATE2IDX16k( brate ) ( brate == ACELP_8k00 ? 0 : brate == ACELP_14k80 || brate == ACELP_16k40 ? 1 : brate == ACELP_22k60 ? 2 : brate == ACELP_24k40 ? 3 : brate == ACELP_29k00 ? 4 : brate == ACELP_29k20 ? 5 : brate == ACELP_30k20 ? 6 : brate == ACELP_30k40 ? 7 : brate == ACELP_32k ? 8 : brate == ACELP_48k ? 9 : brate == ACELP_64k ? 10 : -1 ) - -/* Combine parameters into a single index (used to retrieve number of bits from bit allocation tables) */ -#define LSF_BIT_ALLOC_IDX( brate, ctype ) ( 6 * BRATE2IDX( brate ) + ( ctype ) ) - -#define BIT_ALLOC_IDX( brate, ctype, sfrm, tc ) \ - ( ( sfrm != -1 ? NB_SUBFR : 1 ) * \ - ( ( tc == -1 ? 4 : 10 ) * BRATE2IDX( brate ) + ( ctype == INACTIVE ? GENERIC : ctype ) - 1 + ( tc == -1 ? 0 : tc ) ) + \ - ( sfrm != -1 ? sfrm / L_SUBFR : 0 ) ) - -#define BIT_ALLOC_IDX_16KHZ( brate, ctype, sfrm, tc ) \ - ( ( sfrm > -1 ? NB_SUBFR16k : 1 ) * \ - ( ( tc == -1 ? 3 : 7 ) * BRATE2IDX16k( brate ) + ( ctype == TRANSITION ? 2 : ( ctype == GENERIC ? 1 : 0 ) ) + ( tc == -1 ? 0 : tc ) ) + \ - ( sfrm != -1 ? sfrm / L_SUBFR : 0 ) ) - -/* Combine coder_type, bandwidth, formant sharpening flag, and channel-aware flag into one indice */ -#define SIG2IND( ctype, bw, sf, ca_rf ) ( ctype | ( bw << 3 ) | ( sf << 6 ) | ( ca_rf << 7 ) ) - -#define MAX_ACELP_SIG 100 - -/*----------------------------------------------------------------------------------* - * Bitstream indices - *----------------------------------------------------------------------------------*/ - -#define MAX_PVQ_PUSH_IND 320 /* Maximum number of (fwd+reverse) calls to push_indices for the PVQ_range encoder */ - -enum -{ - IND_IVAS_FORMAT, - IND_SMODE, - IND_SID_TYPE, - IND_BWIDTH, - IND_CORE, - IND_PPP_NELP_MODE, - IND_ACELP_16KHZ, - IND_ACELP_SIGNALLING, - IND_SHARP_FLAG, - IND_MDCT_CORE, - IND_TCX_CORE, - IND_BWE_FLAG, - IND_HQ_SWITCHING_FLG, - IND_LAST_L_FRAME, - IND_VAD_FLAG, - IND_HQ_BWIDTH, - IND_TC_SUBFR, - IND_GSC_IVAS_SP = IND_TC_SUBFR + 4, - IND_LSF_PREDICTOR_SELECT_BIT, - IND_LSF, - IND_MID_FRAME_LSF_INDEX = IND_LSF + 17, - - IND_ISF_0_0, - IND_ISF_0_1, - IND_ISF_0_2, - IND_ISF_0_3, - IND_ISF_0_4, - IND_ISF_1_0, - IND_ISF_1_1, - IND_ISF_1_2, - IND_ISF_1_3, - IND_ISF_1_4, -#ifdef LSF_RE_USE_SECONDARY_CHANNEL - IND_IC_LSF_PRED, -#endif - IND_GSC_ATTACK, - IND_GSC_SWB_SPEECH, - IND_NOISE_LEVEL, - IND_HF_NOISE, - IND_PIT_CONTR_IDX, - IND_FEC_CLAS, - IND_FEC_ENR, - IND_FEC_POS, - IND_ES_PRED, - IND_HARM_FLAG_ACELP, - - /* ------------- Loop for alg. codebook indices at 24.4 kbps (special case) -------------- */ - TAG_ALG_CDBK_4T64_24KBIT_START, - IND_ALG_CDBK_4T64_1_24KBIT = TAG_ALG_CDBK_4T64_24KBIT_START, - IND_ALG_CDBK_4T64_2_24KBIT = TAG_ALG_CDBK_4T64_24KBIT_START, - TAG_ALG_CDBK_4T64_24KBIT_END = TAG_ALG_CDBK_4T64_24KBIT_START + 40, - /* ------------------------------------------------ */ - - /* ------------- ACELP subframe loop -------------- */ - TAG_ACELP_SUBFR_LOOP_START, - IND_PITCH = TAG_ACELP_SUBFR_LOOP_START, - IND_LP_FILT_SELECT = TAG_ACELP_SUBFR_LOOP_START, - IND_ALG_CDBK_1T64 = TAG_ACELP_SUBFR_LOOP_START, - IND_ALG_CDBK_2T32 = TAG_ACELP_SUBFR_LOOP_START, - IND_ALG_CDBK_4T64 = TAG_ACELP_SUBFR_LOOP_START, - IND_ALG_CDBK_4T64_1 = TAG_ACELP_SUBFR_LOOP_START, - IND_ALG_CDBK_4T64_2 = TAG_ACELP_SUBFR_LOOP_START, - IND_ALG_CDBK_4T64_1BIT = TAG_ACELP_SUBFR_LOOP_START, - IND_GAUS_CDBK_INDEX = TAG_ACELP_SUBFR_LOOP_START, - IND_TILT_FACTOR = TAG_ACELP_SUBFR_LOOP_START, - IND_GAIN = TAG_ACELP_SUBFR_LOOP_START, - IND_GAIN_CODE = TAG_ACELP_SUBFR_LOOP_START, - IND_TC_IMP_SHAPE = TAG_ACELP_SUBFR_LOOP_START, - IND_TC_IMP_POS = TAG_ACELP_SUBFR_LOOP_START, - IND_TC_IMP_SIGN = TAG_ACELP_SUBFR_LOOP_START, - IND_TC_IMP_GAIN = TAG_ACELP_SUBFR_LOOP_START, - IND_GAIN_PIT = TAG_ACELP_SUBFR_LOOP_START, - IND_PIT_IDX = TAG_ACELP_SUBFR_LOOP_START, - IND_AVQ_GAIN = TAG_ACELP_SUBFR_LOOP_START, - IND_I = TAG_ACELP_SUBFR_LOOP_START, - IND_KV = TAG_ACELP_SUBFR_LOOP_START, - IND_NQ = TAG_ACELP_SUBFR_LOOP_START, - IND_HF_GAIN_MODIFICATION = TAG_ACELP_SUBFR_LOOP_START, - TAG_ACELP_SUBFR_LOOP_END = TAG_ACELP_SUBFR_LOOP_START + 300, - /* ------------------------------------------------ */ - - IND_MEAN_GAIN2, - IND_Y_GAIN_TMP = IND_MEAN_GAIN2 + 32, - IND_Y_GAIN_HF = IND_Y_GAIN_TMP + 32, - IND_HQ_VOICING_FLAG, - IND_HQ_SWB_CLAS, - IND_NF_IDX, - IND_LC_MODE, - IND_YNRM, - IND_HQ_SWB_EXC_SP_CLAS = IND_YNRM + 44, - IND_HQ_SWB_EXC_CLAS = IND_HQ_SWB_EXC_SP_CLAS, - IND_SWB_FENV_HQ = IND_HQ_SWB_EXC_CLAS, - IND_FB_FENV_HQ = IND_SWB_FENV_HQ + 5, - IND_DELTA_ENV_HQ = IND_FB_FENV_HQ + 5, - IND_HVQ_BWE_NL, - IND_NUM_PEAKS = IND_HVQ_BWE_NL + 2, - IND_POS_IDX, - IND_FLAGN = IND_POS_IDX + 280, - IND_PG_IDX, - IND_HVQ_PEAKS = IND_PG_IDX + 35, - IND_HVQ_NF_GAIN = IND_HVQ_PEAKS + 70, - IND_HQ2_SWB_CLAS = IND_HVQ_NF_GAIN + 2, - IND_HQ2_DENG_MODE, - IND_HQ2_DENG_8SMODE, - IND_HQ2_DENG_8SMODE_N0, - IND_HQ2_DENG_8SMODE_N1, - IND_HQ2_DENG_8SPOS, - IND_HQ2_DENG_8SDEPTH, - IND_HQ2_DENG_HMODE, - IND_HQ2_DIFF_ENERGY, - IND_HQ2_P2A_FLAGS = IND_HQ2_DIFF_ENERGY + 100, - IND_HQ2_LAST_BA_MAX_BAND = IND_HQ2_P2A_FLAGS + 60, - IND_RC_START = IND_HQ2_LAST_BA_MAX_BAND + 2, - IND_RC_END = IND_RC_START + MAX_PVQ_PUSH_IND, - IND_HVQ_PVQ_GAIN = IND_RC_END + 1, - IND_NOISINESS = IND_HVQ_PVQ_GAIN + 8, - IND_ENERGY, - IND_CNG_HO, - IND_SID_BW, - IND_CNG_ENV1, - IND_WB_FENV, - IND_WB_CLASS, - IND_IG1, - IND_IG2A, - IND_IG2B, - IND_NELP_FID, - IND_DELTALAG, - IND_POWER, - IND_AMP0, - IND_AMP1, - IND_GLOBAL_ALIGNMENT, - IND_PVQ_FINE_GAIN, - IND_UV_FLAG, - IND_SHB_SUBGAIN = IND_PVQ_FINE_GAIN + 44, - IND_SHB_FRAMEGAIN, - IND_STEREO_ICBWE_MSFLAG, - IND_SHB_ENER_SF, - IND_SHB_RES_GS, - IND_SHB_VF = IND_SHB_RES_GS + 5, - IND_SHB_LSF, - IND_SHB_MIRROR = IND_SHB_LSF + 5, - IND_SHB_GRID, - IND_SWB_CLASS, - IND_SWB_TENV, - IND_SWB_FENV = IND_SWB_TENV + 4, - IND_SHB_CNG_GAIN = IND_SWB_FENV + 4, - IND_DITHERING, - IND_FB_SLOPE, - - IND_HQ2_SPT_SHORTEN, - IND_HQ2_SUBBAND_TCQ, - IND_HQ2_SUBBAND_GAIN = IND_HQ2_SUBBAND_TCQ + 100, - IND_HQ2_DUMMY = IND_HQ2_SUBBAND_GAIN + 20, - - IND_LAGINDICES, - IND_NOISEG, - IND_AUDIO_GAIN, - IND_AUDIO_DELAY, - - /* ------------- HR SWB BWE loop -------------- */ - TAG_HR_BWE_LOOP_START = IND_AUDIO_DELAY + 4, - IND_HR_IS_TRANSIENT = TAG_HR_BWE_LOOP_START, - IND_HR_GAIN = TAG_HR_BWE_LOOP_START, - IND_HR_ENVELOPE = TAG_HR_BWE_LOOP_START, - IND_HR_HF_GAIN = TAG_HR_BWE_LOOP_START, - IND_I2 = TAG_HR_BWE_LOOP_START, - IND_KV2 = TAG_HR_BWE_LOOP_START, - IND_NQ2 = TAG_HR_BWE_LOOP_START, - TAG_HR_BWE_LOOP_END = TAG_HR_BWE_LOOP_START + 200, - /* ------------------------------------------------ */ - - IND_CORE_SWITCHING_CELP_SUBFRAME, - IND_CORE_SWITCHING_AUDIO_DELAY = IND_CORE_SWITCHING_CELP_SUBFRAME + 20, - IND_CORE_SWITCHING_AUDIO_GAIN, - - IND_STEREO_ICBWE_REF, - IND_STEREO_ICBWE_SP, - IND_STEREO_ICBWE_GS, - IND_STEREO_REFCHAN, - IND_STEREO_CORRSTATS, - IND_STEREO_GD, - IND_STEREO_LRTD_FLAG, - IND_STEREO_LPC_REUSE, - IND_STEREO_TD_ALPHA, - IND_STEREO_2ND_CODER_T, - - IND_UNUSED, - MAX_NUM_INDICES = IND_UNUSED + 772 /* Total 2640 in line with MAX_BITS_METADATA */ -}; - -/*----------------------------------------------------------------------------------* - * Delays - *----------------------------------------------------------------------------------*/ - -#define FRAMES_PER_SEC 50 - -#define FRAME_SIZE_NS 20000000L - -#define ACELP_LOOK_NS 8750000L -#define DELAY_FIR_RESAMPL_NS 937500L -#define DELAY_CLDFB_NS 1250000L - -#define DELAY_SWB_TBE_12k8_NS 1250000L -#define DELAY_SWB_TBE_16k_NS 1125000L -#define MAX_DELAY_TBE_NS 1312500L -#define DELAY_BWE_TOTAL_NS 2312500L -#define DELAY_FD_BWE_ENC_12k8_NS ( DELAY_BWE_TOTAL_NS - ( MAX_DELAY_TBE_NS - DELAY_SWB_TBE_12k8_NS ) ) -#define DELAY_FD_BWE_ENC_16k_NS ( DELAY_BWE_TOTAL_NS - ( MAX_DELAY_TBE_NS - DELAY_SWB_TBE_16k_NS ) ) -#define DELAY_FD_BWE_ENC_NS 2250000L - -#define L_LOOK_12k8 NS2SA( INT_FS_12k8, ACELP_LOOK_NS ) /* look-ahead length at 12.8kHz */ -#define L_LOOK_16k NS2SA( INT_FS_16k, ACELP_LOOK_NS ) /* look-ahead length at 16kHz */ - -/* core switching constants @16kHz */ -#define SWITCH_GAP_LENGTH_NS 6250000L /* length of ACELP->HQ switching gap in ms */ -#define HQ_DELAY_COMP NS2SA( 8000, DELAY_CLDFB_NS ) -#define HQ_DELTA_MAX 6 /* maximum multiplication factor (==48kHz/8kHz) for core switching modules */ - -#define N_ZERO_MDCT_NS 5625000L /* number of zeros in ms for MDCT */ -#define NL_BUFF_OFFSET 12 - -#define N_WS2N_FRAMES 40 /* number of frames for attenuation during the band-width switching */ -#define N_NS2W_FRAMES 20 /* number of frames for attenuation during the band-width switching */ - -/*----------------------------------------------------------------------------------* - * Coder types (only for ACELP core when not running in AMR-WB IO mode) - *----------------------------------------------------------------------------------*/ - -#define INACTIVE 0 /* inactive */ -#define UNVOICED 1 /* unvoiced */ -#define VOICED 2 /* purely voiced */ -#define GENERIC 3 /* generic */ -#define TRANSITION 4 /* transition */ -#define AUDIO 5 /* audio (GSC) */ -#define LR_MDCT 6 /* low-rate MDCT core */ - - -/*--------------------------------------------------* - * Partial copy frame types (only for ACELP core ) - *--------------------------------------------------*/ - -#define ACELP_MODE_MAX 4 -#define RF_MODE_MAX 4 - -/* TCX partial copy frame types */ -#define RF_NO_DATA 0 -#define RF_TCXFD 1 -#define RF_TCXTD1 2 -#define RF_TCXTD2 3 - -/* ACELP partial copy frame types */ -#define RF_ALLPRED ACELP_MODE_MAX -#define RF_NOPRED ACELP_MODE_MAX + 1 -#define RF_GENPRED ACELP_MODE_MAX + 2 -#define RF_NELP ACELP_MODE_MAX + 3 - - -/*--------------------------------------------------------------* - * Frame length constants in mode 2 - *---------------------------------------------------------------*/ - -#define ACELP_TCX_TRANS_NS 1250000 /* Duration of the ACELP->TCX overlap - 1.25 ms */ -#define L_FRAME_MAX L_FRAME48k /* Max 20ms frame size @48kHz */ -#define L_FRAME_PLUS 1200 /* Max frame size (long TCX frame) */ -#define L_MDCT_OVLP_MAX NS2SA( 48000, ACELP_LOOK_NS ) /* = Max mdct overlap */ -#define N_TCX10_MAX 480 /* Max size of TCX10 MDCT spectrum */ -#define BITS_TEC 1 /* number of bits for TEC */ -#define BITS_TFA 1 /* number of bits for TTF */ -#define N_TEC_TFA_SUBFR 16 /* number of subframes of TEC/TFA */ -#define L_TEC_TFA_SUBFR16k ( L_FRAME16k / N_TEC_TFA_SUBFR ) /* TEC/TFA subframe size @ 16kHz*/ -#define MAX_TEC_SMOOTHING_DEG 6 /* max degree of smoothing for TEC */ -#define N_MAX 1200 /* Max size of MDCT spectrum = 25ms @ 48kHz */ -#define N_MAX_TCX 1000 /* Max size of TCX/IGF coded lines */ -#define IGF_START_MN 144 /* MDCT lines not used by IGF*/ -#define IGF_START_MX 800 /* max. MDCT lines used by IGF*/ -#define MAX_IGF_SFB_LEN 160 /* max width of an IGF SFB */ -#define NUM_DCT_LENGTH 24 - -#define NB_DIV 2 /* number of division (subframes) per 20ms frame */ -#define L_MDCT_HALF_OVLP_MAX L_MDCT_OVLP_MAX - 48000 / 200 /* Size of HALF overlap window slope @ 48 kHz */ -#define L_MDCT_MIN_OVLP_MAX 60 /* Size of the MDCT minimal overlap @ 48 kHz - 1.25ms */ -#define L_MDCT_TRANS_OVLP_MAX NS2SA( 48000, ACELP_TCX_TRANS_NS ) /* Size of the ACELP->MDCT transition overlap - 1.25ms */ - -#define L_NEXT_MAX_16k NS2SA( 16000, ACELP_LOOK_NS ) /* 140 */ /* maximum encoder lookahead at 16kHz */ -#define L_NEXT_MAX_32k NS2SA( 32000, ACELP_LOOK_NS ) /* 280 */ /* maximum encoder lookahead at 32kHz */ -#define L_PAST_MAX_32k 360 /* maximum encoder past samples at 32kHz */ - -#define L_MDCT_OVLP_MAX_CORE_FS L_NEXT_MAX_32k /* 280, 2/3 * L_MDCT_OVLP_MAX */ -#define L_MDCT_HALF_OVLP_MAX_CORE_FS 2 * ( L_MDCT_HALF_OVLP_MAX ) / 3 /* 2/3 * L_MDCT_HALF_OVLP_MAX */ -#define L_MDCT_MIN_OVLP_MAX_CORE_FS 2 * ( L_MDCT_MIN_OVLP_MAX ) / 3 /* 2/3 * L_MDCT_MIN_OVLP_MAX */ -#define L_ALDO_WIN1_MAX_CORE_FS 460 /* ALDO1 maximum window length for max core Fs */ -#define L_ALDO_WIN1_FB_MAX 690 /* ALDO1 maximum window length */ - -/*----------------------------------------------------------------------------------* - * ACELP core constants - *----------------------------------------------------------------------------------*/ - -#define SAFETY_NET 0 -#define MOVING_AVERAGE 1 -#define AUTO_REGRESSIVE 2 - -#define INT_FS_12k8 12800 /* internal sampling frequency */ -#define M 16 /* order of the LP filter @ 12.8kHz */ -#define L_FRAME 256 /* frame size at 12.8kHz */ -#define NB_SUBFR 4 /* number of subframes per frame */ -#define L_SUBFR ( L_FRAME / NB_SUBFR ) /* subframe size */ -#define L_INP_MEM ( L_LOOK_16k + ( ( L_LP_16k - ( NS2SA( INT_FS_16k, ACELP_LOOK_NS ) + L_SUBFR16k / 2 ) ) - 3 * L_SUBFR16k / 2 ) ) /*=240 samples length of memory of input signal, given by the Look-Ahead + the past memory (max needed for the LP window at 16 kHz) */ -#define L_INP_12k8 ( L_INP_MEM + L_FRAME ) /* length of input signal buffer @12.8kHz */ -#define L_INP ( L_INP_MEM + L_FRAME32k ) /* length of input signal buffer @32kHz */ - -#define L_EXC_MEM L_FRAME16k /* length of memory of excitation signal @16kHz */ -#define L_EXC_MEM_12k8 ( PIT_MAX + L_INTERPOL ) /* length of memory of excitation signal @12.8kHz */ -#define L_EXC_MEM_DEC ( 3 * L_FRAME16k / 2 ) /*Half-frame needed for PLC in case of TCX->ACELP*/ -#define L_EXC ( L_EXC_MEM + L_FRAME16k + 1 ) /* length of encoder excitation signal buffer @16kHz*/ -#define L_EXC_DEC ( L_EXC_MEM_DEC + L_FRAME16k + 1 + L_SUBFR ) /* length of decoder excitation signal buffer @16kHz*/ -#define L_SYN_MEM NS2SA( 48000, DELAY_CLDFB_NS ) /* synthesis memory length, 1.25ms @ 48kHz */ -#define L_SYN ( L_SYN_MEM + L_FRAME16k ) /* length of synthesis signal buffer @16kHz */ -#define L_WSP_MEM ( PIT_MAX + L_INTERPOL ) /* length of memory for weighted input signal @12.8kHz*/ -#define L_WSP ( L_WSP_MEM + L_FRAME + L_LOOK_12k8 ) /* length of weighted input signal buffer @12.8kHz*/ - -#define OLD_SYNTH_SIZE_DEC ( 2 * L_FRAME_MAX ) /* decoder past synthesis; needed for LTP, PLC and rate switching*/ -#define OLD_SYNTH_INTERNAL_DEC ( 2 * L_FRAME32k ) /* decoder past synthesis @ internal sampling rate; needed for LTP, PLC and rate switching*/ -#define OLD_SYNTH_SIZE_ENC L_FRAME32k + L_FRAME32k / 4 /* encoder synth memory */ -#define OLD_EXC_SIZE_DEC ( 3 * L_FRAME_MAX / 2 + 2 * L_FIR_FER2 ) /*old excitation needed for decoder for PLC*/ - -#define TILT_CODE 0.3f /* ACELP code preemphasis factor */ - -#define L_SUBFR16k ( L_FRAME16k / NB_SUBFR ) /* subframe size at 16kHz */ -#define L_HALFR16k ( 2 * L_SUBFR16k ) /* half-frame size at 16kHz */ - -#define L_INTERPOL2 16 /* Length of filter for interpolation */ -#define L_INTERPOL ( L_INTERPOL2 + 1 ) /* Length of filter for interpolation */ -#define TILT_FAC 0.68f /* tilt factor (denominator) */ -#define M16k 20 /* order of the LP filter @ 16kHz */ -#define PIT_SHARP 0.85f /* pitch sharpening factor */ -#define PIT_UP_SAMP 4 /* upsampling factor for 1/4 interpolation filter */ -#define PIT_L_INTERPOL2 16 -#define PIT_FIR_SIZE2 ( PIT_UP_SAMP * PIT_L_INTERPOL2 + 1 ) -#define PIT_UP_SAMP6 6 -#define PIT_L_INTERPOL6_2 17 -#define PIT_FIR_SIZE6_2 ( PIT_UP_SAMP6 * PIT_L_INTERPOL6_2 + 1 ) -#define E_MIN 0.0035f /* minimum allowable energy */ -#define STEP_DELTA 0.0625f /* quantization step for tilt compensation of gaussian cb. excitation */ -#define GAMMA_EV 0.92f /* weighting factor for core synthesis error weighting */ -#define FORMANT_SHARPENING_NOISE_THRESHOLD 21.0f /* lp_noise level above which formant sharpening is deactivated */ -#define LP_NOISE_THRESH 20.f - -#define L_FILT_UP8k 24 /* Resampling - delay of filter for 8 kHz output signals (at 12.8 kHz sampling rate) */ -#define LEN_WIN_SSS 120 -#define L_FILT 12 /* Resampling - delay of the resampling low-pass filter @12.8kHz */ -#define L_FILT16k 15 /* Resampling - delay of filter for 16 kHz input signals (at 16kHz sampling rate) */ -#define L_FILT32k 30 /* Resampling - delay of filter for 32 kHz input signals (at 32kHz sampling rate) */ -#define L_FILT48k 45 /* Resampling - delay of filter for 48 kHz input signals (at 48kHz sampling rate) */ -#define L_FILT_UP16k 12 /* Resampling - delay of filter for 16 kHz output signals (at 12.8 kHz sampling rate) */ -#define L_FILT_UP32k 12 /* Resampling - delay of filter for 32 kHz output signals (at 12.8 kHz sampling rate) */ -#define L_FILT_UP48k 12 /* Resampling - delay of filter for 48 kHz output signals (at 12.8 kHz sampling rate) */ -#define L_FILT_MAX L_FILT48k /* Resampling - maximum length of all filters - for memories */ -#define RS_INV_FAC 0x8000 /* Resampling - flag needed in rom_com and modif_fs to allow pre-scaled and non pre-scaled filters */ - -#define L_HP20_MEM 4 /* HP20 filter memory length */ - -#define CLDFB_NO_CHANNELS_MAX 60 /* CLDFB resampling - max number of CLDFB channels */ -#define CLDFB_NO_COL_MAX 16 /* CLDFB resampling - max number of CLDFB col. */ -#define CLDFB_NO_COL_MAX_SWITCH 6 /* CLDFB resampling - max number of CLDFB col. for switching */ -#define CLDFB_NO_COL_MAX_SWITCH_BFI 10 /* CLDFB resampling - max number of CLDFB col. for switching, BFI */ -#define CLDFB_OVRLP_MIN_SLOTS 3 /* CLDFB resampling - minimize processing to minimum required for transition frame ACELP->TCX/HQ */ -#define INV_CLDFB_BANDWIDTH ( 1.f / 800.f ) - -#define L_FILT_2OVER3 12 -#define L_FILT_2OVER3_LP 3 - -typedef enum -{ - CLDFB_ANALYSIS, - CLDFB_SYNTHESIS -} CLDFB_TYPE; - -typedef enum -{ - CLDFB_PROTOTYPE_1_25MS, - CLDFB_PROTOTYPE_5_00MS -} CLDFB_PROTOTYPE; - -/* pre-calculated scale values for the cldfb filter prototypes - values are calculated like this: sqrt( 6400 / no_cldfb_channels * sum(filter[k]**2)) */ -#define CLDFB80_10_SCALE 88.293854f -#define CLDFB80_16_SCALE 88.299622f -#define CLDFB80_20_SCALE 88.300926f -#define CLDFB80_30_SCALE 88.234489f -#define CLDFB80_32_SCALE 88.303848f -#define CLDFB80_40_SCALE 88.304726f -#define CLDFB80_60_SCALE 88.028412f - -#define LDQMF_10_SCALE 84.567841f -#define LDQMF_16_SCALE 84.567932f -#define LDQMF_20_SCALE 84.567963f -#define LDQMF_30_SCALE 84.501907f -#define LDQMF_32_SCALE 84.568001f -#define LDQMF_40_SCALE 84.567986f -#define LDQMF_60_SCALE 84.303284f - -#define L_FFT 256 /* Spectral analysis - length of the FFT */ -#define LOG2_L_FFT 8 /* Spectral analysis - log2 of L_FFT */ - -#define BIN ( INT_FS_12k8 / L_FFT ) /* Spectral analysis - Width of one frequency bin in Hz */ -#define NB_BANDS 20 /* Spectral analysis - number of frequency bands */ -#define VOIC_BINS 74 /* Spectral analysis - max number of frequency bins considered as voiced (related to VOIC_BAND and L_FFT) */ -#define VOIC_BAND 17 /* Spectral analysis - number of critical bands considered as voiced (related to VOIC_BINS) */ -#define VOIC_BINS_8k 115 /* Spectral analysis - max number of frequency bins considered as voiced in NB (related to VOIC_BAND_8k and L_FFT) */ -#define VOIC_BAND_8k 17 /* Spectral analysis - number of critical bands considered as voiced in NB (related to VOIC_BINS_8k) */ - -#define M_ALPHA 0.9f /* Multi-harm analysis - forgetting factor of LT correlation map */ -#define M_GAMMA 0.99f /* Multi-harm analysis - forgetting factor of active speech decision predictor */ -#define THR_CORR 56 /* Multi-harm analysis - starting threshold of multi-harm. correlation */ - -#define L_LP 320 /* LP analysis - LP window size */ -#define L_LP_16k 400 /* LP analysis @16kHz - LP window size for 16kHz */ -#define L_LP_AMR_WB 384 /* LP analysis - windows size (only for AMR-WB IO mode) */ -#define GRID50_POINTS 51 /* LP analysis - half-number of points to evaluate Chebyshev polynomials used in the LP coefs. conversion */ -#define GRID40_POINTS 41 /* LP analysis - half-number of points to evaluate Chebyshev polynomials used in the LP coefs. conversion */ -#define GRID100_POINTS 100 /* LP analysis - number of points to evaluate Chebyshev polynomials */ - -#define PIT_MIN 34 /* OL pitch analysis - Minimum pitch lag */ -#define PIT_MAX 231 /* OL pitch analysis - Maximum pitch lag */ -#define PIT_MIN_EXTEND 20 /* OL pitch analysis - Minimum pitch lag of extended range */ -#define PIT_MIN_DOUBLEEXTEND 17 /* OL pitch analysis - Minimum pitch lag of double-extended range */ -#define OPL_DECIM 2 /* OL pitch analysis - decimation factor */ -#define L_INTERPOL1 4 /* OL pitch analysis - interval to compute normalized correlation */ -#define FIR_SIZE1 ( PIT_UP_SAMP * L_INTERPOL1 + 1 ) /* OL pitch analysis - total length of the 1/4 interpolation filter */ - -#define PIT_MIN_SHORTER 29 /* OL pitch analysis - minimum for wider pitch */ - -#define PIT_MIN_12k8 29 /* Minimum pitch lag with resolution 1/4 */ -#define PIT_FR2_12k8 121 /* Minimum pitch lag with resolution 1/2 */ -#define PIT_FR1_12k8 154 /* Minimum pitch lag with resolution 1 */ -#define PIT_MAX_12k8 231 /* Maximum pitch lag */ -#define PIT_FR1_8b_12k8 82 /* Minimum pitch lag with resolution 1 for low bitrate pitch delay codings*/ -#define PIT_MIN_16k 36 -#define PIT_FR2_16k 36 -#define PIT_FR1_16k 165 -#define PIT_FR1_8b_16k 165 -#define PIT_MIN_25k6 58 -#define PIT_FR2_25k6 58 -#define PIT_FR1_25k6 164 -#define PIT_MAX_25k6 463 -#define PIT_FR1_8b_25k6 164 -#define PIT_MIN_32k 72 -#define PIT_FR2_32k 72 -#define PIT_FR1_32k 75 -#define PIT_MAX_32k 577 -#define PIT_FR1_8b_32k 75 -#define PIT_MAX_MAX PIT_MAX_32k - -#define PIT_FR1_8b 92 /* Pitch encoding - Minimum pitch lag with resolution 1 */ -#define PIT_FR2_9b 128 /* Pitch encoding - Minimum pitch lag with resolution 1/2 */ -#define PIT_FR1_9b 160 /* Pitch encoding - Minimum pitch lag with resolution 1 */ -#define PIT_FR1_EXTEND_8b 64 /* Pitch encoding - Minimum pitch lag with resolution 1 of extended range */ -#define PIT_FR2_EXTEND_9b 116 /* Pitch encoding - Minimum pitch lag with resolution 1/2 of extended range */ -#define PIT_FR1_EXTEND_9b 128 /* Pitch encoding - Minimum pitch lag with resolution 1 of extended range */ -#define PIT_FR1_DOUBLEEXTEND_8b 58 /* Pitch encoding - Minimum pitch lag with resolution 1 of double-extended range */ -#define PIT_FR2_DOUBLEEXTEND_9b 112 /* Pitch encoding - Minimum pitch lag with resolution 1/2 of double-extended range */ -#define PIT_FR1_DOUBLEEXTEND_9b 124 /* Pitch encoding - Minimum pitch lag with resolution 1 of double-extended range */ - -#define LOW_PASS 0 /* LP filtering - flag for low-pass filtering of the excitation */ -#define FULL_BAND 1 /* LP filtering - flag for no low-pass filtering of the excitation */ -#define NORMAL_OPERATION 2 /* LP filtering - flag for selecting the best of the two above */ - -#define NB_TRACK_FCB_2T 2 /* Algebraic codebook - number of tracks in algebraic fixed codebook search with 2 tracks */ -#define NB_POS_FCB_2T 32 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 2 tracks */ -#define NB_TRACK_FCB_4T 4 /* Algebraic codebook - number of tracks in algebraic fixed codebook search with 4 tracks */ -#define NB_POS_FCB_4T 16 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 4 tracks */ -#define NB_POS_FCB_2T_128 64 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 2 tracks and L_subfr = 128 */ -#define NB_POS_FCB_4T_128 32 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 4 tracks and L_subfr = 128 */ -#define NB_PULSE_MAX 36 -#define MAX_IDX_LEN 9 -#define NPMAXPT ( ( NB_PULSE_MAX + NB_TRACK_FCB_4T - 1 ) / NB_TRACK_FCB_4T ) /* used in search as well */ - -#define GAIN_PRED_ORDER 4 /* Gain quantization - prediction order for gain quantizer (only for AMR-WB IO mode) */ -#define MEAN_ENER 30 /* Gain quantization - average innovation energy */ - -#define DTX_HIST_SIZE 8 /* CNG & DTX - number of last signal frames used for CNG averaging */ -#define CNG_ISF_FACT 0.9f /* CNG & DTX - CNG spectral envelope smoothing factor */ -#define STEP_AMR_WB_SID 2.625f /* CNG & DTX - CNG energy quantization step */ -#define HO_HIST_SIZE 8 /* CNG & DTX - maximal number of hangover frames used for averaging */ -#define NUM_ENV_CNG 20 -#define BUF_L_NRG 0.7f /* CNG & DTX - lower threshold factor for hangover updates */ -#define BUF_H_NRG 1.03f /* CNG & DTX - higher threshold factor for hangover updates */ -#define CNG_TYPE_HO 20 /* CNG & DTX - hangover for switching between CNG types */ - -#define BUF_DEC_RATE 25 /* CNG & DTX - buffer size decrease rate for active frames */ -#define STEP_SID 5.25f /* CNG & DTX - CNG energy quantization step */ - -#define MIN_ACT_CNG_UPD 20 /* DTX - Minimum number of consecutive active frames for CNG mode update */ -#define FIXED_SID_RATE 8 /* DTX SID rate */ - -#define TOTALNOISE_HIST_SIZE 4 - -#define UNKNOWN_NOISE 0 /* unknown noisy type */ -#define SILENCE 1 /* speech with high SNR */ -#define CLDFBVAD_NB_ID 1 -#define CLDFBVAD_WB_ID 2 -#define CLDFBVAD_SWB_ID 3 -#define CLDFBVAD_FB_ID 4 -#define SP_CENTER_NUM 4 /* number of spectral centroid */ -#define TONA_NUM 3 /* number of tonal */ -#define PRE_SNR_NUM 32 /* number of snr to calculate average SNR of all sub-bands */ -#define POWER_NUM 56 /* number of energy of several frames*/ -#define PRE_SPEC_DIF_NUM 56 /* number of energy of several frames*/ - -#define MAX_SUBBAND_NUM 12 /* max number of sub-band divided non-uniformly*/ -#define BG_ENG_NUM MAX_SUBBAND_NUM /* number of energy of sub-band divided non-uniformly*/ -#define MIN_AMP_ID 5 -#define MAX_AMP_ID 64 -#define SPEC_AMP_NUM ( MAX_AMP_ID - MIN_AMP_ID + 1 ) -#define STABLE_NUM 4 /* number of time-domain stable rate*/ -#define SFM_NUM 3 /* number of spectral flatness */ - -#define START_NG 5 /* Stationary noise UV modification */ -#define FULL_NG 10 /* Stationary noise UV modification */ -#define ISP_SMOOTHING_QUANT_A1 0.9f /* Stationary noise UV modification */ - -#define FEC_BITS_CLS 2 /* FEC - number of bits for clas information */ -#define FEC_BITS_ENR 5 /* FEC - number of bits for energy information */ -#define FEC_ENR_STEP ( 96.0f / ( 1 << FEC_BITS_ENR ) ) -#define FEC_ENR_QLIMIT ( ( 1 << FEC_BITS_ENR ) - 1 ) -#define FEC_BITS_POS 8 /* FEC - number of bits for glottal pulse position */ -#define L_SYN_MEM_CLAS_ESTIM ( 2 * PIT16k_MAX - L_FRAME16k ) /* FEC - memory of the synthesis signal for frame class estimation */ -#define L_SYN_CLAS_ESTIM ( L_SYN_MEM_CLAS_ESTIM + L_FRAME16k ) /* FEC - length of the synthesis signal buffer for frame class estimation */ - -#define FRAME_COUNT_HF_SYNTH 100 /* Threshold of frame counter in HF synthesis */ - -#define AUDIO_COUNTER_INI 200 /* Counter initialization */ -#define AUDIO_COUNTER_STEP 10 /* Counter increase on each audio frame */ -#define AUDIO_COUNTER_MAX 1000 /* Counter saturation */ - -#define BWD_TOTAL_WIDTH 320 /* BWD width */ -#define BWD_COUNT_MAX 100 /* maximum value of BWD counter */ -#define BWD_N_BINS_MAX 13 /* maximum number of BWD bins */ -#define BWS_TRAN_PERIOD 5 /* BWS - number of frames for transition period */ - -#define PREEMPH_FAC 0.68f /* preemphasis factor at 12.8kHz */ -#define PREEMPH_FAC_16k 0.72f -#define PREEMPH_FAC_SWB 0.9f /* preemphasis factor for super wide band */ -#define GAMMA1 0.92f /* weighting factor (numerator) default:0.92 */ -#define GAMMA16k 0.94f - -#define FORMANT_SHARPENING_G1 0.75f /* Formant sharpening numerator weighting at 12.8kHz */ -#define FORMANT_SHARPENING_G2 0.9f /* Formant sharpening denominator weighting at 12.8kHz */ -#define FORMANT_SHARPENING_G1_16k 0.8f /* Formant sharpening numerator weighting at 16kHz */ -#define FORMANT_SHARPENING_G2_16k 0.92f /* Formant sharpening denominator weighting at 16kHz */ - -#define FSCALE_DENOM 512 -#define ACELP_FIXED_CDK_NB 41 -#define ACELP_FIXED_CDK_BITS( n ) PulseConfTable[n].bits - -#define L_FIR 31 - -enum TRACKPOS -{ - TRACKPOS_FIXED_FIRST = 0, /* Fill tracks from left */ - TRACKPOS_FIXED_EVEN = 1, /* Even tracks */ - TRACKPOS_FIXED_FIRST_TWO = 2, /* One track of 32 */ - TRACKPOS_FIXED_TWO = 3, /* Two tracks of 32 instead of four of 16 */ - TRACKPOS_FREE_ONE = 4, /* One freely moving track with extra pulse */ - TRACKPOS_FREE_THREE = 6, /* Three freely moving tracks with single extra pulses */ - TRACKPOS_GRADIENT = 7 -}; - -enum -{ - LAGW_WEAK, /* weak lag window */ - LAGW_MEDIUM, /* medium strength lag window */ - LAGW_STRONG, /* strong lag window */ - - NUM_LAGW_STRENGTHS -}; - -#define NBITS_NOISENESS 5 /* number of bits for coding noiseness in UV frames */ - -/*----------------------------------------------------------------------------------* - * ACELP@16kHz core constants - *----------------------------------------------------------------------------------*/ - -#define NB_SUBFR16k 5 /* number of subframes per frame @16kHz */ -#define INT_FS_16k 16000 /* CELP core internal sampling frequency @16kHz */ - -#define PIT16k_MIN 42 /* Minimum pitch lag @16kHz */ -#define PIT16k_MAX 289 /* Maximum pitch lag @16kHz */ -#define PIT16k_FR2_TC0_2SUBFR 83 /* Minimum pitch lag with resolution 1/2 @16kHz for TC02, 2nd subframe */ -#define PIT16k_MIN_EXTEND 21 /* Minimum pitch lag of extended range @16kHz */ -#define PIT16k_FR2_EXTEND_9b 88 /* Minimum 9 bit pitch lag with resolution 1/2 of extended range @16kHz */ -#define PIT16k_FR1_EXTEND_9b 130 /* Minimum 9 bit pitch lag with resolution 1 of extended range @16kHz */ -#define PIT16k_FR2_EXTEND_10b 264 /* Minimum 10 bit pitch lag with resolution 1/2 of extended range @16kHz */ - -#define WIDTH_BAND 8 /* sub-band width in AVQ coding */ -#define G_AVQ_MIN 0.80f /* lower limit for gain Q in higher-rate ACELP contribution */ -#define G_AVQ_MAX 96.0f /* upper limit for gain Q in higher-rate ACELP contribution */ -#define FAC_PRE_AVQ 0.3f /* preemhasis factor in ACELP pre-quantizer */ - -#define G_AVQ_MIN_INACT 0.70f /* lower limit for gain Q in higher-rate ACELP contribution, inactive segments */ -#define G_AVQ_MAX_INACT 4.1f /* upper limit for gain Q in higher-rate ACELP contribution, inactive segments */ -#define G_AVQ_MIN_INACT_48k 0.35f /* lower limit for gain Q in higher-rate ACELP contribution, inactive segments, 48 kbps */ -#define G_AVQ_MAX_INACT_48k 2.8f /* upper limit for gain Q in higher-rate ACELP contribution, inactive segments, 48 kbps */ -#define G_AVQ_MIN_INACT_64k 0.25f /* lower limit for gain Q in higher-rate ACELP contribution, inactive segments, 64 kbps */ -#define G_AVQ_MAX_INACT_64k 1.5f /* upper limit for gain Q in higher-rate ACELP contribution, inactive segments, 64 kbps */ -#define G_AVQ_DELTA_INACT_48k ( G_AVQ_MAX_INACT_48k - G_AVQ_MIN_INACT_48k ) / ( ( 1 << G_AVQ_BITS ) - 1 ) -#define G_AVQ_DELTA_INACT_64k ( G_AVQ_MAX_INACT_64k - G_AVQ_MIN_INACT_64k ) / ( ( 1 << G_AVQ_BITS ) - 1 ) -#define G_AVQ_BITS 6 /* number of bits to quantize the AVQ gain in higher-rate ACELP contribtuion */ -#define G_AVQ_DELTA ( G_AVQ_MAX - G_AVQ_MIN ) / ( ( 1 << G_AVQ_BITS ) - 1 ) -#define G_AVQ_DELTA_INACT ( G_AVQ_MAX_INACT - G_AVQ_MIN_INACT ) / ( ( 1 << G_AVQ_BITS ) - 1 ) - -#define G_PITCH_MIN 0.00f /* SQ of gains: pitch gain lower limit */ -#define G_PITCH_MAX 1.22f /* SQ of gains: pitch gain upper limit */ -#define G_CODE_MIN 0.02f /* SQ of gains: code gain lower limit */ -#define G_CODE_MAX 5.00f /* SQ of gains: code gain upper limit */ - -#define G_PITCH_MIN_TC192 0.1f -#define G_PITCH_MAX_TC192 0.95f -#define G_CODE_MIN_TC192 0.6f -#define G_CODE_MAX_TC192 41.0f - -#define BIT_SAVING_LOW_THR 10 -#define BIT_SAVING_HIGH_THR 80 - -/*--------------------------------------------------------------* - * TCX constants - *---------------------------------------------------------------*/ - -#define NBITS_TCX_GAIN 7 - -#define NOISE_FILL_RANGES 1 -#define NBITS_NOISE_FILL_LEVEL 3 /* Number of bits used for coding noise filling level for each range */ -#define NF_GAIN_BITS ( NBITS_TCX_GAIN + NOISE_FILL_RANGES * NBITS_NOISE_FILL_LEVEL ) -#define MIN_NOISE_FILLING_HOLE 8 -#define HOLE_SIZE_FROM_LTP( gain ) ( 4 + ( int16_t )( 2.0f * gain * ( 4.0f / 0.625f ) ) ) -#define FDNS_NPTS 64 -#define AVG_TCX20_LSF_BITS 40 -#define AVG_TCX10_LSF_BITS 59 -#define LTPSIZE 3 -#define TCXLTP_DELAY_NS 250000 -#define TCXLTP_MAX_DELAY NS2SA( 48000, TCXLTP_DELAY_NS ) -#define TCXLTP_LTP_ORDER 24 -#define TCX_RES_Q_BITS_GAIN 3 - -/* Use arithmetic coder with LPC shaping also at high (i.e. TCX-only) bitrates */ -#define LPC_SHAPED_ARI_MAX_RATE_CPE ACELP_13k20 -#define LPC_SHAPED_ARI_MAX_RATE ACELP_9k60 -#define N_MAX_ARI 800 - -#define N_LTP_GAIN_MEMS 4 - -#define N_TCX_STARTLINE_NOISE_WB 11 -#define N_TCX_STARTLINE_NOISE_SWB 9 - -/*----------------------------------------------------------------------------------* - * TNS constants - *----------------------------------------------------------------------------------*/ - -#define R1_48 690 -#define R2_48 420 -#define R1_16 230 -#define R2_16 140 -#define R1_25 368 -#define R2_25 224 -#define TNS_MAX_NUM_OF_FILTERS 2 /* TNS maximum number of filters */ -#define TNS_MAX_FILTER_ORDER 8 /* TNS maximum filter order */ -#define ITF_MAX_FILTER_ORDER 16 /* ITF maximum filter order */ -#define TNS_FILTER_OFF 0 -#define TNS_FILTER_ON_ZERO 1 -#define TNS_FILTER_ON 2 -#define NPRM_TNS ( 3 + TNS_MAX_NUM_OF_FILTERS * ( 3 + TNS_MAX_FILTER_ORDER ) ) /* TNS total number of quantized parameters */ -#define NPRM_RESQ 100 /* Maximum number of parameter for residual Q in TCX */ -#define NPRM_CTX_HM 3 /* Number of Parameters for Context HM : flag+index*/ -#define NPRM_DIV ( 2 + NPRM_TNS + N_MAX / 2 + NPRM_RESQ + NPRM_CTX_HM ) /* Total number of quantized parameter in 1 division */ -#define DEC_NPRM_DIV NPRM_DIV /* Total number of quantized parameter in 1 division (decoder side) */ -#define NPRM_LPC_NEW 2 * ( 4 + 2 * NB_SPHERE ) /* LPC total number of quantized parameters */ - -#define BITBUFSIZE ( IVAS_BRATE_MAX / FRAMES_PER_SEC ) -#define IGF_BITBUFSIZE ( HQ_128k / FRAMES_PER_SEC ) - -#define TNS_COEF_RES 4 /* Bit resolution of the coefficients. */ -#define INDEX_SHIFT ( 1 << ( TNS_COEF_RES - 1 ) ) /* For shifting the index so that index 0 points to 0. */ - -/*----------------------------------------------------------------------------------* - * LSF quantization constants - *----------------------------------------------------------------------------------*/ - -#define GENERIC_MA_LIMIT ACELP_9k60 /* crossover limit, for Generic WB mode, < use SN/AR, >= use MA-predictor */ - -#define NC16k ( M16k / 2 ) -#define NO_ITER 4 /* number of iterations for tracking the root */ -#define SPC 0.0234952f -#define SPC_plus SPC * 1.001f -#define ALPHA_SQ ( ( 0.5f / PI2 ) * ( 0.5f / PI2 ) ) - -#define NC M / 2 -#define LSF_GAP 50.0f -#define LSF_BITS_CNG 29 - -#define MU_MA ( 1.0f / 3.0f ) /* original prediction factor (only for AMR-WB IO mode) */ -#define ISF_GAP 50 /* Minimum ISF separation for end-frame ISFs (only in AMR-WB IO mode) */ -#define LSF_GAP_MID 80.0f /* Minimum LSF separation for mid-frame LSFs */ -#define MODE1_LSF_GAP 70.0f /* Minimum LSF separation for end-frame ISFs */ -#define PREFERSFNET 1.05 -#define SFNETLOWLIMIT_WB 35000 /* new sampling rate dependent thresholds used in LSF codebook decision logic, WB case */ -#define SFNETLOWLIMIT_NB 38000 /* new sampling rate dependent thresholds used in LSF codebook decision logic, NB case */ -#define LSFMBEST 2 /* number of survivors from one stage to another */ -#define STREAKLEN 3 /* Allow this many predictive frames, before starting limiting */ -#define STREAKMULT 0.8f /* Exponential limiting multiplier */ - -#define LSFMBEST_MAX 16 - -#define TCXLPC_NUMSTAGES 3 -#define TCXLPC_NUMBITS 13 -#define TCXLPC_IND_NUMSTAGES 1 -#define TCXLPC_IND_NUMBITS 2 -#define TCXLPC_LSF_GAP 80.0f - -#define MAX_VQ_STAGES 4 -#define MAX_VQ_STAGES_USED 9 /* this is the maximum number of stages currently used and changing this will affect the memory allocated \ - MAX_VQ_STAGES is also used as offset for addressing some arrays, so this should NOT be changed*/ -#define MIDLSF_NBITS 5 -#define ENDLSF_NBITS 31 - -#define LEN_INDICE 15 -#define LATTICE_DIM 8 -#define NO_LEADERS 49 -#define MAX_NO_BR_LVQ 28 -#define MAX_NO_SCALES 3 -#define MAX_NO_VALS 4 -#define WB_LIMIT_LSF 6350 -#define CNG_LVQ_MODES 16 -#define MAX_NO_MODES 169 -#define START_CNG MAX_NO_MODES - CNG_LVQ_MODES -#define MAX_NO_MODES_p 237 -#define NO_CODING_MODES 6 -#define LVQ_COD_MODES 18 - -#define LIMIT_LEADER 19 -#define DELTA_LEADER 256 - -/* BC-TCVQ */ -#define N_STAGE_VQ 8 -#define N_DIM 2 -#define NUM_SUBSET 8 -#define OP_LOOP_THR_HVO 3784536.3f /* 80% : Open-loop Threshold */ -#define NUM_STATE 16 /* BC-TCQ - Number of state of the Trellis */ -#define N_STAGE 16 /* BC-TCQ - Smaple number in a frame */ - -#define SIZE_BK1 256 -#define SIZE_BK2 256 -#define SIZE_BK21 64 -#define SIZE_BK22 128 -#define SIZE_BK23 128 -#define SIZE_BK24 32 -#define SIZE_BK25 32 -#define SIZE_BK21_36b 128 -#define SIZE_BK22_36b 128 -#define SIZE_BK23_36b 64 - -/* Gain quantizer constants */ -#define NB_QUA_GAIN5B 32 /* Number of quantization level */ -#define NB_QUA_GAIN6B 64 /* Number of quantization level */ -#define NB_QUA_GAIN7B 128 /* Number of quantization level */ - -/*----------------------------------------------------------------------------------* - * TCX transient detection - *----------------------------------------------------------------------------------*/ - -#define NSUBBLOCKS 8 /* Number of subblocks per frame, one transient per a sub-block can be found */ -#define MAX_TD_DELAY 2 * NSUBBLOCKS /* Maximum allowed delay (in number of subblocks) of the transient detection, affects required memory */ -#define NSUBBLOCKS_SHIFT 3 /* Number of subblocks which are shifter betwen TD dectector and TCX-LTP */ - -#define NO_TCX 0 -#define TCX_20 1 -#define TCX_10 2 -#define TCX_5 3 - -#define TRANSITION_OVERLAP ( -2 ) -#define RECTANGULAR_OVERLAP ( -1 ) -#define FULL_OVERLAP 0 -#define NOT_SUPPORTED 1 -#define MIN_OVERLAP 2 -#define HALF_OVERLAP 3 -#define ALDO_WINDOW 4 - -#define SWITCH_OVERLAP_8k 15 /* == NS2SA(8000, SWITCH_GAP_LENGTH_NS) - NS2SA(8000, 10000000.0f - N_ZERO_MDCT_NS) */ -#define SWITCH_GAP_LENGTH_8k 50 - -/*----------------------------------------------------------------------------------* - * TCX transform kernel switching - *----------------------------------------------------------------------------------*/ - -#define MDCT_IV 0 -#define MDST_II 1 -#define MDCT_II 2 -#define MDST_IV 3 - -/*----------------------------------------------------------------------------------* - * FEC constants - *----------------------------------------------------------------------------------*/ - -#define UNVOICED_CLAS 0 /* Unvoiced, silence, noise, voiced offset */ -#define UNVOICED_TRANSITION 1 /* Transition from unvoiced to voiced components - possible onset, but too small */ -#define VOICED_TRANSITION 2 /* Transition from voiced - still voiced, but with very weak voiced characteristics */ -#define VOICED_CLAS 3 /* Voiced frame, previous frame was also voiced or ONSET */ -#define ONSET 4 /* Voiced onset sufficiently well built to follow with a voiced concealments */ -#define SIN_ONSET 5 /* Artificial harmonic+noise onset (used only in decoder) */ -#define INACTIVE_CLAS 6 /* Inactive frame (used only in decoder) */ -#define AUDIO_CLAS 7 /* Audio frame (used only in AMR-WB IO mode) */ - -#define BETA_FEC 0.75f /* FEC - weighting factor for LSF estimation in FER */ -#define STAB_FAC_LIMIT 0.25f /* FEC - limit at which safety net is forced for next frame */ - -#define MODE1_L_FIR_FER 5 /* FEC - impulse response length for low- and high-pass filters in FEC */ -#define L_FIR_FER 3 /* impulse response length for low- & high-pass filters in FER concealment */ -#define L_FIR_FER2 11 /* new filter tuning: 11*/ -#define MAX_UPD_CNT 5 /* FEC - maximum number of frames since last pitch update */ -#define ALPHA_S 0.6f /* FEC - damping factor for SIN_ONSET frames */ -#define ALPHA_V 1.0f /* FEC - damping factor for VOICED_CLAS frames */ -#define ALPHA_VT 0.4f /* FEC - damping factor for VOICED_TRANSITION frames */ -#define ALPHA_UT 0.8f /* FEC - damping factor for UNVOICED_TRANSITION frames */ -#define ALPHA_U 0.4f /* FEC - damping factor for UNVOICED_CLAS frames */ -#define ALPHA_UU 1.0f /* FEC - damping factor for UNVOICED_CLAS frames */ - -#define AGC 0.98f - -#define PLC_MIN_CNG_LEV 0.01f /* minimum background level */ -#define PLC_MIN_STAT_BUFF_SIZE 50 /* buffer size for minimum statistics */ -#define PLC_MIN_CNG_LEV 0.01f -#define G_LPC_RECOVERY_BITS 1 - -/*----------------------------------------------------------------------------------* - * Transition mode (TC) constants - *----------------------------------------------------------------------------------*/ - -/* Conversion of tc_subfr to index */ -#define TC_SUBFR2IDX( x ) ( x == 0 ? 0 : x == 1 ? 0 : x == 2 ? 1 : x == 3 ? 2 : x == 4 ? 3 : x == 64 ? 4 : x == 128 ? 5 : x == 192 ? 6 : x == 256 ? 7 : 0 ) - -#define TC_SUBFR2IDX_16KHZ( x ) ( x == 0 ? 0 : x == 64 ? 1 : x == 128 ? 2 : x == 192 ? 3 : x == 256 ? 4 : 0 ) - -#define L_IMPULSE 17 /* TC - length of one prototype impulse */ -#define L_IMPULSE2 8 /* TC - half-length of one prototype impulse == floor(L_IMPULSE/2) */ -#define NUM_IMPULSE 8 /* TC - number of prototype impulses */ -#define N_GAIN_CODE_TC 8 /* TC - number of levels for gain_code quantization for subrames without glot. impulse(s) - */ -#define N_GAIN_TC 8 /* TC - number of levels for gain_trans quantization */ - -/* TC - attention: DO NOT CHANGE the following constants - needed for correct bit-allocations */ -#define TC_0_0 1 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 1st subframe */ -#define TC_0_64 2 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 2nd subframe */ -#define TC_0_128 3 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 3rd subframe */ -#define TC_0_192 4 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 4th subframe */ - -/*----------------------------------------------------------------------------------* - * AVQ constants - *----------------------------------------------------------------------------------*/ - -/* RE8 constants */ -#define NB_LDQ3 9 -#define NB_SPHERE 32 -#define NB_LEADER 36 -#define NB_LDQ4 27 -#define FAC_LOG2 3.321928095f - -#define NSV_MAX 34 /* maximal number of sub-vectors used by the AVQ */ - -/*----------------------------------------------------------------------------------* - * Arithmetic coder - *----------------------------------------------------------------------------------*/ - -#define A_THRES_SHIFT 2 -#define A_THRES ( 1 << A_THRES_SHIFT ) -#define VAL_ESC 16 -#define NBITS_CONTEXT 8 -#define NBITS_RATEQ 2 - -#define cbitsnew 16 -#define stat_bitsnew 14 - -#define ari_q4new ( ( (int32_t) 1 << cbitsnew ) - 1 ) -#define ari_q1new ( ari_q4new / 4 + 1 ) -#define ari_q2new ( 2 * ari_q1new ) -#define ari_q3new ( 3 * ari_q1new ) - -#define kLtpHmFractionalResolution 7 -#define kLtpHmFlag ( 1 << 8 ) - -#define MAX_LENGTH L_FRAME_MAX - -/*----------------------------------------------------------------------------------* - * TCQ constants - *----------------------------------------------------------------------------------*/ - -#define MAX_PULSES 560 - -#define NORMAL_HQ_CORE 0 /* Signal use of Normal HQ core */ -#define LOW_RATE_HQ_CORE 1 /* Signal use of Low Rate MDCT core */ -#define LOW_RATE_HQ_CORE_TRAN 2 /* Signal use of Low Rate MDCT core Tran SWB */ -#define NORM_MDCT_FACTOR L_FRAME8k /* Normalize Low Rate MDCT coefficients to this frame size */ -#define BANDS_MAX ( 4 * 8 ) -#define MAX_GQLEVS 32 /* Max fine gain levels */ -#define BITS_DE_CMODE 1 -#define BITS_DE_HMODE 1 -#define BITS_DE_8SMODE 1 -#define MAXIMUM_ENERGY_LOWBRATE 255 -#define MINIMUM_ENERGY_LOWBRATE -256 -#define BITS_ABS_ENG 7 -#define ABS_ENG_OFFSET 64 -#define BITS_MAX_DEPTH 3 -#define BITS_DE_8SMODE_N0 1 -#define BITS_DE_8SMODE_N1 1 -#define BITS_DE_8SPOS 5 -#define BITS_DE_FCOMP 5 -#define BITS_DE_LSB 1 -#define DE_OFFSET0 46 -#define DE_OFFSET1 32 -#define DE_LIMIT 64 -#define LRMDCT_BE_OFFSET 15 -#define LRMDCT_BE_LIMIT 31 - -#define HQCORE_NB_MIN_RATE 7200 /* NB LR MDCT coding down to this bitrate */ -#define HQCORE_WB_MIN_RATE 13200 /* WB LR MDCT coding down to this bitrate */ -#define HQCORE_SWB_MIN_RATE 13200 /* SWB LR MDCT coding down to this bitrate */ - -#define LRMDCT_CROSSOVER_POINT 16400 /* Use LR MDCT core at this rate and below */ - -#define HTH_NORM 17 -#define LTH_NORM 13 -#define OFFSET_NORM 3 - - -/*----------------------------------------------------------------------------------* - * SWB TBE constants - *----------------------------------------------------------------------------------*/ - -#define STEPSNUM 4 /* Number of steps in a2lsp routine for SHB LPC */ -#define ALLPASSSECTIONS_STEEP 3 /* Size of all pass filters for interpolation and decimation by a factor of 2 */ -#define INTERP_3_1_MEM_LEN 13 /* Size of all pass filters for interpolation and decimation by a factor of 3:1 */ -#define INTERP_3_2_MEM_LEN 15 -#define L_SHB_LAHEAD 20 /* Size of lookahead for SHB */ -#define NUM_SHB_SUBFR 16 -#define LPC_SHB_ORDER 10 -#define LPC_WHTN_ORDER 4 /* Order of whitening filter for SHB excitation */ -#define SHB_OVERLAP_LEN ( L_FRAME16k - L_SHB_LAHEAD ) / ( NUM_SHB_SUBFR - 1 ) -#define QUANT_DIST_INIT ( 10000000000.0f ) /* Quantiser search distance initialisation */ -#define HIBND_ACB_L_FAC 5 / 2 /* SHB Interpolation Factor */ -#define NUM_HILBERTS 2 -#define HILBERT_ORDER1 5 -#define HILBERT_ORDER2 4 -#define HILBERT_MEM_SIZE ( HILBERT_ORDER1 + ( 2 * HILBERT_ORDER2 ) + ( 2 * HILBERT_ORDER2 ) ) - -#define L_SHB_TRANSITION_LENGTH ( 2 * NS2SA( 48000, DELAY_BWE_TOTAL_NS ) ) - -#define NUM_BITS_SHB_SubGain 6 -#define NUM_BITS_SHB_FrameGain 6 - -#define NUM_BITS_SHB_FrameGain_LBR_WB 4 -#define RECIP_ROOT_EIGHT 0.3535534f /* 1.0 / sqrt(8.0) - constant Gain Shape over TD BWE subframes */ - -#define LPC_SHB_ORDER_WB 6 -#define LPC_WHTN_ORDER_WB 2 /* Order of whitening filter for WB excitation */ -#define NUM_BITS_WB_LSF 8 -#define LPC_SHB_ORDER_LBR_WB 4 -#define NUM_BITS_LBR_WB_LSF 2 - -#define COMP_FIL_ORDER 19 -#define MAX_BIQ_N L_FRAME32k - -#define NUM_SHB_SUBGAINS 4 /* Number of subframe gains */ -#define NUM_BITS_SHB_SUBGAINS 5 /* Number of bits for subframe gains for SWB */ -#define NUM_BITS_SHB_FRAMEGAIN 5 /* Number of bits for framegain for SWB */ -#define NUM_BITS_SHB_FRAMEGAIN_1k75 6 /* Number of bits for framegain for SWB */ -#define NUM_BITS_SHB_ENER_SF 6 -#define NUM_BITS_SHB_RES_GS 3 -#define NUM_BITS_SHB_VF 3 -#define NUM_BITS_SHB_SUBGAINS_RF 5 /* Number of bits for subframe gains for SWB in RF */ -#define SHB_GAIN_QLOW -1.0f /* SHB gain lowest scalar quantizer value */ -#define SHB_GAIN_QDELTA 0.15f /* SHB gain scalar quantizer stepsize */ -#define SHB_GAIN_QLOW_1k75 0.0f /* SHB gain lowest scalar quantizer value */ -#define SHB_GAIN_QDELTA_1k75 0.08f /* SHB gain scalar quantizer stepsize */ -#define NUM_Q_LSF 5 /* Number of quantized LSFs */ -#define MIRROR_POINT_BITS 2 /* Number of bits used to quantize mirror point */ -#define MIRROR_POINT_Q_CB_SIZE 4 /* Size of codebook used to quantize mirror point */ -#define MAX_LSF 0.5f /* Maximum value of the LSFs */ -#define NUM_MAP_LSF 5 /* Number of mapped LSFs */ -#define NUM_LSF_GRIDS 4 /* Number of LSF grids */ -#define NUM_LSF_GRID_BITS 2 /* Number of bits used for the LSF grids */ -#define NUM_BITS_SHB_MSLVQ 20 /* Number of bits for the MSLVQ quantizer */ - -#define VF_0th_PARAM 0.34f -#define VF_1st_PARAM 0.5f -#define VF_2nd_PARAM ( VF_1st_PARAM - VF_0th_PARAM ) - -#define GAMMA0 0.65f /* Mean value of gamma1/gamma2 for formant PF */ -#define GAMMA_SHARP 0.15f /* Largest sharpening for gamma1/gamma2 (0.83/0.67)*/ -#define SWB_NOISE_MIX_FAC 0.15f /* Noise mixing adjustment factor for active PF */ -#define SWB_TILT_LOW 1.0f /* Lower threshold for PF tilt adaptation */ -#define SWB_TILT_HIGH 2.0f /* Higher threshold for PF tilt adaptation */ -#define SWB_TILT_DELTA ( 1.0f / ( SWB_TILT_HIGH - SWB_TILT_LOW ) ) /* Inclination between thresholds */ -#define GAMMA3_PLUS_WB 0.65f /* WB post-filter */ -#define GAMMA3_MINUS_WB 0.85f /* WB post-filter */ -#define AGC_FAC_WB 0.85f /* WB post-filter - gain adjustment factor */ -#define AGC_FAC1_WB ( 1.0f - AGC_FAC_WB ) /* WB post-filter - gain adjustment factor complement */ - -#define MAX_LEN_MA_FILTER 20 /* maximum length of the MA filter for SHB TD envelope calculation */ -#define TABLE_CUMSUM_MAX_N 320 /* maximum length of cumsum(i) and cumsum(i*i) tables */ - -#define NUM_BITS_FB_FRAMEGAIN_TBE 4 /* Number of bits for framegain for FB TBE */ - -/*----------------------------------------------------------------------------------* - * SWB BWE constants - *----------------------------------------------------------------------------------*/ - -#define INV_L_SUBFR16k 0.0125f -#define SWB_L_SUBFR 160 -#define FB_L_SUBFR 240 -#define SWB_FENV 14 -#define FB_GAIN_QLOW 0.0f -#define FB_GAIN_QDELTA 0.03125f -#define FB_MAX_GAIN_VAR 0.5f - - -#define NUM_BITS_FB_FRAMEGAIN 4 /* Number of bits for framegain for FB BWE */ -#define FB_BAND_BEGIN 620 /* == 15.5 kHz */ -#define FB_BAND_BEGIN_12k8 560 /* == 14 kHz */ -#define FB_BAND_END 800 /* == 20 kHz */ -#define FB_BAND_WIDTH 180 /* == 4.5 kHz */ -#define N_CAND 2 -#define N_CB11 32 /* 5bits */ -#define N_CB1ST 128 /* 7bits */ -#define N_CB2ND 64 /* 6bits */ -#define N_CB3RD 32 /* 5bits */ -#define N_CB4TH 64 /* 6bits */ -#define DIM1ST 3 -#define DIM2ND 4 -#define DIM3RD 3 -#define DIM4TH 4 -#define DIM11 ( DIM1ST + DIM2ND ) -#define DIM12 ( DIM3RD + DIM4TH ) -#define N_CAND_TR 3 -#define N_CB_TR1 128 -#define N_CB_TR2 64 -#define DIM_TR1 2 -#define DIM_TR2 2 -#define SWB_FENV_TRANS 4 -#define SWB_TENV 4 -#define NUM_SHARP 9 -#define SHARP_WIDTH 32 - -#define HARMONIC 3 -#define NORMAL 2 -#define TRANSIENT 1 -#define NOISE 0 - -/*----------------------------------------------------------------------------------* - * HR SWB BWE constants - *----------------------------------------------------------------------------------*/ - -#define NSV_OVERLAP 2 /* number of sub-bands overlaping with lower-band (0-8kHz) */ /* note that NSV_MAX >= END_FREQ_BWE_FULL/(8*50) + NSV_OVERLAP ! */ -#define N_BANDS_BWE_HR 4 /* number of frequency bands in non-transient frame */ -#define N_BANDS_TRANS_BWE_HR 2 /* number of frequency bands in transient frame */ -#define END_FREQ_BWE 14400 /* maximum frequency coded by AVQ */ -#define END_FREQ_BWE_FULL 16000 /* maximum frequency coded by HR SWB BWE */ -#define END_FREQ_BWE_FULL_FB 20000 /* maximum frequency coded by HR FB BWE */ - -#define NBITS_GLOB_GAIN_BWE_HR 5 /* number of bits of the global gain quantizer */ -#define MIN_GLOB_GAIN_BWE_HR 3 /* minimum value of the global gain quantizer */ -#define MAX_GLOB_GAIN_BWE_HR 500 /* maximum value of the global gain quantizer */ - -#define NBITS_ENVELOPE_BWE_HR1 6 /* number of bits for envelope VQ - first two subbands in non-transient frame */ -#define NBITS_ENVELOPE_BWE_HR2 5 /* number of bits for envelope VQ - second two subbands in non-transient frame */ -#define NBITS_ENVELOPE_BWE_HR_TR 4 /* number of bits for envelope VQ - two subbands in transient frame */ -#define NUM_ENVLOPE_CODE_HR1 64 /* dimension of envelope VQ - first two subbands in non-transient frame */ -#define NUM_ENVLOPE_CODE_HR2 32 /* dimension of envelope VQ - second two subbands in non-transient frame */ -#define NUM_ENVLOPE_CODE_HR_TR 16 /* dimension of envelope VQ - two subbands in transient frame */ -#define NUM_ENVLOPE_CODE_HR_TR2 8 /* dimension of envelope VQ - two subbands in transient frame */ - -#define NUM_NONTRANS_START_FREQ_COEF ( L_FRAME32k / 2 - NSV_OVERLAP * WIDTH_BAND ) /* start frequency coefficient (==7.6kHz) in non-transient frame */ -#define NUM_NONTRANS_END_FREQ_COEF ( L_FRAME32k * END_FREQ_BWE / END_FREQ_BWE_FULL ) /* end frequency coefficient (==14.4kHz) in non-transient frame */ -#define NUM_TRANS_START_FREQ_COEF ( NUM_NONTRANS_START_FREQ_COEF / NUM_TIME_SWITCHING_BLOCKS ) /* start frequency coefficient (==7.6kHz) in transient frame */ -#define NUM_TRANS_END_FREQ_COEF ( NUM_NONTRANS_END_FREQ_COEF / NUM_TIME_SWITCHING_BLOCKS ) /* end frequency coefficient (==14.4kHz) in transient frame */ -#define NUM_TRANS_END_FREQ_COEF_EFF 140 -#define WIDTH_NONTRANS_FREQ_COEF ( ( NUM_NONTRANS_END_FREQ_COEF - NUM_NONTRANS_START_FREQ_COEF ) / N_BANDS_BWE_HR ) /* number of coefficients per band in non-transient frame */ -#define WIDTH_TRANS_FREQ_COEF ( ( NUM_TRANS_END_FREQ_COEF - NUM_TRANS_START_FREQ_COEF ) / N_BANDS_TRANS_BWE_HR ) /* number of coefficients per band in transient frame */ - -#define NBITS_THRESH_BWE_HR 400 /* BWE HR number of bits threshold */ - -#define NBITS_HF_GAIN_BWE_HR 2 /* number of bits for HF (noncoded) energy estimation */ -#define BWE_HR_TRANS_EN_LIMIT1 0.1f /* HF (noncoded) energy equalization limit 1, transient frames */ -#define BWE_HR_TRANS_EN_LIMIT2 0.3f /* HF (noncoded) energy equalization limit 2, transient frames */ -#define BWE_HR_TRANS_EN_LIMIT3 0.5f /* HF (noncoded) energy equalization limit 3, transient frames */ -#define BWE_HR_NONTRANS_EN_LIMIT1 0.5f /* HF (noncoded) energy equalization limit 1, non-transient frames */ -#define BWE_HR_NONTRANS_EN_LIMIT2 1.2f /* HF (noncoded) energy equalization limit 2, non-transient frames */ -#define BWE_HR_NONTRANS_EN_LIMIT3 0.8f /* HF (noncoded) energy equalization limit 3, non-transient frames */ - -/*----------------------------------------------------------------------------------* - * FD CNG - *----------------------------------------------------------------------------------*/ - -#define SIZE_SCALE_TABLE_MONO 20 -#define SIZE_SCALE_TABLE_STEREO 27 -#define SIZE_SCALE_TABLE_CN 18 -#define SIZE_SCALE_TABLE_CN_AMRWB 3 -#define SIZE_SCALE_TABLE_TCX 13 - -#define SIZE_SIDPARTS_ENC_NOISE_EST 24 - -#define FD_CNG_maxN_37bits 24 -#define FD_CNG_maxC_37bits 8 -#define FD_CNG_stages_37bits 6 -#define FD_CNG_JOINT_stages_25bits 4 - -#define OUTMAX_INV 0.000030517578125f /* 1/2^15 */ -#define OUTMAX_SQ 1073741824.f /* 2^30 */ -#define OUTMAX_SQ_INV 0.00000000093132257461547852f /* 1/2^30 */ -#define DELTA ( 1e-20f ) - -#define CLDFB_SCALING ( 1.5f ) - -#define FFTLEN 640 -#define FFTLEN2 ( FFTLEN / 2 ) -#define CORECLDFBLEN 20 -#define TOTCLDFBLEN 40 -#define FFTCLDFBLEN ( FFTLEN2 + TOTCLDFBLEN - CORECLDFBLEN ) -#define PERIODOGLEN ( FFTLEN2 - 2 ) -#define NPART 24 -#define NPARTCLDFB 10 -#define NPART_SHAPING 62 - -#define MSSUBFRLEN 12 -#define MSNUMSUBFR 6 -#define MSBUFLEN 5 -#define MSALPHACORALPHA 0.7f -#define MSALPHACORMAX 0.3f -#define MSALPHAMAX 0.96f -#define MSALPHAHATMIN 0.05f /* It is used for all bands except the first one to get a stable bass */ -#define MSQEQINVMAX ( 1.f / 5.f ) -#define MSAV 2.12f -#define MSBETAMAX 0.8f -#define MSSNREXP ( -0.02f / 0.064f ) - -#define NB_LAST_BAND_SCALE 0.8f -#define SWB_13k2_LAST_BAND_SCALE 0.8f - -#define CNG_LOG_SCALING 512.f /*2^9*/ - -#define M_MAX 32 -#define N_GAIN_MIN 4 -#define N_GAIN_MAX 17 - -#define CHEAP_NORM_SIZE 161 - -#define CNA_MAX_BRATE ACELP_13k20 -#define MAX_CNA_NBANDS 12 - -#define GAIN_Q_OFFSET_EVS 60.f -#define GAIN_Q_OFFSET_IVAS 45.f - -/*----------------------------------------------------------------------------------* - * Bass post-filter constants - *----------------------------------------------------------------------------------*/ - -#define NBPSF_PIT_MAX ( PIT16k_MAX + 1 ) /* maximum pitch value for bass post-filter */ -#define L_TRACK_HIST 10 - -/*----------------------------------------------------------------------------------* - * NB post-filter constants - *----------------------------------------------------------------------------------*/ - -#define THRESCRIT 0.5f /* NB post-filter - threshold LT pst switch off */ -#define AGC_FAC 0.9875f /* NB post-filter - gain adjustment factor */ -#define AGC_FAC1 ( 1.0f - AGC_FAC ) /* NB post-filter - gain adjustment factor complement */ -#define LONG_H_ST 20 /* NB post-filter - impulse response length */ -#define POST_G1 0.75f /* NB post-filter - denominator weighting factor 12kbps */ -#define POST_G2 0.7f /* NB post-filter - numerator weighting factor 12kbps */ -#define GAMMA1_PST 0.7f /* denominator weighting factor */ -#define GAMMA2_PST 0.55f /* numerator weighting factor */ -#define GAMMA3_PLUS 0.2f /* NB post-filter - tilt weighting factor when k1>0 */ -#define GAMMA3_MINUS 0.9f /* NB post-filter - tilt weighting factor when k1<0 */ -#define F_UP_PST 8 /* NB post-filter - resolution for fractionnal delay */ -#define LH2_S 4 /* NB post-filter - length of INT16 interp. subfilters */ -#define LH2_L 16 /* NB post-filter - length of long interp. subfilters */ -#define MIN_GPLT ( 1.0f / 1.5f ) /* NB post-filter - LT gain minimum */ -#define LH_UP_S ( LH2_S / 2 ) -#define LH_UP_L ( LH2_L / 2 ) -#define LH2_L_P1 ( LH2_L + 1 ) -#define DECMEM_RES2 ( PIT16k_MAX + 2 + LH_UP_L ) -#define SIZ_RES2 ( DECMEM_RES2 + L_SUBFR ) -#define SIZ_Y_UP ( ( F_UP_PST - 1 ) * ( L_SUBFR + 1 ) ) -#define SIZ_TAB_HUP_L ( ( F_UP_PST - 1 ) * LH2_L ) -#define SIZ_TAB_HUP_S ( ( F_UP_PST - 1 ) * LH2_S ) -#define POST_G1_MIN 0.65f -#define POST_G2_MIN 0.55f -#define POST_G1_NOIS 0.15f -#define POST_G2_NOIS 0.10f -#define BG1 ( -0.01f ) -#define BG2 ( -0.05f ) -#define CG1 0.9f -#define CG2 1.45f -#define C_LP_NOISE ( 0.1f / 4.0f ) -#define K_LP_NOISE 15.0f -#define LP_NOISE_THR 25.0f - -/*----------------------------------------------------------------------------------* - * Stability estimation - *----------------------------------------------------------------------------------*/ - -#define NB_BFI_THR 2 /* threshold for counter of last bad frames */ -#define MAX_LT 40 -#define INV_MAX_LT ( 1.0f / MAX_LT ) - -#define TH_0_MIN 2.5f -#define TH_1_MIN 1.875f -#define TH_2_MIN 1.5625f -#define TH_3_MIN 1.3125f - -/*----------------------------------------------------------------------------------* - * Speech/music classifier constants - *----------------------------------------------------------------------------------*/ - -#define SPEECH 0 /* S/M classifier's final decision is pure speech */ -#define SPEECH_OR_MUSIC 1 /* S/M classifier's final decision is unclear, i.e. speech or music */ -#define MUSIC 2 /* S/M classifier's final decision is pure music */ - -#define N_FEATURES 12 /* number of features */ -#define N_MIXTURES 6 /* number of mixtures */ - -#define NB_MEL_BANDS 40 /* number of mel filter bands */ -#define NB_MEL_COEF 13 /* number of mel filter coefficients */ -#define N_SMC_FEATURES 15 /* number of features */ -#define N_SMC_MIXTURES 6 /* number of mixtures */ -#define N_PCA_COEF 12 /* number of PCA components */ -#define SMC_ST_MEAN_FACT 0.5 /* forgetting factor of short-term IIR mean filter */ - -#define M_LSP_SPMUS 6 /* number of LSPs used in speech/music classifier */ -#define NB_BANDS_SPMUS 15 -#define START_BAND_SPMUS 2 -#define N_OLD_BIN_E 42 /* == (L_FFT/2-2)/3 */ - -#define LOWEST_FBIN 3 /* lowest frequency bin for feature vector preparation */ -#define HIGHEST_FBIN 70 /* highest frequency bin for feature vector preparation */ -#define HANG_LEN_INIT 8 /* number of frames for hang-over (causes delay of decision) */ -#define HANG_LEN 8 -#define BUF_LEN 60 -#define L_OVR 8 - -#define ATT_NSEG 32 /* strong attack detection - number of time blocks */ - -#define TOD_NSPEC 80 /* number of spectral bins of the tonal detector */ -#define TOD_THR_MASS 0.86f /* initial value for the adaptive threshold of the tonal detector */ -#define P2A_FACT 0.9f /* long-term averaging factor for peak-to-average ratio */ -#define THR_P2A 80.0f /* threshold to detect strongly peaky signals */ - -/*----------------------------------------------------------------------------------* - * LD music post-filter constants - *----------------------------------------------------------------------------------*/ - -#define TH_0_MIN2 1.875f -#define TH_1_MIN2 1.25f -#define TH_2_MIN2 0.9375f -#define TH_3_MIN2 0.625f - -#define DCT_L_POST 640 -#define OFFSET2 192 - -#define VOIC_BINS_HR 640 -#define BIN_16kdct ( 6400.0f / DCT_L_POST ) -#define NB_LIMIT_BAND 16 -#define MBANDS_GN_LD 20 /* number of bands for gain coding in the postfilter */ - -/*----------------------------------------------------------------------------------* - * AC mode (GSC) constants - *----------------------------------------------------------------------------------*/ - -#define NOISE_LEVEL_SP0 8 -#define NOISE_LEVEL_SP1a 9 -#define NOISE_LEVEL_SP1 10 -#define NOISE_LEVEL_SP2 12 -#define NOISE_LEVEL_SP3 14 - -#define MAX_DYNAMIC 82 -#define MIN_DYNAMIC 50 -#define DYNAMIC_RANGE ( MAX_DYNAMIC - MIN_DYNAMIC ) -#define MAX_GSC_NF_BITS 3 -#define GSC_NF_STEPS ( 1 << MAX_GSC_NF_BITS ) - -#define CRIT_NOIS_BAND 23 - -#define SSF 32 /* Sub-subframe length for energy estimation in UC decision */ -#define NB_SSF ( L_FRAME / SSF ) /* number of sub-subframes per frame */ - -#define MBANDS_GN16k 18 /* Number of band for gain coding in GSC */ -#define MBANDS_GN 16 /* Number of band for gain coding in GSC */ -#define MBANDS_GN_BITALLOC16k 20 /* Number of band for gain coding in GSC */ -#define BAND1k2 3 -#define DSR_NB_PULSE ( 4.5f ) -#define MAX_EQ_LF 1.0f -#define MBANDS_LOC ( MBANDS_GN - 1 ) -#define BIN_SIZE 25.0f -#define SWNB_SUBFR 1 - -#define MIN_RATE_4SBFR ACELP_16k40 -#define MIN_RATE_FCB ACELP_22k60 - -#define VAR_COR_LEN 10 - -#define CFREQ_BITRATE ACELP_11k60 - -#define LT_UV_THR 100 -#define LT_UV_THRMID 70 - -#define PIT_EXC_L_SUBFR L_FRAME16k - -#define LOCAL_CT VOICED - -/*----------------------------------------------------------------------------------* - * Core switching constants - *----------------------------------------------------------------------------------*/ - -#define SWITCH_MAX_GAP 360 /* 6.25 + 1.25 of filter mem max == NS2SA(48000, SWITCH_GAP_LENGTH_NS+DELAY_CLDFB_NS) */ - -/*----------------------------------------------------------------------------------* - * HQ core constants - *----------------------------------------------------------------------------------*/ - -#define HQ_NORMAL 0 -#define HQ_TRANSIENT 1 -#define HQ_HARMONIC 2 -#define HQ_HVQ 3 -#define HQ_GEN_SWB 4 -#define HQ_GEN_FB 5 - -#define PREECHO_SMOOTH_LEN 20 -#define INV_PREECHO_SMOOTH_LENP1 ( 1 / ( PREECHO_SMOOTH_LEN + 1.0 ) ); - -#define EPSILON 0.000000000000001f - -#define MAX_SEGMENT_LENGTH 480 -#define NUM_TIME_SWITCHING_BLOCKS 4 -#define NUM_MAP_BANDS 20 -#define NUM_MAP_BANDS_HQ_24k4 17 -#define NUM_MAP_BANDS_HQ_32k 18 -#define FREQ_LENGTH 800 - -#define STOP_BAND 800 - -#define SFM_G1 16 -#define SFM_G1G2 24 -#define SFM_N_NB 18 -#define SFM_N_WB 26 -#define SFM_N_STA_8k 27 -#define SFM_N_STA_10k 30 -#define SFM_N_ENV_STAB SFM_N_STA_8k /* Number of bands for env_stab stability measure */ -#define SFM_N_ENV_STAB_WB SFM_N_WB /* Number of bands for env_stab stability measure used in HQPLC decision for WB signals */ -#define SFM_N_HARMONIC 39 -#define SFM_N 36 - -#define L_HQ_WB_BWE 20 /* == band_end_wb[SFM_N_WB-1] - (band_start_wb[SFM_N_WB-1]+12) */ -#define N_INTL_GRP_16 2 /* Number of interleaving band groups at 16kHz sampling rate */ -#define N_INTL_GRP_32 2 /* Number of interleaving band groups at 32kHz sampling rate */ -#define N_INTL_GRP_48 3 /* Number of interleaving band groups at 48kHz sampling rate */ -#define SFM_N_SWB 39 -#define SFM_N_HARM 31 -#define SFM_N_HARM_FB 33 -#define NB_SFM 44 -#define NB_SFM_MAX 58 -#define WID_G1 8 -#define WID_G2 16 -#define WID_G3 24 -#define WID_GX 32 -#define NUMC_N 544 -#define HQ_MAX_BAND_LEN 96 /* Largest bandwidth in HQ mode (band_len_harm[32]) */ -#define HVQ_PVQ_BUF_LEN ( HVQ_PVQ_COEFS * ( MAX_PVQ_BANDS - 1 ) + HQ_MAX_BAND_LEN ) /* 24*7+96 = 216 */ - -#define QBIT_MAX2 9 - -#define FLAGN_BITS 1 -#define GAIN0_BITS 5 -#define GAINI_BITS 5 - -#define FLAGS_BITS 2 -#define FLAGS_BITS_FB 3 -#define NORM0_BITS 5 -#define NORMI_BITS 5 -#define NUMNRMIBITS_SWB_STA_8k 5 * ( SFM_N_STA_8k - 1 ) -#define NUMNRMIBITS_SWB_STA_10k 5 * ( SFM_N_STA_10k - 1 ) -#define NUMNRMIBITS_SWB_HARMONIC 185 -#define NUMNRMIBITS_SWB 190 -#define NUMNRMIBITS 215 -#define NUMNRMIBITS_WB 125 - -#define NOHUFCODE 0 -#define HUFCODE 1 -#define HUFF_THR 10 -#define NOSUPERPOSITION 40 - -#define MAXVALUEOFFIRSTGAIN 2.5f -#define MINVALUEOFFIRSTGAIN -2.5f -#define NOOFGAINBITS1 6 - -#define AUDIODELAYBITS 6 -#define DELTAOFFIRSTGAIN (float) ( MAXVALUEOFFIRSTGAIN - MINVALUEOFFIRSTGAIN ) / (float) ( ( 1 << NOOFGAINBITS1 ) - 1 ) - -#define MAX_D1M_16k ( ( L_FRAME16k >> 1 ) - NS2SA( 16000, SWITCH_GAP_LENGTH_NS ) - 16 ) -#define MAX_D1M_12k8 ( ( L_FRAME16k >> 1 ) - NS2SA( 16000, SWITCH_GAP_LENGTH_NS ) - 20 ) - -#define MAX_P_ATT 40 /* Maximum number of pulses for gain attenuation factor */ -#define NB_G 4 /* Number of band groups */ -#define MAX_GAIN_BITS 5 /* Maximum number of gain bits */ - -#define ENV_ADJ_START 6 /* Number of consecutive bands for which the attenuation is maximum */ -#define ENV_ADJ_INCL 5 /* Inclination for mapping between attenuation region width and attenuation limit */ - -#define ENV_SMOOTH_FAC 0.1f /* Smoothing factor for envelope stability measure */ -#define L_STAB_TBL 10 /* Number of elements in stability transition table */ -#define M_STAB_TBL_FX ( (Word16) 21068 ) /* Q13, 2.571756 */ -#define D_STAB_TBL_FX ( (Word16) 845 ) /* Q13 0.1013138 */ -#define HALF_D_STAB_TBL_FX ( (Word16) 422 ) /* Q13 0.1013138/2.0 */ -#define NUM_ENV_STAB_PLC_STATES 2 /* Number of states of markov model */ - -#define ATT_LIM_HANGOVER 150 /* Number of hangover frames for disabling stability dependent attenuation */ -#define DELTA_TH 5.0f /* Delta energy threshold for transient detection for envelope stability */ -#define ENERGY_TH 100.0f /* Energy threshold for transient detection */ -#define ENERGY_LT_BETA 0.93f /* Smoothing factor for long-term energy measure */ - -#define START_EXC 60 -#define L_HARMONIC_EXC 202 - -#define HQ_GENERIC_OFFSET 2 -#define HQ_GENERIC_END_FREQ 560 -#define HQ_GENERIC_END_FREQ_14P2KHZ 568 -#define HQ_GENERIC_END_FREQ_16P0KHZ 640 - -#define HQ_GENERIC_FOFFSET_24K4 80 -#define HQ_GENERIC_FOFFSET_32K 144 -#define HQ_GENERIC_SWB_NBITS 31 -#define HQ_GENERIC_SWB_NBITS2 30 -#define HQ_GENERIC_FB_NBITS 5 - -#define HQ_GENERIC_ST_FREQ 224 -#define HQ_GENERIC_LOW0 80 -#define HQ_GENERIC_HIGH0 240 -#define HQ_GENERIC_HIGH1 368 -#define HQ_GENERIC_HIGH2 496 -#define HQ_GENERIC_LEN0 128 -#define HQ_GENERIC_NVQIDX 6 - -#define HQ_GENERIC_EXC0 0 -#define HQ_GENERIC_EXC1 1 -#define HQ_GENERIC_SP_EXC 2 - -#define LF_EMP_FAC 1.2f - -#define DIM_FB 3 -#define HQ_FB_FENV SWB_FENV + DIM_FB -#define N_CB_FB 32 - -#define HVQ_THRES_BIN_24k 224 -#define HVQ_THRES_SFM_24k 22 -#define HVQ_THRES_BIN_32k 320 -#define HVQ_THRES_SFM_32k 25 -#define HVQ_MIN_PEAKS 2 -#define HVQ_MAX_PEAKS_32k 23 -#define HVQ_MAX_PEAKS_24k 17 -#define HVQ_MAX_PEAKS_24k_CLAS 20 /* Limit for HVQ mode */ -#define HVQ_MAX_PEAKS ( HVQ_MAX_PEAKS_32k + 1 + 11 ) /* Allowing HVQ at max 48 kbps */ -#define HVQ_PEAKS_BPS_DELTA ( HQ_32k - HQ_24k40 ) -#define HVQ_PEAKS_PER_DELTA ( HVQ_MAX_PEAKS_32k - HVQ_MAX_PEAKS_24k ) -#define HVQ_PEAKS_PER_DELTA_THR ( HVQ_MAX_PEAKS_32k - HVQ_MAX_PEAKS_24k_CLAS ) -#define HVQ_PEAKS_PER_DELTA_OFFS ( HVQ_MAX_PEAKS_24k * HVQ_PEAKS_BPS_DELTA - HQ_24k40 * HVQ_PEAKS_PER_DELTA ) -#define HVQ_PEAKS_PER_DELTA_THR_OFFS ( HVQ_MAX_PEAKS_24k_CLAS * HVQ_PEAKS_BPS_DELTA - HQ_24k40 * HVQ_PEAKS_PER_DELTA_THR ) -#define HVQ_NUM_SFM_24k ( SFM_N_HARMONIC - 1 - HVQ_THRES_SFM_24k ) -#define HVQ_NUM_SFM_32k ( SFM_N_HARMONIC - 1 - HVQ_THRES_SFM_32k ) -#define HVQ_E_PEAK_SMOOTH_FAC ( 0.3f ) - -#define HVQ_MAX_RATE 32000 - -#define NUMNRMIBITS_SWB_HVQ_24k 35 -#define NUMNRMIBITS_SWB_HVQ_32k 25 - -#define MAX_PVQ_BANDS 8 -#define HVQ_MAX_PVQ_WORDS ( ( HVQ_MAX_RATE / FRAMES_PER_SEC ) / 16 + MAX_PVQ_BANDS ) -#define HVQ_MAX_POS_WORDS 40 -#define HVQ_PVQ_COEFS 24 -#define HVQ_BAND_MIN_PULSES 2 -#define HVQ_BAND_MAX_BITS_24k 80 -#define HVQ_BAND_MAX_BITS_32k 95 -#define HVQ_NEW_BAND_BIT_THR 30 - -#define HVQ_NF_GROUPS 2 -#define HVQ_NF_WEIGHT1 0.9578f /* HVQ Classifier - Noise floor estimate weight 1 */ -#define HVQ_NF_WEIGHT2 0.6472f /* HVQ Classifier - Noise floor estimate weight 2 */ -#define HVQ_PE_WEIGHT1 0.42237f /* HVQ Classifier - Peak envelope estimate weight 1 */ -#define HVQ_PE_WEIGHT2 0.80285f /* HVQ Classifier - Peak envelope estimate weight 2 */ -#define HVQ_THR_POW 0.88f /* HVQ Classifier power factor for threshold calc */ -#define HVQ_SHARP_THRES 9 /* HVQ Classifier - Sharpness threshold */ - -#define HVQ_PA_FAC 0.7071f /* HVQ Classifier peak allocation factor */ -#define HVQ_PA_PEAKS_SHARP1 9 /* HVQ Classifier - Maximum number of peaks for band with high sharpness */ -#define HVQ_PA_PEAKS_SHARP2 3 /* HVQ Classifier - Maximum number of peaks for band with medium sharpness */ -#define HVQ_PA_PEAKS_SHARP3 2 /* HVQ Classifier - Maximum number of peaks for band with low sharpness */ -#define HVQ_PA_SHARP_THRES2 16.0f /* HVQ Classifier - Sharpness threshold for band with medium sharpness */ -#define HVQ_PA_SHARP_THRES3 12.0f /* HVQ Classifier - Sharpness threshold for band with low sharpness */ - -#define HVQ_BW 32 /* HVQ Classifier subband bandwidth */ -#define HVQ_NSUB_32k 10 -#define HVQ_NSUB_24k 7 /* HVQ Classifier number of subbands */ - -#define HQ_CREST_THRESHOLD 7.0f /* HQ harmonic high band classifier, crest threshold */ -#define HQ_CREST_MOD_THRESHOLD 2.128f /* HQ harmonic high band classifier, modified crest threshold */ -#define HQ_CREST_FAC_SM 0.97f /* HQ harmonic high band classifier, smoothing factor */ - -#define HVQ_BWE_NOISE_BANDS 2 /* Number of BWE noise bands */ -#define HVQ_BWE_WEIGHT1 0.95f -#define HVQ_BWE_WEIGHT2 0.2f -#define HVQ_NFPE_FACTOR 6.4f -#define HVQ_LB_NFPE_FACTOR 3.2f - -#define HVQ_VQ_DIM 5 /* HVQ peak VQ dimension */ -#define HVQ_PVQ_GAIN_BITS 5 /* Number of bits to encode PVQ gains in HVQ */ -#define HVQ_NUM_CLASS 4 /* Number of codebook classes */ -#define HVQ_CB_SIZE 256 - -#define NUM_PG_HUFFLEN 9 /* Number of Huffman codewords for peak gains */ -#define MAX_PG_HUFFLEN 12 /* Length of the longest codeword for peak gain Huffman coding */ - -#define HVQ_CP_HUFF_OFFSET 3 /* HVQ Code Pos - Delta offset */ -#define HVQ_CP_HUFF_MAX 51 /* HVQ Code Pos - Maximum delta for huffman coding */ -#define HVQ_CP_HUFF_MAX_CODE 13 /* HVQ Code Pos - Size of largest code word */ -#define HVQ_CP_HUFF_NUM_LEN 11 /* HVQ Code Pos - Number of different huffman lengths */ -#define HVQ_CP_L2_MAX 64 /* HVQ Code Pos - Layer 2 maximum size */ -#define HVQ_CP_L1_LEN 5 /* HVQ Code Pos - Layer 1 block size */ -#define HVQ_CP_MAP_LEN 8 /* HVQ Code Pos - Mapping table size */ -#define HVQ_CP_MAP_IDX_LEN 3 /* HVQ Code Pos - Mapping index size */ -#define HVQ_CP_DELTA 0 /* HVQ Code Pos - Use Delta coding */ -#define HVQ_CP_SPARSE 1 /* HVQ Code Pos - Use Sparse coding */ - -#define MAX_SPLITS 10 /* Maximum number of PVQ band splits */ -#define QUANTAQ3OFFSET 1 - -enum QuantaMode -{ - PVQ_NEAREST = 0, - PVQ_CONS -}; - -#define DS_INDEX_LINEAR_END 21 -#define PYR_OFFSET 1 -#define RCF_INIT_SHIFT 14 -#define THR_ADD_SPLIT 7 /* Threshold for using additional split */ -#define PVQ_MAX_BAND_SIZE 64 /* Maxiumum supported band size for PVQ search */ -#define MIN_BAND_SIZE 1 /* Minimum supported band size for PVQ search */ -#define RC_BITS_RESERVED 1 -#define MAX_PVQ_BITS_PER_COEFFICIENT 80 /* Maximum bits per coefficient allocated per PVQ band. Q3. */ -#define MAX_SRT_LEN NB_SFM_MAX /* Maximum length of input for srt_vec_ind() */ - -/* index_pvq constants */ -#define KMAX 512 -#define KMAX_NON_DIRECT 96 /* max K for non-direct indexing recursion rows */ -#define ODD_DIV_SIZE 48 /* ind0=1/1 ind1 =1/3 ... ind47=1/95 */ - -/* TCQ */ -#define TCQ_MAX_BAND_SIZE 120 /* Maxiumum supported band size for TCQ+USQ search */ -#define STATES 8 -#define MAX_AR_FREQ 16383 -#define AR_BITS 16 -#define STATES_LSB 4 -#define TCQ_LSB_SIZE 24 -#define TCQ_AMP 10 -#define QTCQ ( 0.2f ) - -#define AR_FIRST ( AR_TOP / 4 + 1 ) -#define AR_TOP ( ( 1 << AR_BITS ) - 1 ) -#define AR_HALF ( 2 * AR_FIRST ) -#define AR_THIRD ( 3 * AR_FIRST ) - -#define MAX_SIZEBUF_PBITSTREAM 1024 - -/*----------------------------------------------------------------------------------* - * SWB BWE for LR MDCT core - *----------------------------------------------------------------------------------*/ - -#define G1_RANGE 4 -#define G1G2_RANGE 15 -#define GRP_SB 4 /*Maximum subband groups*/ -#define THR1 4 /* Bit allocation threshold value */ -#define THR2 5 /* Bit allocation threshold value */ -#define THR3 6 /* Bit allocation threshold value */ - -#define NB_SWB_SUBBANDS 4 /* maximum number of subbands in normal2 subband coding */ -#define SWB_SB_LEN0_12KBPS 55 /* length of subband number X in lowest bitrate operation */ -#define SWB_SB_LEN1_12KBPS 68 -#define SWB_SB_LEN2_12KBPS 84 -#define SWB_SB_LEN3_12KBPS 105 -#define SWB_HIGHBAND_12KBPS ( SWB_SB_LEN0_12KBPS + SWB_SB_LEN1_12KBPS + SWB_SB_LEN2_12KBPS + SWB_SB_LEN3_12KBPS ) -#define SWB_LOWBAND_12KBPS ( HQ_GENERIC_END_FREQ_14P2KHZ - SWB_HIGHBAND_12KBPS ) -#define SWB_HIGHBAND_MAX SWB_HIGHBAND_12KBPS -#define SWB_LOWBAND_MAX SWB_LOWBAND_12KBPS - -#define SWB_SB_OFF0_12KBPS 0 /* subband offsets are based on the subband lengths */ -#define SWB_SB_OFF1_12KBPS ( SWB_SB_OFF0_12KBPS + SWB_SB_LEN0_12KBPS ) -#define SWB_SB_OFF2_12KBPS ( SWB_SB_OFF1_12KBPS + SWB_SB_LEN1_12KBPS ) -#define SWB_SB_OFF3_12KBPS ( SWB_SB_OFF2_12KBPS + SWB_SB_LEN2_12KBPS ) -#define SWB_SB_OFF4_12KBPS ( SWB_SB_OFF3_12KBPS + SWB_SB_LEN3_12KBPS ) - -/* 16.4 kbps */ -#define SWB_SB_LEN0_16KBPS 59 /* length of subband number X in lowest bitrate operation */ -#define SWB_SB_LEN1_16KBPS 74 -#define SWB_SB_LEN2_16KBPS 92 -#define SWB_SB_LEN3_16KBPS 115 -#define SWB_HIGHBAND_16KBPS ( SWB_SB_LEN0_16KBPS + SWB_SB_LEN1_16KBPS + SWB_SB_LEN2_16KBPS + SWB_SB_LEN3_16KBPS ) -#define SWB_LOWBAND_16KBPS ( HQ_GENERIC_END_FREQ_16P0KHZ - SWB_HIGHBAND_16KBPS ) - -#define SWB_SB_OFF0_16KBPS 0 /* subband offsets are based on the subband lengths */ -#define SWB_SB_OFF1_16KBPS ( SWB_SB_OFF0_16KBPS + SWB_SB_LEN0_16KBPS ) -#define SWB_SB_OFF2_16KBPS ( SWB_SB_OFF1_16KBPS + SWB_SB_LEN1_16KBPS ) -#define SWB_SB_OFF3_16KBPS ( SWB_SB_OFF2_16KBPS + SWB_SB_LEN2_16KBPS ) -#define SWB_SB_OFF4_16KBPS ( SWB_SB_OFF3_16KBPS + SWB_SB_LEN3_16KBPS ) - -/* SpectrumSmoothing */ -#define L_SB 12 /* subband length for SpectrumSmoothing */ - -/* SpectrumSmoothing for NSS */ -#define L_SB_NSS 8 -#define L_SB_NSS_HALF ( L_SB_NSS / 2 ) -#define NUM_SUBBAND_SMOOTH_MAX ( SWB_HIGHBAND_12KBPS / L_SB_NSS + 1 ) -#define MA_LEN 7 - -/* Harmonic mode */ -#define NB_SWB_SUBBANDS_HAR_SEARCH_SB 2 /* search number of subbands in harmonic subband coding */ -#define NB_SWB_SUBBANDS_HAR 4 /* maximum number of subbands in harmonic subband coding */ -#define N_NBIGGEST_PULSEARCH 18 -#define N_NBIGGEST_SEARCH_LRG_B 32 - - -/* 13.2 kbps */ -#define SWB_SB_BW_LEN0_12KBPS_HAR 56 /* Group 1 length for BWE */ -#define SWB_SB_BW_LEN1_12KBPS_HAR 100 /* Group 2 Length for BWE */ -#define SWB_SB_BW_LEN2_12KBPS_HAR SWB_SB_BW_LEN1_12KBPS_HAR -#define SWB_SB_BW_LEN3_12KBPS_HAR SWB_SB_BW_LEN0_12KBPS_HAR - -/* 16.4 kbps */ -#define SWB_SB_BW_LEN0_16KBPS_HAR 60 /* Group 1 length for BWE */ -#define SWB_SB_BW_LEN1_16KBPS_HAR 110 /* Group 2 Length for BWE */ -#define SWB_SB_BW_LEN2_16KBPS_HAR SWB_SB_BW_LEN1_16KBPS_HAR -#define SWB_SB_BW_LEN3_16KBPS_HAR SWB_SB_BW_LEN0_16KBPS_HAR - -#define SWB_SB_OFF0_SUB5_12KBPS_HAR 0 /* subband offsets are based on the subband lengths */ -#define SWB_SB_OFF1_SUB5_12KBPS_HAR ( SWB_SB_OFF0_SUB5_12KBPS_HAR + SWB_SB_BW_LEN0_12KBPS_HAR ) -#define SWB_SB_OFF2_SUB5_12KBPS_HAR ( SWB_SB_OFF1_SUB5_12KBPS_HAR + SWB_SB_BW_LEN1_12KBPS_HAR ) -#define SWB_SB_OFF3_SUB5_12KBPS_HAR ( SWB_SB_OFF2_SUB5_12KBPS_HAR + SWB_SB_BW_LEN2_12KBPS_HAR ) - -#define SWB_SB_OFF0_SUB5_16KBPS_HAR 0 /* subband offsets are based on the subband lengths */ -#define SWB_SB_OFF1_SUB5_16KBPS_HAR ( SWB_SB_OFF0_SUB5_16KBPS_HAR + SWB_SB_BW_LEN0_16KBPS_HAR ) -#define SWB_SB_OFF2_SUB5_16KBPS_HAR ( SWB_SB_OFF1_SUB5_16KBPS_HAR + SWB_SB_BW_LEN1_16KBPS_HAR ) -#define SWB_SB_OFF3_SUB5_16KBPS_HAR ( SWB_SB_OFF2_SUB5_16KBPS_HAR + SWB_SB_BW_LEN2_16KBPS_HAR ) - -#define LR_BLK_LEN 16 -#define LR_HLF_PK_BLK_LEN 8 -#define LR_LOWBAND_DIF_PK_LEN 10 -#define SWB_HAR_RAN1 80 -#define SWB_HAR_RAN2 140 -#define SWB_HAR_RAN3 200 -#define SPT_SHORTEN_SBNUM 4 - -/* LRMDCT fix precision */ -#define SWB_BWE_LR_Qs 12 -#define SWB_BWE_LR_Qbe 14 -#define SWB_BWE_LR_QRk 16 - - -/*----------------------------------------------------------------------------------* - * FEC for HQ core - *----------------------------------------------------------------------------------*/ - -#define MAX_PGF 7 -#define MAX_ROW 2 - -#define MAX_SB_NB 3 - -#define NELP_LP_ORDER 8 -#define NUM_NELP_GAINS 10 - -#define MINIMUM_RATE_TO_ENCODE_VOICING_FLAG 45000 -#define FRAC_BWE_SMOOTH 2.0f /* >= 1 */ -#define FRAMECTTOSTART_MDCT 3 - -/*----------------------------------------------------------------------------------* - * Channel aware mode (FEC) - *----------------------------------------------------------------------------------*/ - -#define FEC_OFFSET 3 -#define MAX_RF_FEC_OFFSET 9 - - -/*----------------------------------------------------------------------------------* - * HQ FEC - *----------------------------------------------------------------------------------*/ - -#define POST_HQ_DELAY_NS DELAY_BWE_TOTAL_NS /* delay of post processing after core HQ coding */ -#define PH_ECU_ALDO_OLP2_NS ( ACELP_LOOK_NS / 2 ) /* half length of ALDO WINDOW overlap */ -#define PH_ECU_LOOKAHEAD_NS ( 11 * ACELP_LOOK_NS / ( 7 * 2 ) ) /* Number of nanoseconds look-ahead ahead from the end of the past synthesized frame */ -#define PH_ECU_MEM_NS ( ( L_PROT48k / 48 - 20 ) * 1000000 - PH_ECU_LOOKAHEAD_NS ) /* Number of nanoseconds memory for Phase ECU before the old_synthFB_fx pointer */ - -#define N_LEAD_NB 70 /* (N_LEAD_MDCT*(L_FRAME8k/20)) */ -#define N_ZERO_NB 45 /* (N_ZERO_MDCT*(L_FRAME8k/20)) */ -#define N_LEAD_O_NB 90 /* (20.f-N_LEAD_MDCT)*(L_FRAME8k/20) */ -#define N_ZERO_O_NB 35 /* (10.f-N_ZERO_MDCT)*(L_FRAME8k/20) */ -#define N_Z_L_NB 115 /* (N_Z_L_MDCT*(float)(L/20)) = N_ZERO_NB + N_LEAD_NB*/ -#define N_Z_L_O_NB 205 /* (N_Z_L_O_MDCT*(float)(L/20)) = N_ZERO_NB + N_LEAD_NB + N_LEAD_O_NB */ - -#define L_PROT32k 1024 /* HQ phase ECU prototype frame length */ -#define MAX_PLOCS L_PROT48k / 4 + 1 /* maximum number of spectral peaks to be searched */ -#define QUOT_LPR_LTR 4 -#define LGW_MAX 9 /* maximum number frequency group widths */ -#define BETA_MUTE_FAC_INI 0.5f /* initial noise attenuation factor */ -#define L_TRANA32k ( L_PROT32k / QUOT_LPR_LTR ) /* transient analysis frame length */ -#define L_TRANA16k ( L_TRANA32k / 2 ) -#define L_TRANA8k ( L_TRANA32k / 4 ) -#define L_PROT_HAMM_LEN2_48k NS2SA( 48000, 6000000L ) -#define L_PROT_HAMM_LEN2_32k NS2SA( 32000, 6000000L ) -#define L_PROT_HAMM_LEN2_16k NS2SA( 16000, 6000000L ) -#define L_PROT48k L_PROT32k * 3 / 2 /* HQ phase ECU prototype frame length */ -#define L_PROT48k_2 L_PROT48k / 2 -#define L_TRANA48k ( L_PROT48k / QUOT_LPR_LTR ) /* transient analysis frame length */ -#define PH_ECU_SPEC_SIZE L_PROT48k -#define T_SIN_PI_2 ( PH_ECU_SPEC_SIZE / 4 ) -#define HQ_FEC_SIGN_SFM 16 -#define OFF_FRAMES_LIMIT 30 /* HQ phase ECU, burst length for muting to zero */ -#define PH_ECU_MUTE_START 15 /* HQ phase ECU, burst length to start steep muting */ - -#define SCALE_DOWN_3dB 0.7071f -#define MAX_TILT 0.f -#define ED_THRES 1.0f - -#define ED_THRES_12P 0.032209f -#define ED_THRES_50P 0.159063f -#define ED_THRES_90P 0.532669 -#define MAXDELAY_FEC 224 - -#define RANDOM_START 1 -#define HQ_FEC_SIGN_THRES 6 -#define HQ_FEC_SIGN_THRES_TRANS 3 -#define HQ_FEC_BAND_SIZE 4 - - -/*--------------------------------------------------------------* - * Tonal MDCT PLC - *---------------------------------------------------------------*/ - -#define MAX_NUMBER_OF_IDX 30 -#define GROUP_LENGTH 7 -#define MAX_PEAKS_FROM_PITCH 10 -#define LAST_HARMONIC_POS_TO_CHECK 128 /* 128 because we check harmonics only up to 3.2 kHz */ -#define ALLOWED_SIDE_LOBE_FLUCTUATION 3.0f /* 4.8 dB */ -#define LEVEL_ABOVE_ENVELOPE 7.59f /* 8.8 dB */ -#define UNREACHABLE_THRESHOLD 16.0f /* 12 dB Increase of LEVEL_ABOVE_ENVELOPE so that the threshold is not reached */ -#define SMALL_THRESHOLD 1.10f /* 0.41 dB Increase of LEVEL_ABOVE_ENVELOPE for the peak detection at a definitive peak in the estimated spectrum */ -#define BIG_THRESHOLD 1.5f /* 1.76 dB Increase of LEVEL_ABOVE_ENVELOPE for the peak detection at a probable peak in the estimated spectrum */ - -#define kSmallerLagsTargetBitsThreshold 150 -#define kCtxHmOlRSThr 2.6f - - -#define kTcxHmNumGainBits 2 /* Number of bits for the gain index */ -#define kTcxHmParabolaHalfWidth 4 /* Parabola half width */ -#define kLtpHmGainThr 0.46f /* Use the LTP pitch lag in the harmonic model? */ - -#define LOWRATE_TCXLPC_MAX_BR_CPE ACELP_13k20 -#define LOWRATE_TCXLPC_MAX_BR ACELP_9k60 - -/*--------------------------------------------------------------* - * Waveform-adjustment MDCT PLC - *---------------------------------------------------------------*/ - -#define DEC_STATE_LEN 10 -#define MAX_POST_LEN 3 -#define TCX_TONALITY_INIT_CNT 7 - -#define TCX_NONTONAL 0 -#define TCX_TONAL 1 - -/*---------------------------------------------------------------* - * IGF * - *---------------------------------------------------------------*/ - -#define IGF_MAX_TILES 10 -#define IGF_MAX_GRANULE_LEN 1200 -#define IGF_TRANS_FAK 2 -#define IGF_MAX_SFB 23 -#define IGF_NOF_GRIDS 3 -#define IGF_MAX_SUBFRAMES 2 -#define IGF_PAST_SFM_LEN 5 -#define IGF_MID_WHITENING_LEVEL 7 -#define IGF_MID_WHITENING_LEVEL2 9 - -#define IGF_MODE_WB 1 -#define IGF_MODE_SWB 2 -#define IGF_MODE_FB 3 - -enum -{ - IGF_BITRATE_WB_9600, - IGF_BITRATE_RF_WB_13200, - IGF_BITRATE_SWB_9600, - IGF_BITRATE_SWB_13200, - IGF_BITRATE_RF_SWB_13200, - IGF_BITRATE_SWB_16400, - IGF_BITRATE_SWB_24400, - IGF_BITRATE_SWB_32000, - IGF_BITRATE_SWB_48000, - IGF_BITRATE_SWB_64000, - IGF_BITRATE_FB_16400, - IGF_BITRATE_FB_24400, - IGF_BITRATE_FB_32000, - IGF_BITRATE_FB_48000, - IGF_BITRATE_FB_64000, - IGF_BITRATE_FB_96000, - IGF_BITRATE_FB_128000, - IGF_BITRATE_WB_13200_CPE, - IGF_BITRATE_WB_16400_CPE, - IGF_BITRATE_SWB_13200_CPE, - IGF_BITRATE_SWB_16400_CPE, - IGF_BITRATE_SWB_24400_CPE, - IGF_BITRATE_SWB_32000_CPE, - IGF_BITRATE_SWB_48000_CPE, - IGF_BITRATE_SWB_48000_CPE_TCX10, - IGF_BITRATE_SWB_64000_CPE, - IGF_BITRATE_SWB_80000_CPE, - IGF_BITRATE_SWB_96000_CPE, - IGF_BITRATE_FB_24400_CPE, - IGF_BITRATE_FB_32000_CPE, - IGF_BITRATE_FB_48000_CPE, - IGF_BITRATE_FB_48000_CPE_TCX10, - IGF_BITRATE_FB_64000_CPE, - IGF_BITRATE_FB_80000_CPE, - IGF_BITRATE_FB_96000_CPE, - IGF_BITRATE_FB_128000_CPE, - IGF_BITRATE_UNKNOWN -}; - -#define IGF_WHITENING_OFF 0 -#define IGF_WHITENING_MID 1 -#define IGF_WHITENING_STRONG 2 - -#define IGF_GRID_LB_NORM 0 -#define IGF_GRID_LB_TRAN 1 -#define IGF_GRID_LB_SHORT 2 - -/* constants for IGFSCFDecoder and IGFSCFEncoder */ -#define IGF_CTX_OFFSET 3 /* offset added to make the context values nonnegative, for array indexing */ -#define IGF_CTX_COUNT ( 2 * IGF_CTX_OFFSET + 1 ) /* number of contexts for the AC statistical model */ -#define IGF_MIN_ENC_SEPARATE -12 /* minimum residual value coded separately, without escape coding */ -#define IGF_MAX_ENC_SEPARATE +12 /* maximum residual value coded separately, without escape coding */ -#define IGF_SYMBOLS_IN_TABLE ( 1 + ( IGF_MAX_ENC_SEPARATE - IGF_MIN_ENC_SEPARATE + 1 ) + 1 ) /* alphabet size */ - -/*----------------------------------------------------------------------------------* - * SC-VBR - *----------------------------------------------------------------------------------*/ - -#define UVG1_CBSIZE 32 /* NELP unvoiced gain-1 codebook size */ -#define UVG2_CBSIZE 64 /* NELP unvoiced gain-2 codebook size */ - -/* PPP constants */ -#define NUM_ERB_WB 24 /* Number of ERB bands in wideband */ -#define NUM_ERB_NB 22 /* Number of ERB bands in narrowband */ - -#define CUTFREE_ABS_RANGE 6 -#define CUTFREE_REL_RANGE 0.25 - -#define VBR_ADR_MAX_TARGET 6.15f /* max target ADR for VBR. This rate is used in the closed loop rate control */ -#define PPP_LAG_THRLD 180 /* max lag allowed for PPP coding */ - -#define MAXLAG_WI ( PPP_LAG_THRLD / 2 + 12 ) /* Maximum lag used in waveform interpolation */ -#define MAX_LAG_PIT ( PPP_LAG_THRLD + 21 ) /* Max possible pitch lag after adding delta lag */ - -/*----------------------------------------------------------------------------------* - * JBM - *----------------------------------------------------------------------------------*/ - -#define MAX_JBM_SLOTS 100 /* every primary copy and partial copy stored in JBM needs one slot */ -#define MAX_AU_SIZE ( ( MAX_BITS_PER_FRAME + 7 ) / 8 ) /* max frame size in bytes */ - -/*----------------------------------------------------------------------------------* - * TEC/TFA - *----------------------------------------------------------------------------------*/ - -#define DELAY_TEMP_ENV_BUFF_TEC 9 -#define EXT_DELAY_HI_TEMP_ENV 2 - - -/*----------------------------------------------------------------------------------* - * BASOP ROM Tables - *----------------------------------------------------------------------------------*/ - -#define LD_INT_TAB_LEN 120 -#define INV_TABLE_SIZE 256 -#define SQRT_TABLE_SIZE 256 - - -/*----------------------------------------------------------------------------------* - * Decoder modes - *----------------------------------------------------------------------------------*/ - -enum -{ - PRIMARY_2800, - PRIMARY_7200, - PRIMARY_8000, - PRIMARY_9600, - PRIMARY_13200, - PRIMARY_16400, - PRIMARY_24400, - PRIMARY_32000, - PRIMARY_48000, - PRIMARY_64000, - PRIMARY_96000, - PRIMARY_128000, - PRIMARY_SID, - PRIMARY_FUT1, - SPEECH_LOST, - NO_DATA_RECEIVED -}; - -enum -{ - AMRWB_IO_6600, - AMRWB_IO_8850, - AMRWB_IO_1265, - AMRWB_IO_1425, - AMRWB_IO_1585, - AMRWB_IO_1825, - AMRWB_IO_1985, - AMRWB_IO_2305, - AMRWB_IO_2385, - AMRWB_IO_SID /*, - AMRWB_IO_FUT1, - AMRWB_IO_FUT2, - AMRWB_IO_FUT3, - AMRWB_IO_FUT4, - SPEECH_LOST, - NO_DATA_RECEIVED */ -}; - -enum -{ - G192, - MIME, - VOIP_G192_RTP, - VOIP_RTPDUMP -}; - -/* clang-format on */ -#endif /* CNST_H */ diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h deleted file mode 100644 index fa14ecff23..0000000000 --- a/lib_com/common_api_types.h +++ /dev/null @@ -1,150 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef COMMON_API_TYPES_H -#define COMMON_API_TYPES_H - -/* options.h needed for debugging/development features - * It should be stripped for delivery along with debugging switches */ -#include "options.h" -#include <stdint.h> -#include <stdio.h> - -/*----------------------------------------------------------------------------------* - * Common API constants - *----------------------------------------------------------------------------------*/ - -#define IVAS_MAX_BITS_PER_FRAME ( 512000 / 50 ) -#define IVAS_MAX_NUM_OBJECTS 4 -#define IVAS_MAX_OUTPUT_CHANNELS 16 -#define IVAS_CLDFB_NO_CHANNELS_MAX ( 60 ) -#define IVAS_MAX_INPUT_LFE_CHANNELS 4 - -/*----------------------------------------------------------------------------------* - * Common API structures - *----------------------------------------------------------------------------------*/ - -typedef enum _IVAS_ENC_FEC_INDICATOR -{ - IVAS_ENC_FEC_LO, - IVAS_ENC_FEC_HI, - IVAS_ENC_FEC_UNDEFINED = 0xffff -} IVAS_ENC_FEC_INDICATOR; - -typedef struct _IVAS_ENC_CHANNEL_AWARE_CONFIG -{ - int16_t channelAwareModeEnabled; - IVAS_ENC_FEC_INDICATOR fec_indicator; - int16_t fec_offset; -} IVAS_ENC_CHANNEL_AWARE_CONFIG; - - -typedef struct _IVAS_ISM_METADATA -{ - float azimuth; - float elevation; - float radius; - float spread; - float gainFactor; -} IVAS_ISM_METADATA; - -typedef struct -{ - float w, x, y, z; - -} IVAS_QUATERNION; - -typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; -typedef struct ivas_masa_qmetadata_frame_struct *IVAS_MASA_QMETADATA_HANDLE; - -typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE; - -#ifdef DEBUGGING -typedef enum -{ - IVAS_RENDER_TYPE_OVERRIDE_NONE, - IVAS_RENDER_TYPE_OVERRIDE_CREND, - IVAS_RENDER_TYPE_OVERRIDE_FASTCONV -} IVAS_RENDER_TYPE_OVERRIDE; -#endif - -typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG -{ - int16_t override; - int16_t use_brir; - int16_t late_reverb_on; - int16_t nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ - float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ - float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ - float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ - float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ - float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ -} IVAS_ROOM_ACOUSTICS_CONFIG_DATA; - -typedef struct _IVAS_RENDER_CONFIG -{ -#ifdef DEBUGGING - IVAS_RENDER_TYPE_OVERRIDE renderer_type_override; -#endif - IVAS_ROOM_ACOUSTICS_CONFIG_DATA room_acoustics; -} IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; - -typedef struct _IVAS_LS_CUSTOM_LAYOUT -{ - int16_t num_spk; - float azimuth[IVAS_MAX_OUTPUT_CHANNELS]; - float elevation[IVAS_MAX_OUTPUT_CHANNELS]; - int16_t num_lfe; - int16_t lfe_idx[IVAS_MAX_OUTPUT_CHANNELS]; - -} IVAS_CUSTOM_LS_DATA; - -typedef struct ivas_LS_setup_custom *IVAS_LSSETUP_CUSTOM_HANDLE; -typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT; - - -typedef struct _IVAS_JBM_TRACE_DATA -{ - double playTime; - int16_t partialCopyOffset; - uint16_t sequenceNumber; - uint32_t timeStamp; - uint32_t rcvTime; - - int16_t lastDecodedWasActive; - int16_t partial_frame_flag; - int16_t dataUnit_flag; - -} IVAS_JBM_TRACE_DATA; - - -#endif /* COMMON_API_TYPES_H */ diff --git a/lib_com/control.h b/lib_com/control.h deleted file mode 100644 index 2b3f92b535..0000000000 --- a/lib_com/control.h +++ /dev/null @@ -1,82 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef _CONTROL_H -#define _CONTROL_H - -/* BASOP -> FLC brigde: flow control instructions */ - -#include "stl.h" - -#define FOR( a ) \ - if ( incrFor(), 0 ) \ - ; \ - else \ - for ( a ) -static __inline void incrFor( void ) -{ -} - -#define WHILE( a ) \ - if ( incrFlcWhile(), 0 ) \ - ; \ - else \ - while ( a ) -static __inline void incrFlcWhile( void ) -{ -} - -#define DO do - -#define IF( a ) if ( incrIf(), a ) -static __inline void incrIf( void ) -{ -} - -#define ELSE else - -#define SWITCH( a ) switch ( incrSwitch(), a ) -static __inline void incrSwitch( void ) -{ -} - -#define CONTINUE continue - -#define BREAK break - -#define GOTO goto - -#endif /* _CONTROL_H */ diff --git a/lib_com/enh1632.h b/lib_com/enh1632.h deleted file mode 100644 index a46fb8dbe7..0000000000 --- a/lib_com/enh1632.h +++ /dev/null @@ -1,508 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/* - =========================================================================== - File: ENH1632.H v.2.3 - 30.Nov.2009 - =========================================================================== - - ITU-T STL BASIC OPERATORS - - ENHANCED 16-BIT & 32-BIT ARITHMETIC OPERATORS - - History: - 07 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control - operators for the ITU-T Standard Tool Library as - described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 - TD 11 document and subsequent discussions on the - wp3audio@yahoogroups.com email reflector. - March 06 v2.1 Changed to improve portability. - Some counters incrementations were missing (s_and, - s_or, s_xor). - 30 Nov 09 v2.3 saturate() removed - - ============================================================================ -*/ - - -#ifndef _ENH1632_H -#define _ENH1632_H - - -/***************************************************************************** - * - * Constants and Globals - * - *****************************************************************************/ - - -#include "stl.h" - - -/***************************************************************************** - * - * Prototypes for enhanced 16/32 bit arithmetic operators - * - *****************************************************************************/ -Word16 shl_r( Word16 var1, Word16 var2 ); -Word32 L_shl_r( Word32 L_var1, Word16 var2 ); - - -Word16 lshl( Word16 var1, Word16 var2 ); -Word16 lshr( Word16 var1, Word16 var2 ); -Word32 L_lshl( Word32 L_var1, Word16 var2 ); -Word32 L_lshr( Word32 L_var1, Word16 var2 ); - -Word16 rotr( Word16 var1, Word16 var2, Word16 *var3 ); -Word16 rotl( Word16 var1, Word16 var2, Word16 *var3 ); -Word32 L_rotr( Word32 var1, Word16 var2, Word16 *var3 ); -Word32 L_rotl( Word32 var1, Word16 var2, Word16 *var3 ); - - -/***************************************************************************** - * - * Functions - * - *****************************************************************************/ - -/***************************************************************************** - * - * Function Name : s_max - * - * Purpose : - * - * Compares var1 and var2 and returns the maximum value. - * - * Complexity weight : 1 - * - * Inputs : - * - * var1 16 bit short signed integer (Word16) whose value falls in - * the range : 0x8000 <= var1 <= 0x7fff. - * - * var2 16 bit short signed integer (Word16) whose value falls in - * the range : 0x8000 <= var2 <= 0x7fff. - * - * Outputs : - * - * none - * - * Return Value : - * - * var_out 16 bit short signed integer (Word16) whose value falls in - * the range : 0x8000 <= L_var_out <= 0x7fff. - * - *****************************************************************************/ -static __inline Word16 s_max( Word16 var1, Word16 var2 ) -{ - Word16 var_out; - - if ( var1 >= var2 ) - var_out = var1; - else - var_out = var2; - - - return ( var_out ); -} - - -/***************************************************************************** - * - * Function Name : s_min - * - * Purpose : - * - * Compares var1 and var2 and returns the minimum value. - * - * Complexity weight : 1 - * - * Inputs : - * - * var1 16 bit short signed integer (Word16) whose value falls in - * the range : 0x8000 <= var1 <= 0x7fff. - * - * var2 16 bit short signed integer (Word16) whose value falls in - * the range : 0x8000 <= var2 <= 0x7fff. - * - * Outputs : - * - * none - * - * Return Value : - * - * var_out 16 bit short signed integer (Word16) whose value falls in - * the range : 0x8000 <= var_out <= 0x7fff. - * - *****************************************************************************/ -static __inline Word16 s_min( Word16 var1, Word16 var2 ) -{ - Word16 var_out; - - if ( var1 <= var2 ) - var_out = var1; - else - var_out = var2; - - - return ( var_out ); -} - - -/***************************************************************************** - * - * Function Name : L_max - * - * Purpose : - * - * Compares L_var1 and L_var2 and returns the maximum value. - * - * Complexity weight : 1 - * - * Inputs : - * - * L_var1 32 bit long signed integer (Word32) whose value falls in the - * range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. - * - * L_var2 32 bit long signed integer (Word32) whose value falls in the - * range : 0x8000 0000 <= L_var2 <= 0x7fff ffff. - * - * Outputs : - * - * none - * - * Return Value : - * - * L_var_out 32 bit long signed integer (Word32) whose value falls in the - * range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. - * - *****************************************************************************/ -static __inline Word32 L_max( Word32 L_var1, Word32 L_var2 ) -{ - Word32 L_var_out; - - if ( L_var1 >= L_var2 ) - L_var_out = L_var1; - else - L_var_out = L_var2; - - - return ( L_var_out ); -} - - -/***************************************************************************** - * - * Function Name : L_min - * - * Purpose : - * - * Compares L_var1 and L_var2 and returns the minimum value. - * - * Complexity weight : 1 - * - * Inputs : - * - * L_var1 32 bit long signed integer (Word32) whose value falls in the - * range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. - * - * L_var2 32 bit long signed integer (Word32) whose value falls in the - * range : 0x8000 0000 <= L_var2 <= 0x7fff ffff. - * - * Outputs : - * - * none - * - * Return Value : - * - * L_var_out 32 bit long signed integer (Word32) whose value falls in the - * range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. - * - *****************************************************************************/ -static __inline Word32 L_min( Word32 L_var1, Word32 L_var2 ) -{ - Word32 L_var_out; - - if ( L_var1 <= L_var2 ) - L_var_out = L_var1; - else - L_var_out = L_var2; - - - return ( L_var_out ); -} - - -/***************************************************************************** - * - * Function Name : s_and - * - * Purpose : - * - * Performs logical AND of the two 16 bit input variables. - * var_out = var1 & var2 - * - * Complexity weight : 1 - * - * Inputs : - * - * var1 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var1 <= 0x0000 7fff. - * - * var2 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var2 <= 0x0000 7fff. - * - * Outputs : - * - * none - * - * Return Value : - * - * var_out 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var_out <= 0x0000 7fff. - * - *****************************************************************************/ -static __inline Word16 s_and( Word16 var1, Word16 var2 ) -{ - Word16 var_out; - - var_out = var1 & var2; - - - return ( var_out ); -} - - -/***************************************************************************** - * - * Function Name : L_and - * - * Purpose : - * - * Performs logical AND of the two 32 bit input variables. - * L_var_out = L_var1 & L_var2 - * - * Complexity weight : 1 - * - * Inputs : - * - * L_var1 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var1 <= 0x7fff ffff. - * - * L_var2 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var2 <= 0x7fff ffff. - * - * Outputs : - * - * none - * - * Return Value : - * - * L_var_out 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var_out <= 0x7fff ffff. - * - *****************************************************************************/ -static __inline Word32 L_and( Word32 L_var1, Word32 L_var2 ) -{ - Word32 L_var_out; - - L_var_out = L_var1 & L_var2; - - - return ( L_var_out ); -} - - -/***************************************************************************** - * - * Function Name : s_or - * - * Purpose : - * - * Performs logical OR of the two 16 bit input variables. - * var_out = var1 | var2 - * - * Complexity weight : 1 - * - * Inputs : - * - * var1 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var1 <= 0x0000 7fff. - * - * var2 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var2 <= 0x0000 7fff. - * - * Outputs : - * - * none - * - * Return Value : - * - * var_out 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var_out <= 0x0000 7fff. - * - *****************************************************************************/ -static __inline Word16 s_or( Word16 var1, Word16 var2 ) -{ - Word16 var_out; - - var_out = var1 | var2; - - - return ( var_out ); -} - - -/***************************************************************************** - * - * Function Name : L_or - * - * Purpose : - * - * Performs logical OR of the two 32 bit input variables. - * L_var_out = L_var1 | L_var2 - * - * Complexity weight : 1 - * - * Inputs : - * - * L_var1 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var1 <= 0x7fff ffff. - * - * L_var2 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var2 <= 0x7fff ffff. - * - * Outputs : - * - * none - * - * Return Value : - * - * L_var_out 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var_out <= 0x7fff ffff. - * - *****************************************************************************/ -static __inline Word32 L_or( Word32 L_var1, Word32 L_var2 ) -{ - - Word32 L_var_out; - - L_var_out = L_var1 | L_var2; - - - return ( L_var_out ); -} - - -/***************************************************************************** - * - * Function Name : s_xor - * - * Purpose : - * - * Performs logical XOR of the two 16 bit input variables. - * var_out = var1 ^ var2 - * - * Complexity weight : 1 - * - * Inputs : - * - * var1 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var1 <= 0x0000 7fff. - * - * var2 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var2 <= 0x0000 7fff. - * - * Outputs : - * - * none - * - * Return Value : - * - * var_out 16 bit short signed integer (Word16) whose value - * falls in the range 0xffff 8000 <= var_out <= 0x0000 7fff. - * - *****************************************************************************/ -static __inline Word16 s_xor( Word16 var1, Word16 var2 ) -{ - Word16 var_out; - - var_out = var1 ^ var2; - - - return ( var_out ); -} - - -/***************************************************************************** - * - * Function Name : L_xor - * - * Purpose : - * - * Performs logical OR of the two 32 bit input variables. - * L_var_out = L_var1 ^ L_var2 - * - * Complexity weight : 1 - * - * Inputs : - * - * L_var1 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var1 <= 0x7fff ffff. - * - * L_var2 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var2 <= 0x7fff ffff. - * - * Outputs : - * - * none - * - * Return Value : - * - * L_var_out 32 bit long signed integer (Word32) whose value - * falls in the range 0x8000 0000 <= L_var_out <= 0x7fff ffff. - * - *****************************************************************************/ -static __inline Word32 L_xor( Word32 L_var1, Word32 L_var2 ) -{ - Word32 L_var_out; - - L_var_out = L_var1 ^ L_var2; - - - return ( L_var_out ); -} - - -#endif /*_ENH1632_H*/ - -/* end of file */ diff --git a/lib_com/enh40.h b/lib_com/enh40.h deleted file mode 100644 index d2a84652d4..0000000000 --- a/lib_com/enh40.h +++ /dev/null @@ -1,349 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/* - =========================================================================== - File: ENH40.H v.2.3 - 30.Nov.2009 - =========================================================================== - - ITU-T STL BASIC OPERATORS - - 40-BIT ARITHMETIC OPERATORS - - History: - 07 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control - operators for the ITU-T Standard Tool Library as - described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 - TD 11 document and subsequent discussions on the - wp3audio@yahoogroups.com email reflector. - March 06 v2.1 Changed to improve portability. - - ============================================================================ -*/ - - -#ifndef _ENH40_H -#define _ENH40_H - - -#include "stl.h" - -#if defined( BASOP_NOGLOB ) || defined( _MSC_VER ) -#define MAX_40 ( 0x0000007fffffffff ) -#define MIN_40 ( 0xffffff8000000000 ) -#endif - - -#define L40_OVERFLOW_OCCURED( L40_var1 ) ( Overflow = 1, exit( 1 ), L40_var1 ) -#define L40_UNDERFLOW_OCCURED( L40_var1 ) ( Overflow = 1, exit( 2 ), L40_var1 ) - - -/***************************************************************************** - * - * Prototypes for enhanced 40 bit arithmetic operators - * - *****************************************************************************/ -Word40 L40_shr( Word40 L40_var1, Word16 var2 ); -Word40 L40_shr_r( Word40 L40_var1, Word16 var2 ); -Word40 L40_shl( Word40 L40_var1, Word16 var2 ); -Word40 L40_shl_r( Word40 L40_var1, Word16 var2 ); - -static __inline Word40 L40_mult( Word16 var1, Word16 var2 ); - -static __inline Word40 L40_mac( Word40 L40_var1, Word16 var1, Word16 var2 ); -static __inline Word16 mac_r40( Word40 L40_var1, Word16 var1, Word16 var2 ); - -static __inline Word40 L40_msu( Word40 L40_var1, Word16 var1, Word16 var2 ); -static __inline Word16 msu_r40( Word40 L40_var1, Word16 var1, Word16 var2 ); - - -void Mpy_32_16_ss( Word32 L_var1, Word16 var2, Word32 *L_varout_h, UWord16 *varout_l ); -void Mpy_32_32_ss( Word32 L_var1, Word32 L_var2, Word32 *L_varout_h, UWord32 *L_varout_l ); - - -Word40 L40_lshl( Word40 L40_var1, Word16 var2 ); -Word40 L40_lshr( Word40 L40_var1, Word16 var2 ); - -static __inline Word40 L40_set( Word40 L40_var1 ); -static __inline UWord16 Extract40_H( Word40 L40_var1 ); -static __inline UWord16 Extract40_L( Word40 L40_var1 ); -static __inline UWord32 L_Extract40( Word40 L40_var1 ); - -static __inline Word40 L40_deposit_h( Word16 var1 ); -static __inline Word40 L40_deposit_l( Word16 var1 ); -static __inline Word40 L40_deposit32( Word32 L_var1 ); - -static __inline Word40 L40_round( Word40 L40_var1 ); -static __inline Word16 round40( Word40 L40_var1 ); - - -Word40 L40_add( Word40 L40_var1, Word40 L40_var2 ); -Word40 L40_sub( Word40 L40_var1, Word40 L40_var2 ); -Word40 L40_abs( Word40 L40_var1 ); -Word40 L40_negate( Word40 L40_var1 ); -Word40 L40_max( Word40 L40_var1, Word40 L40_var2 ); -Word40 L40_min( Word40 L40_var1, Word40 L40_var2 ); -Word32 L_saturate40( Word40 L40_var1 ); -Word16 norm_L40( Word40 L40_var1 ); - -#ifdef BASOP_NOGLOB -/* - * Overflowing operators - */ -Word40 L40_shl_o( Word40 L40_var1, Word16 var2, Flag *Overflow ); -Word40 L40_add_o( Word40 L40_var1, Word40 L40_var2, Flag *Overflow ); -Word40 L40_sub_o( Word40 L40_var1, Word40 L40_var2, Flag *Overflow ); -Word32 L_saturate40_o( Word40 L40_var1, Flag *Overflow ); -#endif /* BASOP_NOGLOB */ - -/*#ifdef _MSC_VER*/ -static __inline Word40 L40_set( Word40 L40_var1 ) -{ - Word40 L40_var_out; - -#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) - L40_var_out = L40_var1 & 0x000000ffffffffff; - - if ( L40_var1 & 0x8000000000 ) - L40_var_out = L40_var_out | 0xffffff0000000000; -#else - L40_var_out = L40_var1 & 0x000000ffffffffffLL; - - if ( L40_var1 & 0x8000000000LL ) - L40_var_out = L40_var_out | 0xffffff0000000000LL; -#endif - - - return ( L40_var_out ); -} -/*#endif*/ /* ifdef _MSC_VER */ - - -static __inline UWord16 Extract40_H( Word40 L40_var1 ) -{ - UWord16 var_out; - - var_out = (UWord16) ( L40_var1 >> 16 ); - - - return ( var_out ); -} - - -static __inline UWord16 Extract40_L( Word40 L40_var1 ) -{ - UWord16 var_out; - - var_out = (UWord16) ( L40_var1 ); - - - return ( var_out ); -} - - -static __inline UWord32 L_Extract40( Word40 L40_var1 ) -{ - UWord32 L_var_out; - - L_var_out = (UWord32) L40_var1; - - - return ( L_var_out ); -} - - -static __inline Word40 L40_deposit_h( Word16 var1 ) -{ - Word40 L40_var_out; - - L40_var_out = ( (Word40) var1 ) << 16; - -#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) - if ( var1 & 0x8000 ) - { - L40_var_out = L40_set( L40_var_out | 0xff00000000 ); -#else - if ( var1 & 0x8000 ) - { - L40_var_out = L40_set( L40_var_out | 0xff00000000LL ); -#endif - } - - - return ( L40_var_out ); -} - - -static __inline Word40 L40_deposit_l( Word16 var1 ) -{ - Word40 L40_var_out; - - L40_var_out = var1; - -#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) - if ( var1 & 0x8000 ) - { - L40_var_out = L40_set( L40_var_out | 0xffffff0000 ); -#else - if ( var1 & 0x8000 ) - { - L40_var_out = L40_set( L40_var_out | 0xffffff0000LL ); -#endif - } - - - return ( L40_var_out ); -} - - -static __inline Word40 L40_deposit32( Word32 L_var1 ) -{ - Word40 L40_var_out; - - L40_var_out = (Word40) L_var1; - -#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) - if ( L_var1 & 0x80000000 ) - { - L40_var_out = L40_set( L40_var_out | 0xff00000000 ); -#else - if ( L_var1 & 0x80000000 ) - { - L40_var_out = L40_set( L40_var_out | 0xff00000000LL ); -#endif - } - - - return ( L40_var_out ); -} - - -static __inline Word40 L40_round( Word40 L40_var1 ) -{ - Word40 L40_var_out; - Word40 L40_constant; - -#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) - L40_constant = L40_set( 0xffffff0000 ); -#else - L40_constant = L40_set( 0xffffff0000LL ); -#endif - - L40_var_out = L40_add( 0x8000, L40_var1 ); - L40_var_out = L40_var_out & L40_constant; - - - return ( L40_var_out ); -} - - -static __inline Word16 round40( Word40 L40_var1 ) -{ - Word16 var_out; - - var_out = extract_h( L_saturate40( L40_round( L40_var1 ) ) ); - - - return ( var_out ); -} - - -static __inline Word40 L40_mult( Word16 var1, Word16 var2 ) -{ - Word32 L_var_out; - Word40 L40_var_out; - - L_var_out = (Word32) var1 * (Word32) var2; - L40_var_out = (Word40) L_var_out; - - /* Below line can not overflow, so we can use << instead of L40_shl. */ - L40_var_out = L40_var_out << 1; - - - return ( L40_var_out ); -} - - -static __inline Word40 L40_mac( Word40 L40_var1, Word16 var2, Word16 var3 ) -{ - Word40 L40_var_out; - - L40_var_out = L40_mult( var2, var3 ); - L40_var_out = L40_add( L40_var1, L40_var_out ); - - - return ( L40_var_out ); -} - - -static __inline Word16 mac_r40( Word40 L40_var1, Word16 var2, Word16 var3 ) -{ - Word40 L40_var_out; - Word16 var_out; - - L40_var_out = L40_mac( L40_var1, var2, var3 ); - var_out = round40( L40_var_out ); - - - return ( var_out ); -} - - -static __inline Word40 L40_msu( Word40 L40_var1, Word16 var2, Word16 var3 ) -{ - Word40 L40_var_out; - - L40_var_out = L40_mult( var2, var3 ); - L40_var_out = L40_sub( L40_var1, L40_var_out ); - - - return ( L40_var_out ); -} - - -static __inline Word16 msu_r40( Word40 L40_var1, Word16 var2, Word16 var3 ) -{ - Word40 L40_var_out; - Word16 var_out; - - L40_var_out = L40_msu( L40_var1, var2, var3 ); - var_out = round40( L40_var_out ); - - - return ( var_out ); -} - - -#endif /*_ENH40_H*/ - - -/* end of file */ diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h deleted file mode 100644 index 4a9ce1e080..0000000000 --- a/lib_com/ivas_cnst.h +++ /dev/null @@ -1,1602 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_CNST_H -#define IVAS_CNST_H - -#include <stdint.h> -#include "options.h" -#include "cnst.h" -#include "ivas_error.h" - -/* clang-format off */ - -/*----------------------------------------------------------------------------------* - * mathematical constants - *----------------------------------------------------------------------------------*/ - -#define PI_OVER_2 ( EVS_PI / 2.0f ) -#define PI_OVER_180 ( EVS_PI / 180.0f ) -#define _180_OVER_PI ( 180.0f / EVS_PI ) - -#define SQRT2 1.414213562373095f -#define SQRT2_OVER_2 (SQRT2 / 2.0f) - -#define INV_SQRT2 7.071067811865475e-1f /* 1/sqrt(2) */ -#define INV_SQRT3 0.577350269189626f /* 1/sqrt(3) */ - -#define LOG_10 2.30258509299f - - -/*----------------------------------------------------------------------------------* - * IVAS formats - *----------------------------------------------------------------------------------*/ - -typedef enum -{ - UNDEFINED_FORMAT, - MONO_FORMAT, /* EVS mono processing */ - STEREO_FORMAT, /* IVAS stereo format */ - ISM_FORMAT, /* IVAS ISM (objects-coding) format */ - SBA_FORMAT, /* IVAS SBA (ambisonics) format */ - MASA_FORMAT, /* IVAS MASA format */ - MC_FORMAT, /* IVAS multi-channel format */ - -} IVAS_FORMAT; - - -/*----------------------------------------------------------------------------------* - * IVAS format signaling - *----------------------------------------------------------------------------------*/ - -#define IVAS_FORMAT_SIGNALING_NBITS 2 /* number of bits for signaling the IVAS format */ -#define IVAS_FORMAT_SIGNALING_NBITS_SBA ( IVAS_FORMAT_SIGNALING_NBITS + 1 ) - - -/*----------------------------------------------------------------------------------* - * IVAS output audio configurations - *----------------------------------------------------------------------------------*/ - -typedef enum -{ - AUDIO_CONFIG_INVALID, - AUDIO_CONFIG_MONO, /* mono output */ - AUDIO_CONFIG_STEREO, /* stereo output */ - AUDIO_CONFIG_5_1, /* 5.1 speakers layout CICP6 */ - AUDIO_CONFIG_7_1, /* 7.1 speakers layout CICP12 */ - AUDIO_CONFIG_5_1_2, /* 5.1+2 speakers layout CICP14 */ - AUDIO_CONFIG_5_1_4, /* 5.1+4 speakers layout CICP16 */ - AUDIO_CONFIG_7_1_4, /* 7.1+4 speakers layout CICP19 */ - AUDIO_CONFIG_LS_CUSTOM, /* custom loudspeaker layout */ - AUDIO_CONFIG_FOA, /* ambisonics, order 1 */ - AUDIO_CONFIG_HOA2, /* ambisonics, order 2 */ - AUDIO_CONFIG_HOA3, /* ambisonics, order 3 */ - AUDIO_CONFIG_OBA, /* object based audio */ - AUDIO_CONFIG_BINAURAL, /* binaural with HRIR */ - AUDIO_CONFIG_BINAURAL_ROOM, /* binaural with HRIR and BRIR */ - AUDIO_CONFIG_ISM1, /* ISM1 */ - AUDIO_CONFIG_ISM2, /* ISM2 */ - AUDIO_CONFIG_ISM3, /* ISM3 */ - AUDIO_CONFIG_ISM4, /* ISM4 */ - AUDIO_CONFIG_MASA1, /* MASA1 */ - AUDIO_CONFIG_MASA2, /* MASA2 */ - AUDIO_CONFIG_EXTERNAL /* external renderer */ - -} AUDIO_CONFIG; - -#ifdef DEBUGGING -typedef enum -{ - RENDER_TYPE_OVERRIDE_NONE, - RENDER_TYPE_OVERRIDE_CREND, - RENDER_TYPE_OVERRIDE_FASTCONV -} ivas_renderTypeOverride; -#endif - -/*----------------------------------------------------------------------------------* - * IVAS rendering configurations - *----------------------------------------------------------------------------------*/ - -/* Rendering convention rules: - * 1) "st_ivas->renderer_type" reflects always the last rendering stage in the processing - * 2) in some configurations, more rendering stages are used - * - renderers at the last stage, like RENDERER_BINAURAL_xxx, consider uniquely "st_ivas->hOutputSetup" - * - renderers that can be followed by an additional rendering stage, e.g. RENDERER_DIRAC, consider uniquely "st_ivas->hIntSetup" - * 3) in case of a single rendering stage: "hIntSetup=hOutputSetup" - * 4) In case of no rendering stage: "hTransSetup=hIntSetup=hOutputSetup" */ - -typedef enum -{ - RENDERER_DISABLE, - RENDERER_TD_PANNING, - RENDERER_BINAURAL_FASTCONV, - RENDERER_BINAURAL_FASTCONV_ROOM, - RENDERER_BINAURAL_PARAMETRIC, - RENDERER_BINAURAL_PARAMETRIC_ROOM, - RENDERER_BINAURAL_OBJECTS_TD, - RENDERER_DIRAC, - RENDERER_MC, - RENDERER_MC_PARAMMC, - RENDERER_SBA_LINEAR_DEC, - RENDERER_SBA_LINEAR_ENC, - RENDERER_STEREO_PARAMETRIC, - RENDERER_MONO_DOWNMIX, - RENDERER_MCMASA_MONO_STEREO, - RENDERER_PARAM_ISM, - RENDERER_BINAURAL_MIXER_CONV, - RENDERER_BINAURAL_MIXER_CONV_ROOM - -} RENDERER_TYPE; - -/*----------------------------------------------------------------------------------* - * IVAS general constants - *----------------------------------------------------------------------------------*/ - -#define MAX_INPUT_CHANNELS 16 /* Maximum number of input channels (HOA 3rd order) */ -#define MAX_TRANSPORT_CHANNELS 12 /* Maximum number of transport channels */ -#define MAX_INTERN_CHANNELS 16 /* Maximum number of intern channels (HOA 3rd order) */ -#define HEAD_ROTATION_HOA_ORDER 3 /* HOA 3rd order */ -#define MAX_CICP_CHANNELS 16 /* max channels for loudspeaker layouts (16 for custom layouts)*/ -#define MAX_OUTPUT_CHANNELS 16 /* Maximum number of output channels (HOA 3rd order) */ - -#define BINAURAL_CHANNELS 2 /* number of channels for binaural output configuration */ -#define CPE_CHANNELS 2 /* number of CPE (stereo) channels */ -#define FOA_CHANNELS 4 /* number of FOA channels */ -#define MAX_NUM_OBJECTS 4 /* max. number of audio objects */ - -#define MAX_SCE MAX_NUM_OBJECTS /* max. number of SCEs */ -#define MAX_CPE ( MAX_TRANSPORT_CHANNELS / CPE_CHANNELS ) /* max. number of CPEs */ - -#define MAX_BITS_METADATA 2640 /* max. bit-budget of metadata, one channel */ /* IVAS_fmToDo: to be confirmed for final value once mature */ -#define MAX_NUM_METADATA max( 2, MAX_NUM_OBJECTS ) /* number of max. metadata (now only 2 for DirAC) */ - - -#define IVAS_ENC_DELAY_NS ACELP_LOOK_NS -#define IVAS_DEC_DELAY_NS 3250000L /* 3.25 ms: IVAS decoder delay (without renderer delay) */ - -#define DELAY_FB_1_NS 1000000L /* 1.00 ms: filter-bank delay */ -#define DELAY_FB_4_NS 4000000L /* 4.00 ms: filter-bank delay */ - -#define IVAS_FB_ENC_DELAY_NS DELAY_FB_1_NS /* 1.00 ms: IVAS encoder filter-bank delay */ -#define IVAS_FB_DEC_DELAY_NS 5000000L /* 5.00 ms: IVAS decoder/renderer filter-bank delay */ - -#define IVAS_MAX_SBA_ORDER 3 /* Maximum supported Ambisonics order */ - -#define IVAS_LIMITER_THRESHOLD 32729 /* -0.01 dBFS */ -#define IVAS_LIMITER_ATTACK_SECONDS 0.005f -#define IVAS_NUM_SUPPORTED_FS 3 /* number of supported sampling-rates in IVAS */ - -/*----------------------------------------------------------------------------------* - * IVAS Bitrates - *----------------------------------------------------------------------------------*/ - -#define IVAS_SID_5k2 5200 /* SID frame bitrate */ -#define IVAS_13k2 13200 -#define IVAS_16k4 16400 -#define IVAS_24k4 24400 -#define IVAS_32k 32000 -#define IVAS_48k 48000 -#define IVAS_64k 64000 -#define IVAS_80k 80000 -#define IVAS_96k 96000 -#define IVAS_128k 128000 -#define IVAS_160k 160000 -#define IVAS_192k 192000 -#define IVAS_256k 256000 -#define IVAS_384k 384000 -#define IVAS_512k 512000 - -#define IVAS_BRATE_MAX IVAS_512k - -#define SIZE_IVAS_BRATE_TBL 16 -#define IVAS_NUM_ACTIVE_BRATES (SIZE_IVAS_BRATE_TBL - 2) - -/*----------------------------------------------------------------------------------* - * IVAS modes : IVAS SCE, IVAS CPE modes (DFT, TD, MDCT stereo) - *----------------------------------------------------------------------------------*/ - -#define EVS_MONO 0 /* EVS Mono BE operating mode */ -#define IVAS_SCE 1 /* IVAS SCE */ -#define IVAS_CPE_DFT 2 /* IVAS CPE: DFT-based parametric stereo */ -#define IVAS_CPE_TD 3 /* IVAS CPE: TD stereo */ -#define IVAS_CPE_MDCT 4 /* IVAS CPE: MDCT-based stereo */ - -#define MIN_BRATE_MDCT_STEREO IVAS_48k /* min. CPE bitrate where MDCT stereo is supported in stereo format coding */ - -#define PCA_BRATE IVAS_256k /* PCA supported bitrate */ - -#define NBITS_ELEMENT_MODE 1 /* number of bits to encode the stereo element mode */ -#define NBITS_BWIDTH 2 /* number of bits to encode all audio bandwidths */ - -/* format signaling in SID frames */ -#define SID_FORMAT_NBITS 3 /* Bit 0 | Bit 1 | Bit 2 */ - /*-------|-------|------ */ -#define SID_DFT_STEREO 0x0 /* 0| 0| 0 */ -#define SID_MDCT_STEREO 0x1 /* 1| 0| 0 */ -#define SID_ISM 0x2 /* 0| 1| 0 */ -#define SID_MASA_1TC 0x3 /* 1| 1| 0 */ -#define SID_MULTICHANNEL 0x4 /* 0| 0| 1 */ -#define SID_SBA_1TC 0x5 /* 1| 0| 1 */ -#define SID_SBA_2TC 0x6 /* 0| 1| 1 */ -#define SID_MASA_2TC 0x7 /* 1| 1| 1 */ - -/*----------------------------------------------------------------------------------* - * IVAS ACELP core constants - *----------------------------------------------------------------------------------*/ - -#define MIN_UNVOICED_TWO_STAGE_BRATE 7050 /* min. per channel bitrate where two stages UNVOICED is supported */ -#define MAX_UNVOICED_BRATE ACELP_13k20 /* max. per channel bitrate where UNVOICED is supported */ -#define MAX_VOICED_BRATE ACELP_13k20 /* max. per channel bitrate where VOICED is supported */ -#define MIN_TC_BRATE 6450 /* min. per channel bitrate where TRANSITION is supported */ -#define MAX_ACELP_BRATE 48000 /* max. per channel bitrate where ACELP core is supported */ - -#define ACELP_12k8_HIGH_LIMIT 24350 /* max. per channel bitrate where the ACELP@12.8kHz is supported */ -#define ACELP_16k_LOW_LIMIT 13250 /* min. per channel bitrate where the ACELP@16kHz is supported */ -#define SCE_CORE_16k_LOW_LIMIT 17000 /* min. SCE bitrate where the ACELP@16kHz is supported; must be >= (ACELP_16k_LOW_LIMIT + SWB_TBE_1k6) */ -#define MIN_BRATE_AVQ_EXC ACELP_29k00 /* min. per channel bitrate where the AVQ excitation stage is supported */ -#define MAX_BRATE_AVQ_EXC_TD 40000 /* max. per channel bitrate where the AVQ excitation stage in time domain is supported */ - -#define MAX_GSC_INACTIVE_BRATE 28000 /* max. per channel bitrate where GSC Inactive (@16kHz) is supported (max. 31950 to ensure BE with EVS mono) */ - -#define FRMT_SHP_MIN_BRATE_IVAS 18000 /* min. bitrate where formant-sharpening flag is transmitted; applies both to SCE and CPE */ - -#define CNA_MAX_BRATE_STEREO IVAS_16k4 /* max. stereo bitrate where CNA is supported */ -#define CNA_MAX_BRATE_DFT_STEREO IVAS_32k /* max. stereo bitrate where CNA is supported in DFT stereo */ - -#define MIN_BRATE_WB_BWE 7150 /* min. per channel bitrate where WB BWE info is encoded */ -#define MIN_BRATE_SWB_BWE 7800 /* min. per channel bitrate where SWB BWE info is encoded */ - -#define MIN_BRATE_GSC_NOISY_FLAG 12000 /* min. per channel bitrate where gsc_noisy_flag in SWB is supported */ -#define GSC_L_RATE_STG 15000 /* bitrate below will use low rate GSC settings */ -#define GSC_H_RATE_STG 20000 /* bitrates above will use high rate GSC settings */ - -#define MIN_BRATE_SWB_SCE ACELP_9k60 /* min. SCE bitrate where SWB is supported */ -#define MIN_BRATE_SWB_STEREO IVAS_13k2 /* min. stereo bitrate where SWB is supported */ -#define MIN_BRATE_FB_STEREO IVAS_32k /* min. SCE and stereo bitrate where FB is supported */ - -#define MIN_TDM_BRATE_WB_TBE_1k05 12000 /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */ -#define MIN_BRATE_WB_TBE_1k05 9650 /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */ -#define MIN_BRATE_SWB_TBE_1k60 13200 /* min. per channel bitrate where SWB TBE @1.60 kbps is supported (0.95 kbps at lower bitrates) */ -#define MIN_BRATE_SWB_TBE_2k80 24400 /* min. per channel bitrate where SWB TBE @2.80 kbps is supported */ -#define MIN_MIN_BRATE_LRTD_SWB_BWE 5000 - -#define STEREO_TCX_MIN_RATE 9000 /* TCX coding down to this per channel bitrate */ -#define STEREO_GSC_BIT_RATE_ALLOC 9200 -#define HQ_MDCTCLASS_CROSSOVER_BRATE 32000 /* MDCT classifier crossover bitrate between 24.4 and 32 kbps tunings*/ -#define HQ_BWE_CROSSOVER_BRATE 26000 /* HQ crossover bitrate between 24.4 and 32 kbps BWE tunings */ - - -/*----------------------------------------------------------------------------------* - * ISm Constants - *----------------------------------------------------------------------------------*/ - -#define ISM_NB_BITS_METADATA_NOMINAL ( ( SCE_CORE_16k_LOW_LIMIT - ACELP_16k_LOW_LIMIT ) / FRAMES_PER_SEC ) /* nominal number of metadata bits - used for configuration of Core-Coder modules */ - -#define ISM_METADATA_VAD_FLAG_BITS 1 -#define ISM_METADATA_FLAG_BITS 2 - -#define ISM_NO_META 0 -#define ISM_LOW_IMP 1 -#define ISM_MEDIUM_IMP 2 -#define ISM_HIGH_IMP 3 - -#define ISM_AZIMUTH_NBITS 7 -#define ISM_AZIMUTH_MIN -180.0f -#define ISM_AZIMUTH_MAX 180.0f -#define ISM_AZIMUTH_LOW_BORDER -140.0f -#define ISM_AZIMUTH_HIGH_BORDER 135.0f - -#define ISM_ELEVATION_NBITS 6 -#define ISM_ELEVATION_MIN -90.0f -#define ISM_ELEVATION_MAX 90.0f -#define ISM_ELEVATION_LOW_BORDER -70.0f -#define ISM_ELEVATION_HIGH_BORDER 65.0f -#define ISM_Q_STEP 2.5f -#define ISM_Q_STEP_BORDER 5.0f - -/* Parametric ISM */ -#define MAX_PARAM_ISM_NBANDS 11 -#define MAX_PARAM_ISM_NBANDS_WB 9 -#define MAX_PARAM_ISM_NBANDS_NB 7 -#define PARAM_ISM_MDFT_NO_SLOTS 4 -#define MAX_PARAM_ISM_NBLOCKS 1 -#define MAX_PARAM_ISM_WAVE 2 -#define PARAM_ISM_OBJ_IND_NBITS 2 -#define PARAM_ISM_POW_RATIO_NBITS 3 -#define PARAM_ISM_MAX_DMX 2 -#define PARAM_ISM_MAX_CHAN 16 -#define PARAM_ISM_HYS_BUF_SIZE 10 - -typedef enum -{ - ISM_MODE_NONE, - ISM_MODE_DISC, /* discrete ISM */ - ISM_MODE_PARAM /* parametric ISM */ -} ISM_MODE; - - -/* ISm metadata bitstream */ -enum -{ - IND_ISM_NUM_OBJECTS, - IND_ISM_METADATA_FLAG = IND_ISM_NUM_OBJECTS + MAX_NUM_OBJECTS, - IND_ISM_VAD_FLAG = IND_ISM_METADATA_FLAG + MAX_NUM_OBJECTS, - - /* ------------- loop for objects -------------- */ - TAG_ISM_LOOP_START = IND_ISM_VAD_FLAG + MAX_NUM_OBJECTS, - IND_ISM_AZIMUTH_DIFF_FLAG = TAG_ISM_LOOP_START, - IND_ISM_AZIMUTH = TAG_ISM_LOOP_START, - IND_ISM_ELEVATION_DIFF_FLAG = TAG_ISM_LOOP_START, - IND_ISM_ELEVATION = TAG_ISM_LOOP_START, - TAG_ISM_LOOP_END = TAG_ISM_LOOP_START + 100, /* IVAS_fmToDo: to be reviewed once the final metadata are defined */ - /* --------- end of loop for objects ----------- */ - - ISM_MAX_NUM_INDICES -}; - - -/*----------------------------------------------------------------------------------* - * DFT Stereo Constants - *----------------------------------------------------------------------------------*/ - -/* Coding configurations*/ -#define STEREO_DFT_DMX_ACTIVE 1 /* Enable true spatialization */ - -/* residual coding modes */ -#define STEREO_DFT_RES_COD_OFF 0 -#define STEREO_DFT_RES_COD_1kHz 1 /* use residual coding up to 1 kHz */ -#define STEREO_DFT_RES_COD_1_6kHz 2 /* use residual coding up to 1.6 kHz */ - -/* residual prediction modes */ -#define STEREO_DFT_RESPRED_OFF 0 -#define STEREO_DFT_RESPRED_STEFI 1 /* full-band stereo filling (above residual) */ -#define STEREO_DFT_RESPRED_ESF 2 /* enhanced stereo filling in LB, regular stereo filling in HB */ - -/* band resolution */ -#define STEREO_DFT_BAND_RES_HIGH 1 /* use higher band resolution following ERB4 scale */ -#define STEREO_DFT_BAND_RES_LOW 2 /* use lower band resolution following ERB8 scale */ - -/* Processing constants*/ -#define STEREO_DFT_OVL_NS ACELP_LOOK_NS /* 8.75ms */ -#define STEREO_DFT_ZP_NS 3125000L /* 3.125ms */ -#define STEREO_DFT_HOP_NS 10000000L /* 10ms */ -#define STEREO_DFT_N_NS ( STEREO_DFT_HOP_NS + ACELP_LOOK_NS + 2 * STEREO_DFT_ZP_NS ) - -#define STEREO_DFT_ZP_NS_ENC 5625000L /* 5.625ms */ -#define STEREO_DFT_HOP_NS_ENC FRAME_SIZE_NS /* 20ms */ -#define STEREO_DFT_N_NS_ENC ( STEREO_DFT_HOP_NS_ENC + ACELP_LOOK_NS + 2 * STEREO_DFT_ZP_NS_ENC ) - -#define STEREO_DFT_OVL_MAX NS2SA( 48000, ACELP_LOOK_NS ) -#define STEREO_DFT_HOP_MAX NS2SA( 48000, STEREO_DFT_HOP_NS ) - -#define STEREO_DFT_ZP_MAX_ENC NS2SA( 48000, STEREO_DFT_ZP_NS_ENC ) -#define STEREO_DFT_HOP_MAX_ENC NS2SA( 48000, STEREO_DFT_HOP_NS_ENC ) -#define STEREO_DFT_N_MAX_ENC NS2SA( 48000, STEREO_DFT_N_NS_ENC ) - -#define STEREO_DFT_OVL_32k NS2SA( 32000, ACELP_LOOK_NS ) - -#define STEREO_DFT_ZP_32k_ENC NS2SA( 32000, STEREO_DFT_ZP_NS_ENC ) -#define STEREO_DFT_HOP_32k_ENC NS2SA( 32000, STEREO_DFT_HOP_NS_ENC ) -#define STEREO_DFT_N_32k_ENC NS2SA( 32000, STEREO_DFT_N_NS_ENC ) - -#define STEREO_DFT_OVL_16k NS2SA( 16000, ACELP_LOOK_NS ) - -#define STEREO_DFT_ZP_16k_ENC NS2SA( 16000, STEREO_DFT_ZP_NS_ENC ) -#define STEREO_DFT_HOP_16k_ENC NS2SA( 16000, STEREO_DFT_HOP_NS_ENC ) -#define STEREO_DFT_N_16k_ENC NS2SA( 16000, STEREO_DFT_N_NS_ENC ) - -#define STEREO_DFT_OVL_12k8 NS2SA( 12800, ACELP_LOOK_NS ) - -#define STEREO_DFT_ZP_12k8_ENC NS2SA( 12800, STEREO_DFT_ZP_NS_ENC ) -#define STEREO_DFT_HOP_12k8_ENC NS2SA( 12800, STEREO_DFT_HOP_NS_ENC ) -#define STEREO_DFT_N_12k8_ENC NS2SA( 12800, STEREO_DFT_N_NS_ENC ) - -#define STEREO_DFT_OVL_8k NS2SA( 8000, ACELP_LOOK_NS ) -#define STEREO_DFT_N_8k NS2SA( 8000, STEREO_DFT_N_NS ) - -#define STEREO_DFT_ZP_8k_ENC NS2SA( 8000, STEREO_DFT_ZP_NS_ENC ) -#define STEREO_DFT_HOP_8k_ENC NS2SA( 8000, STEREO_DFT_HOP_NS_ENC ) -#define STEREO_DFT_N_8k_ENC NS2SA( 8000, STEREO_DFT_N_NS_ENC ) - -#define STEREO_DFT32MS_N_NS FRAME_SIZE_NS /* 20 ms */ -#define STEREO_DFT32MS_OVL_NS 3125000L /* 3.125ms - Overlap for the outer edges of windows on decoder */ -#define STEREO_DFT32MS_OVL2_NS 9375000L /* 9.375ms - Overlap for the inner edges of windows on decoder */ -#define STEREO_DFT32MS_WIN_CENTER_NS ( int32_t )( ( FRAME_SIZE_NS + STEREO_DFT32MS_OVL_NS ) * 0.5f ) /* 11.5625ms - mid point of the two windows wrt the left edge of overlap */ -#if defined( DEBUG_MODE_DFT ) || defined( DEBUG_STEREO_DFT_NOCORE ) -#define STEREO_DFT32MS_HOP_NS 10000000L /* 10ms */ -#endif -#define STEREO_DFT32MS_ZP_NS ( int32_t )( 0.5f * ( STEREO_DFT32MS_N_NS - STEREO_DFT32MS_WIN_CENTER_NS - ( STEREO_DFT32MS_OVL2_NS * 0.5f ) ) ) /* 2 sided zp calculated such that window size is satisfied */ - -#define STEREO_DFT32MS_OVL_MAX NS2SA( 48000, STEREO_DFT32MS_OVL_NS ) -#define STEREO_DFT32MS_OVL2_MAX NS2SA( 48000, STEREO_DFT32MS_OVL2_NS ) -#define STEREO_DFT32MS_N_MAX NS2SA( 48000, STEREO_DFT32MS_N_NS ) - -#define STEREO_DFT32MS_N_32k NS2SA( 32000, STEREO_DFT32MS_N_NS ) - -#define STEREO_DFT32MS_OVL_16k NS2SA( 16000, STEREO_DFT32MS_OVL_NS ) -#define STEREO_DFT32MS_OVL2_16k NS2SA( 16000, STEREO_DFT32MS_OVL2_NS ) -#define STEREO_DFT32MS_N_16k NS2SA( 16000, STEREO_DFT32MS_N_NS ) - -#define STEREO_DFT32MS_OVL_12k8 NS2SA( 12800, STEREO_DFT32MS_OVL_NS ) -#define STEREO_DFT32MS_OVL2_12k8 NS2SA( 12800, STEREO_DFT32MS_OVL2_NS ) -#define STEREO_DFT32MS_N_12k8 NS2SA( 12800, STEREO_DFT32MS_N_NS ) - -#define STEREO_DFT32MS_OVL_8k NS2SA( 8000, STEREO_DFT32MS_OVL_NS ) -#define STEREO_DFT32MS_OVL2_8k NS2SA( 8000, STEREO_DFT32MS_OVL2_NS ) -#define STEREO_DFT32MS_N_8k NS2SA( 8000, STEREO_DFT32MS_N_NS ) - -#define STEREO_DFT32MS_STEP 3 /* STEREO_DFT32MS_OVL2_NS / STEREO_DFT32MS_OVL_NS */ -#define STEREO_DFT_TRIGO_DEC_STEP 2 -#define STEREO_DFT_TRIGO_SRATE_8k_STEP 4 -#define STEREO_DFT_TRIGO_SRATE_12k8_STEP 1 -#define STEREO_DFT_TRIGO_SRATE_16k_STEP 2 -#define STEREO_DFT_TRIGO_SRATE_32k_STEP 1 -#define STEREO_DFT_TRIGO_SRATE_48k_STEP 1 - -#define STEREO_DFT_OFFSET 1 -#define STEREO_DFT_NBDIV 2 - -#ifdef FIX_ITD_CNG -#define STEREO_DFT_ITD_CNG_XFADE 100 -#define STEREO_DFT_ITD_CNG_XFADE_RESET 2 -#endif - -#define STEREO_DFT_DELAY_DEC_BWE_NS ( STEREO_DFT_OFFSET * STEREO_DFT_HOP_NS - ACELP_LOOK_NS ) /* 1.25ms/2.5ms: max delay for core decoder*/ - -#define STEREO_DFT_ENC_DFT_NB ( STEREO_DFT_OFFSET + 1 ) /*frame + lookahead*/ -#define STEREO_DFT_DEC_DFT_NB ( STEREO_DFT_NBDIV + STEREO_DFT_OFFSET ) /*frame + lookahead*/ - -#define STEREO_CNA_LR_CORR_LT_FILT 0.95f /* long-term averaging factor for L/R correlation estimation */ -#define STEREO_CNA_ILD_LT_FILT 0.9f /* long-term averaging factor for ILD estimation */ - -typedef enum -{ - DFT_STEREO_DEC_ANA_NOCORE = -1, /*-1: signal read from file (DEBUG mode)*/ - DFT_STEREO_DEC_ANA_FB, /* 0: full-band signal (e.g. HQ-CORE/TCX (M), residual (S))*/ - DFT_STEREO_DEC_ANA_FB_ADD, /* 1: full-band signal to add (e.g High-band signal of TD-BWE)*/ - DFT_STEREO_DEC_ANA_BPF, /* 2: Bass-post-filter error signal, to add and weight*/ - DFT_STEREO_DEC_ANA_LB, /* 3: low-band signal (e.g. ACELP (M), resiudal signal (S))*/ - DFT_STEREO_DEC_ANA_LB_ADD, /* 4: low-band signal to add (e.g. LB-TCX)*/ - DFT_STEREO_DEC_ANA_HB_ADD /* 5: high-band signal to add (e.g. transition to ACELP in MDCT->DFT switching) */ -} DFT_STEREO_DEC_ANA_TYPE; - -/*Stereo parameters*/ - -#define STEREO_DFT_ERB4_BANDS 14 -#define STEREO_DFT_ERB8_BANDS 8 -#define STEREO_DFT_BAND_MAX ( STEREO_DFT_ERB4_BANDS - 1 ) /*Maximum number of parameter bands*/ -#define STEREO_DFT_BUF_MAX STEREO_DFT32MS_N_MAX * STEREO_DFT_NBDIV - -#define STEREO_DFT_NRG_PAST_LEN 3 - -/*ITD*/ -#define STEREO_DFT_ITD_FS 32000 -#define STEREO_DFT_ITD_MAX 160 /*samples @ 32000*/ -#define STEREO_DFT_ITD_MAX_ANA 200 -#define STEREO_DFT_ITD_MIN max( STEREO_DFT_ITD_MAX - 256 + 1, 1 ) /*STEREO_DFT_ITD_MAX-pow(2,STEREO_DFT_ITD_NBITS-1)+1*/ -#define STEREO_DFT_ITD_NBITS 9 /* 1 bit for sign, the rest for the absolute value*/ -#define STEREO_DFT_ITD_MODE_NBITS 1 - -#define STEREO_DFT_SID_ITD_NBITS 4 /* Number of ITD bits SID frames */ -#define STEREO_DFT_SID_ITD_FAC 1 /* Quantization step reduction factor */ - -#define STEREO_DFT_FLAG_BITS 1 -#define STEREO_DFT_SIDEGAIN_NBITS 5 -#define STEREO_DFT_FEC_THRESHOLD 10 -#define STEREO_DFT_BITDIFF_LP_FAC (0.06f) /* Low-pass filter coefficient for filtering bit difference between absolute and differential coding */ -#define STEREO_DFT_BITDIFF_ABS_SELECT (0.8f) /* Constant to set tendency for selecting absolute coding mode */ -#define STEREO_DFT_BITDIFF_INIT (12.0f) /* Init value for low-pass bit difference */ - -#define STEREO_DFT_SIDE_GAIN_NBITS 5 -#define STEREO_DFT_IPD_NBITS 3 -#define STEREO_DFT_GIPD_NBITS 4 - -#define STEREO_DFT_ITD_VAD_BAND_NUM 20 - -#define STEREO_DFT_XCORR_LB_MAX 24 - -#define STEREO_DFT_N_COH_PRED 4 /* Number of intra-frame predictors for coherence vector */ -#define STEREO_DFT_COH_PRED_COEFFS 15 /* Number of coefficients per predictor */ -#define STEREO_DFT_PRED_NBITS 2 /* Bits to signal predictor (log_2(4) = 2) */ -#define STEREO_DFT_N_COH_ALPHA_STEPS 5 -#define STEREO_DFT_N_COH_ALPHA_LEVELS 2 -#define STEREO_DFT_N_COH_ALPHA_BITS 1 -#define STEREO_DFT_SG_ACT_CNT_MAX 1500 -#define STEREO_DFT_COH_MAXBAND 6 -#define STEREO_DFT_SID_GIPD_NBITS 2 -#define STEREO_DFT_FD_FILT 0.9f - -#ifdef FIX_ITD_CNG -#define STEREO_DFT_CNG_ITD_CNT 8 -#endif - -/*Residual prediction*/ -#define STEREO_DFT_PAST_MAX 4 -#define STEREO_DFT_RES_PRED_BAND_MAX 12 - -#define STEREO_DFT_REVERB_MODE_NBITS 1 -#define STEREO_DFT_RES_PRED_BAND_MIN 0 -#define STEREO_DFT_RES_PRED_BAND_MIN_RED 3 -#define STEREO_DFT_RES_PRED_BAND_MIN_CONST 3 - -#define STEREO_DFT_ALLPASS_BUFFERLEN 256 -#define STEREO_DFT_ALLPASS_FADELEN_12k8 32 -#define STEREO_DFT_ALLPASS_FADELEN_16k 40 -#define STEREO_DFT_CORE_HIST_MAX ( STEREO_DFT_PAST_MAX + 3 ) / 2 -#define STEREO_DFT_TD_STEFI_DELAY_NS FRAME_SIZE_NS + IVAS_DEC_DELAY_NS - DELAY_BWE_TOTAL_NS -#define STEREO_DFT_TD_STEFI_SUBFR_DELAY 2 - -/*Residual coding*/ -#define STEREO_DFT_N_MAX_RES 800 /* Maximum of lines coded in residual coding */ -#define STEREO_DFT_RES_GLOBAL_GAIN_BITS 7 -#define STEREO_DFT_RES_GAINS_BITS 3 - -#define STEREO_DFT_RES_COD_SNR_MIN 10 -#define STEREO_DFT_RES_COD_SNR_MAX 40 -#define STEREO_DFT_L_SUBFR_8k 32 -#define STEREO_DFT_NBPSF_PIT_MAX_8k NBPSF_PIT_MAX / 2 - -/* Residual coding BPF */ -#define STEREO_DFT_BPF_ADAPT_ALPHA (0.61f) -#define STEREO_DFT_BPF_ADAPT_BETA (0.68f) - -/* Golomb-Rice encoding */ -#define NO_SYMB_GR_SIDE_G 31 -#define NO_SYMB_GR_PRED_G 8 - -#define STEREO_DFT_RES_BW_MAX 66 /*Maximum number of bin for residual signal in each frame (res_cod_band_max == 6 in 48kHz)*/ -#define SBA_DIRAC_STEREO_NUM_BANDS 5 -#define SBA_DIRAC_NRG_SMOOTH_LONG 10 -#define SBA_DIRAC_NRG_SMOOTH_SHORT 3 - -/* PLC for DFT Stereo residual */ -#define STEREO_DFT_RES_N_PEAKS_MAX 15 /*Maximum number of peaks within residual signal in each frame (res_cod_band_max == 6 in 48kHz)*/ - -/* MDCT to DFT Stereo switching */ -#define STEREO_MDCT2DFT_FADE_LEN_48k L_FRAME48k / 8 - -/* DFT stereo side-info bitstream*/ -enum -{ - IND_STEREO_DFT_ATTACK_PRESENT, - IND_STEREO_DFT_RES_COD, - IND_STEREO_DFT_SIDEGAIN_FLAG, - - IND_STEREO_DFT_SIDEGAINS, - IND_STEREO_DFT_ITD_MODE = IND_STEREO_DFT_SIDEGAINS + 4 * STEREO_DFT_BAND_MAX + 72, - - IND_STEREO_DFT_ITD_HUFF, - IND_STEREO_DFT_ITD_NEG, - IND_STEREO_DFT_ITD_COD, - - IND_STEREO_DFT_NO_IPD_FLAG, - IND_STEREO_DFT_GIPD, - - IND_STEREO_DFT_IPD_FLAG, - IND_STEREO_DFT_IPD_COD, - - IND_STEREO_DFT_REVERB_MODE = IND_STEREO_DFT_IPD_COD + 4 * STEREO_DFT_BAND_MAX + 2, /* max number for GR order 2 */ - - IND_STEREO_DFT_RES_PRED_FLAG, - IND_STEREO_DFT_PRED_GAIN_COD, - - IND_STEREO_DFT_NON_USED = IND_STEREO_DFT_PRED_GAIN_COD + 4 * STEREO_DFT_RES_PRED_BAND_MAX + 2, /* max number for GR order 2 */ - - /* residual coding */ - IND_STEREO_DFT_RESIDUAL_GLOBAL_GAIN, - IND_STEREO_DFT_RESIDUAL_COD, - IND_STEREO_DFT_SID_COH = IND_STEREO_DFT_RESIDUAL_COD + 56, /* max possible number of indices for residual coding */ - - STEREO_DFT_MAX_NUM_INDICES = IND_STEREO_DFT_SID_COH + 6 /* max possible number of indices for coherence encoding */ -}; - - -/*----------------------------------------------------------------------------------* - * Range coder constants - *----------------------------------------------------------------------------------*/ - -#define RANGE_UNI_BUFFER_BYTES_MAX 1024 -#define RANGE_N_CONTEXT 64 -#define RANGE_N_SYMBOLS 17 - - -/*----------------------------------------------------------------------------------* - * ECLVQ Stereo constants - *----------------------------------------------------------------------------------*/ - -#define ECSQ_VECTOR_SIZE_MAX 256 -#define ECSQ_GLOBAL_GAIN_INDEX_ALL_ZERO 127 /* indicates that all values in the vector are zero */ - -#define ECLVQ_GLOBAL_GAIN_FACTOR ( 20.0f * 127.0f / 90.0f ) -#define ECLVQ_INV_GLOBAL_GAIN_FACTOR ( 1.0f / ( 20.0f * 127.0f / 90.0f ) ) - -/* the currently defined configuration indexes are: - 0: un-optimized using uniform 4 bit parameters (reserved) - 1: optimized for 32 kbps target SNR - 2: optimized for 32 kbps target bits - 3: optimized for 48 kbps target SNR - 4: optimized for 48 kbps target bits - 5: optimized for 64 kbps target SNR - 6: optimized for 64 kbps target bits -*/ - -#define ECSQ_CONFIG_COUNT 7 /* number of different configurations, such as bitrates or profiles */ -#define ECSQ_PARAM_COUNT 16 /* number of different coding distributions, the first indicates only zero values */ -#define ECSQ_ALL_ZERO_PARAM -1 /* the integer exponent of the first parameter indicating only zero values */ -#define ECSQ_PROB_BITS 14 /* number of bits used for representing the probabilities in the actual AC */ -#define ECSQ_PROB_TOTAL ( 1 << ECSQ_PROB_BITS ) /* total count used for representing the probabilities in the actual AC */ - -#define ECSQ_TAB_VALS_SIZE 16 /* 0, 1, 2, 3, ... */ -#define ECSQ_SEGMENT_SIZE 8 -#define ECSQ_log2TB_SIZE 13 -#define ECSQ_PARAM_SEARCH_RANGE 1 -#define ECSQ_NONZERO_MAX 3 - - -/*----------------------------------------------------------------------------------* - * UNCLR & cross-talk stereo classifiers - *----------------------------------------------------------------------------------*/ - -#define XTALK_SCORE_BUF_LEN 5 - -#define SSC_MAX_NFEA 58 /* Maximum number of features for stereo scene classification */ -#define SIZE_UNCLR_ISEL_TD 10 -#define SIZE_UNCLR_ISEL_DFT 8 - -#define SIZE_XTALK_ISEL_TD 17 -#define SIZE_XTALK_ISEL_DFT 11 - -#define UNCLR_L_ETOT 3 -#define UNCLR_L_RELE 10 -#define UNCLR_RC_ORDER 20 -#define MAX_UV_CNT 100 - -#define XTALK_PHAT_LEN 200 - -enum fea_names -{ - E_d_clas, E_d_pitch, E_d_voicing, E_sum_d_LSF, E_d_lepsP_13, E_d_cor_map_sum, E_d_dE1, E_d_nchar, - E_d_non_sta, E_d_ps_sta, E_d_ps_diff, E_d_sp_div, E_clas, E_pitch, E_voicing, E_lsf_1, - E_lsf_4, E_lsf_9, E_lsf_14, E_lepsP_13, E_cor_map_sum, E_dE1, E_nchar, E_non_sta, - E_ps_sta, E_ps_diff, E_sp_div, E_corrLagStats0, E_ica_corr_value0, E_ica_instTargetGain, - E_diff_corrLM_corrRM, E_tdm_LT_es_em, E_sum_prod, E_tdm_es_em, E_m_corrL_corrR, E_d_corrL_corrR, E_corrEst0, E_corrLagMax, - E_d_corrLagMax, E_corrEstMax, E_corrEst_ncorr,E_sum_xcorr, E_es_em, E_cohSNR, E_d_prodL_prodR, E_xcorr_itd_value, - E_angle_rot, E_g_pred, E_g_side, E_gainILD, E_gainIPD, E_IPD, E_d_IPD, E_ITD, - E_gphat_d_itd2, E_gphat_itd1_flip, E_gphat_ratio_m1_m2, E_gphat_m2_m2 -}; - - -/*----------------------------------------------------------------------------------* - * ICA Stereo constants - *----------------------------------------------------------------------------------*/ - -#define L_CH_INDX 0 -#define R_CH_INDX 1 -#define CORR_INTER_FS 8000 -#define L_NCSHIFT_NS 5000000L -#define L_MEM_RECALC_NS ( L_NCSHIFT_NS * 3 ) / 2 -#define L_MEM_RECALC_TBE_NS ( L_NCSHIFT_NS + L_SAMPLES_LA_NS ) -#define L_NCSHIFTMAX NS2SA( 48000, L_NCSHIFT_NS ) -#define L_DEC_MEM_LEN_ICA L_NCSHIFTMAX + ( N_MAX_SHIFT_CHANGE + 1 ) + SINC_ORDER1 / INTERP_FACTOR1 -#define L_FRAME_DS NS2SA( CORR_INTER_FS, FRAME_SIZE_NS ) -#define L_XCORRMEM_DS NS2SA( CORR_INTER_FS, 2 * ( ACELP_LOOK_NS ) ) -#define L_NCSHIFT_DS ( int16_t )( ( ( int32_t )(CORR_INTER_FS) *L_NCSHIFTMAX ) / 48000L ) -#define L_SAMPLES_LA_NS 625000L - -#define L_MEM_RECALC_TBE_16K NS2SA( 16000, L_MEM_RECALC_TBE_NS ) -#define L_MEM_RECALC_48K NS2SA( 48000, L_MEM_RECALC_NS ) -#define L_MEM_RECALC_12K8 NS2SA( 12800, L_MEM_RECALC_NS ) -#define L_MEM_RECALC_16K NS2SA( 16000, L_MEM_RECALC_NS ) -#define N_MAX_SHIFT_CHANGE 20 - -#define L_MEM_RECALC_SCH_NS ( ACELP_LOOK_NS + DELAY_FIR_RESAMPL_NS - L_MEM_RECALC_NS ) -#define L_MEM_RECALC_48k_SCH NS2SA( 48000, L_MEM_RECALC_SCH_NS ) - -#define INTERP_FACTOR1 2 -#define SINC_ORDER1 24 -#define L_SHIFT_ADAPT_MAX 596 /* must be a multiple of 2 */ -#define L_SHIFT_ADAPT_16k 290 /* must be a multiple of 2 */ - -#define STEREO_BITS_TCA_CHAN 1 /* ref/target channel index */ -#define STEREO_BITS_TCA_CORRSTATS 5 /* target corrStats */ -#define STEREO_BITS_TCA_GD 5 /* target gain */ -#define STEREO_TCA_GDMIN -1.0f -#define STEREO_TCA_GDSTEP 0.05f -#define STEREO_BITS_TCA ( STEREO_BITS_TCA_CHAN + STEREO_BITS_TCA_CORRSTATS + STEREO_BITS_TCA_GD ) - -#define STEREO_ICBWE_MSFLAG_BITS 1 /* BWE Multi Source flag */ - -#define STEREO_ICBWE_REFBITS 1 -#define STEREO_ICBWE_SPBITS 2 -#define STEREO_ICBWE_GSBITS 4 -#define STEREO_BITS_ICBWE ( STEREO_ICBWE_SPBITS + STEREO_ICBWE_GSBITS + STEREO_ICBWE_REFBITS ) - -#define STEREO_ICBWE_SPBITS_DFT 2 -#define STEREO_ICBWE_GSBITS_DFT 7 -#define STEREO_BITS_ICBWE_DFT ( STEREO_ICBWE_SPBITS_DFT + STEREO_ICBWE_GSBITS_DFT + STEREO_ICBWE_REFBITS ) - -#define MAX_DELAYREGLEN 12 /* max regression length */ -#define INV_MAX_DELAYREGLEN 0.083333333333333f /* (1/MAX_DELAYREGLEN) */ -#define MAX_INTERPOLATE 11 -#define ADDED_MEM_DS 40 - -#define STEREO_L_TCA_OVLP_NS 5000000L /* overlap length of the ICA gain scaling */ - - -/*----------------------------------------------------------------------------------* - * TD Stereo Constants - *----------------------------------------------------------------------------------*/ - -#define TDM_NQ ( 32 - 1 ) /* number of quantization steps of mixing factor */ -#define LRTD_STEREO_LEFT_IS_PRIM ( TDM_NQ - 1 ) /* Ratio index value indicating that left channel is coded as primary channel */ -#define LRTD_STEREO_RIGHT_IS_PRIM 0 /* Ratio index value indicating that right channel is coded as primary channel */ -#define LRTD_STEREO_QUARTER_RANGE ( ( TDM_NQ + 1 ) / 4 ) /* Ratio index value */ -#define LRTD_STEREO_MID_IS_PRIM ( ( TDM_NQ - 1 ) / 2 ) /* Ratio index value */ - -#define TDM_L_NOVA_NS 5000000L /* mixing overlap length */ - -#define TDM_SECONDARY_SIGNALLING 3 /* number of bits to code the signaling for secondary channel */ -#define TDM_RATIO_BITS 5 /* number of bits to code the correlation ratio */ -#define TDM_LP_REUSE_BITS 1 /* number of bits to code LP reuse flag for secondary channel */ -#define TDM_LR_CONTENT_BITS 1 /* number of bits to code flag when the content is LR or not */ -#define TDM_SIGNAL_BITS_READ_FROM_THE_END_OF_BS ( TDM_SECONDARY_SIGNALLING + TDM_RATIO_BITS + TDM_LP_REUSE_BITS + TDM_LR_CONTENT_BITS + STEREO_BITS_TCA ) -#ifdef LSF_RE_USE_SECONDARY_CHANNEL -#ifdef LSF_RE_USE_SECONDARY_CHANNEL_REUSEMODE -#define TDM_IC_LSF_PRED_BITS 1 /* Number of bits to code the inter channel lsf prediction mode */ -#endif -#endif - - -/*----------------------------------------------------------------------------------* - * MDCT Stereo Constants - *----------------------------------------------------------------------------------*/ - -/* MDCT stereo modes */ -#define SMDCT_MS_DECISION 0 -#ifdef DEBUG_FORCE_MDCT_STEREO_MODE -#define SMDCT_FORCE_LR 1 -#define SMDCT_FORCE_MS 2 -#endif - -#define MAX_SFB 70 /* Maximum number of stereo frequency bands = 64 + 6 for TCX after ACELP */ - -#define SMDCT_DUAL_MONO 0 /* Dual-mono MDCT Stereo */ -#define SMDCT_MS_FULL 1 /* MS MDCT Stereo */ -#define SMDCT_BW_MS 2 /* Band-wise MS MDCT Stereo */ - -#define SMDCT_MINIMUM_ARITH_BITS 17 /* Minimum bits to reserve for the arithmetic coder */ -#define SMDCT_GLOBAL_ILD_BITS 4 -#define SMDCT_ILD_RANGE ( 1 << SMDCT_GLOBAL_ILD_BITS ) /* Range of the coded ILD */ -#define SMDCT_NBBITS_SPLIT_RATIO 3 -#define SMDCT_BITRATE_RATIO_RANGE ( 1 << SMDCT_NBBITS_SPLIT_RATIO ) /* Range of the coded bitrate distribution ratio */ -#define SMDCT_EQUAL_RATIO_RANGE ( SMDCT_BITRATE_RATIO_RANGE >> 1 ) - -#define SMDCT_MAX_STEREO_BANDS_TCX20 44 -#define SMDCT_MAX_STEREO_BANDS_TCX10 33 - -#define MAX_MDCT_ITD_BRATE IVAS_64k - -#define SNS_LOW_BR_MODE -1 -#define SNS_NPTS 16 /* Number of downsampled SNS parameters */ - -#define MDCT_ST_PLC_FADEOUT_MIN_NOISE_NRG 0.001f -#define MDCT_ST_PLC_FADEOUT_MAX_CONC_FRAME 2 * FRAMES_PER_SEC -#define MDCT_ST_PLC_FADEOUT_TO_ZERO_LEN 20 - -typedef enum { - EQUAL_CORES, - TCX10_IN_0_TCX20_IN_1, - TCX20_IN_0_TCX10_IN_1, -} TONALMDCTCONC_NOISE_GEN_MODE; - -typedef enum { - ON_FIRST_LOST_FRAME, - ON_FIRST_GOOD_FRAME, -} TONALMDCTCONC_NOISE_SHAPE_WHITENING_MODE; - - -/*----------------------------------------------------------------------------------* - * MDFT FB Constants - *----------------------------------------------------------------------------------*/ - -#define MDFT_FB_BANDS_240 240 -#define CLDFB_TO_MDFT_FAC 4 -#define MDFT_NO_COL_MAX 4 - -/*----------------------------------------------------------------------------------* - * General Parametric Coding Constants - *----------------------------------------------------------------------------------*/ -// VE: this should be renamed to e.g. N_SPATIAL_SUBFRAMES -#define MAX_PARAM_SPATIAL_SUBFRAMES 4 /* Maximum number of subframes for parameteric spatial coding */ -#define L_SPATIAL_SUBFR_48k (L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES) - - -/*----------------------------------------------------------------------------------* - * SBA Constants - *----------------------------------------------------------------------------------*/ - -#define SBA_FOA_ORDER 1 -#define SBA_HOA2_ORDER 2 -#define SBA_HOA3_ORDER 3 - -#define SBA_PLANAR_BITS 1 -#define SBA_ORDER_BITS 2 - -#define SBA_MIN_BRATE_HOA IVAS_256k -#define SBA_NHARM_HOA3 16 -#define SBA_T_DESIGN_11_SIZE 70 -#define SBA_DTX_BITRATE_THRESHOLD IVAS_80k - -typedef enum -{ - SBA_MODE_NONE, - SBA_MODE_DIRAC, - SBA_MODE_SPAR, // VE: this is actually SBA_MODE_SPAR_DIRAC -} SBA_MODE; - - -/*----------------------------------------------------------------------------------* - * DirAC Constants - *----------------------------------------------------------------------------------*/ - -#define DIRAC_MAX_ANA_CHANS FOA_CHANNELS /* Maximum number of channels for DirAC analysis */ - -#define DIRAC_NUM_DIMS 3 /* number of directions to estimate (X,Y,Z) */ -#define DIRAC_MAX_NBANDS 12 /* Maximum number of frequency bands for the DirAC Side Parameter decoding */ -#define DIRAC_LOW_BANDRES_STEP 2 /* always combine two bands for low band resolution in the DirAC parameter coding */ -#define DIRAC_NO_COL_AVG_DIFF 32 /* Number of slots for averaging intensity vector for diffuseness computation */ -#define DIRAC_DIFFUSE_LEVELS 8 /* Size of the diffuseness alphabet (constant value) */ -#define DIRAC_DITH_SEED 29680 -#define DIRAC_MAX_BITS 512 /* Maximum number of bits for DirAC side information per frame */ -#define MAX_NUM_ENC_CLDFB_INSTANCES 8 /* Maximum Cldfb instances in DirAC encoder */ -#define DIRAC_NO_COL_AVG_DIFF_NS 40000000L -#define DIRAC_NO_FB_BANDS_MAX MDFT_FB_BANDS_240 -#define DELAY_DIRAC_ENC_CMP_NS_PARAM_ISM ( IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ) /* == 12 ms */ - - -/* DirAC renderer setup */ -typedef enum -{ - DIRAC_SYNTHESIS_INVALID, - DIRAC_SYNTHESIS_PSD_LS, /* PSD renderer in loudspeakers domain */ - DIRAC_SYNTHESIS_GAIN_SHD, /* Gain renderer in Spherical Harmonic Domain*/ - DIRAC_SYNTHESIS_PSD_SHD, /* PSD renderer in Spherical Harmonic Domain*/ - DIRAC_SYNTHESIS_MONO, - DIRAC_SYNTHESIS_COV_MC_LS -} DIRAC_SYNTHESIS_CONFIG; - -/* DirAC renderer panning setup */ -typedef enum -{ - DIRAC_PANNING_INVALID, - DIRAC_PANNING_HOA3, /* HOA3 */ - DIRAC_PANNING_VBAP /* VBAP */ -} DIRAC_PANNING_CONFIG; - -#define DIRAC_DIFF_NUM_AMBI_COMP 4 -#define DIRAC_HOA_RENDERING_NUM_VIRT_DECORR_LS 8 -#define DIRAC_GAIN_LIMIT 31.622776601683793f /* 30db gain limitiation */ -#define DIRAC_MAX_NUM_DECORR_FILTERS 22 -#define DIRAC_MAX_DECORR_FILTER_LEN 20 -#define DIRAC_DECORR_NUM_SPLIT_BANDS 3 -#define DIRAC_DECORR_FILTER_LEN_1 15 -#define DIRAC_DECORR_FILTER_LEN_2 6 -#define DIRAC_DECORR_FILTER_LEN_3 3 -#define DIRAC_ONSET_ALPHA 0.95f -#define DIRAC_ONSET_BETA 0.995f -#define DIRAC_ONSET_GAIN 4.0f - -#define DELAY_DIRAC_ENC_CMP_NS 9500000L /* Delay to be compensated on DirAC encoder */ -#define DELAY_DIRAC_SPAR_ENC_CMP_NS 500000L /* here we may set the 24 samples (at 48 kHz) additional delay to something else, leave as is for now*/ -#define DELAY_DIRAC_PARAM_DEC_SFR 2 /* Delay to be compensation for DirAC parameters in the decoder (subframes) */ - -#define DIRAC_SLOT_NS 1250000L /* time duration of a time slot, 1.25ms (==DELAY_RENERER_NS/MAX_PARAM_SPATIAL_SUBFRAMES) */ -#define DIRAC_SLOT_ENC_NS 5000000L - -typedef enum -{ - DIRAC_OPEN, /* initialize to default value */ - DIRAC_RECONFIGURE /* HOA3 */ -} DIRAC_CONFIG_FLAG; - - -/*----------------------------------------------------------------------------------* - * SPAR constants - *----------------------------------------------------------------------------------*/ - -#define SPAR_CONFIG_BW FB - -#define IVAS_SPAR_MAX_CH (FOA_CHANNELS + 2 * ( IVAS_MAX_SBA_ORDER - 1 )) /* FOA + planar HOA */ - -#define IVAS_SPAR_P_LOWERTRI ((IVAS_SPAR_MAX_CH - 1) * (IVAS_SPAR_MAX_CH - 2)) >> 1 -#define IVAS_SPAR_MAX_C_COEFF (IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS) * ( IVAS_SPAR_MAX_DMX_CHS - 1) - -#define IVAS_SPAR_HOA3_NP_CHS 8 /* number of higher order non-planar channels */ - -#define SPAR_NUM_CODING_STRAT_BITS ( 3 ) - -/* AGC constants */ -#define AGC_BITS_PER_CH 3 -#define AGC_EMAX 0 - -/* Common SPAR metadata constants */ -#define IVAS_ACTIVEW_DM_F_SCALE 0.5f -#define IVAS_ACTIVEW_DM_F_SCALE_DTX 0.25f -#define IVAS_SPAR_FOA_DFLT_FREQ_PER_CHAN 24000 - -#define MAX_QUANT_STRATS 3 -#define MAX_CODING_STRATS 3 -#define IVAS_NUM_PROB_MODELS 4 -#define IVAS_MAX_INPUT_LEN ( IVAS_MAX_NUM_BANDS * ( IVAS_SPAR_P_LOWERTRI ) ) -#define IVAS_MAX_QUANT_LEVELS 32 -#define BRATE_SPAR_Q_STRAT IVAS_256k - -#define SPAR_SID_BITS_TAR_PER_BAND 18 - -typedef enum -{ - WYXZ = 0, - WY = 0, - WX, - WZ, - WYiX, -} ivas_spar_pmx_strings_t; - -#define NUM_MD_Q_COEFS_SET 4 - -#define IVAS_RED_BAND_FACT 2 - -typedef enum -{ - PRED_COEFF = 0, - DRCT_COEFF, - DECD_COEFF, - DECX_COEFF -} ivas_coeffs_type_t; - -#define IVAS_SPAR_BR_TABLE_LEN 18 - -/* TD decorr */ // VE: not all 16CH are currently supported -> t be revisited later -enum -{ - IVAS_TD_DECORR_OUT_1CH = 1, - IVAS_TD_DECORR_OUT_2CH, - IVAS_TD_DECORR_OUT_3CH, - IVAS_TD_DECORR_OUT_4CH, - IVAS_TD_DECORR_OUT_5CH, - IVAS_TD_DECORR_OUT_6CH, - IVAS_TD_DECORR_OUT_7CH, - IVAS_TD_DECORR_OUT_8CH, - IVAS_TD_DECORR_OUT_9CH, - IVAS_TD_DECORR_OUT_10CH, - IVAS_TD_DECORR_OUT_11CH, - IVAS_TD_DECORR_OUT_12CH, - IVAS_TD_DECORR_OUT_13CH, - IVAS_TD_DECORR_OUT_14CH, - IVAS_TD_DECORR_OUT_15CH, - IVAS_TD_DECORR_OUT_16CH -}; - -#define IVAS_SPAR_MAX_DMX_CHS 4 -#define IVAS_MAX_DECORR_CHS IVAS_TD_DECORR_OUT_15CH -#define IVAS_MAX_DECORR_APD_SECTIONS 16 -#define IVAS_APD_2_SECT 2 -#define IVAS_APD_4_SECT 4 -#define IVAS_APD_8_SECT 8 -#define IVAS_APD_16_SECT 16 - -#define IVAS_DECORR_PARM_LOOKAHEAD_TAU 2e-3f -#define IVAS_DECORR_PARM_APD_TAU 20e-3f - -/* IVAS SBA PCA */ -#define IVAS_PCA_NB_SUBR 20 /* 80 -> 0.25 ms, 40 -> 0.5 ms... */ -#define IVAS_PCA_COV_THRES 3e-5f -#define IVAS_PCA_QUAT_EPS 1e-7f -#define IVAS_PCA_QBITS 19 -#define IVAS_PCA_N1 91 -#define IVAS_PCA_N1_EQ ( (IVAS_PCA_N1-1)/2 ) -#define IVAS_PCA_BIT_LEN ( 1 + ( IVAS_PCA_QBITS - 1 + IVAS_PCA_QBITS ) ) -#define IVAS_PCA_INTERP 4 /* 4D (Quaternion) dimension */ -#define IVAS_PCA_N_SLOTS 40 //20 -#define IVAS_PCA_LEN_INTERP_Q ( IVAS_PCA_INTERP * IVAS_PCA_N_SLOTS ) -#define IVAS_PCA_DELAY_CMP 24 // 12 -#define IVAS_PCA_LEN_INTERP_EIG_DEC ( (IVAS_PCA_N_SLOTS+IVAS_PCA_DELAY_CMP)*16) -#define IVAS_PCA_THRES_MIN_DOT 0.8f -#define IVAS_PCA_THRES_MIN_DOT2 0.0f -#define IVAS_PCA_THRES_DIST_ALT 6.0f - -typedef enum -{ - PCA_MODE_ACTIVE = 0, - PCA_MODE_INACTIVE = 1 -} ivas_pca_bypass_mode; - -enum -{ - PRED_Q_1 = 0, - PRED_Q_7, - PRED_Q_15, - PRED_Q_21, - PRED_Q_31, - PRED_Q_7_ACTIVE_W, - TOTAL_PRED_QUANT_STRATS_HUFF = 5, - PRED_Q_15_ACTIVE_W, - PRED_Q_21_ACTIVE_W, - TOTAL_PRED_QUANT_STRATS_ARITH - }; - -enum -{ - DRCT_Q_1 = 0, - DRCT_Q_7, - DRCT_Q_9, - DRCT_Q_11, - TOTAL_DRCT_QUANT_STRATS - }; - -enum -{ - DECD_Q_1 = 0, - DECD_Q_3, - DECD_Q_5, - DECD_Q_7, - DECD_Q_9, - DECD_Q_11, - TOTAL_DECD_QUANT_STRATS - }; - -/*----------------------------------------------------------------------------------* - * MASA constants - *----------------------------------------------------------------------------------*/ - -#define MAX_NO_THETA 19 -#define NO_THETA16_MAX 122 /* number of theta values for 16 bits */ -#define NO_SPHERICAL_GRIDS 11 /* number of spherical grid structures */ - -#define MASA_FREQUENCY_BANDS 24 -#define MASA_MAXIMUM_CODING_SUBBANDS 24 -#define MASA_MAXIMUM_DIRECTIONS 2 -#define MASA_MAX_TRANSPORT_CHANNELS 2 -#define MASA_ENC_DELAY_SLOTS 7 -#define MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS 5 - -#define MASA_DELTA_AZI_DCT0 30 -#define MASA_DELTA_AZI_DCT 10 - -#define MASA_TRANSP_BITS 1 -#define MASA_HEADER_BITS 2 -#define MASA_SUBFRAME_BITS 1 -#define MASA_LOWBITRATE_MODE_BITS 1 -#define MASA_FACTOR_CV_COH 6 - -#define MASA_GR_ORD_EL 1 -#define MASA_GR_ORD_AZ 2 - -#define MASA_DIRECTION_MAX_BITS 11 -#define MASA_NO_INDEX 32767 -#define MASA_BITS_ER 3 -#define MASA_MIN_BITS_TF 4 -#define MASA_LIMIT_2D 2 -#define MASA_NO_CV_COH 8 -#define MASA_NO_CV_COH1 5 -#define MASA_MAX_NO_CV_SUR_COH 8 -#define MASA_NO_CB_SUR_COH 7 -#define MASA_MIN_BITS_SURR_COH 12 - -#define MASA_SUM_FREQ_RANGE_BINS 25 /* Constant for MASA transport signal type detection */ -#define MASA_HI_FREQ_START_BIN 14 /* Constant for MASA transport signal type detection */ -#define MASA_STEREO_INTERPOLATION_SLOTS 16 /* The number of slots to interpolate when changing MASA transport signal type */ -#define MASA_SUM_PROTO_START_BIN 7 /* Constant for Ambisonics rendering from MASA */ - -#define QMETADATA_MAXBIT_REQ_MASA 900 /* max bit-bit/direction for avoiding requantization in MASA path */ -#define QMETADATA_MAXBIT_REQ_SBA 400 /* max bit-bit/direction for avoiding requantization in SBA path */ -#define MASA_COH_LIMIT_2IDX 144 /* limit for sum of values across components for having two joint indexes */ -#define QMETADATA_MAX_NO_DIRECTIONS 2 -#define MASA_MAX_BITS 1300 /* max. bit-budget for MASA metadata */ -#define LIMIT_ER_ELEVATION_ENC 4 -#define LIMIT_ER_SIMPLE_ENC 6 -#define LIMIT_USE_COMMON 3 - -#define MASA_COHERENCE_TOLERANCE 0.1f -#define MASA_COHERENCE_THRESHOLD 0.1f -#define MASA_RATIO_TOLERANCE 0.1f -#define MASA_RATIO_THRESHOLD 0.1f -#define MASA_ANGLE_TOLERANCE 0.5f -#define MASA_LIMIT_NO_BANDS_SUR_COH 8 -#define MINIMUM_BIT_BUDGET_NORMAL_META 100 -#define DIFF_DFRATIO_2BIT_LIMIT_IDX 3 -#define DIFF_DFRATIO_1BIT_LIMIT_IDX 6 -#define DIFF_EC_HUFF_BAND_LIMIT 8 -#define DIFF_EC_HUFF_GR0_LIMIT 8 -#define VAR_AZI_THRESH 25 -#define MASA_LIMIT_IDX_AVG_AZI 4 - -#define MASA_NO_POINTS_EQUATOR 430 -#define MASA_NO_CIRCLES 121 -#define MASA_ASIN_OFFSET 0.0064471690266724975f -#define MASA_NTOT2_FAC 32768.00566947353f -#define MASA_ANGLE_AT_EQUATOR 0.012894427382667f -#define MASA_ANGLE_AT_EQUATOR_DEG 0.738796268264740f -#define MASA_INV_ANGLE_AT_EQUATOR_DEG 1.353553128183453f -#define MASA_STEREO_MIN_BITRATE IVAS_24k4 - -#define MASA_BIT_REDUCT_PARAM 10 -#define MASA_MAXIMUM_TWO_DIR_BANDS 18 -typedef enum -{ - MASA_STEREO_NOT_DEFINED, - MASA_STEREO_SPACED_MICS, - MASA_STEREO_DOWNMIX -} MASA_TRANSPORT_SIGNAL_TYPE; - - -/*----------------------------------------------------------------------------------* - * Multichannel format - *----------------------------------------------------------------------------------*/ - -#define MC_LS_SETUP_BITS 3 /* number of bits for writing the MC LS configuration */ -#define LS_SETUP_CONVERSION_NUM_MAPPINGS 35 /* number of mappings for LS setup conversion */ - -typedef enum -{ - MC_MODE_NONE, - MC_MODE_MCT, - MC_MODE_PARAMMC, - MC_MODE_MCMASA -} MC_MODE; - -typedef enum -{ - MC_LS_SETUP_5_1, - MC_LS_SETUP_7_1, - MC_LS_SETUP_5_1_2, - MC_LS_SETUP_5_1_4, - MC_LS_SETUP_7_1_4, - MC_LS_SETUP_INVALID -} MC_LS_SETUP; - - -/*----------------------------------------------------------------------------------* - * McMASA constants - *----------------------------------------------------------------------------------*/ - -#define MCMASA_SEPARATE_BRATE IVAS_64k /* minimum bitrate from which separated channel coding is supported */ - -#define MCMASA_MAX_ANA_CHANS 11 /* Maximum number of channels currently used in analysis of multichannel formats */ -#define MCMASA_MONOBITRATIO 0.3f -#define MCMASA_MONOBITRATIO_64k 0.25f -#define MC_MASA_THR_ELEVATION 40 - -#define MCMASA_LFE_QLOW -6.5f -#define MCMASA_LFE_DELTA 1.0f -#define MCMASA_LFE_1BIT_THRES 0.03f -#define MCMASA_LFE_ALPHA 0.67f -#define MCMASA_LFE_BETA 0.09f -#define MCMASA_LFE_THETA 1.3f -#define MCMASA_LFE_SYNTH_ALPHA 0.95f /* Smoothing coefficient for LFE synthesis */ - -#define NUM_ELEVATED_SPEAKERS 4 - -#define MCMASA_MIN_SPEAKERS_SEPARATE_CENTER 4 - -/*----------------------------------------------------------------------------------* - * MCT constants - *----------------------------------------------------------------------------------*/ - -#define LFE_CHANNEL 3 - -#define MIN_LFE_NRG 0.5f -#define MCT_MAX_CHANNELS MAX_TRANSPORT_CHANNELS -#define MCT_MAX_BLOCKS ( MCT_MAX_CHANNELS / CPE_CHANNELS ) /* max. number of channel pairs (MCT_MAX_CHANNELS/2) within MCT*/ - -#define MAX_NUM_DATA max( MCT_MAX_CHANNELS, 4 ) - -#define NBBITS_MCT_RATIO 4 -#define BITRATE_MCT_RATIO_RANGE ( 1 << NBBITS_MCT_RATIO ) /* Range of the coded bitrate distribution ratio */ - -#define LFE_BITS 180 - -#define MCT_LFE_MAX_LINE 24 -#define MCT_NUM_BLOCK_DATA_BITS 4 - -typedef enum -{ - MCT_CHAN_MODE_REGULAR, - MCT_CHAN_MODE_LFE, - MCT_CHAN_MODE_IGNORE -} MCT_CHAN_MODE; - - -/*----------------------------------------------------------------------------------* - * Parametric MC Constants - *----------------------------------------------------------------------------------*/ - -typedef enum -{ - PARAM_MC_SYNTH_DIRECT, /* synthesis to the transport format */ - PARAM_MC_SYNTH_LS_CONV_COV, /* loudspeaker format conversion in the covariance domain */ - PARAM_MC_SYNTH_LS_CONV_CLDFB, /* loudspeaker format conversion in the CLDFB domain */ - PARAM_MC_SYNTH_MONO_STEREO /* synthesis to mono or stereo */ -} PARAM_MC_SYNTHESIS_CONF; - -#define PARAM_MC_REG_SX (0.2f) /* Regularization factor for mixing matrix calculation */ -#define PARAM_MC_REG_GHAT (0.001f) /* Regularization factor for mixing matrix calculation */ -#define PARAM_MC_MAX_PARAMETER_BANDS 20 /* Maximum number of parameter bands */ -#define PARAM_MC_MAX_PARAMETER_BANDS_RES 14 /* Maximum number of parameter bands with decorrelation */ -#define PARAM_MC_MAX_NSLOTS 16 /* Maximum number of CLDFB slots in a frame */ -#define PARAM_MC_MAX_NSLOTS_IN_SUBFRAME 4 /* Maximum number of CLDFB slots in a subframe */ -#define PARAM_MC_NSUBFRAMES_DEC 4 /* Number of subframes for the synthesis in the decoder */ -#define PARAM_MC_MAX_BANDS_IN_PARAMETER_BAND 30 /* Maximum number of CLDFB frequency bands within a parameter band */ -#define PARAM_MC_PARAMETER_FRAMES 2 /* Number of frames a parameter set for a parameter band is used*/ -#define PARAM_MC_ICC_ERROR_BIAS_FAC (1.15f) /* factor for favouring past ICC maps in the adaptive ICC map decision */ -#define PARAM_MC_TRANSIENT_BAND_STEP 2 /* Number of parameter bands combined in case of a transient frame*/ -#define PARAM_MC_MAX_DECORR_CLDFB_BANDS 20 /* Maximum number of CLDFB bands with decorrelation */ -#define PARAM_MC_MAX_TRANSPORT_CHANS 4 /* Number of down mix channels */ -#define PARAM_MC_MAX_ILD_REF_CHANNELS 2 /* Maximum number of reference channels for a coded ILD */ -#define PARAM_MC_NUM_CONFIGS 15 /* Number of available Parametric MC configurations */ -#define PARAM_MC_MAX_BAND_LFE 1 /* Number of parameter bands for LFE coding */ -#define PARAM_MC_SZ_ICC_MAP 11 /* Maximum number of transmitted ICCs per parameter band */ -#define PARAM_MC_SZ_ILD_MAP 12 /* Maximum number of transmitted channel energies per band*/ -#define PARAM_MC_MAX_VAL_MAP_SIZE 12 /* Maximum number of transmitted parameters per band */ -#define PARAM_MC_RANGE_CODER_TOT_SHIFT 16 /* resolution of the range coder frequency tables */ -#define PARAM_MC_SZ_ICC_QUANTIZER 8 /* Length of the ICC quantizer for Parametric MC */ -#define PARAM_MC_NUM_BITS_ICC_SCALAR_QUANT 3 /* Number of bits for ICC uniform coding */ -#define PARAM_MC_SZ_ILD_QUANTIZER_4BITS 16 /* Length of the ILD quantizer for Parametric MC */ -#define PARAM_MC_NUM_BITS_ILD_SCALAR_QUANT 4 /* Number of bits for ILD uniform coding */ -#define PARAM_MC_DEFAULT_MIN_ILD (-92.0f) /* Default relative channel level for untransmitted channel energies */ -#define PARAM_MC_MAX_BITS 1024 /* Maximum number of bits for the Parametric MC metadata */ -#define PARAM_MC_MAX_BAND_ABS_COV_ENC 10 -#define PARAM_MC_MAX_PARAM_BAND_ABS_COV_ENC 10 -#define PARAM_MC_MAX_BAND_ABS_COV_DEC 10 -#define PARAM_MC_ENER_LIMIT_INTRAFRAME (1.5f) -#define PARAM_MC_ENER_LIMIT_INTERFRAME (2.0f) -#define PARAM_MC_LFE_ON_THRESH (8000.0f) -#define PARAM_MC_BAND_TO_MDCT_BAND_RATIO 16 /* Ratio of resolution of CLDFB Bands to MDCT Bands */ -#define PARAM_MC_SLOT_ENC_NS 2500000L -#define PARAM_MC_MDFT_NO_SLOTS 8 - -/*----------------------------------------------------------------------------------* - * LFE Coding Constants - *----------------------------------------------------------------------------------*/ - -#define IVAS_LFE_ID_BITS 1 - -typedef enum -{ - IVAS_FILTER_STAGE_0, - IVAS_FILTER_STAGE_1, - IVAS_FILTER_MAX_STAGES /* this becomes array len while declaring the array */ -} LFE_FILTERS_STAGES; - -/* IIR filter orders */ -typedef enum -{ - IVAS_FILTER_ORDER_1 = 1, - IVAS_FILTER_ORDER_2 = 2, - IVAS_FILTER_ORDER_4 = 4, -} ivas_filter_order; - -#define IVAS_BIQUAD_FILT_LEN 3 -#define IVAS_LFE_FADE_LEN_48K 384 -#define IVAS_LFE_FADE_LEN_32K 256 -#define IVAS_LFE_FADE_LEN_16K 128 -#define IVAS_LFE_FADE_LEN_8K 64 -#define IVAS_LFE_SHIFTS_PER_DOUBLE 4 -#define IVAS_LFE_NUM_COEFFS_IN_SUBGRP 2 -#define IVAS_LFE_MAX_NUM_DCT_PASS_BINS 8 -#define IVAS_LFE_MAX_NUM_DCT_COEFFS (IVAS_LFE_MAX_NUM_DCT_PASS_BINS * IVAS_LFE_NUM_COEFFS_IN_SUBGRP) -#define IVAS_LFE_FADE_NS 8000000L /* 8.0 ms */ -#define IVAS_MAX_NUM_QUANT_STRATS 2 -#define IVAS_MAX_NUM_DCT_COEF_GROUPS 4 -#define IVAS_LFE_SHIFT_BITS 5 -#define IVAS_LFE_BITRATE_5000 5000 -#define IVAS_LFE_ABS_SUM_FLT_THR (0.000001f) -#define IVAS_ZERO_PAD_LEN_MULT_FAC (0.5f) - -/* LFE PLC */ -#define LFE_PLC_BUFLEN 240 -#define LFE_PLC_FS 1600 -#define L_FRAME_1k6 ( 20 * LFE_PLC_FS / 1000 ) -#define LFE_PLC_LENANA LFE_PLC_BUFLEN -#define LFE_PLC_FDEL 300 - - -/*----------------------------------------------------------------------------------* - * Amplitude Panning (EFAP, VBAP) constants - *----------------------------------------------------------------------------------*/ - -#define PANNING_AZI_RESOLUTION 2 -#define PANNING_ELE_RESOLUTION 5 - -#define EFAP_MAX_CHAN_NUM 5 /* Maximum number of channels that constitute a polygon, 4 or 5 */ -#define EFAP_MAX_POLY_SET 50 /* Upper bound on number of polygons; with a Speaker setup of 16.0, we obtain 44 polygons/triangles in the matlab implementation. */ - -#define EFAP_MODE_EFAP 0 /* EFAP Panning */ -#define EFAP_MODE_EFIP 1 /* EFIP Panning */ - -typedef enum -{ - EFAP_DMX_NONE, - EFAP_DMX_AMPLITUDE, - EFAP_DMX_INTENSITY -} EFAP_VTX_DMX_TYPE; - -#define VBAP_NUM_SEARCH_SECTORS 4 - -/*----------------------------------------------------------------------------------* - * Binaural Rendering Constants - *----------------------------------------------------------------------------------*/ - -#define BINAURAL_MAXBANDS 60 /* Max number of bands */ -#define BINAURAL_CONVBANDS 50 /* Bands upto which convolution is performed */ -#define BINAURAL_NTAPS_MAX 96 - -#define HRTF_SH_ORDER 3 -#define HRTF_SH_CHANNELS 16 -#define HRTF_NUM_BINS 60 -#define REVERB_PREDELAY_MAX 20 /* Max input delay for reverb module */ -#define GAIN_LFE 1.88364911f /* Gain applied to LFE during renderering */ -#define LOW_BIT_RATE_BINAURAL_EQ_BINS 17 /* Number of bins in an EQ applied at low bit rates in binauralization */ -#define LOW_BIT_RATE_BINAURAL_EQ_OFFSET 14 /* Offset of bins where the low-bit-rate EQ starts*/ - -#define BINAURAL_COHERENCE_DIFFERENCE_BINS 9 /* Number of bins for direction-dependent diffuse-field binaural coherence */ - -#define HEADROT_ORDER 3 -#define HEADROT_SHMAT_DIM ( ( HEADROT_ORDER + 1 ) * ( HEADROT_ORDER + 1 ) ) -#define HEADROT_SHMAT_DIM2 ( HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM ) - -/*----------------------------------------------------------------------------------* - * TD Binaural Object renderer - *----------------------------------------------------------------------------------*/ - -#define MAX_NUM_TDREND_CHANNELS 16 /* max. number of channels in TD renderer (objects or loudspeaker channels) */ - -#define SFX_SPAT_BIN_MAX_NO_OF_OUTPUT_SAMPLES 288 /* 288 = 6 msec @ 48 kHz. */ -#define HRTF_MODEL_N_SECTIONS 3 /* No. sections used in approximate evaluation of model */ -#define HRTF_MODEL_BSPLINE_NUM_COEFFS 4 /* No. BSpline coefficients, including zeroth order e.g. cubic -> 4 */ -#define HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ 16 /* Square of HRTF_MODEL_BSPLINE_NUM_COEFFS */ -#define SFX_SPAT_BIN_MAX_FILTER_LENGTH 256 - -#define SPAT_BIN_MAX_INPUT_CHANNELS 1 /* Max number of input channels per source/object. Mono for now, but stereo objects may be considered. */ -#ifdef FIX_ITD -#define MAX_ITD 50 -#define SFX_SPAT_BIN_SINC_M 5 -#define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 -#define ITD_MEM_LEN (MAX_ITD + SFX_SPAT_BIN_SINC_M) -#define L_SUBFRAME5MS_48k (L_FRAME48k/4) -#define MAX_ANGULAR_STEP (15.0f) -#define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) -#define MAX_INTERPOLATION_STEPS 12 -#define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ -#else -#define BINAURAL_TD_LATENCY_S 0.00675f /* Binaural TD renderer latency in second == 324 samples in between 333 and 315 */ -#endif - -/* ----- Enums - TD Renderer ----- */ - -typedef enum -{ - TDREND_DIST_ATTEN_MODEL_INV_DIST, - TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED -} TDREND_DistAttenModel_t; - -typedef enum -{ - TDREND_POSTYPE_ABSOLUTE, /* The source position is in absolute coordinates */ - TDREND_POSTYPE_RELATIVE_TO_LISTENER /* The source position is relative to the listener */ -} TDREND_PosType_t; - -typedef enum -{ - TDREND_PLAYSTATUS_INITIAL, - TDREND_PLAYSTATUS_PLAYING -} TDREND_PlayStatus_t; - -typedef enum -{ - TDREND_DeallocIndex_None, - TDREND_DeallocIndex_Signal, - TDREND_DeallocIndex_Source -} TDREND_DeallocFnIndex; - -typedef enum -{ - TDREND_HRFILT_Method_BSplineModel -#ifdef TDREND_HRTF_TABLE_METHODS - , - TDREND_HRFILT_Method_Table_F, - TDREND_HRFILT_Method_Table_S -#endif -} TDREND_HRFILT_Method_t; - -typedef enum -{ - SFX_ON, - SFX_TRANSIENT, - SFX_OFF -} SFX_OpMode_t; - - -/*----------------------------------------------------------------------------------* - * Orientation tracking constants - *----------------------------------------------------------------------------------*/ - -/* Orientation tracking types */ -#define IVAS_ORIENT_TRK_REF 0 -#define IVAS_ORIENT_TRK_AVG 1 - -typedef enum -{ - OTR_TRACKING_NONE = IVAS_ORIENT_TRK_REF-1, /* track orientation relative to external reference orientation (default: yaw=pitch=roll=0) */ // VE: not really used in IVAS (only in unit-test) - OTR_TRACKING_REF_ORIENT = IVAS_ORIENT_TRK_REF, /* track orientation relative to external reference orientation (default: yaw=pitch=roll=0) */ - OTR_TRACKING_AVG_ORIENT = IVAS_ORIENT_TRK_AVG /* track orientation relative to average orientation */ - -} OTR_TRACKING_T; - - -/*----------------------------------------------------------------------------------* - * Reverberator constants - *----------------------------------------------------------------------------------*/ - -#define IVAS_REV_MAX_NR_BRANCHES 8 /* setup is for maximum */ -#define IVAS_REV_MAX_IIR_FILTER_LENGTH 4 /* maximum nr of taps - MUST BE EVEN! */ - -#define RV_FILTER_MAX_FFT_SIZE ( 512 ) -#define RV_FILTER_MAX_HISTORY ( 512 - 160 ) /* for longest history */ -#define RV_LENGTH_NR_FC ( RV_FILTER_MAX_FFT_SIZE / 2 ) + 1 - -#define IVAS_REVERB_DEFAULT_N_BANDS 31 -#define IVAS_REVERB_DEFAULT_PRE_DELAY 0.016f -#define IVAS_REVERB_DEFAULT_INPUT_DELAY 0.1f - - -/*----------------------------------------------------------------------------------* - * FB mixer constants - *----------------------------------------------------------------------------------*/ - -#define IVAS_960_PT_LEN 960 -#define IVAS_640_PT_LEN 640 -#define IVAS_480_PT_LEN 480 -#define IVAS_320_PT_LEN 320 -#define IVAS_240_PT_LEN 240 -#define IVAS_160_PT_LEN 160 -#define IVAS_80_PT_LEN 80 -#define IVAS_40_PT_LEN 40 - -/* FB windows ovlp */ -#define IVAS_FB_4MS_48K_SAMP 192 -#define IVAS_FB_1MS_48K_SAMP 48 -#define IVAS_FB_4MS_32K_SAMP 128 -#define IVAS_FB_1MS_32K_SAMP 32 -#define IVAS_FB_4MS_16K_SAMP 64 -#define IVAS_FB_1MS_16K_SAMP 16 - -#define IVAS_MAX_FB_MIXER_OUT_CH IVAS_SPAR_MAX_CH -#define IVAS_MAX_SPAR_FB_MIXER_IN_CH IVAS_SPAR_MAX_CH -#define IVAS_MAX_FB_MIXER_IN_CH MAX_CICP_CHANNELS - -#define MAX_NUM_BANDS_DIFF_NON48K 3 - -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_0 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_1 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_2 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_3 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_4 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_5 ( 9 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_6 ( 7 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_7 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_8 ( 0 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_9 ( 49 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_10 ( 172 ) -#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_11 ( 377 ) - -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_0 ( 179 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_1 ( 160 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_2 ( 215 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_3 ( 200 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_4 ( 186 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_5 ( 196 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_6 ( 230 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_7 ( 351 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_8 ( 456 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_9 ( 617 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_10 ( 892 ) -#define IVAS_FB_12_1MS_48K_END_BINS_BAND_11 ( 960 ) - -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_0 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_1 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_2 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_3 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_4 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_5 ( 9 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_6 ( 7 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_7 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_8 ( 0 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_9 ( 49 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_10 ( 172 ) -#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_11 ( 377 ) - -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_0 ( 179 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_1 ( 160 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_2 ( 215 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_3 ( 200 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_4 ( 186 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_5 ( 196 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_6 ( 230 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_7 ( 351 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_8 ( 456 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_9 ( 617 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_10 ( 640 ) -#define IVAS_FB_12_1MS_32K_END_BINS_BAND_11 ( 640 ) - -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_0 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_1 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_2 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_3 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_4 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_5 ( 9 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_6 ( 7 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_7 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_8 ( 0 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_9 ( 49 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_10 ( 172 ) -#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_11 ( 320 ) - -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_0 ( 179 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_1 ( 160 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_2 ( 215 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_3 ( 200 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_4 ( 186 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_5 ( 196 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_6 ( 230 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_7 ( 320 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_8 ( 320 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_9 ( 320 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_10 ( 320 ) -#define IVAS_FB_12_1MS_16K_END_BINS_BAND_11 ( 320 ) - -#define IVAS_FB_BANDS_12 12 -#define IVAS_FB_BANDS_20 20 -#define IVAS_MAX_NUM_BANDS IVAS_FB_BANDS_12 -#define IVAS_MAX_NUM_FB_BANDS IVAS_FB_BANDS_20 -#define IVAS_FB_12_1MS_LEN ( IVAS_FB_12_1MS_48K_END_BINS_BAND_0 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_0 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_1 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_1 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_2 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_2 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_3 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_3 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_4 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_4 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_5 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_5 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_6 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_6 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_7 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_7 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_8 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_8 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_9 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_9 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_10 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_10 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_11 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_11 ) -#define IVAS_16K_12BANDS_ACTIVE_BANDS 10 - -#define SPAR_DIRAC_SPLIT_START_BAND 8 -#define SPAR_DTX_BANDS 2 -#define DIRAC_DTX_BANDS 2 -#define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) -#define CLDFB_PAR_WEIGHT_START_BAND 7 - -#endif -/* clang-format on */ -/* IVAS_CNST_H */ diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h deleted file mode 100644 index 07458f6b38..0000000000 --- a/lib_com/ivas_error.h +++ /dev/null @@ -1,194 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/* options.h needed for debugging/development features - * It should be stripped for delivery along with debugging switches */ -#include "options.h" - -#ifndef IVAS_ERROR_H -#define IVAS_ERROR_H - -typedef enum -{ - /*----------------------------------------* - * no error * - *----------------------------------------*/ - IVAS_ERR_OK = 0x0000, - - /*----------------------------------------* - * API errors * - *----------------------------------------*/ - IVAS_ERR_INVALID_BANDWIDTH = 0x1000, - IVAS_ERR_INVALID_DTX_UPDATE_RATE, - IVAS_ERR_INVALID_SAMPLING_RATE, - IVAS_ERR_NOT_CONFIGURED, - IVAS_ERR_INVALID_STEREO_MODE, - IVAS_ERR_INVALID_CICP_INDEX, - IVAS_ERR_INVALID_BITRATE, - IVAS_ERR_INVALID_MASA_CONFIG, - IVAS_ERR_TOO_MANY_INPUTS, - IVAS_ERR_MISSING_METADATA, - IVAS_ERR_INDEX_OUT_OF_BOUNDS, - IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, - IVAS_ERR_INVALID_FEC_CONFIG, - IVAS_ERR_INVALID_FEC_OFFSET, - IVAS_ERR_INVALID_INPUT_BUFFER_SIZE, - IVAS_ERR_DTX_NOT_SUPPORTED, - IVAS_ERR_UNEXPECTED_NULL_POINTER, - IVAS_ERR_METADATA_NOT_EXPECTED, - IVAS_ERR_INVALID_SPAR_CONFIG, - IVAS_ERR_WRONG_PARAMS, - IVAS_ERR_INIT_ERROR, - IVAS_ERR_DECODER_ERROR, - IVAS_ERR_WRONG_MODE, - IVAS_ERR_INVALID_OUTPUT_FORMAT, - IVAS_ERR_HEAD_ROTATION_NOT_SUPPORTED, - IVAS_ERR_INVALID_HRTF, - IVAS_ERR_INVALID_INPUT_FORMAT, - IVAS_ERR_INVALID_INDEX, - IVAS_ERR_NOT_SUPPORTED_OPTION, - IVAS_ERR_NOT_IMPLEMENTED, - IVAS_ERR_FILE_READER_TIMESTAMP_MISMATCH, - IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT, - IVAS_ERR_ISM_INVALID_METADATA_VALUE, - IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE, -#ifdef DEBUGGING - IVAS_ERR_INVALID_FORCE_MODE, -#ifdef DEBUG_AGC_ENCODER_CMD_OPTION - IVAS_ERR_INVALID_AGC, -#endif -#endif - - /*----------------------------------------* - * input data errors * - *----------------------------------------*/ - IVAS_ERR_INVALID_BITSTREAM = 0x2000, - - /*----------------------------------------* - * hardware errors * - *----------------------------------------*/ - IVAS_ERR_FAILED_ALLOC = 0x3000, - - /*----------------------------------------* - * internal errors * - *----------------------------------------*/ - IVAS_ERR_INTERNAL = 0x4000, - IVAS_ERR_INTERNAL_FATAL, - - /*----------------------------------------* - * file I/O errors (lib_util only) * - *----------------------------------------*/ - IVAS_ERR_FAILED_FILE_OPEN = 0x5000, - IVAS_ERR_FAILED_FILE_WRITE, - IVAS_ERR_FAILED_FILE_READ, - IVAS_ERR_FAILED_FILE_PARSE, - IVAS_ERR_END_OF_FILE, - IVAS_ERR_BITSTREAM_WRITER_INVALID_FORMAT, - IVAS_ERR_BITSTREAM_READER_INVALID_DATA, - IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT, - - /*----------------------------------------* - * renderer (lib_rend only) * - *----------------------------------------*/ - - IVAS_ERR_NUM_CHANNELS_UNKNOWN, - IVAS_ERR_INVALID_CUSTOM_LS_LAYOUT, - IVAS_ERR_INVALID_INPUT_ID, - IVAS_ERR_WRONG_NUM_CHANNELS, - IVAS_ERR_INVALID_BUFFER_SIZE, - - /*----------------------------------------* - * unknown error * - *----------------------------------------*/ - IVAS_ERR_UNKNOWN = 0xF000, /* fallback error code */ - -} ivas_error; - - -static inline const char *ivas_error_to_string( ivas_error error_code ) -{ - /* For error categories that are likely to still have many changes to - * specific error codes, return one string per category */ - if ( ( error_code & 0xF000 ) == 0x1000 ) - { - return "API error"; - } - if ( ( error_code & 0xF000 ) == 0x2000 ) - { - return "data error"; - } - - /* For categories that are unlikely to change, use more specific strings */ - switch ( error_code ) - { - case IVAS_ERR_OK: - return "No error"; - case IVAS_ERR_FAILED_ALLOC: - return "Failed allocation error"; - case IVAS_ERR_INTERNAL: - return "Internal error"; - case IVAS_ERR_INTERNAL_FATAL: - return "Internal fatal error"; - case IVAS_ERR_INVALID_SAMPLING_RATE: - return "Invalid sampling rate"; - case IVAS_ERR_INVALID_OUTPUT_FORMAT: - return "Invalid output format"; - case IVAS_ERR_INVALID_CUSTOM_LS_LAYOUT: - return "Invalid custom loudspeaker layout"; - case IVAS_ERR_INVALID_INPUT_ID: - return "Invalid input ID"; - case IVAS_ERR_WRONG_NUM_CHANNELS: - return "Wrong number of channels"; - case IVAS_ERR_INVALID_BUFFER_SIZE: - return "Invalid buffer size"; - case IVAS_ERR_FAILED_FILE_OPEN: - return "File open error"; - case IVAS_ERR_FAILED_FILE_WRITE: - return "File write error"; - case IVAS_ERR_FAILED_FILE_READ: - return "File read error"; - case IVAS_ERR_FAILED_FILE_PARSE: - return "Parse error"; - case IVAS_ERR_END_OF_FILE: - return "End of file"; - default: - break; - } - - return "Unknown error"; -} - -#endif /* IVAS_ERROR_H */ diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h deleted file mode 100644 index 412bd075b4..0000000000 --- a/lib_com/ivas_error_utils.h +++ /dev/null @@ -1,96 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "options.h" - -#include <assert.h> -#include <stdarg.h> -#include <stdint.h> - -#include "ivas_error.h" - -#ifdef DEBUGGING -#include <stdio.h> -#endif - -#ifndef IVAS_ERROR_UTILS_H -#define IVAS_ERROR_UTILS_H - -/* - * Usage: - * - * IVAS_ERROR( error_code, decription_fmt, ... ); - * - * where: - * - error_code is of type enum ivas_error - * - decription_fmt is a description string with printf-like formatting - * - ... are (optional) printf-like arguments to place in the description format string - * - * Examples: - * - * IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for XXX" ); - * - * IVAS_ERROR( IVAS_ERR_INTERNAL, "Unexpected value %f in frame %d", var, frame ); - * - * Note: Contrary to printf, this macro is not able to verify at build time that the - * placeholders (e.g. "%f") in the format string match the types of provided arguments. - * If unexpected values are printed or the macro causes a crash, double check that the - * format specifiers are correct. - */ -#ifdef DEBUGGING -#define IVAS_ERROR( error_code, ... ) ivas_error_wrapper( error_code, __func__, __FILE__, __LINE__, __VA_ARGS__ ) -#else -#define IVAS_ERROR( error_code, ... ) ivas_error_wrapper( error_code ) -#endif - -#ifdef DEBUGGING -static inline ivas_error ivas_error_wrapper( const ivas_error error_code, const char *function, const char *file, int32_t line, const char *description, ... ) -{ - fprintf( stderr, "\n%s: ", ivas_error_to_string( error_code ) ); - - va_list args; - va_start( args, description ); - vfprintf( stderr, description, args ); - va_end( args ); - - fprintf( stderr, "\n\nIn function: %s(), %s:%d\n\n", function, file, line ); - // assert( 0 ); - return error_code; -} -#else -static inline ivas_error ivas_error_wrapper( const ivas_error error_code ) -{ - return error_code; -} -#endif - -#endif /* IVAS_ERROR_UTILS_H */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h deleted file mode 100644 index c09adab6c8..0000000000 --- a/lib_com/ivas_prot.h +++ /dev/null @@ -1,5617 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_PROT_H -#define IVAS_PROT_H - -#include <stdint.h> -#include "options.h" -#include <stdio.h> -#include "typedef.h" -#include "stat_enc.h" -#include "stat_dec.h" -#include "stat_com.h" -#include "ivas_stat_enc.h" -#include "ivas_stat_dec.h" -#include "ivas_stat_com.h" -#include "ivas_error_utils.h" - -/* clang-format off */ - -/*----------------------------------------------------------------------------------* - * General IVAS prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_enc( - Encoder_Struct *st_ivas, /* i : IVAS encoder structure */ - const int16_t *data, /* i : input signal */ - const int16_t n_samples /* i : number of input samples */ -); - -void stereo_dmx_evs_enc( - STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS, /* i/o: Stereo downmix for EVS encoder handle */ - const int32_t input_Fs, /* i : input sampling rate */ - int16_t data[CPE_CHANNELS * L_FRAME48k], /* i/o: input signal */ - const int16_t n_samples /* i : number of input samples */ -); - -/*! r: number of channels to be analysed */ -int16_t getNumChanAnalysis( - Encoder_Struct *st_ivas /* i : IVAS encoder structure */ -); - -void copy_encoder_config( - Encoder_Struct *st_ivas, /* i : IVAS encoder structure */ - Encoder_State *st, /* o : encoder state structure */ - const int16_t flag_all /* i : flag 1==update all, 0=partial update */ -); - -void ivas_write_format( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -void ivas_write_format_sid( - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int16_t element_mode, /* i : element bitrate */ - BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle */ -); - -ivas_error create_sce_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t sce_id, /* i : SCE # identifier */ - const int32_t element_brate /* i : element bitrate */ -); - -ivas_error create_cpe_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t cpe_id, /* i : CPE # identifier */ - const int32_t element_brate /* i : element bitrate */ -); - -ivas_error create_mct_enc( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -ivas_error mct_enc_reconfigure( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const uint16_t b_nchan_change /* i : flag indicating different channel count */ -); -#ifdef SBA_BR_SWITCHING -ivas_error ivas_sba_enc_reinit( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); -#endif -#ifdef SBA_BR_SWITCHING -int16_t get_sba_reinit_flag( - int32_t ivas_total_bitrate, /* i: current bitrate */ - int32_t last_ivas_total_brate /* i: previous bitrate */ -); -#endif -ivas_error ivas_sba_enc_reconfigure( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -void destroy_sce_enc( - SCE_ENC_HANDLE hSCE /* i/o: SCE encoder structure */ -); - -void destroy_cpe_enc( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ -); - -void ivas_mct_enc_close( - MCT_ENC_HANDLE hMCT /* i/o: MCT encoder structure */ -); - -ivas_error ivas_corecoder_enc_reconfig( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ - const int16_t nchan_transport_old /* i : number of TCs in previous frame */ -); - -ivas_error ivas_sce_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t sce_id, /* i : SCE # identifier */ - const float data_f[], /* i : input signal for single channel */ - const int16_t input_frame, /* i : input frame length per channel */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error ivas_cpe_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t cpe_id, /* i : CPE # identifier */ - const float data_f_ch0[], /* i : input signal for channel 0 */ - const float data_f_ch1[], /* i : input signal for channel 1 */ - const int16_t input_frame, /* i : input frame length per channel */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error ivas_mct_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - float data[MCT_MAX_CHANNELS][L_FRAME48k], /* i : input signals */ - const int16_t input_frame, /* i : input frame length per channel */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error pre_proc_front_ivas( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const int32_t element_brate, /* i : SCE/CPE element bitrate */ - const int16_t nb_bits_metadata, /* i : number of metadata bits */ - const int16_t input_frame, /* i : frame length */ - const int16_t n, /* i : channel number */ - float old_inp_12k8[], /* o : buffer of old input signal */ - float old_inp_16k[], /* o : buffer of old input signal @16kHz */ - float *Etot, /* o : total energy */ - float *ener, /* o : residual energy from Levinson-Durbin */ - float *relE, /* o : frame relative energy */ - float A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ - float Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ - float epsP[M + 1], /* o : LP prediction errors */ - float lsp_new[M], /* o : LSPs at the end of the frame */ - float lsp_mid[M], /* o : LSPs in the middle of the frame */ - int16_t *vad_hover_flag, /* o : VAD hangover flag */ - int16_t *attack_flag, /* o : flag signaling attack */ - float realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer */ - float imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer */ - float old_wsp[], /* o : weighted input signal buffer */ - float pitch_fr[NB_SUBFR], /* o : fractional pitch values */ - float voicing_fr[NB_SUBFR], /* o : fractional pitch gains */ - int16_t *loc_harm, /* o : harmonicity flag */ - float *cor_map_sum, /* o : speech/music clasif. parameter */ - int16_t *vad_flag_dtx, /* o : HE-SAD flag with additional DTX HO */ - float enerBuffer[CLDFB_NO_CHANNELS_MAX], /* o : energy buffer */ - float fft_buff[2 * L_FFT], /* o : FFT buffer */ - const float tdm_A_PCh[M + 1], /* i : unq. LP coeff. of primary channel */ - const float tdm_lsp_new_PCh[M], /* i : unq. LSPs of primary channel */ - const float currFlatness, /* i : flatness parameter */ - const int16_t tdm_ratio_idx, /* i : Current Ratio_L index */ - float fr_bands_LR[CPE_CHANNELS][2 * NB_BANDS], /* i : energy in frequency bands */ - const float Etot_LR[CPE_CHANNELS], /* i : total energy Left & Right channel */ - float lf_E_LR[CPE_CHANNELS][2 * VOIC_BINS], /* i : per bin spectrum energy in lf, LR channels */ - const int16_t localVAD_HE_SAD_LR[CPE_CHANNELS], /* i : HE-SAD flag without hangover, LR channels */ - float band_energies_LR[2 * NB_BANDS], /* o : energy in critical bands without minimum noise floor E_MIN */ - const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ - const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ - const int16_t force_front_vad, /* i : flag to force VAD decision */ - const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ - ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -ivas_error pre_proc_ivas( - Encoder_State *st, /* i/o: encoder state structure */ - const int16_t last_element_mode, /* i : last element mode */ - const int32_t element_brate, /* i : element bitrate */ - const int32_t last_element_brate, /* i : last element bitrate */ - const int16_t input_frame, /* i : frame length */ - float old_inp_12k8[], /* i/o: buffer of old input signal */ - float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ - float **inp, /* o : ptr. to inp. signal in the current frame*/ - float *ener, /* o : residual energy from Levinson-Durbin */ - float A[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes */ - float Aw[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes */ - float epsP[M + 1], /* i/o: LP prediction errors */ - float lsp_new[M], /* i/o: LSPs at the end of the frame */ - float lsp_mid[M], /* i/o: LSPs in the middle of the frame */ - float *new_inp_resamp16k, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ - int16_t *Voicing_flag, /* o : voicing flag for HQ FEC */ - const float old_wsp[], /* i : weighted input signal buffer */ - const int16_t loc_harm, /* i : harmonicity flag */ - const float cor_map_sum, /* i : speech/music clasif. parameter */ - const int16_t vad_flag_dtx, /* i : HE-SAD flag with additional DTX HO */ - const float enerBuffer[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer */ - const float fft_buff[2 * L_FFT], /* i : FFT buffer */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int16_t vad_hover_flag, /* i : VAD hangover flag */ - const int16_t flag_16k_smc /* i : flag to indicate if the OL SMC is run at 16 kHz */ -); - -ivas_error ivas_compute_core_buffers( - Encoder_State *st, /* i/o: encoder state structure */ - float **inp16k_out, /* o : ptr. to inp. signal in the current frame*/ - float *old_inp_16k, /* i/o: buffer of old input signal @ 16kHz */ - float new_inp_resamp16k[], /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ - const int16_t input_frame, /* i : frame length */ - const int16_t last_element_mode, /* i : last element mode */ - const int32_t sr_core, /* i : core-coder sampling rate */ - float *ener, /* o : residual energy from Levinson-Durbin */ - float A[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes */ - float Aw[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes */ - float epsP[M + 1], /* i/o: LP prediction errors */ - float lsp_new[M], /* i/o: LSPs at the end of the frame */ - float lsp_mid[M] /* i/o: LSPs in the middle of the frame */ -); - -/*! r: number of clipped samples */ -uint32_t ivas_syn_output( - float synth[][L_FRAME48k], /* i/o: float synthesis signal */ - const int16_t output_frame, /* i : output frame length (one channel) */ - const int16_t n_channels, /* i : number of output channels */ - int16_t *synth_out /* o : integer 16 bits synthesis signal */ -); - -void ivas_initialize_handles_enc( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -ivas_error ivas_init_encoder( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - Indice ind_list[][MAX_NUM_INDICES], /* i : indices list */ - Indice ind_list_metadata[][MAX_BITS_METADATA] /* i : indices list metadata */ -); - -void destroy_core_enc( - ENC_CORE_HANDLE hCoreCoder /* i/o: core encoder structure */ -); - -void ivas_destroy_enc( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -ivas_error ivas_init_decoder_front( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_init_decoder( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error stereo_dmx_evs_init_encoder( - STEREO_DMX_EVS_ENC_HANDLE *hStereoDmxEVS, /* o : Stereo downmix for EVS encoder handle */ - const int32_t input_Fs /* i : input sampling rate */ -); - -void stereo_dmx_evs_close_encoder( - STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS /* i/o: Stereo downmix for EVS encoder handle */ -); - -ivas_error ivas_dec( - Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ - int16_t *data /* o : output synthesis signal */ -); - -ivas_error ivas_dec_setup( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error create_sce_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t cpe_id, /* i : SCE # identifier */ - const int32_t element_brate /* i : element bitrate */ -); - -ivas_error create_cpe_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t cpe_id, /* i : CPE # identifier */ - const int32_t element_brate /* i : element bitrate */ -); - -ivas_error create_mct_dec( - Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ -); - -ivas_error mct_dec_reconfigure( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const uint16_t b_nchan_change /* i : flag indicating different channel count */ -); - -void destroy_sce_dec( - SCE_DEC_HANDLE hSCE /* i/o: SCE decoder structure */ -); - -void destroy_cpe_dec( - CPE_DEC_HANDLE hCPE /* i/o: CPE decoder structure */ -); - -void ivas_mct_dec_close( - MCT_DEC_HANDLE *hMCT /* i/o: MCT decoder structure */ -); - -ivas_error ivas_corecoder_dec_reconfig( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ - const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ - const int16_t sba_dirac_stereo_flag_old /* i : signal stereo output for SBA DirAC in previous frame */ -); - -ivas_error ivas_hp20_dec_reconfig( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t nchan_hp20_old /* i : number of HP20 filters in previous frame*/ -); - -ivas_error ivas_sce_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t sce_id, /* i : SCE # identifier */ - float output[1][L_FRAME48k], /* o : output synthesis signal */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error ivas_cpe_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t cpe_id, /* i : CPE # identifier */ - float output[CPE_CHANNELS][L_FRAME48k], /* o : output synthesis signal */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error ivas_mct_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - float output[][L_FRAME48k], /* o : output synthesis signal */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -/*! r: number of channels to be synthesised */ -int16_t getNumChanSynthesis( - Decoder_Struct *st_ivas /* i : IVAS decoder structure */ -); - -void copy_decoder_config( - Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ - Decoder_State *st /* o : decoder state structure */ -); - -void destroy_core_dec( - DEC_CORE_HANDLE hCoreCoder /* i/o: core decoder structure */ -); - -void ivas_destroy_dec( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_initialize_handles_dec( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_core_enc( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - const int16_t n_CoreChannels, /* i : number of core channels to be coded */ - float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ - float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ - const float Etot[CPE_CHANNELS], /* i : total energy */ - float ener[CPE_CHANNELS], /* i : residual energy from Levinson-Durbin */ - float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes */ - float Aw[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquantized for subframes */ - float epsP[CPE_CHANNELS][M + 1], /* i : LP prediction errors */ - float lsp_new[CPE_CHANNELS][M], /* i : LSPs at the end of the frame */ - float lsp_mid[CPE_CHANNELS][M], /* i : LSPs in the middle of the frame */ - const int16_t vad_hover_flag[CPE_CHANNELS], /* i : VAD hanglover flag */ - int16_t attack_flag[CPE_CHANNELS], /* i : attack flag (GSC or TC) */ - float realBuffer[CPE_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer */ - float imagBuffer[CPE_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer */ - float old_wsp[CPE_CHANNELS][L_WSP], /* i : weighted input signal buffer */ - const int16_t loc_harm[CPE_CHANNELS], /* i : harmonicity flag */ - const float cor_map_sum[CPE_CHANNELS], /* i : speech/music clasif. parameter */ - const int16_t vad_flag_dtx[CPE_CHANNELS], /* i : HE-SAD flag with additional DTX HO */ - float enerBuffer[CPE_CHANNELS][CLDFB_NO_CHANNELS_MAX], /* i : energy buffer */ - float fft_buff[CPE_CHANNELS][2 * L_FFT], /* i : FFT buffer */ - const int16_t tdm_SM_flag, /* i : channel combination scheme flag */ - const int16_t ivas_format, /* i : IVAS format */ - const int16_t flag_16k_smc /* i : flag to indicate if the OL SMC is run at 16 kHz */ -); - -ivas_error ivas_core_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ - const int16_t n_channels, /* i : number of channels to be decoded */ - float output[CPE_CHANNELS][L_FRAME48k], /* o : output synthesis signal */ - float outputHB[CPE_CHANNELS][L_FRAME48k], /* o : output HB synthesis signal */ - float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* o : DFT buffers */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void encod_gen_2sbfr( - Encoder_State *st, /* i/o: state structure */ - const float speech[], /* i : input speech */ - const float Aw[], /* i : weighted A(z) unquantized for subframes */ - const float Aq[], /* i : LP coefficients */ - const float *res, /* i : residual signal */ - float *syn, /* i/o: core synthesis */ - float *exc, /* i/o: current non-enhanced excitation */ - float *exc2, /* i/o: current enhanced excitation */ - float *pitch_buf, /* i/o: floating pitch values for each subframe */ - float *voice_factors, /* o : voicing factors */ - float *bwe_exc, /* o : excitation for SWB TBE */ - const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ - const float tdm_Pri_pitch_buf[] /* i : pitch values for primary channel */ -); - -void decod_gen_2sbfr( - Decoder_State *st, /* i/o: decoder static memory */ - const int16_t sharpFlag, /* i : formant sharpening flag */ - const float *Aq, /* i : LP filter coefficient */ - float *pitch_buf, /* o : floating pitch values for each subframe */ - float *voice_factors, /* o : voicing factors */ - float *exc, /* i/o: adapt. excitation exc */ - float *exc2, /* i/o: adapt. excitation/total exc */ - float *bwe_exc, /* o : excitation for SWB TBE */ - float *gain_buf, /* o : floating pitch gain for each subframe */ - const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ - const float tdm_Pri_pitch_buf[] /* i : pitch values for primary channel */ -); - -void synchro_synthesis( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[CPE_CHANNELS][L_FRAME48k], /* i/o: output synthesis signal */ - const int16_t output_frame, /* i : Number of samples */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void stereo_tcx_init_enc( - Encoder_State *st /* i/o: encoder state structure */ -); - -void stereo_tcx_core_enc( - Encoder_State *st, /* i/o: encoder state structure */ - const float new_samples_12k8[], /* i : buffer of input signal @12.8 kHz */ - const float new_samples_16k[], /* i : buffer of input signal @16 kHz */ - const float Aw[], /* i : weighted A(z) unquant. for subframes */ - float lsp_new[], /* i : LSPs at the end of the frame */ - float lsp_mid[], /* i : LSPs in the middle of the frame */ - float pitch_buf[NB_SUBFR16k], /* o : floating pitch for each subframe */ - const int16_t last_element_mode, /* i : last element mode */ - const int16_t vad_hover_flag /* i : VAD hangover flag */ -); - -void stereo_tcx_core_dec( - Decoder_State *st, /* i/o: decoder state structure */ - const FRAME_MODE frameMode, /* i : Decoder frame mode */ - float *signal_out, /* o : synthesis @internal_Fs */ - float *signal_outFB, /* o : synthesis @output_Fs */ - float pitch_buf[], /* o : floating pitch for each subframe */ - const int16_t sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */ - STEREO_TD_DEC_DATA_HANDLE hStereoTD, /* i/o: TD stereo decoder handle */ - const int16_t last_element_mode, /* i : last element mode */ - const int16_t flag_sec_CNA, /* i : CNA flag for secondary channel */ - STEREO_CNG_DEC_HANDLE hStereoCng, /* i : Stereo CNG handle */ - const int16_t nchan_out /* i : number of output channels */ -); - -void stereo_tcx_init_dec( - Decoder_State *st, /* i/o: decoder state structure */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int16_t last_element_mode /* i : element mode of previous frame */ -); - -/*! r: S/M decision (0 = speech or noise, 1 = unclear, 2 = music) */ -int16_t ivas_smc_gmm( - Encoder_State *st, /* i/o: encoder state structure */ - STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */ - const int16_t localVAD_HE_SAD, /* i : HE-SAD flag without hangover */ - const float Etot, /* i : total frame energy */ - const float lsp_new[M], /* i : LSPs in current frame */ - const float cor_map_sum, /* i : correlation map sum (from multi-harmonic anal.) */ - const float epsP[M + 1], /* i : LP prediciton error */ - const float PS[], /* i : energy spectrum */ - const float non_sta, /* i : unbound non-stationarity */ - const float relE, /* i : relative frame energy */ - int16_t *high_lpn_flag, /* i/o: sp/mus LPN flag */ - const int16_t flag_spitch /* i : flag to indicate very short stable pitch */ -); - -void ivas_smc_mode_selection( - Encoder_State *st, /* i/o: encoder state structure */ - const int32_t element_brate, /* i : element bitrate */ - int16_t smc_dec, /* i : raw decision of the 1st stage classifier */ - const float relE, /* i : relative frame energy */ - const float Etot, /* i : total frame energy */ - int16_t *attack_flag, /* i/o: attack flag (GSC or TC) */ - const float *inp, /* i : input signal */ - const float S_map[], /* i : short-term correlation map */ - const int16_t flag_spitch /* i : flag to indicate very short stable pitch */ -); - -/*! r: S/M decision (0=speech or noise,1=unclear,2=music) */ -int16_t ivas_acelp_tcx20_switching( - Encoder_State *st, /* i/o: encoder state structure */ - const float *inp, /* i : new input signal */ - const float *wsp, /* i : input weighted signal */ - const float non_staX, /* i : unbound non-stationarity for sp/mu clas */ - const float *pitch_fr, /* i : fraction pitch values */ - const float *voicing_fr, /* i : fractional voicing values */ - const float currFlatness, /* i : flatness */ - const float lsp_mid[M], /* i : LSPs at the middle of the frame */ - const float stab_fac, /* i : LP filter stability */ - float *res_cod_SNR_M, - const int16_t flag_16k_smc /* i : flag to indicate if the OL SMC is run at 16 kHz */ -); - -void ivas_decision_matrix_enc( - Encoder_State *st, /* i/o: encoder state structure */ - const int32_t element_brate, /* i : element bitrate */ - const float fft_buff[], /* i : FFT buffer */ - const float enerBuffer[], /* i : energy buffer */ - const int16_t last_element_mode /* i : last element mode */ -); - -void ivas_signaling_enc( - Encoder_State *st, /* i/o: encoder state structure */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int32_t element_brate, /* i : element bitrate */ - const int16_t tdm_SM_flag, /* i : channel combination scheme flag in TD stereo */ - const int16_t tdm_Pitch_reuse_flag /* i : primary channel pitch reuse flag in TD stereo*/ -); - -void ivas_decision_matrix_dec( - Decoder_State *st, /* i/o: decoder state structure */ - int16_t *sharpFlag, /* o : formant sharpening flag */ - int16_t *core_switching_flag, /* o : ACELP->HQ switching frame flag */ - const int32_t element_brate, /* i : element bitrate */ - const int16_t nchan_out /* i : Number of output channels */ -); - -void set_bw_stereo( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structures */ -); - -/*! r: flag indicating whether the coded BW has changed */ -int16_t set_bw_mct( - CPE_ENC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE encoder structures */ - const int16_t nCPE /* i : number of CPEs */ -); - -void acelp_fast( - BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ - const int16_t cdk_index, /* i : codebook index */ - const float dn_orig[L_SUBFR], /* i : corr. between target and h[]. */ - const float cn[L_SUBFR], /* i : residual after long term prediction */ - const float H[L_SUBFR], /* i : impulse response of weighted synt.filter*/ - float code[L_SUBFR], /* o : algebraic (fixed) codebook excitation */ - float y[], /* o : filtered fixed codebook excitation */ - const int16_t L_subfr /* i : subframe length */ -); - -void dec_acelp_fast( - Decoder_State *st, /* i/o: decoder state structure */ - const int16_t cdk_index, /* i : codebook index */ - float code[], /* o : algebraic (fixed) codebook excitation */ - const int16_t L_subfr /* i : subframe length */ -); - -void set_transient_stereo( - CPE_ENC_HANDLE hCPE, /* i : CPE structure */ - float currFlatness[] /* i/o: current flatness */ -); - -void ivas_post_proc( - SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const int16_t n, /* i : channel number */ - float synth[], /* i/o: output synthesis signal */ - float output[CPE_CHANNELS][L_FRAME48k], /* i/o: output synthesis signal */ - const int16_t output_frame, /* i : output frame length */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void ivas_renderer_select( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_mc_enc_config( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -ivas_error ivas_mc_dec_config( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t idx /* i : LS config. index */ -); - -/*! r: MC format mode (MCT, McMASA, ParamMC) */ -MC_MODE ivas_mc_mode_select( - const MC_LS_SETUP mc_ls_setup, /* i : loudspeaker setup (CICP) */ - const int32_t total_brate /* i : IVAS total bitrate */ -); - -/*! r: number of loudspeaker channels */ -int16_t ivas_mc_ls_setup_get_num_channels( - const MC_LS_SETUP mc_ls_setup /* i : loudspeaker setup (CICP) */ -); - -/*! r: output configuration*/ -AUDIO_CONFIG ivas_mc_map_ls_setup_to_output_config( - const MC_LS_SETUP mc_ls_setup /* i : multi channel loudspeaker setup */ -); - -/*! r: multi channel loudspeaker setup */ -MC_LS_SETUP ivas_mc_map_output_config_to_mc_ls_setup( - const AUDIO_CONFIG output_config /* i : output audio configuration */ -); - -/*! r: limiter struct handle */ -IVAS_LIMITER_HANDLE ivas_limiter_open( - const int16_t num_channels, /* i : number of I/O channels */ - const int32_t sampling_rate /* i : sampling rate for processing */ -); - -void ivas_limiter_close( - IVAS_LIMITER_HANDLE* phLimiter /* i/o: pointer to limiter handle, can be NULL */ -); - -void ivas_limiter_dec -( - IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ - float output[MAX_OUTPUT_CHANNELS][L_FRAME48k], /* i/o: input/output buffer */ - const int16_t num_channels, /* i : number of channels to be processed */ - const int16_t output_frame, /* i : number of samples per channel in the buffer */ - const int16_t BER_detect /* i : BER detect flag */ -); - -void limiter_process( - IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ - const int16_t output_frame, /* i : number of samples to be processed per channel in the I/O buffer */ - const float threshold, /* i : signal amplitude above which limiting starts to be applied */ - const int16_t BER_detect, /* i : BER detect flag */ - int16_t *strong_saturation_cnt /* i/o: counter of strong saturations (can be NULL) */ -); - -void smooth_dft2td_transition( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[CPE_CHANNELS][L_FRAME48k], /* i/o: synthesis @external Fs */ - const int16_t output_frame /* i : output frame length */ -); - -#ifdef DEBUG_MODE_INFO -void output_debug_mode_info_dec( - Decoder_State **sts, - const int16_t n_channels, - const int16_t output_frame, - float pitch_buf[CPE_CHANNELS][NB_SUBFR16k] -); -#endif - -/*! r: flag indicating a valid bitrate */ -int16_t is_IVAS_bitrate( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -int16_t is_DTXrate( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -int16_t is_SIDrate( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -void ivas_mdft( - const float *pIn, /* i : input time-domain signal */ - float *pOut_re, /* o : Real part of MDFT signal */ - float *pOut_im, /* o : Imag. part of MDFT signal */ - const int16_t length, /* i : signal length */ - const int16_t mdft_length /* i : MDFT length */ -); - -void ivas_imdft( - const float *pRe, /* i : Real part of MDFT signal */ - const float *pIm, /* i : Imag. part of MDFT signal */ - float *pOut, /* o : output time-domain signal */ - const int16_t length /* i : signal length */ -); - - -/*----------------------------------------------------------------------------------* - * ISm prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_ism_config( - const int32_t ism_total_brate, /* i : ISms total bitrate */ - const int16_t num_trans_ch, /* i : number of trans channels */ - const int16_t num_obj, /* i : number of objects */ - ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ - const int16_t localVAD[MAX_NUM_OBJECTS], /* i : local VAD flag */ - const int16_t ism_imp[], /* i : ISM importance flags */ - int32_t element_brate[], /* o : element bitrate per object */ - int32_t total_brate[], /* o : total bitrate per object */ - int16_t nb_bits_metadata[] /* i/o: number of metadata bits */ -); - -void ivas_ism_reset_metadata( - ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handles */ -); - -void ivas_ism_reset_metadata_API( - ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handles */ -); - -/*! r: index of the winning codeword */ -int16_t ism_quant_meta( - const float val, /* i : scalar value to quantize */ - float *valQ, /* o : quantized value */ - const float borders[], /* i : level borders */ - const int16_t cbsize /* i : codebook size */ -); - -/*! r: dequantized value */ -float ism_dequant_meta( - const int16_t idx, /* i : quantizer index */ - const float borders[], /* i : level borders */ - const int16_t cbsize /* i : codebook size */ -); - -ivas_error set_ism_metadata( - ISM_METADATA_HANDLE hIsmMeta, /* i/o: ISM metadata handle */ - float azimuth, /* i : azimuth */ - float elevation /* i : elevation */ -); - -ivas_error create_ism_metadata_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t n_ISms, /* i : number of objects */ - int32_t element_brate_tmp[] /* o : element bitrate per object */ -); - -ivas_error create_ism_metadata_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t n_ISms, /* i : number of objects */ - int32_t element_brate_tmp[] /* o : element bitrate per object */ -); - -ivas_error ivas_ism_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - float data[MAX_NUM_OBJECTS][L_FRAME48k], /* i : input signal */ - const int16_t input_frame, /* i : input frame length per channel */ - int16_t *nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error ivas_ism_metadata_enc( - const int32_t ism_total_brate, /* i : ISms total bitrate */ - const int16_t nchan_transport, /* i : number of transport channels */ - ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ - SCE_ENC_HANDLE hSCE[], /* i/o: SCE encoder handles */ - BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ - int16_t nb_bits_metadata[], /* o : number of metadata bits */ - const int16_t localVAD[], /* i : VAD flag */ - const int16_t ism_mode, /* i : ISM mode */ - const PARAM_ISM_CONFIG_HANDLE hParamIsm /* i : Param ISM Config Handle */ -); - -ivas_error ivas_ism_metadata_dec( - const int32_t ism_total_brate, /* i : ISms total bitrate */ - int16_t *nchan_transport, /* o : number of transport channels */ - ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ - SCE_DEC_HANDLE hSCE[], /* i/o: SCE decoder handles */ - const int16_t bfi, /* i : bfi flag */ - int16_t nb_bits_metadata[], /* o : number of metadata bits */ - ISM_MODE ism_mode, /* i : ISM mode */ - const PARAM_ISM_CONFIG_HANDLE hParamIsm /* i : Param ISM Config Handle */ -); - - -/*----------------------------------------------------------------------------------* - * Parametric ISM prototypes - *----------------------------------------------------------------------------------*/ - -/*! r: ISM format mode */ -ISM_MODE ivas_ism_mode_select( - const int16_t nchan_inp, /* i : number of input objects */ - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -ivas_error ivas_param_ism_enc_open( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -void ivas_param_ism_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - float data[MAX_NUM_OBJECTS][L_FRAME48k], /* i : input signal */ - const int16_t input_frame /* i : input frame length per channel */ -); - -void ivas_param_ism_enc_close( - DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ - const int32_t input_Fs /* i : input sampling_rate */ -); - -void ivas_param_ism_stereo_dmx( - Encoder_Struct *st_ivas, /* i : IVAS encoder structure */ - float data[MAX_NUM_OBJECTS][L_FRAME48k], /* i/o: input signal/stereo dmx */ - const int16_t input_frame /* i : Length of input frame */ -); - -void ivas_param_ism_config( - PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ -); - -ivas_error ivas_ism_enc_config( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -ivas_error ivas_ism_dec_config( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t num_obj /* i : number of objects in the bitstream */ -); - -ivas_error ivas_param_ism_dec_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_param_ism_dec_close( - DIRAC_DEC_HANDLE hDirAC, /* i/o: decoder DirAC handle */ - const AUDIO_CONFIG output_config /* i : output audio configuration */ -); - -void ivas_param_ism_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ -); - -void ivas_param_ism_params_to_masa_param_mapping( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -/*----------------------------------------------------------------------------------* - * DFT Stereo prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error stereo_dft_enc_create( - STEREO_DFT_ENC_DATA_HANDLE *hStereoDft, /* o : encoder DFT stereo handle */ - const int32_t input_Fs, /* i : input sampling rate */ - const int16_t max_bwidth /* i : maximum encoded bandwidth */ -); - -void stereo_dft_enc_reset( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft /* i/o: encoder stereo handle */ -); - -void stereo_enc_itd_init( - ITD_DATA_HANDLE hItd /* i/o: encoder ITD handle */ -); - -void stereo_dft_enc_update( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ - const int16_t max_bwidth /* i : maximum encoded bandwidth */ -); - -void stereo_dft_enc_destroy( - STEREO_DFT_ENC_DATA_HANDLE *hStereoDft /* i/o: encoder DFT stereo handle */ -); - -void stereo_dft_enc_analyze( - Encoder_State **sts, /* i/o: encoder state structure */ - const int16_t n_channels, /* i : number of input channels */ - const int16_t input_frame, /* i : input frame length */ - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: encoder MDCT stereo handle */ - float DFT[CPE_CHANNELS][STEREO_DFT_N_MAX_ENC], /* o : DFT buffers */ - float *input_mem[CPE_CHANNELS] /* i/o: input buffer memory */ -); - -float stereo_dft_enc_synthesize( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ - float *output, /* o : output synthesis */ - const int16_t chan, /* i : channel number */ - const int32_t input_Fs, /* i : input sampling rate */ - const int32_t output_sampling_rate, /* i : output sampling rate */ - const int16_t L_frame /* i : frame length at internal Fs */ -); - -void stereo_dft_enc_process( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ -#ifdef FIX_ITD_CNG - const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ - const int16_t vad_hover_flag[], /* i: VAD hangover flags */ -#endif - const int16_t input_frame /* i : input frame length */ -); - -void stereo_dft_enc_res( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ - const float *input_8k, /* i : input buffer sampled at 8kHz */ - BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ - int16_t *nb_bits, /* o : number of bits written */ - const int16_t max_bits -); - -void stereo_dft_enc_write_BS( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - int16_t *nb_bits /* o : number of bits written */ -); - -void stereo_dtf_cng( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i/o: DFT buffers */ - const int16_t output_frame /* i : output frame size */ -); - -void stereo_dft_cng_side_gain( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo encoder handle */ - STEREO_CNG_ENC_HANDLE hStereoCng, /* i/o: Stereo CNG data structure */ - const int32_t core_brate, /* i : core bitrate */ - const int32_t last_core_brate, /* i : last core bitrate */ - const int16_t bwidth /* i : audio band-width */ -); - -void stereo_dft_quantize_res_gains( - const float *g, - const float *r, - float *gq, - float *rq, - int16_t *ig, - int16_t *ir -); - -void stereo_dft_dequantize_itd( - int16_t *ind, - float *out, - const int32_t output_Fs -); - -void stereo_dft_enc_sid_calc_coh( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ -#ifdef FIX_ITD_CNG - float prev_cohBand[2*(STEREO_DFT_BAND_MAX/2)], /* i/o: Previous coherence */ -#else - float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ -#endif - int16_t *td_active, /* i/o: TD stereo mode indicator */ - int16_t *first_SID, /* i/o: First SID indicator */ - float *cohBand /* i/o: Coherence per band */ -); - -void stereo_dft_enc_sid_coh( - BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ - float *mem_cohBand, /* i/o: Coherence memory */ - const int16_t nbands, /* i : number of DFT stereo bands */ - int16_t *nb_bits, /* i/o: number of bits written */ - float *cohBand /* i/o: Coherence per band */ -); - -void stereo_dft_dec_sid_coh( - Decoder_State *st, /* i/o: decoder state structure */ - const int16_t nbands, /* i : number of DFT stereo bands */ - float *coh, /* i/o: coherence */ - int16_t *nb_bits /* i/o: number of bits read */ -); - -ivas_error stereo_dft_dec_create( - STEREO_DFT_DEC_DATA_HANDLE *hStereoDft, /* i/o: decoder DFT stereo handle */ - const int32_t element_brate, /* i : element bitrate */ - const int32_t output_Fs, /* i : output sampling rate */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void stereo_dft_dec_reset( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft /* i/o: decoder DFT stereo handle */ -); - -void stereo_dft_dec_update( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - const int16_t output_frame, /* i : output frame length */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void stereo_dft_dec_destroy( - STEREO_DFT_DEC_DATA_HANDLE *hStereoDft /* i/o: decoder DFT stereo handle */ -); - -void stereo_dft_dec_analyze( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const float *input, /* i : input signal */ - float out_DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* o : DFT buffers */ - const int16_t chan, /* i : channel number */ - const int16_t input_frame, /* i : input frame size */ - const int16_t output_frame, /* i : output frame size */ - const DFT_STEREO_DEC_ANA_TYPE ana_type, /* i : signal type to analyze */ - const int16_t k_offset, /* i : offset of DFT */ - const int16_t delay /* i : delay in samples for input signal */ -); - -void stereo_dft_dec_synthesize( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i : DFT buffers */ - const int16_t chan, /* i : channel number */ - float output[L_FRAME48k], /* o : output synthesis signal */ - const int16_t output_frame /* i : output frame length */ -); - -void stereo_dft_dec( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - Decoder_State *st0, /* i/o: decoder state structure */ - float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i/o: DFT buffers */ - float *input_mem, /* i/o: mem of buffer DFT analysis */ - STEREO_CNG_DEC_HANDLE hStereoCng, /* i/o: Stereo CNG data structure */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void stereo_dft_res_ecu( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: Decoder DFT stereo handle */ - float *pDFT_RES, /* i/o: residual signal */ - float *const DFT_PRED_RES, /* i/o: residual prediction signal */ - const int16_t k, /* i : Subframe index */ - const int16_t output_frame, /* i : Output frame length */ - const int16_t prev_bfi, /* i : Previous BFI */ - const float dmx_nrg, /* i : Down-mix energy */ - int16_t *num_plocs, /* i/o: Number of peak locations */ - int16_t *plocs, /* i/o: Peak locations (bin) */ - float *plocsi, /* i/o: Peak locations (fractional) */ - float *input_mem /* o : Residual DFT buffer input mem */ -); - -void stereo_dft_res_subst_spec( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: Decoder DFT stereo handle */ - float *pDFT_RES, /* i/o: residual signal */ - const float *const DFT_PRED_RES, /* i : residual prediction signal */ - const int16_t time_offs, /* i : Time offset for phase adjustm. */ - const int16_t L_res, /* i : bandwidth of residual signal */ - const int16_t L_ana, /* i : Length of FFT analysis */ - const int16_t k, /* i : Subframe index */ - int16_t *num_plocs, /* i/o: Number of peak locations */ - int16_t *plocs, /* i/o: Peak locations (bin) */ - float *plocsi, /* i/o: Peak locations (fractional) */ - const int16_t analysis_flag /* i : Flag for running peak analysis */ -); - -void stereo_dft_res_ecu_burst_att( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: Decoder DFT stereo handle */ - float *pDFT_RES, /* i/o: residual signal /att. residual */ - const float dmx_nrg, /* i : dmx energy of current frame */ - const int16_t L_res, /* i : Bandwidth of residual */ - const int16_t L_ana /* i : Length of FFT analysis */ -); - -/*! r: total energy of downmix with maximum swb bandwidth max */ -float stereo_dft_dmx_swb_nrg( - const float *dmx_k0, /* i : first subframe spectrum */ - const float *dmx_k1, /* i : second subframe spectrum */ - const int16_t frame_length /* i : frame lanegth */ -); - -int16_t stereo_dft_sg_recovery( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft /* i/o: Decoder DFT stereo handle */ -); - -void stereo_dft_dec_res( - CPE_DEC_HANDLE hCPE, /* i/o: decoder CPE handle */ - float res_buf[STEREO_DFT_BUF_MAX], /* i : residual buffer */ - float *output /* o : output frame */ -); - -/*! r: Decision to enable or disable BPF on DFT stereo residual */ -int16_t res_bpf_adapt( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo decoder handle */ - const float *bpf_error_signal_8k, /* i : BPF modification signal */ - float res_buf[STEREO_DFT_BUF_MAX] /* i : residual buffer */ -); - -void bpf_pitch_coherence( - Decoder_State *st, /* i/o: decoder state structure */ - const float pitch_buf[] /* i : pitch for each subframe [0,1,2,3] */ -); - -void stereo_dft_dec_read_BS( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int32_t element_brate, /* i : element bitrate */ - int32_t *total_brate, /* o : total bitrate */ - Decoder_State *st, /* i/o: decoder state structure */ - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - const int16_t bwidth, /* i : bandwidth */ - const int16_t output_frame, /* i : output frame length */ - float res_buf[STEREO_DFT_BUF_MAX], /* o : residual buffer */ - int16_t *nb_bits, /* o : number of bits read */ - float *coh, /* i/o: Coherence */ - const int16_t ivas_format /* i : ivas format */ -); - -void stereo_dft_dec_smooth_parameters( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ -#ifdef FIX_ITD_CNG - , - const int16_t active_frame_counter, /* i : Active frame counter */ - const int32_t element_brate /* i : Element bitrate */ -#endif -); - -void stereo_dft_generate_res_pred( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - const float samp_ratio, /* i : sampling ratio */ - float *pDFT_DMX, /* i : downmix signal */ - float *DFT_PRED_RES, /* o : residual prediction signal */ - float *pPredGain, /* i : residual prediction gains */ - const int16_t k, /* i : subframe index */ - float *ap_filt_DMX, /* i : enhanced stereo filling signal */ - int16_t *stop, /* o : last FD stereo filling bin */ - const int16_t bfi /* i : BFI flag */ -); - -void stereo_dft_dec_core_switching( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[], /* i/o: synthesis @internal Fs */ - float synth[], /* i : synthesis @output Fs */ - float hb_synth[], /* i/o: hb synthesis */ - float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* o : DFT buffers */ - const int16_t output_frame, /* i : output frame length */ - const int16_t use_cldfb_for_dft, /* i : flag to use of CLDFB for DFT Stereo */ - const int16_t sba_dirac_stereo_dtx_flag /* i : DTX indicator for SBA DirAC stereo */ -); - -void init_basic_allpass( - basic_allpass_t *ap, /* i/o: basic allpass structure */ - const float *gains, /* i : allpass filter gains */ - const int16_t *delays /* i : allpass filter delays */ -); - -void filter_with_allpass( - const float *sig, /* i : allpass input signal */ - float *out, /* o : filtered output */ - const int16_t len, /* i : length of input */ - basic_allpass_t *ap /* i/o: basic allpass structure */ -); - -/*! r: used GR order */ -int16_t write_bitstream_adapt_GR( - BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ - const int16_t Indice, /* i : identifier for bitstream index */ - const int16_t *in, /* i : values to be written in bitstream */ - const int16_t len, /* i : values vector length */ - const int16_t GR_ord, /* i : GR order to be used */ - const int16_t sp_aud_decision /* i : speech/music 0/1 */ -); - -/*! r: used GR order */ -int16_t adapt_GR_ief( - const int16_t *in, /* i : vector to encode */ - int16_t *in_diff, /* o : encoded symbols in case of differential encoding */ - const int16_t *prev, /* i : previous frame data */ - const int16_t len, /* i : input vector length */ - const int16_t no_symb, /* i : number of symbols */ - int16_t *nbits, /* o : number of used bits */ - int16_t *in_enc, /* o : symbold actually encoded after adapt_GR */ - const int16_t *map0, /* i : mapping array */ - const int16_t no_GR_ord, /* i : number of GR order to try 2: 0,1; 3:0,1,2 */ - int16_t *nbits_diff, /* o : number bits in diff encoding */ - const int16_t side_gain_counter, /* i : number of frames since last abs coding */ - float *side_gain_bitdiff_lp, /* i/o: LP-filtered bit difference between abs/diff */ - const int16_t try_diff /* i : diff coding allowed 1/0 */ -); - -/*! r: used GR order */ -int16_t adapt_GR_rpg1_ief( - const int16_t *in, /* i : res pred gains input vector */ - int16_t *in_diff, /* o : encoded symbols in case of differential encoding */ - const int16_t *prev, /* i : previous frame data */ - const int16_t len, /* i : input vector length */ - const int16_t no_symb, /* i : number of symbols */ - int16_t *nbits, /* o : number of used bits */ - int16_t *in_enc, /* o : symbold actually encoded after adapt_GR */ - const int16_t *maps, /* i : mapping array */ - int16_t *nbits_diff, /* o : estimated no of bits for differential encoding */ - const int16_t no_GR_ord, /* i : number of GR order to try 2: 0,1; 3:0,1,2 */ - const int16_t try_diff /* i : diff coding allowed 1/0 */ -); - -/*! r: number of bits written */ -int16_t write_GR1( - BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ - const int16_t ind, /* i : bitstream index */ - const int16_t *in, /* i : input vector */ - const int16_t len /* i : vector length */ -); - -/*! r: number of bits written */ -int16_t write_bitstream_GR( - BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ - const int16_t ind, /* i : bitstream index */ - const int16_t *in, /* i : input date to be written */ - const int16_t len, /* i : input data length */ - const int16_t GR_ord /* i : GR order to be used */ -); - -/*! r: number of bits read */ -int16_t read_flag_EC_DFT( - const uint16_t *bit_stream, /* i : bitstream */ - int16_t *flag /* o : flag value */ -); - -/*! r: number of bits read */ -int16_t read_BS_GR( - const uint16_t *bit_stream, /* i : bitstream to be read */ - const int16_t nb, /* i : starting point in bitstream */ - int16_t *ind1, /* o : data array read */ - const int16_t len, /* i : number of params to be read */ - int16_t *GR_ord /* o : GR order to be used */ -); - -/*! r: number of bits read */ -int16_t read_BS_adapt_GR_rpg( - const uint16_t *bit_stream, /* i : bitstream to be read */ - const int16_t nb, /* i : starting point in bitstream */ - int16_t *ind1_pred, /* o : decoded res pred gains */ - const int16_t start, /* i : starting subband */ - const int16_t total_no, /* i : number of params to be read */ - int16_t *GR_ord /* o : GR order - read */ -); - -/*! r: value read on nbits from bitstream */ -int16_t get_value( - const uint16_t *bit_stream, /* i : bitstream */ - const int16_t nbits /* i : number of bits to be read */ -); - -/*! r: number of bits read */ -int16_t read_itd( - Decoder_State *st, /* i : decoder state */ - int16_t *pI /* o : decoded ITD value */ -); - -/*! r: number of bits read */ -int16_t read_BS_adapt_GR_sg( - const uint16_t *bit_stream, /* i : bitstream to be read */ - const int16_t nb, /* i : starting position to be read */ - int16_t *ind1, /* o : decoded side gain values */ - const int16_t len, /* i : number of params to be read */ - int16_t *GR_ord, /* o : GR order to be used */ - const int16_t *map0 /* i : mapping array for side gains */ -); - -void stereo_dft_hybrid_ITD_flag( - STEREO_DFT_CONFIG_DATA_HANDLE hConfig, /* o : DFT stereo configuration */ - const int32_t input_Fs /* i : CPE element sampling rate */ -); - -void stereo_dft_enc_compute_itd( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - float *DFT_L, - float *DFT_R, - const int16_t k_offset, - const int16_t input_frame, -#ifdef FIX_ITD_CNG - const int16_t vad_flag_dtx[], - const int16_t vad_hover_flag[], -#endif - float *bin_nrgL, - float *bin_nrgR -); - -void stereo_dft_config( - STEREO_DFT_CONFIG_DATA_HANDLE hConfig, /* o : DFT stereo configuration */ - const int32_t brate, /* i : IVAS/CPE/nominal total bitrate */ - int16_t *bits_frame_nominal, /* o : primary channel nominal bits per frame */ - int16_t *bits_frame_nominal_2 /* o : secondary channel nominal bits per frame*/ -); - -int16_t stereo_dft_band_config( - int16_t *band_limits, /* o : DFT band limits */ - const int16_t band_res, /* i : DFT band resolution */ - const int16_t NFFT, /* i : analysis/synthesis window length */ - const int16_t enc_dec /* i : flag to indicate enc vs dec */ -); - -void stereo_td_itd( - ITD_DATA *hITD, /* i/o: ITD data structure */ - float input_mem_itd[CPE_CHANNELS][STEREO_DFT_OVL_MAX], /* o : ITD memory (only used in DFT Stereo) */ - const int16_t hybrid_itd_flag, /* i : flag for hybrid TD/FD ITD processing */ -#ifdef DEBUG_MODE_DFT - const int16_t itd_mode, /* i : main ITD processing flag */ -#endif - const int16_t dft_ovl, /* i : size of DFT overlap */ - Encoder_State **sts, /* i/o: Encoder state structure */ - const int16_t input_frame, /* i : input frame length */ - float *input_mem[CPE_CHANNELS] /* i/o: input buffer memory */ -); - -void stereo_dft_dmx_out_reset( - STEREO_DFT_DMX_DATA_HANDLE hStereoDftDmx /* i/o: DFT stereo DMX decoder */ -); - -void stereo_dft_unify_dmx( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder stereo handle */ - Decoder_State *st0, /* i/o: decoder state structure */ - float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i/o: DFT buffers */ - float *input_mem, /* i/o: mem of buffer DFT analysis */ - const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ -); - -void add_HB_to_mono_dmx( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[L_FRAME48k], /* i/o: output synthesis */ - float outputHB[L_FRAME48k], /* i : HB synthesis */ - const int16_t last_core, /* i : last core, primary channel */ - const int16_t output_frame /* i : frame length */ -); - -/*----------------------------------------------------------------------------------* - * Range Coder prototypes - *----------------------------------------------------------------------------------*/ - -void rc_uni_enc_init( - RangeUniEncState *rc_st_enc /* i/o: RC state handle */ -); - -void rc_uni_enc_encode_fast( - RangeUniEncState *rc_st_enc, /* i/o: RC state handle */ - const uint16_t cum_freq, /* i : Cumulative frequency up to symbol */ - const uint16_t sym_freq, /* i : Symbol frequency */ - const uint16_t tot_shift /* i : Total frequency as a power of 2 */ -); - -void rc_uni_enc_encode_symbol_fastS( - RangeUniEncState *rc_st_enc, /* i/o: Encoder state */ - const uint16_t symbol, /* i : Symbol to encode */ - const uint16_t cum_freq[], /* i : Cumulative frequency up to symbol */ - const uint16_t sym_freq[], /* i : Symbol frequency */ - const uint16_t tot_shift /* i : Total frequency as a power of 2 */ -); - -void rc_uni_enc_encode_bits( - RangeUniEncState *rc_st_enc, /* i/o: RC state handle */ - const uint16_t value, /* i : Value to encode */ - const int16_t bits /* i : Number of bits */ -); - -/*! r: Total number of bits produced */ -int16_t rc_uni_enc_virtual_finish( - RangeUniEncState *rc_st_enc /* i : RC state handle */ -); - -/*! r: Total number of bits produced */ -int16_t rc_uni_enc_finish( - RangeUniEncState *rc_st_enc /* i/o: RC state handle */ -); - -void rc_uni_dec_init( - RangeUniDecState *rc_st_dec, /* i/o: RC state handle */ - uint16_t *bit_buffer, /* i : Bit buffer */ - const int16_t max_available_bits /* i : Total maximum bits available */ -); - -/*! r: Read symbol */ -uint16_t rc_uni_dec_read_symbol_fastS( - RangeUniDecState *rc_st_dec, /* i/o: Decoder State */ - const uint16_t cum_freq_table[], /* i : Cumulative frequency up to symbol */ - const uint16_t sym_freq_table[], /* i : Symbol frequency */ - const uint16_t alphabet_size, /* i : Number of symbols in the alphabet */ - const uint16_t tot_shift /* i : Total frequency as a power of 2 */ -); - -/*! r: Read bit */ -uint16_t rc_uni_dec_read_bit( - RangeUniDecState *rc_st_dec /* i/o: RC state handle */ -); - -/*! r: Read bit */ -uint16_t rc_uni_dec_read_bit_prob_fast( - RangeUniDecState *rc_st_dec, /* i/o: RC state handle */ - const int16_t freq0, /* i : Frequency for symbol 0 */ - const uint16_t tot_shift /* i : Total frequency as a power of 2 */ -); - -/*! r: Read bits */ -uint16_t rc_uni_dec_read_bits( - RangeUniDecState *rc_st_dec, /* i/o: RC state handle */ - const int16_t bits /* i : Number of bits */ -); - -/*! r: Total number of bits consumed */ -int16_t rc_uni_dec_virtual_finish( - RangeUniDecState *rc_st_dec /* i/o: RC state handle */ -); - -/*! r: Total number of bits consumed */ -int16_t rc_uni_dec_finish( - RangeUniDecState *rc_st_dec /* i/o: RC state handle */ -); - - -/*----------------------------------------------------------------------------------* - * ECLVQ Stereo prototypes - *----------------------------------------------------------------------------------*/ - -float ECSQ_dequantize_gain( - const int16_t index -); - -void ECSQ_quantize_vector( - const float *input, - const float global_gain, - const int16_t N, - int16_t *output -); - -float ECSQ_compute_optimal_gain( - const float *input, - const int16_t N, - const int16_t *output -); - -void ECSQ_init_instance( - ECSQ_instance *ecsq_inst, - const int16_t config_index, - void *ac_handle -); - -int32_t ECSQ_encode_target_SNR( - ECSQ_instance *ecsq_inst, - const float *input, - const int16_t N, - const float target_SNR, - const int16_t max_bits, - float *output, - int16_t *global_gain_index_output -); - -void ECSQ_decode( - ECSQ_instance *ecsq_inst, - const int16_t N, - int16_t *output -); - -void ECSQ_dequantize_vector( - const int16_t *input, - const float global_gain, - const int16_t N, - float *output -); - - -/*----------------------------------------------------------------------------------* - * ICA Stereo prototypes - *----------------------------------------------------------------------------------*/ - -void stereo_tca_init_enc( - STEREO_TCA_ENC_HANDLE hStereoTCA, /* i/o: Stereo TCA encoder handle */ - const int32_t input_Fs /* i : input sampling frequency */ -); - -void stereo_tca_enc( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ - const int16_t input_frame /* i : length of a frame per channel */ -); - -void stereo_tca_init_dec( - STEREO_TCA_DEC_HANDLE hStereoTCA /* i/o: Stereo TCA handle */ -); - -void stereo_tca_dec( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float synth[CPE_CHANNELS][L_FRAME48k], /* i/o: output synth */ - const int16_t output_frame /* i : length of a frame per channel */ -); - -void stereo_tca_scale_R_channel( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[L_FRAME48k], /* i/o: output synthesis, R channel */ - const int16_t output_frame /* i : frame length */ -); - -void adjustTargetSignal( - float *target, - const int16_t prevShift, - const int16_t currShift, - const int16_t L_shift_adapt, - const int16_t method -); - - -/*----------------------------------------------------------------------------------* - * IC-BWE Stereo prototypes - *----------------------------------------------------------------------------------*/ - -void stereo_icBWE_init_enc( - STEREO_ICBWE_ENC_HANDLE hStereoICBWE /* i/o: Stereo inter-channel BWE handle */ -); - -void spectral_balancer( - float *signal, - float *mem, - const int16_t lg, - const int16_t coeff_set -); - -void stereo_icBWE_preproc( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const int16_t input_frame, /* i : input frame length */ - float shb_speech_nonref[] /* o : SHB speech non-ref channel */ -); - -void stereo_icBWE_enc( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const float shb_speech_ref[], /* i : SHB speech ref channel */ - float shb_speech_nonref[], /* i/o: SHB speech non-ref channel */ - const float *voice_factors /* i : voicing factors */ -); - -void stereo_icBWE_init_dec( - STEREO_ICBWE_DEC_HANDLE hStereoICBWE /* i/o: Stereo inter-channel BWE handle */ -); - -void stereo_icBWE_dec( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float *synthRef, /* i/o: Reference channel HB synthesis at output Fs */ - float *synth, /* o : Non reference channel HB synthesis at output Fs */ - const float *fb_synth_ref, /* i : ref. high-band synthesis 16-20 kHz */ - const float *voice_factors, /* i : voicing factors */ - const int16_t output_frame /* i : frame length */ -); - -void stereo_icBWE_decproc( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[CPE_CHANNELS][L_FRAME48k], /* i/o: output symthesis */ - float outputHB[CPE_CHANNELS][L_FRAME48k], /* i : HB synthesis */ - const int16_t last_core, /* i : last core, primary channel */ - const int16_t last_bwidth, /* i : last bandwidth */ - const int16_t output_frame /* i : frame length */ -); - - -/*----------------------------------------------------------------------------------* - * Stereo classifiers prototypes - *----------------------------------------------------------------------------------*/ - -/*! r: element mode */ -int16_t select_stereo_mode( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int32_t ivas_total_brate /* i : IVAS total brate */ -); - -void stereo_classifier_init( - STEREO_CLASSIF_HANDLE hStereoClassif /* i/o: stereo classifier structure */ -); - -void stereo_classifier_features( - STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */ - const int16_t idchan, /* i : channel ID */ - const int16_t element_mode, /* i : element mode */ - const int16_t vad_flag, /* i : VAD flag */ - const float lsf_new[], /* i : LSFs at the end of the frame */ - const float epsP[], /* i : LP analysis residual energies for each iteration*/ - const int16_t pitch[], /* i : open-loop pitch values for quantiz. */ - const float voicing[], /* i : OL maximum normalized correlation */ - const float cor_map_sum, /* i : speech/music clasif. parameter */ - const float non_staX, /* i : unbound non-stationarity for sp/mu clas. */ - const float sp_div, /* i : spectral diversity feature */ - const int16_t clas /* i : signal class */ -); - -void unclr_classifier_dft( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ -); - -void unclr_classifier_td( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ -); - -void xtalk_classifier_dft( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const int16_t itd, /* i : ITD from DFT stereo - used as a feature */ - const float gcc_phat[] /* i : GPHAT cross-channel correlation function */ -); - -void xtalk_classifier_td( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ -); - - -/*----------------------------------------------------------------------------------* - * TD Stereo prototypes - *----------------------------------------------------------------------------------*/ - -void stereo_td_init_enc( - STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle */ - const int16_t last_element_mode /* i : last element mode */ -); - -ivas_error stereo_set_tdm( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ - const int16_t input_frame /* i : input frame length per channel */ -); - -void stereo_tdm_prep_dwnmx ( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ - const float *input1, /* i : right channel input */ - const int16_t input_frame /* i : frame lenght */ -); -int16_t stereo_tdm_ener_analysis( - CPE_ENC_HANDLE hCPE, /* i : CPE structure */ - const int16_t input_frame, /* i : Number of samples */ - int16_t *tdm_SM_or_LRTD_Pri, /* o : channel combination scheme flag in TD stereo OR LRTD primary channel */ - int16_t *tdm_ratio_idx_SM /* o : TDM ratio index for SM mode */ -); - -void stereo_tdm_downmix( - STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i : TD stereo IVAS encoder structure */ - float *Left_in, /* i/o: Left channel -> Primary channel */ - float *Right_in, /* i/o: Right channel -> Secondary channel */ - const int16_t input_frame, /* i : Number of samples */ - const int16_t tdm_ratio_idx, /* i : TDM ratio index */ - const int16_t tdm_SM_flag, /* i : channel combination scheme flag */ - const int16_t tdm_ratio_idx_SM /* i : TDM ratio index for SM mode */ -); - -void stereo_td_init_dec( - STEREO_TD_DEC_DATA_HANDLE hStereoTD, /* i/o: TD stereo decoder handle */ - const int16_t last_element_mode /* i : last element mode */ -); - -void tdm_configure_dec( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - int16_t *tdm_ratio_idx, /* o : ratio index */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -void tdm_upmix_plain( - float Left[], /* o : left channel */ - float Right[], /* o : right channel */ - const float PCh_2_L[], /* i : primary channel */ - const float SCh_2_R[], /* i : secondary channel */ - const float LR_ratio, /* i : mixing ratio */ - const float inv_den_LR_ratio, /* i : inverse mixing ration */ - const int16_t start_index, /* i : start index */ - const int16_t end_index, /* i : end index */ - const int16_t plus_minus_flag /* i : plus/minus flag */ -); - -void stereo_tdm_combine( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float *PCh_2_L, /* i/o: Primary channel -> output as L channel */ - float *SCh_2_R, /* i/o: Seconday channel -> output as R channel */ - const int16_t output_frame, /* i : Number of samples */ - const int16_t flag_HB, /* i : flag to distinguish between core (0) and HB (1) synthesis */ - const int16_t tdm_ratio_idx /* i : TDM ratio index */ -); - -/*! r: replication decision; 1 = Use old LP */ -int16_t tdm_lp_comparison( - STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle */ - STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */ - Encoder_State *st, /* i/o: Encoder structure */ - const float *speech, /* i : Current speech frame */ - const float *A_Pch, /* i : primary channel LP coefficients */ - const float *A_SCh, /* i : secondary channel LP coefficients */ - const int16_t m, /* i : filter length */ - const float *isp_PCh, /* i : primary channel LSPs */ - const float *isp_SCh, /* i : secondary channel LSPs */ - const int16_t L_frame, /* i : frame length */ - const int32_t element_brate_wo_meta /* i : element bitrate without metadata */ -); - -/*! r: replication decision; 1 = Use old LP */ -void tdm_ol_pitch_comparison( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ - float pitch_fr[CPE_CHANNELS][NB_SUBFR], /* i/o: fractional pitch values */ - float voicing_fr[CPE_CHANNELS][NB_SUBFR] /* i/o: fractional pitch gains */ -); - -void tdm_configure_enc( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ - const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ - const int16_t tdm_ratio_idx, /* i : ratio index */ - const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ - const int16_t attack_flag, /* i : Primary channel attack flag */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -ivas_error signaling_enc_secondary( - Encoder_State *st, /* i/o: Encoder structure */ - const int16_t tdm_SM_flag, /* i : channel combination scheme flag */ - const int16_t tdm_Pitch_reuse_flag /* i : primary channel pitch reuse flag */ -); - -void tdm_bit_alloc( - const int32_t element_brate_wo_meta, /* i : element bitrate without metadata */ - const int16_t tdm_lp_reuse_flag, /* i : LPC reusage flag */ - int32_t *total_brate_pri, /* o : Allocated primary channel bitrate */ - int32_t *total_brate_sec, /* o : Allocated secondary channel bitrate */ - int16_t *tdm_low_rate_mode, /* o : secondary channel low rate mode flag */ - const int16_t coder_type, /* i : secondary channel coder type */ - const int16_t ener_ratio_idx, /* i : correlation ratio indexe */ - const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ - const int16_t bwidth_pri, /* i : bandwidth of the primary channel */ - const int16_t bwidth_sec, /* i : bandwidth of the secondary channel */ - const int16_t flag_ACELP16k_pri, /* i : ACELP@16kHz core flag, primary chan. */ - const int16_t tdm_LRTD_flag, /* i : LRTD stereo mode flag */ - const int16_t coder_type0, /* i : coder type (temporary in the encoder, from bitstream in decoder) */ - const int16_t tdm_inst_ratio_idx /* i : instantaneous correlation ratio index */ -); - -void td_stereo_param_updt( - const float lsp_old_PCh[], /* i : primary channel old LSPs */ - const float lsf_old_PCh[], /* i : primary channel old LSFs */ - const float pitch_buf_PCh[], /* i : primary channel pitch buffer */ - float tdm_lspQ_PCh[], /* o : Q LSPs for primary channel */ - float tdm_lsfQ_PCh[], /* o : Q LSFs for primary channel */ - float tdm_Pri_pitch_buf[], /* o : pitch values for primary channel */ - const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */ - const int16_t tdm_use_IAWB_Ave_lpc /* i : flag to indicate the usage of mean inactive LP coefficients */ -); - -void gsc_enc( - Encoder_State *st, /* i/o: State structure */ - float res_dct_in[], /* i : dct of residual signal */ - float exc_dct_in[], /* i/o: dct of pitch-only excitation / total excitation */ - const int16_t Diff_len, /* i : Lenght of the difference signal (before pure spectral)*/ - const int16_t bits_used, /* i : Number of bit used before frequency Q */ - const int16_t nb_subfr, /* i : Number of subframe considered */ - const float *lsf_new, /* i : ISFs at the end of the frame */ - float *exc_wo_nf, /* o : excitation (in f domain) w/o noisefill */ - float *tmp_noise /* o : long-term noise energy */ -); - -void tdm_low_rate_enc( - Encoder_State *st, /* i/o: State structure */ - const float Aq[], /* i : 12k8 Lp coefficient */ - const float *res, /* i : residual signal */ - float *synth, /* i/o: core synthesis */ - float *exc, /* i/o: current non-enhanced excitation */ - float *pitch_buf, /* i/o: floating pitch values for each subframe */ - float *voice_factors, /* o : voicing factors */ - float *bwe_exc, /* o : excitation for SWB TBE */ - const int16_t attack_flag, /* i : attck flag */ - const float *lsf_new, /* i : current frame ISF vector */ - float *tmp_noise /* o : long-term noise energy */ -); - -/*! r: value of the indice */ -uint16_t get_indice_st( - Decoder_State *st, /* i/o: decoder state structure */ - const int32_t element_brate, /* i : element bitrate */ - const int16_t pos, /* i : absolute position in the bitstream */ - const int16_t nb_bits /* i : number of bits to quantize the indice */ -); - -void tdm_low_rate_dec( - Decoder_State *st, /* i/o: decoder static memory */ - float dct_epit[], /* o : GSC excitation in DCT domain */ - float *tmp_noise, /* o : long term temporary noise energy */ - float *pitch_buf, /* o : floating pitch values for each subframe */ - float *voice_factors, /* o : voicing factors */ - float *exc, /* i/o: adapt. excitation exc */ - float *exc2, /* i/o: adapt. excitation/total exc */ - float *bwe_exc, /* o : excitation for SWB TBE */ - const float *lsf_new /* i : ISFs at the end of the frame */ -); - -#ifdef LSF_RE_USE_SECONDARY_CHANNEL -void tdm_SCh_LSF_intra_pred( - const int32_t element_brate, /* i : element bitrate */ - const float *tdm_lsfQ_PCh, /* i : primary channel LSFs */ - float *pred_lsf_secondary /* o : predicted secondary channel LSFs */ -); - -#ifdef LSF_RE_USE_SECONDARY_CHANNEL_REUSEMODE -void tdm_SCh_lsf_reuse( - const int16_t enc_dec, /* i : encoder/decoder flag */ - const int32_t element_brate, /* i : element bitrate */ - float lsf_new[M], /* i/o: LSFs at the end of the frame */ - float lsp_new[M], /* i/o: LSPs at the end of the frame */ - const float tdm_lsfQ_PCh[M], /* i : primary channel LSFs */ - const float lsf_wgts[M], /* i : LSF weights */ - int16_t beta_index[] /* i/o: quantization index */ -); -#endif -#endif - -void first_VQstages( - const float *const *cb, - const float u[], /* i : vector to be encoded (prediction and mean removed) */ - const int16_t *levels, /* i : number of levels in each stage */ - const int16_t stagesVQ, /* i : number of stages */ - const float w[], /* i : weights */ - const int16_t N, /* i : vector dimension */ - const int16_t max_inner, /* i : maximum number of swaps in inner loop */ - int16_t indices_VQstage[] -); - -UWord32 index_lvq_SHB( - const int16_t idx_lead, - const int16_t idx_scale, - const int16_t nbits, - float *lat_cv, - const int16_t mode -); - -void deindex_lvq_SHB( - UWord32 index, - float *out, - const int16_t nbits, - const int16_t mode -); - -/*----------------------------------------------------------------------------------* - * MDCT Stereo prototypes - *----------------------------------------------------------------------------------*/ - -void stereo_td_itd_mdct_stereo( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ -#ifdef FIX_ITD_CNG - const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ - const int16_t vad_hover_flag[], /* i: VAD hangover flags */ -#endif - const int16_t input_frame /* i : frame length */ -); - -void QuantizeTCXSpectrum( - Encoder_State *st, /* i : state handle */ - const int16_t frame_cnt, /* i : frame counter in the super_frame */ - const float *x_orig, /* i : shaped MDCT spectrum */ - const float *gainlpc, /* i : FDNS gains */ - const Word16 *Aqind, /* i : frame-independent quantized coefficients (M+1) */ - const int16_t tnsSize, /* i : number of tns parameters put into prm */ - const int16_t nb_bits, /* i : bit budget */ - const int16_t vad_hover_flag, /* i : VAD hangover flag */ - int16_t *pL_frameTCX, /* o : full frame length */ - int16_t *pL_frame, /* o : frame length */ - int16_t *pL_spec, /* o : length of the coded spectrum */ - int16_t *ptcx_offset, /* o : folding point offset relative to the end of the previous frame */ - int16_t *pnoiseFillingBorder, /* o : noise filling border */ - float spectrum[], /* o : quantized MDCT spectrum */ - CONTEXT_HM_CONFIG *hm_cfg, /* o : Context-based harmonic model configuration */ - int16_t *hm_active, /* o : flag indicating if the harmonic model is active */ - float lf_deemph_fact[], /* o : low frequency deemphasis factors */ - int16_t *nf_seed, /* o : noise filling random seed */ - float *ener, /* o : energy of the quantized spectrum */ - float *gain_tcx, /* o : global gain */ - int16_t prm[] /* o : tcx parameters */ -); - -void EstimateStereoTCXNoiseLevel( - Encoder_State **sts, /* i : state handle */ - float *q_spectrum[CPE_CHANNELS][NB_DIV], /* i : quantized MDCT spectrum */ - float gain_tcx[][NB_DIV], /* i : global gain */ - int16_t L_frame[][NB_DIV], /* i : frame length */ - int16_t noiseFillingBorder[][NB_DIV], /* i : noise filling border */ - int16_t hm_active[][NB_DIV], /* i : flag indicating if the harmonic model is active */ - const int16_t ignore_chan[], /* i : flag indicating whether the channel should be ignored */ - float fac_ns[][NB_DIV], /* o : noise filling level */ - int16_t param_core[][NB_DIV * NPRM_DIV], /* o : quantized noise filling level */ - const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ -); - -void TNSAnalysisStereo( - Encoder_State **sts, /* i : state handle */ - float *mdst_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* o : MDST spectrum */ - const int16_t bWhitenedDomain, /* i : whitened domain flag */ - int16_t tnsSize[MCT_MAX_CHANNELS][NB_DIV], /* i : number of tns parameters put into prm */ - int16_t tnsBits[MCT_MAX_CHANNELS][NB_DIV], /* i : number of tns bits in the frame */ - int16_t param_core[][NB_DIV * NPRM_DIV], /* o : quantized noise filling level */ - const int16_t mct_on /* i : flag mct block (1) or stereo (0) */ -); - -void InternalTCXDecoder( - Encoder_State *st, /* i/o: state handle */ - const int16_t frame_cnt, /* i : frame counter in the super_frame */ - const int16_t L_frameTCX, /* i : full frame length */ - const int16_t L_frame, /* i : frame length */ - const int16_t L_spec, /* i : length of the coded spectrum */ - const int16_t tcx_offset, /* i : folding point offset relative to the end of the previous frame */ - const int16_t noiseFillingBorder, /* i : noise filling border */ - const float *x_quant, /* i : quantized spectrum */ - const float ener, /* i : energy of the quantized spectrum */ - float lf_deemph_fact[], /* i/o: low frequency deemphasis factors */ - const float fac_ns, /* i : noise filling level */ - const int16_t nf_seed, /* i : noise filling random seed */ - const float *A, /* i : LPC representation of the FDNS gains */ - float *gainlpc, /* i/o: FDNS gains */ - const int16_t hm_active, /* i : flag indicating if the harmonic model is active */ - float gain_tcx, /* i/o: global gain / quantized global gain */ - float spectrum[], /* o : dequantized spectrum */ - float synth[], /* o : time domain signal */ - int16_t *gain_tcx_q /* o : quantized global gain (at low bitrates) */ -); - -void stereo_mdct_core_enc( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - float new_samples[CPE_CHANNELS][L_INP], /* i : new samples */ - float old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP */ - float pitch_buf[CPE_CHANNELS][NB_SUBFR16k] /* o : floating pitch for each subframe */ -); - -void initMdctStereoEncData( - STEREO_MDCT_ENC_DATA *hStereoMdct, /* i/o: mdct stereo parameters structure */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int16_t element_mode, /* i : element mode */ - const int32_t element_brate, /* i : element bitrate */ - const int16_t bwidth, /* i : bandwidth */ - const int16_t igf, /* i : flag indicating IGF activity */ - const H_IGF_GRID hIgfGrid, /* i : IGF grid setup */ - const int16_t mem_init /* i : initialize memory after malloc */ -); - -ivas_error initMdctItdHandling( - STEREO_MDCT_ENC_DATA *hStereoMdct, /* i/o: mdct stereo parameters structure */ - const int32_t input_Fs /* i : input sampling rate */ -); - -void stereo_mdct_enc_destroy( - STEREO_MDCT_ENC_DATA_HANDLE *hStereoMdct /* i/o: encoder MDCT stereo handle */ -); - -void initMdctStereoDecData( - STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: mdct stereo parameters structure */ - const int16_t igf, /* i : flag indicating IGF activity */ - const H_IGF_GRID igfGrid, /* i : IGF grid configuration */ - const int32_t element_brate, /* i : element bitrate */ - const int16_t bwidth /* i : audio bandwidth */ -); - -void stereo_mdct_init_bands( - const int16_t L_frame, /* i : frame length */ - const int16_t tmp_tcx_mode, /* i : tcx mode (TCX10, TCX 20), -1 if transition frame */ - const int32_t element_brate, /* i : element bitrate */ - const int16_t igf, /* i : flag indicating if IGF is used */ - const H_IGF_GRID hIgfGrid, /* i : IGF grid setup */ - int16_t *sfbOffset, /* o : sfb offset table */ - int16_t *sfbCnt /* o : number of sfbs */ -); - -void stereo_mdct_init_igf_start_band( - STEREO_MDCT_BAND_PARAMETERS *stbParams, /* i/o: stereo frequency band parameters */ - const float transFac, /* i : transform factor */ - const int16_t bwidth, /* i : audio bandwidth */ - const int32_t element_brate /* i : element bitrate */ -); - -void init_tcx_enc_info( - Encoder_State *st, /* i : coder memory state */ - int16_t *L_frame, - int16_t *L_frameTCX, - int16_t *L_spec -); - -void decoder_tcx_invQ( - Decoder_State *st, /* i/o: coder memory state */ - int16_t prm[], /* i : parameters */ - float A[], /* i : coefficients NxAz[M+1] */ - Word16 Aind[], /* i : frame-independent coefficients Az[M+1] */ - const int16_t L_spec, - const int16_t L_frame, - const int16_t L_frameTCX, - float x[], - float gainlpc2[], - float xn_buf[], - int16_t *fUseTns, /* o : flag that is set if TNS data is present */ - STnsData *tnsData, - float *gain_tcx, - const int16_t **prm_sqQ, - int16_t *nf_seed, - const int16_t bfi, /* i : Bad frame indicator */ - const int16_t frame_cnt /* i : frame counter in the super frame */ -); - -void decoder_tcx_noisefilling( - Decoder_State *st, /* i/o: coder memory state */ - float concealment_noise[L_FRAME48k], - const float A[], /* i : coefficients NxAz[M+1] */ - const int16_t L_frameTCX_glob, - const int16_t L_spec, - const int16_t L_frame, - const int16_t L_frameTCX, - float x[], - float gainlpc2[], - int16_t *temp_concealment_method, - const float gain_tcx, - const int16_t *prm_sqQ, - int16_t nf_seed, - const int16_t bfi, /* i : Bad frame indicator */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int16_t frame_cnt /* i : frame counter in the super frame */ -); - -void decoder_tcx_noiseshaping_igf( - Decoder_State *st, /* i/o: coder memory state */ - const int16_t L_spec, - const int16_t L_frame, - const int16_t L_frameTCX, - const int16_t left_rect, - float x[], - const float gainlpc2[], - int16_t *temp_concealment_method, - const int16_t bfi /* i : Bad frame indicator */ -); - -void decoder_tcx_tns( - Decoder_State *st, /* i/o: coder memory state */ - const int16_t L_frame_glob, - const int16_t L_spec, - const int16_t L_frame, - const int16_t L_frameTCX, - float x[N_MAX], - const int16_t fUseTns, /* i : flag that is set if TNS data is present */ - STnsData *tnsData, - const int16_t bfi, /* i : Bad frame indicator */ - const int16_t frame_cnt, /* i : frame counter in the super frame */ - const int16_t whitenedDomain -); - -void decoder_tcx_imdct( - Decoder_State *st, /* i/o: coder memory state */ - const int16_t L_frame_glob, /* i : frame length */ - const int16_t L_frameTCX_glob, - const int16_t L_spec, - const int16_t tcx_offset, - const int16_t tcx_offsetFB, - const int16_t L_frame, - const int16_t L_frameTCX, - const int16_t left_rect, - float x[N_MAX], - float xn_buf[], - const uint16_t kernelType, /* i : TCX transform kernel type */ - const int16_t fUseTns, /* i : flag that is set if TNS data is present */ - float synth[], /* i/o: synth[-M..L_frame] */ - float synthFB[], - const int16_t bfi, /* i : Bad frame indicator */ - const int16_t frame_cnt, /* i : frame counter in the super frame */ - const int16_t isLFE, /* i : is LFE */ - const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ -); - -void init_tcx_info( - Decoder_State *st, /* i/o: coder memory state */ - const int16_t L_frame_glob, /* i : global frame length */ - const int16_t L_frameTCX_glob, /* i : FB global frame length */ - const int16_t frame_cnt, /* i : frame counter in the super_frame */ - const int16_t bfi, /* i : bad frame indicator */ - int16_t *tcx_offset, /* o : folding point offset relative to the end of the previous frame */ - int16_t *tcx_offsetFB, /* o : FB folding point offset relative to the end of the previous frame*/ - int16_t *L_frame, /* o : frame length */ - int16_t *L_frameTCX, /* o : TCX frame length */ - int16_t *left_rect, /* o : left part is rectangular */ - int16_t *L_spec /* o : spectrum length */ -); - -void decoder_tcx_IGF_mono( - Decoder_State *st, /* i/o: coder memory state */ - float x[], /* o : de-quatized coefficients */ - const int16_t L_frame, /* i : frame length */ - const int16_t left_rect, /* i : left part is rectangular */ - const int16_t bfi, /* i : bad frame indicator */ - const int16_t frame_cnt /* i : frame counter in the super_frame */ -); - -void decoder_tcx_IGF_stereo( - Decoder_State **sts, /* i/o: coder memory states */ - STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo structure */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ - float *x[CPE_CHANNELS][NB_DIV], /* o : de-quatized coefficients */ - const int16_t L_frame, /* i : frame length */ - const int16_t left_rect, /* i : left part is rectangular */ - const int16_t k, /* i : Subframe index */ - const int16_t bfi, /* i : bad frame indicator */ - const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ -); - -void ms_processing( - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT encoder structure */ - Encoder_State **sts, /* i/o: Encoder state structure */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ - const int16_t iSubframe, /* i : subframe number */ - float x_0[], /* i/o: spectrum 1 */ - float x_1[], /* i/o: spectrum 2 */ - int16_t maxSfb /* i : number of stereo frequency bands */ -); - -void ms_inv_mask_processing( - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT encoder structure */ - Encoder_State **sts, /* i/o: Encoder state structure */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ - const int16_t iSubframe, /* i : subframe number */ - const float x_0[], /* i : spectrum 1 */ - const float x_1[], /* i : spectrum 2 */ - float x_inv_0[], /* o : inverse spectrum 1 */ - float x_inv_1[], /* o : inverse spectrum 2 */ - int16_t maxSfb /* i : number of stereo frequency bands */ -); - -void IGFDecApplyStereo( - const IGF_DEC_INSTANCE_HANDLE hIGFDecL, /* i : instance handle of IGF Decoder */ - const IGF_DEC_INSTANCE_HANDLE hIGFDecR, /* i : instance handle of IGF Decoder */ - float *spectrumL, /* i/o: L MDCT spectrum */ - float *spectrumR, /* i/o: R MDCT spectrum */ - const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */ - const int16_t *coreMsMask, - const int16_t restrict_hopsize, - const int16_t bfi, /* i : frame loss == 1, frame good == 0 */ - const int16_t bfi_apply_damping /* i : decoder element mode */ -); - -void IGFEncStereoEncoder( - STEREO_MDCT_BAND_PARAMETERS *sfbParam, /* i/o: sfb parameters for the right channel */ - const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : IGF handle */ - const float *mdctSpectrumL, /* i : left spectrum */ - const float *mdctSpectrumR, /* i : right spectrum */ - int16_t *msMask, /* i/o: MS mask */ - int16_t *igfStereoMode, /* o : IGF stereo mode */ - const int16_t mdct_stereo_mode, /* i : MDCT stereo mode */ - const int16_t isTCX20, /* i : flag for indicating TCX20 */ - const int16_t isTransition /* i : flag for transtition */ -); - -void IGFDecReplicateTCX10State( - IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: instance handle of IGF Decoder */ -); - -void InitPsychLPC( - const int32_t sr_core, /* i : sampling rate of core-coder */ - const int16_t L_frame, /* i : frame length */ - const TCX_CONFIG_HANDLE hTcxCfg /* i : TCX configuration handle */ -); - -void SetCurrentPsychParams( - const int16_t core, - const int16_t last_frame_was_concealed_cng, - TCX_CONFIG_HANDLE hTcxCfg -); - -void stereo_coder_tcx( - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT encoder structure */ - Encoder_State **sts, /* i/o: encoder state structure */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ - float *mdst_spectrum[CPE_CHANNELS][NB_DIV], /* i/o: MDST spectrum */ - float *inv_spectrum[CPE_CHANNELS][NB_DIV], /* i/o: inverse spectrum */ - float *inv_mdst_spectrum[CPE_CHANNELS][NB_DIV], /* i/o: inverse MDST spectrum */ - const int16_t mct_on /* i : flag mct block (1) or stereo (0) */ -); - -void stereo_decoder_tcx( - STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: MDCT stereo decoder structure */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ - float *spec_r_0[NB_DIV], /* i/o: spectrum right channel */ - float *spec_l[NB_DIV], /* i/o: spectrum left channel */ - float *spec_r[NB_DIV], /* i/o: spectrum right channel */ - const int16_t mdct_stereo_mode[], /* i : stereo mode (FB/band wise MS, dual mono */ - const int16_t core_l, /* i : core for left channel (TCX20/TCX10) */ - const int16_t core_r, /* i : core for right channel (TCX20/TCX10) */ - const int16_t igf, /* i : flag for IGF activity */ - const int16_t L_frameTCX_l, /* i : TCX frame length of left channel */ - const int16_t L_frameTCX_r, /* i : TCX frame length of right channel */ - const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ - const int16_t last_core_l, /* i : last core for left channel */ - const int16_t last_core_r, /* i : last core for right channel */ - const int16_t tmp_plc_upmix /* i : indicates temp upmix for PLC decision */ -); - -void stereo_mdct_core_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float signal_out[CPE_CHANNELS][L_FRAME48k], /* o : synthesis @internal_FS */ - float signal_outFB[CPE_CHANNELS][L_FRAME48k] /* o : synthesis @output_FS */ -); - -void splitAvailableBits( - const int16_t total_bits, /* i : total available bits for TCX coding */ - const int16_t split_ratio, /* i : split ratio */ - const int16_t isSBAStereoMode, /* i : signal core coding for SBA */ - int16_t *bits_ch0, /* o : bits for channel 0 */ - int16_t *bits_ch1 /* o : bits for channel 1 */ -); - -int16_t write_stereo_to_bitstream -( - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: Stereo MDCT encoder structure */ - Encoder_State **sts, /* i/o: Encoder state structure */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ - const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ - BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */ -); - -void parse_stereo_from_bitstream( - STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure */ - Decoder_State **sts, /* i/o: decoder state structure */ - const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ - const int16_t isSBAStereoMode, /* i : flag core coding for SBA */ - Decoder_State *st0, /* i/o: decoder state structure for Bstr */ - int16_t ms_mask[NB_DIV][MAX_SFB] /* o : bandwise MS mask */ -); - -void FindSplitRatio( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - Encoder_State **sts /* i/o: Encoder state structure */ -); - -void ComputeSpectrumNoiseMeasure( - const float *powerSpec, - const int16_t L_frame, - const int16_t startLine, - const int16_t resetMemory, - int16_t *noiseFlags, - const int16_t lowpassLine -); - -void IGFSaveSpectrumForITF( - IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i/o: instance handle of IGF Encoder */ - const int16_t igfGridIdx, /* i : IGF grid index */ - const float *pITFSpectrum /* i : MDCT spectrum */ -); - -void convert_coeffs_to_higher_res( - const float *in1, /* i : first subframe input */ - const float *in2, /* i : second subframe input */ - float *out, /* o : converted output */ - const int16_t len /* i : length of subframes */ -); - -void sns_compute_scf( - float spectrum[], - const PsychoacousticParameters *pPsychParams, - const int16_t L_frame, - float *scf -); - -void sns_interpolate_scalefactors( - float *scf_int, /* o : interpolated scalefactors for spectrum shaping */ - const float *scf, /* i : sns scalefactors as derived from the signal or read from the bitstream */ - int16_t encoder_side /* i : flag, if scalefactors have to be inverted */ -); - -void sns_shape_spectrum( - float spectrum[], /* i/o: spectrum to be shaped */ - const PsychoacousticParameters *pPsychParams, /* i : psychoacoustic parameters used to get the frequency bands */ - const float *scf_int, /* i : already interpolated SNS scalefactors */ - const int16_t L_frame /* i : frame length */ -); - -void sns_avq_cod( - const float *sns, /* i : Input sns vectors */ - const float *snsmid, /* i : Input mid-sns vectors */ - float *sns_q, /* o : Quantized LFS vectors */ - float *snsmid_q, /* o : Quantized mid-LFS vectors */ - int16_t *index, /* o : Quantization indices */ - const int16_t core, /* i : core */ - const int16_t low_brate_mode /* i : flag low bit operating mode */ -); - -void sns_avq_cod_stereo( - const float *snsl, /* i : Input sns vector (left channel) */ - const float *snsr, /* i : Input sns vector (right channel) */ - float *snsl_q, /* o : Quantized sns vector (left channel) */ - float *snsr_q, /* o : Quantized sns vector (right channel) */ - int16_t *indexl, /* o : Quantization indices (left channel) */ - int16_t *indexr /* o : Quantization indices (right channel) */ -); - -void sns_avq_dec( - int16_t *index, /* i : Quantization indices */ - float *SNS_Q, /* o : Quantized SNS vectors */ - const int16_t numlpc /* i : Number of sets of lpc */ -); - -void sns_avq_dec_stereo( - int16_t *indexl, /* i : Quantization indices (left channel) */ - int16_t *indexr, /* i : Quantization indices (right channe) */ - float *SNS_Ql, /* o : Quantized SNS vectors (left channel) */ - float *SNS_Qr /* o : Quantized SNS vectors (right channe) */ -); - -void convertToMS( - const int16_t L_frame, /* i : frame length */ - float x0[], /* i/o: mid/left channel coefficients */ - float x1[], /* i/o: side/right channel coefficients */ - const float norm_fac /* i : normalization factor */ -); - -void inverseMS( - const int16_t L_frame, /* i : frame length */ - float x0[], /* i/o: mid/left channel coefficients */ - float x1[], /* i/o: side/right channel coefficients */ - const float norm_fac /* i : normalization factor */ -); - -void stereoFdCngCoherence( - Encoder_State **sts, /* i/o: core encoder structures */ - const int16_t last_element_mode, /* i : last element mode */ - float fft_buff[CPE_CHANNELS][2 * L_FFT] /* i : fft buffers for L and R channels */ -); - -void FdCngEncodeMDCTStereoSID( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder state structure */ -); - -void FdCngDecodeMDCTStereoSID( - CPE_DEC_HANDLE hCPE /* i/o: CPE decoder state structure */ -); - -ivas_error initMdctStereoDtxData( - CPE_DEC_HANDLE hCPE /* i/o: CPE decoder handle */ -); - -void synchonize_channels_mdct_sid( - Decoder_State *sts[CPE_CHANNELS], /* i/o: decoder state structure */ - const int16_t n /* i : channel number */ -); - -void updateBuffersForDmxMdctStereo( - CPE_DEC_HANDLE hCPE, /* i/o: CPE handle */ - const int16_t output_frame, /* i : output frame length */ - float output[CPE_CHANNELS][L_FRAME48k], /* i/o: decoder output */ - float synth[CPE_CHANNELS][L_FRAME48k] /* i/o: decoder synthesis */ -); - -void applyDmxMdctStereo( - const CPE_DEC_HANDLE hCPE, /* i : CPE handle */ - float output[CPE_CHANNELS][L_FRAME48k], /* o : output from core decoder */ - const int16_t output_frame /* i : output frame length */ -); - - -/*----------------------------------------------------------------------------------* - * Front-VAD prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error front_vad_create( - FRONT_VAD_ENC_HANDLE *hFrontVad, /* i/o: front-VAD handle */ - const ENCODER_CONFIG_HANDLE hEncoderConfig /* i : configuration structure */ -); - -void front_vad_destroy( - FRONT_VAD_ENC_HANDLE *hFrontVad /* i/o: front-VAD handle */ -); - -ivas_error front_vad( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure, nullable */ - Encoder_State *st, /* i/o: encoder state structure */ - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - FRONT_VAD_ENC_HANDLE *hFrontVads, /* i/o: front-VAD handles */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int16_t input_frame, /* i : frame length */ - int16_t vad_flag_dtx[], /* o : HE-SAD flag with additional DTX HO */ - float fr_bands[][2 * NB_BANDS], /* i : energy in frequency bands */ - float Etot_LR[], /* o : total energy Left & Right channel */ - float lf_E[][2 * VOIC_BINS], /* i : per bin spectrum energy in lf, LR channels */ - int16_t localVAD_HE_SAD[], /* o : HE-SAD flag without hangover, LR channels */ - int16_t vad_hover_flag[], /* o : VAD hangover flag */ - float band_energies_LR[2 * NB_BANDS], /* o : energy in critical bands without minimum noise floor E_MIN */ - float *PS_out, /* o : energy spectrum */ - float *Bin_E_out /* o : log-energy spectrum of the current frame*/ -); - -ivas_error front_vad_spar( - SPAR_ENC_HANDLE hSpar, /* i/o: SPAR encoder structure */ - const float *omni_in, /* i : omnidirectional input signal */ - ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : encoder configuration handle */ - const int16_t input_frame /* i : input frame length */ -); - - -/*----------------------------------------------------------------------------------* - * Stereo CNG prototypes - *----------------------------------------------------------------------------------*/ - -void stereo_enc_cng_init( - STEREO_CNG_ENC_HANDLE hStereoCng /* i/o: stereo CNG encoder structure */ -); - -void stereo_cng_upd_counters( - STEREO_CNG_ENC_HANDLE hStereoCng, /* i/o: Stereo CNG data structure */ - const int32_t element_mode, /* i : element mode */ - const int16_t nbands, /* i : Number of bands in active */ - const float sidSideGain[], /* i : SID side gains */ - const int16_t burst_ho_count /* i : Hang-over count */ -#ifdef FIX_ITD_CNG - , - int16_t *coh_fade_counter /* i : Coherence fade counter */ -#endif -); - -void stereo_cng_init_dec( - STEREO_CNG_DEC_HANDLE hStereoCng, /* i/o: stereo CNG decoder structure */ - const int16_t *frameSize /* i : pointer to frameSize of channel 0 to be used for channel 1 */ -); - -void stereo_cng_compute_PScorr( - float output[CPE_CHANNELS][L_FRAME48k], /* i : Output signal */ - float *c_PS_LT, /* i/o: Correlation */ - const int16_t L_frame_0, /* i : L_frame channel 0 */ - const int16_t L_frame_1 /* i : L_frame channel 1 */ -); - -void stereo_cng_dec_update( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -void stereo_cna_update_params( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output[CPE_CHANNELS][L_FRAME48k], /* i : Output signal */ - const int16_t output_frame, /* i : Output frame length */ - const int16_t tdm_ratio_idx /* i : TDM ratio index */ -); - -void dtx_enc_init( - Encoder_State *st, /* i : Encoder state handle */ - const int16_t var_SID_rate_flag, /* i : flag for variable SID update rate */ - const int16_t interval_SID /* i : interval for SID update */ -); - - -/*----------------------------------------------------------------------------------* - * Framework general prototypes - *----------------------------------------------------------------------------------*/ - -void mvr2r_inc( - const float x[], /* i : input vector */ - const int16_t x_inc, /* i : increment for vector x[] */ - float y[], /* o : output vector */ - const int16_t y_inc, /* i : increment for vector y[] */ - const int16_t n /* i : vector size */ -); - -void v_add_inc( - const float x1[], /* i : Input vector 1 */ - const int16_t x_inc, /* i : Increment for input vector 1 */ - const float x2[], /* i : Input vector 2 */ - const int16_t x2_inc, /* i : Increment for input vector 2 */ - float y[], /* o : Output vector that contains vector 1 + vector 2 */ - const int16_t y_inc, /* i : increment for vector y[] */ - const int16_t N /* i : Vector length */ -); - -void v_mult_inc( - const float x1[], /* i : Input vector 1 */ - const int16_t x1_inc, /* i : Increment for input vector 1 */ - const float x2[], /* i : Input vector 2 */ - const int16_t x2_inc, /* i : Increment for input vector 1 */ - float y[], /* o : Output vector that contains vector 1 .* vector 2 */ - const int16_t y_inc, /* i : increment for vector y[] */ - const int16_t N /* i : Vector length */ -); - -void v_addc( - const float x[], /* i : Input vector */ - const float c, /* i : Constant */ - float y[], /* o : Output vector that contains c*x */ - const int16_t N /* i : Vector length */ -); - -void v_min( - const float x1[], /* i : Input vector 1 */ - const float x2[], /* i : Input vector 2 */ - float y[], /* o : Output vector that contains vector 1 .* vector 2 */ - const int16_t N /* i : Vector length */ -); - -void v_sqrt( - const float x[], /* i : Input vector */ - float y[], /* o : Output vector that contains sqrt(x) */ - const int16_t N /* i : Vector length */ -); - -/*! r: sum abs of all vector elements */ -float sumAbs( - const float *vec, /* i : input vector */ - const int16_t lvec /* i : length of input vector */ -); - -void mvc2c( - const uint8_t x[], /* i : input vector */ - uint8_t y[], /* o : output vector */ - const int16_t n /* i : vector size */ -); - -/*! r: the dot product x'*A*A'*x */ -float dot_product_cholesky( - const float *x, /* i : vector x */ - const float *A, /* i : Cholesky matrix A */ - const int16_t N /* i : vector & matrix size */ -); - -void v_mult_mat( - float *y, /* o : the product x*A */ - const float *x, /* i : vector x */ - const float *A, /* i : matrix A */ - const int16_t N, /* i : number of rows */ - const int16_t C /* i : number of columns */ -); - -/*! r: log(sum(exp(X)) of the input array X */ -float logsumexp( - const float X[], /* i : input array X */ - const int16_t N /* i : number of elements in array X */ -); - -/*! r: mapped output value */ -float lin_interp( - const float x, /* i : the value to be mapped */ - const float x1, /* i : source range interval: low end */ - const float y1, /* i : source range interval: high end */ - const float x2, /* i : target range interval: low */ - const float y2, /* i : target range interval: high */ - const int16_t flag_sat /* i : flag to indicate whether to apply saturation */ -); - -/*! r: Adjusted value */ -float check_bounds( - const float value, /* i : Input value */ - const float low, /* i : Low limit */ - const float high /* i : High limit */ -); - -/*! r: Adjusted value */ -int16_t check_bounds_s( - const int16_t value, /* i : Input value */ - const int16_t low, /* i : Low limit */ - const int16_t high /* i : High limit */ -); - -ivas_error stereo_memory_enc( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ - const int32_t input_Fs, /* i : input sampling rate */ - const int16_t max_bwidth, /* i : maximum audio bandwidth */ - float *tdm_last_ratio, /* o : TD stereo last ratio */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int16_t nchan_transport /* i : number transport chans */ - -); - -ivas_error stereo_memory_dec( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - CPE_DEC_HANDLE hCPE, /* i : CPE decoder structure */ - const int16_t nb_bits_metadata, /* i : number of metadata bits */ - const int32_t output_Fs, /* i : output sampling rate */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int16_t nchan_transport /* i : number of transport channels */ -); - -void stereo_switching_enc( - CPE_ENC_HANDLE hCPE, /* i : CPE structure */ - float old_input_signal_pri[], /* i : old input signal of primary channel */ - const int16_t input_frame /* i : input frame length */ -); - -void stereo_switching_dec( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -void stereo_td2dft_update( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const int16_t n, /* i : channel number */ - float output[], /* i/o: synthesis @internal Fs */ - float synth[], /* i/o: synthesis @output Fs */ - float hb_synth[], /* i/o: hb synthesis */ - const int16_t output_frame /* i : frame length */ -); - -void stereo_mdct2dft_update( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float output0[], /* i/o: synthesis @internal Fs, ch0 */ - float synth0[] /* i/o: synthesis @output Fs, ch0 */ -); - -/*! r: number of bits written */ -int16_t write_GR0( - BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ - const int16_t ind, /* i : bitstream index */ - const int16_t *in, /* i : data to be encoded */ - const int16_t len /* i : input data length */ -); - -/*! r: number of bits read */ -int16_t read_GR0( - const uint16_t *bit_stream, /* i : bitstream to be read */ - int16_t *ind, /* o : parameters read */ - const int16_t len /* i : number of params to be read */ -); - - -/*----------------------------------------------------------------------------------* - * MCT prototypes - *----------------------------------------------------------------------------------*/ - -void ivas_mdct_core_whitening_enc( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - float new_samples[CPE_CHANNELS][L_INP], /* i : new samples */ - float old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP */ - float pitch_buf[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe */ - float *mdst_spectrum_long[CPE_CHANNELS], /* o : buffer for MDST spectrum */ - int16_t tnsBits[CPE_CHANNELS][NB_DIV], /* o : buffer TNS bits */ - float *orig_spectrum_long[CPE_CHANNELS], /* o : origingal spectrum w/o whitening */ - int16_t tnsSize[CPE_CHANNELS][NB_DIV], /* o : size of TNS */ - int16_t p_param[CPE_CHANNELS][NB_DIV], /* o : pointer to parameter array */ - BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ - int16_t *LFE_off, /* o : flag if LFE has content */ - const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ - const int16_t nChannels /* i : total number of coded channels */ -); - -void ivas_mct_core_enc( - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - CPE_ENC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE encoder structures */ - const int16_t nChannels, /* i : number of channels to be coded */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t switch_bw, /* i : flag bandwidth switch occurance */ - const int16_t lfe_bits /* i : bits spent for LFE */ -#ifdef FIX_I1_113 - , - const int16_t sba_order /* i : Ambisonic (SBA) order */ -#endif -); - -void ivas_mdct_quant_coder( - CPE_ENC_HANDLE hCPE, /* i/o: Encoder CPE handle */ - const int16_t LFE_off, /* i : flag if LFE has content */ - int16_t tnsBits[CPE_CHANNELS][NB_DIV], /* i : bits needed for TNS parameters */ - int16_t tnsSize[CPE_CHANNELS][NB_DIV], /* i : size of TNS */ - int16_t p_param[CPE_CHANNELS][NB_DIV], /* i : pointer to parameter array */ - const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ -); - -void apply_MCT_enc( - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - Encoder_State **sts, /* i/o: encoder state structure */ - float *mdst_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i/o: MDST spectrum */ - float *inv_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i/o: inverse spectrum */ - float *inv_mdst_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i/o: inverse MDST spectrum */ - const int16_t nchan /* i : number of channels */ -); - -void write_mct_bitstream( - Encoder_State **sts, /* i/o: encoder state structure */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - const int16_t nchan /* i : number of channels */ -); - -void splitAvailableBitsMCT( - void **sts, /* i/o: encoder/decoder state structure */ - const int16_t total_bits, /* i : total number of available bits */ - const int16_t split_ratio[MCT_MAX_CHANNELS], /* i : ratio for splitting the bits */ - const int16_t enc_dec, /* i : encoder or decoder flag */ - const int16_t nchan /* i : number of channels */ -); - -void getChannelEnergies( - Encoder_State **sts, /* i : Encoder state structure */ - float nrg[MCT_MAX_CHANNELS], /* o : energies */ - const int16_t nchan /* i : number of channels */ -); - -void mctStereoIGF_enc( - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - Encoder_State **sts, /* i/o: encoder state structure */ - float *orig_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i : MDCT spectrum for ITF */ - float powerSpec[MCT_MAX_CHANNELS][L_FRAME48k], /* i/o: MDCT^2 + MDST^2 spectrum,or estimate */ - float *powerSpecMsInv[MCT_MAX_CHANNELS][NB_DIV], /* i : same as above but for inverse spect. */ - float *inv_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i : inverse spectrum */ - const int16_t sp_aud_decision0[MCT_MAX_CHANNELS] /* i : speech audio decision */ -); - -void ivas_mdct_dec_side_bits_frame_channel( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - int16_t param_lpc[MCT_MAX_CHANNELS][NPRM_LPC_NEW], /* o : lpc_parameters */ - int16_t p_param[CPE_CHANNELS][NB_DIV], /* o : pointer to param buffer */ - Decoder_State *st0, /* i : pointer to bitstream handle */ - int16_t *LFE_off, /* o : flag if LFE has content */ - int16_t nTnsBitsTCX10[CPE_CHANNELS][NB_DIV], /* o : number of bits for TNS */ - int16_t param[CPE_CHANNELS][DEC_NPRM_DIV * NB_DIV], /* i/o: parameters buffer */ - const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ - const int16_t odd_channel_cpe /* i : flag cpe with odd nb of tc channels */ -); - -void ivas_mct_side_bits( - MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ - CPE_DEC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE decoder structure */ - const int16_t nCPE, /* i : number of CPEs */ - Decoder_State *st0, /* i : decoder handle for Bstr */ - const int16_t bfi, /* i : BFI flag */ - uint16_t *bitstream, /* o : bitstream indices */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ -); - -void ivas_mdct_core_invQ( - CPE_DEC_HANDLE hCPE, /* i/o: CPE handle */ - const int16_t LFE_off, /* i : flag if LFE content */ - int16_t nTnsBitsTCX10[CPE_CHANNELS][NB_DIV], /* i : number of TNS bits */ - int16_t p_param[CPE_CHANNELS][NB_DIV], /* i : pointer to param buffer */ - int16_t param_lpc[CPE_CHANNELS][NPRM_LPC_NEW], /* i : lpc parameters */ - int16_t param[CPE_CHANNELS][DEC_NPRM_DIV * NB_DIV], /* i : param buffer */ - int16_t fUseTns[CPE_CHANNELS][NB_DIV], /* i : flag TNS enabled */ - STnsData tnsData[CPE_CHANNELS][NB_DIV], /* i : TNS parameter */ - float *x_0[CPE_CHANNELS][NB_DIV], /* i/o: signal buffer */ - float *x[CPE_CHANNELS][NB_DIV], /* i/o: signal buffer */ - float Aq[CPE_CHANNELS][( NB_SUBFR16k + 1 ) * ( M + 1 )], /* i : LP coefficients */ - int16_t ms_mask[NB_DIV][MAX_SFB], /* i : M/S mask */ - const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ -); - -void ivas_mdct_core_reconstruct( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - float *x[][NB_DIV], /* i/o: pointers to synthesis @internal_FS */ - float signal_outFB[CPE_CHANNELS][L_FRAME_PLUS], /* o : synthesis @output_FS */ - const int16_t LFE_off, /* i : flag if LFE content */ - int16_t fUseTns[CPE_CHANNELS][NB_DIV], /* i : flage TNS enabled */ - const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ -); - -void ivas_mdct_core_tns_ns( - CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ - const int16_t LFE_off, /* i : flag if LFE has content */ - int16_t fUseTns[CPE_CHANNELS][NB_DIV], /* i : two entries for each channel in TCX10 */ - STnsData tnsData[CPE_CHANNELS][NB_DIV], /* o : TNS parameter */ - float *x[CPE_CHANNELS][NB_DIV], /* o : synthesis @internal_FS */ - float Aq[CPE_CHANNELS][( NB_SUBFR16k + 1 ) * ( M + 1 )], /* o : LP coefficients */ - const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ -); - -void ivas_mct_core_dec( - MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ - CPE_DEC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE decoder structure */ - const int16_t nCPE, /* i : number of CPEs */ - float signal_out[][L_FRAME48k] /* o : synthesis @internal_FS */ -); - -void ivas_mct_dec_mct( - MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ - Decoder_State **sts, /* i/o: decoder state structure */ - const int16_t nchan /* i : number of channels */ -); - -void apply_MCT_dec( - MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ - Decoder_State **sts, /* i/o: decoder state structure */ - float *x[MCT_MAX_CHANNELS][NB_DIV] /* i/o: decoded and dequan. spect. input to MCT */ -); - -void mctStereoIGF_dec( - MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ - Decoder_State **sts, /* i/o: decoder state structure */ - float *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequantized spectrum */ - const int16_t bfi /* i : bad frame flag */ -); - -void ivas_mdct_tcx10_bit_distribution( - int16_t target_bitsTCX10[NB_DIV], /* o : target bit distribution */ - const int16_t bits_frame_channel, /* i : bits frame channel */ - const int16_t nTnsBitsTCX10[NB_DIV] /* i : TNS bits */ -); - -void enc_prm_igf_mdct( - Encoder_State *st, /* i : Encoder state handle */ - BSTR_ENC_HANDLE hBstr /* i/o: Bitstream handle */ -); - -void mdct_read_IGF_bits( - Decoder_State *st, /* i/o: Encoder state handle */ - Decoder_State *st0 /* i : pointer to handle where bstr is read */ -); - - -/*----------------------------------------------------------------------------------* - * Q Metadata prototypes for DirAC and MASA - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_qmetadata_enc_encode( - BSTR_ENC_HANDLE hMetaData, /* i/o: metadata bitstream handle */ - IVAS_QMETADATA *hQMetaData /* i/o: q_metadata handle */ -); - -void reset_metadata_spatial( - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ - const int32_t element_brate, /* i : element bitrate */ - int32_t *total_brate, /* o : total bitrate */ - const int32_t core_brate, /* i : core bitrate */ - const int16_t nb_bits_metadata, /* i : number of meatdata bits */ - const SBA_MODE sba_mode /* i : SBA mode */ -); - -/*! r: number of bits written */ -void ivas_qmetadata_enc_sid_encode( - BSTR_ENC_HANDLE hMetaData, /* i/o: metadata bitstream handle */ - IVAS_QMETADATA *q_metadata, /* i/o: metadata handle */ - const int16_t masa_sid_descriptor, /* i : description of MASA SID coding structure*/ - const int16_t ivas_format, /* i : ivas format */ - const SBA_MODE sba_mode /* i : SBA mode */ -); - -/*! r: number of bits read */ -int16_t ivas_qmetadata_dec_decode( - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - uint16_t *bitstream, /* i : bitstream */ - int16_t *index /* i/o: bitstream position */ -); - -/*! r: number of bits read */ -int16_t ivas_qmetadata_dec_sid_decode( - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - uint16_t *bitstream, /* i : bitstream */ - int16_t *index, /* i/o: bitstream position */ - const int16_t nchan_transport, /* i : number of transport channels */ - int16_t *element_mode, /* o : element mode */ - const int16_t ivas_format, /* i : IVAS format */ - const SBA_MODE sba_mode /* i : SBA mode */ -); - -void ivas_qmetadata_to_dirac( - const IVAS_QMETADATA_HANDLE hQMetaData, /* i : frame of MASA q_metadata */ - DIRAC_DEC_HANDLE hDirAC, /* o : DirAC decoder structure */ - MASA_DECODER_HANDLE hMasa, /* i : MASA decoder structure */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const SBA_MODE sba_mode, /* i : SBA mode */ - int16_t *dirac_to_spar_md_bands /* o : DirAC->SPAR MD bands */ -); - -ivas_error ivas_qmetadata_open( - IVAS_QMETADATA_HANDLE *hQMetaData /* i/o: q_metadata handle */ -); - -ivas_error ivas_qmetadata_allocate_memory( - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - const int16_t nbands, /* i : new number of frequency bands */ - const int16_t ndirs, /* i : new number of directions */ - const int16_t coherence_flag /* i : new coherence coding status */ -); - -void ivas_qmetadata_close( - IVAS_QMETADATA_HANDLE *hQMetaData /* i/o: q_metadata handle */ -); - -void restore_metadata_buffer( - BSTR_ENC_HANDLE hMetaData, - const int16_t next_ind_start, - const int16_t last_ind_start, - const int16_t bit_pos_start -); - -/* !r: codeword index */ -int16_t masa_sq( - const float in, /* i : input value */ - const float *threshold, /* i : partition */ - const int16_t cb_sz /* i : codebook size */ -); - -void ivas_qmetadata_azimuth_elevation_to_direction_vector( - const float az, /* i : azimuth */ - const float el, /* i : elevation */ - float *dv /* o : direction vector */ -); - -void ivas_qmetadata_direction_vector_to_azimuth_elevation( - const float *dv, /* i : direction vector */ - float *az, /* o : azimuth */ - float *el /* o : elevation */ -); - -ivas_error only_reduce_bits_direction( - int16_t *reduce_bits_out, - IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ - int16_t reduce_bits, - const int16_t coding_subbands, - const int16_t no_subframes, - int16_t *ind_order -); - -void quantize_direction_frame( - IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ - float azimuth_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], - float elevation_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES] -); - -/* !r: quantized spherical index */ -uint16_t quantize_direction( - const float theta, /* i : input elevation value */ - float phi, /* i : input azimuth value */ - const int16_t no_bits, /* i : number of bits */ - float *theta_q, /* o : quantized elevation */ - float *phi_q, /* o : quantized azimuth */ - uint16_t *index_theta, /* o : quantized elevation index */ - uint16_t *index_phi, /* o : quantized azimuth index */ - const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ -); - -int16_t quantize_direction2D( - float phi, /* i : input azimuth value */ - const int16_t no_cw, /* i : number of bits */ - float *phi_q, /* o : quantized azimuth value */ - uint16_t *index_phi, /* o : quantized azimuth index */ - const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ -); - -/* !r :companded azimuth value */ -float companding_azimuth( - const float azi, /* i : input azimuth value */ - const MC_LS_SETUP mc_format, /* i : input channel format */ - const int16_t theta_flag, /* i : zero/non zero elevation flag */ - const int16_t direction /* i : direction of companding (direct or inverse)*/ -); - -/* !r: index azimuth */ -int16_t quantize_phi_chan_lbr( - const float phi, /* i : azimuth value */ - float *phi_hat, /* o : quantized azimuth */ - const int16_t n /* i : azimuth codebook size */ -); - -/* !r: index azimuth */ -int16_t quantize_phi_chan_compand( - float phi, /* i : azimuth value */ - float *phi_hat, /* o : quantized azimuth */ - const int16_t n, /* i : azimuth codebook size */ - const int16_t theta_flag, /* i : flag signaling high elevation */ - const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ -); - -void quantize_direction_frame2D( - IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ - float azimuth_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : input azimuth values */ - float elevation_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES] /* i : input elevation values */ -); - -void small_requantize_direction_frame( - IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ - float azimuth_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : input azimuth values */ - float elevation_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : input elevation values */ - const int16_t raw_flag[MASA_MAXIMUM_CODING_SUBBANDS], /* i : raw/EC encoding mode for each subband */ - int16_t bits_dir_bands[MASA_MAXIMUM_CODING_SUBBANDS], /* i/o: number of bits per subband */ - int16_t *diff /* i/o: number of bits to be reduced */ -); - -/*!r : index azimuth */ -int16_t quantize_phi( - float phi, /* i : azimuth value */ - const int16_t flag_delta, /* i : flag indicating if the azimuth codebook is translated or not */ - float *phi_hat, /* o : quantized azimuth */ - const int16_t n /* i : azimuth codebook size */ -); - -/*! r: decoded elevation value */ -float deindex_elevation( - uint16_t *id_th, /* i : input index */ - const int16_t no_bits, /* i : number of bits for the spherical grid */ - const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ -); - -float deindex_azimuth( - int16_t id_phi, /* i : index */ - const int16_t no_bits, /* i : number of bits for the spherical grid */ - const int16_t id_th, /* i : elevation index */ - const int16_t remap, /* i : remapping flag */ - const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ -); - -void deindex_spherical_component( - const uint16_t sph_idx, /* i : spherical index */ - float *az, /* o : decoded azimuth value */ - float *el, /* o : decoded elevation value */ - uint16_t *az_idx, /* o : azimuth index */ - uint16_t *el_idx, /* o : elevation index */ - const uint16_t no_bits, /* i : number of bits for the spherical grid */ - const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ -); - -void small_reduction_direction( - IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ - uint16_t bits_dir[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : bit allocation in tF tiles */ - const int16_t raw_flag[MASA_MAXIMUM_CODING_SUBBANDS], /* i : raw/EC coding indicator for each subband*/ - int16_t *diff /* i/o: number of bits that need to be reduced */ -); - -uint16_t ivas_qmetadata_reorder_generic( - const int16_t signed_value -); - -int16_t ivas_qmetadata_dereorder_generic( - const uint16_t uns_value /* i : unsigned value to reorder */ -); - -/*! r: projected azimuth index */ -int16_t ivas_dirac_project_azimuth_index( - const int16_t az_idx, /* i : azimuth index */ - const int16_t az_alph, /* i : number of azimuth symbols */ - const int16_t az_alph_proj /* i : size of projected alphabet */ -); - -/*! r: projected elevation index */ -int16_t ivas_dirac_project_elevation_index( - const int16_t el_idx, /* i : elevation index */ - const int16_t el_alph, /* i : number of elevation symbols */ - const int16_t el_alph_proj /* i : size of projected alphabet */ -); - -/*! r: projected index in channel mode */ -int16_t ivas_chan_project_elevation_index( - const int16_t el_idx, /* i : elevation index */ - const int16_t el_alph, /* i : number of elevation symbols */ - const int16_t el_alph_proj /* i : size of projected alphabet */ -); - -void ivas_dirac_param_est_enc( - DIRAC_ENC_HANDLE hDirAC, - IVAS_QDIRECTION *q_direction, - const uint8_t useLowerRes, - float data_f[][L_FRAME48k], - float **pp_fr_real, - float **pp_fr_imag, - const int16_t input_frame - , - const SBA_MODE sba_mode - ); - -/*----------------------------------------------------------------------------------* - * SBA mode prototypes - *----------------------------------------------------------------------------------*/ - -/*! r: SBA format mode */ -SBA_MODE ivas_sba_mode_select( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -void ivas_sba_config( - const int32_t sba_total_brate, /* i : SBA total bitrate */ - int16_t sba_order, /* i : Ambisonic (SBA) order */ - int16_t nb_channels, /* i : Number of Ambisonic (SBA) channels */ - int16_t *nchan_transport, /* o : number of transport channels */ - const int16_t sba_planar, /* i : SBA planar flag */ - int16_t *nSCE, /* o : number of SCEs */ - int16_t *nCPE, /* o : number of CPEs */ - int16_t *element_mode /* o : element mode of the core coder */ -); -#ifdef SBA_BR_SWITCHING -ivas_error ivas_sba_dec_reinit( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); -#endif - -ivas_error ivas_sba_dec_reconfigure( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_init_dec_get_num_cldfb_instances( - Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ - int16_t *numCldfbAnalyses, /* o : number of CLDFB analysis instances */ - int16_t *numCldfbSyntheses /* o : number of CLDFB synthesis instances */ -); - -#ifdef BRATE_SWITCHING_RENDERING -ivas_error ivas_cldfb_dec_reconfig( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ - int16_t numCldfbAnalyses_old, /* i : number of CLDFB analysis instances in previous frame */ - const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ -); -#endif -/*! r: Ambisonic (SBA) order */ -int16_t ivas_sba_get_order( - const int16_t nb_channels, /* i : Number of ambisonic channels */ - const int16_t sba_planar /* i : SBA planar flag */ -); - -/*! r: Ambisonic (SBA) order used for analysis and coding */ -int16_t ivas_sba_get_analysis_order( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t sba_order /* i : Ambisonic (SBA) order */ -); - -int16_t ivas_sba_get_order_transport( - const int16_t nchan_transport /* i : Number of transport channels */ -); - -/*! r: number of Ambisonic channels */ -int16_t ivas_sba_get_nchan( - const int16_t sba_order, /* i : Ambisonic (SBA) order */ - const int16_t sba_planar /* i : SBA planar flag */ -); - -/*! r: number of ambisonics metadata channels */ -int16_t ivas_sba_get_nchan_metadata( - const int16_t sba_order /* i : Ambisonic (SBA) order */ -); - -/*! r: flag indicating to code SPAR HOA MD for all bands */ -int16_t ivas_sba_get_spar_hoa_md_flag( - const int16_t sba_order, /* i : Ambisonic (SBA) order */ - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -void ivas_sba_zero_vert_comp( - float sba_data[][L_FRAME48k], /* i/o: SBA data frame */ - const int16_t sba_order, /* i : Ambisonic (SBA) order */ - const int16_t sba_planar, /* i : SBA planar flag */ - const int16_t input_frame /* i : input frame length */ -); - -void ivas_sba_getTCs( - float sba_data[][L_FRAME48k], /* i : SBA signals */ - Encoder_Struct *st_ivas, /* i/o: Encoder struct */ - const int16_t input_frame /* i : frame length */ -); - -ivas_error ivas_sba_linear_renderer( - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t nchan_in, /* i : number of input ambisonics channels */ - const AUDIO_CONFIG output_config, /* i : output audio configuration */ - const IVAS_OUTPUT_SETUP output_setup, /* i : output format setup */ - const float hoa_dec_mtx[] /* i : HOA decoding mtx */ -); - -int16_t ivas_sba_remapTCs( - float sba_data[][L_FRAME48k], /* i/o: SBA signals */ - Decoder_Struct *st_ivas, /* i/o: decoder struct */ - const int16_t output_frame /* i : frame length */ -); - -void ivas_sba_dirac_stereo_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output[CPE_CHANNELS][L_FRAME48k], /* o : output synthesis signal */ - const int16_t output_frame /* i : output frame length per channel */ -); - -void ivas_sba_dirac_stereo_config( - STEREO_DFT_CONFIG_DATA_HANDLE hConfig /* o : DFT stereo configuration */ -); - -void ivas_sba_dirac_stereo_smooth_parameters( - STEREO_DFT_DEC_DATA_HANDLE hStereoDft /* i/o: encoder DFT stereo handle */ -); - -ivas_error ivas_sba_get_hoa_dec_matrix( - const IVAS_OUTPUT_SETUP hOutSetup, /* i : target output setup */ - float **hoa_dec_mtx, /* o : ALLRAD decoder matrix */ - const int16_t ambisonics_order /* i : Ambisonics order */ -); - -void ivas_sba_mtx_mult( - float output_f[][L_FRAME48k], /* i/o: synthesized core-corder transport channels/DirAC output */ - const int16_t output_frame, /* i : frame length per channel */ - const int16_t nchan_in, /* i : Number of ambisonic channels */ - const IVAS_OUTPUT_SETUP output_setup, /* i : Output configuration */ - const float *mtx_hoa_decoder /* o : HOA decoding matrix */ -); - -/*----------------------------------------------------------------------------------* - * DirAC prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_dirac_enc_open( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ -); - -ivas_error ivas_dirac_enc_reconfigure( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ -); - -void ivas_dirac_enc_close( - DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ - const int32_t input_Fs /* i : input sampling_rate */ -); - -void ivas_dirac_enc( - DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ - int16_t *nb_bits_metadata, /* o : number of metadata bits written */ - const int16_t Opt_DTX_ON, /* i : flag signaling DTX on */ - float data_f[][L_FRAME48k], /* i/o: SBA channels */ - const int16_t input_frame, /* i : input frame length */ - const int16_t sba_planar /* i : SBA planar flag */ -); - -ivas_error ivas_dirac_config( - void *st_ivas, /* i/o: IVAS encoder/decoder state structure */ - const int16_t enc_dec /* i : encoder or decoder flag */ -); - -void ivas_dirac_config_bands( - int16_t *band_grouping, /* o : band grouping */ - const int16_t nbands, /* i : number of bands */ - const int16_t max_band, /* i : maximal band index +1 */ - int16_t *dirac_to_spar_md_bands, /* o : mapping of DirAC parameter band index to SPAR FB band index */ - const int8_t useLowerBandRes, /* i : flag indicating lower band resolution for DirAC */ - const int16_t enc_param_start_band, /* i : band index of first DirAC parameter band */ - IVAS_FB_MIXER_HANDLE hFbMdft -); - -ivas_error ivas_dirac_sba_config( - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - int16_t *nchan_transport, /* o : number of transport channel needed for MASA format */ - int16_t *nSCE, /* o : number of SCEs */ - int16_t *nCPE, /* o : number of CPEs */ - int16_t *element_mode, /* o : element mode of the core coder */ - int32_t sba_total_brate, /* i : SBA total bitrate */ - const int16_t sba_order, /* i : Ambisonic (SBA) order */ - const SBA_MODE sba_mode, /* i : SBA mode */ - const int16_t nbands /* i : number of frequency bands */ -); - -ivas_error ivas_dirac_dec_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_dirac_dec_config( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const DIRAC_CONFIG_FLAG flag_configopen /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ -); - -void ivas_dirac_dec_close( - DIRAC_DEC_HANDLE hDirAC /* i/o: decoder DirAC handle */ -); - -void ivas_dirac_dec_read_BS( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - Decoder_State *st, /* i/o: decoder Core state structure */ - DIRAC_DEC_HANDLE hDirAC, /* i/o: decoder DirAC handle */ - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q metadata */ - int16_t *nb_bits, /* o : number of bits read */ - const SBA_MODE sba_mode, /* i : SBA mode */ - int16_t *dirac_to_spar_md_bands /* o : DirAC->SPAR MD bands */ -); - -void ivas_dirac_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ - const int16_t nchan_transport, /* i : number of transport channels */ - float *pppQMfFrame_ts_re[IVAS_MAX_FB_MIXER_IN_CH][CLDFB_NO_COL_MAX], - float *pppQMfFrame_ts_im[IVAS_MAX_FB_MIXER_IN_CH][CLDFB_NO_COL_MAX], - const int16_t i_sf -); - -ivas_error ivas_dirac_dec_init_binaural_data( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_dirac_dec_close_binaural_data( - DIRAC_DEC_BIN_HANDLE *hBinaural /* i/o: decoder DirAC binaural data handle */ -); - -void ivas_dirac_dec_binaural( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ - const int16_t nchan_transport /* i : number of transport channels */ -); - -ivas_error ivas_binaural_reverb_open( - REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ - const int16_t numBins, /* i : number of CLDFB bins */ - const int16_t numCldfbSlotsPerFrame, /* i : number of CLDFB slots per frame */ - ivas_roomAcoustics_t *roomAcoustics, /* i/o: room acoustics parameters */ - const AUDIO_CONFIG output_config, /* i : output audio configuration */ - const int32_t sampling_rate, /* i : sampling rate */ - const RENDERER_TYPE renderer_type /* i : renderer type */ -); - -void ivas_binaural_reverb_close( - REVERB_STRUCT_HANDLE *hReverb /* i/o: binaural reverb handle */ -); - -void ivas_binaural_reverb_setReverbTimes( - REVERB_STRUCT_HANDLE hReverb, /* i/o: binaural reverb handle */ - const int32_t output_Fs, /* i : sampling_rate */ - const float *revTimes, /* i : reverberation times T60 for each CLDFB bin in seconds */ - const float *revEnes /* i : spectrum for reverberated sound at each CLDFB bin */ -); - -void ivas_binaural_reverb_setPreDelay( - REVERB_STRUCT_HANDLE hReverb, /* i/o: binaural reverb handle */ - const int16_t delaySamples /* i : reverb pre-delay in CLDFB slots */ -); - -void ivas_binaural_reverb_processFrame( - REVERB_STRUCT_HANDLE hReverb, /* i/o: binaural reverb handle */ - const int16_t numInChannels, /* i : num input channels to be processed */ - float inReal[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : input CLDFB data real */ - float inImag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : input CLDFB data imag */ - float outReal[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : output CLDFB data real */ - float outImag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : output CLDFB data imag */ - const uint8_t offsetSamplesIO /* i : number of offset samples */ -); - -void computeDiffuseness_mdft( - float **buffer_intensity[DIRAC_NUM_DIMS], - const float *buffer_energy, - const int16_t num_freq_bands, - const uint16_t no_col_avg_diff, - float *diffuseness -); - -void computeDirectionVectors( - float *intensity_real_x, - float *intensity_real_y, - float *intensity_real_z, - const int16_t enc_param_start_band, - const int16_t num_frequency_bands, - float *direction_vector_x, - float *direction_vector_y, - float *direction_vector_z -); - -void computeDiffuseness( - float *buffer_intensity[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF], - const float *buffer_energy, - const int16_t num_freq_bands, - float *diffuseness -); - -void ivas_dirac_dec_onset_detection_open( - const int16_t num_channels, - const int16_t num_freq_bands, - const int16_t max_band_decorr, - DIRAC_ONSET_DETECTION_PARAMS *ph_dirac_onset_detection_params, - DIRAC_ONSET_DETECTION_STATE *ph_dirac_onset_detection_state -); - -void ivas_dirac_dec_onset_detection_process( - const float *input_power_f, - float *onset_filter, - const int16_t num_protos_diff, - DIRAC_ONSET_DETECTION_PARAMS h_dirac_onset_detection_params, - DIRAC_ONSET_DETECTION_STATE h_dirac_onset_detection_state -); - -void ivas_dirac_dec_decorr_open( - DIRAC_DECORR_PARAMS **ph_freq_domain_decorr_ap_params, - DIRAC_DECORR_STATE **ph_freq_domain_decorr_ap_state, - const int16_t num_freq_bands, - int16_t num_outputs_diff, - const int16_t num_protos_diff, - const DIRAC_SYNTHESIS_CONFIG synthesisConf, - float *frequency_axis, - const int16_t nchan_transport, /* i : number of transport channels */ - const int32_t output_Fs /* i : output sampling rate */ -); - -void ivas_dirac_dec_decorr_process( - const int16_t num_freq_bands, - int16_t num_channels, - const int16_t num_protos_diff, - const DIRAC_SYNTHESIS_CONFIG synthesisConf, - const int16_t nchan_transport, /* i : number of transport channels */ - const float *input_frame_f, - const int16_t num_protos_dir, - const int16_t *proto_index_dir, - float *frame_dec_f, - float *onset_filter, - HANDLE_DIRAC_DECORR_PARAMS h_freq_domain_decorr_ap_params, - HANDLE_DIRAC_DECORR_STATE h_freq_domain_decorr_ap_state -); - -void ivas_dirac_dec_decorr_close( - HANDLE_DIRAC_DECORR_PARAMS *ph_dirac_decorr_params, - HANDLE_DIRAC_DECORR_STATE *ph_dirac_decorr_state -); - - -void ivas_dirac_dec_output_synthesis_open( - DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ - const RENDERER_TYPE renderer_type, /* i : renderer type */ - const int16_t nchan_transport, /* i : number of transport channels */ - const int32_t output_Fs /* i : output sampling rate */ -); - -void ivas_dirac_dec_output_synthesis_init( - DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ - const int16_t nchan_out_woLFE /* i : number of output audio channels without LFE */ -); - -void ivas_dirac_dec_output_synthesis_close( - DIRAC_DEC_HANDLE hDirAC /* i/o: DirAC handle */ -); - -void ivas_dirac_dec_output_synthesis_process_slot( - const float *reference_power, /* i : Estimated power */ - const float *onset, /* i : onset filter */ - DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ - const float *p_Rmat, /* i : rotation matrix */ - const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ - const IVAS_OUTPUT_SETUP hOutSetup, /* i : output setup structure */ - const int16_t nchan_transport, /* i : number of transport channels */ - const int16_t index_slot -); - -void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( - float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ - float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ - DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ - const int16_t nchan_transport, /* i : number of transport channels */ - const float *onset_filter -); - -void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls( - float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ - float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ - DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ - float *reference_power_smooth, - float qualityBasedSmFactor -); - -void ivas_dirac_dec_get_response( - const int16_t azimuth, - const int16_t elevation, - float *response, - const int16_t ambisonics_order -); - -void compute_hoa_encoder_mtx( - const float *azimuth, - const float *elevation, - float *response, - const int16_t num_responses, - const int16_t ambisonics_order ); - -void ivas_dirac_dec_compute_gain_factors( - const int16_t num_freq_bands, - const float *diffuseness, - const int16_t max_band_decorr, - float *direct_gain_factor, - float *diffuse_gain_factor -); - -void ivas_dirac_dec_compute_power_factors( - const int16_t num_freq_bands, - const float *diffuseness, - const int16_t max_band_decorr, - float *direct_power_factor, - float *diffuse_power_factor -); - -void ivas_dirac_dec_compute_directional_responses( - DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ - const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ - const MASA_DECODER_HANDLE hMasa, /* i : MASA decoder structure */ - const int16_t direction_idx, /* i : index for direction (azi and ele) */ - const int16_t subframe_idx, /* i : subframe index */ - const float *surCohRatio, - const int16_t shd_rot_max_order, /* i : split-order rotation method */ - const float *p_Rmat /* i : rotation matrix */ -); - -void ivas_dirac_dec_get_frequency_axis( - float *frequency_axis, /* o : array of center frequencies of a real filter bank */ - const int32_t output_Fs, /* i : sampling frequency */ - const int16_t num_freq_bands ); /* i : number of frequency bands */ - -void ivas_param_mc_metadata_open( - const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ - const int16_t lfe_index, /* i : channel index of LFE */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC /* o : handle for the Parametric MC parameter coding state */ -); - -void ivas_param_mc_set_coded_bands( - HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC /* i/o: handle for the Parametric MC parameter coding state */ -); - -void ivas_param_mc_metadata_close( - HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC /* i/o: handle for the Parametric MC parameter coding state */ -); - -void ivas_param_mc_create_full_icc_mapping( - const int16_t n_channels, /* i : number of channels with LFE for the internal setup */ - const int16_t lfe_index, /* i : channel index of the LFE */ - int16_t *icc_map[2], /* o : map of all possible ICCs */ - int16_t *icc_map_size_full /* o : number of all possible ICCs */ -); - -/*! r: number of IVAS transport channels */ -int16_t ivas_param_mc_getNumTransportChannels( - const int32_t ivas_total_bitrate, /* i : IVAS total bitrate */ - const MC_LS_SETUP mc_ls_setup /* i : MC ls setup */ -); - -ivas_error ivas_param_mc_enc_open( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ -); - -void ivas_param_mc_enc_close( - PARAM_MC_ENC_HANDLE hParamMC, /* i/o: Parametric MC encoder handle */ - const int32_t input_Fs /* i : input sampling rate */ -); - -void ivas_param_mc_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS Encoder handle */ - BSTR_ENC_HANDLE hMetaData, /* i/o: IVAS Metadata bitstream handle */ - float data_f[][L_FRAME48k], /* i/o: input: CICP6, CICP12, CICP14, CICP16 or CICP19 MC data */ - const int16_t input_frame /* i : input frame length */ -); - -ivas_error ivas_param_mc_dec_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_param_mc_dec_close( - PARAM_MC_DEC_HANDLE *hParamMC /* i/o: Parametric MC decoder handle */ -); - -void ivas_param_mc_dec_read_BS( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - Decoder_State *st, /* i/o: decoder state structure */ - PARAM_MC_DEC_HANDLE hParamMC, /* i/o: decoder ParamMC handle */ - int16_t *nb_bits /* o : number of bits written */ -); - -void ivas_param_mc_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ -); - -void ivas_param_mc_default_icc_map( - const PARAM_MC_ICC_MAPPING * hIccMapping, /* i : handle to ICC mapping configuration */ - int16_t icc_map[PARAM_MC_SZ_ICC_MAP][2] /* o : copy of map from the configuration */ -); - -/*! r: number of cldfb synthesis instances */ -int16_t param_mc_get_num_cldfb_syntheses( - Decoder_Struct *st_ivas /* i : IVAS decoder structure */ -); - -/*! r: index into the ParamMC configuration tables */ -uint16_t ivas_param_mc_get_configuration_index( - const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ - const int32_t ivas_total_brate /* i : total bitrate */ -); - -int16_t matrix_product( - const float *X, /* i : left hand matrix */ - const int16_t rowsX, /* i : number of rows of the left hand matrix */ - const int16_t colsX, /* i : number of columns of the left hand matrix */ - const int16_t transpX, /* i : flag indicating the transposition of the left hand matrix prior to the multiplication */ - const float *Y, /* i : right hand matrix */ - const int16_t rowsY, /* i : number of rows of the right hand matrix */ - const int16_t colsY, /* i : number of columns of the right hand matrix */ - const int16_t transpY, /* i : flag indicating the transposition of the right hand matrix prior to the multiplication */ - float *Z /* o : resulting matrix after the matrix multiplication */ -); - -void mat2svdMat( - const float *mat, /* i : matrix as column ordered vector */ - float svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* o : matrix as two-dimensional arry */ - const int16_t nRows, /* i : number of rows of the matrix */ - const int16_t mCols, /* i : number of columns of the matrix */ - const int16_t transpose /* i : flag indication transposition */ -); - -void svdMat2mat( - float svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* i : matrix as two-dimensional arry */ - float *mat, /* o : matrix as column ordered vector */ - const int16_t nRows, /* i : number of rows of the matrix */ - const int16_t mCols /* i : number of columns of the matrix */ -); - -int16_t matrix_diag_product( - const float *X, /* i : left hand matrix */ - const int16_t rowsX, /* i : number of rows of the left hand matrix */ - const int16_t colsX, /* i : number of columns of the left hand matrix */ - const int16_t transpX, /* i : flag indicating the transposition of the left hand matrix prior to the multiplication */ - const float *Y, /* i : right hand diagonal matrix as vector containing the diagonal elements */ - const int16_t entriesY, /* i : number of entries in the diagonal */ - float *Z /* o : resulting matrix after the matrix multiplication */ -); - -int16_t diag_matrix_product( - const float *Y, /* i : left hand diagonal matrix as vector containing the diagonal elements */ - const int16_t entriesY, /* i : length of the diagonal of the left hand matrix */ - const float *X, /* i : right hand matrix */ - const int16_t rowsX, /* i : number of rows of the right hand matrix */ - const int16_t colsX, /* i : number of columns of the right hand matrix */ - const int16_t transpX, /* i : flag indicating the transposition of the right hand matrix prior to the multiplication */ - float *Z /* o : resulting matrix after the matrix multiplication */ -); - -int16_t matrix_product_diag( - const float *X, /* i : left hand matrix */ - const int16_t rowsX, /* i : number of rows of the left hand matrix */ - const int16_t colsX, /* i : number of columns of the left hand matrix */ - const int16_t transpX, /* i : flag indicating the transposition of the left hand matrix prior to the multiplication */ - const float *Y, /* i : right hand matrix */ - const int16_t rowsY, /* i : number of rows of the right hand matrix */ - const int16_t colsY, /* i : number of columns of the right hand matrix */ - const int16_t transpY, /* i : flag indicating the transposition of the right hand matrix prior to the multiplication */ - float *Z /* o : resulting matrix after the matrix multiplication */ -); - -void cmplx_matrix_square( - const float *realX, /* i : real part of the matrix */ - const float *imagX, /* i : imaginary part of the matrix */ - const int16_t mRows, /* i : number of rows of the matrix */ - const int16_t nCols, /* i : number of columns of the matrix */ - float *realZ, /* o : real part of the resulting matrix */ - float *imagZ /* o : imaginary part of the resulting matrix */ -); - -int16_t computeMixingMatrices( - const int16_t num_inputs, /* i : number of input channels */ - const int16_t num_outputs, /* i : number of output channels */ - const float *Cx, /* i : input channel covariance matrix */ - const float *Cy, /* i : target covariance matrix */ - const float *Q, /* i : prototype matrix (usually a upmix matrix) */ - const int16_t energy_compensation_flag, /* i : flag indicating that the energy compensation should be performed (i.e. no residual mixing matrix will follow) */ - const float reg_Sx, /* i : regularization factor for the input channel singular values */ - const float reg_ghat, /* i : regularization factor for the normalization matrix */ - float *mixing_matrix, /* o : resulting mixing matrix */ - float *Cr /* o : residual covariance matrix */ -); - -int16_t computeMixingMatricesResidual( - const int16_t num_outputs, /* i : number of output channels */ - const float *Cx, /* i : vector containing the diagonal diffuse prototype covariance */ - const float *Cy, /* i : matrix containing the missing cov (Cr from computeMixingMatrices()) */ - const float reg_Sx, /* i : regularization factor for the input channel singular values */ - const float reg_ghat, /* i : regularization factor for the normalization matrix */ - float *mixing_matrix /* o : resulting residual mixing matrix */ -); - -/* !r: error or success */ -int16_t svd( - float InputMatrix[][MAX_OUTPUT_CHANNELS], /* i : matrix to be decomposed (M) */ - float singularVectors_Left[][MAX_OUTPUT_CHANNELS], /* o : left singular vectors (U) */ - float singularValues[MAX_OUTPUT_CHANNELS], /* o : singular values vector (S) */ - float singularVectors_Right[][MAX_OUTPUT_CHANNELS], /* o : right singular vectors (V) */ - const int16_t nChannelsL, /* i : number of rows in the matrix to be decomposed */ - const int16_t nChannelsC /* i : number of columns in the matrix to be decomposed */ -); - -void ivas_dirac_dec_output_synthesis_cov_open( - DIRAC_OUTPUT_SYNTHESIS_PARAMS *h_dirac_output_synthesis_params, /* i/o: handle for the covariance synthesis parameters */ - DIRAC_OUTPUT_SYNTHESIS_COV_STATE *h_dirac_output_synthesis_state, /* i/o: handle for the covariance synthesis state */ - const int16_t max_band_decorr, /* i : uppermost frequency band where decorrelation is applied */ - const int16_t interp_length, /* i : length for interpolating the mixing matrices in time slots */ - const int16_t num_param_bands, /* i : number of parameter bands */ - const int16_t num_param_bands_residual, /* i : number of parameter bands with a residual mixing matrix (i.e. decorrelation */ - const int16_t nchan_in, /* i : number of input (transport) channels */ - const int16_t nchan_out, /* i : number of output channels */ - const float *proto_matrix /* i : the prototype (upmix) matrix (only used if mode == 1) */ -); - -void ivas_dirac_dec_output_synthesis_cov_init( - DIRAC_OUTPUT_SYNTHESIS_COV_STATE *h_dirac_output_synthesis_state, /* i/o: pointer to the state of the covariance synthesis */ - const int16_t nchan_in, /* i : number of input (tranport) channels */ - const int16_t nchan_out, /* i : number of output channels */ - const int16_t n_param_bands, /* i : number of total parameter bands */ - const int16_t n_param_bands_res /* i : number of parameter bands with a residual mixing matrix (i.e. decorrelation */ -); - -void ivas_dirac_dec_output_synthesis_cov_close( - DIRAC_OUTPUT_SYNTHESIS_PARAMS *h_dirac_output_synthesis_params, /* i : handle for the covariance synthesis parameters */ - DIRAC_OUTPUT_SYNTHESIS_COV_STATE *h_dirac_output_synthesis_state /* i/o: handle for the covariance synthesis state */ -); - -void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot( - float RealBuffer[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (real part) */ - float ImagBuffer[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (imaginary part */ - float cx[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], /* o : accumulated input covariance (real part) */ - float cx_imag[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], /* o : accumulated input covariance (imaginary part) */ - PARAM_MC_DEC_HANDLE hParamMC, /* i : handle to Parametric MC state */ - const int16_t nchan_in, /* i : number of input channels */ - const int16_t idx_slot /* i : index of the slot to be added to the input covariance */ -); - -void ivas_dirac_dec_output_synthesis_cov_param_mc_synthesise_slot( - float Cldfb_RealBuffer_in[][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (real part) */ - float Cldfb_ImagBuffer_in[][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (imaginary part) */ - float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : output channel filter bank samples (real part) */ - float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : output channel filter bank samples (imaginary part) */ - float mixing_matrix[PARAM_MC_MAX_PARAMETER_BANDS][MAX_CICP_CHANNELS * PARAM_MC_MAX_TRANSPORT_CHANS], /* i : parameter band wise mixing matrices (direct part) */ - float mixing_matrix_res[PARAM_MC_MAX_PARAMETER_BANDS_RES][MAX_CICP_CHANNELS * MAX_CICP_CHANNELS], /* i : parameter band wise mixing matrices (residual part) */ - const uint16_t slot_idx_sfr, /* i : time slot index for the current slot within the current subframe */ - const uint16_t slot_idx_tot, /* i : time slot index for the current slot within the frame */ - const int16_t nX, /* i : number of input channels */ - const int16_t nY, /* i : number of output channels */ - PARAM_MC_DEC_HANDLE hMetadataPMC /* i : handle to the Parametric MC decoder state */ -); - -int16_t computeMixingMatricesISM( - const int16_t num_inputs, - const int16_t num_responses, - const int16_t num_outputs, - const float *responses, - const float *ener, - const float *Cx_diag, - const float *Cy_diag, - const float *Q, - const int16_t energy_compensation_flag, - const float reg_Sx, - const float reg_ghat, - float *mixing_matrix -); - -void FdCngEncodeDiracMDCTStereoSID( - CPE_ENC_HANDLE hCPE /* i/o: CPE encoder state structure */ -); - -void FdCngDecodeDiracMDCTStereoSID( - CPE_DEC_HANDLE hCPE /* i/o: CPE decoder state structure */ -); - - -/*----------------------------------------------------------------------------------* - * SPAR prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_spar_enc_open( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ -); - -void ivas_spar_enc_close( - SPAR_ENC_HANDLE hSpar, /* i/o: SPAR encoder handle */ - const int32_t input_Fs, /* i : input sampling rate */ - const int16_t nchan_inp /* i : number of input channels */ -); - -ivas_error ivas_spar_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - float data_f[][L_FRAME48k], /* i/o: input/transport audio channels */ - const int16_t input_frame, /* i : input frame length */ - int16_t *nb_bits_metadata, /* i : number of MD bits written */ - BSTR_ENC_HANDLE hMetaData /* o : MetaData handle */ -); - -ivas_error ivas_spar_dec_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ -); - -void ivas_spar_dec_close( - SPAR_DEC_HANDLE hSpar, /* i/o: SPAR decoder handle */ - const int32_t output_Fs /* i : output sampling rate */ -); - -ivas_error ivas_spar_dec( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ - int16_t *nb_bits_read /* o : number of MD bits read */ -); - -void ivas_spar_config( - int32_t ivas_total_brate, /* i : codec total bitrate */ - const int16_t sba_order, /* i : Ambisonic (SBA) order */ - int16_t *nchan_transport, /* o : number of transport channels */ - int16_t *nSCE, /* o : number of SCEs */ - int16_t *nCPE, /* o : number of CPEs */ - int32_t *core_nominal_brate, /* o : core-coding nominal bitrate */ - const int16_t sid_format /* i : IVAS format indicator from SID frame */ -); - -void ivas_sba_upmixer_renderer( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ - float output[][L_FRAME48k], /* i/o: transport/output audio channels */ - const int16_t output_frame /* i : output frame length */ -); - -void ivas_sba_mix_matrix_determiner( - SPAR_DEC_HANDLE hSpar, /* i/o: SPAR decoder handle */ - float output[][L_FRAME48k], /* i/o: transport/output audio channels */ - const int16_t bfi, /* i : BFI flag */ - const int16_t nchan_remapped, /* i : num channels after remapping of TCs */ - const int16_t output_frame /* i : output frame length */ -); - -void ivas_sba_prototype_renderer( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ - float inRe[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, real */ - float inIm[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, imag */ - const int16_t firstSubframe, /* i : First subframe to map */ - const int16_t nSubframes /* i : Number of subframes to map */ -); - -/* AGC */ -/*! r: AGC enable flag */ -int16_t ivas_agc_enc_get_flag( -#ifdef DEBUG_AGC_ENCODER_CMD_OPTION - int16_t agc_configuration, /* i : AGC configuration from command-line */ -#endif - int16_t nchan_transport /* i : number of transport channels */ -); - -ivas_error ivas_spar_agc_enc_open( - ivas_agc_enc_state_t **hAgcEnc, /* i/o: AGC decoder handle */ - const int32_t input_Fs, /* i : input sampling rate */ - const int16_t nchan_inp /* i : number of input channels */ -); - -void ivas_spar_agc_enc_close( - ivas_agc_enc_state_t **hAgcEnc /* i/o: AGC encoder handle */ -); - -void ivas_agc_enc_process( - ivas_agc_enc_state_t *hAgcEnc, /* i/o: AGC encoder handle */ - BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle */ - float **ppPcm_in, /* i : input audio channels */ - float **ppPcm_out, /* o : output audio channels */ - const int16_t n_channels, /* i : number of channels */ - const ENCODER_CONFIG_HANDLE hEncoderConfig /* i : configuration structure */ -); - -ivas_error ivas_spar_agc_dec_open( - ivas_agc_dec_state_t **hAgcDec, /* i/o: AGC decoder handle */ - const int32_t output_Fs /* i : output sampling rate */ -); - -void ivas_spar_agc_dec_close( - ivas_agc_dec_state_t **hAgcDec /* i/o: AGC decoder handle */ -); - -void ivas_agc_dec_process( - ivas_agc_dec_state_t *hAgcDec, /* i/o: AGC decoder handle */ - float pcm_in[][L_FRAME48k], /* i : input audio channels */ - float pcm_out[][L_FRAME48k], /* o : output audio channels */ - const int16_t n_channels, /* i : number of channels */ - const int16_t output_Fs /* i : output sampling rate */ -); - -void ivas_agc_read_bits( - ivas_agc_dec_state_t *hAgcDec, /* i/o: AGC decoder handle */ - Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ - const int16_t n_channels, /* i : number of channels */ - const int16_t AGC_flag /* i : AGC on/off flag */ -); - -void ivas_agc_initWindowFunc( - float *pWinFunc, - const int16_t length -); - -void ivas_agc_calcGainParams( - uint16_t *absEmin, - uint16_t *betaE, - uint16_t *maxAttExp, - const int16_t numCoeffs -); - -float ivas_get_mdct_scaling_gain( - const int16_t dct_len_by_2 -); - -void ivas_get_twid_factors( - const int16_t length, - const float **pTwid_re, - const float **pTwid_im -); - -int16_t ivas_get_bw_idx_from_sample_rate( - const int32_t sampling_rate /* i : sampling rate */ -); - -/* !r: config. table index */ -int16_t ivas_get_spar_table_idx( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t sba_order, /* i : IVAS SBA order */ - const int16_t bwidth, /* i : audio bandwidth */ - int16_t *bitlen, /* o : number of bits */ - int16_t *ind /* o : indice */ -); - -/*! r: number of transport channels */ -int16_t ivas_get_sba_num_TCs( - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t sba_order /* i : IVAS SBA order */ -); - -void ivas_spar_set_bitrate_config( - ivas_spar_md_com_cfg *pSpar_md_cfg, /* i/o: SPAR MD config. handle */ - const int16_t table_idx, /* i : config. table index */ - const int16_t num_bands /* i : number of bands */ -); - -#ifdef FIX_I1_113 -void ivas_spar_bitrate_dist( - int32_t core_brates_act[], /* o : bitrates per core-coder */ - const int16_t nAvailBits, /* i : number of available bits */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t sba_order, /* i : Ambisonic (SBA) order */ - const int16_t bwidth /* i : audio bandwidth */ -); -#endif - -void ivas_mdct( const float *pIn, float *pOut, const int16_t length ); -void ivas_dct_windowing( const int16_t fade_len, const int16_t full_len, const int16_t dct_len, const int16_t zero_pad_len, const float *pWindow_coeffs, const int16_t frame_len, float *pOut_buf, float *pBuffer_prev, float *pTemp_lfe ); -void ivas_tda( const float *pIn, float *pOut, const int16_t length ); -void ivas_imdct( const float *pIn, float *pOut, const int16_t length ); -void ivas_itda( const float *re, float *pOut, const int16_t length ); - -void ivas_spar_get_cldfb_gains( - SPAR_DEC_HANDLE hSpar, - HANDLE_CLDFB_FILTER_BANK cldfbAnaDec0, - HANDLE_CLDFB_FILTER_BANK cldfbSynDec0, - const DECODER_CONFIG_HANDLE hDecoderConfig -); - -/* !r: 1 if prediction residual channel */ -int16_t ivas_is_res_channel( - const int16_t ch, /* i : ch index in WYZX ordering */ - const int16_t nchan_transport /* i : number of transport channels (1-4) */ -); - -void ivas_spar_dec_upmixer( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - float output[][L_FRAME48k], /* i/o: input/output audio channels */ - const int16_t nchan_internal, /* i : number of internal channels */ - const int16_t output_frame /* i : output frame length */ -); - -/* MD module */ -ivas_error ivas_spar_md_enc_open( - ivas_spar_md_enc_state_t **hMdEnc, /* i/o: SPAR MD encoder handle */ - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - const int16_t sba_order /* i : Ambisonic (SBA) order */ -); - -void ivas_spar_md_enc_close( - ivas_spar_md_enc_state_t **hMdEnc /* i/o: SPAR MD encoder handle */ -); - -ivas_error ivas_spar_md_enc_process( - ivas_spar_md_enc_state_t *hMdEnc, /* i/o: SPAR MD encoder handle */ - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle */ - const int16_t dtx_vad, - const int16_t nchan_inp, - const int16_t sba_order /* i : Ambisonic (SBA) order */ -); - -void ivas_compute_spar_params( - float *pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - float dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], - const int16_t i_ts, - float ***mixer_mat, - const int16_t start_band, - const int16_t end_band, - const int16_t dtx_vad, - const int16_t num_ch, - const int16_t bands_bw, - const int16_t active_w, - ivas_spar_md_com_cfg *hSparCfg, - ivas_spar_md_t *hSparMd, - float *pWscale, - const int16_t from_dirac -); - -void ivas_create_fullr_dmx_mat( - float pred_coeffs_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], - float dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], - float ***mixer_mat, - const int16_t in_chans, - const int16_t start_band, - const int16_t end_band, - const int16_t active_w, - ivas_spar_md_com_cfg *hMdCfg -); - -void ivas_calc_c_p_coeffs( - ivas_spar_md_t *pSparMd, - float *pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - const int16_t i_ts, - float ***mixer_mat, - const int16_t num_ch, - const int16_t num_dmx, - const int16_t band_idx, - const int16_t dtx_vad, - const int16_t compute_p_flag, - const int16_t planarCP -); - -void ivas_get_spar_md_from_dirac( - float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], - float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], - float diffuseness[IVAS_MAX_NUM_BANDS], - const int16_t n_ts, - float ***mixer_mat, - ivas_spar_md_t *hSpar_md, - ivas_spar_md_com_cfg *hSpar_md_cfg, - const int16_t start_band, - const int16_t end_band, - const int16_t order, - const int16_t dtx_vad, - float Wscale_d[IVAS_MAX_NUM_BANDS] -); - -ivas_error ivas_spar_md_dec_open( - ivas_spar_md_dec_state_t **hMdDec_out, /* i/o: SPAR MD decoder handle */ - const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ - const int16_t num_channels, /* i : number of internal channels */ - const int16_t sba_order /* i : SBA order */ -); - -void ivas_spar_md_dec_close( - ivas_spar_md_dec_state_t **hMdDec /* i/o: SPAR MD decoder handle */ -); - -void ivas_spar_get_parameters( - SPAR_DEC_HANDLE hSpar, /* i/o: SPAR decoder handle */ - const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ - const int16_t ts, /* i : time slot index */ - const int16_t num_ch_out, /* i : number of channels out */ - const int16_t num_ch_in, /* i : number of channels in */ - const int16_t num_spar_bands, /* i : number of SPAR bands */ - float par_mat[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH][IVAS_MAX_NUM_BANDS] /* o : mixing matrix */ -); - -ivas_error ivas_spar_md_dec_init( - ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ - const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ - const int16_t num_channels, /* i : number of internal channels */ - const int16_t sba_order /* i : SBA order */ -); - -void ivas_spar_md_dec_process( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ - const int16_t num_bands_out, /* i : number of output bands */ - const int16_t sba_order /* i : SBA order */ -); - -void ivas_spar_to_dirac( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ - const int16_t dtx_vad, /* i : DTX frame flag */ - const int16_t num_bands_out /* i : number of output bands */ -); - -void ivas_spar_update_md_hist( - ivas_spar_md_dec_state_t *hMdDec /* i/o: SPAR MD decoder handle */ -); - -void ivas_spar_smooth_md_dtx( - ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ - const int16_t num_bands_out /* i : number of output bands */ -); - -void ivas_spar_setup_md_smoothing( - ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ - const int16_t num_bands_out /* i : number of output bands */ -); - -void ivas_spar_dec_gen_umx_mat( - ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ - const int16_t nchan_transport, /* i : number of transport channels */ - const int16_t num_bands_out, /* i : number of output bands */ - const int16_t bfi /* i : bad frame indicator */ -); - -/* Covariance module */ -ivas_error ivas_spar_covar_enc_open( - ivas_enc_cov_handler_state_t **hCovEnc, /* i/o: SPAR Covar. encoder handle */ - ivas_filterbank_t *pFb, /* i/o: FB handle */ - const int32_t input_Fs, /* i : input sampling rate */ - const int16_t nchan_inp /* i : number of input channels */ -); - -void ivas_spar_covar_enc_close( - ivas_enc_cov_handler_state_t **hCovEnc, /* i/o: SPAR Covar. encoder handle */ - const int16_t nchan_inp /* i : number of input channels */ -); - -void ivas_enc_cov_handler_process( - ivas_enc_cov_handler_state_t *hCovEnc, /* i/o: SPAR Covar. encoder handle */ - float **ppIn_FR_real, - float **ppIn_FR_imag, - float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - ivas_filterbank_t *pFb, /* i/o: FB handle */ - const int16_t start_band, - const int16_t end_band, - const int16_t nchan_inp, - const int16_t dtx_vad, - const int16_t transient_det -); - -ivas_error ivas_spar_covar_smooth_enc_open( - ivas_cov_smooth_state_t **hCovState, /* i/o: SPAR Covar. smoothing handle */ - const ivas_cov_smooth_cfg_t *cov_smooth_cfg, /* i : SPAR config. handle */ - ivas_filterbank_t *pFb, /* i/o: FB handle */ - const int16_t nchan_inp /* i : number of input channels */ -); - -void ivas_spar_covar_smooth_enc_close( - ivas_cov_smooth_state_t **hCovState, /* i/o: SPAR Covar. encoder handle */ - const int16_t nchan_inp /* i : number of input channels */ -); - -void ivas_cov_smooth_process( - ivas_cov_smooth_state_t *hCovState, /* i/o: Covariance state handle */ - float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], - ivas_filterbank_t *pFb, /* i/o: FB handle */ - const int16_t start_band, - const int16_t end_band, - const int16_t num_ch, - const int16_t transient_det -); - -/* Transient detector module */ -ivas_error ivas_spar_transient_det_open( - ivas_trans_det_state_t **hTranDet, /* i/o: SPAR TD handle */ - const int32_t sampling_rate /* i : sampling rate */ -); - -void ivas_spar_transient_det_close( - ivas_trans_det_state_t **hTranDet /* i/o: SPAR TD handle */ -); - -int16_t ivas_transient_det_process( - ivas_trans_det_state_t *hTranDet, /* i/o: SPAR TD handle */ - float *pIn_pcm, /* i : input audio channels */ - const int16_t frame_len /* i : frame length in samples */ -); - -void ivas_td_decorr_get_ducking_gains( - ivas_trans_det_state_t *hTranDet, /* i/o: SPAR TD handle */ - float *pIn_pcm, - float *pIn_duck_gains, - float *pOut_duck_gains, - const int16_t frame_len, - const int16_t tdet_flag -); - -ivas_error ivas_spar_td_decorr_dec_open( - ivas_td_decorr_state_t **hTdDecorr, /* i/o: SPAR Covar. decoder handle */ - const int32_t output_Fs, /* i : output sampling rate */ - const int16_t nchan_internal, /* i : number of internal channels */ - const int16_t ducking_flag /* i : ducking flag */ -); - -void ivas_spar_td_decorr_dec_close( - ivas_td_decorr_state_t **hTdDecorr /* i/o: SPAR Covar. decoder handle */ -); - -void ivas_td_decorr_process( - ivas_td_decorr_state_t *hTdDecorr, /* i/o: SPAR Covar. decoder handle */ - float pcm_in[][L_FRAME48k], /* i : input audio channels */ - float **ppOut_pcm, /* o : output audio channels */ - const int16_t output_frame /* i : output frame length */ -); - - -#define IVAS_CMULT_FLOAT( in1_re, in1_im, in2_re, in2_im, out1_re, out1_im ) \ - out1_re = ( in1_re * in2_re ) - ( in1_im * in2_im ); MAC(1); MULT(1); \ - out1_im = ( in1_re * in2_im ) + ( in2_re * in1_im ); MAC(1); MULT(1); - -#define IVAS_CALCULATE_ABS( re, im, out ) \ - out = (float) sqrt( ( re * re ) + ( im * im ) ); MAC(1); MULT(1); SQRT(1); - -#define IVAS_CALCULATE_RABS( re, out ) \ - out = (float) sqrt( re * re ); MULT(1); SQRT(1); - -#define IVAS_CALCULATE_SQ_ABS( re, im, out ) \ - out = (float) ( ( re * re ) + ( im * im ) ); MAC(1); MULT(1); - -#define IVAS_RMULT_DOUBLE( in1_re, in2_re, out1_re ) \ - out1_re = ( in1_re * in2_re ); DMULT(1); \ - -#define IVAS_CALCULATE_SQ_ABS_N( re, out ) \ - out = (float) ( re * re ); MULT(1); - -#define IVAS_RMULT_FLOAT( in1_re, in2_re, out1_re ) \ - out1_re = ( in1_re * in2_re ); MULT(1); - - -/* PCA */ -void ivas_pca_enc_init( - PCA_ENC_STATE *hPCA /* i/o: PCA encoder structure */ -); - -void ivas_pca_enc( - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - PCA_ENC_STATE *hPCA, /* i : PCA encoder structure */ - BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle */ - float *data_f[8], /* i : input/transformed audio channels */ - const int16_t input_frame, /* i : input frame length */ - const int16_t n_channels /* i : number of channels */ -); - -void ivas_pca_read_bits( - Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ - PCA_DEC_STATE *hPCA /* i/o: PCA encoder structure */ -); - -void ivas_pca_dec_init( - PCA_DEC_STATE *hPCA /* i/o: PCA decoder structure */ -); - -void ivas_pca_dec( - PCA_DEC_STATE *hPCA, /* i/o: PCA decoder structure */ - const int16_t n_samples, /* i : output frame length */ - const int16_t n_channels, /* i : number of channels */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int32_t last_ivas_total_brate, /* i : last IVAS total bitrate */ - const int16_t bfi, /* i : bad frame indicator */ - float pcm_out[][L_FRAME48k] /* o : output audio channels */ -); - -/* PCA utilities */ -void eye_matrix( - float *mat, - const int16_t n, - const float d -); - -void cov_subfr( - float **ptr_sig, - float *r, - const int16_t n_channels, - const int16_t len -); - -void eig_qr( - const float *A, - const int16_t num_iter, - float *EV, float *Vals, - const int16_t n -); - -void exhst_4x4( - float *cost_mtx, - int16_t *path, - const int16_t maximize -); - -float mat_det4( - const float *m -); - -/* quaternion utilities */ -void mat2dquat( - const float *a, - float *ql, - float *qr -); - -void dquat2mat( - const float *ql, - const float *qr, - float *m -); - -void quat_shortestpath( - const float *q00, - float *q01, - const float *q10, - float *q11 -); - -void pca_interp_preproc( - const float *prev_ql, - const float *prev_qr, - const float *ql, - const float *qr, - const int16_t len, - float *ql_interp, - float *qr_interp -); - -void pca_enc_s3( - float *q, - int32_t *index -); - -void pca_dec_s3( - const int32_t index, - float *q -); - -int16_t ivas_get_bits_to_encode( - int32_t val -); - -void ivas_huffman_encode( ivas_huffman_cfg_t *huff_cfg, int16_t in, int16_t *hcode, int16_t *hlen ); -void ivas_spar_huff_coeffs_com_init( ivas_huff_coeffs_t *pHuff_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); -void ivas_spar_arith_coeffs_com_init( ivas_arith_coeffs_t *pArith_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); -void ivas_arith_encode_cmplx_cell_array(ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, const int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_old_re, ivas_cell_dim_t *pCell_dims, BSTR_ENC_HANDLE hMetaData, const int16_t any_diff); -ivas_error ivas_huffman_decode( ivas_huffman_cfg_t *huff_cfg, Decoder_State *st0, int16_t *dec_out ); -void ivas_arith_decode_cmplx_cell_array( ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, Decoder_State *st0, ivas_cell_dim_t *pCell_dims, int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_re_old ); - -void ivas_ari_start_decoding_14bits_ext_1_lfe( Decoder_State *st, Tastat *s, int16_t *extra_bits_read ); -uint16_t ivas_ari_decode_14bits_bit_ext_1_lfe( Decoder_State *st, Tastat *s, const uint16_t *cum_freq, int16_t *extra_bits_read ); -void ivas_ari_done_decoding_14bits_ext_1_lfe( Decoder_State *st, const int16_t extra_bits_read ); -void ivas_ari_done_encoding_14bits( BSTR_ENC_HANDLE hBstr, Tastat *s ); -void ivas_ari_encode_14bits_ext( BSTR_ENC_HANDLE hBstr, Tastat *s, int32_t symbol, const uint16_t *cum_freq ); - -void ivas_wrap_arround( int16_t *pArr, const int16_t min_val, const int16_t max_val, const int16_t length ); -void ivas_get_cum_freq_model( const int16_t *pFreq_model, const int16_t length, int16_t *pCum_freq_model ); -int16_t ivas_map_num_pred_r_to_idx( const int16_t num_quant_points_pred_r, const int16_t active_w_flag ); -int16_t ivas_map_num_drct_r_to_idx( const int16_t num_quant_points_drct_r ); -int16_t ivas_map_num_decd_r_to_idx( const int16_t num_quant_points_decd_r ); - -/* Quantization utilities */ -void ivas_quantise_real_values( - const float *values, - const int16_t q_levels, - const float min_value, - const float max_value, - int16_t *index, - float *quant, - const int16_t dim -); - - -void ivas_spar_get_uniform_quant_strat( - ivas_spar_md_com_cfg *pSpar_md_com_cfg, - const int16_t table_idx -); - -void ivas_spar_quant_dtx_init( - ivas_spar_md_t *spar_md, - float *min_max -); - -void ivas_map_prior_coeffs_quant( - ivas_spar_md_prev_t *pSpar_md_prior, - ivas_spar_md_com_cfg *pSpar_md_cfg, - const int16_t qsi, - const int16_t nB -); - -void ivas_copy_band_coeffs_idx_to_arr( - ivas_band_coeffs_ind_t *pBands_idx, - const int16_t nB, - int16_t *pSymbol_re, - ivas_cell_dim_t *pCell_dims, - const ivas_coeffs_type_t coeff_type, - const int16_t planarCP -); - -void ivas_clear_band_coeffs( - ivas_band_coeffs_t *pband_coeffs, - const uint16_t num_bands -); - -void ivas_clear_band_coeff_idx( - ivas_band_coeffs_ind_t *pband_coeff_idx, - const uint16_t num_bands -); - - -/*----------------------------------------------------------------------------------* - * MASA prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_masa_dec_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ -); - -void ivas_masa_dec_close( - MASA_DECODER_HANDLE hMasa /* i/o: MASA metadata structure */ -); - -ivas_error ivas_masa_decode( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ - Decoder_State *st, /* i/o: decoder state structure */ - int16_t *nb_bits_read /* o : number of bits read */ -); - -void generate_gridEq( - SPHERICAL_GRID_DATA *data /* o : data structure for grid */ -); - -ivas_error ivas_masa_enc_open( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ -); - -void ivas_masa_enc_close( - MASA_ENCODER_HANDLE hMasa, /* i/o: MASA metadata structure */ - const int16_t nchan_transport, /* i : Number of transport channels */ - const IVAS_FORMAT ivas_format /* i : IVAS format */ -); - -void ivas_masa_enc_reconfigure( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -ivas_error ivas_masa_dec_reconfigure( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_masa_encode( - MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder structure */ - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ - int16_t *nb_bits_metadata, /* o : number of metadata bits written */ - const int16_t nchan_transport, /* i : number of MASA input/transport channels */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t Opt_DTX_ON, /* i : DTX on flag */ - const int16_t element_mode /* i : element mode */ -); - -void ivas_masa_estimate_energy( - MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder structure */ - float data_f[][L_FRAME48k], /* i : Input audio channels */ - const int16_t input_frame, /* i : frame length */ - const int16_t nchan_transport /* i : number of MASA input/transport channels */ -); - -ivas_error ivas_masa_enc_config( - Encoder_Struct* st_ivas /* i/o: IVAS encoder structure */ -); - -void ivas_masa_set_elements( - const int32_t ivas_total_brate, /* i : codec total bitrate */ - const int16_t mc_mode, /* i : MC format mode */ - const int16_t nchan_transport, /* i : number of MASA input/transport channels */ - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ - int16_t *element_mode, /* o : element mode */ - int16_t *nSCE, /* o : number of SCEs */ - int16_t *nCPE /* o : number of CPEs */ -); - -void ivas_masa_set_coding_config( - MASA_CODEC_CONFIG* config, /* i/o: MASA coding config structure */ - int16_t* band_mapping, /* o : Band mapping used */ - const int32_t ivas_total_brate, /* i : codec total bitrate */ - const int16_t nchan_transport, /* i : number of transport channel (mono/stereo) */ - const uint8_t isMcMasa /* i : toggle for selecting McMASA specific config */ -); - -/*! r: Surround coherence significant flag */ -uint8_t ivas_masa_surrcoh_signicant( - float surroundingCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* i : Surround coherence */ - float diffuse_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* i : Diffuse to total ratio */ - const int16_t nSubFrames, /* i : Number of sub frames */ - const int16_t nBands /* i : Number of frequency bands */ -); - -void masa_compensate_two_dir_energy_ratio_index( - const int16_t ratio_index_1, /* i : Input ratio for direction 1 */ - const int16_t ratio_index_2, /* i : Input ratio for direction 2 */ - int16_t *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ - int16_t *ratio_index_mod2 /* o : Output modified ratio for direction 2 */ -); - -void ivas_set_qmetadata_maxbit_req( - IVAS_QMETADATA_HANDLE hQMetaData, /* o : qmetadata structure where the requirement value is set */ - const IVAS_FORMAT ivas_format /* i : IVAS format */ -); - -/*! r: Bits to be used for quantizing distribution ratio of direct-to-total ratios */ -int16_t ivas_get_df_ratio_bits( - int16_t index_diff /* i : Index of quantized diffuse-to-total ratio */ -); - -void masa_sample_rate_band_correction( - MASA_CODEC_CONFIG *config, /* i/o: MASA codec config */ - int16_t *band_mapping, /* i/o: Band mapping used and modified */ - IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: QMetadata structure for modification */ - const int32_t sampling_rate /* i : sampling rate */ -); - -void invdct4_transform( - float *v, /* i : input vector */ - uint8_t *invdct_v /* o : transformed vector */ -); - -void update_bits_next_block( - IVAS_QDIRECTION *q_direction, /* i/o: qdirection */ - int16_t *p_diff, /* i/o: bits to be transferred */ - const int16_t j, /* i : current subband index */ - const int16_t max_i, /* i : max number of subands */ - const int16_t max_k /* i : max number of subframe */ -); - -void ivas_masa_prerender( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - float output[][L_FRAME48k], /* i/o: synthesized core-coder transport channels */ - const int16_t output_frame /* i : output frame length per channel */ -); - -void ivas_spar_param_to_masa_param_mapping( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ - float inRe[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, real */ - float inIm[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, imag */ - const int16_t firstSubframe, /* i : First subframe to map */ - const int16_t nSubframes /* i : Number of subframes to map */ -); - - -/*----------------------------------------------------------------------------------* - * output setup prototypes - *----------------------------------------------------------------------------------*/ - -/*! r: number of output channels */ -int16_t audioCfg2channels( - const AUDIO_CONFIG output_config /* i : output audio configuration */ -); - -void ivas_output_init( - IVAS_OUTPUT_SETUP *hOutSetup, /* o : output setup structure */ - const AUDIO_CONFIG output_config /* i : output audio configuration */ -); - - -/*---------------------------------------------------------------------------------* - * Binaural Renderer Prototypes -*-----------------------------------------------------------------------------------*/ - -ivas_error ivas_binRenderer_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_binRenderer_close( - BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ -); - -void ivas_binaural_cldfb( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ -); - -void ivas_binRenderer( - BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ - HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ - float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ - float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ - float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */ - float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX] /* i : LS signals */ -); - -void ivas_binaural_add_LFE( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - int16_t output_frame, /* i : length of input frame */ - float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ -); - -void QuatToRotMat( - const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ -); - -void Quat2Euler( - const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float *yaw, /* o : yaw */ - float *pitch, /* o : pitch */ - float *roll /* o : roll */ -); - -void SHrotmatgen( - float SHrotmat[SBA_NHARM_HOA3][SBA_NHARM_HOA3], /* o : SHD rotation matrix */ - float Rmat[3][3], /* i : real-space rotation matrix */ - const int16_t order /* i : ambisonics order */ -); - -void rotateAziEle( - float azi_in, /* i : output elevation */ - float ele_in, /* i : input elevation */ - int16_t *azi, /* o : rotated azimuth */ - int16_t *ele, /* o : rotated elevation */ - float Rmat[3][3], /* i : real-space rotation matrix */ - const int16_t isPlanar /* i : is roation planar and elevation meaningless? */ -); - -void rotateAziEle_DirAC( - int16_t *azi, /* i/o: array of azimuth values */ - int16_t *ele, /* i/o: array of elevation values */ - const int16_t band1, /* i : bands to work on (lower limit) */ - const int16_t band2, /* i : bands to work on (upper bound) */ - const float *p_Rmat /* i : pointer to real-space rotation matrix */ -); - -ivas_error ivas_headTrack_open( - HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* o : head track handle */ -); - -void rotateFrame_shd( - HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ - float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const int16_t subframe_idx /* i : subframe index */ -); - -void rotateFrame_sd( - HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ - float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ - const int16_t subframe_idx /* i : subframe index */ -); - -void rotateFrame_shd_cldfb( - float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain real part */ - float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain imag part */ - float Rmat[3][3], /* i : real-space rotation matrix */ - const int16_t nInChannels, /* i : number of channels */ - const int16_t shd_rot_max_order /* i : split-order rotation method */ -); - -void rotateFrame_sd_cldfb( - HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ - float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain real part */ - float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain imag part */ - const IVAS_OUTPUT_SETUP_HANDLE hOutputSetup, /* i : output format setup number of channels */ - const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ - const int16_t nb_band /* i : number of CLDFB bands to process */ -); - - -/*----------------------------------------------------------------------------------* - * renderer prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_ism_renderer_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_ism_render( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k], /* i/o: core-coder transport channels/object output */ - const int16_t output_frame /* i : output frame length per channel */ -); - -void ivas_mc2sba( - IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ - float buffer_td[][L_FRAME48k], /* i/o: MC signals (on input) and the HOA3 (on output) */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t sba_order, /* i : SBA order */ - const float gain_lfe /* i : gain for LFE, 0=ignore LFE */ -); - -void ivas_sba2mc_cldfb( - IVAS_OUTPUT_SETUP hInSetup, /* i : Format of input layout */ - float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: cldfb real part */ - float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: cldfb imag part */ - const int16_t nb_channels_out, /* i : nb of output channels */ - const int16_t nb_bands, /* i : nb of CLDFB bands to process */ - const float *hoa_dec_mtx /* i : HOA decoding mtx */ -); - -void ivas_ism2sba( - float buffer_td[][L_FRAME48k], /* i/o: TD signal buffers */ - ISM_RENDERER_HANDLE hIsmRendererData, /* i/o: renderer data */ - const ISM_METADATA_HANDLE hIsmMetaData[], /* i : object metadata */ - const int16_t num_objects, /* i : number of objects */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t sba_order /* i : SBA order */ -); - - -/*----------------------------------------------------------------------------------* - * Amplitude Panning (EFAP, VBAP) prototypes - *----------------------------------------------------------------------------------*/ - -void panning_wrap_angles( - const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ - const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ - float *azi_wrapped, /* o : wrapped azimuth component */ - float *ele_wrapped /* o : wrapped elevation component */ -); - -ivas_error efap_init_data( - EFAP_HANDLE *hEFAPdata, /* i/o: handle for EFAP data structure that will be initialized */ - const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths (positive left) */ - const float *speaker_node_ele_deg, /* i : vector of speaker node elevations (positive up) */ - const int16_t num_speaker_nodes, /* i : number of speaker nodes in the set */ - const int16_t efap_mode /* i : indicates whether EFAP or EFIP is used */ -); - -void efap_free_data( - EFAP_HANDLE *hEFAPdata /* i/o: EFAP handle to be freed */ -); - -void efap_determine_gains( - EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ - float *gains, /* o : gain vector for speaker nodes for given direction */ - const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ - const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ - const int16_t efap_mode /* i : indicates whether EFAP or EFIP is used */ -); - -ivas_error vbap_init_data( - VBAP_HANDLE *hVBAPdata, /* i/o: handle for VBAP data structure that will be initialized */ - const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths (positive left) */ - const float *speaker_node_ele_deg, /* i : vector of speaker node elevations (positive up) */ - const int16_t num_speaker_nodes /* i : number of speaker nodes in the set */ -); - -void vbap_free_data( - VBAP_HANDLE *hVBAPdata /* i/o: VBAP handle to be freed */ -); - -void vbap_determine_gains( - const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ - float *gains, /* o : gain vector for speaker nodes for given direction */ - const int16_t azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ - const int16_t ele_deg /* i : elevation in degrees for panning direction (positive up) */ -); - -void v_sort_ind( - float *x, /* i/o: Vector to be sorted */ - int16_t *idx, /* o : Original index positions */ - const int16_t len /* i : vector length */ -); - -/*----------------------------------------------------------------------------------* - * LS Renderer prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_ls_setup_conversion_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_ls_setup_conversion_close( - LSSETUP_CONVERSION_HANDLE *hLsSetUpConversion /* i/o: LS converter handle */ -); - -void ivas_ls_setup_conversion( - Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ - const int16_t output_frame, /* i : frame length */ - float output[][L_FRAME48k] /* i/o: LS input/output synthesis signal */ -); - -void ivas_ls_setup_conversion_process_mdct( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output[][L_FRAME48k] /* i/o: output synthesis signal */ -); - -void ivas_ls_setup_conversion_process_mdct_param_mc( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float *x[][NB_DIV] /* i/o: output synthesis signal */ -); - -void ivas_lssetupconversion_process_param_mc( - Decoder_Struct *st_ivas, /* i/o: LS setup conversion renderer handle */ - float Cldfb_RealBuffer_InOut[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], /* i/o: LS signals */ - float Cldfb_ImagBuffer_InOut[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], /* i/o: LS signals */ - int16_t channel_active[MAX_CICP_CHANNELS] /* i : bitmap indicating which output channels are active */ -); - - -/*----------------------------------------------------------------------------------* - * Custom loudspeaker setup prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_ls_custom_open( - LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o : Custom loudspeaker setup handle */ -); - -ivas_error ivas_ls_custom_output_init( - Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ -); - -void ivas_ls_custom_setup( - IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ - const LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ -); - - -/*----------------------------------------------------------------------------------* - * McMASA prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_mcmasa_enc_open( - Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ -); - -void ivas_mcmasa_enc_close( - MCMASA_ENC_HANDLE hMcMasa, /* i/o: encoder McMASA handle */ - const int32_t input_Fs /* i : input sampling rate */ -); - -void ivas_mcmasa_setNumTransportChannels( - int16_t* nchan_transport, /* o : Pointer to number of transport channels to be set */ - int16_t* element_mode, /* o : Pointer to element mode to be set */ - const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ -); - -void ivas_mcmasa_set_separate_channel_mode( - uint8_t *separateChannelEnabled, /* o : Pointer to separate channel toggle */ - int16_t *separateChannelIndex, /* o : Pointer to separate channel index */ - const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ -); - -/*! r: McMASA SCE bitrate */ -int32_t ivas_mcmasa_mono_brate( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); - -void ivas_mcmasa_enc( - MCMASA_ENC_HANDLE hMcMasa, /* i/o: Encoder McMASA handle */ - IVAS_QMETADATA_HANDLE hQMeta, /* o : Qmetadata handle */ - MASA_ENCODER_HANDLE hMasa, /* i/o: Encoder MASA handle */ - float data_f[][L_FRAME48k], /* i : Input frame of audio */ - const int16_t input_frame, /* i : Input frame size */ - const int16_t nchan_transport, /* i : Number of transport channels */ - const int16_t nchan_inp /* i : Number of input channels */ -); - -void ivas_mcmasa_param_est_enc( - MCMASA_ENC_HANDLE hMcMasa, /* i/o: Encoder McMASA handle */ - MASA_ENCODER_HANDLE hMasa, /* i/o: Encoder MASA handle */ - float data_f[][L_FRAME48k], /* i : Input frame of audio */ - float elevation_m_values[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated elevation */ - float azimuth_m_values[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated azimuth */ - float energyRatio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated direct-to-total ratio*/ - float spreadCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated spread coherence */ - float surroundingCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated surround coherence */ - const int16_t input_frame, /* i : Input frame size */ - const int16_t nchan_inp /* i : Number of input channels */ -); - -void v_multc_acc( - const float x[], /* i : Input vector */ - const float c, /* i : Constant */ - float y[], /* o : Output vector that contains y + c*x */ - const int16_t N /* i : Vector length */ -); - -void lls_interp_n( - float x[], /* i/o: input/output vector */ - const int16_t N, /* i : length of the input vector */ - float *a, /* o : calculated slope */ - float *b, /* o : calculated offset */ - const int16_t upd /* i : use 1 to update x[] with the interpolated output*/ -); - -void computeReferencePower_enc( - const int16_t *band_grouping, /* i : Band grouping for estimation */ - float Cldfb_RealBuffer[DIRAC_MAX_ANA_CHANS][DIRAC_NO_FB_BANDS_MAX], /* i : Real part of input signal */ - float Cldfb_ImagBuffer[DIRAC_MAX_ANA_CHANS][DIRAC_NO_FB_BANDS_MAX], /* i : Imag part of input signal */ - float *reference_power, /* o : Estimated power */ - const int16_t enc_param_start_band, /* i : first band to process */ - const int16_t num_freq_bands /* i : Number of frequency bands */ - , - const SBA_MODE sba_mode /* i : SBA mode */ -); - - -ivas_error ivas_mono_dmx_renderer_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_mono_downmix_render_passive( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/mono output */ - const int16_t output_frame /* i : output frame length */ -); - -void ivas_mono_stereo_downmix_mcmasa( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/mono or stereo output */ - int16_t output_frame /* i : output frame length per channel */ -); - -void ivas_lfe_synth_with_filters( - MCMASA_LFE_SYNTH_DATA_HANDLE hMasaLfeSynth, /* i/o: LFE synthesis structure for McMASA */ - float data_f[][L_FRAME48k], /* o : output signals */ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t separateChannelIndex, /* i : separate channel index */ - const int16_t lfeChannelIndex /* i : LFE channel index */ -); - -/*----------------------------------------------------------------------------------* - * LFE Coding prototypes - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_create_lfe_enc( - LFE_ENC_HANDLE *hLFE, /* o : IVAS LFE encoder structure */ - const int32_t input_Fs /* i : input sampling rate */ -); - -void ivas_lfe_enc_close( - LFE_ENC_HANDLE hLFE /* i/o: LFE encoder handle */ -); - -void ivas_lfe_enc( - LFE_ENC_HANDLE hLFE, /* i/o: LFE encoder handle */ - float data_lfe_ch[], /* i : input LFE signal */ - const int16_t input_frame, /* i : input frame length per channel */ - BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */ -); - -ivas_error ivas_create_lfe_dec( - LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ - const int32_t output_Fs, /* i : output sampling rate */ - const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ -); - -void ivas_lfe_dec_close( - LFE_DEC_HANDLE hLFE /* i/o: LFE encoder handle */ -); - -void ivas_lfe_dec( - LFE_DEC_HANDLE hLFE, /* i/o: LFE decoder handle */ - Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ - const int16_t output_frame, /* i : output frame length per channel */ - const int16_t bfi, /* i : BFI flag */ - float output_lfe_ch[] /* o : output LFE synthesis */ -); - -void LFE_tdplc( - LFE_DEC_HANDLE hLFE, /* i/o: LFE decoder handle */ - const float *prevsynth, /* i : previous frame synthesis */ - float *ytda, /* o : output time-domain buffer */ - const int16_t output_frame /* i : output frame length */ -); - -void lfe_window_init( - LFE_WINDOW_HANDLE hLFEWindow, /* i/o: LFE window handle */ - const int32_t sampling_rate, /* i : sampling rate */ - const int16_t frame_len /* i : frame length in samples */ -); - -void ivas_lfe_lpf_select_filt_coeff( - const int32_t sampling_rate, /* i : sampling rate */ - const int16_t order, /* i : filter order */ - const float **ppFilt_coeff /* o : filter coefficients */ -); - -void ivas_filters_init( - ivas_filters_process_state_t *filter_state, /* i/o: filter state handle */ - const float *filt_coeff, /* i : filter coefficients */ - const int16_t order /* i : filter order */ -); - -void ivas_filter_process( - ivas_filters_process_state_t *filter_state, /* i/o: filter state handle */ - float *pIn_Out, /* i : signal subject to filtering */ - const int16_t length /* i : filter order */ -); - - -/*----------------------------------------------------------------------------------* - * TD Binaural Object renderer - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_HRTF_binary_open( - TDREND_HRFILT_FiltSet_t **hHrtfTD /* i/o: TD renderer HRTF handle */ -); - -void ivas_HRTF_binary_close( - TDREND_HRFILT_FiltSet_t **hHrtfTD /* i/o: TD renderer HRTF handle */ -); - -void DefaultBSplineModel( - TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* o : Loaded HR filter set */ - const int32_t output_Fs /* i : Output sampling rate */ -); - -ivas_error ivas_td_binaural_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -void ivas_td_binaural_close( - BINAURAL_TD_OBJECT_RENDERER_HANDLE *hBinRendererTd /* i/o: TD binaural object renderer handle */ -); - -void ObjRenderIVASFrame( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output[][L_FRAME48k], /* i/o: SCE channels / Binaural synthesis */ - const int16_t output_frame /* i : output frame length */ -); - -void BSplineModelEvalAlloc( - ModelParams_t *model, /* i : Model parameters */ - ModelEval_t *modelEval /* i/o: Model evaluation structure */ -); - -/* ----- Object renderer - hrfilt ----- */ - -void GetFilterFromAngle( - TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ - const float Elev, /* i : Elevation, degrees */ - float Azim, /* i : Azimuth, degrees */ -#ifdef FIX_ITD - float *LeftFilter, /* o : Left HR filter */ - float *RightFilter, /* o : Right HR filter */ - int16_t *itd /* o : ITD value */ -#else - SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ -#endif -); - -void HRTF_model_precalc( - ModelParams_t *model /* i/o: HRTF Model parameters */ -); - -void BSplineModelEvalDealloc( - ModelParams_t *model, /* i : Model parameters */ - ModelEval_t *modelEval /* i : Model evaluation structure */ -); - -void BSplineModelEvalITDDealloc( - ModelParamsITD_t *model /* i : Model parameters */ -); - -#ifdef TDREND_HRTF_TABLE_METHODS -void TDREND_HRFILT_SetFiltSet( - TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR hilter set structure */ - FILE *f_hrtf /* i : File handle for HR filter parameters */ -); -#endif - -ivas_error TDREND_REND_RenderSourceHRFilt( - TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ -#ifdef FIX_ITD - const float *hrf_left_delta, /* i: Left filter interpolation delta */ - const float *hrf_right_delta, /* i: Right filter interpolation delta */ - const int16_t intp_count, /* i: Interpolation count */ -#else -#ifdef TDREND_HRTF_TABLE_METHODS - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#endif -#endif - float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ -#ifdef FIX_ITD - const int16_t subframe_length /* i : Subframe length in use */ -#else - const int16_t subframe_length, /* i : Subframe length in use */ - const int32_t output_Fs /* i : Output sample rate */ -#endif -); - -/* ----- Object renderer - sources ----- */ - -ivas_error TDREND_MIX_SRC_SetPos( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const int16_t SrcInd, /* i : Source index */ - const float *Vec_p /* i : Position vector */ -); - -ivas_error TDREND_MIX_SRC_SetDir( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const int16_t SrcInd, /* i : Source index */ - const float *Vec_p /* i : Direction vector */ -); - -ivas_error TDREND_MIX_SRC_SetDirAtten( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const int16_t SrcInd, /* i : Source index */ - const TDREND_DirAtten_t *DirAtten_p /* i : Directional attenuation specifier */ -); - -ivas_error TDREND_MIX_SRC_SetPlayState( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const int16_t SrcInd, /* i : Source index */ - const TDREND_PlayStatus_t PlayStatus /* i : Play state */ -); - -void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ - TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ -#ifdef FIX_ITD - float *hrf_left_prev, /* o: Left filter */ - float *hrf_right_prev, /* o: Right filter */ - float *hrf_left_delta, /* o: Left filter interpolation delta */ - float *hrf_right_delta, /* o: Right filter interpolation delta */ - int16_t *intp_count, /* o: Interpolation count */ - int16_t *filterlength, /* o: Length of filters */ - int16_t *itd, /* o: ITD value */ - float *Gain, /* o: Gain value */ - TDREND_SRC_t *Src_p, - const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ -#else - const int32_t output_Fs /* i : Output sample rate */ -#endif -); - -ivas_error TDREND_SRC_Alloc( - TDREND_SRC_t **Src_pp /* i/o: Source */ -); - -void TDREND_SRC_Dealloc( - TDREND_SRC_t *Src_p /* i/o: Source to deallocate */ -); - -void TDREND_SRC_Init( - TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ -#ifdef FIX_ITD - const TDREND_PosType_t PosType /* i : Position type specifier */ -#else - const TDREND_PosType_t PosType, /* i : Position type specifier */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif -); - -/* ----- Object renderer - vec ----- */ - -void TDREND_SPATIAL_VecInit( - float *Pos_p, /* o : Output vector */ - const float PosX, /* i : X value */ - const float PosY, /* i : Y value */ - const float PosZ /* i : Z value */ -); - -/*! r: Euclidian norm value */ -float TDREND_SPATIAL_VecNorm( - const float *Vec_p /* i : Vector for norm calculation */ -); - -void TDREND_SPATIAL_VecNormalize( - const float *Vec_p, /* i : Input vector */ - float *VecNorm_p /* o : Output vector */ -); - -void TDREND_SPATIAL_VecMapToNewCoordSystem( - const float *Vec_p, /* i : Input vector */ - const float *TranslVec_p, /* i : Translation vector */ - const float *DirVec_p, /* i : Direction vector */ - const float *UpVec_p, /* i : Up vector */ - const float *RightVec_p, /* i : Right vector */ - float *MappedVec_p /* o : Transformed vector */ -); - -/*! r: Flag if the orientation has been updated */ -int16_t TDREND_SPATIAL_EvalOrthonormOrient( - float *FrontVecON_p, /* o : Normalized front vector */ - float *UpVecON_p, /* o : Normalized up vector */ - float *RightVecON_p, /* o : Normalized right vector */ - const float *FrontVec_p, /* i : Input front vector */ - const float *UpVec_p /* i : Input up vector */ -); - -/* ----- Object renderer - mix ----- */ - -ivas_error TDREND_MIX_AddSrc( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - int16_t *SrcInd, /* o : Source index */ -#ifdef FIX_ITD - const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ -#else - const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif -); - -ivas_error TDREND_MIX_SetDistAttenModel( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const TDREND_DistAttenModel_t DistAttenModel /* i : Distance attenuation model */ -); - -void TDREND_MIX_LIST_SetPos( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const float *Pos_p /* i : Listener's position */ -); - -ivas_error TDREND_MIX_LIST_SetOrient( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - const float *FrontVec_p, /* i : Listener's orientation front vector */ - const float *UpVec_p /* i : Listener's orientation up vector */ -); - -void TDREND_MIX_Dealloc( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd /* i/o: TD renderer handle */ -); - -ivas_error TDREND_MIX_Init( - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ - TDREND_HRFILT_FiltSet_t **hHrtfTD, /* i/o: HRTF data (initialized in case of NULL) */ - const TDREND_MixSpatSpec_t *MixSpatSpec_p, /* i : Mixer spatial specification */ - const int32_t output_Fs /* i : Output sampling rate */ -); - - /* ----- Object renderer - sfx ----- */ -#ifndef FIX_ITD -ivas_error TDREND_SFX_SpatBin_Initialize( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ - const int32_t output_Fs /* i : Output sampling rate */ -); - -void TDREND_SFX_SpatBin_SetParams( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct to be updated */ - const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -); - -void TDREND_SFX_SpatBin_Execute_Main( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ - const float *InBuffer_p, /* i : Input buffer */ - const int16_t subframe_length, /* i : subframe length */ - float *LeftOutBuffer_p, /* o : Rendered left channel */ - float *RightOutBuffer_p, /* o : Rendered right channel */ - int16_t *NoOfUsedInputSamples_p, /* o : Number of input samples actually used */ - int16_t *NoOfDeliveredOutputSamples_p, /* o : Number of output samples actually rendered */ - const int32_t output_Fs /* i : Output sample rate */ -); -#endif - -#ifdef FIX_ITD -void TDREND_Apply_ITD( - float *input, /* i: Input SCE subframe to be time adjusted */ - float *out_left, /* o: Output left channels with ITD applied */ - float *out_right, /* o: Output right channels with ITD applied */ - int16_t *previtd, /*i/o: Previous ITD value */ - const int16_t itd, /* i: Current subframe ITD value */ - float *mem_itd, /*i/o: ITD buffer memory */ - const int16_t length /* i: Subframe length */ -); - -void TDREND_firfilt( - float *signal, /* i/o: Input signal / Filtered signal */ - float *filter, /* i/o: FIR filter */ - const float *filter_delta, /* i : FIR filter delta */ - const int16_t intp_count, /* i : interpolation count */ - float *mem, /* i/o: filter memory */ - const int16_t subframe_length, /* i : Length of signal */ - const int16_t filterlength /* i : Filter length */ -); -#endif -/*----------------------------------------------------------------------------------* - * Filter-bank (FB) Mixer - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_fb_set_cfg( - IVAS_FB_CFG **pFb_cfg_out, /* o : FB config. handle */ - const int16_t ivas_format, /* i : IVAS format */ - const SBA_MODE sba_mode, /* i : SBA mode */ - const int16_t num_in_chans, /* i : number of FB input channels */ - const int16_t num_out_chans, /* i : number of FB output channels */ - const int16_t active_w_mixing, /* i : active_w_mixing flag */ - const int32_t sampling_Fs /* i : sampling rate */ -); - -ivas_error ivas_FB_mixer_open( - IVAS_FB_MIXER_HANDLE *hFbMixer, /* i/o: FB mixer handle */ - const int32_t sampling_rate, /* i : sampling rate */ - IVAS_FB_CFG *fb_cfg /* i : FB config. handle */ -); - -void ivas_FB_mixer_close( - IVAS_FB_MIXER_HANDLE *hFbMixer, /* i/o: FB mixer handle */ - const int32_t sampling_rate /* i : sampling rate in Hz */ -); - -void ivas_fb_mixer_pcm_ingest( - IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ - float pcm_in[][L_FRAME48k], /* i : input audio channels */ - float **ppOut_pcm, /* o : output audio channels */ - const int16_t frame_length /* i : frame length */ -); - -void ivas_dirac_enc_spar_delay_synchro( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t input_frame, /* i : input frame length */ - float data_f[][L_FRAME48k] /* i/o: SBA channels (ACN / SN3D) */ -); - -void ivas_fb_mixer_update_prior_input( - IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ - float *pcm_in[], /* i : input audio channels */ - const int16_t length /* i : length of time slot */ -); - -void ivas_fb_mixer_get_windowed_fr( - IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ - float *pcm_in[], /* i : input audio channels */ - float *frame_f_real[], /* o : real freq domain values */ - float *frame_f_imag[], /* o : imag freq domain values */ - const int16_t length, /* i : number of new samples in time slot */ - const int16_t mdft_len /* i : MDFT frame length */ -); - -void ivas_fb_mixer_process( - IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ - float ***mixer_mat, /* i : mixer matrix */ - float **ppOut_pcm, /* o : output audio channels */ - const int16_t frame_len, /* i : frame length in samples */ - int16_t in_out_mixer_map[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH] /* i/o: mixing mapping */ -); - -void ivas_fb_mixer_get_in_out_mapping( - const IVAS_FB_CFG *fb_cfg, /* i : FB config. handle */ - const int16_t nchan_transport, /* i : number of transport channels */ - const int16_t enc_dec_flag, /* i : encoder or decoder flag */ - const int16_t *order, /* i : downmix order */ - int16_t in_out_mixer_map[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH] /* i/o: mixing mapping */ -); - -/* !r: number of spectral bands */ -int16_t ivas_get_num_bands_from_bw_idx( - const int16_t bwidth /* i : audio bandwidth */ -); - - -/*----------------------------------------------------------------------------------* - * Crend renderer - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_crend_init_from_rom( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_crend_open( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_crend_close( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ -); - -ivas_error ivas_crend_process( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - float output[][L_FRAME48k] /* i/o: input/output audio channels */ -); - - -/*----------------------------------------------------------------------------------* - * Renderer configuration - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_render_config_open( - RENDER_CONFIG_HANDLE *hRenderConfig /* i/o: Renderer config handle */ -); - -void ivas_render_config_close( - RENDER_CONFIG_HANDLE *hRenderConfig /* i/o: Renderer config handle */ -); - -ivas_error ivas_render_config_init_from_rom( - RENDER_CONFIG_HANDLE *hRenderConfig, /* i/o: Renderer config handle */ - const int16_t room_flag_on /* i : room effect on/off flag */ -); - -/*----------------------------------------------------------------------------------* - * Reverberator - *----------------------------------------------------------------------------------*/ - -ivas_error ivas_reverb_open( - REVERB_HANDLE *hReverb, /* i/o: Reverberator handle */ - const AUDIO_CONFIG input_audio_config, /* i : reverb. input audio configuration */ - const HRTFS_HANDLE hHrtf, /* i : HRTF handle */ - RENDER_CONFIG_DATA *pConfig, /* i : Reverb configuration */ - const int32_t output_Fs /* i : output sampling rate */ -); - -void ivas_reverb_close( - REVERB_HANDLE *hReverb /* i/o: Reverberator handle */ -); - -ivas_error ivas_reverb_process( - REVERB_HANDLE hReverb, /* i/o: reverb state */ - const AUDIO_CONFIG input_audio_config, /* i : reverb. input audio configuration */ - const int16_t mix_signals, /* i : add reverb to output signal */ - float pcm_in[][L_FRAME48k], /* i : the PCM audio to apply reverb on */ - float pcm_out[][L_FRAME48k], /* o : the PCM audio with reverb applied */ - const int16_t i_ts -); - -void ivas_rev_delay_line_init( - ivas_rev_delay_line_t *pDelay, /* o : the delay line to initialize */ - float *memory_buffer, /* i : the memory buffer to use for the delay line */ - const uint16_t delay, /* i : the delay */ - const uint16_t maxdelay /* i : maximum delay to be supported */ -); - -/* !r: sample gotten out of delay line, and amplified by set gain */ -float ivas_rev_delay_line_get_sample( - ivas_rev_delay_line_t *pDelay /* i/o: the delay line */ -); - -void ivas_rev_delay_line_feed_sample( - ivas_rev_delay_line_t *pDelay, /* i : the delay line */ - float input /* i : the sample to feed */ -); - -void ivas_rev_delay_line_get_sample_blk( - ivas_rev_delay_line_t *pDelay, /* i : the delay line */ - const uint16_t blk_size, /* i : number of samples in the data block */ - float *output /* i/o: amples gotten out of delay line, and amplified by set gainin */ -); - -void ivas_rev_delay_line_feed_sample_blk( - ivas_rev_delay_line_t *pDelay, /* i/o: the delay line */ - const uint16_t blk_size, /* i : number of samples in the input data block */ - float *input /* i : the samples to feed */ -); - -void ivas_reverb_iir_filt_init( - ivas_rev_iir_filter_t *iirFilter, /* o : IIR filter */ - const uint16_t maxTaps /* i : maximum number of filter taps */ -); - -void ivas_reverb_iir_filt_set( - ivas_rev_iir_filter_t *iirFilter, /* i/o: IIR filter */ - uint16_t nr_taps, /* i : number of IIR filter taps */ - const float *coefA, /* i : A filter coefficients to set */ - const float *coefB /* i : the B filter coefficients to set */ -); - -void ivas_reverb_iir_filt_2taps_feed_blk( - ivas_rev_iir_filter_t *iirFilter, /* i/o: IIR filter */ - const uint16_t blk_size, /* i : size */ - const float *input, /* i : input buffer */ - float *output /* i : output buffer */ -); - -uint16_t int_log2( - uint32_t powerOf2 -); - -int16_t ivas_reverb_t2f_f2t_init( - ivas_reverb_t2f_f2t_t *t2f_f2t, - const int16_t fft_size, - const int16_t block_size -); - -void ivas_reverb_t2f_f2t_ClearHistory( - ivas_reverb_t2f_f2t_t *t2f_f2t -); - -void ivas_reverb_t2f_f2t_in( - ivas_reverb_t2f_f2t_t *t2f_f2t, - float *input_L, - float *input_R, float *buffer_L, - float *buffer_R -); - -void ivas_reverb_t2f_f2t_out( - ivas_reverb_t2f_f2t_t *t2f_f2t, - float *buffer_L, - float *buffer_R, - float *output_L, - float *output_R -); - -int16_t ivas_reverb_fft_filter_init( - ivas_reverb_fft_filter_t *fft_filter, - const int16_t fft_size -); - -void ivas_reverb_fft_filter_ComplexMul( - ivas_reverb_fft_filter_t *fft_filter, - float *buffer -); - -void ivas_reverb_fft_filter_CrossMix( - float *buffer0, - float *buffer1, - const int16_t fft_size -); - -void ivas_reverb_fft_filter_ConvertFFTWF_2_FFTR( - rv_fftwf_type_complex *spectrum, - float *fft_real, - const int16_t fft_size -); - -void ivas_reverb_define_window_fft( - float *pWindow, - const int16_t transitionStart, - const int16_t transitionLength, - const int16_t spectrumLength -); - -int16_t ivas_reverb_calc_color_filters( - const float *pTargetL, - const float *pTargetR, - const float *pWindow, - const int16_t fft_size, - const float delay, - rv_fftwf_type_complex *pBeqL, - rv_fftwf_type_complex *pBeqR -); - -int16_t ivas_reverb_calc_correl_filters( - const float *pTargetICC, - const float *pWindow, - const int16_t fft_size, - const float delay, - rv_fftwf_type_complex *pU, - rv_fftwf_type_complex *pV -); - -void ivas_reverb_calc_color_levels( - const int32_t output_Fs, - const int16_t freq_count, - const int16_t loop_count, - const float *pFc, - const float *pAcoustic_dsr, - const float *pHrtf_avg_pwr_L, - const float *pHrtf_avg_pwr_R, - const int16_t *pLoop_delays, - const float *pT60_filter_coeff, - float *pTarget_color_L, - float *pTarget_color_R -); - -void ivas_reverb_prepare_cldfb_params( - ivas_roomAcoustics_t *pInput_params, - const AUDIO_CONFIG input_audio_config, - const int16_t use_brir, - const int32_t output_Fs, - float *pOutput_t60, - float *pOutput_ene ); - -void ivas_reverb_interpolate_acoustic_data( - const int16_t input_table_size, - const float *pInput_fc, - const float *pInput_t60, - const float *pInput_dsrR, - const int16_t output_table_size, - const float *pOutput_fc, - float *pOutput_t60, - float *pOutput_dsr -); - -void ivas_reverb_get_hrtf_set_properties( - float **ppHrtf_set_L_re, - float **ppHrtf_set_L_im, - float **ppHrtf_set_R_re, - float **ppHrtf_set_R_im, - const AUDIO_CONFIG input_audio_config, - const int16_t hrtf_count, - const int16_t in_freq_count, - const int16_t out_freq_count, - float *pOut_avg_pwr_L, - float *pOut_avg_pwr_R, - float *pOut_i_a_coherence -); - - -/* Orientation tracking */ -void ivas_orient_trk_Init( - ivas_orient_trk_state_t *pOTR -); - -ivas_error ivas_orient_trk_SetTrackingType( - ivas_orient_trk_state_t *pOTR, - OTR_TRACKING_T trackingType -); - -ivas_error ivas_orient_trk_SetAbsoluteOrientation( - ivas_orient_trk_state_t *pOTR, - float yaw, - float pitch, - float roll -); - -ivas_error ivas_orient_trk_Process( - ivas_orient_trk_state_t *pOTR -); - -ivas_error ivas_orient_trk_GetTrackedOrientation( - ivas_orient_trk_state_t *pOTR, - float *yaw, - float *pitch, - float *roll -); - -void TonalMdctConceal_create_concealment_noise( - float concealment_noise[L_FRAME48k], - CPE_DEC_HANDLE hCPE, - const int16_t L_frameTCX, - const int16_t L_frame, - const int16_t idchan, - const int16_t subframe_idx, - const int16_t core, - const float crossfade_gain, - const TONALMDCTCONC_NOISE_GEN_MODE noise_gen_mode -); - -void TonalMdctConceal_whiten_noise_shape( - Decoder_State *st, - const int16_t L_frame, - const TONALMDCTCONC_NOISE_SHAPE_WHITENING_MODE -); - -int16_t get_igf_startline( - Decoder_State *st, - int16_t L_frame, - int16_t L_frameTCX -); - -float rand_triangular_signed( - int16_t *seed ); - -/* clang-format on */ - -void dtx_read_padding_bits( - DEC_CORE_HANDLE st, - int16_t num_bits ); - -#endif /* IVAS_PROT_H */ diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h deleted file mode 100644 index 2b3755087c..0000000000 --- a/lib_com/ivas_rom_com.h +++ /dev/null @@ -1,404 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_ROM_COM_H -#define IVAS_ROM_COM_H - -#include <stdint.h> -#include "options.h" -#include "cnst.h" -#include "ivas_cnst.h" -#include "typedef.h" -#include "stat_com.h" -#include "ivas_stat_com.h" -#ifdef DEBUGGING -#include "debug.h" -#endif - - -/*----------------------------------------------------------------------------------* - * General IVAS ROM tables - *----------------------------------------------------------------------------------*/ - -extern const int32_t ivas_brate_tbl[]; - -/*------------------------------------------------------------------------- - * DFT Stereo ROM tables - *------------------------------------------------------------------------*/ - -extern const int16_t dft_band_limits_erb4[]; -extern const int16_t dft_band_limits_erb8[]; -extern const int16_t dft_band_ipd[3][4]; -extern const int16_t dft_band_res_cod[3][4]; - -extern const float dft_res_gains_q[][2]; -extern const float dft_res_cod_alpha[STEREO_DFT_BAND_MAX]; - -extern const float dft_trigo_12k8[STEREO_DFT_N_12k8_ENC / 4 + 1]; -extern const float dft_trigo_32k[STEREO_DFT_N_32k_ENC / 4 + 1]; -extern const float dft_trigo_48k[STEREO_DFT_N_MAX_ENC / 4 + 1]; - -/* Golomb-Rice encoding tables */ -extern const int16_t dft_maps_rpg[]; -extern const int16_t dft_code_itd[]; -extern const int16_t dft_len_itd[]; -extern const int16_t dft_maps_sg[NO_SYMB_GR_SIDE_G * NO_SYMB_GR_SIDE_G]; - -/*----------------------------------------------------------------------------------* - * Range Coder ROM tables - *----------------------------------------------------------------------------------*/ - -extern const uint16_t cum_freq_ari_pk_s17_LC_ext[RANGE_N_CONTEXT][1 + RANGE_N_SYMBOLS]; -extern const uint16_t sym_freq_ari_pk_s17_LC_ext[RANGE_N_CONTEXT][RANGE_N_SYMBOLS]; - -/*----------------------------------------------------------------------------------* - * ECLVQ Stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const uint16_t ECSQ_tab_inverse[1 + ECSQ_SEGMENT_SIZE]; - -/*----------------------------------------------------------------------------------* - * Stereo ICA ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float ica_sincInterp2[]; -extern const float ica_sincInterp4[]; -extern const float ica_sincInterp6[]; - -/*----------------------------------------------------------------------------------* - * Stereo IC-BWE ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float icbwe_gsMapping_tbl[]; -extern const float icbwe_gsMappingDFT_tbl[]; - -/*----------------------------------------------------------------------------------* - * TD Stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float tdm_ratio_tabl[]; -extern const float tdm_den_ratio_tabl[]; -extern const int16_t tdm_bit_allc_tbl[5][6]; - -#ifdef LSF_RE_USE_SECONDARY_CHANNEL -/* LSFs Intra-frame prediction tables */ -#ifdef LSF_RE_USE_SECONDARY_CHANNEL_REUSEMODE -extern const float tdm_LSF_MEAN_RE_USE_OUT[M]; -extern const float tdm_LSF_MEAN_RE_USE_IN[M]; -extern const float tdm_LSF_MEAN_RE_USE[M]; - -extern const float tdm_Beta_Q1bit_re_use_132[2]; -extern const float tdm_Beta_Q1bit_re_use_164[2]; -extern const float tdm_Beta_Q1bit_re_use_244_320[2]; -extern const float tdm_Beta_Q1bit_re_use_480[2]; - -extern const float tdm_RE_USE_adaptive_beta_prd_diag_3[15 + 16 + 15]; -#endif - -extern const float tdm_LSF_MEAN_PRED_QNT_OUT[M]; -extern const float tdm_LSF_MEAN_PRED_QNT_IN[M]; -extern const float tdm_LSF_MEAN_PRED_QNT[M]; -extern const float tdm_PRED_QNT_fixed_beta_prd_diag_3[15 + 16 + 15]; -#endif - -extern const int16_t fast_FCB_bits_2sfr[]; -extern const int16_t fast_FCB_rates_2sfr[]; - -/*----------------------------------------------------------------------------------* - * MDCT Stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const SpectrumWarping sw16000Hz[]; /* PsychLPC */ -extern const SpectrumWarping sw25600Hz[]; /* PsychLPC */ -extern const SpectrumWarping sw32000Hz[]; /* PsychLPC */ - -extern const MDCTStereoBands_config mdctStereoBands_32000_640[]; -extern const float nf_tw_smoothing_coeffs[N_LTP_GAIN_MEMS]; - -/*----------------------------------------------------------------------------------* - * Stereo DTX ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float dft_cng_coh_pred[][STEREO_DFT_COH_PRED_COEFFS]; -extern const int16_t dft_cng_coh_u2i[9]; -extern const int16_t dft_cng_coh_i2u[9]; -extern const float dft_cng_alpha_bits[STEREO_DFT_N_COH_ALPHA_STEPS][STEREO_DFT_N_COH_ALPHA_LEVELS]; -extern const int16_t dft_cng_coh_alpha_start[STEREO_DFT_N_COH_ALPHA_STEPS - 1]; - -/*----------------------------------------------------------------------------------* - * DirAC ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float diffuseness_reconstructions[DIRAC_DIFFUSE_LEVELS]; -extern const float diffuseness_thresholds[DIRAC_DIFFUSE_LEVELS + 1]; -extern const int16_t DirAC_band_grouping_12[12 + 1]; -extern const int16_t DirAC_band_grouping_6[6 + 1]; -extern const int16_t DirAC_band_grouping_5[5 + 1]; -extern const int16_t DirAC_block_grouping[MAX_PARAM_SPATIAL_SUBFRAMES + 1]; -extern const int16_t DirAC_block_grouping_5ms_MDFT[MAX_PARAM_SPATIAL_SUBFRAMES + 1]; - -/*------------------------------------------------------------------------------------------* - * SPAR ROM tables - *------------------------------------------------------------------------------------------*/ - -extern const ivas_freq_models_t ivas_arith_pred_r_consts[TOTAL_PRED_QUANT_STRATS_ARITH]; -extern const ivas_freq_models_t ivas_arith_drct_r_consts[TOTAL_DRCT_QUANT_STRATS]; -extern const ivas_freq_models_t ivas_arith_decd_r_consts[TOTAL_DECD_QUANT_STRATS]; -extern const ivas_huff_models_t ivas_huff_pred_r_consts[TOTAL_PRED_QUANT_STRATS_HUFF]; -extern const ivas_huff_models_t ivas_huff_drct_r_consts[TOTAL_DRCT_QUANT_STRATS]; -extern const ivas_huff_models_t ivas_huff_decd_r_consts[TOTAL_DECD_QUANT_STRATS]; -extern const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN]; -extern const int16_t remix_order_set[1][IVAS_SPAR_MAX_CH]; -extern const int16_t keep_planar[IVAS_SPAR_MAX_CH - FOA_CHANNELS]; -extern const int16_t HOA_keep_ind[IVAS_SPAR_MAX_CH]; - -extern const float dtx_pd_real_min_max[2]; -extern const int16_t dtx_pd_real_q_levels[3][3]; -extern const int16_t dtx_pr_real_q_levels[3][3]; -extern const int16_t pr_pr_idx_pairs[3][3][2]; -extern const int16_t pr_pd_idx_pairs[3][3][2]; - - -/*----------------------------------------------------------------------* - * PCA ROM tables - *-----------------------------------------------------------------------*/ - -extern const int32_t ivas_pca_offset_index1[IVAS_PCA_N1 + 1]; -extern const int16_t ivas_pca_offset_index2[2692]; -extern const int16_t ivas_pca_offset_n2[IVAS_PCA_N1]; - - -/*----------------------------------------------------------------------------------* - * Parametric MC ROM tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t param_mc_band_grouping_20[20 + 1]; -extern const int16_t param_mc_coding_band_mapping_20[20]; -extern const int16_t param_mc_bands_coded_20[4]; -extern const int16_t param_mc_band_grouping_14[14 + 1]; -extern const int16_t param_mc_coding_band_mapping_14[14]; -extern const int16_t param_mc_bands_coded_14[4]; -extern const int16_t param_mc_band_grouping_10[10 + 1]; -extern const int16_t param_mc_coding_band_mapping_10[10]; -extern const int16_t param_mc_bands_coded_10[4]; -extern const int16_t param_mc_start_bin_per_band_20[20]; -extern const int16_t param_mc_active_bins_per_band_20[20]; -extern const int16_t param_mc_start_bin_per_band_14[14]; -extern const int16_t param_mc_active_bins_per_band_14[14]; -extern const int16_t param_mc_start_bin_per_band_10[10]; -extern const int16_t param_mc_active_bins_per_band_10[10]; -extern const int16_t Param_MC_index[MAX_CICP_CHANNELS]; -extern const PARAM_MC_CONF ivas_param_mc_conf[PARAM_MC_NUM_CONFIGS]; -extern const float ivas_param_mc_quant_ild_5d1_48[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const float ivas_param_mc_quant_icc[PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_cum_freq_ild_cicp6_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; -extern const uint16_t ivas_param_mc_sym_freq_ild_cicp6_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_cum_freq_ild_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_sym_freq_ild_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; -extern const uint16_t ivas_param_mc_cum_freq_icc_cicp6_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; -extern const uint16_t ivas_param_mc_sym_freq_icc_cicp6_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_cum_freq_icc_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_sym_freq_icc_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; - -extern const uint16_t ivas_param_mc_cum_freq_ild_cicp12_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; -extern const uint16_t ivas_param_mc_sym_freq_ild_cicp12_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_cum_freq_ild_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_sym_freq_ild_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; -extern const uint16_t ivas_param_mc_cum_freq_icc_cicp12_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; -extern const uint16_t ivas_param_mc_sym_freq_icc_cicp12_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_cum_freq_icc_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_sym_freq_icc_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; - -extern const uint16_t ivas_param_mc_cum_freq_ild_cicp14_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; -extern const uint16_t ivas_param_mc_sym_freq_ild_cicp14_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_cum_freq_ild_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_sym_freq_ild_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; -extern const uint16_t ivas_param_mc_cum_freq_icc_cicp14_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; -extern const uint16_t ivas_param_mc_sym_freq_icc_cicp14_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_cum_freq_icc_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_sym_freq_icc_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; - -extern const uint16_t ivas_param_mc_cum_freq_ild_combined_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; -extern const uint16_t ivas_param_mc_sym_freq_ild_combined_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_cum_freq_ild_delta_combined_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; -extern const uint16_t ivas_param_mc_sym_freq_ild_delta_combined_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; -extern const uint16_t ivas_param_mc_cum_freq_icc_combined_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; -extern const uint16_t ivas_param_mc_sym_freq_icc_combined_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_cum_freq_icc_delta_combined_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; -extern const uint16_t ivas_param_mc_sym_freq_icc_delta_combined_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; - - -/*----------------------------------------------------------------------------------* - * MASA ROM tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t bits_direction_masa[DIRAC_DIFFUSE_LEVELS]; -extern const int16_t no_theta_masa[NO_SPHERICAL_GRIDS - 2]; -extern const int16_t no_phi_masa[NO_SPHERICAL_GRIDS][MAX_NO_THETA]; - -extern const float delta_theta_masa[NO_SPHERICAL_GRIDS - 2]; - -extern const float azimuth_cb[8]; -extern const float coherence_cb0_masa[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH]; -extern const float coherence_cb1_masa[MASA_NO_CV_COH1 * MASA_MAXIMUM_CODING_SUBBANDS]; /* 25 */ -extern const int16_t len_cb_dct0_masa[DIRAC_DIFFUSE_LEVELS]; -extern const uint8_t sur_coherence_cb_masa[MASA_NO_CB_SUR_COH * MASA_MAX_NO_CV_SUR_COH]; -extern const int16_t idx_cb_sur_coh_masa[MASA_NO_CV_COH]; -extern const int16_t len_huf_masa[MASA_NO_CV_COH1]; -extern const int16_t huff_code_av_masa[MASA_NO_CV_COH1]; - -extern const int16_t MASA_band_grouping_24[24 + 1]; -extern const int16_t MASA_band_mapping_24_to_18[18 + 1]; -extern const int16_t MASA_band_mapping_24_to_12[12 + 1]; -extern const int16_t MASA_band_mapping_24_to_8[8 + 1]; -extern const int16_t MASA_band_mapping_24_to_5[5 + 1]; - -extern const int16_t MASA_grouping_8_to_5[8]; -extern const int16_t MASA_grouping_12_to_5[12]; -extern const int16_t MASA_grouping_18_to_5[18]; -extern const int16_t MASA_grouping_24_to_5[24]; -extern const int16_t masa_bits[14]; -extern const int16_t masa_bits_LR_stereo[4]; -extern const int16_t mcmasa_bits[]; -extern const uint8_t masa_nbands[]; -extern const uint8_t masa_joined_nbands[]; -extern const uint8_t masa_twodir_bands[]; -extern const uint8_t masa_twodir_bands_joined[]; - -/* Multi-channel input and output setups */ -extern const float ls_azimuth_CICP2[2]; -extern const float ls_elevation_CICP2[2]; -extern const float ls_azimuth_CICP6[5]; -extern const float ls_elevation_CICP6[5]; -extern const float ls_azimuth_CICP12[7]; -extern const float ls_elevation_CICP12[7]; -extern const float ls_azimuth_CICP14[7]; -extern const float ls_elevation_CICP14[7]; -extern const float ls_azimuth_CICP16[9]; -extern const float ls_elevation_CICP16[9]; -extern const float ls_azimuth_CICP19[11]; -extern const float ls_elevation_CICP19[11]; - -extern const float cb_azi_chan[]; - -extern const float McMASA_LFEGain_vectors[64]; - -/*----------------------------------------------------------------------------------* - * ISM ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float ism_azimuth_borders[4]; -extern const float ism_elevation_borders[4]; - -/*----------------------------------------------------------------------------------* - * Param ISM ROM tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t Param_ISM_band_grouping[MAX_PARAM_ISM_NBANDS + 1]; - - -/*----------------------------------------------------------------------------------* - * LFE coding ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float ivas_lpf_4_butter_16k_sos[IVAS_BIQUAD_FILT_LEN << 2]; -extern const float ivas_lpf_4_butter_32k_sos[IVAS_BIQUAD_FILT_LEN << 2]; -extern const float ivas_lpf_4_butter_48k_sos[IVAS_BIQUAD_FILT_LEN << 2]; -extern const float ivas_lpf_2_butter_16k[IVAS_BIQUAD_FILT_LEN << 1]; -extern const float ivas_lpf_2_butter_32k[IVAS_BIQUAD_FILT_LEN << 1]; -extern const float ivas_lpf_2_butter_48k[IVAS_BIQUAD_FILT_LEN << 1]; - -extern const float ivas_lfe_window_coeff_48k[IVAS_LFE_FADE_LEN_48K]; -extern const float ivas_lfe_window_coeff_32k[IVAS_LFE_FADE_LEN_32K]; -extern const float ivas_lfe_window_coeff_16k[IVAS_LFE_FADE_LEN_16K]; - -extern const int16_t ivas_lfe_num_ele_in_coder_models[2][4]; -extern const int16_t ivas_lfe_num_dct_pass_bins_tbl[IVAS_LFE_NUM_COEFFS_IN_SUBGRP]; -extern const int16_t ivas_lfe_min_shift_tbl[IVAS_LFE_NUM_COEFFS_IN_SUBGRP]; -extern const ivas_lfe_freq_models ivas_str_lfe_freq_models; -extern const float ivas_lfe_lpf_delay[2]; - -extern const double d_hamm_lfe_plc[LFE_PLC_LENANA / 2]; - -extern const float ivas_sin_twiddle_480[IVAS_480_PT_LEN >> 1]; -extern const float ivas_cos_twiddle_480[IVAS_480_PT_LEN >> 1]; -extern const float ivas_sin_twiddle_320[IVAS_320_PT_LEN >> 1]; -extern const float ivas_cos_twiddle_320[IVAS_320_PT_LEN >> 1]; -extern const float ivas_sin_twiddle_160[IVAS_160_PT_LEN >> 1]; -extern const float ivas_cos_twiddle_160[IVAS_160_PT_LEN >> 1]; -extern const float ivas_sin_twiddle_80[IVAS_80_PT_LEN >> 1]; -extern const float ivas_cos_twiddle_80[IVAS_80_PT_LEN >> 1]; - -/*------------------------------------------------------------------------------------------* - * MDFT/iMDFT ROM tables - *------------------------------------------------------------------------------------------*/ - -extern const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1]; -extern const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1]; -extern const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1]; -extern const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1]; -extern const float ivas_mdft_coeff_cos_twid_960[IVAS_960_PT_LEN + 1]; -extern const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN + 1]; -extern const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1]; -extern const int16_t dirac_gains_P_idx[16]; -extern const float dirac_gains_norm_term[9]; -extern const float dirac_gains_Pnm[91][9]; -extern const float dirac_gains_trg_term[181][2]; - -/*------------------------------------------------------------------------------------------* - * FB ROM tables - *------------------------------------------------------------------------------------------*/ - -extern const float ivas_fb_fcs_12band_1ms[IVAS_FB_BANDS_12]; - -extern const float ivas_fb_fr_12band_1ms_re[IVAS_FB_12_1MS_LEN]; -extern const float ivas_fb_fr_12band_1ms_im[IVAS_FB_12_1MS_LEN]; - -extern const int16_t ivas_fb_bins_per_band_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; -extern const int16_t ivas_fb_bins_start_offset_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; -extern const int16_t ivas_fb_abs_bins_per_band_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; -extern const int16_t ivas_fb_abs_bins_start_offset_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; - -extern const float ivas_fb_cf_4ms_48k[IVAS_FB_4MS_48K_SAMP]; -extern const float ivas_fb_cf_1ms_48k[IVAS_FB_1MS_48K_SAMP]; -extern const float ivas_fb_cf_4ms_32k[IVAS_FB_4MS_32K_SAMP]; -extern const float ivas_fb_cf_1ms_32k[IVAS_FB_1MS_32K_SAMP]; -extern const float ivas_fb_cf_4ms_16k[IVAS_FB_4MS_16K_SAMP]; -extern const float ivas_fb_cf_1ms_16k[IVAS_FB_1MS_16K_SAMP]; - -extern const float ivas_fb_resp_cheby_ramp_32del[IVAS_FB_1MS_32K_SAMP + 1]; -extern const float ivas_fb_resp_cheby_ramp_16del[IVAS_FB_1MS_16K_SAMP + 1]; - -extern const int16_t ivas_num_active_bands[FB - WB + 1]; - -/* IVAS_ROM_COM_H */ -#endif diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h deleted file mode 100644 index 79d29ea575..0000000000 --- a/lib_com/ivas_stat_com.h +++ /dev/null @@ -1,740 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_STAT_COM -#define IVAS_STAT_COM - -#include <stdint.h> -#include "options.h" -#include "typedef.h" -#include "cnst.h" -#include "ivas_cnst.h" - - -/*----------------------------------------------------------------------------------* - * Declaration of ISm common (encoder & decoder) structure - *----------------------------------------------------------------------------------*/ - -/* ISM metadata handle (storage for one frame of read ISM metadata) */ -typedef struct -{ - int16_t ism_metadata_flag; /* flag whether metadata are coded in particular frame of particular object */ - int16_t last_ism_metadata_flag; /* last frame ism_metadata_flag */ - - float azimuth; /* azimuth value read from the input metadata file */ - float elevation; /* azimuth value read from the input metadata file */ - - int16_t last_azimuth_idx; /* last frame index of coded azimuth */ - int16_t azimuth_diff_cnt; /* FEC counter of consecutive differentially azimuth coded frames */ - int16_t last_elevation_idx; /* last frame index of coded elevation */ - int16_t elevation_diff_cnt; /* FEC counter of consecutive differentially elevation coded frames */ - -} ISM_METADATA_FRAME, *ISM_METADATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Declaration of DFT Stereo common (encoder & decoder) structure - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_dft_config_data_struct -{ - int16_t dmx_active; - int16_t band_res; - int16_t prm_res; /* Send prm every # DFT frames */ -#ifdef DEBUG_MODE_DFT - int16_t gipd_mode; /* mode : from 0 (off) to 1 (on) */ - int16_t itd_mode; /* mode : from 0 (off) to 1 (on) */ -#endif - int16_t res_pred_mode; /* mode : from 0 (off) to 1 (on) */ - int16_t res_cod_mode; /* mode : from 0 (off) to 3 */ - int16_t hybrid_itd_flag; - int16_t ada_wb_res_cod_mode; /* res_cod_mode for adaptive wide band residual coding */ - - int16_t force_mono_transmission; - -} STEREO_DFT_CONFIG_DATA, *STEREO_DFT_CONFIG_DATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Declaration of MDCT stereo common (encoder & decoder) structure - *----------------------------------------------------------------------------------*/ - -typedef struct -{ - uint8_t const bandLengthsTCX20[SMDCT_MAX_STEREO_BANDS_TCX20]; /* Length of a band in number of bins. Range is 4..160 */ - const int16_t bdnCnt_TCX20[4]; /* uppermost band for FB,SWB,WB,NB */ - uint8_t const bandLengthsTCX10[SMDCT_MAX_STEREO_BANDS_TCX10]; /* Length of a band in number of bins. Range is 2..80, always divisible by 2 */ - const int16_t bndCnt_TCX10[4]; /* uppermost band for FB,SWB,WB,NB */ - -} MDCTStereoBands_config; - -/* MDCT stereo frequency band structure */ -typedef struct stereo_mdct_dec_band_parameters_struct -{ - int16_t sfbOffset[MAX_SFB + 1]; /* stereo frequency band start offsets */ - int16_t sfbCnt; /* number of stereo frequency bands */ - int16_t nBandsStereoCore; /* number of stereo frequency bands in the core */ - int16_t sfbIgfStart; /*index for first IGF band*/ - -} STEREO_MDCT_BAND_PARAMETERS; - - -/*----------------------------------------------------------------------------------* - * Declaration of ECLVQ common (encoder & decoder) structure - *----------------------------------------------------------------------------------*/ - -typedef struct -{ - int16_t config_index; - int16_t encoding_active; /* internal state specifying if actual encoding is active or only length evaluation is active */ - int32_t bit_count_estimate; /* uses 22Q10 fixed-point representation */ - void *ac_handle; - -} ECSQ_instance; - -/*----------------------------------------------------------------------------------* - * PARAMETRIC ISM encoder/decoder (common) structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_param_ism_data_structure -{ - int16_t nbands; - int16_t nblocks[MAX_PARAM_ISM_NBANDS]; - int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; - int16_t num_obj; - - int16_t azi_index[MAX_NUM_OBJECTS]; - int16_t ele_index[MAX_NUM_OBJECTS]; - - int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; - int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS]; - - int16_t last_az_sgn[MAX_NUM_OBJECTS]; - int16_t last_az_diff[MAX_NUM_OBJECTS]; - int16_t last_el_sgn[MAX_NUM_OBJECTS]; - int16_t last_el_diff[MAX_NUM_OBJECTS]; - - int16_t flag_noisy_speech; - int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE]; - -} PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Declaration of DirAC common (encoder & decoder) structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_dirac_config_data_struct -{ - int16_t enc_param_start_band; - int16_t dec_param_estim; - int16_t nbands; - -} DIRAC_CONFIG_DATA, *DIRAC_CONFIG_DATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Declaration of SPAR common structures - *----------------------------------------------------------------------------------*/ - -/* SPAR MD structures */ -typedef struct ivas_band_coeffs_t -{ - float pred_re[IVAS_SPAR_MAX_CH - 1]; - float C_re[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS][IVAS_SPAR_MAX_DMX_CHS - 1]; - float P_re[IVAS_SPAR_MAX_CH - 1]; - float pred_quant_re[IVAS_SPAR_MAX_CH - 1]; - float C_quant_re[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS][IVAS_SPAR_MAX_DMX_CHS - 1]; - float P_quant_re[IVAS_SPAR_MAX_CH - 1]; - -} ivas_band_coeffs_t; - -typedef struct ivas_band_coeffs_ind_t -{ - int16_t pred_index_re[IVAS_SPAR_MAX_CH - 1]; - int16_t drct_index_re[IVAS_SPAR_MAX_C_COEFF]; - int16_t decd_index_re[IVAS_SPAR_MAX_CH - 1]; - -} ivas_band_coeffs_ind_t; - -typedef struct ivas_spar_md_t -{ - ivas_band_coeffs_t *band_coeffs; - ivas_band_coeffs_ind_t band_coeffs_idx[IVAS_MAX_NUM_BANDS]; - int16_t num_bands; - float min_max[2]; - int16_t dtx_vad; - float en_ratio_slow[IVAS_MAX_NUM_BANDS]; - float ref_pow_slow[IVAS_MAX_NUM_BANDS]; -} ivas_spar_md_t; - -typedef struct ivas_spar_md_prev_t -{ - ivas_band_coeffs_ind_t band_coeffs_idx[IVAS_MAX_NUM_BANDS]; - ivas_band_coeffs_ind_t band_coeffs_idx_mapped[IVAS_MAX_NUM_BANDS]; - -} ivas_spar_md_prev_t; - -typedef struct ivas_quant_coeffs_t -{ - float min; - float max; - int16_t q_levels[2]; - -} ivas_quant_coeffs_t; - -typedef struct ivas_quant_strat_t -{ - ivas_quant_coeffs_t PR; - ivas_quant_coeffs_t C; - ivas_quant_coeffs_t P_r; - ivas_quant_coeffs_t P_c; - -} ivas_quant_strat_t; - -typedef struct ivas_spar_md_com_cfg -{ - int16_t max_freq_per_chan[IVAS_SPAR_MAX_CH]; - int16_t num_dmx_chans_per_band[IVAS_MAX_NUM_BANDS]; - int16_t num_decorr_per_band[IVAS_MAX_NUM_BANDS]; - int16_t active_w; - int16_t remix_unmix_order; - ivas_quant_strat_t quant_strat[MAX_QUANT_STRATS]; - int16_t quant_strat_bits; - int16_t nchan_transport; - int16_t num_quant_strats; - int16_t prior_strat; - int16_t tgt_bits_per_blk; - int16_t max_bits_per_blk; - int16_t prev_quant_idx; - int16_t agc_bits_ch_idx; - int16_t planarCP; - int16_t num_umx_chs; - -} ivas_spar_md_com_cfg; - - -/* arithmetic coder structures */ -typedef struct ivas_cell_dim_t -{ - int16_t dim1; - int16_t dim2; - -} ivas_cell_dim_t; - -typedef struct ivas_freq_models_t -{ - int16_t freq_model[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; - int16_t diff_freq_model[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; - int16_t vals[IVAS_MAX_QUANT_LEVELS]; - int16_t diff_vals[IVAS_MAX_QUANT_LEVELS]; - int16_t num_models; - int16_t diff_num_models; - -} ivas_freq_models_t; - -typedef struct ivas_huff_models_t -{ - int16_t code_book[IVAS_MAX_QUANT_LEVELS][3]; - int16_t diff_code_book[IVAS_MAX_QUANT_LEVELS][3]; - -} ivas_huff_models_t; - - -/* Entropy coder structures */ -typedef struct ivas_huffman_cfg_t -{ - const int16_t *codebook; - int16_t min_len; - int16_t max_len; - int16_t sym_len; - -} ivas_huffman_cfg_t; - -typedef struct ivas_arith_t -{ - int16_t dyn_model_bits; - const int16_t *pFreq_model; - const int16_t *pAlt_freq_models[IVAS_NUM_PROB_MODELS]; - const int16_t *vals; - int16_t cum_freq[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; - int16_t range; - int16_t num_models; - float saved_dist_arr[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; - -} ivas_arith_t; - -typedef struct ivas_arith_coeffs_t -{ - ivas_arith_t pred_arith_re[MAX_QUANT_STRATS]; - ivas_arith_t drct_arith_re[MAX_QUANT_STRATS]; - ivas_arith_t decd_arith_re[MAX_QUANT_STRATS]; - ivas_arith_t pred_arith_re_diff[MAX_QUANT_STRATS]; - ivas_arith_t drct_arith_re_diff[MAX_QUANT_STRATS]; - ivas_arith_t decd_arith_re_diff[MAX_QUANT_STRATS]; - -} ivas_arith_coeffs_t; - -typedef struct ivas_huff_coeffs_t -{ - ivas_huffman_cfg_t pred_huff_re[MAX_QUANT_STRATS]; - ivas_huffman_cfg_t drct_huff_re[MAX_QUANT_STRATS]; - ivas_huffman_cfg_t decd_huff_re[MAX_QUANT_STRATS]; - -} ivas_huff_coeffs_t; - -/* AGC structures */ -typedef struct ivas_agc_chan_data_t -{ - int16_t absGainExp; - int16_t absGainExpCurr; - -} ivas_agc_chan_data_t; - -typedef struct ivas_agc_com_state_t -{ - float *winFunc; - int16_t in_delay; - uint16_t absEmin; - uint16_t betaE; - uint16_t maxAttExp; - uint16_t num_coeff; - -} ivas_agc_com_state_t; - -/* Covariance structures */ -typedef struct ivas_cov_smooth_state_t -{ - float *pPrior_cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH]; - int16_t prior_bank_idx; - float *pSmoothing_factor; - int16_t num_bins; - -} ivas_cov_smooth_state_t; - -typedef struct ivas_cov_smooth_cfg_t -{ - float max_update_rate; - int16_t min_pool_size; - int16_t max_bands; - int16_t num_bins; - -} ivas_cov_smooth_cfg_t; - - -/* SPAR bitrate constant table structure */ -typedef struct ivas_spar_br_table_t -{ - int32_t ivas_total_brate; - int16_t isPlanar; - int16_t sba_order; - int16_t bwidth; - int16_t fpcs; - int16_t nchan_transport; - ivas_spar_pmx_strings_t dmx_str; - int16_t active_w; - int16_t tmode; - int32_t core_brs[FOA_CHANNELS][3]; - int16_t q_lvls[MAX_QUANT_STRATS][NUM_MD_Q_COEFS_SET]; - int16_t td_ducking; - int16_t agc_bits_ch_idx; /* 0-3, Indicates core-coder channel index from which AGC bits have been taken from*/ - int16_t usePlanarCoeff; - -} ivas_spar_br_table_t; - - -/*----------------------------------------------------------------------------------* - * Declaration of MASA common structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_MASA_spherical_grid_deindexing -{ - float theta_cb[NO_THETA16_MAX]; - int16_t no_theta; - int16_t no_phi[NO_THETA16_MAX]; - -} SPHERICAL_GRID_DATA; - -typedef struct ivas_masa_descriptive_meta_struct -{ - uint8_t formatDescriptor[8]; /* 8x 8 bits */ - uint8_t numberOfDirections; /* 1 bit */ - uint8_t numberOfChannels; /* 1 bit */ - uint8_t sourceFormat; /* 2 bits */ - uint8_t transportDefinition; /* 3 bits */ - uint8_t channelAngle; /* 3 bits */ - uint8_t channelDistance; /* 6 bits */ - uint8_t channelLayout; /* 3 bits, used only when sourceFormat == bit value 10 */ - -} MASA_DECRIPTIVE_META; - -typedef struct ivas_masa_directional_spatial_meta_struct -{ - float azimuth[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - float elevation[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - float energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - float spread_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - -} MASA_DIRECTIONAL_SPATIAL_META; - -typedef struct ivas_masa_common_spatial_meta_struct -{ - float diffuse_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - float surround_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - float remainder_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - -} MASA_COMMON_SPATIAL_META; - -typedef struct ivas_masa_metadata_frame_struct -{ - MASA_DECRIPTIVE_META descriptive_meta; - MASA_DIRECTIONAL_SPATIAL_META directional_meta[MASA_MAXIMUM_DIRECTIONS]; - MASA_COMMON_SPATIAL_META common_meta; - -} MASA_METADATA_FRAME, *MASA_METADATA_HANDLE; - -typedef struct ivas_masa_config_struct -{ - uint16_t max_metadata_bits; - int16_t block_grouping[5]; - int16_t band_grouping[MASA_FREQUENCY_BANDS + 1]; - uint8_t numCodingBands; - uint8_t numTwoDirBands; - uint8_t numberOfDirections; - uint8_t joinedSubframes; - uint8_t useCoherence; - uint8_t coherencePresent; - uint8_t mergeRatiosOverSubframes; - -} MASA_CODEC_CONFIG; - - -/*----------------------------------------------------------------------------------* - * Declaration of Qmetadata common structures - *----------------------------------------------------------------------------------*/ - -typedef struct -{ - int16_t nbands; - int16_t nblocks; - int16_t start_band; - int16_t search_effort; - MC_LS_SETUP mc_ls_setup; - -} IVAS_METADATA_CONFIG; - -typedef struct ivas_qdirection_band_data_struct -{ - uint16_t spherical_index[MAX_PARAM_SPATIAL_SUBFRAMES]; - float azimuth[MAX_PARAM_SPATIAL_SUBFRAMES]; - float elevation[MAX_PARAM_SPATIAL_SUBFRAMES]; - int16_t elevation_m_alphabet[MAX_PARAM_SPATIAL_SUBFRAMES]; - int16_t azimuth_m_alphabet[MAX_PARAM_SPATIAL_SUBFRAMES]; - - float energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint8_t distance[MAX_PARAM_SPATIAL_SUBFRAMES]; - - uint16_t bits_sph_idx[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint16_t energy_ratio_index[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint16_t energy_ratio_index_mod[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint16_t azimuth_index[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint16_t elevation_index[MAX_PARAM_SPATIAL_SUBFRAMES]; - float q_azimuth[MAX_PARAM_SPATIAL_SUBFRAMES]; - float q_elevation[MAX_PARAM_SPATIAL_SUBFRAMES]; - -} IVAS_QDIRECTION_BAND_DATA; - -typedef struct ivas_qdirection_band_coherence_data_struct -{ - uint8_t spread_coherence[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint16_t spread_coherence_dct0_index; - uint16_t spread_coherence_dct1_index; - -} IVAS_QDIRECTION_BAND_COHERENCE_DATA; - -typedef struct ivas_surround_coherence_band_data_struct -{ - uint8_t surround_coherence[MAX_PARAM_SPATIAL_SUBFRAMES]; - uint16_t sur_coherence_index; - -} IVAS_SURROUND_COHERENCE_BAND_DATA; - - -typedef struct -{ - IVAS_METADATA_CONFIG cfg; - - IVAS_QDIRECTION_BAND_DATA *band_data; - IVAS_QDIRECTION_BAND_COHERENCE_DATA *coherence_band_data; - int16_t not_in_2D; - -} IVAS_QDIRECTION; /* IVAS_QMETADATA; */ - -typedef struct ivas_masa_qmetadata_frame_struct -{ - IVAS_QDIRECTION *q_direction; - uint16_t no_directions; - int16_t bits_frame_nominal; - uint16_t coherence_flag; - uint8_t all_coherence_zero; - uint8_t twoDirBands[MASA_MAXIMUM_CODING_SUBBANDS]; - uint8_t numTwoDirBands; - int16_t qmetadata_max_bit_req; - int16_t metadata_max_bits; /* maximum allowed number of bits for metadata per frame */ - uint8_t useLowerRes; - uint8_t useLowerBandRes; - IVAS_SURROUND_COHERENCE_BAND_DATA *surcoh_band_data; - - /* Additional helper values to include all data required for writing to output file */ - uint8_t numCodingBands; - int16_t *bandMap; - int16_t nchan_transport; - int16_t sba_inactive_mode; - /* Status values on metadata quality */ - int16_t ec_flag; - float dir_comp_ratio; - uint8_t is_masa_ivas_format; - -} IVAS_QMETADATA, *IVAS_QMETADATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Declaration of Parametric MC common (encoder & decoder) structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_param_mc_ild_mapping_struct -{ - int16_t ild_map_size_wo_lfe; - int16_t ild_map_size_lfe; - int16_t ild_index[MAX_CICP_CHANNELS]; - int16_t num_ref_channels[MAX_CICP_CHANNELS]; - int16_t ref_channel_idx[MAX_CICP_CHANNELS][PARAM_MC_MAX_ILD_REF_CHANNELS]; - -} PARAM_MC_ILD_MAPPING, *HANDLE_PARAM_MC_ILD_MAPPING; - -typedef struct ivas_param_mc_icc_mapping_struct -{ - int16_t icc_map_size_wo_lfe; - int16_t icc_map_size_lfe; - int16_t icc_mapping[PARAM_MC_SZ_ICC_MAP][2]; - -} PARAM_MC_ICC_MAPPING, *HANDLE_PARAM_MC_ICC_MAPPING; - -typedef struct ivas_param_mc_conf_struct /* structure for ROM Table */ -{ - MC_LS_SETUP mc_ls_setup; - int16_t num_input_chan; - int16_t num_transport_chan; - int32_t ivas_total_brate; - const PARAM_MC_ILD_MAPPING *ild_mapping_conf; - const PARAM_MC_ICC_MAPPING *icc_mapping_conf; - const float *dmx_fac; - const float *ild_factors; - -} PARAM_MC_CONF; - -typedef struct ivas_parametric_mc_metadata_value_coding_info_struct -{ - const uint16_t *cum_freq; - const uint16_t *sym_freq; - const uint16_t *cum_freq_delta; - const uint16_t *sym_freq_delta; - const float *quantizer; - int16_t quantizer_size; - int16_t uni_bits; - -} PARAM_MC_PARAMETER_CODING_INFO, *HANDLE_PARAM_MC_PARAMETER_CODING_INFO; - -typedef struct ivas_parametric_mc_metadata_struct -{ - const PARAM_MC_ILD_MAPPING *ild_mapping_conf; - const PARAM_MC_ICC_MAPPING *icc_mapping_conf; - int16_t icc_mapping[PARAM_MC_PARAMETER_FRAMES][PARAM_MC_SZ_ICC_MAP][2]; - int16_t *icc_map_full[2]; - int16_t icc_map_size_full; - int16_t param_frame_idx; - int16_t flag_use_adaptive_icc_map; - const float *ild_factors; - int16_t coding_band_mapping[PARAM_MC_MAX_PARAMETER_BANDS]; - int16_t nbands_in_param_frame[PARAM_MC_PARAMETER_FRAMES]; - int16_t bAttackPresent; - int16_t attackIndex; - int16_t nbands_coded; - int16_t num_parameter_bands; - int16_t coded_bwidth; - int16_t last_coded_bwidth; - int16_t lfe_on; - PARAM_MC_PARAMETER_CODING_INFO icc_coding; - PARAM_MC_PARAMETER_CODING_INFO ild_coding; - -} IVAS_PARAM_MC_METADATA, *HANDLE_IVAS_PARAM_MC_METADATA; - - -/*----------------------------------------------------------------------------------* - * Declaration of LFE common (encoder & decoder) structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_lfe_window -{ - int16_t dct_len; - int16_t fade_len; - int16_t zero_pad_len; - int16_t full_len; - const float *pWindow_coeffs; - -} LFE_WINDOW_DATA, *LFE_WINDOW_HANDLE; - -typedef struct ivas_lfe_freq_models -{ - uint16_t entropy_coder_model_fine_sg1[65]; - uint16_t entropy_coder_model_fine_sg2[33]; - uint16_t entropy_coder_model_fine_sg3[9]; - uint16_t entropy_coder_model_fine_sg4[3]; - uint16_t entropy_coder_model_coarse_sg1[33]; - uint16_t entropy_coder_model_coarse_sg2[17]; - uint16_t entropy_coder_model_coarse_sg3[5]; - uint16_t entropy_coder_model_coarse_sg4; - -} ivas_lfe_freq_models; - -typedef struct ivas_filters_process_state_t -{ - int16_t order; - int16_t filt_len; - float num[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; - float den[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; - float state[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; - -} ivas_filters_process_state_t; - - -/*----------------------------------------------------------------------------------* - * Transient Detector (TD) structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_trans_det_state_t -{ - ivas_filters_process_state_t env_hpf; - ivas_filters_process_state_t env_fast; - ivas_filters_process_state_t env_slow; - float in_duck_coeff; - float out_duck_coeff; - float in_duck_gain; - float out_duck_gain; - float duck_mult_fac; - -} ivas_trans_det_state_t; - - -/*----------------------------------------------------------------------------------* - * Filter Bank (FB) structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_fb_mixer_cfg_t -{ - int16_t fb_latency; - int16_t num_in_chans; - int16_t num_out_chans; - int16_t pcm_offset; - int16_t fade_len; /* this sets the stride length; no delay is introduced */ - int16_t prior_input_length; - int16_t windowed_fr_offset; - int16_t active_w_mixing; - const int16_t *remix_order; - -} IVAS_FB_CFG; - -typedef struct ivas_fb_consts_t -{ - const float *ppFilterbank_FRs[2][IVAS_MAX_NUM_BANDS]; - float *ppFilterbank_FRs_non48k[2][IVAS_MAX_NUM_BANDS]; - const int16_t *pFilterbank_bins_per_band; - const int16_t *pFilterbank_bins_start_offset; - -} ivas_fb_consts_t; - -typedef struct ivas_fb_bin_to_band_data_t -{ - float *pFb_bin_to_band[IVAS_MAX_NUM_FB_BANDS]; - const int16_t *pFb_start_bin_per_band; - const int16_t *pFb_active_bins_per_band; - float pp_cldfb_weights_per_spar_band[CLDFB_NO_CHANNELS_MAX][IVAS_MAX_NUM_FB_BANDS]; /* weights for linear combination of parameters from different SPAR bands*/ - int16_t p_spar_start_bands[CLDFB_NO_CHANNELS_MAX]; /* the first SPAR band per CLFB band when the weight is > 0 */ - int16_t p_cldfb_map_to_spar_band[CLDFB_NO_CHANNELS_MAX]; /* a direct mapping from CLDFB band to SPAR band */ - int16_t p_short_stride_start_bin_per_band[IVAS_MAX_NUM_FB_BANDS]; - int16_t p_short_stride_num_bins_per_band[IVAS_MAX_NUM_FB_BANDS]; - float p_short_stride_bin_to_band[2 * MDFT_FB_BANDS_240]; - float *pp_short_stride_bin_to_band[IVAS_MAX_NUM_FB_BANDS]; - int16_t short_stride; - int16_t num_cldfb_bands; - -} ivas_fb_bin_to_band_data_t; - -typedef struct ivas_filterbank_t -{ - int16_t filterbank_num_bands; - ivas_fb_consts_t fb_consts; - ivas_fb_bin_to_band_data_t fb_bin_to_band; - -} ivas_filterbank_t; - -typedef struct ivas_fb_mixer_state_structure -{ - IVAS_FB_CFG *fb_cfg; - - int16_t num_diff_bands; - ivas_filterbank_t *pFb; - - float *ppFilterbank_inFR_re[IVAS_MAX_FB_MIXER_IN_CH]; - float *ppFilterbank_inFR_im[IVAS_MAX_FB_MIXER_IN_CH]; - float *ppFilterbank_prior_input[IVAS_MAX_FB_MIXER_IN_CH]; - float *prior_mixer[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH]; - - /* store sin part in const table (no need to store 1s and 0s, no need to do windowing for 1's and 0's as well) */ - int16_t cross_fade_start_offset; - int16_t cross_fade_end_offset; - const float *pFilterbank_cross_fade; - int16_t ana_window_offset; - const float *pAna_window; - - int16_t prior_input_length; - int16_t windowed_fr_offset; - float cldfb_cross_fade[CLDFB_NO_COL_MAX]; - int16_t cldfb_cross_fade_start; - int16_t cldfb_cross_fade_end; - - int16_t first_frame[IVAS_SPAR_MAX_CH]; - -} IVAS_FB_MIXER_DATA, *IVAS_FB_MIXER_HANDLE; - - -#endif /* IVAS_STAT_COM */ diff --git a/lib_com/mime.h b/lib_com/mime.h deleted file mode 100644 index 7ca2689dcf..0000000000 --- a/lib_com/mime.h +++ /dev/null @@ -1,447 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ -#ifndef MIME_H -#define MIME_H - -#include <stdint.h> -#include <stddef.h> -#include "options.h" -#include "typedef.h" - -#define AMRWB_MAGIC_NUMBER "#!AMR-WB\n" /* defined in RFC4867 */ -#define EVS_MAGIC_NUMBER "#!EVS_MC1.0\n" /* defined in 26.445 */ - -static const Word32 AMRWB_IOmode2rate[16] = { - 6600, /* AMRWB_IO_6600 */ - 8850, /* AMRWB_IO_8850 */ - 12650, /* AMRWB_IO_1265 */ - 14250, /* AMRWB_IO_1425 */ - 15850, /* AMRWB_IO_1585 */ - 18250, /* AMRWB_IO_1825 */ - 19850, /* AMRWB_IO_1985 */ - 23050, /* AMRWB_IO_2305 */ - 23850, /* AMRWB_IO_2385 */ - 1750, /* AMRWB_IO_SID */ - -1, /* AMRWB_IO_FUT1 */ - -1, /* AMRWB_IO_FUT2 */ - -1, /* AMRWB_IO_FUT3 */ - -1, /* AMRWB_IO_FUT4 */ - 0, /* SPEECH_BAD */ - 0 /* NO_DATA */ -}; - -static const Word32 PRIMARYmode2rate[16] = { - 2800, /* PRIMARY_2800 */ - 7200, /* PRIMARY_7200 */ - 8000, /* PRIMARY_8000 */ - 9600, /* PRIMARY_9600 */ - 13200, /* PRIMARY_13200 */ - 16400, /* PRIMARY_16400 */ - 24400, /* PRIMARY_24400 */ - 32000, /* PRIMARY_32000 */ - 48000, /* PRIMARY_48000 */ - 64000, /* PRIMARY_64000 */ - 96000, /* PRIMARY_96000 */ - 128000, /* PRIMARY_128000 */ - 2400, /* PRIMARY_SID */ - -1, /* PRIMARY_FUT1 */ - 0, /* SPEECH_LOST */ - 0 /* NO_DATA */ -}; - -/* sorting tables for all AMR-WB IO modes */ - -static const Word16 sort_660[132] = { - 0, 5, 6, 7, 61, 84, 107, 130, 62, 85, - 8, 4, 37, 38, 39, 40, 58, 81, 104, 127, - 60, 83, 106, 129, 108, 131, 128, 41, 42, 80, - 126, 1, 3, 57, 103, 82, 105, 59, 2, 63, - 109, 110, 86, 19, 22, 23, 64, 87, 18, 20, - 21, 17, 13, 88, 43, 89, 65, 111, 14, 24, - 25, 26, 27, 28, 15, 16, 44, 90, 66, 112, - 9, 11, 10, 12, 67, 113, 29, 30, 31, 32, - 34, 33, 35, 36, 45, 51, 68, 74, 91, 97, - 114, 120, 46, 69, 92, 115, 52, 75, 98, 121, - 47, 70, 93, 116, 53, 76, 99, 122, 48, 71, - 94, 117, 54, 77, 100, 123, 49, 72, 95, 118, - 55, 78, 101, 124, 50, 73, 96, 119, 56, 79, - 102, 125 -}; - -static const Word16 sort_885[177] = { - 0, 4, 6, 7, 5, 3, 47, 48, 49, 112, - 113, 114, 75, 106, 140, 171, 80, 111, 145, 176, - 77, 108, 142, 173, 78, 109, 143, 174, 79, 110, - 144, 175, 76, 107, 141, 172, 50, 115, 51, 2, - 1, 81, 116, 146, 19, 21, 12, 17, 18, 20, - 16, 25, 13, 10, 14, 24, 23, 22, 26, 8, - 15, 52, 117, 31, 82, 147, 9, 33, 11, 83, - 148, 53, 118, 28, 27, 84, 149, 34, 35, 29, - 46, 32, 30, 54, 119, 37, 36, 39, 38, 40, - 85, 150, 41, 42, 43, 44, 45, 55, 60, 65, - 70, 86, 91, 96, 101, 120, 125, 130, 135, 151, - 156, 161, 166, 56, 87, 121, 152, 61, 92, 126, - 157, 66, 97, 131, 162, 71, 102, 136, 167, 57, - 88, 122, 153, 62, 93, 127, 158, 67, 98, 132, - 163, 72, 103, 137, 168, 58, 89, 123, 154, 63, - 94, 128, 159, 68, 99, 133, 164, 73, 104, 138, - 169, 59, 90, 124, 155, 64, 95, 129, 160, 69, - 100, 134, 165, 74, 105, 139, 170 -}; - -static const Word16 sort_1265[253] = { - 0, 4, 6, 93, 143, 196, 246, 7, 5, 3, - 47, 48, 49, 50, 51, 150, 151, 152, 153, 154, - 94, 144, 197, 247, 99, 149, 202, 252, 96, 146, - 199, 249, 97, 147, 200, 250, 100, 203, 98, 148, - 201, 251, 95, 145, 198, 248, 52, 2, 1, 101, - 204, 155, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 156, 31, 102, 205, 9, 33, 11, 103, 206, 54, - 157, 28, 27, 104, 207, 34, 35, 29, 46, 32, - 30, 55, 158, 37, 36, 39, 38, 40, 105, 208, - 41, 42, 43, 44, 45, 56, 106, 159, 209, 57, - 66, 75, 84, 107, 116, 125, 134, 160, 169, 178, - 187, 210, 219, 228, 237, 58, 108, 161, 211, 62, - 112, 165, 215, 67, 117, 170, 220, 71, 121, 174, - 224, 76, 126, 179, 229, 80, 130, 183, 233, 85, - 135, 188, 238, 89, 139, 192, 242, 59, 109, 162, - 212, 63, 113, 166, 216, 68, 118, 171, 221, 72, - 122, 175, 225, 77, 127, 180, 230, 81, 131, 184, - 234, 86, 136, 189, 239, 90, 140, 193, 243, 60, - 110, 163, 213, 64, 114, 167, 217, 69, 119, 172, - 222, 73, 123, 176, 226, 78, 128, 181, 231, 82, - 132, 185, 235, 87, 137, 190, 240, 91, 141, 194, - 244, 61, 111, 164, 214, 65, 115, 168, 218, 70, - 120, 173, 223, 74, 124, 177, 227, 79, 129, 182, - 232, 83, 133, 186, 236, 88, 138, 191, 241, 92, - 142, 195, 245 -}; - -static const Word16 sort_1425[285] = { - 0, 4, 6, 101, 159, 220, 278, 7, 5, 3, - 47, 48, 49, 50, 51, 166, 167, 168, 169, 170, - 102, 160, 221, 279, 107, 165, 226, 284, 104, 162, - 223, 281, 105, 163, 224, 282, 108, 227, 106, 164, - 225, 283, 103, 161, 222, 280, 52, 2, 1, 109, - 228, 171, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 172, 31, 110, 229, 9, 33, 11, 111, 230, 54, - 173, 28, 27, 112, 231, 34, 35, 29, 46, 32, - 30, 55, 174, 37, 36, 39, 38, 40, 113, 232, - 41, 42, 43, 44, 45, 56, 114, 175, 233, 62, - 120, 181, 239, 75, 133, 194, 252, 57, 115, 176, - 234, 63, 121, 182, 240, 70, 128, 189, 247, 76, - 134, 195, 253, 83, 141, 202, 260, 92, 150, 211, - 269, 84, 142, 203, 261, 93, 151, 212, 270, 85, - 143, 204, 262, 94, 152, 213, 271, 86, 144, 205, - 263, 95, 153, 214, 272, 64, 122, 183, 241, 77, - 135, 196, 254, 65, 123, 184, 242, 78, 136, 197, - 255, 87, 145, 206, 264, 96, 154, 215, 273, 58, - 116, 177, 235, 66, 124, 185, 243, 71, 129, 190, - 248, 79, 137, 198, 256, 88, 146, 207, 265, 97, - 155, 216, 274, 59, 117, 178, 236, 67, 125, 186, - 244, 72, 130, 191, 249, 80, 138, 199, 257, 89, - 147, 208, 266, 98, 156, 217, 275, 60, 118, 179, - 237, 68, 126, 187, 245, 73, 131, 192, 250, 81, - 139, 200, 258, 90, 148, 209, 267, 99, 157, 218, - 276, 61, 119, 180, 238, 69, 127, 188, 246, 74, - 132, 193, 251, 82, 140, 201, 259, 91, 149, 210, - 268, 100, 158, 219, 277 -}; - -static const Word16 sort_1585[317] = { - 0, 4, 6, 109, 175, 244, 310, 7, 5, 3, - 47, 48, 49, 50, 51, 182, 183, 184, 185, 186, - 110, 176, 245, 311, 115, 181, 250, 316, 112, 178, - 247, 313, 113, 179, 248, 314, 116, 251, 114, 180, - 249, 315, 111, 177, 246, 312, 52, 2, 1, 117, - 252, 187, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 188, 31, 118, 253, 9, 33, 11, 119, 254, 54, - 189, 28, 27, 120, 255, 34, 35, 29, 46, 32, - 30, 55, 190, 37, 36, 39, 38, 40, 121, 256, - 41, 42, 43, 44, 45, 56, 122, 191, 257, 63, - 129, 198, 264, 76, 142, 211, 277, 89, 155, 224, - 290, 102, 168, 237, 303, 57, 123, 192, 258, 70, - 136, 205, 271, 83, 149, 218, 284, 96, 162, 231, - 297, 62, 128, 197, 263, 75, 141, 210, 276, 88, - 154, 223, 289, 101, 167, 236, 302, 58, 124, 193, - 259, 71, 137, 206, 272, 84, 150, 219, 285, 97, - 163, 232, 298, 59, 125, 194, 260, 64, 130, 199, - 265, 67, 133, 202, 268, 72, 138, 207, 273, 77, - 143, 212, 278, 80, 146, 215, 281, 85, 151, 220, - 286, 90, 156, 225, 291, 93, 159, 228, 294, 98, - 164, 233, 299, 103, 169, 238, 304, 106, 172, 241, - 307, 60, 126, 195, 261, 65, 131, 200, 266, 68, - 134, 203, 269, 73, 139, 208, 274, 78, 144, 213, - 279, 81, 147, 216, 282, 86, 152, 221, 287, 91, - 157, 226, 292, 94, 160, 229, 295, 99, 165, 234, - 300, 104, 170, 239, 305, 107, 173, 242, 308, 61, - 127, 196, 262, 66, 132, 201, 267, 69, 135, 204, - 270, 74, 140, 209, 275, 79, 145, 214, 280, 82, - 148, 217, 283, 87, 153, 222, 288, 92, 158, 227, - 293, 95, 161, 230, 296, 100, 166, 235, 301, 105, - 171, 240, 306, 108, 174, 243, 309 -}; - -static const Word16 sort_1825[365] = { - 0, 4, 6, 121, 199, 280, 358, 7, 5, 3, - 47, 48, 49, 50, 51, 206, 207, 208, 209, 210, - 122, 200, 281, 359, 127, 205, 286, 364, 124, 202, - 283, 361, 125, 203, 284, 362, 128, 287, 126, 204, - 285, 363, 123, 201, 282, 360, 52, 2, 1, 129, - 288, 211, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 212, 31, 130, 289, 9, 33, 11, 131, 290, 54, - 213, 28, 27, 132, 291, 34, 35, 29, 46, 32, - 30, 55, 214, 37, 36, 39, 38, 40, 133, 292, - 41, 42, 43, 44, 45, 56, 134, 215, 293, 198, - 299, 136, 120, 138, 60, 279, 58, 62, 357, 139, - 140, 295, 156, 57, 219, 297, 63, 217, 137, 170, - 300, 222, 64, 106, 61, 78, 294, 92, 142, 141, - 135, 221, 296, 301, 343, 59, 298, 184, 329, 315, - 220, 216, 265, 251, 218, 237, 352, 223, 157, 86, - 171, 87, 164, 351, 111, 302, 65, 178, 115, 323, - 72, 192, 101, 179, 93, 73, 193, 151, 337, 309, - 143, 274, 69, 324, 165, 150, 97, 338, 110, 310, - 330, 273, 68, 107, 175, 245, 114, 79, 113, 189, - 246, 259, 174, 71, 185, 96, 344, 100, 322, 83, - 334, 316, 333, 252, 161, 348, 147, 82, 269, 232, - 260, 308, 353, 347, 163, 231, 306, 320, 188, 270, - 146, 177, 266, 350, 256, 85, 149, 116, 191, 160, - 238, 258, 336, 305, 255, 88, 224, 99, 339, 230, - 228, 227, 272, 242, 241, 319, 233, 311, 102, 74, - 180, 275, 66, 194, 152, 325, 172, 247, 244, 261, - 117, 158, 166, 354, 75, 144, 108, 312, 94, 186, - 303, 80, 234, 89, 195, 112, 340, 181, 345, 317, - 326, 276, 239, 167, 118, 313, 70, 355, 327, 253, - 190, 176, 271, 104, 98, 153, 103, 90, 76, 267, - 277, 248, 225, 262, 182, 84, 154, 235, 335, 168, - 331, 196, 341, 249, 162, 307, 148, 349, 263, 321, - 257, 243, 229, 356, 159, 119, 67, 187, 173, 145, - 240, 77, 304, 332, 314, 342, 109, 254, 81, 278, - 105, 91, 346, 318, 183, 250, 197, 328, 95, 155, - 169, 268, 226, 236, 264 -}; - -static const Word16 sort_1985[397] = { - 0, 4, 6, 129, 215, 304, 390, 7, 5, 3, - 47, 48, 49, 50, 51, 222, 223, 224, 225, 226, - 130, 216, 305, 391, 135, 221, 310, 396, 132, 218, - 307, 393, 133, 219, 308, 394, 136, 311, 134, 220, - 309, 395, 131, 217, 306, 392, 52, 2, 1, 137, - 312, 227, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 228, 31, 138, 313, 9, 33, 11, 139, 314, 54, - 229, 28, 27, 140, 315, 34, 35, 29, 46, 32, - 30, 55, 230, 37, 36, 39, 38, 40, 141, 316, - 41, 42, 43, 44, 45, 56, 142, 231, 317, 63, - 73, 92, 340, 82, 324, 149, 353, 159, 334, 165, - 338, 178, 163, 254, 77, 168, 257, 153, 343, 57, - 248, 238, 79, 252, 166, 67, 80, 201, 101, 267, - 143, 164, 341, 255, 339, 187, 376, 318, 78, 328, - 362, 115, 232, 242, 253, 290, 276, 62, 58, 158, - 68, 93, 179, 319, 148, 169, 154, 72, 385, 329, - 333, 344, 102, 83, 144, 233, 323, 124, 243, 192, - 354, 237, 64, 247, 202, 209, 150, 116, 335, 268, - 239, 299, 188, 196, 298, 94, 195, 258, 123, 363, - 384, 109, 325, 371, 170, 370, 84, 110, 295, 180, - 74, 210, 191, 106, 291, 205, 367, 381, 377, 206, - 355, 122, 119, 120, 383, 160, 105, 108, 277, 380, - 294, 284, 285, 345, 208, 269, 249, 366, 386, 300, - 297, 259, 125, 369, 197, 97, 194, 286, 211, 281, - 280, 183, 372, 87, 155, 283, 59, 348, 327, 184, - 76, 111, 330, 203, 349, 69, 98, 152, 145, 189, - 66, 320, 337, 173, 358, 251, 198, 174, 263, 262, - 126, 241, 193, 88, 388, 117, 95, 387, 112, 359, - 287, 244, 103, 272, 301, 171, 162, 234, 273, 127, - 373, 181, 292, 85, 378, 302, 121, 107, 364, 346, - 356, 212, 278, 213, 65, 382, 288, 207, 113, 175, - 99, 296, 374, 368, 199, 260, 185, 336, 331, 161, - 270, 264, 250, 240, 75, 350, 151, 60, 89, 321, - 156, 274, 360, 326, 70, 282, 167, 146, 352, 81, - 91, 389, 266, 245, 177, 235, 190, 256, 204, 342, - 128, 118, 303, 104, 379, 182, 114, 375, 200, 96, - 293, 172, 214, 365, 279, 86, 289, 351, 347, 357, - 261, 186, 176, 271, 90, 100, 147, 322, 275, 361, - 71, 332, 61, 265, 157, 246, 236 -}; - -static const Word16 sort_2305[461] = { - 0, 4, 6, 145, 247, 352, 454, 7, 5, 3, - 47, 48, 49, 50, 51, 254, 255, 256, 257, 258, - 146, 248, 353, 455, 151, 253, 358, 460, 148, 250, - 355, 457, 149, 251, 356, 458, 152, 359, 150, 252, - 357, 459, 147, 249, 354, 456, 52, 2, 1, 153, - 360, 259, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 260, 31, 154, 361, 9, 33, 11, 155, 362, 54, - 261, 28, 27, 156, 363, 34, 35, 29, 46, 32, - 30, 55, 262, 37, 36, 39, 38, 40, 157, 364, - 41, 42, 43, 44, 45, 56, 158, 263, 365, 181, - 192, 170, 79, 57, 399, 90, 159, 297, 377, 366, - 275, 68, 183, 388, 286, 194, 299, 92, 70, 182, - 401, 172, 59, 91, 58, 400, 368, 161, 81, 160, - 264, 171, 80, 389, 390, 378, 379, 193, 298, 69, - 266, 265, 367, 277, 288, 276, 287, 184, 60, 195, - 82, 93, 71, 369, 402, 173, 162, 444, 300, 391, - 98, 76, 278, 61, 267, 374, 135, 411, 167, 102, - 380, 200, 87, 178, 65, 94, 204, 124, 72, 342, - 189, 305, 381, 396, 433, 301, 226, 407, 289, 237, - 113, 215, 185, 128, 309, 403, 116, 320, 196, 331, - 370, 422, 174, 64, 392, 83, 425, 219, 134, 188, - 432, 112, 427, 139, 279, 163, 436, 208, 447, 218, - 236, 229, 97, 294, 385, 230, 166, 268, 177, 443, - 225, 426, 101, 272, 138, 127, 290, 117, 347, 199, - 414, 95, 140, 240, 410, 395, 209, 129, 283, 346, - 105, 241, 437, 86, 308, 448, 203, 345, 186, 107, - 220, 415, 334, 319, 106, 313, 118, 123, 73, 207, - 421, 214, 384, 373, 438, 62, 371, 341, 75, 449, - 168, 323, 164, 242, 416, 324, 304, 197, 335, 404, - 271, 63, 191, 325, 96, 169, 231, 280, 312, 187, - 406, 84, 201, 100, 67, 382, 175, 336, 202, 330, - 269, 393, 376, 383, 293, 307, 409, 179, 285, 314, - 302, 372, 398, 190, 180, 89, 99, 103, 232, 78, - 88, 77, 136, 387, 165, 198, 394, 125, 176, 428, - 74, 375, 238, 227, 66, 273, 282, 141, 306, 412, - 114, 85, 130, 348, 119, 291, 296, 386, 233, 397, - 303, 405, 284, 445, 423, 221, 210, 205, 450, 108, - 274, 434, 216, 343, 337, 142, 243, 321, 408, 451, - 310, 292, 120, 109, 281, 439, 270, 429, 332, 295, - 418, 211, 315, 222, 326, 131, 430, 244, 327, 349, - 417, 316, 143, 338, 440, 234, 110, 212, 452, 245, - 121, 419, 350, 223, 132, 441, 328, 413, 317, 339, - 126, 104, 137, 446, 344, 239, 435, 115, 333, 206, - 322, 217, 228, 424, 453, 311, 351, 111, 442, 224, - 213, 122, 431, 340, 235, 246, 133, 144, 420, 329, - 318 -}; - -static const Word16 sort_2385[477] = { - 0, 4, 6, 145, 251, 360, 466, 7, 5, 3, - 47, 48, 49, 50, 51, 262, 263, 264, 265, 266, - 146, 252, 361, 467, 151, 257, 366, 472, 148, 254, - 363, 469, 149, 255, 364, 470, 156, 371, 150, 256, - 365, 471, 147, 253, 362, 468, 52, 2, 1, 157, - 372, 267, 19, 21, 12, 17, 18, 20, 16, 25, - 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, - 268, 31, 152, 153, 154, 155, 258, 259, 260, 261, - 367, 368, 369, 370, 473, 474, 475, 476, 158, 373, - 9, 33, 11, 159, 374, 54, 269, 28, 27, 160, - 375, 34, 35, 29, 46, 32, 30, 55, 270, 37, - 36, 39, 38, 40, 161, 376, 41, 42, 43, 44, - 45, 56, 162, 271, 377, 185, 196, 174, 79, 57, - 411, 90, 163, 305, 389, 378, 283, 68, 187, 400, - 294, 198, 307, 92, 70, 186, 413, 176, 59, 91, - 58, 412, 380, 165, 81, 164, 272, 175, 80, 401, - 402, 390, 391, 197, 306, 69, 274, 273, 379, 285, - 296, 284, 295, 188, 60, 199, 82, 93, 71, 381, - 414, 177, 166, 456, 308, 403, 98, 76, 286, 61, - 275, 386, 135, 423, 171, 102, 392, 204, 87, 182, - 65, 94, 208, 124, 72, 350, 193, 313, 393, 408, - 445, 309, 230, 419, 297, 241, 113, 219, 189, 128, - 317, 415, 116, 328, 200, 339, 382, 434, 178, 64, - 404, 83, 437, 223, 134, 192, 444, 112, 439, 139, - 287, 167, 448, 212, 459, 222, 240, 233, 97, 302, - 397, 234, 170, 276, 181, 455, 229, 438, 101, 280, - 138, 127, 298, 117, 355, 203, 426, 95, 140, 244, - 422, 407, 213, 129, 291, 354, 105, 245, 449, 86, - 316, 460, 207, 353, 190, 107, 224, 427, 342, 327, - 106, 321, 118, 123, 73, 211, 433, 218, 396, 385, - 450, 62, 383, 349, 75, 461, 172, 331, 168, 246, - 428, 332, 312, 201, 343, 416, 279, 63, 195, 333, - 96, 173, 235, 288, 320, 191, 418, 84, 205, 100, - 67, 394, 179, 344, 206, 338, 277, 405, 388, 395, - 301, 315, 421, 183, 293, 322, 310, 384, 410, 194, - 184, 89, 99, 103, 236, 78, 88, 77, 136, 399, - 169, 202, 406, 125, 180, 440, 74, 387, 242, 231, - 66, 281, 290, 141, 314, 424, 114, 85, 130, 356, - 119, 299, 304, 398, 237, 409, 311, 417, 292, 457, - 435, 225, 214, 209, 462, 108, 282, 446, 220, 351, - 345, 142, 247, 329, 420, 463, 318, 300, 120, 109, - 289, 451, 278, 441, 340, 303, 430, 215, 323, 226, - 334, 131, 442, 248, 335, 357, 429, 324, 143, 346, - 452, 238, 110, 216, 464, 249, 121, 431, 358, 227, - 132, 453, 336, 425, 325, 347, 126, 104, 137, 458, - 352, 243, 447, 115, 341, 210, 330, 221, 232, 436, - 465, 319, 359, 111, 454, 228, 217, 122, 443, 348, - 239, 250, 133, 144, 432, 337, 326 -}; - -static const Word16 sort_SID[35] = { - 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, - 30, 31, 32, 33, 34 -}; - -/* pointer table for bit sorting tables */ -static const Word16 *const sort_ptr[16] = { sort_660, sort_885, sort_1265, sort_1425, sort_1585, sort_1825, sort_1985, sort_2305, - sort_2385, sort_SID, NULL, NULL, NULL, NULL, NULL, NULL }; - -/* 4 bit to 3 bit AMR-WB CMR remapping table */ -static const Word16 amrwb_3bit_cmr[16] = { - 0x00, /* AMRWB_660 */ - 0x01, /* AMRWB_885 */ - 0x02, /* AMRWB_1265 */ - 0x05, /* AMRWB_1425 */ - 0x03, /* AMRWB_1585 */ - 0x06, /* AMRWB_1825 */ - 0x06, /* AMRWB_1985 -> AMRWB_1825 */ - 0x06, /* AMRWB_2305 -> AMRWB_1825 */ - 0x04, /* AMRWB_2385 */ - 0x07, /* invalid request -> none */ - 0x07, /* invalid request -> none */ - 0x07, /* invalid request -> none */ - 0x07, /* invalid request -> none */ - 0x07, /* invalid request -> none */ - 0x07, /* invalid request -> none */ - 0x07 /* invalid request -> none */ -}; - -/* 3 bit to 4 bit AMR-WB CMR remapping table */ -static const Word16 amrwb_4bit_cmr[8] = { - 0x00, /* AMRWB_660 */ - 0x01, /* AMRWB_885 */ - 0x02, /* AMRWB_1265 */ - 0x04, /* AMRWB_1585 */ - 0x08, /* AMRWB_2385 */ - 0x03, /* AMRWB_1425 */ - 0x05, /* AMRWB_1825 */ - 0x0f /* invalid */ -}; -#endif diff --git a/lib_com/move.h b/lib_com/move.h deleted file mode 100644 index f0e8238dec..0000000000 --- a/lib_com/move.h +++ /dev/null @@ -1,74 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef _MOVE_H -#define _MOVE_H - -/* BASOP -> FLC brigde: data move counting */ - -#include "stl.h" - -static __inline void move16( void ) -{ -} - -static __inline void move32( void ) -{ -} - -static __inline void test( void ) -{ -} - -static __inline void logic16( void ) -{ -} - -static __inline void logic32( void ) -{ -} - - -/*-------- legacy ----------*/ -#define data_move() move16() -#define L_data_move() move32() -#define data_move_external() move16() -#define compare_zero() test() -/*-------- end legacy ----------*/ - -#define cast16 move16 - -#endif /* _MOVE_H */ diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h deleted file mode 100644 index 83a7581491..0000000000 --- a/lib_com/rom_com.h +++ /dev/null @@ -1,1330 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef ROM_COM_H -#define ROM_COM_H - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "stat_enc.h" -#include "stat_dec.h" -#include "stl.h" -#include "basop_util.h" - -typedef struct -{ - int32_t fin; /* input frequency */ - int32_t fout; /* output frequency */ - int16_t fac_num; /* numerator of resampling factor */ - const float *filter; /* resampling filter coefficients */ - int16_t filt_len; /* number of filter coeff. */ - uint16_t flags; /* flags from config. table */ -} Resampling_cfg; - -typedef struct -{ - int16_t bands; - int16_t bw; - const int16_t *band_width; - Word32 L_qint; - Word16 eref_fx; - Word16 bit_alloc_weight_fx; - int16_t gqlevs; - int16_t Ngq; - int16_t p2a_bands; - float p2a_th; - float pd_thresh; - float ld_slope; - float ni_coef; - float ni_pd_th; -} Xcore_Config; - -/*-----------------------------------------------------------------* - * Table of bitrates - *-----------------------------------------------------------------*/ - -extern const int32_t brate_tbl[SIZE_BRATE_TBL]; -extern const int32_t brate_intermed_tbl[]; -extern const int32_t acelp_sig_tbl[MAX_ACELP_SIG]; - -/*-----------------------------------------------------------------* - * Bit-allocation tables - *-----------------------------------------------------------------*/ - -extern const int16_t LSF_bits_tbl[]; /* Bit allocation table for end-frame ISF quantizer */ -extern const int16_t mid_LSF_bits_tbl[]; /* Bit allocation table for mid-frame ISF quantizer */ -extern const int16_t Es_pred_bits_tbl[]; /* Bit allocation table for scaled innovation energy prediction */ -extern const int16_t gain_bits_tbl[]; /* Bit allocation table for gain quantizer */ - -extern const int16_t ACB_bits_tbl[]; /* Bit allocation table for adaptive codebook (pitch) */ -extern const int16_t FCB_bits_tbl[]; /* Bit allocation table for algebraic (fixed) codebook (innovation) */ -extern const int16_t reserved_bits_tbl[]; /* Bit allocation table for reseved bits */ - -extern const int16_t ACB_bits_16kHz_tbl[]; /* Bit allocation table for adaptive codebook (pitch) @16kHz */ -extern const int16_t FCB_bits_16kHz_tbl[]; /* Bit allocation table for algebraic (fixed) codebook (innovation) @16kHz */ -extern const int16_t gain_bits_16kHz_tbl[]; /* Bit allocation table for gain quantizer @16kHz */ -extern const int16_t AVQ_bits_16kHz_tbl[]; /* Bit allocation table for AVQ bits @16kHz ACELP, active segments */ - -extern const uint32_t pulsestostates[17][9]; /* Number of states for any combination of pulses in any combination of vector length */ - -extern const uint8_t ACELP_NRG_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; -extern const uint8_t ACELP_NRG_BITS[3]; - -extern const uint8_t ACELP_LTP_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; -extern const uint8_t ACELP_LTP_BITS[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; -extern const uint8_t ACELP_LTP_BITS_SFR[8 + RF_MODE_MAX][5]; - -extern const uint8_t ACELP_LTF_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; -extern const uint8_t ACELP_LTF_BITS[4]; - -extern const uint8_t ACELP_GAINS_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; -extern const uint8_t ACELP_GAINS_BITS[10]; - -extern const uint8_t ACELP_BPF_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; -extern const uint8_t ACELP_BPF_BITS[3]; - - -/*----------------------------------------------------------------------------------* - * Pre-processing - *----------------------------------------------------------------------------------*/ - -extern const float inv_tbl[]; /* Table of 1/x values */ - -extern const Resampling_cfg resampling_cfg_tbl[]; /* table of resampling configurations */ -extern const FrameSizeParams FrameSizeConfig[FRAME_SIZE_NB]; - -extern const float h_high[]; /* HP filter for filtering random part of excitation in FEC */ -extern const float crit_bands[]; /* Table of critical bands */ -extern const float sincos_t[]; /* FFT - sinus and cosinus tables */ -extern const float sincos_t_ext[]; -extern const float sincos_t_rad3[]; -extern const int16_t fft256_read_indexes[]; /* FFT */ -extern const float inter4_2[]; /* 1/4 resolution interpolation filter */ -extern const float LP_assym_window[]; /* Assymetric window for LP analysis @12.8kHz */ -extern const float LP_assym_window_16k[]; /* Assymetric window for LP analysis @16kHz */ -extern const float hamcos_window[]; /* Hamming-Cosinus window */ -extern const float grid50[]; /* Table of grid points for evaluating Chebyshev polynomials */ -extern const float grid40[]; /* Table of grid points for evaluating Chebyshev polynomials */ -extern const float grid100[]; /* Table of 100 grid points for evaluating Chebyshev polynomials */ - -extern const float wind_sss[LEN_WIN_SSS]; /* window for modify_sf ana */ -extern const float filter5_39s320_120[]; /* LP FIR filter for 8kHz signal resampling */ - -extern const float lag_window_8k[17]; -extern const float lag_window_12k8[][17]; -extern const float lag_window_16k[][17]; -extern const float lag_window_25k6[][17]; -extern const float lag_window_32k[][17]; -extern const float lag_window_48k[17]; -extern const float interpol_frac2[]; /* LPC interpolation coefficients for two-subframe mode */ -extern const float interpol_frac2_mid[]; /* LPC interpolation coefficients with mid-ISFs for two-subframe mode */ -extern const float interpol_frac_12k8[]; /* LPC interpolation coefficients */ -extern const float interpol_isp_amr_wb[]; /* LPC interpolation coefficients for AMR-WB interoperable mode */ -extern const float interpol_frac_16k[]; /* LPC interpolation coefficients @ 16kHz */ -extern const float interpol_frac_mid[]; /* LPC interpolation coefficients with mid-ISFs */ -extern const float interpol_frac_mid_16k[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz */ -extern const float interpol_frac_mid_relaxprev_12k8[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz - relaxed prev frame interp */ -extern const float interpol_frac_mid_FEC[]; /* LPC interpolation coefficients with mid-ISFs - FEC */ -extern const float interpol_frac_mid_relaxprev_16k[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz - relaxed prev frame interp */ -extern const float interpol_frac_mid_16k_FEC[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz - FEC */ -extern const float interpol_frac_mid_relaxprev_pred_12k8[]; -extern const float interpol_frac_mid_relaxprev_pred_16k[]; - -extern const float inter6_2[PIT_FIR_SIZE6_2]; -extern const float inter4_2tcx2[4][4]; -extern const float inter6_2tcx2[6][4]; -typedef struct TCX_LTP_FILTER -{ - const float *filt; - int16_t length; -} TCX_LTP_FILTER; -extern const TCX_LTP_FILTER tcxLtpFilters[12]; - -extern const float gain_qua_mless_7b[]; /* Gain quantization - gain quantization table */ -extern const float gain_qua_mless_6b_stereo[]; /* Gain quantization - gain quantization table in IVAS */ -extern const float gain_qua_mless_6b[]; /* Gain quantization - gain quantization table */ -extern const float gain_qua_mless_5b[]; /* Gain quantization - gain quantization table */ -extern const float pred_gain[]; /* Gain quantization - MA predicition coefficients for gain quantizer */ -extern const float t_qua_gain6b[]; /* Gain quantization - gain quantization table for AMR-WB interoperable mode */ -extern const float t_qua_gain7b[]; /* Gain quantization - gain quantization table for AMR-WB interoperable mode */ -extern const float Es_pred_qua_5b[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ -extern const float Es_pred_qua_4b[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ -extern const float Es_pred_qua_3b[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ -extern const float Es_pred_qua_4b_no_ltp[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ - -extern const float b_1sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ -extern const float b_2sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ -extern const float b_3sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ -extern const float b_4sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ - -extern const float gp_gamma_1sfr_8b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ - -extern const float gp_gamma_1sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ -extern const float gp_gamma_2sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ -extern const float gp_gamma_3sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ -extern const float gp_gamma_4sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ - -extern const float gp_gamma_1sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ -extern const float gp_gamma_2sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ -extern const float gp_gamma_3sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ -extern const float gp_gamma_4sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ - -extern const int16_t E_ROM_qua_gain5b_const[]; -extern const int16_t E_ROM_qua_gain6b_const[]; -extern const int16_t E_ROM_qua_gain7b_const[]; - -extern const float gain_qua_mless[]; - -extern const float tbl_gain_code_tc[]; /* TC - code gain quantization table */ -extern const float tbl_gain_trans_tc[]; /* TC - gain quantization table for g_trans */ -extern const float glottal_cdbk[]; /* TC - table of prototype glottal impulses */ - -extern const int32_t PI_select_table[23][8]; /* selection table for Pulse indexing */ -extern const int32_t PI_offset[8][8]; /* offset table for Pulse indexing */ -extern const int16_t PI_factor[]; /* EVS_PI factor table for Pulse indexing */ - -/* ACELP pulse coding */ -extern const uint16_t low_len[10]; -extern const uint16_t low_mask[10]; -extern const uint16_t indx_fact[10]; -extern const int16_t index_len[3]; -extern const int16_t index_mask_ACELP[3]; - - -extern const float deem_tab[]; /* HF BWE - de-emphasis coefficients */ -extern const float filt_hp[]; -extern const float exp_tab_p[]; /* HF BWE - Table of values exp(-j*w*i) */ -extern const float exp_tab_q[]; /* HF BWE - Table of values exp(-j*w*i) */ -extern const float HP_gain[]; /* HF BWE - quantization table for 23.85 */ -extern const float fir_6k_8k[]; /* HF BWE - band-pass filter coefficients */ - -extern const float b_hp400[]; /* HF (6-7kHz) BWE - 400Hz HP filter coefficients */ -extern const float a_hp400[]; /* HF (6-7kHz) BWE - 400Hz HP filter coefficients */ -extern const float fir_6k_7k[]; /* HF (6-7kHz) BWE - 6.0 - 7.0 kHz BP filter coefficients */ - -extern const float low_H[]; /* Enhacer - 2.0 - 6.4 kHz impulse response with phase dispersion */ -extern const float mid_H[]; /* Enhancer - 3.2 - 6.4 kHz impulse response with phase dispersion */ - -extern const float filt_lp[1 + L_FILT]; -extern const float filt_lp_16kHz[1 + L_FILT16k]; - -extern const float tab_hup_l[SIZ_TAB_HUP_L]; /* NB post-filter */ -extern const float tab_hup_s[SIZ_TAB_HUP_S]; /* NB post-filter */ - -extern const float edct_table_80[]; /* EDCT */ -extern const float edct_table_120[]; /* EDCT */ -extern const float edct_table_320[]; /* EDCT */ -extern const float edct_table_480[]; /* EDCT */ -extern const float edct_table_128[]; /* EDCT */ -extern const float edct_table_160[]; /* EDCT */ -extern const float edct_table_40[]; /* EDCT */ -extern const float edct_table_20[]; /* EDCT */ -extern const float edct_table_64[]; -extern const float edct_table_100[]; /* EDCT */ -extern const float edct_table_200[]; -extern const float edct_table_240[]; -extern const float edct_table_256[]; -extern const float edct_table_400[]; -extern const float edct_table_600[]; /* EDCT */ - -extern const int16_t crit_bins[]; /* (used only in AMR-WB IO mode) */ -extern const float crit_bins_corr[CRIT_NOIS_BAND]; -extern const float crit_bands_loc[]; /* (used only in AMR-WB IO mode) */ -extern const float mfreq_loc_LD[]; /* LD music post-filter */ -extern const int16_t mfreq_bindiv_LD[]; -extern const float post_dct_wind[OFFSET2]; -extern const float MAX_SNR_SNR1_tab[]; -extern const float INV_MAX_SNR_tab[]; -extern const float sc_qnoise[]; - -extern const float W_DTX_HO[HO_HIST_SIZE]; -extern const float ENR_ATT[5]; -extern const float HO_ATT[5]; - -extern const int16_t hq_swb_bwe_nb_bits[]; - -/*----------------------------------------------------------------------------------* - * ISF quantization (AMR-WB IO mode) - *----------------------------------------------------------------------------------*/ - -extern const float mean_isf_amr_wb[M]; /* Mean ISF vector (only in AMR-WB IO mode) */ -extern const float mean_isf_noise_amr_wb[]; /* Mean ISF vector for SID frame (only in AMR-WB IO mode) */ -extern const float gaus_dico[]; /* Gaussian codebook */ -extern const float gaus_dico_swb[]; /* Gaussian codebook for SWB TBE */ - -extern const float dico1_isf[]; /* ISF codebook - common 1st stage, 1st split (only in AMR-WB IO mode) */ -extern const float dico2_isf[]; /* ISF codebook - common 1st stage, 2nd split (only in AMR-WB IO mode) */ - -extern const float dico21_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 1st split (only in AMR-WB IO mode) */ -extern const float dico22_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 2st split (only in AMR-WB IO mode) */ -extern const float dico23_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 3rd split (only in AMR-WB IO mode) */ -extern const float dico24_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 4th split (only in AMR-WB IO mode) */ -extern const float dico25_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 5th split (only in AMR-WB IO mode) */ - -extern const float dico21_isf_36b[]; /* ISF codebook - 36b, 2nd stage, 1st split (only in AMR-WB IO mode) */ -extern const float dico22_isf_36b[]; /* ISF codebook - 36b, 2nd stage, 2nd split (only in AMR-WB IO mode) */ -extern const float dico23_isf_36b[]; /* ISF codebook - 36b, 2nd stage, 3rd split (only in AMR-WB IO mode) */ - -extern const float dico1_ns_28b[]; /* ISF codebook for SID frames - 28b, 1st split */ -extern const float dico2_ns_28b[]; /* ISF codebook for SID frames - 28b, 2nd spilt */ -extern const float dico3_ns_28b[]; /* ISF codebook for SID frames - 28b, 3rd spilt */ -extern const float dico4_ns_28b[]; /* ISF codebook for SID frames - 28b, 4th spilt */ -extern const float dico5_ns_28b[]; /* ISF codebook for SID frames - 28b, 5th spilt */ - -extern const float dico1_cng_ev[]; -extern const float dico2_cng_ev[]; -extern const float dico3_cng_ev[]; -extern const float dico4_cng_ev[]; -extern const float dico5_cng_ev[]; - -/*----------------------------------------------------------------------------------* - * LSF quantization - MSVQ tables - *----------------------------------------------------------------------------------*/ - -extern const float stable_ISP[]; -extern const float stable_LSP[]; -extern const float stable_ISF[]; - -extern const float UVWB_Ave[]; -extern const float UVNB_Ave[]; -extern const float SVWB_Ave[]; -extern const float SVNB_Ave[]; -extern const float IAWB_Ave[]; -extern const float IANB_Ave[]; -extern const float GENB_Ave[]; -extern const float GEWB_Ave[]; -extern const float GEWB2_Ave[]; -extern const float TRWB_Ave[]; -extern const float TRWB2_Ave[]; -extern const float means_wb_cleanspeech_lsf16k0[]; -extern const float means_swb_cleanspeech_lsf25k6[]; -extern const float means_swb_cleanspeech_lsf32k0[]; -extern const float ModeMean12[]; - -extern const float Predictor0[]; -extern const float Predictor1[]; -extern const float Predictor2[]; -extern const float Predictor3[]; -extern const float Predictor4[]; -extern const float Predictor5[]; -extern const float Predictor6[]; -extern const float Predictor7[]; -extern const float Predictor8[]; -extern const float CNG_SN1[]; - -extern const int16_t CB_lsf[]; -extern const int16_t CB_p_lsf[]; -extern const float *const ModeMeans[]; -extern const float *const Predictors[]; -extern const int16_t CBsizes[]; -extern const int16_t CBbits[]; - -extern const int16_t CBbits_p[]; -extern const float vals[NO_LEADERS][MAX_NO_VALS]; -extern const int16_t no_vals[NO_LEADERS]; -extern const int16_t no_vals_ind[NO_LEADERS][MAX_NO_VALS]; -extern const int16_t C_VQ[LATTICE_DIM + 1][LATTICE_DIM + 1]; -extern const int16_t BitsVQ[]; -extern const int16_t BitsVQ_p[]; -extern const UWord8 no_lead_idx[][2]; -extern const UWord8 no_lead_p_idx[][2]; -extern const Word8 leaders_short[][MAX_NO_SCALES]; -extern const float sigma_MSLVQ[][16]; -extern const float sigma_p[][16]; -extern const float inv_sigma_MSLVQ[][16]; -extern const float inv_sigma_p[][16]; -extern const float scales[][MAX_NO_SCALES * 2]; -extern const float scales_p[][MAX_NO_SCALES * 2]; -extern const int16_t predmode_tab[][6]; -extern const float pl_HQ[]; -extern const int16_t pi0[]; -extern const UWord32 table_no_cv[]; -extern const int16_t pl_par[]; -extern const float *const Quantizers[]; -extern const float *const Quantizers_p[]; -extern const int16_t cng_sort[]; -extern const int16_t perm_MSLVQ[][4]; -extern const int16_t min_lat_bits_SN[]; -extern const int16_t min_lat_bits_pred[]; -extern const int16_t offset_in_lvq_mode_SN[][21]; -extern const int16_t offset_in_lvq_mode_pred[][32]; -extern const int16_t offset_lvq_modes_SN[]; -extern const int16_t offset_lvq_modes_pred[]; - -/*-----------------------------------------------------------------* - * LSF quantization - BC-TCVQ tables - *-----------------------------------------------------------------*/ - -extern const int16_t FixBranch_tbl[4][4][N_STAGE_VQ - 4]; - -extern const int16_t BC_TCVQ_BIT_ALLOC_40B[]; - -extern const int16_t NTRANS[4][16]; -extern const int16_t NTRANS2[4][16]; - -extern const float AR_IntraCoeff[N_STAGE_VQ - 1][2][2]; -extern const float SN_IntraCoeff[N_STAGE_VQ - 1][2][2]; - -extern const float scale_ARSN[]; -extern const float scale_inv_ARSN[]; - -extern const float AR_TCVQ_CB_SUB1[2][128][2]; -extern const float AR_TCVQ_CB_SUB2[2][64][2]; -extern const float AR_TCVQ_CB_SUB3[4][32][2]; - -extern const float SN_TCVQ_CB_SUB1[2][128][2]; -extern const float SN_TCVQ_CB_SUB2[2][64][2]; -extern const float SN_TCVQ_CB_SUB3[4][32][2]; - -extern const float AR_SVQ_CB1[32][8]; -extern const float AR_SVQ_CB2[16][8]; - - -extern const int16_t uniform_model[]; - -/*-----------------------------------------------------------------* - * LSF quantization - mid-frame quantization tables - *-----------------------------------------------------------------*/ - -extern const float tbl_mid_gen_wb_2b[]; -extern const float tbl_mid_gen_wb_4b[]; -extern const float tbl_mid_gen_wb_5b[]; - -extern const float tbl_mid_unv_wb_4b[]; -extern const float tbl_mid_unv_wb_5b[]; - -extern const float tbl_mid_voi_wb_1b[]; -extern const float tbl_mid_voi_wb_4b[]; -extern const float tbl_mid_voi_wb_5b[]; - -/*-----------------------------------------------------------------* - * LSF quantization - Mode 2 quantization tables - *-----------------------------------------------------------------*/ - -extern const float lsf_init[16]; -extern const float means_wb_31bits_ma_lsf[16]; -extern const float means_nb_31bits_ma_lsf[16]; -extern const float *const lsf_means[2]; -extern const float *const lsf_codebook[2][2][TCXLPC_NUMSTAGES]; -extern const int16_t lsf_numbits[TCXLPC_NUMSTAGES]; -extern const int16_t lsf_dims[TCXLPC_NUMSTAGES]; -extern const int16_t lsf_offs[TCXLPC_NUMSTAGES]; - -extern const float dico_lsf_abs_8b[]; - -extern const float lsf_q_diff_cb_8b_rf[]; -extern const float lsf_cdk_nb_gc_stg1[]; -extern const float lsf_cdk_nb_gc_stg2[]; -extern const float lsf_cdk_nb_gc_stg3[]; -extern const float lsf_ind_cdk_nb_gc_stg4[]; -extern const float lsf_cdk_nb_vc_stg1[]; -extern const float lsf_cdk_nb_vc_stg2[]; -extern const float lsf_cdk_nb_vc_stg3[]; -extern const float lsf_ind_cdk_nb_vc_stg4[]; -extern const float lsf_cdk_wb_gc_stg1[]; -extern const float lsf_cdk_wb_gc_stg2[]; -extern const float lsf_cdk_wb_gc_stg3[]; -extern const float lsf_ind_cdk_wb_gc_stg4[]; -extern const float lsf_cdk_wb_vc_stg1[]; -extern const float lsf_cdk_wb_vc_stg2[]; -extern const float lsf_cdk_wb_vc_stg3[]; -extern const float lsf_ind_cdk_wb_vc_stg4[]; - -extern const float *const lsf_ind_codebook[2][2][TCXLPC_IND_NUMSTAGES]; -extern const int16_t lsf_ind_numbits[TCXLPC_IND_NUMSTAGES]; -extern const int16_t lsf_ind_dims[TCXLPC_IND_NUMSTAGES]; -extern const int16_t lsf_ind_offs[TCXLPC_IND_NUMSTAGES]; -extern const Word16 min_distance_thr[2][2]; - -typedef float lsp_unw_triplet[3]; -extern const lsp_unw_triplet p16_gamma0_92to1[16]; -extern const lsp_unw_triplet p16_gamma0_94to1[16]; - - -/*------------------------------------------------------------------------------* - * AVQ - RE8 tables - *------------------------------------------------------------------------------*/ - -extern const int16_t select_table22[][9]; -extern const int16_t vals_a[][4]; /* value of leader element */ -extern const int16_t vals_q[][4]; /* code parameter for every leader */ -extern const uint16_t Is[]; /* codebook start address for every leader */ -extern const int16_t AA3[]; /* A3 - Number of the absolute leaders in codebook Q3 */ -extern const int16_t AA4[]; /* A4 - Number of the absolute leaders in codebook Q4 */ -extern const uint16_t II3[]; /* I3 - Cardinality offsets for absolute leaders in Q3 */ -extern const uint16_t II4[]; /* I4 - Cardinality offset for absolute leaders in Q4 */ -extern const int16_t Da_pos[]; /* Position of the first absolute leader on a spherical shell (or sphere) */ -extern const int16_t Da_nb[]; /* Number of absolute leaders on a spherical shell */ -extern const int16_t Da_id[]; /* identification code of an absolute leader */ -extern const int16_t Da_nq[]; /* Codebook number for each absolute leader */ - -/*------------------------------------------------------------------------------* - * SWB TBE tables - *------------------------------------------------------------------------------*/ - -extern const int16_t skip_bands_SWB_TBE[]; /* bands for SWB TBE quantisation */ -extern const int16_t skip_bands_WB_TBE[]; /* bands for WB TBE quantisation */ - -extern const float interpol_frac_shb[]; - -extern const float AP1_STEEP[]; /* All pass filter coeffs for interpolation and decimation by a factor of 2 */ -extern const float AP2_STEEP[]; /* All pass filter coeffs for interpolation and decimation by a factor of 2 */ -extern const float STEPS[]; /* Granuality in conversion from lpc to lsp */ - -extern const float cos_fb_exc[]; -extern const float recip_order[]; - -extern const float win_lpc_shb[]; /* Window for calculating SHB LPC coeffs */ -extern const float win_lpc_hb_wb[]; -extern const float ola_win_shb_switch_fold[]; -extern const float win_flatten[]; /* Window for calculating whitening filter for SHB excitation */ -extern const float win_flatten_4k[]; /* Window for calculating whitening filter for WB excitation */ -extern const float window_shb[]; /* Overlap add window for SHB excitation used in anal and synth */ -extern const float window_shb_32k[]; /* Upsampled overlap add window for SHB excitation used transition generation */ -extern const float subwin_shb[]; /* Short overlap add window for SHB excitation used in anal and synth */ -extern const float window_wb[]; -extern const float subwin_wb[]; /* Short overlap add window for SHB excitation used in anal and synth */ - -extern const float Hilbert_coeffs[4 * NUM_HILBERTS][HILBERT_ORDER1 + 1]; - -extern const float wac[]; -extern const float wac_swb[]; - -extern const float wb_bwe_lsfvq_cbook_8bit[]; -extern const float lbr_wb_bwe_lsfvq_cbook_2bit[]; -extern const float swb_tbe_lsfvq_cbook_8b[]; -extern const float SHBCB_SubGain5bit[]; /* 5 bit Quantizer table for SHB gain shapes */ -extern const float SHBCB_SubGain5bit_Linear[]; -extern const float HBCB_SubGain5bit[]; /* 5-bit TD WB BWE temporal shaping codebook */ -extern const float SHBCB_FrameGain64[]; /* 6 bit Quantizer table for SHB overall gain */ -extern const float SHBCB_FrameGain16[]; - -extern const float full_band_bpf_1[][5]; -extern const float full_band_bpf_2[][5]; -extern const float full_band_bpf_3[][5]; - -extern const float lsf_q_cb_4b[]; /* 4 bit differential scalar quantizer table for TD SWB BWE LSFs 1 and 2*/ -extern const float lsf_q_cb_3b[]; /* 3 bit differential scalar quantizer table for TD SWB BWE LSFs 3, 4 and 5*/ -extern const float *const lsf_q_cb[]; /* Codebook array for each LSF */ -extern const int16_t lsf_q_cb_size[]; /* Size of each element of the above */ -extern const int16_t lsf_q_num_bits[]; /* Size of each element of the above, in bits */ -extern const float mirror_point_q_cb[]; /* LSF mirroring point codebook */ -extern const float lsf_grid[4][5]; /* LSF mirroring adjustment grid */ -extern const float grid_smoothing[]; /* LSF mirroring smoothing table */ - -extern const float overlap_coefs[]; /* HR SWB BWE - overlap coefficients */ -extern const float overlap_coefs_48kHz[]; /* HR SWB BWE - overlap coefficients @48kHz */ -extern const float swb_hr_env_code1[]; /* HR SWB BWE - envelope Q table - first two subabnds in non-transient frames */ -extern const float swb_hr_env_code2[]; /* HR SWB BWE - envelope Q table - second two subabnds in non-transient frames*/ -extern const float swb_hr_env_code3[]; /* HR SWB BWE - envelope Q table - two subabnds in transient frames */ - -extern const float allpass_poles_3_ov_2[]; -extern const float decimate_3_ov_2_lowpass_num[]; -extern const float decimate_3_ov_2_lowpass_den[]; - - -/*------------------------------------------------------------------------------* - * WB BWE tables - *------------------------------------------------------------------------------*/ - -extern const float F_2_5[64]; - -/*------------------------------------------------------------------------------* - * SWB BWE tables - *------------------------------------------------------------------------------*/ - -extern const int16_t swb_bwe_trans_subband[]; -extern const int16_t swb_bwe_trans_subband_width[]; -extern const int16_t swb_bwe_subband[]; -extern const float swb_inv_bwe_subband_width[]; -extern const int16_t swb_bwe_sm_subband[]; -extern const float smooth_factor[]; -extern const int16_t fb_bwe_subband[]; -extern const float fb_inv_bwe_subband_width[]; -extern const int16_t fb_bwe_sm_subband[]; -extern const float fb_smooth_factor[]; -extern const float EnvCdbk11[]; -extern const float EnvCdbk1st[]; -extern const float EnvCdbk2nd[]; -extern const float EnvCdbk3rd[]; -extern const float EnvCdbk4th[]; -extern const float EnvCdbkFB[]; -extern const float Env_TR_Cdbk1[]; -extern const float Env_TR_Cdbk2[]; -extern const float w_NOR[]; -extern const float Mean_env[]; -extern const float Mean_env_fb[]; -extern const float Mean_env_tr[]; - -/*------------------------------------------------------------------------------* - * ACEPL/HQ core switching tables - *------------------------------------------------------------------------------*/ - -extern const float hp12800_32000[]; -extern const float hp16000_32000[]; -extern const float hp12800_48000[]; -extern const float hp16000_48000[]; -extern const float hp12800_16000[]; - - -extern const double cu15[28][3]; -extern const double cu4[6][3]; -extern const int16_t ct2[7][13]; - -/*------------------------------------------------------------------------------* - * HQ core tables - *------------------------------------------------------------------------------*/ - -extern const float window_48kHz[]; -extern const float window_256kHz[]; -extern const float half_overlap_25[]; -extern const float half_overlap_48[]; -extern const float half_overlap_int[]; -extern const float small_overlap_25[]; -extern const float small_overlap_48[]; -extern const float small_overlap_int[]; -extern const float window_8_16_32kHz[]; - -extern const float short_window_48kHz[]; -extern const float short_window_32kHz[]; -extern const float short_window_16kHz[]; -extern const float short_window_8kHz[]; - -extern const float wscw16q15[]; -extern const float wscw16q15_8[]; -extern const float wscw16q15_16[]; -extern const float wscw16q15_32[]; - -/* Band structure */ -extern const int16_t band_len_HQ[]; -extern const int16_t band_start_HQ[]; -extern const int16_t band_end_HQ[]; -extern const int16_t band_len_wb[]; -extern const int16_t band_start_wb[]; -extern const int16_t band_end_wb[]; -extern const int16_t band_len_harm[]; -extern const int16_t band_start_harm[]; -extern const int16_t band_end_harm[]; -extern const float rat[SFM_N_WB]; - -extern const int16_t intl_bw_16[N_INTL_GRP_16]; -extern const int16_t intl_bw_32[N_INTL_GRP_32]; -extern const int16_t intl_bw_48[N_INTL_GRP_48]; -extern const int16_t intl_cnt_16[N_INTL_GRP_16]; -extern const int16_t intl_cnt_32[N_INTL_GRP_32]; -extern const int16_t intl_cnt_48[N_INTL_GRP_48]; -extern const int16_t norm_order_48[NB_SFM]; -extern const int16_t norm_order_32[SFM_N_SWB]; -extern const int16_t norm_order_16[SFM_N_WB]; - -extern const float dicn_pg[45]; -extern const int16_t expPkEnrg_tbl[45]; -extern const int32_t manPkEnrg_tbl[45]; -extern const int32_t E_max5_tbl[40]; - -extern const float thren_pg[44]; - -extern const float dicn[40]; -extern const float dicn_inv[40]; -extern const float thren_HQ[39]; -extern const int16_t dicnlg2[40]; -extern const int16_t huffnorm[32]; -extern const int16_t huffsizn[32]; -extern const int16_t huffcoef[60]; -extern const int16_t pgain_huffnorm[32]; -extern const int16_t pgain_huffsizn[32]; - -extern const int16_t resize_huffnorm[32]; -extern const int16_t resize_huffsizn[32]; - -extern const int16_t huffnorm_tran[32]; -extern const int16_t huffsizn_tran[32]; - -extern const int16_t sfm_width[20]; -extern const int16_t a_map[20]; -extern const int16_t subf_norm_groups[4][11]; - -extern const Word32 SQRT_DIM_fx[]; - -/* HQ inner_frame signallisation table */ -extern const int16_t inner_frame_tbl[]; - -/* HQ spectrum length lookup tables */ -extern const int16_t l_spec_tbl[]; -extern const int16_t l_spec_ext_tbl[]; - -/* NB short win: 7200/8000/9600, 13200/16400 */ -extern const int16_t band_width_40_4_6_0_0_0[4]; -extern const int16_t band_width_40_5_6_0_0_0[5]; - -/* NB long win: 7200, 8000, 9600, 13200, 16400 */ -extern const int16_t band_width_160_18_6_4_0_0[18]; -extern const int16_t band_width_160_17_6_3_0_0[17]; -extern const int16_t band_width_160_14_6_3_0_0[14]; -extern const int16_t band_width_160_13_6_2_0_0[13]; - -/* WB short win: 13200/16400 */ -extern const int16_t band_width_80_7_6_0_0_0[7]; - -/* WB long win: 13200, 16400 */ -extern const int16_t band_width_320_18_6_3_0_0[18]; -extern const int16_t band_width_320_20_6_3_0_0[20]; - -/* SWB short win: 13200, 16400 */ -extern const int16_t band_width_142_8_8_0_0_0[8]; -extern const int16_t band_width_160_8_8_0_0_0[8]; - -/* SWB long win: 13200, 16400 */ -extern const int16_t band_width_568_22_6_2_0_0[22]; -extern const int16_t band_width_640_24_6_4_0_0[24]; - -/* LR-MDCT configuration tables */ -extern const Xcore_Config xcore_config_8kHz_007200bps_long; -extern const Xcore_Config xcore_config_8kHz_008000bps_long; -extern const Xcore_Config xcore_config_8kHz_013200bps_long; -extern const Xcore_Config xcore_config_8kHz_016400bps_long; - -extern const Xcore_Config xcore_config_8kHz_007200bps_short; -extern const Xcore_Config xcore_config_8kHz_008000bps_short; -extern const Xcore_Config xcore_config_8kHz_013200bps_short; -extern const Xcore_Config xcore_config_8kHz_016400bps_short; - -extern const Xcore_Config xcore_config_16kHz_013200bps_long; -extern const Xcore_Config xcore_config_16kHz_016400bps_long; - -extern const Xcore_Config xcore_config_16kHz_013200bps_short; -extern const Xcore_Config xcore_config_16kHz_016400bps_short; - -extern const Xcore_Config xcore_config_32kHz_013200bps_long; -extern const Xcore_Config xcore_config_32kHz_016400bps_long; - -extern const Xcore_Config xcore_config_32kHz_013200bps_short; -extern const Xcore_Config xcore_config_32kHz_016400bps_short; - - -extern const int16_t Nb[NB_SFM]; -extern const int16_t LNb[NB_SFM]; - -extern const Word32 pow_getbitsfrompulses_fx[16]; -extern const Word32 table_logcum_fx[563]; -extern const Word16 DDP_fx[4]; -extern const float DDP[4]; - - -extern const int16_t step_tcq[8][STATES]; -extern const int16_t denc[8][STATES]; -extern const int16_t ddec[8][STATES]; - -extern const int16_t step_LSB[STATES_LSB][2]; -extern const int16_t denc_LSB[STATES_LSB][2]; -extern const int16_t dqnt_LSB[STATES_LSB][4]; -extern const int16_t dstep_LSB[4][2]; -extern const int16_t ddec_LSB[4][2]; - -extern const int16_t nextstate[STATES][2]; - -extern const int16_t fine_gain_bits[]; -extern const float *const finegain[]; - -extern const uint8_t hBitsMinus1_N01[2]; -extern const uint8_t hBitsMinus1_N02[65]; -extern const uint8_t hBitsMinus1_N03[65]; -extern const uint8_t hBitsMinus1_N04[65]; -extern const uint8_t hBitsMinus1_N05[54]; -extern const uint8_t hBitsMinus1_N06[42]; -extern const uint8_t hBitsMinus1_N07[34]; -extern const uint8_t hBitsMinus1_N08[29]; -extern const uint8_t hBitsMinus1_N09[25]; -extern const uint8_t hBitsMinus1_N10[22]; -extern const uint8_t hBitsMinus1_N11[19]; -extern const uint8_t hBitsMinus1_N12[17]; -extern const uint8_t hBitsMinus1_N13[16]; -extern const uint8_t hBitsMinus1_N14[14]; -extern const uint8_t hBitsMinus1_N15[13]; -extern const uint8_t hBitsMinus1_N16[13]; -extern const uint8_t hBitsMinus1_N17[12]; -extern const uint8_t hBitsMinus1_N18[12]; -extern const uint8_t hBitsMinus1_N19[11]; -extern const uint8_t hBitsMinus1_N20[11]; -extern const uint8_t hBitsMinus1_N21[10]; -extern const uint8_t hBitsMinus1_N22[10]; -extern const uint8_t hBitsMinus1_N23[10]; -extern const uint8_t hBitsMinus1_N24[10]; -extern const uint8_t hBitsMinus1_N25[9]; -extern const uint8_t hBitsMinus1_N26[9]; -extern const uint8_t hBitsMinus1_N27[9]; -extern const uint8_t hBitsMinus1_N28[9]; -extern const uint8_t hBitsMinus1_N29[9]; -extern const uint8_t hBitsMinus1_N30[8]; -extern const uint8_t hBitsMinus1_N31[8]; -extern const uint8_t hBitsMinus1_N32[8]; -extern const uint8_t hBitsMinus1_N33[8]; -extern const uint8_t hBitsMinus1_N34[8]; -extern const uint8_t hBitsMinus1_N35[8]; -extern const uint8_t hBitsMinus1_N36[8]; -extern const uint8_t hBitsMinus1_N37[8]; -extern const uint8_t hBitsMinus1_N38[8]; -extern const uint8_t hBitsMinus1_N39[8]; -extern const uint8_t hBitsMinus1_N40[8]; -extern const uint8_t hBitsMinus1_N41[7]; -extern const uint8_t hBitsMinus1_N42[7]; -extern const uint8_t hBitsMinus1_N43[7]; -extern const uint8_t hBitsMinus1_N44[7]; -extern const uint8_t hBitsMinus1_N45[7]; -extern const uint8_t hBitsMinus1_N46[7]; -extern const uint8_t hBitsMinus1_N47[7]; -extern const uint8_t hBitsMinus1_N48[7]; -extern const uint8_t hBitsMinus1_N49[7]; -extern const uint8_t hBitsMinus1_N50[7]; -extern const uint8_t hBitsMinus1_N51[7]; -extern const uint8_t hBitsMinus1_N52[7]; -extern const uint8_t hBitsMinus1_N53[7]; -extern const uint8_t hBitsMinus1_N54[7]; -extern const uint8_t hBitsMinus1_N55[7]; -extern const uint8_t hBitsMinus1_N56[7]; -extern const uint8_t hBitsMinus1_N57[7]; -extern const uint8_t hBitsMinus1_N58[7]; -extern const uint8_t hBitsMinus1_N59[7]; -extern const uint8_t hBitsMinus1_N60[7]; -extern const uint8_t hBitsMinus1_N61[6]; -extern const uint8_t hBitsMinus1_N62[6]; -extern const uint8_t hBitsMinus1_N63[6]; -extern const uint8_t hBitsMinus1_N64[6]; -extern const uint8_t *const hBitsN[65]; -extern const int16_t dsHighDiracsTab[43]; -extern const uint32_t intLimCDivInvDQ31[68]; -extern const uint8_t obtainEnergyQuantizerDensity_f[57]; -extern const int16_t lim_neg_inv_tbl_fx[11]; -extern const int16_t fg_inv_tbl_fx[13]; - -/* functions and tables for pvq_indexing */ -extern const uint32_t exactdivodd[ODD_DIV_SIZE]; - -extern const float gain_att[]; -extern const float att_step[]; -extern const float gain_qlow[]; -extern const int16_t gain_cb_size[]; -extern const float stab_trans[]; -extern const Word16 stab_trans_fx[]; -extern const float env_stab_tp[2][2]; - -/*----------------------------------------------------------------------------------* - * SWB BWE for LR MDCT core - *----------------------------------------------------------------------------------*/ -extern const float gain_table_SWB_BWE[NB_SWB_SUBBANDS]; -/* HQ_NORMAL mode */ -extern const int16_t bits_lagIndices_modeNormal[NB_SWB_SUBBANDS]; -extern const int16_t subband_offsets_12KBPS[NB_SWB_SUBBANDS]; -extern const int16_t subband_offsets_16KBPS[NB_SWB_SUBBANDS]; -extern const int16_t subband_search_offsets[NB_SWB_SUBBANDS]; -extern const int16_t bw_SPT_tbl[2][SPT_SHORTEN_SBNUM]; - -/* HQ_HARMONIC mode */ -extern const int16_t bits_lagIndices_mode0_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; -extern const int16_t subband_offsets_sub5_13p2kbps_Har[NB_SWB_SUBBANDS_HAR]; -extern const int16_t subband_search_offsets_13p2kbps_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; -extern const int16_t subband_offsets_sub5_16p4kbps_Har[NB_SWB_SUBBANDS_HAR]; -extern const int16_t subband_search_offsets_16p4kbps_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; - -/*----------------------------------------------------------------------------------* - * SC-VBR - *----------------------------------------------------------------------------------*/ - -/* NELP filter coefficients */ -extern const float bp1_num_coef_wb[5]; -extern const float bp1_den_coef_wb[5]; -extern const float shape1_num_coef[11]; -extern const float shape1_den_coef[11]; -extern const float shape2_num_coef[11]; -extern const float shape2_den_coef[11]; -extern const float shape3_num_coef[11]; -extern const float shape3_den_coef[11]; -extern const float txlpf1_num_coef[11]; -extern const float txlpf1_den_coef[11]; -extern const float txhpf1_num_coef[11]; -extern const float txhpf1_den_coef[11]; -extern const float bp1_num_coef_nb_fx_order7[8]; -extern const float bp1_den_coef_nb_fx_order7[8]; -extern const float num_nelp_lp[NELP_LP_ORDER + 1]; -extern const float den_nelp_lp[NELP_LP_ORDER + 1]; - -extern const float UVG1CB_WB[UVG1_CBSIZE][2]; -extern const float UVG2CB1_WB[UVG2_CBSIZE][5]; -extern const float UVG2CB2_WB[UVG2_CBSIZE][5]; - -extern const float UVG1CB_NB[UVG1_CBSIZE][2]; -extern const float UVG2CB1_NB[UVG2_CBSIZE][5]; -extern const float UVG2CB2_NB[UVG2_CBSIZE][5]; - -extern const float frac_4sf[NB_SUBFR + 2]; - -extern const float erb_WB[NUM_ERB_WB + 1]; -extern const float erb_NB[NUM_ERB_NB + 1]; - -extern const float AmpCB1_WB[64][10]; -extern const float AmpCB2_WB[64][NUM_ERB_WB - 11]; - -extern const float AmpCB1_NB[64][10]; -extern const float AmpCB2_NB[64][NUM_ERB_NB - 11]; - -extern const float PowerCB_WB[64][2]; -extern const float PowerCB_NB[64][2]; -extern const float sinc[8][12]; - -extern const float hvq_thr_adj[5]; -extern const float hvq_peak_cb[1024]; -extern const float hvq_class_c[16]; -extern const int16_t hvq_cb_search_overlap24k[17]; -extern const int16_t hvq_cb_search_overlap32k[21]; - -extern const int16_t hvq_pg_huff_offset[NUM_PG_HUFFLEN]; -extern const int16_t hvq_pg_huff_thres[NUM_PG_HUFFLEN]; -extern const int16_t hvq_pg_huff_tab[32]; - -extern const int16_t hvq_cp_huff_len[52]; -extern const int16_t hvq_cp_huff_val[52]; -extern const int16_t hvq_cp_layer1_map5[HVQ_CP_MAP_LEN]; - -extern const int16_t hvq_cp_huff_thres[HVQ_CP_HUFF_NUM_LEN]; -extern const int16_t hvq_cp_huff_offset[HVQ_CP_HUFF_NUM_LEN]; -extern const int16_t hvq_cp_huff_tab[52]; - -/*------------------------------------------------------------------------------* - * GSC mode - *------------------------------------------------------------------------------*/ - -extern const float sin_table256[]; - -extern const int16_t gsc_sfm_start[]; -extern const int16_t gsc_sfm_end[]; -extern const int16_t gsc_sfm_size[]; - -extern const float sm_table[]; - -extern const float mfreq_loc[]; -extern const int16_t mfreq_bindiv_loc[]; - -extern const float mean_gp[]; -extern const float dic_gp[]; - -extern const float Gain_mean[]; -extern const float Gain_meanHR[]; -extern const float Gain_mean_dic[]; -extern const float Gain_mean_dicHR[]; - -extern const float YG_mean16[]; -extern const float YG_dicMR_1[]; -extern const float YG_dicMR_2[]; -extern const float YG_dicMR_3[]; -extern const float YG_dicMR_4[]; - -extern const float mean_m[]; -extern const float mean_gain_dic[]; - -extern const float YGain_mean_LR[]; -extern const float YGain_dic1_LR[]; -extern const float YGain_dic2_LR[]; -extern const float YGain_dic3_LR[]; -extern const float Gain_dic2_NBHR[]; -extern const float Gain_dic3_NBHR[]; -extern const float YG_mean16HR[]; -extern const float YG_dicHR_1[]; -extern const float YG_dicHR_2[]; -extern const float YG_dicHR_3[]; -extern const float YG_mean16HR_16kHz[]; -extern const float YG_dicHR_4_16kHz[]; -extern const float YG_meanL2G_16kHz[]; -extern const float YG_dicL2G_16kHz[]; -extern const int16_t GSC_freq_bits[]; -extern const int16_t GSC_freq_DL0_bits[]; -extern const int16_t Compl_GSC_freq_bits[]; -extern const float Gain_meanNB[]; -extern const float Gain_mean_dicNB[]; -extern const float Mean_dic_NB[]; -extern const float Gain_dic1_NB[]; -extern const float Gain_dic2_NB[]; -extern const float Gain_dic3_NB[]; - - -/*------------------------------------------------------------------------------* - * FFT transform - *------------------------------------------------------------------------------*/ - -extern const int16_t Odx_fft64[64]; -extern const float w_fft64[32]; -extern const int16_t Ip_fft64[6]; -extern const int16_t Odx_fft32_15[32]; -extern const float w_fft32[16]; -extern const int16_t Ip_fft32[6]; -extern const int16_t Odx_fft32_5[32]; -extern const int16_t Odx_fft16[16]; -extern const float w_fft16[8]; -extern const int16_t Ip_fft16[6]; -extern const float w_fft8[8]; -extern const int16_t Ip_fft8[6]; -extern const int16_t Idx_dortft80[80]; -extern const int16_t Idx_dortft120[120]; -extern const int16_t Idx_dortft160[160]; -extern const int16_t Idx_dortft320[320]; -extern const int16_t Idx_dortft480[480]; -extern const int16_t Ip_fft128[10]; -extern const float w_fft128[64]; -extern const int16_t Ip_fft256[10]; -extern const float w_fft256[128]; -extern const int16_t Ip_fft512[18]; -extern const float w_fft512[256]; -extern const int16_t Idx_dortft40[40]; -extern const int16_t Odx_fft8_5[8]; -extern const int16_t ip_edct2_64[6]; -extern const float w_edct2_64[80]; -extern const int16_t Idx_dortft20[20]; -extern const int16_t Odx_fft4_5[4]; -extern const float w_fft4[2]; -extern const int16_t Ip_fft4[6]; - -extern const float FFT_RotVector_32[40]; -extern const float FFT_RotVector_256[448]; -extern const float FFT_RotVector_400[760]; -extern const float FFT_RotVector_600[1140]; -extern const float FFT_RotVector_640[1240]; -extern const float FFT_RotVector_960[1860]; - - -/*----------------------------------------------------------------------------------* - * FEC for HQ core - *----------------------------------------------------------------------------------*/ - -extern const float Asr_LP32[41]; -extern const float Asr_LP16[21]; -extern const float Asr_LP48[61]; - -extern const int16_t Num_bands_NB[]; -extern const float SmoothingWin_NB875[]; -extern const float SmoothingWin_NB2[]; - -/*----------------------------------------------------------------------------------* - * CLDFB - *----------------------------------------------------------------------------------*/ - -extern const int16_t freqTable[2]; - -extern const float CLDFB80_10[100]; -extern const float CLDFB80_16[160]; -extern const float CLDFB80_20[200]; -extern const float CLDFB80_30[300]; -extern const float CLDFB80_32[320]; -extern const float CLDFB80_40[400]; -extern const float CLDFB80_60[600]; - -/*5ms delay*/ -extern const float LDQMF_10[100]; -extern const float LDQMF_16[160]; -extern const float LDQMF_20[200]; -extern const float LDQMF_30[300]; -extern const float LDQMF_32[320]; -extern const float LDQMF_40[400]; -extern const float LDQMF_60[600]; -extern const float rot_vec_delay_re_LDQMF[60]; -extern const float rot_vec_delay_im_LDQMF[60]; - -extern const float rot_vec_ana_re_L10[5]; -extern const float rot_vec_ana_im_L10[5]; -extern const float rot_vec_ana_re_L16[8]; -extern const float rot_vec_ana_im_L16[8]; -extern const float rot_vec_ana_re_L20[10]; -extern const float rot_vec_ana_im_L20[10]; -extern const float rot_vec_ana_re_L30[15]; -extern const float rot_vec_ana_im_L30[15]; -extern const float rot_vec_ana_re_L32[16]; -extern const float rot_vec_ana_im_L32[16]; -extern const float rot_vec_ana_re_L40[20]; -extern const float rot_vec_ana_im_L40[20]; -extern const float rot_vec_ana_re_L60[30]; -extern const float rot_vec_ana_im_L60[30]; - -extern const float rot_vec_syn_re_L10[5]; -extern const float rot_vec_syn_im_L10[5]; -extern const float rot_vec_syn_re_L16[8]; -extern const float rot_vec_syn_im_L16[8]; -extern const float rot_vec_syn_re_L20[10]; -extern const float rot_vec_syn_im_L20[10]; -extern const float rot_vec_syn_re_L30[15]; -extern const float rot_vec_syn_im_L30[15]; -extern const float rot_vec_syn_re_L32[16]; -extern const float rot_vec_syn_im_L32[16]; -extern const float rot_vec_syn_re_L40[20]; -extern const float rot_vec_syn_im_L40[20]; -extern const float rot_vec_syn_re_L60[30]; -extern const float rot_vec_syn_im_L60[30]; - -extern const float bpf_weights_16[CLDFB_NO_COL_MAX]; - -extern const float CNG_details_codebook[64][NUM_ENV_CNG]; - - -/*----------------------------------------------------------------------------------* - * FD CNG - *----------------------------------------------------------------------------------*/ - -extern const int16_t d_array[SIZE_SCALE_TABLE_CN]; -extern const float m_array[SIZE_SCALE_TABLE_CN]; -extern const float msQeqInvAv_thresh[3]; -extern const float msNoiseSlopeMax[4]; - -extern const SCALE_SETUP scaleTableStereo[SIZE_SCALE_TABLE_STEREO]; -extern const SCALE_SETUP scaleTableMono[SIZE_SCALE_TABLE_MONO]; -extern const SCALE_SETUP scaleTable_cn_only[SIZE_SCALE_TABLE_CN]; -extern const SCALE_SETUP scaleTable_cn_dirac[15]; -extern const float scaleTable_cn_only_amrwbio[SIZE_SCALE_TABLE_CN_AMRWB][2]; - -extern const int16_t sidparts_encoder_noise_est[SIZE_SIDPARTS_ENC_NOISE_EST]; - - -extern const FD_CNG_SETUP FdCngSetup_nb; -extern const FD_CNG_SETUP FdCngSetup_wb1; -extern const FD_CNG_SETUP FdCngSetup_wb2; -extern const FD_CNG_SETUP FdCngSetup_wb3; -extern const FD_CNG_SETUP FdCngSetup_swb1; -extern const FD_CNG_SETUP FdCngSetup_swb1_stereo; -extern const FD_CNG_SETUP FdCngSetup_swb2; - -extern const int16_t levels_37bits[FD_CNG_stages_37bits]; -extern const int16_t bits_37bits[FD_CNG_stages_37bits]; -extern const float *const cdk_37bits[]; -extern const float *const cdk_37bits_ivas[]; - -extern const float fftSineTab640[321]; - -extern const float olapWinAna512[512]; -extern const float olapWinAna640[640]; - -extern const float olapWinSyn256[256]; -extern const float olapWinSyn320[320]; - - -/*----------------------------------------------------------------------------------* - * TCX - *----------------------------------------------------------------------------------*/ - -extern const float gain_corr_fac[]; -extern const float gain_corr_inv_fac[]; - -extern const SCALE_TCX_SETUP scaleTcxTable[SIZE_SCALE_TABLE_TCX]; - - -/*----------------------------------------------------------------------------------* - * Arithmetic coder - *----------------------------------------------------------------------------------*/ - -extern const uint8_t ari_lookup_s17_LC[4096]; -extern const uint16_t ari_pk_s17_LC_ext[64][18]; - -extern const int16_t NumRatioBits[2][17]; -extern const float Ratios_WB_2[32]; -extern const float Ratios_WB_3[32]; -extern const float Ratios_WB_4[32]; -extern const float Ratios_WB_5[32]; -extern const float Ratios_WB_6[32]; -extern const float Ratios_WB_7[32]; -extern const float Ratios_WB_8[16]; -extern const float Ratios_WB_9[16]; -extern const float Ratios_WB_10[16]; -extern const float Ratios_WB_11[16]; -extern const float Ratios_WB_12[16]; -extern const float Ratios_WB_13[16]; -extern const float Ratios_WB_14[16]; -extern const float Ratios_WB_15[16]; -extern const float Ratios_WB_16[4]; -extern const float Ratios_WB_17[4]; -extern const float Ratios_WB_18[4]; -extern const float Ratios_NB_2[32]; -extern const float Ratios_NB_3[16]; -extern const float Ratios_NB_4[16]; -extern const float Ratios_NB_5[16]; -extern const float Ratios_NB_6[16]; -extern const float Ratios_NB_7[16]; -extern const float Ratios_NB_8[16]; -extern const float Ratios_NB_9[8]; -extern const float Ratios_NB_10[8]; -extern const float Ratios_NB_11[8]; -extern const float Ratios_NB_12[8]; -extern const float Ratios_NB_13[4]; -extern const float Ratios_NB_14[4]; -extern const float Ratios_NB_15[4]; -extern const float Ratios_NB_16[4]; -extern const float Ratios_NB_17[4]; -extern const float Ratios_NB_18[4]; -extern const float *const Ratios[2][17]; - -extern const Word16 qGains[2][1 << kTcxHmNumGainBits]; - -/*----------------------------------------------------------------------------------* - * Innovative codebook - *----------------------------------------------------------------------------------*/ - -extern const PulseConfig PulseConfTable[]; - -/*----------------------------------------------------------------------------------* - * TNS - *----------------------------------------------------------------------------------*/ - -extern const struct TnsParameters tnsParametersIGF32kHz_LowBR[1]; -extern const struct TnsParameters tnsParameters32kHz[2]; -extern const struct TnsParameters tnsParameters32kHz_grouped[2]; -extern const struct TnsParameters tnsParameters16kHz[1]; -extern const struct TnsParameters tnsParameters16kHz_grouped[2]; -extern const struct TnsParameters tnsParameters48kHz_grouped[2]; - -extern const struct TnsParameters tnsParameters32kHz_Stereo[2]; - -extern const float tnsAcfWindow[TNS_MAX_FILTER_ORDER]; - -extern const ParamsBitMap tnsEnabledSWBTCX20BitMap; -extern const ParamsBitMap tnsEnabledSWBTCX10BitMap; -extern const ParamsBitMap tnsEnabledWBTCX20BitMap; - -extern const ParamsBitMap tnsEnabledOnWhiteSWBTCX10BitMap; -extern const ParamsBitMap tnsEnabledOnWhiteSWBTCX20BitMap; - -extern const Coding codesTnsAllCoeffs[]; - -extern const Coding codesTnsCoeff0SWBTCX20[]; -extern const Coding codesTnsCoeff0SWBTCX10[]; -extern const Coding codesTnsCoeff1SWBTCX20[]; -extern const Coding codesTnsCoeff1SWBTCX10[]; -extern const Coding codesTnsCoeff2SWBTCX20[]; -extern const Coding codesTnsCoeff2SWBTCX10[]; -extern const Coding codesTnsCoeff3SWBTCX20[]; -extern const Coding codesTnsCoeff3SWBTCX10[]; -extern const Coding codesTnsCoeff4SWBTCX20[]; -extern const Coding codesTnsCoeff4SWBTCX10[]; -extern const Coding codesTnsCoeff5[]; -extern const Coding codesTnsCoeff6[]; - -extern const Coding codesTnsCoeff0WBTCX20[]; -extern const Coding codesTnsCoeff1WBTCX20[]; -extern const Coding codesTnsCoeff2WBTCX20[]; -extern const Coding codesTnsCoeff3WB[]; - -extern const Coding codesTnsCoeff456[]; -extern const Coding codesTnsCoeff7[]; - -extern const int16_t nTnsCoeffCodes; - -extern const Coding *const codesTnsCoeffSWBTCX20[]; -extern const Coding *const codesTnsCoeffSWBTCX10[]; -extern const Coding *const codesTnsCoeffWBTCX20[]; -extern const int16_t nTnsCoeffTables; - -extern const Coding codesTnsOrderTCX20[]; -extern const Coding codesTnsOrderTCX10[]; -extern const Coding codesTnsOrder[]; -extern const int16_t nTnsOrderCodes; - -extern const float tnsCoeff4[16]; - -/*----------------------------------------------------------------------------------* - * IGF settings for each bitrate - *----------------------------------------------------------------------------------*/ - -typedef struct igf_mode_type -{ - int32_t sampleRate; - int16_t frameLength; - int16_t igfMinFq; - int16_t maxHopsize; -} IGF_MODE; - -extern const IGF_MODE igfMode[IGF_BITRATE_UNKNOWN]; -extern const int16_t swb_offset_LB_new[IGF_BITRATE_UNKNOWN][IGF_MAX_SFB]; -extern const int16_t igf_tile_offset_table[IGF_BITRATE_UNKNOWN][2 * IGF_MAX_TILES + 1]; -extern const float igf_whitening_TH[IGF_BITRATE_UNKNOWN][2][IGF_MAX_TILES]; -extern const int16_t cf_off_se01_tab[10]; -extern const int16_t cf_off_se10_tab; -extern const int16_t cf_off_se02_tab[10][IGF_CTX_COUNT]; -extern const int16_t cf_off_se11_tab[IGF_CTX_COUNT][IGF_CTX_COUNT]; -extern const uint16_t cf_se00_tab[IGF_SYMBOLS_IN_TABLE + 1]; -extern const uint16_t cf_se01_tab[10][IGF_SYMBOLS_IN_TABLE + 1]; -extern const uint16_t cf_se02_tab[10][IGF_CTX_COUNT][IGF_SYMBOLS_IN_TABLE + 1]; -extern const uint16_t cf_se10_tab[IGF_SYMBOLS_IN_TABLE + 1]; -extern const uint16_t cf_se11_tab[IGF_CTX_COUNT][IGF_CTX_COUNT][IGF_SYMBOLS_IN_TABLE + 1]; - -extern const float normReciprocal[CHEAP_NORM_SIZE]; -extern const float *const w_a[7]; - -extern const PWord16 SineTable512_fx[]; -extern const Word16 ldCoeff[7]; -extern const UWord32 exp2_tab_long[32]; -extern const UWord32 exp2w_tab_long[32]; -extern const UWord32 exp2x_tab_long[32]; -extern const Word16 invTable[INV_TABLE_SIZE + 1]; -extern const Word16 sqrtTable[SQRT_TABLE_SIZE + 1]; -extern const Word16 invSqrtTable[SQRT_TABLE_SIZE + 1]; - -extern const float sns_vq_cdk1[8 * 32]; -extern const float sns_vq_cdk2[8 * 32]; - -extern const float tcx_mdct_window_48[420]; -extern const float tcx_mdct_window_half_48[180]; -extern const float tcx_mdct_window_trans_48[60]; - - -/*----------------------------------------------------------------------------------* - * SWB TBE LSF tables (1.75 kbps) - *----------------------------------------------------------------------------------*/ - -extern const float sigma_BWE[]; -extern const float inv_sigma_BWE[]; -extern const float scales_BWE[]; -extern const Word8 no_lead_BWE[]; - -extern const float scales_BWE_3b[]; -extern const Word8 no_lead_BWE_3b[]; -extern const int16_t mslvq_SHB_min_bits[]; - -extern const float SHB_LSF_mean[]; - -extern const float SHB_LSF_VQ3[48]; -extern const float SHB_LSF_VQ4[96]; -extern const float *const cb_LSF_BWE[]; -extern const float LastCoefPred_0bit[18]; -extern const float LastCoefPred_1bit[36]; -extern const int16_t config_LSF_BWE[]; - -#endif diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h deleted file mode 100644 index 4cf9c05f1e..0000000000 --- a/lib_com/stat_com.h +++ /dev/null @@ -1,688 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - - -#ifndef STAT_COM_H -#define STAT_COM_H - -#include <stdint.h> -#include "options.h" -#include "typedef.h" -#include "cnst.h" -#ifdef DEBUGGING -#include "debug.h" -#endif - -/* Forward declaration of Decoder_State */ -struct Decoder_State; - - -/*----------------------------------------------------------------------------------* - * Declaration of structures - *----------------------------------------------------------------------------------*/ - -typedef struct -{ - float a[MAXLAG_WI]; - float b[MAXLAG_WI]; - int16_t lag; - int16_t nH; - int16_t nH_4kHz; - float upper_cut_off_freq_of_interest; - float upper_cut_off_freq; - int32_t sampling_rate; -} DTFS_STRUCTURE; - -typedef struct -{ - int16_t lead_sign_ind; - uint32_t index, size; - int16_t dim, k_val; -} PvqEntry; - -typedef struct -{ - uint8_t buf[MAX_SIZEBUF_PBITSTREAM]; - signed char curPos; - uint16_t numByte; - uint16_t numbits; - uint16_t maxBytes; -} TCQ_BITSTREAM, *TCQ_PBITSTREAM; - -typedef struct -{ - TCQ_PBITSTREAM bsInst; - - uint32_t low; - uint32_t high; - - uint32_t value; - int16_t bits_to_follow; - - int16_t num_bits; - int16_t max_bits; - -} ARCODEC, *PARCODEC; - -/*---------------------------------------------------------------* - * ACELP Encoder/Decoder Static RAM * - *---------------------------------------------------------------*/ - -typedef struct -{ - /*Coding mode info*/ - int16_t mode_index; - - /*LPC info*/ - int16_t midLpc; /*Flag for using or not mid LPC for the current frame*/ - int16_t midLpc_enable; /*Flag enabling or not the mid LPC for the current mode*/ - - /*ICB flags*/ - int16_t pre_emphasis; /*Flag for triggering pre-emphasis*/ - int16_t pitch_sharpening; /*Flag for triggering pitch sharpening*/ - int16_t phase_scrambling; /*Flag for triggering phase scrambling*/ - int16_t formant_enh; /*Flag for triggering formant enhancement*/ - int16_t formant_tilt; /*Flag for triggering formant tile*/ - - int16_t voice_tilt; /*Flag for triggering new voice factor tilt*/ - - float formant_enh_num; - float formant_enh_den; - - int16_t bpf_mode; - - int16_t nrg_mode; - int16_t nrg_bits; - - int16_t ltp_mode; - int16_t ltp_bits; - - int16_t ltf_mode; - int16_t ltf_bits; - - int16_t gains_mode[NB_SUBFR16k]; - - int16_t fixed_cdk_index[NB_SUBFR16k]; - - /* IVAS related parameters */ - int16_t pitch_bits[NB_SUBFR16k]; - int16_t lsf_bits; - int16_t mid_lsf_bits; - int16_t AVQ_cdk_bits[NB_SUBFR16k]; - int16_t FEC_mode; /* 0 == no FEC bits; 1 == class; 2 == clas+energy; 3== class+energy+pulse */ - int16_t ubits; - int16_t fcb_mode; /* 0 == mode1; 1 == mode2 */ - -} ACELP_config; - -typedef struct -{ - int16_t bits; /* bits per subframe */ - int16_t nbiter; /* number of iterations */ - float alp; /* initial energy of all fixed pulses */ - int16_t nb_pulse; /* number of pulses */ - int16_t fixedpulses; /* number of pulses whose position is determined from correlation and not by iteration */ - int16_t nbpos[13]; /* number of positions tried in the pair-wise search */ - enum TRACKPOS codetrackpos; /* ordering of tracks -mode */ - -} PulseConfig; - -/*---------------------------------------------------------------* - * TCX Encoder/Decoder Static RAM * - *---------------------------------------------------------------*/ - -typedef struct -{ - uint8_t maxOrder; - uint8_t nMaxFilters; /* Maximum number of filters. */ - uint8_t allowTnsOnWhite; - struct TnsParameters const *pTnsParameters; /* Parameters for each TNS filter */ - int16_t iFilterBorders[TNS_MAX_NUM_OF_FILTERS + 1]; /* Lower borders for each filter. Upper border for the first filter is nsbBorders-1. Upper borders for other filters is the lower border of previous filter. */ - -} STnsConfig; - -typedef struct TNS_filter_structure -{ - int16_t filterType; - int16_t spectrumLength; /* Number of subbands covered by the filter. */ - int16_t order; /* Filter order. */ - int16_t coefIndex[TNS_MAX_FILTER_ORDER]; /* Quantized filter coefficients. */ - float predictionGain; /* Prediction gain. The ratio of a signal and TNS residual energy. */ - float avgSqrCoef; /* Average squared filter coefficient. */ - -} STnsFilter; - -typedef struct /* TNS data describing all active filters. */ -{ - int16_t nFilters; /* Number of active filters. */ - int16_t tnsOnWhitenedSpectra; - STnsFilter filter[TNS_MAX_NUM_OF_FILTERS]; /* Active filters. */ - -} STnsData; - -/* Structure containing lengths for band division and polynomial aproximation for spectrum weighting. - Borders and weighting are available for TCX10 and TCX20 for a specific sampling rate. */ -typedef struct -{ - const uint8_t bandLengthsTCX20[FDNS_NPTS]; /* Length of a band in number of bins. Range is 2..31 */ - const uint8_t bandLengthsTCX10[FDNS_NPTS]; /* Length of a band in number of bins. Range is 2..20, always divisible by 2 */ - -} SpectrumWarping; - -typedef struct -{ - int16_t nBins; /* Range 0..1200 */ - uint8_t nBands; /* Range 0..64 */ - const uint8_t *bandLengths; /* Length of a band in number of bins. Range is 2..31 */ - -} PsychoacousticParameters; - - -typedef struct TCX_config_structure -{ - /* TCX mdct window */ - float tcx_mdct_window[L_MDCT_OVLP_MAX_CORE_FS]; /* Sine window for OL decision and DTX transitions*/ - float tcx_aldo_window_1[L_ALDO_WIN1_MAX_CORE_FS]; /* ALDO window long slope */ - float tcx_aldo_window_2[L_MDCT_OVLP_MAX_CORE_FS]; /* ALDO window short slope */ - float *tcx_aldo_window_1_trunc; /* ALDO window truncated long slope */ - - int16_t last_aldo; - float tcx_mdct_window_half[L_MDCT_HALF_OVLP_MAX_CORE_FS]; - float tcx_mdct_window_minimum[L_MDCT_MIN_OVLP_MAX_CORE_FS]; - float tcx_mdct_window_trans[L_MDCT_MIN_OVLP_MAX_CORE_FS]; /* transition window for ACELP->TCX */ - - int16_t tcx5Size; /* Size of the TCX5 spectrum in number of samples. Always 5ms. */ - - int16_t tcx_curr_overlap_mode; /* window overlap of current frame (0: full, 2: none, or 3: half) */ - int16_t tcx_last_overlap_mode; /* previous window overlap, i.e. left-side overlap of current frame */ - - int16_t tcx_mdct_window_length; /* length of overlap-add region*/ - int16_t tcx_mdct_window_half_length; /* length of the "half" overlap */ - int16_t tcx_mdct_window_min_length; /* length of the "minimum" overlap */ - int16_t tcx_mdct_window_trans_length; /* length of the ACELP->TCX overlap */ - - int16_t tcx_mdct_window_delay; /* length of window delay */ - int16_t tcx_offset; /* Offset of the folding point relative to the end of the previous synthetised frame */ - int16_t tcx_mdct_window_length_old; /* for keeping old value for sample rate switching */ - float tcx_mdct_windowFB[L_MDCT_OVLP_MAX]; - float tcx_aldo_window_1_FB[L_ALDO_WIN1_FB_MAX]; /* ALDO window long slope */ - float tcx_aldo_window_2_FB[L_MDCT_OVLP_MAX]; /* ALDO window short slope */ - float *tcx_aldo_window_1_FB_trunc; /* ALDO window truncated long slope */ - - float tcx_mdct_window_halfFB[L_MDCT_HALF_OVLP_MAX]; - float tcx_mdct_window_minimumFB[L_MDCT_MIN_OVLP_MAX]; - float tcx_mdct_window_transFB[L_MDCT_TRANS_OVLP_MAX]; /* transition window for ACELP->TCX */ - - int16_t tcx5SizeFB; /* Size of the TCX5 spectrum in number of samples. Always 5ms. */ - - int16_t tcx_mdct_window_lengthFB; /* length of window, length of overlap-add region */ - int16_t tcx_mdct_window_half_lengthFB; /* length of the "half" overlap window */ - int16_t tcx_mdct_window_min_lengthFB; /* length of the "minimum" overlap window */ - int16_t tcx_mdct_window_trans_lengthFB; /* length of the ACELP->TCX overlap */ - - int16_t tcx_mdct_window_delayFB; /* length of window delay */ - int16_t tcx_offsetFB; - - int16_t tcx_coded_lines; /* max number of coded lines, depending on audio bandwidth */ - - /* FAC window */ - int16_t lfacNext; - int16_t lfacNextFB; - - /* TNS */ - int16_t fIsTNSAllowed; - STnsConfig tnsConfig[2][2]; - STnsConfig const *pCurrentTnsConfig; - - /*Quantization*/ - float sq_rounding; /*set the sq deadzone (no deadzone=0.5f)*/ - int16_t tcxRateLoopOpt; - - /*Bandwidth*/ - float preemph_fac; /* preemphasis factor */ - float bandwidth; - - /* Context HM - Residual Quantization*/ - int16_t ctx_hm; /* Flag for enabling Context HM */ - int16_t resq; /* Flag for enabling Residual Quantization */ - int16_t coder_type; /* GC,VC,UC */ - - float na_scale; - - float SFM2; - - /* Psychoacoustic parameters for LPC in TCX */ - PsychoacousticParameters psychParamsTCX10; - PsychoacousticParameters psychParamsTCX20; - PsychoacousticParameters psychParamsTCX20AfterACELP; - PsychoacousticParameters const *psychParamsCurrent; - -} TCX_config, *TCX_CONFIG_HANDLE; - -typedef struct -{ - int32_t low; - int32_t high; - uint32_t value; - int32_t bits_to_follow; -} Tastat; - -/*---------------------------------------------------------------* - * FD CNG common structure * - *---------------------------------------------------------------*/ - -typedef struct -{ - int16_t fftlen; /* FFT length */ - int16_t stopFFTbin; /* Number of FFT bins to be actually processed */ - int16_t numPartitions; /* Number of partitions */ - const int16_t *sidPartitions; /* Upper boundaries for grouping the (sub)bands into partitions when transmitting SID frames (define as NULL pointer to avoid grouping) */ - - int16_t numShapingPartitions; /* Number of partitions */ - const int16_t *shapingPartitions; /* Upper boundaries for grouping the (sub)bands into partitions for shaping at the decoder (define as NULL pointer to avoid grouping) */ - -} FD_CNG_SETUP; - -typedef struct -{ - int16_t bwmode; - - int32_t bitrateFrom; - int32_t bitrateTo; - - float scale; - -} SCALE_SETUP; - -typedef struct -{ - FD_CNG_SETUP FdCngSetup; - - int16_t numSlots; /* Number of time slots in CLDFB matrix */ - int16_t regularStopBand; /* Number of CLDFB bands to be considered */ - - int16_t numCoreBands; /* Number of core bands to be decomposed into FFT subbands */ - int16_t stopBand; /* Total number of (sub)bands to be considered */ - int16_t startBand; /* First (sub)band to be considered */ - int16_t stopFFTbin; /* Total number of FFT subbands */ - int16_t frameSize; /* Frame size in samples */ - int16_t fftlen; /* FFT length used for the decomposition */ - - float timeDomainBuffer[L_FRAME16k]; - float fftBuffer[FFTLEN]; - float olapBufferAna[FFTLEN]; - float olapBufferSynth[FFTLEN]; - float olapBufferSynth2[FFTLEN]; - const float *olapWinAna; - const float *olapWinSyn; - const float *fftSineTab; - - float msM_win; - float msM_subwin; - - int16_t msFrCnt_init_counter; /* Frame counter at initialization */ - int16_t msFrCnt_init_thresh; - float init_old; - int16_t msFrCnt; /* Frame counter */ - float msAlphaCor[2]; /* Correction factor (smoothed) */ - float msSlope[2]; - float msQeqInvAv[2]; - int16_t msMinBufferPtr; - - float msPsdSum[2]; - float msPeriodogSum[2]; - - int16_t offsetflag; - - float periodog[PERIODOGLEN]; /* Periodogram */ - float cngNoiseLevel[FFTCLDFBLEN]; /* Noise level applied for the CNG in each (sub)band */ - int16_t seed; /* Seed memory (for random function) */ - int16_t seed2; /* Seed for second noise source in MDCT-Stereo DTX */ - int16_t seed3; /* Seed for third noise source in MDCT-Stereo DTX */ - - int16_t npart; /* Number of partitions */ - int16_t midband[NPART]; /* Central band of each partition */ - int16_t nFFTpart; /* Number of hybrid spectral partitions */ - int16_t part[NPART]; /* Partition upper boundaries (band indices starting from 0) */ - float psize[NPART]; /* Partition sizes */ - float psize_inv[NPART]; /* Inverse of partition sizes */ - float FFTscalingFactor; /* Squared ratio between core signal analysis FFT and noise estimator FFT */ - float scalingFactor; - int16_t nCLDFBpart; /* Number of CLDFB spectral partitions */ - int16_t CLDFBpart[NPARTCLDFB]; /* CLDFB Partition upper boundaries (band indices starting from 0 above the core coder bands) */ - float CLDFBpsize_inv[NPARTCLDFB]; /* Inverse of CLDFB partition sizes */ - - int16_t inactive_frame_counter; - int16_t sid_frame_counter; - int16_t active_frame_counter; /* Active frame counter limited to MSBUFLEN in stereo decoder */ - - float sidNoiseEst[NPART]; /* Transmitted noise level */ - - float sidNoiseEstLp[NPART]; - - int16_t frame_type_previous; - - float A_cng[M + 1]; - float exc_cng[L_FRAME16k]; - - int32_t CngBitrate; - int16_t CngBandwidth; - - int16_t flag_noisy_speech; - float likelihood_noisy_speech; - - float coherence; /* inter-channel coherence of noise */ - int16_t no_side_flag; /* indicates whether the side noise shape should be zeroed-out or not */ -} FD_CNG_COM, *HANDLE_FD_CNG_COM; - - -/*---------------------------------------------------------------* - * TNS bitmapping * - *---------------------------------------------------------------*/ - -/** Function that gets specific value from p. - * @param p Pointer to a variable that can also be structure or array. - * @param index Index of a variable when p is an array, otherwise 0. - * @param pValue Pointer to the value. - * @return Substructure associated with this value or NULL if there is none. - */ -typedef void const *( *TGetParamValue )( void const *p, int16_t index, int16_t *pValue ); - -/** Function that puts specific value to p. - * @param p Pointer to a variable that can also be structure or array. - * @param index Index of a variable when p is an array, otherwise 0. - * @param value The value. - * @return Substructure associated with this value or NULL if there is none. - */ -typedef void *( *TSetParamValue )( void *p, int16_t index, int16_t value ); - -/** Function that return required number of bits for a value when it is coded. - * @param value The value. - * @param index Index of a variable when it is an element of an array, otherwise 0. - * @return Number of bits required to code the value. - */ -typedef int16_t ( *TGetNumberOfBits )( int16_t value, int16_t index ); - -/** Function that encodes a value. - * @param value The value. - * @param index Index of a variable when it is an element of an array, otherwise 0. - * @return Coded value. - */ -typedef int16_t ( *TEncodeValue )( int16_t value, int16_t index ); - -/** Function that decodes a value. - * @param bitstream Bitstream containing a coded value. - * @param index Index of a variable when it is an element of an array, otherwise 0. - * @param pValue A pointer where the decoded value should be stored. - * @return Number of bits read from the bitstream. - */ -typedef int16_t ( *TDecodeValue )( struct Decoder_State *st, int16_t index, int16_t *pValue ); - -/** Linear prediction analysis/synthesis filter definition. - * @param order filter order. - * @param parCoeff filter (PARCOR) coefficients. - * @param state state of the filter. Must be at least of 'order' size. - * @param x the current input value. - * @return the output of the filter. - */ -typedef float ( *TLinearPredictionFilter )( const int16_t order, const float parCoeff[], float *state, float x ); - -/** Structure that defines mapping between a parameter and a bistream. */ -typedef struct ParamBitMap -{ - /** Number of bits in a bitstream required for the parameter. - * If nBits is equal to 0 then GetNumberOfBits is used. - */ - int16_t nBits; - /** Function to get the number of bits required for a value of this parameter. - * If nBits != 0 it is not used and can be set to NULL. - * If fZeroAllowed == 0 then GetNumberOfBits must take care of this. - */ - TGetNumberOfBits GetNumberOfBits; - /** If fZeroAllowed is 0 then the value can be zero. - * If the value can't be zero then value-1 is stored in a bitstream. - * If EncodeValue is not equal to NULL, then the encode/decode function - * must take care of this flag - there is no additional processing in parameter bitmapping. - * If EncodeValue is equal to NULL, then the encode/decode function takes care of this. - */ - int16_t fZeroAllowed; - /** Function to get the value of this parameter. - * The function returns a pointer to be used in functions in pSubParamBitMap. - * If the function returns NULL then the same pointer as for the current - * parameter is to be used. - * The function should not do any additional processing if fZeroAllowed == 0, - * but just set the value as it is. - */ - TGetParamValue GetParamValue; - /** Function to set the value of this parameter. - * The function returns a pointer to be used in functions in pSubParamBitMap. - * If the function returns NULL then the same pointer as for the current - * parameter is to be used. - * The function should not do any additional processing if fZeroAllowed == 0, - * but just set the value as it is. - */ - TSetParamValue SetParamValue; - - /** Function to encode a value of this parameter. - * When it is equal to NULL, fixed-width coding is used. - * If fZeroAllowed == 0 then EncodeValue must take care of this. - */ - TEncodeValue EncodeValue; - - /** Function to decode a value of this parameter. - * When it is equal to NULL, fixed-width coding is used. - * If fZeroAllowed == 0 then DecodeValue must take care of this. - */ - TDecodeValue DecodeValue; - - /** Pointer to the map for substructure. - * The number of structures is determined by this parameter's value. - * NULL means that there is no substructure. - */ - struct ParamsBitMap const *pSubParamBitMap; -} ParamBitMap; - -/** Structure that defines mapping between parameters and a bistream. */ -typedef struct ParamsBitMap -{ - /** Number of parameters in params. */ - int16_t nParams; - /** Definition of the mapping for each parameter. */ - ParamBitMap params[10]; -} ParamsBitMap; - -struct TnsParameters -{ - /* Parameters for each TNS filter */ - int16_t startLineFrequency; /* Starting lower frequency of the TNS filter [20..16000] */ - int16_t nSubdivisions; /* Number of spectrum subdivisions in which the filter operates [1..8) */ - float minPredictionGain; /* Minimum prediction gain required to turn on the TNS filter */ - float minAvgSqrCoef; /* Minimum average square of coefficients required to turn on the TNS filter */ - float minEnergyChange; /* Minimum energy change required to turn on the TNS filter */ -}; - -/**********************************************/ -/* Helper structures for hufmann table coding */ -/**********************************************/ - -typedef struct -{ - uint8_t value; - uint16_t code; - uint8_t nBits; -} Coding; - - -/* Scale TCX setup */ -typedef struct -{ - int16_t bwmode; - - int32_t bitrateFrom; - int32_t bitrateTo; - - float scale; - -} SCALE_TCX_SETUP; - - -typedef struct -{ - uint16_t frame_bits; /*Bits per frame*/ - uint16_t frame_net_bits; /*Net Bits per frame*/ - uint8_t transmission_bits; /*max=1*/ - uint8_t transmission_mode[2]; /*SID,VBR/CBR*/ - uint8_t bandwidth_bits; /*max=2*/ - uint8_t bandwidth_min; /*first valid bandwidth (NB,WB,SWB,FB)*/ - uint8_t bandwidth_max; /*last valid bandwidth (NB,WB,SWB,FB)*/ - uint8_t reserved_bits; /*max=1*/ - -} FrameSizeParams; - -typedef struct -{ - int16_t no_channels; - int16_t no_col; - int16_t p_filter_length; - CLDFB_TYPE type; - int16_t ds; /* delay synthesis */ - int16_t da; /* delay analysis */ - CLDFB_PROTOTYPE prototype; - - const float *p_filter; - - /* rotation vectors */ - const float *rot_vec_ana_re; - const float *rot_vec_ana_im; - const float *rot_vec_syn_re; - const float *rot_vec_syn_im; - - /* rotation vectors for delay */ - const float *rot_vec_ana_delay_re; - const float *rot_vec_ana_delay_im; - const float *rot_vec_syn_delay_re; - const float *rot_vec_syn_delay_im; - - /* memory helper states */ - float *memory; - uint16_t memory_length; - - /* main filter state */ - float *cldfb_state; - - /* other parameters */ - int16_t bandsToZero; /* bands not synthesized */ - int16_t nab; /* number of active bands */ - float scale; /* scaling of frequency domain */ - -} CLDFB_FILTER_BANK, *HANDLE_CLDFB_FILTER_BANK; - - -typedef enum -{ - FRAME_0 = 0, - FRAME_2 = 40, - FRAME_2_4 = 48, - FRAME_4 = 80, - FRAME_5_6 = 112, - FRAME_7_2 = 144, - FRAME_8 = 160, - FRAME_9_6 = 192, - FRAME_13_2 = 264, - FRAME_16_4 = 328, - FRAME_24_4 = 488, - FRAME_32 = 640, - FRAME_48 = 960, - FRAME_64 = 1280, - FRAME_96 = 1920, - FRAME_128 = 2560 - -} FRAME_SIZE; - -/*---------------------------------------------------------------* - * IGF * - *---------------------------------------------------------------*/ - -typedef struct igf_grid_struct -{ - int16_t swb_offset[IGF_MAX_SFB]; - int16_t swb_offset_len; - int16_t startFrequency; - int16_t stopFrequency; - int16_t startLine; - int16_t stopLine; - int16_t startSfb; - int16_t stopSfb; - int16_t sfbWrap[IGF_MAX_TILES + 1]; - int16_t sbWrap[IGF_MAX_TILES]; - int16_t nTiles; - int16_t minSrcSubband; - int16_t minSrcFrequency; - int16_t tile[IGF_MAX_TILES + 1]; - int16_t infoIsRefined; - int16_t infoGranuleLen; - float whiteningThreshold[2][IGF_MAX_TILES]; - float gFactor; - float fFactor; - float lFactor; -} IGF_GRID, *H_IGF_GRID; - -typedef struct IGF_INFO_struct -{ - int16_t *nfSeed; - int16_t nfSeedBuf[2]; - int32_t sampleRate; - int16_t frameLength; - int16_t maxHopsize; - IGF_GRID grid[IGF_NOF_GRIDS]; - int16_t bitRateIndex; -} IGF_INFO, *H_IGF_INFO; - - -typedef struct -{ - int16_t *indexBuffer; - int16_t *peakIndices, *holeIndices; - int16_t numPeakIndices, numHoleIndices; -} CONTEXT_HM_CONFIG; - -typedef enum -{ - LPC_ABS_QUANT_BITS = 8, - SNS_ABS_QUANT_BITS = 10 -} ABS_QUANT_BITS; - -#endif diff --git a/lib_com/stl.h b/lib_com/stl.h deleted file mode 100644 index c699fd899b..0000000000 --- a/lib_com/stl.h +++ /dev/null @@ -1,71 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ -/* - =========================================================================== - File: STL.H v.2.3 - 30.Nov.2009 - =========================================================================== - - ITU-T STL BASIC OPERATORS - - MAIN HEADER FILE - - History: - 07 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control - operators for the ITU-T Standard Tool Library as - described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 - TD 11 document and subsequent discussions on the - wp3audio@yahoogroups.com email reflector. - March 06 v2.1 Changed to improve portability. - - ============================================================================ -*/ - - -#ifndef _STL_H -#define _STL_H - -#include "options.h" /* TODO: TEMPORARY during BASOP development - to be removed */ -#include "typedef.h" -#include "basop32.h" -#include "move.h" -#include "control.h" -#include "enh1632.h" -#include "enh40.h" - -#endif /* ifndef _STL_H */ - - -/* end of file */ diff --git a/lib_com/typedef.h b/lib_com/typedef.h deleted file mode 100644 index ec617a5857..0000000000 --- a/lib_com/typedef.h +++ /dev/null @@ -1,129 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/* - =========================================================================== - File: TYPEDEF.H v.2.3 - 30.Nov.2009 - =========================================================================== - - ITU-T STL BASIC OPERATORS - - TYPE DEFINITION PROTOTYPES - - History: - 26.Jan.00 v1.0 Incorporated to the STL from updated G.723.1/G.729 - basic operator library (based on basic_op.h) - - 03 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control - operators for the ITU-T Standard Tool Library as - described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 - TD 11 document and subsequent discussions on the - wp3audio@yahoogroups.com email reflector. - March 06 v2.1 Changed to improve portability. - - ============================================================================ -*/ - -/*_____________________ - | | - | Basic types. | - |_____________________| -*/ - -#ifndef TYPEDEF_H -#define TYPEDEF_H - -#include <stdint.h> -#include <stdbool.h> - -#if __STDC_VERSION__ >= 199901L -typedef int8_t Word8; -typedef uint8_t UWord8; -typedef int16_t Word16; -typedef int32_t Word32; -typedef uint16_t UWord16; -typedef uint32_t UWord32; -typedef int64_t Word40; -typedef bool Flag; -#define TYPEDEF_INITIALIZED -#else -/* - * This is the original code from the file typedef.h - */ -#if defined( __BORLANDC__ ) || defined( __WATCOMC__ ) || defined( _MSC_VER ) || defined( __ZTC__ ) -typedef signed char Word8; -typedef unsigned char UWord8; -typedef short Word16; -typedef int Word32; -typedef unsigned short UWord16; -typedef unsigned int UWord32; -typedef __int64 Word40; -typedef int Flag; -#define TYPEDEF_INITIALIZED -#elif defined( __sun ) -typedef signed char Word8; -typedef unsigned char UWord8; -typedef short Word16; -typedef long Word32; -/*#error "The 40-bit operations have not been tested on __sun : need to define Word40"*/ -typedef unsigned short UWord16; -typedef unsigned long UWord32; -typedef long long Word40; -typedef int Flag; -#define TYPEDEF_INITIALIZED -#elif defined( __unix__ ) || defined( __unix ) || defined( __APPLE__ ) || defined( __CYGWIN__ ) || defined( __MINGW32__ ) -typedef signed char Word8; -typedef unsigned char UWord8; -typedef short Word16; -typedef int Word32; -typedef unsigned short UWord16; -typedef unsigned int UWord32; -/*#error "The 40-bit operations have not been tested on unix : need to define Word40"*/ -typedef long long Word40; -typedef int Flag; -#endif -#define TYPEDEF_INITIALIZED -#endif - -typedef float Float32; - -#ifndef TYPEDEF_INITIALIZED -#error types in typedef.h not initialized -#endif -#endif /* ifndef _TYPEDEF_H */ - - -/* end of file */ diff --git a/lib_debug/debug.h b/lib_debug/debug.h deleted file mode 100644 index abf246674a..0000000000 --- a/lib_debug/debug.h +++ /dev/null @@ -1,242 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef DEBUG_H -#define DEBUG_H - -#include "options.h" -#include <stdio.h> -#include <stdint.h> -#ifdef DEBUG_SBA -#include "sba_debug.h" -#endif - -/*------------------------------------------------------------------------------------------* - * Global variables used for debugging - *------------------------------------------------------------------------------------------*/ - -extern int32_t frame; - -#ifdef DEBUGGING -extern uint16_t g_nPrintedLines; -extern int16_t g_verbose; -#endif - -#ifdef DEBUGGING -extern int16_t debug_level; -#define DEBUG_LINE( level ) if ( ( level ) <= debug_level ) -#else -#define DEBUG_LINE( level ) if ( 0 ) -#endif - -#ifdef DEBUG_MODE_INFO -extern char tmp_fname[]; -extern char debug_dir[6]; -char *fname( char *dir, char *file, const int16_t n, const int16_t id, const int16_t enc_dec ); -#endif - -/*------------------------------------------------------------------------------------------* - * Read/write I/O tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -int16_t lookup( - const char *const str, - const char *const *const list, - const int16_t n_elem ); - -#ifdef DEBUG_MODE_INFO -#ifdef DEBUG_MODE_INFO_TWEAK -int16_t tweakdbgfolder( - const char *filename, - char *filename_mod, - int16_t *textmode ); -#endif -#endif - -int16_t dbgwrite( - const void *const buffer, - const int16_t size, - const int16_t count, - const int16_t repeat, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -void dbgwrite_mat_repeat( - float *buffer, /* i : write buffer */ - int16_t nRow, /* i : matrix size (rows) */ - int16_t mCol, /* i : matrix size (columns) */ - int16_t row_repeat, /* i : number of times rows are repeated */ - int16_t col_repeat, /* i : number of times columns are repeated */ -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename /* i : Output file name */ -#else - const char *const filename -#endif -); - -int16_t dbgappend( - const void *const buffer, - const int16_t size, - const int16_t count, - const int16_t repeat, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -int16_t dbgread( - void *const buffer, - const int16_t size, - const int16_t count, -#ifdef DEBUG_MODE_INFO_TWEAK - const char *filename -#else - const char *const filename -#endif -); - -void dbgclose( void ); - -int16_t dbgflag( - const char *flagname ); - -void setflag( - const char *flagname ); - -int16_t dbgargs( - int32_t *argc, - char *argv[] ); - -int16_t dbgvalue( - const char *typestr, - const char *value_name, - ... ); - -extern FILE *DJB_delay; - -extern FILE *FEC_pattern; - -#endif /* DEBUGGING */ - -/*------------------------------------------------------------------------------------------* - * SNR measurement tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -extern int16_t snr_count; -extern char *snr_name[]; - -void snr( - const float *const signal, - const float *const noise, - const int16_t length, - const char *const name ); - -void snr_diff( - const float *const clean, - const float *const degraded, - const int16_t length, - const int16_t delay, - const char *const name ); - -void snr_celp( - const int16_t L_frame, - const int16_t L_subfr, - const float gamma, - const float tilt_fac, - const int16_t vad_flag, - const int16_t coder_type, - const float *input, - const float *output, - const float *A, - const int16_t idchan, - const char *name ); - -void print_snr( void ); - -#else - -#define print_snr( void ) - -#endif - -/*------------------------------------------------------------------------------------------* - * SD analysis tool - *------------------------------------------------------------------------------------------*/ - -#ifdef DEBUGGING - -/*! r: SD in a given frequency range */ -float sd_range( - const float lsf[], /* i : vector of unquantized LSF values */ - const float lsf_q[], /* i : vector of quantized LSF values */ - const int16_t order, /* i : dimension of the vectors */ - const int32_t fs, /* i : sampling frequency */ - const float min_freq, /* i : minimum frequency of interest */ - const float max_freq, /* i : maximum frequency of interest */ - const char *const name, /* i : string for SD entry in the global table */ - const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ -); - -/*! r: SD respecting critical bands */ -float sd_crit( - const float lsf[], /* i : vector of unquantized LSF values */ - const float lsf_q[], /* i : vector of quantized LSF values */ - const int16_t order, /* i : dimension of the vectors */ - const int32_t fs, /* i : sampling frequency */ - const float min_freq, /* i : minimal frequency */ - const float max_freq, /* i : maximal frequency */ - int16_t *min_band, /* o : minimal critical band */ - int16_t *max_band, /* o : maximal critical band */ - float sd_bands[], /* i/o: SD in critical bands */ - const char *const name, /* i : string for SD entry in the global table */ - const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ -); - -void print_sd( void ); - -#else - -#define print_sd( void ) - -#endif - -#endif /* DEBUG_H */ diff --git a/lib_debug/sba_debug.h b/lib_debug/sba_debug.h deleted file mode 100644 index 86e07e5a41..0000000000 --- a/lib_debug/sba_debug.h +++ /dev/null @@ -1,60 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef SBA_DEBUG_H -#define SBA_DEBUG_H - -#include "options.h" -#include <stdio.h> -#include <stdint.h> -#ifdef DEBUG_SBA -#include "cnst.h" -#include "ivas_cnst.h" -#include "tinywaveout_c.h" - -#ifdef DEBUG_SBA_AUDIO_DUMP -extern WAVEFILEOUT *spar_foa_enc_wav[3]; -extern WAVEFILEOUT *spar_foa_dec_wav[4]; -#endif - -#ifdef DEBUG_AGC -void ivas_close_agc_debug_files( void ); -void ivas_open_agc_debug_files( int16_t agc ); -#endif -void ivas_spar_dump_signal_wav( const int16_t input_frame, float **ppPcm, float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], const int16_t no_channel, WAVEFILEOUT *wave_file, char *location ); -void ivas_close_sba_encoder_debug_files( void ); -void ivas_open_sba_encoder_debug_files( const int32_t fs, const int16_t n_transport, const char *file_tag, const int32_t ivas_total_brate, const int16_t dtx_on ); -void ivas_close_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport, const int16_t pca_ingest_channels ); -void ivas_open_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport ); -#endif - -#endif /* SBA_DEBUG_H */ diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h deleted file mode 100644 index febc60e2e5..0000000000 --- a/lib_dec/ivas_rom_dec.h +++ /dev/null @@ -1,159 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_ROM_DEC_H -#define IVAS_ROM_DEC_H - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "cnst.h" -#include "ivas_cnst.h" -#include "ivas_stat_dec.h" - - -/*----------------------------------------------------------------------------------* - * DFT stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float dft_alpha_w_b2[STEREO_DFT_BAND_MAX]; -extern const float dft_alpha_s_b2[STEREO_DFT_BAND_MAX]; -extern const float dft_alpha_s2_b2[STEREO_DFT_BAND_MAX]; -extern const float dft_bpf_weights[]; - -extern const float dft_alpha_w[]; -extern const float dft_alpha_s[]; -extern const float dft_alpha_s2[]; - -extern const float dft_ap_gains[5][3]; -extern const int16_t dft_ap_delays[3][3]; -extern const float dft_res_pred_weights[][STEREO_DFT_BAND_MAX]; - - -extern const float dft_win232ms_8k[75]; -extern const float dft_win232ms_12k8[120]; -extern const float dft_win232ms_16k[150]; -extern const float dft_win232ms_32k[300]; -extern const float dft_win232ms_48k[450]; - -extern const float dft_win_8k[70]; - -extern const int16_t cna_init_bands[MAX_CNA_NBANDS + 1]; -extern const float max_smooth_gains[SBA_DIRAC_STEREO_NUM_BANDS]; - - -/*----------------------------------------------------------------------------------* - * ECLVQ Stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const uint16_t cum_freq_ECSQ_tab_param[ECSQ_CONFIG_COUNT][1 + ECSQ_PARAM_COUNT]; -extern const uint16_t sym_freq_ECSQ_tab_param[ECSQ_CONFIG_COUNT][ECSQ_PARAM_COUNT]; -extern const uint16_t cum_freq_ECSQ_tab_vals[ECSQ_PARAM_COUNT - 1][1 + ECSQ_TAB_VALS_SIZE]; -extern const uint16_t sym_freq_ECSQ_tab_vals[ECSQ_PARAM_COUNT - 1][ECSQ_TAB_VALS_SIZE]; -extern const uint16_t *const cum_freq_ECSQ_tab_abs_lsbs[1 + 4]; -extern const uint16_t *const sym_freq_ECSQ_tab_abs_lsbs[1 + 4]; - - -/*----------------------------------------------------------------------------------* - * DirAC ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float ls_azimuth_4d4[8]; -extern const float ls_elevation_4d4[8]; -extern const float diffuse_response_CICP6[5]; -extern const float diffuse_response_CICP14[7]; -extern const float diffuse_response_CICP16[9]; - - -extern const float dirac_dithering_azi_scale[DIRAC_DIFFUSE_LEVELS]; -extern const float dirac_dithering_ele_scale[DIRAC_DIFFUSE_LEVELS]; - -extern const int16_t ap_pre_delay[DIRAC_DECORR_NUM_SPLIT_BANDS]; -extern const int16_t ap_filter_length[DIRAC_DECORR_NUM_SPLIT_BANDS]; -extern const float ap_lattice_delta_phi[DIRAC_MAX_NUM_DECORR_FILTERS * DIRAC_MAX_DECORR_FILTER_LEN]; -extern const float ap_lattice_coeffs_1[DIRAC_DECORR_FILTER_LEN_1 * DIRAC_MAX_NUM_DECORR_FILTERS]; -extern const float ap_lattice_coeffs_2[DIRAC_DECORR_FILTER_LEN_2 * DIRAC_MAX_NUM_DECORR_FILTERS]; -extern const float ap_lattice_coeffs_3[DIRAC_DECORR_FILTER_LEN_3 * DIRAC_MAX_NUM_DECORR_FILTERS]; -extern const float *const ap_lattice_coeffs[DIRAC_DECORR_NUM_SPLIT_BANDS]; -extern const float ap_split_frequencies[DIRAC_DECORR_NUM_SPLIT_BANDS + 1]; - -extern const int16_t sba_map_tc[8]; - -/*----------------------------------------------------------------------------------* - * LS Configuration Converter ROM tables - *----------------------------------------------------------------------------------*/ - -/* Downmix matrices */ -extern const float ls_conversion_cicpX_mono[12][1]; -extern const float ls_conversion_cicpX_stereo[12][2]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[]; - -/* Upmix matrices */ -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[]; - -/* Mapping table of input config : output config with corresponding matrix */ -extern const LS_CONVERSION_MAPPING ls_conversion_mapping[]; - - -/*----------------------------------------------------------------------------------* - * FASTCONV and PARAMETRIC binaural renderer ROM tables - *----------------------------------------------------------------------------------*/ - -/* These are equalization values for spread and surround coherent sounds, approximating the spectrum - * for such sounds at anechoic multichannel listening. */ -extern const float surCohEne[MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS]; -extern const float spreadCohEne05[MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS]; -extern const float spreadCohEne1[MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS]; - -/* Values for low-bit-rate equalization */ -extern const float lowBitRateBinauralEQ[LOW_BIT_RATE_BINAURAL_EQ_BINS]; - -/* Diffuse field binaural coherence directional adjustment values */ -extern const float diffuseFieldCoherenceDifferenceX[BINAURAL_COHERENCE_DIFFERENCE_BINS]; -extern const float diffuseFieldCoherenceDifferenceY[BINAURAL_COHERENCE_DIFFERENCE_BINS]; -extern const float diffuseFieldCoherenceDifferenceZ[BINAURAL_COHERENCE_DIFFERENCE_BINS]; - -#endif diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h deleted file mode 100644 index 2e5a035dab..0000000000 --- a/lib_dec/jbm_jb4_circularbuffer.h +++ /dev/null @@ -1,76 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef JBM_JB4_CIRCULARBUFFER_H -#define JBM_JB4_CIRCULARBUFFER_H JBM_JB4_CIRCULARBUFFER_H - -#include "prot.h" -#include "cnst.h" - -/** handle for circular buffer (FIFO) with fixed capacity */ -typedef struct JB4_CIRCULARBUFFER *JB4_CIRCULARBUFFER_HANDLE; - -/** type of circular buffer elements */ -typedef int32_t JB4_CIRCULARBUFFER_ELEMENT; - - -int16_t JB4_CIRCULARBUFFER_Create( JB4_CIRCULARBUFFER_HANDLE *ph ); - -void JB4_CIRCULARBUFFER_Destroy( JB4_CIRCULARBUFFER_HANDLE *ph ); - -int16_t JB4_CIRCULARBUFFER_Init( JB4_CIRCULARBUFFER_HANDLE h, uint16_t capacity ); - -int16_t JB4_CIRCULARBUFFER_Enque( JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT element ); - -int16_t JB4_CIRCULARBUFFER_Deque( JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT *pElement ); - -JB4_CIRCULARBUFFER_ELEMENT JB4_CIRCULARBUFFER_Front( const JB4_CIRCULARBUFFER_HANDLE h ); - -JB4_CIRCULARBUFFER_ELEMENT JB4_CIRCULARBUFFER_Back( const JB4_CIRCULARBUFFER_HANDLE h ); - -int16_t JB4_CIRCULARBUFFER_IsEmpty( const JB4_CIRCULARBUFFER_HANDLE h ); - -int16_t JB4_CIRCULARBUFFER_IsFull( const JB4_CIRCULARBUFFER_HANDLE h ); - -uint16_t JB4_CIRCULARBUFFER_Size( const JB4_CIRCULARBUFFER_HANDLE h ); - -void JB4_CIRCULARBUFFER_Min( const JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT *pMin ); - -void JB4_CIRCULARBUFFER_Max( const JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT *pMax ); - -void JB4_CIRCULARBUFFER_MinAndPercentile( const JB4_CIRCULARBUFFER_HANDLE h, uint16_t nElementsToIgnore, JB4_CIRCULARBUFFER_ELEMENT *pMin, JB4_CIRCULARBUFFER_ELEMENT *pPercentile ); - -#endif /* JBM_JB4_CIRCULARBUFFER_H */ diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h deleted file mode 100644 index 7ab8086470..0000000000 --- a/lib_dec/jbm_jb4_inputbuffer.h +++ /dev/null @@ -1,76 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/** \file jbm_jb4_inputbuffer.h RTP input buffer with fixed capacity. */ - -#ifndef JBM_JB4_INPUTBUFFER_H -#define JBM_JB4_INPUTBUFFER_H JBM_JB4_INPUTBUFFER_H - -#include <stdbool.h> -#include <stdint.h> -#include "options.h" - - -typedef struct JB4_INPUTBUFFER *JB4_INPUTBUFFER_HANDLE; - -typedef void *JB4_INPUTBUFFER_ELEMENT; - -int16_t JB4_INPUTBUFFER_Create( JB4_INPUTBUFFER_HANDLE *ph ); - -void JB4_INPUTBUFFER_Destroy( JB4_INPUTBUFFER_HANDLE *ph ); - -int16_t JB4_INPUTBUFFER_Init( - JB4_INPUTBUFFER_HANDLE h, - uint16_t capacity, - int16_t ( *compareFunction )( const JB4_INPUTBUFFER_ELEMENT newElement, const JB4_INPUTBUFFER_ELEMENT arrayElement, bool *replaceWithNewElementIfEqual ) ); - -int16_t JB4_INPUTBUFFER_Enque( JB4_INPUTBUFFER_HANDLE h, JB4_INPUTBUFFER_ELEMENT element, JB4_INPUTBUFFER_ELEMENT *replacedElement ); - -int16_t JB4_INPUTBUFFER_Deque( JB4_INPUTBUFFER_HANDLE h, JB4_INPUTBUFFER_ELEMENT *pElement ); - -JB4_INPUTBUFFER_ELEMENT JB4_INPUTBUFFER_Front( const JB4_INPUTBUFFER_HANDLE h ); - -JB4_INPUTBUFFER_ELEMENT JB4_INPUTBUFFER_Back( const JB4_INPUTBUFFER_HANDLE h ); - -JB4_INPUTBUFFER_ELEMENT JB4_INPUTBUFFER_Element( const JB4_INPUTBUFFER_HANDLE h, uint16_t index ); - -int16_t JB4_INPUTBUFFER_IsEmpty( const JB4_INPUTBUFFER_HANDLE h ); - -int16_t JB4_INPUTBUFFER_IsFull( const JB4_INPUTBUFFER_HANDLE h ); - -uint16_t JB4_INPUTBUFFER_Size( const JB4_INPUTBUFFER_HANDLE h ); - -#endif /* JBM_JB4_INPUTBUFFER_H */ diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h deleted file mode 100644 index b945c31884..0000000000 --- a/lib_dec/jbm_jb4_jmf.h +++ /dev/null @@ -1,61 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/** \file jbm_jb4_jmf.h jitter measure fifo - a fifo used for windowed measure of network status */ - -#ifndef JBM_JB4_JMF_H -#define JBM_JB4_JMF_H JBM_JB4_JMF_H - -#include <stdint.h> -#include "options.h" - -/** handle for jitter measure fifo - a fifo used for windowed measure of network status */ -typedef struct JB4_JMF *JB4_JMF_HANDLE; - -int16_t JB4_JMF_Create( JB4_JMF_HANDLE *ph ); - -void JB4_JMF_Destroy( JB4_JMF_HANDLE *ph ); - -int16_t JB4_JMF_Init( JB4_JMF_HANDLE h, int16_t timeScale, uint16_t windowSize, uint16_t windowDuration, uint16_t consideredFraction ); - -int16_t JB4_JMF_PushPacket( JB4_JMF_HANDLE h, uint32_t sysTime, uint32_t rtpTimeStamp ); - -int16_t JB4_JMF_Jitter( const JB4_JMF_HANDLE h, uint32_t *jitter ); - -int16_t JB4_JMF_MinOffset( const JB4_JMF_HANDLE h, int32_t *offset ); - - -#endif /* JBM_JB4_JMF_H */ diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h deleted file mode 100644 index bc70413689..0000000000 --- a/lib_dec/jbm_jb4sb.h +++ /dev/null @@ -1,107 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/** \file jbm_jb4sb.h EVS Jitter Buffer Management Interface */ - -#ifndef JBM_JB4SB_H -#define JBM_JB4SB_H JBM_JB4SB_H - -#include <stdbool.h> -#include <stdint.h> -#include "options.h" -#include "typedef.h" -#include "ivas_error.h" - -/** handle for jitter buffer */ -typedef struct JB4 *JB4_HANDLE; - -/** jitter buffer data units (access unit together with RTP seqNo, timestamp, ...) */ -struct JB4_DATAUNIT -{ - /** the RTP sequence number (16 bits) */ - uint16_t sequenceNumber; - /** the RTP time stamp (32 bits) of this chunk in timeScale() units */ - uint32_t timeStamp; - /** the duration of this chunk in timeScale() units */ - uint32_t duration; - /** the RTP time scale, which is used for timeStamp() and duration() */ - uint32_t timeScale; - /** the receive time of the RTP packet in milliseconds */ - uint32_t rcvTime; - /** true, if the data unit contains only silence */ - bool silenceIndicator; - Word16 isAMRWB_IOmode; - /** for EVS payload */ - Word16 frameTypeIndex; - /** Q bit for AMR-WB IO */ - Word16 qBit; - - /** the binary encoded access unit */ - uint8_t *data; - /** the size of the binary encoded access unit [bits] */ - uint16_t dataSize; - - /** identify if the data unit has a partial copy of a previous frame */ - bool partial_frame; - /** offset of the partial copy contained in that frame or zero */ - int16_t partialCopyOffset; - int16_t nextCoderType; -}; - -typedef struct JB4_DATAUNIT *JB4_DATAUNIT_HANDLE; - - -ivas_error JB4_Create( JB4_HANDLE *ph ); - -void JB4_Destroy( JB4_HANDLE *ph ); - -int16_t JB4_Init( JB4_HANDLE h, int16_t safetyMargin ); - -JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h ); - -void JB4_FreeDataUnit( JB4_HANDLE h, JB4_DATAUNIT_HANDLE dataUnit ); - -int16_t JB4_PushDataUnit( JB4_HANDLE h, JB4_DATAUNIT_HANDLE dataUnit, uint32_t rcvTime ); - -int16_t JB4_PopDataUnit( JB4_HANDLE h, uint32_t sysTime, uint32_t extBufferedTime, JB4_DATAUNIT_HANDLE *pDataUnit, uint32_t *scale, uint32_t *maxScaling ); - -int16_t JB4_getFECoffset( JB4_HANDLE h ); - -int16_t JB4_FECoffset( JB4_HANDLE h ); - -uint16_t JB4_bufferedDataUnits( const JB4_HANDLE h ); - -#endif /* JBM_JB4SB_H */ diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h deleted file mode 100644 index 5cf4e7d8b6..0000000000 --- a/lib_dec/jbm_pcmdsp_apa.h +++ /dev/null @@ -1,122 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/*! @file jbm_pcmdsp_apa.h Adaptive Playout for Audio (apa). */ - -#ifndef JBM_PCMDSP_APA_H -#define JBM_PCMDSP_APA_H JBM_PCMDSP_APA_H - -#include <stdbool.h> -#include <stdint.h> -#include "options.h" - -/* -******************************************************************************** -* DEFINITION OF CONSTANTS -******************************************************************************** -*/ - -/* size of IO buffers (a_in[], a_out[]) for apa_exec() */ -#define APA_BUF 4096 * 3 - -/* min/max sampling rate [Hz] */ -#define APA_MIN_RATE 1000 -#define APA_MAX_RATE 48000 - -/* min/max scaling [%] */ -#define APA_MIN_SCALE 50 -#define APA_MAX_SCALE 150 - -#define APA_SM_SURROUND 1 -#define APA_SM_LOGARITHMIC 2 -#define APA_SM_FULLSUBSAMPLED 3 - -#define APA_SIM_CCF 11 -#define APA_SIM_NCCF 12 -#define APA_SIM_AMDF 13 -#define APA_SIM_SSE 14 - -/* -******************************************************************************** -* DEFINITION OF DATA TYPES -******************************************************************************** -*/ - -struct apa_state_t; -typedef struct apa_state_t apa_state_t; -/*! handle for APA */ -typedef struct apa_state_t *PCMDSP_APA_HANDLE; - - -/* -******************************************************************************** -* DECLARATION OF PROTOTYPES -******************************************************************************** -*/ - -/*! Allocates memory for state struct and initializes elements. - * @return 0 on success, 1 on failure */ -uint8_t apa_init( apa_state_t **s ); - -/*! Sets state variables to initial value. */ -void apa_reset( apa_state_t *s ); - -/*! Sets the audio configuration. - * Must be called once before processing can start. - * If called again during processing it will reset the state struct! - * Typical sample rates: 8000, 16000, 22050, 44100. Must be in range [APA_MIN_RATE,APA_MAX_RATE]. - * Will also set a number of other state variables that depend on the sampling rate. - * @param[in,out] ps state - * @param[in] output_Fs sample rate [Hz] - * @param[in] num_channels number of channels - * @return 0 on success, 1 on failure */ -bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs, const int16_t num_channels ); - -/*! Set scaling. - * The scale is given in % and will be valid until changed again. - * Must be in range [APA_MIN_SCALE,APA_MAX_SCALE]. - * @return 0 on success, 1 on failure */ -bool apa_set_scale( apa_state_t *s, uint16_t scale ); - -bool apa_set_complexity_options( apa_state_t *s, uint16_t wss, uint16_t css ); - -bool apa_set_quality( apa_state_t *s, float quality, uint16_t qualityred, uint16_t qualityrise ); - -bool apa_exit( apa_state_t **s ); - -uint8_t apa_exec( apa_state_t *s, const int16_t a_in[], uint16_t l_in, uint16_t maxScaling, int16_t a_out[], uint16_t *l_out ); - -#endif /* JBM_PCMDSP_APA_H */ diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h deleted file mode 100644 index bdd186702e..0000000000 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ /dev/null @@ -1,81 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/*! @file jbm_pcmdsp_fifo.h Ringbuffer (FIFO) with fixed capacity for audio samples. */ - -#ifndef JBM_PCMDSP_FIFO_H -#define JBM_PCMDSP_FIFO_H JBM_PCMDSP_FIFO_H - -#include <stdint.h> -#include "options.h" - - -/** Ringbuffer (FIFO) with fixed capacity for audio samples. */ -struct PCMDSP_FIFO -{ - /** size of currently stored samples per channel */ - uint16_t size; - /** maximum allowed number of samples per channel */ - uint16_t capacity; - /** sample size in bytes per channel */ - uint16_t nBytesPerSampleSet; - - /** begin of the FIFO data (pointer to bytes) */ - uint8_t *dataBegin; - /** end of the FIFO data (pointer to bytes) */ - uint8_t *dataEnd; - /** position of next write operation (pointer to bytes) */ - uint8_t *dataWriteIterator; - /** position of next read operation (pointer to bytes) */ - uint8_t *dataReadIterator; -}; - -typedef struct PCMDSP_FIFO *PCMDSP_FIFO_HANDLE; - - -int16_t pcmdsp_fifo_create( PCMDSP_FIFO_HANDLE *ph ); - -void pcmdsp_fifo_destroy( PCMDSP_FIFO_HANDLE *ph ); - -int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, uint16_t nSamples, uint16_t nChannels, uint16_t nBytesPerSample ); - -int16_t pcmdsp_fifo_write( PCMDSP_FIFO_HANDLE h, const uint8_t *samples, uint16_t nSamplesPerChannel ); - -int16_t pcmdsp_fifo_read( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint8_t *samples ); - -uint16_t pcmdsp_fifo_nReadableSamples( const PCMDSP_FIFO_HANDLE h ); - -#endif /* JBM_PCMDSP_FIFO_H */ diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h deleted file mode 100644 index 36f64d7297..0000000000 --- a/lib_dec/jbm_pcmdsp_similarityestimation.h +++ /dev/null @@ -1,140 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/*! @file jbm_pcmdsp_similarityestimation.h Algorithms for correlation and similarity estimation. */ - -#ifndef JBM_PCMDSP_SIMILARITYESTIMATION_H -#define JBM_PCMDSP_SIMILARITYESTIMATION_H JBM_PCMDSP_SIMILARITYESTIMATION_H - -#include "options.h" -#include "typedef.h" - -/* -******************************************************************************** -* -* Function : cross_correlation_self -* Tables : <none> -* Compile Defines : <none> -* Return : (float) cross correlation coefficient -* Information : Calculate cross correlation coefficient for template -* segment. -* The returned value is signal-energy dependant. -* -* Used formula: -* -* corr_len-1 -* ---- -* \ -* / (j+x)*(j+y) -* ---- -* j=0 -* -* -* 23-JUL-04 S.Doehla initial version -* -******************************************************************************** -*/ -float cross_correlation_self( const int16_t *signal, uint16_t x, uint16_t y, uint16_t corr_len ); - -/* -******************************************************************************** -* -* Function : cross_correlation_subsampled_self -* Tables : <none> -* Compile Defines : <none> -* Return : (float) cross correlation coefficient -* Information : Calculate cross correlation coefficient for template -* segment. -* The returned value is signal-energy dependant. -* -* Used formula: -* -* corr_len-1 -* ---- -* \ -* / (j+x)*(j+y) -* ---- -* j=0 -* -* -* 23-JUL-04 S.Doehla initial version -* -******************************************************************************** -*/ -float cross_correlation_subsampled_self( const int16_t *signal, uint16_t x, uint16_t y, uint16_t corr_len, uint16_t subsampling ); - -/* -******************************************************************************** -* -* Function : normalized_cross_correlation_self -* Tables : <none> -* Compile Defines : <none> -* Return : (float) normalized cross correlation coefficient -* Information : Calculate normalized cross correlation coefficient -* for template segment. -* The returned value is signal-energy independant. -* This means, no matter how loud your signal is, equal -* signals will return 1.0, cross-phased signals -1.0. -* -* Complexity is very high due to many floating point -* operations and using squared root! -* -* This function fills parameter energy with the common -* energy of signal x and signal y. This might be useful -* for silence detection. -* -* Used formula: -* -* corr_len-1 -* ---- -* \ (j+x)*(j+y) -* \ __________________ -* / -------------- -* / -/ (j+x)�+(j+y)� -* ---- -* j=0 -* -* -* 23-JUL-04 S.Doehla initial version -* -******************************************************************************** -*/ -float normalized_cross_correlation_self( const int16_t *signal, uint16_t x, uint16_t y, uint16_t corr_len, uint16_t subsampling, float *energy ); - -/* Splits the signal into segments and checks if all of them have very low energy. */ -bool isSilence( const int16_t *signal, uint32_t len, uint32_t segments ); - -#endif /* JBM_PCMDSP_SIMILARITYESTIMATION_H */ diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h deleted file mode 100644 index cf697b6b9c..0000000000 --- a/lib_dec/jbm_pcmdsp_window.h +++ /dev/null @@ -1,66 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -/*! @file jbm_jbm_pcmdsp_window.h Window functions. */ - -#ifndef JBM_PCMDSP_WINDOW_H -#define JBM_PCMDSP_WINDOW_H JBM_PCMDSP_WINDOW_H - -#include <stdint.h> -#include "options.h" - -/*! Generates a Hann window (cos-shaped) of length n. - * Roughly: - * - * 1 __ - * / \ - * 0 _/ \_ - * <------> - * n - */ -void hannWindow( uint16_t n, float *w ); - -/** Overlap/Add of two signal with a given window. */ -/** @param[in] fadeOut signal to fade out - * @param[in] fadeIn signal to fade in - * @param[in] out buffer to store the output signal - * @param[in] n number of samples - * @param[in] nChannels number of channels - * @param[in] fadeOutWin window for fade out - * @param[in] fadeInWin window for fade in */ -void overlapAdd( const int16_t *fadeOut, const int16_t *fadeIn, int16_t *out, uint16_t n, uint16_t nChannels, const float *fadeOutWin, const float *fadeInWin ); - -#endif /* JBM_PCMDSP_WINDOW_H */ diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h deleted file mode 100644 index f43034c885..0000000000 --- a/lib_dec/lib_dec.h +++ /dev/null @@ -1,359 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef LIB_DEC_H -#define LIB_DEC_H - -#include "common_api_types.h" -#include "ivas_error.h" -#include <stdbool.h> -#include <stdint.h> - - -/*---------------------------------------------------------------------* - * Decoder enums - *---------------------------------------------------------------------*/ - -/* output formats generated by the decoder */ -typedef enum _IVAS_DEC_OUTPUT_CONFIG -{ - IVAS_DEC_OUTPUT_MONO = 0x0001, - IVAS_DEC_OUTPUT_STEREO, - IVAS_DEC_OUTPUT_5_1, - IVAS_DEC_OUTPUT_7_1, - IVAS_DEC_OUTPUT_5_1_2, - IVAS_DEC_OUTPUT_5_1_4, - IVAS_DEC_OUTPUT_7_1_4, - IVAS_DEC_OUTPUT_LS_CUSTOM, - IVAS_DEC_OUTPUT_FOA, - IVAS_DEC_OUTPUT_HOA2, - IVAS_DEC_OUTPUT_HOA3, - IVAS_DEC_OUTPUT_BINAURAL, - IVAS_DEC_OUTPUT_BINAURAL_ROOM, - IVAS_DEC_OUTPUT_EXT, - IVAS_DEC_OUTPUT_UNKNOWN = 0xffff -} IVAS_DEC_AUDIO_CONFIG; - -/* mode the decoder is operating in */ -typedef enum _IVAS_DEC_MODE -{ - IVAS_DEC_MODE_EVS = 0x0001, - IVAS_DEC_MODE_IVAS -} IVAS_DEC_MODE; - -typedef enum -{ - IVAS_DEC_INPUT_FORMAT_UNDEF = 0, - IVAS_DEC_INPUT_FORMAT_G192 = 1, - IVAS_DEC_INPUT_FORMAT_MIME = 2, - IVAS_DEC_INPUT_FORMAT_RTPDUMP = 3, - IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF = 4, /* RTP payload: only Header-Full format without zero padding for size collision avoidance */ -} IVAS_DEC_INPUT_FORMAT; - -#ifdef DEBUGGING -typedef enum _IVAS_DEC_FORCED_REND_MODE -{ - IVAS_DEC_FORCE_REND_CLDFB_RENDERER, - IVAS_DEC_FORCE_REND_TD_RENDERER, - IVAS_DEC_FORCE_REND_UNFORCED, - IVAS_DEC_FORCE_REND_UNDEFINED = 0xffff -} IVAS_DEC_FORCED_REND_MODE; -#endif - -/* bitstream formats that can be consumed */ -typedef enum _IVAS_DEC_BS_FORMAT -{ - IVAS_DEC_BS_MONO = 0x0001, /* EVS-compatible mono bitstream */ - IVAS_DEC_BS_STEREO, - IVAS_DEC_BS_MC, - IVAS_DEC_BS_SBA, - IVAS_DEC_BS_OBJ, - IVAS_DEC_BS_MASA, - IVAS_DEC_BS_UNKOWN = 0xffff -} IVAS_DEC_BS_FORMAT; - -typedef struct IVAS_DEC *IVAS_DEC_HANDLE; - - -/* clang-format off */ -/*---------------------------------------------------------------------* - * Decoder function declarations - *---------------------------------------------------------------------*/ - -/* Open, configure, close functions - should be called once per decoder lifetime */ - -/*! r: error code */ -ivas_error IVAS_DEC_Open( - IVAS_DEC_HANDLE *phIvasDec, /* i/o: pointer to an IVAS decoder handle to be opened */ - IVAS_DEC_MODE mode, /* i : compatibility mode (EVS or IVAS) */ - const int16_t orientation_tracking, /* i : orientation tracking type */ - float no_diegetic_pan -); - -/*! r: error code */ -ivas_error IVAS_DEC_Configure( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const uint32_t sampleRate, /* i : output sampling frequency */ - const IVAS_DEC_AUDIO_CONFIG outputFormat, /* i : output format */ - const int16_t customLsOutputEnabled, /* i : enable custom loudspeaker setup handle */ - const int16_t hrtfReaderEnabled, /* i : enable HRTF binary file input */ - const int16_t enableHeadRotation /* i : enable head rotation for binaural output */ -#ifdef DEBUGGING - , - const int16_t forceSubframeBinauralization /* i : enable subframe binauralization */ -#endif -); - -void IVAS_DEC_Close( - IVAS_DEC_HANDLE *phIvasDec /* i/o: pointer to IVAS decoder handle */ -); - - -/* Decoding functions - should be called with a configured decoder handle */ - -/*! r: error code */ -ivas_error IVAS_DEC_FeedFrame_Serial( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ - const uint16_t num_bits, /* i : number of bits in input bitstream */ - const int16_t bfi /* i : bad frame indicator flag */ -); - -/*! r: decoder error code */ -ivas_error IVAS_DEC_GetSamples( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - int16_t *nOutSamples /* o : number of samples written to output buffer */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetObjectMetadata( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - IVAS_ISM_METADATA *metadata, /* o : struct where metadata decoded in most recently decoded frame will be written */ - const uint16_t zero_flag, /* i : if this flag is enabled, this function outputs a zero-initialized metadata struct */ - const uint16_t objectIdx /* i : index of the queried object */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetMasaMetadata( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - IVAS_MASA_QMETADATA_HANDLE *hMasaMetadata /* o : pointer to handle, which will be set to point to metadata from the most recently decoded frame */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_FeedHeadTrackData( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - IVAS_QUATERNION *orientation /* i : head-tracking data */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_VoIP_FeedFrame( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - uint8_t *au, /* i : buffer containing input access unit */ - const uint16_t auSize, /* i : size of the access unit */ - const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ - const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ - const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ - const bool isAMRWB_IOmode, /* i : AMRWB flag */ - const uint16_t frameTypeIndex, /* i : core mode for frame */ - const bool qBit /* i : Q bit for AMR-WB IO */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_VoIP_GetSamples( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int16_t *nOutSamples, /* o : number of samples written to output buffer */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ - const uint32_t systemTimestamp_ms /* i : current system timestamp */ -); - -/* Setter functions - apply changes to decoder configuration */ - -/*! r: error code */ -ivas_error IVAS_DEC_EnableVoIP( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const int16_t jbmSafetyMargin, /* i : allowed delay reserve for JBM, in milliseconds */ - const IVAS_DEC_INPUT_FORMAT inputFormat /* i : format of the input bitstream */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_SetHeadrotation( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const float w, /* i : w-coordinate of head rotation quaternion */ - const float x, /* i : x-coordinate of head rotation quaternion */ - const float y, /* i : y-coordinate of head rotation quaternion */ - const float z, /* i : z-coordinate of head rotation quaternion */ - const uint16_t i /* i : subframe index within current frame */ -); - - -#ifdef DEBUGGING -bool IVAS_DEC_GetBerDetectFlag( - IVAS_DEC_HANDLE hIvasDec /* i : IVAS decoder handle */ -); - -int32_t IVAS_DEC_GetNoCLipping( - IVAS_DEC_HANDLE hIvasDec /* i : IVAS decoder handle */ -); - -int32_t IVAS_DEC_GetCntFramesLimited( - IVAS_DEC_HANDLE hIvasDec /* i : IVAS decoder handle */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_SetForcedRendMode( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const IVAS_DEC_FORCED_REND_MODE forcedRendMode /* i : forced renderer mode */ -); - -#ifdef DEBUG_SBA_AUDIO_DUMP -ivas_error IVAS_DEC_GetSbaDebugParams( - const IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int16_t *numOutputChannels, - int16_t *numTransportChannels, - int16_t *pca_ingest_channels -); -#endif -#endif - -/* Getter functions - retrieve information from a decoder through a handle */ - -/*! r: error code */ -ivas_error IVAS_DEC_GetNumObjects( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - uint16_t *numObjects /* o : number of objects for which the decoder has been configured */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetFormat( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - IVAS_DEC_BS_FORMAT *format /* o : format detected from bitstream fed to the decoder */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetNumOutputChannels( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int16_t *numOutputChannels /* o : number of PCM output channels */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_FeedCustomLsData( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const IVAS_CUSTOM_LS_DATA hLsCustomData /* i : Custom loudspeaker setup data */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetHrtfHandle( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - IVAS_DEC_HRTF_HANDLE *hHrtfTD /* o : HRTF handle */ -); - -/*! r: error code*/ -ivas_error IVAS_DEC_GetRenderConfig( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const IVAS_RENDER_CONFIG_HANDLE hRCout /* o : Render config handle */ -); - -/*! r: error code*/ -ivas_error IVAS_DEC_FeedRenderConfig( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - const IVAS_RENDER_CONFIG_DATA hRenderConfig /* i : Render config data structure */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetDelay( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int16_t *nSamples, /* o : decoder delay in samples */ - int32_t *timeScale /* o : time scale of the delay, equal to decoder output sampling rate */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_HasDecodedFirstGoodFrame( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - bool *hasDecodedFirstGoodFrame /* o : flag indicating if the decoder has decoded a good frame since it was configured */ -); - -/*! r: error code */ -ivas_error IVAS_DEC_GetPcmFrameSize( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int32_t *pcmFrameSize /* o : total size of the PCM output frame. This takes into account the number of output channels */ -); - -/*! r: true if decoder has no data in VoIP jitter buffer */ -bool IVAS_DEC_VoIP_IsEmpty( - IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */ -); - -ivas_error IVAS_DEC_VoIP_Get_CA_offset( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - int16_t *optimum_offset, - int16_t *FEC_hi -); - -#ifdef SUPPORT_JBM_TRACEFILE -ivas_error IVAS_DEC_GetJbmData( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - IVAS_JBM_TRACE_DATA *JbmTraceData /* o : JBM Trace data */ -); -#endif - -/* Utility functions */ - -/*! r: pointer to an error message string */ -const char *IVAS_DEC_GetErrorMessage( - ivas_error error /* i : decoder error code enum */ -); - - -void IVAS_DEC_PrintConfig( - const IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ - const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ - const bool voipMode -); - -#ifdef DEBUGGING -void IVAS_DEC_PrintConfigWithBitstream( - IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ - const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ - uint16_t bit_stream[], /* i : bitstream buffer */ - const int16_t num_bits /* i : number of bits in bitstream */ -); -#endif - -void IVAS_DEC_PrintDisclaimer( - void -); - -/* clang-format on */ - -#endif diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h deleted file mode 100644 index de17c90251..0000000000 --- a/lib_dec/rom_dec.h +++ /dev/null @@ -1,71 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef ROM_DEC_H -#define ROM_DEC_H - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "cnst.h" - -extern const float h_low[]; /* LP filter for filtering periodic part of excitation in artificial onset construction after FEC */ - -extern const int16_t mult_avq_tab[]; -extern const int16_t shift_avq_tab[]; - -extern const int16_t hntable[55]; -extern const int16_t hetable[57]; -extern const int16_t hestable[15]; - -extern const float lsf_tab[LPC_SHB_ORDER]; - -extern const int16_t gw[LGW_MAX]; -extern const int16_t gwlpr[LGW_MAX]; -extern const float w_hamm32k_2[L_TRANA32k / 2]; -extern const float w_hamm16k_2[L_TRANA16k / 2]; -extern const float w_hamm_sana32k_2[L_PROT_HAMM_LEN2_32k]; -extern const float w_hamm_sana16k_2[L_PROT_HAMM_LEN2_16k]; -extern const float w_hamm48k_2[L_TRANA48k / 2]; -extern const float w_hamm_sana48k_2[L_PROT_HAMM_LEN2_48k]; - -extern const float h_high3_32[L_FIR_FER2]; -extern const float h_high3_16[L_FIR_FER2]; - - -#endif diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h deleted file mode 100644 index d86cd42b72..0000000000 --- a/lib_dec/stat_dec.h +++ /dev/null @@ -1,1347 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef STAT_DEC_H -#define STAT_DEC_H - -#include <stdint.h> -#include "options.h" -#include "cnst.h" -#include "stat_com.h" /* Common structures */ -#include "ivas_cnst.h" -#ifdef DEBUGGING -#include "debug.h" -#endif - -/*---------------------------------------------------------------* - * Structure for FD Mode2 frameMode - *---------------------------------------------------------------*/ - -typedef enum _DEC_MODE -{ - DEC_NO_FRAM_LOSS = 0x0, - DEC_CONCEALMENT_EXT = 0x1 -} DEC_MODE; - -typedef enum -{ - FRAMEMODE_NORMAL = 0x0, /* frame available */ - FRAMEMODE_MISSING = 0x1, /* frame missing => conceal */ - FRAMEMODE_FUTURE = 0x2 -} FRAME_MODE; - - -/*---------------------------------------------------------------* - * Structure for FD CNG - *---------------------------------------------------------------*/ - -typedef struct -{ - HANDLE_FD_CNG_COM hFdCngCom; - - float msPeriodog[NPART_SHAPING]; /* Periodogram */ - float msBminWin[NPART_SHAPING]; - float msBminSubWin[NPART_SHAPING]; - float msPsd[NPART_SHAPING]; /* Power Spectral Density estimate (i.e., smoothed periodogram) */ - float msAlpha[NPART_SHAPING]; /* Optimal smoothing parameter */ - float msMinBuf[MSNUMSUBFR * NPART_SHAPING]; /* Buffer of minima */ - float msCurrentMinOut[NPART_SHAPING]; - float msCurrentMin[NPART_SHAPING]; - float msCurrentMinSubWindow[NPART_SHAPING]; - int16_t msLocalMinFlag[NPART_SHAPING]; - int16_t msNewMinFlag[NPART_SHAPING]; - float msPsdFirstMoment[NPART_SHAPING]; - float msPsdSecondMoment[NPART_SHAPING]; - float msNoiseFloor[NPART_SHAPING]; /* Estimated noise floor */ - float msNoiseEst[NPART_SHAPING]; /* Estimated noise level */ - float msLogPeriodog[NPART_SHAPING]; /* Periodogram */ - float msLogNoiseEst[NPART_SHAPING]; /* Estimated noise level */ - int16_t npart_shaping; /* Number of partitions */ - int16_t nFFTpart_shaping; /* Number of hybrid spectral partitions */ - int16_t part_shaping[NPART_SHAPING]; /* Partition upper boundaries (band indices starting from 0) */ - int16_t midband_shaping[NPART_SHAPING]; /* Central band of each partition */ - float psize_shaping[NPART_SHAPING]; /* Partition sizes */ - float psize_inv_shaping[NPART_SHAPING]; /* Inverse of partition sizes */ - float bandNoiseShape[FFTLEN2]; /* CNG spectral shape computed at the decoder */ - float partNoiseShape[NPART]; /* CNG spectral shape computed at the decoder */ - - float smoothed_psd[L_FRAME16k]; /* stereo CNA - periodogram smoothed with IIR filter */ - float msPeriodog_ST[NPART_SHAPING]; /* stereo CNA - short-term periodogram */ - int16_t ms_last_inactive_bwidth; /* stereo CNA - bandwidth from the last inactive frame */ - int16_t ms_cnt_bw_up; /* stereo CNA - downward counter of frames since the last NB->WB switch */ - float cna_LR_LT; /* stereo CNA - long-term L/R correlation factor calculated on stereo upmix */ - float cna_ILD_LT; /* stereo CNA - long-term ILD factor calculated on stereo upmix */ - float cna_g_state[STEREO_DFT_BAND_MAX]; /* stereo CNA - side gains from the last inactive frame */ - float cna_cm[STEREO_DFT_BAND_MAX + 1]; /* stereo CNA - coherence from the last inactive frame */ - int16_t first_cna_noise_updated; /* stereo CNA - flag indicating that comfort noise has been properly initialized during warmup */ - int16_t first_cna_noise_update_cnt; /* stereo CNA - counter of CN initialization frames */ - int16_t cna_nbands; /* stereo CNA - number of frequency bands used by the CNA in DFT stereo mode */ - int16_t cna_band_limits[MAX_CNA_NBANDS + 1]; /* stereo CNA - band limits used by the CNA in DFT stereo mode */ - float cna_act_fact; /* stereo CNA - long-term signal activity factor (0-1) */ - float cna_rescale_fact; /* stereo CNA - CN energy re-scaling factor to maintain decoded energy */ - int16_t cna_seed; /* stereo CNA - seed for random CN generator */ - - int16_t flag_dtx_mode; - float lp_speech; - float lp_noise; - - float msPeriodogBuf[MSBUFLEN * NPART_SHAPING]; - int16_t msPeriodogBufPtr; - - -} FD_CNG_DEC, *HANDLE_FD_CNG_DEC; - -/*---------------------------------------------------------------* - * Structure for PLC - *---------------------------------------------------------------*/ - -typedef struct -{ - int16_t L_frameTCX; - - int16_t Pitch; - int16_t T_bfi; - - int16_t Transient[MAX_POST_LEN]; - int16_t TCX_Tonality[DEC_STATE_LEN]; - - float outx_new_n1; - float nsapp_gain; - float nsapp_gain_n; - float data_reci2[L_FRAME_MAX]; - float data_noise[L_FRAME_MAX]; - float ener_mean; - float ener; - int16_t zp; - float recovery_gain; - float step_concealgain; - - int16_t concealment_method; - int16_t subframe; - int16_t nbLostCmpt; - - int16_t seed; - -} T_PLCInfo, *T_PLCInfo_HANDLE; - - -/*---------------------------------------------------------------* - * Structures for Tonal MDCT PLC * - *---------------------------------------------------------------*/ - -typedef struct -{ - uint16_t nSamples; - uint16_t nSamplesCore; - Float32 *spectralData; - float *scaleFactors; - int16_t blockIsValid; - int16_t blockIsConcealed; - int16_t tonalConcealmentActive; -} blockData; - -typedef struct -{ - uint16_t numIndexes; - uint16_t indexOfTonalPeak[MAX_NUMBER_OF_IDX]; - uint16_t lowerIndex[MAX_NUMBER_OF_IDX]; - uint16_t upperIndex[MAX_NUMBER_OF_IDX]; - Float32 phaseDiff[MAX_NUMBER_OF_IDX]; /* This one can be stored with 16 bits in range 0..2*PI */ - Float32 phase_currentFramePredicted[MAX_NUMBER_OF_IDX * GROUP_LENGTH]; /* This one can be stored with 16 bits in range 0..2*PI, but the code has to be adapted to use moduo(2*PI) after adding */ -} TonalComponentsInfo; - -typedef struct -{ - TCX_config *tcx_cfg; - void *pMDSTData; - int16_t nSamples; - int16_t nSamplesCore; - int16_t nNonZeroSamples; - int16_t nScaleFactors; - - float lastPitchLag; - - blockData lastBlockData; - blockData secondLastBlockData; - - Float32 scaleFactorsBuffers[2][FDNS_NPTS]; /* Contains also global gain. If it can not be stored in 16 bits with global gain included, then store global gain separately. */ - Float32 spectralDataBuffers[2][L_FRAME_MAX]; /* 16 bits is enough, because it is stored before applying scale factors. Take care that power spectrum is also stored here. */ - Float32 timeDataBuffer[( 3 * L_FRAME_MAX ) / 2]; - Float32 *lastPcmOut; - Float32 *secondLastPcmOut; - float *secondLastPowerSpectrum; - - float scaleFactorsBackground[FDNS_NPTS]; - float scf_fadeout; - PsychoacousticParameters *psychParams; - PsychoacousticParameters psychParamsTCX20; - PsychoacousticParameters psychParamsTCX10; - - float last_block_nrg; - float curr_noise_nrg; - float faded_signal_nrg; - - float nFramesLost; - - TonalComponentsInfo *pTCI; - -} TonalMDCTConceal_INSTANCE, *TonalMDCTConcealPtr; - -typedef enum SIGNAL_CLASSIFER_MODE -{ - CLASSIFIER_ACELP, - CLASSIFIER_TCX -} SIGNAL_CLASSIFIER_MODE; - - -/*---------------------------------------------------------------* - * Structures for IGF decoder * - *---------------------------------------------------------------*/ - -typedef struct -{ - int16_t bitsRead; /* after a call bitsRead contains the number of bits consumed by the decoder */ - int16_t prev[64]; /* no more than 64 SCFs for the IGF energy envelope of one block */ - int16_t scfCountLongBlock[IGF_NOF_GRIDS]; - int16_t t; - int32_t bitrate; - const uint16_t *cf_se00; - const uint16_t *cf_se01; - int16_t cf_off_se01; - const uint16_t *cf_se02; - const int16_t *cf_off_se02; - const uint16_t *cf_se10; - int16_t cf_off_se10; - const uint16_t *cf_se11; - const int16_t *cf_off_se11; - Tastat acState; - -} IGFSCFDEC_INSTANCE, *IGFSCFDEC_INSTANCE_HANDLE; - -typedef struct igfdec_private_data_struct -{ - - IGF_INFO igfInfo; - /* envelope reconstruction: */ - float igf_sN[IGF_MAX_SFB]; /* only with short blocks as static needed */ - float igf_pN[IGF_MAX_SFB]; /* only with short blocks as static needed */ - int16_t igf_curr[IGF_MAX_SFB]; /* current igf energies */ - int16_t igf_prev[IGF_MAX_SFB]; /* needed for concealment or indepflag==0 */ - int16_t igf_curr_subframe[IGF_MAX_SUBFRAMES][IGF_TRANS_FAK][IGF_MAX_SFB]; /* current igf energies per subframe*/ - int16_t igf_prev_subframe[IGF_MAX_SUBFRAMES][IGF_MAX_SFB]; /* needed for concealment or indepflag==0 */ - int16_t igf_flatteningTrigger_subframe[IGF_MAX_SUBFRAMES]; - - /* spectral whitening: */ - float *pSpecFlat; - float pSpecFlatBuf[IGF_START_MX]; - int16_t restrict_hopsize; - - int16_t currWhiteningLevel[IGF_MAX_TILES]; - int16_t prevWhiteningLevel[IGF_MAX_TILES]; /* needed for concealment */ - int16_t currWhiteningLevel_subframe[IGF_MAX_SUBFRAMES][IGF_MAX_TILES]; - int16_t prevWhiteningLevel_subframe[IGF_MAX_SUBFRAMES][IGF_MAX_TILES]; /* needed for concealment */ - - float totalNoiseNrg; - int16_t n_noise_bands; - - float totalNoiseNrg_off; - int16_t n_noise_bands_off; - - /* IGF SCF decoding: */ - IGFSCFDEC_INSTANCE hArithSCFdec; - - /* concealment: */ - int16_t frameLossCounter; - -} IGFDEC_PRIVATE_DATA, *IGF_DEC_PRIVATE_DATA_HANDLE; - -typedef struct igfdec_instance_struct -{ - int16_t isIGFActive; - int16_t infoIGFAllZero; - int16_t infoIGFStopLine; - int16_t infoIGFStartLine; - int16_t infoIGFStopFreq; - int16_t infoIGFStartFreq; - uint8_t *infoTCXNoise; - uint8_t infoTCXNoiseBuf[IGF_START_MX]; - int16_t *flag_sparse; - int16_t flag_sparseBuf[N_MAX_TCX - IGF_START_MN]; - float *virtualSpec; - float virtualSpecBuf[N_MAX_TCX - IGF_START_MN]; - - int16_t flatteningTrigger; - IGFDEC_PRIVATE_DATA igfData; - -} IGFDEC_INSTANCE, *IGF_DEC_INSTANCE_HANDLE; - - -/*---------------------------------------------------------------* - * Structure for TEC - *---------------------------------------------------------------*/ - -typedef struct tec_dec_structure -{ - float pGainTemp[CLDFB_NO_COL_MAX]; - float loBuffer[CLDFB_NO_COL_MAX + MAX_TEC_SMOOTHING_DEG]; - -} TEC_DEC_DATA, *TEC_DEC_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * TCX LTP decoder - *------------------------------------------------------------------------------------------*/ - -typedef struct tcx_ltp_dec_structure -{ - /* TCX-LTP */ - int16_t tcxltp; - float tcxltp_gain; - int16_t tcxltp_pitch_int; - int16_t tcxltp_pitch_fr; - - float tcxltp_mem_in[TCXLTP_MAX_DELAY]; - float tcxltp_mem_out[L_FRAME48k]; - int16_t tcxltp_pitch_int_post_prev; - int16_t tcxltp_pitch_fr_post_prev; - float tcxltp_gain_post_prev; - int16_t tcxltp_filt_idx_prev; - -} TCX_LTP_DEC_DATA, *TCX_LTP_DEC_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * TCX decoder - *------------------------------------------------------------------------------------------*/ - -typedef struct tcx_dec_structure -{ - int16_t enableTcxLpc; /* global toggle for the TCX LPC quantizer */ - int16_t envWeighted; /* are is{p,f}_old[] weighted or not? */ - - /* tonal PLC */ - float tcxltp_second_last_pitch; - float tcxltp_third_last_pitch; - float tcxltp_last_gain_unmodified; - - int16_t tcx_hm_LtpPitchLag; - int16_t tcx_lpc_shaped_ari; - - int16_t pit_min_TCX; - int16_t pit_max_TCX; - - int16_t L_frameTCX; - - float old_excFB[L_FRAME48k]; /* old excitation FB */ - - int16_t old_synth_len; - int16_t old_synth_lenFB; - float old_synth[OLD_SYNTH_INTERNAL_DEC]; /* synthesis memory */ - float synth_history[L_PROT48k + L_FRAME_MAX]; /* unified synthesis memory */ - - float *old_synthFB; - float *prev_good_synth; - - float old_syn_Overl[L_FRAME32k / 2]; - - float syn_Overl_TDAC[L_FRAME32k / 2]; - float syn_Overl_TDACFB[L_FRAME_MAX / 2]; - - float syn_Overl[L_FRAME32k / 2]; - float syn_OverlFB[L_FRAME_MAX / 2]; - - float FBTCXdelayBuf[111]; /* 2.3125ms at 48kHz -> 111 samples */ - - /*TCX resisual Q*/ - int16_t resQBits[NB_DIV]; /* number of bits read for the residual Quantization in TCX*/ - - /* PLC */ - int16_t noise_filling_index[NB_DIV]; /* PLC - last decoded noise filling index */ - int16_t tnsActive[NB_DIV]; - float ltpGainMemory[N_LTP_GAIN_MEMS]; /* for smoothing noiseTransWidth */ - uint16_t kernel_type[2]; /* transform kernel type in each subframe (MDCT or MDST) */ - - int16_t prev_widow_left_rect; - float CngLevelBackgroundTrace_bfi; /* PLC - long term gain estimate for background level, used for PLC fade out */ - /* state variables for the minimum statistics used for PLC */ - float NoiseLevelMemory_bfi[PLC_MIN_STAT_BUFF_SIZE]; - int16_t NoiseLevelIndex_bfi; - int16_t CurrLevelIndex_bfi; - float LastFrameLevel_bfi; - float old_gaintcx_bfi; - float conceal_eof_gain; - float damping; - float gainHelper; - float stepCompensate; - int16_t tcxConceal_recalc_exc; - float cummulative_damping_tcx; - -} TCX_DEC_DATA, *TCX_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * GSC static variables - *----------------------------------------------------------------------------------*/ - -typedef struct gsc_dec_structure -{ - int16_t seed_tcx; /* AC mode (GSC) - seed for noise fill */ - int16_t cor_strong_limit; /* AC mode (GSC) - Indicator about high spectral correlation per band */ - float old_y_gain[MBANDS_GN16k]; /* AC mode (GSC) - AR mem for low rate gain quantization */ - int16_t noise_lev; /* AC mode (GSC) - noise level */ - float lt_ener_per_band[MBANDS_GN16k]; - float Last_frame_ener; /* AC mode (GSC) - last frame energy */ - float Last_GSC_spectrum[L_FRAME16k]; /* AC mode (GSC) - Last good GSC spectrum */ - int16_t Last_GSC_pit_band_idx; /* AC mode (GSC) - Last pitch band index */ - float last_exc_dct_in[L_FRAME16k]; /* AC mode (GSC) - previous excitation */ - float last_ener; /* AC mode (GSC) - previous energy */ - int16_t last_bitallocation_band[6]; /* AC mode (GSC) - previous bit allocation of each band */ - -} GSC_DEC_DATA, *GSC_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * FEC - ACELP fast recovery - *----------------------------------------------------------------------------------*/ - -typedef struct WI_dec_structure -{ - float old_exc2[L_EXC_MEM]; /* FEC - old excitation2 used in fast recovery */ - float old_syn2[L_EXC_MEM]; /* FEC - old syn speech used in fast recovery */ - -} WI_DEC_DATA, *WI_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * NB postfilter / formant postfilter static variables - *----------------------------------------------------------------------------------*/ - -typedef struct pfstat_structure -{ - int16_t on; /* On/off flag */ - int16_t reset; /* reset flag */ - float mem_pf_in[L_SUBFR]; /* Input memory */ - float mem_stp[L_SUBFR]; /* 1/A(gamma1) memory */ - float mem_res2[DECMEM_RES2]; /* A(gamma2) residual */ - float mem_zero[M]; /* null memory to compute i.r. of A(gamma2)/A(gamma1) */ - float gain_prec; /* for gain adjustment */ - -} PFSTAT, *PFSTAT_HANDLE; - -/*----------------------------------------------------------------------------------* - * LD music post-filter - *----------------------------------------------------------------------------------*/ - -typedef struct ld_music_postfilt_structure -{ - float LDm_mem_etot; /* LD music post-filter - total energy memory */ - int16_t LDm_last_music_flag; /* LD music post-filter - last music flag */ - int16_t LDm_nb_thr_1; /* LD music post-filter - number of consecutive frames of level 1 */ - int16_t LDm_nb_thr_3; - float dct_post_old_exc[DCT_L_POST - OFFSET2]; - float LDm_thres[4]; /* LD music post-filter - Classification threshold */ - float LDm_lt_diff_etot[MAX_LT]; /* LD music post-filter - long-term total energy variation */ - float LDm_enh_lp_gbin[VOIC_BINS_HR]; /* LD music post-filter - smoothed suppression gain, per bin FFT */ - float LDm_enh_lf_EO[VOIC_BINS_HR]; /* LD music post-filter - old per bin E for previous half frame */ - float LDm_enh_min_ns_gain; /* LD music post-filter - minimum suppression gain */ - float LDm_bckr_noise[MBANDS_GN_LD]; /* LD music post-filter - background noise estimation per critical band */ - float filt_lfE[DCT_L_POST]; - int16_t last_nonfull_music; - -} MUSIC_POSTFILT_DATA, *MUSIC_POSTFILT_HANDLE; - -/*----------------------------------------------------------------------------------* - * Bass post-filter - *----------------------------------------------------------------------------------*/ - -typedef struct bass_postfilt_structure -{ - float pst_old_syn[NBPSF_PIT_MAX]; /* Bass post-filter - old synthesis buffer 1 */ - float pst_mem_deemp_err; /* Bass post-filter - filter memory of noise LP filter */ - float pst_lp_ener; /* Bass post-filter - long-term energy */ - int16_t Track_on_hist[L_TRACK_HIST]; /* Bass post-filter - History of half frame usage */ - int16_t vibrato_hist[L_TRACK_HIST]; /* Bass post-filter - History of frames declared as vibrato */ - float psf_att; /* Bass post-filter - post filter attenuation factor */ - float mem_mean_pit[L_TRACK_HIST]; /* Bass post-filter - average pitch memory */ - -} BPF_DEC_DATA, *BPF_DEC_HANDLE; - -/*------------------------------------------------------------------------------------------* - * DTX and TD CNG structure - *------------------------------------------------------------------------------------------*/ - -typedef struct td_cng_dec_structure -{ - int16_t cng_seed; /* DTX/CNG - seed for white noise random generator */ - float Enew; /* DTX/CNG - decoded residual energy */ - int16_t old_enr_index; /* DTX/CNG - index of last encoded CNG energy */ - int16_t cng_ener_seed; /* DTX/CNG - seed for random generator for variation of excitation energy */ - int16_t cng_ener_seed1; - int16_t last_allow_cn_step; - int16_t ho_hist_size; /* DTX/CNG - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ - int16_t ho_hist_ptr; /* DTX/CNG - pointer for averaging buffers */ - int16_t ho_sid_bw; /* DTX/CNG - SID bandwidth flags */ - float ho_lsp_hist[HO_HIST_SIZE * M]; /* DTX/CNG - old LSP buffer for averaging */ - float ho_ener_hist[HO_HIST_SIZE]; /* DTX/CNG - energy buffer for averaging */ - float ho_env_hist[HO_HIST_SIZE * NUM_ENV_CNG]; - int16_t act_cnt; /* DTX/CNG - counter of active frames */ - int16_t ho_circ_size; /* DTX/CNG - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ - int16_t ho_circ_ptr; /* DTX/CNG - pointer for averaging buffers */ - float ho_lsp_circ[HO_HIST_SIZE * M]; /* DTX/CNG - old LSP buffer for averaging */ - float ho_ener_circ[HO_HIST_SIZE]; /* DTX/CNG - energy buffer for averaging */ - float ho_env_circ[HO_HIST_SIZE * NUM_ENV_CNG]; - int16_t num_ho; /* DTX/CNG - number of selected hangover frames */ - int16_t ho_16k_lsp[HO_HIST_SIZE]; /* DTX/CNG - 16k LSPs flags */ - int16_t act_cnt2; /* DTX/CNG - counter of active frames for CNG_mode switching */ - float old_env[20]; - float lp_env[20]; - float exc_mem[24]; - float exc_mem1[30]; - - - float interpol_3_2_cng_dec[INTERP_3_2_MEM_LEN]; - - /* SWB DTX/CNG parameters */ - float shb_cng_ener; - float shb_lpcCNG[LPC_SHB_ORDER + 1]; - float shb_cng_gain; - float wb_cng_ener; - float last_wb_cng_ener; - float last_shb_cng_ener; - int16_t swb_cng_seed; - float lsp_shb_prev_prev[LPC_SHB_ORDER]; - float lsp_shb_prev[LPC_SHB_ORDER]; - int16_t shb_dtx_count; - int16_t trans_cnt; - int16_t burst_cnt; - float last_shb_ener; - -} TD_CNG_DEC_DATA, *TD_CNG_DEC_HANDLE; - -/*----------------------------------------------------------------------------------* - * SC-VBR structure - *----------------------------------------------------------------------------------*/ - -typedef struct sc_vbr_dec_structure -{ - int16_t firstTime_voiceddec; - - /* DTFS variables */ - float dtfs_dec_a[MAXLAG_WI]; - float dtfs_dec_b[MAXLAG_WI]; - int16_t dtfs_dec_lag; - int16_t dtfs_dec_nH; - int16_t dtfs_dec_nH_4kHz; - float dtfs_dec_upper_cut_off_freq_of_interest; - float dtfs_dec_upper_cut_off_freq; - float ph_offset_D; - float lastLgainD; /* previous gain value for the low band */ - float lastHgainD; /* previous gain value for the high band */ - float lasterbD[NUM_ERB_WB]; /* previous amplitude spectrum (ERB) */ - - /* NELP decoder variables */ - float bp1_filt_mem_nb_dec[14]; - float bp1_filt_mem_wb_dec[8]; - float shape1_filt_mem_dec[20]; - float shape2_filt_mem_dec[20]; - float shape3_filt_mem_dec[20]; - - int16_t nelp_dec_seed; - -} SC_VBR_DEC_DATA, *SC_VBR_DEC_HANDLE; - -/*----------------------------------------------------------------------------------* - * HQ NB FEC structure - *----------------------------------------------------------------------------------*/ - -typedef struct hq_nbfec_structure -{ - int16_t prev_last_core; /* !!! note: the parameter is identical to last_core in IVAS */ - - float diff_energy; - int16_t stat_mode_out; - int16_t stat_mode_old; - int16_t phase_mat_flag; - int16_t phase_mat_next; - int16_t old_Min_ind; - float old_auOut_2fr[L_FRAME8k * 2]; - float old_out_pha[2][N_LEAD_NB]; /* FEC for HQ Core, 0-phase matching old_out, 1-overlapping original old_out and phase matching old_out*/ - float ynrm_values[MAX_SB_NB][MAX_PGF]; - float r_p_values[MAX_SB_NB][MAX_ROW]; - float Norm_gain[SFM_N_NB]; - int16_t HQ_FEC_seed; - float energy_MA_Curr[2]; - int16_t prev_sign_switch[HQ_FEC_SIGN_SFM]; - int16_t prev_sign_switch_2[HQ_FEC_SIGN_SFM]; - float old_coeffs[L_FRAME8k]; /* HQ core - old coefficients (for FEC) */ - float oldIMDCTout[L_FRAME8k / 2]; - float prev_oldauOut[L_FRAME8k]; - -} HQ_NBFEC_DATA, *HQ_NBFEC_HANDLE; - -/*----------------------------------------------------------------------------------* - * HQ core structure - *----------------------------------------------------------------------------------*/ - -typedef struct hq_dec_structure -{ - float old_out[L_FRAME48k]; /* HQ core - previous synthesis for OLA */ - float old_outLB[L_FRAME32k]; - int16_t last_hq_core_type; - int16_t old_is_transient[3]; /* HQ core - previous transient flag (for FEC and BWE/NF) */ - - int16_t mem_norm[SFM_N_ENV_STAB]; - int16_t mem_env_delta; - int16_t no_att_hangover; - float energy_lt; - int16_t hq_generic_seed; - float prev_noise_level[2]; - int16_t prev_hqswb_clas; - int16_t prev_R; /* the table of bit allocation of last frame */ - float prev_coeff_out[L_HQ_WB_BWE]; /* the highest coefficients of last frame */ - int16_t prev_SWB_peak_pos[SPT_SHORTEN_SBNUM]; - - int16_t HqVoicing; - float fer_samples[L_FRAME48k]; - float prev_normq[SFM_N_WB]; /* previous norms */ - float prev_env[SFM_N_WB]; /* previous noise envelopes */ - - float last_ni_gain[BANDS_MAX]; - float last_env[BANDS_MAX]; - int16_t last_max_pos_pulse; - - /* pre-echo reduction */ - float memfilt_lb; - float mean_prev_hb; - float smoothmem; - float mean_prev; - float mean_prev_nc; - float wmold_hb; - int16_t prevflag; - int16_t pastpre; - int16_t prev_frm_hfe2; - int16_t prev_stab_hfe2; - float prev_ni_ratio; - float prev_En_sb[NB_SWB_SUBBANDS]; - - /*----------------------------------------------------------------------------------* - * HQ FEC - *----------------------------------------------------------------------------------*/ - - /* HQ PHASE ECU internal state */ - int16_t time_offs; - float X_sav[PH_ECU_SPEC_SIZE]; - int16_t num_p; - int16_t plocs[MAX_PLOCS]; - float plocsi[MAX_PLOCS]; - float env_stab; - int16_t mem_norm_hqfec[SFM_N_ENV_STAB]; - int16_t mem_env_delta_hqfec; - float env_stab_plc; - float env_stab_state_p[NUM_ENV_STAB_PLC_STATES]; - int16_t envstabplc_hocnt; - - float mag_chg_1st[LGW_MAX]; /* i/o: per band magnitude modifier for transients*/ - float Xavg[LGW_MAX]; /* Frequency group average gain to fade to */ - float beta_mute; /* Factor for long-term mute */ - - int16_t last_fec; - int16_t ph_ecu_HqVoicing; - int16_t oldHqVoicing; - float oldgapsynth[L_FRAME48k]; - int16_t ph_ecu_active; /* Set to 1 if Phase ECU was used in last bad frame; Set to 2 if TCX TD PLC was used */ - int16_t ni_seed_forfec; - int16_t ber_occured_in_pvq; /* flag for BER detection from PVQ routines */ - -} HQ_DEC_DATA, *HQ_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * HF (6-7kHz) (zero) BWE structure - *----------------------------------------------------------------------------------*/ - -typedef struct zero_bwe_dec_structure -{ - int16_t seed2; /* HF (6-7kHz) BWE - seed for random signal generator */ - float mem_hp400[4]; /* HF (6-7kHz) BWE - hp400 filter memory */ - float mem_hf[( L_FIR - 1 )]; /* HF (6-7kHz) BWE - band-pass filter memory */ - float mem_syn_hf[M]; /* HF (6-7kHz) BWE - synthesis filter memory */ - float delay_syn_hf[NS2SA( 16000, DELAY_CLDFB_NS )]; /* HF (6-7kHz) BWE - To synchronise BWE content with postfiltered synthesis */ - float mem_hp_interp[INTERP_3_1_MEM_LEN]; /* HF (6-7 kHz) BWE - interp. memory */ - -} ZERO_BWE_DEC_DATA, *ZERO_BWE_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * TD BWE structure - *----------------------------------------------------------------------------------*/ - -typedef struct td_bwe_dec_structure -{ - /* states for the filters used in generating SHB excitation from WB excitation */ - float state_lpc_syn[LPC_SHB_ORDER]; - float mem_csfilt[2]; - - /* states for the filters used in generating SHB signal from SHB excitation*/ - float state_syn_shbexc[L_SHB_LAHEAD]; - float syn_overlap[L_SHB_LAHEAD]; /* overlap buffer used to Adjust SHB Frame Gain*/ - - /* previous frame parameters for frame error concealment */ - float lsp_prevfrm[LPC_SHB_ORDER]; - float GainFrame_prevfrm; - float GainShape_Delay[NUM_SHB_SUBFR / 2]; - float GainAttn; - - float old_bwe_exc[PIT16k_MAX * 2]; /* old excitation */ - int16_t bwe_seed[2]; - float bwe_non_lin_prev_scale; - float old_bwe_exc_extended[NL_BUFF_OFFSET]; - - float genSHBsynth_Hilbert_Mem[HILBERT_MEM_SIZE]; - - float mem_genSHBexc_filt_down_shb[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float mem_genSHBexc_filt_down_wb2[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float mem_genSHBexc_filt_down_wb3[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float genSHBsynth_state_lsyn_filt_shb_local[2 * ALLPASSSECTIONS_STEEP]; - float state_lsyn_filt_shb[2 * ALLPASSSECTIONS_STEEP]; - float state_lsyn_filt_dwn_shb[2 * ALLPASSSECTIONS_STEEP]; - float mem_resamp_HB[INTERP_3_1_MEM_LEN]; - float mem_resamp_HB_32k[2 * ALLPASSSECTIONS_STEEP + 1]; - float prev_pow_exc16kWhtnd; /* power of the LB excitation signal in the previous frame */ - float prev_mix_factor; /* mixing factor in the previous frame */ - - int16_t syn_dm_phase; - float fbbwe_hpf_mem[4][4]; - float prev_wb_bwe_frame_pow; - float prev_swb_bwe_frame_pow; - float prev_ener; - float prev_GainShape; - float fb_state_lpc_syn[LPC_SHB_ORDER]; - float fb_tbe_demph; - float prev_fbbwe_ratio; - - float tbe_demph; - float tbe_premph; - float mem_stp_swb[LPC_SHB_ORDER]; - float *ptr_mem_stp_swb; - float gain_prec_swb; - float mem_zero_swb[LPC_SHB_ORDER]; - - float swb_lsp_prev_interp[LPC_SHB_ORDER]; - float prev1_shb_ener_sf, prev2_shb_ener_sf, prev3_shb_ener_sf, prev_res_shb_gshape, prev_mixFactors; - float tilt_mem; /* Formant factor adaptation tilt smoothing memory */ - float prev_lsf_diff[LPC_SHB_ORDER - 2]; - float prev_tilt_para; - float cur_sub_Aq[M + 1]; - - /* quantized data */ - int16_t lsf_idx[NUM_Q_LSF]; - int16_t m_idx; - int16_t grid_idx; - int16_t idxSubGains; - int16_t idxFrameGain; - int16_t idx_shb_fr_gain; - int16_t idx_res_gs[NB_SUBFR16k]; - int16_t idx_mixFac; - - int16_t lsf_WB; - int16_t gFrame_WB; - - int16_t idxGain; - - float old_core_synth[L_FRAME16k]; - float old_tbe_synth[L_SHB_TRANSITION_LENGTH]; - - float int_3_over_2_tbemem_dec[INTERP_3_2_MEM_LEN]; - - float old_hb_synth[L_FRAME48k]; - - float tilt_swb_fec; /* FEC - SWB TBE TILT */ - -} TD_BWE_DEC_DATA, *TD_BWE_DEC_HANDLE; - -/*----------------------------------------------------------------------------------* - * FD BWE structure - *----------------------------------------------------------------------------------*/ - -typedef struct fd_bwe_dec_structure -{ - float old_wtda_swb[L_FRAME48k]; - float old_syn_12k8_16k[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; - float mem_deemph_old_syn; - int16_t prev_mode; - float prev_SWB_fenv[SWB_FENV]; - float prev_Energy; - float prev_Energy_wb; - int16_t prev_L_swb_norm; - int16_t Seed; - int16_t prev_frica_flag; - float mem_imdct[L_FRAME48k]; - float prev_td_energy; - float prev_weight; - int16_t prev_flag; - float last_wb_bwe_ener; - float prev_fb_ener_adjust; - -} FD_BWE_DEC_DATA, *FD_BWE_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * HR SWB BWE structure - *----------------------------------------------------------------------------------*/ - -typedef struct hr_swb_bwe_dec_structure -{ - - int16_t bwe_highrate_seed; - float t_audio_prev[2 * END_FREQ_BWE_FULL_FB / FRAMES_PER_SEC - NUM_NONTRANS_START_FREQ_COEF]; - int16_t old_is_transient_hr_bwe; - float mem_EnergyLT; - -} HR_BWE_DEC_DATA, *HR_BWE_DEC_HANDLE; - - -/*---------------------------------------------------------------* - * PVQ range decoder state - *---------------------------------------------------------------*/ - -typedef struct pvq_dec_structure -{ - uint32_t rc_low; - uint32_t rc_range; - uint32_t rc_help; - int16_t rc_num_bits; - int16_t rc_offset; - int16_t rc_end; - -} PVQ_DEC_DATA, *PVQ_DEC_HANDLE; - - -/*---------------------------------------------------------------* - * AMR-WB IO mode decoder structure - *---------------------------------------------------------------*/ - -typedef struct amrwb_io_dec_structure -{ - float past_qua_en[GAIN_PRED_ORDER]; /* gain quantization memory (used also in AMR-WB IO mode) */ - - float prev_r; /* HF BWE - previous sub-frame gain */ - float fmerit_w_sm; /* HF BWE - fmerit parameter memory */ - int16_t frame_count; /* HF BWE - frame count */ - float ne_min; /* HF BWE - minimum Noise gate - short-term energy */ - float fmerit_m_sm; /* HF BWE - memory of fmerit_m param */ - float voice_fac_amr_wb_hf; /* HF BWE - voice factor */ - float unvoicing; /* HF BWE - unvoiced parameter */ - float unvoicing_sm; /* HF BWE - smoothed unvoiced parameter */ - int16_t unvoicing_flag; /* HF BWE - unvoiced flag */ - int16_t voicing_flag; /* HF BWE - voiced flag */ - int16_t start_band_old; /* HF BWE - previous start point for copying frequency band */ - float OptCrit_old; /* HF BWE - previous criterion value for deciding the start point */ - - /* Improvement of unvoiced and audio signals in AMR-WB IO mode */ - int16_t UV_cnt; /* number of consecutives frames classified as UV */ - float LT_UV_cnt; /* long-term consecutives frames classified as UV */ - float Last_ener; /* last_energy frame */ - float lt_diff_etot[MAX_LT]; /* stability estimation - long-term total energy variation */ - float old_Aq[NB_SUBFR * ( M + 1 )]; /* old LPC filter coefficient */ - float lt_voice_fac; /* average voice factor over 4 sub-frames */ - -} AMRWB_IO_DEC_DATA, *AMRWB_IO_DEC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * - * Main decoder structure - * - *----------------------------------------------------------------------------------*/ - -typedef struct Decoder_State -{ - - /*----------------------------------------------------------------------------------* - * Common parameters - *----------------------------------------------------------------------------------*/ - - int16_t idchan; /* channel ID (audio channel number) */ - int16_t element_mode; /* element mode */ -#ifdef DEBUGGING - int16_t id_element; /* element ID */ -#endif - int32_t element_brate; /* element bitrate */ - int16_t codec_mode; /* Mode 1 or 2 */ - int16_t mdct_sw_enable; /* MDCT switching enable flag */ - int16_t mdct_sw; /* MDCT switching indicator */ - int16_t last_codec_mode; /* last used codec mode */ - - uint16_t *bit_stream; /* pointer to bitstream buffer */ - int16_t next_bit_pos; /* position of the next bit to be read from the bitstream */ - int16_t BER_detect; /* flag to signal detected bit error in the bitstream */ - int32_t output_Fs; /* output sampling rate */ - int32_t total_brate; /* total bitrate in kbps of the codec */ - int32_t last_total_brate; /* last total bitrate in kbps of the codec */ - int32_t last_total_brate_ber; /* last total bitrate in kbps of the codec - used only when first frame is lost and BER is detected afterwards */ - int16_t bits_frame_nominal; /* avg bits per frame on active frame */ - int32_t last_bits_frame_nominal; /* last avg bits per frame on active frame */ - int16_t flag_ACELP16k; /* flag indicating use of ACELP core at 16kHz internal sampling rate */ - int16_t bits_frame_channel; /* bits frame channel */ - int16_t side_bits_frame_channel; /* bits frame channel */ - int16_t core; /* core (ACELP_CORE, TCX_20_CORE, TCX_10_CORE, HQ_CORE, AMR_WB_CORE) */ - int16_t coder_type; /* coder type */ - int16_t transform_type[2]; /* TCX20/10/5 mode in each subframe */ - int32_t core_brate; /* core bitrate */ - int32_t last_core_brate; /* previous frame core bitrate */ - int16_t extl; /* extension layer */ - int16_t extl_orig; /* extension layer */ - int16_t last_extl; /* previous extension layer */ - int32_t extl_brate; /* extension layer bitrate */ - int32_t extl_brate_orig; /* extension layer bitrate */ - int16_t L_frame; /* ACELP core internal frame length */ - int16_t bwidth; /* encoded signal bandwidth */ - int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ - int16_t ini_frame; /* initialization frames counter */ - int16_t prev_coder_type; /* coding type of last frame */ - int16_t low_rate_mode; /* low-rate mode flag */ - - /*----------------------------------------------------------------------------------* - * ACELP core parameters - *----------------------------------------------------------------------------------*/ - - float old_exc[L_EXC_MEM_DEC]; /* old excitation */ - float lsp_old[M]; /* old LSP vector at the end of the frame */ - float lsf_old[M]; /* old LSF vector at the end of the frame */ - float tilt_code; /* tilt of code */ - float mem_syn1[M]; /* synthesis filter memory (for core switching and FD BWE) */ - float mem_syn2[M]; /* synthesis filter memory */ - float mem_syn3[M]; - float mem_deemph; /* deemphasis filter memory */ - float mem_AR[M]; /* AR memory of LSF quantizer (past quantized LSFs without mean) */ - float mem_MA[M]; /* MA memory of LSF quantizer (past quantized residual) */ - float stab_fac; /* LSF stability factor */ - float stab_fac_smooth; /* low-pass filtered stability factor */ - int16_t last_coder_type; /* previous coder type */ - float agc_mem2[2]; /* memory of AGC for saturation control */ - int16_t mid_lsf_int; - int16_t safety_net; - - int16_t GSC_noisy_speech; /* AC mode (GSC) - flag to indicate GSC on SWB noisy speech */ - int16_t GSC_IVAS_mode; /* AC mode (GSC) - GSC IVAS mode */ - int16_t Last_GSC_noisy_speech_flag; /* AC mode (GSC) - mem of the past flag to indicate GSC osn SWB noisy speech */ - GSC_DEC_HANDLE hGSCDec; - - float gc_threshold; /* Noise enhancer - threshold for gain_code */ - float dispMem[8]; /* Noise enhancer - phase dispersion algorithm memory */ - - ZERO_BWE_DEC_HANDLE hBWE_zero; /* HF (6-7kHz) BWE */ - - int16_t unv_cnt; /* Stationary noise UV modification - unvoiced frame counter */ - int16_t uv_count; /* Stationary noise UV modification - unvoiced counter */ - int16_t act_count; /* Stationary noise UV modification - activation counter */ - float ge_sm; /* Stationary noise UV modification - smoothed excitation gain */ - float lspold_s[M]; /* Stationary noise UV modification - old LSP vector */ - int16_t noimix_seed; /* Stationary noise UV modification - mixture seed */ - float min_alpha; /* Stationary noise UV modification - minimum alpha */ - float exc_pe; /* Stationary noise UV modification - memory of the preemphasis filter */ - - int16_t bfi; /* FEC - bad frame indicator */ - int16_t prev_bfi; /* FEC - previous bad frame indicator */ - int16_t prev_old_bfi; /* FEC - previous old bad frame indicator */ - int16_t seed; /* FEC - seed for random generator for excitation */ - float lp_ener_bfi; /* FEC - long-term active-signal average energy */ - int16_t last_good; /* FEC - clas of last good received */ - float lp_gainp; /* FEC - low-pass filtered pitch gain */ - float lp_gainc; /* FEC - low-pass filtered code gain */ - float lp_ener; /* FEC - low-pass filtered energy */ - float enr_old; /* FEC - energy of the concealed frame */ - float bfi_pitch; /* FEC - pitch for FEC */ - int16_t bfi_pitch_frame; /* FEC - frame length when pitch for FEC is saved */ - float old_pitch_buf[2 * NB_SUBFR16k + 2]; /* FEC - buffer of old subframe pitch values */ - int16_t upd_cnt; /* FEC - counter of frames since last update */ - int16_t scaling_flag; /* FEC - flag to indicate energy control of syn */ - float lp_ener_FEC_av; /* FEC - averaged voiced signal energy */ - float lp_ener_FEC_max; /* FEC - averaged voiced signal energy */ - float old_enr_LP; /* FEC - LP filter gain */ - int16_t prev_nbLostCmpt; /* FEC - compt for number of consecutive lost frame at the previous frame*/ - int16_t mode_lvq; /* FEC - index for LSF mean vector */ - float lsfoldbfi0[M]; /* FEC - LSF vector of the previous frame */ - float lsfoldbfi1[M]; /* FEC - LSF vector of the past previous frame */ - float lsf_adaptive_mean[M]; /* FEC - adaptive mean LSF vector for FEC */ - int16_t decision_hyst; /* FEC - hysteresis of the music/speech decision */ - WI_DEC_HANDLE hWIDec; - int16_t relax_prev_lsf_interp; - float mem_syn_clas_estim[L_SYN_MEM_CLAS_ESTIM]; /* FEC - memory of the synthesis signal for frame class estimation */ - - int16_t bpf_off; /* Bass post-filter - do not use BPF when this flag is set to 1 */ - BPF_DEC_HANDLE hBPF; /* Bass post-filter handle */ - - HANDLE_CLDFB_FILTER_BANK cldfbAna; /* main analysis filter bank handle */ - HANDLE_CLDFB_FILTER_BANK cldfbBPF; /* BPF analysis filter bank handle */ - HANDLE_CLDFB_FILTER_BANK cldfbSyn; /* main synthesis filter bank handle */ - HANDLE_CLDFB_FILTER_BANK cldfbSynHB; /* high band synthesis filter bank needed in SBA2Stereo DTX handling */ - - int16_t last_active_bandsToZero_bwdec; - int16_t last_flag_filter_NB; - float perc_bwddec; - int16_t active_frame_cnt_bwddec; - int16_t flag_buffer[20]; - int16_t total_frame_cnt_bwddec; - float avg_nrg_LT; - float ng_ener_ST; /* Noise gate - short-term energy */ - - int16_t last_L_frame; /* ACELP@16kHz - last value of st->L_frame */ - float mem_preemp_preQ; /* ACELP@16kHz - prequantizer preemhasis memory */ - int16_t last_nq_preQ; /* ACELP@16kHz - AVQ subquantizer number of the last sub-band of the last subframe */ - int16_t last_code_preq; /* ACELP@16kHz - last coefficient of the pre-quantizer contribution */ - int16_t use_acelp_preq; /* ACELP@16kHz - flag of prequantizer usage */ - - /* NB and formant post-filter */ - PFSTAT_HANDLE hPFstat; /* NB and formant post-filter states */ - float psf_lp_noise; /* NB post-filter - long-term noise */ - - float last_voice_factor; - float prev_synth_buffer[NS2SA( 48000, IVAS_DEC_DELAY_NS - DELAY_CLDFB_NS )]; - - int16_t old_bfi_cnt; /* HQ core - # of bfi until previous frame(for FEC) */ - - /*----------------------------------------------------------------------------------* - * DTX and TD CNG parameters - *----------------------------------------------------------------------------------*/ - - int16_t first_CNG; /* DTX/CNG - first CNG frame flag */ - int16_t cng_type; /* DTX/CNG - flag indicating LP or CLDFB based SID/CNG */ - int16_t last_vad; - int32_t last_active_brate; /* DTX/CNG - last active frame bitrate used for CNG_mode control */ - int16_t last_CNG_L_frame; /* DTX/CNG - last CNG frame length */ - - int16_t active_cnt; - - int16_t CNG_mode; /* DTX/CNG - mode for DTX configuration */ - float lspCNG[M]; /* DTX/CNG - LP filtered ISPs */ - - TD_CNG_DEC_HANDLE hTdCngDec; - int16_t masa_sid_format; - - /*----------------------------------------------------------------------------------* - * AMR-WB IO mode parameters - *----------------------------------------------------------------------------------*/ - - AMRWB_IO_DEC_HANDLE hAmrwb_IO; - - - /*----------------------------------------------------------------------------------* - * SC-VBR parameters - *----------------------------------------------------------------------------------*/ - - SC_VBR_DEC_HANDLE hSC_VBR; - - int16_t last_ppp_mode_dec; - int16_t ppp_mode_dec; - int16_t last_nelp_mode_dec; - int16_t nelp_mode_dec; - float prev_gain_pit_dec; - float prev_tilt_code_dec; - int16_t vbr_hw_BWE_disable_dec; - int16_t last_vbr_hw_BWE_disable_dec; - - /*----------------------------------------------------------------------------------* - * channel-aware mode - *----------------------------------------------------------------------------------*/ - - float tilt_code_dec[NB_SUBFR16k]; - - int16_t rf_frame_type; - int16_t use_partial_copy; - int16_t prev_use_partial_copy; - int16_t rf_flag; - int16_t rf_flag_last; - - int16_t rf_fec_offset; - int16_t next_coder_type; - int16_t prev_rf_frame_type; - int16_t rf_target_bits; - - int16_t rf_indx_nelp_fid; - int16_t rf_indx_nelp_iG1; - int16_t rf_indx_nelp_iG2[2]; - int16_t rf_indx_tbeGainFr; - - /*----------------------------------------------------------------------------------* - * HR SWB BWE parameters - *----------------------------------------------------------------------------------*/ - - HR_BWE_DEC_HANDLE hBWE_FD_HR; - - /*----------------------------------------------------------------------------------* - * HQ core parameters - *----------------------------------------------------------------------------------*/ - - HQ_DEC_HANDLE hHQ_core; - - int16_t last_core; - int16_t last_core_from_bs; /* last frame core as coded in TCX bitstream */ - - int16_t last_L_frame_ori; - float previoussynth[L_FRAME48k]; /* note: only 60+111 out of 960 samples are needed in IVAS (for ACELP->TCX switching */ - float old_synth_sw[NS2SA( 48000, FRAME_SIZE_NS - ACELP_LOOK_NS - DELAY_BWE_TOTAL_NS )]; /* note: buffer used only in EVS mono */ - float delay_buf_out[HQ_DELTA_MAX * HQ_DELAY_COMP]; - - float old_Aq_12_8[M + 1]; /* old Aq[] for core switching */ - float old_Es_pred; /* old Es_pred for core switching */ - - HQ_NBFEC_HANDLE hHQ_nbfec; - - /*----------------------------------------------------------------------------------* - * TBE parameters - *----------------------------------------------------------------------------------*/ - - TD_BWE_DEC_HANDLE hBWE_TD; - - int16_t old_bwe_delay; - float hb_prev_synth_buffer[NS2SA( 48000, DELAY_BWE_TOTAL_NS )]; - - /* WB/SWB bandwidth switching */ - float tilt_wb; - float tilt_swb; - float prev_ener_shb; - float enerLH; - float prev_enerLH; - float enerLL; - float prev_enerLL; - int16_t prev_fractive; - int16_t prev_bws_cnt; - int16_t bws_cnt; - int16_t bws_cnt1; - float attenu1; - int16_t last_inner_frame; - int16_t last_bwidth; - float t_audio_q[L_FRAME]; - - /*----------------------------------------------------------------------------------* - * SWB BWE structure - *----------------------------------------------------------------------------------*/ - - FD_BWE_DEC_HANDLE hBWE_FD; - - - /*----------------------------------------------------------------------------------* - * LD music post-filter - *----------------------------------------------------------------------------------*/ - - MUSIC_POSTFILT_HANDLE hMusicPF; - - /*----------------------------------------------------------------------------------* - * TCX LTP decoder handle - *----------------------------------------------------------------------------------*/ - TCX_LTP_DEC_HANDLE hTcxLtpDec; - - /*----------------------------------------------------------------------------------* - * TCX core decoder handle - *----------------------------------------------------------------------------------*/ - - TCX_DEC_HANDLE hTcxDec; - - - /*----------------------------------------------------------------------------------* - * Mode 2 - *----------------------------------------------------------------------------------*/ - - int16_t force_lpd_reset; - ACELP_config acelp_cfg; /* ACELP configuration set for each frame */ - ACELP_config acelp_cfg_rf; /* ACELP configuration for RF frame */ - - TCX_CONFIG_HANDLE hTcxCfg; /* TCX config */ - - int16_t bits_frame; /* bit per frame overall */ - int16_t bits_frame_core; /* bit per frame for the core */ - int16_t narrowBand; - - int16_t last_is_cng; - - float *acelp_zir; - float syn[M + 1]; - - int16_t bpf_gain_param; /* bass post-filter gain factor parameter (0->noBpf)*/ - - int16_t L_frame_past; - int16_t L_frameTCX_past; - - float lsfold_uw[M]; /* old lsf (unweighted) */ - float lspold_uw[M]; /* old lsp (unweighted) */ - int16_t seed_tcx_plc; /* seed memory (for random function in TCX PLC) */ - float past_gpit; /* past gain of pitch (for frame recovery) */ - float past_gcode; /* past energy (!) of code (for frame recovery) */ - float lsf_cng[M]; /* lsf coefficients used for CNG generation (long term) */ - float lspold_cng[M]; /* lsp coefficients used for CNG generation (long term) */ - float lsp_q_cng[M]; /* lsp coefficients used for CNG generation (short term interpolated) */ - float old_lsp_q_cng[M]; /* lsp coefficients used for CNG generation (short term interpolated) */ - float lsf_q_cng[M]; /* lsf coefficients used for CNG generation (short term interpolated) */ - float old_lsf_q_cng[M]; /* lsf: old quantized lsfs for background noise */ - float Aq_cng[( NB_SUBFR16k + 1 ) * ( M + 1 )]; /* LPC coefficients derived from CNG estimate */ - float mem_syn_unv_back[M]; /* filter memory for unvoiced synth */ - int16_t plcBackgroundNoiseUpdated; /* flag: Is background noise estimate updated? */ - float last_gain_syn_deemph; - float last_concealed_gain_syn_deemph; - - /* variables for framing */ - int16_t nb_subfr; - - int16_t fscale; - int16_t fscale_old; - int32_t sr_core; - - int16_t pit_min; - int16_t pit_fr1; - int16_t pit_fr1b; - int16_t pit_fr2; - int16_t pit_max; - int16_t pit_res_max; - int16_t pit_res_max_past; - - /*Preemphasis factor*/ - float preemph_fac; - float gamma; - - /*for AMR-WB like 6.4 to 7 kHz upsampling and noise filling*/ - float mem_Aq[NB_SUBFR16k * ( M + 1 )]; - - /* Error concealment */ - int16_t last_core_bfi; /* PLC - mode in previous frame */ - int16_t nbLostCmpt; /* PLC - compt for number of consecutive lost frame */ - - float old_fpitch; /* PLC - last pitch of previous frame (as transmitted) */ - float old_fpitchFB; /* PLC - last pitch of previous FB frame (depends on output sr) */ - int16_t clas_dec; /* PLC - frame class at the decoder */ - float mem_pitch_gain[2 * NB_SUBFR16k + 2]; /* PLC - Pitch gain memory */ - int16_t plc_use_future_lag; /* PLC - flag indicating if info (pitch lag / pitch gain) about future frame is usable */ - - float cummulative_damping; - float cngTDLevel; - int16_t reset_mem_AR; - int16_t rate_switching_init; - - /* LPC quantization */ - int16_t lpcQuantization; - int16_t numlpc; - - /* Bandwidth */ - float TcxBandwidth; - - float voice_fac; - - int16_t tcxonly; - - int16_t last_ctx_hm_enabled; - - TonalMDCTConcealPtr hTonalMDCTConc; - int16_t tonal_mdct_plc_active; - int16_t last_tns_active; - int16_t second_last_tns_active; - int16_t second_last_core; - - /* parameters for switching */ - float mem_syn_r[L_SYN_MEM]; /*LPC synthesis memory needed for rate switching*/ - int16_t rate_switching_reset; - - float bpf_noise_buf[L_FRAME16k]; - float *p_bpf_noise_buf; - - int16_t enableGplc; - int16_t flagGuidedAcelp; - int16_t T0_4th; - int16_t guidedT0; - - int16_t enablePlcWaveadjust; - int16_t tonality_flag; - T_PLCInfo_HANDLE hPlcInfo; - - int16_t VAD; - int16_t flag_cna; - int16_t last_flag_cna; - - float lp_noise; - - int16_t seed_acelp; - int16_t core_ext_mode; /*GC,VC,UC,TC: core extended mode used for PLC or Acelp-external modules.*/ - - int16_t dec_glr; - int16_t dec_glr_idx; - - DEC_MODE m_decodeMode; - uint8_t m_frame_type; /*ZERO_FRAME/SID_FRAME/ACTIVE_FRAME*/ - uint8_t m_old_frame_type; /*ZERO_FRAME/SID_FRAME/ACTIVE_FRAME*/ - - int16_t old_ppp_mode; - int16_t con_tcx; - int16_t last_con_tcx; - - int16_t writeFECoffset; - - /*----------------------------------------------------------------------------------* - * Frequency-domain-based CNG - *----------------------------------------------------------------------------------*/ - - HANDLE_FD_CNG_DEC hFdCngDec; - - /*----------------------------------------------------------------------------------* - * IGF - *----------------------------------------------------------------------------------*/ - - IGF_DEC_INSTANCE_HANDLE hIGFDec; - int16_t igf; - - /*----------------------------------------------------------------------------------* - * TEC - *----------------------------------------------------------------------------------*/ - - int16_t tec_tfa; - int16_t tec_flag; - int16_t tfa_flag; - TEC_DEC_HANDLE hTECDec; - - /*----------------------------------------------------------------------------------* - * Stereo/IVAS parameters - *----------------------------------------------------------------------------------*/ - - int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ - int16_t cna_dirac_flag; /* CNA in DirAC flag */ - int16_t cng_sba_flag; /* CNG in SBA flag */ - - /* MCT Channel mode indication: LFE, ignore channel? */ - MCT_CHAN_MODE mct_chan_mode; - - -} Decoder_State, *DEC_CORE_HANDLE; - -#endif diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h deleted file mode 100644 index 8bcad95506..0000000000 --- a/lib_enc/ivas_rom_enc.h +++ /dev/null @@ -1,130 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_ROM_ENC_H -#define IVAS_ROM_ENC_H - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "cnst.h" -#include "ivas_cnst.h" - - -/*----------------------------------------------------------------------------------* - * Stereo classifiers - *----------------------------------------------------------------------------------*/ - -extern const int16_t unclr_isel_td[]; -extern const float unclr_mean_td[]; -extern const float unclr_scale_td[]; -extern const float unclr_coef_td[]; - -extern const int16_t xtalk_isel_td[]; -extern const float xtalk_mean_td[]; -extern const float xtalk_scale_td[]; -extern const float xtalk_coef_td[]; - -extern const int16_t xtalk_isel_dft[]; -extern const float xtalk_mean_dft[]; -extern const float xtalk_scale_dft[]; -extern const float xtalk_coef_dft[]; - -extern const int16_t unclr_isel_dft[]; -extern const float unclr_mean_dft[]; -extern const float unclr_scale_dft[]; -extern const float unclr_coef_dft[]; - -/*----------------------------------------------------------------------------------* - * Stereo IC-BWE ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float icbwe_thr_TDM[]; -extern const float icbwe_thr_DFT[]; -extern const float icbwe_regressionValuesTDM[]; -extern const float icbwe_regressionValuesDFT[]; - -/*----------------------------------------------------------------------------------* - * DFT stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t itd_vad_band_tbl[]; -extern const int16_t ild_q[]; - -extern const float Wn_table[]; - -extern const float win_ana_8k[STEREO_DFT_OVL_8k]; -extern const float win_ana_12k8[STEREO_DFT_OVL_12k8]; -extern const float win_ana_16k[STEREO_DFT_OVL_16k]; -extern const float win_ana_32k[STEREO_DFT_OVL_32k]; -extern const float win_ana_48k[STEREO_DFT_OVL_MAX]; - -extern const float win_syn_8k[STEREO_DFT_OVL_8k]; -extern const float win_syn_12k8[STEREO_DFT_OVL_12k8]; -extern const float win_syn_16k[STEREO_DFT_OVL_16k]; -extern const float win_syn_32k[STEREO_DFT_OVL_32k]; -extern const float win_syn_48k[STEREO_DFT_OVL_MAX]; - -extern const float win_mdct_8k[STEREO_DFT_OVL_8k]; - -/*----------------------------------------------------------------------------------* - * Range Coder ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float ari_bit_estimate_s17_LC[RANGE_N_CONTEXT][RANGE_N_SYMBOLS]; - -/*----------------------------------------------------------------------------------* - * ECLVQ Stereo ROM tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t log2_1px_table[65]; -extern const float log2TB[ECSQ_log2TB_SIZE]; -extern const float ECSQ_log2_fact[1 + ECSQ_SEGMENT_SIZE]; -extern const uint16_t ECSQ_tab_param[ECSQ_CONFIG_COUNT][1 + ECSQ_PARAM_COUNT]; -extern const uint16_t *const ECSQ_tab_abs_lsbs[1 + 4]; -extern const uint16_t ECSQ_tab_vals[ECSQ_PARAM_COUNT - 1][1 + ECSQ_TAB_VALS_SIZE]; - - -/*----------------------------------------------------------------------------------* - * Stereo downmix to EVS ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float Stereo_dmx_s_wnd_coef_16k[L_FRAME16k >> 4]; -extern const float Stereo_dmx_s_wnd_coef_32k[L_FRAME32k >> 4]; -extern const float Stereo_dmx_s_wnd_coef_48k[L_FRAME48k >> 4]; -extern const float Stereo_dmx_wnd_coef_32k[L_FRAME32k]; -extern const float Stereo_dmx_wnd_coef_48k[L_FRAME48k]; - - -#endif diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h deleted file mode 100644 index dfe32a9a02..0000000000 --- a/lib_enc/ivas_stat_enc.h +++ /dev/null @@ -1,1082 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_STAT_ENC_H -#define IVAS_STAT_ENC_H - -#include <stdint.h> -#include "options.h" -#include "ivas_cnst.h" -#include "cnst.h" -#include "stat_enc.h" -#include "ivas_cnst.h" -#include "ivas_stat_com.h" - -/*----------------------------------------------------------------------------------* - * DFT Stereo encoder structures - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_itd_data_struct -{ - int16_t prev_itd; - float itd[STEREO_DFT_ENC_DFT_NB]; - float deltaItd[STEREO_DFT_ENC_DFT_NB]; - int16_t td_itd[STEREO_DFT_ENC_DFT_NB]; - int16_t td_itd_32k[STEREO_DFT_ENC_DFT_NB]; - int16_t itd_index[STEREO_DFT_ENC_DFT_NB]; - float xcorr_smooth[STEREO_DFT_N_32k_ENC]; - float lp_phat_peak; /* low-pass GCC PHAT peak value */ - int16_t itd_hangover; /* ITD hangover counter */ - int16_t itd_cnt; /* Consecutive valid ITD counter */ - float prev_sum_nrg_L_lb; - float prev_xcorr_lb[STEREO_DFT_XCORR_LB_MAX]; - float E_band_n[STEREO_DFT_ITD_VAD_BAND_NUM]; - int16_t vad_frm_cnt; - int16_t pre_vad; - int16_t itd_nonzero_cnt; - float acorr_L[STEREO_DFT_BAND_MAX]; - float acorr_R[STEREO_DFT_BAND_MAX]; - float cohSNR; - float itd_thres; - int16_t valid_itd_cnt; /* Extra variable to store value of itd_cnt for fine-control decision making */ - - int16_t detected_itd_flag; - int16_t itd_tracking; - float prev_max; - int16_t prev_index; - float prev_avg_max; - float currFlatness; - - /* Xtalk classifier */ - float prev_m1; - float prev_m2; - int16_t prev_itd1; - int16_t prev_itd2; - -} ITD_DATA, *ITD_DATA_HANDLE; - -typedef struct dft_ana_struct -{ - /*Sizes*/ - int16_t N; /* Size of the frame and hop */ - int16_t NFFT; /* Size of the FFT=frame size+overlap */ - - /*FFT*/ - int16_t dft_ovl; /* Overlap size */ - int16_t dft_zp; /* Zero padding */ - - const float *win_ana; /* DFT analysis window */ - const float *dft_trigo; - const float *dft_trigo_32k; - int16_t dft_trigo_step; - -} DFT_ANA, *DFT_ANA_HANDLE; - -/* State of the range encoder */ -typedef struct -{ - uint32_t rc_low; - uint32_t rc_range; - int16_t rc_cache; - int16_t rc_carry; - int16_t rc_carry_count; - - uint8_t byte_buffer[RANGE_UNI_BUFFER_BYTES_MAX]; - int16_t byte_count; - int16_t last_byte_bit_count; - -} RangeUniEncState; - - -typedef struct stereo_dft_enc_data_struct -{ - STEREO_DFT_CONFIG_DATA_HANDLE hConfig; - - /*Sizes*/ - int16_t N; /* Size of the frame and hop */ - int16_t NFFT; /* Size of the FFT=frame size+overlap */ - - /*FFT*/ - float DFT[CPE_CHANNELS][STEREO_DFT_N_MAX_ENC]; - int16_t dft_ovl; /* Overlap size */ - int16_t dft_zp; /* Zero padding */ - - const float *win; /* DFT window */ - const float *win_8k; /* DFT window */ - const float *win_12k8; /* DFT window */ - const float *win_16k; /* DFT window */ - const float *win_32k; /* DFT window */ - - const float *win_ana; /* DFT analysis window */ - const float *win_ana_8k; /* DFT analysis window */ - const float *win_ana_12k8; /* DFT analysis window */ - const float *win_ana_16k; /* DFT analysis window */ - const float *win_ana_32k; /* DFT analysis window */ - - const float *win_mdct_8k; /* DFT analysis window */ - - const float *dft_trigo; - const float *dft_trigo_8k; - const float *dft_trigo_12k8; - const float *dft_trigo_16k; - const float *dft_trigo_32k; - int16_t dft_trigo_step; - - float output_mem_res_8k[STEREO_DFT_OVL_8k]; - - /*I/O channel buffers */ - float output_mem_dmx[STEREO_DFT_OVL_MAX]; - float output_mem_dmx_12k8[STEREO_DFT_OVL_12k8]; - float output_mem_dmx_16k[STEREO_DFT_OVL_16k]; /*can hold 16, 12.8 or 32kHz signals*/ - float output_mem_dmx_32k[STEREO_DFT_OVL_32k]; /*can hold 16, 12.8 or 32kHz signals*/ - float output_mem_dmx_16k_shb[STEREO_DFT_OVL_16k]; - float input_mem_itd[CPE_CHANNELS][STEREO_DFT_OVL_MAX]; - - /*Bands*/ - int16_t band_res[STEREO_DFT_ENC_DFT_NB]; - int16_t band_limits[STEREO_DFT_BAND_MAX + 1]; - int16_t nbands; - int16_t band_limits_dmx[STEREO_DFT_BAND_MAX + 1]; - int16_t nbands_dmx; - - /*Stereo parameters*/ - float past_nrgL[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; - float past_nrgR[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; - float past_dot_prod_real[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; - float past_dot_prod_imag[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; - int16_t nrg_past_pos; - - /*Side Gain*/ - float side_gain[STEREO_DFT_ENC_DFT_NB * STEREO_DFT_BAND_MAX]; - int16_t side_gain_flag_1; - int16_t side_gain_flag_2; - int16_t side_gain_index_ECDiff[STEREO_DFT_BAND_MAX]; - int16_t side_gain_index_ECprevious[STEREO_DFT_BAND_MAX]; - int16_t side_gain_index_EC[STEREO_DFT_BAND_MAX]; - int16_t side_gain_counter; - float side_gain_bitdiff_lp; - - /* Stereo CNG */ - float sidSideGain[STEREO_DFT_ERB4_BANDS]; - float win_ana_energy; - float xspec_smooth[STEREO_DFT_N_32k_ENC]; - float Spd_L_smooth[STEREO_DFT_N_32k_ENC / 2]; - float Spd_R_smooth[STEREO_DFT_N_32k_ENC / 2]; - float sid_gipd; - int16_t coh_fade_counter; -#ifdef FIX_ITD_CNG - float prev_sid_gipd; - int16_t prev_sid_no_ipd_flag; -#endif - - /*IPD*/ - float gipd[STEREO_DFT_ENC_DFT_NB]; - int16_t gipd_band_max; - int16_t gipd_index; - int16_t no_ipd_flag; /* flag to indicate when group IPD gets used */ - int16_t prev_no_ipd_flag; /* flag from previous frame */ - int16_t no_ipd_cnt; /* counter */ - int16_t no_ipd_cnt1; /* counter */ - int16_t attackPresent; - int16_t wasTransient; - float gainIPD_sm; /* long-term gain IPD for NIPD detection */ - float sfm; - float sum_dot_prod_real; - float sum_dot_prod_img; - - /*ITD*/ - ITD_DATA_HANDLE hItd; - - float voicing_lt; - -#ifdef ITD_WINNER_GAIN_MODIFY - float noise_coherence; - int16_t local_vad; - int16_t mus_flag; - float spd_L_noise[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of spectral power density of noise in the left channel*/ - float spd_R_noise[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of spectral power density of noise in the right channel*/ - float spd_L_noise_min[STEREO_DFT_N_32k_ENC / 2]; - float spd_R_noise_min[STEREO_DFT_N_32k_ENC / 2]; - float spd_L_noise_max[STEREO_DFT_N_32k_ENC / 2]; - float spd_R_noise_max[STEREO_DFT_N_32k_ENC / 2]; - float winner_gain_L[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of the Winner gain of the left channel*/ - float winner_gain_R[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of the Winner gain of the right channel*/ - float spd_L_smooth_new[STEREO_DFT_N_32k_ENC / 2]; - float spd_R_smooth_new[STEREO_DFT_N_32k_ENC / 2]; - -#endif - -#ifdef FIX_ITD_CNG - int16_t currentNumUpdates; - int16_t expectedNumUpdates; /* Expected number of frames before use of ITD estimate */ - int16_t resetFrames; -#endif - - /* energy buffers for ICBWE */ - float nrg_L[2]; - float nrg_R[2]; - float nrg_DMX[2]; - - /*Residual prediction*/ - int16_t res_pred_mode[STEREO_DFT_ENC_DFT_NB]; /* mode from 0 (off) to 1 (on) */ - float res_pred_gain[STEREO_DFT_ENC_DFT_NB * STEREO_DFT_BAND_MAX]; /*prediction gain for the residual HFs */ - int16_t res_pred_band_min; /* Band min for prediction of residual */ - int16_t res_pred_flag_1; - int16_t res_pred_flag_2; - int16_t res_pred_counter; - float res_pred_gain_f[STEREO_DFT_BAND_MAX]; - int16_t res_pred_index_EC[STEREO_DFT_BAND_MAX]; - int16_t res_pred_index_ECDiff[STEREO_DFT_BAND_MAX]; - int16_t res_pred_index_ECprevious[STEREO_DFT_BAND_MAX]; - int16_t reverb_flag; - float pre_sub_nrg_DMX[STEREO_DFT_BAND_MAX]; - float diff_l_h_sm; - float diff_r_h_sm; - float prev_fac2; - - /*Residual coding*/ - int16_t res_cod_mode[STEREO_DFT_ENC_DFT_NB]; /* mode from 0 (off) to 3 */ - int16_t res_cod_band_max; /* Band max for coding of residual */ - int16_t res_cod_line_max; /* Maximum number of MDCT lines to code for the residual coding */ - float res_cod_NRG_M[STEREO_DFT_BAND_MAX]; - float res_cod_NRG_S[STEREO_DFT_BAND_MAX]; - float res_cod_SNR_M[STEREO_DFT_BAND_MAX]; - float old_snr; - - /* flags and data for adaptive wideband residual coding */ - float res_dmx_ratio_lt; /* long term energy ratio between RES and DMX */ - int16_t hangover_cnt0; /* counter 0 for hangover */ - int16_t hangover_cnt1; /* counter 1 for hangover */ - float dmx_res_all_prev; /* energy of the previous frame */ - int16_t last_res_cod_mode_modify_flag; /* a flag to indicate whether the res_cod_mode_flag has been modified for the switching frame in which res_cod_mode_flag should be swithced from 1 to 0 */ - int16_t res_cod_sw_flag; /* a flag to indicate whether it is a switching frame */ - float switch_fade_factor; /* Adaptive fade factor for switch frame */ - - /*misc*/ - float icbweRefEner; - float lbEner; - int16_t flip_sign; -#ifdef DEBUG_MODE_DFT - int16_t verbose; - int16_t res_cod_bits; -#endif - -} STEREO_DFT_ENC_DATA, *STEREO_DFT_ENC_DATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * MDCT Stereo encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_mdct_enc_data_structure -{ - /* static members */ - STEREO_MDCT_BAND_PARAMETERS stbParamsTCX20; /* stereo frequency band parameters for TCX20 */ - STEREO_MDCT_BAND_PARAMETERS stbParamsTCX10; /* stereo frequency band parameters for TCX10 */ - STEREO_MDCT_BAND_PARAMETERS stbParamsTCX20afterACELP; /* stereo frequency band parameters for transition frames */ - - /* only intraframe */ - int16_t mdct_stereo_mode[2]; /* mdct stereo mode: LR, MS, band-wise MS */ -#ifdef DEBUGGING - int16_t mdct_stereo_mode_cmdl; /* MDCT stereo mode from command-line */ - int16_t fDualMono; /* force dual mono in MDCT stereo mode */ - int16_t fMSstereo; /* force full-band MS in MDCT stereo mode */ -#endif - int16_t global_ild[2]; /* Quantized ILD for the whole spectrum */ - int16_t split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ - - int16_t IGFStereoMode[2]; /* MDCT stereo mode for IGF */ - - ITD_DATA_HANDLE hItd; - DFT_ANA_HANDLE hDft_ana; - - int16_t sw_uncorr; - - int16_t isSBAStereoMode; - -} STEREO_MDCT_ENC_DATA, *STEREO_MDCT_ENC_DATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * TD Stereo encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_td_enc_data_structure -{ - int16_t tdm_lp_reuse_flag; /* Flag that indicate if it is possible to reuse the LP coefficient from the primary channel or not */ - int16_t tdm_low_rate_mode; /* secondary channel low rate mode flag */ - float tdm_Pri_pitch_buf[NB_SUBFR]; - int16_t tdm_Pitch_reuse_flag; - - float tdm_lt_corr_RM; /* Long term right-mono correlation */ - float tdm_lt_corr_LM; /* Long term left-mono correlation */ - float tdm_last_diff_lt_corr; /* long term correlation difference mem */ - float tdm_last_ratio; /* Last TDM ratio */ - - float tdm_lt_rms_L; /* Left channel long term rms */ - float tdm_lt_rms_R; /* Right channel long term rms */ - float tdm_last_ener_lt_R; /* Right channel long term energy */ - float tdm_last_ener_lt_L; /* Left channel long term energy */ - - int16_t tdm_last_ratio_idx; /* last TDM ratio index */ - int16_t tdm_last_SM_flag; /* Flag to signal a SM encoding scheme -> better for some music item */ - int16_t tdm_ratio_transition_mov_flag; /* Flag that indicates that L-R energy is changing */ - int16_t tdm_ratio_transition_cnt; /* Counter */ - int16_t tdm_hyst_cnt; /* Counter */ - int16_t tdm_prev_stable_idx; /* Previous Transmitted ratio index*/ - int16_t tdm_prev_desired_idx; /* Previous Transmitted ratio index*/ - float tdm_LT_es_em; /* Long term evoluation of the side to mono energy ratio */ - int16_t tdm_use_IAWB_Ave_lpc; /* Flag to indicate the usage of mean inactive LP coefficients */ - - /* NOOP parameters */ - float tdm_lt_corr_RM_SM; /* Long term right-mono correlation in SM mode*/ - float tdm_lt_corr_LM_SM; /* Long term left-mono correlation in SM mode*/ - float tdm_last_diff_lt_corr_SM; /* long term correlation difference mem in SM mode*/ - float tdm_last_ratio_SM; /* Last TDM ratio in SM mode*/ - - float tdm_lt_rms_L_SM; /* Left channel long term rms in SM mode*/ - float tdm_lt_rms_R_SM; /* Right channel long term rms in SM mode*/ - float tdm_last_ener_lt_R_SM; /* Right channel long term energy in SM mode*/ - float tdm_last_ener_lt_L_SM; /* Left channel long term energy in SM mode*/ - - int16_t tdm_last_ratio_idx_SM; /* last TDM ratio index in SM mode*/ - int16_t tdm_last_SM_flag_noop; /* Flag to signal a SM encoding scheme -> better for some music item in SM mode*/ - int16_t tdm_noop_mov_flag; /* Flag that indicates that L-R energy is changing in SM mode*/ - int16_t tdm_noop_cnt; /* Counter in SM mode*/ - int16_t tdm_hyst_cnt_SM; /* Counter in SM mode*/ - int16_t tdm_prev_stable_idx_SM; /* Previous Transmitted ratio index in SM mode*/ - int16_t tdm_prev_desired_idx_SM; /* Previous Transmitted ratio index in SM mode*/ - float tdm_LT_es_em_SM; /* Long term evoluation of the side to mono energy ratio in SM mode*/ - int16_t tdm_NOOP_cnt; /* Counter for channel combination scheme */ - int16_t tdm_SM_flag; /* Flag for channel combination scheme */ - int16_t tdm_SM_last2_clas[2]; /* Class of the frame immediately prior to the previous frame */ - int16_t tdm_SM_last_clas[2]; /* Class of the previous frame */ - int16_t tdm_SM_modi_flag; /* Flag that indicates to modify ratio */ - int16_t tdm_SM_reset_flag; /* Flag that indicates to reset the parameters for SM mode */ - - int16_t tdm_FD2LRTD_SW_cnt; /* Count the number of frames following a FD to LRTD switching */ - int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ - int16_t prev_fr_LRTD_TD_dec; /* At the beginning of a frame, contains the previous LRTD decision that might have been modified during last frame */ - int16_t tdm_inst_ratio_idx; /* Instantaneous correlation ratio index */ - int16_t tdm_last_inst_ratio_idx; /* previous frame instantaneous correlation ratio index */ - int16_t tdm_vad_hangover_cnt; /* Count the number of frames where hangover_cnt >= 5 in both primary and secondary channel */ - int16_t tdm_ini_frame_cnt; /* Count the number of frame to decide how to evaluate the local VAD of primary and secondary channel */ - int16_t tdm_last_LRTD_frame_cnt; /* Count the number of frame since the last LRTD frame */ - int16_t tdm_last_LRTD_PriCh_cnt; /* Count the number of frame since the primary channel changed */ - int16_t flag_skip_DMX; /* flag that indicates whether the TD downmixing is skipped */ - -} STEREO_TD_ENC_DATA, *STEREO_TD_ENC_DATA_HANDLE; - - -/*----------------------------------------------------------------------------------* - * ICA Stereo encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_tca_enc_data_structure -{ - int16_t refChanIndx; /* reference channel index in current frame */ - int16_t prevRefChanIndx; /* reference channel index in previous frame */ - int16_t indx_ica_NCShift; /* ICA target channel inter-channel corrstats */ - int16_t indx_ica_gD; /* ICA target gain */ - float targetGain; /* gain norm applied on target (or right) channel in current frame */ - float instTargetGain; /* instantaneous gain norm applied on target (or right) channel in current frame */ - float prevTargetGain; /* gain norm applied on target (or right) channel in previous frame */ - float corrStatsSmoothFac; /* gD/corrStats smoothing based on corrStats */ - - int16_t lMemRecalc; - int16_t lMemRecalc_12k8; - int16_t lMemRecalc_16k; - - int16_t corrLagStats[3]; /* corr lag stats in current frame */ - int16_t prevCorrLagStats[3]; /* corr lag stats in previous frame */ - - float memChanL[L_MEM_RECALC_48K + L_MEM_RECALC_48k_SCH]; /* left channel input to correct at the cross-over */ - float memChanR[L_MEM_RECALC_48K + L_MEM_RECALC_48k_SCH]; /* right channel input to correct at the cross-over */ - - float memChanL_DS[ADDED_MEM_DS]; /* left channel input speech memory for downmix */ - float memChanR_DS[ADDED_MEM_DS]; /* right channel input speech memory for downmix */ - float mem_tempF; - float memdecim[12]; /* memory for pre-rmphasis filter for resampling */ - float corrEstPrev[3][2 * L_NCSHIFT_DS + 1]; /* Prev correlation vector */ - float corrEstLT[2 * L_NCSHIFT_DS + 1]; /* Long term correlation vector smoothed */ - - float ica_envVarLT; - float C_mem[2 * L_NCSHIFT_DS + 1]; - float E1_mem, E2_mem; - float delay_0_mem[MAX_DELAYREGLEN]; - float smooth_dist_reg_prv_corr; - int16_t LRTD_G_ATT_cnt; - -} STEREO_TCA_ENC_DATA, *STEREO_TCA_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Stereo IC_BWE encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_icbwe_enc_data_structure -{ - int16_t prev_refChanIndx_bwe; - int16_t refChanIndx_bwe; - /* SHB speech resampler memory */ - float memHPF[8]; - float mem_decim_shb_ch0[2 * L_FILT_MAX]; - - /* SHB speech non-ref channel */ - float mem_shb_speech_ref[L_LOOK_16k]; - float mem_shb_speech_nonref[L_LOOK_16k]; - - /* unscaled & scaled SHB synthesis memory */ - float mem_lpc_shbsynth_nonref[LPC_SHB_ORDER]; - - /* inter-channel BWE spectral shape adj. */ - float prevSpecMapping; - float memShbSpecMapping; - float memShbSpecXcorr[6]; - float prevgsMapping; - - float prevRefEner; - float prevNonRefEner; - - float memGsEnerMap[2]; - - float dec_2over3_mem[L_FILT_2OVER3]; - float dec_2over3_mem_lp[L_FILT_2OVER3_LP]; - float icbwe_inp_mem[CPE_CHANNELS][NS2SA( 48000, L_MEM_RECALC_TBE_NS )]; - float *dataChan[CPE_CHANNELS]; - float memModifyFs_icbwe[CPE_CHANNELS][2 * L_FILT32k]; - - float mem_nrg_L[CPE_CHANNELS]; - float mem_nrg_R[CPE_CHANNELS]; - float mem_nrg_DMX[CPE_CHANNELS]; - float gDes_pastFrame; - float icbweRefEner; - - float shbSynthRef[L_FRAME16k]; - float nlExc16k[L_FRAME16k]; - float mixExc16k[L_FRAME16k]; - float lpSHBRef[LPC_SHB_ORDER + 1]; - - int16_t MSFlag; - -} STEREO_ICBWE_ENC_DATA, *STEREO_ICBWE_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * stereo classifiers structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_stereo_classifier_data_structure -{ - /* features for xtalk classifier and UNCLR classifier */ - int16_t clas_ch1; - int16_t pitch_ch1[3]; - float voicing_ch1[3]; - float cor_map_sum_ch1; - float lsf_ch1[M]; - float lepsP_ch1; - float dE1_ch1, dE1_ch2; - float nchar_ch1, nchar_ch2; - float non_sta_ch1; - float sp_div_ch1; - float ps_diff_ch1, ps_diff_ch2; - float ps_sta_ch1, ps_sta_ch2; - float prev_g_IPD; - float prev_IPD; - float prev_ratio_m1_m2; - float ratio_L; - int16_t vad_flag_glob; - int16_t vad_relE; - - int16_t aEn_raw[CPE_CHANNELS]; /* raw aEn for local relative energy estimation */ - float ave_ener_L; /* average energy of the L channel */ - float ave_ener_R; /* average energy of the R channel */ - float Etot_dn; /* average energy in dB - lower bound */ - float Etot_up; /* average energy in dB - upper bound */ - float relE_buf[UNCLR_L_RELE]; /* running buffer for relative energy */ - float Etot_buf[UNCLR_L_ETOT]; /* running buffer for average energy in dB */ - float relE_0_1; /* relative energy in the current frame normalized to (0,1) */ - float relE_0_1_LT; - - int16_t unclr_sw_enable_cnt[CPE_CHANNELS]; /* UNCLR classifier - counter of frames suitable for UNCLR switching */ - - float unclr_relE_0_1_LT[UNCLR_RC_ORDER]; - float unclr_wscore; - int16_t unclr_decision; /* UNCLR stereo classifier decision (0/1) */ - float unclr_fv[SSC_MAX_NFEA]; /* UNCLR - feature vector */ - int16_t unclr_corrLagMax_prev; - - float xtalk_score_buf[XTALK_SCORE_BUF_LEN]; - int16_t xtalk_decision; /* xtalk stereo classifier decision (0/1) */ - float xtalk_fv[SSC_MAX_NFEA]; /* xtalk - feature vector */ - float xtalk_wscore; - float xtalk_score; - float xtalk_score_wrelE; - - int16_t lrtd_mode; - int16_t prev_lrtd_mode; - - float is_speech; - int16_t silence_flag; - -} STEREO_CLASSIF_DATA, *STEREO_CLASSIF_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Front-VAD structure - *----------------------------------------------------------------------------------*/ - -typedef struct front_vad_enc -{ - int16_t ini_frame; /* initialization frames counter */ - float lp_speech; /* long term speech average */ - float lp_noise; /* long term noise average */ - float mem_decim[2 * L_FILT_MAX]; /* decimation filter memory */ - float buffer_12k8[3 * L_FRAME / 2]; /* 12k8 signal buffer */ - float mem_preemph; /* preemph filter memory */ - NOISE_EST_HANDLE hNoiseEst; /* Noise estimation handle */ - VAD_HANDLE hVAD; /* VAD handle */ - float *delay_buf; - int16_t delay_samples; -#ifdef FIX_ITD_CNG - int16_t rem_dtx_ho; /* Remaining hangover frames */ -#endif - -} FRONT_VAD_ENC, *FRONT_VAD_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * DirAC encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_dirac_enc_data_structure -{ - DIRAC_CONFIG_DATA_HANDLE hConfig; - PARAM_ISM_CONFIG_HANDLE hParamIsm; /* Parametric ISM handle */ - - IVAS_FB_MIXER_HANDLE hFbMixer; - float *sba_synchro_buffer[DIRAC_MAX_ANA_CHANS]; - int16_t num_samples_synchro_delay; - - /* DirAC parameter estimation */ - float **direction_vector[DIRAC_NUM_DIMS]; - float **direction_vector_m[DIRAC_NUM_DIMS]; /* Average direction vector */ - float diffuseness_m[DIRAC_MAX_NBANDS]; - int16_t band_grouping[DIRAC_MAX_NBANDS + 1]; - int16_t block_grouping[5]; - - int16_t dirac_to_spar_md_bands[DIRAC_MAX_NBANDS]; - - /* diffuseness */ - int16_t index_buffer_intensity; - int16_t no_col_avg_diff; - float **buffer_intensity_real[DIRAC_NUM_DIMS]; - float *buffer_energy; - -} DIRAC_ENC_DATA, *DIRAC_ENC_HANDLE; - -/*----------------------------------------------------------------------------------* - * SPAR encoder structures - *----------------------------------------------------------------------------------*/ - -/* AGC structures */ -typedef struct ivas_agc_enc_chan_state_t -{ - int16_t lastExp; - int16_t prevExp; - float lastGain; - float lastMaxAbs; - int16_t gainExpVal; - float MaxAbsVal_del; - int16_t MaxAbsValIdx_del; - -} ivas_agc_enc_chan_state_t; - -typedef struct ivas_agc_enc_state_t -{ - ivas_agc_com_state_t agc_com; - float minDelta; - float smFact; - ivas_agc_enc_chan_state_t *gain_state; - ivas_agc_chan_data_t *gain_data; - -} ivas_agc_enc_state_t; - -/* covariance structures */ -typedef struct ivas_enc_cov_handler_state_t -{ - ivas_cov_smooth_state_t *pCov_state; - ivas_cov_smooth_state_t *pCov_dtx_state; - int16_t num_bins; - int16_t prior_dtx_present; - -} ivas_enc_cov_handler_state_t; - - -/* SPAR MD structures */ -typedef struct ivas_spar_md_enc_state_t -{ - ivas_spar_md_t spar_md; - ivas_spar_md_prev_t spar_md_prior; - int16_t num_umx_ch; - int16_t num_decorr; - - float ***mixer_mat; - float ***cov_real; - float ***cov_dtx_real; - float ***mixer_mat_local; - ivas_spar_md_com_cfg spar_md_cfg; - ivas_arith_coeffs_t arith_coeffs; - ivas_huff_coeffs_t huff_coeffs; - int16_t table_idx; - int16_t spar_hoa_md_flag; -} ivas_spar_md_enc_state_t; - -/* PCA structure */ -typedef struct -{ - int16_t prev_bypass_decision; - float prev_eigVec[FOA_CHANNELS * FOA_CHANNELS]; - float prev_ql[IVAS_PCA_INTERP]; - float prev_qr[IVAS_PCA_INTERP]; - float prev_D[IVAS_PCA_INTERP]; - float mem_eigVec_interp[FOA_CHANNELS * FOA_CHANNELS]; - float old_r_sm[FOA_CHANNELS * FOA_CHANNELS]; - -} PCA_ENC_STATE; - -/* SPAR main structure */ -typedef struct ivas_spar_enc_lib_t -{ - ivas_spar_md_enc_state_t *hMdEnc; - IVAS_FB_MIXER_HANDLE hFbMixer; - ivas_enc_cov_handler_state_t *hCovEnc; - ivas_trans_det_state_t *hTranDet; - ivas_agc_enc_state_t *hAgcEnc; - int16_t dirac_to_spar_md_bands[DIRAC_MAX_NBANDS]; - int16_t enc_param_start_band; - int16_t AGC_Enable; - PCA_ENC_STATE *hPCA; - int32_t core_nominal_brate; /* Nominal bitrate for core coding */ - FRONT_VAD_ENC_HANDLE hFrontVad; /* front-VAD handle */ - ENC_CORE_HANDLE hCoreCoderVAD; /* core-coder handle for front-VAD module */ - - int16_t front_vad_flag; - int16_t front_vad_dtx_flag; - int16_t force_front_vad; - -} SPAR_ENC_DATA, *SPAR_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Parametric MC encoder structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_param_mc_enc_data_structure -{ - IVAS_FB_MIXER_HANDLE hFbMixer; - int16_t transient_detector_delay; - const float *dmx_factors; - - /* Multichannel Specific Parameters */ - IVAS_PARAM_MC_METADATA hMetadataPMC; - int16_t band_grouping[PARAM_MC_MAX_PARAMETER_BANDS + 1]; - int16_t lfe_index; - int16_t icc_map_index[PARAM_MC_PARAMETER_FRAMES][PARAM_MC_SZ_ICC_MAP]; - int16_t max_param_band_abs_cov; - - float ener_fac[PARAM_MC_MAX_PARAMETER_BANDS]; - -} PARAM_MC_ENC_DATA, *PARAM_MC_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * MASA encoder structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_masa_encoder_data_struct -{ - float energy[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; - int16_t num_Cldfb_instances; - HANDLE_CLDFB_FILTER_BANK cldfbAnaEnc[MAX_NUM_ENC_CLDFB_INSTANCES]; - float *delay_buffer[MASA_MAX_TRANSPORT_CHANNELS]; - int16_t band_mapping[MASA_FREQUENCY_BANDS + 1]; - uint8_t twoDirBands[MASA_FREQUENCY_BANDS]; - float importanceWeight[MASA_FREQUENCY_BANDS]; - SPHERICAL_GRID_DATA Sph_Grid16; - float lfeToTotalEnergyRatio[MAX_PARAM_SPATIAL_SUBFRAMES]; - float prevq_lfeToTotalEnergyRatio; - int16_t prevq_lfeIndex; - - float onset_detector_1; - float onset_detector_2; - -} MASA_ENCODER_DATA; - -typedef struct ivas_masa_encoder_struct -{ - MASA_METADATA_FRAME masaMetadata; /* MASA metadata frame storage during processing before unified metadata coding */ - MASA_CODEC_CONFIG config; /* Configuration of MASA encoding */ - MASA_ENCODER_DATA data; /* Data storage for MASA encoding */ - -} MASA_ENCODER, *MASA_ENCODER_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Multichannel MASA (McMASA) encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_mcmasa_enc_data_structure -{ - int16_t nbands; - int16_t nCodingBands; - - /* delay compensation */ - float *delay_buffer_lfe[2]; /* Delay buffer for LFE estimation */ - - int16_t num_samples_delay_comp; - int16_t num_slots_delay_comp; - int16_t offset_comp; - - IVAS_FB_MIXER_HANDLE hFbMixer; - IVAS_FB_MIXER_HANDLE hFbMixerLfe; - - /* DirAC parameter estimation */ - float **direction_vector_m[DIRAC_NUM_DIMS]; /* Average direction vector */ - int16_t band_grouping[MASA_FREQUENCY_BANDS + 1]; - int16_t block_grouping[5]; - - /* diffuseness */ - int16_t index_buffer_intensity; - int8_t no_col_avg_diff; - float **buffer_intensity_real[DIRAC_NUM_DIMS]; - float **buffer_intensity_real_vert; - float *buffer_energy; - - float chnlToFoaMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; - float chnlToFoaEvenMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; - float ls_azimuth[MCMASA_MAX_ANA_CHANS]; - int16_t leftNearest[MCMASA_MAX_ANA_CHANS]; - int16_t rightNearest[MCMASA_MAX_ANA_CHANS]; - int16_t numHorizontalChannels; - uint8_t isHorizontalSetup; - uint8_t combineRatios; - - float prevMultiChEne; - float prevDownmixEne; - float prevEQ; - float interpolator[L_FRAME48k]; - - uint8_t separateChannelEnabled; - int16_t separateChannelIndex; - - /* LFE coding */ - float lfeLfEne[MAX_PARAM_SPATIAL_SUBFRAMES]; - float totalLfEne[MAX_PARAM_SPATIAL_SUBFRAMES]; - float *lfeAnaRingBuffer[2]; - int16_t ringBufferPointer; - float lowpassSum[2]; - int16_t ringBufferSize; - -} MCMASA_ENC_DATA, *MCMASA_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Stereo CNG handle - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_cng_enc -{ - int16_t prev_sg_average_counter; /* Counter for sidegain averaging */ - int16_t sg_active_cnt; /* Counter for sidegain averaging */ - int16_t sg_average_counter; /* Counter for sidegain averaging */ - float sg_average[STEREO_DFT_ERB4_BANDS]; /* Sidegain average */ - float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ - float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ -#ifdef FIX_ITD_CNG - float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )]; /* Previous coherence */ - int16_t cng_counter; /* Counter for cng period length */ -#else - float coh_crossfade[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ -#endif - int16_t td_active; /* TD-stereo indication */ - int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ - int16_t first_SID; /* Set if first SID frame since codec start */ - -} STEREO_CNG_ENC, *STEREO_CNG_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * SCE encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct sce_enc_data_structure -{ - int16_t sce_id; /* SCE # identifier */ - int32_t element_brate; /* SCE element total bitrate in bps */ - int32_t last_element_brate; /* last SCE element bitrate in bps */ - - BSTR_ENC_HANDLE hMetaData; /* Metadata bitstream handle */ - - ENC_CORE_HANDLE hCoreCoder[1]; /* core coder handle */ - -} SCE_ENC_DATA, *SCE_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * CPE encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct cpe_enc_data_structure -{ - int16_t cpe_id; /* CPE # identifier */ - - int32_t element_brate; /* CPE element total bitrate in bps */ - int32_t last_element_brate; /* last CPE element total bitrate in bps */ - int16_t element_mode; /* element mode, in CPE it can be IVAS_CPE_DFT, IVAS_CPE_TD or IVAS_CPE_MDCT */ - int16_t last_element_mode; /* last element mode */ - - BSTR_ENC_HANDLE hMetaData; /* Metadata bitstream handle */ - - ENC_CORE_HANDLE hCoreCoder[CPE_CHANNELS]; /* core coder handle */ - - /* stereo data handles */ - STEREO_CLASSIF_HANDLE hStereoClassif; /* stereo classifiers handle */ - STEREO_DFT_ENC_DATA_HANDLE hStereoDft; /* DFT stereo data handle */ - STEREO_TD_ENC_DATA_HANDLE hStereoTD; /* TD stereo data handle */ - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct; /* MDCT stereo data handle */ - STEREO_TCA_ENC_HANDLE hStereoTCA; /* Stereo TCA Encoder handle */ - STEREO_ICBWE_ENC_HANDLE hStereoICBWE; /* Stereo inter-channel BWE handle */ - STEREO_CNG_ENC_HANDLE hStereoCng; /* Stereo CNG data structure */ - FRONT_VAD_ENC_HANDLE hFrontVad[CPE_CHANNELS]; - - float *input_mem[CPE_CHANNELS]; /* input channels buffers memory; needed to be up-to-date for TD->DFT stereo switching */ - -#ifdef DEBUGGING - int16_t stereo_mode_cmdl; /* stereo mode forced from the commaand-line */ -#endif - -} CPE_ENC_DATA, *CPE_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * MCT structure - *----------------------------------------------------------------------------------*/ - -typedef struct mct_block_data_struct -{ - int16_t isActive; - int16_t ch1, ch2; - int16_t mask[2][MAX_SFB]; - STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct; /* MDCT stereo data handle */ - -} MCT_BLOCK_DATA, *MCT_BLOCK_DATA_HANDLE; - -typedef struct mct_enc_data_structure -{ - BSTR_ENC_HANDLE hBstr; /* bitstream handle for side bits - in MCT, side bits are written at the beginning of the bitstream */ - - int16_t nchan_out_woLFE; /* number of active channels within multi-channel configuration */ - int16_t currBlockDataCnt; - int16_t bitsChannelPairIndex; /* bits needed to code channel pair index, depends on number of active channels */ - MCT_BLOCK_DATA_HANDLE hBlockData[MCT_MAX_BLOCKS]; - - float lastxCorrMatrix[MCT_MAX_CHANNELS][MCT_MAX_CHANNELS]; - int16_t lowE_ch[MCT_MAX_CHANNELS]; - int16_t LFE_off; - uint16_t mc_global_ild[MCT_MAX_CHANNELS]; - int16_t nBitsMCT; /* number of bits spent on mct side info */ - int16_t num_lfe; - - /* pointers to local buffers */ - float *p_mdst_spectrum_long[MCT_MAX_BLOCKS][CPE_CHANNELS]; - float *p_orig_spectrum_long[MCT_MAX_BLOCKS][CPE_CHANNELS]; - int16_t tnsBits[MCT_MAX_BLOCKS][CPE_CHANNELS][NB_DIV]; /* number of tns bits in the frame */ - int16_t tnsSize[MCT_MAX_BLOCKS][CPE_CHANNELS][NB_DIV]; /* number of tns parameters put into prm */ - int16_t p_param[MCT_MAX_BLOCKS][CPE_CHANNELS][NB_DIV]; - - int16_t hbr_mct; - -} MCT_ENC_DATA, *MCT_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Stereo downmix for EVS encoder structure - *----------------------------------------------------------------------------------*/ - -typedef struct stereo_dmx_evs_phase_only_correlation_structure -{ - float P[L_FRAME48k]; - float peakQ[CPE_CHANNELS]; - float peak_width[CPE_CHANNELS]; - float confidence; - - int16_t ispeak[CPE_CHANNELS]; - int16_t itdLR[CPE_CHANNELS]; - int16_t shift_limit; - - const float *wnd; - float eps; - const float *sin; - -} STEREO_DMX_EVS_POC_DATA, *STEREO_DMX_EVS_POC_HANDLE; - -typedef struct stereo_dmx_evs_enc_data_structure -{ - STEREO_DMX_EVS_POC_HANDLE hPOC; - - float itd; - - float pre_dmx_energy[1]; - float aux_dmx_energy[CPE_CHANNELS]; - - float dmx_weight[1 + CPE_CHANNELS]; - - const float *s_wnd; - -} STEREO_DMX_EVS_ENC_DATA, *STEREO_DMX_EVS_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * LFE encoder structures - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_lfe_enc_data_structure -{ - ivas_filters_process_state_t filter_state; - LFE_WINDOW_HANDLE pWindow_state; - BSTR_ENC_HANDLE hBstr; /* pointer to encoder bitstream handle */ - const uint16_t *cum_freq_models[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; - int16_t lfe_enc_indices_coeffs_tbl[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; - int16_t lfe_bits; - float *old_wtda_audio; - -} LFE_ENC_DATA, *LFE_ENC_HANDLE; - - -/* clang-format off */ -/*----------------------------------------------------------------------------------* - * Encoder configuration structure (includes commandline-related parameters) - *----------------------------------------------------------------------------------*/ - -typedef struct encoder_config_structure -{ - int32_t ivas_total_brate; /* IVAS total bitrate in bps */ - int32_t last_ivas_total_brate; /* IVAS last total bitrate in bps */ - int32_t input_Fs; /* input signal sampling frequency in Hz */ - int16_t nchan_inp; /* number of input audio channels */ - int16_t max_bwidth; /* maximum encoded bandwidth */ - IVAS_FORMAT ivas_format; /* IVAS format */ - - int16_t element_mode_init; /* element mode used at initialization */ - int16_t stereo_dmx_evs; /* flag to indicate that stereo downmix for EVS encoder */ - int16_t sba_order; /* Ambisonic (SBA) order */ - int16_t sba_planar; /* Ambisonic (SBA) planar flag */ - MC_LS_SETUP mc_input_setup; /* multichannel input ls setup */ - - int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ - - int16_t Opt_DTX_ON; /* flag indicating DTX operation */ - int16_t interval_SID; /* CNG and DTX - interval of SID update, default 8 */ - int16_t var_SID_rate_flag; /* CNG and DTX - flag for variable SID rate */ - - int16_t Opt_RF_ON; /* flag indicating RF (channel-aware) mode */ - int16_t rf_fec_offset; /* RF FEC offset */ - int16_t rf_fec_indicator; /* RF FEC indicator */ - - int16_t Opt_SC_VBR; /* flag indicating SC-VBR mode */ - int16_t last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ - - /* temp. development parameters */ - int16_t Opt_PCA_ON; /* flag indicating PCA operation in SBA */ - -#ifdef DEBUGGING - /* debugging options */ - int16_t stereo_mode_cmdl; /* stereo mode forced from the command-line */ - int16_t force; /* parameter to force specific "core" of the Core-Coder*/ - int16_t mdct_stereo_mode_cmdl; /* mdct stereo mode forced from command-line, employed only when DEBUG_FORCE_MDCT_STEREO_MODE is activated */ -#ifdef DEBUG_AGC_ENCODER_CMD_OPTION - int16_t Opt_AGC_ON; /* flag indicating AGC operation in SBA */ -#endif -#endif - - -} ENCODER_CONFIG, *ENCODER_CONFIG_HANDLE; - - -/*----------------------------------------------------------------------------------* - * - * Main IVAS encoder structure - * =========================== - *----------------------------------------------------------------------------------*/ - -typedef struct -{ - ENCODER_CONFIG_HANDLE hEncoderConfig; /* Encoder configuration structure */ - - /* high-level encoder parameters */ - int16_t nchan_transport; /* number of transport channels */ - int16_t sba_analysis_order; /* Ambisonic (SBA) order used for analysis and coding */ - int16_t codec_mode; /* Mode1 or Mode2 of core codec */ - int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ - - float **mem_hp20_in; /* input signals HP filter memories */ - - /* core-encoder modules */ - int16_t nSCE; /* number of total SCEs */ - int16_t nCPE; /* number of total CPEs */ - SCE_ENC_HANDLE hSCE[MAX_SCE]; /* SCE handles */ - CPE_ENC_HANDLE hCPE[MCT_MAX_BLOCKS]; /* CPE handles */ - - /* multichannel modules */ - ISM_METADATA_HANDLE hIsmMetaData[MAX_NUM_OBJECTS]; /* ISM metadata handles (storage for one frame of read ISM metadata) */ - DIRAC_ENC_HANDLE hDirAC; /* DirAC data handle */ - SPAR_ENC_HANDLE hSpar; /* SPAR encoder handle */ - MASA_ENCODER_HANDLE hMasa; /* MASA encoder data and configuration */ - IVAS_QMETADATA_HANDLE hQMetaData; /* Metadata handle for q_metadata parametric spatial coding DirAC/MASA*/ - MCT_ENC_HANDLE hMCT; /* MCT handle */ - PARAM_MC_ENC_HANDLE hParamMC; /* Parametric MC handle */ - MCMASA_ENC_HANDLE hMcMasa; /* Multi-channel MASA data handle */ - LFE_ENC_HANDLE hLFE; /* LFE data handle */ - - ISM_MODE ism_mode; /* ISM format mode */ - SBA_MODE sba_mode; /* SBA format mode */ - MC_MODE mc_mode; /* MC format mode */ - - /* Stereo downmix for EVS module */ - STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS; /* Stereo downmix for EVS encoder handle */ - -} Encoder_Struct; - -/* clang-format on */ - -#endif /* IVAS_STAT_ENC_H */ diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h deleted file mode 100644 index dbcb21c989..0000000000 --- a/lib_enc/lib_enc.h +++ /dev/null @@ -1,342 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef LIB_ENC_H -#define LIB_ENC_H - -#include "common_api_types.h" -#include "ivas_error.h" -#include <stdbool.h> -#include <stdint.h> - - -/*---------------------------------------------------------------------* - * Encoder enums - *---------------------------------------------------------------------*/ - -/* Possible input formats to the encoder */ -typedef enum _IVAS_ENC_INPUT_FORMAT -{ - IVAS_ENC_INPUT_MONO = 0x0001, - IVAS_ENC_INPUT_STEREO, - IVAS_ENC_INPUT_ISM, - IVAS_ENC_INPUT_SBA, - IVAS_ENC_INPUT_MASA, - IVAS_ENC_INPUT_MC, - IVAS_DEC_INPUT_UNKNOWN = 0xffff -} IVAS_ENC_INPUT_FORMAT; - -typedef enum _IVAS_ENC_BANDWIDTH -{ - IVAS_ENC_BANDWIDTH_NB, - IVAS_ENC_BANDWIDTH_WB, - IVAS_ENC_BANDWIDTH_SWB, - IVAS_ENC_BANDWIDTH_FB, - IVAS_ENC_BANDWIDTH_UNDEFINED = 0xffff -} IVAS_ENC_BANDWIDTH; - -typedef struct _IVAS_ENC_DTX_CONFIG -{ - bool enabled; - bool variable_SID_rate; - int16_t SID_interval; -} IVAS_ENC_DTX_CONFIG; - -typedef enum _IVAS_ENC_SBA_ORDER -{ - IVAS_ENC_SBA_FOA = 1, - IVAS_ENC_SBA_HOA2 = 2, - IVAS_ENC_SBA_HOA3 = 3, - IVAS_ENC_SBA_ORDER_UNDEFINED = 0xffff -} IVAS_ENC_SBA_ORDER; - -typedef enum _IVAS_ENC_MC_LAYOUT -{ - IVAS_ENC_MC_5_1 = 6, - IVAS_ENC_MC_7_1 = 12, - IVAS_ENC_MC_5_1_2 = 14, - IVAS_ENC_MC_5_1_4 = 16, - IVAS_ENC_MC_7_1_4 = 19, - IVAS_ENC_CICP_UNDEFINED = 0xffff -} IVAS_ENC_MC_LAYOUT; - -typedef enum _IVAS_ENC_MASA_VARIANT -{ - IVAS_ENC_MASA_1CH = 1, - IVAS_ENC_MASA_2CH = 2, - IVAS_ENC_MASA_UNDEFINED = 0xffff -} IVAS_ENC_MASA_VARIANT; - -#ifdef DEBUGGING -typedef enum _IVAS_ENC_STEREO_MODE -{ - IVAS_ENC_STEREO_MODE_UNIFIED, - IVAS_ENC_STEREO_MODE_DFT, - IVAS_ENC_STEREO_MODE_TD, - IVAS_ENC_STEREO_MODE_MDCT_DECISION, - IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR, - IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS, - IVAS_ENC_STEREO_MODE_UNDEFINED = 0xffff -} IVAS_ENC_STEREO_MODE; - -typedef enum _IVAS_ENC_FORCED_MODE -{ - IVAS_ENC_FORCE_SPEECH, - IVAS_ENC_FORCE_MUSIC, - IVAS_ENC_FORCE_ACELP, - IVAS_ENC_FORCE_GSC, - IVAS_ENC_FORCE_TCX, - IVAS_ENC_FORCE_HQ, - IVAS_ENC_FORCE_UNFORCED, - IVAS_ENC_FORCE_UNDEFINED = 0xffff -} IVAS_ENC_FORCED_MODE; - -#ifdef DEBUG_AGC_ENCODER_CMD_OPTION -typedef enum _IVAS_ENC_AGC -{ - IVAS_ENC_AGC_DISABLED = 0, - IVAS_ENC_AGC_ENABLED, - IVAS_ENC_AGC_UNDEFINED = 0xffff -} IVAS_ENC_AGC; -#endif -#endif - -/*---------------------------------------------------------------------* - * Encoder structures - *---------------------------------------------------------------------*/ - -typedef struct IVAS_ENC *IVAS_ENC_HANDLE; - -/* clang-format off */ -/*---------------------------------------------------------------------* - * Encoder function declarations - *---------------------------------------------------------------------*/ - -/* Open, configure, close functions - should be called once per encoder lifetime */ - -/*! r: error code */ -ivas_error IVAS_ENC_Open( - IVAS_ENC_HANDLE *phIvasEnc /* i/o: pointer to an encoder handle to be opened */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_ConfigureForMono( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t inputFs, /* i : input sampling frequency */ - const int32_t bitrate, /* i : requested bitrate of the output bitstream */ - const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ - const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ - const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ - const IVAS_ENC_CHANNEL_AWARE_CONFIG caConfig, /* i : configuration of channel-aware mode, can by set to default by using IVAS_ENC_GetDefaultChannelAwareConfig() */ - const bool downmixFromStereo /* i : if true, the encoder accepts a stereo input and internally downmixes it to mono before encoding */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_ConfigureForStereo( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t inputFs, /* i : input sampling frequency */ - const int32_t bitrate, /* i : requested bitrate of the output bitstream */ - const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ - const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ - const IVAS_ENC_DTX_CONFIG dtxConfig /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ -#ifdef DEBUGGING - , - const IVAS_ENC_STEREO_MODE stereoMode /* i : forces a specific stereo coding mode */ -#endif -); - -/*! r: error code */ -ivas_error IVAS_ENC_ConfigureForObjects( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t inputFs, /* i : input sampling frequency */ - const int32_t bitrate, /* i : requested bitrate of the output bitstream */ - const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ - const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ - const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ - const uint16_t numObjects /* i : number of objects to be encoded */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_ConfigureForAmbisonics( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t inputFs, /* i : input sampling frequency */ - const int32_t bitrate, /* i : requested bitrate of the output bitstream */ - const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ - const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ - const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ - const IVAS_ENC_SBA_ORDER order, /* i : order of the Ambisonics input */ - const bool isPlanar, /* i : if true, input is treated as planar Ambisonics */ -#ifdef DEBUG_AGC_ENCODER_CMD_OPTION - const IVAS_ENC_AGC Opt_AGC_ON, /* i : AGC on/off/undefined flag */ -#endif - const bool Opt_PCA_ON /* i : PCA option flag */ -#ifdef DEBUG_SBA_AUDIO_DUMP - , - int16_t *numTransportChannels -#endif -); - -/*! r: error code */ -ivas_error IVAS_ENC_ConfigureForMasa( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t inputFs, /* i : input sampling frequency */ - const int32_t bitrate, /* i : requested bitrate of the output bitstream */ - const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ - const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ - const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ - const IVAS_ENC_MASA_VARIANT masaVariant /* i : type of MASA input (either 1 or 2 channels) */ -); - -/*! r: encoder error code */ -ivas_error IVAS_ENC_ConfigureForMultichannel( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t inputFs, /* i : input sampling frequency */ - const int32_t bitrate, /* i : requested bitrate of the output bitstream */ - const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ - const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ - const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ - const IVAS_ENC_MC_LAYOUT mcLayout /* i : input MC layout */ -); - -void IVAS_ENC_Close( - IVAS_ENC_HANDLE *phIvasEnc /* i/o: pointer to IVAS encoder handle */ -); - -/* Encoding functions - should be called with a configured encoder handle */ - -/*! r: error code */ -ivas_error IVAS_ENC_FeedObjectMetadata( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const uint16_t ismIndex, /* i : object index */ - const IVAS_ISM_METADATA metadata /* i : object metadata handle for current frame */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_FeedMasaMetadata( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - IVAS_MASA_METADATA_HANDLE hMasaMetadata /* i : MASA metadata for current frame */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_EncodeFrameToSerial( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - int16_t *inputBuffer, /* i : PCM input */ - int16_t inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ - uint16_t *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME */ - uint16_t *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_EncodeFrameToCompact( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - int16_t *inputBuffer, /* i : PCM input */ - const int16_t inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ - uint8_t *outputBitStream, /* o : pointer to compact output bitstream. The array must already be allocated. */ - uint16_t *numOutBits /* o : number of bits written to output bitstream */ -); - -/* Setter functions - apply changes to encoder configuration */ - -/*! r: error code */ -ivas_error IVAS_ENC_SetBandwidth( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_BANDWIDTH maxBandwidth /* i : bandwidth limitation to be used */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_SetBitrate( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const int32_t totalBitrate /* i : requested bitrate of the output bitstream */ -); - -/*! r: error code */ -ivas_error IVAS_ENC_SetChannelAwareConfig( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_CHANNEL_AWARE_CONFIG rfConfig /* i : configuration of channel-aware mode */ -); - -#ifdef DEBUGGING -/*! r: error code */ -ivas_error IVAS_ENC_SetForcedMode( - IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - const IVAS_ENC_FORCED_MODE forcedMode /* i : forced coding mode */ -); -#endif - -/* Getter functions - retrieve information from an encoder through a handle */ - -/*! r: encoder error code */ -ivas_error IVAS_ENC_GetDelay( - const IVAS_ENC_HANDLE hIvasEnc, /* i : IVAS encoder handle */ - int16_t *delay /* o : encoder delay */ -); - -/*! r: encoder error code */ -ivas_error IVAS_ENC_GetInputBufferSize( - const IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ - int16_t *inputBufferSize /* o : total number of samples expected in the input buffer for current encoder configuration */ -); - -/* Utility functions */ -/*! r: default bandwidth for the encoder */ -IVAS_ENC_BANDWIDTH IVAS_ENC_GetDefaultBandwidth( - const bool isEvs /* i : EVS or IVAS mode */ -); - -/*! r: default DTX config for the encoder */ -IVAS_ENC_DTX_CONFIG IVAS_ENC_GetDefaultDtxConfig( - void -); - -/*! r: default channel-aware mode config for the encoder */ -IVAS_ENC_CHANNEL_AWARE_CONFIG IVAS_ENC_GetDefaultChannelAwareConfig( - void -); - -/*! r: pointer to an error message string */ -const char *IVAS_ENC_GetErrorMessage( - ivas_error error /* i : error code enum */ -); - - -ivas_error IVAS_ENC_PrintConfig( - const IVAS_ENC_HANDLE hIvasEnc, /* i : IVAS encoder handle */ - const int16_t channelAwareModeEnabled /* i : channel-aware mode enabled flag */ -); - -void IVAS_ENC_PrintDisclaimer( - void -); - -/* clang-format on */ - -#endif /* LIB_ENC_H */ diff --git a/lib_enc/rom_enc.h b/lib_enc/rom_enc.h deleted file mode 100644 index e3e62cb6e9..0000000000 --- a/lib_enc/rom_enc.h +++ /dev/null @@ -1,209 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef ROM_ENC_H -#define ROM_ENC_H - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "stat_enc.h" -#include "cnst.h" - -/*----------------------------------------------------------------------------------* - * General tables - *----------------------------------------------------------------------------------*/ - -extern const float sqrt_han_window[]; /* Half of the square root hanning window */ -extern const int16_t tipos[]; /* Starting points for pulse position search in Algebraic innovation codebook */ -extern const float E_ROM_inter4_1[PIT_UP_SAMP * L_INTERPOL1 + 1]; -extern const float E_ROM_inter6_1[PIT_UP_SAMP6 * L_INTERPOL1 + 1]; -extern const float E_ROM_inter4_1[PIT_UP_SAMP * L_INTERPOL1 + 1]; -extern const float E_ROM_inter6_1[PIT_UP_SAMP6 * L_INTERPOL1 + 1]; -extern const float W_HIST[DTX_HIST_SIZE]; /* CNG & DTX - table for calculation of average excitation energy */ - -extern const int16_t bwd_start_bin[]; -extern const int16_t bwd_end_bin[]; - -extern const float h_fir[]; /* 2nd order fir filter for wsp, decimation by 2 */ - -extern const float preemphCompensation[]; - -/*----------------------------------------------------------------------------------* - * VAD tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t hangover_hd_tbl[3]; -extern const int16_t hangover_sf_tbl[6]; - -/*----------------------------------------------------------------------------------* - * Open-loop pitch search tables - *----------------------------------------------------------------------------------*/ - -extern const int16_t nb_sect_12k8[]; -extern const int16_t nb_subsect_12k8[]; -extern const int16_t len_12k8[]; -extern const int16_t len1_12k8[]; -extern const int16_t sublen_12k8[]; -extern const int16_t sublen1_12k8[]; -extern const int16_t pit_max_12k8[]; -extern const int16_t sec_length_12k8[]; -extern const int16_t sec_length1_12k8[]; - -/*----------------------------------------------------------------------------------* - * LSF quantizer - *----------------------------------------------------------------------------------*/ - -extern const int16_t lsf_numlevels[TCXLPC_NUMSTAGES]; -extern const int16_t lsf_ind_numlevels[TCXLPC_IND_NUMSTAGES]; - -extern const int16_t lsf_unified_fit_model_nb[4][16]; -extern const int16_t lsf_unified_fit_model_wb[4][16]; -extern const int16_t lsf_unified_fit_model_wbhb[4][16]; - -extern const float Freq_Weight_Com[160]; -extern const float Freq_Weight_UV[160]; - -/*----------------------------------------------------------------------------------* - * Speech/music classification - *----------------------------------------------------------------------------------*/ - -extern const float w_spmus[HANG_LEN][HANG_LEN]; - -extern const float sm_means[]; -extern const float sm_scale[]; -extern const float hout_intervals[]; -extern const float bcox_add_cnst[N_SMC_FEATURES]; -extern const float bcox_lmbd[N_SMC_FEATURES]; -extern const float pca_mean_[]; -extern const float pca_components_[]; -extern const float weights_speech[]; -extern const float means_speech[]; -extern const float weights_music[]; -extern const float means_music[]; -extern const float weights_noise[]; -extern const float means_noise[]; -extern const float prec_chol_speech[]; -extern const float log_det_chol_speech[]; -extern const float prec_chol_music[]; -extern const float log_det_chol_music[]; -extern const float prec_chol_noise[]; -extern const float log_det_chol_noise[]; - -extern const float m_speech[]; -extern const float invV_speech[]; -extern const float lvm_speech[]; - -extern const float m_music[]; -extern const float invV_music[]; -extern const float lvm_music[]; - -extern const float m_noise[]; -extern const float invV_noise[]; -extern const float lvm_noise[]; - -extern const int16_t mel_fb_start[]; -extern const int16_t mel_fb_len[]; -extern const float mel_fb[]; -extern const float dct_mtx[]; - -extern const float SF[]; -extern const float SF_8k[]; - -/*----------------------------------------------------------------------------------* - * SWB TBE - *----------------------------------------------------------------------------------*/ - -extern const float lpc_weights[]; - -/*----------------------------------------------------------------------------------* - * WB, SWB and FB bandwidth detector - *----------------------------------------------------------------------------------*/ - -extern const float hann_window_320[]; - -/*----------------------------------------------------------------------------------* - * Huffman coding - *----------------------------------------------------------------------------------*/ - -extern const int16_t huffsizn_e[32]; -extern const int16_t huffsizn_n[32]; - -extern const int16_t huffnorm_e[32]; -extern const int16_t huffnorm_n[32]; -extern const int16_t hessize[8]; -extern const int16_t hescode[8]; - -/*----------------------------------------------------------------------------------* - * VAD - *----------------------------------------------------------------------------------*/ - -extern const int16_t BAND_NUM_TAB[5]; - -extern const float M_inr[16]; -extern const float M_ini[16]; -extern const float M_r[8]; -extern const float M_i[8]; -extern const float M_Wr[16]; -extern const float M_Wi[16]; - -extern const int16_t SP_CENTER_BAND_NUM_TAB[5]; -extern const float VAD_DELTA1[5]; -extern const float VAD_DELTA2[5]; - -extern const int16_t NREGION_INDEX_NB[9]; -extern const int16_t NREGION_INDEX_WB[13]; -extern const int16_t NREGION_INDEX_SWB[16]; -extern const int16_t NREGION_INDEX_FB[16]; -extern const int16_t ENERGY_BAND_NUM[4]; -extern const int16_t *REGION_INDEX[4]; -extern const float MAX_LF_SNR_TAB[4]; - -extern const float COMVAD_INIT_SNR_DELTA[5]; -extern const float LS_MIN_SELENCE_SNR[3]; -extern const float LT_MIN_SILENCE_SNR[3]; - -/*----------------------------------------------------------------------------------* - * Starting line for the noise measurement in TCX. - *----------------------------------------------------------------------------------*/ - -extern const int16_t startLineWB[N_TCX_STARTLINE_NOISE_WB]; -extern const int16_t startLineSWB[N_TCX_STARTLINE_NOISE_SWB]; - - -#endif diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h deleted file mode 100644 index de0451d3bc..0000000000 --- a/lib_enc/stat_enc.h +++ /dev/null @@ -1,1574 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef STAT_ENC_H -#define STAT_ENC_H - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "stat_com.h" -#include "cnst.h" -#include "ivas_cnst.h" - - -/*------------------------------------------------------------------------------------------* - * Indice - *------------------------------------------------------------------------------------------*/ - -typedef struct -{ - uint16_t value; /* value of the quantized indice */ - int16_t nb_bits; /* number of bits used for the quantization of the indice */ -} Indice; - -/*----------------------------------------------------------------------------------* - * Bitstream structure - *----------------------------------------------------------------------------------*/ - -typedef struct bitstream_enc_data_structure -{ - int16_t nb_bits_tot; /* total number of bits already written */ - Indice *ind_list; /* list of indices */ - int16_t next_ind; /* pointer to the next empty slot in the list of indices */ - int16_t last_ind; /* last written indice */ - -} BSTR_ENC_DATA, *BSTR_ENC_HANDLE; - -/*----------------------------------------------------------------------------------* - * General Signal buffers structure - *----------------------------------------------------------------------------------*/ - -typedef struct signal_buffers_enc_data_structure -{ - float input_buff[L_FRAME48k + L_FRAME48k + NS2SA( 48000, DELAY_FIR_RESAMPL_NS )]; - - float Bin_E_old[L_FFT / 2]; /* per bin energy of old 2nd frames */ - float mem_decim[2 * L_FILT_MAX]; /* decimation filter memory */ - float mem_decim16k[2 * L_FILT_MAX]; /* ACELP@16kHz - decimation filter memory @16kHz */ - float old_inp_12k8[L_INP_MEM]; /* memory of input signal at 12.8kHz */ - float old_inp_16k[L_INP_MEM]; /* ACELP@16kHz - memory of input signal @16 kHz */ - float buf_speech_enc_pe[L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k]; - float buf_synth[OLD_SYNTH_SIZE_ENC + L_FRAME32k]; /* can be reduced to PIT_MAX_MAX+L_FRAME_MAX if no rate switching */ - float buf_speech_enc[L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k]; - float buf_wspeech_enc[L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320]; /* increased by 320 to avoid memory overlap in find_wsp() and also to accomodate for the wspeech_enc */ - -} SIGNAL_BUFFERS_ENC_DATA, *SIGNAL_BUFFERS_ENC_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * Transient Detection structures - *------------------------------------------------------------------------------------------*/ - -/* Delay buffer: Used to buffer input samples and to define the subblock size of a transient detector. */ -typedef struct -{ - int16_t nSubblockSize; /* Subblock size of a transient detector that uses this delay buffer. */ - float buffer[L_FRAME_MAX / NSUBBLOCKS]; /* Delay buffer */ - int16_t nDelay; /* Size of the delay buffer in use. Maximum delay from all users of this buffer. */ - -} DelayBuffer; - -/* Subblock energies: Holds subblock energies and recursively accumulated energies. Also buffers the energies. */ -typedef struct -{ - DelayBuffer *pDelayBuffer; /* Delay buffer. */ - float subblockNrg[NSUBBLOCKS + MAX_TD_DELAY]; /* Subblock energies with a delay buffering. */ - float accSubblockNrg[NSUBBLOCKS + MAX_TD_DELAY + 1]; /* Recursively accumulated subblock energies with a delay buffering. - At index i the value corresponds to the accumulated subblock energy up to i-1, - including block i-1 and without block i. */ - float subblockNrgChange[NSUBBLOCKS + MAX_TD_DELAY]; /* subblockNrgChange[i] = max(subblockNrg[i]/subblockNrg[i-1], subblockNrg[i-1]/subblockNrg[i]) */ - int16_t nDelay; /* Size of the delay buffer in use, as number of subblocks. Maximum delay from all users of this buffer. */ - int16_t nPartialDelay; /* Delay of the input (modulo pDelayBuffer->nSubblockSize), nPartialDelay <= pDelayBuffer->nDelay. */ - - /* Decay factor for the recursive accumulation */ - float facAccSubblockNrg; - - /* High-pass filter states (delay line) */ - float firState1; - float firState2; - -} SubblockEnergies; - - -/* Attack detection function. */ -typedef void ( *TCheckSubblocksForAttack )( const float *pSubblockNrg, const float *pAccSubblockNrg, int16_t nSubblocks, int16_t nPastSubblocks, float attackRatioThreshold, int16_t *pbIsAttackPresent, int16_t *pAttackIndex ); - -/* Transient detector. */ -typedef struct TransientDetector -{ - SubblockEnergies *pSubblockEnergies; /* Subblock energies used in this transient detector. */ - int16_t nDelay; /* Delay of the transient detector in number of subblocks, nDelay <= pSubblockEnergies->nDelay. */ - int16_t nSubblocksToCheck; /* Number of subblocks to check for transients. */ - TCheckSubblocksForAttack CheckSubblocksForAttack; /* Function for checking a presence of an attack. */ - float attackRatioThreshold; /* Attack ratio threshold. */ - int16_t bIsAttackPresent; /* True when an attack was detected. */ - int16_t attackIndex; /* The index of an attack. */ - -} TransientDetector; - -/* Transient detection: Holds all transient detectors and buffers used by them. */ -typedef struct TransientDetection_structure -{ - TransientDetector transientDetector; /* Transient detector. */ - DelayBuffer delayBuffer; /* Delay buffer used by the transient detectors. */ - SubblockEnergies subblockEnergies; /* Subblock energies used by the transient detector. */ - -} TRAN_DET_DATA, *TRAN_DET_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * VAD structures - *------------------------------------------------------------------------------------------*/ - -typedef struct vad_structure -{ - int16_t nb_active_frames; - int16_t hangover_cnt; - int16_t nb_active_frames_he; - int16_t hangover_cnt_he; - int32_t vad_flag_reg_H; - int32_t vad_flag_reg_L; - int32_t vad_prim_reg; - - int16_t vad_flag_cnt_50; - int16_t vad_prim_cnt_16; - - int16_t hangover_cnt_dtx; - int16_t hangover_cnt_music; - - float bcg_flux; - int16_t soft_hangover; - int16_t voiced_burst; - int16_t bcg_flux_init; - int16_t nb_active_frames_he1; - int16_t hangover_cnt_he1; - - float prim_act_quick; /* Noise estimator - primary activity quick */ - float prim_act_slow; /* Noise estimator - primary activity slow */ - float prim_act; /* Noise estimator - primary activity slow rise quick fall */ - float prim_act_quick_he; /* Noise estimator - primary activity quick */ - float prim_act_slow_he; /* Noise estimator - primary activity slow */ - float prim_act_he; /* Noise estimator - primary activity slow rise quick fall */ - - int16_t spectral_tilt_reset; - int16_t consec_inactive; - float ra_deltasum; - int16_t trigger_SID; - float running_avg; - float snr_sum_vad; - - int16_t hangover_terminate_flag; /* CNG and DTX - flag indicating whether to early terminate DTX hangover */ - int16_t vad_flag; /* VAD flag */ - -} VAD_DATA, *VAD_HANDLE; - - -typedef struct cldfb_vad_structure -{ - int16_t bw_index; /* index of band width */ - - /* feature */ - float sp_center[SP_CENTER_NUM]; /* spectral center*/ - float ltd_stable_rate[STABLE_NUM]; /* time-domain stable rate*/ - float sfm[SFM_NUM]; /* spectral flatness*/ - float f_tonality_rate[TONA_NUM]; /* tonality rate*/ - float frame_sb_energy[BG_ENG_NUM]; /* energy of sub-band divided non-uniformly*/ - float frames_power[POWER_NUM]; /* energy of several frames*/ - float pre_spec_low_dif[PRE_SPEC_DIF_NUM]; /* low frequency spectral different*/ - float t_bg_energy; /* time background energy of several frames*/ - float t_bg_energy_sum; /* number of time background energy*/ - int16_t tbg_energy_count; /* sum of time background energy of several frames*/ - int16_t bg_update_count; /* time of background update*/ - float frame_energy_smooth; /* smoothed energy of several frames*/ - - /* history parameters */ - float smooth_spec_amp[SPEC_AMP_NUM]; /* smoothed spectral amplitude*/ - float sb_bg_energy[BG_ENG_NUM]; /* sub-band background energy*/ - float pre_snr[PRE_SNR_NUM]; /* previous time SNR*/ - float lt_snr_org; /* original long time SNR*/ - float lf_snr_smooth; /* smoothed lf_snr*/ - float l_silence_snr; /* sum of snr's of non active frames*/ - float l_speech_snr; /* sum of snr's of active frames*/ - int16_t l_silence_snr_count; /* number of non active frames*/ - int16_t l_speech_snr_count; /* number of active frames*/ - float fg_energy; /* foreground energy sum */ - float bg_energy; /* background energy sum */ - int16_t fg_energy_count; /* number of the foreground energy frame */ - int16_t bg_energy_count; /* number of the background energy frame */ - int16_t fg_energy_est_start; /* flag by that indicate whether if estimate energy*/ - int16_t speech_flag; /* residual number of hangover 1 */ - int16_t continuous_noise_num; /* time of continuous noise frames*/ - int16_t continuous_speech_num; /* time of continuous speech frames*/ - int16_t continuous_speech_num2; /* time 2 of continuous speech frames*/ - int16_t frameloop; /* number of frame*/ - float tonality_rate3; /* tonality rate*/ - float music_background_rate; /* music background rate*/ - float lt_noise_sp_center_diff_sum; /* different sum of long time noise sp_center*/ - float lt_noise_sp_center_diff_counter; /* number of the member lt_noise_sp_center_diff_sum*/ - float lt_noise_sp_center0; /* long time noise sp_center0*/ - float lt_noise_sp_center3; /* long time noise sp_center3*/ - float lt_bg_highf_eng; /* average of long time high frequency energy*/ - int16_t update_num_with_snr; /* the number of the background update with SNR*/ - int16_t update_count; - int16_t warm_hang_num; /* the number of hangover for warm up*/ - int16_t vad_flag_for_bk_update; - -} T_CldfbVadState, *VAD_CLDFB_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * DTX and TD CNG structure - *------------------------------------------------------------------------------------------*/ - -typedef struct td_cng_enc_structure -{ - int16_t lp_cng_mode2; - - float lp_ener; /* CNG and DTX - low-pass filtered energy for CNG */ - int16_t cng_seed; /* CNG and DTX - seed for white noise random generator */ - int16_t old_enr_index; /* CNG and DTX - index of last encoded CNG energy */ - float Enew; /* CNG and DTX - CNG target residual energy */ - int16_t cng_hist_ptr; /* CNG and DTX - pointer for averaging buffers */ - float cng_lsp_hist[DTX_HIST_SIZE * M]; /* CNG and DTX - old LSP buffer for averaging */ - float cng_ener_hist[DTX_HIST_SIZE]; /* CNG and DTX - log energy buffer for averaging */ - int16_t cng_ener_seed; /* CNG and DTX - seed for random generator for variation of excitation energy */ - int16_t cng_ener_seed1; - float lp_sp_enr; - int16_t last_allow_cn_step; - int16_t ho_hist_size; /* CNG and DTX - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ - int16_t ho_hist_ptr; /* CNG and DTX - pointer for averaging buffers */ - int32_t ho_sid_bw; /* CNG and DTX - SID bandwidth flags */ - float ho_lsp_hist[HO_HIST_SIZE * M]; /* CNG and DTX - old LSP buffer for averaging */ - float ho_ener_hist[HO_HIST_SIZE]; /* CNG and DTX - energy buffer for averaging */ - float ho_env_hist[HO_HIST_SIZE * NUM_ENV_CNG]; - int16_t act_cnt; /* CNG and DTX - counter of active frames */ - int16_t ho_circ_size; /* CNG and DTX - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ - int16_t ho_circ_ptr; /* CNG and DTX - pointer for averaging buffers */ - float ho_lsp_circ[HO_HIST_SIZE * M]; /* CNG and DTX - old LSP buffer for averaging */ - float ho_ener_circ[HO_HIST_SIZE]; /* CNG and DTX - energy buffer for averaging */ - float ho_env_circ[HO_HIST_SIZE * NUM_ENV_CNG]; - int16_t burst_ho_cnt; /* CNG and DTX - counter of hangover frames at end of active burst */ - int16_t cng_buf_cnt; /* CNG and DTX - Counter of buffered CNG parameters */ - float cng_exc2_buf[HO_HIST_SIZE * L_FFT]; /* CNG and DTX - exc2 buffer for storing */ - int32_t cng_brate_buf[HO_HIST_SIZE]; /* CNG and DTX - buffer for storing last_active_brate */ - float CNG_att; /* CNG and DTX - attenuation factor for CNG, in dB */ - int16_t ho_16k_lsp[HO_HIST_SIZE]; /* CNG and DTX - 16k LSPs flags */ - int16_t act_cnt2; /* CNG and DTX - counter of active frames for CNG_mode switching */ - float ho_lsp_circ2[HO_HIST_SIZE * M]; /* CNG and DTX - second buffer of LSPs */ - int16_t num_ho; /* CNG and DTX - number of selected hangover frames */ - float old_env[NUM_ENV_CNG]; - float lp_env[NUM_ENV_CNG]; - float cng_res_env[NUM_ENV_CNG * HO_HIST_SIZE]; - float exc_mem[24]; - float exc_mem1[30]; - float exc_mem2[30]; - - - /* SWB DTX/CNG parameters */ - int16_t last_vad; - float last_wb_cng_ener; - float last_shb_cng_ener; - float mov_wb_cng_ener; - float mov_shb_cng_ener; - int16_t last_idx_ener; - int16_t shb_cng_ini_cnt; - int16_t last_SID_bwidth; - int16_t shb_NO_DATA_cnt; - -} TD_CNG_ENC_DATA, *TD_CNG_ENC_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * FD CNG arrays and variables - *------------------------------------------------------------------------------------------*/ - -typedef struct fd_cng_enc_structure -{ - HANDLE_FD_CNG_COM hFdCngCom; - - float msPeriodog[NPART]; /* Periodogram */ - float msBminWin[NPART]; - float msBminSubWin[NPART]; - float msPsd[NPART]; /* Power Spectral Density estimate (i.e., smoothed periodogram) */ - float msAlpha[NPART]; /* Optimal smoothing parameter */ - float msMinBuf[MSNUMSUBFR * NPART]; /* Buffer of minima */ - float msCurrentMinOut[NPART]; - float msCurrentMin[NPART]; - float msCurrentMinSubWindow[NPART]; - int16_t msLocalMinFlag[NPART]; - int16_t msNewMinFlag[NPART]; - float msPsdFirstMoment[NPART]; - float msPsdSecondMoment[NPART]; - float msNoiseFloor[NPART]; /* Estimated noise floor */ - float msNoiseEst[NPART]; /* Estimated noise level */ - float energy_ho[NPART]; - float msNoiseEst_old[NPART]; - float msLogPeriodog[NPART]; /* Periodogram */ - float msLogNoiseEst[NPART]; /* Estimated noise level */ - - float msPeriodogBuf[MSBUFLEN * NPART]; - int16_t msPeriodogBufPtr; - - int16_t stopFFTbinDec; - int16_t startBandDec; - int16_t stopBandDec; - int16_t npartDec; - int16_t midbandDec[NPART]; - int16_t nFFTpartDec; - int16_t partDec[NPART]; - - float mem_coherence[4]; - -} FD_CNG_ENC, *HANDLE_FD_CNG_ENC; - -/*------------------------------------------------------------------------------------------* - * Structure for DTX-related variables used in both FD- and TD-CNG - *------------------------------------------------------------------------------------------*/ - -typedef struct dtx_enc_structure -{ - int16_t cnt_SID; /* CNG and DTX - counter of SID update for the interop. mode or DTX, if enabled */ - int16_t first_CNG; /* CNG and DTX - first CNG frame flag */ - int16_t cng_cnt; /* CNG and DTX - counter of CNG frames for averaging */ - int16_t max_SID; /* CNG and DTX - max allowed number of CNG FRAME_NO_DATA frames */ - int16_t CNG_mode; /* CNG and DTX - mode for DTX configuration */ - float lspCNG[M]; /* CNG and DTX - LP filtered ISPs */ - int16_t VarDTX_cnt_voiced; /* CNG and DTX - counter for variable DTX activation (speech) */ - int16_t VarDTX_cnt_noise; /* CNG and DTX - counter for variable DTX activation (noise) */ - float lt_ener_voiced; /* CNG and DTX - long-term energy of signal (measured on voiced parts) */ - float lt_ener_noise; /* CNG and DTX - long-term energy of background noise */ - float frame_ener; - int16_t cng_hist_size; /* CNG and DTX - size of CNG history buffer for averaging, <0,DTX_HIST_SIZE> */ - float lt_ener_last_SID; /* CNG and DTX - long-term energy of last SID frame */ - int16_t last_CNG_L_frame; /* CNG and DTX - last CNG frame length */ - int16_t var_SID_rate_flag; /* CNG and DTX - flag for variable SID rate */ - int16_t interval_SID; /* CNG and DTX - interval of SID update, default 8 */ - int32_t last_active_brate; /* CNG and DTX - last active frame bitrate used for CNG_mode control */ - -} DTX_ENC_DATA, *DTX_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * IGF structures - *----------------------------------------------------------------------------------*/ - -typedef struct igfscfenc_public_data_struct -{ - int16_t ptrBitIndex; - int16_t bitCount; - int16_t prev[64]; /* no more than 64 SCFs for the IGF energy envelope of one block */ - int16_t prevSave[64]; - int16_t scfCountLongBlock[IGF_NOF_GRIDS]; - int16_t t; - int16_t Tsave; - int16_t contex_saved; - const uint16_t *cf_se00; - const uint16_t *cf_se01; - int16_t cf_off_se01; - const uint16_t *cf_se02; - const int16_t *cf_off_se02; - const uint16_t *cf_se10; - int16_t cf_off_se10; - const uint16_t *cf_se11; - const int16_t *cf_off_se11; - Tastat acState; - -} IGFSCFENC_INSTANCE, *IGFSCFENC_INSTANCE_HANDLE; - - -typedef struct igf_enc_private_data_struct -{ - IGF_INFO igfInfo; - int16_t igfScfQuantized[IGF_MAX_SFB]; - IGFSCFENC_INSTANCE hIGFSCFArithEnc; - - float prevSFM_FIR_SFB_TB[IGF_MAX_SFB]; - float prevSFM_IIR_SFB_TB[IGF_MAX_SFB]; - float prevSFM_FIR_SFB_SB[IGF_MAX_SFB]; - float prevSFM_IIR_SFB_SB[IGF_MAX_SFB]; - int16_t logSpec[L_FRAME_PLUS]; - - float prevDampingFactor_IIR[IGF_MAX_SFB]; - int16_t dampingFactorSmoothing[IGF_MAX_SFB]; - float SFM_tb[IGF_MAX_SFB]; - float SFM_sb[IGF_MAX_SFB]; - - int16_t igfCurrWhiteningLevel[IGF_MAX_TILES]; - int16_t igfPrevWhiteningLevel[IGF_MAX_TILES]; - int16_t igfWhiteningHangoverCnt[IGF_MAX_TILES]; - float igfPastSFM[IGF_MAX_TILES][IGF_PAST_SFM_LEN]; - int16_t igfPastSFM_pos; - - float prevSFM_FIR[IGF_MAX_TILES]; - float prevSFM_IIR[IGF_MAX_TILES]; - int16_t wasTransient; - - UWord8 igfBitstream[IGF_BITBUFSIZE / 8]; - int16_t igfBitstreamBits; - -} IGF_ENC_PRIVATE_DATA, *IGF_ENC_PRIVATE_DATA_HANDLE; - - -typedef struct igf_enc_instance_struct -{ - IGF_ENC_PRIVATE_DATA igfData; - int32_t infoSamplingRate; - int16_t infoStartFrequency; - int16_t infoStopFrequency; - int16_t infoStartLine; - int16_t infoStopLine; - int16_t infoTotalBitsWritten; - int16_t infoTotalBitsPerFrameWritten; - int16_t flatteningTrigger; - float spec_be_igf[N_MAX_TCX - IGF_START_MN]; - float tns_predictionGain; - -} IGF_ENC_INSTANCE, *IGF_ENC_INSTANCE_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Noise estimation structure - *----------------------------------------------------------------------------------*/ - -typedef struct noise_estimation_structure -{ - float fr_bands1[NB_BANDS]; /* spectrum per critical bands of the previous frame */ - float fr_bands2[NB_BANDS]; /* spectrum per critical bands 2 frames ago */ - - float old_S[L_FFT / 2]; /* Tonal detector - prev. log-energy spectrum with subtracted floor */ - float cor_map[L_FFT / 2]; /* Tonal detector - LT correlation map */ - float noise_char; /* Tonal detector - LT noise character */ - float ave_enr2[NB_BANDS]; /* Tonal detector - LT average E per crit. band (for non_sta2) */ - float act_pred; /* Tonal detector - prediction of speech activity from 0 to 1 (0-inactive, 1-active) */ - float multi_harm_limit; /* Tonal detector - adaptive threshold */ - float enrO[NB_BANDS]; /* Noise estimator - previous energy per critical band */ - float bckr[NB_BANDS]; /* Noise estimator - background noise estimation per critical band */ - float ave_enr[NB_BANDS]; /* Noise estimator - long-term average energy per critical band */ - int16_t aEn; /* Noise estimator - noise estimator adaptation flag */ - float totalNoise; /* Noise estimator - total noise energy */ - int16_t first_noise_updt; /* Noise estimator - flag used to determine if the first noise update frame */ - int16_t first_noise_updt_cnt; /* Noise estimator - counter of frame after first noise update */ - int16_t harm_cor_cnt; /* Noise estimator - 1st memory counter of harm or correlation frame */ - int16_t bg_cnt; /* Noise estimator - pause length counter */ - float Etot_l; /* Noise estimator - Track energy from below */ - float Etot_h; /* Noise estimator - Track energy from above */ - float Etot_l_lp; /* Noise estimator - Smoothed low energy */ - float Etot_last; /* Noise estimator - Energy of last frame */ - float Etot_lp; /* Noise estimator - Filtered input energy */ - float lt_tn_track; - float lt_tn_dist; - float lt_Ellp_dist; - float lt_haco_ev; - int16_t low_tn_track_cnt; - float epsP_0_2_lp; - float epsP_0_2_ad_lp; - float epsP_2_16_lp; - float epsP_2_16_lp2; - float epsP_2_16_dlp_lp; - float epsP_2_16_dlp_lp2; - float lt_aEn_zero; - - float Etot_v_h2; - float sign_dyn_lp; - float Etot_st_est; /* Noise estimation - short term estimate of E{ Etot } */ - float Etot_sq_st_est; /* Noise estimation - short term estimate of E{ Etot^2 } */ - int16_t aEn_inac_cnt; -} NOISE_EST_DATA, *NOISE_EST_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Speech/music classifier structure - *----------------------------------------------------------------------------------*/ - -typedef struct sp_mus_clas_structure -{ - float FV_st[N_SMC_FEATURES]; /* Speech/music classifier - short-term mean of the feature vector */ - float past_PS[HIGHEST_FBIN - LOWEST_FBIN]; - float past_ps_diff; - float prev_FV[N_SMC_FEATURES]; - float past_epsP; - float past_epsP2; - int16_t inact_cnt; - float wdrop; - float wrise; - float wdlp_0_95_sp; - float wdlp_xtalk; - int16_t sp_mus_state; - int16_t past_dec[HANG_LEN - 1]; /* Speech/music classifier - buffer of past binary decisions */ - float past_dlp[HANG_LEN - 1]; /* Speech/music classifier - buffer of past non-binary decisions */ - float past_dlp_mean_ST[HANG_LEN - 1]; /* Speech/music classifier - buffer of past non-binary decisions (with ST smoothing) */ - float dlp_mean_ST; - int16_t flag_spitch_cnt; - float dlp_mean_LT; - float dlp_var_LT; - float last_lsp[M_LSP_SPMUS]; - float last_cor_map_sum; - float last_non_sta; - float past_log_enr[NB_BANDS_SPMUS]; /* Speech/music classifier - last average per-band log energy used for non_staX */ - float gsc_thres[4]; /* Speech/music classifier - classification threshold */ - float gsc_lt_diff_etot[MAX_LT]; /* Speech/music classifier - long-term total energy variation */ - float gsc_mem_etot; /* Speech/music classifier - total energy memory */ - int16_t gsc_last_music_flag; /* Speech/music classifier - last music flag */ - int16_t gsc_nb_thr_1; /* Speech/music classifier - number of consecutives frames of level 1 */ - int16_t gsc_nb_thr_3; /* Speech/music classifier - number of consecutives frames of level 3 */ - float mold_corr; - float mean_avr_dyn; /* Speech/music classifier - long term average dynamic */ - float last_sw_dyn; /* Speech/music classifier - last dynamic */ - float lt_dec_thres; /* Speech/music classifier - Long term speech/music thresold values */ - float ener_RAT; /* Speech/music classifier - LF/to total energy ratio */ - - int16_t relE_attack_cnt; - float prev_relE; - float prev_Etot; - int16_t prev_vad; - int16_t vad_0_1_cnt; - float relE_attack_sum; - - /* speech/music classifier improvement parameters */ - float old_Bin_E[3 * N_OLD_BIN_E]; - float buf_flux[BUF_LEN]; - float buf_pkh[BUF_LEN]; - float buf_epsP_tilt[BUF_LEN]; - float buf_cor_map_sum[BUF_LEN]; - float buf_Ntonal[BUF_LEN]; - float buf_Ntonal2[BUF_LEN]; - float buf_Ntonal_lf[BUF_LEN]; - float buf_dlp[10]; - int16_t onset_cnt; - float buf_etot[4]; - int16_t attack_hangover; - float dec_mov; - float dec_mov1; - float mov_log_max_spl; - float old_lt_diff[2]; - int16_t UV_cnt1; - float LT_UV_cnt1; - - float finc_prev[ATT_NSEG]; /* strong attack detection - previous finc */ - float lt_finc; /* strong attack detection - long-term finc energy */ - int16_t last_strong_attack; /* strong attack detection - last strong attack flag */ - float tod_lt_Bin_E[TOD_NSPEC]; /* tonal detector - long-term energy spectrum */ - float tod_S_map_lt[TOD_NSPEC]; /* tonal detector - long-term correlation map */ - float tod_thr_lt; /* tonal detector - adaptive threshold */ - float tod_weight; /* tonal detector - adaptive weight */ - float tod_S_mass_prev; - float tod_S_mass_lt; - - int16_t lt_music_hangover; - float tonality2_buf[HANG_LEN_INIT]; - float tonality3_buf[HANG_LEN_INIT]; - float LPCErr_buf[HANG_LEN_INIT]; - int16_t lt_music_state; - int16_t lt_speech_state; - int16_t lt_speech_hangover; - float lpe_buf[HANG_LEN_INIT]; - float voicing_buf[HANG_LEN_INIT]; - int16_t gsc_hangover; - float sparse_buf[HANG_LEN_INIT]; - float hf_spar_buf[HANG_LEN_INIT]; - float LT_sparse; - int16_t gsc_cnt; - - /* speech/music classification */ - int16_t last_vad_spa; - int16_t lt_old_mode[3]; - float lt_voicing; - float lt_corr; - float lt_tonality; - int16_t lt_corr_pitch[3]; - int16_t lt_hangover; - float lowrate_pitchGain; - - float tdm_lt_Etot; - float var_cor_t[VAR_COR_LEN]; - int16_t high_stable_cor; - - float lps; - float lpm; - float lpn; - -} SP_MUS_CLAS_DATA, *SP_MUS_CLAS_HANDLE; - - -/*----------------------------------------------------------------------------------* - * ACELP core structure - *----------------------------------------------------------------------------------*/ - -typedef struct lpd_state_structure -{ - /* signal memory */ - float syn[1 + M]; /* Synthesis memory (non-pe) */ - - /* ACELP memories*/ - float old_exc[L_EXC_MEM]; /* ACELP exc memory (Aq) */ - float mem_w0; - float mem_syn[M]; /* ACELP synthesis memory (pe) before post-proc */ - float mem_syn1[M]; - float mem_syn2[M]; /* ACELP synthesis memory (pe) after post-proc */ - float mem_syn_r[L_SYN_MEM]; /* ACELP synthesis memory for 1.25ms */ - float mem_syn3[M]; - - float tilt_code; - float gc_threshold; /* Noise enhancer - threshold for gain_code */ - float dispMem[8]; /* Noise enhancer - phase dispersion algorithm memory */ - -} LPD_state, *LPD_state_HANDLE; - - -/* Structure for storing correlations between ACELP codebook components and target */ -typedef struct acelp_cbkcorr_structure -{ - float xx; /* energy of target x */ - float y1y1; /* energy of adaptive cbk contribution y1 */ - float y2y2; /* energy of fixed cbk contribution y2 */ - float xy1; /* correlation of x and y1 */ - float xy2; /* correlation of x and y2 */ - float y1y2; /* correlation of y1 and y2 */ -} ACELP_CbkCorr; - - -/*----------------------------------------------------------------------------------* - * GSC static variables - *----------------------------------------------------------------------------------*/ - -typedef struct gsc_enc_structure -{ - int16_t seed_tcx; /* AC mode (GSC) - seed for noise fill */ - int16_t cor_strong_limit; /* AC mode (GSC) - Indicator about high spectral correlation per band */ - int16_t mem_last_pit_band; /* AC mode (GSC) - memory of the last band where pitch contribution was significant */ - float mem_w0_tmp; - float mem_syn_tmp[M]; - float mid_dyn; /* AC mode (GSC) - signal dynamic */ - int16_t noise_lev; /* AC mode (GSC) - noise level */ - int16_t past_dyn_dec; /* AC mode (GSC) - Past noise level decision */ - float Last_frame_ener; /* AC mode (GSC) - Last frame energy */ - int16_t pit_exc_hangover; /* AC mode (GSC) - Hangover for the time contribution switching */ - float last_exc_dct_in[L_FRAME16k]; /* AC mode (GSC) - previous excitation */ - float last_ener; /* AC mode (GSC) - previous energy */ - int16_t last_bitallocation_band[6]; /* AC mode (GSC) - previous bit allocation of each band */ - float lt_gpitch; - -} GSC_ENC_DATA, *GSC_ENC_HANDLE; - -/*----------------------------------------------------------------------------------* - * HQ core structure - *----------------------------------------------------------------------------------*/ - -typedef struct hq_enc_structure -{ - int16_t mode_count; /* HQ_HARMONIC mode count */ - int16_t mode_count1; /* HQ_NORMAL mode count */ - int16_t prev_Npeaks; /* number of peaks in previous frame */ - int16_t prev_peaks[HVQ_MAX_PEAKS]; /* indices of the peaks in previous frame */ - int16_t hvq_hangover; - int16_t prev_hqswb_clas; - int16_t prev_SWB_peak_pos[SPT_SHORTEN_SBNUM]; - - int16_t hq_generic_speech_class; - float crest_lp; /* Low-pass filtered crest of high band */ - float crest_mod_lp; /* Low-pass filtered noise band detection */ - - /* SWB BWE LR classification */ - int16_t prev_frm_index[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; - int16_t prev_frm_hfe2; - int16_t prev_stab_hfe2; - float prev_ni_ratio; - float prev_En_sb[NB_SWB_SUBBANDS]; - int16_t last_bitalloc_max_band[2]; - float last_ni_gain[BANDS_MAX]; - float last_env[BANDS_MAX]; - int16_t last_max_pos_pulse; - -} HQ_ENC_DATA, *HQ_ENC_HANDLE; - -/* PVQ range coder state */ -typedef struct pvq_enc_structure -{ - uint32_t rc_low; - uint32_t rc_range; - int16_t rc_cache; - int16_t rc_carry; - int16_t rc_carry_count; - int16_t rc_num_bits; - int16_t rc_tot_bits; - int16_t rc_offset; - -} PVQ_ENC_DATA, *PVQ_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * SC-VBR structure - *----------------------------------------------------------------------------------*/ - -typedef struct sc_vbr_enc_structure -{ - float vadsnr; - float vadnoise; - - /* NELP variables */ - float shape1_filt_mem[20]; - float shape2_filt_mem[20]; - float shape3_filt_mem[20]; - float txlpf1_filt1_mem[20]; - float txlpf1_filt2_mem[20]; - float txhpf1_filt1_mem[20]; - float txhpf1_filt2_mem[20]; - float bp1_filt_mem_wb[8]; - float nelp_lp_fit_mem[NELP_LP_ORDER * 2]; - float bp1_filt_mem_nb[14]; - int16_t nelp_enc_seed; - float nelp_gain_mem; - int16_t last_nelp_mode; - int16_t nelp_mode; - - /* PPP variables */ - int16_t pppcountE; - int16_t bump_up; - int16_t last_ppp_mode; - int16_t last_last_ppp_mode; - int16_t ppp_mode; - float prev_ppp_gain_pit; - float prev_tilt_code; - - /* voiced encoder variables */ - int16_t firstTime_voicedenc; - - /* DTFS variables */ - float dtfs_enc_a[MAXLAG_WI]; - float dtfs_enc_b[MAXLAG_WI]; - int16_t dtfs_enc_lag; - int16_t dtfs_enc_nH; - int16_t dtfs_enc_nH_4kHz; - float dtfs_enc_upper_cut_off_freq_of_interest; - float dtfs_enc_upper_cut_off_freq; - - float prev_cw_en; - float ph_offset_E; - float lastLgainE; /* Previous gain value for the low band */ - float lastHgainE; /* Previous gain value for the high band */ - float lasterbE[NUM_ERB_WB]; /* Previous Amplitude spectrum (ERB) */ - - int16_t mode_QQF; - int16_t rate_control; - float SNR_THLD; - int16_t Q_to_F; - int16_t pattern_m; - int16_t patterncount; - int16_t Last_Resort; - int16_t numactive; /* keep the count of the frames inside current 600 frame block */ - float sum_of_rates; /* sum of the rates of past 600 active frames */ - float global_avr_rate; /* global rate up to current time. recorded a (rate in kbps) * 6000 */ - int16_t global_frame_cnt; /* 600 active frame block count. Used to update the global rate */ - int16_t set_ppp_generic; - int16_t avoid_HQ_VBR_NB; - - int16_t vbr_generic_ho; - int16_t Local_VAD; - int16_t last_7k2_coder_type; - -} SC_VBR_ENC_DATA, *SC_VBR_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * AMR-WB IO mode structure - *----------------------------------------------------------------------------------*/ - -typedef struct amrwb_io_enc_structure -{ - float past_qua_en[4]; /* gain quantization memory (used also in AMR-WB IO mode) */ - - /* HF WB BWE for AMR-WB IO mode at 23.85 kbps */ - float gain_alpha; - float mem_hf2_enc[L_FIR - 1]; - float mem_hp400_enc[4]; - float mem_hf_enc[L_FIR - 1]; - float mem_syn_hf_enc[M]; - int16_t seed2_enc; - -} AMRWB_IO_ENC_DATA, *AMRWB_IO_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * TD BWE structure - *----------------------------------------------------------------------------------*/ - -typedef struct td_bwe_enc_structure -{ - float old_speech_shb[L_LOOK_16k + L_SUBFR16k]; /* Buffer memories */ - float old_speech_wb[( L_LOOK_12k8 + L_SUBFR ) * 5 / 16]; /* Buffer memories */ - float old_input_fhb[NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2]; - float prev_lsp_shb[LPC_SHB_ORDER]; - float state_ana_filt_shb[2 * ALLPASSSECTIONS_STEEP + 1]; /* states for the analysis filters */ - float cldfbHBLT; - /* states for the filters used in generating SHB excitation from WB excitation*/ - float mem_csfilt[2]; - float mem_shb_res[MAX_LEN_MA_FILTER]; /* old SHB residual signal */ - float old_EnvSHBres[L_FRAME4k]; /* old TD envelope of the SHB residual signal */ - float old_mean_EnvSHBres; /* energy of the last subframe of the SHB residual signal from previous frame */ - float prev_enr_EnvSHBres; /* energy of the residual SHB envelope from the previous frame */ - float prev_shb_env_tilt; /* tilt of the residual SHB envelope from the previous frame */ - float prev_pow_exc16kWhtnd; /* power of the LB excitation signal in the previous frame */ - float prev_mix_factor; /* mixing factor in the previous frame */ - float prev_Env_error; /* error in SHB envelope modelling */ - - /* states for the filters used in generating SHB signal from SHB excitation*/ - float state_syn_shbexc[L_SHB_LAHEAD]; - float state_lpc_syn[LPC_SHB_ORDER]; - float old_bwe_exc[PIT16k_MAX * 2]; /* old excitation */ - int16_t bwe_seed[2]; - float bwe_non_lin_prev_scale; - float old_bwe_exc_extended[NL_BUFF_OFFSET]; - float syn_overlap[L_SHB_LAHEAD]; /* overlap buffer used to Adjust SHB Frame Gain*/ - float decim_state1[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float decim_state2[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float mem_genSHBexc_filt_down_wb2[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float mem_genSHBexc_filt_down_wb3[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - float mem_genSHBexc_filt_down_shb[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; - - float elliptic_bpf_2_48k_mem[4][4]; - float prev_fb_energy; - float prev_gainFr_SHB; - float lsp_shb_slow_interpl[LPC_SHB_ORDER]; - float lsp_shb_fast_interpl[LPC_SHB_ORDER]; - float shb_inv_filt_mem[LPC_SHB_ORDER]; - float lsp_shb_spacing[3]; - float prev_swb_GainShape; - int16_t prev_frGainAtten; - - float prev_wb_GainShape; - float swb_lsp_prev_interp[LPC_SHB_ORDER]; - float fb_state_lpc_syn[LPC_SHB_ORDER]; - float fb_tbe_demph; - float tilt_mem; - - int16_t prev_coder_type; - float prev_lsf_diff[LPC_SHB_ORDER - 2]; - float prev_tilt_para; - float cur_sub_Aq[M + 1]; - - /* quantized data */ - int16_t lsf_idx[NUM_Q_LSF]; - int16_t m_idx; - int16_t grid_idx; - int16_t idxSubGains; - int16_t idxFrameGain; - int16_t idx_shb_fr_gain; - int16_t idx_res_gs[NB_SUBFR16k]; - int16_t idx_mixFac; - - int16_t lsf_WB; - int16_t gFrame_WB; - - int16_t idxGain; - float dec_2_over_3_mem[L_FILT_2OVER3]; - float dec_2_over_3_mem_lp[L_FILT_2OVER3_LP]; - - float tbe_demph; - float tbe_premph; - float mem_stp_swb[LPC_SHB_ORDER]; - float *ptr_mem_stp_swb; - float gain_prec_swb; - float mem_zero_swb[LPC_SHB_ORDER]; - -} TD_BWE_ENC_DATA, *TD_BWE_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * FD BWE structure - *----------------------------------------------------------------------------------*/ - -typedef struct fd_bwe_enc_structure -{ - float new_input_hp[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS - DELAY_CLDFB_NS )]; - float old_input[NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS )]; - float old_input_wb[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; - float old_input_lp[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS )]; - float old_syn_12k8_16k[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; - float old_fdbwe_speech[L_FRAME48k]; - float mem_deemph_old_syn; - int16_t prev_mode; - float old_wtda_swb[L_FRAME48k]; - int16_t prev_L_swb_norm1; - float prev_global_gain; - int16_t modeCount; - float EnergyLF; - float mem_old_wtda_swb; - -} FD_BWE_ENC_DATA, *FD_BWE_ENC_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Channel-aware mode - *----------------------------------------------------------------------------------*/ - -typedef struct rf_enc_structure -{ - int16_t rf_frame_type; - int16_t rf_targetbits_buff[MAX_RF_FEC_OFFSET]; - int16_t rf_indx_frametype[MAX_RF_FEC_OFFSET]; - - ACELP_config acelp_cfg_rf; /* configuration for RF frame */ - - float rf_mem_w0; - float rf_clip_var[6]; - float rf_tilt_code; - float rf_mem_syn2[M]; - float rf_dispMem[8]; - float rf_gc_threshold; - - int16_t rf_target_bits; - float rf_tilt_buf[NB_SUBFR16k]; - - int16_t rf_indx_lsf[MAX_RF_FEC_OFFSET][3]; - int16_t rf_indx_pitch[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; - int16_t rf_indx_fcb[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; - int16_t rf_indx_gain[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; - int16_t rf_indx_EsPred[MAX_RF_FEC_OFFSET]; - int16_t rf_indx_ltfMode[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; - - int16_t rf_indx_nelp_fid[MAX_RF_FEC_OFFSET]; - int16_t rf_indx_nelp_iG1[MAX_RF_FEC_OFFSET]; - int16_t rf_indx_nelp_iG2[MAX_RF_FEC_OFFSET][2]; - - int16_t rf_indx_tbeGainFr[MAX_RF_FEC_OFFSET]; - - int16_t rf_tcxltp_pitch_int_past; - int16_t rf_last_tns_active; - int16_t rf_second_last_tns_active; - int16_t rf_second_last_core; - int16_t rf_clas[MAX_RF_FEC_OFFSET]; - int16_t rf_gain_tcx[MAX_RF_FEC_OFFSET]; - int16_t rf_tcxltp_param[MAX_RF_FEC_OFFSET]; - - int16_t RF_bwe_gainFr_ind; - -} RF_ENC_DATA, *RF_ENC_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * PLC encoder - *------------------------------------------------------------------------------------------*/ - -typedef struct plc_enc_evs_structure -{ - int16_t nBits; /* number of bits */ - - int16_t enableGplc; - int16_t T0_4th; - int16_t T0; - int16_t calcOnlylsf; - int16_t pit_min; - int16_t pit_max; - - float mem_MA[M]; - float mem_AR[M]; - - float lsfold[M]; /* old lsf (frequency domain) */ - float lspold[M]; /* old lsp (immittance spectral pairs) */ - - float lsfoldbfi0[M]; /* Previous frame lsf */ - float lsfoldbfi1[M]; /* Past previous frame lsf */ - float lsf_adaptive_mean[M]; /* Mean lsf for bfi cases */ - float stab_fac; - - LPD_state *LPDmem; - float old_exc[8]; /* ACELP exc memory (Aq) */ - - float lsf_con[M]; - float last_lsf_ref[M]; - float last_lsf_con[M]; - -} PLC_ENC_EVS, *PLC_ENC_EVS_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * TEC structure - *------------------------------------------------------------------------------------------*/ - -typedef struct tec_enc_structure -{ - float loBuffer[CLDFB_NO_COL_MAX + MAX_TEC_SMOOTHING_DEG + DELAY_TEMP_ENV_BUFF_TEC]; - float loTempEnv[CLDFB_NO_COL_MAX]; - float loTempEnv_ns[CLDFB_NO_COL_MAX]; - float hiTempEnv[CLDFB_NO_COL_MAX + DELAY_TEMP_ENV_BUFF_TEC + EXT_DELAY_HI_TEMP_ENV]; - int16_t tranFlag; - int16_t corrFlag; - -} TEC_ENC_DATA, *TEC_ENC_HANDLE; - - -/*------------------------------------------------------------------------------------------* - * TCX encoder - *------------------------------------------------------------------------------------------*/ - -typedef struct tcx_enc_structure -{ - int16_t L_frameTCX; - - int16_t tcxMode; /* Chosen TCX mode for this frame */ - int16_t transform_type[2]; /* TCX20/10/5 mode in each subframe */ - - /* Core Signal Analysis Outputs */ - float *spectrum[2]; /* MDCT output for a short block */ - float spectrum_long[N_MAX]; /* MDCT output for a long block. Points to spectrum */ - - float noiseTiltFactor; /* compensation for LPC tilt in noise filling */ - int16_t noiseLevelMemory_cnt; /* counter of consecutive low TCX noise levels */ - float ltpGainMemory[N_LTP_GAIN_MEMS]; /* for smoothing noiseTransWidth */ - STnsData tnsData[2]; - int16_t fUseTns[2]; - int16_t bTnsOnWhithenedSpectra[2]; - - int16_t memQuantZeros[L_FRAME_PLUS]; /* Quantization deadzone flags */ - - float *speech_TCX; - float *new_speech_TCX; - - int16_t tcxltp; - int16_t tcxltp_pitch_int; - int16_t tcxltp_pitch_fr; - float tcxltp_gain; - int16_t tcxltp_pitch_int_past; - int16_t tcxltp_pitch_fr_past; - float tcxltp_gain_past; - float tcxltp_norm_corr_past; - float tcxltp_norm_corr_mem; - float kernel_switch_corr_past; - uint16_t kernel_type[2]; /* transform kernel type in each subframe (MDCT or MDST) */ - uint16_t kernel_symmetry_past; /* last TDA symmetry (0 for MDCT, 1 for MDST type) */ - uint16_t enc_ste_pre_corr_past; - float tfm_mem; /* state of IIR filtered temporal flatness measure */ - float buf_speech_ltp[L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k]; - float *speech_ltp; - float *new_speech_ltp; - int16_t tcxltp_filt_idx; - int16_t tcxltp_bits; - int16_t tcxltp_param[LTPSIZE]; - int16_t tcxltp_on_mem; - - float measuredBwRatio; /* measured bw; used for TCX noise-filling */ - int16_t nmStartLine; /* Starting line for the noise measurement */ - - int16_t tcx_lpc_shaped_ari; - - float old_out[L_FRAME32k]; - - /* MDCT switching */ - float prev_hi_ener; - int16_t prev_hi_sparse; - float clas_sec_old; - int16_t clas_final_old; - float last_gain1; - float last_gain2; - - /* TCX memory */ - float Txnq[L_FRAME32k / 2 + 64]; /* Q target (overlap or ACELP+ZIR, use Aq) */ - float *acelp_zir; - float tcx_target_bits_fac; - -} TCX_ENC_DATA, *TCX_ENC_HANDLE; -/*----------------------------------------------------------------------------------* - * - * Main Core encoder structure - * - *----------------------------------------------------------------------------------*/ - -typedef struct enc_core_structure -{ - /*----------------------------------------------------------------------------------* - * Common parameters - *----------------------------------------------------------------------------------*/ - - int16_t idchan; /* channel ID (audio channel number) */ - int16_t element_mode; /* element mode */ -#ifdef DEBUGGING - int16_t id_element; /* element ID */ -#endif - int32_t element_brate; /* element bitrate */ - int16_t codec_mode; /* Mode1 or Mode2 */ - int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ - int16_t last_codec_mode_cng; /* previous inactive frame Mode 1 or 2 */ - - /* MDCT switching */ - int16_t mdct_sw_enable; /* MDCT switching enable flag */ - int16_t mdct_sw; /* MDCT switching indicator */ - - BSTR_ENC_HANDLE hBstr; /* encoder bitstream handle */ - int16_t bitstreamformat; /* Bitstream format flag (G.192/MIME) */ - - int32_t input_Fs; /* input signal sampling frequency in Hz */ - int32_t total_brate; /* total bitrate in kbps of the codec */ - int32_t last_total_brate; /* last frame's total bitrate in kbps of the codec */ - int32_t last_total_brate_cng; /* last inactive frame's total bitrate in kbps of the codec */ - int16_t core; /* core (ACELP_CORE, TCX_20_CORE, TCX_10_CORE, HQ_CORE, AMR_WB_CORE) */ - int16_t last_core; /* previous frame core */ - int16_t coder_type; /* core coder type */ - int16_t flag_ACELP16k; /* flag indicating use of ACELP core at 16kHz internal sampling rate */ - int32_t core_brate; /* core bitrate */ - int32_t last_core_brate; /* previous frame core bitrate */ - int16_t extl; /* extension layer */ - int16_t last_extl; /* previous extension layer */ - int32_t extl_brate; /* extension layer bitrate */ - int16_t input_bwidth; /* input signal bandwidth */ - int16_t bwidth; /* encoded bandwidth NB, WB, SWB or FB */ - int16_t max_bwidth; /* maximum encoded bandwidth */ - int16_t last_input_bwidth; /* input signal bandwidth in the previous frame */ - int16_t last_bwidth; /* coded bandwidth in the previous frame */ - int16_t last_bwidth_cng; /* coded bandwidth in the previous inactive frame */ - int16_t bwidth_sw_cnt; /* bandwidth switching counter */ - int16_t L_frame; /* ACELP core internal frame length */ - int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ - int16_t Opt_DTX_ON; /* flag indicating DTX operation */ - int16_t cng_type; /* flag indicating LP or CLDFB based SID/CNG */ - int16_t cng_sba_flag; /* flag indicating CNG/SID for SBA 2TC */ - int16_t Opt_SC_VBR; /* flag indicating SC-VBR mode */ - int16_t last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ - int16_t low_rate_mode; /* low-rate mode flag */ -#ifdef DEBUGGING - int16_t force; /* flag indicating specific signal type (0 = speech, 1 = music, -1 = N/A) */ -#endif - - int16_t ini_frame; /* initialization frames counter */ - - /*----------------------------------------------------------------------------------* - * ACELP core parameters - *----------------------------------------------------------------------------------*/ - - int16_t clas; /* current frame clas */ - int16_t last_clas; /* previous frame signal classification */ - float prev_fmerit; /* previous signal classification score*/ - float fmerit_dt; /* signal classification score difference */ - int16_t Nb_ACELP_frames; - - int16_t pitch[3]; /* open-loop pitch values @12.8 kHz for three half-frames */ - float voicing[3]; /* open-loop normalized correlation values for three half-frames */ - - LPD_state_HANDLE hLPDmem; /* ACELP LPDmem memories */ - - float Bin_E[L_FFT]; /* per bin energy of two frames */ - float lsp_old1[M]; /* old unquantized LSP vector at the end of the frame at 12k8 */ - float lsf_old1[M]; /* old unquantized LSF vector at the end of the frame at 12k8 */ - float lsp_old[M]; /* old LSP vector at the end of the frame */ - float lsf_old[M]; /* old LSF vector at the end of the frame */ - float lsp_old16k[M]; /* old LSP vector at the end of the frame @16kHz */ - float lspold_enc[M]; /* old lsp (immittance spectral pairs) */ - int16_t pstreaklen; /* LSF quantizer */ - float streaklimit; /* LSF quantizer */ - float stab_fac; /* LSF stability factor */ - float mem_preemph; /* preemphasis filter memory */ - float old_wsp[L_WSP_MEM]; /* old weighted signal vector */ - float old_wsp2[( L_WSP_MEM - L_INTERPOL ) / OPL_DECIM]; /* old decimated weighted signal vector */ - float mem_wsp; /* weighted signal vector memory */ - float mem_decim2[3]; /* weighted signal decimation filter memory */ - - float clip_var[6]; /* pitch gain clipping memory */ - float mem_AR[M]; /* AR memory of LSF quantizer (past quantized LSFs without mean) */ - float mem_MA[M]; /* MA memory of LSF quantizer (past quantized residual) (used also in AMR-WB IO mode) */ - - int16_t GSC_noisy_speech; /* AC mode (GSC) - flag to indicate GSC on SWB noisy speech */ - int16_t GSC_IVAS_mode; - GSC_ENC_HANDLE hGSCEnc; - - int16_t Last_pulse_pos; /* FEC - last position of the first glottal pulse in the frame */ - float lsfoldbfi0[M]; /* FEC - LSF vector of the previous frame */ - float lsfoldbfi1[M]; /* FEC - LSF vector of the past previous frame */ - float lsf_adaptive_mean[M]; /* FEC - adaptive mean LSF vector for FEC */ - int16_t next_force_safety_net; /* FEC - flag to force safety net in next frame */ - - int16_t uv_count; /* Stationary noise UV modification - unvoiced counter */ - int16_t act_count; /* Stationary noise UV modification - activation counter */ - float ge_sm; /* Stationary noise UV modification - smoothed excitation gain */ - float lspold_s[M]; /* Stationary noise UV modification - old LSP vector */ - int16_t noimix_seed; /* Stationary noise UV modification - mixture seed */ - float min_alpha; /* Stationary noise UV modification - minimum alpha */ - float exc_pe; /* Stationary noise UV modification - memory of the preemphasis filter */ - - int16_t coder_type_raw; /* raw coder_type (before UNVOICED is lost) */ - int16_t last_coder_type_raw; /* raw last_coder_type (coming from the sigal classification) */ - int16_t last_coder_type; /* previous coding type */ - float old_thres; /* normalized correlation weighting in open-loop pitch */ - float old_corr; /* normalized correlation in previous frame (mean value) */ - int16_t old_pitch; /* previous pitch for open-loop pitch search */ - int16_t delta_pit; /* open-loop pitch extrapolation correction */ - float ee_old; /* previous frame low/high frequency energy ratio */ - int16_t min_band; /* minimum critical band of useful bandwidth */ - int16_t max_band; /* maximum critical band of useful bandwidth */ - int16_t tc_cnt; /* TC frame counter */ - int16_t audio_frame_cnt; /* Counter of relative presence of audio frames */ - float old_dE1; /* Maximum energy increase in previous frame */ - int16_t old_ind_deltaMax; /* Index of the sub-subframe of maximum energy in previous frame */ - float old_enr_ssf[2 * NB_SSF]; /* Maxima of energies per sub-subframes of previous frame */ - int16_t spike_hyst; /* Hysteresis to prevent UC after sharp energy spike */ - int16_t last_harm_flag_acelp; /* harmonicity flag for ACELP @32kbps rate */ - float old_Aq_12_8[M + 1]; /* old Aq[] for core switching */ - float old_Es_pred; /* old Es_pred for core switching */ - - int16_t last_L_frame; /* ACELP@16kHz - last L_frame value */ - float mem_preemph16k; /* ACELP@16kHz - preemphasis filter memory @16kHz */ - float mem_deemp_preQ; /* ACELP@16kHz - prequantizer deemhasis memory */ - float mem_preemp_preQ; /* ACELP@16kHz - prequantizer preemhasis memory */ - int16_t last_nq_preQ; /* ACELP@16kHz - AVQ subquantizer number of the last sub-band of the last subframe */ - int16_t last_code_preq; /* ACELP@16kHz - last coefficient of the pre-quantizer contribution */ - int16_t use_acelp_preq; /* ACELP@16kHz - flag of prequantizer usage */ - - int16_t bpf_off; /* Bass post-filter - do not use BPF when this flag is set to 1 */ - float old_pitch_buf[2 * NB_SUBFR16k]; /* Bass post-filter - buffer of old subframe pitch values */ - float pst_mem_deemp_err; /* Bass post-filter - filter memory of noise LP filter */ - float pst_lp_ener; /* Bass post-filter - long-term energy */ - - /* stable short pitch detection */ - float voicing0_sm; - float voicing_sm; - float LF_EnergyRatio_sm; - int16_t predecision_flag; - float diff_sm; - float energy_sm; - - int16_t sharpFlag; - - int16_t flag_noisy_speech_snr; /* encoder detector for noisy speech */ - int16_t Pos_relE_cnt; /* Number of frames between relE */ - - int16_t tdm_pc; /* pitch stability - used in TD stereo */ - - - /*----------------------------------------------------------------------------------* - * General signal buffers - *----------------------------------------------------------------------------------*/ - - float *input_buff; - float *input; - float *old_input_signal; - - SIGNAL_BUFFERS_ENC_HANDLE hSignalBuf; - - float *Bin_E_old; /* per bin energy of old 2nd frames */ - float *mem_decim; /* decimation filter memory */ - float *mem_decim16k; /* ACELP@16kHz - decimation filter memory @16kHz */ - float *old_inp_12k8; /* memory of input signal at 12.8kHz */ - float *old_inp_16k; /* ACELP@16kHz - memory of input signal @16 kHz */ - float *buf_speech_enc_pe; - float *buf_synth; /*can be reduced to PIT_MAX_MAX+L_FRAME_MAX if no rate switching*/ - float *buf_speech_enc; - float *buf_wspeech_enc; - - /*----------------------------------------------------------------------------------* - * Noise estimation - *----------------------------------------------------------------------------------*/ - - NOISE_EST_HANDLE hNoiseEst; - - /*----------------------------------------------------------------------------------* - * Speech/music classifier - *----------------------------------------------------------------------------------*/ - - SP_MUS_CLAS_HANDLE hSpMusClas; - - int16_t sp_aud_decision0; /* 1st stage speech/music decision flag */ - int16_t sp_aud_decision1; /* 1st stage speech/music classification flag */ - int16_t sp_aud_decision2; /* 2nd stage speech/music classification flag */ - - /*----------------------------------------------------------------------------------* - * VAD/DTX/CNG - *----------------------------------------------------------------------------------*/ - - VAD_HANDLE hVAD; - - VAD_CLDFB_HANDLE hVAD_CLDFB; - - int16_t vad_flag; /* i : VAD flag */ - int16_t localVAD; /* i : local VAD flag */ - - float bckr_tilt_lt; - float lp_speech; - float lp_noise; /* CNG and DTX - LP filterend total noise estimation */ - int16_t active_cnt; /* counter of active frames */ - - TD_CNG_ENC_HANDLE hTdCngEnc; - - DTX_ENC_HANDLE hDtxEnc; /* Struct for DTX-related data used by both FD- and LP-CNG */ - - /*----------------------------------------------------------------------------------* - * AMR-WB IO handle - *----------------------------------------------------------------------------------*/ - - AMRWB_IO_ENC_HANDLE hAmrwb_IO; /* AMR-WB IO encoder handle */ - - /*----------------------------------------------------------------------------------* - * CLDFB analysis - *----------------------------------------------------------------------------------*/ - - HANDLE_CLDFB_FILTER_BANK cldfbAnaEnc; /* main analysis filter bank handle */ - HANDLE_CLDFB_FILTER_BANK cldfbSynTd; /* synthesis filterbank - used for HB signal generation */ - - /*----------------------------------------------------------------------------------* - * FD CNG handle - *----------------------------------------------------------------------------------*/ - - HANDLE_FD_CNG_ENC hFdCngEnc; - int16_t fd_cng_reset_flag; - float last_totalNoise; - float totalNoise_increase_hist[TOTALNOISE_HIST_SIZE]; - int16_t totalNoise_increase_len; - - /*----------------------------------------------------------------------------------* - * SC-VBR parameters - *----------------------------------------------------------------------------------*/ - - SC_VBR_ENC_HANDLE hSC_VBR; - - - /*----------------------------------------------------------------------------------* - * HQ core parameters - *----------------------------------------------------------------------------------*/ - - /* Memory for detect_transient() */ - float old_hpfilt_in; - float old_hpfilt_out; - float EnergyLT; - float Energy_Old; - int16_t TransientHangOver; - - HQ_ENC_HANDLE hHQ_core; /* HQ core encoder handle */ - - /*----------------------------------------------------------------------------------* - * TD BWE parameters - *----------------------------------------------------------------------------------*/ - - TD_BWE_ENC_HANDLE hBWE_TD; - - /*----------------------------------------------------------------------------------* - * FD BWE parameters - *----------------------------------------------------------------------------------*/ - - FD_BWE_ENC_HANDLE hBWE_FD; - - /*----------------------------------------------------------------------------------* - * WB, SWB and FB bandwidth detector - *----------------------------------------------------------------------------------*/ - - float lt_mean_NB; - float lt_mean_WB; - float lt_mean_SWB; - int16_t count_WB; - int16_t count_SWB; - int16_t count_FB; - - /*----------------------------------------------------------------------------------* - * Channel-aware mode - *----------------------------------------------------------------------------------*/ - - int16_t rf_mode; /* flag to signal the RF mode */ - int16_t rf_mode_last; - int16_t last_rf_mode_cng; - int16_t Opt_RF_ON; - int16_t rf_fec_offset; - int16_t rf_target_bits_write; - int16_t rf_fec_indicator; - - RF_ENC_HANDLE hRF; /* RF encoder handle */ - - /*----------------------------------------------------------------------------------* - * TCX core encoder handle - *----------------------------------------------------------------------------------*/ - - TCX_ENC_HANDLE hTcxEnc; - - /*----------------------------------------------------------------------------------* - * Mode2 - *----------------------------------------------------------------------------------*/ - - int16_t frame_size_index; /* 0-FRAME_SIZE_NB-1: index determining the frame size */ - int16_t bits_frame_nominal; /* avg bits per frame on active frame */ - int16_t last_bits_frame_nominal; /* avg bits per frame on active frame */ - int16_t bits_frame; /* bits per frame overall */ - int16_t bits_frame_core; /* bits per frame for the core */ - int16_t bits_frame_channel; - int16_t side_bits_frame_channel; - int16_t narrowBand; - int16_t restrictedMode; - int16_t nb_subfr; - int16_t tcxonly; - int16_t fscale; - int32_t sr_core; - - /*ACELP config*/ - ACELP_config acelp_cfg; /*configuration set for each frame*/ - - /*TCX config*/ - TCX_CONFIG_HANDLE hTcxCfg; - - /* cod_main.c */ - float mem_preemph_enc; /* speech preemph filter memory (at encoder-sampling-rate) */ - - /* Signal Buffers and Pointers at encoder-sampling-rate */ - float *speech_enc; - float *speech_enc_pe; - float *new_speech_enc; - float *new_speech_enc_pe; - float *wspeech_enc; - float *synth; - - - int16_t enableTcxLpc; /* global toggle for the TCX LPC quantizer */ - int16_t envWeighted; /* are is{p,f}_old_q[] weighted or not? */ - - int16_t acelpEnabled; /* Flag indicating if ACELP can be used */ - int16_t tcx10Enabled; /* Flag indicating if TCX 10 can be used */ - int16_t tcx20Enabled; /* Flag indicating if TCX 20 can be used */ - - float mem_wsp_enc; /* wsp vector memory */ - - int16_t nb_bits_header_ace; /* number of bits for the header */ - int16_t nb_bits_header_tcx; /* number of bits for the header */ - - float preemph_fac; /* Preemphasis factor */ - float gamma; - - TRAN_DET_HANDLE hTranDet; - - int16_t acelpFramesCount; - float prevTempFlatness; - - float prevEnergyHF; - float currEnergyHF; - float currEnergyLookAhead; - - int16_t lpcQuantization; - - int16_t encoderLookahead_enc; - int16_t encoderPastSamples_enc; - int16_t encoderLookahead_FB; - - /* pitch_ol for adaptive lag window */ - int16_t old_pitch_la; /* past open loop pitch lag from look-ahead before very short stable pitch detection */ - - int16_t acelp_autocorr; /* Optimize acelp in 0 covariance or 1 correlation domain */ - - int16_t pit_min; - int16_t pit_fr1; - int16_t pit_fr1b; - int16_t pit_fr2; - int16_t pit_max; - int16_t pit_res_max; - - /* for FAC */ - int16_t L_frame_past; - - /*Adaptive BPF*/ - int16_t bpf_gain_param; - float mem_bpf[2 * L_FILT16k]; - float mem_error_bpf[2 * L_FILT16k]; - - int16_t glr; - int16_t glr_idx[2]; - float mean_gc[2]; - float prev_lsf4_mean; - int16_t glr_reset; - int32_t last_sr_core; - float last_stab_fac; - - /*for rate switching*/ - int16_t rate_switching_reset; /*Rate switching flag requiring a reset of memories at least partially */ - int16_t rate_switching_reset_16kHz; - - int16_t enablePlcWaveadjust; - int16_t Tonal_SideInfo; - - int16_t seed_acelp; - - PLC_ENC_EVS_HANDLE hPlcExt; - - /*----------------------------------------------------------------------------------* - * IGF - *----------------------------------------------------------------------------------*/ - - IGF_ENC_INSTANCE_HANDLE hIGFEnc; /* IGF encoder handle */ - int16_t igf; - - /*----------------------------------------------------------------------------------* - * TEC - *----------------------------------------------------------------------------------*/ - - int16_t tec_tfa; - TEC_ENC_HANDLE hTECEnc; /* TEC encoder handle */ - int16_t tec_flag; - int16_t tfa_flag; - float tfa_enr[N_TEC_TFA_SUBFR]; - - - /*---------------------------------------------------------------* - * Stereo/IVAS parameters - *---------------------------------------------------------------*/ - - int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ - - /* stereo switching memories */ - float mem_preemph_DFT; - float inp_12k8_mem_stereo_sw[STEREO_DFT_OVL_12k8 - L_MEM_RECALC_12K8 - L_FILT]; - float mem_preemph16k_DFT; - float inp_16k_mem_stereo_sw[STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k]; - - /* MCT Channel mode indication: LFE, ignore channel? */ - MCT_CHAN_MODE mct_chan_mode; - - int16_t dtx_sce_sba; /* enable use of FD CNG with transform domain cores in SCE SBA */ - -} Encoder_State, *ENC_CORE_HANDLE; - - -typedef struct GainItemStr -{ - float nmrValue; - int16_t gainIndex; -} GainItem; - -typedef struct context_rc_mem_struct -{ - int16_t nbits_old; - int16_t ctx; - float bit_estimate; - int16_t rateFlag; - int16_t lastnz; - int16_t nt_half; - -} RC_CONTEXT_MEM, *HANDLE_RC_CONTEXT_MEM; - - -#endif diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h deleted file mode 100644 index f758bc780a..0000000000 --- a/lib_rend/ivas_lib_rend_internal.h +++ /dev/null @@ -1,123 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "ivas_error.h" -#include "lib_rend.h" -#include "ivas_stat_dec.h" - -#ifndef IVAS_LIB_REND_INTERNALS_H -#define IVAS_LIB_REND_INTERNALS_H - -typedef struct -{ - int8_t headRotEnabled; - IVAS_QUATERNION headPositions[RENDERER_HEAD_POSITIONS_PER_FRAME]; - float crossfade[L_FRAME48k / RENDERER_HEAD_POSITIONS_PER_FRAME]; -} IVAS_REND_HeadRotData; - -typedef struct -{ - int32_t binaural_latency_ns; - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd; - TDREND_HRFILT_FiltSet_t *hHrtfTD; -} TDREND_WRAPPER; - -typedef struct -{ - int32_t binaural_latency_ns; - CREND_HANDLE hCrend; - HRTFS_HANDLE hHrtfCrend; -} CREND_WRAPPER; - -IVAS_REND_AudioConfigType getAudioConfigType( - const IVAS_REND_AudioConfig config ); - -ivas_error getAudioConfigNumChannels( - const IVAS_REND_AudioConfig config, - int16_t *numChannels ); - -AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( - IVAS_REND_AudioConfig config ); - -ivas_error ivas_rend_openCrend( - CREND_WRAPPER *pCrend, - const IVAS_REND_AudioConfig inConfig, - const IVAS_REND_AudioConfig outConfig, - RENDER_CONFIG_DATA *hRendCfg, - const int32_t output_Fs ); - -ivas_error ivas_rend_initCrend( - CREND_WRAPPER *pCrend, - const IVAS_REND_AudioConfig inConfig, - const IVAS_REND_AudioConfig outConfig, - RENDER_CONFIG_DATA *hRendCfg, - const int32_t output_Fs ); - -ivas_error ivas_rend_closeCrend( - CREND_WRAPPER *pCrend ); - -ivas_error ivas_rend_crendProcess( - const CREND_WRAPPER *pCrend, - const IVAS_REND_AudioConfig inConfig, - const IVAS_REND_AudioConfig outConfig, - float output[][L_FRAME48k], /* i/o: input/output audio channels */ - const int32_t output_Fs ); - -ivas_error ivas_rend_crendConvolver( - const CREND_WRAPPER *pCrend, - const IVAS_REND_AudioConfig inConfig, - const IVAS_REND_AudioConfig outConfig, - float pcm_in[][L_FRAME48k], - float pcm_out[][L_FRAME48k], - const int32_t output_Fs, - const int16_t i_ts ); - -ivas_error ivas_rend_TDObjRenderFrame( - const TDREND_WRAPPER *pTDRend, /* i : TD Renderer wrapper structure */ - const IVAS_REND_AudioConfig inConfig, /* i : Input audio configuration */ - const LSSETUP_CUSTOM_STRUCT *customLsInput, /* i : Input custom loudspeaker layout */ - const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ - const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ - const int16_t output_frame, /* i : output frame length */ -#ifndef FIX_ITD - const int32_t output_Fs, /* i : output sampling rate */ -#endif - float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ -); - -ivas_error ivas_rend_TDObjRendOpen( - TDREND_WRAPPER *pTDRend, - const IVAS_REND_AudioConfig inConfig, - LSSETUP_CUSTOM_STRUCT *customLsInput, - const int32_t output_Fs ); - -#endif diff --git a/lib_rend/ivas_rom_TdBinauralRenderer.h b/lib_rend/ivas_rom_TdBinauralRenderer.h deleted file mode 100644 index 7aeff4f0ff..0000000000 --- a/lib_rend/ivas_rom_TdBinauralRenderer.h +++ /dev/null @@ -1,69 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "cnst.h" -#include "ivas_cnst.h" - -/*------------------------------------------------------------------------- - * TD Binaural rendering related ROM tables - *------------------------------------------------------------------------*/ -/* TD renderer HRTF default model Orange53 */ -extern const int16_t orange53_rom_azimDim2[18]; -extern const int16_t orange53_rom_azimDim3[18]; -extern const int16_t orange53_rom_azim_start_idx[18]; -extern const int16_t orange53_rom_azimSegSamples[1]; -extern const int16_t orange53_rom_azimShapeIdx[18]; -extern const int16_t orange53_rom_azimShapeSampFactor[18]; -extern const float orange53_rom_elevKSeq[16]; -extern const uint32_t orange53_rom_AlphaL48[578 * 128]; -extern const uint32_t orange53_rom_AlphaR48[578 * 128]; -extern const uint32_t orange53_rom_AlphaL32[578 * 86]; -extern const uint32_t orange53_rom_AlphaR32[578 * 86]; -extern const uint32_t orange53_rom_AlphaL16[578 * 43]; -extern const uint32_t orange53_rom_AlphaR16[578 * 43]; -extern const uint32_t orange53_rom_EL48[HRTF_MODEL_N_SECTIONS * 578]; -extern const uint32_t orange53_rom_ER48[HRTF_MODEL_N_SECTIONS * 578]; -extern const uint32_t orange53_rom_EL32[HRTF_MODEL_N_SECTIONS * 578]; -extern const uint32_t orange53_rom_ER32[HRTF_MODEL_N_SECTIONS * 578]; -extern const uint32_t orange53_rom_EL16[HRTF_MODEL_N_SECTIONS * 578]; -extern const uint32_t orange53_rom_ER16[HRTF_MODEL_N_SECTIONS * 578]; -extern const uint32_t orange53_rom_elevBsShape[28]; -extern const uint32_t orange53_rom_azimBsShape[21]; -extern const uint32_t orange53_rom_ITD_W[658]; -extern const uint32_t orange53_rom_ITD_azimBsShape[84]; -extern const float orange53_rom_ITD_azimKSeq[19]; -extern const uint32_t orange53_rom_ITD_elevBsShape[28]; diff --git a/lib_rend/ivas_rom_binauralRenderer.h b/lib_rend/ivas_rom_binauralRenderer.h deleted file mode 100644 index c597847a0f..0000000000 --- a/lib_rend/ivas_rom_binauralRenderer.h +++ /dev/null @@ -1,78 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include <stdint.h> -#include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "cnst.h" -#include "ivas_cnst.h" - -/*------------------------------------------------------------------------- - * Binaural rendering related ROM tables - *------------------------------------------------------------------------*/ - -/* Binaural rendering data set based on HRIRs */ -extern const float FASTCONV_HRIR_latency_s; -extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; -extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; -extern float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; -extern float rightHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; - -extern float leftHRIRReal[BINAURAL_CONVBANDS][15][7]; -extern float leftHRIRImag[BINAURAL_CONVBANDS][15][7]; -extern float rightHRIRReal[BINAURAL_CONVBANDS][15][7]; -extern float rightHRIRImag[BINAURAL_CONVBANDS][15][7]; - -extern float FASTCONV_HOA3_latency_s; -extern float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; -extern float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; - - -/* Binaural rendering data set based on BRIRs */ -extern const float FASTCONV_BRIR_latency_s; -extern float leftBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; -extern float leftBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; -extern float rightBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; -extern float rightBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; - -/* Reverberation parameters based on BRIRs for fastconv */ -extern float fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; -extern float fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; - -/* Binaural rendering data set based on BRIRs, to be used in a combined manner - * with the above binaural rendering data set based on HRIRs for parametric - * renderer */ -extern const float parametricReverberationTimes[CLDFB_NO_CHANNELS_MAX]; -extern const float parametricReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; -extern const float parametricEarlyPartEneCorrection[CLDFB_NO_CHANNELS_MAX]; diff --git a/lib_rend/ivas_rom_binaural_crend_head.c b/lib_rend/ivas_rom_binaural_crend_head.c deleted file mode 100644 index ac4216ef77..0000000000 --- a/lib_rend/ivas_rom_binaural_crend_head.c +++ /dev/null @@ -1,6911 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/* clang-format off */ - -/*------------------------------------------------------------------------- - * Binaural rendering related ROM tables - *------------------------------------------------------------------------*/ - -/* Binaural rendering data set based on HRIRs */ -/* Tables generated by the exe at "scripts/binauralRenderer_interface/generate_cren_ivas_tables*.* */ -/* Can be replaced by your own generated HRIR or BRIRI tables */ - - - -#include <stdint.h> -#include <stddef.h> -#include "cnst.h" -#include "ivas_cnst.h" - - -/********************** Sample Rate = 48000 **********************/ - -const float CRendBin_Combined_HRIR_latency_s_48kHz = 0.000020833333110f; -const int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz = 1; -const uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; -const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; -const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz = 0; -const float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[15]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; -const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float CRendBin_Combined_HRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][240]={ - { - {1.101488f, 1.121686f, 1.165024f, 1.224338f, 1.257855f, 1.220486f, 1.149240f, 1.140890f, 1.185728f, 1.128055f, 0.902355f, 0.707875f, 0.788108f, 1.099541f, 1.375119f, 1.484928f, 1.549978f, 1.695559f, 1.876431f, 1.995635f, 2.041427f, 2.028898f, 1.921455f, 1.700966f, 1.448293f, 1.277519f, 1.224020f, 1.244684f, 1.297952f, 1.382592f, 1.515360f, 1.701068f, 1.918656f, 2.122718f, 2.265994f, 2.329628f, 2.329558f, 2.294332f, 2.241762f, 2.173492f, 2.084598f, 1.978110f, 1.871591f, 1.786593f, 1.731800f, 1.700143f, 1.679095f, 1.656899f, 1.622424f, 1.569381f, 1.502234f, 1.432448f, 1.368773f, 1.314020f, 1.268340f, 1.231321f, 1.202278f, 1.180534f, 1.163747f, 1.146145f, 1.121645f, 1.087903f, 1.043613f, 0.983612f, 0.901864f, 0.798972f, 0.683390f, 0.566766f, 0.461005f, 0.376682f, 0.319308f, 0.287365f, 0.275856f, 0.280196f, 0.295624f, 0.315889f, 0.334947f, 0.349113f, 0.357350f, 0.360958f, 0.362742f, 0.364984f, 0.368682f, 0.375343f, 0.387569f, 0.406700f, 0.431922f, 0.462716f, 0.499762f, 0.542220f, 0.586337f, 0.627805f, 0.663761f, 0.692071f, 0.710593f, 0.717887f, - 0.713731f, 0.699041f, 0.675854f, 0.646711f, 0.613681f, 0.578765f, 0.544708f, 0.513648f, 0.485423f, 0.459267f, 0.436523f, 0.419581f, 0.409130f, 0.404828f, 0.407589f, 0.418787f, 0.438090f, 0.464110f, 0.496246f, 0.534436f, 0.578397f, 0.628210f, 0.684323f, 0.746531f, 0.814569f, 0.889456f, 0.972140f, 1.061353f, 1.155269f, 1.254322f, 1.359452f, 1.468434f, 1.577080f, 1.683222f, 1.786114f, 1.882169f, 1.964521f, 2.027143f, 2.066756f, 2.079988f, 2.061244f, 2.005565f, 1.912874f, 1.787215f, 1.631793f, 1.447687f, 1.238656f, 1.013433f, 0.779817f, 0.539619f, 0.293632f, 0.048036f, -0.190045f, -0.420433f, -0.646524f, -0.866314f, -1.074294f, -1.270685f, -1.460857f, -1.646046f, -1.822195f, -1.988192f, -2.148163f, -2.304337f, -2.453363f, -2.591452f, -2.718826f, -2.836782f, -2.942783f, -3.031068f, -3.097979f, -3.144348f, -3.170915f, -3.173977f, -3.149931f, -3.102115f, -3.036603f, -2.952834f, -2.846787f, -2.721688f, -2.584617f, -2.433723f, -2.261283f, -2.067770f, -1.858490f, -1.628464f, -1.366934f, -1.074068f, -0.755851f, -0.407743f, -0.023711f, 0.384421f, 0.796944f, 1.204825f, 1.594892f, 1.931022f, - 2.176602f, 2.317416f, 2.335553f, 2.191195f, 1.867100f, 1.394310f, 0.795503f, 0.073196f, -0.660345f, -1.115477f, -1.048547f, -0.566404f, -0.073872f, 0.126575f, 0.081506f, 0.007169f, -0.000212f, 0.010105f, -0.000437f, -0.007848f, 0.001481f, 0.006032f, -0.001850f, -0.004621f, 0.002044f, 0.003718f, -0.001908f, -0.002879f, 0.001815f, 0.002240f, -0.001726f, -0.001819f, 0.001470f, 0.001293f, -0.001428f, -0.001063f, 0.001166f, 0.000684f, -0.001078f, -0.000479f, 0.000904f, 0.000264f, -0.000723f, -0.000016f, 0.000645f, -0.000071f, -0.000388f, 0.000349f}, - {0.968441f, 0.987234f, 0.869596f, 0.596073f, 0.334483f, 0.171136f, 0.017776f, -0.161778f, -0.245721f, -0.155540f, 0.006522f, 0.093937f, 0.049496f, -0.140506f, -0.468985f, -0.824439f, -1.026403f, -1.016121f, -0.905691f, -0.796722f, -0.670406f, -0.503266f, -0.362411f, -0.307750f, -0.295462f, -0.254770f, -0.185996f, -0.113263f, -0.005954f, 0.176006f, 0.400292f, 0.595777f, 0.744307f, 0.877077f, 0.990030f, 1.022653f, 0.934836f, 0.765351f, 0.591919f, 0.455498f, 0.344908f, 0.238899f, 0.133289f, 0.027739f, -0.086033f, -0.210079f, -0.329871f, -0.429681f, -0.507904f, -0.568659f, -0.608760f, -0.622380f, -0.610718f, -0.579218f, -0.531546f, -0.471669f, -0.405261f, -0.334310f, -0.255734f, -0.168133f, -0.074958f, 0.019479f, 0.110900f, 0.191660f, 0.253073f, 0.292584f, 0.314355f, 0.323012f, 0.320972f, 0.311128f, 0.297794f, 0.284665f, 0.273984f, 0.266907f, 0.262951f, 0.259722f, 0.253926f, 0.242085f, 0.221157f, 0.190535f, 0.153092f, 0.112713f, 0.071225f, 0.028184f, -0.018416f, -0.072225f, -0.136625f, -0.210590f, -0.287552f, -0.358747f, -0.416020f, -0.451958f, -0.460910f, -0.441509f, -0.397130f, -0.334256f, - -0.261823f, -0.190493f, -0.129257f, -0.082184f, -0.049250f, -0.028772f, -0.017399f, -0.009448f, 0.001351f, 0.020052f, 0.051375f, 0.100649f, 0.171779f, 0.264460f, 0.373677f, 0.490520f, 0.602599f, 0.695221f, 0.754355f, 0.769527f, 0.734768f, 0.648370f, 0.512977f, 0.335735f, 0.127409f, -0.099262f, -0.330468f, -0.551239f, -0.746022f, -0.900770f, -1.004813f, -1.051193f, -1.036965f, -0.964527f, -0.841753f, -0.679493f, -0.489227f, -0.282948f, -0.072808f, 0.131140f, 0.321905f, 0.493472f, 0.639377f, 0.754179f, 0.834298f, 0.876384f, 0.876941f, 0.834703f, 0.751683f, 0.631609f, 0.479801f, 0.305136f, 0.119699f, -0.064323f, -0.235835f, -0.383842f, -0.498638f, -0.574816f, -0.611505f, -0.610195f, -0.574481f, -0.511148f, -0.428865f, -0.335564f, -0.238096f, -0.143043f, -0.055734f, 0.021001f, 0.085880f, 0.137914f, 0.176979f, 0.204394f, 0.221855f, 0.230580f, 0.231755f, 0.226643f, 0.215971f, 0.200107f, 0.179730f, 0.155526f, 0.127749f, 0.096849f, 0.063819f, 0.029377f, -0.006197f, -0.042042f, -0.076719f, -0.109157f, -0.138085f, -0.160825f, -0.174403f, -0.177268f, -0.168206f, -0.145199f, -0.107970f, -0.060190f, - -0.006824f, 0.048104f, 0.098363f, 0.134090f, 0.147833f, 0.138301f, 0.104724f, 0.045824f, -0.026274f, -0.078996f, -0.083091f, -0.045128f, -0.003292f, 0.012791f, 0.007249f, 0.000493f, 0.000789f, 0.002389f, 0.001492f, 0.000972f, 0.002319f, 0.003080f, 0.002368f, 0.002183f, 0.003054f, 0.003303f, 0.002617f, 0.002416f, 0.002859f, 0.002736f, 0.002007f, 0.001718f, 0.001826f, 0.001446f, 0.000707f, 0.000373f, 0.000270f, -0.000226f, -0.000879f, -0.001162f, -0.001335f, -0.001802f, -0.002255f, -0.002384f, -0.002506f, -0.002821f, -0.002986f, -0.002896f} - }, - { - {0.968441f, 0.987234f, 0.869596f, 0.596073f, 0.334483f, 0.171136f, 0.017776f, -0.161778f, -0.245721f, -0.155540f, 0.006522f, 0.093937f, 0.049496f, -0.140506f, -0.468985f, -0.824439f, -1.026403f, -1.016121f, -0.905691f, -0.796722f, -0.670406f, -0.503266f, -0.362411f, -0.307750f, -0.295462f, -0.254770f, -0.185996f, -0.113263f, -0.005954f, 0.176006f, 0.400292f, 0.595777f, 0.744307f, 0.877077f, 0.990030f, 1.022653f, 0.934836f, 0.765351f, 0.591919f, 0.455498f, 0.344908f, 0.238899f, 0.133289f, 0.027739f, -0.086033f, -0.210079f, -0.329871f, -0.429681f, -0.507904f, -0.568659f, -0.608760f, -0.622380f, -0.610718f, -0.579218f, -0.531546f, -0.471669f, -0.405261f, -0.334310f, -0.255734f, -0.168133f, -0.074958f, 0.019479f, 0.110900f, 0.191660f, 0.253073f, 0.292584f, 0.314355f, 0.323012f, 0.320972f, 0.311128f, 0.297794f, 0.284665f, 0.273984f, 0.266907f, 0.262951f, 0.259722f, 0.253926f, 0.242085f, 0.221157f, 0.190535f, 0.153092f, 0.112713f, 0.071225f, 0.028184f, -0.018416f, -0.072225f, -0.136625f, -0.210590f, -0.287552f, -0.358747f, -0.416020f, -0.451958f, -0.460910f, -0.441509f, -0.397130f, -0.334256f, - -0.261823f, -0.190493f, -0.129257f, -0.082184f, -0.049250f, -0.028772f, -0.017399f, -0.009448f, 0.001351f, 0.020052f, 0.051375f, 0.100649f, 0.171779f, 0.264460f, 0.373677f, 0.490520f, 0.602599f, 0.695221f, 0.754355f, 0.769527f, 0.734768f, 0.648370f, 0.512977f, 0.335735f, 0.127409f, -0.099262f, -0.330468f, -0.551239f, -0.746022f, -0.900770f, -1.004813f, -1.051193f, -1.036965f, -0.964527f, -0.841753f, -0.679493f, -0.489227f, -0.282948f, -0.072808f, 0.131140f, 0.321905f, 0.493472f, 0.639377f, 0.754179f, 0.834298f, 0.876384f, 0.876941f, 0.834703f, 0.751683f, 0.631609f, 0.479801f, 0.305136f, 0.119699f, -0.064323f, -0.235835f, -0.383842f, -0.498638f, -0.574816f, -0.611505f, -0.610195f, -0.574481f, -0.511148f, -0.428865f, -0.335564f, -0.238096f, -0.143043f, -0.055734f, 0.021001f, 0.085880f, 0.137914f, 0.176979f, 0.204394f, 0.221855f, 0.230580f, 0.231755f, 0.226643f, 0.215971f, 0.200107f, 0.179730f, 0.155526f, 0.127749f, 0.096849f, 0.063819f, 0.029377f, -0.006197f, -0.042042f, -0.076719f, -0.109157f, -0.138085f, -0.160825f, -0.174403f, -0.177268f, -0.168206f, -0.145199f, -0.107970f, -0.060190f, - -0.006824f, 0.048104f, 0.098363f, 0.134090f, 0.147833f, 0.138301f, 0.104724f, 0.045824f, -0.026274f, -0.078996f, -0.083091f, -0.045128f, -0.003292f, 0.012791f, 0.007249f, 0.000493f, 0.000789f, 0.002389f, 0.001492f, 0.000972f, 0.002319f, 0.003080f, 0.002368f, 0.002183f, 0.003054f, 0.003303f, 0.002617f, 0.002416f, 0.002859f, 0.002736f, 0.002007f, 0.001718f, 0.001826f, 0.001446f, 0.000707f, 0.000373f, 0.000270f, -0.000226f, -0.000879f, -0.001162f, -0.001335f, -0.001802f, -0.002255f, -0.002384f, -0.002506f, -0.002821f, -0.002986f, -0.002896f}, - {1.101488f, 1.121686f, 1.165024f, 1.224338f, 1.257855f, 1.220486f, 1.149240f, 1.140890f, 1.185728f, 1.128055f, 0.902355f, 0.707875f, 0.788108f, 1.099541f, 1.375119f, 1.484928f, 1.549978f, 1.695559f, 1.876431f, 1.995635f, 2.041427f, 2.028898f, 1.921455f, 1.700966f, 1.448293f, 1.277519f, 1.224020f, 1.244684f, 1.297952f, 1.382592f, 1.515360f, 1.701068f, 1.918656f, 2.122718f, 2.265994f, 2.329628f, 2.329558f, 2.294332f, 2.241762f, 2.173492f, 2.084598f, 1.978110f, 1.871591f, 1.786593f, 1.731800f, 1.700143f, 1.679095f, 1.656899f, 1.622424f, 1.569381f, 1.502234f, 1.432448f, 1.368773f, 1.314020f, 1.268340f, 1.231321f, 1.202278f, 1.180534f, 1.163747f, 1.146145f, 1.121645f, 1.087903f, 1.043613f, 0.983612f, 0.901864f, 0.798972f, 0.683390f, 0.566766f, 0.461005f, 0.376682f, 0.319308f, 0.287365f, 0.275856f, 0.280196f, 0.295624f, 0.315889f, 0.334947f, 0.349113f, 0.357350f, 0.360958f, 0.362742f, 0.364984f, 0.368682f, 0.375343f, 0.387569f, 0.406700f, 0.431922f, 0.462716f, 0.499762f, 0.542220f, 0.586337f, 0.627805f, 0.663761f, 0.692071f, 0.710593f, 0.717887f, - 0.713731f, 0.699041f, 0.675854f, 0.646711f, 0.613681f, 0.578765f, 0.544708f, 0.513648f, 0.485423f, 0.459267f, 0.436523f, 0.419581f, 0.409130f, 0.404828f, 0.407589f, 0.418787f, 0.438090f, 0.464110f, 0.496246f, 0.534436f, 0.578397f, 0.628210f, 0.684323f, 0.746531f, 0.814569f, 0.889456f, 0.972140f, 1.061353f, 1.155269f, 1.254322f, 1.359452f, 1.468434f, 1.577080f, 1.683222f, 1.786114f, 1.882169f, 1.964521f, 2.027143f, 2.066756f, 2.079988f, 2.061244f, 2.005565f, 1.912874f, 1.787215f, 1.631793f, 1.447687f, 1.238656f, 1.013433f, 0.779817f, 0.539619f, 0.293632f, 0.048036f, -0.190045f, -0.420433f, -0.646524f, -0.866314f, -1.074294f, -1.270685f, -1.460857f, -1.646046f, -1.822195f, -1.988192f, -2.148163f, -2.304337f, -2.453363f, -2.591452f, -2.718826f, -2.836782f, -2.942783f, -3.031068f, -3.097979f, -3.144348f, -3.170915f, -3.173977f, -3.149931f, -3.102115f, -3.036603f, -2.952834f, -2.846787f, -2.721688f, -2.584617f, -2.433723f, -2.261283f, -2.067770f, -1.858490f, -1.628464f, -1.366934f, -1.074068f, -0.755851f, -0.407743f, -0.023711f, 0.384421f, 0.796944f, 1.204825f, 1.594892f, 1.931022f, - 2.176602f, 2.317416f, 2.335553f, 2.191195f, 1.867100f, 1.394310f, 0.795503f, 0.073196f, -0.660345f, -1.115477f, -1.048547f, -0.566404f, -0.073872f, 0.126575f, 0.081506f, 0.007169f, -0.000212f, 0.010105f, -0.000437f, -0.007848f, 0.001481f, 0.006032f, -0.001850f, -0.004621f, 0.002044f, 0.003718f, -0.001908f, -0.002879f, 0.001815f, 0.002240f, -0.001726f, -0.001819f, 0.001470f, 0.001293f, -0.001428f, -0.001063f, 0.001166f, 0.000684f, -0.001078f, -0.000479f, 0.000904f, 0.000264f, -0.000723f, -0.000016f, 0.000645f, -0.000071f, -0.000388f, 0.000349f} - }, - { - {1.038216f, 1.104846f, 1.163927f, 1.102788f, 0.923912f, 0.819249f, 0.926472f, 1.059186f, 0.908605f, 0.521079f, 0.320389f, 0.567071f, 1.017483f, 1.260167f, 1.219416f, 1.154021f, 1.266485f, 1.495235f, 1.659357f, 1.659964f, 1.521679f, 1.331268f, 1.173102f, 1.086498f, 1.062729f, 1.084446f, 1.154530f, 1.278122f, 1.436340f, 1.590950f, 1.702153f, 1.739769f, 1.697847f, 1.603508f, 1.493099f, 1.376523f, 1.241975f, 1.094803f, 0.970109f, 0.902161f, 0.896629f, 0.934468f, 0.987453f, 1.027530f, 1.036809f, 1.016896f, 0.982652f, 0.944071f, 0.898806f, 0.841885f, 0.776112f, 0.710836f, 0.654027f, 0.607313f, 0.567432f, 0.531208f, 0.497948f, 0.466697f, 0.434013f, 0.397715f, 0.361295f, 0.330786f, 0.307633f, 0.288052f, 0.269263f, 0.253095f, 0.242705f, 0.238292f, 0.237335f, 0.237844f, 0.240377f, 0.247162f, 0.259729f, 0.277460f, 0.298273f, 0.320255f, 0.342464f, 0.364784f, 0.387656f, 0.411614f, 0.436401f, 0.460723f, 0.483419f, 0.504828f, 0.526542f, 0.549671f, 0.573590f, 0.596528f, 0.617075f, 0.634482f, 0.647342f, 0.652773f, 0.647722f, 0.630886f, 0.603055f, 0.566478f, - 0.524993f, 0.484080f, 0.449179f, 0.423543f, 0.408382f, 0.404761f, 0.414320f, 0.438121f, 0.475810f, 0.526417f, 0.589717f, 0.666444f, 0.756971f, 0.859702f, 0.971057f, 1.087009f, 1.203748f, 1.316495f, 1.419260f, 1.507289f, 1.578795f, 1.632867f, 1.667033f, 1.679088f, 1.670086f, 1.642553f, 1.596178f, 1.528297f, 1.438394f, 1.328645f, 1.199676f, 1.049815f, 0.880200f, 0.697091f, 0.506741f, 0.310961f, 0.110587f, -0.089623f, -0.283659f, -0.470268f, -0.652095f, -0.829533f, -0.999868f, -1.162742f, -1.321790f, -1.479081f, -1.631784f, -1.776619f, -1.914009f, -2.044530f, -2.163955f, -2.265828f, -2.347346f, -2.408663f, -2.447423f, -2.458570f, -2.440006f, -2.394433f, -2.324575f, -2.230407f, -2.112872f, -1.976957f, -1.828529f, -1.670564f, -1.505122f, -1.337013f, -1.172529f, -1.015633f, -0.868055f, -0.732334f, -0.611993f, -0.508636f, -0.421038f, -0.347478f, -0.287300f, -0.239640f, -0.202007f, -0.171116f, -0.144652f, -0.121529f, -0.100585f, -0.079881f, -0.057816f, -0.034356f, -0.010170f, 0.015158f, 0.042807f, 0.072857f, 0.104483f, 0.137917f, 0.174070f, 0.211993f, 0.249072f, 0.283815f, 0.315644f, 0.341936f, - 0.358772f, 0.364654f, 0.359571f, 0.340892f, 0.305378f, 0.254287f, 0.189565f, 0.107161f, 0.007129f, -0.086814f, -0.133950f, -0.115538f, -0.059105f, -0.011956f, 0.004169f, 0.001902f, -0.000382f, 0.000624f, 0.000524f, -0.000621f, -0.000315f, 0.000592f, 0.000256f, -0.000424f, -0.000092f, 0.000403f, 0.000056f, -0.000345f, -0.000050f, 0.000231f, -0.000053f, -0.000269f, -0.000023f, 0.000132f, -0.000078f, -0.000176f, 0.000015f, 0.000089f, -0.000053f, -0.000079f, 0.000051f, 0.000072f, -0.000010f, 0.000002f, 0.000067f, 0.000056f, 0.000030f, 0.000052f}, - {1.038216f, 1.104846f, 1.163927f, 1.102788f, 0.923912f, 0.819249f, 0.926472f, 1.059186f, 0.908605f, 0.521079f, 0.320389f, 0.567071f, 1.017483f, 1.260167f, 1.219416f, 1.154021f, 1.266485f, 1.495235f, 1.659357f, 1.659964f, 1.521679f, 1.331268f, 1.173102f, 1.086498f, 1.062729f, 1.084446f, 1.154530f, 1.278122f, 1.436340f, 1.590950f, 1.702153f, 1.739769f, 1.697847f, 1.603508f, 1.493099f, 1.376523f, 1.241975f, 1.094803f, 0.970109f, 0.902161f, 0.896629f, 0.934468f, 0.987453f, 1.027530f, 1.036809f, 1.016896f, 0.982652f, 0.944071f, 0.898806f, 0.841885f, 0.776112f, 0.710836f, 0.654027f, 0.607313f, 0.567432f, 0.531208f, 0.497948f, 0.466697f, 0.434013f, 0.397715f, 0.361295f, 0.330786f, 0.307633f, 0.288052f, 0.269263f, 0.253095f, 0.242705f, 0.238292f, 0.237335f, 0.237844f, 0.240377f, 0.247162f, 0.259729f, 0.277460f, 0.298273f, 0.320255f, 0.342464f, 0.364784f, 0.387656f, 0.411614f, 0.436401f, 0.460723f, 0.483419f, 0.504828f, 0.526542f, 0.549671f, 0.573590f, 0.596528f, 0.617075f, 0.634482f, 0.647342f, 0.652773f, 0.647722f, 0.630886f, 0.603055f, 0.566478f, - 0.524993f, 0.484080f, 0.449179f, 0.423543f, 0.408382f, 0.404761f, 0.414320f, 0.438121f, 0.475810f, 0.526417f, 0.589717f, 0.666444f, 0.756971f, 0.859702f, 0.971057f, 1.087009f, 1.203748f, 1.316495f, 1.419260f, 1.507289f, 1.578795f, 1.632867f, 1.667033f, 1.679088f, 1.670086f, 1.642553f, 1.596178f, 1.528297f, 1.438394f, 1.328645f, 1.199676f, 1.049815f, 0.880200f, 0.697091f, 0.506741f, 0.310961f, 0.110587f, -0.089623f, -0.283659f, -0.470268f, -0.652095f, -0.829533f, -0.999868f, -1.162742f, -1.321790f, -1.479081f, -1.631784f, -1.776619f, -1.914009f, -2.044530f, -2.163955f, -2.265828f, -2.347346f, -2.408663f, -2.447423f, -2.458570f, -2.440006f, -2.394433f, -2.324575f, -2.230407f, -2.112872f, -1.976957f, -1.828529f, -1.670564f, -1.505122f, -1.337013f, -1.172529f, -1.015633f, -0.868055f, -0.732334f, -0.611993f, -0.508636f, -0.421038f, -0.347478f, -0.287300f, -0.239640f, -0.202007f, -0.171116f, -0.144652f, -0.121529f, -0.100585f, -0.079881f, -0.057816f, -0.034356f, -0.010170f, 0.015158f, 0.042807f, 0.072857f, 0.104483f, 0.137917f, 0.174070f, 0.211993f, 0.249072f, 0.283815f, 0.315644f, 0.341936f, - 0.358772f, 0.364654f, 0.359571f, 0.340892f, 0.305378f, 0.254287f, 0.189565f, 0.107161f, 0.007129f, -0.086814f, -0.133950f, -0.115538f, -0.059105f, -0.011956f, 0.004169f, 0.001902f, -0.000382f, 0.000624f, 0.000524f, -0.000621f, -0.000315f, 0.000592f, 0.000256f, -0.000424f, -0.000092f, 0.000403f, 0.000056f, -0.000345f, -0.000050f, 0.000231f, -0.000053f, -0.000269f, -0.000023f, 0.000132f, -0.000078f, -0.000176f, 0.000015f, 0.000089f, -0.000053f, -0.000079f, 0.000051f, 0.000072f, -0.000010f, 0.000002f, 0.000067f, 0.000056f, 0.000030f, 0.000052f} - }, - { - {0.984080f, 0.970476f, 1.006906f, 1.104260f, 1.216794f, 1.335635f, 1.464294f, 1.533054f, 1.477510f, 1.373694f, 1.348288f, 1.379970f, 1.341218f, 1.215083f, 1.111544f, 1.076764f, 1.041682f, 0.966496f, 0.893479f, 0.840686f, 0.769350f, 0.677157f, 0.617786f, 0.610740f, 0.620021f, 0.628332f, 0.649967f, 0.668214f, 0.639094f, 0.564000f, 0.493341f, 0.454442f, 0.430784f, 0.411315f, 0.408973f, 0.429006f, 0.460805f, 0.502650f, 0.562459f, 0.634539f, 0.699920f, 0.747237f, 0.776345f, 0.788052f, 0.785425f, 0.779422f, 0.782268f, 0.799652f, 0.833592f, 0.884572f, 0.946592f, 1.007188f, 1.054930f, 1.082330f, 1.083817f, 1.058335f, 1.012691f, 0.956250f, 0.893651f, 0.826213f, 0.756564f, 0.687438f, 0.619177f, 0.552166f, 0.489247f, 0.433687f, 0.387315f, 0.351696f, 0.328352f, 0.317105f, 0.316219f, 0.324077f, 0.339216f, 0.359831f, 0.385071f, 0.416020f, 0.454311f, 0.500915f, 0.557014f, 0.624731f, 0.706142f, 0.802040f, 0.911693f, 1.033446f, 1.165920f, 1.308336f, 1.458725f, 1.612356f, 1.763090f, 1.904749f, 2.029174f, 2.125343f, 2.184253f, 2.203656f, 2.185203f, 2.129319f, - 2.037039f, 1.914643f, 1.771288f, 1.612832f, 1.442204f, 1.264496f, 1.086482f, 0.911185f, 0.737532f, 0.566210f, 0.402309f, 0.251448f, 0.116550f, -0.000376f, -0.096273f, -0.169242f, -0.221428f, -0.257657f, -0.281475f, -0.293927f, -0.295924f, -0.289877f, -0.278242f, -0.261940f, -0.241537f, -0.219109f, -0.197455f, -0.177735f, -0.159025f, -0.140026f, -0.120145f, -0.098893f, -0.075279f, -0.048418f, -0.018567f, 0.012653f, 0.043076f, 0.070995f, 0.095137f, 0.113713f, 0.124275f, 0.125072f, 0.115890f, 0.096669f, 0.065855f, 0.021420f, -0.036755f, -0.106849f, -0.187293f, -0.277135f, -0.373714f, -0.471889f, -0.566991f, -0.657229f, -0.741912f, -0.818969f, -0.886425f, -0.945214f, -0.997930f, -1.045205f, -1.085732f, -1.119527f, -1.148452f, -1.173231f, -1.192402f, -1.204919f, -1.211832f, -1.214558f, -1.212985f, -1.206284f, -1.194921f, -1.180840f, -1.165524f, -1.148636f, -1.129578f, -1.109786f, -1.091431f, -1.073946f, -1.054811f, -1.033994f, -1.013549f, -0.992185f, -0.965310f, -0.931378f, -0.892025f, -0.844815f, -0.783136f, -0.704366f, -0.609651f, -0.494994f, -0.352963f, -0.184110f, 0.004235f, 0.209198f, 0.428300f, 0.646026f, - 0.840500f, 0.999858f, 1.113448f, 1.155053f, 1.100378f, 0.951048f, 0.711125f, 0.363726f, -0.066699f, -0.436902f, -0.559600f, -0.399070f, -0.132866f, 0.029384f, 0.043765f, 0.007950f, -0.001756f, 0.005023f, 0.001749f, -0.004233f, -0.000749f, 0.003458f, 0.000224f, -0.002740f, 0.000175f, 0.002291f, -0.000296f, -0.001833f, 0.000392f, 0.001448f, -0.000493f, -0.001223f, 0.000422f, 0.000882f, -0.000505f, -0.000755f, 0.000403f, 0.000509f, -0.000413f, -0.000382f, 0.000355f, 0.000254f, -0.000271f, -0.000091f, 0.000266f, 0.000059f, -0.000112f, 0.000122f}, - {0.883975f, 0.742747f, 0.483914f, 0.188904f, -0.047459f, -0.209233f, -0.344855f, -0.459879f, -0.499939f, -0.451850f, -0.382284f, -0.347274f, -0.330209f, -0.301172f, -0.273988f, -0.260328f, -0.215778f, -0.082603f, 0.135261f, 0.371525f, 0.553401f, 0.638210f, 0.619076f, 0.521305f, 0.383817f, 0.230837f, 0.070028f, -0.082040f, -0.195461f, -0.256180f, -0.280452f, -0.291260f, -0.295978f, -0.293653f, -0.286459f, -0.272643f, -0.239767f, -0.175784f, -0.082109f, 0.027789f, 0.135803f, 0.222618f, 0.272015f, 0.278079f, 0.246877f, 0.190947f, 0.124821f, 0.063584f, 0.018967f, -0.005841f, -0.015723f, -0.017984f, -0.018340f, -0.020401f, -0.025556f, -0.032860f, -0.040363f, -0.046742f, -0.051655f, -0.055748f, -0.060851f, -0.069127f, -0.081442f, -0.096777f, -0.112463f, -0.123699f, -0.123450f, -0.104852f, -0.064843f, -0.005816f, 0.065155f, 0.137891f, 0.201213f, 0.245836f, 0.266654f, 0.262765f, 0.235893f, 0.188819f, 0.124475f, 0.045794f, -0.043343f, -0.136558f, -0.224279f, -0.294747f, -0.336348f, -0.340593f, -0.304985f, -0.234374f, -0.139779f, -0.035298f, 0.065161f, 0.150165f, 0.211935f, 0.246636f, 0.254039f, 0.236891f, - 0.200185f, 0.150350f, 0.094455f, 0.039464f, -0.008619f, -0.045731f, -0.070400f, -0.083602f, -0.087939f, -0.086661f, -0.082872f, -0.078985f, -0.076432f, -0.075622f, -0.076068f, -0.076524f, -0.075078f, -0.069344f, -0.056965f, -0.036414f, -0.007704f, 0.027321f, 0.065163f, 0.101267f, 0.130992f, 0.150629f, 0.157941f, 0.152138f, 0.133674f, 0.104033f, 0.065396f, 0.020338f, -0.028149f, -0.076464f, -0.120497f, -0.155961f, -0.178741f, -0.185412f, -0.174114f, -0.145315f, -0.101960f, -0.049135f, 0.006550f, 0.058125f, 0.099789f, 0.127948f, 0.141382f, 0.140988f, 0.129340f, 0.109801f, 0.085494f, 0.058877f, 0.031865f, 0.005795f, -0.018626f, -0.040919f, -0.060327f, -0.075887f, -0.086696f, -0.091841f, -0.090471f, -0.082358f, -0.068247f, -0.049554f, -0.028075f, -0.006021f, 0.014334f, 0.031377f, 0.044342f, 0.052977f, 0.057575f, 0.059084f, 0.058543f, 0.056491f, 0.053219f, 0.048980f, 0.043403f, 0.035343f, 0.023794f, 0.008214f, -0.012079f, -0.037401f, -0.066035f, -0.094144f, -0.117200f, -0.129987f, -0.126089f, -0.100443f, -0.053216f, 0.010034f, 0.080385f, 0.145063f, 0.187642f, 0.194442f, 0.161633f, 0.094675f, - 0.005067f, -0.087812f, -0.157659f, -0.183614f, -0.160959f, -0.096474f, -0.003389f, 0.088590f, 0.132728f, 0.101387f, 0.023921f, -0.034469f, -0.038942f, -0.013063f, 0.003237f, 0.001212f, -0.002961f, -0.001216f, 0.000276f, -0.001620f, -0.002467f, -0.000772f, -0.000058f, -0.001118f, -0.001152f, 0.000189f, 0.000633f, 0.000071f, 0.000304f, 0.001243f, 0.001427f, 0.001031f, 0.001189f, 0.001646f, 0.001521f, 0.001094f, 0.001029f, 0.001052f, 0.000696f, 0.000238f, 0.000016f, -0.000186f, -0.000559f, -0.000907f, -0.001097f, -0.001249f, -0.001412f, -0.001512f} - }, - { - {0.883975f, 0.742747f, 0.483914f, 0.188904f, -0.047459f, -0.209233f, -0.344855f, -0.459879f, -0.499939f, -0.451850f, -0.382284f, -0.347274f, -0.330209f, -0.301172f, -0.273988f, -0.260328f, -0.215778f, -0.082603f, 0.135261f, 0.371525f, 0.553401f, 0.638210f, 0.619076f, 0.521305f, 0.383817f, 0.230837f, 0.070028f, -0.082040f, -0.195461f, -0.256180f, -0.280452f, -0.291260f, -0.295978f, -0.293653f, -0.286459f, -0.272643f, -0.239767f, -0.175784f, -0.082109f, 0.027789f, 0.135803f, 0.222618f, 0.272015f, 0.278079f, 0.246877f, 0.190947f, 0.124821f, 0.063584f, 0.018967f, -0.005841f, -0.015723f, -0.017984f, -0.018340f, -0.020401f, -0.025556f, -0.032860f, -0.040363f, -0.046742f, -0.051655f, -0.055748f, -0.060851f, -0.069127f, -0.081442f, -0.096777f, -0.112463f, -0.123699f, -0.123450f, -0.104852f, -0.064843f, -0.005816f, 0.065155f, 0.137891f, 0.201213f, 0.245836f, 0.266654f, 0.262765f, 0.235893f, 0.188819f, 0.124475f, 0.045794f, -0.043343f, -0.136558f, -0.224279f, -0.294747f, -0.336348f, -0.340593f, -0.304985f, -0.234374f, -0.139779f, -0.035298f, 0.065161f, 0.150165f, 0.211935f, 0.246636f, 0.254039f, 0.236891f, - 0.200185f, 0.150350f, 0.094455f, 0.039464f, -0.008619f, -0.045731f, -0.070400f, -0.083602f, -0.087939f, -0.086661f, -0.082872f, -0.078985f, -0.076432f, -0.075622f, -0.076068f, -0.076524f, -0.075078f, -0.069344f, -0.056965f, -0.036414f, -0.007704f, 0.027321f, 0.065163f, 0.101267f, 0.130992f, 0.150629f, 0.157941f, 0.152138f, 0.133674f, 0.104033f, 0.065396f, 0.020338f, -0.028149f, -0.076464f, -0.120497f, -0.155961f, -0.178741f, -0.185412f, -0.174114f, -0.145315f, -0.101960f, -0.049135f, 0.006550f, 0.058125f, 0.099789f, 0.127948f, 0.141382f, 0.140988f, 0.129340f, 0.109801f, 0.085494f, 0.058877f, 0.031865f, 0.005795f, -0.018626f, -0.040919f, -0.060327f, -0.075887f, -0.086696f, -0.091841f, -0.090471f, -0.082358f, -0.068247f, -0.049554f, -0.028075f, -0.006021f, 0.014334f, 0.031377f, 0.044342f, 0.052977f, 0.057575f, 0.059084f, 0.058543f, 0.056491f, 0.053219f, 0.048980f, 0.043403f, 0.035343f, 0.023794f, 0.008214f, -0.012079f, -0.037401f, -0.066035f, -0.094144f, -0.117200f, -0.129987f, -0.126089f, -0.100443f, -0.053216f, 0.010034f, 0.080385f, 0.145063f, 0.187642f, 0.194442f, 0.161633f, 0.094675f, - 0.005067f, -0.087812f, -0.157659f, -0.183614f, -0.160959f, -0.096474f, -0.003389f, 0.088590f, 0.132728f, 0.101387f, 0.023921f, -0.034469f, -0.038942f, -0.013063f, 0.003237f, 0.001212f, -0.002961f, -0.001216f, 0.000276f, -0.001620f, -0.002467f, -0.000772f, -0.000058f, -0.001118f, -0.001152f, 0.000189f, 0.000633f, 0.000071f, 0.000304f, 0.001243f, 0.001427f, 0.001031f, 0.001189f, 0.001646f, 0.001521f, 0.001094f, 0.001029f, 0.001052f, 0.000696f, 0.000238f, 0.000016f, -0.000186f, -0.000559f, -0.000907f, -0.001097f, -0.001249f, -0.001412f, -0.001512f}, - {0.984080f, 0.970476f, 1.006906f, 1.104260f, 1.216794f, 1.335635f, 1.464294f, 1.533054f, 1.477510f, 1.373694f, 1.348288f, 1.379970f, 1.341218f, 1.215083f, 1.111544f, 1.076764f, 1.041682f, 0.966496f, 0.893479f, 0.840686f, 0.769350f, 0.677157f, 0.617786f, 0.610740f, 0.620021f, 0.628332f, 0.649967f, 0.668214f, 0.639094f, 0.564000f, 0.493341f, 0.454442f, 0.430784f, 0.411315f, 0.408973f, 0.429006f, 0.460805f, 0.502650f, 0.562459f, 0.634539f, 0.699920f, 0.747237f, 0.776345f, 0.788052f, 0.785425f, 0.779422f, 0.782268f, 0.799652f, 0.833592f, 0.884572f, 0.946592f, 1.007188f, 1.054930f, 1.082330f, 1.083817f, 1.058335f, 1.012691f, 0.956250f, 0.893651f, 0.826213f, 0.756564f, 0.687438f, 0.619177f, 0.552166f, 0.489247f, 0.433687f, 0.387315f, 0.351696f, 0.328352f, 0.317105f, 0.316219f, 0.324077f, 0.339216f, 0.359831f, 0.385071f, 0.416020f, 0.454311f, 0.500915f, 0.557014f, 0.624731f, 0.706142f, 0.802040f, 0.911693f, 1.033446f, 1.165920f, 1.308336f, 1.458725f, 1.612356f, 1.763090f, 1.904749f, 2.029174f, 2.125343f, 2.184253f, 2.203656f, 2.185203f, 2.129319f, - 2.037039f, 1.914643f, 1.771288f, 1.612832f, 1.442204f, 1.264496f, 1.086482f, 0.911185f, 0.737532f, 0.566210f, 0.402309f, 0.251448f, 0.116550f, -0.000376f, -0.096273f, -0.169242f, -0.221428f, -0.257657f, -0.281475f, -0.293927f, -0.295924f, -0.289877f, -0.278242f, -0.261940f, -0.241537f, -0.219109f, -0.197455f, -0.177735f, -0.159025f, -0.140026f, -0.120145f, -0.098893f, -0.075279f, -0.048418f, -0.018567f, 0.012653f, 0.043076f, 0.070995f, 0.095137f, 0.113713f, 0.124275f, 0.125072f, 0.115890f, 0.096669f, 0.065855f, 0.021420f, -0.036755f, -0.106849f, -0.187293f, -0.277135f, -0.373714f, -0.471889f, -0.566991f, -0.657229f, -0.741912f, -0.818969f, -0.886425f, -0.945214f, -0.997930f, -1.045205f, -1.085732f, -1.119527f, -1.148452f, -1.173231f, -1.192402f, -1.204919f, -1.211832f, -1.214558f, -1.212985f, -1.206284f, -1.194921f, -1.180840f, -1.165524f, -1.148636f, -1.129578f, -1.109786f, -1.091431f, -1.073946f, -1.054811f, -1.033994f, -1.013549f, -0.992185f, -0.965310f, -0.931378f, -0.892025f, -0.844815f, -0.783136f, -0.704366f, -0.609651f, -0.494994f, -0.352963f, -0.184110f, 0.004235f, 0.209198f, 0.428300f, 0.646026f, - 0.840500f, 0.999858f, 1.113448f, 1.155053f, 1.100378f, 0.951048f, 0.711125f, 0.363726f, -0.066699f, -0.436902f, -0.559600f, -0.399070f, -0.132866f, 0.029384f, 0.043765f, 0.007950f, -0.001756f, 0.005023f, 0.001749f, -0.004233f, -0.000749f, 0.003458f, 0.000224f, -0.002740f, 0.000175f, 0.002291f, -0.000296f, -0.001833f, 0.000392f, 0.001448f, -0.000493f, -0.001223f, 0.000422f, 0.000882f, -0.000505f, -0.000755f, 0.000403f, 0.000509f, -0.000413f, -0.000382f, 0.000355f, 0.000254f, -0.000271f, -0.000091f, 0.000266f, 0.000059f, -0.000112f, 0.000122f} - }, - { - {1.063474f, 1.043131f, 1.080672f, 1.214000f, 1.381928f, 1.505441f, 1.571766f, 1.596869f, 1.559288f, 1.443460f, 1.315432f, 1.264794f, 1.275827f, 1.246689f, 1.147952f, 1.067945f, 1.069330f, 1.093255f, 1.060696f, 0.991275f, 0.952308f, 0.947628f, 0.931450f, 0.896088f, 0.875184f, 0.877635f, 0.877306f, 0.862455f, 0.851114f, 0.858664f, 0.880945f, 0.907411f, 0.929244f, 0.938406f, 0.935115f, 0.932668f, 0.945105f, 0.975372f, 1.020051f, 1.076159f, 1.138482f, 1.199314f, 1.255133f, 1.306848f, 1.352586f, 1.387511f, 1.411062f, 1.428044f, 1.442949f, 1.457837f, 1.473867f, 1.490422f, 1.504141f, 1.511326f, 1.509565f, 1.496836f, 1.472407f, 1.438435f, 1.397187f, 1.347911f, 1.289991f, 1.226763f, 1.162058f, 1.095742f, 1.026740f, 0.957251f, 0.889862f, 0.823884f, 0.758601f, 0.697267f, 0.644668f, 0.603523f, 0.575533f, 0.562861f, 0.566399f, 0.584922f, 0.616971f, 0.661507f, 0.716950f, 0.782071f, 0.857272f, 0.942702f, 1.036381f, 1.136549f, 1.244199f, 1.360630f, 1.484022f, 1.610883f, 1.739254f, 1.867675f, 1.991785f, 2.104459f, 2.199314f, 2.272351f, 2.319839f, 2.336536f, - 2.318055f, 2.264616f, 2.180165f, 2.067426f, 1.926830f, 1.761394f, 1.578694f, 1.385256f, 1.182714f, 0.972923f, 0.762994f, 0.560921f, 0.369676f, 0.190476f, 0.028730f, -0.108777f, -0.220619f, -0.309841f, -0.378087f, -0.425236f, -0.453644f, -0.468415f, -0.473457f, -0.470028f, -0.459061f, -0.442865f, -0.424328f, -0.405395f, -0.386539f, -0.367682f, -0.349391f, -0.332184f, -0.314542f, -0.293369f, -0.267138f, -0.236981f, -0.204194f, -0.168837f, -0.131697f, -0.095649f, -0.064007f, -0.038874f, -0.021740f, -0.014608f, -0.020128f, -0.040959f, -0.078587f, -0.132851f, -0.203536f, -0.291705f, -0.397394f, -0.516941f, -0.645343f, -0.780070f, -0.919041f, -1.056337f, -1.184558f, -1.300520f, -1.404186f, -1.493222f, -1.563734f, -1.615600f, -1.652081f, -1.674537f, -1.681849f, -1.674638f, -1.656140f, -1.629030f, -1.594189f, -1.552486f, -1.506033f, -1.457814f, -1.410294f, -1.363968f, -1.318341f, -1.274920f, -1.236490f, -1.202485f, -1.169363f, -1.136833f, -1.107851f, -1.080975f, -1.050211f, -1.014006f, -0.975256f, -0.930779f, -0.871463f, -0.793938f, -0.699614f, -0.581833f, -0.428980f, -0.240611f, -0.024812f, 0.217463f, 0.485342f, 0.758970f, - 1.009742f, 1.222711f, 1.383022f, 1.452948f, 1.397393f, 1.216786f, 0.913966f, 0.463363f, -0.102253f, -0.587837f, -0.741210f, -0.518203f, -0.161231f, 0.049607f, 0.061391f, 0.009945f, -0.002758f, 0.007110f, 0.002413f, -0.005996f, -0.001010f, 0.004903f, 0.000261f, -0.003925f, 0.000280f, 0.003284f, -0.000470f, -0.002645f, 0.000624f, 0.002115f, -0.000763f, -0.001772f, 0.000700f, 0.001304f, -0.000805f, -0.001090f, 0.000689f, 0.000741f, -0.000698f, -0.000535f, 0.000618f, 0.000330f, -0.000506f, -0.000092f, 0.000475f, 0.000007f, -0.000267f, 0.000243f}, - {0.905512f, 0.678641f, 0.311373f, -0.074151f, -0.391473f, -0.617374f, -0.746262f, -0.740996f, -0.564331f, -0.254460f, 0.070978f, 0.303423f, 0.417282f, 0.449447f, 0.432211f, 0.367816f, 0.255977f, 0.119310f, -0.009037f, -0.114250f, -0.203912f, -0.281083f, -0.325135f, -0.311110f, -0.241931f, -0.146174f, -0.046109f, 0.054859f, 0.151966f, 0.226035f, 0.259397f, 0.251854f, 0.213115f, 0.150155f, 0.069211f, -0.018634f, -0.100791f, -0.166658f, -0.205638f, -0.209754f, -0.181909f, -0.135245f, -0.081451f, -0.024331f, 0.034856f, 0.091963f, 0.141052f, 0.175632f, 0.187911f, 0.171589f, 0.127151f, 0.062454f, -0.011149f, -0.081170f, -0.135073f, -0.163849f, -0.165675f, -0.145034f, -0.109098f, -0.065479f, -0.020785f, 0.021411f, 0.060865f, 0.097933f, 0.130852f, 0.155355f, 0.165308f, 0.153592f, 0.114488f, 0.047274f, -0.041250f, -0.136303f, -0.216742f, -0.259900f, -0.249627f, -0.183769f, -0.076421f, 0.046233f, 0.154456f, 0.224564f, 0.245543f, 0.219702f, 0.158367f, 0.076598f, -0.010361f, -0.088906f, -0.147863f, -0.178885f, -0.177527f, -0.145152f, -0.089784f, -0.024237f, 0.037621f, 0.084404f, 0.109576f, 0.112370f, - 0.096930f, 0.070039f, 0.038778f, 0.009027f, -0.015303f, -0.032497f, -0.042624f, -0.046771f, -0.046440f, -0.043125f, -0.037867f, -0.031014f, -0.022391f, -0.011633f, 0.001488f, 0.016579f, 0.032114f, 0.045463f, 0.053594f, 0.054013f, 0.045545f, 0.028883f, 0.006695f, -0.016938f, -0.037553f, -0.051342f, -0.055978f, -0.051160f, -0.038603f, -0.021347f, -0.002781f, 0.014142f, 0.027341f, 0.035751f, 0.039167f, 0.037897f, 0.032496f, 0.023714f, 0.012505f, 0.000000f, -0.012486f, -0.023459f, -0.031401f, -0.035090f, -0.033864f, -0.027773f, -0.017676f, -0.005222f, 0.007471f, 0.018343f, 0.025831f, 0.029082f, 0.028059f, 0.023474f, 0.016464f, 0.008192f, -0.000309f, -0.008120f, -0.014522f, -0.019089f, -0.021594f, -0.021867f, -0.019862f, -0.015729f, -0.009742f, -0.002298f, 0.005904f, 0.013865f, 0.020516f, 0.024843f, 0.025909f, 0.023153f, 0.016760f, 0.007563f, -0.003225f, -0.014006f, -0.022916f, -0.028476f, -0.029983f, -0.027181f, -0.020128f, -0.009670f, 0.002656f, 0.015448f, 0.027375f, 0.036285f, 0.039574f, 0.035702f, 0.024364f, 0.005813f, -0.017861f, -0.040900f, -0.055655f, -0.056646f, -0.041947f, -0.012939f, - 0.023511f, 0.054222f, 0.066227f, 0.054969f, 0.024437f, -0.016387f, -0.051673f, -0.060245f, -0.033060f, 0.009957f, 0.033887f, 0.024885f, 0.002528f, -0.007913f, -0.003871f, 0.001012f, 0.000170f, -0.001482f, -0.000477f, 0.000417f, -0.000514f, -0.001048f, -0.000134f, 0.000401f, -0.000132f, -0.000249f, 0.000462f, 0.000732f, 0.000295f, 0.000193f, 0.000558f, 0.000516f, 0.000036f, -0.000136f, -0.000008f, -0.000166f, -0.000521f, -0.000566f, -0.000402f, -0.000420f, -0.000486f, -0.000304f, -0.000043f, 0.000060f, 0.000153f, 0.000366f, 0.000506f, 0.000491f} - }, - { - {0.905512f, 0.678641f, 0.311373f, -0.074151f, -0.391473f, -0.617374f, -0.746262f, -0.740996f, -0.564331f, -0.254460f, 0.070978f, 0.303423f, 0.417282f, 0.449447f, 0.432211f, 0.367816f, 0.255977f, 0.119310f, -0.009037f, -0.114250f, -0.203912f, -0.281083f, -0.325135f, -0.311110f, -0.241931f, -0.146174f, -0.046109f, 0.054859f, 0.151966f, 0.226035f, 0.259397f, 0.251854f, 0.213115f, 0.150155f, 0.069211f, -0.018634f, -0.100791f, -0.166658f, -0.205638f, -0.209754f, -0.181909f, -0.135245f, -0.081451f, -0.024331f, 0.034856f, 0.091963f, 0.141052f, 0.175632f, 0.187911f, 0.171589f, 0.127151f, 0.062454f, -0.011149f, -0.081170f, -0.135073f, -0.163849f, -0.165675f, -0.145034f, -0.109098f, -0.065479f, -0.020785f, 0.021411f, 0.060865f, 0.097933f, 0.130852f, 0.155355f, 0.165308f, 0.153592f, 0.114488f, 0.047274f, -0.041250f, -0.136303f, -0.216742f, -0.259900f, -0.249627f, -0.183769f, -0.076421f, 0.046233f, 0.154456f, 0.224564f, 0.245543f, 0.219702f, 0.158367f, 0.076598f, -0.010361f, -0.088906f, -0.147863f, -0.178885f, -0.177527f, -0.145152f, -0.089784f, -0.024237f, 0.037621f, 0.084404f, 0.109576f, 0.112370f, - 0.096930f, 0.070039f, 0.038778f, 0.009027f, -0.015303f, -0.032497f, -0.042624f, -0.046771f, -0.046440f, -0.043125f, -0.037867f, -0.031014f, -0.022391f, -0.011633f, 0.001488f, 0.016579f, 0.032114f, 0.045463f, 0.053594f, 0.054013f, 0.045545f, 0.028883f, 0.006695f, -0.016938f, -0.037553f, -0.051342f, -0.055978f, -0.051160f, -0.038603f, -0.021347f, -0.002781f, 0.014142f, 0.027341f, 0.035751f, 0.039167f, 0.037897f, 0.032496f, 0.023714f, 0.012505f, 0.000000f, -0.012486f, -0.023459f, -0.031401f, -0.035090f, -0.033864f, -0.027773f, -0.017676f, -0.005222f, 0.007471f, 0.018343f, 0.025831f, 0.029082f, 0.028059f, 0.023474f, 0.016464f, 0.008192f, -0.000309f, -0.008120f, -0.014522f, -0.019089f, -0.021594f, -0.021867f, -0.019862f, -0.015729f, -0.009742f, -0.002298f, 0.005904f, 0.013865f, 0.020516f, 0.024843f, 0.025909f, 0.023153f, 0.016760f, 0.007563f, -0.003225f, -0.014006f, -0.022916f, -0.028476f, -0.029983f, -0.027181f, -0.020128f, -0.009670f, 0.002656f, 0.015448f, 0.027375f, 0.036285f, 0.039574f, 0.035702f, 0.024364f, 0.005813f, -0.017861f, -0.040900f, -0.055655f, -0.056646f, -0.041947f, -0.012939f, - 0.023511f, 0.054222f, 0.066227f, 0.054969f, 0.024437f, -0.016387f, -0.051673f, -0.060245f, -0.033060f, 0.009957f, 0.033887f, 0.024885f, 0.002528f, -0.007913f, -0.003871f, 0.001012f, 0.000170f, -0.001482f, -0.000477f, 0.000417f, -0.000514f, -0.001048f, -0.000134f, 0.000401f, -0.000132f, -0.000249f, 0.000462f, 0.000732f, 0.000295f, 0.000193f, 0.000558f, 0.000516f, 0.000036f, -0.000136f, -0.000008f, -0.000166f, -0.000521f, -0.000566f, -0.000402f, -0.000420f, -0.000486f, -0.000304f, -0.000043f, 0.000060f, 0.000153f, 0.000366f, 0.000506f, 0.000491f}, - {1.063474f, 1.043131f, 1.080672f, 1.214000f, 1.381928f, 1.505441f, 1.571766f, 1.596869f, 1.559288f, 1.443460f, 1.315432f, 1.264794f, 1.275827f, 1.246689f, 1.147952f, 1.067945f, 1.069330f, 1.093255f, 1.060696f, 0.991275f, 0.952308f, 0.947628f, 0.931450f, 0.896088f, 0.875184f, 0.877635f, 0.877306f, 0.862455f, 0.851114f, 0.858664f, 0.880945f, 0.907411f, 0.929244f, 0.938406f, 0.935115f, 0.932668f, 0.945105f, 0.975372f, 1.020051f, 1.076159f, 1.138482f, 1.199314f, 1.255133f, 1.306848f, 1.352586f, 1.387511f, 1.411062f, 1.428044f, 1.442949f, 1.457837f, 1.473867f, 1.490422f, 1.504141f, 1.511326f, 1.509565f, 1.496836f, 1.472407f, 1.438435f, 1.397187f, 1.347911f, 1.289991f, 1.226763f, 1.162058f, 1.095742f, 1.026740f, 0.957251f, 0.889862f, 0.823884f, 0.758601f, 0.697267f, 0.644668f, 0.603523f, 0.575533f, 0.562861f, 0.566399f, 0.584922f, 0.616971f, 0.661507f, 0.716950f, 0.782071f, 0.857272f, 0.942702f, 1.036381f, 1.136549f, 1.244199f, 1.360630f, 1.484022f, 1.610883f, 1.739254f, 1.867675f, 1.991785f, 2.104459f, 2.199314f, 2.272351f, 2.319839f, 2.336536f, - 2.318055f, 2.264616f, 2.180165f, 2.067426f, 1.926830f, 1.761394f, 1.578694f, 1.385256f, 1.182714f, 0.972923f, 0.762994f, 0.560921f, 0.369676f, 0.190476f, 0.028730f, -0.108777f, -0.220619f, -0.309841f, -0.378087f, -0.425236f, -0.453644f, -0.468415f, -0.473457f, -0.470028f, -0.459061f, -0.442865f, -0.424328f, -0.405395f, -0.386539f, -0.367682f, -0.349391f, -0.332184f, -0.314542f, -0.293369f, -0.267138f, -0.236981f, -0.204194f, -0.168837f, -0.131697f, -0.095649f, -0.064007f, -0.038874f, -0.021740f, -0.014608f, -0.020128f, -0.040959f, -0.078587f, -0.132851f, -0.203536f, -0.291705f, -0.397394f, -0.516941f, -0.645343f, -0.780070f, -0.919041f, -1.056337f, -1.184558f, -1.300520f, -1.404186f, -1.493222f, -1.563734f, -1.615600f, -1.652081f, -1.674537f, -1.681849f, -1.674638f, -1.656140f, -1.629030f, -1.594189f, -1.552486f, -1.506033f, -1.457814f, -1.410294f, -1.363968f, -1.318341f, -1.274920f, -1.236490f, -1.202485f, -1.169363f, -1.136833f, -1.107851f, -1.080975f, -1.050211f, -1.014006f, -0.975256f, -0.930779f, -0.871463f, -0.793938f, -0.699614f, -0.581833f, -0.428980f, -0.240611f, -0.024812f, 0.217463f, 0.485342f, 0.758970f, - 1.009742f, 1.222711f, 1.383022f, 1.452948f, 1.397393f, 1.216786f, 0.913966f, 0.463363f, -0.102253f, -0.587837f, -0.741210f, -0.518203f, -0.161231f, 0.049607f, 0.061391f, 0.009945f, -0.002758f, 0.007110f, 0.002413f, -0.005996f, -0.001010f, 0.004903f, 0.000261f, -0.003925f, 0.000280f, 0.003284f, -0.000470f, -0.002645f, 0.000624f, 0.002115f, -0.000763f, -0.001772f, 0.000700f, 0.001304f, -0.000805f, -0.001090f, 0.000689f, 0.000741f, -0.000698f, -0.000535f, 0.000618f, 0.000330f, -0.000506f, -0.000092f, 0.000475f, 0.000007f, -0.000267f, 0.000243f} - }, - { - {1.090612f, 1.124607f, 1.168203f, 1.251890f, 1.418329f, 1.597546f, 1.655179f, 1.582145f, 1.504210f, 1.475289f, 1.403668f, 1.239120f, 1.093260f, 1.081569f, 1.155447f, 1.196594f, 1.194813f, 1.219751f, 1.274331f, 1.294266f, 1.269910f, 1.263313f, 1.300588f, 1.329007f, 1.297460f, 1.221672f, 1.152041f, 1.117220f, 1.113599f, 1.121528f, 1.121547f, 1.114494f, 1.129257f, 1.193632f, 1.297545f, 1.400895f, 1.475605f, 1.523950f, 1.558278f, 1.581891f, 1.594396f, 1.602121f, 1.615403f, 1.640470f, 1.677097f, 1.720927f, 1.766581f, 1.810296f, 1.849698f, 1.880635f, 1.896590f, 1.893026f, 1.870641f, 1.833225f, 1.784630f, 1.729383f, 1.673762f, 1.623245f, 1.579086f, 1.538579f, 1.497829f, 1.452657f, 1.397429f, 1.325606f, 1.233180f, 1.121272f, 0.995053f, 0.861250f, 0.727628f, 0.603189f, 0.495955f, 0.409941f, 0.345638f, 0.303340f, 0.284212f, 0.287909f, 0.311238f, 0.350209f, 0.402431f, 0.467015f, 0.543153f, 0.629394f, 0.723639f, 0.823272f, 0.925269f, 1.026136f, 1.122298f, 1.211920f, 1.296779f, 1.380918f, 1.466626f, 1.552846f, 1.637734f, 1.720181f, 1.796938f, 1.860399f, - 1.901996f, 1.916706f, 1.901778f, 1.852697f, 1.764610f, 1.638066f, 1.479859f, 1.297511f, 1.096512f, 0.884132f, 0.671480f, 0.468197f, 0.277415f, 0.098866f, -0.065566f, -0.213245f, -0.345768f, -0.467783f, -0.580825f, -0.682112f, -0.769567f, -0.844138f, -0.906188f, -0.953219f, -0.983275f, -0.998322f, -1.002195f, -0.996823f, -0.982433f, -0.960340f, -0.933166f, -0.902260f, -0.866678f, -0.825449f, -0.779784f, -0.732273f, -0.684647f, -0.637476f, -0.591811f, -0.549903f, -0.513900f, -0.484651f, -0.462485f, -0.448846f, -0.446501f, -0.458060f, -0.484778f, -0.527243f, -0.586726f, -0.664534f, -0.759541f, -0.867568f, -0.984007f, -1.105517f, -1.227820f, -1.343849f, -1.446666f, -1.533071f, -1.601920f, -1.650494f, -1.675782f, -1.678279f, -1.660970f, -1.625102f, -1.570297f, -1.498421f, -1.413974f, -1.320639f, -1.220302f, -1.115550f, -1.010636f, -0.909518f, -0.814469f, -0.726777f, -0.647886f, -0.579631f, -0.523222f, -0.477897f, -0.441703f, -0.414045f, -0.395476f, -0.384365f, -0.376980f, -0.371994f, -0.370648f, -0.371074f, -0.367650f, -0.357359f, -0.340112f, -0.311253f, -0.261890f, -0.188496f, -0.093373f, 0.024718f, 0.168335f, 0.328881f, - 0.489510f, 0.639645f, 0.770221f, 0.857680f, 0.874965f, 0.814834f, 0.675130f, 0.433231f, 0.090010f, -0.252149f, -0.424257f, -0.353241f, -0.152103f, -0.001328f, 0.031000f, 0.007695f, -0.002042f, 0.003578f, 0.002256f, -0.003204f, -0.001309f, 0.002742f, 0.000775f, -0.002211f, -0.000307f, 0.001911f, 0.000119f, -0.001567f, 0.000027f, 0.001244f, -0.000202f, -0.001092f, 0.000170f, 0.000778f, -0.000312f, -0.000692f, 0.000244f, 0.000463f, -0.000292f, -0.000352f, 0.000267f, 0.000241f, -0.000201f, -0.000080f, 0.000227f, 0.000070f, -0.000076f, 0.000114f}, - {0.917276f, 0.651543f, 0.241263f, -0.179200f, -0.536810f, -0.786529f, -0.861095f, -0.706896f, -0.361415f, 0.046576f, 0.387107f, 0.602460f, 0.691808f, 0.656249f, 0.487165f, 0.202283f, -0.131443f, -0.423124f, -0.603354f, -0.645005f, -0.551682f, -0.342497f, -0.055403f, 0.244110f, 0.476519f, 0.583184f, 0.550153f, 0.400664f, 0.174562f, -0.080033f, -0.307236f, -0.454647f, -0.492004f, -0.418390f, -0.256044f, -0.044660f, 0.162619f, 0.313362f, 0.377265f, 0.354834f, 0.266128f, 0.135954f, -0.009977f, -0.143596f, -0.238634f, -0.278506f, -0.259780f, -0.190547f, -0.088270f, 0.022745f, 0.117338f, 0.177563f, 0.197090f, 0.179340f, 0.132881f, 0.068619f, -0.001036f, -0.063710f, -0.109881f, -0.134545f, -0.136594f, -0.117710f, -0.082176f, -0.036408f, 0.012762f, 0.059536f, 0.098989f, 0.126240f, 0.136203f, 0.123860f, 0.085609f, 0.022846f, -0.054001f, -0.125717f, -0.170830f, -0.174541f, -0.134647f, -0.062373f, 0.021510f, 0.094181f, 0.139095f, 0.150662f, 0.132927f, 0.094500f, 0.044027f, -0.011484f, -0.065806f, -0.111701f, -0.140080f, -0.141689f, -0.111311f, -0.052311f, 0.021787f, 0.090808f, 0.135451f, 0.144793f, - 0.119617f, 0.070364f, 0.011865f, -0.041957f, -0.081346f, -0.101583f, -0.102258f, -0.086016f, -0.057310f, -0.021283f, 0.016947f, 0.052401f, 0.080081f, 0.095197f, 0.093880f, 0.074223f, 0.037586f, -0.010223f, -0.059028f, -0.096507f, -0.111982f, -0.100221f, -0.063756f, -0.012589f, 0.039076f, 0.077825f, 0.095266f, 0.089753f, 0.065616f, 0.030843f, -0.005738f, -0.036776f, -0.057529f, -0.065952f, -0.062341f, -0.048736f, -0.028162f, -0.004067f, 0.019866f, 0.039922f, 0.052856f, 0.056438f, 0.049836f, 0.033935f, 0.011469f, -0.013398f, -0.035916f, -0.051598f, -0.057074f, -0.050971f, -0.034395f, -0.010676f, 0.015312f, 0.037984f, 0.052292f, 0.055175f, 0.046354f, 0.028123f, 0.004662f, -0.018844f, -0.037452f, -0.047700f, -0.048091f, -0.039003f, -0.022561f, -0.002299f, 0.017721f, 0.033814f, 0.043099f, 0.043847f, 0.035955f, 0.020985f, 0.001707f, -0.018215f, -0.034574f, -0.043678f, -0.043517f, -0.034017f, -0.016874f, 0.004283f, 0.024420f, 0.038946f, 0.045076f, 0.041570f, 0.028591f, 0.008573f, -0.013985f, -0.034323f, -0.048076f, -0.050638f, -0.038773f, -0.014129f, 0.016384f, 0.043822f, 0.059238f, 0.054834f, - 0.028889f, -0.009231f, -0.043019f, -0.058834f, -0.050365f, -0.018436f, 0.024349f, 0.051843f, 0.042557f, 0.005228f, -0.025317f, -0.025348f, -0.006082f, 0.006509f, 0.004601f, -0.000170f, 0.000455f, 0.002497f, 0.001552f, 0.000003f, 0.000353f, 0.000671f, -0.000593f, -0.001643f, -0.001255f, -0.000846f, -0.001219f, -0.001146f, -0.000127f, 0.000663f, 0.000752f, 0.000985f, 0.001528f, 0.001552f, 0.000946f, 0.000436f, 0.000126f, -0.000453f, -0.001159f, -0.001450f, -0.001371f, -0.001268f, -0.001021f, -0.000425f, 0.000257f, 0.000753f, 0.001163f, 0.001494f} - }, - { - {0.917276f, 0.651543f, 0.241263f, -0.179200f, -0.536810f, -0.786529f, -0.861095f, -0.706896f, -0.361415f, 0.046576f, 0.387107f, 0.602460f, 0.691808f, 0.656249f, 0.487165f, 0.202283f, -0.131443f, -0.423124f, -0.603354f, -0.645005f, -0.551682f, -0.342497f, -0.055403f, 0.244110f, 0.476519f, 0.583184f, 0.550153f, 0.400664f, 0.174562f, -0.080033f, -0.307236f, -0.454647f, -0.492004f, -0.418390f, -0.256044f, -0.044660f, 0.162619f, 0.313362f, 0.377265f, 0.354834f, 0.266128f, 0.135954f, -0.009977f, -0.143596f, -0.238634f, -0.278506f, -0.259780f, -0.190547f, -0.088270f, 0.022745f, 0.117338f, 0.177563f, 0.197090f, 0.179340f, 0.132881f, 0.068619f, -0.001036f, -0.063710f, -0.109881f, -0.134545f, -0.136594f, -0.117710f, -0.082176f, -0.036408f, 0.012762f, 0.059536f, 0.098989f, 0.126240f, 0.136203f, 0.123860f, 0.085609f, 0.022846f, -0.054001f, -0.125717f, -0.170830f, -0.174541f, -0.134647f, -0.062373f, 0.021510f, 0.094181f, 0.139095f, 0.150662f, 0.132927f, 0.094500f, 0.044027f, -0.011484f, -0.065806f, -0.111701f, -0.140080f, -0.141689f, -0.111311f, -0.052311f, 0.021787f, 0.090808f, 0.135451f, 0.144793f, - 0.119617f, 0.070364f, 0.011865f, -0.041957f, -0.081346f, -0.101583f, -0.102258f, -0.086016f, -0.057310f, -0.021283f, 0.016947f, 0.052401f, 0.080081f, 0.095197f, 0.093880f, 0.074223f, 0.037586f, -0.010223f, -0.059028f, -0.096507f, -0.111982f, -0.100221f, -0.063756f, -0.012589f, 0.039076f, 0.077825f, 0.095266f, 0.089753f, 0.065616f, 0.030843f, -0.005738f, -0.036776f, -0.057529f, -0.065952f, -0.062341f, -0.048736f, -0.028162f, -0.004067f, 0.019866f, 0.039922f, 0.052856f, 0.056438f, 0.049836f, 0.033935f, 0.011469f, -0.013398f, -0.035916f, -0.051598f, -0.057074f, -0.050971f, -0.034395f, -0.010676f, 0.015312f, 0.037984f, 0.052292f, 0.055175f, 0.046354f, 0.028123f, 0.004662f, -0.018844f, -0.037452f, -0.047700f, -0.048091f, -0.039003f, -0.022561f, -0.002299f, 0.017721f, 0.033814f, 0.043099f, 0.043847f, 0.035955f, 0.020985f, 0.001707f, -0.018215f, -0.034574f, -0.043678f, -0.043517f, -0.034017f, -0.016874f, 0.004283f, 0.024420f, 0.038946f, 0.045076f, 0.041570f, 0.028591f, 0.008573f, -0.013985f, -0.034323f, -0.048076f, -0.050638f, -0.038773f, -0.014129f, 0.016384f, 0.043822f, 0.059238f, 0.054834f, - 0.028889f, -0.009231f, -0.043019f, -0.058834f, -0.050365f, -0.018436f, 0.024349f, 0.051843f, 0.042557f, 0.005228f, -0.025317f, -0.025348f, -0.006082f, 0.006509f, 0.004601f, -0.000170f, 0.000455f, 0.002497f, 0.001552f, 0.000003f, 0.000353f, 0.000671f, -0.000593f, -0.001643f, -0.001255f, -0.000846f, -0.001219f, -0.001146f, -0.000127f, 0.000663f, 0.000752f, 0.000985f, 0.001528f, 0.001552f, 0.000946f, 0.000436f, 0.000126f, -0.000453f, -0.001159f, -0.001450f, -0.001371f, -0.001268f, -0.001021f, -0.000425f, 0.000257f, 0.000753f, 0.001163f, 0.001494f}, - {1.090612f, 1.124607f, 1.168203f, 1.251890f, 1.418329f, 1.597546f, 1.655179f, 1.582145f, 1.504210f, 1.475289f, 1.403668f, 1.239120f, 1.093260f, 1.081569f, 1.155447f, 1.196594f, 1.194813f, 1.219751f, 1.274331f, 1.294266f, 1.269910f, 1.263313f, 1.300588f, 1.329007f, 1.297460f, 1.221672f, 1.152041f, 1.117220f, 1.113599f, 1.121528f, 1.121547f, 1.114494f, 1.129257f, 1.193632f, 1.297545f, 1.400895f, 1.475605f, 1.523950f, 1.558278f, 1.581891f, 1.594396f, 1.602121f, 1.615403f, 1.640470f, 1.677097f, 1.720927f, 1.766581f, 1.810296f, 1.849698f, 1.880635f, 1.896590f, 1.893026f, 1.870641f, 1.833225f, 1.784630f, 1.729383f, 1.673762f, 1.623245f, 1.579086f, 1.538579f, 1.497829f, 1.452657f, 1.397429f, 1.325606f, 1.233180f, 1.121272f, 0.995053f, 0.861250f, 0.727628f, 0.603189f, 0.495955f, 0.409941f, 0.345638f, 0.303340f, 0.284212f, 0.287909f, 0.311238f, 0.350209f, 0.402431f, 0.467015f, 0.543153f, 0.629394f, 0.723639f, 0.823272f, 0.925269f, 1.026136f, 1.122298f, 1.211920f, 1.296779f, 1.380918f, 1.466626f, 1.552846f, 1.637734f, 1.720181f, 1.796938f, 1.860399f, - 1.901996f, 1.916706f, 1.901778f, 1.852697f, 1.764610f, 1.638066f, 1.479859f, 1.297511f, 1.096512f, 0.884132f, 0.671480f, 0.468197f, 0.277415f, 0.098866f, -0.065566f, -0.213245f, -0.345768f, -0.467783f, -0.580825f, -0.682112f, -0.769567f, -0.844138f, -0.906188f, -0.953219f, -0.983275f, -0.998322f, -1.002195f, -0.996823f, -0.982433f, -0.960340f, -0.933166f, -0.902260f, -0.866678f, -0.825449f, -0.779784f, -0.732273f, -0.684647f, -0.637476f, -0.591811f, -0.549903f, -0.513900f, -0.484651f, -0.462485f, -0.448846f, -0.446501f, -0.458060f, -0.484778f, -0.527243f, -0.586726f, -0.664534f, -0.759541f, -0.867568f, -0.984007f, -1.105517f, -1.227820f, -1.343849f, -1.446666f, -1.533071f, -1.601920f, -1.650494f, -1.675782f, -1.678279f, -1.660970f, -1.625102f, -1.570297f, -1.498421f, -1.413974f, -1.320639f, -1.220302f, -1.115550f, -1.010636f, -0.909518f, -0.814469f, -0.726777f, -0.647886f, -0.579631f, -0.523222f, -0.477897f, -0.441703f, -0.414045f, -0.395476f, -0.384365f, -0.376980f, -0.371994f, -0.370648f, -0.371074f, -0.367650f, -0.357359f, -0.340112f, -0.311253f, -0.261890f, -0.188496f, -0.093373f, 0.024718f, 0.168335f, 0.328881f, - 0.489510f, 0.639645f, 0.770221f, 0.857680f, 0.874965f, 0.814834f, 0.675130f, 0.433231f, 0.090010f, -0.252149f, -0.424257f, -0.353241f, -0.152103f, -0.001328f, 0.031000f, 0.007695f, -0.002042f, 0.003578f, 0.002256f, -0.003204f, -0.001309f, 0.002742f, 0.000775f, -0.002211f, -0.000307f, 0.001911f, 0.000119f, -0.001567f, 0.000027f, 0.001244f, -0.000202f, -0.001092f, 0.000170f, 0.000778f, -0.000312f, -0.000692f, 0.000244f, 0.000463f, -0.000292f, -0.000352f, 0.000267f, 0.000241f, -0.000201f, -0.000080f, 0.000227f, 0.000070f, -0.000076f, 0.000114f} - }, - { - {1.112397f, 1.111335f, 1.098541f, 1.066221f, 1.017869f, 0.956090f, 0.875304f, 0.794051f, 0.783469f, 0.912714f, 1.154418f, 1.390208f, 1.523919f, 1.546110f, 1.485727f, 1.366225f, 1.230008f, 1.138792f, 1.115300f, 1.133121f, 1.181544f, 1.281430f, 1.418100f, 1.522549f, 1.547535f, 1.511683f, 1.451956f, 1.387778f, 1.346726f, 1.365986f, 1.445028f, 1.543010f, 1.636980f, 1.737911f, 1.841344f, 1.911123f, 1.925970f, 1.902958f, 1.864891f, 1.818149f, 1.768283f, 1.725885f, 1.690633f, 1.652687f, 1.611399f, 1.574846f, 1.545035f, 1.519441f, 1.500076f, 1.487021f, 1.471806f, 1.449320f, 1.426872f, 1.411941f, 1.401090f, 1.388324f, 1.373527f, 1.356198f, 1.331235f, 1.296699f, 1.257813f, 1.219852f, 1.183552f, 1.148414f, 1.114230f, 1.078765f, 1.038071f, 0.988570f, 0.927224f, 0.852801f, 0.768254f, 0.678135f, 0.583726f, 0.485145f, 0.386694f, 0.294105f, 0.207911f, 0.125603f, 0.048642f, -0.018544f, -0.074526f, -0.120226f, -0.154508f, -0.175796f, -0.186470f, -0.191357f, -0.193244f, -0.192820f, -0.191313f, -0.190742f, -0.192655f, -0.197592f, -0.204686f, -0.211940f, -0.218191f, -0.223996f, - -0.229614f, -0.234043f, -0.237357f, -0.241595f, -0.247842f, -0.254765f, -0.261227f, -0.267732f, -0.274126f, -0.278339f, -0.278541f, -0.274550f, -0.266501f, -0.253999f, -0.237013f, -0.216199f, -0.192291f, -0.166066f, -0.138455f, -0.109952f, -0.080598f, -0.050885f, -0.021663f, 0.007056f, 0.036069f, 0.065697f, 0.095709f, 0.126372f, 0.158482f, 0.192519f, 0.228577f, 0.266713f, 0.306680f, 0.347771f, 0.389146f, 0.429545f, 0.466699f, 0.498178f, 0.522837f, 0.540306f, 0.549440f, 0.548884f, 0.538969f, 0.521289f, 0.496435f, 0.463906f, 0.424432f, 0.380495f, 0.333949f, 0.284714f, 0.232690f, 0.179455f, 0.126660f, 0.073750f, 0.018927f, -0.038141f, -0.096401f, -0.156100f, -0.219366f, -0.287580f, -0.359934f, -0.435593f, -0.515692f, -0.601760f, -0.693176f, -0.787894f, -0.885348f, -0.986812f, -1.092377f, -1.199339f, -1.304999f, -1.409414f, -1.512886f, -1.612037f, -1.701983f, -1.781517f, -1.851454f, -1.908356f, -1.945802f, -1.961831f, -1.958173f, -1.932021f, -1.876786f, -1.791263f, -1.678747f, -1.537128f, -1.360504f, -1.150068f, -0.911518f, -0.643518f, -0.342730f, -0.017884f, 0.315739f, 0.650088f, 0.975129f, 1.264156f, - 1.488607f, 1.636372f, 1.693967f, 1.630407f, 1.428523f, 1.107711f, 0.682977f, 0.150519f, -0.414826f, -0.794658f, -0.785457f, -0.443271f, -0.068780f, 0.093541f, 0.063908f, 0.005868f, -0.000970f, 0.007761f, 0.000201f, -0.006097f, 0.000758f, 0.004704f, -0.001139f, -0.003615f, 0.001333f, 0.002891f, -0.001274f, -0.002236f, 0.001223f, 0.001737f, -0.001161f, -0.001399f, 0.000983f, 0.001007f, -0.000943f, -0.000823f, 0.000756f, 0.000549f, -0.000686f, -0.000398f, 0.000560f, 0.000246f, -0.000432f, -0.000077f, 0.000374f, 0.000016f, -0.000200f, 0.000171f}, - {1.079532f, 0.998235f, 0.850285f, 0.632018f, 0.357346f, 0.123599f, 0.061032f, 0.193395f, 0.396567f, 0.503127f, 0.416351f, 0.150118f, -0.179415f, -0.415063f, -0.477564f, -0.429570f, -0.389527f, -0.407796f, -0.468131f, -0.564318f, -0.698134f, -0.821601f, -0.860464f, -0.802613f, -0.711179f, -0.646626f, -0.616838f, -0.600835f, -0.578635f, -0.531502f, -0.444474f, -0.319603f, -0.174456f, -0.029034f, 0.098083f, 0.192379f, 0.255844f, 0.309193f, 0.371530f, 0.443415f, 0.513712f, 0.573199f, 0.617309f, 0.645288f, 0.661423f, 0.670890f, 0.673012f, 0.663713f, 0.642750f, 0.612720f, 0.573583f, 0.523581f, 0.462385f, 0.389021f, 0.300903f, 0.198899f, 0.089326f, -0.021841f, -0.132388f, -0.239961f, -0.339980f, -0.429136f, -0.506573f, -0.570849f, -0.620035f, -0.654986f, -0.678245f, -0.689440f, -0.685055f, -0.662509f, -0.621947f, -0.565149f, -0.495302f, -0.416936f, -0.333854f, -0.247460f, -0.158080f, -0.067051f, 0.023100f, 0.109595f, 0.190031f, 0.262592f, 0.325631f, 0.377009f, 0.414640f, 0.437919f, 0.447796f, 0.445623f, 0.433020f, 0.412348f, 0.385712f, 0.353870f, 0.317429f, 0.278358f, 0.238872f, 0.199766f, - 0.161294f, 0.124650f, 0.091143f, 0.061005f, 0.034231f, 0.011511f, -0.006807f, -0.021643f, -0.034229f, -0.045190f, -0.055109f, -0.065027f, -0.075849f, -0.087949f, -0.101562f, -0.117035f, -0.134702f, -0.154843f, -0.177496f, -0.202093f, -0.227631f, -0.253106f, -0.277270f, -0.298322f, -0.314656f, -0.325557f, -0.330409f, -0.327905f, -0.316927f, -0.297427f, -0.269514f, -0.232668f, -0.186868f, -0.133498f, -0.074069f, -0.009081f, 0.060877f, 0.133983f, 0.208161f, 0.282088f, 0.354192f, 0.421685f, 0.481644f, 0.532174f, 0.571494f, 0.596761f, 0.604942f, 0.594297f, 0.564069f, 0.513440f, 0.442118f, 0.351723f, 0.245530f, 0.127080f, 0.000223f, -0.129716f, -0.256333f, -0.374029f, -0.478501f, -0.565544f, -0.631076f, -0.672761f, -0.690270f, -0.683689f, -0.653190f, -0.600488f, -0.528942f, -0.441782f, -0.341626f, -0.231834f, -0.116682f, 0.000025f, 0.115102f, 0.224739f, 0.324534f, 0.410755f, 0.480542f, 0.531232f, 0.560568f, 0.567324f, 0.551195f, 0.512675f, 0.453339f, 0.375548f, 0.282095f, 0.176868f, 0.064992f, -0.048667f, -0.159757f, -0.262283f, -0.348547f, -0.412313f, -0.449169f, -0.453477f, -0.420000f, -0.349978f, - -0.250616f, -0.128884f, 0.006377f, 0.136800f, 0.239873f, 0.302094f, 0.314297f, 0.258860f, 0.129198f, -0.029823f, -0.132433f, -0.129413f, -0.059728f, -0.002602f, 0.007785f, -0.003487f, -0.007105f, -0.003815f, -0.004401f, -0.007051f, -0.005952f, -0.003689f, -0.004348f, -0.005493f, -0.004189f, -0.002643f, -0.003012f, -0.003342f, -0.002058f, -0.000889f, -0.000982f, -0.000846f, 0.000322f, 0.001228f, 0.001317f, 0.001678f, 0.002649f, 0.003310f, 0.003474f, 0.003877f, 0.004575f, 0.004982f, 0.005126f, 0.005431f, 0.005798f, 0.005946f, 0.006011f, 0.006127f} - }, - { - {1.079532f, 0.998235f, 0.850285f, 0.632018f, 0.357346f, 0.123599f, 0.061032f, 0.193395f, 0.396567f, 0.503127f, 0.416351f, 0.150118f, -0.179415f, -0.415063f, -0.477564f, -0.429570f, -0.389527f, -0.407796f, -0.468131f, -0.564318f, -0.698134f, -0.821601f, -0.860464f, -0.802613f, -0.711179f, -0.646626f, -0.616838f, -0.600835f, -0.578635f, -0.531502f, -0.444474f, -0.319603f, -0.174456f, -0.029034f, 0.098083f, 0.192379f, 0.255844f, 0.309193f, 0.371530f, 0.443415f, 0.513712f, 0.573199f, 0.617309f, 0.645288f, 0.661423f, 0.670890f, 0.673012f, 0.663713f, 0.642750f, 0.612720f, 0.573583f, 0.523581f, 0.462385f, 0.389021f, 0.300903f, 0.198899f, 0.089326f, -0.021841f, -0.132388f, -0.239961f, -0.339980f, -0.429136f, -0.506573f, -0.570849f, -0.620035f, -0.654986f, -0.678245f, -0.689440f, -0.685055f, -0.662509f, -0.621947f, -0.565149f, -0.495302f, -0.416936f, -0.333854f, -0.247460f, -0.158080f, -0.067051f, 0.023100f, 0.109595f, 0.190031f, 0.262592f, 0.325631f, 0.377009f, 0.414640f, 0.437919f, 0.447796f, 0.445623f, 0.433020f, 0.412348f, 0.385712f, 0.353870f, 0.317429f, 0.278358f, 0.238872f, 0.199766f, - 0.161294f, 0.124650f, 0.091143f, 0.061005f, 0.034231f, 0.011511f, -0.006807f, -0.021643f, -0.034229f, -0.045190f, -0.055109f, -0.065027f, -0.075849f, -0.087949f, -0.101562f, -0.117035f, -0.134702f, -0.154843f, -0.177496f, -0.202093f, -0.227631f, -0.253106f, -0.277270f, -0.298322f, -0.314656f, -0.325557f, -0.330409f, -0.327905f, -0.316927f, -0.297427f, -0.269514f, -0.232668f, -0.186868f, -0.133498f, -0.074069f, -0.009081f, 0.060877f, 0.133983f, 0.208161f, 0.282088f, 0.354192f, 0.421685f, 0.481644f, 0.532174f, 0.571494f, 0.596761f, 0.604942f, 0.594297f, 0.564069f, 0.513440f, 0.442118f, 0.351723f, 0.245530f, 0.127080f, 0.000223f, -0.129716f, -0.256333f, -0.374029f, -0.478501f, -0.565544f, -0.631076f, -0.672761f, -0.690270f, -0.683689f, -0.653190f, -0.600488f, -0.528942f, -0.441782f, -0.341626f, -0.231834f, -0.116682f, 0.000025f, 0.115102f, 0.224739f, 0.324534f, 0.410755f, 0.480542f, 0.531232f, 0.560568f, 0.567324f, 0.551195f, 0.512675f, 0.453339f, 0.375548f, 0.282095f, 0.176868f, 0.064992f, -0.048667f, -0.159757f, -0.262283f, -0.348547f, -0.412313f, -0.449169f, -0.453477f, -0.420000f, -0.349978f, - -0.250616f, -0.128884f, 0.006377f, 0.136800f, 0.239873f, 0.302094f, 0.314297f, 0.258860f, 0.129198f, -0.029823f, -0.132433f, -0.129413f, -0.059728f, -0.002602f, 0.007785f, -0.003487f, -0.007105f, -0.003815f, -0.004401f, -0.007051f, -0.005952f, -0.003689f, -0.004348f, -0.005493f, -0.004189f, -0.002643f, -0.003012f, -0.003342f, -0.002058f, -0.000889f, -0.000982f, -0.000846f, 0.000322f, 0.001228f, 0.001317f, 0.001678f, 0.002649f, 0.003310f, 0.003474f, 0.003877f, 0.004575f, 0.004982f, 0.005126f, 0.005431f, 0.005798f, 0.005946f, 0.006011f, 0.006127f}, - {1.112397f, 1.111335f, 1.098541f, 1.066221f, 1.017869f, 0.956090f, 0.875304f, 0.794051f, 0.783469f, 0.912714f, 1.154418f, 1.390208f, 1.523919f, 1.546110f, 1.485727f, 1.366225f, 1.230008f, 1.138792f, 1.115300f, 1.133121f, 1.181544f, 1.281430f, 1.418100f, 1.522549f, 1.547535f, 1.511683f, 1.451956f, 1.387778f, 1.346726f, 1.365986f, 1.445028f, 1.543010f, 1.636980f, 1.737911f, 1.841344f, 1.911123f, 1.925970f, 1.902958f, 1.864891f, 1.818149f, 1.768283f, 1.725885f, 1.690633f, 1.652687f, 1.611399f, 1.574846f, 1.545035f, 1.519441f, 1.500076f, 1.487021f, 1.471806f, 1.449320f, 1.426872f, 1.411941f, 1.401090f, 1.388324f, 1.373527f, 1.356198f, 1.331235f, 1.296699f, 1.257813f, 1.219852f, 1.183552f, 1.148414f, 1.114230f, 1.078765f, 1.038071f, 0.988570f, 0.927224f, 0.852801f, 0.768254f, 0.678135f, 0.583726f, 0.485145f, 0.386694f, 0.294105f, 0.207911f, 0.125603f, 0.048642f, -0.018544f, -0.074526f, -0.120226f, -0.154508f, -0.175796f, -0.186470f, -0.191357f, -0.193244f, -0.192820f, -0.191313f, -0.190742f, -0.192655f, -0.197592f, -0.204686f, -0.211940f, -0.218191f, -0.223996f, - -0.229614f, -0.234043f, -0.237357f, -0.241595f, -0.247842f, -0.254765f, -0.261227f, -0.267732f, -0.274126f, -0.278339f, -0.278541f, -0.274550f, -0.266501f, -0.253999f, -0.237013f, -0.216199f, -0.192291f, -0.166066f, -0.138455f, -0.109952f, -0.080598f, -0.050885f, -0.021663f, 0.007056f, 0.036069f, 0.065697f, 0.095709f, 0.126372f, 0.158482f, 0.192519f, 0.228577f, 0.266713f, 0.306680f, 0.347771f, 0.389146f, 0.429545f, 0.466699f, 0.498178f, 0.522837f, 0.540306f, 0.549440f, 0.548884f, 0.538969f, 0.521289f, 0.496435f, 0.463906f, 0.424432f, 0.380495f, 0.333949f, 0.284714f, 0.232690f, 0.179455f, 0.126660f, 0.073750f, 0.018927f, -0.038141f, -0.096401f, -0.156100f, -0.219366f, -0.287580f, -0.359934f, -0.435593f, -0.515692f, -0.601760f, -0.693176f, -0.787894f, -0.885348f, -0.986812f, -1.092377f, -1.199339f, -1.304999f, -1.409414f, -1.512886f, -1.612037f, -1.701983f, -1.781517f, -1.851454f, -1.908356f, -1.945802f, -1.961831f, -1.958173f, -1.932021f, -1.876786f, -1.791263f, -1.678747f, -1.537128f, -1.360504f, -1.150068f, -0.911518f, -0.643518f, -0.342730f, -0.017884f, 0.315739f, 0.650088f, 0.975129f, 1.264156f, - 1.488607f, 1.636372f, 1.693967f, 1.630407f, 1.428523f, 1.107711f, 0.682977f, 0.150519f, -0.414826f, -0.794658f, -0.785457f, -0.443271f, -0.068780f, 0.093541f, 0.063908f, 0.005868f, -0.000970f, 0.007761f, 0.000201f, -0.006097f, 0.000758f, 0.004704f, -0.001139f, -0.003615f, 0.001333f, 0.002891f, -0.001274f, -0.002236f, 0.001223f, 0.001737f, -0.001161f, -0.001399f, 0.000983f, 0.001007f, -0.000943f, -0.000823f, 0.000756f, 0.000549f, -0.000686f, -0.000398f, 0.000560f, 0.000246f, -0.000432f, -0.000077f, 0.000374f, 0.000016f, -0.000200f, 0.000171f} - }, - { - {1.075228f, 1.074217f, 1.098140f, 1.181350f, 1.301845f, 1.357285f, 1.275591f, 1.128376f, 1.051750f, 1.070717f, 1.096449f, 1.090338f, 1.120506f, 1.232710f, 1.365528f, 1.439321f, 1.453889f, 1.448913f, 1.426184f, 1.363771f, 1.270441f, 1.179270f, 1.105288f, 1.040796f, 0.980197f, 0.926868f, 0.882359f, 0.842806f, 0.803055f, 0.760151f, 0.717484f, 0.684947f, 0.668443f, 0.661086f, 0.651027f, 0.635243f, 0.620475f, 0.614727f, 0.622795f, 0.645718f, 0.679665f, 0.718175f, 0.758038f, 0.800110f, 0.844051f, 0.886529f, 0.924692f, 0.957013f, 0.980790f, 0.992993f, 0.994090f, 0.988656f, 0.982771f, 0.982211f, 0.991140f, 1.010513f, 1.038521f, 1.072547f, 1.108778f, 1.140961f, 1.163036f, 1.172913f, 1.171176f, 1.157532f, 1.131991f, 1.098142f, 1.061279f, 1.023708f, 0.984783f, 0.944459f, 0.903598f, 0.861374f, 0.815358f, 0.764360f, 0.709449f, 0.652291f, 0.594010f, 0.536028f, 0.481101f, 0.432577f, 0.392126f, 0.358508f, 0.329185f, 0.302679f, 0.278373f, 0.255008f, 0.231647f, 0.210110f, 0.194471f, 0.187914f, 0.191535f, 0.205810f, 0.231239f, 0.267417f, 0.313051f, 0.367052f, - 0.428780f, 0.497528f, 0.572254f, 0.650956f, 0.729921f, 0.804741f, 0.872337f, 0.930763f, 0.977405f, 1.009536f, 1.026754f, 1.030560f, 1.021257f, 0.997590f, 0.959821f, 0.910708f, 0.852633f, 0.785962f, 0.711354f, 0.631836f, 0.551033f, 0.470413f, 0.389791f, 0.309952f, 0.232974f, 0.159655f, 0.088252f, 0.016873f, -0.054104f, -0.123545f, -0.192358f, -0.262428f, -0.333151f, -0.401582f, -0.466079f, -0.527128f, -0.584149f, -0.634249f, -0.675298f, -0.707980f, -0.733621f, -0.751956f, -0.762482f, -0.766603f, -0.766968f, -0.765342f, -0.762185f, -0.758077f, -0.754691f, -0.753935f, -0.756401f, -0.761422f, -0.768926f, -0.780180f, -0.795912f, -0.814860f, -0.835536f, -0.858323f, -0.884145f, -0.912038f, -0.940032f, -0.967764f, -0.996212f, -1.025203f, -1.053082f, -1.078812f, -1.102840f, -1.125506f, -1.145684f, -1.161599f, -1.172538f, -1.178913f, -1.180387f, -1.174972f, -1.161052f, -1.139243f, -1.110357f, -1.072659f, -1.023765f, -0.964129f, -0.895301f, -0.815955f, -0.723787f, -0.620170f, -0.508278f, -0.387981f, -0.257793f, -0.120228f, 0.020407f, 0.163291f, 0.307901f, 0.448205f, 0.576448f, 0.689077f, 0.782089f, 0.845678f, - 0.871365f, 0.858316f, 0.804990f, 0.704160f, 0.556014f, 0.373959f, 0.167059f, -0.061388f, -0.274981f, -0.389171f, -0.341539f, -0.176854f, -0.021227f, 0.039404f, 0.025278f, 0.002978f, 0.000409f, 0.002891f, -0.000311f, -0.002218f, 0.000555f, 0.001691f, -0.000622f, -0.001274f, 0.000673f, 0.001036f, -0.000604f, -0.000793f, 0.000565f, 0.000609f, -0.000540f, -0.000507f, 0.000441f, 0.000341f, -0.000443f, -0.000297f, 0.000346f, 0.000177f, -0.000328f, -0.000127f, 0.000272f, 0.000068f, -0.000213f, 0.000010f, 0.000202f, -0.000020f, -0.000110f, 0.000118f}, - {0.960164f, 0.815843f, 0.531669f, 0.162241f, -0.177975f, -0.386498f, -0.458945f, -0.483857f, -0.540697f, -0.614327f, -0.622418f, -0.516530f, -0.334536f, -0.152125f, -0.004747f, 0.127804f, 0.271853f, 0.415700f, 0.517397f, 0.544153f, 0.497988f, 0.408320f, 0.305313f, 0.199510f, 0.083932f, -0.046923f, -0.183178f, -0.304770f, -0.395308f, -0.446238f, -0.451453f, -0.406776f, -0.317346f, -0.200175f, -0.075711f, 0.041366f, 0.142528f, 0.221292f, 0.272837f, 0.296528f, 0.295977f, 0.276382f, 0.242550f, 0.198393f, 0.146578f, 0.088571f, 0.025674f, -0.040051f, -0.105991f, -0.169238f, -0.225788f, -0.269676f, -0.293768f, -0.292136f, -0.262445f, -0.206810f, -0.130729f, -0.041117f, 0.054787f, 0.149042f, 0.232461f, 0.295490f, 0.330311f, 0.332628f, 0.302198f, 0.242289f, 0.158692f, 0.058771f, -0.048931f, -0.154433f, -0.246059f, -0.311363f, -0.339768f, -0.325985f, -0.272328f, -0.188549f, -0.089389f, 0.009037f, 0.093008f, 0.154155f, 0.190458f, 0.204754f, 0.201895f, 0.186430f, 0.161684f, 0.129742f, 0.091813f, 0.048922f, 0.002809f, -0.043495f, -0.085773f, -0.119474f, -0.141000f, -0.148803f, -0.143583f, -0.127578f, - -0.103627f, -0.074551f, -0.042812f, -0.010339f, 0.021376f, 0.050997f, 0.077158f, 0.098471f, 0.113527f, 0.120939f, 0.119561f, 0.108808f, 0.088872f, 0.060853f, 0.026832f, -0.010246f, -0.046936f, -0.079690f, -0.105211f, -0.120885f, -0.125248f, -0.118175f, -0.100717f, -0.074832f, -0.043111f, -0.008423f, 0.026401f, 0.058658f, 0.085759f, 0.105330f, 0.115404f, 0.114607f, 0.102460f, 0.079827f, 0.049121f, 0.014021f, -0.021124f, -0.052008f, -0.075132f, -0.088436f, -0.091490f, -0.085272f, -0.071781f, -0.053587f, -0.033279f, -0.013025f, 0.005554f, 0.021381f, 0.033930f, 0.043117f, 0.049029f, 0.051772f, 0.051505f, 0.048423f, 0.042645f, 0.034289f, 0.023665f, 0.011301f, -0.002140f, -0.015816f, -0.028671f, -0.039612f, -0.047707f, -0.052177f, -0.052427f, -0.048237f, -0.039850f, -0.027849f, -0.013136f, 0.003001f, 0.019065f, 0.033635f, 0.045427f, 0.053308f, 0.056554f, 0.054950f, 0.048521f, 0.037482f, 0.022572f, 0.005028f, -0.013904f, -0.032933f, -0.050205f, -0.063494f, -0.070939f, -0.070952f, -0.061845f, -0.042817f, -0.015369f, 0.017025f, 0.049963f, 0.077740f, 0.093374f, 0.091532f, 0.071535f, 0.036751f, - -0.006902f, -0.049951f, -0.080077f, -0.088199f, -0.073181f, -0.039187f, 0.006496f, 0.048670f, 0.065160f, 0.045077f, 0.005480f, -0.021584f, -0.021385f, -0.007456f, 0.000767f, 0.000082f, -0.001293f, 0.000161f, 0.001281f, 0.000763f, 0.000790f, 0.001871f, 0.002246f, 0.001673f, 0.001523f, 0.001855f, 0.001581f, 0.000775f, 0.000337f, 0.000178f, -0.000363f, -0.001094f, -0.001446f, -0.001566f, -0.001845f, -0.002088f, -0.001986f, -0.001712f, -0.001491f, -0.001185f, -0.000679f, -0.000134f, 0.000334f, 0.000795f, 0.001259f, 0.001626f, 0.001858f, 0.001978f} - }, - { - {0.960164f, 0.815843f, 0.531669f, 0.162241f, -0.177975f, -0.386498f, -0.458945f, -0.483857f, -0.540697f, -0.614327f, -0.622418f, -0.516530f, -0.334536f, -0.152125f, -0.004747f, 0.127804f, 0.271853f, 0.415700f, 0.517397f, 0.544153f, 0.497988f, 0.408320f, 0.305313f, 0.199510f, 0.083932f, -0.046923f, -0.183178f, -0.304770f, -0.395308f, -0.446238f, -0.451453f, -0.406776f, -0.317346f, -0.200175f, -0.075711f, 0.041366f, 0.142528f, 0.221292f, 0.272837f, 0.296528f, 0.295977f, 0.276382f, 0.242550f, 0.198393f, 0.146578f, 0.088571f, 0.025674f, -0.040051f, -0.105991f, -0.169238f, -0.225788f, -0.269676f, -0.293768f, -0.292136f, -0.262445f, -0.206810f, -0.130729f, -0.041117f, 0.054787f, 0.149042f, 0.232461f, 0.295490f, 0.330311f, 0.332628f, 0.302198f, 0.242289f, 0.158692f, 0.058771f, -0.048931f, -0.154433f, -0.246059f, -0.311363f, -0.339768f, -0.325985f, -0.272328f, -0.188549f, -0.089389f, 0.009037f, 0.093008f, 0.154155f, 0.190458f, 0.204754f, 0.201895f, 0.186430f, 0.161684f, 0.129742f, 0.091813f, 0.048922f, 0.002809f, -0.043495f, -0.085773f, -0.119474f, -0.141000f, -0.148803f, -0.143583f, -0.127578f, - -0.103627f, -0.074551f, -0.042812f, -0.010339f, 0.021376f, 0.050997f, 0.077158f, 0.098471f, 0.113527f, 0.120939f, 0.119561f, 0.108808f, 0.088872f, 0.060853f, 0.026832f, -0.010246f, -0.046936f, -0.079690f, -0.105211f, -0.120885f, -0.125248f, -0.118175f, -0.100717f, -0.074832f, -0.043111f, -0.008423f, 0.026401f, 0.058658f, 0.085759f, 0.105330f, 0.115404f, 0.114607f, 0.102460f, 0.079827f, 0.049121f, 0.014021f, -0.021124f, -0.052008f, -0.075132f, -0.088436f, -0.091490f, -0.085272f, -0.071781f, -0.053587f, -0.033279f, -0.013025f, 0.005554f, 0.021381f, 0.033930f, 0.043117f, 0.049029f, 0.051772f, 0.051505f, 0.048423f, 0.042645f, 0.034289f, 0.023665f, 0.011301f, -0.002140f, -0.015816f, -0.028671f, -0.039612f, -0.047707f, -0.052177f, -0.052427f, -0.048237f, -0.039850f, -0.027849f, -0.013136f, 0.003001f, 0.019065f, 0.033635f, 0.045427f, 0.053308f, 0.056554f, 0.054950f, 0.048521f, 0.037482f, 0.022572f, 0.005028f, -0.013904f, -0.032933f, -0.050205f, -0.063494f, -0.070939f, -0.070952f, -0.061845f, -0.042817f, -0.015369f, 0.017025f, 0.049963f, 0.077740f, 0.093374f, 0.091532f, 0.071535f, 0.036751f, - -0.006902f, -0.049951f, -0.080077f, -0.088199f, -0.073181f, -0.039187f, 0.006496f, 0.048670f, 0.065160f, 0.045077f, 0.005480f, -0.021584f, -0.021385f, -0.007456f, 0.000767f, 0.000082f, -0.001293f, 0.000161f, 0.001281f, 0.000763f, 0.000790f, 0.001871f, 0.002246f, 0.001673f, 0.001523f, 0.001855f, 0.001581f, 0.000775f, 0.000337f, 0.000178f, -0.000363f, -0.001094f, -0.001446f, -0.001566f, -0.001845f, -0.002088f, -0.001986f, -0.001712f, -0.001491f, -0.001185f, -0.000679f, -0.000134f, 0.000334f, 0.000795f, 0.001259f, 0.001626f, 0.001858f, 0.001978f}, - {1.075228f, 1.074217f, 1.098140f, 1.181350f, 1.301845f, 1.357285f, 1.275591f, 1.128376f, 1.051750f, 1.070717f, 1.096449f, 1.090338f, 1.120506f, 1.232710f, 1.365528f, 1.439321f, 1.453889f, 1.448913f, 1.426184f, 1.363771f, 1.270441f, 1.179270f, 1.105288f, 1.040796f, 0.980197f, 0.926868f, 0.882359f, 0.842806f, 0.803055f, 0.760151f, 0.717484f, 0.684947f, 0.668443f, 0.661086f, 0.651027f, 0.635243f, 0.620475f, 0.614727f, 0.622795f, 0.645718f, 0.679665f, 0.718175f, 0.758038f, 0.800110f, 0.844051f, 0.886529f, 0.924692f, 0.957013f, 0.980790f, 0.992993f, 0.994090f, 0.988656f, 0.982771f, 0.982211f, 0.991140f, 1.010513f, 1.038521f, 1.072547f, 1.108778f, 1.140961f, 1.163036f, 1.172913f, 1.171176f, 1.157532f, 1.131991f, 1.098142f, 1.061279f, 1.023708f, 0.984783f, 0.944459f, 0.903598f, 0.861374f, 0.815358f, 0.764360f, 0.709449f, 0.652291f, 0.594010f, 0.536028f, 0.481101f, 0.432577f, 0.392126f, 0.358508f, 0.329185f, 0.302679f, 0.278373f, 0.255008f, 0.231647f, 0.210110f, 0.194471f, 0.187914f, 0.191535f, 0.205810f, 0.231239f, 0.267417f, 0.313051f, 0.367052f, - 0.428780f, 0.497528f, 0.572254f, 0.650956f, 0.729921f, 0.804741f, 0.872337f, 0.930763f, 0.977405f, 1.009536f, 1.026754f, 1.030560f, 1.021257f, 0.997590f, 0.959821f, 0.910708f, 0.852633f, 0.785962f, 0.711354f, 0.631836f, 0.551033f, 0.470413f, 0.389791f, 0.309952f, 0.232974f, 0.159655f, 0.088252f, 0.016873f, -0.054104f, -0.123545f, -0.192358f, -0.262428f, -0.333151f, -0.401582f, -0.466079f, -0.527128f, -0.584149f, -0.634249f, -0.675298f, -0.707980f, -0.733621f, -0.751956f, -0.762482f, -0.766603f, -0.766968f, -0.765342f, -0.762185f, -0.758077f, -0.754691f, -0.753935f, -0.756401f, -0.761422f, -0.768926f, -0.780180f, -0.795912f, -0.814860f, -0.835536f, -0.858323f, -0.884145f, -0.912038f, -0.940032f, -0.967764f, -0.996212f, -1.025203f, -1.053082f, -1.078812f, -1.102840f, -1.125506f, -1.145684f, -1.161599f, -1.172538f, -1.178913f, -1.180387f, -1.174972f, -1.161052f, -1.139243f, -1.110357f, -1.072659f, -1.023765f, -0.964129f, -0.895301f, -0.815955f, -0.723787f, -0.620170f, -0.508278f, -0.387981f, -0.257793f, -0.120228f, 0.020407f, 0.163291f, 0.307901f, 0.448205f, 0.576448f, 0.689077f, 0.782089f, 0.845678f, - 0.871365f, 0.858316f, 0.804990f, 0.704160f, 0.556014f, 0.373959f, 0.167059f, -0.061388f, -0.274981f, -0.389171f, -0.341539f, -0.176854f, -0.021227f, 0.039404f, 0.025278f, 0.002978f, 0.000409f, 0.002891f, -0.000311f, -0.002218f, 0.000555f, 0.001691f, -0.000622f, -0.001274f, 0.000673f, 0.001036f, -0.000604f, -0.000793f, 0.000565f, 0.000609f, -0.000540f, -0.000507f, 0.000441f, 0.000341f, -0.000443f, -0.000297f, 0.000346f, 0.000177f, -0.000328f, -0.000127f, 0.000272f, 0.000068f, -0.000213f, 0.000010f, 0.000202f, -0.000020f, -0.000110f, 0.000118f} - }, - { - {1.021118f, 1.014910f, 1.036512f, 1.109450f, 1.204226f, 1.254141f, 1.223089f, 1.142720f, 1.068123f, 1.016578f, 0.975926f, 0.954919f, 0.983672f, 1.063545f, 1.153044f, 1.213027f, 1.237971f, 1.233999f, 1.196080f, 1.125290f, 1.047108f, 0.990282f, 0.956619f, 0.926662f, 0.887517f, 0.841653f, 0.794073f, 0.744757f, 0.693536f, 0.642684f, 0.592748f, 0.541229f, 0.486646f, 0.430740f, 0.376755f, 0.328893f, 0.293662f, 0.278018f, 0.283983f, 0.306520f, 0.338100f, 0.374086f, 0.412476f, 0.450359f, 0.483567f, 0.509814f, 0.530051f, 0.546442f, 0.560626f, 0.574155f, 0.588962f, 0.606627f, 0.627670f, 0.651329f, 0.675291f, 0.696162f, 0.711078f, 0.718475f, 0.717171f, 0.706200f, 0.686489f, 0.661160f, 0.632776f, 0.601270f, 0.565406f, 0.524818f, 0.479490f, 0.428872f, 0.373329f, 0.315884f, 0.261284f, 0.213734f, 0.176015f, 0.149705f, 0.134833f, 0.129330f, 0.129603f, 0.132071f, 0.134448f, 0.136068f, 0.137347f, 0.139019f, 0.141860f, 0.146786f, 0.154663f, 0.165925f, 0.180699f, 0.199281f, 0.222198f, 0.249879f, 0.282596f, 0.320651f, 0.364436f, 0.414340f, 0.470445f, 0.531869f, - 0.596501f, 0.661789f, 0.725419f, 0.784674f, 0.835991f, 0.876590f, 0.906270f, 0.926283f, 0.936909f, 0.937627f, 0.929116f, 0.912880f, 0.888746f, 0.854774f, 0.810155f, 0.756417f, 0.695219f, 0.626853f, 0.552031f, 0.473598f, 0.394918f, 0.317399f, 0.241080f, 0.167093f, 0.097815f, 0.034452f, -0.023969f, -0.078570f, -0.129051f, -0.175206f, -0.218772f, -0.262100f, -0.305551f, -0.347761f, -0.388005f, -0.426424f, -0.461940f, -0.491922f, -0.514586f, -0.530358f, -0.540303f, -0.544523f, -0.542936f, -0.536632f, -0.527481f, -0.516766f, -0.504935f, -0.492597f, -0.481194f, -0.472371f, -0.466907f, -0.464739f, -0.466171f, -0.472327f, -0.483927f, -0.500294f, -0.520400f, -0.544289f, -0.572382f, -0.603846f, -0.636952f, -0.670869f, -0.705849f, -0.741580f, -0.776574f, -0.809529f, -0.840302f, -0.868901f, -0.894171f, -0.914324f, -0.928590f, -0.937355f, -0.940432f, -0.936302f, -0.923833f, -0.903621f, -0.876334f, -0.840853f, -0.795869f, -0.742277f, -0.681702f, -0.613656f, -0.536857f, -0.452385f, -0.362495f, -0.267339f, -0.166250f, -0.061247f, 0.044313f, 0.149203f, 0.252532f, 0.350093f, 0.436582f, 0.509400f, 0.566085f, 0.600989f, - 0.609355f, 0.591229f, 0.546669f, 0.472573f, 0.370152f, 0.248355f, 0.113420f, -0.032320f, -0.167420f, -0.241605f, -0.216790f, -0.118416f, -0.021888f, 0.019213f, 0.014252f, 0.002063f, 0.000356f, 0.001651f, -0.000178f, -0.001272f, 0.000312f, 0.000978f, -0.000340f, -0.000724f, 0.000386f, 0.000598f, -0.000340f, -0.000457f, 0.000315f, 0.000344f, -0.000311f, -0.000299f, 0.000239f, 0.000188f, -0.000255f, -0.000177f, 0.000187f, 0.000099f, -0.000183f, -0.000075f, 0.000150f, 0.000044f, -0.000112f, 0.000008f, 0.000116f, 0.000000f, -0.000050f, 0.000071f}, - {0.932869f, 0.856258f, 0.680407f, 0.416625f, 0.148250f, -0.023842f, -0.087329f, -0.134616f, -0.244970f, -0.385661f, -0.472057f, -0.492517f, -0.512116f, -0.566410f, -0.616657f, -0.615445f, -0.560005f, -0.465857f, -0.336299f, -0.181373f, -0.031918f, 0.089726f, 0.191616f, 0.288900f, 0.377689f, 0.445599f, 0.491647f, 0.521680f, 0.534170f, 0.520833f, 0.475573f, 0.398359f, 0.296291f, 0.183195f, 0.072397f, -0.031357f, -0.128599f, -0.215418f, -0.282840f, -0.325105f, -0.343724f, -0.344232f, -0.333025f, -0.316310f, -0.298291f, -0.280189f, -0.262083f, -0.243767f, -0.222388f, -0.191534f, -0.144792f, -0.079668f, 0.001605f, 0.092568f, 0.183421f, 0.264250f, 0.329320f, 0.377813f, 0.410523f, 0.426997f, 0.425395f, 0.403296f, 0.358510f, 0.290739f, 0.203333f, 0.103082f, -0.001851f, -0.103927f, -0.197351f, -0.278599f, -0.345998f, -0.398008f, -0.431539f, -0.442137f, -0.426030f, -0.382422f, -0.314691f, -0.230120f, -0.138182f, -0.047827f, 0.034784f, 0.106607f, 0.166405f, 0.213658f, 0.248572f, 0.272118f, 0.285359f, 0.288978f, 0.283693f, 0.270537f, 0.250312f, 0.223174f, 0.189058f, 0.147974f, 0.099746f, 0.044338f, - -0.016931f, -0.080937f, -0.143711f, -0.201320f, -0.249848f, -0.285671f, -0.306377f, -0.311000f, -0.299308f, -0.271640f, -0.229566f, -0.175890f, -0.113809f, -0.046630f, 0.021800f, 0.087296f, 0.146188f, 0.195525f, 0.232719f, 0.255849f, 0.264337f, 0.258789f, 0.240297f, 0.210412f, 0.171477f, 0.126248f, 0.077212f, 0.026681f, -0.022772f, -0.068516f, -0.108321f, -0.140285f, -0.162670f, -0.174396f, -0.175576f, -0.167308f, -0.151206f, -0.129367f, -0.104330f, -0.078497f, -0.053556f, -0.030522f, -0.009982f, 0.007997f, 0.023907f, 0.038407f, 0.051943f, 0.064781f, 0.077079f, 0.088652f, 0.098819f, 0.106630f, 0.111137f, 0.111402f, 0.106532f, 0.095979f, 0.079769f, 0.058428f, 0.032870f, 0.004435f, -0.025130f, -0.053924f, -0.080127f, -0.102059f, -0.118226f, -0.127532f, -0.129459f, -0.124022f, -0.111628f, -0.093061f, -0.069546f, -0.042640f, -0.013957f, 0.014961f, 0.042540f, 0.067210f, 0.087700f, 0.103130f, 0.112745f, 0.115879f, 0.112351f, 0.102521f, 0.086750f, 0.065291f, 0.038932f, 0.009166f, -0.022462f, -0.054340f, -0.083825f, -0.107324f, -0.121750f, -0.124985f, -0.115062f, -0.090926f, -0.054663f, -0.011365f, - 0.033369f, 0.073724f, 0.102131f, 0.111537f, 0.100187f, 0.071073f, 0.027749f, -0.022644f, -0.062293f, -0.069966f, -0.043033f, -0.005541f, 0.014414f, 0.011811f, 0.002483f, -0.000779f, 0.000451f, 0.000500f, -0.000541f, -0.000273f, 0.000562f, 0.000328f, -0.000217f, 0.000101f, 0.000578f, 0.000346f, 0.000033f, 0.000279f, 0.000535f, 0.000325f, 0.000122f, 0.000275f, 0.000385f, 0.000200f, 0.000054f, 0.000128f, 0.000148f, -0.000006f, -0.000113f, -0.000089f, -0.000108f, -0.000221f, -0.000290f, -0.000280f, -0.000300f, -0.000368f, -0.000392f, -0.000365f} - }, - { - {0.932869f, 0.856258f, 0.680407f, 0.416625f, 0.148250f, -0.023842f, -0.087329f, -0.134616f, -0.244970f, -0.385661f, -0.472057f, -0.492517f, -0.512116f, -0.566410f, -0.616657f, -0.615445f, -0.560005f, -0.465857f, -0.336299f, -0.181373f, -0.031918f, 0.089726f, 0.191616f, 0.288900f, 0.377689f, 0.445599f, 0.491647f, 0.521680f, 0.534170f, 0.520833f, 0.475573f, 0.398359f, 0.296291f, 0.183195f, 0.072397f, -0.031357f, -0.128599f, -0.215418f, -0.282840f, -0.325105f, -0.343724f, -0.344232f, -0.333025f, -0.316310f, -0.298291f, -0.280189f, -0.262083f, -0.243767f, -0.222388f, -0.191534f, -0.144792f, -0.079668f, 0.001605f, 0.092568f, 0.183421f, 0.264250f, 0.329320f, 0.377813f, 0.410523f, 0.426997f, 0.425395f, 0.403296f, 0.358510f, 0.290739f, 0.203333f, 0.103082f, -0.001851f, -0.103927f, -0.197351f, -0.278599f, -0.345998f, -0.398008f, -0.431539f, -0.442137f, -0.426030f, -0.382422f, -0.314691f, -0.230120f, -0.138182f, -0.047827f, 0.034784f, 0.106607f, 0.166405f, 0.213658f, 0.248572f, 0.272118f, 0.285359f, 0.288978f, 0.283693f, 0.270537f, 0.250312f, 0.223174f, 0.189058f, 0.147974f, 0.099746f, 0.044338f, - -0.016931f, -0.080937f, -0.143711f, -0.201320f, -0.249848f, -0.285671f, -0.306377f, -0.311000f, -0.299308f, -0.271640f, -0.229566f, -0.175890f, -0.113809f, -0.046630f, 0.021800f, 0.087296f, 0.146188f, 0.195525f, 0.232719f, 0.255849f, 0.264337f, 0.258789f, 0.240297f, 0.210412f, 0.171477f, 0.126248f, 0.077212f, 0.026681f, -0.022772f, -0.068516f, -0.108321f, -0.140285f, -0.162670f, -0.174396f, -0.175576f, -0.167308f, -0.151206f, -0.129367f, -0.104330f, -0.078497f, -0.053556f, -0.030522f, -0.009982f, 0.007997f, 0.023907f, 0.038407f, 0.051943f, 0.064781f, 0.077079f, 0.088652f, 0.098819f, 0.106630f, 0.111137f, 0.111402f, 0.106532f, 0.095979f, 0.079769f, 0.058428f, 0.032870f, 0.004435f, -0.025130f, -0.053924f, -0.080127f, -0.102059f, -0.118226f, -0.127532f, -0.129459f, -0.124022f, -0.111628f, -0.093061f, -0.069546f, -0.042640f, -0.013957f, 0.014961f, 0.042540f, 0.067210f, 0.087700f, 0.103130f, 0.112745f, 0.115879f, 0.112351f, 0.102521f, 0.086750f, 0.065291f, 0.038932f, 0.009166f, -0.022462f, -0.054340f, -0.083825f, -0.107324f, -0.121750f, -0.124985f, -0.115062f, -0.090926f, -0.054663f, -0.011365f, - 0.033369f, 0.073724f, 0.102131f, 0.111537f, 0.100187f, 0.071073f, 0.027749f, -0.022644f, -0.062293f, -0.069966f, -0.043033f, -0.005541f, 0.014414f, 0.011811f, 0.002483f, -0.000779f, 0.000451f, 0.000500f, -0.000541f, -0.000273f, 0.000562f, 0.000328f, -0.000217f, 0.000101f, 0.000578f, 0.000346f, 0.000033f, 0.000279f, 0.000535f, 0.000325f, 0.000122f, 0.000275f, 0.000385f, 0.000200f, 0.000054f, 0.000128f, 0.000148f, -0.000006f, -0.000113f, -0.000089f, -0.000108f, -0.000221f, -0.000290f, -0.000280f, -0.000300f, -0.000368f, -0.000392f, -0.000365f}, - {1.021118f, 1.014910f, 1.036512f, 1.109450f, 1.204226f, 1.254141f, 1.223089f, 1.142720f, 1.068123f, 1.016578f, 0.975926f, 0.954919f, 0.983672f, 1.063545f, 1.153044f, 1.213027f, 1.237971f, 1.233999f, 1.196080f, 1.125290f, 1.047108f, 0.990282f, 0.956619f, 0.926662f, 0.887517f, 0.841653f, 0.794073f, 0.744757f, 0.693536f, 0.642684f, 0.592748f, 0.541229f, 0.486646f, 0.430740f, 0.376755f, 0.328893f, 0.293662f, 0.278018f, 0.283983f, 0.306520f, 0.338100f, 0.374086f, 0.412476f, 0.450359f, 0.483567f, 0.509814f, 0.530051f, 0.546442f, 0.560626f, 0.574155f, 0.588962f, 0.606627f, 0.627670f, 0.651329f, 0.675291f, 0.696162f, 0.711078f, 0.718475f, 0.717171f, 0.706200f, 0.686489f, 0.661160f, 0.632776f, 0.601270f, 0.565406f, 0.524818f, 0.479490f, 0.428872f, 0.373329f, 0.315884f, 0.261284f, 0.213734f, 0.176015f, 0.149705f, 0.134833f, 0.129330f, 0.129603f, 0.132071f, 0.134448f, 0.136068f, 0.137347f, 0.139019f, 0.141860f, 0.146786f, 0.154663f, 0.165925f, 0.180699f, 0.199281f, 0.222198f, 0.249879f, 0.282596f, 0.320651f, 0.364436f, 0.414340f, 0.470445f, 0.531869f, - 0.596501f, 0.661789f, 0.725419f, 0.784674f, 0.835991f, 0.876590f, 0.906270f, 0.926283f, 0.936909f, 0.937627f, 0.929116f, 0.912880f, 0.888746f, 0.854774f, 0.810155f, 0.756417f, 0.695219f, 0.626853f, 0.552031f, 0.473598f, 0.394918f, 0.317399f, 0.241080f, 0.167093f, 0.097815f, 0.034452f, -0.023969f, -0.078570f, -0.129051f, -0.175206f, -0.218772f, -0.262100f, -0.305551f, -0.347761f, -0.388005f, -0.426424f, -0.461940f, -0.491922f, -0.514586f, -0.530358f, -0.540303f, -0.544523f, -0.542936f, -0.536632f, -0.527481f, -0.516766f, -0.504935f, -0.492597f, -0.481194f, -0.472371f, -0.466907f, -0.464739f, -0.466171f, -0.472327f, -0.483927f, -0.500294f, -0.520400f, -0.544289f, -0.572382f, -0.603846f, -0.636952f, -0.670869f, -0.705849f, -0.741580f, -0.776574f, -0.809529f, -0.840302f, -0.868901f, -0.894171f, -0.914324f, -0.928590f, -0.937355f, -0.940432f, -0.936302f, -0.923833f, -0.903621f, -0.876334f, -0.840853f, -0.795869f, -0.742277f, -0.681702f, -0.613656f, -0.536857f, -0.452385f, -0.362495f, -0.267339f, -0.166250f, -0.061247f, 0.044313f, 0.149203f, 0.252532f, 0.350093f, 0.436582f, 0.509400f, 0.566085f, 0.600989f, - 0.609355f, 0.591229f, 0.546669f, 0.472573f, 0.370152f, 0.248355f, 0.113420f, -0.032320f, -0.167420f, -0.241605f, -0.216790f, -0.118416f, -0.021888f, 0.019213f, 0.014252f, 0.002063f, 0.000356f, 0.001651f, -0.000178f, -0.001272f, 0.000312f, 0.000978f, -0.000340f, -0.000724f, 0.000386f, 0.000598f, -0.000340f, -0.000457f, 0.000315f, 0.000344f, -0.000311f, -0.000299f, 0.000239f, 0.000188f, -0.000255f, -0.000177f, 0.000187f, 0.000099f, -0.000183f, -0.000075f, 0.000150f, 0.000044f, -0.000112f, 0.000008f, 0.000116f, 0.000000f, -0.000050f, 0.000071f} - } -}; -const float CRendBin_Combined_HRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][240]={ - { - {0.021740f, 0.062265f, 0.089497f, 0.079979f, 0.019873f, -0.044423f, -0.038634f, 0.014329f, -0.006309f, -0.113590f, -0.115115f, 0.141366f, 0.508608f, 0.696113f, 0.638660f, 0.530885f, 0.513220f, 0.511265f, 0.413104f, 0.233094f, 0.033856f, -0.178208f, -0.394112f, -0.532465f, -0.516289f, -0.373221f, -0.199312f, -0.054469f, 0.064669f, 0.175334f, 0.270929f, 0.322634f, 0.297348f, 0.180897f, -0.005107f, -0.214019f, -0.406250f, -0.568975f, -0.708995f, -0.834425f, -0.942413f, -1.020169f, -1.058870f, -1.066737f, -1.064744f, -1.070779f, -1.092413f, -1.130543f, -1.180471f, -1.230349f, -1.267218f, -1.286478f, -1.292217f, -1.290295f, -1.284789f, -1.278764f, -1.274804f, -1.275839f, -1.285956f, -1.307719f, -1.339100f, -1.376367f, -1.418521f, -1.464319f, -1.506155f, -1.531614f, -1.530826f, -1.499868f, -1.440010f, -1.357948f, -1.265010f, -1.172182f, -1.086077f, -1.010355f, -0.948076f, -0.900542f, -0.865729f, -0.839379f, -0.816783f, -0.793921f, -0.768744f, -0.741295f, -0.711733f, -0.679567f, -0.645630f, -0.612730f, -0.583124f, -0.557524f, -0.537573f, -0.526798f, -0.527799f, -0.540308f, -0.562652f, -0.593201f, -0.629808f, -0.669386f, - -0.708515f, -0.743933f, -0.773005f, -0.794365f, -0.807476f, -0.811721f, -0.807186f, -0.795749f, -0.779350f, -0.757689f, -0.729622f, -0.695999f, -0.658877f, -0.618992f, -0.576449f, -0.532906f, -0.490747f, -0.450976f, -0.413608f, -0.379004f, -0.347546f, -0.319332f, -0.295027f, -0.275613f, -0.261247f, -0.252274f, -0.250937f, -0.259815f, -0.279334f, -0.309493f, -0.353092f, -0.414158f, -0.493999f, -0.592040f, -0.709860f, -0.850917f, -1.016122f, -1.202501f, -1.406580f, -1.626368f, -1.858539f, -2.095454f, -2.327361f, -2.547430f, -2.752372f, -2.937831f, -3.096805f, -3.225146f, -3.325214f, -3.400274f, -3.448580f, -3.467955f, -3.462820f, -3.440091f, -3.400547f, -3.341377f, -3.265259f, -3.179036f, -3.084322f, -2.977173f, -2.856905f, -2.727864f, -2.591707f, -2.444451f, -2.282751f, -2.108111f, -1.922919f, -1.725836f, -1.513704f, -1.286797f, -1.049763f, -0.806612f, -0.557242f, -0.301864f, -0.046431f, 0.201936f, 0.443240f, 0.681014f, 0.912264f, 1.130667f, 1.338214f, 1.541861f, 1.739858f, 1.924684f, 2.097432f, 2.263703f, 2.417459f, 2.545568f, 2.644263f, 2.712279f, 2.733362f, 2.686342f, 2.565077f, 2.367465f, 2.078112f, 1.688067f, - 1.216823f, 0.689229f, 0.115322f, -0.475183f, -1.011572f, -1.432585f, -1.708631f, -1.762445f, -1.452538f, -0.765837f, 0.007791f, 0.454087f, 0.430600f, 0.177956f, 0.006027f, -0.013234f, 0.008162f, 0.000516f, -0.008800f, 0.001070f, 0.006785f, -0.001814f, -0.005338f, 0.001955f, 0.004159f, -0.001933f, -0.003203f, 0.001947f, 0.002621f, -0.001703f, -0.001961f, 0.001637f, 0.001565f, -0.001450f, -0.001190f, 0.001261f, 0.000818f, -0.001182f, -0.000645f, 0.000918f, 0.000295f, -0.000884f, -0.000203f, 0.000626f, -0.000076f, -0.000552f, 0.000190f, 0.000362f}, - {-0.080378f, -0.311517f, -0.607575f, -0.791939f, -0.801056f, -0.760728f, -0.739137f, -0.646344f, -0.447365f, -0.280582f, -0.279360f, -0.423325f, -0.622662f, -0.804319f, -0.867760f, -0.711139f, -0.374564f, -0.036973f, 0.187009f, 0.339438f, 0.474054f, 0.550709f, 0.537533f, 0.502849f, 0.524124f, 0.586937f, 0.644423f, 0.705382f, 0.790305f, 0.855034f, 0.834070f, 0.729675f, 0.593377f, 0.437006f, 0.224113f, -0.048481f, -0.312373f, -0.491566f, -0.576209f, -0.612643f, -0.640544f, -0.665031f, -0.680052f, -0.687657f, -0.686406f, -0.662500f, -0.605999f, -0.524271f, -0.429884f, -0.325685f, -0.210684f, -0.091141f, 0.023275f, 0.127676f, 0.220049f, 0.297836f, 0.361429f, 0.414922f, 0.459421f, 0.490535f, 0.503997f, 0.498318f, 0.471835f, 0.423949f, 0.360378f, 0.291632f, 0.225381f, 0.164098f, 0.109185f, 0.062781f, 0.025528f, -0.004197f, -0.028936f, -0.051742f, -0.076082f, -0.104578f, -0.138150f, -0.176078f, -0.215537f, -0.251862f, -0.281392f, -0.303940f, -0.321624f, -0.336474f, -0.349673f, -0.360447f, -0.363977f, -0.352405f, -0.319580f, -0.263976f, -0.187632f, -0.095277f, 0.004941f, 0.102546f, 0.187832f, 0.253454f, - 0.294802f, 0.311762f, 0.309781f, 0.297062f, 0.280794f, 0.266708f, 0.259989f, 0.264021f, 0.278984f, 0.303091f, 0.333931f, 0.367038f, 0.394275f, 0.405176f, 0.389668f, 0.339645f, 0.250213f, 0.121655f, -0.039539f, -0.222071f, -0.412200f, -0.595202f, -0.756231f, -0.881758f, -0.961227f, -0.987631f, -0.957056f, -0.868780f, -0.726460f, -0.538670f, -0.317638f, -0.077771f, 0.164807f, 0.393406f, 0.593707f, 0.755810f, 0.873499f, 0.943326f, 0.965432f, 0.943420f, 0.881696f, 0.783870f, 0.654305f, 0.499177f, 0.324930f, 0.137677f, -0.054836f, -0.242668f, -0.415940f, -0.565859f, -0.683493f, -0.760474f, -0.792077f, -0.778024f, -0.720589f, -0.624483f, -0.498476f, -0.354312f, -0.203363f, -0.055601f, 0.079448f, 0.193754f, 0.282950f, 0.345938f, 0.383039f, 0.396039f, 0.388837f, 0.366082f, 0.331570f, 0.288732f, 0.241345f, 0.192568f, 0.144151f, 0.097195f, 0.052704f, 0.011148f, -0.027394f, -0.062510f, -0.093642f, -0.120625f, -0.143214f, -0.160685f, -0.172569f, -0.178917f, -0.179375f, -0.173102f, -0.159797f, -0.139499f, -0.111633f, -0.075980f, -0.034252f, 0.010916f, 0.057404f, 0.101926f, 0.138613f, 0.161970f, - 0.169562f, 0.159632f, 0.129698f, 0.081381f, 0.023065f, -0.036010f, -0.088771f, -0.122396f, -0.117183f, -0.067536f, -0.000965f, 0.039915f, 0.038373f, 0.015920f, 0.001538f, 0.001251f, 0.003701f, 0.002572f, 0.001346f, 0.002248f, 0.002607f, 0.001294f, 0.000524f, 0.000987f, 0.000860f, -0.000262f, -0.000829f, -0.000606f, -0.000896f, -0.001788f, -0.002153f, -0.001988f, -0.002250f, -0.002848f, -0.002957f, -0.002725f, -0.002844f, -0.003107f, -0.002939f, -0.002590f, -0.002528f, -0.002470f, -0.002063f, -0.001626f, -0.001418f, -0.001114f, -0.000569f, -0.000134f} - }, - { - {-0.080378f, -0.311517f, -0.607575f, -0.791939f, -0.801056f, -0.760728f, -0.739137f, -0.646344f, -0.447365f, -0.280582f, -0.279360f, -0.423325f, -0.622662f, -0.804319f, -0.867760f, -0.711139f, -0.374564f, -0.036973f, 0.187009f, 0.339438f, 0.474054f, 0.550709f, 0.537533f, 0.502849f, 0.524124f, 0.586937f, 0.644423f, 0.705382f, 0.790305f, 0.855034f, 0.834070f, 0.729675f, 0.593377f, 0.437006f, 0.224113f, -0.048481f, -0.312373f, -0.491566f, -0.576209f, -0.612643f, -0.640544f, -0.665031f, -0.680052f, -0.687657f, -0.686406f, -0.662500f, -0.605999f, -0.524271f, -0.429884f, -0.325685f, -0.210684f, -0.091141f, 0.023275f, 0.127676f, 0.220049f, 0.297836f, 0.361429f, 0.414922f, 0.459421f, 0.490535f, 0.503997f, 0.498318f, 0.471835f, 0.423949f, 0.360378f, 0.291632f, 0.225381f, 0.164098f, 0.109185f, 0.062781f, 0.025528f, -0.004197f, -0.028936f, -0.051742f, -0.076082f, -0.104578f, -0.138150f, -0.176078f, -0.215537f, -0.251862f, -0.281392f, -0.303940f, -0.321624f, -0.336474f, -0.349673f, -0.360447f, -0.363977f, -0.352405f, -0.319580f, -0.263976f, -0.187632f, -0.095277f, 0.004941f, 0.102546f, 0.187832f, 0.253454f, - 0.294802f, 0.311762f, 0.309781f, 0.297062f, 0.280794f, 0.266708f, 0.259989f, 0.264021f, 0.278984f, 0.303091f, 0.333931f, 0.367038f, 0.394275f, 0.405176f, 0.389668f, 0.339645f, 0.250213f, 0.121655f, -0.039539f, -0.222071f, -0.412200f, -0.595202f, -0.756231f, -0.881758f, -0.961227f, -0.987631f, -0.957056f, -0.868780f, -0.726460f, -0.538670f, -0.317638f, -0.077771f, 0.164807f, 0.393406f, 0.593707f, 0.755810f, 0.873499f, 0.943326f, 0.965432f, 0.943420f, 0.881696f, 0.783870f, 0.654305f, 0.499177f, 0.324930f, 0.137677f, -0.054836f, -0.242668f, -0.415940f, -0.565859f, -0.683493f, -0.760474f, -0.792077f, -0.778024f, -0.720589f, -0.624483f, -0.498476f, -0.354312f, -0.203363f, -0.055601f, 0.079448f, 0.193754f, 0.282950f, 0.345938f, 0.383039f, 0.396039f, 0.388837f, 0.366082f, 0.331570f, 0.288732f, 0.241345f, 0.192568f, 0.144151f, 0.097195f, 0.052704f, 0.011148f, -0.027394f, -0.062510f, -0.093642f, -0.120625f, -0.143214f, -0.160685f, -0.172569f, -0.178917f, -0.179375f, -0.173102f, -0.159797f, -0.139499f, -0.111633f, -0.075980f, -0.034252f, 0.010916f, 0.057404f, 0.101926f, 0.138613f, 0.161970f, - 0.169562f, 0.159632f, 0.129698f, 0.081381f, 0.023065f, -0.036010f, -0.088771f, -0.122396f, -0.117183f, -0.067536f, -0.000965f, 0.039915f, 0.038373f, 0.015920f, 0.001538f, 0.001251f, 0.003701f, 0.002572f, 0.001346f, 0.002248f, 0.002607f, 0.001294f, 0.000524f, 0.000987f, 0.000860f, -0.000262f, -0.000829f, -0.000606f, -0.000896f, -0.001788f, -0.002153f, -0.001988f, -0.002250f, -0.002848f, -0.002957f, -0.002725f, -0.002844f, -0.003107f, -0.002939f, -0.002590f, -0.002528f, -0.002470f, -0.002063f, -0.001626f, -0.001418f, -0.001114f, -0.000569f, -0.000134f}, - {0.021740f, 0.062265f, 0.089497f, 0.079979f, 0.019873f, -0.044423f, -0.038634f, 0.014329f, -0.006309f, -0.113590f, -0.115115f, 0.141366f, 0.508608f, 0.696113f, 0.638660f, 0.530885f, 0.513220f, 0.511265f, 0.413104f, 0.233094f, 0.033856f, -0.178208f, -0.394112f, -0.532465f, -0.516289f, -0.373221f, -0.199312f, -0.054469f, 0.064669f, 0.175334f, 0.270929f, 0.322634f, 0.297348f, 0.180897f, -0.005107f, -0.214019f, -0.406250f, -0.568975f, -0.708995f, -0.834425f, -0.942413f, -1.020169f, -1.058870f, -1.066737f, -1.064744f, -1.070779f, -1.092413f, -1.130543f, -1.180471f, -1.230349f, -1.267218f, -1.286478f, -1.292217f, -1.290295f, -1.284789f, -1.278764f, -1.274804f, -1.275839f, -1.285956f, -1.307719f, -1.339100f, -1.376367f, -1.418521f, -1.464319f, -1.506155f, -1.531614f, -1.530826f, -1.499868f, -1.440010f, -1.357948f, -1.265010f, -1.172182f, -1.086077f, -1.010355f, -0.948076f, -0.900542f, -0.865729f, -0.839379f, -0.816783f, -0.793921f, -0.768744f, -0.741295f, -0.711733f, -0.679567f, -0.645630f, -0.612730f, -0.583124f, -0.557524f, -0.537573f, -0.526798f, -0.527799f, -0.540308f, -0.562652f, -0.593201f, -0.629808f, -0.669386f, - -0.708515f, -0.743933f, -0.773005f, -0.794365f, -0.807476f, -0.811721f, -0.807186f, -0.795749f, -0.779350f, -0.757689f, -0.729622f, -0.695999f, -0.658877f, -0.618992f, -0.576449f, -0.532906f, -0.490747f, -0.450976f, -0.413608f, -0.379004f, -0.347546f, -0.319332f, -0.295027f, -0.275613f, -0.261247f, -0.252274f, -0.250937f, -0.259815f, -0.279334f, -0.309493f, -0.353092f, -0.414158f, -0.493999f, -0.592040f, -0.709860f, -0.850917f, -1.016122f, -1.202501f, -1.406580f, -1.626368f, -1.858539f, -2.095454f, -2.327361f, -2.547430f, -2.752372f, -2.937831f, -3.096805f, -3.225146f, -3.325214f, -3.400274f, -3.448580f, -3.467955f, -3.462820f, -3.440091f, -3.400547f, -3.341377f, -3.265259f, -3.179036f, -3.084322f, -2.977173f, -2.856905f, -2.727864f, -2.591707f, -2.444451f, -2.282751f, -2.108111f, -1.922919f, -1.725836f, -1.513704f, -1.286797f, -1.049763f, -0.806612f, -0.557242f, -0.301864f, -0.046431f, 0.201936f, 0.443240f, 0.681014f, 0.912264f, 1.130667f, 1.338214f, 1.541861f, 1.739858f, 1.924684f, 2.097432f, 2.263703f, 2.417459f, 2.545568f, 2.644263f, 2.712279f, 2.733362f, 2.686342f, 2.565077f, 2.367465f, 2.078112f, 1.688067f, - 1.216823f, 0.689229f, 0.115322f, -0.475183f, -1.011572f, -1.432585f, -1.708631f, -1.762445f, -1.452538f, -0.765837f, 0.007791f, 0.454087f, 0.430600f, 0.177956f, 0.006027f, -0.013234f, 0.008162f, 0.000516f, -0.008800f, 0.001070f, 0.006785f, -0.001814f, -0.005338f, 0.001955f, 0.004159f, -0.001933f, -0.003203f, 0.001947f, 0.002621f, -0.001703f, -0.001961f, 0.001637f, 0.001565f, -0.001450f, -0.001190f, 0.001261f, 0.000818f, -0.001182f, -0.000645f, 0.000918f, 0.000295f, -0.000884f, -0.000203f, 0.000626f, -0.000076f, -0.000552f, 0.000190f, 0.000362f} - }, - { - {0.020843f, 0.021772f, -0.074620f, -0.219246f, -0.250987f, -0.107501f, 0.010495f, -0.117159f, -0.350087f, -0.299453f, 0.133095f, 0.571464f, 0.635503f, 0.397361f, 0.214127f, 0.251024f, 0.351688f, 0.309346f, 0.096268f, -0.170755f, -0.368550f, -0.441001f, -0.403762f, -0.312694f, -0.213644f, -0.118863f, -0.033052f, 0.019339f, 0.006766f, -0.084398f, -0.244267f, -0.442069f, -0.632048f, -0.778310f, -0.879952f, -0.956019f, -1.006298f, -1.007224f, -0.948454f, -0.854412f, -0.765413f, -0.711451f, -0.704679f, -0.740188f, -0.797729f, -0.853597f, -0.897547f, -0.934478f, -0.969795f, -0.999408f, -1.014937f, -1.013415f, -0.999640f, -0.981235f, -0.962830f, -0.944810f, -0.926848f, -0.910262f, -0.894988f, -0.876689f, -0.850723f, -0.818230f, -0.784731f, -0.753005f, -0.720667f, -0.685021f, -0.647235f, -0.610640f, -0.576758f, -0.544244f, -0.511073f, -0.477026f, -0.444129f, -0.414956f, -0.390763f, -0.371204f, -0.355270f, -0.342030f, -0.331009f, -0.322541f, -0.317554f, -0.316405f, -0.318065f, -0.320982f, -0.324817f, -0.330999f, -0.341429f, -0.356903f, -0.377097f, -0.401882f, -0.431767f, -0.466439f, -0.503289f, -0.537982f, -0.566063f, -0.583561f, - -0.587138f, -0.575315f, -0.549603f, -0.513357f, -0.469423f, -0.419580f, -0.365934f, -0.311618f, -0.259754f, -0.212337f, -0.170616f, -0.136551f, -0.113765f, -0.106742f, -0.118986f, -0.152388f, -0.208330f, -0.287999f, -0.390564f, -0.512325f, -0.649221f, -0.799131f, -0.960097f, -1.127778f, -1.297417f, -1.467538f, -1.638728f, -1.809064f, -1.973949f, -2.130414f, -2.277763f, -2.413033f, -2.529737f, -2.623312f, -2.694688f, -2.746001f, -2.775857f, -2.782337f, -2.768361f, -2.739709f, -2.698669f, -2.643816f, -2.575709f, -2.498064f, -2.412212f, -2.314661f, -2.202237f, -2.076018f, -1.937466f, -1.784021f, -1.612358f, -1.423970f, -1.223605f, -1.013553f, -0.793839f, -0.567739f, -0.342670f, -0.124736f, 0.083821f, 0.280550f, 0.459977f, 0.617159f, 0.751201f, 0.862726f, 0.950153f, 1.011333f, 1.047323f, 1.061710f, 1.057110f, 1.035001f, 0.998567f, 0.953069f, 0.903025f, 0.850779f, 0.798188f, 0.748048f, 0.702999f, 0.663889f, 0.630078f, 0.601056f, 0.577007f, 0.557689f, 0.541546f, 0.526776f, 0.512917f, 0.500274f, 0.488072f, 0.474647f, 0.459326f, 0.442142f, 0.421629f, 0.395188f, 0.361846f, 0.322187f, 0.275584f, 0.220730f, - 0.158999f, 0.093656f, 0.025970f, -0.043388f, -0.109763f, -0.167134f, -0.213607f, -0.244943f, -0.243677f, -0.190704f, -0.096080f, -0.005466f, 0.037995f, 0.033141f, 0.012469f, 0.001728f, 0.000979f, 0.000762f, -0.000671f, -0.000492f, 0.000547f, 0.000254f, -0.000496f, -0.000131f, 0.000467f, 0.000134f, -0.000309f, 0.000007f, 0.000336f, 0.000034f, -0.000227f, 0.000024f, 0.000194f, -0.000047f, -0.000184f, 0.000006f, 0.000083f, -0.000088f, -0.000140f, -0.000006f, 0.000018f, -0.000084f, -0.000083f, -0.000003f, -0.000007f, -0.000044f, -0.000017f, 0.000006f}, - {0.020843f, 0.021772f, -0.074620f, -0.219246f, -0.250987f, -0.107501f, 0.010495f, -0.117159f, -0.350087f, -0.299453f, 0.133095f, 0.571464f, 0.635503f, 0.397361f, 0.214127f, 0.251024f, 0.351688f, 0.309346f, 0.096268f, -0.170755f, -0.368550f, -0.441001f, -0.403762f, -0.312694f, -0.213644f, -0.118863f, -0.033052f, 0.019339f, 0.006766f, -0.084398f, -0.244267f, -0.442069f, -0.632048f, -0.778310f, -0.879952f, -0.956019f, -1.006298f, -1.007224f, -0.948454f, -0.854412f, -0.765413f, -0.711451f, -0.704679f, -0.740188f, -0.797729f, -0.853597f, -0.897547f, -0.934478f, -0.969795f, -0.999408f, -1.014937f, -1.013415f, -0.999640f, -0.981235f, -0.962830f, -0.944810f, -0.926848f, -0.910262f, -0.894988f, -0.876689f, -0.850723f, -0.818230f, -0.784731f, -0.753005f, -0.720667f, -0.685021f, -0.647235f, -0.610640f, -0.576758f, -0.544244f, -0.511073f, -0.477026f, -0.444129f, -0.414956f, -0.390763f, -0.371204f, -0.355270f, -0.342030f, -0.331009f, -0.322541f, -0.317554f, -0.316405f, -0.318065f, -0.320982f, -0.324817f, -0.330999f, -0.341429f, -0.356903f, -0.377097f, -0.401882f, -0.431767f, -0.466439f, -0.503289f, -0.537982f, -0.566063f, -0.583561f, - -0.587138f, -0.575315f, -0.549603f, -0.513357f, -0.469423f, -0.419580f, -0.365934f, -0.311618f, -0.259754f, -0.212337f, -0.170616f, -0.136551f, -0.113765f, -0.106742f, -0.118986f, -0.152388f, -0.208330f, -0.287999f, -0.390564f, -0.512325f, -0.649221f, -0.799131f, -0.960097f, -1.127778f, -1.297417f, -1.467538f, -1.638728f, -1.809064f, -1.973949f, -2.130414f, -2.277763f, -2.413033f, -2.529737f, -2.623312f, -2.694688f, -2.746001f, -2.775857f, -2.782337f, -2.768361f, -2.739709f, -2.698669f, -2.643816f, -2.575709f, -2.498064f, -2.412212f, -2.314661f, -2.202237f, -2.076018f, -1.937466f, -1.784021f, -1.612358f, -1.423970f, -1.223605f, -1.013553f, -0.793839f, -0.567739f, -0.342670f, -0.124736f, 0.083821f, 0.280550f, 0.459977f, 0.617159f, 0.751201f, 0.862726f, 0.950153f, 1.011333f, 1.047323f, 1.061710f, 1.057110f, 1.035001f, 0.998567f, 0.953069f, 0.903025f, 0.850779f, 0.798188f, 0.748048f, 0.702999f, 0.663889f, 0.630078f, 0.601056f, 0.577007f, 0.557689f, 0.541546f, 0.526776f, 0.512917f, 0.500274f, 0.488072f, 0.474647f, 0.459326f, 0.442142f, 0.421629f, 0.395188f, 0.361846f, 0.322187f, 0.275584f, 0.220730f, - 0.158999f, 0.093656f, 0.025970f, -0.043388f, -0.109763f, -0.167134f, -0.213607f, -0.244943f, -0.243677f, -0.190704f, -0.096080f, -0.005466f, 0.037995f, 0.033141f, 0.012469f, 0.001728f, 0.000979f, 0.000762f, -0.000671f, -0.000492f, 0.000547f, 0.000254f, -0.000496f, -0.000131f, 0.000467f, 0.000134f, -0.000309f, 0.000007f, 0.000336f, 0.000034f, -0.000227f, 0.000024f, 0.000194f, -0.000047f, -0.000184f, 0.000006f, 0.000083f, -0.000088f, -0.000140f, -0.000006f, 0.000018f, -0.000084f, -0.000083f, -0.000003f, -0.000007f, -0.000044f, -0.000017f, 0.000006f} - }, - { - {0.011569f, 0.065153f, 0.150153f, 0.203635f, 0.205376f, 0.173096f, 0.078721f, -0.099478f, -0.273114f, -0.336729f, -0.337980f, -0.407198f, -0.542930f, -0.623111f, -0.612944f, -0.602716f, -0.639352f, -0.670207f, -0.665746f, -0.663210f, -0.669807f, -0.639016f, -0.563037f, -0.492634f, -0.453350f, -0.425831f, -0.411451f, -0.435590f, -0.481467f, -0.493772f, -0.454614f, -0.397179f, -0.343898f, -0.284417f, -0.214324f, -0.148331f, -0.092876f, -0.042119f, -0.001362f, 0.013895f, 0.000977f, -0.028018f, -0.062315f, -0.094962f, -0.116574f, -0.120585f, -0.110386f, -0.094260f, -0.079595f, -0.075577f, -0.092822f, -0.135978f, -0.201707f, -0.283621f, -0.373297f, -0.458913f, -0.530510f, -0.586050f, -0.628047f, -0.657110f, -0.672676f, -0.676154f, -0.668940f, -0.650025f, -0.618410f, -0.575398f, -0.523084f, -0.463279f, -0.398758f, -0.333031f, -0.268412f, -0.205886f, -0.146127f, -0.088932f, -0.032678f, 0.024059f, 0.081192f, 0.138116f, 0.194573f, 0.249639f, 0.300758f, 0.344246f, 0.376397f, 0.394340f, 0.395940f, 0.378322f, 0.336985f, 0.267596f, 0.167862f, 0.036412f, -0.127823f, -0.321958f, -0.536530f, -0.759956f, -0.984191f, -1.203033f, - -1.407738f, -1.589491f, -1.745039f, -1.875334f, -1.979759f, -2.056311f, -2.106550f, -2.135185f, -2.144138f, -2.131027f, -2.094254f, -2.036298f, -1.961129f, -1.871617f, -1.771308f, -1.666459f, -1.563804f, -1.466752f, -1.375328f, -1.289465f, -1.210671f, -1.140298f, -1.077990f, -1.023002f, -0.975880f, -0.937424f, -0.906552f, -0.880558f, -0.857370f, -0.836543f, -0.818233f, -0.802387f, -0.789314f, -0.780403f, -0.777788f, -0.783208f, -0.797242f, -0.819642f, -0.850299f, -0.889299f, -0.935805f, -0.987623f, -1.042663f, -1.100181f, -1.159526f, -1.218087f, -1.271834f, -1.317746f, -1.354190f, -1.378859f, -1.388441f, -1.381422f, -1.359724f, -1.326229f, -1.282128f, -1.228339f, -1.167951f, -1.104670f, -1.039474f, -0.971238f, -0.900258f, -0.828583f, -0.756941f, -0.684007f, -0.609260f, -0.534389f, -0.461087f, -0.389218f, -0.318074f, -0.248322f, -0.181644f, -0.118710f, -0.058387f, 0.000515f, 0.057409f, 0.111358f, 0.163934f, 0.218134f, 0.274375f, 0.331038f, 0.389352f, 0.453139f, 0.522861f, 0.595488f, 0.671219f, 0.753543f, 0.841415f, 0.929099f, 1.014516f, 1.098177f, 1.173021f, 1.225991f, 1.249730f, 1.240661f, 1.187460f, 1.077175f, - 0.910930f, 0.697192f, 0.435982f, 0.132198f, -0.183809f, -0.475682f, -0.724582f, -0.891658f, -0.880755f, -0.621256f, -0.207028f, 0.126680f, 0.218186f, 0.126237f, 0.023051f, -0.005289f, 0.003972f, 0.002567f, -0.004554f, -0.001212f, 0.003755f, 0.000381f, -0.003113f, 0.000002f, 0.002534f, -0.000198f, -0.001991f, 0.000414f, 0.001690f, -0.000399f, -0.001292f, 0.000483f, 0.001055f, -0.000473f, -0.000835f, 0.000423f, 0.000587f, -0.000458f, -0.000496f, 0.000328f, 0.000259f, -0.000368f, -0.000220f, 0.000227f, 0.000038f, -0.000216f, 0.000017f, 0.000113f}, - {-0.169685f, -0.479052f, -0.687718f, -0.745489f, -0.686580f, -0.594247f, -0.494277f, -0.350304f, -0.167242f, -0.017921f, 0.055447f, 0.093676f, 0.144873f, 0.201507f, 0.248863f, 0.316742f, 0.432390f, 0.556193f, 0.607823f, 0.540609f, 0.367689f, 0.137632f, -0.092198f, -0.276561f, -0.400357f, -0.471390f, -0.492220f, -0.455722f, -0.371284f, -0.272306f, -0.186944f, -0.117169f, -0.053347f, 0.007736f, 0.067806f, 0.134068f, 0.208872f, 0.279806f, 0.327290f, 0.337195f, 0.304321f, 0.232209f, 0.134659f, 0.032521f, -0.055207f, -0.116778f, -0.147170f, -0.148130f, -0.129185f, -0.103778f, -0.082038f, -0.067724f, -0.060382f, -0.057666f, -0.056328f, -0.053688f, -0.048964f, -0.042853f, -0.036531f, -0.031221f, -0.027425f, -0.023816f, -0.017450f, -0.005051f, 0.016360f, 0.048944f, 0.092045f, 0.140182f, 0.183898f, 0.212996f, 0.219429f, 0.199052f, 0.152798f, 0.086601f, 0.009223f, -0.070626f, -0.145890f, -0.211261f, -0.262537f, -0.295616f, -0.305743f, -0.288061f, -0.239616f, -0.161593f, -0.060644f, 0.051193f, 0.158413f, 0.245651f, 0.301519f, 0.320779f, 0.304347f, 0.257927f, 0.190207f, 0.111091f, 0.030284f, -0.043708f, - -0.104254f, -0.147026f, -0.170155f, -0.174264f, -0.162372f, -0.139375f, -0.110912f, -0.082026f, -0.056260f, -0.035389f, -0.019595f, -0.007861f, 0.001522f, 0.010463f, 0.020713f, 0.033631f, 0.049942f, 0.069377f, 0.090322f, 0.109823f, 0.124132f, 0.129578f, 0.123456f, 0.104770f, 0.074585f, 0.035726f, -0.008012f, -0.052580f, -0.094098f, -0.129167f, -0.155076f, -0.169720f, -0.171437f, -0.159175f, -0.132888f, -0.093787f, -0.044490f, 0.010781f, 0.066337f, 0.115819f, 0.153314f, 0.174321f, 0.176622f, 0.160923f, 0.130685f, 0.091034f, 0.047547f, 0.005359f, -0.031604f, -0.061171f, -0.082725f, -0.096493f, -0.103137f, -0.103621f, -0.098835f, -0.089236f, -0.075087f, -0.056903f, -0.035467f, -0.011778f, 0.012643f, 0.035685f, 0.055241f, 0.069703f, 0.077958f, 0.079528f, 0.074957f, 0.065658f, 0.053228f, 0.039180f, 0.025001f, 0.011729f, -0.000451f, -0.011772f, -0.022406f, -0.032763f, -0.043533f, -0.054817f, -0.065772f, -0.075306f, -0.082031f, -0.083268f, -0.075551f, -0.056593f, -0.025842f, 0.016050f, 0.065745f, 0.115218f, 0.153630f, 0.171432f, 0.161627f, 0.120156f, 0.050082f, -0.035140f, -0.116350f, -0.176001f, - -0.199580f, -0.176780f, -0.109811f, -0.018038f, 0.072290f, 0.139214f, 0.162279f, 0.123993f, 0.034014f, -0.055650f, -0.086819f, -0.053222f, -0.004112f, 0.015109f, 0.006552f, -0.002295f, -0.000894f, 0.001475f, -0.000301f, -0.001224f, 0.000780f, 0.001739f, 0.000548f, 0.000335f, 0.001638f, 0.001930f, 0.000993f, 0.000852f, 0.001510f, 0.001347f, 0.000509f, 0.000293f, 0.000490f, 0.000108f, -0.000571f, -0.000767f, -0.000749f, -0.001070f, -0.001443f, -0.001463f, -0.001373f, -0.001433f, -0.001436f, -0.001227f, -0.000969f, -0.000757f, -0.000502f, -0.000175f} - }, - { - {-0.169685f, -0.479052f, -0.687718f, -0.745489f, -0.686580f, -0.594247f, -0.494277f, -0.350304f, -0.167242f, -0.017921f, 0.055447f, 0.093676f, 0.144873f, 0.201507f, 0.248863f, 0.316742f, 0.432390f, 0.556193f, 0.607823f, 0.540609f, 0.367689f, 0.137632f, -0.092198f, -0.276561f, -0.400357f, -0.471390f, -0.492220f, -0.455722f, -0.371284f, -0.272306f, -0.186944f, -0.117169f, -0.053347f, 0.007736f, 0.067806f, 0.134068f, 0.208872f, 0.279806f, 0.327290f, 0.337195f, 0.304321f, 0.232209f, 0.134659f, 0.032521f, -0.055207f, -0.116778f, -0.147170f, -0.148130f, -0.129185f, -0.103778f, -0.082038f, -0.067724f, -0.060382f, -0.057666f, -0.056328f, -0.053688f, -0.048964f, -0.042853f, -0.036531f, -0.031221f, -0.027425f, -0.023816f, -0.017450f, -0.005051f, 0.016360f, 0.048944f, 0.092045f, 0.140182f, 0.183898f, 0.212996f, 0.219429f, 0.199052f, 0.152798f, 0.086601f, 0.009223f, -0.070626f, -0.145890f, -0.211261f, -0.262537f, -0.295616f, -0.305743f, -0.288061f, -0.239616f, -0.161593f, -0.060644f, 0.051193f, 0.158413f, 0.245651f, 0.301519f, 0.320779f, 0.304347f, 0.257927f, 0.190207f, 0.111091f, 0.030284f, -0.043708f, - -0.104254f, -0.147026f, -0.170155f, -0.174264f, -0.162372f, -0.139375f, -0.110912f, -0.082026f, -0.056260f, -0.035389f, -0.019595f, -0.007861f, 0.001522f, 0.010463f, 0.020713f, 0.033631f, 0.049942f, 0.069377f, 0.090322f, 0.109823f, 0.124132f, 0.129578f, 0.123456f, 0.104770f, 0.074585f, 0.035726f, -0.008012f, -0.052580f, -0.094098f, -0.129167f, -0.155076f, -0.169720f, -0.171437f, -0.159175f, -0.132888f, -0.093787f, -0.044490f, 0.010781f, 0.066337f, 0.115819f, 0.153314f, 0.174321f, 0.176622f, 0.160923f, 0.130685f, 0.091034f, 0.047547f, 0.005359f, -0.031604f, -0.061171f, -0.082725f, -0.096493f, -0.103137f, -0.103621f, -0.098835f, -0.089236f, -0.075087f, -0.056903f, -0.035467f, -0.011778f, 0.012643f, 0.035685f, 0.055241f, 0.069703f, 0.077958f, 0.079528f, 0.074957f, 0.065658f, 0.053228f, 0.039180f, 0.025001f, 0.011729f, -0.000451f, -0.011772f, -0.022406f, -0.032763f, -0.043533f, -0.054817f, -0.065772f, -0.075306f, -0.082031f, -0.083268f, -0.075551f, -0.056593f, -0.025842f, 0.016050f, 0.065745f, 0.115218f, 0.153630f, 0.171432f, 0.161627f, 0.120156f, 0.050082f, -0.035140f, -0.116350f, -0.176001f, - -0.199580f, -0.176780f, -0.109811f, -0.018038f, 0.072290f, 0.139214f, 0.162279f, 0.123993f, 0.034014f, -0.055650f, -0.086819f, -0.053222f, -0.004112f, 0.015109f, 0.006552f, -0.002295f, -0.000894f, 0.001475f, -0.000301f, -0.001224f, 0.000780f, 0.001739f, 0.000548f, 0.000335f, 0.001638f, 0.001930f, 0.000993f, 0.000852f, 0.001510f, 0.001347f, 0.000509f, 0.000293f, 0.000490f, 0.000108f, -0.000571f, -0.000767f, -0.000749f, -0.001070f, -0.001443f, -0.001463f, -0.001373f, -0.001433f, -0.001436f, -0.001227f, -0.000969f, -0.000757f, -0.000502f, -0.000175f}, - {0.011569f, 0.065153f, 0.150153f, 0.203635f, 0.205376f, 0.173096f, 0.078721f, -0.099478f, -0.273114f, -0.336729f, -0.337980f, -0.407198f, -0.542930f, -0.623111f, -0.612944f, -0.602716f, -0.639352f, -0.670207f, -0.665746f, -0.663210f, -0.669807f, -0.639016f, -0.563037f, -0.492634f, -0.453350f, -0.425831f, -0.411451f, -0.435590f, -0.481467f, -0.493772f, -0.454614f, -0.397179f, -0.343898f, -0.284417f, -0.214324f, -0.148331f, -0.092876f, -0.042119f, -0.001362f, 0.013895f, 0.000977f, -0.028018f, -0.062315f, -0.094962f, -0.116574f, -0.120585f, -0.110386f, -0.094260f, -0.079595f, -0.075577f, -0.092822f, -0.135978f, -0.201707f, -0.283621f, -0.373297f, -0.458913f, -0.530510f, -0.586050f, -0.628047f, -0.657110f, -0.672676f, -0.676154f, -0.668940f, -0.650025f, -0.618410f, -0.575398f, -0.523084f, -0.463279f, -0.398758f, -0.333031f, -0.268412f, -0.205886f, -0.146127f, -0.088932f, -0.032678f, 0.024059f, 0.081192f, 0.138116f, 0.194573f, 0.249639f, 0.300758f, 0.344246f, 0.376397f, 0.394340f, 0.395940f, 0.378322f, 0.336985f, 0.267596f, 0.167862f, 0.036412f, -0.127823f, -0.321958f, -0.536530f, -0.759956f, -0.984191f, -1.203033f, - -1.407738f, -1.589491f, -1.745039f, -1.875334f, -1.979759f, -2.056311f, -2.106550f, -2.135185f, -2.144138f, -2.131027f, -2.094254f, -2.036298f, -1.961129f, -1.871617f, -1.771308f, -1.666459f, -1.563804f, -1.466752f, -1.375328f, -1.289465f, -1.210671f, -1.140298f, -1.077990f, -1.023002f, -0.975880f, -0.937424f, -0.906552f, -0.880558f, -0.857370f, -0.836543f, -0.818233f, -0.802387f, -0.789314f, -0.780403f, -0.777788f, -0.783208f, -0.797242f, -0.819642f, -0.850299f, -0.889299f, -0.935805f, -0.987623f, -1.042663f, -1.100181f, -1.159526f, -1.218087f, -1.271834f, -1.317746f, -1.354190f, -1.378859f, -1.388441f, -1.381422f, -1.359724f, -1.326229f, -1.282128f, -1.228339f, -1.167951f, -1.104670f, -1.039474f, -0.971238f, -0.900258f, -0.828583f, -0.756941f, -0.684007f, -0.609260f, -0.534389f, -0.461087f, -0.389218f, -0.318074f, -0.248322f, -0.181644f, -0.118710f, -0.058387f, 0.000515f, 0.057409f, 0.111358f, 0.163934f, 0.218134f, 0.274375f, 0.331038f, 0.389352f, 0.453139f, 0.522861f, 0.595488f, 0.671219f, 0.753543f, 0.841415f, 0.929099f, 1.014516f, 1.098177f, 1.173021f, 1.225991f, 1.249730f, 1.240661f, 1.187460f, 1.077175f, - 0.910930f, 0.697192f, 0.435982f, 0.132198f, -0.183809f, -0.475682f, -0.724582f, -0.891658f, -0.880755f, -0.621256f, -0.207028f, 0.126680f, 0.218186f, 0.126237f, 0.023051f, -0.005289f, 0.003972f, 0.002567f, -0.004554f, -0.001212f, 0.003755f, 0.000381f, -0.003113f, 0.000002f, 0.002534f, -0.000198f, -0.001991f, 0.000414f, 0.001690f, -0.000399f, -0.001292f, 0.000483f, 0.001055f, -0.000473f, -0.000835f, 0.000423f, 0.000587f, -0.000458f, -0.000496f, 0.000328f, 0.000259f, -0.000368f, -0.000220f, 0.000227f, 0.000038f, -0.000216f, 0.000017f, 0.000113f} - }, - { - {0.014162f, 0.079119f, 0.192373f, 0.273045f, 0.251924f, 0.149637f, 0.020926f, -0.122502f, -0.278057f, -0.388982f, -0.399742f, -0.356867f, -0.363688f, -0.430590f, -0.461817f, -0.411004f, -0.354648f, -0.367414f, -0.410842f, -0.409099f, -0.367287f, -0.341672f, -0.339623f, -0.322888f, -0.283709f, -0.252116f, -0.238516f, -0.220734f, -0.185306f, -0.144497f, -0.113533f, -0.096567f, -0.091951f, -0.092389f, -0.083826f, -0.057563f, -0.019655f, 0.018077f, 0.048708f, 0.067918f, 0.071323f, 0.059246f, 0.036544f, 0.005242f, -0.035854f, -0.084054f, -0.132500f, -0.177134f, -0.218733f, -0.259382f, -0.301515f, -0.348575f, -0.402779f, -0.463490f, -0.528869f, -0.596495f, -0.662478f, -0.723615f, -0.779891f, -0.831486f, -0.875283f, -0.908241f, -0.931583f, -0.947488f, -0.954629f, -0.951018f, -0.937871f, -0.916524f, -0.884692f, -0.839543f, -0.781782f, -0.714062f, -0.638421f, -0.557458f, -0.475213f, -0.395089f, -0.318909f, -0.248274f, -0.184492f, -0.127606f, -0.077917f, -0.037597f, -0.008569f, 0.009628f, 0.017312f, 0.011628f, -0.011443f, -0.053626f, -0.115452f, -0.199369f, -0.308884f, -0.444843f, -0.604506f, -0.784300f, -0.981549f, -1.192357f, - -1.409125f, -1.622569f, -1.826460f, -2.017987f, -2.192991f, -2.344549f, -2.468303f, -2.565362f, -2.636848f, -2.679384f, -2.689877f, -2.671088f, -2.627835f, -2.561060f, -2.470869f, -2.362808f, -2.245776f, -2.125343f, -2.003654f, -1.884247f, -1.772264f, -1.670297f, -1.577576f, -1.493238f, -1.418065f, -1.353009f, -1.297583f, -1.249988f, -1.208402f, -1.171974f, -1.140140f, -1.111192f, -1.083035f, -1.055899f, -1.032625f, -1.015658f, -1.005579f, -1.003175f, -1.010700f, -1.029943f, -1.060636f, -1.101560f, -1.151968f, -1.211363f, -1.278569f, -1.351093f, -1.425253f, -1.497653f, -1.566149f, -1.627979f, -1.677910f, -1.710781f, -1.724954f, -1.720277f, -1.694168f, -1.643923f, -1.571750f, -1.482954f, -1.380137f, -1.263897f, -1.138026f, -1.008765f, -0.879318f, -0.749674f, -0.621380f, -0.498272f, -0.382754f, -0.274712f, -0.174008f, -0.081729f, 0.000918f, 0.073950f, 0.139119f, 0.198670f, 0.253061f, 0.301763f, 0.347006f, 0.393182f, 0.441347f, 0.489362f, 0.538806f, 0.595052f, 0.658904f, 0.726443f, 0.798707f, 0.881537f, 0.974294f, 1.070091f, 1.167737f, 1.269490f, 1.366474f, 1.441595f, 1.485849f, 1.494333f, 1.449955f, 1.333119f, - 1.143665f, 0.890490f, 0.570130f, 0.186750f, -0.219462f, -0.600083f, -0.930100f, -1.155403f, -1.143394f, -0.798347f, -0.249038f, 0.187134f, 0.296878f, 0.165312f, 0.025951f, -0.009102f, 0.005434f, 0.003510f, -0.006460f, -0.001638f, 0.005342f, 0.000501f, -0.004432f, 0.000038f, 0.003617f, -0.000337f, -0.002882f, 0.000630f, 0.002437f, -0.000642f, -0.001890f, 0.000764f, 0.001542f, -0.000762f, -0.001213f, 0.000714f, 0.000864f, -0.000752f, -0.000696f, 0.000595f, 0.000364f, -0.000627f, -0.000266f, 0.000442f, 0.000006f, -0.000404f, 0.000101f, 0.000251f}, - {-0.227017f, -0.610853f, -0.818539f, -0.827113f, -0.686898f, -0.457087f, -0.160740f, 0.181063f, 0.492006f, 0.663270f, 0.645501f, 0.491623f, 0.296597f, 0.115853f, -0.045972f, -0.190366f, -0.298151f, -0.347926f, -0.342693f, -0.305048f, -0.248107f, -0.163349f, -0.044348f, 0.087150f, 0.193393f, 0.255393f, 0.280153f, 0.274932f, 0.233779f, 0.155052f, 0.055515f, -0.042313f, -0.126031f, -0.190062f, -0.227345f, -0.232206f, -0.205038f, -0.149865f, -0.073744f, 0.009150f, 0.080879f, 0.131334f, 0.161815f, 0.176140f, 0.173876f, 0.153042f, 0.113606f, 0.057194f, -0.011688f, -0.082861f, -0.142578f, -0.179538f, -0.187757f, -0.166078f, -0.118901f, -0.056731f, 0.007389f, 0.063005f, 0.104104f, 0.128523f, 0.137613f, 0.134941f, 0.123116f, 0.101857f, 0.069275f, 0.024158f, -0.032605f, -0.096564f, -0.158344f, -0.204423f, -0.220368f, -0.195089f, -0.125489f, -0.020636f, 0.097710f, 0.200646f, 0.261717f, 0.265867f, 0.214146f, 0.122474f, 0.014892f, -0.085103f, -0.160437f, -0.201917f, -0.207135f, -0.178873f, -0.123758f, -0.051585f, 0.024949f, 0.091673f, 0.136311f, 0.152061f, 0.139120f, 0.103823f, 0.056376f, 0.007840f, - -0.032834f, -0.060514f, -0.073885f, -0.074522f, -0.065753f, -0.051457f, -0.035012f, -0.018814f, -0.004264f, 0.008156f, 0.018669f, 0.027701f, 0.035397f, 0.041400f, 0.044773f, 0.044029f, 0.037643f, 0.024948f, 0.006808f, -0.014330f, -0.034848f, -0.050700f, -0.058465f, -0.056356f, -0.044689f, -0.025767f, -0.003347f, 0.018238f, 0.035205f, 0.045211f, 0.047611f, 0.043172f, 0.033577f, 0.020863f, 0.006937f, -0.006651f, -0.018658f, -0.028044f, -0.033981f, -0.035885f, -0.033444f, -0.026747f, -0.016470f, -0.003905f, 0.009212f, 0.020942f, 0.029423f, 0.033278f, 0.032010f, 0.026116f, 0.016859f, 0.005952f, -0.004786f, -0.013832f, -0.020263f, -0.023725f, -0.024216f, -0.022003f, -0.017612f, -0.011677f, -0.004775f, 0.002521f, 0.009563f, 0.015703f, 0.020359f, 0.022925f, 0.022827f, 0.019784f, 0.013935f, 0.005753f, -0.003874f, -0.013545f, -0.021660f, -0.026897f, -0.028311f, -0.025374f, -0.018350f, -0.008412f, 0.002946f, 0.014306f, 0.024069f, 0.030568f, 0.032809f, 0.030492f, 0.023239f, 0.010889f, -0.005219f, -0.022346f, -0.037579f, -0.047634f, -0.048151f, -0.035867f, -0.012072f, 0.017486f, 0.045290f, 0.062856f, - 0.061692f, 0.038856f, 0.001862f, -0.035283f, -0.059860f, -0.062195f, -0.036787f, 0.007937f, 0.044601f, 0.046634f, 0.017252f, -0.012271f, -0.017935f, -0.006337f, 0.002146f, 0.001029f, -0.001521f, -0.000459f, 0.000817f, -0.000067f, -0.000660f, 0.000353f, 0.000950f, 0.000276f, -0.000030f, 0.000569f, 0.000705f, 0.000053f, -0.000227f, 0.000069f, -0.000002f, -0.000506f, -0.000627f, -0.000349f, -0.000332f, -0.000528f, -0.000394f, -0.000037f, 0.000086f, 0.000082f, 0.000281f, 0.000519f, 0.000524f, 0.000449f, 0.000475f, 0.000435f, 0.000230f, 0.000050f} - }, - { - {-0.227017f, -0.610853f, -0.818539f, -0.827113f, -0.686898f, -0.457087f, -0.160740f, 0.181063f, 0.492006f, 0.663270f, 0.645501f, 0.491623f, 0.296597f, 0.115853f, -0.045972f, -0.190366f, -0.298151f, -0.347926f, -0.342693f, -0.305048f, -0.248107f, -0.163349f, -0.044348f, 0.087150f, 0.193393f, 0.255393f, 0.280153f, 0.274932f, 0.233779f, 0.155052f, 0.055515f, -0.042313f, -0.126031f, -0.190062f, -0.227345f, -0.232206f, -0.205038f, -0.149865f, -0.073744f, 0.009150f, 0.080879f, 0.131334f, 0.161815f, 0.176140f, 0.173876f, 0.153042f, 0.113606f, 0.057194f, -0.011688f, -0.082861f, -0.142578f, -0.179538f, -0.187757f, -0.166078f, -0.118901f, -0.056731f, 0.007389f, 0.063005f, 0.104104f, 0.128523f, 0.137613f, 0.134941f, 0.123116f, 0.101857f, 0.069275f, 0.024158f, -0.032605f, -0.096564f, -0.158344f, -0.204423f, -0.220368f, -0.195089f, -0.125489f, -0.020636f, 0.097710f, 0.200646f, 0.261717f, 0.265867f, 0.214146f, 0.122474f, 0.014892f, -0.085103f, -0.160437f, -0.201917f, -0.207135f, -0.178873f, -0.123758f, -0.051585f, 0.024949f, 0.091673f, 0.136311f, 0.152061f, 0.139120f, 0.103823f, 0.056376f, 0.007840f, - -0.032834f, -0.060514f, -0.073885f, -0.074522f, -0.065753f, -0.051457f, -0.035012f, -0.018814f, -0.004264f, 0.008156f, 0.018669f, 0.027701f, 0.035397f, 0.041400f, 0.044773f, 0.044029f, 0.037643f, 0.024948f, 0.006808f, -0.014330f, -0.034848f, -0.050700f, -0.058465f, -0.056356f, -0.044689f, -0.025767f, -0.003347f, 0.018238f, 0.035205f, 0.045211f, 0.047611f, 0.043172f, 0.033577f, 0.020863f, 0.006937f, -0.006651f, -0.018658f, -0.028044f, -0.033981f, -0.035885f, -0.033444f, -0.026747f, -0.016470f, -0.003905f, 0.009212f, 0.020942f, 0.029423f, 0.033278f, 0.032010f, 0.026116f, 0.016859f, 0.005952f, -0.004786f, -0.013832f, -0.020263f, -0.023725f, -0.024216f, -0.022003f, -0.017612f, -0.011677f, -0.004775f, 0.002521f, 0.009563f, 0.015703f, 0.020359f, 0.022925f, 0.022827f, 0.019784f, 0.013935f, 0.005753f, -0.003874f, -0.013545f, -0.021660f, -0.026897f, -0.028311f, -0.025374f, -0.018350f, -0.008412f, 0.002946f, 0.014306f, 0.024069f, 0.030568f, 0.032809f, 0.030492f, 0.023239f, 0.010889f, -0.005219f, -0.022346f, -0.037579f, -0.047634f, -0.048151f, -0.035867f, -0.012072f, 0.017486f, 0.045290f, 0.062856f, - 0.061692f, 0.038856f, 0.001862f, -0.035283f, -0.059860f, -0.062195f, -0.036787f, 0.007937f, 0.044601f, 0.046634f, 0.017252f, -0.012271f, -0.017935f, -0.006337f, 0.002146f, 0.001029f, -0.001521f, -0.000459f, 0.000817f, -0.000067f, -0.000660f, 0.000353f, 0.000950f, 0.000276f, -0.000030f, 0.000569f, 0.000705f, 0.000053f, -0.000227f, 0.000069f, -0.000002f, -0.000506f, -0.000627f, -0.000349f, -0.000332f, -0.000528f, -0.000394f, -0.000037f, 0.000086f, 0.000082f, 0.000281f, 0.000519f, 0.000524f, 0.000449f, 0.000475f, 0.000435f, 0.000230f, 0.000050f}, - {0.014162f, 0.079119f, 0.192373f, 0.273045f, 0.251924f, 0.149637f, 0.020926f, -0.122502f, -0.278057f, -0.388982f, -0.399742f, -0.356867f, -0.363688f, -0.430590f, -0.461817f, -0.411004f, -0.354648f, -0.367414f, -0.410842f, -0.409099f, -0.367287f, -0.341672f, -0.339623f, -0.322888f, -0.283709f, -0.252116f, -0.238516f, -0.220734f, -0.185306f, -0.144497f, -0.113533f, -0.096567f, -0.091951f, -0.092389f, -0.083826f, -0.057563f, -0.019655f, 0.018077f, 0.048708f, 0.067918f, 0.071323f, 0.059246f, 0.036544f, 0.005242f, -0.035854f, -0.084054f, -0.132500f, -0.177134f, -0.218733f, -0.259382f, -0.301515f, -0.348575f, -0.402779f, -0.463490f, -0.528869f, -0.596495f, -0.662478f, -0.723615f, -0.779891f, -0.831486f, -0.875283f, -0.908241f, -0.931583f, -0.947488f, -0.954629f, -0.951018f, -0.937871f, -0.916524f, -0.884692f, -0.839543f, -0.781782f, -0.714062f, -0.638421f, -0.557458f, -0.475213f, -0.395089f, -0.318909f, -0.248274f, -0.184492f, -0.127606f, -0.077917f, -0.037597f, -0.008569f, 0.009628f, 0.017312f, 0.011628f, -0.011443f, -0.053626f, -0.115452f, -0.199369f, -0.308884f, -0.444843f, -0.604506f, -0.784300f, -0.981549f, -1.192357f, - -1.409125f, -1.622569f, -1.826460f, -2.017987f, -2.192991f, -2.344549f, -2.468303f, -2.565362f, -2.636848f, -2.679384f, -2.689877f, -2.671088f, -2.627835f, -2.561060f, -2.470869f, -2.362808f, -2.245776f, -2.125343f, -2.003654f, -1.884247f, -1.772264f, -1.670297f, -1.577576f, -1.493238f, -1.418065f, -1.353009f, -1.297583f, -1.249988f, -1.208402f, -1.171974f, -1.140140f, -1.111192f, -1.083035f, -1.055899f, -1.032625f, -1.015658f, -1.005579f, -1.003175f, -1.010700f, -1.029943f, -1.060636f, -1.101560f, -1.151968f, -1.211363f, -1.278569f, -1.351093f, -1.425253f, -1.497653f, -1.566149f, -1.627979f, -1.677910f, -1.710781f, -1.724954f, -1.720277f, -1.694168f, -1.643923f, -1.571750f, -1.482954f, -1.380137f, -1.263897f, -1.138026f, -1.008765f, -0.879318f, -0.749674f, -0.621380f, -0.498272f, -0.382754f, -0.274712f, -0.174008f, -0.081729f, 0.000918f, 0.073950f, 0.139119f, 0.198670f, 0.253061f, 0.301763f, 0.347006f, 0.393182f, 0.441347f, 0.489362f, 0.538806f, 0.595052f, 0.658904f, 0.726443f, 0.798707f, 0.881537f, 0.974294f, 1.070091f, 1.167737f, 1.269490f, 1.366474f, 1.441595f, 1.485849f, 1.494333f, 1.449955f, 1.333119f, - 1.143665f, 0.890490f, 0.570130f, 0.186750f, -0.219462f, -0.600083f, -0.930100f, -1.155403f, -1.143394f, -0.798347f, -0.249038f, 0.187134f, 0.296878f, 0.165312f, 0.025951f, -0.009102f, 0.005434f, 0.003510f, -0.006460f, -0.001638f, 0.005342f, 0.000501f, -0.004432f, 0.000038f, 0.003617f, -0.000337f, -0.002882f, 0.000630f, 0.002437f, -0.000642f, -0.001890f, 0.000764f, 0.001542f, -0.000762f, -0.001213f, 0.000714f, 0.000864f, -0.000752f, -0.000696f, 0.000595f, 0.000364f, -0.000627f, -0.000266f, 0.000442f, 0.000006f, -0.000404f, 0.000101f, 0.000251f} - }, - { - {0.042732f, 0.113314f, 0.176202f, 0.252685f, 0.281884f, 0.174262f, -0.028902f, -0.180587f, -0.233986f, -0.287382f, -0.386130f, -0.425463f, -0.325835f, -0.178382f, -0.114461f, -0.125567f, -0.120866f, -0.091304f, -0.099788f, -0.149408f, -0.175401f, -0.160079f, -0.161819f, -0.218211f, -0.289828f, -0.318343f, -0.292465f, -0.240485f, -0.191978f, -0.159418f, -0.133666f, -0.090469f, -0.019098f, 0.054253f, 0.088015f, 0.069071f, 0.020080f, -0.033141f, -0.083529f, -0.132397f, -0.175396f, -0.206306f, -0.226074f, -0.242406f, -0.263892f, -0.296267f, -0.341457f, -0.399032f, -0.469188f, -0.552919f, -0.648193f, -0.748197f, -0.845109f, -0.933962f, -1.011947f, -1.076813f, -1.128569f, -1.171494f, -1.212173f, -1.255672f, -1.304491f, -1.359954f, -1.422038f, -1.487064f, -1.547033f, -1.592617f, -1.616640f, -1.614662f, -1.584205f, -1.525739f, -1.444021f, -1.346192f, -1.237997f, -1.123060f, -1.005499f, -0.890943f, -0.784138f, -0.686938f, -0.599442f, -0.522145f, -0.456501f, -0.404312f, -0.367214f, -0.346412f, -0.342532f, -0.355339f, -0.382875f, -0.421110f, -0.466097f, -0.517365f, -0.578173f, -0.651999f, -0.740613f, -0.846331f, -0.973383f, -1.124324f, - -1.296390f, -1.483783f, -1.682030f, -1.886821f, -2.089453f, -2.277670f, -2.441976f, -2.578074f, -2.682664f, -2.751303f, -2.783009f, -2.783561f, -2.760778f, -2.718619f, -2.658947f, -2.586450f, -2.507126f, -2.422614f, -2.330300f, -2.229205f, -2.122072f, -2.011250f, -1.896456f, -1.778273f, -1.660862f, -1.549002f, -1.444261f, -1.345971f, -1.254532f, -1.171530f, -1.097176f, -1.029833f, -0.968588f, -0.914945f, -0.871217f, -0.838134f, -0.814965f, -0.801436f, -0.798271f, -0.805721f, -0.822625f, -0.847489f, -0.879927f, -0.920297f, -0.968011f, -1.020724f, -1.075381f, -1.129486f, -1.180488f, -1.223986f, -1.253993f, -1.265791f, -1.257367f, -1.227234f, -1.172823f, -1.093165f, -0.991598f, -0.873296f, -0.741394f, -0.598215f, -0.448782f, -0.299472f, -0.153850f, -0.013150f, 0.119688f, 0.239921f, 0.344752f, 0.434094f, 0.507626f, 0.563828f, 0.602225f, 0.624544f, 0.633321f, 0.630521f, 0.617681f, 0.596899f, 0.571519f, 0.545119f, 0.519474f, 0.494984f, 0.473597f, 0.458663f, 0.451052f, 0.449131f, 0.453874f, 0.469249f, 0.496098f, 0.531445f, 0.575166f, 0.629762f, 0.691627f, 0.750864f, 0.800872f, 0.837878f, 0.850653f, 0.823774f, - 0.751946f, 0.637275f, 0.475061f, 0.262253f, 0.017602f, -0.229919f, -0.464480f, -0.657131f, -0.724380f, -0.581353f, -0.268217f, 0.032040f, 0.155663f, 0.110828f, 0.028755f, -0.002038f, 0.003059f, 0.003053f, -0.003352f, -0.001791f, 0.002885f, 0.000944f, -0.002489f, -0.000503f, 0.002099f, 0.000264f, -0.001661f, 0.000033f, 0.001463f, -0.000069f, -0.001127f, 0.000210f, 0.000935f, -0.000257f, -0.000759f, 0.000241f, 0.000524f, -0.000328f, -0.000468f, 0.000216f, 0.000230f, -0.000297f, -0.000215f, 0.000167f, 0.000034f, -0.000183f, 0.000005f, 0.000090f}, - {-0.250909f, -0.661336f, -0.861225f, -0.846916f, -0.664218f, -0.342701f, 0.076872f, 0.488737f, 0.753326f, 0.794678f, 0.644668f, 0.387694f, 0.087110f, -0.222402f, -0.495680f, -0.664775f, -0.675318f, -0.525707f, -0.265768f, 0.036302f, 0.319925f, 0.533105f, 0.627711f, 0.573382f, 0.381856f, 0.110168f, -0.167080f, -0.388791f, -0.515916f, -0.526706f, -0.420116f, -0.223812f, 0.011549f, 0.230567f, 0.386430f, 0.446123f, 0.398575f, 0.263648f, 0.086018f, -0.086830f, -0.222117f, -0.302172f, -0.318170f, -0.270419f, -0.172076f, -0.047006f, 0.077560f, 0.176959f, 0.232529f, 0.235587f, 0.190743f, 0.114082f, 0.026025f, -0.055703f, -0.118661f, -0.155078f, -0.161686f, -0.140558f, -0.098598f, -0.044962f, 0.011333f, 0.062126f, 0.100520f, 0.122077f, 0.125459f, 0.111411f, 0.081471f, 0.037876f, -0.015751f, -0.073456f, -0.125593f, -0.158578f, -0.158714f, -0.119549f, -0.047405f, 0.039448f, 0.117161f, 0.164530f, 0.170112f, 0.135882f, 0.075272f, 0.006299f, -0.055781f, -0.101955f, -0.128540f, -0.134431f, -0.119079f, -0.082497f, -0.027309f, 0.038596f, 0.101279f, 0.143737f, 0.152211f, 0.122702f, 0.063597f, -0.007521f, - -0.071051f, -0.112331f, -0.125169f, -0.111443f, -0.078301f, -0.034928f, 0.009839f, 0.048818f, 0.077025f, 0.091668f, 0.091678f, 0.077234f, 0.049800f, 0.012550f, -0.029326f, -0.068680f, -0.097051f, -0.106411f, -0.092004f, -0.054995f, -0.003302f, 0.050087f, 0.090874f, 0.108187f, 0.098374f, 0.065929f, 0.021166f, -0.023770f, -0.058591f, -0.077199f, -0.078302f, -0.064504f, -0.040631f, -0.012245f, 0.015405f, 0.038112f, 0.053035f, 0.058570f, 0.054242f, 0.040853f, 0.020584f, -0.003249f, -0.026598f, -0.045207f, -0.055424f, -0.055094f, -0.044048f, -0.024168f, 0.000785f, 0.025763f, 0.045560f, 0.056006f, 0.054767f, 0.041927f, 0.020280f, -0.005230f, -0.028930f, -0.045847f, -0.052644f, -0.048279f, -0.034253f, -0.014018f, 0.008118f, 0.027817f, 0.041328f, 0.046258f, 0.042077f, 0.029925f, 0.012195f, -0.007720f, -0.025950f, -0.039008f, -0.044357f, -0.040660f, -0.028307f, -0.009797f, 0.010916f, 0.029525f, 0.041957f, 0.045064f, 0.037975f, 0.022610f, 0.002456f, -0.018582f, -0.036115f, -0.045810f, -0.045173f, -0.034131f, -0.014018f, 0.012025f, 0.037399f, 0.053505f, 0.054220f, 0.038177f, 0.008264f, -0.027360f, - -0.054784f, -0.060832f, -0.042426f, -0.007657f, 0.030216f, 0.055369f, 0.051860f, 0.017076f, -0.025749f, -0.042575f, -0.023699f, 0.005650f, 0.016563f, 0.008110f, -0.000864f, -0.000797f, 0.001703f, 0.000500f, -0.001538f, -0.001141f, -0.000404f, -0.001262f, -0.001848f, -0.000816f, 0.000201f, 0.000154f, 0.000304f, 0.001238f, 0.001720f, 0.001244f, 0.000819f, 0.000784f, 0.000347f, -0.000573f, -0.001141f, -0.001202f, -0.001315f, -0.001446f, -0.001099f, -0.000403f, 0.000147f, 0.000578f, 0.001107f, 0.001494f, 0.001472f, 0.001216f, 0.000888f, 0.000349f} - }, - { - {-0.250909f, -0.661336f, -0.861225f, -0.846916f, -0.664218f, -0.342701f, 0.076872f, 0.488737f, 0.753326f, 0.794678f, 0.644668f, 0.387694f, 0.087110f, -0.222402f, -0.495680f, -0.664775f, -0.675318f, -0.525707f, -0.265768f, 0.036302f, 0.319925f, 0.533105f, 0.627711f, 0.573382f, 0.381856f, 0.110168f, -0.167080f, -0.388791f, -0.515916f, -0.526706f, -0.420116f, -0.223812f, 0.011549f, 0.230567f, 0.386430f, 0.446123f, 0.398575f, 0.263648f, 0.086018f, -0.086830f, -0.222117f, -0.302172f, -0.318170f, -0.270419f, -0.172076f, -0.047006f, 0.077560f, 0.176959f, 0.232529f, 0.235587f, 0.190743f, 0.114082f, 0.026025f, -0.055703f, -0.118661f, -0.155078f, -0.161686f, -0.140558f, -0.098598f, -0.044962f, 0.011333f, 0.062126f, 0.100520f, 0.122077f, 0.125459f, 0.111411f, 0.081471f, 0.037876f, -0.015751f, -0.073456f, -0.125593f, -0.158578f, -0.158714f, -0.119549f, -0.047405f, 0.039448f, 0.117161f, 0.164530f, 0.170112f, 0.135882f, 0.075272f, 0.006299f, -0.055781f, -0.101955f, -0.128540f, -0.134431f, -0.119079f, -0.082497f, -0.027309f, 0.038596f, 0.101279f, 0.143737f, 0.152211f, 0.122702f, 0.063597f, -0.007521f, - -0.071051f, -0.112331f, -0.125169f, -0.111443f, -0.078301f, -0.034928f, 0.009839f, 0.048818f, 0.077025f, 0.091668f, 0.091678f, 0.077234f, 0.049800f, 0.012550f, -0.029326f, -0.068680f, -0.097051f, -0.106411f, -0.092004f, -0.054995f, -0.003302f, 0.050087f, 0.090874f, 0.108187f, 0.098374f, 0.065929f, 0.021166f, -0.023770f, -0.058591f, -0.077199f, -0.078302f, -0.064504f, -0.040631f, -0.012245f, 0.015405f, 0.038112f, 0.053035f, 0.058570f, 0.054242f, 0.040853f, 0.020584f, -0.003249f, -0.026598f, -0.045207f, -0.055424f, -0.055094f, -0.044048f, -0.024168f, 0.000785f, 0.025763f, 0.045560f, 0.056006f, 0.054767f, 0.041927f, 0.020280f, -0.005230f, -0.028930f, -0.045847f, -0.052644f, -0.048279f, -0.034253f, -0.014018f, 0.008118f, 0.027817f, 0.041328f, 0.046258f, 0.042077f, 0.029925f, 0.012195f, -0.007720f, -0.025950f, -0.039008f, -0.044357f, -0.040660f, -0.028307f, -0.009797f, 0.010916f, 0.029525f, 0.041957f, 0.045064f, 0.037975f, 0.022610f, 0.002456f, -0.018582f, -0.036115f, -0.045810f, -0.045173f, -0.034131f, -0.014018f, 0.012025f, 0.037399f, 0.053505f, 0.054220f, 0.038177f, 0.008264f, -0.027360f, - -0.054784f, -0.060832f, -0.042426f, -0.007657f, 0.030216f, 0.055369f, 0.051860f, 0.017076f, -0.025749f, -0.042575f, -0.023699f, 0.005650f, 0.016563f, 0.008110f, -0.000864f, -0.000797f, 0.001703f, 0.000500f, -0.001538f, -0.001141f, -0.000404f, -0.001262f, -0.001848f, -0.000816f, 0.000201f, 0.000154f, 0.000304f, 0.001238f, 0.001720f, 0.001244f, 0.000819f, 0.000784f, 0.000347f, -0.000573f, -0.001141f, -0.001202f, -0.001315f, -0.001446f, -0.001099f, -0.000403f, 0.000147f, 0.000578f, 0.001107f, 0.001494f, 0.001472f, 0.001216f, 0.000888f, 0.000349f}, - {0.042732f, 0.113314f, 0.176202f, 0.252685f, 0.281884f, 0.174262f, -0.028902f, -0.180587f, -0.233986f, -0.287382f, -0.386130f, -0.425463f, -0.325835f, -0.178382f, -0.114461f, -0.125567f, -0.120866f, -0.091304f, -0.099788f, -0.149408f, -0.175401f, -0.160079f, -0.161819f, -0.218211f, -0.289828f, -0.318343f, -0.292465f, -0.240485f, -0.191978f, -0.159418f, -0.133666f, -0.090469f, -0.019098f, 0.054253f, 0.088015f, 0.069071f, 0.020080f, -0.033141f, -0.083529f, -0.132397f, -0.175396f, -0.206306f, -0.226074f, -0.242406f, -0.263892f, -0.296267f, -0.341457f, -0.399032f, -0.469188f, -0.552919f, -0.648193f, -0.748197f, -0.845109f, -0.933962f, -1.011947f, -1.076813f, -1.128569f, -1.171494f, -1.212173f, -1.255672f, -1.304491f, -1.359954f, -1.422038f, -1.487064f, -1.547033f, -1.592617f, -1.616640f, -1.614662f, -1.584205f, -1.525739f, -1.444021f, -1.346192f, -1.237997f, -1.123060f, -1.005499f, -0.890943f, -0.784138f, -0.686938f, -0.599442f, -0.522145f, -0.456501f, -0.404312f, -0.367214f, -0.346412f, -0.342532f, -0.355339f, -0.382875f, -0.421110f, -0.466097f, -0.517365f, -0.578173f, -0.651999f, -0.740613f, -0.846331f, -0.973383f, -1.124324f, - -1.296390f, -1.483783f, -1.682030f, -1.886821f, -2.089453f, -2.277670f, -2.441976f, -2.578074f, -2.682664f, -2.751303f, -2.783009f, -2.783561f, -2.760778f, -2.718619f, -2.658947f, -2.586450f, -2.507126f, -2.422614f, -2.330300f, -2.229205f, -2.122072f, -2.011250f, -1.896456f, -1.778273f, -1.660862f, -1.549002f, -1.444261f, -1.345971f, -1.254532f, -1.171530f, -1.097176f, -1.029833f, -0.968588f, -0.914945f, -0.871217f, -0.838134f, -0.814965f, -0.801436f, -0.798271f, -0.805721f, -0.822625f, -0.847489f, -0.879927f, -0.920297f, -0.968011f, -1.020724f, -1.075381f, -1.129486f, -1.180488f, -1.223986f, -1.253993f, -1.265791f, -1.257367f, -1.227234f, -1.172823f, -1.093165f, -0.991598f, -0.873296f, -0.741394f, -0.598215f, -0.448782f, -0.299472f, -0.153850f, -0.013150f, 0.119688f, 0.239921f, 0.344752f, 0.434094f, 0.507626f, 0.563828f, 0.602225f, 0.624544f, 0.633321f, 0.630521f, 0.617681f, 0.596899f, 0.571519f, 0.545119f, 0.519474f, 0.494984f, 0.473597f, 0.458663f, 0.451052f, 0.449131f, 0.453874f, 0.469249f, 0.496098f, 0.531445f, 0.575166f, 0.629762f, 0.691627f, 0.750864f, 0.800872f, 0.837878f, 0.850653f, 0.823774f, - 0.751946f, 0.637275f, 0.475061f, 0.262253f, 0.017602f, -0.229919f, -0.464480f, -0.657131f, -0.724380f, -0.581353f, -0.268217f, 0.032040f, 0.155663f, 0.110828f, 0.028755f, -0.002038f, 0.003059f, 0.003053f, -0.003352f, -0.001791f, 0.002885f, 0.000944f, -0.002489f, -0.000503f, 0.002099f, 0.000264f, -0.001661f, 0.000033f, 0.001463f, -0.000069f, -0.001127f, 0.000210f, 0.000935f, -0.000257f, -0.000759f, 0.000241f, 0.000524f, -0.000328f, -0.000468f, 0.000216f, 0.000230f, -0.000297f, -0.000215f, 0.000167f, 0.000034f, -0.000183f, 0.000005f, 0.000090f} - }, - { - {-0.008117f, -0.029088f, -0.057048f, -0.081735f, -0.092189f, -0.085100f, -0.046258f, 0.061013f, 0.247665f, 0.439587f, 0.518097f, 0.436893f, 0.258432f, 0.069209f, -0.085972f, -0.179131f, -0.182780f, -0.110632f, -0.018595f, 0.061348f, 0.137561f, 0.195698f, 0.184660f, 0.090981f, -0.029833f, -0.119427f, -0.163497f, -0.160991f, -0.107102f, -0.026915f, 0.027637f, 0.034786f, 0.014084f, -0.027320f, -0.111107f, -0.240023f, -0.378923f, -0.496585f, -0.591277f, -0.668375f, -0.726093f, -0.769534f, -0.811105f, -0.852336f, -0.884973f, -0.908307f, -0.928671f, -0.947596f, -0.965411f, -0.988396f, -1.019242f, -1.049599f, -1.072930f, -1.095057f, -1.123669f, -1.157984f, -1.195511f, -1.238117f, -1.285188f, -1.330071f, -1.368128f, -1.401405f, -1.433429f, -1.465837f, -1.500686f, -1.540528f, -1.585844f, -1.634999f, -1.684816f, -1.729881f, -1.764985f, -1.789120f, -1.803259f, -1.805236f, -1.792176f, -1.766414f, -1.732839f, -1.691843f, -1.640852f, -1.580948f, -1.516199f, -1.448521f, -1.378711f, -1.310591f, -1.249109f, -1.195647f, -1.148671f, -1.107399f, -1.072096f, -1.042222f, -1.016132f, -0.991629f, -0.966575f, -0.940263f, -0.913765f, -0.887830f, - -0.861818f, -0.835753f, -0.811153f, -0.788325f, -0.765201f, -0.740195f, -0.713773f, -0.686076f, -0.655627f, -0.621644f, -0.585391f, -0.548400f, -0.511253f, -0.474595f, -0.439641f, -0.407373f, -0.378310f, -0.352841f, -0.330952f, -0.312187f, -0.296447f, -0.283965f, -0.274268f, -0.266290f, -0.259673f, -0.254827f, -0.251774f, -0.250098f, -0.249925f, -0.251995f, -0.257051f, -0.265902f, -0.279634f, -0.299233f, -0.325552f, -0.359646f, -0.402100f, -0.451970f, -0.507511f, -0.567748f, -0.632019f, -0.698338f, -0.763997f, -0.827724f, -0.889545f, -0.948515f, -1.002452f, -1.050350f, -1.093294f, -1.132284f, -1.166691f, -1.195985f, -1.221676f, -1.245932f, -1.269000f, -1.289688f, -1.308062f, -1.325687f, -1.342928f, -1.357937f, -1.369096f, -1.376762f, -1.381406f, -1.381343f, -1.373935f, -1.358365f, -1.335436f, -1.304589f, -1.262934f, -1.208217f, -1.141032f, -1.062204f, -0.969496f, -0.859997f, -0.734719f, -0.596717f, -0.445375f, -0.277897f, -0.096215f, 0.094002f, 0.291185f, 0.497134f, 0.708325f, 0.916667f, 1.119036f, 1.316063f, 1.501707f, 1.665244f, 1.802397f, 1.911586f, 1.981297f, 1.995663f, 1.949047f, 1.839685f, 1.656456f, 1.391696f, - 1.058526f, 0.675467f, 0.249613f, -0.199264f, -0.619582f, -0.963618f, -1.208061f, -1.294816f, -1.109269f, -0.622127f, -0.037804f, 0.321944f, 0.325104f, 0.139499f, 0.005477f, -0.011392f, 0.006042f, 0.001000f, -0.006817f, 0.000382f, 0.005296f, -0.001059f, -0.004165f, 0.001245f, 0.003241f, -0.001280f, -0.002498f, 0.001306f, 0.002025f, -0.001148f, -0.001520f, 0.001099f, 0.001208f, -0.000964f, -0.000921f, 0.000826f, 0.000648f, -0.000761f, -0.000515f, 0.000575f, 0.000271f, -0.000542f, -0.000203f, 0.000365f, 0.000014f, -0.000310f, 0.000064f, 0.000181f}, - {-0.129981f, -0.372476f, -0.578529f, -0.729243f, -0.764475f, -0.635793f, -0.411234f, -0.258736f, -0.302102f, -0.525369f, -0.805126f, -0.991322f, -0.983991f, -0.803176f, -0.584723f, -0.458600f, -0.436987f, -0.451679f, -0.459616f, -0.451677f, -0.395154f, -0.251867f, -0.050784f, 0.123344f, 0.221870f, 0.269667f, 0.313652f, 0.376737f, 0.462841f, 0.567567f, 0.673170f, 0.754338f, 0.795107f, 0.792591f, 0.752470f, 0.691691f, 0.634947f, 0.595069f, 0.562305f, 0.519235f, 0.458575f, 0.383012f, 0.298227f, 0.211056f, 0.126529f, 0.043347f, -0.042514f, -0.130277f, -0.215859f, -0.298302f, -0.378918f, -0.456881f, -0.530468f, -0.598896f, -0.658825f, -0.703316f, -0.727822f, -0.733246f, -0.721133f, -0.690755f, -0.642644f, -0.580117f, -0.505916f, -0.421525f, -0.330087f, -0.235562f, -0.138750f, -0.037980f, 0.066169f, 0.169625f, 0.267531f, 0.355691f, 0.430568f, 0.490492f, 0.536392f, 0.569778f, 0.590566f, 0.597566f, 0.590084f, 0.568477f, 0.533880f, 0.487697f, 0.431144f, 0.365726f, 0.294260f, 0.220525f, 0.147743f, 0.078228f, 0.014043f, -0.043456f, -0.094326f, -0.138832f, -0.176068f, -0.205120f, -0.226671f, -0.241986f, - -0.251293f, -0.254596f, -0.252994f, -0.247846f, -0.239708f, -0.229246f, -0.218093f, -0.207780f, -0.198730f, -0.190983f, -0.184906f, -0.180621f, -0.177602f, -0.175210f, -0.173034f, -0.170646f, -0.167447f, -0.162637f, -0.155080f, -0.143537f, -0.127170f, -0.105418f, -0.077693f, -0.043897f, -0.004918f, 0.038190f, 0.084983f, 0.134821f, 0.186035f, 0.236843f, 0.286214f, 0.332895f, 0.374623f, 0.409400f, 0.436550f, 0.455532f, 0.464788f, 0.462789f, 0.449137f, 0.423624f, 0.385300f, 0.333570f, 0.269292f, 0.193801f, 0.107779f, 0.012194f, -0.090333f, -0.196122f, -0.301746f, -0.403692f, -0.497310f, -0.577424f, -0.639930f, -0.681870f, -0.700365f, -0.693007f, -0.659496f, -0.601723f, -0.522170f, -0.423547f, -0.310025f, -0.187155f, -0.060052f, 0.067102f, 0.189708f, 0.302691f, 0.402232f, 0.486145f, 0.552331f, 0.598446f, 0.623264f, 0.626838f, 0.609193f, 0.570294f, 0.511336f, 0.434835f, 0.343621f, 0.240782f, 0.130231f, 0.016430f, -0.096110f, -0.202773f, -0.299055f, -0.381032f, -0.445029f, -0.487486f, -0.506123f, -0.500243f, -0.469027f, -0.411517f, -0.329438f, -0.227615f, -0.111000f, 0.014761f, 0.139062f, 0.247906f, - 0.330788f, 0.380428f, 0.386990f, 0.342751f, 0.253257f, 0.133183f, -0.006044f, -0.145689f, -0.238420f, -0.230859f, -0.127035f, -0.005841f, 0.051207f, 0.037489f, 0.006530f, -0.003104f, 0.001464f, 0.002113f, -0.000555f, 0.000795f, 0.003689f, 0.003262f, 0.002035f, 0.003451f, 0.005181f, 0.004704f, 0.004097f, 0.005202f, 0.006175f, 0.005667f, 0.005284f, 0.005991f, 0.006394f, 0.005824f, 0.005470f, 0.005772f, 0.005730f, 0.005088f, 0.004674f, 0.004609f, 0.004237f, 0.003551f, 0.003059f, 0.002698f, 0.002121f, 0.001454f, 0.000907f, 0.000332f} - }, - { - {-0.129981f, -0.372476f, -0.578529f, -0.729243f, -0.764475f, -0.635793f, -0.411234f, -0.258736f, -0.302102f, -0.525369f, -0.805126f, -0.991322f, -0.983991f, -0.803176f, -0.584723f, -0.458600f, -0.436987f, -0.451679f, -0.459616f, -0.451677f, -0.395154f, -0.251867f, -0.050784f, 0.123344f, 0.221870f, 0.269667f, 0.313652f, 0.376737f, 0.462841f, 0.567567f, 0.673170f, 0.754338f, 0.795107f, 0.792591f, 0.752470f, 0.691691f, 0.634947f, 0.595069f, 0.562305f, 0.519235f, 0.458575f, 0.383012f, 0.298227f, 0.211056f, 0.126529f, 0.043347f, -0.042514f, -0.130277f, -0.215859f, -0.298302f, -0.378918f, -0.456881f, -0.530468f, -0.598896f, -0.658825f, -0.703316f, -0.727822f, -0.733246f, -0.721133f, -0.690755f, -0.642644f, -0.580117f, -0.505916f, -0.421525f, -0.330087f, -0.235562f, -0.138750f, -0.037980f, 0.066169f, 0.169625f, 0.267531f, 0.355691f, 0.430568f, 0.490492f, 0.536392f, 0.569778f, 0.590566f, 0.597566f, 0.590084f, 0.568477f, 0.533880f, 0.487697f, 0.431144f, 0.365726f, 0.294260f, 0.220525f, 0.147743f, 0.078228f, 0.014043f, -0.043456f, -0.094326f, -0.138832f, -0.176068f, -0.205120f, -0.226671f, -0.241986f, - -0.251293f, -0.254596f, -0.252994f, -0.247846f, -0.239708f, -0.229246f, -0.218093f, -0.207780f, -0.198730f, -0.190983f, -0.184906f, -0.180621f, -0.177602f, -0.175210f, -0.173034f, -0.170646f, -0.167447f, -0.162637f, -0.155080f, -0.143537f, -0.127170f, -0.105418f, -0.077693f, -0.043897f, -0.004918f, 0.038190f, 0.084983f, 0.134821f, 0.186035f, 0.236843f, 0.286214f, 0.332895f, 0.374623f, 0.409400f, 0.436550f, 0.455532f, 0.464788f, 0.462789f, 0.449137f, 0.423624f, 0.385300f, 0.333570f, 0.269292f, 0.193801f, 0.107779f, 0.012194f, -0.090333f, -0.196122f, -0.301746f, -0.403692f, -0.497310f, -0.577424f, -0.639930f, -0.681870f, -0.700365f, -0.693007f, -0.659496f, -0.601723f, -0.522170f, -0.423547f, -0.310025f, -0.187155f, -0.060052f, 0.067102f, 0.189708f, 0.302691f, 0.402232f, 0.486145f, 0.552331f, 0.598446f, 0.623264f, 0.626838f, 0.609193f, 0.570294f, 0.511336f, 0.434835f, 0.343621f, 0.240782f, 0.130231f, 0.016430f, -0.096110f, -0.202773f, -0.299055f, -0.381032f, -0.445029f, -0.487486f, -0.506123f, -0.500243f, -0.469027f, -0.411517f, -0.329438f, -0.227615f, -0.111000f, 0.014761f, 0.139062f, 0.247906f, - 0.330788f, 0.380428f, 0.386990f, 0.342751f, 0.253257f, 0.133183f, -0.006044f, -0.145689f, -0.238420f, -0.230859f, -0.127035f, -0.005841f, 0.051207f, 0.037489f, 0.006530f, -0.003104f, 0.001464f, 0.002113f, -0.000555f, 0.000795f, 0.003689f, 0.003262f, 0.002035f, 0.003451f, 0.005181f, 0.004704f, 0.004097f, 0.005202f, 0.006175f, 0.005667f, 0.005284f, 0.005991f, 0.006394f, 0.005824f, 0.005470f, 0.005772f, 0.005730f, 0.005088f, 0.004674f, 0.004609f, 0.004237f, 0.003551f, 0.003059f, 0.002698f, 0.002121f, 0.001454f, 0.000907f, 0.000332f}, - {-0.008117f, -0.029088f, -0.057048f, -0.081735f, -0.092189f, -0.085100f, -0.046258f, 0.061013f, 0.247665f, 0.439587f, 0.518097f, 0.436893f, 0.258432f, 0.069209f, -0.085972f, -0.179131f, -0.182780f, -0.110632f, -0.018595f, 0.061348f, 0.137561f, 0.195698f, 0.184660f, 0.090981f, -0.029833f, -0.119427f, -0.163497f, -0.160991f, -0.107102f, -0.026915f, 0.027637f, 0.034786f, 0.014084f, -0.027320f, -0.111107f, -0.240023f, -0.378923f, -0.496585f, -0.591277f, -0.668375f, -0.726093f, -0.769534f, -0.811105f, -0.852336f, -0.884973f, -0.908307f, -0.928671f, -0.947596f, -0.965411f, -0.988396f, -1.019242f, -1.049599f, -1.072930f, -1.095057f, -1.123669f, -1.157984f, -1.195511f, -1.238117f, -1.285188f, -1.330071f, -1.368128f, -1.401405f, -1.433429f, -1.465837f, -1.500686f, -1.540528f, -1.585844f, -1.634999f, -1.684816f, -1.729881f, -1.764985f, -1.789120f, -1.803259f, -1.805236f, -1.792176f, -1.766414f, -1.732839f, -1.691843f, -1.640852f, -1.580948f, -1.516199f, -1.448521f, -1.378711f, -1.310591f, -1.249109f, -1.195647f, -1.148671f, -1.107399f, -1.072096f, -1.042222f, -1.016132f, -0.991629f, -0.966575f, -0.940263f, -0.913765f, -0.887830f, - -0.861818f, -0.835753f, -0.811153f, -0.788325f, -0.765201f, -0.740195f, -0.713773f, -0.686076f, -0.655627f, -0.621644f, -0.585391f, -0.548400f, -0.511253f, -0.474595f, -0.439641f, -0.407373f, -0.378310f, -0.352841f, -0.330952f, -0.312187f, -0.296447f, -0.283965f, -0.274268f, -0.266290f, -0.259673f, -0.254827f, -0.251774f, -0.250098f, -0.249925f, -0.251995f, -0.257051f, -0.265902f, -0.279634f, -0.299233f, -0.325552f, -0.359646f, -0.402100f, -0.451970f, -0.507511f, -0.567748f, -0.632019f, -0.698338f, -0.763997f, -0.827724f, -0.889545f, -0.948515f, -1.002452f, -1.050350f, -1.093294f, -1.132284f, -1.166691f, -1.195985f, -1.221676f, -1.245932f, -1.269000f, -1.289688f, -1.308062f, -1.325687f, -1.342928f, -1.357937f, -1.369096f, -1.376762f, -1.381406f, -1.381343f, -1.373935f, -1.358365f, -1.335436f, -1.304589f, -1.262934f, -1.208217f, -1.141032f, -1.062204f, -0.969496f, -0.859997f, -0.734719f, -0.596717f, -0.445375f, -0.277897f, -0.096215f, 0.094002f, 0.291185f, 0.497134f, 0.708325f, 0.916667f, 1.119036f, 1.316063f, 1.501707f, 1.665244f, 1.802397f, 1.911586f, 1.981297f, 1.995663f, 1.949047f, 1.839685f, 1.656456f, 1.391696f, - 1.058526f, 0.675467f, 0.249613f, -0.199264f, -0.619582f, -0.963618f, -1.208061f, -1.294816f, -1.109269f, -0.622127f, -0.037804f, 0.321944f, 0.325104f, 0.139499f, 0.005477f, -0.011392f, 0.006042f, 0.001000f, -0.006817f, 0.000382f, 0.005296f, -0.001059f, -0.004165f, 0.001245f, 0.003241f, -0.001280f, -0.002498f, 0.001306f, 0.002025f, -0.001148f, -0.001520f, 0.001099f, 0.001208f, -0.000964f, -0.000921f, 0.000826f, 0.000648f, -0.000761f, -0.000515f, 0.000575f, 0.000271f, -0.000542f, -0.000203f, 0.000365f, 0.000014f, -0.000310f, 0.000064f, 0.000181f} - }, - { - {0.008190f, 0.034888f, 0.081874f, 0.116453f, 0.067094f, -0.082555f, -0.227904f, -0.249422f, -0.166350f, -0.098117f, -0.087469f, -0.065513f, 0.001855f, 0.042159f, -0.012688f, -0.131557f, -0.247601f, -0.349249f, -0.457508f, -0.561835f, -0.630448f, -0.658599f, -0.667824f, -0.671646f, -0.668196f, -0.656704f, -0.642420f, -0.629382f, -0.617003f, -0.600360f, -0.572717f, -0.533674f, -0.493429f, -0.462386f, -0.438760f, -0.412139f, -0.375853f, -0.330971f, -0.282717f, -0.238117f, -0.203462f, -0.180067f, -0.164967f, -0.156908f, -0.157974f, -0.169237f, -0.189236f, -0.216716f, -0.250505f, -0.286503f, -0.318305f, -0.341119f, -0.353602f, -0.357480f, -0.357254f, -0.358766f, -0.366736f, -0.384550f, -0.415390f, -0.460458f, -0.516507f, -0.578128f, -0.641870f, -0.705454f, -0.764761f, -0.815673f, -0.858195f, -0.895392f, -0.928966f, -0.958784f, -0.985672f, -1.011344f, -1.035621f, -1.056027f, -1.070215f, -1.077265f, -1.076660f, -1.067391f, -1.048879f, -1.022623f, -0.992247f, -0.961199f, -0.930579f, -0.899824f, -0.868625f, -0.836503f, -0.801127f, -0.759410f, -0.710653f, -0.657040f, -0.601236f, -0.545210f, -0.491176f, -0.441730f, -0.398758f, -0.363349f, - -0.336665f, -0.320266f, -0.316119f, -0.326652f, -0.353697f, -0.396932f, -0.454447f, -0.524739f, -0.606457f, -0.696467f, -0.790534f, -0.886232f, -0.982956f, -1.078838f, -1.170101f, -1.254114f, -1.330746f, -1.399796f, -1.459170f, -1.506984f, -1.544018f, -1.572526f, -1.593450f, -1.606422f, -1.612266f, -1.613693f, -1.612687f, -1.608581f, -1.599998f, -1.587506f, -1.572353f, -1.553391f, -1.527791f, -1.494748f, -1.455923f, -1.412055f, -1.361940f, -1.305585f, -1.245838f, -1.185662f, -1.125860f, -1.066742f, -1.010255f, -0.958897f, -0.913497f, -0.873308f, -0.837820f, -0.807504f, -0.782697f, -0.762352f, -0.744553f, -0.728283f, -0.713809f, -0.700821f, -0.687346f, -0.671620f, -0.653905f, -0.634922f, -0.613574f, -0.588053f, -0.558390f, -0.525864f, -0.490403f, -0.450535f, -0.405710f, -0.356898f, -0.304721f, -0.248343f, -0.186701f, -0.120081f, -0.049746f, 0.023859f, 0.101582f, 0.183602f, 0.268055f, 0.353082f, 0.439140f, 0.527019f, 0.614682f, 0.699065f, 0.779803f, 0.857431f, 0.929095f, 0.990466f, 1.040682f, 1.080471f, 1.106909f, 1.115475f, 1.105390f, 1.077041f, 1.026573f, 0.949561f, 0.847139f, 0.722093f, 0.573442f, 0.402441f, - 0.218506f, 0.031580f, -0.153644f, -0.327407f, -0.469724f, -0.565679f, -0.610055f, -0.583192f, -0.449188f, -0.214263f, 0.027773f, 0.156235f, 0.139393f, 0.057497f, 0.003774f, -0.003113f, 0.002375f, -0.000038f, -0.002481f, 0.000451f, 0.001892f, -0.000644f, -0.001493f, 0.000649f, 0.001158f, -0.000616f, -0.000874f, 0.000622f, 0.000731f, -0.000522f, -0.000530f, 0.000507f, 0.000429f, -0.000443f, -0.000326f, 0.000378f, 0.000213f, -0.000364f, -0.000182f, 0.000267f, 0.000064f, -0.000275f, -0.000058f, 0.000182f, -0.000037f, -0.000172f, 0.000059f, 0.000111f}, - {-0.185552f, -0.533696f, -0.795197f, -0.893542f, -0.804694f, -0.602960f, -0.410567f, -0.289207f, -0.193943f, -0.044154f, 0.172404f, 0.382927f, 0.509981f, 0.545225f, 0.535614f, 0.515453f, 0.471712f, 0.372577f, 0.213012f, 0.026048f, -0.142991f, -0.267749f, -0.350655f, -0.407879f, -0.446665f, -0.457344f, -0.425810f, -0.349287f, -0.237376f, -0.102660f, 0.042599f, 0.181681f, 0.293768f, 0.363653f, 0.388804f, 0.375465f, 0.331172f, 0.263138f, 0.180465f, 0.093512f, 0.010635f, -0.063321f, -0.126103f, -0.177013f, -0.216204f, -0.243567f, -0.258067f, -0.258312f, -0.243240f, -0.211844f, -0.162993f, -0.096687f, -0.016030f, 0.071984f, 0.157709f, 0.231389f, 0.285400f, 0.314867f, 0.316825f, 0.289600f, 0.233632f, 0.152889f, 0.055165f, -0.049222f, -0.149371f, -0.235386f, -0.299246f, -0.334965f, -0.338337f, -0.307007f, -0.241511f, -0.147028f, -0.034470f, 0.080542f, 0.180988f, 0.252633f, 0.287299f, 0.284302f, 0.249915f, 0.194921f, 0.130906f, 0.066951f, 0.008345f, -0.042679f, -0.085530f, -0.120133f, -0.146148f, -0.162494f, -0.167472f, -0.159538f, -0.138348f, -0.105550f, -0.064858f, -0.021185f, 0.020732f, 0.057343f, - 0.086513f, 0.107283f, 0.119553f, 0.123700f, 0.120200f, 0.109487f, 0.092076f, 0.068684f, 0.040301f, 0.008337f, -0.025230f, -0.057916f, -0.086954f, -0.109551f, -0.123233f, -0.126275f, -0.118020f, -0.098962f, -0.070752f, -0.036148f, 0.001325f, 0.037957f, 0.070371f, 0.095805f, 0.112323f, 0.118906f, 0.115335f, 0.102001f, 0.079886f, 0.050640f, 0.016580f, -0.019334f, -0.053532f, -0.082149f, -0.101715f, -0.109891f, -0.105925f, -0.090814f, -0.067155f, -0.038578f, -0.008949f, 0.018297f, 0.040562f, 0.056348f, 0.065287f, 0.067860f, 0.065030f, 0.058014f, 0.048082f, 0.036305f, 0.023471f, 0.010221f, -0.002870f, -0.015342f, -0.026773f, -0.036614f, -0.044221f, -0.049020f, -0.050549f, -0.048442f, -0.042587f, -0.033275f, -0.021107f, -0.006895f, 0.008283f, 0.023113f, 0.036282f, 0.046616f, 0.053077f, 0.054911f, 0.051880f, 0.044235f, 0.032557f, 0.017817f, 0.001348f, -0.015481f, -0.031425f, -0.045128f, -0.055171f, -0.060547f, -0.060691f, -0.055031f, -0.043176f, -0.025610f, -0.003626f, 0.021182f, 0.046431f, 0.068218f, 0.082097f, 0.084759f, 0.074213f, 0.049725f, 0.013674f, -0.027125f, -0.063792f, -0.088620f, - -0.095442f, -0.080235f, -0.045136f, -0.000219f, 0.041813f, 0.070718f, 0.077187f, 0.054136f, 0.008482f, -0.033225f, -0.044133f, -0.024284f, 0.000669f, 0.009571f, 0.005114f, 0.001035f, 0.001842f, 0.002776f, 0.001639f, 0.000950f, 0.001513f, 0.001381f, 0.000219f, -0.000400f, -0.000314f, -0.000719f, -0.001578f, -0.001885f, -0.001710f, -0.001817f, -0.002061f, -0.001831f, -0.001308f, -0.000982f, -0.000701f, -0.000138f, 0.000498f, 0.000915f, 0.001247f, 0.001644f, 0.001936f, 0.001998f, 0.001941f, 0.001829f, 0.001581f, 0.001190f, 0.000735f, 0.000251f} - }, - { - {-0.185552f, -0.533696f, -0.795197f, -0.893542f, -0.804694f, -0.602960f, -0.410567f, -0.289207f, -0.193943f, -0.044154f, 0.172404f, 0.382927f, 0.509981f, 0.545225f, 0.535614f, 0.515453f, 0.471712f, 0.372577f, 0.213012f, 0.026048f, -0.142991f, -0.267749f, -0.350655f, -0.407879f, -0.446665f, -0.457344f, -0.425810f, -0.349287f, -0.237376f, -0.102660f, 0.042599f, 0.181681f, 0.293768f, 0.363653f, 0.388804f, 0.375465f, 0.331172f, 0.263138f, 0.180465f, 0.093512f, 0.010635f, -0.063321f, -0.126103f, -0.177013f, -0.216204f, -0.243567f, -0.258067f, -0.258312f, -0.243240f, -0.211844f, -0.162993f, -0.096687f, -0.016030f, 0.071984f, 0.157709f, 0.231389f, 0.285400f, 0.314867f, 0.316825f, 0.289600f, 0.233632f, 0.152889f, 0.055165f, -0.049222f, -0.149371f, -0.235386f, -0.299246f, -0.334965f, -0.338337f, -0.307007f, -0.241511f, -0.147028f, -0.034470f, 0.080542f, 0.180988f, 0.252633f, 0.287299f, 0.284302f, 0.249915f, 0.194921f, 0.130906f, 0.066951f, 0.008345f, -0.042679f, -0.085530f, -0.120133f, -0.146148f, -0.162494f, -0.167472f, -0.159538f, -0.138348f, -0.105550f, -0.064858f, -0.021185f, 0.020732f, 0.057343f, - 0.086513f, 0.107283f, 0.119553f, 0.123700f, 0.120200f, 0.109487f, 0.092076f, 0.068684f, 0.040301f, 0.008337f, -0.025230f, -0.057916f, -0.086954f, -0.109551f, -0.123233f, -0.126275f, -0.118020f, -0.098962f, -0.070752f, -0.036148f, 0.001325f, 0.037957f, 0.070371f, 0.095805f, 0.112323f, 0.118906f, 0.115335f, 0.102001f, 0.079886f, 0.050640f, 0.016580f, -0.019334f, -0.053532f, -0.082149f, -0.101715f, -0.109891f, -0.105925f, -0.090814f, -0.067155f, -0.038578f, -0.008949f, 0.018297f, 0.040562f, 0.056348f, 0.065287f, 0.067860f, 0.065030f, 0.058014f, 0.048082f, 0.036305f, 0.023471f, 0.010221f, -0.002870f, -0.015342f, -0.026773f, -0.036614f, -0.044221f, -0.049020f, -0.050549f, -0.048442f, -0.042587f, -0.033275f, -0.021107f, -0.006895f, 0.008283f, 0.023113f, 0.036282f, 0.046616f, 0.053077f, 0.054911f, 0.051880f, 0.044235f, 0.032557f, 0.017817f, 0.001348f, -0.015481f, -0.031425f, -0.045128f, -0.055171f, -0.060547f, -0.060691f, -0.055031f, -0.043176f, -0.025610f, -0.003626f, 0.021182f, 0.046431f, 0.068218f, 0.082097f, 0.084759f, 0.074213f, 0.049725f, 0.013674f, -0.027125f, -0.063792f, -0.088620f, - -0.095442f, -0.080235f, -0.045136f, -0.000219f, 0.041813f, 0.070718f, 0.077187f, 0.054136f, 0.008482f, -0.033225f, -0.044133f, -0.024284f, 0.000669f, 0.009571f, 0.005114f, 0.001035f, 0.001842f, 0.002776f, 0.001639f, 0.000950f, 0.001513f, 0.001381f, 0.000219f, -0.000400f, -0.000314f, -0.000719f, -0.001578f, -0.001885f, -0.001710f, -0.001817f, -0.002061f, -0.001831f, -0.001308f, -0.000982f, -0.000701f, -0.000138f, 0.000498f, 0.000915f, 0.001247f, 0.001644f, 0.001936f, 0.001998f, 0.001941f, 0.001829f, 0.001581f, 0.001190f, 0.000735f, 0.000251f}, - {0.008190f, 0.034888f, 0.081874f, 0.116453f, 0.067094f, -0.082555f, -0.227904f, -0.249422f, -0.166350f, -0.098117f, -0.087469f, -0.065513f, 0.001855f, 0.042159f, -0.012688f, -0.131557f, -0.247601f, -0.349249f, -0.457508f, -0.561835f, -0.630448f, -0.658599f, -0.667824f, -0.671646f, -0.668196f, -0.656704f, -0.642420f, -0.629382f, -0.617003f, -0.600360f, -0.572717f, -0.533674f, -0.493429f, -0.462386f, -0.438760f, -0.412139f, -0.375853f, -0.330971f, -0.282717f, -0.238117f, -0.203462f, -0.180067f, -0.164967f, -0.156908f, -0.157974f, -0.169237f, -0.189236f, -0.216716f, -0.250505f, -0.286503f, -0.318305f, -0.341119f, -0.353602f, -0.357480f, -0.357254f, -0.358766f, -0.366736f, -0.384550f, -0.415390f, -0.460458f, -0.516507f, -0.578128f, -0.641870f, -0.705454f, -0.764761f, -0.815673f, -0.858195f, -0.895392f, -0.928966f, -0.958784f, -0.985672f, -1.011344f, -1.035621f, -1.056027f, -1.070215f, -1.077265f, -1.076660f, -1.067391f, -1.048879f, -1.022623f, -0.992247f, -0.961199f, -0.930579f, -0.899824f, -0.868625f, -0.836503f, -0.801127f, -0.759410f, -0.710653f, -0.657040f, -0.601236f, -0.545210f, -0.491176f, -0.441730f, -0.398758f, -0.363349f, - -0.336665f, -0.320266f, -0.316119f, -0.326652f, -0.353697f, -0.396932f, -0.454447f, -0.524739f, -0.606457f, -0.696467f, -0.790534f, -0.886232f, -0.982956f, -1.078838f, -1.170101f, -1.254114f, -1.330746f, -1.399796f, -1.459170f, -1.506984f, -1.544018f, -1.572526f, -1.593450f, -1.606422f, -1.612266f, -1.613693f, -1.612687f, -1.608581f, -1.599998f, -1.587506f, -1.572353f, -1.553391f, -1.527791f, -1.494748f, -1.455923f, -1.412055f, -1.361940f, -1.305585f, -1.245838f, -1.185662f, -1.125860f, -1.066742f, -1.010255f, -0.958897f, -0.913497f, -0.873308f, -0.837820f, -0.807504f, -0.782697f, -0.762352f, -0.744553f, -0.728283f, -0.713809f, -0.700821f, -0.687346f, -0.671620f, -0.653905f, -0.634922f, -0.613574f, -0.588053f, -0.558390f, -0.525864f, -0.490403f, -0.450535f, -0.405710f, -0.356898f, -0.304721f, -0.248343f, -0.186701f, -0.120081f, -0.049746f, 0.023859f, 0.101582f, 0.183602f, 0.268055f, 0.353082f, 0.439140f, 0.527019f, 0.614682f, 0.699065f, 0.779803f, 0.857431f, 0.929095f, 0.990466f, 1.040682f, 1.080471f, 1.106909f, 1.115475f, 1.105390f, 1.077041f, 1.026573f, 0.949561f, 0.847139f, 0.722093f, 0.573442f, 0.402441f, - 0.218506f, 0.031580f, -0.153644f, -0.327407f, -0.469724f, -0.565679f, -0.610055f, -0.583192f, -0.449188f, -0.214263f, 0.027773f, 0.156235f, 0.139393f, 0.057497f, 0.003774f, -0.003113f, 0.002375f, -0.000038f, -0.002481f, 0.000451f, 0.001892f, -0.000644f, -0.001493f, 0.000649f, 0.001158f, -0.000616f, -0.000874f, 0.000622f, 0.000731f, -0.000522f, -0.000530f, 0.000507f, 0.000429f, -0.000443f, -0.000326f, 0.000378f, 0.000213f, -0.000364f, -0.000182f, 0.000267f, 0.000064f, -0.000275f, -0.000058f, 0.000182f, -0.000037f, -0.000172f, 0.000059f, 0.000111f} - }, - { - {0.000548f, 0.016581f, 0.053765f, 0.073281f, 0.025961f, -0.087700f, -0.207119f, -0.273414f, -0.285064f, -0.274298f, -0.250255f, -0.200671f, -0.140017f, -0.114239f, -0.149921f, -0.229225f, -0.323553f, -0.423074f, -0.520572f, -0.593892f, -0.626821f, -0.633223f, -0.641666f, -0.663565f, -0.689675f, -0.710438f, -0.725598f, -0.736662f, -0.742149f, -0.741673f, -0.737421f, -0.729820f, -0.715763f, -0.691715f, -0.655607f, -0.606006f, -0.543295f, -0.472954f, -0.404984f, -0.347908f, -0.304206f, -0.272432f, -0.251856f, -0.242831f, -0.243698f, -0.250172f, -0.258244f, -0.266093f, -0.273123f, -0.278938f, -0.283885f, -0.289531f, -0.298203f, -0.312469f, -0.334435f, -0.364557f, -0.401392f, -0.442943f, -0.487333f, -0.531807f, -0.572843f, -0.608619f, -0.640227f, -0.669360f, -0.695931f, -0.718798f, -0.737129f, -0.749510f, -0.752911f, -0.744271f, -0.722888f, -0.690591f, -0.650434f, -0.606110f, -0.561850f, -0.521475f, -0.486993f, -0.458126f, -0.433048f, -0.409626f, -0.386312f, -0.362259f, -0.336987f, -0.310333f, -0.282627f, -0.254475f, -0.226254f, -0.198128f, -0.170462f, -0.143899f, -0.119124f, -0.096842f, -0.077957f, -0.063776f, -0.056222f, -0.057684f, - -0.070113f, -0.094371f, -0.130791f, -0.179633f, -0.239941f, -0.308585f, -0.381898f, -0.458052f, -0.536571f, -0.616164f, -0.694955f, -0.772624f, -0.850111f, -0.926782f, -0.999760f, -1.066559f, -1.126570f, -1.179184f, -1.222302f, -1.254125f, -1.275290f, -1.287722f, -1.292081f, -1.287917f, -1.276087f, -1.259277f, -1.239681f, -1.217607f, -1.193156f, -1.167869f, -1.143244f, -1.118482f, -1.091357f, -1.060859f, -1.027345f, -0.990451f, -0.948918f, -0.902895f, -0.854755f, -0.806966f, -0.760446f, -0.715619f, -0.673842f, -0.636793f, -0.605072f, -0.578270f, -0.556179f, -0.539266f, -0.527859f, -0.521263f, -0.518112f, -0.517554f, -0.519483f, -0.523339f, -0.527397f, -0.529962f, -0.530623f, -0.529392f, -0.525185f, -0.516374f, -0.502523f, -0.484304f, -0.461738f, -0.433778f, -0.399827f, -0.360530f, -0.316583f, -0.267592f, -0.212873f, -0.152952f, -0.089351f, -0.022879f, 0.046836f, 0.119626f, 0.193722f, 0.267453f, 0.340856f, 0.414052f, 0.485116f, 0.551637f, 0.613347f, 0.670732f, 0.722013f, 0.764382f, 0.797237f, 0.820973f, 0.833604f, 0.832100f, 0.815925f, 0.785566f, 0.739077f, 0.674193f, 0.592209f, 0.495751f, 0.385312f, 0.262580f, - 0.134060f, 0.006641f, -0.116089f, -0.227998f, -0.317292f, -0.375423f, -0.399942f, -0.380080f, -0.295089f, -0.148552f, 0.003715f, 0.088509f, 0.084442f, 0.037741f, 0.004798f, -0.000952f, 0.001504f, 0.000011f, -0.001418f, 0.000239f, 0.001076f, -0.000365f, -0.000858f, 0.000368f, 0.000671f, -0.000340f, -0.000494f, 0.000359f, 0.000427f, -0.000288f, -0.000300f, 0.000287f, 0.000246f, -0.000250f, -0.000191f, 0.000205f, 0.000117f, -0.000209f, -0.000114f, 0.000138f, 0.000031f, -0.000158f, -0.000043f, 0.000092f, -0.000022f, -0.000096f, 0.000027f, 0.000057f}, - {-0.132877f, -0.397611f, -0.632915f, -0.770285f, -0.762715f, -0.657573f, -0.569424f, -0.556718f, -0.559329f, -0.492160f, -0.364513f, -0.254027f, -0.187319f, -0.112359f, 0.013869f, 0.171586f, 0.321788f, 0.450390f, 0.550169f, 0.601920f, 0.599231f, 0.564879f, 0.522168f, 0.469068f, 0.394550f, 0.302090f, 0.202848f, 0.098985f, -0.013558f, -0.133110f, -0.250310f, -0.352539f, -0.427473f, -0.468674f, -0.479833f, -0.468872f, -0.438208f, -0.385801f, -0.314336f, -0.233571f, -0.153994f, -0.082221f, -0.021254f, 0.029103f, 0.071856f, 0.110418f, 0.147141f, 0.184866f, 0.227200f, 0.274979f, 0.323626f, 0.364907f, 0.390119f, 0.392168f, 0.367889f, 0.319988f, 0.255281f, 0.180008f, 0.097315f, 0.008624f, -0.084265f, -0.178270f, -0.268396f, -0.347509f, -0.407904f, -0.443969f, -0.453626f, -0.437976f, -0.400261f, -0.344545f, -0.274131f, -0.190824f, -0.096114f, 0.006594f, 0.110784f, 0.207596f, 0.287902f, 0.344723f, 0.375140f, 0.380738f, 0.366034f, 0.336036f, 0.294883f, 0.246060f, 0.192748f, 0.137428f, 0.081636f, 0.026552f, -0.026567f, -0.076804f, -0.123861f, -0.167467f, -0.206909f, -0.241250f, -0.269252f, -0.288705f, - -0.296573f, -0.290377f, -0.269166f, -0.233229f, -0.183841f, -0.123651f, -0.056479f, 0.013719f, 0.083262f, 0.148262f, 0.204724f, 0.249465f, 0.280399f, 0.296003f, 0.295349f, 0.278768f, 0.247829f, 0.204674f, 0.151948f, 0.093150f, 0.032213f, -0.027384f, -0.082725f, -0.131073f, -0.170143f, -0.198644f, -0.216046f, -0.222008f, -0.216506f, -0.200271f, -0.174654f, -0.141292f, -0.102339f, -0.060692f, -0.019479f, 0.018647f, 0.051612f, 0.077849f, 0.096642f, 0.108377f, 0.114133f, 0.115126f, 0.112602f, 0.107828f, 0.101742f, 0.094680f, 0.086589f, 0.077282f, 0.066381f, 0.053290f, 0.037528f, 0.019026f, -0.001919f, -0.024735f, -0.048435f, -0.071577f, -0.092532f, -0.109764f, -0.121883f, -0.127706f, -0.126482f, -0.118056f, -0.102791f, -0.081468f, -0.055311f, -0.025990f, 0.004604f, 0.034617f, 0.062318f, 0.086086f, 0.104528f, 0.116707f, 0.122180f, 0.120819f, 0.112758f, 0.098561f, 0.079222f, 0.055839f, 0.029513f, 0.001623f, -0.026174f, -0.052450f, -0.076110f, -0.095839f, -0.109976f, -0.117213f, -0.116756f, -0.107640f, -0.088934f, -0.061097f, -0.026291f, 0.012728f, 0.052593f, 0.088103f, 0.113109f, 0.123416f, - 0.117418f, 0.094520f, 0.056280f, 0.009387f, -0.036193f, -0.072454f, -0.092836f, -0.088360f, -0.054153f, -0.003640f, 0.033648f, 0.037891f, 0.018462f, 0.000482f, -0.003500f, -0.000290f, 0.000806f, -0.000263f, -0.000070f, 0.000856f, 0.000579f, -0.000126f, 0.000123f, 0.000593f, 0.000279f, -0.000154f, 0.000040f, 0.000275f, 0.000000f, -0.000274f, -0.000137f, -0.000025f, -0.000233f, -0.000394f, -0.000293f, -0.000233f, -0.000362f, -0.000433f, -0.000345f, -0.000295f, -0.000349f, -0.000351f, -0.000262f, -0.000205f, -0.000205f, -0.000164f, -0.000070f, -0.000011f} - }, - { - {-0.132877f, -0.397611f, -0.632915f, -0.770285f, -0.762715f, -0.657573f, -0.569424f, -0.556718f, -0.559329f, -0.492160f, -0.364513f, -0.254027f, -0.187319f, -0.112359f, 0.013869f, 0.171586f, 0.321788f, 0.450390f, 0.550169f, 0.601920f, 0.599231f, 0.564879f, 0.522168f, 0.469068f, 0.394550f, 0.302090f, 0.202848f, 0.098985f, -0.013558f, -0.133110f, -0.250310f, -0.352539f, -0.427473f, -0.468674f, -0.479833f, -0.468872f, -0.438208f, -0.385801f, -0.314336f, -0.233571f, -0.153994f, -0.082221f, -0.021254f, 0.029103f, 0.071856f, 0.110418f, 0.147141f, 0.184866f, 0.227200f, 0.274979f, 0.323626f, 0.364907f, 0.390119f, 0.392168f, 0.367889f, 0.319988f, 0.255281f, 0.180008f, 0.097315f, 0.008624f, -0.084265f, -0.178270f, -0.268396f, -0.347509f, -0.407904f, -0.443969f, -0.453626f, -0.437976f, -0.400261f, -0.344545f, -0.274131f, -0.190824f, -0.096114f, 0.006594f, 0.110784f, 0.207596f, 0.287902f, 0.344723f, 0.375140f, 0.380738f, 0.366034f, 0.336036f, 0.294883f, 0.246060f, 0.192748f, 0.137428f, 0.081636f, 0.026552f, -0.026567f, -0.076804f, -0.123861f, -0.167467f, -0.206909f, -0.241250f, -0.269252f, -0.288705f, - -0.296573f, -0.290377f, -0.269166f, -0.233229f, -0.183841f, -0.123651f, -0.056479f, 0.013719f, 0.083262f, 0.148262f, 0.204724f, 0.249465f, 0.280399f, 0.296003f, 0.295349f, 0.278768f, 0.247829f, 0.204674f, 0.151948f, 0.093150f, 0.032213f, -0.027384f, -0.082725f, -0.131073f, -0.170143f, -0.198644f, -0.216046f, -0.222008f, -0.216506f, -0.200271f, -0.174654f, -0.141292f, -0.102339f, -0.060692f, -0.019479f, 0.018647f, 0.051612f, 0.077849f, 0.096642f, 0.108377f, 0.114133f, 0.115126f, 0.112602f, 0.107828f, 0.101742f, 0.094680f, 0.086589f, 0.077282f, 0.066381f, 0.053290f, 0.037528f, 0.019026f, -0.001919f, -0.024735f, -0.048435f, -0.071577f, -0.092532f, -0.109764f, -0.121883f, -0.127706f, -0.126482f, -0.118056f, -0.102791f, -0.081468f, -0.055311f, -0.025990f, 0.004604f, 0.034617f, 0.062318f, 0.086086f, 0.104528f, 0.116707f, 0.122180f, 0.120819f, 0.112758f, 0.098561f, 0.079222f, 0.055839f, 0.029513f, 0.001623f, -0.026174f, -0.052450f, -0.076110f, -0.095839f, -0.109976f, -0.117213f, -0.116756f, -0.107640f, -0.088934f, -0.061097f, -0.026291f, 0.012728f, 0.052593f, 0.088103f, 0.113109f, 0.123416f, - 0.117418f, 0.094520f, 0.056280f, 0.009387f, -0.036193f, -0.072454f, -0.092836f, -0.088360f, -0.054153f, -0.003640f, 0.033648f, 0.037891f, 0.018462f, 0.000482f, -0.003500f, -0.000290f, 0.000806f, -0.000263f, -0.000070f, 0.000856f, 0.000579f, -0.000126f, 0.000123f, 0.000593f, 0.000279f, -0.000154f, 0.000040f, 0.000275f, 0.000000f, -0.000274f, -0.000137f, -0.000025f, -0.000233f, -0.000394f, -0.000293f, -0.000233f, -0.000362f, -0.000433f, -0.000345f, -0.000295f, -0.000349f, -0.000351f, -0.000262f, -0.000205f, -0.000205f, -0.000164f, -0.000070f, -0.000011f}, - {0.000548f, 0.016581f, 0.053765f, 0.073281f, 0.025961f, -0.087700f, -0.207119f, -0.273414f, -0.285064f, -0.274298f, -0.250255f, -0.200671f, -0.140017f, -0.114239f, -0.149921f, -0.229225f, -0.323553f, -0.423074f, -0.520572f, -0.593892f, -0.626821f, -0.633223f, -0.641666f, -0.663565f, -0.689675f, -0.710438f, -0.725598f, -0.736662f, -0.742149f, -0.741673f, -0.737421f, -0.729820f, -0.715763f, -0.691715f, -0.655607f, -0.606006f, -0.543295f, -0.472954f, -0.404984f, -0.347908f, -0.304206f, -0.272432f, -0.251856f, -0.242831f, -0.243698f, -0.250172f, -0.258244f, -0.266093f, -0.273123f, -0.278938f, -0.283885f, -0.289531f, -0.298203f, -0.312469f, -0.334435f, -0.364557f, -0.401392f, -0.442943f, -0.487333f, -0.531807f, -0.572843f, -0.608619f, -0.640227f, -0.669360f, -0.695931f, -0.718798f, -0.737129f, -0.749510f, -0.752911f, -0.744271f, -0.722888f, -0.690591f, -0.650434f, -0.606110f, -0.561850f, -0.521475f, -0.486993f, -0.458126f, -0.433048f, -0.409626f, -0.386312f, -0.362259f, -0.336987f, -0.310333f, -0.282627f, -0.254475f, -0.226254f, -0.198128f, -0.170462f, -0.143899f, -0.119124f, -0.096842f, -0.077957f, -0.063776f, -0.056222f, -0.057684f, - -0.070113f, -0.094371f, -0.130791f, -0.179633f, -0.239941f, -0.308585f, -0.381898f, -0.458052f, -0.536571f, -0.616164f, -0.694955f, -0.772624f, -0.850111f, -0.926782f, -0.999760f, -1.066559f, -1.126570f, -1.179184f, -1.222302f, -1.254125f, -1.275290f, -1.287722f, -1.292081f, -1.287917f, -1.276087f, -1.259277f, -1.239681f, -1.217607f, -1.193156f, -1.167869f, -1.143244f, -1.118482f, -1.091357f, -1.060859f, -1.027345f, -0.990451f, -0.948918f, -0.902895f, -0.854755f, -0.806966f, -0.760446f, -0.715619f, -0.673842f, -0.636793f, -0.605072f, -0.578270f, -0.556179f, -0.539266f, -0.527859f, -0.521263f, -0.518112f, -0.517554f, -0.519483f, -0.523339f, -0.527397f, -0.529962f, -0.530623f, -0.529392f, -0.525185f, -0.516374f, -0.502523f, -0.484304f, -0.461738f, -0.433778f, -0.399827f, -0.360530f, -0.316583f, -0.267592f, -0.212873f, -0.152952f, -0.089351f, -0.022879f, 0.046836f, 0.119626f, 0.193722f, 0.267453f, 0.340856f, 0.414052f, 0.485116f, 0.551637f, 0.613347f, 0.670732f, 0.722013f, 0.764382f, 0.797237f, 0.820973f, 0.833604f, 0.832100f, 0.815925f, 0.785566f, 0.739077f, 0.674193f, 0.592209f, 0.495751f, 0.385312f, 0.262580f, - 0.134060f, 0.006641f, -0.116089f, -0.227998f, -0.317292f, -0.375423f, -0.399942f, -0.380080f, -0.295089f, -0.148552f, 0.003715f, 0.088509f, 0.084442f, 0.037741f, 0.004798f, -0.000952f, 0.001504f, 0.000011f, -0.001418f, 0.000239f, 0.001076f, -0.000365f, -0.000858f, 0.000368f, 0.000671f, -0.000340f, -0.000494f, 0.000359f, 0.000427f, -0.000288f, -0.000300f, 0.000287f, 0.000246f, -0.000250f, -0.000191f, 0.000205f, 0.000117f, -0.000209f, -0.000114f, 0.000138f, 0.000031f, -0.000158f, -0.000043f, 0.000092f, -0.000022f, -0.000096f, 0.000027f, 0.000057f} - } -}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; - -/********************** Sample Rate = 32000 **********************/ - -const float CRendBin_Combined_HRIR_latency_s_32kHz = 0.000020833333110f; -const int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz = 1; -const uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; -const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; -const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz = 0; -const float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[15]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; -const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float CRendBin_Combined_HRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][160]={ - { - {1.274160f, 1.294020f, 1.337410f, 1.397007f, 1.430345f, 1.392644f, 1.321540f, 1.313359f, 1.357865f, 1.299918f, 1.074412f, 0.879944f, 0.959736f, 1.270988f, 1.546758f, 1.656396f, 1.720956f, 1.866458f, 2.047459f, 2.166309f, 2.211621f, 2.199100f, 2.091661f, 1.870665f, 1.617573f, 1.446851f, 1.393188f, 1.413236f, 1.466179f, 1.550859f, 1.683267f, 1.868310f, 2.085674f, 2.289697f, 2.432421f, 2.495403f, 2.495189f, 2.459782f, 2.406497f, 2.337636f, 2.248632f, 2.141773f, 2.034425f, 1.948929f, 1.893998f, 1.861756f, 1.839825f, 1.817228f, 1.782513f, 1.728672f, 1.660650f, 1.590534f, 1.526449f, 1.470717f, 1.424223f, 1.386891f, 1.357216f, 1.334362f, 1.316849f, 1.298879f, 1.273497f, 1.238579f, 1.193651f, 1.133144f, 1.050266f, 0.946198f, 0.830030f, 0.712686f, 0.605579f, 0.520129f, 0.462158f, 0.429220f, 0.416204f, 0.419491f, 0.434223f, 0.453184f, 0.470641f, 0.483821f, 0.491166f, 0.493159f, 0.493315f, 0.494589f, 0.497104f, 0.501870f, 0.512491f, 0.530588f, 0.554259f, 0.582935f, 0.618415f, 0.659661f, 0.701812f, 0.741007f, 0.775413f, 0.802205f, 0.818331f, 0.823262f, - 0.817499f, 0.800855f, 0.774865f, 0.743310f, 0.708492f, 0.671074f, 0.633855f, 0.600330f, 0.569970f, 0.540678f, 0.514469f, 0.494946f, 0.481818f, 0.473694f, 0.472732f, 0.481094f, 0.496964f, 0.518455f, 0.546609f, 0.581486f, 0.621040f, 0.665611f, 0.717402f, 0.775509f, 0.837954f, 0.906864f, 0.984687f, 1.068602f, 1.155523f, 1.247778f, 1.347134f, 1.449104f, 1.549101f, 1.647389f, 1.742972f, 1.829635f, 1.901324f, 1.954515f, 1.984287f, 1.984824f, 1.952760f, 1.885002f, 1.778297f, 1.635195f, 1.462468f, 1.261420f, 1.031242f, 0.781118f, 0.523064f, 0.255971f, -0.024648f, -0.309222f, -0.588359f, -0.870855f, -1.164972f, -1.466926f, -1.790488f, -2.153822f, -2.486393f, -2.616851f, -2.448223f, -2.105871f, -1.817613f, -1.687068f}, - {0.970276f, 0.989255f, 0.871577f, 0.597876f, 0.336366f, 0.173178f, 0.019706f, -0.159984f, -0.243784f, -0.153498f, 0.008399f, 0.095745f, 0.051486f, -0.138486f, -0.467152f, -0.822595f, -1.024373f, -1.014141f, -0.903886f, -0.794827f, -0.668354f, -0.501337f, -0.360612f, -0.305798f, -0.293410f, -0.252892f, -0.184179f, -0.111256f, -0.003926f, 0.177841f, 0.402150f, 0.597826f, 0.746294f, 0.878887f, 0.991944f, 1.024725f, 0.936772f, 0.767161f, 0.593896f, 0.457569f, 0.346793f, 0.240733f, 0.135325f, 0.029786f, -0.084188f, -0.208198f, -0.327790f, -0.427675f, -0.506080f, -0.566715f, -0.606654f, -0.620426f, -0.608890f, -0.577204f, -0.529440f, -0.469766f, -0.403401f, -0.332230f, -0.253653f, -0.166268f, -0.073041f, 0.021610f, 0.112939f, 0.193509f, 0.255064f, 0.294744f, 0.316342f, 0.324872f, 0.323044f, 0.313291f, 0.299731f, 0.286569f, 0.276133f, 0.269047f, 0.264854f, 0.261697f, 0.256138f, 0.244182f, 0.223051f, 0.192601f, 0.155342f, 0.114760f, 0.073144f, 0.030352f, -0.016156f, -0.070224f, -0.134644f, -0.208324f, -0.285309f, -0.356772f, -0.413944f, -0.449609f, -0.458703f, -0.439528f, -0.394930f, -0.331849f, - -0.259659f, -0.188462f, -0.126919f, -0.079747f, -0.047119f, -0.026644f, -0.014920f, -0.007007f, 0.003477f, 0.022326f, 0.053985f, 0.103077f, 0.173949f, 0.266925f, 0.376398f, 0.492936f, 0.604875f, 0.697909f, 0.757166f, 0.771956f, 0.737231f, 0.651307f, 0.515864f, 0.338233f, 0.130148f, -0.096058f, -0.327499f, -0.548579f, -0.742907f, -0.897278f, -1.001720f, -1.048233f, -1.033356f, -0.960708f, -0.838436f, -0.676033f, -0.484975f, -0.278710f, -0.069071f, 0.135392f, 0.327026f, 0.498327f, 0.643893f, 0.759696f, 0.840685f, 0.882278f, 0.882920f, 0.842334f, 0.760127f, 0.639470f, 0.488681f, 0.316680f, 0.131973f, -0.052258f, -0.220428f, -0.364266f, -0.478726f, -0.543965f, -0.528700f, -0.427785f, -0.288213f, -0.179234f, -0.133783f, -0.129365f} - }, - { - {0.970276f, 0.989255f, 0.871577f, 0.597876f, 0.336366f, 0.173178f, 0.019706f, -0.159984f, -0.243784f, -0.153498f, 0.008399f, 0.095745f, 0.051486f, -0.138486f, -0.467152f, -0.822595f, -1.024373f, -1.014141f, -0.903886f, -0.794827f, -0.668354f, -0.501337f, -0.360612f, -0.305798f, -0.293410f, -0.252892f, -0.184179f, -0.111256f, -0.003926f, 0.177841f, 0.402150f, 0.597826f, 0.746294f, 0.878887f, 0.991944f, 1.024725f, 0.936772f, 0.767161f, 0.593896f, 0.457569f, 0.346793f, 0.240733f, 0.135325f, 0.029786f, -0.084188f, -0.208198f, -0.327790f, -0.427675f, -0.506080f, -0.566715f, -0.606654f, -0.620426f, -0.608890f, -0.577204f, -0.529440f, -0.469766f, -0.403401f, -0.332230f, -0.253653f, -0.166268f, -0.073041f, 0.021610f, 0.112939f, 0.193509f, 0.255064f, 0.294744f, 0.316342f, 0.324872f, 0.323044f, 0.313291f, 0.299731f, 0.286569f, 0.276133f, 0.269047f, 0.264854f, 0.261697f, 0.256138f, 0.244182f, 0.223051f, 0.192601f, 0.155342f, 0.114760f, 0.073144f, 0.030352f, -0.016156f, -0.070224f, -0.134644f, -0.208324f, -0.285309f, -0.356772f, -0.413944f, -0.449609f, -0.458703f, -0.439528f, -0.394930f, -0.331849f, - -0.259659f, -0.188462f, -0.126919f, -0.079747f, -0.047119f, -0.026644f, -0.014920f, -0.007007f, 0.003477f, 0.022326f, 0.053985f, 0.103077f, 0.173949f, 0.266925f, 0.376398f, 0.492936f, 0.604875f, 0.697909f, 0.757166f, 0.771956f, 0.737231f, 0.651307f, 0.515864f, 0.338233f, 0.130148f, -0.096058f, -0.327499f, -0.548579f, -0.742907f, -0.897278f, -1.001720f, -1.048233f, -1.033356f, -0.960708f, -0.838436f, -0.676033f, -0.484975f, -0.278710f, -0.069071f, 0.135392f, 0.327026f, 0.498327f, 0.643893f, 0.759696f, 0.840685f, 0.882278f, 0.882920f, 0.842334f, 0.760127f, 0.639470f, 0.488681f, 0.316680f, 0.131973f, -0.052258f, -0.220428f, -0.364266f, -0.478726f, -0.543965f, -0.528700f, -0.427785f, -0.288213f, -0.179234f, -0.133783f, -0.129365f}, - {1.274160f, 1.294020f, 1.337410f, 1.397007f, 1.430345f, 1.392644f, 1.321540f, 1.313359f, 1.357865f, 1.299918f, 1.074412f, 0.879944f, 0.959736f, 1.270988f, 1.546758f, 1.656396f, 1.720956f, 1.866458f, 2.047459f, 2.166309f, 2.211621f, 2.199100f, 2.091661f, 1.870665f, 1.617573f, 1.446851f, 1.393188f, 1.413236f, 1.466179f, 1.550859f, 1.683267f, 1.868310f, 2.085674f, 2.289697f, 2.432421f, 2.495403f, 2.495189f, 2.459782f, 2.406497f, 2.337636f, 2.248632f, 2.141773f, 2.034425f, 1.948929f, 1.893998f, 1.861756f, 1.839825f, 1.817228f, 1.782513f, 1.728672f, 1.660650f, 1.590534f, 1.526449f, 1.470717f, 1.424223f, 1.386891f, 1.357216f, 1.334362f, 1.316849f, 1.298879f, 1.273497f, 1.238579f, 1.193651f, 1.133144f, 1.050266f, 0.946198f, 0.830030f, 0.712686f, 0.605579f, 0.520129f, 0.462158f, 0.429220f, 0.416204f, 0.419491f, 0.434223f, 0.453184f, 0.470641f, 0.483821f, 0.491166f, 0.493159f, 0.493315f, 0.494589f, 0.497104f, 0.501870f, 0.512491f, 0.530588f, 0.554259f, 0.582935f, 0.618415f, 0.659661f, 0.701812f, 0.741007f, 0.775413f, 0.802205f, 0.818331f, 0.823262f, - 0.817499f, 0.800855f, 0.774865f, 0.743310f, 0.708492f, 0.671074f, 0.633855f, 0.600330f, 0.569970f, 0.540678f, 0.514469f, 0.494946f, 0.481818f, 0.473694f, 0.472732f, 0.481094f, 0.496964f, 0.518455f, 0.546609f, 0.581486f, 0.621040f, 0.665611f, 0.717402f, 0.775509f, 0.837954f, 0.906864f, 0.984687f, 1.068602f, 1.155523f, 1.247778f, 1.347134f, 1.449104f, 1.549101f, 1.647389f, 1.742972f, 1.829635f, 1.901324f, 1.954515f, 1.984287f, 1.984824f, 1.952760f, 1.885002f, 1.778297f, 1.635195f, 1.462468f, 1.261420f, 1.031242f, 0.781118f, 0.523064f, 0.255971f, -0.024648f, -0.309222f, -0.588359f, -0.870855f, -1.164972f, -1.466926f, -1.790488f, -2.153822f, -2.486393f, -2.616851f, -2.448223f, -2.105871f, -1.817613f, -1.687068f} - }, - { - {1.085267f, 1.152261f, 1.211254f, 1.149749f, 0.971009f, 0.866642f, 0.973613f, 1.106024f, 0.955689f, 0.568331f, 0.367265f, 0.613757f, 1.064472f, 1.307157f, 1.265967f, 1.200519f, 1.313280f, 1.541852f, 1.705537f, 1.706229f, 1.568164f, 1.377410f, 1.218876f, 1.132463f, 1.108780f, 1.130031f, 1.199863f, 1.323700f, 1.481829f, 1.635911f, 1.747006f, 1.784852f, 1.742653f, 1.647793f, 1.537415f, 1.420984f, 1.285988f, 1.138370f, 1.013812f, 0.945860f, 0.939755f, 0.977271f, 1.030441f, 1.070328f, 1.078971f, 1.058884f, 1.024800f, 0.985828f, 0.939938f, 0.882986f, 0.817274f, 0.751424f, 0.694070f, 0.647432f, 0.607447f, 0.570514f, 0.536843f, 0.505711f, 0.472714f, 0.435641f, 0.398968f, 0.368542f, 0.344855f, 0.324511f, 0.305620f, 0.289416f, 0.278288f, 0.273203f, 0.272251f, 0.272533f, 0.274178f, 0.280435f, 0.293045f, 0.310308f, 0.330160f, 0.351786f, 0.373986f, 0.395582f, 0.417508f, 0.441271f, 0.465902f, 0.489267f, 0.511114f, 0.532441f, 0.553769f, 0.575766f, 0.598998f, 0.621885f, 0.641757f, 0.657943f, 0.670310f, 0.675616f, 0.669581f, 0.651537f, 0.623393f, 0.586505f, - 0.543751f, 0.501741f, 0.466651f, 0.440414f, 0.423767f, 0.419239f, 0.428634f, 0.451471f, 0.487558f, 0.537488f, 0.600521f, 0.675890f, 0.764826f, 0.867101f, 0.977943f, 1.092168f, 1.207453f, 1.319899f, 1.421773f, 1.507786f, 1.578085f, 1.631894f, 1.664687f, 1.674570f, 1.664682f, 1.636762f, 1.588484f, 1.518454f, 1.428003f, 1.317560f, 1.186183f, 1.034404f, 0.864540f, 0.680250f, 0.487109f, 0.289870f, 0.089451f, -0.112563f, -0.309528f, -0.496881f, -0.678674f, -0.858573f, -1.031550f, -1.194122f, -1.353146f, -1.513379f, -1.667664f, -1.810571f, -1.947846f, -2.081093f, -2.199345f, -2.296286f, -2.376795f, -2.438015f, -2.467707f, -2.466689f, -2.437081f, -2.336441f, -2.091727f, -1.697365f, -1.271170f, -0.969067f, -0.847236f, -0.833407f}, - {1.085267f, 1.152261f, 1.211254f, 1.149749f, 0.971009f, 0.866642f, 0.973613f, 1.106024f, 0.955689f, 0.568331f, 0.367265f, 0.613757f, 1.064472f, 1.307157f, 1.265967f, 1.200519f, 1.313280f, 1.541852f, 1.705537f, 1.706229f, 1.568164f, 1.377410f, 1.218876f, 1.132463f, 1.108780f, 1.130031f, 1.199863f, 1.323700f, 1.481829f, 1.635911f, 1.747006f, 1.784852f, 1.742653f, 1.647793f, 1.537415f, 1.420984f, 1.285988f, 1.138370f, 1.013812f, 0.945860f, 0.939755f, 0.977271f, 1.030441f, 1.070328f, 1.078971f, 1.058884f, 1.024800f, 0.985828f, 0.939938f, 0.882986f, 0.817274f, 0.751424f, 0.694070f, 0.647432f, 0.607447f, 0.570514f, 0.536843f, 0.505711f, 0.472714f, 0.435641f, 0.398968f, 0.368542f, 0.344855f, 0.324511f, 0.305620f, 0.289416f, 0.278288f, 0.273203f, 0.272251f, 0.272533f, 0.274178f, 0.280435f, 0.293045f, 0.310308f, 0.330160f, 0.351786f, 0.373986f, 0.395582f, 0.417508f, 0.441271f, 0.465902f, 0.489267f, 0.511114f, 0.532441f, 0.553769f, 0.575766f, 0.598998f, 0.621885f, 0.641757f, 0.657943f, 0.670310f, 0.675616f, 0.669581f, 0.651537f, 0.623393f, 0.586505f, - 0.543751f, 0.501741f, 0.466651f, 0.440414f, 0.423767f, 0.419239f, 0.428634f, 0.451471f, 0.487558f, 0.537488f, 0.600521f, 0.675890f, 0.764826f, 0.867101f, 0.977943f, 1.092168f, 1.207453f, 1.319899f, 1.421773f, 1.507786f, 1.578085f, 1.631894f, 1.664687f, 1.674570f, 1.664682f, 1.636762f, 1.588484f, 1.518454f, 1.428003f, 1.317560f, 1.186183f, 1.034404f, 0.864540f, 0.680250f, 0.487109f, 0.289870f, 0.089451f, -0.112563f, -0.309528f, -0.496881f, -0.678674f, -0.858573f, -1.031550f, -1.194122f, -1.353146f, -1.513379f, -1.667664f, -1.810571f, -1.947846f, -2.081093f, -2.199345f, -2.296286f, -2.376795f, -2.438015f, -2.467707f, -2.466689f, -2.437081f, -2.336441f, -2.091727f, -1.697365f, -1.271170f, -0.969067f, -0.847236f, -0.833407f} - }, - { - {1.063637f, 1.049948f, 1.086384f, 1.183797f, 1.296273f, 1.415018f, 1.543693f, 1.612469f, 1.556818f, 1.452907f, 1.427515f, 1.459162f, 1.420264f, 1.294044f, 1.190504f, 1.155630f, 1.120377f, 1.045118f, 0.972069f, 0.919124f, 0.847607f, 0.755348f, 0.695900f, 0.688650f, 0.697752f, 0.705992f, 0.727492f, 0.745497f, 0.716209f, 0.641022f, 0.570166f, 0.531001f, 0.507183f, 0.487583f, 0.484983f, 0.504740f, 0.536379f, 0.578041f, 0.637538f, 0.709342f, 0.774552f, 0.821621f, 0.850375f, 0.861813f, 0.858985f, 0.852665f, 0.855130f, 0.872248f, 0.905940f, 0.956533f, 1.018160f, 1.078485f, 1.125914f, 1.152867f, 1.153957f, 1.128181f, 1.082146f, 1.025211f, 0.962215f, 0.894440f, 0.824318f, 0.754663f, 0.686000f, 0.618588f, 0.555115f, 0.499006f, 0.452213f, 0.416110f, 0.392138f, 0.380331f, 0.378985f, 0.386260f, 0.400712f, 0.420754f, 0.445470f, 0.475732f, 0.513289f, 0.559298f, 0.614782f, 0.681710f, 0.762351f, 0.857613f, 0.966535f, 1.087403f, 1.219077f, 1.360788f, 1.510315f, 1.662975f, 1.812873f, 1.953724f, 2.077144f, 2.172270f, 2.230289f, 2.248747f, 2.229143f, 2.172148f, - 2.078893f, 1.955382f, 1.810735f, 1.651097f, 1.479367f, 1.300345f, 1.120903f, 0.944335f, 0.769404f, 0.596549f, 0.431085f, 0.278829f, 0.142420f, 0.023726f, -0.073876f, -0.148420f, -0.202406f, -0.240652f, -0.266342f, -0.280625f, -0.284772f, -0.281007f, -0.271464f, -0.257350f, -0.239505f, -0.219653f, -0.200403f, -0.183348f, -0.167670f, -0.151607f, -0.134585f, -0.116624f, -0.096605f, -0.073157f, -0.046830f, -0.019722f, 0.006408f, 0.030219f, 0.049849f, 0.063222f, 0.068554f, 0.064149f, 0.048963f, 0.023015f, -0.014445f, -0.065932f, -0.132497f, -0.211661f, -0.301246f, -0.401651f, -0.510888f, -0.622490f, -0.732373f, -0.841490f, -0.948993f, -1.053059f, -1.159075f, -1.265357f, -1.332750f, -1.299989f, -1.156448f, -0.976901f, -0.852061f, -0.803729f}, - {0.884083f, 0.742870f, 0.484034f, 0.189010f, -0.047347f, -0.209107f, -0.344738f, -0.459774f, -0.499823f, -0.451724f, -0.382172f, -0.347168f, -0.330087f, -0.301047f, -0.273879f, -0.260219f, -0.215653f, -0.082482f, 0.135367f, 0.371639f, 0.553528f, 0.638327f, 0.619182f, 0.521423f, 0.383944f, 0.230950f, 0.070136f, -0.081916f, -0.195335f, -0.256069f, -0.280341f, -0.291132f, -0.295855f, -0.293544f, -0.286342f, -0.272513f, -0.239647f, -0.175676f, -0.081987f, 0.027920f, 0.135920f, 0.222729f, 0.272143f, 0.278209f, 0.246991f, 0.191063f, 0.124955f, 0.063713f, 0.019080f, -0.005719f, -0.015586f, -0.017859f, -0.018227f, -0.020272f, -0.025418f, -0.032738f, -0.040246f, -0.046606f, -0.051516f, -0.055628f, -0.060728f, -0.068985f, -0.081305f, -0.096657f, -0.112333f, -0.123552f, -0.123315f, -0.104730f, -0.064704f, -0.005665f, 0.065287f, 0.138018f, 0.201361f, 0.245987f, 0.266784f, 0.262900f, 0.236050f, 0.188970f, 0.124607f, 0.045940f, -0.043179f, -0.136409f, -0.224142f, -0.294589f, -0.336178f, -0.340444f, -0.304841f, -0.234204f, -0.139606f, -0.035148f, 0.065318f, 0.150348f, 0.212111f, 0.246790f, 0.254210f, 0.237086f, - 0.200362f, 0.150513f, 0.094645f, 0.039670f, -0.008438f, -0.045554f, -0.070189f, -0.083386f, -0.087751f, -0.086464f, -0.082639f, -0.078760f, -0.076232f, -0.075397f, -0.075811f, -0.076287f, -0.074859f, -0.069085f, -0.056682f, -0.036162f, -0.007454f, 0.027621f, 0.065474f, 0.101542f, 0.131285f, 0.150979f, 0.158284f, 0.152450f, 0.134029f, 0.104444f, 0.065783f, 0.020707f, -0.027709f, -0.075976f, -0.120047f, -0.155502f, -0.178183f, -0.184820f, -0.173566f, -0.144714f, -0.101232f, -0.048394f, 0.007260f, 0.058957f, 0.100774f, 0.128927f, 0.142378f, 0.142213f, 0.130754f, 0.111206f, 0.087043f, 0.060849f, 0.034081f, 0.008064f, -0.015849f, -0.037361f, -0.056513f, -0.070516f, -0.073401f, -0.061979f, -0.041900f, -0.024640f, -0.017159f, -0.016562f} - }, - { - {0.884083f, 0.742870f, 0.484034f, 0.189010f, -0.047347f, -0.209107f, -0.344738f, -0.459774f, -0.499823f, -0.451724f, -0.382172f, -0.347168f, -0.330087f, -0.301047f, -0.273879f, -0.260219f, -0.215653f, -0.082482f, 0.135367f, 0.371639f, 0.553528f, 0.638327f, 0.619182f, 0.521423f, 0.383944f, 0.230950f, 0.070136f, -0.081916f, -0.195335f, -0.256069f, -0.280341f, -0.291132f, -0.295855f, -0.293544f, -0.286342f, -0.272513f, -0.239647f, -0.175676f, -0.081987f, 0.027920f, 0.135920f, 0.222729f, 0.272143f, 0.278209f, 0.246991f, 0.191063f, 0.124955f, 0.063713f, 0.019080f, -0.005719f, -0.015586f, -0.017859f, -0.018227f, -0.020272f, -0.025418f, -0.032738f, -0.040246f, -0.046606f, -0.051516f, -0.055628f, -0.060728f, -0.068985f, -0.081305f, -0.096657f, -0.112333f, -0.123552f, -0.123315f, -0.104730f, -0.064704f, -0.005665f, 0.065287f, 0.138018f, 0.201361f, 0.245987f, 0.266784f, 0.262900f, 0.236050f, 0.188970f, 0.124607f, 0.045940f, -0.043179f, -0.136409f, -0.224142f, -0.294589f, -0.336178f, -0.340444f, -0.304841f, -0.234204f, -0.139606f, -0.035148f, 0.065318f, 0.150348f, 0.212111f, 0.246790f, 0.254210f, 0.237086f, - 0.200362f, 0.150513f, 0.094645f, 0.039670f, -0.008438f, -0.045554f, -0.070189f, -0.083386f, -0.087751f, -0.086464f, -0.082639f, -0.078760f, -0.076232f, -0.075397f, -0.075811f, -0.076287f, -0.074859f, -0.069085f, -0.056682f, -0.036162f, -0.007454f, 0.027621f, 0.065474f, 0.101542f, 0.131285f, 0.150979f, 0.158284f, 0.152450f, 0.134029f, 0.104444f, 0.065783f, 0.020707f, -0.027709f, -0.075976f, -0.120047f, -0.155502f, -0.178183f, -0.184820f, -0.173566f, -0.144714f, -0.101232f, -0.048394f, 0.007260f, 0.058957f, 0.100774f, 0.128927f, 0.142378f, 0.142213f, 0.130754f, 0.111206f, 0.087043f, 0.060849f, 0.034081f, 0.008064f, -0.015849f, -0.037361f, -0.056513f, -0.070516f, -0.073401f, -0.061979f, -0.041900f, -0.024640f, -0.017159f, -0.016562f}, - {1.063637f, 1.049948f, 1.086384f, 1.183797f, 1.296273f, 1.415018f, 1.543693f, 1.612469f, 1.556818f, 1.452907f, 1.427515f, 1.459162f, 1.420264f, 1.294044f, 1.190504f, 1.155630f, 1.120377f, 1.045118f, 0.972069f, 0.919124f, 0.847607f, 0.755348f, 0.695900f, 0.688650f, 0.697752f, 0.705992f, 0.727492f, 0.745497f, 0.716209f, 0.641022f, 0.570166f, 0.531001f, 0.507183f, 0.487583f, 0.484983f, 0.504740f, 0.536379f, 0.578041f, 0.637538f, 0.709342f, 0.774552f, 0.821621f, 0.850375f, 0.861813f, 0.858985f, 0.852665f, 0.855130f, 0.872248f, 0.905940f, 0.956533f, 1.018160f, 1.078485f, 1.125914f, 1.152867f, 1.153957f, 1.128181f, 1.082146f, 1.025211f, 0.962215f, 0.894440f, 0.824318f, 0.754663f, 0.686000f, 0.618588f, 0.555115f, 0.499006f, 0.452213f, 0.416110f, 0.392138f, 0.380331f, 0.378985f, 0.386260f, 0.400712f, 0.420754f, 0.445470f, 0.475732f, 0.513289f, 0.559298f, 0.614782f, 0.681710f, 0.762351f, 0.857613f, 0.966535f, 1.087403f, 1.219077f, 1.360788f, 1.510315f, 1.662975f, 1.812873f, 1.953724f, 2.077144f, 2.172270f, 2.230289f, 2.248747f, 2.229143f, 2.172148f, - 2.078893f, 1.955382f, 1.810735f, 1.651097f, 1.479367f, 1.300345f, 1.120903f, 0.944335f, 0.769404f, 0.596549f, 0.431085f, 0.278829f, 0.142420f, 0.023726f, -0.073876f, -0.148420f, -0.202406f, -0.240652f, -0.266342f, -0.280625f, -0.284772f, -0.281007f, -0.271464f, -0.257350f, -0.239505f, -0.219653f, -0.200403f, -0.183348f, -0.167670f, -0.151607f, -0.134585f, -0.116624f, -0.096605f, -0.073157f, -0.046830f, -0.019722f, 0.006408f, 0.030219f, 0.049849f, 0.063222f, 0.068554f, 0.064149f, 0.048963f, 0.023015f, -0.014445f, -0.065932f, -0.132497f, -0.211661f, -0.301246f, -0.401651f, -0.510888f, -0.622490f, -0.732373f, -0.841490f, -0.948993f, -1.053059f, -1.159075f, -1.265357f, -1.332750f, -1.299989f, -1.156448f, -0.976901f, -0.852061f, -0.803729f} - }, - { - {1.162181f, 1.141798f, 1.179331f, 1.312669f, 1.480555f, 1.604003f, 1.670306f, 1.695382f, 1.657718f, 1.541807f, 1.413737f, 1.363031f, 1.373945f, 1.344708f, 1.245904f, 1.165785f, 1.167020f, 1.190832f, 1.158172f, 1.088594f, 1.049454f, 1.044643f, 1.028324f, 0.992763f, 0.971665f, 0.973963f, 0.973448f, 0.958360f, 0.946807f, 0.954173f, 0.976219f, 1.002416f, 1.024019f, 1.032959f, 1.029383f, 1.026640f, 1.038825f, 1.068822f, 1.113169f, 1.168957f, 1.230999f, 1.291508f, 1.346952f, 1.398324f, 1.443741f, 1.478287f, 1.501426f, 1.518040f, 1.532576f, 1.547027f, 1.562611f, 1.578765f, 1.592058f, 1.598749f, 1.596511f, 1.583342f, 1.558420f, 1.523901f, 1.482143f, 1.432374f, 1.373890f, 1.310066f, 1.244815f, 1.177941f, 1.108302f, 1.038172f, 0.970189f, 0.903576f, 0.837584f, 0.775562f, 0.722310f, 0.680443f, 0.651673f, 0.638265f, 0.641074f, 0.658779f, 0.689980f, 0.733722f, 0.788343f, 0.852546f, 0.926831f, 1.011394f, 1.104140f, 1.203288f, 1.309951f, 1.425422f, 1.547756f, 1.673494f, 1.800797f, 1.928139f, 2.051052f, 2.162499f, 2.256187f, 2.328001f, 2.374142f, 2.389503f, - 2.369730f, 2.314896f, 2.228939f, 2.114741f, 1.972694f, 1.805661f, 1.621289f, 1.426246f, 1.222051f, 1.010434f, 0.798653f, 0.594793f, 0.401641f, 0.220362f, 0.056562f, -0.082970f, -0.197029f, -0.288612f, -0.359153f, -0.408639f, -0.439636f, -0.457088f, -0.464729f, -0.464047f, -0.456113f, -0.442968f, -0.427436f, -0.411786f, -0.396493f, -0.381143f, -0.366415f, -0.353190f, -0.339754f, -0.322693f, -0.300816f, -0.275555f, -0.247788f, -0.217400f, -0.185761f, -0.155837f, -0.130316f, -0.111467f, -0.101559f, -0.102274f, -0.115577f, -0.144891f, -0.192498f, -0.257270f, -0.338656f, -0.439477f, -0.560090f, -0.695118f, -0.840907f, -0.998289f, -1.164095f, -1.332994f, -1.508120f, -1.680480f, -1.788383f, -1.743468f, -1.535858f, -1.279623f, -1.106724f, -1.043498f}, - {0.905588f, 0.678721f, 0.311452f, -0.074075f, -0.391395f, -0.617293f, -0.746184f, -0.740920f, -0.564252f, -0.254379f, 0.071055f, 0.303498f, 0.417361f, 0.449527f, 0.432288f, 0.367893f, 0.256058f, 0.119389f, -0.008961f, -0.114172f, -0.203831f, -0.281005f, -0.325060f, -0.311031f, -0.241850f, -0.146096f, -0.046032f, 0.054939f, 0.152046f, 0.226111f, 0.259475f, 0.251935f, 0.213195f, 0.150231f, 0.069290f, -0.018553f, -0.100712f, -0.166582f, -0.205558f, -0.209673f, -0.181832f, -0.135168f, -0.081370f, -0.024250f, 0.034933f, 0.092041f, 0.141134f, 0.175712f, 0.187987f, 0.171668f, 0.127233f, 0.062532f, -0.011072f, -0.081089f, -0.134991f, -0.163771f, -0.165597f, -0.144952f, -0.109017f, -0.065402f, -0.020706f, 0.021494f, 0.060945f, 0.098011f, 0.130933f, 0.155438f, 0.165387f, 0.153670f, 0.114571f, 0.047357f, -0.041172f, -0.136224f, -0.216658f, -0.259817f, -0.249548f, -0.183688f, -0.076336f, 0.046314f, 0.154535f, 0.224647f, 0.245627f, 0.219783f, 0.158447f, 0.076683f, -0.010276f, -0.088825f, -0.147781f, -0.178799f, -0.177443f, -0.145071f, -0.089700f, -0.024150f, 0.037705f, 0.084486f, 0.109662f, 0.112458f, - 0.097013f, 0.070123f, 0.038867f, 0.009115f, -0.015219f, -0.032411f, -0.042533f, -0.046682f, -0.046354f, -0.043035f, -0.037774f, -0.030925f, -0.022303f, -0.011540f, 0.001583f, 0.016669f, 0.032205f, 0.045559f, 0.053690f, 0.054105f, 0.045640f, 0.028983f, 0.006793f, -0.016842f, -0.037453f, -0.051237f, -0.055876f, -0.051059f, -0.038496f, -0.021237f, -0.002673f, 0.014251f, 0.027456f, 0.035870f, 0.039284f, 0.038016f, 0.032623f, 0.023845f, 0.012634f, 0.000134f, -0.012341f, -0.023309f, -0.031253f, -0.034934f, -0.033690f, -0.027594f, -0.017500f, -0.005027f, 0.007694f, 0.018568f, 0.026056f, 0.029352f, 0.028366f, 0.023762f, 0.016767f, 0.008566f, -0.000041f, -0.007969f, -0.013188f, -0.013852f, -0.010529f, -0.006339f, -0.004049f, -0.003641f} - }, - { - {0.905588f, 0.678721f, 0.311452f, -0.074075f, -0.391395f, -0.617293f, -0.746184f, -0.740920f, -0.564252f, -0.254379f, 0.071055f, 0.303498f, 0.417361f, 0.449527f, 0.432288f, 0.367893f, 0.256058f, 0.119389f, -0.008961f, -0.114172f, -0.203831f, -0.281005f, -0.325060f, -0.311031f, -0.241850f, -0.146096f, -0.046032f, 0.054939f, 0.152046f, 0.226111f, 0.259475f, 0.251935f, 0.213195f, 0.150231f, 0.069290f, -0.018553f, -0.100712f, -0.166582f, -0.205558f, -0.209673f, -0.181832f, -0.135168f, -0.081370f, -0.024250f, 0.034933f, 0.092041f, 0.141134f, 0.175712f, 0.187987f, 0.171668f, 0.127233f, 0.062532f, -0.011072f, -0.081089f, -0.134991f, -0.163771f, -0.165597f, -0.144952f, -0.109017f, -0.065402f, -0.020706f, 0.021494f, 0.060945f, 0.098011f, 0.130933f, 0.155438f, 0.165387f, 0.153670f, 0.114571f, 0.047357f, -0.041172f, -0.136224f, -0.216658f, -0.259817f, -0.249548f, -0.183688f, -0.076336f, 0.046314f, 0.154535f, 0.224647f, 0.245627f, 0.219783f, 0.158447f, 0.076683f, -0.010276f, -0.088825f, -0.147781f, -0.178799f, -0.177443f, -0.145071f, -0.089700f, -0.024150f, 0.037705f, 0.084486f, 0.109662f, 0.112458f, - 0.097013f, 0.070123f, 0.038867f, 0.009115f, -0.015219f, -0.032411f, -0.042533f, -0.046682f, -0.046354f, -0.043035f, -0.037774f, -0.030925f, -0.022303f, -0.011540f, 0.001583f, 0.016669f, 0.032205f, 0.045559f, 0.053690f, 0.054105f, 0.045640f, 0.028983f, 0.006793f, -0.016842f, -0.037453f, -0.051237f, -0.055876f, -0.051059f, -0.038496f, -0.021237f, -0.002673f, 0.014251f, 0.027456f, 0.035870f, 0.039284f, 0.038016f, 0.032623f, 0.023845f, 0.012634f, 0.000134f, -0.012341f, -0.023309f, -0.031253f, -0.034934f, -0.033690f, -0.027594f, -0.017500f, -0.005027f, 0.007694f, 0.018568f, 0.026056f, 0.029352f, 0.028366f, 0.023762f, 0.016767f, 0.008566f, -0.000041f, -0.007969f, -0.013188f, -0.013852f, -0.010529f, -0.006339f, -0.004049f, -0.003641f}, - {1.162181f, 1.141798f, 1.179331f, 1.312669f, 1.480555f, 1.604003f, 1.670306f, 1.695382f, 1.657718f, 1.541807f, 1.413737f, 1.363031f, 1.373945f, 1.344708f, 1.245904f, 1.165785f, 1.167020f, 1.190832f, 1.158172f, 1.088594f, 1.049454f, 1.044643f, 1.028324f, 0.992763f, 0.971665f, 0.973963f, 0.973448f, 0.958360f, 0.946807f, 0.954173f, 0.976219f, 1.002416f, 1.024019f, 1.032959f, 1.029383f, 1.026640f, 1.038825f, 1.068822f, 1.113169f, 1.168957f, 1.230999f, 1.291508f, 1.346952f, 1.398324f, 1.443741f, 1.478287f, 1.501426f, 1.518040f, 1.532576f, 1.547027f, 1.562611f, 1.578765f, 1.592058f, 1.598749f, 1.596511f, 1.583342f, 1.558420f, 1.523901f, 1.482143f, 1.432374f, 1.373890f, 1.310066f, 1.244815f, 1.177941f, 1.108302f, 1.038172f, 0.970189f, 0.903576f, 0.837584f, 0.775562f, 0.722310f, 0.680443f, 0.651673f, 0.638265f, 0.641074f, 0.658779f, 0.689980f, 0.733722f, 0.788343f, 0.852546f, 0.926831f, 1.011394f, 1.104140f, 1.203288f, 1.309951f, 1.425422f, 1.547756f, 1.673494f, 1.800797f, 1.928139f, 2.051052f, 2.162499f, 2.256187f, 2.328001f, 2.374142f, 2.389503f, - 2.369730f, 2.314896f, 2.228939f, 2.114741f, 1.972694f, 1.805661f, 1.621289f, 1.426246f, 1.222051f, 1.010434f, 0.798653f, 0.594793f, 0.401641f, 0.220362f, 0.056562f, -0.082970f, -0.197029f, -0.288612f, -0.359153f, -0.408639f, -0.439636f, -0.457088f, -0.464729f, -0.464047f, -0.456113f, -0.442968f, -0.427436f, -0.411786f, -0.396493f, -0.381143f, -0.366415f, -0.353190f, -0.339754f, -0.322693f, -0.300816f, -0.275555f, -0.247788f, -0.217400f, -0.185761f, -0.155837f, -0.130316f, -0.111467f, -0.101559f, -0.102274f, -0.115577f, -0.144891f, -0.192498f, -0.257270f, -0.338656f, -0.439477f, -0.560090f, -0.695118f, -0.840907f, -0.998289f, -1.164095f, -1.332994f, -1.508120f, -1.680480f, -1.788383f, -1.743468f, -1.535858f, -1.279623f, -1.106724f, -1.043498f} - }, - { - {1.159622f, 1.193691f, 1.237258f, 1.320849f, 1.487298f, 1.666553f, 1.724102f, 1.650966f, 1.573042f, 1.544114f, 1.472362f, 1.307714f, 1.161858f, 1.150104f, 1.223815f, 1.264871f, 1.263073f, 1.287888f, 1.342278f, 1.362131f, 1.337721f, 1.330944f, 1.368021f, 1.396360f, 1.364710f, 1.288691f, 1.218865f, 1.183954f, 1.180171f, 1.187830f, 1.187661f, 1.180495f, 1.195032f, 1.259113f, 1.362844f, 1.466040f, 1.540461f, 1.588501f, 1.622646f, 1.646051f, 1.658212f, 1.665631f, 1.678718f, 1.703510f, 1.739748f, 1.783278f, 1.828707f, 1.872076f, 1.911060f, 1.941699f, 1.957382f, 1.953400f, 1.930581f, 1.892863f, 1.843933f, 1.788203f, 1.732141f, 1.681303f, 1.636732f, 1.595689f, 1.554498f, 1.508967f, 1.453241f, 1.380844f, 1.287974f, 1.175649f, 1.048847f, 0.914443f, 0.780366f, 0.655432f, 0.547534f, 0.460905f, 0.396117f, 0.353230f, 0.333368f, 0.336440f, 0.359235f, 0.397509f, 0.448944f, 0.512890f, 0.588417f, 0.673852f, 0.767268f, 0.866240f, 0.967523f, 1.067477f, 1.162781f, 1.251696f, 1.335718f, 1.418848f, 1.503672f, 1.589111f, 1.673021f, 1.754375f, 1.830218f, 1.892793f, - 1.933260f, 1.946807f, 1.930919f, 1.880810f, 1.791440f, 1.663674f, 1.504434f, 1.320882f, 1.118452f, 0.904794f, 0.690996f, 0.486304f, 0.293952f, 0.114062f, -0.051677f, -0.200995f, -0.335215f, -0.458659f, -0.573224f, -0.676398f, -0.765669f, -0.841798f, -0.905649f, -0.954822f, -0.986818f, -1.003613f, -1.009628f, -1.006662f, -0.994352f, -0.974281f, -0.949658f, -0.921427f, -0.888107f, -0.849284f, -0.806653f, -0.762102f, -0.716996f, -0.672764f, -0.630702f, -0.592073f, -0.558976f, -0.533407f, -0.515537f, -0.505563f, -0.506735f, -0.523053f, -0.554958f, -0.601619f, -0.665696f, -0.750024f, -0.851507f, -0.964704f, -1.088238f, -1.219977f, -1.351507f, -1.477464f, -1.598506f, -1.692749f, -1.695051f, -1.547196f, -1.283387f, -1.029223f, -0.886823f, -0.846926f}, - {0.917530f, 0.651778f, 0.241502f, -0.178942f, -0.536560f, -0.786296f, -0.860850f, -0.706638f, -0.361171f, 0.046809f, 0.387357f, 0.602717f, 0.692047f, 0.656485f, 0.487419f, 0.202537f, -0.131209f, -0.422884f, -0.603096f, -0.644757f, -0.551449f, -0.342251f, -0.055144f, 0.244353f, 0.476752f, 0.583435f, 0.550410f, 0.400902f, 0.174798f, -0.079777f, -0.306983f, -0.454414f, -0.491763f, -0.418131f, -0.255796f, -0.044428f, 0.162865f, 0.313621f, 0.377506f, 0.355066f, 0.266380f, 0.136211f, -0.009740f, -0.143360f, -0.238377f, -0.278253f, -0.259547f, -0.190305f, -0.088010f, 0.022991f, 0.117569f, 0.177810f, 0.197350f, 0.179580f, 0.133113f, 0.068872f, -0.000779f, -0.063476f, -0.109645f, -0.134287f, -0.136342f, -0.117479f, -0.081934f, -0.036147f, 0.013007f, 0.059765f, 0.099237f, 0.126500f, 0.136441f, 0.124091f, 0.085864f, 0.023102f, -0.053770f, -0.125481f, -0.170570f, -0.174290f, -0.134420f, -0.062132f, 0.021772f, 0.094424f, 0.139321f, 0.150911f, 0.133188f, 0.094735f, 0.044256f, -0.011227f, -0.065550f, -0.111473f, -0.139846f, -0.141427f, -0.111062f, -0.052088f, 0.022029f, 0.091072f, 0.135690f, 0.145016f, - 0.119868f, 0.070626f, 0.012094f, -0.041731f, -0.081087f, -0.101328f, -0.102037f, -0.085784f, -0.057045f, -0.021038f, 0.017163f, 0.052643f, 0.080347f, 0.095430f, 0.094095f, 0.074476f, 0.037848f, -0.010003f, -0.058809f, -0.096245f, -0.111730f, -0.100012f, -0.063528f, -0.012321f, 0.039313f, 0.078026f, 0.095507f, 0.090021f, 0.065833f, 0.031042f, -0.005483f, -0.036519f, -0.057334f, -0.065748f, -0.062075f, -0.048499f, -0.027988f, -0.003851f, 0.020134f, 0.040124f, 0.053012f, 0.056670f, 0.050087f, 0.034085f, 0.011613f, -0.013157f, -0.035718f, -0.051525f, -0.056944f, -0.050760f, -0.034341f, -0.010740f, 0.015371f, 0.037961f, 0.051881f, 0.054631f, 0.045371f, 0.025148f, 0.000589f, -0.016591f, -0.019315f, -0.012675f, -0.006967f, -0.005603f} - }, - { - {0.917530f, 0.651778f, 0.241502f, -0.178942f, -0.536560f, -0.786296f, -0.860850f, -0.706638f, -0.361171f, 0.046809f, 0.387357f, 0.602717f, 0.692047f, 0.656485f, 0.487419f, 0.202537f, -0.131209f, -0.422884f, -0.603096f, -0.644757f, -0.551449f, -0.342251f, -0.055144f, 0.244353f, 0.476752f, 0.583435f, 0.550410f, 0.400902f, 0.174798f, -0.079777f, -0.306983f, -0.454414f, -0.491763f, -0.418131f, -0.255796f, -0.044428f, 0.162865f, 0.313621f, 0.377506f, 0.355066f, 0.266380f, 0.136211f, -0.009740f, -0.143360f, -0.238377f, -0.278253f, -0.259547f, -0.190305f, -0.088010f, 0.022991f, 0.117569f, 0.177810f, 0.197350f, 0.179580f, 0.133113f, 0.068872f, -0.000779f, -0.063476f, -0.109645f, -0.134287f, -0.136342f, -0.117479f, -0.081934f, -0.036147f, 0.013007f, 0.059765f, 0.099237f, 0.126500f, 0.136441f, 0.124091f, 0.085864f, 0.023102f, -0.053770f, -0.125481f, -0.170570f, -0.174290f, -0.134420f, -0.062132f, 0.021772f, 0.094424f, 0.139321f, 0.150911f, 0.133188f, 0.094735f, 0.044256f, -0.011227f, -0.065550f, -0.111473f, -0.139846f, -0.141427f, -0.111062f, -0.052088f, 0.022029f, 0.091072f, 0.135690f, 0.145016f, - 0.119868f, 0.070626f, 0.012094f, -0.041731f, -0.081087f, -0.101328f, -0.102037f, -0.085784f, -0.057045f, -0.021038f, 0.017163f, 0.052643f, 0.080347f, 0.095430f, 0.094095f, 0.074476f, 0.037848f, -0.010003f, -0.058809f, -0.096245f, -0.111730f, -0.100012f, -0.063528f, -0.012321f, 0.039313f, 0.078026f, 0.095507f, 0.090021f, 0.065833f, 0.031042f, -0.005483f, -0.036519f, -0.057334f, -0.065748f, -0.062075f, -0.048499f, -0.027988f, -0.003851f, 0.020134f, 0.040124f, 0.053012f, 0.056670f, 0.050087f, 0.034085f, 0.011613f, -0.013157f, -0.035718f, -0.051525f, -0.056944f, -0.050760f, -0.034341f, -0.010740f, 0.015371f, 0.037961f, 0.051881f, 0.054631f, 0.045371f, 0.025148f, 0.000589f, -0.016591f, -0.019315f, -0.012675f, -0.006967f, -0.005603f}, - {1.159622f, 1.193691f, 1.237258f, 1.320849f, 1.487298f, 1.666553f, 1.724102f, 1.650966f, 1.573042f, 1.544114f, 1.472362f, 1.307714f, 1.161858f, 1.150104f, 1.223815f, 1.264871f, 1.263073f, 1.287888f, 1.342278f, 1.362131f, 1.337721f, 1.330944f, 1.368021f, 1.396360f, 1.364710f, 1.288691f, 1.218865f, 1.183954f, 1.180171f, 1.187830f, 1.187661f, 1.180495f, 1.195032f, 1.259113f, 1.362844f, 1.466040f, 1.540461f, 1.588501f, 1.622646f, 1.646051f, 1.658212f, 1.665631f, 1.678718f, 1.703510f, 1.739748f, 1.783278f, 1.828707f, 1.872076f, 1.911060f, 1.941699f, 1.957382f, 1.953400f, 1.930581f, 1.892863f, 1.843933f, 1.788203f, 1.732141f, 1.681303f, 1.636732f, 1.595689f, 1.554498f, 1.508967f, 1.453241f, 1.380844f, 1.287974f, 1.175649f, 1.048847f, 0.914443f, 0.780366f, 0.655432f, 0.547534f, 0.460905f, 0.396117f, 0.353230f, 0.333368f, 0.336440f, 0.359235f, 0.397509f, 0.448944f, 0.512890f, 0.588417f, 0.673852f, 0.767268f, 0.866240f, 0.967523f, 1.067477f, 1.162781f, 1.251696f, 1.335718f, 1.418848f, 1.503672f, 1.589111f, 1.673021f, 1.754375f, 1.830218f, 1.892793f, - 1.933260f, 1.946807f, 1.930919f, 1.880810f, 1.791440f, 1.663674f, 1.504434f, 1.320882f, 1.118452f, 0.904794f, 0.690996f, 0.486304f, 0.293952f, 0.114062f, -0.051677f, -0.200995f, -0.335215f, -0.458659f, -0.573224f, -0.676398f, -0.765669f, -0.841798f, -0.905649f, -0.954822f, -0.986818f, -1.003613f, -1.009628f, -1.006662f, -0.994352f, -0.974281f, -0.949658f, -0.921427f, -0.888107f, -0.849284f, -0.806653f, -0.762102f, -0.716996f, -0.672764f, -0.630702f, -0.592073f, -0.558976f, -0.533407f, -0.515537f, -0.505563f, -0.506735f, -0.523053f, -0.554958f, -0.601619f, -0.665696f, -0.750024f, -0.851507f, -0.964704f, -1.088238f, -1.219977f, -1.351507f, -1.477464f, -1.598506f, -1.692749f, -1.695051f, -1.547196f, -1.283387f, -1.029223f, -0.886823f, -0.846926f} - }, - { - {1.204534f, 1.203210f, 1.190459f, 1.158364f, 1.109879f, 1.047847f, 0.967182f, 0.886071f, 0.875240f, 1.004287f, 1.246157f, 1.481970f, 1.615355f, 1.637426f, 1.577214f, 1.457598f, 1.321024f, 1.229774f, 1.206408f, 1.223980f, 1.272061f, 1.371986f, 1.508691f, 1.612777f, 1.637477f, 1.601706f, 1.541886f, 1.477270f, 1.436013f, 1.455349f, 1.534155f, 1.631670f, 1.725521f, 1.826471f, 1.929526f, 1.998858f, 2.013654f, 1.990557f, 1.951995f, 1.904864f, 1.854980f, 1.812358f, 1.776533f, 1.738280f, 1.696957f, 1.660023f, 1.629610f, 1.603794f, 1.584323f, 1.570732f, 1.554937f, 1.532291f, 1.509613f, 1.494021f, 1.482648f, 1.469744f, 1.454557f, 1.436482f, 1.411078f, 1.376370f, 1.336916f, 1.298175f, 1.261515f, 1.226108f, 1.191183f, 1.154956f, 1.113954f, 1.064034f, 1.001800f, 0.926672f, 0.841820f, 0.751089f, 0.655693f, 0.556482f, 0.457666f, 0.364250f, 0.277024f, 0.194155f, 0.116696f, 0.048473f, -0.008535f, -0.054762f, -0.089740f, -0.112245f, -0.123899f, -0.129341f, -0.132173f, -0.133099f, -0.132513f, -0.132606f, -0.135739f, -0.142102f, -0.150075f, -0.158190f, -0.165938f, -0.173194f, - -0.179698f, -0.185269f, -0.190331f, -0.196010f, -0.203236f, -0.211655f, -0.220071f, -0.228003f, -0.235580f, -0.241688f, -0.244000f, -0.241462f, -0.234924f, -0.224740f, -0.209975f, -0.190727f, -0.168794f, -0.145304f, -0.120014f, -0.093330f, -0.066541f, -0.039964f, -0.013201f, 0.013257f, 0.038995f, 0.065097f, 0.092403f, 0.120117f, 0.148133f, 0.178226f, 0.211116f, 0.245318f, 0.280246f, 0.316864f, 0.354258f, 0.389361f, 0.420350f, 0.446556f, 0.465866f, 0.476164f, 0.477674f, 0.470479f, 0.452941f, 0.425418f, 0.390777f, 0.349073f, 0.298093f, 0.240144f, 0.179989f, 0.116389f, 0.045546f, -0.029475f, -0.104553f, -0.184802f, -0.276288f, -0.377633f, -0.495071f, -0.645493f, -0.815390f, -0.936731f, -0.946277f, -0.861930f, -0.763516f, -0.709030f}, - {1.086199f, 1.004862f, 0.856920f, 0.638693f, 0.364003f, 0.130220f, 0.067679f, 0.200071f, 0.403211f, 0.509750f, 0.423010f, 0.156791f, -0.172783f, -0.408435f, -0.470895f, -0.422906f, -0.382903f, -0.401158f, -0.461457f, -0.557666f, -0.691515f, -0.814952f, -0.853789f, -0.795975f, -0.704559f, -0.639966f, -0.610169f, -0.594209f, -0.572008f, -0.524834f, -0.437816f, -0.312986f, -0.167818f, -0.022362f, 0.104727f, 0.198993f, 0.262493f, 0.315863f, 0.378159f, 0.450032f, 0.520371f, 0.579860f, 0.623926f, 0.651912f, 0.668089f, 0.677538f, 0.679621f, 0.670347f, 0.649417f, 0.619352f, 0.580188f, 0.530227f, 0.469047f, 0.395638f, 0.307512f, 0.205554f, 0.095977f, -0.015238f, -0.125770f, -0.233301f, -0.333345f, -0.422540f, -0.499945f, -0.564191f, -0.613419f, -0.648393f, -0.671605f, -0.682790f, -0.678457f, -0.655912f, -0.615299f, -0.558515f, -0.488718f, -0.410330f, -0.327205f, -0.240846f, -0.151506f, -0.060435f, 0.029743f, 0.116185f, 0.196603f, 0.269218f, 0.332259f, 0.383578f, 0.421216f, 0.444550f, 0.454402f, 0.452174f, 0.439605f, 0.418976f, 0.392290f, 0.360410f, 0.324023f, 0.284973f, 0.245420f, 0.206302f, - 0.167896f, 0.131240f, 0.097662f, 0.067544f, 0.040831f, 0.018067f, -0.000312f, -0.015097f, -0.027643f, -0.038677f, -0.048631f, -0.058475f, -0.069291f, -0.081482f, -0.095092f, -0.110486f, -0.128190f, -0.148421f, -0.171029f, -0.195562f, -0.221182f, -0.246725f, -0.270807f, -0.291832f, -0.308285f, -0.319211f, -0.323959f, -0.321487f, -0.310646f, -0.291111f, -0.263101f, -0.226361f, -0.180686f, -0.127219f, -0.067738f, -0.002935f, 0.066945f, 0.140199f, 0.214330f, 0.288003f, 0.360118f, 0.427762f, 0.487507f, 0.537747f, 0.577193f, 0.602502f, 0.610203f, 0.599283f, 0.569254f, 0.518270f, 0.446010f, 0.355357f, 0.248976f, 0.128708f, -0.000380f, -0.132271f, -0.265471f, -0.391680f, -0.476715f, -0.476959f, -0.392112f, -0.282972f, -0.214100f, -0.193429f} - }, - { - {1.086199f, 1.004862f, 0.856920f, 0.638693f, 0.364003f, 0.130220f, 0.067679f, 0.200071f, 0.403211f, 0.509750f, 0.423010f, 0.156791f, -0.172783f, -0.408435f, -0.470895f, -0.422906f, -0.382903f, -0.401158f, -0.461457f, -0.557666f, -0.691515f, -0.814952f, -0.853789f, -0.795975f, -0.704559f, -0.639966f, -0.610169f, -0.594209f, -0.572008f, -0.524834f, -0.437816f, -0.312986f, -0.167818f, -0.022362f, 0.104727f, 0.198993f, 0.262493f, 0.315863f, 0.378159f, 0.450032f, 0.520371f, 0.579860f, 0.623926f, 0.651912f, 0.668089f, 0.677538f, 0.679621f, 0.670347f, 0.649417f, 0.619352f, 0.580188f, 0.530227f, 0.469047f, 0.395638f, 0.307512f, 0.205554f, 0.095977f, -0.015238f, -0.125770f, -0.233301f, -0.333345f, -0.422540f, -0.499945f, -0.564191f, -0.613419f, -0.648393f, -0.671605f, -0.682790f, -0.678457f, -0.655912f, -0.615299f, -0.558515f, -0.488718f, -0.410330f, -0.327205f, -0.240846f, -0.151506f, -0.060435f, 0.029743f, 0.116185f, 0.196603f, 0.269218f, 0.332259f, 0.383578f, 0.421216f, 0.444550f, 0.454402f, 0.452174f, 0.439605f, 0.418976f, 0.392290f, 0.360410f, 0.324023f, 0.284973f, 0.245420f, 0.206302f, - 0.167896f, 0.131240f, 0.097662f, 0.067544f, 0.040831f, 0.018067f, -0.000312f, -0.015097f, -0.027643f, -0.038677f, -0.048631f, -0.058475f, -0.069291f, -0.081482f, -0.095092f, -0.110486f, -0.128190f, -0.148421f, -0.171029f, -0.195562f, -0.221182f, -0.246725f, -0.270807f, -0.291832f, -0.308285f, -0.319211f, -0.323959f, -0.321487f, -0.310646f, -0.291111f, -0.263101f, -0.226361f, -0.180686f, -0.127219f, -0.067738f, -0.002935f, 0.066945f, 0.140199f, 0.214330f, 0.288003f, 0.360118f, 0.427762f, 0.487507f, 0.537747f, 0.577193f, 0.602502f, 0.610203f, 0.599283f, 0.569254f, 0.518270f, 0.446010f, 0.355357f, 0.248976f, 0.128708f, -0.000380f, -0.132271f, -0.265471f, -0.391680f, -0.476715f, -0.476959f, -0.392112f, -0.282972f, -0.214100f, -0.193429f}, - {1.204534f, 1.203210f, 1.190459f, 1.158364f, 1.109879f, 1.047847f, 0.967182f, 0.886071f, 0.875240f, 1.004287f, 1.246157f, 1.481970f, 1.615355f, 1.637426f, 1.577214f, 1.457598f, 1.321024f, 1.229774f, 1.206408f, 1.223980f, 1.272061f, 1.371986f, 1.508691f, 1.612777f, 1.637477f, 1.601706f, 1.541886f, 1.477270f, 1.436013f, 1.455349f, 1.534155f, 1.631670f, 1.725521f, 1.826471f, 1.929526f, 1.998858f, 2.013654f, 1.990557f, 1.951995f, 1.904864f, 1.854980f, 1.812358f, 1.776533f, 1.738280f, 1.696957f, 1.660023f, 1.629610f, 1.603794f, 1.584323f, 1.570732f, 1.554937f, 1.532291f, 1.509613f, 1.494021f, 1.482648f, 1.469744f, 1.454557f, 1.436482f, 1.411078f, 1.376370f, 1.336916f, 1.298175f, 1.261515f, 1.226108f, 1.191183f, 1.154956f, 1.113954f, 1.064034f, 1.001800f, 0.926672f, 0.841820f, 0.751089f, 0.655693f, 0.556482f, 0.457666f, 0.364250f, 0.277024f, 0.194155f, 0.116696f, 0.048473f, -0.008535f, -0.054762f, -0.089740f, -0.112245f, -0.123899f, -0.129341f, -0.132173f, -0.133099f, -0.132513f, -0.132606f, -0.135739f, -0.142102f, -0.150075f, -0.158190f, -0.165938f, -0.173194f, - -0.179698f, -0.185269f, -0.190331f, -0.196010f, -0.203236f, -0.211655f, -0.220071f, -0.228003f, -0.235580f, -0.241688f, -0.244000f, -0.241462f, -0.234924f, -0.224740f, -0.209975f, -0.190727f, -0.168794f, -0.145304f, -0.120014f, -0.093330f, -0.066541f, -0.039964f, -0.013201f, 0.013257f, 0.038995f, 0.065097f, 0.092403f, 0.120117f, 0.148133f, 0.178226f, 0.211116f, 0.245318f, 0.280246f, 0.316864f, 0.354258f, 0.389361f, 0.420350f, 0.446556f, 0.465866f, 0.476164f, 0.477674f, 0.470479f, 0.452941f, 0.425418f, 0.390777f, 0.349073f, 0.298093f, 0.240144f, 0.179989f, 0.116389f, 0.045546f, -0.029475f, -0.104553f, -0.184802f, -0.276288f, -0.377633f, -0.495071f, -0.645493f, -0.815390f, -0.936731f, -0.946277f, -0.861930f, -0.763516f, -0.709030f} - }, - { - {1.136670f, 1.135642f, 1.159558f, 1.242764f, 1.363234f, 1.418639f, 1.336924f, 1.189682f, 1.113008f, 1.131924f, 1.157617f, 1.151455f, 1.181552f, 1.293689f, 1.426449f, 1.500166f, 1.514642f, 1.509585f, 1.486776f, 1.424261f, 1.330820f, 1.239551f, 1.165466f, 1.100846f, 1.040119f, 0.986673f, 0.942034f, 0.902330f, 0.862433f, 0.819391f, 0.776566f, 0.743854f, 0.727187f, 0.719668f, 0.709421f, 0.693441f, 0.678491f, 0.672553f, 0.680404f, 0.703111f, 0.736854f, 0.775141f, 0.814760f, 0.856596f, 0.900306f, 0.942530f, 0.980421f, 1.012484f, 1.035999f, 1.047912f, 1.048713f, 1.042995f, 1.036815f, 1.035930f, 1.044536f, 1.063597f, 1.091269f, 1.124936f, 1.160818f, 1.192654f, 1.214352f, 1.223836f, 1.221719f, 1.207688f, 1.181727f, 1.147450f, 1.110173f, 1.072170f, 1.032778f, 0.991992f, 0.950676f, 0.907968f, 0.861440f, 0.809940f, 0.754528f, 0.696829f, 0.637989f, 0.579463f, 0.523977f, 0.474852f, 0.433794f, 0.399580f, 0.369634f, 0.342464f, 0.317497f, 0.293477f, 0.269419f, 0.247151f, 0.230793f, 0.223510f, 0.226350f, 0.239825f, 0.264468f, 0.299833f, 0.344597f, 0.397722f, - 0.458584f, 0.526418f, 0.600176f, 0.677918f, 0.755919f, 0.829709f, 0.896231f, 0.953601f, 0.999158f, 1.030126f, 1.046156f, 1.048788f, 1.038255f, 1.013274f, 0.974186f, 0.923755f, 0.864275f, 0.796121f, 0.720041f, 0.639023f, 0.556603f, 0.474308f, 0.392028f, 0.310457f, 0.231609f, 0.156391f, 0.083091f, 0.009683f, -0.063465f, -0.135078f, -0.206105f, -0.278586f, -0.351844f, -0.422799f, -0.489943f, -0.553901f, -0.613917f, -0.667023f, -0.711334f, -0.747585f, -0.776837f, -0.798893f, -0.813586f, -0.822199f, -0.827084f, -0.830337f, -0.832774f, -0.834571f, -0.837262f, -0.843529f, -0.854126f, -0.867669f, -0.884714f, -0.908029f, -0.937931f, -0.973595f, -1.017808f, -1.066008f, -1.087268f, -1.038917f, -0.917834f, -0.780429f, -0.689733f, -0.656403f}, - {0.960640f, 0.816300f, 0.532130f, 0.162721f, -0.177503f, -0.386043f, -0.458478f, -0.483376f, -0.540231f, -0.613871f, -0.621946f, -0.516051f, -0.334075f, -0.151666f, -0.004270f, 0.128279f, 0.272309f, 0.416162f, 0.517877f, 0.544624f, 0.498443f, 0.408788f, 0.305793f, 0.199974f, 0.084387f, -0.046450f, -0.182699f, -0.304310f, -0.394850f, -0.445761f, -0.450978f, -0.406320f, -0.316884f, -0.199695f, -0.075242f, 0.041820f, 0.142995f, 0.221772f, 0.273300f, 0.296982f, 0.296450f, 0.276859f, 0.243007f, 0.198850f, 0.147055f, 0.089044f, 0.026127f, -0.039590f, -0.105511f, -0.168772f, -0.225337f, -0.269209f, -0.293289f, -0.291676f, -0.261993f, -0.206338f, -0.130253f, -0.040664f, 0.055241f, 0.149519f, 0.232931f, 0.295939f, 0.330770f, 0.333107f, 0.302661f, 0.242736f, 0.159157f, 0.059248f, -0.048476f, -0.153986f, -0.245588f, -0.310890f, -0.339319f, -0.325534f, -0.271853f, -0.188083f, -0.088946f, 0.009493f, 0.093484f, 0.154613f, 0.190898f, 0.205217f, 0.202369f, 0.186878f, 0.162125f, 0.130210f, 0.092281f, 0.049362f, 0.003253f, -0.043024f, -0.085315f, -0.119041f, -0.140550f, -0.148332f, -0.143136f, -0.127149f, - -0.103171f, -0.074084f, -0.042377f, -0.009910f, 0.021838f, 0.051455f, 0.077582f, 0.098903f, 0.113990f, 0.121384f, 0.119975f, 0.109245f, 0.089333f, 0.061281f, 0.027240f, -0.009804f, -0.046484f, -0.079281f, -0.104807f, -0.120441f, -0.124813f, -0.117785f, -0.100313f, -0.074391f, -0.042701f, -0.008052f, 0.026806f, 0.059088f, 0.086138f, 0.105684f, 0.115807f, 0.115012f, 0.102800f, 0.080165f, 0.049512f, 0.014383f, -0.020831f, -0.051690f, -0.074772f, -0.088141f, -0.091258f, -0.084989f, -0.071486f, -0.053399f, -0.033132f, -0.012815f, 0.005713f, 0.021390f, 0.033926f, 0.043146f, 0.048887f, 0.051423f, 0.051133f, 0.047899f, 0.041642f, 0.032825f, 0.021467f, 0.007161f, -0.008032f, -0.018531f, -0.020230f, -0.015601f, -0.010789f, -0.008773f} - }, - { - {0.960640f, 0.816300f, 0.532130f, 0.162721f, -0.177503f, -0.386043f, -0.458478f, -0.483376f, -0.540231f, -0.613871f, -0.621946f, -0.516051f, -0.334075f, -0.151666f, -0.004270f, 0.128279f, 0.272309f, 0.416162f, 0.517877f, 0.544624f, 0.498443f, 0.408788f, 0.305793f, 0.199974f, 0.084387f, -0.046450f, -0.182699f, -0.304310f, -0.394850f, -0.445761f, -0.450978f, -0.406320f, -0.316884f, -0.199695f, -0.075242f, 0.041820f, 0.142995f, 0.221772f, 0.273300f, 0.296982f, 0.296450f, 0.276859f, 0.243007f, 0.198850f, 0.147055f, 0.089044f, 0.026127f, -0.039590f, -0.105511f, -0.168772f, -0.225337f, -0.269209f, -0.293289f, -0.291676f, -0.261993f, -0.206338f, -0.130253f, -0.040664f, 0.055241f, 0.149519f, 0.232931f, 0.295939f, 0.330770f, 0.333107f, 0.302661f, 0.242736f, 0.159157f, 0.059248f, -0.048476f, -0.153986f, -0.245588f, -0.310890f, -0.339319f, -0.325534f, -0.271853f, -0.188083f, -0.088946f, 0.009493f, 0.093484f, 0.154613f, 0.190898f, 0.205217f, 0.202369f, 0.186878f, 0.162125f, 0.130210f, 0.092281f, 0.049362f, 0.003253f, -0.043024f, -0.085315f, -0.119041f, -0.140550f, -0.148332f, -0.143136f, -0.127149f, - -0.103171f, -0.074084f, -0.042377f, -0.009910f, 0.021838f, 0.051455f, 0.077582f, 0.098903f, 0.113990f, 0.121384f, 0.119975f, 0.109245f, 0.089333f, 0.061281f, 0.027240f, -0.009804f, -0.046484f, -0.079281f, -0.104807f, -0.120441f, -0.124813f, -0.117785f, -0.100313f, -0.074391f, -0.042701f, -0.008052f, 0.026806f, 0.059088f, 0.086138f, 0.105684f, 0.115807f, 0.115012f, 0.102800f, 0.080165f, 0.049512f, 0.014383f, -0.020831f, -0.051690f, -0.074772f, -0.088141f, -0.091258f, -0.084989f, -0.071486f, -0.053399f, -0.033132f, -0.012815f, 0.005713f, 0.021390f, 0.033926f, 0.043146f, 0.048887f, 0.051423f, 0.051133f, 0.047899f, 0.041642f, 0.032825f, 0.021467f, 0.007161f, -0.008032f, -0.018531f, -0.020230f, -0.015601f, -0.010789f, -0.008773f}, - {1.136670f, 1.135642f, 1.159558f, 1.242764f, 1.363234f, 1.418639f, 1.336924f, 1.189682f, 1.113008f, 1.131924f, 1.157617f, 1.151455f, 1.181552f, 1.293689f, 1.426449f, 1.500166f, 1.514642f, 1.509585f, 1.486776f, 1.424261f, 1.330820f, 1.239551f, 1.165466f, 1.100846f, 1.040119f, 0.986673f, 0.942034f, 0.902330f, 0.862433f, 0.819391f, 0.776566f, 0.743854f, 0.727187f, 0.719668f, 0.709421f, 0.693441f, 0.678491f, 0.672553f, 0.680404f, 0.703111f, 0.736854f, 0.775141f, 0.814760f, 0.856596f, 0.900306f, 0.942530f, 0.980421f, 1.012484f, 1.035999f, 1.047912f, 1.048713f, 1.042995f, 1.036815f, 1.035930f, 1.044536f, 1.063597f, 1.091269f, 1.124936f, 1.160818f, 1.192654f, 1.214352f, 1.223836f, 1.221719f, 1.207688f, 1.181727f, 1.147450f, 1.110173f, 1.072170f, 1.032778f, 0.991992f, 0.950676f, 0.907968f, 0.861440f, 0.809940f, 0.754528f, 0.696829f, 0.637989f, 0.579463f, 0.523977f, 0.474852f, 0.433794f, 0.399580f, 0.369634f, 0.342464f, 0.317497f, 0.293477f, 0.269419f, 0.247151f, 0.230793f, 0.223510f, 0.226350f, 0.239825f, 0.264468f, 0.299833f, 0.344597f, 0.397722f, - 0.458584f, 0.526418f, 0.600176f, 0.677918f, 0.755919f, 0.829709f, 0.896231f, 0.953601f, 0.999158f, 1.030126f, 1.046156f, 1.048788f, 1.038255f, 1.013274f, 0.974186f, 0.923755f, 0.864275f, 0.796121f, 0.720041f, 0.639023f, 0.556603f, 0.474308f, 0.392028f, 0.310457f, 0.231609f, 0.156391f, 0.083091f, 0.009683f, -0.063465f, -0.135078f, -0.206105f, -0.278586f, -0.351844f, -0.422799f, -0.489943f, -0.553901f, -0.613917f, -0.667023f, -0.711334f, -0.747585f, -0.776837f, -0.798893f, -0.813586f, -0.822199f, -0.827084f, -0.830337f, -0.832774f, -0.834571f, -0.837262f, -0.843529f, -0.854126f, -0.867669f, -0.884714f, -0.908029f, -0.937931f, -0.973595f, -1.017808f, -1.066008f, -1.087268f, -1.038917f, -0.917834f, -0.780429f, -0.689733f, -0.656403f} - }, - { - {1.068324f, 1.062066f, 1.083672f, 1.156642f, 1.251383f, 1.301241f, 1.270195f, 1.189834f, 1.115171f, 1.063568f, 1.022919f, 1.001888f, 1.030552f, 1.110370f, 1.199864f, 1.259787f, 1.284625f, 1.280603f, 1.242659f, 1.171775f, 1.093479f, 1.036606f, 1.002891f, 0.972808f, 0.933548f, 0.887633f, 0.839967f, 0.790500f, 0.739167f, 0.688251f, 0.638192f, 0.586505f, 0.531813f, 0.475822f, 0.421676f, 0.373637f, 0.338297f, 0.322536f, 0.328305f, 0.350663f, 0.382129f, 0.417959f, 0.456126f, 0.493831f, 0.526907f, 0.552956f, 0.572952f, 0.589166f, 0.603191f, 0.616479f, 0.631032f, 0.648516f, 0.669363f, 0.692743f, 0.716446f, 0.737125f, 0.751798f, 0.758883f, 0.757319f, 0.746131f, 0.726128f, 0.700462f, 0.671814f, 0.640056f, 0.603849f, 0.562908f, 0.517307f, 0.466388f, 0.410454f, 0.352646f, 0.297752f, 0.249844f, 0.211692f, 0.185011f, 0.169810f, 0.163886f, 0.163694f, 0.165778f, 0.167776f, 0.168909f, 0.169698f, 0.170965f, 0.173362f, 0.177738f, 0.185104f, 0.195926f, 0.210178f, 0.228154f, 0.250538f, 0.277725f, 0.309833f, 0.347232f, 0.390456f, 0.439791f, 0.495196f, 0.555920f, - 0.619949f, 0.684571f, 0.747409f, 0.805924f, 0.856574f, 0.896391f, 0.925191f, 0.944416f, 0.954283f, 0.954087f, 0.944612f, 0.927526f, 0.902506f, 0.867475f, 0.821809f, 0.767132f, 0.704886f, 0.635309f, 0.559349f, 0.479847f, 0.399919f, 0.321030f, 0.243461f, 0.168221f, 0.097457f, 0.032552f, -0.027272f, -0.083379f, -0.135625f, -0.183518f, -0.228709f, -0.273886f, -0.319427f, -0.363620f, -0.405822f, -0.446545f, -0.484543f, -0.516852f, -0.541980f, -0.560664f, -0.573598f, -0.580683f, -0.582341f, -0.579795f, -0.574373f, -0.567446f, -0.560136f, -0.552846f, -0.546452f, -0.543218f, -0.544596f, -0.549853f, -0.559220f, -0.575373f, -0.599427f, -0.630547f, -0.671011f, -0.720096f, -0.756779f, -0.745171f, -0.674094f, -0.580065f, -0.512363f, -0.485247f}, - {0.934518f, 0.857858f, 0.682018f, 0.418282f, 0.149886f, -0.022248f, -0.085705f, -0.132956f, -0.243348f, -0.384067f, -0.470420f, -0.490862f, -0.510507f, -0.564810f, -0.615008f, -0.613799f, -0.558408f, -0.464246f, -0.334644f, -0.179741f, -0.030327f, 0.091349f, 0.193272f, 0.290516f, 0.379280f, 0.447234f, 0.493298f, 0.523281f, 0.535766f, 0.522478f, 0.477212f, 0.399948f, 0.297897f, 0.184846f, 0.074020f, -0.029775f, -0.126981f, -0.213768f, -0.281234f, -0.323523f, -0.342095f, -0.342589f, -0.331435f, -0.314724f, -0.296652f, -0.278561f, -0.260507f, -0.242171f, -0.220746f, -0.189924f, -0.143224f, -0.078060f, 0.003244f, 0.094157f, 0.184987f, 0.265868f, 0.330948f, 0.379383f, 0.412093f, 0.428623f, 0.427005f, 0.404850f, 0.360089f, 0.292366f, 0.204920f, 0.104626f, -0.000261f, -0.102308f, -0.195788f, -0.277059f, -0.344399f, -0.396403f, -0.430000f, -0.440595f, -0.424427f, -0.380841f, -0.313172f, -0.228570f, -0.136582f, -0.046276f, 0.036288f, 0.108164f, 0.167991f, 0.215177f, 0.250068f, 0.273681f, 0.286922f, 0.290465f, 0.285187f, 0.272099f, 0.251841f, 0.224631f, 0.190554f, 0.149524f, 0.101233f, 0.045772f, - -0.015434f, -0.079411f, -0.142271f, -0.199904f, -0.248354f, -0.284186f, -0.304987f, -0.309598f, -0.297829f, -0.270211f, -0.228225f, -0.174500f, -0.112362f, -0.045271f, 0.023093f, 0.088668f, 0.147582f, 0.196800f, 0.233966f, 0.257190f, 0.265649f, 0.259970f, 0.241494f, 0.211697f, 0.172676f, 0.127321f, 0.078348f, 0.027873f, -0.021726f, -0.067568f, -0.107275f, -0.139243f, -0.161825f, -0.173602f, -0.174673f, -0.166498f, -0.150627f, -0.128782f, -0.103666f, -0.078044f, -0.053346f, -0.030259f, -0.009734f, 0.007887f, 0.023557f, 0.038115f, 0.051436f, 0.063720f, 0.075766f, 0.087264f, 0.096795f, 0.103721f, 0.107784f, 0.107330f, 0.100689f, 0.088113f, 0.069180f, 0.041288f, 0.006332f, -0.023956f, -0.037070f, -0.033441f, -0.024607f, -0.019448f} - }, - { - {0.934518f, 0.857858f, 0.682018f, 0.418282f, 0.149886f, -0.022248f, -0.085705f, -0.132956f, -0.243348f, -0.384067f, -0.470420f, -0.490862f, -0.510507f, -0.564810f, -0.615008f, -0.613799f, -0.558408f, -0.464246f, -0.334644f, -0.179741f, -0.030327f, 0.091349f, 0.193272f, 0.290516f, 0.379280f, 0.447234f, 0.493298f, 0.523281f, 0.535766f, 0.522478f, 0.477212f, 0.399948f, 0.297897f, 0.184846f, 0.074020f, -0.029775f, -0.126981f, -0.213768f, -0.281234f, -0.323523f, -0.342095f, -0.342589f, -0.331435f, -0.314724f, -0.296652f, -0.278561f, -0.260507f, -0.242171f, -0.220746f, -0.189924f, -0.143224f, -0.078060f, 0.003244f, 0.094157f, 0.184987f, 0.265868f, 0.330948f, 0.379383f, 0.412093f, 0.428623f, 0.427005f, 0.404850f, 0.360089f, 0.292366f, 0.204920f, 0.104626f, -0.000261f, -0.102308f, -0.195788f, -0.277059f, -0.344399f, -0.396403f, -0.430000f, -0.440595f, -0.424427f, -0.380841f, -0.313172f, -0.228570f, -0.136582f, -0.046276f, 0.036288f, 0.108164f, 0.167991f, 0.215177f, 0.250068f, 0.273681f, 0.286922f, 0.290465f, 0.285187f, 0.272099f, 0.251841f, 0.224631f, 0.190554f, 0.149524f, 0.101233f, 0.045772f, - -0.015434f, -0.079411f, -0.142271f, -0.199904f, -0.248354f, -0.284186f, -0.304987f, -0.309598f, -0.297829f, -0.270211f, -0.228225f, -0.174500f, -0.112362f, -0.045271f, 0.023093f, 0.088668f, 0.147582f, 0.196800f, 0.233966f, 0.257190f, 0.265649f, 0.259970f, 0.241494f, 0.211697f, 0.172676f, 0.127321f, 0.078348f, 0.027873f, -0.021726f, -0.067568f, -0.107275f, -0.139243f, -0.161825f, -0.173602f, -0.174673f, -0.166498f, -0.150627f, -0.128782f, -0.103666f, -0.078044f, -0.053346f, -0.030259f, -0.009734f, 0.007887f, 0.023557f, 0.038115f, 0.051436f, 0.063720f, 0.075766f, 0.087264f, 0.096795f, 0.103721f, 0.107784f, 0.107330f, 0.100689f, 0.088113f, 0.069180f, 0.041288f, 0.006332f, -0.023956f, -0.037070f, -0.033441f, -0.024607f, -0.019448f}, - {1.068324f, 1.062066f, 1.083672f, 1.156642f, 1.251383f, 1.301241f, 1.270195f, 1.189834f, 1.115171f, 1.063568f, 1.022919f, 1.001888f, 1.030552f, 1.110370f, 1.199864f, 1.259787f, 1.284625f, 1.280603f, 1.242659f, 1.171775f, 1.093479f, 1.036606f, 1.002891f, 0.972808f, 0.933548f, 0.887633f, 0.839967f, 0.790500f, 0.739167f, 0.688251f, 0.638192f, 0.586505f, 0.531813f, 0.475822f, 0.421676f, 0.373637f, 0.338297f, 0.322536f, 0.328305f, 0.350663f, 0.382129f, 0.417959f, 0.456126f, 0.493831f, 0.526907f, 0.552956f, 0.572952f, 0.589166f, 0.603191f, 0.616479f, 0.631032f, 0.648516f, 0.669363f, 0.692743f, 0.716446f, 0.737125f, 0.751798f, 0.758883f, 0.757319f, 0.746131f, 0.726128f, 0.700462f, 0.671814f, 0.640056f, 0.603849f, 0.562908f, 0.517307f, 0.466388f, 0.410454f, 0.352646f, 0.297752f, 0.249844f, 0.211692f, 0.185011f, 0.169810f, 0.163886f, 0.163694f, 0.165778f, 0.167776f, 0.168909f, 0.169698f, 0.170965f, 0.173362f, 0.177738f, 0.185104f, 0.195926f, 0.210178f, 0.228154f, 0.250538f, 0.277725f, 0.309833f, 0.347232f, 0.390456f, 0.439791f, 0.495196f, 0.555920f, - 0.619949f, 0.684571f, 0.747409f, 0.805924f, 0.856574f, 0.896391f, 0.925191f, 0.944416f, 0.954283f, 0.954087f, 0.944612f, 0.927526f, 0.902506f, 0.867475f, 0.821809f, 0.767132f, 0.704886f, 0.635309f, 0.559349f, 0.479847f, 0.399919f, 0.321030f, 0.243461f, 0.168221f, 0.097457f, 0.032552f, -0.027272f, -0.083379f, -0.135625f, -0.183518f, -0.228709f, -0.273886f, -0.319427f, -0.363620f, -0.405822f, -0.446545f, -0.484543f, -0.516852f, -0.541980f, -0.560664f, -0.573598f, -0.580683f, -0.582341f, -0.579795f, -0.574373f, -0.567446f, -0.560136f, -0.552846f, -0.546452f, -0.543218f, -0.544596f, -0.549853f, -0.559220f, -0.575373f, -0.599427f, -0.630547f, -0.671011f, -0.720096f, -0.756779f, -0.745171f, -0.674094f, -0.580065f, -0.512363f, -0.485247f} - } -}; -const float CRendBin_Combined_HRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][160]={ - { - {0.022597f, 0.065202f, 0.094800f, 0.087222f, 0.028863f, -0.033215f, -0.025115f, 0.029670f, 0.010871f, -0.094080f, -0.093395f, 0.164837f, 0.534054f, 0.723953f, 0.668586f, 0.562550f, 0.547018f, 0.547467f, 0.451265f, 0.273050f, 0.076100f, -0.133607f, -0.347652f, -0.484095f, -0.465506f, -0.320173f, -0.144456f, 0.002459f, 0.124086f, 0.236901f, 0.334318f, 0.388275f, 0.365496f, 0.251083f, 0.066984f, -0.139501f, -0.329262f, -0.490031f, -0.628003f, -0.750861f, -0.856460f, -0.932287f, -0.968749f, -0.973950f, -0.969671f, -0.973735f, -0.992918f, -1.028350f, -1.076088f, -1.123879f, -1.158091f, -1.174678f, -1.178288f, -1.174093f, -1.165759f, -1.157129f, -1.151037f, -1.149567f, -1.156736f, -1.175982f, -1.205151f, -1.239655f, -1.278806f, -1.322162f, -1.361620f, -1.384066f, -1.380279f, -1.346908f, -1.284430f, -1.199139f, -1.103249f, -1.007963f, -0.918939f, -0.839828f, -0.774659f, -0.724527f, -0.686467f, -0.656634f, -0.631187f, -0.605488f, -0.576739f, -0.545772f, -0.513340f, -0.478002f, -0.440201f, -0.403792f, -0.371197f, -0.342018f, -0.317969f, -0.303696f, -0.301471f, -0.309948f, -0.328028f, -0.355049f, -0.388060f, -0.423148f, - -0.457901f, -0.489672f, -0.514648f, -0.531085f, -0.539738f, -0.540079f, -0.530837f, -0.514091f, -0.493133f, -0.467135f, -0.433667f, -0.394405f, -0.352537f, -0.307676f, -0.258996f, -0.209516f, -0.162264f, -0.116664f, -0.072404f, -0.031550f, 0.005591f, 0.040704f, 0.072658f, 0.098740f, 0.119709f, 0.136856f, 0.146623f, 0.145056f, 0.133481f, 0.112977f, 0.078684f, 0.025978f, -0.044059f, -0.130730f, -0.238118f, -0.369115f, -0.521997f, -0.694951f, -0.886933f, -1.093940f, -1.310375f, -1.531202f, -1.748254f, -1.951169f, -2.135588f, -2.301024f, -2.440136f, -2.544008f, -2.616201f, -2.664228f, -2.682466f, -2.663745f, -2.617014f, -2.550432f, -2.454397f, -2.322601f, -2.151953f, -1.890105f, -1.449852f, -0.850895f, -0.291398f, 0.021597f, 0.081084f, 0.031473f}, - {-0.080276f, -0.311417f, -0.607640f, -0.791927f, -0.800857f, -0.760608f, -0.739148f, -0.646209f, -0.447092f, -0.280447f, -0.279295f, -0.423068f, -0.622336f, -0.804161f, -0.867594f, -0.710767f, -0.374205f, -0.036779f, 0.187292f, 0.339906f, 0.474434f, 0.550962f, 0.537943f, 0.503393f, 0.524522f, 0.587272f, 0.644960f, 0.705979f, 0.790728f, 0.855477f, 0.834725f, 0.730307f, 0.593843f, 0.437574f, 0.224869f, -0.047825f, -0.311841f, -0.490861f, -0.575373f, -0.611964f, -0.639917f, -0.664189f, -0.679158f, -0.686945f, -0.685661f, -0.661531f, -0.605064f, -0.523507f, -0.428999f, -0.324606f, -0.209719f, -0.090298f, 0.024311f, 0.128844f, 0.221046f, 0.298789f, 0.362618f, 0.416158f, 0.460462f, 0.491627f, 0.505331f, 0.499605f, 0.472944f, 0.425203f, 0.361839f, 0.292961f, 0.226591f, 0.165529f, 0.110752f, 0.064158f, 0.026873f, -0.002586f, -0.027283f, -0.050301f, -0.074568f, -0.102794f, -0.136426f, -0.174543f, -0.213824f, -0.249920f, -0.279603f, -0.302272f, -0.319692f, -0.334393f, -0.347809f, -0.358600f, -0.361817f, -0.350205f, -0.317616f, -0.261906f, -0.185247f, -0.092969f, 0.007045f, 0.104879f, 0.190432f, 0.255872f, - 0.297100f, 0.314390f, 0.312581f, 0.299610f, 0.283349f, 0.269653f, 0.262979f, 0.266740f, 0.281862f, 0.306365f, 0.337110f, 0.369991f, 0.397544f, 0.408784f, 0.393056f, 0.342920f, 0.253936f, 0.125604f, -0.035892f, -0.218368f, -0.407961f, -0.590892f, -0.752239f, -0.877499f, -0.956409f, -0.982915f, -0.952586f, -0.863813f, -0.720987f, -0.533454f, -0.312498f, -0.071910f, 0.171049f, 0.399293f, 0.599797f, 0.762809f, 0.880702f, 0.950183f, 0.972884f, 0.951927f, 0.890214f, 0.792224f, 0.663786f, 0.509824f, 0.335460f, 0.148522f, -0.042097f, -0.228597f, -0.401857f, -0.550339f, -0.664707f, -0.739759f, -0.770184f, -0.751394f, -0.686776f, -0.584706f, -0.445967f, -0.269185f, -0.078301f, 0.070423f, 0.128885f, 0.103757f, 0.049358f, 0.011607f} - }, - { - {-0.080276f, -0.311417f, -0.607640f, -0.791927f, -0.800857f, -0.760608f, -0.739148f, -0.646209f, -0.447092f, -0.280447f, -0.279295f, -0.423068f, -0.622336f, -0.804161f, -0.867594f, -0.710767f, -0.374205f, -0.036779f, 0.187292f, 0.339906f, 0.474434f, 0.550962f, 0.537943f, 0.503393f, 0.524522f, 0.587272f, 0.644960f, 0.705979f, 0.790728f, 0.855477f, 0.834725f, 0.730307f, 0.593843f, 0.437574f, 0.224869f, -0.047825f, -0.311841f, -0.490861f, -0.575373f, -0.611964f, -0.639917f, -0.664189f, -0.679158f, -0.686945f, -0.685661f, -0.661531f, -0.605064f, -0.523507f, -0.428999f, -0.324606f, -0.209719f, -0.090298f, 0.024311f, 0.128844f, 0.221046f, 0.298789f, 0.362618f, 0.416158f, 0.460462f, 0.491627f, 0.505331f, 0.499605f, 0.472944f, 0.425203f, 0.361839f, 0.292961f, 0.226591f, 0.165529f, 0.110752f, 0.064158f, 0.026873f, -0.002586f, -0.027283f, -0.050301f, -0.074568f, -0.102794f, -0.136426f, -0.174543f, -0.213824f, -0.249920f, -0.279603f, -0.302272f, -0.319692f, -0.334393f, -0.347809f, -0.358600f, -0.361817f, -0.350205f, -0.317616f, -0.261906f, -0.185247f, -0.092969f, 0.007045f, 0.104879f, 0.190432f, 0.255872f, - 0.297100f, 0.314390f, 0.312581f, 0.299610f, 0.283349f, 0.269653f, 0.262979f, 0.266740f, 0.281862f, 0.306365f, 0.337110f, 0.369991f, 0.397544f, 0.408784f, 0.393056f, 0.342920f, 0.253936f, 0.125604f, -0.035892f, -0.218368f, -0.407961f, -0.590892f, -0.752239f, -0.877499f, -0.956409f, -0.982915f, -0.952586f, -0.863813f, -0.720987f, -0.533454f, -0.312498f, -0.071910f, 0.171049f, 0.399293f, 0.599797f, 0.762809f, 0.880702f, 0.950183f, 0.972884f, 0.951927f, 0.890214f, 0.792224f, 0.663786f, 0.509824f, 0.335460f, 0.148522f, -0.042097f, -0.228597f, -0.401857f, -0.550339f, -0.664707f, -0.739759f, -0.770184f, -0.751394f, -0.686776f, -0.584706f, -0.445967f, -0.269185f, -0.078301f, 0.070423f, 0.128885f, 0.103757f, 0.049358f, 0.011607f}, - {0.022597f, 0.065202f, 0.094800f, 0.087222f, 0.028863f, -0.033215f, -0.025115f, 0.029670f, 0.010871f, -0.094080f, -0.093395f, 0.164837f, 0.534054f, 0.723953f, 0.668586f, 0.562550f, 0.547018f, 0.547467f, 0.451265f, 0.273050f, 0.076100f, -0.133607f, -0.347652f, -0.484095f, -0.465506f, -0.320173f, -0.144456f, 0.002459f, 0.124086f, 0.236901f, 0.334318f, 0.388275f, 0.365496f, 0.251083f, 0.066984f, -0.139501f, -0.329262f, -0.490031f, -0.628003f, -0.750861f, -0.856460f, -0.932287f, -0.968749f, -0.973950f, -0.969671f, -0.973735f, -0.992918f, -1.028350f, -1.076088f, -1.123879f, -1.158091f, -1.174678f, -1.178288f, -1.174093f, -1.165759f, -1.157129f, -1.151037f, -1.149567f, -1.156736f, -1.175982f, -1.205151f, -1.239655f, -1.278806f, -1.322162f, -1.361620f, -1.384066f, -1.380279f, -1.346908f, -1.284430f, -1.199139f, -1.103249f, -1.007963f, -0.918939f, -0.839828f, -0.774659f, -0.724527f, -0.686467f, -0.656634f, -0.631187f, -0.605488f, -0.576739f, -0.545772f, -0.513340f, -0.478002f, -0.440201f, -0.403792f, -0.371197f, -0.342018f, -0.317969f, -0.303696f, -0.301471f, -0.309948f, -0.328028f, -0.355049f, -0.388060f, -0.423148f, - -0.457901f, -0.489672f, -0.514648f, -0.531085f, -0.539738f, -0.540079f, -0.530837f, -0.514091f, -0.493133f, -0.467135f, -0.433667f, -0.394405f, -0.352537f, -0.307676f, -0.258996f, -0.209516f, -0.162264f, -0.116664f, -0.072404f, -0.031550f, 0.005591f, 0.040704f, 0.072658f, 0.098740f, 0.119709f, 0.136856f, 0.146623f, 0.145056f, 0.133481f, 0.112977f, 0.078684f, 0.025978f, -0.044059f, -0.130730f, -0.238118f, -0.369115f, -0.521997f, -0.694951f, -0.886933f, -1.093940f, -1.310375f, -1.531202f, -1.748254f, -1.951169f, -2.135588f, -2.301024f, -2.440136f, -2.544008f, -2.616201f, -2.664228f, -2.682466f, -2.663745f, -2.617014f, -2.550432f, -2.454397f, -2.322601f, -2.151953f, -1.890105f, -1.449852f, -0.850895f, -0.291398f, 0.021597f, 0.081084f, 0.031473f} - }, - { - {0.021336f, 0.022839f, -0.073302f, -0.217195f, -0.247984f, -0.104075f, 0.014239f, -0.112545f, -0.344615f, -0.293672f, 0.139315f, 0.578646f, 0.643404f, 0.405511f, 0.222872f, 0.260763f, 0.361987f, 0.319901f, 0.107580f, -0.158487f, -0.355870f, -0.427989f, -0.389853f, -0.297927f, -0.198578f, -0.103336f, -0.016535f, 0.036571f, 0.024244f, -0.066294f, -0.225146f, -0.422394f, -0.612111f, -0.757578f, -0.858245f, -0.933908f, -0.983839f, -0.983826f, -0.924185f, -0.829851f, -0.740362f, -0.685366f, -0.677873f, -0.713138f, -0.770012f, -0.824820f, -0.868218f, -0.904879f, -0.939349f, -0.967949f, -0.983081f, -0.981192f, -0.966416f, -0.947112f, -0.928422f, -0.909876f, -0.890814f, -0.873490f, -0.857977f, -0.838957f, -0.811865f, -0.778815f, -0.745042f, -0.712396f, -0.678987f, -0.642950f, -0.604773f, -0.567091f, -0.532266f, -0.499479f, -0.465735f, -0.430492f, -0.396831f, -0.367428f, -0.342441f, -0.321661f, -0.305164f, -0.291646f, -0.279605f, -0.269981f, -0.264614f, -0.263048f, -0.263497f, -0.265405f, -0.268988f, -0.274537f, -0.283634f, -0.298307f, -0.318291f, -0.342181f, -0.370706f, -0.404808f, -0.441384f, -0.474914f, -0.501713f, -0.518854f, - -0.521982f, -0.508767f, -0.481950f, -0.445493f, -0.400843f, -0.349459f, -0.294957f, -0.240473f, -0.187566f, -0.138571f, -0.096275f, -0.061952f, -0.037779f, -0.029269f, -0.041199f, -0.074110f, -0.128361f, -0.206759f, -0.309186f, -0.430094f, -0.565083f, -0.714033f, -0.874899f, -1.041263f, -1.208909f, -1.378424f, -1.549363f, -1.717858f, -1.880821f, -2.037000f, -2.183716f, -2.316614f, -2.431612f, -2.525085f, -2.595175f, -2.643617f, -2.672077f, -2.678363f, -2.662123f, -2.630131f, -2.587965f, -2.532325f, -2.460515f, -2.378974f, -2.291916f, -2.192016f, -2.073566f, -1.942343f, -1.801293f, -1.641629f, -1.459200f, -1.262257f, -1.053445f, -0.825148f, -0.579571f, -0.325028f, -0.046466f, 0.276154f, 0.595944f, 0.788105f, 0.756992f, 0.541774f, 0.282133f, 0.080550f}, - {0.021336f, 0.022839f, -0.073302f, -0.217195f, -0.247984f, -0.104075f, 0.014239f, -0.112545f, -0.344615f, -0.293672f, 0.139315f, 0.578646f, 0.643404f, 0.405511f, 0.222872f, 0.260763f, 0.361987f, 0.319901f, 0.107580f, -0.158487f, -0.355870f, -0.427989f, -0.389853f, -0.297927f, -0.198578f, -0.103336f, -0.016535f, 0.036571f, 0.024244f, -0.066294f, -0.225146f, -0.422394f, -0.612111f, -0.757578f, -0.858245f, -0.933908f, -0.983839f, -0.983826f, -0.924185f, -0.829851f, -0.740362f, -0.685366f, -0.677873f, -0.713138f, -0.770012f, -0.824820f, -0.868218f, -0.904879f, -0.939349f, -0.967949f, -0.983081f, -0.981192f, -0.966416f, -0.947112f, -0.928422f, -0.909876f, -0.890814f, -0.873490f, -0.857977f, -0.838957f, -0.811865f, -0.778815f, -0.745042f, -0.712396f, -0.678987f, -0.642950f, -0.604773f, -0.567091f, -0.532266f, -0.499479f, -0.465735f, -0.430492f, -0.396831f, -0.367428f, -0.342441f, -0.321661f, -0.305164f, -0.291646f, -0.279605f, -0.269981f, -0.264614f, -0.263048f, -0.263497f, -0.265405f, -0.268988f, -0.274537f, -0.283634f, -0.298307f, -0.318291f, -0.342181f, -0.370706f, -0.404808f, -0.441384f, -0.474914f, -0.501713f, -0.518854f, - -0.521982f, -0.508767f, -0.481950f, -0.445493f, -0.400843f, -0.349459f, -0.294957f, -0.240473f, -0.187566f, -0.138571f, -0.096275f, -0.061952f, -0.037779f, -0.029269f, -0.041199f, -0.074110f, -0.128361f, -0.206759f, -0.309186f, -0.430094f, -0.565083f, -0.714033f, -0.874899f, -1.041263f, -1.208909f, -1.378424f, -1.549363f, -1.717858f, -1.880821f, -2.037000f, -2.183716f, -2.316614f, -2.431612f, -2.525085f, -2.595175f, -2.643617f, -2.672077f, -2.678363f, -2.662123f, -2.630131f, -2.587965f, -2.532325f, -2.460515f, -2.378974f, -2.291916f, -2.192016f, -2.073566f, -1.942343f, -1.801293f, -1.641629f, -1.459200f, -1.262257f, -1.053445f, -0.825148f, -0.579571f, -0.325028f, -0.046466f, 0.276154f, 0.595944f, 0.788105f, 0.756992f, 0.541774f, 0.282133f, 0.080550f} - }, - { - {0.012018f, 0.066586f, 0.152639f, 0.207071f, 0.209717f, 0.178456f, 0.085121f, -0.092155f, -0.264863f, -0.327430f, -0.327666f, -0.395977f, -0.530744f, -0.609862f, -0.598708f, -0.587572f, -0.623204f, -0.652992f, -0.647573f, -0.644111f, -0.649663f, -0.617816f, -0.540898f, -0.469537f, -0.429175f, -0.400620f, -0.385308f, -0.408445f, -0.453223f, -0.464516f, -0.424417f, -0.365930f, -0.311545f, -0.251073f, -0.180010f, -0.112919f, -0.056366f, -0.004630f, 0.037141f, 0.053534f, 0.041699f, 0.013687f, -0.019541f, -0.051027f, -0.071574f, -0.074580f, -0.063254f, -0.045955f, -0.030239f, -0.025174f, -0.041237f, -0.083221f, -0.147899f, -0.228711f, -0.317157f, -0.401610f, -0.472141f, -0.526510f, -0.567243f, -0.595153f, -0.609617f, -0.611851f, -0.603354f, -0.583289f, -0.550511f, -0.506187f, -0.452584f, -0.391616f, -0.325856f, -0.258757f, -0.192849f, -0.129124f, -0.068038f, -0.009425f, 0.048121f, 0.106115f, 0.164670f, 0.223043f, 0.280807f, 0.337215f, 0.389845f, 0.434804f, 0.468298f, 0.487689f, 0.490882f, 0.474753f, 0.434821f, 0.367002f, 0.268928f, 0.138992f, -0.023741f, -0.216176f, -0.429032f, -0.650898f, -0.873502f, -1.090516f, - -1.293455f, -1.473572f, -1.627329f, -1.755674f, -1.858280f, -1.933078f, -1.981344f, -2.007913f, -2.014974f, -1.999942f, -1.960994f, -1.900865f, -1.823692f, -1.732040f, -1.629346f, -1.522206f, -1.417380f, -1.317914f, -1.223887f, -1.135589f, -1.054380f, -0.981265f, -0.916122f, -0.858499f, -0.808619f, -0.767042f, -0.733071f, -0.704146f, -0.677737f, -0.653344f, -0.631604f, -0.612382f, -0.595471f, -0.582461f, -0.575952f, -0.577320f, -0.586697f, -0.604312f, -0.630361f, -0.664275f, -0.705000f, -0.751057f, -0.800298f, -0.851098f, -0.903010f, -0.954211f, -0.999996f, -1.036419f, -1.062657f, -1.076833f, -1.073963f, -1.051969f, -1.014117f, -0.961872f, -0.892965f, -0.807931f, -0.703595f, -0.557881f, -0.349467f, -0.110075f, 0.071803f, 0.131434f, 0.094014f, 0.030195f}, - {-0.169676f, -0.479045f, -0.687725f, -0.745490f, -0.686566f, -0.594240f, -0.494282f, -0.350297f, -0.167225f, -0.017915f, 0.055446f, 0.093690f, 0.144892f, 0.201511f, 0.248867f, 0.316763f, 0.432409f, 0.556198f, 0.607835f, 0.540635f, 0.367708f, 0.137640f, -0.092179f, -0.276530f, -0.400339f, -0.471378f, -0.492192f, -0.455690f, -0.371267f, -0.272288f, -0.186910f, -0.117137f, -0.053329f, 0.007761f, 0.067846f, 0.134100f, 0.208892f, 0.279839f, 0.327334f, 0.337226f, 0.304345f, 0.232251f, 0.134706f, 0.032552f, -0.055175f, -0.116728f, -0.147122f, -0.148098f, -0.129145f, -0.103722f, -0.081991f, -0.067689f, -0.060332f, -0.057605f, -0.056281f, -0.053648f, -0.048905f, -0.042789f, -0.036484f, -0.031173f, -0.027357f, -0.023751f, -0.017402f, -0.004993f, 0.016436f, 0.049010f, 0.092097f, 0.140251f, 0.183980f, 0.213061f, 0.219488f, 0.199132f, 0.152883f, 0.086666f, 0.009291f, -0.070535f, -0.145803f, -0.211193f, -0.262456f, -0.295515f, -0.305654f, -0.287987f, -0.239522f, -0.161484f, -0.060555f, 0.051276f, 0.158521f, 0.245765f, 0.301610f, 0.320874f, 0.304470f, 0.258046f, 0.190303f, 0.111202f, 0.030420f, -0.043586f, - -0.104149f, -0.146895f, -0.170006f, -0.174138f, -0.162254f, -0.139224f, -0.110752f, -0.081894f, -0.056123f, -0.035216f, -0.019427f, -0.007720f, 0.001684f, 0.010659f, 0.020891f, 0.033788f, 0.050134f, 0.069595f, 0.090510f, 0.110004f, 0.124360f, 0.129820f, 0.123661f, 0.104987f, 0.074856f, 0.035992f, -0.007782f, -0.052315f, -0.093778f, -0.128870f, -0.154804f, -0.169387f, -0.171057f, -0.158834f, -0.132551f, -0.093363f, -0.044033f, 0.011189f, 0.066780f, 0.116375f, 0.153882f, 0.174846f, 0.177241f, 0.161682f, 0.131436f, 0.091780f, 0.048485f, 0.006475f, -0.030495f, -0.059949f, -0.081115f, -0.094605f, -0.101136f, -0.101084f, -0.095319f, -0.084867f, -0.069049f, -0.046151f, -0.018205f, 0.006293f, 0.017960f, 0.015621f, 0.007434f, 0.001653f} - }, - { - {-0.169676f, -0.479045f, -0.687725f, -0.745490f, -0.686566f, -0.594240f, -0.494282f, -0.350297f, -0.167225f, -0.017915f, 0.055446f, 0.093690f, 0.144892f, 0.201511f, 0.248867f, 0.316763f, 0.432409f, 0.556198f, 0.607835f, 0.540635f, 0.367708f, 0.137640f, -0.092179f, -0.276530f, -0.400339f, -0.471378f, -0.492192f, -0.455690f, -0.371267f, -0.272288f, -0.186910f, -0.117137f, -0.053329f, 0.007761f, 0.067846f, 0.134100f, 0.208892f, 0.279839f, 0.327334f, 0.337226f, 0.304345f, 0.232251f, 0.134706f, 0.032552f, -0.055175f, -0.116728f, -0.147122f, -0.148098f, -0.129145f, -0.103722f, -0.081991f, -0.067689f, -0.060332f, -0.057605f, -0.056281f, -0.053648f, -0.048905f, -0.042789f, -0.036484f, -0.031173f, -0.027357f, -0.023751f, -0.017402f, -0.004993f, 0.016436f, 0.049010f, 0.092097f, 0.140251f, 0.183980f, 0.213061f, 0.219488f, 0.199132f, 0.152883f, 0.086666f, 0.009291f, -0.070535f, -0.145803f, -0.211193f, -0.262456f, -0.295515f, -0.305654f, -0.287987f, -0.239522f, -0.161484f, -0.060555f, 0.051276f, 0.158521f, 0.245765f, 0.301610f, 0.320874f, 0.304470f, 0.258046f, 0.190303f, 0.111202f, 0.030420f, -0.043586f, - -0.104149f, -0.146895f, -0.170006f, -0.174138f, -0.162254f, -0.139224f, -0.110752f, -0.081894f, -0.056123f, -0.035216f, -0.019427f, -0.007720f, 0.001684f, 0.010659f, 0.020891f, 0.033788f, 0.050134f, 0.069595f, 0.090510f, 0.110004f, 0.124360f, 0.129820f, 0.123661f, 0.104987f, 0.074856f, 0.035992f, -0.007782f, -0.052315f, -0.093778f, -0.128870f, -0.154804f, -0.169387f, -0.171057f, -0.158834f, -0.132551f, -0.093363f, -0.044033f, 0.011189f, 0.066780f, 0.116375f, 0.153882f, 0.174846f, 0.177241f, 0.161682f, 0.131436f, 0.091780f, 0.048485f, 0.006475f, -0.030495f, -0.059949f, -0.081115f, -0.094605f, -0.101136f, -0.101084f, -0.095319f, -0.084867f, -0.069049f, -0.046151f, -0.018205f, 0.006293f, 0.017960f, 0.015621f, 0.007434f, 0.001653f}, - {0.012018f, 0.066586f, 0.152639f, 0.207071f, 0.209717f, 0.178456f, 0.085121f, -0.092155f, -0.264863f, -0.327430f, -0.327666f, -0.395977f, -0.530744f, -0.609862f, -0.598708f, -0.587572f, -0.623204f, -0.652992f, -0.647573f, -0.644111f, -0.649663f, -0.617816f, -0.540898f, -0.469537f, -0.429175f, -0.400620f, -0.385308f, -0.408445f, -0.453223f, -0.464516f, -0.424417f, -0.365930f, -0.311545f, -0.251073f, -0.180010f, -0.112919f, -0.056366f, -0.004630f, 0.037141f, 0.053534f, 0.041699f, 0.013687f, -0.019541f, -0.051027f, -0.071574f, -0.074580f, -0.063254f, -0.045955f, -0.030239f, -0.025174f, -0.041237f, -0.083221f, -0.147899f, -0.228711f, -0.317157f, -0.401610f, -0.472141f, -0.526510f, -0.567243f, -0.595153f, -0.609617f, -0.611851f, -0.603354f, -0.583289f, -0.550511f, -0.506187f, -0.452584f, -0.391616f, -0.325856f, -0.258757f, -0.192849f, -0.129124f, -0.068038f, -0.009425f, 0.048121f, 0.106115f, 0.164670f, 0.223043f, 0.280807f, 0.337215f, 0.389845f, 0.434804f, 0.468298f, 0.487689f, 0.490882f, 0.474753f, 0.434821f, 0.367002f, 0.268928f, 0.138992f, -0.023741f, -0.216176f, -0.429032f, -0.650898f, -0.873502f, -1.090516f, - -1.293455f, -1.473572f, -1.627329f, -1.755674f, -1.858280f, -1.933078f, -1.981344f, -2.007913f, -2.014974f, -1.999942f, -1.960994f, -1.900865f, -1.823692f, -1.732040f, -1.629346f, -1.522206f, -1.417380f, -1.317914f, -1.223887f, -1.135589f, -1.054380f, -0.981265f, -0.916122f, -0.858499f, -0.808619f, -0.767042f, -0.733071f, -0.704146f, -0.677737f, -0.653344f, -0.631604f, -0.612382f, -0.595471f, -0.582461f, -0.575952f, -0.577320f, -0.586697f, -0.604312f, -0.630361f, -0.664275f, -0.705000f, -0.751057f, -0.800298f, -0.851098f, -0.903010f, -0.954211f, -0.999996f, -1.036419f, -1.062657f, -1.076833f, -1.073963f, -1.051969f, -1.014117f, -0.961872f, -0.892965f, -0.807931f, -0.703595f, -0.557881f, -0.349467f, -0.110075f, 0.071803f, 0.131434f, 0.094014f, 0.030195f} - }, - { - {0.014752f, 0.080926f, 0.195425f, 0.277300f, 0.257363f, 0.156308f, 0.028839f, -0.113396f, -0.267755f, -0.377434f, -0.386960f, -0.342896f, -0.348502f, -0.414148f, -0.444149f, -0.392144f, -0.334551f, -0.346055f, -0.388264f, -0.385314f, -0.342243f, -0.315364f, -0.312098f, -0.294136f, -0.253677f, -0.220820f, -0.205998f, -0.186961f, -0.150236f, -0.108165f, -0.075965f, -0.057714f, -0.051787f, -0.050962f, -0.041140f, -0.013561f, 0.025666f, 0.064669f, 0.096591f, 0.117146f, 0.121878f, 0.111088f, 0.089713f, 0.059784f, 0.020022f, -0.026868f, -0.073943f, -0.117183f, -0.157438f, -0.196739f, -0.237459f, -0.283107f, -0.335948f, -0.395266f, -0.459191f, -0.525388f, -0.589979f, -0.649670f, -0.704454f, -0.754602f, -0.796966f, -0.828420f, -0.850237f, -0.864670f, -0.870324f, -0.865150f, -0.850447f, -0.827593f, -0.794208f, -0.747439f, -0.688089f, -0.618815f, -0.541545f, -0.458906f, -0.375037f, -0.293293f, -0.215404f, -0.143040f, -0.077588f, -0.019000f, 0.032484f, 0.074585f, 0.105344f, 0.125342f, 0.134906f, 0.131058f, 0.109800f, 0.069531f, 0.009669f, -0.072345f, -0.179941f, -0.313863f, -0.471475f, -0.649282f, -0.844479f, -1.053119f, - -1.267745f, -1.479091f, -1.680773f, -1.869994f, -2.042752f, -2.192065f, -2.313426f, -2.408035f, -2.477146f, -2.517248f, -2.525139f, -2.503743f, -2.457948f, -2.388501f, -2.295477f, -2.184628f, -2.064830f, -1.941431f, -1.816649f, -1.694232f, -1.579181f, -1.473891f, -1.377781f, -1.290140f, -1.211493f, -1.142683f, -1.083511f, -1.032207f, -0.986607f, -0.945898f, -0.909860f, -0.876620f, -0.843723f, -0.811646f, -0.783525f, -0.761406f, -0.745602f, -0.737373f, -0.739078f, -0.751862f, -0.775439f, -0.809243f, -0.852230f, -0.903080f, -0.961061f, -1.024309f, -1.088143f, -1.148390f, -1.204010f, -1.252283f, -1.285794f, -1.299183f, -1.292421f, -1.262728f, -1.203108f, -1.111036f, -0.979245f, -0.776277f, -0.476453f, -0.132899f, 0.122319f, 0.197804f, 0.136024f, 0.042576f}, - {-0.227014f, -0.610850f, -0.818539f, -0.827111f, -0.686892f, -0.457083f, -0.160737f, 0.181068f, 0.492015f, 0.663276f, 0.645507f, 0.491632f, 0.296608f, 0.115861f, -0.045963f, -0.190352f, -0.298137f, -0.347915f, -0.342680f, -0.305031f, -0.248092f, -0.163336f, -0.044330f, 0.087170f, 0.193410f, 0.255410f, 0.280175f, 0.274955f, 0.233799f, 0.155072f, 0.055541f, -0.042288f, -0.126009f, -0.190037f, -0.227316f, -0.232179f, -0.205012f, -0.149836f, -0.073712f, 0.009179f, 0.080908f, 0.131368f, 0.161850f, 0.176172f, 0.173910f, 0.153080f, 0.113644f, 0.057229f, -0.011649f, -0.082819f, -0.142538f, -0.179500f, -0.187713f, -0.166032f, -0.118858f, -0.056688f, 0.007437f, 0.063054f, 0.104150f, 0.128571f, 0.137667f, 0.134993f, 0.123166f, 0.101911f, 0.069333f, 0.024214f, -0.032551f, -0.096504f, -0.158282f, -0.204364f, -0.220307f, -0.195023f, -0.125423f, -0.020573f, 0.097777f, 0.200718f, 0.261787f, 0.265935f, 0.214220f, 0.122551f, 0.014966f, -0.085028f, -0.160356f, -0.201834f, -0.207055f, -0.178791f, -0.123669f, -0.051497f, 0.025035f, 0.091764f, 0.136407f, 0.152155f, 0.139214f, 0.103923f, 0.056479f, 0.007941f, - -0.032731f, -0.060404f, -0.073774f, -0.074412f, -0.065640f, -0.051337f, -0.034892f, -0.018694f, -0.004139f, 0.008287f, 0.018799f, 0.027833f, 0.035535f, 0.041544f, 0.044915f, 0.044175f, 0.037797f, 0.025105f, 0.006966f, -0.014167f, -0.034676f, -0.050526f, -0.058290f, -0.056172f, -0.044497f, -0.025572f, -0.003149f, 0.018446f, 0.035422f, 0.045432f, 0.047837f, 0.043411f, 0.033825f, 0.021117f, 0.007200f, -0.006372f, -0.018366f, -0.027745f, -0.033669f, -0.035551f, -0.033093f, -0.026384f, -0.016086f, -0.003488f, 0.009653f, 0.021402f, 0.029923f, 0.033831f, 0.032600f, 0.026745f, 0.017574f, 0.006768f, -0.003896f, -0.012818f, -0.019007f, -0.022208f, -0.022305f, -0.018895f, -0.012232f, -0.004535f, 0.000825f, 0.002230f, 0.001220f, 0.000243f} - }, - { - {-0.227014f, -0.610850f, -0.818539f, -0.827111f, -0.686892f, -0.457083f, -0.160737f, 0.181068f, 0.492015f, 0.663276f, 0.645507f, 0.491632f, 0.296608f, 0.115861f, -0.045963f, -0.190352f, -0.298137f, -0.347915f, -0.342680f, -0.305031f, -0.248092f, -0.163336f, -0.044330f, 0.087170f, 0.193410f, 0.255410f, 0.280175f, 0.274955f, 0.233799f, 0.155072f, 0.055541f, -0.042288f, -0.126009f, -0.190037f, -0.227316f, -0.232179f, -0.205012f, -0.149836f, -0.073712f, 0.009179f, 0.080908f, 0.131368f, 0.161850f, 0.176172f, 0.173910f, 0.153080f, 0.113644f, 0.057229f, -0.011649f, -0.082819f, -0.142538f, -0.179500f, -0.187713f, -0.166032f, -0.118858f, -0.056688f, 0.007437f, 0.063054f, 0.104150f, 0.128571f, 0.137667f, 0.134993f, 0.123166f, 0.101911f, 0.069333f, 0.024214f, -0.032551f, -0.096504f, -0.158282f, -0.204364f, -0.220307f, -0.195023f, -0.125423f, -0.020573f, 0.097777f, 0.200718f, 0.261787f, 0.265935f, 0.214220f, 0.122551f, 0.014966f, -0.085028f, -0.160356f, -0.201834f, -0.207055f, -0.178791f, -0.123669f, -0.051497f, 0.025035f, 0.091764f, 0.136407f, 0.152155f, 0.139214f, 0.103923f, 0.056479f, 0.007941f, - -0.032731f, -0.060404f, -0.073774f, -0.074412f, -0.065640f, -0.051337f, -0.034892f, -0.018694f, -0.004139f, 0.008287f, 0.018799f, 0.027833f, 0.035535f, 0.041544f, 0.044915f, 0.044175f, 0.037797f, 0.025105f, 0.006966f, -0.014167f, -0.034676f, -0.050526f, -0.058290f, -0.056172f, -0.044497f, -0.025572f, -0.003149f, 0.018446f, 0.035422f, 0.045432f, 0.047837f, 0.043411f, 0.033825f, 0.021117f, 0.007200f, -0.006372f, -0.018366f, -0.027745f, -0.033669f, -0.035551f, -0.033093f, -0.026384f, -0.016086f, -0.003488f, 0.009653f, 0.021402f, 0.029923f, 0.033831f, 0.032600f, 0.026745f, 0.017574f, 0.006768f, -0.003896f, -0.012818f, -0.019007f, -0.022208f, -0.022305f, -0.018895f, -0.012232f, -0.004535f, 0.000825f, 0.002230f, 0.001220f, 0.000243f}, - {0.014752f, 0.080926f, 0.195425f, 0.277300f, 0.257363f, 0.156308f, 0.028839f, -0.113396f, -0.267755f, -0.377434f, -0.386960f, -0.342896f, -0.348502f, -0.414148f, -0.444149f, -0.392144f, -0.334551f, -0.346055f, -0.388264f, -0.385314f, -0.342243f, -0.315364f, -0.312098f, -0.294136f, -0.253677f, -0.220820f, -0.205998f, -0.186961f, -0.150236f, -0.108165f, -0.075965f, -0.057714f, -0.051787f, -0.050962f, -0.041140f, -0.013561f, 0.025666f, 0.064669f, 0.096591f, 0.117146f, 0.121878f, 0.111088f, 0.089713f, 0.059784f, 0.020022f, -0.026868f, -0.073943f, -0.117183f, -0.157438f, -0.196739f, -0.237459f, -0.283107f, -0.335948f, -0.395266f, -0.459191f, -0.525388f, -0.589979f, -0.649670f, -0.704454f, -0.754602f, -0.796966f, -0.828420f, -0.850237f, -0.864670f, -0.870324f, -0.865150f, -0.850447f, -0.827593f, -0.794208f, -0.747439f, -0.688089f, -0.618815f, -0.541545f, -0.458906f, -0.375037f, -0.293293f, -0.215404f, -0.143040f, -0.077588f, -0.019000f, 0.032484f, 0.074585f, 0.105344f, 0.125342f, 0.134906f, 0.131058f, 0.109800f, 0.069531f, 0.009669f, -0.072345f, -0.179941f, -0.313863f, -0.471475f, -0.649282f, -0.844479f, -1.053119f, - -1.267745f, -1.479091f, -1.680773f, -1.869994f, -2.042752f, -2.192065f, -2.313426f, -2.408035f, -2.477146f, -2.517248f, -2.525139f, -2.503743f, -2.457948f, -2.388501f, -2.295477f, -2.184628f, -2.064830f, -1.941431f, -1.816649f, -1.694232f, -1.579181f, -1.473891f, -1.377781f, -1.290140f, -1.211493f, -1.142683f, -1.083511f, -1.032207f, -0.986607f, -0.945898f, -0.909860f, -0.876620f, -0.843723f, -0.811646f, -0.783525f, -0.761406f, -0.745602f, -0.737373f, -0.739078f, -0.751862f, -0.775439f, -0.809243f, -0.852230f, -0.903080f, -0.961061f, -1.024309f, -1.088143f, -1.148390f, -1.204010f, -1.252283f, -1.285794f, -1.299183f, -1.292421f, -1.262728f, -1.203108f, -1.111036f, -0.979245f, -0.776277f, -0.476453f, -0.132899f, 0.122319f, 0.197804f, 0.136024f, 0.042576f} - }, - { - {0.043211f, 0.114663f, 0.178350f, 0.255737f, 0.285888f, 0.179104f, -0.023247f, -0.173997f, -0.226462f, -0.279044f, -0.376950f, -0.415326f, -0.314791f, -0.166534f, -0.101737f, -0.111875f, -0.106297f, -0.075928f, -0.083496f, -0.132151f, -0.157295f, -0.141147f, -0.141935f, -0.197377f, -0.268166f, -0.295822f, -0.268965f, -0.216058f, -0.166730f, -0.133269f, -0.106523f, -0.062428f, 0.009773f, 0.084069f, 0.118826f, 0.100756f, 0.052619f, 0.000385f, -0.049019f, -0.097030f, -0.139136f, -0.169026f, -0.187831f, -0.203308f, -0.223852f, -0.255186f, -0.299437f, -0.356144f, -0.425306f, -0.507990f, -0.602347f, -0.701452f, -0.797320f, -0.885133f, -0.962214f, -1.026134f, -1.076805f, -1.118706f, -1.158479f, -1.200974f, -1.248680f, -1.303141f, -1.364299f, -1.428256f, -1.487099f, -1.531700f, -1.554756f, -1.551648f, -1.520065f, -1.460625f, -1.377882f, -1.278869f, -1.169561f, -1.053641f, -0.934981f, -0.819203f, -0.711302f, -0.613088f, -0.524413f, -0.445870f, -0.379143f, -0.325887f, -0.287530f, -0.265472f, -0.260511f, -0.272174f, -0.298377f, -0.335361f, -0.379247f, -0.429275f, -0.488690f, -0.561273f, -0.648741f, -0.753109f, -0.878725f, -1.028425f, - -1.199267f, -1.385196f, -1.581978f, -1.785517f, -1.986815f, -2.173455f, -2.336281f, -2.471087f, -2.574200f, -2.641158f, -2.671370f, -2.670549f, -2.646120f, -2.602190f, -2.540998f, -2.466998f, -2.385837f, -2.299472f, -2.205584f, -2.102795f, -1.993617f, -1.880860f, -1.764387f, -1.644251f, -1.524566f, -1.410674f, -1.304067f, -1.203483f, -1.109515f, -1.024333f, -0.947806f, -0.877724f, -0.813643f, -0.757572f, -0.711183f, -0.674763f, -0.648343f, -0.631942f, -0.625338f, -0.628602f, -0.641609f, -0.662782f, -0.690486f, -0.725337f, -0.767997f, -0.815397f, -0.862958f, -0.909125f, -0.952637f, -0.987183f, -1.004998f, -1.003395f, -0.980880f, -0.931098f, -0.849216f, -0.736166f, -0.582560f, -0.362530f, -0.077132f, 0.196027f, 0.339834f, 0.309726f, 0.180471f, 0.053468f}, - {-0.250917f, -0.661339f, -0.861207f, -0.846902f, -0.664218f, -0.342690f, 0.076900f, 0.488755f, 0.753334f, 0.794704f, 0.644706f, 0.387716f, 0.087130f, -0.222361f, -0.495635f, -0.664747f, -0.675285f, -0.525652f, -0.265718f, 0.036337f, 0.319974f, 0.533170f, 0.627765f, 0.573427f, 0.381921f, 0.110243f, -0.167021f, -0.388733f, -0.515836f, -0.526623f, -0.420050f, -0.223739f, 0.011644f, 0.230655f, 0.386504f, 0.446212f, 0.398682f, 0.263741f, 0.086103f, -0.086723f, -0.222001f, -0.302073f, -0.318070f, -0.270296f, -0.171952f, -0.046899f, 0.077676f, 0.177097f, 0.232660f, 0.235704f, 0.190877f, 0.114233f, 0.026162f, -0.055573f, -0.118508f, -0.154916f, -0.161542f, -0.140412f, -0.098426f, -0.044790f, 0.011487f, 0.062292f, 0.100710f, 0.122257f, 0.125625f, 0.111599f, 0.081676f, 0.038064f, -0.015568f, -0.073246f, -0.125374f, -0.158379f, -0.158510f, -0.119317f, -0.047174f, 0.039659f, 0.117388f, 0.164783f, 0.170354f, 0.136110f, 0.075525f, 0.006572f, -0.055527f, -0.101705f, -0.128258f, -0.134141f, -0.118811f, -0.082220f, -0.026999f, 0.038902f, 0.101566f, 0.144045f, 0.152550f, 0.123025f, 0.063907f, -0.007177f, - -0.070685f, -0.111988f, -0.124827f, -0.111060f, -0.077909f, -0.034563f, 0.010220f, 0.049241f, 0.077443f, 0.092064f, 0.092106f, 0.077698f, 0.050246f, 0.012985f, -0.028844f, -0.068172f, -0.096572f, -0.105925f, -0.091461f, -0.054444f, -0.002780f, 0.050639f, 0.091484f, 0.108787f, 0.098953f, 0.066563f, 0.021850f, -0.023112f, -0.057935f, -0.076466f, -0.077535f, -0.063771f, -0.039868f, -0.011391f, 0.016269f, 0.038948f, 0.053942f, 0.059572f, 0.055230f, 0.041838f, 0.021689f, -0.002057f, -0.025436f, -0.043993f, -0.054036f, -0.053641f, -0.042616f, -0.022580f, 0.002601f, 0.027618f, 0.047483f, 0.058276f, 0.057322f, 0.044558f, 0.023331f, -0.001451f, -0.024710f, -0.039879f, -0.040348f, -0.026668f, -0.009522f, -0.000100f, 0.000909f, 0.000035f} - }, - { - {-0.250917f, -0.661339f, -0.861207f, -0.846902f, -0.664218f, -0.342690f, 0.076900f, 0.488755f, 0.753334f, 0.794704f, 0.644706f, 0.387716f, 0.087130f, -0.222361f, -0.495635f, -0.664747f, -0.675285f, -0.525652f, -0.265718f, 0.036337f, 0.319974f, 0.533170f, 0.627765f, 0.573427f, 0.381921f, 0.110243f, -0.167021f, -0.388733f, -0.515836f, -0.526623f, -0.420050f, -0.223739f, 0.011644f, 0.230655f, 0.386504f, 0.446212f, 0.398682f, 0.263741f, 0.086103f, -0.086723f, -0.222001f, -0.302073f, -0.318070f, -0.270296f, -0.171952f, -0.046899f, 0.077676f, 0.177097f, 0.232660f, 0.235704f, 0.190877f, 0.114233f, 0.026162f, -0.055573f, -0.118508f, -0.154916f, -0.161542f, -0.140412f, -0.098426f, -0.044790f, 0.011487f, 0.062292f, 0.100710f, 0.122257f, 0.125625f, 0.111599f, 0.081676f, 0.038064f, -0.015568f, -0.073246f, -0.125374f, -0.158379f, -0.158510f, -0.119317f, -0.047174f, 0.039659f, 0.117388f, 0.164783f, 0.170354f, 0.136110f, 0.075525f, 0.006572f, -0.055527f, -0.101705f, -0.128258f, -0.134141f, -0.118811f, -0.082220f, -0.026999f, 0.038902f, 0.101566f, 0.144045f, 0.152550f, 0.123025f, 0.063907f, -0.007177f, - -0.070685f, -0.111988f, -0.124827f, -0.111060f, -0.077909f, -0.034563f, 0.010220f, 0.049241f, 0.077443f, 0.092064f, 0.092106f, 0.077698f, 0.050246f, 0.012985f, -0.028844f, -0.068172f, -0.096572f, -0.105925f, -0.091461f, -0.054444f, -0.002780f, 0.050639f, 0.091484f, 0.108787f, 0.098953f, 0.066563f, 0.021850f, -0.023112f, -0.057935f, -0.076466f, -0.077535f, -0.063771f, -0.039868f, -0.011391f, 0.016269f, 0.038948f, 0.053942f, 0.059572f, 0.055230f, 0.041838f, 0.021689f, -0.002057f, -0.025436f, -0.043993f, -0.054036f, -0.053641f, -0.042616f, -0.022580f, 0.002601f, 0.027618f, 0.047483f, 0.058276f, 0.057322f, 0.044558f, 0.023331f, -0.001451f, -0.024710f, -0.039879f, -0.040348f, -0.026668f, -0.009522f, -0.000100f, 0.000909f, 0.000035f}, - {0.043211f, 0.114663f, 0.178350f, 0.255737f, 0.285888f, 0.179104f, -0.023247f, -0.173997f, -0.226462f, -0.279044f, -0.376950f, -0.415326f, -0.314791f, -0.166534f, -0.101737f, -0.111875f, -0.106297f, -0.075928f, -0.083496f, -0.132151f, -0.157295f, -0.141147f, -0.141935f, -0.197377f, -0.268166f, -0.295822f, -0.268965f, -0.216058f, -0.166730f, -0.133269f, -0.106523f, -0.062428f, 0.009773f, 0.084069f, 0.118826f, 0.100756f, 0.052619f, 0.000385f, -0.049019f, -0.097030f, -0.139136f, -0.169026f, -0.187831f, -0.203308f, -0.223852f, -0.255186f, -0.299437f, -0.356144f, -0.425306f, -0.507990f, -0.602347f, -0.701452f, -0.797320f, -0.885133f, -0.962214f, -1.026134f, -1.076805f, -1.118706f, -1.158479f, -1.200974f, -1.248680f, -1.303141f, -1.364299f, -1.428256f, -1.487099f, -1.531700f, -1.554756f, -1.551648f, -1.520065f, -1.460625f, -1.377882f, -1.278869f, -1.169561f, -1.053641f, -0.934981f, -0.819203f, -0.711302f, -0.613088f, -0.524413f, -0.445870f, -0.379143f, -0.325887f, -0.287530f, -0.265472f, -0.260511f, -0.272174f, -0.298377f, -0.335361f, -0.379247f, -0.429275f, -0.488690f, -0.561273f, -0.648741f, -0.753109f, -0.878725f, -1.028425f, - -1.199267f, -1.385196f, -1.581978f, -1.785517f, -1.986815f, -2.173455f, -2.336281f, -2.471087f, -2.574200f, -2.641158f, -2.671370f, -2.670549f, -2.646120f, -2.602190f, -2.540998f, -2.466998f, -2.385837f, -2.299472f, -2.205584f, -2.102795f, -1.993617f, -1.880860f, -1.764387f, -1.644251f, -1.524566f, -1.410674f, -1.304067f, -1.203483f, -1.109515f, -1.024333f, -0.947806f, -0.877724f, -0.813643f, -0.757572f, -0.711183f, -0.674763f, -0.648343f, -0.631942f, -0.625338f, -0.628602f, -0.641609f, -0.662782f, -0.690486f, -0.725337f, -0.767997f, -0.815397f, -0.862958f, -0.909125f, -0.952637f, -0.987183f, -1.004998f, -1.003395f, -0.980880f, -0.931098f, -0.849216f, -0.736166f, -0.582560f, -0.362530f, -0.077132f, 0.196027f, 0.339834f, 0.309726f, 0.180471f, 0.053468f} - }, - { - {-0.007685f, -0.027507f, -0.054095f, -0.077744f, -0.087310f, -0.078964f, -0.038795f, 0.069420f, 0.257031f, 0.450295f, 0.530050f, 0.449733f, 0.272335f, 0.084500f, -0.069538f, -0.161822f, -0.164288f, -0.090752f, 0.002325f, 0.083182f, 0.160693f, 0.220174f, 0.210093f, 0.117413f, -0.002015f, -0.090343f, -0.133503f, -0.129881f, -0.074554f, 0.006798f, 0.062262f, 0.070660f, 0.051397f, 0.011062f, -0.071757f, -0.199300f, -0.336804f, -0.453472f, -0.547094f, -0.622722f, -0.679122f, -0.721601f, -0.761966f, -0.801674f, -0.833087f, -0.855441f, -0.874451f, -0.891846f, -0.908530f, -0.930458f, -0.959812f, -0.988680f, -1.010943f, -1.031888f, -1.058899f, -1.091801f, -1.128278f, -1.169543f, -1.214950f, -1.258511f, -1.295477f, -1.327242f, -1.357589f, -1.388759f, -1.422413f, -1.460583f, -1.504259f, -1.552224f, -1.600690f, -1.643955f, -1.677490f, -1.700431f, -1.713026f, -1.713123f, -1.698577f, -1.671550f, -1.636224f, -1.593323f, -1.540916f, -1.479604f, -1.412906f, -1.343349f, -1.272152f, -1.202419f, -1.138827f, -1.083544f, -1.035142f, -0.992009f, -0.954485f, -0.922860f, -0.895223f, -0.868589f, -0.841261f, -0.813242f, -0.784990f, -0.756664f, - -0.728377f, -0.700591f, -0.673949f, -0.648504f, -0.623136f, -0.596307f, -0.567494f, -0.537004f, -0.504339f, -0.468321f, -0.429292f, -0.389390f, -0.350011f, -0.310984f, -0.272863f, -0.237613f, -0.206211f, -0.177918f, -0.152490f, -0.130688f, -0.112365f, -0.096494f, -0.082923f, -0.071818f, -0.062192f, -0.053302f, -0.046074f, -0.041079f, -0.037253f, -0.034551f, -0.035132f, -0.040283f, -0.049461f, -0.063497f, -0.084978f, -0.114685f, -0.151385f, -0.194815f, -0.244968f, -0.299672f, -0.356620f, -0.415455f, -0.474774f, -0.531119f, -0.583532f, -0.633601f, -0.679431f, -0.716947f, -0.747534f, -0.775310f, -0.798076f, -0.811775f, -0.820314f, -0.828412f, -0.831431f, -0.825479f, -0.812449f, -0.774419f, -0.665729f, -0.468389f, -0.242150f, -0.078143f, -0.008766f, 0.002106f}, - {-0.129968f, -0.372393f, -0.578340f, -0.729002f, -0.764205f, -0.635435f, -0.410779f, -0.258243f, -0.301569f, -0.524734f, -0.804408f, -0.990576f, -0.983187f, -0.802264f, -0.583745f, -0.457595f, -0.435905f, -0.450492f, -0.458378f, -0.450407f, -0.393789f, -0.250404f, -0.049285f, 0.124891f, 0.223524f, 0.271404f, 0.315417f, 0.378570f, 0.464787f, 0.569578f, 0.675212f, 0.756468f, 0.797347f, 0.794880f, 0.754800f, 0.694127f, 0.637483f, 0.597643f, 0.564937f, 0.521985f, 0.461410f, 0.385881f, 0.301177f, 0.214129f, 0.129669f, 0.046526f, -0.039231f, -0.126876f, -0.212405f, -0.294795f, -0.375289f, -0.453145f, -0.526688f, -0.595041f, -0.654835f, -0.699235f, -0.723697f, -0.729022f, -0.716770f, -0.686317f, -0.638153f, -0.575500f, -0.501166f, -0.416714f, -0.325202f, -0.230531f, -0.133598f, -0.032773f, 0.071477f, 0.175093f, 0.273102f, 0.361324f, 0.436332f, 0.496419f, 0.542408f, 0.575872f, 0.596821f, 0.603979f, 0.596576f, 0.575075f, 0.540663f, 0.494625f, 0.438152f, 0.372876f, 0.301611f, 0.228007f, 0.155318f, 0.085985f, 0.022006f, -0.035375f, -0.086123f, -0.130408f, -0.167443f, -0.196380f, -0.217766f, -0.232828f, - -0.241945f, -0.245120f, -0.243300f, -0.237878f, -0.229559f, -0.218937f, -0.207509f, -0.196911f, -0.187682f, -0.179723f, -0.173313f, -0.168740f, -0.165527f, -0.162849f, -0.160290f, -0.157612f, -0.154177f, -0.148993f, -0.141009f, -0.129167f, -0.112488f, -0.090258f, -0.062070f, -0.027942f, 0.011466f, 0.055164f, 0.102457f, 0.152703f, 0.204508f, 0.256025f, 0.305953f, 0.353184f, 0.395721f, 0.431341f, 0.459153f, 0.478929f, 0.489277f, 0.488292f, 0.475516f, 0.451198f, 0.414350f, 0.363901f, 0.300928f, 0.227294f, 0.143319f, 0.049531f, -0.050798f, -0.153561f, -0.256130f, -0.355063f, -0.444423f, -0.519082f, -0.576123f, -0.611242f, -0.619307f, -0.598890f, -0.546613f, -0.447912f, -0.293914f, -0.116818f, 0.014790f, 0.058050f, 0.038715f, 0.010517f} - }, - { - {-0.129968f, -0.372393f, -0.578340f, -0.729002f, -0.764205f, -0.635435f, -0.410779f, -0.258243f, -0.301569f, -0.524734f, -0.804408f, -0.990576f, -0.983187f, -0.802264f, -0.583745f, -0.457595f, -0.435905f, -0.450492f, -0.458378f, -0.450407f, -0.393789f, -0.250404f, -0.049285f, 0.124891f, 0.223524f, 0.271404f, 0.315417f, 0.378570f, 0.464787f, 0.569578f, 0.675212f, 0.756468f, 0.797347f, 0.794880f, 0.754800f, 0.694127f, 0.637483f, 0.597643f, 0.564937f, 0.521985f, 0.461410f, 0.385881f, 0.301177f, 0.214129f, 0.129669f, 0.046526f, -0.039231f, -0.126876f, -0.212405f, -0.294795f, -0.375289f, -0.453145f, -0.526688f, -0.595041f, -0.654835f, -0.699235f, -0.723697f, -0.729022f, -0.716770f, -0.686317f, -0.638153f, -0.575500f, -0.501166f, -0.416714f, -0.325202f, -0.230531f, -0.133598f, -0.032773f, 0.071477f, 0.175093f, 0.273102f, 0.361324f, 0.436332f, 0.496419f, 0.542408f, 0.575872f, 0.596821f, 0.603979f, 0.596576f, 0.575075f, 0.540663f, 0.494625f, 0.438152f, 0.372876f, 0.301611f, 0.228007f, 0.155318f, 0.085985f, 0.022006f, -0.035375f, -0.086123f, -0.130408f, -0.167443f, -0.196380f, -0.217766f, -0.232828f, - -0.241945f, -0.245120f, -0.243300f, -0.237878f, -0.229559f, -0.218937f, -0.207509f, -0.196911f, -0.187682f, -0.179723f, -0.173313f, -0.168740f, -0.165527f, -0.162849f, -0.160290f, -0.157612f, -0.154177f, -0.148993f, -0.141009f, -0.129167f, -0.112488f, -0.090258f, -0.062070f, -0.027942f, 0.011466f, 0.055164f, 0.102457f, 0.152703f, 0.204508f, 0.256025f, 0.305953f, 0.353184f, 0.395721f, 0.431341f, 0.459153f, 0.478929f, 0.489277f, 0.488292f, 0.475516f, 0.451198f, 0.414350f, 0.363901f, 0.300928f, 0.227294f, 0.143319f, 0.049531f, -0.050798f, -0.153561f, -0.256130f, -0.355063f, -0.444423f, -0.519082f, -0.576123f, -0.611242f, -0.619307f, -0.598890f, -0.546613f, -0.447912f, -0.293914f, -0.116818f, 0.014790f, 0.058050f, 0.038715f, 0.010517f}, - {-0.007685f, -0.027507f, -0.054095f, -0.077744f, -0.087310f, -0.078964f, -0.038795f, 0.069420f, 0.257031f, 0.450295f, 0.530050f, 0.449733f, 0.272335f, 0.084500f, -0.069538f, -0.161822f, -0.164288f, -0.090752f, 0.002325f, 0.083182f, 0.160693f, 0.220174f, 0.210093f, 0.117413f, -0.002015f, -0.090343f, -0.133503f, -0.129881f, -0.074554f, 0.006798f, 0.062262f, 0.070660f, 0.051397f, 0.011062f, -0.071757f, -0.199300f, -0.336804f, -0.453472f, -0.547094f, -0.622722f, -0.679122f, -0.721601f, -0.761966f, -0.801674f, -0.833087f, -0.855441f, -0.874451f, -0.891846f, -0.908530f, -0.930458f, -0.959812f, -0.988680f, -1.010943f, -1.031888f, -1.058899f, -1.091801f, -1.128278f, -1.169543f, -1.214950f, -1.258511f, -1.295477f, -1.327242f, -1.357589f, -1.388759f, -1.422413f, -1.460583f, -1.504259f, -1.552224f, -1.600690f, -1.643955f, -1.677490f, -1.700431f, -1.713026f, -1.713123f, -1.698577f, -1.671550f, -1.636224f, -1.593323f, -1.540916f, -1.479604f, -1.412906f, -1.343349f, -1.272152f, -1.202419f, -1.138827f, -1.083544f, -1.035142f, -0.992009f, -0.954485f, -0.922860f, -0.895223f, -0.868589f, -0.841261f, -0.813242f, -0.784990f, -0.756664f, - -0.728377f, -0.700591f, -0.673949f, -0.648504f, -0.623136f, -0.596307f, -0.567494f, -0.537004f, -0.504339f, -0.468321f, -0.429292f, -0.389390f, -0.350011f, -0.310984f, -0.272863f, -0.237613f, -0.206211f, -0.177918f, -0.152490f, -0.130688f, -0.112365f, -0.096494f, -0.082923f, -0.071818f, -0.062192f, -0.053302f, -0.046074f, -0.041079f, -0.037253f, -0.034551f, -0.035132f, -0.040283f, -0.049461f, -0.063497f, -0.084978f, -0.114685f, -0.151385f, -0.194815f, -0.244968f, -0.299672f, -0.356620f, -0.415455f, -0.474774f, -0.531119f, -0.583532f, -0.633601f, -0.679431f, -0.716947f, -0.747534f, -0.775310f, -0.798076f, -0.811775f, -0.820314f, -0.828412f, -0.831431f, -0.825479f, -0.812449f, -0.774419f, -0.665729f, -0.468389f, -0.242150f, -0.078143f, -0.008766f, 0.002106f} - }, - { - {0.008569f, 0.036036f, 0.083803f, 0.119148f, 0.070548f, -0.078326f, -0.222894f, -0.243650f, -0.159814f, -0.090800f, -0.079375f, -0.056656f, 0.011482f, 0.052573f, -0.001498f, -0.119602f, -0.234866f, -0.335723f, -0.443207f, -0.546764f, -0.614586f, -0.641944f, -0.650393f, -0.653434f, -0.649185f, -0.636897f, -0.621833f, -0.608002f, -0.594814f, -0.577373f, -0.548943f, -0.509093f, -0.468031f, -0.436187f, -0.411762f, -0.384320f, -0.347210f, -0.301521f, -0.252453f, -0.207016f, -0.171531f, -0.147319f, -0.131387f, -0.122478f, -0.122706f, -0.133139f, -0.152285f, -0.178903f, -0.211845f, -0.246994f, -0.277923f, -0.299862f, -0.311486f, -0.314495f, -0.313374f, -0.313999f, -0.321093f, -0.338012f, -0.367937f, -0.412103f, -0.467256f, -0.527953f, -0.590760f, -0.653426f, -0.711811f, -0.761768f, -0.803336f, -0.839595f, -0.872213f, -0.901047f, -0.926960f, -0.951668f, -0.974952f, -0.994343f, -1.007533f, -1.013586f, -1.011948f, -1.001634f, -0.982097f, -0.954803f, -0.923350f, -0.891226f, -0.859546f, -0.827704f, -0.795383f, -0.762152f, -0.725674f, -0.682815f, -0.632889f, -0.578128f, -0.521168f, -0.463936f, -0.408686f, -0.358044f, -0.313851f, -0.277169f, - -0.249216f, -0.231562f, -0.226114f, -0.235302f, -0.261018f, -0.302923f, -0.359045f, -0.427912f, -0.508230f, -0.596814f, -0.689382f, -0.783568f, -0.878803f, -0.973138f, -1.062782f, -1.145182f, -1.220206f, -1.287561f, -1.345176f, -1.391256f, -1.426524f, -1.453153f, -1.472158f, -1.483234f, -1.487105f, -1.486427f, -1.483303f, -1.477082f, -1.466245f, -1.451366f, -1.433837f, -1.412447f, -1.384210f, -1.348415f, -1.306852f, -1.260094f, -1.206810f, -1.147202f, -1.084167f, -1.020388f, -0.956644f, -0.893519f, -0.832832f, -0.776711f, -0.726155f, -0.680677f, -0.639318f, -0.602179f, -0.570035f, -0.541815f, -0.514590f, -0.487168f, -0.460379f, -0.432551f, -0.399491f, -0.358843f, -0.305118f, -0.220990f, -0.093402f, 0.051282f, 0.149376f, 0.158777f, 0.102510f, 0.032573f}, - {-0.185559f, -0.533696f, -0.795174f, -0.893521f, -0.804685f, -0.602937f, -0.410524f, -0.289172f, -0.193916f, -0.044106f, 0.172466f, 0.382975f, 0.510029f, 0.545297f, 0.535692f, 0.515516f, 0.471783f, 0.372671f, 0.213104f, 0.026128f, -0.142895f, -0.267633f, -0.350549f, -0.407779f, -0.446543f, -0.457210f, -0.425690f, -0.349165f, -0.237230f, -0.102509f, 0.042736f, 0.181828f, 0.293938f, 0.363819f, 0.388959f, 0.375638f, 0.331364f, 0.263320f, 0.180641f, 0.093713f, 0.010848f, -0.063123f, -0.125901f, -0.176786f, -0.215972f, -0.243350f, -0.257838f, -0.258058f, -0.242990f, -0.211605f, -0.162734f, -0.096408f, -0.015762f, 0.072248f, 0.157999f, 0.231691f, 0.285687f, 0.315159f, 0.317146f, 0.289924f, 0.233942f, 0.153214f, 0.055517f, -0.048876f, -0.149035f, -0.235026f, -0.298865f, -0.334596f, -0.337970f, -0.306610f, -0.241101f, -0.146635f, -0.034068f, 0.080977f, 0.181425f, 0.253055f, 0.287741f, 0.284775f, 0.250380f, 0.195377f, 0.131392f, 0.067461f, 0.008841f, -0.042182f, -0.084996f, -0.119586f, -0.145618f, -0.161950f, -0.166889f, -0.158953f, -0.137777f, -0.104952f, -0.064224f, -0.020560f, 0.021350f, 0.058000f, - 0.087198f, 0.107952f, 0.120229f, 0.124423f, 0.120940f, 0.110209f, 0.092820f, 0.069478f, 0.041098f, 0.009121f, -0.024406f, -0.057046f, -0.086092f, -0.108691f, -0.122317f, -0.125322f, -0.117083f, -0.098008f, -0.069732f, -0.035104f, 0.002352f, 0.039025f, 0.071510f, 0.096953f, 0.113464f, 0.120114f, 0.116611f, 0.103273f, 0.081173f, 0.052018f, 0.018016f, -0.017906f, -0.052056f, -0.080561f, -0.100082f, -0.108258f, -0.104200f, -0.088962f, -0.065272f, -0.036665f, -0.006887f, 0.020495f, 0.042788f, 0.058666f, 0.067823f, 0.070539f, 0.067767f, 0.060956f, 0.051331f, 0.039723f, 0.027058f, 0.014228f, 0.001590f, -0.010580f, -0.021471f, -0.030400f, -0.037058f, -0.039808f, -0.035582f, -0.024114f, -0.010855f, -0.002418f, 0.000057f, 0.000072f} - }, - { - {-0.185559f, -0.533696f, -0.795174f, -0.893521f, -0.804685f, -0.602937f, -0.410524f, -0.289172f, -0.193916f, -0.044106f, 0.172466f, 0.382975f, 0.510029f, 0.545297f, 0.535692f, 0.515516f, 0.471783f, 0.372671f, 0.213104f, 0.026128f, -0.142895f, -0.267633f, -0.350549f, -0.407779f, -0.446543f, -0.457210f, -0.425690f, -0.349165f, -0.237230f, -0.102509f, 0.042736f, 0.181828f, 0.293938f, 0.363819f, 0.388959f, 0.375638f, 0.331364f, 0.263320f, 0.180641f, 0.093713f, 0.010848f, -0.063123f, -0.125901f, -0.176786f, -0.215972f, -0.243350f, -0.257838f, -0.258058f, -0.242990f, -0.211605f, -0.162734f, -0.096408f, -0.015762f, 0.072248f, 0.157999f, 0.231691f, 0.285687f, 0.315159f, 0.317146f, 0.289924f, 0.233942f, 0.153214f, 0.055517f, -0.048876f, -0.149035f, -0.235026f, -0.298865f, -0.334596f, -0.337970f, -0.306610f, -0.241101f, -0.146635f, -0.034068f, 0.080977f, 0.181425f, 0.253055f, 0.287741f, 0.284775f, 0.250380f, 0.195377f, 0.131392f, 0.067461f, 0.008841f, -0.042182f, -0.084996f, -0.119586f, -0.145618f, -0.161950f, -0.166889f, -0.158953f, -0.137777f, -0.104952f, -0.064224f, -0.020560f, 0.021350f, 0.058000f, - 0.087198f, 0.107952f, 0.120229f, 0.124423f, 0.120940f, 0.110209f, 0.092820f, 0.069478f, 0.041098f, 0.009121f, -0.024406f, -0.057046f, -0.086092f, -0.108691f, -0.122317f, -0.125322f, -0.117083f, -0.098008f, -0.069732f, -0.035104f, 0.002352f, 0.039025f, 0.071510f, 0.096953f, 0.113464f, 0.120114f, 0.116611f, 0.103273f, 0.081173f, 0.052018f, 0.018016f, -0.017906f, -0.052056f, -0.080561f, -0.100082f, -0.108258f, -0.104200f, -0.088962f, -0.065272f, -0.036665f, -0.006887f, 0.020495f, 0.042788f, 0.058666f, 0.067823f, 0.070539f, 0.067767f, 0.060956f, 0.051331f, 0.039723f, 0.027058f, 0.014228f, 0.001590f, -0.010580f, -0.021471f, -0.030400f, -0.037058f, -0.039808f, -0.035582f, -0.024114f, -0.010855f, -0.002418f, 0.000057f, 0.000072f}, - {0.008569f, 0.036036f, 0.083803f, 0.119148f, 0.070548f, -0.078326f, -0.222894f, -0.243650f, -0.159814f, -0.090800f, -0.079375f, -0.056656f, 0.011482f, 0.052573f, -0.001498f, -0.119602f, -0.234866f, -0.335723f, -0.443207f, -0.546764f, -0.614586f, -0.641944f, -0.650393f, -0.653434f, -0.649185f, -0.636897f, -0.621833f, -0.608002f, -0.594814f, -0.577373f, -0.548943f, -0.509093f, -0.468031f, -0.436187f, -0.411762f, -0.384320f, -0.347210f, -0.301521f, -0.252453f, -0.207016f, -0.171531f, -0.147319f, -0.131387f, -0.122478f, -0.122706f, -0.133139f, -0.152285f, -0.178903f, -0.211845f, -0.246994f, -0.277923f, -0.299862f, -0.311486f, -0.314495f, -0.313374f, -0.313999f, -0.321093f, -0.338012f, -0.367937f, -0.412103f, -0.467256f, -0.527953f, -0.590760f, -0.653426f, -0.711811f, -0.761768f, -0.803336f, -0.839595f, -0.872213f, -0.901047f, -0.926960f, -0.951668f, -0.974952f, -0.994343f, -1.007533f, -1.013586f, -1.011948f, -1.001634f, -0.982097f, -0.954803f, -0.923350f, -0.891226f, -0.859546f, -0.827704f, -0.795383f, -0.762152f, -0.725674f, -0.682815f, -0.632889f, -0.578128f, -0.521168f, -0.463936f, -0.408686f, -0.358044f, -0.313851f, -0.277169f, - -0.249216f, -0.231562f, -0.226114f, -0.235302f, -0.261018f, -0.302923f, -0.359045f, -0.427912f, -0.508230f, -0.596814f, -0.689382f, -0.783568f, -0.878803f, -0.973138f, -1.062782f, -1.145182f, -1.220206f, -1.287561f, -1.345176f, -1.391256f, -1.426524f, -1.453153f, -1.472158f, -1.483234f, -1.487105f, -1.486427f, -1.483303f, -1.477082f, -1.466245f, -1.451366f, -1.433837f, -1.412447f, -1.384210f, -1.348415f, -1.306852f, -1.260094f, -1.206810f, -1.147202f, -1.084167f, -1.020388f, -0.956644f, -0.893519f, -0.832832f, -0.776711f, -0.726155f, -0.680677f, -0.639318f, -0.602179f, -0.570035f, -0.541815f, -0.514590f, -0.487168f, -0.460379f, -0.432551f, -0.399491f, -0.358843f, -0.305118f, -0.220990f, -0.093402f, 0.051282f, 0.149376f, 0.158777f, 0.102510f, 0.032573f} - }, - { - {0.000818f, 0.017444f, 0.055261f, 0.075350f, 0.028576f, -0.084474f, -0.203267f, -0.269006f, -0.280096f, -0.268702f, -0.244047f, -0.193916f, -0.132682f, -0.106266f, -0.141353f, -0.220111f, -0.313836f, -0.412717f, -0.509637f, -0.582401f, -0.614704f, -0.620470f, -0.628348f, -0.649673f, -0.675138f, -0.695278f, -0.709877f, -0.720342f, -0.725172f, -0.724086f, -0.719270f, -0.711043f, -0.696324f, -0.671680f, -0.634992f, -0.584739f, -0.521369f, -0.450440f, -0.381867f, -0.324115f, -0.279763f, -0.247402f, -0.226194f, -0.216476f, -0.216704f, -0.222582f, -0.229987f, -0.237137f, -0.243538f, -0.248735f, -0.252984f, -0.257930f, -0.265977f, -0.279595f, -0.300835f, -0.330262f, -0.366467f, -0.407332f, -0.450975f, -0.494762f, -0.535151f, -0.570200f, -0.601049f, -0.629499f, -0.655394f, -0.677493f, -0.695060f, -0.706757f, -0.709441f, -0.699998f, -0.677852f, -0.644857f, -0.603934f, -0.558778f, -0.513757f, -0.472656f, -0.437355f, -0.407636f, -0.381795f, -0.357605f, -0.333418f, -0.308502f, -0.282455f, -0.254976f, -0.226350f, -0.197326f, -0.168302f, -0.139286f, -0.110657f, -0.083214f, -0.057592f, -0.034344f, -0.014464f, 0.000612f, 0.009079f, 0.008658f, - -0.002748f, -0.026081f, -0.061503f, -0.109231f, -0.168492f, -0.236158f, -0.308371f, -0.383343f, -0.460785f, -0.539319f, -0.616894f, -0.693318f, -0.769682f, -0.845181f, -0.916820f, -0.982312f, -1.041125f, -1.092420f, -1.134068f, -1.164515f, -1.184365f, -1.195293f, -1.198046f, -1.192412f, -1.179094f, -1.160558f, -1.139207f, -1.115521f, -1.089332f, -1.062057f, -1.035496f, -1.008900f, -0.979692f, -0.946885f, -0.911190f, -0.872108f, -0.828013f, -0.779273f, -0.728569f, -0.678022f, -0.628266f, -0.580141f, -0.535147f, -0.494398f, -0.458425f, -0.427379f, -0.400841f, -0.378568f, -0.361181f, -0.348470f, -0.338233f, -0.328932f, -0.321152f, -0.313945f, -0.303478f, -0.287185f, -0.261552f, -0.213238f, -0.127665f, -0.018184f, 0.068083f, 0.092632f, 0.064838f, 0.021246f}, - {-0.132893f, -0.397605f, -0.632845f, -0.770213f, -0.762671f, -0.657487f, -0.569283f, -0.556594f, -0.559219f, -0.491993f, -0.364307f, -0.253849f, -0.187137f, -0.112112f, 0.014136f, 0.171821f, 0.322049f, 0.450715f, 0.550492f, 0.602217f, 0.599573f, 0.565276f, 0.522546f, 0.469434f, 0.394977f, 0.302555f, 0.203283f, 0.099429f, -0.013047f, -0.132581f, -0.249813f, -0.352012f, -0.426880f, -0.468084f, -0.479268f, -0.468257f, -0.437536f, -0.385150f, -0.313695f, -0.232864f, -0.153248f, -0.081508f, -0.020528f, 0.029902f, 0.072671f, 0.111201f, 0.147960f, 0.185756f, 0.228084f, 0.275839f, 0.324544f, 0.365884f, 0.391073f, 0.393116f, 0.368911f, 0.321050f, 0.256310f, 0.181056f, 0.098444f, 0.009769f, -0.083153f, -0.177113f, -0.267162f, -0.346282f, -0.406698f, -0.442695f, -0.452288f, -0.436663f, -0.398947f, -0.343145f, -0.272690f, -0.189417f, -0.094678f, 0.008122f, 0.112328f, 0.209109f, 0.289473f, 0.346381f, 0.376791f, 0.382372f, 0.367753f, 0.337827f, 0.296648f, 0.247834f, 0.194626f, 0.139355f, 0.083528f, 0.028486f, -0.024521f, -0.074738f, -0.121823f, -0.165351f, -0.204687f, -0.239035f, -0.267045f, -0.286388f, - -0.294167f, -0.287997f, -0.266762f, -0.230689f, -0.181240f, -0.121082f, -0.053843f, 0.016500f, 0.086073f, 0.151052f, 0.207628f, 0.252510f, 0.283443f, 0.299057f, 0.298561f, 0.282101f, 0.251143f, 0.208046f, 0.155513f, 0.096805f, 0.035848f, -0.023629f, -0.078756f, -0.127050f, -0.166116f, -0.194424f, -0.211611f, -0.217549f, -0.211988f, -0.195487f, -0.169671f, -0.136297f, -0.097197f, -0.055217f, -0.013832f, 0.024328f, 0.057561f, 0.084189f, 0.103126f, 0.114971f, 0.121155f, 0.122583f, 0.120200f, 0.115693f, 0.110234f, 0.103651f, 0.095767f, 0.087016f, 0.077007f, 0.064469f, 0.049153f, 0.031743f, 0.012078f, -0.009949f, -0.032469f, -0.053467f, -0.072429f, -0.086119f, -0.086097f, -0.067552f, -0.038975f, -0.015688f, -0.004466f, -0.000879f} - }, - { - {-0.132893f, -0.397605f, -0.632845f, -0.770213f, -0.762671f, -0.657487f, -0.569283f, -0.556594f, -0.559219f, -0.491993f, -0.364307f, -0.253849f, -0.187137f, -0.112112f, 0.014136f, 0.171821f, 0.322049f, 0.450715f, 0.550492f, 0.602217f, 0.599573f, 0.565276f, 0.522546f, 0.469434f, 0.394977f, 0.302555f, 0.203283f, 0.099429f, -0.013047f, -0.132581f, -0.249813f, -0.352012f, -0.426880f, -0.468084f, -0.479268f, -0.468257f, -0.437536f, -0.385150f, -0.313695f, -0.232864f, -0.153248f, -0.081508f, -0.020528f, 0.029902f, 0.072671f, 0.111201f, 0.147960f, 0.185756f, 0.228084f, 0.275839f, 0.324544f, 0.365884f, 0.391073f, 0.393116f, 0.368911f, 0.321050f, 0.256310f, 0.181056f, 0.098444f, 0.009769f, -0.083153f, -0.177113f, -0.267162f, -0.346282f, -0.406698f, -0.442695f, -0.452288f, -0.436663f, -0.398947f, -0.343145f, -0.272690f, -0.189417f, -0.094678f, 0.008122f, 0.112328f, 0.209109f, 0.289473f, 0.346381f, 0.376791f, 0.382372f, 0.367753f, 0.337827f, 0.296648f, 0.247834f, 0.194626f, 0.139355f, 0.083528f, 0.028486f, -0.024521f, -0.074738f, -0.121823f, -0.165351f, -0.204687f, -0.239035f, -0.267045f, -0.286388f, - -0.294167f, -0.287997f, -0.266762f, -0.230689f, -0.181240f, -0.121082f, -0.053843f, 0.016500f, 0.086073f, 0.151052f, 0.207628f, 0.252510f, 0.283443f, 0.299057f, 0.298561f, 0.282101f, 0.251143f, 0.208046f, 0.155513f, 0.096805f, 0.035848f, -0.023629f, -0.078756f, -0.127050f, -0.166116f, -0.194424f, -0.211611f, -0.217549f, -0.211988f, -0.195487f, -0.169671f, -0.136297f, -0.097197f, -0.055217f, -0.013832f, 0.024328f, 0.057561f, 0.084189f, 0.103126f, 0.114971f, 0.121155f, 0.122583f, 0.120200f, 0.115693f, 0.110234f, 0.103651f, 0.095767f, 0.087016f, 0.077007f, 0.064469f, 0.049153f, 0.031743f, 0.012078f, -0.009949f, -0.032469f, -0.053467f, -0.072429f, -0.086119f, -0.086097f, -0.067552f, -0.038975f, -0.015688f, -0.004466f, -0.000879f}, - {0.000818f, 0.017444f, 0.055261f, 0.075350f, 0.028576f, -0.084474f, -0.203267f, -0.269006f, -0.280096f, -0.268702f, -0.244047f, -0.193916f, -0.132682f, -0.106266f, -0.141353f, -0.220111f, -0.313836f, -0.412717f, -0.509637f, -0.582401f, -0.614704f, -0.620470f, -0.628348f, -0.649673f, -0.675138f, -0.695278f, -0.709877f, -0.720342f, -0.725172f, -0.724086f, -0.719270f, -0.711043f, -0.696324f, -0.671680f, -0.634992f, -0.584739f, -0.521369f, -0.450440f, -0.381867f, -0.324115f, -0.279763f, -0.247402f, -0.226194f, -0.216476f, -0.216704f, -0.222582f, -0.229987f, -0.237137f, -0.243538f, -0.248735f, -0.252984f, -0.257930f, -0.265977f, -0.279595f, -0.300835f, -0.330262f, -0.366467f, -0.407332f, -0.450975f, -0.494762f, -0.535151f, -0.570200f, -0.601049f, -0.629499f, -0.655394f, -0.677493f, -0.695060f, -0.706757f, -0.709441f, -0.699998f, -0.677852f, -0.644857f, -0.603934f, -0.558778f, -0.513757f, -0.472656f, -0.437355f, -0.407636f, -0.381795f, -0.357605f, -0.333418f, -0.308502f, -0.282455f, -0.254976f, -0.226350f, -0.197326f, -0.168302f, -0.139286f, -0.110657f, -0.083214f, -0.057592f, -0.034344f, -0.014464f, 0.000612f, 0.009079f, 0.008658f, - -0.002748f, -0.026081f, -0.061503f, -0.109231f, -0.168492f, -0.236158f, -0.308371f, -0.383343f, -0.460785f, -0.539319f, -0.616894f, -0.693318f, -0.769682f, -0.845181f, -0.916820f, -0.982312f, -1.041125f, -1.092420f, -1.134068f, -1.164515f, -1.184365f, -1.195293f, -1.198046f, -1.192412f, -1.179094f, -1.160558f, -1.139207f, -1.115521f, -1.089332f, -1.062057f, -1.035496f, -1.008900f, -0.979692f, -0.946885f, -0.911190f, -0.872108f, -0.828013f, -0.779273f, -0.728569f, -0.678022f, -0.628266f, -0.580141f, -0.535147f, -0.494398f, -0.458425f, -0.427379f, -0.400841f, -0.378568f, -0.361181f, -0.348470f, -0.338233f, -0.328932f, -0.321152f, -0.313945f, -0.303478f, -0.287185f, -0.261552f, -0.213238f, -0.127665f, -0.018184f, 0.068083f, 0.092632f, 0.064838f, 0.021246f} - } -}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; - -/********************** Sample Rate = 16000 **********************/ - -const float CRendBin_Combined_HRIR_latency_s_16kHz = 0.000020833333110f; -const int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz = 1; -const uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; -const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; -const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz = 0; -const float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[15]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; -const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float CRendBin_Combined_HRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][80]={ - { - { 1.239183f, 1.256884f, 1.300573f, 1.362041f, 1.394364f, 1.354510f, 1.284249f, 1.277360f, 1.319933f, 1.260104f, 1.035831f, 0.841818f, 0.918943f, 1.228789f, 1.505938f, 1.615001f, 1.676409f, 1.821102f, 2.003314f, 2.120456f, 2.162423f, 2.149697f, 2.042953f, 1.819108f, 1.562774f, 1.392343f, 1.338502f, 1.354661f, 1.404734f, 1.489962f, 1.620994f, 1.801308f, 2.016368f, 2.220843f, 2.360726f, 2.418417f, 2.416549f, 2.381039f, 2.323273f, 2.248889f, 2.158818f, 2.050759f, 1.937222f, 1.846306f, 1.790643f, 1.755504f, 1.725726f, 1.698099f, 1.662521f, 1.603450f, 1.526080f, 1.451493f, 1.385684f, 1.321724f, 1.264611f, 1.223329f, 1.190008f, 1.155210f, 1.126054f, 1.104272f, 1.071790f, 1.020334f, 0.962879f, 0.897728f, 0.801926f, 0.675382f, 0.545582f, 0.420598f, 0.290433f, 0.173783f, 0.099765f, 0.050651f, -0.006501f, -0.051832f, -0.062025f, -0.095855f, -0.220501f, -0.379318f, -0.456547f, -0.451019f}, - { 0.976240f, 0.994260f, 0.876770f, 0.603987f, 0.342097f, 0.178057f, 0.025122f, -0.153833f, -0.238337f, -0.148669f, 0.014037f, 0.101818f, 0.056629f, -0.133626f, -0.461333f, -0.816719f, -1.019518f, -1.009183f, -0.897964f, -0.789252f, -0.663741f, -0.496239f, -0.354698f, -0.300607f, -0.288976f, -0.247649f, -0.178409f, -0.106503f, 0.000399f, 0.183189f, 0.407624f, 0.602115f, 0.750568f, 0.884249f, 0.996966f, 1.028551f, 0.941028f, 0.772393f, 0.598310f, 0.460945f, 0.351012f, 0.245637f, 0.138980f, 0.032720f, -0.080090f, -0.203879f, -0.325054f, -0.425206f, -0.502279f, -0.563310f, -0.605020f, -0.618514f, -0.605694f, -0.575144f, -0.529166f, -0.468635f, -0.401310f, -0.332120f, -0.255156f, -0.166385f, -0.072884f, 0.018825f, 0.108885f, 0.191215f, 0.251825f, 0.287375f, 0.308166f, 0.318458f, 0.313465f, 0.297736f, 0.283754f, 0.271359f, 0.252697f, 0.235107f, 0.229934f, 0.221035f, 0.178105f, 0.103282f, 0.033631f, -0.002717f} - }, - { - { 0.976240f, 0.994260f, 0.876770f, 0.603987f, 0.342097f, 0.178057f, 0.025122f, -0.153833f, -0.238337f, -0.148669f, 0.014037f, 0.101818f, 0.056629f, -0.133626f, -0.461333f, -0.816719f, -1.019518f, -1.009183f, -0.897964f, -0.789252f, -0.663741f, -0.496239f, -0.354698f, -0.300607f, -0.288976f, -0.247649f, -0.178409f, -0.106503f, 0.000399f, 0.183189f, 0.407624f, 0.602115f, 0.750568f, 0.884249f, 0.996966f, 1.028551f, 0.941028f, 0.772393f, 0.598310f, 0.460945f, 0.351012f, 0.245637f, 0.138980f, 0.032720f, -0.080090f, -0.203879f, -0.325054f, -0.425206f, -0.502279f, -0.563310f, -0.605020f, -0.618514f, -0.605694f, -0.575144f, -0.529166f, -0.468635f, -0.401310f, -0.332120f, -0.255156f, -0.166385f, -0.072884f, 0.018825f, 0.108885f, 0.191215f, 0.251825f, 0.287375f, 0.308166f, 0.318458f, 0.313465f, 0.297736f, 0.283754f, 0.271359f, 0.252697f, 0.235107f, 0.229934f, 0.221035f, 0.178105f, 0.103282f, 0.033631f, -0.002717f}, - { 1.239183f, 1.256884f, 1.300573f, 1.362041f, 1.394364f, 1.354510f, 1.284249f, 1.277360f, 1.319933f, 1.260104f, 1.035831f, 0.841818f, 0.918943f, 1.228789f, 1.505938f, 1.615001f, 1.676409f, 1.821102f, 2.003314f, 2.120456f, 2.162423f, 2.149697f, 2.042953f, 1.819108f, 1.562774f, 1.392343f, 1.338502f, 1.354661f, 1.404734f, 1.489962f, 1.620994f, 1.801308f, 2.016368f, 2.220843f, 2.360726f, 2.418417f, 2.416549f, 2.381039f, 2.323273f, 2.248889f, 2.158818f, 2.050759f, 1.937222f, 1.846306f, 1.790643f, 1.755504f, 1.725726f, 1.698099f, 1.662521f, 1.603450f, 1.526080f, 1.451493f, 1.385684f, 1.321724f, 1.264611f, 1.223329f, 1.190008f, 1.155210f, 1.126054f, 1.104272f, 1.071790f, 1.020334f, 0.962879f, 0.897728f, 0.801926f, 0.675382f, 0.545582f, 0.420598f, 0.290433f, 0.173783f, 0.099765f, 0.050651f, -0.006501f, -0.051832f, -0.062025f, -0.095855f, -0.220501f, -0.379318f, -0.456547f, -0.451019f} - }, - { - { 1.122002f, 1.187509f, 1.246713f, 1.186481f, 1.007012f, 0.901165f, 1.008728f, 1.141977f, 0.990263f, 0.601633f, 0.401412f, 0.648122f, 1.096958f, 1.338723f, 1.298435f, 1.232461f, 1.343043f, 1.571111f, 1.735520f, 1.734892f, 1.594568f, 1.403703f, 1.245465f, 1.156974f, 1.131157f, 1.152575f, 1.222042f, 1.343151f, 1.499436f, 1.653765f, 1.763643f, 1.798287f, 1.754626f, 1.659827f, 1.547259f, 1.427359f, 1.291280f, 1.143229f, 1.015463f, 0.943988f, 0.937070f, 0.973335f, 1.022309f, 1.058798f, 1.066678f, 1.044204f, 1.005034f, 0.962902f, 0.915965f, 0.855193f, 0.783640f, 0.714878f, 0.655748f, 0.603582f, 0.557141f, 0.517413f, 0.480665f, 0.442018f, 0.402043f, 0.361971f, 0.320178f, 0.279891f, 0.248672f, 0.224537f, 0.197411f, 0.168385f, 0.148883f, 0.138139f, 0.123963f, 0.107044f, 0.098600f, 0.095015f, 0.084669f, 0.075757f, 0.080895f, 0.078392f, 0.031664f, -0.052589f, -0.126934f, -0.162192f}, - { 1.122002f, 1.187509f, 1.246713f, 1.186481f, 1.007012f, 0.901165f, 1.008728f, 1.141977f, 0.990263f, 0.601633f, 0.401412f, 0.648122f, 1.096958f, 1.338723f, 1.298435f, 1.232461f, 1.343043f, 1.571111f, 1.735520f, 1.734892f, 1.594568f, 1.403703f, 1.245465f, 1.156974f, 1.131157f, 1.152575f, 1.222042f, 1.343151f, 1.499436f, 1.653765f, 1.763643f, 1.798287f, 1.754626f, 1.659827f, 1.547259f, 1.427359f, 1.291280f, 1.143229f, 1.015463f, 0.943988f, 0.937070f, 0.973335f, 1.022309f, 1.058798f, 1.066678f, 1.044204f, 1.005034f, 0.962902f, 0.915965f, 0.855193f, 0.783640f, 0.714878f, 0.655748f, 0.603582f, 0.557141f, 0.517413f, 0.480665f, 0.442018f, 0.402043f, 0.361971f, 0.320178f, 0.279891f, 0.248672f, 0.224537f, 0.197411f, 0.168385f, 0.148883f, 0.138139f, 0.123963f, 0.107044f, 0.098600f, 0.095015f, 0.084669f, 0.075757f, 0.080895f, 0.078392f, 0.031664f, -0.052589f, -0.126934f, -0.162192f} - }, - { - { 1.032458f, 1.019232f, 1.055503f, 1.152346f, 1.264895f, 1.383916f, 1.512110f, 1.580287f, 1.524747f, 1.420851f, 1.394704f, 1.425779f, 1.386971f, 1.260446f, 1.155939f, 1.120555f, 1.085289f, 1.009371f, 0.935215f, 0.881823f, 0.810096f, 0.716819f, 0.656194f, 0.648528f, 0.657128f, 0.664016f, 0.684330f, 0.701881f, 0.671714f, 0.594887f, 0.522873f, 0.483118f, 0.457983f, 0.436517f, 0.432787f, 0.451700f, 0.481548f, 0.521185f, 0.579543f, 0.650119f, 0.713051f, 0.757998f, 0.785521f, 0.795209f, 0.789636f, 0.781137f, 0.782151f, 0.796868f, 0.827388f, 0.875753f, 0.935530f, 0.992686f, 1.036578f, 1.061213f, 1.059833f, 1.030025f, 0.980163f, 0.920722f, 0.854362f, 0.781629f, 0.707493f, 0.634976f, 0.561728f, 0.488448f, 0.420947f, 0.361366f, 0.308394f, 0.265774f, 0.238195f, 0.221960f, 0.212568f, 0.214004f, 0.226821f, 0.241055f, 0.257494f, 0.292604f, 0.336204f, 0.334653f, 0.260903f, 0.178438f}, - { 0.889328f, 0.746996f, 0.488378f, 0.194430f, -0.042359f, -0.205117f, -0.340122f, -0.454284f, -0.495140f, -0.447770f, -0.377268f, -0.341727f, -0.325720f, -0.297022f, -0.268715f, -0.254946f, -0.211569f, -0.078288f, 0.140726f, 0.376638f, 0.557395f, 0.642762f, 0.624635f, 0.526071f, 0.387689f, 0.235666f, 0.075552f, -0.077664f, -0.191603f, -0.251078f, -0.275106f, -0.287280f, -0.292024f, -0.288334f, -0.281437f, -0.269025f, -0.235621f, -0.170355f, -0.077550f, 0.031117f, 0.140203f, 0.228000f, 0.275992f, 0.281213f, 0.251542f, 0.196072f, 0.128119f, 0.066628f, 0.023837f, -0.001236f, -0.013179f, -0.014941f, -0.013424f, -0.016640f, -0.023836f, -0.029784f, -0.035699f, -0.044247f, -0.050866f, -0.052722f, -0.056962f, -0.068512f, -0.081828f, -0.094138f, -0.110312f, -0.126037f, -0.125656f, -0.103544f, -0.066475f, -0.013511f, 0.059218f, 0.135030f, 0.189944f, 0.225062f, 0.249597f, 0.241962f, 0.175370f, 0.075689f, 0.002323f, -0.024232f} - }, - { - { 0.889328f, 0.746996f, 0.488378f, 0.194430f, -0.042359f, -0.205117f, -0.340122f, -0.454284f, -0.495140f, -0.447770f, -0.377268f, -0.341727f, -0.325720f, -0.297022f, -0.268715f, -0.254946f, -0.211569f, -0.078288f, 0.140726f, 0.376638f, 0.557395f, 0.642762f, 0.624635f, 0.526071f, 0.387689f, 0.235666f, 0.075552f, -0.077664f, -0.191603f, -0.251078f, -0.275106f, -0.287280f, -0.292024f, -0.288334f, -0.281437f, -0.269025f, -0.235621f, -0.170355f, -0.077550f, 0.031117f, 0.140203f, 0.228000f, 0.275992f, 0.281213f, 0.251542f, 0.196072f, 0.128119f, 0.066628f, 0.023837f, -0.001236f, -0.013179f, -0.014941f, -0.013424f, -0.016640f, -0.023836f, -0.029784f, -0.035699f, -0.044247f, -0.050866f, -0.052722f, -0.056962f, -0.068512f, -0.081828f, -0.094138f, -0.110312f, -0.126037f, -0.125656f, -0.103544f, -0.066475f, -0.013511f, 0.059218f, 0.135030f, 0.189944f, 0.225062f, 0.249597f, 0.241962f, 0.175370f, 0.075689f, 0.002323f, -0.024232f}, - { 1.032458f, 1.019232f, 1.055503f, 1.152346f, 1.264895f, 1.383916f, 1.512110f, 1.580287f, 1.524747f, 1.420851f, 1.394704f, 1.425779f, 1.386971f, 1.260446f, 1.155939f, 1.120555f, 1.085289f, 1.009371f, 0.935215f, 0.881823f, 0.810096f, 0.716819f, 0.656194f, 0.648528f, 0.657128f, 0.664016f, 0.684330f, 0.701881f, 0.671714f, 0.594887f, 0.522873f, 0.483118f, 0.457983f, 0.436517f, 0.432787f, 0.451700f, 0.481548f, 0.521185f, 0.579543f, 0.650119f, 0.713051f, 0.757998f, 0.785521f, 0.795209f, 0.789636f, 0.781137f, 0.782151f, 0.796868f, 0.827388f, 0.875753f, 0.935530f, 0.992686f, 1.036578f, 1.061213f, 1.059833f, 1.030025f, 0.980163f, 0.920722f, 0.854362f, 0.781629f, 0.707493f, 0.634976f, 0.561728f, 0.488448f, 0.420947f, 0.361366f, 0.308394f, 0.265774f, 0.238195f, 0.221960f, 0.212568f, 0.214004f, 0.226821f, 0.241055f, 0.257494f, 0.292604f, 0.336204f, 0.334653f, 0.260903f, 0.178438f} - }, - { - { 1.158112f, 1.137057f, 1.174613f, 1.308407f, 1.475864f, 1.598510f, 1.664862f, 1.690093f, 1.651597f, 1.534827f, 1.406784f, 1.355852f, 1.365578f, 1.335480f, 1.236605f, 1.155816f, 1.155572f, 1.178545f, 1.145617f, 1.074884f, 1.034046f, 1.028410f, 1.011514f, 0.974296f, 0.951351f, 0.952791f, 0.951270f, 0.934033f, 0.920539f, 0.926929f, 0.947425f, 0.971010f, 0.990610f, 0.998330f, 0.992556f, 0.986782f, 0.996893f, 1.025270f, 1.066679f, 1.119066f, 1.178909f, 1.237203f, 1.288894f, 1.336531f, 1.379512f, 1.411025f, 1.429533f, 1.442089f, 1.453763f, 1.464108f, 1.474121f, 1.485855f, 1.495586f, 1.496799f, 1.487971f, 1.469903f, 1.440331f, 1.398591f, 1.349095f, 1.293717f, 1.228938f, 1.155645f, 1.081269f, 1.007672f, 0.929250f, 0.846598f, 0.767662f, 0.692536f, 0.613816f, 0.534651f, 0.467779f, 0.414464f, 0.365611f, 0.326004f, 0.311159f, 0.311495f, 0.285175f, 0.203678f, 0.091850f, 0.011559f}, - { 0.901656f, 0.675975f, 0.308472f, -0.078196f, -0.395054f, -0.619898f, -0.749461f, -0.745121f, -0.567593f, -0.256959f, 0.067459f, 0.299340f, 0.414342f, 0.446852f, 0.428396f, 0.363898f, 0.253318f, 0.116508f, -0.013083f, -0.117898f, -0.206372f, -0.284180f, -0.329308f, -0.314412f, -0.244304f, -0.149614f, -0.050276f, 0.051936f, 0.149545f, 0.222247f, 0.255380f, 0.249297f, 0.210511f, 0.146069f, 0.065487f, -0.020890f, -0.103702f, -0.170940f, -0.208945f, -0.211820f, -0.185220f, -0.139572f, -0.084250f, -0.026357f, 0.031102f, 0.087784f, 0.138807f, 0.173470f, 0.183734f, 0.167784f, 0.125449f, 0.059969f, -0.015648f, -0.084348f, -0.136303f, -0.166828f, -0.170290f, -0.147307f, -0.109984f, -0.069086f, -0.025167f, 0.020371f, 0.060146f, 0.093657f, 0.127308f, 0.156007f, 0.164553f, 0.148834f, 0.112994f, 0.050508f, -0.042163f, -0.140492f, -0.212717f, -0.251404f, -0.249732f, -0.178192f, -0.041065f, 0.077068f, 0.097809f, 0.059914f} - }, - { - { 0.901656f, 0.675975f, 0.308472f, -0.078196f, -0.395054f, -0.619898f, -0.749461f, -0.745121f, -0.567593f, -0.256959f, 0.067459f, 0.299340f, 0.414342f, 0.446852f, 0.428396f, 0.363898f, 0.253318f, 0.116508f, -0.013083f, -0.117898f, -0.206372f, -0.284180f, -0.329308f, -0.314412f, -0.244304f, -0.149614f, -0.050276f, 0.051936f, 0.149545f, 0.222247f, 0.255380f, 0.249297f, 0.210511f, 0.146069f, 0.065487f, -0.020890f, -0.103702f, -0.170940f, -0.208945f, -0.211820f, -0.185220f, -0.139572f, -0.084250f, -0.026357f, 0.031102f, 0.087784f, 0.138807f, 0.173470f, 0.183734f, 0.167784f, 0.125449f, 0.059969f, -0.015648f, -0.084348f, -0.136303f, -0.166828f, -0.170290f, -0.147307f, -0.109984f, -0.069086f, -0.025167f, 0.020371f, 0.060146f, 0.093657f, 0.127308f, 0.156007f, 0.164553f, 0.148834f, 0.112994f, 0.050508f, -0.042163f, -0.140492f, -0.212717f, -0.251404f, -0.249732f, -0.178192f, -0.041065f, 0.077068f, 0.097809f, 0.059914f}, - { 1.158112f, 1.137057f, 1.174613f, 1.308407f, 1.475864f, 1.598510f, 1.664862f, 1.690093f, 1.651597f, 1.534827f, 1.406784f, 1.355852f, 1.365578f, 1.335480f, 1.236605f, 1.155816f, 1.155572f, 1.178545f, 1.145617f, 1.074884f, 1.034046f, 1.028410f, 1.011514f, 0.974296f, 0.951351f, 0.952791f, 0.951270f, 0.934033f, 0.920539f, 0.926929f, 0.947425f, 0.971010f, 0.990610f, 0.998330f, 0.992556f, 0.986782f, 0.996893f, 1.025270f, 1.066679f, 1.119066f, 1.178909f, 1.237203f, 1.288894f, 1.336531f, 1.379512f, 1.411025f, 1.429533f, 1.442089f, 1.453763f, 1.464108f, 1.474121f, 1.485855f, 1.495586f, 1.496799f, 1.487971f, 1.469903f, 1.440331f, 1.398591f, 1.349095f, 1.293717f, 1.228938f, 1.155645f, 1.081269f, 1.007672f, 0.929250f, 0.846598f, 0.767662f, 0.692536f, 0.613816f, 0.534651f, 0.467779f, 0.414464f, 0.365611f, 0.326004f, 0.311159f, 0.311495f, 0.285175f, 0.203678f, 0.091850f, 0.011559f} - }, - { - { 1.235520f, 1.267745f, 1.311533f, 1.396643f, 1.562142f, 1.739490f, 1.797650f, 1.725448f, 1.645715f, 1.615047f, 1.544151f, 1.379627f, 1.231268f, 1.218112f, 1.292699f, 1.332906f, 1.328133f, 1.351971f, 1.406972f, 1.424922f, 1.397315f, 1.389969f, 1.427081f, 1.452470f, 1.417648f, 1.341339f, 1.270667f, 1.231859f, 1.225126f, 1.232539f, 1.230373f, 1.218536f, 1.230471f, 1.294017f, 1.394390f, 1.492369f, 1.564549f, 1.611356f, 1.640653f, 1.658539f, 1.668696f, 1.673718f, 1.680425f, 1.699615f, 1.733804f, 1.773278f, 1.810830f, 1.848659f, 1.885086f, 1.909496f, 1.915897f, 1.906449f, 1.879898f, 1.833243f, 1.773732f, 1.712413f, 1.650523f, 1.587448f, 1.531042f, 1.483778f, 1.433378f, 1.371553f, 1.302603f, 1.222332f, 1.114931f, 0.981061f, 0.839087f, 0.693154f, 0.535784f, 0.381622f, 0.254990f, 0.148531f, 0.043270f, -0.043620f, -0.091644f, -0.138174f, -0.231231f, -0.338131f, -0.386098f, -0.378792f}, - { 0.914782f, 0.650055f, 0.239576f, -0.181854f, -0.539073f, -0.787899f, -0.863032f, -0.709618f, -0.363410f, 0.045228f, 0.384901f, 0.599773f, 0.690085f, 0.654823f, 0.484709f, 0.199734f, -0.132928f, -0.424723f, -0.606004f, -0.647328f, -0.552997f, -0.344341f, -0.058161f, 0.242078f, 0.475279f, 0.581052f, 0.547396f, 0.398952f, 0.173288f, -0.082456f, -0.309870f, -0.456050f, -0.493427f, -0.421065f, -0.258435f, -0.045804f, 0.160944f, 0.310519f, 0.375222f, 0.353858f, 0.264124f, 0.133068f, -0.011592f, -0.144525f, -0.241005f, -0.281276f, -0.260926f, -0.191571f, -0.090994f, 0.020279f, 0.116661f, 0.176292f, 0.194091f, 0.177389f, 0.132627f, 0.066960f, -0.004147f, -0.064907f, -0.109797f, -0.136697f, -0.139536f, -0.117862f, -0.081864f, -0.039087f, 0.010472f, 0.060857f, 0.099437f, 0.123178f, 0.135545f, 0.127536f, 0.086281f, 0.020181f, -0.050211f, -0.116826f, -0.168642f, -0.170590f, -0.104626f, -0.017451f, 0.025994f, 0.025448f} - }, - { - { 0.914782f, 0.650055f, 0.239576f, -0.181854f, -0.539073f, -0.787899f, -0.863032f, -0.709618f, -0.363410f, 0.045228f, 0.384901f, 0.599773f, 0.690085f, 0.654823f, 0.484709f, 0.199734f, -0.132928f, -0.424723f, -0.606004f, -0.647328f, -0.552997f, -0.344341f, -0.058161f, 0.242078f, 0.475279f, 0.581052f, 0.547396f, 0.398952f, 0.173288f, -0.082456f, -0.309870f, -0.456050f, -0.493427f, -0.421065f, -0.258435f, -0.045804f, 0.160944f, 0.310519f, 0.375222f, 0.353858f, 0.264124f, 0.133068f, -0.011592f, -0.144525f, -0.241005f, -0.281276f, -0.260926f, -0.191571f, -0.090994f, 0.020279f, 0.116661f, 0.176292f, 0.194091f, 0.177389f, 0.132627f, 0.066960f, -0.004147f, -0.064907f, -0.109797f, -0.136697f, -0.139536f, -0.117862f, -0.081864f, -0.039087f, 0.010472f, 0.060857f, 0.099437f, 0.123178f, 0.135545f, 0.127536f, 0.086281f, 0.020181f, -0.050211f, -0.116826f, -0.168642f, -0.170590f, -0.104626f, -0.017451f, 0.025994f, 0.025448f}, - { 1.235520f, 1.267745f, 1.311533f, 1.396643f, 1.562142f, 1.739490f, 1.797650f, 1.725448f, 1.645715f, 1.615047f, 1.544151f, 1.379627f, 1.231268f, 1.218112f, 1.292699f, 1.332906f, 1.328133f, 1.351971f, 1.406972f, 1.424922f, 1.397315f, 1.389969f, 1.427081f, 1.452470f, 1.417648f, 1.341339f, 1.270667f, 1.231859f, 1.225126f, 1.232539f, 1.230373f, 1.218536f, 1.230471f, 1.294017f, 1.394390f, 1.492369f, 1.564549f, 1.611356f, 1.640653f, 1.658539f, 1.668696f, 1.673718f, 1.680425f, 1.699615f, 1.733804f, 1.773278f, 1.810830f, 1.848659f, 1.885086f, 1.909496f, 1.915897f, 1.906449f, 1.879898f, 1.833243f, 1.773732f, 1.712413f, 1.650523f, 1.587448f, 1.531042f, 1.483778f, 1.433378f, 1.371553f, 1.302603f, 1.222332f, 1.114931f, 0.981061f, 0.839087f, 0.693154f, 0.535784f, 0.381622f, 0.254990f, 0.148531f, 0.043270f, -0.043620f, -0.091644f, -0.138174f, -0.231231f, -0.338131f, -0.386098f, -0.378792f} - }, - { - { 1.300965f, 1.294750f, 1.282817f, 1.255178f, 1.204577f, 1.137923f, 1.059580f, 0.981805f, 0.966983f, 1.092308f, 1.337634f, 1.575073f, 1.703047f, 1.722782f, 1.666581f, 1.546456f, 1.403671f, 1.311746f, 1.292222f, 1.306949f, 1.348731f, 1.449654f, 1.589237f, 1.688195f, 1.707228f, 1.673858f, 1.615172f, 1.543456f, 1.497797f, 1.520390f, 1.597903f, 1.686893f, 1.778063f, 1.882324f, 1.981161f, 2.041271f, 2.055297f, 2.034562f, 1.988601f, 1.932387f, 1.883493f, 1.841147f, 1.794770f, 1.748405f, 1.709284f, 1.669343f, 1.625551f, 1.593305f, 1.576244f, 1.555177f, 1.523771f, 1.496823f, 1.475255f, 1.446578f, 1.418163f, 1.403084f, 1.385586f, 1.347706f, 1.304713f, 1.269256f, 1.221100f, 1.154593f, 1.100549f, 1.063945f, 1.009439f, 0.935611f, 0.877621f, 0.821786f, 0.720980f, 0.594304f, 0.491179f, 0.378481f, 0.204744f, 0.026392f, -0.103932f, -0.295951f, -0.642665f, -0.968133f, -1.033163f, -0.924785f}, - { 1.056881f, 0.977664f, 0.829309f, 0.609050f, 0.335194f, 0.103305f, 0.039580f, 0.170337f, 0.375031f, 0.482951f, 0.394424f, 0.127225f, -0.200288f, -0.435291f, -0.499884f, -0.452044f, -0.409762f, -0.428220f, -0.490681f, -0.586139f, -0.717818f, -0.842320f, -0.883008f, -0.823590f, -0.730446f, -0.667660f, -0.639081f, -0.620834f, -0.597634f, -0.552777f, -0.466079f, -0.338552f, -0.193325f, -0.050363f, 0.077475f, 0.174494f, 0.237020f, 0.288121f, 0.352285f, 0.426567f, 0.494946f, 0.552824f, 0.599792f, 0.629446f, 0.642872f, 0.651801f, 0.657595f, 0.648892f, 0.624781f, 0.595680f, 0.560679f, 0.509928f, 0.445668f, 0.375032f, 0.291050f, 0.186825f, 0.074986f, -0.031392f, -0.138355f, -0.249537f, -0.350061f, -0.432142f, -0.507157f, -0.576005f, -0.622512f, -0.647800f, -0.670394f, -0.686010f, -0.673194f, -0.637570f, -0.598466f, -0.542641f, -0.451741f, -0.353357f, -0.271891f, -0.162755f, 0.010957f, 0.173137f, 0.221085f, 0.187717f} - }, - { - { 1.056881f, 0.977664f, 0.829309f, 0.609050f, 0.335194f, 0.103305f, 0.039580f, 0.170337f, 0.375031f, 0.482951f, 0.394424f, 0.127225f, -0.200288f, -0.435291f, -0.499884f, -0.452044f, -0.409762f, -0.428220f, -0.490681f, -0.586139f, -0.717818f, -0.842320f, -0.883008f, -0.823590f, -0.730446f, -0.667660f, -0.639081f, -0.620834f, -0.597634f, -0.552777f, -0.466079f, -0.338552f, -0.193325f, -0.050363f, 0.077475f, 0.174494f, 0.237020f, 0.288121f, 0.352285f, 0.426567f, 0.494946f, 0.552824f, 0.599792f, 0.629446f, 0.642872f, 0.651801f, 0.657595f, 0.648892f, 0.624781f, 0.595680f, 0.560679f, 0.509928f, 0.445668f, 0.375032f, 0.291050f, 0.186825f, 0.074986f, -0.031392f, -0.138355f, -0.249537f, -0.350061f, -0.432142f, -0.507157f, -0.576005f, -0.622512f, -0.647800f, -0.670394f, -0.686010f, -0.673194f, -0.637570f, -0.598466f, -0.542641f, -0.451741f, -0.353357f, -0.271891f, -0.162755f, 0.010957f, 0.173137f, 0.221085f, 0.187717f}, - { 1.300965f, 1.294750f, 1.282817f, 1.255178f, 1.204577f, 1.137923f, 1.059580f, 0.981805f, 0.966983f, 1.092308f, 1.337634f, 1.575073f, 1.703047f, 1.722782f, 1.666581f, 1.546456f, 1.403671f, 1.311746f, 1.292222f, 1.306949f, 1.348731f, 1.449654f, 1.589237f, 1.688195f, 1.707228f, 1.673858f, 1.615172f, 1.543456f, 1.497797f, 1.520390f, 1.597903f, 1.686893f, 1.778063f, 1.882324f, 1.981161f, 2.041271f, 2.055297f, 2.034562f, 1.988601f, 1.932387f, 1.883493f, 1.841147f, 1.794770f, 1.748405f, 1.709284f, 1.669343f, 1.625551f, 1.593305f, 1.576244f, 1.555177f, 1.523771f, 1.496823f, 1.475255f, 1.446578f, 1.418163f, 1.403084f, 1.385586f, 1.347706f, 1.304713f, 1.269256f, 1.221100f, 1.154593f, 1.100549f, 1.063945f, 1.009439f, 0.935611f, 0.877621f, 0.821786f, 0.720980f, 0.594304f, 0.491179f, 0.378481f, 0.204744f, 0.026392f, -0.103932f, -0.295951f, -0.642665f, -0.968133f, -1.033163f, -0.924785f} - }, - { - { 1.199748f, 1.195187f, 1.219693f, 1.306113f, 1.425047f, 1.477111f, 1.397070f, 1.252223f, 1.172655f, 1.188882f, 1.217061f, 1.212048f, 1.238227f, 1.348679f, 1.484315f, 1.557633f, 1.567620f, 1.562073f, 1.542003f, 1.477405f, 1.379422f, 1.288860f, 1.216806f, 1.148467f, 1.083662f, 1.031921f, 0.988049f, 0.943225f, 0.900165f, 0.859424f, 0.815628f, 0.776796f, 0.758198f, 0.753004f, 0.739708f, 0.717133f, 0.701610f, 0.697315f, 0.699875f, 0.716105f, 0.750519f, 0.788979f, 0.821105f, 0.857164f, 0.902405f, 0.942513f, 0.970953f, 0.998437f, 1.023655f, 1.030364f, 1.020180f, 1.011394f, 1.006072f, 0.996138f, 0.992784f, 1.010311f, 1.036592f, 1.056629f, 1.080188f, 1.111608f, 1.127724f, 1.118163f, 1.103894f, 1.089439f, 1.050792f, 0.990760f, 0.941697f, 0.900735f, 0.836298f, 0.760105f, 0.706490f, 0.651720f, 0.554145f, 0.447475f, 0.372905f, 0.259179f, 0.022580f, -0.250587f, -0.394385f, -0.405028f}, - { 0.954653f, 0.811443f, 0.527050f, 0.156554f, -0.183229f, -0.390764f, -0.463838f, -0.489615f, -0.545649f, -0.618563f, -0.627603f, -0.522242f, -0.339179f, -0.156441f, -0.010199f, 0.122255f, 0.267483f, 0.411203f, 0.511742f, 0.538871f, 0.493820f, 0.403566f, 0.299556f, 0.194567f, 0.079866f, -0.051976f, -0.188907f, -0.309334f, -0.399390f, -0.451587f, -0.457014f, -0.410966f, -0.321563f, -0.205765f, -0.080962f, 0.037500f, 0.138072f, 0.215566f, 0.268025f, 0.292898f, 0.291211f, 0.270674f, 0.238281f, 0.194880f, 0.141481f, 0.083085f, 0.022016f, -0.043580f, -0.111370f, -0.174259f, -0.228801f, -0.273350f, -0.299289f, -0.296400f, -0.264810f, -0.210717f, -0.136124f, -0.044272f, 0.053064f, 0.144902f, 0.227652f, 0.293924f, 0.329277f, 0.328445f, 0.298807f, 0.243094f, 0.158591f, 0.055206f, -0.049168f, -0.149592f, -0.244281f, -0.312080f, -0.331894f, -0.311981f, -0.264235f, -0.173081f, -0.039856f, 0.070126f, 0.093737f, 0.064463f} - }, - { - { 0.954653f, 0.811443f, 0.527050f, 0.156554f, -0.183229f, -0.390764f, -0.463838f, -0.489615f, -0.545649f, -0.618563f, -0.627603f, -0.522242f, -0.339179f, -0.156441f, -0.010199f, 0.122255f, 0.267483f, 0.411203f, 0.511742f, 0.538871f, 0.493820f, 0.403566f, 0.299556f, 0.194567f, 0.079866f, -0.051976f, -0.188907f, -0.309334f, -0.399390f, -0.451587f, -0.457014f, -0.410966f, -0.321563f, -0.205765f, -0.080962f, 0.037500f, 0.138072f, 0.215566f, 0.268025f, 0.292898f, 0.291211f, 0.270674f, 0.238281f, 0.194880f, 0.141481f, 0.083085f, 0.022016f, -0.043580f, -0.111370f, -0.174259f, -0.228801f, -0.273350f, -0.299289f, -0.296400f, -0.264810f, -0.210717f, -0.136124f, -0.044272f, 0.053064f, 0.144902f, 0.227652f, 0.293924f, 0.329277f, 0.328445f, 0.298807f, 0.243094f, 0.158591f, 0.055206f, -0.049168f, -0.149592f, -0.244281f, -0.312080f, -0.331894f, -0.311981f, -0.264235f, -0.173081f, -0.039856f, 0.070126f, 0.093737f, 0.064463f}, - { 1.199748f, 1.195187f, 1.219693f, 1.306113f, 1.425047f, 1.477111f, 1.397070f, 1.252223f, 1.172655f, 1.188882f, 1.217061f, 1.212048f, 1.238227f, 1.348679f, 1.484315f, 1.557633f, 1.567620f, 1.562073f, 1.542003f, 1.477405f, 1.379422f, 1.288860f, 1.216806f, 1.148467f, 1.083662f, 1.031921f, 0.988049f, 0.943225f, 0.900165f, 0.859424f, 0.815628f, 0.776796f, 0.758198f, 0.753004f, 0.739708f, 0.717133f, 0.701610f, 0.697315f, 0.699875f, 0.716105f, 0.750519f, 0.788979f, 0.821105f, 0.857164f, 0.902405f, 0.942513f, 0.970953f, 0.998437f, 1.023655f, 1.030364f, 1.020180f, 1.011394f, 1.006072f, 0.996138f, 0.992784f, 1.010311f, 1.036592f, 1.056629f, 1.080188f, 1.111608f, 1.127724f, 1.118163f, 1.103894f, 1.089439f, 1.050792f, 0.990760f, 0.941697f, 0.900735f, 0.836298f, 0.760105f, 0.706490f, 0.651720f, 0.554145f, 0.447475f, 0.372905f, 0.259179f, 0.022580f, -0.250587f, -0.394385f, -0.405028f} - }, - { - { 1.095196f, 1.087659f, 1.109446f, 1.183526f, 1.277660f, 1.326248f, 1.295715f, 1.216113f, 1.140298f, 1.087599f, 1.047695f, 1.026918f, 1.054001f, 1.133020f, 1.223338f, 1.282899f, 1.305886f, 1.301427f, 1.264195f, 1.192277f, 1.112040f, 1.055091f, 1.021765f, 0.989986f, 0.948874f, 0.903167f, 0.855360f, 0.803610f, 0.750668f, 0.700093f, 0.649182f, 0.594756f, 0.538805f, 0.483071f, 0.427223f, 0.376166f, 0.339951f, 0.324096f, 0.327235f, 0.346493f, 0.377413f, 0.412489f, 0.447089f, 0.481805f, 0.514503f, 0.538815f, 0.554366f, 0.567855f, 0.581390f, 0.591629f, 0.600978f, 0.616082f, 0.635914f, 0.654604f, 0.672499f, 0.691101f, 0.703654f, 0.704072f, 0.696257f, 0.683064f, 0.659027f, 0.624315f, 0.589073f, 0.554838f, 0.511458f, 0.458475f, 0.405848f, 0.350815f, 0.282369f, 0.208212f, 0.145223f, 0.088601f, 0.027005f, -0.024496f, -0.052219f, -0.086724f, -0.160473f, -0.239945f, -0.266704f, -0.251269f}, - { 0.923781f, 0.848774f, 0.672610f, 0.407285f, 0.139533f, -0.031128f, -0.095513f, -0.144050f, -0.253242f, -0.392890f, -0.480646f, -0.501871f, -0.519927f, -0.573731f, -0.625609f, -0.624544f, -0.567395f, -0.473405f, -0.345515f, -0.190062f, -0.038979f, 0.081850f, 0.182290f, 0.280740f, 0.370828f, 0.437344f, 0.482403f, 0.514120f, 0.527356f, 0.512218f, 0.466630f, 0.391413f, 0.289373f, 0.174311f, 0.063977f, -0.037733f, -0.135747f, -0.224401f, -0.290520f, -0.330999f, -0.351174f, -0.353060f, -0.339776f, -0.321845f, -0.306033f, -0.288531f, -0.267741f, -0.249068f, -0.230297f, -0.198972f, -0.149214f, -0.084819f, -0.006186f, 0.086559f, 0.180387f, 0.259264f, 0.322166f, 0.373929f, 0.409115f, 0.422408f, 0.419773f, 0.402555f, 0.359218f, 0.287224f, 0.200865f, 0.107257f, 0.002147f, -0.104650f, -0.193281f, -0.265652f, -0.335513f, -0.391102f, -0.411622f, -0.408716f, -0.397569f, -0.345739f, -0.220230f, -0.069285f, 0.021400f, 0.041382f} - }, - { - { 0.923781f, 0.848774f, 0.672610f, 0.407285f, 0.139533f, -0.031128f, -0.095513f, -0.144050f, -0.253242f, -0.392890f, -0.480646f, -0.501871f, -0.519927f, -0.573731f, -0.625609f, -0.624544f, -0.567395f, -0.473405f, -0.345515f, -0.190062f, -0.038979f, 0.081850f, 0.182290f, 0.280740f, 0.370828f, 0.437344f, 0.482403f, 0.514120f, 0.527356f, 0.512218f, 0.466630f, 0.391413f, 0.289373f, 0.174311f, 0.063977f, -0.037733f, -0.135747f, -0.224401f, -0.290520f, -0.330999f, -0.351174f, -0.353060f, -0.339776f, -0.321845f, -0.306033f, -0.288531f, -0.267741f, -0.249068f, -0.230297f, -0.198972f, -0.149214f, -0.084819f, -0.006186f, 0.086559f, 0.180387f, 0.259264f, 0.322166f, 0.373929f, 0.409115f, 0.422408f, 0.419773f, 0.402555f, 0.359218f, 0.287224f, 0.200865f, 0.107257f, 0.002147f, -0.104650f, -0.193281f, -0.265652f, -0.335513f, -0.391102f, -0.411622f, -0.408716f, -0.397569f, -0.345739f, -0.220230f, -0.069285f, 0.021400f, 0.041382f}, - { 1.095196f, 1.087659f, 1.109446f, 1.183526f, 1.277660f, 1.326248f, 1.295715f, 1.216113f, 1.140298f, 1.087599f, 1.047695f, 1.026918f, 1.054001f, 1.133020f, 1.223338f, 1.282899f, 1.305886f, 1.301427f, 1.264195f, 1.192277f, 1.112040f, 1.055091f, 1.021765f, 0.989986f, 0.948874f, 0.903167f, 0.855360f, 0.803610f, 0.750668f, 0.700093f, 0.649182f, 0.594756f, 0.538805f, 0.483071f, 0.427223f, 0.376166f, 0.339951f, 0.324096f, 0.327235f, 0.346493f, 0.377413f, 0.412489f, 0.447089f, 0.481805f, 0.514503f, 0.538815f, 0.554366f, 0.567855f, 0.581390f, 0.591629f, 0.600978f, 0.616082f, 0.635914f, 0.654604f, 0.672499f, 0.691101f, 0.703654f, 0.704072f, 0.696257f, 0.683064f, 0.659027f, 0.624315f, 0.589073f, 0.554838f, 0.511458f, 0.458475f, 0.405848f, 0.350815f, 0.282369f, 0.208212f, 0.145223f, 0.088601f, 0.027005f, -0.024496f, -0.052219f, -0.086724f, -0.160473f, -0.239945f, -0.266704f, -0.251269f} - } -}; -const float CRendBin_Combined_HRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][80]={ - { - { 0.022378f, 0.066864f, 0.100220f, 0.093715f, 0.035070f, -0.024338f, -0.012768f, 0.042367f, 0.023721f, -0.077890f, -0.074274f, 0.183759f, 0.553809f, 0.747512f, 0.694343f, 0.587820f, 0.573964f, 0.578407f, 0.483568f, 0.304887f, 0.110523f, -0.095311f, -0.308826f, -0.445379f, -0.423336f, -0.274568f, -0.099040f, 0.048443f, 0.174236f, 0.289760f, 0.386501f, 0.441979f, 0.423813f, 0.311166f, 0.126234f, -0.077587f, -0.262644f, -0.422706f, -0.561257f, -0.680234f, -0.781458f, -0.857623f, -0.893951f, -0.894126f, -0.886249f, -0.891524f, -0.909393f, -0.938889f, -0.984242f, -1.033780f, -1.065068f, -1.075220f, -1.078048f, -1.075622f, -1.062402f, -1.047450f, -1.042480f, -1.042105f, -1.042212f, -1.056085f, -1.088475f, -1.122510f, -1.152405f, -1.192513f, -1.237398f, -1.256660f, -1.241724f, -1.209120f, -1.154430f, -1.061585f, -0.953719f, -0.867433f, -0.789453f, -0.695255f, -0.622912f, -0.610275f, -0.589097f, -0.460324f, -0.251406f, -0.070859f}, - { -0.080681f, -0.311575f, -0.606702f, -0.791121f, -0.800787f, -0.759923f, -0.737510f, -0.645040f, -0.446445f, -0.278883f, -0.277043f, -0.421529f, -0.620997f, -0.801710f, -0.864807f, -0.708809f, -0.372056f, -0.033461f, 0.190558f, 0.342379f, 0.477503f, 0.555106f, 0.541666f, 0.506512f, 0.528602f, 0.592193f, 0.649163f, 0.709906f, 0.795888f, 0.861129f, 0.839487f, 0.735222f, 0.600129f, 0.443934f, 0.230326f, -0.041733f, -0.304398f, -0.483776f, -0.569025f, -0.604499f, -0.631290f, -0.656305f, -0.671663f, -0.677909f, -0.675805f, -0.652694f, -0.596100f, -0.512689f, -0.417832f, -0.314565f, -0.198891f, -0.077460f, 0.036945f, 0.140466f, 0.234222f, 0.313941f, 0.376985f, 0.429901f, 0.476606f, 0.509493f, 0.521856f, 0.516234f, 0.492881f, 0.446350f, 0.381165f, 0.313562f, 0.251474f, 0.190729f, 0.133710f, 0.090238f, 0.058310f, 0.027284f, -0.000482f, -0.017253f, -0.035696f, -0.074905f, -0.120974f, -0.134483f, -0.099419f, -0.035389f} - }, - { - { -0.080681f, -0.311575f, -0.606702f, -0.791121f, -0.800787f, -0.759923f, -0.737510f, -0.645040f, -0.446445f, -0.278883f, -0.277043f, -0.421529f, -0.620997f, -0.801710f, -0.864807f, -0.708809f, -0.372056f, -0.033461f, 0.190558f, 0.342379f, 0.477503f, 0.555106f, 0.541666f, 0.506512f, 0.528602f, 0.592193f, 0.649163f, 0.709906f, 0.795888f, 0.861129f, 0.839487f, 0.735222f, 0.600129f, 0.443934f, 0.230326f, -0.041733f, -0.304398f, -0.483776f, -0.569025f, -0.604499f, -0.631290f, -0.656305f, -0.671663f, -0.677909f, -0.675805f, -0.652694f, -0.596100f, -0.512689f, -0.417832f, -0.314565f, -0.198891f, -0.077460f, 0.036945f, 0.140466f, 0.234222f, 0.313941f, 0.376985f, 0.429901f, 0.476606f, 0.509493f, 0.521856f, 0.516234f, 0.492881f, 0.446350f, 0.381165f, 0.313562f, 0.251474f, 0.190729f, 0.133710f, 0.090238f, 0.058310f, 0.027284f, -0.000482f, -0.017253f, -0.035696f, -0.074905f, -0.120974f, -0.134483f, -0.099419f, -0.035389f}, - { 0.022378f, 0.066864f, 0.100220f, 0.093715f, 0.035070f, -0.024338f, -0.012768f, 0.042367f, 0.023721f, -0.077890f, -0.074274f, 0.183759f, 0.553809f, 0.747512f, 0.694343f, 0.587820f, 0.573964f, 0.578407f, 0.483568f, 0.304887f, 0.110523f, -0.095311f, -0.308826f, -0.445379f, -0.423336f, -0.274568f, -0.099040f, 0.048443f, 0.174236f, 0.289760f, 0.386501f, 0.441979f, 0.423813f, 0.311166f, 0.126234f, -0.077587f, -0.262644f, -0.422706f, -0.561257f, -0.680234f, -0.781458f, -0.857623f, -0.893951f, -0.894126f, -0.886249f, -0.891524f, -0.909393f, -0.938889f, -0.984242f, -1.033780f, -1.065068f, -1.075220f, -1.078048f, -1.075622f, -1.062402f, -1.047450f, -1.042480f, -1.042105f, -1.042212f, -1.056085f, -1.088475f, -1.122510f, -1.152405f, -1.192513f, -1.237398f, -1.256660f, -1.241724f, -1.209120f, -1.154430f, -1.061585f, -0.953719f, -0.867433f, -0.789453f, -0.695255f, -0.622912f, -0.610275f, -0.589097f, -0.460324f, -0.251406f, -0.070859f} - }, - { - { 0.021476f, 0.024861f, -0.068116f, -0.210706f, -0.241100f, -0.094748f, 0.026510f, -0.099482f, -0.330829f, -0.276985f, 0.158539f, 0.598292f, 0.664270f, 0.429569f, 0.248929f, 0.287073f, 0.390113f, 0.351295f, 0.140379f, -0.125369f, -0.320323f, -0.389331f, -0.350352f, -0.257811f, -0.155492f, -0.057513f, 0.029687f, 0.083907f, 0.074937f, -0.013414f, -0.172122f, -0.367613f, -0.553803f, -0.697739f, -0.798279f, -0.871482f, -0.917974f, -0.917107f, -0.857095f, -0.759630f, -0.667061f, -0.611822f, -0.603464f, -0.635057f, -0.689467f, -0.744489f, -0.786319f, -0.818993f, -0.851830f, -0.880879f, -0.893605f, -0.887722f, -0.872310f, -0.853424f, -0.831447f, -0.809294f, -0.790708f, -0.773489f, -0.753887f, -0.732134f, -0.706732f, -0.673217f, -0.634788f, -0.600942f, -0.570621f, -0.533372f, -0.490462f, -0.454214f, -0.424442f, -0.389736f, -0.352307f, -0.323871f, -0.299518f, -0.268423f, -0.245492f, -0.252120f, -0.267604f, -0.242741f, -0.162571f, -0.055414f}, - { 0.021476f, 0.024861f, -0.068116f, -0.210706f, -0.241100f, -0.094748f, 0.026510f, -0.099482f, -0.330829f, -0.276985f, 0.158539f, 0.598292f, 0.664270f, 0.429569f, 0.248929f, 0.287073f, 0.390113f, 0.351295f, 0.140379f, -0.125369f, -0.320323f, -0.389331f, -0.350352f, -0.257811f, -0.155492f, -0.057513f, 0.029687f, 0.083907f, 0.074937f, -0.013414f, -0.172122f, -0.367613f, -0.553803f, -0.697739f, -0.798279f, -0.871482f, -0.917974f, -0.917107f, -0.857095f, -0.759630f, -0.667061f, -0.611822f, -0.603464f, -0.635057f, -0.689467f, -0.744489f, -0.786319f, -0.818993f, -0.851830f, -0.880879f, -0.893605f, -0.887722f, -0.872310f, -0.853424f, -0.831447f, -0.809294f, -0.790708f, -0.773489f, -0.753887f, -0.732134f, -0.706732f, -0.673217f, -0.634788f, -0.600942f, -0.570621f, -0.533372f, -0.490462f, -0.454214f, -0.424442f, -0.389736f, -0.352307f, -0.323871f, -0.299518f, -0.268423f, -0.245492f, -0.252120f, -0.267604f, -0.242741f, -0.162571f, -0.055414f} - }, - { - { 0.012550f, 0.067634f, 0.153766f, 0.208915f, 0.212582f, 0.181638f, 0.088456f, -0.087931f, -0.259740f, -0.322157f, -0.322103f, -0.389409f, -0.523465f, -0.602542f, -0.590922f, -0.578743f, -0.613891f, -0.643676f, -0.637605f, -0.633153f, -0.638458f, -0.606573f, -0.528838f, -0.456632f, -0.416245f, -0.387548f, -0.371313f, -0.393834f, -0.438762f, -0.449766f, -0.408723f, -0.349918f, -0.295796f, -0.234874f, -0.162960f, -0.095890f, -0.039645f, 0.012676f, 0.055074f, 0.071089f, 0.058963f, 0.031594f, -0.001372f, -0.033590f, -0.054377f, -0.056813f, -0.045737f, -0.029510f, -0.013991f, -0.008625f, -0.025610f, -0.068996f, -0.133912f, -0.214970f, -0.305196f, -0.391408f, -0.462418f, -0.517985f, -0.561601f, -0.591744f, -0.607334f, -0.612344f, -0.608226f, -0.591190f, -0.561003f, -0.522128f, -0.475155f, -0.418857f, -0.358993f, -0.302348f, -0.247114f, -0.192269f, -0.145964f, -0.109859f, -0.073493f, -0.044166f, -0.054356f, -0.104447f, -0.126755f, -0.059336f}, - { -0.170186f, -0.479342f, -0.686815f, -0.744803f, -0.686817f, -0.593855f, -0.492851f, -0.349481f, -0.167107f, -0.016808f, 0.057296f, 0.094634f, 0.145504f, 0.203344f, 0.251038f, 0.317878f, 0.433639f, 0.558726f, 0.610245f, 0.542010f, 0.369670f, 0.140805f, -0.089577f, -0.274767f, -0.397554f, -0.467654f, -0.489404f, -0.453378f, -0.367597f, -0.268088f, -0.183887f, -0.114096f, -0.048744f, 0.012366f, 0.071213f, 0.138060f, 0.214392f, 0.284810f, 0.331220f, 0.342296f, 0.310739f, 0.237599f, 0.139351f, 0.038916f, -0.047914f, -0.110918f, -0.141407f, -0.140257f, -0.121022f, -0.097260f, -0.074818f, -0.058184f, -0.051302f, -0.050167f, -0.047162f, -0.042256f, -0.038820f, -0.033860f, -0.024785f, -0.017581f, -0.015893f, -0.012525f, -0.002230f, 0.011304f, 0.029908f, 0.063841f, 0.112146f, 0.160147f, 0.200633f, 0.233829f, 0.246965f, 0.224183f, 0.174767f, 0.118281f, 0.049361f, -0.041130f, -0.119607f, -0.135637f, -0.090349f, -0.028741f} - }, - { - { -0.170186f, -0.479342f, -0.686815f, -0.744803f, -0.686817f, -0.593855f, -0.492851f, -0.349481f, -0.167107f, -0.016808f, 0.057296f, 0.094634f, 0.145504f, 0.203344f, 0.251038f, 0.317878f, 0.433639f, 0.558726f, 0.610245f, 0.542010f, 0.369670f, 0.140805f, -0.089577f, -0.274767f, -0.397554f, -0.467654f, -0.489404f, -0.453378f, -0.367597f, -0.268088f, -0.183887f, -0.114096f, -0.048744f, 0.012366f, 0.071213f, 0.138060f, 0.214392f, 0.284810f, 0.331220f, 0.342296f, 0.310739f, 0.237599f, 0.139351f, 0.038916f, -0.047914f, -0.110918f, -0.141407f, -0.140257f, -0.121022f, -0.097260f, -0.074818f, -0.058184f, -0.051302f, -0.050167f, -0.047162f, -0.042256f, -0.038820f, -0.033860f, -0.024785f, -0.017581f, -0.015893f, -0.012525f, -0.002230f, 0.011304f, 0.029908f, 0.063841f, 0.112146f, 0.160147f, 0.200633f, 0.233829f, 0.246965f, 0.224183f, 0.174767f, 0.118281f, 0.049361f, -0.041130f, -0.119607f, -0.135637f, -0.090349f, -0.028741f}, - { 0.012550f, 0.067634f, 0.153766f, 0.208915f, 0.212582f, 0.181638f, 0.088456f, -0.087931f, -0.259740f, -0.322157f, -0.322103f, -0.389409f, -0.523465f, -0.602542f, -0.590922f, -0.578743f, -0.613891f, -0.643676f, -0.637605f, -0.633153f, -0.638458f, -0.606573f, -0.528838f, -0.456632f, -0.416245f, -0.387548f, -0.371313f, -0.393834f, -0.438762f, -0.449766f, -0.408723f, -0.349918f, -0.295796f, -0.234874f, -0.162960f, -0.095890f, -0.039645f, 0.012676f, 0.055074f, 0.071089f, 0.058963f, 0.031594f, -0.001372f, -0.033590f, -0.054377f, -0.056813f, -0.045737f, -0.029510f, -0.013991f, -0.008625f, -0.025610f, -0.068996f, -0.133912f, -0.214970f, -0.305196f, -0.391408f, -0.462418f, -0.517985f, -0.561601f, -0.591744f, -0.607334f, -0.612344f, -0.608226f, -0.591190f, -0.561003f, -0.522128f, -0.475155f, -0.418857f, -0.358993f, -0.302348f, -0.247114f, -0.192269f, -0.145964f, -0.109859f, -0.073493f, -0.044166f, -0.054356f, -0.104447f, -0.126755f, -0.059336f} - }, - { - { 0.015207f, 0.082976f, 0.199626f, 0.282859f, 0.263873f, 0.164643f, 0.039240f, -0.101852f, -0.255135f, -0.362796f, -0.370418f, -0.325378f, -0.329716f, -0.393214f, -0.421530f, -0.368644f, -0.309548f, -0.318855f, -0.359634f, -0.355814f, -0.310990f, -0.281959f, -0.277523f, -0.258612f, -0.216166f, -0.181301f, -0.165545f, -0.145397f, -0.106504f, -0.062660f, -0.029709f, -0.010119f, -0.001929f, 0.000359f, 0.010822f, 0.040007f, 0.081478f, 0.121574f, 0.154115f, 0.176543f, 0.183358f, 0.173258f, 0.152571f, 0.124730f, 0.086728f, 0.040116f, -0.006130f, -0.047172f, -0.086178f, -0.125612f, -0.165320f, -0.208844f, -0.261164f, -0.321029f, -0.383783f, -0.448219f, -0.513294f, -0.573993f, -0.627582f, -0.676780f, -0.721051f, -0.754143f, -0.775079f, -0.790142f, -0.799884f, -0.797462f, -0.782973f, -0.763866f, -0.738491f, -0.696980f, -0.640957f, -0.582720f, -0.523012f, -0.453255f, -0.384196f, -0.344834f, -0.339145f, -0.323832f, -0.245458f, -0.092605f}, - { -0.226452f, -0.610474f, -0.819401f, -0.827692f, -0.686438f, -0.457267f, -0.161985f, 0.180520f, 0.492244f, 0.662493f, 0.643987f, 0.491123f, 0.296483f, 0.114481f, -0.047643f, -0.190865f, -0.298744f, -0.349852f, -0.344425f, -0.305636f, -0.249293f, -0.165753f, -0.046077f, 0.086344f, 0.191530f, 0.252611f, 0.278443f, 0.273750f, 0.231193f, 0.152001f, 0.053787f, -0.044048f, -0.129347f, -0.193281f, -0.229191f, -0.234673f, -0.209049f, -0.153181f, -0.075871f, 0.005780f, 0.076238f, 0.127944f, 0.159180f, 0.171718f, 0.168690f, 0.149525f, 0.110173f, 0.051594f, -0.017343f, -0.086655f, -0.147164f, -0.186425f, -0.193841f, -0.170433f, -0.125073f, -0.065012f, 0.000827f, 0.057616f, 0.095796f, 0.118697f, 0.130362f, 0.127750f, 0.111905f, 0.090197f, 0.060794f, 0.013835f, -0.047969f, -0.110704f, -0.169346f, -0.220565f, -0.242402f, -0.213355f, -0.142698f, -0.050054f, 0.062130f, 0.172554f, 0.213346f, 0.146844f, 0.042880f, -0.001215f} - }, - { - { -0.226452f, -0.610474f, -0.819401f, -0.827692f, -0.686438f, -0.457267f, -0.161985f, 0.180520f, 0.492244f, 0.662493f, 0.643987f, 0.491123f, 0.296483f, 0.114481f, -0.047643f, -0.190865f, -0.298744f, -0.349852f, -0.344425f, -0.305636f, -0.249293f, -0.165753f, -0.046077f, 0.086344f, 0.191530f, 0.252611f, 0.278443f, 0.273750f, 0.231193f, 0.152001f, 0.053787f, -0.044048f, -0.129347f, -0.193281f, -0.229191f, -0.234673f, -0.209049f, -0.153181f, -0.075871f, 0.005780f, 0.076238f, 0.127944f, 0.159180f, 0.171718f, 0.168690f, 0.149525f, 0.110173f, 0.051594f, -0.017343f, -0.086655f, -0.147164f, -0.186425f, -0.193841f, -0.170433f, -0.125073f, -0.065012f, 0.000827f, 0.057616f, 0.095796f, 0.118697f, 0.130362f, 0.127750f, 0.111905f, 0.090197f, 0.060794f, 0.013835f, -0.047969f, -0.110704f, -0.169346f, -0.220565f, -0.242402f, -0.213355f, -0.142698f, -0.050054f, 0.062130f, 0.172554f, 0.213346f, 0.146844f, 0.042880f, -0.001215f}, - { 0.015207f, 0.082976f, 0.199626f, 0.282859f, 0.263873f, 0.164643f, 0.039240f, -0.101852f, -0.255135f, -0.362796f, -0.370418f, -0.325378f, -0.329716f, -0.393214f, -0.421530f, -0.368644f, -0.309548f, -0.318855f, -0.359634f, -0.355814f, -0.310990f, -0.281959f, -0.277523f, -0.258612f, -0.216166f, -0.181301f, -0.165545f, -0.145397f, -0.106504f, -0.062660f, -0.029709f, -0.010119f, -0.001929f, 0.000359f, 0.010822f, 0.040007f, 0.081478f, 0.121574f, 0.154115f, 0.176543f, 0.183358f, 0.173258f, 0.152571f, 0.124730f, 0.086728f, 0.040116f, -0.006130f, -0.047172f, -0.086178f, -0.125612f, -0.165320f, -0.208844f, -0.261164f, -0.321029f, -0.383783f, -0.448219f, -0.513294f, -0.573993f, -0.627582f, -0.676780f, -0.721051f, -0.754143f, -0.775079f, -0.790142f, -0.799884f, -0.797462f, -0.782973f, -0.763866f, -0.738491f, -0.696980f, -0.640957f, -0.582720f, -0.523012f, -0.453255f, -0.384196f, -0.344834f, -0.339145f, -0.323832f, -0.245458f, -0.092605f} - }, - { - { 0.043874f, 0.118615f, 0.187170f, 0.267150f, 0.298762f, 0.195948f, -0.001786f, -0.150558f, -0.201169f, -0.249208f, -0.342968f, -0.379815f, -0.276823f, -0.123637f, -0.055321f, -0.064144f, -0.055372f, -0.019931f, -0.024681f, -0.071956f, -0.093125f, -0.072032f, -0.070681f, -0.124387f, -0.190477f, -0.213583f, -0.185140f, -0.129878f, -0.075285f, -0.037892f, -0.009897f, 0.037383f, 0.115172f, 0.192625f, 0.228584f, 0.214650f, 0.172116f, 0.122202f, 0.074293f, 0.031381f, -0.005454f, -0.033813f, -0.050480f, -0.060008f, -0.075967f, -0.106394f, -0.147540f, -0.197695f, -0.263287f, -0.345414f, -0.435440f, -0.527778f, -0.621378f, -0.708615f, -0.779992f, -0.837472f, -0.887412f, -0.928280f, -0.960992f, -0.998110f, -1.046834f, -1.099343f, -1.152347f, -1.213052f, -1.274952f, -1.316249f, -1.330774f, -1.328349f, -1.302567f, -1.238211f, -1.148431f, -1.058310f, -0.960029f, -0.838091f, -0.721675f, -0.643318f, -0.563976f, -0.420296f, -0.230992f, -0.067404f}, - { -0.250425f, -0.660993f, -0.861916f, -0.847354f, -0.663762f, -0.342769f, 0.075917f, 0.488389f, 0.753654f, 0.794167f, 0.643546f, 0.387442f, 0.087205f, -0.223353f, -0.496873f, -0.664962f, -0.675562f, -0.527061f, -0.266948f, 0.036108f, 0.319252f, 0.531415f, 0.626600f, 0.573077f, 0.380686f, 0.108230f, -0.168101f, -0.389333f, -0.517617f, -0.528794f, -0.421069f, -0.224730f, 0.009319f, 0.228421f, 0.385471f, 0.444687f, 0.395852f, 0.261516f, 0.084932f, -0.088913f, -0.225266f, -0.304256f, -0.319554f, -0.273259f, -0.175564f, -0.049060f, 0.075661f, 0.173276f, 0.228789f, 0.233471f, 0.188067f, 0.109495f, 0.022104f, -0.058067f, -0.122426f, -0.160617f, -0.165769f, -0.143482f, -0.103837f, -0.051510f, 0.007014f, 0.058136f, 0.093287f, 0.114398f, 0.120649f, 0.105501f, 0.071425f, 0.028778f, -0.021679f, -0.082945f, -0.140051f, -0.169785f, -0.167405f, -0.136951f, -0.070323f, 0.025342f, 0.097572f, 0.097658f, 0.048524f, 0.010072f} - }, - { - { -0.250425f, -0.660993f, -0.861916f, -0.847354f, -0.663762f, -0.342769f, 0.075917f, 0.488389f, 0.753654f, 0.794167f, 0.643546f, 0.387442f, 0.087205f, -0.223353f, -0.496873f, -0.664962f, -0.675562f, -0.527061f, -0.266948f, 0.036108f, 0.319252f, 0.531415f, 0.626600f, 0.573077f, 0.380686f, 0.108230f, -0.168101f, -0.389333f, -0.517617f, -0.528794f, -0.421069f, -0.224730f, 0.009319f, 0.228421f, 0.385471f, 0.444687f, 0.395852f, 0.261516f, 0.084932f, -0.088913f, -0.225266f, -0.304256f, -0.319554f, -0.273259f, -0.175564f, -0.049060f, 0.075661f, 0.173276f, 0.228789f, 0.233471f, 0.188067f, 0.109495f, 0.022104f, -0.058067f, -0.122426f, -0.160617f, -0.165769f, -0.143482f, -0.103837f, -0.051510f, 0.007014f, 0.058136f, 0.093287f, 0.114398f, 0.120649f, 0.105501f, 0.071425f, 0.028778f, -0.021679f, -0.082945f, -0.140051f, -0.169785f, -0.167405f, -0.136951f, -0.070323f, 0.025342f, 0.097572f, 0.097658f, 0.048524f, 0.010072f}, - { 0.043874f, 0.118615f, 0.187170f, 0.267150f, 0.298762f, 0.195948f, -0.001786f, -0.150558f, -0.201169f, -0.249208f, -0.342968f, -0.379815f, -0.276823f, -0.123637f, -0.055321f, -0.064144f, -0.055372f, -0.019931f, -0.024681f, -0.071956f, -0.093125f, -0.072032f, -0.070681f, -0.124387f, -0.190477f, -0.213583f, -0.185140f, -0.129878f, -0.075285f, -0.037892f, -0.009897f, 0.037383f, 0.115172f, 0.192625f, 0.228584f, 0.214650f, 0.172116f, 0.122202f, 0.074293f, 0.031381f, -0.005454f, -0.033813f, -0.050480f, -0.060008f, -0.075967f, -0.106394f, -0.147540f, -0.197695f, -0.263287f, -0.345414f, -0.435440f, -0.527778f, -0.621378f, -0.708615f, -0.779992f, -0.837472f, -0.887412f, -0.928280f, -0.960992f, -0.998110f, -1.046834f, -1.099343f, -1.152347f, -1.213052f, -1.274952f, -1.316249f, -1.330774f, -1.328349f, -1.302567f, -1.238211f, -1.148431f, -1.058310f, -0.960029f, -0.838091f, -0.721675f, -0.643318f, -0.563976f, -0.420296f, -0.230992f, -0.067404f} - }, - { - { -0.008249f, -0.023875f, -0.041979f, -0.063309f, -0.073640f, -0.059262f, -0.011284f, 0.097582f, 0.285477f, 0.486324f, 0.572624f, 0.491726f, 0.316227f, 0.137033f, -0.012156f, -0.105624f, -0.104202f, -0.021615f, 0.074402f, 0.154222f, 0.237747f, 0.305961f, 0.296964f, 0.204183f, 0.092769f, 0.012136f, -0.031471f, -0.026266f, 0.038678f, 0.126072f, 0.180148f, 0.192426f, 0.183756f, 0.147374f, 0.063045f, -0.057919f, -0.184667f, -0.299635f, -0.393907f, -0.460136f, -0.506533f, -0.549402f, -0.588487f, -0.616178f, -0.639266f, -0.663562f, -0.678297f, -0.681604f, -0.692468f, -0.716955f, -0.738071f, -0.751671f, -0.771237f, -0.794008f, -0.808030f, -0.825704f, -0.862898f, -0.903459f, -0.930585f, -0.960504f, -1.001446f, -1.027630f, -1.034152f, -1.055212f, -1.095329f, -1.119803f, -1.134174f, -1.178290f, -1.233939f, -1.250091f, -1.249470f, -1.280087f, -1.296222f, -1.243131f, -1.194568f, -1.207898f, -1.128089f, -0.791051f, -0.344783f, -0.068924f}, - { -0.129176f, -0.372355f, -0.580936f, -0.731519f, -0.765299f, -0.638093f, -0.415763f, -0.262408f, -0.304775f, -0.530180f, -0.811605f, -0.996409f, -0.988773f, -0.810534f, -0.593000f, -0.465223f, -0.444154f, -0.461572f, -0.469589f, -0.460057f, -0.404974f, -0.264243f, -0.062429f, 0.112893f, 0.209151f, 0.254875f, 0.300256f, 0.363823f, 0.447014f, 0.550411f, 0.657817f, 0.738504f, 0.775995f, 0.773071f, 0.734806f, 0.672431f, 0.612396f, 0.573088f, 0.541817f, 0.496000f, 0.432424f, 0.358322f, 0.274224f, 0.183255f, 0.096563f, 0.015492f, -0.070928f, -0.163303f, -0.249973f, -0.330065f, -0.412884f, -0.495910f, -0.569287f, -0.635706f, -0.699812f, -0.749341f, -0.772273f, -0.776809f, -0.771105f, -0.745172f, -0.694274f, -0.633019f, -0.567658f, -0.486467f, -0.391507f, -0.301919f, -0.216594f, -0.116973f, -0.009649f, 0.082575f, 0.165971f, 0.256392f, 0.331306f, 0.367070f, 0.395334f, 0.440161f, 0.436284f, 0.315312f, 0.139811f, 0.028354f} - }, - { - { -0.129176f, -0.372355f, -0.580936f, -0.731519f, -0.765299f, -0.638093f, -0.415763f, -0.262408f, -0.304775f, -0.530180f, -0.811605f, -0.996409f, -0.988773f, -0.810534f, -0.593000f, -0.465223f, -0.444154f, -0.461572f, -0.469589f, -0.460057f, -0.404974f, -0.264243f, -0.062429f, 0.112893f, 0.209151f, 0.254875f, 0.300256f, 0.363823f, 0.447014f, 0.550411f, 0.657817f, 0.738504f, 0.775995f, 0.773071f, 0.734806f, 0.672431f, 0.612396f, 0.573088f, 0.541817f, 0.496000f, 0.432424f, 0.358322f, 0.274224f, 0.183255f, 0.096563f, 0.015492f, -0.070928f, -0.163303f, -0.249973f, -0.330065f, -0.412884f, -0.495910f, -0.569287f, -0.635706f, -0.699812f, -0.749341f, -0.772273f, -0.776809f, -0.771105f, -0.745172f, -0.694274f, -0.633019f, -0.567658f, -0.486467f, -0.391507f, -0.301919f, -0.216594f, -0.116973f, -0.009649f, 0.082575f, 0.165971f, 0.256392f, 0.331306f, 0.367070f, 0.395334f, 0.440161f, 0.436284f, 0.315312f, 0.139811f, 0.028354f}, - { -0.008249f, -0.023875f, -0.041979f, -0.063309f, -0.073640f, -0.059262f, -0.011284f, 0.097582f, 0.285477f, 0.486324f, 0.572624f, 0.491726f, 0.316227f, 0.137033f, -0.012156f, -0.105624f, -0.104202f, -0.021615f, 0.074402f, 0.154222f, 0.237747f, 0.305961f, 0.296964f, 0.204183f, 0.092769f, 0.012136f, -0.031471f, -0.026266f, 0.038678f, 0.126072f, 0.180148f, 0.192426f, 0.183756f, 0.147374f, 0.063045f, -0.057919f, -0.184667f, -0.299635f, -0.393907f, -0.460136f, -0.506533f, -0.549402f, -0.588487f, -0.616178f, -0.639266f, -0.663562f, -0.678297f, -0.681604f, -0.692468f, -0.716955f, -0.738071f, -0.751671f, -0.771237f, -0.794008f, -0.808030f, -0.825704f, -0.862898f, -0.903459f, -0.930585f, -0.960504f, -1.001446f, -1.027630f, -1.034152f, -1.055212f, -1.095329f, -1.119803f, -1.134174f, -1.178290f, -1.233939f, -1.250091f, -1.249470f, -1.280087f, -1.296222f, -1.243131f, -1.194568f, -1.207898f, -1.128089f, -0.791051f, -0.344783f, -0.068924f} - }, - { - { 0.008075f, 0.038401f, 0.092119f, 0.128962f, 0.079637f, -0.065053f, -0.204165f, -0.224635f, -0.140768f, -0.066458f, -0.050504f, -0.028394f, 0.040936f, 0.088066f, 0.037282f, -0.081872f, -0.194521f, -0.289072f, -0.394663f, -0.499173f, -0.562874f, -0.584190f, -0.592102f, -0.595436f, -0.585667f, -0.568122f, -0.553640f, -0.538921f, -0.519114f, -0.497646f, -0.470495f, -0.428155f, -0.379841f, -0.345508f, -0.322485f, -0.290690f, -0.246286f, -0.199763f, -0.151541f, -0.099834f, -0.057672f, -0.034172f, -0.017802f, -0.000878f, 0.004292f, -0.008040f, -0.024761f, -0.042033f, -0.071452f, -0.109073f, -0.134965f, -0.146883f, -0.157322f, -0.162505f, -0.153258f, -0.144070f, -0.152591f, -0.170264f, -0.188683f, -0.224375f, -0.283614f, -0.342228f, -0.390085f, -0.447088f, -0.512027f, -0.555207f, -0.578613f, -0.614251f, -0.655544f, -0.670096f, -0.675523f, -0.709585f, -0.743735f, -0.735534f, -0.731747f, -0.782838f, -0.795910f, -0.638017f, -0.353740f, -0.100737f}, - { -0.185046f, -0.533405f, -0.796105f, -0.894228f, -0.804452f, -0.603356f, -0.412000f, -0.290027f, -0.194076f, -0.045276f, 0.170549f, 0.381975f, 0.509347f, 0.543373f, 0.533437f, 0.514324f, 0.470452f, 0.370026f, 0.210592f, 0.024650f, -0.144992f, -0.270937f, -0.353268f, -0.409676f, -0.449497f, -0.461092f, -0.428614f, -0.351647f, -0.241101f, -0.106882f, 0.039551f, 0.178574f, 0.289123f, 0.359025f, 0.385395f, 0.371418f, 0.325610f, 0.258144f, 0.176512f, 0.088334f, 0.004181f, -0.068701f, -0.130850f, -0.183510f, -0.223524f, -0.249431f, -0.263934f, -0.266307f, -0.251421f, -0.218401f, -0.170386f, -0.106369f, -0.025129f, 0.064373f, 0.148277f, 0.219795f, 0.275208f, 0.305623f, 0.304678f, 0.275767f, 0.221954f, 0.141085f, 0.039338f, -0.065853f, -0.163340f, -0.251323f, -0.320332f, -0.355470f, -0.356285f, -0.330135f, -0.270928f, -0.173746f, -0.060564f, 0.042406f, 0.135600f, 0.213726f, 0.231029f, 0.159392f, 0.057068f, 0.005821f} - }, - { - { -0.185046f, -0.533405f, -0.796105f, -0.894228f, -0.804452f, -0.603356f, -0.412000f, -0.290027f, -0.194076f, -0.045276f, 0.170549f, 0.381975f, 0.509347f, 0.543373f, 0.533437f, 0.514324f, 0.470452f, 0.370026f, 0.210592f, 0.024650f, -0.144992f, -0.270937f, -0.353268f, -0.409676f, -0.449497f, -0.461092f, -0.428614f, -0.351647f, -0.241101f, -0.106882f, 0.039551f, 0.178574f, 0.289123f, 0.359025f, 0.385395f, 0.371418f, 0.325610f, 0.258144f, 0.176512f, 0.088334f, 0.004181f, -0.068701f, -0.130850f, -0.183510f, -0.223524f, -0.249431f, -0.263934f, -0.266307f, -0.251421f, -0.218401f, -0.170386f, -0.106369f, -0.025129f, 0.064373f, 0.148277f, 0.219795f, 0.275208f, 0.305623f, 0.304678f, 0.275767f, 0.221954f, 0.141085f, 0.039338f, -0.065853f, -0.163340f, -0.251323f, -0.320332f, -0.355470f, -0.356285f, -0.330135f, -0.270928f, -0.173746f, -0.060564f, 0.042406f, 0.135600f, 0.213726f, 0.231029f, 0.159392f, 0.057068f, 0.005821f}, - { 0.008075f, 0.038401f, 0.092119f, 0.128962f, 0.079637f, -0.065053f, -0.204165f, -0.224635f, -0.140768f, -0.066458f, -0.050504f, -0.028394f, 0.040936f, 0.088066f, 0.037282f, -0.081872f, -0.194521f, -0.289072f, -0.394663f, -0.499173f, -0.562874f, -0.584190f, -0.592102f, -0.595436f, -0.585667f, -0.568122f, -0.553640f, -0.538921f, -0.519114f, -0.497646f, -0.470495f, -0.428155f, -0.379841f, -0.345508f, -0.322485f, -0.290690f, -0.246286f, -0.199763f, -0.151541f, -0.099834f, -0.057672f, -0.034172f, -0.017802f, -0.000878f, 0.004292f, -0.008040f, -0.024761f, -0.042033f, -0.071452f, -0.109073f, -0.134965f, -0.146883f, -0.157322f, -0.162505f, -0.153258f, -0.144070f, -0.152591f, -0.170264f, -0.188683f, -0.224375f, -0.283614f, -0.342228f, -0.390085f, -0.447088f, -0.512027f, -0.555207f, -0.578613f, -0.614251f, -0.655544f, -0.670096f, -0.675523f, -0.709585f, -0.743735f, -0.735534f, -0.731747f, -0.782838f, -0.795910f, -0.638017f, -0.353740f, -0.100737f} - }, - { - { 0.000904f, 0.019079f, 0.059553f, 0.080705f, 0.034196f, -0.076830f, -0.193142f, -0.258252f, -0.268806f, -0.254990f, -0.228184f, -0.177744f, -0.115561f, -0.086453f, -0.119832f, -0.198441f, -0.290706f, -0.386796f, -0.482507f, -0.555089f, -0.585391f, -0.588459f, -0.595614f, -0.616524f, -0.639482f, -0.657203f, -0.671485f, -0.681113f, -0.683039f, -0.679975f, -0.675099f, -0.665460f, -0.647607f, -0.621543f, -0.584847f, -0.532515f, -0.465996f, -0.394252f, -0.325482f, -0.264963f, -0.217691f, -0.185088f, -0.163233f, -0.150126f, -0.147912f, -0.154002f, -0.160060f, -0.163355f, -0.168022f, -0.173673f, -0.175655f, -0.176533f, -0.183744f, -0.197756f, -0.215649f, -0.241146f, -0.277541f, -0.318350f, -0.357489f, -0.397941f, -0.439603f, -0.473662f, -0.498885f, -0.525211f, -0.553450f, -0.573005f, -0.584023f, -0.595757f, -0.601812f, -0.587350f, -0.558307f, -0.529550f, -0.493088f, -0.438500f, -0.389008f, -0.365560f, -0.332967f, -0.244399f, -0.123587f, -0.032071f}, - { -0.132162f, -0.397236f, -0.634303f, -0.771385f, -0.762505f, -0.658311f, -0.571695f, -0.558140f, -0.559785f, -0.494070f, -0.367521f, -0.255768f, -0.188621f, -0.115450f, 0.010262f, 0.169458f, 0.319455f, 0.446157f, 0.546073f, 0.599271f, 0.595696f, 0.559582f, 0.517646f, 0.465704f, 0.389674f, 0.295832f, 0.197897f, 0.094666f, -0.019874f, -0.140220f, -0.255773f, -0.358086f, -0.435284f, -0.476549f, -0.485983f, -0.475938f, -0.447530f, -0.394402f, -0.321446f, -0.242452f, -0.164819f, -0.091592f, -0.029697f, 0.018115f, 0.059537f, 0.100122f, 0.136881f, 0.171477f, 0.213363f, 0.263443f, 0.310946f, 0.348805f, 0.374651f, 0.378869f, 0.352030f, 0.300800f, 0.237909f, 0.164126f, 0.077292f, -0.014164f, -0.104092f, -0.197998f, -0.293956f, -0.374701f, -0.431205f, -0.469564f, -0.486835f, -0.470926f, -0.428871f, -0.379532f, -0.318676f, -0.231739f, -0.133210f, -0.045037f, 0.047998f, 0.159994f, 0.240253f, 0.223460f, 0.130155f, 0.037254f} - }, - { - { -0.132162f, -0.397236f, -0.634303f, -0.771385f, -0.762505f, -0.658311f, -0.571695f, -0.558140f, -0.559785f, -0.494070f, -0.367521f, -0.255768f, -0.188621f, -0.115450f, 0.010262f, 0.169458f, 0.319455f, 0.446157f, 0.546073f, 0.599271f, 0.595696f, 0.559582f, 0.517646f, 0.465704f, 0.389674f, 0.295832f, 0.197897f, 0.094666f, -0.019874f, -0.140220f, -0.255773f, -0.358086f, -0.435284f, -0.476549f, -0.485983f, -0.475938f, -0.447530f, -0.394402f, -0.321446f, -0.242452f, -0.164819f, -0.091592f, -0.029697f, 0.018115f, 0.059537f, 0.100122f, 0.136881f, 0.171477f, 0.213363f, 0.263443f, 0.310946f, 0.348805f, 0.374651f, 0.378869f, 0.352030f, 0.300800f, 0.237909f, 0.164126f, 0.077292f, -0.014164f, -0.104092f, -0.197998f, -0.293956f, -0.374701f, -0.431205f, -0.469564f, -0.486835f, -0.470926f, -0.428871f, -0.379532f, -0.318676f, -0.231739f, -0.133210f, -0.045037f, 0.047998f, 0.159994f, 0.240253f, 0.223460f, 0.130155f, 0.037254f}, - { 0.000904f, 0.019079f, 0.059553f, 0.080705f, 0.034196f, -0.076830f, -0.193142f, -0.258252f, -0.268806f, -0.254990f, -0.228184f, -0.177744f, -0.115561f, -0.086453f, -0.119832f, -0.198441f, -0.290706f, -0.386796f, -0.482507f, -0.555089f, -0.585391f, -0.588459f, -0.595614f, -0.616524f, -0.639482f, -0.657203f, -0.671485f, -0.681113f, -0.683039f, -0.679975f, -0.675099f, -0.665460f, -0.647607f, -0.621543f, -0.584847f, -0.532515f, -0.465996f, -0.394252f, -0.325482f, -0.264963f, -0.217691f, -0.185088f, -0.163233f, -0.150126f, -0.147912f, -0.154002f, -0.160060f, -0.163355f, -0.168022f, -0.173673f, -0.175655f, -0.176533f, -0.183744f, -0.197756f, -0.215649f, -0.241146f, -0.277541f, -0.318350f, -0.357489f, -0.397941f, -0.439603f, -0.473662f, -0.498885f, -0.525211f, -0.553450f, -0.573005f, -0.584023f, -0.595757f, -0.601812f, -0.587350f, -0.558307f, -0.529550f, -0.493088f, -0.438500f, -0.389008f, -0.365560f, -0.332967f, -0.244399f, -0.123587f, -0.032071f} - } -}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; - -/********************** Sample Rate = 48000 **********************/ - -const float CRendBin_HOA3_HRIR_latency_s_48kHz = 0.001333333319053f; -const int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz = 2; -const uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[16][BINAURAL_CHANNELS]={{2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2} }; -const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[16][BINAURAL_CHANNELS][2]={{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}}}; -const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz = 0; -const float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[16]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; -const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float CRendBin_HOA3_HRIR_coeff_re_48kHz[16][BINAURAL_CHANNELS][480]={ - { - {-0.007743f, -0.007558f, -0.007195f, -0.006666f, -0.005988f, -0.005184f, -0.004281f, -0.003308f, -0.002297f, -0.001282f, -0.000295f, 0.000632f, 0.001470f, 0.002193f, 0.002779f, 0.003212f, 0.003480f, 0.003577f, 0.003506f, 0.003272f, 0.002887f, 0.002371f, 0.001744f, 0.001033f, 0.000266f, -0.000524f, -0.001308f, -0.002054f, -0.002731f, -0.003314f, -0.003778f, -0.004105f, -0.004278f, -0.004290f, -0.004136f, -0.003818f, -0.003346f, -0.002730f, -0.001990f, -0.001147f, -0.000226f, 0.000744f, 0.001734f, 0.002716f, 0.003658f, 0.004535f, 0.005321f, 0.005993f, 0.006535f, 0.006932f, 0.007177f, 0.007266f, 0.007200f, 0.006986f, 0.006636f, 0.006164f, 0.005590f, 0.004934f, 0.004220f, 0.003472f, 0.002715f, 0.001972f, 0.001265f, 0.000614f, 0.000036f, -0.000456f, -0.000852f, -0.001146f, -0.001339f, -0.001431f, -0.001430f, -0.001345f, -0.001189f, -0.000977f, -0.000725f, -0.000450f, -0.000171f, 0.000097f, 0.000338f, 0.000538f, 0.000686f, 0.000774f, 0.000798f, 0.000755f, 0.000647f, 0.000478f, 0.000258f, -0.000005f, -0.000297f, -0.000604f, -0.000913f, -0.001206f, -0.001471f, -0.001692f, -0.001859f, -0.001960f, - -0.001990f, -0.001944f, -0.001821f, -0.001623f, -0.001356f, -0.001028f, -0.000650f, -0.000236f, 0.000198f, 0.000637f, 0.001062f, 0.001458f, 0.001807f, 0.002094f, 0.002307f, 0.002436f, 0.002471f, 0.002410f, 0.002250f, 0.001996f, 0.001651f, 0.001227f, 0.000734f, 0.000187f, -0.000397f, -0.001000f, -0.001604f, -0.002189f, -0.002738f, -0.003233f, -0.003660f, -0.004005f, -0.004258f, -0.004412f, -0.004464f, -0.004414f, -0.004263f, -0.004019f, -0.003691f, -0.003290f, -0.002831f, -0.002328f, -0.001799f, -0.001260f, -0.000729f, -0.000219f, 0.000253f, 0.000676f, 0.001039f, 0.001336f, 0.001560f, 0.001710f, 0.001787f, 0.001795f, 0.001740f, 0.001631f, 0.001477f, 0.001291f, 0.001084f, 0.000869f, 0.000659f, 0.000464f, 0.000294f, 0.000159f, 0.000065f, 0.000015f, 0.000012f, 0.000054f, 0.000139f, 0.000261f, 0.000413f, 0.000585f, 0.000768f, 0.000951f, 0.001122f, 0.001271f, 0.001387f, 0.001462f, 0.001487f, 0.001458f, 0.001371f, 0.001226f, 0.001024f, 0.000770f, 0.000469f, 0.000130f, -0.000237f, -0.000619f, -0.001004f, -0.001379f, -0.001731f, -0.002048f, -0.002318f, -0.002532f, -0.002681f, -0.002760f, - -0.002766f, -0.002698f, -0.002559f, -0.002353f, -0.002087f, -0.001772f, -0.001418f, -0.001038f, -0.000646f, -0.000256f, 0.000117f, 0.000461f, 0.000764f, 0.001013f, 0.001202f, 0.001322f, 0.001371f, 0.001348f, 0.001254f, 0.001093f, 0.000873f, 0.000602f, 0.000291f, -0.000048f, -0.000400f, -0.000753f, -0.001092f, -0.001406f, -0.001680f, -0.001907f, -0.002076f, -0.002182f, -0.002222f, -0.002195f, -0.002102f, -0.001947f, -0.001739f, -0.001485f, -0.001196f, -0.000885f, -0.000563f, -0.000245f, 0.000056f, 0.000329f, 0.000561f, 0.000745f, 0.000871f, 0.000936f, 0.874744f, 0.116038f, -0.662441f, -0.827243f, -0.402995f, 0.289219f, 0.777716f, 0.685468f, 0.185590f, -0.493054f, -0.845543f, -0.701112f, -0.169822f, 0.554816f, 0.803711f, 0.562077f, -0.069675f, -0.622495f, -0.781014f, -0.389092f, 0.215356f, 0.699522f, 0.690218f, 0.204725f, -0.389698f, -0.710518f, -0.532733f, -0.008668f, 0.516164f, 0.684794f, 0.399502f, -0.157365f, -0.611437f, -0.649130f, -0.248718f, 0.314094f, 0.667438f, 0.566124f, 0.102008f, -0.423539f, -0.611442f, -0.605219f, -0.119896f, 0.439049f, 0.716128f, 0.472981f, -0.083944f, -0.590980f, - -0.676140f, -0.304134f, 0.279336f, 0.670561f, 0.602354f, 0.111260f, -0.451186f, -0.697564f, -0.455095f, 0.073426f, 0.529809f, 0.615436f, 0.268620f, -0.258841f, -0.598350f, -0.541586f, -0.093143f, 0.452635f, 0.668540f, 0.437278f, -0.106588f, -0.567294f, -0.653630f, -0.294182f, 0.267007f, 0.638346f, 0.582978f, 0.123374f, -0.429176f, -0.700189f, -0.473598f, 0.049201f, 0.530224f, 0.600061f, 0.268114f, -0.222115f, -0.603516f, -0.549236f, -0.121190f, 0.409789f, 0.654206f, 0.450342f, -0.058339f, -0.539424f, -0.638139f, -0.303548f, 0.210202f, 0.613552f, 0.586286f, 0.181245f, -0.311242f, -0.603267f, -0.500979f, -0.070766f, 0.392784f, 0.575899f, 0.388449f, -0.079622f, -0.471543f, -0.550515f, -0.252483f, 0.225112f, 0.560233f, 0.501195f, 0.088979f, -0.389568f, -0.616564f, -0.388516f, 0.087457f, 0.516491f, 0.603478f, 0.270287f, -0.264257f, -0.628381f, -0.544418f, -0.085427f, 0.417717f, 0.625695f, 0.396777f, -0.104381f, -0.518951f, -0.566067f, -0.223737f, 0.251795f, 0.549033f, 0.465643f, 0.054492f, -0.371032f, -0.544392f, -0.348233f, 0.081606f, 0.465192f, 0.525950f, 0.228049f, -0.225864f, -0.513316f, - -0.444995f, -0.072351f, 0.338365f, 0.508348f, 0.313193f, -0.092672f, -0.444725f, -0.474146f, -0.170556f, 0.255870f, 0.483517f, 0.367405f, -0.019046f, -0.360357f, -0.458396f, -0.219427f, 0.183072f, 0.464582f, 0.399087f, 0.054445f, -0.355513f, -0.503123f, -0.266677f, 0.157341f, 0.472099f, 0.437246f, 0.064651f, -0.376213f, -0.543538f, -0.285626f, 0.200362f, 0.539895f, 0.464228f, 0.014684f, -0.447591f, -0.531674f, -0.222697f, 0.271333f, 0.544990f, 0.362913f, -0.136141f, -0.527405f, -0.465809f, 0.013651f, 0.482914f, 0.505125f, 0.046413f, -0.453673f, -0.499113f, -0.044012f, 0.432176f, 0.428347f, -0.038277f, -0.425444f, -0.285800f, 0.182464f, 0.345587f, -0.006216f, -0.239016f, -0.030037f, 0.092603f, 0.007249f, -0.019244f, -0.003579f, -0.000623f, -0.001458f, -0.001441f, -0.001327f, -0.002820f, -0.002466f, -0.001718f, -0.002159f, -0.001581f, -0.001010f, -0.001896f, -0.001492f, -0.002548f, -0.001642f, -0.001386f, -0.001124f, -0.000852f, -0.002251f, -0.001420f, -0.000767f, -0.002070f, -0.002048f, -0.001322f, -0.001390f, -0.001647f, -0.001369f, -0.002590f, -0.001041f, -0.001429f, -0.001899f, -0.000935f, -0.002037f}, - {-0.007743f, -0.007558f, -0.007195f, -0.006666f, -0.005988f, -0.005184f, -0.004281f, -0.003308f, -0.002297f, -0.001282f, -0.000295f, 0.000632f, 0.001470f, 0.002193f, 0.002779f, 0.003212f, 0.003480f, 0.003577f, 0.003506f, 0.003272f, 0.002887f, 0.002371f, 0.001744f, 0.001033f, 0.000266f, -0.000524f, -0.001308f, -0.002054f, -0.002731f, -0.003314f, -0.003778f, -0.004105f, -0.004278f, -0.004290f, -0.004136f, -0.003818f, -0.003346f, -0.002730f, -0.001990f, -0.001147f, -0.000226f, 0.000744f, 0.001734f, 0.002716f, 0.003658f, 0.004535f, 0.005321f, 0.005993f, 0.006535f, 0.006932f, 0.007177f, 0.007266f, 0.007200f, 0.006986f, 0.006636f, 0.006164f, 0.005590f, 0.004934f, 0.004220f, 0.003472f, 0.002715f, 0.001972f, 0.001265f, 0.000614f, 0.000036f, -0.000456f, -0.000852f, -0.001146f, -0.001339f, -0.001431f, -0.001430f, -0.001345f, -0.001189f, -0.000977f, -0.000725f, -0.000450f, -0.000171f, 0.000097f, 0.000338f, 0.000538f, 0.000686f, 0.000774f, 0.000798f, 0.000755f, 0.000647f, 0.000478f, 0.000258f, -0.000005f, -0.000297f, -0.000604f, -0.000913f, -0.001206f, -0.001471f, -0.001692f, -0.001859f, -0.001960f, - -0.001990f, -0.001944f, -0.001821f, -0.001623f, -0.001356f, -0.001028f, -0.000650f, -0.000236f, 0.000198f, 0.000637f, 0.001062f, 0.001458f, 0.001807f, 0.002094f, 0.002307f, 0.002436f, 0.002471f, 0.002410f, 0.002250f, 0.001996f, 0.001651f, 0.001227f, 0.000734f, 0.000187f, -0.000397f, -0.001000f, -0.001604f, -0.002189f, -0.002738f, -0.003233f, -0.003660f, -0.004005f, -0.004258f, -0.004412f, -0.004464f, -0.004414f, -0.004263f, -0.004019f, -0.003691f, -0.003290f, -0.002831f, -0.002328f, -0.001799f, -0.001260f, -0.000729f, -0.000219f, 0.000253f, 0.000676f, 0.001039f, 0.001336f, 0.001560f, 0.001710f, 0.001787f, 0.001795f, 0.001740f, 0.001631f, 0.001477f, 0.001291f, 0.001084f, 0.000869f, 0.000659f, 0.000464f, 0.000294f, 0.000159f, 0.000065f, 0.000015f, 0.000012f, 0.000054f, 0.000139f, 0.000261f, 0.000413f, 0.000585f, 0.000768f, 0.000951f, 0.001122f, 0.001271f, 0.001387f, 0.001462f, 0.001487f, 0.001458f, 0.001371f, 0.001226f, 0.001024f, 0.000770f, 0.000469f, 0.000130f, -0.000237f, -0.000619f, -0.001004f, -0.001379f, -0.001731f, -0.002048f, -0.002318f, -0.002532f, -0.002681f, -0.002760f, - -0.002766f, -0.002698f, -0.002559f, -0.002353f, -0.002087f, -0.001772f, -0.001418f, -0.001038f, -0.000646f, -0.000256f, 0.000117f, 0.000461f, 0.000764f, 0.001013f, 0.001202f, 0.001322f, 0.001371f, 0.001348f, 0.001254f, 0.001093f, 0.000873f, 0.000602f, 0.000291f, -0.000048f, -0.000400f, -0.000753f, -0.001092f, -0.001406f, -0.001680f, -0.001907f, -0.002076f, -0.002182f, -0.002222f, -0.002195f, -0.002102f, -0.001947f, -0.001739f, -0.001485f, -0.001196f, -0.000885f, -0.000563f, -0.000245f, 0.000056f, 0.000329f, 0.000561f, 0.000745f, 0.000871f, 0.000936f, 0.874744f, 0.116038f, -0.662441f, -0.827243f, -0.402995f, 0.289219f, 0.777716f, 0.685468f, 0.185590f, -0.493054f, -0.845543f, -0.701112f, -0.169822f, 0.554816f, 0.803711f, 0.562077f, -0.069675f, -0.622495f, -0.781014f, -0.389092f, 0.215356f, 0.699522f, 0.690218f, 0.204725f, -0.389698f, -0.710518f, -0.532733f, -0.008668f, 0.516164f, 0.684794f, 0.399502f, -0.157365f, -0.611437f, -0.649130f, -0.248718f, 0.314094f, 0.667438f, 0.566124f, 0.102008f, -0.423539f, -0.611442f, -0.605219f, -0.119896f, 0.439049f, 0.716128f, 0.472981f, -0.083944f, -0.590980f, - -0.676140f, -0.304134f, 0.279336f, 0.670561f, 0.602354f, 0.111260f, -0.451186f, -0.697564f, -0.455095f, 0.073426f, 0.529809f, 0.615436f, 0.268620f, -0.258841f, -0.598350f, -0.541586f, -0.093143f, 0.452635f, 0.668540f, 0.437278f, -0.106588f, -0.567294f, -0.653630f, -0.294182f, 0.267007f, 0.638346f, 0.582978f, 0.123374f, -0.429176f, -0.700189f, -0.473598f, 0.049201f, 0.530224f, 0.600061f, 0.268114f, -0.222115f, -0.603516f, -0.549236f, -0.121190f, 0.409789f, 0.654206f, 0.450342f, -0.058339f, -0.539424f, -0.638139f, -0.303548f, 0.210202f, 0.613552f, 0.586286f, 0.181245f, -0.311242f, -0.603267f, -0.500979f, -0.070766f, 0.392784f, 0.575899f, 0.388449f, -0.079622f, -0.471543f, -0.550515f, -0.252483f, 0.225112f, 0.560233f, 0.501195f, 0.088979f, -0.389568f, -0.616564f, -0.388516f, 0.087457f, 0.516491f, 0.603478f, 0.270287f, -0.264257f, -0.628381f, -0.544418f, -0.085427f, 0.417717f, 0.625695f, 0.396777f, -0.104381f, -0.518951f, -0.566067f, -0.223737f, 0.251795f, 0.549033f, 0.465643f, 0.054492f, -0.371032f, -0.544392f, -0.348233f, 0.081606f, 0.465192f, 0.525950f, 0.228049f, -0.225864f, -0.513316f, - -0.444995f, -0.072351f, 0.338365f, 0.508348f, 0.313193f, -0.092672f, -0.444725f, -0.474146f, -0.170556f, 0.255870f, 0.483517f, 0.367405f, -0.019046f, -0.360357f, -0.458396f, -0.219427f, 0.183072f, 0.464582f, 0.399087f, 0.054445f, -0.355513f, -0.503123f, -0.266677f, 0.157341f, 0.472099f, 0.437246f, 0.064651f, -0.376213f, -0.543538f, -0.285626f, 0.200362f, 0.539895f, 0.464228f, 0.014684f, -0.447591f, -0.531674f, -0.222697f, 0.271333f, 0.544990f, 0.362913f, -0.136141f, -0.527405f, -0.465809f, 0.013651f, 0.482914f, 0.505125f, 0.046413f, -0.453673f, -0.499113f, -0.044012f, 0.432176f, 0.428347f, -0.038277f, -0.425444f, -0.285800f, 0.182464f, 0.345587f, -0.006216f, -0.239016f, -0.030037f, 0.092603f, 0.007249f, -0.019244f, -0.003579f, -0.000623f, -0.001458f, -0.001441f, -0.001327f, -0.002820f, -0.002466f, -0.001718f, -0.002159f, -0.001581f, -0.001010f, -0.001896f, -0.001492f, -0.002548f, -0.001642f, -0.001386f, -0.001124f, -0.000852f, -0.002251f, -0.001420f, -0.000767f, -0.002070f, -0.002048f, -0.001322f, -0.001390f, -0.001647f, -0.001369f, -0.002590f, -0.001041f, -0.001429f, -0.001899f, -0.000935f, -0.002037f} - }, - { - {-0.000037f, -0.000125f, -0.000295f, -0.000533f, -0.000818f, -0.001126f, -0.001426f, -0.001686f, -0.001873f, -0.001953f, -0.001893f, -0.001665f, -0.001246f, -0.000616f, 0.000234f, 0.001309f, 0.002601f, 0.004098f, 0.005777f, 0.007606f, 0.009548f, 0.011558f, 0.013587f, 0.015580f, 0.017483f, 0.019242f, 0.020802f, 0.022115f, 0.023135f, 0.023826f, 0.024158f, 0.024112f, 0.023679f, 0.022860f, 0.021667f, 0.020125f, 0.018265f, 0.016132f, 0.013774f, 0.011251f, 0.008623f, 0.005956f, 0.003315f, 0.000767f, -0.001627f, -0.003810f, -0.005730f, -0.007346f, -0.008623f, -0.009538f, -0.010079f, -0.010244f, -0.010044f, -0.009498f, -0.008635f, -0.007496f, -0.006125f, -0.004574f, -0.002898f, -0.001155f, 0.000596f, 0.002300f, 0.003903f, 0.005356f, 0.006618f, 0.007653f, 0.008436f, 0.008949f, 0.009183f, 0.009140f, 0.008829f, 0.008268f, 0.007483f, 0.006506f, 0.005372f, 0.004123f, 0.002800f, 0.001448f, 0.000107f, -0.001182f, -0.002383f, -0.003463f, -0.004396f, -0.005161f, -0.005746f, -0.006142f, -0.006349f, -0.006372f, -0.006224f, -0.005920f, -0.005481f, -0.004930f, -0.004295f, -0.003601f, -0.002875f, -0.002144f, - -0.001432f, -0.000759f, -0.000144f, 0.000400f, 0.000863f, 0.001239f, 0.001527f, 0.001729f, 0.001852f, 0.001905f, 0.001897f, 0.001844f, 0.001757f, 0.001651f, 0.001538f, 0.001430f, 0.001336f, 0.001264f, 0.001219f, 0.001201f, 0.001209f, 0.001240f, 0.001287f, 0.001341f, 0.001392f, 0.001429f, 0.001440f, 0.001414f, 0.001341f, 0.001213f, 0.001024f, 0.000769f, 0.000449f, 0.000067f, -0.000372f, -0.000859f, -0.001380f, -0.001922f, -0.002467f, -0.002996f, -0.003492f, -0.003934f, -0.004305f, -0.004588f, -0.004769f, -0.004837f, -0.004783f, -0.004606f, -0.004304f, -0.003885f, -0.003356f, -0.002733f, -0.002032f, -0.001275f, -0.000484f, 0.000315f, 0.001096f, 0.001834f, 0.002503f, 0.003081f, 0.003548f, 0.003887f, 0.004087f, 0.004138f, 0.004040f, 0.003796f, 0.003412f, 0.002903f, 0.002285f, 0.001582f, 0.000816f, 0.000016f, -0.000791f, -0.001574f, -0.002307f, -0.002963f, -0.003518f, -0.003951f, -0.004247f, -0.004395f, -0.004389f, -0.004228f, -0.003918f, -0.003469f, -0.002898f, -0.002223f, -0.001468f, -0.000659f, 0.000175f, 0.001005f, 0.001803f, 0.002542f, 0.003197f, 0.003745f, 0.004170f, 0.004457f, - 0.004599f, 0.004593f, 0.004441f, 0.004153f, 0.003740f, 0.003220f, 0.002614f, 0.001946f, 0.001242f, 0.000529f, -0.000165f, -0.000816f, -0.001399f, -0.001893f, -0.002282f, -0.002551f, -0.002692f, -0.002704f, -0.002586f, -0.002347f, -0.001998f, -0.001555f, -0.001036f, -0.000465f, 0.000136f, 0.000741f, 0.001325f, 0.001865f, 0.002340f, 0.002729f, 0.003019f, 0.003197f, 0.003258f, 0.003199f, 0.003023f, 0.002738f, 0.002356f, 0.001893f, 0.001368f, 0.000803f, 0.000221f, -0.000355f, -0.000900f, -0.001394f, -0.001815f, -0.002146f, -0.002375f, -0.002492f, 0.102067f, 0.340374f, 0.253576f, -0.392824f, -0.863480f, -0.541285f, 0.348747f, 0.908338f, 0.675127f, 0.029763f, -0.332153f, -0.699319f, -0.237615f, 0.263874f, 0.599313f, 0.464551f, 0.108943f, -0.429287f, -0.590275f, -0.410124f, 0.075999f, 0.451859f, 0.602381f, 0.261955f, -0.272532f, -0.611835f, -0.494864f, -0.123053f, 0.374729f, 0.621529f, 0.458242f, 0.034874f, -0.487088f, -0.663934f, -0.416264f, 0.141788f, 0.610468f, 0.748296f, 0.313634f, -0.331232f, -0.814857f, -0.565392f, 0.019484f, 0.617619f, 0.797305f, 0.434767f, -0.248637f, -0.751056f, - -0.724588f, -0.188109f, 0.430504f, 0.771733f, 0.576749f, 0.008453f, -0.604160f, -0.760334f, -0.426276f, 0.190034f, 0.626999f, 0.665805f, 0.215852f, -0.370023f, -0.714810f, -0.578496f, -0.065875f, 0.452677f, 0.808784f, 0.610411f, -0.009182f, -0.639069f, -0.817950f, -0.473376f, 0.228548f, 0.746920f, 0.794849f, 0.274199f, -0.440060f, -0.846523f, -0.713642f, -0.056773f, 0.601525f, 0.786555f, 0.464751f, -0.138588f, -0.713334f, -0.747887f, -0.263577f, 0.412564f, 0.819784f, 0.649608f, 0.052727f, -0.553307f, -0.819208f, -0.502275f, 0.100429f, 0.679034f, 0.756242f, 0.347214f, -0.301781f, -0.727920f, -0.654618f, -0.125292f, 0.484910f, 0.738531f, 0.520485f, -0.083904f, -0.617421f, -0.729817f, -0.287874f, 0.330201f, 0.740371f, 0.602818f, 0.067640f, -0.527236f, -0.755411f, -0.426334f, 0.208118f, 0.688928f, 0.733810f, 0.282400f, -0.391717f, -0.764435f, -0.614978f, -0.059433f, 0.532077f, 0.757324f, 0.440711f, -0.155543f, -0.625442f, -0.635152f, -0.221708f, 0.327142f, 0.664040f, 0.523697f, 0.026158f, -0.479470f, -0.651830f, -0.387733f, 0.140806f, 0.584307f, 0.618295f, 0.236836f, -0.300408f, -0.633192f, - -0.514642f, -0.027482f, 0.456828f, 0.622653f, 0.365466f, -0.159245f, -0.572755f, -0.570376f, -0.176307f, 0.353824f, 0.612098f, 0.441220f, -0.055421f, -0.467380f, -0.571616f, -0.254627f, 0.252806f, 0.617633f, 0.502197f, 0.048927f, -0.469973f, -0.648555f, -0.325167f, 0.222546f, 0.618981f, 0.552694f, 0.073944f, -0.489228f, -0.693035f, -0.373494f, 0.256126f, 0.688764f, 0.589141f, 0.010161f, -0.569339f, -0.768008f, -0.278704f, 0.453206f, 0.830687f, 0.518906f, -0.222511f, -0.778247f, -0.654275f, 0.052124f, 0.715401f, 0.722228f, 0.066974f, -0.638539f, -0.706863f, -0.078273f, 0.610052f, 0.635849f, -0.009045f, -0.598320f, -0.447012f, 0.239234f, 0.532691f, 0.030543f, -0.354172f, -0.057609f, 0.147463f, 0.024064f, -0.022992f, -0.000013f, 0.004885f, 0.003122f, 0.002322f, 0.001677f, 0.002744f, 0.004802f, 0.004419f, 0.003188f, 0.002682f, 0.001137f, 0.001908f, 0.002869f, 0.003807f, 0.001619f, 0.002752f, 0.001867f, 0.003558f, 0.003116f, 0.000532f, 0.003231f, 0.001722f, 0.002239f, 0.004198f, 0.001317f, 0.004158f, 0.002167f, 0.003823f, 0.002629f, 0.002598f, 0.003009f, 0.002802f, 0.005357f}, - {0.000037f, 0.000125f, 0.000295f, 0.000533f, 0.000818f, 0.001126f, 0.001426f, 0.001686f, 0.001873f, 0.001953f, 0.001893f, 0.001665f, 0.001246f, 0.000616f, -0.000234f, -0.001309f, -0.002601f, -0.004098f, -0.005777f, -0.007606f, -0.009548f, -0.011558f, -0.013587f, -0.015580f, -0.017483f, -0.019242f, -0.020802f, -0.022115f, -0.023135f, -0.023826f, -0.024158f, -0.024112f, -0.023679f, -0.022860f, -0.021667f, -0.020125f, -0.018265f, -0.016132f, -0.013774f, -0.011251f, -0.008623f, -0.005956f, -0.003315f, -0.000767f, 0.001627f, 0.003810f, 0.005730f, 0.007346f, 0.008623f, 0.009538f, 0.010079f, 0.010244f, 0.010044f, 0.009498f, 0.008635f, 0.007496f, 0.006125f, 0.004574f, 0.002898f, 0.001155f, -0.000596f, -0.002300f, -0.003903f, -0.005356f, -0.006618f, -0.007653f, -0.008436f, -0.008949f, -0.009183f, -0.009140f, -0.008829f, -0.008268f, -0.007483f, -0.006506f, -0.005372f, -0.004123f, -0.002800f, -0.001448f, -0.000107f, 0.001182f, 0.002383f, 0.003463f, 0.004396f, 0.005161f, 0.005746f, 0.006142f, 0.006349f, 0.006372f, 0.006224f, 0.005920f, 0.005481f, 0.004930f, 0.004295f, 0.003601f, 0.002875f, 0.002144f, - 0.001432f, 0.000759f, 0.000144f, -0.000400f, -0.000863f, -0.001239f, -0.001527f, -0.001729f, -0.001852f, -0.001905f, -0.001897f, -0.001844f, -0.001757f, -0.001651f, -0.001538f, -0.001430f, -0.001336f, -0.001264f, -0.001219f, -0.001201f, -0.001209f, -0.001240f, -0.001287f, -0.001341f, -0.001392f, -0.001429f, -0.001440f, -0.001414f, -0.001341f, -0.001213f, -0.001024f, -0.000769f, -0.000449f, -0.000067f, 0.000372f, 0.000859f, 0.001380f, 0.001922f, 0.002467f, 0.002996f, 0.003492f, 0.003934f, 0.004305f, 0.004588f, 0.004769f, 0.004837f, 0.004783f, 0.004606f, 0.004304f, 0.003885f, 0.003356f, 0.002733f, 0.002032f, 0.001275f, 0.000484f, -0.000315f, -0.001096f, -0.001834f, -0.002503f, -0.003081f, -0.003548f, -0.003887f, -0.004087f, -0.004138f, -0.004040f, -0.003796f, -0.003412f, -0.002903f, -0.002285f, -0.001582f, -0.000816f, -0.000016f, 0.000791f, 0.001574f, 0.002307f, 0.002963f, 0.003518f, 0.003951f, 0.004247f, 0.004395f, 0.004389f, 0.004228f, 0.003918f, 0.003469f, 0.002898f, 0.002223f, 0.001468f, 0.000659f, -0.000175f, -0.001005f, -0.001803f, -0.002542f, -0.003197f, -0.003745f, -0.004170f, -0.004457f, - -0.004599f, -0.004593f, -0.004441f, -0.004153f, -0.003740f, -0.003220f, -0.002614f, -0.001946f, -0.001242f, -0.000529f, 0.000165f, 0.000816f, 0.001399f, 0.001893f, 0.002282f, 0.002551f, 0.002692f, 0.002704f, 0.002586f, 0.002347f, 0.001998f, 0.001555f, 0.001036f, 0.000465f, -0.000136f, -0.000741f, -0.001325f, -0.001865f, -0.002340f, -0.002729f, -0.003019f, -0.003197f, -0.003258f, -0.003199f, -0.003023f, -0.002738f, -0.002356f, -0.001893f, -0.001368f, -0.000803f, -0.000221f, 0.000355f, 0.000900f, 0.001394f, 0.001815f, 0.002146f, 0.002375f, 0.002492f, -0.102067f, -0.340374f, -0.253576f, 0.392824f, 0.863480f, 0.541285f, -0.348747f, -0.908338f, -0.675127f, -0.029763f, 0.332153f, 0.699319f, 0.237615f, -0.263874f, -0.599313f, -0.464551f, -0.108943f, 0.429287f, 0.590275f, 0.410124f, -0.075999f, -0.451859f, -0.602381f, -0.261955f, 0.272532f, 0.611835f, 0.494864f, 0.123053f, -0.374729f, -0.621529f, -0.458242f, -0.034874f, 0.487088f, 0.663934f, 0.416264f, -0.141788f, -0.610468f, -0.748296f, -0.313634f, 0.331232f, 0.814857f, 0.565392f, -0.019484f, -0.617619f, -0.797305f, -0.434767f, 0.248637f, 0.751056f, - 0.724588f, 0.188109f, -0.430504f, -0.771733f, -0.576749f, -0.008453f, 0.604160f, 0.760334f, 0.426276f, -0.190034f, -0.626999f, -0.665805f, -0.215852f, 0.370023f, 0.714810f, 0.578496f, 0.065875f, -0.452677f, -0.808784f, -0.610411f, 0.009182f, 0.639069f, 0.817950f, 0.473376f, -0.228548f, -0.746920f, -0.794849f, -0.274199f, 0.440060f, 0.846523f, 0.713642f, 0.056773f, -0.601525f, -0.786555f, -0.464751f, 0.138588f, 0.713334f, 0.747887f, 0.263577f, -0.412564f, -0.819784f, -0.649608f, -0.052727f, 0.553307f, 0.819208f, 0.502275f, -0.100429f, -0.679034f, -0.756242f, -0.347214f, 0.301781f, 0.727920f, 0.654618f, 0.125292f, -0.484910f, -0.738531f, -0.520485f, 0.083904f, 0.617421f, 0.729817f, 0.287874f, -0.330201f, -0.740371f, -0.602818f, -0.067640f, 0.527236f, 0.755411f, 0.426334f, -0.208118f, -0.688928f, -0.733810f, -0.282400f, 0.391717f, 0.764435f, 0.614978f, 0.059433f, -0.532077f, -0.757324f, -0.440711f, 0.155543f, 0.625442f, 0.635152f, 0.221708f, -0.327142f, -0.664040f, -0.523697f, -0.026158f, 0.479470f, 0.651830f, 0.387733f, -0.140806f, -0.584307f, -0.618295f, -0.236836f, 0.300408f, 0.633192f, - 0.514642f, 0.027482f, -0.456828f, -0.622653f, -0.365466f, 0.159245f, 0.572755f, 0.570376f, 0.176307f, -0.353824f, -0.612098f, -0.441220f, 0.055421f, 0.467380f, 0.571616f, 0.254627f, -0.252806f, -0.617633f, -0.502197f, -0.048927f, 0.469973f, 0.648555f, 0.325167f, -0.222546f, -0.618981f, -0.552694f, -0.073944f, 0.489228f, 0.693035f, 0.373494f, -0.256126f, -0.688764f, -0.589141f, -0.010161f, 0.569339f, 0.768008f, 0.278704f, -0.453206f, -0.830687f, -0.518906f, 0.222511f, 0.778247f, 0.654275f, -0.052124f, -0.715401f, -0.722228f, -0.066974f, 0.638539f, 0.706863f, 0.078273f, -0.610052f, -0.635849f, 0.009045f, 0.598320f, 0.447012f, -0.239234f, -0.532691f, -0.030543f, 0.354172f, 0.057609f, -0.147463f, -0.024064f, 0.022992f, 0.000013f, -0.004885f, -0.003122f, -0.002322f, -0.001677f, -0.002744f, -0.004802f, -0.004419f, -0.003188f, -0.002682f, -0.001137f, -0.001908f, -0.002869f, -0.003807f, -0.001619f, -0.002752f, -0.001867f, -0.003558f, -0.003116f, -0.000532f, -0.003231f, -0.001722f, -0.002239f, -0.004198f, -0.001317f, -0.004158f, -0.002167f, -0.003823f, -0.002629f, -0.002598f, -0.003009f, -0.002802f, -0.005357f} - }, - { - {0.057990f, 0.057551f, 0.056676f, 0.055371f, 0.053644f, 0.051507f, 0.048977f, 0.046072f, 0.042817f, 0.039239f, 0.035373f, 0.031256f, 0.026931f, 0.022447f, 0.017856f, 0.013215f, 0.008585f, 0.004028f, -0.000390f, -0.004604f, -0.008549f, -0.012161f, -0.015382f, -0.018157f, -0.020438f, -0.022185f, -0.023367f, -0.023963f, -0.023964f, -0.023372f, -0.022202f, -0.020480f, -0.018246f, -0.015550f, -0.012453f, -0.009027f, -0.005348f, -0.001502f, 0.002422f, 0.006333f, 0.010141f, 0.013758f, 0.017100f, 0.020090f, 0.022660f, 0.024752f, 0.026322f, 0.027338f, 0.027781f, 0.027647f, 0.026950f, 0.025713f, 0.023975f, 0.021790f, 0.019218f, 0.016332f, 0.013210f, 0.009937f, 0.006599f, 0.003282f, 0.000072f, -0.002950f, -0.005713f, -0.008148f, -0.010202f, -0.011830f, -0.013001f, -0.013695f, -0.013909f, -0.013649f, -0.012937f, -0.011804f, -0.010294f, -0.008458f, -0.006355f, -0.004051f, -0.001614f, 0.000887f, 0.003382f, 0.005806f, 0.008094f, 0.010193f, 0.012051f, 0.013630f, 0.014897f, 0.015832f, 0.016424f, 0.016670f, 0.016581f, 0.016172f, 0.015469f, 0.014504f, 0.013315f, 0.011944f, 0.010435f, 0.008834f, - 0.007186f, 0.005535f, 0.003922f, 0.002385f, 0.000955f, -0.000341f, -0.001482f, -0.002453f, -0.003245f, -0.003857f, -0.004292f, -0.004558f, -0.004668f, -0.004638f, -0.004488f, -0.004237f, -0.003909f, -0.003524f, -0.003104f, -0.002668f, -0.002234f, -0.001816f, -0.001426f, -0.001073f, -0.000762f, -0.000497f, -0.000277f, -0.000099f, 0.000041f, 0.000150f, 0.000234f, 0.000301f, 0.000359f, 0.000415f, 0.000474f, 0.000542f, 0.000621f, 0.000713f, 0.000817f, 0.000931f, 0.001050f, 0.001170f, 0.001285f, 0.001386f, 0.001467f, 0.001521f, 0.001540f, 0.001520f, 0.001457f, 0.001347f, 0.001191f, 0.000991f, 0.000749f, 0.000474f, 0.000172f, -0.000147f, -0.000470f, -0.000786f, -0.001081f, -0.001342f, -0.001557f, -0.001713f, -0.001800f, -0.001808f, -0.001733f, -0.001568f, -0.001314f, -0.000971f, -0.000544f, -0.000040f, 0.000530f, 0.001156f, 0.001823f, 0.002515f, 0.003216f, 0.003911f, 0.004581f, 0.005211f, 0.005787f, 0.006296f, 0.006726f, 0.007071f, 0.007323f, 0.007481f, 0.007545f, 0.007518f, 0.007406f, 0.007217f, 0.006961f, 0.006651f, 0.006300f, 0.005922f, 0.005531f, 0.005141f, 0.004765f, 0.004415f, - 0.004100f, 0.003830f, 0.003610f, 0.003444f, 0.003334f, 0.003277f, 0.003271f, 0.003311f, 0.003390f, 0.003499f, 0.003630f, 0.003772f, 0.003916f, 0.004053f, 0.004174f, 0.004271f, 0.004338f, 0.004371f, 0.004367f, 0.004324f, 0.004246f, 0.004133f, 0.003990f, 0.003824f, 0.003641f, 0.003450f, 0.003257f, 0.003073f, 0.002903f, 0.002757f, 0.002639f, 0.002555f, 0.002508f, 0.002500f, 0.002531f, 0.002600f, 0.002703f, 0.002835f, 0.002991f, 0.003163f, 0.003343f, 0.003525f, 0.003698f, 0.003857f, 0.003993f, 0.004101f, 0.004175f, 0.004213f, 0.025493f, -0.047455f, -0.206540f, -0.180737f, 0.076698f, 0.007288f, -0.166173f, -0.202836f, -0.244911f, -0.225975f, -0.104465f, 0.272194f, 0.125062f, 0.081907f, 0.216402f, -0.010589f, -0.079220f, -0.139664f, -0.034890f, -0.030574f, 0.087613f, 0.152898f, 0.252140f, 0.072496f, -0.131820f, -0.186218f, 0.030134f, 0.161903f, 0.228954f, 0.120766f, -0.019227f, -0.224895f, -0.167825f, -0.058346f, 0.178973f, 0.240116f, 0.161527f, -0.083111f, -0.165331f, -0.176407f, 0.041491f, -0.197156f, -0.142013f, -0.004267f, 0.188880f, 0.191319f, 0.081722f, -0.127133f, - -0.228454f, -0.207586f, 0.057983f, 0.248368f, 0.308434f, 0.142332f, -0.137033f, -0.397708f, -0.321202f, 0.011995f, 0.416821f, 0.511799f, 0.290059f, -0.186803f, -0.492613f, -0.494386f, -0.057184f, 0.388077f, 0.468303f, 0.122035f, -0.298587f, -0.493250f, -0.282021f, 0.102010f, 0.381789f, 0.379117f, 0.065081f, -0.263329f, -0.364143f, -0.234270f, 0.158247f, 0.329315f, 0.263075f, 0.012767f, -0.234963f, -0.319959f, -0.150808f, 0.078276f, 0.254248f, 0.216596f, 0.039173f, -0.127683f, -0.202735f, -0.151174f, -0.029901f, 0.045948f, 0.133607f, 0.107376f, -0.003139f, -0.091457f, -0.149897f, -0.078458f, 0.129406f, 0.250965f, 0.193469f, -0.015697f, -0.286780f, -0.327940f, -0.123900f, 0.166658f, 0.337032f, 0.283810f, 0.025301f, -0.238622f, -0.299722f, -0.161796f, 0.128558f, 0.255374f, 0.237808f, 0.030703f, -0.148637f, -0.247569f, -0.123435f, 0.005753f, 0.131947f, 0.168550f, 0.092217f, -0.010030f, -0.064929f, -0.098678f, -0.091864f, -0.053448f, 0.029236f, 0.072744f, 0.087151f, 0.035778f, -0.028064f, -0.088679f, -0.082291f, -0.042768f, 0.033241f, 0.094467f, 0.076939f, 0.019309f, -0.045104f, -0.073694f, - -0.046734f, -0.009283f, 0.052709f, 0.072200f, 0.025338f, -0.010891f, -0.047185f, -0.046494f, -0.008576f, 0.031316f, 0.055596f, 0.012706f, -0.012001f, -0.047642f, -0.041810f, -0.002784f, 0.043247f, 0.027354f, 0.016670f, -0.016791f, -0.046652f, -0.032431f, -0.010611f, 0.027002f, 0.032900f, 0.008735f, -0.024343f, -0.040507f, -0.015884f, 0.019326f, 0.016809f, -0.008429f, -0.037666f, -0.036170f, -0.016857f, -0.024047f, 0.089287f, 0.114137f, 0.047188f, -0.081205f, -0.128577f, -0.055059f, 0.088676f, 0.143960f, 0.052069f, -0.101950f, -0.145637f, -0.031726f, 0.118112f, 0.128265f, -0.007591f, -0.128859f, -0.086502f, 0.055411f, 0.113541f, 0.010025f, -0.092906f, -0.036297f, 0.057924f, 0.017587f, -0.023888f, -0.005725f, 0.005014f, -0.001565f, -0.000171f, -0.000855f, 0.000693f, 0.000005f, -0.000326f, -0.002626f, -0.001412f, -0.001083f, -0.001205f, -0.000870f, -0.000136f, -0.001613f, -0.000940f, -0.003150f, -0.001555f, -0.000591f, 0.000728f, 0.000136f, -0.000155f, -0.000405f, -0.000913f, -0.001417f, -0.001185f, -0.001152f, -0.000419f, -0.000418f, -0.000787f, -0.000272f, -0.000412f, -0.000635f, -0.001489f, -0.001892f}, - {0.057990f, 0.057551f, 0.056676f, 0.055371f, 0.053644f, 0.051507f, 0.048977f, 0.046072f, 0.042817f, 0.039239f, 0.035373f, 0.031256f, 0.026931f, 0.022447f, 0.017856f, 0.013215f, 0.008585f, 0.004028f, -0.000390f, -0.004604f, -0.008549f, -0.012161f, -0.015382f, -0.018157f, -0.020438f, -0.022185f, -0.023367f, -0.023963f, -0.023964f, -0.023372f, -0.022202f, -0.020480f, -0.018246f, -0.015550f, -0.012453f, -0.009027f, -0.005348f, -0.001502f, 0.002422f, 0.006333f, 0.010141f, 0.013758f, 0.017100f, 0.020090f, 0.022660f, 0.024752f, 0.026322f, 0.027338f, 0.027781f, 0.027647f, 0.026950f, 0.025713f, 0.023975f, 0.021790f, 0.019218f, 0.016332f, 0.013210f, 0.009937f, 0.006599f, 0.003282f, 0.000072f, -0.002950f, -0.005713f, -0.008148f, -0.010202f, -0.011830f, -0.013001f, -0.013695f, -0.013909f, -0.013649f, -0.012937f, -0.011804f, -0.010294f, -0.008458f, -0.006355f, -0.004051f, -0.001614f, 0.000887f, 0.003382f, 0.005806f, 0.008094f, 0.010193f, 0.012051f, 0.013630f, 0.014897f, 0.015832f, 0.016424f, 0.016670f, 0.016581f, 0.016172f, 0.015469f, 0.014504f, 0.013315f, 0.011944f, 0.010435f, 0.008834f, - 0.007186f, 0.005535f, 0.003922f, 0.002385f, 0.000955f, -0.000341f, -0.001482f, -0.002453f, -0.003245f, -0.003857f, -0.004292f, -0.004558f, -0.004668f, -0.004638f, -0.004488f, -0.004237f, -0.003909f, -0.003524f, -0.003104f, -0.002668f, -0.002234f, -0.001816f, -0.001426f, -0.001073f, -0.000762f, -0.000497f, -0.000277f, -0.000099f, 0.000041f, 0.000150f, 0.000234f, 0.000301f, 0.000359f, 0.000415f, 0.000474f, 0.000542f, 0.000621f, 0.000713f, 0.000817f, 0.000931f, 0.001050f, 0.001170f, 0.001285f, 0.001386f, 0.001467f, 0.001521f, 0.001540f, 0.001520f, 0.001457f, 0.001347f, 0.001191f, 0.000991f, 0.000749f, 0.000474f, 0.000172f, -0.000147f, -0.000470f, -0.000786f, -0.001081f, -0.001342f, -0.001557f, -0.001713f, -0.001800f, -0.001808f, -0.001733f, -0.001568f, -0.001314f, -0.000971f, -0.000544f, -0.000040f, 0.000530f, 0.001156f, 0.001823f, 0.002515f, 0.003216f, 0.003911f, 0.004581f, 0.005211f, 0.005787f, 0.006296f, 0.006726f, 0.007071f, 0.007323f, 0.007481f, 0.007545f, 0.007518f, 0.007406f, 0.007217f, 0.006961f, 0.006651f, 0.006300f, 0.005922f, 0.005531f, 0.005141f, 0.004765f, 0.004415f, - 0.004100f, 0.003830f, 0.003610f, 0.003444f, 0.003334f, 0.003277f, 0.003271f, 0.003311f, 0.003390f, 0.003499f, 0.003630f, 0.003772f, 0.003916f, 0.004053f, 0.004174f, 0.004271f, 0.004338f, 0.004371f, 0.004367f, 0.004324f, 0.004246f, 0.004133f, 0.003990f, 0.003824f, 0.003641f, 0.003450f, 0.003257f, 0.003073f, 0.002903f, 0.002757f, 0.002639f, 0.002555f, 0.002508f, 0.002500f, 0.002531f, 0.002600f, 0.002703f, 0.002835f, 0.002991f, 0.003163f, 0.003343f, 0.003525f, 0.003698f, 0.003857f, 0.003993f, 0.004101f, 0.004175f, 0.004213f, 0.025493f, -0.047455f, -0.206540f, -0.180737f, 0.076698f, 0.007288f, -0.166173f, -0.202836f, -0.244911f, -0.225975f, -0.104465f, 0.272194f, 0.125062f, 0.081907f, 0.216402f, -0.010589f, -0.079220f, -0.139664f, -0.034890f, -0.030574f, 0.087613f, 0.152898f, 0.252140f, 0.072496f, -0.131820f, -0.186218f, 0.030134f, 0.161903f, 0.228954f, 0.120766f, -0.019227f, -0.224895f, -0.167825f, -0.058346f, 0.178973f, 0.240116f, 0.161527f, -0.083111f, -0.165331f, -0.176407f, 0.041491f, -0.197156f, -0.142013f, -0.004267f, 0.188880f, 0.191319f, 0.081722f, -0.127133f, - -0.228454f, -0.207586f, 0.057983f, 0.248368f, 0.308434f, 0.142332f, -0.137033f, -0.397708f, -0.321202f, 0.011995f, 0.416821f, 0.511799f, 0.290059f, -0.186803f, -0.492613f, -0.494386f, -0.057184f, 0.388077f, 0.468303f, 0.122035f, -0.298587f, -0.493250f, -0.282021f, 0.102010f, 0.381789f, 0.379117f, 0.065081f, -0.263329f, -0.364143f, -0.234270f, 0.158247f, 0.329315f, 0.263075f, 0.012767f, -0.234963f, -0.319959f, -0.150808f, 0.078276f, 0.254248f, 0.216596f, 0.039173f, -0.127683f, -0.202735f, -0.151174f, -0.029901f, 0.045948f, 0.133607f, 0.107376f, -0.003139f, -0.091457f, -0.149897f, -0.078458f, 0.129406f, 0.250965f, 0.193469f, -0.015697f, -0.286780f, -0.327940f, -0.123900f, 0.166658f, 0.337032f, 0.283810f, 0.025301f, -0.238622f, -0.299722f, -0.161796f, 0.128558f, 0.255374f, 0.237808f, 0.030703f, -0.148637f, -0.247569f, -0.123435f, 0.005753f, 0.131947f, 0.168550f, 0.092217f, -0.010030f, -0.064929f, -0.098678f, -0.091864f, -0.053448f, 0.029236f, 0.072744f, 0.087151f, 0.035778f, -0.028064f, -0.088679f, -0.082291f, -0.042768f, 0.033241f, 0.094467f, 0.076939f, 0.019309f, -0.045104f, -0.073694f, - -0.046734f, -0.009283f, 0.052709f, 0.072200f, 0.025338f, -0.010891f, -0.047185f, -0.046494f, -0.008576f, 0.031316f, 0.055596f, 0.012706f, -0.012001f, -0.047642f, -0.041810f, -0.002784f, 0.043247f, 0.027354f, 0.016670f, -0.016791f, -0.046652f, -0.032431f, -0.010611f, 0.027002f, 0.032900f, 0.008735f, -0.024343f, -0.040507f, -0.015884f, 0.019326f, 0.016809f, -0.008429f, -0.037666f, -0.036170f, -0.016857f, -0.024047f, 0.089287f, 0.114137f, 0.047188f, -0.081205f, -0.128577f, -0.055059f, 0.088676f, 0.143960f, 0.052069f, -0.101950f, -0.145637f, -0.031726f, 0.118112f, 0.128265f, -0.007591f, -0.128859f, -0.086502f, 0.055411f, 0.113541f, 0.010025f, -0.092906f, -0.036297f, 0.057924f, 0.017587f, -0.023888f, -0.005725f, 0.005014f, -0.001565f, -0.000171f, -0.000855f, 0.000693f, 0.000005f, -0.000326f, -0.002626f, -0.001412f, -0.001083f, -0.001205f, -0.000870f, -0.000136f, -0.001613f, -0.000940f, -0.003150f, -0.001555f, -0.000591f, 0.000728f, 0.000136f, -0.000155f, -0.000405f, -0.000913f, -0.001417f, -0.001185f, -0.001152f, -0.000419f, -0.000418f, -0.000787f, -0.000272f, -0.000412f, -0.000635f, -0.001489f, -0.001892f} - }, - { - {0.053939f, 0.053168f, 0.051645f, 0.049411f, 0.046524f, 0.043059f, 0.039106f, 0.034766f, 0.030149f, 0.025371f, 0.020548f, 0.015798f, 0.011232f, 0.006952f, 0.003053f, -0.000388f, -0.003306f, -0.005656f, -0.007410f, -0.008558f, -0.009110f, -0.009095f, -0.008557f, -0.007556f, -0.006164f, -0.004465f, -0.002548f, -0.000510f, 0.001554f, 0.003549f, 0.005387f, 0.006984f, 0.008271f, 0.009189f, 0.009693f, 0.009755f, 0.009362f, 0.008518f, 0.007244f, 0.005576f, 0.003562f, 0.001266f, -0.001241f, -0.003880f, -0.006567f, -0.009216f, -0.011741f, -0.014061f, -0.016102f, -0.017797f, -0.019091f, -0.019942f, -0.020323f, -0.020220f, -0.019635f, -0.018586f, -0.017105f, -0.015237f, -0.013041f, -0.010583f, -0.007940f, -0.005192f, -0.002424f, 0.000280f, 0.002838f, 0.005173f, 0.007216f, 0.008906f, 0.010194f, 0.011044f, 0.011434f, 0.011355f, 0.010813f, 0.009828f, 0.008434f, 0.006676f, 0.004611f, 0.002303f, -0.000174f, -0.002746f, -0.005333f, -0.007857f, -0.010242f, -0.012419f, -0.014323f, -0.015899f, -0.017103f, -0.017903f, -0.018277f, -0.018217f, -0.017730f, -0.016832f, -0.015553f, -0.013933f, -0.012022f, -0.009877f, - -0.007561f, -0.005142f, -0.002689f, -0.000270f, 0.002046f, 0.004198f, 0.006129f, 0.007788f, 0.009135f, 0.010139f, 0.010778f, 0.011044f, 0.010935f, 0.010465f, 0.009654f, 0.008534f, 0.007142f, 0.005525f, 0.003734f, 0.001824f, -0.000148f, -0.002124f, -0.004047f, -0.005864f, -0.007524f, -0.008982f, -0.010201f, -0.011149f, -0.011804f, -0.012151f, -0.012183f, -0.011904f, -0.011324f, -0.010460f, -0.009340f, -0.007993f, -0.006456f, -0.004770f, -0.002977f, -0.001123f, 0.000747f, 0.002589f, 0.004361f, 0.006022f, 0.007538f, 0.008876f, 0.010011f, 0.010923f, 0.011596f, 0.012024f, 0.012203f, 0.012138f, 0.011837f, 0.011315f, 0.010592f, 0.009691f, 0.008638f, 0.007461f, 0.006193f, 0.004863f, 0.003505f, 0.002149f, 0.000826f, -0.000436f, -0.001612f, -0.002679f, -0.003617f, -0.004412f, -0.005051f, -0.005526f, -0.005834f, -0.005975f, -0.005953f, -0.005775f, -0.005453f, -0.005000f, -0.004431f, -0.003766f, -0.003024f, -0.002226f, -0.001392f, -0.000545f, 0.000295f, 0.001109f, 0.001878f, 0.002584f, 0.003215f, 0.003756f, 0.004200f, 0.004538f, 0.004768f, 0.004887f, 0.004897f, 0.004804f, 0.004613f, 0.004333f, - 0.003977f, 0.003556f, 0.003085f, 0.002579f, 0.002053f, 0.001523f, 0.001003f, 0.000508f, 0.000051f, -0.000356f, -0.000703f, -0.000982f, -0.001188f, -0.001317f, -0.001369f, -0.001344f, -0.001246f, -0.001082f, -0.000859f, -0.000586f, -0.000274f, 0.000064f, 0.000418f, 0.000774f, 0.001120f, 0.001444f, 0.001735f, 0.001983f, 0.002182f, 0.002323f, 0.002403f, 0.002420f, 0.002374f, 0.002268f, 0.002104f, 0.001890f, 0.001633f, 0.001342f, 0.001028f, 0.000702f, 0.000375f, 0.000059f, -0.000236f, -0.000499f, -0.000722f, -0.000895f, -0.001015f, -0.001075f, 0.049892f, 0.047990f, -0.033258f, -0.133611f, -0.052183f, 0.061542f, -0.066189f, -0.089403f, -0.087291f, -0.054690f, -0.271607f, 0.096603f, -0.267726f, -0.264256f, 0.129132f, 0.545913f, 0.617339f, 0.272794f, -0.174907f, -0.533748f, -0.554207f, -0.047609f, 0.546477f, 0.739049f, 0.437232f, -0.183155f, -0.701637f, -0.783026f, -0.180038f, 0.530674f, 0.909066f, 0.571940f, -0.135388f, -0.739667f, -0.743880f, -0.233864f, 0.430650f, 0.757264f, 0.447132f, -0.114267f, -0.697564f, -0.285638f, 0.199784f, 0.551573f, 0.527110f, 0.166839f, -0.279615f, -0.511378f, - -0.414597f, -0.035481f, 0.341233f, 0.439039f, 0.261439f, -0.073149f, -0.320806f, -0.349659f, -0.137619f, 0.104207f, 0.286915f, 0.269047f, 0.082840f, -0.149283f, -0.281998f, -0.208006f, -0.019203f, 0.101892f, 0.320901f, 0.235951f, 0.042155f, -0.220082f, -0.218070f, -0.072821f, 0.123239f, 0.178973f, 0.115959f, -0.050898f, -0.138270f, -0.074258f, 0.036054f, 0.153232f, 0.152791f, 0.013746f, -0.140713f, -0.160471f, -0.062189f, 0.111791f, 0.259895f, 0.179835f, 0.030866f, -0.155186f, -0.163893f, -0.024727f, 0.057868f, 0.095150f, 0.048223f, -0.039504f, -0.025509f, -0.025762f, 0.060861f, 0.031466f, -0.120354f, -0.222981f, -0.180983f, 0.016892f, 0.223071f, 0.273060f, 0.085555f, -0.173778f, -0.344302f, -0.229392f, 0.091982f, 0.346138f, 0.343015f, 0.091762f, -0.246905f, -0.397401f, -0.330364f, 0.031457f, 0.369990f, 0.427005f, 0.131021f, -0.260986f, -0.436361f, -0.310050f, 0.029087f, 0.323590f, 0.385483f, 0.170781f, -0.141240f, -0.359812f, -0.310507f, -0.043287f, 0.254955f, 0.384213f, 0.215259f, -0.062184f, -0.327732f, -0.348448f, -0.119290f, 0.201937f, 0.353261f, 0.283515f, -0.011811f, -0.252592f, - -0.339514f, -0.211221f, 0.051300f, 0.280752f, 0.283220f, 0.092064f, -0.144765f, -0.288062f, -0.208872f, 0.005855f, 0.237021f, 0.313554f, 0.130575f, -0.114179f, -0.277431f, -0.250920f, -0.032791f, 0.225855f, 0.278421f, 0.137232f, -0.080003f, -0.245236f, -0.213592f, -0.037867f, 0.158155f, 0.242168f, 0.125690f, -0.102714f, -0.254825f, -0.211195f, 0.003451f, 0.225300f, 0.258602f, 0.103888f, -0.159026f, -0.337059f, -0.112344f, 0.196349f, 0.357577f, 0.198215f, -0.126973f, -0.336837f, -0.230151f, 0.083405f, 0.320534f, 0.248317f, -0.055685f, -0.288169f, -0.219367f, 0.063406f, 0.263101f, 0.170224f, -0.090796f, -0.222565f, -0.079326f, 0.141957f, 0.144276f, -0.049174f, -0.100479f, 0.016247f, 0.040632f, -0.004263f, -0.004172f, 0.001039f, 0.002231f, -0.000104f, 0.003192f, 0.001874f, 0.000180f, 0.001159f, 0.001815f, 0.000130f, 0.000856f, 0.001144f, 0.001903f, 0.000931f, 0.000960f, 0.001644f, 0.001821f, 0.000738f, -0.000514f, 0.000766f, 0.002281f, 0.002899f, 0.001980f, 0.001944f, 0.000363f, 0.002092f, -0.000780f, -0.002933f, 0.002161f, 0.003171f, 0.003051f, 0.001162f, 0.000614f, 0.001346f}, - {0.053939f, 0.053168f, 0.051645f, 0.049411f, 0.046524f, 0.043059f, 0.039106f, 0.034766f, 0.030149f, 0.025371f, 0.020548f, 0.015798f, 0.011232f, 0.006952f, 0.003053f, -0.000388f, -0.003306f, -0.005656f, -0.007410f, -0.008558f, -0.009110f, -0.009095f, -0.008557f, -0.007556f, -0.006164f, -0.004465f, -0.002548f, -0.000510f, 0.001554f, 0.003549f, 0.005387f, 0.006984f, 0.008271f, 0.009189f, 0.009693f, 0.009755f, 0.009362f, 0.008518f, 0.007244f, 0.005576f, 0.003562f, 0.001266f, -0.001241f, -0.003880f, -0.006567f, -0.009216f, -0.011741f, -0.014061f, -0.016102f, -0.017797f, -0.019091f, -0.019942f, -0.020323f, -0.020220f, -0.019635f, -0.018586f, -0.017105f, -0.015237f, -0.013041f, -0.010583f, -0.007940f, -0.005192f, -0.002424f, 0.000280f, 0.002838f, 0.005173f, 0.007216f, 0.008906f, 0.010194f, 0.011044f, 0.011434f, 0.011355f, 0.010813f, 0.009828f, 0.008434f, 0.006676f, 0.004611f, 0.002303f, -0.000174f, -0.002746f, -0.005333f, -0.007857f, -0.010242f, -0.012419f, -0.014323f, -0.015899f, -0.017103f, -0.017903f, -0.018277f, -0.018217f, -0.017730f, -0.016832f, -0.015553f, -0.013933f, -0.012022f, -0.009877f, - -0.007561f, -0.005142f, -0.002689f, -0.000270f, 0.002046f, 0.004198f, 0.006129f, 0.007788f, 0.009135f, 0.010139f, 0.010778f, 0.011044f, 0.010935f, 0.010465f, 0.009654f, 0.008534f, 0.007142f, 0.005525f, 0.003734f, 0.001824f, -0.000148f, -0.002124f, -0.004047f, -0.005864f, -0.007524f, -0.008982f, -0.010201f, -0.011149f, -0.011804f, -0.012151f, -0.012183f, -0.011904f, -0.011324f, -0.010460f, -0.009340f, -0.007993f, -0.006456f, -0.004770f, -0.002977f, -0.001123f, 0.000747f, 0.002589f, 0.004361f, 0.006022f, 0.007538f, 0.008876f, 0.010011f, 0.010923f, 0.011596f, 0.012024f, 0.012203f, 0.012138f, 0.011837f, 0.011315f, 0.010592f, 0.009691f, 0.008638f, 0.007461f, 0.006193f, 0.004863f, 0.003505f, 0.002149f, 0.000826f, -0.000436f, -0.001612f, -0.002679f, -0.003617f, -0.004412f, -0.005051f, -0.005526f, -0.005834f, -0.005975f, -0.005953f, -0.005775f, -0.005453f, -0.005000f, -0.004431f, -0.003766f, -0.003024f, -0.002226f, -0.001392f, -0.000545f, 0.000295f, 0.001109f, 0.001878f, 0.002584f, 0.003215f, 0.003756f, 0.004200f, 0.004538f, 0.004768f, 0.004887f, 0.004897f, 0.004804f, 0.004613f, 0.004333f, - 0.003977f, 0.003556f, 0.003085f, 0.002579f, 0.002053f, 0.001523f, 0.001003f, 0.000508f, 0.000051f, -0.000356f, -0.000703f, -0.000982f, -0.001188f, -0.001317f, -0.001369f, -0.001344f, -0.001246f, -0.001082f, -0.000859f, -0.000586f, -0.000274f, 0.000064f, 0.000418f, 0.000774f, 0.001120f, 0.001444f, 0.001735f, 0.001983f, 0.002182f, 0.002323f, 0.002403f, 0.002420f, 0.002374f, 0.002268f, 0.002104f, 0.001890f, 0.001633f, 0.001342f, 0.001028f, 0.000702f, 0.000375f, 0.000059f, -0.000236f, -0.000499f, -0.000722f, -0.000895f, -0.001015f, -0.001075f, 0.049892f, 0.047990f, -0.033258f, -0.133611f, -0.052183f, 0.061542f, -0.066189f, -0.089403f, -0.087291f, -0.054690f, -0.271607f, 0.096603f, -0.267726f, -0.264256f, 0.129132f, 0.545913f, 0.617339f, 0.272794f, -0.174907f, -0.533748f, -0.554207f, -0.047609f, 0.546477f, 0.739049f, 0.437232f, -0.183155f, -0.701637f, -0.783026f, -0.180038f, 0.530674f, 0.909066f, 0.571940f, -0.135388f, -0.739667f, -0.743880f, -0.233864f, 0.430650f, 0.757264f, 0.447132f, -0.114267f, -0.697564f, -0.285638f, 0.199784f, 0.551573f, 0.527110f, 0.166839f, -0.279615f, -0.511378f, - -0.414597f, -0.035481f, 0.341233f, 0.439039f, 0.261439f, -0.073149f, -0.320806f, -0.349659f, -0.137619f, 0.104207f, 0.286915f, 0.269047f, 0.082840f, -0.149283f, -0.281998f, -0.208006f, -0.019203f, 0.101892f, 0.320901f, 0.235951f, 0.042155f, -0.220082f, -0.218070f, -0.072821f, 0.123239f, 0.178973f, 0.115959f, -0.050898f, -0.138270f, -0.074258f, 0.036054f, 0.153232f, 0.152791f, 0.013746f, -0.140713f, -0.160471f, -0.062189f, 0.111791f, 0.259895f, 0.179835f, 0.030866f, -0.155186f, -0.163893f, -0.024727f, 0.057868f, 0.095150f, 0.048223f, -0.039504f, -0.025509f, -0.025762f, 0.060861f, 0.031466f, -0.120354f, -0.222981f, -0.180983f, 0.016892f, 0.223071f, 0.273060f, 0.085555f, -0.173778f, -0.344302f, -0.229392f, 0.091982f, 0.346138f, 0.343015f, 0.091762f, -0.246905f, -0.397401f, -0.330364f, 0.031457f, 0.369990f, 0.427005f, 0.131021f, -0.260986f, -0.436361f, -0.310050f, 0.029087f, 0.323590f, 0.385483f, 0.170781f, -0.141240f, -0.359812f, -0.310507f, -0.043287f, 0.254955f, 0.384213f, 0.215259f, -0.062184f, -0.327732f, -0.348448f, -0.119290f, 0.201937f, 0.353261f, 0.283515f, -0.011811f, -0.252592f, - -0.339514f, -0.211221f, 0.051300f, 0.280752f, 0.283220f, 0.092064f, -0.144765f, -0.288062f, -0.208872f, 0.005855f, 0.237021f, 0.313554f, 0.130575f, -0.114179f, -0.277431f, -0.250920f, -0.032791f, 0.225855f, 0.278421f, 0.137232f, -0.080003f, -0.245236f, -0.213592f, -0.037867f, 0.158155f, 0.242168f, 0.125690f, -0.102714f, -0.254825f, -0.211195f, 0.003451f, 0.225300f, 0.258602f, 0.103888f, -0.159026f, -0.337059f, -0.112344f, 0.196349f, 0.357577f, 0.198215f, -0.126973f, -0.336837f, -0.230151f, 0.083405f, 0.320534f, 0.248317f, -0.055685f, -0.288169f, -0.219367f, 0.063406f, 0.263101f, 0.170224f, -0.090796f, -0.222565f, -0.079326f, 0.141957f, 0.144276f, -0.049174f, -0.100479f, 0.016247f, 0.040632f, -0.004263f, -0.004172f, 0.001039f, 0.002231f, -0.000104f, 0.003192f, 0.001874f, 0.000180f, 0.001159f, 0.001815f, 0.000130f, 0.000856f, 0.001144f, 0.001903f, 0.000931f, 0.000960f, 0.001644f, 0.001821f, 0.000738f, -0.000514f, 0.000766f, 0.002281f, 0.002899f, 0.001980f, 0.001944f, 0.000363f, 0.002092f, -0.000780f, -0.002933f, 0.002161f, 0.003171f, 0.003051f, 0.001162f, 0.000614f, 0.001346f} - }, - { - {0.041901f, 0.041644f, 0.041132f, 0.040369f, 0.039360f, 0.038115f, 0.036644f, 0.034960f, 0.033080f, 0.031023f, 0.028809f, 0.026466f, 0.024020f, 0.021503f, 0.018948f, 0.016390f, 0.013868f, 0.011418f, 0.009081f, 0.006893f, 0.004891f, 0.003110f, 0.001579f, 0.000327f, -0.000627f, -0.001266f, -0.001584f, -0.001578f, -0.001255f, -0.000629f, 0.000275f, 0.001430f, 0.002798f, 0.004334f, 0.005991f, 0.007715f, 0.009451f, 0.011139f, 0.012723f, 0.014147f, 0.015357f, 0.016306f, 0.016952f, 0.017258f, 0.017201f, 0.016763f, 0.015936f, 0.014726f, 0.013146f, 0.011220f, 0.008981f, 0.006473f, 0.003744f, 0.000852f, -0.002144f, -0.005180f, -0.008192f, -0.011115f, -0.013889f, -0.016456f, -0.018766f, -0.020774f, -0.022445f, -0.023754f, -0.024685f, -0.025231f, -0.025398f, -0.025201f, -0.024663f, -0.023818f, -0.022705f, -0.021370f, -0.019863f, -0.018236f, -0.016543f, -0.014836f, -0.013165f, -0.011578f, -0.010113f, -0.008805f, -0.007681f, -0.006758f, -0.006047f, -0.005549f, -0.005257f, -0.005155f, -0.005223f, -0.005432f, -0.005751f, -0.006144f, -0.006574f, -0.007004f, -0.007397f, -0.007720f, -0.007944f, -0.008045f, - -0.008005f, -0.007812f, -0.007463f, -0.006961f, -0.006316f, -0.005545f, -0.004673f, -0.003728f, -0.002743f, -0.001752f, -0.000794f, 0.000097f, 0.000883f, 0.001533f, 0.002019f, 0.002318f, 0.002414f, 0.002298f, 0.001968f, 0.001430f, 0.000700f, -0.000203f, -0.001249f, -0.002404f, -0.003629f, -0.004882f, -0.006117f, -0.007289f, -0.008353f, -0.009267f, -0.009993f, -0.010497f, -0.010752f, -0.010739f, -0.010447f, -0.009872f, -0.009020f, -0.007906f, -0.006552f, -0.004990f, -0.003255f, -0.001391f, 0.000554f, 0.002531f, 0.004488f, 0.006374f, 0.008138f, 0.009735f, 0.011121f, 0.012261f, 0.013125f, 0.013691f, 0.013945f, 0.013883f, 0.013507f, 0.012829f, 0.011869f, 0.010655f, 0.009219f, 0.007599f, 0.005840f, 0.003986f, 0.002083f, 0.000180f, -0.001679f, -0.003450f, -0.005094f, -0.006576f, -0.007867f, -0.008943f, -0.009788f, -0.010393f, -0.010753f, -0.010873f, -0.010762f, -0.010435f, -0.009913f, -0.009219f, -0.008380f, -0.007427f, -0.006389f, -0.005298f, -0.004184f, -0.003075f, -0.001998f, -0.000976f, -0.000030f, 0.000825f, 0.001575f, 0.002213f, 0.002733f, 0.003136f, 0.003424f, 0.003602f, 0.003680f, 0.003668f, - 0.003577f, 0.003421f, 0.003213f, 0.002966f, 0.002694f, 0.002407f, 0.002117f, 0.001833f, 0.001562f, 0.001310f, 0.001082f, 0.000879f, 0.000704f, 0.000555f, 0.000431f, 0.000331f, 0.000251f, 0.000189f, 0.000142f, 0.000107f, 0.000082f, 0.000064f, 0.000052f, 0.000046f, 0.000044f, 0.000047f, 0.000055f, 0.000071f, 0.000094f, 0.000127f, 0.000170f, 0.000224f, 0.000290f, 0.000369f, 0.000459f, 0.000561f, 0.000672f, 0.000790f, 0.000912f, 0.001037f, 0.001159f, 0.001277f, 0.001386f, 0.001482f, 0.001564f, 0.001627f, 0.001671f, 0.001693f, -0.008589f, -0.013706f, -0.011480f, -0.019507f, -0.084522f, -0.068258f, -0.074407f, 0.006022f, -0.067948f, -0.035105f, -0.113541f, 0.025271f, -0.099929f, -0.161352f, 0.090732f, 0.307217f, 0.230926f, 0.193524f, -0.085241f, -0.256383f, -0.088475f, -0.069444f, 0.162221f, 0.143857f, 0.081764f, -0.108640f, -0.218760f, -0.183481f, 0.035748f, 0.217219f, 0.277907f, 0.149093f, -0.077173f, -0.379104f, -0.268807f, 0.110869f, 0.337248f, 0.322414f, 0.116275f, -0.214108f, -0.405948f, -0.119559f, 0.205668f, 0.360167f, 0.308288f, 0.030463f, -0.224371f, -0.290891f, - -0.230312f, -0.083689f, 0.192198f, 0.256347f, 0.249895f, 0.006398f, -0.133492f, -0.289328f, -0.121189f, -0.013016f, 0.252580f, 0.282690f, 0.023350f, 0.006112f, -0.200784f, -0.265022f, -0.097706f, 0.187679f, 0.257554f, 0.123191f, -0.143874f, -0.318190f, -0.222703f, -0.006171f, 0.175978f, 0.299184f, 0.196664f, -0.081596f, -0.264277f, -0.266021f, 0.041392f, 0.221364f, 0.275588f, 0.198585f, -0.143864f, -0.297232f, -0.244483f, 0.042519f, 0.230431f, 0.266412f, 0.069441f, -0.176026f, -0.242817f, -0.105670f, 0.058095f, 0.091494f, -0.006481f, -0.079556f, -0.051063f, -0.011345f, 0.063851f, 0.023359f, -0.117032f, -0.175189f, -0.150623f, 0.008055f, 0.146025f, 0.202026f, 0.075495f, -0.077481f, -0.244727f, -0.212741f, -0.061630f, 0.111017f, 0.269495f, 0.230027f, -0.040848f, -0.229507f, -0.203636f, -0.057604f, 0.188787f, 0.209641f, 0.097030f, 0.012440f, -0.228649f, -0.213129f, -0.114776f, 0.056545f, 0.171551f, 0.135038f, -0.008104f, -0.094644f, -0.109245f, -0.031083f, 0.042358f, 0.096241f, 0.061876f, 0.001161f, -0.066020f, -0.132764f, -0.071367f, 0.033501f, 0.081855f, 0.092746f, 0.018466f, -0.045010f, - -0.086509f, -0.101242f, -0.042110f, 0.028859f, 0.063454f, 0.029496f, -0.012907f, -0.044474f, -0.028225f, -0.015706f, 0.043059f, 0.082143f, 0.044775f, -0.036787f, -0.083370f, -0.092755f, -0.025675f, 0.110962f, 0.136245f, 0.074590f, -0.022154f, -0.107603f, -0.096543f, -0.032923f, 0.041587f, 0.074610f, 0.043238f, -0.031976f, -0.114357f, -0.096251f, -0.011309f, 0.075988f, 0.137679f, 0.023208f, -0.078534f, -0.307022f, -0.159274f, 0.170167f, 0.368532f, 0.258626f, -0.077972f, -0.339673f, -0.285783f, 0.038908f, 0.323796f, 0.299487f, -0.011876f, -0.295894f, -0.273170f, 0.028462f, 0.279003f, 0.220583f, -0.071685f, -0.249678f, -0.118577f, 0.142453f, 0.181962f, -0.040878f, -0.131885f, 0.009338f, 0.051482f, -0.002209f, -0.009751f, -0.000868f, 0.001002f, 0.000512f, 0.002613f, -0.001675f, -0.000713f, -0.001351f, -0.000432f, -0.000353f, 0.001025f, 0.000304f, -0.001145f, -0.000262f, 0.001746f, -0.000411f, -0.000323f, -0.001006f, 0.000548f, -0.000515f, -0.001958f, -0.000622f, -0.000196f, 0.001542f, 0.001213f, -0.002762f, -0.000766f, -0.003663f, -0.000140f, -0.000560f, 0.000919f, 0.000676f, -0.001502f, -0.002685f}, - {-0.041901f, -0.041644f, -0.041132f, -0.040369f, -0.039360f, -0.038115f, -0.036644f, -0.034960f, -0.033080f, -0.031023f, -0.028809f, -0.026466f, -0.024020f, -0.021503f, -0.018948f, -0.016390f, -0.013868f, -0.011418f, -0.009081f, -0.006893f, -0.004891f, -0.003110f, -0.001579f, -0.000327f, 0.000627f, 0.001266f, 0.001584f, 0.001578f, 0.001255f, 0.000629f, -0.000275f, -0.001430f, -0.002798f, -0.004334f, -0.005991f, -0.007715f, -0.009451f, -0.011139f, -0.012723f, -0.014147f, -0.015357f, -0.016306f, -0.016952f, -0.017258f, -0.017201f, -0.016763f, -0.015936f, -0.014726f, -0.013146f, -0.011220f, -0.008981f, -0.006473f, -0.003744f, -0.000852f, 0.002144f, 0.005180f, 0.008192f, 0.011115f, 0.013889f, 0.016456f, 0.018766f, 0.020774f, 0.022445f, 0.023754f, 0.024685f, 0.025231f, 0.025398f, 0.025201f, 0.024663f, 0.023818f, 0.022705f, 0.021370f, 0.019863f, 0.018236f, 0.016543f, 0.014836f, 0.013165f, 0.011578f, 0.010113f, 0.008805f, 0.007681f, 0.006758f, 0.006047f, 0.005549f, 0.005257f, 0.005155f, 0.005223f, 0.005432f, 0.005751f, 0.006144f, 0.006574f, 0.007004f, 0.007397f, 0.007720f, 0.007944f, 0.008045f, - 0.008005f, 0.007812f, 0.007463f, 0.006961f, 0.006316f, 0.005545f, 0.004673f, 0.003728f, 0.002743f, 0.001752f, 0.000794f, -0.000097f, -0.000883f, -0.001533f, -0.002019f, -0.002318f, -0.002414f, -0.002298f, -0.001968f, -0.001430f, -0.000700f, 0.000203f, 0.001249f, 0.002404f, 0.003629f, 0.004882f, 0.006117f, 0.007289f, 0.008353f, 0.009267f, 0.009993f, 0.010497f, 0.010752f, 0.010739f, 0.010447f, 0.009872f, 0.009020f, 0.007906f, 0.006552f, 0.004990f, 0.003255f, 0.001391f, -0.000554f, -0.002531f, -0.004488f, -0.006374f, -0.008138f, -0.009735f, -0.011121f, -0.012261f, -0.013125f, -0.013691f, -0.013945f, -0.013883f, -0.013507f, -0.012829f, -0.011869f, -0.010655f, -0.009219f, -0.007599f, -0.005840f, -0.003986f, -0.002083f, -0.000180f, 0.001679f, 0.003450f, 0.005094f, 0.006576f, 0.007867f, 0.008943f, 0.009788f, 0.010393f, 0.010753f, 0.010873f, 0.010762f, 0.010435f, 0.009913f, 0.009219f, 0.008380f, 0.007427f, 0.006389f, 0.005298f, 0.004184f, 0.003075f, 0.001998f, 0.000976f, 0.000030f, -0.000825f, -0.001575f, -0.002213f, -0.002733f, -0.003136f, -0.003424f, -0.003602f, -0.003680f, -0.003668f, - -0.003577f, -0.003421f, -0.003213f, -0.002966f, -0.002694f, -0.002407f, -0.002117f, -0.001833f, -0.001562f, -0.001310f, -0.001082f, -0.000879f, -0.000704f, -0.000555f, -0.000431f, -0.000331f, -0.000251f, -0.000189f, -0.000142f, -0.000107f, -0.000082f, -0.000064f, -0.000052f, -0.000046f, -0.000044f, -0.000047f, -0.000055f, -0.000071f, -0.000094f, -0.000127f, -0.000170f, -0.000224f, -0.000290f, -0.000369f, -0.000459f, -0.000561f, -0.000672f, -0.000790f, -0.000912f, -0.001037f, -0.001159f, -0.001277f, -0.001386f, -0.001482f, -0.001564f, -0.001627f, -0.001671f, -0.001693f, 0.008589f, 0.013706f, 0.011480f, 0.019507f, 0.084522f, 0.068258f, 0.074407f, -0.006022f, 0.067948f, 0.035105f, 0.113541f, -0.025271f, 0.099929f, 0.161352f, -0.090732f, -0.307217f, -0.230926f, -0.193524f, 0.085241f, 0.256383f, 0.088475f, 0.069444f, -0.162221f, -0.143857f, -0.081764f, 0.108640f, 0.218760f, 0.183481f, -0.035748f, -0.217219f, -0.277907f, -0.149093f, 0.077173f, 0.379104f, 0.268807f, -0.110869f, -0.337248f, -0.322414f, -0.116275f, 0.214108f, 0.405948f, 0.119559f, -0.205668f, -0.360167f, -0.308288f, -0.030463f, 0.224371f, 0.290891f, - 0.230312f, 0.083689f, -0.192198f, -0.256347f, -0.249895f, -0.006398f, 0.133492f, 0.289328f, 0.121189f, 0.013016f, -0.252580f, -0.282690f, -0.023350f, -0.006112f, 0.200784f, 0.265022f, 0.097706f, -0.187679f, -0.257554f, -0.123191f, 0.143874f, 0.318190f, 0.222703f, 0.006171f, -0.175978f, -0.299184f, -0.196664f, 0.081596f, 0.264277f, 0.266021f, -0.041392f, -0.221364f, -0.275588f, -0.198585f, 0.143864f, 0.297232f, 0.244483f, -0.042519f, -0.230431f, -0.266412f, -0.069441f, 0.176026f, 0.242817f, 0.105670f, -0.058095f, -0.091494f, 0.006481f, 0.079556f, 0.051063f, 0.011345f, -0.063851f, -0.023359f, 0.117032f, 0.175189f, 0.150623f, -0.008055f, -0.146025f, -0.202026f, -0.075495f, 0.077481f, 0.244727f, 0.212741f, 0.061630f, -0.111017f, -0.269495f, -0.230027f, 0.040848f, 0.229507f, 0.203636f, 0.057604f, -0.188787f, -0.209641f, -0.097030f, -0.012440f, 0.228649f, 0.213129f, 0.114776f, -0.056545f, -0.171551f, -0.135038f, 0.008104f, 0.094644f, 0.109245f, 0.031083f, -0.042358f, -0.096241f, -0.061876f, -0.001161f, 0.066020f, 0.132764f, 0.071367f, -0.033501f, -0.081855f, -0.092746f, -0.018466f, 0.045010f, - 0.086509f, 0.101242f, 0.042110f, -0.028859f, -0.063454f, -0.029496f, 0.012907f, 0.044474f, 0.028225f, 0.015706f, -0.043059f, -0.082143f, -0.044775f, 0.036787f, 0.083370f, 0.092755f, 0.025675f, -0.110962f, -0.136245f, -0.074590f, 0.022154f, 0.107603f, 0.096543f, 0.032923f, -0.041587f, -0.074610f, -0.043238f, 0.031976f, 0.114357f, 0.096251f, 0.011309f, -0.075988f, -0.137679f, -0.023208f, 0.078534f, 0.307022f, 0.159274f, -0.170167f, -0.368532f, -0.258626f, 0.077972f, 0.339673f, 0.285783f, -0.038908f, -0.323796f, -0.299487f, 0.011876f, 0.295894f, 0.273170f, -0.028462f, -0.279003f, -0.220583f, 0.071685f, 0.249678f, 0.118577f, -0.142453f, -0.181962f, 0.040878f, 0.131885f, -0.009338f, -0.051482f, 0.002209f, 0.009751f, 0.000868f, -0.001002f, -0.000512f, -0.002613f, 0.001675f, 0.000713f, 0.001351f, 0.000432f, 0.000353f, -0.001025f, -0.000304f, 0.001145f, 0.000262f, -0.001746f, 0.000411f, 0.000323f, 0.001006f, -0.000548f, 0.000515f, 0.001958f, 0.000622f, 0.000196f, -0.001542f, -0.001213f, 0.002762f, 0.000766f, 0.003663f, 0.000140f, 0.000560f, -0.000919f, -0.000676f, 0.001502f, 0.002685f} - }, - { - {0.027990f, 0.028005f, 0.028028f, 0.028053f, 0.028063f, 0.028043f, 0.027973f, 0.027831f, 0.027596f, 0.027246f, 0.026761f, 0.026124f, 0.025322f, 0.024348f, 0.023197f, 0.021873f, 0.020385f, 0.018748f, 0.016984f, 0.015119f, 0.013185f, 0.011218f, 0.009255f, 0.007337f, 0.005503f, 0.003793f, 0.002242f, 0.000883f, -0.000256f, -0.001156f, -0.001801f, -0.002185f, -0.002310f, -0.002185f, -0.001828f, -0.001262f, -0.000520f, 0.000362f, 0.001343f, 0.002380f, 0.003425f, 0.004436f, 0.005367f, 0.006178f, 0.006835f, 0.007307f, 0.007572f, 0.007615f, 0.007429f, 0.007017f, 0.006390f, 0.005566f, 0.004572f, 0.003442f, 0.002214f, 0.000931f, -0.000362f, -0.001619f, -0.002794f, -0.003844f, -0.004729f, -0.005417f, -0.005879f, -0.006096f, -0.006056f, -0.005756f, -0.005203f, -0.004411f, -0.003403f, -0.002210f, -0.000868f, 0.000582f, 0.002093f, 0.003620f, 0.005113f, 0.006526f, 0.007817f, 0.008944f, 0.009876f, 0.010585f, 0.011052f, 0.011267f, 0.011226f, 0.010937f, 0.010415f, 0.009680f, 0.008763f, 0.007699f, 0.006527f, 0.005289f, 0.004029f, 0.002790f, 0.001615f, 0.000542f, -0.000394f, -0.001166f, - -0.001750f, -0.002132f, -0.002305f, -0.002271f, -0.002036f, -0.001618f, -0.001038f, -0.000325f, 0.000488f, 0.001367f, 0.002273f, 0.003169f, 0.004016f, 0.004780f, 0.005430f, 0.005940f, 0.006287f, 0.006458f, 0.006444f, 0.006245f, 0.005866f, 0.005321f, 0.004627f, 0.003808f, 0.002892f, 0.001910f, 0.000895f, -0.000121f, -0.001103f, -0.002021f, -0.002849f, -0.003561f, -0.004139f, -0.004570f, -0.004847f, -0.004968f, -0.004939f, -0.004770f, -0.004477f, -0.004080f, -0.003603f, -0.003074f, -0.002519f, -0.001968f, -0.001447f, -0.000983f, -0.000597f, -0.000309f, -0.000133f, -0.000077f, -0.000145f, -0.000334f, -0.000637f, -0.001041f, -0.001528f, -0.002076f, -0.002662f, -0.003258f, -0.003837f, -0.004372f, -0.004836f, -0.005204f, -0.005458f, -0.005580f, -0.005557f, -0.005385f, -0.005060f, -0.004589f, -0.003981f, -0.003251f, -0.002419f, -0.001509f, -0.000546f, 0.000440f, 0.001420f, 0.002365f, 0.003247f, 0.004040f, 0.004721f, 0.005271f, 0.005678f, 0.005931f, 0.006028f, 0.005970f, 0.005766f, 0.005426f, 0.004969f, 0.004416f, 0.003789f, 0.003114f, 0.002420f, 0.001732f, 0.001076f, 0.000478f, -0.000043f, -0.000468f, - -0.000783f, -0.000980f, -0.001055f, -0.001009f, -0.000847f, -0.000579f, -0.000221f, 0.000211f, 0.000697f, 0.001213f, 0.001738f, 0.002249f, 0.002723f, 0.003140f, 0.003485f, 0.003741f, 0.003899f, 0.003954f, 0.003903f, 0.003749f, 0.003500f, 0.003166f, 0.002762f, 0.002305f, 0.001813f, 0.001308f, 0.000810f, 0.000340f, -0.000084f, -0.000445f, -0.000728f, -0.000924f, -0.001023f, -0.001025f, -0.000930f, -0.000742f, -0.000472f, -0.000131f, 0.000265f, 0.000698f, 0.001151f, 0.001602f, 0.002033f, 0.002424f, 0.002760f, 0.003025f, 0.003208f, 0.003302f, -0.032158f, -0.046833f, -0.027272f, -0.016391f, -0.081230f, -0.040334f, -0.044233f, -0.101522f, -0.273682f, -0.111065f, 0.010397f, 0.201649f, -0.125347f, -0.213447f, 0.130225f, 0.239388f, 0.175666f, 0.076501f, -0.046882f, -0.188087f, -0.040587f, -0.052777f, 0.136348f, 0.108998f, 0.071914f, -0.078411f, 0.045397f, -0.025762f, 0.050736f, -0.061556f, -0.071913f, 0.045355f, 0.114936f, 0.162979f, 0.108390f, -0.007783f, -0.125580f, -0.119828f, -0.037017f, 0.054773f, 0.129187f, 0.087269f, 0.057169f, 0.039024f, -0.049536f, -0.025118f, -0.030408f, 0.015725f, - 0.014511f, -0.054591f, 0.039370f, 0.037187f, 0.051297f, 0.003383f, -0.048966f, -0.114383f, -0.048045f, 0.074534f, 0.218755f, 0.143640f, 0.038173f, -0.095445f, -0.194052f, -0.153489f, 0.019498f, 0.123819f, 0.178131f, 0.009808f, -0.137529f, -0.191101f, 0.004305f, 0.185018f, 0.250203f, 0.051325f, -0.212989f, -0.330886f, -0.161339f, 0.151261f, 0.362329f, 0.321536f, 0.032559f, -0.246685f, -0.404872f, -0.251175f, 0.091372f, 0.306711f, 0.310470f, 0.099365f, -0.202046f, -0.326032f, -0.218682f, 0.036550f, 0.204057f, 0.201308f, 0.102938f, -0.067942f, -0.154368f, -0.121237f, -0.025975f, 0.115722f, 0.134627f, 0.085124f, 0.012716f, -0.032068f, -0.114969f, -0.153559f, -0.113738f, 0.035265f, 0.140270f, 0.195745f, 0.081435f, -0.058531f, -0.181768f, -0.164670f, -0.051989f, 0.061720f, 0.209701f, 0.162171f, 0.046233f, -0.137134f, -0.169130f, -0.078092f, -0.023700f, 0.073608f, 0.104920f, 0.089401f, 0.026370f, -0.049912f, -0.109171f, -0.100252f, -0.030372f, 0.043768f, 0.094858f, 0.073096f, -0.005715f, -0.114473f, -0.092123f, -0.033089f, 0.022771f, 0.051720f, 0.027033f, -0.004410f, -0.027660f, -0.007557f, - 0.027030f, 0.040251f, 0.030178f, 0.001408f, -0.064907f, -0.059277f, -0.034878f, -0.000683f, 0.038725f, 0.067961f, 0.032636f, -0.049619f, -0.082172f, -0.062792f, -0.004106f, 0.059555f, 0.079096f, -0.021453f, -0.069399f, -0.083642f, -0.036959f, 0.020946f, 0.051561f, 0.063735f, 0.038631f, -0.019134f, -0.069186f, -0.066851f, 0.020319f, 0.047934f, 0.055697f, 0.006777f, -0.062843f, -0.056647f, -0.069231f, -0.023056f, 0.100717f, 0.119971f, 0.035186f, -0.092918f, -0.130130f, -0.047746f, 0.082491f, 0.122115f, 0.041456f, -0.078171f, -0.114526f, -0.039584f, 0.073601f, 0.096201f, 0.018784f, -0.079570f, -0.080645f, 0.002115f, 0.071886f, 0.041651f, -0.042178f, -0.050420f, 0.017227f, 0.025339f, -0.007606f, -0.011025f, 0.000787f, -0.002242f, -0.003983f, -0.003079f, 0.001395f, -0.000121f, -0.002287f, -0.003160f, -0.002294f, -0.002673f, -0.001601f, -0.002908f, -0.003412f, -0.001842f, -0.000148f, -0.002231f, -0.002496f, -0.003088f, -0.001460f, -0.001897f, -0.001890f, -0.000061f, -0.002011f, -0.002058f, -0.002790f, -0.001119f, -0.001602f, -0.004154f, -0.003795f, -0.001532f, -0.000538f, -0.001093f, -0.001079f, -0.003076f}, - {-0.027990f, -0.028005f, -0.028028f, -0.028053f, -0.028063f, -0.028043f, -0.027973f, -0.027831f, -0.027596f, -0.027246f, -0.026761f, -0.026124f, -0.025322f, -0.024348f, -0.023197f, -0.021873f, -0.020385f, -0.018748f, -0.016984f, -0.015119f, -0.013185f, -0.011218f, -0.009255f, -0.007337f, -0.005503f, -0.003793f, -0.002242f, -0.000883f, 0.000256f, 0.001156f, 0.001801f, 0.002185f, 0.002310f, 0.002185f, 0.001828f, 0.001262f, 0.000520f, -0.000362f, -0.001343f, -0.002380f, -0.003425f, -0.004436f, -0.005367f, -0.006178f, -0.006835f, -0.007307f, -0.007572f, -0.007615f, -0.007429f, -0.007017f, -0.006390f, -0.005566f, -0.004572f, -0.003442f, -0.002214f, -0.000931f, 0.000362f, 0.001619f, 0.002794f, 0.003844f, 0.004729f, 0.005417f, 0.005879f, 0.006096f, 0.006056f, 0.005756f, 0.005203f, 0.004411f, 0.003403f, 0.002210f, 0.000868f, -0.000582f, -0.002093f, -0.003620f, -0.005113f, -0.006526f, -0.007817f, -0.008944f, -0.009876f, -0.010585f, -0.011052f, -0.011267f, -0.011226f, -0.010937f, -0.010415f, -0.009680f, -0.008763f, -0.007699f, -0.006527f, -0.005289f, -0.004029f, -0.002790f, -0.001615f, -0.000542f, 0.000394f, 0.001166f, - 0.001750f, 0.002132f, 0.002305f, 0.002271f, 0.002036f, 0.001618f, 0.001038f, 0.000325f, -0.000488f, -0.001367f, -0.002273f, -0.003169f, -0.004016f, -0.004780f, -0.005430f, -0.005940f, -0.006287f, -0.006458f, -0.006444f, -0.006245f, -0.005866f, -0.005321f, -0.004627f, -0.003808f, -0.002892f, -0.001910f, -0.000895f, 0.000121f, 0.001103f, 0.002021f, 0.002849f, 0.003561f, 0.004139f, 0.004570f, 0.004847f, 0.004968f, 0.004939f, 0.004770f, 0.004477f, 0.004080f, 0.003603f, 0.003074f, 0.002519f, 0.001968f, 0.001447f, 0.000983f, 0.000597f, 0.000309f, 0.000133f, 0.000077f, 0.000145f, 0.000334f, 0.000637f, 0.001041f, 0.001528f, 0.002076f, 0.002662f, 0.003258f, 0.003837f, 0.004372f, 0.004836f, 0.005204f, 0.005458f, 0.005580f, 0.005557f, 0.005385f, 0.005060f, 0.004589f, 0.003981f, 0.003251f, 0.002419f, 0.001509f, 0.000546f, -0.000440f, -0.001420f, -0.002365f, -0.003247f, -0.004040f, -0.004721f, -0.005271f, -0.005678f, -0.005931f, -0.006028f, -0.005970f, -0.005766f, -0.005426f, -0.004969f, -0.004416f, -0.003789f, -0.003114f, -0.002420f, -0.001732f, -0.001076f, -0.000478f, 0.000043f, 0.000468f, - 0.000783f, 0.000980f, 0.001055f, 0.001009f, 0.000847f, 0.000579f, 0.000221f, -0.000211f, -0.000697f, -0.001213f, -0.001738f, -0.002249f, -0.002723f, -0.003140f, -0.003485f, -0.003741f, -0.003899f, -0.003954f, -0.003903f, -0.003749f, -0.003500f, -0.003166f, -0.002762f, -0.002305f, -0.001813f, -0.001308f, -0.000810f, -0.000340f, 0.000084f, 0.000445f, 0.000728f, 0.000924f, 0.001023f, 0.001025f, 0.000930f, 0.000742f, 0.000472f, 0.000131f, -0.000265f, -0.000698f, -0.001151f, -0.001602f, -0.002033f, -0.002424f, -0.002760f, -0.003025f, -0.003208f, -0.003302f, 0.032158f, 0.046833f, 0.027272f, 0.016391f, 0.081230f, 0.040334f, 0.044233f, 0.101522f, 0.273682f, 0.111065f, -0.010397f, -0.201649f, 0.125347f, 0.213447f, -0.130225f, -0.239388f, -0.175666f, -0.076501f, 0.046882f, 0.188087f, 0.040587f, 0.052777f, -0.136348f, -0.108998f, -0.071914f, 0.078411f, -0.045397f, 0.025762f, -0.050736f, 0.061556f, 0.071913f, -0.045355f, -0.114936f, -0.162979f, -0.108390f, 0.007783f, 0.125580f, 0.119828f, 0.037017f, -0.054773f, -0.129187f, -0.087269f, -0.057169f, -0.039024f, 0.049536f, 0.025118f, 0.030408f, -0.015725f, - -0.014511f, 0.054591f, -0.039370f, -0.037187f, -0.051297f, -0.003383f, 0.048966f, 0.114383f, 0.048045f, -0.074534f, -0.218755f, -0.143640f, -0.038173f, 0.095445f, 0.194052f, 0.153489f, -0.019498f, -0.123819f, -0.178131f, -0.009808f, 0.137529f, 0.191101f, -0.004305f, -0.185018f, -0.250203f, -0.051325f, 0.212989f, 0.330886f, 0.161339f, -0.151261f, -0.362329f, -0.321536f, -0.032559f, 0.246685f, 0.404872f, 0.251175f, -0.091372f, -0.306711f, -0.310470f, -0.099365f, 0.202046f, 0.326032f, 0.218682f, -0.036550f, -0.204057f, -0.201308f, -0.102938f, 0.067942f, 0.154368f, 0.121237f, 0.025975f, -0.115722f, -0.134627f, -0.085124f, -0.012716f, 0.032068f, 0.114969f, 0.153559f, 0.113738f, -0.035265f, -0.140270f, -0.195745f, -0.081435f, 0.058531f, 0.181768f, 0.164670f, 0.051989f, -0.061720f, -0.209701f, -0.162171f, -0.046233f, 0.137134f, 0.169130f, 0.078092f, 0.023700f, -0.073608f, -0.104920f, -0.089401f, -0.026370f, 0.049912f, 0.109171f, 0.100252f, 0.030372f, -0.043768f, -0.094858f, -0.073096f, 0.005715f, 0.114473f, 0.092123f, 0.033089f, -0.022771f, -0.051720f, -0.027033f, 0.004410f, 0.027660f, 0.007557f, - -0.027030f, -0.040251f, -0.030178f, -0.001408f, 0.064907f, 0.059277f, 0.034878f, 0.000683f, -0.038725f, -0.067961f, -0.032636f, 0.049619f, 0.082172f, 0.062792f, 0.004106f, -0.059555f, -0.079096f, 0.021453f, 0.069399f, 0.083642f, 0.036959f, -0.020946f, -0.051561f, -0.063735f, -0.038631f, 0.019134f, 0.069186f, 0.066851f, -0.020319f, -0.047934f, -0.055697f, -0.006777f, 0.062843f, 0.056647f, 0.069231f, 0.023056f, -0.100717f, -0.119971f, -0.035186f, 0.092918f, 0.130130f, 0.047746f, -0.082491f, -0.122115f, -0.041456f, 0.078171f, 0.114526f, 0.039584f, -0.073601f, -0.096201f, -0.018784f, 0.079570f, 0.080645f, -0.002115f, -0.071886f, -0.041651f, 0.042178f, 0.050420f, -0.017227f, -0.025339f, 0.007606f, 0.011025f, -0.000787f, 0.002242f, 0.003983f, 0.003079f, -0.001395f, 0.000121f, 0.002287f, 0.003160f, 0.002294f, 0.002673f, 0.001601f, 0.002908f, 0.003412f, 0.001842f, 0.000148f, 0.002231f, 0.002496f, 0.003088f, 0.001460f, 0.001897f, 0.001890f, 0.000061f, 0.002011f, 0.002058f, 0.002790f, 0.001119f, 0.001602f, 0.004154f, 0.003795f, 0.001532f, 0.000538f, 0.001093f, 0.001079f, 0.003076f} - }, - { - {0.025610f, 0.025966f, 0.026661f, 0.027659f, 0.028909f, 0.030346f, 0.031894f, 0.033470f, 0.034985f, 0.036349f, 0.037476f, 0.038287f, 0.038710f, 0.038690f, 0.038186f, 0.037173f, 0.035647f, 0.033624f, 0.031139f, 0.028244f, 0.025013f, 0.021529f, 0.017890f, 0.014204f, 0.010581f, 0.007134f, 0.003970f, 0.001193f, -0.001109f, -0.002859f, -0.003998f, -0.004489f, -0.004315f, -0.003483f, -0.002021f, 0.000018f, 0.002563f, 0.005523f, 0.008791f, 0.012247f, 0.015764f, 0.019211f, 0.022455f, 0.025371f, 0.027839f, 0.029756f, 0.031033f, 0.031602f, 0.031415f, 0.030452f, 0.028713f, 0.026225f, 0.023040f, 0.019230f, 0.014888f, 0.010125f, 0.005062f, -0.000166f, -0.005423f, -0.010571f, -0.015474f, -0.020008f, -0.024058f, -0.027526f, -0.030333f, -0.032420f, -0.033753f, -0.034319f, -0.034130f, -0.033220f, -0.031645f, -0.029479f, -0.026815f, -0.023755f, -0.020413f, -0.016907f, -0.013358f, -0.009882f, -0.006589f, -0.003579f, -0.000938f, 0.001262f, 0.002970f, 0.004152f, 0.004794f, 0.004902f, 0.004503f, 0.003637f, 0.002365f, 0.000756f, -0.001107f, -0.003138f, -0.005245f, -0.007337f, -0.009326f, -0.011131f, - -0.012679f, -0.013911f, -0.014781f, -0.015257f, -0.015323f, -0.014980f, -0.014243f, -0.013143f, -0.011724f, -0.010039f, -0.008152f, -0.006131f, -0.004050f, -0.001979f, 0.000009f, 0.001850f, 0.003486f, 0.004868f, 0.005959f, 0.006734f, 0.007179f, 0.007297f, 0.007101f, 0.006614f, 0.005874f, 0.004926f, 0.003819f, 0.002613f, 0.001364f, 0.000132f, -0.001026f, -0.002059f, -0.002919f, -0.003571f, -0.003985f, -0.004144f, -0.004040f, -0.003677f, -0.003070f, -0.002242f, -0.001225f, -0.000058f, 0.001213f, 0.002541f, 0.003876f, 0.005170f, 0.006377f, 0.007455f, 0.008368f, 0.009087f, 0.009593f, 0.009873f, 0.009925f, 0.009757f, 0.009381f, 0.008822f, 0.008109f, 0.007275f, 0.006358f, 0.005397f, 0.004431f, 0.003499f, 0.002634f, 0.001865f, 0.001217f, 0.000706f, 0.000341f, 0.000123f, 0.000045f, 0.000094f, 0.000248f, 0.000483f, 0.000766f, 0.001064f, 0.001343f, 0.001568f, 0.001707f, 0.001730f, 0.001613f, 0.001339f, 0.000896f, 0.000281f, -0.000500f, -0.001435f, -0.002504f, -0.003679f, -0.004926f, -0.006208f, -0.007483f, -0.008708f, -0.009840f, -0.010839f, -0.011667f, -0.012292f, -0.012687f, -0.012836f, - -0.012728f, -0.012362f, -0.011747f, -0.010900f, -0.009847f, -0.008622f, -0.007264f, -0.005817f, -0.004330f, -0.002852f, -0.001433f, -0.000118f, 0.001048f, 0.002029f, 0.002793f, 0.003319f, 0.003593f, 0.003610f, 0.003377f, 0.002907f, 0.002226f, 0.001363f, 0.000358f, -0.000748f, -0.001907f, -0.003072f, -0.004195f, -0.005231f, -0.006137f, -0.006877f, -0.007423f, -0.007752f, -0.007852f, -0.007721f, -0.007363f, -0.006795f, -0.006040f, -0.005128f, -0.004097f, -0.002990f, -0.001850f, -0.000725f, 0.000341f, 0.001304f, 0.002126f, 0.002773f, 0.003220f, 0.003448f, -0.062172f, -0.091515f, -0.072763f, 0.070171f, -0.008941f, -0.099493f, -0.108939f, -0.147460f, -0.248276f, -0.178114f, -0.034602f, 0.058273f, -0.136470f, -0.217398f, 0.034715f, -0.063726f, -0.030817f, 0.068934f, 0.197802f, 0.101927f, -0.063032f, 0.004692f, -0.071259f, -0.096027f, -0.035763f, 0.098619f, 0.375310f, 0.252493f, 0.089705f, -0.043696f, -0.173499f, -0.130961f, -0.135621f, 0.295667f, 0.451114f, 0.238014f, -0.127549f, -0.279218f, -0.349355f, -0.078250f, 0.363353f, 0.168766f, 0.174663f, -0.032703f, -0.169587f, -0.097054f, 0.223490f, 0.428374f, - 0.231674f, -0.343396f, -0.481211f, -0.423973f, 0.047945f, 0.399053f, 0.562478f, 0.255866f, -0.070070f, -0.423145f, -0.236500f, -0.018686f, -0.046020f, 0.340138f, 0.153029f, -0.135824f, -0.140186f, 0.214839f, -0.119183f, -0.258816f, -0.374971f, -0.158821f, -0.013087f, 0.153132f, 0.104243f, 0.158932f, 0.044119f, -0.046752f, -0.113389f, -0.220468f, -0.152913f, 0.054289f, 0.156006f, 0.099701f, -0.178202f, -0.297953f, -0.100918f, 0.255658f, 0.470123f, 0.279739f, -0.145172f, -0.515016f, -0.514805f, -0.096374f, 0.448823f, 0.583482f, 0.312449f, -0.142389f, -0.399044f, -0.480280f, -0.057314f, 0.187400f, 0.276702f, 0.141990f, -0.082796f, -0.258281f, -0.248877f, -0.048325f, 0.214102f, 0.309213f, 0.187387f, -0.075422f, -0.272167f, -0.307918f, -0.178783f, 0.017618f, 0.249229f, 0.359000f, 0.148202f, -0.155440f, -0.409498f, -0.358952f, 0.002647f, 0.262971f, 0.388537f, 0.274792f, -0.088734f, -0.362447f, -0.397575f, -0.155395f, 0.151434f, 0.411319f, 0.362653f, 0.063857f, -0.326209f, -0.457817f, -0.329221f, 0.056563f, 0.384616f, 0.475754f, 0.182653f, -0.249120f, -0.487117f, -0.387725f, -0.025216f, 0.349249f, - 0.481058f, 0.269217f, -0.158897f, -0.449593f, -0.425922f, -0.091493f, 0.271958f, 0.425929f, 0.250062f, -0.106214f, -0.344123f, -0.310552f, -0.025361f, 0.232261f, 0.363327f, 0.161035f, -0.124671f, -0.269196f, -0.227176f, -0.012995f, 0.217935f, 0.279720f, 0.129086f, -0.129026f, -0.289828f, -0.227366f, 0.023489f, 0.232246f, 0.260926f, 0.106217f, -0.139601f, -0.247048f, -0.130607f, 0.058323f, 0.220883f, 0.327093f, -0.092404f, -0.398289f, -0.395170f, -0.061263f, 0.279569f, 0.361623f, 0.113971f, -0.221012f, -0.353200f, -0.168261f, 0.140828f, 0.292861f, 0.150711f, -0.131760f, -0.261245f, -0.124104f, 0.114667f, 0.191874f, 0.040400f, -0.139259f, -0.123195f, 0.038250f, 0.082579f, -0.012815f, -0.041801f, -0.007158f, -0.000334f, -0.005782f, -0.007424f, -0.006915f, -0.006995f, -0.005584f, -0.005366f, -0.006011f, -0.006448f, -0.006286f, -0.007543f, -0.005083f, -0.006372f, -0.005205f, -0.007209f, -0.007291f, -0.006362f, -0.005063f, -0.005453f, -0.008310f, -0.005609f, -0.004844f, -0.006088f, -0.005906f, -0.005358f, -0.006688f, -0.004550f, -0.004954f, -0.007725f, -0.006471f, -0.004609f, -0.004685f, -0.004876f, -0.007015f}, - {0.025610f, 0.025966f, 0.026661f, 0.027659f, 0.028909f, 0.030346f, 0.031894f, 0.033470f, 0.034985f, 0.036349f, 0.037476f, 0.038287f, 0.038710f, 0.038690f, 0.038186f, 0.037173f, 0.035647f, 0.033624f, 0.031139f, 0.028244f, 0.025013f, 0.021529f, 0.017890f, 0.014204f, 0.010581f, 0.007134f, 0.003970f, 0.001193f, -0.001109f, -0.002859f, -0.003998f, -0.004489f, -0.004315f, -0.003483f, -0.002021f, 0.000018f, 0.002563f, 0.005523f, 0.008791f, 0.012247f, 0.015764f, 0.019211f, 0.022455f, 0.025371f, 0.027839f, 0.029756f, 0.031033f, 0.031602f, 0.031415f, 0.030452f, 0.028713f, 0.026225f, 0.023040f, 0.019230f, 0.014888f, 0.010125f, 0.005062f, -0.000166f, -0.005423f, -0.010571f, -0.015474f, -0.020008f, -0.024058f, -0.027526f, -0.030333f, -0.032420f, -0.033753f, -0.034319f, -0.034130f, -0.033220f, -0.031645f, -0.029479f, -0.026815f, -0.023755f, -0.020413f, -0.016907f, -0.013358f, -0.009882f, -0.006589f, -0.003579f, -0.000938f, 0.001262f, 0.002970f, 0.004152f, 0.004794f, 0.004902f, 0.004503f, 0.003637f, 0.002365f, 0.000756f, -0.001107f, -0.003138f, -0.005245f, -0.007337f, -0.009326f, -0.011131f, - -0.012679f, -0.013911f, -0.014781f, -0.015257f, -0.015323f, -0.014980f, -0.014243f, -0.013143f, -0.011724f, -0.010039f, -0.008152f, -0.006131f, -0.004050f, -0.001979f, 0.000009f, 0.001850f, 0.003486f, 0.004868f, 0.005959f, 0.006734f, 0.007179f, 0.007297f, 0.007101f, 0.006614f, 0.005874f, 0.004926f, 0.003819f, 0.002613f, 0.001364f, 0.000132f, -0.001026f, -0.002059f, -0.002919f, -0.003571f, -0.003985f, -0.004144f, -0.004040f, -0.003677f, -0.003070f, -0.002242f, -0.001225f, -0.000058f, 0.001213f, 0.002541f, 0.003876f, 0.005170f, 0.006377f, 0.007455f, 0.008368f, 0.009087f, 0.009593f, 0.009873f, 0.009925f, 0.009757f, 0.009381f, 0.008822f, 0.008109f, 0.007275f, 0.006358f, 0.005397f, 0.004431f, 0.003499f, 0.002634f, 0.001865f, 0.001217f, 0.000706f, 0.000341f, 0.000123f, 0.000045f, 0.000094f, 0.000248f, 0.000483f, 0.000766f, 0.001064f, 0.001343f, 0.001568f, 0.001707f, 0.001730f, 0.001613f, 0.001339f, 0.000896f, 0.000281f, -0.000500f, -0.001435f, -0.002504f, -0.003679f, -0.004926f, -0.006208f, -0.007483f, -0.008708f, -0.009840f, -0.010839f, -0.011667f, -0.012292f, -0.012687f, -0.012836f, - -0.012728f, -0.012362f, -0.011747f, -0.010900f, -0.009847f, -0.008622f, -0.007264f, -0.005817f, -0.004330f, -0.002852f, -0.001433f, -0.000118f, 0.001048f, 0.002029f, 0.002793f, 0.003319f, 0.003593f, 0.003610f, 0.003377f, 0.002907f, 0.002226f, 0.001363f, 0.000358f, -0.000748f, -0.001907f, -0.003072f, -0.004195f, -0.005231f, -0.006137f, -0.006877f, -0.007423f, -0.007752f, -0.007852f, -0.007721f, -0.007363f, -0.006795f, -0.006040f, -0.005128f, -0.004097f, -0.002990f, -0.001850f, -0.000725f, 0.000341f, 0.001304f, 0.002126f, 0.002773f, 0.003220f, 0.003448f, -0.062172f, -0.091515f, -0.072763f, 0.070171f, -0.008941f, -0.099493f, -0.108939f, -0.147460f, -0.248276f, -0.178114f, -0.034602f, 0.058273f, -0.136470f, -0.217398f, 0.034715f, -0.063726f, -0.030817f, 0.068934f, 0.197802f, 0.101927f, -0.063032f, 0.004692f, -0.071259f, -0.096027f, -0.035763f, 0.098619f, 0.375310f, 0.252493f, 0.089705f, -0.043696f, -0.173499f, -0.130961f, -0.135621f, 0.295667f, 0.451114f, 0.238014f, -0.127549f, -0.279218f, -0.349355f, -0.078250f, 0.363353f, 0.168766f, 0.174663f, -0.032703f, -0.169587f, -0.097054f, 0.223490f, 0.428374f, - 0.231674f, -0.343396f, -0.481211f, -0.423973f, 0.047945f, 0.399053f, 0.562478f, 0.255866f, -0.070070f, -0.423145f, -0.236500f, -0.018686f, -0.046020f, 0.340138f, 0.153029f, -0.135824f, -0.140186f, 0.214839f, -0.119183f, -0.258816f, -0.374971f, -0.158821f, -0.013087f, 0.153132f, 0.104243f, 0.158932f, 0.044119f, -0.046752f, -0.113389f, -0.220468f, -0.152913f, 0.054289f, 0.156006f, 0.099701f, -0.178202f, -0.297953f, -0.100918f, 0.255658f, 0.470123f, 0.279739f, -0.145172f, -0.515016f, -0.514805f, -0.096374f, 0.448823f, 0.583482f, 0.312449f, -0.142389f, -0.399044f, -0.480280f, -0.057314f, 0.187400f, 0.276702f, 0.141990f, -0.082796f, -0.258281f, -0.248877f, -0.048325f, 0.214102f, 0.309213f, 0.187387f, -0.075422f, -0.272167f, -0.307918f, -0.178783f, 0.017618f, 0.249229f, 0.359000f, 0.148202f, -0.155440f, -0.409498f, -0.358952f, 0.002647f, 0.262971f, 0.388537f, 0.274792f, -0.088734f, -0.362447f, -0.397575f, -0.155395f, 0.151434f, 0.411319f, 0.362653f, 0.063857f, -0.326209f, -0.457817f, -0.329221f, 0.056563f, 0.384616f, 0.475754f, 0.182653f, -0.249120f, -0.487117f, -0.387725f, -0.025216f, 0.349249f, - 0.481058f, 0.269217f, -0.158897f, -0.449593f, -0.425922f, -0.091493f, 0.271958f, 0.425929f, 0.250062f, -0.106214f, -0.344123f, -0.310552f, -0.025361f, 0.232261f, 0.363327f, 0.161035f, -0.124671f, -0.269196f, -0.227176f, -0.012995f, 0.217935f, 0.279720f, 0.129086f, -0.129026f, -0.289828f, -0.227366f, 0.023489f, 0.232246f, 0.260926f, 0.106217f, -0.139601f, -0.247048f, -0.130607f, 0.058323f, 0.220883f, 0.327093f, -0.092404f, -0.398289f, -0.395170f, -0.061263f, 0.279569f, 0.361623f, 0.113971f, -0.221012f, -0.353200f, -0.168261f, 0.140828f, 0.292861f, 0.150711f, -0.131760f, -0.261245f, -0.124104f, 0.114667f, 0.191874f, 0.040400f, -0.139259f, -0.123195f, 0.038250f, 0.082579f, -0.012815f, -0.041801f, -0.007158f, -0.000334f, -0.005782f, -0.007424f, -0.006915f, -0.006995f, -0.005584f, -0.005366f, -0.006011f, -0.006448f, -0.006286f, -0.007543f, -0.005083f, -0.006372f, -0.005205f, -0.007209f, -0.007291f, -0.006362f, -0.005063f, -0.005453f, -0.008310f, -0.005609f, -0.004844f, -0.006088f, -0.005906f, -0.005358f, -0.006688f, -0.004550f, -0.004954f, -0.007725f, -0.006471f, -0.004609f, -0.004685f, -0.004876f, -0.007015f} - }, - { - {0.047152f, 0.046419f, 0.044975f, 0.042863f, 0.040145f, 0.036900f, 0.033224f, 0.029222f, 0.025009f, 0.020704f, 0.016426f, 0.012291f, 0.008408f, 0.004875f, 0.001776f, -0.000820f, -0.002863f, -0.004323f, -0.005190f, -0.005475f, -0.005207f, -0.004435f, -0.003223f, -0.001648f, 0.000201f, 0.002228f, 0.004334f, 0.006419f, 0.008387f, 0.010150f, 0.011629f, 0.012757f, 0.013484f, 0.013775f, 0.013613f, 0.013002f, 0.011961f, 0.010526f, 0.008751f, 0.006702f, 0.004456f, 0.002098f, -0.000281f, -0.002589f, -0.004736f, -0.006636f, -0.008212f, -0.009397f, -0.010137f, -0.010395f, -0.010148f, -0.009391f, -0.008135f, -0.006409f, -0.004258f, -0.001740f, 0.001075f, 0.004108f, 0.007272f, 0.010478f, 0.013635f, 0.016655f, 0.019455f, 0.021961f, 0.024107f, 0.025844f, 0.027131f, 0.027947f, 0.028283f, 0.028147f, 0.027560f, 0.026559f, 0.025189f, 0.023509f, 0.021583f, 0.019480f, 0.017274f, 0.015037f, 0.012837f, 0.010740f, 0.008803f, 0.007073f, 0.005589f, 0.004377f, 0.003450f, 0.002810f, 0.002447f, 0.002341f, 0.002460f, 0.002767f, 0.003215f, 0.003756f, 0.004338f, 0.004910f, 0.005423f, 0.005832f, - 0.006099f, 0.006192f, 0.006090f, 0.005779f, 0.005258f, 0.004533f, 0.003622f, 0.002551f, 0.001353f, 0.000070f, -0.001256f, -0.002575f, -0.003840f, -0.005004f, -0.006021f, -0.006853f, -0.007466f, -0.007835f, -0.007943f, -0.007781f, -0.007353f, -0.006669f, -0.005750f, -0.004625f, -0.003331f, -0.001908f, -0.000405f, 0.001131f, 0.002649f, 0.004102f, 0.005442f, 0.006629f, 0.007626f, 0.008406f, 0.008947f, 0.009238f, 0.009276f, 0.009066f, 0.008622f, 0.007967f, 0.007129f, 0.006142f, 0.005045f, 0.003878f, 0.002683f, 0.001502f, 0.000374f, -0.000666f, -0.001588f, -0.002367f, -0.002985f, -0.003431f, -0.003702f, -0.003802f, -0.003741f, -0.003538f, -0.003215f, -0.002797f, -0.002316f, -0.001801f, -0.001286f, -0.000799f, -0.000370f, -0.000021f, 0.000228f, 0.000362f, 0.000375f, 0.000264f, 0.000034f, -0.000302f, -0.000729f, -0.001224f, -0.001762f, -0.002315f, -0.002853f, -0.003344f, -0.003760f, -0.004075f, -0.004263f, -0.004307f, -0.004193f, -0.003914f, -0.003467f, -0.002860f, -0.002103f, -0.001214f, -0.000217f, 0.000860f, 0.001987f, 0.003130f, 0.004254f, 0.005325f, 0.006310f, 0.007179f, 0.007908f, 0.008474f, - 0.008862f, 0.009065f, 0.009080f, 0.008910f, 0.008569f, 0.008071f, 0.007441f, 0.006704f, 0.005891f, 0.005035f, 0.004169f, 0.003326f, 0.002538f, 0.001833f, 0.001236f, 0.000767f, 0.000440f, 0.000265f, 0.000243f, 0.000370f, 0.000636f, 0.001026f, 0.001519f, 0.002091f, 0.002714f, 0.003360f, 0.004000f, 0.004604f, 0.005146f, 0.005601f, 0.005950f, 0.006177f, 0.006272f, 0.006232f, 0.006057f, 0.005755f, 0.005338f, 0.004825f, 0.004237f, 0.003598f, 0.002936f, 0.002278f, 0.001651f, 0.001083f, 0.000598f, 0.000214f, -0.000051f, -0.000186f, -0.014399f, -0.088918f, -0.104568f, 0.033774f, 0.006889f, -0.014211f, -0.339412f, -0.200382f, -0.197825f, -0.256243f, -0.049747f, 0.153723f, 0.189341f, 0.030845f, 0.049345f, 0.023389f, 0.124600f, -0.055314f, 0.034364f, 0.042592f, 0.009443f, 0.028243f, 0.002752f, -0.002188f, 0.008221f, -0.011938f, -0.027058f, 0.014048f, 0.003354f, -0.058375f, -0.073083f, -0.034868f, 0.005558f, -0.010350f, -0.046182f, -0.010972f, 0.053029f, 0.157632f, 0.016291f, -0.057067f, -0.213388f, 0.018673f, 0.169634f, 0.193574f, 0.145085f, -0.084971f, -0.237624f, -0.226809f, - -0.110297f, 0.096854f, 0.213419f, 0.198516f, 0.019172f, -0.167969f, -0.238403f, -0.157229f, -0.008594f, 0.166266f, 0.146397f, 0.056850f, 0.078227f, -0.230405f, -0.182536f, -0.000273f, 0.081119f, -0.082448f, 0.310260f, 0.369648f, 0.327330f, -0.054515f, -0.303985f, -0.330843f, 0.023930f, 0.249376f, 0.283462f, 0.082354f, -0.210615f, -0.253664f, -0.298859f, -0.051273f, 0.258919f, 0.344791f, 0.212825f, -0.062716f, -0.254123f, -0.228433f, 0.024020f, 0.174971f, 0.169038f, -0.016732f, -0.152145f, -0.181161f, -0.026750f, 0.108313f, 0.105190f, 0.005511f, -0.080886f, -0.175720f, -0.053616f, 0.124221f, 0.328626f, 0.269120f, -0.012363f, -0.366991f, -0.418201f, -0.179777f, 0.226324f, 0.502263f, 0.469250f, 0.157321f, -0.343881f, -0.631262f, -0.403278f, 0.113845f, 0.477319f, 0.374508f, -0.060622f, -0.349411f, -0.409097f, -0.083539f, 0.217155f, 0.263939f, 0.250254f, -0.057498f, -0.154273f, -0.182069f, -0.042848f, 0.108637f, 0.149146f, 0.048201f, -0.034839f, -0.113656f, -0.076942f, 0.021116f, 0.113304f, 0.085027f, 0.004350f, -0.092580f, -0.102413f, -0.029857f, 0.069689f, 0.114991f, 0.094846f, -0.030280f, - -0.136362f, -0.139061f, -0.036977f, 0.094935f, 0.173700f, 0.157429f, 0.014736f, -0.146953f, -0.191168f, -0.145844f, -0.001188f, 0.157952f, 0.198629f, 0.089918f, -0.075089f, -0.194002f, -0.170286f, -0.047141f, 0.122563f, 0.190138f, 0.123703f, -0.025843f, -0.186317f, -0.197764f, -0.034739f, 0.119741f, 0.200216f, 0.110432f, -0.010105f, -0.153690f, -0.166144f, -0.039158f, 0.099676f, 0.143215f, 0.059367f, -0.190863f, -0.163854f, 0.031416f, 0.208956f, 0.221929f, 0.042610f, -0.164837f, -0.219071f, -0.058930f, 0.162295f, 0.234901f, 0.081855f, -0.143458f, -0.211225f, -0.049183f, 0.162727f, 0.191917f, 0.007000f, -0.167170f, -0.118384f, 0.082358f, 0.149077f, -0.009682f, -0.097921f, 0.005018f, 0.046167f, 0.000346f, -0.005773f, 0.003501f, 0.005151f, 0.002723f, 0.003190f, 0.002225f, 0.003858f, 0.003725f, 0.004658f, 0.004453f, 0.001746f, 0.003153f, 0.002864f, 0.003655f, 0.003188f, 0.003292f, 0.001931f, 0.002658f, 0.001276f, 0.002184f, 0.003202f, 0.006402f, 0.002000f, 0.002265f, 0.000766f, 0.003939f, 0.004158f, 0.002916f, 0.002643f, 0.001368f, 0.002446f, 0.003088f, 0.003033f, 0.003336f}, - {0.047152f, 0.046419f, 0.044975f, 0.042863f, 0.040145f, 0.036900f, 0.033224f, 0.029222f, 0.025009f, 0.020704f, 0.016426f, 0.012291f, 0.008408f, 0.004875f, 0.001776f, -0.000820f, -0.002863f, -0.004323f, -0.005190f, -0.005475f, -0.005207f, -0.004435f, -0.003223f, -0.001648f, 0.000201f, 0.002228f, 0.004334f, 0.006419f, 0.008387f, 0.010150f, 0.011629f, 0.012757f, 0.013484f, 0.013775f, 0.013613f, 0.013002f, 0.011961f, 0.010526f, 0.008751f, 0.006702f, 0.004456f, 0.002098f, -0.000281f, -0.002589f, -0.004736f, -0.006636f, -0.008212f, -0.009397f, -0.010137f, -0.010395f, -0.010148f, -0.009391f, -0.008135f, -0.006409f, -0.004258f, -0.001740f, 0.001075f, 0.004108f, 0.007272f, 0.010478f, 0.013635f, 0.016655f, 0.019455f, 0.021961f, 0.024107f, 0.025844f, 0.027131f, 0.027947f, 0.028283f, 0.028147f, 0.027560f, 0.026559f, 0.025189f, 0.023509f, 0.021583f, 0.019480f, 0.017274f, 0.015037f, 0.012837f, 0.010740f, 0.008803f, 0.007073f, 0.005589f, 0.004377f, 0.003450f, 0.002810f, 0.002447f, 0.002341f, 0.002460f, 0.002767f, 0.003215f, 0.003756f, 0.004338f, 0.004910f, 0.005423f, 0.005832f, - 0.006099f, 0.006192f, 0.006090f, 0.005779f, 0.005258f, 0.004533f, 0.003622f, 0.002551f, 0.001353f, 0.000070f, -0.001256f, -0.002575f, -0.003840f, -0.005004f, -0.006021f, -0.006853f, -0.007466f, -0.007835f, -0.007943f, -0.007781f, -0.007353f, -0.006669f, -0.005750f, -0.004625f, -0.003331f, -0.001908f, -0.000405f, 0.001131f, 0.002649f, 0.004102f, 0.005442f, 0.006629f, 0.007626f, 0.008406f, 0.008947f, 0.009238f, 0.009276f, 0.009066f, 0.008622f, 0.007967f, 0.007129f, 0.006142f, 0.005045f, 0.003878f, 0.002683f, 0.001502f, 0.000374f, -0.000666f, -0.001588f, -0.002367f, -0.002985f, -0.003431f, -0.003702f, -0.003802f, -0.003741f, -0.003538f, -0.003215f, -0.002797f, -0.002316f, -0.001801f, -0.001286f, -0.000799f, -0.000370f, -0.000021f, 0.000228f, 0.000362f, 0.000375f, 0.000264f, 0.000034f, -0.000302f, -0.000729f, -0.001224f, -0.001762f, -0.002315f, -0.002853f, -0.003344f, -0.003760f, -0.004075f, -0.004263f, -0.004307f, -0.004193f, -0.003914f, -0.003467f, -0.002860f, -0.002103f, -0.001214f, -0.000217f, 0.000860f, 0.001987f, 0.003130f, 0.004254f, 0.005325f, 0.006310f, 0.007179f, 0.007908f, 0.008474f, - 0.008862f, 0.009065f, 0.009080f, 0.008910f, 0.008569f, 0.008071f, 0.007441f, 0.006704f, 0.005891f, 0.005035f, 0.004169f, 0.003326f, 0.002538f, 0.001833f, 0.001236f, 0.000767f, 0.000440f, 0.000265f, 0.000243f, 0.000370f, 0.000636f, 0.001026f, 0.001519f, 0.002091f, 0.002714f, 0.003360f, 0.004000f, 0.004604f, 0.005146f, 0.005601f, 0.005950f, 0.006177f, 0.006272f, 0.006232f, 0.006057f, 0.005755f, 0.005338f, 0.004825f, 0.004237f, 0.003598f, 0.002936f, 0.002278f, 0.001651f, 0.001083f, 0.000598f, 0.000214f, -0.000051f, -0.000186f, -0.014399f, -0.088918f, -0.104568f, 0.033774f, 0.006889f, -0.014211f, -0.339412f, -0.200382f, -0.197825f, -0.256243f, -0.049747f, 0.153723f, 0.189341f, 0.030845f, 0.049345f, 0.023389f, 0.124600f, -0.055314f, 0.034364f, 0.042592f, 0.009443f, 0.028243f, 0.002752f, -0.002188f, 0.008221f, -0.011938f, -0.027058f, 0.014048f, 0.003354f, -0.058375f, -0.073083f, -0.034868f, 0.005558f, -0.010350f, -0.046182f, -0.010972f, 0.053029f, 0.157632f, 0.016291f, -0.057067f, -0.213388f, 0.018673f, 0.169634f, 0.193574f, 0.145085f, -0.084971f, -0.237624f, -0.226809f, - -0.110297f, 0.096854f, 0.213419f, 0.198516f, 0.019172f, -0.167969f, -0.238403f, -0.157229f, -0.008594f, 0.166266f, 0.146397f, 0.056850f, 0.078227f, -0.230405f, -0.182536f, -0.000273f, 0.081119f, -0.082448f, 0.310260f, 0.369648f, 0.327330f, -0.054515f, -0.303985f, -0.330843f, 0.023930f, 0.249376f, 0.283462f, 0.082354f, -0.210615f, -0.253664f, -0.298859f, -0.051273f, 0.258919f, 0.344791f, 0.212825f, -0.062716f, -0.254123f, -0.228433f, 0.024020f, 0.174971f, 0.169038f, -0.016732f, -0.152145f, -0.181161f, -0.026750f, 0.108313f, 0.105190f, 0.005511f, -0.080886f, -0.175720f, -0.053616f, 0.124221f, 0.328626f, 0.269120f, -0.012363f, -0.366991f, -0.418201f, -0.179777f, 0.226324f, 0.502263f, 0.469250f, 0.157321f, -0.343881f, -0.631262f, -0.403278f, 0.113845f, 0.477319f, 0.374508f, -0.060622f, -0.349411f, -0.409097f, -0.083539f, 0.217155f, 0.263939f, 0.250254f, -0.057498f, -0.154273f, -0.182069f, -0.042848f, 0.108637f, 0.149146f, 0.048201f, -0.034839f, -0.113656f, -0.076942f, 0.021116f, 0.113304f, 0.085027f, 0.004350f, -0.092580f, -0.102413f, -0.029857f, 0.069689f, 0.114991f, 0.094846f, -0.030280f, - -0.136362f, -0.139061f, -0.036977f, 0.094935f, 0.173700f, 0.157429f, 0.014736f, -0.146953f, -0.191168f, -0.145844f, -0.001188f, 0.157952f, 0.198629f, 0.089918f, -0.075089f, -0.194002f, -0.170286f, -0.047141f, 0.122563f, 0.190138f, 0.123703f, -0.025843f, -0.186317f, -0.197764f, -0.034739f, 0.119741f, 0.200216f, 0.110432f, -0.010105f, -0.153690f, -0.166144f, -0.039158f, 0.099676f, 0.143215f, 0.059367f, -0.190863f, -0.163854f, 0.031416f, 0.208956f, 0.221929f, 0.042610f, -0.164837f, -0.219071f, -0.058930f, 0.162295f, 0.234901f, 0.081855f, -0.143458f, -0.211225f, -0.049183f, 0.162727f, 0.191917f, 0.007000f, -0.167170f, -0.118384f, 0.082358f, 0.149077f, -0.009682f, -0.097921f, 0.005018f, 0.046167f, 0.000346f, -0.005773f, 0.003501f, 0.005151f, 0.002723f, 0.003190f, 0.002225f, 0.003858f, 0.003725f, 0.004658f, 0.004453f, 0.001746f, 0.003153f, 0.002864f, 0.003655f, 0.003188f, 0.003292f, 0.001931f, 0.002658f, 0.001276f, 0.002184f, 0.003202f, 0.006402f, 0.002000f, 0.002265f, 0.000766f, 0.003939f, 0.004158f, 0.002916f, 0.002643f, 0.001368f, 0.002446f, 0.003088f, 0.003033f, 0.003336f} - }, - { - {0.020127f, 0.019564f, 0.018453f, 0.016824f, 0.014720f, 0.012199f, 0.009327f, 0.006183f, 0.002851f, -0.000580f, -0.004016f, -0.007366f, -0.010538f, -0.013447f, -0.016013f, -0.018166f, -0.019846f, -0.021005f, -0.021609f, -0.021638f, -0.021086f, -0.019962f, -0.018288f, -0.016102f, -0.013452f, -0.010398f, -0.007010f, -0.003364f, 0.000457f, 0.004367f, 0.008280f, 0.012111f, 0.015777f, 0.019202f, 0.022315f, 0.025057f, 0.027376f, 0.029232f, 0.030599f, 0.031461f, 0.031816f, 0.031671f, 0.031050f, 0.029982f, 0.028509f, 0.026681f, 0.024553f, 0.022187f, 0.019647f, 0.016999f, 0.014309f, 0.011639f, 0.009051f, 0.006600f, 0.004335f, 0.002298f, 0.000523f, -0.000965f, -0.002147f, -0.003018f, -0.003575f, -0.003830f, -0.003796f, -0.003497f, -0.002961f, -0.002220f, -0.001310f, -0.000270f, 0.000862f, 0.002046f, 0.003247f, 0.004427f, 0.005556f, 0.006605f, 0.007551f, 0.008374f, 0.009061f, 0.009603f, 0.009995f, 0.010239f, 0.010340f, 0.010305f, 0.010146f, 0.009877f, 0.009513f, 0.009072f, 0.008569f, 0.008021f, 0.007443f, 0.006849f, 0.006250f, 0.005657f, 0.005077f, 0.004514f, 0.003972f, 0.003449f, - 0.002944f, 0.002455f, 0.001975f, 0.001500f, 0.001023f, 0.000538f, 0.000041f, -0.000474f, -0.001008f, -0.001565f, -0.002143f, -0.002739f, -0.003350f, -0.003968f, -0.004586f, -0.005194f, -0.005780f, -0.006332f, -0.006838f, -0.007285f, -0.007661f, -0.007955f, -0.008158f, -0.008261f, -0.008260f, -0.008152f, -0.007935f, -0.007614f, -0.007193f, -0.006682f, -0.006092f, -0.005437f, -0.004733f, -0.003998f, -0.003250f, -0.002510f, -0.001797f, -0.001131f, -0.000530f, -0.000012f, 0.000409f, 0.000721f, 0.000914f, 0.000981f, 0.000920f, 0.000730f, 0.000417f, -0.000014f, -0.000552f, -0.001183f, -0.001893f, -0.002664f, -0.003477f, -0.004313f, -0.005151f, -0.005971f, -0.006755f, -0.007484f, -0.008143f, -0.008718f, -0.009198f, -0.009574f, -0.009842f, -0.009998f, -0.010043f, -0.009981f, -0.009818f, -0.009564f, -0.009227f, -0.008823f, -0.008363f, -0.007862f, -0.007336f, -0.006799f, -0.006264f, -0.005746f, -0.005254f, -0.004800f, -0.004392f, -0.004034f, -0.003731f, -0.003483f, -0.003291f, -0.003151f, -0.003060f, -0.003010f, -0.002994f, -0.003005f, -0.003033f, -0.003070f, -0.003107f, -0.003136f, -0.003149f, -0.003140f, -0.003105f, -0.003039f, - -0.002942f, -0.002813f, -0.002654f, -0.002466f, -0.002256f, -0.002028f, -0.001789f, -0.001546f, -0.001306f, -0.001077f, -0.000865f, -0.000678f, -0.000522f, -0.000401f, -0.000319f, -0.000279f, -0.000280f, -0.000323f, -0.000404f, -0.000522f, -0.000670f, -0.000842f, -0.001033f, -0.001235f, -0.001440f, -0.001639f, -0.001827f, -0.001996f, -0.002139f, -0.002251f, -0.002329f, -0.002369f, -0.002371f, -0.002334f, -0.002261f, -0.002154f, -0.002017f, -0.001856f, -0.001677f, -0.001488f, -0.001294f, -0.001105f, -0.000927f, -0.000766f, -0.000630f, -0.000523f, -0.000449f, -0.000412f, -0.014151f, 0.039337f, -0.009261f, -0.048279f, -0.015075f, 0.009931f, 0.016956f, 0.126611f, 0.199676f, 0.247669f, -0.052009f, -0.166393f, -0.248453f, -0.100524f, 0.104113f, 0.332347f, 0.192038f, 0.074604f, -0.098523f, -0.080987f, -0.048782f, 0.050214f, -0.015708f, -0.046663f, -0.035120f, -0.020731f, 0.024618f, 0.126910f, 0.109013f, 0.139900f, -0.066775f, -0.193711f, -0.186368f, -0.061481f, 0.134857f, 0.271718f, 0.167815f, -0.028485f, -0.220587f, -0.176122f, 0.052869f, 0.014749f, 0.044216f, 0.024563f, 0.012979f, -0.046201f, -0.072822f, 0.081452f, - 0.084678f, -0.086224f, -0.090877f, -0.104086f, -0.040794f, 0.029843f, 0.143701f, 0.103193f, 0.063207f, -0.055107f, -0.065673f, -0.095260f, -0.027833f, 0.096659f, 0.166484f, 0.103337f, 0.012089f, -0.106923f, -0.226200f, -0.244058f, -0.041068f, 0.180731f, 0.277362f, 0.277711f, 0.158361f, -0.095499f, -0.346798f, -0.338543f, -0.124445f, 0.158028f, 0.304308f, 0.289049f, 0.048713f, -0.175475f, -0.299394f, -0.229171f, 0.044670f, 0.173668f, 0.073384f, -0.087531f, -0.142934f, -0.123168f, 0.004141f, 0.079146f, 0.121943f, 0.095298f, 0.028484f, -0.076227f, -0.146192f, -0.055801f, 0.023663f, 0.107204f, 0.137803f, 0.026475f, -0.075617f, -0.157564f, -0.101773f, 0.032719f, 0.182020f, 0.145379f, -0.064918f, -0.190720f, -0.146656f, -0.008983f, 0.178396f, 0.219287f, 0.110936f, -0.157996f, -0.400782f, -0.284468f, 0.057294f, 0.286167f, 0.308590f, 0.056655f, -0.173065f, -0.257245f, -0.177888f, 0.080312f, 0.201813f, 0.215213f, 0.086871f, -0.098072f, -0.204441f, -0.162266f, -0.022601f, 0.186823f, 0.214745f, 0.125103f, -0.102279f, -0.251245f, -0.218701f, -0.022069f, 0.125565f, 0.222139f, 0.159612f, 0.010752f, - -0.169728f, -0.206679f, -0.085379f, 0.106638f, 0.118277f, 0.089598f, -0.024958f, -0.122614f, -0.092495f, -0.005718f, 0.053518f, 0.032109f, 0.013678f, -0.011855f, -0.023277f, -0.026915f, -0.025700f, -0.048447f, -0.015780f, 0.028899f, 0.060556f, 0.037983f, -0.004137f, -0.049395f, -0.051257f, -0.028121f, 0.004230f, 0.040847f, 0.064514f, 0.017160f, -0.019601f, -0.059654f, -0.043605f, 0.021966f, 0.007920f, -0.021072f, -0.040672f, 0.003927f, 0.038201f, 0.043360f, -0.010796f, -0.047209f, -0.039646f, 0.022779f, 0.053054f, 0.024522f, -0.037072f, -0.052419f, -0.009074f, 0.045387f, 0.042043f, -0.007891f, -0.054910f, -0.031857f, 0.030133f, 0.051439f, -0.008864f, -0.052426f, -0.007621f, 0.030137f, -0.000197f, -0.009380f, -0.000042f, -0.000829f, -0.002167f, -0.000541f, -0.000478f, -0.000541f, -0.000586f, 0.000333f, -0.001820f, -0.001863f, -0.001979f, -0.000635f, -0.001398f, -0.000042f, -0.001265f, -0.001653f, -0.001439f, -0.001095f, -0.003172f, -0.001245f, -0.000398f, 0.000360f, -0.000036f, -0.002032f, -0.000729f, -0.002114f, -0.001880f, -0.001614f, -0.001210f, 0.000266f, -0.000904f, -0.001292f, -0.000951f, -0.001328f}, - {0.020127f, 0.019564f, 0.018453f, 0.016824f, 0.014720f, 0.012199f, 0.009327f, 0.006183f, 0.002851f, -0.000580f, -0.004016f, -0.007366f, -0.010538f, -0.013447f, -0.016013f, -0.018166f, -0.019846f, -0.021005f, -0.021609f, -0.021638f, -0.021086f, -0.019962f, -0.018288f, -0.016102f, -0.013452f, -0.010398f, -0.007010f, -0.003364f, 0.000457f, 0.004367f, 0.008280f, 0.012111f, 0.015777f, 0.019202f, 0.022315f, 0.025057f, 0.027376f, 0.029232f, 0.030599f, 0.031461f, 0.031816f, 0.031671f, 0.031050f, 0.029982f, 0.028509f, 0.026681f, 0.024553f, 0.022187f, 0.019647f, 0.016999f, 0.014309f, 0.011639f, 0.009051f, 0.006600f, 0.004335f, 0.002298f, 0.000523f, -0.000965f, -0.002147f, -0.003018f, -0.003575f, -0.003830f, -0.003796f, -0.003497f, -0.002961f, -0.002220f, -0.001310f, -0.000270f, 0.000862f, 0.002046f, 0.003247f, 0.004427f, 0.005556f, 0.006605f, 0.007551f, 0.008374f, 0.009061f, 0.009603f, 0.009995f, 0.010239f, 0.010340f, 0.010305f, 0.010146f, 0.009877f, 0.009513f, 0.009072f, 0.008569f, 0.008021f, 0.007443f, 0.006849f, 0.006250f, 0.005657f, 0.005077f, 0.004514f, 0.003972f, 0.003449f, - 0.002944f, 0.002455f, 0.001975f, 0.001500f, 0.001023f, 0.000538f, 0.000041f, -0.000474f, -0.001008f, -0.001565f, -0.002143f, -0.002739f, -0.003350f, -0.003968f, -0.004586f, -0.005194f, -0.005780f, -0.006332f, -0.006838f, -0.007285f, -0.007661f, -0.007955f, -0.008158f, -0.008261f, -0.008260f, -0.008152f, -0.007935f, -0.007614f, -0.007193f, -0.006682f, -0.006092f, -0.005437f, -0.004733f, -0.003998f, -0.003250f, -0.002510f, -0.001797f, -0.001131f, -0.000530f, -0.000012f, 0.000409f, 0.000721f, 0.000914f, 0.000981f, 0.000920f, 0.000730f, 0.000417f, -0.000014f, -0.000552f, -0.001183f, -0.001893f, -0.002664f, -0.003477f, -0.004313f, -0.005151f, -0.005971f, -0.006755f, -0.007484f, -0.008143f, -0.008718f, -0.009198f, -0.009574f, -0.009842f, -0.009998f, -0.010043f, -0.009981f, -0.009818f, -0.009564f, -0.009227f, -0.008823f, -0.008363f, -0.007862f, -0.007336f, -0.006799f, -0.006264f, -0.005746f, -0.005254f, -0.004800f, -0.004392f, -0.004034f, -0.003731f, -0.003483f, -0.003291f, -0.003151f, -0.003060f, -0.003010f, -0.002994f, -0.003005f, -0.003033f, -0.003070f, -0.003107f, -0.003136f, -0.003149f, -0.003140f, -0.003105f, -0.003039f, - -0.002942f, -0.002813f, -0.002654f, -0.002466f, -0.002256f, -0.002028f, -0.001789f, -0.001546f, -0.001306f, -0.001077f, -0.000865f, -0.000678f, -0.000522f, -0.000401f, -0.000319f, -0.000279f, -0.000280f, -0.000323f, -0.000404f, -0.000522f, -0.000670f, -0.000842f, -0.001033f, -0.001235f, -0.001440f, -0.001639f, -0.001827f, -0.001996f, -0.002139f, -0.002251f, -0.002329f, -0.002369f, -0.002371f, -0.002334f, -0.002261f, -0.002154f, -0.002017f, -0.001856f, -0.001677f, -0.001488f, -0.001294f, -0.001105f, -0.000927f, -0.000766f, -0.000630f, -0.000523f, -0.000449f, -0.000412f, -0.014151f, 0.039337f, -0.009261f, -0.048279f, -0.015075f, 0.009931f, 0.016956f, 0.126611f, 0.199676f, 0.247669f, -0.052009f, -0.166393f, -0.248453f, -0.100524f, 0.104113f, 0.332347f, 0.192038f, 0.074604f, -0.098523f, -0.080987f, -0.048782f, 0.050214f, -0.015708f, -0.046663f, -0.035120f, -0.020731f, 0.024618f, 0.126910f, 0.109013f, 0.139900f, -0.066775f, -0.193711f, -0.186368f, -0.061481f, 0.134857f, 0.271718f, 0.167815f, -0.028485f, -0.220587f, -0.176122f, 0.052869f, 0.014749f, 0.044216f, 0.024563f, 0.012979f, -0.046201f, -0.072822f, 0.081452f, - 0.084678f, -0.086224f, -0.090877f, -0.104086f, -0.040794f, 0.029843f, 0.143701f, 0.103193f, 0.063207f, -0.055107f, -0.065673f, -0.095260f, -0.027833f, 0.096659f, 0.166484f, 0.103337f, 0.012089f, -0.106923f, -0.226200f, -0.244058f, -0.041068f, 0.180731f, 0.277362f, 0.277711f, 0.158361f, -0.095499f, -0.346798f, -0.338543f, -0.124445f, 0.158028f, 0.304308f, 0.289049f, 0.048713f, -0.175475f, -0.299394f, -0.229171f, 0.044670f, 0.173668f, 0.073384f, -0.087531f, -0.142934f, -0.123168f, 0.004141f, 0.079146f, 0.121943f, 0.095298f, 0.028484f, -0.076227f, -0.146192f, -0.055801f, 0.023663f, 0.107204f, 0.137803f, 0.026475f, -0.075617f, -0.157564f, -0.101773f, 0.032719f, 0.182020f, 0.145379f, -0.064918f, -0.190720f, -0.146656f, -0.008983f, 0.178396f, 0.219287f, 0.110936f, -0.157996f, -0.400782f, -0.284468f, 0.057294f, 0.286167f, 0.308590f, 0.056655f, -0.173065f, -0.257245f, -0.177888f, 0.080312f, 0.201813f, 0.215213f, 0.086871f, -0.098072f, -0.204441f, -0.162266f, -0.022601f, 0.186823f, 0.214745f, 0.125103f, -0.102279f, -0.251245f, -0.218701f, -0.022069f, 0.125565f, 0.222139f, 0.159612f, 0.010752f, - -0.169728f, -0.206679f, -0.085379f, 0.106638f, 0.118277f, 0.089598f, -0.024958f, -0.122614f, -0.092495f, -0.005718f, 0.053518f, 0.032109f, 0.013678f, -0.011855f, -0.023277f, -0.026915f, -0.025700f, -0.048447f, -0.015780f, 0.028899f, 0.060556f, 0.037983f, -0.004137f, -0.049395f, -0.051257f, -0.028121f, 0.004230f, 0.040847f, 0.064514f, 0.017160f, -0.019601f, -0.059654f, -0.043605f, 0.021966f, 0.007920f, -0.021072f, -0.040672f, 0.003927f, 0.038201f, 0.043360f, -0.010796f, -0.047209f, -0.039646f, 0.022779f, 0.053054f, 0.024522f, -0.037072f, -0.052419f, -0.009074f, 0.045387f, 0.042043f, -0.007891f, -0.054910f, -0.031857f, 0.030133f, 0.051439f, -0.008864f, -0.052426f, -0.007621f, 0.030137f, -0.000197f, -0.009380f, -0.000042f, -0.000829f, -0.002167f, -0.000541f, -0.000478f, -0.000541f, -0.000586f, 0.000333f, -0.001820f, -0.001863f, -0.001979f, -0.000635f, -0.001398f, -0.000042f, -0.001265f, -0.001653f, -0.001439f, -0.001095f, -0.003172f, -0.001245f, -0.000398f, 0.000360f, -0.000036f, -0.002032f, -0.000729f, -0.002114f, -0.001880f, -0.001614f, -0.001210f, 0.000266f, -0.000904f, -0.001292f, -0.000951f, -0.001328f} - }, - { - {0.011383f, 0.011186f, 0.010798f, 0.010228f, 0.009495f, 0.008617f, 0.007619f, 0.006530f, 0.005379f, 0.004198f, 0.003020f, 0.001877f, 0.000801f, -0.000180f, -0.001039f, -0.001754f, -0.002305f, -0.002679f, -0.002866f, -0.002863f, -0.002671f, -0.002297f, -0.001751f, -0.001049f, -0.000213f, 0.000736f, 0.001769f, 0.002860f, 0.003977f, 0.005090f, 0.006167f, 0.007180f, 0.008098f, 0.008897f, 0.009550f, 0.010038f, 0.010342f, 0.010448f, 0.010346f, 0.010029f, 0.009494f, 0.008744f, 0.007781f, 0.006616f, 0.005259f, 0.003724f, 0.002030f, 0.000194f, -0.001760f, -0.003810f, -0.005932f, -0.008100f, -0.010287f, -0.012466f, -0.014611f, -0.016694f, -0.018689f, -0.020570f, -0.022310f, -0.023887f, -0.025276f, -0.026459f, -0.027414f, -0.028127f, -0.028584f, -0.028773f, -0.028687f, -0.028323f, -0.027682f, -0.026767f, -0.025588f, -0.024158f, -0.022495f, -0.020621f, -0.018562f, -0.016349f, -0.014016f, -0.011601f, -0.009142f, -0.006681f, -0.004261f, -0.001924f, 0.000288f, 0.002333f, 0.004175f, 0.005779f, 0.007115f, 0.008157f, 0.008887f, 0.009291f, 0.009362f, 0.009103f, 0.008519f, 0.007627f, 0.006447f, 0.005008f, - 0.003342f, 0.001488f, -0.000513f, -0.002614f, -0.004769f, -0.006931f, -0.009053f, -0.011090f, -0.012999f, -0.014742f, -0.016286f, -0.017602f, -0.018670f, -0.019473f, -0.020004f, -0.020262f, -0.020253f, -0.019988f, -0.019486f, -0.018769f, -0.017865f, -0.016804f, -0.015621f, -0.014348f, -0.013021f, -0.011673f, -0.010336f, -0.009039f, -0.007807f, -0.006662f, -0.005620f, -0.004694f, -0.003891f, -0.003213f, -0.002657f, -0.002218f, -0.001887f, -0.001650f, -0.001494f, -0.001403f, -0.001361f, -0.001353f, -0.001366f, -0.001388f, -0.001409f, -0.001423f, -0.001429f, -0.001427f, -0.001421f, -0.001419f, -0.001432f, -0.001474f, -0.001558f, -0.001701f, -0.001918f, -0.002226f, -0.002637f, -0.003164f, -0.003813f, -0.004590f, -0.005495f, -0.006523f, -0.007664f, -0.008904f, -0.010222f, -0.011597f, -0.012999f, -0.014398f, -0.015761f, -0.017054f, -0.018242f, -0.019293f, -0.020174f, -0.020858f, -0.021319f, -0.021540f, -0.021508f, -0.021214f, -0.020661f, -0.019854f, -0.018808f, -0.017544f, -0.016088f, -0.014473f, -0.012735f, -0.010915f, -0.009056f, -0.007200f, -0.005391f, -0.003671f, -0.002079f, -0.000649f, 0.000588f, 0.001610f, 0.002400f, 0.002946f, - 0.003247f, 0.003307f, 0.003139f, 0.002759f, 0.002194f, 0.001472f, 0.000626f, -0.000308f, -0.001292f, -0.002288f, -0.003259f, -0.004171f, -0.004993f, -0.005697f, -0.006262f, -0.006673f, -0.006919f, -0.006999f, -0.006914f, -0.006675f, -0.006296f, -0.005798f, -0.005204f, -0.004543f, -0.003843f, -0.003135f, -0.002447f, -0.001809f, -0.001247f, -0.000781f, -0.000432f, -0.000211f, -0.000127f, -0.000181f, -0.000371f, -0.000686f, -0.001113f, -0.001634f, -0.002227f, -0.002866f, -0.003526f, -0.004179f, -0.004798f, -0.005358f, -0.005836f, -0.006213f, -0.006472f, -0.006605f, -0.006998f, -0.007302f, -0.009285f, 0.001946f, -0.011202f, 0.010434f, 0.038234f, 0.047188f, -0.002116f, -0.058181f, -0.008719f, 0.080501f, 0.166412f, 0.130947f, -0.065633f, -0.225874f, -0.117186f, -0.107285f, 0.050453f, 0.030896f, 0.014089f, 0.071935f, 0.123050f, -0.050048f, -0.131004f, -0.054090f, -0.035697f, 0.042958f, 0.121916f, 0.060453f, 0.081295f, 0.027237f, -0.106500f, -0.090785f, 0.011481f, 0.130883f, 0.113592f, -0.013612f, -0.075622f, -0.126169f, -0.000034f, 0.128718f, 0.118850f, 0.055358f, -0.030814f, -0.126930f, -0.098443f, -0.013206f, - 0.018041f, 0.043026f, 0.047928f, 0.037975f, 0.072457f, 0.009024f, -0.006488f, -0.029939f, -0.004033f, -0.046866f, 0.070776f, 0.124386f, -0.027794f, 0.103948f, -0.013067f, -0.156957f, -0.037500f, 0.088757f, -0.010331f, -0.103131f, -0.114647f, -0.056834f, 0.032948f, 0.110615f, 0.105636f, 0.060598f, -0.099175f, -0.162321f, -0.043659f, 0.147583f, 0.177857f, 0.058867f, -0.097171f, -0.095133f, -0.074913f, 0.003973f, 0.109863f, 0.126805f, -0.001215f, -0.145587f, -0.148811f, -0.063469f, 0.092143f, 0.033766f, 0.070635f, -0.014765f, -0.100284f, -0.089819f, -0.043569f, 0.207105f, 0.117878f, 0.040455f, -0.028645f, 0.085072f, 0.048328f, -0.025363f, -0.123722f, -0.096264f, -0.020690f, 0.122851f, 0.058308f, -0.063702f, -0.178735f, -0.082291f, 0.092825f, 0.204646f, 0.098992f, -0.009351f, -0.211555f, -0.163706f, 0.059042f, 0.248569f, 0.221289f, 0.081352f, -0.128114f, -0.192953f, -0.174097f, 0.017787f, 0.113572f, 0.193936f, 0.059321f, -0.062213f, -0.151698f, -0.104186f, -0.003643f, 0.200419f, 0.139390f, 0.049724f, -0.128159f, -0.239877f, -0.153039f, 0.088733f, 0.245812f, 0.272284f, 0.112405f, -0.061009f, - -0.183121f, -0.122927f, -0.031436f, 0.095909f, 0.145585f, 0.070347f, -0.057318f, -0.123796f, -0.075604f, 0.118445f, 0.162034f, 0.039343f, -0.068750f, -0.141701f, -0.113409f, -0.023384f, 0.063457f, 0.098375f, 0.066934f, -0.001273f, -0.103206f, -0.120582f, -0.057365f, 0.041736f, 0.106670f, 0.098947f, 0.033093f, -0.058760f, -0.120056f, -0.095522f, -0.028166f, 0.051268f, 0.123035f, 0.071960f, -0.077613f, -0.397179f, -0.228099f, 0.207627f, 0.479767f, 0.380003f, -0.052829f, -0.415736f, -0.418186f, -0.015359f, 0.398178f, 0.458893f, 0.078948f, -0.354241f, -0.424500f, -0.050655f, 0.355875f, 0.371308f, -0.011293f, -0.334910f, -0.239494f, 0.144311f, 0.290245f, 0.014109f, -0.190746f, -0.022066f, 0.084360f, 0.014742f, -0.009296f, 0.002098f, 0.004677f, 0.006425f, 0.003394f, 0.005549f, 0.002100f, 0.002641f, 0.002453f, 0.001752f, 0.003888f, 0.004496f, 0.000021f, 0.003081f, 0.002653f, 0.005549f, 0.001527f, 0.004676f, 0.003669f, 0.002300f, 0.003097f, 0.003088f, 0.003046f, 0.005155f, 0.004289f, 0.004373f, 0.002084f, 0.002798f, 0.003251f, 0.003214f, 0.005724f, 0.003667f, 0.004292f, 0.004786f}, - {-0.011383f, -0.011186f, -0.010798f, -0.010228f, -0.009495f, -0.008617f, -0.007619f, -0.006530f, -0.005379f, -0.004198f, -0.003020f, -0.001877f, -0.000801f, 0.000180f, 0.001039f, 0.001754f, 0.002305f, 0.002679f, 0.002866f, 0.002863f, 0.002671f, 0.002297f, 0.001751f, 0.001049f, 0.000213f, -0.000736f, -0.001769f, -0.002860f, -0.003977f, -0.005090f, -0.006167f, -0.007180f, -0.008098f, -0.008897f, -0.009550f, -0.010038f, -0.010342f, -0.010448f, -0.010346f, -0.010029f, -0.009494f, -0.008744f, -0.007781f, -0.006616f, -0.005259f, -0.003724f, -0.002030f, -0.000194f, 0.001760f, 0.003810f, 0.005932f, 0.008100f, 0.010287f, 0.012466f, 0.014611f, 0.016694f, 0.018689f, 0.020570f, 0.022310f, 0.023887f, 0.025276f, 0.026459f, 0.027414f, 0.028127f, 0.028584f, 0.028773f, 0.028687f, 0.028323f, 0.027682f, 0.026767f, 0.025588f, 0.024158f, 0.022495f, 0.020621f, 0.018562f, 0.016349f, 0.014016f, 0.011601f, 0.009142f, 0.006681f, 0.004261f, 0.001924f, -0.000288f, -0.002333f, -0.004175f, -0.005779f, -0.007115f, -0.008157f, -0.008887f, -0.009291f, -0.009362f, -0.009103f, -0.008519f, -0.007627f, -0.006447f, -0.005008f, - -0.003342f, -0.001488f, 0.000513f, 0.002614f, 0.004769f, 0.006931f, 0.009053f, 0.011090f, 0.012999f, 0.014742f, 0.016286f, 0.017602f, 0.018670f, 0.019473f, 0.020004f, 0.020262f, 0.020253f, 0.019988f, 0.019486f, 0.018769f, 0.017865f, 0.016804f, 0.015621f, 0.014348f, 0.013021f, 0.011673f, 0.010336f, 0.009039f, 0.007807f, 0.006662f, 0.005620f, 0.004694f, 0.003891f, 0.003213f, 0.002657f, 0.002218f, 0.001887f, 0.001650f, 0.001494f, 0.001403f, 0.001361f, 0.001353f, 0.001366f, 0.001388f, 0.001409f, 0.001423f, 0.001429f, 0.001427f, 0.001421f, 0.001419f, 0.001432f, 0.001474f, 0.001558f, 0.001701f, 0.001918f, 0.002226f, 0.002637f, 0.003164f, 0.003813f, 0.004590f, 0.005495f, 0.006523f, 0.007664f, 0.008904f, 0.010222f, 0.011597f, 0.012999f, 0.014398f, 0.015761f, 0.017054f, 0.018242f, 0.019293f, 0.020174f, 0.020858f, 0.021319f, 0.021540f, 0.021508f, 0.021214f, 0.020661f, 0.019854f, 0.018808f, 0.017544f, 0.016088f, 0.014473f, 0.012735f, 0.010915f, 0.009056f, 0.007200f, 0.005391f, 0.003671f, 0.002079f, 0.000649f, -0.000588f, -0.001610f, -0.002400f, -0.002946f, - -0.003247f, -0.003307f, -0.003139f, -0.002759f, -0.002194f, -0.001472f, -0.000626f, 0.000308f, 0.001292f, 0.002288f, 0.003259f, 0.004171f, 0.004993f, 0.005697f, 0.006262f, 0.006673f, 0.006919f, 0.006999f, 0.006914f, 0.006675f, 0.006296f, 0.005798f, 0.005204f, 0.004543f, 0.003843f, 0.003135f, 0.002447f, 0.001809f, 0.001247f, 0.000781f, 0.000432f, 0.000211f, 0.000127f, 0.000181f, 0.000371f, 0.000686f, 0.001113f, 0.001634f, 0.002227f, 0.002866f, 0.003526f, 0.004179f, 0.004798f, 0.005358f, 0.005836f, 0.006213f, 0.006472f, 0.006605f, 0.006998f, 0.007302f, 0.009285f, -0.001946f, 0.011202f, -0.010434f, -0.038234f, -0.047188f, 0.002116f, 0.058181f, 0.008719f, -0.080501f, -0.166412f, -0.130947f, 0.065633f, 0.225874f, 0.117186f, 0.107285f, -0.050453f, -0.030896f, -0.014089f, -0.071935f, -0.123050f, 0.050048f, 0.131004f, 0.054090f, 0.035697f, -0.042958f, -0.121916f, -0.060453f, -0.081295f, -0.027237f, 0.106500f, 0.090785f, -0.011481f, -0.130883f, -0.113592f, 0.013612f, 0.075622f, 0.126169f, 0.000034f, -0.128718f, -0.118850f, -0.055358f, 0.030814f, 0.126930f, 0.098443f, 0.013206f, - -0.018041f, -0.043026f, -0.047928f, -0.037975f, -0.072457f, -0.009024f, 0.006488f, 0.029939f, 0.004033f, 0.046866f, -0.070776f, -0.124386f, 0.027794f, -0.103948f, 0.013067f, 0.156957f, 0.037500f, -0.088757f, 0.010331f, 0.103131f, 0.114647f, 0.056834f, -0.032948f, -0.110615f, -0.105636f, -0.060598f, 0.099175f, 0.162321f, 0.043659f, -0.147583f, -0.177857f, -0.058867f, 0.097171f, 0.095133f, 0.074913f, -0.003973f, -0.109863f, -0.126805f, 0.001215f, 0.145587f, 0.148811f, 0.063469f, -0.092143f, -0.033766f, -0.070635f, 0.014765f, 0.100284f, 0.089819f, 0.043569f, -0.207105f, -0.117878f, -0.040455f, 0.028645f, -0.085072f, -0.048328f, 0.025363f, 0.123722f, 0.096264f, 0.020690f, -0.122851f, -0.058308f, 0.063702f, 0.178735f, 0.082291f, -0.092825f, -0.204646f, -0.098992f, 0.009351f, 0.211555f, 0.163706f, -0.059042f, -0.248569f, -0.221289f, -0.081352f, 0.128114f, 0.192953f, 0.174097f, -0.017787f, -0.113572f, -0.193936f, -0.059321f, 0.062213f, 0.151698f, 0.104186f, 0.003643f, -0.200419f, -0.139390f, -0.049724f, 0.128159f, 0.239877f, 0.153039f, -0.088733f, -0.245812f, -0.272284f, -0.112405f, 0.061009f, - 0.183121f, 0.122927f, 0.031436f, -0.095909f, -0.145585f, -0.070347f, 0.057318f, 0.123796f, 0.075604f, -0.118445f, -0.162034f, -0.039343f, 0.068750f, 0.141701f, 0.113409f, 0.023384f, -0.063457f, -0.098375f, -0.066934f, 0.001273f, 0.103206f, 0.120582f, 0.057365f, -0.041736f, -0.106670f, -0.098947f, -0.033093f, 0.058760f, 0.120056f, 0.095522f, 0.028166f, -0.051268f, -0.123035f, -0.071960f, 0.077613f, 0.397179f, 0.228099f, -0.207627f, -0.479767f, -0.380003f, 0.052829f, 0.415736f, 0.418186f, 0.015359f, -0.398178f, -0.458893f, -0.078948f, 0.354241f, 0.424500f, 0.050655f, -0.355875f, -0.371308f, 0.011293f, 0.334910f, 0.239494f, -0.144311f, -0.290245f, -0.014109f, 0.190746f, 0.022066f, -0.084360f, -0.014742f, 0.009296f, -0.002098f, -0.004677f, -0.006425f, -0.003394f, -0.005549f, -0.002100f, -0.002641f, -0.002453f, -0.001752f, -0.003888f, -0.004496f, -0.000021f, -0.003081f, -0.002653f, -0.005549f, -0.001527f, -0.004676f, -0.003669f, -0.002300f, -0.003097f, -0.003088f, -0.003046f, -0.005155f, -0.004289f, -0.004373f, -0.002084f, -0.002798f, -0.003251f, -0.003214f, -0.005724f, -0.003667f, -0.004292f, -0.004786f} - }, - { - {0.004457f, 0.004803f, 0.005482f, 0.006472f, 0.007739f, 0.009242f, 0.010928f, 0.012742f, 0.014622f, 0.016505f, 0.018326f, 0.020024f, 0.021540f, 0.022823f, 0.023827f, 0.024516f, 0.024865f, 0.024857f, 0.024487f, 0.023764f, 0.022702f, 0.021331f, 0.019685f, 0.017808f, 0.015751f, 0.013567f, 0.011312f, 0.009044f, 0.006818f, 0.004688f, 0.002701f, 0.000900f, -0.000681f, -0.002014f, -0.003083f, -0.003877f, -0.004396f, -0.004649f, -0.004651f, -0.004424f, -0.003997f, -0.003402f, -0.002673f, -0.001845f, -0.000955f, -0.000035f, 0.000883f, 0.001776f, 0.002621f, 0.003406f, 0.004122f, 0.004769f, 0.005351f, 0.005881f, 0.006376f, 0.006856f, 0.007348f, 0.007876f, 0.008469f, 0.009152f, 0.009951f, 0.010886f, 0.011973f, 0.013223f, 0.014638f, 0.016216f, 0.017947f, 0.019811f, 0.021784f, 0.023835f, 0.025926f, 0.028015f, 0.030057f, 0.032006f, 0.033814f, 0.035436f, 0.036827f, 0.037950f, 0.038769f, 0.039260f, 0.039401f, 0.039184f, 0.038605f, 0.037672f, 0.036400f, 0.034814f, 0.032946f, 0.030833f, 0.028519f, 0.026053f, 0.023486f, 0.020868f, 0.018251f, 0.015685f, 0.013215f, 0.010884f, - 0.008726f, 0.006771f, 0.005041f, 0.003550f, 0.002304f, 0.001302f, 0.000536f, -0.000009f, -0.000353f, -0.000522f, -0.000543f, -0.000448f, -0.000269f, -0.000037f, 0.000218f, 0.000468f, 0.000688f, 0.000859f, 0.000966f, 0.000998f, 0.000950f, 0.000823f, 0.000622f, 0.000355f, 0.000037f, -0.000316f, -0.000687f, -0.001057f, -0.001407f, -0.001718f, -0.001974f, -0.002160f, -0.002268f, -0.002288f, -0.002220f, -0.002063f, -0.001823f, -0.001509f, -0.001134f, -0.000713f, -0.000264f, 0.000194f, 0.000641f, 0.001059f, 0.001430f, 0.001737f, 0.001967f, 0.002112f, 0.002164f, 0.002123f, 0.001991f, 0.001774f, 0.001484f, 0.001134f, 0.000742f, 0.000328f, -0.000088f, -0.000484f, -0.000839f, -0.001133f, -0.001349f, -0.001470f, -0.001486f, -0.001391f, -0.001180f, -0.000856f, -0.000427f, 0.000098f, 0.000702f, 0.001366f, 0.002069f, 0.002786f, 0.003493f, 0.004165f, 0.004776f, 0.005304f, 0.005731f, 0.006038f, 0.006215f, 0.006253f, 0.006152f, 0.005915f, 0.005548f, 0.005068f, 0.004490f, 0.003838f, 0.003135f, 0.002410f, 0.001691f, 0.001006f, 0.000382f, -0.000155f, -0.000582f, -0.000882f, -0.001040f, -0.001049f, - -0.000904f, -0.000608f, -0.000171f, 0.000394f, 0.001069f, 0.001831f, 0.002653f, 0.003506f, 0.004360f, 0.005185f, 0.005952f, 0.006632f, 0.007202f, 0.007642f, 0.007935f, 0.008072f, 0.008047f, 0.007864f, 0.007529f, 0.007055f, 0.006461f, 0.005769f, 0.005006f, 0.004202f, 0.003387f, 0.002591f, 0.001847f, 0.001180f, 0.000619f, 0.000183f, -0.000111f, -0.000251f, -0.000231f, -0.000053f, 0.000277f, 0.000747f, 0.001339f, 0.002030f, 0.002795f, 0.003604f, 0.004428f, 0.005234f, 0.005992f, 0.006673f, 0.007253f, 0.007707f, 0.008020f, 0.008180f, -0.023080f, 0.017255f, 0.009678f, -0.011088f, -0.020983f, -0.001735f, -0.031981f, -0.037461f, -0.201735f, -0.238518f, 0.004204f, 0.076735f, -0.004756f, -0.025361f, 0.027211f, -0.019033f, -0.058846f, 0.013061f, 0.041154f, -0.003229f, 0.085427f, -0.052678f, -0.014999f, -0.044477f, -0.016524f, 0.051942f, 0.048424f, 0.116574f, -0.062608f, -0.053412f, -0.032905f, 0.028786f, 0.000561f, -0.050637f, -0.047139f, -0.023233f, -0.032433f, 0.069848f, 0.044266f, -0.030568f, -0.045929f, -0.046424f, 0.023603f, 0.074502f, 0.070463f, -0.006424f, -0.108626f, -0.071322f, - -0.065093f, -0.085552f, -0.010056f, 0.075042f, 0.070567f, -0.019741f, -0.089702f, -0.097700f, -0.063491f, 0.066151f, 0.096163f, 0.062052f, 0.045207f, -0.175419f, -0.159971f, -0.014387f, 0.038870f, 0.002240f, 0.236593f, 0.087543f, 0.026099f, -0.086112f, -0.066294f, 0.050274f, 0.187045f, 0.211058f, 0.034819f, -0.105354f, -0.116580f, -0.240834f, -0.192060f, 0.078708f, 0.199071f, 0.082504f, -0.059802f, -0.031618f, -0.213500f, -0.340961f, -0.088397f, 0.032796f, 0.193430f, 0.127659f, 0.018922f, -0.218201f, -0.213684f, -0.116907f, 0.089426f, 0.147526f, 0.155369f, -0.095128f, -0.145553f, -0.076523f, 0.099395f, 0.167693f, 0.163064f, -0.059897f, -0.186886f, -0.196185f, 0.021562f, 0.203422f, 0.303995f, 0.158257f, -0.137884f, -0.372733f, -0.355944f, -0.040808f, 0.262717f, 0.219980f, 0.026477f, -0.109705f, -0.250266f, -0.199136f, 0.000263f, 0.170630f, 0.232540f, 0.046589f, -0.047705f, -0.178808f, -0.204458f, -0.049330f, 0.114216f, 0.180834f, 0.138758f, -0.029559f, -0.178497f, -0.209665f, -0.022738f, 0.159440f, 0.212599f, 0.085953f, -0.080565f, -0.190275f, -0.193684f, -0.061446f, 0.104574f, 0.120742f, - 0.040625f, -0.046597f, -0.077670f, -0.083227f, -0.093542f, -0.005046f, 0.070144f, 0.088945f, 0.023759f, -0.074423f, -0.140730f, -0.082456f, 0.043191f, 0.076740f, 0.089912f, 0.022335f, -0.065760f, -0.120857f, -0.075501f, 0.019147f, 0.067641f, 0.067659f, 0.025161f, -0.039109f, -0.032581f, -0.025880f, 0.021715f, 0.001680f, 0.027937f, -0.033921f, -0.038421f, -0.045726f, 0.025639f, 0.023107f, 0.040383f, -0.095445f, -0.189905f, -0.084207f, 0.077202f, 0.183977f, 0.127790f, -0.042108f, -0.183065f, -0.152692f, 0.018627f, 0.170712f, 0.153600f, -0.027257f, -0.179305f, -0.143176f, 0.046629f, 0.169116f, 0.086310f, -0.100029f, -0.154624f, -0.007877f, 0.127514f, 0.040025f, -0.086180f, -0.030789f, 0.034832f, -0.000504f, -0.015469f, -0.005420f, -0.004356f, -0.003216f, -0.001101f, -0.003867f, -0.002833f, -0.004278f, -0.004491f, -0.003796f, -0.003657f, -0.005810f, -0.005043f, -0.007314f, -0.003679f, -0.003831f, -0.004629f, -0.007485f, -0.004645f, -0.006691f, -0.002879f, -0.005852f, -0.006690f, -0.006330f, -0.008273f, -0.004149f, -0.005079f, -0.003481f, -0.008020f, -0.004895f, -0.004774f, -0.003941f, -0.002730f, -0.007628f}, - {-0.004457f, -0.004803f, -0.005482f, -0.006472f, -0.007739f, -0.009242f, -0.010928f, -0.012742f, -0.014622f, -0.016505f, -0.018326f, -0.020024f, -0.021540f, -0.022823f, -0.023827f, -0.024516f, -0.024865f, -0.024857f, -0.024487f, -0.023764f, -0.022702f, -0.021331f, -0.019685f, -0.017808f, -0.015751f, -0.013567f, -0.011312f, -0.009044f, -0.006818f, -0.004688f, -0.002701f, -0.000900f, 0.000681f, 0.002014f, 0.003083f, 0.003877f, 0.004396f, 0.004649f, 0.004651f, 0.004424f, 0.003997f, 0.003402f, 0.002673f, 0.001845f, 0.000955f, 0.000035f, -0.000883f, -0.001776f, -0.002621f, -0.003406f, -0.004122f, -0.004769f, -0.005351f, -0.005881f, -0.006376f, -0.006856f, -0.007348f, -0.007876f, -0.008469f, -0.009152f, -0.009951f, -0.010886f, -0.011973f, -0.013223f, -0.014638f, -0.016216f, -0.017947f, -0.019811f, -0.021784f, -0.023835f, -0.025926f, -0.028015f, -0.030057f, -0.032006f, -0.033814f, -0.035436f, -0.036827f, -0.037950f, -0.038769f, -0.039260f, -0.039401f, -0.039184f, -0.038605f, -0.037672f, -0.036400f, -0.034814f, -0.032946f, -0.030833f, -0.028519f, -0.026053f, -0.023486f, -0.020868f, -0.018251f, -0.015685f, -0.013215f, -0.010884f, - -0.008726f, -0.006771f, -0.005041f, -0.003550f, -0.002304f, -0.001302f, -0.000536f, 0.000009f, 0.000353f, 0.000522f, 0.000543f, 0.000448f, 0.000269f, 0.000037f, -0.000218f, -0.000468f, -0.000688f, -0.000859f, -0.000966f, -0.000998f, -0.000950f, -0.000823f, -0.000622f, -0.000355f, -0.000037f, 0.000316f, 0.000687f, 0.001057f, 0.001407f, 0.001718f, 0.001974f, 0.002160f, 0.002268f, 0.002288f, 0.002220f, 0.002063f, 0.001823f, 0.001509f, 0.001134f, 0.000713f, 0.000264f, -0.000194f, -0.000641f, -0.001059f, -0.001430f, -0.001737f, -0.001967f, -0.002112f, -0.002164f, -0.002123f, -0.001991f, -0.001774f, -0.001484f, -0.001134f, -0.000742f, -0.000328f, 0.000088f, 0.000484f, 0.000839f, 0.001133f, 0.001349f, 0.001470f, 0.001486f, 0.001391f, 0.001180f, 0.000856f, 0.000427f, -0.000098f, -0.000702f, -0.001366f, -0.002069f, -0.002786f, -0.003493f, -0.004165f, -0.004776f, -0.005304f, -0.005731f, -0.006038f, -0.006215f, -0.006253f, -0.006152f, -0.005915f, -0.005548f, -0.005068f, -0.004490f, -0.003838f, -0.003135f, -0.002410f, -0.001691f, -0.001006f, -0.000382f, 0.000155f, 0.000582f, 0.000882f, 0.001040f, 0.001049f, - 0.000904f, 0.000608f, 0.000171f, -0.000394f, -0.001069f, -0.001831f, -0.002653f, -0.003506f, -0.004360f, -0.005185f, -0.005952f, -0.006632f, -0.007202f, -0.007642f, -0.007935f, -0.008072f, -0.008047f, -0.007864f, -0.007529f, -0.007055f, -0.006461f, -0.005769f, -0.005006f, -0.004202f, -0.003387f, -0.002591f, -0.001847f, -0.001180f, -0.000619f, -0.000183f, 0.000111f, 0.000251f, 0.000231f, 0.000053f, -0.000277f, -0.000747f, -0.001339f, -0.002030f, -0.002795f, -0.003604f, -0.004428f, -0.005234f, -0.005992f, -0.006673f, -0.007253f, -0.007707f, -0.008020f, -0.008180f, 0.023080f, -0.017255f, -0.009678f, 0.011088f, 0.020983f, 0.001735f, 0.031981f, 0.037461f, 0.201735f, 0.238518f, -0.004204f, -0.076735f, 0.004756f, 0.025361f, -0.027211f, 0.019033f, 0.058846f, -0.013061f, -0.041154f, 0.003229f, -0.085427f, 0.052678f, 0.014999f, 0.044477f, 0.016524f, -0.051942f, -0.048424f, -0.116574f, 0.062608f, 0.053412f, 0.032905f, -0.028786f, -0.000561f, 0.050637f, 0.047139f, 0.023233f, 0.032433f, -0.069848f, -0.044266f, 0.030568f, 0.045929f, 0.046424f, -0.023603f, -0.074502f, -0.070463f, 0.006424f, 0.108626f, 0.071322f, - 0.065093f, 0.085552f, 0.010056f, -0.075042f, -0.070567f, 0.019741f, 0.089702f, 0.097700f, 0.063491f, -0.066151f, -0.096163f, -0.062052f, -0.045207f, 0.175419f, 0.159971f, 0.014387f, -0.038870f, -0.002240f, -0.236593f, -0.087543f, -0.026099f, 0.086112f, 0.066294f, -0.050274f, -0.187045f, -0.211058f, -0.034819f, 0.105354f, 0.116580f, 0.240834f, 0.192060f, -0.078708f, -0.199071f, -0.082504f, 0.059802f, 0.031618f, 0.213500f, 0.340961f, 0.088397f, -0.032796f, -0.193430f, -0.127659f, -0.018922f, 0.218201f, 0.213684f, 0.116907f, -0.089426f, -0.147526f, -0.155369f, 0.095128f, 0.145553f, 0.076523f, -0.099395f, -0.167693f, -0.163064f, 0.059897f, 0.186886f, 0.196185f, -0.021562f, -0.203422f, -0.303995f, -0.158257f, 0.137884f, 0.372733f, 0.355944f, 0.040808f, -0.262717f, -0.219980f, -0.026477f, 0.109705f, 0.250266f, 0.199136f, -0.000263f, -0.170630f, -0.232540f, -0.046589f, 0.047705f, 0.178808f, 0.204458f, 0.049330f, -0.114216f, -0.180834f, -0.138758f, 0.029559f, 0.178497f, 0.209665f, 0.022738f, -0.159440f, -0.212599f, -0.085953f, 0.080565f, 0.190275f, 0.193684f, 0.061446f, -0.104574f, -0.120742f, - -0.040625f, 0.046597f, 0.077670f, 0.083227f, 0.093542f, 0.005046f, -0.070144f, -0.088945f, -0.023759f, 0.074423f, 0.140730f, 0.082456f, -0.043191f, -0.076740f, -0.089912f, -0.022335f, 0.065760f, 0.120857f, 0.075501f, -0.019147f, -0.067641f, -0.067659f, -0.025161f, 0.039109f, 0.032581f, 0.025880f, -0.021715f, -0.001680f, -0.027937f, 0.033921f, 0.038421f, 0.045726f, -0.025639f, -0.023107f, -0.040383f, 0.095445f, 0.189905f, 0.084207f, -0.077202f, -0.183977f, -0.127790f, 0.042108f, 0.183065f, 0.152692f, -0.018627f, -0.170712f, -0.153600f, 0.027257f, 0.179305f, 0.143176f, -0.046629f, -0.169116f, -0.086310f, 0.100029f, 0.154624f, 0.007877f, -0.127514f, -0.040025f, 0.086180f, 0.030789f, -0.034832f, 0.000504f, 0.015469f, 0.005420f, 0.004356f, 0.003216f, 0.001101f, 0.003867f, 0.002833f, 0.004278f, 0.004491f, 0.003796f, 0.003657f, 0.005810f, 0.005043f, 0.007314f, 0.003679f, 0.003831f, 0.004629f, 0.007485f, 0.004645f, 0.006691f, 0.002879f, 0.005852f, 0.006690f, 0.006330f, 0.008273f, 0.004149f, 0.005079f, 0.003481f, 0.008020f, 0.004895f, 0.004774f, 0.003941f, 0.002730f, 0.007628f} - }, - { - {-0.040881f, -0.039965f, -0.038159f, -0.035521f, -0.032131f, -0.028094f, -0.023534f, -0.018587f, -0.013405f, -0.008140f, -0.002948f, 0.002020f, 0.006624f, 0.010739f, 0.014255f, 0.017086f, 0.019171f, 0.020472f, 0.020982f, 0.020716f, 0.019718f, 0.018055f, 0.015816f, 0.013106f, 0.010045f, 0.006761f, 0.003390f, 0.000064f, -0.003089f, -0.005948f, -0.008409f, -0.010382f, -0.011799f, -0.012613f, -0.012801f, -0.012364f, -0.011328f, -0.009738f, -0.007662f, -0.005186f, -0.002408f, 0.000561f, 0.003605f, 0.006606f, 0.009449f, 0.012024f, 0.014233f, 0.015990f, 0.017228f, 0.017899f, 0.017975f, 0.017451f, 0.016342f, 0.014686f, 0.012538f, 0.009971f, 0.007074f, 0.003945f, 0.000690f, -0.002582f, -0.005762f, -0.008746f, -0.011438f, -0.013752f, -0.015620f, -0.016988f, -0.017820f, -0.018103f, -0.017839f, -0.017054f, -0.015789f, -0.014103f, -0.012067f, -0.009765f, -0.007288f, -0.004733f, -0.002195f, 0.000231f, 0.002457f, 0.004404f, 0.006007f, 0.007212f, 0.007983f, 0.008300f, 0.008161f, 0.007579f, 0.006588f, 0.005231f, 0.003568f, 0.001667f, -0.000396f, -0.002539f, -0.004681f, -0.006741f, -0.008644f, -0.010323f, - -0.011721f, -0.012791f, -0.013503f, -0.013841f, -0.013802f, -0.013400f, -0.012664f, -0.011633f, -0.010359f, -0.008904f, -0.007334f, -0.005721f, -0.004135f, -0.002648f, -0.001324f, -0.000220f, 0.000614f, 0.001141f, 0.001337f, 0.001191f, 0.000706f, -0.000101f, -0.001202f, -0.002555f, -0.004110f, -0.005806f, -0.007579f, -0.009361f, -0.011084f, -0.012681f, -0.014090f, -0.015257f, -0.016136f, -0.016692f, -0.016901f, -0.016753f, -0.016251f, -0.015410f, -0.014257f, -0.012832f, -0.011182f, -0.009364f, -0.007438f, -0.005469f, -0.003522f, -0.001662f, 0.000053f, 0.001569f, 0.002840f, 0.003830f, 0.004514f, 0.004877f, 0.004918f, 0.004647f, 0.004082f, 0.003255f, 0.002204f, 0.000975f, -0.000380f, -0.001809f, -0.003256f, -0.004668f, -0.005995f, -0.007191f, -0.008219f, -0.009049f, -0.009660f, -0.010039f, -0.010187f, -0.010111f, -0.009828f, -0.009363f, -0.008750f, -0.008025f, -0.007229f, -0.006407f, -0.005599f, -0.004849f, -0.004192f, -0.003661f, -0.003282f, -0.003074f, -0.003046f, -0.003199f, -0.003528f, -0.004016f, -0.004641f, -0.005375f, -0.006183f, -0.007027f, -0.007870f, -0.008669f, -0.009389f, -0.009992f, -0.010450f, -0.010736f, - -0.010834f, -0.010735f, -0.010435f, -0.009943f, -0.009273f, -0.008447f, -0.007494f, -0.006448f, -0.005347f, -0.004233f, -0.003147f, -0.002130f, -0.001219f, -0.000448f, 0.000152f, 0.000562f, 0.000766f, 0.000758f, 0.000540f, 0.000123f, -0.000475f, -0.001229f, -0.002106f, -0.003070f, -0.004081f, -0.005098f, -0.006077f, -0.006980f, -0.007769f, -0.008411f, -0.008879f, -0.009156f, -0.009228f, -0.009093f, -0.008755f, -0.008228f, -0.007533f, -0.006698f, -0.005756f, -0.004745f, -0.003705f, -0.002679f, -0.001707f, -0.000829f, -0.000080f, 0.000510f, 0.000916f, 0.001124f, 0.001405f, -0.011307f, 0.023755f, 0.010060f, 0.007247f, 0.047340f, 0.037354f, -0.162787f, -0.162415f, -0.105082f, -0.018683f, 0.015858f, -0.054927f, -0.017871f, 0.216992f, 0.114575f, 0.071094f, -0.102642f, -0.015053f, 0.038868f, 0.109641f, 0.010900f, 0.003695f, -0.044931f, -0.067549f, -0.039879f, -0.028640f, -0.006825f, 0.044025f, 0.074633f, 0.068953f, -0.006513f, -0.131510f, -0.149665f, 0.005649f, 0.072184f, 0.101365f, 0.070488f, -0.005129f, -0.102374f, 0.162843f, -0.036980f, -0.071588f, -0.127539f, -0.101807f, 0.021461f, 0.192087f, 0.205971f, - 0.044353f, -0.202735f, -0.313378f, -0.270330f, 0.048024f, 0.305831f, 0.370715f, 0.273108f, -0.081253f, -0.352290f, -0.324178f, -0.071810f, -0.027099f, 0.314215f, 0.189838f, 0.005054f, -0.042232f, 0.088868f, -0.150193f, -0.020693f, -0.082737f, -0.035341f, -0.169353f, -0.150333f, -0.116398f, 0.089213f, 0.131883f, 0.177783f, -0.001054f, -0.186749f, -0.416386f, -0.157525f, 0.096505f, 0.311886f, 0.111138f, -0.093343f, -0.115374f, -0.089440f, 0.106927f, 0.135966f, 0.024655f, -0.177522f, -0.242578f, -0.118012f, 0.125475f, 0.314922f, 0.181500f, -0.073097f, -0.316649f, -0.389086f, -0.057635f, 0.169788f, 0.266739f, 0.089674f, -0.167879f, -0.348737f, -0.247511f, 0.018748f, 0.266828f, 0.312541f, 0.131098f, -0.088081f, -0.234146f, -0.241476f, -0.075798f, 0.114267f, 0.186007f, 0.028598f, -0.153952f, -0.128974f, -0.105816f, -0.012368f, 0.052341f, 0.051225f, -0.011653f, 0.005902f, -0.056305f, -0.040576f, -0.060932f, -0.026504f, -0.033534f, 0.068671f, 0.128337f, 0.085491f, -0.065497f, -0.180343f, -0.213819f, -0.063258f, 0.184496f, 0.324874f, 0.192777f, -0.044238f, -0.270100f, -0.311131f, -0.130907f, 0.119784f, - 0.260308f, 0.222679f, -0.025611f, -0.265754f, -0.246170f, -0.017878f, 0.155285f, 0.223147f, 0.105955f, -0.073536f, -0.160483f, -0.117929f, -0.026936f, 0.080816f, 0.141065f, 0.069388f, -0.056032f, -0.104513f, -0.097304f, 0.017071f, 0.108282f, 0.136150f, 0.050768f, -0.085694f, -0.150248f, -0.106420f, 0.039844f, 0.128671f, 0.141846f, 0.032064f, -0.075533f, -0.108401f, -0.077053f, 0.017857f, 0.086372f, 0.144167f, -0.054317f, -0.187772f, -0.175366f, 0.016080f, 0.171246f, 0.163549f, -0.024564f, -0.177619f, -0.155765f, 0.026498f, 0.149948f, 0.106725f, -0.054458f, -0.135474f, -0.071082f, 0.057778f, 0.089388f, 0.013412f, -0.071645f, -0.058854f, 0.017501f, 0.047369f, -0.015272f, -0.026602f, -0.001780f, 0.000565f, -0.007389f, -0.005318f, -0.006795f, -0.004696f, -0.006953f, -0.003315f, -0.004558f, -0.001633f, -0.005423f, -0.005203f, -0.007470f, -0.004443f, -0.007558f, -0.005285f, -0.006401f, -0.005032f, -0.005035f, -0.001361f, -0.006098f, -0.005330f, -0.005546f, -0.003775f, -0.005107f, -0.005011f, -0.005249f, -0.004569f, -0.006403f, -0.004169f, -0.004055f, -0.005732f, -0.005934f, -0.005591f, -0.004628f, -0.004699f}, - {0.040881f, 0.039965f, 0.038159f, 0.035521f, 0.032131f, 0.028094f, 0.023534f, 0.018587f, 0.013405f, 0.008140f, 0.002948f, -0.002020f, -0.006624f, -0.010739f, -0.014255f, -0.017086f, -0.019171f, -0.020472f, -0.020982f, -0.020716f, -0.019718f, -0.018055f, -0.015816f, -0.013106f, -0.010045f, -0.006761f, -0.003390f, -0.000064f, 0.003089f, 0.005948f, 0.008409f, 0.010382f, 0.011799f, 0.012613f, 0.012801f, 0.012364f, 0.011328f, 0.009738f, 0.007662f, 0.005186f, 0.002408f, -0.000561f, -0.003605f, -0.006606f, -0.009449f, -0.012024f, -0.014233f, -0.015990f, -0.017228f, -0.017899f, -0.017975f, -0.017451f, -0.016342f, -0.014686f, -0.012538f, -0.009971f, -0.007074f, -0.003945f, -0.000690f, 0.002582f, 0.005762f, 0.008746f, 0.011438f, 0.013752f, 0.015620f, 0.016988f, 0.017820f, 0.018103f, 0.017839f, 0.017054f, 0.015789f, 0.014103f, 0.012067f, 0.009765f, 0.007288f, 0.004733f, 0.002195f, -0.000231f, -0.002457f, -0.004404f, -0.006007f, -0.007212f, -0.007983f, -0.008300f, -0.008161f, -0.007579f, -0.006588f, -0.005231f, -0.003568f, -0.001667f, 0.000396f, 0.002539f, 0.004681f, 0.006741f, 0.008644f, 0.010323f, - 0.011721f, 0.012791f, 0.013503f, 0.013841f, 0.013802f, 0.013400f, 0.012664f, 0.011633f, 0.010359f, 0.008904f, 0.007334f, 0.005721f, 0.004135f, 0.002648f, 0.001324f, 0.000220f, -0.000614f, -0.001141f, -0.001337f, -0.001191f, -0.000706f, 0.000101f, 0.001202f, 0.002555f, 0.004110f, 0.005806f, 0.007579f, 0.009361f, 0.011084f, 0.012681f, 0.014090f, 0.015257f, 0.016136f, 0.016692f, 0.016901f, 0.016753f, 0.016251f, 0.015410f, 0.014257f, 0.012832f, 0.011182f, 0.009364f, 0.007438f, 0.005469f, 0.003522f, 0.001662f, -0.000053f, -0.001569f, -0.002840f, -0.003830f, -0.004514f, -0.004877f, -0.004918f, -0.004647f, -0.004082f, -0.003255f, -0.002204f, -0.000975f, 0.000380f, 0.001809f, 0.003256f, 0.004668f, 0.005995f, 0.007191f, 0.008219f, 0.009049f, 0.009660f, 0.010039f, 0.010187f, 0.010111f, 0.009828f, 0.009363f, 0.008750f, 0.008025f, 0.007229f, 0.006407f, 0.005599f, 0.004849f, 0.004192f, 0.003661f, 0.003282f, 0.003074f, 0.003046f, 0.003199f, 0.003528f, 0.004016f, 0.004641f, 0.005375f, 0.006183f, 0.007027f, 0.007870f, 0.008669f, 0.009389f, 0.009992f, 0.010450f, 0.010736f, - 0.010834f, 0.010735f, 0.010435f, 0.009943f, 0.009273f, 0.008447f, 0.007494f, 0.006448f, 0.005347f, 0.004233f, 0.003147f, 0.002130f, 0.001219f, 0.000448f, -0.000152f, -0.000562f, -0.000766f, -0.000758f, -0.000540f, -0.000123f, 0.000475f, 0.001229f, 0.002106f, 0.003070f, 0.004081f, 0.005098f, 0.006077f, 0.006980f, 0.007769f, 0.008411f, 0.008879f, 0.009156f, 0.009228f, 0.009093f, 0.008755f, 0.008228f, 0.007533f, 0.006698f, 0.005756f, 0.004745f, 0.003705f, 0.002679f, 0.001707f, 0.000829f, 0.000080f, -0.000510f, -0.000916f, -0.001124f, -0.001405f, 0.011307f, -0.023755f, -0.010060f, -0.007247f, -0.047340f, -0.037354f, 0.162787f, 0.162415f, 0.105082f, 0.018683f, -0.015858f, 0.054927f, 0.017871f, -0.216992f, -0.114575f, -0.071094f, 0.102642f, 0.015053f, -0.038868f, -0.109641f, -0.010900f, -0.003695f, 0.044931f, 0.067549f, 0.039879f, 0.028640f, 0.006825f, -0.044025f, -0.074633f, -0.068953f, 0.006513f, 0.131510f, 0.149665f, -0.005649f, -0.072184f, -0.101365f, -0.070488f, 0.005129f, 0.102374f, -0.162843f, 0.036980f, 0.071588f, 0.127539f, 0.101807f, -0.021461f, -0.192087f, -0.205971f, - -0.044353f, 0.202735f, 0.313378f, 0.270330f, -0.048024f, -0.305831f, -0.370715f, -0.273108f, 0.081253f, 0.352290f, 0.324178f, 0.071810f, 0.027099f, -0.314215f, -0.189838f, -0.005054f, 0.042232f, -0.088868f, 0.150193f, 0.020693f, 0.082737f, 0.035341f, 0.169353f, 0.150333f, 0.116398f, -0.089213f, -0.131883f, -0.177783f, 0.001054f, 0.186749f, 0.416386f, 0.157525f, -0.096505f, -0.311886f, -0.111138f, 0.093343f, 0.115374f, 0.089440f, -0.106927f, -0.135966f, -0.024655f, 0.177522f, 0.242578f, 0.118012f, -0.125475f, -0.314922f, -0.181500f, 0.073097f, 0.316649f, 0.389086f, 0.057635f, -0.169788f, -0.266739f, -0.089674f, 0.167879f, 0.348737f, 0.247511f, -0.018748f, -0.266828f, -0.312541f, -0.131098f, 0.088081f, 0.234146f, 0.241476f, 0.075798f, -0.114267f, -0.186007f, -0.028598f, 0.153952f, 0.128974f, 0.105816f, 0.012368f, -0.052341f, -0.051225f, 0.011653f, -0.005902f, 0.056305f, 0.040576f, 0.060932f, 0.026504f, 0.033534f, -0.068671f, -0.128337f, -0.085491f, 0.065497f, 0.180343f, 0.213819f, 0.063258f, -0.184496f, -0.324874f, -0.192777f, 0.044238f, 0.270100f, 0.311131f, 0.130907f, -0.119784f, - -0.260308f, -0.222679f, 0.025611f, 0.265754f, 0.246170f, 0.017878f, -0.155285f, -0.223147f, -0.105955f, 0.073536f, 0.160483f, 0.117929f, 0.026936f, -0.080816f, -0.141065f, -0.069388f, 0.056032f, 0.104513f, 0.097304f, -0.017071f, -0.108282f, -0.136150f, -0.050768f, 0.085694f, 0.150248f, 0.106420f, -0.039844f, -0.128671f, -0.141846f, -0.032064f, 0.075533f, 0.108401f, 0.077053f, -0.017857f, -0.086372f, -0.144167f, 0.054317f, 0.187772f, 0.175366f, -0.016080f, -0.171246f, -0.163549f, 0.024564f, 0.177619f, 0.155765f, -0.026498f, -0.149948f, -0.106725f, 0.054458f, 0.135474f, 0.071082f, -0.057778f, -0.089388f, -0.013412f, 0.071645f, 0.058854f, -0.017501f, -0.047369f, 0.015272f, 0.026602f, 0.001780f, -0.000565f, 0.007389f, 0.005318f, 0.006795f, 0.004696f, 0.006953f, 0.003315f, 0.004558f, 0.001633f, 0.005423f, 0.005203f, 0.007470f, 0.004443f, 0.007558f, 0.005285f, 0.006401f, 0.005032f, 0.005035f, 0.001361f, 0.006098f, 0.005330f, 0.005546f, 0.003775f, 0.005107f, 0.005011f, 0.005249f, 0.004569f, 0.006403f, 0.004169f, 0.004055f, 0.005732f, 0.005934f, 0.005591f, 0.004628f, 0.004699f} - }, - { - {-0.029892f, -0.029542f, -0.028856f, -0.027857f, -0.026583f, -0.025079f, -0.023399f, -0.021600f, -0.019744f, -0.017891f, -0.016098f, -0.014418f, -0.012895f, -0.011561f, -0.010440f, -0.009540f, -0.008855f, -0.008369f, -0.008049f, -0.007854f, -0.007730f, -0.007616f, -0.007448f, -0.007158f, -0.006680f, -0.005952f, -0.004918f, -0.003536f, -0.001775f, 0.000383f, 0.002934f, 0.005861f, 0.009126f, 0.012674f, 0.016434f, 0.020319f, 0.024230f, 0.028058f, 0.031689f, 0.035007f, 0.037898f, 0.040252f, 0.041972f, 0.042973f, 0.043189f, 0.042572f, 0.041100f, 0.038772f, 0.035614f, 0.031677f, 0.027035f, 0.021787f, 0.016048f, 0.009953f, 0.003650f, -0.002707f, -0.008959f, -0.014945f, -0.020515f, -0.025524f, -0.029848f, -0.033376f, -0.036023f, -0.037728f, -0.038458f, -0.038206f, -0.036995f, -0.034872f, -0.031914f, -0.028218f, -0.023902f, -0.019098f, -0.013952f, -0.008616f, -0.003243f, 0.002016f, 0.007018f, 0.011632f, 0.015743f, 0.019255f, 0.022095f, 0.024213f, 0.025584f, 0.026207f, 0.026107f, 0.025331f, 0.023946f, 0.022036f, 0.019699f, 0.017044f, 0.014184f, 0.011235f, 0.008308f, 0.005510f, 0.002935f, 0.000663f, - -0.001242f, -0.002733f, -0.003786f, -0.004393f, -0.004571f, -0.004350f, -0.003782f, -0.002930f, -0.001872f, -0.000690f, 0.000525f, 0.001683f, 0.002699f, 0.003490f, 0.003986f, 0.004128f, 0.003872f, 0.003192f, 0.002077f, 0.000537f, -0.001401f, -0.003695f, -0.006286f, -0.009104f, -0.012065f, -0.015083f, -0.018065f, -0.020919f, -0.023555f, -0.025891f, -0.027854f, -0.029383f, -0.030432f, -0.030969f, -0.030982f, -0.030475f, -0.029468f, -0.027999f, -0.026120f, -0.023894f, -0.021395f, -0.018706f, -0.015911f, -0.013097f, -0.010347f, -0.007739f, -0.005344f, -0.003220f, -0.001415f, 0.000040f, 0.001127f, 0.001844f, 0.002204f, 0.002235f, 0.001976f, 0.001478f, 0.000801f, 0.000009f, -0.000830f, -0.001647f, -0.002379f, -0.002965f, -0.003354f, -0.003506f, -0.003391f, -0.002992f, -0.002309f, -0.001353f, -0.000149f, 0.001265f, 0.002842f, 0.004523f, 0.006247f, 0.007944f, 0.009546f, 0.010988f, 0.012205f, 0.013144f, 0.013759f, 0.014014f, 0.013888f, 0.013374f, 0.012478f, 0.011219f, 0.009633f, 0.007766f, 0.005674f, 0.003424f, 0.001085f, -0.001265f, -0.003552f, -0.005703f, -0.007649f, -0.009329f, -0.010692f, -0.011698f, - -0.012321f, -0.012549f, -0.012384f, -0.011842f, -0.010953f, -0.009760f, -0.008315f, -0.006679f, -0.004921f, -0.003112f, -0.001323f, 0.000375f, 0.001917f, 0.003245f, 0.004311f, 0.005076f, 0.005514f, 0.005615f, 0.005380f, 0.004824f, 0.003975f, 0.002872f, 0.001564f, 0.000109f, -0.001431f, -0.002990f, -0.004504f, -0.005909f, -0.007146f, -0.008165f, -0.008925f, -0.009393f, -0.009551f, -0.009394f, -0.008928f, -0.008172f, -0.007159f, -0.005929f, -0.004534f, -0.003031f, -0.001480f, 0.000053f, 0.001507f, 0.002823f, 0.003946f, 0.004831f, 0.005442f, 0.005753f, 0.036056f, 0.021124f, 0.026973f, 0.002853f, 0.025504f, -0.036759f, 0.120369f, 0.068962f, -0.020475f, -0.006364f, 0.082802f, -0.095240f, 0.015746f, 0.112186f, -0.049374f, -0.361187f, -0.225574f, -0.127324f, 0.157493f, 0.116115f, -0.176209f, -0.033021f, 0.133424f, 0.235411f, 0.062228f, -0.044699f, -0.116768f, -0.191572f, -0.051900f, 0.128522f, 0.226795f, 0.159784f, 0.002433f, -0.116993f, -0.146142f, -0.075191f, 0.062285f, 0.165989f, 0.094672f, 0.046845f, -0.069561f, -0.120506f, -0.054545f, 0.095776f, 0.175229f, 0.142224f, -0.009731f, -0.071782f, - -0.077554f, -0.112175f, -0.041778f, 0.011164f, 0.128118f, 0.208308f, 0.235745f, 0.111922f, -0.132997f, -0.259796f, -0.113422f, 0.074893f, -0.038254f, 0.238270f, 0.168505f, 0.082608f, -0.031260f, 0.116822f, -0.233589f, -0.185223f, -0.173442f, 0.043233f, 0.021947f, 0.054493f, -0.126625f, 0.023288f, 0.105875f, 0.198739f, 0.250896f, -0.249375f, -0.448407f, -0.145145f, 0.106279f, 0.302558f, 0.246126f, 0.196574f, -0.235638f, -0.653698f, -0.528796f, -0.090020f, 0.349899f, 0.436636f, 0.195874f, -0.175564f, -0.414966f, -0.390250f, -0.051659f, 0.151280f, 0.221583f, 0.036830f, -0.113118f, -0.102813f, 0.129464f, 0.150724f, 0.030080f, -0.103389f, -0.144849f, -0.060319f, 0.117822f, 0.184830f, 0.123875f, -0.015875f, -0.102409f, -0.076583f, -0.014518f, 0.191465f, 0.143807f, -0.120737f, -0.168517f, -0.104127f, -0.043151f, 0.037230f, 0.046696f, -0.021623f, -0.120959f, -0.067850f, -0.039591f, -0.013026f, -0.008023f, 0.001913f, -0.040271f, -0.073136f, 0.018257f, 0.059690f, 0.043106f, -0.031780f, -0.123499f, -0.075675f, -0.003068f, 0.069011f, 0.094692f, 0.066325f, -0.067325f, -0.140321f, -0.080914f, 0.095344f, - 0.192658f, 0.148638f, -0.039963f, -0.225561f, -0.285811f, -0.131370f, 0.112440f, 0.338432f, 0.285997f, 0.056425f, -0.307868f, -0.433614f, -0.250132f, 0.100298f, 0.381305f, 0.396289f, 0.121852f, -0.230055f, -0.398159f, -0.299296f, -0.003885f, 0.316878f, 0.413720f, 0.151302f, -0.177576f, -0.366316f, -0.264946f, 0.003264f, 0.196150f, 0.209733f, 0.039209f, -0.155458f, -0.213414f, -0.109735f, 0.103263f, 0.311253f, 0.159213f, -0.165452f, -0.350194f, -0.227372f, 0.093303f, 0.300425f, 0.213728f, -0.091342f, -0.300816f, -0.218461f, 0.065816f, 0.244071f, 0.162550f, -0.092415f, -0.238137f, -0.128252f, 0.100712f, 0.181651f, 0.030990f, -0.157017f, -0.115265f, 0.070998f, 0.081800f, -0.046351f, -0.044295f, 0.008006f, 0.002149f, -0.009225f, -0.006588f, -0.009025f, -0.006800f, -0.005616f, -0.005679f, -0.009525f, -0.008407f, -0.006958f, -0.003893f, -0.006852f, -0.008169f, -0.007599f, -0.008781f, -0.005618f, -0.005729f, -0.006583f, -0.011031f, -0.006071f, -0.008584f, -0.006814f, -0.003493f, -0.006068f, -0.008759f, -0.010555f, -0.008607f, -0.005921f, -0.007738f, -0.005798f, -0.007830f, -0.004725f, -0.005808f, -0.010209f}, - {-0.029892f, -0.029542f, -0.028856f, -0.027857f, -0.026583f, -0.025079f, -0.023399f, -0.021600f, -0.019744f, -0.017891f, -0.016098f, -0.014418f, -0.012895f, -0.011561f, -0.010440f, -0.009540f, -0.008855f, -0.008369f, -0.008049f, -0.007854f, -0.007730f, -0.007616f, -0.007448f, -0.007158f, -0.006680f, -0.005952f, -0.004918f, -0.003536f, -0.001775f, 0.000383f, 0.002934f, 0.005861f, 0.009126f, 0.012674f, 0.016434f, 0.020319f, 0.024230f, 0.028058f, 0.031689f, 0.035007f, 0.037898f, 0.040252f, 0.041972f, 0.042973f, 0.043189f, 0.042572f, 0.041100f, 0.038772f, 0.035614f, 0.031677f, 0.027035f, 0.021787f, 0.016048f, 0.009953f, 0.003650f, -0.002707f, -0.008959f, -0.014945f, -0.020515f, -0.025524f, -0.029848f, -0.033376f, -0.036023f, -0.037728f, -0.038458f, -0.038206f, -0.036995f, -0.034872f, -0.031914f, -0.028218f, -0.023902f, -0.019098f, -0.013952f, -0.008616f, -0.003243f, 0.002016f, 0.007018f, 0.011632f, 0.015743f, 0.019255f, 0.022095f, 0.024213f, 0.025584f, 0.026207f, 0.026107f, 0.025331f, 0.023946f, 0.022036f, 0.019699f, 0.017044f, 0.014184f, 0.011235f, 0.008308f, 0.005510f, 0.002935f, 0.000663f, - -0.001242f, -0.002733f, -0.003786f, -0.004393f, -0.004571f, -0.004350f, -0.003782f, -0.002930f, -0.001872f, -0.000690f, 0.000525f, 0.001683f, 0.002699f, 0.003490f, 0.003986f, 0.004128f, 0.003872f, 0.003192f, 0.002077f, 0.000537f, -0.001401f, -0.003695f, -0.006286f, -0.009104f, -0.012065f, -0.015083f, -0.018065f, -0.020919f, -0.023555f, -0.025891f, -0.027854f, -0.029383f, -0.030432f, -0.030969f, -0.030982f, -0.030475f, -0.029468f, -0.027999f, -0.026120f, -0.023894f, -0.021395f, -0.018706f, -0.015911f, -0.013097f, -0.010347f, -0.007739f, -0.005344f, -0.003220f, -0.001415f, 0.000040f, 0.001127f, 0.001844f, 0.002204f, 0.002235f, 0.001976f, 0.001478f, 0.000801f, 0.000009f, -0.000830f, -0.001647f, -0.002379f, -0.002965f, -0.003354f, -0.003506f, -0.003391f, -0.002992f, -0.002309f, -0.001353f, -0.000149f, 0.001265f, 0.002842f, 0.004523f, 0.006247f, 0.007944f, 0.009546f, 0.010988f, 0.012205f, 0.013144f, 0.013759f, 0.014014f, 0.013888f, 0.013374f, 0.012478f, 0.011219f, 0.009633f, 0.007766f, 0.005674f, 0.003424f, 0.001085f, -0.001265f, -0.003552f, -0.005703f, -0.007649f, -0.009329f, -0.010692f, -0.011698f, - -0.012321f, -0.012549f, -0.012384f, -0.011842f, -0.010953f, -0.009760f, -0.008315f, -0.006679f, -0.004921f, -0.003112f, -0.001323f, 0.000375f, 0.001917f, 0.003245f, 0.004311f, 0.005076f, 0.005514f, 0.005615f, 0.005380f, 0.004824f, 0.003975f, 0.002872f, 0.001564f, 0.000109f, -0.001431f, -0.002990f, -0.004504f, -0.005909f, -0.007146f, -0.008165f, -0.008925f, -0.009393f, -0.009551f, -0.009394f, -0.008928f, -0.008172f, -0.007159f, -0.005929f, -0.004534f, -0.003031f, -0.001480f, 0.000053f, 0.001507f, 0.002823f, 0.003946f, 0.004831f, 0.005442f, 0.005753f, 0.036056f, 0.021124f, 0.026973f, 0.002853f, 0.025504f, -0.036759f, 0.120369f, 0.068962f, -0.020475f, -0.006364f, 0.082802f, -0.095240f, 0.015746f, 0.112186f, -0.049374f, -0.361187f, -0.225574f, -0.127324f, 0.157493f, 0.116115f, -0.176209f, -0.033021f, 0.133424f, 0.235411f, 0.062228f, -0.044699f, -0.116768f, -0.191572f, -0.051900f, 0.128522f, 0.226795f, 0.159784f, 0.002433f, -0.116993f, -0.146142f, -0.075191f, 0.062285f, 0.165989f, 0.094672f, 0.046845f, -0.069561f, -0.120506f, -0.054545f, 0.095776f, 0.175229f, 0.142224f, -0.009731f, -0.071782f, - -0.077554f, -0.112175f, -0.041778f, 0.011164f, 0.128118f, 0.208308f, 0.235745f, 0.111922f, -0.132997f, -0.259796f, -0.113422f, 0.074893f, -0.038254f, 0.238270f, 0.168505f, 0.082608f, -0.031260f, 0.116822f, -0.233589f, -0.185223f, -0.173442f, 0.043233f, 0.021947f, 0.054493f, -0.126625f, 0.023288f, 0.105875f, 0.198739f, 0.250896f, -0.249375f, -0.448407f, -0.145145f, 0.106279f, 0.302558f, 0.246126f, 0.196574f, -0.235638f, -0.653698f, -0.528796f, -0.090020f, 0.349899f, 0.436636f, 0.195874f, -0.175564f, -0.414966f, -0.390250f, -0.051659f, 0.151280f, 0.221583f, 0.036830f, -0.113118f, -0.102813f, 0.129464f, 0.150724f, 0.030080f, -0.103389f, -0.144849f, -0.060319f, 0.117822f, 0.184830f, 0.123875f, -0.015875f, -0.102409f, -0.076583f, -0.014518f, 0.191465f, 0.143807f, -0.120737f, -0.168517f, -0.104127f, -0.043151f, 0.037230f, 0.046696f, -0.021623f, -0.120959f, -0.067850f, -0.039591f, -0.013026f, -0.008023f, 0.001913f, -0.040271f, -0.073136f, 0.018257f, 0.059690f, 0.043106f, -0.031780f, -0.123499f, -0.075675f, -0.003068f, 0.069011f, 0.094692f, 0.066325f, -0.067325f, -0.140321f, -0.080914f, 0.095344f, - 0.192658f, 0.148638f, -0.039963f, -0.225561f, -0.285811f, -0.131370f, 0.112440f, 0.338432f, 0.285997f, 0.056425f, -0.307868f, -0.433614f, -0.250132f, 0.100298f, 0.381305f, 0.396289f, 0.121852f, -0.230055f, -0.398159f, -0.299296f, -0.003885f, 0.316878f, 0.413720f, 0.151302f, -0.177576f, -0.366316f, -0.264946f, 0.003264f, 0.196150f, 0.209733f, 0.039209f, -0.155458f, -0.213414f, -0.109735f, 0.103263f, 0.311253f, 0.159213f, -0.165452f, -0.350194f, -0.227372f, 0.093303f, 0.300425f, 0.213728f, -0.091342f, -0.300816f, -0.218461f, 0.065816f, 0.244071f, 0.162550f, -0.092415f, -0.238137f, -0.128252f, 0.100712f, 0.181651f, 0.030990f, -0.157017f, -0.115265f, 0.070998f, 0.081800f, -0.046351f, -0.044295f, 0.008006f, 0.002149f, -0.009225f, -0.006588f, -0.009025f, -0.006800f, -0.005616f, -0.005679f, -0.009525f, -0.008407f, -0.006958f, -0.003893f, -0.006852f, -0.008169f, -0.007599f, -0.008781f, -0.005618f, -0.005729f, -0.006583f, -0.011031f, -0.006071f, -0.008584f, -0.006814f, -0.003493f, -0.006068f, -0.008759f, -0.010555f, -0.008607f, -0.005921f, -0.007738f, -0.005798f, -0.007830f, -0.004725f, -0.005808f, -0.010209f} - }, - { - {-0.014853f, -0.014704f, -0.014411f, -0.013990f, -0.013461f, -0.012849f, -0.012185f, -0.011500f, -0.010831f, -0.010211f, -0.009675f, -0.009252f, -0.008968f, -0.008844f, -0.008893f, -0.009121f, -0.009525f, -0.010095f, -0.010810f, -0.011644f, -0.012561f, -0.013520f, -0.014474f, -0.015372f, -0.016163f, -0.016793f, -0.017211f, -0.017371f, -0.017230f, -0.016755f, -0.015919f, -0.014708f, -0.013117f, -0.011153f, -0.008836f, -0.006199f, -0.003284f, -0.000147f, 0.003149f, 0.006531f, 0.009921f, 0.013235f, 0.016389f, 0.019297f, 0.021880f, 0.024059f, 0.025766f, 0.026943f, 0.027540f, 0.027524f, 0.026875f, 0.025588f, 0.023674f, 0.021160f, 0.018087f, 0.014513f, 0.010507f, 0.006150f, 0.001532f, -0.003249f, -0.008091f, -0.012889f, -0.017541f, -0.021946f, -0.026010f, -0.029648f, -0.032785f, -0.035358f, -0.037320f, -0.038638f, -0.039295f, -0.039291f, -0.038643f, -0.037382f, -0.035555f, -0.033222f, -0.030454f, -0.027331f, -0.023942f, -0.020380f, -0.016738f, -0.013112f, -0.009591f, -0.006263f, -0.003205f, -0.000485f, 0.001839f, 0.003724f, 0.005139f, 0.006068f, 0.006509f, 0.006473f, 0.005989f, 0.005093f, 0.003835f, 0.002275f, - 0.000479f, -0.001479f, -0.003525f, -0.005581f, -0.007571f, -0.009421f, -0.011066f, -0.012443f, -0.013502f, -0.014201f, -0.014508f, -0.014406f, -0.013888f, -0.012960f, -0.011639f, -0.009953f, -0.007944f, -0.005657f, -0.003151f, -0.000486f, 0.002270f, 0.005050f, 0.007783f, 0.010401f, 0.012840f, 0.015038f, 0.016941f, 0.018502f, 0.019684f, 0.020458f, 0.020805f, 0.020716f, 0.020195f, 0.019253f, 0.017912f, 0.016203f, 0.014165f, 0.011845f, 0.009293f, 0.006565f, 0.003720f, 0.000819f, -0.002080f, -0.004917f, -0.007637f, -0.010188f, -0.012524f, -0.014605f, -0.016397f, -0.017873f, -0.019017f, -0.019817f, -0.020271f, -0.020385f, -0.020172f, -0.019650f, -0.018847f, -0.017792f, -0.016521f, -0.015073f, -0.013489f, -0.011811f, -0.010081f, -0.008343f, -0.006635f, -0.004996f, -0.003461f, -0.002058f, -0.000816f, 0.000247f, 0.001113f, 0.001773f, 0.002222f, 0.002460f, 0.002493f, 0.002331f, 0.001987f, 0.001482f, 0.000834f, 0.000069f, -0.000788f, -0.001710f, -0.002671f, -0.003644f, -0.004603f, -0.005524f, -0.006384f, -0.007165f, -0.007850f, -0.008424f, -0.008879f, -0.009209f, -0.009409f, -0.009481f, -0.009429f, -0.009260f, - -0.008984f, -0.008613f, -0.008161f, -0.007645f, -0.007081f, -0.006485f, -0.005876f, -0.005271f, -0.004684f, -0.004131f, -0.003625f, -0.003177f, -0.002795f, -0.002486f, -0.002254f, -0.002099f, -0.002022f, -0.002019f, -0.002085f, -0.002212f, -0.002392f, -0.002614f, -0.002869f, -0.003143f, -0.003427f, -0.003708f, -0.003977f, -0.004223f, -0.004439f, -0.004617f, -0.004752f, -0.004840f, -0.004880f, -0.004873f, -0.004819f, -0.004724f, -0.004591f, -0.004428f, -0.004241f, -0.004040f, -0.003832f, -0.003627f, -0.003433f, -0.003257f, -0.003107f, -0.002990f, -0.002908f, -0.002867f, -0.021142f, -0.012772f, 0.041782f, 0.011461f, -0.023324f, -0.048552f, 0.083324f, 0.128741f, 0.163210f, 0.022466f, -0.073034f, -0.164555f, -0.008334f, 0.027284f, -0.094363f, -0.135137f, -0.128155f, -0.159423f, 0.082480f, 0.276145f, 0.024414f, 0.012123f, -0.073510f, -0.075878f, -0.059393f, 0.141106f, 0.094630f, 0.252383f, 0.019271f, 0.006408f, -0.120424f, -0.077277f, -0.046363f, 0.087579f, 0.149186f, 0.113399f, -0.009919f, -0.070191f, -0.072746f, -0.074360f, -0.034070f, 0.050165f, 0.105453f, 0.054835f, -0.023624f, -0.052217f, -0.043143f, 0.060931f, - 0.037146f, -0.077516f, -0.101350f, -0.030535f, 0.010477f, 0.027091f, 0.106609f, -0.004045f, 0.035518f, -0.038627f, 0.027477f, -0.009505f, -0.146818f, 0.148435f, 0.115373f, -0.024588f, -0.084493f, 0.082609f, -0.189595f, -0.023110f, -0.024360f, 0.019452f, -0.139658f, -0.250359f, -0.312635f, 0.005022f, 0.285309f, 0.301526f, 0.106997f, -0.150844f, -0.259924f, -0.206224f, 0.000870f, 0.241643f, 0.281995f, 0.062769f, -0.089250f, -0.041351f, 0.002812f, 0.054198f, 0.045527f, 0.040906f, -0.053555f, -0.145768f, -0.138296f, -0.016220f, 0.154665f, 0.237434f, 0.194321f, 0.016704f, -0.203386f, -0.280457f, -0.244762f, 0.079565f, 0.301006f, 0.366981f, 0.209383f, -0.097659f, -0.290700f, -0.270046f, -0.115097f, 0.058905f, 0.086002f, 0.106486f, 0.028261f, -0.094005f, -0.005879f, 0.130444f, 0.200986f, -0.052487f, -0.121960f, -0.124044f, 0.042045f, 0.084948f, 0.176359f, 0.093919f, -0.040256f, -0.179410f, -0.211577f, -0.091507f, 0.129094f, 0.291859f, 0.261148f, 0.052084f, -0.248293f, -0.365230f, -0.303634f, 0.002162f, 0.338277f, 0.428645f, 0.233104f, -0.079498f, -0.326450f, -0.334632f, -0.092269f, 0.060237f, - 0.159157f, 0.139104f, 0.076327f, -0.011701f, -0.089277f, -0.092387f, -0.028372f, 0.036030f, 0.113183f, 0.072351f, 0.020929f, -0.031411f, -0.112913f, -0.067827f, -0.012575f, 0.118199f, 0.122719f, 0.053657f, -0.066424f, -0.129719f, -0.134491f, -0.023484f, 0.111408f, 0.114918f, 0.026332f, 0.015100f, -0.020594f, -0.043328f, -0.065491f, -0.008995f, 0.028595f, 0.063051f, 0.066698f, 0.020313f, -0.018236f, 0.019814f, -0.129555f, -0.137360f, -0.047141f, 0.080344f, 0.098521f, 0.034005f, -0.063626f, -0.085019f, -0.038896f, 0.031129f, 0.050531f, 0.026089f, -0.021032f, -0.038992f, -0.035237f, 0.003396f, 0.028927f, 0.029184f, -0.008887f, -0.036009f, -0.020577f, 0.026326f, 0.015104f, -0.015360f, -0.013356f, 0.007853f, -0.001375f, -0.000048f, -0.004307f, 0.001124f, -0.000891f, -0.000933f, -0.002570f, 0.000851f, -0.002801f, -0.000454f, -0.000990f, -0.000218f, -0.001979f, 0.003152f, -0.001396f, -0.001332f, 0.003680f, 0.001222f, 0.000151f, -0.000306f, -0.001812f, -0.001295f, -0.002856f, 0.000203f, -0.004890f, 0.002523f, 0.000903f, 0.002135f, -0.002393f, -0.001312f, 0.000310f, -0.002222f, -0.000223f, -0.000378f}, - {-0.014853f, -0.014704f, -0.014411f, -0.013990f, -0.013461f, -0.012849f, -0.012185f, -0.011500f, -0.010831f, -0.010211f, -0.009675f, -0.009252f, -0.008968f, -0.008844f, -0.008893f, -0.009121f, -0.009525f, -0.010095f, -0.010810f, -0.011644f, -0.012561f, -0.013520f, -0.014474f, -0.015372f, -0.016163f, -0.016793f, -0.017211f, -0.017371f, -0.017230f, -0.016755f, -0.015919f, -0.014708f, -0.013117f, -0.011153f, -0.008836f, -0.006199f, -0.003284f, -0.000147f, 0.003149f, 0.006531f, 0.009921f, 0.013235f, 0.016389f, 0.019297f, 0.021880f, 0.024059f, 0.025766f, 0.026943f, 0.027540f, 0.027524f, 0.026875f, 0.025588f, 0.023674f, 0.021160f, 0.018087f, 0.014513f, 0.010507f, 0.006150f, 0.001532f, -0.003249f, -0.008091f, -0.012889f, -0.017541f, -0.021946f, -0.026010f, -0.029648f, -0.032785f, -0.035358f, -0.037320f, -0.038638f, -0.039295f, -0.039291f, -0.038643f, -0.037382f, -0.035555f, -0.033222f, -0.030454f, -0.027331f, -0.023942f, -0.020380f, -0.016738f, -0.013112f, -0.009591f, -0.006263f, -0.003205f, -0.000485f, 0.001839f, 0.003724f, 0.005139f, 0.006068f, 0.006509f, 0.006473f, 0.005989f, 0.005093f, 0.003835f, 0.002275f, - 0.000479f, -0.001479f, -0.003525f, -0.005581f, -0.007571f, -0.009421f, -0.011066f, -0.012443f, -0.013502f, -0.014201f, -0.014508f, -0.014406f, -0.013888f, -0.012960f, -0.011639f, -0.009953f, -0.007944f, -0.005657f, -0.003151f, -0.000486f, 0.002270f, 0.005050f, 0.007783f, 0.010401f, 0.012840f, 0.015038f, 0.016941f, 0.018502f, 0.019684f, 0.020458f, 0.020805f, 0.020716f, 0.020195f, 0.019253f, 0.017912f, 0.016203f, 0.014165f, 0.011845f, 0.009293f, 0.006565f, 0.003720f, 0.000819f, -0.002080f, -0.004917f, -0.007637f, -0.010188f, -0.012524f, -0.014605f, -0.016397f, -0.017873f, -0.019017f, -0.019817f, -0.020271f, -0.020385f, -0.020172f, -0.019650f, -0.018847f, -0.017792f, -0.016521f, -0.015073f, -0.013489f, -0.011811f, -0.010081f, -0.008343f, -0.006635f, -0.004996f, -0.003461f, -0.002058f, -0.000816f, 0.000247f, 0.001113f, 0.001773f, 0.002222f, 0.002460f, 0.002493f, 0.002331f, 0.001987f, 0.001482f, 0.000834f, 0.000069f, -0.000788f, -0.001710f, -0.002671f, -0.003644f, -0.004603f, -0.005524f, -0.006384f, -0.007165f, -0.007850f, -0.008424f, -0.008879f, -0.009209f, -0.009409f, -0.009481f, -0.009429f, -0.009260f, - -0.008984f, -0.008613f, -0.008161f, -0.007645f, -0.007081f, -0.006485f, -0.005876f, -0.005271f, -0.004684f, -0.004131f, -0.003625f, -0.003177f, -0.002795f, -0.002486f, -0.002254f, -0.002099f, -0.002022f, -0.002019f, -0.002085f, -0.002212f, -0.002392f, -0.002614f, -0.002869f, -0.003143f, -0.003427f, -0.003708f, -0.003977f, -0.004223f, -0.004439f, -0.004617f, -0.004752f, -0.004840f, -0.004880f, -0.004873f, -0.004819f, -0.004724f, -0.004591f, -0.004428f, -0.004241f, -0.004040f, -0.003832f, -0.003627f, -0.003433f, -0.003257f, -0.003107f, -0.002990f, -0.002908f, -0.002867f, -0.021142f, -0.012772f, 0.041782f, 0.011461f, -0.023324f, -0.048552f, 0.083324f, 0.128741f, 0.163210f, 0.022466f, -0.073034f, -0.164555f, -0.008334f, 0.027284f, -0.094363f, -0.135137f, -0.128155f, -0.159423f, 0.082480f, 0.276145f, 0.024414f, 0.012123f, -0.073510f, -0.075878f, -0.059393f, 0.141106f, 0.094630f, 0.252383f, 0.019271f, 0.006408f, -0.120424f, -0.077277f, -0.046363f, 0.087579f, 0.149186f, 0.113399f, -0.009919f, -0.070191f, -0.072746f, -0.074360f, -0.034070f, 0.050165f, 0.105453f, 0.054835f, -0.023624f, -0.052217f, -0.043143f, 0.060931f, - 0.037146f, -0.077516f, -0.101350f, -0.030535f, 0.010477f, 0.027091f, 0.106609f, -0.004045f, 0.035518f, -0.038627f, 0.027477f, -0.009505f, -0.146818f, 0.148435f, 0.115373f, -0.024588f, -0.084493f, 0.082609f, -0.189595f, -0.023110f, -0.024360f, 0.019452f, -0.139658f, -0.250359f, -0.312635f, 0.005022f, 0.285309f, 0.301526f, 0.106997f, -0.150844f, -0.259924f, -0.206224f, 0.000870f, 0.241643f, 0.281995f, 0.062769f, -0.089250f, -0.041351f, 0.002812f, 0.054198f, 0.045527f, 0.040906f, -0.053555f, -0.145768f, -0.138296f, -0.016220f, 0.154665f, 0.237434f, 0.194321f, 0.016704f, -0.203386f, -0.280457f, -0.244762f, 0.079565f, 0.301006f, 0.366981f, 0.209383f, -0.097659f, -0.290700f, -0.270046f, -0.115097f, 0.058905f, 0.086002f, 0.106486f, 0.028261f, -0.094005f, -0.005879f, 0.130444f, 0.200986f, -0.052487f, -0.121960f, -0.124044f, 0.042045f, 0.084948f, 0.176359f, 0.093919f, -0.040256f, -0.179410f, -0.211577f, -0.091507f, 0.129094f, 0.291859f, 0.261148f, 0.052084f, -0.248293f, -0.365230f, -0.303634f, 0.002162f, 0.338277f, 0.428645f, 0.233104f, -0.079498f, -0.326450f, -0.334632f, -0.092269f, 0.060237f, - 0.159157f, 0.139104f, 0.076327f, -0.011701f, -0.089277f, -0.092387f, -0.028372f, 0.036030f, 0.113183f, 0.072351f, 0.020929f, -0.031411f, -0.112913f, -0.067827f, -0.012575f, 0.118199f, 0.122719f, 0.053657f, -0.066424f, -0.129719f, -0.134491f, -0.023484f, 0.111408f, 0.114918f, 0.026332f, 0.015100f, -0.020594f, -0.043328f, -0.065491f, -0.008995f, 0.028595f, 0.063051f, 0.066698f, 0.020313f, -0.018236f, 0.019814f, -0.129555f, -0.137360f, -0.047141f, 0.080344f, 0.098521f, 0.034005f, -0.063626f, -0.085019f, -0.038896f, 0.031129f, 0.050531f, 0.026089f, -0.021032f, -0.038992f, -0.035237f, 0.003396f, 0.028927f, 0.029184f, -0.008887f, -0.036009f, -0.020577f, 0.026326f, 0.015104f, -0.015360f, -0.013356f, 0.007853f, -0.001375f, -0.000048f, -0.004307f, 0.001124f, -0.000891f, -0.000933f, -0.002570f, 0.000851f, -0.002801f, -0.000454f, -0.000990f, -0.000218f, -0.001979f, 0.003152f, -0.001396f, -0.001332f, 0.003680f, 0.001222f, 0.000151f, -0.000306f, -0.001812f, -0.001295f, -0.002856f, 0.000203f, -0.004890f, 0.002523f, 0.000903f, 0.002135f, -0.002393f, -0.001312f, 0.000310f, -0.002222f, -0.000223f, -0.000378f} - }, - { - {0.030630f, 0.029886f, 0.028419f, 0.026269f, 0.023494f, 0.020171f, 0.016388f, 0.012248f, 0.007859f, 0.003338f, -0.001200f, -0.005641f, -0.009876f, -0.013804f, -0.017337f, -0.020400f, -0.022935f, -0.024898f, -0.026269f, -0.027040f, -0.027226f, -0.026858f, -0.025979f, -0.024651f, -0.022944f, -0.020937f, -0.018715f, -0.016365f, -0.013975f, -0.011627f, -0.009400f, -0.007362f, -0.005571f, -0.004073f, -0.002900f, -0.002071f, -0.001588f, -0.001443f, -0.001612f, -0.002061f, -0.002744f, -0.003610f, -0.004601f, -0.005654f, -0.006709f, -0.007705f, -0.008586f, -0.009302f, -0.009810f, -0.010078f, -0.010084f, -0.009816f, -0.009274f, -0.008469f, -0.007422f, -0.006164f, -0.004732f, -0.003171f, -0.001530f, 0.000141f, 0.001791f, 0.003371f, 0.004836f, 0.006146f, 0.007269f, 0.008179f, 0.008862f, 0.009311f, 0.009530f, 0.009530f, 0.009332f, 0.008965f, 0.008463f, 0.007863f, 0.007208f, 0.006538f, 0.005896f, 0.005319f, 0.004841f, 0.004491f, 0.004289f, 0.004247f, 0.004371f, 0.004656f, 0.005087f, 0.005645f, 0.006301f, 0.007019f, 0.007762f, 0.008485f, 0.009148f, 0.009706f, 0.010119f, 0.010352f, 0.010375f, 0.010165f, - 0.009708f, 0.009001f, 0.008046f, 0.006861f, 0.005470f, 0.003906f, 0.002212f, 0.000436f, -0.001369f, -0.003144f, -0.004831f, -0.006373f, -0.007713f, -0.008801f, -0.009593f, -0.010051f, -0.010149f, -0.009870f, -0.009208f, -0.008168f, -0.006767f, -0.005033f, -0.003004f, -0.000725f, 0.001749f, 0.004359f, 0.007042f, 0.009732f, 0.012365f, 0.014878f, 0.017212f, 0.019314f, 0.021138f, 0.022648f, 0.023816f, 0.024624f, 0.025066f, 0.025145f, 0.024873f, 0.024274f, 0.023376f, 0.022217f, 0.020840f, 0.019289f, 0.017613f, 0.015860f, 0.014077f, 0.012308f, 0.010594f, 0.008969f, 0.007461f, 0.006094f, 0.004882f, 0.003833f, 0.002948f, 0.002223f, 0.001646f, 0.001203f, 0.000875f, 0.000640f, 0.000476f, 0.000360f, 0.000273f, 0.000194f, 0.000108f, 0.000003f, -0.000128f, -0.000288f, -0.000476f, -0.000686f, -0.000906f, -0.001125f, -0.001324f, -0.001488f, -0.001596f, -0.001630f, -0.001575f, -0.001415f, -0.001139f, -0.000741f, -0.000217f, 0.000429f, 0.001189f, 0.002051f, 0.002998f, 0.004006f, 0.005050f, 0.006102f, 0.007132f, 0.008110f, 0.009004f, 0.009788f, 0.010435f, 0.010925f, 0.011241f, 0.011371f, - 0.011312f, 0.011064f, 0.010635f, 0.010040f, 0.009298f, 0.008435f, 0.007480f, 0.006465f, 0.005424f, 0.004394f, 0.003408f, 0.002500f, 0.001700f, 0.001033f, 0.000520f, 0.000176f, 0.000009f, 0.000021f, 0.000206f, 0.000552f, 0.001043f, 0.001654f, 0.002358f, 0.003124f, 0.003918f, 0.004707f, 0.005455f, 0.006132f, 0.006708f, 0.007158f, 0.007462f, 0.007606f, 0.007583f, 0.007391f, 0.007036f, 0.006531f, 0.005894f, 0.005148f, 0.004321f, 0.003444f, 0.002551f, 0.001675f, 0.000851f, 0.000109f, -0.000522f, -0.001018f, -0.001359f, -0.001533f, -0.013588f, -0.039467f, -0.037901f, -0.021588f, 0.011313f, 0.000789f, -0.055494f, 0.005170f, -0.073707f, -0.098420f, -0.068258f, -0.001448f, -0.054406f, 0.005726f, -0.020404f, -0.008435f, -0.065711f, -0.030719f, 0.136399f, 0.158010f, -0.089710f, -0.028559f, 0.013863f, 0.105298f, 0.066637f, 0.035608f, 0.039413f, -0.028561f, -0.059565f, -0.060206f, 0.033290f, 0.092845f, -0.009329f, -0.065797f, -0.068659f, -0.005349f, 0.042261f, 0.099630f, 0.025256f, -0.005513f, -0.041187f, 0.031916f, 0.017488f, 0.091830f, 0.037378f, 0.014187f, -0.023848f, -0.000482f, - -0.050457f, -0.055721f, -0.058509f, 0.077087f, 0.048546f, 0.027771f, -0.043394f, -0.103564f, -0.084214f, 0.008461f, 0.031071f, 0.040095f, 0.097907f, -0.095014f, -0.111959f, -0.069063f, 0.011158f, -0.025619f, 0.173890f, 0.126003f, 0.099104f, -0.033678f, -0.044920f, -0.097036f, 0.056543f, 0.058742f, 0.064084f, 0.051523f, 0.013651f, -0.166152f, -0.244119f, -0.147183f, 0.090228f, 0.235326f, 0.281570f, 0.040560f, -0.139487f, -0.269164f, -0.126385f, 0.045203f, 0.226480f, 0.214837f, 0.079560f, -0.049083f, -0.283805f, -0.236087f, 0.000289f, 0.173246f, 0.206911f, 0.015769f, -0.144701f, -0.163731f, -0.050881f, 0.084700f, 0.150058f, 0.014995f, -0.147567f, -0.221592f, -0.110711f, 0.103520f, 0.274064f, 0.143869f, -0.128538f, -0.312151f, -0.225086f, -0.092757f, 0.300536f, 0.418715f, 0.127606f, -0.230029f, -0.341479f, -0.195968f, 0.122780f, 0.284097f, 0.358943f, 0.123112f, -0.127152f, -0.283415f, -0.196468f, 0.014572f, 0.231089f, 0.266968f, 0.093281f, -0.111264f, -0.201375f, -0.113465f, 0.096944f, 0.219131f, 0.117782f, -0.054741f, -0.153716f, -0.120550f, 0.107774f, 0.195634f, 0.116388f, -0.062415f, - -0.192398f, -0.210544f, -0.029201f, 0.201855f, 0.249644f, 0.100840f, -0.102094f, -0.237392f, -0.208560f, -0.069246f, 0.169403f, 0.299624f, 0.217982f, -0.028703f, -0.265906f, -0.319232f, -0.125647f, 0.173379f, 0.338687f, 0.240591f, -0.008976f, -0.264023f, -0.333698f, -0.135412f, 0.048295f, 0.226408f, 0.212682f, 0.097199f, -0.085554f, -0.155354f, -0.131984f, -0.011196f, 0.083124f, 0.107153f, 0.036576f, -0.152611f, 0.004281f, 0.119319f, 0.165601f, 0.066304f, -0.049091f, -0.120765f, -0.070825f, 0.028825f, 0.109023f, 0.094864f, 0.018672f, -0.068787f, -0.085827f, -0.030428f, 0.063047f, 0.093016f, 0.044563f, -0.052808f, -0.080650f, -0.006784f, 0.083424f, 0.041339f, -0.039872f, -0.022357f, 0.024608f, 0.013488f, 0.000998f, 0.003189f, 0.007823f, 0.002533f, 0.003391f, 0.000901f, 0.002675f, 0.003156f, 0.003914f, 0.004147f, 0.003899f, -0.001965f, 0.005109f, 0.006066f, 0.003780f, 0.002728f, 0.005253f, 0.005267f, 0.004289f, 0.002943f, 0.005577f, 0.000016f, 0.002358f, 0.001586f, 0.006119f, 0.001132f, 0.000415f, 0.003371f, 0.002974f, 0.001878f, 0.008552f, 0.005038f, 0.004298f, 0.003232f}, - {0.030630f, 0.029886f, 0.028419f, 0.026269f, 0.023494f, 0.020171f, 0.016388f, 0.012248f, 0.007859f, 0.003338f, -0.001200f, -0.005641f, -0.009876f, -0.013804f, -0.017337f, -0.020400f, -0.022935f, -0.024898f, -0.026269f, -0.027040f, -0.027226f, -0.026858f, -0.025979f, -0.024651f, -0.022944f, -0.020937f, -0.018715f, -0.016365f, -0.013975f, -0.011627f, -0.009400f, -0.007362f, -0.005571f, -0.004073f, -0.002900f, -0.002071f, -0.001588f, -0.001443f, -0.001612f, -0.002061f, -0.002744f, -0.003610f, -0.004601f, -0.005654f, -0.006709f, -0.007705f, -0.008586f, -0.009302f, -0.009810f, -0.010078f, -0.010084f, -0.009816f, -0.009274f, -0.008469f, -0.007422f, -0.006164f, -0.004732f, -0.003171f, -0.001530f, 0.000141f, 0.001791f, 0.003371f, 0.004836f, 0.006146f, 0.007269f, 0.008179f, 0.008862f, 0.009311f, 0.009530f, 0.009530f, 0.009332f, 0.008965f, 0.008463f, 0.007863f, 0.007208f, 0.006538f, 0.005896f, 0.005319f, 0.004841f, 0.004491f, 0.004289f, 0.004247f, 0.004371f, 0.004656f, 0.005087f, 0.005645f, 0.006301f, 0.007019f, 0.007762f, 0.008485f, 0.009148f, 0.009706f, 0.010119f, 0.010352f, 0.010375f, 0.010165f, - 0.009708f, 0.009001f, 0.008046f, 0.006861f, 0.005470f, 0.003906f, 0.002212f, 0.000436f, -0.001369f, -0.003144f, -0.004831f, -0.006373f, -0.007713f, -0.008801f, -0.009593f, -0.010051f, -0.010149f, -0.009870f, -0.009208f, -0.008168f, -0.006767f, -0.005033f, -0.003004f, -0.000725f, 0.001749f, 0.004359f, 0.007042f, 0.009732f, 0.012365f, 0.014878f, 0.017212f, 0.019314f, 0.021138f, 0.022648f, 0.023816f, 0.024624f, 0.025066f, 0.025145f, 0.024873f, 0.024274f, 0.023376f, 0.022217f, 0.020840f, 0.019289f, 0.017613f, 0.015860f, 0.014077f, 0.012308f, 0.010594f, 0.008969f, 0.007461f, 0.006094f, 0.004882f, 0.003833f, 0.002948f, 0.002223f, 0.001646f, 0.001203f, 0.000875f, 0.000640f, 0.000476f, 0.000360f, 0.000273f, 0.000194f, 0.000108f, 0.000003f, -0.000128f, -0.000288f, -0.000476f, -0.000686f, -0.000906f, -0.001125f, -0.001324f, -0.001488f, -0.001596f, -0.001630f, -0.001575f, -0.001415f, -0.001139f, -0.000741f, -0.000217f, 0.000429f, 0.001189f, 0.002051f, 0.002998f, 0.004006f, 0.005050f, 0.006102f, 0.007132f, 0.008110f, 0.009004f, 0.009788f, 0.010435f, 0.010925f, 0.011241f, 0.011371f, - 0.011312f, 0.011064f, 0.010635f, 0.010040f, 0.009298f, 0.008435f, 0.007480f, 0.006465f, 0.005424f, 0.004394f, 0.003408f, 0.002500f, 0.001700f, 0.001033f, 0.000520f, 0.000176f, 0.000009f, 0.000021f, 0.000206f, 0.000552f, 0.001043f, 0.001654f, 0.002358f, 0.003124f, 0.003918f, 0.004707f, 0.005455f, 0.006132f, 0.006708f, 0.007158f, 0.007462f, 0.007606f, 0.007583f, 0.007391f, 0.007036f, 0.006531f, 0.005894f, 0.005148f, 0.004321f, 0.003444f, 0.002551f, 0.001675f, 0.000851f, 0.000109f, -0.000522f, -0.001018f, -0.001359f, -0.001533f, -0.013588f, -0.039467f, -0.037901f, -0.021588f, 0.011313f, 0.000789f, -0.055494f, 0.005170f, -0.073707f, -0.098420f, -0.068258f, -0.001448f, -0.054406f, 0.005726f, -0.020404f, -0.008435f, -0.065711f, -0.030719f, 0.136399f, 0.158010f, -0.089710f, -0.028559f, 0.013863f, 0.105298f, 0.066637f, 0.035608f, 0.039413f, -0.028561f, -0.059565f, -0.060206f, 0.033290f, 0.092845f, -0.009329f, -0.065797f, -0.068659f, -0.005349f, 0.042261f, 0.099630f, 0.025256f, -0.005513f, -0.041187f, 0.031916f, 0.017488f, 0.091830f, 0.037378f, 0.014187f, -0.023848f, -0.000482f, - -0.050457f, -0.055721f, -0.058509f, 0.077087f, 0.048546f, 0.027771f, -0.043394f, -0.103564f, -0.084214f, 0.008461f, 0.031071f, 0.040095f, 0.097907f, -0.095014f, -0.111959f, -0.069063f, 0.011158f, -0.025619f, 0.173890f, 0.126003f, 0.099104f, -0.033678f, -0.044920f, -0.097036f, 0.056543f, 0.058742f, 0.064084f, 0.051523f, 0.013651f, -0.166152f, -0.244119f, -0.147183f, 0.090228f, 0.235326f, 0.281570f, 0.040560f, -0.139487f, -0.269164f, -0.126385f, 0.045203f, 0.226480f, 0.214837f, 0.079560f, -0.049083f, -0.283805f, -0.236087f, 0.000289f, 0.173246f, 0.206911f, 0.015769f, -0.144701f, -0.163731f, -0.050881f, 0.084700f, 0.150058f, 0.014995f, -0.147567f, -0.221592f, -0.110711f, 0.103520f, 0.274064f, 0.143869f, -0.128538f, -0.312151f, -0.225086f, -0.092757f, 0.300536f, 0.418715f, 0.127606f, -0.230029f, -0.341479f, -0.195968f, 0.122780f, 0.284097f, 0.358943f, 0.123112f, -0.127152f, -0.283415f, -0.196468f, 0.014572f, 0.231089f, 0.266968f, 0.093281f, -0.111264f, -0.201375f, -0.113465f, 0.096944f, 0.219131f, 0.117782f, -0.054741f, -0.153716f, -0.120550f, 0.107774f, 0.195634f, 0.116388f, -0.062415f, - -0.192398f, -0.210544f, -0.029201f, 0.201855f, 0.249644f, 0.100840f, -0.102094f, -0.237392f, -0.208560f, -0.069246f, 0.169403f, 0.299624f, 0.217982f, -0.028703f, -0.265906f, -0.319232f, -0.125647f, 0.173379f, 0.338687f, 0.240591f, -0.008976f, -0.264023f, -0.333698f, -0.135412f, 0.048295f, 0.226408f, 0.212682f, 0.097199f, -0.085554f, -0.155354f, -0.131984f, -0.011196f, 0.083124f, 0.107153f, 0.036576f, -0.152611f, 0.004281f, 0.119319f, 0.165601f, 0.066304f, -0.049091f, -0.120765f, -0.070825f, 0.028825f, 0.109023f, 0.094864f, 0.018672f, -0.068787f, -0.085827f, -0.030428f, 0.063047f, 0.093016f, 0.044563f, -0.052808f, -0.080650f, -0.006784f, 0.083424f, 0.041339f, -0.039872f, -0.022357f, 0.024608f, 0.013488f, 0.000998f, 0.003189f, 0.007823f, 0.002533f, 0.003391f, 0.000901f, 0.002675f, 0.003156f, 0.003914f, 0.004147f, 0.003899f, -0.001965f, 0.005109f, 0.006066f, 0.003780f, 0.002728f, 0.005253f, 0.005267f, 0.004289f, 0.002943f, 0.005577f, 0.000016f, 0.002358f, 0.001586f, 0.006119f, 0.001132f, 0.000415f, 0.003371f, 0.002974f, 0.001878f, 0.008552f, 0.005038f, 0.004298f, 0.003232f} - }, - { - {0.014266f, 0.014099f, 0.013769f, 0.013283f, 0.012652f, 0.011891f, 0.011016f, 0.010046f, 0.009002f, 0.007906f, 0.006780f, 0.005647f, 0.004528f, 0.003444f, 0.002411f, 0.001448f, 0.000565f, -0.000225f, -0.000916f, -0.001505f, -0.001991f, -0.002377f, -0.002669f, -0.002875f, -0.003006f, -0.003074f, -0.003092f, -0.003075f, -0.003035f, -0.002988f, -0.002943f, -0.002912f, -0.002903f, -0.002920f, -0.002967f, -0.003043f, -0.003143f, -0.003262f, -0.003388f, -0.003509f, -0.003610f, -0.003674f, -0.003683f, -0.003618f, -0.003460f, -0.003192f, -0.002798f, -0.002262f, -0.001574f, -0.000725f, 0.000287f, 0.001462f, 0.002796f, 0.004279f, 0.005895f, 0.007626f, 0.009448f, 0.011333f, 0.013252f, 0.015170f, 0.017054f, 0.018868f, 0.020575f, 0.022141f, 0.023533f, 0.024722f, 0.025682f, 0.026391f, 0.026832f, 0.026996f, 0.026878f, 0.026480f, 0.025810f, 0.024882f, 0.023717f, 0.022341f, 0.020783f, 0.019079f, 0.017266f, 0.015382f, 0.013469f, 0.011568f, 0.009715f, 0.007950f, 0.006304f, 0.004808f, 0.003484f, 0.002353f, 0.001426f, 0.000710f, 0.000204f, -0.000098f, -0.000208f, -0.000146f, 0.000067f, 0.000404f, - 0.000834f, 0.001326f, 0.001846f, 0.002362f, 0.002842f, 0.003256f, 0.003578f, 0.003787f, 0.003865f, 0.003802f, 0.003590f, 0.003231f, 0.002731f, 0.002102f, 0.001361f, 0.000532f, -0.000359f, -0.001283f, -0.002207f, -0.003099f, -0.003926f, -0.004655f, -0.005258f, -0.005708f, -0.005983f, -0.006067f, -0.005949f, -0.005623f, -0.005091f, -0.004362f, -0.003450f, -0.002375f, -0.001163f, 0.000154f, 0.001544f, 0.002968f, 0.004388f, 0.005765f, 0.007059f, 0.008236f, 0.009260f, 0.010103f, 0.010741f, 0.011154f, 0.011332f, 0.011269f, 0.010966f, 0.010433f, 0.009686f, 0.008745f, 0.007638f, 0.006399f, 0.005062f, 0.003666f, 0.002253f, 0.000862f, -0.000467f, -0.001695f, -0.002788f, -0.003716f, -0.004452f, -0.004977f, -0.005277f, -0.005346f, -0.005184f, -0.004796f, -0.004196f, -0.003401f, -0.002437f, -0.001331f, -0.000115f, 0.001176f, 0.002508f, 0.003843f, 0.005147f, 0.006387f, 0.007532f, 0.008555f, 0.009434f, 0.010150f, 0.010693f, 0.011055f, 0.011234f, 0.011236f, 0.011070f, 0.010750f, 0.010293f, 0.009722f, 0.009059f, 0.008331f, 0.007563f, 0.006782f, 0.006013f, 0.005278f, 0.004598f, 0.003992f, - 0.003473f, 0.003051f, 0.002733f, 0.002520f, 0.002411f, 0.002400f, 0.002478f, 0.002634f, 0.002854f, 0.003121f, 0.003421f, 0.003735f, 0.004047f, 0.004342f, 0.004607f, 0.004828f, 0.004998f, 0.005109f, 0.005157f, 0.005142f, 0.005066f, 0.004933f, 0.004750f, 0.004527f, 0.004273f, 0.004001f, 0.003723f, 0.003450f, 0.003194f, 0.002966f, 0.002774f, 0.002627f, 0.002529f, 0.002482f, 0.002488f, 0.002545f, 0.002649f, 0.002793f, 0.002970f, 0.003171f, 0.003386f, 0.003604f, 0.003815f, 0.004009f, 0.004176f, 0.004308f, 0.004400f, 0.004447f, -0.008117f, -0.004781f, -0.006598f, -0.018545f, -0.025597f, 0.042077f, -0.015089f, -0.029318f, -0.005835f, -0.008171f, 0.065454f, 0.017045f, -0.029551f, 0.007135f, -0.076603f, -0.157012f, -0.066141f, -0.026523f, 0.057249f, 0.043034f, -0.070796f, -0.020043f, 0.023324f, 0.089411f, 0.084758f, 0.035790f, 0.023783f, 0.033177f, -0.041975f, -0.060794f, -0.142789f, 0.008082f, 0.042334f, 0.010198f, 0.030540f, 0.037254f, -0.074155f, -0.097473f, -0.048026f, 0.009435f, 0.067059f, 0.102453f, 0.072618f, 0.019962f, -0.034514f, -0.021699f, -0.024063f, 0.049352f, - 0.036632f, 0.016999f, -0.031435f, 0.004227f, -0.113697f, -0.018912f, 0.056030f, 0.016169f, 0.091707f, 0.078866f, -0.054679f, -0.123760f, 0.051217f, -0.068318f, 0.096888f, 0.072978f, 0.072757f, -0.076411f, -0.090509f, -0.010835f, 0.057468f, 0.075408f, 0.063779f, 0.025827f, 0.041213f, -0.078705f, -0.097994f, -0.030170f, 0.123951f, 0.082740f, -0.042369f, -0.048554f, -0.066582f, -0.106656f, -0.039913f, 0.054512f, 0.049807f, -0.114358f, -0.215607f, -0.205969f, 0.041956f, 0.234425f, 0.265590f, 0.103549f, -0.087024f, -0.245732f, -0.151602f, 0.030550f, 0.142402f, 0.082910f, 0.004883f, -0.071084f, -0.045589f, -0.014730f, 0.027929f, 0.030718f, 0.062894f, -0.059104f, -0.059472f, -0.132011f, -0.061556f, -0.023570f, 0.124157f, 0.172644f, 0.122441f, -0.128672f, -0.148254f, -0.044770f, -0.080031f, 0.032261f, 0.085118f, 0.136007f, 0.037226f, -0.130449f, -0.059001f, -0.056811f, 0.088079f, 0.162189f, 0.121557f, 0.038020f, -0.016111f, -0.151295f, -0.181267f, -0.100758f, 0.108348f, 0.272622f, 0.281771f, 0.067561f, -0.207803f, -0.273469f, -0.163158f, 0.051822f, 0.244010f, 0.261897f, 0.080929f, -0.137511f, - -0.268044f, -0.175537f, 0.052243f, 0.301171f, 0.208899f, -0.013515f, -0.180532f, -0.265725f, -0.153590f, 0.052063f, 0.197927f, 0.187255f, 0.049341f, -0.083697f, -0.144994f, -0.126802f, -0.006250f, 0.055872f, 0.085810f, 0.031950f, -0.047777f, -0.119150f, -0.105607f, -0.004721f, 0.108134f, 0.123686f, 0.054182f, -0.053034f, -0.105318f, -0.096349f, -0.017170f, 0.093395f, 0.062758f, 0.028064f, -0.071315f, -0.075505f, 0.101127f, 0.140895f, 0.070198f, -0.086650f, -0.148540f, -0.081551f, 0.076697f, 0.146288f, 0.071101f, -0.088899f, -0.135306f, -0.039831f, 0.097748f, 0.110281f, -0.006700f, -0.108368f, -0.068172f, 0.050684f, 0.087551f, -0.007703f, -0.072486f, -0.013393f, 0.050897f, 0.004567f, -0.024493f, -0.002029f, 0.006294f, -0.004220f, -0.002998f, -0.002927f, -0.000138f, -0.002606f, 0.002296f, 0.000322f, 0.001175f, -0.000720f, 0.000056f, -0.006301f, -0.001237f, -0.005921f, 0.002369f, 0.000285f, -0.003134f, -0.000816f, 0.002985f, -0.001983f, 0.000990f, -0.001084f, -0.003292f, -0.003434f, -0.002880f, 0.000129f, -0.001524f, 0.000604f, 0.001678f, -0.002724f, -0.002961f, 0.000212f, -0.001253f, -0.001810f}, - {0.014266f, 0.014099f, 0.013769f, 0.013283f, 0.012652f, 0.011891f, 0.011016f, 0.010046f, 0.009002f, 0.007906f, 0.006780f, 0.005647f, 0.004528f, 0.003444f, 0.002411f, 0.001448f, 0.000565f, -0.000225f, -0.000916f, -0.001505f, -0.001991f, -0.002377f, -0.002669f, -0.002875f, -0.003006f, -0.003074f, -0.003092f, -0.003075f, -0.003035f, -0.002988f, -0.002943f, -0.002912f, -0.002903f, -0.002920f, -0.002967f, -0.003043f, -0.003143f, -0.003262f, -0.003388f, -0.003509f, -0.003610f, -0.003674f, -0.003683f, -0.003618f, -0.003460f, -0.003192f, -0.002798f, -0.002262f, -0.001574f, -0.000725f, 0.000287f, 0.001462f, 0.002796f, 0.004279f, 0.005895f, 0.007626f, 0.009448f, 0.011333f, 0.013252f, 0.015170f, 0.017054f, 0.018868f, 0.020575f, 0.022141f, 0.023533f, 0.024722f, 0.025682f, 0.026391f, 0.026832f, 0.026996f, 0.026878f, 0.026480f, 0.025810f, 0.024882f, 0.023717f, 0.022341f, 0.020783f, 0.019079f, 0.017266f, 0.015382f, 0.013469f, 0.011568f, 0.009715f, 0.007950f, 0.006304f, 0.004808f, 0.003484f, 0.002353f, 0.001426f, 0.000710f, 0.000204f, -0.000098f, -0.000208f, -0.000146f, 0.000067f, 0.000404f, - 0.000834f, 0.001326f, 0.001846f, 0.002362f, 0.002842f, 0.003256f, 0.003578f, 0.003787f, 0.003865f, 0.003802f, 0.003590f, 0.003231f, 0.002731f, 0.002102f, 0.001361f, 0.000532f, -0.000359f, -0.001283f, -0.002207f, -0.003099f, -0.003926f, -0.004655f, -0.005258f, -0.005708f, -0.005983f, -0.006067f, -0.005949f, -0.005623f, -0.005091f, -0.004362f, -0.003450f, -0.002375f, -0.001163f, 0.000154f, 0.001544f, 0.002968f, 0.004388f, 0.005765f, 0.007059f, 0.008236f, 0.009260f, 0.010103f, 0.010741f, 0.011154f, 0.011332f, 0.011269f, 0.010966f, 0.010433f, 0.009686f, 0.008745f, 0.007638f, 0.006399f, 0.005062f, 0.003666f, 0.002253f, 0.000862f, -0.000467f, -0.001695f, -0.002788f, -0.003716f, -0.004452f, -0.004977f, -0.005277f, -0.005346f, -0.005184f, -0.004796f, -0.004196f, -0.003401f, -0.002437f, -0.001331f, -0.000115f, 0.001176f, 0.002508f, 0.003843f, 0.005147f, 0.006387f, 0.007532f, 0.008555f, 0.009434f, 0.010150f, 0.010693f, 0.011055f, 0.011234f, 0.011236f, 0.011070f, 0.010750f, 0.010293f, 0.009722f, 0.009059f, 0.008331f, 0.007563f, 0.006782f, 0.006013f, 0.005278f, 0.004598f, 0.003992f, - 0.003473f, 0.003051f, 0.002733f, 0.002520f, 0.002411f, 0.002400f, 0.002478f, 0.002634f, 0.002854f, 0.003121f, 0.003421f, 0.003735f, 0.004047f, 0.004342f, 0.004607f, 0.004828f, 0.004998f, 0.005109f, 0.005157f, 0.005142f, 0.005066f, 0.004933f, 0.004750f, 0.004527f, 0.004273f, 0.004001f, 0.003723f, 0.003450f, 0.003194f, 0.002966f, 0.002774f, 0.002627f, 0.002529f, 0.002482f, 0.002488f, 0.002545f, 0.002649f, 0.002793f, 0.002970f, 0.003171f, 0.003386f, 0.003604f, 0.003815f, 0.004009f, 0.004176f, 0.004308f, 0.004400f, 0.004447f, -0.008117f, -0.004781f, -0.006598f, -0.018545f, -0.025597f, 0.042077f, -0.015089f, -0.029318f, -0.005835f, -0.008171f, 0.065454f, 0.017045f, -0.029551f, 0.007135f, -0.076603f, -0.157012f, -0.066141f, -0.026523f, 0.057249f, 0.043034f, -0.070796f, -0.020043f, 0.023324f, 0.089411f, 0.084758f, 0.035790f, 0.023783f, 0.033177f, -0.041975f, -0.060794f, -0.142789f, 0.008082f, 0.042334f, 0.010198f, 0.030540f, 0.037254f, -0.074155f, -0.097473f, -0.048026f, 0.009435f, 0.067059f, 0.102453f, 0.072618f, 0.019962f, -0.034514f, -0.021699f, -0.024063f, 0.049352f, - 0.036632f, 0.016999f, -0.031435f, 0.004227f, -0.113697f, -0.018912f, 0.056030f, 0.016169f, 0.091707f, 0.078866f, -0.054679f, -0.123760f, 0.051217f, -0.068318f, 0.096888f, 0.072978f, 0.072757f, -0.076411f, -0.090509f, -0.010835f, 0.057468f, 0.075408f, 0.063779f, 0.025827f, 0.041213f, -0.078705f, -0.097994f, -0.030170f, 0.123951f, 0.082740f, -0.042369f, -0.048554f, -0.066582f, -0.106656f, -0.039913f, 0.054512f, 0.049807f, -0.114358f, -0.215607f, -0.205969f, 0.041956f, 0.234425f, 0.265590f, 0.103549f, -0.087024f, -0.245732f, -0.151602f, 0.030550f, 0.142402f, 0.082910f, 0.004883f, -0.071084f, -0.045589f, -0.014730f, 0.027929f, 0.030718f, 0.062894f, -0.059104f, -0.059472f, -0.132011f, -0.061556f, -0.023570f, 0.124157f, 0.172644f, 0.122441f, -0.128672f, -0.148254f, -0.044770f, -0.080031f, 0.032261f, 0.085118f, 0.136007f, 0.037226f, -0.130449f, -0.059001f, -0.056811f, 0.088079f, 0.162189f, 0.121557f, 0.038020f, -0.016111f, -0.151295f, -0.181267f, -0.100758f, 0.108348f, 0.272622f, 0.281771f, 0.067561f, -0.207803f, -0.273469f, -0.163158f, 0.051822f, 0.244010f, 0.261897f, 0.080929f, -0.137511f, - -0.268044f, -0.175537f, 0.052243f, 0.301171f, 0.208899f, -0.013515f, -0.180532f, -0.265725f, -0.153590f, 0.052063f, 0.197927f, 0.187255f, 0.049341f, -0.083697f, -0.144994f, -0.126802f, -0.006250f, 0.055872f, 0.085810f, 0.031950f, -0.047777f, -0.119150f, -0.105607f, -0.004721f, 0.108134f, 0.123686f, 0.054182f, -0.053034f, -0.105318f, -0.096349f, -0.017170f, 0.093395f, 0.062758f, 0.028064f, -0.071315f, -0.075505f, 0.101127f, 0.140895f, 0.070198f, -0.086650f, -0.148540f, -0.081551f, 0.076697f, 0.146288f, 0.071101f, -0.088899f, -0.135306f, -0.039831f, 0.097748f, 0.110281f, -0.006700f, -0.108368f, -0.068172f, 0.050684f, 0.087551f, -0.007703f, -0.072486f, -0.013393f, 0.050897f, 0.004567f, -0.024493f, -0.002029f, 0.006294f, -0.004220f, -0.002998f, -0.002927f, -0.000138f, -0.002606f, 0.002296f, 0.000322f, 0.001175f, -0.000720f, 0.000056f, -0.006301f, -0.001237f, -0.005921f, 0.002369f, 0.000285f, -0.003134f, -0.000816f, 0.002985f, -0.001983f, 0.000990f, -0.001084f, -0.003292f, -0.003434f, -0.002880f, 0.000129f, -0.001524f, 0.000604f, 0.001678f, -0.002724f, -0.002961f, 0.000212f, -0.001253f, -0.001810f} - } -}; -const float CRendBin_HOA3_HRIR_coeff_im_48kHz[16][BINAURAL_CHANNELS][480]={ - { - {0.000549f, 0.001631f, 0.002663f, 0.003615f, 0.004457f, 0.005166f, 0.005720f, 0.006107f, 0.006315f, 0.006343f, 0.006195f, 0.005878f, 0.005408f, 0.004806f, 0.004094f, 0.003303f, 0.002461f, 0.001602f, 0.000756f, -0.000043f, -0.000768f, -0.001390f, -0.001888f, -0.002243f, -0.002443f, -0.002479f, -0.002352f, -0.002064f, -0.001626f, -0.001054f, -0.000369f, 0.000407f, 0.001245f, 0.002115f, 0.002988f, 0.003833f, 0.004619f, 0.005320f, 0.005911f, 0.006370f, 0.006682f, 0.006834f, 0.006822f, 0.006644f, 0.006305f, 0.005815f, 0.005189f, 0.004445f, 0.003606f, 0.002698f, 0.001746f, 0.000779f, -0.000176f, -0.001093f, -0.001948f, -0.002718f, -0.003385f, -0.003937f, -0.004361f, -0.004654f, -0.004815f, -0.004847f, -0.004759f, -0.004562f, -0.004272f, -0.003906f, -0.003484f, -0.003026f, -0.002552f, -0.002084f, -0.001639f, -0.001234f, -0.000884f, -0.000600f, -0.000389f, -0.000255f, -0.000199f, -0.000217f, -0.000303f, -0.000448f, -0.000640f, -0.000865f, -0.001108f, -0.001354f, -0.001587f, -0.001793f, -0.001958f, -0.002073f, -0.002127f, -0.002116f, -0.002037f, -0.001890f, -0.001680f, -0.001413f, -0.001098f, -0.000749f, - -0.000378f, -0.000000f, 0.000367f, 0.000709f, 0.001010f, 0.001257f, 0.001436f, 0.001539f, 0.001559f, 0.001491f, 0.001336f, 0.001096f, 0.000777f, 0.000389f, -0.000057f, -0.000545f, -0.001059f, -0.001582f, -0.002095f, -0.002580f, -0.003020f, -0.003398f, -0.003701f, -0.003916f, -0.004034f, -0.004051f, -0.003962f, -0.003771f, -0.003482f, -0.003102f, -0.002643f, -0.002118f, -0.001543f, -0.000936f, -0.000313f, 0.000306f, 0.000903f, 0.001462f, 0.001967f, 0.002405f, 0.002765f, 0.003039f, 0.003223f, 0.003314f, 0.003315f, 0.003231f, 0.003067f, 0.002836f, 0.002547f, 0.002215f, 0.001853f, 0.001477f, 0.001101f, 0.000738f, 0.000401f, 0.000100f, -0.000155f, -0.000359f, -0.000508f, -0.000601f, -0.000639f, -0.000628f, -0.000572f, -0.000481f, -0.000363f, -0.000230f, -0.000092f, 0.000039f, 0.000152f, 0.000238f, 0.000289f, 0.000298f, 0.000260f, 0.000174f, 0.000039f, -0.000141f, -0.000362f, -0.000616f, -0.000895f, -0.001188f, -0.001484f, -0.001771f, -0.002037f, -0.002270f, -0.002460f, -0.002598f, -0.002675f, -0.002688f, -0.002633f, -0.002510f, -0.002320f, -0.002070f, -0.001765f, -0.001416f, -0.001033f, -0.000628f, - -0.000217f, 0.000189f, 0.000575f, 0.000927f, 0.001235f, 0.001487f, 0.001674f, 0.001792f, 0.001836f, 0.001806f, 0.001703f, 0.001532f, 0.001300f, 0.001017f, 0.000693f, 0.000341f, -0.000025f, -0.000392f, -0.000744f, -0.001069f, -0.001355f, -0.001591f, -0.001768f, -0.001881f, -0.001924f, -0.001898f, -0.001803f, -0.001645f, -0.001429f, -0.001165f, -0.000863f, -0.000536f, -0.000196f, 0.000143f, 0.000468f, 0.000765f, 0.001024f, 0.001235f, 0.001389f, 0.001482f, 0.001510f, 0.001472f, 0.001370f, 0.001211f, 0.000999f, 0.000746f, 0.000460f, 0.000156f, -0.459988f, -0.951364f, -0.610488f, 0.138856f, 0.698197f, 0.756538f, 0.243251f, -0.421561f, -0.809017f, -0.723124f, -0.130978f, 0.462606f, 0.869329f, 0.668927f, 0.030586f, -0.563056f, -0.788995f, -0.467552f, 0.152083f, 0.679937f, 0.729245f, 0.338703f, -0.322545f, -0.698697f, -0.615539f, -0.094425f, 0.456741f, 0.704130f, 0.460061f, -0.071586f, -0.567986f, -0.669722f, -0.335589f, 0.246636f, 0.632875f, 0.618595f, 0.155702f, -0.373707f, -0.695337f, -0.504141f, -0.123673f, 0.357714f, 0.720972f, 0.555961f, 0.039481f, -0.524585f, -0.688642f, -0.391594f, - 0.199571f, 0.632368f, 0.653497f, 0.212242f, -0.363710f, -0.698362f, -0.533969f, -0.013174f, 0.510447f, 0.654537f, 0.374430f, -0.161899f, -0.563497f, -0.567399f, -0.172138f, 0.340047f, 0.661268f, 0.495634f, -0.012328f, -0.517845f, -0.669687f, -0.364384f, 0.180465f, 0.612619f, 0.618588f, 0.208082f, -0.346706f, -0.674587f, -0.546981f, -0.034491f, 0.493899f, 0.663842f, 0.384299f, -0.161248f, -0.530011f, -0.571216f, -0.199479f, 0.330839f, 0.641365f, 0.517783f, 0.029365f, -0.469162f, -0.650912f, -0.382365f, 0.162567f, 0.572309f, 0.620024f, 0.258968f, -0.286565f, -0.604121f, -0.539109f, -0.134658f, 0.351582f, 0.601150f, 0.439245f, 0.005804f, -0.429748f, -0.570360f, -0.309470f, 0.144957f, 0.518672f, 0.532375f, 0.181912f, -0.316777f, -0.582908f, -0.462849f, 0.006490f, 0.467799f, 0.600352f, 0.338467f, -0.171078f, -0.576634f, -0.591189f, -0.184358f, 0.357559f, 0.635154f, 0.475979f, -0.006956f, -0.474676f, -0.603798f, -0.308351f, 0.187600f, 0.541923f, 0.513726f, 0.151033f, -0.322051f, -0.548969f, -0.399484f, 0.016445f, 0.417020f, 0.542622f, 0.294498f, -0.155090f, -0.498546f, -0.492820f, -0.152761f, - 0.286108f, 0.512682f, 0.385987f, -0.014018f, -0.390285f, -0.496220f, -0.247561f, 0.178302f, 0.478161f, 0.429657f, 0.081502f, -0.320164f, -0.471944f, -0.286304f, 0.091236f, 0.417376f, 0.439153f, 0.136549f, -0.272420f, -0.487026f, -0.361011f, 0.059105f, 0.421041f, 0.473316f, 0.174411f, -0.265012f, -0.518633f, -0.380817f, 0.063996f, 0.474638f, 0.521219f, 0.163071f, -0.331621f, -0.576037f, -0.349084f, 0.134778f, 0.496984f, 0.477692f, 0.054462f, -0.415126f, -0.543009f, -0.197895f, 0.324273f, 0.569567f, 0.294501f, -0.250950f, -0.561133f, -0.322396f, 0.225841f, 0.532439f, 0.278501f, -0.248472f, -0.474949f, -0.151682f, 0.312118f, 0.347247f, -0.075374f, -0.303858f, -0.026373f, 0.162830f, 0.018239f, -0.044566f, -0.004146f, 0.006047f, 0.000605f, 0.000729f, -0.000193f, 0.000013f, -0.000995f, 0.001505f, -0.000002f, 0.001062f, 0.000599f, 0.000661f, -0.000421f, 0.000596f, -0.000387f, 0.001767f, -0.000116f, 0.001335f, -0.000958f, 0.000380f, 0.000386f, 0.000219f, -0.001087f, 0.000999f, -0.000098f, 0.000362f, -0.000387f, 0.000100f, -0.000422f, 0.001448f, -0.001190f, 0.001039f, -0.000707f, -0.000023f}, - {0.000549f, 0.001631f, 0.002663f, 0.003615f, 0.004457f, 0.005166f, 0.005720f, 0.006107f, 0.006315f, 0.006343f, 0.006195f, 0.005878f, 0.005408f, 0.004806f, 0.004094f, 0.003303f, 0.002461f, 0.001602f, 0.000756f, -0.000043f, -0.000768f, -0.001390f, -0.001888f, -0.002243f, -0.002443f, -0.002479f, -0.002352f, -0.002064f, -0.001626f, -0.001054f, -0.000369f, 0.000407f, 0.001245f, 0.002115f, 0.002988f, 0.003833f, 0.004619f, 0.005320f, 0.005911f, 0.006370f, 0.006682f, 0.006834f, 0.006822f, 0.006644f, 0.006305f, 0.005815f, 0.005189f, 0.004445f, 0.003606f, 0.002698f, 0.001746f, 0.000779f, -0.000176f, -0.001093f, -0.001948f, -0.002718f, -0.003385f, -0.003937f, -0.004361f, -0.004654f, -0.004815f, -0.004847f, -0.004759f, -0.004562f, -0.004272f, -0.003906f, -0.003484f, -0.003026f, -0.002552f, -0.002084f, -0.001639f, -0.001234f, -0.000884f, -0.000600f, -0.000389f, -0.000255f, -0.000199f, -0.000217f, -0.000303f, -0.000448f, -0.000640f, -0.000865f, -0.001108f, -0.001354f, -0.001587f, -0.001793f, -0.001958f, -0.002073f, -0.002127f, -0.002116f, -0.002037f, -0.001890f, -0.001680f, -0.001413f, -0.001098f, -0.000749f, - -0.000378f, -0.000000f, 0.000367f, 0.000709f, 0.001010f, 0.001257f, 0.001436f, 0.001539f, 0.001559f, 0.001491f, 0.001336f, 0.001096f, 0.000777f, 0.000389f, -0.000057f, -0.000545f, -0.001059f, -0.001582f, -0.002095f, -0.002580f, -0.003020f, -0.003398f, -0.003701f, -0.003916f, -0.004034f, -0.004051f, -0.003962f, -0.003771f, -0.003482f, -0.003102f, -0.002643f, -0.002118f, -0.001543f, -0.000936f, -0.000313f, 0.000306f, 0.000903f, 0.001462f, 0.001967f, 0.002405f, 0.002765f, 0.003039f, 0.003223f, 0.003314f, 0.003315f, 0.003231f, 0.003067f, 0.002836f, 0.002547f, 0.002215f, 0.001853f, 0.001477f, 0.001101f, 0.000738f, 0.000401f, 0.000100f, -0.000155f, -0.000359f, -0.000508f, -0.000601f, -0.000639f, -0.000628f, -0.000572f, -0.000481f, -0.000363f, -0.000230f, -0.000092f, 0.000039f, 0.000152f, 0.000238f, 0.000289f, 0.000298f, 0.000260f, 0.000174f, 0.000039f, -0.000141f, -0.000362f, -0.000616f, -0.000895f, -0.001188f, -0.001484f, -0.001771f, -0.002037f, -0.002270f, -0.002460f, -0.002598f, -0.002675f, -0.002688f, -0.002633f, -0.002510f, -0.002320f, -0.002070f, -0.001765f, -0.001416f, -0.001033f, -0.000628f, - -0.000217f, 0.000189f, 0.000575f, 0.000927f, 0.001235f, 0.001487f, 0.001674f, 0.001792f, 0.001836f, 0.001806f, 0.001703f, 0.001532f, 0.001300f, 0.001017f, 0.000693f, 0.000341f, -0.000025f, -0.000392f, -0.000744f, -0.001069f, -0.001355f, -0.001591f, -0.001768f, -0.001881f, -0.001924f, -0.001898f, -0.001803f, -0.001645f, -0.001429f, -0.001165f, -0.000863f, -0.000536f, -0.000196f, 0.000143f, 0.000468f, 0.000765f, 0.001024f, 0.001235f, 0.001389f, 0.001482f, 0.001510f, 0.001472f, 0.001370f, 0.001211f, 0.000999f, 0.000746f, 0.000460f, 0.000156f, -0.459988f, -0.951364f, -0.610488f, 0.138856f, 0.698197f, 0.756538f, 0.243251f, -0.421561f, -0.809017f, -0.723124f, -0.130978f, 0.462606f, 0.869329f, 0.668927f, 0.030586f, -0.563056f, -0.788995f, -0.467552f, 0.152083f, 0.679937f, 0.729245f, 0.338703f, -0.322545f, -0.698697f, -0.615539f, -0.094425f, 0.456741f, 0.704130f, 0.460061f, -0.071586f, -0.567986f, -0.669722f, -0.335589f, 0.246636f, 0.632875f, 0.618595f, 0.155702f, -0.373707f, -0.695337f, -0.504141f, -0.123673f, 0.357714f, 0.720972f, 0.555961f, 0.039481f, -0.524585f, -0.688642f, -0.391594f, - 0.199571f, 0.632368f, 0.653497f, 0.212242f, -0.363710f, -0.698362f, -0.533969f, -0.013174f, 0.510447f, 0.654537f, 0.374430f, -0.161899f, -0.563497f, -0.567399f, -0.172138f, 0.340047f, 0.661268f, 0.495634f, -0.012328f, -0.517845f, -0.669687f, -0.364384f, 0.180465f, 0.612619f, 0.618588f, 0.208082f, -0.346706f, -0.674587f, -0.546981f, -0.034491f, 0.493899f, 0.663842f, 0.384299f, -0.161248f, -0.530011f, -0.571216f, -0.199479f, 0.330839f, 0.641365f, 0.517783f, 0.029365f, -0.469162f, -0.650912f, -0.382365f, 0.162567f, 0.572309f, 0.620024f, 0.258968f, -0.286565f, -0.604121f, -0.539109f, -0.134658f, 0.351582f, 0.601150f, 0.439245f, 0.005804f, -0.429748f, -0.570360f, -0.309470f, 0.144957f, 0.518672f, 0.532375f, 0.181912f, -0.316777f, -0.582908f, -0.462849f, 0.006490f, 0.467799f, 0.600352f, 0.338467f, -0.171078f, -0.576634f, -0.591189f, -0.184358f, 0.357559f, 0.635154f, 0.475979f, -0.006956f, -0.474676f, -0.603798f, -0.308351f, 0.187600f, 0.541923f, 0.513726f, 0.151033f, -0.322051f, -0.548969f, -0.399484f, 0.016445f, 0.417020f, 0.542622f, 0.294498f, -0.155090f, -0.498546f, -0.492820f, -0.152761f, - 0.286108f, 0.512682f, 0.385987f, -0.014018f, -0.390285f, -0.496220f, -0.247561f, 0.178302f, 0.478161f, 0.429657f, 0.081502f, -0.320164f, -0.471944f, -0.286304f, 0.091236f, 0.417376f, 0.439153f, 0.136549f, -0.272420f, -0.487026f, -0.361011f, 0.059105f, 0.421041f, 0.473316f, 0.174411f, -0.265012f, -0.518633f, -0.380817f, 0.063996f, 0.474638f, 0.521219f, 0.163071f, -0.331621f, -0.576037f, -0.349084f, 0.134778f, 0.496984f, 0.477692f, 0.054462f, -0.415126f, -0.543009f, -0.197895f, 0.324273f, 0.569567f, 0.294501f, -0.250950f, -0.561133f, -0.322396f, 0.225841f, 0.532439f, 0.278501f, -0.248472f, -0.474949f, -0.151682f, 0.312118f, 0.347247f, -0.075374f, -0.303858f, -0.026373f, 0.162830f, 0.018239f, -0.044566f, -0.004146f, 0.006047f, 0.000605f, 0.000729f, -0.000193f, 0.000013f, -0.000995f, 0.001505f, -0.000002f, 0.001062f, 0.000599f, 0.000661f, -0.000421f, 0.000596f, -0.000387f, 0.001767f, -0.000116f, 0.001335f, -0.000958f, 0.000380f, 0.000386f, 0.000219f, -0.001087f, 0.000999f, -0.000098f, 0.000362f, -0.000387f, 0.000100f, -0.000422f, 0.001448f, -0.001190f, 0.001039f, -0.000707f, -0.000023f} - }, - { - {0.000033f, 0.000115f, 0.000241f, 0.000437f, 0.000727f, 0.001129f, 0.001655f, 0.002311f, 0.003095f, 0.003997f, 0.005000f, 0.006080f, 0.007207f, 0.008344f, 0.009452f, 0.010488f, 0.011408f, 0.012168f, 0.012727f, 0.013047f, 0.013096f, 0.012849f, 0.012289f, 0.011407f, 0.010204f, 0.008692f, 0.006891f, 0.004833f, 0.002557f, 0.000110f, -0.002454f, -0.005076f, -0.007695f, -0.010247f, -0.012669f, -0.014902f, -0.016890f, -0.018583f, -0.019939f, -0.020927f, -0.021524f, -0.021719f, -0.021511f, -0.020913f, -0.019945f, -0.018640f, -0.017040f, -0.015194f, -0.013159f, -0.010993f, -0.008762f, -0.006527f, -0.004353f, -0.002298f, -0.000417f, 0.001242f, 0.002639f, 0.003742f, 0.004530f, 0.004993f, 0.005128f, 0.004945f, 0.004462f, 0.003708f, 0.002717f, 0.001530f, 0.000194f, -0.001242f, -0.002728f, -0.004213f, -0.005648f, -0.006988f, -0.008193f, -0.009228f, -0.010064f, -0.010683f, -0.011072f, -0.011225f, -0.011147f, -0.010848f, -0.010345f, -0.009663f, -0.008828f, -0.007874f, -0.006833f, -0.005740f, -0.004631f, -0.003539f, -0.002495f, -0.001526f, -0.000655f, 0.000100f, 0.000726f, 0.001215f, 0.001564f, 0.001777f, - 0.001862f, 0.001828f, 0.001693f, 0.001472f, 0.001184f, 0.000850f, 0.000488f, 0.000116f, -0.000248f, -0.000591f, -0.000901f, -0.001170f, -0.001394f, -0.001571f, -0.001703f, -0.001795f, -0.001854f, -0.001888f, -0.001908f, -0.001924f, -0.001948f, -0.001988f, -0.002054f, -0.002152f, -0.002286f, -0.002457f, -0.002663f, -0.002901f, -0.003162f, -0.003438f, -0.003715f, -0.003981f, -0.004221f, -0.004421f, -0.004565f, -0.004641f, -0.004636f, -0.004542f, -0.004353f, -0.004066f, -0.003682f, -0.003206f, -0.002647f, -0.002017f, -0.001331f, -0.000609f, 0.000129f, 0.000860f, 0.001562f, 0.002212f, 0.002787f, 0.003268f, 0.003637f, 0.003881f, 0.003990f, 0.003958f, 0.003786f, 0.003477f, 0.003040f, 0.002489f, 0.001844f, 0.001124f, 0.000354f, -0.000438f, -0.001225f, -0.001980f, -0.002675f, -0.003285f, -0.003789f, -0.004167f, -0.004406f, -0.004495f, -0.004431f, -0.004215f, -0.003854f, -0.003359f, -0.002748f, -0.002040f, -0.001261f, -0.000438f, 0.000402f, 0.001229f, 0.002013f, 0.002729f, 0.003351f, 0.003858f, 0.004232f, 0.004463f, 0.004541f, 0.004466f, 0.004242f, 0.003877f, 0.003386f, 0.002787f, 0.002103f, 0.001359f, - 0.000583f, -0.000199f, -0.000957f, -0.001665f, -0.002299f, -0.002836f, -0.003258f, -0.003553f, -0.003712f, -0.003732f, -0.003614f, -0.003366f, -0.002999f, -0.002531f, -0.001981f, -0.001373f, -0.000730f, -0.000078f, 0.000556f, 0.001147f, 0.001674f, 0.002116f, 0.002456f, 0.002683f, 0.002788f, 0.002770f, 0.002631f, 0.002377f, 0.002020f, 0.001577f, 0.001065f, 0.000507f, -0.000074f, -0.000653f, -0.001208f, -0.001715f, -0.002153f, -0.002504f, -0.002755f, -0.002894f, -0.002917f, -0.002822f, -0.002613f, -0.002299f, -0.001892f, -0.001409f, -0.000869f, -0.000293f, 0.049131f, -0.015616f, -0.522292f, -0.600258f, -0.029599f, 0.813772f, 0.895386f, 0.289781f, -0.543579f, -0.625267f, -0.515360f, 0.034943f, 0.575737f, 0.501286f, 0.121036f, -0.361330f, -0.606864f, -0.495434f, 0.005356f, 0.414851f, 0.580779f, 0.318371f, -0.123311f, -0.593897f, -0.557451f, -0.169763f, 0.347590f, 0.571183f, 0.524966f, 0.030215f, -0.384597f, -0.656131f, -0.441995f, 0.048106f, 0.566672f, 0.677656f, 0.404255f, -0.224061f, -0.700876f, -0.731566f, -0.152888f, 0.531724f, 0.760169f, 0.501596f, -0.144728f, -0.704601f, -0.795966f, -0.330431f, - 0.353769f, 0.753201f, 0.632239f, 0.089246f, -0.518902f, -0.792079f, -0.525313f, 0.104648f, 0.617031f, 0.707476f, 0.314736f, -0.260498f, -0.691655f, -0.601412f, -0.141066f, 0.463251f, 0.710407f, 0.595793f, 0.079532f, -0.566041f, -0.843219f, -0.546416f, 0.105977f, 0.689965f, 0.809491f, 0.360253f, -0.318746f, -0.836742f, -0.743698f, -0.190055f, 0.522132f, 0.866911f, 0.580073f, -0.073123f, -0.601450f, -0.773098f, -0.387519f, 0.305634f, 0.768200f, 0.716101f, 0.158541f, -0.513838f, -0.804112f, -0.591068f, 0.032888f, 0.617203f, 0.790415f, 0.449739f, -0.218370f, -0.690069f, -0.721129f, -0.227665f, 0.387618f, 0.763053f, 0.570480f, 0.034747f, -0.545742f, -0.740702f, -0.422311f, 0.218477f, 0.693095f, 0.673995f, 0.183893f, -0.441957f, -0.734538f, -0.536156f, 0.074688f, 0.632881f, 0.739209f, 0.338747f, -0.278687f, -0.756625f, -0.698729f, -0.160207f, 0.460456f, 0.758172f, 0.544559f, -0.052809f, -0.595830f, -0.706044f, -0.331895f, 0.255145f, 0.628821f, 0.584354f, 0.128971f, -0.420826f, -0.663711f, -0.453743f, 0.061328f, 0.526863f, 0.647273f, 0.317473f, -0.228324f, -0.609292f, -0.576534f, -0.146893f, - 0.392392f, 0.635176f, 0.429766f, -0.061573f, -0.513517f, -0.617936f, -0.268287f, 0.255404f, 0.606177f, 0.516536f, 0.065794f, -0.428316f, -0.592311f, -0.336865f, 0.139531f, 0.539778f, 0.555964f, 0.157542f, -0.382310f, -0.625238f, -0.458078f, 0.099422f, 0.550784f, 0.609096f, 0.201930f, -0.351519f, -0.671711f, -0.479070f, 0.078702f, 0.611679f, 0.668634f, 0.215243f, -0.430488f, -0.717891f, -0.470740f, 0.197954f, 0.766795f, 0.682469f, 0.044272f, -0.648601f, -0.791369f, -0.268294f, 0.498422f, 0.820191f, 0.406963f, -0.377448f, -0.799427f, -0.464122f, 0.311450f, 0.753181f, 0.422651f, -0.330904f, -0.685414f, -0.265079f, 0.430938f, 0.533296f, -0.072866f, -0.462007f, -0.064815f, 0.243788f, 0.040393f, -0.070903f, -0.008836f, 0.006176f, 0.000743f, -0.001883f, -0.000500f, -0.000516f, 0.001860f, 0.000220f, -0.001136f, -0.001868f, -0.001613f, -0.001259f, 0.000712f, 0.000443f, -0.000560f, -0.001141f, 0.000506f, -0.000510f, 0.001301f, -0.002347f, 0.000487f, 0.000658f, -0.000408f, 0.001931f, -0.000180f, 0.000240f, 0.001278f, -0.000570f, 0.001468f, -0.001239f, 0.001603f, -0.000209f, 0.002269f, 0.000913f}, - {-0.000033f, -0.000115f, -0.000241f, -0.000437f, -0.000727f, -0.001129f, -0.001655f, -0.002311f, -0.003095f, -0.003997f, -0.005000f, -0.006080f, -0.007207f, -0.008344f, -0.009452f, -0.010488f, -0.011408f, -0.012168f, -0.012727f, -0.013047f, -0.013096f, -0.012849f, -0.012289f, -0.011407f, -0.010204f, -0.008692f, -0.006891f, -0.004833f, -0.002557f, -0.000110f, 0.002454f, 0.005076f, 0.007695f, 0.010247f, 0.012669f, 0.014902f, 0.016890f, 0.018583f, 0.019939f, 0.020927f, 0.021524f, 0.021719f, 0.021511f, 0.020913f, 0.019945f, 0.018640f, 0.017040f, 0.015194f, 0.013159f, 0.010993f, 0.008762f, 0.006527f, 0.004353f, 0.002298f, 0.000417f, -0.001242f, -0.002639f, -0.003742f, -0.004530f, -0.004993f, -0.005128f, -0.004945f, -0.004462f, -0.003708f, -0.002717f, -0.001530f, -0.000194f, 0.001242f, 0.002728f, 0.004213f, 0.005648f, 0.006988f, 0.008193f, 0.009228f, 0.010064f, 0.010683f, 0.011072f, 0.011225f, 0.011147f, 0.010848f, 0.010345f, 0.009663f, 0.008828f, 0.007874f, 0.006833f, 0.005740f, 0.004631f, 0.003539f, 0.002495f, 0.001526f, 0.000655f, -0.000100f, -0.000726f, -0.001215f, -0.001564f, -0.001777f, - -0.001862f, -0.001828f, -0.001693f, -0.001472f, -0.001184f, -0.000850f, -0.000488f, -0.000116f, 0.000248f, 0.000591f, 0.000901f, 0.001170f, 0.001394f, 0.001571f, 0.001703f, 0.001795f, 0.001854f, 0.001888f, 0.001908f, 0.001924f, 0.001948f, 0.001988f, 0.002054f, 0.002152f, 0.002286f, 0.002457f, 0.002663f, 0.002901f, 0.003162f, 0.003438f, 0.003715f, 0.003981f, 0.004221f, 0.004421f, 0.004565f, 0.004641f, 0.004636f, 0.004542f, 0.004353f, 0.004066f, 0.003682f, 0.003206f, 0.002647f, 0.002017f, 0.001331f, 0.000609f, -0.000129f, -0.000860f, -0.001562f, -0.002212f, -0.002787f, -0.003268f, -0.003637f, -0.003881f, -0.003990f, -0.003958f, -0.003786f, -0.003477f, -0.003040f, -0.002489f, -0.001844f, -0.001124f, -0.000354f, 0.000438f, 0.001225f, 0.001980f, 0.002675f, 0.003285f, 0.003789f, 0.004167f, 0.004406f, 0.004495f, 0.004431f, 0.004215f, 0.003854f, 0.003359f, 0.002748f, 0.002040f, 0.001261f, 0.000438f, -0.000402f, -0.001229f, -0.002013f, -0.002729f, -0.003351f, -0.003858f, -0.004232f, -0.004463f, -0.004541f, -0.004466f, -0.004242f, -0.003877f, -0.003386f, -0.002787f, -0.002103f, -0.001359f, - -0.000583f, 0.000199f, 0.000957f, 0.001665f, 0.002299f, 0.002836f, 0.003258f, 0.003553f, 0.003712f, 0.003732f, 0.003614f, 0.003366f, 0.002999f, 0.002531f, 0.001981f, 0.001373f, 0.000730f, 0.000078f, -0.000556f, -0.001147f, -0.001674f, -0.002116f, -0.002456f, -0.002683f, -0.002788f, -0.002770f, -0.002631f, -0.002377f, -0.002020f, -0.001577f, -0.001065f, -0.000507f, 0.000074f, 0.000653f, 0.001208f, 0.001715f, 0.002153f, 0.002504f, 0.002755f, 0.002894f, 0.002917f, 0.002822f, 0.002613f, 0.002299f, 0.001892f, 0.001409f, 0.000869f, 0.000293f, -0.049131f, 0.015616f, 0.522292f, 0.600258f, 0.029599f, -0.813772f, -0.895386f, -0.289781f, 0.543579f, 0.625267f, 0.515360f, -0.034943f, -0.575737f, -0.501286f, -0.121036f, 0.361330f, 0.606864f, 0.495434f, -0.005356f, -0.414851f, -0.580779f, -0.318371f, 0.123311f, 0.593897f, 0.557451f, 0.169763f, -0.347590f, -0.571183f, -0.524966f, -0.030215f, 0.384597f, 0.656131f, 0.441995f, -0.048106f, -0.566672f, -0.677656f, -0.404255f, 0.224061f, 0.700876f, 0.731566f, 0.152888f, -0.531724f, -0.760169f, -0.501596f, 0.144728f, 0.704601f, 0.795966f, 0.330431f, - -0.353769f, -0.753201f, -0.632239f, -0.089246f, 0.518902f, 0.792079f, 0.525313f, -0.104648f, -0.617031f, -0.707476f, -0.314736f, 0.260498f, 0.691655f, 0.601412f, 0.141066f, -0.463251f, -0.710407f, -0.595793f, -0.079532f, 0.566041f, 0.843219f, 0.546416f, -0.105977f, -0.689965f, -0.809491f, -0.360253f, 0.318746f, 0.836742f, 0.743698f, 0.190055f, -0.522132f, -0.866911f, -0.580073f, 0.073123f, 0.601450f, 0.773098f, 0.387519f, -0.305634f, -0.768200f, -0.716101f, -0.158541f, 0.513838f, 0.804112f, 0.591068f, -0.032888f, -0.617203f, -0.790415f, -0.449739f, 0.218370f, 0.690069f, 0.721129f, 0.227665f, -0.387618f, -0.763053f, -0.570480f, -0.034747f, 0.545742f, 0.740702f, 0.422311f, -0.218477f, -0.693095f, -0.673995f, -0.183893f, 0.441957f, 0.734538f, 0.536156f, -0.074688f, -0.632881f, -0.739209f, -0.338747f, 0.278687f, 0.756625f, 0.698729f, 0.160207f, -0.460456f, -0.758172f, -0.544559f, 0.052809f, 0.595830f, 0.706044f, 0.331895f, -0.255145f, -0.628821f, -0.584354f, -0.128971f, 0.420826f, 0.663711f, 0.453743f, -0.061328f, -0.526863f, -0.647273f, -0.317473f, 0.228324f, 0.609292f, 0.576534f, 0.146893f, - -0.392392f, -0.635176f, -0.429766f, 0.061573f, 0.513517f, 0.617936f, 0.268287f, -0.255404f, -0.606177f, -0.516536f, -0.065794f, 0.428316f, 0.592311f, 0.336865f, -0.139531f, -0.539778f, -0.555964f, -0.157542f, 0.382310f, 0.625238f, 0.458078f, -0.099422f, -0.550784f, -0.609096f, -0.201930f, 0.351519f, 0.671711f, 0.479070f, -0.078702f, -0.611679f, -0.668634f, -0.215243f, 0.430488f, 0.717891f, 0.470740f, -0.197954f, -0.766795f, -0.682469f, -0.044272f, 0.648601f, 0.791369f, 0.268294f, -0.498422f, -0.820191f, -0.406963f, 0.377448f, 0.799427f, 0.464122f, -0.311450f, -0.753181f, -0.422651f, 0.330904f, 0.685414f, 0.265079f, -0.430938f, -0.533296f, 0.072866f, 0.462007f, 0.064815f, -0.243788f, -0.040393f, 0.070903f, 0.008836f, -0.006176f, -0.000743f, 0.001883f, 0.000500f, 0.000516f, -0.001860f, -0.000220f, 0.001136f, 0.001868f, 0.001613f, 0.001259f, -0.000712f, -0.000443f, 0.000560f, 0.001141f, -0.000506f, 0.000510f, -0.001301f, 0.002347f, -0.000487f, -0.000658f, 0.000408f, -0.001931f, 0.000180f, -0.000240f, -0.001278f, 0.000570f, -0.001468f, 0.001239f, -0.001603f, 0.000209f, -0.002269f, -0.000913f} - }, - { - {-0.002272f, -0.006795f, -0.011257f, -0.015617f, -0.019835f, -0.023870f, -0.027681f, -0.031227f, -0.034468f, -0.037367f, -0.039885f, -0.041987f, -0.043643f, -0.044825f, -0.045510f, -0.045682f, -0.045329f, -0.044450f, -0.043050f, -0.041143f, -0.038752f, -0.035909f, -0.032657f, -0.029046f, -0.025134f, -0.020989f, -0.016682f, -0.012291f, -0.007898f, -0.003585f, 0.000565f, 0.004471f, 0.008056f, 0.011249f, 0.013987f, 0.016216f, 0.017893f, 0.018988f, 0.019483f, 0.019374f, 0.018672f, 0.017402f, 0.015600f, 0.013318f, 0.010618f, 0.007572f, 0.004259f, 0.000766f, -0.002818f, -0.006400f, -0.009890f, -0.013202f, -0.016252f, -0.018968f, -0.021285f, -0.023149f, -0.024521f, -0.025372f, -0.025691f, -0.025479f, -0.024751f, -0.023537f, -0.021877f, -0.019824f, -0.017440f, -0.014795f, -0.011964f, -0.009025f, -0.006057f, -0.003140f, -0.000347f, 0.002250f, 0.004591f, 0.006621f, 0.008296f, 0.009584f, 0.010463f, 0.010925f, 0.010971f, 0.010616f, 0.009883f, 0.008806f, 0.007428f, 0.005795f, 0.003963f, 0.001987f, -0.000073f, -0.002162f, -0.004221f, -0.006199f, -0.008049f, -0.009728f, -0.011202f, -0.012444f, -0.013434f, -0.014163f, - -0.014628f, -0.014832f, -0.014789f, -0.014516f, -0.014036f, -0.013377f, -0.012571f, -0.011648f, -0.010644f, -0.009589f, -0.008516f, -0.007453f, -0.006427f, -0.005458f, -0.004566f, -0.003762f, -0.003057f, -0.002455f, -0.001955f, -0.001554f, -0.001247f, -0.001022f, -0.000870f, -0.000777f, -0.000731f, -0.000719f, -0.000729f, -0.000749f, -0.000770f, -0.000785f, -0.000788f, -0.000777f, -0.000751f, -0.000710f, -0.000659f, -0.000600f, -0.000539f, -0.000482f, -0.000436f, -0.000405f, -0.000395f, -0.000409f, -0.000449f, -0.000517f, -0.000610f, -0.000725f, -0.000858f, -0.001002f, -0.001149f, -0.001288f, -0.001412f, -0.001508f, -0.001568f, -0.001582f, -0.001542f, -0.001441f, -0.001274f, -0.001038f, -0.000734f, -0.000365f, 0.000066f, 0.000550f, 0.001078f, 0.001638f, 0.002216f, 0.002797f, 0.003367f, 0.003909f, 0.004408f, 0.004850f, 0.005222f, 0.005512f, 0.005712f, 0.005815f, 0.005818f, 0.005721f, 0.005526f, 0.005238f, 0.004865f, 0.004419f, 0.003912f, 0.003358f, 0.002773f, 0.002172f, 0.001572f, 0.000989f, 0.000436f, -0.000072f, -0.000525f, -0.000914f, -0.001232f, -0.001476f, -0.001643f, -0.001736f, -0.001759f, -0.001718f, - -0.001620f, -0.001476f, -0.001297f, -0.001095f, -0.000880f, -0.000665f, -0.000460f, -0.000275f, -0.000118f, 0.000004f, 0.000088f, 0.000129f, 0.000129f, 0.000089f, 0.000012f, -0.000096f, -0.000228f, -0.000378f, -0.000536f, -0.000694f, -0.000843f, -0.000975f, -0.001084f, -0.001163f, -0.001208f, -0.001215f, -0.001183f, -0.001114f, -0.001009f, -0.000872f, -0.000709f, -0.000526f, -0.000331f, -0.000131f, 0.000065f, 0.000250f, 0.000415f, 0.000555f, 0.000663f, 0.000736f, 0.000771f, 0.000767f, 0.000725f, 0.000648f, 0.000540f, 0.000405f, 0.000251f, 0.000085f, -0.059789f, -0.102829f, -0.092753f, 0.169252f, 0.093765f, -0.110248f, -0.095322f, 0.009461f, 0.074713f, 0.221773f, 0.387343f, 0.304712f, -0.048022f, 0.160610f, -0.081762f, -0.113382f, -0.081985f, 0.078842f, 0.099060f, 0.161641f, 0.146515f, 0.134489f, -0.053092f, -0.199125f, -0.154658f, 0.111864f, 0.191718f, 0.134431f, -0.053547f, -0.160212f, -0.247981f, -0.088622f, 0.085153f, 0.222292f, 0.162242f, -0.013458f, -0.238175f, -0.220659f, -0.130588f, 0.083230f, -0.006207f, -0.064393f, 0.177034f, 0.211256f, 0.150919f, -0.065328f, -0.180990f, -0.183912f, - -0.016825f, 0.198157f, 0.309640f, 0.155162f, -0.070330f, -0.296548f, -0.324287f, -0.090291f, 0.289213f, 0.471930f, 0.310026f, -0.111317f, -0.473323f, -0.533542f, -0.208394f, 0.244730f, 0.540629f, 0.312600f, -0.147136f, -0.472310f, -0.372218f, 0.003398f, 0.387393f, 0.428112f, 0.198046f, -0.184664f, -0.399299f, -0.269342f, 0.015118f, 0.323212f, 0.361407f, 0.070727f, -0.185849f, -0.326405f, -0.211415f, 0.043730f, 0.263641f, 0.263832f, 0.112385f, -0.133428f, -0.218343f, -0.175736f, -0.025087f, 0.111237f, 0.154633f, 0.126215f, 0.065378f, -0.077963f, -0.105330f, -0.075156f, 0.037828f, 0.184245f, 0.203843f, 0.017538f, -0.180532f, -0.306739f, -0.183135f, 0.120400f, 0.329952f, 0.313537f, 0.081923f, -0.191752f, -0.341449f, -0.208336f, 0.036696f, 0.273900f, 0.269394f, 0.080001f, -0.140039f, -0.256785f, -0.187831f, -0.003402f, 0.168854f, 0.171834f, 0.130938f, -0.020893f, -0.112005f, -0.126611f, -0.078294f, -0.032492f, 0.036975f, 0.085114f, 0.097007f, 0.040828f, -0.017462f, -0.082045f, -0.077678f, -0.040142f, 0.042448f, 0.078425f, 0.102311f, 0.029889f, -0.039703f, -0.081530f, -0.060571f, -0.006374f, - 0.047472f, 0.063504f, 0.059607f, -0.017375f, -0.048996f, -0.050657f, -0.024905f, 0.023163f, 0.046934f, 0.038970f, -0.010564f, -0.045341f, -0.037140f, -0.022486f, 0.030092f, 0.047710f, 0.024071f, -0.021430f, -0.024707f, -0.047456f, -0.005417f, 0.018754f, 0.040895f, 0.026417f, -0.007848f, -0.034097f, -0.027195f, 0.003021f, 0.035275f, 0.019933f, -0.011997f, -0.023716f, -0.011194f, 0.030116f, 0.027922f, 0.075121f, 0.083562f, -0.036478f, -0.111375f, -0.108350f, 0.022050f, 0.120270f, 0.118130f, -0.027445f, -0.135747f, -0.117002f, 0.042730f, 0.142848f, 0.094614f, -0.070999f, -0.137432f, -0.050371f, 0.099772f, 0.104817f, -0.015100f, -0.110045f, -0.026105f, 0.072741f, 0.032957f, -0.043118f, -0.006230f, 0.008846f, 0.005076f, -0.004781f, 0.004484f, -0.003187f, 0.004079f, -0.004361f, 0.001958f, -0.004392f, 0.004279f, -0.003276f, 0.003650f, -0.002566f, 0.002882f, -0.003588f, 0.002789f, -0.003288f, 0.005494f, -0.001615f, 0.004485f, -0.003597f, 0.003197f, -0.003885f, 0.002673f, -0.003492f, 0.003498f, -0.002798f, 0.003864f, -0.003417f, 0.003344f, -0.003215f, 0.002718f, -0.004054f, 0.002212f, -0.003445f}, - {-0.002272f, -0.006795f, -0.011257f, -0.015617f, -0.019835f, -0.023870f, -0.027681f, -0.031227f, -0.034468f, -0.037367f, -0.039885f, -0.041987f, -0.043643f, -0.044825f, -0.045510f, -0.045682f, -0.045329f, -0.044450f, -0.043050f, -0.041143f, -0.038752f, -0.035909f, -0.032657f, -0.029046f, -0.025134f, -0.020989f, -0.016682f, -0.012291f, -0.007898f, -0.003585f, 0.000565f, 0.004471f, 0.008056f, 0.011249f, 0.013987f, 0.016216f, 0.017893f, 0.018988f, 0.019483f, 0.019374f, 0.018672f, 0.017402f, 0.015600f, 0.013318f, 0.010618f, 0.007572f, 0.004259f, 0.000766f, -0.002818f, -0.006400f, -0.009890f, -0.013202f, -0.016252f, -0.018968f, -0.021285f, -0.023149f, -0.024521f, -0.025372f, -0.025691f, -0.025479f, -0.024751f, -0.023537f, -0.021877f, -0.019824f, -0.017440f, -0.014795f, -0.011964f, -0.009025f, -0.006057f, -0.003140f, -0.000347f, 0.002250f, 0.004591f, 0.006621f, 0.008296f, 0.009584f, 0.010463f, 0.010925f, 0.010971f, 0.010616f, 0.009883f, 0.008806f, 0.007428f, 0.005795f, 0.003963f, 0.001987f, -0.000073f, -0.002162f, -0.004221f, -0.006199f, -0.008049f, -0.009728f, -0.011202f, -0.012444f, -0.013434f, -0.014163f, - -0.014628f, -0.014832f, -0.014789f, -0.014516f, -0.014036f, -0.013377f, -0.012571f, -0.011648f, -0.010644f, -0.009589f, -0.008516f, -0.007453f, -0.006427f, -0.005458f, -0.004566f, -0.003762f, -0.003057f, -0.002455f, -0.001955f, -0.001554f, -0.001247f, -0.001022f, -0.000870f, -0.000777f, -0.000731f, -0.000719f, -0.000729f, -0.000749f, -0.000770f, -0.000785f, -0.000788f, -0.000777f, -0.000751f, -0.000710f, -0.000659f, -0.000600f, -0.000539f, -0.000482f, -0.000436f, -0.000405f, -0.000395f, -0.000409f, -0.000449f, -0.000517f, -0.000610f, -0.000725f, -0.000858f, -0.001002f, -0.001149f, -0.001288f, -0.001412f, -0.001508f, -0.001568f, -0.001582f, -0.001542f, -0.001441f, -0.001274f, -0.001038f, -0.000734f, -0.000365f, 0.000066f, 0.000550f, 0.001078f, 0.001638f, 0.002216f, 0.002797f, 0.003367f, 0.003909f, 0.004408f, 0.004850f, 0.005222f, 0.005512f, 0.005712f, 0.005815f, 0.005818f, 0.005721f, 0.005526f, 0.005238f, 0.004865f, 0.004419f, 0.003912f, 0.003358f, 0.002773f, 0.002172f, 0.001572f, 0.000989f, 0.000436f, -0.000072f, -0.000525f, -0.000914f, -0.001232f, -0.001476f, -0.001643f, -0.001736f, -0.001759f, -0.001718f, - -0.001620f, -0.001476f, -0.001297f, -0.001095f, -0.000880f, -0.000665f, -0.000460f, -0.000275f, -0.000118f, 0.000004f, 0.000088f, 0.000129f, 0.000129f, 0.000089f, 0.000012f, -0.000096f, -0.000228f, -0.000378f, -0.000536f, -0.000694f, -0.000843f, -0.000975f, -0.001084f, -0.001163f, -0.001208f, -0.001215f, -0.001183f, -0.001114f, -0.001009f, -0.000872f, -0.000709f, -0.000526f, -0.000331f, -0.000131f, 0.000065f, 0.000250f, 0.000415f, 0.000555f, 0.000663f, 0.000736f, 0.000771f, 0.000767f, 0.000725f, 0.000648f, 0.000540f, 0.000405f, 0.000251f, 0.000085f, -0.059789f, -0.102829f, -0.092753f, 0.169252f, 0.093765f, -0.110248f, -0.095322f, 0.009461f, 0.074713f, 0.221773f, 0.387343f, 0.304712f, -0.048022f, 0.160610f, -0.081762f, -0.113382f, -0.081985f, 0.078842f, 0.099060f, 0.161641f, 0.146515f, 0.134489f, -0.053092f, -0.199125f, -0.154658f, 0.111864f, 0.191718f, 0.134431f, -0.053547f, -0.160212f, -0.247981f, -0.088622f, 0.085153f, 0.222292f, 0.162242f, -0.013458f, -0.238175f, -0.220659f, -0.130588f, 0.083230f, -0.006207f, -0.064393f, 0.177034f, 0.211256f, 0.150919f, -0.065328f, -0.180990f, -0.183912f, - -0.016825f, 0.198157f, 0.309640f, 0.155162f, -0.070330f, -0.296548f, -0.324287f, -0.090291f, 0.289213f, 0.471930f, 0.310026f, -0.111317f, -0.473323f, -0.533542f, -0.208394f, 0.244730f, 0.540629f, 0.312600f, -0.147136f, -0.472310f, -0.372218f, 0.003398f, 0.387393f, 0.428112f, 0.198046f, -0.184664f, -0.399299f, -0.269342f, 0.015118f, 0.323212f, 0.361407f, 0.070727f, -0.185849f, -0.326405f, -0.211415f, 0.043730f, 0.263641f, 0.263832f, 0.112385f, -0.133428f, -0.218343f, -0.175736f, -0.025087f, 0.111237f, 0.154633f, 0.126215f, 0.065378f, -0.077963f, -0.105330f, -0.075156f, 0.037828f, 0.184245f, 0.203843f, 0.017538f, -0.180532f, -0.306739f, -0.183135f, 0.120400f, 0.329952f, 0.313537f, 0.081923f, -0.191752f, -0.341449f, -0.208336f, 0.036696f, 0.273900f, 0.269394f, 0.080001f, -0.140039f, -0.256785f, -0.187831f, -0.003402f, 0.168854f, 0.171834f, 0.130938f, -0.020893f, -0.112005f, -0.126611f, -0.078294f, -0.032492f, 0.036975f, 0.085114f, 0.097007f, 0.040828f, -0.017462f, -0.082045f, -0.077678f, -0.040142f, 0.042448f, 0.078425f, 0.102311f, 0.029889f, -0.039703f, -0.081530f, -0.060571f, -0.006374f, - 0.047472f, 0.063504f, 0.059607f, -0.017375f, -0.048996f, -0.050657f, -0.024905f, 0.023163f, 0.046934f, 0.038970f, -0.010564f, -0.045341f, -0.037140f, -0.022486f, 0.030092f, 0.047710f, 0.024071f, -0.021430f, -0.024707f, -0.047456f, -0.005417f, 0.018754f, 0.040895f, 0.026417f, -0.007848f, -0.034097f, -0.027195f, 0.003021f, 0.035275f, 0.019933f, -0.011997f, -0.023716f, -0.011194f, 0.030116f, 0.027922f, 0.075121f, 0.083562f, -0.036478f, -0.111375f, -0.108350f, 0.022050f, 0.120270f, 0.118130f, -0.027445f, -0.135747f, -0.117002f, 0.042730f, 0.142848f, 0.094614f, -0.070999f, -0.137432f, -0.050371f, 0.099772f, 0.104817f, -0.015100f, -0.110045f, -0.026105f, 0.072741f, 0.032957f, -0.043118f, -0.006230f, 0.008846f, 0.005076f, -0.004781f, 0.004484f, -0.003187f, 0.004079f, -0.004361f, 0.001958f, -0.004392f, 0.004279f, -0.003276f, 0.003650f, -0.002566f, 0.002882f, -0.003588f, 0.002789f, -0.003288f, 0.005494f, -0.001615f, 0.004485f, -0.003597f, 0.003197f, -0.003885f, 0.002673f, -0.003492f, 0.003498f, -0.002798f, 0.003864f, -0.003417f, 0.003344f, -0.003215f, 0.002718f, -0.004054f, 0.002212f, -0.003445f} - }, - { - {-0.002789f, -0.008307f, -0.013643f, -0.018683f, -0.023322f, -0.027463f, -0.031025f, -0.033946f, -0.036178f, -0.037694f, -0.038488f, -0.038572f, -0.037978f, -0.036756f, -0.034972f, -0.032707f, -0.030052f, -0.027107f, -0.023977f, -0.020770f, -0.017592f, -0.014544f, -0.011719f, -0.009201f, -0.007061f, -0.005352f, -0.004116f, -0.003373f, -0.003127f, -0.003367f, -0.004062f, -0.005167f, -0.006623f, -0.008359f, -0.010298f, -0.012354f, -0.014437f, -0.016461f, -0.018337f, -0.019988f, -0.021340f, -0.022333f, -0.022918f, -0.023060f, -0.022740f, -0.021955f, -0.020718f, -0.019054f, -0.017008f, -0.014632f, -0.011993f, -0.009166f, -0.006230f, -0.003272f, -0.000376f, 0.002375f, 0.004901f, 0.007130f, 0.008999f, 0.010457f, 0.011466f, 0.012000f, 0.012051f, 0.011622f, 0.010733f, 0.009419f, 0.007726f, 0.005712f, 0.003444f, 0.000997f, -0.001550f, -0.004114f, -0.006615f, -0.008973f, -0.011113f, -0.012969f, -0.014483f, -0.015610f, -0.016313f, -0.016573f, -0.016380f, -0.015743f, -0.014678f, -0.013220f, -0.011411f, -0.009304f, -0.006962f, -0.004452f, -0.001847f, 0.000778f, 0.003351f, 0.005800f, 0.008057f, 0.010062f, 0.011763f, 0.013118f, - 0.014095f, 0.014673f, 0.014843f, 0.014609f, 0.013987f, 0.013001f, 0.011687f, 0.010091f, 0.008264f, 0.006264f, 0.004152f, 0.001991f, -0.000154f, -0.002222f, -0.004154f, -0.005897f, -0.007404f, -0.008635f, -0.009559f, -0.010155f, -0.010410f, -0.010323f, -0.009900f, -0.009158f, -0.008122f, -0.006824f, -0.005303f, -0.003604f, -0.001774f, 0.000137f, 0.002076f, 0.003992f, 0.005837f, 0.007562f, 0.009127f, 0.010494f, 0.011632f, 0.012516f, 0.013128f, 0.013459f, 0.013506f, 0.013272f, 0.012769f, 0.012014f, 0.011030f, 0.009846f, 0.008492f, 0.007005f, 0.005422f, 0.003780f, 0.002118f, 0.000474f, -0.001116f, -0.002619f, -0.004005f, -0.005246f, -0.006321f, -0.007211f, -0.007906f, -0.008396f, -0.008678f, -0.008756f, -0.008634f, -0.008326f, -0.007844f, -0.007207f, -0.006436f, -0.005554f, -0.004585f, -0.003556f, -0.002492f, -0.001419f, -0.000362f, 0.000657f, 0.001614f, 0.002490f, 0.003269f, 0.003937f, 0.004482f, 0.004898f, 0.005180f, 0.005327f, 0.005341f, 0.005228f, 0.004995f, 0.004654f, 0.004217f, 0.003699f, 0.003116f, 0.002486f, 0.001826f, 0.001153f, 0.000487f, -0.000158f, -0.000764f, -0.001317f, - -0.001807f, -0.002221f, -0.002553f, -0.002796f, -0.002948f, -0.003009f, -0.002981f, -0.002868f, -0.002678f, -0.002419f, -0.002101f, -0.001738f, -0.001341f, -0.000924f, -0.000501f, -0.000085f, 0.000310f, 0.000672f, 0.000991f, 0.001258f, 0.001466f, 0.001608f, 0.001683f, 0.001690f, 0.001630f, 0.001506f, 0.001325f, 0.001094f, 0.000823f, 0.000520f, 0.000198f, -0.000132f, -0.000458f, -0.000769f, -0.001053f, -0.001301f, -0.001504f, -0.001654f, -0.001748f, -0.001781f, -0.001753f, -0.001665f, -0.001519f, -0.001321f, -0.001078f, -0.000798f, -0.000490f, -0.000165f, 0.017176f, -0.095187f, -0.084606f, -0.066811f, 0.125559f, -0.055178f, -0.043647f, -0.055244f, 0.072692f, -0.100566f, 0.144466f, 0.115529f, -0.073006f, 0.428083f, 0.536602f, 0.361472f, -0.187950f, -0.504191f, -0.536616f, -0.209228f, 0.324262f, 0.717470f, 0.478981f, -0.076945f, -0.630505f, -0.733172f, -0.375303f, 0.361746f, 0.851780f, 0.698445f, 0.037438f, -0.675581f, -0.833947f, -0.418577f, 0.332675f, 0.737928f, 0.682865f, 0.031743f, -0.473913f, -0.676649f, -0.117154f, 0.532501f, 0.479968f, 0.217465f, -0.301848f, -0.549401f, -0.506875f, -0.111072f, - 0.270243f, 0.498796f, 0.300719f, -0.032138f, -0.355314f, -0.392730f, -0.221885f, 0.107243f, 0.283997f, 0.295613f, 0.107448f, -0.126633f, -0.290794f, -0.236983f, -0.062118f, 0.192882f, 0.217201f, 0.246534f, 0.077800f, -0.182329f, -0.291132f, -0.187252f, 0.073341f, 0.190753f, 0.164380f, -0.004872f, -0.127444f, -0.163991f, -0.015512f, 0.092454f, 0.131975f, 0.055603f, -0.096848f, -0.186120f, -0.110515f, 0.053529f, 0.167286f, 0.194905f, 0.025435f, -0.166737f, -0.232992f, -0.166609f, 0.041217f, 0.101374f, 0.059077f, -0.013888f, -0.098945f, -0.070482f, -0.025854f, -0.002388f, -0.004873f, -0.144900f, -0.143526f, -0.024917f, 0.174840f, 0.253184f, 0.159423f, -0.101731f, -0.281333f, -0.266236f, -0.020673f, 0.276208f, 0.361017f, 0.143252f, -0.173068f, -0.399336f, -0.321599f, -0.051770f, 0.281296f, 0.447241f, 0.242085f, -0.149283f, -0.440122f, -0.363316f, -0.037746f, 0.303052f, 0.419547f, 0.243804f, -0.087344f, -0.340480f, -0.342191f, -0.114542f, 0.211909f, 0.363800f, 0.284290f, -0.029414f, -0.291687f, -0.360590f, -0.187496f, 0.133136f, 0.356109f, 0.307411f, 0.052787f, -0.239933f, -0.364350f, -0.224866f, - 0.017593f, 0.263960f, 0.324224f, 0.167012f, -0.114450f, -0.267339f, -0.247516f, -0.036651f, 0.195931f, 0.291766f, 0.198195f, -0.068327f, -0.278376f, -0.265980f, -0.093008f, 0.159531f, 0.300914f, 0.205936f, -0.054356f, -0.225104f, -0.255082f, -0.090307f, 0.125451f, 0.237868f, 0.175738f, -0.017821f, -0.216213f, -0.228798f, -0.061587f, 0.173951f, 0.277154f, 0.171367f, -0.077741f, -0.239995f, -0.256539f, 0.042831f, 0.319227f, 0.274893f, -0.000013f, -0.298031f, -0.323092f, -0.070354f, 0.245828f, 0.321677f, 0.100790f, -0.219246f, -0.313970f, -0.105338f, 0.193433f, 0.273140f, 0.068388f, -0.193449f, -0.221340f, -0.006955f, 0.190425f, 0.125486f, -0.090515f, -0.132627f, 0.025865f, 0.066881f, -0.010202f, -0.019306f, 0.001199f, -0.000057f, -0.000712f, -0.001216f, 0.000966f, -0.003512f, -0.000585f, -0.000861f, -0.000802f, -0.001826f, 0.000550f, -0.000723f, 0.000118f, -0.001682f, 0.000548f, -0.000821f, -0.000305f, -0.002193f, 0.000435f, 0.000823f, 0.001605f, -0.000919f, -0.000456f, -0.001958f, -0.000591f, -0.001151f, -0.002830f, 0.001704f, 0.003810f, 0.000403f, -0.000276f, -0.001902f, 0.000440f, -0.000242f}, - {-0.002789f, -0.008307f, -0.013643f, -0.018683f, -0.023322f, -0.027463f, -0.031025f, -0.033946f, -0.036178f, -0.037694f, -0.038488f, -0.038572f, -0.037978f, -0.036756f, -0.034972f, -0.032707f, -0.030052f, -0.027107f, -0.023977f, -0.020770f, -0.017592f, -0.014544f, -0.011719f, -0.009201f, -0.007061f, -0.005352f, -0.004116f, -0.003373f, -0.003127f, -0.003367f, -0.004062f, -0.005167f, -0.006623f, -0.008359f, -0.010298f, -0.012354f, -0.014437f, -0.016461f, -0.018337f, -0.019988f, -0.021340f, -0.022333f, -0.022918f, -0.023060f, -0.022740f, -0.021955f, -0.020718f, -0.019054f, -0.017008f, -0.014632f, -0.011993f, -0.009166f, -0.006230f, -0.003272f, -0.000376f, 0.002375f, 0.004901f, 0.007130f, 0.008999f, 0.010457f, 0.011466f, 0.012000f, 0.012051f, 0.011622f, 0.010733f, 0.009419f, 0.007726f, 0.005712f, 0.003444f, 0.000997f, -0.001550f, -0.004114f, -0.006615f, -0.008973f, -0.011113f, -0.012969f, -0.014483f, -0.015610f, -0.016313f, -0.016573f, -0.016380f, -0.015743f, -0.014678f, -0.013220f, -0.011411f, -0.009304f, -0.006962f, -0.004452f, -0.001847f, 0.000778f, 0.003351f, 0.005800f, 0.008057f, 0.010062f, 0.011763f, 0.013118f, - 0.014095f, 0.014673f, 0.014843f, 0.014609f, 0.013987f, 0.013001f, 0.011687f, 0.010091f, 0.008264f, 0.006264f, 0.004152f, 0.001991f, -0.000154f, -0.002222f, -0.004154f, -0.005897f, -0.007404f, -0.008635f, -0.009559f, -0.010155f, -0.010410f, -0.010323f, -0.009900f, -0.009158f, -0.008122f, -0.006824f, -0.005303f, -0.003604f, -0.001774f, 0.000137f, 0.002076f, 0.003992f, 0.005837f, 0.007562f, 0.009127f, 0.010494f, 0.011632f, 0.012516f, 0.013128f, 0.013459f, 0.013506f, 0.013272f, 0.012769f, 0.012014f, 0.011030f, 0.009846f, 0.008492f, 0.007005f, 0.005422f, 0.003780f, 0.002118f, 0.000474f, -0.001116f, -0.002619f, -0.004005f, -0.005246f, -0.006321f, -0.007211f, -0.007906f, -0.008396f, -0.008678f, -0.008756f, -0.008634f, -0.008326f, -0.007844f, -0.007207f, -0.006436f, -0.005554f, -0.004585f, -0.003556f, -0.002492f, -0.001419f, -0.000362f, 0.000657f, 0.001614f, 0.002490f, 0.003269f, 0.003937f, 0.004482f, 0.004898f, 0.005180f, 0.005327f, 0.005341f, 0.005228f, 0.004995f, 0.004654f, 0.004217f, 0.003699f, 0.003116f, 0.002486f, 0.001826f, 0.001153f, 0.000487f, -0.000158f, -0.000764f, -0.001317f, - -0.001807f, -0.002221f, -0.002553f, -0.002796f, -0.002948f, -0.003009f, -0.002981f, -0.002868f, -0.002678f, -0.002419f, -0.002101f, -0.001738f, -0.001341f, -0.000924f, -0.000501f, -0.000085f, 0.000310f, 0.000672f, 0.000991f, 0.001258f, 0.001466f, 0.001608f, 0.001683f, 0.001690f, 0.001630f, 0.001506f, 0.001325f, 0.001094f, 0.000823f, 0.000520f, 0.000198f, -0.000132f, -0.000458f, -0.000769f, -0.001053f, -0.001301f, -0.001504f, -0.001654f, -0.001748f, -0.001781f, -0.001753f, -0.001665f, -0.001519f, -0.001321f, -0.001078f, -0.000798f, -0.000490f, -0.000165f, 0.017176f, -0.095187f, -0.084606f, -0.066811f, 0.125559f, -0.055178f, -0.043647f, -0.055244f, 0.072692f, -0.100566f, 0.144466f, 0.115529f, -0.073006f, 0.428083f, 0.536602f, 0.361472f, -0.187950f, -0.504191f, -0.536616f, -0.209228f, 0.324262f, 0.717470f, 0.478981f, -0.076945f, -0.630505f, -0.733172f, -0.375303f, 0.361746f, 0.851780f, 0.698445f, 0.037438f, -0.675581f, -0.833947f, -0.418577f, 0.332675f, 0.737928f, 0.682865f, 0.031743f, -0.473913f, -0.676649f, -0.117154f, 0.532501f, 0.479968f, 0.217465f, -0.301848f, -0.549401f, -0.506875f, -0.111072f, - 0.270243f, 0.498796f, 0.300719f, -0.032138f, -0.355314f, -0.392730f, -0.221885f, 0.107243f, 0.283997f, 0.295613f, 0.107448f, -0.126633f, -0.290794f, -0.236983f, -0.062118f, 0.192882f, 0.217201f, 0.246534f, 0.077800f, -0.182329f, -0.291132f, -0.187252f, 0.073341f, 0.190753f, 0.164380f, -0.004872f, -0.127444f, -0.163991f, -0.015512f, 0.092454f, 0.131975f, 0.055603f, -0.096848f, -0.186120f, -0.110515f, 0.053529f, 0.167286f, 0.194905f, 0.025435f, -0.166737f, -0.232992f, -0.166609f, 0.041217f, 0.101374f, 0.059077f, -0.013888f, -0.098945f, -0.070482f, -0.025854f, -0.002388f, -0.004873f, -0.144900f, -0.143526f, -0.024917f, 0.174840f, 0.253184f, 0.159423f, -0.101731f, -0.281333f, -0.266236f, -0.020673f, 0.276208f, 0.361017f, 0.143252f, -0.173068f, -0.399336f, -0.321599f, -0.051770f, 0.281296f, 0.447241f, 0.242085f, -0.149283f, -0.440122f, -0.363316f, -0.037746f, 0.303052f, 0.419547f, 0.243804f, -0.087344f, -0.340480f, -0.342191f, -0.114542f, 0.211909f, 0.363800f, 0.284290f, -0.029414f, -0.291687f, -0.360590f, -0.187496f, 0.133136f, 0.356109f, 0.307411f, 0.052787f, -0.239933f, -0.364350f, -0.224866f, - 0.017593f, 0.263960f, 0.324224f, 0.167012f, -0.114450f, -0.267339f, -0.247516f, -0.036651f, 0.195931f, 0.291766f, 0.198195f, -0.068327f, -0.278376f, -0.265980f, -0.093008f, 0.159531f, 0.300914f, 0.205936f, -0.054356f, -0.225104f, -0.255082f, -0.090307f, 0.125451f, 0.237868f, 0.175738f, -0.017821f, -0.216213f, -0.228798f, -0.061587f, 0.173951f, 0.277154f, 0.171367f, -0.077741f, -0.239995f, -0.256539f, 0.042831f, 0.319227f, 0.274893f, -0.000013f, -0.298031f, -0.323092f, -0.070354f, 0.245828f, 0.321677f, 0.100790f, -0.219246f, -0.313970f, -0.105338f, 0.193433f, 0.273140f, 0.068388f, -0.193449f, -0.221340f, -0.006955f, 0.190425f, 0.125486f, -0.090515f, -0.132627f, 0.025865f, 0.066881f, -0.010202f, -0.019306f, 0.001199f, -0.000057f, -0.000712f, -0.001216f, 0.000966f, -0.003512f, -0.000585f, -0.000861f, -0.000802f, -0.001826f, 0.000550f, -0.000723f, 0.000118f, -0.001682f, 0.000548f, -0.000821f, -0.000305f, -0.002193f, 0.000435f, 0.000823f, 0.001605f, -0.000919f, -0.000456f, -0.001958f, -0.000591f, -0.001151f, -0.002830f, 0.001704f, 0.003810f, 0.000403f, -0.000276f, -0.001902f, 0.000440f, -0.000242f} - }, - { - {-0.001398f, -0.004182f, -0.006929f, -0.009613f, -0.012210f, -0.014694f, -0.017042f, -0.019228f, -0.021231f, -0.023026f, -0.024594f, -0.025915f, -0.026973f, -0.027753f, -0.028247f, -0.028448f, -0.028355f, -0.027972f, -0.027307f, -0.026377f, -0.025200f, -0.023805f, -0.022221f, -0.020487f, -0.018643f, -0.016735f, -0.014809f, -0.012916f, -0.011104f, -0.009424f, -0.007923f, -0.006643f, -0.005625f, -0.004901f, -0.004498f, -0.004433f, -0.004717f, -0.005350f, -0.006323f, -0.007618f, -0.009207f, -0.011054f, -0.013115f, -0.015340f, -0.017673f, -0.020053f, -0.022418f, -0.024705f, -0.026852f, -0.028801f, -0.030496f, -0.031889f, -0.032939f, -0.033615f, -0.033894f, -0.033763f, -0.033221f, -0.032277f, -0.030951f, -0.029271f, -0.027277f, -0.025014f, -0.022533f, -0.019893f, -0.017153f, -0.014374f, -0.011616f, -0.008939f, -0.006395f, -0.004034f, -0.001897f, -0.000018f, 0.001578f, 0.002877f, 0.003871f, 0.004566f, 0.004972f, 0.005112f, 0.005014f, 0.004712f, 0.004245f, 0.003655f, 0.002988f, 0.002286f, 0.001593f, 0.000947f, 0.000384f, -0.000067f, -0.000383f, -0.000548f, -0.000555f, -0.000403f, -0.000100f, 0.000340f, 0.000896f, 0.001542f, - 0.002248f, 0.002979f, 0.003701f, 0.004380f, 0.004981f, 0.005473f, 0.005830f, 0.006030f, 0.006058f, 0.005906f, 0.005571f, 0.005060f, 0.004387f, 0.003572f, 0.002642f, 0.001628f, 0.000567f, -0.000503f, -0.001539f, -0.002501f, -0.003351f, -0.004051f, -0.004568f, -0.004877f, -0.004957f, -0.004794f, -0.004384f, -0.003731f, -0.002845f, -0.001746f, -0.000463f, 0.000972f, 0.002517f, 0.004130f, 0.005761f, 0.007363f, 0.008885f, 0.010280f, 0.011503f, 0.012513f, 0.013275f, 0.013762f, 0.013953f, 0.013836f, 0.013408f, 0.012675f, 0.011652f, 0.010360f, 0.008831f, 0.007102f, 0.005214f, 0.003214f, 0.001153f, -0.000919f, -0.002950f, -0.004893f, -0.006699f, -0.008327f, -0.009741f, -0.010910f, -0.011810f, -0.012426f, -0.012750f, -0.012782f, -0.012530f, -0.012007f, -0.011237f, -0.010245f, -0.009064f, -0.007730f, -0.006280f, -0.004755f, -0.003194f, -0.001637f, -0.000119f, 0.001324f, 0.002663f, 0.003873f, 0.004931f, 0.005824f, 0.006540f, 0.007076f, 0.007431f, 0.007611f, 0.007626f, 0.007489f, 0.007217f, 0.006829f, 0.006346f, 0.005788f, 0.005178f, 0.004536f, 0.003883f, 0.003236f, 0.002612f, 0.002024f, - 0.001483f, 0.000998f, 0.000574f, 0.000214f, -0.000082f, -0.000314f, -0.000487f, -0.000605f, -0.000674f, -0.000702f, -0.000694f, -0.000659f, -0.000603f, -0.000532f, -0.000452f, -0.000367f, -0.000280f, -0.000196f, -0.000114f, -0.000037f, 0.000037f, 0.000107f, 0.000173f, 0.000238f, 0.000303f, 0.000367f, 0.000433f, 0.000499f, 0.000567f, 0.000636f, 0.000704f, 0.000769f, 0.000831f, 0.000886f, 0.000932f, 0.000966f, 0.000987f, 0.000992f, 0.000979f, 0.000947f, 0.000896f, 0.000825f, 0.000735f, 0.000628f, 0.000505f, 0.000370f, 0.000226f, 0.000076f, 0.009537f, -0.025098f, 0.002786f, -0.063195f, -0.011454f, -0.003229f, 0.064313f, 0.015733f, 0.011226f, 0.012941f, 0.058888f, 0.091003f, -0.032689f, 0.214915f, 0.315019f, 0.133084f, -0.086255f, -0.175700f, -0.329061f, 0.007385f, 0.076743f, 0.172848f, 0.129603f, -0.050093f, -0.147751f, -0.174632f, -0.016302f, 0.183859f, 0.275204f, 0.164708f, -0.046160f, -0.231085f, -0.305367f, -0.102624f, 0.318419f, 0.373301f, 0.151958f, -0.142073f, -0.327602f, -0.316282f, 0.056588f, 0.374551f, 0.289291f, 0.067277f, -0.238822f, -0.368754f, -0.260695f, -0.020030f, - 0.130222f, 0.304065f, 0.227394f, 0.048681f, -0.170527f, -0.268830f, -0.199083f, -0.018513f, 0.202927f, 0.204249f, 0.217268f, -0.177928f, -0.183146f, -0.198042f, -0.177634f, 0.058768f, 0.262191f, 0.200701f, -0.052419f, -0.252923f, -0.275988f, -0.049426f, 0.207429f, 0.273299f, 0.208886f, 0.013765f, -0.244023f, -0.286224f, -0.113709f, 0.172389f, 0.313132f, 0.124798f, -0.017737f, -0.298624f, -0.315803f, -0.087124f, 0.189075f, 0.280196f, 0.123507f, -0.110427f, -0.296829f, -0.222220f, -0.002989f, 0.148554f, 0.108602f, -0.027102f, -0.095315f, -0.032799f, 0.026530f, 0.041807f, 0.008194f, -0.121200f, -0.101256f, -0.003539f, 0.143894f, 0.201917f, 0.134308f, -0.044255f, -0.179498f, -0.196896f, -0.077737f, 0.144113f, 0.232885f, 0.232204f, 0.078859f, -0.184195f, -0.281655f, -0.102618f, 0.100404f, 0.234960f, 0.179685f, -0.069331f, -0.132755f, -0.230639f, -0.151544f, 0.074729f, 0.170532f, 0.204106f, 0.063404f, -0.088652f, -0.140248f, -0.063267f, 0.029244f, 0.099832f, 0.076021f, 0.020095f, -0.072666f, -0.081413f, -0.089380f, 0.004151f, 0.105303f, 0.104567f, 0.041334f, -0.033844f, -0.099053f, -0.068595f, - -0.043828f, 0.039783f, 0.086204f, 0.084819f, 0.014423f, -0.026491f, -0.038131f, 0.002549f, 0.027963f, 0.054907f, 0.060903f, 0.000251f, -0.073438f, -0.075337f, -0.024455f, 0.050430f, 0.132453f, 0.105391f, -0.027614f, -0.100381f, -0.131174f, -0.056092f, 0.032895f, 0.085088f, 0.063533f, 0.003182f, -0.071345f, -0.087193f, -0.040483f, 0.081616f, 0.100384f, 0.102589f, -0.046386f, -0.122259f, -0.163890f, -0.009890f, 0.324037f, 0.313620f, 0.065158f, -0.273810f, -0.351656f, -0.129786f, 0.227440f, 0.356748f, 0.161216f, -0.193691f, -0.342080f, -0.158923f, 0.181586f, 0.312851f, 0.119461f, -0.188232f, -0.260462f, -0.037299f, 0.204803f, 0.166662f, -0.082503f, -0.167438f, 0.019261f, 0.089158f, -0.004467f, -0.024844f, 0.000708f, 0.003341f, 0.001287f, 0.000897f, -0.000649f, -0.002509f, 0.000959f, -0.000583f, 0.001758f, 0.000265f, 0.001482f, -0.001572f, 0.000488f, 0.000974f, 0.000454f, -0.001844f, 0.000233f, -0.000726f, 0.000899f, -0.002310f, 0.000677f, 0.000363f, 0.001329f, 0.000209f, -0.002589f, -0.001986f, -0.000225f, -0.000729f, 0.002987f, -0.000728f, 0.001898f, -0.002967f, -0.000898f, -0.001951f}, - {0.001398f, 0.004182f, 0.006929f, 0.009613f, 0.012210f, 0.014694f, 0.017042f, 0.019228f, 0.021231f, 0.023026f, 0.024594f, 0.025915f, 0.026973f, 0.027753f, 0.028247f, 0.028448f, 0.028355f, 0.027972f, 0.027307f, 0.026377f, 0.025200f, 0.023805f, 0.022221f, 0.020487f, 0.018643f, 0.016735f, 0.014809f, 0.012916f, 0.011104f, 0.009424f, 0.007923f, 0.006643f, 0.005625f, 0.004901f, 0.004498f, 0.004433f, 0.004717f, 0.005350f, 0.006323f, 0.007618f, 0.009207f, 0.011054f, 0.013115f, 0.015340f, 0.017673f, 0.020053f, 0.022418f, 0.024705f, 0.026852f, 0.028801f, 0.030496f, 0.031889f, 0.032939f, 0.033615f, 0.033894f, 0.033763f, 0.033221f, 0.032277f, 0.030951f, 0.029271f, 0.027277f, 0.025014f, 0.022533f, 0.019893f, 0.017153f, 0.014374f, 0.011616f, 0.008939f, 0.006395f, 0.004034f, 0.001897f, 0.000018f, -0.001578f, -0.002877f, -0.003871f, -0.004566f, -0.004972f, -0.005112f, -0.005014f, -0.004712f, -0.004245f, -0.003655f, -0.002988f, -0.002286f, -0.001593f, -0.000947f, -0.000384f, 0.000067f, 0.000383f, 0.000548f, 0.000555f, 0.000403f, 0.000100f, -0.000340f, -0.000896f, -0.001542f, - -0.002248f, -0.002979f, -0.003701f, -0.004380f, -0.004981f, -0.005473f, -0.005830f, -0.006030f, -0.006058f, -0.005906f, -0.005571f, -0.005060f, -0.004387f, -0.003572f, -0.002642f, -0.001628f, -0.000567f, 0.000503f, 0.001539f, 0.002501f, 0.003351f, 0.004051f, 0.004568f, 0.004877f, 0.004957f, 0.004794f, 0.004384f, 0.003731f, 0.002845f, 0.001746f, 0.000463f, -0.000972f, -0.002517f, -0.004130f, -0.005761f, -0.007363f, -0.008885f, -0.010280f, -0.011503f, -0.012513f, -0.013275f, -0.013762f, -0.013953f, -0.013836f, -0.013408f, -0.012675f, -0.011652f, -0.010360f, -0.008831f, -0.007102f, -0.005214f, -0.003214f, -0.001153f, 0.000919f, 0.002950f, 0.004893f, 0.006699f, 0.008327f, 0.009741f, 0.010910f, 0.011810f, 0.012426f, 0.012750f, 0.012782f, 0.012530f, 0.012007f, 0.011237f, 0.010245f, 0.009064f, 0.007730f, 0.006280f, 0.004755f, 0.003194f, 0.001637f, 0.000119f, -0.001324f, -0.002663f, -0.003873f, -0.004931f, -0.005824f, -0.006540f, -0.007076f, -0.007431f, -0.007611f, -0.007626f, -0.007489f, -0.007217f, -0.006829f, -0.006346f, -0.005788f, -0.005178f, -0.004536f, -0.003883f, -0.003236f, -0.002612f, -0.002024f, - -0.001483f, -0.000998f, -0.000574f, -0.000214f, 0.000082f, 0.000314f, 0.000487f, 0.000605f, 0.000674f, 0.000702f, 0.000694f, 0.000659f, 0.000603f, 0.000532f, 0.000452f, 0.000367f, 0.000280f, 0.000196f, 0.000114f, 0.000037f, -0.000037f, -0.000107f, -0.000173f, -0.000238f, -0.000303f, -0.000367f, -0.000433f, -0.000499f, -0.000567f, -0.000636f, -0.000704f, -0.000769f, -0.000831f, -0.000886f, -0.000932f, -0.000966f, -0.000987f, -0.000992f, -0.000979f, -0.000947f, -0.000896f, -0.000825f, -0.000735f, -0.000628f, -0.000505f, -0.000370f, -0.000226f, -0.000076f, -0.009537f, 0.025098f, -0.002786f, 0.063195f, 0.011454f, 0.003229f, -0.064313f, -0.015733f, -0.011226f, -0.012941f, -0.058888f, -0.091003f, 0.032689f, -0.214915f, -0.315019f, -0.133084f, 0.086255f, 0.175700f, 0.329061f, -0.007385f, -0.076743f, -0.172848f, -0.129603f, 0.050093f, 0.147751f, 0.174632f, 0.016302f, -0.183859f, -0.275204f, -0.164708f, 0.046160f, 0.231085f, 0.305367f, 0.102624f, -0.318419f, -0.373301f, -0.151958f, 0.142073f, 0.327602f, 0.316282f, -0.056588f, -0.374551f, -0.289291f, -0.067277f, 0.238822f, 0.368754f, 0.260695f, 0.020030f, - -0.130222f, -0.304065f, -0.227394f, -0.048681f, 0.170527f, 0.268830f, 0.199083f, 0.018513f, -0.202927f, -0.204249f, -0.217268f, 0.177928f, 0.183146f, 0.198042f, 0.177634f, -0.058768f, -0.262191f, -0.200701f, 0.052419f, 0.252923f, 0.275988f, 0.049426f, -0.207429f, -0.273299f, -0.208886f, -0.013765f, 0.244023f, 0.286224f, 0.113709f, -0.172389f, -0.313132f, -0.124798f, 0.017737f, 0.298624f, 0.315803f, 0.087124f, -0.189075f, -0.280196f, -0.123507f, 0.110427f, 0.296829f, 0.222220f, 0.002989f, -0.148554f, -0.108602f, 0.027102f, 0.095315f, 0.032799f, -0.026530f, -0.041807f, -0.008194f, 0.121200f, 0.101256f, 0.003539f, -0.143894f, -0.201917f, -0.134308f, 0.044255f, 0.179498f, 0.196896f, 0.077737f, -0.144113f, -0.232885f, -0.232204f, -0.078859f, 0.184195f, 0.281655f, 0.102618f, -0.100404f, -0.234960f, -0.179685f, 0.069331f, 0.132755f, 0.230639f, 0.151544f, -0.074729f, -0.170532f, -0.204106f, -0.063404f, 0.088652f, 0.140248f, 0.063267f, -0.029244f, -0.099832f, -0.076021f, -0.020095f, 0.072666f, 0.081413f, 0.089380f, -0.004151f, -0.105303f, -0.104567f, -0.041334f, 0.033844f, 0.099053f, 0.068595f, - 0.043828f, -0.039783f, -0.086204f, -0.084819f, -0.014423f, 0.026491f, 0.038131f, -0.002549f, -0.027963f, -0.054907f, -0.060903f, -0.000251f, 0.073438f, 0.075337f, 0.024455f, -0.050430f, -0.132453f, -0.105391f, 0.027614f, 0.100381f, 0.131174f, 0.056092f, -0.032895f, -0.085088f, -0.063533f, -0.003182f, 0.071345f, 0.087193f, 0.040483f, -0.081616f, -0.100384f, -0.102589f, 0.046386f, 0.122259f, 0.163890f, 0.009890f, -0.324037f, -0.313620f, -0.065158f, 0.273810f, 0.351656f, 0.129786f, -0.227440f, -0.356748f, -0.161216f, 0.193691f, 0.342080f, 0.158923f, -0.181586f, -0.312851f, -0.119461f, 0.188232f, 0.260462f, 0.037299f, -0.204803f, -0.166662f, 0.082503f, 0.167438f, -0.019261f, -0.089158f, 0.004467f, 0.024844f, -0.000708f, -0.003341f, -0.001287f, -0.000897f, 0.000649f, 0.002509f, -0.000959f, 0.000583f, -0.001758f, -0.000265f, -0.001482f, 0.001572f, -0.000488f, -0.000974f, -0.000454f, 0.001844f, -0.000233f, 0.000726f, -0.000899f, 0.002310f, -0.000677f, -0.000363f, -0.001329f, -0.000209f, 0.002589f, 0.001986f, 0.000225f, 0.000729f, -0.002987f, 0.000728f, -0.001898f, 0.002967f, 0.000898f, 0.001951f} - }, - { - {-0.000465f, -0.001404f, -0.002369f, -0.003376f, -0.004436f, -0.005561f, -0.006755f, -0.008017f, -0.009344f, -0.010725f, -0.012145f, -0.013583f, -0.015015f, -0.016415f, -0.017751f, -0.018992f, -0.020108f, -0.021068f, -0.021845f, -0.022413f, -0.022755f, -0.022856f, -0.022709f, -0.022314f, -0.021677f, -0.020814f, -0.019744f, -0.018496f, -0.017103f, -0.015602f, -0.014037f, -0.012450f, -0.010886f, -0.009389f, -0.008001f, -0.006759f, -0.005696f, -0.004839f, -0.004207f, -0.003813f, -0.003660f, -0.003742f, -0.004047f, -0.004552f, -0.005231f, -0.006048f, -0.006964f, -0.007936f, -0.008918f, -0.009866f, -0.010735f, -0.011484f, -0.012075f, -0.012477f, -0.012666f, -0.012624f, -0.012343f, -0.011823f, -0.011072f, -0.010110f, -0.008959f, -0.007654f, -0.006231f, -0.004734f, -0.003209f, -0.001703f, -0.000262f, 0.001067f, 0.002243f, 0.003228f, 0.003993f, 0.004514f, 0.004775f, 0.004770f, 0.004501f, 0.003977f, 0.003219f, 0.002253f, 0.001113f, -0.000163f, -0.001532f, -0.002948f, -0.004365f, -0.005736f, -0.007019f, -0.008174f, -0.009165f, -0.009964f, -0.010550f, -0.010909f, -0.011035f, -0.010933f, -0.010612f, -0.010091f, -0.009396f, -0.008557f, - -0.007610f, -0.006595f, -0.005550f, -0.004518f, -0.003538f, -0.002646f, -0.001875f, -0.001254f, -0.000804f, -0.000539f, -0.000468f, -0.000591f, -0.000900f, -0.001382f, -0.002016f, -0.002776f, -0.003634f, -0.004554f, -0.005503f, -0.006443f, -0.007341f, -0.008162f, -0.008878f, -0.009463f, -0.009896f, -0.010164f, -0.010259f, -0.010179f, -0.009929f, -0.009520f, -0.008970f, -0.008299f, -0.007535f, -0.006704f, -0.005838f, -0.004967f, -0.004121f, -0.003328f, -0.002614f, -0.002000f, -0.001501f, -0.001130f, -0.000892f, -0.000788f, -0.000810f, -0.000948f, -0.001186f, -0.001503f, -0.001875f, -0.002277f, -0.002682f, -0.003063f, -0.003393f, -0.003648f, -0.003808f, -0.003856f, -0.003779f, -0.003570f, -0.003229f, -0.002759f, -0.002169f, -0.001474f, -0.000694f, 0.000148f, 0.001028f, 0.001916f, 0.002785f, 0.003605f, 0.004349f, 0.004992f, 0.005513f, 0.005894f, 0.006122f, 0.006190f, 0.006096f, 0.005843f, 0.005440f, 0.004902f, 0.004247f, 0.003499f, 0.002682f, 0.001824f, 0.000955f, 0.000103f, -0.000705f, -0.001443f, -0.002088f, -0.002622f, -0.003029f, -0.003302f, -0.003435f, -0.003429f, -0.003292f, -0.003032f, -0.002666f, -0.002213f, - -0.001695f, -0.001134f, -0.000556f, 0.000015f, 0.000554f, 0.001039f, 0.001452f, 0.001777f, 0.002000f, 0.002116f, 0.002120f, 0.002014f, 0.001806f, 0.001504f, 0.001123f, 0.000681f, 0.000196f, -0.000310f, -0.000816f, -0.001299f, -0.001741f, -0.002123f, -0.002428f, -0.002646f, -0.002766f, -0.002786f, -0.002704f, -0.002524f, -0.002255f, -0.001909f, -0.001499f, -0.001043f, -0.000561f, -0.000072f, 0.000403f, 0.000846f, 0.001238f, 0.001564f, 0.001811f, 0.001970f, 0.002035f, 0.002005f, 0.001881f, 0.001672f, 0.001386f, 0.001037f, 0.000642f, 0.000217f, -0.001771f, -0.006509f, 0.021218f, -0.038823f, -0.011955f, 0.006621f, -0.022612f, -0.091329f, 0.050131f, 0.231275f, 0.216905f, 0.058289f, -0.170730f, 0.265267f, 0.272061f, 0.108026f, -0.098152f, -0.093782f, -0.191434f, 0.041068f, 0.077779f, 0.153635f, 0.115409f, 0.000412f, -0.091943f, -0.012296f, 0.033729f, -0.008604f, 0.021260f, -0.062307f, 0.115324f, 0.113905f, 0.093298f, -0.017337f, -0.112194f, -0.159297f, -0.075821f, 0.053020f, 0.117890f, 0.118754f, 0.040959f, -0.045215f, -0.040676f, -0.088463f, -0.062670f, -0.000527f, -0.003547f, 0.037605f, - -0.048673f, 0.027213f, 0.042369f, 0.001320f, -0.030588f, -0.064022f, -0.062636f, 0.020981f, 0.124786f, 0.158579f, 0.031542f, -0.138539f, -0.178898f, -0.174371f, -0.050201f, 0.125858f, 0.166937f, 0.095657f, -0.065029f, -0.187046f, -0.105766f, 0.076904f, 0.222051f, 0.114834f, -0.090380f, -0.301362f, -0.214266f, 0.032387f, 0.318904f, 0.313672f, 0.105259f, -0.239403f, -0.380528f, -0.301328f, -0.009186f, 0.307860f, 0.362465f, 0.142829f, -0.125570f, -0.338388f, -0.275916f, -0.027072f, 0.226341f, 0.279907f, 0.133181f, -0.048681f, -0.163439f, -0.178024f, -0.037065f, 0.068988f, 0.155843f, 0.101329f, -0.013498f, -0.095146f, -0.105885f, -0.112835f, -0.080862f, 0.011656f, 0.137496f, 0.173189f, 0.102717f, -0.040418f, -0.178866f, -0.172001f, -0.085014f, 0.094635f, 0.149504f, 0.179765f, 0.058294f, -0.115007f, -0.196490f, -0.164638f, 0.021371f, 0.081504f, 0.111317f, 0.091809f, 0.009121f, -0.059923f, -0.110283f, -0.101207f, -0.044888f, 0.048637f, 0.090221f, 0.082468f, 0.012110f, -0.067582f, -0.120570f, -0.062062f, 0.046498f, 0.069486f, 0.067465f, 0.012578f, -0.021644f, -0.029169f, -0.000807f, 0.027809f, - 0.023619f, -0.010232f, -0.035235f, -0.068464f, -0.045281f, 0.016621f, 0.036291f, 0.053031f, 0.035968f, -0.007885f, -0.080731f, -0.071418f, -0.014221f, 0.050538f, 0.070548f, 0.051202f, -0.049188f, -0.087715f, -0.035265f, 0.020442f, 0.077010f, 0.066420f, 0.037202f, -0.007388f, -0.055334f, -0.066451f, -0.030671f, 0.050953f, 0.069560f, 0.017126f, -0.021652f, -0.078683f, -0.039305f, 0.003748f, 0.034086f, 0.112302f, 0.082916f, -0.042044f, -0.124954f, -0.099556f, 0.027331f, 0.122032f, 0.101599f, -0.023147f, -0.113462f, -0.092581f, 0.020670f, 0.105113f, 0.079967f, -0.029626f, -0.096065f, -0.059540f, 0.044136f, 0.081574f, 0.027577f, -0.058395f, -0.048951f, 0.026629f, 0.040829f, -0.012841f, -0.015365f, 0.001796f, 0.004625f, -0.003680f, 0.001891f, 0.001369f, 0.003418f, -0.003678f, -0.000207f, -0.002016f, 0.001498f, -0.001351f, 0.001518f, -0.002317f, 0.002310f, 0.000464f, 0.001450f, -0.002586f, 0.001277f, -0.001014f, 0.002699f, -0.001753f, 0.002854f, -0.001710f, 0.000280f, -0.001913f, 0.001334f, -0.000786f, -0.000541f, -0.002219f, 0.002868f, 0.000858f, 0.001782f, -0.001423f, 0.000322f, -0.002513f}, - {0.000465f, 0.001404f, 0.002369f, 0.003376f, 0.004436f, 0.005561f, 0.006755f, 0.008017f, 0.009344f, 0.010725f, 0.012145f, 0.013583f, 0.015015f, 0.016415f, 0.017751f, 0.018992f, 0.020108f, 0.021068f, 0.021845f, 0.022413f, 0.022755f, 0.022856f, 0.022709f, 0.022314f, 0.021677f, 0.020814f, 0.019744f, 0.018496f, 0.017103f, 0.015602f, 0.014037f, 0.012450f, 0.010886f, 0.009389f, 0.008001f, 0.006759f, 0.005696f, 0.004839f, 0.004207f, 0.003813f, 0.003660f, 0.003742f, 0.004047f, 0.004552f, 0.005231f, 0.006048f, 0.006964f, 0.007936f, 0.008918f, 0.009866f, 0.010735f, 0.011484f, 0.012075f, 0.012477f, 0.012666f, 0.012624f, 0.012343f, 0.011823f, 0.011072f, 0.010110f, 0.008959f, 0.007654f, 0.006231f, 0.004734f, 0.003209f, 0.001703f, 0.000262f, -0.001067f, -0.002243f, -0.003228f, -0.003993f, -0.004514f, -0.004775f, -0.004770f, -0.004501f, -0.003977f, -0.003219f, -0.002253f, -0.001113f, 0.000163f, 0.001532f, 0.002948f, 0.004365f, 0.005736f, 0.007019f, 0.008174f, 0.009165f, 0.009964f, 0.010550f, 0.010909f, 0.011035f, 0.010933f, 0.010612f, 0.010091f, 0.009396f, 0.008557f, - 0.007610f, 0.006595f, 0.005550f, 0.004518f, 0.003538f, 0.002646f, 0.001875f, 0.001254f, 0.000804f, 0.000539f, 0.000468f, 0.000591f, 0.000900f, 0.001382f, 0.002016f, 0.002776f, 0.003634f, 0.004554f, 0.005503f, 0.006443f, 0.007341f, 0.008162f, 0.008878f, 0.009463f, 0.009896f, 0.010164f, 0.010259f, 0.010179f, 0.009929f, 0.009520f, 0.008970f, 0.008299f, 0.007535f, 0.006704f, 0.005838f, 0.004967f, 0.004121f, 0.003328f, 0.002614f, 0.002000f, 0.001501f, 0.001130f, 0.000892f, 0.000788f, 0.000810f, 0.000948f, 0.001186f, 0.001503f, 0.001875f, 0.002277f, 0.002682f, 0.003063f, 0.003393f, 0.003648f, 0.003808f, 0.003856f, 0.003779f, 0.003570f, 0.003229f, 0.002759f, 0.002169f, 0.001474f, 0.000694f, -0.000148f, -0.001028f, -0.001916f, -0.002785f, -0.003605f, -0.004349f, -0.004992f, -0.005513f, -0.005894f, -0.006122f, -0.006190f, -0.006096f, -0.005843f, -0.005440f, -0.004902f, -0.004247f, -0.003499f, -0.002682f, -0.001824f, -0.000955f, -0.000103f, 0.000705f, 0.001443f, 0.002088f, 0.002622f, 0.003029f, 0.003302f, 0.003435f, 0.003429f, 0.003292f, 0.003032f, 0.002666f, 0.002213f, - 0.001695f, 0.001134f, 0.000556f, -0.000015f, -0.000554f, -0.001039f, -0.001452f, -0.001777f, -0.002000f, -0.002116f, -0.002120f, -0.002014f, -0.001806f, -0.001504f, -0.001123f, -0.000681f, -0.000196f, 0.000310f, 0.000816f, 0.001299f, 0.001741f, 0.002123f, 0.002428f, 0.002646f, 0.002766f, 0.002786f, 0.002704f, 0.002524f, 0.002255f, 0.001909f, 0.001499f, 0.001043f, 0.000561f, 0.000072f, -0.000403f, -0.000846f, -0.001238f, -0.001564f, -0.001811f, -0.001970f, -0.002035f, -0.002005f, -0.001881f, -0.001672f, -0.001386f, -0.001037f, -0.000642f, -0.000217f, 0.001771f, 0.006509f, -0.021218f, 0.038823f, 0.011955f, -0.006621f, 0.022612f, 0.091329f, -0.050131f, -0.231275f, -0.216905f, -0.058289f, 0.170730f, -0.265267f, -0.272061f, -0.108026f, 0.098152f, 0.093782f, 0.191434f, -0.041068f, -0.077779f, -0.153635f, -0.115409f, -0.000412f, 0.091943f, 0.012296f, -0.033729f, 0.008604f, -0.021260f, 0.062307f, -0.115324f, -0.113905f, -0.093298f, 0.017337f, 0.112194f, 0.159297f, 0.075821f, -0.053020f, -0.117890f, -0.118754f, -0.040959f, 0.045215f, 0.040676f, 0.088463f, 0.062670f, 0.000527f, 0.003547f, -0.037605f, - 0.048673f, -0.027213f, -0.042369f, -0.001320f, 0.030588f, 0.064022f, 0.062636f, -0.020981f, -0.124786f, -0.158579f, -0.031542f, 0.138539f, 0.178898f, 0.174371f, 0.050201f, -0.125858f, -0.166937f, -0.095657f, 0.065029f, 0.187046f, 0.105766f, -0.076904f, -0.222051f, -0.114834f, 0.090380f, 0.301362f, 0.214266f, -0.032387f, -0.318904f, -0.313672f, -0.105259f, 0.239403f, 0.380528f, 0.301328f, 0.009186f, -0.307860f, -0.362465f, -0.142829f, 0.125570f, 0.338388f, 0.275916f, 0.027072f, -0.226341f, -0.279907f, -0.133181f, 0.048681f, 0.163439f, 0.178024f, 0.037065f, -0.068988f, -0.155843f, -0.101329f, 0.013498f, 0.095146f, 0.105885f, 0.112835f, 0.080862f, -0.011656f, -0.137496f, -0.173189f, -0.102717f, 0.040418f, 0.178866f, 0.172001f, 0.085014f, -0.094635f, -0.149504f, -0.179765f, -0.058294f, 0.115007f, 0.196490f, 0.164638f, -0.021371f, -0.081504f, -0.111317f, -0.091809f, -0.009121f, 0.059923f, 0.110283f, 0.101207f, 0.044888f, -0.048637f, -0.090221f, -0.082468f, -0.012110f, 0.067582f, 0.120570f, 0.062062f, -0.046498f, -0.069486f, -0.067465f, -0.012578f, 0.021644f, 0.029169f, 0.000807f, -0.027809f, - -0.023619f, 0.010232f, 0.035235f, 0.068464f, 0.045281f, -0.016621f, -0.036291f, -0.053031f, -0.035968f, 0.007885f, 0.080731f, 0.071418f, 0.014221f, -0.050538f, -0.070548f, -0.051202f, 0.049188f, 0.087715f, 0.035265f, -0.020442f, -0.077010f, -0.066420f, -0.037202f, 0.007388f, 0.055334f, 0.066451f, 0.030671f, -0.050953f, -0.069560f, -0.017126f, 0.021652f, 0.078683f, 0.039305f, -0.003748f, -0.034086f, -0.112302f, -0.082916f, 0.042044f, 0.124954f, 0.099556f, -0.027331f, -0.122032f, -0.101599f, 0.023147f, 0.113462f, 0.092581f, -0.020670f, -0.105113f, -0.079967f, 0.029626f, 0.096065f, 0.059540f, -0.044136f, -0.081574f, -0.027577f, 0.058395f, 0.048951f, -0.026629f, -0.040829f, 0.012841f, 0.015365f, -0.001796f, -0.004625f, 0.003680f, -0.001891f, -0.001369f, -0.003418f, 0.003678f, 0.000207f, 0.002016f, -0.001498f, 0.001351f, -0.001518f, 0.002317f, -0.002310f, -0.000464f, -0.001450f, 0.002586f, -0.001277f, 0.001014f, -0.002699f, 0.001753f, -0.002854f, 0.001710f, -0.000280f, 0.001913f, -0.001334f, 0.000786f, 0.000541f, 0.002219f, -0.002868f, -0.000858f, -0.001782f, 0.001423f, -0.000322f, 0.002513f} - }, - { - {0.000351f, 0.001011f, 0.001545f, 0.001875f, 0.001932f, 0.001659f, 0.001012f, -0.000033f, -0.001487f, -0.003338f, -0.005558f, -0.008100f, -0.010904f, -0.013893f, -0.016979f, -0.020069f, -0.023061f, -0.025858f, -0.028363f, -0.030486f, -0.032151f, -0.033292f, -0.033863f, -0.033835f, -0.033202f, -0.031977f, -0.030196f, -0.027913f, -0.025203f, -0.022158f, -0.018881f, -0.015488f, -0.012100f, -0.008840f, -0.005830f, -0.003184f, -0.001006f, 0.000613f, 0.001602f, 0.001907f, 0.001499f, 0.000373f, -0.001454f, -0.003940f, -0.007021f, -0.010610f, -0.014606f, -0.018889f, -0.023331f, -0.027797f, -0.032147f, -0.036248f, -0.039969f, -0.043192f, -0.045815f, -0.047752f, -0.048938f, -0.049333f, -0.048920f, -0.047705f, -0.045721f, -0.043022f, -0.039685f, -0.035803f, -0.031487f, -0.026859f, -0.022046f, -0.017180f, -0.012393f, -0.007810f, -0.003547f, 0.000292f, 0.003620f, 0.006370f, 0.008492f, 0.009960f, 0.010770f, 0.010938f, 0.010503f, 0.009520f, 0.008062f, 0.006214f, 0.004073f, 0.001741f, -0.000678f, -0.003079f, -0.005364f, -0.007440f, -0.009229f, -0.010664f, -0.011694f, -0.012284f, -0.012420f, -0.012102f, -0.011349f, -0.010196f, - -0.008692f, -0.006898f, -0.004886f, -0.002731f, -0.000515f, 0.001682f, 0.003781f, 0.005709f, 0.007403f, 0.008808f, 0.009882f, 0.010597f, 0.010939f, 0.010907f, 0.010517f, 0.009795f, 0.008781f, 0.007523f, 0.006079f, 0.004510f, 0.002881f, 0.001259f, -0.000294f, -0.001719f, -0.002965f, -0.003988f, -0.004756f, -0.005248f, -0.005452f, -0.005372f, -0.005020f, -0.004421f, -0.003609f, -0.002625f, -0.001517f, -0.000336f, 0.000863f, 0.002027f, 0.003105f, 0.004050f, 0.004821f, 0.005386f, 0.005721f, 0.005810f, 0.005649f, 0.005244f, 0.004608f, 0.003765f, 0.002746f, 0.001588f, 0.000331f, -0.000980f, -0.002301f, -0.003588f, -0.004801f, -0.005903f, -0.006865f, -0.007662f, -0.008280f, -0.008711f, -0.008955f, -0.009022f, -0.008930f, -0.008699f, -0.008361f, -0.007945f, -0.007489f, -0.007026f, -0.006592f, -0.006220f, -0.005936f, -0.005763f, -0.005719f, -0.005812f, -0.006044f, -0.006408f, -0.006890f, -0.007470f, -0.008121f, -0.008811f, -0.009505f, -0.010165f, -0.010753f, -0.011232f, -0.011568f, -0.011733f, -0.011702f, -0.011459f, -0.010995f, -0.010310f, -0.009413f, -0.008318f, -0.007052f, -0.005647f, -0.004140f, -0.002574f, - -0.000995f, 0.000550f, 0.002013f, 0.003350f, 0.004519f, 0.005485f, 0.006220f, 0.006702f, 0.006920f, 0.006871f, 0.006562f, 0.006009f, 0.005237f, 0.004279f, 0.003174f, 0.001966f, 0.000702f, -0.000568f, -0.001795f, -0.002932f, -0.003936f, -0.004770f, -0.005403f, -0.005812f, -0.005985f, -0.005916f, -0.005611f, -0.005085f, -0.004360f, -0.003467f, -0.002444f, -0.001332f, -0.000177f, 0.000974f, 0.002075f, 0.003082f, 0.003955f, 0.004659f, 0.005166f, 0.005457f, 0.005521f, 0.005356f, 0.004970f, 0.004378f, 0.003607f, 0.002688f, 0.001658f, 0.000560f, 0.001365f, -0.005282f, 0.091386f, 0.027096f, -0.110470f, -0.072853f, -0.047053f, -0.060849f, 0.019689f, 0.179100f, 0.180847f, 0.052269f, -0.078928f, 0.202594f, 0.182531f, 0.087056f, 0.204108f, 0.200376f, 0.111086f, -0.098967f, -0.003997f, 0.037594f, 0.006320f, 0.130559f, 0.198318f, 0.306011f, 0.137971f, -0.168854f, -0.168012f, -0.202469f, -0.028656f, 0.059362f, 0.277224f, 0.354088f, -0.072346f, -0.351328f, -0.377967f, -0.122179f, 0.080254f, 0.468769f, 0.159139f, -0.071262f, -0.114378f, -0.217912f, -0.030676f, 0.193918f, 0.235601f, -0.074225f, - -0.515604f, -0.464563f, -0.047118f, 0.323559f, 0.559021f, 0.307643f, -0.066844f, -0.469425f, -0.435315f, -0.253431f, 0.245073f, 0.044140f, 0.250680f, 0.056655f, -0.264860f, -0.252830f, 0.108479f, -0.098469f, -0.316136f, -0.153824f, 0.050116f, 0.266847f, 0.233378f, 0.153505f, 0.013379f, -0.016834f, -0.179006f, -0.104367f, -0.135727f, 0.001192f, 0.165036f, 0.202483f, 0.030499f, -0.143798f, -0.194432f, 0.118753f, 0.340240f, 0.354315f, -0.026860f, -0.389394f, -0.510589f, -0.197218f, 0.271761f, 0.631820f, 0.425170f, -0.058408f, -0.484943f, -0.476308f, -0.263813f, 0.177632f, 0.410086f, 0.219180f, 0.010928f, -0.226147f, -0.235120f, -0.102069f, 0.152772f, 0.293250f, 0.231404f, -0.031223f, -0.254637f, -0.322474f, -0.160527f, 0.057017f, 0.248437f, 0.294002f, 0.228441f, -0.081658f, -0.331972f, -0.349940f, -0.117661f, 0.271573f, 0.421057f, 0.257790f, 0.016894f, -0.327288f, -0.407511f, -0.211055f, 0.144184f, 0.365284f, 0.381074f, 0.127687f, -0.233440f, -0.455060f, -0.340202f, 0.005594f, 0.347046f, 0.479449f, 0.269346f, -0.124816f, -0.469715f, -0.425124f, -0.091510f, 0.310163f, 0.488578f, 0.338187f, - -0.048840f, -0.409422f, -0.465075f, -0.172028f, 0.226861f, 0.462260f, 0.345374f, 0.015127f, -0.324667f, -0.362308f, -0.137012f, 0.203355f, 0.345099f, 0.251686f, -0.032658f, -0.306335f, -0.272934f, -0.081282f, 0.159200f, 0.275533f, 0.181888f, -0.065405f, -0.261459f, -0.271706f, -0.062225f, 0.187779f, 0.293385f, 0.144842f, -0.073625f, -0.262863f, -0.225519f, -0.024463f, 0.184510f, 0.178295f, 0.124958f, -0.226115f, -0.448434f, -0.171999f, 0.191953f, 0.423991f, 0.259954f, -0.078384f, -0.350027f, -0.275698f, 0.018586f, 0.296410f, 0.273919f, 0.024354f, -0.241972f, -0.234854f, -0.008607f, 0.211595f, 0.180961f, -0.024704f, -0.177770f, -0.092307f, 0.083111f, 0.115066f, -0.020591f, -0.057406f, -0.000249f, 0.020003f, -0.000291f, 0.001135f, -0.001590f, 0.003310f, -0.000324f, 0.003949f, -0.001306f, 0.002062f, -0.001281f, 0.001886f, -0.000542f, 0.003265f, -0.001631f, 0.002411f, -0.002831f, 0.003455f, -0.000559f, 0.003497f, -0.003104f, 0.002614f, 0.000646f, 0.002225f, -0.001745f, 0.002795f, -0.001764f, 0.002432f, -0.000396f, 0.000214f, -0.002129f, 0.003695f, -0.000641f, 0.001720f, -0.002786f, 0.000426f}, - {0.000351f, 0.001011f, 0.001545f, 0.001875f, 0.001932f, 0.001659f, 0.001012f, -0.000033f, -0.001487f, -0.003338f, -0.005558f, -0.008100f, -0.010904f, -0.013893f, -0.016979f, -0.020069f, -0.023061f, -0.025858f, -0.028363f, -0.030486f, -0.032151f, -0.033292f, -0.033863f, -0.033835f, -0.033202f, -0.031977f, -0.030196f, -0.027913f, -0.025203f, -0.022158f, -0.018881f, -0.015488f, -0.012100f, -0.008840f, -0.005830f, -0.003184f, -0.001006f, 0.000613f, 0.001602f, 0.001907f, 0.001499f, 0.000373f, -0.001454f, -0.003940f, -0.007021f, -0.010610f, -0.014606f, -0.018889f, -0.023331f, -0.027797f, -0.032147f, -0.036248f, -0.039969f, -0.043192f, -0.045815f, -0.047752f, -0.048938f, -0.049333f, -0.048920f, -0.047705f, -0.045721f, -0.043022f, -0.039685f, -0.035803f, -0.031487f, -0.026859f, -0.022046f, -0.017180f, -0.012393f, -0.007810f, -0.003547f, 0.000292f, 0.003620f, 0.006370f, 0.008492f, 0.009960f, 0.010770f, 0.010938f, 0.010503f, 0.009520f, 0.008062f, 0.006214f, 0.004073f, 0.001741f, -0.000678f, -0.003079f, -0.005364f, -0.007440f, -0.009229f, -0.010664f, -0.011694f, -0.012284f, -0.012420f, -0.012102f, -0.011349f, -0.010196f, - -0.008692f, -0.006898f, -0.004886f, -0.002731f, -0.000515f, 0.001682f, 0.003781f, 0.005709f, 0.007403f, 0.008808f, 0.009882f, 0.010597f, 0.010939f, 0.010907f, 0.010517f, 0.009795f, 0.008781f, 0.007523f, 0.006079f, 0.004510f, 0.002881f, 0.001259f, -0.000294f, -0.001719f, -0.002965f, -0.003988f, -0.004756f, -0.005248f, -0.005452f, -0.005372f, -0.005020f, -0.004421f, -0.003609f, -0.002625f, -0.001517f, -0.000336f, 0.000863f, 0.002027f, 0.003105f, 0.004050f, 0.004821f, 0.005386f, 0.005721f, 0.005810f, 0.005649f, 0.005244f, 0.004608f, 0.003765f, 0.002746f, 0.001588f, 0.000331f, -0.000980f, -0.002301f, -0.003588f, -0.004801f, -0.005903f, -0.006865f, -0.007662f, -0.008280f, -0.008711f, -0.008955f, -0.009022f, -0.008930f, -0.008699f, -0.008361f, -0.007945f, -0.007489f, -0.007026f, -0.006592f, -0.006220f, -0.005936f, -0.005763f, -0.005719f, -0.005812f, -0.006044f, -0.006408f, -0.006890f, -0.007470f, -0.008121f, -0.008811f, -0.009505f, -0.010165f, -0.010753f, -0.011232f, -0.011568f, -0.011733f, -0.011702f, -0.011459f, -0.010995f, -0.010310f, -0.009413f, -0.008318f, -0.007052f, -0.005647f, -0.004140f, -0.002574f, - -0.000995f, 0.000550f, 0.002013f, 0.003350f, 0.004519f, 0.005485f, 0.006220f, 0.006702f, 0.006920f, 0.006871f, 0.006562f, 0.006009f, 0.005237f, 0.004279f, 0.003174f, 0.001966f, 0.000702f, -0.000568f, -0.001795f, -0.002932f, -0.003936f, -0.004770f, -0.005403f, -0.005812f, -0.005985f, -0.005916f, -0.005611f, -0.005085f, -0.004360f, -0.003467f, -0.002444f, -0.001332f, -0.000177f, 0.000974f, 0.002075f, 0.003082f, 0.003955f, 0.004659f, 0.005166f, 0.005457f, 0.005521f, 0.005356f, 0.004970f, 0.004378f, 0.003607f, 0.002688f, 0.001658f, 0.000560f, 0.001365f, -0.005282f, 0.091386f, 0.027096f, -0.110470f, -0.072853f, -0.047053f, -0.060849f, 0.019689f, 0.179100f, 0.180847f, 0.052269f, -0.078928f, 0.202594f, 0.182531f, 0.087056f, 0.204108f, 0.200376f, 0.111086f, -0.098967f, -0.003997f, 0.037594f, 0.006320f, 0.130559f, 0.198318f, 0.306011f, 0.137971f, -0.168854f, -0.168012f, -0.202469f, -0.028656f, 0.059362f, 0.277224f, 0.354088f, -0.072346f, -0.351328f, -0.377967f, -0.122179f, 0.080254f, 0.468769f, 0.159139f, -0.071262f, -0.114378f, -0.217912f, -0.030676f, 0.193918f, 0.235601f, -0.074225f, - -0.515604f, -0.464563f, -0.047118f, 0.323559f, 0.559021f, 0.307643f, -0.066844f, -0.469425f, -0.435315f, -0.253431f, 0.245073f, 0.044140f, 0.250680f, 0.056655f, -0.264860f, -0.252830f, 0.108479f, -0.098469f, -0.316136f, -0.153824f, 0.050116f, 0.266847f, 0.233378f, 0.153505f, 0.013379f, -0.016834f, -0.179006f, -0.104367f, -0.135727f, 0.001192f, 0.165036f, 0.202483f, 0.030499f, -0.143798f, -0.194432f, 0.118753f, 0.340240f, 0.354315f, -0.026860f, -0.389394f, -0.510589f, -0.197218f, 0.271761f, 0.631820f, 0.425170f, -0.058408f, -0.484943f, -0.476308f, -0.263813f, 0.177632f, 0.410086f, 0.219180f, 0.010928f, -0.226147f, -0.235120f, -0.102069f, 0.152772f, 0.293250f, 0.231404f, -0.031223f, -0.254637f, -0.322474f, -0.160527f, 0.057017f, 0.248437f, 0.294002f, 0.228441f, -0.081658f, -0.331972f, -0.349940f, -0.117661f, 0.271573f, 0.421057f, 0.257790f, 0.016894f, -0.327288f, -0.407511f, -0.211055f, 0.144184f, 0.365284f, 0.381074f, 0.127687f, -0.233440f, -0.455060f, -0.340202f, 0.005594f, 0.347046f, 0.479449f, 0.269346f, -0.124816f, -0.469715f, -0.425124f, -0.091510f, 0.310163f, 0.488578f, 0.338187f, - -0.048840f, -0.409422f, -0.465075f, -0.172028f, 0.226861f, 0.462260f, 0.345374f, 0.015127f, -0.324667f, -0.362308f, -0.137012f, 0.203355f, 0.345099f, 0.251686f, -0.032658f, -0.306335f, -0.272934f, -0.081282f, 0.159200f, 0.275533f, 0.181888f, -0.065405f, -0.261459f, -0.271706f, -0.062225f, 0.187779f, 0.293385f, 0.144842f, -0.073625f, -0.262863f, -0.225519f, -0.024463f, 0.184510f, 0.178295f, 0.124958f, -0.226115f, -0.448434f, -0.171999f, 0.191953f, 0.423991f, 0.259954f, -0.078384f, -0.350027f, -0.275698f, 0.018586f, 0.296410f, 0.273919f, 0.024354f, -0.241972f, -0.234854f, -0.008607f, 0.211595f, 0.180961f, -0.024704f, -0.177770f, -0.092307f, 0.083111f, 0.115066f, -0.020591f, -0.057406f, -0.000249f, 0.020003f, -0.000291f, 0.001135f, -0.001590f, 0.003310f, -0.000324f, 0.003949f, -0.001306f, 0.002062f, -0.001281f, 0.001886f, -0.000542f, 0.003265f, -0.001631f, 0.002411f, -0.002831f, 0.003455f, -0.000559f, 0.003497f, -0.003104f, 0.002614f, 0.000646f, 0.002225f, -0.001745f, 0.002795f, -0.001764f, 0.002432f, -0.000396f, 0.000214f, -0.002129f, 0.003695f, -0.000641f, 0.001720f, -0.002786f, 0.000426f} - }, - { - {-0.002431f, -0.007230f, -0.011846f, -0.016163f, -0.020075f, -0.023489f, -0.026328f, -0.028532f, -0.030062f, -0.030900f, -0.031050f, -0.030535f, -0.029400f, -0.027708f, -0.025538f, -0.022979f, -0.020135f, -0.017113f, -0.014022f, -0.010971f, -0.008064f, -0.005397f, -0.003053f, -0.001100f, 0.000408f, 0.001437f, 0.001971f, 0.002014f, 0.001588f, 0.000734f, -0.000493f, -0.002024f, -0.003777f, -0.005666f, -0.007596f, -0.009476f, -0.011214f, -0.012724f, -0.013931f, -0.014771f, -0.015193f, -0.015163f, -0.014664f, -0.013695f, -0.012275f, -0.010438f, -0.008235f, -0.005728f, -0.002995f, -0.000117f, 0.002813f, 0.005705f, 0.008466f, 0.011009f, 0.013252f, 0.015123f, 0.016564f, 0.017529f, 0.017987f, 0.017924f, 0.017342f, 0.016259f, 0.014711f, 0.012743f, 0.010417f, 0.007803f, 0.004976f, 0.002021f, -0.000980f, -0.003945f, -0.006793f, -0.009453f, -0.011861f, -0.013964f, -0.015721f, -0.017104f, -0.018099f, -0.018706f, -0.018937f, -0.018819f, -0.018387f, -0.017687f, -0.016771f, -0.015698f, -0.014527f, -0.013319f, -0.012131f, -0.011018f, -0.010028f, -0.009198f, -0.008560f, -0.008133f, -0.007926f, -0.007937f, -0.008154f, -0.008554f, - -0.009107f, -0.009775f, -0.010516f, -0.011281f, -0.012025f, -0.012699f, -0.013258f, -0.013664f, -0.013882f, -0.013885f, -0.013656f, -0.013188f, -0.012481f, -0.011546f, -0.010405f, -0.009086f, -0.007625f, -0.006066f, -0.004454f, -0.002839f, -0.001270f, 0.000203f, 0.001535f, 0.002685f, 0.003619f, 0.004308f, 0.004735f, 0.004889f, 0.004771f, 0.004389f, 0.003761f, 0.002914f, 0.001880f, 0.000698f, -0.000588f, -0.001932f, -0.003288f, -0.004610f, -0.005853f, -0.006978f, -0.007951f, -0.008744f, -0.009336f, -0.009715f, -0.009876f, -0.009823f, -0.009567f, -0.009128f, -0.008529f, -0.007799f, -0.006974f, -0.006086f, -0.005174f, -0.004272f, -0.003414f, -0.002628f, -0.001941f, -0.001371f, -0.000933f, -0.000631f, -0.000467f, -0.000433f, -0.000517f, -0.000699f, -0.000958f, -0.001266f, -0.001594f, -0.001914f, -0.002196f, -0.002413f, -0.002540f, -0.002557f, -0.002450f, -0.002208f, -0.001827f, -0.001312f, -0.000671f, 0.000079f, 0.000920f, 0.001824f, 0.002763f, 0.003706f, 0.004620f, 0.005473f, 0.006233f, 0.006873f, 0.007367f, 0.007696f, 0.007847f, 0.007811f, 0.007587f, 0.007181f, 0.006606f, 0.005878f, 0.005023f, 0.004067f, - 0.003043f, 0.001984f, 0.000926f, -0.000098f, -0.001055f, -0.001913f, -0.002648f, -0.003238f, -0.003668f, -0.003928f, -0.004016f, -0.003935f, -0.003696f, -0.003313f, -0.002809f, -0.002209f, -0.001541f, -0.000835f, -0.000123f, 0.000563f, 0.001196f, 0.001749f, 0.002198f, 0.002527f, 0.002723f, 0.002779f, 0.002695f, 0.002476f, 0.002133f, 0.001683f, 0.001146f, 0.000546f, -0.000089f, -0.000732f, -0.001354f, -0.001929f, -0.002430f, -0.002836f, -0.003130f, -0.003297f, -0.003331f, -0.003229f, -0.002996f, -0.002639f, -0.002175f, -0.001620f, -0.001000f, -0.000338f, -0.018290f, -0.062542f, 0.075373f, 0.023942f, -0.043869f, -0.192620f, -0.125258f, 0.151248f, 0.025188f, 0.252837f, 0.330054f, 0.289273f, 0.019560f, 0.027911f, 0.021279f, 0.080888f, -0.016728f, -0.037625f, 0.082546f, -0.021887f, 0.015778f, -0.008822f, -0.010483f, -0.001995f, -0.001428f, -0.021831f, 0.015079f, 0.012810f, -0.034509f, -0.033014f, 0.031136f, 0.059442f, 0.050913f, 0.004466f, 0.051857f, 0.078859f, 0.120192f, -0.015399f, -0.108147f, -0.094294f, 0.046426f, 0.262133f, 0.079013f, -0.001468f, -0.210725f, -0.235095f, -0.104065f, 0.105383f, - 0.215871f, 0.245890f, 0.063137f, -0.094421f, -0.246703f, -0.137069f, -0.002323f, 0.198470f, 0.210950f, 0.182676f, -0.069049f, 0.003720f, -0.182436f, -0.097736f, 0.145036f, 0.243565f, 0.045020f, 0.222209f, 0.277898f, -0.033674f, -0.277553f, -0.438511f, -0.182238f, 0.138761f, 0.347199f, 0.116233f, -0.089010f, -0.345756f, -0.215789f, -0.056986f, 0.155095f, 0.380138f, 0.258245f, -0.011012f, -0.261045f, -0.300396f, -0.131265f, 0.144730f, 0.224700f, 0.088212f, -0.110429f, -0.191985f, -0.100833f, 0.068341f, 0.174078f, 0.092212f, -0.046042f, -0.089726f, -0.082558f, 0.053932f, 0.209877f, 0.224859f, 0.062561f, -0.248984f, -0.397906f, -0.249788f, 0.149703f, 0.422700f, 0.454342f, 0.129361f, -0.262008f, -0.568459f, -0.523737f, -0.060849f, 0.446629f, 0.537808f, 0.189092f, -0.301296f, -0.429567f, -0.206890f, 0.150223f, 0.422084f, 0.238417f, 0.070144f, -0.187961f, -0.253082f, -0.085001f, 0.047626f, 0.184962f, 0.118252f, -0.017623f, -0.111506f, -0.092764f, -0.032066f, 0.088418f, 0.108586f, 0.046415f, -0.070387f, -0.099868f, -0.069341f, 0.047191f, 0.104158f, 0.095540f, 0.005518f, -0.089450f, -0.148444f, - -0.055762f, 0.065694f, 0.163000f, 0.133901f, 0.035208f, -0.117751f, -0.205851f, -0.144787f, 0.002520f, 0.129263f, 0.208158f, 0.130617f, -0.038862f, -0.176770f, -0.182205f, -0.062025f, 0.102914f, 0.194411f, 0.164397f, 0.004247f, -0.132913f, -0.191209f, -0.100734f, 0.103360f, 0.206840f, 0.161036f, 0.006662f, -0.133314f, -0.164263f, -0.103104f, 0.072983f, 0.163216f, 0.116373f, -0.011197f, -0.164415f, -0.108598f, 0.159688f, 0.216945f, 0.128949f, -0.106626f, -0.222040f, -0.161871f, 0.069665f, 0.219679f, 0.180035f, -0.048692f, -0.211565f, -0.174812f, 0.054405f, 0.204882f, 0.143031f, -0.084741f, -0.191758f, -0.077955f, 0.131194f, 0.141344f, -0.034264f, -0.132219f, 0.006956f, 0.067337f, 0.001168f, -0.024976f, 0.005599f, 0.000442f, 0.003906f, -0.003997f, 0.004107f, -0.002965f, 0.005384f, -0.003211f, 0.004713f, -0.005429f, 0.003167f, -0.003119f, 0.003858f, -0.003361f, 0.003274f, -0.004298f, 0.003072f, -0.003647f, 0.003571f, -0.001956f, 0.005858f, -0.003621f, 0.000852f, -0.003328f, 0.003440f, -0.000548f, 0.001963f, -0.003313f, 0.001772f, -0.002875f, 0.003917f, -0.002348f, 0.003217f, -0.002608f}, - {-0.002431f, -0.007230f, -0.011846f, -0.016163f, -0.020075f, -0.023489f, -0.026328f, -0.028532f, -0.030062f, -0.030900f, -0.031050f, -0.030535f, -0.029400f, -0.027708f, -0.025538f, -0.022979f, -0.020135f, -0.017113f, -0.014022f, -0.010971f, -0.008064f, -0.005397f, -0.003053f, -0.001100f, 0.000408f, 0.001437f, 0.001971f, 0.002014f, 0.001588f, 0.000734f, -0.000493f, -0.002024f, -0.003777f, -0.005666f, -0.007596f, -0.009476f, -0.011214f, -0.012724f, -0.013931f, -0.014771f, -0.015193f, -0.015163f, -0.014664f, -0.013695f, -0.012275f, -0.010438f, -0.008235f, -0.005728f, -0.002995f, -0.000117f, 0.002813f, 0.005705f, 0.008466f, 0.011009f, 0.013252f, 0.015123f, 0.016564f, 0.017529f, 0.017987f, 0.017924f, 0.017342f, 0.016259f, 0.014711f, 0.012743f, 0.010417f, 0.007803f, 0.004976f, 0.002021f, -0.000980f, -0.003945f, -0.006793f, -0.009453f, -0.011861f, -0.013964f, -0.015721f, -0.017104f, -0.018099f, -0.018706f, -0.018937f, -0.018819f, -0.018387f, -0.017687f, -0.016771f, -0.015698f, -0.014527f, -0.013319f, -0.012131f, -0.011018f, -0.010028f, -0.009198f, -0.008560f, -0.008133f, -0.007926f, -0.007937f, -0.008154f, -0.008554f, - -0.009107f, -0.009775f, -0.010516f, -0.011281f, -0.012025f, -0.012699f, -0.013258f, -0.013664f, -0.013882f, -0.013885f, -0.013656f, -0.013188f, -0.012481f, -0.011546f, -0.010405f, -0.009086f, -0.007625f, -0.006066f, -0.004454f, -0.002839f, -0.001270f, 0.000203f, 0.001535f, 0.002685f, 0.003619f, 0.004308f, 0.004735f, 0.004889f, 0.004771f, 0.004389f, 0.003761f, 0.002914f, 0.001880f, 0.000698f, -0.000588f, -0.001932f, -0.003288f, -0.004610f, -0.005853f, -0.006978f, -0.007951f, -0.008744f, -0.009336f, -0.009715f, -0.009876f, -0.009823f, -0.009567f, -0.009128f, -0.008529f, -0.007799f, -0.006974f, -0.006086f, -0.005174f, -0.004272f, -0.003414f, -0.002628f, -0.001941f, -0.001371f, -0.000933f, -0.000631f, -0.000467f, -0.000433f, -0.000517f, -0.000699f, -0.000958f, -0.001266f, -0.001594f, -0.001914f, -0.002196f, -0.002413f, -0.002540f, -0.002557f, -0.002450f, -0.002208f, -0.001827f, -0.001312f, -0.000671f, 0.000079f, 0.000920f, 0.001824f, 0.002763f, 0.003706f, 0.004620f, 0.005473f, 0.006233f, 0.006873f, 0.007367f, 0.007696f, 0.007847f, 0.007811f, 0.007587f, 0.007181f, 0.006606f, 0.005878f, 0.005023f, 0.004067f, - 0.003043f, 0.001984f, 0.000926f, -0.000098f, -0.001055f, -0.001913f, -0.002648f, -0.003238f, -0.003668f, -0.003928f, -0.004016f, -0.003935f, -0.003696f, -0.003313f, -0.002809f, -0.002209f, -0.001541f, -0.000835f, -0.000123f, 0.000563f, 0.001196f, 0.001749f, 0.002198f, 0.002527f, 0.002723f, 0.002779f, 0.002695f, 0.002476f, 0.002133f, 0.001683f, 0.001146f, 0.000546f, -0.000089f, -0.000732f, -0.001354f, -0.001929f, -0.002430f, -0.002836f, -0.003130f, -0.003297f, -0.003331f, -0.003229f, -0.002996f, -0.002639f, -0.002175f, -0.001620f, -0.001000f, -0.000338f, -0.018290f, -0.062542f, 0.075373f, 0.023942f, -0.043869f, -0.192620f, -0.125258f, 0.151248f, 0.025188f, 0.252837f, 0.330054f, 0.289273f, 0.019560f, 0.027911f, 0.021279f, 0.080888f, -0.016728f, -0.037625f, 0.082546f, -0.021887f, 0.015778f, -0.008822f, -0.010483f, -0.001995f, -0.001428f, -0.021831f, 0.015079f, 0.012810f, -0.034509f, -0.033014f, 0.031136f, 0.059442f, 0.050913f, 0.004466f, 0.051857f, 0.078859f, 0.120192f, -0.015399f, -0.108147f, -0.094294f, 0.046426f, 0.262133f, 0.079013f, -0.001468f, -0.210725f, -0.235095f, -0.104065f, 0.105383f, - 0.215871f, 0.245890f, 0.063137f, -0.094421f, -0.246703f, -0.137069f, -0.002323f, 0.198470f, 0.210950f, 0.182676f, -0.069049f, 0.003720f, -0.182436f, -0.097736f, 0.145036f, 0.243565f, 0.045020f, 0.222209f, 0.277898f, -0.033674f, -0.277553f, -0.438511f, -0.182238f, 0.138761f, 0.347199f, 0.116233f, -0.089010f, -0.345756f, -0.215789f, -0.056986f, 0.155095f, 0.380138f, 0.258245f, -0.011012f, -0.261045f, -0.300396f, -0.131265f, 0.144730f, 0.224700f, 0.088212f, -0.110429f, -0.191985f, -0.100833f, 0.068341f, 0.174078f, 0.092212f, -0.046042f, -0.089726f, -0.082558f, 0.053932f, 0.209877f, 0.224859f, 0.062561f, -0.248984f, -0.397906f, -0.249788f, 0.149703f, 0.422700f, 0.454342f, 0.129361f, -0.262008f, -0.568459f, -0.523737f, -0.060849f, 0.446629f, 0.537808f, 0.189092f, -0.301296f, -0.429567f, -0.206890f, 0.150223f, 0.422084f, 0.238417f, 0.070144f, -0.187961f, -0.253082f, -0.085001f, 0.047626f, 0.184962f, 0.118252f, -0.017623f, -0.111506f, -0.092764f, -0.032066f, 0.088418f, 0.108586f, 0.046415f, -0.070387f, -0.099868f, -0.069341f, 0.047191f, 0.104158f, 0.095540f, 0.005518f, -0.089450f, -0.148444f, - -0.055762f, 0.065694f, 0.163000f, 0.133901f, 0.035208f, -0.117751f, -0.205851f, -0.144787f, 0.002520f, 0.129263f, 0.208158f, 0.130617f, -0.038862f, -0.176770f, -0.182205f, -0.062025f, 0.102914f, 0.194411f, 0.164397f, 0.004247f, -0.132913f, -0.191209f, -0.100734f, 0.103360f, 0.206840f, 0.161036f, 0.006662f, -0.133314f, -0.164263f, -0.103104f, 0.072983f, 0.163216f, 0.116373f, -0.011197f, -0.164415f, -0.108598f, 0.159688f, 0.216945f, 0.128949f, -0.106626f, -0.222040f, -0.161871f, 0.069665f, 0.219679f, 0.180035f, -0.048692f, -0.211565f, -0.174812f, 0.054405f, 0.204882f, 0.143031f, -0.084741f, -0.191758f, -0.077955f, 0.131194f, 0.141344f, -0.034264f, -0.132219f, 0.006956f, 0.067337f, 0.001168f, -0.024976f, 0.005599f, 0.000442f, 0.003906f, -0.003997f, 0.004107f, -0.002965f, 0.005384f, -0.003211f, 0.004713f, -0.005429f, 0.003167f, -0.003119f, 0.003858f, -0.003361f, 0.003274f, -0.004298f, 0.003072f, -0.003647f, 0.003571f, -0.001956f, 0.005858f, -0.003621f, 0.000852f, -0.003328f, 0.003440f, -0.000548f, 0.001963f, -0.003313f, 0.001772f, -0.002875f, 0.003917f, -0.002348f, 0.003217f, -0.002608f} - }, - { - {-0.001645f, -0.004889f, -0.007994f, -0.010872f, -0.013441f, -0.015627f, -0.017366f, -0.018606f, -0.019309f, -0.019449f, -0.019017f, -0.018018f, -0.016473f, -0.014415f, -0.011894f, -0.008968f, -0.005708f, -0.002193f, 0.001492f, 0.005258f, 0.009013f, 0.012668f, 0.016133f, 0.019327f, 0.022174f, 0.024608f, 0.026572f, 0.028024f, 0.028931f, 0.029277f, 0.029057f, 0.028283f, 0.026975f, 0.025171f, 0.022916f, 0.020266f, 0.017286f, 0.014047f, 0.010624f, 0.007094f, 0.003535f, 0.000024f, -0.003366f, -0.006569f, -0.009523f, -0.012176f, -0.014484f, -0.016413f, -0.017941f, -0.019056f, -0.019756f, -0.020049f, -0.019954f, -0.019497f, -0.018714f, -0.017645f, -0.016336f, -0.014838f, -0.013201f, -0.011478f, -0.009722f, -0.007980f, -0.006300f, -0.004722f, -0.003284f, -0.002015f, -0.000939f, -0.000073f, 0.000573f, 0.000994f, 0.001195f, 0.001184f, 0.000974f, 0.000585f, 0.000037f, -0.000645f, -0.001434f, -0.002304f, -0.003228f, -0.004180f, -0.005136f, -0.006074f, -0.006975f, -0.007823f, -0.008607f, -0.009317f, -0.009947f, -0.010497f, -0.010966f, -0.011359f, -0.011681f, -0.011939f, -0.012142f, -0.012299f, -0.012420f, -0.012512f, - -0.012584f, -0.012641f, -0.012688f, -0.012728f, -0.012762f, -0.012789f, -0.012806f, -0.012808f, -0.012789f, -0.012743f, -0.012661f, -0.012535f, -0.012358f, -0.012123f, -0.011825f, -0.011457f, -0.011019f, -0.010510f, -0.009931f, -0.009287f, -0.008586f, -0.007835f, -0.007048f, -0.006237f, -0.005417f, -0.004604f, -0.003816f, -0.003069f, -0.002380f, -0.001765f, -0.001239f, -0.000814f, -0.000500f, -0.000304f, -0.000232f, -0.000285f, -0.000460f, -0.000753f, -0.001155f, -0.001654f, -0.002236f, -0.002885f, -0.003582f, -0.004308f, -0.005042f, -0.005763f, -0.006450f, -0.007084f, -0.007647f, -0.008124f, -0.008499f, -0.008763f, -0.008907f, -0.008927f, -0.008822f, -0.008594f, -0.008248f, -0.007793f, -0.007239f, -0.006599f, -0.005890f, -0.005128f, -0.004330f, -0.003514f, -0.002698f, -0.001899f, -0.001133f, -0.000414f, 0.000244f, 0.000833f, 0.001344f, 0.001771f, 0.002114f, 0.002371f, 0.002545f, 0.002642f, 0.002667f, 0.002630f, 0.002541f, 0.002410f, 0.002249f, 0.002069f, 0.001881f, 0.001696f, 0.001524f, 0.001371f, 0.001246f, 0.001152f, 0.001093f, 0.001070f, 0.001082f, 0.001127f, 0.001201f, 0.001298f, 0.001412f, 0.001537f, - 0.001664f, 0.001786f, 0.001896f, 0.001986f, 0.002051f, 0.002085f, 0.002084f, 0.002047f, 0.001972f, 0.001859f, 0.001712f, 0.001533f, 0.001327f, 0.001100f, 0.000859f, 0.000610f, 0.000363f, 0.000124f, -0.000099f, -0.000300f, -0.000472f, -0.000610f, -0.000710f, -0.000770f, -0.000790f, -0.000768f, -0.000708f, -0.000612f, -0.000486f, -0.000334f, -0.000164f, 0.000018f, 0.000204f, 0.000386f, 0.000558f, 0.000711f, 0.000840f, 0.000940f, 0.001007f, 0.001037f, 0.001030f, 0.000985f, 0.000904f, 0.000790f, 0.000647f, 0.000480f, 0.000295f, 0.000100f, 0.051440f, -0.017404f, -0.015031f, -0.006631f, 0.084912f, 0.030042f, 0.126303f, 0.077667f, 0.061283f, -0.206804f, -0.266513f, -0.146299f, 0.048463f, 0.221834f, 0.276928f, 0.058618f, -0.164883f, -0.206521f, -0.157245f, -0.019971f, 0.022484f, 0.009127f, -0.074832f, -0.003766f, 0.011558f, 0.046388f, 0.084463f, 0.035029f, -0.041705f, -0.135144f, -0.247107f, -0.068341f, 0.062401f, 0.215002f, 0.182115f, 0.017813f, -0.224853f, -0.242217f, -0.154143f, 0.140675f, 0.085035f, 0.013789f, 0.004699f, -0.030640f, -0.048520f, -0.053992f, 0.042938f, 0.077860f, - -0.122612f, -0.094380f, -0.021180f, 0.048656f, 0.098990f, 0.131997f, 0.049407f, -0.051469f, -0.107798f, -0.102519f, -0.027519f, 0.017002f, 0.121854f, 0.099067f, -0.012549f, -0.136986f, -0.168680f, -0.174574f, -0.066879f, 0.136946f, 0.301285f, 0.218697f, 0.064603f, -0.129712f, -0.295903f, -0.372101f, -0.176103f, 0.125151f, 0.321045f, 0.280827f, 0.079868f, -0.182004f, -0.337718f, -0.255048f, -0.075833f, 0.186080f, 0.229930f, 0.034094f, -0.137032f, -0.117218f, -0.015998f, 0.102881f, 0.148584f, 0.090919f, 0.023247f, -0.071571f, -0.111685f, -0.117527f, 0.010460f, 0.106725f, 0.099762f, 0.070302f, -0.064238f, -0.141554f, -0.120835f, -0.020430f, 0.117272f, 0.156353f, 0.059997f, -0.155890f, -0.200814f, -0.054347f, 0.108571f, 0.190060f, 0.124766f, -0.081814f, -0.251485f, -0.318244f, -0.060085f, 0.291755f, 0.371072f, 0.175054f, -0.113281f, -0.303607f, -0.187642f, -0.017714f, 0.224460f, 0.243779f, 0.102581f, -0.074083f, -0.204041f, -0.200559f, -0.040905f, 0.108675f, 0.223579f, 0.138661f, -0.050251f, -0.213777f, -0.246007f, -0.079520f, 0.144106f, 0.230220f, 0.169662f, 0.026378f, -0.146485f, -0.219150f, - -0.151349f, 0.038709f, 0.179876f, 0.134576f, -0.009275f, -0.077913f, -0.144363f, -0.041473f, 0.052335f, 0.093512f, 0.027278f, -0.011454f, -0.031205f, -0.026190f, -0.019791f, -0.000507f, -0.007044f, 0.020804f, 0.056088f, 0.052051f, 0.007688f, -0.040209f, -0.055811f, -0.032228f, 0.014392f, 0.040408f, 0.049053f, 0.038043f, -0.015223f, -0.058610f, -0.047302f, -0.026520f, 0.045780f, 0.026105f, -0.013310f, -0.017261f, 0.022633f, 0.048770f, 0.024043f, -0.024744f, -0.049378f, -0.012487f, 0.038986f, 0.054117f, 0.000389f, -0.046756f, -0.042967f, 0.017333f, 0.052966f, 0.029892f, -0.029762f, -0.051009f, -0.014580f, 0.046694f, 0.043299f, -0.016820f, -0.055613f, 0.000172f, 0.042298f, 0.006846f, -0.019183f, 0.002989f, 0.001877f, 0.000899f, -0.000117f, 0.002684f, -0.000509f, 0.001446f, -0.000408f, 0.000453f, -0.002198f, 0.001084f, -0.000278f, 0.001686f, -0.000636f, 0.001433f, -0.002012f, 0.001090f, -0.000798f, 0.000549f, -0.000918f, 0.003335f, -0.000223f, 0.001920f, -0.002619f, 0.000713f, -0.001257f, 0.000292f, -0.000361f, 0.001446f, 0.000380f, 0.001368f, -0.001780f, 0.001050f, -0.001139f, 0.000807f}, - {-0.001645f, -0.004889f, -0.007994f, -0.010872f, -0.013441f, -0.015627f, -0.017366f, -0.018606f, -0.019309f, -0.019449f, -0.019017f, -0.018018f, -0.016473f, -0.014415f, -0.011894f, -0.008968f, -0.005708f, -0.002193f, 0.001492f, 0.005258f, 0.009013f, 0.012668f, 0.016133f, 0.019327f, 0.022174f, 0.024608f, 0.026572f, 0.028024f, 0.028931f, 0.029277f, 0.029057f, 0.028283f, 0.026975f, 0.025171f, 0.022916f, 0.020266f, 0.017286f, 0.014047f, 0.010624f, 0.007094f, 0.003535f, 0.000024f, -0.003366f, -0.006569f, -0.009523f, -0.012176f, -0.014484f, -0.016413f, -0.017941f, -0.019056f, -0.019756f, -0.020049f, -0.019954f, -0.019497f, -0.018714f, -0.017645f, -0.016336f, -0.014838f, -0.013201f, -0.011478f, -0.009722f, -0.007980f, -0.006300f, -0.004722f, -0.003284f, -0.002015f, -0.000939f, -0.000073f, 0.000573f, 0.000994f, 0.001195f, 0.001184f, 0.000974f, 0.000585f, 0.000037f, -0.000645f, -0.001434f, -0.002304f, -0.003228f, -0.004180f, -0.005136f, -0.006074f, -0.006975f, -0.007823f, -0.008607f, -0.009317f, -0.009947f, -0.010497f, -0.010966f, -0.011359f, -0.011681f, -0.011939f, -0.012142f, -0.012299f, -0.012420f, -0.012512f, - -0.012584f, -0.012641f, -0.012688f, -0.012728f, -0.012762f, -0.012789f, -0.012806f, -0.012808f, -0.012789f, -0.012743f, -0.012661f, -0.012535f, -0.012358f, -0.012123f, -0.011825f, -0.011457f, -0.011019f, -0.010510f, -0.009931f, -0.009287f, -0.008586f, -0.007835f, -0.007048f, -0.006237f, -0.005417f, -0.004604f, -0.003816f, -0.003069f, -0.002380f, -0.001765f, -0.001239f, -0.000814f, -0.000500f, -0.000304f, -0.000232f, -0.000285f, -0.000460f, -0.000753f, -0.001155f, -0.001654f, -0.002236f, -0.002885f, -0.003582f, -0.004308f, -0.005042f, -0.005763f, -0.006450f, -0.007084f, -0.007647f, -0.008124f, -0.008499f, -0.008763f, -0.008907f, -0.008927f, -0.008822f, -0.008594f, -0.008248f, -0.007793f, -0.007239f, -0.006599f, -0.005890f, -0.005128f, -0.004330f, -0.003514f, -0.002698f, -0.001899f, -0.001133f, -0.000414f, 0.000244f, 0.000833f, 0.001344f, 0.001771f, 0.002114f, 0.002371f, 0.002545f, 0.002642f, 0.002667f, 0.002630f, 0.002541f, 0.002410f, 0.002249f, 0.002069f, 0.001881f, 0.001696f, 0.001524f, 0.001371f, 0.001246f, 0.001152f, 0.001093f, 0.001070f, 0.001082f, 0.001127f, 0.001201f, 0.001298f, 0.001412f, 0.001537f, - 0.001664f, 0.001786f, 0.001896f, 0.001986f, 0.002051f, 0.002085f, 0.002084f, 0.002047f, 0.001972f, 0.001859f, 0.001712f, 0.001533f, 0.001327f, 0.001100f, 0.000859f, 0.000610f, 0.000363f, 0.000124f, -0.000099f, -0.000300f, -0.000472f, -0.000610f, -0.000710f, -0.000770f, -0.000790f, -0.000768f, -0.000708f, -0.000612f, -0.000486f, -0.000334f, -0.000164f, 0.000018f, 0.000204f, 0.000386f, 0.000558f, 0.000711f, 0.000840f, 0.000940f, 0.001007f, 0.001037f, 0.001030f, 0.000985f, 0.000904f, 0.000790f, 0.000647f, 0.000480f, 0.000295f, 0.000100f, 0.051440f, -0.017404f, -0.015031f, -0.006631f, 0.084912f, 0.030042f, 0.126303f, 0.077667f, 0.061283f, -0.206804f, -0.266513f, -0.146299f, 0.048463f, 0.221834f, 0.276928f, 0.058618f, -0.164883f, -0.206521f, -0.157245f, -0.019971f, 0.022484f, 0.009127f, -0.074832f, -0.003766f, 0.011558f, 0.046388f, 0.084463f, 0.035029f, -0.041705f, -0.135144f, -0.247107f, -0.068341f, 0.062401f, 0.215002f, 0.182115f, 0.017813f, -0.224853f, -0.242217f, -0.154143f, 0.140675f, 0.085035f, 0.013789f, 0.004699f, -0.030640f, -0.048520f, -0.053992f, 0.042938f, 0.077860f, - -0.122612f, -0.094380f, -0.021180f, 0.048656f, 0.098990f, 0.131997f, 0.049407f, -0.051469f, -0.107798f, -0.102519f, -0.027519f, 0.017002f, 0.121854f, 0.099067f, -0.012549f, -0.136986f, -0.168680f, -0.174574f, -0.066879f, 0.136946f, 0.301285f, 0.218697f, 0.064603f, -0.129712f, -0.295903f, -0.372101f, -0.176103f, 0.125151f, 0.321045f, 0.280827f, 0.079868f, -0.182004f, -0.337718f, -0.255048f, -0.075833f, 0.186080f, 0.229930f, 0.034094f, -0.137032f, -0.117218f, -0.015998f, 0.102881f, 0.148584f, 0.090919f, 0.023247f, -0.071571f, -0.111685f, -0.117527f, 0.010460f, 0.106725f, 0.099762f, 0.070302f, -0.064238f, -0.141554f, -0.120835f, -0.020430f, 0.117272f, 0.156353f, 0.059997f, -0.155890f, -0.200814f, -0.054347f, 0.108571f, 0.190060f, 0.124766f, -0.081814f, -0.251485f, -0.318244f, -0.060085f, 0.291755f, 0.371072f, 0.175054f, -0.113281f, -0.303607f, -0.187642f, -0.017714f, 0.224460f, 0.243779f, 0.102581f, -0.074083f, -0.204041f, -0.200559f, -0.040905f, 0.108675f, 0.223579f, 0.138661f, -0.050251f, -0.213777f, -0.246007f, -0.079520f, 0.144106f, 0.230220f, 0.169662f, 0.026378f, -0.146485f, -0.219150f, - -0.151349f, 0.038709f, 0.179876f, 0.134576f, -0.009275f, -0.077913f, -0.144363f, -0.041473f, 0.052335f, 0.093512f, 0.027278f, -0.011454f, -0.031205f, -0.026190f, -0.019791f, -0.000507f, -0.007044f, 0.020804f, 0.056088f, 0.052051f, 0.007688f, -0.040209f, -0.055811f, -0.032228f, 0.014392f, 0.040408f, 0.049053f, 0.038043f, -0.015223f, -0.058610f, -0.047302f, -0.026520f, 0.045780f, 0.026105f, -0.013310f, -0.017261f, 0.022633f, 0.048770f, 0.024043f, -0.024744f, -0.049378f, -0.012487f, 0.038986f, 0.054117f, 0.000389f, -0.046756f, -0.042967f, 0.017333f, 0.052966f, 0.029892f, -0.029762f, -0.051009f, -0.014580f, 0.046694f, 0.043299f, -0.016820f, -0.055613f, 0.000172f, 0.042298f, 0.006846f, -0.019183f, 0.002989f, 0.001877f, 0.000899f, -0.000117f, 0.002684f, -0.000509f, 0.001446f, -0.000408f, 0.000453f, -0.002198f, 0.001084f, -0.000278f, 0.001686f, -0.000636f, 0.001433f, -0.002012f, 0.001090f, -0.000798f, 0.000549f, -0.000918f, 0.003335f, -0.000223f, 0.001920f, -0.002619f, 0.000713f, -0.001257f, 0.000292f, -0.000361f, 0.001446f, 0.000380f, 0.001368f, -0.001780f, 0.001050f, -0.001139f, 0.000807f} - }, - { - {-0.000690f, -0.002053f, -0.003367f, -0.004601f, -0.005728f, -0.006720f, -0.007557f, -0.008222f, -0.008701f, -0.008989f, -0.009083f, -0.008987f, -0.008711f, -0.008268f, -0.007678f, -0.006963f, -0.006150f, -0.005268f, -0.004347f, -0.003420f, -0.002518f, -0.001673f, -0.000914f, -0.000269f, 0.000238f, 0.000585f, 0.000757f, 0.000739f, 0.000525f, 0.000111f, -0.000501f, -0.001306f, -0.002292f, -0.003446f, -0.004750f, -0.006182f, -0.007719f, -0.009334f, -0.011001f, -0.012691f, -0.014375f, -0.016025f, -0.017613f, -0.019112f, -0.020496f, -0.021743f, -0.022829f, -0.023737f, -0.024449f, -0.024952f, -0.025234f, -0.025286f, -0.025103f, -0.024683f, -0.024026f, -0.023135f, -0.022016f, -0.020679f, -0.019136f, -0.017401f, -0.015492f, -0.013430f, -0.011237f, -0.008940f, -0.006565f, -0.004143f, -0.001704f, 0.000718f, 0.003089f, 0.005377f, 0.007546f, 0.009564f, 0.011399f, 0.013020f, 0.014400f, 0.015515f, 0.016344f, 0.016871f, 0.017086f, 0.016982f, 0.016561f, 0.015827f, 0.014793f, 0.013478f, 0.011905f, 0.010103f, 0.008109f, 0.005959f, 0.003697f, 0.001368f, -0.000981f, -0.003304f, -0.005551f, -0.007679f, -0.009644f, -0.011407f, - -0.012933f, -0.014192f, -0.015163f, -0.015828f, -0.016178f, -0.016213f, -0.015936f, -0.015362f, -0.014509f, -0.013404f, -0.012076f, -0.010562f, -0.008900f, -0.007133f, -0.005302f, -0.003450f, -0.001619f, 0.000153f, 0.001828f, 0.003374f, 0.004765f, 0.005979f, 0.006999f, 0.007816f, 0.008426f, 0.008831f, 0.009037f, 0.009057f, 0.008907f, 0.008608f, 0.008181f, 0.007650f, 0.007040f, 0.006375f, 0.005679f, 0.004971f, 0.004271f, 0.003593f, 0.002949f, 0.002346f, 0.001788f, 0.001275f, 0.000803f, 0.000365f, -0.000047f, -0.000445f, -0.000840f, -0.001245f, -0.001672f, -0.002130f, -0.002627f, -0.003169f, -0.003757f, -0.004391f, -0.005063f, -0.005765f, -0.006483f, -0.007200f, -0.007896f, -0.008548f, -0.009133f, -0.009624f, -0.009999f, -0.010233f, -0.010305f, -0.010196f, -0.009892f, -0.009383f, -0.008666f, -0.007741f, -0.006616f, -0.005305f, -0.003827f, -0.002207f, -0.000476f, 0.001333f, 0.003180f, 0.005028f, 0.006833f, 0.008555f, 0.010155f, 0.011596f, 0.012844f, 0.013871f, 0.014654f, 0.015176f, 0.015429f, 0.015411f, 0.015126f, 0.014589f, 0.013818f, 0.012839f, 0.011683f, 0.010388f, 0.008990f, 0.007533f, - 0.006057f, 0.004604f, 0.003214f, 0.001923f, 0.000764f, -0.000238f, -0.001059f, -0.001686f, -0.002112f, -0.002334f, -0.002360f, -0.002202f, -0.001877f, -0.001411f, -0.000830f, -0.000166f, 0.000549f, 0.001282f, 0.001998f, 0.002668f, 0.003262f, 0.003756f, 0.004130f, 0.004368f, 0.004463f, 0.004411f, 0.004214f, 0.003882f, 0.003429f, 0.002872f, 0.002235f, 0.001542f, 0.000822f, 0.000102f, -0.000590f, -0.001227f, -0.001786f, -0.002246f, -0.002591f, -0.002809f, -0.002893f, -0.002843f, -0.002662f, -0.002362f, -0.001955f, -0.001462f, -0.000904f, -0.000306f, 0.000296f, 0.003937f, 0.009648f, 0.012419f, 0.011267f, 0.040238f, 0.015703f, -0.011552f, -0.058160f, 0.013046f, 0.072824f, 0.088627f, -0.015958f, -0.160738f, -0.254131f, -0.050171f, 0.053966f, 0.110719f, 0.126033f, 0.010242f, 0.054476f, 0.047715f, -0.060406f, -0.155297f, 0.013718f, 0.062056f, 0.089206f, 0.119108f, 0.035385f, -0.029856f, -0.021391f, -0.127605f, -0.058302f, 0.063474f, 0.126353f, 0.057306f, -0.086294f, -0.115687f, -0.061619f, 0.036661f, 0.157767f, 0.060098f, -0.043304f, -0.112367f, -0.120737f, -0.060150f, 0.071453f, 0.076516f, - 0.063806f, 0.039984f, 0.012824f, 0.010209f, -0.018528f, -0.064632f, -0.023531f, -0.020034f, 0.014198f, 0.015704f, 0.120472f, -0.088570f, -0.026549f, -0.032296f, -0.172561f, -0.040071f, 0.109757f, -0.008742f, -0.101366f, -0.055359f, 0.046352f, 0.103096f, 0.129563f, 0.047553f, -0.024178f, -0.125148f, -0.117219f, 0.036596f, 0.186238f, 0.123714f, -0.045137f, -0.171506f, -0.106041f, -0.002482f, 0.055770f, 0.107032f, 0.059515f, -0.077665f, -0.169167f, -0.091629f, 0.046448f, 0.144953f, 0.091318f, -0.011980f, 0.009144f, -0.117581f, 0.016691f, 0.032711f, 0.218095f, 0.098833f, -0.062401f, -0.088608f, -0.001681f, 0.001069f, -0.093855f, -0.119791f, -0.048200f, 0.050228f, 0.123198f, 0.041732f, -0.097033f, -0.117008f, 0.012802f, 0.172574f, 0.184757f, 0.009102f, -0.120569f, -0.172745f, -0.076288f, 0.177154f, 0.250881f, 0.099183f, -0.107409f, -0.237621f, -0.190393f, -0.046260f, 0.129260f, 0.187136f, 0.116149f, -0.021548f, -0.160583f, -0.126560f, -0.027619f, 0.100470f, 0.179752f, 0.093998f, -0.109599f, -0.153948f, -0.181134f, 0.020372f, 0.217498f, 0.277900f, 0.121373f, -0.074423f, -0.234906f, -0.205704f, - -0.082379f, 0.085297f, 0.116048f, 0.117933f, -0.030242f, -0.117081f, -0.129572f, -0.010412f, 0.112942f, 0.131377f, -0.076372f, -0.144450f, -0.141864f, -0.036980f, 0.060290f, 0.118163f, 0.075497f, 0.007247f, -0.076572f, -0.106067f, -0.084042f, 0.039064f, 0.097812f, 0.118444f, 0.030211f, -0.043478f, -0.118658f, -0.097851f, -0.039008f, 0.070489f, 0.085911f, 0.105045f, -0.013103f, -0.109826f, -0.234591f, -0.026291f, 0.411073f, 0.430086f, 0.115483f, -0.325910f, -0.478239f, -0.221265f, 0.238392f, 0.486933f, 0.281713f, -0.180712f, -0.476652f, -0.295784f, 0.161026f, 0.445223f, 0.244443f, -0.190672f, -0.395177f, -0.136553f, 0.241464f, 0.292475f, -0.052163f, -0.246516f, -0.033780f, 0.137826f, 0.013441f, -0.035850f, -0.009276f, 0.005239f, -0.002221f, 0.001268f, -0.004987f, 0.001142f, -0.006533f, 0.002459f, -0.004739f, 0.003077f, -0.001965f, 0.000451f, -0.003766f, 0.004415f, -0.001868f, 0.003175f, -0.004095f, 0.005067f, -0.005135f, 0.003633f, -0.002886f, 0.003814f, -0.001883f, 0.004380f, -0.003811f, 0.002574f, -0.004489f, 0.004757f, -0.003096f, 0.005553f, -0.002642f, 0.002949f, -0.002289f, 0.003374f}, - {0.000690f, 0.002053f, 0.003367f, 0.004601f, 0.005728f, 0.006720f, 0.007557f, 0.008222f, 0.008701f, 0.008989f, 0.009083f, 0.008987f, 0.008711f, 0.008268f, 0.007678f, 0.006963f, 0.006150f, 0.005268f, 0.004347f, 0.003420f, 0.002518f, 0.001673f, 0.000914f, 0.000269f, -0.000238f, -0.000585f, -0.000757f, -0.000739f, -0.000525f, -0.000111f, 0.000501f, 0.001306f, 0.002292f, 0.003446f, 0.004750f, 0.006182f, 0.007719f, 0.009334f, 0.011001f, 0.012691f, 0.014375f, 0.016025f, 0.017613f, 0.019112f, 0.020496f, 0.021743f, 0.022829f, 0.023737f, 0.024449f, 0.024952f, 0.025234f, 0.025286f, 0.025103f, 0.024683f, 0.024026f, 0.023135f, 0.022016f, 0.020679f, 0.019136f, 0.017401f, 0.015492f, 0.013430f, 0.011237f, 0.008940f, 0.006565f, 0.004143f, 0.001704f, -0.000718f, -0.003089f, -0.005377f, -0.007546f, -0.009564f, -0.011399f, -0.013020f, -0.014400f, -0.015515f, -0.016344f, -0.016871f, -0.017086f, -0.016982f, -0.016561f, -0.015827f, -0.014793f, -0.013478f, -0.011905f, -0.010103f, -0.008109f, -0.005959f, -0.003697f, -0.001368f, 0.000981f, 0.003304f, 0.005551f, 0.007679f, 0.009644f, 0.011407f, - 0.012933f, 0.014192f, 0.015163f, 0.015828f, 0.016178f, 0.016213f, 0.015936f, 0.015362f, 0.014509f, 0.013404f, 0.012076f, 0.010562f, 0.008900f, 0.007133f, 0.005302f, 0.003450f, 0.001619f, -0.000153f, -0.001828f, -0.003374f, -0.004765f, -0.005979f, -0.006999f, -0.007816f, -0.008426f, -0.008831f, -0.009037f, -0.009057f, -0.008907f, -0.008608f, -0.008181f, -0.007650f, -0.007040f, -0.006375f, -0.005679f, -0.004971f, -0.004271f, -0.003593f, -0.002949f, -0.002346f, -0.001788f, -0.001275f, -0.000803f, -0.000365f, 0.000047f, 0.000445f, 0.000840f, 0.001245f, 0.001672f, 0.002130f, 0.002627f, 0.003169f, 0.003757f, 0.004391f, 0.005063f, 0.005765f, 0.006483f, 0.007200f, 0.007896f, 0.008548f, 0.009133f, 0.009624f, 0.009999f, 0.010233f, 0.010305f, 0.010196f, 0.009892f, 0.009383f, 0.008666f, 0.007741f, 0.006616f, 0.005305f, 0.003827f, 0.002207f, 0.000476f, -0.001333f, -0.003180f, -0.005028f, -0.006833f, -0.008555f, -0.010155f, -0.011596f, -0.012844f, -0.013871f, -0.014654f, -0.015176f, -0.015429f, -0.015411f, -0.015126f, -0.014589f, -0.013818f, -0.012839f, -0.011683f, -0.010388f, -0.008990f, -0.007533f, - -0.006057f, -0.004604f, -0.003214f, -0.001923f, -0.000764f, 0.000238f, 0.001059f, 0.001686f, 0.002112f, 0.002334f, 0.002360f, 0.002202f, 0.001877f, 0.001411f, 0.000830f, 0.000166f, -0.000549f, -0.001282f, -0.001998f, -0.002668f, -0.003262f, -0.003756f, -0.004130f, -0.004368f, -0.004463f, -0.004411f, -0.004214f, -0.003882f, -0.003429f, -0.002872f, -0.002235f, -0.001542f, -0.000822f, -0.000102f, 0.000590f, 0.001227f, 0.001786f, 0.002246f, 0.002591f, 0.002809f, 0.002893f, 0.002843f, 0.002662f, 0.002362f, 0.001955f, 0.001462f, 0.000904f, 0.000306f, -0.000296f, -0.003937f, -0.009648f, -0.012419f, -0.011267f, -0.040238f, -0.015703f, 0.011552f, 0.058160f, -0.013046f, -0.072824f, -0.088627f, 0.015958f, 0.160738f, 0.254131f, 0.050171f, -0.053966f, -0.110719f, -0.126033f, -0.010242f, -0.054476f, -0.047715f, 0.060406f, 0.155297f, -0.013718f, -0.062056f, -0.089206f, -0.119108f, -0.035385f, 0.029856f, 0.021391f, 0.127605f, 0.058302f, -0.063474f, -0.126353f, -0.057306f, 0.086294f, 0.115687f, 0.061619f, -0.036661f, -0.157767f, -0.060098f, 0.043304f, 0.112367f, 0.120737f, 0.060150f, -0.071453f, -0.076516f, - -0.063806f, -0.039984f, -0.012824f, -0.010209f, 0.018528f, 0.064632f, 0.023531f, 0.020034f, -0.014198f, -0.015704f, -0.120472f, 0.088570f, 0.026549f, 0.032296f, 0.172561f, 0.040071f, -0.109757f, 0.008742f, 0.101366f, 0.055359f, -0.046352f, -0.103096f, -0.129563f, -0.047553f, 0.024178f, 0.125148f, 0.117219f, -0.036596f, -0.186238f, -0.123714f, 0.045137f, 0.171506f, 0.106041f, 0.002482f, -0.055770f, -0.107032f, -0.059515f, 0.077665f, 0.169167f, 0.091629f, -0.046448f, -0.144953f, -0.091318f, 0.011980f, -0.009144f, 0.117581f, -0.016691f, -0.032711f, -0.218095f, -0.098833f, 0.062401f, 0.088608f, 0.001681f, -0.001069f, 0.093855f, 0.119791f, 0.048200f, -0.050228f, -0.123198f, -0.041732f, 0.097033f, 0.117008f, -0.012802f, -0.172574f, -0.184757f, -0.009102f, 0.120569f, 0.172745f, 0.076288f, -0.177154f, -0.250881f, -0.099183f, 0.107409f, 0.237621f, 0.190393f, 0.046260f, -0.129260f, -0.187136f, -0.116149f, 0.021548f, 0.160583f, 0.126560f, 0.027619f, -0.100470f, -0.179752f, -0.093998f, 0.109599f, 0.153948f, 0.181134f, -0.020372f, -0.217498f, -0.277900f, -0.121373f, 0.074423f, 0.234906f, 0.205704f, - 0.082379f, -0.085297f, -0.116048f, -0.117933f, 0.030242f, 0.117081f, 0.129572f, 0.010412f, -0.112942f, -0.131377f, 0.076372f, 0.144450f, 0.141864f, 0.036980f, -0.060290f, -0.118163f, -0.075497f, -0.007247f, 0.076572f, 0.106067f, 0.084042f, -0.039064f, -0.097812f, -0.118444f, -0.030211f, 0.043478f, 0.118658f, 0.097851f, 0.039008f, -0.070489f, -0.085911f, -0.105045f, 0.013103f, 0.109826f, 0.234591f, 0.026291f, -0.411073f, -0.430086f, -0.115483f, 0.325910f, 0.478239f, 0.221265f, -0.238392f, -0.486933f, -0.281713f, 0.180712f, 0.476652f, 0.295784f, -0.161026f, -0.445223f, -0.244443f, 0.190672f, 0.395177f, 0.136553f, -0.241464f, -0.292475f, 0.052163f, 0.246516f, 0.033780f, -0.137826f, -0.013441f, 0.035850f, 0.009276f, -0.005239f, 0.002221f, -0.001268f, 0.004987f, -0.001142f, 0.006533f, -0.002459f, 0.004739f, -0.003077f, 0.001965f, -0.000451f, 0.003766f, -0.004415f, 0.001868f, -0.003175f, 0.004095f, -0.005067f, 0.005135f, -0.003633f, 0.002886f, -0.003814f, 0.001883f, -0.004380f, 0.003811f, -0.002574f, 0.004489f, -0.004757f, 0.003096f, -0.005553f, 0.002642f, -0.002949f, 0.002289f, -0.003374f} - }, - { - {0.000859f, 0.002546f, 0.004137f, 0.005573f, 0.006798f, 0.007766f, 0.008436f, 0.008779f, 0.008777f, 0.008421f, 0.007715f, 0.006676f, 0.005329f, 0.003711f, 0.001866f, -0.000155f, -0.002292f, -0.004487f, -0.006677f, -0.008800f, -0.010797f, -0.012613f, -0.014199f, -0.015515f, -0.016527f, -0.017213f, -0.017560f, -0.017564f, -0.017234f, -0.016584f, -0.015642f, -0.014439f, -0.013015f, -0.011413f, -0.009678f, -0.007859f, -0.006004f, -0.004156f, -0.002357f, -0.000644f, 0.000952f, 0.002409f, 0.003709f, 0.004844f, 0.005813f, 0.006621f, 0.007281f, 0.007810f, 0.008230f, 0.008566f, 0.008846f, 0.009095f, 0.009341f, 0.009606f, 0.009911f, 0.010269f, 0.010690f, 0.011177f, 0.011727f, 0.012329f, 0.012965f, 0.013615f, 0.014250f, 0.014838f, 0.015346f, 0.015737f, 0.015976f, 0.016028f, 0.015860f, 0.015447f, 0.014766f, 0.013801f, 0.012546f, 0.010999f, 0.009171f, 0.007076f, 0.004742f, 0.002199f, -0.000513f, -0.003349f, -0.006259f, -0.009193f, -0.012095f, -0.014913f, -0.017595f, -0.020094f, -0.022364f, -0.024369f, -0.026078f, -0.027468f, -0.028525f, -0.029243f, -0.029625f, -0.029682f, -0.029434f, -0.028905f, - -0.028130f, -0.027144f, -0.025987f, -0.024703f, -0.023333f, -0.021921f, -0.020506f, -0.019125f, -0.017811f, -0.016591f, -0.015486f, -0.014511f, -0.013675f, -0.012980f, -0.012422f, -0.011993f, -0.011678f, -0.011460f, -0.011317f, -0.011228f, -0.011169f, -0.011117f, -0.011051f, -0.010951f, -0.010802f, -0.010592f, -0.010311f, -0.009957f, -0.009530f, -0.009035f, -0.008482f, -0.007882f, -0.007252f, -0.006607f, -0.005968f, -0.005352f, -0.004777f, -0.004260f, -0.003816f, -0.003455f, -0.003186f, -0.003012f, -0.002933f, -0.002945f, -0.003039f, -0.003203f, -0.003423f, -0.003681f, -0.003957f, -0.004231f, -0.004482f, -0.004693f, -0.004843f, -0.004920f, -0.004909f, -0.004804f, -0.004600f, -0.004297f, -0.003901f, -0.003419f, -0.002867f, -0.002259f, -0.001617f, -0.000961f, -0.000314f, 0.000300f, 0.000859f, 0.001341f, 0.001728f, 0.002005f, 0.002161f, 0.002188f, 0.002085f, 0.001854f, 0.001504f, 0.001048f, 0.000501f, -0.000114f, -0.000775f, -0.001455f, -0.002127f, -0.002765f, -0.003342f, -0.003835f, -0.004222f, -0.004485f, -0.004613f, -0.004596f, -0.004433f, -0.004127f, -0.003686f, -0.003124f, -0.002460f, -0.001716f, -0.000917f, -0.000093f, - 0.000728f, 0.001515f, 0.002241f, 0.002879f, 0.003406f, 0.003801f, 0.004051f, 0.004146f, 0.004082f, 0.003861f, 0.003492f, 0.002988f, 0.002368f, 0.001654f, 0.000873f, 0.000055f, -0.000770f, -0.001572f, -0.002319f, -0.002985f, -0.003543f, -0.003974f, -0.004260f, -0.004391f, -0.004362f, -0.004174f, -0.003834f, -0.003355f, -0.002754f, -0.002054f, -0.001281f, -0.000466f, 0.000363f, 0.001173f, 0.001934f, 0.002618f, 0.003198f, 0.003654f, 0.003967f, 0.004127f, 0.004128f, 0.003969f, 0.003658f, 0.003206f, 0.002631f, 0.001955f, 0.001204f, 0.000406f, 0.017226f, 0.012013f, -0.028321f, -0.030423f, -0.022893f, -0.033501f, -0.060821f, -0.088080f, -0.112243f, 0.154253f, 0.203443f, 0.058316f, -0.012445f, 0.055654f, 0.021804f, -0.008967f, 0.035061f, 0.095283f, -0.000718f, 0.050392f, -0.018996f, -0.055789f, 0.032982f, -0.007091f, 0.094774f, 0.026985f, 0.048263f, -0.071591f, -0.107635f, 0.011283f, 0.017843f, 0.025335f, -0.054642f, -0.015553f, 0.014738f, 0.028520f, 0.050245f, 0.062858f, -0.068352f, -0.030551f, -0.019679f, 0.052072f, 0.057232f, 0.021821f, -0.070286f, -0.113515f, -0.071628f, 0.027134f, - -0.012002f, 0.068095f, 0.094405f, 0.068474f, -0.058745f, -0.073551f, -0.048971f, 0.047774f, 0.095484f, 0.136276f, -0.020782f, -0.008228f, -0.156104f, -0.089359f, 0.090499f, 0.174599f, 0.045334f, 0.164127f, 0.055132f, -0.122527f, -0.092643f, -0.072552f, 0.080633f, 0.116478f, 0.056780f, -0.140743f, -0.260926f, -0.168795f, -0.133615f, -0.060155f, 0.178317f, 0.217051f, -0.005971f, -0.165801f, -0.140198f, -0.114298f, -0.209628f, 0.119419f, 0.231336f, 0.219009f, 0.076439f, -0.087801f, -0.201419f, -0.123932f, 0.079096f, 0.213570f, 0.193245f, 0.071682f, -0.105801f, -0.155119f, 0.036797f, 0.147391f, 0.158791f, 0.027849f, -0.132063f, -0.217392f, -0.063462f, 0.120396f, 0.255590f, 0.137794f, -0.053665f, -0.330210f, -0.344688f, -0.158570f, 0.200625f, 0.367654f, 0.189377f, -0.125986f, -0.191932f, -0.177880f, -0.044655f, 0.177784f, 0.243707f, 0.166341f, -0.059203f, -0.181411f, -0.141760f, -0.105250f, 0.101497f, 0.204489f, 0.162081f, 0.018700f, -0.128499f, -0.199396f, -0.101125f, 0.091973f, 0.230468f, 0.135103f, -0.041913f, -0.203133f, -0.185174f, -0.090538f, 0.079898f, 0.180571f, 0.130038f, -0.027597f, - -0.089495f, -0.090417f, -0.024452f, -0.007223f, 0.068041f, 0.110296f, 0.065420f, -0.023719f, -0.095513f, -0.089005f, 0.002369f, 0.124344f, 0.110889f, 0.042596f, -0.026849f, -0.096845f, -0.081131f, -0.002341f, 0.095227f, 0.102042f, 0.044684f, -0.010971f, -0.063710f, -0.034114f, -0.001677f, 0.030173f, 0.013740f, -0.000268f, -0.021227f, -0.043999f, -0.001913f, 0.026924f, 0.041319f, -0.015041f, -0.054437f, -0.130356f, 0.047521f, 0.167756f, 0.184390f, 0.033196f, -0.121109f, -0.184845f, -0.054031f, 0.118381f, 0.199260f, 0.079203f, -0.103129f, -0.191235f, -0.059463f, 0.122197f, 0.182977f, 0.024420f, -0.135288f, -0.134242f, 0.050368f, 0.146347f, 0.040904f, -0.109526f, -0.032549f, 0.056726f, 0.019439f, -0.025118f, 0.005572f, 0.001777f, 0.007640f, 0.000271f, 0.005556f, -0.003630f, 0.004957f, -0.004408f, 0.004800f, -0.003228f, 0.002972f, -0.004344f, 0.003459f, -0.002986f, 0.006276f, -0.004350f, 0.002435f, -0.004030f, 0.004971f, -0.003604f, 0.005546f, -0.007147f, 0.005138f, -0.005555f, 0.006601f, -0.002204f, 0.005298f, -0.004820f, 0.003456f, -0.001146f, 0.004085f, -0.002134f, 0.001776f, -0.006348f}, - {-0.000859f, -0.002546f, -0.004137f, -0.005573f, -0.006798f, -0.007766f, -0.008436f, -0.008779f, -0.008777f, -0.008421f, -0.007715f, -0.006676f, -0.005329f, -0.003711f, -0.001866f, 0.000155f, 0.002292f, 0.004487f, 0.006677f, 0.008800f, 0.010797f, 0.012613f, 0.014199f, 0.015515f, 0.016527f, 0.017213f, 0.017560f, 0.017564f, 0.017234f, 0.016584f, 0.015642f, 0.014439f, 0.013015f, 0.011413f, 0.009678f, 0.007859f, 0.006004f, 0.004156f, 0.002357f, 0.000644f, -0.000952f, -0.002409f, -0.003709f, -0.004844f, -0.005813f, -0.006621f, -0.007281f, -0.007810f, -0.008230f, -0.008566f, -0.008846f, -0.009095f, -0.009341f, -0.009606f, -0.009911f, -0.010269f, -0.010690f, -0.011177f, -0.011727f, -0.012329f, -0.012965f, -0.013615f, -0.014250f, -0.014838f, -0.015346f, -0.015737f, -0.015976f, -0.016028f, -0.015860f, -0.015447f, -0.014766f, -0.013801f, -0.012546f, -0.010999f, -0.009171f, -0.007076f, -0.004742f, -0.002199f, 0.000513f, 0.003349f, 0.006259f, 0.009193f, 0.012095f, 0.014913f, 0.017595f, 0.020094f, 0.022364f, 0.024369f, 0.026078f, 0.027468f, 0.028525f, 0.029243f, 0.029625f, 0.029682f, 0.029434f, 0.028905f, - 0.028130f, 0.027144f, 0.025987f, 0.024703f, 0.023333f, 0.021921f, 0.020506f, 0.019125f, 0.017811f, 0.016591f, 0.015486f, 0.014511f, 0.013675f, 0.012980f, 0.012422f, 0.011993f, 0.011678f, 0.011460f, 0.011317f, 0.011228f, 0.011169f, 0.011117f, 0.011051f, 0.010951f, 0.010802f, 0.010592f, 0.010311f, 0.009957f, 0.009530f, 0.009035f, 0.008482f, 0.007882f, 0.007252f, 0.006607f, 0.005968f, 0.005352f, 0.004777f, 0.004260f, 0.003816f, 0.003455f, 0.003186f, 0.003012f, 0.002933f, 0.002945f, 0.003039f, 0.003203f, 0.003423f, 0.003681f, 0.003957f, 0.004231f, 0.004482f, 0.004693f, 0.004843f, 0.004920f, 0.004909f, 0.004804f, 0.004600f, 0.004297f, 0.003901f, 0.003419f, 0.002867f, 0.002259f, 0.001617f, 0.000961f, 0.000314f, -0.000300f, -0.000859f, -0.001341f, -0.001728f, -0.002005f, -0.002161f, -0.002188f, -0.002085f, -0.001854f, -0.001504f, -0.001048f, -0.000501f, 0.000114f, 0.000775f, 0.001455f, 0.002127f, 0.002765f, 0.003342f, 0.003835f, 0.004222f, 0.004485f, 0.004613f, 0.004596f, 0.004433f, 0.004127f, 0.003686f, 0.003124f, 0.002460f, 0.001716f, 0.000917f, 0.000093f, - -0.000728f, -0.001515f, -0.002241f, -0.002879f, -0.003406f, -0.003801f, -0.004051f, -0.004146f, -0.004082f, -0.003861f, -0.003492f, -0.002988f, -0.002368f, -0.001654f, -0.000873f, -0.000055f, 0.000770f, 0.001572f, 0.002319f, 0.002985f, 0.003543f, 0.003974f, 0.004260f, 0.004391f, 0.004362f, 0.004174f, 0.003834f, 0.003355f, 0.002754f, 0.002054f, 0.001281f, 0.000466f, -0.000363f, -0.001173f, -0.001934f, -0.002618f, -0.003198f, -0.003654f, -0.003967f, -0.004127f, -0.004128f, -0.003969f, -0.003658f, -0.003206f, -0.002631f, -0.001955f, -0.001204f, -0.000406f, -0.017226f, -0.012013f, 0.028321f, 0.030423f, 0.022893f, 0.033501f, 0.060821f, 0.088080f, 0.112243f, -0.154253f, -0.203443f, -0.058316f, 0.012445f, -0.055654f, -0.021804f, 0.008967f, -0.035061f, -0.095283f, 0.000718f, -0.050392f, 0.018996f, 0.055789f, -0.032982f, 0.007091f, -0.094774f, -0.026985f, -0.048263f, 0.071591f, 0.107635f, -0.011283f, -0.017843f, -0.025335f, 0.054642f, 0.015553f, -0.014738f, -0.028520f, -0.050245f, -0.062858f, 0.068352f, 0.030551f, 0.019679f, -0.052072f, -0.057232f, -0.021821f, 0.070286f, 0.113515f, 0.071628f, -0.027134f, - 0.012002f, -0.068095f, -0.094405f, -0.068474f, 0.058745f, 0.073551f, 0.048971f, -0.047774f, -0.095484f, -0.136276f, 0.020782f, 0.008228f, 0.156104f, 0.089359f, -0.090499f, -0.174599f, -0.045334f, -0.164127f, -0.055132f, 0.122527f, 0.092643f, 0.072552f, -0.080633f, -0.116478f, -0.056780f, 0.140743f, 0.260926f, 0.168795f, 0.133615f, 0.060155f, -0.178317f, -0.217051f, 0.005971f, 0.165801f, 0.140198f, 0.114298f, 0.209628f, -0.119419f, -0.231336f, -0.219009f, -0.076439f, 0.087801f, 0.201419f, 0.123932f, -0.079096f, -0.213570f, -0.193245f, -0.071682f, 0.105801f, 0.155119f, -0.036797f, -0.147391f, -0.158791f, -0.027849f, 0.132063f, 0.217392f, 0.063462f, -0.120396f, -0.255590f, -0.137794f, 0.053665f, 0.330210f, 0.344688f, 0.158570f, -0.200625f, -0.367654f, -0.189377f, 0.125986f, 0.191932f, 0.177880f, 0.044655f, -0.177784f, -0.243707f, -0.166341f, 0.059203f, 0.181411f, 0.141760f, 0.105250f, -0.101497f, -0.204489f, -0.162081f, -0.018700f, 0.128499f, 0.199396f, 0.101125f, -0.091973f, -0.230468f, -0.135103f, 0.041913f, 0.203133f, 0.185174f, 0.090538f, -0.079898f, -0.180571f, -0.130038f, 0.027597f, - 0.089495f, 0.090417f, 0.024452f, 0.007223f, -0.068041f, -0.110296f, -0.065420f, 0.023719f, 0.095513f, 0.089005f, -0.002369f, -0.124344f, -0.110889f, -0.042596f, 0.026849f, 0.096845f, 0.081131f, 0.002341f, -0.095227f, -0.102042f, -0.044684f, 0.010971f, 0.063710f, 0.034114f, 0.001677f, -0.030173f, -0.013740f, 0.000268f, 0.021227f, 0.043999f, 0.001913f, -0.026924f, -0.041319f, 0.015041f, 0.054437f, 0.130356f, -0.047521f, -0.167756f, -0.184390f, -0.033196f, 0.121109f, 0.184845f, 0.054031f, -0.118381f, -0.199260f, -0.079203f, 0.103129f, 0.191235f, 0.059463f, -0.122197f, -0.182977f, -0.024420f, 0.135288f, 0.134242f, -0.050368f, -0.146347f, -0.040904f, 0.109526f, 0.032549f, -0.056726f, -0.019439f, 0.025118f, -0.005572f, -0.001777f, -0.007640f, -0.000271f, -0.005556f, 0.003630f, -0.004957f, 0.004408f, -0.004800f, 0.003228f, -0.002972f, 0.004344f, -0.003459f, 0.002986f, -0.006276f, 0.004350f, -0.002435f, 0.004030f, -0.004971f, 0.003604f, -0.005546f, 0.007147f, -0.005138f, 0.005555f, -0.006601f, 0.002204f, -0.005298f, 0.004820f, -0.003456f, 0.001146f, -0.004085f, 0.002134f, -0.001776f, 0.006348f} - }, - { - {0.002823f, 0.008389f, 0.013718f, 0.018663f, 0.023087f, 0.026869f, 0.029913f, 0.032143f, 0.033511f, 0.033996f, 0.033606f, 0.032375f, 0.030364f, 0.027658f, 0.024363f, 0.020601f, 0.016506f, 0.012223f, 0.007896f, 0.003669f, -0.000321f, -0.003949f, -0.007105f, -0.009700f, -0.011666f, -0.012957f, -0.013555f, -0.013467f, -0.012723f, -0.011378f, -0.009508f, -0.007205f, -0.004577f, -0.001742f, 0.001176f, 0.004055f, 0.006772f, 0.009215f, 0.011282f, 0.012888f, 0.013963f, 0.014463f, 0.014361f, 0.013656f, 0.012367f, 0.010538f, 0.008230f, 0.005521f, 0.002507f, -0.000709f, -0.004016f, -0.007300f, -0.010448f, -0.013354f, -0.015920f, -0.018061f, -0.019709f, -0.020812f, -0.021339f, -0.021280f, -0.020645f, -0.019465f, -0.017788f, -0.015681f, -0.013224f, -0.010508f, -0.007634f, -0.004703f, -0.001820f, 0.000915f, 0.003409f, 0.005581f, 0.007360f, 0.008693f, 0.009542f, 0.009890f, 0.009735f, 0.009098f, 0.008012f, 0.006530f, 0.004715f, 0.002644f, 0.000400f, -0.001930f, -0.004255f, -0.006490f, -0.008552f, -0.010368f, -0.011876f, -0.013026f, -0.013783f, -0.014130f, -0.014062f, -0.013593f, -0.012752f, -0.011581f, - -0.010133f, -0.008474f, -0.006673f, -0.004805f, -0.002947f, -0.001172f, 0.000449f, 0.001855f, 0.002993f, 0.003823f, 0.004317f, 0.004461f, 0.004257f, 0.003718f, 0.002874f, 0.001765f, 0.000442f, -0.001035f, -0.002601f, -0.004187f, -0.005723f, -0.007142f, -0.008382f, -0.009387f, -0.010111f, -0.010518f, -0.010586f, -0.010304f, -0.009677f, -0.008721f, -0.007466f, -0.005953f, -0.004231f, -0.002360f, -0.000403f, 0.001572f, 0.003499f, 0.005312f, 0.006948f, 0.008354f, 0.009484f, 0.010301f, 0.010781f, 0.010912f, 0.010694f, 0.010139f, 0.009271f, 0.008126f, 0.006747f, 0.005185f, 0.003497f, 0.001744f, -0.000014f, -0.001718f, -0.003312f, -0.004745f, -0.005974f, -0.006966f, -0.007695f, -0.008148f, -0.008322f, -0.008224f, -0.007872f, -0.007293f, -0.006522f, -0.005599f, -0.004569f, -0.003480f, -0.002381f, -0.001318f, -0.000335f, 0.000531f, 0.001246f, 0.001787f, 0.002138f, 0.002292f, 0.002251f, 0.002026f, 0.001637f, 0.001110f, 0.000477f, -0.000225f, -0.000958f, -0.001679f, -0.002351f, -0.002936f, -0.003401f, -0.003718f, -0.003867f, -0.003834f, -0.003615f, -0.003212f, -0.002637f, -0.001909f, -0.001054f, -0.000104f, - 0.000904f, 0.001932f, 0.002939f, 0.003884f, 0.004730f, 0.005443f, 0.005992f, 0.006355f, 0.006517f, 0.006469f, 0.006213f, 0.005757f, 0.005118f, 0.004320f, 0.003395f, 0.002378f, 0.001308f, 0.000226f, -0.000824f, -0.001802f, -0.002672f, -0.003398f, -0.003953f, -0.004317f, -0.004477f, -0.004427f, -0.004171f, -0.003721f, -0.003096f, -0.002324f, -0.001436f, -0.000471f, 0.000533f, 0.001532f, 0.002486f, 0.003354f, 0.004101f, 0.004694f, 0.005110f, 0.005330f, 0.005344f, 0.005150f, 0.004755f, 0.004175f, 0.003431f, 0.002551f, 0.001572f, 0.000531f, -0.025688f, 0.026915f, -0.008551f, -0.003691f, -0.022601f, -0.000660f, -0.156528f, -0.111393f, 0.028493f, 0.108824f, 0.104758f, 0.065063f, 0.026530f, 0.213562f, 0.082655f, -0.061031f, -0.117392f, -0.066242f, 0.072011f, 0.041473f, -0.014914f, -0.097632f, -0.041251f, -0.081319f, 0.004432f, 0.010078f, 0.037392f, 0.044746f, 0.051890f, -0.005366f, -0.064750f, -0.128326f, -0.085975f, 0.083484f, 0.137437f, 0.073582f, 0.001098f, -0.053269f, -0.120250f, 0.054962f, 0.016628f, -0.181935f, -0.023235f, -0.049819f, 0.135352f, 0.140517f, 0.115850f, -0.150025f, - -0.246660f, -0.254713f, 0.010057f, 0.217888f, 0.425324f, 0.170587f, -0.000894f, -0.366132f, -0.390544f, -0.248375f, 0.184205f, 0.154963f, 0.288394f, 0.122914f, -0.153765f, -0.193585f, -0.006970f, -0.150889f, -0.112666f, -0.021523f, -0.064199f, -0.061539f, -0.070544f, 0.060940f, 0.154890f, 0.167767f, 0.034782f, -0.101531f, -0.250810f, -0.230540f, 0.019017f, 0.347077f, 0.277001f, 0.085076f, -0.242863f, -0.095458f, -0.042193f, 0.130637f, 0.092155f, -0.057397f, -0.199128f, -0.145930f, 0.044730f, 0.234143f, 0.243780f, 0.023978f, -0.278476f, -0.308623f, -0.219451f, 0.162768f, 0.334214f, 0.210667f, -0.033177f, -0.258524f, -0.246503f, -0.028790f, 0.263949f, 0.345040f, 0.216509f, -0.075180f, -0.255710f, -0.257503f, -0.115401f, 0.083209f, 0.221638f, 0.156401f, -0.024868f, -0.200868f, -0.087228f, 0.018970f, 0.088801f, 0.115951f, 0.072505f, -0.017732f, -0.009354f, -0.023435f, -0.018067f, 0.014657f, 0.031956f, 0.057493f, 0.079698f, 0.112267f, 0.000138f, -0.113165f, -0.157296f, -0.056569f, 0.107155f, 0.278913f, 0.245623f, 0.007285f, -0.245854f, -0.298588f, -0.180016f, 0.096249f, 0.281524f, 0.268503f, - 0.076388f, -0.160191f, -0.288207f, -0.124868f, 0.152759f, 0.261110f, 0.166910f, -0.006599f, -0.177852f, -0.162466f, -0.039010f, 0.089040f, 0.132594f, 0.118348f, 0.001736f, -0.111109f, -0.102237f, -0.018782f, 0.077950f, 0.136106f, 0.067304f, -0.033510f, -0.146148f, -0.119064f, -0.014996f, 0.123470f, 0.149227f, 0.065867f, -0.056608f, -0.146168f, -0.095006f, -0.020288f, 0.077417f, 0.084737f, 0.060939f, -0.093503f, -0.197415f, -0.057628f, 0.116799f, 0.213634f, 0.084091f, -0.102030f, -0.200069f, -0.070761f, 0.108761f, 0.181640f, 0.047338f, -0.102865f, -0.140615f, -0.008568f, 0.099425f, 0.097485f, -0.022045f, -0.079000f, -0.045199f, 0.048425f, 0.054467f, -0.007508f, -0.041201f, 0.012327f, 0.007542f, 0.002916f, -0.005532f, 0.005379f, -0.002943f, 0.005489f, -0.002093f, 0.006741f, -0.002504f, 0.004367f, -0.005957f, 0.003284f, -0.003766f, 0.004741f, -0.004155f, 0.006042f, -0.003084f, 0.006195f, -0.001465f, 0.004644f, -0.006098f, 0.005356f, -0.003579f, 0.005223f, -0.004932f, 0.004642f, -0.004095f, 0.004139f, -0.004242f, 0.005984f, -0.005431f, 0.003672f, -0.004344f, 0.005198f, -0.003723f, 0.004351f}, - {-0.002823f, -0.008389f, -0.013718f, -0.018663f, -0.023087f, -0.026869f, -0.029913f, -0.032143f, -0.033511f, -0.033996f, -0.033606f, -0.032375f, -0.030364f, -0.027658f, -0.024363f, -0.020601f, -0.016506f, -0.012223f, -0.007896f, -0.003669f, 0.000321f, 0.003949f, 0.007105f, 0.009700f, 0.011666f, 0.012957f, 0.013555f, 0.013467f, 0.012723f, 0.011378f, 0.009508f, 0.007205f, 0.004577f, 0.001742f, -0.001176f, -0.004055f, -0.006772f, -0.009215f, -0.011282f, -0.012888f, -0.013963f, -0.014463f, -0.014361f, -0.013656f, -0.012367f, -0.010538f, -0.008230f, -0.005521f, -0.002507f, 0.000709f, 0.004016f, 0.007300f, 0.010448f, 0.013354f, 0.015920f, 0.018061f, 0.019709f, 0.020812f, 0.021339f, 0.021280f, 0.020645f, 0.019465f, 0.017788f, 0.015681f, 0.013224f, 0.010508f, 0.007634f, 0.004703f, 0.001820f, -0.000915f, -0.003409f, -0.005581f, -0.007360f, -0.008693f, -0.009542f, -0.009890f, -0.009735f, -0.009098f, -0.008012f, -0.006530f, -0.004715f, -0.002644f, -0.000400f, 0.001930f, 0.004255f, 0.006490f, 0.008552f, 0.010368f, 0.011876f, 0.013026f, 0.013783f, 0.014130f, 0.014062f, 0.013593f, 0.012752f, 0.011581f, - 0.010133f, 0.008474f, 0.006673f, 0.004805f, 0.002947f, 0.001172f, -0.000449f, -0.001855f, -0.002993f, -0.003823f, -0.004317f, -0.004461f, -0.004257f, -0.003718f, -0.002874f, -0.001765f, -0.000442f, 0.001035f, 0.002601f, 0.004187f, 0.005723f, 0.007142f, 0.008382f, 0.009387f, 0.010111f, 0.010518f, 0.010586f, 0.010304f, 0.009677f, 0.008721f, 0.007466f, 0.005953f, 0.004231f, 0.002360f, 0.000403f, -0.001572f, -0.003499f, -0.005312f, -0.006948f, -0.008354f, -0.009484f, -0.010301f, -0.010781f, -0.010912f, -0.010694f, -0.010139f, -0.009271f, -0.008126f, -0.006747f, -0.005185f, -0.003497f, -0.001744f, 0.000014f, 0.001718f, 0.003312f, 0.004745f, 0.005974f, 0.006966f, 0.007695f, 0.008148f, 0.008322f, 0.008224f, 0.007872f, 0.007293f, 0.006522f, 0.005599f, 0.004569f, 0.003480f, 0.002381f, 0.001318f, 0.000335f, -0.000531f, -0.001246f, -0.001787f, -0.002138f, -0.002292f, -0.002251f, -0.002026f, -0.001637f, -0.001110f, -0.000477f, 0.000225f, 0.000958f, 0.001679f, 0.002351f, 0.002936f, 0.003401f, 0.003718f, 0.003867f, 0.003834f, 0.003615f, 0.003212f, 0.002637f, 0.001909f, 0.001054f, 0.000104f, - -0.000904f, -0.001932f, -0.002939f, -0.003884f, -0.004730f, -0.005443f, -0.005992f, -0.006355f, -0.006517f, -0.006469f, -0.006213f, -0.005757f, -0.005118f, -0.004320f, -0.003395f, -0.002378f, -0.001308f, -0.000226f, 0.000824f, 0.001802f, 0.002672f, 0.003398f, 0.003953f, 0.004317f, 0.004477f, 0.004427f, 0.004171f, 0.003721f, 0.003096f, 0.002324f, 0.001436f, 0.000471f, -0.000533f, -0.001532f, -0.002486f, -0.003354f, -0.004101f, -0.004694f, -0.005110f, -0.005330f, -0.005344f, -0.005150f, -0.004755f, -0.004175f, -0.003431f, -0.002551f, -0.001572f, -0.000531f, 0.025688f, -0.026915f, 0.008551f, 0.003691f, 0.022601f, 0.000660f, 0.156528f, 0.111393f, -0.028493f, -0.108824f, -0.104758f, -0.065063f, -0.026530f, -0.213562f, -0.082655f, 0.061031f, 0.117392f, 0.066242f, -0.072011f, -0.041473f, 0.014914f, 0.097632f, 0.041251f, 0.081319f, -0.004432f, -0.010078f, -0.037392f, -0.044746f, -0.051890f, 0.005366f, 0.064750f, 0.128326f, 0.085975f, -0.083484f, -0.137437f, -0.073582f, -0.001098f, 0.053269f, 0.120250f, -0.054962f, -0.016628f, 0.181935f, 0.023235f, 0.049819f, -0.135352f, -0.140517f, -0.115850f, 0.150025f, - 0.246660f, 0.254713f, -0.010057f, -0.217888f, -0.425324f, -0.170587f, 0.000894f, 0.366132f, 0.390544f, 0.248375f, -0.184205f, -0.154963f, -0.288394f, -0.122914f, 0.153765f, 0.193585f, 0.006970f, 0.150889f, 0.112666f, 0.021523f, 0.064199f, 0.061539f, 0.070544f, -0.060940f, -0.154890f, -0.167767f, -0.034782f, 0.101531f, 0.250810f, 0.230540f, -0.019017f, -0.347077f, -0.277001f, -0.085076f, 0.242863f, 0.095458f, 0.042193f, -0.130637f, -0.092155f, 0.057397f, 0.199128f, 0.145930f, -0.044730f, -0.234143f, -0.243780f, -0.023978f, 0.278476f, 0.308623f, 0.219451f, -0.162768f, -0.334214f, -0.210667f, 0.033177f, 0.258524f, 0.246503f, 0.028790f, -0.263949f, -0.345040f, -0.216509f, 0.075180f, 0.255710f, 0.257503f, 0.115401f, -0.083209f, -0.221638f, -0.156401f, 0.024868f, 0.200868f, 0.087228f, -0.018970f, -0.088801f, -0.115951f, -0.072505f, 0.017732f, 0.009354f, 0.023435f, 0.018067f, -0.014657f, -0.031956f, -0.057493f, -0.079698f, -0.112267f, -0.000138f, 0.113165f, 0.157296f, 0.056569f, -0.107155f, -0.278913f, -0.245623f, -0.007285f, 0.245854f, 0.298588f, 0.180016f, -0.096249f, -0.281524f, -0.268503f, - -0.076388f, 0.160191f, 0.288207f, 0.124868f, -0.152759f, -0.261110f, -0.166910f, 0.006599f, 0.177852f, 0.162466f, 0.039010f, -0.089040f, -0.132594f, -0.118348f, -0.001736f, 0.111109f, 0.102237f, 0.018782f, -0.077950f, -0.136106f, -0.067304f, 0.033510f, 0.146148f, 0.119064f, 0.014996f, -0.123470f, -0.149227f, -0.065867f, 0.056608f, 0.146168f, 0.095006f, 0.020288f, -0.077417f, -0.084737f, -0.060939f, 0.093503f, 0.197415f, 0.057628f, -0.116799f, -0.213634f, -0.084091f, 0.102030f, 0.200069f, 0.070761f, -0.108761f, -0.181640f, -0.047338f, 0.102865f, 0.140615f, 0.008568f, -0.099425f, -0.097485f, 0.022045f, 0.079000f, 0.045199f, -0.048425f, -0.054467f, 0.007508f, 0.041201f, -0.012327f, -0.007542f, -0.002916f, 0.005532f, -0.005379f, 0.002943f, -0.005489f, 0.002093f, -0.006741f, 0.002504f, -0.004367f, 0.005957f, -0.003284f, 0.003766f, -0.004741f, 0.004155f, -0.006042f, 0.003084f, -0.006195f, 0.001465f, -0.004644f, 0.006098f, -0.005356f, 0.003579f, -0.005223f, 0.004932f, -0.004642f, 0.004095f, -0.004139f, 0.004242f, -0.005984f, 0.005431f, -0.003672f, 0.004344f, -0.005198f, 0.003723f, -0.004351f} - }, - { - {0.001322f, 0.003935f, 0.006454f, 0.008823f, 0.010990f, 0.012913f, 0.014559f, 0.015910f, 0.016958f, 0.017708f, 0.018180f, 0.018402f, 0.018417f, 0.018273f, 0.018026f, 0.017734f, 0.017457f, 0.017253f, 0.017173f, 0.017263f, 0.017556f, 0.018075f, 0.018827f, 0.019806f, 0.020989f, 0.022340f, 0.023806f, 0.025324f, 0.026820f, 0.028211f, 0.029412f, 0.030333f, 0.030889f, 0.031000f, 0.030596f, 0.029620f, 0.028029f, 0.025801f, 0.022932f, 0.019439f, 0.015364f, 0.010767f, 0.005729f, 0.000352f, -0.005250f, -0.010946f, -0.016601f, -0.022070f, -0.027213f, -0.031890f, -0.035972f, -0.039343f, -0.041903f, -0.043576f, -0.044305f, -0.044062f, -0.042844f, -0.040677f, -0.037614f, -0.033732f, -0.029132f, -0.023937f, -0.018286f, -0.012331f, -0.006230f, -0.000148f, 0.005754f, 0.011323f, 0.016416f, 0.020904f, 0.024682f, 0.027663f, 0.029787f, 0.031022f, 0.031361f, 0.030824f, 0.029458f, 0.027331f, 0.024536f, 0.021179f, 0.017383f, 0.013279f, 0.009000f, 0.004684f, 0.000460f, -0.003551f, -0.007238f, -0.010511f, -0.013294f, -0.015534f, -0.017202f, -0.018289f, -0.018808f, -0.018794f, -0.018299f, -0.017394f, - -0.016159f, -0.014687f, -0.013074f, -0.011419f, -0.009818f, -0.008360f, -0.007125f, -0.006182f, -0.005580f, -0.005356f, -0.005525f, -0.006084f, -0.007015f, -0.008277f, -0.009817f, -0.011568f, -0.013452f, -0.015384f, -0.017274f, -0.019033f, -0.020574f, -0.021819f, -0.022695f, -0.023147f, -0.023132f, -0.022623f, -0.021611f, -0.020105f, -0.018133f, -0.015736f, -0.012973f, -0.009914f, -0.006640f, -0.003239f, 0.000198f, 0.003579f, 0.006813f, 0.009818f, 0.012520f, 0.014855f, 0.016775f, 0.018244f, 0.019247f, 0.019780f, 0.019859f, 0.019513f, 0.018788f, 0.017739f, 0.016430f, 0.014934f, 0.013327f, 0.011684f, 0.010080f, 0.008584f, 0.007256f, 0.006146f, 0.005294f, 0.004724f, 0.004447f, 0.004460f, 0.004745f, 0.005272f, 0.005999f, 0.006873f, 0.007837f, 0.008825f, 0.009773f, 0.010616f, 0.011293f, 0.011749f, 0.011938f, 0.011825f, 0.011387f, 0.010615f, 0.009512f, 0.008099f, 0.006405f, 0.004475f, 0.002364f, 0.000133f, -0.002148f, -0.004406f, -0.006569f, -0.008566f, -0.010332f, -0.011806f, -0.012942f, -0.013701f, -0.014060f, -0.014009f, -0.013554f, -0.012712f, -0.011516f, -0.010013f, -0.008257f, -0.006312f, - -0.004251f, -0.002146f, -0.000073f, 0.001895f, 0.003690f, 0.005252f, 0.006529f, 0.007482f, 0.008083f, 0.008319f, 0.008192f, 0.007716f, 0.006918f, 0.005840f, 0.004531f, 0.003050f, 0.001461f, -0.000167f, -0.001766f, -0.003271f, -0.004619f, -0.005755f, -0.006635f, -0.007225f, -0.007501f, -0.007454f, -0.007090f, -0.006424f, -0.005486f, -0.004316f, -0.002964f, -0.001486f, 0.000056f, 0.001598f, 0.003076f, 0.004430f, 0.005603f, 0.006548f, 0.007227f, 0.007610f, 0.007683f, 0.007443f, 0.006899f, 0.006074f, 0.005002f, 0.003726f, 0.002298f, 0.000777f, -0.030696f, 0.010079f, -0.038675f, 0.012582f, -0.040801f, 0.045322f, 0.035278f, -0.097745f, -0.078951f, 0.014559f, -0.086888f, -0.091152f, 0.053565f, -0.108519f, -0.285451f, -0.115492f, 0.174039f, 0.213796f, 0.243672f, -0.145965f, 0.017388f, 0.185458f, 0.179834f, -0.035021f, -0.162928f, -0.117639f, -0.077068f, 0.058654f, 0.229831f, 0.175223f, 0.046760f, -0.150464f, -0.165831f, -0.118794f, 0.039510f, 0.116700f, 0.173975f, 0.016928f, -0.057488f, -0.115028f, -0.092878f, 0.005873f, 0.141806f, 0.125902f, 0.030814f, -0.131927f, -0.150309f, -0.081015f, - -0.030206f, 0.022789f, 0.121464f, 0.113373f, 0.153768f, 0.011404f, -0.081105f, -0.307289f, -0.230855f, -0.079987f, 0.219398f, 0.020953f, 0.139568f, 0.076876f, -0.106696f, -0.202691f, -0.072874f, -0.212543f, -0.238707f, 0.008286f, 0.086439f, 0.133956f, -0.003077f, -0.030179f, -0.044500f, 0.169272f, 0.012399f, 0.043748f, -0.335844f, -0.427871f, 0.029599f, 0.301234f, 0.250250f, 0.067467f, -0.179678f, -0.363815f, -0.593776f, -0.157676f, 0.327665f, 0.584992f, 0.348499f, -0.048251f, -0.391810f, -0.372665f, -0.160141f, 0.241420f, 0.352707f, 0.236621f, -0.001022f, -0.134055f, -0.053121f, 0.141937f, 0.146798f, -0.055752f, -0.132145f, -0.096131f, 0.042013f, 0.164349f, 0.158217f, 0.000641f, -0.119515f, -0.161831f, -0.052040f, 0.024591f, 0.117203f, 0.055545f, -0.216649f, -0.214301f, -0.030497f, 0.038761f, 0.075765f, 0.040536f, -0.036389f, -0.103000f, -0.034191f, 0.044298f, 0.034372f, 0.036930f, 0.015048f, 0.003259f, -0.027983f, 0.049992f, 0.082727f, 0.012939f, -0.043868f, -0.091831f, -0.011452f, 0.085173f, 0.104380f, 0.071771f, 0.001449f, -0.092150f, -0.112132f, 0.005303f, 0.141831f, 0.155707f, - 0.010751f, -0.163970f, -0.245046f, -0.148464f, 0.078076f, 0.270186f, 0.300173f, 0.099280f, -0.205232f, -0.380479f, -0.317213f, 0.056430f, 0.345089f, 0.427063f, 0.189260f, -0.159506f, -0.416259f, -0.340820f, -0.060319f, 0.260954f, 0.388964f, 0.267633f, -0.113508f, -0.379353f, -0.350004f, -0.086303f, 0.208950f, 0.285451f, 0.142200f, -0.078494f, -0.215562f, -0.149965f, 0.034041f, 0.192228f, 0.234471f, 0.017520f, -0.298944f, -0.295611f, -0.045851f, 0.268164f, 0.308789f, 0.082452f, -0.227730f, -0.294581f, -0.082215f, 0.211627f, 0.266252f, 0.067987f, -0.185676f, -0.223757f, -0.027744f, 0.188095f, 0.173846f, -0.024262f, -0.178182f, -0.080763f, 0.112276f, 0.111610f, -0.054879f, -0.058273f, 0.025991f, 0.023344f, -0.007588f, 0.000557f, -0.001454f, 0.002463f, 0.000901f, 0.003014f, -0.002952f, 0.000982f, 0.000588f, 0.004419f, -0.000529f, -0.000775f, -0.001110f, 0.001083f, 0.000192f, 0.003196f, -0.001687f, -0.001023f, -0.001387f, 0.003966f, -0.002321f, 0.005528f, -0.002013f, -0.000908f, -0.004451f, 0.001728f, 0.001047f, 0.002773f, -0.001200f, 0.002569f, -0.001884f, 0.003416f, -0.005666f, 0.000214f}, - {0.001322f, 0.003935f, 0.006454f, 0.008823f, 0.010990f, 0.012913f, 0.014559f, 0.015910f, 0.016958f, 0.017708f, 0.018180f, 0.018402f, 0.018417f, 0.018273f, 0.018026f, 0.017734f, 0.017457f, 0.017253f, 0.017173f, 0.017263f, 0.017556f, 0.018075f, 0.018827f, 0.019806f, 0.020989f, 0.022340f, 0.023806f, 0.025324f, 0.026820f, 0.028211f, 0.029412f, 0.030333f, 0.030889f, 0.031000f, 0.030596f, 0.029620f, 0.028029f, 0.025801f, 0.022932f, 0.019439f, 0.015364f, 0.010767f, 0.005729f, 0.000352f, -0.005250f, -0.010946f, -0.016601f, -0.022070f, -0.027213f, -0.031890f, -0.035972f, -0.039343f, -0.041903f, -0.043576f, -0.044305f, -0.044062f, -0.042844f, -0.040677f, -0.037614f, -0.033732f, -0.029132f, -0.023937f, -0.018286f, -0.012331f, -0.006230f, -0.000148f, 0.005754f, 0.011323f, 0.016416f, 0.020904f, 0.024682f, 0.027663f, 0.029787f, 0.031022f, 0.031361f, 0.030824f, 0.029458f, 0.027331f, 0.024536f, 0.021179f, 0.017383f, 0.013279f, 0.009000f, 0.004684f, 0.000460f, -0.003551f, -0.007238f, -0.010511f, -0.013294f, -0.015534f, -0.017202f, -0.018289f, -0.018808f, -0.018794f, -0.018299f, -0.017394f, - -0.016159f, -0.014687f, -0.013074f, -0.011419f, -0.009818f, -0.008360f, -0.007125f, -0.006182f, -0.005580f, -0.005356f, -0.005525f, -0.006084f, -0.007015f, -0.008277f, -0.009817f, -0.011568f, -0.013452f, -0.015384f, -0.017274f, -0.019033f, -0.020574f, -0.021819f, -0.022695f, -0.023147f, -0.023132f, -0.022623f, -0.021611f, -0.020105f, -0.018133f, -0.015736f, -0.012973f, -0.009914f, -0.006640f, -0.003239f, 0.000198f, 0.003579f, 0.006813f, 0.009818f, 0.012520f, 0.014855f, 0.016775f, 0.018244f, 0.019247f, 0.019780f, 0.019859f, 0.019513f, 0.018788f, 0.017739f, 0.016430f, 0.014934f, 0.013327f, 0.011684f, 0.010080f, 0.008584f, 0.007256f, 0.006146f, 0.005294f, 0.004724f, 0.004447f, 0.004460f, 0.004745f, 0.005272f, 0.005999f, 0.006873f, 0.007837f, 0.008825f, 0.009773f, 0.010616f, 0.011293f, 0.011749f, 0.011938f, 0.011825f, 0.011387f, 0.010615f, 0.009512f, 0.008099f, 0.006405f, 0.004475f, 0.002364f, 0.000133f, -0.002148f, -0.004406f, -0.006569f, -0.008566f, -0.010332f, -0.011806f, -0.012942f, -0.013701f, -0.014060f, -0.014009f, -0.013554f, -0.012712f, -0.011516f, -0.010013f, -0.008257f, -0.006312f, - -0.004251f, -0.002146f, -0.000073f, 0.001895f, 0.003690f, 0.005252f, 0.006529f, 0.007482f, 0.008083f, 0.008319f, 0.008192f, 0.007716f, 0.006918f, 0.005840f, 0.004531f, 0.003050f, 0.001461f, -0.000167f, -0.001766f, -0.003271f, -0.004619f, -0.005755f, -0.006635f, -0.007225f, -0.007501f, -0.007454f, -0.007090f, -0.006424f, -0.005486f, -0.004316f, -0.002964f, -0.001486f, 0.000056f, 0.001598f, 0.003076f, 0.004430f, 0.005603f, 0.006548f, 0.007227f, 0.007610f, 0.007683f, 0.007443f, 0.006899f, 0.006074f, 0.005002f, 0.003726f, 0.002298f, 0.000777f, -0.030696f, 0.010079f, -0.038675f, 0.012582f, -0.040801f, 0.045322f, 0.035278f, -0.097745f, -0.078951f, 0.014559f, -0.086888f, -0.091152f, 0.053565f, -0.108519f, -0.285451f, -0.115492f, 0.174039f, 0.213796f, 0.243672f, -0.145965f, 0.017388f, 0.185458f, 0.179834f, -0.035021f, -0.162928f, -0.117639f, -0.077068f, 0.058654f, 0.229831f, 0.175223f, 0.046760f, -0.150464f, -0.165831f, -0.118794f, 0.039510f, 0.116700f, 0.173975f, 0.016928f, -0.057488f, -0.115028f, -0.092878f, 0.005873f, 0.141806f, 0.125902f, 0.030814f, -0.131927f, -0.150309f, -0.081015f, - -0.030206f, 0.022789f, 0.121464f, 0.113373f, 0.153768f, 0.011404f, -0.081105f, -0.307289f, -0.230855f, -0.079987f, 0.219398f, 0.020953f, 0.139568f, 0.076876f, -0.106696f, -0.202691f, -0.072874f, -0.212543f, -0.238707f, 0.008286f, 0.086439f, 0.133956f, -0.003077f, -0.030179f, -0.044500f, 0.169272f, 0.012399f, 0.043748f, -0.335844f, -0.427871f, 0.029599f, 0.301234f, 0.250250f, 0.067467f, -0.179678f, -0.363815f, -0.593776f, -0.157676f, 0.327665f, 0.584992f, 0.348499f, -0.048251f, -0.391810f, -0.372665f, -0.160141f, 0.241420f, 0.352707f, 0.236621f, -0.001022f, -0.134055f, -0.053121f, 0.141937f, 0.146798f, -0.055752f, -0.132145f, -0.096131f, 0.042013f, 0.164349f, 0.158217f, 0.000641f, -0.119515f, -0.161831f, -0.052040f, 0.024591f, 0.117203f, 0.055545f, -0.216649f, -0.214301f, -0.030497f, 0.038761f, 0.075765f, 0.040536f, -0.036389f, -0.103000f, -0.034191f, 0.044298f, 0.034372f, 0.036930f, 0.015048f, 0.003259f, -0.027983f, 0.049992f, 0.082727f, 0.012939f, -0.043868f, -0.091831f, -0.011452f, 0.085173f, 0.104380f, 0.071771f, 0.001449f, -0.092150f, -0.112132f, 0.005303f, 0.141831f, 0.155707f, - 0.010751f, -0.163970f, -0.245046f, -0.148464f, 0.078076f, 0.270186f, 0.300173f, 0.099280f, -0.205232f, -0.380479f, -0.317213f, 0.056430f, 0.345089f, 0.427063f, 0.189260f, -0.159506f, -0.416259f, -0.340820f, -0.060319f, 0.260954f, 0.388964f, 0.267633f, -0.113508f, -0.379353f, -0.350004f, -0.086303f, 0.208950f, 0.285451f, 0.142200f, -0.078494f, -0.215562f, -0.149965f, 0.034041f, 0.192228f, 0.234471f, 0.017520f, -0.298944f, -0.295611f, -0.045851f, 0.268164f, 0.308789f, 0.082452f, -0.227730f, -0.294581f, -0.082215f, 0.211627f, 0.266252f, 0.067987f, -0.185676f, -0.223757f, -0.027744f, 0.188095f, 0.173846f, -0.024262f, -0.178182f, -0.080763f, 0.112276f, 0.111610f, -0.054879f, -0.058273f, 0.025991f, 0.023344f, -0.007588f, 0.000557f, -0.001454f, 0.002463f, 0.000901f, 0.003014f, -0.002952f, 0.000982f, 0.000588f, 0.004419f, -0.000529f, -0.000775f, -0.001110f, 0.001083f, 0.000192f, 0.003196f, -0.001687f, -0.001023f, -0.001387f, 0.003966f, -0.002321f, 0.005528f, -0.002013f, -0.000908f, -0.004451f, 0.001728f, 0.001047f, 0.002773f, -0.001200f, 0.002569f, -0.001884f, 0.003416f, -0.005666f, 0.000214f} - }, - { - {0.000429f, 0.001272f, 0.002066f, 0.002781f, 0.003390f, 0.003873f, 0.004214f, 0.004402f, 0.004438f, 0.004326f, 0.004079f, 0.003719f, 0.003271f, 0.002769f, 0.002248f, 0.001749f, 0.001312f, 0.000979f, 0.000788f, 0.000775f, 0.000970f, 0.001397f, 0.002072f, 0.003001f, 0.004181f, 0.005599f, 0.007231f, 0.009046f, 0.010999f, 0.013041f, 0.015114f, 0.017154f, 0.019095f, 0.020868f, 0.022405f, 0.023641f, 0.024517f, 0.024978f, 0.024980f, 0.024489f, 0.023484f, 0.021955f, 0.019907f, 0.017361f, 0.014349f, 0.010918f, 0.007130f, 0.003053f, -0.001229f, -0.005629f, -0.010052f, -0.014400f, -0.018576f, -0.022483f, -0.026031f, -0.029135f, -0.031720f, -0.033725f, -0.035098f, -0.035806f, -0.035830f, -0.035166f, -0.033829f, -0.031849f, -0.029272f, -0.026158f, -0.022579f, -0.018619f, -0.014370f, -0.009930f, -0.005400f, -0.000884f, 0.003519f, 0.007712f, 0.011607f, 0.015122f, 0.018190f, 0.020756f, 0.022777f, 0.024227f, 0.025095f, 0.025387f, 0.025121f, 0.024332f, 0.023068f, 0.021387f, 0.019357f, 0.017056f, 0.014564f, 0.011967f, 0.009348f, 0.006792f, 0.004377f, 0.002175f, 0.000251f, -0.001340f, - -0.002556f, -0.003366f, -0.003753f, -0.003712f, -0.003251f, -0.002392f, -0.001169f, 0.000375f, 0.002186f, 0.004204f, 0.006362f, 0.008589f, 0.010814f, 0.012965f, 0.014971f, 0.016768f, 0.018295f, 0.019503f, 0.020346f, 0.020793f, 0.020821f, 0.020419f, 0.019587f, 0.018337f, 0.016691f, 0.014681f, 0.012349f, 0.009745f, 0.006923f, 0.003944f, 0.000874f, -0.002223f, -0.005280f, -0.008234f, -0.011022f, -0.013590f, -0.015885f, -0.017865f, -0.019493f, -0.020743f, -0.021597f, -0.022046f, -0.022090f, -0.021739f, -0.021012f, -0.019933f, -0.018535f, -0.016859f, -0.014948f, -0.012849f, -0.010613f, -0.008293f, -0.005939f, -0.003602f, -0.001332f, 0.000828f, 0.002836f, 0.004656f, 0.006259f, 0.007619f, 0.008720f, 0.009550f, 0.010106f, 0.010389f, 0.010407f, 0.010175f, 0.009711f, 0.009040f, 0.008189f, 0.007188f, 0.006069f, 0.004866f, 0.003613f, 0.002344f, 0.001092f, -0.000114f, -0.001245f, -0.002277f, -0.003189f, -0.003963f, -0.004586f, -0.005050f, -0.005351f, -0.005489f, -0.005468f, -0.005296f, -0.004984f, -0.004547f, -0.004003f, -0.003369f, -0.002667f, -0.001918f, -0.001143f, -0.000364f, 0.000399f, 0.001128f, - 0.001804f, 0.002412f, 0.002941f, 0.003381f, 0.003724f, 0.003967f, 0.004108f, 0.004150f, 0.004096f, 0.003954f, 0.003734f, 0.003444f, 0.003099f, 0.002712f, 0.002295f, 0.001864f, 0.001431f, 0.001011f, 0.000614f, 0.000253f, -0.000065f, -0.000333f, -0.000544f, -0.000697f, -0.000789f, -0.000823f, -0.000802f, -0.000729f, -0.000612f, -0.000459f, -0.000277f, -0.000077f, 0.000132f, 0.000340f, 0.000538f, 0.000717f, 0.000871f, 0.000991f, 0.001075f, 0.001117f, 0.001116f, 0.001073f, 0.000988f, 0.000866f, 0.000710f, 0.000528f, 0.000325f, 0.000110f, 0.004325f, 0.038062f, 0.020580f, -0.024641f, -0.010812f, 0.065193f, 0.106067f, 0.011613f, -0.082134f, -0.198732f, -0.130452f, -0.044671f, 0.099718f, -0.096835f, -0.057591f, -0.027115f, 0.073916f, 0.130933f, 0.339398f, -0.032221f, -0.083327f, -0.075477f, -0.011526f, 0.011000f, 0.186231f, 0.095079f, 0.087461f, -0.057836f, -0.177390f, -0.100523f, -0.090915f, 0.056568f, 0.079578f, 0.127256f, -0.011849f, -0.101805f, -0.152564f, -0.064817f, -0.032282f, 0.024912f, 0.071233f, 0.080544f, -0.003501f, -0.087247f, -0.076317f, -0.035437f, 0.035623f, 0.024788f, - -0.091994f, -0.079745f, 0.020901f, 0.074127f, 0.043623f, 0.064571f, -0.010169f, -0.064132f, -0.009114f, -0.068800f, 0.047633f, -0.142630f, 0.105867f, 0.093698f, -0.096038f, -0.167419f, 0.026841f, -0.110855f, -0.091647f, 0.073117f, -0.032957f, -0.056334f, -0.156696f, -0.014605f, 0.194360f, 0.437939f, 0.198456f, -0.047092f, -0.274072f, -0.198778f, -0.026182f, 0.206621f, 0.301615f, 0.217354f, -0.072622f, -0.197400f, -0.081358f, 0.030432f, 0.033997f, 0.021622f, -0.034318f, -0.063383f, -0.118311f, -0.018524f, 0.101311f, 0.212623f, 0.162632f, 0.016773f, -0.165046f, -0.273346f, -0.193594f, -0.000947f, 0.245901f, 0.378040f, 0.174211f, -0.055126f, -0.339109f, -0.345752f, -0.166324f, 0.090062f, 0.198502f, 0.178359f, 0.053506f, 0.023101f, -0.108601f, 0.021106f, 0.102141f, 0.119987f, -0.125830f, -0.180442f, -0.053532f, 0.089257f, 0.129860f, 0.068003f, -0.005655f, -0.170720f, -0.174745f, -0.116848f, 0.079347f, 0.218131f, 0.247059f, 0.053708f, -0.177930f, -0.357342f, -0.276339f, -0.023190f, 0.259482f, 0.433787f, 0.279328f, -0.065102f, -0.348322f, -0.387358f, -0.207420f, 0.119153f, 0.252331f, 0.194574f, - 0.095594f, -0.038457f, -0.090909f, -0.118740f, -0.055565f, 0.031000f, 0.086467f, 0.084120f, 0.031550f, -0.075907f, -0.066799f, -0.104845f, -0.014430f, 0.057053f, 0.115622f, 0.073755f, -0.050623f, -0.130727f, -0.127212f, -0.045579f, 0.068296f, 0.153761f, 0.099787f, -0.039918f, -0.060346f, -0.051542f, -0.052361f, -0.034906f, 0.018428f, 0.057516f, 0.043171f, 0.014680f, -0.035625f, -0.083127f, -0.036201f, -0.088496f, -0.099303f, 0.059697f, 0.122499f, 0.100904f, -0.025937f, -0.084272f, -0.077960f, 0.016659f, 0.062050f, 0.062134f, -0.001570f, -0.034258f, -0.042715f, -0.004483f, 0.021577f, 0.044006f, 0.013080f, -0.014641f, -0.038426f, -0.002938f, 0.029375f, 0.025165f, -0.023109f, -0.009682f, 0.008798f, 0.010358f, -0.006268f, 0.004481f, -0.003225f, 0.007309f, -0.004619f, 0.004374f, -0.002460f, 0.005010f, -0.003899f, 0.006250f, -0.002826f, 0.004784f, -0.001410f, 0.005846f, -0.006009f, 0.007681f, -0.002530f, 0.001607f, -0.004596f, 0.001338f, -0.004160f, 0.002091f, -0.002249f, 0.002802f, -0.001929f, 0.007748f, -0.004506f, 0.003110f, -0.007015f, 0.005977f, -0.005323f, 0.004130f, -0.003102f, 0.003839f}, - {0.000429f, 0.001272f, 0.002066f, 0.002781f, 0.003390f, 0.003873f, 0.004214f, 0.004402f, 0.004438f, 0.004326f, 0.004079f, 0.003719f, 0.003271f, 0.002769f, 0.002248f, 0.001749f, 0.001312f, 0.000979f, 0.000788f, 0.000775f, 0.000970f, 0.001397f, 0.002072f, 0.003001f, 0.004181f, 0.005599f, 0.007231f, 0.009046f, 0.010999f, 0.013041f, 0.015114f, 0.017154f, 0.019095f, 0.020868f, 0.022405f, 0.023641f, 0.024517f, 0.024978f, 0.024980f, 0.024489f, 0.023484f, 0.021955f, 0.019907f, 0.017361f, 0.014349f, 0.010918f, 0.007130f, 0.003053f, -0.001229f, -0.005629f, -0.010052f, -0.014400f, -0.018576f, -0.022483f, -0.026031f, -0.029135f, -0.031720f, -0.033725f, -0.035098f, -0.035806f, -0.035830f, -0.035166f, -0.033829f, -0.031849f, -0.029272f, -0.026158f, -0.022579f, -0.018619f, -0.014370f, -0.009930f, -0.005400f, -0.000884f, 0.003519f, 0.007712f, 0.011607f, 0.015122f, 0.018190f, 0.020756f, 0.022777f, 0.024227f, 0.025095f, 0.025387f, 0.025121f, 0.024332f, 0.023068f, 0.021387f, 0.019357f, 0.017056f, 0.014564f, 0.011967f, 0.009348f, 0.006792f, 0.004377f, 0.002175f, 0.000251f, -0.001340f, - -0.002556f, -0.003366f, -0.003753f, -0.003712f, -0.003251f, -0.002392f, -0.001169f, 0.000375f, 0.002186f, 0.004204f, 0.006362f, 0.008589f, 0.010814f, 0.012965f, 0.014971f, 0.016768f, 0.018295f, 0.019503f, 0.020346f, 0.020793f, 0.020821f, 0.020419f, 0.019587f, 0.018337f, 0.016691f, 0.014681f, 0.012349f, 0.009745f, 0.006923f, 0.003944f, 0.000874f, -0.002223f, -0.005280f, -0.008234f, -0.011022f, -0.013590f, -0.015885f, -0.017865f, -0.019493f, -0.020743f, -0.021597f, -0.022046f, -0.022090f, -0.021739f, -0.021012f, -0.019933f, -0.018535f, -0.016859f, -0.014948f, -0.012849f, -0.010613f, -0.008293f, -0.005939f, -0.003602f, -0.001332f, 0.000828f, 0.002836f, 0.004656f, 0.006259f, 0.007619f, 0.008720f, 0.009550f, 0.010106f, 0.010389f, 0.010407f, 0.010175f, 0.009711f, 0.009040f, 0.008189f, 0.007188f, 0.006069f, 0.004866f, 0.003613f, 0.002344f, 0.001092f, -0.000114f, -0.001245f, -0.002277f, -0.003189f, -0.003963f, -0.004586f, -0.005050f, -0.005351f, -0.005489f, -0.005468f, -0.005296f, -0.004984f, -0.004547f, -0.004003f, -0.003369f, -0.002667f, -0.001918f, -0.001143f, -0.000364f, 0.000399f, 0.001128f, - 0.001804f, 0.002412f, 0.002941f, 0.003381f, 0.003724f, 0.003967f, 0.004108f, 0.004150f, 0.004096f, 0.003954f, 0.003734f, 0.003444f, 0.003099f, 0.002712f, 0.002295f, 0.001864f, 0.001431f, 0.001011f, 0.000614f, 0.000253f, -0.000065f, -0.000333f, -0.000544f, -0.000697f, -0.000789f, -0.000823f, -0.000802f, -0.000729f, -0.000612f, -0.000459f, -0.000277f, -0.000077f, 0.000132f, 0.000340f, 0.000538f, 0.000717f, 0.000871f, 0.000991f, 0.001075f, 0.001117f, 0.001116f, 0.001073f, 0.000988f, 0.000866f, 0.000710f, 0.000528f, 0.000325f, 0.000110f, 0.004325f, 0.038062f, 0.020580f, -0.024641f, -0.010812f, 0.065193f, 0.106067f, 0.011613f, -0.082134f, -0.198732f, -0.130452f, -0.044671f, 0.099718f, -0.096835f, -0.057591f, -0.027115f, 0.073916f, 0.130933f, 0.339398f, -0.032221f, -0.083327f, -0.075477f, -0.011526f, 0.011000f, 0.186231f, 0.095079f, 0.087461f, -0.057836f, -0.177390f, -0.100523f, -0.090915f, 0.056568f, 0.079578f, 0.127256f, -0.011849f, -0.101805f, -0.152564f, -0.064817f, -0.032282f, 0.024912f, 0.071233f, 0.080544f, -0.003501f, -0.087247f, -0.076317f, -0.035437f, 0.035623f, 0.024788f, - -0.091994f, -0.079745f, 0.020901f, 0.074127f, 0.043623f, 0.064571f, -0.010169f, -0.064132f, -0.009114f, -0.068800f, 0.047633f, -0.142630f, 0.105867f, 0.093698f, -0.096038f, -0.167419f, 0.026841f, -0.110855f, -0.091647f, 0.073117f, -0.032957f, -0.056334f, -0.156696f, -0.014605f, 0.194360f, 0.437939f, 0.198456f, -0.047092f, -0.274072f, -0.198778f, -0.026182f, 0.206621f, 0.301615f, 0.217354f, -0.072622f, -0.197400f, -0.081358f, 0.030432f, 0.033997f, 0.021622f, -0.034318f, -0.063383f, -0.118311f, -0.018524f, 0.101311f, 0.212623f, 0.162632f, 0.016773f, -0.165046f, -0.273346f, -0.193594f, -0.000947f, 0.245901f, 0.378040f, 0.174211f, -0.055126f, -0.339109f, -0.345752f, -0.166324f, 0.090062f, 0.198502f, 0.178359f, 0.053506f, 0.023101f, -0.108601f, 0.021106f, 0.102141f, 0.119987f, -0.125830f, -0.180442f, -0.053532f, 0.089257f, 0.129860f, 0.068003f, -0.005655f, -0.170720f, -0.174745f, -0.116848f, 0.079347f, 0.218131f, 0.247059f, 0.053708f, -0.177930f, -0.357342f, -0.276339f, -0.023190f, 0.259482f, 0.433787f, 0.279328f, -0.065102f, -0.348322f, -0.387358f, -0.207420f, 0.119153f, 0.252331f, 0.194574f, - 0.095594f, -0.038457f, -0.090909f, -0.118740f, -0.055565f, 0.031000f, 0.086467f, 0.084120f, 0.031550f, -0.075907f, -0.066799f, -0.104845f, -0.014430f, 0.057053f, 0.115622f, 0.073755f, -0.050623f, -0.130727f, -0.127212f, -0.045579f, 0.068296f, 0.153761f, 0.099787f, -0.039918f, -0.060346f, -0.051542f, -0.052361f, -0.034906f, 0.018428f, 0.057516f, 0.043171f, 0.014680f, -0.035625f, -0.083127f, -0.036201f, -0.088496f, -0.099303f, 0.059697f, 0.122499f, 0.100904f, -0.025937f, -0.084272f, -0.077960f, 0.016659f, 0.062050f, 0.062134f, -0.001570f, -0.034258f, -0.042715f, -0.004483f, 0.021577f, 0.044006f, 0.013080f, -0.014641f, -0.038426f, -0.002938f, 0.029375f, 0.025165f, -0.023109f, -0.009682f, 0.008798f, 0.010358f, -0.006268f, 0.004481f, -0.003225f, 0.007309f, -0.004619f, 0.004374f, -0.002460f, 0.005010f, -0.003899f, 0.006250f, -0.002826f, 0.004784f, -0.001410f, 0.005846f, -0.006009f, 0.007681f, -0.002530f, 0.001607f, -0.004596f, 0.001338f, -0.004160f, 0.002091f, -0.002249f, 0.002802f, -0.001929f, 0.007748f, -0.004506f, 0.003110f, -0.007015f, 0.005977f, -0.005323f, 0.004130f, -0.003102f, 0.003839f} - }, - { - {-0.002413f, -0.007177f, -0.011763f, -0.016054f, -0.019947f, -0.023348f, -0.026178f, -0.028375f, -0.029895f, -0.030714f, -0.030827f, -0.030250f, -0.029018f, -0.027181f, -0.024809f, -0.021981f, -0.018790f, -0.015333f, -0.011714f, -0.008037f, -0.004401f, -0.000904f, 0.002368f, 0.005338f, 0.007945f, 0.010139f, 0.011889f, 0.013178f, 0.014007f, 0.014391f, 0.014362f, 0.013961f, 0.013244f, 0.012273f, 0.011117f, 0.009849f, 0.008539f, 0.007259f, 0.006075f, 0.005045f, 0.004218f, 0.003634f, 0.003320f, 0.003292f, 0.003551f, 0.004089f, 0.004883f, 0.005903f, 0.007108f, 0.008451f, 0.009879f, 0.011338f, 0.012772f, 0.014126f, 0.015352f, 0.016405f, 0.017248f, 0.017852f, 0.018199f, 0.018280f, 0.018097f, 0.017660f, 0.016992f, 0.016120f, 0.015081f, 0.013916f, 0.012669f, 0.011387f, 0.010116f, 0.008899f, 0.007777f, 0.006782f, 0.005944f, 0.005281f, 0.004804f, 0.004514f, 0.004406f, 0.004463f, 0.004663f, 0.004976f, 0.005367f, 0.005799f, 0.006230f, 0.006622f, 0.006935f, 0.007134f, 0.007190f, 0.007081f, 0.006789f, 0.006309f, 0.005642f, 0.004801f, 0.003804f, 0.002681f, 0.001468f, 0.000206f, - -0.001057f, -0.002273f, -0.003391f, -0.004362f, -0.005139f, -0.005679f, -0.005949f, -0.005920f, -0.005574f, -0.004904f, -0.003912f, -0.002610f, -0.001024f, 0.000814f, 0.002859f, 0.005061f, 0.007363f, 0.009703f, 0.012018f, 0.014242f, 0.016313f, 0.018172f, 0.019765f, 0.021045f, 0.021975f, 0.022526f, 0.022681f, 0.022434f, 0.021790f, 0.020765f, 0.019385f, 0.017686f, 0.015712f, 0.013513f, 0.011145f, 0.008666f, 0.006135f, 0.003611f, 0.001151f, -0.001192f, -0.003373f, -0.005351f, -0.007095f, -0.008580f, -0.009793f, -0.010727f, -0.011384f, -0.011776f, -0.011920f, -0.011840f, -0.011563f, -0.011123f, -0.010552f, -0.009886f, -0.009157f, -0.008398f, -0.007636f, -0.006896f, -0.006197f, -0.005553f, -0.004972f, -0.004458f, -0.004008f, -0.003616f, -0.003271f, -0.002959f, -0.002665f, -0.002371f, -0.002061f, -0.001720f, -0.001334f, -0.000894f, -0.000392f, 0.000174f, 0.000801f, 0.001483f, 0.002208f, 0.002960f, 0.003721f, 0.004468f, 0.005178f, 0.005827f, 0.006389f, 0.006842f, 0.007166f, 0.007342f, 0.007358f, 0.007206f, 0.006882f, 0.006391f, 0.005742f, 0.004949f, 0.004032f, 0.003017f, 0.001932f, 0.000809f, - -0.000319f, -0.001416f, -0.002451f, -0.003390f, -0.004206f, -0.004874f, -0.005375f, -0.005695f, -0.005827f, -0.005770f, -0.005531f, -0.005123f, -0.004563f, -0.003876f, -0.003091f, -0.002239f, -0.001355f, -0.000473f, 0.000372f, 0.001148f, 0.001824f, 0.002375f, 0.002781f, 0.003027f, 0.003104f, 0.003011f, 0.002753f, 0.002342f, 0.001795f, 0.001137f, 0.000393f, -0.000404f, -0.001221f, -0.002025f, -0.002782f, -0.003461f, -0.004032f, -0.004472f, -0.004761f, -0.004886f, -0.004839f, -0.004619f, -0.004235f, -0.003697f, -0.003026f, -0.002244f, -0.001380f, -0.000466f, -0.000615f, -0.021191f, 0.027880f, 0.012174f, 0.032338f, -0.054992f, 0.011160f, -0.023717f, -0.040512f, 0.010908f, 0.085733f, 0.035783f, 0.048874f, 0.056802f, 0.031973f, 0.031169f, 0.042248f, 0.148670f, 0.144374f, -0.094051f, -0.074670f, 0.080443f, 0.071192f, 0.060975f, -0.051582f, -0.011649f, -0.064562f, -0.058762f, -0.021654f, 0.049947f, 0.086487f, -0.021086f, -0.079879f, -0.023443f, 0.046919f, 0.080546f, 0.076935f, 0.005172f, -0.051518f, -0.030896f, 0.017684f, 0.041659f, 0.021894f, 0.015478f, -0.074044f, -0.043204f, -0.052144f, -0.021901f, - -0.054245f, 0.013077f, 0.053051f, 0.081595f, -0.063261f, -0.031584f, -0.113133f, 0.008047f, 0.038664f, 0.118693f, -0.004410f, 0.077017f, -0.103930f, -0.081495f, 0.003826f, 0.124312f, 0.050884f, 0.151746f, 0.094586f, -0.030841f, -0.107123f, -0.098013f, -0.055043f, 0.042530f, 0.084145f, -0.010977f, -0.026112f, -0.073697f, -0.151197f, -0.145617f, 0.038560f, 0.236814f, 0.255649f, 0.130794f, -0.120527f, -0.269751f, -0.195657f, -0.007831f, 0.208284f, 0.211839f, 0.124481f, -0.119691f, -0.185847f, -0.250728f, -0.124480f, 0.172273f, 0.240133f, 0.139943f, -0.084784f, -0.203705f, -0.115258f, 0.048286f, 0.137808f, 0.117562f, -0.045046f, -0.165917f, -0.125860f, 0.050754f, 0.210969f, 0.243112f, 0.023364f, -0.223044f, -0.264048f, -0.023971f, 0.182798f, 0.357620f, 0.336762f, -0.089491f, -0.361557f, -0.268941f, 0.033550f, 0.314113f, 0.336011f, 0.169341f, -0.085608f, -0.318431f, -0.253429f, -0.064344f, 0.199461f, 0.264282f, 0.179393f, -0.083483f, -0.222066f, -0.192701f, -0.004908f, 0.165831f, 0.198551f, 0.012269f, -0.158841f, -0.161697f, -0.044380f, 0.138979f, 0.174485f, -0.016049f, -0.161850f, -0.203848f, - -0.080865f, 0.100964f, 0.260636f, 0.163338f, -0.061272f, -0.230647f, -0.219669f, -0.071659f, 0.126849f, 0.250508f, 0.243999f, 0.015787f, -0.212824f, -0.321049f, -0.177592f, 0.088023f, 0.321437f, 0.290189f, 0.050094f, -0.234798f, -0.321695f, -0.226345f, 0.084210f, 0.251862f, 0.265496f, 0.138093f, -0.064518f, -0.178604f, -0.172685f, -0.030430f, 0.079900f, 0.157663f, 0.077999f, 0.015414f, -0.124574f, 0.006968f, 0.164962f, 0.085234f, -0.024024f, -0.142999f, -0.114214f, -0.029137f, 0.091986f, 0.101595f, 0.046692f, -0.061337f, -0.097706f, -0.072977f, 0.023678f, 0.081482f, 0.076747f, -0.015231f, -0.078642f, -0.077566f, 0.025165f, 0.081296f, 0.034390f, -0.067929f, -0.030864f, 0.025283f, 0.020473f, -0.015586f, -0.001156f, -0.003147f, 0.001510f, -0.008340f, 0.001776f, -0.006130f, 0.004503f, -0.004098f, 0.003664f, -0.004185f, 0.000306f, -0.003483f, 0.008412f, -0.004797f, 0.002505f, -0.003378f, 0.004609f, -0.004696f, 0.001396f, -0.003903f, 0.001049f, -0.006249f, 0.004345f, -0.002750f, 0.004282f, -0.007419f, 0.006100f, -0.002088f, 0.004488f, -0.000247f, 0.006924f, -0.006715f, 0.004240f, -0.005750f}, - {-0.002413f, -0.007177f, -0.011763f, -0.016054f, -0.019947f, -0.023348f, -0.026178f, -0.028375f, -0.029895f, -0.030714f, -0.030827f, -0.030250f, -0.029018f, -0.027181f, -0.024809f, -0.021981f, -0.018790f, -0.015333f, -0.011714f, -0.008037f, -0.004401f, -0.000904f, 0.002368f, 0.005338f, 0.007945f, 0.010139f, 0.011889f, 0.013178f, 0.014007f, 0.014391f, 0.014362f, 0.013961f, 0.013244f, 0.012273f, 0.011117f, 0.009849f, 0.008539f, 0.007259f, 0.006075f, 0.005045f, 0.004218f, 0.003634f, 0.003320f, 0.003292f, 0.003551f, 0.004089f, 0.004883f, 0.005903f, 0.007108f, 0.008451f, 0.009879f, 0.011338f, 0.012772f, 0.014126f, 0.015352f, 0.016405f, 0.017248f, 0.017852f, 0.018199f, 0.018280f, 0.018097f, 0.017660f, 0.016992f, 0.016120f, 0.015081f, 0.013916f, 0.012669f, 0.011387f, 0.010116f, 0.008899f, 0.007777f, 0.006782f, 0.005944f, 0.005281f, 0.004804f, 0.004514f, 0.004406f, 0.004463f, 0.004663f, 0.004976f, 0.005367f, 0.005799f, 0.006230f, 0.006622f, 0.006935f, 0.007134f, 0.007190f, 0.007081f, 0.006789f, 0.006309f, 0.005642f, 0.004801f, 0.003804f, 0.002681f, 0.001468f, 0.000206f, - -0.001057f, -0.002273f, -0.003391f, -0.004362f, -0.005139f, -0.005679f, -0.005949f, -0.005920f, -0.005574f, -0.004904f, -0.003912f, -0.002610f, -0.001024f, 0.000814f, 0.002859f, 0.005061f, 0.007363f, 0.009703f, 0.012018f, 0.014242f, 0.016313f, 0.018172f, 0.019765f, 0.021045f, 0.021975f, 0.022526f, 0.022681f, 0.022434f, 0.021790f, 0.020765f, 0.019385f, 0.017686f, 0.015712f, 0.013513f, 0.011145f, 0.008666f, 0.006135f, 0.003611f, 0.001151f, -0.001192f, -0.003373f, -0.005351f, -0.007095f, -0.008580f, -0.009793f, -0.010727f, -0.011384f, -0.011776f, -0.011920f, -0.011840f, -0.011563f, -0.011123f, -0.010552f, -0.009886f, -0.009157f, -0.008398f, -0.007636f, -0.006896f, -0.006197f, -0.005553f, -0.004972f, -0.004458f, -0.004008f, -0.003616f, -0.003271f, -0.002959f, -0.002665f, -0.002371f, -0.002061f, -0.001720f, -0.001334f, -0.000894f, -0.000392f, 0.000174f, 0.000801f, 0.001483f, 0.002208f, 0.002960f, 0.003721f, 0.004468f, 0.005178f, 0.005827f, 0.006389f, 0.006842f, 0.007166f, 0.007342f, 0.007358f, 0.007206f, 0.006882f, 0.006391f, 0.005742f, 0.004949f, 0.004032f, 0.003017f, 0.001932f, 0.000809f, - -0.000319f, -0.001416f, -0.002451f, -0.003390f, -0.004206f, -0.004874f, -0.005375f, -0.005695f, -0.005827f, -0.005770f, -0.005531f, -0.005123f, -0.004563f, -0.003876f, -0.003091f, -0.002239f, -0.001355f, -0.000473f, 0.000372f, 0.001148f, 0.001824f, 0.002375f, 0.002781f, 0.003027f, 0.003104f, 0.003011f, 0.002753f, 0.002342f, 0.001795f, 0.001137f, 0.000393f, -0.000404f, -0.001221f, -0.002025f, -0.002782f, -0.003461f, -0.004032f, -0.004472f, -0.004761f, -0.004886f, -0.004839f, -0.004619f, -0.004235f, -0.003697f, -0.003026f, -0.002244f, -0.001380f, -0.000466f, -0.000615f, -0.021191f, 0.027880f, 0.012174f, 0.032338f, -0.054992f, 0.011160f, -0.023717f, -0.040512f, 0.010908f, 0.085733f, 0.035783f, 0.048874f, 0.056802f, 0.031973f, 0.031169f, 0.042248f, 0.148670f, 0.144374f, -0.094051f, -0.074670f, 0.080443f, 0.071192f, 0.060975f, -0.051582f, -0.011649f, -0.064562f, -0.058762f, -0.021654f, 0.049947f, 0.086487f, -0.021086f, -0.079879f, -0.023443f, 0.046919f, 0.080546f, 0.076935f, 0.005172f, -0.051518f, -0.030896f, 0.017684f, 0.041659f, 0.021894f, 0.015478f, -0.074044f, -0.043204f, -0.052144f, -0.021901f, - -0.054245f, 0.013077f, 0.053051f, 0.081595f, -0.063261f, -0.031584f, -0.113133f, 0.008047f, 0.038664f, 0.118693f, -0.004410f, 0.077017f, -0.103930f, -0.081495f, 0.003826f, 0.124312f, 0.050884f, 0.151746f, 0.094586f, -0.030841f, -0.107123f, -0.098013f, -0.055043f, 0.042530f, 0.084145f, -0.010977f, -0.026112f, -0.073697f, -0.151197f, -0.145617f, 0.038560f, 0.236814f, 0.255649f, 0.130794f, -0.120527f, -0.269751f, -0.195657f, -0.007831f, 0.208284f, 0.211839f, 0.124481f, -0.119691f, -0.185847f, -0.250728f, -0.124480f, 0.172273f, 0.240133f, 0.139943f, -0.084784f, -0.203705f, -0.115258f, 0.048286f, 0.137808f, 0.117562f, -0.045046f, -0.165917f, -0.125860f, 0.050754f, 0.210969f, 0.243112f, 0.023364f, -0.223044f, -0.264048f, -0.023971f, 0.182798f, 0.357620f, 0.336762f, -0.089491f, -0.361557f, -0.268941f, 0.033550f, 0.314113f, 0.336011f, 0.169341f, -0.085608f, -0.318431f, -0.253429f, -0.064344f, 0.199461f, 0.264282f, 0.179393f, -0.083483f, -0.222066f, -0.192701f, -0.004908f, 0.165831f, 0.198551f, 0.012269f, -0.158841f, -0.161697f, -0.044380f, 0.138979f, 0.174485f, -0.016049f, -0.161850f, -0.203848f, - -0.080865f, 0.100964f, 0.260636f, 0.163338f, -0.061272f, -0.230647f, -0.219669f, -0.071659f, 0.126849f, 0.250508f, 0.243999f, 0.015787f, -0.212824f, -0.321049f, -0.177592f, 0.088023f, 0.321437f, 0.290189f, 0.050094f, -0.234798f, -0.321695f, -0.226345f, 0.084210f, 0.251862f, 0.265496f, 0.138093f, -0.064518f, -0.178604f, -0.172685f, -0.030430f, 0.079900f, 0.157663f, 0.077999f, 0.015414f, -0.124574f, 0.006968f, 0.164962f, 0.085234f, -0.024024f, -0.142999f, -0.114214f, -0.029137f, 0.091986f, 0.101595f, 0.046692f, -0.061337f, -0.097706f, -0.072977f, 0.023678f, 0.081482f, 0.076747f, -0.015231f, -0.078642f, -0.077566f, 0.025165f, 0.081296f, 0.034390f, -0.067929f, -0.030864f, 0.025283f, 0.020473f, -0.015586f, -0.001156f, -0.003147f, 0.001510f, -0.008340f, 0.001776f, -0.006130f, 0.004503f, -0.004098f, 0.003664f, -0.004185f, 0.000306f, -0.003483f, 0.008412f, -0.004797f, 0.002505f, -0.003378f, 0.004609f, -0.004696f, 0.001396f, -0.003903f, 0.001049f, -0.006249f, 0.004345f, -0.002750f, 0.004282f, -0.007419f, 0.006100f, -0.002088f, 0.004488f, -0.000247f, 0.006924f, -0.006715f, 0.004240f, -0.005750f} - }, - { - {-0.000629f, -0.001876f, -0.003086f, -0.004238f, -0.005309f, -0.006281f, -0.007137f, -0.007864f, -0.008450f, -0.008890f, -0.009180f, -0.009320f, -0.009315f, -0.009171f, -0.008900f, -0.008514f, -0.008029f, -0.007460f, -0.006826f, -0.006145f, -0.005435f, -0.004713f, -0.003994f, -0.003292f, -0.002620f, -0.001986f, -0.001396f, -0.000854f, -0.000358f, 0.000093f, 0.000506f, 0.000888f, 0.001251f, 0.001607f, 0.001968f, 0.002348f, 0.002760f, 0.003218f, 0.003733f, 0.004313f, 0.004966f, 0.005696f, 0.006502f, 0.007382f, 0.008328f, 0.009330f, 0.010372f, 0.011438f, 0.012504f, 0.013549f, 0.014546f, 0.015468f, 0.016288f, 0.016979f, 0.017514f, 0.017870f, 0.018024f, 0.017960f, 0.017664f, 0.017126f, 0.016343f, 0.015318f, 0.014057f, 0.012575f, 0.010890f, 0.009026f, 0.007012f, 0.004880f, 0.002668f, 0.000413f, -0.001845f, -0.004064f, -0.006205f, -0.008229f, -0.010102f, -0.011790f, -0.013267f, -0.014510f, -0.015503f, -0.016234f, -0.016701f, -0.016906f, -0.016859f, -0.016573f, -0.016072f, -0.015380f, -0.014527f, -0.013548f, -0.012477f, -0.011352f, -0.010209f, -0.009085f, -0.008012f, -0.007022f, -0.006141f, -0.005391f, - -0.004787f, -0.004341f, -0.004057f, -0.003932f, -0.003959f, -0.004124f, -0.004408f, -0.004789f, -0.005239f, -0.005729f, -0.006227f, -0.006703f, -0.007125f, -0.007464f, -0.007694f, -0.007791f, -0.007738f, -0.007521f, -0.007133f, -0.006573f, -0.005847f, -0.004964f, -0.003944f, -0.002806f, -0.001580f, -0.000296f, 0.001013f, 0.002311f, 0.003562f, 0.004729f, 0.005778f, 0.006679f, 0.007404f, 0.007929f, 0.008238f, 0.008319f, 0.008169f, 0.007789f, 0.007189f, 0.006385f, 0.005397f, 0.004255f, 0.002989f, 0.001637f, 0.000237f, -0.001170f, -0.002545f, -0.003846f, -0.005036f, -0.006080f, -0.006947f, -0.007613f, -0.008058f, -0.008269f, -0.008240f, -0.007971f, -0.007471f, -0.006754f, -0.005840f, -0.004756f, -0.003532f, -0.002203f, -0.000807f, 0.000619f, 0.002035f, 0.003402f, 0.004684f, 0.005848f, 0.006865f, 0.007710f, 0.008363f, 0.008811f, 0.009047f, 0.009069f, 0.008884f, 0.008501f, 0.007938f, 0.007215f, 0.006357f, 0.005391f, 0.004350f, 0.003262f, 0.002161f, 0.001077f, 0.000037f, -0.000931f, -0.001804f, -0.002565f, -0.003197f, -0.003693f, -0.004045f, -0.004256f, -0.004328f, -0.004271f, -0.004097f, -0.003821f, - -0.003462f, -0.003040f, -0.002574f, -0.002087f, -0.001599f, -0.001129f, -0.000694f, -0.000309f, 0.000014f, 0.000266f, 0.000442f, 0.000539f, 0.000560f, 0.000508f, 0.000391f, 0.000219f, 0.000002f, -0.000245f, -0.000509f, -0.000777f, -0.001035f, -0.001269f, -0.001471f, -0.001629f, -0.001737f, -0.001790f, -0.001787f, -0.001728f, -0.001616f, -0.001456f, -0.001255f, -0.001023f, -0.000770f, -0.000505f, -0.000242f, 0.000010f, 0.000241f, 0.000440f, 0.000602f, 0.000719f, 0.000789f, 0.000810f, 0.000782f, 0.000710f, 0.000598f, 0.000452f, 0.000281f, 0.000096f, 0.003833f, -0.002393f, -0.001550f, -0.010768f, 0.032629f, 0.011306f, -0.044284f, 0.018314f, 0.003978f, 0.038048f, 0.006921f, -0.071210f, -0.029689f, -0.044542f, -0.099327f, 0.020127f, 0.098187f, 0.091075f, 0.086575f, -0.042671f, 0.007877f, 0.078891f, 0.084995f, 0.054082f, -0.021638f, -0.048082f, -0.022392f, -0.071858f, -0.067982f, -0.059163f, 0.033391f, 0.127379f, 0.007895f, 0.018223f, 0.005708f, -0.047327f, -0.074037f, 0.045486f, 0.080097f, 0.109529f, 0.075418f, 0.024993f, -0.049446f, -0.061939f, -0.038186f, 0.006499f, 0.027318f, 0.040559f, - -0.033439f, -0.035134f, -0.033588f, -0.020991f, -0.034200f, 0.145024f, 0.003104f, 0.062410f, -0.002398f, -0.055186f, -0.153519f, 0.085516f, 0.013526f, 0.050198f, 0.080210f, -0.026815f, -0.080563f, -0.105866f, 0.039693f, 0.079955f, 0.053818f, 0.007022f, -0.049899f, -0.040756f, -0.090243f, -0.096030f, 0.014919f, 0.099631f, 0.049712f, -0.117783f, -0.104527f, -0.047732f, -0.058681f, 0.011162f, 0.071316f, 0.042627f, -0.104107f, -0.123039f, -0.013747f, 0.203720f, 0.300154f, 0.163747f, -0.071562f, -0.218673f, -0.226938f, -0.051208f, 0.155922f, 0.185269f, 0.051669f, -0.059647f, -0.090049f, -0.032626f, 0.023640f, 0.050562f, 0.020662f, 0.021180f, -0.064624f, -0.074480f, -0.033960f, 0.015714f, 0.109849f, 0.132771f, 0.140950f, -0.014645f, -0.158302f, -0.188966f, 0.057032f, 0.035205f, 0.090630f, 0.127866f, 0.070389f, -0.005047f, -0.151082f, -0.039095f, 0.060604f, 0.101319f, 0.155564f, 0.015911f, -0.077633f, -0.120064f, -0.128551f, -0.103619f, 0.069509f, 0.194971f, 0.254877f, 0.084847f, -0.134256f, -0.334629f, -0.222454f, 0.004266f, 0.210033f, 0.251997f, 0.137596f, -0.119336f, -0.256430f, -0.239825f, - -0.025960f, 0.182839f, 0.278925f, 0.086432f, -0.206817f, -0.257206f, -0.181695f, 0.010354f, 0.202964f, 0.229244f, 0.098833f, -0.087026f, -0.181307f, -0.141921f, -0.048110f, 0.075799f, 0.114635f, 0.060613f, -0.007091f, -0.085373f, -0.082937f, -0.027346f, 0.088356f, 0.139427f, 0.092503f, -0.030368f, -0.103502f, -0.107065f, -0.020528f, 0.052644f, 0.128449f, 0.060539f, -0.024419f, -0.053943f, -0.053067f, 0.104894f, 0.110330f, -0.030292f, -0.137751f, -0.137278f, 0.001888f, 0.123472f, 0.133148f, -0.007019f, -0.129875f, -0.123791f, 0.026745f, 0.121553f, 0.087812f, -0.059539f, -0.115914f, -0.041189f, 0.084327f, 0.080379f, -0.023472f, -0.085842f, -0.004187f, 0.058332f, 0.012800f, -0.041715f, -0.000345f, 0.009540f, 0.000671f, -0.007229f, 0.003356f, -0.001562f, 0.003583f, -0.001390f, 0.004748f, -0.004077f, 0.001544f, -0.004733f, -0.001209f, -0.004578f, 0.003593f, -0.002046f, 0.008076f, -0.006694f, 0.003824f, -0.000642f, 0.003010f, -0.005633f, 0.003952f, -0.007572f, 0.002614f, -0.004205f, 0.006070f, -0.002496f, 0.004053f, -0.001677f, 0.001551f, -0.006302f, 0.004819f, -0.002902f, 0.002256f, -0.003500f}, - {-0.000629f, -0.001876f, -0.003086f, -0.004238f, -0.005309f, -0.006281f, -0.007137f, -0.007864f, -0.008450f, -0.008890f, -0.009180f, -0.009320f, -0.009315f, -0.009171f, -0.008900f, -0.008514f, -0.008029f, -0.007460f, -0.006826f, -0.006145f, -0.005435f, -0.004713f, -0.003994f, -0.003292f, -0.002620f, -0.001986f, -0.001396f, -0.000854f, -0.000358f, 0.000093f, 0.000506f, 0.000888f, 0.001251f, 0.001607f, 0.001968f, 0.002348f, 0.002760f, 0.003218f, 0.003733f, 0.004313f, 0.004966f, 0.005696f, 0.006502f, 0.007382f, 0.008328f, 0.009330f, 0.010372f, 0.011438f, 0.012504f, 0.013549f, 0.014546f, 0.015468f, 0.016288f, 0.016979f, 0.017514f, 0.017870f, 0.018024f, 0.017960f, 0.017664f, 0.017126f, 0.016343f, 0.015318f, 0.014057f, 0.012575f, 0.010890f, 0.009026f, 0.007012f, 0.004880f, 0.002668f, 0.000413f, -0.001845f, -0.004064f, -0.006205f, -0.008229f, -0.010102f, -0.011790f, -0.013267f, -0.014510f, -0.015503f, -0.016234f, -0.016701f, -0.016906f, -0.016859f, -0.016573f, -0.016072f, -0.015380f, -0.014527f, -0.013548f, -0.012477f, -0.011352f, -0.010209f, -0.009085f, -0.008012f, -0.007022f, -0.006141f, -0.005391f, - -0.004787f, -0.004341f, -0.004057f, -0.003932f, -0.003959f, -0.004124f, -0.004408f, -0.004789f, -0.005239f, -0.005729f, -0.006227f, -0.006703f, -0.007125f, -0.007464f, -0.007694f, -0.007791f, -0.007738f, -0.007521f, -0.007133f, -0.006573f, -0.005847f, -0.004964f, -0.003944f, -0.002806f, -0.001580f, -0.000296f, 0.001013f, 0.002311f, 0.003562f, 0.004729f, 0.005778f, 0.006679f, 0.007404f, 0.007929f, 0.008238f, 0.008319f, 0.008169f, 0.007789f, 0.007189f, 0.006385f, 0.005397f, 0.004255f, 0.002989f, 0.001637f, 0.000237f, -0.001170f, -0.002545f, -0.003846f, -0.005036f, -0.006080f, -0.006947f, -0.007613f, -0.008058f, -0.008269f, -0.008240f, -0.007971f, -0.007471f, -0.006754f, -0.005840f, -0.004756f, -0.003532f, -0.002203f, -0.000807f, 0.000619f, 0.002035f, 0.003402f, 0.004684f, 0.005848f, 0.006865f, 0.007710f, 0.008363f, 0.008811f, 0.009047f, 0.009069f, 0.008884f, 0.008501f, 0.007938f, 0.007215f, 0.006357f, 0.005391f, 0.004350f, 0.003262f, 0.002161f, 0.001077f, 0.000037f, -0.000931f, -0.001804f, -0.002565f, -0.003197f, -0.003693f, -0.004045f, -0.004256f, -0.004328f, -0.004271f, -0.004097f, -0.003821f, - -0.003462f, -0.003040f, -0.002574f, -0.002087f, -0.001599f, -0.001129f, -0.000694f, -0.000309f, 0.000014f, 0.000266f, 0.000442f, 0.000539f, 0.000560f, 0.000508f, 0.000391f, 0.000219f, 0.000002f, -0.000245f, -0.000509f, -0.000777f, -0.001035f, -0.001269f, -0.001471f, -0.001629f, -0.001737f, -0.001790f, -0.001787f, -0.001728f, -0.001616f, -0.001456f, -0.001255f, -0.001023f, -0.000770f, -0.000505f, -0.000242f, 0.000010f, 0.000241f, 0.000440f, 0.000602f, 0.000719f, 0.000789f, 0.000810f, 0.000782f, 0.000710f, 0.000598f, 0.000452f, 0.000281f, 0.000096f, 0.003833f, -0.002393f, -0.001550f, -0.010768f, 0.032629f, 0.011306f, -0.044284f, 0.018314f, 0.003978f, 0.038048f, 0.006921f, -0.071210f, -0.029689f, -0.044542f, -0.099327f, 0.020127f, 0.098187f, 0.091075f, 0.086575f, -0.042671f, 0.007877f, 0.078891f, 0.084995f, 0.054082f, -0.021638f, -0.048082f, -0.022392f, -0.071858f, -0.067982f, -0.059163f, 0.033391f, 0.127379f, 0.007895f, 0.018223f, 0.005708f, -0.047327f, -0.074037f, 0.045486f, 0.080097f, 0.109529f, 0.075418f, 0.024993f, -0.049446f, -0.061939f, -0.038186f, 0.006499f, 0.027318f, 0.040559f, - -0.033439f, -0.035134f, -0.033588f, -0.020991f, -0.034200f, 0.145024f, 0.003104f, 0.062410f, -0.002398f, -0.055186f, -0.153519f, 0.085516f, 0.013526f, 0.050198f, 0.080210f, -0.026815f, -0.080563f, -0.105866f, 0.039693f, 0.079955f, 0.053818f, 0.007022f, -0.049899f, -0.040756f, -0.090243f, -0.096030f, 0.014919f, 0.099631f, 0.049712f, -0.117783f, -0.104527f, -0.047732f, -0.058681f, 0.011162f, 0.071316f, 0.042627f, -0.104107f, -0.123039f, -0.013747f, 0.203720f, 0.300154f, 0.163747f, -0.071562f, -0.218673f, -0.226938f, -0.051208f, 0.155922f, 0.185269f, 0.051669f, -0.059647f, -0.090049f, -0.032626f, 0.023640f, 0.050562f, 0.020662f, 0.021180f, -0.064624f, -0.074480f, -0.033960f, 0.015714f, 0.109849f, 0.132771f, 0.140950f, -0.014645f, -0.158302f, -0.188966f, 0.057032f, 0.035205f, 0.090630f, 0.127866f, 0.070389f, -0.005047f, -0.151082f, -0.039095f, 0.060604f, 0.101319f, 0.155564f, 0.015911f, -0.077633f, -0.120064f, -0.128551f, -0.103619f, 0.069509f, 0.194971f, 0.254877f, 0.084847f, -0.134256f, -0.334629f, -0.222454f, 0.004266f, 0.210033f, 0.251997f, 0.137596f, -0.119336f, -0.256430f, -0.239825f, - -0.025960f, 0.182839f, 0.278925f, 0.086432f, -0.206817f, -0.257206f, -0.181695f, 0.010354f, 0.202964f, 0.229244f, 0.098833f, -0.087026f, -0.181307f, -0.141921f, -0.048110f, 0.075799f, 0.114635f, 0.060613f, -0.007091f, -0.085373f, -0.082937f, -0.027346f, 0.088356f, 0.139427f, 0.092503f, -0.030368f, -0.103502f, -0.107065f, -0.020528f, 0.052644f, 0.128449f, 0.060539f, -0.024419f, -0.053943f, -0.053067f, 0.104894f, 0.110330f, -0.030292f, -0.137751f, -0.137278f, 0.001888f, 0.123472f, 0.133148f, -0.007019f, -0.129875f, -0.123791f, 0.026745f, 0.121553f, 0.087812f, -0.059539f, -0.115914f, -0.041189f, 0.084327f, 0.080379f, -0.023472f, -0.085842f, -0.004187f, 0.058332f, 0.012800f, -0.041715f, -0.000345f, 0.009540f, 0.000671f, -0.007229f, 0.003356f, -0.001562f, 0.003583f, -0.001390f, 0.004748f, -0.004077f, 0.001544f, -0.004733f, -0.001209f, -0.004578f, 0.003593f, -0.002046f, 0.008076f, -0.006694f, 0.003824f, -0.000642f, 0.003010f, -0.005633f, 0.003952f, -0.007572f, 0.002614f, -0.004205f, 0.006070f, -0.002496f, 0.004053f, -0.001677f, 0.001551f, -0.006302f, 0.004819f, -0.002902f, 0.002256f, -0.003500f} - } -}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; - -/********************** Sample Rate = 32000 **********************/ - -const float CRendBin_HOA3_HRIR_latency_s_32kHz = 0.001333333319053f; -const int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz = 2; -const uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[16][BINAURAL_CHANNELS]={{2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2} }; -const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[16][BINAURAL_CHANNELS][2]={{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}}}; -const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz = 0; -const float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[16]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; -const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float CRendBin_HOA3_HRIR_coeff_re_32kHz[16][BINAURAL_CHANNELS][320]={ - { - {-0.008122f, -0.007933f, -0.007561f, -0.007019f, -0.006325f, -0.005502f, -0.004578f, -0.003583f, -0.002551f, -0.001514f, -0.000508f, 0.000436f, 0.001287f, 0.002019f, 0.002609f, 0.003042f, 0.003305f, 0.003394f, 0.003309f, 0.003059f, 0.002655f, 0.002117f, 0.001467f, 0.000733f, -0.000055f, -0.000865f, -0.001666f, -0.002426f, -0.003114f, -0.003702f, -0.004167f, -0.004490f, -0.004655f, -0.004654f, -0.004483f, -0.004147f, -0.003653f, -0.003014f, -0.002251f, -0.001386f, -0.000446f, 0.000542f, 0.001546f, 0.002537f, 0.003485f, 0.004362f, 0.005143f, 0.005806f, 0.006334f, 0.006713f, 0.006936f, 0.007001f, 0.006910f, 0.006671f, 0.006296f, 0.005802f, 0.005207f, 0.004535f, 0.003809f, 0.003054f, 0.002295f, 0.001555f, 0.000857f, 0.000219f, -0.000341f, -0.000811f, -0.001184f, -0.001453f, -0.001620f, -0.001687f, -0.001663f, -0.001559f, -0.001387f, -0.001163f, -0.000906f, -0.000631f, -0.000358f, -0.000102f, 0.000122f, 0.000300f, 0.000422f, 0.000482f, 0.000474f, 0.000400f, 0.000261f, 0.000064f, -0.000182f, -0.000465f, -0.000773f, -0.001091f, -0.001403f, -0.001693f, -0.001948f, -0.002154f, -0.002299f, -0.002376f, - -0.002377f, -0.002299f, -0.002145f, -0.001916f, -0.001620f, -0.001268f, -0.000871f, -0.000444f, -0.000003f, 0.000433f, 0.000849f, 0.001227f, 0.001551f, 0.001806f, 0.001982f, 0.002068f, 0.002059f, 0.001952f, 0.001747f, 0.001450f, 0.001067f, 0.000611f, 0.000093f, -0.000470f, -0.001062f, -0.001662f, -0.002254f, -0.002818f, -0.003338f, -0.003797f, -0.004183f, -0.004483f, -0.004691f, -0.004802f, -0.004815f, -0.004731f, -0.004556f, -0.004299f, -0.003971f, -0.003585f, -0.003155f, -0.002698f, -0.002230f, -0.001767f, -0.001324f, -0.000916f, -0.000554f, -0.000247f, -0.000004f, 0.000173f, 0.000281f, 0.000321f, 0.000299f, 0.000222f, 0.000097f, -0.000064f, -0.000250f, -0.000449f, -0.000647f, -0.000833f, -0.000997f, -0.001128f, -0.001220f, -0.001267f, 0.875363f, 0.116654f, -0.661817f, -0.826629f, -0.402369f, 0.289829f, 0.778345f, 0.686075f, 0.186222f, -0.492450f, -0.844907f, -0.700511f, -0.169182f, 0.555413f, 0.804353f, 0.562671f, -0.069029f, -0.621903f, -0.780365f, -0.388504f, 0.216008f, 0.700107f, 0.690873f, 0.205307f, -0.389038f, -0.709940f, -0.532071f, -0.008092f, 0.516830f, 0.685366f, 0.400172f, -0.156796f, - -0.610764f, -0.648564f, -0.248041f, 0.314656f, 0.668118f, 0.566683f, 0.102692f, -0.422984f, -0.610754f, -0.604667f, -0.119204f, 0.439597f, 0.716823f, 0.473525f, -0.083245f, -0.590438f, -0.675436f, -0.303597f, 0.280043f, 0.671094f, 0.603066f, 0.111790f, -0.450470f, -0.697038f, -0.454375f, 0.073947f, 0.530533f, 0.615953f, 0.269348f, -0.258327f, -0.597617f, -0.541078f, -0.092406f, 0.453139f, 0.669282f, 0.437777f, -0.105841f, -0.566799f, -0.652878f, -0.293692f, 0.267762f, 0.638830f, 0.583739f, 0.123852f, -0.428410f, -0.699716f, -0.472827f, 0.049668f, 0.530999f, 0.600521f, 0.268894f, -0.221661f, -0.602731f, -0.548789f, -0.120400f, 0.410229f, 0.655002f, 0.450774f, -0.057538f, -0.539000f, -0.637333f, -0.303133f, 0.211013f, 0.613957f, 0.587101f, 0.181641f, -0.310422f, -0.602883f, -0.500154f, -0.070393f, 0.393613f, 0.576259f, 0.389283f, -0.079276f, -0.470705f, -0.550184f, -0.251642f, 0.225426f, 0.561077f, 0.501491f, 0.089824f, -0.389292f, -0.615716f, -0.388263f, 0.088304f, 0.516718f, 0.604324f, 0.270485f, -0.263414f, -0.628216f, -0.543581f, -0.085300f, 0.418545f, 0.625778f, 0.397591f, -0.104349f, - -0.518155f, -0.566096f, -0.222967f, 0.251693f, 0.549767f, 0.465451f, 0.055175f, -0.371335f, -0.543778f, -0.348676f, 0.082121f, 0.464566f, 0.526323f, 0.227178f, -0.225699f, -0.514528f, -0.445148f, -0.074063f, 0.337702f, 0.505853f, 0.311651f, -0.096507f, -0.447922f, -0.480465f, -0.176267f, 0.237952f, 0.407723f, 0.224503f, -0.015059f, -0.056214f, -0.018457f, -0.003490f}, - {-0.008122f, -0.007933f, -0.007561f, -0.007019f, -0.006325f, -0.005502f, -0.004578f, -0.003583f, -0.002551f, -0.001514f, -0.000508f, 0.000436f, 0.001287f, 0.002019f, 0.002609f, 0.003042f, 0.003305f, 0.003394f, 0.003309f, 0.003059f, 0.002655f, 0.002117f, 0.001467f, 0.000733f, -0.000055f, -0.000865f, -0.001666f, -0.002426f, -0.003114f, -0.003702f, -0.004167f, -0.004490f, -0.004655f, -0.004654f, -0.004483f, -0.004147f, -0.003653f, -0.003014f, -0.002251f, -0.001386f, -0.000446f, 0.000542f, 0.001546f, 0.002537f, 0.003485f, 0.004362f, 0.005143f, 0.005806f, 0.006334f, 0.006713f, 0.006936f, 0.007001f, 0.006910f, 0.006671f, 0.006296f, 0.005802f, 0.005207f, 0.004535f, 0.003809f, 0.003054f, 0.002295f, 0.001555f, 0.000857f, 0.000219f, -0.000341f, -0.000811f, -0.001184f, -0.001453f, -0.001620f, -0.001687f, -0.001663f, -0.001559f, -0.001387f, -0.001163f, -0.000906f, -0.000631f, -0.000358f, -0.000102f, 0.000122f, 0.000300f, 0.000422f, 0.000482f, 0.000474f, 0.000400f, 0.000261f, 0.000064f, -0.000182f, -0.000465f, -0.000773f, -0.001091f, -0.001403f, -0.001693f, -0.001948f, -0.002154f, -0.002299f, -0.002376f, - -0.002377f, -0.002299f, -0.002145f, -0.001916f, -0.001620f, -0.001268f, -0.000871f, -0.000444f, -0.000003f, 0.000433f, 0.000849f, 0.001227f, 0.001551f, 0.001806f, 0.001982f, 0.002068f, 0.002059f, 0.001952f, 0.001747f, 0.001450f, 0.001067f, 0.000611f, 0.000093f, -0.000470f, -0.001062f, -0.001662f, -0.002254f, -0.002818f, -0.003338f, -0.003797f, -0.004183f, -0.004483f, -0.004691f, -0.004802f, -0.004815f, -0.004731f, -0.004556f, -0.004299f, -0.003971f, -0.003585f, -0.003155f, -0.002698f, -0.002230f, -0.001767f, -0.001324f, -0.000916f, -0.000554f, -0.000247f, -0.000004f, 0.000173f, 0.000281f, 0.000321f, 0.000299f, 0.000222f, 0.000097f, -0.000064f, -0.000250f, -0.000449f, -0.000647f, -0.000833f, -0.000997f, -0.001128f, -0.001220f, -0.001267f, 0.875363f, 0.116654f, -0.661817f, -0.826629f, -0.402369f, 0.289829f, 0.778345f, 0.686075f, 0.186222f, -0.492450f, -0.844907f, -0.700511f, -0.169182f, 0.555413f, 0.804353f, 0.562671f, -0.069029f, -0.621903f, -0.780365f, -0.388504f, 0.216008f, 0.700107f, 0.690873f, 0.205307f, -0.389038f, -0.709940f, -0.532071f, -0.008092f, 0.516830f, 0.685366f, 0.400172f, -0.156796f, - -0.610764f, -0.648564f, -0.248041f, 0.314656f, 0.668118f, 0.566683f, 0.102692f, -0.422984f, -0.610754f, -0.604667f, -0.119204f, 0.439597f, 0.716823f, 0.473525f, -0.083245f, -0.590438f, -0.675436f, -0.303597f, 0.280043f, 0.671094f, 0.603066f, 0.111790f, -0.450470f, -0.697038f, -0.454375f, 0.073947f, 0.530533f, 0.615953f, 0.269348f, -0.258327f, -0.597617f, -0.541078f, -0.092406f, 0.453139f, 0.669282f, 0.437777f, -0.105841f, -0.566799f, -0.652878f, -0.293692f, 0.267762f, 0.638830f, 0.583739f, 0.123852f, -0.428410f, -0.699716f, -0.472827f, 0.049668f, 0.530999f, 0.600521f, 0.268894f, -0.221661f, -0.602731f, -0.548789f, -0.120400f, 0.410229f, 0.655002f, 0.450774f, -0.057538f, -0.539000f, -0.637333f, -0.303133f, 0.211013f, 0.613957f, 0.587101f, 0.181641f, -0.310422f, -0.602883f, -0.500154f, -0.070393f, 0.393613f, 0.576259f, 0.389283f, -0.079276f, -0.470705f, -0.550184f, -0.251642f, 0.225426f, 0.561077f, 0.501491f, 0.089824f, -0.389292f, -0.615716f, -0.388263f, 0.088304f, 0.516718f, 0.604324f, 0.270485f, -0.263414f, -0.628216f, -0.543581f, -0.085300f, 0.418545f, 0.625778f, 0.397591f, -0.104349f, - -0.518155f, -0.566096f, -0.222967f, 0.251693f, 0.549767f, 0.465451f, 0.055175f, -0.371335f, -0.543778f, -0.348676f, 0.082121f, 0.464566f, 0.526323f, 0.227178f, -0.225699f, -0.514528f, -0.445148f, -0.074063f, 0.337702f, 0.505853f, 0.311651f, -0.096507f, -0.447922f, -0.480465f, -0.176267f, 0.237952f, 0.407723f, 0.224503f, -0.015059f, -0.056214f, -0.018457f, -0.003490f} - }, - { - {-0.000273f, -0.000358f, -0.000520f, -0.000746f, -0.001017f, -0.001307f, -0.001588f, -0.001829f, -0.001995f, -0.002055f, -0.001978f, -0.001734f, -0.001302f, -0.000663f, 0.000193f, 0.001268f, 0.002558f, 0.004048f, 0.005715f, 0.007530f, 0.009455f, 0.011446f, 0.013453f, 0.015426f, 0.017308f, 0.019047f, 0.020590f, 0.021887f, 0.022896f, 0.023579f, 0.023907f, 0.023862f, 0.023434f, 0.022624f, 0.021445f, 0.019919f, 0.018078f, 0.015965f, 0.013629f, 0.011127f, 0.008519f, 0.005871f, 0.003246f, 0.000710f, -0.001675f, -0.003854f, -0.005775f, -0.007396f, -0.008683f, -0.009612f, -0.010172f, -0.010358f, -0.010181f, -0.009660f, -0.008823f, -0.007708f, -0.006360f, -0.004829f, -0.003170f, -0.001440f, 0.000303f, 0.002004f, 0.003609f, 0.005069f, 0.006343f, 0.007396f, 0.008199f, 0.008735f, 0.008995f, 0.008977f, 0.008692f, 0.008155f, 0.007392f, 0.006432f, 0.005312f, 0.004071f, 0.002750f, 0.001393f, 0.000042f, -0.001263f, -0.002485f, -0.003591f, -0.004554f, -0.005353f, -0.005972f, -0.006402f, -0.006643f, -0.006697f, -0.006575f, -0.006293f, -0.005870f, -0.005329f, -0.004695f, -0.003995f, -0.003257f, -0.002507f, - -0.001769f, -0.001065f, -0.000415f, 0.000165f, 0.000666f, 0.001078f, 0.001399f, 0.001631f, 0.001776f, 0.001844f, 0.001843f, 0.001787f, 0.001687f, 0.001558f, 0.001413f, 0.001264f, 0.001122f, 0.000996f, 0.000892f, 0.000814f, 0.000763f, 0.000737f, 0.000731f, 0.000741f, 0.000757f, 0.000769f, 0.000769f, 0.000746f, 0.000689f, 0.000591f, 0.000444f, 0.000243f, -0.000014f, -0.000327f, -0.000694f, -0.001108f, -0.001561f, -0.002042f, -0.002539f, -0.003036f, -0.003519f, -0.003972f, -0.004378f, -0.004724f, -0.004996f, -0.005184f, -0.005280f, -0.005277f, -0.005175f, -0.004976f, -0.004683f, -0.004307f, -0.003859f, -0.003353f, -0.002807f, -0.002238f, -0.001667f, -0.001113f, -0.000596f, -0.000133f, 0.000259f, 0.000565f, 0.000776f, 0.000883f, 0.102988f, 0.341294f, 0.254497f, -0.391906f, -0.862557f, -0.540368f, 0.349671f, 0.909254f, 0.676052f, 0.030677f, -0.331228f, -0.698406f, -0.236689f, 0.264785f, 0.600240f, 0.465461f, 0.109871f, -0.428379f, -0.589347f, -0.409218f, 0.076928f, 0.452763f, 0.603311f, 0.262857f, -0.271601f, -0.610935f, -0.493932f, -0.122155f, 0.375662f, 0.622425f, 0.459174f, 0.035767f, - -0.486155f, -0.663043f, -0.415330f, 0.142677f, 0.611402f, 0.749182f, 0.314569f, -0.330349f, -0.813922f, -0.564511f, 0.020420f, 0.618496f, 0.798240f, 0.435640f, -0.247700f, -0.750185f, -0.723652f, -0.187242f, 0.431441f, 0.772596f, 0.577686f, 0.009311f, -0.603223f, -0.759479f, -0.425338f, 0.190884f, 0.627938f, 0.666650f, 0.216790f, -0.369183f, -0.713871f, -0.577661f, -0.064936f, 0.453506f, 0.809723f, 0.611234f, -0.008242f, -0.638253f, -0.817010f, -0.472566f, 0.229487f, 0.747722f, 0.795789f, 0.274994f, -0.439120f, -0.845736f, -0.712702f, -0.055994f, 0.602465f, 0.787324f, 0.465691f, -0.137828f, -0.712394f, -0.747138f, -0.262637f, 0.413301f, 0.820724f, 0.650333f, 0.053666f, -0.552595f, -0.818269f, -0.501577f, 0.101368f, 0.679716f, 0.757179f, 0.347880f, -0.300844f, -0.727271f, -0.653682f, -0.124663f, 0.485844f, 0.739138f, 0.521417f, -0.083320f, -0.616491f, -0.729258f, -0.286947f, 0.330731f, 0.741294f, 0.603318f, 0.068560f, -0.526770f, -0.754496f, -0.425907f, 0.209026f, 0.689311f, 0.734710f, 0.282736f, -0.390827f, -0.764154f, -0.614101f, -0.059215f, 0.532938f, 0.757470f, 0.441552f, -0.155480f, - -0.624627f, -0.635188f, -0.220928f, 0.326989f, 0.664776f, 0.523404f, 0.026833f, -0.479936f, -0.651236f, -0.388414f, 0.141286f, 0.583351f, 0.618613f, 0.235517f, -0.300328f, -0.635007f, -0.514926f, -0.030010f, 0.455951f, 0.619030f, 0.363555f, -0.164710f, -0.576657f, -0.579246f, -0.183449f, 0.328783f, 0.516179f, 0.267201f, -0.030584f, -0.073694f, -0.023572f, -0.004919f}, - {0.000273f, 0.000358f, 0.000520f, 0.000746f, 0.001017f, 0.001307f, 0.001588f, 0.001829f, 0.001995f, 0.002055f, 0.001978f, 0.001734f, 0.001302f, 0.000663f, -0.000193f, -0.001268f, -0.002558f, -0.004048f, -0.005715f, -0.007530f, -0.009455f, -0.011446f, -0.013453f, -0.015426f, -0.017308f, -0.019047f, -0.020590f, -0.021887f, -0.022896f, -0.023579f, -0.023907f, -0.023862f, -0.023434f, -0.022624f, -0.021445f, -0.019919f, -0.018078f, -0.015965f, -0.013629f, -0.011127f, -0.008519f, -0.005871f, -0.003246f, -0.000710f, 0.001675f, 0.003854f, 0.005775f, 0.007396f, 0.008683f, 0.009612f, 0.010172f, 0.010358f, 0.010181f, 0.009660f, 0.008823f, 0.007708f, 0.006360f, 0.004829f, 0.003170f, 0.001440f, -0.000303f, -0.002004f, -0.003609f, -0.005069f, -0.006343f, -0.007396f, -0.008199f, -0.008735f, -0.008995f, -0.008977f, -0.008692f, -0.008155f, -0.007392f, -0.006432f, -0.005312f, -0.004071f, -0.002750f, -0.001393f, -0.000042f, 0.001263f, 0.002485f, 0.003591f, 0.004554f, 0.005353f, 0.005972f, 0.006402f, 0.006643f, 0.006697f, 0.006575f, 0.006293f, 0.005870f, 0.005329f, 0.004695f, 0.003995f, 0.003257f, 0.002507f, - 0.001769f, 0.001065f, 0.000415f, -0.000165f, -0.000666f, -0.001078f, -0.001399f, -0.001631f, -0.001776f, -0.001844f, -0.001843f, -0.001787f, -0.001687f, -0.001558f, -0.001413f, -0.001264f, -0.001122f, -0.000996f, -0.000892f, -0.000814f, -0.000763f, -0.000737f, -0.000731f, -0.000741f, -0.000757f, -0.000769f, -0.000769f, -0.000746f, -0.000689f, -0.000591f, -0.000444f, -0.000243f, 0.000014f, 0.000327f, 0.000694f, 0.001108f, 0.001561f, 0.002042f, 0.002539f, 0.003036f, 0.003519f, 0.003972f, 0.004378f, 0.004724f, 0.004996f, 0.005184f, 0.005280f, 0.005277f, 0.005175f, 0.004976f, 0.004683f, 0.004307f, 0.003859f, 0.003353f, 0.002807f, 0.002238f, 0.001667f, 0.001113f, 0.000596f, 0.000133f, -0.000259f, -0.000565f, -0.000776f, -0.000883f, -0.102988f, -0.341294f, -0.254497f, 0.391906f, 0.862557f, 0.540368f, -0.349671f, -0.909254f, -0.676052f, -0.030677f, 0.331228f, 0.698406f, 0.236689f, -0.264785f, -0.600240f, -0.465461f, -0.109871f, 0.428379f, 0.589347f, 0.409218f, -0.076928f, -0.452763f, -0.603311f, -0.262857f, 0.271601f, 0.610935f, 0.493932f, 0.122155f, -0.375662f, -0.622425f, -0.459174f, -0.035767f, - 0.486155f, 0.663043f, 0.415330f, -0.142677f, -0.611402f, -0.749182f, -0.314569f, 0.330349f, 0.813922f, 0.564511f, -0.020420f, -0.618496f, -0.798240f, -0.435640f, 0.247700f, 0.750185f, 0.723652f, 0.187242f, -0.431441f, -0.772596f, -0.577686f, -0.009311f, 0.603223f, 0.759479f, 0.425338f, -0.190884f, -0.627938f, -0.666650f, -0.216790f, 0.369183f, 0.713871f, 0.577661f, 0.064936f, -0.453506f, -0.809723f, -0.611234f, 0.008242f, 0.638253f, 0.817010f, 0.472566f, -0.229487f, -0.747722f, -0.795789f, -0.274994f, 0.439120f, 0.845736f, 0.712702f, 0.055994f, -0.602465f, -0.787324f, -0.465691f, 0.137828f, 0.712394f, 0.747138f, 0.262637f, -0.413301f, -0.820724f, -0.650333f, -0.053666f, 0.552595f, 0.818269f, 0.501577f, -0.101368f, -0.679716f, -0.757179f, -0.347880f, 0.300844f, 0.727271f, 0.653682f, 0.124663f, -0.485844f, -0.739138f, -0.521417f, 0.083320f, 0.616491f, 0.729258f, 0.286947f, -0.330731f, -0.741294f, -0.603318f, -0.068560f, 0.526770f, 0.754496f, 0.425907f, -0.209026f, -0.689311f, -0.734710f, -0.282736f, 0.390827f, 0.764154f, 0.614101f, 0.059215f, -0.532938f, -0.757470f, -0.441552f, 0.155480f, - 0.624627f, 0.635188f, 0.220928f, -0.326989f, -0.664776f, -0.523404f, -0.026833f, 0.479936f, 0.651236f, 0.388414f, -0.141286f, -0.583351f, -0.618613f, -0.235517f, 0.300328f, 0.635007f, 0.514926f, 0.030010f, -0.455951f, -0.619030f, -0.363555f, 0.164710f, 0.576657f, 0.579246f, 0.183449f, -0.328783f, -0.516179f, -0.267201f, 0.030584f, 0.073694f, 0.023572f, 0.004919f} - }, - { - {0.059356f, 0.058918f, 0.058045f, 0.056742f, 0.055018f, 0.052885f, 0.050359f, 0.047458f, 0.044207f, 0.040633f, 0.036770f, 0.032655f, 0.028332f, 0.023848f, 0.019257f, 0.014615f, 0.009983f, 0.005423f, 0.001002f, -0.003216f, -0.007164f, -0.010780f, -0.014005f, -0.016783f, -0.019066f, -0.020814f, -0.021996f, -0.022592f, -0.022591f, -0.021996f, -0.020822f, -0.019095f, -0.016856f, -0.014154f, -0.011051f, -0.007618f, -0.003934f, -0.000083f, 0.003845f, 0.007760f, 0.011570f, 0.015188f, 0.018529f, 0.021517f, 0.024084f, 0.026173f, 0.027739f, 0.028749f, 0.029187f, 0.029049f, 0.028346f, 0.027106f, 0.025366f, 0.023179f, 0.020608f, 0.017724f, 0.014606f, 0.011338f, 0.008007f, 0.004699f, 0.001498f, -0.001515f, -0.004266f, -0.006691f, -0.008735f, -0.010354f, -0.011517f, -0.012206f, -0.012415f, -0.012153f, -0.011440f, -0.010309f, -0.008803f, -0.006972f, -0.004877f, -0.002581f, -0.000152f, 0.002341f, 0.004829f, 0.007246f, 0.009530f, 0.011626f, 0.013485f, 0.015066f, 0.016339f, 0.017283f, 0.017887f, 0.018148f, 0.018075f, 0.017685f, 0.017001f, 0.016057f, 0.014888f, 0.013535f, 0.012042f, 0.010455f, - 0.008818f, 0.007174f, 0.005564f, 0.004026f, 0.002591f, 0.001287f, 0.000135f, -0.000850f, -0.001658f, -0.002286f, -0.002736f, -0.003016f, -0.003136f, -0.003113f, -0.002964f, -0.002710f, -0.002371f, -0.001969f, -0.001525f, -0.001059f, -0.000589f, -0.000130f, 0.000304f, 0.000704f, 0.001062f, 0.001373f, 0.001636f, 0.001852f, 0.002023f, 0.002155f, 0.002253f, 0.002324f, 0.002376f, 0.002416f, 0.002450f, 0.002485f, 0.002527f, 0.002578f, 0.002641f, 0.002719f, 0.002809f, 0.002912f, 0.003026f, 0.003145f, 0.003268f, 0.003390f, 0.003507f, 0.003615f, 0.003711f, 0.003791f, 0.003854f, 0.003899f, 0.003925f, 0.003934f, 0.003926f, 0.003905f, 0.003874f, 0.003835f, 0.003793f, 0.003751f, 0.003712f, 0.003681f, 0.003658f, 0.003646f, 0.025435f, -0.047501f, -0.206609f, -0.180773f, 0.076618f, 0.007264f, -0.166264f, -0.202849f, -0.245013f, -0.225976f, -0.104578f, 0.272204f, 0.124939f, 0.081930f, 0.216268f, -0.010555f, -0.079365f, -0.139618f, -0.035045f, -0.030516f, 0.087447f, 0.152968f, 0.251964f, 0.072578f, -0.132006f, -0.186124f, 0.029938f, 0.162010f, 0.228747f, 0.120886f, -0.019444f, -0.224763f, - -0.168052f, -0.058201f, 0.178736f, 0.240274f, 0.161280f, -0.082940f, -0.165587f, -0.176223f, 0.041225f, -0.196959f, -0.142288f, -0.004056f, 0.188594f, 0.191543f, 0.081427f, -0.126895f, -0.228758f, -0.207334f, 0.057669f, 0.248634f, 0.308111f, 0.142612f, -0.137366f, -0.397413f, -0.321543f, 0.012304f, 0.416471f, 0.512123f, 0.289699f, -0.186465f, -0.492982f, -0.494032f, -0.057562f, 0.388446f, 0.467916f, 0.122419f, -0.298982f, -0.492849f, -0.282425f, 0.102427f, 0.381377f, 0.379549f, 0.064660f, -0.262880f, -0.364571f, -0.233805f, 0.157811f, 0.329797f, 0.262631f, 0.013266f, -0.235415f, -0.319442f, -0.151267f, 0.078810f, 0.253781f, 0.217149f, 0.038698f, -0.127112f, -0.203217f, -0.150585f, -0.030391f, 0.046557f, 0.133111f, 0.108005f, -0.003642f, -0.090809f, -0.150407f, -0.077790f, 0.128890f, 0.251654f, 0.192947f, -0.014988f, -0.287307f, -0.327209f, -0.124433f, 0.167411f, 0.336493f, 0.284586f, 0.024757f, -0.237824f, -0.300271f, -0.160975f, 0.128004f, 0.256220f, 0.237250f, 0.031573f, -0.149200f, -0.246673f, -0.124003f, 0.006675f, 0.131374f, 0.169499f, 0.091640f, -0.009052f, -0.065511f, -0.097672f, - -0.092451f, -0.052411f, 0.028642f, 0.073811f, 0.086550f, 0.036878f, -0.028675f, -0.087544f, -0.082915f, -0.041597f, 0.032600f, 0.095675f, 0.076272f, 0.020556f, -0.045808f, -0.072406f, -0.047495f, -0.007953f, 0.051857f, 0.073567f, 0.024330f, -0.009503f, -0.048483f, -0.045138f, -0.010428f, 0.031531f, 0.045241f, 0.008668f, -0.006942f, -0.007100f, -0.002881f, -0.000993f}, - {0.059356f, 0.058918f, 0.058045f, 0.056742f, 0.055018f, 0.052885f, 0.050359f, 0.047458f, 0.044207f, 0.040633f, 0.036770f, 0.032655f, 0.028332f, 0.023848f, 0.019257f, 0.014615f, 0.009983f, 0.005423f, 0.001002f, -0.003216f, -0.007164f, -0.010780f, -0.014005f, -0.016783f, -0.019066f, -0.020814f, -0.021996f, -0.022592f, -0.022591f, -0.021996f, -0.020822f, -0.019095f, -0.016856f, -0.014154f, -0.011051f, -0.007618f, -0.003934f, -0.000083f, 0.003845f, 0.007760f, 0.011570f, 0.015188f, 0.018529f, 0.021517f, 0.024084f, 0.026173f, 0.027739f, 0.028749f, 0.029187f, 0.029049f, 0.028346f, 0.027106f, 0.025366f, 0.023179f, 0.020608f, 0.017724f, 0.014606f, 0.011338f, 0.008007f, 0.004699f, 0.001498f, -0.001515f, -0.004266f, -0.006691f, -0.008735f, -0.010354f, -0.011517f, -0.012206f, -0.012415f, -0.012153f, -0.011440f, -0.010309f, -0.008803f, -0.006972f, -0.004877f, -0.002581f, -0.000152f, 0.002341f, 0.004829f, 0.007246f, 0.009530f, 0.011626f, 0.013485f, 0.015066f, 0.016339f, 0.017283f, 0.017887f, 0.018148f, 0.018075f, 0.017685f, 0.017001f, 0.016057f, 0.014888f, 0.013535f, 0.012042f, 0.010455f, - 0.008818f, 0.007174f, 0.005564f, 0.004026f, 0.002591f, 0.001287f, 0.000135f, -0.000850f, -0.001658f, -0.002286f, -0.002736f, -0.003016f, -0.003136f, -0.003113f, -0.002964f, -0.002710f, -0.002371f, -0.001969f, -0.001525f, -0.001059f, -0.000589f, -0.000130f, 0.000304f, 0.000704f, 0.001062f, 0.001373f, 0.001636f, 0.001852f, 0.002023f, 0.002155f, 0.002253f, 0.002324f, 0.002376f, 0.002416f, 0.002450f, 0.002485f, 0.002527f, 0.002578f, 0.002641f, 0.002719f, 0.002809f, 0.002912f, 0.003026f, 0.003145f, 0.003268f, 0.003390f, 0.003507f, 0.003615f, 0.003711f, 0.003791f, 0.003854f, 0.003899f, 0.003925f, 0.003934f, 0.003926f, 0.003905f, 0.003874f, 0.003835f, 0.003793f, 0.003751f, 0.003712f, 0.003681f, 0.003658f, 0.003646f, 0.025435f, -0.047501f, -0.206609f, -0.180773f, 0.076618f, 0.007264f, -0.166264f, -0.202849f, -0.245013f, -0.225976f, -0.104578f, 0.272204f, 0.124939f, 0.081930f, 0.216268f, -0.010555f, -0.079365f, -0.139618f, -0.035045f, -0.030516f, 0.087447f, 0.152968f, 0.251964f, 0.072578f, -0.132006f, -0.186124f, 0.029938f, 0.162010f, 0.228747f, 0.120886f, -0.019444f, -0.224763f, - -0.168052f, -0.058201f, 0.178736f, 0.240274f, 0.161280f, -0.082940f, -0.165587f, -0.176223f, 0.041225f, -0.196959f, -0.142288f, -0.004056f, 0.188594f, 0.191543f, 0.081427f, -0.126895f, -0.228758f, -0.207334f, 0.057669f, 0.248634f, 0.308111f, 0.142612f, -0.137366f, -0.397413f, -0.321543f, 0.012304f, 0.416471f, 0.512123f, 0.289699f, -0.186465f, -0.492982f, -0.494032f, -0.057562f, 0.388446f, 0.467916f, 0.122419f, -0.298982f, -0.492849f, -0.282425f, 0.102427f, 0.381377f, 0.379549f, 0.064660f, -0.262880f, -0.364571f, -0.233805f, 0.157811f, 0.329797f, 0.262631f, 0.013266f, -0.235415f, -0.319442f, -0.151267f, 0.078810f, 0.253781f, 0.217149f, 0.038698f, -0.127112f, -0.203217f, -0.150585f, -0.030391f, 0.046557f, 0.133111f, 0.108005f, -0.003642f, -0.090809f, -0.150407f, -0.077790f, 0.128890f, 0.251654f, 0.192947f, -0.014988f, -0.287307f, -0.327209f, -0.124433f, 0.167411f, 0.336493f, 0.284586f, 0.024757f, -0.237824f, -0.300271f, -0.160975f, 0.128004f, 0.256220f, 0.237250f, 0.031573f, -0.149200f, -0.246673f, -0.124003f, 0.006675f, 0.131374f, 0.169499f, 0.091640f, -0.009052f, -0.065511f, -0.097672f, - -0.092451f, -0.052411f, 0.028642f, 0.073811f, 0.086550f, 0.036878f, -0.028675f, -0.087544f, -0.082915f, -0.041597f, 0.032600f, 0.095675f, 0.076272f, 0.020556f, -0.045808f, -0.072406f, -0.047495f, -0.007953f, 0.051857f, 0.073567f, 0.024330f, -0.009503f, -0.048483f, -0.045138f, -0.010428f, 0.031531f, 0.045241f, 0.008668f, -0.006942f, -0.007100f, -0.002881f, -0.000993f} - }, - { - {0.053625f, 0.052866f, 0.051368f, 0.049170f, 0.046329f, 0.042918f, 0.039023f, 0.034745f, 0.030190f, 0.025471f, 0.020704f, 0.016002f, 0.011474f, 0.007223f, 0.003339f, -0.000098f, -0.003026f, -0.005398f, -0.007185f, -0.008378f, -0.008983f, -0.009027f, -0.008552f, -0.007615f, -0.006285f, -0.004645f, -0.002780f, -0.000785f, 0.001246f, 0.003222f, 0.005052f, 0.006656f, 0.007962f, 0.008912f, 0.009459f, 0.009574f, 0.009241f, 0.008462f, 0.007255f, 0.005653f, 0.003703f, 0.001463f, -0.000996f, -0.003599f, -0.006261f, -0.008899f, -0.011428f, -0.013766f, -0.015839f, -0.017578f, -0.018928f, -0.019844f, -0.020294f, -0.020265f, -0.019753f, -0.018775f, -0.017358f, -0.015546f, -0.013394f, -0.010967f, -0.008340f, -0.005593f, -0.002809f, -0.000075f, 0.002529f, 0.004922f, 0.007034f, 0.008800f, 0.010169f, 0.011101f, 0.011570f, 0.011564f, 0.011086f, 0.010152f, 0.008795f, 0.007057f, 0.004995f, 0.002671f, 0.000160f, -0.002463f, -0.005116f, -0.007719f, -0.010194f, -0.012465f, -0.014467f, -0.016138f, -0.017432f, -0.018311f, -0.018750f, -0.018740f, -0.018282f, -0.017393f, -0.016100f, -0.014445f, -0.012478f, -0.010258f, - -0.007851f, -0.005328f, -0.002762f, -0.000228f, 0.002203f, 0.004463f, 0.006489f, 0.008228f, 0.009634f, 0.010673f, 0.011321f, 0.011567f, 0.011411f, 0.010866f, 0.009955f, 0.008712f, 0.007181f, 0.005413f, 0.003464f, 0.001397f, -0.000724f, -0.002835f, -0.004872f, -0.006776f, -0.008491f, -0.009969f, -0.011170f, -0.012061f, -0.012620f, -0.012835f, -0.012705f, -0.012239f, -0.011454f, -0.010378f, -0.009045f, -0.007498f, -0.005785f, -0.003955f, -0.002062f, -0.000161f, 0.001697f, 0.003461f, 0.005087f, 0.006533f, 0.007766f, 0.008761f, 0.009499f, 0.009972f, 0.010178f, 0.010127f, 0.009834f, 0.009323f, 0.008624f, 0.007772f, 0.006808f, 0.005773f, 0.004712f, 0.003667f, 0.002682f, 0.001795f, 0.001040f, 0.000447f, 0.000039f, -0.000170f, 0.050249f, 0.048348f, -0.032902f, -0.133252f, -0.051827f, 0.061902f, -0.065834f, -0.089043f, -0.086938f, -0.054330f, -0.271254f, 0.096964f, -0.267374f, -0.263896f, 0.129482f, 0.546273f, 0.617687f, 0.273155f, -0.174560f, -0.533387f, -0.553862f, -0.047249f, 0.546821f, 0.739409f, 0.437574f, -0.182795f, -0.701297f, -0.782666f, -0.179700f, 0.531033f, 0.909401f, 0.572299f, - -0.135054f, -0.739309f, -0.743548f, -0.233507f, 0.430979f, 0.757620f, 0.447458f, -0.113912f, -0.697241f, -0.285283f, 0.200104f, 0.551926f, 0.527428f, 0.167191f, -0.279300f, -0.511028f, -0.414285f, -0.035132f, 0.341541f, 0.439386f, 0.261744f, -0.072803f, -0.320505f, -0.349316f, -0.137322f, 0.104548f, 0.287208f, 0.269386f, 0.083129f, -0.148946f, -0.281713f, -0.207672f, -0.018923f, 0.102224f, 0.321176f, 0.236280f, 0.042425f, -0.219756f, -0.217805f, -0.072498f, 0.123498f, 0.179293f, 0.116213f, -0.050582f, -0.138022f, -0.073945f, 0.036296f, 0.153541f, 0.153026f, 0.014050f, -0.140485f, -0.160171f, -0.061968f, 0.112086f, 0.260109f, 0.180126f, 0.031071f, -0.154900f, -0.163696f, -0.024447f, 0.058056f, 0.095424f, 0.048401f, -0.039236f, -0.025341f, -0.025501f, 0.061017f, 0.031721f, -0.120208f, -0.222734f, -0.180850f, 0.017131f, 0.223191f, 0.273290f, 0.085660f, -0.173557f, -0.344212f, -0.229181f, 0.092056f, 0.346337f, 0.343069f, 0.091950f, -0.246870f, -0.397226f, -0.330350f, 0.031617f, 0.369979f, 0.427147f, 0.130983f, -0.260862f, -0.436429f, -0.309947f, 0.028984f, 0.323668f, 0.385342f, 0.170831f, - -0.141426f, -0.359796f, -0.310746f, -0.043311f, 0.254655f, 0.384138f, 0.214884f, -0.062321f, -0.328198f, -0.348665f, -0.119870f, 0.201613f, 0.352533f, 0.283046f, -0.012735f, -0.253267f, -0.340710f, -0.212202f, 0.049709f, 0.279291f, 0.281016f, 0.089799f, -0.147975f, -0.291692f, -0.212827f, 0.000441f, 0.200148f, 0.196099f, 0.046973f, -0.016103f, -0.005004f, 0.002778f}, - {0.053625f, 0.052866f, 0.051368f, 0.049170f, 0.046329f, 0.042918f, 0.039023f, 0.034745f, 0.030190f, 0.025471f, 0.020704f, 0.016002f, 0.011474f, 0.007223f, 0.003339f, -0.000098f, -0.003026f, -0.005398f, -0.007185f, -0.008378f, -0.008983f, -0.009027f, -0.008552f, -0.007615f, -0.006285f, -0.004645f, -0.002780f, -0.000785f, 0.001246f, 0.003222f, 0.005052f, 0.006656f, 0.007962f, 0.008912f, 0.009459f, 0.009574f, 0.009241f, 0.008462f, 0.007255f, 0.005653f, 0.003703f, 0.001463f, -0.000996f, -0.003599f, -0.006261f, -0.008899f, -0.011428f, -0.013766f, -0.015839f, -0.017578f, -0.018928f, -0.019844f, -0.020294f, -0.020265f, -0.019753f, -0.018775f, -0.017358f, -0.015546f, -0.013394f, -0.010967f, -0.008340f, -0.005593f, -0.002809f, -0.000075f, 0.002529f, 0.004922f, 0.007034f, 0.008800f, 0.010169f, 0.011101f, 0.011570f, 0.011564f, 0.011086f, 0.010152f, 0.008795f, 0.007057f, 0.004995f, 0.002671f, 0.000160f, -0.002463f, -0.005116f, -0.007719f, -0.010194f, -0.012465f, -0.014467f, -0.016138f, -0.017432f, -0.018311f, -0.018750f, -0.018740f, -0.018282f, -0.017393f, -0.016100f, -0.014445f, -0.012478f, -0.010258f, - -0.007851f, -0.005328f, -0.002762f, -0.000228f, 0.002203f, 0.004463f, 0.006489f, 0.008228f, 0.009634f, 0.010673f, 0.011321f, 0.011567f, 0.011411f, 0.010866f, 0.009955f, 0.008712f, 0.007181f, 0.005413f, 0.003464f, 0.001397f, -0.000724f, -0.002835f, -0.004872f, -0.006776f, -0.008491f, -0.009969f, -0.011170f, -0.012061f, -0.012620f, -0.012835f, -0.012705f, -0.012239f, -0.011454f, -0.010378f, -0.009045f, -0.007498f, -0.005785f, -0.003955f, -0.002062f, -0.000161f, 0.001697f, 0.003461f, 0.005087f, 0.006533f, 0.007766f, 0.008761f, 0.009499f, 0.009972f, 0.010178f, 0.010127f, 0.009834f, 0.009323f, 0.008624f, 0.007772f, 0.006808f, 0.005773f, 0.004712f, 0.003667f, 0.002682f, 0.001795f, 0.001040f, 0.000447f, 0.000039f, -0.000170f, 0.050249f, 0.048348f, -0.032902f, -0.133252f, -0.051827f, 0.061902f, -0.065834f, -0.089043f, -0.086938f, -0.054330f, -0.271254f, 0.096964f, -0.267374f, -0.263896f, 0.129482f, 0.546273f, 0.617687f, 0.273155f, -0.174560f, -0.533387f, -0.553862f, -0.047249f, 0.546821f, 0.739409f, 0.437574f, -0.182795f, -0.701297f, -0.782666f, -0.179700f, 0.531033f, 0.909401f, 0.572299f, - -0.135054f, -0.739309f, -0.743548f, -0.233507f, 0.430979f, 0.757620f, 0.447458f, -0.113912f, -0.697241f, -0.285283f, 0.200104f, 0.551926f, 0.527428f, 0.167191f, -0.279300f, -0.511028f, -0.414285f, -0.035132f, 0.341541f, 0.439386f, 0.261744f, -0.072803f, -0.320505f, -0.349316f, -0.137322f, 0.104548f, 0.287208f, 0.269386f, 0.083129f, -0.148946f, -0.281713f, -0.207672f, -0.018923f, 0.102224f, 0.321176f, 0.236280f, 0.042425f, -0.219756f, -0.217805f, -0.072498f, 0.123498f, 0.179293f, 0.116213f, -0.050582f, -0.138022f, -0.073945f, 0.036296f, 0.153541f, 0.153026f, 0.014050f, -0.140485f, -0.160171f, -0.061968f, 0.112086f, 0.260109f, 0.180126f, 0.031071f, -0.154900f, -0.163696f, -0.024447f, 0.058056f, 0.095424f, 0.048401f, -0.039236f, -0.025341f, -0.025501f, 0.061017f, 0.031721f, -0.120208f, -0.222734f, -0.180850f, 0.017131f, 0.223191f, 0.273290f, 0.085660f, -0.173557f, -0.344212f, -0.229181f, 0.092056f, 0.346337f, 0.343069f, 0.091950f, -0.246870f, -0.397226f, -0.330350f, 0.031617f, 0.369979f, 0.427147f, 0.130983f, -0.260862f, -0.436429f, -0.309947f, 0.028984f, 0.323668f, 0.385342f, 0.170831f, - -0.141426f, -0.359796f, -0.310746f, -0.043311f, 0.254655f, 0.384138f, 0.214884f, -0.062321f, -0.328198f, -0.348665f, -0.119870f, 0.201613f, 0.352533f, 0.283046f, -0.012735f, -0.253267f, -0.340710f, -0.212202f, 0.049709f, 0.279291f, 0.281016f, 0.089799f, -0.147975f, -0.291692f, -0.212827f, 0.000441f, 0.200148f, 0.196099f, 0.046973f, -0.016103f, -0.005004f, 0.002778f} - }, - { - {0.041404f, 0.041181f, 0.040735f, 0.040068f, 0.039181f, 0.038078f, 0.036763f, 0.035243f, 0.033527f, 0.031627f, 0.029558f, 0.027339f, 0.024993f, 0.022545f, 0.020028f, 0.017474f, 0.014920f, 0.012407f, 0.009975f, 0.007665f, 0.005521f, 0.003582f, 0.001885f, 0.000465f, -0.000651f, -0.001440f, -0.001887f, -0.001986f, -0.001739f, -0.001156f, -0.000259f, 0.000924f, 0.002354f, 0.003985f, 0.005764f, 0.007634f, 0.009531f, 0.011392f, 0.013150f, 0.014743f, 0.016111f, 0.017197f, 0.017955f, 0.018344f, 0.018334f, 0.017906f, 0.017053f, 0.015780f, 0.014102f, 0.012048f, 0.009657f, 0.006977f, 0.004066f, 0.000987f, -0.002192f, -0.005397f, -0.008559f, -0.011606f, -0.014472f, -0.017094f, -0.019419f, -0.021403f, -0.023011f, -0.024218f, -0.025013f, -0.025397f, -0.025380f, -0.024986f, -0.024246f, -0.023202f, -0.021903f, -0.020403f, -0.018758f, -0.017029f, -0.015274f, -0.013548f, -0.011903f, -0.010384f, -0.009031f, -0.007873f, -0.006930f, -0.006214f, -0.005725f, -0.005456f, -0.005389f, -0.005500f, -0.005758f, -0.006126f, -0.006565f, -0.007033f, -0.007489f, -0.007894f, -0.008211f, -0.008410f, -0.008465f, -0.008359f, - -0.008083f, -0.007635f, -0.007021f, -0.006257f, -0.005365f, -0.004374f, -0.003317f, -0.002232f, -0.001159f, -0.000140f, 0.000786f, 0.001581f, 0.002214f, 0.002656f, 0.002888f, 0.002895f, 0.002675f, 0.002230f, 0.001573f, 0.000725f, -0.000284f, -0.001422f, -0.002646f, -0.003913f, -0.005176f, -0.006389f, -0.007505f, -0.008481f, -0.009279f, -0.009864f, -0.010212f, -0.010304f, -0.010130f, -0.009691f, -0.008994f, -0.008057f, -0.006906f, -0.005572f, -0.004093f, -0.002513f, -0.000877f, 0.000768f, 0.002376f, 0.003903f, 0.005308f, 0.006555f, 0.007615f, 0.008468f, 0.009098f, 0.009501f, 0.009680f, 0.009647f, 0.009419f, 0.009023f, 0.008491f, 0.007857f, 0.007161f, 0.006441f, 0.005737f, 0.005085f, 0.004520f, 0.004069f, 0.003756f, 0.003595f, -0.008836f, -0.013947f, -0.011734f, -0.019741f, -0.084781f, -0.068486f, -0.074672f, 0.005801f, -0.068220f, -0.035320f, -0.113818f, 0.025063f, -0.100212f, -0.161553f, 0.090443f, 0.307023f, 0.230631f, 0.193338f, -0.085542f, -0.256562f, -0.088782f, -0.069616f, 0.161908f, 0.143692f, 0.081446f, -0.108797f, -0.219084f, -0.183631f, 0.035419f, 0.217078f, 0.277572f, 0.148960f, - -0.077514f, -0.379229f, -0.269153f, 0.110752f, 0.336897f, 0.322305f, 0.115919f, -0.214207f, -0.406310f, -0.119649f, 0.205301f, 0.360085f, 0.307915f, 0.030391f, -0.224748f, -0.290953f, -0.230695f, -0.083741f, 0.191810f, 0.256304f, 0.249502f, 0.006366f, -0.133890f, -0.289349f, -0.121593f, -0.013026f, 0.252172f, 0.282690f, 0.022936f, 0.006124f, -0.201204f, -0.264997f, -0.098130f, 0.187715f, 0.257124f, 0.123241f, -0.144308f, -0.318128f, -0.223143f, -0.006095f, 0.175533f, 0.299275f, 0.196213f, -0.081491f, -0.264732f, -0.265901f, 0.040931f, 0.221500f, 0.275122f, 0.198737f, -0.144336f, -0.297062f, -0.244960f, 0.042707f, 0.229949f, 0.266618f, 0.068954f, -0.175800f, -0.243310f, -0.105423f, 0.057597f, 0.091762f, -0.006985f, -0.079265f, -0.051572f, -0.011031f, 0.063336f, 0.023698f, -0.117553f, -0.174823f, -0.151150f, 0.008448f, 0.145491f, 0.202448f, 0.074955f, -0.077028f, -0.245274f, -0.212254f, -0.062183f, 0.111539f, 0.268934f, 0.230586f, -0.041415f, -0.228907f, -0.204211f, -0.056961f, 0.188204f, 0.210330f, 0.096438f, 0.013180f, -0.229251f, -0.212336f, -0.115388f, 0.057396f, 0.170929f, 0.135953f, - -0.008739f, -0.093660f, -0.109893f, -0.030024f, 0.041695f, 0.097382f, 0.061194f, 0.002393f, -0.066722f, -0.131433f, -0.072092f, 0.034941f, 0.081100f, 0.094303f, 0.017674f, -0.043325f, -0.087348f, -0.099424f, -0.043012f, 0.030806f, 0.062464f, 0.031543f, -0.014017f, -0.042408f, -0.029252f, -0.013344f, 0.037483f, 0.053543f, 0.019193f, -0.004597f, 0.000627f, 0.001527f}, - {-0.041404f, -0.041181f, -0.040735f, -0.040068f, -0.039181f, -0.038078f, -0.036763f, -0.035243f, -0.033527f, -0.031627f, -0.029558f, -0.027339f, -0.024993f, -0.022545f, -0.020028f, -0.017474f, -0.014920f, -0.012407f, -0.009975f, -0.007665f, -0.005521f, -0.003582f, -0.001885f, -0.000465f, 0.000651f, 0.001440f, 0.001887f, 0.001986f, 0.001739f, 0.001156f, 0.000259f, -0.000924f, -0.002354f, -0.003985f, -0.005764f, -0.007634f, -0.009531f, -0.011392f, -0.013150f, -0.014743f, -0.016111f, -0.017197f, -0.017955f, -0.018344f, -0.018334f, -0.017906f, -0.017053f, -0.015780f, -0.014102f, -0.012048f, -0.009657f, -0.006977f, -0.004066f, -0.000987f, 0.002192f, 0.005397f, 0.008559f, 0.011606f, 0.014472f, 0.017094f, 0.019419f, 0.021403f, 0.023011f, 0.024218f, 0.025013f, 0.025397f, 0.025380f, 0.024986f, 0.024246f, 0.023202f, 0.021903f, 0.020403f, 0.018758f, 0.017029f, 0.015274f, 0.013548f, 0.011903f, 0.010384f, 0.009031f, 0.007873f, 0.006930f, 0.006214f, 0.005725f, 0.005456f, 0.005389f, 0.005500f, 0.005758f, 0.006126f, 0.006565f, 0.007033f, 0.007489f, 0.007894f, 0.008211f, 0.008410f, 0.008465f, 0.008359f, - 0.008083f, 0.007635f, 0.007021f, 0.006257f, 0.005365f, 0.004374f, 0.003317f, 0.002232f, 0.001159f, 0.000140f, -0.000786f, -0.001581f, -0.002214f, -0.002656f, -0.002888f, -0.002895f, -0.002675f, -0.002230f, -0.001573f, -0.000725f, 0.000284f, 0.001422f, 0.002646f, 0.003913f, 0.005176f, 0.006389f, 0.007505f, 0.008481f, 0.009279f, 0.009864f, 0.010212f, 0.010304f, 0.010130f, 0.009691f, 0.008994f, 0.008057f, 0.006906f, 0.005572f, 0.004093f, 0.002513f, 0.000877f, -0.000768f, -0.002376f, -0.003903f, -0.005308f, -0.006555f, -0.007615f, -0.008468f, -0.009098f, -0.009501f, -0.009680f, -0.009647f, -0.009419f, -0.009023f, -0.008491f, -0.007857f, -0.007161f, -0.006441f, -0.005737f, -0.005085f, -0.004520f, -0.004069f, -0.003756f, -0.003595f, 0.008836f, 0.013947f, 0.011734f, 0.019741f, 0.084781f, 0.068486f, 0.074672f, -0.005801f, 0.068220f, 0.035320f, 0.113818f, -0.025063f, 0.100212f, 0.161553f, -0.090443f, -0.307023f, -0.230631f, -0.193338f, 0.085542f, 0.256562f, 0.088782f, 0.069616f, -0.161908f, -0.143692f, -0.081446f, 0.108797f, 0.219084f, 0.183631f, -0.035419f, -0.217078f, -0.277572f, -0.148960f, - 0.077514f, 0.379229f, 0.269153f, -0.110752f, -0.336897f, -0.322305f, -0.115919f, 0.214207f, 0.406310f, 0.119649f, -0.205301f, -0.360085f, -0.307915f, -0.030391f, 0.224748f, 0.290953f, 0.230695f, 0.083741f, -0.191810f, -0.256304f, -0.249502f, -0.006366f, 0.133890f, 0.289349f, 0.121593f, 0.013026f, -0.252172f, -0.282690f, -0.022936f, -0.006124f, 0.201204f, 0.264997f, 0.098130f, -0.187715f, -0.257124f, -0.123241f, 0.144308f, 0.318128f, 0.223143f, 0.006095f, -0.175533f, -0.299275f, -0.196213f, 0.081491f, 0.264732f, 0.265901f, -0.040931f, -0.221500f, -0.275122f, -0.198737f, 0.144336f, 0.297062f, 0.244960f, -0.042707f, -0.229949f, -0.266618f, -0.068954f, 0.175800f, 0.243310f, 0.105423f, -0.057597f, -0.091762f, 0.006985f, 0.079265f, 0.051572f, 0.011031f, -0.063336f, -0.023698f, 0.117553f, 0.174823f, 0.151150f, -0.008448f, -0.145491f, -0.202448f, -0.074955f, 0.077028f, 0.245274f, 0.212254f, 0.062183f, -0.111539f, -0.268934f, -0.230586f, 0.041415f, 0.228907f, 0.204211f, 0.056961f, -0.188204f, -0.210330f, -0.096438f, -0.013180f, 0.229251f, 0.212336f, 0.115388f, -0.057396f, -0.170929f, -0.135953f, - 0.008739f, 0.093660f, 0.109893f, 0.030024f, -0.041695f, -0.097382f, -0.061194f, -0.002393f, 0.066722f, 0.131433f, 0.072092f, -0.034941f, -0.081100f, -0.094303f, -0.017674f, 0.043325f, 0.087348f, 0.099424f, 0.043012f, -0.030806f, -0.062464f, -0.031543f, 0.014017f, 0.042408f, 0.029252f, 0.013344f, -0.037483f, -0.053543f, -0.019193f, 0.004597f, -0.000627f, -0.001527f} - }, - { - {0.028626f, 0.028642f, 0.028671f, 0.028702f, 0.028721f, 0.028711f, 0.028652f, 0.028521f, 0.028297f, 0.027957f, 0.027481f, 0.026852f, 0.026056f, 0.025086f, 0.023936f, 0.022611f, 0.021120f, 0.019477f, 0.017705f, 0.015831f, 0.013886f, 0.011907f, 0.009933f, 0.008003f, 0.006159f, 0.004439f, 0.002881f, 0.001516f, 0.000373f, -0.000527f, -0.001171f, -0.001551f, -0.001670f, -0.001537f, -0.001170f, -0.000593f, 0.000160f, 0.001054f, 0.002046f, 0.003092f, 0.004146f, 0.005163f, 0.006098f, 0.006912f, 0.007567f, 0.008036f, 0.008294f, 0.008328f, 0.008132f, 0.007708f, 0.007068f, 0.006231f, 0.005225f, 0.004082f, 0.002843f, 0.001551f, 0.000250f, -0.001011f, -0.002187f, -0.003236f, -0.004118f, -0.004799f, -0.005252f, -0.005458f, -0.005406f, -0.005094f, -0.004528f, -0.003723f, -0.002704f, -0.001502f, -0.000152f, 0.001302f, 0.002815f, 0.004339f, 0.005828f, 0.007233f, 0.008513f, 0.009628f, 0.010545f, 0.011238f, 0.011688f, 0.011887f, 0.011831f, 0.011528f, 0.010994f, 0.010251f, 0.009329f, 0.008264f, 0.007093f, 0.005861f, 0.004610f, 0.003383f, 0.002222f, 0.001165f, 0.000245f, -0.000509f, - -0.001078f, -0.001446f, -0.001608f, -0.001565f, -0.001327f, -0.000908f, -0.000334f, 0.000370f, 0.001171f, 0.002033f, 0.002919f, 0.003791f, 0.004615f, 0.005355f, 0.005983f, 0.006471f, 0.006801f, 0.006959f, 0.006937f, 0.006736f, 0.006361f, 0.005825f, 0.005147f, 0.004348f, 0.003458f, 0.002504f, 0.001519f, 0.000534f, -0.000420f, -0.001312f, -0.002119f, -0.002816f, -0.003387f, -0.003819f, -0.004106f, -0.004247f, -0.004246f, -0.004112f, -0.003861f, -0.003510f, -0.003082f, -0.002598f, -0.002086f, -0.001569f, -0.001071f, -0.000615f, -0.000219f, 0.000100f, 0.000330f, 0.000465f, 0.000501f, 0.000441f, 0.000291f, 0.000061f, -0.000235f, -0.000579f, -0.000954f, -0.001339f, -0.001715f, -0.002062f, -0.002363f, -0.002603f, -0.002770f, -0.002856f, -0.031883f, -0.046548f, -0.027006f, -0.016097f, -0.080974f, -0.040031f, -0.043987f, -0.101210f, -0.273445f, -0.110743f, 0.010624f, 0.201980f, -0.125129f, -0.213107f, 0.130433f, 0.239737f, 0.175863f, 0.076859f, -0.046694f, -0.187719f, -0.040409f, -0.052401f, 0.136515f, 0.109383f, 0.072071f, -0.078017f, 0.045544f, -0.025358f, 0.050872f, -0.061143f, -0.071787f, 0.045776f, - 0.115052f, 0.163409f, 0.108495f, -0.007344f, -0.125486f, -0.119381f, -0.036933f, 0.055229f, 0.129259f, 0.087735f, 0.057230f, 0.039498f, -0.049486f, -0.024636f, -0.030369f, 0.016216f, 0.014539f, -0.054091f, 0.039386f, 0.037695f, 0.051301f, 0.003901f, -0.048974f, -0.113857f, -0.048065f, 0.075069f, 0.218723f, 0.144183f, 0.038129f, -0.094893f, -0.194108f, -0.152929f, 0.019428f, 0.124388f, 0.178049f, 0.010386f, -0.137624f, -0.190515f, 0.004197f, 0.185613f, 0.250081f, 0.051928f, -0.213124f, -0.330274f, -0.161489f, 0.151882f, 0.362165f, 0.322165f, 0.032381f, -0.246047f, -0.405064f, -0.250528f, 0.091165f, 0.307366f, 0.310248f, 0.100028f, -0.202284f, -0.325360f, -0.218936f, 0.037230f, 0.203787f, 0.201997f, 0.102652f, -0.067244f, -0.154671f, -0.120531f, -0.026295f, 0.116436f, 0.134289f, 0.085847f, 0.012360f, -0.031336f, -0.115344f, -0.152819f, -0.114131f, 0.036014f, 0.139857f, 0.196502f, 0.081002f, -0.057765f, -0.182221f, -0.163896f, -0.052464f, 0.062503f, 0.209205f, 0.162963f, 0.045714f, -0.136333f, -0.169673f, -0.077282f, -0.024267f, 0.074428f, 0.104327f, 0.090231f, 0.025751f, -0.049072f, - -0.109818f, -0.099401f, -0.031049f, 0.044631f, 0.094151f, 0.073971f, -0.006456f, -0.113584f, -0.092900f, -0.032184f, 0.021955f, 0.052643f, 0.026174f, -0.003465f, -0.028569f, -0.006586f, 0.026063f, 0.041254f, 0.029136f, 0.002444f, -0.066057f, -0.058221f, -0.036227f, 0.000289f, 0.036723f, 0.066118f, 0.024742f, -0.034124f, -0.035054f, -0.014016f, -0.006304f, -0.005896f}, - {-0.028626f, -0.028642f, -0.028671f, -0.028702f, -0.028721f, -0.028711f, -0.028652f, -0.028521f, -0.028297f, -0.027957f, -0.027481f, -0.026852f, -0.026056f, -0.025086f, -0.023936f, -0.022611f, -0.021120f, -0.019477f, -0.017705f, -0.015831f, -0.013886f, -0.011907f, -0.009933f, -0.008003f, -0.006159f, -0.004439f, -0.002881f, -0.001516f, -0.000373f, 0.000527f, 0.001171f, 0.001551f, 0.001670f, 0.001537f, 0.001170f, 0.000593f, -0.000160f, -0.001054f, -0.002046f, -0.003092f, -0.004146f, -0.005163f, -0.006098f, -0.006912f, -0.007567f, -0.008036f, -0.008294f, -0.008328f, -0.008132f, -0.007708f, -0.007068f, -0.006231f, -0.005225f, -0.004082f, -0.002843f, -0.001551f, -0.000250f, 0.001011f, 0.002187f, 0.003236f, 0.004118f, 0.004799f, 0.005252f, 0.005458f, 0.005406f, 0.005094f, 0.004528f, 0.003723f, 0.002704f, 0.001502f, 0.000152f, -0.001302f, -0.002815f, -0.004339f, -0.005828f, -0.007233f, -0.008513f, -0.009628f, -0.010545f, -0.011238f, -0.011688f, -0.011887f, -0.011831f, -0.011528f, -0.010994f, -0.010251f, -0.009329f, -0.008264f, -0.007093f, -0.005861f, -0.004610f, -0.003383f, -0.002222f, -0.001165f, -0.000245f, 0.000509f, - 0.001078f, 0.001446f, 0.001608f, 0.001565f, 0.001327f, 0.000908f, 0.000334f, -0.000370f, -0.001171f, -0.002033f, -0.002919f, -0.003791f, -0.004615f, -0.005355f, -0.005983f, -0.006471f, -0.006801f, -0.006959f, -0.006937f, -0.006736f, -0.006361f, -0.005825f, -0.005147f, -0.004348f, -0.003458f, -0.002504f, -0.001519f, -0.000534f, 0.000420f, 0.001312f, 0.002119f, 0.002816f, 0.003387f, 0.003819f, 0.004106f, 0.004247f, 0.004246f, 0.004112f, 0.003861f, 0.003510f, 0.003082f, 0.002598f, 0.002086f, 0.001569f, 0.001071f, 0.000615f, 0.000219f, -0.000100f, -0.000330f, -0.000465f, -0.000501f, -0.000441f, -0.000291f, -0.000061f, 0.000235f, 0.000579f, 0.000954f, 0.001339f, 0.001715f, 0.002062f, 0.002363f, 0.002603f, 0.002770f, 0.002856f, 0.031883f, 0.046548f, 0.027006f, 0.016097f, 0.080974f, 0.040031f, 0.043987f, 0.101210f, 0.273445f, 0.110743f, -0.010624f, -0.201980f, 0.125129f, 0.213107f, -0.130433f, -0.239737f, -0.175863f, -0.076859f, 0.046694f, 0.187719f, 0.040409f, 0.052401f, -0.136515f, -0.109383f, -0.072071f, 0.078017f, -0.045544f, 0.025358f, -0.050872f, 0.061143f, 0.071787f, -0.045776f, - -0.115052f, -0.163409f, -0.108495f, 0.007344f, 0.125486f, 0.119381f, 0.036933f, -0.055229f, -0.129259f, -0.087735f, -0.057230f, -0.039498f, 0.049486f, 0.024636f, 0.030369f, -0.016216f, -0.014539f, 0.054091f, -0.039386f, -0.037695f, -0.051301f, -0.003901f, 0.048974f, 0.113857f, 0.048065f, -0.075069f, -0.218723f, -0.144183f, -0.038129f, 0.094893f, 0.194108f, 0.152929f, -0.019428f, -0.124388f, -0.178049f, -0.010386f, 0.137624f, 0.190515f, -0.004197f, -0.185613f, -0.250081f, -0.051928f, 0.213124f, 0.330274f, 0.161489f, -0.151882f, -0.362165f, -0.322165f, -0.032381f, 0.246047f, 0.405064f, 0.250528f, -0.091165f, -0.307366f, -0.310248f, -0.100028f, 0.202284f, 0.325360f, 0.218936f, -0.037230f, -0.203787f, -0.201997f, -0.102652f, 0.067244f, 0.154671f, 0.120531f, 0.026295f, -0.116436f, -0.134289f, -0.085847f, -0.012360f, 0.031336f, 0.115344f, 0.152819f, 0.114131f, -0.036014f, -0.139857f, -0.196502f, -0.081002f, 0.057765f, 0.182221f, 0.163896f, 0.052464f, -0.062503f, -0.209205f, -0.162963f, -0.045714f, 0.136333f, 0.169673f, 0.077282f, 0.024267f, -0.074428f, -0.104327f, -0.090231f, -0.025751f, 0.049072f, - 0.109818f, 0.099401f, 0.031049f, -0.044631f, -0.094151f, -0.073971f, 0.006456f, 0.113584f, 0.092900f, 0.032184f, -0.021955f, -0.052643f, -0.026174f, 0.003465f, 0.028569f, 0.006586f, -0.026063f, -0.041254f, -0.029136f, -0.002444f, 0.066057f, 0.058221f, 0.036227f, -0.000289f, -0.036723f, -0.066118f, -0.024742f, 0.034124f, 0.035054f, 0.014016f, 0.006304f, 0.005896f} - }, - { - {0.025310f, 0.025687f, 0.026423f, 0.027479f, 0.028803f, 0.030327f, 0.031971f, 0.033646f, 0.035260f, 0.036719f, 0.037934f, 0.038819f, 0.039302f, 0.039323f, 0.038839f, 0.037826f, 0.036279f, 0.034214f, 0.031669f, 0.028699f, 0.025378f, 0.021796f, 0.018055f, 0.014265f, 0.010543f, 0.007004f, 0.003761f, 0.000920f, -0.001427f, -0.003202f, -0.004345f, -0.004818f, -0.004606f, -0.003716f, -0.002180f, -0.000053f, 0.002590f, 0.005652f, 0.009022f, 0.012578f, 0.016186f, 0.019711f, 0.023017f, 0.025976f, 0.028466f, 0.030383f, 0.031636f, 0.032159f, 0.031907f, 0.030860f, 0.029023f, 0.026427f, 0.023127f, 0.019201f, 0.014747f, 0.009880f, 0.004727f, -0.000576f, -0.005887f, -0.011066f, -0.015978f, -0.020496f, -0.024506f, -0.027913f, -0.030640f, -0.032632f, -0.033857f, -0.034310f, -0.034006f, -0.032985f, -0.031308f, -0.029055f, -0.026321f, -0.023213f, -0.019849f, -0.016346f, -0.012827f, -0.009407f, -0.006194f, -0.003285f, -0.000764f, 0.001304f, 0.002872f, 0.003912f, 0.004415f, 0.004395f, 0.003882f, 0.002923f, 0.001580f, -0.000071f, -0.001949f, -0.003965f, -0.006027f, -0.008047f, -0.009940f, -0.011630f, - -0.013049f, -0.014143f, -0.014873f, -0.015213f, -0.015155f, -0.014706f, -0.013887f, -0.012733f, -0.011291f, -0.009618f, -0.007779f, -0.005841f, -0.003874f, -0.001948f, -0.000129f, 0.001525f, 0.002963f, 0.004143f, 0.005037f, 0.005626f, 0.005908f, 0.005888f, 0.005586f, 0.005033f, 0.004268f, 0.003335f, 0.002288f, 0.001178f, 0.000062f, -0.001008f, -0.001982f, -0.002818f, -0.003480f, -0.003940f, -0.004181f, -0.004195f, -0.003984f, -0.003562f, -0.002948f, -0.002172f, -0.001269f, -0.000279f, 0.000755f, 0.001790f, 0.002784f, 0.003696f, 0.004492f, 0.005144f, 0.005628f, 0.005932f, 0.006051f, 0.005986f, 0.005752f, 0.005365f, 0.004852f, 0.004244f, 0.003576f, 0.002883f, 0.002204f, 0.001575f, 0.001027f, 0.000590f, 0.000286f, 0.000130f, -0.062719f, -0.092049f, -0.073323f, 0.069649f, -0.009513f, -0.100002f, -0.109524f, -0.147956f, -0.248873f, -0.178598f, -0.035212f, 0.057802f, -0.137092f, -0.217856f, 0.034081f, -0.064171f, -0.031464f, 0.068502f, 0.197143f, 0.101509f, -0.063704f, 0.004287f, -0.071943f, -0.096419f, -0.036460f, 0.098240f, 0.374600f, 0.252128f, 0.088983f, -0.044047f, -0.174233f, -0.131298f, - -0.136368f, 0.295343f, 0.450354f, 0.237705f, -0.128321f, -0.279512f, -0.350140f, -0.078530f, 0.362555f, 0.168500f, 0.173851f, -0.032953f, -0.170410f, -0.097289f, 0.222653f, 0.428155f, 0.230823f, -0.343600f, -0.482075f, -0.424160f, 0.047068f, 0.398882f, 0.561588f, 0.255711f, -0.070975f, -0.423283f, -0.237417f, -0.018807f, -0.046951f, 0.340034f, 0.152083f, -0.135910f, -0.141146f, 0.214772f, -0.120158f, -0.258864f, -0.375960f, -0.158851f, -0.014091f, 0.153122f, 0.103225f, 0.158943f, 0.043085f, -0.046721f, -0.114438f, -0.220415f, -0.153978f, 0.054363f, 0.154925f, 0.099798f, -0.179298f, -0.297833f, -0.102031f, 0.255803f, 0.468993f, 0.279909f, -0.146318f, -0.514820f, -0.515969f, -0.096151f, 0.447641f, 0.583733f, 0.311249f, -0.142109f, -0.400262f, -0.479969f, -0.058551f, 0.187743f, 0.275447f, 0.142366f, -0.084071f, -0.257869f, -0.250172f, -0.047876f, 0.212787f, 0.309702f, 0.186050f, -0.074890f, -0.273524f, -0.307341f, -0.180162f, 0.018243f, 0.247828f, 0.359676f, 0.146780f, -0.154708f, -0.410942f, -0.358159f, 0.001180f, 0.263830f, 0.387048f, 0.275723f, -0.090244f, -0.361436f, -0.399106f, -0.154295f, - 0.149885f, 0.412521f, 0.361088f, 0.065173f, -0.327785f, -0.456368f, -0.330803f, 0.058165f, 0.383040f, 0.477541f, 0.181098f, -0.247109f, -0.488622f, -0.385433f, -0.026630f, 0.351904f, 0.479808f, 0.272364f, -0.159846f, -0.445736f, -0.426307f, -0.086532f, 0.272691f, 0.432691f, 0.252161f, -0.094124f, -0.290550f, -0.191220f, -0.001330f, 0.035416f, 0.015705f, 0.002131f}, - {0.025310f, 0.025687f, 0.026423f, 0.027479f, 0.028803f, 0.030327f, 0.031971f, 0.033646f, 0.035260f, 0.036719f, 0.037934f, 0.038819f, 0.039302f, 0.039323f, 0.038839f, 0.037826f, 0.036279f, 0.034214f, 0.031669f, 0.028699f, 0.025378f, 0.021796f, 0.018055f, 0.014265f, 0.010543f, 0.007004f, 0.003761f, 0.000920f, -0.001427f, -0.003202f, -0.004345f, -0.004818f, -0.004606f, -0.003716f, -0.002180f, -0.000053f, 0.002590f, 0.005652f, 0.009022f, 0.012578f, 0.016186f, 0.019711f, 0.023017f, 0.025976f, 0.028466f, 0.030383f, 0.031636f, 0.032159f, 0.031907f, 0.030860f, 0.029023f, 0.026427f, 0.023127f, 0.019201f, 0.014747f, 0.009880f, 0.004727f, -0.000576f, -0.005887f, -0.011066f, -0.015978f, -0.020496f, -0.024506f, -0.027913f, -0.030640f, -0.032632f, -0.033857f, -0.034310f, -0.034006f, -0.032985f, -0.031308f, -0.029055f, -0.026321f, -0.023213f, -0.019849f, -0.016346f, -0.012827f, -0.009407f, -0.006194f, -0.003285f, -0.000764f, 0.001304f, 0.002872f, 0.003912f, 0.004415f, 0.004395f, 0.003882f, 0.002923f, 0.001580f, -0.000071f, -0.001949f, -0.003965f, -0.006027f, -0.008047f, -0.009940f, -0.011630f, - -0.013049f, -0.014143f, -0.014873f, -0.015213f, -0.015155f, -0.014706f, -0.013887f, -0.012733f, -0.011291f, -0.009618f, -0.007779f, -0.005841f, -0.003874f, -0.001948f, -0.000129f, 0.001525f, 0.002963f, 0.004143f, 0.005037f, 0.005626f, 0.005908f, 0.005888f, 0.005586f, 0.005033f, 0.004268f, 0.003335f, 0.002288f, 0.001178f, 0.000062f, -0.001008f, -0.001982f, -0.002818f, -0.003480f, -0.003940f, -0.004181f, -0.004195f, -0.003984f, -0.003562f, -0.002948f, -0.002172f, -0.001269f, -0.000279f, 0.000755f, 0.001790f, 0.002784f, 0.003696f, 0.004492f, 0.005144f, 0.005628f, 0.005932f, 0.006051f, 0.005986f, 0.005752f, 0.005365f, 0.004852f, 0.004244f, 0.003576f, 0.002883f, 0.002204f, 0.001575f, 0.001027f, 0.000590f, 0.000286f, 0.000130f, -0.062719f, -0.092049f, -0.073323f, 0.069649f, -0.009513f, -0.100002f, -0.109524f, -0.147956f, -0.248873f, -0.178598f, -0.035212f, 0.057802f, -0.137092f, -0.217856f, 0.034081f, -0.064171f, -0.031464f, 0.068502f, 0.197143f, 0.101509f, -0.063704f, 0.004287f, -0.071943f, -0.096419f, -0.036460f, 0.098240f, 0.374600f, 0.252128f, 0.088983f, -0.044047f, -0.174233f, -0.131298f, - -0.136368f, 0.295343f, 0.450354f, 0.237705f, -0.128321f, -0.279512f, -0.350140f, -0.078530f, 0.362555f, 0.168500f, 0.173851f, -0.032953f, -0.170410f, -0.097289f, 0.222653f, 0.428155f, 0.230823f, -0.343600f, -0.482075f, -0.424160f, 0.047068f, 0.398882f, 0.561588f, 0.255711f, -0.070975f, -0.423283f, -0.237417f, -0.018807f, -0.046951f, 0.340034f, 0.152083f, -0.135910f, -0.141146f, 0.214772f, -0.120158f, -0.258864f, -0.375960f, -0.158851f, -0.014091f, 0.153122f, 0.103225f, 0.158943f, 0.043085f, -0.046721f, -0.114438f, -0.220415f, -0.153978f, 0.054363f, 0.154925f, 0.099798f, -0.179298f, -0.297833f, -0.102031f, 0.255803f, 0.468993f, 0.279909f, -0.146318f, -0.514820f, -0.515969f, -0.096151f, 0.447641f, 0.583733f, 0.311249f, -0.142109f, -0.400262f, -0.479969f, -0.058551f, 0.187743f, 0.275447f, 0.142366f, -0.084071f, -0.257869f, -0.250172f, -0.047876f, 0.212787f, 0.309702f, 0.186050f, -0.074890f, -0.273524f, -0.307341f, -0.180162f, 0.018243f, 0.247828f, 0.359676f, 0.146780f, -0.154708f, -0.410942f, -0.358159f, 0.001180f, 0.263830f, 0.387048f, 0.275723f, -0.090244f, -0.361436f, -0.399106f, -0.154295f, - 0.149885f, 0.412521f, 0.361088f, 0.065173f, -0.327785f, -0.456368f, -0.330803f, 0.058165f, 0.383040f, 0.477541f, 0.181098f, -0.247109f, -0.488622f, -0.385433f, -0.026630f, 0.351904f, 0.479808f, 0.272364f, -0.159846f, -0.445736f, -0.426307f, -0.086532f, 0.272691f, 0.432691f, 0.252161f, -0.094124f, -0.290550f, -0.191220f, -0.001330f, 0.035416f, 0.015705f, 0.002131f} - }, - { - {0.049252f, 0.048505f, 0.047032f, 0.044879f, 0.042109f, 0.038804f, 0.035061f, 0.030990f, 0.026708f, 0.022336f, 0.017998f, 0.013811f, 0.009887f, 0.006325f, 0.003212f, 0.000616f, -0.001412f, -0.002843f, -0.003669f, -0.003901f, -0.003572f, -0.002732f, -0.001448f, 0.000197f, 0.002114f, 0.004204f, 0.006363f, 0.008491f, 0.010489f, 0.012268f, 0.013747f, 0.014860f, 0.015558f, 0.015807f, 0.015592f, 0.014918f, 0.013808f, 0.012301f, 0.010453f, 0.008334f, 0.006024f, 0.003612f, 0.001190f, -0.001148f, -0.003310f, -0.005209f, -0.006768f, -0.007922f, -0.008617f, -0.008817f, -0.008503f, -0.007671f, -0.006338f, -0.004534f, -0.002308f, 0.000279f, 0.003153f, 0.006233f, 0.009431f, 0.012654f, 0.015812f, 0.018815f, 0.021583f, 0.024042f, 0.026129f, 0.027795f, 0.029005f, 0.029740f, 0.029994f, 0.029780f, 0.029122f, 0.028059f, 0.026641f, 0.024928f, 0.022987f, 0.020887f, 0.018702f, 0.016503f, 0.014358f, 0.012331f, 0.010474f, 0.008833f, 0.007442f, 0.006322f, 0.005484f, 0.004926f, 0.004634f, 0.004584f, 0.004742f, 0.005069f, 0.005517f, 0.006037f, 0.006579f, 0.007092f, 0.007531f, 0.007854f, - 0.008025f, 0.008018f, 0.007815f, 0.007408f, 0.006800f, 0.006002f, 0.005035f, 0.003927f, 0.002715f, 0.001441f, 0.000148f, -0.001115f, -0.002303f, -0.003371f, -0.004279f, -0.004990f, -0.005478f, -0.005721f, -0.005708f, -0.005438f, -0.004916f, -0.004159f, -0.003191f, -0.002043f, -0.000754f, 0.000634f, 0.002076f, 0.003525f, 0.004935f, 0.006261f, 0.007464f, 0.008508f, 0.009363f, 0.010009f, 0.010432f, 0.010625f, 0.010593f, 0.010344f, 0.009898f, 0.009277f, 0.008512f, 0.007636f, 0.006683f, 0.005691f, 0.004696f, 0.003732f, 0.002830f, 0.002016f, 0.001311f, 0.000731f, 0.000286f, -0.000024f, -0.000201f, -0.000255f, -0.000199f, -0.000054f, 0.000159f, 0.000418f, 0.000696f, 0.000971f, 0.001220f, 0.001425f, 0.001571f, 0.001646f, -0.014926f, -0.089426f, -0.105113f, 0.033285f, 0.006325f, -0.014680f, -0.339995f, -0.200832f, -0.198426f, -0.256673f, -0.050366f, 0.153312f, 0.188704f, 0.030454f, 0.048690f, 0.023019f, 0.123926f, -0.055664f, 0.033674f, 0.042263f, 0.008735f, 0.027934f, 0.002027f, -0.002475f, 0.007478f, -0.012204f, -0.027819f, 0.013803f, 0.002576f, -0.058598f, -0.073877f, -0.035068f, - 0.004746f, -0.010529f, -0.047010f, -0.011128f, 0.052184f, 0.157500f, 0.015430f, -0.057176f, -0.214266f, 0.018587f, 0.168739f, 0.193512f, 0.144175f, -0.085009f, -0.238551f, -0.226822f, -0.111240f, 0.096866f, 0.212460f, 0.198553f, 0.018198f, -0.167907f, -0.239394f, -0.157140f, -0.009600f, 0.166381f, 0.145376f, 0.056992f, 0.077190f, -0.230234f, -0.183588f, -0.000075f, 0.080051f, -0.082221f, 0.309177f, 0.369904f, 0.326232f, -0.054229f, -0.305098f, -0.330527f, 0.022802f, 0.249722f, 0.282320f, 0.082731f, -0.211771f, -0.253254f, -0.300030f, -0.050831f, 0.257734f, 0.345267f, 0.211626f, -0.062206f, -0.255335f, -0.227888f, 0.022794f, 0.175552f, 0.167798f, -0.016114f, -0.153397f, -0.180506f, -0.028015f, 0.109007f, 0.103911f, 0.006245f, -0.082177f, -0.174945f, -0.054919f, 0.125037f, 0.327312f, 0.269979f, -0.013689f, -0.366086f, -0.419537f, -0.178826f, 0.224978f, 0.503260f, 0.467893f, 0.158368f, -0.345247f, -0.630165f, -0.404654f, 0.114994f, 0.475935f, 0.375711f, -0.062013f, -0.348152f, -0.410496f, -0.082221f, 0.215751f, 0.265317f, 0.248844f, -0.056057f, -0.155688f, -0.180562f, -0.044266f, 0.110211f, - 0.147724f, 0.049847f, -0.036263f, -0.111937f, -0.078368f, 0.022911f, 0.111876f, 0.086901f, 0.002921f, -0.090624f, -0.103845f, -0.027816f, 0.068250f, 0.117116f, 0.093396f, -0.028071f, -0.137833f, -0.136771f, -0.038484f, 0.097302f, 0.172137f, 0.159891f, 0.013142f, -0.144177f, -0.191770f, -0.136983f, -0.000232f, 0.108200f, 0.075797f, 0.020524f, 0.004679f, 0.007371f}, - {0.049252f, 0.048505f, 0.047032f, 0.044879f, 0.042109f, 0.038804f, 0.035061f, 0.030990f, 0.026708f, 0.022336f, 0.017998f, 0.013811f, 0.009887f, 0.006325f, 0.003212f, 0.000616f, -0.001412f, -0.002843f, -0.003669f, -0.003901f, -0.003572f, -0.002732f, -0.001448f, 0.000197f, 0.002114f, 0.004204f, 0.006363f, 0.008491f, 0.010489f, 0.012268f, 0.013747f, 0.014860f, 0.015558f, 0.015807f, 0.015592f, 0.014918f, 0.013808f, 0.012301f, 0.010453f, 0.008334f, 0.006024f, 0.003612f, 0.001190f, -0.001148f, -0.003310f, -0.005209f, -0.006768f, -0.007922f, -0.008617f, -0.008817f, -0.008503f, -0.007671f, -0.006338f, -0.004534f, -0.002308f, 0.000279f, 0.003153f, 0.006233f, 0.009431f, 0.012654f, 0.015812f, 0.018815f, 0.021583f, 0.024042f, 0.026129f, 0.027795f, 0.029005f, 0.029740f, 0.029994f, 0.029780f, 0.029122f, 0.028059f, 0.026641f, 0.024928f, 0.022987f, 0.020887f, 0.018702f, 0.016503f, 0.014358f, 0.012331f, 0.010474f, 0.008833f, 0.007442f, 0.006322f, 0.005484f, 0.004926f, 0.004634f, 0.004584f, 0.004742f, 0.005069f, 0.005517f, 0.006037f, 0.006579f, 0.007092f, 0.007531f, 0.007854f, - 0.008025f, 0.008018f, 0.007815f, 0.007408f, 0.006800f, 0.006002f, 0.005035f, 0.003927f, 0.002715f, 0.001441f, 0.000148f, -0.001115f, -0.002303f, -0.003371f, -0.004279f, -0.004990f, -0.005478f, -0.005721f, -0.005708f, -0.005438f, -0.004916f, -0.004159f, -0.003191f, -0.002043f, -0.000754f, 0.000634f, 0.002076f, 0.003525f, 0.004935f, 0.006261f, 0.007464f, 0.008508f, 0.009363f, 0.010009f, 0.010432f, 0.010625f, 0.010593f, 0.010344f, 0.009898f, 0.009277f, 0.008512f, 0.007636f, 0.006683f, 0.005691f, 0.004696f, 0.003732f, 0.002830f, 0.002016f, 0.001311f, 0.000731f, 0.000286f, -0.000024f, -0.000201f, -0.000255f, -0.000199f, -0.000054f, 0.000159f, 0.000418f, 0.000696f, 0.000971f, 0.001220f, 0.001425f, 0.001571f, 0.001646f, -0.014926f, -0.089426f, -0.105113f, 0.033285f, 0.006325f, -0.014680f, -0.339995f, -0.200832f, -0.198426f, -0.256673f, -0.050366f, 0.153312f, 0.188704f, 0.030454f, 0.048690f, 0.023019f, 0.123926f, -0.055664f, 0.033674f, 0.042263f, 0.008735f, 0.027934f, 0.002027f, -0.002475f, 0.007478f, -0.012204f, -0.027819f, 0.013803f, 0.002576f, -0.058598f, -0.073877f, -0.035068f, - 0.004746f, -0.010529f, -0.047010f, -0.011128f, 0.052184f, 0.157500f, 0.015430f, -0.057176f, -0.214266f, 0.018587f, 0.168739f, 0.193512f, 0.144175f, -0.085009f, -0.238551f, -0.226822f, -0.111240f, 0.096866f, 0.212460f, 0.198553f, 0.018198f, -0.167907f, -0.239394f, -0.157140f, -0.009600f, 0.166381f, 0.145376f, 0.056992f, 0.077190f, -0.230234f, -0.183588f, -0.000075f, 0.080051f, -0.082221f, 0.309177f, 0.369904f, 0.326232f, -0.054229f, -0.305098f, -0.330527f, 0.022802f, 0.249722f, 0.282320f, 0.082731f, -0.211771f, -0.253254f, -0.300030f, -0.050831f, 0.257734f, 0.345267f, 0.211626f, -0.062206f, -0.255335f, -0.227888f, 0.022794f, 0.175552f, 0.167798f, -0.016114f, -0.153397f, -0.180506f, -0.028015f, 0.109007f, 0.103911f, 0.006245f, -0.082177f, -0.174945f, -0.054919f, 0.125037f, 0.327312f, 0.269979f, -0.013689f, -0.366086f, -0.419537f, -0.178826f, 0.224978f, 0.503260f, 0.467893f, 0.158368f, -0.345247f, -0.630165f, -0.404654f, 0.114994f, 0.475935f, 0.375711f, -0.062013f, -0.348152f, -0.410496f, -0.082221f, 0.215751f, 0.265317f, 0.248844f, -0.056057f, -0.155688f, -0.180562f, -0.044266f, 0.110211f, - 0.147724f, 0.049847f, -0.036263f, -0.111937f, -0.078368f, 0.022911f, 0.111876f, 0.086901f, 0.002921f, -0.090624f, -0.103845f, -0.027816f, 0.068250f, 0.117116f, 0.093396f, -0.028071f, -0.137833f, -0.136771f, -0.038484f, 0.097302f, 0.172137f, 0.159891f, 0.013142f, -0.144177f, -0.191770f, -0.136983f, -0.000232f, 0.108200f, 0.075797f, 0.020524f, 0.004679f, 0.007371f} - }, - { - {0.020524f, 0.019954f, 0.018829f, 0.017179f, 0.015049f, 0.012498f, 0.009593f, 0.006414f, 0.003047f, -0.000417f, -0.003884f, -0.007261f, -0.010454f, -0.013378f, -0.015953f, -0.018107f, -0.019780f, -0.020927f, -0.021512f, -0.021516f, -0.020934f, -0.019777f, -0.018070f, -0.015849f, -0.013166f, -0.010083f, -0.006669f, -0.003003f, 0.000831f, 0.004749f, 0.008661f, 0.012484f, 0.016134f, 0.019537f, 0.022622f, 0.025331f, 0.027614f, 0.029432f, 0.030761f, 0.031586f, 0.031906f, 0.031731f, 0.031085f, 0.029999f, 0.028515f, 0.026683f, 0.024560f, 0.022205f, 0.019684f, 0.017061f, 0.014399f, 0.011763f, 0.009210f, 0.006795f, 0.004564f, 0.002558f, 0.000810f, -0.000657f, -0.001825f, -0.002689f, -0.003249f, -0.003513f, -0.003498f, -0.003225f, -0.002722f, -0.002019f, -0.001152f, -0.000157f, 0.000930f, 0.002070f, 0.003228f, 0.004372f, 0.005470f, 0.006495f, 0.007424f, 0.008241f, 0.008929f, 0.009482f, 0.009893f, 0.010163f, 0.010295f, 0.010296f, 0.010175f, 0.009946f, 0.009620f, 0.009213f, 0.008740f, 0.008214f, 0.007651f, 0.007062f, 0.006460f, 0.005852f, 0.005247f, 0.004650f, 0.004064f, 0.003492f, - 0.002932f, 0.002383f, 0.001843f, 0.001308f, 0.000775f, 0.000239f, -0.000302f, -0.000852f, -0.001413f, -0.001984f, -0.002566f, -0.003155f, -0.003747f, -0.004338f, -0.004921f, -0.005487f, -0.006028f, -0.006534f, -0.006994f, -0.007400f, -0.007741f, -0.008010f, -0.008197f, -0.008298f, -0.008307f, -0.008224f, -0.008047f, -0.007779f, -0.007425f, -0.006992f, -0.006489f, -0.005928f, -0.005323f, -0.004687f, -0.004037f, -0.003390f, -0.002763f, -0.002172f, -0.001634f, -0.001164f, -0.000775f, -0.000480f, -0.000288f, -0.000207f, -0.000239f, -0.000386f, -0.000648f, -0.001019f, -0.001491f, -0.002055f, -0.002698f, -0.003404f, -0.004157f, -0.004940f, -0.005733f, -0.006516f, -0.007271f, -0.007979f, -0.008622f, -0.009185f, -0.009653f, -0.010015f, -0.010262f, -0.010386f, -0.013960f, 0.039538f, -0.009080f, -0.048067f, -0.014905f, 0.010152f, 0.017116f, 0.126842f, 0.199826f, 0.247910f, -0.051869f, -0.166142f, -0.248324f, -0.100263f, 0.104231f, 0.332617f, 0.192145f, 0.074884f, -0.098427f, -0.080697f, -0.048697f, 0.050512f, -0.015635f, -0.046354f, -0.035057f, -0.020414f, 0.024669f, 0.127237f, 0.109052f, 0.140236f, -0.066748f, -0.193365f, - -0.186352f, -0.061126f, 0.134861f, 0.272082f, 0.167805f, -0.028111f, -0.220608f, -0.175739f, 0.052834f, 0.015141f, 0.044169f, 0.024964f, 0.012918f, -0.045790f, -0.072895f, 0.081872f, 0.084591f, -0.085795f, -0.090978f, -0.103647f, -0.040909f, 0.030292f, 0.143571f, 0.103650f, 0.063063f, -0.054640f, -0.065832f, -0.094783f, -0.028008f, 0.097145f, 0.166294f, 0.103833f, 0.011883f, -0.106418f, -0.226422f, -0.243543f, -0.041307f, 0.181256f, 0.277106f, 0.278246f, 0.158088f, -0.094954f, -0.347089f, -0.337988f, -0.124755f, 0.158593f, 0.303979f, 0.289625f, 0.048365f, -0.174889f, -0.299761f, -0.228573f, 0.044282f, 0.174276f, 0.072975f, -0.086911f, -0.143364f, -0.122536f, 0.003688f, 0.079789f, 0.121467f, 0.095954f, 0.027984f, -0.075559f, -0.146718f, -0.055121f, 0.023112f, 0.107898f, 0.137225f, 0.027182f, -0.076223f, -0.156842f, -0.102407f, 0.033455f, 0.181355f, 0.146131f, -0.065615f, -0.189951f, -0.147386f, -0.008197f, 0.177630f, 0.220091f, 0.110133f, -0.157173f, -0.401624f, -0.283624f, 0.056410f, 0.287032f, 0.307662f, 0.057544f, -0.174041f, -0.256330f, -0.178914f, 0.081254f, 0.200731f, 0.216187f, - 0.085729f, -0.097065f, -0.205649f, -0.161221f, -0.023881f, 0.187910f, 0.213384f, 0.126237f, -0.103732f, -0.250056f, -0.220258f, -0.020818f, 0.123885f, 0.223463f, 0.157788f, 0.012163f, -0.171729f, -0.205165f, -0.087605f, 0.108279f, 0.115753f, 0.091401f, -0.027898f, -0.120550f, -0.095680f, -0.003018f, 0.042296f, 0.022227f, 0.001533f, -0.002457f, -0.002996f, -0.001826f}, - {0.020524f, 0.019954f, 0.018829f, 0.017179f, 0.015049f, 0.012498f, 0.009593f, 0.006414f, 0.003047f, -0.000417f, -0.003884f, -0.007261f, -0.010454f, -0.013378f, -0.015953f, -0.018107f, -0.019780f, -0.020927f, -0.021512f, -0.021516f, -0.020934f, -0.019777f, -0.018070f, -0.015849f, -0.013166f, -0.010083f, -0.006669f, -0.003003f, 0.000831f, 0.004749f, 0.008661f, 0.012484f, 0.016134f, 0.019537f, 0.022622f, 0.025331f, 0.027614f, 0.029432f, 0.030761f, 0.031586f, 0.031906f, 0.031731f, 0.031085f, 0.029999f, 0.028515f, 0.026683f, 0.024560f, 0.022205f, 0.019684f, 0.017061f, 0.014399f, 0.011763f, 0.009210f, 0.006795f, 0.004564f, 0.002558f, 0.000810f, -0.000657f, -0.001825f, -0.002689f, -0.003249f, -0.003513f, -0.003498f, -0.003225f, -0.002722f, -0.002019f, -0.001152f, -0.000157f, 0.000930f, 0.002070f, 0.003228f, 0.004372f, 0.005470f, 0.006495f, 0.007424f, 0.008241f, 0.008929f, 0.009482f, 0.009893f, 0.010163f, 0.010295f, 0.010296f, 0.010175f, 0.009946f, 0.009620f, 0.009213f, 0.008740f, 0.008214f, 0.007651f, 0.007062f, 0.006460f, 0.005852f, 0.005247f, 0.004650f, 0.004064f, 0.003492f, - 0.002932f, 0.002383f, 0.001843f, 0.001308f, 0.000775f, 0.000239f, -0.000302f, -0.000852f, -0.001413f, -0.001984f, -0.002566f, -0.003155f, -0.003747f, -0.004338f, -0.004921f, -0.005487f, -0.006028f, -0.006534f, -0.006994f, -0.007400f, -0.007741f, -0.008010f, -0.008197f, -0.008298f, -0.008307f, -0.008224f, -0.008047f, -0.007779f, -0.007425f, -0.006992f, -0.006489f, -0.005928f, -0.005323f, -0.004687f, -0.004037f, -0.003390f, -0.002763f, -0.002172f, -0.001634f, -0.001164f, -0.000775f, -0.000480f, -0.000288f, -0.000207f, -0.000239f, -0.000386f, -0.000648f, -0.001019f, -0.001491f, -0.002055f, -0.002698f, -0.003404f, -0.004157f, -0.004940f, -0.005733f, -0.006516f, -0.007271f, -0.007979f, -0.008622f, -0.009185f, -0.009653f, -0.010015f, -0.010262f, -0.010386f, -0.013960f, 0.039538f, -0.009080f, -0.048067f, -0.014905f, 0.010152f, 0.017116f, 0.126842f, 0.199826f, 0.247910f, -0.051869f, -0.166142f, -0.248324f, -0.100263f, 0.104231f, 0.332617f, 0.192145f, 0.074884f, -0.098427f, -0.080697f, -0.048697f, 0.050512f, -0.015635f, -0.046354f, -0.035057f, -0.020414f, 0.024669f, 0.127237f, 0.109052f, 0.140236f, -0.066748f, -0.193365f, - -0.186352f, -0.061126f, 0.134861f, 0.272082f, 0.167805f, -0.028111f, -0.220608f, -0.175739f, 0.052834f, 0.015141f, 0.044169f, 0.024964f, 0.012918f, -0.045790f, -0.072895f, 0.081872f, 0.084591f, -0.085795f, -0.090978f, -0.103647f, -0.040909f, 0.030292f, 0.143571f, 0.103650f, 0.063063f, -0.054640f, -0.065832f, -0.094783f, -0.028008f, 0.097145f, 0.166294f, 0.103833f, 0.011883f, -0.106418f, -0.226422f, -0.243543f, -0.041307f, 0.181256f, 0.277106f, 0.278246f, 0.158088f, -0.094954f, -0.347089f, -0.337988f, -0.124755f, 0.158593f, 0.303979f, 0.289625f, 0.048365f, -0.174889f, -0.299761f, -0.228573f, 0.044282f, 0.174276f, 0.072975f, -0.086911f, -0.143364f, -0.122536f, 0.003688f, 0.079789f, 0.121467f, 0.095954f, 0.027984f, -0.075559f, -0.146718f, -0.055121f, 0.023112f, 0.107898f, 0.137225f, 0.027182f, -0.076223f, -0.156842f, -0.102407f, 0.033455f, 0.181355f, 0.146131f, -0.065615f, -0.189951f, -0.147386f, -0.008197f, 0.177630f, 0.220091f, 0.110133f, -0.157173f, -0.401624f, -0.283624f, 0.056410f, 0.287032f, 0.307662f, 0.057544f, -0.174041f, -0.256330f, -0.178914f, 0.081254f, 0.200731f, 0.216187f, - 0.085729f, -0.097065f, -0.205649f, -0.161221f, -0.023881f, 0.187910f, 0.213384f, 0.126237f, -0.103732f, -0.250056f, -0.220258f, -0.020818f, 0.123885f, 0.223463f, 0.157788f, 0.012163f, -0.171729f, -0.205165f, -0.087605f, 0.108279f, 0.115753f, 0.091401f, -0.027898f, -0.120550f, -0.095680f, -0.003018f, 0.042296f, 0.022227f, 0.001533f, -0.002457f, -0.002996f, -0.001826f} - }, - { - {0.009644f, 0.009468f, 0.009121f, 0.008611f, 0.007953f, 0.007163f, 0.006262f, 0.005274f, 0.004225f, 0.003142f, 0.002054f, 0.000988f, -0.000027f, -0.000965f, -0.001801f, -0.002514f, -0.003085f, -0.003500f, -0.003747f, -0.003820f, -0.003717f, -0.003442f, -0.003001f, -0.002405f, -0.001670f, -0.000816f, 0.000135f, 0.001158f, 0.002227f, 0.003311f, 0.004383f, 0.005411f, 0.006366f, 0.007221f, 0.007949f, 0.008525f, 0.008928f, 0.009139f, 0.009144f, 0.008931f, 0.008492f, 0.007825f, 0.006931f, 0.005815f, 0.004486f, 0.002956f, 0.001243f, -0.000633f, -0.002650f, -0.004782f, -0.007002f, -0.009278f, -0.011582f, -0.013881f, -0.016142f, -0.018335f, -0.020427f, -0.022388f, -0.024190f, -0.025805f, -0.027209f, -0.028381f, -0.029301f, -0.029955f, -0.030332f, -0.030425f, -0.030229f, -0.029747f, -0.028983f, -0.027949f, -0.026658f, -0.025129f, -0.023384f, -0.021450f, -0.019356f, -0.017135f, -0.014821f, -0.012453f, -0.010068f, -0.007705f, -0.005403f, -0.003199f, -0.001132f, 0.000765f, 0.002459f, 0.003923f, 0.005133f, 0.006068f, 0.006714f, 0.007061f, 0.007107f, 0.006853f, 0.006307f, 0.005483f, 0.004398f, 0.003078f, - 0.001550f, -0.000154f, -0.001998f, -0.003945f, -0.005954f, -0.007986f, -0.010000f, -0.011957f, -0.013820f, -0.015553f, -0.017125f, -0.018509f, -0.019682f, -0.020625f, -0.021326f, -0.021779f, -0.021981f, -0.021937f, -0.021655f, -0.021150f, -0.020440f, -0.019547f, -0.018497f, -0.017318f, -0.016038f, -0.014690f, -0.013303f, -0.011907f, -0.010533f, -0.009205f, -0.007950f, -0.006788f, -0.005737f, -0.004812f, -0.004024f, -0.003378f, -0.002878f, -0.002524f, -0.002310f, -0.002231f, -0.002277f, -0.002435f, -0.002693f, -0.003035f, -0.003447f, -0.003913f, -0.004418f, -0.004947f, -0.005487f, -0.006026f, -0.006553f, -0.007060f, -0.007537f, -0.007981f, -0.008386f, -0.008750f, -0.009072f, -0.009351f, -0.009586f, -0.009780f, -0.009933f, -0.010047f, -0.010122f, -0.010159f, -0.006381f, -0.006690f, -0.008662f, 0.002553f, -0.010574f, 0.011035f, 0.038869f, 0.047782f, -0.001476f, -0.057592f, -0.008074f, 0.081084f, 0.167063f, 0.131524f, -0.064977f, -0.225303f, -0.116524f, -0.106720f, 0.051120f, 0.031455f, 0.014761f, 0.072488f, 0.123728f, -0.049501f, -0.130322f, -0.053549f, -0.035009f, 0.043494f, 0.122608f, 0.060982f, 0.081993f, 0.027759f, - -0.105798f, -0.090269f, 0.012188f, 0.131393f, 0.114304f, -0.013108f, -0.074906f, -0.125671f, 0.000687f, 0.129210f, 0.119575f, 0.055843f, -0.030085f, -0.126451f, -0.097710f, -0.012733f, 0.018779f, 0.043493f, 0.048670f, 0.038435f, 0.073203f, 0.009477f, -0.005739f, -0.029491f, -0.003281f, -0.046425f, 0.071531f, 0.124820f, -0.027036f, 0.104377f, -0.012306f, -0.156535f, -0.036736f, 0.089173f, -0.009564f, -0.102722f, -0.113879f, -0.056432f, 0.033718f, 0.111011f, 0.106408f, 0.060987f, -0.098402f, -0.161937f, -0.042886f, 0.147960f, 0.178631f, 0.059238f, -0.096398f, -0.094768f, -0.074140f, 0.004331f, 0.110634f, 0.127157f, -0.000446f, -0.145241f, -0.148045f, -0.063129f, 0.092906f, 0.034099f, 0.071394f, -0.014437f, -0.099531f, -0.089497f, -0.042822f, 0.207421f, 0.118617f, 0.040766f, -0.027915f, 0.085377f, 0.049048f, -0.025063f, -0.123015f, -0.095969f, -0.019997f, 0.123141f, 0.058986f, -0.063417f, -0.178076f, -0.082010f, 0.093463f, 0.204923f, 0.099605f, -0.009078f, -0.210971f, -0.163437f, 0.059593f, 0.248835f, 0.221802f, 0.081614f, -0.127644f, -0.192694f, -0.173678f, 0.018043f, 0.113932f, 0.194188f, - 0.059613f, -0.061966f, -0.151487f, -0.103943f, -0.003527f, 0.200654f, 0.139393f, 0.049949f, -0.128293f, -0.239667f, -0.153340f, 0.088918f, 0.245305f, 0.272430f, 0.111636f, -0.060927f, -0.184231f, -0.122958f, -0.033009f, 0.095671f, 0.143342f, 0.069690f, -0.060631f, -0.125431f, -0.080599f, 0.110443f, 0.131602f, 0.016236f, -0.033800f, -0.029587f, -0.011078f, -0.007853f}, - {-0.009644f, -0.009468f, -0.009121f, -0.008611f, -0.007953f, -0.007163f, -0.006262f, -0.005274f, -0.004225f, -0.003142f, -0.002054f, -0.000988f, 0.000027f, 0.000965f, 0.001801f, 0.002514f, 0.003085f, 0.003500f, 0.003747f, 0.003820f, 0.003717f, 0.003442f, 0.003001f, 0.002405f, 0.001670f, 0.000816f, -0.000135f, -0.001158f, -0.002227f, -0.003311f, -0.004383f, -0.005411f, -0.006366f, -0.007221f, -0.007949f, -0.008525f, -0.008928f, -0.009139f, -0.009144f, -0.008931f, -0.008492f, -0.007825f, -0.006931f, -0.005815f, -0.004486f, -0.002956f, -0.001243f, 0.000633f, 0.002650f, 0.004782f, 0.007002f, 0.009278f, 0.011582f, 0.013881f, 0.016142f, 0.018335f, 0.020427f, 0.022388f, 0.024190f, 0.025805f, 0.027209f, 0.028381f, 0.029301f, 0.029955f, 0.030332f, 0.030425f, 0.030229f, 0.029747f, 0.028983f, 0.027949f, 0.026658f, 0.025129f, 0.023384f, 0.021450f, 0.019356f, 0.017135f, 0.014821f, 0.012453f, 0.010068f, 0.007705f, 0.005403f, 0.003199f, 0.001132f, -0.000765f, -0.002459f, -0.003923f, -0.005133f, -0.006068f, -0.006714f, -0.007061f, -0.007107f, -0.006853f, -0.006307f, -0.005483f, -0.004398f, -0.003078f, - -0.001550f, 0.000154f, 0.001998f, 0.003945f, 0.005954f, 0.007986f, 0.010000f, 0.011957f, 0.013820f, 0.015553f, 0.017125f, 0.018509f, 0.019682f, 0.020625f, 0.021326f, 0.021779f, 0.021981f, 0.021937f, 0.021655f, 0.021150f, 0.020440f, 0.019547f, 0.018497f, 0.017318f, 0.016038f, 0.014690f, 0.013303f, 0.011907f, 0.010533f, 0.009205f, 0.007950f, 0.006788f, 0.005737f, 0.004812f, 0.004024f, 0.003378f, 0.002878f, 0.002524f, 0.002310f, 0.002231f, 0.002277f, 0.002435f, 0.002693f, 0.003035f, 0.003447f, 0.003913f, 0.004418f, 0.004947f, 0.005487f, 0.006026f, 0.006553f, 0.007060f, 0.007537f, 0.007981f, 0.008386f, 0.008750f, 0.009072f, 0.009351f, 0.009586f, 0.009780f, 0.009933f, 0.010047f, 0.010122f, 0.010159f, 0.006381f, 0.006690f, 0.008662f, -0.002553f, 0.010574f, -0.011035f, -0.038869f, -0.047782f, 0.001476f, 0.057592f, 0.008074f, -0.081084f, -0.167063f, -0.131524f, 0.064977f, 0.225303f, 0.116524f, 0.106720f, -0.051120f, -0.031455f, -0.014761f, -0.072488f, -0.123728f, 0.049501f, 0.130322f, 0.053549f, 0.035009f, -0.043494f, -0.122608f, -0.060982f, -0.081993f, -0.027759f, - 0.105798f, 0.090269f, -0.012188f, -0.131393f, -0.114304f, 0.013108f, 0.074906f, 0.125671f, -0.000687f, -0.129210f, -0.119575f, -0.055843f, 0.030085f, 0.126451f, 0.097710f, 0.012733f, -0.018779f, -0.043493f, -0.048670f, -0.038435f, -0.073203f, -0.009477f, 0.005739f, 0.029491f, 0.003281f, 0.046425f, -0.071531f, -0.124820f, 0.027036f, -0.104377f, 0.012306f, 0.156535f, 0.036736f, -0.089173f, 0.009564f, 0.102722f, 0.113879f, 0.056432f, -0.033718f, -0.111011f, -0.106408f, -0.060987f, 0.098402f, 0.161937f, 0.042886f, -0.147960f, -0.178631f, -0.059238f, 0.096398f, 0.094768f, 0.074140f, -0.004331f, -0.110634f, -0.127157f, 0.000446f, 0.145241f, 0.148045f, 0.063129f, -0.092906f, -0.034099f, -0.071394f, 0.014437f, 0.099531f, 0.089497f, 0.042822f, -0.207421f, -0.118617f, -0.040766f, 0.027915f, -0.085377f, -0.049048f, 0.025063f, 0.123015f, 0.095969f, 0.019997f, -0.123141f, -0.058986f, 0.063417f, 0.178076f, 0.082010f, -0.093463f, -0.204923f, -0.099605f, 0.009078f, 0.210971f, 0.163437f, -0.059593f, -0.248835f, -0.221802f, -0.081614f, 0.127644f, 0.192694f, 0.173678f, -0.018043f, -0.113932f, -0.194188f, - -0.059613f, 0.061966f, 0.151487f, 0.103943f, 0.003527f, -0.200654f, -0.139393f, -0.049949f, 0.128293f, 0.239667f, 0.153340f, -0.088918f, -0.245305f, -0.272430f, -0.111636f, 0.060927f, 0.184231f, 0.122958f, 0.033009f, -0.095671f, -0.143342f, -0.069690f, 0.060631f, 0.125431f, 0.080599f, -0.110443f, -0.131602f, -0.016236f, 0.033800f, 0.029587f, 0.011078f, 0.007853f} - }, - { - {0.006688f, 0.007032f, 0.007708f, 0.008693f, 0.009955f, 0.011450f, 0.013128f, 0.014934f, 0.016805f, 0.018680f, 0.020493f, 0.022184f, 0.023695f, 0.024974f, 0.025975f, 0.026664f, 0.027013f, 0.027007f, 0.026642f, 0.025924f, 0.024870f, 0.023506f, 0.021869f, 0.020002f, 0.017953f, 0.015777f, 0.013530f, 0.011269f, 0.009049f, 0.006923f, 0.004938f, 0.003137f, 0.001555f, 0.000218f, -0.000856f, -0.001656f, -0.002184f, -0.002445f, -0.002456f, -0.002239f, -0.001822f, -0.001235f, -0.000513f, 0.000308f, 0.001194f, 0.002110f, 0.003028f, 0.003922f, 0.004771f, 0.005561f, 0.006284f, 0.006939f, 0.007531f, 0.008072f, 0.008578f, 0.009070f, 0.009572f, 0.010110f, 0.010711f, 0.011402f, 0.012205f, 0.013143f, 0.014230f, 0.015478f, 0.016889f, 0.018460f, 0.020182f, 0.022036f, 0.023998f, 0.026036f, 0.028115f, 0.030192f, 0.032223f, 0.034162f, 0.035962f, 0.037578f, 0.038966f, 0.040089f, 0.040911f, 0.041407f, 0.041557f, 0.041350f, 0.040785f, 0.039867f, 0.038611f, 0.037042f, 0.035190f, 0.033093f, 0.030793f, 0.028340f, 0.025782f, 0.023170f, 0.020557f, 0.017990f, 0.015516f, 0.013176f, - 0.011007f, 0.009038f, 0.007291f, 0.005781f, 0.004515f, 0.003494f, 0.002709f, 0.002148f, 0.001790f, 0.001611f, 0.001583f, 0.001676f, 0.001859f, 0.002099f, 0.002368f, 0.002637f, 0.002880f, 0.003079f, 0.003215f, 0.003278f, 0.003263f, 0.003167f, 0.002995f, 0.002754f, 0.002457f, 0.002119f, 0.001756f, 0.001388f, 0.001032f, 0.000707f, 0.000430f, 0.000215f, 0.000074f, 0.000016f, 0.000045f, 0.000162f, 0.000364f, 0.000643f, 0.000991f, 0.001393f, 0.001834f, 0.002298f, 0.002766f, 0.003220f, 0.003643f, 0.004020f, 0.004337f, 0.004582f, 0.004748f, 0.004831f, 0.004830f, 0.004748f, 0.004591f, 0.004369f, 0.004094f, 0.003781f, 0.003445f, 0.003103f, 0.002773f, 0.002468f, 0.002206f, 0.001997f, 0.001852f, 0.001778f, -0.023727f, 0.016634f, 0.009006f, -0.011685f, -0.021680f, -0.002306f, -0.032702f, -0.038006f, -0.202481f, -0.239038f, 0.003434f, 0.076241f, -0.005551f, -0.025828f, 0.026393f, -0.019474f, -0.059689f, 0.012646f, 0.040288f, -0.003617f, 0.084536f, -0.053039f, -0.015912f, -0.044810f, -0.017461f, 0.051636f, 0.047463f, 0.116297f, -0.063592f, -0.053661f, -0.033912f, 0.028565f, - -0.000470f, -0.050829f, -0.048193f, -0.023396f, -0.033510f, 0.069715f, 0.043166f, -0.030671f, -0.047051f, -0.046498f, 0.022457f, 0.074459f, 0.069295f, -0.006436f, -0.109817f, -0.071303f, -0.066306f, -0.085501f, -0.011291f, 0.075125f, 0.069309f, -0.019625f, -0.090982f, -0.097550f, -0.064793f, 0.066334f, 0.094839f, 0.062269f, 0.043861f, -0.175167f, -0.161338f, -0.014099f, 0.037481f, 0.002564f, 0.235182f, 0.087904f, 0.024666f, -0.085714f, -0.067747f, 0.050710f, 0.185571f, 0.211533f, 0.033323f, -0.104839f, -0.118096f, -0.240279f, -0.193597f, 0.079305f, 0.197514f, 0.083143f, -0.061378f, -0.030936f, -0.215096f, -0.340234f, -0.090012f, 0.033569f, 0.191795f, 0.128478f, 0.017269f, -0.217333f, -0.215355f, -0.115990f, 0.087738f, 0.148494f, 0.153664f, -0.094107f, -0.147274f, -0.075449f, 0.097659f, 0.168823f, 0.161313f, -0.058709f, -0.188651f, -0.194937f, 0.019785f, 0.204732f, 0.302206f, 0.159633f, -0.139682f, -0.371291f, -0.357750f, -0.039294f, 0.260904f, 0.221567f, 0.024660f, -0.108040f, -0.252084f, -0.197389f, -0.001554f, 0.172462f, 0.230729f, 0.048514f, -0.049506f, -0.176786f, -0.206245f, -0.047202f, - 0.112449f, 0.183076f, 0.137019f, -0.027194f, -0.180198f, -0.207164f, -0.024390f, 0.162092f, 0.211010f, 0.088774f, -0.082070f, -0.187258f, -0.195080f, -0.058200f, 0.103324f, 0.124264f, 0.039575f, -0.042726f, -0.078431f, -0.078889f, -0.093859f, -0.000030f, 0.070585f, 0.095080f, 0.025593f, -0.064250f, -0.117292f, -0.045434f, 0.019444f, 0.013527f, 0.004283f, 0.000702f}, - {-0.006688f, -0.007032f, -0.007708f, -0.008693f, -0.009955f, -0.011450f, -0.013128f, -0.014934f, -0.016805f, -0.018680f, -0.020493f, -0.022184f, -0.023695f, -0.024974f, -0.025975f, -0.026664f, -0.027013f, -0.027007f, -0.026642f, -0.025924f, -0.024870f, -0.023506f, -0.021869f, -0.020002f, -0.017953f, -0.015777f, -0.013530f, -0.011269f, -0.009049f, -0.006923f, -0.004938f, -0.003137f, -0.001555f, -0.000218f, 0.000856f, 0.001656f, 0.002184f, 0.002445f, 0.002456f, 0.002239f, 0.001822f, 0.001235f, 0.000513f, -0.000308f, -0.001194f, -0.002110f, -0.003028f, -0.003922f, -0.004771f, -0.005561f, -0.006284f, -0.006939f, -0.007531f, -0.008072f, -0.008578f, -0.009070f, -0.009572f, -0.010110f, -0.010711f, -0.011402f, -0.012205f, -0.013143f, -0.014230f, -0.015478f, -0.016889f, -0.018460f, -0.020182f, -0.022036f, -0.023998f, -0.026036f, -0.028115f, -0.030192f, -0.032223f, -0.034162f, -0.035962f, -0.037578f, -0.038966f, -0.040089f, -0.040911f, -0.041407f, -0.041557f, -0.041350f, -0.040785f, -0.039867f, -0.038611f, -0.037042f, -0.035190f, -0.033093f, -0.030793f, -0.028340f, -0.025782f, -0.023170f, -0.020557f, -0.017990f, -0.015516f, -0.013176f, - -0.011007f, -0.009038f, -0.007291f, -0.005781f, -0.004515f, -0.003494f, -0.002709f, -0.002148f, -0.001790f, -0.001611f, -0.001583f, -0.001676f, -0.001859f, -0.002099f, -0.002368f, -0.002637f, -0.002880f, -0.003079f, -0.003215f, -0.003278f, -0.003263f, -0.003167f, -0.002995f, -0.002754f, -0.002457f, -0.002119f, -0.001756f, -0.001388f, -0.001032f, -0.000707f, -0.000430f, -0.000215f, -0.000074f, -0.000016f, -0.000045f, -0.000162f, -0.000364f, -0.000643f, -0.000991f, -0.001393f, -0.001834f, -0.002298f, -0.002766f, -0.003220f, -0.003643f, -0.004020f, -0.004337f, -0.004582f, -0.004748f, -0.004831f, -0.004830f, -0.004748f, -0.004591f, -0.004369f, -0.004094f, -0.003781f, -0.003445f, -0.003103f, -0.002773f, -0.002468f, -0.002206f, -0.001997f, -0.001852f, -0.001778f, 0.023727f, -0.016634f, -0.009006f, 0.011685f, 0.021680f, 0.002306f, 0.032702f, 0.038006f, 0.202481f, 0.239038f, -0.003434f, -0.076241f, 0.005551f, 0.025828f, -0.026393f, 0.019474f, 0.059689f, -0.012646f, -0.040288f, 0.003617f, -0.084536f, 0.053039f, 0.015912f, 0.044810f, 0.017461f, -0.051636f, -0.047463f, -0.116297f, 0.063592f, 0.053661f, 0.033912f, -0.028565f, - 0.000470f, 0.050829f, 0.048193f, 0.023396f, 0.033510f, -0.069715f, -0.043166f, 0.030671f, 0.047051f, 0.046498f, -0.022457f, -0.074459f, -0.069295f, 0.006436f, 0.109817f, 0.071303f, 0.066306f, 0.085501f, 0.011291f, -0.075125f, -0.069309f, 0.019625f, 0.090982f, 0.097550f, 0.064793f, -0.066334f, -0.094839f, -0.062269f, -0.043861f, 0.175167f, 0.161338f, 0.014099f, -0.037481f, -0.002564f, -0.235182f, -0.087904f, -0.024666f, 0.085714f, 0.067747f, -0.050710f, -0.185571f, -0.211533f, -0.033323f, 0.104839f, 0.118096f, 0.240279f, 0.193597f, -0.079305f, -0.197514f, -0.083143f, 0.061378f, 0.030936f, 0.215096f, 0.340234f, 0.090012f, -0.033569f, -0.191795f, -0.128478f, -0.017269f, 0.217333f, 0.215355f, 0.115990f, -0.087738f, -0.148494f, -0.153664f, 0.094107f, 0.147274f, 0.075449f, -0.097659f, -0.168823f, -0.161313f, 0.058709f, 0.188651f, 0.194937f, -0.019785f, -0.204732f, -0.302206f, -0.159633f, 0.139682f, 0.371291f, 0.357750f, 0.039294f, -0.260904f, -0.221567f, -0.024660f, 0.108040f, 0.252084f, 0.197389f, 0.001554f, -0.172462f, -0.230729f, -0.048514f, 0.049506f, 0.176786f, 0.206245f, 0.047202f, - -0.112449f, -0.183076f, -0.137019f, 0.027194f, 0.180198f, 0.207164f, 0.024390f, -0.162092f, -0.211010f, -0.088774f, 0.082070f, 0.187258f, 0.195080f, 0.058200f, -0.103324f, -0.124264f, -0.039575f, 0.042726f, 0.078431f, 0.078889f, 0.093859f, 0.000030f, -0.070585f, -0.095080f, -0.025593f, 0.064250f, 0.117292f, 0.045434f, -0.019444f, -0.013527f, -0.004283f, -0.000702f} - }, - { - {-0.042673f, -0.041730f, -0.039874f, -0.037163f, -0.033680f, -0.029535f, -0.024856f, -0.019785f, -0.014478f, -0.009095f, -0.003795f, 0.001267f, 0.005945f, 0.010111f, 0.013653f, 0.016485f, 0.018543f, 0.019793f, 0.020227f, 0.019867f, 0.018758f, 0.016974f, 0.014606f, 0.011768f, 0.008583f, 0.005187f, 0.001718f, -0.001687f, -0.004895f, -0.007785f, -0.010249f, -0.012198f, -0.013566f, -0.014306f, -0.014401f, -0.013853f, -0.012694f, -0.010976f, -0.008770f, -0.006170f, -0.003278f, -0.000211f, 0.002912f, 0.005967f, 0.008838f, 0.011412f, 0.013592f, 0.015292f, 0.016449f, 0.017016f, 0.016970f, 0.016311f, 0.015061f, 0.013261f, 0.010975f, 0.008281f, 0.005272f, 0.002053f, -0.001267f, -0.004575f, -0.007762f, -0.010723f, -0.013361f, -0.015596f, -0.017360f, -0.018605f, -0.019301f, -0.019439f, -0.019030f, -0.018105f, -0.016711f, -0.014913f, -0.012790f, -0.010428f, -0.007922f, -0.005370f, -0.002870f, -0.000514f, 0.001612f, 0.003434f, 0.004888f, 0.005930f, 0.006527f, 0.006669f, 0.006361f, 0.005623f, 0.004494f, 0.003025f, 0.001281f, -0.000667f, -0.002739f, -0.004855f, -0.006933f, -0.008895f, -0.010671f, -0.012198f, - -0.013427f, -0.014318f, -0.014850f, -0.015013f, -0.014816f, -0.014280f, -0.013438f, -0.012339f, -0.011038f, -0.009599f, -0.008090f, -0.006582f, -0.005142f, -0.003835f, -0.002722f, -0.001851f, -0.001261f, -0.000981f, -0.001023f, -0.001390f, -0.002068f, -0.003032f, -0.004245f, -0.005661f, -0.007225f, -0.008877f, -0.010553f, -0.012188f, -0.013720f, -0.015092f, -0.016251f, -0.017156f, -0.017772f, -0.018079f, -0.018067f, -0.017739f, -0.017110f, -0.016205f, -0.015061f, -0.013722f, -0.012239f, -0.010666f, -0.009062f, -0.007482f, -0.005982f, -0.004610f, -0.003411f, -0.002418f, -0.001657f, -0.001143f, -0.000880f, -0.000862f, -0.001071f, -0.001483f, -0.002062f, -0.002769f, -0.003559f, -0.004386f, -0.005202f, -0.005962f, -0.006625f, -0.007155f, -0.007525f, -0.007715f, 0.000703f, -0.012014f, 0.023058f, 0.009347f, 0.006556f, 0.046623f, 0.036669f, -0.163509f, -0.163094f, -0.105808f, -0.019357f, 0.015128f, -0.055594f, -0.018606f, 0.216331f, 0.113836f, 0.070440f, -0.103385f, -0.015700f, 0.038121f, 0.109001f, 0.010150f, 0.003061f, -0.045685f, -0.068175f, -0.040635f, -0.029258f, -0.007584f, 0.043414f, 0.073871f, 0.068350f, -0.007277f, - -0.132105f, -0.150432f, 0.005063f, 0.071415f, 0.100787f, 0.069717f, -0.005698f, -0.103146f, 0.162283f, -0.037753f, -0.072138f, -0.128314f, -0.102348f, 0.020686f, 0.191555f, 0.205195f, 0.043832f, -0.203511f, -0.313890f, -0.271106f, 0.047523f, 0.305055f, 0.370226f, 0.272333f, -0.081732f, -0.353064f, -0.324645f, -0.072582f, -0.027554f, 0.313444f, 0.189395f, 0.004285f, -0.042663f, 0.088102f, -0.150611f, -0.021456f, -0.083142f, -0.036100f, -0.169744f, -0.151088f, -0.116774f, 0.088463f, 0.131521f, 0.177038f, -0.001401f, -0.187488f, -0.416717f, -0.158257f, 0.096190f, 0.311161f, 0.110840f, -0.094059f, -0.115655f, -0.090147f, 0.106664f, 0.135269f, 0.024411f, -0.178208f, -0.242803f, -0.118685f, 0.125271f, 0.314262f, 0.181317f, -0.073741f, -0.316811f, -0.389714f, -0.057773f, 0.169178f, 0.266624f, 0.089083f, -0.167968f, -0.349306f, -0.247575f, 0.018203f, 0.266792f, 0.312023f, 0.131091f, -0.088570f, -0.234122f, -0.241933f, -0.075741f, 0.113846f, 0.186098f, 0.028217f, -0.153824f, -0.129312f, -0.105649f, -0.012657f, 0.052550f, 0.050992f, -0.011399f, 0.005730f, -0.056003f, -0.040678f, -0.060576f, -0.026527f, - -0.033121f, 0.068738f, 0.128814f, 0.085662f, -0.064948f, -0.180050f, -0.213189f, -0.062824f, 0.185219f, 0.325475f, 0.193610f, -0.043435f, -0.269135f, -0.310078f, -0.129779f, 0.121151f, 0.261649f, 0.224457f, -0.023976f, -0.263413f, -0.244097f, -0.014710f, 0.158079f, 0.227605f, 0.109615f, -0.065107f, -0.132971f, -0.069191f, -0.004626f, 0.014712f, 0.007118f, 0.001950f}, - {0.042673f, 0.041730f, 0.039874f, 0.037163f, 0.033680f, 0.029535f, 0.024856f, 0.019785f, 0.014478f, 0.009095f, 0.003795f, -0.001267f, -0.005945f, -0.010111f, -0.013653f, -0.016485f, -0.018543f, -0.019793f, -0.020227f, -0.019867f, -0.018758f, -0.016974f, -0.014606f, -0.011768f, -0.008583f, -0.005187f, -0.001718f, 0.001687f, 0.004895f, 0.007785f, 0.010249f, 0.012198f, 0.013566f, 0.014306f, 0.014401f, 0.013853f, 0.012694f, 0.010976f, 0.008770f, 0.006170f, 0.003278f, 0.000211f, -0.002912f, -0.005967f, -0.008838f, -0.011412f, -0.013592f, -0.015292f, -0.016449f, -0.017016f, -0.016970f, -0.016311f, -0.015061f, -0.013261f, -0.010975f, -0.008281f, -0.005272f, -0.002053f, 0.001267f, 0.004575f, 0.007762f, 0.010723f, 0.013361f, 0.015596f, 0.017360f, 0.018605f, 0.019301f, 0.019439f, 0.019030f, 0.018105f, 0.016711f, 0.014913f, 0.012790f, 0.010428f, 0.007922f, 0.005370f, 0.002870f, 0.000514f, -0.001612f, -0.003434f, -0.004888f, -0.005930f, -0.006527f, -0.006669f, -0.006361f, -0.005623f, -0.004494f, -0.003025f, -0.001281f, 0.000667f, 0.002739f, 0.004855f, 0.006933f, 0.008895f, 0.010671f, 0.012198f, - 0.013427f, 0.014318f, 0.014850f, 0.015013f, 0.014816f, 0.014280f, 0.013438f, 0.012339f, 0.011038f, 0.009599f, 0.008090f, 0.006582f, 0.005142f, 0.003835f, 0.002722f, 0.001851f, 0.001261f, 0.000981f, 0.001023f, 0.001390f, 0.002068f, 0.003032f, 0.004245f, 0.005661f, 0.007225f, 0.008877f, 0.010553f, 0.012188f, 0.013720f, 0.015092f, 0.016251f, 0.017156f, 0.017772f, 0.018079f, 0.018067f, 0.017739f, 0.017110f, 0.016205f, 0.015061f, 0.013722f, 0.012239f, 0.010666f, 0.009062f, 0.007482f, 0.005982f, 0.004610f, 0.003411f, 0.002418f, 0.001657f, 0.001143f, 0.000880f, 0.000862f, 0.001071f, 0.001483f, 0.002062f, 0.002769f, 0.003559f, 0.004386f, 0.005202f, 0.005962f, 0.006625f, 0.007155f, 0.007525f, 0.007715f, -0.000703f, 0.012014f, -0.023058f, -0.009347f, -0.006556f, -0.046623f, -0.036669f, 0.163509f, 0.163094f, 0.105808f, 0.019357f, -0.015128f, 0.055594f, 0.018606f, -0.216331f, -0.113836f, -0.070440f, 0.103385f, 0.015700f, -0.038121f, -0.109001f, -0.010150f, -0.003061f, 0.045685f, 0.068175f, 0.040635f, 0.029258f, 0.007584f, -0.043414f, -0.073871f, -0.068350f, 0.007277f, - 0.132105f, 0.150432f, -0.005063f, -0.071415f, -0.100787f, -0.069717f, 0.005698f, 0.103146f, -0.162283f, 0.037753f, 0.072138f, 0.128314f, 0.102348f, -0.020686f, -0.191555f, -0.205195f, -0.043832f, 0.203511f, 0.313890f, 0.271106f, -0.047523f, -0.305055f, -0.370226f, -0.272333f, 0.081732f, 0.353064f, 0.324645f, 0.072582f, 0.027554f, -0.313444f, -0.189395f, -0.004285f, 0.042663f, -0.088102f, 0.150611f, 0.021456f, 0.083142f, 0.036100f, 0.169744f, 0.151088f, 0.116774f, -0.088463f, -0.131521f, -0.177038f, 0.001401f, 0.187488f, 0.416717f, 0.158257f, -0.096190f, -0.311161f, -0.110840f, 0.094059f, 0.115655f, 0.090147f, -0.106664f, -0.135269f, -0.024411f, 0.178208f, 0.242803f, 0.118685f, -0.125271f, -0.314262f, -0.181317f, 0.073741f, 0.316811f, 0.389714f, 0.057773f, -0.169178f, -0.266624f, -0.089083f, 0.167968f, 0.349306f, 0.247575f, -0.018203f, -0.266792f, -0.312023f, -0.131091f, 0.088570f, 0.234122f, 0.241933f, 0.075741f, -0.113846f, -0.186098f, -0.028217f, 0.153824f, 0.129312f, 0.105649f, 0.012657f, -0.052550f, -0.050992f, 0.011399f, -0.005730f, 0.056003f, 0.040678f, 0.060576f, 0.026527f, - 0.033121f, -0.068738f, -0.128814f, -0.085662f, 0.064948f, 0.180050f, 0.213189f, 0.062824f, -0.185219f, -0.325475f, -0.193610f, 0.043435f, 0.269135f, 0.310078f, 0.129779f, -0.121151f, -0.261649f, -0.224457f, 0.023976f, 0.263413f, 0.244097f, 0.014710f, -0.158079f, -0.227605f, -0.109615f, 0.065107f, 0.132971f, 0.069191f, 0.004626f, -0.014712f, -0.007118f, -0.001950f} - }, - { - {-0.031658f, -0.031297f, -0.030589f, -0.029558f, -0.028244f, -0.026693f, -0.024961f, -0.023108f, -0.021197f, -0.019293f, -0.017453f, -0.015733f, -0.014178f, -0.012823f, -0.011691f, -0.010791f, -0.010119f, -0.009655f, -0.009369f, -0.009215f, -0.009139f, -0.009079f, -0.008966f, -0.008732f, -0.008307f, -0.007627f, -0.006635f, -0.005285f, -0.003546f, -0.001400f, 0.001151f, 0.004090f, 0.007378f, 0.010960f, 0.014762f, 0.018696f, 0.022660f, 0.026545f, 0.030233f, 0.033604f, 0.036543f, 0.038939f, 0.040691f, 0.041714f, 0.041939f, 0.041320f, 0.039833f, 0.037479f, 0.034284f, 0.030301f, 0.025606f, 0.020299f, 0.014499f, 0.008344f, 0.001982f, -0.004428f, -0.010724f, -0.016746f, -0.022339f, -0.027361f, -0.031682f, -0.035196f, -0.037817f, -0.039484f, -0.040166f, -0.039858f, -0.038586f, -0.036401f, -0.033380f, -0.029624f, -0.025254f, -0.020406f, -0.015225f, -0.009867f, -0.004485f, 0.000768f, 0.005751f, 0.010331f, 0.014397f, 0.017853f, 0.020629f, 0.022677f, 0.023976f, 0.024528f, 0.024360f, 0.023523f, 0.022087f, 0.020138f, 0.017775f, 0.015110f, 0.012256f, 0.009328f, 0.006438f, 0.003689f, 0.001175f, -0.001027f, - -0.002856f, -0.004270f, -0.005245f, -0.005781f, -0.005894f, -0.005621f, -0.005015f, -0.004141f, -0.003077f, -0.001909f, -0.000724f, 0.000387f, 0.001340f, 0.002056f, 0.002467f, 0.002519f, 0.002172f, 0.001402f, 0.000205f, -0.001407f, -0.003403f, -0.005737f, -0.008349f, -0.011165f, -0.014104f, -0.017078f, -0.019996f, -0.022768f, -0.025309f, -0.027538f, -0.029388f, -0.030804f, -0.031742f, -0.032179f, -0.032105f, -0.031528f, -0.030472f, -0.028978f, -0.027098f, -0.024896f, -0.022445f, -0.019824f, -0.017114f, -0.014397f, -0.011749f, -0.009244f, -0.006944f, -0.004900f, -0.003155f, -0.001732f, -0.000646f, 0.000106f, 0.000538f, 0.000677f, 0.000562f, 0.000237f, -0.000245f, -0.000829f, -0.001459f, -0.002081f, -0.002644f, -0.003107f, -0.003436f, -0.003606f, 0.035933f, 0.020984f, 0.026867f, 0.002696f, 0.025415f, -0.036934f, 0.120298f, 0.068769f, -0.020529f, -0.006575f, 0.082765f, -0.095468f, 0.015725f, 0.111940f, -0.049377f, -0.361451f, -0.225560f, -0.127606f, 0.157523f, 0.115815f, -0.176161f, -0.033340f, 0.133488f, 0.235074f, 0.062310f, -0.045055f, -0.116670f, -0.191947f, -0.051784f, 0.128127f, 0.226928f, 0.159370f, - 0.002583f, -0.117427f, -0.145975f, -0.075645f, 0.062470f, 0.165515f, 0.094874f, 0.046350f, -0.069340f, -0.121021f, -0.054308f, 0.095239f, 0.175485f, 0.141666f, -0.009457f, -0.072362f, -0.077262f, -0.112777f, -0.041468f, 0.010540f, 0.128448f, 0.207661f, 0.236093f, 0.111252f, -0.132629f, -0.260489f, -0.113035f, 0.074176f, -0.037847f, 0.237528f, 0.168932f, 0.081841f, -0.030812f, 0.116029f, -0.233120f, -0.186041f, -0.172953f, 0.042388f, 0.022458f, 0.053621f, -0.126092f, 0.022388f, 0.106431f, 0.197811f, 0.251476f, -0.250332f, -0.447804f, -0.146131f, 0.106907f, 0.301541f, 0.246779f, 0.195526f, -0.234959f, -0.654778f, -0.528090f, -0.091133f, 0.350633f, 0.435490f, 0.196637f, -0.176745f, -0.414173f, -0.391466f, -0.050836f, 0.150028f, 0.222439f, 0.035540f, -0.112228f, -0.104142f, 0.130390f, 0.149355f, 0.031043f, -0.104799f, -0.143846f, -0.061771f, 0.118866f, 0.183334f, 0.124964f, -0.017414f, -0.101273f, -0.078169f, -0.013332f, 0.189832f, 0.145048f, -0.122418f, -0.167217f, -0.105858f, -0.041787f, 0.035448f, 0.048130f, -0.023457f, -0.119449f, -0.069736f, -0.037997f, -0.014965f, -0.006334f, -0.000078f, - -0.038475f, -0.075177f, 0.020174f, 0.057602f, 0.045164f, -0.033911f, -0.121277f, -0.077838f, -0.000650f, 0.066829f, 0.097348f, 0.064148f, -0.064369f, -0.142455f, -0.077573f, 0.093315f, 0.196517f, 0.146823f, -0.035371f, -0.226970f, -0.280115f, -0.132018f, 0.119916f, 0.339091f, 0.295249f, 0.056229f, -0.254791f, -0.278626f, -0.087325f, 0.007573f, 0.004968f, -0.008294f}, - {-0.031658f, -0.031297f, -0.030589f, -0.029558f, -0.028244f, -0.026693f, -0.024961f, -0.023108f, -0.021197f, -0.019293f, -0.017453f, -0.015733f, -0.014178f, -0.012823f, -0.011691f, -0.010791f, -0.010119f, -0.009655f, -0.009369f, -0.009215f, -0.009139f, -0.009079f, -0.008966f, -0.008732f, -0.008307f, -0.007627f, -0.006635f, -0.005285f, -0.003546f, -0.001400f, 0.001151f, 0.004090f, 0.007378f, 0.010960f, 0.014762f, 0.018696f, 0.022660f, 0.026545f, 0.030233f, 0.033604f, 0.036543f, 0.038939f, 0.040691f, 0.041714f, 0.041939f, 0.041320f, 0.039833f, 0.037479f, 0.034284f, 0.030301f, 0.025606f, 0.020299f, 0.014499f, 0.008344f, 0.001982f, -0.004428f, -0.010724f, -0.016746f, -0.022339f, -0.027361f, -0.031682f, -0.035196f, -0.037817f, -0.039484f, -0.040166f, -0.039858f, -0.038586f, -0.036401f, -0.033380f, -0.029624f, -0.025254f, -0.020406f, -0.015225f, -0.009867f, -0.004485f, 0.000768f, 0.005751f, 0.010331f, 0.014397f, 0.017853f, 0.020629f, 0.022677f, 0.023976f, 0.024528f, 0.024360f, 0.023523f, 0.022087f, 0.020138f, 0.017775f, 0.015110f, 0.012256f, 0.009328f, 0.006438f, 0.003689f, 0.001175f, -0.001027f, - -0.002856f, -0.004270f, -0.005245f, -0.005781f, -0.005894f, -0.005621f, -0.005015f, -0.004141f, -0.003077f, -0.001909f, -0.000724f, 0.000387f, 0.001340f, 0.002056f, 0.002467f, 0.002519f, 0.002172f, 0.001402f, 0.000205f, -0.001407f, -0.003403f, -0.005737f, -0.008349f, -0.011165f, -0.014104f, -0.017078f, -0.019996f, -0.022768f, -0.025309f, -0.027538f, -0.029388f, -0.030804f, -0.031742f, -0.032179f, -0.032105f, -0.031528f, -0.030472f, -0.028978f, -0.027098f, -0.024896f, -0.022445f, -0.019824f, -0.017114f, -0.014397f, -0.011749f, -0.009244f, -0.006944f, -0.004900f, -0.003155f, -0.001732f, -0.000646f, 0.000106f, 0.000538f, 0.000677f, 0.000562f, 0.000237f, -0.000245f, -0.000829f, -0.001459f, -0.002081f, -0.002644f, -0.003107f, -0.003436f, -0.003606f, 0.035933f, 0.020984f, 0.026867f, 0.002696f, 0.025415f, -0.036934f, 0.120298f, 0.068769f, -0.020529f, -0.006575f, 0.082765f, -0.095468f, 0.015725f, 0.111940f, -0.049377f, -0.361451f, -0.225560f, -0.127606f, 0.157523f, 0.115815f, -0.176161f, -0.033340f, 0.133488f, 0.235074f, 0.062310f, -0.045055f, -0.116670f, -0.191947f, -0.051784f, 0.128127f, 0.226928f, 0.159370f, - 0.002583f, -0.117427f, -0.145975f, -0.075645f, 0.062470f, 0.165515f, 0.094874f, 0.046350f, -0.069340f, -0.121021f, -0.054308f, 0.095239f, 0.175485f, 0.141666f, -0.009457f, -0.072362f, -0.077262f, -0.112777f, -0.041468f, 0.010540f, 0.128448f, 0.207661f, 0.236093f, 0.111252f, -0.132629f, -0.260489f, -0.113035f, 0.074176f, -0.037847f, 0.237528f, 0.168932f, 0.081841f, -0.030812f, 0.116029f, -0.233120f, -0.186041f, -0.172953f, 0.042388f, 0.022458f, 0.053621f, -0.126092f, 0.022388f, 0.106431f, 0.197811f, 0.251476f, -0.250332f, -0.447804f, -0.146131f, 0.106907f, 0.301541f, 0.246779f, 0.195526f, -0.234959f, -0.654778f, -0.528090f, -0.091133f, 0.350633f, 0.435490f, 0.196637f, -0.176745f, -0.414173f, -0.391466f, -0.050836f, 0.150028f, 0.222439f, 0.035540f, -0.112228f, -0.104142f, 0.130390f, 0.149355f, 0.031043f, -0.104799f, -0.143846f, -0.061771f, 0.118866f, 0.183334f, 0.124964f, -0.017414f, -0.101273f, -0.078169f, -0.013332f, 0.189832f, 0.145048f, -0.122418f, -0.167217f, -0.105858f, -0.041787f, 0.035448f, 0.048130f, -0.023457f, -0.119449f, -0.069736f, -0.037997f, -0.014965f, -0.006334f, -0.000078f, - -0.038475f, -0.075177f, 0.020174f, 0.057602f, 0.045164f, -0.033911f, -0.121277f, -0.077838f, -0.000650f, 0.066829f, 0.097348f, 0.064148f, -0.064369f, -0.142455f, -0.077573f, 0.093315f, 0.196517f, 0.146823f, -0.035371f, -0.226970f, -0.280115f, -0.132018f, 0.119916f, 0.339091f, 0.295249f, 0.056229f, -0.254791f, -0.278626f, -0.087325f, 0.007573f, 0.004968f, -0.008294f} - }, - { - {-0.015408f, -0.015285f, -0.015045f, -0.014699f, -0.014264f, -0.013763f, -0.013221f, -0.012665f, -0.012125f, -0.011630f, -0.011207f, -0.010883f, -0.010680f, -0.010613f, -0.010695f, -0.010928f, -0.011312f, -0.011835f, -0.012479f, -0.013221f, -0.014029f, -0.014866f, -0.015690f, -0.016456f, -0.017119f, -0.017630f, -0.017943f, -0.018017f, -0.017814f, -0.017300f, -0.016454f, -0.015260f, -0.013714f, -0.011820f, -0.009596f, -0.007071f, -0.004283f, -0.001282f, 0.001874f, 0.005119f, 0.008379f, 0.011578f, 0.014635f, 0.017470f, 0.020005f, 0.022165f, 0.023883f, 0.025098f, 0.025763f, 0.025840f, 0.025305f, 0.024148f, 0.022376f, 0.020009f, 0.017083f, 0.013647f, 0.009766f, 0.005515f, 0.000979f, -0.003748f, -0.008566f, -0.013374f, -0.018066f, -0.022543f, -0.026708f, -0.030471f, -0.033752f, -0.036484f, -0.038612f, -0.040097f, -0.040914f, -0.041057f, -0.040536f, -0.039377f, -0.037621f, -0.035325f, -0.032558f, -0.029401f, -0.025942f, -0.022276f, -0.018502f, -0.014719f, -0.011026f, -0.007514f, -0.004270f, -0.001371f, 0.001119f, 0.003148f, 0.004679f, 0.005688f, 0.006171f, 0.006137f, 0.005610f, 0.004629f, 0.003246f, 0.001525f, - -0.000461f, -0.002632f, -0.004905f, -0.007193f, -0.009411f, -0.011474f, -0.013307f, -0.014840f, -0.016015f, -0.016782f, -0.017108f, -0.016971f, -0.016366f, -0.015300f, -0.013795f, -0.011888f, -0.009625f, -0.007066f, -0.004279f, -0.001337f, 0.001679f, 0.004689f, 0.007611f, 0.010367f, 0.012881f, 0.015088f, 0.016929f, 0.018356f, 0.019333f, 0.019837f, 0.019856f, 0.019395f, 0.018467f, 0.017103f, 0.015340f, 0.013228f, 0.010824f, 0.008193f, 0.005403f, 0.002524f, -0.000374f, -0.003221f, -0.005953f, -0.008511f, -0.010844f, -0.012909f, -0.014675f, -0.016119f, -0.017231f, -0.018011f, -0.018470f, -0.018628f, -0.018516f, -0.018171f, -0.017635f, -0.016957f, -0.016187f, -0.015375f, -0.014571f, -0.013822f, -0.013169f, -0.012646f, -0.012282f, -0.012095f, -0.020686f, -0.012326f, 0.042249f, 0.011897f, -0.022847f, -0.048127f, 0.083811f, 0.129155f, 0.163708f, 0.022869f, -0.072526f, -0.164162f, -0.007816f, 0.027666f, -0.093836f, -0.134766f, -0.127618f, -0.159064f, 0.083027f, 0.276492f, 0.024970f, 0.012459f, -0.072943f, -0.075554f, -0.058818f, 0.141418f, 0.095215f, 0.252683f, 0.019866f, 0.006696f, -0.119821f, -0.077002f, - -0.045750f, 0.087841f, 0.149808f, 0.113649f, -0.009288f, -0.069954f, -0.072106f, -0.074136f, -0.033421f, 0.050376f, 0.106111f, 0.055032f, -0.022958f, -0.052034f, -0.042467f, 0.061100f, 0.037831f, -0.077361f, -0.100657f, -0.030394f, 0.011179f, 0.027216f, 0.107319f, -0.003935f, 0.036237f, -0.038532f, 0.028205f, -0.009426f, -0.146082f, 0.148498f, 0.116117f, -0.024541f, -0.083741f, 0.082639f, -0.188835f, -0.023098f, -0.023592f, 0.019447f, -0.138882f, -0.250382f, -0.311850f, 0.004980f, 0.286101f, 0.301464f, 0.107797f, -0.150925f, -0.259117f, -0.206325f, 0.001685f, 0.241522f, 0.282817f, 0.062626f, -0.088421f, -0.041516f, 0.003648f, 0.054010f, 0.046370f, 0.040694f, -0.052706f, -0.146004f, -0.137439f, -0.016482f, 0.155527f, 0.237146f, 0.195189f, 0.016389f, -0.202511f, -0.280801f, -0.243882f, 0.079192f, 0.301892f, 0.366577f, 0.210273f, -0.098096f, -0.289805f, -0.270517f, -0.114198f, 0.058399f, 0.086904f, 0.105942f, 0.029166f, -0.094588f, -0.004971f, 0.129819f, 0.201895f, -0.053156f, -0.121050f, -0.124760f, 0.042954f, 0.084181f, 0.177267f, 0.093099f, -0.039351f, -0.180287f, -0.210676f, -0.092445f, - 0.129987f, 0.290854f, 0.262032f, 0.051008f, -0.247422f, -0.366382f, -0.302780f, 0.000925f, 0.339108f, 0.427318f, 0.233903f, -0.080922f, -0.325694f, -0.336162f, -0.091573f, 0.058594f, 0.159764f, 0.137345f, 0.076793f, -0.013573f, -0.089058f, -0.094353f, -0.028671f, 0.034008f, 0.110977f, 0.068440f, 0.011509f, -0.020070f, -0.051275f, -0.009802f, -0.008549f, -0.003679f}, - {-0.015408f, -0.015285f, -0.015045f, -0.014699f, -0.014264f, -0.013763f, -0.013221f, -0.012665f, -0.012125f, -0.011630f, -0.011207f, -0.010883f, -0.010680f, -0.010613f, -0.010695f, -0.010928f, -0.011312f, -0.011835f, -0.012479f, -0.013221f, -0.014029f, -0.014866f, -0.015690f, -0.016456f, -0.017119f, -0.017630f, -0.017943f, -0.018017f, -0.017814f, -0.017300f, -0.016454f, -0.015260f, -0.013714f, -0.011820f, -0.009596f, -0.007071f, -0.004283f, -0.001282f, 0.001874f, 0.005119f, 0.008379f, 0.011578f, 0.014635f, 0.017470f, 0.020005f, 0.022165f, 0.023883f, 0.025098f, 0.025763f, 0.025840f, 0.025305f, 0.024148f, 0.022376f, 0.020009f, 0.017083f, 0.013647f, 0.009766f, 0.005515f, 0.000979f, -0.003748f, -0.008566f, -0.013374f, -0.018066f, -0.022543f, -0.026708f, -0.030471f, -0.033752f, -0.036484f, -0.038612f, -0.040097f, -0.040914f, -0.041057f, -0.040536f, -0.039377f, -0.037621f, -0.035325f, -0.032558f, -0.029401f, -0.025942f, -0.022276f, -0.018502f, -0.014719f, -0.011026f, -0.007514f, -0.004270f, -0.001371f, 0.001119f, 0.003148f, 0.004679f, 0.005688f, 0.006171f, 0.006137f, 0.005610f, 0.004629f, 0.003246f, 0.001525f, - -0.000461f, -0.002632f, -0.004905f, -0.007193f, -0.009411f, -0.011474f, -0.013307f, -0.014840f, -0.016015f, -0.016782f, -0.017108f, -0.016971f, -0.016366f, -0.015300f, -0.013795f, -0.011888f, -0.009625f, -0.007066f, -0.004279f, -0.001337f, 0.001679f, 0.004689f, 0.007611f, 0.010367f, 0.012881f, 0.015088f, 0.016929f, 0.018356f, 0.019333f, 0.019837f, 0.019856f, 0.019395f, 0.018467f, 0.017103f, 0.015340f, 0.013228f, 0.010824f, 0.008193f, 0.005403f, 0.002524f, -0.000374f, -0.003221f, -0.005953f, -0.008511f, -0.010844f, -0.012909f, -0.014675f, -0.016119f, -0.017231f, -0.018011f, -0.018470f, -0.018628f, -0.018516f, -0.018171f, -0.017635f, -0.016957f, -0.016187f, -0.015375f, -0.014571f, -0.013822f, -0.013169f, -0.012646f, -0.012282f, -0.012095f, -0.020686f, -0.012326f, 0.042249f, 0.011897f, -0.022847f, -0.048127f, 0.083811f, 0.129155f, 0.163708f, 0.022869f, -0.072526f, -0.164162f, -0.007816f, 0.027666f, -0.093836f, -0.134766f, -0.127618f, -0.159064f, 0.083027f, 0.276492f, 0.024970f, 0.012459f, -0.072943f, -0.075554f, -0.058818f, 0.141418f, 0.095215f, 0.252683f, 0.019866f, 0.006696f, -0.119821f, -0.077002f, - -0.045750f, 0.087841f, 0.149808f, 0.113649f, -0.009288f, -0.069954f, -0.072106f, -0.074136f, -0.033421f, 0.050376f, 0.106111f, 0.055032f, -0.022958f, -0.052034f, -0.042467f, 0.061100f, 0.037831f, -0.077361f, -0.100657f, -0.030394f, 0.011179f, 0.027216f, 0.107319f, -0.003935f, 0.036237f, -0.038532f, 0.028205f, -0.009426f, -0.146082f, 0.148498f, 0.116117f, -0.024541f, -0.083741f, 0.082639f, -0.188835f, -0.023098f, -0.023592f, 0.019447f, -0.138882f, -0.250382f, -0.311850f, 0.004980f, 0.286101f, 0.301464f, 0.107797f, -0.150925f, -0.259117f, -0.206325f, 0.001685f, 0.241522f, 0.282817f, 0.062626f, -0.088421f, -0.041516f, 0.003648f, 0.054010f, 0.046370f, 0.040694f, -0.052706f, -0.146004f, -0.137439f, -0.016482f, 0.155527f, 0.237146f, 0.195189f, 0.016389f, -0.202511f, -0.280801f, -0.243882f, 0.079192f, 0.301892f, 0.366577f, 0.210273f, -0.098096f, -0.289805f, -0.270517f, -0.114198f, 0.058399f, 0.086904f, 0.105942f, 0.029166f, -0.094588f, -0.004971f, 0.129819f, 0.201895f, -0.053156f, -0.121050f, -0.124760f, 0.042954f, 0.084181f, 0.177267f, 0.093099f, -0.039351f, -0.180287f, -0.210676f, -0.092445f, - 0.129987f, 0.290854f, 0.262032f, 0.051008f, -0.247422f, -0.366382f, -0.302780f, 0.000925f, 0.339108f, 0.427318f, 0.233903f, -0.080922f, -0.325694f, -0.336162f, -0.091573f, 0.058594f, 0.159764f, 0.137345f, 0.076793f, -0.013573f, -0.089058f, -0.094353f, -0.028671f, 0.034008f, 0.110977f, 0.068440f, 0.011509f, -0.020070f, -0.051275f, -0.009802f, -0.008549f, -0.003679f} - }, - { - {0.032299f, 0.031544f, 0.030055f, 0.027873f, 0.025059f, 0.021690f, 0.017856f, 0.013663f, 0.009222f, 0.004650f, 0.000066f, -0.004415f, -0.008680f, -0.012630f, -0.016174f, -0.019236f, -0.021759f, -0.023700f, -0.025037f, -0.025768f, -0.025906f, -0.025484f, -0.024551f, -0.023167f, -0.021406f, -0.019350f, -0.017085f, -0.014701f, -0.012287f, -0.009926f, -0.007696f, -0.005667f, -0.003897f, -0.002429f, -0.001295f, -0.000512f, -0.000081f, 0.000010f, -0.000213f, -0.000713f, -0.001443f, -0.002350f, -0.003372f, -0.004446f, -0.005511f, -0.006505f, -0.007372f, -0.008061f, -0.008533f, -0.008755f, -0.008706f, -0.008379f, -0.007775f, -0.006907f, -0.005800f, -0.004486f, -0.003005f, -0.001405f, 0.000266f, 0.001954f, 0.003609f, 0.005181f, 0.006625f, 0.007903f, 0.008984f, 0.009845f, 0.010472f, 0.010863f, 0.011022f, 0.010966f, 0.010717f, 0.010306f, 0.009770f, 0.009148f, 0.008484f, 0.007820f, 0.007197f, 0.006653f, 0.006221f, 0.005927f, 0.005791f, 0.005822f, 0.006022f, 0.006383f, 0.006889f, 0.007515f, 0.008231f, 0.009000f, 0.009779f, 0.010525f, 0.011195f, 0.011745f, 0.012135f, 0.012331f, 0.012304f, 0.012035f, - 0.011513f, 0.010735f, 0.009710f, 0.008458f, 0.007006f, 0.005391f, 0.003659f, 0.001860f, 0.000049f, -0.001714f, -0.003372f, -0.004865f, -0.006142f, -0.007151f, -0.007852f, -0.008212f, -0.008206f, -0.007822f, -0.007059f, -0.005925f, -0.004442f, -0.002640f, -0.000561f, 0.001749f, 0.004233f, 0.006831f, 0.009481f, 0.012119f, 0.014683f, 0.017113f, 0.019354f, 0.021358f, 0.023083f, 0.024499f, 0.025582f, 0.026320f, 0.026709f, 0.026758f, 0.026480f, 0.025901f, 0.025050f, 0.023964f, 0.022684f, 0.021252f, 0.019712f, 0.018108f, 0.016481f, 0.014870f, 0.013308f, 0.011825f, 0.010443f, 0.009182f, 0.008051f, 0.007056f, 0.006199f, 0.005475f, 0.004876f, 0.004392f, 0.004010f, 0.003717f, 0.003501f, 0.003350f, 0.003255f, 0.003210f, -0.013680f, -0.039550f, -0.038004f, -0.021661f, 0.011200f, 0.000727f, -0.055616f, 0.005118f, -0.073839f, -0.098462f, -0.068399f, -0.001479f, -0.054556f, 0.005705f, -0.020564f, -0.008444f, -0.065880f, -0.030718f, 0.136221f, 0.158023f, -0.089897f, -0.028536f, 0.013666f, 0.105333f, 0.066431f, 0.035655f, 0.039198f, -0.028502f, -0.059788f, -0.060135f, 0.033058f, 0.092928f, - -0.009570f, -0.065701f, -0.068909f, -0.005240f, 0.042002f, 0.099751f, 0.024988f, -0.005379f, -0.041463f, 0.032064f, 0.017203f, 0.091991f, 0.037084f, 0.014363f, -0.024151f, -0.000292f, -0.050768f, -0.055517f, -0.058829f, 0.077306f, 0.048217f, 0.028005f, -0.043731f, -0.103314f, -0.084560f, 0.008726f, 0.030716f, 0.040377f, 0.097543f, -0.094716f, -0.112332f, -0.068748f, 0.010776f, -0.025287f, 0.173500f, 0.126353f, 0.098705f, -0.033310f, -0.045328f, -0.096649f, 0.056125f, 0.059148f, 0.063656f, 0.051949f, 0.013214f, -0.165706f, -0.244565f, -0.146717f, 0.089772f, 0.235814f, 0.281104f, 0.041070f, -0.139964f, -0.268631f, -0.126872f, 0.045759f, 0.225982f, 0.215417f, 0.079051f, -0.048478f, -0.284325f, -0.235456f, -0.000243f, 0.173903f, 0.206366f, 0.016453f, -0.145258f, -0.163019f, -0.051451f, 0.085441f, 0.149474f, 0.015766f, -0.148167f, -0.220790f, -0.111326f, 0.104355f, 0.273432f, 0.144737f, -0.129187f, -0.311249f, -0.225754f, -0.091820f, 0.299847f, 0.419689f, 0.126895f, -0.229018f, -0.342215f, -0.194918f, 0.122016f, 0.285187f, 0.358148f, 0.124243f, -0.127982f, -0.282243f, -0.197338f, 0.015785f, - 0.230173f, 0.268222f, 0.092309f, -0.109969f, -0.202412f, -0.112134f, 0.095827f, 0.220495f, 0.116567f, -0.053352f, -0.155056f, -0.119150f, 0.106271f, 0.197023f, 0.114667f, -0.061074f, -0.194423f, -0.209315f, -0.031668f, 0.202858f, 0.246496f, 0.101415f, -0.106340f, -0.237504f, -0.213684f, -0.067325f, 0.140445f, 0.193717f, 0.078110f, 0.001223f, -0.002604f, 0.006252f}, - {0.032299f, 0.031544f, 0.030055f, 0.027873f, 0.025059f, 0.021690f, 0.017856f, 0.013663f, 0.009222f, 0.004650f, 0.000066f, -0.004415f, -0.008680f, -0.012630f, -0.016174f, -0.019236f, -0.021759f, -0.023700f, -0.025037f, -0.025768f, -0.025906f, -0.025484f, -0.024551f, -0.023167f, -0.021406f, -0.019350f, -0.017085f, -0.014701f, -0.012287f, -0.009926f, -0.007696f, -0.005667f, -0.003897f, -0.002429f, -0.001295f, -0.000512f, -0.000081f, 0.000010f, -0.000213f, -0.000713f, -0.001443f, -0.002350f, -0.003372f, -0.004446f, -0.005511f, -0.006505f, -0.007372f, -0.008061f, -0.008533f, -0.008755f, -0.008706f, -0.008379f, -0.007775f, -0.006907f, -0.005800f, -0.004486f, -0.003005f, -0.001405f, 0.000266f, 0.001954f, 0.003609f, 0.005181f, 0.006625f, 0.007903f, 0.008984f, 0.009845f, 0.010472f, 0.010863f, 0.011022f, 0.010966f, 0.010717f, 0.010306f, 0.009770f, 0.009148f, 0.008484f, 0.007820f, 0.007197f, 0.006653f, 0.006221f, 0.005927f, 0.005791f, 0.005822f, 0.006022f, 0.006383f, 0.006889f, 0.007515f, 0.008231f, 0.009000f, 0.009779f, 0.010525f, 0.011195f, 0.011745f, 0.012135f, 0.012331f, 0.012304f, 0.012035f, - 0.011513f, 0.010735f, 0.009710f, 0.008458f, 0.007006f, 0.005391f, 0.003659f, 0.001860f, 0.000049f, -0.001714f, -0.003372f, -0.004865f, -0.006142f, -0.007151f, -0.007852f, -0.008212f, -0.008206f, -0.007822f, -0.007059f, -0.005925f, -0.004442f, -0.002640f, -0.000561f, 0.001749f, 0.004233f, 0.006831f, 0.009481f, 0.012119f, 0.014683f, 0.017113f, 0.019354f, 0.021358f, 0.023083f, 0.024499f, 0.025582f, 0.026320f, 0.026709f, 0.026758f, 0.026480f, 0.025901f, 0.025050f, 0.023964f, 0.022684f, 0.021252f, 0.019712f, 0.018108f, 0.016481f, 0.014870f, 0.013308f, 0.011825f, 0.010443f, 0.009182f, 0.008051f, 0.007056f, 0.006199f, 0.005475f, 0.004876f, 0.004392f, 0.004010f, 0.003717f, 0.003501f, 0.003350f, 0.003255f, 0.003210f, -0.013680f, -0.039550f, -0.038004f, -0.021661f, 0.011200f, 0.000727f, -0.055616f, 0.005118f, -0.073839f, -0.098462f, -0.068399f, -0.001479f, -0.054556f, 0.005705f, -0.020564f, -0.008444f, -0.065880f, -0.030718f, 0.136221f, 0.158023f, -0.089897f, -0.028536f, 0.013666f, 0.105333f, 0.066431f, 0.035655f, 0.039198f, -0.028502f, -0.059788f, -0.060135f, 0.033058f, 0.092928f, - -0.009570f, -0.065701f, -0.068909f, -0.005240f, 0.042002f, 0.099751f, 0.024988f, -0.005379f, -0.041463f, 0.032064f, 0.017203f, 0.091991f, 0.037084f, 0.014363f, -0.024151f, -0.000292f, -0.050768f, -0.055517f, -0.058829f, 0.077306f, 0.048217f, 0.028005f, -0.043731f, -0.103314f, -0.084560f, 0.008726f, 0.030716f, 0.040377f, 0.097543f, -0.094716f, -0.112332f, -0.068748f, 0.010776f, -0.025287f, 0.173500f, 0.126353f, 0.098705f, -0.033310f, -0.045328f, -0.096649f, 0.056125f, 0.059148f, 0.063656f, 0.051949f, 0.013214f, -0.165706f, -0.244565f, -0.146717f, 0.089772f, 0.235814f, 0.281104f, 0.041070f, -0.139964f, -0.268631f, -0.126872f, 0.045759f, 0.225982f, 0.215417f, 0.079051f, -0.048478f, -0.284325f, -0.235456f, -0.000243f, 0.173903f, 0.206366f, 0.016453f, -0.145258f, -0.163019f, -0.051451f, 0.085441f, 0.149474f, 0.015766f, -0.148167f, -0.220790f, -0.111326f, 0.104355f, 0.273432f, 0.144737f, -0.129187f, -0.311249f, -0.225754f, -0.091820f, 0.299847f, 0.419689f, 0.126895f, -0.229018f, -0.342215f, -0.194918f, 0.122016f, 0.285187f, 0.358148f, 0.124243f, -0.127982f, -0.282243f, -0.197338f, 0.015785f, - 0.230173f, 0.268222f, 0.092309f, -0.109969f, -0.202412f, -0.112134f, 0.095827f, 0.220495f, 0.116567f, -0.053352f, -0.155056f, -0.119150f, 0.106271f, 0.197023f, 0.114667f, -0.061074f, -0.194423f, -0.209315f, -0.031668f, 0.202858f, 0.246496f, 0.101415f, -0.106340f, -0.237504f, -0.213684f, -0.067325f, 0.140445f, 0.193717f, 0.078110f, 0.001223f, -0.002604f, 0.006252f} - }, - { - {0.015793f, 0.015614f, 0.015261f, 0.014743f, 0.014070f, 0.013261f, 0.012332f, 0.011307f, 0.010207f, 0.009057f, 0.007883f, 0.006708f, 0.005555f, 0.004447f, 0.003403f, 0.002438f, 0.001568f, 0.000800f, 0.000142f, -0.000404f, -0.000841f, -0.001172f, -0.001407f, -0.001555f, -0.001630f, -0.001646f, -0.001620f, -0.001566f, -0.001501f, -0.001438f, -0.001391f, -0.001369f, -0.001381f, -0.001430f, -0.001519f, -0.001643f, -0.001798f, -0.001974f, -0.002158f, -0.002335f, -0.002488f, -0.002597f, -0.002642f, -0.002603f, -0.002459f, -0.002192f, -0.001786f, -0.001226f, -0.000503f, 0.000391f, 0.001457f, 0.002693f, 0.004091f, 0.005638f, 0.007317f, 0.009107f, 0.010980f, 0.012909f, 0.014859f, 0.016797f, 0.018687f, 0.020493f, 0.022179f, 0.023712f, 0.025060f, 0.026196f, 0.027096f, 0.027741f, 0.028118f, 0.028219f, 0.028042f, 0.027592f, 0.026880f, 0.025923f, 0.024741f, 0.023363f, 0.021819f, 0.020143f, 0.018371f, 0.016542f, 0.014694f, 0.012864f, 0.011089f, 0.009403f, 0.007835f, 0.006412f, 0.005154f, 0.004078f, 0.003193f, 0.002504f, 0.002009f, 0.001702f, 0.001570f, 0.001595f, 0.001757f, 0.002031f, - 0.002389f, 0.002802f, 0.003242f, 0.003679f, 0.004085f, 0.004434f, 0.004704f, 0.004875f, 0.004933f, 0.004867f, 0.004674f, 0.004352f, 0.003909f, 0.003354f, 0.002702f, 0.001973f, 0.001191f, 0.000379f, -0.000434f, -0.001219f, -0.001948f, -0.002594f, -0.003131f, -0.003534f, -0.003786f, -0.003869f, -0.003775f, -0.003496f, -0.003032f, -0.002390f, -0.001580f, -0.000618f, 0.000476f, 0.001676f, 0.002954f, 0.004278f, 0.005615f, 0.006931f, 0.008192f, 0.009366f, 0.010421f, 0.011330f, 0.012069f, 0.012618f, 0.012963f, 0.013095f, 0.013013f, 0.012718f, 0.012221f, 0.011536f, 0.010683f, 0.009688f, 0.008580f, 0.007390f, 0.006154f, 0.004907f, 0.003686f, 0.002526f, 0.001461f, 0.000522f, -0.000265f, -0.000876f, -0.001293f, -0.001505f, -0.007783f, -0.004437f, -0.006273f, -0.018191f, -0.025282f, 0.042441f, -0.014784f, -0.028944f, -0.005539f, -0.007788f, 0.065740f, 0.017438f, -0.029275f, 0.007538f, -0.076337f, -0.156600f, -0.065884f, -0.026101f, 0.057496f, 0.043466f, -0.070559f, -0.019601f, 0.023551f, 0.089863f, 0.084975f, 0.036251f, 0.023990f, 0.033648f, -0.041778f, -0.060314f, -0.142602f, 0.008572f, - 0.042511f, 0.010698f, 0.030706f, 0.037763f, -0.073999f, -0.096953f, -0.047880f, 0.009965f, 0.067194f, 0.102992f, 0.072743f, 0.020511f, -0.034400f, -0.021139f, -0.023958f, 0.049921f, 0.036726f, 0.017578f, -0.031352f, 0.004816f, -0.113625f, -0.018313f, 0.056091f, 0.016778f, 0.091757f, 0.079485f, -0.054640f, -0.123131f, 0.051245f, -0.067679f, 0.096904f, 0.073628f, 0.072762f, -0.075751f, -0.090515f, -0.010165f, 0.057450f, 0.076087f, 0.063748f, 0.026516f, 0.041170f, -0.078005f, -0.098049f, -0.029460f, 0.123883f, 0.083460f, -0.042449f, -0.047824f, -0.066676f, -0.105916f, -0.040019f, 0.055262f, 0.049687f, -0.113598f, -0.215741f, -0.205199f, 0.041807f, 0.235204f, 0.265427f, 0.104337f, -0.087201f, -0.244934f, -0.151795f, 0.031357f, 0.142193f, 0.083725f, 0.004657f, -0.070260f, -0.045831f, -0.013898f, 0.027669f, 0.031559f, 0.062616f, -0.058257f, -0.059770f, -0.131156f, -0.061874f, -0.022709f, 0.123818f, 0.173510f, 0.122079f, -0.127801f, -0.148640f, -0.043896f, -0.080444f, 0.033137f, 0.084677f, 0.136884f, 0.036755f, -0.129573f, -0.059507f, -0.055939f, 0.087536f, 0.163054f, 0.120972f, 0.038874f, - -0.016745f, -0.150456f, -0.181956f, -0.099941f, 0.107594f, 0.273411f, 0.280940f, 0.068309f, -0.208727f, -0.272775f, -0.164199f, 0.052441f, 0.242820f, 0.262410f, 0.079543f, -0.137148f, -0.269699f, -0.175399f, 0.050200f, 0.300957f, 0.206259f, -0.014310f, -0.184154f, -0.267489f, -0.158250f, 0.047583f, 0.164514f, 0.116695f, 0.013346f, -0.013466f, -0.005674f, -0.000653f}, - {0.015793f, 0.015614f, 0.015261f, 0.014743f, 0.014070f, 0.013261f, 0.012332f, 0.011307f, 0.010207f, 0.009057f, 0.007883f, 0.006708f, 0.005555f, 0.004447f, 0.003403f, 0.002438f, 0.001568f, 0.000800f, 0.000142f, -0.000404f, -0.000841f, -0.001172f, -0.001407f, -0.001555f, -0.001630f, -0.001646f, -0.001620f, -0.001566f, -0.001501f, -0.001438f, -0.001391f, -0.001369f, -0.001381f, -0.001430f, -0.001519f, -0.001643f, -0.001798f, -0.001974f, -0.002158f, -0.002335f, -0.002488f, -0.002597f, -0.002642f, -0.002603f, -0.002459f, -0.002192f, -0.001786f, -0.001226f, -0.000503f, 0.000391f, 0.001457f, 0.002693f, 0.004091f, 0.005638f, 0.007317f, 0.009107f, 0.010980f, 0.012909f, 0.014859f, 0.016797f, 0.018687f, 0.020493f, 0.022179f, 0.023712f, 0.025060f, 0.026196f, 0.027096f, 0.027741f, 0.028118f, 0.028219f, 0.028042f, 0.027592f, 0.026880f, 0.025923f, 0.024741f, 0.023363f, 0.021819f, 0.020143f, 0.018371f, 0.016542f, 0.014694f, 0.012864f, 0.011089f, 0.009403f, 0.007835f, 0.006412f, 0.005154f, 0.004078f, 0.003193f, 0.002504f, 0.002009f, 0.001702f, 0.001570f, 0.001595f, 0.001757f, 0.002031f, - 0.002389f, 0.002802f, 0.003242f, 0.003679f, 0.004085f, 0.004434f, 0.004704f, 0.004875f, 0.004933f, 0.004867f, 0.004674f, 0.004352f, 0.003909f, 0.003354f, 0.002702f, 0.001973f, 0.001191f, 0.000379f, -0.000434f, -0.001219f, -0.001948f, -0.002594f, -0.003131f, -0.003534f, -0.003786f, -0.003869f, -0.003775f, -0.003496f, -0.003032f, -0.002390f, -0.001580f, -0.000618f, 0.000476f, 0.001676f, 0.002954f, 0.004278f, 0.005615f, 0.006931f, 0.008192f, 0.009366f, 0.010421f, 0.011330f, 0.012069f, 0.012618f, 0.012963f, 0.013095f, 0.013013f, 0.012718f, 0.012221f, 0.011536f, 0.010683f, 0.009688f, 0.008580f, 0.007390f, 0.006154f, 0.004907f, 0.003686f, 0.002526f, 0.001461f, 0.000522f, -0.000265f, -0.000876f, -0.001293f, -0.001505f, -0.007783f, -0.004437f, -0.006273f, -0.018191f, -0.025282f, 0.042441f, -0.014784f, -0.028944f, -0.005539f, -0.007788f, 0.065740f, 0.017438f, -0.029275f, 0.007538f, -0.076337f, -0.156600f, -0.065884f, -0.026101f, 0.057496f, 0.043466f, -0.070559f, -0.019601f, 0.023551f, 0.089863f, 0.084975f, 0.036251f, 0.023990f, 0.033648f, -0.041778f, -0.060314f, -0.142602f, 0.008572f, - 0.042511f, 0.010698f, 0.030706f, 0.037763f, -0.073999f, -0.096953f, -0.047880f, 0.009965f, 0.067194f, 0.102992f, 0.072743f, 0.020511f, -0.034400f, -0.021139f, -0.023958f, 0.049921f, 0.036726f, 0.017578f, -0.031352f, 0.004816f, -0.113625f, -0.018313f, 0.056091f, 0.016778f, 0.091757f, 0.079485f, -0.054640f, -0.123131f, 0.051245f, -0.067679f, 0.096904f, 0.073628f, 0.072762f, -0.075751f, -0.090515f, -0.010165f, 0.057450f, 0.076087f, 0.063748f, 0.026516f, 0.041170f, -0.078005f, -0.098049f, -0.029460f, 0.123883f, 0.083460f, -0.042449f, -0.047824f, -0.066676f, -0.105916f, -0.040019f, 0.055262f, 0.049687f, -0.113598f, -0.215741f, -0.205199f, 0.041807f, 0.235204f, 0.265427f, 0.104337f, -0.087201f, -0.244934f, -0.151795f, 0.031357f, 0.142193f, 0.083725f, 0.004657f, -0.070260f, -0.045831f, -0.013898f, 0.027669f, 0.031559f, 0.062616f, -0.058257f, -0.059770f, -0.131156f, -0.061874f, -0.022709f, 0.123818f, 0.173510f, 0.122079f, -0.127801f, -0.148640f, -0.043896f, -0.080444f, 0.033137f, 0.084677f, 0.136884f, 0.036755f, -0.129573f, -0.059507f, -0.055939f, 0.087536f, 0.163054f, 0.120972f, 0.038874f, - -0.016745f, -0.150456f, -0.181956f, -0.099941f, 0.107594f, 0.273411f, 0.280940f, 0.068309f, -0.208727f, -0.272775f, -0.164199f, 0.052441f, 0.242820f, 0.262410f, 0.079543f, -0.137148f, -0.269699f, -0.175399f, 0.050200f, 0.300957f, 0.206259f, -0.014310f, -0.184154f, -0.267489f, -0.158250f, 0.047583f, 0.164514f, 0.116695f, 0.013346f, -0.013466f, -0.005674f, -0.000653f} - } -}; -const float CRendBin_HOA3_HRIR_coeff_im_32kHz[16][BINAURAL_CHANNELS][320]={ - { - {0.000560f, 0.001661f, 0.002712f, 0.003680f, 0.004535f, 0.005253f, 0.005813f, 0.006200f, 0.006405f, 0.006425f, 0.006264f, 0.005931f, 0.005442f, 0.004817f, 0.004083f, 0.003268f, 0.002403f, 0.001521f, 0.000656f, -0.000161f, -0.000898f, -0.001530f, -0.002032f, -0.002387f, -0.002582f, -0.002609f, -0.002468f, -0.002164f, -0.001707f, -0.001115f, -0.000408f, 0.000388f, 0.001245f, 0.002133f, 0.003020f, 0.003875f, 0.004668f, 0.005370f, 0.005957f, 0.006408f, 0.006706f, 0.006842f, 0.006809f, 0.006608f, 0.006244f, 0.005728f, 0.005076f, 0.004308f, 0.003448f, 0.002521f, 0.001554f, 0.000577f, -0.000384f, -0.001302f, -0.002151f, -0.002912f, -0.003566f, -0.004099f, -0.004503f, -0.004774f, -0.004911f, -0.004920f, -0.004810f, -0.004594f, -0.004288f, -0.003910f, -0.003481f, -0.003021f, -0.002551f, -0.002092f, -0.001662f, -0.001277f, -0.000951f, -0.000694f, -0.000513f, -0.000409f, -0.000383f, -0.000431f, -0.000544f, -0.000712f, -0.000922f, -0.001160f, -0.001410f, -0.001657f, -0.001886f, -0.002081f, -0.002230f, -0.002324f, -0.002354f, -0.002316f, -0.002208f, -0.002033f, -0.001796f, -0.001505f, -0.001171f, -0.000807f, - -0.000428f, -0.000050f, 0.000312f, 0.000641f, 0.000922f, 0.001141f, 0.001289f, 0.001355f, 0.001334f, 0.001225f, 0.001028f, 0.000748f, 0.000392f, -0.000029f, -0.000500f, -0.001007f, -0.001533f, -0.002058f, -0.002566f, -0.003037f, -0.003455f, -0.003805f, -0.004073f, -0.004251f, -0.004330f, -0.004307f, -0.004182f, -0.003958f, -0.003643f, -0.003245f, -0.002778f, -0.002256f, -0.001695f, -0.001114f, -0.000530f, 0.000039f, 0.000576f, 0.001067f, 0.001497f, 0.001857f, 0.002137f, 0.002333f, 0.002443f, 0.002469f, 0.002415f, 0.002288f, 0.002098f, 0.001857f, 0.001577f, 0.001272f, 0.000957f, 0.000645f, 0.000350f, 0.000083f, -0.000146f, -0.000329f, -0.000461f, -0.000540f, -0.000566f, -0.000541f, -0.000472f, -0.000365f, -0.000231f, -0.000079f, -0.460259f, -0.951079f, -0.610747f, 0.139152f, 0.697949f, 0.756847f, 0.243016f, -0.421240f, -0.809240f, -0.722790f, -0.131189f, 0.462952f, 0.869130f, 0.669286f, 0.030399f, -0.562684f, -0.789169f, -0.467168f, 0.151920f, 0.680335f, 0.729095f, 0.339114f, -0.322683f, -0.698273f, -0.615664f, -0.093987f, 0.456628f, 0.704581f, 0.459961f, -0.071120f, -0.568074f, -0.669242f, - -0.335663f, 0.247131f, 0.632814f, 0.619104f, 0.155654f, -0.373183f, -0.695371f, -0.503600f, -0.123694f, 0.358269f, 0.720965f, 0.556532f, 0.039488f, -0.523997f, -0.688621f, -0.390989f, 0.199606f, 0.632990f, 0.653547f, 0.212882f, -0.363644f, -0.697704f, -0.533888f, -0.012498f, 0.510544f, 0.655232f, 0.374543f, -0.161184f, -0.563367f, -0.566663f, -0.171992f, 0.340804f, 0.661432f, 0.496413f, -0.012145f, -0.517044f, -0.669485f, -0.363559f, 0.180685f, 0.613468f, 0.618828f, 0.208956f, -0.346445f, -0.673686f, -0.546699f, -0.033563f, 0.494204f, 0.664797f, 0.384626f, -0.160262f, -0.529660f, -0.570199f, -0.199102f, 0.331888f, 0.641768f, 0.518867f, 0.029795f, -0.468042f, -0.650452f, -0.381207f, 0.163056f, 0.573507f, 0.620545f, 0.260207f, -0.286010f, -0.602836f, -0.538518f, -0.133326f, 0.352210f, 0.602532f, 0.439914f, 0.007239f, -0.429036f, -0.568867f, -0.308712f, 0.146511f, 0.519479f, 0.533995f, 0.182772f, -0.315085f, -0.581991f, -0.461079f, 0.007470f, 0.469652f, 0.601398f, 0.340411f, -0.169957f, -0.574590f, -0.589987f, -0.182204f, 0.358851f, 0.637429f, 0.477370f, -0.004546f, -0.473175f, -0.601238f, - -0.306724f, 0.190330f, 0.543690f, 0.516648f, 0.152960f, -0.318909f, -0.546856f, -0.396088f, 0.018774f, 0.420713f, 0.545205f, 0.298542f, -0.152204f, -0.494079f, -0.489567f, -0.147781f, 0.289809f, 0.518298f, 0.390240f, -0.007614f, -0.385375f, -0.488880f, -0.242032f, 0.186344f, 0.481677f, 0.422991f, 0.071320f, -0.202729f, -0.173620f, -0.040696f, -0.001221f, 0.001660f}, - {0.000560f, 0.001661f, 0.002712f, 0.003680f, 0.004535f, 0.005253f, 0.005813f, 0.006200f, 0.006405f, 0.006425f, 0.006264f, 0.005931f, 0.005442f, 0.004817f, 0.004083f, 0.003268f, 0.002403f, 0.001521f, 0.000656f, -0.000161f, -0.000898f, -0.001530f, -0.002032f, -0.002387f, -0.002582f, -0.002609f, -0.002468f, -0.002164f, -0.001707f, -0.001115f, -0.000408f, 0.000388f, 0.001245f, 0.002133f, 0.003020f, 0.003875f, 0.004668f, 0.005370f, 0.005957f, 0.006408f, 0.006706f, 0.006842f, 0.006809f, 0.006608f, 0.006244f, 0.005728f, 0.005076f, 0.004308f, 0.003448f, 0.002521f, 0.001554f, 0.000577f, -0.000384f, -0.001302f, -0.002151f, -0.002912f, -0.003566f, -0.004099f, -0.004503f, -0.004774f, -0.004911f, -0.004920f, -0.004810f, -0.004594f, -0.004288f, -0.003910f, -0.003481f, -0.003021f, -0.002551f, -0.002092f, -0.001662f, -0.001277f, -0.000951f, -0.000694f, -0.000513f, -0.000409f, -0.000383f, -0.000431f, -0.000544f, -0.000712f, -0.000922f, -0.001160f, -0.001410f, -0.001657f, -0.001886f, -0.002081f, -0.002230f, -0.002324f, -0.002354f, -0.002316f, -0.002208f, -0.002033f, -0.001796f, -0.001505f, -0.001171f, -0.000807f, - -0.000428f, -0.000050f, 0.000312f, 0.000641f, 0.000922f, 0.001141f, 0.001289f, 0.001355f, 0.001334f, 0.001225f, 0.001028f, 0.000748f, 0.000392f, -0.000029f, -0.000500f, -0.001007f, -0.001533f, -0.002058f, -0.002566f, -0.003037f, -0.003455f, -0.003805f, -0.004073f, -0.004251f, -0.004330f, -0.004307f, -0.004182f, -0.003958f, -0.003643f, -0.003245f, -0.002778f, -0.002256f, -0.001695f, -0.001114f, -0.000530f, 0.000039f, 0.000576f, 0.001067f, 0.001497f, 0.001857f, 0.002137f, 0.002333f, 0.002443f, 0.002469f, 0.002415f, 0.002288f, 0.002098f, 0.001857f, 0.001577f, 0.001272f, 0.000957f, 0.000645f, 0.000350f, 0.000083f, -0.000146f, -0.000329f, -0.000461f, -0.000540f, -0.000566f, -0.000541f, -0.000472f, -0.000365f, -0.000231f, -0.000079f, -0.460259f, -0.951079f, -0.610747f, 0.139152f, 0.697949f, 0.756847f, 0.243016f, -0.421240f, -0.809240f, -0.722790f, -0.131189f, 0.462952f, 0.869130f, 0.669286f, 0.030399f, -0.562684f, -0.789169f, -0.467168f, 0.151920f, 0.680335f, 0.729095f, 0.339114f, -0.322683f, -0.698273f, -0.615664f, -0.093987f, 0.456628f, 0.704581f, 0.459961f, -0.071120f, -0.568074f, -0.669242f, - -0.335663f, 0.247131f, 0.632814f, 0.619104f, 0.155654f, -0.373183f, -0.695371f, -0.503600f, -0.123694f, 0.358269f, 0.720965f, 0.556532f, 0.039488f, -0.523997f, -0.688621f, -0.390989f, 0.199606f, 0.632990f, 0.653547f, 0.212882f, -0.363644f, -0.697704f, -0.533888f, -0.012498f, 0.510544f, 0.655232f, 0.374543f, -0.161184f, -0.563367f, -0.566663f, -0.171992f, 0.340804f, 0.661432f, 0.496413f, -0.012145f, -0.517044f, -0.669485f, -0.363559f, 0.180685f, 0.613468f, 0.618828f, 0.208956f, -0.346445f, -0.673686f, -0.546699f, -0.033563f, 0.494204f, 0.664797f, 0.384626f, -0.160262f, -0.529660f, -0.570199f, -0.199102f, 0.331888f, 0.641768f, 0.518867f, 0.029795f, -0.468042f, -0.650452f, -0.381207f, 0.163056f, 0.573507f, 0.620545f, 0.260207f, -0.286010f, -0.602836f, -0.538518f, -0.133326f, 0.352210f, 0.602532f, 0.439914f, 0.007239f, -0.429036f, -0.568867f, -0.308712f, 0.146511f, 0.519479f, 0.533995f, 0.182772f, -0.315085f, -0.581991f, -0.461079f, 0.007470f, 0.469652f, 0.601398f, 0.340411f, -0.169957f, -0.574590f, -0.589987f, -0.182204f, 0.358851f, 0.637429f, 0.477370f, -0.004546f, -0.473175f, -0.601238f, - -0.306724f, 0.190330f, 0.543690f, 0.516648f, 0.152960f, -0.318909f, -0.546856f, -0.396088f, 0.018774f, 0.420713f, 0.545205f, 0.298542f, -0.152204f, -0.494079f, -0.489567f, -0.147781f, 0.289809f, 0.518298f, 0.390240f, -0.007614f, -0.385375f, -0.488880f, -0.242032f, 0.186344f, 0.481677f, 0.422991f, 0.071320f, -0.202729f, -0.173620f, -0.040696f, -0.001221f, 0.001660f} - }, - { - {0.000043f, 0.000144f, 0.000288f, 0.000500f, 0.000803f, 0.001215f, 0.001748f, 0.002406f, 0.003188f, 0.004083f, 0.005077f, 0.006143f, 0.007254f, 0.008372f, 0.009460f, 0.010475f, 0.011374f, 0.012114f, 0.012655f, 0.012959f, 0.012996f, 0.012740f, 0.012174f, 0.011291f, 0.010092f, 0.008588f, 0.006799f, 0.004755f, 0.002496f, 0.000069f, -0.002475f, -0.005077f, -0.007675f, -0.010209f, -0.012615f, -0.014835f, -0.016813f, -0.018501f, -0.019856f, -0.020848f, -0.021453f, -0.021661f, -0.021469f, -0.020890f, -0.019943f, -0.018662f, -0.017086f, -0.015264f, -0.013251f, -0.011106f, -0.008892f, -0.006671f, -0.004506f, -0.002455f, -0.000574f, 0.001091f, 0.002497f, 0.003615f, 0.004422f, 0.004905f, 0.005063f, 0.004904f, 0.004446f, 0.003715f, 0.002745f, 0.001576f, 0.000254f, -0.001173f, -0.002655f, -0.004142f, -0.005584f, -0.006937f, -0.008160f, -0.009218f, -0.010081f, -0.010730f, -0.011149f, -0.011334f, -0.011287f, -0.011017f, -0.010541f, -0.009880f, -0.009063f, -0.008119f, -0.007082f, -0.005988f, -0.004870f, -0.003763f, -0.002698f, -0.001703f, -0.000803f, -0.000016f, 0.000642f, 0.001163f, 0.001543f, 0.001783f, - 0.001888f, 0.001871f, 0.001743f, 0.001522f, 0.001226f, 0.000875f, 0.000487f, 0.000082f, -0.000322f, -0.000711f, -0.001071f, -0.001392f, -0.001669f, -0.001897f, -0.002077f, -0.002211f, -0.002304f, -0.002364f, -0.002399f, -0.002421f, -0.002438f, -0.002462f, -0.002500f, -0.002561f, -0.002650f, -0.002771f, -0.002924f, -0.003107f, -0.003317f, -0.003546f, -0.003785f, -0.004025f, -0.004252f, -0.004455f, -0.004621f, -0.004737f, -0.004793f, -0.004780f, -0.004690f, -0.004518f, -0.004265f, -0.003930f, -0.003519f, -0.003041f, -0.002505f, -0.001925f, -0.001317f, -0.000698f, -0.000087f, 0.000500f, 0.001043f, 0.001526f, 0.001935f, 0.002255f, 0.002479f, 0.002599f, 0.002613f, 0.002521f, 0.002329f, 0.002045f, 0.001680f, 0.001249f, 0.000769f, 0.000260f, 0.048997f, -0.015463f, -0.522407f, -0.600085f, -0.029695f, 0.813964f, 0.895309f, 0.289993f, -0.543636f, -0.625036f, -0.515398f, 0.035194f, 0.575718f, 0.501556f, 0.121036f, -0.361039f, -0.606845f, -0.495123f, 0.005394f, 0.415183f, 0.580837f, 0.318723f, -0.123234f, -0.593524f, -0.557355f, -0.169369f, 0.347707f, 0.571599f, 0.525102f, 0.030652f, -0.384441f, -0.655672f, - -0.441819f, 0.048587f, 0.566868f, 0.678160f, 0.404472f, -0.223534f, -0.700639f, -0.731015f, -0.152629f, 0.532299f, 0.760448f, 0.502195f, -0.144427f, -0.703978f, -0.795643f, -0.329782f, 0.354114f, 0.753876f, 0.632607f, 0.089946f, -0.518511f, -0.791351f, -0.524899f, 0.105404f, 0.617469f, 0.708260f, 0.315198f, -0.259685f, -0.691168f, -0.600568f, -0.140553f, 0.464125f, 0.710946f, 0.596699f, 0.080098f, -0.565102f, -0.842626f, -0.545444f, 0.106598f, 0.690972f, 0.810141f, 0.361296f, -0.318065f, -0.835661f, -0.742986f, -0.188936f, 0.522876f, 0.868070f, 0.580850f, -0.071922f, -0.600638f, -0.771853f, -0.386671f, 0.306924f, 0.769086f, 0.717438f, 0.159465f, -0.512452f, -0.803147f, -0.589629f, 0.033897f, 0.618695f, 0.791468f, 0.451289f, -0.217270f, -0.688459f, -0.719979f, -0.225991f, 0.388821f, 0.764794f, 0.571738f, 0.036560f, -0.544424f, -0.738813f, -0.420931f, 0.220447f, 0.694543f, 0.676052f, 0.185413f, -0.439806f, -0.732939f, -0.533904f, 0.076370f, 0.635241f, 0.740983f, 0.341226f, -0.276814f, -0.754017f, -0.696747f, -0.157458f, 0.462557f, 0.761077f, 0.546792f, -0.049733f, -0.593449f, -0.702775f, - -0.329350f, 0.258630f, 0.631552f, 0.588083f, 0.131914f, -0.416817f, -0.660524f, -0.449411f, 0.064797f, 0.531572f, 0.651073f, 0.322630f, -0.224129f, -0.603598f, -0.571861f, -0.140543f, 0.397649f, 0.642342f, 0.435744f, -0.053386f, -0.506667f, -0.608518f, -0.260578f, 0.265807f, 0.611486f, 0.509185f, 0.058931f, -0.271691f, -0.217337f, -0.048702f, -0.000227f, 0.001508f}, - {-0.000043f, -0.000144f, -0.000288f, -0.000500f, -0.000803f, -0.001215f, -0.001748f, -0.002406f, -0.003188f, -0.004083f, -0.005077f, -0.006143f, -0.007254f, -0.008372f, -0.009460f, -0.010475f, -0.011374f, -0.012114f, -0.012655f, -0.012959f, -0.012996f, -0.012740f, -0.012174f, -0.011291f, -0.010092f, -0.008588f, -0.006799f, -0.004755f, -0.002496f, -0.000069f, 0.002475f, 0.005077f, 0.007675f, 0.010209f, 0.012615f, 0.014835f, 0.016813f, 0.018501f, 0.019856f, 0.020848f, 0.021453f, 0.021661f, 0.021469f, 0.020890f, 0.019943f, 0.018662f, 0.017086f, 0.015264f, 0.013251f, 0.011106f, 0.008892f, 0.006671f, 0.004506f, 0.002455f, 0.000574f, -0.001091f, -0.002497f, -0.003615f, -0.004422f, -0.004905f, -0.005063f, -0.004904f, -0.004446f, -0.003715f, -0.002745f, -0.001576f, -0.000254f, 0.001173f, 0.002655f, 0.004142f, 0.005584f, 0.006937f, 0.008160f, 0.009218f, 0.010081f, 0.010730f, 0.011149f, 0.011334f, 0.011287f, 0.011017f, 0.010541f, 0.009880f, 0.009063f, 0.008119f, 0.007082f, 0.005988f, 0.004870f, 0.003763f, 0.002698f, 0.001703f, 0.000803f, 0.000016f, -0.000642f, -0.001163f, -0.001543f, -0.001783f, - -0.001888f, -0.001871f, -0.001743f, -0.001522f, -0.001226f, -0.000875f, -0.000487f, -0.000082f, 0.000322f, 0.000711f, 0.001071f, 0.001392f, 0.001669f, 0.001897f, 0.002077f, 0.002211f, 0.002304f, 0.002364f, 0.002399f, 0.002421f, 0.002438f, 0.002462f, 0.002500f, 0.002561f, 0.002650f, 0.002771f, 0.002924f, 0.003107f, 0.003317f, 0.003546f, 0.003785f, 0.004025f, 0.004252f, 0.004455f, 0.004621f, 0.004737f, 0.004793f, 0.004780f, 0.004690f, 0.004518f, 0.004265f, 0.003930f, 0.003519f, 0.003041f, 0.002505f, 0.001925f, 0.001317f, 0.000698f, 0.000087f, -0.000500f, -0.001043f, -0.001526f, -0.001935f, -0.002255f, -0.002479f, -0.002599f, -0.002613f, -0.002521f, -0.002329f, -0.002045f, -0.001680f, -0.001249f, -0.000769f, -0.000260f, -0.048997f, 0.015463f, 0.522407f, 0.600085f, 0.029695f, -0.813964f, -0.895309f, -0.289993f, 0.543636f, 0.625036f, 0.515398f, -0.035194f, -0.575718f, -0.501556f, -0.121036f, 0.361039f, 0.606845f, 0.495123f, -0.005394f, -0.415183f, -0.580837f, -0.318723f, 0.123234f, 0.593524f, 0.557355f, 0.169369f, -0.347707f, -0.571599f, -0.525102f, -0.030652f, 0.384441f, 0.655672f, - 0.441819f, -0.048587f, -0.566868f, -0.678160f, -0.404472f, 0.223534f, 0.700639f, 0.731015f, 0.152629f, -0.532299f, -0.760448f, -0.502195f, 0.144427f, 0.703978f, 0.795643f, 0.329782f, -0.354114f, -0.753876f, -0.632607f, -0.089946f, 0.518511f, 0.791351f, 0.524899f, -0.105404f, -0.617469f, -0.708260f, -0.315198f, 0.259685f, 0.691168f, 0.600568f, 0.140553f, -0.464125f, -0.710946f, -0.596699f, -0.080098f, 0.565102f, 0.842626f, 0.545444f, -0.106598f, -0.690972f, -0.810141f, -0.361296f, 0.318065f, 0.835661f, 0.742986f, 0.188936f, -0.522876f, -0.868070f, -0.580850f, 0.071922f, 0.600638f, 0.771853f, 0.386671f, -0.306924f, -0.769086f, -0.717438f, -0.159465f, 0.512452f, 0.803147f, 0.589629f, -0.033897f, -0.618695f, -0.791468f, -0.451289f, 0.217270f, 0.688459f, 0.719979f, 0.225991f, -0.388821f, -0.764794f, -0.571738f, -0.036560f, 0.544424f, 0.738813f, 0.420931f, -0.220447f, -0.694543f, -0.676052f, -0.185413f, 0.439806f, 0.732939f, 0.533904f, -0.076370f, -0.635241f, -0.740983f, -0.341226f, 0.276814f, 0.754017f, 0.696747f, 0.157458f, -0.462557f, -0.761077f, -0.546792f, 0.049733f, 0.593449f, 0.702775f, - 0.329350f, -0.258630f, -0.631552f, -0.588083f, -0.131914f, 0.416817f, 0.660524f, 0.449411f, -0.064797f, -0.531572f, -0.651073f, -0.322630f, 0.224129f, 0.603598f, 0.571861f, 0.140543f, -0.397649f, -0.642342f, -0.435744f, 0.053386f, 0.506667f, 0.608518f, 0.260578f, -0.265807f, -0.611486f, -0.509185f, -0.058931f, 0.271691f, 0.217337f, 0.048702f, 0.000227f, -0.001508f} - }, - { - {-0.002267f, -0.006781f, -0.011234f, -0.015586f, -0.019796f, -0.023824f, -0.027628f, -0.031169f, -0.034406f, -0.037301f, -0.039816f, -0.041916f, -0.043571f, -0.044751f, -0.045434f, -0.045604f, -0.045249f, -0.044368f, -0.042964f, -0.041052f, -0.038655f, -0.035806f, -0.032547f, -0.028927f, -0.025007f, -0.020851f, -0.016534f, -0.012133f, -0.007730f, -0.003407f, 0.000753f, 0.004667f, 0.008260f, 0.011460f, 0.014203f, 0.016436f, 0.018117f, 0.019214f, 0.019710f, 0.019602f, 0.018900f, 0.017629f, 0.015828f, 0.013547f, 0.010848f, 0.007803f, 0.004494f, 0.001006f, -0.002572f, -0.006146f, -0.009627f, -0.012928f, -0.015967f, -0.018670f, -0.020974f, -0.022825f, -0.024183f, -0.025023f, -0.025330f, -0.025107f, -0.024370f, -0.023148f, -0.021482f, -0.019425f, -0.017039f, -0.014394f, -0.011564f, -0.008627f, -0.005663f, -0.002749f, 0.000039f, 0.002634f, 0.004973f, 0.007002f, 0.008679f, 0.009970f, 0.010856f, 0.011326f, 0.011383f, 0.011041f, 0.010324f, 0.009265f, 0.007905f, 0.006292f, 0.004479f, 0.002522f, 0.000479f, -0.001593f, -0.003639f, -0.005606f, -0.007448f, -0.009123f, -0.010596f, -0.011841f, -0.012837f, -0.013575f, - -0.014049f, -0.014265f, -0.014234f, -0.013972f, -0.013503f, -0.012852f, -0.012050f, -0.011128f, -0.010119f, -0.009056f, -0.007969f, -0.006887f, -0.005837f, -0.004840f, -0.003916f, -0.003079f, -0.002339f, -0.001702f, -0.001168f, -0.000738f, -0.000404f, -0.000159f, 0.000006f, 0.000105f, 0.000149f, 0.000151f, 0.000123f, 0.000078f, 0.000026f, -0.000024f, -0.000065f, -0.000092f, -0.000102f, -0.000092f, -0.000064f, -0.000018f, 0.000041f, 0.000110f, 0.000185f, 0.000260f, 0.000331f, 0.000394f, 0.000444f, 0.000479f, 0.000497f, 0.000497f, 0.000480f, 0.000446f, 0.000397f, 0.000337f, 0.000269f, 0.000197f, 0.000124f, 0.000055f, -0.000008f, -0.000060f, -0.000100f, -0.000126f, -0.000138f, -0.000136f, -0.000121f, -0.000095f, -0.000060f, -0.000021f, -0.058407f, -0.104213f, -0.091374f, 0.167866f, 0.095142f, -0.111637f, -0.093947f, 0.008070f, 0.076086f, 0.220379f, 0.388714f, 0.303315f, -0.046653f, 0.159210f, -0.080395f, -0.114785f, -0.080619f, 0.077435f, 0.100425f, 0.160232f, 0.147878f, 0.133076f, -0.051730f, -0.200541f, -0.153297f, 0.110444f, 0.193077f, 0.133008f, -0.052189f, -0.161640f, -0.246623f, -0.090053f, - 0.086510f, 0.220857f, 0.163599f, -0.014898f, -0.236818f, -0.222103f, -0.129232f, 0.081782f, -0.004850f, -0.065845f, 0.178391f, 0.209799f, 0.152276f, -0.066789f, -0.179632f, -0.185378f, -0.015467f, 0.196687f, 0.310999f, 0.153687f, -0.068969f, -0.298029f, -0.322925f, -0.091777f, 0.290577f, 0.470439f, 0.311392f, -0.112813f, -0.471956f, -0.535044f, -0.207024f, 0.243222f, 0.542002f, 0.311086f, -0.145760f, -0.473830f, -0.370839f, 0.001872f, 0.388776f, 0.426580f, 0.199433f, -0.186202f, -0.397908f, -0.270887f, 0.016514f, 0.321660f, 0.362808f, 0.069168f, -0.184442f, -0.327971f, -0.210001f, 0.042157f, 0.265061f, 0.262252f, 0.113813f, -0.135017f, -0.216907f, -0.177332f, -0.023642f, 0.109633f, 0.156087f, 0.124602f, 0.066843f, -0.079584f, -0.103854f, -0.076786f, 0.039317f, 0.182606f, 0.205344f, 0.015890f, -0.179015f, -0.308396f, -0.181602f, 0.118732f, 0.331502f, 0.311859f, 0.083492f, -0.193440f, -0.339859f, -0.210035f, 0.038309f, 0.272190f, 0.271032f, 0.078279f, -0.138374f, -0.258518f, -0.186134f, -0.005147f, 0.170585f, 0.170076f, 0.132706f, -0.022662f, -0.110194f, -0.128394f, -0.076436f, -0.034288f, - 0.038887f, 0.083304f, 0.098979f, 0.039004f, -0.015421f, -0.083882f, -0.075557f, -0.041993f, 0.044662f, 0.076560f, 0.104634f, 0.028010f, -0.037251f, -0.083421f, -0.057962f, -0.008276f, 0.050276f, 0.061592f, 0.062659f, -0.019294f, -0.045618f, -0.052590f, -0.021082f, 0.021156f, 0.051217f, 0.035327f, -0.003896f, -0.032706f, -0.007792f, -0.007871f, 0.005964f, -0.004716f}, - {-0.002267f, -0.006781f, -0.011234f, -0.015586f, -0.019796f, -0.023824f, -0.027628f, -0.031169f, -0.034406f, -0.037301f, -0.039816f, -0.041916f, -0.043571f, -0.044751f, -0.045434f, -0.045604f, -0.045249f, -0.044368f, -0.042964f, -0.041052f, -0.038655f, -0.035806f, -0.032547f, -0.028927f, -0.025007f, -0.020851f, -0.016534f, -0.012133f, -0.007730f, -0.003407f, 0.000753f, 0.004667f, 0.008260f, 0.011460f, 0.014203f, 0.016436f, 0.018117f, 0.019214f, 0.019710f, 0.019602f, 0.018900f, 0.017629f, 0.015828f, 0.013547f, 0.010848f, 0.007803f, 0.004494f, 0.001006f, -0.002572f, -0.006146f, -0.009627f, -0.012928f, -0.015967f, -0.018670f, -0.020974f, -0.022825f, -0.024183f, -0.025023f, -0.025330f, -0.025107f, -0.024370f, -0.023148f, -0.021482f, -0.019425f, -0.017039f, -0.014394f, -0.011564f, -0.008627f, -0.005663f, -0.002749f, 0.000039f, 0.002634f, 0.004973f, 0.007002f, 0.008679f, 0.009970f, 0.010856f, 0.011326f, 0.011383f, 0.011041f, 0.010324f, 0.009265f, 0.007905f, 0.006292f, 0.004479f, 0.002522f, 0.000479f, -0.001593f, -0.003639f, -0.005606f, -0.007448f, -0.009123f, -0.010596f, -0.011841f, -0.012837f, -0.013575f, - -0.014049f, -0.014265f, -0.014234f, -0.013972f, -0.013503f, -0.012852f, -0.012050f, -0.011128f, -0.010119f, -0.009056f, -0.007969f, -0.006887f, -0.005837f, -0.004840f, -0.003916f, -0.003079f, -0.002339f, -0.001702f, -0.001168f, -0.000738f, -0.000404f, -0.000159f, 0.000006f, 0.000105f, 0.000149f, 0.000151f, 0.000123f, 0.000078f, 0.000026f, -0.000024f, -0.000065f, -0.000092f, -0.000102f, -0.000092f, -0.000064f, -0.000018f, 0.000041f, 0.000110f, 0.000185f, 0.000260f, 0.000331f, 0.000394f, 0.000444f, 0.000479f, 0.000497f, 0.000497f, 0.000480f, 0.000446f, 0.000397f, 0.000337f, 0.000269f, 0.000197f, 0.000124f, 0.000055f, -0.000008f, -0.000060f, -0.000100f, -0.000126f, -0.000138f, -0.000136f, -0.000121f, -0.000095f, -0.000060f, -0.000021f, -0.058407f, -0.104213f, -0.091374f, 0.167866f, 0.095142f, -0.111637f, -0.093947f, 0.008070f, 0.076086f, 0.220379f, 0.388714f, 0.303315f, -0.046653f, 0.159210f, -0.080395f, -0.114785f, -0.080619f, 0.077435f, 0.100425f, 0.160232f, 0.147878f, 0.133076f, -0.051730f, -0.200541f, -0.153297f, 0.110444f, 0.193077f, 0.133008f, -0.052189f, -0.161640f, -0.246623f, -0.090053f, - 0.086510f, 0.220857f, 0.163599f, -0.014898f, -0.236818f, -0.222103f, -0.129232f, 0.081782f, -0.004850f, -0.065845f, 0.178391f, 0.209799f, 0.152276f, -0.066789f, -0.179632f, -0.185378f, -0.015467f, 0.196687f, 0.310999f, 0.153687f, -0.068969f, -0.298029f, -0.322925f, -0.091777f, 0.290577f, 0.470439f, 0.311392f, -0.112813f, -0.471956f, -0.535044f, -0.207024f, 0.243222f, 0.542002f, 0.311086f, -0.145760f, -0.473830f, -0.370839f, 0.001872f, 0.388776f, 0.426580f, 0.199433f, -0.186202f, -0.397908f, -0.270887f, 0.016514f, 0.321660f, 0.362808f, 0.069168f, -0.184442f, -0.327971f, -0.210001f, 0.042157f, 0.265061f, 0.262252f, 0.113813f, -0.135017f, -0.216907f, -0.177332f, -0.023642f, 0.109633f, 0.156087f, 0.124602f, 0.066843f, -0.079584f, -0.103854f, -0.076786f, 0.039317f, 0.182606f, 0.205344f, 0.015890f, -0.179015f, -0.308396f, -0.181602f, 0.118732f, 0.331502f, 0.311859f, 0.083492f, -0.193440f, -0.339859f, -0.210035f, 0.038309f, 0.272190f, 0.271032f, 0.078279f, -0.138374f, -0.258518f, -0.186134f, -0.005147f, 0.170585f, 0.170076f, 0.132706f, -0.022662f, -0.110194f, -0.128394f, -0.076436f, -0.034288f, - 0.038887f, 0.083304f, 0.098979f, 0.039004f, -0.015421f, -0.083882f, -0.075557f, -0.041993f, 0.044662f, 0.076560f, 0.104634f, 0.028010f, -0.037251f, -0.083421f, -0.057962f, -0.008276f, 0.050276f, 0.061592f, 0.062659f, -0.019294f, -0.045618f, -0.052590f, -0.021082f, 0.021156f, 0.051217f, 0.035327f, -0.003896f, -0.032706f, -0.007792f, -0.007871f, 0.005964f, -0.004716f} - }, - { - {-0.002758f, -0.008214f, -0.013493f, -0.018483f, -0.023078f, -0.027187f, -0.030729f, -0.033641f, -0.035877f, -0.037411f, -0.038233f, -0.038357f, -0.037811f, -0.036645f, -0.034921f, -0.032719f, -0.030125f, -0.027239f, -0.024162f, -0.021001f, -0.017858f, -0.014833f, -0.012020f, -0.009500f, -0.007345f, -0.005609f, -0.004333f, -0.003542f, -0.003240f, -0.003417f, -0.004046f, -0.005086f, -0.006478f, -0.008157f, -0.010046f, -0.012060f, -0.014115f, -0.016122f, -0.017997f, -0.019659f, -0.021036f, -0.022066f, -0.022699f, -0.022899f, -0.022644f, -0.021928f, -0.020760f, -0.019164f, -0.017180f, -0.014860f, -0.012267f, -0.009473f, -0.006558f, -0.003605f, -0.000699f, 0.002077f, 0.004641f, 0.006922f, 0.008853f, 0.010382f, 0.011466f, 0.012078f, 0.012205f, 0.011848f, 0.011025f, 0.009765f, 0.008114f, 0.006127f, 0.003869f, 0.001416f, -0.001155f, -0.003759f, -0.006314f, -0.008739f, -0.010956f, -0.012896f, -0.014498f, -0.015712f, -0.016499f, -0.016833f, -0.016705f, -0.016117f, -0.015086f, -0.013642f, -0.011827f, -0.009695f, -0.007308f, -0.004735f, -0.002052f, 0.000665f, 0.003338f, 0.005892f, 0.008256f, 0.010363f, 0.012159f, 0.013595f, - 0.014636f, 0.015258f, 0.015451f, 0.015215f, 0.014566f, 0.013529f, 0.012142f, 0.010452f, 0.008514f, 0.006391f, 0.004149f, 0.001856f, -0.000417f, -0.002603f, -0.004637f, -0.006461f, -0.008024f, -0.009281f, -0.010200f, -0.010759f, -0.010943f, -0.010755f, -0.010202f, -0.009307f, -0.008100f, -0.006621f, -0.004914f, -0.003034f, -0.001036f, 0.001021f, 0.003077f, 0.005075f, 0.006958f, 0.008677f, 0.010187f, 0.011449f, 0.012435f, 0.013124f, 0.013504f, 0.013575f, 0.013342f, 0.012823f, 0.012043f, 0.011032f, 0.009830f, 0.008478f, 0.007023f, 0.005512f, 0.003994f, 0.002515f, 0.001120f, -0.000151f, -0.001265f, -0.002191f, -0.002911f, -0.003409f, -0.003681f, -0.003730f, -0.003567f, -0.003209f, -0.002683f, -0.002019f, -0.001253f, -0.000425f, 0.017164f, -0.095166f, -0.084610f, -0.066781f, 0.125564f, -0.055140f, -0.043633f, -0.055197f, 0.072714f, -0.100511f, 0.144497f, 0.115593f, -0.072967f, 0.428156f, 0.536649f, 0.361553f, -0.187894f, -0.504100f, -0.536552f, -0.209129f, 0.324334f, 0.717579f, 0.479062f, -0.076828f, -0.630415f, -0.733045f, -0.375205f, 0.361882f, 0.851886f, 0.698590f, 0.037553f, -0.675426f, - -0.833824f, -0.418413f, 0.332807f, 0.738102f, 0.683005f, 0.031927f, -0.473763f, -0.676455f, -0.116995f, 0.532705f, 0.480135f, 0.217679f, -0.301672f, -0.549176f, -0.506689f, -0.110837f, 0.270437f, 0.499041f, 0.300922f, -0.031881f, -0.355101f, -0.392462f, -0.221663f, 0.107522f, 0.284228f, 0.295903f, 0.107689f, -0.126331f, -0.290544f, -0.236669f, -0.061858f, 0.193208f, 0.217471f, 0.246872f, 0.078080f, -0.181977f, -0.290841f, -0.186887f, 0.073642f, 0.191131f, 0.164691f, -0.004480f, -0.127122f, -0.163585f, -0.015179f, 0.092875f, 0.132319f, 0.056038f, -0.096492f, -0.185668f, -0.110148f, 0.053996f, 0.167665f, 0.195388f, 0.025827f, -0.166236f, -0.232588f, -0.166091f, 0.041634f, 0.101911f, 0.059508f, -0.013331f, -0.098501f, -0.069904f, -0.025396f, -0.001789f, -0.004400f, -0.144278f, -0.143038f, -0.024272f, 0.175344f, 0.253854f, 0.159944f, -0.101035f, -0.280794f, -0.265512f, -0.020116f, 0.276962f, 0.361592f, 0.144039f, -0.172472f, -0.398515f, -0.320982f, -0.050912f, 0.281935f, 0.448140f, 0.242748f, -0.148340f, -0.439433f, -0.362324f, -0.037030f, 0.304097f, 0.420291f, 0.244908f, -0.086568f, -0.339309f, - -0.341381f, -0.113297f, 0.212756f, 0.365130f, 0.285176f, -0.027987f, -0.290757f, -0.359049f, -0.186519f, 0.134808f, 0.357137f, 0.309240f, 0.053867f, -0.237918f, -0.363218f, -0.222627f, 0.018767f, 0.266466f, 0.325402f, 0.169829f, -0.113374f, -0.264223f, -0.246908f, -0.033550f, 0.194119f, 0.284522f, 0.165400f, -0.044492f, -0.108267f, -0.038686f, -0.008172f, 0.001053f}, - {-0.002758f, -0.008214f, -0.013493f, -0.018483f, -0.023078f, -0.027187f, -0.030729f, -0.033641f, -0.035877f, -0.037411f, -0.038233f, -0.038357f, -0.037811f, -0.036645f, -0.034921f, -0.032719f, -0.030125f, -0.027239f, -0.024162f, -0.021001f, -0.017858f, -0.014833f, -0.012020f, -0.009500f, -0.007345f, -0.005609f, -0.004333f, -0.003542f, -0.003240f, -0.003417f, -0.004046f, -0.005086f, -0.006478f, -0.008157f, -0.010046f, -0.012060f, -0.014115f, -0.016122f, -0.017997f, -0.019659f, -0.021036f, -0.022066f, -0.022699f, -0.022899f, -0.022644f, -0.021928f, -0.020760f, -0.019164f, -0.017180f, -0.014860f, -0.012267f, -0.009473f, -0.006558f, -0.003605f, -0.000699f, 0.002077f, 0.004641f, 0.006922f, 0.008853f, 0.010382f, 0.011466f, 0.012078f, 0.012205f, 0.011848f, 0.011025f, 0.009765f, 0.008114f, 0.006127f, 0.003869f, 0.001416f, -0.001155f, -0.003759f, -0.006314f, -0.008739f, -0.010956f, -0.012896f, -0.014498f, -0.015712f, -0.016499f, -0.016833f, -0.016705f, -0.016117f, -0.015086f, -0.013642f, -0.011827f, -0.009695f, -0.007308f, -0.004735f, -0.002052f, 0.000665f, 0.003338f, 0.005892f, 0.008256f, 0.010363f, 0.012159f, 0.013595f, - 0.014636f, 0.015258f, 0.015451f, 0.015215f, 0.014566f, 0.013529f, 0.012142f, 0.010452f, 0.008514f, 0.006391f, 0.004149f, 0.001856f, -0.000417f, -0.002603f, -0.004637f, -0.006461f, -0.008024f, -0.009281f, -0.010200f, -0.010759f, -0.010943f, -0.010755f, -0.010202f, -0.009307f, -0.008100f, -0.006621f, -0.004914f, -0.003034f, -0.001036f, 0.001021f, 0.003077f, 0.005075f, 0.006958f, 0.008677f, 0.010187f, 0.011449f, 0.012435f, 0.013124f, 0.013504f, 0.013575f, 0.013342f, 0.012823f, 0.012043f, 0.011032f, 0.009830f, 0.008478f, 0.007023f, 0.005512f, 0.003994f, 0.002515f, 0.001120f, -0.000151f, -0.001265f, -0.002191f, -0.002911f, -0.003409f, -0.003681f, -0.003730f, -0.003567f, -0.003209f, -0.002683f, -0.002019f, -0.001253f, -0.000425f, 0.017164f, -0.095166f, -0.084610f, -0.066781f, 0.125564f, -0.055140f, -0.043633f, -0.055197f, 0.072714f, -0.100511f, 0.144497f, 0.115593f, -0.072967f, 0.428156f, 0.536649f, 0.361553f, -0.187894f, -0.504100f, -0.536552f, -0.209129f, 0.324334f, 0.717579f, 0.479062f, -0.076828f, -0.630415f, -0.733045f, -0.375205f, 0.361882f, 0.851886f, 0.698590f, 0.037553f, -0.675426f, - -0.833824f, -0.418413f, 0.332807f, 0.738102f, 0.683005f, 0.031927f, -0.473763f, -0.676455f, -0.116995f, 0.532705f, 0.480135f, 0.217679f, -0.301672f, -0.549176f, -0.506689f, -0.110837f, 0.270437f, 0.499041f, 0.300922f, -0.031881f, -0.355101f, -0.392462f, -0.221663f, 0.107522f, 0.284228f, 0.295903f, 0.107689f, -0.126331f, -0.290544f, -0.236669f, -0.061858f, 0.193208f, 0.217471f, 0.246872f, 0.078080f, -0.181977f, -0.290841f, -0.186887f, 0.073642f, 0.191131f, 0.164691f, -0.004480f, -0.127122f, -0.163585f, -0.015179f, 0.092875f, 0.132319f, 0.056038f, -0.096492f, -0.185668f, -0.110148f, 0.053996f, 0.167665f, 0.195388f, 0.025827f, -0.166236f, -0.232588f, -0.166091f, 0.041634f, 0.101911f, 0.059508f, -0.013331f, -0.098501f, -0.069904f, -0.025396f, -0.001789f, -0.004400f, -0.144278f, -0.143038f, -0.024272f, 0.175344f, 0.253854f, 0.159944f, -0.101035f, -0.280794f, -0.265512f, -0.020116f, 0.276962f, 0.361592f, 0.144039f, -0.172472f, -0.398515f, -0.320982f, -0.050912f, 0.281935f, 0.448140f, 0.242748f, -0.148340f, -0.439433f, -0.362324f, -0.037030f, 0.304097f, 0.420291f, 0.244908f, -0.086568f, -0.339309f, - -0.341381f, -0.113297f, 0.212756f, 0.365130f, 0.285176f, -0.027987f, -0.290757f, -0.359049f, -0.186519f, 0.134808f, 0.357137f, 0.309240f, 0.053867f, -0.237918f, -0.363218f, -0.222627f, 0.018767f, 0.266466f, 0.325402f, 0.169829f, -0.113374f, -0.264223f, -0.246908f, -0.033550f, 0.194119f, 0.284522f, 0.165400f, -0.044492f, -0.108267f, -0.038686f, -0.008172f, 0.001053f} - }, - { - {-0.001314f, -0.003934f, -0.006527f, -0.009075f, -0.011558f, -0.013956f, -0.016248f, -0.018413f, -0.020427f, -0.022268f, -0.023913f, -0.025340f, -0.026526f, -0.027454f, -0.028106f, -0.028470f, -0.028537f, -0.028304f, -0.027773f, -0.026955f, -0.025863f, -0.024520f, -0.022957f, -0.021207f, -0.019313f, -0.017322f, -0.015285f, -0.013255f, -0.011288f, -0.009439f, -0.007763f, -0.006312f, -0.005130f, -0.004258f, -0.003730f, -0.003568f, -0.003786f, -0.004389f, -0.005367f, -0.006704f, -0.008368f, -0.010323f, -0.012518f, -0.014897f, -0.017398f, -0.019954f, -0.022494f, -0.024947f, -0.027245f, -0.029320f, -0.031114f, -0.032572f, -0.033651f, -0.034317f, -0.034547f, -0.034331f, -0.033669f, -0.032576f, -0.031078f, -0.029210f, -0.027019f, -0.024559f, -0.021890f, -0.019077f, -0.016188f, -0.013291f, -0.010451f, -0.007730f, -0.005185f, -0.002865f, -0.000810f, 0.000949f, 0.002393f, 0.003513f, 0.004311f, 0.004798f, 0.004996f, 0.004935f, 0.004654f, 0.004194f, 0.003603f, 0.002930f, 0.002222f, 0.001527f, 0.000888f, 0.000344f, -0.000075f, -0.000343f, -0.000446f, -0.000376f, -0.000134f, 0.000269f, 0.000815f, 0.001479f, 0.002231f, 0.003035f, - 0.003854f, 0.004647f, 0.005377f, 0.006008f, 0.006506f, 0.006844f, 0.007003f, 0.006967f, 0.006731f, 0.006299f, 0.005681f, 0.004897f, 0.003971f, 0.002939f, 0.001836f, 0.000705f, -0.000411f, -0.001468f, -0.002422f, -0.003233f, -0.003867f, -0.004293f, -0.004488f, -0.004438f, -0.004136f, -0.003585f, -0.002797f, -0.001792f, -0.000597f, 0.000752f, 0.002215f, 0.003748f, 0.005303f, 0.006831f, 0.008286f, 0.009623f, 0.010799f, 0.011781f, 0.012539f, 0.013052f, 0.013308f, 0.013303f, 0.013043f, 0.012540f, 0.011816f, 0.010901f, 0.009827f, 0.008635f, 0.007366f, 0.006064f, 0.004771f, 0.003528f, 0.002374f, 0.001341f, 0.000455f, -0.000264f, -0.000804f, -0.001161f, -0.001340f, -0.001352f, -0.001217f, -0.000961f, -0.000614f, -0.000211f, 0.009824f, -0.025392f, 0.003068f, -0.063495f, -0.011179f, -0.003535f, 0.064582f, 0.015421f, 0.011489f, 0.012622f, 0.059145f, 0.090678f, -0.032440f, 0.214585f, 0.315262f, 0.132747f, -0.086018f, -0.176043f, -0.328831f, 0.007037f, 0.076966f, 0.172493f, 0.129820f, -0.050454f, -0.147541f, -0.174998f, -0.016099f, 0.183486f, 0.275400f, 0.164329f, -0.045971f, -0.231470f, - -0.305185f, -0.103015f, 0.318594f, 0.372904f, 0.152126f, -0.142477f, -0.327441f, -0.316692f, 0.056741f, 0.374135f, 0.289437f, 0.066855f, -0.238684f, -0.369182f, -0.260565f, -0.020464f, 0.130344f, 0.303624f, 0.227508f, 0.048235f, -0.170420f, -0.269283f, -0.198985f, -0.018973f, 0.203016f, 0.203783f, 0.217349f, -0.178400f, -0.183073f, -0.198521f, -0.177570f, 0.058283f, 0.262246f, 0.200208f, -0.052373f, -0.253422f, -0.275952f, -0.049932f, 0.207456f, 0.272786f, 0.208903f, 0.013245f, -0.244016f, -0.286750f, -0.113712f, 0.171855f, 0.313119f, 0.124258f, -0.017760f, -0.299172f, -0.315837f, -0.087679f, 0.189029f, 0.279633f, 0.123450f, -0.110997f, -0.296898f, -0.222798f, -0.003069f, 0.147969f, 0.108509f, -0.027695f, -0.095420f, -0.033400f, 0.026412f, 0.041198f, 0.008063f, -0.121817f, -0.101401f, -0.004164f, 0.143735f, 0.201285f, 0.134135f, -0.044895f, -0.179687f, -0.197544f, -0.077941f, 0.143457f, 0.232665f, 0.231540f, 0.078622f, -0.184865f, -0.281909f, -0.103295f, 0.100131f, 0.234276f, 0.179393f, -0.070021f, -0.133067f, -0.231333f, -0.151877f, 0.074031f, 0.170175f, 0.203405f, 0.063023f, -0.089352f, - -0.140655f, -0.063965f, 0.028808f, 0.099140f, 0.075553f, 0.019414f, -0.073169f, -0.082078f, -0.089922f, 0.003511f, 0.104713f, 0.103963f, 0.040688f, -0.034396f, -0.099769f, -0.069072f, -0.044637f, 0.039414f, 0.085266f, 0.084605f, 0.013281f, -0.026480f, -0.039645f, 0.002861f, 0.025499f, 0.053876f, 0.048795f, 0.001223f, -0.029655f, -0.009701f, -0.002193f, 0.000621f}, - {0.001314f, 0.003934f, 0.006527f, 0.009075f, 0.011558f, 0.013956f, 0.016248f, 0.018413f, 0.020427f, 0.022268f, 0.023913f, 0.025340f, 0.026526f, 0.027454f, 0.028106f, 0.028470f, 0.028537f, 0.028304f, 0.027773f, 0.026955f, 0.025863f, 0.024520f, 0.022957f, 0.021207f, 0.019313f, 0.017322f, 0.015285f, 0.013255f, 0.011288f, 0.009439f, 0.007763f, 0.006312f, 0.005130f, 0.004258f, 0.003730f, 0.003568f, 0.003786f, 0.004389f, 0.005367f, 0.006704f, 0.008368f, 0.010323f, 0.012518f, 0.014897f, 0.017398f, 0.019954f, 0.022494f, 0.024947f, 0.027245f, 0.029320f, 0.031114f, 0.032572f, 0.033651f, 0.034317f, 0.034547f, 0.034331f, 0.033669f, 0.032576f, 0.031078f, 0.029210f, 0.027019f, 0.024559f, 0.021890f, 0.019077f, 0.016188f, 0.013291f, 0.010451f, 0.007730f, 0.005185f, 0.002865f, 0.000810f, -0.000949f, -0.002393f, -0.003513f, -0.004311f, -0.004798f, -0.004996f, -0.004935f, -0.004654f, -0.004194f, -0.003603f, -0.002930f, -0.002222f, -0.001527f, -0.000888f, -0.000344f, 0.000075f, 0.000343f, 0.000446f, 0.000376f, 0.000134f, -0.000269f, -0.000815f, -0.001479f, -0.002231f, -0.003035f, - -0.003854f, -0.004647f, -0.005377f, -0.006008f, -0.006506f, -0.006844f, -0.007003f, -0.006967f, -0.006731f, -0.006299f, -0.005681f, -0.004897f, -0.003971f, -0.002939f, -0.001836f, -0.000705f, 0.000411f, 0.001468f, 0.002422f, 0.003233f, 0.003867f, 0.004293f, 0.004488f, 0.004438f, 0.004136f, 0.003585f, 0.002797f, 0.001792f, 0.000597f, -0.000752f, -0.002215f, -0.003748f, -0.005303f, -0.006831f, -0.008286f, -0.009623f, -0.010799f, -0.011781f, -0.012539f, -0.013052f, -0.013308f, -0.013303f, -0.013043f, -0.012540f, -0.011816f, -0.010901f, -0.009827f, -0.008635f, -0.007366f, -0.006064f, -0.004771f, -0.003528f, -0.002374f, -0.001341f, -0.000455f, 0.000264f, 0.000804f, 0.001161f, 0.001340f, 0.001352f, 0.001217f, 0.000961f, 0.000614f, 0.000211f, -0.009824f, 0.025392f, -0.003068f, 0.063495f, 0.011179f, 0.003535f, -0.064582f, -0.015421f, -0.011489f, -0.012622f, -0.059145f, -0.090678f, 0.032440f, -0.214585f, -0.315262f, -0.132747f, 0.086018f, 0.176043f, 0.328831f, -0.007037f, -0.076966f, -0.172493f, -0.129820f, 0.050454f, 0.147541f, 0.174998f, 0.016099f, -0.183486f, -0.275400f, -0.164329f, 0.045971f, 0.231470f, - 0.305185f, 0.103015f, -0.318594f, -0.372904f, -0.152126f, 0.142477f, 0.327441f, 0.316692f, -0.056741f, -0.374135f, -0.289437f, -0.066855f, 0.238684f, 0.369182f, 0.260565f, 0.020464f, -0.130344f, -0.303624f, -0.227508f, -0.048235f, 0.170420f, 0.269283f, 0.198985f, 0.018973f, -0.203016f, -0.203783f, -0.217349f, 0.178400f, 0.183073f, 0.198521f, 0.177570f, -0.058283f, -0.262246f, -0.200208f, 0.052373f, 0.253422f, 0.275952f, 0.049932f, -0.207456f, -0.272786f, -0.208903f, -0.013245f, 0.244016f, 0.286750f, 0.113712f, -0.171855f, -0.313119f, -0.124258f, 0.017760f, 0.299172f, 0.315837f, 0.087679f, -0.189029f, -0.279633f, -0.123450f, 0.110997f, 0.296898f, 0.222798f, 0.003069f, -0.147969f, -0.108509f, 0.027695f, 0.095420f, 0.033400f, -0.026412f, -0.041198f, -0.008063f, 0.121817f, 0.101401f, 0.004164f, -0.143735f, -0.201285f, -0.134135f, 0.044895f, 0.179687f, 0.197544f, 0.077941f, -0.143457f, -0.232665f, -0.231540f, -0.078622f, 0.184865f, 0.281909f, 0.103295f, -0.100131f, -0.234276f, -0.179393f, 0.070021f, 0.133067f, 0.231333f, 0.151877f, -0.074031f, -0.170175f, -0.203405f, -0.063023f, 0.089352f, - 0.140655f, 0.063965f, -0.028808f, -0.099140f, -0.075553f, -0.019414f, 0.073169f, 0.082078f, 0.089922f, -0.003511f, -0.104713f, -0.103963f, -0.040688f, 0.034396f, 0.099769f, 0.069072f, 0.044637f, -0.039414f, -0.085266f, -0.084605f, -0.013281f, 0.026480f, 0.039645f, -0.002861f, -0.025499f, -0.053876f, -0.048795f, -0.001223f, 0.029655f, 0.009701f, 0.002193f, -0.000621f} - }, - { - {-0.000457f, -0.001380f, -0.002330f, -0.003323f, -0.004372f, -0.005487f, -0.006672f, -0.007930f, -0.009253f, -0.010633f, -0.012054f, -0.013496f, -0.014933f, -0.016338f, -0.017681f, -0.018929f, -0.020051f, -0.021016f, -0.021796f, -0.022367f, -0.022709f, -0.022807f, -0.022655f, -0.022253f, -0.021607f, -0.020731f, -0.019647f, -0.018384f, -0.016975f, -0.015458f, -0.013877f, -0.012274f, -0.010695f, -0.009185f, -0.007786f, -0.006535f, -0.005466f, -0.004605f, -0.003973f, -0.003580f, -0.003429f, -0.003517f, -0.003828f, -0.004340f, -0.005026f, -0.005850f, -0.006772f, -0.007748f, -0.008734f, -0.009682f, -0.010549f, -0.011293f, -0.011876f, -0.012268f, -0.012444f, -0.012387f, -0.012090f, -0.011552f, -0.010783f, -0.009802f, -0.008634f, -0.007312f, -0.005875f, -0.004365f, -0.002830f, -0.001317f, 0.000128f, 0.001458f, 0.002632f, 0.003614f, 0.004372f, 0.004886f, 0.005138f, 0.005124f, 0.004845f, 0.004314f, 0.003551f, 0.002581f, 0.001440f, 0.000167f, -0.001196f, -0.002603f, -0.004007f, -0.005363f, -0.006627f, -0.007761f, -0.008730f, -0.009507f, -0.010070f, -0.010408f, -0.010515f, -0.010395f, -0.010059f, -0.009528f, -0.008825f, -0.007983f, - -0.007038f, -0.006026f, -0.004990f, -0.003968f, -0.003000f, -0.002121f, -0.001364f, -0.000755f, -0.000315f, -0.000058f, 0.000009f, -0.000112f, -0.000416f, -0.000886f, -0.001505f, -0.002244f, -0.003076f, -0.003968f, -0.004884f, -0.005791f, -0.006655f, -0.007444f, -0.008130f, -0.008688f, -0.009100f, -0.009352f, -0.009438f, -0.009356f, -0.009111f, -0.008715f, -0.008183f, -0.007536f, -0.006798f, -0.005996f, -0.005158f, -0.004312f, -0.003487f, -0.002708f, -0.001998f, -0.001376f, -0.000858f, -0.000454f, -0.000169f, -0.000004f, 0.000047f, -0.000006f, -0.000151f, -0.000371f, -0.000645f, -0.000953f, -0.001272f, -0.001581f, -0.001860f, -0.002091f, -0.002257f, -0.002346f, -0.002352f, -0.002269f, -0.002099f, -0.001846f, -0.001520f, -0.001132f, -0.000698f, -0.000236f, -0.001082f, -0.007192f, 0.021913f, -0.039500f, -0.011254f, 0.005951f, -0.021905f, -0.091993f, 0.050845f, 0.230618f, 0.217625f, 0.057638f, -0.170004f, 0.264623f, 0.272793f, 0.107389f, -0.097414f, -0.094413f, -0.190690f, 0.040445f, 0.078529f, 0.153019f, 0.116165f, -0.000198f, -0.091181f, -0.012899f, 0.034497f, -0.009199f, 0.022034f, -0.062895f, 0.116104f, 0.113324f, - 0.094084f, -0.017911f, -0.111402f, -0.159862f, -0.075024f, 0.052462f, 0.118694f, 0.118204f, 0.041768f, -0.045757f, -0.039860f, -0.088998f, -0.061848f, -0.001053f, -0.002719f, 0.037087f, -0.047839f, 0.026704f, 0.043210f, 0.000819f, -0.029741f, -0.064514f, -0.061783f, 0.020498f, 0.125645f, 0.158106f, 0.032407f, -0.139003f, -0.178026f, -0.174825f, -0.049323f, 0.125413f, 0.167822f, 0.095223f, -0.064137f, -0.187470f, -0.104867f, 0.076490f, 0.222956f, 0.114431f, -0.089468f, -0.301755f, -0.213346f, 0.032006f, 0.319832f, 0.313302f, 0.106194f, -0.239761f, -0.379586f, -0.301674f, -0.008235f, 0.307527f, 0.363424f, 0.142509f, -0.124602f, -0.338695f, -0.274940f, -0.027364f, 0.227327f, 0.279629f, 0.134176f, -0.048945f, -0.162434f, -0.178272f, -0.036050f, 0.068756f, 0.156869f, 0.101113f, -0.012461f, -0.095345f, -0.104836f, -0.113016f, -0.079800f, 0.011494f, 0.138572f, 0.173046f, 0.103807f, -0.040540f, -0.177760f, -0.172102f, -0.083891f, 0.094557f, 0.150645f, 0.179711f, 0.059456f, -0.115036f, -0.195307f, -0.164640f, 0.022578f, 0.081531f, 0.112551f, 0.091867f, 0.010385f, -0.059832f, -0.108985f, -0.101079f, - -0.043551f, 0.048804f, 0.091602f, 0.082680f, 0.013543f, -0.067321f, -0.119076f, -0.061746f, 0.048065f, 0.069868f, 0.069122f, 0.013037f, -0.019875f, -0.028618f, 0.001104f, 0.028477f, 0.025717f, -0.009408f, -0.032878f, -0.067421f, -0.042545f, 0.018003f, 0.039629f, 0.054995f, 0.040191f, -0.004595f, -0.064461f, -0.041332f, -0.001837f, 0.010840f, 0.002272f, 0.002112f}, - {0.000457f, 0.001380f, 0.002330f, 0.003323f, 0.004372f, 0.005487f, 0.006672f, 0.007930f, 0.009253f, 0.010633f, 0.012054f, 0.013496f, 0.014933f, 0.016338f, 0.017681f, 0.018929f, 0.020051f, 0.021016f, 0.021796f, 0.022367f, 0.022709f, 0.022807f, 0.022655f, 0.022253f, 0.021607f, 0.020731f, 0.019647f, 0.018384f, 0.016975f, 0.015458f, 0.013877f, 0.012274f, 0.010695f, 0.009185f, 0.007786f, 0.006535f, 0.005466f, 0.004605f, 0.003973f, 0.003580f, 0.003429f, 0.003517f, 0.003828f, 0.004340f, 0.005026f, 0.005850f, 0.006772f, 0.007748f, 0.008734f, 0.009682f, 0.010549f, 0.011293f, 0.011876f, 0.012268f, 0.012444f, 0.012387f, 0.012090f, 0.011552f, 0.010783f, 0.009802f, 0.008634f, 0.007312f, 0.005875f, 0.004365f, 0.002830f, 0.001317f, -0.000128f, -0.001458f, -0.002632f, -0.003614f, -0.004372f, -0.004886f, -0.005138f, -0.005124f, -0.004845f, -0.004314f, -0.003551f, -0.002581f, -0.001440f, -0.000167f, 0.001196f, 0.002603f, 0.004007f, 0.005363f, 0.006627f, 0.007761f, 0.008730f, 0.009507f, 0.010070f, 0.010408f, 0.010515f, 0.010395f, 0.010059f, 0.009528f, 0.008825f, 0.007983f, - 0.007038f, 0.006026f, 0.004990f, 0.003968f, 0.003000f, 0.002121f, 0.001364f, 0.000755f, 0.000315f, 0.000058f, -0.000009f, 0.000112f, 0.000416f, 0.000886f, 0.001505f, 0.002244f, 0.003076f, 0.003968f, 0.004884f, 0.005791f, 0.006655f, 0.007444f, 0.008130f, 0.008688f, 0.009100f, 0.009352f, 0.009438f, 0.009356f, 0.009111f, 0.008715f, 0.008183f, 0.007536f, 0.006798f, 0.005996f, 0.005158f, 0.004312f, 0.003487f, 0.002708f, 0.001998f, 0.001376f, 0.000858f, 0.000454f, 0.000169f, 0.000004f, -0.000047f, 0.000006f, 0.000151f, 0.000371f, 0.000645f, 0.000953f, 0.001272f, 0.001581f, 0.001860f, 0.002091f, 0.002257f, 0.002346f, 0.002352f, 0.002269f, 0.002099f, 0.001846f, 0.001520f, 0.001132f, 0.000698f, 0.000236f, 0.001082f, 0.007192f, -0.021913f, 0.039500f, 0.011254f, -0.005951f, 0.021905f, 0.091993f, -0.050845f, -0.230618f, -0.217625f, -0.057638f, 0.170004f, -0.264623f, -0.272793f, -0.107389f, 0.097414f, 0.094413f, 0.190690f, -0.040445f, -0.078529f, -0.153019f, -0.116165f, 0.000198f, 0.091181f, 0.012899f, -0.034497f, 0.009199f, -0.022034f, 0.062895f, -0.116104f, -0.113324f, - -0.094084f, 0.017911f, 0.111402f, 0.159862f, 0.075024f, -0.052462f, -0.118694f, -0.118204f, -0.041768f, 0.045757f, 0.039860f, 0.088998f, 0.061848f, 0.001053f, 0.002719f, -0.037087f, 0.047839f, -0.026704f, -0.043210f, -0.000819f, 0.029741f, 0.064514f, 0.061783f, -0.020498f, -0.125645f, -0.158106f, -0.032407f, 0.139003f, 0.178026f, 0.174825f, 0.049323f, -0.125413f, -0.167822f, -0.095223f, 0.064137f, 0.187470f, 0.104867f, -0.076490f, -0.222956f, -0.114431f, 0.089468f, 0.301755f, 0.213346f, -0.032006f, -0.319832f, -0.313302f, -0.106194f, 0.239761f, 0.379586f, 0.301674f, 0.008235f, -0.307527f, -0.363424f, -0.142509f, 0.124602f, 0.338695f, 0.274940f, 0.027364f, -0.227327f, -0.279629f, -0.134176f, 0.048945f, 0.162434f, 0.178272f, 0.036050f, -0.068756f, -0.156869f, -0.101113f, 0.012461f, 0.095345f, 0.104836f, 0.113016f, 0.079800f, -0.011494f, -0.138572f, -0.173046f, -0.103807f, 0.040540f, 0.177760f, 0.172102f, 0.083891f, -0.094557f, -0.150645f, -0.179711f, -0.059456f, 0.115036f, 0.195307f, 0.164640f, -0.022578f, -0.081531f, -0.112551f, -0.091867f, -0.010385f, 0.059832f, 0.108985f, 0.101079f, - 0.043551f, -0.048804f, -0.091602f, -0.082680f, -0.013543f, 0.067321f, 0.119076f, 0.061746f, -0.048065f, -0.069868f, -0.069122f, -0.013037f, 0.019875f, 0.028618f, -0.001104f, -0.028477f, -0.025717f, 0.009408f, 0.032878f, 0.067421f, 0.042545f, -0.018003f, -0.039629f, -0.054995f, -0.040191f, 0.004595f, 0.064461f, 0.041332f, 0.001837f, -0.010840f, -0.002272f, -0.002112f} - }, - { - {0.000405f, 0.001169f, 0.001801f, 0.002218f, 0.002349f, 0.002132f, 0.001524f, 0.000495f, -0.000962f, -0.002837f, -0.005100f, -0.007704f, -0.010583f, -0.013657f, -0.016836f, -0.020020f, -0.023105f, -0.025989f, -0.028570f, -0.030756f, -0.032466f, -0.033633f, -0.034209f, -0.034166f, -0.033496f, -0.032215f, -0.030359f, -0.027987f, -0.025177f, -0.022024f, -0.018637f, -0.015135f, -0.011644f, -0.008292f, -0.005203f, -0.002496f, -0.000277f, 0.001362f, 0.002349f, 0.002630f, 0.002178f, 0.000989f, -0.000917f, -0.003494f, -0.006672f, -0.010363f, -0.014459f, -0.018836f, -0.023361f, -0.027895f, -0.032296f, -0.036426f, -0.040154f, -0.043362f, -0.045945f, -0.047820f, -0.048926f, -0.049223f, -0.048698f, -0.047363f, -0.045255f, -0.042434f, -0.038981f, -0.034994f, -0.030589f, -0.025889f, -0.021028f, -0.016138f, -0.011351f, -0.006794f, -0.002581f, 0.001187f, 0.004427f, 0.007072f, 0.009081f, 0.010432f, 0.011126f, 0.011185f, 0.010652f, 0.009589f, 0.008072f, 0.006189f, 0.004040f, 0.001728f, -0.000642f, -0.002969f, -0.005154f, -0.007111f, -0.008763f, -0.010050f, -0.010927f, -0.011366f, -0.011356f, -0.010906f, -0.010040f, -0.008798f, - -0.007232f, -0.005406f, -0.003393f, -0.001270f, 0.000884f, 0.002991f, 0.004977f, 0.006773f, 0.008322f, 0.009576f, 0.010501f, 0.011075f, 0.011292f, 0.011158f, 0.010694f, 0.009932f, 0.008913f, 0.007690f, 0.006319f, 0.004861f, 0.003379f, 0.001932f, 0.000579f, -0.000630f, -0.001651f, -0.002450f, -0.003003f, -0.003297f, -0.003332f, -0.003115f, -0.002668f, -0.002019f, -0.001204f, -0.000266f, 0.000749f, 0.001793f, 0.002817f, 0.003776f, 0.004628f, 0.005337f, 0.005874f, 0.006220f, 0.006362f, 0.006300f, 0.006038f, 0.005594f, 0.004990f, 0.004255f, 0.003425f, 0.002538f, 0.001633f, 0.000750f, -0.000074f, -0.000806f, -0.001416f, -0.001882f, -0.002190f, -0.002332f, -0.002309f, -0.002132f, -0.001816f, -0.001384f, -0.000866f, -0.000295f, 0.001541f, -0.005469f, 0.091550f, 0.026897f, -0.110318f, -0.073062f, -0.046913f, -0.061069f, 0.019816f, 0.178869f, 0.180961f, 0.052028f, -0.078827f, 0.202343f, 0.182619f, 0.086795f, 0.204182f, 0.200105f, 0.111146f, -0.099247f, -0.003951f, 0.037305f, 0.006350f, 0.130261f, 0.198333f, 0.305704f, 0.137971f, -0.169170f, -0.168028f, -0.202794f, -0.028688f, 0.059029f, - 0.277175f, 0.353746f, -0.072412f, -0.351677f, -0.378052f, -0.122537f, 0.080151f, 0.468403f, 0.159017f, -0.071636f, -0.114519f, -0.218293f, -0.030837f, 0.193529f, 0.235419f, -0.074620f, -0.515807f, -0.464965f, -0.047342f, 0.323149f, 0.558774f, 0.307225f, -0.067114f, -0.469849f, -0.435609f, -0.253862f, 0.244754f, 0.043703f, 0.250335f, 0.056211f, -0.265231f, -0.253281f, 0.108080f, -0.098926f, -0.316563f, -0.154288f, 0.049659f, 0.266377f, 0.232891f, 0.153029f, 0.012859f, -0.017317f, -0.179558f, -0.104856f, -0.136314f, 0.000697f, 0.164413f, 0.201981f, 0.029839f, -0.144306f, -0.195132f, 0.118239f, 0.339500f, 0.353795f, -0.027643f, -0.389921f, -0.511417f, -0.197752f, 0.270887f, 0.631279f, 0.424246f, -0.058956f, -0.485919f, -0.476863f, -0.264843f, 0.177069f, 0.408998f, 0.218609f, 0.009780f, -0.226727f, -0.236332f, -0.102657f, 0.151492f, 0.292652f, 0.230052f, -0.031832f, -0.256067f, -0.323093f, -0.162039f, 0.056385f, 0.246837f, 0.293356f, 0.226747f, -0.082319f, -0.333768f, -0.350618f, -0.119567f, 0.270876f, 0.419031f, 0.257070f, 0.014739f, -0.328034f, -0.409808f, -0.211830f, 0.141731f, 0.364473f, - 0.378449f, 0.126836f, -0.236256f, -0.455961f, -0.343232f, 0.004634f, 0.343774f, 0.478417f, 0.265800f, -0.125937f, -0.473577f, -0.426358f, -0.095738f, 0.308788f, 0.483920f, 0.336634f, -0.054008f, -0.411204f, -0.470853f, -0.174093f, 0.220369f, 0.459898f, 0.338166f, 0.012781f, -0.330932f, -0.351817f, -0.123505f, 0.133013f, 0.122591f, 0.039645f, -0.001385f, 0.002204f}, - {0.000405f, 0.001169f, 0.001801f, 0.002218f, 0.002349f, 0.002132f, 0.001524f, 0.000495f, -0.000962f, -0.002837f, -0.005100f, -0.007704f, -0.010583f, -0.013657f, -0.016836f, -0.020020f, -0.023105f, -0.025989f, -0.028570f, -0.030756f, -0.032466f, -0.033633f, -0.034209f, -0.034166f, -0.033496f, -0.032215f, -0.030359f, -0.027987f, -0.025177f, -0.022024f, -0.018637f, -0.015135f, -0.011644f, -0.008292f, -0.005203f, -0.002496f, -0.000277f, 0.001362f, 0.002349f, 0.002630f, 0.002178f, 0.000989f, -0.000917f, -0.003494f, -0.006672f, -0.010363f, -0.014459f, -0.018836f, -0.023361f, -0.027895f, -0.032296f, -0.036426f, -0.040154f, -0.043362f, -0.045945f, -0.047820f, -0.048926f, -0.049223f, -0.048698f, -0.047363f, -0.045255f, -0.042434f, -0.038981f, -0.034994f, -0.030589f, -0.025889f, -0.021028f, -0.016138f, -0.011351f, -0.006794f, -0.002581f, 0.001187f, 0.004427f, 0.007072f, 0.009081f, 0.010432f, 0.011126f, 0.011185f, 0.010652f, 0.009589f, 0.008072f, 0.006189f, 0.004040f, 0.001728f, -0.000642f, -0.002969f, -0.005154f, -0.007111f, -0.008763f, -0.010050f, -0.010927f, -0.011366f, -0.011356f, -0.010906f, -0.010040f, -0.008798f, - -0.007232f, -0.005406f, -0.003393f, -0.001270f, 0.000884f, 0.002991f, 0.004977f, 0.006773f, 0.008322f, 0.009576f, 0.010501f, 0.011075f, 0.011292f, 0.011158f, 0.010694f, 0.009932f, 0.008913f, 0.007690f, 0.006319f, 0.004861f, 0.003379f, 0.001932f, 0.000579f, -0.000630f, -0.001651f, -0.002450f, -0.003003f, -0.003297f, -0.003332f, -0.003115f, -0.002668f, -0.002019f, -0.001204f, -0.000266f, 0.000749f, 0.001793f, 0.002817f, 0.003776f, 0.004628f, 0.005337f, 0.005874f, 0.006220f, 0.006362f, 0.006300f, 0.006038f, 0.005594f, 0.004990f, 0.004255f, 0.003425f, 0.002538f, 0.001633f, 0.000750f, -0.000074f, -0.000806f, -0.001416f, -0.001882f, -0.002190f, -0.002332f, -0.002309f, -0.002132f, -0.001816f, -0.001384f, -0.000866f, -0.000295f, 0.001541f, -0.005469f, 0.091550f, 0.026897f, -0.110318f, -0.073062f, -0.046913f, -0.061069f, 0.019816f, 0.178869f, 0.180961f, 0.052028f, -0.078827f, 0.202343f, 0.182619f, 0.086795f, 0.204182f, 0.200105f, 0.111146f, -0.099247f, -0.003951f, 0.037305f, 0.006350f, 0.130261f, 0.198333f, 0.305704f, 0.137971f, -0.169170f, -0.168028f, -0.202794f, -0.028688f, 0.059029f, - 0.277175f, 0.353746f, -0.072412f, -0.351677f, -0.378052f, -0.122537f, 0.080151f, 0.468403f, 0.159017f, -0.071636f, -0.114519f, -0.218293f, -0.030837f, 0.193529f, 0.235419f, -0.074620f, -0.515807f, -0.464965f, -0.047342f, 0.323149f, 0.558774f, 0.307225f, -0.067114f, -0.469849f, -0.435609f, -0.253862f, 0.244754f, 0.043703f, 0.250335f, 0.056211f, -0.265231f, -0.253281f, 0.108080f, -0.098926f, -0.316563f, -0.154288f, 0.049659f, 0.266377f, 0.232891f, 0.153029f, 0.012859f, -0.017317f, -0.179558f, -0.104856f, -0.136314f, 0.000697f, 0.164413f, 0.201981f, 0.029839f, -0.144306f, -0.195132f, 0.118239f, 0.339500f, 0.353795f, -0.027643f, -0.389921f, -0.511417f, -0.197752f, 0.270887f, 0.631279f, 0.424246f, -0.058956f, -0.485919f, -0.476863f, -0.264843f, 0.177069f, 0.408998f, 0.218609f, 0.009780f, -0.226727f, -0.236332f, -0.102657f, 0.151492f, 0.292652f, 0.230052f, -0.031832f, -0.256067f, -0.323093f, -0.162039f, 0.056385f, 0.246837f, 0.293356f, 0.226747f, -0.082319f, -0.333768f, -0.350618f, -0.119567f, 0.270876f, 0.419031f, 0.257070f, 0.014739f, -0.328034f, -0.409808f, -0.211830f, 0.141731f, 0.364473f, - 0.378449f, 0.126836f, -0.236256f, -0.455961f, -0.343232f, 0.004634f, 0.343774f, 0.478417f, 0.265800f, -0.125937f, -0.473577f, -0.426358f, -0.095738f, 0.308788f, 0.483920f, 0.336634f, -0.054008f, -0.411204f, -0.470853f, -0.174093f, 0.220369f, 0.459898f, 0.338166f, 0.012781f, -0.330932f, -0.351817f, -0.123505f, 0.133013f, 0.122591f, 0.039645f, -0.001385f, 0.002204f} - }, - { - {-0.002461f, -0.007319f, -0.011989f, -0.016353f, -0.020303f, -0.023742f, -0.026593f, -0.028795f, -0.030308f, -0.031115f, -0.031221f, -0.030650f, -0.029449f, -0.027683f, -0.025434f, -0.022796f, -0.019873f, -0.016777f, -0.013619f, -0.010512f, -0.007560f, -0.004861f, -0.002499f, -0.000544f, 0.000952f, 0.001954f, 0.002451f, 0.002445f, 0.001964f, 0.001049f, -0.000241f, -0.001833f, -0.003643f, -0.005580f, -0.007550f, -0.009456f, -0.011206f, -0.012715f, -0.013904f, -0.014711f, -0.015087f, -0.014997f, -0.014427f, -0.013380f, -0.011877f, -0.009954f, -0.007667f, -0.005081f, -0.002276f, 0.000663f, 0.003642f, 0.006568f, 0.009347f, 0.011892f, 0.014121f, 0.015964f, 0.017363f, 0.018274f, 0.018670f, 0.018540f, 0.017888f, 0.016738f, 0.015126f, 0.013104f, 0.010735f, 0.008091f, 0.005250f, 0.002298f, -0.000683f, -0.003610f, -0.006404f, -0.008995f, -0.011322f, -0.013335f, -0.014995f, -0.016280f, -0.017178f, -0.017693f, -0.017841f, -0.017653f, -0.017165f, -0.016427f, -0.015491f, -0.014417f, -0.013264f, -0.012092f, -0.010957f, -0.009910f, -0.008995f, -0.008247f, -0.007694f, -0.007349f, -0.007219f, -0.007296f, -0.007564f, -0.007999f, - -0.008567f, -0.009229f, -0.009941f, -0.010657f, -0.011330f, -0.011914f, -0.012370f, -0.012659f, -0.012754f, -0.012631f, -0.012279f, -0.011694f, -0.010882f, -0.009860f, -0.008651f, -0.007287f, -0.005807f, -0.004253f, -0.002672f, -0.001112f, 0.000380f, 0.001759f, 0.002984f, 0.004018f, 0.004833f, 0.005408f, 0.005731f, 0.005796f, 0.005610f, 0.005186f, 0.004544f, 0.003715f, 0.002732f, 0.001634f, 0.000462f, -0.000742f, -0.001933f, -0.003073f, -0.004125f, -0.005055f, -0.005838f, -0.006454f, -0.006889f, -0.007139f, -0.007205f, -0.007096f, -0.006827f, -0.006419f, -0.005896f, -0.005285f, -0.004616f, -0.003919f, -0.003222f, -0.002553f, -0.001934f, -0.001383f, -0.000915f, -0.000539f, -0.000256f, -0.000064f, 0.000046f, 0.000086f, 0.000073f, 0.000028f, -0.016524f, -0.064320f, 0.077125f, 0.022151f, -0.042129f, -0.194424f, -0.123531f, 0.149430f, 0.026902f, 0.251006f, 0.331756f, 0.287429f, 0.021249f, 0.026054f, 0.022955f, 0.079017f, -0.015064f, -0.039510f, 0.084197f, -0.023785f, 0.017416f, -0.010733f, -0.008857f, -0.003921f, 0.000185f, -0.023770f, 0.016679f, 0.010856f, -0.032920f, -0.034982f, 0.032712f, 0.057460f, - 0.052476f, 0.002469f, 0.053407f, 0.076847f, 0.121729f, -0.017425f, -0.106622f, -0.096335f, 0.047938f, 0.260077f, 0.080512f, -0.003540f, -0.209238f, -0.237182f, -0.102591f, 0.103280f, 0.217333f, 0.243771f, 0.064586f, -0.096557f, -0.245267f, -0.139221f, -0.000900f, 0.196301f, 0.212360f, 0.180491f, -0.067653f, 0.001517f, -0.181052f, -0.099956f, 0.146406f, 0.241327f, 0.046377f, 0.219953f, 0.279241f, -0.035949f, -0.276223f, -0.440805f, -0.180922f, 0.136448f, 0.348502f, 0.113900f, -0.087721f, -0.348109f, -0.214514f, -0.059360f, 0.156355f, 0.377743f, 0.259491f, -0.013428f, -0.259813f, -0.302835f, -0.130048f, 0.142268f, 0.225902f, 0.085727f, -0.109242f, -0.194494f, -0.099661f, 0.065807f, 0.175235f, 0.089653f, -0.044902f, -0.092312f, -0.081433f, 0.051319f, 0.210985f, 0.222219f, 0.063654f, -0.251653f, -0.396830f, -0.252488f, 0.150761f, 0.419968f, 0.455384f, 0.126597f, -0.260984f, -0.571256f, -0.522732f, -0.063682f, 0.447615f, 0.534938f, 0.190059f, -0.304205f, -0.428620f, -0.209841f, 0.151149f, 0.419089f, 0.239321f, 0.067103f, -0.187080f, -0.256172f, -0.084144f, 0.044483f, 0.185793f, 0.115053f, - -0.016819f, -0.114767f, -0.091989f, -0.035395f, 0.089159f, 0.105183f, 0.047119f, -0.073873f, -0.099207f, -0.072923f, 0.047801f, 0.100466f, 0.096086f, 0.001693f, -0.088988f, -0.152437f, -0.055419f, 0.061478f, 0.163163f, 0.129363f, 0.035064f, -0.122817f, -0.206598f, -0.150847f, 0.000562f, 0.117664f, 0.176597f, 0.075677f, -0.015394f, -0.030687f, -0.004427f, -0.004042f}, - {-0.002461f, -0.007319f, -0.011989f, -0.016353f, -0.020303f, -0.023742f, -0.026593f, -0.028795f, -0.030308f, -0.031115f, -0.031221f, -0.030650f, -0.029449f, -0.027683f, -0.025434f, -0.022796f, -0.019873f, -0.016777f, -0.013619f, -0.010512f, -0.007560f, -0.004861f, -0.002499f, -0.000544f, 0.000952f, 0.001954f, 0.002451f, 0.002445f, 0.001964f, 0.001049f, -0.000241f, -0.001833f, -0.003643f, -0.005580f, -0.007550f, -0.009456f, -0.011206f, -0.012715f, -0.013904f, -0.014711f, -0.015087f, -0.014997f, -0.014427f, -0.013380f, -0.011877f, -0.009954f, -0.007667f, -0.005081f, -0.002276f, 0.000663f, 0.003642f, 0.006568f, 0.009347f, 0.011892f, 0.014121f, 0.015964f, 0.017363f, 0.018274f, 0.018670f, 0.018540f, 0.017888f, 0.016738f, 0.015126f, 0.013104f, 0.010735f, 0.008091f, 0.005250f, 0.002298f, -0.000683f, -0.003610f, -0.006404f, -0.008995f, -0.011322f, -0.013335f, -0.014995f, -0.016280f, -0.017178f, -0.017693f, -0.017841f, -0.017653f, -0.017165f, -0.016427f, -0.015491f, -0.014417f, -0.013264f, -0.012092f, -0.010957f, -0.009910f, -0.008995f, -0.008247f, -0.007694f, -0.007349f, -0.007219f, -0.007296f, -0.007564f, -0.007999f, - -0.008567f, -0.009229f, -0.009941f, -0.010657f, -0.011330f, -0.011914f, -0.012370f, -0.012659f, -0.012754f, -0.012631f, -0.012279f, -0.011694f, -0.010882f, -0.009860f, -0.008651f, -0.007287f, -0.005807f, -0.004253f, -0.002672f, -0.001112f, 0.000380f, 0.001759f, 0.002984f, 0.004018f, 0.004833f, 0.005408f, 0.005731f, 0.005796f, 0.005610f, 0.005186f, 0.004544f, 0.003715f, 0.002732f, 0.001634f, 0.000462f, -0.000742f, -0.001933f, -0.003073f, -0.004125f, -0.005055f, -0.005838f, -0.006454f, -0.006889f, -0.007139f, -0.007205f, -0.007096f, -0.006827f, -0.006419f, -0.005896f, -0.005285f, -0.004616f, -0.003919f, -0.003222f, -0.002553f, -0.001934f, -0.001383f, -0.000915f, -0.000539f, -0.000256f, -0.000064f, 0.000046f, 0.000086f, 0.000073f, 0.000028f, -0.016524f, -0.064320f, 0.077125f, 0.022151f, -0.042129f, -0.194424f, -0.123531f, 0.149430f, 0.026902f, 0.251006f, 0.331756f, 0.287429f, 0.021249f, 0.026054f, 0.022955f, 0.079017f, -0.015064f, -0.039510f, 0.084197f, -0.023785f, 0.017416f, -0.010733f, -0.008857f, -0.003921f, 0.000185f, -0.023770f, 0.016679f, 0.010856f, -0.032920f, -0.034982f, 0.032712f, 0.057460f, - 0.052476f, 0.002469f, 0.053407f, 0.076847f, 0.121729f, -0.017425f, -0.106622f, -0.096335f, 0.047938f, 0.260077f, 0.080512f, -0.003540f, -0.209238f, -0.237182f, -0.102591f, 0.103280f, 0.217333f, 0.243771f, 0.064586f, -0.096557f, -0.245267f, -0.139221f, -0.000900f, 0.196301f, 0.212360f, 0.180491f, -0.067653f, 0.001517f, -0.181052f, -0.099956f, 0.146406f, 0.241327f, 0.046377f, 0.219953f, 0.279241f, -0.035949f, -0.276223f, -0.440805f, -0.180922f, 0.136448f, 0.348502f, 0.113900f, -0.087721f, -0.348109f, -0.214514f, -0.059360f, 0.156355f, 0.377743f, 0.259491f, -0.013428f, -0.259813f, -0.302835f, -0.130048f, 0.142268f, 0.225902f, 0.085727f, -0.109242f, -0.194494f, -0.099661f, 0.065807f, 0.175235f, 0.089653f, -0.044902f, -0.092312f, -0.081433f, 0.051319f, 0.210985f, 0.222219f, 0.063654f, -0.251653f, -0.396830f, -0.252488f, 0.150761f, 0.419968f, 0.455384f, 0.126597f, -0.260984f, -0.571256f, -0.522732f, -0.063682f, 0.447615f, 0.534938f, 0.190059f, -0.304205f, -0.428620f, -0.209841f, 0.151149f, 0.419089f, 0.239321f, 0.067103f, -0.187080f, -0.256172f, -0.084144f, 0.044483f, 0.185793f, 0.115053f, - -0.016819f, -0.114767f, -0.091989f, -0.035395f, 0.089159f, 0.105183f, 0.047119f, -0.073873f, -0.099207f, -0.072923f, 0.047801f, 0.100466f, 0.096086f, 0.001693f, -0.088988f, -0.152437f, -0.055419f, 0.061478f, 0.163163f, 0.129363f, 0.035064f, -0.122817f, -0.206598f, -0.150847f, 0.000562f, 0.117664f, 0.176597f, 0.075677f, -0.015394f, -0.030687f, -0.004427f, -0.004042f} - }, - { - {-0.001660f, -0.004932f, -0.008064f, -0.010965f, -0.013553f, -0.015751f, -0.017496f, -0.018735f, -0.019429f, -0.019553f, -0.019099f, -0.018072f, -0.016493f, -0.014399f, -0.011839f, -0.008873f, -0.005574f, -0.002021f, 0.001698f, 0.005493f, 0.009271f, 0.012942f, 0.016417f, 0.019613f, 0.022455f, 0.024877f, 0.026823f, 0.028252f, 0.029132f, 0.029448f, 0.029198f, 0.028393f, 0.027058f, 0.025229f, 0.022955f, 0.020291f, 0.017305f, 0.014067f, 0.010652f, 0.007138f, 0.003602f, 0.000120f, -0.003235f, -0.006399f, -0.009311f, -0.011921f, -0.014186f, -0.016075f, -0.017566f, -0.018649f, -0.019323f, -0.019597f, -0.019490f, -0.019031f, -0.018252f, -0.017195f, -0.015906f, -0.014432f, -0.012824f, -0.011134f, -0.009410f, -0.007702f, -0.006052f, -0.004502f, -0.003085f, -0.001832f, -0.000764f, 0.000103f, 0.000757f, 0.001197f, 0.001424f, 0.001446f, 0.001276f, 0.000931f, 0.000432f, -0.000200f, -0.000939f, -0.001761f, -0.002641f, -0.003554f, -0.004478f, -0.005392f, -0.006279f, -0.007122f, -0.007909f, -0.008632f, -0.009284f, -0.009861f, -0.010364f, -0.010794f, -0.011155f, -0.011452f, -0.011692f, -0.011882f, -0.012029f, -0.012139f, - -0.012220f, -0.012275f, -0.012311f, -0.012328f, -0.012329f, -0.012313f, -0.012278f, -0.012222f, -0.012140f, -0.012027f, -0.011879f, -0.011688f, -0.011451f, -0.011162f, -0.010818f, -0.010415f, -0.009952f, -0.009431f, -0.008851f, -0.008219f, -0.007540f, -0.006822f, -0.006075f, -0.005309f, -0.004538f, -0.003774f, -0.003033f, -0.002327f, -0.001671f, -0.001078f, -0.000561f, -0.000131f, 0.000205f, 0.000438f, 0.000564f, 0.000582f, 0.000493f, 0.000300f, 0.000009f, -0.000370f, -0.000827f, -0.001347f, -0.001915f, -0.002514f, -0.003127f, -0.003734f, -0.004318f, -0.004859f, -0.005342f, -0.005749f, -0.006067f, -0.006284f, -0.006390f, -0.006379f, -0.006246f, -0.005992f, -0.005619f, -0.005131f, -0.004538f, -0.003851f, -0.003083f, -0.002250f, -0.001370f, -0.000460f, 0.051673f, -0.017632f, -0.014793f, -0.006854f, 0.085155f, 0.029825f, 0.126550f, 0.077456f, 0.061534f, -0.207009f, -0.266257f, -0.146498f, 0.048723f, 0.221641f, 0.277191f, 0.058431f, -0.164615f, -0.206701f, -0.156974f, -0.020143f, 0.022758f, 0.008961f, -0.074555f, -0.003925f, 0.011839f, 0.046237f, 0.084746f, 0.034886f, -0.041420f, -0.135279f, -0.246819f, -0.068468f, - 0.062692f, 0.214884f, 0.182407f, 0.017704f, -0.224559f, -0.242317f, -0.153848f, 0.140584f, 0.085332f, 0.013707f, 0.004997f, -0.030712f, -0.048221f, -0.054054f, 0.043237f, 0.077808f, -0.122313f, -0.094422f, -0.020880f, 0.048625f, 0.099290f, 0.131977f, 0.049706f, -0.051476f, -0.107499f, -0.102515f, -0.027222f, 0.017018f, 0.122150f, 0.099096f, -0.012255f, -0.136944f, -0.168388f, -0.174519f, -0.066589f, 0.137016f, 0.301572f, 0.218780f, 0.064888f, -0.129614f, -0.295622f, -0.371987f, -0.175825f, 0.125281f, 0.321318f, 0.280973f, 0.080136f, -0.181841f, -0.337455f, -0.254867f, -0.075576f, 0.186279f, 0.230182f, 0.034312f, -0.136787f, -0.116980f, -0.015761f, 0.103139f, 0.148813f, 0.091199f, 0.023468f, -0.071270f, -0.111474f, -0.117202f, 0.010661f, 0.107073f, 0.099952f, 0.070676f, -0.064059f, -0.141154f, -0.120669f, -0.020003f, 0.117424f, 0.156810f, 0.060135f, -0.155403f, -0.200692f, -0.053828f, 0.108676f, 0.190613f, 0.124853f, -0.081226f, -0.251418f, -0.317618f, -0.060039f, 0.292421f, 0.371096f, 0.175763f, -0.113281f, -0.302853f, -0.187668f, -0.016911f, 0.224405f, 0.244635f, 0.102496f, -0.073172f, - -0.204158f, -0.199586f, -0.041058f, 0.109714f, 0.223389f, 0.139773f, -0.050482f, -0.212584f, -0.246282f, -0.078238f, 0.143784f, 0.231603f, 0.169289f, 0.027874f, -0.146913f, -0.217525f, -0.151836f, 0.040485f, 0.179321f, 0.136528f, -0.009910f, -0.075759f, -0.145118f, -0.039104f, 0.051169f, 0.093606f, 0.021532f, -0.001614f, -0.016184f, 0.004221f, -0.007703f, 0.007556f}, - {-0.001660f, -0.004932f, -0.008064f, -0.010965f, -0.013553f, -0.015751f, -0.017496f, -0.018735f, -0.019429f, -0.019553f, -0.019099f, -0.018072f, -0.016493f, -0.014399f, -0.011839f, -0.008873f, -0.005574f, -0.002021f, 0.001698f, 0.005493f, 0.009271f, 0.012942f, 0.016417f, 0.019613f, 0.022455f, 0.024877f, 0.026823f, 0.028252f, 0.029132f, 0.029448f, 0.029198f, 0.028393f, 0.027058f, 0.025229f, 0.022955f, 0.020291f, 0.017305f, 0.014067f, 0.010652f, 0.007138f, 0.003602f, 0.000120f, -0.003235f, -0.006399f, -0.009311f, -0.011921f, -0.014186f, -0.016075f, -0.017566f, -0.018649f, -0.019323f, -0.019597f, -0.019490f, -0.019031f, -0.018252f, -0.017195f, -0.015906f, -0.014432f, -0.012824f, -0.011134f, -0.009410f, -0.007702f, -0.006052f, -0.004502f, -0.003085f, -0.001832f, -0.000764f, 0.000103f, 0.000757f, 0.001197f, 0.001424f, 0.001446f, 0.001276f, 0.000931f, 0.000432f, -0.000200f, -0.000939f, -0.001761f, -0.002641f, -0.003554f, -0.004478f, -0.005392f, -0.006279f, -0.007122f, -0.007909f, -0.008632f, -0.009284f, -0.009861f, -0.010364f, -0.010794f, -0.011155f, -0.011452f, -0.011692f, -0.011882f, -0.012029f, -0.012139f, - -0.012220f, -0.012275f, -0.012311f, -0.012328f, -0.012329f, -0.012313f, -0.012278f, -0.012222f, -0.012140f, -0.012027f, -0.011879f, -0.011688f, -0.011451f, -0.011162f, -0.010818f, -0.010415f, -0.009952f, -0.009431f, -0.008851f, -0.008219f, -0.007540f, -0.006822f, -0.006075f, -0.005309f, -0.004538f, -0.003774f, -0.003033f, -0.002327f, -0.001671f, -0.001078f, -0.000561f, -0.000131f, 0.000205f, 0.000438f, 0.000564f, 0.000582f, 0.000493f, 0.000300f, 0.000009f, -0.000370f, -0.000827f, -0.001347f, -0.001915f, -0.002514f, -0.003127f, -0.003734f, -0.004318f, -0.004859f, -0.005342f, -0.005749f, -0.006067f, -0.006284f, -0.006390f, -0.006379f, -0.006246f, -0.005992f, -0.005619f, -0.005131f, -0.004538f, -0.003851f, -0.003083f, -0.002250f, -0.001370f, -0.000460f, 0.051673f, -0.017632f, -0.014793f, -0.006854f, 0.085155f, 0.029825f, 0.126550f, 0.077456f, 0.061534f, -0.207009f, -0.266257f, -0.146498f, 0.048723f, 0.221641f, 0.277191f, 0.058431f, -0.164615f, -0.206701f, -0.156974f, -0.020143f, 0.022758f, 0.008961f, -0.074555f, -0.003925f, 0.011839f, 0.046237f, 0.084746f, 0.034886f, -0.041420f, -0.135279f, -0.246819f, -0.068468f, - 0.062692f, 0.214884f, 0.182407f, 0.017704f, -0.224559f, -0.242317f, -0.153848f, 0.140584f, 0.085332f, 0.013707f, 0.004997f, -0.030712f, -0.048221f, -0.054054f, 0.043237f, 0.077808f, -0.122313f, -0.094422f, -0.020880f, 0.048625f, 0.099290f, 0.131977f, 0.049706f, -0.051476f, -0.107499f, -0.102515f, -0.027222f, 0.017018f, 0.122150f, 0.099096f, -0.012255f, -0.136944f, -0.168388f, -0.174519f, -0.066589f, 0.137016f, 0.301572f, 0.218780f, 0.064888f, -0.129614f, -0.295622f, -0.371987f, -0.175825f, 0.125281f, 0.321318f, 0.280973f, 0.080136f, -0.181841f, -0.337455f, -0.254867f, -0.075576f, 0.186279f, 0.230182f, 0.034312f, -0.136787f, -0.116980f, -0.015761f, 0.103139f, 0.148813f, 0.091199f, 0.023468f, -0.071270f, -0.111474f, -0.117202f, 0.010661f, 0.107073f, 0.099952f, 0.070676f, -0.064059f, -0.141154f, -0.120669f, -0.020003f, 0.117424f, 0.156810f, 0.060135f, -0.155403f, -0.200692f, -0.053828f, 0.108676f, 0.190613f, 0.124853f, -0.081226f, -0.251418f, -0.317618f, -0.060039f, 0.292421f, 0.371096f, 0.175763f, -0.113281f, -0.302853f, -0.187668f, -0.016911f, 0.224405f, 0.244635f, 0.102496f, -0.073172f, - -0.204158f, -0.199586f, -0.041058f, 0.109714f, 0.223389f, 0.139773f, -0.050482f, -0.212584f, -0.246282f, -0.078238f, 0.143784f, 0.231603f, 0.169289f, 0.027874f, -0.146913f, -0.217525f, -0.151836f, 0.040485f, 0.179321f, 0.136528f, -0.009910f, -0.075759f, -0.145118f, -0.039104f, 0.051169f, 0.093606f, 0.021532f, -0.001614f, -0.016184f, 0.004221f, -0.007703f, 0.007556f} - }, - { - {-0.000640f, -0.001906f, -0.003129f, -0.004283f, -0.005343f, -0.006287f, -0.007094f, -0.007750f, -0.008242f, -0.008562f, -0.008709f, -0.008684f, -0.008492f, -0.008146f, -0.007659f, -0.007050f, -0.006342f, -0.005558f, -0.004726f, -0.003873f, -0.003029f, -0.002222f, -0.001480f, -0.000831f, -0.000298f, 0.000096f, 0.000332f, 0.000394f, 0.000272f, -0.000042f, -0.000551f, -0.001253f, -0.002142f, -0.003209f, -0.004440f, -0.005816f, -0.007316f, -0.008917f, -0.010592f, -0.012312f, -0.014048f, -0.015769f, -0.017444f, -0.019044f, -0.020538f, -0.021899f, -0.023099f, -0.024116f, -0.024927f, -0.025514f, -0.025863f, -0.025961f, -0.025802f, -0.025381f, -0.024700f, -0.023761f, -0.022573f, -0.021149f, -0.019504f, -0.017657f, -0.015630f, -0.013450f, -0.011145f, -0.008744f, -0.006281f, -0.003789f, -0.001304f, 0.001141f, 0.003510f, 0.005768f, 0.007883f, 0.009822f, 0.011558f, 0.013064f, 0.014316f, 0.015297f, 0.015991f, 0.016388f, 0.016483f, 0.016275f, 0.015770f, 0.014978f, 0.013912f, 0.012595f, 0.011049f, 0.009305f, 0.007394f, 0.005352f, 0.003217f, 0.001030f, -0.001169f, -0.003339f, -0.005439f, -0.007430f, -0.009275f, -0.010942f, - -0.012399f, -0.013621f, -0.014588f, -0.015285f, -0.015701f, -0.015833f, -0.015683f, -0.015258f, -0.014573f, -0.013645f, -0.012499f, -0.011161f, -0.009662f, -0.008036f, -0.006319f, -0.004547f, -0.002757f, -0.000984f, 0.000736f, 0.002371f, 0.003893f, 0.005274f, 0.006494f, 0.007535f, 0.008384f, 0.009033f, 0.009480f, 0.009726f, 0.009778f, 0.009644f, 0.009340f, 0.008882f, 0.008290f, 0.007585f, 0.006789f, 0.005927f, 0.005020f, 0.004093f, 0.003166f, 0.002259f, 0.001389f, 0.000573f, -0.000176f, -0.000850f, -0.001440f, -0.001942f, -0.002354f, -0.002676f, -0.002910f, -0.003060f, -0.003133f, -0.003134f, -0.003072f, -0.002953f, -0.002786f, -0.002579f, -0.002337f, -0.002069f, -0.001780f, -0.001475f, -0.001158f, -0.000832f, -0.000502f, -0.000168f, -0.000950f, 0.005196f, 0.008415f, 0.013691f, 0.010046f, 0.041524f, 0.014494f, -0.010253f, -0.059357f, 0.014360f, 0.071639f, 0.089955f, -0.017131f, -0.159396f, -0.255292f, -0.048815f, 0.052816f, 0.112090f, 0.124895f, 0.011629f, 0.053349f, 0.049117f, -0.061521f, -0.153878f, 0.012614f, 0.063490f, 0.088113f, 0.120559f, 0.034303f, -0.028388f, -0.022463f, -0.126119f, - -0.059362f, 0.064977f, 0.125303f, 0.058828f, -0.087333f, -0.114147f, -0.062648f, 0.038220f, 0.156749f, 0.061676f, -0.044312f, -0.110768f, -0.121734f, -0.058530f, 0.070467f, 0.078156f, 0.062830f, 0.041647f, 0.011858f, 0.011894f, -0.019483f, -0.062924f, -0.024475f, -0.018302f, 0.013264f, 0.017461f, 0.119548f, -0.086788f, -0.027462f, -0.030487f, -0.173463f, -0.038236f, 0.108866f, -0.006879f, -0.102246f, -0.053467f, 0.045483f, 0.105019f, 0.128705f, 0.049507f, -0.025025f, -0.123162f, -0.118054f, 0.038616f, 0.185415f, 0.125769f, -0.045948f, -0.169415f, -0.106840f, -0.000353f, 0.054983f, 0.109200f, 0.058742f, -0.075455f, -0.169927f, -0.089376f, 0.045702f, 0.147251f, 0.090587f, -0.009634f, 0.008427f, -0.115185f, 0.015990f, 0.035158f, 0.217410f, 0.101335f, -0.063069f, -0.086048f, -0.002331f, 0.003691f, -0.094486f, -0.117104f, -0.048811f, 0.052984f, 0.122608f, 0.044561f, -0.097600f, -0.114101f, 0.012259f, 0.175564f, 0.184240f, 0.012182f, -0.121057f, -0.169569f, -0.076746f, 0.180433f, 0.250457f, 0.102575f, -0.107796f, -0.234107f, -0.190740f, -0.042613f, 0.128958f, 0.190930f, 0.115898f, -0.017594f, - -0.160777f, -0.122426f, -0.027748f, 0.104804f, 0.179697f, 0.098558f, -0.109567f, -0.149131f, -0.181002f, 0.025485f, 0.217751f, 0.283358f, 0.121772f, -0.068555f, -0.234328f, -0.199341f, -0.081574f, 0.092274f, 0.117148f, 0.125694f, -0.028746f, -0.108284f, -0.127547f, -0.000233f, 0.115058f, 0.139202f, -0.065825f, -0.078859f, -0.059174f, 0.008264f, -0.010895f, 0.013050f}, - {0.000640f, 0.001906f, 0.003129f, 0.004283f, 0.005343f, 0.006287f, 0.007094f, 0.007750f, 0.008242f, 0.008562f, 0.008709f, 0.008684f, 0.008492f, 0.008146f, 0.007659f, 0.007050f, 0.006342f, 0.005558f, 0.004726f, 0.003873f, 0.003029f, 0.002222f, 0.001480f, 0.000831f, 0.000298f, -0.000096f, -0.000332f, -0.000394f, -0.000272f, 0.000042f, 0.000551f, 0.001253f, 0.002142f, 0.003209f, 0.004440f, 0.005816f, 0.007316f, 0.008917f, 0.010592f, 0.012312f, 0.014048f, 0.015769f, 0.017444f, 0.019044f, 0.020538f, 0.021899f, 0.023099f, 0.024116f, 0.024927f, 0.025514f, 0.025863f, 0.025961f, 0.025802f, 0.025381f, 0.024700f, 0.023761f, 0.022573f, 0.021149f, 0.019504f, 0.017657f, 0.015630f, 0.013450f, 0.011145f, 0.008744f, 0.006281f, 0.003789f, 0.001304f, -0.001141f, -0.003510f, -0.005768f, -0.007883f, -0.009822f, -0.011558f, -0.013064f, -0.014316f, -0.015297f, -0.015991f, -0.016388f, -0.016483f, -0.016275f, -0.015770f, -0.014978f, -0.013912f, -0.012595f, -0.011049f, -0.009305f, -0.007394f, -0.005352f, -0.003217f, -0.001030f, 0.001169f, 0.003339f, 0.005439f, 0.007430f, 0.009275f, 0.010942f, - 0.012399f, 0.013621f, 0.014588f, 0.015285f, 0.015701f, 0.015833f, 0.015683f, 0.015258f, 0.014573f, 0.013645f, 0.012499f, 0.011161f, 0.009662f, 0.008036f, 0.006319f, 0.004547f, 0.002757f, 0.000984f, -0.000736f, -0.002371f, -0.003893f, -0.005274f, -0.006494f, -0.007535f, -0.008384f, -0.009033f, -0.009480f, -0.009726f, -0.009778f, -0.009644f, -0.009340f, -0.008882f, -0.008290f, -0.007585f, -0.006789f, -0.005927f, -0.005020f, -0.004093f, -0.003166f, -0.002259f, -0.001389f, -0.000573f, 0.000176f, 0.000850f, 0.001440f, 0.001942f, 0.002354f, 0.002676f, 0.002910f, 0.003060f, 0.003133f, 0.003134f, 0.003072f, 0.002953f, 0.002786f, 0.002579f, 0.002337f, 0.002069f, 0.001780f, 0.001475f, 0.001158f, 0.000832f, 0.000502f, 0.000168f, 0.000950f, -0.005196f, -0.008415f, -0.013691f, -0.010046f, -0.041524f, -0.014494f, 0.010253f, 0.059357f, -0.014360f, -0.071639f, -0.089955f, 0.017131f, 0.159396f, 0.255292f, 0.048815f, -0.052816f, -0.112090f, -0.124895f, -0.011629f, -0.053349f, -0.049117f, 0.061521f, 0.153878f, -0.012614f, -0.063490f, -0.088113f, -0.120559f, -0.034303f, 0.028388f, 0.022463f, 0.126119f, - 0.059362f, -0.064977f, -0.125303f, -0.058828f, 0.087333f, 0.114147f, 0.062648f, -0.038220f, -0.156749f, -0.061676f, 0.044312f, 0.110768f, 0.121734f, 0.058530f, -0.070467f, -0.078156f, -0.062830f, -0.041647f, -0.011858f, -0.011894f, 0.019483f, 0.062924f, 0.024475f, 0.018302f, -0.013264f, -0.017461f, -0.119548f, 0.086788f, 0.027462f, 0.030487f, 0.173463f, 0.038236f, -0.108866f, 0.006879f, 0.102246f, 0.053467f, -0.045483f, -0.105019f, -0.128705f, -0.049507f, 0.025025f, 0.123162f, 0.118054f, -0.038616f, -0.185415f, -0.125769f, 0.045948f, 0.169415f, 0.106840f, 0.000353f, -0.054983f, -0.109200f, -0.058742f, 0.075455f, 0.169927f, 0.089376f, -0.045702f, -0.147251f, -0.090587f, 0.009634f, -0.008427f, 0.115185f, -0.015990f, -0.035158f, -0.217410f, -0.101335f, 0.063069f, 0.086048f, 0.002331f, -0.003691f, 0.094486f, 0.117104f, 0.048811f, -0.052984f, -0.122608f, -0.044561f, 0.097600f, 0.114101f, -0.012259f, -0.175564f, -0.184240f, -0.012182f, 0.121057f, 0.169569f, 0.076746f, -0.180433f, -0.250457f, -0.102575f, 0.107796f, 0.234107f, 0.190740f, 0.042613f, -0.128958f, -0.190930f, -0.115898f, 0.017594f, - 0.160777f, 0.122426f, 0.027748f, -0.104804f, -0.179697f, -0.098558f, 0.109567f, 0.149131f, 0.181002f, -0.025485f, -0.217751f, -0.283358f, -0.121772f, 0.068555f, 0.234328f, 0.199341f, 0.081574f, -0.092274f, -0.117148f, -0.125694f, 0.028746f, 0.108284f, 0.127547f, 0.000233f, -0.115058f, -0.139202f, 0.065825f, 0.078859f, 0.059174f, -0.008264f, 0.010895f, -0.013050f} - }, - { - {0.000861f, 0.002552f, 0.004148f, 0.005589f, 0.006822f, 0.007797f, 0.008477f, 0.008831f, 0.008842f, 0.008500f, 0.007811f, 0.006790f, 0.005462f, 0.003864f, 0.002039f, 0.000040f, -0.002076f, -0.004250f, -0.006419f, -0.008523f, -0.010502f, -0.012301f, -0.013872f, -0.015175f, -0.016176f, -0.016852f, -0.017190f, -0.017188f, -0.016852f, -0.016198f, -0.015252f, -0.014045f, -0.012617f, -0.011010f, -0.009271f, -0.007445f, -0.005582f, -0.003724f, -0.001914f, -0.000187f, 0.001425f, 0.002899f, 0.004218f, 0.005374f, 0.006365f, 0.007196f, 0.007880f, 0.008432f, 0.008875f, 0.009235f, 0.009536f, 0.009806f, 0.010070f, 0.010351f, 0.010670f, 0.011041f, 0.011472f, 0.011967f, 0.012523f, 0.013129f, 0.013770f, 0.014422f, 0.015059f, 0.015651f, 0.016162f, 0.016557f, 0.016802f, 0.016862f, 0.016705f, 0.016305f, 0.015639f, 0.014693f, 0.013459f, 0.011936f, 0.010133f, 0.008066f, 0.005760f, 0.003247f, 0.000565f, -0.002242f, -0.005124f, -0.008031f, -0.010909f, -0.013705f, -0.016369f, -0.018851f, -0.021109f, -0.023105f, -0.024807f, -0.026193f, -0.027249f, -0.027967f, -0.028350f, -0.028408f, -0.028160f, -0.027632f, - -0.026853f, -0.025862f, -0.024696f, -0.023399f, -0.022012f, -0.020579f, -0.019138f, -0.017726f, -0.016378f, -0.015120f, -0.013974f, -0.012957f, -0.012077f, -0.011339f, -0.010740f, -0.010271f, -0.009920f, -0.009670f, -0.009501f, -0.009391f, -0.009317f, -0.009256f, -0.009187f, -0.009090f, -0.008949f, -0.008749f, -0.008483f, -0.008144f, -0.007732f, -0.007250f, -0.006705f, -0.006108f, -0.005474f, -0.004817f, -0.004156f, -0.003507f, -0.002889f, -0.002319f, -0.001811f, -0.001378f, -0.001028f, -0.000769f, -0.000601f, -0.000524f, -0.000532f, -0.000617f, -0.000767f, -0.000968f, -0.001205f, -0.001459f, -0.001714f, -0.001952f, -0.002157f, -0.002315f, -0.002413f, -0.002443f, -0.002398f, -0.002277f, -0.002080f, -0.001812f, -0.001480f, -0.001097f, -0.000674f, -0.000228f, 0.019411f, 0.009812f, -0.026151f, -0.032640f, -0.020738f, -0.035733f, -0.058682f, -0.090327f, -0.110120f, 0.151989f, 0.205551f, 0.056037f, -0.010353f, 0.053360f, 0.023881f, -0.011277f, 0.037123f, 0.092957f, 0.001328f, 0.048049f, -0.016966f, -0.058148f, 0.034997f, -0.009466f, 0.096773f, 0.024594f, 0.050246f, -0.073998f, -0.105668f, 0.008860f, 0.019794f, 0.022894f, - -0.052707f, -0.018010f, 0.016656f, 0.026045f, 0.052147f, 0.060366f, -0.066466f, -0.033060f, -0.017809f, 0.049546f, 0.059084f, 0.019277f, -0.068450f, -0.116077f, -0.069810f, 0.024554f, -0.010201f, 0.065496f, 0.096188f, 0.065856f, -0.056979f, -0.076188f, -0.047224f, 0.045117f, 0.097213f, 0.133600f, -0.019070f, -0.010924f, -0.154412f, -0.092075f, 0.092172f, 0.171862f, 0.046988f, 0.161369f, 0.056767f, -0.125307f, -0.091028f, -0.075354f, 0.082227f, 0.113654f, 0.058354f, -0.143590f, -0.259374f, -0.171666f, -0.132084f, -0.063050f, 0.179825f, 0.214131f, -0.004485f, -0.168746f, -0.138735f, -0.117269f, -0.208188f, 0.116421f, 0.232751f, 0.215983f, 0.077830f, -0.090856f, -0.200054f, -0.127017f, 0.080435f, 0.210455f, 0.194556f, 0.068536f, -0.104517f, -0.158299f, 0.038053f, 0.144177f, 0.160016f, 0.024600f, -0.130868f, -0.220678f, -0.062299f, 0.117071f, 0.256720f, 0.134429f, -0.052569f, -0.333617f, -0.343628f, -0.162022f, 0.201648f, 0.364155f, 0.190360f, -0.129535f, -0.190990f, -0.181481f, -0.043755f, 0.174126f, 0.244561f, 0.162623f, -0.058397f, -0.185193f, -0.141005f, -0.109101f, 0.102198f, 0.200563f, - 0.162725f, 0.014693f, -0.127916f, -0.203493f, -0.100609f, 0.087777f, 0.230913f, 0.130797f, -0.041546f, -0.207563f, -0.184892f, -0.095109f, 0.080087f, 0.175837f, 0.130124f, -0.032520f, -0.089523f, -0.095566f, -0.024602f, -0.012643f, 0.067768f, 0.104563f, 0.065081f, -0.029704f, -0.095207f, -0.091501f, 0.004209f, 0.077510f, 0.045222f, 0.005480f, 0.003975f, -0.002531f}, - {-0.000861f, -0.002552f, -0.004148f, -0.005589f, -0.006822f, -0.007797f, -0.008477f, -0.008831f, -0.008842f, -0.008500f, -0.007811f, -0.006790f, -0.005462f, -0.003864f, -0.002039f, -0.000040f, 0.002076f, 0.004250f, 0.006419f, 0.008523f, 0.010502f, 0.012301f, 0.013872f, 0.015175f, 0.016176f, 0.016852f, 0.017190f, 0.017188f, 0.016852f, 0.016198f, 0.015252f, 0.014045f, 0.012617f, 0.011010f, 0.009271f, 0.007445f, 0.005582f, 0.003724f, 0.001914f, 0.000187f, -0.001425f, -0.002899f, -0.004218f, -0.005374f, -0.006365f, -0.007196f, -0.007880f, -0.008432f, -0.008875f, -0.009235f, -0.009536f, -0.009806f, -0.010070f, -0.010351f, -0.010670f, -0.011041f, -0.011472f, -0.011967f, -0.012523f, -0.013129f, -0.013770f, -0.014422f, -0.015059f, -0.015651f, -0.016162f, -0.016557f, -0.016802f, -0.016862f, -0.016705f, -0.016305f, -0.015639f, -0.014693f, -0.013459f, -0.011936f, -0.010133f, -0.008066f, -0.005760f, -0.003247f, -0.000565f, 0.002242f, 0.005124f, 0.008031f, 0.010909f, 0.013705f, 0.016369f, 0.018851f, 0.021109f, 0.023105f, 0.024807f, 0.026193f, 0.027249f, 0.027967f, 0.028350f, 0.028408f, 0.028160f, 0.027632f, - 0.026853f, 0.025862f, 0.024696f, 0.023399f, 0.022012f, 0.020579f, 0.019138f, 0.017726f, 0.016378f, 0.015120f, 0.013974f, 0.012957f, 0.012077f, 0.011339f, 0.010740f, 0.010271f, 0.009920f, 0.009670f, 0.009501f, 0.009391f, 0.009317f, 0.009256f, 0.009187f, 0.009090f, 0.008949f, 0.008749f, 0.008483f, 0.008144f, 0.007732f, 0.007250f, 0.006705f, 0.006108f, 0.005474f, 0.004817f, 0.004156f, 0.003507f, 0.002889f, 0.002319f, 0.001811f, 0.001378f, 0.001028f, 0.000769f, 0.000601f, 0.000524f, 0.000532f, 0.000617f, 0.000767f, 0.000968f, 0.001205f, 0.001459f, 0.001714f, 0.001952f, 0.002157f, 0.002315f, 0.002413f, 0.002443f, 0.002398f, 0.002277f, 0.002080f, 0.001812f, 0.001480f, 0.001097f, 0.000674f, 0.000228f, -0.019411f, -0.009812f, 0.026151f, 0.032640f, 0.020738f, 0.035733f, 0.058682f, 0.090327f, 0.110120f, -0.151989f, -0.205551f, -0.056037f, 0.010353f, -0.053360f, -0.023881f, 0.011277f, -0.037123f, -0.092957f, -0.001328f, -0.048049f, 0.016966f, 0.058148f, -0.034997f, 0.009466f, -0.096773f, -0.024594f, -0.050246f, 0.073998f, 0.105668f, -0.008860f, -0.019794f, -0.022894f, - 0.052707f, 0.018010f, -0.016656f, -0.026045f, -0.052147f, -0.060366f, 0.066466f, 0.033060f, 0.017809f, -0.049546f, -0.059084f, -0.019277f, 0.068450f, 0.116077f, 0.069810f, -0.024554f, 0.010201f, -0.065496f, -0.096188f, -0.065856f, 0.056979f, 0.076188f, 0.047224f, -0.045117f, -0.097213f, -0.133600f, 0.019070f, 0.010924f, 0.154412f, 0.092075f, -0.092172f, -0.171862f, -0.046988f, -0.161369f, -0.056767f, 0.125307f, 0.091028f, 0.075354f, -0.082227f, -0.113654f, -0.058354f, 0.143590f, 0.259374f, 0.171666f, 0.132084f, 0.063050f, -0.179825f, -0.214131f, 0.004485f, 0.168746f, 0.138735f, 0.117269f, 0.208188f, -0.116421f, -0.232751f, -0.215983f, -0.077830f, 0.090856f, 0.200054f, 0.127017f, -0.080435f, -0.210455f, -0.194556f, -0.068536f, 0.104517f, 0.158299f, -0.038053f, -0.144177f, -0.160016f, -0.024600f, 0.130868f, 0.220678f, 0.062299f, -0.117071f, -0.256720f, -0.134429f, 0.052569f, 0.333617f, 0.343628f, 0.162022f, -0.201648f, -0.364155f, -0.190360f, 0.129535f, 0.190990f, 0.181481f, 0.043755f, -0.174126f, -0.244561f, -0.162623f, 0.058397f, 0.185193f, 0.141005f, 0.109101f, -0.102198f, -0.200563f, - -0.162725f, -0.014693f, 0.127916f, 0.203493f, 0.100609f, -0.087777f, -0.230913f, -0.130797f, 0.041546f, 0.207563f, 0.184892f, 0.095109f, -0.080087f, -0.175837f, -0.130124f, 0.032520f, 0.089523f, 0.095566f, 0.024602f, 0.012643f, -0.067768f, -0.104563f, -0.065081f, 0.029704f, 0.095207f, 0.091501f, -0.004209f, -0.077510f, -0.045222f, -0.005480f, -0.003975f, 0.002531f} - }, - { - {0.002884f, 0.008570f, 0.014011f, 0.019055f, 0.023559f, 0.027402f, 0.030483f, 0.032723f, 0.034076f, 0.034520f, 0.034065f, 0.032748f, 0.030633f, 0.027810f, 0.024389f, 0.020498f, 0.016277f, 0.011875f, 0.007442f, 0.003127f, -0.000930f, -0.004601f, -0.007775f, -0.010361f, -0.012290f, -0.013521f, -0.014037f, -0.013848f, -0.012990f, -0.011521f, -0.009524f, -0.007097f, -0.004352f, -0.001413f, 0.001592f, 0.004536f, 0.007293f, 0.009749f, 0.011801f, 0.013365f, 0.014373f, 0.014782f, 0.014571f, 0.013741f, 0.012318f, 0.010350f, 0.007906f, 0.005069f, 0.001940f, -0.001373f, -0.004754f, -0.008086f, -0.011254f, -0.014150f, -0.016677f, -0.018753f, -0.020310f, -0.021302f, -0.021702f, -0.021505f, -0.020727f, -0.019406f, -0.017597f, -0.015372f, -0.012816f, -0.010026f, -0.007106f, -0.004159f, -0.001292f, 0.001396f, 0.003814f, 0.005882f, 0.007534f, 0.008722f, 0.009416f, 0.009603f, 0.009290f, 0.008502f, 0.007282f, 0.005686f, 0.003785f, 0.001659f, -0.000607f, -0.002923f, -0.005200f, -0.007353f, -0.009303f, -0.010981f, -0.012332f, -0.013311f, -0.013892f, -0.014064f, -0.013831f, -0.013215f, -0.012252f, -0.010988f, - -0.009484f, -0.007806f, -0.006027f, -0.004222f, -0.002464f, -0.000825f, 0.000631f, 0.001849f, 0.002785f, 0.003405f, 0.003693f, 0.003643f, 0.003265f, 0.002583f, 0.001633f, 0.000460f, -0.000880f, -0.002326f, -0.003811f, -0.005270f, -0.006636f, -0.007849f, -0.008855f, -0.009608f, -0.010071f, -0.010222f, -0.010049f, -0.009554f, -0.008750f, -0.007665f, -0.006335f, -0.004806f, -0.003133f, -0.001372f, 0.000414f, 0.002164f, 0.003820f, 0.005325f, 0.006633f, 0.007703f, 0.008506f, 0.009022f, 0.009245f, 0.009177f, 0.008834f, 0.008242f, 0.007434f, 0.006452f, 0.005344f, 0.004160f, 0.002952f, 0.001771f, 0.000666f, -0.000321f, -0.001155f, -0.001806f, -0.002258f, -0.002501f, -0.002538f, -0.002380f, -0.002048f, -0.001572f, -0.000988f, -0.000337f, -0.026889f, 0.028099f, -0.009768f, -0.002524f, -0.023835f, 0.000490f, -0.157780f, -0.110259f, 0.027223f, 0.109942f, 0.103470f, 0.066165f, 0.025224f, 0.214648f, 0.081330f, -0.059959f, -0.118736f, -0.065186f, 0.070648f, 0.042514f, -0.016296f, -0.096606f, -0.042653f, -0.080307f, 0.003010f, 0.011074f, 0.035949f, 0.045728f, 0.050427f, -0.004399f, -0.066235f, -0.127373f, - -0.087482f, 0.084423f, 0.135908f, 0.074507f, -0.000454f, -0.052359f, -0.121824f, 0.055859f, 0.015029f, -0.181052f, -0.024857f, -0.048949f, 0.133705f, 0.141373f, 0.114178f, -0.149183f, -0.248358f, -0.253884f, 0.008334f, 0.218703f, 0.423573f, 0.171390f, -0.002672f, -0.365342f, -0.392351f, -0.247599f, 0.182369f, 0.155726f, 0.286528f, 0.123664f, -0.155661f, -0.192848f, -0.008898f, -0.150165f, -0.114626f, -0.020812f, -0.066192f, -0.060841f, -0.072571f, 0.061626f, 0.152827f, 0.168440f, 0.032683f, -0.100871f, -0.252947f, -0.229892f, 0.016842f, 0.347712f, 0.274786f, 0.085698f, -0.245119f, -0.094849f, -0.044493f, 0.131234f, 0.089811f, -0.056813f, -0.201518f, -0.145359f, 0.042291f, 0.234702f, 0.241292f, 0.024524f, -0.281017f, -0.308090f, -0.222045f, 0.163288f, 0.331563f, 0.211175f, -0.035887f, -0.258029f, -0.249274f, -0.028308f, 0.261113f, 0.345509f, 0.213605f, -0.074724f, -0.258686f, -0.257060f, -0.118453f, 0.083639f, 0.218506f, 0.156818f, -0.028084f, -0.200464f, -0.090533f, 0.019360f, 0.085401f, 0.116327f, 0.069003f, -0.017370f, -0.012965f, -0.023087f, -0.021796f, 0.014991f, 0.028101f, 0.057813f, - 0.075705f, 0.112571f, -0.004005f, -0.112876f, -0.161603f, -0.056295f, 0.102665f, 0.279171f, 0.240931f, 0.007528f, -0.250775f, -0.298360f, -0.185196f, 0.096465f, 0.276045f, 0.268710f, 0.070561f, -0.159979f, -0.294447f, -0.124619f, 0.146034f, 0.261495f, 0.159653f, -0.005708f, -0.184892f, -0.154563f, -0.041142f, 0.064629f, 0.040595f, 0.027037f, -0.007256f, 0.008844f}, - {-0.002884f, -0.008570f, -0.014011f, -0.019055f, -0.023559f, -0.027402f, -0.030483f, -0.032723f, -0.034076f, -0.034520f, -0.034065f, -0.032748f, -0.030633f, -0.027810f, -0.024389f, -0.020498f, -0.016277f, -0.011875f, -0.007442f, -0.003127f, 0.000930f, 0.004601f, 0.007775f, 0.010361f, 0.012290f, 0.013521f, 0.014037f, 0.013848f, 0.012990f, 0.011521f, 0.009524f, 0.007097f, 0.004352f, 0.001413f, -0.001592f, -0.004536f, -0.007293f, -0.009749f, -0.011801f, -0.013365f, -0.014373f, -0.014782f, -0.014571f, -0.013741f, -0.012318f, -0.010350f, -0.007906f, -0.005069f, -0.001940f, 0.001373f, 0.004754f, 0.008086f, 0.011254f, 0.014150f, 0.016677f, 0.018753f, 0.020310f, 0.021302f, 0.021702f, 0.021505f, 0.020727f, 0.019406f, 0.017597f, 0.015372f, 0.012816f, 0.010026f, 0.007106f, 0.004159f, 0.001292f, -0.001396f, -0.003814f, -0.005882f, -0.007534f, -0.008722f, -0.009416f, -0.009603f, -0.009290f, -0.008502f, -0.007282f, -0.005686f, -0.003785f, -0.001659f, 0.000607f, 0.002923f, 0.005200f, 0.007353f, 0.009303f, 0.010981f, 0.012332f, 0.013311f, 0.013892f, 0.014064f, 0.013831f, 0.013215f, 0.012252f, 0.010988f, - 0.009484f, 0.007806f, 0.006027f, 0.004222f, 0.002464f, 0.000825f, -0.000631f, -0.001849f, -0.002785f, -0.003405f, -0.003693f, -0.003643f, -0.003265f, -0.002583f, -0.001633f, -0.000460f, 0.000880f, 0.002326f, 0.003811f, 0.005270f, 0.006636f, 0.007849f, 0.008855f, 0.009608f, 0.010071f, 0.010222f, 0.010049f, 0.009554f, 0.008750f, 0.007665f, 0.006335f, 0.004806f, 0.003133f, 0.001372f, -0.000414f, -0.002164f, -0.003820f, -0.005325f, -0.006633f, -0.007703f, -0.008506f, -0.009022f, -0.009245f, -0.009177f, -0.008834f, -0.008242f, -0.007434f, -0.006452f, -0.005344f, -0.004160f, -0.002952f, -0.001771f, -0.000666f, 0.000321f, 0.001155f, 0.001806f, 0.002258f, 0.002501f, 0.002538f, 0.002380f, 0.002048f, 0.001572f, 0.000988f, 0.000337f, 0.026889f, -0.028099f, 0.009768f, 0.002524f, 0.023835f, -0.000490f, 0.157780f, 0.110259f, -0.027223f, -0.109942f, -0.103470f, -0.066165f, -0.025224f, -0.214648f, -0.081330f, 0.059959f, 0.118736f, 0.065186f, -0.070648f, -0.042514f, 0.016296f, 0.096606f, 0.042653f, 0.080307f, -0.003010f, -0.011074f, -0.035949f, -0.045728f, -0.050427f, 0.004399f, 0.066235f, 0.127373f, - 0.087482f, -0.084423f, -0.135908f, -0.074507f, 0.000454f, 0.052359f, 0.121824f, -0.055859f, -0.015029f, 0.181052f, 0.024857f, 0.048949f, -0.133705f, -0.141373f, -0.114178f, 0.149183f, 0.248358f, 0.253884f, -0.008334f, -0.218703f, -0.423573f, -0.171390f, 0.002672f, 0.365342f, 0.392351f, 0.247599f, -0.182369f, -0.155726f, -0.286528f, -0.123664f, 0.155661f, 0.192848f, 0.008898f, 0.150165f, 0.114626f, 0.020812f, 0.066192f, 0.060841f, 0.072571f, -0.061626f, -0.152827f, -0.168440f, -0.032683f, 0.100871f, 0.252947f, 0.229892f, -0.016842f, -0.347712f, -0.274786f, -0.085698f, 0.245119f, 0.094849f, 0.044493f, -0.131234f, -0.089811f, 0.056813f, 0.201518f, 0.145359f, -0.042291f, -0.234702f, -0.241292f, -0.024524f, 0.281017f, 0.308090f, 0.222045f, -0.163288f, -0.331563f, -0.211175f, 0.035887f, 0.258029f, 0.249274f, 0.028308f, -0.261113f, -0.345509f, -0.213605f, 0.074724f, 0.258686f, 0.257060f, 0.118453f, -0.083639f, -0.218506f, -0.156818f, 0.028084f, 0.200464f, 0.090533f, -0.019360f, -0.085401f, -0.116327f, -0.069003f, 0.017370f, 0.012965f, 0.023087f, 0.021796f, -0.014991f, -0.028101f, -0.057813f, - -0.075705f, -0.112571f, 0.004005f, 0.112876f, 0.161603f, 0.056295f, -0.102665f, -0.279171f, -0.240931f, -0.007528f, 0.250775f, 0.298360f, 0.185196f, -0.096465f, -0.276045f, -0.268710f, -0.070561f, 0.159979f, 0.294447f, 0.124619f, -0.146034f, -0.261495f, -0.159653f, 0.005708f, 0.184892f, 0.154563f, 0.041142f, -0.064629f, -0.040595f, -0.027037f, 0.007256f, -0.008844f} - }, - { - {0.001345f, 0.004002f, 0.006562f, 0.008966f, 0.011161f, 0.013102f, 0.014757f, 0.016105f, 0.017138f, 0.017863f, 0.018298f, 0.018475f, 0.018437f, 0.018234f, 0.017924f, 0.017569f, 0.017230f, 0.016967f, 0.016834f, 0.016878f, 0.017136f, 0.017629f, 0.018367f, 0.019343f, 0.020535f, 0.021905f, 0.023400f, 0.024955f, 0.026493f, 0.027930f, 0.029178f, 0.030145f, 0.030743f, 0.030890f, 0.030514f, 0.029556f, 0.027972f, 0.025739f, 0.022853f, 0.019332f, 0.015217f, 0.010571f, 0.005476f, 0.000035f, -0.005633f, -0.011399f, -0.017120f, -0.022653f, -0.027852f, -0.032578f, -0.036698f, -0.040096f, -0.042672f, -0.044346f, -0.045065f, -0.044800f, -0.043551f, -0.041344f, -0.038234f, -0.034302f, -0.029651f, -0.024407f, -0.018711f, -0.012717f, -0.006588f, -0.000489f, 0.005419f, 0.010980f, 0.016050f, 0.020504f, 0.024233f, 0.027155f, 0.029211f, 0.030371f, 0.030631f, 0.030014f, 0.028569f, 0.026369f, 0.023508f, 0.020095f, 0.016255f, 0.012120f, 0.007825f, 0.003507f, -0.000704f, -0.004688f, -0.008338f, -0.011562f, -0.014291f, -0.016474f, -0.018083f, -0.019114f, -0.019583f, -0.019528f, -0.019005f, -0.018085f, - -0.016852f, -0.015398f, -0.013821f, -0.012219f, -0.010685f, -0.009309f, -0.008167f, -0.007324f, -0.006827f, -0.006708f, -0.006979f, -0.007635f, -0.008650f, -0.009983f, -0.011579f, -0.013367f, -0.015270f, -0.017202f, -0.019073f, -0.020797f, -0.022290f, -0.023474f, -0.024284f, -0.024666f, -0.024583f, -0.024012f, -0.022950f, -0.021410f, -0.019422f, -0.017031f, -0.014298f, -0.011294f, -0.008100f, -0.004803f, -0.001491f, 0.001745f, 0.004821f, 0.007659f, 0.010188f, 0.012352f, 0.014108f, 0.015425f, 0.016291f, 0.016708f, 0.016693f, 0.016278f, 0.015506f, 0.014430f, 0.013112f, 0.011619f, 0.010018f, 0.008378f, 0.006763f, 0.005232f, 0.003834f, 0.002610f, 0.001587f, 0.000782f, 0.000198f, -0.000174f, -0.000355f, -0.000376f, -0.000276f, -0.000100f, -0.032205f, 0.011586f, -0.040186f, 0.014088f, -0.042313f, 0.046827f, 0.033764f, -0.096242f, -0.080467f, 0.016061f, -0.088406f, -0.089652f, 0.052045f, -0.107020f, -0.286973f, -0.113994f, 0.172515f, 0.215293f, 0.242145f, -0.144469f, 0.015859f, 0.186953f, 0.178302f, -0.033527f, -0.164463f, -0.116146f, -0.078606f, 0.060146f, 0.228290f, 0.176714f, 0.045216f, -0.148974f, - -0.167378f, -0.117306f, 0.037959f, 0.118187f, 0.172420f, 0.018415f, -0.059047f, -0.113543f, -0.094441f, 0.007358f, 0.140239f, 0.127385f, 0.029243f, -0.130445f, -0.151885f, -0.079534f, -0.031788f, 0.024268f, 0.119878f, 0.114851f, 0.152176f, 0.012880f, -0.082703f, -0.305814f, -0.232458f, -0.078515f, 0.217788f, 0.022424f, 0.137951f, 0.078344f, -0.108319f, -0.201225f, -0.074505f, -0.211080f, -0.240345f, 0.009746f, 0.084793f, 0.135413f, -0.004733f, -0.028726f, -0.046164f, 0.170722f, 0.010726f, 0.045193f, -0.337527f, -0.426429f, 0.027906f, 0.302670f, 0.248545f, 0.068898f, -0.181394f, -0.362390f, -0.595504f, -0.156258f, 0.325924f, 0.586403f, 0.346745f, -0.046848f, -0.393579f, -0.371270f, -0.161925f, 0.242804f, 0.350908f, 0.237995f, -0.002838f, -0.132692f, -0.054955f, 0.143286f, 0.144945f, -0.054418f, -0.134018f, -0.094813f, 0.040119f, 0.165650f, 0.156301f, 0.001921f, -0.121456f, -0.160572f, -0.054007f, 0.025824f, 0.115209f, 0.056750f, -0.218672f, -0.213128f, -0.032553f, 0.039900f, 0.073676f, 0.041634f, -0.038515f, -0.101947f, -0.036357f, 0.045300f, 0.032164f, 0.037874f, 0.012793f, 0.004136f, - -0.030288f, 0.050791f, 0.080366f, 0.013649f, -0.046289f, -0.091225f, -0.013940f, 0.085658f, 0.101820f, 0.072115f, -0.001188f, -0.091973f, -0.114852f, 0.005284f, 0.139027f, 0.155460f, 0.007874f, -0.164472f, -0.247952f, -0.149218f, 0.075276f, 0.269313f, 0.297946f, 0.099007f, -0.204590f, -0.365654f, -0.268602f, 0.045711f, 0.130835f, 0.071040f, 0.007248f, 0.006140f}, - {0.001345f, 0.004002f, 0.006562f, 0.008966f, 0.011161f, 0.013102f, 0.014757f, 0.016105f, 0.017138f, 0.017863f, 0.018298f, 0.018475f, 0.018437f, 0.018234f, 0.017924f, 0.017569f, 0.017230f, 0.016967f, 0.016834f, 0.016878f, 0.017136f, 0.017629f, 0.018367f, 0.019343f, 0.020535f, 0.021905f, 0.023400f, 0.024955f, 0.026493f, 0.027930f, 0.029178f, 0.030145f, 0.030743f, 0.030890f, 0.030514f, 0.029556f, 0.027972f, 0.025739f, 0.022853f, 0.019332f, 0.015217f, 0.010571f, 0.005476f, 0.000035f, -0.005633f, -0.011399f, -0.017120f, -0.022653f, -0.027852f, -0.032578f, -0.036698f, -0.040096f, -0.042672f, -0.044346f, -0.045065f, -0.044800f, -0.043551f, -0.041344f, -0.038234f, -0.034302f, -0.029651f, -0.024407f, -0.018711f, -0.012717f, -0.006588f, -0.000489f, 0.005419f, 0.010980f, 0.016050f, 0.020504f, 0.024233f, 0.027155f, 0.029211f, 0.030371f, 0.030631f, 0.030014f, 0.028569f, 0.026369f, 0.023508f, 0.020095f, 0.016255f, 0.012120f, 0.007825f, 0.003507f, -0.000704f, -0.004688f, -0.008338f, -0.011562f, -0.014291f, -0.016474f, -0.018083f, -0.019114f, -0.019583f, -0.019528f, -0.019005f, -0.018085f, - -0.016852f, -0.015398f, -0.013821f, -0.012219f, -0.010685f, -0.009309f, -0.008167f, -0.007324f, -0.006827f, -0.006708f, -0.006979f, -0.007635f, -0.008650f, -0.009983f, -0.011579f, -0.013367f, -0.015270f, -0.017202f, -0.019073f, -0.020797f, -0.022290f, -0.023474f, -0.024284f, -0.024666f, -0.024583f, -0.024012f, -0.022950f, -0.021410f, -0.019422f, -0.017031f, -0.014298f, -0.011294f, -0.008100f, -0.004803f, -0.001491f, 0.001745f, 0.004821f, 0.007659f, 0.010188f, 0.012352f, 0.014108f, 0.015425f, 0.016291f, 0.016708f, 0.016693f, 0.016278f, 0.015506f, 0.014430f, 0.013112f, 0.011619f, 0.010018f, 0.008378f, 0.006763f, 0.005232f, 0.003834f, 0.002610f, 0.001587f, 0.000782f, 0.000198f, -0.000174f, -0.000355f, -0.000376f, -0.000276f, -0.000100f, -0.032205f, 0.011586f, -0.040186f, 0.014088f, -0.042313f, 0.046827f, 0.033764f, -0.096242f, -0.080467f, 0.016061f, -0.088406f, -0.089652f, 0.052045f, -0.107020f, -0.286973f, -0.113994f, 0.172515f, 0.215293f, 0.242145f, -0.144469f, 0.015859f, 0.186953f, 0.178302f, -0.033527f, -0.164463f, -0.116146f, -0.078606f, 0.060146f, 0.228290f, 0.176714f, 0.045216f, -0.148974f, - -0.167378f, -0.117306f, 0.037959f, 0.118187f, 0.172420f, 0.018415f, -0.059047f, -0.113543f, -0.094441f, 0.007358f, 0.140239f, 0.127385f, 0.029243f, -0.130445f, -0.151885f, -0.079534f, -0.031788f, 0.024268f, 0.119878f, 0.114851f, 0.152176f, 0.012880f, -0.082703f, -0.305814f, -0.232458f, -0.078515f, 0.217788f, 0.022424f, 0.137951f, 0.078344f, -0.108319f, -0.201225f, -0.074505f, -0.211080f, -0.240345f, 0.009746f, 0.084793f, 0.135413f, -0.004733f, -0.028726f, -0.046164f, 0.170722f, 0.010726f, 0.045193f, -0.337527f, -0.426429f, 0.027906f, 0.302670f, 0.248545f, 0.068898f, -0.181394f, -0.362390f, -0.595504f, -0.156258f, 0.325924f, 0.586403f, 0.346745f, -0.046848f, -0.393579f, -0.371270f, -0.161925f, 0.242804f, 0.350908f, 0.237995f, -0.002838f, -0.132692f, -0.054955f, 0.143286f, 0.144945f, -0.054418f, -0.134018f, -0.094813f, 0.040119f, 0.165650f, 0.156301f, 0.001921f, -0.121456f, -0.160572f, -0.054007f, 0.025824f, 0.115209f, 0.056750f, -0.218672f, -0.213128f, -0.032553f, 0.039900f, 0.073676f, 0.041634f, -0.038515f, -0.101947f, -0.036357f, 0.045300f, 0.032164f, 0.037874f, 0.012793f, 0.004136f, - -0.030288f, 0.050791f, 0.080366f, 0.013649f, -0.046289f, -0.091225f, -0.013940f, 0.085658f, 0.101820f, 0.072115f, -0.001188f, -0.091973f, -0.114852f, 0.005284f, 0.139027f, 0.155460f, 0.007874f, -0.164472f, -0.247952f, -0.149218f, 0.075276f, 0.269313f, 0.297946f, 0.099007f, -0.204590f, -0.365654f, -0.268602f, 0.045711f, 0.130835f, 0.071040f, 0.007248f, 0.006140f} - }, - { - {0.000362f, 0.001073f, 0.001744f, 0.002349f, 0.002866f, 0.003277f, 0.003570f, 0.003738f, 0.003779f, 0.003698f, 0.003508f, 0.003226f, 0.002876f, 0.002485f, 0.002085f, 0.001710f, 0.001397f, 0.001181f, 0.001094f, 0.001169f, 0.001431f, 0.001901f, 0.002592f, 0.003510f, 0.004653f, 0.006007f, 0.007553f, 0.009260f, 0.011090f, 0.012998f, 0.014931f, 0.016831f, 0.018638f, 0.020289f, 0.021720f, 0.022871f, 0.023686f, 0.024113f, 0.024109f, 0.023641f, 0.022686f, 0.021232f, 0.019283f, 0.016852f, 0.013969f, 0.010675f, 0.007023f, 0.003079f, -0.001081f, -0.005376f, -0.009714f, -0.014004f, -0.018149f, -0.022056f, -0.025634f, -0.028799f, -0.031473f, -0.033592f, -0.035100f, -0.035957f, -0.036140f, -0.035639f, -0.034460f, -0.032629f, -0.030184f, -0.027179f, -0.023683f, -0.019776f, -0.015546f, -0.011091f, -0.006513f, -0.001916f, 0.002596f, 0.006922f, 0.010968f, 0.014648f, 0.017885f, 0.020617f, 0.022794f, 0.024383f, 0.025367f, 0.025744f, 0.025530f, 0.024755f, 0.023465f, 0.021719f, 0.019588f, 0.017150f, 0.014493f, 0.011706f, 0.008882f, 0.006113f, 0.003485f, 0.001081f, -0.001026f, -0.002775f, - -0.004115f, -0.005009f, -0.005435f, -0.005387f, -0.004872f, -0.003914f, -0.002548f, -0.000824f, 0.001197f, 0.003446f, 0.005846f, 0.008317f, 0.010775f, 0.013138f, 0.015324f, 0.017260f, 0.018878f, 0.020119f, 0.020938f, 0.021298f, 0.021179f, 0.020573f, 0.019487f, 0.017941f, 0.015968f, 0.013612f, 0.010929f, 0.007984f, 0.004847f, 0.001593f, -0.001699f, -0.004952f, -0.008089f, -0.011040f, -0.013738f, -0.016128f, -0.018162f, -0.019804f, -0.021028f, -0.021822f, -0.022185f, -0.022130f, -0.021678f, -0.020863f, -0.019726f, -0.018317f, -0.016691f, -0.014906f, -0.013022f, -0.011101f, -0.009198f, -0.007369f, -0.005660f, -0.004113f, -0.002759f, -0.001622f, -0.000713f, -0.000037f, 0.000414f, 0.000657f, 0.000717f, 0.000625f, 0.000421f, 0.000148f, 0.003153f, 0.039246f, 0.019417f, -0.023447f, -0.011964f, 0.066398f, 0.104926f, 0.012829f, -0.083265f, -0.197505f, -0.131572f, -0.043432f, 0.098608f, -0.095586f, -0.058691f, -0.025854f, 0.072826f, 0.132206f, 0.338317f, -0.030937f, -0.084397f, -0.074181f, -0.012587f, 0.012308f, 0.185180f, 0.096400f, 0.086420f, -0.056502f, -0.178421f, -0.099177f, -0.091937f, 0.057927f, - 0.078566f, 0.128628f, -0.012851f, -0.100419f, -0.153556f, -0.063418f, -0.033265f, 0.026325f, 0.070259f, 0.081971f, -0.004465f, -0.085805f, -0.077271f, -0.033981f, 0.034679f, 0.026259f, -0.092928f, -0.078258f, 0.019976f, 0.075629f, 0.042707f, 0.066090f, -0.011075f, -0.062597f, -0.010010f, -0.067249f, 0.046747f, -0.141062f, 0.104991f, 0.095284f, -0.096905f, -0.165815f, 0.025985f, -0.109232f, -0.092494f, 0.074759f, -0.033794f, -0.054673f, -0.157522f, -0.012924f, 0.193544f, 0.439641f, 0.197651f, -0.045368f, -0.274867f, -0.197032f, -0.026967f, 0.208389f, 0.300841f, 0.219146f, -0.073385f, -0.195584f, -0.082110f, 0.032274f, 0.033256f, 0.023490f, -0.035048f, -0.061489f, -0.119029f, -0.016601f, 0.100604f, 0.214575f, 0.161937f, 0.018756f, -0.165729f, -0.271331f, -0.194265f, 0.001101f, 0.245243f, 0.380123f, 0.173566f, -0.053007f, -0.339741f, -0.343594f, -0.166942f, 0.092259f, 0.197898f, 0.180599f, 0.052916f, 0.025386f, -0.109175f, 0.023439f, 0.101582f, 0.122370f, -0.126372f, -0.178005f, -0.054058f, 0.091751f, 0.129352f, 0.070559f, -0.006143f, -0.168099f, -0.175214f, -0.114156f, 0.078900f, 0.220900f, - 0.246636f, 0.056560f, -0.178328f, -0.354397f, -0.276709f, -0.020144f, 0.259144f, 0.436947f, 0.279027f, -0.061814f, -0.348580f, -0.383924f, -0.207627f, 0.122758f, 0.252189f, 0.198382f, 0.095538f, -0.034397f, -0.090844f, -0.114349f, -0.055317f, 0.035860f, 0.087028f, 0.089706f, 0.032524f, -0.067118f, -0.056800f, -0.060686f, -0.007022f, 0.013520f, -0.000301f, 0.004991f}, - {0.000362f, 0.001073f, 0.001744f, 0.002349f, 0.002866f, 0.003277f, 0.003570f, 0.003738f, 0.003779f, 0.003698f, 0.003508f, 0.003226f, 0.002876f, 0.002485f, 0.002085f, 0.001710f, 0.001397f, 0.001181f, 0.001094f, 0.001169f, 0.001431f, 0.001901f, 0.002592f, 0.003510f, 0.004653f, 0.006007f, 0.007553f, 0.009260f, 0.011090f, 0.012998f, 0.014931f, 0.016831f, 0.018638f, 0.020289f, 0.021720f, 0.022871f, 0.023686f, 0.024113f, 0.024109f, 0.023641f, 0.022686f, 0.021232f, 0.019283f, 0.016852f, 0.013969f, 0.010675f, 0.007023f, 0.003079f, -0.001081f, -0.005376f, -0.009714f, -0.014004f, -0.018149f, -0.022056f, -0.025634f, -0.028799f, -0.031473f, -0.033592f, -0.035100f, -0.035957f, -0.036140f, -0.035639f, -0.034460f, -0.032629f, -0.030184f, -0.027179f, -0.023683f, -0.019776f, -0.015546f, -0.011091f, -0.006513f, -0.001916f, 0.002596f, 0.006922f, 0.010968f, 0.014648f, 0.017885f, 0.020617f, 0.022794f, 0.024383f, 0.025367f, 0.025744f, 0.025530f, 0.024755f, 0.023465f, 0.021719f, 0.019588f, 0.017150f, 0.014493f, 0.011706f, 0.008882f, 0.006113f, 0.003485f, 0.001081f, -0.001026f, -0.002775f, - -0.004115f, -0.005009f, -0.005435f, -0.005387f, -0.004872f, -0.003914f, -0.002548f, -0.000824f, 0.001197f, 0.003446f, 0.005846f, 0.008317f, 0.010775f, 0.013138f, 0.015324f, 0.017260f, 0.018878f, 0.020119f, 0.020938f, 0.021298f, 0.021179f, 0.020573f, 0.019487f, 0.017941f, 0.015968f, 0.013612f, 0.010929f, 0.007984f, 0.004847f, 0.001593f, -0.001699f, -0.004952f, -0.008089f, -0.011040f, -0.013738f, -0.016128f, -0.018162f, -0.019804f, -0.021028f, -0.021822f, -0.022185f, -0.022130f, -0.021678f, -0.020863f, -0.019726f, -0.018317f, -0.016691f, -0.014906f, -0.013022f, -0.011101f, -0.009198f, -0.007369f, -0.005660f, -0.004113f, -0.002759f, -0.001622f, -0.000713f, -0.000037f, 0.000414f, 0.000657f, 0.000717f, 0.000625f, 0.000421f, 0.000148f, 0.003153f, 0.039246f, 0.019417f, -0.023447f, -0.011964f, 0.066398f, 0.104926f, 0.012829f, -0.083265f, -0.197505f, -0.131572f, -0.043432f, 0.098608f, -0.095586f, -0.058691f, -0.025854f, 0.072826f, 0.132206f, 0.338317f, -0.030937f, -0.084397f, -0.074181f, -0.012587f, 0.012308f, 0.185180f, 0.096400f, 0.086420f, -0.056502f, -0.178421f, -0.099177f, -0.091937f, 0.057927f, - 0.078566f, 0.128628f, -0.012851f, -0.100419f, -0.153556f, -0.063418f, -0.033265f, 0.026325f, 0.070259f, 0.081971f, -0.004465f, -0.085805f, -0.077271f, -0.033981f, 0.034679f, 0.026259f, -0.092928f, -0.078258f, 0.019976f, 0.075629f, 0.042707f, 0.066090f, -0.011075f, -0.062597f, -0.010010f, -0.067249f, 0.046747f, -0.141062f, 0.104991f, 0.095284f, -0.096905f, -0.165815f, 0.025985f, -0.109232f, -0.092494f, 0.074759f, -0.033794f, -0.054673f, -0.157522f, -0.012924f, 0.193544f, 0.439641f, 0.197651f, -0.045368f, -0.274867f, -0.197032f, -0.026967f, 0.208389f, 0.300841f, 0.219146f, -0.073385f, -0.195584f, -0.082110f, 0.032274f, 0.033256f, 0.023490f, -0.035048f, -0.061489f, -0.119029f, -0.016601f, 0.100604f, 0.214575f, 0.161937f, 0.018756f, -0.165729f, -0.271331f, -0.194265f, 0.001101f, 0.245243f, 0.380123f, 0.173566f, -0.053007f, -0.339741f, -0.343594f, -0.166942f, 0.092259f, 0.197898f, 0.180599f, 0.052916f, 0.025386f, -0.109175f, 0.023439f, 0.101582f, 0.122370f, -0.126372f, -0.178005f, -0.054058f, 0.091751f, 0.129352f, 0.070559f, -0.006143f, -0.168099f, -0.175214f, -0.114156f, 0.078900f, 0.220900f, - 0.246636f, 0.056560f, -0.178328f, -0.354397f, -0.276709f, -0.020144f, 0.259144f, 0.436947f, 0.279027f, -0.061814f, -0.348580f, -0.383924f, -0.207627f, 0.122758f, 0.252189f, 0.198382f, 0.095538f, -0.034397f, -0.090844f, -0.114349f, -0.055317f, 0.035860f, 0.087028f, 0.089706f, 0.032524f, -0.067118f, -0.056800f, -0.060686f, -0.007022f, 0.013520f, -0.000301f, 0.004991f} - }, - { - {-0.002437f, -0.007249f, -0.011878f, -0.016208f, -0.020132f, -0.023555f, -0.026396f, -0.028594f, -0.030103f, -0.030901f, -0.030982f, -0.030365f, -0.029084f, -0.027193f, -0.024763f, -0.021877f, -0.018627f, -0.015116f, -0.011448f, -0.007729f, -0.004061f, -0.000542f, 0.002741f, 0.005712f, 0.008307f, 0.010480f, 0.012198f, 0.013448f, 0.014232f, 0.014568f, 0.014488f, 0.014039f, 0.013276f, 0.012265f, 0.011077f, 0.009785f, 0.008463f, 0.007182f, 0.006009f, 0.005001f, 0.004208f, 0.003667f, 0.003405f, 0.003434f, 0.003755f, 0.004356f, 0.005213f, 0.006292f, 0.007550f, 0.008939f, 0.010403f, 0.011886f, 0.013333f, 0.014688f, 0.015902f, 0.016932f, 0.017741f, 0.018302f, 0.018600f, 0.018628f, 0.018389f, 0.017899f, 0.017180f, 0.016263f, 0.015189f, 0.013998f, 0.012738f, 0.011455f, 0.010197f, 0.009007f, 0.007923f, 0.006979f, 0.006200f, 0.005604f, 0.005199f, 0.004984f, 0.004949f, 0.005075f, 0.005338f, 0.005705f, 0.006139f, 0.006600f, 0.007047f, 0.007439f, 0.007738f, 0.007910f, 0.007927f, 0.007767f, 0.007417f, 0.006874f, 0.006142f, 0.005236f, 0.004179f, 0.003004f, 0.001749f, 0.000459f, - -0.000818f, -0.002032f, -0.003131f, -0.004065f, -0.004790f, -0.005264f, -0.005455f, -0.005338f, -0.004898f, -0.004130f, -0.003042f, -0.001649f, 0.000020f, 0.001928f, 0.004029f, 0.006271f, 0.008594f, 0.010936f, 0.013233f, 0.015422f, 0.017441f, 0.019234f, 0.020751f, 0.021948f, 0.022792f, 0.023260f, 0.023339f, 0.023028f, 0.022334f, 0.021278f, 0.019890f, 0.018206f, 0.016271f, 0.014137f, 0.011857f, 0.009488f, 0.007087f, 0.004707f, 0.002402f, 0.000219f, -0.001802f, -0.003625f, -0.005223f, -0.006579f, -0.007681f, -0.008525f, -0.009118f, -0.009470f, -0.009597f, -0.009522f, -0.009269f, -0.008865f, -0.008338f, -0.007716f, -0.007025f, -0.006287f, -0.005524f, -0.004752f, -0.003983f, -0.003226f, -0.002485f, -0.001761f, -0.001050f, -0.000349f, 0.000798f, -0.022608f, 0.029290f, 0.010754f, 0.033745f, -0.056416f, 0.012564f, -0.025145f, -0.039111f, 0.009475f, 0.087132f, 0.034345f, 0.050271f, 0.055360f, 0.033369f, 0.029722f, 0.043641f, 0.147217f, 0.145766f, -0.095509f, -0.073279f, 0.078979f, 0.072582f, 0.059506f, -0.050192f, -0.013124f, -0.063172f, -0.060244f, -0.020264f, 0.048458f, 0.087877f, -0.022581f, - -0.078489f, -0.024945f, 0.048310f, 0.079037f, 0.078327f, 0.003655f, -0.050125f, -0.032420f, 0.019079f, 0.040126f, 0.023291f, 0.013937f, -0.072645f, -0.044753f, -0.050742f, -0.023459f, -0.052839f, 0.011511f, 0.054459f, 0.080019f, -0.061848f, -0.033169f, -0.111716f, 0.006452f, 0.040085f, 0.117089f, -0.002984f, 0.075402f, -0.102498f, -0.083120f, 0.005264f, 0.122676f, 0.052329f, 0.150099f, 0.096037f, -0.032499f, -0.105663f, -0.099683f, -0.053576f, 0.040849f, 0.085621f, -0.012670f, -0.024627f, -0.075403f, -0.149701f, -0.147335f, 0.040066f, 0.235083f, 0.257166f, 0.129050f, -0.118997f, -0.271508f, -0.194114f, -0.009602f, 0.209841f, 0.210054f, 0.126052f, -0.121489f, -0.184259f, -0.252540f, -0.122876f, 0.170446f, 0.241755f, 0.138102f, -0.083143f, -0.205561f, -0.113596f, 0.046416f, 0.139492f, 0.115677f, -0.043339f, -0.167817f, -0.124128f, 0.048838f, 0.212727f, 0.241182f, 0.025151f, -0.224988f, -0.262230f, -0.025929f, 0.184648f, 0.355649f, 0.338647f, -0.091475f, -0.359634f, -0.270936f, 0.035513f, 0.312107f, 0.338017f, 0.167326f, -0.083554f, -0.320453f, -0.251326f, -0.066371f, 0.201620f, 0.262253f, - 0.181611f, -0.085509f, -0.219784f, -0.194721f, -0.002556f, 0.163824f, 0.200978f, 0.010282f, -0.156332f, -0.163656f, -0.041784f, 0.137059f, 0.177173f, -0.017919f, -0.159069f, -0.205658f, -0.078000f, 0.099218f, 0.263550f, 0.161633f, -0.058418f, -0.232437f, -0.217229f, -0.074059f, 0.127299f, 0.238100f, 0.208174f, 0.001426f, -0.078885f, -0.054832f, -0.003657f, -0.006916f}, - {-0.002437f, -0.007249f, -0.011878f, -0.016208f, -0.020132f, -0.023555f, -0.026396f, -0.028594f, -0.030103f, -0.030901f, -0.030982f, -0.030365f, -0.029084f, -0.027193f, -0.024763f, -0.021877f, -0.018627f, -0.015116f, -0.011448f, -0.007729f, -0.004061f, -0.000542f, 0.002741f, 0.005712f, 0.008307f, 0.010480f, 0.012198f, 0.013448f, 0.014232f, 0.014568f, 0.014488f, 0.014039f, 0.013276f, 0.012265f, 0.011077f, 0.009785f, 0.008463f, 0.007182f, 0.006009f, 0.005001f, 0.004208f, 0.003667f, 0.003405f, 0.003434f, 0.003755f, 0.004356f, 0.005213f, 0.006292f, 0.007550f, 0.008939f, 0.010403f, 0.011886f, 0.013333f, 0.014688f, 0.015902f, 0.016932f, 0.017741f, 0.018302f, 0.018600f, 0.018628f, 0.018389f, 0.017899f, 0.017180f, 0.016263f, 0.015189f, 0.013998f, 0.012738f, 0.011455f, 0.010197f, 0.009007f, 0.007923f, 0.006979f, 0.006200f, 0.005604f, 0.005199f, 0.004984f, 0.004949f, 0.005075f, 0.005338f, 0.005705f, 0.006139f, 0.006600f, 0.007047f, 0.007439f, 0.007738f, 0.007910f, 0.007927f, 0.007767f, 0.007417f, 0.006874f, 0.006142f, 0.005236f, 0.004179f, 0.003004f, 0.001749f, 0.000459f, - -0.000818f, -0.002032f, -0.003131f, -0.004065f, -0.004790f, -0.005264f, -0.005455f, -0.005338f, -0.004898f, -0.004130f, -0.003042f, -0.001649f, 0.000020f, 0.001928f, 0.004029f, 0.006271f, 0.008594f, 0.010936f, 0.013233f, 0.015422f, 0.017441f, 0.019234f, 0.020751f, 0.021948f, 0.022792f, 0.023260f, 0.023339f, 0.023028f, 0.022334f, 0.021278f, 0.019890f, 0.018206f, 0.016271f, 0.014137f, 0.011857f, 0.009488f, 0.007087f, 0.004707f, 0.002402f, 0.000219f, -0.001802f, -0.003625f, -0.005223f, -0.006579f, -0.007681f, -0.008525f, -0.009118f, -0.009470f, -0.009597f, -0.009522f, -0.009269f, -0.008865f, -0.008338f, -0.007716f, -0.007025f, -0.006287f, -0.005524f, -0.004752f, -0.003983f, -0.003226f, -0.002485f, -0.001761f, -0.001050f, -0.000349f, 0.000798f, -0.022608f, 0.029290f, 0.010754f, 0.033745f, -0.056416f, 0.012564f, -0.025145f, -0.039111f, 0.009475f, 0.087132f, 0.034345f, 0.050271f, 0.055360f, 0.033369f, 0.029722f, 0.043641f, 0.147217f, 0.145766f, -0.095509f, -0.073279f, 0.078979f, 0.072582f, 0.059506f, -0.050192f, -0.013124f, -0.063172f, -0.060244f, -0.020264f, 0.048458f, 0.087877f, -0.022581f, - -0.078489f, -0.024945f, 0.048310f, 0.079037f, 0.078327f, 0.003655f, -0.050125f, -0.032420f, 0.019079f, 0.040126f, 0.023291f, 0.013937f, -0.072645f, -0.044753f, -0.050742f, -0.023459f, -0.052839f, 0.011511f, 0.054459f, 0.080019f, -0.061848f, -0.033169f, -0.111716f, 0.006452f, 0.040085f, 0.117089f, -0.002984f, 0.075402f, -0.102498f, -0.083120f, 0.005264f, 0.122676f, 0.052329f, 0.150099f, 0.096037f, -0.032499f, -0.105663f, -0.099683f, -0.053576f, 0.040849f, 0.085621f, -0.012670f, -0.024627f, -0.075403f, -0.149701f, -0.147335f, 0.040066f, 0.235083f, 0.257166f, 0.129050f, -0.118997f, -0.271508f, -0.194114f, -0.009602f, 0.209841f, 0.210054f, 0.126052f, -0.121489f, -0.184259f, -0.252540f, -0.122876f, 0.170446f, 0.241755f, 0.138102f, -0.083143f, -0.205561f, -0.113596f, 0.046416f, 0.139492f, 0.115677f, -0.043339f, -0.167817f, -0.124128f, 0.048838f, 0.212727f, 0.241182f, 0.025151f, -0.224988f, -0.262230f, -0.025929f, 0.184648f, 0.355649f, 0.338647f, -0.091475f, -0.359634f, -0.270936f, 0.035513f, 0.312107f, 0.338017f, 0.167326f, -0.083554f, -0.320453f, -0.251326f, -0.066371f, 0.201620f, 0.262253f, - 0.181611f, -0.085509f, -0.219784f, -0.194721f, -0.002556f, 0.163824f, 0.200978f, 0.010282f, -0.156332f, -0.163656f, -0.041784f, 0.137059f, 0.177173f, -0.017919f, -0.159069f, -0.205658f, -0.078000f, 0.099218f, 0.263550f, 0.161633f, -0.058418f, -0.232437f, -0.217229f, -0.074059f, 0.127299f, 0.238100f, 0.208174f, 0.001426f, -0.078885f, -0.054832f, -0.003657f, -0.006916f} - }, - { - {-0.000655f, -0.001951f, -0.003209f, -0.004401f, -0.005506f, -0.006501f, -0.007370f, -0.008098f, -0.008674f, -0.009092f, -0.009349f, -0.009447f, -0.009392f, -0.009192f, -0.008861f, -0.008413f, -0.007867f, -0.007241f, -0.006556f, -0.005831f, -0.005086f, -0.004340f, -0.003609f, -0.002907f, -0.002246f, -0.001635f, -0.001078f, -0.000576f, -0.000128f, 0.000272f, 0.000631f, 0.000961f, 0.001275f, 0.001587f, 0.001912f, 0.002266f, 0.002663f, 0.003117f, 0.003641f, 0.004243f, 0.004929f, 0.005702f, 0.006561f, 0.007500f, 0.008510f, 0.009577f, 0.010685f, 0.011813f, 0.012936f, 0.014030f, 0.015066f, 0.016015f, 0.016850f, 0.017543f, 0.018067f, 0.018399f, 0.018519f, 0.018410f, 0.018062f, 0.017467f, 0.016625f, 0.015540f, 0.014224f, 0.012691f, 0.010964f, 0.009068f, 0.007035f, 0.004897f, 0.002693f, 0.000460f, -0.001761f, -0.003932f, -0.006014f, -0.007971f, -0.009770f, -0.011382f, -0.012783f, -0.013952f, -0.014877f, -0.015550f, -0.015970f, -0.016141f, -0.016074f, -0.015786f, -0.015296f, -0.014631f, -0.013819f, -0.012893f, -0.011885f, -0.010830f, -0.009761f, -0.008710f, -0.007708f, -0.006783f, -0.005956f, -0.005247f, - -0.004670f, -0.004234f, -0.003942f, -0.003791f, -0.003774f, -0.003880f, -0.004090f, -0.004385f, -0.004740f, -0.005131f, -0.005529f, -0.005908f, -0.006240f, -0.006500f, -0.006665f, -0.006715f, -0.006634f, -0.006411f, -0.006038f, -0.005514f, -0.004844f, -0.004035f, -0.003103f, -0.002066f, -0.000946f, 0.000230f, 0.001433f, 0.002634f, 0.003800f, 0.004900f, 0.005904f, 0.006784f, 0.007514f, 0.008074f, 0.008446f, 0.008617f, 0.008582f, 0.008340f, 0.007894f, 0.007257f, 0.006443f, 0.005474f, 0.004377f, 0.003179f, 0.001914f, 0.000616f, -0.000680f, -0.001937f, -0.003122f, -0.004202f, -0.005146f, -0.005929f, -0.006530f, -0.006932f, -0.007125f, -0.007104f, -0.006870f, -0.006432f, -0.005803f, -0.005002f, -0.004053f, -0.002984f, -0.001826f, -0.000615f, 0.005093f, -0.003646f, -0.000283f, -0.012014f, 0.033903f, 0.010066f, -0.043003f, 0.017081f, 0.005267f, 0.036821f, 0.008218f, -0.072431f, -0.028385f, -0.045756f, -0.098015f, 0.018919f, 0.099508f, 0.089873f, 0.087904f, -0.043867f, 0.009214f, 0.077701f, 0.086341f, 0.052898f, -0.020283f, -0.049260f, -0.021028f, -0.073031f, -0.066609f, -0.060330f, 0.034773f, 0.126218f, - 0.009288f, 0.017068f, 0.007110f, -0.048477f, -0.072624f, 0.044341f, 0.081520f, 0.108391f, 0.076852f, 0.023860f, -0.048001f, -0.063067f, -0.036730f, 0.005377f, 0.028787f, 0.039442f, -0.031959f, -0.036245f, -0.032095f, -0.022097f, -0.032694f, 0.143925f, 0.004623f, 0.061316f, -0.000865f, -0.056275f, -0.151972f, 0.084433f, 0.015088f, 0.049121f, 0.081787f, -0.027886f, -0.078970f, -0.106931f, 0.041302f, 0.078896f, 0.055445f, 0.005969f, -0.048255f, -0.041803f, -0.088581f, -0.097071f, 0.016601f, 0.098597f, 0.051414f, -0.118811f, -0.102804f, -0.048753f, -0.056937f, 0.010149f, 0.073083f, 0.041621f, -0.102317f, -0.124038f, -0.011932f, 0.202729f, 0.301995f, 0.162765f, -0.069694f, -0.219647f, -0.225042f, -0.052172f, 0.157848f, 0.184314f, 0.053627f, -0.060592f, -0.088058f, -0.033560f, 0.025667f, 0.049639f, 0.022726f, 0.020269f, -0.062520f, -0.075378f, -0.031814f, 0.014830f, 0.112040f, 0.131902f, 0.143188f, -0.015498f, -0.156012f, -0.189801f, 0.059376f, 0.034389f, 0.093034f, 0.127071f, 0.072857f, -0.005818f, -0.148545f, -0.039841f, 0.063216f, 0.100603f, 0.158258f, 0.015227f, -0.074849f, -0.120711f, - -0.125667f, -0.104225f, 0.072503f, 0.194413f, 0.257993f, 0.084344f, -0.131001f, -0.335068f, -0.219043f, 0.003901f, 0.213622f, 0.251721f, 0.141389f, -0.119509f, -0.252400f, -0.239874f, -0.021656f, 0.182933f, 0.283543f, 0.086681f, -0.201864f, -0.256839f, -0.176503f, 0.010550f, 0.207102f, 0.221211f, 0.088061f, -0.058597f, -0.064795f, -0.023744f, -0.001035f, -0.002587f}, - {-0.000655f, -0.001951f, -0.003209f, -0.004401f, -0.005506f, -0.006501f, -0.007370f, -0.008098f, -0.008674f, -0.009092f, -0.009349f, -0.009447f, -0.009392f, -0.009192f, -0.008861f, -0.008413f, -0.007867f, -0.007241f, -0.006556f, -0.005831f, -0.005086f, -0.004340f, -0.003609f, -0.002907f, -0.002246f, -0.001635f, -0.001078f, -0.000576f, -0.000128f, 0.000272f, 0.000631f, 0.000961f, 0.001275f, 0.001587f, 0.001912f, 0.002266f, 0.002663f, 0.003117f, 0.003641f, 0.004243f, 0.004929f, 0.005702f, 0.006561f, 0.007500f, 0.008510f, 0.009577f, 0.010685f, 0.011813f, 0.012936f, 0.014030f, 0.015066f, 0.016015f, 0.016850f, 0.017543f, 0.018067f, 0.018399f, 0.018519f, 0.018410f, 0.018062f, 0.017467f, 0.016625f, 0.015540f, 0.014224f, 0.012691f, 0.010964f, 0.009068f, 0.007035f, 0.004897f, 0.002693f, 0.000460f, -0.001761f, -0.003932f, -0.006014f, -0.007971f, -0.009770f, -0.011382f, -0.012783f, -0.013952f, -0.014877f, -0.015550f, -0.015970f, -0.016141f, -0.016074f, -0.015786f, -0.015296f, -0.014631f, -0.013819f, -0.012893f, -0.011885f, -0.010830f, -0.009761f, -0.008710f, -0.007708f, -0.006783f, -0.005956f, -0.005247f, - -0.004670f, -0.004234f, -0.003942f, -0.003791f, -0.003774f, -0.003880f, -0.004090f, -0.004385f, -0.004740f, -0.005131f, -0.005529f, -0.005908f, -0.006240f, -0.006500f, -0.006665f, -0.006715f, -0.006634f, -0.006411f, -0.006038f, -0.005514f, -0.004844f, -0.004035f, -0.003103f, -0.002066f, -0.000946f, 0.000230f, 0.001433f, 0.002634f, 0.003800f, 0.004900f, 0.005904f, 0.006784f, 0.007514f, 0.008074f, 0.008446f, 0.008617f, 0.008582f, 0.008340f, 0.007894f, 0.007257f, 0.006443f, 0.005474f, 0.004377f, 0.003179f, 0.001914f, 0.000616f, -0.000680f, -0.001937f, -0.003122f, -0.004202f, -0.005146f, -0.005929f, -0.006530f, -0.006932f, -0.007125f, -0.007104f, -0.006870f, -0.006432f, -0.005803f, -0.005002f, -0.004053f, -0.002984f, -0.001826f, -0.000615f, 0.005093f, -0.003646f, -0.000283f, -0.012014f, 0.033903f, 0.010066f, -0.043003f, 0.017081f, 0.005267f, 0.036821f, 0.008218f, -0.072431f, -0.028385f, -0.045756f, -0.098015f, 0.018919f, 0.099508f, 0.089873f, 0.087904f, -0.043867f, 0.009214f, 0.077701f, 0.086341f, 0.052898f, -0.020283f, -0.049260f, -0.021028f, -0.073031f, -0.066609f, -0.060330f, 0.034773f, 0.126218f, - 0.009288f, 0.017068f, 0.007110f, -0.048477f, -0.072624f, 0.044341f, 0.081520f, 0.108391f, 0.076852f, 0.023860f, -0.048001f, -0.063067f, -0.036730f, 0.005377f, 0.028787f, 0.039442f, -0.031959f, -0.036245f, -0.032095f, -0.022097f, -0.032694f, 0.143925f, 0.004623f, 0.061316f, -0.000865f, -0.056275f, -0.151972f, 0.084433f, 0.015088f, 0.049121f, 0.081787f, -0.027886f, -0.078970f, -0.106931f, 0.041302f, 0.078896f, 0.055445f, 0.005969f, -0.048255f, -0.041803f, -0.088581f, -0.097071f, 0.016601f, 0.098597f, 0.051414f, -0.118811f, -0.102804f, -0.048753f, -0.056937f, 0.010149f, 0.073083f, 0.041621f, -0.102317f, -0.124038f, -0.011932f, 0.202729f, 0.301995f, 0.162765f, -0.069694f, -0.219647f, -0.225042f, -0.052172f, 0.157848f, 0.184314f, 0.053627f, -0.060592f, -0.088058f, -0.033560f, 0.025667f, 0.049639f, 0.022726f, 0.020269f, -0.062520f, -0.075378f, -0.031814f, 0.014830f, 0.112040f, 0.131902f, 0.143188f, -0.015498f, -0.156012f, -0.189801f, 0.059376f, 0.034389f, 0.093034f, 0.127071f, 0.072857f, -0.005818f, -0.148545f, -0.039841f, 0.063216f, 0.100603f, 0.158258f, 0.015227f, -0.074849f, -0.120711f, - -0.125667f, -0.104225f, 0.072503f, 0.194413f, 0.257993f, 0.084344f, -0.131001f, -0.335068f, -0.219043f, 0.003901f, 0.213622f, 0.251721f, 0.141389f, -0.119509f, -0.252400f, -0.239874f, -0.021656f, 0.182933f, 0.283543f, 0.086681f, -0.201864f, -0.256839f, -0.176503f, 0.010550f, 0.207102f, 0.221211f, 0.088061f, -0.058597f, -0.064795f, -0.023744f, -0.001035f, -0.002587f} - } -}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; - -/********************** Sample Rate = 16000 **********************/ - -const float CRendBin_HOA3_HRIR_latency_s_16kHz = 0.001333333319053f; -const int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz = 2; -const uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[16][BINAURAL_CHANNELS]={{2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2} }; -const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; -const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[16][BINAURAL_CHANNELS][2]={{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}}}; -const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz = 0; -const float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[16]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; -const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][160]={ - { - {-0.007698f, -0.007490f, -0.007083f, -0.006489f, -0.005730f, -0.004832f, -0.003826f, -0.002746f, -0.001630f, -0.000515f, 0.000560f, 0.001561f, 0.002454f, 0.003210f, 0.003807f, 0.004225f, 0.004456f, 0.004495f, 0.004344f, 0.004015f, 0.003524f, 0.002893f, 0.002150f, 0.001327f, 0.000457f, -0.000424f, -0.001279f, -0.002075f, -0.002778f, -0.003360f, -0.003797f, -0.004070f, -0.004166f, -0.004079f, -0.003811f, -0.003367f, -0.002762f, -0.002015f, -0.001149f, -0.000193f, 0.000821f, 0.001862f, 0.002895f, 0.003887f, 0.004808f, 0.005630f, 0.006328f, 0.006883f, 0.007281f, 0.007514f, 0.007580f, 0.007483f, 0.007232f, 0.006843f, 0.006334f, 0.005728f, 0.005052f, 0.004333f, 0.003600f, 0.002879f, 0.002198f, 0.001579f, 0.001044f, 0.000609f, 0.000284f, 0.000076f, -0.000012f, 0.000014f, 0.000147f, 0.000373f, 0.000677f, 0.001039f, 0.001437f, 0.001850f, 0.002254f, 0.002628f, 0.002954f, 0.003214f, 0.003395f, 0.003487f, 0.873088f, 0.114402f, -0.664115f, -0.828857f, -0.404687f, 0.287627f, 0.776007f, 0.683901f, 0.183866f, -0.494594f, -0.847280f, -0.702624f, -0.171571f, 0.553333f, 0.801950f, 0.560626f, - -0.071445f, -0.623912f, -0.782793f, -0.390473f, 0.213570f, 0.698180f, 0.688426f, 0.203425f, -0.391493f, -0.711773f, -0.534531f, -0.009874f, 0.514367f, 0.683640f, 0.397707f, -0.158462f, -0.613228f, -0.650165f, -0.250501f, 0.313126f, 0.665665f, 0.565230f, 0.100249f, -0.424351f, -0.613182f, -0.605940f, -0.121612f, 0.438429f, 0.714441f, 0.472475f, -0.085594f, -0.591355f, -0.677742f, -0.304361f, 0.277793f, 0.670506f, 0.600885f, 0.111407f, -0.452561f, -0.697177f, -0.456348f, 0.074105f, 0.528714f, 0.616475f, 0.267734f, -0.257343f, -0.598948f, -0.539488f, -0.093337f, 0.455552f, 0.668938f, 0.441368f, -0.105273f, -0.561401f, -0.650789f, -0.285248f, 0.272664f, 0.653204f, 0.594723f, 0.152718f, -0.397975f, -0.501182f, -0.136747f, -0.047847f}, - {-0.007698f, -0.007490f, -0.007083f, -0.006489f, -0.005730f, -0.004832f, -0.003826f, -0.002746f, -0.001630f, -0.000515f, 0.000560f, 0.001561f, 0.002454f, 0.003210f, 0.003807f, 0.004225f, 0.004456f, 0.004495f, 0.004344f, 0.004015f, 0.003524f, 0.002893f, 0.002150f, 0.001327f, 0.000457f, -0.000424f, -0.001279f, -0.002075f, -0.002778f, -0.003360f, -0.003797f, -0.004070f, -0.004166f, -0.004079f, -0.003811f, -0.003367f, -0.002762f, -0.002015f, -0.001149f, -0.000193f, 0.000821f, 0.001862f, 0.002895f, 0.003887f, 0.004808f, 0.005630f, 0.006328f, 0.006883f, 0.007281f, 0.007514f, 0.007580f, 0.007483f, 0.007232f, 0.006843f, 0.006334f, 0.005728f, 0.005052f, 0.004333f, 0.003600f, 0.002879f, 0.002198f, 0.001579f, 0.001044f, 0.000609f, 0.000284f, 0.000076f, -0.000012f, 0.000014f, 0.000147f, 0.000373f, 0.000677f, 0.001039f, 0.001437f, 0.001850f, 0.002254f, 0.002628f, 0.002954f, 0.003214f, 0.003395f, 0.003487f, 0.873088f, 0.114402f, -0.664115f, -0.828857f, -0.404687f, 0.287627f, 0.776007f, 0.683901f, 0.183866f, -0.494594f, -0.847280f, -0.702624f, -0.171571f, 0.553333f, 0.801950f, 0.560626f, - -0.071445f, -0.623912f, -0.782793f, -0.390473f, 0.213570f, 0.698180f, 0.688426f, 0.203425f, -0.391493f, -0.711773f, -0.534531f, -0.009874f, 0.514367f, 0.683640f, 0.397707f, -0.158462f, -0.613228f, -0.650165f, -0.250501f, 0.313126f, 0.665665f, 0.565230f, 0.100249f, -0.424351f, -0.613182f, -0.605940f, -0.121612f, 0.438429f, 0.714441f, 0.472475f, -0.085594f, -0.591355f, -0.677742f, -0.304361f, 0.277793f, 0.670506f, 0.600885f, 0.111407f, -0.452561f, -0.697177f, -0.456348f, 0.074105f, 0.528714f, 0.616475f, 0.267734f, -0.257343f, -0.598948f, -0.539488f, -0.093337f, 0.455552f, 0.668938f, 0.441368f, -0.105273f, -0.561401f, -0.650789f, -0.285248f, 0.272664f, 0.653204f, 0.594723f, 0.152718f, -0.397975f, -0.501182f, -0.136747f, -0.047847f} - }, - { - {0.000979f, 0.000859f, 0.000628f, 0.000303f, -0.000093f, -0.000529f, -0.000968f, -0.001372f, -0.001699f, -0.001911f, -0.001967f, -0.001834f, -0.001483f, -0.000892f, -0.000050f, 0.001049f, 0.002396f, 0.003976f, 0.005761f, 0.007716f, 0.009796f, 0.011949f, 0.014118f, 0.016243f, 0.018261f, 0.020110f, 0.021733f, 0.023075f, 0.024089f, 0.024736f, 0.024990f, 0.024832f, 0.024257f, 0.023273f, 0.021899f, 0.020167f, 0.018118f, 0.015803f, 0.013282f, 0.010620f, 0.007886f, 0.005150f, 0.002483f, -0.000050f, -0.002385f, -0.004470f, -0.006257f, -0.007712f, -0.008809f, -0.009536f, -0.009892f, -0.009888f, -0.009546f, -0.008897f, -0.007982f, -0.006849f, -0.005551f, -0.004142f, -0.002679f, -0.001219f, 0.000187f, 0.001491f, 0.002652f, 0.003637f, 0.004422f, 0.004992f, 0.005341f, 0.005476f, 0.005408f, 0.005160f, 0.004761f, 0.004243f, 0.003646f, 0.003008f, 0.002371f, 0.001772f, 0.001246f, 0.000823f, 0.000528f, 0.000376f, 0.101304f, 0.339648f, 0.252777f, -0.393513f, -0.864314f, -0.541937f, 0.347878f, 0.907725f, 0.674223f, 0.029188f, -0.333092f, -0.699853f, -0.238588f, 0.263380f, 0.598306f, 0.464099f, - 0.107903f, -0.429695f, -0.591349f, -0.410488f, 0.074892f, 0.451542f, 0.601242f, 0.261686f, -0.273703f, -0.612053f, -0.496067f, -0.123218f, 0.373495f, 0.621420f, 0.456977f, 0.034825f, -0.488382f, -0.663918f, -0.417587f, 0.141872f, 0.609117f, 0.748454f, 0.312259f, -0.330994f, -0.816255f, -0.565065f, 0.018068f, 0.618044f, 0.795873f, 0.435300f, -0.250077f, -0.750399f, -0.726031f, -0.187310f, 0.429070f, 0.772695f, 0.575337f, 0.009608f, -0.605531f, -0.758946f, -0.427578f, 0.191705f, 0.625802f, 0.667829f, 0.214816f, -0.367542f, -0.715600f, -0.575407f, -0.066289f, 0.456607f, 0.808964f, 0.615571f, -0.008032f, -0.631988f, -0.815117f, -0.462997f, 0.234557f, 0.763803f, 0.807672f, 0.306931f, -0.408833f, -0.618503f, -0.218248f, -0.076060f}, - {-0.000979f, -0.000859f, -0.000628f, -0.000303f, 0.000093f, 0.000529f, 0.000968f, 0.001372f, 0.001699f, 0.001911f, 0.001967f, 0.001834f, 0.001483f, 0.000892f, 0.000050f, -0.001049f, -0.002396f, -0.003976f, -0.005761f, -0.007716f, -0.009796f, -0.011949f, -0.014118f, -0.016243f, -0.018261f, -0.020110f, -0.021733f, -0.023075f, -0.024089f, -0.024736f, -0.024990f, -0.024832f, -0.024257f, -0.023273f, -0.021899f, -0.020167f, -0.018118f, -0.015803f, -0.013282f, -0.010620f, -0.007886f, -0.005150f, -0.002483f, 0.000050f, 0.002385f, 0.004470f, 0.006257f, 0.007712f, 0.008809f, 0.009536f, 0.009892f, 0.009888f, 0.009546f, 0.008897f, 0.007982f, 0.006849f, 0.005551f, 0.004142f, 0.002679f, 0.001219f, -0.000187f, -0.001491f, -0.002652f, -0.003637f, -0.004422f, -0.004992f, -0.005341f, -0.005476f, -0.005408f, -0.005160f, -0.004761f, -0.004243f, -0.003646f, -0.003008f, -0.002371f, -0.001772f, -0.001246f, -0.000823f, -0.000528f, -0.000376f, -0.101304f, -0.339648f, -0.252777f, 0.393513f, 0.864314f, 0.541937f, -0.347878f, -0.907725f, -0.674223f, -0.029188f, 0.333092f, 0.699853f, 0.238588f, -0.263380f, -0.598306f, -0.464099f, - -0.107903f, 0.429695f, 0.591349f, 0.410488f, -0.074892f, -0.451542f, -0.601242f, -0.261686f, 0.273703f, 0.612053f, 0.496067f, 0.123218f, -0.373495f, -0.621420f, -0.456977f, -0.034825f, 0.488382f, 0.663918f, 0.417587f, -0.141872f, -0.609117f, -0.748454f, -0.312259f, 0.330994f, 0.816255f, 0.565065f, -0.018068f, -0.618044f, -0.795873f, -0.435300f, 0.250077f, 0.750399f, 0.726031f, 0.187310f, -0.429070f, -0.772695f, -0.575337f, -0.009608f, 0.605531f, 0.758946f, 0.427578f, -0.191705f, -0.625802f, -0.667829f, -0.214816f, 0.367542f, 0.715600f, 0.575407f, 0.066289f, -0.456607f, -0.808964f, -0.615571f, 0.008032f, 0.631988f, 0.815117f, 0.462997f, -0.234557f, -0.763803f, -0.807672f, -0.306931f, 0.408833f, 0.618503f, 0.218248f, 0.076060f} - }, - { - {0.062484f, 0.062132f, 0.061426f, 0.060364f, 0.058943f, 0.057161f, 0.055018f, 0.052514f, 0.049655f, 0.046449f, 0.042913f, 0.039069f, 0.034946f, 0.030583f, 0.026026f, 0.021329f, 0.016555f, 0.011772f, 0.007057f, 0.002488f, -0.001854f, -0.005886f, -0.009530f, -0.012711f, -0.015360f, -0.017419f, -0.018840f, -0.019589f, -0.019649f, -0.019014f, -0.017700f, -0.015738f, -0.013176f, -0.010076f, -0.006518f, -0.002592f, 0.001601f, 0.005953f, 0.010350f, 0.014679f, 0.018826f, 0.022686f, 0.026161f, 0.029164f, 0.031622f, 0.033479f, 0.034699f, 0.035260f, 0.035166f, 0.034435f, 0.033108f, 0.031239f, 0.028902f, 0.026180f, 0.023168f, 0.019967f, 0.016682f, 0.013417f, 0.010273f, 0.007344f, 0.004715f, 0.002454f, 0.000620f, -0.000749f, -0.001632f, -0.002024f, -0.001940f, -0.001411f, -0.000486f, 0.000776f, 0.002302f, 0.004012f, 0.005822f, 0.007645f, 0.009395f, 0.010992f, 0.012364f, 0.013450f, 0.014202f, 0.014586f, 0.022958f, -0.049893f, -0.209171f, -0.183077f, 0.073972f, 0.005048f, -0.168993f, -0.204974f, -0.247823f, -0.228010f, -0.107469f, 0.270264f, 0.121968f, 0.080084f, 0.213218f, -0.012303f, - -0.082492f, -0.141268f, -0.038249f, -0.032065f, 0.084166f, 0.151523f, 0.248608f, 0.071240f, -0.135437f, -0.187353f, 0.026434f, 0.160893f, 0.225170f, 0.119884f, -0.023092f, -0.225645f, -0.171771f, -0.058959f, 0.174948f, 0.239644f, 0.157424f, -0.083437f, -0.169510f, -0.176581f, 0.037238f, -0.197171f, -0.146337f, -0.004115f, 0.184486f, 0.191645f, 0.077263f, -0.126621f, -0.232975f, -0.206877f, 0.053405f, 0.249289f, 0.303806f, 0.143482f, -0.141705f, -0.396307f, -0.325906f, 0.013674f, 0.412100f, 0.513794f, 0.285338f, -0.184442f, -0.497306f, -0.491586f, -0.061807f, 0.391423f, 0.463816f, 0.126103f, -0.302822f, -0.488148f, -0.285776f, 0.108766f, 0.379058f, 0.389034f, 0.065148f, -0.245125f, -0.346104f, -0.137250f, 0.068615f, 0.025104f}, - {0.062484f, 0.062132f, 0.061426f, 0.060364f, 0.058943f, 0.057161f, 0.055018f, 0.052514f, 0.049655f, 0.046449f, 0.042913f, 0.039069f, 0.034946f, 0.030583f, 0.026026f, 0.021329f, 0.016555f, 0.011772f, 0.007057f, 0.002488f, -0.001854f, -0.005886f, -0.009530f, -0.012711f, -0.015360f, -0.017419f, -0.018840f, -0.019589f, -0.019649f, -0.019014f, -0.017700f, -0.015738f, -0.013176f, -0.010076f, -0.006518f, -0.002592f, 0.001601f, 0.005953f, 0.010350f, 0.014679f, 0.018826f, 0.022686f, 0.026161f, 0.029164f, 0.031622f, 0.033479f, 0.034699f, 0.035260f, 0.035166f, 0.034435f, 0.033108f, 0.031239f, 0.028902f, 0.026180f, 0.023168f, 0.019967f, 0.016682f, 0.013417f, 0.010273f, 0.007344f, 0.004715f, 0.002454f, 0.000620f, -0.000749f, -0.001632f, -0.002024f, -0.001940f, -0.001411f, -0.000486f, 0.000776f, 0.002302f, 0.004012f, 0.005822f, 0.007645f, 0.009395f, 0.010992f, 0.012364f, 0.013450f, 0.014202f, 0.014586f, 0.022958f, -0.049893f, -0.209171f, -0.183077f, 0.073972f, 0.005048f, -0.168993f, -0.204974f, -0.247823f, -0.228010f, -0.107469f, 0.270264f, 0.121968f, 0.080084f, 0.213218f, -0.012303f, - -0.082492f, -0.141268f, -0.038249f, -0.032065f, 0.084166f, 0.151523f, 0.248608f, 0.071240f, -0.135437f, -0.187353f, 0.026434f, 0.160893f, 0.225170f, 0.119884f, -0.023092f, -0.225645f, -0.171771f, -0.058959f, 0.174948f, 0.239644f, 0.157424f, -0.083437f, -0.169510f, -0.176581f, 0.037238f, -0.197171f, -0.146337f, -0.004115f, 0.184486f, 0.191645f, 0.077263f, -0.126621f, -0.232975f, -0.206877f, 0.053405f, 0.249289f, 0.303806f, 0.143482f, -0.141705f, -0.396307f, -0.325906f, 0.013674f, 0.412100f, 0.513794f, 0.285338f, -0.184442f, -0.497306f, -0.491586f, -0.061807f, 0.391423f, 0.463816f, 0.126103f, -0.302822f, -0.488148f, -0.285776f, 0.108766f, 0.379058f, 0.389034f, 0.065148f, -0.245125f, -0.346104f, -0.137250f, 0.068615f, 0.025104f} - }, - { - {0.057111f, 0.056250f, 0.054553f, 0.052067f, 0.048864f, 0.045033f, 0.040682f, 0.035931f, 0.030910f, 0.025755f, 0.020601f, 0.015580f, 0.010819f, 0.006430f, 0.002512f, -0.000855f, -0.003609f, -0.005712f, -0.007148f, -0.007921f, -0.008060f, -0.007613f, -0.006645f, -0.005236f, -0.003482f, -0.001483f, 0.000655f, 0.002823f, 0.004917f, 0.006840f, 0.008502f, 0.009830f, 0.010762f, 0.011256f, 0.011286f, 0.010845f, 0.009946f, 0.008617f, 0.006903f, 0.004863f, 0.002566f, 0.000091f, -0.002479f, -0.005057f, -0.007559f, -0.009903f, -0.012017f, -0.013836f, -0.015308f, -0.016394f, -0.017068f, -0.017319f, -0.017154f, -0.016589f, -0.015656f, -0.014398f, -0.012866f, -0.011118f, -0.009219f, -0.007232f, -0.005221f, -0.003248f, -0.001369f, 0.000369f, 0.001925f, 0.003271f, 0.004388f, 0.005268f, 0.005913f, 0.006336f, 0.006558f, 0.006608f, 0.006518f, 0.006326f, 0.006071f, 0.005790f, 0.005517f, 0.005284f, 0.005115f, 0.005026f, 0.050263f, 0.048416f, -0.032945f, -0.133132f, -0.051928f, 0.062074f, -0.065995f, -0.088821f, -0.087160f, -0.054059f, -0.271541f, 0.097281f, -0.267727f, -0.263532f, 0.129059f, 0.546682f, - 0.617193f, 0.273608f, -0.175130f, -0.532891f, -0.554510f, -0.046712f, 0.546091f, 0.739987f, 0.436759f, -0.182178f, -0.702202f, -0.782010f, -0.180699f, 0.531728f, 0.908302f, 0.573031f, -0.136258f, -0.738541f, -0.744864f, -0.232703f, 0.429545f, 0.758458f, 0.445898f, -0.113039f, -0.698934f, -0.284378f, 0.198267f, 0.552864f, 0.525436f, 0.168161f, -0.281458f, -0.510027f, -0.416623f, -0.034099f, 0.339007f, 0.440450f, 0.258996f, -0.071709f, -0.323488f, -0.348190f, -0.140564f, 0.105708f, 0.283677f, 0.270582f, 0.079276f, -0.147708f, -0.285929f, -0.206381f, -0.023550f, 0.103586f, 0.316081f, 0.237749f, 0.036797f, -0.218107f, -0.224030f, -0.070507f, 0.116657f, 0.182062f, 0.109038f, -0.045436f, -0.141025f, -0.044537f, 0.014158f, 0.007622f}, - {0.057111f, 0.056250f, 0.054553f, 0.052067f, 0.048864f, 0.045033f, 0.040682f, 0.035931f, 0.030910f, 0.025755f, 0.020601f, 0.015580f, 0.010819f, 0.006430f, 0.002512f, -0.000855f, -0.003609f, -0.005712f, -0.007148f, -0.007921f, -0.008060f, -0.007613f, -0.006645f, -0.005236f, -0.003482f, -0.001483f, 0.000655f, 0.002823f, 0.004917f, 0.006840f, 0.008502f, 0.009830f, 0.010762f, 0.011256f, 0.011286f, 0.010845f, 0.009946f, 0.008617f, 0.006903f, 0.004863f, 0.002566f, 0.000091f, -0.002479f, -0.005057f, -0.007559f, -0.009903f, -0.012017f, -0.013836f, -0.015308f, -0.016394f, -0.017068f, -0.017319f, -0.017154f, -0.016589f, -0.015656f, -0.014398f, -0.012866f, -0.011118f, -0.009219f, -0.007232f, -0.005221f, -0.003248f, -0.001369f, 0.000369f, 0.001925f, 0.003271f, 0.004388f, 0.005268f, 0.005913f, 0.006336f, 0.006558f, 0.006608f, 0.006518f, 0.006326f, 0.006071f, 0.005790f, 0.005517f, 0.005284f, 0.005115f, 0.005026f, 0.050263f, 0.048416f, -0.032945f, -0.133132f, -0.051928f, 0.062074f, -0.065995f, -0.088821f, -0.087160f, -0.054059f, -0.271541f, 0.097281f, -0.267727f, -0.263532f, 0.129059f, 0.546682f, - 0.617193f, 0.273608f, -0.175130f, -0.532891f, -0.554510f, -0.046712f, 0.546091f, 0.739987f, 0.436759f, -0.182178f, -0.702202f, -0.782010f, -0.180699f, 0.531728f, 0.908302f, 0.573031f, -0.136258f, -0.738541f, -0.744864f, -0.232703f, 0.429545f, 0.758458f, 0.445898f, -0.113039f, -0.698934f, -0.284378f, 0.198267f, 0.552864f, 0.525436f, 0.168161f, -0.281458f, -0.510027f, -0.416623f, -0.034099f, 0.339007f, 0.440450f, 0.258996f, -0.071709f, -0.323488f, -0.348190f, -0.140564f, 0.105708f, 0.283677f, 0.270582f, 0.079276f, -0.147708f, -0.285929f, -0.206381f, -0.023550f, 0.103586f, 0.316081f, 0.237749f, 0.036797f, -0.218107f, -0.224030f, -0.070507f, 0.116657f, 0.182062f, 0.109038f, -0.045436f, -0.141025f, -0.044537f, 0.014158f, 0.007622f} - }, - { - {0.041602f, 0.041394f, 0.040978f, 0.040354f, 0.039522f, 0.038480f, 0.037231f, 0.035778f, 0.034126f, 0.032282f, 0.030260f, 0.028074f, 0.025746f, 0.023299f, 0.020763f, 0.018173f, 0.015566f, 0.012983f, 0.010468f, 0.008068f, 0.005826f, 0.003789f, 0.001998f, 0.000491f, -0.000698f, -0.001545f, -0.002030f, -0.002144f, -0.001888f, -0.001272f, -0.000319f, 0.000942f, 0.002468f, 0.004209f, 0.006108f, 0.008100f, 0.010117f, 0.012086f, 0.013937f, 0.015600f, 0.017007f, 0.018100f, 0.018826f, 0.019144f, 0.019023f, 0.018444f, 0.017404f, 0.015911f, 0.013989f, 0.011673f, 0.009011f, 0.006063f, 0.002897f, -0.000411f, -0.003783f, -0.007135f, -0.010385f, -0.013456f, -0.016272f, -0.018768f, -0.020890f, -0.022592f, -0.023845f, -0.024631f, -0.024949f, -0.024813f, -0.024248f, -0.023296f, -0.022008f, -0.020448f, -0.018686f, -0.016797f, -0.014860f, -0.012953f, -0.011154f, -0.009534f, -0.008154f, -0.007071f, -0.006324f, -0.005944f, -0.009138f, -0.014208f, -0.012076f, -0.019963f, -0.085166f, -0.068669f, -0.075100f, 0.005656f, -0.068692f, -0.035429f, -0.114336f, 0.024991f, -0.100777f, -0.161590f, 0.089829f, 0.307021f, - 0.229967f, 0.193370f, -0.086257f, -0.256496f, -0.089551f, -0.069518f, 0.161084f, 0.143823f, 0.080564f, -0.108634f, -0.220026f, -0.183436f, 0.034413f, 0.217304f, 0.276501f, 0.149216f, -0.078653f, -0.378943f, -0.270365f, 0.111069f, 0.335609f, 0.322652f, 0.114550f, -0.213831f, -0.407765f, -0.119243f, 0.203755f, 0.360522f, 0.306272f, 0.030860f, -0.226497f, -0.290452f, -0.232556f, -0.083205f, 0.189825f, 0.256878f, 0.247384f, 0.006984f, -0.136156f, -0.288681f, -0.124020f, -0.012294f, 0.249563f, 0.283504f, 0.020125f, 0.007048f, -0.204243f, -0.263916f, -0.101428f, 0.189034f, 0.253534f, 0.124939f, -0.148221f, -0.315778f, -0.227382f, -0.002516f, 0.171087f, 0.305535f, 0.192294f, -0.067680f, -0.259825f, -0.171751f, 0.014589f, 0.007614f}, - {-0.041602f, -0.041394f, -0.040978f, -0.040354f, -0.039522f, -0.038480f, -0.037231f, -0.035778f, -0.034126f, -0.032282f, -0.030260f, -0.028074f, -0.025746f, -0.023299f, -0.020763f, -0.018173f, -0.015566f, -0.012983f, -0.010468f, -0.008068f, -0.005826f, -0.003789f, -0.001998f, -0.000491f, 0.000698f, 0.001545f, 0.002030f, 0.002144f, 0.001888f, 0.001272f, 0.000319f, -0.000942f, -0.002468f, -0.004209f, -0.006108f, -0.008100f, -0.010117f, -0.012086f, -0.013937f, -0.015600f, -0.017007f, -0.018100f, -0.018826f, -0.019144f, -0.019023f, -0.018444f, -0.017404f, -0.015911f, -0.013989f, -0.011673f, -0.009011f, -0.006063f, -0.002897f, 0.000411f, 0.003783f, 0.007135f, 0.010385f, 0.013456f, 0.016272f, 0.018768f, 0.020890f, 0.022592f, 0.023845f, 0.024631f, 0.024949f, 0.024813f, 0.024248f, 0.023296f, 0.022008f, 0.020448f, 0.018686f, 0.016797f, 0.014860f, 0.012953f, 0.011154f, 0.009534f, 0.008154f, 0.007071f, 0.006324f, 0.005944f, 0.009138f, 0.014208f, 0.012076f, 0.019963f, 0.085166f, 0.068669f, 0.075100f, -0.005656f, 0.068692f, 0.035429f, 0.114336f, -0.024991f, 0.100777f, 0.161590f, -0.089829f, -0.307021f, - -0.229967f, -0.193370f, 0.086257f, 0.256496f, 0.089551f, 0.069518f, -0.161084f, -0.143823f, -0.080564f, 0.108634f, 0.220026f, 0.183436f, -0.034413f, -0.217304f, -0.276501f, -0.149216f, 0.078653f, 0.378943f, 0.270365f, -0.111069f, -0.335609f, -0.322652f, -0.114550f, 0.213831f, 0.407765f, 0.119243f, -0.203755f, -0.360522f, -0.306272f, -0.030860f, 0.226497f, 0.290452f, 0.232556f, 0.083205f, -0.189825f, -0.256878f, -0.247384f, -0.006984f, 0.136156f, 0.288681f, 0.124020f, 0.012294f, -0.249563f, -0.283504f, -0.020125f, -0.007048f, 0.204243f, 0.263916f, 0.101428f, -0.189034f, -0.253534f, -0.124939f, 0.148221f, 0.315778f, 0.227382f, 0.002516f, -0.171087f, -0.305535f, -0.192294f, 0.067680f, 0.259825f, 0.171751f, -0.014589f, -0.007614f} - }, - { - {0.030389f, 0.030416f, 0.030464f, 0.030522f, 0.030576f, 0.030605f, 0.030589f, 0.030503f, 0.030321f, 0.030021f, 0.029580f, 0.028978f, 0.028201f, 0.027239f, 0.026088f, 0.024750f, 0.023236f, 0.021562f, 0.019750f, 0.017829f, 0.015834f, 0.013803f, 0.011776f, 0.009798f, 0.007909f, 0.006153f, 0.004567f, 0.003185f, 0.002036f, 0.001142f, 0.000515f, 0.000162f, 0.000080f, 0.000257f, 0.000673f, 0.001300f, 0.002104f, 0.003045f, 0.004077f, 0.005154f, 0.006229f, 0.007252f, 0.008179f, 0.008970f, 0.009587f, 0.010003f, 0.010196f, 0.010154f, 0.009874f, 0.009362f, 0.008633f, 0.007711f, 0.006626f, 0.005417f, 0.004125f, 0.002798f, 0.001483f, 0.000229f, -0.000919f, -0.001917f, -0.002728f, -0.003322f, -0.003675f, -0.003772f, -0.003608f, -0.003188f, -0.002524f, -0.001640f, -0.000566f, 0.000660f, 0.001995f, 0.003391f, 0.004799f, 0.006169f, 0.007450f, 0.008597f, 0.009568f, 0.010329f, 0.010852f, 0.011119f, -0.032862f, -0.047478f, -0.028036f, -0.016979f, -0.082054f, -0.040865f, -0.045119f, -0.101997f, -0.274631f, -0.111485f, 0.009384f, 0.201284f, -0.126425f, -0.213759f, 0.129081f, 0.239129f, - 0.174454f, 0.076294f, -0.048163f, -0.188243f, -0.041938f, -0.052883f, 0.134924f, 0.108941f, 0.070416f, -0.078420f, 0.043823f, -0.025724f, 0.049083f, -0.061473f, -0.073646f, 0.045482f, 0.113120f, 0.163148f, 0.106488f, -0.007573f, -0.127571f, -0.119581f, -0.039101f, 0.055057f, 0.127006f, 0.087586f, 0.054887f, 0.039371f, -0.051924f, -0.024746f, -0.032908f, 0.016118f, 0.011892f, -0.054182f, 0.036623f, 0.037604f, 0.048414f, 0.003800f, -0.051998f, -0.113977f, -0.051239f, 0.074915f, 0.215380f, 0.143978f, 0.034595f, -0.095172f, -0.197864f, -0.153315f, 0.015408f, 0.123852f, 0.173705f, 0.009635f, -0.142381f, -0.191574f, -0.001107f, 0.184099f, 0.244045f, 0.049760f, -0.219899f, -0.332838f, -0.161023f, 0.133641f, 0.124055f, 0.045424f}, - {-0.030389f, -0.030416f, -0.030464f, -0.030522f, -0.030576f, -0.030605f, -0.030589f, -0.030503f, -0.030321f, -0.030021f, -0.029580f, -0.028978f, -0.028201f, -0.027239f, -0.026088f, -0.024750f, -0.023236f, -0.021562f, -0.019750f, -0.017829f, -0.015834f, -0.013803f, -0.011776f, -0.009798f, -0.007909f, -0.006153f, -0.004567f, -0.003185f, -0.002036f, -0.001142f, -0.000515f, -0.000162f, -0.000080f, -0.000257f, -0.000673f, -0.001300f, -0.002104f, -0.003045f, -0.004077f, -0.005154f, -0.006229f, -0.007252f, -0.008179f, -0.008970f, -0.009587f, -0.010003f, -0.010196f, -0.010154f, -0.009874f, -0.009362f, -0.008633f, -0.007711f, -0.006626f, -0.005417f, -0.004125f, -0.002798f, -0.001483f, -0.000229f, 0.000919f, 0.001917f, 0.002728f, 0.003322f, 0.003675f, 0.003772f, 0.003608f, 0.003188f, 0.002524f, 0.001640f, 0.000566f, -0.000660f, -0.001995f, -0.003391f, -0.004799f, -0.006169f, -0.007450f, -0.008597f, -0.009568f, -0.010329f, -0.010852f, -0.011119f, 0.032862f, 0.047478f, 0.028036f, 0.016979f, 0.082054f, 0.040865f, 0.045119f, 0.101997f, 0.274631f, 0.111485f, -0.009384f, -0.201284f, 0.126425f, 0.213759f, -0.129081f, -0.239129f, - -0.174454f, -0.076294f, 0.048163f, 0.188243f, 0.041938f, 0.052883f, -0.134924f, -0.108941f, -0.070416f, 0.078420f, -0.043823f, 0.025724f, -0.049083f, 0.061473f, 0.073646f, -0.045482f, -0.113120f, -0.163148f, -0.106488f, 0.007573f, 0.127571f, 0.119581f, 0.039101f, -0.055057f, -0.127006f, -0.087586f, -0.054887f, -0.039371f, 0.051924f, 0.024746f, 0.032908f, -0.016118f, -0.011892f, 0.054182f, -0.036623f, -0.037604f, -0.048414f, -0.003800f, 0.051998f, 0.113977f, 0.051239f, -0.074915f, -0.215380f, -0.143978f, -0.034595f, 0.095172f, 0.197864f, 0.153315f, -0.015408f, -0.123852f, -0.173705f, -0.009635f, 0.142381f, 0.191574f, 0.001107f, -0.184099f, -0.244045f, -0.049760f, 0.219899f, 0.332838f, 0.161023f, -0.133641f, -0.124055f, -0.045424f} - }, - { - {0.023099f, 0.023530f, 0.024370f, 0.025577f, 0.027089f, 0.028829f, 0.030707f, 0.032622f, 0.034469f, 0.036142f, 0.037540f, 0.038568f, 0.039146f, 0.039207f, 0.038706f, 0.037618f, 0.035941f, 0.033696f, 0.030927f, 0.027701f, 0.024104f, 0.020238f, 0.016218f, 0.012169f, 0.008218f, 0.004495f, 0.001120f, -0.001794f, -0.004149f, -0.005867f, -0.006891f, -0.007188f, -0.006750f, -0.005597f, -0.003775f, -0.001352f, 0.001577f, 0.004902f, 0.008495f, 0.012218f, 0.015926f, 0.019473f, 0.022718f, 0.025528f, 0.027784f, 0.029386f, 0.030256f, 0.030338f, 0.029605f, 0.028057f, 0.025720f, 0.022647f, 0.018917f, 0.014627f, 0.009896f, 0.004852f, -0.000365f, -0.005613f, -0.010750f, -0.015640f, -0.020162f, -0.024206f, -0.027684f, -0.030528f, -0.032697f, -0.034173f, -0.034963f, -0.035103f, -0.034646f, -0.033669f, -0.032266f, -0.030541f, -0.028610f, -0.026591f, -0.024599f, -0.022746f, -0.021131f, -0.019841f, -0.018942f, -0.018481f, -0.062673f, -0.091999f, -0.073281f, 0.069704f, -0.009475f, -0.099943f, -0.109490f, -0.147892f, -0.248842f, -0.178530f, -0.035184f, 0.057875f, -0.137067f, -0.217779f, 0.034105f, -0.064091f, - -0.031441f, 0.068585f, 0.197166f, 0.101594f, -0.063679f, 0.004375f, -0.071916f, -0.096329f, -0.036429f, 0.098331f, 0.374637f, 0.252218f, 0.089028f, -0.043957f, -0.174179f, -0.131210f, -0.136302f, 0.295429f, 0.450436f, 0.237787f, -0.128220f, -0.279436f, -0.350015f, -0.078461f, 0.362708f, 0.168562f, 0.174039f, -0.032901f, -0.170182f, -0.097249f, 0.222931f, 0.428182f, 0.231161f, -0.343587f, -0.481664f, -0.424163f, 0.047567f, 0.398863f, 0.562194f, 0.255677f, -0.070235f, -0.423328f, -0.236512f, -0.018858f, -0.045838f, 0.339990f, 0.153464f, -0.135925f, -0.139416f, 0.214827f, -0.117956f, -0.258660f, -0.373100f, -0.158343f, -0.010260f, 0.154267f, 0.108609f, 0.161556f, 0.051308f, -0.039987f, -0.098993f, -0.159335f, -0.044951f, -0.017591f}, - {0.023099f, 0.023530f, 0.024370f, 0.025577f, 0.027089f, 0.028829f, 0.030707f, 0.032622f, 0.034469f, 0.036142f, 0.037540f, 0.038568f, 0.039146f, 0.039207f, 0.038706f, 0.037618f, 0.035941f, 0.033696f, 0.030927f, 0.027701f, 0.024104f, 0.020238f, 0.016218f, 0.012169f, 0.008218f, 0.004495f, 0.001120f, -0.001794f, -0.004149f, -0.005867f, -0.006891f, -0.007188f, -0.006750f, -0.005597f, -0.003775f, -0.001352f, 0.001577f, 0.004902f, 0.008495f, 0.012218f, 0.015926f, 0.019473f, 0.022718f, 0.025528f, 0.027784f, 0.029386f, 0.030256f, 0.030338f, 0.029605f, 0.028057f, 0.025720f, 0.022647f, 0.018917f, 0.014627f, 0.009896f, 0.004852f, -0.000365f, -0.005613f, -0.010750f, -0.015640f, -0.020162f, -0.024206f, -0.027684f, -0.030528f, -0.032697f, -0.034173f, -0.034963f, -0.035103f, -0.034646f, -0.033669f, -0.032266f, -0.030541f, -0.028610f, -0.026591f, -0.024599f, -0.022746f, -0.021131f, -0.019841f, -0.018942f, -0.018481f, -0.062673f, -0.091999f, -0.073281f, 0.069704f, -0.009475f, -0.099943f, -0.109490f, -0.147892f, -0.248842f, -0.178530f, -0.035184f, 0.057875f, -0.137067f, -0.217779f, 0.034105f, -0.064091f, - -0.031441f, 0.068585f, 0.197166f, 0.101594f, -0.063679f, 0.004375f, -0.071916f, -0.096329f, -0.036429f, 0.098331f, 0.374637f, 0.252218f, 0.089028f, -0.043957f, -0.174179f, -0.131210f, -0.136302f, 0.295429f, 0.450436f, 0.237787f, -0.128220f, -0.279436f, -0.350015f, -0.078461f, 0.362708f, 0.168562f, 0.174039f, -0.032901f, -0.170182f, -0.097249f, 0.222931f, 0.428182f, 0.231161f, -0.343587f, -0.481664f, -0.424163f, 0.047567f, 0.398863f, 0.562194f, 0.255677f, -0.070235f, -0.423328f, -0.236512f, -0.018858f, -0.045838f, 0.339990f, 0.153464f, -0.135925f, -0.139416f, 0.214827f, -0.117956f, -0.258660f, -0.373100f, -0.158343f, -0.010260f, 0.154267f, 0.108609f, 0.161556f, 0.051308f, -0.039987f, -0.098993f, -0.159335f, -0.044951f, -0.017591f} - }, - { - {0.054691f, 0.053876f, 0.052270f, 0.049925f, 0.046914f, 0.043330f, 0.039284f, 0.034900f, 0.030310f, 0.025651f, 0.021061f, 0.016669f, 0.012598f, 0.008954f, 0.005830f, 0.003295f, 0.001396f, 0.000158f, -0.000418f, -0.000357f, 0.000297f, 0.001475f, 0.003097f, 0.005063f, 0.007266f, 0.009593f, 0.011929f, 0.014162f, 0.016187f, 0.017911f, 0.019255f, 0.020157f, 0.020575f, 0.020488f, 0.019896f, 0.018820f, 0.017302f, 0.015401f, 0.013194f, 0.010768f, 0.008221f, 0.005655f, 0.003174f, 0.000878f, -0.001139f, -0.002793f, -0.004014f, -0.004750f, -0.004964f, -0.004641f, -0.003785f, -0.002420f, -0.000589f, 0.001650f, 0.004224f, 0.007046f, 0.010023f, 0.013059f, 0.016054f, 0.018914f, 0.021549f, 0.023883f, 0.025849f, 0.027397f, 0.028495f, 0.029128f, 0.029299f, 0.029030f, 0.028360f, 0.027343f, 0.026044f, 0.024540f, 0.022913f, 0.021249f, 0.019632f, 0.018143f, 0.016856f, 0.015832f, 0.015121f, 0.014756f, -0.015374f, -0.089788f, -0.105645f, 0.033011f, 0.005709f, -0.014866f, -0.340692f, -0.200927f, -0.199203f, -0.256675f, -0.051222f, 0.153406f, 0.187770f, 0.030644f, 0.047679f, 0.023308f, - 0.122841f, -0.055274f, 0.032513f, 0.042757f, 0.007501f, 0.028536f, 0.000722f, -0.001765f, 0.006102f, -0.011380f, -0.029264f, 0.014743f, 0.001064f, -0.057539f, -0.075456f, -0.033885f, 0.003103f, -0.009218f, -0.048717f, -0.009685f, 0.050417f, 0.159080f, 0.013605f, -0.055453f, -0.216146f, 0.020459f, 0.166808f, 0.195538f, 0.142197f, -0.082820f, -0.240570f, -0.224463f, -0.113294f, 0.099404f, 0.210380f, 0.201281f, 0.016103f, -0.164977f, -0.241489f, -0.153995f, -0.011674f, 0.169760f, 0.143349f, 0.060626f, 0.075250f, -0.226318f, -0.185383f, 0.004166f, 0.078487f, -0.077596f, 0.307982f, 0.375011f, 0.325637f, -0.048462f, -0.304667f, -0.323737f, 0.025128f, 0.258415f, 0.288636f, 0.095959f, -0.193941f, -0.184479f, -0.080809f, -0.026990f}, - {0.054691f, 0.053876f, 0.052270f, 0.049925f, 0.046914f, 0.043330f, 0.039284f, 0.034900f, 0.030310f, 0.025651f, 0.021061f, 0.016669f, 0.012598f, 0.008954f, 0.005830f, 0.003295f, 0.001396f, 0.000158f, -0.000418f, -0.000357f, 0.000297f, 0.001475f, 0.003097f, 0.005063f, 0.007266f, 0.009593f, 0.011929f, 0.014162f, 0.016187f, 0.017911f, 0.019255f, 0.020157f, 0.020575f, 0.020488f, 0.019896f, 0.018820f, 0.017302f, 0.015401f, 0.013194f, 0.010768f, 0.008221f, 0.005655f, 0.003174f, 0.000878f, -0.001139f, -0.002793f, -0.004014f, -0.004750f, -0.004964f, -0.004641f, -0.003785f, -0.002420f, -0.000589f, 0.001650f, 0.004224f, 0.007046f, 0.010023f, 0.013059f, 0.016054f, 0.018914f, 0.021549f, 0.023883f, 0.025849f, 0.027397f, 0.028495f, 0.029128f, 0.029299f, 0.029030f, 0.028360f, 0.027343f, 0.026044f, 0.024540f, 0.022913f, 0.021249f, 0.019632f, 0.018143f, 0.016856f, 0.015832f, 0.015121f, 0.014756f, -0.015374f, -0.089788f, -0.105645f, 0.033011f, 0.005709f, -0.014866f, -0.340692f, -0.200927f, -0.199203f, -0.256675f, -0.051222f, 0.153406f, 0.187770f, 0.030644f, 0.047679f, 0.023308f, - 0.122841f, -0.055274f, 0.032513f, 0.042757f, 0.007501f, 0.028536f, 0.000722f, -0.001765f, 0.006102f, -0.011380f, -0.029264f, 0.014743f, 0.001064f, -0.057539f, -0.075456f, -0.033885f, 0.003103f, -0.009218f, -0.048717f, -0.009685f, 0.050417f, 0.159080f, 0.013605f, -0.055453f, -0.216146f, 0.020459f, 0.166808f, 0.195538f, 0.142197f, -0.082820f, -0.240570f, -0.224463f, -0.113294f, 0.099404f, 0.210380f, 0.201281f, 0.016103f, -0.164977f, -0.241489f, -0.153995f, -0.011674f, 0.169760f, 0.143349f, 0.060626f, 0.075250f, -0.226318f, -0.185383f, 0.004166f, 0.078487f, -0.077596f, 0.307982f, 0.375011f, 0.325637f, -0.048462f, -0.304667f, -0.323737f, 0.025128f, 0.258415f, 0.288636f, 0.095959f, -0.193941f, -0.184479f, -0.080809f, -0.026990f} - }, - { - {0.021533f, 0.020944f, 0.019781f, 0.018078f, 0.015881f, 0.013252f, 0.010263f, 0.006997f, 0.003545f, 0.000002f, -0.003535f, -0.006968f, -0.010202f, -0.013148f, -0.015726f, -0.017864f, -0.019504f, -0.020599f, -0.021119f, -0.021047f, -0.020383f, -0.019141f, -0.017351f, -0.015054f, -0.012307f, -0.009174f, -0.005728f, -0.002052f, 0.001771f, 0.005653f, 0.009509f, 0.013254f, 0.016809f, 0.020102f, 0.023067f, 0.025651f, 0.027810f, 0.029509f, 0.030730f, 0.031463f, 0.031710f, 0.031486f, 0.030816f, 0.029732f, 0.028278f, 0.026500f, 0.024452f, 0.022192f, 0.019777f, 0.017267f, 0.014720f, 0.012191f, 0.009732f, 0.007390f, 0.005205f, 0.003213f, 0.001442f, -0.000087f, -0.001360f, -0.002371f, -0.003117f, -0.003606f, -0.003849f, -0.003862f, -0.003667f, -0.003286f, -0.002748f, -0.002081f, -0.001316f, -0.000483f, 0.000388f, 0.001267f, 0.002127f, 0.002940f, 0.003683f, 0.004336f, 0.004881f, 0.005302f, 0.005589f, 0.005735f, -0.013971f, 0.039564f, -0.009130f, -0.048006f, -0.014996f, 0.010247f, 0.016980f, 0.126968f, 0.199644f, 0.248065f, -0.052099f, -0.165961f, -0.248606f, -0.100058f, 0.103896f, 0.332845f, - 0.191755f, 0.075132f, -0.098877f, -0.080432f, -0.049208f, 0.050792f, -0.016211f, -0.046062f, -0.035703f, -0.020113f, 0.023951f, 0.127544f, 0.108258f, 0.140546f, -0.067622f, -0.193057f, -0.187311f, -0.060823f, 0.133812f, 0.272375f, 0.166661f, -0.027833f, -0.221854f, -0.175482f, 0.051480f, 0.015371f, 0.042700f, 0.025158f, 0.011325f, -0.045641f, -0.074621f, 0.081967f, 0.082721f, -0.085767f, -0.093004f, -0.103701f, -0.043105f, 0.030138f, 0.141188f, 0.103375f, 0.060473f, -0.055064f, -0.068653f, -0.095392f, -0.031089f, 0.096306f, 0.162914f, 0.102703f, 0.008155f, -0.107921f, -0.230563f, -0.245539f, -0.045950f, 0.178590f, 0.271838f, 0.274633f, 0.152049f, -0.099951f, -0.353791f, -0.344662f, -0.124481f, 0.130436f, 0.105403f, 0.035328f}, - {0.021533f, 0.020944f, 0.019781f, 0.018078f, 0.015881f, 0.013252f, 0.010263f, 0.006997f, 0.003545f, 0.000002f, -0.003535f, -0.006968f, -0.010202f, -0.013148f, -0.015726f, -0.017864f, -0.019504f, -0.020599f, -0.021119f, -0.021047f, -0.020383f, -0.019141f, -0.017351f, -0.015054f, -0.012307f, -0.009174f, -0.005728f, -0.002052f, 0.001771f, 0.005653f, 0.009509f, 0.013254f, 0.016809f, 0.020102f, 0.023067f, 0.025651f, 0.027810f, 0.029509f, 0.030730f, 0.031463f, 0.031710f, 0.031486f, 0.030816f, 0.029732f, 0.028278f, 0.026500f, 0.024452f, 0.022192f, 0.019777f, 0.017267f, 0.014720f, 0.012191f, 0.009732f, 0.007390f, 0.005205f, 0.003213f, 0.001442f, -0.000087f, -0.001360f, -0.002371f, -0.003117f, -0.003606f, -0.003849f, -0.003862f, -0.003667f, -0.003286f, -0.002748f, -0.002081f, -0.001316f, -0.000483f, 0.000388f, 0.001267f, 0.002127f, 0.002940f, 0.003683f, 0.004336f, 0.004881f, 0.005302f, 0.005589f, 0.005735f, -0.013971f, 0.039564f, -0.009130f, -0.048006f, -0.014996f, 0.010247f, 0.016980f, 0.126968f, 0.199644f, 0.248065f, -0.052099f, -0.165961f, -0.248606f, -0.100058f, 0.103896f, 0.332845f, - 0.191755f, 0.075132f, -0.098877f, -0.080432f, -0.049208f, 0.050792f, -0.016211f, -0.046062f, -0.035703f, -0.020113f, 0.023951f, 0.127544f, 0.108258f, 0.140546f, -0.067622f, -0.193057f, -0.187311f, -0.060823f, 0.133812f, 0.272375f, 0.166661f, -0.027833f, -0.221854f, -0.175482f, 0.051480f, 0.015371f, 0.042700f, 0.025158f, 0.011325f, -0.045641f, -0.074621f, 0.081967f, 0.082721f, -0.085767f, -0.093004f, -0.103701f, -0.043105f, 0.030138f, 0.141188f, 0.103375f, 0.060473f, -0.055064f, -0.068653f, -0.095392f, -0.031089f, 0.096306f, 0.162914f, 0.102703f, 0.008155f, -0.107921f, -0.230563f, -0.245539f, -0.045950f, 0.178590f, 0.271838f, 0.274633f, 0.152049f, -0.099951f, -0.353791f, -0.344662f, -0.124481f, 0.130436f, 0.105403f, 0.035328f} - }, - { - {0.006034f, 0.005898f, 0.005630f, 0.005234f, 0.004718f, 0.004092f, 0.003369f, 0.002564f, 0.001693f, 0.000774f, -0.000172f, -0.001126f, -0.002064f, -0.002966f, -0.003810f, -0.004574f, -0.005239f, -0.005786f, -0.006198f, -0.006462f, -0.006568f, -0.006509f, -0.006281f, -0.005886f, -0.005329f, -0.004620f, -0.003775f, -0.002811f, -0.001754f, -0.000629f, 0.000533f, 0.001699f, 0.002833f, 0.003900f, 0.004862f, 0.005685f, 0.006333f, 0.006776f, 0.006986f, 0.006938f, 0.006615f, 0.006005f, 0.005102f, 0.003908f, 0.002430f, 0.000685f, -0.001305f, -0.003512f, -0.005899f, -0.008426f, -0.011049f, -0.013719f, -0.016387f, -0.019002f, -0.021513f, -0.023872f, -0.026034f, -0.027958f, -0.029610f, -0.030961f, -0.031991f, -0.032686f, -0.033043f, -0.033065f, -0.032768f, -0.032170f, -0.031303f, -0.030202f, -0.028910f, -0.027472f, -0.025940f, -0.024365f, -0.022801f, -0.021298f, -0.019907f, -0.018671f, -0.017632f, -0.016821f, -0.016267f, -0.015985f, -0.007218f, -0.007566f, -0.009460f, 0.001637f, -0.011333f, 0.010080f, 0.038148f, 0.046788f, -0.002158f, -0.058626f, -0.008716f, 0.080009f, 0.166461f, 0.130407f, -0.065540f, -0.226461f, - -0.117046f, -0.107922f, 0.050639f, 0.030209f, 0.014323f, 0.071197f, 0.123332f, -0.050839f, -0.130673f, -0.054935f, -0.035316f, 0.042057f, 0.122348f, 0.059493f, 0.081780f, 0.026216f, -0.105960f, -0.091869f, 0.012077f, 0.129733f, 0.114245f, -0.014831f, -0.074909f, -0.127461f, 0.000742f, 0.127348f, 0.119691f, 0.053906f, -0.029906f, -0.128471f, -0.097463f, -0.014842f, 0.019096f, 0.041287f, 0.049061f, 0.036122f, 0.073673f, 0.007047f, -0.005184f, -0.032054f, -0.002638f, -0.049137f, 0.072268f, 0.121937f, -0.026202f, 0.101295f, -0.011372f, -0.159853f, -0.035704f, 0.085567f, -0.008444f, -0.106689f, -0.112697f, -0.060874f, 0.034895f, 0.105899f, 0.107430f, 0.054834f, -0.097858f, -0.169880f, -0.041617f, 0.114684f, 0.055230f, 0.021408f}, - {-0.006034f, -0.005898f, -0.005630f, -0.005234f, -0.004718f, -0.004092f, -0.003369f, -0.002564f, -0.001693f, -0.000774f, 0.000172f, 0.001126f, 0.002064f, 0.002966f, 0.003810f, 0.004574f, 0.005239f, 0.005786f, 0.006198f, 0.006462f, 0.006568f, 0.006509f, 0.006281f, 0.005886f, 0.005329f, 0.004620f, 0.003775f, 0.002811f, 0.001754f, 0.000629f, -0.000533f, -0.001699f, -0.002833f, -0.003900f, -0.004862f, -0.005685f, -0.006333f, -0.006776f, -0.006986f, -0.006938f, -0.006615f, -0.006005f, -0.005102f, -0.003908f, -0.002430f, -0.000685f, 0.001305f, 0.003512f, 0.005899f, 0.008426f, 0.011049f, 0.013719f, 0.016387f, 0.019002f, 0.021513f, 0.023872f, 0.026034f, 0.027958f, 0.029610f, 0.030961f, 0.031991f, 0.032686f, 0.033043f, 0.033065f, 0.032768f, 0.032170f, 0.031303f, 0.030202f, 0.028910f, 0.027472f, 0.025940f, 0.024365f, 0.022801f, 0.021298f, 0.019907f, 0.018671f, 0.017632f, 0.016821f, 0.016267f, 0.015985f, 0.007218f, 0.007566f, 0.009460f, -0.001637f, 0.011333f, -0.010080f, -0.038148f, -0.046788f, 0.002158f, 0.058626f, 0.008716f, -0.080009f, -0.166461f, -0.130407f, 0.065540f, 0.226461f, - 0.117046f, 0.107922f, -0.050639f, -0.030209f, -0.014323f, -0.071197f, -0.123332f, 0.050839f, 0.130673f, 0.054935f, 0.035316f, -0.042057f, -0.122348f, -0.059493f, -0.081780f, -0.026216f, 0.105960f, 0.091869f, -0.012077f, -0.129733f, -0.114245f, 0.014831f, 0.074909f, 0.127461f, -0.000742f, -0.127348f, -0.119691f, -0.053906f, 0.029906f, 0.128471f, 0.097463f, 0.014842f, -0.019096f, -0.041287f, -0.049061f, -0.036122f, -0.073673f, -0.007047f, 0.005184f, 0.032054f, 0.002638f, 0.049137f, -0.072268f, -0.121937f, 0.026202f, -0.101295f, 0.011372f, 0.159853f, 0.035704f, -0.085567f, 0.008444f, 0.106689f, 0.112697f, 0.060874f, -0.034895f, -0.105899f, -0.107430f, -0.054834f, 0.097858f, 0.169880f, 0.041617f, -0.114684f, -0.055230f, -0.021408f} - }, - { - {0.010863f, 0.011200f, 0.011864f, 0.012832f, 0.014071f, 0.015541f, 0.017191f, 0.018966f, 0.020807f, 0.022651f, 0.024437f, 0.026104f, 0.027595f, 0.028860f, 0.029854f, 0.030542f, 0.030898f, 0.030907f, 0.030563f, 0.029873f, 0.028853f, 0.027528f, 0.025934f, 0.024111f, 0.022107f, 0.019975f, 0.017769f, 0.015543f, 0.013353f, 0.011248f, 0.009277f, 0.007480f, 0.005891f, 0.004538f, 0.003438f, 0.002603f, 0.002033f, 0.001724f, 0.001661f, 0.001826f, 0.002194f, 0.002735f, 0.003419f, 0.004213f, 0.005084f, 0.006003f, 0.006940f, 0.007871f, 0.008778f, 0.009645f, 0.010463f, 0.011230f, 0.011947f, 0.012622f, 0.013268f, 0.013899f, 0.014533f, 0.015191f, 0.015893f, 0.016657f, 0.017502f, 0.018441f, 0.019485f, 0.020639f, 0.021904f, 0.023275f, 0.024740f, 0.026284f, 0.027885f, 0.029517f, 0.031150f, 0.032753f, 0.034291f, 0.035730f, 0.037036f, 0.038179f, 0.039130f, 0.039865f, 0.040366f, 0.040620f, -0.022267f, 0.018161f, 0.010400f, -0.010091f, -0.020353f, -0.000646f, -0.031444f, -0.036280f, -0.201290f, -0.237245f, 0.004557f, 0.078100f, -0.004496f, -0.023904f, 0.027379f, -0.017484f, - -0.058772f, 0.014702f, 0.041136f, -0.001496f, 0.085314f, -0.050852f, -0.015205f, -0.042559f, -0.016824f, 0.053952f, 0.048029f, 0.118676f, -0.063098f, -0.051219f, -0.033491f, 0.031069f, -0.000121f, -0.048264f, -0.047918f, -0.020772f, -0.033309f, 0.072396f, 0.043293f, -0.027935f, -0.046999f, -0.043709f, 0.022435f, 0.077296f, 0.069198f, -0.003554f, -0.109988f, -0.068384f, -0.066551f, -0.082551f, -0.011608f, 0.078097f, 0.068922f, -0.016644f, -0.091435f, -0.094576f, -0.065306f, 0.069282f, 0.094273f, 0.065165f, 0.043257f, -0.172358f, -0.161959f, -0.011422f, 0.036877f, 0.005049f, 0.234653f, 0.090119f, 0.024315f, -0.083867f, -0.067721f, 0.052087f, 0.186407f, 0.212440f, 0.036082f, -0.103702f, -0.109180f, -0.194275f, -0.062967f, -0.034265f}, - {-0.010863f, -0.011200f, -0.011864f, -0.012832f, -0.014071f, -0.015541f, -0.017191f, -0.018966f, -0.020807f, -0.022651f, -0.024437f, -0.026104f, -0.027595f, -0.028860f, -0.029854f, -0.030542f, -0.030898f, -0.030907f, -0.030563f, -0.029873f, -0.028853f, -0.027528f, -0.025934f, -0.024111f, -0.022107f, -0.019975f, -0.017769f, -0.015543f, -0.013353f, -0.011248f, -0.009277f, -0.007480f, -0.005891f, -0.004538f, -0.003438f, -0.002603f, -0.002033f, -0.001724f, -0.001661f, -0.001826f, -0.002194f, -0.002735f, -0.003419f, -0.004213f, -0.005084f, -0.006003f, -0.006940f, -0.007871f, -0.008778f, -0.009645f, -0.010463f, -0.011230f, -0.011947f, -0.012622f, -0.013268f, -0.013899f, -0.014533f, -0.015191f, -0.015893f, -0.016657f, -0.017502f, -0.018441f, -0.019485f, -0.020639f, -0.021904f, -0.023275f, -0.024740f, -0.026284f, -0.027885f, -0.029517f, -0.031150f, -0.032753f, -0.034291f, -0.035730f, -0.037036f, -0.038179f, -0.039130f, -0.039865f, -0.040366f, -0.040620f, 0.022267f, -0.018161f, -0.010400f, 0.010091f, 0.020353f, 0.000646f, 0.031444f, 0.036280f, 0.201290f, 0.237245f, -0.004557f, -0.078100f, 0.004496f, 0.023904f, -0.027379f, 0.017484f, - 0.058772f, -0.014702f, -0.041136f, 0.001496f, -0.085314f, 0.050852f, 0.015205f, 0.042559f, 0.016824f, -0.053952f, -0.048029f, -0.118676f, 0.063098f, 0.051219f, 0.033491f, -0.031069f, 0.000121f, 0.048264f, 0.047918f, 0.020772f, 0.033309f, -0.072396f, -0.043293f, 0.027935f, 0.046999f, 0.043709f, -0.022435f, -0.077296f, -0.069198f, 0.003554f, 0.109988f, 0.068384f, 0.066551f, 0.082551f, 0.011608f, -0.078097f, -0.068922f, 0.016644f, 0.091435f, 0.094576f, 0.065306f, -0.069282f, -0.094273f, -0.065165f, -0.043257f, 0.172358f, 0.161959f, 0.011422f, -0.036877f, -0.005049f, -0.234653f, -0.090119f, -0.024315f, 0.083867f, 0.067721f, -0.052087f, -0.186407f, -0.212440f, -0.036082f, 0.103702f, 0.109180f, 0.194275f, 0.062967f, 0.034265f} - }, - { - {-0.047822f, -0.046886f, -0.045043f, -0.042352f, -0.038896f, -0.034783f, -0.030142f, -0.025115f, -0.019857f, -0.014526f, -0.009281f, -0.004276f, 0.000345f, 0.004455f, 0.007945f, 0.010729f, 0.012746f, 0.013964f, 0.014376f, 0.014004f, 0.012896f, 0.011125f, 0.008784f, 0.005982f, 0.002846f, -0.000495f, -0.003902f, -0.007243f, -0.010387f, -0.013218f, -0.015632f, -0.017545f, -0.018893f, -0.019635f, -0.019754f, -0.019258f, -0.018178f, -0.016565f, -0.014493f, -0.012051f, -0.009339f, -0.006467f, -0.003552f, -0.000709f, 0.001952f, 0.004327f, 0.006325f, 0.007870f, 0.008902f, 0.009381f, 0.009288f, 0.008624f, 0.007411f, 0.005688f, 0.003513f, 0.000955f, -0.001902f, -0.004970f, -0.008152f, -0.011356f, -0.014490f, -0.017469f, -0.020219f, -0.022676f, -0.024792f, -0.026535f, -0.027888f, -0.028851f, -0.029440f, -0.029684f, -0.029627f, -0.029319f, -0.028823f, -0.028200f, -0.027516f, -0.026834f, -0.026211f, -0.025697f, -0.025331f, -0.025141f, 0.002437f, -0.010385f, 0.024897f, 0.010871f, 0.008500f, 0.048040f, 0.038717f, -0.162200f, -0.160942f, -0.104608f, -0.017099f, 0.016216f, -0.053230f, -0.017630f, 0.218802f, 0.114696f, - 0.073019f, -0.102643f, -0.013011f, 0.038742f, 0.111803f, 0.010647f, 0.005978f, -0.045316f, -0.065141f, -0.040399f, -0.026103f, -0.007485f, 0.046694f, 0.073828f, 0.071760f, -0.007469f, -0.128561f, -0.150778f, 0.008746f, 0.070907f, 0.104617f, 0.069038f, -0.001713f, -0.104005f, 0.166432f, -0.038802f, -0.067815f, -0.129565f, -0.097838f, 0.019219f, 0.196267f, 0.203497f, 0.048762f, -0.205457f, -0.308719f, -0.273321f, 0.052960f, 0.302549f, 0.375961f, 0.269508f, -0.075659f, -0.356239f, -0.318182f, -0.076143f, -0.020635f, 0.309454f, 0.196861f, -0.000183f, -0.034524f, 0.083096f, -0.141618f, -0.027066f, -0.073019f, -0.042380f, -0.158044f, -0.158085f, -0.102720f, 0.080799f, 0.149340f, 0.168961f, 0.019283f, -0.165627f, -0.131561f, -0.049136f}, - {0.047822f, 0.046886f, 0.045043f, 0.042352f, 0.038896f, 0.034783f, 0.030142f, 0.025115f, 0.019857f, 0.014526f, 0.009281f, 0.004276f, -0.000345f, -0.004455f, -0.007945f, -0.010729f, -0.012746f, -0.013964f, -0.014376f, -0.014004f, -0.012896f, -0.011125f, -0.008784f, -0.005982f, -0.002846f, 0.000495f, 0.003902f, 0.007243f, 0.010387f, 0.013218f, 0.015632f, 0.017545f, 0.018893f, 0.019635f, 0.019754f, 0.019258f, 0.018178f, 0.016565f, 0.014493f, 0.012051f, 0.009339f, 0.006467f, 0.003552f, 0.000709f, -0.001952f, -0.004327f, -0.006325f, -0.007870f, -0.008902f, -0.009381f, -0.009288f, -0.008624f, -0.007411f, -0.005688f, -0.003513f, -0.000955f, 0.001902f, 0.004970f, 0.008152f, 0.011356f, 0.014490f, 0.017469f, 0.020219f, 0.022676f, 0.024792f, 0.026535f, 0.027888f, 0.028851f, 0.029440f, 0.029684f, 0.029627f, 0.029319f, 0.028823f, 0.028200f, 0.027516f, 0.026834f, 0.026211f, 0.025697f, 0.025331f, 0.025141f, -0.002437f, 0.010385f, -0.024897f, -0.010871f, -0.008500f, -0.048040f, -0.038717f, 0.162200f, 0.160942f, 0.104608f, 0.017099f, -0.016216f, 0.053230f, 0.017630f, -0.218802f, -0.114696f, - -0.073019f, 0.102643f, 0.013011f, -0.038742f, -0.111803f, -0.010647f, -0.005978f, 0.045316f, 0.065141f, 0.040399f, 0.026103f, 0.007485f, -0.046694f, -0.073828f, -0.071760f, 0.007469f, 0.128561f, 0.150778f, -0.008746f, -0.070907f, -0.104617f, -0.069038f, 0.001713f, 0.104005f, -0.166432f, 0.038802f, 0.067815f, 0.129565f, 0.097838f, -0.019219f, -0.196267f, -0.203497f, -0.048762f, 0.205457f, 0.308719f, 0.273321f, -0.052960f, -0.302549f, -0.375961f, -0.269508f, 0.075659f, 0.356239f, 0.318182f, 0.076143f, 0.020635f, -0.309454f, -0.196861f, 0.000183f, 0.034524f, -0.083096f, 0.141618f, 0.027066f, 0.073019f, 0.042380f, 0.158044f, 0.158085f, 0.102720f, -0.080799f, -0.149340f, -0.168961f, -0.019283f, 0.165627f, 0.131561f, 0.049136f} - }, - { - {-0.037392f, -0.036989f, -0.036200f, -0.035053f, -0.033593f, -0.031874f, -0.029959f, -0.027919f, -0.025825f, -0.023751f, -0.021765f, -0.019928f, -0.018293f, -0.016899f, -0.015772f, -0.014922f, -0.014343f, -0.014013f, -0.013895f, -0.013936f, -0.014074f, -0.014236f, -0.014345f, -0.014321f, -0.014085f, -0.013563f, -0.012691f, -0.011417f, -0.009706f, -0.007538f, -0.004915f, -0.001859f, 0.001586f, 0.005357f, 0.009371f, 0.013529f, 0.017716f, 0.021811f, 0.025682f, 0.029200f, 0.032238f, 0.034675f, 0.036406f, 0.037341f, 0.037412f, 0.036574f, 0.034809f, 0.032127f, 0.028567f, 0.024194f, 0.019101f, 0.013404f, 0.007241f, 0.000766f, -0.005857f, -0.012455f, -0.018856f, -0.024892f, -0.030405f, -0.035254f, -0.039318f, -0.042501f, -0.044733f, -0.045978f, -0.046230f, -0.045514f, -0.043889f, -0.041441f, -0.038284f, -0.034554f, -0.030404f, -0.026000f, -0.021517f, -0.017126f, -0.012997f, -0.009288f, -0.006137f, -0.003664f, -0.001963f, -0.001095f, 0.040016f, 0.024974f, 0.031039f, 0.006591f, 0.029674f, -0.033138f, 0.124640f, 0.072462f, -0.016105f, -0.002988f, 0.087269f, -0.091992f, 0.020306f, 0.115300f, -0.044722f, -0.358212f, - -0.220831f, -0.124493f, 0.162324f, 0.118796f, -0.171291f, -0.030497f, 0.138427f, 0.237770f, 0.067315f, -0.042512f, -0.111599f, -0.189566f, -0.046650f, 0.130336f, 0.232124f, 0.161396f, 0.007841f, -0.115595f, -0.140657f, -0.074020f, 0.067847f, 0.166918f, 0.100309f, 0.047515f, -0.063850f, -0.120113f, -0.048761f, 0.095869f, 0.181085f, 0.141993f, -0.003804f, -0.072366f, -0.071557f, -0.113145f, -0.035713f, 0.009771f, 0.134251f, 0.206445f, 0.241944f, 0.109536f, -0.126733f, -0.262770f, -0.107096f, 0.071251f, -0.031866f, 0.233860f, 0.174952f, 0.077308f, -0.024756f, 0.110470f, -0.227029f, -0.192836f, -0.166829f, 0.034076f, 0.028605f, 0.043400f, -0.119984f, 0.009704f, 0.111958f, 0.181593f, 0.244586f, -0.232359f, -0.167522f, -0.065493f}, - {-0.037392f, -0.036989f, -0.036200f, -0.035053f, -0.033593f, -0.031874f, -0.029959f, -0.027919f, -0.025825f, -0.023751f, -0.021765f, -0.019928f, -0.018293f, -0.016899f, -0.015772f, -0.014922f, -0.014343f, -0.014013f, -0.013895f, -0.013936f, -0.014074f, -0.014236f, -0.014345f, -0.014321f, -0.014085f, -0.013563f, -0.012691f, -0.011417f, -0.009706f, -0.007538f, -0.004915f, -0.001859f, 0.001586f, 0.005357f, 0.009371f, 0.013529f, 0.017716f, 0.021811f, 0.025682f, 0.029200f, 0.032238f, 0.034675f, 0.036406f, 0.037341f, 0.037412f, 0.036574f, 0.034809f, 0.032127f, 0.028567f, 0.024194f, 0.019101f, 0.013404f, 0.007241f, 0.000766f, -0.005857f, -0.012455f, -0.018856f, -0.024892f, -0.030405f, -0.035254f, -0.039318f, -0.042501f, -0.044733f, -0.045978f, -0.046230f, -0.045514f, -0.043889f, -0.041441f, -0.038284f, -0.034554f, -0.030404f, -0.026000f, -0.021517f, -0.017126f, -0.012997f, -0.009288f, -0.006137f, -0.003664f, -0.001963f, -0.001095f, 0.040016f, 0.024974f, 0.031039f, 0.006591f, 0.029674f, -0.033138f, 0.124640f, 0.072462f, -0.016105f, -0.002988f, 0.087269f, -0.091992f, 0.020306f, 0.115300f, -0.044722f, -0.358212f, - -0.220831f, -0.124493f, 0.162324f, 0.118796f, -0.171291f, -0.030497f, 0.138427f, 0.237770f, 0.067315f, -0.042512f, -0.111599f, -0.189566f, -0.046650f, 0.130336f, 0.232124f, 0.161396f, 0.007841f, -0.115595f, -0.140657f, -0.074020f, 0.067847f, 0.166918f, 0.100309f, 0.047515f, -0.063850f, -0.120113f, -0.048761f, 0.095869f, 0.181085f, 0.141993f, -0.003804f, -0.072366f, -0.071557f, -0.113145f, -0.035713f, 0.009771f, 0.134251f, 0.206445f, 0.241944f, 0.109536f, -0.126733f, -0.262770f, -0.107096f, 0.071251f, -0.031866f, 0.233860f, 0.174952f, 0.077308f, -0.024756f, 0.110470f, -0.227029f, -0.192836f, -0.166829f, 0.034076f, 0.028605f, 0.043400f, -0.119984f, 0.009704f, 0.111958f, 0.181593f, 0.244586f, -0.232359f, -0.167522f, -0.065493f} - }, - { - {-0.023121f, -0.022852f, -0.022326f, -0.021568f, -0.020616f, -0.019513f, -0.018315f, -0.017079f, -0.015867f, -0.014739f, -0.013755f, -0.012965f, -0.012415f, -0.012138f, -0.012157f, -0.012480f, -0.013101f, -0.014001f, -0.015146f, -0.016488f, -0.017970f, -0.019524f, -0.021074f, -0.022542f, -0.023848f, -0.024913f, -0.025665f, -0.026038f, -0.025979f, -0.025447f, -0.024416f, -0.022879f, -0.020843f, -0.018337f, -0.015404f, -0.012105f, -0.008515f, -0.004723f, -0.000825f, 0.003074f, 0.006867f, 0.010447f, 0.013710f, 0.016561f, 0.018913f, 0.020695f, 0.021850f, 0.022338f, 0.022141f, 0.021257f, 0.019706f, 0.017525f, 0.014769f, 0.011510f, 0.007830f, 0.003824f, -0.000408f, -0.004762f, -0.009133f, -0.013422f, -0.017535f, -0.021387f, -0.024907f, -0.028038f, -0.030737f, -0.032980f, -0.034759f, -0.036082f, -0.036974f, -0.037472f, -0.037625f, -0.037494f, -0.037141f, -0.036637f, -0.036049f, -0.035443f, -0.034879f, -0.034408f, -0.034071f, -0.033895f, -0.021504f, -0.013236f, 0.041524f, 0.010894f, -0.023477f, -0.049221f, 0.083276f, 0.127970f, 0.163269f, 0.021594f, -0.072866f, -0.165528f, -0.008057f, 0.026210f, -0.093974f, -0.136312f, - -0.127652f, -0.160700f, 0.083099f, 0.274765f, 0.025151f, 0.010641f, -0.072650f, -0.077463f, -0.058408f, 0.139417f, 0.095744f, 0.250590f, 0.020518f, 0.004510f, -0.119040f, -0.079281f, -0.044836f, 0.085468f, 0.150862f, 0.111181f, -0.008086f, -0.072516f, -0.070749f, -0.076794f, -0.031900f, 0.047623f, 0.107806f, 0.052183f, -0.021076f, -0.054978f, -0.040386f, 0.058062f, 0.040128f, -0.080490f, -0.098124f, -0.033613f, 0.013971f, 0.023914f, 0.110398f, -0.007314f, 0.039636f, -0.041975f, 0.031967f, -0.012918f, -0.141902f, 0.144984f, 0.120785f, -0.028039f, -0.078491f, 0.079219f, -0.182873f, -0.026340f, -0.016735f, 0.016552f, -0.130854f, -0.252620f, -0.302233f, 0.004013f, 0.297833f, 0.302971f, 0.117143f, -0.118876f, -0.080972f, -0.022568f}, - {-0.023121f, -0.022852f, -0.022326f, -0.021568f, -0.020616f, -0.019513f, -0.018315f, -0.017079f, -0.015867f, -0.014739f, -0.013755f, -0.012965f, -0.012415f, -0.012138f, -0.012157f, -0.012480f, -0.013101f, -0.014001f, -0.015146f, -0.016488f, -0.017970f, -0.019524f, -0.021074f, -0.022542f, -0.023848f, -0.024913f, -0.025665f, -0.026038f, -0.025979f, -0.025447f, -0.024416f, -0.022879f, -0.020843f, -0.018337f, -0.015404f, -0.012105f, -0.008515f, -0.004723f, -0.000825f, 0.003074f, 0.006867f, 0.010447f, 0.013710f, 0.016561f, 0.018913f, 0.020695f, 0.021850f, 0.022338f, 0.022141f, 0.021257f, 0.019706f, 0.017525f, 0.014769f, 0.011510f, 0.007830f, 0.003824f, -0.000408f, -0.004762f, -0.009133f, -0.013422f, -0.017535f, -0.021387f, -0.024907f, -0.028038f, -0.030737f, -0.032980f, -0.034759f, -0.036082f, -0.036974f, -0.037472f, -0.037625f, -0.037494f, -0.037141f, -0.036637f, -0.036049f, -0.035443f, -0.034879f, -0.034408f, -0.034071f, -0.033895f, -0.021504f, -0.013236f, 0.041524f, 0.010894f, -0.023477f, -0.049221f, 0.083276f, 0.127970f, 0.163269f, 0.021594f, -0.072866f, -0.165528f, -0.008057f, 0.026210f, -0.093974f, -0.136312f, - -0.127652f, -0.160700f, 0.083099f, 0.274765f, 0.025151f, 0.010641f, -0.072650f, -0.077463f, -0.058408f, 0.139417f, 0.095744f, 0.250590f, 0.020518f, 0.004510f, -0.119040f, -0.079281f, -0.044836f, 0.085468f, 0.150862f, 0.111181f, -0.008086f, -0.072516f, -0.070749f, -0.076794f, -0.031900f, 0.047623f, 0.107806f, 0.052183f, -0.021076f, -0.054978f, -0.040386f, 0.058062f, 0.040128f, -0.080490f, -0.098124f, -0.033613f, 0.013971f, 0.023914f, 0.110398f, -0.007314f, 0.039636f, -0.041975f, 0.031967f, -0.012918f, -0.141902f, 0.144984f, 0.120785f, -0.028039f, -0.078491f, 0.079219f, -0.182873f, -0.026340f, -0.016735f, 0.016552f, -0.130854f, -0.252620f, -0.302233f, 0.004013f, 0.297833f, 0.302971f, 0.117143f, -0.118876f, -0.080972f, -0.022568f} - }, - { - {0.034688f, 0.033944f, 0.032478f, 0.030329f, 0.027557f, 0.024237f, 0.020459f, 0.016325f, 0.011946f, 0.007436f, 0.002911f, -0.001515f, -0.005731f, -0.009639f, -0.013151f, -0.016191f, -0.018701f, -0.020640f, -0.021987f, -0.022735f, -0.022900f, -0.022511f, -0.021615f, -0.020272f, -0.018551f, -0.016532f, -0.014299f, -0.011939f, -0.009537f, -0.007177f, -0.004934f, -0.002876f, -0.001059f, 0.000471f, 0.001684f, 0.002562f, 0.003102f, 0.003313f, 0.003219f, 0.002853f, 0.002260f, 0.001489f, 0.000598f, -0.000354f, -0.001308f, -0.002205f, -0.002992f, -0.003619f, -0.004046f, -0.004242f, -0.004184f, -0.003860f, -0.003268f, -0.002418f, -0.001327f, -0.000022f, 0.001465f, 0.003095f, 0.004825f, 0.006610f, 0.008407f, 0.010173f, 0.011868f, 0.013457f, 0.014912f, 0.016210f, 0.017337f, 0.018284f, 0.019051f, 0.019646f, 0.020080f, 0.020372f, 0.020542f, 0.020616f, 0.020619f, 0.020575f, 0.020509f, 0.020440f, 0.020384f, 0.020353f, -0.013744f, -0.039606f, -0.038073f, -0.021709f, 0.011125f, 0.000688f, -0.055696f, 0.005090f, -0.073923f, -0.098478f, -0.068486f, -0.001483f, -0.054646f, 0.005715f, -0.020655f, -0.008419f, - -0.065972f, -0.030677f, 0.136130f, 0.158082f, -0.089988f, -0.028457f, 0.013578f, 0.105433f, 0.066346f, 0.035777f, 0.039117f, -0.028355f, -0.059865f, -0.059961f, 0.032987f, 0.093131f, -0.009634f, -0.065466f, -0.068966f, -0.004971f, 0.041955f, 0.100058f, 0.024953f, -0.005031f, -0.041486f, 0.032456f, 0.017195f, 0.092432f, 0.037094f, 0.014858f, -0.024121f, 0.000262f, -0.050715f, -0.054897f, -0.058748f, 0.078000f, 0.048332f, 0.028781f, -0.043575f, -0.102444f, -0.084352f, 0.009705f, 0.030990f, 0.041481f, 0.097902f, -0.093464f, -0.111859f, -0.067315f, 0.011407f, -0.023626f, 0.174361f, 0.128315f, 0.099916f, -0.030923f, -0.043553f, -0.093602f, 0.058886f, 0.063368f, 0.068266f, 0.058630f, 0.019437f, -0.126861f, -0.076242f, -0.027872f}, - {0.034688f, 0.033944f, 0.032478f, 0.030329f, 0.027557f, 0.024237f, 0.020459f, 0.016325f, 0.011946f, 0.007436f, 0.002911f, -0.001515f, -0.005731f, -0.009639f, -0.013151f, -0.016191f, -0.018701f, -0.020640f, -0.021987f, -0.022735f, -0.022900f, -0.022511f, -0.021615f, -0.020272f, -0.018551f, -0.016532f, -0.014299f, -0.011939f, -0.009537f, -0.007177f, -0.004934f, -0.002876f, -0.001059f, 0.000471f, 0.001684f, 0.002562f, 0.003102f, 0.003313f, 0.003219f, 0.002853f, 0.002260f, 0.001489f, 0.000598f, -0.000354f, -0.001308f, -0.002205f, -0.002992f, -0.003619f, -0.004046f, -0.004242f, -0.004184f, -0.003860f, -0.003268f, -0.002418f, -0.001327f, -0.000022f, 0.001465f, 0.003095f, 0.004825f, 0.006610f, 0.008407f, 0.010173f, 0.011868f, 0.013457f, 0.014912f, 0.016210f, 0.017337f, 0.018284f, 0.019051f, 0.019646f, 0.020080f, 0.020372f, 0.020542f, 0.020616f, 0.020619f, 0.020575f, 0.020509f, 0.020440f, 0.020384f, 0.020353f, -0.013744f, -0.039606f, -0.038073f, -0.021709f, 0.011125f, 0.000688f, -0.055696f, 0.005090f, -0.073923f, -0.098478f, -0.068486f, -0.001483f, -0.054646f, 0.005715f, -0.020655f, -0.008419f, - -0.065972f, -0.030677f, 0.136130f, 0.158082f, -0.089988f, -0.028457f, 0.013578f, 0.105433f, 0.066346f, 0.035777f, 0.039117f, -0.028355f, -0.059865f, -0.059961f, 0.032987f, 0.093131f, -0.009634f, -0.065466f, -0.068966f, -0.004971f, 0.041955f, 0.100058f, 0.024953f, -0.005031f, -0.041486f, 0.032456f, 0.017195f, 0.092432f, 0.037094f, 0.014858f, -0.024121f, 0.000262f, -0.050715f, -0.054897f, -0.058748f, 0.078000f, 0.048332f, 0.028781f, -0.043575f, -0.102444f, -0.084352f, 0.009705f, 0.030990f, 0.041481f, 0.097902f, -0.093464f, -0.111859f, -0.067315f, 0.011407f, -0.023626f, 0.174361f, 0.128315f, 0.099916f, -0.030923f, -0.043553f, -0.093602f, 0.058886f, 0.063368f, 0.068266f, 0.058630f, 0.019437f, -0.126861f, -0.076242f, -0.027872f} - }, - { - {0.020864f, 0.020628f, 0.020162f, 0.019480f, 0.018603f, 0.017556f, 0.016370f, 0.015079f, 0.013718f, 0.012325f, 0.010936f, 0.009588f, 0.008311f, 0.007135f, 0.006083f, 0.005172f, 0.004415f, 0.003816f, 0.003374f, 0.003082f, 0.002927f, 0.002891f, 0.002953f, 0.003086f, 0.003264f, 0.003461f, 0.003649f, 0.003803f, 0.003904f, 0.003932f, 0.003877f, 0.003730f, 0.003492f, 0.003167f, 0.002768f, 0.002310f, 0.001816f, 0.001313f, 0.000830f, 0.000398f, 0.000050f, -0.000182f, -0.000270f, -0.000186f, 0.000092f, 0.000581f, 0.001290f, 0.002224f, 0.003379f, 0.004744f, 0.006300f, 0.008023f, 0.009882f, 0.011841f, 0.013860f, 0.015896f, 0.017906f, 0.019847f, 0.021676f, 0.023356f, 0.024853f, 0.026138f, 0.027190f, 0.027995f, 0.028547f, 0.028848f, 0.028908f, 0.028744f, 0.028381f, 0.027849f, 0.027185f, 0.026425f, 0.025613f, 0.024788f, 0.023992f, 0.023264f, 0.022636f, 0.022138f, 0.021793f, 0.021617f, -0.006798f, -0.003380f, -0.005360f, -0.017063f, -0.024441f, 0.043640f, -0.014016f, -0.027673f, -0.004845f, -0.006445f, 0.066361f, 0.018852f, -0.028729f, 0.009025f, -0.075865f, -0.155041f, - -0.065489f, -0.024469f, 0.057814f, 0.045172f, -0.070320f, -0.017821f, 0.023709f, 0.091718f, 0.085051f, 0.038182f, 0.023982f, 0.035655f, -0.041871f, -0.058230f, -0.142784f, 0.010733f, 0.042238f, 0.012938f, 0.030339f, 0.040082f, -0.074463f, -0.094555f, -0.048446f, 0.012442f, 0.066522f, 0.105550f, 0.071961f, 0.023148f, -0.035299f, -0.018424f, -0.024981f, 0.052714f, 0.035572f, 0.020446f, -0.032645f, 0.007755f, -0.115069f, -0.015310f, 0.054485f, 0.019836f, 0.089972f, 0.082585f, -0.056621f, -0.120010f, 0.049043f, -0.064568f, 0.094450f, 0.076680f, 0.070013f, -0.072832f, -0.093618f, -0.007507f, 0.053902f, 0.078265f, 0.059600f, 0.027789f, 0.036114f, -0.078578f, -0.104827f, -0.034592f, 0.110081f, 0.044529f, -0.025476f, -0.014728f}, - {0.020864f, 0.020628f, 0.020162f, 0.019480f, 0.018603f, 0.017556f, 0.016370f, 0.015079f, 0.013718f, 0.012325f, 0.010936f, 0.009588f, 0.008311f, 0.007135f, 0.006083f, 0.005172f, 0.004415f, 0.003816f, 0.003374f, 0.003082f, 0.002927f, 0.002891f, 0.002953f, 0.003086f, 0.003264f, 0.003461f, 0.003649f, 0.003803f, 0.003904f, 0.003932f, 0.003877f, 0.003730f, 0.003492f, 0.003167f, 0.002768f, 0.002310f, 0.001816f, 0.001313f, 0.000830f, 0.000398f, 0.000050f, -0.000182f, -0.000270f, -0.000186f, 0.000092f, 0.000581f, 0.001290f, 0.002224f, 0.003379f, 0.004744f, 0.006300f, 0.008023f, 0.009882f, 0.011841f, 0.013860f, 0.015896f, 0.017906f, 0.019847f, 0.021676f, 0.023356f, 0.024853f, 0.026138f, 0.027190f, 0.027995f, 0.028547f, 0.028848f, 0.028908f, 0.028744f, 0.028381f, 0.027849f, 0.027185f, 0.026425f, 0.025613f, 0.024788f, 0.023992f, 0.023264f, 0.022636f, 0.022138f, 0.021793f, 0.021617f, -0.006798f, -0.003380f, -0.005360f, -0.017063f, -0.024441f, 0.043640f, -0.014016f, -0.027673f, -0.004845f, -0.006445f, 0.066361f, 0.018852f, -0.028729f, 0.009025f, -0.075865f, -0.155041f, - -0.065489f, -0.024469f, 0.057814f, 0.045172f, -0.070320f, -0.017821f, 0.023709f, 0.091718f, 0.085051f, 0.038182f, 0.023982f, 0.035655f, -0.041871f, -0.058230f, -0.142784f, 0.010733f, 0.042238f, 0.012938f, 0.030339f, 0.040082f, -0.074463f, -0.094555f, -0.048446f, 0.012442f, 0.066522f, 0.105550f, 0.071961f, 0.023148f, -0.035299f, -0.018424f, -0.024981f, 0.052714f, 0.035572f, 0.020446f, -0.032645f, 0.007755f, -0.115069f, -0.015310f, 0.054485f, 0.019836f, 0.089972f, 0.082585f, -0.056621f, -0.120010f, 0.049043f, -0.064568f, 0.094450f, 0.076680f, 0.070013f, -0.072832f, -0.093618f, -0.007507f, 0.053902f, 0.078265f, 0.059600f, 0.027789f, 0.036114f, -0.078578f, -0.104827f, -0.034592f, 0.110081f, 0.044529f, -0.025476f, -0.014728f} - } -}; -const float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][160]={ - { - {0.000607f, 0.001803f, 0.002941f, 0.003987f, 0.004908f, 0.005676f, 0.006269f, 0.006670f, 0.006871f, 0.006869f, 0.006669f, 0.006284f, 0.005731f, 0.005035f, 0.004225f, 0.003335f, 0.002399f, 0.001456f, 0.000541f, -0.000310f, -0.001064f, -0.001692f, -0.002171f, -0.002481f, -0.002612f, -0.002559f, -0.002323f, -0.001912f, -0.001343f, -0.000635f, 0.000185f, 0.001087f, 0.002039f, 0.003006f, 0.003952f, 0.004845f, 0.005652f, 0.006344f, 0.006897f, 0.007292f, 0.007516f, 0.007561f, 0.007426f, 0.007117f, 0.006645f, 0.006027f, 0.005286f, 0.004447f, 0.003538f, 0.002591f, 0.001637f, 0.000706f, -0.000172f, -0.000971f, -0.001669f, -0.002246f, -0.002689f, -0.002991f, -0.003148f, -0.003164f, -0.003048f, -0.002812f, -0.002473f, -0.002053f, -0.001575f, -0.001062f, -0.000541f, -0.000035f, 0.000433f, 0.000842f, 0.001176f, 0.001423f, 0.001573f, 0.001623f, 0.001574f, 0.001432f, 0.001208f, 0.000914f, 0.000570f, 0.000194f, -0.459479f, -0.951950f, -0.610059f, 0.138191f, 0.698547f, 0.755794f, 0.243522f, -0.422384f, -0.808827f, -0.724027f, -0.130870f, 0.461622f, 0.869354f, 0.667862f, 0.030528f, -0.564204f, - -0.789139f, -0.468785f, 0.151851f, 0.678618f, 0.728923f, 0.337296f, -0.322960f, -0.700194f, -0.616049f, -0.096016f, 0.456132f, 0.702443f, 0.459349f, -0.073372f, -0.568805f, -0.671612f, -0.336520f, 0.244638f, 0.631826f, 0.616483f, 0.154529f, -0.375939f, -0.696641f, -0.506498f, -0.125118f, 0.355222f, 0.719377f, 0.553326f, 0.037725f, -0.527374f, -0.690573f, -0.394549f, 0.197449f, 0.629232f, 0.651166f, 0.208908f, -0.366272f, -0.701915f, -0.536790f, -0.016971f, 0.507334f, 0.650466f, 0.370984f, -0.166281f, -0.567325f, -0.572139f, -0.176415f, 0.334892f, 0.656461f, 0.489993f, -0.017768f, -0.524054f, -0.675884f, -0.371239f, 0.173392f, 0.605124f, 0.610706f, 0.200456f, -0.353918f, -0.678277f, -0.528640f, 0.011060f, 0.178932f, 0.016192f}, - {0.000607f, 0.001803f, 0.002941f, 0.003987f, 0.004908f, 0.005676f, 0.006269f, 0.006670f, 0.006871f, 0.006869f, 0.006669f, 0.006284f, 0.005731f, 0.005035f, 0.004225f, 0.003335f, 0.002399f, 0.001456f, 0.000541f, -0.000310f, -0.001064f, -0.001692f, -0.002171f, -0.002481f, -0.002612f, -0.002559f, -0.002323f, -0.001912f, -0.001343f, -0.000635f, 0.000185f, 0.001087f, 0.002039f, 0.003006f, 0.003952f, 0.004845f, 0.005652f, 0.006344f, 0.006897f, 0.007292f, 0.007516f, 0.007561f, 0.007426f, 0.007117f, 0.006645f, 0.006027f, 0.005286f, 0.004447f, 0.003538f, 0.002591f, 0.001637f, 0.000706f, -0.000172f, -0.000971f, -0.001669f, -0.002246f, -0.002689f, -0.002991f, -0.003148f, -0.003164f, -0.003048f, -0.002812f, -0.002473f, -0.002053f, -0.001575f, -0.001062f, -0.000541f, -0.000035f, 0.000433f, 0.000842f, 0.001176f, 0.001423f, 0.001573f, 0.001623f, 0.001574f, 0.001432f, 0.001208f, 0.000914f, 0.000570f, 0.000194f, -0.459479f, -0.951950f, -0.610059f, 0.138191f, 0.698547f, 0.755794f, 0.243522f, -0.422384f, -0.808827f, -0.724027f, -0.130870f, 0.461622f, 0.869354f, 0.667862f, 0.030528f, -0.564204f, - -0.789139f, -0.468785f, 0.151851f, 0.678618f, 0.728923f, 0.337296f, -0.322960f, -0.700194f, -0.616049f, -0.096016f, 0.456132f, 0.702443f, 0.459349f, -0.073372f, -0.568805f, -0.671612f, -0.336520f, 0.244638f, 0.631826f, 0.616483f, 0.154529f, -0.375939f, -0.696641f, -0.506498f, -0.125118f, 0.355222f, 0.719377f, 0.553326f, 0.037725f, -0.527374f, -0.690573f, -0.394549f, 0.197449f, 0.629232f, 0.651166f, 0.208908f, -0.366272f, -0.701915f, -0.536790f, -0.016971f, 0.507334f, 0.650466f, 0.370984f, -0.166281f, -0.567325f, -0.572139f, -0.176415f, 0.334892f, 0.656461f, 0.489993f, -0.017768f, -0.524054f, -0.675884f, -0.371239f, 0.173392f, 0.605124f, 0.610706f, 0.200456f, -0.353918f, -0.678277f, -0.528640f, 0.011060f, 0.178932f, 0.016192f} - }, - { - {-0.000028f, -0.000064f, -0.000047f, 0.000057f, 0.000277f, 0.000636f, 0.001148f, 0.001820f, 0.002652f, 0.003632f, 0.004741f, 0.005950f, 0.007223f, 0.008519f, 0.009791f, 0.010988f, 0.012060f, 0.012957f, 0.013630f, 0.014038f, 0.014144f, 0.013921f, 0.013351f, 0.012427f, 0.011152f, 0.009542f, 0.007624f, 0.005434f, 0.003019f, 0.000435f, -0.002256f, -0.004988f, -0.007692f, -0.010299f, -0.012741f, -0.014955f, -0.016883f, -0.018478f, -0.019699f, -0.020520f, -0.020923f, -0.020906f, -0.020476f, -0.019656f, -0.018475f, -0.016978f, -0.015215f, -0.013244f, -0.011126f, -0.008927f, -0.006712f, -0.004545f, -0.002485f, -0.000587f, 0.001104f, 0.002550f, 0.003724f, 0.004610f, 0.005201f, 0.005502f, 0.005529f, 0.005305f, 0.004864f, 0.004243f, 0.003487f, 0.002642f, 0.001754f, 0.000870f, 0.000034f, -0.000716f, -0.001348f, -0.001837f, -0.002165f, -0.002323f, -0.002313f, -0.002143f, -0.001829f, -0.001397f, -0.000875f, -0.000298f, 0.049516f, -0.016037f, -0.521945f, -0.600714f, -0.029292f, 0.813281f, 0.895652f, 0.289258f, -0.543355f, -0.625823f, -0.515181f, 0.034355f, 0.575869f, 0.500667f, 0.121120f, -0.361979f, - -0.606832f, -0.496113f, 0.005333f, 0.414143f, 0.580698f, 0.317632f, -0.123453f, -0.594664f, -0.557657f, -0.170560f, 0.347315f, 0.570357f, 0.524617f, 0.029358f, -0.385025f, -0.657018f, -0.442508f, 0.047188f, 0.566067f, 0.676706f, 0.403551f, -0.225043f, -0.701688f, -0.732583f, -0.153816f, 0.530671f, 0.759112f, 0.500505f, -0.145926f, -0.705732f, -0.797320f, -0.331604f, 0.352242f, 0.751981f, 0.630519f, 0.087976f, -0.520840f, -0.793402f, -0.527497f, 0.103267f, 0.614565f, 0.706032f, 0.311946f, -0.262008f, -0.694822f, -0.602989f, -0.144676f, 0.461612f, 0.706272f, 0.594113f, 0.074776f, -0.567699f, -0.848702f, -0.547886f, 0.099706f, 0.689166f, 0.802677f, 0.361753f, -0.323913f, -0.825131f, -0.715404f, -0.075227f, 0.194978f, 0.028869f}, - {0.000028f, 0.000064f, 0.000047f, -0.000057f, -0.000277f, -0.000636f, -0.001148f, -0.001820f, -0.002652f, -0.003632f, -0.004741f, -0.005950f, -0.007223f, -0.008519f, -0.009791f, -0.010988f, -0.012060f, -0.012957f, -0.013630f, -0.014038f, -0.014144f, -0.013921f, -0.013351f, -0.012427f, -0.011152f, -0.009542f, -0.007624f, -0.005434f, -0.003019f, -0.000435f, 0.002256f, 0.004988f, 0.007692f, 0.010299f, 0.012741f, 0.014955f, 0.016883f, 0.018478f, 0.019699f, 0.020520f, 0.020923f, 0.020906f, 0.020476f, 0.019656f, 0.018475f, 0.016978f, 0.015215f, 0.013244f, 0.011126f, 0.008927f, 0.006712f, 0.004545f, 0.002485f, 0.000587f, -0.001104f, -0.002550f, -0.003724f, -0.004610f, -0.005201f, -0.005502f, -0.005529f, -0.005305f, -0.004864f, -0.004243f, -0.003487f, -0.002642f, -0.001754f, -0.000870f, -0.000034f, 0.000716f, 0.001348f, 0.001837f, 0.002165f, 0.002323f, 0.002313f, 0.002143f, 0.001829f, 0.001397f, 0.000875f, 0.000298f, -0.049516f, 0.016037f, 0.521945f, 0.600714f, 0.029292f, -0.813281f, -0.895652f, -0.289258f, 0.543355f, 0.625823f, 0.515181f, -0.034355f, -0.575869f, -0.500667f, -0.121120f, 0.361979f, - 0.606832f, 0.496113f, -0.005333f, -0.414143f, -0.580698f, -0.317632f, 0.123453f, 0.594664f, 0.557657f, 0.170560f, -0.347315f, -0.570357f, -0.524617f, -0.029358f, 0.385025f, 0.657018f, 0.442508f, -0.047188f, -0.566067f, -0.676706f, -0.403551f, 0.225043f, 0.701688f, 0.732583f, 0.153816f, -0.530671f, -0.759112f, -0.500505f, 0.145926f, 0.705732f, 0.797320f, 0.331604f, -0.352242f, -0.751981f, -0.630519f, -0.087976f, 0.520840f, 0.793402f, 0.527497f, -0.103267f, -0.614565f, -0.706032f, -0.311946f, 0.262008f, 0.694822f, 0.602989f, 0.144676f, -0.461612f, -0.706272f, -0.594113f, -0.074776f, 0.567699f, 0.848702f, 0.547886f, -0.099706f, -0.689166f, -0.802677f, -0.361753f, 0.323913f, 0.825131f, 0.715404f, 0.075227f, -0.194978f, -0.028869f} - }, - { - {-0.002049f, -0.006137f, -0.010191f, -0.014189f, -0.018104f, -0.021908f, -0.025569f, -0.029052f, -0.032317f, -0.035324f, -0.038027f, -0.040382f, -0.042343f, -0.043866f, -0.044911f, -0.045440f, -0.045425f, -0.044844f, -0.043685f, -0.041947f, -0.039643f, -0.036797f, -0.033448f, -0.029645f, -0.025454f, -0.020950f, -0.016218f, -0.011354f, -0.006457f, -0.001632f, 0.003016f, 0.007386f, 0.011379f, 0.014907f, 0.017890f, 0.020262f, 0.021975f, 0.022994f, 0.023306f, 0.022916f, 0.021846f, 0.020138f, 0.017854f, 0.015067f, 0.011866f, 0.008351f, 0.004630f, 0.000813f, -0.002986f, -0.006656f, -0.010095f, -0.013206f, -0.015906f, -0.018127f, -0.019817f, -0.020943f, -0.021489f, -0.021460f, -0.020879f, -0.019786f, -0.018238f, -0.016306f, -0.014069f, -0.011618f, -0.009046f, -0.006448f, -0.003917f, -0.001539f, 0.000606f, 0.002452f, 0.003945f, 0.005047f, 0.005737f, 0.006012f, 0.005883f, 0.005383f, 0.004554f, 0.003455f, 0.002156f, 0.000733f, -0.053532f, -0.109196f, -0.086606f, 0.162774f, 0.099803f, -0.116839f, -0.089392f, 0.002755f, 0.080534f, 0.214951f, 0.393055f, 0.297771f, -0.042420f, 0.153547f, -0.076270f, -0.120569f, - -0.076604f, 0.071527f, 0.104329f, 0.154195f, 0.151670f, 0.126907f, -0.048054f, -0.206848f, -0.149739f, 0.103995f, 0.196515f, 0.126410f, -0.048876f, -0.168393f, -0.243439f, -0.096971f, 0.089561f, 0.213767f, 0.166510f, -0.022170f, -0.234052f, -0.229570f, -0.126619f, 0.074107f, -0.002399f, -0.073743f, 0.180669f, 0.201660f, 0.154371f, -0.075191f, -0.177736f, -0.194067f, -0.013786f, 0.187680f, 0.312445f, 0.144326f, -0.067784f, -0.307789f, -0.322030f, -0.101992f, 0.291143f, 0.459699f, 0.311581f, -0.124169f, -0.472205f, -0.547137f, -0.207796f, 0.230226f, 0.540592f, 0.296952f, -0.147969f, -0.489454f, -0.374088f, -0.015802f, 0.384106f, 0.405885f, 0.192708f, -0.211852f, -0.407725f, -0.306114f, 0.005897f, 0.206910f, 0.112954f, -0.018858f}, - {-0.002049f, -0.006137f, -0.010191f, -0.014189f, -0.018104f, -0.021908f, -0.025569f, -0.029052f, -0.032317f, -0.035324f, -0.038027f, -0.040382f, -0.042343f, -0.043866f, -0.044911f, -0.045440f, -0.045425f, -0.044844f, -0.043685f, -0.041947f, -0.039643f, -0.036797f, -0.033448f, -0.029645f, -0.025454f, -0.020950f, -0.016218f, -0.011354f, -0.006457f, -0.001632f, 0.003016f, 0.007386f, 0.011379f, 0.014907f, 0.017890f, 0.020262f, 0.021975f, 0.022994f, 0.023306f, 0.022916f, 0.021846f, 0.020138f, 0.017854f, 0.015067f, 0.011866f, 0.008351f, 0.004630f, 0.000813f, -0.002986f, -0.006656f, -0.010095f, -0.013206f, -0.015906f, -0.018127f, -0.019817f, -0.020943f, -0.021489f, -0.021460f, -0.020879f, -0.019786f, -0.018238f, -0.016306f, -0.014069f, -0.011618f, -0.009046f, -0.006448f, -0.003917f, -0.001539f, 0.000606f, 0.002452f, 0.003945f, 0.005047f, 0.005737f, 0.006012f, 0.005883f, 0.005383f, 0.004554f, 0.003455f, 0.002156f, 0.000733f, -0.053532f, -0.109196f, -0.086606f, 0.162774f, 0.099803f, -0.116839f, -0.089392f, 0.002755f, 0.080534f, 0.214951f, 0.393055f, 0.297771f, -0.042420f, 0.153547f, -0.076270f, -0.120569f, - -0.076604f, 0.071527f, 0.104329f, 0.154195f, 0.151670f, 0.126907f, -0.048054f, -0.206848f, -0.149739f, 0.103995f, 0.196515f, 0.126410f, -0.048876f, -0.168393f, -0.243439f, -0.096971f, 0.089561f, 0.213767f, 0.166510f, -0.022170f, -0.234052f, -0.229570f, -0.126619f, 0.074107f, -0.002399f, -0.073743f, 0.180669f, 0.201660f, 0.154371f, -0.075191f, -0.177736f, -0.194067f, -0.013786f, 0.187680f, 0.312445f, 0.144326f, -0.067784f, -0.307789f, -0.322030f, -0.101992f, 0.291143f, 0.459699f, 0.311581f, -0.124169f, -0.472205f, -0.547137f, -0.207796f, 0.230226f, 0.540592f, 0.296952f, -0.147969f, -0.489454f, -0.374088f, -0.015802f, 0.384106f, 0.405885f, 0.192708f, -0.211852f, -0.407725f, -0.306114f, 0.005897f, 0.206910f, 0.112954f, -0.018858f} - }, - { - {-0.002979f, -0.008865f, -0.014542f, -0.019875f, -0.024743f, -0.029039f, -0.032672f, -0.035573f, -0.037694f, -0.039013f, -0.039531f, -0.039270f, -0.038279f, -0.036624f, -0.034392f, -0.031683f, -0.028609f, -0.025289f, -0.021845f, -0.018401f, -0.015072f, -0.011968f, -0.009183f, -0.006800f, -0.004881f, -0.003472f, -0.002596f, -0.002257f, -0.002438f, -0.003104f, -0.004203f, -0.005666f, -0.007416f, -0.009364f, -0.011416f, -0.013477f, -0.015454f, -0.017259f, -0.018811f, -0.020042f, -0.020895f, -0.021330f, -0.021323f, -0.020864f, -0.019962f, -0.018642f, -0.016942f, -0.014912f, -0.012615f, -0.010120f, -0.007501f, -0.004836f, -0.002200f, 0.000335f, 0.002701f, 0.004842f, 0.006707f, 0.008262f, 0.009481f, 0.010354f, 0.010882f, 0.011077f, 0.010965f, 0.010580f, 0.009961f, 0.009156f, 0.008215f, 0.007188f, 0.006125f, 0.005072f, 0.004069f, 0.003150f, 0.002341f, 0.001658f, 0.001109f, 0.000692f, 0.000396f, 0.000204f, 0.000089f, 0.000024f, 0.018537f, -0.096517f, -0.083216f, -0.068111f, 0.126978f, -0.056448f, -0.042199f, -0.056482f, 0.074167f, -0.101773f, 0.145968f, 0.114355f, -0.071478f, 0.426941f, 0.538155f, 0.360363f, - -0.186372f, -0.505267f, -0.535014f, -0.210270f, 0.325886f, 0.716462f, 0.480627f, -0.077920f, -0.628838f, -0.734112f, -0.373618f, 0.360840f, 0.853482f, 0.697573f, 0.039156f, -0.676419f, -0.832215f, -0.419382f, 0.334418f, 0.737157f, 0.684616f, 0.031005f, -0.472156f, -0.677356f, -0.115395f, 0.531824f, 0.481723f, 0.216816f, -0.300102f, -0.550024f, -0.505144f, -0.111673f, 0.271949f, 0.498213f, 0.302390f, -0.032707f, -0.353690f, -0.393293f, -0.220326f, 0.106674f, 0.285470f, 0.295027f, 0.108805f, -0.127253f, -0.289592f, -0.237662f, -0.061127f, 0.192110f, 0.217903f, 0.245619f, 0.078096f, -0.183461f, -0.291423f, -0.188723f, 0.072156f, 0.188735f, 0.161749f, -0.007838f, -0.132645f, -0.168727f, -0.025125f, 0.068325f, 0.026307f, 0.002243f}, - {-0.002979f, -0.008865f, -0.014542f, -0.019875f, -0.024743f, -0.029039f, -0.032672f, -0.035573f, -0.037694f, -0.039013f, -0.039531f, -0.039270f, -0.038279f, -0.036624f, -0.034392f, -0.031683f, -0.028609f, -0.025289f, -0.021845f, -0.018401f, -0.015072f, -0.011968f, -0.009183f, -0.006800f, -0.004881f, -0.003472f, -0.002596f, -0.002257f, -0.002438f, -0.003104f, -0.004203f, -0.005666f, -0.007416f, -0.009364f, -0.011416f, -0.013477f, -0.015454f, -0.017259f, -0.018811f, -0.020042f, -0.020895f, -0.021330f, -0.021323f, -0.020864f, -0.019962f, -0.018642f, -0.016942f, -0.014912f, -0.012615f, -0.010120f, -0.007501f, -0.004836f, -0.002200f, 0.000335f, 0.002701f, 0.004842f, 0.006707f, 0.008262f, 0.009481f, 0.010354f, 0.010882f, 0.011077f, 0.010965f, 0.010580f, 0.009961f, 0.009156f, 0.008215f, 0.007188f, 0.006125f, 0.005072f, 0.004069f, 0.003150f, 0.002341f, 0.001658f, 0.001109f, 0.000692f, 0.000396f, 0.000204f, 0.000089f, 0.000024f, 0.018537f, -0.096517f, -0.083216f, -0.068111f, 0.126978f, -0.056448f, -0.042199f, -0.056482f, 0.074167f, -0.101773f, 0.145968f, 0.114355f, -0.071478f, 0.426941f, 0.538155f, 0.360363f, - -0.186372f, -0.505267f, -0.535014f, -0.210270f, 0.325886f, 0.716462f, 0.480627f, -0.077920f, -0.628838f, -0.734112f, -0.373618f, 0.360840f, 0.853482f, 0.697573f, 0.039156f, -0.676419f, -0.832215f, -0.419382f, 0.334418f, 0.737157f, 0.684616f, 0.031005f, -0.472156f, -0.677356f, -0.115395f, 0.531824f, 0.481723f, 0.216816f, -0.300102f, -0.550024f, -0.505144f, -0.111673f, 0.271949f, 0.498213f, 0.302390f, -0.032707f, -0.353690f, -0.393293f, -0.220326f, 0.106674f, 0.285470f, 0.295027f, 0.108805f, -0.127253f, -0.289592f, -0.237662f, -0.061127f, 0.192110f, 0.217903f, 0.245619f, 0.078096f, -0.183461f, -0.291423f, -0.188723f, 0.072156f, 0.188735f, 0.161749f, -0.007838f, -0.132645f, -0.168727f, -0.025125f, 0.068325f, 0.026307f, 0.002243f} - }, - { - {-0.001271f, -0.003806f, -0.006319f, -0.008795f, -0.011219f, -0.013571f, -0.015834f, -0.017985f, -0.020002f, -0.021861f, -0.023538f, -0.025008f, -0.026245f, -0.027228f, -0.027936f, -0.028352f, -0.028464f, -0.028264f, -0.027752f, -0.026933f, -0.025823f, -0.024440f, -0.022816f, -0.020986f, -0.018994f, -0.016889f, -0.014727f, -0.012565f, -0.010464f, -0.008486f, -0.006689f, -0.005131f, -0.003862f, -0.002926f, -0.002361f, -0.002191f, -0.002431f, -0.003086f, -0.004144f, -0.005586f, -0.007376f, -0.009470f, -0.011811f, -0.014337f, -0.016976f, -0.019652f, -0.022285f, -0.024798f, -0.027114f, -0.029160f, -0.030872f, -0.032194f, -0.033081f, -0.033500f, -0.033433f, -0.032875f, -0.031837f, -0.030342f, -0.028429f, -0.026147f, -0.023558f, -0.020731f, -0.017743f, -0.014674f, -0.011606f, -0.008619f, -0.005791f, -0.003191f, -0.000880f, 0.001090f, 0.002682f, 0.003872f, 0.004648f, 0.005017f, 0.004998f, 0.004624f, 0.003939f, 0.003003f, 0.001878f, 0.000639f, 0.010287f, -0.025862f, 0.003522f, -0.063971f, -0.010736f, -0.004017f, 0.065013f, 0.014935f, 0.011906f, 0.012134f, 0.059546f, 0.090188f, -0.032056f, 0.214094f, 0.315625f, 0.132257f, - -0.085677f, -0.176533f, -0.328515f, 0.006548f, 0.077254f, 0.172006f, 0.130077f, -0.050939f, -0.147319f, -0.175481f, -0.015915f, 0.183005f, 0.275542f, 0.163849f, -0.045876f, -0.231947f, -0.305143f, -0.103493f, 0.318577f, 0.372426f, 0.152045f, -0.142956f, -0.327595f, -0.317176f, 0.056505f, 0.373643f, 0.289109f, 0.066352f, -0.239115f, -0.369703f, -0.261113f, -0.021009f, 0.129663f, 0.303046f, 0.226674f, 0.047611f, -0.171431f, -0.269969f, -0.200202f, -0.019742f, 0.201558f, 0.202901f, 0.215602f, -0.179436f, -0.185167f, -0.199768f, -0.180089f, 0.056742f, 0.259194f, 0.198250f, -0.056107f, -0.255992f, -0.280588f, -0.053432f, 0.201582f, 0.267791f, 0.201270f, 0.005637f, -0.254080f, -0.299426f, -0.121162f, 0.120114f, 0.089266f, -0.000746f}, - {0.001271f, 0.003806f, 0.006319f, 0.008795f, 0.011219f, 0.013571f, 0.015834f, 0.017985f, 0.020002f, 0.021861f, 0.023538f, 0.025008f, 0.026245f, 0.027228f, 0.027936f, 0.028352f, 0.028464f, 0.028264f, 0.027752f, 0.026933f, 0.025823f, 0.024440f, 0.022816f, 0.020986f, 0.018994f, 0.016889f, 0.014727f, 0.012565f, 0.010464f, 0.008486f, 0.006689f, 0.005131f, 0.003862f, 0.002926f, 0.002361f, 0.002191f, 0.002431f, 0.003086f, 0.004144f, 0.005586f, 0.007376f, 0.009470f, 0.011811f, 0.014337f, 0.016976f, 0.019652f, 0.022285f, 0.024798f, 0.027114f, 0.029160f, 0.030872f, 0.032194f, 0.033081f, 0.033500f, 0.033433f, 0.032875f, 0.031837f, 0.030342f, 0.028429f, 0.026147f, 0.023558f, 0.020731f, 0.017743f, 0.014674f, 0.011606f, 0.008619f, 0.005791f, 0.003191f, 0.000880f, -0.001090f, -0.002682f, -0.003872f, -0.004648f, -0.005017f, -0.004998f, -0.004624f, -0.003939f, -0.003003f, -0.001878f, -0.000639f, -0.010287f, 0.025862f, -0.003522f, 0.063971f, 0.010736f, 0.004017f, -0.065013f, -0.014935f, -0.011906f, -0.012134f, -0.059546f, -0.090188f, 0.032056f, -0.214094f, -0.315625f, -0.132257f, - 0.085677f, 0.176533f, 0.328515f, -0.006548f, -0.077254f, -0.172006f, -0.130077f, 0.050939f, 0.147319f, 0.175481f, 0.015915f, -0.183005f, -0.275542f, -0.163849f, 0.045876f, 0.231947f, 0.305143f, 0.103493f, -0.318577f, -0.372426f, -0.152045f, 0.142956f, 0.327595f, 0.317176f, -0.056505f, -0.373643f, -0.289109f, -0.066352f, 0.239115f, 0.369703f, 0.261113f, 0.021009f, -0.129663f, -0.303046f, -0.226674f, -0.047611f, 0.171431f, 0.269969f, 0.200202f, 0.019742f, -0.201558f, -0.202901f, -0.215602f, 0.179436f, 0.185167f, 0.199768f, 0.180089f, -0.056742f, -0.259194f, -0.198250f, 0.056107f, 0.255992f, 0.280588f, 0.053432f, -0.201582f, -0.267791f, -0.201270f, -0.005637f, 0.254080f, 0.299426f, 0.121162f, -0.120114f, -0.089266f, 0.000746f} - }, - { - {-0.000422f, -0.001277f, -0.002162f, -0.003095f, -0.004091f, -0.005161f, -0.006311f, -0.007544f, -0.008852f, -0.010227f, -0.011651f, -0.013103f, -0.014557f, -0.015982f, -0.017346f, -0.018615f, -0.019755f, -0.020732f, -0.021517f, -0.022084f, -0.022411f, -0.022485f, -0.022297f, -0.021847f, -0.021144f, -0.020204f, -0.019048f, -0.017708f, -0.016220f, -0.014625f, -0.012968f, -0.011295f, -0.009655f, -0.008093f, -0.006653f, -0.005373f, -0.004289f, -0.003426f, -0.002802f, -0.002429f, -0.002307f, -0.002428f, -0.002776f, -0.003325f, -0.004044f, -0.004894f, -0.005832f, -0.006811f, -0.007785f, -0.008704f, -0.009524f, -0.010204f, -0.010706f, -0.011001f, -0.011067f, -0.010890f, -0.010467f, -0.009803f, -0.008912f, -0.007818f, -0.006551f, -0.005150f, -0.003656f, -0.002118f, -0.000584f, 0.000896f, 0.002275f, 0.003508f, 0.004556f, 0.005386f, 0.005974f, 0.006302f, 0.006362f, 0.006159f, 0.005703f, 0.005015f, 0.004125f, 0.003070f, 0.001892f, 0.000639f, 0.000874f, -0.009172f, 0.023843f, -0.041505f, -0.009350f, 0.003922f, -0.020028f, -0.094046f, 0.052693f, 0.228541f, 0.219444f, 0.055538f, -0.168216f, 0.262500f, 0.274549f, 0.105242f, - -0.095691f, -0.096583f, -0.189003f, 0.038250f, 0.080178f, 0.150798f, 0.117774f, -0.002444f, -0.089614f, -0.015171f, 0.036019f, -0.011500f, 0.023508f, -0.065226f, 0.117525f, 0.110962f, 0.095450f, -0.020307f, -0.110097f, -0.162295f, -0.073784f, 0.049988f, 0.119861f, 0.115686f, 0.042856f, -0.048324f, -0.038860f, -0.091620f, -0.060945f, -0.003739f, -0.001925f, 0.034329f, -0.047167f, 0.023862f, 0.043742f, -0.002122f, -0.029370f, -0.067574f, -0.061597f, 0.017295f, 0.125612f, 0.154726f, 0.032113f, -0.142604f, -0.178638f, -0.178711f, -0.050331f, 0.121150f, 0.166307f, 0.090444f, -0.066326f, -0.192987f, -0.107998f, 0.069844f, 0.218412f, 0.105896f, -0.096378f, -0.313954f, -0.225068f, 0.010541f, 0.290160f, 0.197862f, 0.008664f, -0.018292f}, - {0.000422f, 0.001277f, 0.002162f, 0.003095f, 0.004091f, 0.005161f, 0.006311f, 0.007544f, 0.008852f, 0.010227f, 0.011651f, 0.013103f, 0.014557f, 0.015982f, 0.017346f, 0.018615f, 0.019755f, 0.020732f, 0.021517f, 0.022084f, 0.022411f, 0.022485f, 0.022297f, 0.021847f, 0.021144f, 0.020204f, 0.019048f, 0.017708f, 0.016220f, 0.014625f, 0.012968f, 0.011295f, 0.009655f, 0.008093f, 0.006653f, 0.005373f, 0.004289f, 0.003426f, 0.002802f, 0.002429f, 0.002307f, 0.002428f, 0.002776f, 0.003325f, 0.004044f, 0.004894f, 0.005832f, 0.006811f, 0.007785f, 0.008704f, 0.009524f, 0.010204f, 0.010706f, 0.011001f, 0.011067f, 0.010890f, 0.010467f, 0.009803f, 0.008912f, 0.007818f, 0.006551f, 0.005150f, 0.003656f, 0.002118f, 0.000584f, -0.000896f, -0.002275f, -0.003508f, -0.004556f, -0.005386f, -0.005974f, -0.006302f, -0.006362f, -0.006159f, -0.005703f, -0.005015f, -0.004125f, -0.003070f, -0.001892f, -0.000639f, -0.000874f, 0.009172f, -0.023843f, 0.041505f, 0.009350f, -0.003922f, 0.020028f, 0.094046f, -0.052693f, -0.228541f, -0.219444f, -0.055538f, 0.168216f, -0.262500f, -0.274549f, -0.105242f, - 0.095691f, 0.096583f, 0.189003f, -0.038250f, -0.080178f, -0.150798f, -0.117774f, 0.002444f, 0.089614f, 0.015171f, -0.036019f, 0.011500f, -0.023508f, 0.065226f, -0.117525f, -0.110962f, -0.095450f, 0.020307f, 0.110097f, 0.162295f, 0.073784f, -0.049988f, -0.119861f, -0.115686f, -0.042856f, 0.048324f, 0.038860f, 0.091620f, 0.060945f, 0.003739f, 0.001925f, -0.034329f, 0.047167f, -0.023862f, -0.043742f, 0.002122f, 0.029370f, 0.067574f, 0.061597f, -0.017295f, -0.125612f, -0.154726f, -0.032113f, 0.142604f, 0.178638f, 0.178711f, 0.050331f, -0.121150f, -0.166307f, -0.090444f, 0.066326f, 0.192987f, 0.107998f, -0.069844f, -0.218412f, -0.105896f, 0.096378f, 0.313954f, 0.225068f, -0.010541f, -0.290160f, -0.197862f, -0.008664f, 0.018292f} - }, - { - {0.000526f, 0.001528f, 0.002380f, 0.002988f, 0.003270f, 0.003158f, 0.002603f, 0.001572f, 0.000058f, -0.001926f, -0.004346f, -0.007147f, -0.010252f, -0.013572f, -0.017003f, -0.020433f, -0.023745f, -0.026825f, -0.029561f, -0.031852f, -0.033611f, -0.034767f, -0.035272f, -0.035100f, -0.034248f, -0.032740f, -0.030623f, -0.027968f, -0.024868f, -0.021431f, -0.017782f, -0.014055f, -0.010386f, -0.006916f, -0.003776f, -0.001091f, 0.001031f, 0.002501f, 0.003251f, 0.003239f, 0.002447f, 0.000887f, -0.001404f, -0.004360f, -0.007895f, -0.011901f, -0.016251f, -0.020809f, -0.025429f, -0.029963f, -0.034266f, -0.038199f, -0.041639f, -0.044477f, -0.046626f, -0.048022f, -0.048626f, -0.048426f, -0.047439f, -0.045703f, -0.043285f, -0.040270f, -0.036762f, -0.032879f, -0.028747f, -0.024497f, -0.020259f, -0.016157f, -0.012304f, -0.008801f, -0.005727f, -0.003143f, -0.001085f, 0.000434f, 0.001426f, 0.001925f, 0.001988f, 0.001692f, 0.001126f, 0.000394f, 0.000377f, -0.004315f, 0.090374f, 0.028043f, -0.111509f, -0.071921f, -0.048123f, -0.059930f, 0.018585f, 0.180009f, 0.179706f, 0.053170f, -0.080109f, 0.203490f, 0.181306f, 0.087950f, - 0.202835f, 0.201270f, 0.109761f, -0.098069f, -0.005379f, 0.038498f, 0.004876f, 0.131472f, 0.196808f, 0.306935f, 0.136389f, -0.167915f, -0.169671f, -0.201512f, -0.030400f, 0.060340f, 0.275389f, 0.355090f, -0.074280f, -0.350298f, -0.380008f, -0.121118f, 0.078095f, 0.469865f, 0.156853f, -0.070127f, -0.116803f, -0.216734f, -0.033254f, 0.195144f, 0.232857f, -0.072946f, -0.518533f, -0.463226f, -0.050250f, 0.324958f, 0.555663f, 0.309110f, -0.070454f, -0.467882f, -0.439207f, -0.251808f, 0.240861f, 0.045852f, 0.246108f, 0.058463f, -0.269844f, -0.250916f, 0.103022f, -0.096435f, -0.322138f, -0.151651f, 0.043486f, 0.269199f, 0.226042f, 0.156135f, 0.005328f, -0.013613f, -0.187280f, -0.099045f, -0.136306f, 0.023148f, 0.048837f, 0.021336f}, - {0.000526f, 0.001528f, 0.002380f, 0.002988f, 0.003270f, 0.003158f, 0.002603f, 0.001572f, 0.000058f, -0.001926f, -0.004346f, -0.007147f, -0.010252f, -0.013572f, -0.017003f, -0.020433f, -0.023745f, -0.026825f, -0.029561f, -0.031852f, -0.033611f, -0.034767f, -0.035272f, -0.035100f, -0.034248f, -0.032740f, -0.030623f, -0.027968f, -0.024868f, -0.021431f, -0.017782f, -0.014055f, -0.010386f, -0.006916f, -0.003776f, -0.001091f, 0.001031f, 0.002501f, 0.003251f, 0.003239f, 0.002447f, 0.000887f, -0.001404f, -0.004360f, -0.007895f, -0.011901f, -0.016251f, -0.020809f, -0.025429f, -0.029963f, -0.034266f, -0.038199f, -0.041639f, -0.044477f, -0.046626f, -0.048022f, -0.048626f, -0.048426f, -0.047439f, -0.045703f, -0.043285f, -0.040270f, -0.036762f, -0.032879f, -0.028747f, -0.024497f, -0.020259f, -0.016157f, -0.012304f, -0.008801f, -0.005727f, -0.003143f, -0.001085f, 0.000434f, 0.001426f, 0.001925f, 0.001988f, 0.001692f, 0.001126f, 0.000394f, 0.000377f, -0.004315f, 0.090374f, 0.028043f, -0.111509f, -0.071921f, -0.048123f, -0.059930f, 0.018585f, 0.180009f, 0.179706f, 0.053170f, -0.080109f, 0.203490f, 0.181306f, 0.087950f, - 0.202835f, 0.201270f, 0.109761f, -0.098069f, -0.005379f, 0.038498f, 0.004876f, 0.131472f, 0.196808f, 0.306935f, 0.136389f, -0.167915f, -0.169671f, -0.201512f, -0.030400f, 0.060340f, 0.275389f, 0.355090f, -0.074280f, -0.350298f, -0.380008f, -0.121118f, 0.078095f, 0.469865f, 0.156853f, -0.070127f, -0.116803f, -0.216734f, -0.033254f, 0.195144f, 0.232857f, -0.072946f, -0.518533f, -0.463226f, -0.050250f, 0.324958f, 0.555663f, 0.309110f, -0.070454f, -0.467882f, -0.439207f, -0.251808f, 0.240861f, 0.045852f, 0.246108f, 0.058463f, -0.269844f, -0.250916f, 0.103022f, -0.096435f, -0.322138f, -0.151651f, 0.043486f, 0.269199f, 0.226042f, 0.156135f, 0.005328f, -0.013613f, -0.187280f, -0.099045f, -0.136306f, 0.023148f, 0.048837f, 0.021336f} - }, - { - {-0.002594f, -0.007712f, -0.012620f, -0.017185f, -0.021288f, -0.024824f, -0.027705f, -0.029870f, -0.031276f, -0.031910f, -0.031781f, -0.030924f, -0.029396f, -0.027276f, -0.024661f, -0.021660f, -0.018394f, -0.014987f, -0.011567f, -0.008255f, -0.005167f, -0.002405f, -0.000055f, 0.001814f, 0.003156f, 0.003943f, 0.004175f, 0.003871f, 0.003071f, 0.001837f, 0.000245f, -0.001616f, -0.003644f, -0.005734f, -0.007780f, -0.009677f, -0.011328f, -0.012647f, -0.013560f, -0.014012f, -0.013966f, -0.013404f, -0.012331f, -0.010768f, -0.008761f, -0.006369f, -0.003667f, -0.000745f, 0.002303f, 0.005375f, 0.008369f, 0.011187f, 0.013736f, 0.015934f, 0.017713f, 0.019021f, 0.019821f, 0.020099f, 0.019857f, 0.019117f, 0.017919f, 0.016319f, 0.014386f, 0.012201f, 0.009851f, 0.007428f, 0.005024f, 0.002726f, 0.000617f, -0.001232f, -0.002763f, -0.003932f, -0.004714f, -0.005098f, -0.005093f, -0.004726f, -0.004038f, -0.003084f, -0.001932f, -0.000658f, -0.012474f, -0.068409f, 0.081137f, 0.018024f, -0.038156f, -0.198590f, -0.119597f, 0.145225f, 0.030798f, 0.246762f, 0.335612f, 0.283146f, 0.025065f, 0.021730f, 0.026732f, 0.074654f, - -0.011328f, -0.043913f, 0.087894f, -0.028229f, 0.021072f, -0.015218f, -0.005244f, -0.008447f, 0.003756f, -0.028338f, 0.020207f, 0.006246f, -0.029437f, -0.039636f, 0.036150f, 0.052762f, 0.055867f, -0.002273f, 0.056749f, 0.072060f, 0.125021f, -0.022258f, -0.103383f, -0.101215f, 0.051122f, 0.255149f, 0.083638f, -0.008516f, -0.206175f, -0.242208f, -0.099596f, 0.098204f, 0.220255f, 0.238644f, 0.067428f, -0.101735f, -0.242515f, -0.144450f, 0.001750f, 0.191021f, 0.214892f, 0.175162f, -0.065258f, -0.003858f, -0.178822f, -0.105369f, 0.148433f, 0.235889f, 0.048148f, 0.214517f, 0.280683f, -0.041329f, -0.275217f, -0.446013f, -0.180500f, 0.131700f, 0.348173f, 0.110471f, -0.088639f, -0.346427f, -0.207886f, -0.015941f, 0.061582f, 0.008943f}, - {-0.002594f, -0.007712f, -0.012620f, -0.017185f, -0.021288f, -0.024824f, -0.027705f, -0.029870f, -0.031276f, -0.031910f, -0.031781f, -0.030924f, -0.029396f, -0.027276f, -0.024661f, -0.021660f, -0.018394f, -0.014987f, -0.011567f, -0.008255f, -0.005167f, -0.002405f, -0.000055f, 0.001814f, 0.003156f, 0.003943f, 0.004175f, 0.003871f, 0.003071f, 0.001837f, 0.000245f, -0.001616f, -0.003644f, -0.005734f, -0.007780f, -0.009677f, -0.011328f, -0.012647f, -0.013560f, -0.014012f, -0.013966f, -0.013404f, -0.012331f, -0.010768f, -0.008761f, -0.006369f, -0.003667f, -0.000745f, 0.002303f, 0.005375f, 0.008369f, 0.011187f, 0.013736f, 0.015934f, 0.017713f, 0.019021f, 0.019821f, 0.020099f, 0.019857f, 0.019117f, 0.017919f, 0.016319f, 0.014386f, 0.012201f, 0.009851f, 0.007428f, 0.005024f, 0.002726f, 0.000617f, -0.001232f, -0.002763f, -0.003932f, -0.004714f, -0.005098f, -0.005093f, -0.004726f, -0.004038f, -0.003084f, -0.001932f, -0.000658f, -0.012474f, -0.068409f, 0.081137f, 0.018024f, -0.038156f, -0.198590f, -0.119597f, 0.145225f, 0.030798f, 0.246762f, 0.335612f, 0.283146f, 0.025065f, 0.021730f, 0.026732f, 0.074654f, - -0.011328f, -0.043913f, 0.087894f, -0.028229f, 0.021072f, -0.015218f, -0.005244f, -0.008447f, 0.003756f, -0.028338f, 0.020207f, 0.006246f, -0.029437f, -0.039636f, 0.036150f, 0.052762f, 0.055867f, -0.002273f, 0.056749f, 0.072060f, 0.125021f, -0.022258f, -0.103383f, -0.101215f, 0.051122f, 0.255149f, 0.083638f, -0.008516f, -0.206175f, -0.242208f, -0.099596f, 0.098204f, 0.220255f, 0.238644f, 0.067428f, -0.101735f, -0.242515f, -0.144450f, 0.001750f, 0.191021f, 0.214892f, 0.175162f, -0.065258f, -0.003858f, -0.178822f, -0.105369f, 0.148433f, 0.235889f, 0.048148f, 0.214517f, 0.280683f, -0.041329f, -0.275217f, -0.446013f, -0.180500f, 0.131700f, 0.348173f, 0.110471f, -0.088639f, -0.346427f, -0.207886f, -0.015941f, 0.061582f, 0.008943f} - }, - { - {-0.001692f, -0.005028f, -0.008216f, -0.011163f, -0.013784f, -0.015999f, -0.017743f, -0.018963f, -0.019618f, -0.019685f, -0.019158f, -0.018044f, -0.016368f, -0.014170f, -0.011503f, -0.008432f, -0.005034f, -0.001394f, 0.002400f, 0.006252f, 0.010069f, 0.013758f, 0.017231f, 0.020405f, 0.023206f, 0.025572f, 0.027450f, 0.028802f, 0.029603f, 0.029841f, 0.029520f, 0.028655f, 0.027275f, 0.025421f, 0.023143f, 0.020501f, 0.017560f, 0.014391f, 0.011068f, 0.007665f, 0.004257f, 0.000915f, -0.002296f, -0.005315f, -0.008088f, -0.010571f, -0.012727f, -0.014530f, -0.015961f, -0.017015f, -0.017691f, -0.018000f, -0.017960f, -0.017595f, -0.016937f, -0.016020f, -0.014885f, -0.013572f, -0.012124f, -0.010586f, -0.008998f, -0.007401f, -0.005833f, -0.004328f, -0.002917f, -0.001626f, -0.000476f, 0.000517f, 0.001341f, 0.001989f, 0.002459f, 0.002753f, 0.002880f, 0.002848f, 0.002672f, 0.002368f, 0.001958f, 0.001461f, 0.000902f, 0.000305f, 0.052321f, -0.018258f, -0.014124f, -0.007458f, 0.085842f, 0.029245f, 0.127256f, 0.076902f, 0.062256f, -0.207538f, -0.265521f, -0.146999f, 0.049472f, 0.221169f, 0.277951f, 0.057988f, - -0.163846f, -0.207114f, -0.156198f, -0.020525f, 0.023538f, 0.008611f, -0.073772f, -0.004242f, 0.012621f, 0.045953f, 0.085524f, 0.034636f, -0.040649f, -0.135494f, -0.246060f, -0.068648f, 0.063436f, 0.214739f, 0.183131f, 0.017595f, -0.223861f, -0.242391f, -0.153182f, 0.140545f, 0.085957f, 0.013702f, 0.005574f, -0.030685f, -0.047703f, -0.053997f, 0.043684f, 0.077892f, -0.121951f, -0.094316f, -0.020622f, 0.048746f, 0.099422f, 0.132104f, 0.049686f, -0.051357f, -0.107707f, -0.102422f, -0.027663f, 0.017056f, 0.121416f, 0.099038f, -0.013366f, -0.137160f, -0.169993f, -0.174993f, -0.068867f, 0.136114f, 0.298336f, 0.217147f, 0.060197f, -0.132593f, -0.302768f, -0.377783f, -0.187963f, 0.111969f, 0.290674f, 0.187006f, -0.004044f, -0.005747f}, - {-0.001692f, -0.005028f, -0.008216f, -0.011163f, -0.013784f, -0.015999f, -0.017743f, -0.018963f, -0.019618f, -0.019685f, -0.019158f, -0.018044f, -0.016368f, -0.014170f, -0.011503f, -0.008432f, -0.005034f, -0.001394f, 0.002400f, 0.006252f, 0.010069f, 0.013758f, 0.017231f, 0.020405f, 0.023206f, 0.025572f, 0.027450f, 0.028802f, 0.029603f, 0.029841f, 0.029520f, 0.028655f, 0.027275f, 0.025421f, 0.023143f, 0.020501f, 0.017560f, 0.014391f, 0.011068f, 0.007665f, 0.004257f, 0.000915f, -0.002296f, -0.005315f, -0.008088f, -0.010571f, -0.012727f, -0.014530f, -0.015961f, -0.017015f, -0.017691f, -0.018000f, -0.017960f, -0.017595f, -0.016937f, -0.016020f, -0.014885f, -0.013572f, -0.012124f, -0.010586f, -0.008998f, -0.007401f, -0.005833f, -0.004328f, -0.002917f, -0.001626f, -0.000476f, 0.000517f, 0.001341f, 0.001989f, 0.002459f, 0.002753f, 0.002880f, 0.002848f, 0.002672f, 0.002368f, 0.001958f, 0.001461f, 0.000902f, 0.000305f, 0.052321f, -0.018258f, -0.014124f, -0.007458f, 0.085842f, 0.029245f, 0.127256f, 0.076902f, 0.062256f, -0.207538f, -0.265521f, -0.146999f, 0.049472f, 0.221169f, 0.277951f, 0.057988f, - -0.163846f, -0.207114f, -0.156198f, -0.020525f, 0.023538f, 0.008611f, -0.073772f, -0.004242f, 0.012621f, 0.045953f, 0.085524f, 0.034636f, -0.040649f, -0.135494f, -0.246060f, -0.068648f, 0.063436f, 0.214739f, 0.183131f, 0.017595f, -0.223861f, -0.242391f, -0.153182f, 0.140545f, 0.085957f, 0.013702f, 0.005574f, -0.030685f, -0.047703f, -0.053997f, 0.043684f, 0.077892f, -0.121951f, -0.094316f, -0.020622f, 0.048746f, 0.099422f, 0.132104f, 0.049686f, -0.051357f, -0.107707f, -0.102422f, -0.027663f, 0.017056f, 0.121416f, 0.099038f, -0.013366f, -0.137160f, -0.169993f, -0.174993f, -0.068867f, 0.136114f, 0.298336f, 0.217147f, 0.060197f, -0.132593f, -0.302768f, -0.377783f, -0.187963f, 0.111969f, 0.290674f, 0.187006f, -0.004044f, -0.005747f} - }, - { - {-0.000558f, -0.001666f, -0.002744f, -0.003775f, -0.004741f, -0.005625f, -0.006412f, -0.007089f, -0.007643f, -0.008067f, -0.008352f, -0.008496f, -0.008497f, -0.008358f, -0.008085f, -0.007687f, -0.007176f, -0.006567f, -0.005880f, -0.005135f, -0.004356f, -0.003569f, -0.002801f, -0.002080f, -0.001434f, -0.000891f, -0.000478f, -0.000218f, -0.000135f, -0.000246f, -0.000566f, -0.001105f, -0.001866f, -0.002850f, -0.004049f, -0.005450f, -0.007035f, -0.008780f, -0.010654f, -0.012624f, -0.014652f, -0.016695f, -0.018712f, -0.020655f, -0.022482f, -0.024149f, -0.025614f, -0.026839f, -0.027792f, -0.028446f, -0.028779f, -0.028778f, -0.028436f, -0.027756f, -0.026748f, -0.025430f, -0.023827f, -0.021974f, -0.019908f, -0.017674f, -0.015321f, -0.012901f, -0.010465f, -0.008068f, -0.005760f, -0.003590f, -0.001603f, 0.000163f, 0.001675f, 0.002908f, 0.003846f, 0.004482f, 0.004816f, 0.004858f, 0.004627f, 0.004150f, 0.003460f, 0.002599f, 0.001611f, 0.000546f, -0.003770f, 0.007996f, 0.005573f, 0.016472f, 0.007182f, 0.044288f, 0.011606f, -0.007505f, -0.062271f, 0.017093f, 0.068697f, 0.092675f, -0.020103f, -0.156687f, -0.258295f, -0.046116f, - 0.049780f, 0.114779f, 0.121823f, 0.014310f, 0.050240f, 0.051792f, -0.064670f, -0.151209f, 0.009424f, 0.066156f, 0.084879f, 0.123221f, 0.031022f, -0.025727f, -0.025793f, -0.123459f, -0.062745f, 0.067638f, 0.121865f, 0.061490f, -0.090830f, -0.111481f, -0.066207f, 0.040890f, 0.153123f, 0.064350f, -0.048007f, -0.108089f, -0.125505f, -0.055847f, 0.066616f, 0.080845f, 0.058894f, 0.044339f, 0.007831f, 0.014588f, -0.023608f, -0.060232f, -0.028704f, -0.015617f, 0.008922f, 0.020130f, 0.115085f, -0.084148f, -0.032057f, -0.027896f, -0.178202f, -0.035726f, 0.103966f, -0.004503f, -0.107328f, -0.051314f, 0.040183f, 0.106784f, 0.123118f, 0.050550f, -0.031071f, -0.123654f, -0.125188f, 0.033855f, 0.170898f, 0.080395f, -0.029415f, 0.001535f}, - {0.000558f, 0.001666f, 0.002744f, 0.003775f, 0.004741f, 0.005625f, 0.006412f, 0.007089f, 0.007643f, 0.008067f, 0.008352f, 0.008496f, 0.008497f, 0.008358f, 0.008085f, 0.007687f, 0.007176f, 0.006567f, 0.005880f, 0.005135f, 0.004356f, 0.003569f, 0.002801f, 0.002080f, 0.001434f, 0.000891f, 0.000478f, 0.000218f, 0.000135f, 0.000246f, 0.000566f, 0.001105f, 0.001866f, 0.002850f, 0.004049f, 0.005450f, 0.007035f, 0.008780f, 0.010654f, 0.012624f, 0.014652f, 0.016695f, 0.018712f, 0.020655f, 0.022482f, 0.024149f, 0.025614f, 0.026839f, 0.027792f, 0.028446f, 0.028779f, 0.028778f, 0.028436f, 0.027756f, 0.026748f, 0.025430f, 0.023827f, 0.021974f, 0.019908f, 0.017674f, 0.015321f, 0.012901f, 0.010465f, 0.008068f, 0.005760f, 0.003590f, 0.001603f, -0.000163f, -0.001675f, -0.002908f, -0.003846f, -0.004482f, -0.004816f, -0.004858f, -0.004627f, -0.004150f, -0.003460f, -0.002599f, -0.001611f, -0.000546f, 0.003770f, -0.007996f, -0.005573f, -0.016472f, -0.007182f, -0.044288f, -0.011606f, 0.007505f, 0.062271f, -0.017093f, -0.068697f, -0.092675f, 0.020103f, 0.156687f, 0.258295f, 0.046116f, - -0.049780f, -0.114779f, -0.121823f, -0.014310f, -0.050240f, -0.051792f, 0.064670f, 0.151209f, -0.009424f, -0.066156f, -0.084879f, -0.123221f, -0.031022f, 0.025727f, 0.025793f, 0.123459f, 0.062745f, -0.067638f, -0.121865f, -0.061490f, 0.090830f, 0.111481f, 0.066207f, -0.040890f, -0.153123f, -0.064350f, 0.048007f, 0.108089f, 0.125505f, 0.055847f, -0.066616f, -0.080845f, -0.058894f, -0.044339f, -0.007831f, -0.014588f, 0.023608f, 0.060232f, 0.028704f, 0.015617f, -0.008922f, -0.020130f, -0.115085f, 0.084148f, 0.032057f, 0.027896f, 0.178202f, 0.035726f, -0.103966f, 0.004503f, 0.107328f, 0.051314f, -0.040183f, -0.106784f, -0.123118f, -0.050550f, 0.031071f, 0.123654f, 0.125188f, -0.033855f, -0.170898f, -0.080395f, 0.029415f, -0.001535f} - }, - { - {0.000862f, 0.002556f, 0.004157f, 0.005606f, 0.006850f, 0.007842f, 0.008545f, 0.008928f, 0.008973f, 0.008674f, 0.008032f, 0.007065f, 0.005796f, 0.004261f, 0.002503f, 0.000572f, -0.001476f, -0.003582f, -0.005686f, -0.007728f, -0.009650f, -0.011400f, -0.012929f, -0.014196f, -0.015171f, -0.015829f, -0.016158f, -0.016154f, -0.015822f, -0.015178f, -0.014245f, -0.013053f, -0.011640f, -0.010045f, -0.008313f, -0.006489f, -0.004618f, -0.002742f, -0.000902f, 0.000867f, 0.002535f, 0.004078f, 0.005479f, 0.006727f, 0.007819f, 0.008758f, 0.009553f, 0.010216f, 0.010766f, 0.011222f, 0.011608f, 0.011945f, 0.012255f, 0.012557f, 0.012867f, 0.013199f, 0.013560f, 0.013952f, 0.014374f, 0.014816f, 0.015268f, 0.015710f, 0.016124f, 0.016484f, 0.016766f, 0.016942f, 0.016989f, 0.016882f, 0.016600f, 0.016127f, 0.015449f, 0.014561f, 0.013461f, 0.012156f, 0.010657f, 0.008982f, 0.007154f, 0.005202f, 0.003159f, 0.001059f, 0.023448f, 0.005825f, -0.022065f, -0.036579f, -0.016601f, -0.039625f, -0.054493f, -0.094171f, -0.105878f, 0.148193f, 0.209846f, 0.052288f, -0.006002f, 0.049658f, 0.028289f, -0.014931f, - 0.041590f, 0.089350f, 0.005856f, 0.044491f, -0.012375f, -0.061657f, 0.039654f, -0.012926f, 0.101497f, 0.021184f, 0.055042f, -0.077356f, -0.100797f, 0.005554f, 0.024743f, 0.019643f, -0.047675f, -0.021206f, 0.021776f, 0.022907f, 0.057359f, 0.057288f, -0.061156f, -0.036074f, -0.012394f, 0.046598f, 0.064612f, 0.016399f, -0.062802f, -0.118880f, -0.064031f, 0.021831f, -0.004281f, 0.062860f, 0.102262f, 0.063315f, -0.050738f, -0.078626f, -0.040798f, 0.042795f, 0.103842f, 0.131407f, -0.012216f, -0.012968f, -0.147305f, -0.093946f, 0.099562f, 0.170198f, 0.054699f, 0.159959f, 0.064843f, -0.126388f, -0.082527f, -0.075983f, 0.091236f, 0.113720f, 0.068035f, -0.142226f, -0.248413f, -0.166680f, -0.111711f, -0.032544f, 0.089623f, -0.019143f}, - {-0.000862f, -0.002556f, -0.004157f, -0.005606f, -0.006850f, -0.007842f, -0.008545f, -0.008928f, -0.008973f, -0.008674f, -0.008032f, -0.007065f, -0.005796f, -0.004261f, -0.002503f, -0.000572f, 0.001476f, 0.003582f, 0.005686f, 0.007728f, 0.009650f, 0.011400f, 0.012929f, 0.014196f, 0.015171f, 0.015829f, 0.016158f, 0.016154f, 0.015822f, 0.015178f, 0.014245f, 0.013053f, 0.011640f, 0.010045f, 0.008313f, 0.006489f, 0.004618f, 0.002742f, 0.000902f, -0.000867f, -0.002535f, -0.004078f, -0.005479f, -0.006727f, -0.007819f, -0.008758f, -0.009553f, -0.010216f, -0.010766f, -0.011222f, -0.011608f, -0.011945f, -0.012255f, -0.012557f, -0.012867f, -0.013199f, -0.013560f, -0.013952f, -0.014374f, -0.014816f, -0.015268f, -0.015710f, -0.016124f, -0.016484f, -0.016766f, -0.016942f, -0.016989f, -0.016882f, -0.016600f, -0.016127f, -0.015449f, -0.014561f, -0.013461f, -0.012156f, -0.010657f, -0.008982f, -0.007154f, -0.005202f, -0.003159f, -0.001059f, -0.023448f, -0.005825f, 0.022065f, 0.036579f, 0.016601f, 0.039625f, 0.054493f, 0.094171f, 0.105878f, -0.148193f, -0.209846f, -0.052288f, 0.006002f, -0.049658f, -0.028289f, 0.014931f, - -0.041590f, -0.089350f, -0.005856f, -0.044491f, 0.012375f, 0.061657f, -0.039654f, 0.012926f, -0.101497f, -0.021184f, -0.055042f, 0.077356f, 0.100797f, -0.005554f, -0.024743f, -0.019643f, 0.047675f, 0.021206f, -0.021776f, -0.022907f, -0.057359f, -0.057288f, 0.061156f, 0.036074f, 0.012394f, -0.046598f, -0.064612f, -0.016399f, 0.062802f, 0.118880f, 0.064031f, -0.021831f, 0.004281f, -0.062860f, -0.102262f, -0.063315f, 0.050738f, 0.078626f, 0.040798f, -0.042795f, -0.103842f, -0.131407f, 0.012216f, 0.012968f, 0.147305f, 0.093946f, -0.099562f, -0.170198f, -0.054699f, -0.159959f, -0.064843f, 0.126388f, 0.082527f, 0.075983f, -0.091236f, -0.113720f, -0.068035f, 0.142226f, 0.248413f, 0.166680f, 0.111711f, 0.032544f, -0.089623f, 0.019143f} - }, - { - {0.002838f, 0.008432f, 0.013783f, 0.018737f, 0.023156f, 0.026916f, 0.029917f, 0.032084f, 0.033369f, 0.033752f, 0.033243f, 0.031880f, 0.029728f, 0.026877f, 0.023436f, 0.019533f, 0.015308f, 0.010907f, 0.006479f, 0.002172f, -0.001878f, -0.005545f, -0.008720f, -0.011315f, -0.013266f, -0.014533f, -0.015101f, -0.014982f, -0.014214f, -0.012856f, -0.010989f, -0.008711f, -0.006132f, -0.003373f, -0.000558f, 0.002190f, 0.004751f, 0.007016f, 0.008888f, 0.010286f, 0.011150f, 0.011440f, 0.011137f, 0.010247f, 0.008796f, 0.006831f, 0.004417f, 0.001634f, -0.001424f, -0.004656f, -0.007955f, -0.011217f, -0.014336f, -0.017218f, -0.019776f, -0.021940f, -0.023652f, -0.024875f, -0.025587f, -0.025788f, -0.025492f, -0.024734f, -0.023560f, -0.022031f, -0.020217f, -0.018193f, -0.016039f, -0.013833f, -0.011651f, -0.009559f, -0.007617f, -0.005872f, -0.004357f, -0.003092f, -0.002082f, -0.001315f, -0.000769f, -0.000408f, -0.000187f, -0.000052f, -0.032260f, 0.033530f, -0.015083f, 0.002969f, -0.029097f, 0.006049f, -0.162991f, -0.104632f, 0.022061f, 0.115641f, 0.098353f, 0.071940f, 0.020150f, 0.220503f, 0.076297f, -0.054021f, - -0.123732f, -0.059160f, 0.065687f, 0.048633f, -0.021224f, -0.090388f, -0.047552f, -0.073986f, -0.001862f, 0.017505f, 0.031101f, 0.052275f, 0.045599f, 0.002273f, -0.071046f, -0.120569f, -0.092279f, 0.091367f, 0.131120f, 0.081603f, -0.005236f, -0.045101f, -0.126606f, 0.063292f, 0.010243f, -0.173430f, -0.029654f, -0.041122f, 0.128891f, 0.149425f, 0.109340f, -0.140884f, -0.253227f, -0.245313f, 0.003423f, 0.227577f, 0.418611f, 0.180603f, -0.007698f, -0.355744f, -0.397453f, -0.237559f, 0.177173f, 0.166279f, 0.281223f, 0.134825f, -0.161094f, -0.180949f, -0.014477f, -0.137344f, -0.120363f, -0.006787f, -0.072081f, -0.045147f, -0.078544f, 0.079862f, 0.147038f, 0.191205f, 0.028206f, -0.067228f, -0.245851f, -0.108712f, 0.005946f, 0.041767f}, - {-0.002838f, -0.008432f, -0.013783f, -0.018737f, -0.023156f, -0.026916f, -0.029917f, -0.032084f, -0.033369f, -0.033752f, -0.033243f, -0.031880f, -0.029728f, -0.026877f, -0.023436f, -0.019533f, -0.015308f, -0.010907f, -0.006479f, -0.002172f, 0.001878f, 0.005545f, 0.008720f, 0.011315f, 0.013266f, 0.014533f, 0.015101f, 0.014982f, 0.014214f, 0.012856f, 0.010989f, 0.008711f, 0.006132f, 0.003373f, 0.000558f, -0.002190f, -0.004751f, -0.007016f, -0.008888f, -0.010286f, -0.011150f, -0.011440f, -0.011137f, -0.010247f, -0.008796f, -0.006831f, -0.004417f, -0.001634f, 0.001424f, 0.004656f, 0.007955f, 0.011217f, 0.014336f, 0.017218f, 0.019776f, 0.021940f, 0.023652f, 0.024875f, 0.025587f, 0.025788f, 0.025492f, 0.024734f, 0.023560f, 0.022031f, 0.020217f, 0.018193f, 0.016039f, 0.013833f, 0.011651f, 0.009559f, 0.007617f, 0.005872f, 0.004357f, 0.003092f, 0.002082f, 0.001315f, 0.000769f, 0.000408f, 0.000187f, 0.000052f, 0.032260f, -0.033530f, 0.015083f, -0.002969f, 0.029097f, -0.006049f, 0.162991f, 0.104632f, -0.022061f, -0.115641f, -0.098353f, -0.071940f, -0.020150f, -0.220503f, -0.076297f, 0.054021f, - 0.123732f, 0.059160f, -0.065687f, -0.048633f, 0.021224f, 0.090388f, 0.047552f, 0.073986f, 0.001862f, -0.017505f, -0.031101f, -0.052275f, -0.045599f, -0.002273f, 0.071046f, 0.120569f, 0.092279f, -0.091367f, -0.131120f, -0.081603f, 0.005236f, 0.045101f, 0.126606f, -0.063292f, -0.010243f, 0.173430f, 0.029654f, 0.041122f, -0.128891f, -0.149425f, -0.109340f, 0.140884f, 0.253227f, 0.245313f, -0.003423f, -0.227577f, -0.418611f, -0.180603f, 0.007698f, 0.355744f, 0.397453f, 0.237559f, -0.177173f, -0.166279f, -0.281223f, -0.134825f, 0.161094f, 0.180949f, 0.014477f, 0.137344f, 0.120363f, 0.006787f, 0.072081f, 0.045147f, 0.078544f, -0.079862f, -0.147038f, -0.191205f, -0.028206f, 0.067228f, 0.245851f, 0.108712f, -0.005946f, -0.041767f} - }, - { - {0.001417f, 0.004213f, 0.006899f, 0.009406f, 0.011674f, 0.013652f, 0.015305f, 0.016608f, 0.017553f, 0.018149f, 0.018418f, 0.018397f, 0.018136f, 0.017694f, 0.017137f, 0.016538f, 0.015967f, 0.015493f, 0.015180f, 0.015080f, 0.015235f, 0.015670f, 0.016397f, 0.017407f, 0.018674f, 0.020154f, 0.021789f, 0.023502f, 0.025209f, 0.026812f, 0.028212f, 0.029308f, 0.030000f, 0.030198f, 0.029822f, 0.028808f, 0.027110f, 0.024706f, 0.021593f, 0.017795f, 0.013362f, 0.008367f, 0.002904f, -0.002910f, -0.008943f, -0.015050f, -0.021075f, -0.026863f, -0.032258f, -0.037112f, -0.041288f, -0.044668f, -0.047156f, -0.048678f, -0.049192f, -0.048682f, -0.047166f, -0.044690f, -0.041333f, -0.037198f, -0.032413f, -0.027126f, -0.021500f, -0.015708f, -0.009928f, -0.004333f, 0.000909f, 0.005646f, 0.009741f, 0.013084f, 0.015591f, 0.017208f, 0.017913f, 0.017715f, 0.016657f, 0.014812f, 0.012282f, 0.009191f, 0.005685f, 0.001924f, -0.037055f, 0.016619f, -0.044855f, 0.019307f, -0.046802f, 0.052235f, 0.029452f, -0.090642f, -0.084602f, 0.021858f, -0.092365f, -0.083654f, 0.048261f, -0.100817f, -0.290582f, -0.107580f, - 0.169082f, 0.221924f, 0.238889f, -0.137615f, 0.012779f, 0.194037f, 0.175402f, -0.026204f, -0.167182f, -0.108575f, -0.081142f, 0.067975f, 0.225941f, 0.184811f, 0.043057f, -0.140596f, -0.169342f, -0.108633f, 0.036195f, 0.127169f, 0.170863f, 0.027724f, -0.060391f, -0.103888f, -0.095562f, 0.017380f, 0.139349f, 0.137799f, 0.028598f, -0.119610f, -0.152271f, -0.068246f, -0.031898f, 0.036047f, 0.120064f, 0.127166f, 0.152684f, 0.025783f, -0.081842f, -0.292260f, -0.231206f, -0.064232f, 0.219482f, 0.037531f, 0.140152f, 0.094400f, -0.105524f, -0.184059f, -0.070996f, -0.192582f, -0.235947f, 0.029902f, 0.090350f, 0.157738f, 0.002441f, -0.003316f, -0.036480f, 0.201197f, 0.025254f, 0.086645f, -0.302854f, -0.271850f, 0.039836f, 0.008343f}, - {0.001417f, 0.004213f, 0.006899f, 0.009406f, 0.011674f, 0.013652f, 0.015305f, 0.016608f, 0.017553f, 0.018149f, 0.018418f, 0.018397f, 0.018136f, 0.017694f, 0.017137f, 0.016538f, 0.015967f, 0.015493f, 0.015180f, 0.015080f, 0.015235f, 0.015670f, 0.016397f, 0.017407f, 0.018674f, 0.020154f, 0.021789f, 0.023502f, 0.025209f, 0.026812f, 0.028212f, 0.029308f, 0.030000f, 0.030198f, 0.029822f, 0.028808f, 0.027110f, 0.024706f, 0.021593f, 0.017795f, 0.013362f, 0.008367f, 0.002904f, -0.002910f, -0.008943f, -0.015050f, -0.021075f, -0.026863f, -0.032258f, -0.037112f, -0.041288f, -0.044668f, -0.047156f, -0.048678f, -0.049192f, -0.048682f, -0.047166f, -0.044690f, -0.041333f, -0.037198f, -0.032413f, -0.027126f, -0.021500f, -0.015708f, -0.009928f, -0.004333f, 0.000909f, 0.005646f, 0.009741f, 0.013084f, 0.015591f, 0.017208f, 0.017913f, 0.017715f, 0.016657f, 0.014812f, 0.012282f, 0.009191f, 0.005685f, 0.001924f, -0.037055f, 0.016619f, -0.044855f, 0.019307f, -0.046802f, 0.052235f, 0.029452f, -0.090642f, -0.084602f, 0.021858f, -0.092365f, -0.083654f, 0.048261f, -0.100817f, -0.290582f, -0.107580f, - 0.169082f, 0.221924f, 0.238889f, -0.137615f, 0.012779f, 0.194037f, 0.175402f, -0.026204f, -0.167182f, -0.108575f, -0.081142f, 0.067975f, 0.225941f, 0.184811f, 0.043057f, -0.140596f, -0.169342f, -0.108633f, 0.036195f, 0.127169f, 0.170863f, 0.027724f, -0.060391f, -0.103888f, -0.095562f, 0.017380f, 0.139349f, 0.137799f, 0.028598f, -0.119610f, -0.152271f, -0.068246f, -0.031898f, 0.036047f, 0.120064f, 0.127166f, 0.152684f, 0.025783f, -0.081842f, -0.292260f, -0.231206f, -0.064232f, 0.219482f, 0.037531f, 0.140152f, 0.094400f, -0.105524f, -0.184059f, -0.070996f, -0.192582f, -0.235947f, 0.029902f, 0.090350f, 0.157738f, 0.002441f, -0.003316f, -0.036480f, 0.201197f, 0.025254f, 0.086645f, -0.302854f, -0.271850f, 0.039836f, 0.008343f} - }, - { - {0.000678f, 0.002005f, 0.003245f, 0.004342f, 0.005251f, 0.005932f, 0.006358f, 0.006511f, 0.006390f, 0.006004f, 0.005376f, 0.004542f, 0.003548f, 0.002449f, 0.001309f, 0.000193f, -0.000829f, -0.001692f, -0.002332f, -0.002695f, -0.002734f, -0.002415f, -0.001719f, -0.000640f, 0.000810f, 0.002605f, 0.004701f, 0.007042f, 0.009559f, 0.012171f, 0.014789f, 0.017321f, 0.019670f, 0.021745f, 0.023456f, 0.024724f, 0.025479f, 0.025666f, 0.025247f, 0.024200f, 0.022524f, 0.020235f, 0.017369f, 0.013981f, 0.010140f, 0.005932f, 0.001453f, -0.003193f, -0.007894f, -0.012539f, -0.017017f, -0.021225f, -0.025065f, -0.028453f, -0.031320f, -0.033611f, -0.035290f, -0.036339f, -0.036761f, -0.036573f, -0.035812f, -0.034531f, -0.032792f, -0.030672f, -0.028253f, -0.025620f, -0.022861f, -0.020061f, -0.017297f, -0.014642f, -0.012154f, -0.009880f, -0.007853f, -0.006092f, -0.004597f, -0.003358f, -0.002349f, -0.001532f, -0.000859f, -0.000276f, -0.001478f, 0.043843f, 0.014752f, -0.018881f, -0.016664f, 0.070932f, 0.100190f, 0.017333f, -0.088039f, -0.193031f, -0.136385f, -0.038987f, 0.093755f, -0.091169f, -0.063585f, -0.021465f, - 0.067888f, 0.136567f, 0.333335f, -0.026602f, -0.089426f, -0.069872f, -0.017664f, 0.016592f, 0.180053f, 0.100658f, 0.081240f, -0.052269f, -0.183656f, -0.094968f, -0.097229f, 0.062112f, 0.073215f, 0.132789f, -0.018266f, -0.096281f, -0.159036f, -0.059303f, -0.038813f, 0.030417f, 0.064639f, 0.086041f, -0.010160f, -0.081758f, -0.083045f, -0.029956f, 0.028823f, 0.030263f, -0.098869f, -0.074274f, 0.013947f, 0.079593f, 0.036589f, 0.070035f, -0.017284f, -0.058669f, -0.016308f, -0.063333f, 0.040365f, -0.137154f, 0.098537f, 0.099193f, -0.103408f, -0.161889f, 0.019474f, -0.105259f, -0.098933f, 0.078835f, -0.040012f, -0.050375f, -0.163213f, -0.008125f, 0.189076f, 0.445716f, 0.196394f, -0.035165f, -0.260981f, -0.127357f, -0.001061f, 0.023980f}, - {0.000678f, 0.002005f, 0.003245f, 0.004342f, 0.005251f, 0.005932f, 0.006358f, 0.006511f, 0.006390f, 0.006004f, 0.005376f, 0.004542f, 0.003548f, 0.002449f, 0.001309f, 0.000193f, -0.000829f, -0.001692f, -0.002332f, -0.002695f, -0.002734f, -0.002415f, -0.001719f, -0.000640f, 0.000810f, 0.002605f, 0.004701f, 0.007042f, 0.009559f, 0.012171f, 0.014789f, 0.017321f, 0.019670f, 0.021745f, 0.023456f, 0.024724f, 0.025479f, 0.025666f, 0.025247f, 0.024200f, 0.022524f, 0.020235f, 0.017369f, 0.013981f, 0.010140f, 0.005932f, 0.001453f, -0.003193f, -0.007894f, -0.012539f, -0.017017f, -0.021225f, -0.025065f, -0.028453f, -0.031320f, -0.033611f, -0.035290f, -0.036339f, -0.036761f, -0.036573f, -0.035812f, -0.034531f, -0.032792f, -0.030672f, -0.028253f, -0.025620f, -0.022861f, -0.020061f, -0.017297f, -0.014642f, -0.012154f, -0.009880f, -0.007853f, -0.006092f, -0.004597f, -0.003358f, -0.002349f, -0.001532f, -0.000859f, -0.000276f, -0.001478f, 0.043843f, 0.014752f, -0.018881f, -0.016664f, 0.070932f, 0.100190f, 0.017333f, -0.088039f, -0.193031f, -0.136385f, -0.038987f, 0.093755f, -0.091169f, -0.063585f, -0.021465f, - 0.067888f, 0.136567f, 0.333335f, -0.026602f, -0.089426f, -0.069872f, -0.017664f, 0.016592f, 0.180053f, 0.100658f, 0.081240f, -0.052269f, -0.183656f, -0.094968f, -0.097229f, 0.062112f, 0.073215f, 0.132789f, -0.018266f, -0.096281f, -0.159036f, -0.059303f, -0.038813f, 0.030417f, 0.064639f, 0.086041f, -0.010160f, -0.081758f, -0.083045f, -0.029956f, 0.028823f, 0.030263f, -0.098869f, -0.074274f, 0.013947f, 0.079593f, 0.036589f, 0.070035f, -0.017284f, -0.058669f, -0.016308f, -0.063333f, 0.040365f, -0.137154f, 0.098537f, 0.099193f, -0.103408f, -0.161889f, 0.019474f, -0.105259f, -0.098933f, 0.078835f, -0.040012f, -0.050375f, -0.163213f, -0.008125f, 0.189076f, 0.445716f, 0.196394f, -0.035165f, -0.260981f, -0.127357f, -0.001061f, 0.023980f} - }, - { - {-0.002408f, -0.007164f, -0.011740f, -0.016022f, -0.019904f, -0.023293f, -0.026111f, -0.028295f, -0.029802f, -0.030607f, -0.030708f, -0.030118f, -0.028874f, -0.027028f, -0.024647f, -0.021813f, -0.018618f, -0.015159f, -0.011540f, -0.007865f, -0.004233f, -0.000740f, 0.002528f, 0.005496f, 0.008101f, 0.010297f, 0.012051f, 0.013349f, 0.014191f, 0.014593f, 0.014587f, 0.014214f, 0.013529f, 0.012594f, 0.011477f, 0.010247f, 0.008977f, 0.007734f, 0.006583f, 0.005581f, 0.004776f, 0.004206f, 0.003897f, 0.003865f, 0.004111f, 0.004627f, 0.005393f, 0.006379f, 0.007547f, 0.008852f, 0.010246f, 0.011676f, 0.013091f, 0.014440f, 0.015676f, 0.016757f, 0.017647f, 0.018320f, 0.018756f, 0.018945f, 0.018885f, 0.018584f, 0.018055f, 0.017321f, 0.016409f, 0.015350f, 0.014179f, 0.012929f, 0.011636f, 0.010331f, 0.009044f, 0.007799f, 0.006615f, 0.005505f, 0.004475f, 0.003527f, 0.002653f, 0.001845f, 0.001086f, 0.000359f, 0.003451f, -0.025273f, 0.031934f, 0.008073f, 0.036383f, -0.059115f, 0.015201f, -0.027867f, -0.036472f, 0.006728f, 0.089776f, 0.031569f, 0.052924f, 0.052550f, 0.036035f, 0.026876f, - 0.046325f, 0.144330f, 0.148471f, -0.098440f, -0.070547f, 0.075999f, 0.075345f, 0.056472f, -0.047392f, -0.016216f, -0.060330f, -0.063398f, -0.017374f, 0.045235f, 0.090822f, -0.025879f, -0.075482f, -0.028323f, 0.051387f, 0.075571f, 0.081483f, 0.000095f, -0.046879f, -0.036083f, 0.022425f, 0.036351f, 0.026749f, 0.010041f, -0.069061f, -0.048783f, -0.047015f, -0.027634f, -0.048952f, 0.007175f, 0.058529f, 0.075508f, -0.057571f, -0.037875f, -0.107202f, 0.001530f, 0.044873f, 0.111928f, 0.002121f, 0.069973f, -0.097021f, -0.088849f, 0.011183f, 0.116610f, 0.058783f, 0.143659f, 0.103156f, -0.039348f, -0.097690f, -0.106951f, -0.044435f, 0.033247f, 0.096534f, -0.020143f, -0.010372f, -0.080353f, -0.122396f, -0.107125f, 0.051493f, -0.012680f}, - {-0.002408f, -0.007164f, -0.011740f, -0.016022f, -0.019904f, -0.023293f, -0.026111f, -0.028295f, -0.029802f, -0.030607f, -0.030708f, -0.030118f, -0.028874f, -0.027028f, -0.024647f, -0.021813f, -0.018618f, -0.015159f, -0.011540f, -0.007865f, -0.004233f, -0.000740f, 0.002528f, 0.005496f, 0.008101f, 0.010297f, 0.012051f, 0.013349f, 0.014191f, 0.014593f, 0.014587f, 0.014214f, 0.013529f, 0.012594f, 0.011477f, 0.010247f, 0.008977f, 0.007734f, 0.006583f, 0.005581f, 0.004776f, 0.004206f, 0.003897f, 0.003865f, 0.004111f, 0.004627f, 0.005393f, 0.006379f, 0.007547f, 0.008852f, 0.010246f, 0.011676f, 0.013091f, 0.014440f, 0.015676f, 0.016757f, 0.017647f, 0.018320f, 0.018756f, 0.018945f, 0.018885f, 0.018584f, 0.018055f, 0.017321f, 0.016409f, 0.015350f, 0.014179f, 0.012929f, 0.011636f, 0.010331f, 0.009044f, 0.007799f, 0.006615f, 0.005505f, 0.004475f, 0.003527f, 0.002653f, 0.001845f, 0.001086f, 0.000359f, 0.003451f, -0.025273f, 0.031934f, 0.008073f, 0.036383f, -0.059115f, 0.015201f, -0.027867f, -0.036472f, 0.006728f, 0.089776f, 0.031569f, 0.052924f, 0.052550f, 0.036035f, 0.026876f, - 0.046325f, 0.144330f, 0.148471f, -0.098440f, -0.070547f, 0.075999f, 0.075345f, 0.056472f, -0.047392f, -0.016216f, -0.060330f, -0.063398f, -0.017374f, 0.045235f, 0.090822f, -0.025879f, -0.075482f, -0.028323f, 0.051387f, 0.075571f, 0.081483f, 0.000095f, -0.046879f, -0.036083f, 0.022425f, 0.036351f, 0.026749f, 0.010041f, -0.069061f, -0.048783f, -0.047015f, -0.027634f, -0.048952f, 0.007175f, 0.058529f, 0.075508f, -0.057571f, -0.037875f, -0.107202f, 0.001530f, 0.044873f, 0.111928f, 0.002121f, 0.069973f, -0.097021f, -0.088849f, 0.011183f, 0.116610f, 0.058783f, 0.143659f, 0.103156f, -0.039348f, -0.097690f, -0.106951f, -0.044435f, 0.033247f, 0.096534f, -0.020143f, -0.010372f, -0.080353f, -0.122396f, -0.107125f, 0.051493f, -0.012680f} - }, - { - {-0.000769f, -0.002289f, -0.003749f, -0.005115f, -0.006352f, -0.007430f, -0.008327f, -0.009024f, -0.009511f, -0.009782f, -0.009840f, -0.009694f, -0.009361f, -0.008859f, -0.008215f, -0.007457f, -0.006616f, -0.005724f, -0.004812f, -0.003911f, -0.003047f, -0.002244f, -0.001520f, -0.000889f, -0.000357f, 0.000073f, 0.000406f, 0.000654f, 0.000831f, 0.000957f, 0.001057f, 0.001156f, 0.001281f, 0.001459f, 0.001716f, 0.002074f, 0.002553f, 0.003168f, 0.003926f, 0.004831f, 0.005879f, 0.007059f, 0.008354f, 0.009742f, 0.011192f, 0.012674f, 0.014150f, 0.015581f, 0.016930f, 0.018156f, 0.019224f, 0.020100f, 0.020757f, 0.021171f, 0.021326f, 0.021214f, 0.020833f, 0.020192f, 0.019304f, 0.018191f, 0.016883f, 0.015413f, 0.013821f, 0.012147f, 0.010437f, 0.008733f, 0.007078f, 0.005512f, 0.004070f, 0.002782f, 0.001673f, 0.000758f, 0.000045f, -0.000464f, -0.000778f, -0.000910f, -0.000885f, -0.000730f, -0.000477f, -0.000166f, 0.008996f, -0.007501f, 0.003669f, -0.015821f, 0.037905f, 0.006306f, -0.038948f, 0.013367f, 0.009375f, 0.033153f, 0.012381f, -0.076053f, -0.024165f, -0.049333f, -0.093735f, 0.015389f, - 0.103849f, 0.086389f, 0.092310f, -0.047303f, 0.013689f, 0.074313f, 0.090886f, 0.049559f, -0.015663f, -0.052549f, -0.016329f, -0.076266f, -0.061826f, -0.063511f, 0.039646f, 0.123095f, 0.014255f, 0.014006f, 0.012179f, -0.051475f, -0.067447f, 0.041413f, 0.086814f, 0.105537f, 0.082272f, 0.021088f, -0.042444f, -0.065750f, -0.031024f, 0.002792f, 0.034656f, 0.036967f, -0.025911f, -0.038597f, -0.025850f, -0.024307f, -0.026230f, 0.141877f, 0.011333f, 0.059458f, 0.006121f, -0.057907f, -0.144673f, 0.083071f, 0.022746f, 0.048092f, 0.089863f, -0.028500f, -0.070405f, -0.107009f, 0.050452f, 0.079530f, 0.065303f, 0.007590f, -0.037520f, -0.038727f, -0.076749f, -0.091653f, 0.029711f, 0.108371f, 0.063467f, -0.081410f, -0.017582f, -0.012313f}, - {-0.000769f, -0.002289f, -0.003749f, -0.005115f, -0.006352f, -0.007430f, -0.008327f, -0.009024f, -0.009511f, -0.009782f, -0.009840f, -0.009694f, -0.009361f, -0.008859f, -0.008215f, -0.007457f, -0.006616f, -0.005724f, -0.004812f, -0.003911f, -0.003047f, -0.002244f, -0.001520f, -0.000889f, -0.000357f, 0.000073f, 0.000406f, 0.000654f, 0.000831f, 0.000957f, 0.001057f, 0.001156f, 0.001281f, 0.001459f, 0.001716f, 0.002074f, 0.002553f, 0.003168f, 0.003926f, 0.004831f, 0.005879f, 0.007059f, 0.008354f, 0.009742f, 0.011192f, 0.012674f, 0.014150f, 0.015581f, 0.016930f, 0.018156f, 0.019224f, 0.020100f, 0.020757f, 0.021171f, 0.021326f, 0.021214f, 0.020833f, 0.020192f, 0.019304f, 0.018191f, 0.016883f, 0.015413f, 0.013821f, 0.012147f, 0.010437f, 0.008733f, 0.007078f, 0.005512f, 0.004070f, 0.002782f, 0.001673f, 0.000758f, 0.000045f, -0.000464f, -0.000778f, -0.000910f, -0.000885f, -0.000730f, -0.000477f, -0.000166f, 0.008996f, -0.007501f, 0.003669f, -0.015821f, 0.037905f, 0.006306f, -0.038948f, 0.013367f, 0.009375f, 0.033153f, 0.012381f, -0.076053f, -0.024165f, -0.049333f, -0.093735f, 0.015389f, - 0.103849f, 0.086389f, 0.092310f, -0.047303f, 0.013689f, 0.074313f, 0.090886f, 0.049559f, -0.015663f, -0.052549f, -0.016329f, -0.076266f, -0.061826f, -0.063511f, 0.039646f, 0.123095f, 0.014255f, 0.014006f, 0.012179f, -0.051475f, -0.067447f, 0.041413f, 0.086814f, 0.105537f, 0.082272f, 0.021088f, -0.042444f, -0.065750f, -0.031024f, 0.002792f, 0.034656f, 0.036967f, -0.025911f, -0.038597f, -0.025850f, -0.024307f, -0.026230f, 0.141877f, 0.011333f, 0.059458f, 0.006121f, -0.057907f, -0.144673f, 0.083071f, 0.022746f, 0.048092f, 0.089863f, -0.028500f, -0.070405f, -0.107009f, 0.050452f, 0.079530f, 0.065303f, 0.007590f, -0.037520f, -0.038727f, -0.076749f, -0.091653f, 0.029711f, 0.108371f, 0.063467f, -0.081410f, -0.017582f, -0.012313f} - } -}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; -const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; - -/********************** Sample Rate = 48000 **********************/ - -const float CRendBin_Combined_BRIR_latency_s_48kHz = 0.000145833328133f; -const int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz = 22; -const uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]={{22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22} }; -const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {40, 40}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][22]={{{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240},{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240}},{{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240},{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240}},{{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240},{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240}},{{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240},{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240}},{{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240},{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240}},{{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240},{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240}},{{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240},{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240}},{{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240},{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240}},{{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240},{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240}},{{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240},{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240}},{{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240},{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240}},{{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240},{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240}},{{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240},{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240}},{{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240},{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240}},{{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240},{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240}}}; -const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz = 98; -const float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[15]={0.224183f, 0.227455f, 0.241830f, 0.207155f, 0.218087f, 0.222942f, 0.232158f, 0.248203f, 0.249262f, 0.261591f, 0.246276f, 0.279163f, 0.285701f, 0.262541f, 0.271844f}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98},{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98}}; -const float CRendBin_Combined_BRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][2955]={ - { - {-0.009093f, 0.009357f, -0.003453f, 0.000012f, 0.008747f, -0.004985f, 0.003413f, -0.000634f, 0.001224f, -0.005937f, -0.012436f, -0.002558f, 0.004885f, -0.003188f, 0.002971f, 0.004317f, 0.003658f, -0.002726f, 0.002070f, -0.007687f, -0.001416f, 0.001935f, 0.003177f, -0.000251f, -0.000183f, 0.000966f, 0.001890f, -0.006432f, -0.005361f, 0.002269f, 0.004446f, -0.002213f, 0.004654f, 0.008920f, -0.011982f, 0.001718f, -0.005741f, -0.003864f, 0.002657f, -0.001469f, 0.007339f, -0.002261f, 0.006608f, 0.003502f, 0.001066f, -0.000452f, 0.003522f, 0.000236f, -0.000743f, -0.003707f, 0.010716f, -0.007427f, -0.002282f, 0.003802f, 0.004147f, -0.000158f, -0.003653f, 0.002094f, -0.004039f, 0.004196f, 0.000776f, 0.001549f, -0.000111f, -0.001391f, -0.001353f, 0.005598f, -0.014358f, 0.003399f, -0.001873f, -0.008279f, -0.001439f, 0.007045f, 0.003361f, 0.004391f, -0.006305f, 0.005087f, -0.002217f, 0.003215f, 0.001901f, 0.002512f, -0.002684f, 0.001092f, 0.003738f, -0.002456f, -0.005636f, 0.002331f, -0.005235f, 0.001052f, 0.003778f, 0.000046f, -0.001918f, -0.002121f, 0.000983f, 0.002093f, -0.000885f, 0.002506f, - 0.000072f, 0.001810f, 0.001468f, -0.000633f, -0.000400f, 0.000722f, -0.000855f, -0.000439f, -0.000674f, 0.000736f, -0.001170f, 0.000615f, -0.001693f, -0.000356f, -0.001593f, -0.000167f, -0.000536f, -0.001693f, -0.000430f, 0.000869f, -0.016548f, 0.013099f, -0.006110f, 0.003024f, 0.002545f, 0.000530f, -0.003448f, -0.000153f, -0.009247f, -0.011535f, 0.003315f, -0.002100f, 0.003770f, 0.003820f, 0.010643f, -0.008458f, 0.001381f, 0.007304f, 0.007055f, -0.006833f, -0.007323f, -0.003795f, -0.006343f, 0.000756f, -0.002040f, -0.004870f, -0.003752f, 0.000195f, -0.011680f, -0.011100f, -0.002255f, 0.002419f, -0.000896f, 0.001112f, -0.001224f, 0.002740f, -0.006075f, 0.007338f, -0.002398f, 0.004255f, -0.000762f, 0.003059f, -0.005530f, 0.002101f, 0.004053f, 0.004914f, 0.002178f, 0.001088f, 0.001822f, -0.001847f, -0.004563f, 0.009718f, 0.007337f, 0.003204f, -0.003443f, 0.012008f, 0.008134f, -0.003185f, 0.007655f, -0.000423f, -0.005762f, -0.001269f, -0.002000f, -0.005077f, 0.003548f, 0.004120f, 0.002022f, -0.003855f, 0.008485f, -0.005344f, 0.005024f, 0.007247f, -0.001229f, 0.000911f, -0.010281f, -0.004429f, - -0.011074f, 0.001827f, 0.005457f, -0.005184f, -0.001478f, 0.002281f, -0.004939f, -0.001227f, 0.002601f, -0.000101f, 0.001903f, -0.000963f, -0.002567f, -0.007177f, -0.003478f, -0.001127f, -0.001641f, -0.000406f, -0.000022f, 0.000663f, -0.000778f, -0.001037f, -0.002571f, -0.001026f, 0.000215f, 0.000803f, 0.000720f, -0.001278f, -0.000114f, 0.000175f, 0.000535f, -0.000117f, 0.000549f, 0.000069f, 0.000886f, 0.000094f, -0.001187f, -0.001996f, -0.002159f, 0.000001f, -0.001221f, -0.001584f, 0.000446f, 0.014016f, 0.006425f, -0.005359f, 0.002405f, 0.001850f, 0.022319f, -0.006555f, 0.006402f, 0.010902f, -0.002095f, 0.009925f, 0.004039f, 0.006766f, -0.008829f, -0.003238f, -0.010349f, -0.004751f, 0.006972f, -0.000161f, -0.004927f, 0.001222f, -0.007261f, -0.000524f, -0.004758f, 0.006675f, -0.002917f, -0.000866f, -0.002631f, 0.003572f, 0.001537f, 0.000128f, -0.000865f, 0.002945f, -0.010921f, -0.008350f, 0.003731f, 0.001053f, -0.001082f, -0.005474f, 0.012960f, 0.003783f, -0.001700f, 0.004347f, 0.005112f, 0.000067f, 0.002512f, 0.001279f, -0.006453f, 0.005877f, -0.007677f, -0.005716f, 0.006812f, -0.008090f, - 0.006993f, 0.003218f, -0.006206f, 0.010649f, 0.005668f, 0.004133f, -0.002939f, 0.009660f, 0.002181f, -0.001241f, -0.002847f, 0.002993f, 0.001057f, -0.001603f, -0.011385f, -0.001565f, -0.002282f, 0.003532f, -0.006724f, 0.009045f, -0.003204f, 0.007427f, -0.007772f, 0.000337f, -0.000894f, 0.009233f, -0.004361f, -0.002925f, 0.001575f, 0.003488f, -0.000206f, 0.001881f, -0.001494f, -0.008342f, -0.001040f, -0.000510f, -0.000534f, -0.001062f, -0.000260f, 0.000129f, -0.001250f, -0.001530f, -0.001832f, -0.001890f, 0.000054f, -0.000683f, -0.000057f, 0.001245f, -0.001510f, 0.000996f, 0.001024f, 0.002591f, -0.003097f, 0.002064f, 0.000803f, 0.001625f, -0.000282f, 0.002410f, 0.000776f, -0.001022f, -0.001925f, -0.000436f, -0.000968f, 0.023325f, -0.019306f, -0.016942f, -0.005439f, 0.017868f, -0.002462f, -0.009634f, 0.012241f, -0.008104f, 0.005797f, -0.000413f, -0.013267f, -0.009008f, 0.011237f, -0.007228f, 0.005580f, -0.007543f, 0.007434f, -0.003262f, -0.002029f, -0.000807f, -0.007304f, 0.003910f, 0.005393f, -0.007325f, 0.001832f, -0.003702f, 0.001545f, 0.003411f, -0.001050f, 0.004873f, 0.001485f, 0.003997f, - 0.006281f, -0.007979f, -0.005878f, 0.007304f, 0.000399f, 0.005685f, 0.005521f, -0.005039f, -0.007557f, -0.002961f, 0.001340f, 0.010043f, -0.010754f, 0.004517f, -0.012012f, -0.014604f, -0.003423f, -0.008320f, -0.001375f, -0.009869f, -0.018881f, -0.009944f, 0.008808f, 0.008277f, 0.005352f, -0.006220f, 0.018133f, -0.005491f, 0.003081f, -0.009929f, -0.009417f, 0.002570f, 0.000024f, -0.000836f, -0.011895f, -0.003811f, -0.000660f, -0.002326f, -0.002293f, -0.006335f, -0.005144f, 0.001409f, -0.001630f, -0.003435f, 0.000421f, -0.006134f, 0.001131f, 0.003632f, 0.006207f, 0.003542f, -0.005212f, 0.005585f, -0.003592f, -0.000254f, 0.006173f, 0.002704f, 0.000919f, -0.001927f, 0.003182f, 0.003724f, 0.002853f, 0.000722f, -0.001581f, 0.000634f, 0.004389f, 0.002350f, 0.002829f, 0.001301f, -0.001639f, 0.002440f, 0.000455f, -0.000174f, 0.000668f, -0.001151f, 0.000416f, 0.000739f, -0.001306f, 0.002502f, 0.003576f, 0.004317f, -0.000284f, -0.000226f, 0.000603f, -0.002627f, 0.003921f, -0.000167f, 0.002439f, -0.000508f, 0.029790f, -0.009842f, 0.013902f, -0.003772f, 0.018702f, -0.003686f, -0.002977f, 0.003132f, - 0.003710f, -0.003211f, -0.021663f, 0.002097f, -0.002175f, -0.005768f, -0.000428f, -0.001053f, 0.007575f, -0.002481f, 0.018260f, -0.002442f, 0.001965f, -0.001328f, 0.010280f, -0.002051f, 0.003472f, -0.008595f, -0.000446f, -0.005904f, -0.006278f, -0.001760f, -0.001909f, 0.000078f, 0.006534f, -0.011787f, -0.003635f, 0.004008f, -0.001515f, 0.008164f, 0.001712f, -0.002058f, -0.005580f, -0.005368f, -0.005921f, -0.010776f, 0.003886f, 0.004581f, 0.003849f, -0.018788f, -0.002952f, 0.013285f, 0.007260f, -0.002999f, -0.000788f, -0.005808f, -0.013110f, -0.013676f, 0.013454f, -0.004205f, -0.009379f, -0.005110f, 0.007211f, 0.005925f, 0.000467f, 0.006641f, 0.002531f, 0.006423f, -0.003376f, -0.013407f, -0.004790f, -0.006033f, -0.007063f, 0.009888f, 0.006315f, -0.001088f, 0.010780f, 0.016463f, -0.004137f, 0.006981f, -0.006579f, -0.000806f, -0.000109f, 0.007173f, -0.000773f, 0.001801f, 0.001419f, 0.002230f, 0.005473f, -0.005651f, 0.004245f, -0.002935f, 0.000241f, -0.003598f, 0.000405f, 0.001902f, 0.003837f, 0.002941f, -0.000289f, 0.001056f, 0.000049f, -0.000439f, 0.001885f, -0.005330f, -0.000951f, -0.004254f, - 0.000783f, -0.000763f, -0.000882f, -0.001862f, -0.001319f, -0.002219f, 0.002179f, 0.001122f, -0.044640f, 0.024578f, 0.008968f, -0.002035f, -0.001961f, 0.000146f, -0.006776f, -0.012418f, -0.002677f, 0.006108f, 0.018934f, 0.012733f, -0.017209f, -0.003263f, -0.010228f, 0.007041f, -0.000849f, -0.023249f, -0.006842f, 0.014321f, 0.008855f, 0.004920f, 0.012144f, 0.007375f, -0.001209f, -0.001495f, 0.003609f, -0.008824f, -0.005206f, 0.002081f, 0.010599f, -0.004410f, -0.008856f, -0.012822f, -0.006446f, 0.006469f, 0.020852f, 0.001493f, -0.003611f, 0.004461f, -0.004254f, -0.015388f, 0.001188f, -0.010848f, -0.008535f, -0.010120f, 0.006377f, -0.000572f, -0.014431f, 0.002752f, 0.005525f, 0.005708f, -0.015616f, -0.008641f, -0.005789f, -0.003843f, -0.001664f, -0.005745f, -0.002756f, -0.007440f, -0.015155f, -0.001734f, -0.012864f, -0.015458f, -0.009559f, -0.002702f, 0.002716f, -0.009187f, -0.013573f, 0.004052f, 0.010970f, -0.000537f, -0.001964f, -0.001263f, 0.007992f, -0.011854f, 0.008926f, 0.014062f, 0.013680f, 0.010778f, 0.018384f, 0.000263f, -0.007515f, 0.004972f, 0.000865f, -0.001910f, -0.001665f, 0.000051f, - -0.004143f, 0.006098f, 0.000355f, 0.000488f, -0.003686f, -0.000994f, 0.002039f, 0.002320f, -0.002129f, -0.001951f, 0.001203f, 0.006291f, -0.000773f, 0.002412f, 0.002154f, 0.005383f, -0.004299f, 0.000310f, -0.000049f, -0.004794f, 0.000773f, 0.000705f, 0.004133f, 0.000483f, 0.000886f, 0.003550f, 0.002265f, -0.005983f, 0.002297f, -0.002121f, 0.001952f, -0.018436f, 0.007010f, -0.009100f, -0.001536f, 0.002449f, 0.005495f, -0.000728f, 0.009596f, 0.000270f, -0.001880f, -0.025882f, 0.012058f, -0.004784f, -0.005461f, 0.009329f, -0.014975f, -0.020625f, 0.008476f, -0.007210f, -0.009636f, -0.003032f, 0.018696f, 0.011751f, -0.006774f, -0.004002f, 0.008726f, -0.002562f, -0.000880f, 0.002531f, 0.008519f, 0.015559f, 0.009946f, 0.012592f, -0.001877f, -0.000528f, 0.000359f, -0.008271f, 0.002170f, -0.003478f, 0.021215f, -0.016166f, -0.009319f, -0.008546f, -0.007956f, 0.005102f, 0.002926f, 0.007590f, -0.001203f, -0.010679f, -0.014253f, -0.004132f, -0.017758f, -0.024815f, -0.004920f, 0.000677f, 0.019342f, 0.003826f, -0.015229f, -0.003924f, 0.014516f, -0.006128f, 0.004904f, 0.004351f, 0.008175f, -0.011492f, - -0.017167f, -0.007626f, -0.008707f, 0.027802f, 0.003168f, -0.008923f, 0.006115f, 0.004632f, -0.001987f, 0.003496f, 0.006426f, -0.000781f, 0.012407f, -0.016352f, -0.014570f, 0.004738f, -0.006694f, 0.014812f, -0.006787f, -0.000395f, 0.008041f, -0.002460f, 0.007133f, -0.000444f, -0.000290f, -0.000504f, -0.002336f, -0.000275f, 0.006427f, 0.002344f, 0.006247f, 0.003451f, 0.003154f, 0.000202f, -0.002190f, -0.001028f, 0.002660f, -0.000830f, 0.000859f, -0.001285f, 0.004510f, -0.003695f, 0.002659f, -0.003314f, 0.004550f, -0.004294f, 0.000488f, -0.000437f, -0.000378f, 0.003158f, 0.004297f, -0.004494f, 0.003209f, 0.001692f, -0.001413f, 0.006530f, 0.015738f, 0.004848f, -0.001499f, 0.010820f, -0.002271f, -0.013880f, -0.002738f, -0.001394f, 0.013303f, -0.007799f, -0.002015f, -0.004304f, 0.001985f, -0.004358f, 0.000635f, 0.004235f, 0.006176f, 0.009030f, 0.005826f, 0.002742f, 0.023469f, 0.009163f, 0.007576f, -0.001182f, -0.018879f, 0.001056f, -0.015763f, 0.004578f, -0.010757f, 0.002411f, -0.000172f, 0.005842f, 0.028904f, 0.008101f, -0.004743f, 0.010302f, -0.008456f, 0.008753f, -0.005334f, 0.015015f, - -0.008521f, -0.000255f, -0.011645f, 0.006769f, 0.011330f, -0.013723f, 0.027150f, -0.006901f, 0.001789f, -0.004392f, -0.007578f, 0.002759f, -0.008429f, -0.023649f, 0.003772f, -0.006067f, -0.001500f, -0.014674f, 0.003248f, -0.005309f, -0.024350f, -0.011118f, -0.006936f, -0.021534f, 0.011936f, 0.030608f, 0.037116f, -0.035716f, -0.027328f, -0.015217f, 0.001328f, 0.008689f, -0.011150f, 0.004922f, -0.012629f, 0.003114f, 0.017041f, 0.026401f, -0.018473f, 0.029583f, 0.009362f, 0.003328f, 0.004910f, 0.005218f, -0.006758f, 0.010055f, 0.009244f, 0.011222f, 0.008578f, 0.003518f, 0.013087f, -0.000087f, 0.004000f, -0.000390f, -0.000189f, 0.007035f, -0.002272f, -0.008820f, -0.002503f, 0.005534f, 0.004248f, 0.001651f, -0.000220f, -0.000691f, -0.000895f, 0.005580f, 0.004420f, 0.001880f, -0.005254f, 0.001162f, 0.001288f, -0.000046f, 0.005955f, 0.002525f, 0.003644f, -0.000159f, 0.004421f, 0.002508f, 0.004472f, 0.006260f, 0.006518f, 0.000295f, 0.000107f, -0.003478f, 0.007204f, 0.006436f, -0.000909f, -0.002150f, 0.000595f, 0.004603f, -0.001873f, 0.013170f, -0.025585f, 0.036484f, 0.000490f, 0.021254f, - 0.007512f, -0.007821f, -0.008090f, 0.019678f, -0.012038f, 0.012336f, 0.015245f, -0.002264f, -0.011217f, 0.000363f, 0.015775f, 0.008799f, 0.007964f, 0.006925f, -0.001733f, 0.002337f, 0.005102f, 0.020129f, 0.014051f, -0.011134f, -0.009596f, -0.001906f, -0.005017f, -0.002503f, -0.011000f, -0.007377f, 0.009926f, 0.017728f, 0.004282f, 0.026867f, -0.007877f, 0.029403f, 0.001034f, 0.013719f, 0.032341f, 0.022888f, 0.007100f, 0.006436f, 0.014441f, -0.003464f, -0.013518f, -0.000319f, 0.013568f, -0.008247f, -0.015466f, 0.000325f, -0.002732f, 0.029612f, 0.023657f, -0.000539f, 0.033418f, -0.003241f, 0.017810f, 0.009343f, 0.014013f, -0.002117f, -0.011989f, 0.014908f, -0.003396f, 0.017482f, 0.011784f, 0.037214f, -0.021291f, -0.003837f, -0.042636f, 0.008759f, -0.021146f, -0.003060f, 0.019104f, -0.008208f, 0.007637f, -0.003704f, 0.022392f, -0.006213f, -0.016219f, -0.001415f, -0.005759f, 0.006597f, -0.001387f, 0.010818f, 0.012572f, 0.003220f, -0.003775f, 0.010049f, -0.002634f, 0.004236f, -0.000321f, -0.006995f, 0.004295f, 0.004583f, 0.008624f, 0.004492f, 0.009707f, 0.004332f, -0.000568f, 0.000212f, - -0.003502f, -0.000059f, 0.009503f, -0.003710f, -0.007839f, 0.004116f, -0.000922f, 0.001297f, 0.007706f, 0.001681f, 0.001593f, 0.003223f, 0.004989f, -0.001861f, -0.001383f, 0.003435f, 0.006163f, 0.010409f, 0.009295f, -0.000154f, 0.004195f, -0.000041f, -0.000856f, 0.004478f, 0.006414f, 0.005775f, -0.003665f, -0.000020f, -0.001469f, 0.007704f, 0.001097f, -0.001569f, 0.000934f, -0.024552f, -0.018036f, 0.008784f, -0.014588f, 0.008267f, -0.008828f, 0.002357f, 0.022468f, -0.003896f, -0.021338f, 0.005692f, -0.009009f, 0.021635f, -0.022804f, -0.015929f, 0.009165f, 0.010390f, 0.015753f, 0.000494f, -0.001668f, 0.010157f, -0.006324f, -0.015611f, 0.009548f, -0.006463f, -0.012510f, 0.003641f, 0.012027f, -0.008978f, 0.022708f, 0.009170f, -0.000957f, 0.002923f, 0.011049f, 0.004816f, -0.039128f, 0.015859f, -0.004142f, -0.004195f, -0.006882f, 0.020665f, -0.000037f, 0.022011f, 0.000756f, 0.001864f, 0.002260f, -0.005905f, -0.002550f, 0.010662f, -0.012671f, 0.002900f, 0.035255f, 0.003060f, 0.025872f, 0.001965f, -0.005497f, -0.002910f, -0.017751f, -0.036503f, -0.026753f, 0.012011f, 0.016527f, -0.007261f, - 0.027691f, 0.011887f, -0.020133f, -0.011641f, 0.025335f, 0.018124f, 0.016724f, 0.005166f, -0.008057f, 0.000204f, -0.001607f, -0.015725f, -0.005055f, -0.009202f, -0.043097f, -0.018465f, -0.001207f, 0.028785f, 0.006199f, -0.006678f, 0.002873f, 0.024716f, -0.006359f, 0.001247f, -0.000079f, 0.006261f, -0.008351f, -0.003894f, -0.006302f, -0.003485f, -0.002383f, 0.005950f, -0.000531f, -0.001057f, -0.000621f, 0.004668f, 0.003476f, 0.007279f, -0.005393f, -0.008021f, 0.002640f, -0.008485f, -0.004962f, 0.001100f, 0.002822f, 0.001023f, -0.001764f, 0.008932f, -0.004423f, -0.002607f, -0.010568f, 0.003960f, -0.009586f, 0.007395f, 0.002948f, 0.004931f, -0.008171f, 0.000768f, -0.001663f, 0.003905f, -0.004852f, 0.003065f, -0.004379f, 0.004979f, -0.009061f, 0.000398f, -0.010574f, 0.011377f, 0.010704f, 0.023178f, 0.008746f, 0.007682f, 0.026630f, 0.022243f, 0.018543f, 0.000602f, 0.006817f, 0.001308f, -0.004482f, -0.005361f, 0.004252f, -0.002273f, -0.016173f, 0.003364f, 0.015595f, -0.000333f, -0.004672f, 0.004715f, -0.039324f, 0.012890f, -0.015748f, 0.009572f, 0.013137f, 0.011826f, -0.014856f, 0.007778f, - -0.001657f, -0.000476f, 0.023062f, 0.016816f, 0.000088f, 0.008939f, 0.006587f, -0.003294f, -0.013393f, 0.003085f, 0.011185f, 0.000080f, 0.016388f, 0.004813f, 0.014811f, 0.029339f, 0.001398f, 0.011763f, 0.012481f, 0.015673f, -0.000806f, -0.010252f, 0.025327f, -0.009984f, 0.020421f, -0.024344f, -0.020055f, 0.027788f, -0.001540f, 0.009103f, 0.016319f, 0.024235f, 0.031365f, 0.013164f, 0.004202f, -0.015496f, 0.006801f, -0.003265f, -0.028293f, 0.023789f, 0.014762f, -0.023162f, -0.001490f, 0.001328f, -0.028995f, 0.009601f, 0.022840f, 0.013463f, -0.000311f, 0.008723f, 0.006167f, -0.013550f, 0.025011f, 0.002314f, -0.005038f, 0.012852f, 0.024739f, 0.009665f, -0.001109f, -0.008777f, -0.006920f, -0.003075f, 0.004142f, 0.006918f, 0.010163f, 0.003260f, 0.001673f, 0.003120f, 0.011895f, 0.010632f, 0.013236f, -0.000259f, -0.001512f, 0.005210f, 0.011320f, -0.000044f, 0.000962f, -0.002373f, 0.005178f, 0.000857f, -0.001413f, -0.004391f, 0.002629f, -0.008311f, -0.014783f, -0.000749f, 0.008154f, -0.000290f, 0.005738f, -0.007079f, 0.004385f, 0.000243f, 0.004993f, 0.000722f, -0.004063f, 0.003264f, - -0.002777f, -0.002240f, -0.001037f, -0.008956f, 0.006200f, -0.003339f, 0.002505f, 0.004866f, 0.000148f, -0.001335f, -0.004229f, -0.005820f, -0.001313f, -0.064905f, -0.040358f, 0.013209f, 0.013829f, 0.026697f, 0.044132f, -0.012127f, -0.006897f, -0.014033f, -0.013015f, -0.016558f, -0.017756f, 0.001466f, 0.007120f, 0.005609f, 0.027838f, 0.001241f, 0.027315f, -0.001354f, 0.009394f, 0.012673f, 0.009704f, 0.020363f, 0.014483f, 0.001059f, 0.017894f, -0.000192f, -0.002136f, -0.010280f, 0.012099f, -0.001593f, -0.026693f, -0.023027f, 0.014459f, -0.003300f, 0.031788f, 0.019039f, 0.020432f, 0.007617f, -0.040047f, 0.009694f, 0.025137f, -0.003810f, 0.007291f, -0.006080f, 0.004962f, 0.031664f, -0.001134f, 0.026548f, 0.044123f, 0.002541f, -0.016705f, -0.000413f, 0.000425f, -0.027658f, 0.037446f, 0.017924f, -0.005019f, -0.002075f, 0.027118f, 0.012866f, -0.032960f, -0.026741f, 0.010520f, -0.011601f, 0.015693f, 0.011422f, 0.004941f, -0.012970f, -0.023431f, -0.001066f, 0.005880f, 0.004457f, 0.025257f, -0.033926f, 0.004923f, -0.002270f, -0.028847f, -0.013684f, -0.029012f, 0.025343f, -0.008648f, 0.035018f, - -0.027547f, 0.002610f, -0.013282f, 0.019925f, 0.008599f, -0.008544f, -0.001710f, 0.018370f, 0.001098f, 0.005778f, -0.010652f, -0.005580f, -0.009017f, 0.016298f, 0.008014f, 0.000005f, 0.004269f, 0.004936f, -0.014927f, 0.001077f, -0.004241f, 0.005291f, 0.003055f, -0.003144f, -0.015255f, -0.005226f, -0.011283f, 0.013494f, -0.010036f, 0.002265f, -0.002739f, 0.013368f, -0.002866f, -0.002236f, -0.004785f, -0.008188f, -0.000549f, -0.005400f, 0.005226f, 0.014752f, 0.012713f, -0.000800f, -0.013439f, 0.017093f, 0.046032f, -0.054794f, -0.015331f, -0.026713f, -0.001126f, 0.008684f, 0.001450f, 0.036733f, -0.037912f, 0.017922f, -0.005176f, 0.007318f, -0.004590f, 0.020169f, -0.011123f, -0.018777f, -0.001568f, -0.005476f, 0.014262f, -0.001193f, 0.009644f, 0.021366f, -0.004444f, -0.016025f, -0.002139f, 0.024028f, -0.014136f, 0.005722f, 0.005413f, 0.000945f, -0.002176f, 0.023862f, -0.000895f, -0.006168f, -0.039862f, 0.012816f, -0.009857f, -0.025193f, -0.021900f, -0.005832f, -0.024277f, -0.014324f, -0.021080f, 0.009993f, -0.024879f, 0.024822f, -0.022833f, 0.015384f, -0.011792f, 0.030095f, -0.029155f, -0.016960f, - -0.004380f, 0.017430f, 0.007197f, 0.000132f, -0.011990f, -0.023916f, 0.002444f, 0.009324f, 0.034138f, 0.017874f, 0.007464f, -0.019534f, 0.011628f, -0.017331f, -0.019507f, 0.017018f, -0.018936f, 0.009012f, 0.022133f, 0.018430f, -0.004899f, -0.007071f, -0.015933f, 0.026588f, 0.002625f, 0.025445f, 0.041189f, -0.008079f, -0.021577f, -0.009671f, -0.007167f, -0.014855f, 0.006542f, -0.024641f, 0.010749f, 0.008005f, 0.007424f, 0.019442f, -0.013733f, 0.000696f, -0.002477f, 0.004910f, 0.017736f, 0.000490f, 0.013955f, -0.005078f, -0.000302f, 0.001722f, -0.007862f, -0.002851f, 0.008398f, 0.004393f, -0.011249f, -0.014766f, -0.006970f, 0.006476f, 0.005872f, -0.006503f, 0.021092f, 0.006139f, -0.015352f, 0.007728f, 0.011294f, 0.028037f, 0.022845f, 0.012760f, 0.004772f, 0.002682f, -0.011734f, -0.009255f, -0.000338f, -0.009375f, 0.001826f, -0.005447f, -0.017151f, 0.009472f, -0.005636f, -0.002419f, 0.002098f, 0.009343f, 0.000289f, -0.007943f, 0.029788f, 0.041520f, -0.045380f, 0.032131f, 0.022176f, 0.000420f, 0.015762f, 0.055412f, -0.016501f, -0.016850f, 0.004602f, 0.015825f, 0.022574f, 0.006991f, - -0.022626f, 0.024100f, -0.009835f, 0.048887f, -0.002033f, -0.008865f, 0.015312f, 0.012348f, 0.012166f, -0.001210f, 0.045807f, -0.039335f, 0.008707f, -0.001377f, 0.012050f, -0.016799f, -0.032908f, 0.015341f, 0.011901f, 0.012391f, -0.011990f, -0.009236f, 0.038173f, 0.013924f, 0.048158f, 0.003805f, -0.018806f, -0.002605f, 0.010141f, -0.004912f, 0.050020f, -0.007045f, 0.026906f, -0.005578f, 0.044807f, 0.015946f, 0.011561f, -0.011700f, -0.003280f, 0.024415f, -0.000249f, 0.026191f, 0.019542f, 0.023072f, -0.032212f, 0.004414f, 0.021787f, 0.026422f, 0.019491f, 0.014859f, 0.035705f, 0.044062f, -0.034808f, -0.004717f, 0.067220f, -0.016960f, -0.019111f, 0.043344f, 0.058567f, 0.000502f, -0.001305f, -0.032693f, -0.027105f, -0.002343f, 0.029061f, -0.004960f, -0.006319f, 0.000751f, -0.002984f, -0.008860f, -0.023556f, -0.008939f, -0.002432f, -0.014115f, 0.000228f, 0.013255f, -0.008422f, 0.017119f, -0.018588f, 0.015026f, -0.004319f, 0.013017f, -0.014099f, -0.000119f, 0.009390f, 0.005338f, 0.016548f, -0.003613f, -0.009750f, -0.004574f, 0.004469f, 0.015183f, 0.004009f, -0.006178f, 0.021093f, -0.007320f, - 0.010822f, 0.010956f, -0.002616f, -0.002968f, -0.005545f, 0.031203f, -0.012213f, 0.003547f, 0.007484f, 0.011278f, -0.006355f, -0.021104f, -0.012542f, -0.004104f, 0.023392f, 0.011105f, -0.002389f, 0.000925f, 0.007955f, -0.002048f, -0.000280f, 0.007984f, 0.003941f, 0.001668f, -0.000340f, 0.018615f, 0.041915f, -0.002587f, 0.013050f, -0.035855f, 0.034085f, -0.018185f, -0.011258f, -0.031389f, -0.020417f, 0.064293f, 0.000813f, -0.045302f, -0.020286f, -0.001367f, 0.000081f, -0.005996f, 0.049624f, 0.023208f, -0.004361f, -0.020786f, -0.002098f, 0.013060f, -0.006290f, 0.066225f, 0.013943f, 0.029109f, 0.009896f, -0.014938f, -0.037665f, 0.008805f, -0.000591f, 0.005862f, -0.029232f, -0.003093f, -0.019804f, 0.022325f, -0.000049f, 0.003652f, 0.022998f, -0.021006f, -0.015584f, 0.004566f, 0.000818f, 0.006879f, -0.032303f, -0.025228f, -0.055204f, -0.028777f, 0.002147f, -0.031415f, 0.003988f, -0.022797f, -0.013882f, 0.040829f, 0.012602f, -0.019866f, 0.011985f, 0.004628f, -0.000423f, 0.039282f, -0.006995f, 0.047589f, 0.017937f, -0.020485f, -0.058369f, 0.010128f, 0.008972f, 0.032174f, -0.017684f, -0.041731f, - -0.015177f, 0.012102f, 0.001764f, -0.009953f, -0.030360f, -0.009645f, -0.042773f, -0.048350f, 0.014768f, -0.002687f, 0.049196f, -0.015844f, -0.030552f, -0.026238f, -0.002791f, 0.035039f, -0.002271f, 0.012915f, 0.022088f, 0.017228f, -0.008090f, 0.011436f, 0.014959f, 0.005152f, 0.015331f, 0.015483f, -0.011373f, -0.001561f, 0.021624f, -0.004345f, 0.002634f, 0.021020f, -0.004437f, 0.012490f, -0.015960f, 0.006099f, 0.011589f, -0.007036f, 0.006724f, 0.006956f, -0.014971f, 0.019290f, -0.018670f, 0.009355f, 0.009149f, 0.015332f, -0.004306f, -0.010448f, 0.019988f, -0.002653f, 0.014632f, -0.021831f, -0.011204f, -0.016011f, -0.014106f, 0.002105f, -0.011728f, 0.008406f, 0.000562f, 0.003561f, -0.022526f, 0.002490f, -0.006828f, 0.030597f, -0.032992f, -0.001584f, 0.051234f, -0.010509f, 0.015475f, 0.005703f, 0.007173f, -0.047189f, 0.039991f, -0.003535f, -0.037651f, -0.021927f, 0.020452f, -0.005312f, 0.010474f, 0.000138f, -0.015327f, -0.011410f, 0.007340f, -0.011432f, -0.002267f, -0.000310f, -0.054748f, -0.014093f, -0.036546f, 0.008540f, 0.013657f, 0.000010f, -0.015811f, 0.006896f, -0.007305f, 0.022005f, - -0.048382f, 0.003613f, 0.009023f, 0.028304f, -0.020783f, 0.026392f, -0.020463f, 0.016913f, 0.004940f, 0.020605f, -0.031410f, 0.010099f, -0.015306f, -0.033604f, 0.022561f, -0.027132f, -0.054668f, 0.008430f, -0.004666f, 0.043828f, -0.020487f, 0.006411f, 0.020505f, 0.029188f, 0.033191f, 0.003845f, -0.010684f, -0.020249f, 0.001170f, 0.015894f, 0.022038f, -0.042670f, 0.048701f, -0.000044f, -0.032009f, -0.023989f, -0.042761f, 0.017958f, 0.011034f, 0.017567f, 0.008146f, 0.046240f, -0.015778f, 0.050227f, -0.026550f, 0.012020f, -0.010475f, -0.022842f, -0.068997f, 0.039581f, 0.008046f, -0.018095f, -0.046666f, -0.002400f, 0.009290f, -0.003696f, 0.017811f, -0.012383f, -0.014637f, -0.002106f, 0.007896f, -0.012902f, -0.012542f, -0.008018f, -0.001905f, 0.007666f, -0.003571f, -0.003855f, -0.018178f, 0.014249f, 0.000977f, -0.009888f, 0.009107f, -0.007075f, 0.014983f, -0.004110f, 0.007766f, 0.009944f, 0.018389f, -0.005793f, 0.016750f, 0.002170f, 0.001449f, -0.017128f, -0.013198f, 0.004653f, 0.007134f, 0.002796f, 0.001481f, -0.003017f, -0.010903f, -0.005979f, -0.004880f, -0.012123f, -0.005187f, 0.022236f, - -0.010375f, -0.012046f, 0.007364f, -0.026903f, 0.000463f, -0.006774f, -0.040861f, -0.000101f, 0.022625f, -0.008911f, -0.044268f, -0.006999f, -0.064720f, 0.031437f, -0.071535f, 0.042793f, -0.049447f, -0.043128f, 0.012348f, 0.037136f, 0.027728f, -0.024544f, 0.026013f, 0.046704f, 0.008320f, 0.007027f, 0.011002f, 0.004265f, -0.027463f, 0.033519f, -0.056135f, -0.034830f, 0.003173f, -0.003418f, -0.003588f, -0.007405f, -0.013979f, 0.007558f, 0.051693f, 0.013428f, 0.007193f, 0.004906f, -0.024311f, 0.030076f, -0.005423f, -0.051933f, -0.008006f, 0.001185f, 0.001117f, -0.035504f, -0.025137f, 0.027443f, -0.008925f, 0.047044f, 0.008706f, 0.000110f, -0.038233f, -0.020875f, 0.014078f, 0.006148f, -0.010434f, 0.040329f, -0.031866f, -0.019263f, -0.001406f, -0.002264f, 0.037964f, 0.003184f, 0.044412f, 0.000111f, -0.036330f, 0.009145f, -0.030978f, 0.023694f, -0.004370f, 0.032252f, 0.060776f, -0.093463f, 0.031853f, 0.013075f, 0.017109f, 0.035552f, 0.008754f, -0.042789f, -0.009992f, -0.003759f, -0.007798f, 0.022076f, -0.043991f, 0.004316f, -0.011550f, -0.006105f, -0.030327f, -0.016120f, -0.045861f, 0.005274f, - -0.002932f, 0.004895f, 0.012574f, -0.018416f, -0.003415f, 0.022446f, -0.013758f, 0.004563f, -0.007688f, -0.022380f, 0.010434f, 0.013854f, -0.015894f, -0.001452f, -0.025079f, -0.001247f, -0.036256f, 0.013235f, 0.008808f, -0.004280f, 0.003793f, -0.008892f, 0.001432f, 0.007606f, -0.005894f, -0.006503f, 0.020568f, 0.025520f, -0.005783f, 0.008643f, 0.003964f, 0.026199f, 0.011414f, -0.032365f, 0.004209f, 0.019017f, -0.010778f, 0.019219f, 0.005970f, 0.008417f, 0.076525f, 0.066123f, -0.018987f, -0.025646f, -0.001568f, -0.050395f, 0.029348f, -0.002924f, 0.011040f, 0.003868f, -0.025504f, 0.076345f, -0.032877f, -0.134797f, -0.019775f, 0.026845f, -0.090768f, -0.015592f, 0.028336f, -0.076890f, 0.010609f, 0.049985f, -0.035378f, 0.049866f, -0.047981f, 0.042836f, 0.053146f, -0.034027f, 0.014434f, -0.004948f, 0.001100f, -0.014442f, -0.021104f, -0.003927f, 0.032691f, -0.021152f, -0.035188f, -0.019237f, -0.028346f, -0.003041f, -0.022262f, -0.003675f, 0.011678f, -0.005330f, 0.031931f, -0.028269f, -0.034726f, 0.027586f, -0.036729f, -0.054458f, -0.069821f, -0.024353f, -0.001711f, 0.013527f, 0.038828f, -0.016282f, - 0.017377f, 0.018174f, -0.012848f, -0.006056f, 0.064015f, -0.042399f, -0.001683f, 0.043808f, 0.013549f, 0.034439f, -0.008663f, 0.012531f, 0.048598f, 0.024972f, -0.002688f, -0.005970f, -0.030026f, 0.012259f, 0.048888f, -0.045533f, 0.034570f, -0.045059f, 0.013104f, 0.063629f, 0.014641f, -0.035792f, 0.036167f, 0.005721f, -0.022880f, -0.017867f, 0.043776f, 0.014394f, 0.018868f, -0.002664f, 0.003291f, 0.011994f, 0.014347f, -0.001327f, -0.004409f, 0.018614f, 0.016236f, 0.003409f, -0.021667f, 0.023819f, 0.002933f, -0.008234f, 0.005850f, 0.008159f, -0.015776f, -0.004190f, 0.012150f, 0.002342f, 0.020246f, -0.025012f, 0.037615f, 0.029149f, -0.005183f, -0.023852f, -0.009692f, 0.025081f, 0.028674f, 0.046261f, -0.001430f, 0.008910f, 0.007570f, 0.025366f, -0.038591f, -0.020583f, 0.038716f, 0.024227f, 0.002625f, -0.006248f, 0.003327f, 0.010707f, -0.020200f, -0.015846f, -0.013588f, 0.002842f, 0.012347f, -0.006228f, -0.000051f, 0.020115f, -0.021484f, -0.015235f, 0.067707f, 0.046008f, -0.064473f, -0.012697f, 0.058355f, -0.017249f, -0.035470f, -0.024944f, -0.035591f, -0.020860f, 0.058915f, 0.036068f, - -0.004308f, 0.026942f, -0.005981f, 0.032756f, -0.019958f, -0.010937f, 0.065418f, -0.026686f, 0.012161f, -0.018446f, -0.006613f, -0.000376f, 0.018196f, 0.053252f, 0.020800f, -0.035489f, -0.010092f, -0.001296f, -0.005005f, 0.030126f, 0.004408f, 0.053613f, -0.015268f, 0.009555f, -0.005061f, 0.015898f, -0.044210f, 0.027181f, -0.040744f, 0.028237f, -0.001738f, 0.041281f, -0.010229f, 0.030699f, -0.013545f, 0.009904f, 0.017872f, -0.017326f, 0.018505f, 0.041668f, 0.052073f, -0.026996f, 0.053351f, 0.022572f, 0.063210f, -0.017680f, 0.012305f, -0.002012f, -0.007248f, -0.011703f, -0.003853f, -0.020453f, -0.102366f, -0.064438f, -0.019438f, -0.000991f, 0.015089f, 0.007552f, 0.024266f, 0.039038f, -0.056095f, -0.002893f, -0.022350f, 0.085959f, -0.005477f, -0.025809f, -0.006923f, -0.074914f, -0.062353f, 0.094967f, 0.039060f, 0.021427f, -0.014054f, 0.029919f, 0.003019f, -0.068600f, 0.014643f, 0.004901f, -0.025607f, -0.026640f, 0.004921f, 0.000601f, 0.007931f, -0.014201f, -0.006715f, -0.033527f, -0.027911f, 0.012281f, 0.015643f, 0.013242f, 0.010706f, -0.017366f, -0.025114f, -0.015545f, -0.032675f, 0.021251f, - 0.007874f, -0.059147f, -0.006330f, -0.017063f, -0.003393f, 0.029122f, -0.026590f, -0.038252f, -0.007706f, 0.024884f, 0.009130f, -0.026547f, 0.016649f, 0.034352f, -0.062980f, -0.017095f, 0.023516f, -0.001109f, -0.004029f, -0.012138f, -0.001735f, 0.011134f, 0.019928f, 0.004504f, -0.007963f, 0.050811f, -0.073927f, 0.069237f, -0.020439f, -0.020914f, 0.017699f, 0.032128f, -0.057924f, -0.011756f, 0.000846f, 0.011342f, 0.002944f, -0.001850f, 0.028809f, -0.017781f, 0.003557f, 0.015018f, 0.016706f, 0.023949f, 0.019838f, 0.006462f, -0.031849f, -0.006611f, 0.042954f, -0.042104f, -0.035958f, 0.044436f, 0.015104f, 0.031322f, 0.048688f, 0.075473f, -0.017319f, -0.048413f, 0.063914f, -0.026129f, -0.010956f, 0.066505f, 0.020841f, -0.024773f, -0.069806f, -0.046265f, -0.007131f, -0.026007f, 0.032644f, 0.065522f, 0.033598f, -0.022870f, 0.067467f, 0.022449f, -0.024608f, 0.018352f, 0.075312f, 0.021533f, 0.014506f, -0.016212f, -0.060535f, -0.081424f, -0.064582f, -0.004958f, 0.048790f, 0.014641f, 0.030796f, 0.115326f, 0.056896f, -0.069527f, -0.046705f, 0.030367f, -0.095896f, -0.044339f, 0.082554f, 0.029202f, - -0.106530f, -0.089167f, -0.041275f, -0.068348f, -0.063982f, -0.038587f, 0.057886f, -0.016832f, -0.012191f, 0.150840f, 0.025374f, -0.043864f, -0.012098f, -0.047372f, 0.080301f, -0.017300f, 0.017419f, 0.005182f, 0.001121f, -0.044380f, -0.017043f, -0.003842f, -0.022316f, 0.004903f, 0.017204f, 0.038931f, 0.005093f, -0.027155f, -0.001183f, -0.000560f, -0.017665f, 0.007701f, 0.011387f, 0.012887f, -0.034888f, 0.008507f, -0.032320f, 0.005162f, 0.016925f, -0.002370f, 0.025750f, -0.006726f, -0.001709f, 0.025600f, -0.005371f, 0.014089f, 0.028919f, -0.010343f, 0.008604f, 0.019461f, 0.021740f, 0.017356f, 0.003573f, 0.003940f, 0.015125f, -0.016530f, -0.006164f, 0.009856f, 0.028580f, -0.103351f, 0.071450f, 0.030622f, 0.023055f, 0.028664f, -0.011176f, 0.035193f, 0.028874f, 0.041274f, -0.007956f, 0.056636f, -0.035758f, 0.042940f, -0.015794f, -0.033051f, -0.010581f, -0.054157f, 0.005487f, -0.019946f, 0.018975f, -0.013814f, -0.021076f, 0.051769f, -0.059732f, 0.038350f, -0.002194f, -0.026057f, -0.010564f, 0.022882f, 0.025819f, 0.018672f, 0.048922f, 0.039478f, -0.028609f, -0.006033f, -0.025618f, 0.021963f, - -0.022731f, 0.017110f, 0.023460f, 0.010730f, 0.013075f, 0.008700f, -0.014199f, 0.054104f, -0.005288f, 0.016021f, 0.005195f, 0.024887f, 0.013631f, -0.064894f, 0.003970f, -0.038854f, 0.009651f, 0.028529f, -0.005548f, -0.027532f, -0.025406f, 0.060319f, -0.064083f, -0.051705f, 0.094521f, -0.040347f, 0.024321f, 0.009350f, 0.030175f, -0.014377f, 0.015659f, -0.066040f, 0.004241f, 0.064000f, -0.034596f, -0.025972f, 0.054946f, -0.003837f, -0.046090f, -0.033972f, 0.020068f, -0.018020f, -0.010946f, 0.034203f, -0.025555f, 0.008474f, 0.042380f, -0.048144f, 0.002860f, 0.028101f, -0.015915f, -0.009617f, -0.012874f, 0.017281f, 0.004471f, 0.006950f, -0.006633f, 0.009802f, 0.007084f, -0.009489f, 0.000412f, 0.001673f, 0.025144f, 0.012809f, -0.024204f, 0.029187f, 0.006981f, -0.014889f, 0.008199f, 0.008908f, -0.002976f, -0.008717f, 0.020608f, 0.000025f, 0.006726f, 0.002620f, 0.026745f, -0.012574f, -0.010529f, 0.016448f, -0.024659f, 0.030616f, -0.002641f, -0.017284f, -0.003194f, -0.001834f, 0.003337f, -0.000330f, -0.012113f, -0.001741f, 0.015603f, 0.032804f, -0.060728f, -0.247440f, -0.266964f, -0.009373f, - -0.152999f, 0.136082f, 0.491099f, 0.214250f, 0.296300f, 0.374162f, -0.140874f, -0.099518f, -0.039432f, -0.335401f, -0.234506f, -0.075788f, -0.367831f, -0.160096f, -0.032443f, -0.150136f, 0.036191f, 0.345953f, 0.314286f, 0.340132f, 0.440719f, 0.265742f, -0.023546f, 0.099373f, -0.098396f, -0.391457f, -0.212567f, -0.157138f, -0.325270f, -0.222848f, 0.012765f, -0.250289f, -0.082199f, 0.055725f, -0.250154f, -0.128048f, 0.187708f, 0.073094f, 0.203540f, 0.506634f, 0.411855f, 0.333199f, 0.599070f, 0.435013f, -0.007100f, 0.062911f, -0.111641f, -0.536124f, -0.512556f, -0.528650f, -0.823762f, -0.557788f, -0.344723f, -0.337332f, 0.004290f, 0.267937f, 0.301636f, 0.422757f, 0.639735f, 0.592167f, 0.499866f, 0.493642f, 0.282719f, 0.099655f, 0.015906f, -0.030029f, -0.223960f, -0.385477f, -0.473491f, -0.506858f, -0.684593f, -0.568956f, -0.438846f, -0.214529f, 0.229665f, 0.677771f, 0.631170f, 0.691713f, 0.485037f, 0.059447f, -0.065749f, -0.207268f, -0.285190f, -0.192637f, -0.094550f, -0.095223f, -0.042199f, -0.043528f, -0.069386f, 0.000769f, 0.010108f, 0.050653f, 0.157730f, 0.143380f, 0.105595f, 0.145263f, - -0.013673f, -0.093455f, -0.012573f, -0.109789f, -0.095175f, 0.059193f, 0.063877f, 0.014978f, 0.014640f, -0.167476f, -0.428838f, -0.405934f, -0.345853f, -0.260419f, 0.126834f, 0.391364f, 0.478427f, 0.604473f, 0.541737f, 0.334285f, 0.231952f, 0.082443f, -0.096313f, -0.201737f, -0.240818f, -0.312155f, -0.383224f, -0.432066f, -0.504758f, -0.448724f, -0.155351f, 0.110437f, 0.259758f, 0.336945f, 0.366055f, 0.274733f, 0.190447f, 0.095387f, -0.003870f, -0.011298f, 0.046171f, 0.073964f, 0.080819f, 0.087884f, 0.072513f, 0.005335f, -0.062352f, -0.133103f, -0.237092f, -0.228699f, -0.186267f, -0.155753f, -0.087364f, -0.013190f, 0.043910f, 0.062959f, 0.066431f, 0.041791f, 0.026004f, 0.037812f, 0.060081f, 0.084366f, 0.114700f, 0.136351f, 0.131398f, 0.095680f, 0.047714f, -0.010570f, -0.053639f, -0.070819f, -0.094044f, -0.117777f, -0.116368f, -0.090168f, -0.068798f, -0.049685f, -0.037634f, -0.022670f, 0.004563f, 0.040293f, 0.060239f, 0.055420f, 0.051638f, 0.044296f, 0.025907f, 0.021948f, 0.018517f, 0.007794f, 0.016103f, 0.032527f, 0.030579f, 0.027152f, 0.027979f, 0.006233f, -0.020024f, -0.037287f, - -0.062881f, -0.075621f, -0.063897f, -0.049148f, -0.035477f, -0.005117f, 0.014548f, 0.020899f, 0.027328f, 0.020490f, 0.008036f, 0.008750f, 0.019930f, 0.024352f, 0.037876f, 0.041461f, 0.035193f, 0.028640f, 0.011212f, -0.012704f, -0.033126f, -0.044366f, -0.047763f, -0.042241f, -0.028241f, -0.010037f, 0.006465f, 0.014136f, 0.015423f, 0.011579f, 0.008794f, 0.008063f, 0.008134f, 0.007167f, 0.005495f, 0.002511f, -0.000251f, -0.002134f, -0.003068f, -0.002913f, -0.002223f, -0.001145f, -0.000476f}, - {-0.014413f, 0.007078f, -0.016398f, 0.003284f, 0.001257f, 0.001089f, -0.011168f, -0.003924f, 0.003153f, -0.002406f, 0.003722f, 0.005905f, 0.003594f, -0.000097f, 0.004673f, -0.012640f, 0.000371f, -0.000441f, -0.000248f, 0.007028f, 0.010675f, -0.011076f, -0.002432f, -0.006699f, -0.002135f, 0.004012f, 0.007347f, 0.001229f, 0.001872f, -0.002693f, -0.003559f, -0.002905f, -0.002185f, -0.005019f, 0.002837f, -0.005060f, -0.003381f, 0.005857f, -0.004895f, 0.004216f, 0.000757f, -0.012519f, -0.004190f, -0.006880f, -0.001592f, 0.005380f, -0.003647f, -0.001057f, -0.003585f, -0.003737f, -0.002574f, 0.005259f, 0.008003f, 0.001503f, 0.004480f, 0.003545f, -0.004144f, -0.007950f, 0.004358f, 0.003570f, -0.001677f, -0.006837f, -0.005667f, 0.005216f, 0.001118f, 0.003910f, 0.001916f, -0.010533f, -0.003419f, -0.003898f, 0.005903f, 0.002395f, -0.010559f, 0.002832f, -0.005563f, -0.001710f, -0.000481f, -0.003820f, 0.003104f, -0.003483f, 0.000887f, 0.004089f, 0.004260f, 0.002605f, 0.002960f, 0.001920f, -0.000265f, 0.002048f, 0.002557f, 0.000267f, -0.001990f, 0.002869f, 0.000662f, 0.000054f, -0.000763f, -0.001877f, - 0.000990f, 0.001819f, 0.000399f, 0.001496f, -0.000490f, -0.000945f, 0.000054f, -0.001467f, 0.001645f, -0.000251f, 0.001931f, -0.000334f, 0.000437f, -0.000157f, 0.001801f, 0.000928f, -0.000012f, -0.000704f, 0.001170f, -0.000796f, -0.020558f, 0.013402f, -0.009891f, 0.001231f, -0.001427f, -0.003852f, 0.010238f, -0.009237f, -0.006185f, -0.000126f, 0.010828f, -0.004185f, -0.000753f, -0.001295f, 0.008936f, -0.005584f, -0.014643f, -0.003344f, -0.007590f, -0.010265f, 0.000258f, -0.000923f, 0.001558f, 0.005755f, 0.009547f, 0.005915f, 0.000814f, 0.014673f, 0.005636f, 0.000389f, 0.010424f, 0.010951f, -0.001011f, -0.006070f, 0.000298f, 0.004778f, 0.003783f, -0.000194f, -0.002258f, -0.008692f, -0.007696f, -0.003826f, 0.008334f, 0.003397f, 0.014445f, 0.008145f, -0.000782f, 0.004773f, 0.005806f, 0.001882f, -0.009193f, 0.009703f, -0.004025f, 0.005025f, -0.000526f, 0.003003f, -0.010937f, -0.001825f, -0.003572f, 0.003720f, -0.003436f, -0.004177f, 0.011133f, -0.000877f, -0.008604f, 0.003249f, -0.006582f, 0.005167f, -0.003775f, 0.008354f, 0.007141f, 0.008009f, 0.002586f, -0.007901f, 0.004152f, -0.001277f, - 0.004090f, -0.003471f, 0.001063f, 0.011009f, -0.004426f, 0.005301f, 0.007153f, -0.001185f, 0.000296f, -0.000421f, -0.001479f, -0.003038f, 0.001692f, -0.000261f, 0.002623f, -0.000145f, 0.002089f, 0.000059f, 0.000029f, 0.001518f, 0.002546f, 0.001046f, 0.002437f, 0.002810f, -0.000707f, -0.002189f, 0.003597f, 0.000334f, -0.000267f, 0.000216f, 0.002129f, -0.000691f, -0.002227f, 0.001020f, -0.000662f, 0.000523f, -0.000086f, 0.002185f, 0.000568f, 0.001157f, 0.000574f, -0.001960f, 0.004112f, 0.004616f, 0.000263f, -0.003950f, 0.004312f, 0.001697f, 0.001327f, 0.002052f, -0.016141f, 0.005263f, -0.010276f, 0.001731f, 0.003366f, 0.003529f, -0.004700f, 0.008605f, 0.001390f, -0.003164f, -0.001454f, 0.010038f, 0.007222f, -0.004351f, -0.005584f, -0.004594f, 0.003905f, 0.007122f, -0.004274f, -0.004692f, 0.001416f, -0.018324f, -0.000020f, -0.007817f, -0.003065f, -0.007777f, -0.010180f, -0.001251f, 0.009312f, 0.002562f, -0.008291f, -0.002206f, 0.007976f, 0.002407f, -0.005078f, 0.008998f, -0.003891f, -0.012549f, -0.003713f, 0.007045f, -0.003086f, 0.008335f, 0.015964f, 0.012886f, 0.001812f, -0.000182f, - 0.004534f, -0.001961f, -0.009375f, 0.000092f, 0.003576f, -0.006745f, 0.005711f, -0.013370f, -0.001966f, 0.000820f, -0.005639f, -0.004375f, 0.005855f, 0.011636f, -0.009091f, -0.009545f, 0.005961f, 0.005946f, 0.011006f, 0.003519f, -0.006365f, 0.008744f, 0.007602f, -0.002537f, 0.008473f, -0.009347f, 0.009490f, 0.002271f, 0.006448f, 0.001273f, -0.004975f, -0.002901f, -0.000864f, 0.002057f, 0.000246f, -0.004614f, 0.001630f, 0.000022f, -0.002634f, -0.002231f, 0.000673f, -0.000710f, 0.002114f, 0.000089f, 0.003491f, -0.002522f, -0.001761f, -0.000161f, 0.000500f, 0.002940f, -0.001448f, -0.003007f, 0.001414f, 0.000073f, -0.000562f, 0.001985f, -0.000392f, 0.001187f, -0.001272f, 0.001195f, 0.001874f, 0.000193f, 0.002995f, 0.027504f, -0.010731f, -0.004744f, -0.001797f, 0.019821f, -0.002009f, 0.014983f, -0.010951f, 0.013199f, -0.013129f, -0.011522f, 0.002729f, 0.006234f, -0.007765f, -0.001931f, 0.003916f, -0.001043f, 0.005117f, -0.008004f, 0.009169f, 0.003298f, -0.009901f, -0.000405f, 0.003928f, 0.003061f, 0.001732f, 0.018647f, 0.014854f, 0.011617f, -0.000033f, 0.007531f, 0.000677f, 0.002152f, - 0.005562f, -0.017264f, -0.002666f, 0.010476f, 0.006805f, 0.008126f, -0.000224f, -0.003082f, 0.003774f, -0.000706f, 0.021035f, -0.003216f, 0.003522f, 0.002089f, 0.001000f, -0.006257f, 0.012603f, -0.001461f, 0.013105f, -0.007261f, -0.007618f, 0.005419f, -0.005085f, -0.017557f, -0.008107f, 0.003508f, -0.001694f, -0.012564f, 0.003472f, 0.000015f, 0.016292f, 0.001409f, 0.001388f, -0.005009f, 0.005913f, 0.006006f, -0.001367f, -0.000971f, 0.014308f, 0.010519f, 0.010438f, -0.006930f, -0.009867f, -0.008606f, -0.016837f, 0.001383f, -0.011928f, -0.004034f, 0.000723f, -0.006502f, -0.007432f, -0.004140f, -0.000864f, -0.002540f, 0.003929f, 0.007366f, -0.001408f, -0.000866f, -0.003341f, 0.001699f, -0.002427f, -0.002781f, 0.001155f, 0.002013f, 0.000005f, 0.002597f, -0.001546f, 0.000086f, -0.001494f, -0.000994f, -0.000827f, 0.001512f, -0.000934f, -0.000915f, -0.000568f, -0.002393f, -0.002744f, 0.000164f, -0.000326f, -0.003288f, 0.002769f, 0.002800f, 0.003381f, -0.000064f, -0.002405f, -0.001390f, 0.002652f, 0.000710f, 0.020386f, -0.015901f, -0.000264f, -0.016639f, -0.010883f, -0.006398f, 0.014696f, 0.008677f, - -0.020129f, -0.027575f, -0.010525f, 0.009914f, 0.007097f, -0.004019f, 0.009637f, 0.000226f, -0.002217f, 0.001213f, -0.014426f, 0.004520f, -0.001774f, 0.001348f, 0.004751f, 0.001117f, 0.000095f, 0.006251f, 0.005521f, -0.009551f, -0.009504f, 0.011150f, -0.003341f, -0.005292f, 0.006901f, -0.018826f, 0.004671f, 0.004087f, -0.017313f, 0.006486f, 0.018234f, 0.011081f, 0.012566f, 0.002674f, 0.007006f, 0.017295f, 0.003383f, 0.003402f, -0.019528f, 0.010528f, 0.015007f, 0.012276f, 0.002499f, 0.012469f, -0.013864f, 0.013949f, -0.003979f, -0.013670f, -0.021100f, -0.000078f, -0.013359f, -0.010781f, -0.004508f, -0.012833f, -0.032157f, 0.001535f, 0.001860f, -0.000950f, 0.005210f, 0.016040f, 0.006162f, 0.006550f, 0.004424f, -0.011419f, 0.001874f, 0.005537f, 0.004821f, 0.004236f, 0.004889f, -0.011722f, -0.003330f, -0.014811f, -0.006554f, -0.000940f, 0.003681f, -0.005329f, 0.005505f, 0.001200f, 0.001138f, -0.003607f, -0.000399f, -0.001850f, 0.000240f, -0.002011f, 0.002214f, 0.000786f, 0.001731f, -0.000411f, -0.002513f, -0.002141f, -0.002026f, 0.002435f, 0.001702f, 0.000136f, -0.000824f, -0.001927f, - -0.002008f, -0.002040f, -0.006498f, 0.001156f, 0.001183f, -0.004964f, -0.002422f, -0.001712f, -0.043658f, 0.021565f, 0.002816f, -0.016936f, 0.004167f, -0.001825f, -0.004972f, -0.003424f, -0.009582f, 0.005208f, -0.004896f, 0.001057f, 0.006332f, 0.005850f, 0.018967f, -0.007612f, -0.018060f, 0.009886f, -0.022911f, -0.009850f, 0.003774f, 0.003198f, 0.002645f, 0.007473f, 0.009235f, 0.007973f, -0.000140f, 0.010539f, 0.000710f, -0.004129f, 0.013969f, 0.008681f, -0.004224f, 0.008335f, -0.014400f, 0.027293f, 0.001052f, 0.005112f, -0.002535f, -0.023355f, -0.004031f, -0.008666f, -0.008177f, 0.003674f, 0.019519f, 0.000595f, 0.000836f, -0.002471f, -0.005363f, -0.012583f, 0.004013f, -0.002038f, 0.006999f, -0.015867f, 0.005385f, 0.008525f, 0.003747f, -0.011741f, -0.004172f, 0.003157f, 0.001536f, 0.009603f, 0.001890f, 0.033185f, -0.009445f, -0.014068f, -0.016040f, -0.004800f, 0.000348f, 0.011887f, -0.015979f, -0.002014f, -0.006846f, 0.007369f, -0.023337f, -0.000952f, -0.006319f, -0.009709f, 0.002913f, -0.002768f, 0.006370f, -0.000759f, 0.011700f, 0.007481f, -0.000033f, 0.002564f, 0.000905f, 0.001555f, - 0.013564f, 0.001716f, 0.009698f, 0.003606f, -0.002455f, 0.000341f, 0.000344f, 0.002898f, -0.001790f, 0.001539f, -0.000527f, 0.004209f, 0.000752f, -0.002966f, -0.004472f, 0.003719f, -0.001729f, -0.005206f, -0.002355f, -0.002680f, -0.001248f, -0.001505f, -0.000114f, 0.006702f, 0.000097f, 0.001980f, 0.000778f, 0.002792f, -0.002620f, -0.001312f, -0.004816f, -0.005334f, 0.020007f, -0.006085f, -0.004445f, 0.004512f, 0.006090f, -0.015664f, -0.015805f, -0.014437f, -0.013552f, -0.022338f, 0.014503f, -0.012967f, 0.004256f, 0.005741f, 0.020795f, -0.003145f, -0.004624f, 0.016335f, 0.003984f, 0.003618f, -0.018631f, -0.012129f, 0.009541f, 0.004278f, 0.007638f, 0.011350f, -0.019642f, 0.000463f, 0.008747f, 0.019229f, 0.000057f, 0.002034f, -0.002610f, 0.000251f, -0.012732f, -0.002222f, -0.003788f, -0.023910f, -0.001691f, 0.007615f, -0.013611f, 0.006168f, -0.014829f, 0.000147f, -0.010185f, -0.001913f, -0.003010f, 0.001593f, 0.019716f, -0.005449f, 0.000501f, 0.010207f, -0.005339f, 0.006071f, -0.015920f, -0.028578f, -0.015409f, -0.008510f, -0.003842f, 0.003286f, 0.019450f, -0.008820f, 0.005387f, 0.004894f, - -0.013594f, 0.004885f, -0.010417f, -0.003535f, 0.007264f, 0.019705f, -0.002767f, -0.000839f, 0.006453f, -0.000237f, -0.018086f, -0.017130f, -0.007051f, 0.017502f, -0.001865f, -0.025745f, 0.002051f, -0.016848f, -0.007346f, -0.003343f, -0.001590f, 0.005957f, -0.006351f, -0.001793f, 0.006670f, -0.001634f, 0.007796f, 0.006757f, 0.004959f, -0.002888f, 0.007638f, -0.006433f, -0.004770f, -0.004503f, 0.001329f, -0.000583f, -0.001219f, -0.001381f, -0.001073f, -0.002108f, 0.001683f, -0.000419f, 0.004993f, -0.003131f, -0.001902f, 0.002194f, -0.002676f, -0.001518f, -0.007295f, -0.008892f, -0.000602f, 0.000895f, 0.004661f, 0.000776f, 0.002892f, 0.000387f, 0.019056f, 0.020014f, -0.006343f, 0.001715f, 0.020993f, -0.021684f, -0.019328f, 0.016040f, -0.004054f, 0.002061f, 0.014526f, -0.003055f, -0.004203f, 0.014541f, -0.027392f, 0.011447f, -0.001413f, 0.004463f, 0.013056f, 0.013518f, -0.015427f, 0.002749f, -0.021127f, 0.006303f, -0.006497f, -0.002376f, -0.014767f, -0.000879f, -0.021084f, 0.001892f, -0.018304f, 0.012547f, -0.006558f, 0.002272f, 0.022378f, 0.010353f, 0.009901f, -0.018155f, 0.003106f, 0.020824f, - -0.005172f, -0.029880f, 0.015754f, -0.003749f, 0.002691f, -0.005969f, -0.014027f, 0.019553f, 0.006841f, 0.015915f, 0.003773f, 0.002216f, -0.013451f, -0.017257f, 0.005945f, 0.007932f, 0.008370f, 0.011317f, 0.026100f, -0.000968f, -0.020671f, -0.013386f, 0.015609f, -0.002373f, -0.017810f, -0.004702f, -0.001337f, -0.004868f, -0.022479f, 0.000275f, 0.002773f, 0.005476f, -0.008320f, 0.012737f, -0.000929f, 0.001349f, 0.017941f, 0.009254f, 0.018687f, -0.018723f, -0.008093f, 0.003389f, -0.010551f, 0.008448f, 0.004922f, 0.005157f, -0.001086f, -0.002418f, -0.001876f, -0.000330f, -0.007669f, 0.009361f, -0.003766f, 0.005729f, -0.001851f, 0.006681f, -0.003014f, -0.003362f, 0.000075f, 0.003830f, -0.003660f, -0.000152f, -0.001178f, -0.003729f, -0.002224f, 0.001682f, -0.004441f, -0.001290f, -0.009024f, -0.006771f, 0.003281f, 0.005961f, 0.002726f, 0.002712f, -0.001292f, -0.000715f, -0.004445f, -0.000655f, 0.004055f, -0.005780f, -0.001231f, 0.002667f, -0.001582f, 0.004675f, 0.004107f, -0.003232f, -0.001740f, 0.004184f, 0.002458f, -0.002169f, -0.000145f, 0.015299f, -0.018647f, 0.021817f, -0.004925f, 0.023078f, - -0.018868f, 0.017081f, 0.001867f, -0.001813f, 0.028744f, -0.015030f, 0.001707f, -0.014588f, -0.004359f, 0.043824f, 0.021138f, 0.009302f, 0.006328f, 0.012462f, -0.007018f, -0.000061f, -0.037068f, 0.006881f, -0.001562f, -0.016025f, 0.017753f, 0.013329f, -0.000570f, 0.003165f, -0.021428f, 0.018870f, -0.010016f, 0.020041f, 0.013114f, 0.010702f, -0.015380f, -0.002700f, -0.012934f, 0.019245f, 0.004414f, -0.007003f, 0.034087f, 0.016307f, -0.003865f, 0.001796f, -0.028273f, 0.004803f, 0.001293f, 0.022449f, -0.010100f, -0.028731f, -0.004963f, -0.007945f, -0.005606f, -0.040609f, -0.020261f, -0.043253f, -0.022059f, -0.015452f, 0.005073f, -0.010867f, 0.020406f, 0.002559f, -0.023377f, 0.014106f, -0.015647f, 0.022104f, -0.019714f, -0.015955f, 0.011490f, 0.019693f, 0.019362f, 0.000082f, -0.018198f, -0.014487f, 0.008868f, -0.011877f, 0.000424f, -0.005987f, 0.007298f, -0.008143f, -0.012031f, 0.021196f, 0.009793f, 0.002921f, -0.003397f, 0.008009f, 0.004485f, 0.009852f, -0.000951f, 0.006684f, 0.002326f, 0.011063f, 0.000186f, -0.000481f, 0.000591f, -0.005394f, 0.000160f, 0.002860f, 0.001320f, 0.001252f, - 0.000260f, 0.008537f, 0.003858f, -0.006660f, 0.000707f, 0.003910f, -0.002157f, -0.002511f, -0.001660f, 0.000564f, 0.001583f, 0.004330f, -0.001112f, 0.002972f, 0.004927f, -0.000974f, -0.005082f, -0.000382f, -0.005537f, -0.002351f, -0.005117f, -0.003203f, 0.004359f, 0.000370f, -0.002882f, 0.002906f, 0.001564f, 0.006099f, -0.003597f, -0.001793f, -0.005477f, 0.002421f, 0.001193f, -0.026325f, -0.031353f, -0.020606f, -0.002520f, 0.000111f, -0.003616f, 0.008097f, 0.012050f, 0.008528f, 0.000514f, 0.004815f, -0.009597f, 0.007161f, -0.020015f, -0.028104f, 0.001418f, 0.022469f, 0.004362f, -0.007207f, 0.018080f, 0.010916f, 0.017517f, 0.029135f, 0.004234f, -0.008315f, -0.017716f, -0.014079f, 0.008880f, -0.016214f, -0.011087f, 0.004830f, -0.012727f, -0.028673f, -0.015487f, -0.001093f, -0.002870f, 0.007348f, -0.006047f, 0.016694f, 0.005217f, 0.006658f, 0.022902f, -0.003064f, 0.003176f, 0.005713f, -0.017343f, 0.021597f, 0.003991f, -0.018964f, -0.031365f, 0.008641f, 0.003389f, -0.022644f, 0.025048f, 0.016452f, -0.020957f, 0.007803f, 0.021140f, 0.012131f, 0.006052f, 0.017654f, -0.007309f, -0.006372f, - 0.001822f, -0.008947f, -0.014653f, 0.026517f, -0.022637f, -0.002044f, 0.010219f, 0.002765f, 0.040906f, -0.034510f, 0.011221f, -0.003937f, 0.000363f, 0.011836f, 0.000984f, 0.002966f, -0.008899f, 0.005893f, -0.020265f, -0.043543f, -0.001955f, 0.000016f, -0.022139f, -0.013857f, -0.002632f, 0.008892f, 0.007797f, 0.003666f, 0.002392f, -0.006786f, 0.000301f, -0.009728f, -0.004661f, -0.001433f, -0.005447f, -0.008711f, 0.003705f, -0.001198f, 0.002108f, -0.004181f, -0.002951f, 0.002761f, -0.007039f, -0.015513f, -0.005101f, 0.001659f, -0.003843f, -0.014935f, -0.008138f, 0.007011f, 0.004929f, 0.003631f, -0.002558f, -0.005378f, -0.006918f, -0.000794f, -0.003219f, -0.008218f, -0.006780f, -0.009791f, -0.004908f, -0.006412f, -0.006506f, 0.000388f, -0.001204f, 0.003412f, -0.002236f, 0.003328f, -0.001873f, 0.005791f, -0.007676f, -0.020695f, 0.018420f, -0.037499f, -0.026622f, 0.019926f, -0.000838f, -0.034138f, 0.017649f, -0.019925f, 0.038855f, 0.007874f, -0.050961f, -0.006375f, 0.004711f, -0.012772f, 0.003908f, 0.009018f, 0.018179f, 0.015635f, -0.029586f, -0.001172f, 0.002830f, -0.006019f, -0.027115f, -0.004069f, - -0.005588f, -0.009197f, -0.008240f, -0.000255f, 0.002055f, 0.023265f, 0.025375f, -0.007709f, 0.013682f, 0.011933f, 0.011553f, 0.025400f, 0.000350f, 0.006946f, -0.029058f, -0.009837f, 0.010273f, -0.005587f, 0.014063f, 0.034827f, 0.005124f, -0.030162f, -0.067591f, 0.000024f, -0.020831f, 0.019380f, -0.012770f, -0.006700f, -0.013278f, -0.036331f, 0.015900f, 0.049018f, 0.002862f, 0.012995f, -0.038300f, 0.008133f, -0.004345f, -0.017042f, 0.004394f, 0.018938f, 0.009732f, 0.015326f, -0.016499f, 0.024451f, 0.014202f, -0.028012f, -0.041955f, -0.002442f, -0.031907f, -0.029606f, -0.019032f, -0.021762f, 0.002856f, 0.039574f, 0.015091f, 0.001699f, -0.005270f, 0.025579f, -0.012907f, -0.018593f, -0.003035f, 0.004210f, -0.002981f, 0.004937f, 0.003911f, 0.000510f, 0.003958f, 0.009975f, 0.003547f, -0.000759f, 0.000706f, -0.003458f, -0.003746f, 0.010466f, -0.003094f, 0.010308f, 0.000227f, -0.005355f, 0.001212f, -0.002667f, -0.004242f, 0.012413f, -0.002935f, 0.006868f, -0.014879f, -0.001570f, 0.007209f, 0.000264f, 0.002940f, 0.012696f, -0.009301f, 0.011637f, -0.001159f, 0.001609f, 0.003441f, -0.003441f, - 0.008616f, 0.001619f, 0.000490f, 0.001889f, 0.000398f, 0.004317f, 0.011097f, -0.004264f, 0.003874f, 0.004755f, 0.004291f, 0.005311f, -0.001774f, -0.073766f, -0.046589f, 0.033403f, 0.026896f, 0.043767f, -0.000183f, 0.017224f, 0.004252f, 0.013792f, -0.000580f, 0.008882f, -0.019430f, -0.023303f, -0.014465f, -0.020867f, -0.013461f, -0.014879f, 0.017804f, 0.042065f, 0.009181f, -0.051418f, -0.012219f, 0.008963f, -0.013657f, 0.012509f, -0.029380f, -0.002421f, -0.001001f, 0.001664f, 0.014311f, 0.010810f, 0.002006f, -0.003584f, -0.006567f, 0.011911f, 0.023237f, -0.018677f, -0.028903f, 0.019176f, 0.009152f, 0.025167f, 0.011513f, 0.036609f, -0.025364f, -0.008957f, 0.023407f, 0.034901f, 0.030372f, 0.017924f, 0.008547f, -0.007556f, 0.002299f, -0.004465f, 0.000130f, 0.012053f, -0.045677f, 0.024489f, -0.003604f, 0.006588f, -0.003023f, 0.034617f, -0.010587f, -0.000584f, -0.007610f, 0.021925f, 0.018672f, -0.039039f, 0.027953f, -0.033221f, -0.001679f, -0.016885f, -0.016675f, 0.015060f, 0.002765f, -0.051750f, -0.004581f, -0.004156f, -0.009536f, -0.006097f, -0.001215f, -0.006679f, 0.026845f, 0.002557f, - 0.025680f, -0.008206f, 0.030366f, 0.014240f, -0.015682f, 0.006595f, -0.003916f, 0.001656f, 0.001975f, 0.002775f, 0.004099f, 0.001475f, -0.005881f, -0.009816f, 0.015111f, 0.006605f, 0.012405f, 0.003366f, -0.007367f, 0.014172f, 0.000567f, 0.000654f, 0.010767f, -0.030230f, -0.013959f, -0.013488f, 0.004246f, -0.000504f, -0.020457f, 0.000789f, 0.003454f, -0.001045f, -0.003829f, -0.000152f, 0.007054f, -0.007585f, -0.000282f, 0.008058f, 0.004088f, 0.009842f, -0.008664f, -0.004357f, 0.002500f, 0.010686f, 0.040873f, -0.045597f, -0.001105f, -0.025943f, -0.073072f, -0.008693f, -0.027005f, -0.057691f, 0.011461f, -0.000433f, -0.011256f, 0.003562f, 0.030917f, -0.002065f, -0.032793f, 0.011174f, 0.001268f, -0.010583f, -0.007930f, -0.005900f, 0.001602f, 0.035630f, -0.008064f, -0.001377f, 0.016154f, 0.011915f, -0.005191f, 0.017220f, 0.015765f, -0.007686f, -0.007548f, -0.014404f, 0.019811f, -0.004812f, -0.034250f, 0.005158f, -0.002315f, 0.011687f, 0.044767f, -0.029980f, -0.048033f, -0.030329f, -0.014062f, 0.006569f, 0.015962f, 0.008441f, 0.034068f, 0.016981f, -0.024087f, -0.013951f, -0.032838f, 0.028325f, - 0.017427f, 0.003090f, 0.005987f, -0.018885f, 0.001942f, -0.019978f, 0.034348f, 0.033672f, 0.002369f, -0.015793f, -0.008781f, 0.003259f, 0.031267f, 0.062406f, 0.038414f, -0.005988f, -0.013994f, 0.000789f, 0.019853f, 0.008560f, 0.018322f, 0.025240f, -0.025111f, -0.001245f, -0.048399f, -0.032674f, -0.031111f, -0.020900f, 0.012978f, 0.029618f, 0.020373f, 0.003154f, -0.005945f, -0.002860f, -0.026954f, -0.033930f, -0.008574f, -0.018064f, -0.016991f, 0.003809f, -0.003462f, -0.004407f, 0.000158f, 0.001008f, 0.007708f, -0.008703f, 0.017277f, -0.017665f, 0.007407f, -0.022463f, -0.007524f, -0.000126f, 0.004124f, -0.000757f, 0.003915f, 0.008482f, -0.006094f, 0.000916f, 0.020536f, 0.025005f, 0.030194f, 0.016489f, 0.018907f, 0.008470f, 0.003583f, 0.001312f, 0.000518f, 0.001041f, -0.005304f, -0.016422f, -0.016008f, -0.002759f, 0.012410f, -0.000120f, 0.001899f, -0.006787f, -0.004763f, 0.001804f, 0.015190f, 0.009476f, 0.018132f, 0.014574f, 0.012993f, 0.015663f, -0.035637f, -0.004174f, -0.018448f, 0.026852f, -0.029608f, 0.005760f, 0.002615f, 0.052502f, -0.032449f, -0.009494f, -0.033376f, -0.007204f, - -0.032968f, -0.027698f, -0.019992f, 0.010362f, -0.035465f, -0.025718f, -0.038567f, -0.009834f, -0.005799f, -0.011787f, -0.017428f, -0.042975f, 0.011241f, -0.030372f, 0.012284f, -0.031867f, 0.039299f, 0.006070f, 0.017613f, -0.007569f, -0.037074f, 0.019877f, 0.011496f, -0.012461f, 0.019846f, 0.027789f, -0.015017f, -0.039927f, -0.021398f, 0.053556f, -0.022884f, -0.001730f, 0.001373f, -0.009067f, 0.011762f, 0.034716f, 0.006149f, 0.014775f, -0.011184f, 0.024840f, 0.000338f, 0.019570f, 0.005949f, 0.006653f, -0.000618f, 0.002019f, 0.042439f, 0.012881f, 0.101620f, -0.062024f, 0.039590f, 0.055709f, -0.014733f, 0.001280f, 0.028710f, -0.020810f, -0.006121f, 0.046643f, 0.018452f, -0.007769f, 0.024727f, -0.010590f, -0.045188f, -0.033405f, 0.011306f, 0.001818f, -0.060371f, -0.016793f, -0.006204f, -0.031340f, 0.016066f, 0.009389f, -0.020413f, -0.016690f, -0.012347f, 0.001758f, 0.005506f, 0.012762f, -0.010642f, 0.001491f, 0.007403f, -0.003355f, -0.013472f, 0.003682f, 0.002752f, 0.004206f, 0.012481f, 0.002210f, -0.007714f, 0.000989f, 0.014461f, 0.012855f, 0.006186f, -0.014461f, -0.000401f, 0.026502f, - -0.007668f, -0.005649f, 0.014632f, -0.014471f, -0.025065f, -0.007174f, 0.001255f, -0.003312f, -0.012931f, -0.004012f, -0.000899f, -0.014213f, -0.003066f, 0.001424f, -0.004066f, -0.014764f, -0.024338f, 0.009088f, 0.025840f, 0.009294f, -0.000714f, 0.000814f, -0.005054f, -0.015526f, -0.012493f, 0.056435f, 0.063078f, 0.000804f, 0.045509f, 0.045327f, -0.002599f, 0.020369f, -0.045773f, -0.014227f, 0.040372f, 0.003790f, 0.039860f, 0.055829f, 0.045954f, -0.009307f, 0.029959f, -0.046876f, -0.073098f, -0.031299f, -0.027396f, 0.017549f, 0.000049f, 0.018780f, 0.020288f, 0.043960f, 0.033988f, 0.011836f, -0.034896f, -0.004272f, 0.034737f, 0.011170f, -0.017168f, 0.022369f, 0.047927f, -0.005438f, 0.016628f, -0.039207f, 0.018672f, -0.030959f, -0.008471f, -0.019669f, -0.040713f, 0.024875f, 0.002726f, 0.012112f, 0.048549f, -0.026346f, -0.029661f, 0.017511f, 0.050309f, -0.039651f, -0.026590f, 0.016334f, -0.012881f, 0.071137f, 0.052606f, -0.050147f, -0.019012f, -0.039657f, 0.002025f, 0.043373f, -0.020258f, -0.030232f, -0.013862f, 0.002597f, 0.010351f, -0.036179f, 0.008534f, 0.072494f, 0.005141f, -0.048600f, - -0.074209f, 0.059703f, -0.071591f, -0.060086f, -0.035226f, -0.030778f, -0.051839f, 0.013703f, 0.012985f, 0.083001f, 0.020632f, 0.036407f, -0.018526f, 0.039597f, -0.005032f, -0.017167f, 0.014831f, 0.001645f, -0.004018f, 0.040604f, 0.005006f, 0.020676f, 0.025771f, 0.013848f, 0.030935f, -0.009065f, 0.008214f, -0.006964f, -0.002730f, -0.006931f, -0.026399f, -0.019593f, -0.021836f, 0.024697f, 0.008673f, 0.021967f, 0.027267f, -0.006305f, 0.016254f, 0.035412f, 0.012621f, -0.011770f, 0.018174f, 0.021151f, 0.007134f, -0.005274f, -0.026084f, -0.023473f, 0.022903f, 0.009527f, 0.015166f, 0.030206f, 0.067419f, 0.028833f, 0.016851f, 0.012161f, 0.018932f, -0.010365f, -0.002460f, 0.033828f, -0.022129f, -0.027066f, -0.005459f, 0.012866f, -0.011797f, 0.012195f, 0.007243f, -0.065744f, -0.037990f, -0.049363f, 0.013398f, 0.027864f, 0.009946f, 0.042612f, 0.038220f, 0.053972f, 0.016874f, 0.058914f, 0.026369f, 0.038145f, -0.018402f, -0.006991f, -0.018499f, -0.044816f, -0.032242f, -0.069505f, -0.041285f, -0.013077f, -0.040562f, 0.009350f, -0.001427f, -0.000692f, 0.016846f, 0.014107f, 0.006494f, 0.034211f, - -0.008352f, -0.027638f, 0.040619f, 0.004151f, -0.053418f, -0.022674f, -0.005659f, -0.063925f, -0.048720f, -0.047034f, 0.004513f, 0.023407f, 0.006337f, -0.024243f, -0.003015f, 0.027387f, 0.016666f, 0.064553f, 0.012033f, -0.085642f, -0.028635f, -0.014378f, 0.013825f, 0.013983f, -0.009845f, -0.022308f, 0.031973f, -0.047160f, -0.008811f, -0.037688f, 0.029029f, -0.074605f, -0.046558f, -0.060720f, -0.049249f, 0.002970f, -0.027776f, -0.020823f, -0.049435f, 0.025514f, 0.088794f, -0.001636f, 0.057378f, -0.031181f, 0.014036f, -0.041480f, -0.000231f, 0.063962f, 0.015006f, -0.029187f, 0.003265f, 0.025082f, -0.042829f, -0.065432f, -0.035748f, 0.017683f, -0.051613f, 0.022894f, -0.000913f, -0.000640f, 0.032867f, 0.018053f, -0.009005f, 0.039161f, 0.037977f, 0.031484f, -0.010295f, -0.009692f, -0.006931f, 0.000416f, 0.026353f, 0.020021f, 0.013161f, 0.001590f, 0.027455f, 0.016314f, 0.003960f, 0.004596f, 0.020221f, -0.007595f, -0.007391f, 0.015304f, -0.021756f, 0.020331f, -0.018970f, -0.017241f, -0.022277f, 0.039341f, 0.023382f, 0.036668f, 0.012546f, 0.014526f, 0.002647f, 0.003636f, 0.016851f, -0.025530f, - -0.043546f, 0.004571f, 0.011414f, 0.011968f, 0.015752f, -0.002787f, -0.017288f, 0.049492f, 0.020382f, 0.049929f, -0.080855f, 0.035428f, 0.061142f, -0.005668f, 0.070384f, -0.036930f, -0.106848f, -0.055138f, -0.000547f, -0.010413f, 0.012010f, -0.038079f, 0.037187f, 0.052581f, -0.046914f, 0.041826f, -0.025625f, -0.031292f, -0.074585f, -0.030235f, -0.042795f, -0.028075f, -0.034202f, 0.034013f, 0.005184f, -0.066685f, -0.085621f, 0.065095f, 0.014802f, 0.023535f, -0.019916f, 0.005505f, -0.023078f, 0.000931f, 0.019838f, 0.030217f, 0.027226f, 0.072871f, 0.002453f, -0.051739f, 0.070492f, -0.007121f, -0.018165f, -0.032342f, 0.029814f, -0.057554f, -0.038768f, 0.033189f, -0.030001f, -0.044747f, -0.056486f, -0.049235f, -0.010490f, 0.006981f, 0.005462f, -0.014953f, 0.061117f, 0.052304f, -0.004917f, -0.029248f, -0.050931f, -0.058194f, 0.014545f, 0.012727f, -0.011434f, -0.005340f, 0.083847f, 0.006035f, -0.024354f, 0.036578f, 0.017467f, -0.054809f, 0.044007f, 0.080113f, -0.087323f, 0.141609f, 0.037807f, 0.041177f, 0.015556f, 0.041471f, -0.011135f, -0.086766f, 0.059794f, 0.005508f, -0.010759f, 0.062476f, - -0.073544f, 0.013320f, 0.013011f, 0.000016f, -0.007046f, 0.003534f, -0.005680f, -0.019909f, 0.010929f, 0.022216f, -0.018070f, -0.001880f, -0.026762f, -0.030314f, 0.039960f, -0.008385f, -0.019532f, 0.009609f, -0.010632f, -0.024020f, -0.044338f, -0.009740f, -0.015049f, 0.039311f, -0.037202f, -0.003296f, 0.045778f, -0.009219f, 0.036585f, -0.012587f, -0.031949f, 0.017111f, -0.006427f, -0.014711f, 0.018946f, 0.004964f, 0.050407f, -0.006243f, -0.000771f, 0.032864f, 0.100920f, 0.044152f, 0.002064f, -0.034200f, 0.048062f, -0.001118f, 0.003213f, -0.023532f, 0.043845f, -0.051513f, 0.037100f, 0.035593f, 0.037585f, 0.017984f, -0.014121f, 0.049844f, 0.062683f, -0.013168f, 0.025764f, -0.039344f, 0.063082f, 0.026684f, 0.020976f, -0.040708f, -0.088450f, 0.017249f, -0.027231f, -0.020500f, -0.035984f, -0.045465f, 0.027106f, 0.011900f, -0.022080f, 0.004709f, 0.001986f, -0.024184f, -0.107995f, -0.007072f, -0.023024f, -0.011408f, -0.001771f, 0.075676f, 0.051798f, -0.025698f, 0.019493f, -0.050438f, 0.005500f, 0.037131f, -0.057322f, -0.053456f, -0.043736f, 0.068455f, -0.049547f, 0.013950f, 0.055173f, -0.074859f, - -0.069286f, 0.063366f, 0.050616f, 0.053130f, 0.071396f, 0.026058f, -0.091548f, 0.020248f, 0.026959f, -0.008473f, 0.149277f, -0.015839f, -0.022826f, -0.067897f, -0.058433f, 0.029710f, -0.053862f, 0.034661f, 0.012140f, 0.039254f, 0.081751f, -0.052905f, -0.035874f, 0.099214f, -0.060747f, -0.067424f, 0.043731f, -0.086723f, 0.062712f, -0.066047f, 0.014904f, 0.022141f, -0.047568f, 0.019282f, -0.055210f, 0.037962f, 0.070344f, -0.003318f, 0.012184f, 0.014015f, 0.002589f, -0.021955f, -0.020292f, -0.005064f, 0.020391f, -0.009543f, 0.013761f, -0.014747f, -0.043642f, 0.018245f, 0.003871f, 0.029208f, 0.014729f, 0.025442f, -0.008808f, -0.009124f, -0.043241f, 0.029898f, -0.005794f, -0.040003f, 0.009301f, 0.080877f, 0.022584f, -0.021279f, 0.024018f, 0.043319f, -0.021605f, 0.004286f, 0.033728f, -0.017384f, 0.033648f, 0.010866f, -0.010345f, -0.052866f, 0.009074f, -0.020539f, -0.001061f, 0.064716f, -0.029595f, 0.002900f, 0.012835f, 0.008947f, -0.018428f, 0.021552f, 0.074087f, 0.005396f, -0.064771f, 0.090390f, 0.021328f, -0.006959f, 0.064226f, 0.031363f, 0.051809f, 0.018779f, -0.079047f, -0.018103f, - -0.030048f, 0.035926f, 0.090387f, -0.058695f, 0.013961f, -0.028649f, 0.039846f, 0.045741f, -0.062259f, 0.050430f, -0.050142f, -0.045375f, 0.021894f, 0.041341f, 0.001096f, 0.013105f, 0.032230f, -0.050734f, 0.043289f, 0.002528f, 0.052991f, -0.010444f, -0.014835f, 0.016574f, 0.078808f, -0.036600f, 0.063553f, -0.031994f, 0.012304f, 0.015863f, 0.063523f, -0.004699f, -0.004794f, 0.021148f, 0.096080f, 0.005443f, -0.076202f, -0.007073f, -0.091610f, 0.053721f, -0.000401f, 0.148256f, 0.031350f, -0.044555f, -0.013824f, 0.032043f, -0.033594f, 0.051455f, 0.096784f, 0.065717f, 0.000891f, 0.027381f, 0.041607f, -0.005755f, -0.045875f, -0.007185f, -0.010867f, -0.156708f, 0.096545f, 0.071484f, 0.066279f, 0.015162f, -0.068020f, -0.021176f, 0.050311f, 0.025361f, 0.043749f, 0.022880f, -0.149703f, -0.054333f, 0.091037f, 0.024161f, 0.029018f, 0.077843f, -0.056431f, -0.002875f, -0.008421f, 0.043618f, 0.010731f, -0.005496f, -0.012739f, 0.034130f, -0.009813f, -0.041805f, 0.019607f, -0.020751f, -0.023910f, 0.019994f, 0.030403f, -0.024038f, -0.007752f, -0.001982f, 0.023867f, -0.032463f, 0.024825f, -0.028823f, - 0.012467f, -0.048984f, -0.049495f, 0.047336f, 0.005732f, 0.003093f, -0.006184f, -0.036522f, -0.011439f, 0.031288f, 0.002931f, 0.009830f, 0.053537f, -0.009595f, -0.041624f, -0.005180f, -0.023891f, 0.017228f, 0.019704f, -0.020791f, -0.017130f, 0.020096f, 0.044271f, 0.055425f, -0.002300f, 0.058733f, -0.036234f, 0.059773f, -0.054603f, 0.009285f, 0.028586f, -0.027995f, 0.004016f, 0.011320f, -0.014948f, -0.029215f, -0.055278f, 0.084289f, -0.018900f, -0.016459f, -0.028128f, -0.004581f, -0.011652f, 0.027505f, -0.056674f, -0.016172f, -0.035503f, 0.012322f, -0.035701f, 0.034359f, -0.000334f, 0.017802f, -0.039382f, -0.071355f, 0.003256f, -0.052092f, -0.054773f, 0.024973f, -0.042059f, -0.035236f, 0.068997f, -0.025345f, -0.040606f, 0.005441f, -0.041760f, 0.019785f, 0.025921f, -0.007323f, -0.034167f, -0.009610f, 0.019577f, 0.017739f, -0.015675f, -0.001134f, 0.060732f, -0.010525f, -0.037895f, -0.047446f, -0.007151f, -0.020586f, -0.072249f, 0.067904f, 0.023048f, -0.082232f, 0.050563f, -0.003266f, -0.034977f, 0.159333f, 0.089148f, 0.073608f, 0.038479f, 0.022784f, -0.038098f, 0.006348f, 0.017091f, 0.019209f, - 0.006710f, 0.070077f, 0.015170f, -0.020131f, -0.034708f, -0.140047f, 0.028229f, 0.019014f, -0.001164f, -0.026878f, -0.053442f, -0.009894f, -0.034618f, -0.029954f, -0.002723f, 0.044992f, -0.030970f, 0.077409f, 0.010704f, -0.014686f, -0.005952f, -0.005886f, 0.005526f, 0.032974f, -0.013146f, 0.008782f, 0.022054f, 0.008520f, 0.003724f, 0.018385f, -0.029303f, 0.014663f, 0.004491f, 0.045673f, -0.016303f, -0.010461f, -0.013070f, -0.010570f, -0.036392f, -0.018634f, 0.012272f, -0.038142f, 0.028291f, -0.007059f, -0.019368f, 0.027598f, 0.016218f, 0.023361f, -0.009212f, -0.002665f, 0.002162f, 0.005175f, -0.025464f, 0.013819f, 0.000903f, -0.000244f, -0.003095f, 0.017002f, 0.008048f, -0.073295f, 0.122376f, 0.015164f, 0.039776f, 0.021460f, -0.030962f, 0.022353f, 0.034118f, 0.008132f, -0.004012f, -0.030192f, -0.005691f, 0.007890f, -0.014368f, -0.011038f, 0.004674f, 0.013306f, 0.035271f, -0.025248f, 0.014563f, 0.000967f, 0.028060f, -0.010564f, 0.005185f, 0.008913f, -0.033238f, 0.026163f, 0.003854f, 0.006113f, 0.009108f, 0.009361f, -0.021225f, 0.021658f, -0.018356f, 0.004051f, 0.020757f, -0.012035f, - 0.020345f, -0.009465f, 0.025763f, 0.019842f, 0.011382f, -0.032988f, 0.023868f, 0.017971f, 0.014359f, 0.040013f, -0.039369f, -0.003900f, -0.000777f, -0.008777f, 0.011498f, -0.020618f, -0.032679f, 0.021639f, 0.024622f, 0.012057f, -0.003493f, 0.004820f, -0.003873f, 0.012524f, -0.011717f, 0.004788f, -0.024358f, 0.021316f, -0.037596f, 0.034626f, 0.019206f, -0.012295f, -0.000910f, 0.014083f, 0.000654f, 0.012571f, -0.000119f, 0.000979f, -0.001628f, -0.013125f, 0.017654f, 0.023931f, -0.021926f, -0.005461f, 0.004144f, 0.013051f, -0.010155f, -0.010783f, 0.002493f, 0.003951f, -0.002805f, 0.001937f, -0.008273f, 0.002479f, 0.009716f, -0.008350f, 0.001808f, 0.005402f, -0.008451f, 0.006432f, 0.008486f, -0.001331f, -0.003160f, -0.004723f, 0.001401f, 0.017725f, -0.007181f, 0.001832f, -0.017248f, 0.000474f, 0.018515f, -0.013855f, 0.013715f, -0.007018f, 0.000787f, 0.030591f, -0.005730f, 0.000059f, -0.000917f, -0.010172f, 0.015878f, 0.006036f, 0.006687f, 0.006034f, -0.005324f, 0.003586f, 0.017447f, -0.005733f, 0.011821f, -0.008430f, -0.001531f, 0.023549f, -0.098236f, -0.228574f, -0.036704f, 0.133555f, - 0.121180f, 0.298747f, 0.155881f, -0.080540f, -0.024915f, -0.165594f, -0.281142f, -0.019486f, -0.127889f, -0.017873f, 0.204472f, 0.087337f, 0.157916f, 0.242707f, -0.028484f, -0.035630f, -0.123564f, -0.209759f, -0.166980f, -0.010799f, -0.062907f, -0.023783f, 0.173953f, 0.055209f, 0.113054f, 0.205911f, 0.033463f, -0.000867f, 0.021037f, -0.125286f, -0.189952f, 0.032571f, -0.196283f, -0.128226f, 0.043199f, -0.019715f, 0.031552f, 0.252241f, 0.028628f, 0.096703f, 0.205640f, -0.041025f, 0.006064f, 0.045940f, -0.198894f, -0.165567f, -0.059021f, -0.225959f, -0.087874f, 0.028826f, 0.041451f, 0.155680f, 0.218869f, 0.156312f, 0.109940f, 0.096150f, -0.036891f, -0.132327f, -0.109086f, -0.163606f, -0.172336f, -0.073648f, -0.043962f, 0.001215f, 0.143915f, 0.172230f, 0.053500f, 0.134606f, 0.038836f, -0.042509f, 0.027901f, -0.093675f, -0.130764f, -0.025413f, -0.060971f, -0.040418f, 0.073057f, -0.002616f, 0.050814f, 0.091514f, -0.025516f, -0.001888f, -0.000440f, -0.046135f, -0.014695f, -0.003049f, -0.035146f, 0.038862f, 0.013574f, -0.008857f, 0.062781f, 0.020341f, -0.009534f, 0.060956f, -0.021828f, -0.064945f, - 0.000806f, -0.099302f, -0.070133f, 0.021712f, -0.066704f, 0.014377f, 0.076208f, 0.056608f, 0.104054f, 0.114276f, 0.041012f, 0.040572f, -0.005316f, -0.093760f, -0.131948f, -0.134947f, -0.141785f, -0.089476f, -0.007318f, 0.045621f, 0.096986f, 0.169722f, 0.181201f, 0.151249f, 0.117545f, -0.006725f, -0.111652f, -0.158876f, -0.204182f, -0.207300f, -0.111363f, -0.033024f, 0.086301f, 0.184252f, 0.165885f, 0.100802f, 0.073714f, 0.022102f, -0.016128f, -0.024435f, -0.073975f, -0.084277f, -0.064334f, -0.052776f, -0.038828f, -0.007289f, 0.007141f, 0.031155f, 0.044969f, 0.047224f, 0.044306f, 0.041279f, 0.019895f, 0.001500f, -0.016027f, -0.023973f, -0.035554f, -0.034327f, -0.026423f, -0.013966f, -0.006020f, 0.006553f, 0.011273f, 0.016281f, 0.012833f, 0.011110f, 0.008848f, 0.008733f, 0.002494f, 0.002317f, 0.001898f, 0.000788f, -0.004221f, -0.001229f, -0.006334f, -0.012221f, -0.013283f, -0.012597f, -0.011935f, -0.000495f, 0.001885f, 0.006730f, 0.014221f, 0.017456f, 0.016270f, 0.014737f, 0.004964f, -0.001634f, -0.010073f, -0.015324f, -0.017356f, -0.013108f, -0.009409f, -0.003419f, 0.002670f, 0.007956f, - 0.008734f, 0.010012f, 0.007830f, 0.005363f, 0.002708f, -0.000058f, -0.003891f, -0.002906f, -0.004157f, -0.003304f, -0.002606f, -0.002612f, -0.001274f, 0.000560f, -0.002128f, -0.001271f, -0.000276f, 0.001100f, 0.002595f, 0.002581f, 0.002739f, 0.004468f, 0.002880f, 0.001534f, -0.000136f, -0.002095f, -0.003504f, -0.003484f, -0.003938f, -0.002791f, -0.001602f, -0.000358f, 0.000830f, 0.001864f, 0.001881f, 0.001989f, 0.001631f, 0.001113f, 0.000282f, -0.000081f, -0.000545f, -0.000782f, -0.000868f} - }, - { - {-0.008179f, 0.008688f, 0.002212f, -0.004646f, -0.002042f, -0.010413f, -0.002752f, 0.008817f, -0.004587f, -0.003324f, 0.002749f, -0.001310f, -0.000282f, 0.000613f, -0.002748f, -0.002187f, 0.010671f, 0.005229f, -0.001246f, 0.000583f, -0.001533f, -0.003108f, 0.001510f, 0.003862f, 0.005892f, -0.001427f, 0.002282f, 0.002766f, -0.009359f, -0.002816f, 0.000026f, -0.001798f, 0.005812f, 0.000595f, -0.001936f, 0.005263f, -0.003916f, 0.001826f, 0.008100f, -0.004397f, 0.000553f, 0.001152f, 0.006158f, -0.002284f, 0.008478f, -0.011891f, -0.004328f, 0.005280f, -0.002335f, -0.010066f, 0.000762f, 0.002112f, 0.003410f, 0.003545f, -0.001064f, -0.004293f, 0.000407f, -0.003889f, -0.002665f, 0.001257f, 0.005050f, 0.004698f, -0.006731f, 0.006024f, -0.007369f, 0.006682f, 0.000404f, 0.005869f, -0.002231f, -0.004724f, -0.002101f, 0.003971f, -0.000729f, -0.000911f, -0.001150f, 0.005471f, -0.005795f, 0.003066f, 0.001441f, 0.001526f, 0.001864f, 0.004392f, 0.001397f, -0.002706f, -0.003125f, -0.001663f, 0.002365f, -0.000437f, -0.002292f, 0.000516f, -0.002770f, -0.000542f, -0.000184f, -0.002768f, -0.001127f, -0.001526f, - 0.000383f, 0.001608f, -0.001911f, -0.001302f, 0.000801f, -0.000314f, -0.002737f, 0.000052f, 0.001501f, -0.000987f, -0.000134f, 0.000643f, -0.000251f, 0.001159f, 0.000785f, 0.000165f, -0.002070f, -0.000607f, 0.000078f, -0.000852f, 0.000057f, -0.000140f, -0.001452f, 0.000906f, -0.002461f, -0.000395f, -0.028491f, 0.009336f, -0.010365f, -0.004138f, -0.008489f, -0.008715f, 0.004933f, -0.002916f, -0.007363f, -0.003961f, 0.009981f, 0.014843f, -0.008139f, -0.003037f, -0.000736f, -0.010712f, -0.010069f, 0.000741f, -0.001031f, 0.006524f, 0.002188f, 0.004856f, -0.004304f, -0.002697f, -0.005572f, 0.001553f, 0.009573f, 0.004151f, 0.001848f, -0.006194f, 0.004672f, 0.001405f, 0.002853f, -0.004048f, 0.000340f, 0.001405f, 0.002137f, -0.005495f, -0.004028f, 0.001489f, -0.007587f, -0.007750f, 0.003302f, 0.005858f, -0.006617f, -0.003332f, -0.002563f, 0.000463f, 0.005833f, 0.004706f, 0.002022f, 0.000877f, 0.015114f, 0.005931f, -0.004800f, 0.005880f, 0.004177f, -0.004217f, 0.007129f, -0.002677f, -0.001815f, -0.000052f, -0.003139f, 0.006341f, -0.003600f, 0.001656f, 0.003807f, 0.003056f, -0.005679f, 0.002214f, - 0.001032f, 0.001131f, -0.002002f, -0.002818f, -0.001202f, 0.008862f, 0.000566f, -0.002645f, -0.001929f, 0.002080f, -0.008013f, 0.001532f, 0.004729f, -0.000324f, 0.003052f, -0.001774f, -0.002906f, 0.001915f, 0.001730f, -0.000760f, 0.002964f, 0.001526f, -0.000884f, 0.002108f, 0.002194f, 0.003702f, 0.000453f, -0.000004f, -0.000295f, -0.001137f, -0.001614f, -0.000178f, -0.000317f, -0.001008f, 0.001061f, -0.000372f, 0.003648f, 0.021610f, 0.008577f, -0.001572f, 0.000919f, 0.004904f, 0.002533f, -0.001528f, -0.009429f, 0.000241f, 0.008246f, -0.008587f, -0.001017f, -0.016061f, 0.004135f, 0.006453f, 0.000370f, -0.003873f, 0.011631f, 0.008160f, -0.007601f, 0.003580f, 0.000378f, -0.006672f, 0.010372f, 0.005691f, -0.000745f, 0.004152f, 0.009879f, -0.003147f, -0.002120f, 0.000601f, -0.000006f, 0.000174f, 0.002323f, 0.012148f, 0.002394f, 0.001758f, -0.019810f, -0.001109f, 0.000833f, 0.002294f, -0.009001f, 0.002003f, -0.007274f, -0.005598f, -0.007690f, -0.005047f, -0.000022f, 0.002227f, -0.004726f, 0.004590f, -0.011412f, -0.006583f, -0.000761f, -0.000218f, 0.003570f, -0.004614f, -0.001128f, -0.004185f, - 0.002395f, 0.006074f, -0.003785f, 0.000591f, -0.003287f, -0.000655f, 0.009454f, 0.007390f, -0.003079f, 0.006921f, -0.003421f, -0.006033f, -0.007519f, -0.000632f, -0.000764f, -0.005096f, 0.004466f, -0.000872f, 0.001222f, -0.000631f, -0.001728f, 0.000266f, -0.001144f, -0.004148f, -0.000332f, -0.006565f, 0.000659f, -0.003273f, -0.002162f, -0.005529f, 0.006249f, -0.002018f, 0.002081f, 0.004241f, 0.001636f, -0.002280f, -0.000587f, -0.002552f, -0.000257f, 0.001007f, -0.002509f, 0.002428f, -0.000283f, 0.000191f, 0.000283f, -0.000978f, 0.001396f, 0.000771f, 0.000385f, 0.000100f, 0.003495f, 0.001630f, -0.001234f, -0.002525f, -0.002303f, 0.002070f, 0.002825f, -0.000102f, 0.000658f, 0.002722f, 0.000360f, 0.034068f, -0.015020f, 0.002677f, -0.001386f, -0.006447f, 0.005299f, 0.009453f, -0.006362f, 0.010173f, -0.000703f, 0.010860f, 0.002913f, 0.003746f, -0.004875f, 0.006097f, 0.002274f, 0.006246f, -0.013594f, 0.007074f, -0.008094f, 0.002355f, -0.006819f, 0.008308f, -0.002441f, 0.008370f, -0.005135f, 0.002996f, -0.003413f, -0.000874f, -0.000512f, -0.000994f, 0.003208f, 0.017541f, 0.000646f, 0.005054f, - -0.005029f, -0.008329f, 0.000210f, 0.000023f, 0.000211f, 0.002555f, -0.005814f, 0.011459f, -0.000872f, 0.009585f, 0.000542f, -0.004339f, -0.005452f, -0.014717f, 0.007029f, 0.004615f, -0.006953f, 0.000625f, 0.005709f, 0.002970f, -0.017119f, 0.010008f, -0.000707f, 0.007075f, -0.010336f, -0.011120f, -0.005466f, -0.010835f, -0.002098f, 0.012230f, 0.002439f, -0.004875f, 0.000605f, 0.006858f, -0.002486f, -0.005752f, -0.003050f, -0.006434f, 0.004375f, -0.009684f, -0.001814f, -0.007463f, -0.002931f, -0.000172f, 0.008081f, 0.003723f, 0.000770f, 0.002426f, 0.010179f, 0.005280f, 0.001133f, 0.003632f, -0.003042f, -0.001287f, 0.000563f, 0.000051f, 0.001521f, 0.000723f, -0.001903f, 0.000870f, 0.003512f, -0.000393f, 0.000660f, 0.001217f, -0.001882f, -0.002520f, 0.002158f, -0.002989f, 0.003260f, 0.001860f, 0.003011f, -0.000067f, -0.001324f, 0.001785f, 0.002980f, 0.000670f, -0.001414f, 0.000873f, -0.000214f, 0.008858f, -0.021062f, 0.004192f, -0.006700f, -0.019248f, -0.014861f, 0.007772f, 0.008669f, 0.011447f, -0.005796f, -0.003045f, 0.007845f, 0.003714f, 0.011767f, 0.003785f, -0.001417f, 0.001138f, - 0.007475f, 0.014675f, -0.003873f, 0.004225f, -0.000278f, 0.011878f, 0.002651f, -0.000802f, -0.002497f, -0.009190f, -0.013968f, 0.000081f, -0.002096f, 0.004100f, -0.000889f, 0.003198f, 0.002325f, 0.000780f, 0.000784f, 0.002696f, -0.004842f, 0.000467f, 0.006487f, 0.010253f, -0.005158f, 0.001164f, -0.004559f, -0.005988f, 0.008411f, -0.006601f, -0.016402f, -0.006464f, -0.004287f, 0.007770f, 0.000537f, 0.008579f, 0.007778f, -0.004240f, 0.000230f, -0.006814f, -0.001061f, -0.002955f, 0.009991f, -0.012790f, -0.000493f, 0.004241f, -0.013615f, -0.015233f, 0.000107f, 0.004642f, 0.009486f, -0.006752f, -0.016191f, 0.008337f, -0.014951f, 0.017282f, 0.009659f, 0.002807f, 0.007253f, -0.000219f, -0.007272f, 0.021984f, -0.002143f, 0.010619f, -0.000547f, 0.015366f, 0.010452f, 0.005593f, -0.001713f, -0.003043f, -0.005314f, -0.001943f, 0.002183f, 0.000521f, 0.004110f, -0.004393f, 0.002503f, -0.002350f, -0.001730f, -0.001671f, -0.001935f, 0.002057f, -0.001264f, -0.000071f, -0.003422f, -0.000182f, 0.001856f, 0.003685f, -0.003895f, -0.004597f, 0.000481f, 0.001992f, -0.000195f, 0.002401f, -0.001531f, 0.000258f, - -0.001958f, -0.000604f, 0.001088f, 0.002270f, 0.002643f, 0.001661f, -0.002396f, -0.003356f, -0.046246f, 0.009721f, 0.002508f, -0.023148f, -0.029252f, -0.004572f, -0.022547f, 0.018619f, 0.005449f, -0.013533f, 0.001018f, -0.006215f, 0.002216f, -0.009191f, 0.001360f, -0.000379f, 0.000272f, 0.013169f, -0.004488f, -0.002881f, -0.005264f, -0.004635f, -0.012110f, -0.008076f, 0.012480f, -0.004932f, 0.007953f, -0.006705f, 0.003536f, 0.000360f, 0.007203f, -0.007009f, 0.005496f, -0.007042f, 0.003305f, -0.002601f, -0.004323f, 0.004607f, -0.011307f, 0.004562f, -0.005674f, -0.001948f, -0.008172f, 0.020309f, 0.009765f, 0.017826f, -0.007364f, 0.007606f, 0.006171f, -0.003356f, 0.003319f, -0.008217f, 0.009055f, 0.019532f, 0.015497f, -0.010519f, -0.002682f, 0.004693f, -0.007548f, -0.005037f, -0.013349f, -0.025162f, -0.008407f, 0.013136f, 0.004851f, -0.006094f, 0.002752f, 0.001485f, -0.006714f, -0.011872f, -0.011953f, 0.008784f, 0.001193f, -0.018455f, 0.002169f, 0.001950f, -0.000720f, -0.001238f, 0.006367f, 0.013647f, -0.001180f, 0.000138f, 0.002085f, 0.000140f, -0.003350f, -0.012151f, 0.004273f, 0.004300f, - 0.002733f, 0.005901f, 0.003684f, -0.005113f, 0.001561f, -0.003163f, 0.000892f, -0.002652f, -0.000925f, -0.002951f, 0.000287f, 0.000848f, -0.000165f, -0.002095f, -0.001973f, -0.000510f, 0.001168f, 0.000076f, 0.004734f, 0.001766f, 0.004433f, 0.004718f, 0.005160f, -0.005780f, -0.005806f, -0.002109f, 0.004758f, -0.001397f, 0.001883f, -0.001626f, 0.002726f, 0.002778f, 0.001917f, -0.002743f, -0.001413f, -0.018292f, -0.007686f, -0.004837f, 0.013626f, -0.003741f, 0.003158f, -0.014280f, -0.014884f, 0.000626f, 0.004191f, -0.008763f, -0.005052f, -0.008230f, 0.016734f, 0.003605f, -0.005726f, -0.012382f, -0.012197f, -0.011950f, -0.003376f, 0.005588f, 0.016818f, 0.005379f, 0.009473f, -0.007688f, 0.017920f, 0.010174f, 0.003244f, 0.000101f, 0.018437f, -0.010913f, 0.001701f, 0.005760f, 0.012467f, -0.020365f, -0.010366f, 0.008742f, 0.003515f, -0.002897f, 0.021081f, -0.009332f, 0.005940f, 0.012644f, 0.003930f, 0.002046f, 0.009281f, 0.003688f, 0.004609f, 0.004647f, 0.002002f, 0.005370f, -0.000326f, 0.007956f, -0.001878f, 0.019645f, -0.014360f, 0.016150f, 0.012905f, -0.011340f, 0.012783f, 0.002269f, - 0.010867f, 0.010901f, -0.024130f, -0.000732f, -0.000962f, -0.007361f, 0.003868f, -0.006650f, 0.006700f, -0.002836f, 0.015400f, -0.001772f, 0.002432f, 0.006215f, 0.004340f, 0.006012f, -0.009797f, -0.003388f, -0.010010f, -0.009386f, -0.005309f, 0.014846f, 0.002255f, -0.004851f, 0.004439f, 0.004027f, 0.001930f, -0.002610f, 0.001587f, -0.001873f, 0.005921f, 0.002144f, 0.001904f, -0.002937f, 0.001852f, -0.005696f, -0.000478f, 0.006437f, 0.003441f, -0.001144f, 0.002214f, 0.002226f, -0.001777f, 0.002666f, 0.001902f, 0.006243f, 0.003540f, -0.003605f, -0.001340f, -0.002173f, 0.001993f, -0.005709f, 0.001708f, 0.003013f, 0.001956f, -0.000917f, -0.000217f, -0.000583f, 0.024119f, -0.006457f, -0.003811f, -0.005996f, 0.017163f, 0.008973f, 0.001783f, 0.006499f, -0.011704f, 0.025681f, 0.008478f, -0.002109f, 0.009670f, 0.012362f, -0.021078f, -0.001491f, 0.004929f, 0.002377f, -0.000075f, 0.017710f, -0.008601f, -0.010892f, 0.024445f, 0.003613f, -0.001780f, -0.002526f, 0.012757f, 0.000888f, -0.001897f, -0.002497f, -0.005982f, 0.006285f, -0.003721f, 0.008413f, 0.005956f, -0.015530f, -0.014652f, 0.001730f, - 0.028878f, -0.000448f, 0.005873f, -0.017939f, 0.008778f, 0.011763f, -0.007403f, 0.008691f, 0.010900f, -0.018194f, -0.011059f, -0.002387f, -0.023181f, -0.012411f, -0.013842f, 0.003945f, -0.004755f, -0.005261f, -0.002558f, 0.016163f, -0.022347f, 0.009739f, 0.004843f, -0.007377f, 0.013627f, -0.008863f, 0.001303f, -0.018897f, -0.000399f, 0.011203f, 0.010188f, 0.021209f, -0.025236f, -0.006418f, -0.028015f, -0.006163f, -0.000571f, -0.006820f, 0.003140f, -0.001528f, 0.025485f, 0.019625f, 0.011200f, -0.012850f, 0.000651f, 0.004719f, 0.012423f, 0.015119f, -0.000349f, -0.000109f, -0.002175f, 0.000145f, 0.008696f, -0.000606f, -0.000749f, -0.000538f, 0.000160f, 0.000247f, 0.001062f, 0.003336f, -0.003583f, -0.001327f, 0.003644f, 0.000406f, 0.003369f, -0.000323f, 0.000384f, -0.003139f, 0.004625f, 0.002633f, 0.000074f, 0.004119f, -0.002182f, -0.000498f, 0.004067f, 0.000861f, -0.000672f, -0.005250f, -0.000314f, 0.000899f, 0.000758f, -0.002028f, 0.005218f, 0.008456f, -0.001553f, -0.000487f, -0.003882f, 0.002626f, 0.016334f, -0.018678f, 0.000448f, -0.011511f, 0.031537f, -0.013564f, -0.007854f, 0.027310f, - 0.020559f, 0.003673f, -0.038475f, -0.009510f, 0.017477f, 0.001263f, -0.001992f, -0.005623f, -0.003169f, -0.003155f, 0.002529f, 0.005768f, 0.005266f, 0.004982f, 0.033806f, -0.007253f, -0.005073f, -0.000140f, 0.004288f, -0.010289f, 0.005823f, 0.003437f, -0.001412f, -0.011308f, -0.007146f, 0.012095f, 0.012987f, 0.024690f, 0.006212f, -0.010399f, 0.006139f, -0.000488f, 0.006225f, 0.000295f, 0.013652f, -0.011661f, -0.017286f, -0.017840f, 0.011431f, -0.005208f, 0.002279f, 0.004433f, -0.006456f, -0.001343f, 0.029366f, 0.009904f, -0.025027f, 0.017530f, 0.005519f, 0.029702f, -0.015673f, -0.014821f, 0.008510f, 0.015907f, 0.010980f, 0.006017f, -0.002880f, 0.000759f, 0.007558f, -0.009916f, -0.002923f, 0.000137f, 0.012560f, -0.009381f, 0.025361f, -0.001107f, -0.000473f, -0.013365f, -0.014978f, 0.028952f, 0.008543f, -0.024107f, -0.005716f, 0.019896f, 0.013814f, 0.002584f, 0.004929f, -0.012370f, 0.003697f, 0.003048f, 0.003805f, 0.002031f, 0.004238f, -0.005794f, -0.006915f, 0.000715f, -0.000317f, -0.005806f, -0.001970f, 0.005027f, 0.005020f, -0.007699f, 0.001881f, -0.000195f, 0.003172f, 0.004310f, - -0.001352f, -0.001502f, -0.001948f, 0.002850f, 0.008866f, -0.006670f, 0.004843f, -0.000601f, 0.000125f, -0.003984f, -0.000980f, -0.003011f, -0.002007f, 0.004115f, -0.001575f, -0.002676f, -0.005909f, -0.000379f, -0.003383f, -0.022633f, -0.019190f, -0.007409f, 0.007143f, 0.007330f, 0.035175f, 0.034149f, -0.003867f, 0.002841f, 0.001604f, 0.000348f, -0.000290f, -0.006953f, -0.022764f, -0.017446f, -0.008961f, 0.008181f, -0.006281f, -0.019801f, -0.005541f, 0.003865f, -0.001383f, -0.030403f, -0.008871f, 0.006836f, -0.003028f, 0.002972f, 0.002195f, 0.009248f, 0.013512f, 0.002257f, -0.009640f, 0.009981f, 0.010400f, 0.007334f, -0.000317f, 0.013444f, -0.026650f, 0.009044f, -0.023603f, 0.029611f, -0.020866f, 0.008152f, -0.022145f, -0.003603f, -0.024752f, -0.013044f, -0.015394f, -0.016667f, 0.011573f, -0.014646f, -0.002760f, 0.005268f, -0.000103f, -0.007767f, -0.005573f, -0.002491f, -0.024212f, 0.000885f, 0.001672f, 0.012140f, -0.037845f, 0.000984f, -0.000905f, 0.017781f, 0.021346f, -0.014351f, -0.008792f, 0.000895f, 0.016416f, -0.031270f, 0.020171f, -0.014011f, -0.009254f, 0.001624f, -0.030445f, -0.001488f, - -0.002400f, -0.004686f, -0.005390f, -0.003725f, 0.030667f, 0.012569f, 0.006351f, -0.007243f, -0.006815f, -0.007583f, 0.001017f, 0.007596f, -0.012201f, -0.000251f, -0.002079f, -0.003216f, 0.001690f, 0.009125f, -0.003318f, -0.005714f, 0.005773f, 0.003593f, -0.000073f, 0.006434f, 0.003484f, 0.005405f, -0.003191f, -0.004033f, 0.007746f, -0.005481f, 0.002028f, -0.007211f, -0.001350f, 0.000410f, -0.001437f, -0.002684f, -0.006398f, -0.007005f, -0.007473f, 0.001903f, -0.000366f, -0.001556f, -0.005376f, -0.005043f, -0.002051f, -0.002620f, 0.001738f, 0.007735f, -0.001994f, 0.005941f, -0.017754f, -0.046699f, -0.018493f, -0.008681f, 0.008446f, 0.012937f, -0.015143f, -0.005581f, -0.019115f, -0.016853f, 0.009281f, -0.014780f, 0.015741f, 0.006541f, 0.011381f, -0.001623f, -0.014982f, 0.026860f, 0.010841f, 0.015136f, -0.018788f, 0.008288f, 0.003731f, -0.027546f, 0.017409f, 0.010474f, 0.001269f, -0.018702f, -0.007025f, 0.009500f, 0.010135f, -0.000282f, 0.003657f, 0.013621f, -0.012937f, -0.009586f, 0.016098f, -0.031456f, -0.030929f, -0.040820f, -0.008962f, 0.013295f, -0.035723f, -0.029884f, -0.017974f, 0.000711f, - 0.013165f, 0.004230f, 0.003876f, 0.000720f, -0.010176f, -0.014254f, -0.033724f, 0.018005f, 0.005284f, 0.041235f, -0.009617f, 0.001156f, -0.025255f, -0.030403f, 0.004098f, 0.019745f, 0.001582f, -0.019169f, 0.012916f, 0.005195f, 0.028286f, 0.002801f, 0.003758f, -0.013541f, -0.002350f, 0.011931f, -0.027296f, -0.051392f, -0.014106f, -0.012818f, 0.003006f, 0.013537f, -0.024393f, -0.012451f, 0.008271f, -0.008592f, -0.001759f, 0.008053f, -0.004520f, -0.004127f, 0.010828f, 0.002613f, -0.000709f, 0.005220f, 0.008469f, 0.009182f, 0.002002f, -0.006160f, -0.016103f, -0.001500f, -0.009728f, 0.002702f, 0.002062f, 0.002085f, 0.007031f, -0.005867f, 0.006415f, 0.008418f, 0.005894f, 0.004759f, 0.004984f, -0.012131f, -0.010840f, -0.004217f, -0.009300f, 0.001051f, 0.002991f, 0.003199f, 0.011625f, -0.002687f, 0.007488f, 0.004417f, -0.004511f, -0.002497f, -0.006688f, -0.009424f, -0.002286f, -0.012414f, -0.003752f, -0.002819f, -0.043962f, -0.033782f, -0.015550f, 0.023214f, -0.002036f, 0.039749f, 0.007837f, -0.003426f, -0.022324f, 0.007957f, 0.040921f, -0.042840f, -0.038614f, -0.012727f, -0.006446f, -0.026856f, - 0.025433f, 0.007485f, 0.013761f, 0.016511f, -0.026967f, -0.003180f, 0.010760f, -0.016939f, 0.031715f, 0.000491f, 0.007094f, -0.009222f, 0.007787f, -0.020966f, -0.012031f, -0.007191f, 0.011886f, 0.005696f, 0.019248f, -0.031627f, 0.002770f, -0.000221f, -0.023652f, 0.025772f, -0.015465f, -0.037635f, 0.007370f, 0.013591f, 0.002664f, -0.011227f, -0.002814f, -0.015663f, 0.002507f, 0.012851f, 0.005372f, -0.025720f, 0.009996f, -0.005847f, -0.028682f, -0.016880f, -0.035221f, 0.000801f, -0.005567f, -0.000916f, 0.004458f, 0.021569f, 0.026682f, 0.022299f, -0.011503f, -0.019417f, 0.006318f, -0.004930f, -0.003384f, -0.015007f, 0.027758f, 0.023046f, -0.005062f, 0.042815f, -0.027419f, 0.014284f, 0.026873f, 0.029071f, 0.000664f, 0.018486f, -0.012082f, -0.004706f, -0.024085f, -0.010129f, 0.014202f, -0.004867f, -0.018793f, 0.011652f, -0.010826f, 0.012243f, -0.005594f, -0.012726f, 0.006517f, -0.002511f, -0.007428f, -0.005538f, 0.004744f, -0.006180f, 0.004119f, 0.008648f, -0.009210f, 0.011724f, -0.001579f, -0.006338f, 0.004216f, 0.001436f, 0.000609f, -0.005260f, 0.006691f, -0.010367f, 0.003403f, 0.003952f, - 0.000290f, -0.006906f, -0.000877f, -0.004081f, 0.005142f, 0.009723f, 0.020818f, 0.010682f, 0.016598f, -0.000797f, -0.000304f, 0.008668f, -0.010839f, 0.002941f, -0.014657f, -0.005827f, 0.003040f, -0.000145f, 0.016073f, -0.038074f, 0.004843f, 0.000463f, -0.024067f, 0.003526f, -0.053561f, -0.046323f, -0.011076f, -0.000390f, 0.002015f, -0.001150f, -0.019032f, -0.000650f, -0.005431f, 0.017155f, 0.003360f, -0.001062f, 0.003233f, -0.040459f, 0.014010f, 0.007572f, 0.022483f, 0.009344f, 0.009747f, 0.026415f, 0.013161f, 0.003843f, 0.066049f, 0.014149f, 0.025420f, 0.035064f, 0.001651f, 0.024737f, 0.006205f, -0.013699f, 0.016058f, 0.001162f, 0.007737f, -0.013416f, 0.001014f, -0.008695f, 0.005612f, -0.008667f, 0.018586f, 0.002265f, -0.011547f, -0.014416f, 0.001999f, -0.039156f, 0.022787f, 0.015396f, -0.001987f, -0.003520f, 0.008962f, -0.010387f, -0.008633f, -0.012826f, -0.015510f, 0.012984f, -0.012371f, 0.021436f, 0.024919f, 0.024442f, 0.025974f, -0.005994f, -0.039335f, 0.000662f, 0.016618f, 0.039717f, -0.009196f, -0.001426f, 0.018810f, 0.027751f, 0.040844f, -0.005257f, 0.018000f, -0.012046f, - -0.006993f, -0.032769f, -0.025576f, -0.011143f, -0.011601f, -0.009330f, 0.006862f, 0.001465f, -0.014059f, 0.015981f, 0.010069f, 0.012569f, 0.022469f, 0.009033f, 0.008431f, -0.002631f, 0.000042f, -0.003274f, -0.006412f, 0.000241f, 0.004068f, 0.000071f, 0.011867f, 0.009522f, 0.005811f, -0.000623f, -0.009700f, 0.000619f, -0.006960f, -0.007678f, 0.004966f, 0.006066f, 0.001824f, -0.012053f, -0.002705f, -0.017554f, -0.004266f, 0.005808f, 0.008746f, -0.005584f, 0.007276f, -0.010008f, -0.011684f, -0.005864f, -0.007035f, 0.006574f, 0.003412f, -0.010241f, -0.007057f, 0.008074f, 0.031643f, 0.041274f, -0.031886f, -0.033337f, -0.043821f, 0.038254f, -0.004713f, -0.016321f, 0.012890f, 0.012458f, 0.035788f, 0.029736f, 0.001407f, 0.032664f, 0.046672f, 0.012900f, -0.024582f, 0.022110f, -0.022787f, -0.012965f, -0.005121f, -0.016066f, -0.019204f, 0.009218f, -0.009934f, -0.009755f, -0.023060f, 0.050912f, 0.005949f, -0.027807f, -0.000477f, -0.004159f, 0.022547f, 0.023883f, 0.009140f, -0.016449f, 0.024086f, -0.007098f, 0.014697f, -0.047430f, 0.002020f, 0.019112f, -0.020608f, 0.006333f, -0.022355f, -0.018287f, - 0.048089f, 0.019739f, 0.014202f, -0.003806f, -0.043427f, -0.010861f, 0.012013f, 0.008851f, 0.006526f, -0.010608f, 0.033779f, -0.024463f, 0.018579f, -0.011715f, 0.012145f, 0.013442f, 0.026674f, 0.036208f, -0.042965f, -0.001530f, 0.021439f, 0.010205f, 0.030308f, 0.029381f, -0.042847f, -0.000306f, -0.012172f, -0.022409f, -0.001814f, -0.023418f, 0.009024f, 0.017177f, -0.009009f, 0.031467f, -0.007623f, -0.019501f, -0.023582f, 0.019418f, 0.022352f, 0.022244f, -0.006691f, 0.003502f, -0.001774f, -0.033386f, -0.032327f, -0.030351f, 0.018040f, 0.008842f, 0.005436f, 0.014400f, -0.001474f, -0.008805f, 0.021999f, 0.002604f, -0.000643f, 0.013282f, 0.021287f, 0.012689f, 0.001137f, 0.001883f, -0.006973f, 0.012732f, 0.006081f, 0.027355f, -0.003155f, 0.002848f, 0.019050f, 0.015357f, 0.004911f, -0.003316f, 0.011970f, -0.000948f, -0.003165f, 0.021464f, -0.018222f, 0.000382f, 0.013009f, 0.000511f, -0.004675f, -0.007208f, -0.003972f, -0.000625f, 0.014070f, 0.002180f, 0.000435f, 0.015586f, 0.011167f, -0.011028f, 0.016780f, -0.001383f, 0.032549f, 0.064858f, 0.002771f, -0.031026f, 0.008760f, -0.020763f, - 0.013429f, -0.018055f, -0.019410f, 0.058862f, -0.044694f, 0.073911f, 0.045326f, -0.010952f, 0.014950f, 0.035697f, 0.005235f, -0.055788f, 0.021962f, -0.045186f, 0.010823f, 0.003995f, -0.022224f, 0.000929f, -0.002953f, 0.032230f, -0.016045f, -0.001644f, -0.001144f, -0.009843f, 0.068255f, -0.003942f, -0.010134f, 0.008756f, 0.023066f, -0.023254f, -0.048926f, 0.038675f, -0.006072f, -0.002987f, 0.044243f, -0.025973f, -0.007049f, -0.030919f, 0.008396f, -0.021618f, 0.025055f, 0.022951f, 0.047094f, -0.013489f, 0.013271f, 0.031338f, -0.044363f, 0.005427f, -0.028209f, -0.044829f, -0.057102f, -0.030157f, -0.061751f, -0.069667f, -0.009576f, 0.004474f, -0.032600f, -0.035298f, 0.022014f, -0.002509f, -0.019603f, -0.038054f, 0.027611f, -0.020348f, 0.007325f, 0.034447f, -0.064820f, -0.018804f, -0.011756f, 0.028811f, 0.077943f, -0.036836f, 0.002460f, -0.023401f, -0.034301f, 0.016683f, -0.041085f, 0.033216f, 0.058157f, -0.016581f, -0.026863f, -0.028752f, -0.007031f, -0.006918f, 0.000773f, 0.018748f, 0.014048f, -0.015323f, 0.015572f, -0.001984f, 0.012300f, 0.000635f, -0.013834f, -0.004069f, 0.017212f, -0.028243f, - 0.013468f, -0.014833f, 0.004120f, -0.012092f, -0.004387f, -0.017037f, 0.004102f, -0.016380f, -0.025101f, -0.012270f, 0.006239f, -0.018889f, 0.000201f, 0.005597f, 0.028035f, -0.016137f, -0.009131f, 0.009054f, 0.011699f, -0.020152f, -0.012269f, 0.005625f, -0.005201f, -0.010785f, 0.019650f, 0.003317f, -0.014913f, 0.013465f, 0.004098f, -0.023523f, 0.004108f, -0.018883f, 0.020963f, -0.009331f, -0.030075f, -0.044512f, -0.033763f, 0.037531f, -0.030571f, 0.015214f, 0.035713f, 0.015324f, 0.022958f, -0.042428f, 0.061214f, 0.038562f, 0.033414f, -0.024503f, 0.043886f, -0.004708f, 0.029042f, 0.019144f, 0.006503f, 0.015903f, 0.021332f, 0.013062f, -0.007090f, -0.010797f, -0.009703f, 0.004524f, -0.029404f, -0.034632f, 0.019601f, 0.008745f, 0.011399f, -0.028462f, 0.007839f, 0.008817f, 0.021452f, 0.032020f, 0.048037f, -0.026986f, 0.007310f, 0.068395f, 0.014771f, 0.007449f, 0.006645f, -0.013944f, 0.005055f, 0.068113f, 0.019765f, 0.044168f, 0.012593f, -0.046981f, -0.019588f, -0.034173f, 0.098747f, 0.040248f, -0.038119f, -0.023754f, -0.033997f, 0.005901f, -0.022300f, -0.053486f, 0.012345f, -0.040467f, - 0.060468f, -0.004086f, -0.050015f, 0.066034f, 0.053427f, 0.007790f, -0.014504f, 0.009184f, -0.030439f, 0.040752f, 0.072508f, -0.019212f, 0.034394f, 0.081253f, -0.012751f, -0.012995f, -0.009225f, 0.049557f, -0.003579f, -0.027037f, -0.025580f, -0.025805f, -0.000432f, -0.002987f, -0.022669f, 0.002034f, -0.009503f, 0.025108f, 0.006206f, -0.023679f, -0.015065f, -0.026998f, -0.002951f, 0.003963f, -0.004424f, -0.018828f, -0.021263f, -0.014873f, 0.013346f, 0.022704f, 0.003522f, -0.023108f, -0.003386f, 0.029996f, 0.000246f, 0.027520f, 0.014338f, -0.014983f, -0.001350f, -0.023407f, 0.023298f, 0.010712f, -0.030520f, -0.057180f, 0.005306f, -0.003395f, -0.017404f, 0.019221f, -0.000122f, -0.009693f, -0.008158f, 0.006245f, 0.001595f, -0.001917f, 0.016979f, -0.046512f, 0.018833f, -0.006143f, 0.046648f, -0.096758f, -0.066318f, 0.038670f, 0.018621f, 0.014175f, 0.032846f, -0.032823f, -0.042915f, -0.023476f, -0.035307f, 0.020378f, -0.037904f, 0.011420f, 0.025556f, 0.041899f, 0.001608f, 0.035166f, 0.020528f, 0.006036f, -0.010904f, -0.036165f, -0.025524f, 0.021564f, -0.044395f, 0.023017f, 0.005451f, 0.038308f, - 0.029187f, -0.013894f, -0.055320f, -0.035774f, -0.003166f, -0.002453f, -0.014496f, 0.038324f, -0.066929f, -0.004877f, 0.002519f, -0.069949f, -0.001189f, -0.008326f, -0.005444f, 0.007854f, 0.041307f, -0.039760f, -0.110311f, 0.041572f, 0.045166f, 0.027172f, 0.086308f, -0.070597f, -0.008968f, 0.048208f, 0.036752f, -0.044181f, -0.020561f, -0.011940f, 0.067992f, 0.013703f, 0.064899f, -0.093375f, 0.013783f, -0.111454f, -0.066856f, -0.064467f, 0.076945f, 0.024695f, -0.049480f, 0.045462f, 0.005359f, -0.043138f, 0.044307f, -0.064703f, -0.068206f, 0.010552f, -0.070846f, 0.021389f, -0.121072f, 0.018843f, 0.038277f, -0.051251f, 0.056777f, -0.025382f, -0.013641f, 0.038281f, -0.013063f, -0.010082f, -0.027002f, -0.001635f, 0.008948f, 0.021265f, -0.002488f, 0.019785f, 0.038206f, -0.028417f, -0.003152f, -0.022529f, 0.013587f, -0.014605f, -0.003992f, 0.008660f, 0.004673f, 0.005440f, -0.005073f, 0.039675f, -0.013102f, 0.003497f, 0.016789f, -0.034432f, -0.030628f, -0.033428f, -0.015781f, -0.056511f, -0.026168f, -0.020476f, 0.048856f, 0.009984f, 0.043463f, 0.019052f, 0.008694f, 0.020083f, 0.013686f, 0.002062f, - 0.016363f, 0.003785f, 0.033993f, 0.083726f, 0.030940f, -0.030055f, -0.019657f, 0.011519f, -0.021348f, -0.025003f, -0.003043f, 0.038948f, -0.006845f, 0.007255f, -0.041524f, -0.008598f, 0.057165f, -0.041797f, 0.031582f, 0.074748f, 0.037297f, -0.003189f, -0.014361f, -0.024594f, -0.047909f, -0.035164f, 0.041101f, -0.023474f, 0.038558f, 0.027868f, 0.013163f, 0.001832f, 0.014985f, -0.011911f, -0.060920f, -0.021079f, 0.043394f, 0.034499f, 0.036046f, -0.038449f, 0.066278f, -0.017066f, 0.025700f, -0.049047f, 0.044834f, 0.077403f, -0.015687f, -0.027522f, -0.002975f, 0.002877f, -0.017324f, 0.016947f, 0.033717f, -0.063437f, 0.041546f, 0.040466f, -0.010022f, 0.046906f, 0.024714f, 0.020270f, -0.029850f, 0.006189f, 0.041791f, -0.088469f, -0.078967f, -0.032786f, 0.020756f, -0.040696f, -0.119963f, 0.050272f, 0.032747f, -0.015486f, -0.020471f, 0.000972f, -0.007171f, -0.040985f, -0.110214f, -0.006596f, 0.078022f, 0.019040f, -0.014050f, -0.009283f, 0.016739f, 0.064082f, 0.050837f, -0.075072f, -0.031152f, 0.050207f, -0.010766f, -0.020080f, -0.086057f, -0.004941f, 0.046976f, 0.015729f, -0.013383f, 0.029126f, - -0.010958f, 0.003146f, -0.032517f, -0.005237f, 0.019530f, 0.029635f, -0.016954f, -0.006001f, 0.005924f, 0.017175f, -0.010744f, 0.010607f, 0.001247f, -0.020912f, 0.012460f, 0.036032f, 0.006029f, 0.010823f, 0.006564f, 0.016322f, -0.017078f, -0.029593f, 0.002744f, 0.032209f, -0.026452f, 0.011634f, -0.009031f, 0.002986f, -0.025656f, -0.049047f, -0.026874f, 0.018425f, 0.059705f, -0.005993f, 0.028142f, -0.039500f, -0.017527f, -0.026664f, 0.016460f, 0.011762f, 0.018789f, -0.013384f, -0.020579f, -0.001314f, 0.004238f, 0.004737f, -0.009296f, -0.002038f, 0.040748f, 0.054012f, 0.001203f, -0.060901f, 0.080646f, -0.022658f, -0.056303f, 0.050448f, -0.008104f, -0.030632f, 0.038989f, 0.010435f, -0.008164f, 0.032890f, -0.045099f, 0.042770f, -0.015286f, 0.001436f, -0.013116f, -0.011204f, -0.062872f, 0.024894f, -0.024002f, 0.009903f, -0.025207f, -0.002080f, -0.018793f, 0.018002f, -0.011011f, 0.067945f, 0.012004f, 0.044450f, -0.017298f, 0.011115f, 0.028096f, -0.011933f, 0.019417f, -0.003852f, 0.033936f, -0.001706f, -0.011410f, 0.053657f, -0.047950f, 0.026751f, 0.036666f, -0.021525f, 0.041500f, -0.025410f, - -0.001041f, 0.021353f, -0.016247f, 0.048788f, 0.043680f, 0.009083f, 0.072694f, -0.044806f, -0.102662f, -0.017279f, -0.063480f, -0.041997f, 0.149912f, -0.003820f, 0.045988f, -0.006999f, -0.063280f, -0.001630f, 0.062978f, 0.089197f, 0.054225f, 0.089851f, -0.048343f, -0.014460f, -0.021667f, -0.051302f, 0.034011f, -0.014405f, -0.031674f, -0.003308f, -0.062271f, -0.113803f, 0.028638f, 0.040064f, -0.033690f, 0.022682f, -0.007094f, -0.033950f, 0.036230f, 0.026688f, -0.013272f, 0.037332f, -0.013726f, -0.033333f, 0.017118f, -0.016552f, 0.044263f, 0.004164f, 0.003304f, 0.025008f, 0.008338f, -0.028204f, -0.011832f, 0.014515f, -0.009292f, 0.027556f, -0.038441f, 0.024803f, -0.040304f, -0.010268f, 0.010048f, -0.028608f, 0.018256f, 0.001148f, -0.042937f, -0.006960f, 0.002770f, -0.011534f, -0.000106f, -0.008029f, -0.031501f, 0.012894f, 0.009451f, -0.005021f, 0.031635f, 0.048484f, -0.026427f, -0.037831f, -0.002415f, -0.018051f, 0.052468f, 0.053864f, -0.031746f, -0.020130f, -0.006607f, -0.026716f, 0.000565f, 0.009459f, 0.045293f, -0.048590f, 0.057422f, -0.035329f, 0.007552f, -0.000534f, 0.005593f, -0.044867f, - -0.007281f, -0.040624f, -0.033664f, -0.000307f, -0.013513f, -0.030755f, -0.012498f, 0.021812f, -0.026293f, 0.020066f, -0.012629f, 0.061752f, -0.029192f, 0.018142f, 0.003385f, -0.015894f, -0.050314f, -0.018752f, 0.037654f, 0.006434f, -0.012824f, 0.049419f, -0.037266f, -0.037688f, -0.005453f, 0.047166f, -0.043674f, -0.006504f, 0.008124f, 0.012469f, -0.048594f, 0.014061f, 0.016381f, -0.017699f, -0.050795f, 0.000446f, -0.039525f, 0.016129f, 0.008541f, 0.014556f, -0.077443f, -0.033416f, 0.043601f, 0.118113f, -0.054051f, -0.007890f, 0.009193f, -0.020493f, -0.033846f, -0.001138f, 0.098708f, 0.022350f, -0.010453f, -0.009187f, -0.026541f, -0.006568f, -0.020406f, 0.037944f, 0.001666f, -0.025018f, -0.026694f, 0.000893f, 0.017425f, -0.039991f, 0.030504f, 0.008653f, 0.033288f, 0.000853f, 0.042433f, 0.017481f, -0.030141f, 0.039669f, 0.038003f, 0.094360f, 0.029880f, 0.006870f, 0.009475f, -0.035131f, 0.011286f, 0.030538f, 0.031784f, 0.010589f, -0.002510f, 0.000744f, -0.004127f, 0.011481f, 0.013099f, -0.003623f, 0.017004f, -0.004927f, -0.002017f, 0.032287f, 0.013681f, 0.005157f, -0.010039f, 0.009228f, - 0.024575f, 0.025633f, 0.029772f, 0.010417f, 0.010793f, -0.017285f, -0.000341f, -0.001448f, 0.005285f, 0.016487f, -0.000903f, -0.013901f, 0.015193f, -0.014545f, 0.012612f, -0.001086f, 0.014923f, 0.001802f, -0.012597f, -0.003906f, 0.000832f, 0.003004f, 0.007344f, -0.002258f, 0.005215f, 0.003624f, -0.000366f, -0.075507f, 0.099918f, 0.013667f, 0.022624f, 0.023863f, -0.023275f, -0.026794f, 0.000794f, -0.010416f, 0.014065f, 0.032819f, -0.046469f, 0.015181f, -0.009938f, 0.011894f, 0.011090f, 0.007701f, 0.026206f, 0.020510f, -0.019925f, 0.018428f, 0.015951f, -0.016151f, -0.027837f, 0.008320f, -0.010005f, -0.023060f, 0.013538f, 0.011152f, -0.002141f, -0.015116f, 0.000220f, -0.011051f, -0.005520f, 0.000940f, 0.005750f, 0.010416f, -0.020893f, -0.003189f, 0.016341f, -0.007506f, 0.014640f, 0.002732f, 0.010498f, 0.021628f, 0.006202f, -0.022308f, 0.002092f, 0.020636f, -0.012011f, -0.001193f, 0.009814f, -0.035395f, -0.002387f, -0.008831f, -0.033142f, 0.045390f, -0.011822f, -0.002002f, 0.026746f, 0.004531f, -0.020560f, 0.007915f, -0.019666f, -0.004013f, 0.014755f, -0.018283f, -0.006846f, 0.033543f, - -0.035992f, 0.003729f, 0.002936f, 0.012138f, -0.016154f, 0.010737f, -0.005733f, 0.010004f, -0.013906f, 0.000556f, -0.003585f, 0.033807f, -0.015759f, -0.001601f, 0.008536f, -0.017191f, -0.001953f, 0.023388f, -0.005261f, 0.015055f, -0.010636f, -0.009784f, 0.001434f, 0.009029f, -0.009259f, 0.017244f, -0.000445f, -0.003849f, -0.004093f, -0.005524f, -0.005779f, 0.014707f, -0.012913f, 0.014398f, 0.007566f, -0.019052f, 0.004230f, -0.001976f, -0.001968f, 0.011151f, -0.016175f, -0.006402f, 0.001959f, -0.010587f, 0.010618f, -0.010886f, -0.001957f, 0.017864f, 0.002850f, -0.003385f, 0.007782f, -0.009024f, -0.007535f, -0.004393f, 0.008313f, 0.014903f, -0.004998f, -0.004325f, 0.001235f, -0.012890f, 0.023407f, -0.099192f, -0.201738f, -0.026057f, 0.126480f, 0.097224f, 0.279321f, 0.134339f, -0.065228f, -0.057007f, -0.132565f, -0.232114f, -0.029420f, -0.090047f, -0.028001f, 0.163723f, 0.104348f, 0.111381f, 0.213140f, -0.007567f, -0.047278f, -0.080522f, -0.210946f, -0.116495f, -0.037526f, -0.039278f, 0.005795f, 0.095897f, 0.074273f, 0.078819f, 0.148753f, 0.086984f, -0.054783f, 0.079243f, -0.083425f, -0.194590f, - 0.024825f, -0.130630f, -0.181672f, 0.070738f, -0.015654f, -0.033750f, 0.223255f, 0.073057f, 0.059309f, 0.192379f, -0.020714f, -0.037961f, 0.058533f, -0.129091f, -0.160325f, -0.043208f, -0.137288f, -0.122756f, 0.025949f, 0.026485f, 0.055407f, 0.167830f, 0.148686f, 0.089996f, 0.106634f, 0.020532f, -0.084180f, -0.090712f, -0.112195f, -0.154250f, -0.072021f, -0.039230f, -0.052422f, 0.046484f, 0.148497f, 0.096867f, 0.095739f, 0.078634f, -0.055554f, -0.000712f, 0.015632f, -0.127326f, -0.052485f, -0.031994f, -0.037284f, 0.058242f, 0.029820f, -0.007426f, 0.047671f, -0.011182f, -0.009967f, 0.008047f, -0.034359f, -0.025994f, 0.016908f, -0.021377f, 0.034544f, 0.043378f, -0.016247f, 0.023471f, 0.044292f, -0.025959f, 0.029003f, 0.014413f, -0.086625f, 0.015218f, -0.028142f, -0.094132f, 0.001426f, -0.053804f, -0.048080f, 0.068282f, 0.073998f, 0.071370f, 0.132439f, 0.042129f, 0.042140f, 0.044825f, -0.057982f, -0.115758f, -0.129160f, -0.165421f, -0.123189f, -0.037237f, 0.021551f, 0.100178f, 0.166144f, 0.184020f, 0.143771f, 0.104710f, 0.020689f, -0.097559f, -0.146832f, -0.179351f, -0.166598f, -0.086420f, - -0.005499f, 0.046962f, 0.119345f, 0.110106f, 0.060161f, 0.060414f, 0.023516f, -0.001699f, -0.000347f, -0.018642f, -0.036494f, -0.030270f, -0.037845f, -0.045867f, -0.033640f, -0.024959f, -0.006438f, 0.012844f, 0.031098f, 0.037445f, 0.040544f, 0.035028f, 0.024657f, 0.012553f, -0.000066f, -0.020320f, -0.033856f, -0.031004f, -0.021706f, -0.015118f, -0.011828f, -0.003166f, 0.004313f, 0.014832f, 0.017327f, 0.011533f, 0.010932f, 0.009496f, 0.003914f, 0.005426f, 0.004862f, -0.005781f, -0.007533f, -0.003689f, -0.007172f, -0.006488f, -0.009633f, -0.013004f, -0.006275f, 0.000556f, 0.001292f, 0.006738f, 0.010489f, 0.010657f, 0.012987f, 0.009702f, 0.003548f, -0.001337f, -0.006569f, -0.009259f, -0.009139f, -0.008370f, -0.007669f, -0.003814f, 0.001566f, 0.004153f, 0.003927f, 0.003760f, 0.003350f, 0.003325f, 0.003011f, 0.001067f, 0.000237f, 0.000815f, 0.000590f, 0.000306f, -0.000314f, -0.001851f, -0.002497f, -0.004072f, -0.005493f, -0.004383f, -0.002301f, 0.000386f, 0.002765f, 0.004003f, 0.005075f, 0.005279f, 0.003527f, 0.002153f, 0.001084f, -0.002080f, -0.003428f, -0.003195f, -0.003263f, -0.002818f, - -0.001793f, -0.001461f, -0.000116f, 0.000923f, 0.001244f, 0.001607f, 0.001700f, 0.001091f, 0.000561f, 0.000080f, -0.000439f, -0.000702f}, - {-0.001955f, 0.005019f, 0.008681f, -0.006470f, -0.005597f, -0.008659f, 0.007860f, 0.003921f, 0.000693f, 0.011622f, -0.001153f, -0.000137f, -0.003544f, -0.002866f, 0.002529f, -0.003098f, -0.006044f, 0.003414f, 0.000991f, 0.009708f, 0.013264f, -0.003443f, -0.007791f, -0.009600f, -0.000597f, -0.005486f, -0.005287f, -0.003625f, -0.000730f, -0.007646f, 0.007379f, -0.002733f, -0.002884f, -0.005055f, -0.003725f, 0.001421f, 0.008290f, -0.000855f, -0.002382f, 0.002510f, -0.008128f, 0.006112f, -0.005067f, -0.018238f, 0.009058f, 0.006022f, 0.010061f, 0.010435f, 0.001994f, 0.005499f, -0.005436f, 0.001555f, 0.007911f, 0.000624f, -0.000086f, -0.001895f, -0.001040f, 0.004248f, -0.003844f, -0.002773f, 0.000208f, 0.004039f, -0.003336f, -0.004158f, -0.006092f, 0.007818f, 0.003111f, 0.000972f, -0.001892f, -0.007806f, -0.000260f, 0.005849f, 0.003638f, -0.001105f, -0.001469f, 0.005859f, -0.000700f, -0.000420f, -0.002538f, -0.002400f, -0.003561f, -0.004220f, 0.000275f, 0.000901f, 0.002021f, -0.004343f, -0.001712f, 0.002429f, -0.003003f, 0.002621f, 0.000718f, 0.001180f, -0.001115f, -0.000062f, 0.000580f, 0.001283f, - 0.000333f, -0.000497f, 0.000812f, -0.000545f, -0.001474f, -0.000474f, -0.002449f, 0.001644f, 0.000854f, -0.000694f, 0.000048f, -0.001104f, 0.001482f, 0.001522f, 0.000502f, 0.000160f, 0.000584f, 0.000546f, -0.001517f, 0.000065f, -0.000285f, -0.000364f, -0.000585f, -0.000198f, 0.000874f, 0.000266f, -0.027330f, 0.014303f, -0.001318f, 0.000436f, 0.004993f, 0.007024f, -0.010165f, -0.001266f, -0.001803f, 0.005847f, 0.002240f, -0.006208f, 0.019486f, -0.002056f, -0.001180f, 0.008688f, 0.007134f, 0.002354f, 0.004958f, 0.015914f, -0.007837f, 0.000530f, -0.003983f, 0.001622f, -0.004865f, 0.000429f, 0.000521f, 0.001819f, -0.008794f, 0.000792f, -0.002093f, -0.003283f, -0.000354f, 0.005578f, -0.003031f, 0.005189f, 0.007527f, -0.012908f, 0.001769f, -0.005226f, -0.001407f, -0.007933f, 0.004000f, -0.004693f, -0.000788f, -0.002634f, -0.008074f, 0.003132f, -0.005410f, 0.003731f, 0.002054f, -0.003968f, -0.005872f, 0.000227f, 0.005497f, 0.004158f, 0.009971f, 0.004638f, -0.004279f, -0.012177f, -0.000799f, 0.002195f, 0.015428f, -0.004737f, -0.002319f, -0.000129f, -0.002983f, -0.007989f, -0.003811f, -0.007435f, - -0.000988f, 0.006245f, -0.001384f, 0.007427f, 0.004776f, 0.003859f, 0.005381f, 0.001010f, -0.009618f, -0.002209f, -0.006183f, -0.003899f, -0.010683f, -0.000319f, -0.003032f, 0.001487f, 0.002920f, 0.001312f, -0.001576f, -0.002135f, 0.000384f, 0.002872f, -0.002396f, -0.000619f, 0.000084f, -0.000827f, -0.000208f, -0.000943f, 0.001152f, -0.003635f, -0.001247f, -0.000824f, 0.000126f, -0.000313f, -0.000667f, 0.000056f, -0.005404f, 0.019789f, 0.010229f, -0.003421f, -0.008236f, 0.011246f, -0.013543f, -0.002416f, 0.007232f, -0.005703f, -0.004170f, -0.005940f, 0.012998f, -0.004842f, 0.003880f, 0.000911f, 0.003830f, 0.017825f, -0.018303f, 0.005191f, 0.008870f, -0.006234f, -0.016956f, -0.008939f, -0.001346f, 0.000848f, -0.002578f, -0.003233f, 0.006821f, 0.010007f, -0.001043f, -0.007440f, 0.000345f, -0.009373f, 0.002531f, -0.005962f, 0.003037f, 0.010702f, 0.003797f, -0.011162f, -0.000490f, 0.000467f, 0.016129f, 0.002852f, 0.007974f, -0.002551f, 0.003427f, 0.002661f, -0.019937f, 0.000120f, 0.009158f, 0.004136f, 0.010265f, -0.009458f, -0.005885f, -0.009417f, 0.002311f, 0.005725f, -0.002078f, 0.001825f, - 0.000320f, -0.004818f, 0.001567f, -0.003665f, 0.002953f, 0.002785f, -0.000868f, 0.004650f, 0.000804f, -0.000899f, 0.001945f, 0.011561f, 0.001968f, 0.005950f, 0.007456f, 0.004049f, -0.000007f, -0.000358f, -0.011205f, -0.000198f, 0.011546f, 0.003973f, 0.005015f, -0.000397f, -0.001003f, 0.007208f, -0.005706f, 0.000441f, -0.000697f, 0.003582f, 0.001803f, -0.000132f, -0.004979f, 0.000628f, -0.002612f, -0.000873f, 0.000621f, -0.001699f, -0.001323f, 0.001001f, -0.000334f, 0.003643f, 0.001403f, 0.003318f, 0.001477f, 0.000908f, 0.001691f, -0.001556f, -0.002086f, 0.000074f, 0.000026f, 0.004191f, 0.002468f, 0.000495f, 0.001310f, 0.003979f, -0.000888f, 0.000270f, 0.001090f, 0.001672f, -0.000044f, 0.041102f, -0.010752f, -0.003957f, -0.006364f, 0.008324f, 0.005514f, 0.013918f, 0.005452f, -0.002175f, 0.006605f, -0.000403f, 0.007400f, 0.002804f, 0.010330f, 0.000114f, 0.008649f, 0.011304f, -0.012777f, 0.002164f, 0.003149f, 0.002006f, 0.001870f, 0.002723f, -0.007650f, -0.000123f, -0.008791f, -0.001356f, -0.000441f, -0.014784f, -0.010105f, 0.003574f, -0.000193f, -0.000617f, 0.005714f, 0.005630f, - -0.003119f, -0.012756f, 0.003663f, 0.011312f, 0.007381f, 0.010545f, -0.003002f, 0.005656f, 0.010425f, -0.017685f, 0.005443f, 0.007641f, -0.008830f, 0.010789f, -0.007717f, -0.001686f, 0.000936f, 0.002053f, -0.005996f, 0.005057f, -0.001686f, -0.002073f, -0.006235f, -0.005063f, 0.005954f, 0.006041f, 0.002617f, 0.005947f, 0.009235f, 0.005060f, 0.012895f, -0.002826f, -0.014832f, 0.014130f, 0.002170f, 0.006897f, 0.002801f, -0.002496f, 0.003557f, 0.002637f, 0.000465f, 0.009681f, -0.003137f, 0.009553f, -0.013961f, -0.003240f, 0.001632f, 0.004219f, 0.000781f, -0.007609f, -0.003642f, 0.001196f, 0.000273f, -0.000856f, 0.000303f, 0.002862f, -0.003867f, -0.002166f, -0.002254f, -0.002746f, 0.001414f, -0.000865f, -0.001189f, -0.002244f, -0.001764f, 0.004144f, -0.001170f, -0.001429f, -0.000225f, -0.001516f, -0.001386f, 0.002088f, -0.001015f, 0.002235f, -0.000654f, 0.000148f, 0.001598f, -0.000542f, 0.000039f, 0.018482f, -0.020742f, 0.014159f, 0.003162f, 0.014495f, 0.003523f, -0.007819f, 0.002854f, 0.011222f, -0.012925f, -0.002555f, 0.001718f, -0.014588f, -0.002718f, -0.011158f, -0.006759f, -0.008066f, - -0.008891f, 0.004096f, -0.013942f, -0.008555f, -0.011067f, -0.002642f, 0.011096f, 0.004162f, -0.013358f, -0.005048f, -0.013982f, -0.003272f, 0.003299f, 0.020605f, -0.016202f, 0.006964f, -0.003974f, -0.005776f, -0.012026f, 0.000809f, 0.002285f, 0.013296f, 0.007062f, 0.001882f, -0.010889f, -0.019009f, -0.000087f, 0.005881f, 0.015313f, 0.005510f, 0.005044f, -0.010940f, 0.004270f, 0.009714f, 0.000926f, 0.001714f, -0.005789f, -0.005691f, -0.001809f, 0.005755f, 0.001180f, -0.003600f, 0.000308f, -0.012049f, -0.001567f, -0.010115f, 0.006722f, -0.001930f, 0.006720f, -0.009903f, -0.008402f, -0.013726f, -0.001430f, -0.008739f, -0.003679f, 0.003827f, -0.013374f, -0.005604f, 0.001754f, 0.007726f, -0.016105f, 0.009761f, -0.007481f, -0.007973f, -0.008473f, -0.006978f, 0.005082f, -0.004604f, 0.002454f, 0.003073f, -0.004139f, 0.000883f, 0.003574f, 0.002897f, 0.000357f, -0.003603f, -0.000398f, -0.001593f, -0.004193f, -0.000502f, 0.003413f, 0.002190f, -0.001986f, 0.003233f, -0.002358f, -0.001652f, -0.000305f, 0.001286f, -0.003083f, 0.000506f, -0.000224f, 0.002493f, 0.001909f, 0.003932f, -0.002768f, 0.001152f, - -0.000495f, -0.000964f, 0.001306f, -0.003095f, -0.001021f, 0.002017f, 0.001092f, -0.001290f, -0.050901f, 0.008238f, 0.005839f, -0.014671f, -0.003249f, -0.000030f, 0.000532f, -0.002782f, -0.004866f, -0.003729f, -0.015117f, 0.011687f, -0.007315f, 0.001646f, -0.012592f, -0.004443f, 0.018250f, 0.016566f, -0.010471f, -0.006286f, 0.000536f, -0.000251f, -0.008596f, -0.009991f, -0.007109f, 0.001236f, 0.000784f, 0.000348f, -0.001035f, 0.004298f, -0.012429f, 0.003927f, 0.000422f, -0.021878f, -0.002640f, -0.006513f, 0.010016f, 0.014694f, 0.002278f, -0.002530f, 0.000688f, -0.012799f, -0.016107f, 0.008679f, 0.015903f, 0.017779f, -0.004801f, 0.003286f, 0.010321f, 0.010726f, -0.005551f, 0.009900f, 0.016016f, -0.000616f, 0.013477f, 0.011505f, -0.013486f, 0.004466f, 0.000748f, 0.014535f, -0.008907f, -0.009396f, 0.008306f, 0.011035f, -0.003412f, 0.001046f, -0.015897f, 0.011229f, -0.008912f, 0.011851f, -0.019764f, 0.002211f, 0.004645f, 0.009483f, 0.000598f, -0.008184f, -0.016873f, -0.010244f, 0.014100f, -0.013904f, -0.000710f, 0.001662f, 0.007580f, -0.004150f, -0.003044f, 0.006037f, -0.011305f, -0.009713f, - 0.003957f, 0.002764f, -0.000882f, 0.008131f, -0.003795f, 0.001998f, 0.002010f, 0.002243f, 0.002976f, 0.000748f, -0.003206f, 0.002047f, 0.004078f, -0.001629f, 0.000503f, -0.000746f, -0.002168f, 0.001789f, -0.005284f, -0.000639f, -0.005694f, -0.000976f, -0.001143f, -0.001734f, -0.002966f, 0.001266f, -0.001753f, 0.000025f, -0.004454f, 0.001849f, -0.000884f, 0.001623f, 0.001681f, 0.000772f, 0.000638f, -0.019625f, 0.007107f, -0.017330f, 0.022182f, 0.021335f, 0.000764f, -0.028643f, 0.012020f, 0.001740f, -0.005248f, 0.019950f, 0.000201f, -0.017025f, -0.001706f, 0.021678f, -0.026940f, 0.000963f, -0.006652f, -0.021248f, -0.005821f, 0.000495f, -0.004085f, -0.010831f, 0.006417f, -0.008954f, 0.007487f, -0.007612f, -0.014347f, 0.007818f, -0.000960f, 0.011187f, -0.021421f, 0.008896f, 0.017076f, -0.006713f, 0.001517f, 0.017147f, 0.025047f, -0.006526f, -0.004965f, -0.020901f, 0.001354f, -0.017226f, -0.001288f, -0.011961f, 0.000726f, 0.001790f, 0.010197f, 0.004926f, 0.009331f, -0.006542f, 0.001822f, 0.005802f, -0.000962f, 0.023101f, -0.015138f, -0.007444f, 0.030396f, 0.030495f, -0.005867f, -0.001822f, - -0.018943f, -0.009656f, 0.001105f, -0.005198f, -0.012491f, 0.018455f, 0.005796f, -0.004689f, 0.027079f, 0.005316f, -0.012789f, -0.000264f, -0.024601f, -0.012317f, -0.013886f, -0.011930f, -0.003146f, -0.019225f, -0.013800f, 0.008050f, 0.007502f, -0.001330f, 0.004486f, -0.005643f, 0.006614f, -0.004217f, -0.006176f, 0.001181f, -0.008954f, -0.004071f, 0.011835f, 0.001022f, 0.005973f, -0.003038f, 0.001346f, 0.000981f, 0.002894f, 0.002619f, -0.000359f, -0.000149f, -0.005632f, 0.000017f, 0.001389f, 0.001018f, -0.001475f, -0.001558f, 0.004063f, 0.001245f, -0.000678f, 0.000220f, -0.000837f, 0.000212f, 0.002326f, 0.001443f, -0.000622f, -0.002106f, 0.000761f, -0.001371f, 0.024368f, -0.006577f, -0.000352f, 0.016764f, -0.004100f, 0.009885f, -0.005535f, -0.021424f, -0.001462f, -0.000033f, -0.004469f, -0.012713f, -0.014204f, 0.007303f, -0.011270f, 0.019727f, -0.006163f, -0.014395f, 0.012153f, 0.024777f, -0.006256f, 0.006915f, -0.006764f, 0.014301f, 0.000225f, -0.030208f, 0.010651f, 0.016721f, 0.001577f, -0.005059f, -0.017641f, 0.014678f, 0.009747f, 0.009442f, 0.001830f, 0.005942f, 0.019589f, -0.013928f, - 0.002356f, 0.003826f, -0.011060f, -0.021236f, 0.020099f, 0.011214f, 0.037495f, -0.001941f, 0.016480f, -0.005551f, -0.011925f, 0.001984f, -0.001960f, -0.000557f, -0.003477f, -0.012274f, 0.026887f, 0.000604f, 0.001993f, 0.003802f, -0.003884f, 0.022196f, 0.002704f, 0.018581f, 0.007647f, 0.003110f, 0.019766f, -0.009402f, -0.022415f, -0.004423f, 0.003997f, 0.002862f, -0.009345f, 0.010874f, -0.006727f, -0.031217f, 0.002697f, 0.006178f, -0.017361f, 0.008010f, -0.001918f, 0.003346f, -0.000088f, -0.007104f, -0.007963f, -0.000055f, 0.002821f, 0.009499f, -0.000994f, 0.002649f, -0.003811f, -0.002750f, 0.004167f, 0.002803f, -0.000679f, 0.002890f, -0.003315f, -0.000383f, 0.000078f, -0.004297f, -0.006302f, 0.003821f, -0.007001f, -0.001796f, -0.003136f, -0.006016f, -0.001812f, -0.000820f, -0.002373f, 0.002592f, -0.001172f, -0.002544f, -0.000897f, 0.011449f, 0.004347f, 0.004357f, -0.002469f, 0.001621f, -0.003744f, -0.004682f, -0.001687f, -0.001627f, 0.001837f, -0.003104f, 0.005392f, -0.007211f, -0.002427f, 0.001525f, 0.019647f, -0.032985f, 0.005238f, 0.014548f, 0.021738f, -0.023151f, -0.003462f, 0.015428f, - 0.010716f, 0.013141f, 0.002203f, 0.027916f, 0.005061f, 0.011478f, -0.003634f, 0.001495f, 0.011444f, 0.006186f, 0.013234f, 0.000891f, -0.018708f, -0.027265f, 0.014231f, 0.006782f, -0.005295f, 0.003012f, 0.007946f, -0.025526f, 0.000103f, -0.016175f, 0.007352f, -0.001051f, 0.016484f, -0.005508f, 0.007292f, -0.004022f, 0.004174f, 0.002088f, -0.000834f, 0.009169f, 0.012361f, 0.004286f, 0.007106f, -0.020051f, 0.008094f, -0.003692f, -0.034760f, -0.023204f, 0.005774f, -0.025487f, -0.001866f, 0.020707f, -0.015376f, 0.041327f, 0.014889f, -0.008564f, 0.022414f, 0.000853f, -0.007502f, -0.016965f, -0.016722f, -0.023266f, -0.003706f, 0.013270f, -0.016618f, -0.002262f, 0.014844f, 0.006618f, 0.008332f, 0.030212f, 0.003639f, 0.019675f, 0.000035f, 0.003684f, -0.032778f, 0.008823f, 0.002344f, -0.029956f, -0.028259f, 0.016011f, -0.010849f, 0.001658f, 0.008436f, -0.005084f, -0.007766f, 0.001480f, -0.001813f, -0.002277f, 0.001607f, -0.005562f, 0.004675f, -0.004071f, 0.000959f, -0.009636f, 0.004993f, 0.001324f, 0.001969f, -0.000764f, 0.011482f, -0.009646f, 0.000708f, -0.002892f, -0.002438f, 0.002076f, - 0.002271f, 0.002969f, 0.005477f, 0.009034f, 0.005654f, -0.006259f, 0.001356f, -0.001034f, 0.008382f, -0.003075f, 0.005376f, -0.008969f, -0.006691f, -0.005295f, -0.004301f, -0.000871f, -0.000563f, 0.004012f, 0.004951f, -0.017171f, -0.000556f, 0.010723f, -0.000190f, 0.007513f, -0.017589f, 0.013597f, -0.001116f, 0.003926f, 0.012668f, -0.023728f, -0.016324f, 0.004258f, -0.000360f, 0.012953f, 0.026771f, -0.002533f, 0.006647f, 0.028751f, -0.010734f, -0.019559f, -0.001160f, 0.021053f, -0.004610f, -0.024339f, 0.001911f, 0.008932f, -0.004815f, -0.007642f, -0.001827f, 0.031188f, -0.005987f, 0.026842f, 0.020265f, 0.024488f, 0.001311f, 0.001969f, 0.014286f, 0.004777f, -0.005016f, 0.005023f, -0.019458f, 0.014609f, 0.024520f, 0.015387f, 0.002067f, 0.013680f, -0.010817f, 0.010500f, -0.010525f, 0.015369f, -0.013925f, 0.000241f, -0.001151f, -0.001107f, 0.043646f, -0.006563f, -0.002487f, -0.003830f, 0.006027f, 0.012023f, 0.022960f, 0.026242f, -0.014399f, 0.006271f, 0.026100f, -0.014684f, -0.018249f, 0.010929f, -0.007971f, 0.011269f, 0.049864f, -0.023604f, 0.003334f, 0.004647f, -0.013040f, 0.005605f, - 0.016250f, 0.011400f, 0.001312f, -0.010246f, -0.024626f, 0.011627f, -0.010764f, 0.013455f, -0.009281f, 0.001874f, -0.012213f, -0.002692f, -0.020400f, 0.001719f, -0.006505f, -0.007220f, -0.002575f, 0.002450f, 0.005101f, 0.010078f, 0.004232f, -0.005810f, -0.001490f, 0.010275f, -0.006117f, -0.005354f, 0.000686f, 0.000710f, -0.009311f, -0.000140f, -0.004718f, -0.002319f, -0.001789f, -0.001682f, 0.003518f, 0.002210f, 0.007252f, -0.004682f, -0.004720f, 0.000545f, -0.005645f, 0.002611f, 0.011415f, -0.005748f, -0.006159f, -0.011409f, 0.005794f, -0.002893f, -0.007796f, -0.002802f, -0.016831f, -0.026578f, -0.020449f, -0.027658f, -0.010612f, 0.003214f, 0.022295f, 0.016561f, 0.006035f, 0.023504f, 0.007105f, 0.014401f, 0.013223f, -0.006236f, 0.020357f, 0.022110f, 0.015594f, -0.029574f, -0.016584f, -0.017076f, 0.006530f, -0.011735f, 0.000875f, 0.008583f, -0.008582f, -0.020821f, 0.013599f, -0.009799f, 0.004853f, 0.004647f, 0.021415f, -0.022146f, 0.034695f, -0.034086f, 0.035439f, 0.000074f, 0.017793f, -0.017024f, 0.006277f, -0.038108f, -0.021289f, -0.018456f, 0.016889f, 0.007938f, 0.024475f, -0.002261f, - -0.000075f, -0.012239f, -0.030669f, 0.020211f, -0.016746f, -0.008524f, 0.014600f, 0.034987f, 0.033674f, 0.015985f, -0.002245f, -0.022588f, 0.013402f, -0.034789f, -0.002727f, -0.019663f, 0.011269f, 0.037969f, -0.036247f, 0.013432f, 0.016813f, -0.022313f, -0.002245f, -0.003622f, 0.012624f, -0.014711f, -0.021532f, 0.004516f, -0.008723f, -0.031368f, 0.016023f, -0.002883f, -0.029713f, 0.022293f, 0.029132f, -0.009366f, 0.000952f, 0.004375f, -0.012585f, 0.019201f, 0.008744f, -0.005096f, -0.004749f, -0.012161f, -0.007139f, 0.015468f, 0.008662f, 0.008950f, -0.000703f, -0.013411f, -0.004171f, -0.004359f, -0.015262f, -0.002945f, 0.004524f, -0.000614f, -0.004508f, -0.001076f, -0.010901f, 0.001735f, -0.003745f, 0.007704f, 0.004050f, 0.001867f, -0.012631f, 0.010712f, 0.000904f, -0.005095f, -0.003240f, -0.001720f, -0.000693f, 0.006511f, -0.004702f, -0.001571f, 0.004650f, 0.013132f, 0.006345f, 0.004147f, -0.007795f, 0.010568f, -0.025133f, -0.029404f, -0.008057f, 0.019524f, -0.022436f, 0.015414f, -0.030950f, -0.005241f, -0.011691f, -0.010678f, -0.024467f, -0.001865f, -0.008915f, -0.014559f, 0.012284f, -0.016261f, - 0.018233f, 0.004133f, 0.014317f, -0.021598f, -0.040718f, -0.003056f, 0.008817f, -0.016838f, -0.012245f, 0.007075f, 0.005703f, -0.019753f, -0.009200f, 0.028972f, 0.014237f, -0.003409f, 0.015998f, 0.041452f, 0.001806f, 0.005574f, 0.004555f, -0.002756f, -0.000331f, 0.006422f, 0.005847f, -0.031211f, -0.011140f, -0.038218f, -0.011856f, -0.035617f, -0.016625f, 0.002327f, 0.042382f, 0.019992f, -0.020472f, -0.024068f, 0.016010f, 0.033574f, 0.021326f, -0.014488f, 0.025783f, -0.009322f, -0.001592f, -0.044209f, -0.012934f, -0.005375f, -0.005180f, -0.030120f, -0.048538f, 0.016033f, 0.000199f, -0.035372f, 0.009416f, 0.056292f, 0.007599f, 0.006703f, -0.035020f, -0.002807f, -0.000213f, 0.008198f, -0.039366f, 0.036998f, 0.006079f, 0.010493f, 0.020540f, 0.008199f, 0.022254f, -0.001306f, 0.010596f, -0.008246f, -0.016897f, -0.013926f, 0.007828f, -0.011148f, -0.003382f, -0.015021f, 0.005429f, 0.012952f, 0.000495f, 0.010969f, 0.001440f, -0.003883f, 0.000059f, -0.008477f, 0.006389f, 0.006719f, 0.001370f, 0.001532f, -0.005798f, -0.002092f, 0.003591f, 0.009580f, 0.006909f, -0.007733f, -0.002667f, -0.002974f, - -0.018337f, -0.025353f, -0.018733f, -0.005838f, -0.002186f, 0.003355f, -0.004238f, -0.006922f, -0.007713f, 0.000352f, -0.005119f, -0.006494f, -0.011360f, -0.005897f, 0.018727f, -0.011136f, -0.009919f, -0.002557f, 0.022898f, -0.033934f, -0.006735f, 0.008409f, -0.016214f, 0.039630f, -0.032271f, -0.033197f, -0.026987f, 0.038343f, 0.017226f, -0.021810f, -0.019696f, -0.013011f, -0.003954f, -0.011696f, -0.012120f, 0.002145f, 0.014403f, 0.037901f, -0.003990f, 0.016308f, 0.014132f, 0.013845f, -0.024959f, -0.031078f, -0.022374f, 0.026590f, -0.004408f, 0.032250f, 0.010762f, -0.003253f, -0.043576f, -0.035360f, -0.003549f, 0.003190f, -0.025221f, -0.015572f, -0.011780f, -0.011878f, -0.057220f, -0.012169f, -0.013881f, -0.020372f, -0.009999f, -0.013219f, -0.026200f, 0.018809f, 0.035904f, 0.020200f, 0.001108f, 0.021445f, 0.026990f, -0.009260f, 0.008635f, 0.007159f, 0.002774f, -0.000789f, -0.006728f, 0.019183f, 0.007710f, 0.031950f, -0.007237f, 0.003465f, 0.011384f, 0.062602f, -0.000626f, 0.033446f, 0.041973f, -0.003293f, -0.036395f, 0.003509f, 0.036465f, 0.005712f, -0.030984f, -0.027483f, -0.035534f, 0.023625f, - -0.029012f, -0.007511f, 0.041794f, -0.017543f, -0.027845f, 0.009026f, -0.007565f, 0.001211f, 0.011480f, -0.017100f, -0.007772f, 0.003886f, -0.005148f, -0.007525f, -0.001500f, 0.003619f, 0.020908f, -0.001528f, -0.010744f, -0.008881f, -0.000024f, -0.007578f, -0.006515f, -0.005402f, -0.010445f, -0.004533f, 0.004003f, -0.004556f, -0.000961f, -0.013818f, 0.003704f, -0.000894f, 0.002908f, 0.014745f, 0.008948f, -0.007942f, 0.003902f, 0.003589f, -0.012593f, -0.018695f, 0.007158f, 0.008172f, 0.001073f, -0.019104f, -0.021233f, -0.002835f, -0.014857f, -0.004308f, -0.002235f, -0.018843f, 0.034811f, 0.025273f, -0.059301f, 0.018379f, 0.023183f, -0.010657f, 0.016741f, 0.055714f, 0.004261f, 0.012160f, -0.019923f, 0.012679f, -0.021039f, -0.013521f, -0.011379f, 0.003816f, 0.014056f, 0.019863f, -0.003256f, 0.008019f, -0.006467f, -0.003719f, -0.011189f, 0.014553f, 0.052512f, -0.017552f, -0.017431f, 0.018690f, 0.012991f, 0.001642f, -0.038851f, 0.024668f, -0.031055f, 0.017333f, 0.021681f, 0.002196f, 0.005213f, -0.006605f, 0.035987f, 0.027289f, -0.000077f, 0.018279f, -0.014961f, 0.023117f, 0.003509f, 0.026141f, - 0.038126f, -0.001093f, 0.009366f, -0.005260f, -0.014614f, -0.001211f, 0.016382f, 0.018713f, -0.037225f, -0.022585f, 0.008210f, 0.039770f, -0.019799f, 0.026329f, 0.017354f, 0.004950f, -0.043317f, 0.005007f, 0.006248f, -0.051353f, 0.029718f, -0.028826f, -0.034483f, -0.064937f, 0.015324f, 0.039105f, -0.018236f, -0.036307f, 0.007046f, 0.043370f, 0.027325f, 0.004685f, -0.006133f, 0.000455f, 0.014902f, -0.013471f, 0.020033f, 0.033298f, 0.031404f, -0.002494f, 0.013037f, 0.032955f, -0.005687f, -0.000566f, -0.004147f, 0.028371f, -0.004695f, 0.006896f, -0.013831f, 0.007140f, -0.008711f, 0.001010f, -0.000119f, -0.002319f, -0.006978f, 0.006164f, 0.016253f, 0.005592f, 0.004235f, -0.015218f, 0.003317f, -0.015700f, 0.004206f, 0.024615f, -0.009530f, 0.000353f, 0.002693f, -0.011717f, -0.015812f, -0.017560f, -0.004554f, 0.011140f, -0.005732f, 0.003003f, -0.011199f, -0.001056f, -0.000178f, -0.032451f, -0.008928f, -0.001325f, 0.006243f, 0.008358f, -0.007347f, 0.011613f, 0.005503f, 0.006258f, -0.010244f, -0.009322f, -0.006457f, 0.003022f, 0.014971f, 0.041173f, 0.030002f, -0.009644f, -0.078848f, 0.009861f, - 0.040283f, 0.019494f, 0.009186f, -0.034299f, 0.000341f, -0.023522f, 0.006145f, -0.001804f, 0.007139f, 0.012466f, 0.017204f, 0.007611f, -0.042601f, 0.025504f, -0.005445f, 0.008072f, 0.033345f, 0.013122f, 0.006697f, -0.011244f, 0.041231f, -0.000950f, 0.040987f, -0.048618f, -0.013866f, 0.016141f, -0.028042f, -0.024252f, 0.002308f, -0.005993f, -0.021820f, 0.003085f, 0.036295f, -0.000734f, 0.002953f, -0.018321f, -0.038456f, -0.024442f, -0.010569f, 0.016616f, -0.003712f, 0.004198f, -0.018612f, -0.020456f, -0.009652f, 0.031477f, -0.020770f, 0.018303f, 0.012616f, 0.010480f, 0.004058f, -0.031722f, -0.045215f, -0.003324f, 0.031262f, -0.037657f, 0.018987f, -0.032370f, 0.021129f, -0.034076f, -0.001133f, -0.033593f, 0.048809f, -0.043597f, -0.025660f, 0.011761f, 0.008537f, 0.022471f, 0.019005f, -0.011013f, -0.005446f, -0.011085f, 0.006618f, -0.000094f, 0.029367f, -0.035299f, -0.013493f, -0.045468f, 0.024347f, -0.015915f, 0.002440f, -0.001537f, 0.013165f, -0.009770f, 0.005344f, -0.018382f, -0.027879f, 0.018722f, -0.014090f, 0.000849f, 0.005375f, 0.024746f, 0.010394f, -0.017109f, 0.004408f, -0.005533f, - -0.021859f, -0.003773f, 0.005954f, 0.007502f, -0.019693f, -0.009539f, 0.023158f, -0.001880f, -0.018255f, -0.007891f, 0.027066f, -0.030547f, -0.009830f, 0.006756f, -0.006513f, 0.011477f, -0.001635f, -0.013167f, -0.017644f, -0.005414f, -0.007521f, -0.005232f, -0.005330f, 0.005505f, -0.000728f, 0.011990f, -0.011431f, 0.006885f, 0.002925f, -0.004987f, 0.012256f, -0.067783f, -0.009660f, 0.020216f, 0.004895f, -0.016194f, -0.024242f, 0.002182f, -0.023052f, -0.002195f, -0.035562f, 0.033174f, -0.013366f, 0.020748f, -0.046227f, -0.026225f, -0.001048f, 0.056502f, -0.046385f, -0.004068f, -0.036335f, -0.028873f, -0.008921f, 0.035385f, -0.008360f, 0.015679f, 0.016452f, -0.018860f, -0.040318f, 0.056570f, 0.024505f, -0.032444f, 0.006128f, 0.004115f, 0.015464f, -0.031567f, 0.028103f, -0.002548f, -0.059376f, 0.006216f, 0.011677f, 0.015228f, -0.049237f, -0.011788f, 0.006000f, 0.043177f, 0.008033f, 0.024043f, -0.063484f, -0.038507f, 0.019213f, -0.000030f, 0.041097f, -0.011096f, -0.007186f, 0.003139f, 0.020778f, 0.019212f, 0.007119f, -0.080488f, 0.022443f, -0.009385f, 0.018182f, 0.042878f, -0.013808f, -0.003824f, - -0.049261f, 0.015900f, 0.021913f, -0.025779f, -0.015566f, 0.044386f, 0.069821f, 0.018336f, 0.011152f, -0.019843f, -0.008505f, -0.038274f, 0.002637f, 0.000481f, -0.047557f, 0.017247f, -0.001723f, -0.013823f, -0.003913f, 0.022259f, -0.018418f, -0.012181f, -0.002433f, -0.005040f, -0.002034f, 0.019666f, -0.008813f, 0.000423f, 0.010964f, 0.004537f, 0.015206f, 0.013141f, 0.009604f, 0.007067f, 0.018255f, 0.021846f, -0.029556f, 0.009323f, -0.018601f, 0.014485f, 0.001766f, -0.018416f, -0.012932f, -0.007132f, -0.006534f, -0.012055f, 0.010780f, -0.006113f, -0.012410f, 0.020140f, -0.003618f, -0.006295f, 0.010989f, 0.020749f, -0.000535f, -0.007351f, 0.005234f, 0.019373f, 0.020470f, 0.013271f, -0.007352f, 0.003612f, 0.003388f, 0.017454f, 0.010143f, -0.057210f, -0.037111f, -0.012194f, 0.000294f, -0.032203f, 0.027179f, -0.067771f, 0.004237f, -0.041259f, 0.022769f, -0.014734f, -0.045960f, -0.003251f, -0.011731f, -0.015614f, -0.052476f, -0.038057f, 0.012039f, 0.042968f, -0.027365f, 0.052831f, -0.043381f, -0.028222f, 0.010370f, -0.003450f, 0.024460f, -0.013845f, -0.014570f, -0.020612f, -0.005138f, -0.072058f, - -0.020127f, 0.002969f, -0.002314f, -0.011301f, -0.027854f, 0.023750f, -0.024554f, 0.039795f, -0.011226f, -0.004010f, -0.026777f, -0.024587f, -0.047468f, -0.020185f, 0.018673f, 0.008193f, -0.002079f, 0.004024f, -0.016536f, -0.012267f, -0.021562f, -0.017945f, 0.010674f, 0.015189f, 0.007563f, -0.041115f, 0.048807f, 0.007332f, -0.020034f, 0.039231f, 0.028244f, 0.046594f, -0.007933f, 0.027521f, -0.061974f, -0.033112f, -0.058523f, 0.061101f, -0.018737f, -0.041278f, -0.039765f, -0.085122f, -0.035243f, 0.060237f, -0.003224f, -0.029374f, 0.022421f, -0.057851f, -0.038542f, 0.015488f, -0.002802f, -0.048156f, -0.047145f, 0.000186f, -0.026835f, 0.008096f, 0.010836f, -0.035635f, 0.036073f, -0.020913f, -0.031202f, 0.003506f, -0.018267f, 0.051409f, -0.018952f, 0.023503f, 0.004202f, 0.031532f, -0.015122f, -0.008289f, 0.003521f, -0.013330f, 0.000029f, -0.028833f, -0.021830f, -0.004999f, 0.012842f, 0.001286f, 0.021006f, 0.008952f, 0.015712f, -0.012587f, 0.000424f, -0.025035f, -0.005808f, -0.008609f, 0.008177f, 0.025195f, 0.011803f, 0.010497f, 0.012168f, 0.010797f, 0.003181f, -0.032869f, -0.009491f, -0.022509f, - -0.005313f, 0.004483f, 0.015933f, 0.075588f, 0.096592f, -0.008538f, -0.042142f, -0.009556f, -0.015618f, -0.042502f, 0.019063f, 0.001827f, -0.030756f, 0.092445f, 0.032324f, -0.021092f, -0.063195f, -0.005033f, 0.015795f, 0.017434f, 0.019079f, 0.044614f, -0.012218f, -0.020999f, 0.021032f, -0.078936f, -0.052844f, -0.020069f, -0.005340f, 0.009301f, -0.042177f, -0.038091f, 0.041322f, 0.033366f, -0.024723f, -0.047424f, 0.030922f, 0.001707f, 0.054290f, -0.043124f, -0.009799f, -0.014154f, -0.002456f, -0.033893f, -0.051492f, 0.044340f, -0.031843f, -0.019406f, -0.039315f, -0.007967f, 0.026358f, 0.025446f, -0.015732f, 0.004364f, 0.004804f, 0.033731f, 0.050437f, 0.037934f, -0.064201f, -0.029990f, -0.038026f, -0.008599f, 0.022129f, 0.009011f, -0.043867f, -0.062291f, 0.053786f, 0.004403f, -0.052452f, -0.086249f, 0.044121f, -0.010338f, 0.023781f, 0.022916f, 0.023244f, 0.004133f, 0.017170f, -0.033239f, -0.012927f, 0.024614f, 0.004349f, -0.014975f, 0.009792f, -0.002995f, -0.046226f, 0.024444f, -0.058711f, -0.002723f, -0.002845f, -0.009102f, -0.021078f, -0.007066f, 0.025857f, -0.000614f, -0.005899f, 0.014421f, - -0.018992f, 0.058397f, -0.004521f, 0.006307f, -0.004259f, 0.001758f, 0.014248f, 0.000316f, 0.013718f, -0.027984f, 0.006288f, -0.004122f, -0.020427f, 0.003334f, 0.009689f, 0.020322f, -0.009687f, 0.006602f, -0.048830f, -0.014658f, -0.002771f, -0.024229f, 0.021615f, -0.001606f, -0.006004f, -0.012396f, -0.020213f, -0.028276f, -0.041710f, 0.013952f, -0.004321f, 0.031834f, 0.035976f, 0.024407f, -0.024790f, -0.032819f, -0.043610f, -0.014858f, 0.039684f, 0.034001f, 0.005373f, 0.016678f, -0.014178f, -0.023566f, -0.019309f, 0.001517f, 0.005519f, -0.018174f, 0.008595f, 0.033732f, 0.041789f, -0.051754f, -0.043391f, 0.123456f, -0.009899f, -0.012067f, -0.018467f, -0.038961f, -0.004189f, 0.044539f, 0.071628f, -0.032962f, -0.019846f, -0.007268f, -0.032497f, -0.008115f, -0.018291f, 0.028435f, -0.029356f, 0.032547f, 0.015600f, -0.011197f, -0.040968f, -0.003032f, -0.016829f, 0.061583f, -0.033767f, -0.000856f, 0.000185f, -0.006172f, 0.027955f, -0.017786f, -0.002241f, 0.012775f, -0.008347f, -0.060203f, 0.030781f, -0.027494f, -0.031690f, -0.007366f, -0.033803f, -0.019746f, -0.061492f, 0.058878f, 0.002818f, -0.039327f, - -0.072064f, 0.041955f, -0.042457f, -0.041650f, 0.000687f, -0.032464f, 0.014738f, 0.026565f, 0.082230f, -0.023442f, 0.032286f, -0.007020f, -0.039552f, -0.033846f, -0.009703f, 0.123386f, -0.108784f, -0.008101f, 0.113582f, -0.103917f, -0.039207f, 0.058310f, -0.008458f, -0.047049f, 0.109863f, -0.054459f, -0.022380f, 0.050188f, 0.012675f, 0.021313f, -0.032322f, 0.036178f, 0.051349f, 0.023776f, -0.012878f, -0.003570f, 0.051869f, -0.007741f, 0.029770f, -0.000923f, 0.020848f, -0.029809f, -0.003630f, 0.013388f, 0.008542f, 0.005457f, 0.001606f, 0.001853f, 0.021735f, -0.010130f, 0.005797f, 0.007703f, 0.007523f, -0.046697f, -0.018858f, 0.014593f, -0.039061f, 0.011550f, 0.022713f, -0.016917f, -0.017256f, -0.013838f, 0.009686f, -0.019344f, 0.022792f, 0.018765f, -0.002193f, 0.010731f, -0.013681f, -0.028314f, -0.026958f, 0.053881f, 0.010092f, 0.033474f, 0.007288f, 0.006326f, 0.021787f, -0.018858f, -0.004019f, 0.034014f, -0.020082f, -0.047300f, 0.035544f, -0.005122f, 0.020947f, -0.005821f, -0.013502f, -0.013741f, 0.057643f, -0.074989f, 0.066083f, -0.012042f, -0.042120f, 0.035235f, 0.011950f, -0.007308f, - 0.006867f, 0.004233f, -0.008678f, 0.012443f, -0.015015f, -0.019239f, -0.009129f, -0.026405f, -0.022133f, -0.049029f, -0.019194f, 0.040994f, 0.038577f, -0.060802f, 0.019454f, 0.031306f, 0.026083f, -0.010977f, -0.060088f, -0.006009f, -0.030091f, -0.070190f, 0.043187f, 0.110775f, -0.064636f, -0.007563f, 0.078475f, -0.023119f, -0.028926f, 0.063659f, 0.047043f, 0.022920f, -0.026638f, -0.052443f, 0.016585f, -0.021743f, -0.033446f, 0.115881f, 0.085042f, -0.070930f, -0.052466f, 0.062294f, -0.115486f, -0.041023f, -0.033218f, -0.020443f, 0.079533f, 0.052718f, 0.034378f, 0.037897f, -0.135571f, -0.047695f, 0.127782f, 0.073813f, 0.014514f, -0.034937f, 0.043548f, -0.045891f, -0.092354f, -0.061722f, 0.043965f, -0.034071f, -0.007924f, 0.051250f, 0.095370f, -0.012222f, -0.054879f, 0.006306f, 0.037257f, -0.066172f, -0.025017f, 0.067603f, 0.060656f, 0.060878f, 0.041977f, -0.012915f, -0.039743f, -0.020004f, 0.051430f, 0.014426f, 0.021202f, -0.010688f, 0.005125f, 0.023106f, 0.001350f, -0.010123f, -0.011856f, -0.015576f, 0.010867f, 0.007750f, 0.049282f, 0.013368f, -0.010648f, -0.020609f, 0.004184f, 0.001831f, - -0.008110f, -0.018182f, 0.004209f, 0.038042f, -0.041905f, -0.013000f, 0.036450f, -0.009185f, -0.001736f, 0.024040f, -0.010234f, 0.017606f, 0.006955f, 0.020795f, -0.042380f, -0.006659f, 0.007965f, 0.046691f, 0.010677f, 0.022031f, 0.018994f, 0.010241f, -0.009898f, 0.014942f, 0.021627f, -0.026016f, 0.011690f, -0.114552f, 0.049030f, 0.000197f, -0.012086f, 0.058148f, -0.010344f, -0.044518f, 0.021811f, 0.019904f, 0.056802f, 0.032082f, -0.031352f, 0.001335f, 0.008426f, 0.038875f, 0.008663f, -0.045433f, -0.002170f, -0.002890f, 0.008764f, -0.042272f, -0.046218f, 0.066033f, -0.024355f, -0.069650f, 0.035222f, 0.061286f, -0.035106f, -0.012063f, 0.003570f, 0.041937f, -0.050843f, -0.066405f, 0.017664f, 0.055597f, -0.012605f, -0.024068f, -0.014313f, -0.013864f, 0.023789f, 0.010113f, 0.013998f, 0.140555f, 0.007248f, -0.018223f, 0.001381f, 0.004199f, 0.075493f, 0.002189f, -0.027587f, 0.016922f, -0.060011f, -0.035116f, 0.014839f, 0.000105f, 0.064766f, 0.051693f, -0.034175f, -0.010013f, -0.032351f, 0.001334f, 0.022818f, 0.005780f, 0.006647f, 0.023283f, -0.017468f, -0.069367f, 0.016976f, 0.046578f, - -0.022744f, 0.041097f, -0.064755f, 0.030046f, 0.018647f, -0.056293f, 0.008925f, 0.001007f, -0.025208f, 0.002473f, -0.011199f, 0.027845f, 0.026523f, -0.047150f, -0.029772f, 0.062740f, -0.048699f, 0.023041f, -0.005263f, -0.018472f, 0.012995f, -0.001908f, -0.029011f, 0.016037f, 0.008919f, 0.011484f, -0.001716f, -0.004795f, 0.002275f, 0.008713f, -0.011615f, -0.010182f, 0.007658f, 0.006156f, -0.006843f, -0.000470f, 0.012981f, 0.023443f, -0.014778f, -0.009385f, 0.002039f, -0.004100f, 0.007222f, -0.005699f, -0.004128f, 0.005528f, -0.001285f, 0.014176f, -0.005469f, 0.007075f, -0.019243f, 0.011214f, -0.013766f, 0.011860f, 0.019468f, -0.001641f, -0.000733f, 0.003062f, -0.024804f, 0.019466f, 0.039302f, -0.073742f, -0.242543f, -0.287021f, -0.025813f, -0.199068f, 0.078198f, 0.485279f, 0.261055f, 0.394142f, 0.415395f, -0.045177f, -0.119719f, 0.035481f, -0.302566f, -0.369870f, -0.114275f, -0.407163f, -0.326848f, 0.082859f, -0.235113f, -0.064100f, 0.468651f, 0.169634f, 0.331332f, 0.572377f, 0.340683f, 0.152341f, 0.115971f, 0.040531f, -0.254998f, -0.317498f, -0.104756f, -0.433629f, -0.433884f, 0.057130f, - -0.324475f, -0.266350f, 0.160073f, -0.273095f, -0.280757f, 0.211875f, 0.086105f, -0.038818f, 0.500318f, 0.468430f, 0.299161f, 0.635101f, 0.598584f, 0.204407f, 0.238254f, 0.185600f, -0.301393f, -0.302228f, -0.382071f, -0.756605f, -0.892977f, -0.642365f, -0.639396f, -0.471757f, 0.016163f, 0.043461f, 0.311409f, 0.538353f, 0.663702f, 0.604598f, 0.701783f, 0.601156f, 0.354636f, 0.238298f, 0.079407f, -0.118694f, -0.266361f, -0.379122f, -0.325612f, -0.472333f, -0.528834f, -0.438760f, -0.512748f, -0.384927f, 0.060994f, 0.123170f, 0.298767f, 0.599055f, 0.477186f, 0.367561f, 0.277988f, 0.109289f, -0.090821f, -0.074366f, -0.150196f, -0.188203f, -0.143533f, -0.163540f, -0.157760f, -0.067510f, -0.063844f, 0.003331f, 0.097503f, 0.069097f, 0.136880f, 0.164148f, 0.028701f, 0.119000f, 0.114612f, -0.032054f, 0.038132f, 0.026520f, -0.087121f, 0.003486f, 0.028263f, -0.101148f, -0.110114f, -0.154096f, -0.316325f, -0.354034f, -0.275142f, -0.263315f, -0.086157f, 0.128809f, 0.232825f, 0.378380f, 0.571416f, 0.616519f, 0.572107f, 0.400467f, 0.122356f, -0.129657f, -0.276495f, -0.413281f, -0.509580f, -0.501681f, - -0.391499f, -0.269366f, -0.127788f, -0.039782f, 0.016131f, 0.045868f, 0.116435f, 0.191442f, 0.197952f, 0.183226f, 0.188654f, 0.133623f, 0.120819f, 0.103966f, 0.042284f, 0.008921f, 0.026081f, 0.022028f, 0.013842f, 0.008328f, -0.024186f, -0.065027f, -0.098640f, -0.142233f, -0.180395f, -0.180843f, -0.145537f, -0.111815f, -0.058720f, 0.009760f, 0.061085f, 0.089162f, 0.103775f, 0.091302f, 0.080947f, 0.088441f, 0.085691f, 0.068540f, 0.058678f, 0.048447f, 0.033314f, 0.017205f, 0.000952f, -0.032790f, -0.060462f, -0.066895f, -0.062758f, -0.057149f, -0.053309f, -0.049425f, -0.036711f, -0.013331f, 0.001364f, -0.004970f, -0.016263f, -0.009157f, 0.001259f, 0.007314f, 0.014391f, 0.016688f, 0.022852f, 0.036347f, 0.049537f, 0.048620f, 0.050086f, 0.044194f, 0.028590f, 0.017274f, 0.010009f, -0.003909f, -0.016409f, -0.025412f, -0.045445f, -0.063015f, -0.069153f, -0.071937f, -0.062177f, -0.039726f, -0.010530f, 0.022189f, 0.051452f, 0.065260f, 0.063719f, 0.049769f, 0.032942f, 0.016221f, 0.000861f, -0.008160f, -0.012887f, -0.013630f, -0.011919f, -0.011509f, -0.011268f, -0.010205f, -0.007969f, -0.006186f, - -0.003704f, -0.001284f, 0.000374f, 0.001833f, 0.002580f, 0.002457f, 0.001876f, 0.000938f, 0.000259f, -0.000066f, -0.000117f, -0.000096f} - }, - { - {-0.016487f, -0.019659f, 0.010316f, 0.000747f, 0.015493f, 0.005699f, 0.006919f, 0.004487f, 0.006376f, -0.000046f, -0.000062f, -0.003328f, -0.009927f, -0.005682f, 0.002816f, -0.000374f, -0.001719f, -0.001069f, 0.005492f, 0.004292f, 0.000197f, 0.004954f, -0.004377f, -0.011324f, 0.003784f, -0.002541f, 0.001419f, -0.005716f, 0.004717f, -0.004658f, -0.002257f, -0.001770f, 0.008342f, -0.001817f, 0.000040f, -0.003309f, -0.000812f, -0.009151f, 0.003253f, -0.001453f, 0.005135f, -0.004292f, 0.000719f, -0.001968f, -0.007315f, 0.002474f, -0.000616f, -0.001899f, 0.003435f, 0.006230f, -0.001146f, -0.003639f, -0.010760f, 0.001103f, -0.006349f, 0.003115f, 0.000227f, -0.004081f, -0.000051f, -0.001688f, -0.001403f, -0.007738f, 0.005195f, -0.006849f, 0.003962f, -0.002627f, -0.004532f, -0.003844f, -0.008247f, 0.004721f, 0.000541f, 0.002409f, 0.005143f, -0.005249f, -0.008463f, 0.005610f, -0.008107f, 0.000383f, -0.005367f, 0.001866f, -0.004130f, 0.003849f, -0.002036f, 0.002090f, -0.003551f, 0.000782f, -0.001592f, 0.002318f, -0.001649f, -0.001808f, -0.001765f, -0.001646f, -0.003179f, 0.000598f, 0.000908f, -0.000449f, - -0.002485f, 0.001913f, -0.001854f, 0.000398f, -0.001208f, -0.002112f, -0.000730f, -0.000675f, -0.000266f, -0.000367f, -0.000235f, -0.001720f, -0.000907f, 0.000409f, -0.001016f, -0.000462f, -0.000504f, -0.001174f, -0.000308f, -0.000843f, -0.001121f, -0.000942f, -0.029345f, -0.000378f, -0.003951f, 0.007643f, 0.000081f, 0.002907f, -0.002487f, 0.003776f, 0.000680f, 0.003299f, -0.003455f, 0.018853f, -0.004179f, -0.002708f, -0.008185f, 0.002673f, -0.009869f, -0.003190f, 0.000664f, -0.004806f, -0.000136f, 0.006896f, 0.003902f, 0.002598f, 0.004601f, 0.006701f, -0.008275f, -0.003166f, -0.000233f, 0.004250f, -0.007814f, 0.007516f, -0.006552f, -0.003296f, 0.005968f, -0.001173f, 0.001320f, -0.004833f, 0.005506f, 0.005820f, 0.006191f, -0.009650f, -0.003018f, 0.010387f, -0.000218f, -0.001586f, -0.002413f, 0.011329f, 0.007317f, 0.008762f, 0.000077f, -0.002066f, -0.002706f, -0.000635f, -0.000319f, 0.001279f, 0.003311f, -0.010975f, -0.001075f, -0.005115f, -0.006567f, -0.000855f, 0.001782f, -0.005695f, 0.001433f, -0.004353f, -0.001682f, -0.001761f, -0.000223f, 0.003796f, 0.003425f, -0.001987f, -0.001391f, -0.002486f, - -0.008992f, -0.002107f, -0.005611f, 0.000148f, -0.007373f, 0.001975f, 0.000024f, 0.007358f, -0.002634f, 0.001012f, -0.006473f, 0.000557f, 0.000801f, -0.002973f, -0.003155f, 0.003126f, 0.000007f, 0.000833f, -0.000393f, 0.002195f, -0.000671f, 0.000913f, -0.000467f, -0.000504f, 0.002564f, 0.001223f, 0.001016f, 0.000413f, -0.000391f, 0.001585f, 0.009854f, 0.011688f, -0.008301f, 0.000956f, -0.007095f, 0.010701f, 0.001881f, -0.004566f, -0.006434f, -0.005702f, -0.001277f, 0.001268f, 0.002759f, 0.014270f, -0.008654f, -0.001462f, -0.003502f, 0.005529f, -0.016159f, -0.001983f, 0.010126f, -0.000387f, 0.008491f, 0.003699f, 0.006788f, 0.007074f, 0.003011f, -0.001509f, -0.007648f, 0.002381f, -0.002221f, 0.000851f, 0.011857f, 0.002911f, 0.010157f, -0.005504f, -0.002922f, 0.000677f, -0.013932f, 0.001511f, 0.010209f, -0.003142f, 0.000847f, -0.008744f, 0.006406f, -0.000252f, 0.002780f, -0.010329f, 0.005898f, -0.006973f, -0.003948f, -0.007279f, -0.008545f, 0.004749f, 0.001529f, -0.002838f, -0.004434f, -0.004187f, -0.003122f, -0.002147f, 0.004649f, -0.004834f, -0.008682f, -0.013293f, 0.012079f, 0.009258f, - 0.000383f, -0.013298f, 0.003885f, -0.006432f, 0.005073f, -0.004379f, 0.000821f, -0.008188f, -0.005216f, -0.010634f, -0.004887f, -0.001574f, 0.010158f, 0.006027f, -0.011603f, 0.004878f, 0.000130f, -0.001097f, 0.004895f, -0.000779f, 0.003860f, 0.008071f, 0.000301f, 0.001626f, 0.005289f, 0.001024f, 0.000955f, 0.005260f, -0.001070f, -0.000236f, 0.000282f, 0.000604f, 0.001009f, 0.001238f, -0.001324f, 0.001461f, -0.001250f, 0.000303f, 0.000135f, 0.001283f, 0.000185f, 0.003299f, 0.002828f, 0.000123f, -0.000298f, 0.003235f, 0.001562f, -0.002586f, 0.000339f, 0.001111f, 0.049764f, -0.018523f, 0.022277f, -0.017755f, 0.001489f, 0.005264f, 0.005203f, -0.014663f, -0.005002f, -0.004946f, -0.024532f, -0.000166f, 0.001262f, -0.008861f, -0.001463f, -0.000139f, 0.017482f, 0.003205f, -0.012253f, 0.008889f, 0.009705f, 0.002141f, 0.017723f, -0.013238f, -0.004867f, -0.007091f, 0.003715f, 0.014191f, -0.001067f, 0.000863f, 0.005257f, -0.002578f, 0.006322f, 0.002837f, 0.016218f, -0.002487f, 0.006336f, -0.010681f, 0.009680f, -0.007490f, 0.010812f, -0.000229f, -0.011376f, -0.001738f, 0.016351f, -0.000759f, - 0.011052f, 0.006620f, 0.010628f, 0.000915f, -0.008472f, -0.006899f, 0.000143f, -0.005137f, 0.008720f, 0.005770f, -0.008696f, 0.001162f, -0.006801f, 0.011522f, -0.003175f, 0.009237f, 0.011037f, 0.001906f, 0.011379f, -0.000558f, -0.005563f, -0.001913f, -0.007080f, 0.000292f, 0.014964f, -0.009432f, -0.009655f, -0.003670f, 0.004228f, -0.006618f, -0.004109f, 0.002876f, 0.007176f, -0.003019f, 0.002620f, -0.014567f, 0.003554f, 0.000918f, -0.001065f, 0.005067f, 0.000299f, 0.001346f, 0.003436f, -0.000467f, -0.001905f, 0.001543f, -0.003372f, 0.001028f, -0.001418f, 0.000399f, 0.000613f, -0.000539f, -0.001188f, -0.002929f, -0.000251f, -0.002336f, -0.001465f, -0.000998f, -0.004862f, -0.041355f, 0.004661f, -0.012096f, -0.008612f, -0.013279f, -0.016113f, 0.006517f, 0.014642f, -0.002078f, 0.005770f, 0.002409f, 0.007581f, 0.001799f, 0.000673f, 0.004606f, -0.008760f, 0.020710f, -0.000943f, -0.011893f, 0.013653f, -0.004034f, 0.005871f, -0.013423f, -0.008283f, -0.009484f, 0.004281f, 0.002613f, 0.010715f, 0.000414f, -0.006441f, 0.001197f, -0.005736f, -0.006366f, -0.007025f, -0.002402f, -0.009832f, -0.004968f, - 0.009426f, -0.008565f, -0.000475f, -0.006685f, -0.010441f, -0.004636f, 0.001463f, 0.003466f, 0.006853f, -0.005253f, -0.004746f, 0.006709f, 0.001298f, 0.002568f, 0.001901f, 0.004177f, 0.006367f, -0.010060f, -0.003252f, -0.000966f, -0.014055f, 0.003822f, -0.000862f, 0.008369f, -0.008184f, -0.006301f, -0.007641f, 0.001393f, 0.008940f, 0.006863f, 0.015666f, 0.010469f, -0.009463f, 0.003944f, -0.004215f, 0.007391f, 0.004735f, -0.010339f, 0.007616f, 0.002051f, -0.011383f, 0.001520f, -0.001965f, 0.001021f, -0.002028f, -0.007837f, 0.001574f, -0.005617f, -0.005803f, 0.002202f, -0.003133f, 0.001389f, 0.004355f, -0.002810f, -0.003642f, -0.003906f, -0.005735f, -0.001078f, 0.004655f, -0.001188f, 0.004837f, 0.000048f, 0.003310f, 0.002167f, 0.001785f, -0.002098f, -0.000695f, 0.000807f, -0.001916f, -0.002288f, 0.000668f, -0.002213f, -0.000721f, 0.000592f, -0.003994f, 0.002304f, -0.001982f, -0.000732f, 0.000605f, -0.000164f, 0.000459f, 0.001312f, -0.001708f, 0.001160f, 0.002898f, -0.052614f, 0.014691f, -0.015559f, -0.012927f, -0.009250f, 0.001976f, -0.002560f, 0.031303f, 0.003250f, 0.007642f, -0.003282f, - 0.000320f, -0.012594f, 0.012892f, 0.003889f, -0.001646f, 0.002731f, 0.016772f, -0.008118f, -0.002662f, 0.004004f, 0.001353f, 0.008496f, -0.007035f, -0.003079f, 0.009347f, 0.003533f, 0.008627f, 0.001182f, -0.008731f, -0.005680f, 0.005246f, -0.000699f, -0.002829f, -0.005411f, -0.003016f, -0.000199f, 0.015910f, 0.004133f, -0.002634f, 0.000496f, 0.001368f, -0.004600f, 0.011521f, 0.008824f, -0.002489f, -0.011723f, 0.003183f, -0.006132f, 0.010973f, 0.008522f, -0.008182f, 0.003433f, -0.010655f, -0.009524f, -0.008307f, -0.010528f, -0.003488f, 0.002512f, -0.006222f, 0.000684f, -0.006893f, -0.005862f, 0.012601f, 0.008036f, -0.010304f, -0.014037f, 0.001795f, 0.012231f, -0.009126f, -0.006773f, 0.010410f, 0.008179f, 0.011846f, -0.007366f, -0.000130f, 0.003434f, 0.005002f, 0.013228f, 0.003736f, -0.001573f, -0.000305f, -0.009398f, -0.001235f, -0.000035f, -0.007986f, 0.000735f, -0.002212f, -0.003600f, 0.000360f, -0.000971f, 0.004237f, -0.000835f, -0.001374f, 0.002050f, -0.001025f, -0.003278f, -0.002041f, 0.000847f, 0.003463f, -0.001431f, -0.001017f, 0.000228f, -0.000604f, 0.006260f, 0.001310f, 0.008078f, - -0.005421f, 0.001563f, 0.000615f, -0.003190f, 0.000125f, -0.000151f, -0.004054f, 0.001203f, -0.000610f, -0.004591f, -0.004170f, -0.002167f, -0.003977f, -0.003078f, 0.001314f, -0.001969f, -0.027811f, -0.002758f, 0.004680f, 0.013523f, -0.002638f, -0.007088f, 0.003167f, 0.019873f, -0.025033f, 0.005802f, -0.005084f, -0.004648f, -0.011272f, 0.006771f, -0.020063f, -0.013058f, 0.006891f, -0.010488f, 0.006338f, 0.028576f, -0.005063f, 0.011550f, -0.013445f, 0.013800f, -0.003593f, 0.004116f, -0.012061f, 0.005628f, 0.003415f, -0.006460f, 0.002833f, -0.001303f, -0.006209f, -0.000413f, 0.007840f, 0.012303f, -0.009643f, -0.015364f, -0.012185f, -0.011278f, 0.001451f, 0.009023f, 0.023887f, -0.000272f, 0.016082f, 0.016811f, -0.015650f, 0.012027f, -0.023013f, -0.008407f, 0.001443f, -0.010228f, -0.009549f, 0.006383f, -0.022289f, -0.004398f, 0.015482f, -0.006682f, -0.005845f, 0.002051f, -0.006823f, 0.006340f, -0.006771f, 0.010874f, 0.014020f, -0.003885f, 0.004342f, 0.000589f, -0.014242f, 0.001229f, -0.009227f, -0.006338f, -0.011260f, 0.006396f, 0.004860f, -0.010784f, 0.000845f, 0.008048f, 0.007443f, 0.009533f, - 0.009785f, -0.001494f, -0.009372f, 0.007747f, 0.004012f, 0.004644f, 0.002489f, 0.005606f, -0.000677f, -0.000173f, 0.000776f, 0.002313f, 0.002666f, -0.003812f, -0.001225f, -0.003073f, -0.002102f, 0.004505f, 0.003805f, 0.004349f, -0.007929f, 0.001624f, -0.001043f, -0.003232f, -0.003866f, 0.004076f, -0.002574f, -0.004288f, 0.001024f, 0.001034f, -0.001488f, 0.009594f, 0.003106f, -0.001865f, -0.002196f, -0.004435f, -0.001311f, 0.003931f, 0.005881f, 0.001514f, -0.000072f, 0.006018f, 0.065835f, -0.003256f, -0.026135f, -0.003335f, -0.001214f, 0.002429f, 0.008233f, 0.003320f, -0.003090f, -0.002772f, -0.013195f, -0.006282f, 0.007289f, 0.016040f, -0.013264f, -0.008363f, 0.010684f, 0.000814f, -0.003936f, 0.004249f, -0.001117f, -0.015333f, -0.015621f, 0.021117f, -0.002037f, -0.001400f, -0.003600f, 0.010824f, -0.000905f, 0.001099f, 0.006862f, -0.011645f, 0.012245f, 0.005074f, 0.001947f, 0.004656f, 0.012241f, -0.029620f, -0.013298f, -0.007235f, 0.027202f, 0.003481f, 0.001986f, -0.008431f, -0.009303f, 0.008124f, -0.001282f, 0.009426f, -0.003420f, -0.018937f, 0.001976f, 0.002279f, -0.002914f, 0.009156f, - 0.004075f, 0.002438f, 0.015062f, 0.036806f, -0.002964f, -0.003141f, 0.013980f, 0.004236f, -0.004399f, 0.009611f, 0.028617f, -0.003244f, 0.005439f, 0.010354f, 0.008297f, 0.007433f, 0.007573f, 0.008494f, 0.006521f, -0.007601f, 0.011394f, 0.020422f, -0.004771f, 0.007816f, 0.000069f, -0.002599f, -0.014192f, 0.008800f, 0.003298f, -0.001176f, 0.004243f, 0.004883f, 0.001129f, 0.000545f, -0.004810f, -0.005508f, -0.002202f, -0.010949f, -0.004896f, -0.007427f, 0.009455f, 0.004631f, 0.003570f, -0.001562f, -0.001469f, 0.000538f, -0.006321f, -0.000007f, 0.002271f, -0.008698f, 0.007571f, -0.003802f, 0.001316f, -0.002674f, 0.000378f, 0.002863f, 0.003423f, -0.006781f, -0.006727f, -0.005591f, 0.000718f, -0.001172f, -0.001892f, -0.000533f, 0.004656f, -0.001257f, 0.000455f, -0.002796f, -0.005983f, -0.003260f, -0.000197f, 0.013293f, 0.014802f, -0.018878f, -0.005489f, -0.016025f, 0.015847f, 0.029711f, -0.014249f, -0.003345f, -0.016347f, -0.007101f, -0.019778f, 0.014083f, -0.012084f, -0.004906f, -0.001304f, 0.000141f, -0.007891f, -0.009677f, 0.017710f, -0.016096f, -0.005980f, 0.001847f, 0.012072f, 0.012933f, - -0.018593f, -0.005446f, 0.007101f, -0.015951f, 0.009031f, -0.012650f, -0.005198f, 0.004681f, 0.000334f, -0.006912f, -0.001968f, 0.003834f, 0.020694f, 0.002584f, 0.004640f, 0.000027f, -0.017774f, 0.019395f, -0.009549f, -0.014502f, 0.011578f, -0.010329f, -0.011765f, 0.015298f, -0.006957f, 0.001985f, -0.003429f, 0.002084f, 0.020016f, -0.003400f, 0.004444f, -0.017513f, -0.001435f, 0.020467f, 0.004511f, 0.020280f, 0.017269f, -0.005664f, -0.004498f, -0.023502f, 0.003553f, -0.003914f, 0.015545f, 0.019173f, -0.011063f, 0.004811f, -0.034656f, -0.009411f, 0.011389f, -0.011901f, 0.017852f, 0.001256f, 0.003798f, -0.006295f, -0.001417f, -0.008242f, 0.001390f, -0.005663f, 0.012576f, 0.012504f, -0.000648f, 0.004299f, -0.000276f, 0.007095f, 0.002951f, 0.005158f, 0.010607f, -0.003157f, -0.012123f, 0.005589f, 0.002647f, 0.007693f, -0.002081f, 0.008159f, -0.001750f, -0.002741f, 0.001941f, -0.004797f, -0.003335f, 0.000900f, -0.008561f, 0.002437f, -0.003048f, 0.007575f, 0.003135f, -0.000475f, -0.001704f, -0.004868f, -0.007611f, -0.000520f, 0.000905f, 0.003128f, -0.002869f, 0.001763f, -0.007172f, -0.000010f, - 0.000305f, -0.003639f, 0.004611f, 0.000566f, -0.000012f, 0.002103f, -0.002434f, 0.000462f, -0.000083f, 0.011855f, -0.015229f, 0.005124f, -0.014245f, -0.001613f, -0.019218f, 0.031395f, -0.009328f, 0.002075f, -0.010000f, -0.028762f, 0.016478f, 0.005730f, -0.021482f, 0.013196f, -0.009713f, -0.007167f, 0.007427f, 0.029716f, -0.014928f, 0.028705f, -0.000630f, -0.020282f, 0.000787f, 0.006660f, -0.017853f, 0.019578f, -0.010364f, 0.014481f, 0.031550f, 0.003032f, -0.014826f, -0.004192f, -0.001743f, 0.007188f, -0.012617f, -0.006917f, -0.001752f, 0.015523f, -0.005618f, -0.006315f, -0.020748f, -0.000759f, -0.024519f, -0.004566f, 0.027671f, -0.006275f, 0.015736f, 0.001445f, 0.004162f, -0.036386f, 0.000452f, -0.023300f, 0.018684f, 0.032509f, 0.010002f, 0.008134f, 0.001981f, 0.004834f, -0.019028f, 0.006649f, 0.010108f, -0.008501f, -0.002403f, -0.007539f, -0.004810f, 0.014637f, 0.000303f, 0.017763f, 0.054517f, 0.019889f, 0.005417f, -0.018768f, -0.017439f, -0.011318f, 0.010695f, -0.018582f, -0.001635f, -0.001720f, 0.003775f, 0.010468f, -0.010198f, -0.001946f, 0.010123f, 0.011112f, 0.002275f, 0.001876f, - 0.007557f, 0.009568f, 0.007991f, -0.000112f, -0.001791f, -0.001820f, 0.000831f, -0.003981f, -0.004960f, 0.004328f, -0.002514f, 0.006739f, -0.008279f, -0.002631f, 0.005706f, 0.004847f, -0.000502f, 0.004380f, -0.004266f, 0.001993f, 0.003000f, 0.004069f, -0.004681f, -0.004602f, 0.006464f, 0.004620f, 0.003626f, -0.001674f, -0.003266f, 0.001568f, -0.009214f, -0.002417f, 0.001472f, -0.004904f, 0.002237f, -0.003401f, -0.002399f, 0.001050f, 0.000744f, -0.000768f, -0.001829f, -0.006107f, 0.057718f, -0.030134f, -0.000119f, -0.014606f, -0.028201f, -0.037873f, 0.011411f, -0.011652f, 0.012039f, -0.035809f, 0.007877f, 0.013742f, 0.012422f, -0.014630f, -0.032832f, -0.025696f, -0.021479f, 0.000983f, -0.012212f, -0.023774f, -0.016164f, -0.007872f, -0.019311f, -0.013255f, 0.003980f, 0.025918f, -0.000038f, 0.004269f, -0.000292f, -0.021547f, 0.014273f, -0.001362f, 0.004599f, -0.004302f, -0.014113f, 0.013156f, -0.017749f, -0.024969f, 0.023506f, -0.024344f, 0.005487f, 0.000413f, -0.034484f, -0.020283f, 0.014220f, 0.000009f, 0.017361f, -0.010556f, -0.036677f, 0.000482f, 0.001795f, 0.014509f, 0.015320f, 0.035385f, - -0.019651f, -0.070972f, -0.024562f, -0.023793f, 0.016501f, -0.046022f, -0.015313f, -0.007152f, -0.042296f, -0.013623f, -0.000275f, -0.007513f, -0.007573f, 0.009966f, -0.011087f, -0.000385f, -0.010376f, 0.010684f, -0.024704f, 0.009702f, 0.020645f, -0.024817f, -0.012363f, 0.013176f, 0.010292f, 0.009101f, -0.025628f, 0.006836f, 0.000744f, -0.003040f, 0.014258f, -0.002835f, 0.011801f, 0.010692f, -0.001823f, 0.003772f, 0.002622f, -0.002496f, -0.008244f, 0.014889f, -0.004240f, -0.009363f, 0.000742f, 0.000255f, 0.008053f, 0.003357f, 0.000456f, 0.003032f, -0.007083f, -0.007024f, 0.001296f, 0.003353f, 0.005001f, 0.008820f, -0.000519f, 0.004393f, -0.000374f, 0.003963f, -0.008315f, -0.003134f, -0.005633f, -0.004917f, -0.000480f, -0.000521f, 0.003662f, -0.009252f, -0.004060f, -0.006751f, -0.004820f, -0.009717f, -0.012320f, -0.010672f, -0.000763f, -0.000340f, 0.001849f, -0.006290f, -0.008499f, -0.033016f, 0.013078f, 0.016328f, -0.005426f, -0.006363f, -0.016435f, -0.018173f, 0.042006f, 0.015281f, -0.039129f, 0.013547f, -0.021291f, -0.002050f, -0.019332f, -0.040263f, 0.011888f, -0.020997f, -0.008702f, 0.001637f, - 0.001263f, -0.010279f, -0.033949f, -0.021145f, 0.016802f, -0.020914f, -0.000467f, -0.018511f, -0.028213f, -0.011084f, 0.031584f, 0.004985f, 0.005736f, -0.027493f, -0.009054f, -0.005686f, -0.003424f, 0.011075f, 0.013950f, 0.017696f, 0.022171f, -0.010825f, 0.012578f, 0.004248f, -0.012523f, 0.007710f, -0.021163f, -0.018706f, -0.015882f, 0.006834f, -0.018370f, 0.000788f, -0.027721f, -0.024620f, -0.012397f, 0.028852f, 0.022867f, 0.021891f, 0.024536f, -0.022483f, 0.030690f, 0.000884f, 0.014287f, 0.041708f, -0.008323f, -0.007836f, 0.007100f, -0.020281f, 0.008601f, -0.009602f, -0.025714f, 0.003255f, 0.021568f, -0.025278f, -0.017603f, -0.003223f, 0.023168f, -0.019250f, 0.002511f, 0.006891f, 0.014071f, 0.003292f, -0.005348f, -0.013185f, 0.003840f, 0.009575f, -0.005006f, 0.001077f, -0.006387f, 0.001991f, -0.006050f, 0.002393f, 0.000772f, 0.003424f, -0.002074f, 0.002308f, 0.004982f, 0.011617f, -0.001148f, -0.000447f, 0.001323f, 0.005302f, -0.008405f, -0.003849f, -0.009287f, -0.002907f, -0.001805f, -0.011265f, 0.002447f, 0.009801f, -0.000540f, -0.013390f, -0.001876f, -0.001427f, -0.011086f, -0.013127f, - -0.018454f, -0.008047f, 0.007577f, 0.000923f, 0.005470f, -0.003109f, -0.003011f, -0.007027f, -0.000613f, -0.016818f, -0.002634f, 0.009632f, 0.016143f, -0.001097f, 0.005126f, -0.009685f, 0.001586f, -0.005893f, 0.008465f, 0.003246f, -0.015815f, -0.036873f, 0.042165f, -0.032952f, 0.043663f, 0.024439f, 0.016624f, 0.009346f, 0.017149f, 0.018636f, 0.017220f, 0.046934f, -0.016445f, 0.003308f, -0.003152f, -0.008101f, -0.001442f, 0.005818f, -0.004378f, 0.009029f, -0.003064f, 0.014680f, 0.012296f, -0.002644f, -0.008151f, -0.046783f, -0.016689f, -0.033934f, -0.001590f, 0.017891f, 0.018025f, 0.005742f, 0.009171f, 0.013489f, 0.011119f, 0.013075f, 0.033480f, 0.049977f, 0.033501f, 0.006764f, -0.006386f, -0.009653f, -0.014379f, 0.017488f, 0.017777f, 0.019971f, -0.014884f, -0.011701f, -0.018454f, -0.003041f, 0.024319f, 0.000239f, 0.029148f, -0.017693f, 0.015596f, 0.009421f, 0.026154f, -0.054743f, -0.039245f, -0.016052f, -0.022043f, -0.022504f, 0.006718f, -0.009183f, 0.034421f, 0.010235f, -0.038458f, -0.003161f, 0.062131f, -0.020952f, 0.019350f, -0.009387f, 0.025511f, -0.011894f, -0.007812f, 0.000926f, - -0.010597f, -0.013861f, -0.001039f, 0.010462f, 0.015340f, 0.010736f, -0.004080f, 0.012107f, -0.003261f, 0.005610f, -0.015883f, -0.010765f, 0.010106f, 0.006472f, -0.015971f, -0.006922f, -0.006807f, -0.002115f, 0.003912f, -0.004170f, -0.007857f, 0.003621f, 0.000658f, 0.002634f, -0.001305f, -0.004475f, 0.007018f, 0.002337f, -0.004064f, 0.009388f, -0.001366f, 0.002784f, -0.001803f, 0.011070f, -0.009438f, 0.009864f, 0.004254f, -0.009202f, 0.006043f, 0.000365f, 0.001568f, -0.009593f, -0.028180f, 0.010578f, 0.000176f, 0.002075f, -0.003292f, 0.010755f, -0.002670f, -0.004974f, 0.003357f, 0.008413f, 0.006872f, -0.004109f, 0.008537f, -0.026818f, -0.013343f, 0.022539f, 0.009937f, 0.016671f, 0.043205f, 0.003850f, 0.028921f, 0.042216f, 0.029357f, -0.018860f, -0.042613f, -0.001271f, -0.019485f, 0.046287f, 0.013421f, 0.036201f, -0.005009f, -0.019141f, -0.006982f, -0.020901f, 0.008448f, -0.016042f, 0.002082f, -0.017887f, 0.009523f, -0.013021f, -0.005437f, -0.028828f, -0.028632f, -0.002674f, -0.041070f, 0.022729f, 0.015640f, -0.012142f, 0.021185f, -0.009856f, 0.008294f, 0.023655f, -0.025946f, -0.033941f, - 0.006151f, -0.007271f, 0.057367f, 0.024526f, -0.062802f, -0.016788f, -0.017783f, -0.032249f, -0.034279f, -0.070040f, 0.012432f, -0.024975f, -0.006545f, 0.010260f, 0.002593f, 0.014653f, -0.002755f, -0.008116f, -0.053203f, 0.006528f, -0.024179f, 0.006740f, 0.031227f, 0.006773f, 0.020940f, -0.031509f, -0.042093f, 0.008717f, 0.026103f, 0.017784f, 0.009802f, 0.016910f, 0.027130f, 0.034163f, 0.034901f, -0.030814f, -0.018693f, -0.022134f, -0.016005f, -0.025873f, 0.036808f, 0.021816f, 0.020742f, 0.005914f, 0.015854f, 0.013839f, -0.001325f, 0.019490f, -0.029702f, -0.010193f, -0.003578f, 0.002688f, -0.006462f, -0.020783f, 0.001157f, -0.003996f, 0.002690f, 0.007101f, 0.021460f, 0.001470f, 0.010009f, 0.010370f, 0.001551f, 0.010998f, 0.000289f, -0.006192f, 0.001243f, -0.015839f, -0.006636f, 0.008931f, 0.012326f, 0.004136f, 0.002185f, -0.019414f, -0.002007f, 0.001033f, -0.009595f, -0.006233f, 0.002823f, 0.006688f, -0.018241f, -0.019693f, -0.009267f, 0.007178f, 0.005696f, 0.010626f, 0.002317f, -0.006001f, 0.004355f, -0.020346f, -0.018618f, 0.076054f, 0.050246f, 0.069783f, 0.004561f, -0.013791f, - -0.047348f, -0.013943f, 0.007964f, 0.011032f, -0.011260f, -0.036586f, -0.013200f, 0.060294f, 0.024954f, -0.008303f, 0.018493f, -0.001329f, -0.022104f, -0.006437f, -0.014411f, 0.041117f, -0.003121f, 0.002440f, 0.017771f, 0.001194f, 0.020162f, -0.000182f, 0.028525f, -0.026187f, 0.032862f, 0.006673f, -0.015248f, -0.009224f, -0.016894f, 0.029658f, -0.041020f, -0.044315f, 0.028081f, 0.046395f, 0.002216f, 0.032033f, 0.044064f, -0.049549f, 0.016540f, 0.010150f, -0.002681f, -0.000432f, 0.007402f, -0.018588f, 0.034607f, -0.020959f, -0.016631f, 0.013981f, 0.001803f, -0.003732f, -0.007997f, -0.010319f, 0.005029f, -0.032728f, -0.009763f, 0.026383f, -0.032257f, -0.007429f, -0.021774f, 0.000830f, 0.065410f, -0.020524f, 0.004247f, 0.017500f, 0.000368f, -0.015041f, -0.040785f, 0.039902f, 0.018657f, -0.082230f, 0.020426f, 0.020705f, 0.015350f, -0.018434f, -0.008543f, 0.042016f, 0.001933f, 0.003102f, 0.010819f, -0.029214f, 0.001166f, 0.018599f, -0.007548f, 0.010750f, -0.002289f, -0.009492f, -0.024314f, 0.003718f, -0.003156f, 0.022585f, -0.002057f, -0.000957f, -0.016177f, 0.017893f, -0.005973f, -0.006216f, - -0.025664f, -0.012922f, 0.009086f, -0.016552f, 0.001416f, -0.008158f, 0.010332f, -0.009692f, -0.020636f, 0.010449f, -0.022233f, -0.006110f, -0.010079f, 0.001040f, 0.001405f, -0.008367f, 0.022257f, -0.002751f, 0.029995f, 0.018264f, -0.002962f, 0.003141f, 0.019211f, -0.013289f, 0.003484f, 0.002271f, 0.018442f, -0.016656f, -0.009817f, 0.000846f, -0.033964f, -0.081399f, 0.072416f, 0.043166f, 0.022960f, 0.016146f, 0.035775f, -0.082143f, 0.033728f, 0.037932f, 0.016247f, -0.052587f, 0.029263f, 0.053161f, 0.024643f, 0.058619f, 0.021386f, 0.001002f, -0.002323f, -0.001839f, -0.009981f, 0.024838f, 0.041653f, 0.039667f, 0.013871f, -0.012190f, -0.020685f, 0.004945f, -0.018832f, -0.022055f, 0.023205f, 0.015952f, 0.004422f, -0.022104f, -0.021501f, -0.004728f, -0.018692f, 0.009534f, 0.047872f, -0.008514f, -0.015473f, 0.016153f, 0.008679f, 0.014179f, 0.016721f, -0.003666f, -0.009657f, 0.038456f, 0.025450f, 0.012570f, 0.016976f, -0.003104f, -0.038217f, 0.008862f, 0.025449f, 0.003294f, -0.028444f, 0.038062f, 0.009930f, 0.052947f, 0.001969f, 0.047597f, 0.005093f, -0.015606f, -0.005065f, 0.011414f, - 0.067765f, -0.008564f, 0.024360f, 0.016695f, 0.032020f, 0.016770f, 0.000151f, -0.002060f, 0.020891f, 0.096412f, 0.004514f, 0.038679f, -0.032684f, -0.024415f, 0.012252f, 0.015158f, 0.018797f, 0.007727f, 0.003089f, -0.047387f, -0.018741f, -0.049688f, 0.002716f, -0.008536f, -0.016407f, -0.013897f, -0.005519f, -0.020965f, 0.002639f, -0.002178f, -0.022035f, 0.015757f, -0.025664f, -0.012473f, -0.023171f, -0.015851f, -0.001518f, 0.002547f, -0.018533f, -0.021519f, 0.005181f, 0.013673f, 0.015980f, -0.003255f, -0.006107f, -0.027684f, -0.036178f, 0.003614f, 0.004436f, -0.016498f, 0.032941f, 0.031865f, 0.047168f, 0.016538f, -0.010365f, 0.006441f, 0.014580f, 0.017848f, 0.021442f, 0.003160f, -0.022333f, 0.005635f, 0.028665f, 0.014672f, 0.001496f, 0.011463f, -0.053035f, 0.058165f, -0.000864f, 0.051481f, 0.001295f, 0.003504f, -0.046703f, -0.014357f, -0.020995f, 0.035714f, 0.009120f, 0.015833f, 0.009477f, -0.035880f, 0.003596f, 0.002882f, -0.031466f, -0.045109f, -0.046045f, 0.015615f, -0.017083f, 0.041992f, 0.002473f, -0.013323f, -0.010840f, 0.009053f, -0.016195f, 0.002704f, 0.012378f, -0.017677f, - 0.009994f, 0.014142f, 0.004900f, 0.004029f, 0.031840f, 0.053382f, -0.010380f, -0.000452f, 0.026917f, 0.021937f, 0.032227f, -0.023883f, -0.009254f, 0.009637f, -0.031859f, 0.003065f, 0.002880f, -0.042499f, 0.054813f, -0.002752f, 0.027724f, 0.023756f, 0.016839f, -0.032371f, 0.003188f, 0.027496f, -0.022312f, 0.049002f, 0.013633f, -0.018065f, 0.040759f, 0.030495f, 0.021521f, -0.068494f, -0.013759f, 0.013470f, -0.023168f, 0.003527f, -0.037944f, -0.009709f, -0.057592f, -0.016707f, -0.008636f, -0.016145f, -0.063828f, -0.006625f, -0.017268f, 0.096024f, -0.013631f, 0.019382f, -0.009652f, 0.015171f, -0.007836f, -0.015943f, 0.010652f, -0.013416f, -0.001771f, -0.007339f, 0.026124f, 0.009025f, 0.011648f, -0.041830f, -0.036881f, -0.028050f, -0.011261f, 0.007072f, -0.051940f, -0.008707f, -0.003885f, 0.003612f, 0.019459f, 0.014169f, -0.001222f, 0.019955f, -0.017939f, 0.000091f, 0.001466f, -0.030427f, -0.041183f, 0.007856f, -0.011770f, -0.038912f, -0.010176f, -0.018525f, 0.003043f, -0.041601f, -0.004279f, -0.018386f, 0.024776f, 0.000005f, -0.017146f, -0.006823f, 0.008046f, 0.009204f, -0.003466f, 0.018172f, - -0.018333f, -0.012145f, 0.024614f, 0.022533f, 0.040811f, -0.013944f, -0.002999f, -0.005787f, 0.010933f, 0.029041f, 0.025400f, 0.018685f, -0.015139f, 0.011337f, 0.031944f, 0.030790f, 0.013064f, -0.039193f, -0.045299f, 0.018833f, -0.006978f, 0.013371f, -0.009034f, 0.036802f, -0.028982f, -0.006714f, -0.010550f, 0.031981f, -0.025550f, 0.056744f, 0.070033f, 0.071378f, 0.003624f, -0.014309f, 0.010913f, -0.010297f, 0.016868f, -0.003990f, -0.001214f, -0.022091f, -0.058824f, -0.020239f, -0.056366f, 0.030935f, 0.029181f, -0.035162f, -0.026424f, -0.035252f, -0.016835f, -0.005889f, 0.074967f, -0.000046f, -0.039429f, -0.042464f, -0.003283f, 0.052024f, 0.024539f, -0.107126f, -0.022431f, -0.019727f, 0.013203f, 0.038949f, -0.046871f, -0.015570f, -0.028215f, 0.011095f, -0.063675f, 0.030326f, -0.011242f, -0.002396f, 0.016722f, 0.001618f, -0.031555f, 0.061134f, -0.006958f, 0.028572f, 0.065771f, 0.135328f, 0.081024f, -0.002979f, 0.045205f, 0.068530f, 0.088695f, 0.095919f, 0.027020f, 0.058369f, 0.016279f, -0.000230f, 0.035747f, -0.029680f, 0.059099f, 0.024629f, -0.026681f, -0.090152f, -0.065538f, 0.007449f, - -0.026025f, -0.019298f, -0.017119f, -0.010898f, -0.011601f, -0.037743f, -0.024682f, 0.000343f, -0.006313f, -0.003041f, -0.012182f, -0.004286f, -0.019748f, 0.022728f, -0.040237f, -0.017255f, 0.010893f, 0.006264f, 0.002993f, -0.011277f, -0.012968f, -0.008047f, 0.007429f, -0.007368f, 0.019881f, -0.025058f, -0.030669f, -0.031236f, -0.019144f, 0.021924f, 0.025246f, -0.010723f, -0.005016f, 0.008321f, -0.005437f, 0.041682f, 0.008768f, 0.002687f, 0.033754f, 0.020387f, 0.019106f, 0.047460f, 0.031434f, 0.035432f, 0.010924f, 0.016502f, 0.039622f, 0.014360f, 0.030672f, -0.029720f, 0.016102f, -0.014001f, -0.030893f, 0.034621f, -0.044637f, 0.073519f, -0.009169f, -0.014074f, 0.000944f, 0.058430f, -0.039778f, -0.007468f, -0.002124f, 0.000272f, 0.020989f, -0.015791f, 0.030454f, 0.010162f, -0.006183f, 0.006605f, 0.003169f, 0.023663f, -0.074523f, -0.023964f, -0.002625f, 0.007259f, -0.007684f, -0.054645f, 0.044010f, -0.003073f, 0.005731f, 0.015434f, -0.035589f, -0.016714f, -0.082138f, 0.021021f, -0.019488f, 0.015010f, 0.059431f, -0.017077f, 0.012222f, -0.008402f, 0.028186f, -0.049572f, -0.065657f, 0.056529f, - -0.005669f, 0.004180f, 0.009413f, 0.056839f, 0.041692f, 0.049219f, -0.001138f, -0.067693f, 0.039433f, 0.017850f, -0.016075f, -0.024478f, 0.037697f, -0.007765f, 0.047740f, 0.078556f, 0.061473f, 0.009669f, 0.005149f, 0.057710f, -0.011780f, 0.017119f, 0.047976f, -0.033696f, 0.055516f, 0.033215f, 0.019672f, -0.040297f, -0.019644f, -0.053482f, -0.001703f, 0.017106f, 0.078093f, 0.032020f, -0.072807f, -0.007666f, 0.046863f, -0.007866f, 0.022760f, 0.030496f, -0.051636f, -0.013746f, 0.025078f, 0.005045f, 0.013995f, -0.023547f, 0.016666f, 0.027308f, 0.003644f, -0.000660f, 0.041493f, 0.006833f, -0.008965f, -0.011889f, 0.013783f, -0.004793f, 0.022326f, 0.002374f, 0.016916f, 0.018038f, -0.002869f, -0.021099f, 0.040934f, -0.007078f, -0.012469f, -0.003859f, -0.027665f, -0.029155f, -0.018224f, -0.020597f, 0.013405f, 0.022918f, -0.024190f, -0.022151f, 0.005005f, 0.035039f, -0.052338f, -0.014093f, 0.020472f, -0.007605f, 0.000343f, -0.008550f, -0.005444f, -0.039164f, -0.000273f, -0.011502f, 0.010736f, 0.001446f, 0.006586f, -0.001052f, 0.003603f, -0.009411f, 0.016384f, 0.007721f, -0.004323f, -0.009224f, - 0.006949f, 0.000812f, -0.002926f, -0.102741f, 0.023543f, -0.017005f, -0.004027f, 0.080231f, 0.034495f, -0.025157f, -0.019473f, -0.000305f, -0.051889f, -0.063582f, 0.005387f, 0.000550f, -0.035764f, 0.037960f, 0.004615f, -0.036702f, 0.023208f, 0.069006f, -0.009231f, -0.039771f, 0.024988f, -0.023426f, -0.025502f, 0.012868f, 0.056072f, -0.018264f, 0.008229f, 0.015354f, -0.017266f, -0.041748f, -0.027358f, 0.055331f, 0.019499f, -0.054595f, 0.046707f, 0.018285f, -0.037374f, -0.019576f, 0.076903f, -0.025036f, -0.058974f, -0.030349f, 0.102207f, -0.100910f, -0.046729f, 0.059820f, -0.027065f, -0.032480f, -0.096098f, 0.074945f, -0.061523f, 0.021992f, 0.003222f, -0.011591f, -0.108523f, -0.032135f, 0.092936f, 0.058535f, -0.073412f, -0.020166f, -0.031776f, -0.015105f, 0.015086f, 0.020120f, 0.024218f, -0.128300f, 0.070175f, 0.053719f, 0.056477f, 0.000810f, 0.029581f, -0.062818f, -0.055751f, 0.109683f, 0.045069f, 0.012085f, 0.044232f, -0.059155f, 0.011932f, -0.026219f, 0.028275f, -0.016039f, 0.077056f, -0.031484f, -0.026730f, 0.010594f, 0.009344f, -0.029227f, 0.017589f, 0.008371f, 0.006609f, -0.005594f, - 0.003955f, 0.006094f, 0.006325f, -0.007323f, -0.004112f, 0.016019f, 0.000986f, -0.008672f, 0.033759f, 0.009811f, -0.029901f, 0.003174f, 0.028968f, 0.007405f, -0.028437f, 0.038092f, 0.068705f, -0.033887f, -0.039294f, -0.010827f, -0.008814f, 0.023132f, 0.050354f, 0.015072f, -0.046480f, -0.015677f, -0.006707f, 0.006754f, 0.014218f, -0.008022f, 0.020637f, -0.015057f, -0.001716f, 0.011827f, -0.019864f, -0.084890f, 0.014546f, 0.105676f, 0.032932f, 0.011211f, 0.002749f, 0.007800f, 0.045235f, 0.061977f, -0.014360f, 0.011451f, 0.015920f, -0.010857f, 0.037327f, -0.019921f, -0.005457f, -0.015118f, 0.028642f, 0.021213f, -0.011913f, 0.019488f, -0.028381f, -0.023178f, 0.028601f, -0.018662f, 0.031445f, -0.021243f, -0.009507f, -0.000799f, 0.017120f, -0.001264f, 0.012700f, 0.005019f, 0.032029f, -0.023214f, -0.004758f, 0.000376f, -0.012957f, 0.030882f, 0.026804f, -0.022464f, -0.008056f, -0.013881f, 0.006992f, -0.028927f, 0.015350f, 0.008667f, 0.014079f, -0.011679f, -0.008863f, 0.035175f, -0.042657f, -0.007553f, 0.017789f, -0.011735f, -0.007878f, 0.018302f, -0.052388f, 0.012410f, -0.019055f, 0.002921f, - -0.018661f, 0.044973f, -0.014851f, -0.019718f, 0.018407f, -0.010465f, -0.029755f, 0.057252f, -0.001729f, 0.005683f, -0.012981f, -0.022329f, -0.026214f, 0.028786f, -0.032702f, -0.015901f, 0.033003f, -0.045432f, -0.019839f, 0.005639f, -0.004377f, 0.005358f, -0.000844f, 0.006263f, 0.020012f, -0.007430f, 0.007766f, -0.009413f, 0.021010f, 0.011396f, -0.001024f, 0.001610f, 0.012754f, -0.011493f, 0.009238f, 0.001348f, 0.010175f, -0.004829f, 0.015883f, -0.008327f, 0.004189f, -0.014095f, -0.012133f, -0.019190f, 0.003440f, 0.000953f, 0.006259f, -0.009482f, 0.021176f, -0.007184f, -0.003759f, 0.018098f, 0.015996f, 0.008477f, -0.007580f, -0.012397f, 0.010892f, 0.014415f, 0.009036f, 0.006150f, -0.000283f, 0.013025f, 0.014187f, 0.006181f, 0.012041f, 0.001471f, -0.009484f, -0.000560f, 0.027806f, -0.078766f, -0.222881f, -0.183096f, 0.097003f, 0.027909f, 0.221817f, 0.396187f, 0.058970f, 0.124989f, 0.045574f, -0.315787f, -0.099749f, -0.214194f, -0.258827f, 0.007385f, 0.041511f, -0.107928f, 0.156700f, 0.204987f, 0.115160f, 0.326866f, 0.188615f, -0.041956f, -0.077401f, -0.151555f, -0.294972f, -0.232998f, - -0.068531f, -0.207767f, -0.028793f, 0.179395f, 0.030120f, 0.041805f, 0.271284f, 0.138361f, 0.085733f, 0.282713f, 0.043734f, -0.077985f, 0.110693f, -0.147995f, -0.293031f, -0.122669f, -0.247196f, -0.309583f, -0.004330f, -0.064631f, -0.081297f, 0.206225f, 0.227448f, 0.144625f, 0.343071f, 0.276658f, 0.130714f, 0.118034f, 0.068547f, -0.229108f, -0.210548f, -0.266904f, -0.352188f, -0.282568f, -0.119014f, -0.081923f, 0.007449f, 0.202574f, 0.246576f, 0.257858f, 0.247433f, 0.229054f, 0.049088f, 0.004218f, -0.038686f, -0.174673f, -0.191117f, -0.110626f, -0.200408f, -0.084475f, 0.017728f, -0.043834f, 0.100905f, 0.181115f, 0.055623f, 0.076477f, 0.034271f, -0.049534f, -0.030634f, -0.075793f, -0.098298f, -0.011922f, 0.027937f, 0.000685f, 0.081492f, 0.074912f, 0.008745f, 0.072103f, 0.000250f, -0.091495f, 0.080882f, 0.024171f, -0.081046f, 0.057000f, -0.059974f, -0.122271f, 0.056013f, -0.087067f, -0.215049f, 0.003226f, -0.094546f, -0.062868f, 0.213583f, 0.096355f, 0.101666f, 0.305073f, 0.202613f, 0.112099f, 0.133470f, -0.033472f, -0.192769f, -0.245569f, -0.332876f, -0.368773f, -0.233630f, -0.149725f, - -0.025589f, 0.139843f, 0.312398f, 0.344267f, 0.319715f, 0.332304f, 0.178061f, 0.007648f, -0.084785f, -0.219722f, -0.280258f, -0.182138f, -0.202495f, -0.162070f, -0.032505f, 0.005109f, 0.021393f, 0.078365f, 0.067351f, 0.057841f, 0.104741f, 0.103386f, 0.088057f, 0.102795f, 0.071908f, 0.022892f, -0.008239f, -0.046474f, -0.102257f, -0.113680f, -0.095060f, -0.101783f, -0.074604f, -0.040918f, -0.005836f, 0.030108f, 0.076044f, 0.082254f, 0.076179f, 0.069149f, 0.048776f, 0.017886f, 0.001523f, -0.006888f, -0.029151f, -0.030213f, -0.018243f, -0.022897f, -0.026586f, -0.018826f, -0.029239f, -0.026496f, 0.000461f, 0.002563f, 0.000206f, 0.009942f, 0.004742f, 0.005512f, 0.022852f, 0.023169f, 0.025318f, 0.029101f, 0.015654f, 0.004398f, 0.000986f, -0.008758f, -0.018285f, -0.023681f, -0.026647f, -0.027485f, -0.019415f, -0.008994f, -0.000583f, 0.007448f, 0.015774f, 0.016516f, 0.017612f, 0.017277f, 0.009381f, 0.000331f, -0.001767f, -0.007226f, -0.008463f, -0.006208f, -0.001942f, 0.001610f, 0.004828f, 0.005114f, 0.003933f, 0.000857f, -0.004074f, -0.007610f, -0.008363f, -0.009062f, -0.008766f, -0.006687f, - -0.002614f, 0.003339f, 0.007396f, 0.008558f, 0.010246f, 0.010955f, 0.008545f, 0.005875f, 0.002737f, -0.001285f, -0.003912f, -0.005533f, -0.006673f, -0.006140f, -0.004502f, -0.003017f, -0.001164f, 0.000721f, 0.001849f, 0.002426f}, - {-0.019615f, -0.023891f, 0.012167f, -0.004311f, 0.010651f, -0.005174f, -0.005291f, -0.010646f, 0.002607f, 0.002350f, -0.000400f, 0.000250f, -0.001122f, -0.008126f, -0.000873f, -0.004615f, -0.005314f, -0.005037f, -0.000116f, 0.000691f, -0.000329f, -0.000849f, 0.004148f, -0.001056f, -0.012328f, 0.007794f, 0.003918f, -0.004155f, 0.001320f, -0.000048f, 0.000213f, 0.001815f, 0.008058f, -0.004374f, 0.000552f, -0.013992f, 0.007089f, 0.001454f, 0.003245f, 0.004931f, 0.007978f, -0.004347f, -0.003278f, -0.001529f, -0.006992f, 0.000635f, -0.000984f, 0.006180f, -0.003207f, -0.000352f, -0.003342f, -0.003855f, 0.007525f, -0.005545f, -0.002632f, 0.000764f, -0.005011f, 0.004317f, -0.000108f, -0.002328f, 0.004686f, 0.008509f, 0.000612f, -0.000265f, -0.001103f, 0.007282f, -0.007093f, 0.000125f, -0.001038f, 0.003839f, -0.001683f, -0.003228f, 0.007938f, -0.000080f, 0.001742f, -0.002123f, 0.001715f, 0.004281f, -0.003300f, -0.004678f, 0.000326f, 0.004181f, 0.007012f, -0.003063f, -0.002026f, 0.001760f, 0.000462f, 0.001113f, -0.003090f, -0.000971f, 0.001983f, -0.000375f, 0.001420f, -0.002460f, -0.000693f, -0.001499f, - -0.002078f, -0.001519f, -0.001368f, 0.001151f, 0.000285f, -0.001050f, 0.001196f, 0.000808f, -0.000903f, -0.000262f, -0.000154f, -0.001316f, -0.002355f, -0.000643f, 0.000093f, 0.000549f, 0.001419f, -0.000140f, 0.000951f, 0.000539f, -0.001060f, 0.001017f, -0.028553f, 0.004886f, 0.003403f, 0.010046f, -0.003902f, 0.003065f, 0.011671f, -0.004481f, 0.003207f, -0.007036f, -0.010348f, 0.003826f, -0.007038f, -0.008025f, -0.008064f, 0.002467f, 0.003103f, -0.013758f, 0.008126f, 0.005409f, -0.002329f, -0.005015f, 0.003243f, -0.001219f, -0.003125f, 0.001035f, 0.004587f, 0.003419f, 0.007316f, 0.001448f, -0.002210f, 0.007556f, -0.003769f, 0.016436f, 0.003704f, 0.010143f, 0.003905f, 0.008905f, 0.003957f, 0.006152f, 0.003316f, 0.000775f, 0.000349f, 0.012453f, 0.002113f, -0.001944f, 0.000829f, 0.006600f, 0.004859f, 0.000763f, -0.000549f, -0.002500f, 0.001388f, 0.015188f, 0.004346f, 0.007049f, -0.007310f, -0.003710f, -0.007710f, -0.004822f, -0.007485f, 0.005680f, 0.003554f, -0.004728f, -0.003407f, 0.003429f, -0.003567f, 0.003821f, -0.001679f, -0.001075f, -0.005179f, -0.008672f, 0.003759f, -0.014122f, - -0.002005f, -0.002967f, -0.003591f, 0.000833f, -0.003313f, 0.000728f, 0.005340f, 0.002651f, -0.003642f, 0.000726f, -0.002890f, -0.006111f, -0.001004f, 0.003030f, -0.000308f, -0.004701f, 0.001730f, 0.000944f, 0.001806f, 0.003337f, 0.000122f, 0.000530f, -0.002250f, -0.001286f, -0.000337f, 0.000036f, 0.001169f, -0.002506f, -0.002214f, 0.000241f, 0.015928f, 0.022006f, -0.006950f, 0.005801f, -0.011170f, -0.000742f, 0.000499f, 0.028162f, -0.003055f, -0.007639f, -0.012364f, 0.000130f, 0.007968f, 0.012871f, -0.003095f, -0.017249f, -0.005076f, -0.006672f, -0.004827f, 0.005657f, -0.001412f, 0.010724f, 0.001055f, -0.006305f, -0.013985f, 0.003996f, -0.001454f, 0.003061f, -0.001826f, 0.001410f, 0.006618f, 0.002334f, -0.017555f, 0.001943f, 0.011034f, 0.005354f, 0.001218f, 0.002528f, -0.002954f, 0.007604f, -0.010445f, -0.001155f, 0.008327f, -0.006005f, -0.000158f, 0.013635f, -0.006528f, -0.000803f, -0.004832f, 0.008330f, -0.009080f, -0.006772f, 0.003968f, -0.009403f, -0.004721f, 0.011885f, 0.006917f, -0.010910f, -0.004128f, -0.001769f, -0.002831f, -0.005057f, 0.003704f, -0.004363f, 0.004272f, -0.000286f, - 0.000499f, 0.001787f, 0.008925f, -0.001188f, 0.012365f, 0.006320f, -0.009780f, -0.004587f, -0.004856f, 0.007369f, 0.002081f, -0.000662f, -0.004026f, 0.009920f, 0.003720f, -0.000343f, -0.000379f, -0.002674f, -0.002474f, 0.002835f, 0.000999f, 0.003161f, 0.007699f, 0.002700f, -0.000586f, 0.000359f, 0.000473f, 0.002394f, -0.000684f, 0.000815f, 0.003596f, 0.000661f, 0.004489f, -0.000001f, 0.001485f, 0.002224f, 0.002689f, 0.000867f, 0.001644f, 0.001912f, 0.001541f, 0.002517f, -0.000980f, 0.000667f, 0.001671f, 0.002580f, -0.000397f, -0.002239f, -0.002612f, 0.000446f, 0.052911f, -0.019509f, 0.010762f, -0.014894f, -0.001516f, 0.000553f, -0.001050f, -0.007885f, 0.004370f, 0.006109f, 0.001520f, -0.005731f, -0.012209f, -0.000438f, 0.007529f, 0.005338f, -0.005342f, -0.009206f, -0.000697f, 0.008276f, 0.015132f, -0.008124f, -0.001046f, -0.006131f, -0.013154f, 0.001489f, -0.006592f, 0.004018f, -0.004866f, 0.010280f, -0.017977f, 0.012181f, -0.000746f, -0.010728f, 0.002669f, 0.004524f, -0.001216f, -0.005681f, 0.000408f, 0.014105f, -0.000475f, 0.002323f, -0.001936f, 0.005398f, 0.002547f, -0.003332f, - -0.005237f, -0.011598f, 0.007579f, -0.002432f, -0.003351f, 0.004453f, 0.000141f, -0.019497f, 0.015040f, -0.020986f, -0.012043f, -0.014867f, 0.003267f, -0.001754f, 0.008971f, -0.004879f, 0.004803f, -0.008959f, 0.004369f, -0.002356f, -0.003590f, -0.009885f, 0.006112f, 0.006928f, 0.011946f, -0.002908f, -0.001067f, 0.003198f, -0.003539f, -0.002154f, 0.002358f, 0.006843f, -0.009016f, 0.004469f, 0.006601f, 0.007229f, -0.011442f, -0.009439f, 0.004021f, -0.005913f, 0.003079f, -0.000130f, -0.000614f, 0.000980f, 0.001526f, -0.000524f, 0.002797f, -0.003390f, 0.001711f, -0.001079f, 0.006814f, 0.000362f, 0.001731f, 0.001476f, 0.000513f, -0.002694f, -0.000147f, 0.000616f, -0.000727f, -0.041714f, 0.004256f, 0.000444f, -0.003540f, -0.006432f, 0.007302f, -0.005656f, 0.004860f, -0.001495f, -0.000069f, 0.006748f, 0.008784f, -0.005396f, 0.006471f, -0.001881f, -0.003562f, -0.011697f, -0.000569f, -0.015806f, -0.011604f, 0.013925f, 0.004972f, -0.005382f, -0.001964f, -0.001624f, 0.009666f, 0.005107f, -0.004961f, 0.008817f, 0.005867f, 0.003465f, 0.003055f, 0.003761f, 0.006716f, 0.005787f, 0.005707f, 0.015576f, - 0.014014f, 0.006066f, 0.001562f, -0.009654f, 0.010778f, -0.014351f, 0.002852f, -0.003983f, 0.011675f, -0.008770f, -0.011425f, 0.019682f, -0.004566f, -0.010508f, -0.009380f, 0.014657f, 0.008997f, 0.000565f, 0.007537f, 0.010649f, 0.004887f, 0.017205f, -0.001010f, -0.002681f, 0.009761f, 0.005990f, 0.000587f, 0.000418f, -0.008922f, 0.005392f, 0.005588f, 0.013899f, 0.005658f, 0.008668f, -0.005314f, -0.007090f, -0.015122f, -0.003443f, -0.008173f, -0.006475f, -0.006880f, 0.007683f, -0.000257f, 0.000626f, -0.004419f, -0.005091f, -0.001410f, -0.004474f, 0.001414f, -0.003002f, -0.005003f, 0.002096f, -0.000479f, 0.000226f, -0.004681f, -0.000646f, 0.000210f, -0.005874f, -0.000795f, -0.001369f, 0.000411f, -0.002617f, -0.003055f, -0.001864f, -0.001122f, 0.000147f, -0.000969f, 0.000978f, -0.001365f, 0.001695f, 0.000417f, 0.001504f, 0.003265f, -0.000702f, 0.003448f, 0.000747f, 0.002273f, -0.001526f, 0.000724f, -0.002916f, -0.001079f, -0.000452f, -0.003543f, -0.001056f, -0.001728f, -0.055382f, 0.015137f, -0.011652f, -0.017333f, -0.017136f, 0.010985f, -0.012663f, 0.009729f, -0.015963f, 0.009127f, 0.007827f, - 0.004895f, -0.016816f, 0.011885f, 0.000010f, 0.007280f, -0.013895f, 0.008076f, 0.016912f, 0.012977f, 0.000679f, -0.005765f, 0.002565f, -0.003392f, -0.017782f, -0.003432f, -0.008433f, 0.004333f, -0.011104f, 0.009937f, 0.009753f, -0.003554f, -0.000202f, 0.013592f, -0.002717f, 0.009290f, -0.007087f, -0.011449f, 0.006294f, 0.000010f, 0.006505f, 0.016670f, 0.010233f, -0.000402f, -0.028477f, -0.013545f, -0.003768f, 0.004195f, -0.004198f, 0.016015f, -0.024712f, 0.008103f, 0.003600f, -0.000040f, 0.008032f, -0.003018f, 0.012324f, -0.025922f, -0.011982f, 0.010337f, -0.026049f, -0.004658f, 0.012473f, 0.004601f, -0.005587f, -0.017308f, 0.006721f, 0.011516f, 0.008511f, -0.002918f, -0.018166f, -0.001375f, 0.000354f, -0.001876f, -0.000767f, -0.008791f, 0.004294f, -0.014189f, 0.009069f, 0.001455f, -0.008328f, 0.001898f, -0.010061f, 0.000989f, -0.012076f, -0.003233f, 0.004523f, 0.004739f, 0.000615f, -0.000976f, -0.004022f, -0.002989f, 0.001073f, -0.007017f, 0.006030f, 0.000652f, -0.003281f, 0.000228f, -0.006021f, -0.004713f, 0.001604f, -0.002361f, 0.003594f, -0.003080f, -0.001619f, -0.001949f, -0.002151f, - -0.004016f, -0.000499f, -0.002152f, -0.000724f, 0.001381f, -0.000771f, -0.001701f, 0.001763f, -0.000566f, -0.001416f, -0.001467f, -0.003526f, -0.002422f, 0.000711f, 0.002175f, -0.000355f, -0.026151f, 0.002817f, 0.004350f, 0.020478f, -0.019354f, 0.022363f, 0.006328f, -0.001804f, -0.005268f, -0.002411f, 0.002059f, -0.016351f, -0.003149f, 0.005244f, -0.005392f, -0.009594f, -0.002614f, 0.015474f, -0.016002f, -0.003471f, 0.015985f, 0.000079f, -0.006372f, 0.005654f, -0.007813f, 0.011790f, 0.005151f, -0.000141f, 0.005863f, -0.006828f, -0.010796f, -0.000759f, 0.000791f, 0.008826f, -0.018911f, -0.010168f, -0.008366f, -0.005820f, -0.005629f, -0.005709f, 0.002796f, 0.000939f, 0.001533f, -0.014074f, -0.014506f, -0.011473f, 0.000379f, -0.018083f, -0.010036f, 0.010853f, -0.007371f, 0.002409f, 0.001113f, -0.000327f, 0.004481f, 0.006444f, 0.006082f, 0.007293f, 0.010634f, -0.001874f, 0.011507f, -0.000726f, 0.005796f, -0.000952f, -0.007465f, -0.000426f, -0.012012f, 0.007407f, -0.014052f, 0.013088f, -0.015676f, -0.000225f, -0.016169f, 0.001543f, -0.016248f, -0.015563f, 0.007318f, 0.021462f, 0.006418f, -0.013818f, - 0.009810f, 0.000014f, -0.006172f, -0.003636f, -0.006466f, 0.008546f, 0.007292f, 0.010507f, 0.001828f, 0.008196f, -0.006973f, -0.000727f, 0.007952f, 0.000960f, 0.002411f, 0.001598f, -0.003965f, 0.004822f, -0.000503f, 0.001807f, 0.007036f, 0.002101f, -0.001840f, -0.004228f, -0.002024f, 0.002949f, 0.002829f, 0.002335f, 0.000748f, -0.003291f, 0.000181f, -0.000687f, -0.007520f, 0.007247f, 0.000758f, 0.002661f, 0.000261f, -0.001752f, -0.003604f, 0.002560f, -0.003674f, -0.001704f, 0.072327f, 0.000499f, -0.021341f, 0.002933f, -0.011761f, 0.028616f, -0.005126f, 0.007789f, 0.001737f, 0.001039f, -0.025858f, -0.013419f, 0.013738f, 0.012052f, -0.020461f, -0.003887f, -0.001002f, 0.017504f, 0.008390f, 0.006440f, 0.017119f, 0.002399f, 0.000751f, 0.014849f, -0.005717f, -0.023509f, 0.003023f, 0.017353f, 0.010078f, -0.007057f, -0.000053f, 0.011996f, 0.007121f, 0.003026f, -0.001070f, -0.013341f, 0.005910f, -0.014479f, 0.000992f, -0.026951f, 0.006559f, 0.007847f, -0.002572f, -0.012588f, 0.016470f, 0.008538f, -0.003923f, 0.012793f, 0.005633f, -0.011417f, 0.019852f, 0.001846f, -0.007617f, 0.004369f, - 0.020363f, 0.002900f, -0.000968f, -0.017685f, -0.010553f, 0.002098f, 0.006614f, 0.023365f, -0.008251f, -0.009725f, 0.001616f, 0.012605f, -0.008798f, -0.010604f, -0.001368f, 0.016897f, 0.011887f, -0.004620f, -0.013671f, -0.001018f, 0.014596f, -0.006312f, 0.030795f, 0.006487f, 0.004217f, -0.016314f, 0.013120f, 0.000503f, -0.003912f, -0.008444f, 0.000342f, -0.004855f, 0.000376f, 0.019012f, 0.008349f, 0.006730f, 0.003226f, 0.001929f, -0.000146f, -0.001560f, 0.001321f, 0.003586f, 0.006501f, 0.000779f, 0.000782f, 0.002266f, -0.005769f, -0.000181f, 0.001815f, -0.001486f, 0.005587f, -0.004595f, -0.000607f, -0.002399f, 0.001900f, 0.009975f, 0.003020f, -0.003495f, -0.001260f, 0.002160f, 0.000374f, 0.003143f, -0.001164f, -0.004709f, 0.003590f, 0.003389f, -0.003974f, -0.001218f, 0.008542f, 0.002816f, 0.004139f, 0.016500f, 0.008810f, -0.025746f, -0.002590f, -0.012969f, 0.026060f, -0.009648f, 0.012186f, 0.002419f, 0.016341f, 0.006521f, 0.002481f, -0.001230f, 0.006674f, -0.007320f, -0.010974f, -0.030461f, -0.022566f, 0.007593f, 0.020185f, 0.027133f, -0.009891f, -0.013079f, -0.011565f, 0.006150f, - -0.006321f, -0.001254f, -0.001052f, 0.003766f, 0.004152f, 0.018169f, -0.009576f, 0.001828f, 0.004476f, 0.008947f, -0.008695f, -0.006337f, -0.014370f, -0.009614f, -0.010015f, -0.016991f, -0.043469f, -0.000357f, -0.005811f, -0.018537f, 0.004207f, -0.001953f, -0.023578f, 0.008083f, -0.019996f, 0.005293f, -0.002428f, -0.001472f, 0.010146f, 0.013317f, -0.000383f, -0.019330f, 0.005735f, -0.012064f, -0.013523f, 0.018962f, 0.016944f, 0.019103f, -0.006190f, 0.003258f, 0.002489f, -0.009453f, 0.001472f, -0.004435f, 0.029595f, -0.004687f, -0.003083f, -0.002725f, -0.000249f, -0.017872f, -0.022436f, 0.005545f, -0.001681f, -0.001441f, 0.005013f, 0.032462f, -0.004033f, -0.014871f, -0.006426f, 0.017158f, -0.002525f, -0.005250f, -0.004932f, -0.000101f, -0.013796f, 0.003571f, -0.002707f, 0.002821f, -0.007009f, 0.000563f, -0.008802f, -0.000477f, -0.000635f, 0.003797f, -0.003746f, -0.001525f, -0.005421f, 0.007479f, 0.000366f, -0.005013f, 0.001083f, 0.002665f, -0.005758f, 0.001729f, 0.002128f, 0.009098f, -0.001939f, 0.002326f, 0.006130f, 0.004146f, -0.003339f, 0.004031f, -0.006824f, -0.010653f, 0.001211f, 0.001342f, - -0.004265f, -0.009904f, -0.002222f, -0.002215f, 0.008911f, 0.003657f, 0.005931f, -0.000737f, 0.007432f, 0.008454f, -0.028427f, 0.010528f, 0.003493f, 0.030065f, -0.020196f, -0.011434f, -0.006692f, 0.016061f, -0.015292f, -0.014700f, 0.013317f, 0.008964f, -0.015467f, -0.015610f, -0.015273f, -0.034221f, 0.022503f, 0.021116f, 0.022405f, -0.009620f, 0.007106f, 0.022220f, -0.032148f, 0.000060f, 0.021158f, 0.019601f, 0.008922f, -0.000035f, -0.010266f, 0.002168f, -0.004924f, -0.027827f, 0.003570f, 0.007643f, 0.004129f, 0.018480f, -0.016233f, 0.001767f, -0.030375f, -0.003848f, 0.006058f, -0.016701f, 0.006510f, 0.005145f, 0.013655f, 0.016643f, 0.023189f, -0.004724f, -0.009035f, -0.027925f, -0.019887f, 0.008625f, 0.041091f, -0.012728f, -0.001654f, -0.018910f, -0.009968f, -0.015003f, 0.008896f, 0.009095f, -0.003101f, 0.001347f, -0.029979f, -0.003960f, 0.020384f, -0.016227f, -0.014010f, 0.012061f, -0.005364f, 0.017646f, 0.004422f, -0.012967f, 0.002148f, -0.019591f, -0.005588f, -0.005176f, 0.037846f, -0.003786f, -0.011009f, 0.008272f, 0.007770f, -0.003326f, -0.006373f, -0.001938f, -0.005112f, -0.007034f, - -0.006487f, -0.005015f, 0.002710f, 0.002925f, 0.006148f, -0.001586f, -0.000040f, -0.003658f, 0.003747f, 0.000940f, -0.009643f, 0.002577f, -0.000033f, -0.001071f, 0.003560f, -0.000239f, -0.005242f, -0.005263f, -0.012478f, 0.004153f, -0.003891f, 0.003673f, 0.004839f, -0.005922f, 0.002745f, 0.001679f, -0.001204f, 0.004722f, 0.000071f, 0.013549f, 0.001957f, -0.002499f, 0.000375f, -0.003984f, -0.000660f, 0.002328f, 0.000435f, -0.001223f, 0.001155f, -0.005349f, 0.004297f, -0.017469f, 0.041130f, -0.019949f, -0.010163f, -0.000603f, -0.001134f, -0.028828f, 0.002090f, -0.021171f, 0.015680f, -0.039980f, -0.005635f, -0.012632f, 0.013948f, -0.013607f, -0.013685f, -0.033790f, 0.023149f, -0.013760f, 0.009651f, -0.010716f, 0.007089f, 0.018338f, -0.012919f, -0.022074f, -0.007254f, 0.015494f, 0.031912f, 0.010410f, 0.013505f, 0.001802f, -0.031647f, -0.016846f, -0.016943f, -0.008608f, 0.005831f, 0.029151f, 0.012719f, 0.017076f, 0.016052f, -0.004188f, -0.006475f, -0.009493f, -0.026398f, 0.001682f, -0.018340f, 0.029099f, -0.012931f, 0.020114f, 0.004532f, -0.010173f, 0.006942f, -0.006696f, -0.008761f, -0.015493f, - 0.023999f, 0.006441f, 0.040354f, 0.009001f, -0.042834f, -0.010527f, 0.014121f, 0.011445f, 0.006607f, -0.002214f, 0.004127f, 0.045352f, 0.022878f, -0.007409f, 0.005166f, -0.011933f, 0.033018f, -0.001035f, -0.000968f, 0.012947f, -0.028491f, -0.012220f, -0.009476f, -0.030602f, -0.036180f, 0.007456f, 0.013351f, -0.003202f, -0.017662f, -0.004497f, -0.005399f, -0.013918f, 0.000549f, -0.002676f, -0.010854f, 0.011330f, 0.017399f, -0.003543f, -0.002182f, -0.002374f, -0.006370f, 0.005096f, 0.001480f, -0.001746f, -0.003113f, -0.002774f, -0.001681f, 0.005820f, -0.002955f, -0.007845f, -0.001624f, -0.000199f, 0.002917f, 0.001793f, -0.004568f, 0.012248f, -0.003615f, 0.007512f, -0.001077f, 0.006302f, 0.003579f, -0.001769f, -0.007850f, -0.007698f, 0.003069f, -0.001966f, -0.012036f, -0.004383f, -0.002678f, 0.004735f, 0.001533f, -0.000756f, 0.003854f, 0.005860f, 0.002320f, -0.003227f, -0.004705f, -0.024941f, 0.014911f, 0.033325f, -0.003281f, -0.001458f, -0.000773f, 0.030968f, 0.009597f, 0.007408f, 0.005294f, 0.003640f, 0.005271f, -0.012234f, 0.002274f, -0.038419f, 0.005509f, -0.018532f, 0.016037f, 0.039228f, - -0.005104f, 0.002823f, -0.030980f, 0.041351f, 0.020073f, 0.017544f, -0.005157f, -0.022804f, 0.002738f, -0.007812f, 0.021001f, 0.015015f, -0.018818f, 0.000954f, 0.011081f, 0.007780f, -0.014565f, -0.012988f, 0.060642f, -0.014122f, -0.010570f, 0.012723f, -0.015438f, -0.011322f, 0.019286f, 0.018825f, 0.000750f, 0.007201f, 0.006871f, -0.023542f, -0.011672f, -0.001075f, 0.008002f, 0.020473f, 0.005085f, 0.004774f, -0.026506f, -0.002586f, 0.007830f, -0.036271f, 0.007942f, -0.010153f, -0.003646f, -0.006764f, 0.010653f, -0.010857f, -0.019634f, -0.021096f, -0.033226f, 0.004103f, -0.013459f, -0.006593f, 0.021302f, -0.007320f, 0.006922f, -0.037603f, -0.000055f, 0.034427f, 0.008094f, -0.017553f, -0.010360f, 0.020863f, 0.010774f, -0.023127f, 0.012934f, -0.016785f, -0.012820f, -0.005613f, -0.003198f, 0.007702f, -0.002201f, 0.001217f, -0.003532f, -0.004731f, 0.002810f, 0.004033f, -0.005820f, 0.004826f, 0.015284f, 0.002205f, -0.002047f, 0.006362f, 0.009676f, -0.004273f, 0.006599f, -0.004474f, -0.005877f, 0.001478f, 0.004407f, 0.012475f, 0.003392f, -0.001440f, 0.004663f, -0.002139f, 0.006594f, -0.003910f, - 0.006068f, -0.004803f, 0.002057f, 0.005059f, 0.001602f, -0.009005f, -0.004929f, 0.015833f, -0.006752f, -0.013121f, 0.006411f, 0.003096f, 0.004799f, -0.003667f, 0.020669f, 0.005722f, -0.004708f, -0.002686f, 0.005227f, -0.002322f, -0.019136f, -0.019215f, 0.045801f, -0.027359f, 0.007179f, -0.017478f, 0.053991f, 0.011495f, 0.010015f, -0.017219f, -0.020369f, 0.001994f, 0.015454f, -0.016516f, -0.026336f, -0.015652f, -0.038314f, -0.014922f, -0.022478f, -0.000018f, -0.051507f, 0.003632f, 0.027969f, 0.017215f, 0.022868f, -0.015913f, 0.005997f, 0.024799f, -0.002827f, 0.017986f, 0.006728f, 0.028020f, -0.014004f, 0.023370f, 0.018621f, 0.013293f, 0.030398f, -0.016986f, 0.018127f, -0.009278f, -0.010745f, -0.007155f, 0.006758f, -0.058844f, -0.018772f, -0.036575f, 0.042392f, -0.026681f, -0.030076f, -0.006444f, 0.023942f, 0.000668f, -0.010720f, 0.033304f, -0.011858f, -0.010564f, -0.024127f, -0.059531f, 0.002935f, 0.005525f, 0.024855f, -0.024970f, 0.000119f, -0.015231f, -0.020034f, 0.031819f, -0.006384f, 0.015929f, -0.034576f, -0.033726f, -0.020981f, 0.026511f, -0.002694f, -0.016840f, -0.017801f, -0.000746f, - -0.029325f, -0.020087f, 0.002889f, -0.012359f, -0.021866f, 0.032248f, -0.044296f, -0.042293f, 0.011075f, 0.000121f, 0.018686f, 0.002079f, -0.002015f, -0.013694f, -0.012012f, 0.001908f, -0.020942f, -0.008526f, 0.017872f, 0.002289f, 0.003072f, -0.010452f, 0.010581f, 0.003828f, -0.011444f, 0.005260f, -0.008486f, -0.001849f, -0.008706f, 0.007454f, -0.011587f, -0.003032f, 0.007876f, 0.015225f, 0.001702f, 0.000485f, -0.016746f, -0.005217f, -0.001171f, 0.002266f, -0.002501f, 0.014059f, -0.000633f, -0.005638f, 0.009063f, -0.010812f, -0.009794f, 0.005785f, 0.012951f, -0.003889f, -0.009291f, -0.012781f, 0.009942f, 0.007796f, 0.016050f, -0.021998f, -0.000018f, 0.029800f, 0.004034f, -0.008849f, 0.015450f, -0.023986f, 0.048133f, 0.030242f, -0.000144f, -0.021836f, -0.024680f, 0.010466f, -0.006107f, -0.002141f, -0.001162f, 0.043879f, -0.021342f, 0.000909f, -0.014799f, 0.016208f, -0.027042f, -0.024845f, -0.048915f, 0.011464f, -0.019781f, -0.027506f, -0.003199f, -0.046586f, -0.022756f, 0.013254f, 0.010126f, -0.006326f, 0.024478f, 0.002341f, 0.029636f, -0.012932f, -0.040399f, -0.006100f, -0.029543f, -0.005605f, - -0.008735f, -0.038858f, 0.005292f, 0.031769f, -0.089077f, 0.011367f, 0.000433f, 0.022201f, -0.004216f, -0.027737f, -0.052761f, 0.021174f, -0.006278f, 0.019790f, 0.012052f, -0.006408f, 0.031156f, -0.038414f, 0.054162f, -0.013481f, 0.030327f, 0.062959f, 0.025428f, 0.044808f, 0.017859f, 0.011787f, -0.005848f, 0.023418f, -0.008429f, -0.024434f, -0.032705f, -0.021259f, -0.000832f, 0.018592f, -0.002757f, -0.014372f, -0.020181f, -0.018288f, 0.025207f, -0.011073f, -0.008682f, 0.022364f, 0.004373f, 0.016848f, -0.001428f, -0.002417f, -0.006471f, 0.003979f, 0.008781f, -0.011405f, -0.001523f, -0.027935f, -0.019855f, 0.013759f, -0.006467f, -0.000690f, -0.003725f, -0.000513f, -0.010312f, -0.016717f, 0.012496f, -0.010057f, 0.016134f, -0.016082f, -0.007027f, -0.001775f, -0.010900f, -0.005664f, 0.008330f, 0.003307f, 0.019509f, -0.004793f, -0.011001f, 0.007223f, -0.022406f, 0.000389f, 0.003202f, -0.003538f, 0.001911f, -0.002533f, 0.011664f, 0.016192f, 0.003193f, -0.000569f, -0.007372f, -0.013527f, -0.006111f, 0.000789f, 0.026956f, 0.013289f, -0.012909f, 0.075165f, 0.061233f, 0.055161f, -0.012695f, 0.000027f, - -0.047030f, 0.034957f, 0.043410f, 0.014681f, 0.041933f, 0.016658f, 0.014195f, 0.014627f, -0.007515f, 0.005684f, 0.011542f, -0.010850f, -0.045299f, -0.027588f, -0.001755f, -0.030179f, -0.035090f, -0.082364f, 0.017988f, 0.014062f, 0.021358f, -0.015895f, -0.005696f, -0.011095f, 0.000509f, -0.025873f, -0.000806f, -0.019755f, 0.022696f, 0.018781f, -0.011809f, -0.016112f, -0.043421f, 0.072854f, -0.022867f, 0.014243f, -0.000091f, 0.004523f, 0.011597f, -0.030372f, 0.036359f, -0.018554f, 0.012393f, 0.007972f, -0.027267f, -0.028239f, -0.005245f, -0.002652f, 0.016868f, 0.076877f, -0.006487f, 0.011258f, 0.002512f, 0.023039f, 0.016505f, 0.017107f, -0.013656f, -0.004278f, 0.006631f, -0.037472f, 0.007541f, -0.032103f, -0.050939f, 0.017512f, 0.001590f, 0.003804f, -0.037296f, -0.089818f, 0.038718f, 0.040222f, 0.027865f, -0.051050f, 0.048353f, 0.051151f, 0.019001f, 0.014660f, 0.000443f, -0.015063f, -0.033846f, 0.025068f, -0.023850f, 0.001279f, 0.000414f, -0.013699f, 0.010217f, -0.024574f, -0.002542f, -0.005028f, 0.012024f, -0.007019f, -0.011193f, -0.015386f, 0.023146f, -0.012981f, -0.005515f, 0.005742f, - -0.020800f, 0.011269f, 0.009468f, -0.007502f, -0.007279f, 0.001715f, -0.019318f, 0.017563f, -0.006479f, -0.005145f, -0.001611f, 0.001194f, 0.013183f, -0.010708f, -0.024422f, 0.006941f, -0.013610f, -0.004561f, -0.013948f, -0.012719f, 0.001920f, -0.010360f, -0.004574f, -0.009684f, 0.031388f, -0.014281f, -0.025484f, 0.003642f, -0.009139f, -0.001012f, -0.043991f, -0.087954f, 0.073270f, 0.011913f, 0.013131f, -0.029195f, -0.020980f, -0.093581f, 0.026066f, 0.067196f, 0.020707f, -0.059208f, -0.029553f, 0.009805f, -0.022961f, -0.014507f, 0.027624f, -0.030742f, 0.017411f, 0.015567f, 0.012889f, -0.034241f, 0.012440f, 0.010817f, -0.016002f, -0.032034f, -0.018498f, -0.012229f, -0.008192f, -0.030550f, -0.026354f, -0.014405f, -0.031536f, 0.025147f, -0.011689f, -0.040711f, -0.013984f, 0.025247f, -0.005055f, -0.028179f, -0.015475f, -0.014299f, 0.000028f, -0.022302f, -0.013428f, -0.037066f, -0.035255f, 0.015234f, -0.012466f, 0.046621f, 0.030650f, 0.003154f, 0.027839f, -0.040444f, 0.026372f, -0.038383f, 0.032507f, -0.005387f, 0.016679f, -0.017030f, 0.057669f, -0.014192f, 0.032339f, -0.008088f, 0.047448f, 0.019229f, - 0.011616f, -0.048712f, 0.053101f, 0.042591f, 0.018565f, 0.019874f, -0.038037f, -0.007121f, 0.015681f, 0.026202f, -0.006682f, 0.006442f, -0.042037f, 0.027170f, 0.046252f, -0.000865f, -0.033008f, -0.001779f, -0.021812f, -0.018576f, 0.009096f, 0.000039f, -0.009089f, 0.010819f, -0.024096f, -0.005534f, 0.000963f, 0.007012f, -0.016614f, -0.022708f, 0.008813f, -0.010994f, -0.021551f, -0.038557f, -0.002833f, 0.012138f, -0.003220f, -0.019357f, -0.023494f, -0.007091f, 0.014942f, -0.016039f, 0.006188f, 0.008776f, 0.002421f, 0.006479f, -0.002020f, -0.010287f, -0.008808f, -0.002813f, 0.010756f, 0.003723f, -0.004235f, -0.014424f, 0.019841f, -0.012765f, -0.011305f, -0.009298f, 0.003927f, 0.023225f, -0.015731f, 0.022867f, 0.019145f, -0.007595f, 0.006913f, 0.012204f, -0.062660f, 0.050735f, -0.007528f, 0.023600f, -0.035176f, -0.012335f, -0.009781f, -0.009228f, -0.009249f, 0.029075f, -0.000462f, -0.026693f, 0.019050f, 0.002156f, 0.013379f, 0.024445f, 0.024695f, 0.000018f, -0.023812f, 0.090916f, -0.026624f, 0.069611f, -0.000747f, 0.002914f, -0.041456f, -0.018898f, 0.005406f, 0.033034f, 0.015743f, -0.012477f, - 0.026897f, 0.004444f, -0.040046f, 0.005208f, 0.004480f, 0.038684f, -0.002666f, 0.022655f, -0.030639f, -0.001246f, 0.025867f, 0.012203f, 0.021461f, 0.058773f, 0.046923f, -0.008733f, 0.023790f, -0.004981f, 0.046070f, -0.039088f, 0.030418f, 0.011601f, -0.002800f, 0.027112f, -0.016000f, 0.072310f, -0.013755f, 0.034325f, -0.027789f, -0.024962f, 0.000166f, 0.077127f, 0.024459f, -0.073853f, 0.063404f, -0.002451f, 0.021555f, -0.055939f, 0.017598f, 0.005192f, -0.110789f, 0.044959f, 0.082816f, 0.031107f, -0.036091f, -0.023168f, 0.015954f, 0.081698f, 0.046004f, 0.062033f, -0.023969f, -0.031653f, -0.028990f, 0.012273f, 0.016118f, -0.003810f, -0.032601f, -0.014998f, 0.038153f, 0.006089f, 0.007901f, -0.014408f, 0.016981f, -0.005487f, 0.007158f, -0.009282f, -0.011648f, -0.013452f, 0.022628f, 0.038914f, 0.037420f, 0.007900f, 0.019385f, 0.035721f, 0.023119f, 0.024962f, 0.033946f, 0.019108f, 0.032369f, 0.024755f, 0.008140f, -0.051395f, -0.010977f, -0.024374f, 0.013106f, 0.028908f, -0.034921f, -0.012672f, 0.038769f, 0.021264f, 0.003430f, -0.009889f, 0.032640f, -0.027007f, 0.004994f, 0.034372f, - 0.026291f, 0.014775f, 0.017271f, 0.020807f, 0.011209f, 0.003969f, -0.003427f, 0.004921f, 0.001798f, 0.017800f, 0.021088f, 0.013685f, -0.017350f, -0.008767f, -0.030346f, 0.037255f, 0.005210f, 0.024687f, -0.020828f, 0.049936f, -0.018216f, 0.023096f, 0.007205f, 0.010132f, 0.006766f, 0.004100f, -0.053267f, -0.030779f, -0.000312f, 0.004494f, 0.035325f, 0.029459f, -0.043617f, 0.004141f, -0.024350f, -0.021717f, 0.009883f, 0.002430f, -0.015441f, 0.017559f, 0.068745f, -0.046253f, -0.004432f, 0.106257f, -0.065558f, 0.007454f, 0.037208f, -0.019659f, -0.016479f, 0.021909f, 0.034279f, -0.038377f, 0.018011f, -0.069494f, -0.008319f, 0.103389f, 0.003684f, 0.029233f, -0.011808f, 0.056489f, 0.055982f, -0.015760f, -0.001854f, -0.026901f, 0.005676f, -0.019887f, -0.051361f, -0.032470f, -0.061122f, -0.044451f, 0.066092f, 0.026943f, 0.018897f, 0.089143f, -0.064119f, -0.037378f, 0.010426f, 0.033424f, -0.025772f, 0.016281f, -0.027551f, 0.049400f, 0.028659f, 0.017138f, 0.035313f, 0.129355f, -0.031558f, -0.010048f, -0.037046f, -0.041549f, -0.003588f, 0.054456f, -0.043513f, -0.005426f, 0.037817f, 0.041669f, - 0.048307f, 0.028832f, -0.034171f, 0.008692f, -0.019310f, -0.003795f, 0.027774f, 0.009484f, -0.003363f, 0.021697f, -0.040083f, 0.002864f, -0.000207f, 0.010879f, -0.009705f, -0.009787f, 0.022928f, -0.008486f, -0.006822f, 0.026693f, 0.032927f, 0.027413f, 0.010962f, 0.011872f, 0.021384f, 0.007078f, 0.000760f, 0.015934f, 0.000573f, -0.008354f, 0.005794f, 0.000308f, -0.003388f, -0.043521f, 0.009657f, 0.029017f, 0.045379f, -0.010197f, -0.014239f, -0.014668f, 0.022538f, 0.027374f, -0.060953f, 0.007847f, -0.027790f, -0.003098f, 0.002166f, 0.004620f, 0.016310f, 0.012960f, 0.010595f, -0.014834f, -0.031250f, 0.025569f, -0.007537f, 0.058384f, -0.053023f, 0.013405f, -0.003811f, -0.017008f, -0.015413f, -0.007663f, 0.017924f, 0.011021f, 0.012194f, -0.002811f, 0.032698f, 0.005719f, -0.042669f, -0.033647f, -0.004583f, -0.019774f, -0.024508f, 0.005600f, 0.027073f, -0.003800f, -0.006059f, -0.039167f, 0.019370f, -0.006288f, 0.040164f, -0.013640f, -0.076990f, 0.009427f, -0.022756f, -0.011625f, 0.000221f, -0.062532f, -0.032780f, -0.053719f, 0.001081f, -0.003919f, -0.014957f, -0.071120f, -0.028804f, -0.006230f, - 0.037298f, 0.041085f, 0.003425f, 0.003124f, 0.020148f, 0.004533f, -0.048735f, 0.042823f, 0.058463f, -0.025341f, 0.008953f, -0.025395f, 0.010669f, -0.000231f, 0.044580f, -0.049922f, -0.036066f, -0.114150f, -0.040344f, 0.028730f, 0.046129f, 0.032678f, 0.029833f, -0.028159f, -0.009189f, 0.022722f, 0.021993f, 0.049479f, 0.023630f, 0.021107f, 0.038270f, 0.009581f, -0.041854f, -0.045045f, -0.060868f, 0.025416f, -0.038853f, 0.003354f, -0.034051f, -0.052782f, -0.079723f, 0.011250f, -0.022992f, -0.025064f, 0.007261f, 0.007447f, -0.002890f, -0.011607f, 0.001800f, 0.026215f, 0.018409f, 0.006635f, -0.010033f, 0.018917f, 0.043086f, -0.009604f, -0.023334f, -0.019386f, 0.021209f, -0.011338f, -0.009506f, -0.038466f, -0.036928f, -0.028669f, -0.063208f, -0.003664f, 0.000318f, -0.025530f, 0.011373f, 0.016953f, 0.012639f, 0.031391f, 0.008874f, 0.037075f, 0.002588f, 0.010067f, 0.041224f, -0.020217f, -0.000977f, 0.005929f, -0.000191f, -0.028741f, -0.000906f, -0.005735f, 0.049651f, -0.003416f, -0.020399f, 0.015247f, 0.006325f, 0.014219f, 0.031866f, -0.005742f, -0.000346f, 0.017935f, 0.008308f, 0.000773f, - -0.002232f, -0.009970f, 0.010678f, -0.091511f, 0.038234f, -0.027427f, 0.003283f, 0.064828f, 0.054236f, -0.021687f, -0.009253f, 0.033317f, -0.020993f, -0.022095f, -0.018424f, 0.004347f, -0.006440f, -0.002606f, 0.007606f, -0.007314f, 0.031856f, 0.076163f, -0.032399f, -0.059968f, 0.059538f, -0.046501f, -0.012692f, 0.000255f, 0.074335f, 0.005569f, -0.022747f, 0.021735f, 0.020573f, -0.078180f, -0.023132f, 0.012648f, -0.003247f, -0.037252f, -0.003017f, 0.014420f, -0.114763f, -0.053232f, 0.056489f, -0.056744f, -0.063147f, -0.039087f, 0.046077f, -0.060417f, -0.094455f, 0.094590f, -0.028196f, -0.059600f, -0.003738f, 0.036792f, -0.036609f, -0.063956f, -0.001888f, 0.028752f, -0.003602f, -0.082202f, 0.018962f, -0.001445f, -0.037021f, 0.085933f, 0.080847f, -0.006390f, -0.033360f, -0.064181f, 0.098624f, 0.013550f, 0.017167f, 0.033954f, -0.024649f, -0.096198f, 0.042921f, 0.073174f, 0.058409f, -0.036554f, 0.020876f, 0.079857f, 0.046169f, -0.055568f, -0.012545f, -0.043625f, 0.019199f, 0.011838f, 0.050051f, 0.049571f, -0.060137f, -0.002225f, -0.006594f, 0.008824f, -0.023585f, 0.023871f, -0.015569f, 0.013773f, - 0.012231f, 0.010047f, -0.017192f, 0.012977f, -0.025530f, 0.041546f, -0.021455f, -0.010742f, 0.026175f, 0.023020f, -0.024372f, 0.003752f, -0.011541f, -0.028137f, -0.015304f, 0.011211f, 0.021841f, 0.013471f, -0.022986f, 0.012692f, -0.014874f, -0.034960f, 0.001458f, 0.006208f, -0.005854f, -0.002893f, 0.023518f, 0.001482f, 0.002383f, 0.011171f, -0.003459f, 0.006010f, -0.037680f, 0.028112f, 0.010060f, -0.095256f, 0.009690f, 0.088451f, 0.047825f, 0.011779f, -0.001872f, -0.016826f, 0.022434f, -0.032123f, 0.073298f, -0.006338f, 0.018989f, 0.026666f, -0.026236f, 0.000312f, -0.003976f, -0.028893f, -0.000875f, 0.010026f, 0.040772f, -0.000822f, -0.026547f, 0.012142f, 0.032653f, -0.006201f, 0.052203f, -0.041813f, 0.007819f, 0.011277f, 0.013046f, 0.045270f, -0.025942f, 0.003389f, -0.002521f, -0.060591f, 0.007722f, -0.020251f, -0.033544f, 0.013360f, -0.013263f, 0.046454f, 0.033134f, -0.025356f, -0.054559f, 0.024889f, 0.004384f, 0.010122f, 0.029206f, 0.064736f, -0.011975f, 0.012908f, -0.027385f, 0.036884f, 0.026016f, 0.027416f, -0.032006f, 0.042343f, -0.015599f, -0.019393f, -0.038451f, -0.003994f, - -0.015701f, 0.055023f, -0.042317f, 0.002384f, 0.012928f, -0.013302f, -0.026151f, 0.077087f, -0.004221f, 0.017839f, -0.007953f, 0.008768f, -0.007276f, 0.021194f, -0.003523f, -0.010054f, -0.007059f, -0.008916f, 0.025175f, 0.017480f, 0.023656f, 0.013037f, 0.007054f, -0.017313f, 0.017302f, 0.000871f, 0.009292f, 0.008048f, 0.021220f, -0.003637f, 0.000106f, 0.002993f, 0.006349f, 0.006715f, 0.015656f, -0.014031f, 0.009640f, 0.008452f, 0.007384f, 0.006218f, 0.004928f, 0.015448f, 0.005545f, -0.021460f, 0.012088f, 0.014034f, 0.014607f, 0.006126f, 0.015744f, 0.004009f, -0.001613f, 0.008764f, 0.004741f, 0.011284f, -0.001526f, -0.010912f, 0.002022f, 0.015825f, -0.008816f, 0.006309f, 0.000311f, 0.017284f, 0.015432f, 0.005730f, 0.010701f, 0.016057f, 0.007218f, 0.012961f, 0.031087f, -0.082695f, -0.232030f, -0.220640f, 0.095871f, 0.009357f, 0.212097f, 0.449256f, 0.098392f, 0.181029f, 0.096615f, -0.333341f, -0.149148f, -0.224214f, -0.329144f, -0.022140f, 0.038939f, -0.155588f, 0.138249f, 0.235021f, 0.144015f, 0.404792f, 0.248549f, 0.002185f, -0.037401f, -0.143370f, -0.357559f, -0.289815f, - -0.124772f, -0.274540f, -0.080907f, 0.156780f, 0.046708f, 0.039592f, 0.370947f, 0.142954f, 0.090416f, 0.343124f, 0.016334f, -0.017490f, 0.158333f, -0.078955f, -0.282910f, -0.137167f, -0.282695f, -0.413228f, -0.045664f, -0.187813f, -0.153088f, 0.132061f, 0.256530f, 0.118451f, 0.453226f, 0.360823f, 0.209461f, 0.273977f, 0.093034f, -0.134598f, -0.206975f, -0.276303f, -0.442070f, -0.354739f, -0.237738f, -0.202889f, -0.062913f, 0.153777f, 0.234084f, 0.260496f, 0.350639f, 0.294851f, 0.138458f, 0.050062f, 0.076166f, -0.118621f, -0.181250f, -0.129116f, -0.270886f, -0.204272f, -0.034924f, -0.122081f, 0.048535f, 0.198146f, 0.071120f, 0.100940f, 0.144370f, 0.014994f, 0.008854f, -0.035498f, -0.135583f, -0.071504f, 0.001376f, -0.054618f, 0.042169f, 0.057135f, -0.023120f, 0.072545f, 0.062961f, -0.098763f, 0.075457f, 0.087312f, -0.061628f, 0.142572f, 0.022074f, -0.141200f, 0.098737f, -0.077672f, -0.274756f, -0.045941f, -0.166881f, -0.203450f, 0.125576f, 0.015367f, 0.032157f, 0.264148f, 0.168471f, 0.186712f, 0.301159f, 0.220816f, 0.073625f, 0.031118f, -0.209293f, -0.381608f, -0.378839f, -0.380747f, - -0.359242f, -0.219944f, 0.011548f, 0.206084f, 0.303757f, 0.415214f, 0.386475f, 0.364231f, 0.287825f, 0.048169f, -0.131971f, -0.145671f, -0.305095f, -0.378605f, -0.227073f, -0.204458f, -0.113248f, 0.020250f, 0.054952f, 0.065048f, 0.130243f, 0.113237f, 0.107356f, 0.150626f, 0.125301f, 0.078332f, 0.069206f, 0.014352f, -0.043603f, -0.078146f, -0.094470f, -0.128222f, -0.107662f, -0.085684f, -0.066661f, -0.021990f, 0.022493f, 0.038735f, 0.055992f, 0.065360f, 0.063329f, 0.048301f, 0.038980f, 0.016986f, -0.001333f, -0.008517f, -0.008879f, -0.017315f, -0.013423f, -0.008928f, -0.010153f, -0.010016f, -0.002573f, -0.013925f, -0.016034f, -0.015779f, -0.024451f, -0.027399f, -0.016100f, -0.013751f, 0.007691f, 0.033190f, 0.044303f, 0.045071f, 0.042654f, 0.027796f, 0.020283f, 0.007478f, -0.012682f, -0.033416f, -0.039858f, -0.043462f, -0.038998f, -0.029076f, -0.013268f, 0.001813f, 0.018754f, 0.029477f, 0.030982f, 0.025919f, 0.019412f, 0.007199f, -0.002088f, -0.009524f, -0.013893f, -0.015213f, -0.009683f, -0.005101f, 0.001758f, 0.006569f, 0.010371f, 0.009973f, 0.006672f, -0.001165f, -0.006585f, -0.011091f, - -0.012325f, -0.011015f, -0.007172f, -0.003485f, 0.002128f, 0.005744f, 0.008102f, 0.009010f, 0.008620f, 0.006185f, 0.004208f, 0.002009f, 0.000038f, -0.001753f, -0.002551f, -0.003144f, -0.002776f, -0.002032f, -0.001253f, -0.000919f} - }, - { - {-0.009393f, -0.003611f, 0.002191f, -0.001743f, -0.005411f, -0.000392f, 0.012535f, -0.006434f, 0.001463f, -0.002713f, -0.000141f, -0.004793f, 0.009021f, -0.004679f, -0.004987f, -0.005633f, 0.010749f, -0.006390f, -0.001673f, -0.003019f, 0.003023f, 0.004964f, 0.006290f, -0.008873f, -0.000022f, 0.008498f, 0.003758f, 0.001457f, -0.000470f, -0.001059f, 0.003836f, 0.008665f, 0.002089f, -0.011120f, -0.005737f, -0.005981f, 0.009709f, -0.000990f, 0.007407f, -0.004653f, 0.003431f, 0.009722f, -0.004739f, -0.007313f, 0.002597f, -0.002732f, -0.000495f, -0.006542f, -0.002649f, -0.004887f, 0.001856f, -0.008872f, -0.002935f, -0.002264f, -0.000290f, 0.012027f, -0.003928f, -0.001797f, -0.000434f, -0.003139f, -0.001251f, -0.001123f, 0.007269f, 0.003777f, 0.004455f, -0.006237f, 0.004580f, 0.004832f, -0.004265f, 0.002008f, 0.002850f, -0.003202f, -0.004375f, 0.005127f, -0.007667f, 0.005429f, 0.003264f, 0.001451f, -0.007106f, -0.002441f, 0.002641f, -0.000607f, -0.001481f, -0.001894f, -0.000173f, -0.003786f, -0.004430f, -0.000657f, -0.000735f, 0.000556f, -0.001671f, 0.000063f, 0.002614f, -0.000073f, 0.000969f, 0.000402f, - 0.000510f, 0.000057f, -0.000523f, -0.001887f, -0.001165f, 0.001343f, -0.000609f, 0.000107f, -0.000190f, -0.005832f, 0.006313f, 0.000801f, -0.002624f, -0.003958f, -0.001031f, -0.001979f, 0.000076f, -0.004921f, -0.003764f, 0.002892f, -0.000721f, -0.001851f, -0.008648f, -0.001239f, 0.008173f, -0.005402f, -0.001300f, 0.006168f, -0.003456f, -0.006478f, -0.004924f, 0.004226f, 0.000101f, -0.000578f, -0.001193f, -0.006210f, 0.002175f, -0.002733f, -0.001409f, 0.007148f, -0.003837f, -0.009550f, -0.002801f, 0.000590f, 0.002940f, 0.002581f, 0.000886f, -0.007242f, -0.001624f, -0.008835f, -0.008019f, -0.002122f, 0.008524f, -0.001411f, -0.016672f, -0.000699f, 0.005694f, 0.004947f, -0.003396f, 0.003345f, 0.003656f, 0.000389f, 0.005033f, -0.008961f, -0.006324f, -0.000796f, 0.002672f, 0.000464f, 0.001919f, -0.000920f, 0.002412f, 0.002190f, 0.003535f, -0.000475f, 0.002199f, 0.002092f, -0.001631f, 0.003506f, -0.000806f, -0.008741f, -0.007152f, -0.004619f, -0.003666f, -0.003900f, 0.001249f, -0.001955f, 0.006857f, 0.005676f, -0.000996f, -0.002671f, -0.002323f, -0.001215f, 0.002089f, 0.003261f, 0.000447f, -0.001834f, - 0.000385f, 0.000496f, -0.001823f, 0.002465f, 0.000052f, -0.000512f, -0.000895f, -0.000158f, -0.001350f, 0.001015f, -0.000241f, 0.000230f, -0.001571f, 0.001003f, -0.000980f, 0.000057f, 0.000039f, 0.000709f, -0.000241f, -0.000717f, -0.000285f, -0.001461f, -0.000565f, 0.000200f, -0.000722f, 0.000175f, -0.000468f, -0.001327f, 0.007578f, 0.004198f, 0.011392f, 0.000677f, -0.002342f, -0.001504f, 0.008036f, -0.002305f, 0.004273f, -0.007529f, -0.000874f, -0.000294f, 0.004181f, 0.002870f, 0.007202f, 0.005029f, -0.003829f, -0.007438f, -0.006077f, 0.003995f, -0.002639f, 0.005494f, 0.003437f, 0.000642f, -0.000447f, 0.004548f, 0.003194f, -0.003494f, 0.003752f, -0.008008f, -0.001183f, -0.007433f, -0.006354f, -0.008923f, 0.002486f, 0.004910f, -0.001018f, 0.006874f, -0.005518f, 0.006358f, -0.013197f, 0.004925f, 0.002151f, 0.009581f, 0.002760f, 0.003365f, 0.005151f, -0.000355f, -0.003426f, 0.003502f, 0.008385f, 0.002757f, 0.004022f, -0.001491f, -0.000227f, -0.012130f, -0.000875f, 0.001785f, 0.002236f, -0.001888f, 0.006330f, 0.011905f, -0.004098f, -0.008788f, 0.005695f, 0.001147f, -0.006206f, -0.000230f, - -0.002914f, -0.006311f, 0.000691f, 0.008524f, 0.002099f, 0.003015f, 0.001393f, -0.001060f, 0.003226f, 0.001897f, -0.000235f, 0.002711f, 0.000116f, -0.000925f, -0.000702f, -0.001774f, 0.001617f, -0.002542f, -0.000359f, 0.003879f, -0.000932f, -0.000236f, 0.001480f, -0.001092f, 0.002686f, -0.003977f, -0.001779f, -0.000086f, -0.001584f, -0.001819f, 0.000355f, -0.001087f, 0.001266f, 0.002796f, -0.001158f, 0.001513f, 0.000398f, 0.000023f, -0.000005f, 0.000258f, -0.003352f, -0.001007f, -0.000791f, 0.000495f, 0.002684f, 0.001452f, 0.004234f, 0.006219f, 0.005978f, -0.005968f, 0.009171f, -0.003386f, -0.006251f, -0.009188f, 0.002015f, -0.012122f, -0.000850f, 0.001163f, 0.003230f, -0.007762f, 0.004860f, -0.000210f, 0.001004f, 0.003128f, 0.001873f, 0.002635f, -0.010461f, -0.000779f, -0.002448f, -0.006841f, 0.003846f, 0.001907f, 0.001447f, 0.005717f, 0.020300f, -0.001585f, 0.000941f, 0.002829f, 0.004934f, 0.001918f, -0.016860f, 0.003401f, -0.002894f, -0.002001f, 0.009063f, 0.000193f, 0.004453f, 0.006542f, -0.008377f, -0.004688f, -0.002499f, -0.008094f, -0.017308f, 0.000737f, -0.006598f, -0.001111f, - -0.001617f, -0.000428f, -0.004106f, -0.008487f, 0.002268f, -0.008124f, -0.002679f, 0.001742f, -0.009099f, 0.009220f, 0.003082f, 0.002571f, -0.003898f, -0.000759f, -0.001597f, 0.001778f, -0.003023f, 0.004701f, -0.007493f, 0.002377f, 0.011063f, 0.009205f, -0.003375f, 0.004648f, -0.004544f, 0.001932f, -0.008485f, -0.000343f, 0.005057f, 0.005927f, 0.005223f, -0.000991f, 0.009844f, 0.000846f, 0.004848f, 0.004391f, -0.000319f, 0.002011f, 0.000942f, 0.000308f, -0.001835f, 0.000938f, 0.001407f, -0.000667f, 0.000026f, -0.001191f, -0.002896f, -0.000493f, 0.001722f, -0.001533f, 0.003871f, -0.001179f, -0.002249f, -0.001848f, 0.001254f, -0.001071f, 0.001601f, -0.000402f, -0.001857f, 0.000945f, -0.000635f, 0.002015f, 0.001099f, 0.001157f, 0.000666f, -0.003672f, -0.001023f, 0.000426f, 0.001372f, -0.000009f, 0.000124f, -0.001031f, 0.013690f, -0.017265f, 0.000777f, -0.010616f, 0.005497f, 0.007910f, 0.009637f, -0.001448f, -0.009070f, 0.000272f, 0.009495f, 0.002055f, 0.001852f, -0.007068f, -0.000908f, -0.012406f, 0.016585f, -0.000840f, -0.012690f, 0.013827f, 0.003499f, 0.004125f, -0.000853f, -0.004937f, - -0.001580f, -0.006532f, -0.006434f, 0.005133f, 0.007278f, -0.001437f, 0.006870f, -0.005587f, -0.003466f, 0.000037f, 0.009571f, 0.009052f, -0.002481f, -0.005045f, 0.007463f, 0.004768f, 0.000745f, 0.006314f, 0.001545f, -0.007339f, 0.007812f, 0.004880f, -0.000531f, -0.002526f, 0.002195f, -0.007914f, 0.021235f, -0.001060f, -0.000704f, 0.015821f, -0.001381f, -0.009619f, -0.005184f, -0.001103f, 0.003902f, -0.009998f, 0.006924f, 0.002112f, 0.000295f, -0.009074f, -0.007621f, -0.016066f, -0.001364f, 0.007552f, 0.003798f, 0.009150f, -0.004990f, -0.003536f, 0.019140f, -0.005259f, 0.003252f, -0.002610f, -0.007843f, 0.000651f, 0.003555f, -0.008210f, -0.014568f, 0.000653f, -0.008958f, -0.009062f, -0.004384f, 0.004795f, 0.000493f, -0.001332f, -0.005527f, -0.001873f, 0.000712f, -0.002049f, -0.001486f, 0.001542f, 0.005285f, 0.000779f, 0.001386f, -0.003644f, -0.001808f, -0.000338f, 0.000041f, -0.005160f, -0.003737f, -0.003259f, -0.000117f, 0.001305f, 0.000590f, -0.001650f, 0.000209f, -0.000287f, -0.000443f, -0.002685f, -0.000917f, -0.000349f, -0.000957f, -0.001384f, -0.001807f, -0.018305f, -0.000300f, -0.007757f, - -0.008759f, 0.002523f, -0.010501f, 0.000189f, 0.007017f, 0.003771f, 0.014809f, -0.024973f, 0.015868f, -0.002756f, 0.006883f, -0.004874f, -0.003662f, -0.013179f, 0.011539f, 0.010155f, 0.002482f, -0.011729f, -0.000740f, -0.006834f, -0.000902f, 0.011979f, 0.008322f, 0.001737f, 0.011427f, -0.000283f, 0.000494f, 0.001011f, -0.000500f, -0.008187f, 0.017134f, -0.001850f, 0.000064f, 0.019899f, -0.013016f, 0.004665f, -0.006259f, -0.001426f, 0.006232f, -0.002859f, -0.010287f, 0.019148f, 0.014929f, -0.000667f, 0.004784f, 0.007953f, 0.020724f, -0.002822f, -0.003846f, -0.011422f, 0.001887f, 0.003830f, -0.012046f, -0.012874f, -0.011306f, 0.013324f, 0.000219f, -0.005640f, 0.009151f, 0.006450f, 0.000035f, -0.003314f, 0.002924f, -0.007378f, -0.001936f, -0.008018f, -0.001856f, 0.007358f, -0.014680f, 0.003353f, -0.003141f, -0.010218f, 0.006128f, 0.009638f, 0.004092f, 0.010041f, 0.008728f, -0.007537f, -0.011967f, -0.006035f, 0.005192f, -0.004782f, -0.009208f, 0.005860f, 0.009963f, -0.007349f, 0.001204f, 0.002063f, 0.001084f, -0.006869f, 0.003931f, -0.003097f, -0.002428f, -0.004432f, -0.002310f, -0.003485f, - -0.000363f, -0.000448f, 0.001298f, 0.002038f, -0.001742f, -0.001558f, -0.000682f, -0.002781f, -0.001596f, -0.000798f, -0.001093f, 0.002088f, 0.002693f, 0.000629f, 0.003969f, -0.003618f, 0.002743f, -0.003132f, -0.001389f, 0.002809f, 0.013757f, 0.014593f, 0.002474f, -0.012453f, -0.001655f, -0.011824f, 0.005026f, 0.031348f, 0.007789f, 0.021743f, 0.008033f, 0.000344f, -0.020150f, -0.004897f, 0.003400f, 0.019647f, -0.008588f, -0.004240f, -0.007469f, 0.001951f, 0.015808f, -0.011445f, 0.007777f, 0.013693f, 0.003100f, 0.005087f, -0.008838f, 0.016904f, -0.003532f, 0.021994f, -0.000133f, -0.006625f, -0.020493f, 0.002598f, 0.000151f, 0.024610f, -0.007327f, -0.001920f, 0.015634f, 0.000195f, 0.002138f, -0.004976f, -0.016006f, 0.001806f, 0.009342f, -0.011468f, -0.009027f, 0.002489f, -0.019208f, 0.010670f, 0.010790f, -0.003169f, -0.001172f, 0.005527f, 0.011004f, -0.000839f, -0.006636f, -0.000168f, 0.016123f, -0.001960f, -0.002379f, -0.005976f, 0.020851f, 0.021113f, 0.001513f, -0.003723f, 0.003368f, -0.000807f, 0.005574f, 0.009809f, -0.000708f, 0.014128f, -0.005371f, -0.007703f, -0.011263f, 0.003935f, - -0.000833f, -0.017186f, -0.012365f, -0.007079f, 0.013691f, -0.003880f, -0.006259f, -0.001657f, 0.000110f, -0.005764f, -0.008745f, -0.003011f, -0.002486f, -0.005185f, 0.000977f, -0.003214f, -0.002797f, 0.002890f, -0.005509f, -0.005696f, 0.001943f, 0.004755f, -0.002682f, -0.003629f, -0.002703f, -0.004763f, -0.002210f, 0.001626f, -0.001554f, 0.000946f, 0.002700f, -0.000744f, -0.001307f, -0.004181f, 0.002566f, 0.000292f, -0.013875f, 0.013904f, 0.010561f, 0.000743f, -0.009231f, -0.010359f, -0.004552f, -0.020500f, 0.023635f, 0.017755f, -0.003901f, 0.006528f, 0.002063f, -0.003980f, 0.017904f, -0.001526f, -0.008438f, 0.026531f, -0.028916f, 0.007364f, 0.012349f, -0.000185f, -0.011870f, 0.012599f, 0.001885f, 0.018256f, -0.007172f, -0.002059f, 0.004815f, 0.007241f, 0.001164f, -0.002595f, 0.026611f, 0.011424f, -0.012275f, -0.018514f, 0.012743f, -0.018521f, -0.005425f, -0.021311f, -0.002826f, 0.031681f, 0.012923f, 0.015269f, 0.000036f, -0.016947f, -0.002881f, -0.008328f, -0.003737f, 0.023670f, -0.003777f, -0.026279f, -0.002188f, 0.005047f, -0.016734f, -0.002858f, 0.010671f, 0.008361f, -0.011271f, -0.005945f, - 0.011404f, 0.015093f, -0.004485f, 0.015727f, 0.000212f, 0.003883f, 0.005852f, 0.001246f, 0.006147f, 0.009395f, 0.009117f, 0.008842f, -0.004771f, -0.019096f, -0.021056f, 0.005137f, -0.004284f, 0.014911f, -0.002753f, 0.017713f, 0.005962f, 0.008188f, -0.009552f, -0.008565f, 0.006285f, -0.000429f, 0.001237f, 0.001563f, 0.000728f, -0.008617f, -0.003964f, -0.001419f, -0.007136f, -0.000310f, -0.006138f, 0.000993f, -0.003492f, 0.002522f, -0.000915f, 0.004444f, -0.000058f, 0.002386f, 0.000746f, -0.002390f, -0.002047f, -0.002843f, 0.005578f, 0.000543f, -0.001717f, 0.001685f, 0.002862f, 0.002330f, 0.000501f, -0.004271f, -0.011693f, -0.006707f, 0.000002f, -0.005741f, -0.000181f, -0.001040f, -0.001164f, 0.006900f, -0.001183f, 0.011381f, -0.001783f, 0.010597f, -0.022091f, 0.007511f, 0.005891f, 0.002901f, -0.014572f, -0.012237f, -0.015503f, 0.011549f, 0.005861f, -0.011162f, -0.011146f, 0.014597f, 0.004539f, -0.001495f, -0.009431f, -0.015378f, -0.006460f, 0.005826f, -0.009962f, 0.000845f, -0.018411f, -0.005375f, 0.001801f, 0.005890f, 0.011509f, -0.002221f, 0.007227f, 0.009991f, -0.010834f, -0.025471f, - 0.016985f, 0.000477f, -0.004333f, 0.016163f, -0.002890f, 0.000336f, -0.011457f, 0.014165f, -0.009610f, -0.012084f, -0.004953f, 0.011555f, 0.017666f, 0.014820f, 0.004345f, 0.002728f, -0.032183f, 0.014135f, -0.002304f, 0.005757f, -0.011368f, -0.002404f, -0.012680f, -0.004599f, -0.003399f, -0.016672f, -0.008619f, -0.007025f, -0.009337f, 0.016617f, -0.005842f, 0.021710f, -0.003024f, -0.001566f, 0.013433f, 0.015443f, 0.026181f, 0.017898f, -0.000763f, -0.008943f, -0.001407f, -0.000286f, -0.013146f, 0.002894f, -0.008631f, -0.014308f, 0.026762f, -0.017577f, -0.018729f, -0.002981f, 0.009805f, 0.001179f, 0.002870f, 0.001036f, 0.011089f, -0.000470f, 0.002833f, 0.003772f, -0.004723f, 0.000388f, 0.006708f, -0.004181f, 0.002591f, 0.004778f, 0.003822f, 0.008510f, 0.001670f, -0.000113f, 0.004526f, 0.000613f, -0.001923f, 0.003008f, 0.004694f, 0.001735f, -0.000287f, 0.001297f, 0.000524f, 0.009910f, 0.000546f, 0.008024f, 0.005218f, 0.001017f, 0.008389f, 0.009285f, 0.000685f, -0.000487f, 0.001017f, 0.001103f, 0.000892f, -0.001031f, -0.001400f, 0.002193f, 0.000274f, -0.005603f, -0.008175f, -0.033492f, - 0.007835f, -0.022940f, -0.013594f, 0.022377f, 0.017478f, -0.038288f, -0.035081f, 0.001544f, 0.015461f, -0.008639f, 0.009671f, -0.012406f, -0.001093f, -0.022082f, -0.005523f, -0.019901f, -0.001116f, -0.005197f, 0.000982f, 0.008125f, 0.006708f, 0.012951f, -0.001235f, -0.010406f, 0.009671f, -0.012476f, -0.004813f, 0.004460f, 0.001136f, 0.006881f, 0.013701f, -0.001816f, 0.002008f, 0.003424f, -0.005112f, -0.001073f, -0.019283f, -0.022867f, -0.022160f, 0.000370f, -0.022297f, 0.007923f, 0.003282f, -0.008586f, -0.010212f, -0.004176f, -0.003463f, -0.001596f, -0.013162f, -0.020912f, -0.000914f, 0.034096f, 0.018887f, -0.004415f, -0.019881f, -0.020481f, 0.023573f, -0.021528f, -0.006942f, -0.003551f, -0.014329f, -0.010736f, -0.014613f, -0.017075f, -0.023965f, -0.032439f, -0.004453f, -0.004947f, -0.004409f, 0.011318f, 0.010645f, 0.003056f, 0.009356f, -0.007108f, -0.008858f, 0.030638f, 0.013067f, -0.007760f, -0.022112f, 0.007257f, -0.012995f, -0.015366f, 0.000164f, 0.025743f, -0.004839f, 0.000099f, 0.017698f, -0.001662f, -0.011454f, 0.000802f, 0.004367f, -0.000056f, -0.004578f, -0.004302f, 0.000061f, 0.004597f, - 0.002284f, 0.003168f, 0.001947f, 0.008988f, -0.002373f, 0.004968f, -0.012373f, 0.006096f, 0.003214f, -0.001964f, 0.002835f, -0.002348f, 0.004786f, -0.001984f, -0.003489f, -0.001819f, 0.004358f, 0.003913f, 0.000641f, 0.005141f, -0.006963f, 0.007418f, -0.003395f, -0.004020f, 0.000736f, 0.001898f, -0.028107f, 0.002841f, 0.013680f, 0.014871f, 0.013787f, 0.005609f, 0.027509f, -0.011349f, -0.020581f, -0.005668f, 0.003252f, -0.004478f, 0.008541f, 0.018142f, 0.037084f, 0.023134f, 0.013405f, 0.017028f, -0.014741f, -0.028009f, -0.009781f, -0.021088f, 0.023150f, 0.004898f, -0.005262f, -0.017196f, 0.026319f, 0.022443f, -0.008783f, -0.002137f, -0.000423f, -0.014250f, -0.011818f, -0.021216f, 0.005862f, 0.006689f, 0.011517f, -0.020096f, 0.001497f, 0.005118f, -0.009226f, -0.019552f, 0.000273f, 0.010593f, 0.014362f, 0.001978f, -0.037602f, -0.013842f, -0.018694f, 0.007130f, 0.021971f, -0.000535f, -0.021215f, 0.004463f, -0.020484f, 0.010669f, -0.005177f, 0.001254f, -0.014601f, 0.029558f, 0.023511f, -0.008004f, -0.007220f, -0.017931f, -0.001424f, 0.023501f, 0.005289f, 0.029005f, 0.028278f, 0.023192f, - 0.013746f, 0.004295f, -0.019256f, -0.011196f, -0.025543f, 0.028653f, 0.029188f, -0.002940f, -0.022573f, 0.013822f, 0.033954f, -0.001008f, 0.004190f, -0.008830f, -0.000933f, -0.022987f, 0.003444f, -0.018257f, 0.012010f, 0.003669f, 0.016948f, 0.016378f, 0.009127f, 0.000818f, 0.001438f, 0.009896f, 0.003779f, -0.003054f, -0.006959f, -0.002865f, -0.010581f, 0.001234f, 0.008147f, -0.007548f, -0.003935f, -0.008555f, 0.005760f, -0.002408f, 0.012327f, -0.012326f, 0.003160f, -0.001025f, 0.011757f, -0.006312f, 0.003918f, 0.006490f, 0.001338f, -0.001020f, 0.000487f, 0.001442f, -0.005326f, -0.002810f, 0.007103f, 0.008051f, -0.019282f, -0.005472f, 0.012667f, 0.022691f, -0.025521f, -0.030825f, -0.026737f, 0.027631f, -0.012667f, 0.018184f, -0.001142f, -0.000552f, 0.044991f, -0.006393f, 0.002518f, -0.021159f, -0.032490f, 0.007036f, -0.005573f, 0.007672f, 0.004712f, -0.003398f, -0.018949f, 0.004262f, 0.005916f, 0.002313f, -0.017934f, 0.010454f, 0.007393f, 0.032579f, -0.016263f, 0.001423f, 0.017443f, 0.017826f, -0.000107f, 0.018006f, -0.005597f, -0.000123f, 0.016042f, 0.013371f, 0.002996f, -0.008252f, - -0.027738f, -0.021307f, 0.014976f, -0.001342f, -0.006977f, -0.006254f, 0.003194f, 0.035240f, -0.003040f, -0.013549f, 0.017603f, -0.009804f, 0.016597f, 0.003250f, 0.051355f, -0.011187f, -0.002480f, -0.001105f, 0.006955f, 0.016825f, -0.004274f, -0.007071f, 0.010807f, -0.025482f, 0.019173f, 0.035692f, 0.010085f, -0.008722f, 0.019698f, -0.008838f, -0.001870f, 0.040486f, -0.024771f, 0.008148f, 0.015529f, -0.008024f, 0.033805f, 0.007227f, 0.006646f, -0.014351f, -0.020696f, 0.002468f, 0.008272f, -0.022458f, 0.020967f, -0.001117f, 0.004724f, -0.000983f, 0.005567f, 0.018945f, -0.005333f, 0.019116f, 0.008830f, 0.005540f, 0.010511f, 0.008921f, -0.006658f, 0.011612f, 0.011110f, -0.011576f, 0.003164f, 0.007614f, 0.015429f, 0.002653f, 0.003897f, 0.006893f, 0.008714f, 0.013194f, 0.000699f, -0.000732f, -0.001636f, 0.008627f, 0.007589f, -0.010325f, -0.000918f, 0.005260f, 0.008441f, 0.005957f, -0.006186f, 0.012433f, -0.001155f, 0.003451f, 0.000912f, 0.010011f, 0.005005f, 0.003947f, 0.004657f, 0.006487f, 0.004800f, -0.002493f, -0.001567f, 0.001538f, 0.010277f, 0.002009f, 0.001059f, -0.001544f, - 0.001402f, 0.003253f, 0.004098f, 0.000763f, 0.004818f, 0.005633f, 0.009477f, -0.025653f, -0.007013f, 0.018289f, -0.008189f, -0.013194f, -0.011669f, -0.012052f, 0.002739f, 0.018370f, -0.001775f, -0.039461f, 0.000548f, -0.029892f, 0.012317f, 0.013432f, 0.000793f, 0.006557f, -0.012776f, -0.001314f, 0.016668f, -0.037808f, 0.010287f, -0.007952f, 0.021899f, 0.015148f, 0.010177f, 0.002054f, -0.014632f, -0.034108f, -0.001229f, -0.029768f, 0.019252f, 0.000629f, -0.008482f, 0.032122f, 0.017101f, -0.012292f, -0.009407f, -0.006242f, -0.004192f, -0.008505f, -0.016443f, 0.003449f, 0.005574f, 0.046271f, -0.000873f, -0.032475f, 0.000662f, 0.022780f, 0.002344f, -0.016556f, 0.011367f, -0.025159f, 0.017740f, -0.010438f, 0.012001f, -0.014518f, 0.007585f, -0.025758f, 0.069405f, 0.002916f, 0.048185f, -0.004281f, -0.012265f, 0.012625f, -0.014559f, -0.014742f, 0.027200f, 0.026009f, -0.021764f, -0.059472f, 0.057660f, -0.019682f, -0.014816f, -0.007206f, -0.007199f, 0.007791f, -0.004438f, 0.004656f, 0.025316f, 0.006111f, -0.019020f, -0.015806f, -0.011198f, 0.007540f, -0.011731f, -0.001624f, 0.012239f, -0.030827f, - -0.001827f, 0.002131f, -0.004008f, -0.008958f, 0.004344f, -0.006320f, 0.017777f, -0.006589f, 0.008405f, -0.007472f, -0.004612f, 0.000482f, -0.006960f, 0.004616f, 0.004930f, -0.003207f, 0.005179f, -0.007196f, 0.004471f, -0.001893f, 0.000396f, -0.003242f, 0.001056f, -0.012964f, -0.008514f, -0.001860f, -0.004297f, -0.010638f, -0.013056f, -0.007949f, -0.002412f, -0.005675f, -0.000159f, -0.009482f, 0.001043f, -0.008443f, -0.001342f, -0.010988f, 0.006936f, -0.006165f, -0.003613f, -0.003194f, -0.029172f, -0.010259f, -0.008761f, -0.025067f, -0.044249f, -0.010812f, 0.000866f, -0.023442f, 0.011702f, -0.009949f, 0.019912f, -0.016879f, -0.006952f, -0.024113f, 0.057971f, 0.049030f, -0.010804f, 0.011037f, 0.033756f, -0.035187f, 0.035982f, -0.014771f, -0.014752f, 0.013030f, 0.004903f, 0.006240f, -0.005091f, -0.007669f, 0.001188f, 0.011706f, 0.010197f, -0.015592f, 0.018175f, -0.016813f, -0.027965f, 0.020531f, 0.018169f, -0.023346f, -0.028935f, -0.033577f, -0.004739f, -0.005486f, 0.009622f, -0.021901f, -0.027354f, -0.013987f, 0.046319f, 0.016224f, 0.015895f, -0.019674f, 0.017996f, 0.024349f, -0.018735f, 0.045384f, - 0.008621f, -0.016139f, -0.021036f, 0.012198f, -0.017633f, -0.038679f, 0.009649f, -0.000377f, 0.001083f, 0.021242f, 0.019939f, -0.016970f, 0.003452f, -0.049603f, -0.005953f, -0.019533f, 0.041315f, 0.002501f, 0.006015f, -0.023908f, 0.019661f, -0.042145f, -0.004907f, 0.016541f, 0.004981f, -0.004553f, -0.004590f, 0.005143f, -0.001722f, 0.004784f, -0.006082f, 0.001208f, 0.003731f, 0.010055f, 0.002725f, 0.003214f, -0.002058f, 0.005969f, -0.005952f, 0.001923f, 0.018967f, -0.003679f, 0.001086f, -0.005994f, 0.008590f, 0.003880f, -0.000751f, 0.009797f, -0.010068f, -0.009810f, 0.010897f, -0.008955f, -0.003062f, -0.008210f, 0.004768f, -0.012001f, -0.005144f, -0.003931f, 0.009881f, 0.009613f, -0.015136f, 0.002390f, 0.008148f, -0.005336f, -0.017097f, -0.008433f, 0.013141f, -0.003993f, -0.001909f, -0.008369f, -0.021449f, 0.027250f, 0.028721f, 0.025984f, 0.017549f, -0.000198f, 0.023816f, 0.021581f, 0.003650f, -0.004063f, 0.009628f, 0.000081f, -0.024190f, -0.002870f, 0.009256f, -0.018939f, 0.027125f, -0.028213f, 0.022660f, 0.024622f, -0.007020f, -0.005547f, 0.010499f, 0.032848f, 0.024673f, -0.029682f, - -0.006410f, -0.007945f, -0.002295f, 0.007417f, -0.013771f, -0.014504f, 0.032301f, 0.000802f, 0.046355f, -0.030227f, -0.028575f, 0.023286f, -0.015346f, 0.008391f, -0.018069f, 0.015540f, 0.017846f, 0.011702f, -0.007153f, -0.026567f, 0.002731f, 0.008818f, -0.021979f, -0.040583f, -0.001292f, 0.003685f, -0.023834f, 0.043817f, -0.004885f, -0.012438f, 0.058353f, 0.054834f, 0.005602f, -0.007636f, -0.001917f, -0.011719f, 0.013336f, -0.028776f, 0.027095f, 0.003551f, -0.015503f, 0.032555f, 0.005371f, 0.006587f, -0.009143f, -0.017703f, -0.043582f, 0.009583f, -0.014739f, -0.007230f, 0.020336f, 0.008158f, -0.009433f, -0.028606f, -0.007733f, -0.032573f, 0.014085f, 0.029257f, -0.003955f, -0.022142f, -0.015278f, -0.022083f, 0.000440f, 0.011858f, 0.014433f, -0.003041f, -0.015416f, -0.008167f, -0.008313f, 0.002020f, -0.004518f, -0.007531f, 0.006507f, -0.001222f, -0.004387f, 0.007660f, -0.017423f, 0.004997f, 0.004804f, 0.027240f, 0.002722f, -0.006111f, -0.013716f, 0.011976f, -0.014333f, -0.001975f, 0.010484f, -0.019460f, 0.018353f, 0.003794f, -0.000491f, 0.003629f, 0.012518f, -0.006244f, -0.018855f, 0.000373f, - -0.005381f, -0.002505f, 0.018740f, 0.017465f, -0.001915f, 0.005362f, -0.048007f, -0.111261f, 0.037363f, 0.035404f, -0.012394f, 0.007944f, -0.026749f, 0.048084f, 0.030773f, -0.027182f, 0.007814f, 0.006585f, 0.000745f, -0.012205f, -0.008779f, -0.057358f, 0.024338f, 0.028393f, -0.006494f, 0.000033f, -0.003163f, 0.019124f, -0.014339f, 0.036450f, 0.010844f, -0.043216f, -0.024463f, 0.054995f, 0.036127f, -0.035757f, -0.008368f, -0.012678f, -0.021872f, 0.003476f, -0.008702f, 0.007888f, 0.071437f, 0.019512f, 0.074846f, 0.042779f, 0.048256f, 0.043983f, 0.086200f, -0.005595f, -0.007939f, 0.020664f, -0.006029f, -0.072201f, 0.058640f, -0.025323f, 0.033653f, -0.047706f, -0.037926f, -0.071282f, 0.014227f, -0.006510f, -0.023893f, 0.017467f, -0.033476f, 0.000188f, -0.047848f, -0.047787f, 0.013482f, 0.028008f, -0.038821f, -0.010252f, -0.026898f, -0.037371f, -0.041974f, -0.030137f, 0.023050f, -0.018179f, -0.052421f, 0.075436f, 0.047294f, 0.076057f, -0.009863f, -0.016303f, -0.015070f, -0.026763f, -0.043048f, -0.002702f, -0.009416f, -0.032564f, -0.010831f, 0.009654f, -0.023050f, -0.020786f, 0.002466f, -0.003363f, - -0.010241f, -0.008401f, 0.018811f, 0.020032f, 0.000688f, 0.005094f, 0.014268f, 0.017859f, 0.003681f, -0.001443f, -0.002685f, 0.008426f, -0.003511f, 0.002145f, -0.003226f, -0.012483f, -0.000284f, 0.011877f, -0.012259f, 0.016206f, 0.020467f, 0.008670f, 0.000716f, 0.003379f, 0.002205f, -0.013572f, 0.001170f, 0.007794f, -0.006958f, 0.000142f, -0.003156f, 0.002267f, -0.004813f, 0.001848f, 0.007637f, -0.010398f, -0.008838f, 0.016459f, 0.006742f, -0.002052f, 0.002544f, -0.009109f, -0.040522f, -0.106264f, 0.046029f, 0.054984f, -0.024880f, -0.010832f, -0.002751f, 0.062264f, 0.002018f, 0.013324f, 0.013147f, -0.014628f, 0.012386f, 0.029013f, -0.005800f, -0.027877f, 0.006966f, 0.052963f, -0.028048f, -0.017542f, 0.011615f, -0.007377f, 0.039651f, -0.009908f, 0.017881f, -0.020412f, -0.024525f, -0.024488f, 0.025994f, -0.007806f, 0.023076f, 0.026911f, -0.006937f, 0.003563f, 0.000174f, -0.021948f, 0.007292f, -0.019906f, 0.023536f, 0.057648f, 0.094656f, -0.001156f, -0.002694f, -0.040057f, 0.021662f, 0.030995f, -0.000927f, 0.034807f, 0.049749f, 0.020941f, 0.028290f, -0.043619f, -0.026200f, 0.036274f, - 0.094574f, -0.017306f, -0.055512f, 0.014165f, -0.018452f, -0.000985f, 0.025642f, 0.000498f, -0.025320f, -0.012094f, -0.013068f, -0.064306f, -0.026884f, 0.000436f, 0.010672f, 0.022448f, -0.003694f, -0.024720f, -0.014247f, 0.006082f, -0.010028f, -0.024826f, 0.025596f, 0.061894f, 0.026772f, 0.033346f, 0.003413f, -0.008436f, -0.050331f, -0.011118f, 0.014294f, 0.011145f, -0.011274f, 0.028563f, -0.008077f, 0.015989f, -0.035232f, 0.002053f, -0.012153f, -0.010130f, 0.000333f, 0.009790f, 0.009580f, -0.009930f, -0.019172f, 0.018558f, -0.007275f, 0.015249f, 0.001362f, -0.003841f, 0.001250f, 0.003278f, 0.014096f, 0.000474f, -0.002246f, -0.007290f, -0.008085f, 0.012147f, 0.004017f, 0.011195f, -0.023980f, 0.016690f, 0.009638f, 0.004543f, -0.008697f, -0.003176f, 0.017403f, -0.002096f, 0.000677f, -0.013419f, 0.001245f, -0.020589f, -0.004362f, 0.005958f, 0.017439f, 0.008659f, 0.015403f, 0.003547f, -0.002628f, -0.015069f, 0.033965f, 0.011424f, 0.017906f, 0.007133f, 0.051094f, -0.015844f, -0.006169f, -0.019802f, 0.012018f, -0.012229f, 0.011405f, 0.057920f, 0.011618f, -0.060987f, -0.014715f, -0.017666f, - -0.052119f, 0.033430f, 0.015914f, -0.005888f, 0.007603f, 0.003430f, -0.023291f, -0.000050f, -0.001464f, -0.023170f, -0.006797f, 0.050549f, 0.074271f, 0.035102f, -0.025631f, -0.040684f, 0.019463f, 0.033997f, 0.003970f, 0.027224f, -0.018667f, -0.012918f, 0.028001f, 0.008929f, 0.000573f, -0.062031f, -0.080874f, -0.002488f, -0.047223f, -0.027391f, 0.017132f, 0.067949f, 0.014879f, 0.003495f, -0.019479f, -0.023339f, -0.033814f, -0.029772f, 0.005742f, 0.020574f, -0.007082f, -0.033572f, -0.054068f, 0.021667f, 0.001597f, -0.030091f, -0.050389f, -0.034133f, -0.055483f, -0.100330f, -0.060442f, -0.008961f, -0.011858f, 0.120838f, -0.014599f, -0.004452f, 0.069731f, 0.008231f, 0.004085f, 0.041915f, -0.024810f, -0.061001f, -0.070820f, -0.010962f, -0.033831f, -0.037583f, -0.039849f, -0.043736f, 0.008732f, 0.039601f, 0.062995f, 0.037379f, 0.007886f, 0.004124f, -0.015975f, 0.032463f, 0.006864f, -0.009805f, -0.040334f, 0.008385f, 0.029668f, -0.001403f, 0.000069f, -0.014520f, 0.008325f, 0.016384f, 0.027153f, 0.007629f, 0.011659f, 0.010364f, 0.013688f, 0.016758f, 0.017660f, -0.004895f, 0.013493f, 0.002731f, - -0.009077f, -0.021188f, -0.025075f, 0.002581f, 0.006306f, -0.025246f, -0.012098f, -0.024284f, 0.008233f, 0.012523f, 0.019606f, 0.028315f, 0.048104f, 0.035563f, 0.036773f, 0.021685f, 0.014571f, -0.008718f, 0.004229f, 0.000190f, -0.021894f, -0.034285f, -0.025374f, -0.033190f, -0.020705f, -0.028843f, 0.038163f, -0.054153f, 0.013678f, 0.008595f, -0.023579f, -0.075945f, 0.051670f, 0.015329f, -0.004878f, -0.076901f, 0.020468f, 0.011921f, -0.040595f, 0.006776f, 0.035625f, 0.021874f, 0.010380f, -0.034825f, -0.007087f, -0.013010f, 0.006144f, -0.013125f, 0.003232f, -0.026984f, -0.038775f, 0.042518f, -0.029370f, 0.064623f, -0.039873f, -0.036149f, -0.024459f, -0.045438f, 0.004006f, -0.000907f, 0.067923f, -0.050356f, -0.053055f, 0.027323f, 0.017499f, -0.043975f, -0.058415f, -0.006526f, -0.032911f, 0.037816f, 0.008075f, -0.048424f, 0.031413f, -0.008316f, -0.074353f, 0.048769f, -0.033159f, 0.031809f, -0.055319f, -0.013607f, -0.001531f, -0.023336f, -0.009530f, 0.006301f, 0.069849f, -0.018928f, -0.006529f, -0.020157f, 0.019954f, -0.033142f, 0.025865f, 0.054492f, -0.003349f, 0.054789f, 0.043106f, -0.006646f, - 0.087968f, -0.005248f, 0.010175f, -0.002683f, 0.024837f, 0.088578f, -0.007286f, -0.024626f, -0.094788f, 0.073329f, 0.026200f, 0.062591f, 0.021345f, -0.049345f, 0.021931f, 0.013982f, 0.009043f, -0.043822f, 0.024997f, 0.005028f, 0.007223f, -0.023601f, -0.006847f, 0.029852f, 0.025654f, 0.001045f, -0.003077f, -0.003147f, -0.003430f, 0.007243f, 0.018806f, -0.038506f, -0.011330f, -0.005409f, 0.006149f, -0.007944f, 0.008550f, 0.008195f, 0.012133f, -0.009059f, -0.020403f, 0.031632f, 0.049670f, 0.017304f, -0.025453f, -0.021955f, -0.009395f, -0.007536f, 0.013464f, 0.006683f, -0.004947f, -0.031432f, -0.022442f, -0.025476f, -0.002466f, 0.024293f, 0.010726f, 0.020478f, 0.007870f, -0.034249f, -0.006110f, 0.014917f, 0.033286f, 0.020784f, -0.013949f, -0.010495f, -0.007996f, 0.004775f, 0.005807f, -0.000725f, -0.001989f, -0.006540f, 0.052331f, -0.100001f, 0.004133f, -0.112581f, -0.037533f, -0.018877f, 0.034646f, 0.104533f, 0.088883f, 0.032931f, 0.052595f, -0.033690f, -0.028351f, 0.005343f, -0.007403f, 0.024428f, 0.007931f, -0.023268f, 0.035251f, 0.051790f, 0.043072f, 0.032285f, 0.027321f, -0.000586f, - 0.005099f, -0.017228f, 0.049006f, 0.023040f, -0.009059f, -0.029761f, 0.010321f, 0.020285f, -0.005050f, 0.064063f, 0.066881f, -0.038247f, -0.028230f, 0.001702f, 0.052014f, 0.032544f, 0.008553f, 0.006621f, -0.012108f, -0.023063f, 0.013147f, 0.079840f, -0.031973f, -0.039120f, -0.042616f, 0.041842f, 0.017234f, -0.023595f, -0.036828f, -0.059163f, -0.070118f, 0.007976f, 0.015666f, 0.012952f, -0.015277f, -0.004955f, -0.019118f, 0.014134f, -0.055884f, -0.091970f, -0.041331f, -0.006186f, -0.015446f, -0.035774f, 0.046379f, 0.077347f, -0.017117f, 0.040015f, 0.085370f, 0.055774f, 0.019955f, -0.058493f, 0.009718f, 0.010790f, -0.051731f, -0.028500f, -0.008082f, -0.041138f, 0.045371f, 0.064564f, -0.003672f, -0.014626f, -0.007765f, -0.018552f, -0.010286f, -0.026065f, -0.025590f, -0.009264f, -0.012625f, 0.009470f, -0.005602f, -0.006921f, 0.012834f, -0.038833f, -0.004578f, 0.003414f, 0.039799f, -0.040378f, -0.006459f, -0.009044f, 0.007667f, -0.025637f, -0.008940f, 0.008094f, -0.014007f, -0.023683f, -0.003795f, -0.001626f, -0.023292f, 0.027776f, -0.037661f, -0.004053f, -0.013823f, 0.008596f, -0.003897f, -0.010915f, - -0.021957f, 0.000930f, 0.011182f, -0.007657f, 0.005267f, -0.063779f, 0.051430f, -0.006535f, 0.044187f, 0.026803f, 0.001018f, 0.029303f, -0.012858f, -0.003294f, 0.025234f, 0.030929f, 0.004765f, 0.000156f, -0.001017f, -0.028163f, -0.018296f, 0.007526f, -0.039256f, 0.001054f, -0.014760f, 0.000950f, -0.033285f, 0.005669f, 0.001853f, -0.030288f, 0.025284f, 0.010748f, 0.017112f, -0.038038f, -0.010270f, 0.007163f, -0.001997f, 0.002745f, 0.021812f, 0.004819f, 0.006106f, -0.004376f, -0.008436f, -0.005966f, -0.003127f, 0.014072f, -0.006378f, -0.024293f, 0.019664f, -0.033402f, -0.010492f, -0.011467f, 0.003999f, -0.016357f, -0.019375f, 0.025414f, -0.003247f, -0.025516f, 0.015583f, -0.035581f, 0.028490f, 0.008852f, 0.001338f, 0.029335f, 0.032659f, 0.004523f, 0.009304f, -0.024539f, 0.031680f, -0.015520f, -0.021680f, -0.001886f, 0.004683f, 0.059881f, -0.026921f, -0.044251f, 0.037895f, -0.014438f, 0.037865f, -0.006430f, 0.002483f, -0.016577f, 0.022933f, -0.038460f, -0.031891f, -0.012645f, 0.015064f, 0.008979f, -0.002330f, 0.018403f, -0.022864f, -0.023156f, -0.015367f, 0.005449f, 0.006691f, 0.001348f, - -0.000994f, -0.007020f, 0.003969f, -0.031943f, 0.006466f, 0.006488f, -0.007697f, -0.002980f, 0.009628f, -0.005146f, -0.013641f, 0.016482f, -0.008240f, 0.002013f, -0.000700f, -0.004212f, 0.011146f, 0.004790f, -0.011573f, -0.001359f, -0.002749f, -0.010388f, -0.002228f, -0.003872f, -0.021254f, 0.006448f, 0.012989f, 0.010337f, -0.009647f, 0.009646f, -0.015506f, -0.004890f, 0.000390f, -0.010093f, 0.031719f, -0.013324f, -0.165749f, -0.316541f, -0.112348f, -0.247743f, -0.282386f, 0.069776f, -0.009076f, 0.095418f, 0.367178f, 0.398052f, 0.281204f, 0.400884f, 0.329564f, 0.109705f, 0.115716f, 0.085733f, -0.220535f, -0.227111f, -0.126154f, -0.220447f, -0.238340f, -0.079546f, -0.069957f, -0.200833f, -0.151217f, -0.024182f, -0.089426f, -0.109461f, -0.026897f, -0.083679f, -0.148353f, -0.084302f, 0.028107f, -0.059274f, -0.073171f, 0.087816f, -0.014479f, -0.082335f, 0.075753f, 0.139987f, -0.031941f, 0.035286f, 0.216692f, 0.030191f, -0.069024f, 0.143946f, 0.125765f, -0.123990f, 0.071567f, 0.158598f, -0.049009f, 0.017661f, 0.274500f, 0.209541f, 0.105717f, 0.385436f, 0.429057f, 0.219574f, 0.395169f, 0.510208f, - 0.320332f, 0.302275f, 0.419512f, 0.269859f, 0.171763f, 0.190193f, 0.099098f, -0.114944f, -0.222735f, -0.302167f, -0.516029f, -0.627920f, -0.711975f, -0.805134f, -0.793935f, -0.860520f, -0.768777f, -0.570581f, -0.570605f, -0.449749f, -0.040175f, -0.023079f, 0.011780f, 0.322858f, 0.255042f, 0.085092f, 0.169290f, 0.251902f, 0.093331f, 0.112500f, 0.255737f, 0.186280f, 0.038064f, 0.153537f, 0.216513f, 0.093181f, 0.116693f, 0.266328f, 0.099806f, -0.042059f, 0.122823f, 0.086002f, -0.058888f, 0.116013f, 0.257226f, 0.121192f, 0.189640f, 0.410488f, 0.341370f, 0.323507f, 0.482073f, 0.445259f, 0.306887f, 0.266898f, 0.239240f, 0.089639f, -0.003540f, 0.012859f, -0.050384f, -0.160259f, -0.159609f, -0.183231f, -0.313753f, -0.350936f, -0.336497f, -0.377425f, -0.452919f, -0.396673f, -0.383529f, -0.409111f, -0.316843f, -0.214172f, -0.167653f, -0.105619f, 0.003808f, 0.042392f, 0.035478f, 0.058890f, 0.064649f, 0.033182f, 0.030276f, 0.059382f, 0.051335f, 0.034940f, 0.042030f, 0.049155f, 0.037211f, 0.048372f, 0.074016f, 0.081475f, 0.078305f, 0.091354f, 0.096935f, 0.080220f, 0.091982f, 0.084629f, - 0.052786f, 0.027218f, 0.011784f, -0.000740f, -0.010546f, -0.007754f, -0.007884f, -0.015521f, -0.016698f, -0.006231f, 0.007547f, 0.026962f, 0.038547f, 0.046521f, 0.048299f, 0.043324f, 0.043302f, 0.053653f, 0.051998f, 0.050318f, 0.058087f, 0.055003f, 0.040897f, 0.042497f, 0.040543f, 0.024668f, 0.020157f, 0.024769f, 0.011501f, -0.001319f, -0.004005f, -0.017909f, -0.037855f, -0.040677f, -0.046097f, -0.064018f, -0.071136f, -0.066714f, -0.076121f, -0.081518f, -0.072414f, -0.071566f, -0.074669f, -0.065624f, -0.052803f, -0.050114f, -0.042927f, -0.030458f, -0.030326f, -0.029478f, -0.022296f, -0.014951f, -0.011272f, -0.001026f, 0.008164f, 0.011320f, 0.015603f, 0.025839f, 0.035257f, 0.040661f, 0.047946f, 0.048425f, 0.043437f, 0.037703f, 0.034087f, 0.030710f, 0.026461f, 0.021767f, 0.017134f, 0.013122f, 0.009867f, 0.009183f, 0.008321f, 0.006305f, 0.005285f, 0.004357f, 0.002371f, 0.001046f, 0.000191f, -0.000671f, -0.001368f, -0.001619f}, - {-0.008214f, 0.006698f, 0.007177f, -0.003505f, 0.007203f, -0.004454f, -0.001025f, 0.009607f, -0.004027f, 0.004534f, 0.002744f, -0.010794f, -0.004901f, 0.007987f, -0.003199f, -0.001604f, 0.005007f, 0.003288f, 0.003551f, 0.000901f, 0.012342f, 0.002051f, -0.003245f, 0.002713f, -0.004343f, 0.007616f, -0.002268f, -0.004293f, -0.001891f, -0.010110f, -0.003455f, -0.007466f, 0.002374f, -0.000196f, 0.002665f, -0.003034f, 0.004160f, 0.001919f, -0.000511f, 0.001218f, 0.000627f, 0.000901f, 0.001310f, -0.005382f, 0.013214f, 0.001885f, -0.004880f, 0.009753f, -0.002410f, -0.008553f, -0.009345f, 0.008997f, -0.001852f, -0.000798f, 0.005955f, 0.000602f, -0.001608f, 0.004620f, -0.000550f, 0.002646f, 0.000738f, 0.003382f, -0.001846f, 0.003689f, -0.001741f, 0.004397f, 0.006449f, 0.003459f, -0.003884f, -0.004017f, -0.001983f, 0.001674f, -0.004146f, 0.002821f, -0.002057f, 0.003520f, 0.004638f, -0.005880f, -0.003319f, 0.004993f, 0.001467f, -0.001674f, 0.007772f, 0.004455f, 0.003690f, -0.000462f, 0.002021f, -0.000230f, 0.001006f, -0.000976f, 0.001153f, 0.000389f, 0.000530f, -0.001848f, 0.002861f, 0.000876f, - 0.000174f, -0.000575f, 0.001144f, 0.001818f, -0.001024f, 0.001963f, -0.000146f, 0.008419f, 0.001589f, 0.001850f, 0.007055f, 0.000002f, 0.005071f, 0.002364f, -0.000661f, 0.000460f, -0.005651f, 0.002518f, 0.000373f, 0.008654f, 0.003022f, 0.002779f, 0.000321f, 0.002496f, 0.009522f, -0.009143f, 0.005056f, 0.001265f, -0.006044f, -0.002766f, -0.003770f, -0.001301f, -0.003501f, 0.002339f, 0.011013f, 0.006881f, 0.008211f, 0.006481f, 0.011231f, 0.008135f, -0.010300f, -0.018672f, -0.002408f, 0.000781f, -0.004585f, 0.009702f, -0.000467f, 0.014576f, -0.006898f, -0.006960f, 0.006274f, 0.000256f, 0.000478f, 0.005716f, -0.010759f, 0.002661f, -0.007716f, 0.010061f, 0.005937f, -0.000127f, 0.015378f, 0.000597f, -0.001516f, -0.002000f, -0.002748f, -0.003915f, 0.007263f, 0.003812f, -0.003793f, -0.001320f, -0.010772f, -0.004810f, -0.001453f, 0.011166f, 0.007651f, 0.001289f, 0.005633f, 0.000124f, 0.006002f, -0.000077f, 0.002466f, -0.006533f, -0.004189f, 0.001483f, 0.000813f, -0.000423f, -0.003292f, 0.002940f, 0.003532f, -0.000989f, -0.003379f, -0.000696f, 0.003563f, -0.000648f, 0.001889f, -0.001799f, - -0.001014f, -0.001436f, 0.001126f, -0.001268f, 0.000190f, -0.000167f, 0.001799f, -0.001587f, 0.001738f, 0.002630f, -0.001294f, 0.000559f, 0.000213f, -0.000141f, 0.003254f, -0.001133f, 0.000822f, -0.001304f, 0.001292f, 0.000871f, 0.000553f, -0.000468f, 0.002863f, -0.000228f, 0.000143f, 0.001131f, 0.003223f, 0.006842f, 0.015447f, 0.004595f, 0.000761f, 0.000568f, 0.004413f, 0.004129f, 0.001001f, 0.002519f, 0.003562f, -0.000143f, -0.000242f, 0.004488f, 0.017464f, 0.005911f, 0.013643f, -0.007589f, -0.006191f, -0.002447f, -0.008066f, -0.009438f, -0.003729f, 0.007158f, -0.011685f, -0.001543f, -0.001304f, -0.018402f, 0.003803f, -0.018590f, -0.006133f, -0.002383f, 0.004525f, 0.000170f, 0.003983f, -0.003539f, -0.000101f, -0.012505f, 0.004724f, -0.004069f, -0.006964f, 0.001448f, 0.003634f, -0.000469f, 0.001012f, 0.005520f, 0.009656f, -0.015990f, 0.004494f, 0.001219f, -0.004677f, -0.005006f, -0.000957f, 0.002355f, -0.002073f, -0.009563f, -0.002200f, 0.002772f, 0.005135f, -0.000530f, 0.012109f, 0.001201f, 0.000614f, 0.005059f, -0.007628f, 0.011535f, 0.003708f, 0.006915f, 0.003094f, 0.005812f, - -0.001118f, -0.000933f, 0.003437f, 0.002130f, -0.001523f, -0.003287f, -0.002727f, -0.005531f, -0.000097f, -0.007474f, 0.000570f, 0.004606f, -0.000339f, -0.003089f, -0.005925f, 0.005476f, -0.003130f, 0.002320f, 0.000862f, -0.000776f, -0.005639f, 0.000644f, -0.000492f, 0.001569f, -0.001699f, -0.001477f, 0.000524f, -0.001660f, -0.003088f, -0.001504f, -0.001272f, -0.000129f, -0.002025f, -0.000171f, -0.001140f, 0.002862f, -0.000470f, -0.001260f, -0.000459f, 0.001617f, -0.000550f, -0.002229f, -0.002568f, 0.002962f, 0.000067f, 0.000442f, -0.001619f, 0.009095f, 0.009946f, -0.000390f, 0.010981f, 0.000624f, -0.001505f, 0.001286f, 0.000861f, -0.002117f, -0.000168f, -0.007780f, -0.004459f, 0.006816f, 0.008043f, -0.009551f, -0.002317f, 0.003873f, -0.006375f, -0.018211f, 0.004464f, 0.006642f, 0.007837f, -0.004236f, -0.004858f, -0.006537f, 0.009849f, 0.011215f, 0.001889f, 0.004385f, -0.008905f, -0.007242f, 0.008340f, 0.003102f, -0.006684f, 0.011580f, -0.011718f, 0.001873f, 0.001076f, 0.010854f, 0.003976f, -0.002486f, 0.001745f, -0.003855f, 0.005959f, -0.014318f, -0.004257f, -0.020598f, -0.008995f, 0.010324f, - -0.000901f, 0.015869f, -0.002204f, -0.013378f, 0.008396f, 0.001784f, -0.005470f, -0.000702f, 0.000619f, -0.005458f, 0.003509f, 0.009477f, 0.010729f, 0.000226f, 0.005115f, -0.000563f, 0.012213f, -0.006300f, 0.005268f, -0.001219f, -0.000238f, 0.000330f, 0.004213f, -0.001321f, 0.015290f, 0.001471f, 0.001366f, -0.002432f, 0.009001f, 0.003026f, -0.003063f, -0.006505f, 0.000121f, 0.006108f, 0.002115f, 0.001753f, -0.004016f, -0.000263f, 0.001223f, -0.000669f, -0.001078f, -0.001153f, -0.002150f, 0.001617f, 0.000129f, 0.000680f, 0.001293f, 0.003184f, -0.001277f, -0.003392f, 0.003680f, -0.001038f, 0.000361f, 0.000026f, -0.000443f, -0.000479f, 0.001459f, 0.001295f, 0.001783f, -0.000688f, 0.001664f, -0.000086f, 0.000963f, 0.001615f, -0.000383f, 0.000168f, 0.001414f, 0.002104f, 0.001173f, 0.001313f, 0.000432f, 0.000127f, 0.011045f, -0.015381f, -0.002261f, -0.010477f, -0.010870f, 0.003678f, 0.001923f, 0.022002f, 0.001003f, 0.007998f, -0.018649f, -0.004583f, 0.003937f, -0.009769f, 0.006205f, 0.001695f, 0.001422f, 0.005249f, 0.006114f, 0.014382f, 0.006333f, -0.002457f, 0.004461f, -0.007402f, - 0.001975f, 0.005711f, -0.000539f, 0.001062f, 0.006312f, 0.008181f, 0.019979f, 0.003781f, -0.003127f, -0.013917f, -0.000714f, 0.010299f, -0.016424f, 0.001652f, -0.001329f, 0.004972f, -0.008297f, -0.009773f, 0.017291f, -0.011278f, 0.003467f, -0.000846f, -0.011036f, 0.025030f, 0.006376f, 0.013057f, 0.006991f, 0.014292f, -0.002771f, -0.005571f, 0.009085f, -0.008619f, 0.006959f, -0.006896f, 0.003737f, 0.009813f, 0.005386f, -0.004596f, -0.000867f, 0.004949f, -0.008909f, -0.006650f, 0.000409f, -0.001175f, 0.014794f, -0.008320f, -0.014042f, -0.002218f, 0.007636f, 0.012420f, -0.007884f, -0.013315f, -0.003002f, 0.018212f, 0.002320f, -0.000144f, -0.006657f, 0.000768f, -0.000486f, 0.005536f, 0.005720f, -0.000498f, 0.002684f, 0.002992f, -0.009043f, -0.002188f, 0.002982f, -0.000565f, 0.005126f, 0.001956f, 0.000428f, -0.003915f, -0.000494f, -0.000643f, 0.001910f, -0.000733f, 0.005357f, -0.001186f, -0.000659f, -0.002832f, 0.000510f, -0.003547f, 0.000063f, -0.000503f, 0.001269f, 0.003051f, 0.000019f, 0.002534f, -0.000261f, -0.003336f, -0.000730f, 0.000184f, 0.001745f, -0.005772f, 0.006783f, -0.023996f, - 0.013755f, 0.004116f, -0.005294f, 0.007432f, -0.019599f, -0.016331f, 0.002227f, -0.008009f, 0.018735f, 0.016667f, 0.017696f, -0.011642f, 0.006935f, 0.000371f, 0.017638f, 0.001353f, 0.012495f, 0.005082f, -0.005163f, -0.015682f, -0.014234f, 0.004684f, -0.018997f, -0.000171f, -0.004425f, -0.009155f, -0.012664f, -0.007370f, 0.000191f, 0.015470f, 0.000134f, 0.006105f, -0.021753f, -0.012073f, -0.002247f, -0.013565f, 0.001025f, 0.013821f, -0.014749f, 0.006243f, -0.000114f, -0.004943f, -0.001312f, -0.003053f, 0.015148f, 0.008221f, 0.007580f, -0.003495f, -0.004534f, 0.020899f, -0.006225f, -0.005541f, -0.017072f, 0.012633f, -0.024262f, 0.003454f, -0.007945f, 0.003923f, 0.008688f, -0.005732f, -0.012929f, -0.007899f, 0.000931f, 0.017752f, -0.008816f, -0.001825f, -0.011400f, -0.009091f, 0.005742f, 0.006248f, 0.013966f, -0.016150f, -0.000097f, -0.008496f, -0.005651f, 0.003538f, -0.006401f, -0.012660f, -0.007270f, -0.001008f, 0.011734f, 0.012044f, 0.004152f, 0.000759f, 0.001761f, 0.005559f, 0.000484f, 0.000962f, 0.002490f, -0.003258f, 0.000363f, 0.005053f, -0.001461f, 0.000698f, 0.006039f, -0.001368f, - -0.000216f, 0.001081f, 0.004396f, 0.000086f, 0.000691f, 0.001712f, 0.000753f, 0.003799f, -0.004345f, -0.004700f, -0.000321f, -0.001642f, 0.000050f, 0.002799f, -0.001175f, 0.005073f, 0.003303f, -0.022331f, 0.006164f, 0.002211f, 0.003906f, -0.030800f, 0.027795f, 0.000706f, -0.000464f, -0.000409f, -0.009900f, 0.003387f, 0.000502f, 0.010037f, -0.008522f, 0.011237f, 0.003317f, -0.006781f, -0.011764f, -0.014764f, 0.007623f, 0.001457f, -0.001141f, 0.001157f, -0.008446f, 0.009415f, 0.007080f, 0.017260f, 0.010327f, 0.006905f, 0.009597f, -0.002102f, -0.009309f, -0.006952f, 0.000712f, -0.004848f, 0.007551f, -0.008232f, -0.012513f, -0.013747f, 0.000953f, -0.018854f, 0.008805f, 0.010060f, -0.011212f, 0.011704f, -0.013570f, 0.007009f, -0.020085f, 0.002848f, -0.003584f, 0.001602f, -0.005246f, -0.000182f, -0.018677f, -0.003029f, -0.006346f, -0.011813f, -0.003074f, -0.009203f, 0.003091f, -0.008283f, -0.004715f, -0.011943f, 0.005455f, -0.011416f, -0.000723f, 0.018604f, -0.003027f, 0.000666f, 0.006127f, -0.003998f, -0.018654f, -0.021310f, -0.003449f, -0.014867f, 0.000864f, -0.003976f, 0.014093f, 0.001128f, - 0.005380f, -0.014004f, 0.001370f, -0.003077f, -0.002443f, 0.010305f, 0.002651f, -0.001112f, -0.005433f, 0.002875f, 0.004083f, 0.001535f, 0.005502f, -0.000127f, 0.003126f, -0.001515f, -0.000432f, 0.000892f, 0.001064f, 0.002012f, -0.000391f, 0.006018f, -0.001559f, -0.004970f, 0.002204f, 0.000017f, 0.001654f, 0.002042f, 0.001390f, -0.000654f, -0.002473f, 0.001587f, -0.004441f, 0.001846f, 0.009127f, 0.006329f, -0.019005f, -0.000412f, 0.003617f, -0.017678f, -0.020153f, 0.011329f, -0.019781f, 0.004081f, 0.013517f, -0.009481f, -0.022765f, -0.009629f, 0.000743f, 0.015367f, -0.005951f, 0.026947f, -0.001641f, -0.001889f, -0.015230f, -0.010743f, -0.001623f, 0.005621f, 0.001704f, -0.005296f, -0.004441f, -0.001027f, -0.005562f, -0.011232f, 0.009626f, -0.009269f, -0.005627f, 0.010252f, 0.003159f, -0.015944f, -0.017016f, -0.015604f, 0.013867f, -0.014498f, -0.015710f, 0.026151f, -0.016099f, 0.011661f, -0.002094f, 0.007213f, -0.023221f, 0.010915f, 0.001516f, -0.003600f, -0.000980f, -0.004367f, 0.007730f, 0.005740f, 0.022210f, -0.005364f, -0.004024f, 0.010654f, 0.021465f, 0.006049f, 0.004451f, -0.009901f, - -0.006510f, -0.017377f, -0.003582f, -0.000261f, -0.000040f, 0.012913f, -0.003864f, 0.006991f, 0.022451f, -0.003248f, -0.000681f, -0.002419f, -0.000304f, -0.022500f, -0.025792f, 0.001504f, 0.017239f, 0.000396f, -0.034285f, 0.009180f, -0.011922f, 0.005966f, -0.021367f, -0.013193f, -0.003234f, 0.000806f, -0.007760f, 0.003644f, 0.008053f, -0.000788f, -0.000960f, -0.000575f, -0.003580f, 0.003721f, -0.004099f, 0.003704f, 0.000617f, 0.001326f, -0.003571f, -0.002339f, -0.005025f, 0.002558f, 0.000450f, -0.001422f, -0.004824f, -0.000924f, -0.001401f, -0.002984f, -0.003557f, 0.002373f, -0.004056f, -0.001427f, 0.003573f, 0.001210f, -0.001941f, -0.000151f, 0.000153f, -0.005101f, 0.000601f, -0.003180f, -0.004182f, -0.000303f, -0.001074f, 0.009495f, -0.001609f, 0.011248f, -0.001733f, -0.004783f, -0.006905f, 0.009541f, 0.005886f, -0.005338f, 0.004329f, 0.009709f, -0.005112f, -0.033098f, -0.014406f, -0.006509f, -0.003695f, 0.014757f, -0.025949f, -0.019054f, 0.015902f, 0.009857f, 0.040040f, 0.011277f, 0.009220f, 0.010999f, 0.005065f, -0.007193f, 0.000787f, -0.007576f, 0.012746f, 0.000557f, 0.012867f, 0.000375f, - -0.000382f, -0.017598f, 0.009103f, -0.011944f, 0.009245f, -0.001849f, 0.009697f, 0.003831f, 0.013022f, -0.020362f, 0.002364f, -0.014131f, 0.016958f, 0.001020f, -0.017052f, 0.022498f, 0.016634f, 0.010678f, -0.010222f, -0.034306f, 0.009859f, -0.003739f, -0.004268f, 0.016788f, -0.001636f, 0.007763f, 0.016230f, -0.003601f, -0.020609f, -0.000183f, 0.009231f, 0.006000f, -0.005539f, -0.002304f, -0.015106f, 0.005603f, 0.002061f, 0.003185f, -0.002271f, 0.002130f, 0.012992f, -0.008104f, 0.005928f, -0.002147f, -0.000495f, 0.023400f, -0.006291f, 0.010743f, 0.007722f, -0.007393f, -0.008233f, 0.002906f, 0.001766f, -0.003955f, 0.001973f, -0.004118f, 0.003773f, -0.003681f, 0.008914f, 0.000792f, 0.008523f, 0.001617f, -0.000216f, 0.010708f, 0.003809f, -0.003200f, 0.003016f, -0.002538f, -0.003343f, 0.001532f, 0.004274f, -0.004083f, 0.002727f, -0.002121f, -0.004164f, -0.000217f, 0.004265f, -0.001990f, -0.004636f, 0.001399f, -0.002166f, -0.007212f, 0.003112f, -0.000011f, -0.003666f, -0.002199f, -0.001203f, -0.004100f, -0.000335f, 0.005283f, 0.007638f, -0.007252f, 0.000989f, 0.008455f, -0.009527f, -0.037429f, - 0.007543f, 0.009007f, 0.037767f, -0.008016f, -0.006162f, 0.017833f, 0.023438f, -0.038414f, -0.021948f, 0.020876f, -0.010958f, 0.000632f, 0.008517f, -0.024491f, -0.053571f, -0.021071f, 0.030335f, 0.024112f, 0.020387f, -0.006279f, 0.011399f, -0.006307f, 0.010492f, -0.011209f, 0.003649f, -0.027050f, 0.006544f, -0.009583f, 0.013767f, 0.013395f, 0.000402f, -0.012796f, 0.012529f, 0.007890f, 0.021683f, -0.002301f, -0.013571f, -0.006771f, -0.034339f, -0.017568f, 0.008335f, -0.002339f, -0.023025f, 0.015538f, 0.021289f, -0.030313f, 0.029203f, -0.002837f, -0.003292f, 0.018367f, 0.003715f, 0.017365f, -0.002361f, 0.006185f, -0.006698f, -0.003577f, 0.008736f, 0.034936f, -0.012726f, 0.022230f, -0.001950f, 0.002045f, 0.008299f, 0.019354f, -0.018007f, 0.002046f, 0.028334f, 0.008440f, -0.013111f, 0.007536f, 0.011138f, 0.002585f, 0.022246f, 0.016100f, 0.027986f, -0.002578f, 0.007962f, -0.000294f, 0.000886f, -0.015651f, -0.010933f, -0.012451f, -0.006112f, -0.000063f, -0.002707f, -0.005060f, -0.004546f, 0.008350f, 0.012042f, 0.005531f, -0.006358f, 0.009741f, -0.002951f, -0.001596f, -0.005968f, -0.004739f, - 0.006061f, 0.002018f, -0.002345f, 0.000368f, -0.006614f, -0.005542f, -0.006511f, 0.000126f, -0.003688f, 0.005681f, 0.003385f, -0.002428f, 0.002407f, 0.006659f, -0.004195f, 0.003061f, 0.003774f, -0.003563f, -0.003340f, -0.003791f, -0.000744f, -0.001083f, 0.004019f, -0.001401f, 0.000567f, -0.001740f, -0.024348f, -0.006209f, 0.025112f, 0.015955f, 0.018930f, -0.012289f, -0.006207f, -0.001974f, -0.002660f, 0.026909f, 0.003465f, -0.027680f, -0.012354f, -0.008462f, 0.017743f, 0.003470f, 0.003806f, 0.015087f, 0.033003f, -0.048808f, 0.032353f, -0.006426f, -0.005798f, -0.012614f, 0.009609f, 0.009964f, 0.019001f, 0.002964f, 0.018106f, -0.001875f, -0.004870f, 0.005632f, -0.003063f, 0.009270f, 0.016642f, 0.001980f, -0.001289f, 0.021931f, -0.016339f, -0.003026f, 0.005316f, -0.001906f, 0.019291f, -0.022812f, 0.002042f, -0.019520f, 0.003136f, -0.020695f, -0.002964f, 0.000643f, 0.011309f, 0.028039f, -0.016400f, -0.009008f, -0.017002f, -0.000984f, -0.024831f, -0.016101f, -0.016345f, 0.011004f, 0.020196f, 0.000262f, 0.040062f, -0.025431f, 0.035793f, -0.025269f, -0.005969f, 0.011069f, 0.008093f, 0.035543f, - 0.020421f, -0.026607f, 0.013843f, -0.011153f, -0.036859f, -0.000920f, -0.023393f, 0.029403f, 0.044594f, 0.028428f, -0.005621f, -0.015818f, -0.005905f, 0.024994f, -0.003795f, 0.013030f, 0.001434f, 0.005779f, 0.008745f, 0.002801f, 0.003432f, 0.002955f, -0.010986f, 0.007579f, 0.000047f, 0.003202f, -0.004296f, -0.003588f, -0.010437f, -0.005786f, -0.003655f, 0.006365f, -0.003263f, 0.004269f, 0.005285f, -0.002032f, -0.001418f, 0.000149f, 0.006030f, 0.003896f, 0.002174f, 0.011429f, -0.000271f, 0.011941f, -0.010713f, -0.004679f, 0.007579f, 0.007406f, -0.004545f, 0.002538f, -0.003831f, -0.007748f, 0.000812f, -0.002747f, -0.025451f, -0.016354f, -0.000642f, 0.030624f, -0.006098f, 0.013457f, 0.028429f, -0.024351f, 0.010256f, -0.038846f, 0.023179f, -0.023911f, -0.011810f, 0.037261f, 0.012494f, 0.040184f, -0.017483f, 0.000072f, -0.018521f, 0.011475f, 0.051565f, 0.013103f, 0.017320f, -0.026377f, -0.005265f, 0.001086f, 0.019689f, 0.017406f, 0.032906f, -0.027175f, -0.009627f, -0.029555f, -0.025153f, 0.001642f, 0.001776f, 0.017172f, -0.017252f, 0.011961f, -0.040107f, 0.024777f, 0.018706f, 0.008793f, - -0.007022f, -0.004932f, 0.002321f, 0.011639f, 0.003651f, 0.003122f, -0.000476f, 0.026882f, 0.022949f, 0.009817f, 0.001807f, -0.020738f, -0.020480f, 0.055709f, 0.001797f, 0.006760f, 0.030902f, 0.013578f, -0.009102f, -0.006810f, 0.019559f, 0.040050f, -0.029461f, -0.012383f, -0.033165f, -0.030794f, 0.039129f, 0.017403f, 0.000137f, -0.007966f, 0.012795f, 0.029735f, 0.018859f, 0.030687f, 0.008373f, -0.014035f, 0.022142f, -0.016238f, -0.041252f, 0.011895f, 0.001209f, 0.000460f, -0.000159f, 0.016943f, 0.029414f, -0.006281f, 0.015450f, 0.017235f, 0.015634f, 0.001644f, 0.003273f, 0.015074f, -0.000057f, -0.004984f, -0.003603f, -0.006674f, 0.014705f, -0.008943f, -0.002742f, 0.003505f, 0.008191f, 0.000962f, -0.001639f, 0.015709f, 0.003089f, -0.003658f, 0.011779f, 0.015010f, 0.006789f, -0.006652f, -0.000313f, -0.003139f, 0.004454f, -0.000137f, -0.000195f, -0.000708f, -0.003771f, 0.005036f, 0.001806f, 0.001060f, 0.004943f, 0.006519f, -0.001447f, -0.007703f, -0.003111f, -0.001246f, 0.008775f, 0.002877f, -0.006551f, 0.001953f, 0.003395f, 0.009361f, 0.004059f, -0.000814f, 0.008760f, 0.000142f, - 0.004517f, -0.003669f, -0.000121f, -0.000345f, 0.001515f, -0.001276f, 0.012138f, -0.026092f, -0.019467f, -0.007639f, -0.024251f, 0.027332f, -0.003055f, -0.006974f, -0.023084f, -0.003854f, -0.021487f, -0.053304f, 0.009290f, -0.006577f, -0.016779f, 0.012033f, -0.028229f, -0.001734f, -0.015409f, -0.042748f, -0.009748f, -0.018562f, -0.020199f, 0.034116f, -0.009097f, -0.012363f, -0.006167f, -0.000827f, -0.008621f, -0.012107f, -0.001893f, 0.008960f, 0.028942f, 0.021724f, -0.000783f, -0.001740f, -0.048451f, 0.002901f, 0.006666f, 0.019814f, -0.011154f, -0.010149f, 0.073616f, -0.012717f, -0.035927f, -0.035033f, 0.030558f, -0.020525f, 0.008853f, -0.041517f, 0.010355f, -0.011721f, -0.022116f, -0.019270f, -0.047064f, 0.007457f, 0.013584f, 0.033386f, 0.009916f, -0.018270f, 0.026465f, 0.002992f, 0.024901f, 0.027470f, 0.079609f, 0.021190f, 0.005593f, -0.031085f, -0.034591f, -0.009479f, 0.003772f, -0.004590f, -0.031296f, 0.013918f, 0.036471f, 0.008228f, 0.025967f, 0.039914f, 0.036021f, -0.015452f, -0.028681f, -0.019869f, 0.002624f, 0.006162f, -0.003433f, -0.030753f, 0.005983f, -0.025060f, 0.007690f, -0.011261f, - 0.001720f, -0.013959f, 0.009102f, -0.002535f, 0.005827f, 0.000476f, -0.005749f, -0.014286f, -0.003115f, -0.000634f, 0.008308f, 0.011074f, 0.009085f, 0.012800f, 0.000864f, 0.010898f, 0.019705f, 0.000139f, 0.003827f, 0.010684f, 0.003921f, -0.010279f, -0.005557f, -0.017271f, -0.004884f, 0.009781f, 0.005858f, 0.000862f, -0.002120f, 0.006034f, 0.003729f, -0.003992f, -0.007786f, -0.015206f, 0.002055f, 0.001880f, -0.001990f, -0.005301f, -0.001001f, -0.005700f, 0.002973f, -0.010731f, -0.032188f, -0.013961f, -0.005036f, 0.009848f, -0.011805f, 0.019045f, -0.009982f, -0.013212f, 0.037043f, 0.019234f, 0.042134f, 0.000483f, -0.012315f, -0.016707f, 0.044677f, -0.038477f, -0.014393f, 0.052153f, -0.031555f, 0.010385f, 0.010813f, 0.013495f, 0.003015f, 0.029287f, -0.009206f, 0.026353f, -0.010068f, 0.005726f, 0.006257f, -0.013629f, 0.019562f, -0.029770f, -0.020747f, -0.019336f, -0.008921f, -0.026468f, -0.048748f, -0.008916f, -0.014637f, 0.007696f, -0.012605f, -0.064754f, 0.017931f, 0.040595f, -0.002404f, -0.008698f, 0.063557f, -0.078856f, -0.017111f, 0.043908f, -0.010831f, 0.034063f, -0.025115f, -0.015602f, - 0.011784f, -0.075260f, 0.024275f, -0.025661f, 0.037557f, 0.027587f, -0.040042f, 0.078883f, 0.011596f, 0.004139f, -0.004097f, 0.031055f, -0.057160f, 0.023333f, -0.002736f, -0.009114f, 0.015257f, -0.036960f, 0.052203f, 0.047383f, -0.087702f, 0.012549f, -0.017494f, -0.082323f, -0.014212f, -0.036780f, 0.020205f, 0.005144f, 0.014219f, -0.033268f, 0.051593f, -0.005106f, -0.013902f, 0.023803f, -0.001031f, 0.016894f, -0.003649f, 0.026701f, 0.000607f, 0.013285f, 0.004117f, -0.001231f, -0.002882f, 0.014901f, -0.010860f, -0.012212f, 0.000235f, -0.014337f, 0.021351f, -0.004731f, -0.011118f, 0.001088f, 0.009808f, 0.004663f, 0.010117f, 0.003871f, 0.024780f, 0.005810f, -0.013522f, 0.025657f, -0.013985f, 0.014565f, 0.022121f, -0.006255f, 0.004951f, 0.015467f, -0.010731f, 0.000811f, -0.013987f, 0.015121f, 0.002170f, 0.048046f, -0.021901f, -0.062580f, -0.062786f, 0.004691f, 0.007494f, -0.027753f, 0.016062f, -0.035048f, 0.010909f, -0.016032f, 0.031916f, 0.040953f, 0.001091f, 0.039614f, 0.036023f, -0.020425f, -0.000762f, -0.026055f, -0.006726f, -0.006315f, 0.013757f, -0.002790f, -0.004228f, -0.004581f, - -0.042023f, -0.063430f, -0.025646f, 0.032717f, 0.025246f, -0.027360f, -0.031431f, 0.017959f, 0.018207f, -0.041339f, 0.020485f, -0.027587f, -0.005336f, 0.031545f, 0.043904f, 0.000070f, -0.026401f, 0.016659f, 0.003132f, 0.027273f, 0.004537f, 0.022720f, 0.023468f, -0.006926f, -0.090756f, 0.010028f, 0.002149f, 0.036402f, -0.013561f, 0.037130f, 0.036805f, -0.024994f, -0.122894f, -0.016674f, 0.004805f, -0.014959f, 0.073564f, 0.077190f, 0.053784f, 0.076700f, -0.020114f, 0.035952f, -0.030561f, 0.051193f, 0.035820f, -0.060796f, 0.076333f, -0.079356f, -0.067620f, -0.063754f, 0.019991f, 0.047594f, 0.039595f, 0.013143f, -0.049844f, 0.045617f, 0.006179f, -0.016663f, -0.021461f, 0.002498f, 0.043060f, -0.033683f, -0.013600f, 0.065890f, 0.012016f, 0.030018f, 0.005594f, 0.003002f, 0.016081f, -0.025186f, 0.013253f, -0.010422f, 0.000306f, 0.006555f, -0.006581f, -0.013164f, -0.008734f, -0.011554f, -0.025308f, 0.005399f, 0.023078f, -0.004871f, 0.023600f, 0.018202f, -0.015453f, -0.012309f, -0.011514f, 0.014470f, 0.009019f, -0.030876f, -0.017966f, 0.001339f, 0.001280f, -0.004830f, 0.003844f, 0.019813f, - -0.000717f, 0.015691f, 0.001427f, -0.012117f, 0.007610f, 0.026276f, -0.048731f, -0.091932f, 0.019162f, 0.033696f, -0.005080f, 0.046373f, 0.017676f, -0.058049f, -0.014750f, 0.012163f, 0.014107f, 0.015789f, -0.011844f, 0.026687f, 0.002144f, -0.017428f, -0.008066f, 0.009405f, 0.038039f, 0.049668f, 0.037511f, 0.059595f, -0.057600f, -0.016106f, -0.015056f, -0.058930f, -0.014243f, 0.009953f, 0.002843f, 0.006381f, -0.023576f, -0.026664f, 0.029727f, 0.066987f, -0.031942f, 0.034499f, -0.022847f, 0.008850f, -0.021086f, -0.003753f, -0.052514f, -0.019232f, -0.003165f, -0.072686f, -0.042580f, -0.071142f, -0.060101f, 0.039536f, 0.093394f, 0.074496f, 0.001999f, -0.004880f, 0.000055f, -0.017014f, -0.032382f, -0.113664f, -0.038134f, -0.016470f, 0.009054f, 0.004662f, -0.040251f, -0.028182f, 0.014505f, 0.049738f, 0.029574f, 0.015894f, 0.032438f, 0.055803f, 0.021710f, -0.056273f, 0.042671f, -0.033420f, -0.017622f, 0.033008f, 0.074547f, 0.015874f, 0.095644f, -0.023095f, -0.099923f, -0.011768f, -0.032419f, -0.061366f, 0.091939f, 0.025904f, 0.029742f, -0.000445f, -0.008458f, 0.026404f, 0.021759f, 0.001003f, - -0.003996f, -0.016282f, -0.003494f, -0.005040f, 0.024921f, 0.030129f, 0.036072f, -0.004433f, -0.001624f, -0.001774f, -0.001608f, 0.023509f, -0.010520f, -0.008309f, -0.014296f, -0.011309f, 0.013230f, -0.003113f, -0.000748f, 0.003688f, 0.008312f, 0.013656f, 0.016999f, -0.002778f, -0.010633f, -0.018377f, 0.008661f, 0.003005f, 0.008138f, 0.022119f, 0.019362f, -0.010383f, 0.004603f, 0.009744f, -0.017877f, -0.005777f, -0.004418f, -0.017222f, -0.008151f, -0.001155f, 0.014817f, -0.024764f, -0.038813f, -0.063759f, 0.039940f, -0.005925f, -0.038390f, 0.018964f, 0.042336f, 0.036694f, -0.074540f, -0.064361f, 0.016429f, -0.029753f, 0.007944f, 0.036872f, -0.019617f, -0.014399f, 0.060773f, 0.016691f, -0.008151f, -0.018974f, -0.016898f, 0.022973f, -0.013339f, -0.002404f, -0.001514f, -0.024363f, -0.009252f, -0.040719f, -0.054292f, 0.019739f, 0.030044f, -0.034202f, 0.025445f, 0.017479f, -0.011647f, -0.023655f, 0.003936f, 0.043371f, 0.025084f, 0.008013f, -0.042904f, -0.048027f, -0.023271f, 0.013287f, 0.054293f, -0.040261f, -0.021197f, -0.018174f, 0.032521f, 0.087313f, 0.023293f, -0.084917f, -0.018679f, -0.009781f, - 0.043977f, 0.001225f, 0.022895f, -0.010885f, -0.019958f, -0.018630f, -0.047980f, 0.045177f, 0.047855f, 0.019421f, 0.050581f, -0.015531f, 0.032797f, -0.014856f, -0.036098f, -0.039989f, -0.042759f, 0.007828f, -0.080264f, 0.084638f, -0.003736f, -0.031830f, -0.046309f, -0.037863f, -0.002344f, -0.024716f, -0.007306f, -0.044084f, -0.027134f, -0.078506f, -0.021678f, -0.051649f, 0.019352f, -0.018200f, 0.015556f, 0.017872f, 0.019147f, -0.012792f, 0.043736f, -0.009662f, 0.031744f, 0.001386f, 0.007811f, -0.002240f, 0.013935f, -0.006509f, -0.017217f, 0.003795f, 0.005225f, 0.016420f, -0.025818f, -0.008885f, 0.006949f, -0.025468f, 0.000299f, 0.009630f, -0.031871f, -0.013840f, 0.007877f, -0.004248f, -0.024374f, -0.037788f, -0.022624f, 0.014086f, -0.007032f, 0.017649f, 0.004395f, 0.000884f, 0.025965f, 0.001997f, 0.022354f, 0.008794f, 0.013994f, 0.051932f, 0.031162f, -0.014338f, 0.008047f, -0.017872f, 0.000877f, -0.008373f, 0.065366f, 0.049078f, 0.018798f, 0.009746f, 0.030789f, 0.027908f, -0.044279f, -0.063834f, 0.021788f, 0.049968f, 0.071450f, 0.000455f, -0.015945f, -0.044545f, -0.026179f, 0.030055f, - -0.000833f, -0.038019f, -0.076754f, -0.076706f, 0.016197f, -0.023027f, 0.043072f, -0.088382f, -0.029200f, 0.017251f, 0.012742f, 0.016888f, -0.027981f, 0.012900f, -0.002370f, -0.016554f, -0.003292f, -0.041441f, 0.038292f, 0.047299f, 0.035107f, -0.055811f, -0.029871f, -0.001264f, 0.018949f, 0.028182f, 0.030084f, 0.024213f, -0.006324f, -0.003888f, -0.007577f, 0.040079f, 0.110902f, 0.070158f, -0.057761f, -0.056684f, -0.036129f, -0.073049f, 0.086194f, 0.046122f, -0.026733f, -0.075769f, -0.072756f, 0.082876f, 0.050865f, 0.011246f, 0.063628f, -0.065945f, -0.007340f, 0.004283f, -0.017064f, 0.006641f, -0.024670f, -0.066692f, 0.016578f, -0.050921f, 0.068332f, 0.064871f, -0.024731f, -0.011263f, 0.000691f, 0.007654f, 0.072713f, 0.074710f, -0.118127f, -0.065593f, -0.038007f, 0.015159f, 0.033100f, 0.032388f, -0.045819f, -0.048755f, -0.058033f, -0.006858f, 0.060013f, 0.001666f, 0.011876f, -0.013376f, -0.064192f, 0.015121f, -0.026971f, -0.033190f, 0.014555f, 0.112648f, 0.037867f, -0.020643f, -0.028863f, -0.026517f, -0.022308f, 0.029879f, 0.034961f, 0.040950f, -0.007395f, 0.026576f, -0.039832f, 0.010027f, - 0.014383f, 0.018524f, -0.014410f, 0.008169f, 0.033090f, -0.008169f, -0.009519f, -0.005107f, 0.032656f, 0.021752f, 0.050904f, 0.013317f, -0.018271f, -0.013243f, 0.018777f, 0.063554f, 0.051232f, 0.011193f, -0.037959f, -0.046047f, -0.015116f, -0.010694f, 0.010889f, 0.004998f, -0.018827f, -0.023132f, 0.043477f, -0.070976f, 0.061940f, 0.091320f, 0.099098f, -0.111641f, 0.020553f, -0.003468f, -0.009561f, 0.047314f, -0.020141f, -0.033150f, 0.032761f, 0.016699f, 0.067915f, -0.006918f, -0.053742f, 0.001627f, -0.024518f, 0.040118f, -0.061757f, -0.021872f, -0.029020f, -0.041155f, 0.056401f, -0.041246f, -0.005858f, 0.038841f, 0.022551f, -0.013691f, -0.021575f, -0.057803f, 0.007472f, 0.076148f, 0.046375f, -0.003272f, 0.022644f, -0.017175f, 0.062195f, -0.041922f, 0.028727f, -0.023138f, 0.038632f, 0.064211f, -0.014273f, -0.041704f, 0.020583f, -0.056875f, 0.094196f, 0.011051f, -0.050007f, -0.017116f, -0.078016f, 0.009951f, 0.111712f, -0.020343f, -0.065756f, -0.045914f, 0.068479f, 0.020462f, -0.035987f, -0.001823f, 0.017630f, 0.038442f, 0.094115f, -0.076796f, 0.034186f, 0.077181f, -0.011726f, -0.091195f, - -0.088357f, -0.051699f, 0.154651f, -0.113197f, 0.038310f, -0.119219f, -0.057367f, 0.249089f, 0.023892f, -0.108574f, -0.104412f, -0.120256f, 0.151658f, 0.019580f, -0.028765f, -0.120493f, -0.029030f, 0.037710f, 0.122705f, -0.043972f, 0.013275f, -0.053055f, 0.018159f, 0.074628f, 0.045387f, -0.066666f, 0.031392f, 0.012300f, 0.028800f, 0.025732f, -0.067866f, 0.002384f, -0.016198f, -0.025568f, 0.013309f, -0.024788f, -0.050073f, 0.019242f, -0.014863f, 0.065061f, 0.009530f, -0.059687f, -0.068412f, -0.021640f, 0.001744f, 0.052494f, 0.039247f, 0.009328f, -0.032024f, 0.013611f, -0.001489f, -0.025221f, 0.001642f, 0.033492f, 0.029143f, 0.007403f, -0.050508f, 0.012736f, 0.019429f, 0.032087f, 0.028121f, 0.020731f, -0.009996f, -0.032464f, -0.012538f, -0.007551f, -0.010350f, 0.015763f, -0.026718f, -0.007204f, -0.009649f, -0.012479f, 0.040620f, -0.104876f, 0.018449f, -0.094223f, 0.041685f, 0.044637f, 0.088100f, 0.039022f, 0.020245f, 0.023087f, -0.027388f, -0.067259f, -0.046772f, -0.044152f, 0.018928f, 0.011019f, -0.011422f, 0.040302f, 0.062144f, -0.027739f, -0.038961f, 0.043171f, 0.007712f, -0.057401f, - -0.013172f, 0.026061f, -0.047350f, -0.008332f, 0.010510f, 0.024167f, 0.012899f, 0.034162f, 0.058536f, 0.010368f, -0.037266f, -0.004274f, 0.011307f, -0.029596f, -0.013210f, 0.027383f, -0.020742f, -0.037484f, 0.052216f, -0.012559f, -0.012892f, -0.020736f, -0.020476f, 0.033855f, 0.008652f, 0.007760f, 0.045068f, -0.021496f, -0.034758f, -0.001991f, 0.003384f, -0.014728f, 0.011550f, -0.002423f, -0.012358f, -0.002214f, -0.043841f, 0.009812f, 0.008625f, -0.007437f, 0.023674f, 0.015991f, 0.008296f, 0.010598f, -0.045282f, 0.053681f, -0.020062f, -0.019388f, 0.016470f, -0.049047f, 0.016009f, -0.036725f, 0.004310f, -0.029049f, 0.009477f, 0.012846f, 0.019898f, 0.001799f, 0.017653f, 0.026605f, -0.010230f, -0.005975f, 0.014774f, -0.000877f, -0.009319f, 0.008124f, 0.001909f, -0.006102f, -0.009377f, -0.008521f, -0.005619f, 0.019213f, -0.018317f, 0.018637f, 0.001310f, 0.005068f, 0.009343f, 0.005567f, 0.013594f, -0.000734f, -0.000339f, -0.008271f, -0.001800f, -0.011408f, 0.023102f, 0.001713f, -0.010317f, -0.016860f, -0.005488f, 0.008960f, -0.016468f, 0.021892f, -0.010594f, -0.027769f, 0.001610f, 0.011798f, - -0.001581f, -0.000801f, 0.002882f, -0.013127f, -0.007925f, -0.048981f, 0.078628f, -0.004286f, 0.044421f, -0.040706f, 0.004808f, -0.007539f, 0.013888f, 0.012536f, 0.023710f, -0.012421f, 0.017392f, -0.011151f, 0.009487f, -0.001967f, 0.007460f, 0.018807f, -0.002571f, 0.029281f, -0.012067f, 0.022072f, 0.000951f, -0.001154f, -0.008559f, 0.014058f, -0.011584f, 0.012679f, -0.007811f, 0.000692f, -0.006518f, 0.006847f, -0.005363f, 0.016562f, -0.005458f, -0.011962f, 0.026662f, -0.018805f, 0.013834f, 0.011107f, 0.003913f, 0.012822f, -0.016704f, -0.011652f, 0.012117f, 0.011333f, -0.007476f, -0.001755f, 0.012936f, -0.001387f, -0.018565f, 0.007864f, -0.009544f, 0.009229f, 0.012554f, 0.005815f, 0.004152f, 0.003932f, -0.019966f, 0.009443f, 0.005339f, -0.006170f, 0.007001f, -0.009505f, 0.004282f, -0.004836f, -0.001123f, -0.002700f, 0.006667f, 0.013077f, -0.018640f, 0.016224f, -0.003476f, -0.006702f, 0.009225f, -0.013031f, 0.005853f, 0.008819f, -0.002453f, -0.004865f, 0.006084f, -0.002731f, 0.003481f, -0.001944f, -0.006782f, -0.001232f, 0.006822f, -0.002090f, 0.002498f, -0.001673f, -0.005036f, 0.002891f, - 0.002618f, 0.004745f, -0.007201f, 0.005373f, -0.000709f, -0.003110f, 0.006380f, -0.007613f, 0.011313f, 0.005647f, -0.004557f, 0.011547f, -0.001136f, -0.004882f, 0.000236f, -0.004878f, 0.006808f, -0.007939f, 0.007843f, 0.003032f, 0.004114f, 0.001805f, -0.004877f, 0.003670f, 0.001586f, 0.000690f, 0.000504f, 0.000096f, -0.002121f, 0.001892f, -0.005088f, 0.005679f, 0.002135f, -0.005784f, 0.019568f, -0.066506f, -0.207193f, -0.030512f, 0.100569f, 0.051980f, 0.244495f, 0.045411f, 0.052551f, 0.033019f, -0.065897f, -0.092855f, -0.066122f, -0.119017f, -0.102235f, -0.058069f, -0.023797f, 0.067980f, 0.185695f, 0.147200f, 0.126859f, 0.072014f, -0.057159f, -0.093103f, -0.068433f, -0.128275f, -0.121397f, -0.037350f, -0.017040f, -0.028465f, 0.047065f, 0.073461f, 0.048688f, 0.089613f, 0.069372f, 0.021074f, 0.063812f, 0.012846f, -0.009484f, 0.005715f, -0.038463f, -0.101380f, -0.086031f, -0.073290f, -0.102589f, -0.043154f, 0.029977f, 0.020413f, 0.065706f, 0.074189f, 0.065026f, 0.066529f, 0.068158f, 0.042985f, 0.042243f, 0.004416f, -0.037847f, -0.070942f, -0.048271f, -0.066799f, -0.087993f, -0.043569f, - -0.040356f, -0.033104f, 0.012485f, 0.033163f, 0.031980f, 0.061994f, 0.077798f, 0.037394f, 0.054857f, 0.046566f, -0.012953f, 0.005198f, 0.021084f, -0.026065f, -0.023346f, -0.041678f, -0.074449f, -0.075031f, -0.059336f, -0.061743f, -0.012015f, 0.025649f, 0.017341f, 0.048768f, 0.073563f, 0.057713f, 0.053598f, 0.054776f, 0.036794f, 0.011867f, 0.003559f, -0.017261f, -0.031933f, -0.034663f, -0.051187f, -0.065126f, -0.068944f, -0.059687f, -0.053265f, -0.030725f, 0.007004f, 0.033484f, 0.077224f, 0.101741f, 0.089629f, 0.073953f, 0.063093f, 0.036177f, 0.007752f, -0.031686f, -0.064642f, -0.088631f, -0.092447f, -0.102369f, -0.075146f, -0.031669f, -0.007792f, 0.021155f, 0.060964f, 0.078228f, 0.084859f, 0.086950f, 0.073096f, 0.030664f, -0.002060f, -0.022776f, -0.049376f, -0.064751f, -0.060363f, -0.054082f, -0.038583f, -0.016164f, 0.002173f, 0.021164f, 0.028002f, 0.021071f, 0.023656f, 0.018333f, 0.012928f, 0.009613f, 0.010454f, 0.003037f, 0.003591f, -0.001313f, -0.005058f, -0.006736f, -0.005455f, -0.008649f, -0.009603f, -0.010971f, -0.009258f, -0.009177f, -0.007149f, -0.005247f, 0.000776f, 0.003325f, - 0.006263f, 0.008615f, 0.011742f, 0.010932f, 0.010220f, 0.007746f, 0.006361f, 0.003092f, -0.000415f, -0.004211f, -0.005981f, -0.008723f, -0.010005f, -0.010274f, -0.008481f, -0.008491f, -0.005082f, -0.001777f, 0.001992f, 0.004698f, 0.007817f, 0.007767f, 0.008667f, 0.008481f, 0.008822f, 0.007830f, 0.004259f, -0.001577f, -0.004413f, -0.007544f, -0.008861f, -0.008220f, -0.006475f, -0.006436f, -0.004328f, -0.003244f, -0.000860f, 0.001439f, 0.004124f, 0.005925f, 0.007967f, 0.007781f, 0.006881f, 0.004685f, 0.002195f, -0.000391f, -0.001788f, -0.003967f, -0.005449f, -0.006504f, -0.006288f, -0.005392f, -0.002930f, -0.000960f, 0.001419f, 0.003040f, 0.003989f, 0.004085f, 0.003471f, 0.002029f, 0.001687f, 0.000893f, 0.000351f, -0.000496f, -0.000973f, -0.001431f, -0.001460f, -0.001512f, -0.001200f, -0.000940f, -0.000515f, -0.000295f, -0.000029f, 0.000044f, 0.000248f, 0.000258f, 0.000300f, 0.000187f, 0.000174f, 0.000142f, 0.000133f, 0.000138f} - }, - { - {-0.006635f, 0.004994f, 0.003140f, -0.006549f, -0.001159f, 0.008330f, 0.002469f, 0.002044f, 0.004597f, -0.001107f, 0.001255f, -0.002190f, -0.008730f, -0.003452f, -0.000434f, -0.001948f, 0.002509f, -0.002726f, -0.000845f, -0.007419f, -0.000007f, 0.001247f, -0.005216f, -0.001165f, -0.006585f, -0.002375f, -0.002094f, -0.008009f, -0.003657f, 0.002505f, 0.003483f, 0.008904f, 0.005300f, 0.011383f, -0.001233f, -0.001902f, 0.001680f, -0.003982f, 0.009937f, 0.000542f, 0.004699f, 0.007828f, 0.001389f, -0.003236f, 0.003230f, -0.004257f, -0.005586f, -0.001459f, -0.002411f, -0.003153f, -0.010325f, -0.003402f, 0.000057f, 0.001552f, 0.003091f, 0.000799f, 0.005262f, -0.005930f, 0.004644f, -0.000108f, 0.001163f, 0.003207f, -0.004070f, -0.009209f, -0.003927f, 0.003814f, 0.005721f, 0.004253f, 0.000377f, 0.004335f, 0.003361f, 0.005923f, 0.003031f, 0.002509f, -0.003951f, 0.000225f, -0.000627f, -0.000884f, -0.003360f, -0.004263f, -0.001786f, -0.001056f, -0.000361f, -0.003311f, 0.000048f, 0.000367f, 0.001279f, 0.000204f, 0.002337f, -0.001348f, 0.001077f, -0.002114f, -0.003020f, 0.001408f, -0.000419f, -0.000178f, - 0.002142f, 0.001376f, 0.001881f, 0.000026f, 0.000205f, -0.001871f, 0.001076f, 0.000217f, 0.000651f, -0.000373f, 0.002898f, -0.000731f, 0.000185f, -0.001352f, -0.000973f, -0.001508f, 0.001250f, -0.001062f, -0.002589f, -0.001660f, -0.004699f, 0.004645f, -0.007275f, -0.004436f, 0.011954f, -0.001831f, 0.010579f, -0.005274f, 0.001112f, 0.005278f, 0.002401f, 0.000437f, -0.006948f, -0.009896f, -0.010326f, 0.001213f, 0.000361f, -0.002859f, 0.001508f, -0.009132f, 0.018463f, 0.002167f, -0.010123f, 0.002809f, -0.005258f, -0.005739f, 0.005574f, 0.007878f, -0.000021f, 0.001842f, 0.003815f, -0.000475f, 0.000135f, 0.006204f, -0.003258f, -0.001406f, 0.000461f, 0.011224f, -0.000126f, -0.001215f, -0.004113f, -0.006492f, 0.003526f, -0.001536f, -0.006659f, -0.002964f, -0.008036f, 0.001178f, -0.007280f, 0.000253f, -0.005490f, -0.001759f, -0.004817f, -0.010137f, -0.004096f, -0.000557f, 0.009745f, 0.001505f, -0.002698f, 0.005346f, 0.008931f, 0.001418f, -0.011941f, 0.005627f, 0.000062f, 0.002333f, 0.004048f, -0.002716f, 0.007723f, -0.003723f, -0.006718f, -0.007019f, -0.012484f, 0.001258f, -0.004201f, -0.004383f, - -0.005575f, -0.005856f, -0.000252f, -0.006396f, 0.002143f, -0.000933f, -0.003588f, -0.001285f, -0.004065f, 0.000166f, -0.000093f, -0.004685f, -0.001891f, 0.002008f, -0.000605f, 0.000384f, 0.001158f, 0.000522f, 0.000904f, 0.000679f, -0.001207f, -0.004192f, -0.000682f, -0.001528f, 0.001287f, -0.000474f, 0.000589f, -0.000746f, 0.000120f, 0.000004f, -0.000841f, -0.002609f, -0.002117f, -0.000296f, -0.000888f, -0.000966f, -0.000781f, -0.001942f, -0.000661f, -0.009052f, 0.015615f, -0.003697f, -0.013828f, 0.001254f, 0.004979f, 0.000625f, 0.004606f, 0.003782f, -0.010902f, 0.004146f, -0.002384f, -0.000269f, 0.000657f, -0.001849f, 0.008683f, -0.002438f, -0.005294f, -0.000303f, 0.006986f, 0.004442f, 0.002730f, 0.004160f, 0.016637f, 0.004510f, -0.005415f, 0.007591f, -0.006656f, 0.002451f, -0.005326f, 0.015609f, 0.002632f, -0.004856f, -0.002800f, -0.004870f, -0.001519f, 0.010408f, -0.007947f, -0.006729f, -0.001870f, 0.008645f, 0.005095f, -0.007688f, 0.002451f, 0.001926f, -0.004360f, 0.000381f, -0.016579f, 0.005747f, -0.003638f, -0.003062f, -0.010424f, 0.016306f, 0.001140f, -0.008284f, -0.006387f, -0.008129f, - 0.000870f, -0.001648f, 0.001138f, 0.000084f, -0.009460f, 0.012929f, -0.006994f, -0.006501f, 0.005303f, 0.001496f, 0.005271f, -0.003467f, -0.000515f, -0.007753f, 0.000956f, 0.001842f, -0.009763f, -0.007348f, 0.000978f, -0.006853f, 0.002764f, -0.006119f, -0.001516f, -0.001644f, 0.004703f, -0.007940f, -0.008118f, -0.001600f, -0.001076f, -0.001888f, -0.000285f, -0.003500f, -0.000658f, -0.002520f, -0.001907f, -0.001598f, -0.002348f, -0.003053f, -0.000021f, -0.004136f, 0.001392f, -0.002713f, 0.000259f, 0.000368f, -0.000747f, -0.001500f, 0.000056f, -0.001029f, 0.002466f, -0.000240f, -0.001566f, -0.000018f, -0.002981f, -0.000551f, -0.001714f, 0.000249f, 0.000731f, -0.002155f, -0.002518f, -0.000628f, 0.013471f, 0.000487f, 0.002967f, -0.011011f, 0.003476f, 0.006445f, 0.004714f, -0.000388f, -0.005496f, 0.014490f, 0.002567f, -0.002790f, 0.006973f, 0.005730f, -0.006678f, 0.008915f, -0.005880f, 0.014649f, 0.002120f, 0.013085f, -0.001365f, 0.002383f, -0.005045f, -0.014625f, 0.001643f, 0.000395f, 0.000554f, -0.002449f, 0.003076f, 0.007867f, -0.001905f, -0.007460f, -0.004960f, -0.010650f, -0.002931f, -0.005192f, - -0.005645f, 0.001093f, 0.003743f, 0.005944f, -0.006875f, 0.004931f, -0.004591f, -0.005640f, -0.000743f, 0.005046f, 0.000958f, 0.001337f, -0.010718f, -0.010255f, -0.001937f, -0.002959f, -0.007832f, 0.017248f, 0.007976f, -0.000962f, 0.003326f, 0.007007f, -0.017257f, -0.008617f, 0.011611f, -0.006333f, 0.010891f, 0.002597f, -0.002246f, -0.011464f, -0.008542f, 0.013924f, 0.007321f, 0.013175f, -0.013682f, -0.000811f, -0.009487f, -0.000617f, 0.003387f, -0.004920f, 0.001620f, 0.001160f, -0.008520f, 0.007808f, 0.000862f, 0.001310f, -0.001388f, -0.015033f, 0.001650f, -0.003501f, -0.004780f, -0.004596f, -0.000922f, 0.002801f, -0.002451f, 0.001340f, -0.005349f, -0.000966f, -0.002456f, 0.003582f, -0.000668f, -0.000241f, -0.001746f, 0.000296f, -0.001826f, 0.001343f, -0.003032f, -0.001266f, 0.000979f, -0.000677f, -0.000208f, -0.000005f, -0.000045f, 0.001592f, 0.000852f, -0.000060f, -0.002141f, -0.002005f, -0.002322f, 0.002177f, 0.000873f, 0.003087f, 0.001484f, -0.001071f, 0.001255f, -0.022600f, 0.001169f, -0.002931f, 0.006078f, -0.013689f, 0.004334f, -0.004639f, 0.022778f, -0.006085f, -0.011857f, -0.004360f, - -0.009952f, 0.003058f, 0.008432f, -0.002735f, 0.015909f, 0.001600f, -0.004744f, 0.003810f, 0.001906f, 0.004120f, -0.005690f, -0.001029f, 0.005896f, 0.009327f, 0.003666f, -0.001902f, 0.004453f, -0.008393f, -0.002648f, 0.011738f, 0.008376f, 0.013789f, 0.009768f, -0.000266f, -0.007075f, -0.014777f, 0.010134f, -0.001646f, -0.010795f, 0.005548f, -0.002884f, -0.016547f, 0.000388f, -0.013800f, -0.001137f, 0.012414f, -0.002158f, -0.009291f, -0.004309f, 0.011855f, -0.010349f, -0.016893f, 0.017070f, -0.003256f, -0.004207f, 0.003982f, 0.002126f, 0.001999f, 0.004069f, 0.004097f, 0.002230f, -0.012454f, -0.004769f, 0.009575f, -0.001345f, -0.003711f, 0.002856f, 0.016457f, -0.008406f, -0.009172f, -0.004225f, 0.006727f, 0.003381f, -0.014877f, -0.006652f, -0.005130f, -0.006528f, 0.004864f, -0.000929f, -0.001141f, -0.005571f, -0.004393f, -0.011803f, -0.006780f, 0.002787f, 0.000376f, 0.001821f, -0.000486f, 0.006916f, 0.007198f, 0.001213f, 0.002624f, -0.003669f, 0.000822f, 0.000298f, 0.002940f, -0.004508f, -0.002045f, 0.000507f, 0.000103f, 0.002034f, -0.000087f, -0.002582f, 0.002592f, 0.000915f, -0.004944f, - -0.001016f, 0.001437f, 0.000839f, 0.000851f, -0.001290f, 0.000666f, -0.002459f, -0.002366f, -0.002107f, 0.001267f, -0.001109f, -0.001201f, -0.000412f, -0.019921f, -0.000553f, 0.005160f, 0.018921f, 0.019555f, -0.006475f, 0.009670f, -0.012796f, 0.004031f, 0.008243f, 0.012512f, -0.003817f, 0.018833f, -0.003699f, 0.015953f, -0.008925f, 0.013343f, -0.006907f, -0.022562f, -0.005223f, 0.005459f, -0.007870f, 0.008516f, -0.004986f, -0.005529f, 0.002295f, -0.024721f, -0.008078f, -0.000653f, -0.004405f, -0.001625f, -0.012011f, -0.004252f, -0.004371f, 0.003759f, 0.024923f, 0.014291f, -0.014703f, 0.007815f, 0.019905f, 0.004816f, -0.007161f, 0.004840f, -0.005419f, -0.006122f, 0.014294f, 0.009881f, -0.010161f, -0.001506f, 0.010155f, 0.021336f, -0.007045f, 0.011534f, 0.031783f, 0.013572f, -0.014830f, 0.005784f, 0.003586f, -0.017937f, 0.002542f, -0.014851f, 0.006445f, -0.016170f, -0.003891f, 0.000505f, 0.007456f, -0.010609f, -0.003005f, -0.005340f, -0.009611f, 0.012118f, 0.010437f, -0.000737f, -0.007072f, 0.001742f, 0.001768f, 0.001579f, 0.002860f, 0.008961f, 0.001692f, -0.012289f, -0.000307f, 0.014579f, - 0.000378f, 0.003151f, 0.002889f, 0.004309f, -0.004675f, -0.002302f, -0.007463f, -0.003302f, -0.006871f, -0.000724f, 0.003984f, -0.001045f, -0.003914f, 0.002000f, -0.000838f, 0.000690f, -0.002142f, -0.001602f, 0.002694f, -0.000369f, 0.006518f, 0.001443f, -0.001439f, 0.003300f, -0.000116f, -0.001711f, -0.002506f, -0.003512f, 0.001435f, -0.001940f, -0.000921f, 0.001543f, -0.000186f, 0.002899f, 0.000168f, -0.004197f, 0.008671f, -0.004334f, -0.020043f, 0.004601f, -0.016104f, 0.002577f, -0.005347f, 0.020780f, -0.010577f, 0.002913f, 0.005456f, 0.002040f, 0.007535f, -0.003081f, 0.022753f, 0.001761f, -0.014781f, -0.002772f, -0.010903f, -0.001771f, -0.003558f, -0.010220f, -0.012814f, -0.003313f, -0.008258f, -0.003923f, 0.014553f, 0.005388f, -0.012330f, 0.004776f, -0.014723f, -0.002818f, 0.010686f, -0.020106f, -0.017737f, 0.010053f, 0.009458f, 0.004877f, -0.000621f, -0.012227f, 0.004812f, -0.006049f, -0.011536f, -0.005360f, 0.000601f, 0.003606f, 0.019041f, -0.007558f, -0.002182f, 0.000967f, 0.008864f, 0.004639f, -0.006632f, -0.008568f, -0.015315f, -0.004711f, -0.003417f, -0.008456f, -0.009836f, 0.006201f, - 0.012707f, -0.000111f, -0.008174f, 0.014055f, 0.002680f, -0.007013f, 0.001701f, -0.002116f, -0.001865f, -0.004912f, -0.002783f, 0.009103f, -0.007316f, -0.010973f, -0.006329f, 0.005658f, -0.008479f, 0.014851f, 0.006642f, -0.002523f, -0.006156f, -0.006998f, 0.004201f, 0.009201f, 0.018939f, -0.005546f, 0.009674f, 0.000261f, -0.000073f, 0.000976f, 0.003009f, -0.003560f, 0.000049f, 0.002280f, 0.003955f, -0.002571f, 0.002756f, -0.002219f, 0.009158f, 0.003444f, 0.006876f, 0.000014f, 0.004660f, -0.000320f, 0.004131f, -0.000899f, -0.000421f, 0.004792f, 0.001800f, 0.000518f, 0.002536f, 0.000498f, 0.004765f, -0.003641f, 0.001083f, 0.003209f, 0.004375f, 0.003732f, -0.001515f, -0.004967f, -0.000125f, 0.002990f, 0.000620f, 0.000475f, 0.003921f, 0.010331f, 0.019738f, -0.014773f, -0.000546f, 0.013432f, -0.006472f, -0.009692f, 0.012349f, -0.019561f, -0.001224f, 0.003581f, -0.002571f, -0.007316f, -0.008628f, -0.004165f, 0.003351f, -0.001078f, 0.009322f, 0.004681f, -0.003157f, -0.007471f, -0.005462f, 0.015362f, 0.000573f, -0.018845f, 0.008744f, -0.011932f, -0.011696f, 0.007122f, 0.013524f, 0.013788f, - 0.010458f, -0.000362f, 0.007058f, 0.004794f, 0.006662f, -0.006196f, -0.000341f, -0.005589f, -0.013576f, 0.005669f, -0.003526f, -0.000769f, -0.003017f, 0.001292f, -0.002268f, 0.014939f, 0.027813f, 0.004561f, -0.004857f, -0.000107f, -0.019917f, 0.019277f, -0.013590f, -0.008824f, -0.013079f, -0.016012f, 0.027035f, 0.001458f, -0.015072f, -0.005470f, 0.018646f, 0.009609f, -0.014184f, -0.010599f, 0.021377f, 0.001711f, 0.002182f, 0.027660f, -0.013249f, 0.007587f, -0.009958f, -0.027484f, 0.012880f, 0.013211f, 0.002181f, -0.015872f, -0.002254f, -0.003457f, 0.003255f, -0.006895f, 0.010030f, 0.006182f, -0.021748f, 0.009212f, 0.010382f, 0.013257f, 0.002270f, -0.011624f, 0.019400f, 0.003286f, -0.001747f, -0.001501f, -0.006534f, -0.006859f, -0.002481f, 0.001221f, 0.005844f, -0.000022f, 0.000459f, -0.000632f, -0.005241f, 0.002191f, 0.002335f, 0.001031f, -0.002414f, -0.001445f, 0.003907f, 0.001399f, 0.004453f, -0.002923f, 0.001037f, -0.006811f, 0.000756f, 0.006424f, -0.008629f, 0.001193f, -0.006764f, 0.007856f, -0.003288f, -0.000182f, -0.005270f, -0.000032f, 0.004532f, -0.000542f, 0.006186f, 0.000021f, - -0.001775f, 0.004487f, 0.009478f, 0.012081f, 0.022300f, 0.020432f, -0.000699f, 0.017438f, 0.007898f, 0.017780f, 0.017182f, -0.028263f, 0.010392f, -0.009067f, -0.012163f, -0.008840f, -0.002569f, -0.017980f, -0.003680f, 0.004543f, -0.015360f, -0.031643f, 0.007376f, -0.002116f, -0.028500f, -0.020882f, -0.018631f, -0.010352f, 0.001134f, -0.005254f, 0.006910f, -0.003656f, 0.011490f, 0.022311f, -0.012589f, 0.007670f, -0.004879f, -0.010043f, -0.007282f, 0.001477f, -0.002060f, -0.000795f, 0.016649f, -0.000560f, 0.016782f, 0.021717f, 0.006571f, 0.009420f, 0.014415f, -0.001749f, 0.003016f, -0.021198f, 0.020055f, -0.017266f, -0.005996f, -0.005418f, 0.001891f, -0.004685f, -0.016467f, -0.014500f, -0.031931f, 0.029169f, -0.032620f, -0.031622f, 0.005496f, 0.030584f, 0.010938f, -0.003815f, -0.007532f, 0.014132f, -0.015244f, 0.017646f, -0.004986f, 0.002351f, 0.001938f, -0.011509f, 0.012342f, -0.013619f, -0.011093f, -0.001198f, 0.004532f, -0.013005f, -0.001938f, 0.007167f, -0.000925f, -0.003483f, 0.009518f, -0.006100f, -0.011668f, -0.002605f, 0.006067f, -0.007706f, -0.004451f, -0.005243f, -0.001078f, 0.003658f, - -0.002417f, 0.001170f, -0.001844f, -0.004183f, 0.001334f, -0.002655f, 0.002842f, -0.002781f, 0.004065f, -0.001096f, 0.007490f, -0.000965f, 0.002964f, 0.004118f, -0.002451f, -0.004901f, -0.000418f, -0.001135f, -0.000186f, -0.001455f, 0.003537f, 0.000263f, 0.004542f, -0.003889f, 0.001671f, -0.008440f, 0.000484f, 0.000450f, -0.003027f, 0.002428f, 0.013195f, 0.017217f, 0.017215f, 0.018742f, 0.044324f, 0.019852f, 0.025296f, -0.012644f, 0.041025f, -0.023574f, 0.001045f, 0.008965f, -0.000270f, -0.015564f, 0.005053f, -0.004374f, -0.035127f, 0.013181f, -0.008905f, 0.003662f, -0.003359f, -0.011715f, -0.000051f, 0.010320f, -0.014225f, -0.007452f, -0.002276f, 0.008137f, -0.021447f, 0.013440f, 0.005048f, -0.019705f, -0.001595f, 0.007882f, -0.017818f, 0.006543f, -0.021355f, 0.009718f, -0.001884f, -0.007003f, -0.000883f, -0.014027f, 0.017837f, 0.021027f, -0.020209f, -0.011637f, 0.009094f, -0.007299f, 0.005578f, 0.004981f, 0.001309f, 0.000557f, 0.024352f, -0.006277f, -0.016350f, 0.014983f, -0.000663f, -0.012964f, -0.010822f, -0.020399f, 0.003871f, 0.005399f, 0.010099f, 0.009601f, -0.009403f, -0.015883f, - 0.008780f, 0.004270f, 0.030462f, 0.003076f, -0.003811f, 0.000630f, 0.002009f, -0.009142f, -0.004054f, -0.011426f, 0.012465f, 0.007073f, 0.008110f, -0.002541f, -0.019517f, -0.017922f, -0.005847f, -0.001734f, -0.007023f, -0.012472f, 0.003447f, -0.005552f, 0.008029f, 0.001255f, -0.001321f, 0.004841f, 0.005173f, 0.008095f, 0.007727f, 0.006069f, -0.000063f, -0.002032f, 0.002192f, 0.005378f, 0.004280f, -0.002657f, -0.002356f, -0.001745f, 0.001409f, -0.000201f, -0.001541f, -0.000090f, -0.009602f, 0.000989f, 0.006262f, 0.004613f, -0.007480f, -0.005574f, 0.010715f, 0.005541f, 0.010627f, 0.004001f, -0.007770f, 0.007180f, -0.001899f, -0.006080f, 0.001145f, -0.008592f, -0.004606f, -0.002347f, 0.003214f, -0.001896f, -0.023970f, -0.026941f, 0.044997f, 0.031380f, 0.040228f, 0.002582f, -0.025791f, 0.009108f, 0.021003f, 0.014954f, -0.006567f, -0.016316f, -0.004788f, -0.005991f, -0.007906f, -0.014047f, -0.005622f, -0.011797f, 0.030006f, 0.004804f, 0.004971f, 0.000237f, 0.001767f, 0.003194f, -0.011067f, 0.019857f, 0.011227f, -0.001176f, 0.007238f, -0.002820f, 0.020451f, 0.003773f, -0.001788f, -0.033418f, - -0.002452f, 0.002107f, 0.003207f, -0.006254f, 0.004204f, -0.015827f, 0.027156f, 0.021984f, 0.021236f, 0.018520f, -0.014533f, -0.020151f, 0.015493f, 0.004773f, 0.007589f, -0.001320f, -0.023439f, -0.016967f, 0.001384f, -0.013226f, 0.000185f, -0.011107f, -0.004806f, 0.014085f, 0.004511f, -0.010042f, 0.003629f, -0.025935f, 0.000827f, -0.043975f, -0.022318f, -0.041547f, 0.035917f, 0.032350f, 0.034555f, 0.041845f, 0.020296f, -0.006912f, -0.018520f, -0.005619f, -0.000990f, 0.006018f, 0.033181f, -0.010934f, -0.025142f, 0.019222f, -0.015986f, 0.008380f, -0.003629f, -0.003610f, 0.007815f, -0.007451f, -0.013577f, -0.003839f, -0.016726f, -0.003543f, -0.015035f, -0.003451f, 0.002159f, -0.001315f, -0.001772f, -0.004080f, -0.005215f, -0.010397f, -0.000110f, 0.005484f, 0.000902f, -0.005226f, 0.001883f, 0.009119f, -0.001177f, 0.006105f, 0.003386f, 0.003623f, 0.002607f, -0.012016f, 0.010595f, -0.004630f, -0.003770f, 0.007103f, 0.002493f, 0.007851f, 0.000853f, -0.009991f, -0.001808f, 0.000251f, 0.001800f, -0.006099f, 0.000344f, -0.000398f, -0.015954f, -0.021468f, 0.018934f, 0.024567f, -0.012064f, 0.022809f, - 0.003219f, -0.009684f, 0.009174f, -0.033057f, -0.010255f, 0.009326f, -0.010531f, -0.020272f, -0.038208f, 0.018774f, -0.016418f, 0.004421f, 0.024753f, 0.005942f, 0.028863f, 0.022080f, 0.012553f, 0.004740f, -0.017042f, -0.005000f, -0.008921f, 0.001563f, 0.016074f, 0.008380f, 0.003320f, 0.013724f, 0.039240f, -0.002048f, -0.033372f, -0.014653f, 0.005394f, 0.008014f, -0.001910f, 0.000829f, 0.003161f, -0.014235f, 0.000878f, -0.031411f, 0.007066f, -0.032860f, -0.011982f, -0.025446f, 0.012529f, -0.012694f, -0.020879f, 0.031862f, 0.008936f, 0.002598f, -0.014340f, -0.019114f, 0.004773f, 0.007576f, 0.002807f, 0.010382f, -0.016292f, 0.035820f, -0.043494f, 0.011314f, -0.018130f, -0.026400f, -0.014793f, 0.022797f, 0.006868f, -0.024749f, 0.017482f, -0.019709f, 0.048307f, -0.004504f, -0.005306f, -0.023501f, 0.002809f, -0.031351f, -0.016823f, 0.041823f, -0.016842f, -0.018995f, -0.012409f, 0.012505f, 0.001565f, 0.017727f, 0.008830f, 0.009267f, 0.012914f, 0.007022f, -0.001194f, 0.001333f, 0.006155f, 0.002639f, -0.003426f, 0.010382f, -0.003271f, -0.003620f, -0.007837f, -0.007030f, -0.003169f, 0.003831f, - -0.006174f, 0.000453f, 0.003000f, -0.002544f, 0.002614f, 0.000485f, 0.010232f, 0.005369f, -0.000029f, -0.002092f, 0.000001f, -0.000747f, 0.006106f, -0.005446f, 0.005536f, -0.001538f, 0.002439f, 0.008585f, -0.002740f, 0.000450f, -0.001208f, -0.004320f, 0.010491f, -0.001479f, 0.008178f, 0.045589f, 0.046908f, 0.044251f, 0.009560f, -0.011681f, -0.007228f, -0.028269f, 0.023222f, 0.000824f, 0.013688f, -0.008358f, 0.004502f, -0.010246f, -0.007843f, -0.016287f, 0.009028f, -0.016965f, 0.028245f, -0.073182f, -0.021198f, 0.000667f, -0.022034f, 0.015900f, -0.022653f, 0.004831f, -0.008660f, 0.023200f, 0.004257f, 0.022337f, 0.001763f, -0.005103f, -0.000203f, 0.008262f, -0.025535f, -0.018321f, -0.019828f, -0.002695f, 0.025157f, -0.049187f, 0.017267f, 0.043022f, 0.005427f, -0.031426f, -0.001089f, -0.026449f, -0.025325f, 0.017771f, -0.003185f, -0.021587f, 0.012223f, 0.001929f, -0.007943f, -0.012146f, 0.007171f, 0.017952f, 0.010983f, -0.025101f, -0.018263f, 0.014543f, 0.021893f, -0.017640f, -0.023316f, 0.011679f, 0.024509f, -0.029515f, -0.000879f, -0.026340f, -0.036158f, 0.043292f, -0.007045f, 0.006777f, - -0.007960f, 0.026870f, -0.006172f, 0.006655f, -0.014247f, 0.023382f, 0.013054f, 0.021518f, 0.024899f, -0.024582f, -0.027107f, -0.011005f, -0.005087f, -0.016265f, -0.040857f, 0.004608f, 0.002362f, 0.000066f, -0.002890f, -0.006568f, -0.005387f, 0.011860f, -0.000909f, -0.005001f, 0.010999f, -0.011913f, -0.006258f, 0.004530f, 0.021475f, -0.006409f, -0.006476f, 0.001117f, -0.002584f, 0.007447f, -0.002472f, -0.001125f, -0.003651f, -0.005941f, -0.014893f, -0.021467f, 0.003912f, -0.001470f, -0.016299f, -0.008151f, 0.004412f, -0.005669f, -0.018486f, -0.010301f, -0.001160f, -0.003198f, 0.001567f, 0.005312f, 0.002297f, -0.000014f, 0.015305f, 0.005281f, 0.024043f, -0.007683f, 0.000043f, -0.034336f, -0.015586f, -0.007315f, -0.028988f, -0.041992f, -0.007209f, -0.013535f, 0.041050f, 0.012844f, 0.060661f, 0.011561f, -0.016412f, 0.008652f, 0.012154f, -0.048201f, 0.003600f, 0.043705f, 0.028095f, -0.027777f, 0.004718f, 0.022215f, -0.038500f, -0.005567f, -0.018862f, 0.017446f, -0.014579f, 0.011752f, 0.003496f, -0.007022f, 0.002966f, 0.000650f, -0.011806f, 0.014147f, -0.025871f, -0.009683f, -0.010628f, -0.032785f, - -0.006198f, -0.003669f, 0.001380f, 0.003162f, -0.008295f, -0.009814f, 0.062014f, 0.019150f, -0.022904f, -0.042543f, -0.014845f, 0.005141f, 0.045066f, -0.009970f, -0.004899f, -0.023969f, -0.005735f, -0.016647f, 0.037109f, -0.028737f, 0.033200f, 0.041734f, -0.040577f, 0.028095f, 0.011195f, -0.016857f, -0.014801f, 0.010759f, 0.020043f, -0.089693f, -0.011130f, 0.000552f, -0.011574f, 0.024536f, -0.011394f, -0.066869f, -0.025472f, -0.018993f, -0.029723f, -0.029076f, 0.006060f, 0.006520f, -0.016502f, -0.014678f, -0.027358f, 0.003591f, -0.009651f, 0.003091f, -0.011446f, -0.013607f, -0.015411f, 0.004420f, -0.002501f, 0.010524f, -0.013236f, 0.007528f, -0.000953f, -0.013651f, -0.029107f, -0.006807f, -0.000986f, 0.010347f, -0.003441f, -0.039070f, 0.008913f, 0.019946f, 0.008475f, -0.000210f, -0.013168f, 0.014836f, -0.001216f, -0.003892f, -0.023238f, -0.003406f, -0.007512f, 0.020583f, -0.002256f, 0.003901f, 0.000900f, 0.004996f, 0.013411f, -0.008485f, 0.001546f, 0.001386f, -0.003599f, 0.001805f, 0.006240f, -0.027716f, -0.023634f, -0.008590f, -0.018950f, -0.013059f, -0.004663f, -0.011795f, -0.014943f, -0.014455f, - -0.003522f, -0.003502f, -0.005954f, -0.010448f, -0.004007f, -0.007186f, -0.001262f, -0.003467f, -0.012777f, 0.010302f, 0.060142f, -0.001741f, -0.070021f, -0.039139f, -0.043319f, -0.008059f, -0.023944f, -0.000940f, -0.035541f, 0.058431f, 0.034733f, -0.006172f, 0.045940f, 0.001437f, 0.049528f, 0.011955f, -0.028527f, -0.038855f, -0.024513f, -0.031330f, -0.014007f, 0.007773f, 0.021378f, -0.006867f, 0.007018f, -0.025862f, 0.004466f, -0.037351f, -0.003363f, -0.002051f, 0.012883f, -0.013972f, 0.060009f, 0.007839f, -0.001552f, 0.039902f, -0.015453f, -0.028140f, -0.016562f, 0.024495f, -0.001868f, -0.015937f, 0.006679f, -0.000127f, 0.051029f, 0.012694f, 0.000140f, -0.019712f, -0.030828f, -0.077731f, 0.005019f, -0.061733f, 0.031297f, 0.106152f, -0.075823f, -0.016121f, 0.017149f, -0.012968f, -0.013383f, -0.021148f, 0.017705f, -0.021711f, -0.073360f, -0.019397f, -0.073154f, -0.015204f, -0.002191f, -0.045742f, -0.006547f, -0.065867f, 0.028559f, -0.006518f, -0.041894f, 0.102918f, 0.007912f, 0.042035f, 0.035076f, 0.056839f, -0.034920f, -0.002214f, -0.021096f, -0.007471f, -0.014314f, 0.027074f, 0.017007f, 0.024342f, - -0.050086f, -0.009914f, -0.027311f, -0.034991f, -0.029559f, -0.017902f, -0.004084f, 0.019697f, 0.016014f, 0.011360f, 0.014120f, -0.003817f, 0.004441f, 0.028138f, -0.005362f, 0.027850f, 0.007957f, -0.023825f, -0.006793f, 0.008791f, -0.010620f, -0.003875f, 0.032294f, 0.000741f, -0.010131f, 0.036663f, -0.017127f, -0.002311f, -0.030255f, -0.007057f, -0.021206f, 0.016005f, -0.016293f, -0.006869f, -0.006396f, 0.006299f, -0.007429f, 0.014505f, 0.000006f, 0.014997f, 0.003753f, -0.005219f, -0.010522f, -0.013804f, -0.010859f, -0.021091f, -0.122602f, -0.012117f, -0.030775f, -0.033768f, 0.045690f, 0.036386f, -0.042473f, -0.033431f, 0.085483f, -0.008859f, 0.028251f, 0.005110f, -0.003662f, -0.009033f, -0.008444f, -0.026778f, 0.000464f, 0.010518f, 0.015943f, 0.010977f, 0.031059f, -0.023064f, 0.000194f, -0.022460f, -0.013044f, 0.010116f, 0.043747f, 0.028351f, 0.038720f, 0.034765f, -0.006868f, 0.013041f, 0.021194f, 0.000772f, -0.034061f, -0.005622f, 0.049027f, -0.007918f, -0.068159f, -0.029655f, 0.008324f, -0.057699f, -0.024502f, -0.059149f, -0.040378f, -0.036702f, 0.056067f, 0.038538f, -0.011274f, 0.038570f, - 0.015304f, 0.054117f, 0.036625f, 0.017877f, -0.093258f, -0.020290f, 0.004949f, -0.081913f, -0.059707f, -0.022520f, -0.015356f, -0.096065f, 0.021560f, 0.054179f, 0.072433f, 0.086615f, -0.028211f, -0.055348f, 0.000079f, -0.055850f, -0.041342f, -0.077820f, -0.086582f, -0.060990f, -0.051258f, 0.058467f, 0.003199f, 0.012254f, -0.052153f, -0.054750f, -0.048996f, -0.004351f, 0.076460f, 0.096802f, 0.003179f, -0.034725f, -0.026534f, -0.038236f, -0.100432f, -0.044584f, -0.044433f, -0.011903f, -0.003343f, -0.022409f, 0.026943f, 0.000369f, -0.007417f, -0.035541f, -0.046505f, -0.024117f, -0.026057f, -0.041031f, -0.008819f, -0.010169f, -0.003697f, -0.010764f, -0.018639f, 0.025431f, 0.015801f, -0.002287f, -0.022558f, 0.016863f, 0.027665f, 0.002369f, -0.023165f, -0.012029f, 0.019444f, 0.005510f, -0.004941f, -0.022229f, 0.019421f, -0.004283f, -0.007074f, 0.002464f, 0.015137f, 0.004070f, -0.004023f, 0.002564f, 0.011808f, 0.002167f, -0.039126f, -0.093276f, 0.035109f, 0.003584f, -0.063734f, 0.057834f, 0.028258f, 0.017246f, -0.014594f, -0.057005f, -0.014994f, 0.000868f, 0.053878f, 0.071959f, 0.003435f, 0.018899f, - 0.003894f, 0.001517f, -0.004237f, 0.009089f, -0.031247f, 0.101676f, 0.023797f, -0.034172f, -0.034254f, -0.015617f, 0.003720f, 0.049335f, -0.025027f, -0.008317f, -0.000781f, 0.024619f, -0.025113f, 0.012636f, 0.000926f, -0.006362f, -0.085363f, -0.027209f, 0.026353f, 0.043134f, 0.014805f, -0.010137f, -0.025161f, -0.056538f, -0.006856f, 0.008437f, -0.014027f, 0.000285f, -0.015321f, -0.036682f, 0.035516f, -0.009048f, 0.012230f, -0.039168f, -0.008806f, 0.097799f, 0.006670f, -0.011590f, 0.010775f, 0.012190f, 0.008560f, 0.048929f, -0.018902f, -0.023080f, 0.036260f, -0.004835f, 0.021209f, 0.013056f, 0.031508f, -0.013081f, -0.037328f, 0.017903f, -0.017618f, 0.002305f, 0.138446f, 0.133395f, 0.059485f, -0.012524f, -0.007594f, 0.016377f, 0.062351f, 0.028603f, -0.019481f, -0.002639f, -0.009039f, -0.036112f, -0.038526f, 0.020214f, 0.009688f, 0.004866f, 0.030779f, -0.004701f, -0.018318f, 0.018239f, 0.007186f, 0.027164f, -0.040935f, -0.033209f, -0.041584f, 0.005630f, -0.019099f, 0.001859f, -0.008941f, 0.014355f, 0.015735f, 0.033878f, 0.019129f, -0.036790f, -0.027604f, 0.012692f, -0.023162f, -0.013141f, - 0.002019f, 0.011486f, -0.015845f, -0.036173f, -0.004801f, 0.000900f, -0.003899f, 0.015565f, 0.003427f, -0.029241f, 0.008106f, 0.046451f, 0.052942f, 0.039756f, 0.045061f, 0.032537f, 0.040558f, -0.011461f, -0.003373f, 0.015731f, -0.005335f, 0.015495f, 0.013733f, 0.020924f, 0.038530f, 0.068995f, 0.009966f, -0.071298f, -0.018142f, 0.016682f, 0.011561f, -0.016582f, 0.055219f, 0.027705f, 0.022012f, -0.017341f, 0.064499f, -0.003191f, 0.002470f, -0.016493f, 0.034843f, 0.023087f, -0.047786f, -0.070551f, -0.018944f, 0.012508f, 0.005095f, -0.013043f, -0.064375f, -0.005986f, 0.024369f, 0.005830f, -0.020966f, -0.008516f, -0.018605f, -0.024605f, 0.016441f, 0.019146f, -0.040848f, -0.046455f, -0.015236f, -0.057759f, 0.016936f, 0.051646f, -0.043726f, 0.049666f, -0.021988f, -0.026592f, -0.049197f, -0.069557f, -0.077770f, -0.074087f, -0.037301f, 0.000488f, 0.029424f, 0.013590f, 0.029313f, -0.038845f, -0.086823f, -0.034160f, -0.083395f, -0.147701f, -0.055326f, 0.119949f, 0.205716f, 0.120431f, -0.048982f, -0.039770f, -0.180609f, -0.162705f, 0.114742f, 0.020383f, 0.150364f, 0.155067f, 0.161865f, 0.054671f, - -0.062805f, -0.078930f, -0.087477f, -0.100893f, -0.013455f, 0.101793f, 0.172407f, 0.055389f, 0.019134f, -0.007112f, -0.083927f, -0.124343f, -0.082950f, 0.017067f, 0.119533f, 0.055919f, 0.077938f, 0.063054f, 0.024291f, -0.044035f, -0.048320f, 0.002977f, -0.026108f, 0.010463f, 0.059309f, 0.062220f, 0.046695f, 0.009898f, 0.024545f, 0.001876f, -0.037385f, 0.009239f, 0.017504f, -0.005166f, 0.008315f, -0.010130f, 0.085443f, 0.049674f, 0.054802f, 0.033138f, -0.027249f, -0.072693f, -0.102809f, 0.016874f, 0.038178f, 0.071726f, 0.072836f, 0.092588f, 0.046295f, -0.066423f, -0.082568f, -0.101473f, -0.016248f, 0.001148f, 0.057593f, 0.033371f, 0.019485f, 0.031440f, -0.049310f, -0.150294f, -0.099561f, -0.092080f, -0.019321f, 0.013517f, 0.037131f, -0.007841f, -0.018294f, -0.033339f, -0.039362f, -0.006618f, 0.014239f, -0.046543f, 0.065155f, 0.031277f, 0.057868f, -0.127223f, 0.028854f, 0.017144f, -0.039087f, 0.028451f, -0.029225f, -0.014515f, -0.008689f, -0.018268f, 0.054830f, 0.100840f, -0.029263f, 0.020179f, -0.013992f, 0.024065f, 0.051404f, -0.015833f, -0.009283f, -0.028089f, 0.014840f, -0.017886f, - -0.055583f, 0.040487f, 0.068751f, -0.009212f, -0.035842f, -0.033120f, -0.072211f, -0.020099f, 0.054935f, 0.037051f, 0.019215f, -0.079838f, -0.046111f, -0.034928f, 0.070588f, 0.060965f, 0.053753f, -0.155701f, -0.103374f, -0.012797f, 0.077006f, 0.163960f, 0.000789f, -0.197646f, -0.072380f, 0.006376f, 0.066729f, -0.005663f, 0.036702f, 0.027399f, -0.086070f, -0.038002f, -0.023684f, -0.051955f, 0.003759f, -0.097346f, 0.015374f, 0.038208f, -0.117178f, -0.075376f, -0.036415f, -0.015269f, 0.130078f, -0.001019f, -0.199188f, 0.018915f, 0.028288f, 0.030196f, 0.078741f, 0.036388f, -0.084982f, 0.004042f, -0.003074f, 0.170340f, 0.120545f, -0.100270f, 0.091367f, -0.053569f, 0.036478f, 0.093958f, 0.034086f, -0.051943f, 0.047539f, -0.020924f, 0.012371f, 0.032424f, -0.003272f, -0.035249f, 0.064749f, -0.041736f, 0.047521f, -0.022391f, 0.025678f, -0.007995f, 0.052155f, -0.018405f, 0.041039f, -0.071343f, -0.012038f, -0.001056f, -0.009104f, 0.022657f, 0.044465f, -0.045426f, 0.091421f, -0.035905f, -0.031151f, -0.062389f, 0.045767f, 0.095655f, 0.019178f, -0.126501f, 0.010445f, -0.028615f, 0.061636f, 0.029998f, - 0.027923f, -0.050973f, -0.003261f, -0.032528f, 0.030825f, -0.013377f, -0.020033f, -0.007639f, 0.041717f, -0.010211f, -0.025299f, -0.031475f, 0.023766f, 0.003442f, 0.022660f, -0.014189f, 0.000818f, -0.024280f, -0.001541f, -0.005311f, 0.011643f, 0.003333f, 0.025656f, -0.005588f, -0.007465f, -0.026902f, 0.018298f, 0.006266f, 0.016293f, -0.000091f, -0.015327f, -0.020046f, 0.006036f, 0.004636f, 0.013884f, 0.044069f, -0.105119f, 0.014973f, -0.077171f, 0.014116f, 0.065609f, 0.058008f, 0.019033f, -0.037536f, 0.007577f, -0.022288f, -0.005475f, -0.027667f, -0.020423f, 0.014274f, 0.003886f, -0.040296f, -0.004592f, 0.021024f, -0.004429f, 0.002406f, 0.007655f, -0.025693f, -0.025431f, -0.000631f, 0.016918f, 0.002275f, -0.040961f, 0.003456f, 0.021091f, 0.006641f, 0.004945f, 0.042942f, -0.004673f, -0.011408f, 0.015438f, 0.016461f, -0.028966f, -0.032151f, 0.023920f, 0.004649f, -0.024655f, 0.016624f, 0.007244f, 0.008069f, -0.017231f, 0.006994f, 0.019507f, 0.002375f, -0.024270f, 0.033032f, -0.003950f, -0.036974f, 0.001176f, 0.028980f, 0.009088f, -0.024189f, 0.022094f, 0.007327f, -0.033697f, 0.013906f, - 0.001800f, 0.034493f, -0.031177f, 0.002838f, 0.023812f, -0.054678f, 0.001812f, 0.023643f, -0.000843f, 0.016394f, -0.009029f, -0.034996f, 0.004717f, -0.037033f, 0.034853f, 0.017984f, 0.009876f, -0.013747f, -0.014451f, 0.028760f, -0.024697f, 0.025666f, 0.028239f, -0.040259f, -0.013002f, 0.001747f, 0.031263f, 0.000511f, -0.018006f, 0.011574f, -0.021823f, -0.001292f, 0.003249f, 0.018436f, 0.001338f, 0.003049f, -0.011237f, 0.019186f, -0.006335f, -0.022347f, 0.020423f, -0.009015f, 0.008856f, -0.005051f, 0.014752f, 0.018542f, -0.021190f, 0.003737f, -0.011442f, 0.005027f, -0.011627f, 0.041211f, -0.011555f, -0.023102f, 0.018680f, -0.010401f, -0.003405f, -0.011751f, 0.012249f, 0.011225f, -0.016564f, 0.009330f, 0.016327f, -0.008394f, 0.001186f, -0.022994f, -0.052385f, 0.084997f, 0.011721f, 0.038266f, -0.033526f, 0.014430f, -0.007510f, 0.010008f, 0.009015f, -0.014542f, 0.005426f, 0.015345f, -0.009299f, 0.033738f, 0.001238f, 0.000843f, 0.011279f, 0.010863f, -0.001552f, -0.008922f, 0.014239f, -0.002501f, -0.010310f, -0.002303f, 0.014312f, -0.015987f, 0.003097f, 0.006895f, -0.020308f, 0.024816f, - -0.005243f, -0.012285f, 0.038191f, -0.016045f, -0.022890f, 0.017451f, 0.009525f, -0.010824f, 0.016440f, 0.013141f, -0.004864f, -0.005613f, -0.003213f, 0.004813f, 0.009375f, 0.005419f, -0.000271f, -0.006833f, 0.019598f, -0.021282f, 0.018786f, 0.002778f, -0.002507f, 0.005110f, 0.005828f, 0.005974f, 0.000676f, -0.018959f, 0.005091f, 0.015998f, -0.011692f, -0.000238f, -0.000158f, 0.012144f, -0.001409f, -0.004971f, 0.018456f, -0.009642f, 0.009838f, -0.019473f, -0.007298f, 0.018512f, -0.017935f, 0.017792f, -0.004813f, 0.011655f, 0.014291f, -0.016565f, -0.005713f, 0.020105f, -0.017081f, -0.001070f, 0.001987f, 0.005957f, 0.001375f, -0.002489f, 0.000613f, 0.001335f, 0.009229f, -0.008173f, 0.001930f, 0.005787f, -0.000732f, -0.004317f, 0.000911f, 0.003323f, -0.000939f, 0.001023f, -0.003665f, 0.004036f, 0.005710f, -0.010391f, -0.001753f, 0.017478f, -0.008679f, 0.004859f, -0.001429f, 0.009882f, 0.002727f, -0.005753f, 0.001005f, -0.001285f, -0.006005f, -0.004269f, 0.020706f, -0.003732f, -0.004904f, 0.002796f, 0.002198f, -0.001811f, 0.004303f, 0.008395f, 0.000149f, 0.002044f, 0.000673f, -0.002019f, - 0.001162f, 0.002331f, -0.004093f, 0.002577f, -0.000381f, 0.019954f, -0.070373f, -0.225064f, -0.011432f, 0.121352f, 0.054469f, 0.258473f, 0.022063f, 0.054625f, 0.002292f, -0.075306f, -0.094912f, -0.064242f, -0.115671f, -0.080878f, -0.050892f, 0.001904f, 0.088338f, 0.174069f, 0.128060f, 0.111519f, 0.036302f, -0.060503f, -0.088972f, -0.079914f, -0.094283f, -0.104481f, -0.042387f, -0.019970f, -0.009145f, 0.051105f, 0.067711f, 0.051156f, 0.094663f, 0.061218f, 0.022663f, 0.063615f, 0.001468f, -0.027513f, -0.018270f, -0.056942f, -0.116974f, -0.071002f, -0.068491f, -0.069720f, 0.003628f, 0.032621f, 0.022456f, 0.086051f, 0.070459f, 0.048681f, 0.069299f, 0.073824f, 0.020864f, 0.022208f, -0.007881f, -0.063384f, -0.088276f, -0.067327f, -0.088480f, -0.062788f, -0.021998f, -0.015452f, 0.005420f, 0.048275f, 0.037667f, 0.034143f, 0.067967f, 0.056329f, 0.041286f, 0.070350f, 0.019210f, -0.014291f, -0.002948f, -0.028063f, -0.061070f, -0.035365f, -0.077249f, -0.097455f, -0.057571f, -0.048438f, -0.021149f, 0.056775f, 0.076404f, 0.071429f, 0.082199f, 0.067816f, 0.038425f, 0.037228f, 0.017929f, -0.007827f, - -0.020979f, -0.039119f, -0.058074f, -0.057943f, -0.065720f, -0.068796f, -0.059024f, -0.019960f, -0.007039f, 0.023333f, 0.059195f, 0.066128f, 0.065209f, 0.076425f, 0.060595f, 0.045583f, 0.037708f, 0.012548f, -0.029570f, -0.052383f, -0.085656f, -0.109115f, -0.102402f, -0.080945f, -0.040908f, 0.010492f, 0.054739f, 0.075431f, 0.086543f, 0.090466f, 0.077824f, 0.055237f, 0.027995f, -0.017806f, -0.044430f, -0.058453f, -0.068110f, -0.059359f, -0.044917f, -0.030761f, -0.012914f, 0.014449f, 0.018809f, 0.025950f, 0.029540f, 0.026545f, 0.020874f, 0.016927f, 0.011163f, 0.010075f, 0.004267f, -0.003214f, -0.005838f, -0.005665f, -0.009316f, -0.009925f, -0.013213f, -0.015159f, -0.017098f, -0.013455f, -0.010576f, -0.005470f, -0.000607f, 0.008694f, 0.014142f, 0.016874f, 0.016602f, 0.018668f, 0.016393f, 0.012069f, 0.005088f, -0.002405f, -0.010129f, -0.012578f, -0.014859f, -0.014723f, -0.016372f, -0.014375f, -0.010401f, -0.002729f, 0.002113f, 0.006229f, 0.009658f, 0.012162f, 0.011731f, 0.012770f, 0.011793f, 0.009942f, 0.005895f, 0.001816f, -0.004814f, -0.009107f, -0.012698f, -0.012655f, -0.012119f, -0.009931f, - -0.007027f, -0.001748f, 0.001115f, 0.003704f, 0.006062f, 0.008423f, 0.009276f, 0.009239f, 0.007089f, 0.005394f, 0.002595f, 0.000304f, -0.002385f, -0.004254f, -0.006780f, -0.007349f, -0.007774f, -0.006604f, -0.005133f, -0.002077f, 0.000411f, 0.003399f, 0.005040f, 0.005509f, 0.004606f, 0.004260f, 0.003551f, 0.003122f, 0.001708f, 0.000352f, -0.001368f, -0.002520f, -0.003857f, -0.004211f, -0.004138f, -0.003008f, -0.001787f, -0.000332f, 0.000377f, 0.001244f, 0.001570f, 0.001887f, 0.001717f, 0.001462f, 0.001009f, 0.000753f, 0.000293f, 0.000017f, -0.000263f, -0.000346f, -0.000407f, -0.000421f, -0.000399f}, - {-0.005259f, 0.001130f, 0.005927f, -0.000636f, 0.000436f, -0.009048f, -0.004603f, 0.001217f, 0.011753f, -0.007751f, 0.002373f, -0.012419f, 0.012537f, 0.000730f, 0.004530f, -0.001556f, 0.001901f, -0.002476f, -0.004441f, -0.010809f, 0.004432f, -0.010836f, -0.005117f, -0.006157f, 0.005995f, 0.004745f, 0.002236f, 0.004950f, 0.009427f, 0.000526f, -0.008741f, 0.005591f, 0.000833f, -0.000501f, 0.004566f, -0.001812f, -0.003229f, -0.012732f, 0.001959f, -0.003713f, 0.002674f, 0.005218f, -0.006949f, -0.002821f, 0.006154f, 0.001872f, 0.000652f, -0.006525f, 0.016142f, 0.009695f, 0.001502f, 0.007767f, 0.006368f, 0.006178f, -0.014921f, 0.000843f, -0.001526f, -0.004010f, 0.003554f, 0.002381f, -0.002464f, -0.002850f, -0.000880f, -0.004518f, 0.004296f, -0.001753f, 0.008552f, -0.000395f, -0.002287f, -0.004173f, -0.007635f, -0.001456f, 0.005736f, -0.000326f, 0.001251f, 0.006772f, 0.001790f, 0.007845f, -0.000237f, 0.001128f, -0.000896f, 0.008440f, 0.007478f, 0.007563f, 0.001583f, -0.000080f, 0.003317f, -0.000241f, 0.000971f, 0.000091f, 0.000307f, -0.000706f, -0.002442f, -0.002075f, -0.000516f, -0.002367f, - 0.001012f, 0.001092f, -0.001057f, 0.002426f, -0.001062f, -0.000796f, -0.000590f, 0.000954f, 0.000209f, 0.002161f, 0.000116f, -0.000039f, 0.000103f, 0.002824f, 0.001347f, -0.000291f, -0.000855f, 0.000063f, -0.000484f, 0.001559f, 0.000736f, 0.003012f, 0.000678f, 0.003836f, 0.013427f, -0.006546f, 0.004471f, -0.003737f, -0.005848f, -0.002419f, -0.004054f, 0.007317f, -0.006084f, -0.011288f, -0.002893f, 0.002935f, -0.009400f, -0.005702f, 0.010583f, 0.018279f, -0.003101f, 0.006967f, -0.006293f, -0.006644f, -0.000306f, 0.001897f, -0.000818f, -0.000223f, 0.006785f, -0.011645f, 0.003778f, -0.000892f, -0.002442f, -0.009824f, 0.000844f, 0.000192f, 0.005508f, 0.001613f, -0.007665f, 0.010063f, -0.008046f, 0.009387f, -0.001064f, 0.001670f, 0.003829f, -0.001149f, -0.004720f, 0.007329f, 0.001809f, 0.009806f, 0.001497f, -0.008727f, 0.015746f, 0.012476f, -0.004366f, -0.001329f, -0.003034f, -0.010990f, -0.005919f, -0.001848f, -0.001884f, 0.004374f, -0.006024f, 0.000439f, 0.004318f, -0.000027f, -0.000164f, -0.000745f, -0.001033f, -0.006023f, 0.009524f, 0.000261f, -0.000204f, -0.003048f, -0.001059f, -0.008782f, - -0.007766f, 0.002526f, 0.006359f, -0.000845f, -0.001645f, -0.000051f, -0.000062f, -0.004520f, 0.008537f, 0.001124f, 0.002828f, -0.002262f, 0.002333f, 0.001420f, -0.000349f, -0.000196f, -0.000369f, 0.000076f, 0.002028f, -0.001163f, 0.001287f, 0.001329f, -0.000258f, -0.000385f, 0.001066f, 0.002242f, 0.002045f, -0.001498f, 0.000573f, 0.000663f, -0.001119f, -0.000675f, 0.003212f, -0.000490f, -0.000149f, -0.002553f, -0.002301f, -0.003900f, -0.001421f, -0.013960f, 0.017321f, -0.003705f, -0.001969f, 0.012391f, -0.004762f, 0.006417f, 0.027469f, -0.003233f, 0.000877f, -0.010431f, -0.008409f, -0.013009f, 0.007632f, -0.005342f, 0.003759f, 0.007251f, -0.008167f, -0.006975f, -0.005093f, 0.000641f, 0.002761f, -0.010106f, -0.003921f, 0.004489f, 0.003868f, -0.003978f, -0.001593f, 0.006255f, -0.006345f, 0.001049f, -0.003122f, -0.001108f, -0.004398f, 0.003854f, -0.004030f, 0.001739f, 0.003701f, -0.001628f, 0.011585f, 0.000536f, -0.001501f, -0.008468f, 0.001079f, 0.012371f, 0.001765f, 0.004210f, -0.011213f, -0.016049f, -0.005787f, -0.013800f, -0.012170f, -0.000271f, -0.005216f, -0.000430f, -0.014776f, 0.012745f, - -0.013675f, 0.002071f, 0.009481f, -0.008452f, -0.014291f, -0.010160f, -0.002949f, 0.009587f, 0.008528f, 0.012813f, -0.007444f, -0.006541f, -0.005215f, -0.004471f, 0.009300f, 0.002432f, -0.003748f, -0.001988f, 0.004464f, 0.005058f, 0.001591f, 0.002364f, 0.003275f, -0.000635f, -0.005236f, -0.000802f, -0.003440f, 0.001393f, 0.000536f, 0.001231f, 0.001136f, 0.000346f, 0.002310f, 0.000366f, 0.002682f, 0.000328f, -0.001875f, 0.002725f, -0.002986f, -0.001927f, 0.000707f, -0.000732f, 0.002749f, -0.001540f, -0.001126f, -0.000453f, 0.000445f, -0.000965f, -0.001750f, 0.001784f, -0.000486f, 0.001338f, -0.001461f, -0.001410f, -0.001746f, -0.002050f, -0.001243f, -0.001857f, 0.002891f, -0.002395f, 0.014933f, 0.001545f, -0.006017f, 0.000841f, -0.004983f, -0.001113f, 0.010445f, 0.017534f, -0.006009f, -0.006141f, -0.015928f, 0.002011f, 0.003981f, 0.009052f, -0.006018f, 0.009762f, 0.001529f, 0.015035f, -0.012084f, 0.001932f, -0.022804f, -0.002511f, 0.002702f, -0.005570f, -0.005147f, -0.002014f, 0.008374f, -0.006879f, -0.012002f, 0.003397f, -0.017599f, -0.003833f, -0.008468f, 0.003875f, -0.001898f, 0.005944f, - 0.000754f, -0.013399f, -0.014500f, 0.000396f, 0.007678f, 0.014326f, -0.002876f, -0.005831f, 0.011968f, -0.013234f, -0.007230f, 0.006386f, 0.005672f, 0.009482f, -0.009084f, 0.000337f, 0.003633f, -0.005710f, -0.001958f, 0.005600f, -0.008250f, 0.010702f, -0.004691f, -0.001991f, -0.011456f, -0.009493f, 0.004551f, -0.000024f, 0.000180f, -0.001615f, -0.007046f, 0.006628f, -0.004443f, 0.008243f, -0.000180f, -0.010906f, -0.011480f, 0.004185f, -0.005793f, 0.002043f, -0.016327f, -0.015555f, -0.002522f, 0.014639f, 0.000063f, -0.003020f, 0.000688f, 0.002109f, 0.001522f, -0.000673f, 0.002295f, -0.007635f, 0.001382f, 0.001286f, 0.002272f, 0.002937f, 0.003219f, 0.001717f, -0.004325f, 0.000309f, 0.003729f, 0.001738f, 0.000971f, -0.002137f, -0.002662f, 0.000602f, -0.000055f, -0.000883f, 0.003495f, -0.000077f, -0.000298f, -0.002467f, 0.004372f, 0.003640f, -0.000270f, 0.000311f, -0.002232f, 0.001265f, 0.001325f, 0.000604f, 0.000143f, 0.001445f, -0.002026f, -0.001053f, 0.008842f, -0.024451f, 0.005539f, -0.010683f, 0.008839f, 0.010118f, -0.011618f, -0.021450f, 0.002890f, -0.002959f, 0.013412f, -0.008232f, - 0.019472f, -0.008356f, 0.012846f, -0.016136f, -0.006052f, 0.006587f, 0.009522f, 0.002591f, -0.000182f, -0.009940f, -0.001406f, -0.007844f, -0.009786f, 0.005255f, -0.008369f, 0.003122f, 0.001779f, 0.003872f, -0.004809f, 0.009006f, -0.001828f, 0.007737f, -0.001888f, -0.015123f, -0.002624f, -0.004910f, 0.001399f, 0.014889f, 0.000826f, -0.001396f, -0.000900f, -0.006183f, 0.005069f, -0.005835f, 0.007798f, 0.008463f, 0.002992f, 0.003192f, 0.014988f, -0.003844f, -0.002850f, -0.012190f, 0.008488f, 0.007492f, 0.001478f, 0.001855f, 0.001470f, 0.000533f, 0.004302f, 0.009106f, 0.006031f, 0.003412f, 0.003234f, -0.002442f, 0.011885f, 0.003999f, -0.002595f, -0.009321f, 0.004566f, -0.002835f, 0.017409f, 0.009857f, 0.002095f, -0.008175f, -0.003136f, 0.013266f, -0.005308f, 0.001662f, 0.007625f, -0.004395f, -0.005498f, -0.010692f, 0.001227f, 0.003794f, -0.000959f, 0.005019f, -0.004272f, -0.001638f, -0.003357f, 0.003662f, -0.000444f, -0.001257f, -0.005210f, 0.001146f, 0.001181f, 0.002981f, 0.003479f, -0.001290f, 0.000471f, 0.003909f, -0.000433f, 0.003969f, -0.000410f, 0.001155f, 0.005813f, 0.001167f, - 0.005977f, -0.000525f, -0.001467f, -0.000443f, -0.000667f, 0.000147f, 0.000298f, -0.004665f, 0.001573f, 0.003635f, 0.000248f, 0.001434f, -0.001250f, -0.031380f, -0.017055f, 0.006284f, -0.006146f, 0.012599f, 0.012564f, 0.018980f, 0.007836f, 0.007670f, 0.004661f, -0.022872f, -0.005143f, -0.003176f, 0.002021f, -0.002304f, 0.007082f, 0.005039f, -0.008819f, -0.007031f, 0.005837f, 0.011116f, 0.014005f, 0.012092f, 0.015912f, -0.008755f, -0.008764f, -0.011606f, 0.012258f, -0.007126f, 0.010120f, -0.002586f, -0.000572f, -0.010869f, -0.006549f, -0.006223f, 0.009185f, 0.011364f, 0.001961f, 0.011361f, 0.016231f, -0.006481f, 0.004067f, 0.019093f, -0.009659f, 0.006190f, 0.006428f, 0.000705f, 0.014312f, 0.018399f, 0.013944f, 0.031919f, 0.005876f, -0.004543f, -0.005969f, -0.005483f, -0.000405f, 0.005611f, 0.009622f, -0.001775f, -0.003189f, -0.003386f, -0.008619f, 0.003586f, 0.004561f, 0.008268f, -0.019997f, -0.002742f, 0.004975f, 0.013218f, 0.009154f, -0.017030f, -0.012682f, 0.003213f, 0.003115f, 0.013794f, -0.012221f, 0.000764f, -0.001300f, 0.001459f, -0.017361f, -0.004680f, -0.006029f, -0.004198f, - -0.007180f, -0.002986f, 0.000469f, 0.006638f, -0.000090f, 0.000375f, 0.002511f, 0.003177f, -0.006682f, -0.001041f, 0.000415f, 0.000031f, 0.002280f, -0.002274f, -0.004396f, -0.002922f, -0.003376f, 0.004706f, -0.004600f, -0.002170f, -0.005283f, 0.001313f, -0.001197f, 0.003351f, -0.004844f, 0.002009f, -0.001696f, 0.001975f, 0.001699f, 0.000349f, 0.004043f, -0.003906f, 0.001950f, 0.002283f, 0.000604f, 0.004823f, 0.007554f, 0.015136f, -0.001974f, 0.003081f, 0.012941f, 0.019002f, 0.010698f, -0.021003f, 0.000059f, -0.022345f, -0.015846f, -0.009607f, -0.001864f, -0.013680f, 0.016305f, 0.006018f, 0.009649f, -0.027795f, -0.001999f, 0.018153f, 0.009236f, -0.008169f, -0.011683f, -0.007150f, 0.007081f, -0.021270f, -0.001243f, -0.013676f, 0.020910f, -0.002774f, -0.006117f, 0.002210f, -0.000749f, -0.003605f, 0.003690f, -0.005546f, 0.009710f, 0.006887f, 0.013958f, -0.001055f, 0.000712f, 0.021525f, -0.006818f, 0.014401f, -0.002343f, -0.002556f, 0.037954f, 0.004500f, -0.004070f, -0.008593f, -0.029360f, 0.003073f, -0.030091f, -0.005087f, 0.031683f, -0.008964f, -0.006160f, -0.022041f, -0.006458f, 0.000760f, - -0.011837f, 0.006341f, -0.001152f, -0.016161f, 0.017144f, 0.006111f, 0.005581f, 0.004694f, -0.011942f, 0.013073f, -0.020467f, 0.005894f, 0.007858f, 0.000838f, -0.002713f, -0.008309f, -0.006511f, -0.008463f, -0.002710f, 0.006771f, 0.008743f, -0.002233f, -0.007159f, -0.004263f, 0.009746f, 0.003975f, 0.018659f, -0.000354f, 0.001404f, 0.007571f, -0.000779f, -0.003465f, -0.002589f, -0.002386f, -0.002064f, -0.003106f, 0.002188f, -0.003543f, -0.000140f, 0.003777f, 0.001392f, 0.003851f, 0.003741f, 0.002980f, 0.000330f, 0.005603f, 0.004067f, 0.002400f, 0.001722f, 0.001676f, -0.005895f, -0.005028f, 0.004262f, 0.000578f, -0.003641f, 0.000615f, -0.004140f, 0.001163f, 0.004703f, 0.001689f, -0.000810f, 0.001701f, 0.004029f, 0.000874f, -0.003295f, 0.001592f, 0.012259f, -0.025044f, 0.010640f, -0.008908f, -0.012719f, -0.012129f, 0.009363f, 0.011997f, 0.006947f, 0.020884f, 0.015377f, 0.003022f, 0.006208f, -0.016567f, 0.003227f, 0.007301f, 0.016171f, 0.003042f, -0.007922f, 0.005840f, 0.007496f, -0.014860f, 0.002044f, -0.015239f, 0.011698f, 0.010654f, 0.013743f, -0.013573f, 0.008121f, 0.014729f, - -0.006815f, 0.003721f, 0.019584f, -0.000713f, -0.012296f, -0.009812f, 0.004285f, -0.003366f, -0.012494f, -0.005204f, 0.000131f, 0.002783f, 0.006627f, -0.008646f, 0.013641f, 0.008248f, -0.003242f, 0.016481f, -0.002146f, 0.006185f, 0.021643f, -0.023211f, 0.042546f, -0.019731f, 0.005766f, 0.012755f, -0.004546f, -0.002481f, 0.005304f, 0.028781f, -0.001669f, -0.004100f, -0.000955f, -0.006959f, 0.013941f, 0.015643f, -0.005132f, 0.006636f, 0.005505f, 0.005035f, 0.009547f, 0.012300f, 0.000933f, 0.013310f, 0.002802f, -0.011610f, -0.017811f, 0.004142f, 0.001659f, 0.008036f, 0.003384f, 0.026643f, -0.002783f, 0.014842f, 0.011958f, -0.008375f, -0.015317f, -0.001874f, 0.001646f, 0.003866f, -0.004217f, 0.006794f, 0.003158f, -0.006648f, -0.001876f, -0.006349f, -0.002384f, 0.003823f, -0.002091f, 0.005683f, -0.001535f, 0.001989f, 0.001403f, -0.002754f, 0.002980f, 0.003422f, -0.005392f, 0.003498f, 0.002306f, 0.001044f, 0.001190f, -0.000254f, 0.000961f, 0.006331f, 0.001924f, -0.002332f, 0.001090f, 0.001698f, 0.003101f, 0.003881f, -0.001274f, -0.004481f, -0.001342f, -0.003920f, -0.002962f, 0.004680f, - 0.004289f, 0.005517f, 0.014153f, 0.018640f, 0.011456f, -0.019845f, 0.037986f, -0.011974f, 0.007190f, -0.027905f, 0.011068f, -0.024682f, 0.019085f, 0.001955f, -0.005319f, -0.013978f, 0.018043f, 0.002391f, 0.011507f, 0.011872f, 0.006090f, -0.020798f, 0.010607f, -0.012601f, -0.002317f, 0.009342f, 0.010181f, 0.002342f, -0.003873f, -0.020843f, 0.002892f, 0.019139f, 0.002135f, 0.012378f, 0.013874f, -0.021766f, 0.011966f, -0.011085f, -0.010914f, 0.016001f, 0.017762f, 0.009193f, 0.009995f, 0.002732f, 0.009582f, -0.022438f, -0.009993f, -0.007194f, 0.000645f, 0.023804f, 0.011448f, 0.009404f, -0.001760f, 0.010437f, -0.000531f, 0.026218f, 0.009700f, 0.009912f, 0.004022f, -0.001520f, -0.038854f, 0.014354f, 0.009195f, -0.003653f, -0.002745f, -0.029077f, 0.000276f, -0.011152f, 0.006944f, 0.025213f, -0.004237f, -0.014526f, 0.029478f, -0.001383f, 0.016651f, -0.009886f, 0.000108f, -0.018450f, -0.001696f, 0.000290f, -0.031842f, -0.009537f, -0.005489f, -0.014388f, -0.006639f, -0.002883f, 0.002012f, 0.015891f, 0.001184f, -0.000445f, -0.003078f, -0.008294f, -0.001320f, 0.001412f, -0.003023f, 0.001072f, - 0.000396f, 0.004213f, -0.007467f, -0.003003f, -0.000996f, -0.006940f, 0.000378f, -0.004520f, -0.002810f, -0.002310f, -0.005556f, -0.002918f, 0.006521f, -0.002235f, 0.001165f, -0.001836f, 0.007069f, -0.000372f, 0.003205f, -0.004642f, -0.010337f, -0.003190f, -0.000448f, 0.004418f, 0.001868f, 0.006315f, -0.000422f, -0.002067f, 0.005411f, -0.006645f, 0.007895f, -0.000215f, 0.024871f, -0.021450f, 0.003112f, 0.009039f, 0.011244f, -0.037220f, 0.024682f, 0.006890f, -0.026467f, -0.016928f, 0.014421f, 0.033144f, -0.011690f, -0.006036f, -0.022917f, 0.047457f, 0.018424f, 0.002945f, 0.007893f, -0.024935f, -0.016154f, -0.001057f, 0.002057f, 0.024613f, 0.005327f, 0.018973f, 0.021326f, -0.000939f, 0.001311f, 0.014856f, -0.003930f, -0.015861f, -0.015173f, -0.003864f, 0.021114f, -0.011420f, 0.026714f, -0.012403f, 0.039235f, 0.017449f, 0.031643f, -0.008578f, 0.005110f, 0.025399f, -0.019786f, 0.011838f, 0.011454f, 0.010772f, -0.011335f, 0.013525f, 0.003266f, 0.004312f, 0.011540f, 0.024155f, 0.020304f, -0.020613f, -0.004829f, 0.010613f, -0.020112f, -0.012774f, -0.005316f, -0.041147f, 0.011006f, -0.020340f, - -0.012758f, 0.003968f, -0.005105f, 0.014085f, 0.026223f, 0.016811f, 0.010601f, -0.014163f, -0.003350f, -0.000860f, -0.027841f, 0.005090f, 0.002364f, 0.034416f, 0.007406f, 0.007744f, -0.007458f, 0.026592f, -0.000238f, -0.000758f, 0.000082f, -0.008646f, -0.003953f, 0.001121f, -0.001584f, -0.009368f, 0.000870f, -0.002404f, 0.001701f, -0.011172f, -0.012123f, -0.003972f, 0.009679f, -0.001592f, 0.003776f, 0.003680f, 0.003000f, -0.000776f, -0.002552f, -0.003326f, -0.006706f, -0.011192f, 0.003873f, 0.000617f, -0.002723f, -0.013222f, 0.009794f, 0.006693f, 0.003810f, -0.001055f, 0.000862f, -0.004469f, 0.003367f, -0.002333f, -0.004319f, 0.001611f, 0.005706f, 0.003487f, -0.003447f, -0.000786f, -0.001361f, 0.004246f, -0.029639f, -0.043744f, 0.023676f, -0.017809f, 0.019414f, 0.006353f, 0.009402f, 0.011497f, -0.029384f, -0.053466f, 0.004743f, 0.007739f, 0.030138f, -0.029703f, -0.032564f, 0.028114f, -0.011220f, 0.012790f, -0.006136f, 0.006697f, 0.004465f, 0.007415f, -0.014828f, 0.007168f, -0.002132f, -0.004644f, 0.018581f, 0.006938f, -0.002665f, -0.024122f, -0.003287f, -0.000690f, -0.004438f, -0.001151f, - -0.013049f, -0.031997f, -0.014216f, 0.023488f, -0.009999f, 0.011582f, -0.018134f, 0.013439f, 0.006930f, -0.000241f, -0.009129f, -0.039688f, 0.021945f, 0.021297f, 0.027388f, -0.019151f, -0.008112f, 0.037219f, 0.032901f, 0.015199f, 0.007078f, 0.021035f, 0.007745f, 0.018901f, -0.010139f, 0.016418f, -0.031374f, -0.001994f, 0.008763f, -0.008170f, 0.037353f, 0.001456f, 0.020429f, -0.012177f, -0.020064f, 0.043163f, -0.000719f, 0.017134f, -0.005703f, 0.000611f, -0.050757f, -0.004273f, 0.010808f, -0.019590f, 0.023926f, 0.018139f, 0.004478f, -0.010387f, -0.038661f, -0.000825f, -0.007854f, 0.009638f, 0.011760f, 0.001963f, -0.004698f, 0.009098f, 0.000415f, 0.004470f, -0.002445f, -0.011696f, -0.004266f, -0.010680f, 0.018722f, 0.005742f, -0.000369f, -0.000389f, 0.002353f, 0.017285f, -0.002978f, -0.004141f, 0.002681f, -0.001356f, 0.000230f, 0.007754f, 0.004242f, 0.006970f, -0.004980f, -0.000653f, -0.007984f, 0.001555f, 0.000141f, 0.007299f, 0.007309f, -0.008089f, 0.013062f, 0.013266f, -0.010344f, 0.000808f, 0.001716f, -0.001501f, -0.021933f, -0.028734f, -0.008343f, -0.006731f, -0.049204f, -0.046156f, - -0.012093f, 0.000224f, 0.034741f, 0.028260f, 0.027969f, -0.010817f, -0.004497f, -0.007002f, 0.029864f, 0.012832f, -0.012531f, -0.002217f, -0.009977f, 0.021599f, 0.016764f, -0.012469f, -0.017461f, -0.016026f, -0.032733f, 0.013670f, 0.000912f, 0.000927f, 0.007144f, -0.004896f, 0.012412f, 0.046031f, -0.026204f, 0.013878f, 0.002746f, -0.017744f, -0.010162f, -0.021067f, 0.007986f, -0.009364f, -0.010586f, 0.023834f, 0.002926f, -0.007952f, 0.024065f, -0.003275f, -0.010628f, 0.008374f, 0.017557f, -0.009668f, 0.018868f, 0.033893f, 0.032688f, -0.022347f, -0.000314f, 0.008165f, 0.018419f, -0.028300f, -0.005900f, -0.007817f, 0.035256f, 0.015024f, -0.003806f, -0.021448f, -0.023804f, -0.021162f, 0.031839f, 0.026368f, -0.050454f, -0.042094f, -0.031927f, -0.022486f, 0.007606f, -0.020281f, 0.012307f, 0.003358f, 0.004999f, -0.040589f, -0.013017f, 0.036687f, 0.028293f, -0.012298f, -0.026053f, 0.025342f, 0.013274f, -0.003056f, 0.000412f, -0.003240f, -0.006185f, 0.014400f, -0.012933f, 0.003147f, 0.002203f, -0.000545f, -0.009350f, -0.017051f, 0.003280f, 0.013842f, -0.001372f, 0.001514f, -0.005969f, 0.013145f, - 0.014383f, 0.001406f, -0.001925f, 0.004843f, -0.000533f, 0.005809f, 0.006259f, 0.009054f, -0.012192f, -0.001186f, 0.004438f, -0.000015f, -0.007576f, 0.002012f, 0.015241f, 0.014189f, -0.005437f, 0.010869f, -0.016693f, 0.004159f, -0.005405f, -0.004644f, -0.006704f, -0.010434f, 0.003876f, 0.040742f, 0.032126f, 0.019962f, 0.003159f, -0.026509f, -0.013736f, -0.004043f, 0.011001f, 0.016951f, -0.023446f, 0.006179f, 0.001534f, -0.020029f, -0.009433f, 0.016245f, -0.011869f, 0.012922f, 0.005610f, 0.015186f, -0.018686f, -0.000026f, -0.041815f, 0.006326f, -0.052908f, 0.021842f, 0.021612f, -0.020536f, 0.024393f, 0.029043f, 0.000923f, 0.008296f, -0.034089f, 0.020184f, 0.002080f, -0.014145f, 0.018586f, -0.004340f, 0.000334f, -0.000301f, 0.002337f, 0.035723f, -0.003964f, -0.000032f, 0.043864f, -0.000419f, -0.020163f, -0.057840f, -0.047518f, 0.052899f, 0.032989f, 0.013048f, 0.013368f, -0.022107f, -0.044532f, -0.021888f, 0.007117f, -0.017109f, 0.034922f, -0.001852f, 0.004688f, 0.037635f, -0.007668f, -0.011670f, -0.008405f, -0.023681f, -0.040195f, -0.031943f, 0.091025f, -0.044166f, -0.019952f, 0.026117f, - -0.046021f, -0.033166f, 0.033052f, 0.046292f, 0.015297f, -0.008403f, 0.054504f, 0.026320f, -0.043750f, -0.015179f, -0.024408f, -0.023842f, 0.049560f, 0.003601f, -0.032921f, -0.022766f, -0.025610f, 0.007245f, -0.005236f, 0.015116f, -0.000309f, -0.007593f, -0.011978f, 0.001133f, 0.013766f, -0.007354f, 0.006397f, -0.007163f, 0.006891f, 0.006233f, 0.019149f, -0.007411f, -0.002715f, 0.016397f, 0.001373f, 0.008393f, 0.008597f, 0.011711f, 0.002263f, -0.006808f, -0.003768f, -0.001725f, -0.002669f, 0.007193f, -0.002148f, -0.007627f, 0.015458f, 0.015933f, -0.008698f, 0.004091f, -0.009913f, 0.003655f, 0.003812f, 0.009850f, -0.002412f, -0.000933f, -0.004856f, 0.004716f, 0.011073f, -0.037375f, -0.027590f, -0.019260f, -0.034205f, -0.003102f, 0.032366f, -0.002369f, 0.006641f, 0.015920f, 0.010562f, -0.027539f, -0.013341f, -0.022763f, -0.012195f, 0.029144f, -0.008929f, -0.003203f, -0.004018f, 0.017663f, 0.017618f, 0.052615f, 0.008368f, 0.038725f, -0.002282f, 0.013054f, -0.021123f, -0.015916f, 0.013868f, -0.026878f, -0.029875f, 0.000957f, 0.009391f, -0.015346f, 0.012243f, -0.017963f, 0.005459f, -0.047229f, - 0.026337f, 0.014725f, 0.021539f, 0.002664f, -0.019210f, -0.039575f, -0.014122f, -0.003549f, 0.032594f, -0.024861f, -0.014717f, 0.009087f, 0.074560f, -0.020635f, 0.075797f, -0.046530f, 0.018351f, -0.017171f, 0.033254f, -0.013217f, 0.057506f, -0.054124f, 0.082362f, -0.007814f, 0.016928f, 0.035630f, -0.061104f, 0.054445f, -0.065265f, 0.044016f, -0.106338f, 0.057618f, -0.054672f, 0.048411f, -0.071321f, 0.062664f, 0.002096f, 0.040611f, 0.017573f, -0.033273f, 0.028905f, -0.023832f, 0.072029f, -0.032840f, 0.011844f, -0.043011f, 0.011624f, -0.002903f, 0.007879f, -0.015398f, 0.019980f, -0.019767f, 0.014148f, -0.007019f, 0.004546f, 0.006041f, 0.006345f, 0.008322f, -0.004925f, -0.011382f, -0.009240f, -0.010907f, -0.025024f, 0.014420f, 0.003678f, -0.017206f, -0.008018f, -0.005217f, 0.011107f, -0.019150f, 0.018162f, -0.014674f, 0.003599f, -0.007879f, 0.008819f, 0.002931f, -0.000201f, 0.027595f, -0.024501f, 0.014922f, -0.023674f, 0.035596f, -0.006808f, 0.034776f, -0.013742f, 0.010846f, 0.015694f, 0.005242f, 0.005391f, -0.000053f, 0.016632f, -0.024889f, 0.027231f, -0.018984f, 0.017910f, -0.004050f, - 0.000107f, -0.007211f, 0.000251f, 0.001473f, -0.007056f, 0.003307f, 0.006509f, 0.003191f, -0.032772f, -0.029697f, 0.034486f, 0.059506f, -0.049361f, 0.075444f, -0.004411f, -0.000052f, -0.002928f, 0.013065f, -0.022487f, -0.016547f, -0.033675f, -0.007569f, 0.001056f, 0.000031f, -0.000199f, 0.029627f, 0.005058f, 0.032485f, 0.031821f, -0.020299f, 0.011697f, 0.067801f, 0.022147f, 0.014486f, 0.010158f, -0.058896f, 0.002980f, -0.009586f, -0.007394f, -0.054019f, -0.011434f, 0.030971f, 0.008745f, 0.010267f, 0.015583f, 0.039251f, 0.010237f, -0.012173f, -0.004043f, -0.003435f, 0.014725f, -0.026794f, -0.016473f, 0.040529f, 0.025169f, 0.018846f, 0.031353f, 0.023120f, -0.013666f, -0.006899f, -0.046804f, -0.020609f, 0.019028f, 0.014964f, 0.035328f, -0.025520f, -0.012689f, -0.008988f, 0.025971f, 0.015148f, 0.023316f, 0.009571f, -0.018464f, -0.017195f, 0.058426f, -0.017927f, -0.056767f, 0.013068f, 0.041073f, 0.028087f, -0.000741f, -0.004969f, 0.005080f, 0.009350f, 0.005816f, 0.052128f, -0.062843f, -0.053733f, 0.006254f, 0.021139f, -0.027038f, -0.014020f, 0.004591f, -0.021350f, 0.010104f, -0.010464f, - -0.002663f, 0.005553f, -0.004060f, -0.014363f, 0.000553f, 0.011831f, -0.007626f, 0.000067f, -0.020785f, -0.003691f, -0.018284f, 0.013413f, -0.005797f, 0.012298f, -0.007431f, 0.007668f, 0.003233f, 0.010373f, 0.016321f, -0.016570f, -0.007388f, -0.004979f, 0.012875f, -0.008061f, -0.014906f, -0.027414f, -0.000068f, -0.010981f, -0.004060f, 0.004116f, 0.002766f, 0.000735f, 0.005402f, 0.008921f, -0.001733f, 0.027566f, 0.003441f, -0.002255f, -0.021336f, 0.003658f, -0.003901f, -0.001246f, 0.005254f, -0.022434f, -0.011394f, -0.023171f, -0.119457f, 0.032969f, -0.014586f, -0.007616f, 0.029261f, -0.020277f, 0.031401f, -0.004266f, -0.051789f, -0.009471f, 0.004994f, 0.018136f, 0.023075f, 0.005346f, -0.036714f, 0.036266f, -0.014278f, -0.003334f, -0.022578f, -0.010168f, 0.019424f, -0.003922f, 0.017323f, 0.029238f, -0.006816f, -0.037827f, 0.008346f, 0.041450f, -0.038661f, 0.014180f, 0.032160f, -0.005885f, -0.025586f, -0.047693f, -0.032202f, 0.033599f, 0.086137f, -0.026561f, -0.034417f, 0.097070f, -0.006384f, -0.014004f, 0.069841f, 0.040664f, 0.034684f, 0.028037f, 0.011478f, -0.020565f, 0.035464f, 0.033047f, - 0.022747f, 0.010531f, -0.064289f, 0.040116f, 0.035487f, -0.067852f, -0.039264f, -0.024389f, -0.019031f, -0.018703f, 0.073996f, 0.036947f, -0.042355f, 0.039555f, -0.015697f, -0.039589f, 0.017210f, 0.020127f, -0.017514f, -0.016783f, -0.062120f, 0.006976f, 0.010582f, 0.045413f, 0.021735f, 0.005618f, 0.037954f, -0.030181f, 0.078539f, -0.083514f, -0.097439f, 0.068774f, -0.042064f, -0.002608f, 0.048222f, -0.030397f, -0.020938f, -0.006014f, -0.005759f, 0.006001f, 0.029582f, 0.014535f, -0.024248f, -0.001483f, 0.011514f, -0.002894f, 0.016434f, -0.000647f, 0.009083f, 0.001782f, -0.012871f, 0.006910f, 0.026258f, 0.018095f, -0.001151f, 0.003524f, 0.017560f, -0.002816f, -0.002091f, 0.004464f, 0.040676f, 0.020887f, -0.006530f, 0.008905f, -0.036066f, -0.001566f, 0.009528f, -0.016598f, -0.022354f, 0.021117f, -0.009656f, -0.000607f, 0.021712f, -0.018814f, 0.008366f, -0.003197f, -0.005368f, 0.026947f, -0.015198f, -0.003612f, -0.031593f, -0.129774f, 0.040139f, 0.073469f, -0.045267f, -0.009300f, -0.035163f, 0.075581f, 0.050892f, 0.032000f, -0.005842f, -0.026225f, 0.005593f, 0.030549f, 0.014330f, -0.012976f, - -0.002709f, 0.041731f, -0.002559f, -0.015183f, -0.055548f, -0.026285f, 0.047190f, 0.027463f, -0.029473f, 0.023884f, -0.021291f, -0.006679f, 0.014285f, 0.013358f, -0.012753f, 0.008668f, -0.048669f, 0.014106f, 0.066228f, -0.008276f, -0.012685f, -0.064790f, -0.038826f, 0.031595f, -0.051009f, -0.027706f, 0.011899f, 0.013127f, -0.015647f, 0.042640f, 0.040334f, -0.041240f, 0.015624f, 0.023144f, 0.066741f, 0.061067f, -0.009451f, 0.020045f, -0.001436f, 0.069802f, 0.030486f, 0.028367f, 0.066239f, -0.029393f, -0.042958f, -0.022006f, -0.055045f, 0.046682f, 0.022169f, 0.022856f, 0.012294f, 0.079149f, -0.052142f, -0.012124f, 0.033960f, -0.018572f, 0.037667f, -0.001715f, 0.004588f, 0.017533f, -0.045498f, -0.069207f, 0.008939f, 0.013444f, 0.076436f, 0.058099f, 0.001612f, -0.056138f, -0.008679f, -0.061324f, -0.000142f, -0.001840f, -0.017036f, -0.015634f, 0.008556f, -0.005203f, -0.004406f, -0.015471f, -0.009909f, -0.013728f, -0.008031f, 0.002238f, -0.016230f, -0.014911f, -0.002277f, 0.015450f, 0.008058f, -0.019852f, 0.018381f, -0.009998f, 0.033920f, -0.010423f, -0.029717f, -0.010858f, 0.015152f, -0.009163f, - -0.022481f, 0.026096f, -0.005347f, -0.023550f, -0.036421f, 0.005814f, -0.005647f, 0.004466f, 0.008356f, -0.013931f, -0.011793f, -0.031934f, -0.006871f, -0.008309f, 0.002517f, 0.006124f, 0.012086f, 0.010446f, -0.024188f, 0.000290f, -0.030663f, -0.011128f, 0.003361f, 0.003486f, 0.030125f, 0.051249f, 0.044726f, 0.046081f, 0.059337f, -0.034281f, 0.046719f, -0.091535f, -0.040045f, 0.034530f, 0.008140f, 0.066707f, 0.030410f, 0.056874f, -0.024872f, 0.007451f, -0.049534f, 0.033470f, 0.055317f, 0.050304f, 0.004992f, 0.035625f, -0.087919f, -0.057291f, 0.054432f, 0.015782f, -0.054834f, -0.028380f, 0.006605f, 0.080455f, 0.024783f, -0.032885f, -0.041464f, 0.008098f, -0.012173f, 0.049442f, 0.053395f, -0.005395f, -0.008799f, 0.010515f, -0.015285f, 0.063973f, 0.018307f, -0.015315f, 0.012795f, -0.030618f, -0.018223f, -0.143712f, -0.048938f, 0.025478f, -0.022595f, -0.021612f, -0.000840f, -0.026027f, -0.026082f, 0.065693f, 0.043892f, -0.033271f, 0.059870f, 0.124292f, 0.025424f, 0.088497f, 0.012089f, 0.017889f, 0.064844f, 0.042824f, -0.035190f, -0.039838f, -0.070083f, -0.043574f, -0.004777f, -0.069086f, - 0.025375f, -0.008424f, -0.066968f, -0.048011f, -0.047977f, -0.060159f, -0.036640f, -0.024250f, -0.032139f, 0.009324f, 0.056763f, 0.069442f, 0.036461f, -0.007359f, -0.050951f, -0.006596f, 0.001769f, 0.004197f, -0.024932f, -0.004548f, -0.016910f, 0.013463f, 0.019377f, 0.002042f, 0.014129f, -0.000591f, -0.010083f, 0.016499f, -0.018182f, 0.002134f, 0.015587f, 0.033937f, 0.004449f, -0.000455f, 0.022742f, 0.009588f, 0.061394f, -0.015589f, -0.050405f, -0.002731f, 0.033595f, 0.005890f, -0.013912f, -0.015436f, -0.041048f, -0.038715f, -0.022124f, -0.015503f, -0.007386f, -0.023305f, -0.033738f, -0.035723f, -0.019798f, -0.003030f, 0.004591f, 0.046958f, 0.033770f, -0.012797f, 0.054493f, 0.097313f, 0.067095f, 0.047309f, 0.029295f, 0.018475f, -0.024350f, -0.015692f, -0.024313f, -0.021847f, -0.006087f, -0.001753f, 0.056217f, -0.006760f, 0.047669f, -0.031770f, 0.012290f, -0.107535f, 0.029573f, -0.016809f, 0.054426f, -0.014233f, -0.064547f, 0.063782f, -0.024738f, 0.009299f, 0.036061f, 0.026838f, 0.058341f, -0.009535f, 0.008419f, -0.011752f, 0.066594f, -0.014808f, 0.012206f, 0.046218f, -0.054422f, 0.045568f, - -0.014017f, 0.027670f, 0.044198f, -0.012571f, 0.009528f, 0.006957f, 0.004115f, -0.014949f, 0.019432f, 0.018815f, -0.008359f, -0.026797f, -0.005318f, -0.031149f, -0.010488f, -0.006338f, 0.024612f, -0.013372f, -0.049218f, -0.032597f, 0.050905f, 0.051462f, -0.049551f, -0.041586f, 0.061049f, 0.071874f, -0.028418f, -0.007618f, 0.051644f, 0.001666f, 0.026344f, 0.037490f, -0.088031f, -0.026320f, -0.006411f, 0.084423f, 0.007320f, -0.006455f, -0.083910f, 0.016149f, 0.032317f, 0.021072f, 0.002503f, 0.022045f, 0.008165f, 0.011180f, 0.105921f, -0.003673f, 0.005112f, 0.062238f, -0.038004f, 0.041221f, 0.007309f, 0.031009f, 0.020002f, -0.048663f, -0.016404f, 0.057018f, 0.037527f, 0.021605f, -0.014106f, 0.019683f, 0.009536f, -0.000404f, 0.007141f, 0.014243f, -0.007469f, 0.024646f, -0.016951f, -0.004796f, 0.025341f, 0.014896f, 0.004749f, -0.054516f, 0.004382f, 0.026383f, -0.020818f, 0.009167f, -0.048572f, -0.030849f, 0.033295f, 0.016058f, 0.027295f, 0.023869f, -0.019631f, -0.053032f, -0.015154f, 0.017708f, 0.045430f, 0.027558f, -0.007281f, -0.010460f, -0.016558f, 0.037433f, -0.001151f, -0.007909f, - -0.015847f, 0.019691f, 0.008009f, -0.008547f, -0.038717f, -0.024553f, 0.023837f, 0.023865f, 0.016848f, -0.026687f, -0.037371f, 0.018218f, 0.048443f, 0.022407f, 0.002977f, -0.024840f, -0.006251f, 0.011007f, -0.000929f, 0.000532f, 0.002438f, -0.006451f, -0.011575f, 0.003653f, 0.012376f, 0.003478f, 0.001841f, 0.005732f, 0.001521f, 0.001330f, 0.002253f, 0.006039f, 0.000675f, -0.000534f, 0.004651f, 0.061629f, -0.104142f, -0.007097f, -0.088108f, -0.081625f, 0.020605f, 0.017350f, 0.015026f, 0.002176f, 0.077805f, 0.044440f, 0.100151f, 0.109698f, -0.012015f, -0.053737f, 0.011478f, -0.014481f, -0.009984f, 0.023896f, 0.010632f, -0.008622f, -0.050417f, -0.054992f, 0.059787f, 0.027794f, -0.006790f, 0.009334f, 0.009726f, 0.005669f, 0.011012f, -0.005468f, -0.014314f, -0.081363f, 0.001782f, 0.046979f, -0.013734f, -0.062675f, -0.020635f, 0.051774f, -0.095757f, -0.032757f, 0.060516f, 0.036806f, 0.072271f, -0.001924f, 0.005251f, -0.066499f, -0.067337f, -0.084633f, 0.071374f, 0.101270f, -0.133184f, -0.066190f, -0.006994f, 0.067792f, -0.052854f, -0.008443f, 0.122087f, 0.049842f, 0.030948f, 0.080999f, - 0.059028f, 0.088905f, -0.032082f, 0.088399f, -0.013475f, -0.069029f, -0.101816f, -0.023687f, 0.038943f, -0.080448f, -0.015834f, 0.017537f, -0.017067f, -0.028209f, 0.017149f, 0.015756f, -0.055508f, 0.041513f, 0.020162f, 0.060243f, -0.014514f, -0.058646f, 0.073316f, 0.015030f, -0.066953f, 0.000573f, -0.015626f, 0.028081f, -0.029680f, -0.030182f, -0.015661f, -0.002902f, -0.001038f, -0.022825f, -0.027970f, 0.021887f, -0.029181f, -0.000020f, -0.028842f, 0.016052f, 0.027259f, 0.004548f, 0.040789f, 0.028300f, -0.041237f, -0.015075f, -0.000060f, -0.036772f, 0.006124f, -0.005999f, 0.014637f, -0.009483f, 0.012895f, 0.036059f, 0.000026f, 0.007201f, -0.025163f, 0.038780f, 0.024409f, -0.026911f, -0.008065f, 0.027762f, 0.025737f, -0.003481f, -0.039652f, -0.004807f, -0.077039f, 0.059743f, -0.004824f, 0.018422f, 0.023260f, 0.022529f, 0.000953f, -0.025820f, 0.042436f, 0.010805f, 0.040968f, -0.008548f, -0.086217f, -0.007632f, 0.025176f, -0.028201f, -0.031425f, -0.019155f, -0.028950f, 0.035433f, -0.008831f, -0.030506f, -0.001529f, 0.032980f, -0.043815f, 0.031066f, -0.015061f, 0.016637f, -0.043159f, -0.010580f, - 0.017798f, -0.003490f, -0.003781f, 0.005592f, 0.024567f, -0.004073f, -0.003719f, -0.030070f, 0.015333f, -0.008076f, 0.005104f, 0.009627f, 0.003420f, 0.022723f, -0.032660f, -0.024872f, 0.034689f, 0.029966f, -0.041069f, 0.019958f, -0.033144f, 0.038765f, -0.032015f, 0.014786f, 0.010182f, -0.027048f, 0.060763f, 0.006148f, -0.067097f, 0.031303f, 0.008394f, -0.051813f, 0.029465f, -0.018851f, 0.031366f, -0.044882f, 0.023417f, -0.047557f, 0.022203f, 0.034312f, -0.030566f, 0.017953f, -0.032493f, 0.001427f, 0.001358f, 0.003415f, -0.021265f, 0.000709f, 0.016644f, -0.000625f, -0.029306f, 0.022601f, -0.018266f, -0.039491f, 0.017400f, -0.017366f, 0.008925f, 0.018831f, -0.013820f, -0.008204f, 0.003592f, -0.002305f, 0.012289f, -0.006002f, -0.004131f, 0.011045f, 0.013906f, 0.004900f, -0.013460f, -0.007875f, 0.013439f, 0.008208f, -0.030791f, 0.028673f, -0.003807f, -0.010284f, 0.004216f, -0.001896f, 0.006966f, 0.015536f, -0.003494f, 0.029134f, -0.008241f, -0.012192f, -0.013777f, -0.005299f, 0.003033f, -0.013279f, 0.003892f, -0.004282f, -0.005287f, 0.003824f, 0.004920f, -0.005312f, 0.000131f, -0.001244f, - -0.005761f, 0.006252f, 0.004221f, -0.006288f, 0.018271f, 0.037254f, -0.018987f, -0.208069f, -0.375351f, -0.124866f, -0.290934f, -0.287832f, 0.154824f, 0.032072f, 0.215376f, 0.486779f, 0.438626f, 0.359595f, 0.439263f, 0.268738f, 0.059980f, 0.084416f, -0.062618f, -0.326346f, -0.322506f, -0.241415f, -0.313367f, -0.214957f, -0.044578f, -0.145142f, -0.200130f, -0.086984f, -0.025095f, -0.104131f, -0.049552f, -0.002201f, -0.052072f, -0.092704f, 0.019376f, 0.079762f, -0.027152f, 0.110756f, 0.165610f, 0.003898f, 0.031917f, 0.223886f, 0.110985f, 0.001185f, 0.209898f, 0.171514f, -0.040335f, 0.081127f, 0.195973f, -0.003918f, 0.015978f, 0.276492f, 0.148553f, 0.061616f, 0.334494f, 0.368487f, 0.181235f, 0.349327f, 0.434586f, 0.113804f, 0.058290f, 0.176829f, -0.070841f, -0.210514f, -0.122800f, -0.273866f, -0.485533f, -0.484625f, -0.550011f, -0.732593f, -0.737774f, -0.708088f, -0.724375f, -0.648288f, -0.555758f, -0.445343f, -0.291859f, -0.148722f, 0.071358f, 0.319638f, 0.421728f, 0.514534f, 0.697112f, 0.612889f, 0.547912f, 0.611954f, 0.451737f, 0.210618f, 0.247761f, 0.279865f, 0.103175f, 0.134692f, - 0.280421f, 0.137298f, 0.025453f, 0.119881f, 0.107960f, -0.062617f, -0.000800f, 0.074640f, -0.112292f, -0.143249f, 0.031500f, -0.029387f, -0.047300f, 0.155767f, 0.133752f, 0.012915f, 0.121515f, 0.176477f, 0.030325f, -0.014498f, 0.009072f, -0.183017f, -0.330024f, -0.344864f, -0.439622f, -0.553237f, -0.524176f, -0.469175f, -0.427392f, -0.381368f, -0.280130f, -0.265922f, -0.290288f, -0.194747f, -0.064058f, 0.016634f, 0.070921f, 0.189049f, 0.226895f, 0.256630f, 0.460748f, 0.536986f, 0.496419f, 0.457752f, 0.364811f, 0.230637f, 0.197717f, 0.168021f, 0.102990f, 0.073302f, 0.067900f, 0.026853f, -0.006088f, -0.009228f, -0.019282f, -0.040472f, -0.049963f, -0.041191f, -0.056468f, -0.077643f, -0.074078f, -0.071966f, -0.081459f, -0.082517f, -0.070093f, -0.073771f, -0.068933f, -0.052965f, -0.051126f, -0.054110f, -0.044933f, -0.037111f, -0.035877f, -0.025313f, -0.013576f, -0.009643f, -0.009392f, -0.012899f, -0.013360f, -0.014404f, -0.014888f, -0.012094f, -0.010812f, -0.020667f, -0.032106f, -0.041018f, -0.047219f, -0.050682f, -0.041895f, -0.033450f, -0.032674f, -0.027008f, -0.016057f, -0.012021f, 0.001971f, 0.022736f, - 0.033679f, 0.037027f, 0.048534f, 0.054749f, 0.052446f, 0.058851f, 0.067198f, 0.061452f, 0.061824f, 0.069568f, 0.067815f, 0.064862f, 0.066520f, 0.056487f, 0.040233f, 0.029421f, 0.019618f, 0.005329f, -0.006525f, -0.014046f, -0.024639f, -0.035032f, -0.037513f, -0.038343f, -0.040702f, -0.037578f, -0.036277f, -0.039767f, -0.038639f, -0.036482f, -0.034055f, -0.030026f, -0.025974f, -0.021330f, -0.016894f, -0.013094f, -0.007651f, -0.003968f, -0.001825f, 0.000549f, 0.002646f, 0.003161f, 0.004014f, 0.004906f, 0.005357f, 0.005426f, 0.005701f, 0.005725f, 0.005435f, 0.005114f, 0.005026f, 0.004931f, 0.004839f} - }, - { - {-0.015802f, 0.001738f, 0.010386f, 0.003546f, 0.006765f, -0.009889f, -0.005424f, 0.000440f, -0.001760f, 0.002642f, 0.008223f, -0.019803f, -0.000149f, 0.006503f, 0.003898f, 0.005993f, -0.005743f, -0.008006f, 0.008641f, -0.000150f, 0.002400f, 0.005390f, 0.007147f, 0.002637f, 0.001481f, 0.006437f, -0.000965f, -0.002065f, -0.005579f, 0.002995f, -0.001581f, -0.000908f, -0.002905f, 0.003700f, 0.009403f, 0.000038f, -0.001973f, 0.004432f, -0.006042f, -0.009015f, -0.005000f, -0.001827f, -0.005865f, 0.000527f, -0.001370f, 0.003787f, -0.003667f, 0.001053f, -0.007335f, -0.000702f, -0.006036f, -0.000285f, -0.002775f, -0.002373f, 0.003043f, -0.003468f, -0.000374f, 0.004956f, -0.002625f, 0.005910f, 0.007135f, 0.000525f, 0.009651f, -0.004942f, -0.000353f, 0.004632f, -0.001697f, 0.003128f, 0.004373f, 0.002383f, -0.005113f, 0.002012f, 0.002304f, 0.001646f, 0.000285f, -0.004245f, 0.005619f, -0.001513f, 0.002671f, -0.000918f, -0.001197f, 0.000367f, -0.005903f, -0.000473f, -0.004593f, -0.002116f, -0.000230f, -0.000783f, -0.000186f, -0.000441f, -0.002484f, 0.002935f, 0.000310f, 0.000833f, 0.000173f, 0.001646f, - -0.001028f, 0.002077f, -0.000185f, 0.000895f, -0.000371f, -0.000879f, 0.001127f, 0.000132f, -0.000380f, -0.000006f, 0.001604f, 0.000372f, -0.000323f, 0.001033f, 0.000493f, -0.000189f, 0.026367f, -0.007320f, 0.002632f, -0.005630f, -0.000368f, -0.002296f, 0.003126f, 0.002136f, 0.009107f, 0.002863f, 0.001676f, 0.003582f, -0.002079f, -0.018059f, -0.017273f, -0.005336f, 0.002422f, 0.005410f, -0.004308f, 0.001082f, -0.005548f, -0.001924f, 0.000384f, 0.003168f, -0.007607f, -0.008302f, -0.002382f, -0.000447f, 0.004625f, 0.001577f, -0.001787f, -0.005969f, 0.001167f, -0.003249f, 0.000268f, 0.004328f, -0.006048f, 0.003039f, 0.005557f, -0.004178f, -0.011184f, -0.002858f, 0.004197f, -0.000585f, 0.003426f, -0.000465f, 0.002979f, -0.000438f, 0.003264f, 0.000703f, -0.010432f, 0.002159f, 0.004403f, -0.001577f, 0.003015f, 0.000581f, -0.000514f, -0.001999f, 0.000202f, -0.006115f, -0.000457f, -0.001615f, -0.007734f, -0.001233f, -0.000150f, 0.007042f, -0.006783f, 0.011527f, 0.013402f, 0.010559f, -0.004442f, -0.002037f, -0.002320f, 0.005164f, -0.001830f, -0.002784f, 0.003272f, -0.007447f, -0.006752f, 0.000926f, - 0.006174f, -0.000101f, -0.002977f, -0.006650f, -0.003878f, -0.005049f, -0.002608f, -0.004652f, 0.001874f, -0.002750f, -0.000656f, -0.002890f, -0.001460f, 0.000255f, 0.001687f, 0.000225f, 0.001733f, -0.001005f, 0.000229f, 0.001381f, 0.000784f, 0.001109f, 0.001140f, 0.000697f, -0.001139f, 0.001385f, -0.024788f, -0.000160f, -0.003823f, 0.001713f, -0.000858f, -0.012831f, -0.002458f, -0.002706f, 0.004007f, 0.006241f, -0.008597f, 0.006867f, -0.002194f, 0.004733f, 0.004741f, -0.002578f, 0.010312f, 0.000633f, 0.000448f, -0.001788f, 0.001782f, -0.002558f, 0.001893f, -0.002874f, 0.000372f, -0.006737f, 0.000711f, 0.007441f, -0.000015f, 0.003139f, 0.007814f, -0.007691f, -0.008131f, 0.003396f, -0.003704f, 0.006274f, -0.006356f, -0.001903f, -0.013269f, -0.010204f, -0.008876f, 0.003876f, 0.001118f, 0.004722f, -0.004838f, -0.003415f, -0.001027f, 0.008327f, -0.009226f, 0.003812f, 0.001576f, 0.000698f, 0.004634f, -0.003196f, -0.004246f, -0.005521f, 0.003349f, 0.001815f, -0.008172f, -0.008953f, -0.010466f, -0.000287f, -0.002278f, 0.003416f, -0.000513f, -0.001952f, 0.000937f, 0.001422f, 0.004625f, -0.012447f, - 0.001500f, 0.007119f, 0.010489f, 0.010837f, 0.008893f, -0.001554f, -0.006638f, 0.009717f, 0.002913f, 0.001904f, -0.004890f, 0.002824f, 0.001952f, 0.000320f, -0.001252f, -0.002843f, -0.000477f, 0.003341f, -0.002617f, -0.004213f, -0.001789f, -0.001798f, 0.000657f, -0.000328f, -0.001091f, 0.002918f, 0.000170f, 0.003719f, -0.000405f, 0.001091f, 0.002407f, 0.002349f, 0.001744f, 0.001341f, -0.001538f, -0.001601f, -0.000597f, 0.001494f, -0.000354f, 0.001460f, -0.001075f, 0.002532f, 0.002025f, -0.002144f, 0.000057f, 0.000206f, -0.003632f, 0.002722f, -0.014674f, 0.008792f, -0.007870f, 0.010515f, 0.013750f, 0.008500f, -0.000348f, 0.003945f, 0.000755f, 0.011228f, -0.006425f, -0.006449f, 0.003080f, -0.001931f, 0.004485f, 0.008598f, -0.012754f, 0.003804f, 0.011082f, 0.005128f, -0.001011f, -0.000283f, 0.001171f, -0.005432f, -0.000279f, -0.005142f, -0.007105f, -0.001993f, 0.010487f, -0.004199f, 0.004766f, -0.003893f, -0.006726f, 0.012607f, -0.011355f, 0.008402f, 0.009195f, 0.001671f, 0.005755f, -0.008452f, -0.002464f, -0.003461f, -0.002813f, 0.005778f, 0.001599f, -0.009075f, 0.001242f, -0.001048f, - 0.001479f, -0.002106f, 0.002994f, 0.002885f, 0.010451f, -0.011341f, 0.005162f, 0.004053f, -0.001336f, 0.004025f, 0.000965f, 0.006371f, 0.005924f, 0.003702f, -0.003819f, 0.005038f, 0.009012f, -0.000421f, 0.005191f, -0.004095f, 0.010723f, 0.011104f, 0.012176f, -0.003753f, -0.008902f, 0.002613f, -0.001432f, 0.004233f, 0.002969f, -0.000237f, -0.000881f, -0.012608f, -0.003474f, -0.003070f, -0.001209f, -0.002736f, -0.003954f, 0.004076f, 0.001407f, 0.001158f, 0.004771f, -0.000486f, 0.004826f, 0.003004f, 0.001405f, -0.000897f, 0.000638f, -0.001296f, -0.002355f, 0.001308f, 0.000143f, 0.002262f, -0.000975f, 0.000401f, -0.000402f, -0.001841f, 0.002515f, -0.000294f, -0.002607f, 0.000776f, 0.001989f, 0.000071f, -0.003323f, 0.000577f, -0.001669f, 0.004043f, 0.002854f, 0.002896f, -0.000595f, 0.000763f, 0.002167f, 0.000057f, 0.000993f, 0.001979f, 0.000990f, 0.020285f, -0.001885f, -0.006361f, 0.019292f, -0.007647f, 0.008654f, -0.004659f, -0.018475f, 0.003279f, -0.005329f, 0.000573f, 0.022103f, -0.008576f, -0.010493f, 0.000842f, 0.011611f, -0.018717f, -0.006962f, 0.014034f, -0.004952f, 0.004533f, - 0.006621f, -0.005010f, 0.006024f, -0.003916f, -0.006498f, 0.001305f, -0.001842f, -0.002273f, -0.002415f, 0.007827f, -0.006286f, 0.015240f, 0.003783f, 0.000334f, -0.008753f, -0.002585f, 0.009300f, -0.010682f, 0.002260f, 0.003713f, -0.001684f, -0.014896f, 0.010182f, 0.002724f, 0.002493f, 0.001336f, -0.002070f, 0.007709f, -0.004583f, 0.010536f, 0.005973f, -0.004072f, -0.018184f, 0.008103f, 0.004859f, -0.000431f, -0.005161f, 0.004410f, 0.011714f, 0.011935f, -0.001320f, 0.007071f, -0.010726f, 0.007810f, -0.001911f, -0.003670f, 0.004621f, 0.009243f, -0.006486f, 0.009151f, 0.001620f, -0.003826f, -0.003236f, 0.007473f, -0.006245f, 0.017703f, -0.009108f, 0.007349f, -0.006125f, 0.001624f, -0.005475f, 0.007107f, -0.006356f, 0.000354f, 0.004012f, -0.001185f, 0.000755f, -0.005418f, -0.001879f, -0.000708f, 0.000012f, 0.001535f, -0.002392f, 0.003114f, -0.000324f, -0.002091f, 0.003106f, -0.006217f, -0.006341f, -0.003560f, 0.000089f, -0.000568f, -0.001283f, 0.000234f, -0.004330f, 0.005334f, 0.000324f, -0.000292f, 0.003684f, -0.002979f, -0.000630f, 0.004229f, 0.001777f, 0.001523f, 0.006542f, 0.005844f, - 0.018883f, 0.002334f, -0.004992f, -0.024558f, 0.007358f, 0.013647f, 0.008098f, 0.005225f, -0.002232f, 0.006854f, 0.026351f, -0.003408f, 0.012086f, 0.001016f, 0.006687f, 0.002429f, 0.000318f, 0.005134f, -0.002386f, -0.011518f, -0.003333f, -0.008611f, -0.002356f, -0.012070f, 0.004124f, 0.000162f, 0.013755f, 0.002541f, -0.006635f, 0.004413f, -0.002134f, -0.003590f, 0.008760f, 0.003015f, 0.006508f, 0.003706f, -0.004010f, -0.015714f, 0.000804f, 0.008844f, -0.000772f, -0.003164f, 0.003898f, -0.008390f, -0.003643f, -0.014651f, -0.018071f, 0.009102f, 0.010186f, 0.007892f, -0.002684f, -0.003124f, -0.000014f, -0.000483f, 0.005140f, -0.001093f, 0.005644f, 0.005011f, -0.000318f, 0.005171f, -0.005122f, 0.001264f, -0.002770f, 0.002997f, 0.003751f, 0.016657f, -0.000093f, 0.013599f, -0.005311f, -0.014341f, -0.001421f, -0.002087f, -0.005520f, 0.011119f, -0.001034f, 0.004499f, 0.000922f, -0.008226f, -0.009814f, -0.003584f, -0.002172f, 0.000923f, 0.009842f, 0.003116f, 0.000948f, 0.004059f, 0.006565f, -0.002974f, 0.004926f, -0.000746f, 0.004179f, 0.002542f, 0.000981f, 0.005798f, -0.000739f, 0.003326f, - 0.001894f, 0.001646f, -0.001177f, -0.001723f, -0.003561f, -0.001728f, 0.003408f, 0.005229f, -0.001415f, 0.000316f, -0.003109f, -0.000591f, 0.000134f, -0.003160f, 0.002069f, -0.005811f, 0.000148f, -0.000438f, -0.000085f, 0.003469f, 0.003725f, -0.000575f, 0.008774f, -0.021633f, -0.000713f, 0.022017f, 0.030281f, -0.012595f, 0.003401f, 0.004793f, -0.010520f, -0.006156f, 0.001192f, -0.008796f, -0.009143f, 0.021175f, 0.002968f, -0.014088f, -0.002237f, -0.009207f, -0.005223f, 0.013756f, -0.004328f, -0.006149f, 0.012522f, 0.007692f, 0.012653f, -0.005413f, 0.002614f, 0.012295f, 0.000557f, -0.007457f, 0.003394f, -0.001123f, 0.001555f, -0.015679f, -0.010636f, 0.004616f, -0.001095f, 0.003663f, -0.014372f, 0.006696f, 0.005280f, 0.003303f, -0.025346f, -0.014915f, -0.006411f, -0.003237f, 0.003624f, -0.011160f, -0.007401f, 0.002415f, 0.019459f, 0.012737f, 0.006905f, -0.003519f, -0.002114f, -0.007428f, 0.005635f, -0.002209f, -0.014363f, -0.011069f, -0.001310f, -0.000302f, 0.020388f, 0.011203f, -0.010068f, -0.011352f, 0.014103f, 0.002734f, -0.008472f, 0.000004f, 0.012659f, 0.004712f, 0.000397f, -0.016532f, - 0.018139f, -0.006459f, 0.012101f, 0.015759f, 0.016694f, 0.001394f, -0.006131f, -0.005086f, 0.008589f, 0.009734f, -0.008563f, 0.006819f, 0.009334f, 0.006494f, -0.002818f, -0.002293f, 0.001343f, 0.005569f, 0.004656f, -0.005004f, -0.007595f, -0.007259f, 0.003568f, -0.003531f, -0.002238f, -0.005069f, -0.000967f, -0.003661f, 0.001865f, -0.003039f, 0.002220f, 0.001642f, -0.000555f, -0.000092f, 0.004109f, -0.003078f, -0.006047f, -0.001198f, 0.005608f, -0.003467f, -0.002982f, -0.003288f, -0.002247f, -0.000506f, -0.000095f, -0.003867f, -0.000085f, -0.002847f, -0.001303f, 0.000922f, 0.003761f, -0.002571f, -0.000081f, -0.000916f, -0.001631f, 0.003339f, 0.004070f, -0.005957f, 0.008885f, -0.011556f, 0.013007f, -0.001291f, -0.003630f, 0.006874f, -0.013307f, 0.004423f, 0.007116f, 0.001356f, 0.004947f, 0.006147f, -0.003660f, 0.014500f, -0.006950f, -0.024994f, -0.014898f, -0.003368f, 0.000895f, -0.005368f, -0.010720f, -0.011729f, -0.007977f, 0.024368f, -0.006868f, -0.002023f, 0.003453f, -0.005177f, 0.002843f, 0.019974f, -0.009732f, 0.009432f, -0.006335f, -0.012994f, 0.011483f, 0.008255f, 0.005258f, 0.017891f, - 0.000331f, 0.008377f, -0.000858f, 0.002054f, -0.000775f, -0.006001f, 0.003893f, -0.001462f, 0.012958f, 0.002511f, -0.009045f, -0.002402f, -0.002658f, -0.000708f, -0.014699f, 0.005789f, -0.014492f, 0.003415f, 0.019343f, -0.012749f, -0.024330f, 0.005541f, 0.003299f, 0.011037f, -0.004983f, -0.000316f, 0.011292f, -0.007095f, 0.005503f, 0.008283f, 0.002288f, -0.005180f, 0.011150f, 0.002330f, 0.014337f, 0.002969f, -0.008999f, -0.008559f, 0.009297f, 0.015646f, 0.005476f, -0.000233f, -0.012997f, -0.002702f, -0.004217f, 0.009248f, 0.002310f, -0.017765f, 0.002732f, 0.004609f, 0.001248f, 0.001709f, 0.006825f, -0.003189f, 0.002854f, -0.004905f, 0.002982f, 0.002685f, 0.002176f, 0.003544f, 0.001541f, 0.002319f, 0.002153f, -0.004163f, 0.001296f, -0.001320f, -0.000679f, 0.003935f, 0.001648f, 0.002162f, 0.004485f, -0.001442f, -0.014219f, 0.001311f, -0.000978f, 0.000987f, -0.001314f, -0.000927f, 0.003937f, 0.002552f, -0.002307f, -0.002736f, -0.019322f, 0.044613f, -0.010411f, 0.020045f, 0.001892f, 0.008369f, 0.006060f, -0.000116f, -0.024994f, 0.021276f, -0.031161f, 0.010085f, 0.007485f, 0.028091f, - -0.013162f, 0.012655f, -0.019822f, 0.012944f, -0.006408f, -0.021363f, -0.010226f, 0.005019f, 0.005477f, 0.007791f, 0.003977f, 0.011208f, 0.007355f, 0.016995f, -0.005267f, -0.013944f, -0.012547f, 0.004875f, -0.000146f, -0.006898f, 0.011388f, 0.004951f, -0.002330f, 0.006769f, 0.014096f, -0.001319f, 0.003651f, -0.002127f, 0.006972f, 0.004078f, -0.018037f, -0.007871f, -0.023634f, -0.005467f, -0.004010f, -0.000573f, 0.011352f, 0.010073f, 0.001508f, -0.006556f, -0.000125f, -0.003585f, -0.005609f, 0.003126f, 0.033264f, 0.002960f, -0.000723f, 0.010539f, -0.000791f, 0.012080f, -0.005194f, 0.000119f, -0.007891f, 0.033328f, 0.007875f, -0.013758f, -0.015689f, -0.010532f, 0.001316f, -0.000747f, -0.021329f, 0.001157f, 0.004411f, 0.001429f, 0.023295f, -0.006075f, 0.003435f, -0.014469f, -0.004723f, -0.039262f, -0.006775f, 0.002009f, 0.001509f, -0.015101f, 0.003954f, -0.007276f, 0.004932f, 0.002258f, -0.007122f, -0.000903f, 0.005169f, 0.007943f, 0.014827f, 0.003879f, -0.005378f, -0.005094f, -0.011905f, -0.004654f, 0.001134f, 0.001968f, -0.006839f, -0.002643f, 0.006478f, 0.002273f, -0.001762f, -0.001665f, - -0.005060f, -0.004766f, -0.002281f, 0.001339f, -0.009902f, -0.007041f, 0.001883f, 0.003953f, 0.000068f, -0.002578f, 0.002491f, 0.008119f, 0.001393f, 0.000636f, -0.000653f, -0.003582f, 0.000281f, -0.011633f, 0.004948f, 0.002690f, 0.023343f, 0.002026f, 0.019434f, 0.011799f, 0.019058f, 0.006396f, -0.019269f, 0.018916f, -0.012328f, 0.032720f, -0.021132f, -0.006244f, -0.029233f, -0.006165f, -0.003094f, 0.013013f, -0.013594f, 0.019090f, 0.015395f, -0.009256f, 0.001092f, 0.021826f, 0.030716f, -0.009776f, 0.000782f, -0.004005f, 0.009632f, 0.000150f, -0.003586f, 0.004457f, 0.008422f, -0.014634f, 0.011042f, 0.002101f, 0.012659f, 0.004832f, 0.001936f, -0.024994f, -0.004035f, 0.029004f, -0.003468f, 0.009707f, 0.022237f, 0.006417f, -0.001725f, -0.007761f, -0.010240f, -0.006134f, 0.001020f, -0.009534f, -0.005718f, 0.016812f, 0.015546f, 0.004878f, 0.025816f, 0.017150f, -0.005403f, -0.002575f, 0.003538f, 0.005983f, -0.007886f, -0.020577f, 0.026847f, 0.011818f, -0.005505f, 0.024566f, 0.025693f, 0.028628f, 0.012421f, 0.004318f, -0.010377f, 0.000723f, -0.014523f, -0.011654f, -0.007412f, -0.028717f, - 0.011537f, -0.003641f, 0.024497f, -0.005811f, -0.019242f, -0.003625f, 0.001849f, -0.002856f, -0.025668f, 0.004105f, 0.006851f, 0.011690f, 0.012377f, -0.008672f, 0.003984f, -0.005919f, -0.016692f, 0.003287f, 0.006466f, -0.001277f, -0.004935f, -0.012592f, 0.013214f, 0.007471f, -0.011777f, -0.013359f, -0.007486f, 0.007682f, -0.001360f, -0.003787f, 0.003575f, -0.005929f, 0.003707f, -0.001512f, 0.002287f, 0.005795f, -0.008517f, -0.003954f, 0.003822f, -0.001795f, 0.000159f, 0.017140f, 0.005612f, 0.001167f, -0.001154f, 0.004093f, -0.005685f, -0.003208f, -0.000544f, 0.005633f, -0.003537f, 0.025648f, 0.001586f, 0.004754f, -0.003764f, 0.002197f, -0.003206f, -0.038655f, 0.004563f, -0.000287f, -0.006893f, -0.002800f, -0.018971f, 0.021938f, 0.022476f, 0.025145f, -0.040587f, 0.013220f, 0.008474f, 0.001115f, 0.040162f, 0.016560f, -0.019881f, -0.002225f, 0.039650f, 0.004777f, 0.007126f, 0.008185f, -0.011570f, 0.006720f, 0.008222f, 0.024693f, 0.012537f, -0.018684f, -0.030862f, 0.011815f, 0.007390f, -0.015466f, -0.002873f, 0.001627f, -0.018954f, 0.002291f, 0.023265f, 0.010012f, 0.013065f, 0.018982f, - 0.030590f, 0.003019f, 0.026949f, 0.005448f, -0.010625f, -0.001419f, -0.015864f, -0.008194f, 0.006715f, 0.009247f, 0.007021f, 0.013662f, -0.019088f, -0.008506f, 0.034327f, -0.002390f, -0.007319f, -0.019007f, 0.016303f, 0.014880f, 0.005147f, 0.006308f, -0.000223f, 0.009606f, -0.014863f, 0.024636f, -0.012294f, -0.014449f, -0.011864f, -0.008021f, 0.033227f, 0.009108f, 0.006950f, -0.035954f, -0.019821f, -0.029528f, 0.002196f, -0.003019f, -0.002908f, -0.028003f, -0.039093f, -0.000972f, 0.017605f, -0.009508f, 0.005034f, -0.002421f, -0.002658f, 0.009972f, -0.013605f, -0.005685f, -0.006194f, 0.012014f, 0.001987f, -0.008574f, -0.000123f, -0.001258f, -0.000207f, -0.003990f, -0.008191f, 0.002192f, 0.013094f, -0.006219f, -0.004288f, -0.008235f, -0.003808f, -0.005721f, -0.002875f, 0.005885f, -0.001923f, 0.009215f, -0.002982f, -0.001797f, -0.005186f, -0.003679f, 0.013762f, -0.001250f, -0.000922f, -0.006336f, -0.001042f, 0.008308f, 0.002229f, -0.009825f, 0.002263f, 0.000952f, 0.002909f, 0.036219f, 0.042601f, -0.010864f, 0.011992f, -0.003068f, -0.012415f, 0.002502f, -0.028485f, -0.017576f, -0.001225f, -0.005698f, - 0.057120f, -0.025646f, 0.007339f, -0.036229f, -0.005299f, 0.022188f, -0.009275f, -0.020143f, -0.021155f, -0.007698f, 0.008764f, 0.011332f, -0.001390f, -0.001763f, -0.023783f, 0.005671f, 0.016697f, 0.008474f, 0.010248f, 0.003107f, 0.003756f, -0.013842f, -0.004523f, 0.009382f, 0.003449f, 0.000038f, 0.001082f, -0.016708f, 0.007501f, -0.017586f, -0.002832f, -0.000404f, 0.005163f, -0.019534f, -0.001989f, 0.009666f, 0.014092f, -0.022267f, -0.011682f, 0.039705f, -0.015205f, -0.031196f, 0.026295f, -0.025371f, -0.007989f, -0.011194f, -0.004539f, -0.019466f, -0.013515f, -0.004046f, -0.019641f, -0.028019f, 0.045294f, 0.025031f, 0.020201f, 0.013859f, -0.017559f, -0.006820f, -0.011836f, 0.012774f, -0.021282f, 0.015151f, -0.011346f, 0.006546f, 0.015193f, 0.009945f, 0.003101f, -0.028858f, 0.028358f, -0.034485f, -0.009038f, -0.033431f, -0.013571f, 0.022098f, -0.001259f, 0.012560f, 0.025361f, 0.008108f, -0.002551f, 0.004987f, -0.008829f, 0.000542f, -0.002677f, -0.009533f, 0.011468f, -0.003934f, -0.005278f, 0.013135f, 0.006963f, -0.003429f, 0.000919f, 0.000645f, 0.002108f, -0.005859f, 0.005728f, 0.001835f, - 0.003100f, -0.007021f, 0.004847f, -0.003241f, 0.012439f, -0.005522f, 0.008800f, -0.002622f, -0.004305f, 0.013187f, -0.008773f, -0.003797f, -0.007846f, 0.005332f, 0.013041f, 0.006029f, -0.003685f, 0.006179f, -0.005222f, 0.006311f, 0.009086f, -0.009804f, -0.023649f, -0.001513f, 0.060113f, -0.026521f, 0.026301f, -0.053191f, 0.015002f, -0.033713f, -0.006076f, 0.019232f, -0.001394f, 0.012423f, 0.020156f, 0.016111f, -0.023023f, 0.017657f, 0.003893f, 0.013117f, -0.004707f, 0.018097f, 0.016852f, -0.003398f, 0.003785f, 0.010972f, 0.012417f, -0.016935f, -0.005576f, -0.024810f, -0.002777f, 0.022307f, 0.000920f, -0.010268f, 0.002605f, 0.008387f, 0.001877f, -0.008897f, -0.017520f, 0.004756f, -0.011737f, 0.011757f, -0.011068f, 0.042765f, -0.003654f, -0.022939f, -0.025775f, 0.006091f, -0.013998f, 0.013600f, -0.028945f, -0.022723f, -0.029410f, 0.007046f, -0.024785f, -0.005794f, -0.035718f, 0.025975f, 0.005630f, 0.017541f, 0.011040f, -0.038702f, 0.003324f, -0.003282f, -0.014230f, -0.021544f, -0.005609f, -0.018318f, -0.023012f, -0.012689f, 0.011162f, 0.015580f, 0.022729f, -0.012719f, 0.003471f, 0.009890f, - -0.032338f, 0.015191f, -0.022047f, -0.001851f, 0.018779f, 0.008033f, 0.007794f, 0.003613f, 0.038217f, -0.021511f, -0.007622f, -0.008072f, 0.010282f, -0.032129f, 0.002912f, -0.002441f, 0.000030f, 0.021160f, 0.012531f, 0.010557f, 0.004100f, -0.007694f, 0.001628f, -0.003726f, 0.015606f, -0.005706f, -0.001620f, -0.008419f, 0.017652f, 0.007114f, -0.005722f, 0.004928f, -0.014976f, 0.010730f, 0.005731f, 0.008480f, 0.001692f, -0.002884f, 0.010061f, 0.017815f, 0.006363f, -0.008391f, -0.011346f, -0.004602f, 0.004831f, -0.011749f, -0.002357f, -0.017961f, -0.012864f, -0.006960f, 0.000362f, -0.009794f, 0.007667f, -0.007677f, 0.018181f, -0.013842f, 0.000093f, 0.000113f, -0.049970f, -0.014517f, 0.055882f, 0.049444f, 0.027737f, -0.024049f, 0.024437f, 0.036967f, -0.024615f, 0.032651f, -0.026489f, 0.030145f, 0.007024f, -0.002091f, 0.009855f, -0.000713f, 0.015797f, -0.023932f, -0.006892f, -0.010829f, 0.012004f, -0.022690f, -0.020445f, 0.031772f, -0.003180f, -0.006689f, 0.002893f, -0.030813f, -0.000800f, 0.049431f, 0.026866f, 0.005578f, -0.000589f, 0.010496f, 0.046696f, 0.019935f, 0.000593f, 0.007846f, - -0.013079f, -0.005604f, -0.011277f, 0.020073f, -0.010555f, 0.013395f, 0.002407f, 0.023987f, -0.028598f, -0.000635f, -0.001844f, 0.000698f, -0.008159f, 0.013374f, 0.021444f, -0.005119f, -0.006275f, 0.021745f, 0.002362f, 0.002669f, 0.049209f, 0.007732f, 0.000533f, -0.022641f, 0.009844f, -0.016848f, 0.022712f, -0.026456f, -0.023556f, 0.003559f, -0.023208f, -0.024686f, -0.037797f, 0.010062f, -0.012712f, 0.019403f, -0.006528f, 0.010938f, -0.055143f, 0.011183f, -0.018749f, -0.033385f, 0.017231f, 0.023009f, 0.011914f, 0.007105f, 0.004036f, 0.009640f, 0.014558f, -0.007140f, -0.008664f, -0.010147f, -0.000799f, -0.011126f, 0.006804f, 0.001439f, -0.016034f, -0.010999f, 0.008969f, 0.005408f, 0.000578f, 0.016234f, -0.005825f, -0.001715f, -0.013083f, -0.002758f, -0.000052f, 0.006721f, 0.004124f, -0.010889f, -0.006792f, -0.003020f, -0.013252f, -0.002489f, -0.012454f, 0.004946f, 0.003203f, 0.014622f, 0.009841f, -0.001043f, -0.006058f, -0.000012f, -0.000039f, -0.004180f, -0.001042f, -0.015291f, -0.002859f, 0.006258f, 0.006650f, 0.001934f, -0.002718f, 0.014729f, 0.002314f, 0.041847f, -0.063742f, 0.027114f, - 0.028246f, -0.045234f, -0.004389f, -0.038720f, -0.012615f, -0.034732f, -0.015582f, 0.040301f, -0.013462f, -0.002663f, -0.027911f, -0.005193f, 0.006704f, -0.041459f, -0.001391f, 0.026929f, -0.051294f, 0.002164f, -0.034952f, -0.018721f, 0.000934f, 0.004068f, -0.023075f, -0.018442f, -0.019301f, -0.005353f, -0.016565f, -0.000804f, 0.009160f, -0.004788f, 0.013287f, -0.024857f, -0.015814f, 0.033860f, -0.015500f, 0.018467f, -0.019774f, 0.019203f, 0.017521f, 0.003240f, 0.004825f, 0.017909f, 0.001038f, 0.025401f, 0.031983f, -0.005703f, 0.004906f, 0.047510f, 0.003003f, 0.024557f, -0.001509f, -0.018500f, -0.037035f, 0.006549f, 0.026049f, -0.040782f, 0.000733f, -0.023857f, -0.012501f, -0.052968f, 0.023208f, 0.035451f, -0.009001f, 0.017239f, -0.008442f, 0.038530f, 0.042490f, -0.003095f, -0.041712f, -0.040399f, 0.058236f, -0.044909f, 0.017115f, 0.007013f, 0.006208f, 0.043748f, -0.018322f, 0.071080f, -0.001009f, -0.015735f, -0.018273f, -0.012451f, 0.011487f, -0.004120f, -0.005232f, -0.000112f, 0.018445f, -0.004220f, -0.011330f, 0.015644f, -0.005359f, 0.008053f, -0.013910f, -0.008162f, 0.013542f, 0.001363f, - 0.020156f, -0.006266f, 0.008670f, -0.014379f, -0.004048f, -0.019799f, 0.004322f, 0.008547f, 0.010144f, 0.002282f, 0.010415f, 0.001325f, -0.002993f, 0.011260f, -0.016909f, 0.011639f, -0.014321f, -0.004811f, 0.008928f, -0.017421f, -0.004347f, -0.009845f, -0.029689f, -0.007636f, 0.002098f, 0.011138f, -0.014434f, -0.007233f, -0.012681f, -0.003814f, 0.003257f, 0.022765f, 0.011749f, 0.069519f, 0.078340f, -0.004609f, -0.059067f, 0.058369f, -0.064580f, 0.009124f, 0.027392f, 0.006812f, -0.006913f, -0.029773f, 0.033554f, -0.014994f, -0.012029f, -0.030315f, -0.017658f, -0.009429f, -0.037889f, -0.020807f, -0.016943f, -0.009437f, -0.006239f, 0.026345f, -0.000402f, 0.022780f, 0.000150f, -0.009784f, -0.033202f, -0.036303f, -0.009205f, -0.001278f, -0.000515f, -0.005468f, -0.013619f, -0.015651f, 0.017361f, 0.041924f, -0.022783f, 0.014479f, -0.014241f, -0.014579f, 0.016594f, -0.016155f, -0.026314f, 0.058844f, -0.006536f, 0.005473f, 0.002838f, -0.032771f, -0.007272f, -0.006816f, 0.016598f, -0.042351f, -0.018845f, 0.044959f, 0.007159f, -0.019000f, 0.024331f, 0.045697f, -0.026009f, -0.032040f, 0.016625f, -0.027145f, - 0.000373f, -0.050879f, 0.016385f, 0.043433f, -0.004508f, 0.022700f, 0.013124f, 0.007678f, 0.049640f, 0.015704f, -0.000301f, 0.028769f, -0.004244f, -0.003872f, 0.017461f, 0.018907f, -0.072190f, 0.006699f, -0.031447f, 0.025608f, -0.001268f, 0.001092f, 0.017841f, -0.005312f, -0.006983f, -0.009368f, 0.009562f, 0.003802f, -0.007152f, 0.009754f, -0.010419f, 0.001173f, -0.005580f, -0.013787f, 0.006295f, -0.006836f, 0.015478f, 0.008707f, -0.000360f, 0.000211f, 0.004175f, -0.003993f, 0.009119f, 0.004670f, 0.002779f, 0.003918f, -0.002720f, 0.003567f, -0.006343f, -0.011931f, -0.006745f, -0.002980f, 0.001551f, -0.015561f, 0.012681f, 0.008762f, 0.000520f, 0.004840f, -0.010680f, 0.014907f, 0.001675f, -0.008583f, 0.005228f, 0.006535f, -0.018968f, -0.003723f, 0.001760f, -0.001335f, 0.000136f, 0.003617f, -0.003216f, 0.002950f, -0.094753f, -0.066198f, 0.028426f, -0.027721f, -0.026090f, -0.080516f, -0.022829f, 0.017869f, 0.007276f, -0.015396f, -0.044517f, -0.000003f, 0.023441f, -0.001094f, 0.003688f, 0.024264f, 0.042644f, -0.035903f, 0.096339f, -0.024066f, -0.031210f, -0.009099f, -0.004795f, 0.001014f, - -0.037311f, 0.001446f, -0.006084f, 0.020808f, -0.012211f, 0.029210f, -0.011266f, -0.023784f, 0.010578f, 0.012383f, -0.021171f, 0.024329f, -0.072350f, 0.001159f, -0.005250f, 0.029689f, 0.035783f, -0.024920f, 0.033408f, -0.012024f, 0.009973f, -0.015118f, -0.004677f, -0.009077f, 0.026848f, -0.002943f, 0.035163f, 0.054590f, -0.046432f, -0.012575f, 0.025937f, -0.031110f, 0.019755f, -0.035420f, -0.019280f, -0.017350f, -0.020504f, -0.036172f, -0.018268f, 0.017679f, 0.014549f, 0.028735f, 0.037130f, 0.027122f, -0.043735f, 0.006090f, 0.008757f, 0.011093f, 0.009508f, 0.028862f, -0.013305f, -0.029408f, 0.017701f, -0.007255f, -0.022861f, 0.005107f, -0.039561f, -0.016065f, -0.034392f, 0.003727f, 0.021142f, -0.012202f, 0.020340f, 0.011147f, -0.000649f, -0.007069f, -0.000045f, -0.030622f, -0.011145f, 0.010828f, 0.005724f, 0.007309f, 0.002690f, 0.004000f, 0.003316f, 0.010178f, 0.003155f, -0.020413f, -0.002405f, 0.003640f, -0.001589f, 0.005891f, -0.009066f, -0.008278f, -0.019929f, 0.005733f, 0.018590f, -0.020058f, -0.013935f, 0.011019f, -0.004704f, -0.020484f, 0.014291f, -0.009749f, -0.007906f, 0.012975f, - -0.000467f, -0.003481f, -0.005938f, -0.008868f, -0.011951f, -0.012711f, -0.002945f, -0.010761f, -0.006235f, -0.005347f, 0.009443f, -0.000221f, 0.000098f, 0.014259f, -0.018865f, -0.063980f, 0.049956f, -0.082171f, 0.059370f, -0.007451f, -0.036202f, -0.030800f, -0.034428f, -0.023066f, -0.017684f, 0.002686f, 0.043807f, -0.002576f, -0.034904f, 0.039019f, 0.055040f, -0.082059f, -0.021146f, 0.006654f, -0.005855f, -0.012077f, -0.003141f, -0.010653f, -0.013723f, -0.023263f, 0.031793f, -0.009952f, -0.021998f, -0.038632f, -0.038191f, 0.039469f, 0.011102f, -0.006259f, -0.003233f, 0.000842f, -0.007606f, -0.009725f, 0.009568f, -0.033925f, 0.019971f, 0.040290f, 0.030556f, 0.019172f, 0.038790f, 0.044659f, -0.024165f, 0.010110f, -0.035249f, 0.040019f, -0.021402f, -0.005725f, 0.000852f, -0.056560f, 0.019669f, 0.047884f, 0.009109f, -0.018683f, -0.014683f, 0.062363f, -0.023748f, -0.025942f, 0.018389f, -0.062224f, -0.006265f, -0.030534f, 0.002442f, -0.060847f, 0.026801f, 0.011337f, 0.026294f, -0.099157f, -0.084483f, 0.014619f, -0.028799f, -0.019447f, -0.011280f, -0.066228f, 0.023244f, -0.038916f, -0.041976f, 0.033102f, - -0.027877f, -0.016546f, 0.015005f, -0.006436f, -0.011914f, -0.001850f, -0.002475f, 0.014540f, -0.031808f, -0.015018f, -0.030644f, 0.000601f, -0.012812f, 0.006911f, -0.003391f, -0.024624f, -0.009137f, 0.009361f, -0.000460f, 0.002309f, 0.007897f, -0.027047f, 0.004698f, -0.034411f, 0.017258f, 0.005751f, -0.024126f, 0.008512f, -0.028917f, -0.006057f, -0.009823f, 0.002687f, 0.017168f, -0.011475f, 0.017728f, -0.008412f, 0.029337f, -0.012481f, 0.018892f, -0.009488f, -0.001900f, -0.000543f, -0.002191f, 0.006058f, -0.001673f, 0.000320f, -0.001067f, -0.006071f, 0.001299f, 0.010396f, -0.001577f, -0.004066f, -0.002267f, 0.003494f, -0.002324f, -0.003549f, -0.001439f, -0.001576f, 0.002128f, -0.001591f, 0.000036f, -0.001422f, -0.002178f, -0.001338f, 0.003197f, 0.000068f, -0.003407f, -0.000011f, 0.001033f, -0.004548f, 0.004061f, 0.071937f, -0.103917f, 0.102506f, 0.028966f, -0.005097f, 0.006972f, -0.076733f, 0.013902f, 0.033740f, -0.014845f, 0.087115f, -0.026897f, 0.036806f, -0.032852f, 0.096143f, -0.005143f, -0.014698f, -0.038980f, -0.015200f, 0.012635f, -0.011375f, 0.037990f, 0.029239f, -0.012021f, 0.001128f, - -0.040063f, 0.013148f, 0.037589f, 0.038233f, -0.044945f, 0.016624f, -0.010232f, 0.040940f, -0.013184f, 0.026099f, -0.027323f, -0.021593f, -0.059438f, 0.002403f, -0.038297f, -0.055544f, 0.074986f, -0.035524f, -0.008504f, -0.016127f, -0.020156f, 0.008872f, 0.004598f, 0.025617f, -0.014580f, 0.040165f, 0.002145f, 0.074121f, 0.027268f, 0.082211f, 0.069355f, -0.008605f, 0.045771f, 0.034832f, -0.014334f, 0.041249f, 0.056320f, -0.026473f, -0.059878f, 0.031551f, 0.019597f, 0.046018f, 0.022553f, -0.006186f, -0.002436f, -0.063588f, -0.007756f, -0.019804f, -0.024409f, 0.081066f, -0.011344f, -0.002433f, 0.100676f, 0.067075f, 0.035045f, 0.044311f, 0.021676f, 0.001427f, 0.009827f, 0.058009f, -0.001178f, -0.017102f, 0.015746f, 0.048519f, 0.021613f, 0.027024f, 0.012179f, 0.033130f, -0.003772f, 0.008494f, 0.010970f, 0.022775f, 0.006343f, 0.004702f, 0.002402f, 0.001305f, 0.017665f, 0.028026f, 0.010580f, 0.037512f, 0.000867f, 0.022621f, 0.021890f, 0.042497f, -0.002630f, 0.028664f, 0.024707f, 0.004329f, 0.020529f, -0.000103f, 0.003040f, -0.008771f, 0.007325f, 0.010882f, 0.004085f, 0.005013f, - -0.000359f, -0.006541f, -0.000703f, 0.009000f, -0.007392f, 0.004323f, 0.018005f, -0.005641f, 0.035140f, 0.002781f, 0.007851f, -0.003814f, -0.016729f, 0.009028f, -0.006617f, 0.010377f, 0.031562f, -0.071732f, 0.137032f, -0.018891f, -0.015457f, -0.009048f, 0.099683f, -0.061631f, 0.049938f, -0.067469f, 0.063486f, 0.012519f, -0.012509f, 0.001251f, 0.037175f, -0.016405f, 0.034675f, -0.016558f, -0.000352f, 0.069704f, 0.021487f, -0.018418f, -0.000281f, 0.017034f, 0.013766f, -0.068531f, 0.018161f, -0.025296f, -0.006159f, -0.036386f, 0.034700f, 0.032414f, 0.005172f, 0.015063f, 0.058605f, -0.020012f, -0.093161f, 0.021695f, 0.061103f, -0.024269f, -0.061224f, 0.015661f, 0.043788f, 0.014159f, 0.000107f, -0.074068f, -0.035147f, -0.044135f, 0.040879f, 0.015882f, 0.042117f, -0.089077f, 0.005737f, -0.016995f, -0.097598f, -0.026019f, 0.014455f, 0.043538f, 0.061614f, -0.033454f, 0.115012f, 0.021649f, 0.002091f, -0.024425f, -0.046281f, -0.032826f, 0.021770f, -0.054005f, 0.108456f, -0.035445f, 0.004569f, 0.063341f, -0.042107f, 0.038345f, -0.041118f, -0.024414f, 0.090025f, -0.046317f, 0.059084f, 0.053531f, - 0.019894f, 0.023932f, -0.077715f, -0.010161f, -0.003936f, -0.028089f, 0.036822f, 0.032217f, 0.013589f, 0.009204f, 0.035861f, -0.009377f, 0.014112f, -0.005195f, 0.010857f, -0.016252f, 0.012861f, -0.003572f, 0.010906f, 0.007351f, 0.002585f, -0.027501f, -0.004316f, 0.002677f, -0.009298f, -0.004122f, 0.019175f, 0.009505f, 0.031469f, -0.015187f, 0.006828f, -0.052151f, -0.042699f, -0.007249f, -0.002350f, 0.029395f, 0.023179f, -0.015587f, -0.010399f, -0.041886f, 0.000199f, 0.012955f, -0.006236f, -0.001190f, 0.010126f, -0.014000f, 0.009570f, -0.031257f, 0.002131f, -0.011298f, -0.011324f, 0.018622f, -0.080556f, 0.046167f, 0.029591f, 0.046174f, -0.018257f, -0.012978f, 0.018784f, 0.000236f, 0.005443f, 0.001822f, 0.009242f, 0.002271f, -0.012553f, 0.059680f, -0.013767f, -0.040998f, 0.017515f, -0.000996f, -0.036036f, 0.012678f, 0.008505f, 0.024671f, -0.016547f, -0.027300f, 0.029580f, -0.023596f, -0.003089f, -0.006982f, 0.024307f, -0.041607f, 0.014370f, -0.025790f, 0.021267f, -0.036650f, 0.013194f, -0.012252f, 0.006465f, 0.080525f, -0.055197f, 0.010543f, 0.017851f, -0.049829f, 0.018242f, 0.023040f, - -0.036819f, -0.007655f, -0.014014f, 0.066971f, 0.005779f, -0.077367f, 0.046489f, -0.062534f, 0.011523f, 0.032433f, -0.029891f, 0.037091f, -0.044695f, -0.036937f, 0.051038f, -0.008622f, 0.021775f, -0.076237f, 0.014431f, 0.016518f, -0.003904f, -0.011736f, -0.000490f, 0.030981f, 0.001314f, -0.101402f, 0.061592f, -0.006364f, 0.023747f, -0.026621f, -0.030864f, 0.096745f, -0.002427f, -0.061843f, 0.005509f, 0.031255f, 0.007289f, -0.094032f, 0.003498f, 0.087256f, -0.015819f, -0.040342f, 0.009709f, 0.042216f, -0.005482f, 0.000156f, -0.007274f, -0.004351f, 0.006192f, -0.015255f, -0.008766f, 0.028667f, -0.012288f, -0.000773f, -0.016704f, 0.016819f, 0.025729f, -0.004577f, -0.003685f, 0.027091f, 0.009028f, -0.018598f, -0.004270f, 0.011681f, 0.007973f, -0.015796f, 0.008639f, 0.018646f, -0.015382f, 0.004017f, 0.004835f, 0.012024f, -0.028775f, 0.001860f, 0.018323f, 0.006871f, -0.019995f, 0.001161f, 0.014454f, 0.002383f, -0.014790f, -0.010070f, 0.016202f, 0.039205f, -0.012203f, -0.198398f, -0.423307f, -0.168271f, -0.318447f, -0.388075f, 0.138854f, -0.000553f, 0.142394f, 0.538658f, 0.470555f, 0.268128f, - 0.515540f, 0.287902f, 0.033416f, 0.178789f, 0.110398f, -0.193643f, -0.136570f, -0.039551f, -0.214746f, -0.259921f, -0.085872f, -0.131157f, -0.205542f, -0.050971f, -0.008443f, -0.262005f, -0.180229f, -0.026558f, -0.158883f, -0.205990f, -0.059396f, -0.100656f, -0.224008f, -0.042321f, 0.023775f, -0.125269f, -0.095298f, 0.095947f, -0.033350f, -0.134414f, 0.029253f, 0.090373f, -0.065872f, 0.055724f, 0.197802f, -0.028115f, -0.051695f, 0.195725f, 0.104895f, -0.047881f, 0.324555f, 0.440811f, 0.274714f, 0.464765f, 0.694879f, 0.534678f, 0.508895f, 0.743240f, 0.644465f, 0.474518f, 0.582054f, 0.529168f, 0.336954f, 0.298123f, 0.160860f, -0.054461f, -0.231062f, -0.414142f, -0.588667f, -0.700718f, -0.878768f, -0.938995f, -0.990182f, -1.121921f, -1.121094f, -0.847153f, -0.866839f, -0.789403f, -0.355041f, -0.274584f, -0.267005f, 0.119558f, 0.227515f, 0.005674f, 0.237084f, 0.328666f, 0.113066f, 0.157067f, 0.308308f, 0.230596f, 0.134632f, 0.217821f, 0.269543f, 0.114987f, 0.168108f, 0.334262f, 0.199134f, 0.131334f, 0.308125f, 0.231228f, 0.093851f, 0.200477f, 0.228965f, 0.030042f, 0.118605f, 0.275397f, - 0.158232f, 0.189650f, 0.387962f, 0.364968f, 0.384597f, 0.497744f, 0.501260f, 0.402188f, 0.380469f, 0.324789f, 0.198584f, 0.143325f, 0.076552f, -0.011330f, -0.077597f, -0.211394f, -0.288994f, -0.390849f, -0.520948f, -0.580180f, -0.655585f, -0.763252f, -0.726835f, -0.652822f, -0.576501f, -0.421463f, -0.276197f, -0.146358f, -0.053780f, 0.023031f, 0.048535f, 0.059312f, 0.076451f, 0.081013f, 0.068576f, 0.073246f, 0.080931f, 0.078565f, 0.088071f, 0.113809f, 0.127776f, 0.136701f, 0.152342f, 0.157104f, 0.159309f, 0.167451f, 0.154887f, 0.133191f, 0.099813f, 0.062287f, 0.039627f, 0.011153f, -0.007331f, -0.012760f, -0.019022f, -0.027166f, -0.026654f, -0.022870f, -0.012641f, 0.001513f, 0.016367f, 0.033221f, 0.039017f, 0.042384f, 0.049451f, 0.052960f, 0.052641f, 0.055243f, 0.061005f, 0.058159f, 0.052577f, 0.058617f, 0.052196f, 0.038486f, 0.047405f, 0.048927f, 0.033212f, 0.033507f, 0.029055f, 0.007902f, 0.002252f, -0.000392f, -0.022378f, -0.037020f, -0.042496f, -0.053921f, -0.065511f, -0.068008f, -0.072703f, -0.083698f, -0.085527f, -0.084631f, -0.090764f, -0.095345f, -0.091080f, -0.089181f, - -0.090831f, -0.081983f, -0.070125f, -0.063483f, -0.052002f, -0.032453f, -0.018297f, -0.006254f, 0.011146f, 0.026582f, 0.034293f, 0.041721f, 0.051656f, 0.054324f, 0.052843f, 0.054245f, 0.052521f, 0.047022f, 0.043334f, 0.039931f, 0.034641f, 0.029526f, 0.025677f, 0.020871f, 0.016023f, 0.012755f, 0.010332f, 0.007537f, 0.005696f, 0.003946f, 0.002247f, 0.001195f, 0.000566f, 0.000019f, -0.000229f}, - {-0.013293f, 0.000433f, 0.010653f, 0.007331f, 0.007378f, 0.004654f, 0.002960f, -0.004136f, 0.000209f, -0.004715f, 0.011396f, 0.006986f, 0.002775f, 0.001683f, 0.001689f, -0.000101f, -0.003538f, 0.005611f, 0.007858f, 0.007541f, 0.004649f, -0.005678f, -0.008189f, -0.008988f, -0.008512f, -0.000868f, 0.004527f, -0.008788f, 0.007414f, -0.001745f, 0.012920f, -0.002116f, 0.008229f, 0.000135f, -0.010614f, 0.003079f, -0.001316f, 0.008656f, 0.000654f, -0.000985f, -0.004296f, -0.007284f, 0.000717f, 0.004149f, -0.009310f, -0.012788f, 0.009007f, -0.007399f, -0.006779f, -0.006434f, 0.005103f, -0.005072f, 0.002206f, -0.002257f, -0.000571f, -0.007526f, -0.002217f, -0.005115f, -0.007440f, 0.002489f, 0.005884f, -0.002145f, -0.008190f, -0.001594f, -0.001621f, -0.004125f, -0.007071f, -0.000534f, -0.005740f, -0.006818f, -0.001173f, 0.000488f, 0.001672f, -0.002301f, 0.001068f, -0.001251f, -0.009581f, -0.002114f, 0.001253f, -0.002651f, -0.002411f, -0.003013f, 0.003151f, -0.003683f, 0.003242f, -0.000252f, 0.000615f, 0.001231f, -0.002294f, 0.002330f, 0.000087f, -0.001281f, 0.000641f, -0.000625f, -0.001938f, 0.000334f, - 0.001569f, -0.001026f, -0.000809f, -0.000089f, 0.002494f, 0.001101f, 0.000409f, 0.000378f, 0.001377f, 0.000888f, 0.001588f, 0.000432f, 0.002025f, -0.001632f, -0.000651f, -0.000739f, 0.025061f, -0.008840f, -0.005811f, -0.007887f, -0.005441f, 0.000527f, -0.016876f, 0.002780f, -0.008406f, -0.016516f, -0.003583f, 0.014051f, -0.010212f, 0.002696f, -0.001266f, 0.004679f, 0.007058f, 0.007571f, 0.012253f, -0.002692f, -0.007132f, 0.003091f, 0.002904f, -0.005712f, -0.000891f, -0.003875f, -0.002563f, 0.001466f, -0.006543f, -0.004093f, -0.001016f, -0.008192f, -0.009636f, 0.004837f, 0.007312f, -0.004429f, -0.011064f, -0.001972f, -0.002656f, 0.001510f, 0.008794f, 0.000543f, -0.003759f, -0.000634f, 0.011799f, 0.001439f, -0.007355f, -0.007052f, 0.002991f, 0.002209f, 0.009397f, 0.005345f, -0.000710f, -0.009094f, 0.000418f, -0.000572f, 0.007694f, -0.008372f, -0.002890f, 0.004542f, 0.008954f, -0.002587f, 0.000710f, -0.006888f, -0.003943f, 0.004165f, 0.000165f, 0.000852f, 0.002359f, -0.002698f, 0.003195f, 0.000944f, 0.003930f, 0.002448f, 0.001457f, 0.015698f, 0.004715f, -0.000674f, -0.002225f, -0.004665f, - 0.006639f, 0.004157f, 0.007183f, 0.005166f, 0.001721f, 0.001908f, -0.001633f, 0.001419f, -0.003057f, -0.003170f, -0.002528f, 0.000803f, -0.001229f, -0.000793f, -0.000593f, 0.002516f, 0.000302f, 0.003296f, 0.000193f, -0.001071f, -0.000537f, -0.000337f, -0.000583f, 0.001063f, 0.000653f, 0.001324f, -0.018416f, -0.004308f, -0.008677f, 0.008469f, 0.002165f, 0.000231f, 0.006034f, -0.003537f, -0.014227f, -0.007489f, 0.009505f, -0.000489f, 0.009792f, -0.000696f, -0.005490f, 0.010847f, 0.004099f, 0.023742f, -0.004427f, 0.010325f, 0.001540f, -0.011142f, 0.002852f, -0.009460f, 0.006184f, 0.002206f, 0.002457f, -0.010111f, 0.005115f, -0.001738f, -0.003542f, 0.004191f, 0.016185f, 0.006031f, -0.000049f, -0.012925f, 0.011278f, -0.002339f, 0.000095f, 0.007976f, -0.011739f, -0.002176f, 0.008174f, -0.004793f, -0.004158f, -0.013274f, -0.014479f, -0.001079f, 0.008846f, 0.005206f, -0.005779f, -0.000136f, 0.005781f, 0.007205f, 0.002909f, -0.001451f, -0.002749f, -0.012722f, 0.006045f, 0.015879f, 0.007262f, -0.004552f, -0.002186f, 0.005039f, 0.007617f, -0.000576f, -0.002311f, 0.001906f, -0.010438f, -0.001927f, - -0.007299f, -0.003419f, -0.000628f, -0.004500f, 0.012137f, 0.010549f, -0.003094f, 0.005300f, 0.003965f, -0.002005f, -0.007086f, 0.001692f, -0.005473f, -0.002084f, 0.001686f, -0.007118f, -0.001467f, 0.000718f, -0.002015f, 0.002031f, 0.003104f, -0.004555f, -0.001580f, -0.000301f, 0.000363f, -0.003576f, 0.000999f, -0.001656f, 0.002748f, -0.003173f, 0.003031f, -0.002173f, 0.000772f, 0.000482f, -0.001492f, 0.001193f, 0.000587f, -0.001163f, 0.001100f, 0.001159f, 0.001262f, -0.002363f, -0.001049f, 0.000037f, -0.003277f, 0.000424f, 0.002031f, -0.000676f, -0.013759f, 0.015593f, -0.013242f, 0.014249f, -0.000027f, -0.011171f, -0.026493f, -0.010367f, -0.007529f, 0.004094f, 0.014049f, 0.011024f, -0.003252f, -0.002026f, -0.003135f, -0.007517f, -0.002091f, -0.008461f, 0.003048f, 0.003271f, 0.005392f, 0.008885f, 0.005307f, 0.016891f, 0.000162f, 0.003507f, -0.005799f, -0.001262f, -0.003891f, 0.006285f, 0.001976f, -0.007680f, -0.011174f, 0.000589f, -0.007990f, 0.001142f, 0.007784f, -0.012644f, 0.009115f, -0.021359f, -0.005796f, -0.015810f, 0.002850f, -0.000850f, 0.000397f, -0.006114f, -0.008296f, 0.003115f, - 0.007749f, 0.005596f, 0.002148f, -0.012671f, 0.004045f, -0.008707f, -0.003231f, -0.002398f, -0.017318f, -0.006670f, 0.005372f, 0.006901f, -0.000455f, -0.011874f, 0.002218f, 0.004720f, -0.002177f, -0.002234f, 0.001594f, 0.010631f, 0.003913f, -0.002187f, -0.003206f, 0.002011f, -0.024730f, 0.001959f, 0.006465f, 0.006093f, 0.017692f, 0.002600f, -0.009676f, 0.011190f, -0.003699f, 0.001832f, 0.004032f, 0.003825f, -0.002380f, -0.008021f, 0.000620f, 0.004991f, 0.004755f, 0.007630f, -0.002181f, -0.002268f, 0.001459f, -0.001247f, -0.000787f, 0.001361f, -0.001969f, 0.000875f, 0.001863f, -0.000851f, -0.003853f, -0.002899f, -0.000005f, 0.000644f, 0.001202f, -0.001747f, 0.003942f, -0.001807f, -0.000948f, 0.002619f, 0.003002f, -0.000662f, -0.004289f, -0.002162f, 0.001912f, -0.002082f, -0.001067f, -0.001198f, 0.001095f, 0.003626f, -0.000502f, 0.000879f, 0.003743f, 0.017786f, -0.004510f, 0.000257f, 0.011738f, -0.006050f, -0.005645f, 0.017543f, -0.013354f, -0.031621f, -0.020742f, -0.012227f, 0.019012f, 0.008084f, 0.002646f, -0.018319f, 0.019402f, -0.008366f, 0.005452f, -0.005024f, 0.007633f, 0.009325f, - -0.000749f, 0.000231f, -0.000152f, -0.003161f, -0.010002f, -0.008096f, -0.002440f, 0.001042f, 0.008825f, 0.004975f, 0.013774f, 0.006551f, -0.005974f, -0.003218f, 0.012265f, -0.008829f, 0.015045f, -0.012031f, 0.003260f, 0.006574f, 0.004289f, -0.009763f, 0.013269f, -0.001314f, 0.014256f, 0.018720f, 0.002909f, -0.007515f, -0.007224f, 0.007897f, -0.008976f, -0.019076f, -0.004870f, 0.003969f, -0.012181f, 0.006943f, 0.005704f, -0.004093f, -0.007554f, -0.003280f, -0.002858f, 0.003628f, -0.001417f, -0.010764f, -0.004029f, 0.018479f, 0.014947f, 0.007972f, -0.022005f, -0.021718f, -0.011779f, 0.020749f, 0.010608f, -0.001682f, 0.002970f, -0.010310f, 0.013216f, -0.000644f, -0.010144f, -0.003607f, 0.001441f, -0.001066f, -0.005042f, -0.000806f, -0.003974f, -0.002208f, 0.003978f, 0.005676f, -0.003270f, -0.000120f, 0.000605f, 0.000903f, 0.000919f, -0.005761f, 0.006649f, -0.000518f, -0.006411f, -0.003915f, -0.000802f, -0.002090f, 0.000217f, -0.000540f, -0.000708f, -0.000746f, 0.001664f, 0.000259f, -0.002891f, -0.000261f, 0.001269f, -0.000798f, -0.004548f, -0.003238f, -0.004233f, -0.001590f, 0.003274f, 0.009116f, - 0.013329f, -0.000535f, 0.005258f, -0.020469f, -0.006782f, 0.003577f, 0.007263f, -0.025432f, -0.002646f, 0.011228f, -0.007530f, -0.016478f, 0.010579f, -0.019198f, -0.014040f, -0.007494f, 0.001884f, -0.006847f, -0.004601f, -0.000436f, 0.014599f, -0.012052f, 0.003382f, -0.003690f, -0.004909f, -0.010115f, -0.002666f, -0.014855f, -0.004304f, -0.000254f, 0.003051f, -0.010330f, -0.002044f, -0.006447f, 0.001132f, -0.003196f, -0.004494f, 0.002954f, 0.012033f, 0.003205f, -0.006009f, 0.006086f, -0.008886f, -0.002060f, 0.003641f, -0.003257f, 0.006078f, -0.001739f, -0.000500f, -0.041553f, 0.002937f, -0.014278f, 0.007230f, 0.006230f, 0.009385f, -0.022784f, -0.023278f, 0.003356f, 0.000979f, 0.005668f, 0.000312f, 0.012686f, -0.004909f, 0.006985f, 0.008565f, -0.003813f, 0.019767f, -0.005941f, -0.012621f, -0.002526f, -0.010423f, -0.000170f, -0.020770f, 0.000507f, 0.010493f, 0.005047f, 0.015756f, -0.004128f, -0.004132f, 0.007095f, -0.008118f, 0.002156f, 0.005218f, 0.010281f, -0.005266f, 0.005985f, -0.008063f, 0.001826f, 0.000453f, 0.001289f, -0.003913f, -0.001719f, -0.002888f, 0.003422f, -0.003626f, -0.005750f, - -0.000005f, -0.002605f, -0.003608f, -0.001130f, -0.002805f, -0.001065f, -0.001726f, 0.001913f, -0.002813f, 0.001900f, -0.005789f, -0.000419f, -0.003427f, -0.001286f, 0.000568f, 0.000607f, -0.000743f, -0.002605f, 0.000348f, -0.001867f, 0.000970f, 0.000317f, 0.016155f, -0.032607f, 0.008716f, 0.001386f, 0.009033f, 0.013121f, 0.002359f, -0.012645f, -0.027793f, 0.001982f, -0.011253f, 0.021098f, -0.008617f, 0.004361f, 0.001502f, 0.004518f, 0.015879f, -0.007014f, -0.000524f, -0.007366f, -0.004199f, 0.004177f, -0.004056f, 0.014954f, 0.011078f, 0.003216f, -0.003214f, 0.000235f, 0.009947f, -0.000997f, 0.004775f, -0.000195f, -0.008293f, 0.007322f, -0.002174f, -0.006130f, 0.008770f, 0.014998f, -0.000019f, 0.005894f, 0.000985f, -0.009873f, -0.006253f, 0.018211f, -0.008839f, 0.008742f, 0.013157f, -0.017489f, 0.012445f, 0.006757f, 0.006280f, -0.007725f, 0.012760f, 0.003766f, -0.002300f, 0.016491f, 0.000524f, -0.000128f, -0.007781f, -0.004307f, -0.000096f, -0.007107f, -0.017654f, -0.004543f, 0.017846f, 0.013611f, 0.014663f, -0.001564f, -0.015664f, 0.006546f, 0.018718f, -0.003424f, -0.013431f, -0.000589f, - -0.009523f, -0.002321f, -0.001673f, 0.014755f, -0.001516f, 0.007627f, -0.002042f, 0.000788f, -0.010448f, 0.002841f, -0.001898f, 0.004166f, 0.003891f, -0.006999f, 0.004707f, -0.011141f, 0.000981f, 0.004181f, 0.000165f, -0.002777f, -0.000327f, 0.002368f, -0.007941f, -0.001303f, -0.007484f, 0.002429f, -0.004786f, -0.002776f, -0.004645f, -0.007383f, -0.005118f, -0.001774f, 0.000940f, -0.002146f, -0.000337f, 0.002553f, 0.000642f, -0.001799f, -0.001558f, -0.002081f, 0.004160f, 0.000329f, 0.001397f, 0.002991f, 0.001574f, 0.002166f, -0.001179f, 0.003891f, -0.000731f, 0.000296f, 0.001362f, -0.001231f, -0.002206f, 0.001190f, 0.003712f, -0.015506f, -0.004594f, -0.024982f, -0.007326f, -0.014503f, -0.017098f, -0.016212f, -0.005763f, 0.021744f, 0.023661f, 0.032614f, 0.007268f, -0.012484f, -0.007696f, 0.026990f, -0.000134f, -0.006331f, 0.020667f, -0.002199f, 0.000869f, -0.032374f, 0.014592f, 0.008104f, -0.021617f, 0.029874f, -0.004202f, 0.013403f, -0.003667f, 0.006992f, 0.013258f, -0.000004f, 0.023466f, 0.008979f, 0.006632f, -0.002755f, -0.008372f, 0.002222f, 0.014201f, -0.003853f, 0.004191f, 0.006637f, - 0.018820f, -0.000915f, -0.005747f, 0.012125f, -0.014321f, -0.009005f, 0.006419f, 0.020784f, -0.009268f, -0.011188f, -0.003562f, 0.017124f, 0.000116f, 0.002397f, -0.006449f, -0.002959f, 0.006114f, 0.009020f, 0.000761f, -0.007428f, -0.023765f, 0.002788f, 0.006950f, 0.022561f, 0.006524f, -0.001847f, 0.017308f, 0.030976f, -0.006424f, 0.010837f, 0.007277f, 0.012821f, -0.002539f, -0.010923f, 0.006350f, -0.025723f, -0.007027f, -0.003918f, -0.008376f, -0.005217f, 0.013345f, 0.004600f, -0.016676f, -0.009838f, 0.000438f, -0.005452f, -0.000631f, -0.012750f, -0.000423f, -0.004379f, -0.003244f, -0.001767f, 0.001244f, -0.003563f, -0.000920f, -0.001744f, 0.002694f, -0.001013f, 0.002469f, -0.003493f, -0.000136f, 0.000527f, 0.001128f, 0.005156f, 0.000126f, -0.001991f, 0.004794f, 0.007040f, -0.000592f, -0.004332f, -0.002758f, -0.006099f, -0.005353f, 0.007313f, -0.001268f, 0.001970f, 0.002659f, 0.002588f, 0.002401f, -0.005615f, 0.002722f, -0.002041f, -0.028519f, 0.039304f, -0.020211f, 0.008719f, -0.001727f, -0.013912f, 0.029899f, 0.006836f, 0.003482f, -0.032145f, 0.008014f, -0.012982f, -0.014770f, 0.003274f, - -0.014422f, 0.015860f, 0.009502f, -0.002981f, 0.002975f, -0.008081f, -0.003785f, -0.011857f, -0.007706f, -0.014187f, -0.021743f, -0.005567f, -0.015291f, -0.004310f, 0.007923f, -0.006351f, -0.008349f, 0.016738f, 0.010436f, 0.016800f, -0.014257f, -0.001858f, -0.003069f, -0.015661f, -0.000104f, -0.008459f, -0.038546f, 0.003071f, 0.000436f, -0.006204f, 0.013030f, -0.001672f, 0.014402f, 0.012132f, 0.004327f, 0.022751f, 0.020241f, -0.020528f, -0.005804f, -0.000120f, -0.001004f, 0.006914f, 0.002500f, 0.019295f, -0.004440f, 0.030991f, -0.000299f, -0.018745f, -0.015230f, 0.002098f, 0.005389f, 0.006101f, 0.022482f, 0.005674f, 0.005434f, 0.021075f, 0.028207f, 0.000862f, -0.017724f, -0.016846f, -0.001826f, -0.005857f, -0.004296f, 0.036468f, 0.002375f, -0.017016f, 0.011686f, -0.014939f, 0.013718f, 0.001993f, -0.003167f, -0.004691f, -0.011501f, 0.002808f, 0.003452f, -0.001987f, 0.003020f, 0.005880f, 0.003184f, 0.003901f, -0.001923f, -0.001892f, 0.000134f, -0.002387f, -0.002007f, 0.003835f, 0.001371f, 0.002621f, 0.003441f, 0.006253f, 0.000094f, -0.003438f, 0.005855f, 0.003146f, 0.000901f, 0.001056f, - -0.001558f, 0.000581f, -0.000522f, 0.006213f, 0.009956f, -0.005889f, 0.004595f, -0.001572f, 0.003964f, 0.000192f, 0.000607f, 0.008376f, -0.000760f, 0.000478f, 0.000442f, 0.006809f, 0.004455f, 0.004879f, 0.003148f, 0.000509f, 0.023531f, 0.001612f, 0.015794f, -0.017720f, 0.007629f, 0.001189f, -0.001501f, 0.010350f, 0.024902f, -0.007144f, -0.002478f, 0.022889f, -0.030761f, -0.017261f, -0.013543f, -0.035240f, 0.006685f, -0.011336f, -0.005126f, 0.003969f, -0.024087f, 0.025945f, 0.019557f, 0.027572f, 0.012289f, -0.017560f, 0.001447f, 0.000863f, 0.020621f, -0.004099f, -0.000861f, -0.001064f, -0.013112f, 0.000781f, -0.007789f, 0.011375f, -0.013898f, -0.005449f, -0.004813f, -0.006193f, -0.016244f, 0.007285f, -0.023735f, -0.003866f, -0.001847f, 0.014519f, 0.008570f, 0.001694f, 0.000068f, -0.004405f, 0.001538f, -0.000057f, 0.012095f, 0.002558f, 0.003378f, -0.002251f, -0.037045f, -0.017433f, 0.004096f, 0.014986f, 0.018142f, -0.029179f, 0.019151f, 0.005435f, -0.011547f, 0.002476f, 0.006082f, -0.007152f, 0.027810f, -0.000050f, 0.005199f, -0.006913f, -0.039145f, -0.013689f, -0.017914f, -0.004945f, - 0.000559f, -0.011143f, 0.005455f, 0.007971f, -0.008157f, -0.002007f, 0.024920f, 0.000368f, 0.012627f, -0.015718f, 0.001800f, -0.000600f, 0.014287f, 0.012390f, 0.009046f, -0.003831f, 0.002847f, 0.010100f, 0.006226f, -0.000832f, 0.010904f, 0.010333f, 0.011588f, 0.001140f, 0.004345f, 0.003629f, 0.001787f, -0.001912f, -0.001615f, 0.009719f, 0.001795f, -0.005745f, 0.000796f, -0.001190f, 0.005466f, -0.004304f, 0.001668f, 0.004851f, -0.004211f, 0.007771f, 0.002745f, -0.001565f, 0.000592f, -0.007536f, 0.005125f, 0.004802f, -0.000933f, -0.002039f, -0.004425f, -0.006344f, 0.001618f, 0.036389f, 0.006005f, 0.014858f, -0.021523f, -0.019458f, 0.011578f, 0.019010f, 0.002438f, -0.006384f, 0.034924f, 0.011167f, 0.000373f, -0.009352f, 0.007783f, -0.002433f, -0.003608f, -0.001035f, -0.005737f, 0.001877f, -0.011316f, -0.027252f, 0.009289f, 0.003089f, 0.008610f, 0.002994f, 0.015512f, 0.004920f, -0.016240f, -0.033228f, 0.001092f, 0.002772f, -0.002474f, -0.029043f, -0.014087f, -0.004142f, 0.008426f, -0.006131f, 0.003498f, -0.025367f, 0.001463f, -0.005457f, 0.000378f, 0.002842f, 0.007329f, -0.002493f, - -0.023913f, -0.021916f, -0.013617f, 0.009594f, 0.007098f, -0.005639f, -0.004801f, -0.038405f, -0.021682f, -0.000506f, -0.037516f, 0.034996f, -0.035411f, -0.009507f, -0.022859f, 0.037515f, 0.012140f, -0.025956f, 0.013390f, -0.002767f, 0.014274f, -0.022072f, -0.007208f, 0.001254f, 0.015340f, -0.020938f, -0.008294f, -0.006932f, -0.021386f, 0.001815f, 0.014519f, -0.002419f, -0.003777f, 0.026099f, -0.040722f, 0.032498f, -0.005162f, 0.007092f, -0.018268f, 0.013237f, -0.001895f, 0.010606f, -0.009186f, 0.000818f, 0.008352f, 0.009187f, -0.002390f, -0.004186f, 0.000217f, 0.001209f, 0.001239f, -0.002712f, 0.010246f, 0.010884f, 0.007632f, 0.002248f, 0.007732f, -0.000419f, 0.009467f, -0.003131f, 0.001866f, -0.000101f, -0.003352f, -0.003284f, 0.000795f, -0.007378f, -0.009148f, -0.002392f, -0.000430f, 0.009726f, -0.000423f, -0.001230f, -0.002433f, -0.006182f, 0.004715f, -0.001771f, -0.003257f, -0.002017f, 0.004991f, -0.000707f, -0.010410f, -0.001090f, 0.003877f, 0.001215f, -0.000878f, 0.032126f, 0.069926f, -0.009071f, -0.021415f, -0.020060f, -0.017659f, -0.025488f, 0.004562f, -0.043594f, -0.000081f, -0.033644f, - -0.015374f, 0.010720f, 0.021595f, 0.012472f, -0.014956f, -0.001837f, 0.020562f, -0.001134f, 0.023686f, -0.013677f, -0.013750f, -0.012159f, 0.011340f, -0.007930f, -0.010352f, 0.003990f, -0.012472f, -0.012791f, 0.016169f, 0.037658f, 0.014443f, 0.016241f, 0.007411f, -0.021801f, -0.004900f, -0.017649f, -0.016577f, -0.002456f, -0.002737f, -0.013824f, -0.022173f, -0.044970f, -0.003898f, -0.016185f, 0.006182f, -0.008127f, 0.017261f, 0.015921f, 0.009242f, 0.016652f, 0.011894f, -0.001520f, 0.031987f, 0.045380f, 0.011135f, -0.052671f, 0.011106f, -0.009261f, -0.030630f, 0.004529f, 0.015481f, 0.007733f, 0.001692f, 0.014745f, -0.000525f, -0.024987f, 0.001887f, 0.012159f, -0.024907f, -0.013054f, -0.023313f, -0.043656f, 0.034879f, 0.004988f, -0.002205f, 0.024316f, 0.019176f, 0.001559f, 0.001758f, 0.024034f, -0.032010f, -0.013874f, 0.004010f, 0.017788f, 0.015213f, 0.022805f, 0.016656f, -0.013123f, -0.007350f, -0.002726f, -0.004742f, -0.001697f, -0.002835f, -0.006247f, -0.008081f, -0.012929f, -0.012856f, -0.009252f, -0.004654f, -0.001176f, 0.006963f, -0.003333f, -0.002263f, -0.014842f, -0.009891f, 0.001817f, - 0.008363f, 0.005715f, 0.003710f, 0.003446f, 0.002712f, -0.001863f, -0.007257f, -0.003487f, -0.004352f, -0.004018f, 0.001962f, -0.008042f, 0.002193f, -0.005656f, 0.006781f, -0.000439f, -0.001694f, -0.005401f, 0.005703f, -0.004943f, -0.001160f, 0.010760f, -0.003821f, -0.000045f, 0.051666f, -0.037686f, 0.044709f, -0.003397f, -0.004987f, -0.022270f, -0.008001f, -0.022125f, -0.018721f, 0.024017f, -0.020731f, 0.012565f, 0.053571f, 0.020095f, -0.007521f, -0.023709f, -0.019792f, 0.024043f, -0.019031f, -0.032538f, -0.013150f, 0.003671f, 0.003521f, -0.037196f, 0.003050f, -0.011078f, 0.019953f, -0.011550f, -0.000149f, 0.004641f, 0.056355f, -0.013238f, -0.017461f, 0.027432f, -0.021188f, 0.032893f, -0.018644f, 0.024161f, 0.004430f, -0.016962f, -0.015350f, 0.030589f, -0.038708f, 0.030097f, -0.016434f, 0.003334f, -0.008930f, 0.016565f, -0.013093f, -0.006641f, -0.000085f, -0.011789f, 0.057516f, -0.016142f, 0.039395f, 0.015371f, 0.018315f, -0.000016f, 0.015195f, 0.025240f, 0.028455f, -0.007432f, -0.026690f, 0.000394f, 0.023583f, 0.009557f, -0.003657f, -0.033912f, 0.046132f, -0.009323f, -0.029745f, -0.008142f, - -0.018059f, 0.014517f, 0.020190f, 0.001028f, 0.033533f, -0.008711f, 0.017434f, -0.037345f, -0.006157f, -0.039866f, -0.011997f, -0.014451f, -0.000421f, 0.002438f, -0.007235f, 0.014520f, 0.005198f, -0.010613f, -0.017947f, -0.013491f, -0.003462f, -0.001514f, -0.008736f, -0.001794f, -0.002757f, 0.011514f, -0.002831f, 0.000671f, -0.003765f, -0.017171f, -0.004714f, -0.006795f, 0.002671f, -0.002713f, -0.009201f, -0.014987f, 0.006561f, -0.010080f, 0.005294f, 0.006896f, -0.010043f, -0.025825f, -0.005636f, -0.003918f, -0.006353f, -0.009124f, 0.001647f, -0.004192f, 0.003389f, 0.003187f, -0.011206f, -0.001398f, -0.011277f, 0.011152f, 0.007382f, -0.006114f, 0.003604f, -0.010285f, -0.058291f, -0.024929f, 0.035636f, -0.007130f, -0.014704f, 0.041445f, 0.003901f, -0.021624f, 0.015668f, 0.022542f, 0.019089f, 0.002946f, -0.035895f, -0.014839f, 0.005395f, 0.005253f, 0.018646f, 0.012358f, 0.021042f, -0.018324f, -0.014525f, 0.007070f, -0.005046f, 0.017295f, -0.033756f, -0.005713f, -0.036508f, -0.011787f, 0.006518f, -0.005026f, -0.004653f, 0.038975f, 0.008042f, -0.028885f, -0.004460f, 0.002323f, -0.029594f, -0.003996f, - 0.001370f, 0.017748f, 0.044740f, -0.015897f, 0.014904f, -0.025005f, 0.003688f, -0.014707f, -0.019029f, 0.018280f, 0.039113f, -0.031053f, 0.002917f, 0.034932f, -0.015858f, -0.003210f, -0.013198f, 0.022872f, 0.005421f, -0.028373f, -0.000445f, -0.009902f, -0.009314f, -0.002806f, -0.014051f, 0.021175f, -0.050304f, 0.010656f, 0.004099f, -0.021087f, 0.028012f, 0.043152f, 0.030334f, 0.082179f, 0.024800f, -0.021038f, -0.029295f, -0.024086f, -0.013292f, 0.030195f, -0.011003f, 0.041919f, 0.003716f, 0.051039f, -0.060741f, -0.038827f, 0.018123f, -0.009909f, -0.006411f, 0.024514f, -0.016653f, -0.001825f, 0.025870f, 0.011655f, 0.019149f, 0.028564f, 0.022110f, -0.004758f, 0.008933f, -0.017358f, 0.000463f, -0.000597f, -0.012403f, -0.013307f, 0.008749f, -0.018362f, -0.001750f, 0.027985f, 0.002364f, -0.016562f, -0.021938f, 0.004144f, -0.027521f, -0.009959f, 0.029219f, 0.015394f, -0.005009f, -0.006620f, 0.005462f, -0.005330f, -0.009487f, 0.002109f, -0.006987f, -0.010319f, -0.002013f, -0.014214f, 0.009937f, 0.008976f, 0.009502f, -0.005178f, -0.004063f, 0.006397f, 0.014802f, 0.040494f, -0.096082f, -0.004158f, - 0.054229f, -0.073075f, -0.003664f, 0.013962f, -0.075483f, 0.033294f, 0.008811f, 0.059869f, -0.006367f, 0.020937f, 0.017404f, -0.066448f, -0.055093f, -0.021654f, -0.005656f, -0.033427f, -0.041044f, -0.021862f, 0.037247f, 0.026030f, 0.022427f, 0.002096f, 0.003883f, 0.011548f, 0.001976f, -0.048328f, -0.018325f, -0.061945f, -0.020044f, 0.034124f, 0.009893f, 0.022949f, 0.077129f, 0.019829f, 0.028924f, -0.001543f, 0.015147f, 0.067927f, 0.050961f, 0.013994f, 0.033312f, 0.030596f, 0.067732f, 0.055633f, -0.074558f, 0.046157f, -0.004509f, 0.044162f, 0.044903f, 0.018554f, 0.081390f, 0.071923f, -0.040150f, 0.035448f, -0.000856f, 0.033772f, -0.060066f, 0.005537f, 0.006122f, 0.001953f, -0.013846f, 0.037578f, 0.040658f, -0.039975f, -0.013762f, -0.023589f, 0.014088f, -0.033178f, -0.041187f, 0.038157f, 0.065210f, 0.023787f, 0.067878f, -0.019908f, 0.092349f, 0.090482f, 0.025055f, 0.047335f, -0.014198f, -0.024068f, 0.021024f, 0.020804f, 0.009876f, 0.006971f, 0.005249f, 0.011995f, -0.013238f, -0.023638f, -0.017080f, -0.044188f, -0.046412f, -0.018828f, 0.021166f, -0.000807f, 0.018626f, 0.003119f, - 0.011219f, 0.027784f, 0.034015f, -0.011330f, 0.015429f, -0.001865f, -0.014520f, -0.011980f, -0.010417f, -0.029154f, -0.013646f, 0.000266f, -0.025363f, -0.009068f, -0.022863f, -0.012658f, 0.004547f, 0.031307f, -0.015179f, 0.011150f, 0.008566f, -0.005509f, 0.017068f, 0.009978f, 0.012951f, 0.000198f, 0.022770f, 0.014653f, 0.009735f, -0.009413f, -0.014330f, -0.006170f, -0.030909f, 0.044090f, 0.079629f, -0.011257f, -0.109566f, -0.035225f, 0.010791f, -0.008865f, -0.018459f, -0.024308f, 0.000034f, -0.062810f, -0.037793f, -0.052208f, -0.008694f, -0.015487f, 0.016989f, -0.037362f, -0.010949f, 0.009661f, 0.017060f, -0.000754f, 0.019019f, 0.037427f, 0.007522f, 0.054141f, -0.035359f, 0.012805f, 0.001921f, 0.051635f, 0.013365f, -0.010507f, -0.052595f, 0.034463f, -0.009265f, 0.047076f, -0.040050f, -0.031926f, -0.030391f, -0.016396f, -0.048458f, -0.006956f, -0.008561f, -0.045721f, 0.024802f, 0.051375f, -0.025203f, 0.007346f, -0.067308f, 0.064218f, -0.020528f, -0.035458f, 0.029313f, 0.025460f, -0.038527f, 0.003037f, -0.024050f, 0.008136f, -0.017633f, 0.080470f, -0.003067f, -0.007241f, -0.019979f, 0.142286f, - 0.003600f, -0.019670f, 0.061071f, 0.048729f, -0.051833f, 0.040134f, -0.063489f, -0.035608f, -0.066334f, 0.050369f, -0.045635f, 0.024140f, 0.034882f, 0.027423f, -0.058772f, 0.073908f, -0.013340f, -0.097570f, -0.110827f, -0.044040f, -0.013571f, -0.032561f, 0.025940f, 0.025110f, 0.043975f, 0.006829f, 0.003945f, -0.033344f, 0.033275f, 0.051620f, 0.076392f, 0.019692f, -0.021698f, 0.007018f, 0.065051f, 0.010395f, -0.035637f, -0.009284f, 0.069434f, 0.015448f, -0.040749f, -0.011062f, 0.034391f, 0.019299f, 0.031348f, 0.020485f, 0.044089f, -0.000109f, 0.024338f, 0.008078f, 0.031295f, 0.014199f, 0.049617f, 0.015895f, 0.031459f, -0.006628f, 0.010075f, 0.001796f, -0.003373f, 0.012611f, -0.004067f, 0.016514f, 0.031091f, 0.004099f, 0.018209f, 0.001693f, 0.023583f, -0.053116f, -0.011827f, 0.039939f, 0.003653f, -0.030775f, -0.146883f, 0.010485f, 0.094376f, -0.057040f, -0.038053f, 0.075796f, -0.055171f, -0.003584f, -0.015686f, 0.072753f, -0.124969f, 0.069849f, 0.041434f, -0.035258f, 0.013021f, 0.068243f, 0.048705f, -0.023890f, 0.027861f, 0.012526f, -0.019060f, 0.032101f, -0.000715f, 0.019468f, - 0.029511f, -0.012586f, 0.007111f, -0.003173f, 0.014062f, -0.018065f, -0.014584f, -0.001139f, 0.025322f, -0.074071f, -0.036705f, 0.036874f, -0.008351f, -0.049100f, -0.058052f, 0.010076f, 0.072165f, -0.031290f, -0.046154f, 0.035534f, 0.053821f, -0.011742f, 0.013509f, -0.009476f, 0.050128f, -0.027197f, 0.075178f, -0.010124f, 0.000107f, 0.041266f, 0.000837f, 0.009545f, -0.053462f, 0.084017f, -0.043441f, -0.052514f, 0.039826f, -0.055607f, -0.018448f, 0.009481f, 0.027717f, 0.077646f, -0.027576f, 0.048448f, -0.009909f, 0.025407f, -0.131438f, -0.100398f, -0.018519f, -0.039075f, 0.019998f, 0.018258f, 0.049813f, -0.007765f, -0.010528f, 0.059612f, -0.065230f, -0.001322f, 0.041597f, 0.041287f, -0.015239f, 0.045993f, 0.005699f, -0.009629f, -0.000316f, -0.010031f, 0.043834f, -0.024248f, -0.002587f, 0.042972f, 0.009745f, -0.009539f, 0.016784f, -0.021085f, 0.005388f, -0.001436f, 0.000636f, 0.017493f, 0.007996f, -0.024124f, -0.005670f, 0.007741f, -0.019032f, -0.027558f, -0.000490f, 0.020538f, 0.035605f, -0.029928f, 0.034783f, 0.012182f, -0.035013f, 0.029176f, 0.032986f, -0.016428f, -0.039652f, 0.036600f, - -0.018194f, 0.006975f, 0.019860f, -0.019627f, -0.052483f, 0.017404f, 0.013910f, -0.028658f, -0.027545f, 0.002348f, 0.019605f, -0.022651f, 0.008318f, -0.009783f, -0.048148f, -0.022148f, 0.036772f, -0.060257f, 0.060671f, -0.051183f, -0.064419f, 0.037749f, -0.030723f, -0.020490f, 0.038541f, -0.027505f, 0.032321f, -0.021453f, 0.015458f, 0.074335f, -0.064992f, -0.003954f, -0.009264f, 0.062740f, 0.009146f, 0.006628f, -0.058109f, -0.054494f, -0.018883f, -0.015373f, -0.007835f, -0.017052f, 0.011685f, 0.003996f, -0.005275f, 0.009938f, 0.014029f, 0.007135f, 0.011056f, -0.010604f, 0.029700f, -0.018033f, 0.028450f, -0.051605f, 0.002597f, -0.041659f, -0.054266f, -0.031671f, 0.073875f, -0.030758f, -0.031440f, -0.023151f, 0.017545f, -0.013811f, 0.033285f, 0.048187f, -0.049020f, 0.045317f, 0.008707f, -0.068004f, -0.033720f, 0.142942f, 0.074468f, -0.106986f, -0.019565f, 0.069239f, -0.033996f, -0.038556f, 0.028279f, -0.033216f, -0.073750f, 0.054254f, 0.025109f, -0.100488f, 0.042418f, 0.052105f, -0.058831f, -0.038525f, 0.061178f, -0.014008f, -0.044765f, 0.011179f, 0.030717f, -0.072601f, 0.014614f, 0.013755f, - 0.021819f, -0.055234f, -0.015975f, -0.004094f, -0.017265f, -0.003094f, 0.004328f, 0.006992f, -0.033603f, 0.006159f, 0.051288f, 0.018288f, 0.003862f, 0.017424f, -0.000216f, -0.007657f, -0.027148f, -0.007891f, -0.014393f, -0.019706f, -0.046971f, 0.013430f, -0.026522f, -0.006833f, 0.059139f, -0.051002f, -0.033132f, 0.043802f, -0.030480f, -0.010612f, -0.012809f, 0.020122f, -0.033071f, -0.011561f, 0.054588f, 0.029247f, -0.025632f, 0.030999f, 0.017685f, -0.021755f, -0.013544f, 0.074065f, -0.057895f, -0.044857f, 0.078802f, 0.000270f, -0.061590f, 0.009249f, 0.039165f, -0.036200f, -0.077073f, 0.052632f, 0.007159f, -0.085587f, 0.015591f, 0.024780f, -0.062265f, -0.000656f, 0.043083f, -0.011090f, -0.027263f, 0.022972f, 0.018483f, -0.042687f, -0.003626f, 0.032733f, -0.023917f, -0.030574f, 0.021985f, 0.001985f, 0.088777f, 0.125972f, -0.051134f, 0.141095f, -0.011734f, -0.039268f, -0.030556f, -0.048441f, -0.004623f, 0.023303f, 0.082931f, 0.002403f, 0.025111f, -0.021675f, -0.072683f, 0.000910f, 0.001996f, 0.047047f, 0.008364f, -0.054896f, 0.100595f, -0.043683f, 0.018233f, 0.045088f, -0.051163f, -0.041386f, - -0.072728f, -0.031959f, 0.043773f, 0.055041f, 0.067765f, -0.026263f, -0.168352f, 0.036764f, 0.086757f, 0.111794f, 0.095664f, -0.001889f, -0.048766f, -0.059856f, 0.019482f, 0.056821f, -0.037309f, -0.019709f, -0.149313f, -0.091382f, 0.078988f, 0.133902f, 0.026710f, -0.004093f, -0.033454f, -0.059166f, -0.014635f, 0.036855f, -0.052877f, 0.019976f, -0.008276f, 0.084511f, -0.004532f, 0.032722f, -0.166969f, -0.021494f, 0.001123f, 0.101609f, 0.078118f, -0.002530f, -0.050683f, -0.014108f, 0.120400f, 0.054463f, -0.143383f, -0.176825f, -0.069879f, 0.035086f, 0.272962f, 0.029233f, -0.048578f, 0.037361f, -0.074339f, 0.194263f, 0.058399f, -0.155316f, -0.097959f, -0.019664f, 0.136401f, 0.020305f, -0.058278f, -0.053374f, -0.050109f, 0.038822f, 0.072933f, 0.036796f, -0.080790f, -0.006914f, -0.028496f, 0.065515f, -0.008236f, 0.039527f, -0.015099f, -0.017021f, -0.054000f, 0.020364f, -0.017339f, -0.005864f, 0.039966f, -0.064819f, 0.036604f, -0.009960f, -0.011037f, 0.000095f, 0.028641f, 0.063903f, 0.031180f, 0.004184f, -0.013879f, 0.013414f, -0.001797f, 0.025869f, 0.007306f, 0.028572f, 0.005866f, 0.007137f, - -0.033771f, 0.014975f, 0.015822f, 0.011581f, -0.001090f, 0.009524f, 0.004703f, 0.028354f, 0.032953f, 0.026455f, 0.002418f, -0.018701f, -0.028744f, 0.008104f, 0.012743f, -0.016575f, 0.013974f, -0.023037f, 0.058415f, -0.067342f, 0.002098f, -0.027114f, 0.015567f, -0.041726f, 0.039150f, 0.010778f, -0.022178f, -0.042099f, -0.020626f, -0.008035f, 0.012285f, -0.057448f, 0.013288f, -0.028176f, -0.010883f, -0.045010f, -0.021096f, 0.036344f, -0.038255f, -0.013638f, -0.005189f, 0.017713f, 0.012136f, -0.015028f, 0.020730f, -0.032993f, -0.002509f, 0.000296f, 0.017774f, -0.021658f, 0.031375f, 0.023216f, -0.023642f, -0.027642f, -0.010381f, 0.044323f, -0.031856f, 0.013909f, 0.033178f, 0.007232f, -0.032024f, -0.012463f, 0.014027f, -0.020347f, 0.015182f, 0.001320f, 0.007448f, -0.029878f, 0.006448f, -0.024330f, -0.000842f, 0.022318f, 0.028600f, 0.021932f, -0.016193f, 0.020914f, 0.002904f, -0.026601f, -0.003678f, -0.000240f, 0.031830f, -0.008845f, 0.006919f, 0.027274f, -0.005652f, -0.035936f, 0.050226f, -0.020475f, 0.029831f, 0.021490f, 0.005382f, 0.006804f, -0.020810f, -0.026078f, 0.034713f, 0.005133f, - 0.030582f, 0.009021f, 0.016806f, 0.008283f, -0.000644f, -0.001706f, -0.026153f, 0.002880f, 0.007395f, 0.009224f, 0.010779f, -0.003383f, 0.012506f, 0.001981f, -0.001274f, 0.003234f, 0.001869f, 0.012479f, -0.003130f, 0.009702f, -0.011840f, -0.003229f, 0.000310f, 0.000836f, -0.006519f, -0.004021f, 0.023702f, 0.014588f, -0.003653f, -0.016888f, -0.018608f, -0.007183f, -0.007312f, 0.021223f, 0.002484f, -0.006632f, -0.013794f, -0.007463f, 0.002348f, -0.011943f, 0.025005f, 0.002074f, -0.009656f, 0.003983f, -0.000105f, -0.004708f, 0.007331f, -0.007473f, 0.021782f, -0.020397f, 0.015084f, -0.019867f, -0.054606f, 0.101291f, 0.008928f, 0.005261f, -0.041333f, 0.023275f, -0.003754f, 0.026373f, 0.020024f, 0.030915f, 0.003148f, 0.007663f, -0.017851f, 0.004770f, 0.028302f, -0.003091f, 0.015354f, -0.002774f, 0.004689f, 0.006041f, 0.011308f, -0.012405f, 0.021356f, -0.015029f, 0.001702f, -0.002662f, 0.007056f, -0.002220f, 0.004069f, 0.016175f, 0.017775f, -0.009010f, 0.007687f, 0.003235f, -0.004320f, -0.008044f, 0.023770f, -0.007680f, 0.004812f, -0.007128f, 0.012301f, -0.000363f, -0.011797f, 0.023886f, - -0.015299f, -0.005487f, 0.006139f, -0.011657f, -0.007151f, -0.003817f, 0.000737f, -0.004638f, 0.000148f, -0.002603f, -0.006507f, 0.007932f, -0.015816f, 0.009531f, 0.006403f, -0.005605f, 0.010068f, -0.008117f, 0.011974f, -0.006571f, 0.002110f, 0.002119f, -0.007587f, 0.011765f, -0.000215f, 0.001409f, -0.004025f, 0.015939f, -0.019461f, 0.020250f, -0.014749f, 0.002203f, 0.003321f, -0.000826f, 0.003588f, -0.003526f, 0.011668f, -0.011404f, 0.000595f, 0.009957f, -0.012493f, 0.007472f, 0.006771f, -0.002056f, 0.001331f, 0.006720f, 0.003125f, -0.003473f, 0.004456f, 0.001021f, -0.001758f, 0.000717f, 0.003893f, 0.000240f, -0.005350f, 0.001169f, 0.001948f, -0.002891f, 0.005786f, -0.001549f, 0.004726f, -0.003391f, 0.000640f, 0.003623f, -0.002687f, 0.000388f, 0.002496f, -0.004077f, 0.006368f, -0.000866f, 0.003069f, -0.001081f, 0.006715f, -0.002676f, 0.000666f, 0.006201f, -0.005805f, 0.007211f, -0.004455f, 0.002993f, -0.004575f, 0.007073f, -0.001255f, 0.019449f, -0.092700f, -0.230811f, 0.035894f, 0.175833f, 0.163356f, 0.283393f, -0.072311f, -0.075823f, -0.192923f, -0.263388f, -0.054305f, 0.095298f, - 0.101945f, 0.192024f, 0.104295f, 0.008271f, -0.049856f, -0.133994f, -0.095290f, -0.016413f, -0.014922f, 0.047806f, 0.044297f, 0.025659f, 0.016338f, 0.012925f, -0.007082f, -0.032886f, -0.002572f, 0.038098f, 0.000271f, 0.008059f, -0.002202f, -0.028476f, -0.021869f, -0.048467f, -0.047567f, 0.021615f, 0.019864f, 0.044155f, 0.067027f, 0.050305f, 0.024513f, 0.008942f, -0.072428f, -0.051138f, -0.039653f, -0.039626f, -0.044314f, 0.009311f, 0.028188f, 0.049154f, 0.062658f, 0.051947f, 0.011258f, -0.006056f, -0.041643f, -0.042386f, -0.025287f, -0.012217f, 0.004020f, 0.007078f, 0.014005f, 0.001324f, -0.013643f, 0.004696f, -0.021743f, 0.011406f, 0.018365f, 0.002209f, 0.036826f, 0.044699f, 0.013729f, -0.008374f, -0.049135f, -0.064523f, -0.026096f, -0.011818f, -0.007615f, 0.032986f, 0.025397f, -0.006591f, 0.028811f, 0.031477f, 0.017466f, 0.021786f, -0.012084f, -0.023174f, -0.018820f, -0.026678f, -0.021367f, -0.003827f, -0.020519f, -0.007948f, 0.001013f, 0.016514f, 0.023038f, 0.033507f, 0.028708f, 0.026695f, 0.020981f, -0.010822f, -0.025131f, -0.041843f, -0.051872f, -0.029969f, -0.022585f, 0.003066f, - 0.024554f, 0.036528f, 0.042037f, 0.033495f, 0.030572f, 0.019958f, -0.026277f, -0.046472f, -0.042249f, -0.020427f, -0.006173f, -0.001730f, 0.003006f, 0.018006f, 0.015541f, 0.007701f, 0.003414f, 0.014780f, 0.008110f, 0.012891f, 0.003372f, -0.019324f, -0.021625f, -0.013895f, -0.005864f, 0.006953f, 0.004580f, -0.006837f, -0.004183f, 0.006940f, 0.003304f, 0.003158f, 0.008746f, 0.014615f, 0.006349f, 0.000643f, -0.007362f, -0.007932f, -0.007131f, -0.008100f, -0.011198f, -0.007933f, -0.000840f, 0.006616f, 0.008465f, 0.011794f, 0.012030f, 0.007163f, -0.000620f, -0.005099f, -0.007062f, -0.005913f, -0.006158f, -0.004034f, -0.003257f, -0.000538f, 0.002771f, 0.004977f, 0.003519f, 0.002611f, 0.001592f, 0.002657f, 0.001215f, -0.000728f, -0.004679f, -0.003913f, -0.001699f, 0.001768f, 0.001984f, 0.000962f, -0.002012f, -0.001206f, -0.000540f, 0.000267f, 0.000000f, 0.001409f, 0.001784f, 0.001194f, -0.000917f, -0.000374f, 0.000156f, 0.001117f, 0.000420f, -0.000294f, -0.001483f, -0.001484f, -0.001668f, -0.000346f, 0.000428f, 0.000642f, -0.000055f, 0.000736f, 0.001315f, 0.002168f, 0.001130f, 0.000007f, - -0.001454f, -0.001607f, -0.001675f, -0.000721f, -0.000382f, 0.000006f, 0.000221f, 0.001077f, 0.000745f, 0.000498f, -0.000116f, -0.000016f, -0.000201f, -0.000059f, -0.000154f, 0.000205f, 0.000009f, -0.000194f, -0.000556f, -0.000217f, -0.000075f, 0.000191f, 0.000010f, 0.000074f, -0.000038f, 0.000064f, 0.000024f, 0.000152f, 0.000066f, 0.000093f, 0.000018f, 0.000018f, -0.000053f, -0.000073f, -0.000088f} - }, - { - {-0.010865f, -0.000140f, 0.002388f, 0.001813f, 0.007766f, 0.001027f, -0.000944f, -0.004995f, 0.011409f, 0.007051f, 0.000378f, -0.001398f, 0.011333f, 0.003853f, -0.003612f, -0.009926f, 0.006346f, -0.002854f, 0.004929f, -0.009447f, 0.000616f, -0.002254f, -0.007018f, -0.001898f, -0.003529f, -0.001302f, 0.000544f, 0.000052f, -0.005116f, -0.003139f, -0.000809f, -0.000981f, -0.003180f, 0.003416f, -0.000323f, -0.003403f, 0.006079f, -0.010099f, -0.004788f, 0.004829f, -0.006063f, 0.000841f, -0.003762f, -0.005542f, 0.003776f, 0.003429f, -0.002973f, 0.003798f, 0.007314f, 0.004120f, -0.003789f, -0.004433f, 0.000801f, 0.001441f, -0.004468f, 0.004847f, 0.008065f, -0.006873f, -0.002196f, 0.003972f, 0.002971f, -0.001635f, -0.002103f, -0.003355f, 0.004445f, 0.001356f, -0.005324f, 0.006060f, 0.002950f, -0.004971f, -0.003730f, 0.006372f, -0.004805f, -0.006137f, -0.011571f, -0.010057f, 0.005476f, 0.006338f, 0.000507f, 0.002784f, -0.001100f, 0.002280f, -0.004287f, 0.006501f, -0.000543f, 0.003010f, -0.002982f, 0.001680f, -0.002717f, -0.002117f, 0.000098f, 0.004166f, -0.000924f, -0.001059f, -0.001870f, 0.000622f, - -0.001414f, 0.000289f, 0.000482f, -0.000859f, -0.001019f, 0.000134f, -0.000063f, -0.000337f, -0.001118f, 0.000564f, -0.000418f, 0.014501f, -0.001406f, -0.002944f, -0.005953f, 0.009277f, -0.004956f, -0.000542f, -0.007559f, -0.008068f, -0.010140f, -0.004780f, 0.007933f, -0.008236f, -0.003084f, -0.002908f, 0.002744f, -0.002063f, -0.011294f, 0.005865f, 0.002818f, 0.021922f, -0.002249f, 0.010247f, -0.002056f, -0.000560f, -0.001002f, 0.001116f, -0.004634f, 0.008478f, -0.002239f, -0.001731f, -0.005135f, -0.000959f, -0.001841f, 0.013146f, 0.002438f, -0.001353f, -0.012346f, -0.001283f, -0.002380f, 0.003702f, -0.007848f, -0.002193f, 0.002117f, 0.001747f, -0.002175f, -0.001347f, -0.004878f, -0.001858f, -0.005862f, -0.002661f, 0.011364f, -0.003371f, 0.003595f, 0.006321f, -0.001540f, -0.006205f, -0.008112f, 0.002079f, 0.001900f, 0.002422f, 0.005037f, 0.005946f, 0.004917f, 0.002816f, -0.002255f, -0.002214f, -0.002609f, -0.011445f, -0.002732f, -0.001191f, 0.005528f, 0.004684f, -0.002822f, -0.000308f, 0.006072f, -0.006365f, 0.002496f, 0.000149f, -0.001582f, -0.003697f, -0.005582f, -0.000102f, 0.003323f, 0.003325f, - 0.003540f, -0.001514f, 0.001456f, -0.001358f, 0.000298f, 0.004941f, 0.002020f, 0.000349f, 0.000046f, -0.000797f, -0.000116f, 0.000280f, 0.000994f, -0.000671f, -0.000692f, 0.002120f, 0.001110f, 0.002159f, 0.002259f, 0.000422f, 0.001258f, -0.000365f, 0.000368f, 0.000121f, -0.001004f, -0.002599f, -0.000459f, -0.019172f, -0.004633f, -0.000324f, -0.004052f, -0.002794f, 0.006792f, -0.013453f, -0.011265f, -0.006576f, -0.004364f, 0.001975f, 0.015238f, -0.003246f, 0.000021f, 0.001876f, -0.010832f, -0.002800f, -0.009038f, -0.001360f, 0.016135f, -0.001196f, -0.007772f, -0.005043f, 0.000254f, 0.003326f, 0.003274f, -0.004468f, -0.020320f, -0.009708f, -0.002675f, -0.007821f, 0.000775f, 0.000412f, 0.008301f, -0.005283f, 0.007379f, 0.001831f, -0.003721f, -0.010870f, -0.009088f, 0.012675f, -0.010391f, 0.006982f, 0.002081f, -0.006654f, -0.002459f, -0.005938f, -0.004241f, 0.005990f, -0.011165f, 0.005841f, 0.002022f, -0.000138f, 0.001931f, 0.000828f, -0.001067f, 0.000292f, -0.005632f, -0.007753f, 0.000611f, -0.002334f, -0.005704f, -0.002285f, -0.008848f, 0.010388f, 0.007137f, 0.001830f, 0.008523f, 0.001046f, - -0.003550f, 0.010554f, -0.005497f, -0.003440f, -0.003520f, 0.008042f, -0.007761f, 0.003516f, 0.005678f, 0.000356f, 0.003538f, 0.008754f, 0.003247f, -0.000223f, 0.000608f, 0.001897f, 0.001505f, -0.001677f, -0.000988f, 0.000150f, -0.000392f, 0.002838f, 0.001416f, 0.002998f, 0.002256f, 0.000884f, -0.002613f, -0.003092f, 0.001947f, -0.000072f, -0.000123f, 0.002900f, -0.001940f, -0.001554f, 0.000009f, 0.000724f, 0.000996f, -0.000247f, -0.003161f, 0.002712f, 0.000774f, -0.002361f, -0.013081f, 0.015700f, 0.017832f, 0.004781f, 0.004688f, -0.005291f, 0.008239f, 0.004061f, -0.010657f, 0.003150f, 0.006623f, -0.012700f, -0.011111f, 0.010892f, -0.009753f, -0.001530f, -0.006337f, 0.010981f, 0.002286f, -0.001404f, -0.004231f, -0.000213f, -0.007345f, 0.006563f, -0.003737f, 0.003925f, -0.001875f, -0.000183f, 0.007091f, 0.002720f, 0.000877f, -0.002922f, 0.006944f, 0.004381f, 0.001968f, -0.000727f, 0.007187f, -0.000688f, 0.001197f, -0.004739f, 0.008790f, 0.001895f, 0.003418f, 0.006428f, -0.018092f, -0.005939f, -0.003686f, -0.006533f, -0.006396f, 0.001716f, 0.009863f, -0.004426f, -0.002823f, -0.005585f, - -0.002606f, 0.002064f, 0.004252f, -0.012449f, -0.000897f, 0.004220f, 0.000348f, -0.001073f, 0.005212f, 0.003404f, -0.011735f, -0.003331f, -0.002677f, 0.007076f, -0.007775f, 0.010034f, 0.010791f, 0.005646f, 0.002099f, -0.005193f, -0.000432f, 0.000789f, 0.007158f, -0.002050f, 0.000716f, 0.000795f, 0.000942f, 0.010736f, 0.001015f, 0.011447f, 0.004088f, 0.000082f, -0.005696f, -0.003244f, 0.004552f, -0.001054f, -0.000182f, 0.000375f, 0.000106f, 0.000969f, 0.004632f, 0.001290f, 0.001698f, 0.000102f, 0.001631f, -0.003926f, -0.000513f, 0.001133f, 0.001342f, -0.001067f, -0.000810f, -0.000057f, 0.001334f, -0.001226f, -0.001044f, 0.001526f, 0.001346f, 0.002830f, 0.001146f, 0.002613f, -0.001807f, 0.000133f, 0.000108f, -0.001143f, 0.002334f, 0.003592f, 0.019992f, -0.003616f, -0.000200f, 0.007350f, 0.004793f, 0.003602f, 0.006802f, 0.017759f, -0.004845f, -0.001547f, -0.016948f, 0.000412f, -0.014549f, -0.018499f, 0.000755f, 0.007986f, -0.023893f, 0.008214f, 0.007943f, 0.004372f, -0.007187f, -0.005689f, -0.007845f, -0.002946f, 0.000562f, 0.000573f, 0.007730f, 0.010143f, -0.001277f, -0.009854f, - -0.005914f, 0.007523f, -0.010553f, -0.005242f, -0.008901f, 0.002006f, -0.014451f, 0.007317f, 0.001264f, -0.000926f, 0.002456f, -0.000411f, -0.003216f, 0.000070f, 0.009493f, -0.010765f, 0.013226f, -0.009898f, -0.001039f, 0.002470f, -0.006479f, -0.005343f, 0.005254f, 0.002577f, -0.001963f, -0.005011f, 0.009909f, 0.004129f, -0.006688f, -0.013612f, 0.001716f, 0.003207f, 0.008127f, -0.000287f, -0.003400f, 0.000733f, 0.004371f, -0.003211f, 0.019136f, -0.006318f, -0.002948f, -0.013513f, -0.008838f, 0.021471f, 0.008845f, -0.004726f, -0.001082f, -0.007419f, -0.008197f, -0.000634f, 0.003130f, 0.000601f, -0.003900f, 0.004657f, 0.002699f, 0.006442f, -0.000526f, -0.004614f, 0.002026f, 0.000215f, -0.001962f, 0.001899f, 0.001967f, -0.000466f, 0.000995f, 0.002555f, 0.000999f, -0.000584f, -0.001762f, 0.001078f, 0.000831f, -0.001779f, 0.003692f, 0.002985f, 0.001135f, -0.001741f, -0.004342f, 0.000333f, -0.000179f, -0.000167f, 0.002175f, -0.002227f, 0.001637f, 0.002375f, 0.000753f, -0.001357f, 0.005584f, 0.012920f, -0.017020f, -0.010015f, 0.012078f, -0.008873f, -0.009452f, -0.010392f, -0.012437f, 0.009112f, - -0.003066f, -0.000276f, -0.002782f, 0.000568f, -0.013849f, -0.002690f, 0.006488f, 0.007075f, 0.001690f, -0.007274f, -0.010605f, -0.008794f, -0.011196f, 0.002383f, 0.013582f, 0.001906f, 0.004464f, 0.004710f, 0.004599f, -0.007834f, 0.008409f, 0.005256f, -0.005831f, -0.004687f, -0.018192f, 0.002901f, 0.004185f, -0.014283f, -0.001040f, 0.004504f, -0.002598f, 0.001860f, -0.001198f, -0.015333f, 0.013209f, -0.014279f, 0.011391f, 0.000690f, 0.005788f, -0.016084f, -0.008947f, -0.014395f, -0.011317f, 0.002187f, -0.003975f, -0.005065f, -0.006339f, 0.000031f, 0.007296f, -0.013317f, -0.000137f, 0.003962f, -0.004234f, -0.014859f, -0.009260f, -0.003054f, 0.002904f, 0.007317f, 0.003238f, -0.012229f, 0.013215f, -0.004163f, -0.002779f, 0.013113f, -0.017027f, -0.005568f, -0.003325f, -0.002997f, 0.020573f, -0.007411f, -0.000263f, -0.007694f, -0.006340f, 0.003778f, 0.002907f, -0.000416f, 0.002279f, -0.001587f, -0.002804f, 0.003874f, 0.000138f, 0.001609f, 0.001723f, 0.004994f, -0.001855f, 0.001484f, 0.001185f, 0.000382f, 0.001383f, -0.005595f, 0.007423f, 0.006700f, -0.002189f, -0.001114f, 0.001129f, -0.000931f, - 0.001343f, 0.000246f, -0.000431f, -0.002677f, 0.001746f, -0.001370f, 0.000728f, 0.006514f, 0.004223f, 0.003511f, -0.002588f, 0.004652f, 0.001928f, -0.001848f, 0.002187f, 0.000727f, 0.001639f, 0.000550f, 0.026277f, -0.023674f, -0.012541f, -0.015814f, 0.011197f, 0.004137f, -0.008142f, 0.005191f, -0.000259f, 0.015582f, 0.000854f, 0.000028f, -0.015294f, 0.010572f, 0.017215f, 0.018069f, 0.014998f, -0.008570f, -0.001430f, 0.002206f, -0.009814f, -0.006752f, 0.002404f, 0.000968f, -0.014081f, -0.006964f, -0.006014f, 0.006684f, -0.001192f, -0.010664f, -0.004983f, 0.003334f, 0.008242f, 0.000907f, -0.003057f, 0.000006f, -0.007540f, -0.000335f, -0.000596f, 0.001015f, -0.016084f, 0.009189f, 0.010844f, 0.002142f, 0.005526f, 0.006419f, -0.013046f, 0.018362f, 0.016513f, 0.002968f, -0.011628f, 0.006499f, -0.004198f, -0.017175f, -0.004470f, -0.005482f, -0.000385f, 0.000961f, -0.000444f, -0.010406f, -0.009335f, -0.021305f, -0.017809f, 0.000173f, 0.010610f, -0.009795f, 0.004406f, 0.001318f, -0.006678f, -0.017363f, -0.001826f, 0.010050f, -0.006819f, 0.009015f, 0.017747f, 0.005370f, -0.007479f, 0.010247f, - -0.000141f, -0.001132f, 0.004781f, 0.007969f, -0.000799f, -0.001439f, 0.002125f, 0.005132f, -0.002955f, -0.011671f, 0.000578f, -0.000366f, 0.001141f, 0.001407f, 0.003805f, 0.008478f, -0.003143f, -0.001532f, 0.006342f, 0.005808f, 0.001166f, 0.000814f, -0.004228f, 0.008173f, 0.000837f, -0.000586f, 0.004832f, 0.001507f, 0.001707f, 0.000800f, 0.004350f, 0.003915f, 0.004327f, 0.007218f, 0.000492f, 0.004294f, 0.000530f, 0.004785f, 0.002210f, 0.002700f, 0.001794f, 0.004528f, 0.003945f, 0.003242f, -0.025246f, 0.002584f, -0.009475f, -0.033791f, -0.026012f, 0.006407f, 0.000164f, -0.005892f, 0.005933f, 0.016137f, -0.002653f, 0.009638f, 0.008537f, 0.004925f, -0.002657f, -0.008856f, 0.007096f, -0.007555f, 0.000835f, -0.006500f, 0.010069f, 0.018462f, -0.016745f, -0.004887f, 0.000971f, 0.006657f, 0.001738f, -0.005279f, -0.003093f, -0.006299f, -0.000541f, -0.007777f, 0.009745f, 0.002070f, -0.011785f, 0.012963f, -0.013138f, -0.004274f, 0.015965f, 0.014028f, 0.011856f, -0.013695f, -0.008982f, -0.012281f, 0.014075f, 0.019052f, -0.000336f, -0.004069f, 0.015142f, -0.022480f, 0.002704f, 0.005891f, - -0.002209f, -0.018911f, 0.016871f, 0.005817f, 0.008553f, 0.015766f, 0.000801f, -0.022802f, 0.005914f, 0.009195f, -0.005849f, -0.001811f, 0.015598f, -0.016334f, -0.015253f, -0.013257f, 0.001551f, 0.020026f, 0.010861f, -0.003043f, 0.023042f, -0.030840f, -0.011362f, 0.000224f, 0.014738f, 0.006738f, -0.004472f, -0.024547f, -0.003842f, -0.009937f, 0.002686f, 0.009131f, 0.023748f, 0.003901f, -0.006745f, 0.002959f, -0.004078f, -0.001741f, -0.007893f, -0.000125f, -0.006508f, 0.002058f, 0.006460f, 0.003512f, 0.005945f, 0.006575f, 0.002117f, 0.001276f, 0.000029f, 0.001024f, -0.003283f, -0.003586f, 0.000285f, 0.006934f, 0.002668f, -0.001053f, 0.001244f, 0.002678f, 0.005699f, 0.000575f, -0.001926f, 0.000784f, -0.001880f, 0.004399f, -0.008515f, -0.005353f, -0.003771f, 0.005127f, 0.004598f, -0.007650f, 0.001654f, -0.027200f, 0.027307f, 0.011044f, -0.000761f, -0.002877f, 0.002212f, 0.004615f, 0.014752f, -0.002908f, 0.001548f, -0.004840f, -0.003519f, 0.008283f, 0.004226f, 0.009632f, 0.004189f, 0.005524f, -0.018607f, -0.007765f, 0.030980f, 0.003057f, 0.009145f, 0.012965f, 0.004812f, -0.010620f, - -0.019623f, 0.005993f, -0.008239f, 0.000645f, 0.006782f, -0.009813f, -0.011524f, 0.013842f, 0.016263f, -0.008609f, -0.006142f, 0.012576f, -0.015653f, 0.006726f, -0.012068f, 0.005302f, -0.011682f, 0.016737f, 0.002256f, -0.002321f, 0.005832f, 0.028821f, 0.007887f, 0.011108f, -0.003354f, 0.001377f, 0.004839f, 0.021258f, -0.001941f, 0.030508f, 0.000820f, 0.014444f, -0.000619f, 0.027529f, 0.009689f, 0.020519f, 0.015556f, -0.003577f, -0.009335f, -0.002595f, -0.010651f, -0.011756f, 0.016106f, -0.003377f, -0.006421f, 0.002406f, 0.000145f, -0.008393f, -0.004127f, 0.002413f, 0.007159f, 0.001895f, -0.013949f, -0.013845f, -0.007225f, -0.014134f, -0.000458f, -0.000412f, -0.004210f, 0.003767f, -0.000366f, 0.005582f, -0.000924f, -0.005835f, 0.001094f, -0.002533f, -0.010648f, -0.006781f, 0.001427f, 0.014010f, -0.006038f, 0.005112f, -0.001677f, -0.000273f, 0.006472f, -0.005035f, 0.002149f, 0.003088f, -0.003665f, -0.002571f, -0.001839f, -0.004167f, 0.001920f, -0.005180f, -0.006666f, -0.002639f, -0.007215f, 0.008836f, -0.002583f, 0.000421f, -0.000834f, -0.000659f, 0.000887f, -0.003095f, 0.001265f, 0.002140f, - 0.001109f, 0.003524f, 0.004796f, 0.000729f, 0.003564f, -0.002832f, -0.007779f, 0.001410f, -0.002185f, 0.003107f, -0.003203f, 0.031936f, -0.008191f, -0.000123f, -0.039017f, -0.001237f, 0.021080f, -0.010803f, 0.018334f, -0.024757f, 0.003760f, 0.002660f, -0.000582f, -0.032880f, -0.001353f, -0.054891f, 0.002731f, -0.005913f, -0.022925f, -0.003863f, 0.003218f, -0.011922f, 0.002221f, 0.014075f, 0.002263f, -0.012443f, 0.002462f, -0.003743f, 0.012326f, -0.013390f, 0.000904f, 0.017813f, 0.004091f, 0.001623f, -0.002523f, 0.013690f, -0.008601f, 0.001581f, 0.000052f, 0.010546f, 0.002113f, -0.018416f, -0.009793f, -0.012941f, 0.015462f, -0.034635f, 0.016943f, 0.014016f, 0.011995f, 0.006811f, 0.002690f, -0.015066f, 0.010949f, -0.022391f, -0.005250f, -0.004573f, -0.004588f, -0.000828f, 0.001519f, 0.007416f, -0.017262f, -0.006643f, 0.029357f, 0.012439f, -0.010586f, -0.012233f, 0.003270f, -0.004979f, 0.009007f, -0.005774f, -0.001722f, -0.009295f, 0.026622f, 0.013699f, -0.009028f, 0.001843f, -0.013437f, 0.003318f, -0.010126f, -0.003343f, 0.010615f, 0.010018f, -0.002992f, 0.019556f, -0.007536f, 0.009798f, - -0.012619f, 0.013714f, 0.002045f, -0.007677f, -0.010619f, -0.015712f, 0.004098f, -0.001556f, 0.007311f, -0.001843f, -0.004641f, 0.003114f, 0.003030f, 0.005009f, 0.003937f, 0.009076f, -0.000286f, 0.003054f, -0.006806f, 0.005740f, -0.004874f, -0.002276f, -0.003647f, -0.000529f, -0.008685f, -0.001300f, 0.003453f, 0.008088f, -0.007463f, -0.003420f, -0.005385f, 0.005615f, 0.004201f, -0.003262f, -0.000650f, -0.005626f, 0.004517f, 0.000745f, 0.020072f, 0.020284f, 0.011734f, 0.010472f, -0.010005f, 0.011661f, 0.019490f, -0.014641f, -0.000621f, -0.037855f, 0.021537f, 0.014680f, -0.005484f, 0.008664f, -0.002535f, 0.002936f, 0.013367f, -0.008539f, 0.020968f, -0.019084f, 0.001726f, 0.023653f, 0.010285f, 0.001384f, 0.018207f, -0.006554f, 0.008304f, 0.004756f, 0.009703f, 0.016144f, -0.009693f, -0.002011f, 0.029794f, 0.014885f, -0.000768f, 0.004063f, -0.020377f, 0.027459f, -0.023288f, -0.001522f, 0.023984f, 0.007421f, 0.025830f, -0.016343f, 0.004043f, -0.001110f, -0.006469f, 0.003426f, -0.025185f, -0.017636f, 0.023504f, -0.011819f, -0.005183f, -0.008040f, -0.026778f, 0.018882f, -0.006408f, -0.004461f, - -0.011935f, 0.011601f, 0.026958f, -0.021395f, -0.004474f, 0.018222f, -0.020186f, -0.008789f, 0.016188f, 0.022729f, -0.037761f, -0.010072f, -0.003359f, 0.016026f, -0.000701f, 0.018723f, -0.004688f, -0.013769f, 0.000780f, 0.009956f, 0.024166f, 0.012231f, -0.016467f, -0.000873f, 0.011821f, -0.024245f, -0.014967f, -0.004657f, -0.012543f, -0.012631f, -0.001620f, 0.011482f, -0.011009f, 0.002679f, 0.011845f, 0.003320f, 0.002012f, 0.008371f, -0.002208f, 0.005389f, 0.005073f, 0.005103f, 0.002801f, -0.000957f, -0.007430f, -0.002486f, -0.002164f, -0.006646f, -0.003138f, 0.001036f, 0.000725f, -0.000991f, 0.000910f, 0.007341f, -0.006177f, -0.001950f, -0.004620f, 0.003526f, 0.003317f, -0.001428f, -0.005136f, -0.011072f, 0.005465f, 0.004237f, 0.007084f, 0.001986f, 0.001639f, -0.000769f, -0.007006f, 0.002794f, -0.002885f, -0.003136f, -0.002119f, 0.001923f, -0.001355f, 0.019681f, 0.041719f, 0.008057f, -0.024685f, -0.008801f, 0.008177f, -0.054747f, 0.001709f, 0.000329f, -0.008591f, -0.002690f, 0.025265f, -0.041315f, 0.009063f, 0.019313f, -0.015219f, 0.017118f, 0.031903f, 0.007920f, -0.029534f, 0.007993f, - -0.007460f, -0.000529f, -0.028954f, -0.008728f, 0.026349f, -0.002954f, 0.024155f, -0.006356f, -0.008516f, 0.003971f, -0.020510f, -0.011496f, -0.014777f, -0.010914f, -0.008096f, 0.019757f, -0.021854f, 0.003564f, 0.038056f, 0.025744f, 0.008544f, -0.038713f, 0.006388f, 0.025437f, 0.010583f, 0.001536f, -0.013870f, -0.016794f, -0.041409f, -0.028541f, 0.005848f, -0.014109f, -0.014198f, -0.000785f, 0.017604f, 0.012544f, -0.012499f, 0.000575f, 0.025070f, -0.009645f, -0.004325f, 0.001177f, 0.032976f, 0.001293f, -0.001737f, 0.016845f, 0.005187f, -0.037574f, 0.010471f, 0.010934f, -0.000265f, -0.031108f, 0.013063f, 0.018287f, -0.013777f, -0.009724f, -0.025630f, 0.006844f, -0.009466f, 0.009714f, 0.004768f, -0.005972f, -0.010919f, 0.007096f, 0.003142f, 0.010934f, -0.005511f, 0.017028f, 0.005911f, -0.011605f, 0.001306f, -0.000557f, -0.016097f, 0.000348f, 0.001199f, -0.000007f, -0.000426f, -0.008386f, -0.007399f, -0.003349f, -0.000305f, 0.010696f, 0.003429f, 0.005616f, 0.008516f, -0.003890f, -0.005223f, 0.004141f, -0.008441f, -0.007417f, -0.000425f, -0.000367f, 0.002484f, -0.002421f, 0.001769f, 0.005287f, - 0.005460f, 0.000742f, -0.003429f, -0.000750f, -0.000562f, -0.000894f, -0.000066f, -0.001341f, 0.000533f, -0.000145f, 0.007115f, -0.004125f, -0.005350f, 0.013257f, 0.009315f, -0.001236f, 0.003520f, -0.005941f, 0.002535f, 0.000186f, -0.002506f, -0.012602f, 0.042830f, 0.002079f, -0.008985f, -0.000882f, 0.018773f, -0.009476f, 0.004971f, -0.004923f, 0.004221f, 0.016060f, -0.030077f, 0.031195f, 0.035374f, 0.009754f, 0.014815f, -0.012359f, 0.019946f, 0.046668f, 0.001260f, -0.005651f, -0.008908f, 0.019712f, -0.007338f, -0.011629f, -0.004214f, 0.006819f, -0.023629f, 0.010138f, -0.020840f, 0.023295f, 0.005115f, 0.023461f, -0.015125f, 0.021362f, 0.006206f, 0.028043f, 0.004459f, 0.005701f, -0.010358f, 0.017369f, 0.004192f, -0.005846f, 0.025204f, -0.010161f, -0.018336f, 0.035716f, 0.028471f, 0.010351f, 0.026901f, 0.039106f, 0.047480f, -0.015080f, -0.015165f, -0.017076f, 0.005755f, -0.022149f, 0.025636f, -0.003439f, -0.002566f, -0.036913f, 0.008317f, 0.041376f, 0.042181f, -0.001875f, -0.005752f, -0.029321f, 0.000261f, 0.027392f, -0.014300f, -0.017463f, 0.015435f, 0.002227f, -0.015256f, 0.005123f, - -0.002635f, -0.009423f, -0.002264f, -0.008112f, -0.000502f, 0.015808f, 0.011739f, -0.003480f, 0.002688f, -0.004090f, -0.016187f, -0.021080f, -0.004064f, 0.010187f, 0.004039f, 0.014507f, -0.003134f, -0.014076f, -0.003961f, 0.015054f, -0.007336f, 0.008480f, 0.013892f, -0.014342f, -0.003923f, -0.001577f, 0.003438f, -0.000963f, 0.009229f, 0.006678f, 0.003241f, -0.014288f, 0.003422f, 0.007523f, 0.002197f, 0.002980f, 0.004950f, -0.012695f, -0.005984f, -0.000179f, -0.000782f, -0.006822f, -0.016373f, -0.005449f, 0.001297f, 0.008231f, 0.001722f, -0.006836f, -0.007883f, 0.002918f, -0.056092f, -0.039087f, 0.021112f, 0.008410f, -0.029225f, 0.003409f, 0.013460f, -0.026638f, -0.016602f, -0.011295f, 0.032553f, 0.014759f, 0.010669f, -0.009897f, -0.007473f, -0.007802f, -0.019651f, -0.026410f, -0.046697f, 0.024856f, 0.021410f, -0.009668f, 0.053583f, 0.025872f, 0.051470f, 0.035364f, 0.003686f, -0.016031f, 0.013957f, 0.006594f, 0.023654f, 0.026999f, 0.029920f, -0.003921f, -0.004742f, 0.012882f, -0.012880f, -0.002773f, -0.011295f, -0.021736f, -0.035780f, -0.010255f, 0.037364f, -0.008837f, -0.014268f, -0.020585f, - 0.015153f, 0.022645f, 0.015348f, 0.001767f, 0.022228f, 0.042688f, -0.024801f, -0.011243f, -0.018974f, -0.013832f, -0.040352f, -0.009704f, 0.010829f, -0.018304f, -0.014038f, -0.046761f, -0.066480f, 0.007622f, -0.043624f, -0.069182f, -0.049738f, -0.020871f, 0.045486f, 0.015812f, 0.027968f, 0.020839f, -0.045768f, -0.019289f, 0.004540f, 0.023471f, -0.022462f, -0.027032f, -0.025825f, -0.007964f, 0.014329f, -0.015445f, -0.057149f, -0.036088f, -0.007745f, -0.011465f, -0.003591f, -0.008338f, 0.033154f, 0.029962f, 0.031398f, 0.031654f, 0.011039f, -0.000054f, 0.012402f, 0.003506f, -0.000397f, 0.009496f, -0.025403f, -0.009849f, 0.011896f, 0.015420f, -0.000089f, -0.008280f, -0.008782f, 0.004008f, -0.013532f, -0.020402f, 0.019549f, -0.015161f, -0.007132f, 0.001873f, -0.017255f, -0.016724f, -0.029887f, -0.011764f, -0.006515f, 0.002326f, 0.026180f, -0.006413f, -0.003106f, -0.007948f, 0.013696f, -0.006732f, 0.001397f, 0.012555f, 0.001709f, -0.008658f, 0.006425f, 0.012509f, -0.006889f, -0.001757f, 0.000338f, -0.004219f, 0.007648f, -0.106329f, -0.015787f, 0.035607f, -0.035498f, 0.016099f, -0.013186f, -0.057178f, - -0.017099f, 0.063493f, 0.079633f, -0.040624f, 0.002503f, -0.013272f, -0.063080f, -0.049957f, -0.047222f, -0.050388f, -0.026510f, -0.032519f, -0.001762f, 0.012115f, -0.007958f, 0.014244f, 0.013104f, -0.019966f, -0.004783f, -0.027812f, 0.013126f, -0.044427f, -0.040061f, 0.010959f, 0.008036f, -0.011295f, -0.014094f, 0.036842f, -0.009585f, 0.050730f, 0.011896f, 0.047108f, -0.030217f, 0.021148f, 0.013903f, 0.056829f, 0.030663f, 0.020655f, 0.006206f, 0.009557f, -0.005733f, 0.017495f, 0.023806f, -0.016890f, -0.024294f, 0.040121f, -0.004560f, -0.047802f, -0.093060f, -0.111791f, -0.080606f, 0.014623f, 0.000657f, -0.104026f, 0.034942f, 0.019006f, 0.027094f, -0.034752f, 0.005309f, 0.013469f, 0.005430f, 0.055040f, 0.055708f, 0.110967f, 0.037223f, -0.057495f, -0.074517f, -0.045143f, -0.040861f, -0.047000f, -0.042109f, -0.000406f, 0.024110f, 0.032624f, -0.019651f, 0.042606f, -0.034970f, -0.048621f, -0.038042f, -0.024609f, -0.018718f, -0.037760f, 0.024939f, -0.001621f, 0.023870f, 0.018947f, 0.003262f, 0.041864f, -0.020847f, -0.008278f, -0.040068f, 0.014729f, 0.022151f, -0.002341f, -0.003169f, 0.013329f, - -0.038492f, 0.002478f, -0.013424f, 0.008490f, -0.018346f, -0.025717f, 0.016626f, 0.000261f, -0.010733f, -0.003212f, 0.019453f, -0.013973f, 0.010232f, -0.012937f, 0.011591f, 0.010785f, -0.005165f, -0.012838f, 0.009072f, 0.010584f, -0.028392f, 0.012972f, -0.007015f, -0.007455f, -0.008540f, 0.007170f, -0.019135f, -0.008759f, 0.060236f, -0.016116f, -0.113824f, -0.032520f, 0.093697f, -0.012961f, 0.020889f, 0.013381f, 0.017482f, 0.032855f, 0.026854f, 0.009422f, -0.018594f, -0.006845f, 0.004625f, -0.020202f, -0.004751f, 0.034490f, -0.030854f, -0.018272f, -0.030936f, -0.007316f, 0.005265f, 0.004056f, 0.008127f, 0.016202f, -0.023556f, 0.021057f, 0.051240f, -0.000797f, -0.030018f, 0.002877f, -0.019672f, -0.006601f, 0.030348f, -0.031938f, 0.003541f, 0.010328f, 0.037117f, 0.054096f, -0.034384f, -0.019353f, 0.020767f, 0.003100f, 0.005772f, 0.006492f, -0.022867f, -0.057831f, -0.010519f, -0.026771f, 0.052698f, -0.100076f, -0.066141f, -0.026872f, -0.011109f, 0.029299f, 0.005891f, -0.035110f, -0.006166f, -0.040487f, -0.044295f, -0.015442f, -0.032099f, 0.006169f, 0.025930f, 0.121015f, 0.022110f, -0.017556f, - -0.077889f, -0.063430f, 0.018652f, -0.001559f, -0.073158f, 0.039742f, 0.038814f, -0.073700f, -0.001712f, 0.019710f, 0.021067f, 0.080367f, 0.034756f, 0.017147f, -0.079361f, -0.040275f, -0.054889f, 0.050080f, -0.005394f, -0.015783f, -0.009237f, 0.015967f, 0.051907f, 0.044917f, -0.023837f, -0.046369f, -0.068946f, 0.017130f, 0.040053f, -0.013775f, -0.007500f, 0.036216f, 0.019907f, 0.031642f, 0.007366f, 0.011628f, -0.026906f, -0.007332f, -0.013011f, 0.014009f, 0.013484f, -0.003140f, -0.006685f, -0.003372f, 0.018341f, 0.021819f, -0.031669f, 0.018585f, 0.013035f, 0.026267f, -0.017096f, -0.010842f, 0.015466f, 0.006300f, -0.023117f, -0.001736f, 0.025689f, 0.005617f, -0.020212f, -0.006627f, 0.002671f, -0.038723f, -0.133883f, 0.020337f, 0.022029f, -0.003406f, -0.001092f, -0.009337f, -0.037767f, 0.016305f, -0.007476f, 0.069893f, -0.069966f, -0.013458f, 0.073606f, -0.002310f, -0.047973f, -0.005002f, 0.043860f, 0.053071f, 0.033025f, -0.008335f, 0.038300f, -0.027155f, 0.026210f, -0.010435f, -0.008606f, -0.023368f, 0.041852f, 0.028772f, -0.025625f, -0.011278f, -0.002877f, 0.042390f, -0.002901f, 0.005374f, - -0.025593f, 0.028875f, 0.019119f, -0.029710f, 0.056636f, 0.003445f, -0.049052f, 0.045151f, -0.053376f, -0.027734f, 0.050493f, -0.104717f, -0.066357f, 0.058388f, -0.035508f, 0.043527f, -0.066004f, 0.015874f, 0.025559f, -0.035897f, 0.002394f, -0.001971f, -0.068152f, -0.015115f, 0.072389f, 0.076295f, -0.084755f, -0.027536f, 0.027163f, -0.067820f, 0.089765f, 0.089831f, 0.013732f, -0.126317f, -0.065791f, 0.136247f, -0.070478f, -0.013327f, 0.110761f, -0.063459f, -0.130367f, -0.028542f, 0.119687f, -0.024598f, -0.085592f, -0.020334f, -0.157095f, -0.006260f, 0.129144f, -0.045719f, -0.126774f, -0.012020f, -0.034843f, -0.016246f, 0.039116f, -0.003566f, -0.000429f, -0.045591f, -0.029396f, -0.013849f, 0.052309f, -0.064023f, 0.004293f, 0.011454f, -0.019270f, 0.003317f, 0.062067f, -0.037978f, -0.047912f, -0.005451f, 0.018291f, 0.039295f, -0.014097f, 0.020305f, 0.030272f, 0.004409f, -0.043135f, -0.022541f, 0.002135f, -0.034196f, -0.016010f, 0.068594f, -0.024336f, -0.064762f, -0.016518f, 0.039522f, 0.017036f, -0.003865f, 0.009686f, -0.058431f, -0.033196f, 0.046506f, 0.068356f, 0.009315f, -0.048686f, -0.023161f, - 0.003296f, 0.018981f, 0.034837f, 0.004674f, -0.019098f, -0.074060f, -0.069886f, -0.001558f, -0.088229f, -0.025833f, -0.037505f, -0.035145f, -0.026656f, 0.057729f, -0.006278f, -0.018034f, -0.024219f, 0.011587f, -0.030996f, -0.073268f, 0.057051f, 0.018354f, 0.049280f, 0.015854f, 0.050961f, -0.019845f, -0.031494f, 0.011743f, -0.053302f, 0.041858f, -0.048280f, -0.009750f, 0.031809f, -0.036158f, -0.007741f, -0.021763f, -0.058461f, 0.009301f, -0.044146f, -0.031348f, -0.038524f, -0.028026f, -0.017620f, -0.038675f, 0.006900f, 0.043986f, -0.029414f, -0.009931f, 0.005353f, 0.040595f, -0.018262f, 0.014744f, -0.041081f, 0.067261f, 0.020848f, 0.029175f, 0.018254f, 0.064552f, -0.003776f, -0.074588f, 0.016566f, 0.027903f, -0.020917f, 0.000365f, 0.039554f, -0.051679f, -0.051891f, -0.060067f, 0.052384f, 0.016167f, -0.074688f, 0.029732f, -0.049310f, -0.008980f, -0.069708f, 0.031487f, 0.049448f, 0.010909f, -0.077224f, 0.044006f, 0.035762f, -0.009180f, -0.067892f, 0.018987f, -0.040989f, -0.013336f, -0.003008f, -0.020033f, 0.033545f, -0.029641f, -0.055095f, 0.028017f, -0.012360f, 0.023809f, -0.000389f, -0.001359f, - -0.000453f, -0.014239f, -0.017237f, 0.012337f, 0.049013f, -0.005272f, -0.069511f, -0.018484f, 0.028748f, -0.033576f, -0.014760f, 0.034038f, -0.012712f, -0.004054f, -0.027916f, 0.055162f, 0.031791f, -0.015304f, 0.024284f, -0.003599f, 0.010797f, 0.044914f, -0.008218f, -0.037902f, 0.015938f, 0.025985f, -0.020188f, 0.032608f, -0.005393f, 0.020433f, 0.002012f, -0.013578f, 0.026297f, 0.039482f, -0.022416f, -0.039874f, 0.015654f, 0.025883f, -0.020372f, -0.003199f, 0.022932f, 0.008925f, -0.015958f, -0.015972f, 0.020309f, 0.065400f, 0.123130f, -0.030003f, 0.060919f, 0.011605f, -0.029440f, -0.055476f, -0.032428f, 0.071473f, -0.023797f, 0.013011f, 0.027600f, -0.007582f, 0.065921f, -0.010070f, 0.051685f, 0.053941f, -0.066866f, 0.033992f, -0.017681f, 0.001270f, 0.024211f, 0.019925f, -0.002490f, 0.010468f, 0.019570f, 0.066089f, 0.068127f, 0.052351f, -0.038782f, -0.013531f, -0.091018f, -0.003112f, 0.021274f, 0.040620f, 0.009285f, -0.075531f, 0.032761f, -0.045491f, 0.058154f, -0.053049f, -0.036981f, 0.003416f, -0.044213f, -0.007952f, -0.025578f, 0.089364f, -0.049180f, -0.024415f, -0.094189f, -0.031004f, - -0.049496f, 0.132427f, 0.080655f, -0.028400f, -0.089578f, -0.096358f, -0.057102f, 0.065666f, 0.086152f, 0.043304f, 0.012650f, -0.115551f, -0.053517f, 0.037423f, 0.032266f, 0.004587f, 0.041611f, -0.024313f, -0.075825f, 0.035449f, -0.128607f, 0.139430f, -0.013093f, -0.090836f, 0.210366f, 0.029744f, 0.073213f, 0.125655f, -0.208829f, -0.150900f, 0.041707f, -0.012837f, 0.031964f, 0.045299f, -0.130516f, -0.010107f, 0.026409f, 0.002187f, 0.109442f, 0.007322f, -0.057198f, -0.006423f, 0.058878f, -0.034564f, 0.025783f, 0.029773f, 0.001308f, -0.024363f, 0.028873f, -0.076461f, 0.058155f, -0.015277f, -0.024073f, 0.032310f, 0.008872f, 0.001890f, 0.034534f, -0.008563f, 0.020759f, -0.004652f, 0.013394f, -0.010364f, -0.039742f, 0.023798f, 0.017080f, 0.022484f, -0.000023f, 0.000251f, 0.015924f, 0.008312f, 0.006326f, 0.046064f, 0.051876f, 0.002553f, 0.034089f, -0.032224f, 0.005069f, -0.021293f, 0.039405f, 0.035316f, 0.005808f, -0.010698f, -0.023206f, -0.055517f, -0.024010f, 0.004386f, -0.054830f, 0.036883f, -0.077410f, 0.047707f, -0.031948f, 0.078371f, -0.035554f, -0.003752f, 0.044548f, 0.007855f, - 0.003757f, -0.020321f, -0.017687f, 0.001960f, -0.030231f, 0.033040f, -0.004038f, 0.035097f, -0.027755f, -0.027246f, 0.009066f, 0.001333f, -0.028148f, 0.017573f, -0.003721f, 0.015338f, -0.008784f, -0.007589f, 0.014489f, -0.014049f, -0.001352f, 0.010940f, -0.005914f, -0.006703f, 0.055466f, -0.003828f, -0.018872f, -0.009968f, 0.026213f, -0.002402f, -0.030567f, 0.016124f, 0.032346f, 0.006616f, 0.000535f, -0.019249f, 0.006598f, -0.015575f, 0.014683f, 0.039647f, -0.014318f, 0.018166f, -0.015195f, -0.004380f, -0.016625f, -0.007656f, 0.010164f, 0.012892f, -0.023424f, 0.014039f, 0.003847f, -0.002839f, -0.023434f, 0.004081f, 0.008105f, -0.017027f, 0.024551f, 0.020987f, -0.042116f, 0.010814f, -0.038691f, -0.043460f, 0.029653f, -0.015370f, 0.035878f, 0.019893f, 0.000747f, 0.018732f, -0.006149f, -0.022311f, -0.005747f, 0.001547f, 0.024863f, -0.011175f, 0.007346f, 0.010619f, -0.014904f, -0.002409f, 0.008358f, -0.004139f, -0.003220f, 0.014864f, -0.000598f, 0.005870f, -0.012481f, 0.005309f, -0.001690f, -0.012122f, 0.023049f, 0.002377f, 0.018717f, -0.009057f, 0.015273f, -0.007558f, 0.000604f, -0.012025f, - 0.010021f, -0.005644f, 0.022751f, -0.006870f, 0.021471f, -0.022239f, 0.004451f, 0.001908f, -0.005337f, 0.001221f, 0.002171f, 0.017969f, -0.001386f, -0.020119f, 0.012986f, -0.011112f, 0.001545f, 0.013006f, -0.013432f, 0.022371f, -0.045642f, 0.095849f, 0.017940f, 0.023413f, -0.012393f, 0.008604f, -0.002979f, 0.018015f, 0.005553f, 0.040749f, 0.002629f, -0.022382f, 0.013292f, -0.014666f, 0.006125f, 0.008206f, -0.018968f, 0.000820f, 0.004351f, -0.020478f, 0.018331f, 0.004576f, -0.008513f, 0.024721f, -0.009078f, 0.009664f, -0.007792f, 0.004462f, 0.004573f, 0.002100f, -0.003303f, -0.007538f, -0.003570f, 0.003309f, 0.000447f, -0.004326f, -0.012277f, 0.008863f, -0.008298f, 0.004334f, 0.007788f, -0.008461f, 0.001598f, -0.007915f, 0.002060f, -0.012452f, -0.020058f, 0.020373f, -0.011194f, -0.005503f, 0.008566f, 0.003833f, -0.003662f, 0.002158f, 0.017516f, -0.019657f, 0.008281f, -0.007522f, 0.015158f, -0.016552f, 0.009171f, 0.004405f, -0.003028f, 0.003397f, 0.000248f, 0.000035f, 0.007353f, -0.010540f, 0.005697f, 0.004942f, -0.002939f, -0.001205f, 0.013244f, -0.002251f, 0.004428f, -0.015715f, - 0.020808f, -0.016429f, -0.000373f, 0.010276f, -0.009571f, 0.006951f, 0.002218f, 0.002326f, -0.009999f, 0.007775f, 0.008179f, -0.005414f, 0.003168f, 0.003918f, -0.007155f, 0.002271f, 0.003349f, -0.001733f, 0.007173f, 0.000113f, -0.000274f, -0.000996f, 0.006430f, 0.004827f, -0.004257f, 0.005467f, -0.003030f, 0.002328f, 0.002774f, -0.000935f, 0.008030f, -0.003890f, -0.000040f, 0.004963f, -0.006526f, 0.000285f, -0.000749f, -0.004779f, 0.000549f, 0.004411f, -0.001468f, -0.004059f, 0.008007f, -0.005416f, 0.001132f, 0.018165f, -0.085325f, -0.211813f, 0.045752f, 0.176142f, 0.119061f, 0.248441f, -0.081261f, -0.069451f, -0.142942f, -0.228432f, -0.022590f, 0.071215f, 0.093846f, 0.122512f, 0.061743f, 0.006791f, -0.020044f, -0.052945f, -0.075560f, -0.011424f, -0.020200f, 0.007462f, 0.017317f, -0.000873f, 0.004332f, 0.009162f, 0.004025f, 0.029946f, 0.035494f, 0.022109f, -0.004104f, 0.004139f, -0.026320f, -0.055122f, -0.058814f, -0.028786f, -0.038589f, 0.031791f, 0.058486f, 0.062155f, 0.068155f, 0.037417f, -0.011070f, -0.026886f, -0.050164f, -0.052905f, -0.036837f, -0.020656f, -0.002426f, 0.013419f, - 0.025667f, 0.027654f, 0.023173f, 0.020058f, -0.003483f, 0.005430f, -0.005967f, 0.002707f, -0.004498f, -0.002681f, -0.001643f, -0.018717f, -0.019729f, -0.014194f, -0.029711f, 0.000101f, -0.005639f, 0.003800f, 0.050395f, 0.066527f, 0.022383f, 0.022591f, -0.018284f, -0.036457f, -0.025304f, -0.043912f, -0.035380f, 0.012526f, -0.003088f, -0.021246f, 0.016337f, 0.017637f, 0.020884f, 0.049827f, 0.020648f, 0.021906f, 0.005378f, -0.026699f, -0.026451f, -0.021521f, -0.023634f, -0.029768f, -0.025546f, -0.015096f, 0.004649f, 0.033318f, 0.050024f, 0.046986f, 0.018964f, 0.009573f, -0.012258f, -0.022599f, -0.020461f, -0.022394f, -0.026029f, -0.011777f, -0.010862f, -0.000779f, 0.008726f, 0.006848f, 0.020157f, 0.026923f, 0.019351f, 0.013339f, 0.004618f, -0.001572f, -0.012735f, -0.013008f, -0.020513f, -0.022919f, -0.018148f, -0.016031f, -0.004116f, 0.017345f, 0.025706f, 0.027855f, 0.024611f, 0.010175f, 0.004547f, -0.012228f, -0.019634f, -0.010323f, -0.014508f, -0.019578f, -0.014920f, 0.002872f, 0.013423f, 0.012751f, 0.007099f, 0.008180f, 0.007266f, 0.005720f, 0.001691f, -0.001207f, -0.002027f, -0.005043f, - -0.006661f, -0.006024f, -0.007180f, -0.008322f, -0.004492f, 0.003975f, 0.006968f, 0.009008f, 0.007508f, 0.005505f, 0.001877f, 0.000251f, -0.002197f, -0.003133f, -0.004060f, -0.004411f, -0.005010f, -0.002847f, -0.001115f, 0.001794f, 0.002917f, 0.002928f, 0.002497f, 0.002274f, 0.000469f, 0.000075f, -0.000544f, 0.000361f, 0.000342f, 0.001172f, -0.001653f, -0.002936f, -0.002564f, -0.001400f, -0.001317f, 0.000626f, 0.001798f, 0.002369f, 0.001399f, -0.000753f, -0.001000f, 0.001380f, 0.002198f, 0.001888f, -0.000591f, -0.002317f, -0.002728f, -0.000981f, -0.000071f, 0.000510f, -0.000317f, -0.000506f, -0.000662f, 0.000171f, 0.000655f, 0.001602f, 0.001247f, 0.001221f, 0.000850f, 0.000241f, -0.000803f, -0.001177f, -0.001590f, -0.001340f, -0.001388f, -0.000811f, 0.000289f, 0.001465f, 0.001407f, 0.001348f, 0.000809f, 0.000564f, 0.000339f, -0.000205f, -0.001098f, -0.001007f, -0.000821f, -0.000444f, -0.000162f, 0.000229f, 0.000008f, 0.000038f, 0.000144f, 0.000389f, 0.000446f, 0.000376f, 0.000074f, -0.000104f, -0.000205f, -0.000158f, -0.000098f, -0.000042f, -0.000048f}, - {-0.012004f, 0.001487f, 0.003775f, 0.003656f, 0.018818f, 0.005091f, 0.003952f, -0.005613f, 0.000693f, -0.009588f, 0.002214f, 0.008749f, -0.004481f, 0.000389f, -0.001882f, -0.004734f, -0.007604f, 0.005819f, -0.012700f, -0.006426f, -0.006388f, 0.006841f, 0.007500f, 0.003936f, 0.001773f, 0.005421f, 0.004473f, 0.008974f, -0.003157f, 0.003122f, 0.005573f, 0.001158f, 0.001817f, -0.006598f, -0.002858f, -0.002777f, -0.002500f, 0.006057f, -0.011683f, 0.001919f, -0.004066f, 0.012184f, 0.000264f, -0.002230f, -0.003092f, -0.005066f, -0.001705f, -0.005286f, -0.015400f, -0.004896f, -0.003038f, -0.002514f, -0.003476f, 0.001559f, -0.002909f, -0.000755f, -0.001018f, 0.005352f, 0.002380f, -0.000727f, 0.003411f, -0.003043f, 0.006572f, -0.004356f, -0.007184f, 0.006882f, 0.007220f, -0.003164f, -0.006901f, 0.000628f, 0.003737f, 0.002810f, 0.003244f, -0.003287f, 0.000012f, 0.002625f, 0.003557f, 0.001533f, -0.001014f, 0.000406f, 0.004427f, 0.008553f, 0.004129f, -0.001095f, -0.000133f, -0.002070f, -0.002182f, 0.001759f, -0.002864f, 0.001708f, 0.002090f, -0.000868f, -0.000310f, 0.000901f, 0.000794f, -0.000901f, - 0.000685f, 0.000453f, -0.003974f, 0.000587f, 0.000277f, 0.001185f, 0.000671f, -0.001548f, 0.001395f, 0.001087f, -0.000133f, 0.017010f, -0.003232f, -0.001674f, 0.001789f, 0.004664f, -0.012607f, 0.007784f, -0.014957f, -0.000714f, -0.007262f, -0.001103f, -0.004814f, -0.001167f, -0.001204f, 0.007455f, -0.006361f, 0.008078f, -0.008507f, -0.009287f, 0.003877f, 0.012369f, -0.014671f, -0.004103f, -0.007118f, 0.000063f, -0.003723f, 0.003915f, 0.005205f, 0.002614f, 0.005303f, -0.008540f, 0.000268f, 0.011893f, 0.004645f, 0.001481f, -0.008704f, -0.012412f, -0.007489f, 0.001860f, -0.006373f, -0.003612f, 0.002375f, 0.007998f, -0.007285f, -0.007172f, 0.002849f, -0.005254f, 0.009185f, 0.003054f, -0.000993f, 0.006470f, 0.006136f, -0.000045f, 0.010328f, 0.005094f, 0.003204f, 0.002711f, 0.006755f, 0.010669f, -0.007095f, 0.002010f, 0.002897f, -0.007565f, 0.000624f, 0.006078f, -0.002425f, 0.015425f, -0.004821f, -0.004140f, -0.003266f, 0.005664f, 0.007821f, -0.010065f, -0.004132f, 0.002693f, -0.001868f, 0.002425f, 0.000921f, -0.004432f, 0.001912f, 0.000901f, -0.003287f, -0.005353f, 0.002140f, 0.001452f, - 0.004825f, 0.000372f, 0.001453f, 0.002200f, -0.000270f, -0.001634f, 0.003521f, 0.000175f, -0.000068f, 0.003041f, -0.001725f, 0.001453f, 0.004053f, -0.000385f, -0.000944f, 0.000739f, -0.000670f, 0.001230f, -0.002574f, -0.000828f, -0.001230f, 0.000127f, -0.000441f, 0.001569f, 0.000111f, -0.001614f, 0.000010f, -0.021880f, -0.003523f, -0.004859f, -0.003880f, -0.001937f, -0.002657f, 0.011676f, 0.013953f, -0.003158f, 0.011389f, 0.004360f, -0.006261f, 0.002986f, -0.009500f, 0.001703f, 0.002037f, -0.012778f, -0.001873f, 0.002012f, 0.002259f, 0.008877f, -0.001683f, 0.007714f, -0.005133f, -0.009797f, -0.010347f, -0.002944f, -0.005225f, -0.007842f, 0.008161f, -0.003169f, -0.001554f, -0.001403f, 0.001720f, 0.004454f, -0.012540f, 0.000071f, 0.001772f, -0.005931f, 0.014987f, 0.001194f, -0.003673f, -0.003222f, 0.016001f, -0.001120f, 0.002049f, 0.009476f, 0.000299f, 0.005801f, 0.002268f, 0.000558f, 0.008838f, -0.000027f, -0.006153f, 0.007941f, 0.004265f, 0.005110f, 0.007194f, 0.002397f, -0.005809f, 0.004174f, 0.005906f, 0.005743f, 0.008852f, 0.000079f, -0.008164f, -0.006515f, 0.010378f, 0.014445f, - -0.013143f, 0.002670f, -0.003466f, -0.002293f, 0.003038f, 0.005533f, 0.005302f, -0.004182f, -0.001676f, -0.004040f, -0.006771f, -0.005907f, -0.002163f, -0.003745f, -0.005818f, 0.001358f, -0.001576f, 0.002243f, 0.001900f, -0.001784f, 0.001063f, 0.000386f, -0.004725f, 0.001629f, -0.003190f, -0.005728f, 0.000400f, -0.001669f, -0.002406f, -0.002557f, -0.000722f, 0.001071f, -0.000863f, 0.001689f, -0.001094f, -0.001914f, -0.002658f, -0.002437f, -0.001049f, 0.000472f, 0.001915f, -0.003706f, -0.016129f, 0.017185f, 0.015920f, 0.012002f, -0.008377f, 0.009382f, 0.016941f, -0.004264f, 0.013238f, 0.004982f, 0.001986f, -0.002064f, 0.014597f, 0.006900f, -0.003421f, -0.010472f, 0.006070f, -0.004340f, -0.005602f, 0.005914f, 0.006983f, 0.003064f, -0.010398f, 0.001687f, 0.009332f, -0.004554f, 0.003163f, -0.020448f, 0.002944f, -0.001645f, 0.009850f, 0.002410f, -0.004244f, -0.006165f, 0.012607f, -0.010853f, 0.000878f, -0.008765f, 0.001024f, -0.002684f, 0.007042f, -0.001467f, -0.002297f, -0.010740f, -0.002578f, -0.001893f, 0.013338f, 0.000667f, -0.012202f, -0.000449f, -0.000674f, 0.004174f, 0.006378f, -0.005426f, - 0.000024f, -0.006924f, 0.007394f, -0.001618f, 0.008937f, -0.004818f, 0.013305f, 0.006613f, -0.014684f, 0.015565f, -0.002243f, -0.010745f, 0.001831f, 0.014225f, 0.002889f, 0.002195f, -0.011500f, -0.000744f, -0.004455f, -0.006208f, -0.006024f, 0.000555f, 0.005423f, 0.007010f, 0.003806f, 0.003836f, -0.004488f, 0.003388f, -0.003890f, -0.000432f, -0.000208f, -0.001785f, -0.000747f, 0.004060f, -0.006393f, 0.001756f, -0.000624f, 0.000577f, 0.002149f, 0.001765f, -0.000172f, 0.002799f, 0.000305f, -0.004190f, -0.004557f, 0.002700f, 0.001234f, -0.000160f, -0.003009f, -0.000571f, 0.000727f, -0.000381f, -0.001315f, -0.002906f, 0.001851f, -0.000021f, -0.001828f, 0.002066f, -0.001217f, -0.000771f, -0.002343f, -0.001406f, -0.000884f, -0.002930f, 0.002085f, 0.001699f, 0.018711f, -0.006245f, -0.013294f, -0.000556f, -0.020011f, 0.000120f, -0.017174f, -0.005880f, 0.012055f, -0.012215f, -0.013488f, 0.004225f, 0.001280f, 0.001363f, -0.003047f, -0.004328f, -0.009721f, 0.006820f, -0.019164f, -0.005801f, 0.002109f, 0.012113f, 0.000856f, 0.012287f, 0.004471f, 0.026830f, 0.010377f, -0.000141f, 0.001328f, 0.012852f, - -0.002883f, -0.003665f, -0.002234f, 0.002248f, -0.008258f, -0.004039f, -0.014028f, -0.000851f, -0.006360f, -0.003765f, 0.017629f, 0.000426f, 0.011089f, -0.004237f, 0.004616f, -0.000960f, 0.006681f, -0.002039f, 0.006231f, -0.005859f, -0.007273f, -0.001053f, 0.002263f, -0.007359f, -0.007341f, 0.000807f, 0.004023f, 0.008265f, -0.001006f, -0.003651f, -0.001489f, 0.007850f, 0.013300f, 0.000869f, -0.008779f, -0.012651f, 0.000352f, 0.003661f, 0.001510f, 0.017611f, -0.010777f, -0.000448f, 0.007991f, -0.002744f, -0.008998f, 0.012456f, 0.005811f, 0.002333f, -0.005919f, -0.006427f, -0.010765f, -0.004139f, -0.000996f, -0.005526f, -0.002664f, -0.004766f, 0.001115f, 0.001421f, 0.002917f, 0.000501f, 0.000993f, -0.005951f, -0.002975f, -0.006390f, -0.002089f, -0.001737f, -0.004799f, -0.003015f, 0.001904f, -0.000426f, -0.001918f, -0.000411f, 0.001813f, -0.003940f, 0.002246f, -0.002797f, -0.000143f, -0.001073f, -0.002042f, -0.000627f, 0.000144f, 0.002008f, -0.002688f, -0.004131f, 0.003632f, 0.002219f, 0.001183f, 0.016624f, -0.012710f, -0.002567f, 0.001089f, -0.000965f, -0.000441f, -0.010464f, -0.008042f, -0.001110f, - 0.006995f, 0.002553f, 0.002830f, 0.002952f, 0.007351f, -0.001482f, 0.006727f, 0.005443f, -0.017223f, -0.006612f, -0.020219f, 0.005273f, -0.007097f, 0.010211f, -0.006526f, -0.008929f, -0.006521f, 0.005313f, -0.013461f, -0.011211f, 0.015728f, -0.008556f, 0.017050f, -0.004012f, 0.005158f, -0.005982f, -0.011416f, 0.012630f, -0.009676f, -0.010905f, -0.001052f, -0.005930f, -0.012778f, -0.009869f, -0.016123f, 0.000670f, 0.010433f, 0.005983f, -0.006240f, 0.017955f, 0.006626f, -0.006601f, -0.008300f, -0.012995f, 0.000610f, -0.004874f, -0.009045f, -0.004590f, -0.003811f, -0.006410f, 0.003465f, 0.014355f, -0.000824f, 0.000931f, -0.009685f, 0.004557f, 0.004911f, -0.008482f, -0.006674f, 0.003417f, 0.017512f, 0.006939f, -0.004285f, -0.002336f, -0.003621f, -0.018009f, -0.014108f, -0.011967f, 0.012547f, 0.013251f, -0.001879f, -0.006241f, 0.005861f, -0.003998f, 0.005153f, -0.002687f, 0.002470f, 0.000370f, 0.000319f, -0.005878f, 0.003963f, -0.003461f, -0.002391f, -0.000971f, 0.003555f, 0.002564f, -0.000285f, -0.004929f, 0.003157f, -0.000773f, 0.002337f, -0.001717f, -0.001016f, -0.004369f, -0.001809f, -0.000235f, - -0.000457f, 0.000752f, 0.000906f, -0.000633f, 0.000808f, -0.003654f, 0.001681f, 0.000259f, 0.000597f, -0.001386f, 0.004510f, 0.002717f, -0.000105f, -0.001854f, 0.000521f, -0.002823f, 0.005095f, 0.001041f, 0.023646f, -0.004697f, -0.000231f, -0.004096f, 0.015325f, 0.014525f, 0.004891f, -0.024696f, -0.004265f, -0.029954f, 0.017441f, 0.007270f, 0.000307f, 0.030574f, 0.014360f, -0.002873f, -0.013963f, 0.012506f, -0.006080f, 0.002980f, 0.004120f, 0.001836f, 0.009892f, -0.009115f, 0.017042f, 0.006396f, 0.001494f, -0.005373f, -0.008946f, 0.011528f, 0.009666f, -0.002050f, 0.006222f, -0.014815f, 0.002568f, -0.019730f, 0.007803f, 0.000957f, 0.009807f, -0.016225f, 0.003154f, -0.005395f, 0.003371f, 0.018153f, 0.015318f, 0.000592f, 0.004301f, -0.011508f, 0.014760f, 0.000288f, 0.031619f, 0.033485f, -0.004648f, -0.009101f, -0.009345f, -0.007409f, -0.019679f, -0.005580f, -0.025643f, 0.001415f, -0.002316f, -0.001541f, -0.005379f, 0.008820f, 0.014861f, 0.023462f, 0.021731f, 0.016764f, -0.027949f, -0.019918f, -0.001058f, 0.001279f, 0.028932f, -0.020620f, 0.015457f, -0.001204f, -0.006072f, -0.003113f, - -0.000904f, -0.005874f, -0.016321f, -0.010654f, -0.003230f, 0.004618f, 0.001323f, -0.000505f, -0.004591f, 0.002447f, -0.005910f, -0.000649f, -0.003232f, 0.006087f, 0.006702f, -0.001756f, -0.001505f, 0.006342f, 0.004709f, 0.000741f, -0.001149f, 0.002276f, 0.000217f, 0.000887f, -0.001455f, 0.002700f, -0.000416f, -0.001697f, -0.002795f, 0.000741f, 0.002557f, 0.004049f, 0.008686f, 0.006851f, -0.003573f, 0.000769f, -0.006524f, -0.001256f, 0.002619f, -0.000578f, -0.001460f, 0.000114f, 0.001081f, 0.001383f, -0.008773f, 0.016957f, 0.003526f, -0.012792f, -0.007132f, 0.031975f, 0.031454f, 0.035255f, -0.003619f, -0.001652f, -0.006168f, 0.005800f, 0.017189f, 0.019775f, 0.005655f, -0.008722f, -0.017178f, -0.034834f, 0.010156f, -0.020674f, -0.004624f, -0.002252f, -0.004561f, 0.002182f, -0.001154f, -0.006522f, -0.000881f, -0.020259f, -0.008078f, 0.001051f, -0.003831f, -0.022622f, -0.009585f, 0.001768f, 0.016218f, -0.004769f, 0.000367f, -0.018042f, -0.006136f, 0.000062f, 0.011746f, -0.007412f, 0.007185f, -0.020147f, -0.005663f, 0.004497f, 0.007492f, -0.005633f, 0.026756f, -0.005672f, -0.003494f, -0.014136f, - -0.004700f, 0.010655f, 0.003593f, -0.001383f, 0.013921f, 0.019243f, 0.022547f, -0.004146f, -0.011412f, -0.013004f, 0.000101f, 0.002522f, 0.005229f, -0.009277f, 0.007222f, 0.009475f, 0.008031f, 0.007748f, 0.022557f, 0.015109f, 0.010038f, -0.001379f, 0.005019f, -0.022699f, -0.004295f, 0.002207f, 0.011467f, 0.018081f, -0.003529f, -0.010473f, 0.003148f, 0.006112f, -0.005337f, 0.009180f, 0.007442f, 0.009937f, 0.001506f, 0.004246f, -0.000544f, -0.000980f, -0.007377f, 0.005545f, -0.002345f, 0.003580f, 0.003287f, 0.000880f, 0.005307f, 0.000290f, 0.008578f, 0.005911f, 0.003854f, 0.002250f, 0.002380f, -0.000167f, -0.001162f, 0.000510f, -0.003648f, -0.000448f, -0.004548f, -0.007443f, -0.002928f, 0.001305f, 0.001227f, 0.002954f, -0.001524f, 0.001874f, -0.003020f, 0.001160f, 0.003792f, -0.000365f, 0.000653f, -0.032862f, 0.040851f, -0.001168f, 0.005988f, 0.022335f, 0.000377f, -0.007856f, 0.001153f, -0.039889f, -0.024284f, -0.011418f, 0.006353f, -0.007869f, 0.004537f, -0.018660f, 0.012891f, -0.006527f, -0.000192f, 0.024591f, -0.024010f, -0.015973f, 0.023002f, -0.007228f, -0.033754f, 0.002381f, - -0.020821f, 0.004288f, -0.001751f, 0.012626f, 0.005418f, 0.006361f, 0.002546f, -0.004082f, 0.014969f, -0.001679f, 0.019239f, 0.011770f, -0.006878f, -0.011565f, -0.010866f, 0.005240f, -0.005356f, 0.005274f, 0.003697f, 0.011339f, 0.003279f, -0.021292f, 0.001225f, 0.007235f, -0.007393f, 0.000906f, -0.014718f, -0.003259f, 0.001260f, 0.000963f, 0.033677f, -0.005884f, 0.023918f, 0.028675f, -0.007926f, 0.015355f, -0.004761f, -0.000834f, -0.015992f, 0.010141f, 0.024341f, 0.017056f, 0.003743f, 0.006713f, 0.015068f, -0.000971f, 0.012479f, -0.005080f, -0.007048f, -0.012148f, 0.006586f, 0.031178f, 0.006917f, -0.004005f, 0.002419f, -0.021882f, -0.007466f, 0.000551f, 0.020566f, 0.015080f, 0.006443f, 0.013396f, -0.003896f, 0.013161f, -0.000204f, 0.008296f, 0.000974f, -0.000596f, -0.001649f, 0.009195f, -0.001047f, -0.005717f, -0.003621f, -0.002241f, -0.001474f, -0.002270f, -0.004681f, 0.006663f, -0.004356f, -0.005661f, -0.001736f, -0.007451f, -0.005244f, -0.006349f, -0.003758f, -0.004412f, -0.005829f, 0.002018f, 0.001265f, 0.002525f, 0.001970f, -0.003330f, -0.001853f, -0.005840f, -0.007809f, -0.000622f, - -0.004382f, 0.002602f, -0.002143f, 0.000742f, 0.003695f, 0.004046f, 0.002650f, 0.006891f, -0.001907f, -0.000512f, 0.005094f, 0.039224f, 0.005738f, 0.009809f, -0.009232f, -0.004659f, 0.026649f, -0.017528f, -0.004024f, -0.034532f, 0.032421f, 0.016961f, 0.002366f, -0.011702f, -0.032601f, 0.003348f, -0.008651f, 0.004045f, -0.036561f, 0.013101f, 0.019359f, -0.021214f, -0.005056f, 0.003234f, 0.002282f, 0.007131f, 0.021008f, 0.025871f, 0.000113f, 0.000003f, 0.004868f, 0.001046f, -0.015618f, -0.017835f, -0.011828f, -0.023522f, -0.011574f, 0.020164f, 0.009388f, -0.007448f, -0.009927f, -0.006518f, -0.041424f, 0.009080f, 0.009987f, -0.019332f, 0.031793f, 0.001216f, 0.023721f, -0.008454f, 0.015397f, -0.004992f, -0.020473f, 0.001933f, 0.018902f, -0.010325f, 0.010390f, 0.012205f, 0.033766f, 0.009434f, 0.010630f, 0.032433f, 0.018487f, 0.012342f, -0.044715f, 0.009360f, 0.006877f, 0.008779f, 0.000941f, -0.018157f, 0.032460f, -0.023989f, 0.018527f, 0.019492f, -0.029159f, -0.006272f, 0.039964f, -0.035466f, 0.006063f, -0.008226f, -0.003825f, -0.012702f, 0.015573f, -0.006549f, -0.013256f, -0.011222f, - 0.006975f, 0.015236f, -0.014087f, 0.017677f, -0.014540f, -0.006240f, 0.019982f, 0.007489f, -0.001633f, -0.008646f, -0.009333f, -0.000110f, -0.003697f, -0.015044f, -0.001737f, -0.003083f, -0.004247f, -0.001225f, 0.012004f, -0.000856f, -0.011058f, 0.001194f, 0.004689f, 0.011624f, 0.007169f, 0.009278f, -0.003651f, 0.004989f, -0.006601f, 0.000518f, -0.002244f, 0.004988f, 0.009530f, -0.006838f, 0.004384f, 0.004720f, -0.000513f, -0.005879f, 0.003271f, 0.002791f, -0.020452f, -0.030900f, -0.013571f, -0.012834f, -0.041514f, 0.028446f, 0.004542f, 0.030360f, 0.001834f, 0.004481f, -0.014297f, -0.007356f, 0.014842f, -0.000966f, 0.015344f, -0.014970f, -0.004715f, 0.002884f, -0.006728f, -0.012220f, 0.018278f, -0.018340f, 0.021753f, -0.007395f, 0.007160f, -0.004489f, -0.014568f, -0.013018f, 0.006437f, -0.004596f, -0.000040f, 0.011338f, 0.043426f, 0.003301f, -0.005416f, -0.014417f, 0.006353f, 0.035153f, -0.006299f, -0.005507f, -0.020215f, -0.006819f, 0.003063f, -0.019037f, -0.006892f, -0.027248f, 0.017820f, -0.033403f, -0.060656f, -0.006137f, 0.002109f, 0.029242f, -0.029855f, 0.028090f, 0.018308f, -0.014007f, - -0.028171f, -0.004274f, 0.004841f, 0.008554f, 0.001210f, 0.017873f, -0.011574f, -0.004128f, -0.059826f, -0.007746f, 0.062173f, 0.006346f, -0.010212f, -0.007946f, -0.031922f, 0.024459f, -0.010111f, -0.008838f, -0.007709f, -0.004330f, -0.013684f, -0.020388f, 0.006443f, 0.012244f, -0.000370f, 0.009420f, -0.017213f, -0.031625f, -0.000890f, -0.016501f, -0.004560f, 0.000935f, -0.016389f, 0.004231f, -0.011870f, -0.021074f, -0.015570f, -0.007356f, 0.007216f, 0.010187f, -0.001559f, -0.024987f, -0.006032f, 0.001987f, -0.012175f, -0.005179f, -0.000739f, -0.011237f, -0.006494f, 0.003502f, -0.000177f, -0.008746f, -0.003302f, 0.004591f, 0.001900f, -0.011749f, -0.004472f, 0.000670f, 0.011560f, 0.012824f, 0.003706f, -0.003347f, -0.004150f, -0.001056f, 0.008735f, -0.001389f, -0.000424f, 0.001078f, 0.003554f, -0.009766f, 0.009899f, -0.001659f, 0.006820f, 0.001127f, -0.006776f, 0.028725f, 0.025658f, -0.008323f, -0.010613f, -0.002644f, -0.041404f, 0.027140f, -0.026206f, -0.021646f, -0.016782f, 0.010141f, 0.004097f, 0.025143f, 0.003003f, -0.013937f, -0.016258f, -0.016861f, 0.012935f, -0.006574f, -0.009059f, 0.022950f, - 0.025706f, 0.008626f, -0.017436f, 0.021128f, 0.034230f, -0.013270f, -0.007582f, 0.029533f, 0.007568f, 0.005766f, -0.019430f, -0.000220f, 0.028171f, -0.041848f, 0.028620f, -0.006441f, 0.003829f, 0.016991f, 0.020696f, -0.000385f, 0.010314f, -0.019839f, -0.016073f, 0.010561f, 0.039415f, 0.010348f, 0.009581f, 0.014709f, -0.019957f, 0.003944f, 0.017478f, 0.009889f, -0.003320f, 0.013849f, 0.008732f, -0.023929f, 0.019197f, -0.023335f, 0.005159f, 0.016594f, -0.018359f, 0.013673f, -0.022395f, -0.009198f, 0.004072f, 0.000518f, 0.014275f, -0.009468f, 0.012243f, -0.009682f, 0.001707f, 0.004255f, -0.004189f, -0.009509f, -0.018104f, 0.048005f, 0.005147f, 0.014147f, -0.021090f, -0.049685f, 0.034794f, -0.033906f, -0.014563f, -0.000585f, -0.007768f, -0.005439f, -0.002941f, -0.014278f, 0.008621f, 0.006539f, 0.003713f, -0.013247f, 0.015823f, 0.011723f, -0.005313f, -0.005905f, 0.004661f, -0.004948f, 0.004391f, -0.004998f, 0.016800f, 0.005665f, 0.001571f, 0.011384f, 0.012578f, -0.007836f, 0.000080f, 0.005464f, 0.008750f, 0.003003f, 0.004197f, -0.008494f, -0.010345f, 0.007754f, 0.010865f, 0.015076f, - -0.002141f, -0.014888f, -0.001989f, 0.000734f, 0.007089f, -0.022601f, 0.008331f, -0.007954f, -0.003176f, 0.004488f, 0.005200f, -0.006070f, 0.007687f, -0.000011f, 0.006123f, -0.004179f, 0.014549f, 0.004332f, 0.006080f, -0.002716f, 0.008291f, -0.027357f, 0.028617f, -0.010759f, -0.028638f, -0.037071f, -0.010500f, -0.003910f, 0.021509f, -0.032646f, -0.005409f, -0.003969f, 0.016902f, 0.032132f, 0.026559f, 0.016499f, 0.002361f, -0.008419f, -0.005171f, -0.003461f, 0.022531f, 0.018522f, -0.004582f, 0.002816f, -0.005139f, 0.014485f, -0.035490f, 0.020928f, 0.011418f, 0.016355f, 0.005407f, 0.003670f, 0.030233f, -0.012122f, -0.026090f, 0.000015f, -0.008719f, 0.001647f, -0.036117f, -0.020008f, -0.002309f, 0.029903f, -0.020487f, -0.006534f, 0.004741f, -0.001333f, 0.000673f, 0.029391f, 0.011683f, -0.004697f, 0.002402f, 0.014321f, 0.009334f, 0.034265f, -0.010315f, 0.015589f, 0.017291f, 0.009237f, -0.005775f, 0.005512f, -0.037631f, 0.015885f, -0.007205f, 0.001586f, -0.008797f, -0.020712f, -0.027897f, 0.005518f, -0.013417f, -0.037717f, 0.008815f, -0.032064f, -0.023727f, -0.005641f, -0.048396f, -0.029305f, - 0.006990f, 0.020437f, -0.024286f, 0.005077f, 0.001689f, 0.055230f, 0.052269f, 0.049427f, -0.001738f, 0.002666f, -0.026303f, -0.015838f, 0.020432f, -0.011301f, -0.007587f, 0.003299f, -0.006888f, 0.011498f, -0.014516f, -0.007213f, -0.000793f, 0.004290f, -0.008839f, 0.010532f, 0.010428f, 0.000360f, -0.004863f, 0.002826f, 0.010175f, -0.008614f, -0.011505f, -0.002990f, 0.009114f, -0.012880f, 0.021275f, 0.012286f, -0.001310f, 0.009668f, -0.003771f, -0.009080f, -0.014556f, -0.007847f, -0.012952f, -0.006962f, 0.007049f, 0.001174f, 0.021440f, -0.005201f, -0.007311f, -0.003436f, -0.049101f, -0.054294f, 0.031894f, 0.028630f, 0.009438f, 0.031043f, 0.052168f, 0.014653f, -0.020243f, 0.016661f, -0.008215f, -0.015054f, 0.023719f, 0.001467f, -0.021721f, 0.012918f, 0.017003f, 0.003724f, 0.005819f, 0.001054f, 0.002412f, 0.047740f, -0.001285f, 0.010014f, 0.004224f, 0.029524f, 0.001506f, 0.047352f, -0.000473f, -0.021224f, 0.037841f, 0.007520f, -0.017090f, -0.006218f, 0.019922f, -0.004448f, -0.000598f, 0.015515f, -0.029200f, 0.028627f, -0.006347f, -0.042595f, -0.012093f, 0.003882f, -0.042550f, -0.005017f, - -0.004656f, 0.018333f, 0.017751f, 0.031556f, -0.022556f, 0.004585f, 0.004835f, 0.006349f, 0.013376f, -0.020543f, -0.023071f, 0.011707f, -0.000786f, 0.024059f, 0.019565f, 0.005843f, 0.050609f, -0.008746f, -0.008024f, -0.035014f, 0.051650f, 0.008896f, 0.035780f, 0.021764f, -0.058069f, 0.008031f, 0.005070f, 0.035207f, -0.019006f, 0.014856f, 0.000141f, -0.015662f, -0.002094f, -0.012709f, 0.028407f, -0.055027f, -0.006827f, -0.004197f, 0.000053f, 0.002210f, 0.008637f, 0.013134f, -0.000352f, 0.025013f, -0.001141f, -0.003889f, -0.008263f, -0.005523f, 0.001494f, -0.009063f, 0.002844f, -0.002671f, 0.007503f, 0.005081f, -0.002729f, 0.001841f, -0.003078f, -0.015547f, -0.000938f, 0.000490f, 0.003770f, -0.015874f, 0.008256f, -0.003485f, 0.008684f, 0.006655f, 0.012316f, -0.012913f, 0.014414f, -0.008147f, 0.004617f, 0.010179f, 0.009396f, -0.003518f, 0.000296f, -0.005975f, 0.008153f, -0.000762f, 0.003973f, -0.000468f, -0.001694f, 0.020808f, 0.011833f, 0.000025f, 0.009806f, 0.002655f, 0.010205f, 0.001976f, 0.032021f, -0.067412f, 0.040142f, 0.040830f, -0.017321f, 0.009751f, 0.005747f, 0.011089f, - 0.000363f, 0.032510f, -0.023581f, -0.005059f, -0.025301f, -0.000163f, -0.014262f, 0.002333f, 0.006908f, -0.036974f, 0.016740f, 0.040262f, -0.027589f, -0.026480f, -0.026989f, 0.053588f, -0.023308f, -0.013109f, 0.005072f, -0.018314f, -0.055401f, 0.009789f, 0.040379f, -0.055284f, -0.024968f, 0.019141f, 0.029775f, 0.008081f, -0.008313f, 0.012832f, -0.019525f, -0.009177f, -0.000923f, 0.027410f, -0.037535f, -0.029917f, 0.021353f, 0.034417f, 0.013656f, -0.042978f, -0.013806f, 0.001076f, -0.001882f, -0.007466f, 0.022560f, -0.006665f, 0.033997f, -0.027575f, -0.005897f, -0.000047f, -0.031452f, 0.020013f, -0.036631f, -0.025279f, 0.011855f, -0.016440f, 0.035859f, 0.051667f, 0.030622f, -0.034186f, 0.018243f, -0.010062f, -0.010105f, -0.024137f, -0.007368f, -0.039332f, 0.030211f, 0.022117f, 0.010847f, 0.001167f, -0.018446f, -0.010457f, 0.012311f, -0.041065f, 0.033289f, -0.007852f, -0.005480f, 0.017313f, 0.003258f, 0.015763f, -0.004300f, -0.002507f, -0.013840f, -0.004080f, 0.001522f, 0.002770f, -0.010808f, -0.003898f, -0.005047f, -0.003995f, 0.018818f, 0.001938f, -0.000094f, -0.008952f, 0.007779f, 0.007362f, - -0.006389f, 0.004045f, 0.008754f, 0.001852f, 0.014589f, -0.005199f, -0.009871f, 0.002010f, -0.016239f, 0.008444f, 0.006389f, 0.002050f, -0.000262f, 0.006479f, -0.001146f, 0.010631f, 0.003697f, 0.007539f, -0.012776f, -0.004035f, 0.012423f, 0.000568f, 0.005222f, 0.006108f, -0.011884f, 0.001649f, 0.012528f, 0.039293f, 0.065426f, -0.000361f, -0.049342f, 0.010585f, -0.058897f, 0.010216f, 0.026903f, 0.012707f, 0.003663f, 0.035585f, 0.026336f, -0.001475f, -0.005305f, -0.048666f, -0.026186f, 0.000837f, -0.022728f, 0.066190f, -0.011952f, -0.014866f, -0.028426f, 0.003674f, 0.024954f, 0.017507f, -0.000802f, 0.012894f, 0.019462f, -0.029189f, 0.010134f, 0.056815f, 0.020179f, -0.038786f, -0.027327f, 0.018535f, -0.019137f, -0.002503f, 0.013916f, -0.008496f, -0.032007f, -0.007540f, 0.004004f, 0.054151f, -0.011585f, 0.012134f, -0.014265f, -0.043514f, 0.007749f, 0.054939f, -0.014628f, -0.032714f, 0.009690f, -0.019978f, 0.013534f, -0.011353f, -0.013252f, 0.037809f, -0.009508f, -0.004147f, 0.018554f, -0.032304f, 0.011851f, 0.040012f, -0.016353f, 0.003586f, -0.023216f, 0.070244f, -0.012598f, 0.008521f, - 0.022905f, -0.016112f, -0.003734f, -0.018544f, 0.010000f, -0.020975f, -0.017665f, -0.016508f, 0.027031f, -0.036260f, 0.005541f, -0.005216f, -0.010669f, 0.028505f, 0.000844f, -0.009490f, -0.011814f, 0.001667f, 0.010855f, 0.008458f, -0.015995f, -0.002762f, 0.000968f, -0.004335f, -0.019834f, -0.011880f, -0.003401f, 0.004980f, 0.001877f, 0.001818f, 0.003081f, 0.016557f, -0.016233f, 0.017399f, 0.003683f, 0.005174f, 0.001452f, 0.013843f, -0.007424f, 0.022600f, -0.004608f, -0.000133f, 0.017487f, 0.022710f, -0.011435f, 0.014925f, -0.007005f, 0.005153f, -0.012688f, 0.011597f, 0.009927f, -0.019176f, -0.000584f, -0.007532f, -0.002258f, -0.009467f, 0.007437f, -0.011701f, 0.011185f, -0.002125f, -0.003843f, -0.019434f, -0.108522f, -0.038283f, -0.002365f, 0.034152f, -0.018538f, -0.054511f, -0.020795f, -0.008323f, 0.026097f, 0.006506f, -0.007637f, -0.027154f, 0.027851f, 0.049796f, -0.023198f, 0.037551f, 0.009102f, -0.072233f, 0.026385f, 0.033339f, -0.012254f, -0.029598f, -0.005895f, 0.043896f, 0.046833f, -0.004294f, -0.036253f, 0.002125f, -0.004514f, -0.005011f, -0.030286f, 0.007008f, 0.013200f, -0.047751f, - 0.032278f, 0.027428f, -0.033841f, 0.005826f, -0.037916f, 0.012913f, 0.091195f, -0.082225f, 0.084281f, 0.037965f, 0.003400f, 0.051454f, 0.025323f, -0.053346f, 0.031431f, -0.040197f, -0.009364f, 0.043195f, 0.001614f, 0.012135f, -0.022682f, -0.039147f, 0.117625f, -0.028071f, 0.001283f, 0.046182f, -0.022893f, 0.008750f, 0.003130f, 0.028413f, 0.066077f, 0.062870f, 0.059387f, 0.003411f, -0.001594f, -0.009935f, 0.002611f, -0.016473f, 0.004063f, 0.050443f, -0.013872f, -0.017912f, 0.004644f, 0.006719f, 0.029033f, 0.034024f, 0.009354f, 0.009329f, 0.023954f, 0.010069f, -0.019061f, 0.005788f, -0.010045f, -0.027861f, -0.012821f, 0.014209f, -0.021220f, -0.030214f, -0.023172f, -0.001323f, 0.002300f, -0.017435f, 0.008364f, 0.019148f, 0.002575f, -0.006550f, -0.001605f, -0.022137f, 0.025473f, -0.004071f, -0.006101f, 0.017695f, -0.015291f, 0.011954f, -0.011562f, -0.009135f, 0.030053f, -0.000348f, -0.023106f, 0.028684f, -0.018218f, 0.017206f, 0.007707f, -0.011568f, 0.008247f, -0.004204f, 0.020597f, -0.009862f, 0.006883f, 0.000835f, 0.001290f, -0.002434f, 0.021944f, -0.011707f, -0.003108f, -0.001808f, - 0.003508f, -0.003435f, 0.009291f, 0.017017f, 0.027637f, -0.007359f, -0.079804f, 0.036189f, -0.057985f, 0.081446f, 0.009587f, -0.070921f, 0.015956f, 0.000574f, 0.033249f, 0.015639f, -0.017181f, 0.060240f, 0.014697f, 0.002997f, 0.040248f, -0.032264f, -0.044787f, 0.001389f, 0.023426f, 0.081192f, -0.011445f, 0.000128f, -0.008520f, 0.058486f, 0.006375f, -0.046613f, -0.027499f, 0.008714f, -0.005148f, 0.025833f, -0.045204f, 0.021618f, 0.007387f, 0.013285f, -0.004030f, -0.017777f, 0.010304f, 0.018058f, 0.000202f, 0.054299f, -0.087725f, 0.007548f, -0.030927f, -0.019362f, -0.011299f, -0.064290f, -0.093206f, -0.096641f, -0.070130f, 0.007305f, 0.000383f, -0.056121f, -0.000425f, -0.010350f, 0.006066f, -0.034891f, -0.089790f, 0.088355f, -0.001553f, -0.013238f, 0.018069f, -0.087982f, -0.005996f, -0.022040f, 0.016520f, 0.025610f, 0.120617f, 0.089675f, -0.010035f, -0.001301f, -0.002801f, 0.023482f, 0.036502f, 0.021913f, 0.016679f, -0.003593f, -0.014515f, -0.085652f, 0.016185f, -0.001992f, -0.033269f, -0.015177f, 0.055859f, -0.008090f, -0.010130f, 0.026387f, -0.002206f, 0.028963f, -0.011316f, 0.014410f, - -0.001580f, -0.006380f, 0.020694f, 0.024936f, -0.011455f, 0.003256f, 0.011229f, -0.005012f, 0.005323f, 0.001001f, -0.000256f, 0.016910f, -0.007256f, -0.009074f, 0.014308f, -0.016975f, 0.022118f, -0.000451f, 0.011991f, 0.018045f, -0.009171f, 0.004217f, 0.016067f, -0.004192f, -0.010465f, -0.004246f, 0.001859f, -0.003271f, 0.004442f, -0.022081f, -0.001318f, -0.017573f, 0.018160f, 0.002313f, 0.012249f, 0.008248f, -0.002528f, 0.000144f, -0.001123f, 0.007860f, 0.011338f, 0.008836f, -0.001358f, -0.010966f, -0.001559f, -0.022988f, 0.109432f, -0.104860f, 0.017721f, -0.020362f, 0.003849f, 0.044079f, -0.032520f, 0.010868f, 0.001470f, -0.113433f, 0.002594f, -0.012902f, 0.005283f, 0.012893f, -0.050806f, -0.019058f, -0.083967f, -0.021782f, -0.004311f, 0.004384f, -0.031927f, -0.024024f, -0.036710f, -0.015404f, 0.035960f, 0.007692f, 0.072865f, 0.017702f, -0.024964f, -0.026134f, 0.044675f, -0.050169f, 0.085742f, -0.067394f, 0.019316f, -0.054414f, 0.000861f, 0.051524f, -0.094234f, 0.088323f, 0.015372f, 0.010022f, -0.064799f, -0.013116f, -0.012511f, -0.000213f, 0.030696f, 0.030690f, 0.038705f, -0.074730f, - -0.002161f, -0.029524f, -0.025668f, -0.028913f, -0.040453f, -0.028018f, 0.001116f, 0.042438f, -0.045871f, 0.012032f, -0.084214f, -0.028327f, 0.020922f, 0.024739f, 0.004234f, -0.095729f, -0.051972f, -0.034282f, -0.048952f, -0.040551f, 0.003068f, -0.032010f, 0.050481f, 0.014972f, 0.025133f, -0.017903f, -0.026656f, 0.084856f, -0.028885f, 0.022594f, -0.017450f, 0.006330f, 0.063615f, 0.008262f, 0.011207f, -0.036125f, 0.035995f, 0.020795f, -0.015376f, 0.033429f, -0.025691f, 0.008983f, -0.009763f, 0.022516f, 0.004211f, -0.007966f, 0.012024f, 0.028753f, -0.010330f, 0.008960f, 0.009965f, 0.008352f, -0.003847f, 0.007469f, -0.004557f, 0.019591f, -0.007027f, 0.002936f, 0.018480f, -0.004320f, -0.007788f, 0.005415f, 0.007744f, -0.013435f, -0.003325f, -0.036579f, 0.022200f, 0.015008f, -0.000330f, -0.020515f, -0.008682f, 0.001311f, 0.007075f, 0.027070f, -0.005025f, -0.008061f, 0.009083f, 0.006547f, -0.004686f, 0.027328f, 0.004717f, -0.034588f, 0.008303f, 0.033017f, -0.004396f, 0.047069f, -0.088952f, 0.135338f, -0.102066f, -0.010861f, -0.061624f, 0.012002f, 0.001223f, -0.037319f, -0.052723f, 0.061424f, - 0.041263f, 0.019196f, -0.026961f, 0.027019f, 0.008332f, 0.057978f, -0.046097f, -0.030551f, 0.036028f, 0.060270f, -0.077195f, 0.030964f, -0.002869f, 0.036467f, -0.027905f, 0.010525f, -0.034284f, 0.006822f, -0.064131f, 0.020781f, 0.068539f, -0.002524f, -0.005389f, 0.085075f, 0.014748f, -0.039587f, -0.083450f, 0.071020f, -0.037782f, 0.031887f, -0.030701f, 0.084939f, 0.037485f, -0.009641f, 0.008653f, -0.049595f, 0.006483f, 0.020931f, -0.023926f, 0.023514f, -0.103209f, 0.040168f, 0.093419f, 0.072828f, -0.040570f, -0.042295f, -0.042303f, 0.047030f, 0.003738f, -0.015303f, 0.003744f, 0.120472f, -0.059009f, -0.027812f, 0.046690f, -0.040531f, -0.109120f, 0.046017f, 0.024314f, -0.078240f, 0.043666f, 0.075177f, 0.066537f, -0.020659f, -0.029837f, -0.053470f, 0.028451f, -0.033120f, -0.021063f, 0.048117f, 0.032922f, 0.014662f, 0.042449f, 0.023669f, -0.016500f, -0.015636f, -0.054898f, 0.012491f, -0.023092f, 0.018693f, -0.020377f, 0.038812f, 0.026972f, 0.005661f, -0.007395f, 0.036883f, -0.020389f, -0.003204f, 0.004755f, 0.013960f, 0.008575f, 0.016861f, 0.015723f, 0.000958f, -0.009031f, -0.005673f, - 0.013193f, 0.006652f, 0.005275f, 0.001488f, 0.020798f, 0.067054f, -0.002085f, -0.005667f, 0.010023f, -0.023763f, 0.008252f, 0.023910f, -0.034788f, 0.014933f, 0.017913f, -0.013658f, -0.009794f, 0.015481f, 0.008860f, -0.020414f, -0.087355f, 0.046698f, -0.005087f, 0.012198f, -0.031996f, 0.027989f, 0.000620f, 0.015360f, 0.004683f, 0.005103f, -0.018176f, 0.013937f, 0.047328f, -0.060360f, 0.051931f, -0.008851f, -0.031846f, 0.010683f, -0.021653f, 0.014060f, -0.022184f, -0.018250f, 0.015384f, -0.048149f, -0.004916f, 0.064147f, -0.092587f, 0.026129f, 0.004441f, -0.015495f, -0.028443f, -0.033672f, -0.021876f, 0.067303f, -0.055402f, -0.007939f, 0.021778f, -0.056313f, 0.014314f, 0.030909f, 0.020698f, 0.010584f, 0.009766f, -0.031768f, 0.025038f, -0.082843f, 0.001188f, 0.072529f, -0.030301f, -0.008151f, -0.016246f, -0.020462f, -0.000550f, -0.058638f, 0.031109f, 0.023564f, -0.048453f, 0.045490f, 0.012704f, -0.055272f, 0.022770f, -0.010734f, 0.040129f, 0.034947f, -0.051370f, 0.017953f, 0.057147f, -0.053793f, 0.030144f, -0.038307f, 0.030210f, 0.034931f, -0.054571f, 0.030758f, -0.003893f, -0.028952f, - 0.041728f, 0.002188f, -0.065638f, 0.020185f, 0.029287f, 0.008815f, -0.018204f, 0.003177f, 0.049876f, -0.023041f, -0.046487f, 0.049550f, -0.002008f, 0.003745f, -0.002061f, -0.006265f, 0.030596f, -0.022776f, -0.010795f, 0.021550f, 0.008383f, -0.005340f, -0.022187f, 0.032872f, -0.012366f, -0.021608f, 0.001939f, 0.017272f, -0.010176f, -0.008040f, -0.004985f, 0.025657f, -0.019890f, -0.010440f, 0.002032f, 0.013898f, -0.012179f, 0.009946f, -0.000288f, 0.025424f, -0.015931f, 0.003966f, 0.002356f, 0.002431f, 0.022584f, 0.042331f, -0.018146f, -0.200754f, -0.439449f, -0.174350f, -0.292154f, -0.397812f, 0.150044f, 0.053210f, 0.129529f, 0.591163f, 0.492418f, 0.324493f, 0.507599f, 0.344816f, 0.040809f, 0.085462f, 0.061784f, -0.271376f, -0.175212f, -0.120858f, -0.310388f, -0.316814f, -0.088063f, -0.088990f, -0.197105f, -0.059206f, -0.042892f, -0.237326f, -0.204135f, -0.066779f, -0.112591f, -0.224195f, -0.055195f, -0.038203f, -0.175765f, -0.020993f, 0.121196f, -0.053571f, -0.043352f, 0.179185f, 0.109703f, -0.074134f, 0.158707f, 0.262176f, 0.028673f, 0.147165f, 0.321962f, 0.157086f, 0.080856f, 0.347345f, - 0.253800f, 0.188584f, 0.421923f, 0.571023f, 0.451561f, 0.524531f, 0.679936f, 0.443795f, 0.290278f, 0.380919f, 0.245207f, -0.069125f, -0.017477f, -0.169917f, -0.420215f, -0.593843f, -0.638789f, -0.854841f, -0.972349f, -1.032287f, -0.998641f, -0.959743f, -0.954220f, -0.797126f, -0.610280f, -0.572733f, -0.374029f, 0.029195f, 0.157704f, 0.204749f, 0.621712f, 0.610123f, 0.420615f, 0.619913f, 0.568121f, 0.307968f, 0.299266f, 0.395139f, 0.238773f, 0.112048f, 0.276193f, 0.281807f, 0.126256f, 0.227581f, 0.343869f, 0.227805f, 0.135343f, 0.292481f, 0.242140f, 0.048157f, 0.148094f, 0.214930f, 0.023466f, 0.040260f, 0.235332f, 0.143718f, 0.077084f, 0.249581f, 0.247388f, 0.089970f, 0.197006f, 0.170045f, -0.045004f, -0.124127f, -0.128665f, -0.295443f, -0.399886f, -0.394816f, -0.455679f, -0.502212f, -0.520811f, -0.509820f, -0.523007f, -0.581491f, -0.601585f, -0.575513f, -0.641987f, -0.549727f, -0.374703f, -0.286653f, -0.098090f, 0.165130f, 0.346344f, 0.507586f, 0.655448f, 0.666595f, 0.570826f, 0.518631f, 0.426143f, 0.322839f, 0.260449f, 0.219412f, 0.177545f, 0.139301f, 0.126527f, 0.117637f, - 0.087651f, 0.074576f, 0.066816f, 0.036630f, 0.001759f, -0.018027f, -0.049105f, -0.082996f, -0.104521f, -0.109999f, -0.120887f, -0.116783f, -0.095938f, -0.072418f, -0.053507f, -0.029930f, -0.015011f, -0.003327f, 0.010826f, 0.020482f, 0.020041f, 0.021091f, 0.013651f, 0.001534f, -0.004894f, -0.010768f, -0.022531f, -0.027531f, -0.030317f, -0.038503f, -0.039836f, -0.035311f, -0.042144f, -0.046870f, -0.041780f, -0.045381f, -0.052037f, -0.048520f, -0.057960f, -0.069327f, -0.065817f, -0.066081f, -0.070087f, -0.061295f, -0.052855f, -0.046691f, -0.033070f, -0.015934f, -0.006258f, 0.004827f, 0.020511f, 0.033794f, 0.045581f, 0.058572f, 0.068961f, 0.073316f, 0.078386f, 0.084033f, 0.086441f, 0.088297f, 0.090468f, 0.087365f, 0.080754f, 0.071791f, 0.060073f, 0.046473f, 0.029254f, 0.012017f, -0.004083f, -0.020560f, -0.031439f, -0.036136f, -0.037839f, -0.037081f, -0.032674f, -0.029042f, -0.027257f, -0.024233f, -0.021536f, -0.020404f, -0.018828f, -0.016763f, -0.015244f, -0.014030f, -0.012304f, -0.010521f, -0.009087f, -0.007645f, -0.006164f, -0.004997f, -0.004249f, -0.003704f, -0.003293f} - }, - { - {-0.007426f, 0.004516f, 0.007236f, -0.002557f, 0.006430f, -0.001050f, 0.006787f, 0.003412f, -0.001497f, -0.002664f, 0.006875f, 0.000577f, 0.001368f, -0.007824f, -0.001257f, -0.000567f, -0.000353f, 0.010687f, 0.005220f, -0.000394f, -0.008025f, -0.005837f, -0.003454f, 0.000975f, -0.000187f, 0.002312f, 0.004912f, 0.001493f, 0.001810f, -0.008099f, -0.001249f, -0.007883f, 0.000314f, -0.004361f, 0.005157f, 0.005148f, -0.002057f, -0.004255f, 0.005392f, 0.001152f, -0.002026f, -0.007288f, -0.000991f, -0.004675f, 0.001306f, 0.004452f, -0.007392f, -0.003610f, -0.001237f, -0.002894f, 0.018863f, 0.004492f, 0.010889f, 0.000791f, 0.003572f, -0.000084f, -0.005452f, -0.005059f, -0.006436f, 0.003039f, -0.005310f, 0.003818f, 0.000119f, 0.004662f, 0.004770f, 0.011582f, 0.003495f, -0.000962f, -0.000587f, -0.006881f, 0.011219f, 0.010321f, 0.001806f, 0.003182f, 0.002924f, 0.003194f, -0.000653f, -0.005760f, 0.001716f, 0.003331f, -0.002163f, 0.000964f, -0.001772f, -0.005263f, 0.002506f, -0.004390f, -0.002981f, -0.001367f, 0.000351f, -0.001964f, -0.002131f, -0.002501f, -0.000054f, -0.000137f, -0.000393f, 0.000507f, - -0.000878f, 0.001677f, -0.000932f, -0.001563f, -0.000151f, 0.002104f, 0.000792f, -0.000859f, -0.002823f, -0.000830f, 0.002615f, 0.000179f, 0.001181f, 0.001038f, 0.000735f, 0.026110f, -0.006126f, -0.005412f, -0.002076f, -0.005121f, 0.001237f, -0.012352f, 0.001007f, 0.002510f, 0.000670f, 0.008465f, 0.001004f, -0.001697f, -0.007403f, 0.004809f, -0.010452f, -0.009002f, 0.003305f, -0.004367f, -0.002071f, -0.001520f, 0.001788f, 0.007116f, 0.009716f, 0.000773f, -0.001463f, 0.011549f, 0.004186f, -0.000623f, 0.000457f, -0.004656f, 0.000183f, 0.012674f, 0.000043f, -0.005822f, -0.004709f, -0.001316f, 0.004322f, -0.005796f, -0.007166f, -0.007309f, -0.005983f, 0.005812f, -0.005626f, 0.002205f, -0.006844f, 0.002472f, 0.008368f, 0.000595f, 0.005957f, -0.002466f, -0.004661f, -0.002273f, 0.004144f, -0.000198f, 0.006393f, 0.009349f, 0.001399f, -0.002760f, -0.004773f, -0.000188f, -0.000675f, 0.000480f, 0.000332f, -0.008142f, -0.000830f, -0.003776f, -0.004134f, 0.004028f, 0.000878f, 0.002605f, 0.003054f, -0.009696f, -0.005401f, 0.004100f, -0.001789f, 0.007266f, 0.001346f, 0.006131f, -0.001205f, -0.001489f, - -0.001641f, -0.003472f, -0.000791f, -0.003829f, -0.001527f, 0.000173f, 0.005722f, -0.001309f, -0.000090f, -0.000921f, 0.001839f, 0.000014f, 0.002230f, 0.000503f, -0.000441f, -0.001368f, 0.001804f, -0.002724f, 0.000052f, 0.000214f, -0.001547f, 0.001378f, 0.001712f, -0.002287f, 0.000830f, -0.001092f, 0.001056f, 0.001059f, 0.000034f, 0.001749f, 0.000221f, -0.000795f, -0.018343f, -0.008927f, -0.003765f, -0.012463f, -0.004168f, -0.011954f, 0.003820f, -0.000839f, -0.007360f, -0.008523f, -0.001073f, -0.006921f, 0.000056f, 0.006176f, -0.000219f, -0.010649f, -0.003811f, 0.000391f, -0.004029f, -0.003296f, 0.003375f, 0.010482f, 0.013365f, -0.001887f, -0.003283f, 0.007611f, 0.008617f, -0.002385f, -0.001721f, -0.001441f, -0.005701f, 0.002036f, 0.002961f, -0.005109f, -0.003775f, -0.001012f, 0.005293f, 0.011448f, 0.000959f, -0.003548f, 0.000231f, -0.005425f, -0.001860f, -0.008761f, -0.004007f, -0.003759f, -0.013997f, -0.001281f, -0.006231f, -0.004250f, -0.015389f, 0.009924f, -0.006573f, -0.005796f, 0.003001f, -0.000740f, -0.000901f, 0.002277f, -0.012749f, -0.003138f, -0.004426f, -0.000795f, -0.007267f, -0.000790f, - -0.003305f, 0.003673f, 0.004728f, -0.003989f, -0.002031f, -0.005966f, 0.002422f, -0.000691f, -0.001044f, 0.000256f, -0.009382f, 0.000011f, -0.008458f, 0.001572f, -0.000365f, -0.002495f, 0.002786f, 0.010796f, 0.005255f, -0.002241f, 0.000798f, -0.001603f, -0.003880f, 0.000651f, 0.001860f, -0.001819f, -0.000070f, -0.002311f, 0.000295f, -0.000807f, -0.002955f, 0.001528f, 0.001454f, -0.003105f, -0.001342f, 0.001160f, -0.001181f, 0.000707f, -0.001960f, -0.001456f, -0.001550f, -0.002883f, -0.003166f, -0.000011f, 0.001093f, -0.001481f, -0.001821f, 0.000249f, -0.000740f, -0.000180f, -0.000878f, 0.000230f, -0.000399f, -0.000891f, -0.002573f, 0.001755f, -0.000759f, -0.001096f, -0.001132f, -0.002123f, -0.000144f, 0.000502f, -0.001737f, 0.000330f, 0.000360f, 0.000342f, -0.001370f, 0.000641f, -0.034542f, -0.002821f, -0.017081f, 0.015146f, -0.008947f, 0.027345f, -0.017668f, 0.017206f, -0.015674f, -0.001024f, -0.000344f, -0.012079f, 0.009216f, 0.000260f, -0.004585f, 0.002731f, -0.004030f, -0.001648f, -0.011803f, -0.000182f, -0.008937f, 0.006913f, 0.002318f, 0.008481f, -0.005138f, 0.012688f, 0.011350f, -0.011202f, - 0.003007f, -0.009531f, 0.009953f, 0.000039f, -0.007179f, 0.000539f, -0.001127f, -0.000413f, 0.007263f, 0.001040f, -0.011137f, 0.004496f, 0.007775f, -0.000563f, 0.009204f, -0.004384f, 0.007476f, -0.011438f, -0.005951f, 0.007450f, -0.006710f, 0.001865f, 0.009911f, -0.009185f, 0.014715f, 0.005860f, -0.014847f, 0.003552f, -0.014312f, 0.005074f, 0.007724f, 0.005320f, 0.007428f, 0.010917f, 0.003516f, -0.001351f, -0.001056f, 0.000720f, 0.003283f, 0.007853f, -0.002894f, 0.014842f, 0.002695f, 0.010174f, 0.005336f, 0.002963f, 0.000540f, 0.010215f, 0.001649f, 0.002548f, -0.006041f, -0.007942f, 0.003865f, 0.005528f, 0.000402f, 0.008798f, -0.001239f, -0.000041f, -0.001825f, 0.010448f, 0.002944f, -0.003687f, 0.002155f, 0.001817f, 0.001291f, 0.003593f, 0.000332f, 0.006529f, -0.001232f, 0.002283f, 0.001007f, 0.002533f, -0.001863f, 0.001294f, 0.000387f, 0.000207f, 0.000347f, -0.002144f, -0.002223f, 0.000890f, -0.002686f, -0.001017f, -0.002896f, 0.001772f, -0.000283f, -0.000791f, -0.001107f, 0.022863f, 0.000240f, -0.006077f, -0.001965f, -0.008368f, -0.010021f, 0.016730f, -0.003116f, -0.002300f, - 0.015354f, -0.001061f, -0.002838f, 0.006864f, 0.011970f, 0.003508f, 0.005998f, -0.000180f, -0.012844f, -0.003307f, 0.009837f, -0.014634f, -0.014514f, -0.005355f, 0.003306f, -0.010281f, -0.006152f, 0.000334f, -0.001357f, 0.010353f, -0.003842f, -0.002115f, 0.010883f, 0.015127f, -0.012898f, 0.003527f, -0.003000f, 0.005602f, 0.001594f, -0.005638f, -0.001159f, 0.006369f, 0.009661f, -0.002437f, -0.013403f, -0.002906f, -0.001096f, -0.003430f, -0.006643f, 0.001113f, -0.000765f, 0.002594f, -0.001769f, 0.002012f, 0.012704f, -0.009193f, 0.001296f, -0.006969f, -0.005673f, -0.009629f, -0.002860f, -0.005505f, -0.013417f, -0.000345f, 0.001007f, -0.005116f, -0.000956f, -0.005423f, 0.005287f, 0.006702f, -0.000956f, 0.002095f, -0.004788f, -0.001207f, 0.016374f, -0.002014f, -0.006690f, -0.021989f, -0.010011f, -0.000148f, -0.007498f, 0.005252f, -0.002084f, 0.002049f, 0.000034f, -0.004304f, -0.000783f, 0.006591f, -0.005391f, 0.001412f, -0.001484f, 0.000773f, 0.000062f, -0.004488f, -0.003386f, -0.001804f, -0.003534f, -0.000567f, -0.005624f, -0.001032f, -0.003175f, 0.000777f, -0.002207f, -0.000582f, -0.003023f, -0.003138f, - -0.003208f, -0.000678f, -0.000322f, 0.001314f, 0.000853f, -0.000289f, 0.000939f, 0.000909f, -0.000163f, 0.003320f, 0.002752f, 0.000116f, 0.001631f, -0.001146f, -0.001718f, 0.000551f, 0.029234f, 0.032885f, 0.006051f, -0.012306f, 0.007293f, 0.012817f, 0.012849f, 0.007149f, 0.009642f, 0.004189f, 0.015950f, -0.001884f, -0.002242f, -0.006848f, 0.009915f, -0.006200f, -0.014526f, -0.019895f, 0.002007f, -0.009661f, -0.008372f, 0.006726f, -0.002323f, -0.005457f, 0.016296f, -0.001412f, 0.020307f, -0.000004f, -0.008379f, -0.005777f, 0.006963f, 0.004574f, -0.004302f, -0.016494f, 0.023228f, 0.013362f, -0.000114f, 0.012518f, 0.007352f, 0.008069f, -0.007948f, 0.009139f, 0.004521f, 0.001677f, -0.003084f, -0.004391f, -0.010601f, -0.014806f, 0.003886f, 0.006879f, -0.011628f, 0.004380f, 0.009592f, 0.014481f, 0.003643f, 0.013066f, 0.005913f, 0.011107f, -0.016829f, 0.004752f, 0.001293f, 0.003158f, 0.000185f, -0.001307f, 0.006814f, 0.006234f, 0.005993f, 0.008883f, -0.003220f, 0.004232f, 0.002370f, 0.012856f, 0.015715f, -0.008221f, -0.009675f, 0.001274f, -0.004081f, -0.008626f, 0.003325f, 0.008678f, - -0.005681f, 0.003594f, -0.016177f, -0.011857f, 0.002472f, -0.008225f, -0.004034f, -0.002751f, -0.007477f, -0.000108f, -0.000328f, 0.000790f, -0.000404f, 0.003041f, 0.003526f, -0.000375f, 0.001668f, 0.000533f, 0.002612f, 0.002904f, -0.000191f, 0.000112f, -0.000424f, 0.003191f, 0.001440f, 0.001717f, 0.003849f, -0.000810f, -0.002315f, 0.002975f, -0.001117f, -0.000107f, 0.004452f, 0.002798f, 0.004201f, 0.005980f, 0.000711f, 0.002637f, 0.001399f, 0.003938f, 0.000833f, 0.001623f, 0.001967f, 0.027011f, 0.008492f, 0.011895f, -0.009976f, 0.003867f, -0.024585f, 0.001265f, -0.017782f, 0.013365f, 0.008955f, -0.007511f, 0.011221f, 0.006373f, -0.012068f, -0.003020f, 0.017270f, -0.000607f, 0.011868f, -0.003309f, 0.002326f, 0.013798f, -0.017279f, -0.001359f, 0.002742f, 0.005026f, 0.001075f, 0.005535f, 0.000648f, 0.016751f, -0.007855f, -0.004846f, -0.005148f, 0.012664f, 0.001532f, -0.005979f, 0.007622f, 0.021375f, -0.015020f, 0.002628f, 0.002796f, -0.001313f, 0.008551f, -0.004338f, 0.016257f, 0.005484f, 0.004050f, -0.013409f, -0.001416f, -0.003560f, 0.007490f, 0.005693f, 0.008096f, -0.009209f, - -0.006099f, 0.007783f, -0.016141f, -0.008992f, 0.003552f, 0.017261f, 0.010373f, 0.015266f, -0.016739f, -0.005271f, -0.017011f, -0.004382f, 0.005039f, -0.001442f, -0.016058f, 0.002097f, -0.009878f, -0.000137f, -0.017566f, -0.021168f, -0.008743f, -0.015278f, 0.000778f, 0.005408f, 0.002945f, -0.006531f, 0.008347f, 0.013577f, 0.003708f, 0.004013f, 0.007705f, -0.002446f, -0.013115f, -0.000785f, -0.009055f, 0.004693f, 0.001386f, -0.000868f, 0.002320f, 0.001226f, -0.009640f, -0.004864f, -0.002818f, 0.004794f, 0.000584f, -0.003333f, -0.001254f, -0.000279f, -0.001503f, 0.000802f, -0.002051f, -0.000873f, 0.000561f, 0.004370f, 0.000995f, 0.001429f, 0.000874f, -0.000834f, 0.001174f, 0.002926f, 0.001389f, 0.003803f, 0.001019f, 0.001978f, 0.000111f, 0.003017f, -0.004784f, 0.002983f, -0.031629f, -0.028495f, -0.020421f, 0.006583f, 0.006664f, 0.024158f, -0.010289f, 0.022956f, -0.009005f, -0.037175f, -0.003072f, -0.003222f, -0.014225f, -0.023963f, -0.008587f, -0.000274f, -0.014675f, 0.000126f, -0.022717f, 0.001933f, -0.023963f, 0.014120f, -0.005844f, 0.010354f, -0.004500f, -0.000182f, -0.007278f, -0.008495f, - 0.015205f, 0.003178f, -0.004111f, 0.017209f, 0.002144f, 0.002972f, 0.006069f, 0.015854f, 0.013956f, 0.010696f, 0.000503f, -0.018246f, -0.001692f, 0.009115f, 0.002928f, 0.011563f, -0.005199f, 0.005281f, -0.026909f, 0.008812f, 0.016597f, -0.020326f, 0.012325f, 0.004457f, 0.019588f, 0.015037f, 0.000175f, -0.004893f, -0.000271f, 0.013363f, 0.006683f, -0.017106f, -0.013896f, -0.023739f, -0.011403f, -0.015868f, -0.003457f, -0.019685f, -0.004053f, -0.006470f, 0.020452f, -0.009259f, 0.010198f, -0.005059f, -0.002785f, -0.006413f, -0.013837f, -0.007301f, -0.004328f, -0.004477f, 0.012938f, -0.038163f, -0.008002f, 0.018123f, 0.000993f, 0.003626f, 0.009770f, 0.018348f, -0.011233f, 0.002351f, 0.004989f, -0.000667f, -0.000011f, -0.002484f, 0.005134f, 0.007691f, -0.003125f, 0.000786f, -0.000575f, 0.008571f, -0.002956f, -0.000079f, 0.008614f, 0.001901f, 0.003135f, 0.004084f, 0.004128f, -0.001222f, 0.000867f, -0.002094f, -0.003129f, -0.001694f, -0.005666f, 0.001853f, 0.003975f, 0.002808f, 0.001688f, -0.007406f, 0.000188f, -0.000835f, -0.000197f, -0.003379f, 0.002265f, 0.003566f, -0.001672f, -0.000193f, - 0.004174f, 0.004440f, -0.004469f, -0.042560f, 0.031860f, -0.009558f, 0.018654f, 0.010654f, -0.001225f, -0.028316f, 0.021497f, 0.002518f, -0.002377f, 0.013386f, 0.009382f, -0.011983f, -0.000644f, 0.023151f, 0.007394f, -0.011168f, 0.016326f, -0.009680f, -0.007833f, -0.005569f, 0.004935f, -0.000395f, -0.003512f, 0.001763f, 0.006747f, 0.005915f, 0.006169f, -0.017927f, 0.010309f, -0.014987f, 0.019230f, -0.012771f, 0.019138f, 0.005764f, 0.001423f, -0.019753f, -0.019967f, -0.007021f, -0.006950f, 0.022234f, 0.005998f, 0.017667f, 0.007200f, -0.016847f, 0.000178f, -0.004277f, 0.007372f, -0.000130f, 0.006439f, -0.002617f, -0.011399f, -0.007002f, 0.011125f, 0.028286f, 0.020381f, 0.001740f, 0.006714f, -0.002704f, -0.004491f, 0.014201f, 0.011989f, -0.005934f, 0.017851f, 0.025177f, 0.035635f, 0.000137f, -0.021118f, -0.025553f, 0.008252f, 0.003876f, -0.001478f, 0.005620f, -0.000305f, -0.008633f, -0.001357f, 0.021145f, -0.004396f, -0.010181f, 0.038398f, 0.009148f, -0.006988f, 0.010758f, -0.000150f, -0.001065f, -0.001637f, -0.006816f, -0.001282f, 0.011146f, 0.005453f, -0.004451f, -0.006086f, 0.007617f, - 0.006307f, -0.001208f, 0.015371f, 0.003900f, 0.002583f, 0.001056f, 0.006691f, 0.002069f, 0.006247f, 0.003921f, 0.001941f, 0.000675f, 0.007975f, 0.003987f, 0.004081f, 0.000591f, 0.007918f, -0.001696f, 0.002885f, 0.004307f, 0.003078f, -0.001281f, 0.008895f, 0.009974f, 0.002927f, -0.002307f, 0.010710f, 0.000280f, -0.005412f, -0.001450f, 0.007751f, -0.000120f, -0.000955f, -0.002246f, -0.001728f, -0.000127f, 0.001838f, 0.004694f, 0.007187f, 0.002079f, 0.007603f, -0.002285f, 0.019542f, -0.028581f, 0.024062f, 0.009891f, -0.019502f, 0.045695f, 0.006894f, -0.023334f, 0.005437f, 0.012723f, 0.001256f, 0.009188f, 0.032838f, -0.031372f, 0.020522f, -0.012691f, 0.018214f, -0.006927f, 0.003939f, -0.029063f, 0.005008f, -0.003161f, 0.011754f, -0.011146f, 0.001705f, 0.002223f, 0.000389f, -0.017067f, 0.016459f, 0.001715f, -0.001680f, 0.007705f, -0.003169f, 0.007590f, -0.003959f, 0.023066f, 0.018316f, 0.022831f, 0.022836f, -0.003687f, 0.008055f, 0.009836f, 0.001127f, -0.011951f, 0.016195f, -0.019068f, 0.006012f, 0.018887f, -0.011108f, 0.010002f, -0.020980f, 0.006736f, -0.001703f, -0.005035f, - -0.001683f, 0.001609f, 0.006670f, 0.006272f, 0.022392f, -0.014601f, -0.000559f, 0.014713f, 0.031849f, -0.028106f, 0.007360f, -0.006914f, 0.009796f, -0.005178f, 0.046453f, -0.028504f, 0.010336f, -0.015890f, -0.008634f, 0.004124f, 0.005019f, 0.002551f, -0.040300f, -0.021351f, 0.033629f, 0.018322f, -0.003492f, -0.018095f, -0.020744f, -0.008304f, 0.007667f, -0.022520f, -0.012095f, 0.011079f, 0.006400f, -0.000461f, -0.000442f, -0.015761f, 0.003150f, -0.004586f, -0.005734f, 0.007214f, -0.003666f, -0.004861f, -0.001644f, -0.013788f, 0.004890f, -0.003571f, -0.004470f, -0.005014f, 0.006488f, -0.006650f, 0.007861f, -0.001196f, -0.001756f, 0.002624f, 0.002915f, 0.009902f, -0.009994f, -0.002170f, -0.007557f, -0.001652f, 0.005151f, 0.003759f, 0.013187f, -0.004251f, 0.007360f, 0.001613f, -0.004568f, -0.003111f, -0.001105f, 0.004916f, -0.000593f, 0.002521f, 0.021446f, -0.028081f, -0.005914f, 0.039846f, -0.011889f, -0.000742f, 0.021376f, 0.005060f, 0.013214f, -0.029643f, 0.028550f, 0.001908f, 0.002188f, -0.007487f, -0.017806f, -0.002409f, -0.002705f, -0.019085f, -0.011486f, 0.021269f, -0.006685f, 0.004124f, - -0.010356f, -0.046608f, 0.015859f, 0.002169f, -0.014350f, 0.008958f, 0.018135f, -0.001647f, 0.002061f, -0.003604f, 0.004609f, 0.012293f, 0.003963f, 0.019724f, 0.013542f, 0.003124f, 0.017270f, -0.013820f, -0.013589f, -0.019402f, 0.007410f, 0.011279f, 0.003334f, -0.030802f, 0.008810f, -0.026314f, 0.038246f, -0.009016f, 0.013634f, 0.032612f, -0.012776f, 0.020734f, 0.005230f, 0.022570f, 0.009138f, -0.010840f, -0.033377f, -0.023969f, -0.018646f, -0.002544f, -0.019576f, -0.003889f, -0.017106f, -0.011112f, 0.033694f, 0.007323f, -0.014281f, -0.012699f, 0.006844f, 0.012526f, -0.002865f, 0.004911f, -0.061098f, 0.024648f, 0.004223f, -0.019588f, -0.024058f, -0.006260f, -0.040336f, 0.004391f, 0.020131f, 0.002249f, -0.017303f, 0.010753f, 0.009090f, -0.014234f, 0.007191f, 0.004275f, -0.003509f, 0.000503f, -0.009086f, 0.002431f, 0.003222f, 0.002393f, -0.011858f, -0.006491f, 0.004938f, -0.007434f, 0.001765f, -0.004481f, -0.002834f, 0.002893f, 0.010078f, -0.012702f, 0.004478f, 0.009913f, -0.011807f, -0.011140f, 0.001513f, -0.010224f, 0.002397f, -0.006785f, 0.007107f, 0.003840f, -0.011831f, 0.006666f, - -0.007760f, -0.005040f, 0.008225f, 0.001907f, 0.018465f, 0.005715f, 0.000000f, -0.001151f, 0.001472f, -0.004829f, 0.002070f, 0.013675f, -0.037469f, -0.046020f, 0.028291f, -0.022451f, -0.026167f, -0.007271f, 0.017880f, 0.036470f, -0.023494f, 0.002225f, 0.017545f, -0.004901f, -0.007180f, 0.009590f, 0.006379f, 0.027476f, 0.009430f, -0.025891f, -0.000665f, -0.013004f, -0.000570f, -0.015282f, -0.020160f, 0.003416f, 0.020841f, -0.001246f, 0.009484f, -0.016752f, 0.005328f, 0.020532f, 0.016057f, 0.002632f, 0.001943f, 0.012922f, 0.012366f, 0.007911f, 0.018894f, -0.023228f, 0.026072f, 0.018755f, 0.006676f, -0.019162f, 0.001768f, 0.015192f, -0.015000f, 0.017609f, -0.011840f, 0.019912f, -0.004908f, 0.025924f, -0.040039f, 0.043092f, 0.010388f, 0.040648f, 0.002945f, -0.008334f, -0.002488f, 0.014820f, 0.001294f, -0.033534f, 0.001655f, -0.002182f, -0.034686f, 0.011276f, 0.025213f, -0.033023f, 0.028019f, -0.029049f, 0.009443f, 0.011491f, 0.006396f, -0.036407f, -0.017347f, -0.017776f, 0.003850f, 0.002916f, -0.021064f, -0.031157f, 0.006442f, -0.027383f, 0.019121f, -0.013126f, -0.006914f, 0.009661f, - -0.016896f, -0.013087f, -0.017344f, -0.007081f, -0.009537f, 0.000729f, -0.013813f, -0.010340f, -0.012578f, -0.018865f, -0.008986f, -0.003800f, -0.004021f, -0.004638f, -0.005275f, -0.003518f, -0.008796f, -0.009754f, 0.006862f, -0.011711f, -0.006198f, -0.002869f, 0.009468f, -0.004302f, 0.000574f, -0.015010f, -0.010683f, -0.004775f, -0.000012f, -0.003272f, -0.012711f, -0.001617f, -0.000841f, 0.010735f, 0.007067f, -0.008365f, -0.007747f, 0.001911f, -0.004010f, 0.007971f, -0.004085f, 0.004361f, -0.007758f, -0.021850f, 0.032094f, 0.006151f, 0.020989f, 0.020315f, 0.005428f, -0.016416f, 0.003142f, 0.054426f, -0.038106f, 0.008653f, -0.007018f, -0.021026f, 0.000846f, 0.006934f, 0.008476f, -0.000697f, -0.000237f, -0.011246f, -0.016210f, -0.025102f, -0.012827f, 0.018182f, -0.015985f, -0.025226f, 0.013893f, -0.009333f, 0.005115f, -0.003736f, 0.010726f, -0.011009f, 0.022995f, -0.008883f, 0.002190f, -0.000997f, 0.002136f, 0.021032f, 0.006990f, -0.010458f, 0.011144f, -0.009614f, 0.017303f, -0.011080f, 0.006915f, -0.025702f, -0.018739f, -0.013997f, 0.004103f, -0.013093f, -0.022295f, 0.008767f, 0.016013f, 0.004284f, - -0.011988f, 0.007031f, 0.011235f, 0.012586f, 0.034975f, 0.048140f, 0.065827f, -0.007205f, 0.010271f, 0.015498f, 0.009083f, 0.008466f, 0.010369f, -0.013963f, 0.025978f, -0.004136f, 0.033997f, 0.041826f, 0.030760f, 0.012152f, 0.017216f, 0.005432f, 0.058880f, 0.016605f, -0.011046f, -0.009756f, -0.008621f, -0.003766f, -0.004017f, 0.002777f, -0.004926f, -0.011398f, 0.009685f, -0.017837f, 0.005006f, -0.004286f, 0.005299f, -0.009017f, -0.007138f, -0.005756f, 0.013226f, -0.013340f, -0.012726f, -0.001211f, 0.005361f, -0.006853f, -0.016277f, -0.005631f, 0.000776f, -0.007930f, 0.008460f, 0.016074f, -0.009447f, -0.001292f, 0.003340f, -0.001861f, 0.005367f, 0.009261f, -0.004532f, -0.011464f, -0.001960f, 0.005286f, -0.005581f, 0.014611f, 0.017546f, 0.010605f, -0.005104f, -0.012064f, -0.001602f, 0.017109f, 0.001950f, -0.000603f, 0.007698f, 0.002310f, -0.000154f, -0.003000f, 0.004318f, 0.004285f, -0.011651f, -0.008625f, -0.000449f, 0.066041f, 0.052878f, -0.023009f, -0.010566f, -0.027455f, 0.015865f, 0.007737f, 0.032359f, -0.005677f, -0.013978f, -0.006324f, -0.020926f, 0.004731f, 0.000832f, 0.030500f, - -0.011390f, 0.011372f, -0.041017f, 0.022615f, -0.003186f, 0.015914f, -0.000164f, 0.014418f, 0.002500f, -0.023373f, -0.012017f, -0.020055f, -0.015176f, 0.016870f, 0.040748f, 0.017714f, -0.004789f, -0.012639f, -0.000497f, -0.003443f, 0.010209f, 0.013729f, -0.025966f, -0.000541f, -0.009010f, -0.008738f, -0.028195f, -0.021857f, -0.045731f, 0.000809f, -0.002227f, 0.016471f, -0.013653f, 0.029321f, -0.022224f, -0.009862f, 0.058853f, 0.058156f, -0.040161f, 0.008945f, 0.033843f, -0.019635f, -0.009253f, 0.017310f, -0.006389f, -0.024654f, 0.065469f, -0.016329f, -0.099197f, 0.032984f, -0.001167f, -0.051251f, 0.039281f, 0.041751f, -0.014713f, 0.029211f, 0.037333f, -0.017653f, 0.001435f, 0.023533f, -0.025445f, 0.010638f, 0.020645f, -0.036684f, -0.004903f, -0.012146f, 0.002133f, -0.013474f, 0.000347f, 0.005060f, -0.015334f, 0.012406f, -0.017799f, -0.008341f, 0.008894f, 0.017619f, -0.010046f, 0.000936f, 0.003716f, -0.002737f, 0.006183f, -0.013004f, 0.019194f, -0.009745f, 0.020266f, 0.019387f, -0.000291f, 0.000932f, 0.013387f, -0.009736f, 0.003050f, -0.000593f, 0.016735f, -0.012462f, 0.010226f, 0.002984f, - -0.038541f, 0.007422f, -0.004625f, -0.007351f, 0.002314f, -0.001160f, 0.004368f, -0.021940f, 0.003215f, -0.005763f, -0.019080f, 0.003250f, 0.033385f, -0.031230f, 0.010502f, 0.018130f, -0.026356f, -0.000178f, 0.014991f, -0.023973f, -0.011532f, 0.005336f, 0.012281f, 0.022639f, 0.011354f, -0.017068f, -0.002626f, 0.016923f, -0.017993f, 0.019354f, -0.008650f, -0.023211f, 0.022120f, 0.011752f, 0.011320f, -0.005325f, -0.005403f, -0.007811f, -0.000574f, 0.018718f, -0.036771f, 0.019207f, -0.000204f, 0.031803f, -0.019094f, 0.000699f, -0.023883f, 0.011282f, -0.039231f, 0.005031f, 0.002342f, -0.015201f, -0.011429f, 0.007014f, -0.026233f, -0.045672f, 0.028619f, -0.001974f, 0.009000f, -0.026762f, 0.017353f, -0.003815f, 0.018605f, 0.019952f, 0.010160f, -0.018697f, 0.016531f, -0.008649f, -0.003671f, -0.035171f, 0.005716f, -0.024857f, -0.027372f, -0.040153f, -0.016173f, 0.007139f, 0.011863f, -0.041467f, -0.020240f, 0.002878f, -0.014512f, -0.055898f, -0.044261f, -0.045460f, -0.009003f, -0.026935f, 0.024953f, 0.034984f, 0.009969f, -0.033454f, -0.038961f, -0.045458f, -0.003776f, -0.002810f, 0.025661f, -0.021635f, - -0.037880f, -0.018283f, -0.025058f, 0.009296f, 0.000987f, 0.009686f, 0.005095f, -0.012090f, 0.003232f, 0.009956f, -0.009436f, -0.003621f, -0.007922f, -0.004735f, -0.005594f, -0.011735f, -0.000090f, 0.015759f, 0.000997f, 0.004987f, 0.004915f, -0.002101f, 0.011902f, -0.006893f, 0.018141f, 0.016387f, -0.005795f, -0.013706f, -0.000246f, -0.004937f, -0.007500f, -0.008426f, -0.007493f, 0.013277f, 0.001012f, 0.012537f, -0.012076f, -0.013064f, -0.002044f, 0.007149f, -0.021329f, 0.004274f, 0.002616f, -0.015405f, 0.003913f, -0.012586f, -0.028020f, 0.018064f, -0.006379f, 0.002714f, -0.004318f, 0.003520f, -0.014148f, -0.003253f, -0.001048f, -0.029713f, 0.049285f, 0.054843f, -0.014040f, 0.036739f, -0.011297f, -0.015384f, -0.015219f, 0.035738f, -0.032407f, -0.008004f, -0.015734f, 0.057092f, 0.001608f, 0.020432f, 0.007038f, -0.006125f, 0.028297f, 0.015436f, 0.023084f, 0.006736f, -0.004178f, -0.010825f, 0.022093f, -0.004474f, -0.022624f, 0.026931f, -0.001214f, 0.023490f, -0.027513f, 0.018150f, 0.006270f, -0.028262f, -0.021672f, 0.049517f, 0.032218f, -0.003825f, 0.017617f, 0.014313f, -0.032343f, -0.021703f, - 0.010190f, 0.007290f, 0.021972f, 0.002031f, 0.004544f, 0.007966f, 0.026916f, 0.010462f, 0.006658f, -0.027945f, 0.074823f, 0.049680f, 0.005478f, -0.034593f, 0.016507f, -0.012172f, 0.009065f, -0.008543f, 0.015815f, -0.011878f, 0.002267f, 0.040646f, -0.028992f, -0.014695f, -0.038866f, 0.009948f, -0.010753f, -0.007633f, 0.035069f, 0.010256f, 0.004254f, 0.002175f, -0.014785f, -0.029681f, 0.020619f, -0.000933f, 0.000200f, 0.021477f, 0.022007f, -0.002696f, -0.016548f, -0.019896f, 0.036318f, -0.004757f, -0.002336f, -0.008067f, 0.027267f, -0.003190f, -0.019392f, 0.011596f, 0.010013f, 0.016203f, 0.007648f, 0.005064f, 0.025207f, -0.006214f, -0.009455f, 0.007824f, -0.000814f, -0.000013f, 0.002057f, 0.010603f, -0.006727f, -0.001128f, -0.008524f, 0.001674f, 0.012057f, -0.006775f, 0.002741f, 0.014219f, -0.005562f, 0.002162f, 0.010997f, -0.000364f, -0.003165f, -0.024806f, 0.015242f, -0.014406f, 0.009954f, -0.016993f, -0.003579f, 0.005179f, -0.010080f, -0.005183f, 0.022423f, 0.015138f, 0.001840f, -0.004752f, 0.020970f, 0.002916f, 0.009982f, 0.008042f, 0.004672f, -0.005103f, 0.009007f, 0.003457f, - 0.008919f, -0.018425f, -0.039551f, 0.101616f, -0.114687f, -0.013517f, -0.060517f, 0.073628f, 0.019595f, 0.012768f, -0.029058f, 0.006661f, -0.023776f, 0.065953f, -0.011996f, -0.004495f, 0.006488f, -0.003519f, -0.026193f, 0.009669f, 0.014745f, 0.019803f, -0.044999f, -0.023680f, -0.023326f, 0.008966f, -0.013843f, -0.012232f, -0.001750f, -0.000607f, 0.029012f, -0.015318f, 0.001134f, 0.021981f, -0.003085f, -0.029654f, 0.003382f, 0.023157f, -0.003123f, -0.046633f, 0.034403f, 0.004025f, 0.000298f, -0.000216f, -0.019962f, 0.015189f, -0.086352f, -0.060177f, -0.008734f, -0.021627f, 0.003550f, 0.006462f, -0.040640f, 0.063219f, -0.025450f, 0.087138f, -0.012682f, -0.030644f, 0.029509f, 0.004905f, 0.026295f, 0.040315f, 0.012440f, -0.041576f, -0.011877f, 0.046572f, 0.107885f, 0.003534f, -0.028059f, 0.045066f, 0.003529f, 0.053168f, 0.008234f, 0.072000f, -0.018972f, -0.002924f, -0.002322f, 0.016796f, 0.002107f, 0.027656f, 0.050250f, 0.002984f, -0.011091f, -0.009049f, 0.015744f, -0.013759f, -0.006298f, 0.033041f, 0.023765f, 0.003627f, -0.006566f, -0.012467f, -0.014391f, -0.008564f, -0.011781f, 0.023830f, - -0.015142f, -0.010262f, 0.011397f, 0.004251f, -0.004935f, 0.010679f, 0.011735f, -0.006745f, 0.010005f, 0.016937f, -0.009175f, 0.001127f, -0.024401f, 0.030304f, -0.000568f, 0.024375f, 0.001196f, -0.025396f, -0.000266f, 0.002646f, 0.006246f, 0.002730f, -0.000443f, -0.021816f, -0.020663f, -0.001209f, -0.012211f, 0.016117f, 0.005448f, -0.007447f, -0.001202f, 0.012685f, 0.002135f, -0.007305f, 0.000257f, 0.009199f, -0.000365f, -0.004412f, -0.001399f, 0.004995f, 0.149667f, 0.046811f, 0.017024f, -0.004173f, -0.015495f, -0.020895f, 0.049215f, 0.045171f, -0.050932f, 0.031050f, 0.023700f, 0.005769f, -0.015015f, -0.026851f, -0.069653f, -0.025847f, 0.022965f, 0.007751f, -0.022048f, 0.042825f, -0.013243f, 0.017599f, 0.017490f, -0.009802f, -0.009405f, 0.044670f, 0.001682f, -0.016401f, 0.028138f, -0.023659f, 0.054797f, -0.026179f, -0.015652f, -0.002529f, 0.021680f, 0.011662f, 0.055411f, -0.016466f, -0.032337f, -0.011254f, 0.015017f, 0.004190f, 0.029917f, 0.008496f, 0.003078f, -0.011546f, 0.024200f, 0.103486f, 0.044304f, -0.037892f, 0.033555f, -0.019680f, -0.030810f, 0.025841f, -0.000662f, 0.007827f, - -0.001609f, 0.018731f, -0.026855f, -0.041130f, -0.109667f, -0.028579f, 0.039724f, -0.014146f, -0.037370f, 0.016926f, -0.008390f, 0.016860f, -0.043699f, -0.038256f, -0.017818f, 0.016994f, 0.017948f, 0.052939f, 0.009635f, -0.003301f, -0.040738f, -0.057795f, -0.006863f, -0.025768f, 0.005447f, 0.021381f, -0.027370f, -0.028118f, -0.005771f, -0.035079f, -0.058853f, -0.019293f, -0.015370f, -0.031260f, -0.007019f, 0.017991f, -0.016161f, -0.008317f, -0.018635f, -0.004022f, -0.041824f, -0.026470f, -0.026503f, 0.001176f, 0.004279f, 0.015673f, -0.023230f, 0.013700f, -0.031456f, 0.001751f, -0.018369f, -0.002008f, 0.010233f, -0.009407f, 0.015337f, -0.041417f, -0.007930f, 0.014680f, 0.006337f, 0.013531f, -0.004945f, -0.010995f, 0.020870f, -0.003635f, -0.003891f, 0.014737f, -0.020541f, -0.016186f, -0.002706f, 0.004372f, -0.027370f, -0.012771f, -0.014735f, -0.008025f, -0.001972f, 0.000065f, 0.002758f, -0.012096f, 0.001660f, -0.003428f, -0.024085f, 0.032339f, -0.027229f, 0.090330f, 0.075689f, 0.035103f, -0.021617f, -0.032721f, 0.053886f, 0.046150f, -0.062106f, -0.013097f, -0.038339f, 0.052113f, -0.009668f, -0.075462f, - -0.033339f, 0.026070f, 0.046086f, -0.087123f, 0.034009f, -0.060490f, 0.021480f, -0.035943f, -0.009871f, 0.041090f, -0.014744f, 0.005799f, 0.025889f, 0.054956f, -0.037033f, -0.061457f, 0.012930f, -0.005318f, 0.005919f, 0.056370f, 0.013615f, 0.041945f, -0.054512f, -0.010433f, 0.016540f, -0.048492f, 0.077707f, -0.009642f, 0.046273f, -0.007044f, -0.011746f, 0.038078f, 0.037813f, -0.022634f, 0.085649f, -0.020688f, -0.038327f, 0.041229f, 0.073485f, 0.003774f, 0.012711f, 0.003171f, 0.031998f, -0.035339f, 0.025521f, 0.112243f, 0.051080f, -0.003922f, 0.048467f, 0.060237f, -0.045653f, -0.138202f, 0.009702f, 0.082746f, 0.093208f, 0.025345f, -0.009792f, -0.040959f, 0.048040f, 0.103434f, 0.047715f, 0.024977f, -0.102402f, 0.018876f, -0.058318f, -0.036183f, -0.090364f, 0.075912f, 0.015883f, -0.026557f, -0.036366f, 0.026527f, -0.026471f, 0.014256f, 0.009545f, 0.013279f, -0.033901f, -0.007303f, -0.004794f, 0.017528f, -0.012103f, 0.014799f, 0.012458f, -0.015333f, -0.010429f, 0.020661f, 0.000281f, 0.022205f, -0.010129f, 0.008159f, -0.015282f, 0.007799f, 0.041626f, 0.007832f, 0.007334f, -0.005479f, - -0.045971f, -0.023080f, -0.028592f, 0.014902f, 0.075967f, 0.072037f, 0.064667f, -0.005169f, -0.047962f, -0.044957f, -0.021887f, 0.030244f, 0.033317f, -0.002553f, -0.016258f, -0.024309f, -0.035831f, 0.009324f, 0.019301f, 0.016453f, 0.015006f, 0.012110f, -0.000171f, 0.001234f, -0.006839f, 0.007028f, -0.009898f, 0.006784f, -0.002623f, -0.001455f, -0.000356f, 0.008819f, 0.002077f, 0.003799f, 0.000581f, 0.004180f, -0.007511f, 0.000820f, -0.003524f, -0.001132f, 0.063614f, -0.124830f, 0.095929f, 0.020196f, -0.057020f, 0.001150f, 0.053818f, -0.035229f, 0.001889f, 0.029994f, -0.036891f, 0.003513f, -0.033113f, -0.020930f, 0.035767f, -0.030058f, -0.016902f, -0.063500f, 0.028011f, 0.062342f, 0.017815f, -0.027588f, -0.046984f, -0.007267f, 0.035947f, 0.019546f, -0.040081f, -0.000786f, 0.049088f, -0.006167f, 0.003678f, -0.016344f, -0.011572f, 0.114759f, -0.054602f, -0.013762f, -0.012425f, 0.019494f, 0.053516f, -0.056285f, -0.031405f, 0.075570f, -0.008584f, -0.004606f, -0.089850f, -0.074313f, 0.031491f, 0.050875f, 0.027972f, -0.092122f, 0.063567f, -0.001500f, -0.013867f, 0.013413f, -0.065764f, -0.018120f, - -0.008321f, -0.032553f, 0.059622f, -0.046210f, -0.025531f, -0.049707f, -0.028585f, -0.065598f, 0.020041f, -0.102653f, -0.028618f, 0.012171f, -0.050981f, 0.012755f, 0.028656f, 0.012602f, -0.000559f, -0.018334f, -0.036794f, 0.054484f, -0.011645f, -0.005174f, -0.019408f, 0.033006f, 0.066132f, 0.009967f, -0.089008f, 0.007919f, -0.039574f, 0.005990f, 0.008385f, -0.016237f, 0.006349f, -0.026677f, -0.008899f, -0.002248f, -0.020115f, 0.000381f, -0.005686f, 0.015664f, 0.014068f, -0.004902f, 0.007134f, 0.029148f, -0.013084f, -0.010523f, 0.029919f, -0.021719f, 0.019889f, -0.010575f, -0.009976f, 0.002133f, -0.012611f, -0.006213f, 0.018236f, -0.035487f, 0.010737f, 0.008231f, 0.013197f, 0.025237f, -0.017771f, 0.002923f, 0.019006f, 0.006772f, -0.006403f, -0.016854f, -0.003267f, -0.004184f, 0.000496f, -0.017300f, 0.005195f, -0.003161f, -0.006959f, 0.004064f, 0.002306f, -0.008114f, 0.018222f, -0.007916f, -0.005522f, 0.000289f, 0.004817f, -0.000827f, -0.072158f, 0.043534f, -0.001489f, 0.056399f, -0.011813f, 0.058351f, 0.007154f, -0.007581f, 0.025966f, 0.067742f, 0.032302f, 0.017297f, 0.013357f, 0.008585f, - 0.026478f, -0.034224f, -0.002992f, -0.025677f, -0.027127f, 0.041667f, 0.025726f, 0.015916f, -0.012256f, -0.010534f, -0.005204f, 0.043603f, 0.006417f, -0.019352f, -0.031831f, -0.001465f, -0.007748f, 0.032804f, 0.004700f, 0.027438f, 0.051260f, -0.014377f, -0.130925f, 0.008576f, 0.105837f, 0.011076f, -0.078191f, -0.010082f, 0.029661f, 0.023556f, 0.041364f, 0.037920f, -0.003445f, -0.024630f, -0.025607f, 0.033197f, -0.020546f, 0.003719f, 0.011248f, -0.135630f, -0.023893f, -0.026076f, 0.021153f, 0.106609f, -0.002345f, 0.008569f, -0.025143f, 0.007253f, 0.021574f, 0.044732f, 0.022940f, -0.026423f, -0.014331f, -0.065842f, -0.004428f, 0.045286f, -0.020419f, -0.009387f, 0.016221f, 0.046010f, 0.036816f, -0.009899f, -0.047277f, 0.000310f, 0.016614f, 0.005244f, -0.031586f, 0.003880f, 0.003285f, -0.002315f, -0.027351f, -0.034767f, 0.029729f, 0.024883f, -0.001769f, -0.005385f, -0.026784f, 0.020902f, 0.008092f, 0.004826f, 0.007569f, 0.006731f, 0.011534f, 0.000879f, -0.029645f, 0.016385f, 0.000259f, -0.001701f, 0.001119f, 0.007874f, 0.003136f, -0.003804f, -0.000611f, 0.001283f, -0.010118f, -0.005484f, - -0.040829f, 0.006499f, 0.027870f, -0.019820f, 0.009576f, -0.032405f, 0.017781f, 0.008692f, -0.005431f, -0.008814f, -0.003874f, -0.002993f, 0.003265f, -0.006944f, 0.036741f, -0.004257f, -0.214156f, -0.402827f, -0.161882f, -0.272646f, -0.313345f, 0.194859f, 0.068127f, 0.179035f, 0.538384f, 0.352388f, 0.284362f, 0.426149f, 0.212754f, 0.013740f, 0.168554f, 0.041965f, -0.170537f, -0.119844f, -0.135900f, -0.312287f, -0.253663f, -0.109629f, -0.227143f, -0.250339f, -0.103490f, -0.154091f, -0.258458f, -0.133611f, 0.020000f, -0.162577f, -0.148758f, 0.032787f, -0.032221f, -0.148263f, 0.166110f, 0.108395f, -0.124507f, 0.123184f, 0.186948f, 0.028284f, 0.106885f, 0.375582f, 0.178387f, 0.112558f, 0.441859f, 0.309564f, 0.179259f, 0.435521f, 0.583930f, 0.361452f, 0.523618f, 0.678156f, 0.484649f, 0.321342f, 0.423645f, 0.222930f, -0.215796f, -0.142208f, -0.285043f, -0.664176f, -0.665913f, -0.674587f, -1.018160f, -1.005461f, -1.010098f, -1.052381f, -0.993443f, -0.966495f, -0.760751f, -0.609067f, -0.460508f, -0.189890f, 0.055865f, 0.147591f, 0.375974f, 0.653035f, 0.553406f, 0.741734f, 1.054866f, 0.886555f, - 0.828103f, 1.008114f, 0.746946f, 0.383038f, 0.415220f, 0.389454f, 0.146237f, 0.103970f, 0.209133f, 0.077221f, -0.018260f, 0.069894f, 0.024973f, -0.145449f, -0.129841f, -0.078441f, -0.259877f, -0.298737f, -0.130258f, -0.227317f, -0.312722f, -0.129378f, -0.083017f, -0.170659f, -0.002384f, 0.054884f, -0.056258f, -0.008643f, -0.041490f, -0.238885f, -0.343840f, -0.385701f, -0.481432f, -0.567123f, -0.508762f, -0.465376f, -0.433067f, -0.325365f, -0.206941f, -0.147657f, -0.026661f, 0.114648f, 0.178700f, 0.258603f, 0.426338f, 0.517826f, 0.604353f, 0.647246f, 0.613623f, 0.546554f, 0.418498f, 0.285765f, 0.159905f, 0.022140f, -0.026779f, -0.046326f, -0.074896f, -0.084970f, -0.086127f, -0.100419f, -0.106070f, -0.096441f, -0.086389f, -0.096665f, -0.103215f, -0.099209f, -0.103718f, -0.114163f, -0.109789f, -0.105546f, -0.083311f, -0.056224f, -0.044627f, -0.028670f, 0.001584f, 0.012625f, 0.026688f, 0.056312f, 0.074129f, 0.076971f, 0.075731f, 0.059527f, 0.039774f, 0.023354f, -0.000754f, -0.022135f, -0.033457f, -0.054036f, -0.069369f, -0.075058f, -0.088108f, -0.092490f, -0.084404f, -0.079318f, -0.074181f, -0.062027f, - -0.054229f, -0.043394f, -0.031618f, -0.023236f, -0.011390f, -0.001080f, 0.012101f, 0.020233f, 0.028637f, 0.037675f, 0.047257f, 0.053323f, 0.063115f, 0.073659f, 0.081293f, 0.085400f, 0.088470f, 0.090378f, 0.089132f, 0.086749f, 0.086000f, 0.078153f, 0.068147f, 0.055339f, 0.040841f, 0.026235f, 0.011060f, -0.005600f, -0.019500f, -0.034242f, -0.046454f, -0.058826f, -0.069790f, -0.080921f, -0.085320f, -0.088236f, -0.087486f, -0.080721f, -0.073414f, -0.064516f, -0.050470f, -0.036774f, -0.023837f, -0.008621f, 0.004514f, 0.013188f, 0.020987f, 0.026573f, 0.027162f, 0.025468f, 0.024166f, 0.020895f, 0.016501f, 0.013421f, 0.011578f, 0.009249f, 0.007454f, 0.006435f, 0.005667f, 0.004713f, 0.004350f, 0.004393f}, - {-0.012880f, -0.001138f, 0.012170f, -0.010762f, 0.004232f, -0.018169f, 0.000238f, -0.006540f, 0.007376f, -0.006101f, 0.001715f, -0.004119f, -0.007578f, -0.001903f, -0.000683f, 0.005590f, 0.006971f, -0.006515f, -0.011415f, 0.006062f, 0.002090f, 0.004256f, 0.002571f, 0.004804f, -0.006599f, -0.004925f, 0.001228f, -0.001206f, 0.006012f, 0.004364f, -0.005040f, -0.001033f, 0.004589f, 0.008507f, 0.005234f, 0.000126f, -0.006596f, 0.003625f, -0.001106f, -0.003468f, 0.004692f, 0.002079f, -0.006059f, -0.005032f, -0.004105f, 0.003466f, -0.005937f, -0.003144f, 0.005036f, 0.001996f, -0.000158f, -0.006178f, 0.002319f, -0.005303f, -0.013820f, 0.001432f, -0.004693f, -0.008865f, 0.004120f, -0.002476f, -0.002535f, -0.002997f, 0.000208f, 0.006872f, 0.004116f, 0.002361f, 0.003118f, 0.005205f, -0.010412f, 0.005498f, -0.004135f, -0.003935f, -0.002294f, 0.003529f, 0.000674f, 0.007385f, 0.010656f, 0.004227f, 0.000832f, 0.001279f, -0.000152f, 0.006879f, -0.002871f, -0.000176f, 0.003334f, 0.000311f, -0.002815f, -0.002815f, 0.000971f, -0.000004f, -0.003180f, -0.001522f, 0.001001f, -0.000089f, -0.000421f, -0.001191f, - -0.001575f, 0.001137f, 0.000682f, 0.001226f, -0.000470f, 0.000481f, -0.000327f, -0.002870f, -0.001142f, 0.001428f, 0.002356f, -0.001245f, -0.001569f, 0.000619f, 0.001491f, 0.027652f, -0.002342f, 0.005062f, 0.006081f, -0.002842f, 0.002862f, 0.011009f, -0.008599f, -0.001531f, 0.003145f, -0.004285f, -0.000847f, 0.008083f, -0.002620f, -0.001837f, -0.000566f, 0.003125f, -0.001551f, 0.003885f, -0.002739f, -0.002703f, -0.001242f, -0.006294f, -0.010727f, -0.002035f, -0.003443f, -0.001453f, 0.006314f, -0.011375f, 0.013963f, 0.000069f, 0.000242f, 0.000464f, 0.002636f, -0.000353f, -0.005368f, 0.000828f, 0.004304f, 0.010521f, 0.000526f, -0.000094f, -0.001605f, -0.003571f, 0.007007f, 0.003309f, -0.002558f, 0.003847f, -0.006977f, 0.001172f, 0.002229f, -0.005300f, -0.018141f, -0.005699f, -0.000452f, -0.001087f, -0.000862f, -0.001617f, -0.002309f, -0.001336f, -0.003447f, 0.004425f, 0.013371f, 0.007555f, 0.000588f, -0.000045f, -0.000355f, 0.004652f, -0.002731f, -0.012212f, -0.000419f, -0.006371f, 0.003999f, -0.007226f, 0.004078f, -0.017615f, -0.000106f, -0.002528f, 0.005979f, 0.009565f, -0.001465f, -0.002306f, - 0.001444f, -0.000064f, 0.005159f, 0.001868f, 0.000867f, 0.006956f, -0.005140f, -0.000703f, 0.000891f, 0.002473f, 0.000016f, 0.002522f, 0.000146f, 0.001606f, 0.000749f, -0.000362f, 0.000526f, -0.000652f, -0.000070f, 0.001442f, 0.002224f, 0.000241f, -0.000603f, -0.000891f, 0.000298f, -0.000409f, 0.001263f, 0.000875f, 0.000619f, -0.000439f, 0.000239f, 0.000821f, -0.024368f, -0.023497f, -0.008849f, -0.003489f, -0.003361f, 0.000010f, 0.005932f, 0.001407f, 0.004817f, -0.011040f, 0.005447f, 0.006862f, 0.006634f, 0.007777f, -0.006033f, 0.001663f, 0.018321f, -0.011348f, -0.000407f, -0.008088f, -0.011718f, -0.001414f, -0.000838f, 0.010142f, -0.004931f, 0.001055f, -0.008754f, 0.005595f, 0.003498f, 0.004389f, -0.019616f, 0.003010f, -0.003591f, -0.006893f, -0.001856f, -0.000111f, -0.014554f, -0.009437f, -0.008129f, -0.000670f, 0.012153f, 0.004201f, 0.004023f, 0.005825f, -0.005442f, 0.003422f, -0.004883f, 0.010377f, 0.015989f, -0.001515f, -0.001473f, 0.004530f, 0.001117f, 0.004118f, 0.008984f, -0.004234f, 0.009295f, -0.001473f, -0.000288f, 0.005483f, 0.007528f, -0.002869f, -0.010880f, -0.010027f, - 0.003864f, -0.001387f, -0.001870f, -0.004430f, 0.004937f, -0.008353f, 0.003096f, 0.006227f, 0.010553f, -0.006157f, 0.010119f, 0.006588f, 0.003290f, 0.005036f, 0.001221f, -0.001735f, -0.006817f, 0.004828f, -0.003208f, -0.006388f, -0.008042f, 0.003313f, -0.002651f, 0.004826f, 0.000852f, -0.003121f, -0.003753f, -0.001939f, 0.001600f, -0.002009f, -0.000707f, -0.002576f, -0.001127f, -0.000179f, 0.002474f, 0.001274f, -0.000079f, 0.001410f, 0.004876f, -0.000497f, 0.000015f, 0.002821f, -0.001538f, 0.000774f, -0.001072f, -0.000862f, 0.001404f, 0.002021f, 0.002065f, 0.001291f, -0.000028f, -0.000670f, 0.001524f, 0.000694f, 0.003340f, 0.003967f, -0.003181f, -0.000361f, 0.001758f, 0.000518f, -0.001811f, 0.000572f, 0.002286f, 0.001956f, -0.001037f, 0.000242f, 0.001287f, -0.001164f, -0.026577f, 0.011592f, -0.011862f, 0.021469f, -0.019867f, 0.015723f, 0.008048f, -0.008216f, -0.010285f, -0.005699f, 0.004149f, 0.003744f, -0.005523f, 0.012687f, -0.004474f, -0.012001f, -0.002393f, 0.013119f, 0.009019f, -0.013144f, 0.002183f, -0.001592f, -0.013762f, -0.005668f, -0.008826f, -0.002018f, -0.010518f, -0.002754f, - -0.004344f, -0.014531f, -0.005128f, 0.007471f, 0.010708f, -0.001990f, -0.012429f, -0.002468f, 0.008945f, -0.002663f, 0.000390f, 0.000666f, 0.000282f, -0.012375f, -0.000286f, -0.001427f, -0.003071f, -0.000522f, 0.002281f, -0.008845f, 0.005173f, -0.009474f, -0.000123f, -0.000003f, 0.000284f, 0.007138f, 0.000233f, -0.003227f, 0.002971f, 0.004968f, 0.011781f, 0.005402f, 0.002745f, -0.003325f, -0.007167f, -0.006773f, -0.002759f, -0.007403f, -0.005277f, 0.004463f, 0.007741f, -0.005571f, -0.009349f, -0.006390f, 0.003078f, 0.001714f, -0.008764f, -0.002971f, 0.001188f, -0.007370f, -0.003335f, 0.001095f, 0.002364f, 0.003087f, -0.003350f, -0.004044f, -0.005565f, 0.000280f, -0.000608f, -0.002100f, 0.001829f, -0.001793f, -0.000558f, -0.004238f, -0.000882f, -0.001379f, 0.003862f, 0.001934f, -0.001462f, 0.001924f, -0.000151f, 0.000656f, -0.001768f, 0.000285f, -0.001020f, -0.000021f, -0.001460f, -0.002799f, 0.002138f, -0.000129f, -0.002666f, -0.001644f, -0.000194f, -0.002434f, -0.002841f, 0.002753f, -0.001641f, 0.032546f, 0.012931f, -0.002210f, 0.007356f, -0.005263f, 0.018233f, 0.007692f, 0.032864f, 0.000596f, - -0.031846f, 0.008135f, 0.019278f, -0.011501f, 0.003361f, 0.013263f, -0.010234f, 0.009346f, -0.008300f, -0.001821f, -0.010229f, -0.009749f, -0.003096f, 0.002680f, -0.001075f, 0.004385f, -0.004394f, 0.014082f, -0.008450f, 0.003965f, 0.002586f, 0.009155f, -0.016833f, -0.008788f, -0.006646f, -0.002009f, -0.005969f, 0.001566f, 0.010250f, 0.007307f, 0.016288f, -0.002406f, -0.001224f, -0.009309f, -0.003067f, 0.010269f, -0.010053f, 0.008478f, -0.009405f, -0.003968f, 0.014952f, 0.021589f, 0.015477f, 0.002699f, -0.011411f, 0.007977f, 0.005932f, -0.006090f, 0.012572f, -0.008321f, 0.002474f, 0.001967f, -0.022992f, -0.000222f, -0.021795f, -0.008792f, 0.003468f, -0.005787f, -0.010406f, -0.008905f, 0.001812f, 0.014945f, 0.003729f, -0.006139f, -0.007605f, -0.006712f, 0.001502f, 0.002404f, 0.007156f, -0.011362f, -0.010215f, 0.000674f, -0.001973f, 0.000655f, -0.002938f, -0.001710f, -0.001826f, -0.001006f, 0.003394f, 0.000852f, 0.001558f, -0.001503f, -0.002360f, -0.002331f, 0.000670f, 0.005943f, 0.001992f, 0.004311f, 0.001383f, -0.006875f, 0.005163f, 0.002292f, 0.000944f, 0.000977f, 0.002987f, -0.000713f, - 0.002576f, 0.000476f, -0.000059f, -0.002165f, -0.001571f, -0.002981f, 0.000876f, 0.002816f, -0.000544f, -0.001434f, -0.001599f, -0.009747f, -0.001086f, -0.001223f, 0.000337f, -0.001563f, 0.020098f, 0.040819f, -0.017938f, -0.013363f, -0.003701f, -0.004931f, 0.014156f, -0.013751f, -0.024941f, -0.008734f, 0.001625f, -0.006211f, 0.007019f, 0.003240f, 0.012262f, 0.005053f, -0.005066f, 0.017665f, 0.016575f, -0.007828f, 0.001102f, -0.011622f, -0.002061f, 0.000491f, -0.007181f, -0.001515f, 0.012344f, 0.017725f, 0.000608f, 0.002795f, 0.007243f, 0.004555f, 0.002767f, 0.001074f, -0.006870f, -0.012988f, 0.001373f, -0.018618f, 0.000561f, 0.004090f, -0.005990f, 0.007100f, -0.004783f, -0.010365f, -0.000901f, 0.009783f, 0.004295f, -0.004613f, 0.030059f, -0.000248f, 0.009628f, -0.018116f, -0.004104f, 0.012156f, -0.005873f, -0.013458f, 0.007721f, -0.015744f, -0.014071f, 0.003016f, 0.017011f, -0.014170f, -0.007974f, -0.004306f, 0.000611f, -0.006511f, -0.006416f, 0.022914f, 0.013403f, -0.002263f, 0.001188f, -0.011040f, -0.007883f, -0.004594f, 0.006843f, 0.008952f, 0.000703f, 0.007141f, 0.004635f, -0.001661f, - 0.006700f, -0.006425f, 0.022955f, 0.012881f, 0.002447f, 0.000557f, 0.002033f, -0.004079f, -0.001581f, -0.004062f, -0.004183f, -0.000309f, -0.000239f, -0.003920f, 0.001902f, -0.005821f, -0.001784f, 0.004202f, -0.001663f, 0.004310f, 0.002484f, 0.004066f, 0.000096f, 0.002746f, 0.003276f, 0.002851f, 0.000497f, 0.004858f, 0.001583f, 0.000508f, -0.003736f, 0.000171f, -0.001433f, -0.000250f, 0.000174f, 0.001621f, -0.000321f, 0.001458f, -0.003561f, -0.000349f, 0.001378f, 0.001735f, 0.002647f, 0.016316f, -0.028958f, -0.003804f, -0.021725f, -0.012323f, -0.019672f, -0.004924f, -0.002937f, -0.002860f, -0.007503f, 0.008951f, -0.027765f, 0.014445f, -0.009406f, 0.008641f, 0.003821f, 0.011750f, 0.000748f, 0.004949f, -0.011138f, -0.004637f, 0.005298f, -0.011057f, -0.008027f, 0.013828f, 0.003870f, 0.006338f, 0.005594f, -0.001263f, 0.003775f, 0.020525f, -0.007217f, 0.002106f, -0.009100f, 0.016538f, -0.009810f, -0.036267f, 0.011365f, 0.005882f, 0.015417f, 0.008440f, 0.021212f, -0.014110f, -0.005566f, 0.012910f, -0.005211f, -0.012038f, -0.005676f, 0.006798f, -0.017609f, 0.017654f, -0.000526f, 0.011825f, - -0.014854f, -0.006388f, -0.005337f, -0.016026f, -0.003209f, -0.012704f, -0.005781f, 0.001547f, 0.018742f, 0.015198f, -0.001606f, -0.022694f, -0.012951f, -0.004029f, 0.018205f, 0.015170f, 0.011003f, 0.010283f, -0.006333f, -0.026291f, -0.006687f, -0.000587f, 0.006288f, -0.008173f, -0.002518f, 0.013738f, -0.002504f, 0.016205f, 0.000287f, 0.011287f, 0.004330f, 0.000728f, -0.004005f, -0.000230f, 0.006120f, 0.001809f, -0.002729f, 0.000750f, -0.007235f, -0.001055f, -0.000342f, -0.009586f, -0.005784f, -0.006053f, -0.002976f, 0.002138f, -0.003860f, 0.001792f, -0.005202f, -0.000478f, -0.001471f, -0.002652f, 0.004360f, 0.002287f, -0.000834f, -0.006448f, -0.002514f, 0.002876f, 0.004437f, 0.000294f, -0.006413f, -0.003212f, 0.001537f, 0.003565f, 0.000989f, 0.001841f, 0.000558f, -0.003199f, -0.038034f, -0.045963f, -0.025935f, 0.018984f, 0.001610f, -0.008502f, -0.009670f, -0.014619f, -0.001470f, 0.005086f, -0.025603f, -0.002358f, 0.016316f, -0.009816f, -0.006966f, 0.018231f, 0.004858f, -0.011845f, 0.004658f, -0.011457f, 0.026980f, -0.008573f, -0.006308f, 0.008816f, -0.013901f, -0.008650f, -0.008118f, 0.004673f, - -0.009628f, -0.003513f, 0.004588f, 0.003376f, -0.031494f, 0.014251f, 0.013844f, -0.008963f, 0.024535f, 0.009535f, 0.002417f, 0.023590f, 0.013470f, 0.004331f, 0.003370f, 0.025499f, -0.002442f, -0.004174f, -0.001624f, 0.015732f, 0.008801f, -0.022818f, 0.008990f, 0.007359f, -0.000086f, -0.012073f, -0.036992f, 0.016529f, -0.002358f, -0.008958f, -0.023170f, -0.012945f, 0.014365f, -0.002849f, -0.006693f, -0.015296f, -0.030076f, 0.003246f, -0.004097f, -0.015806f, -0.006661f, -0.028305f, -0.004479f, -0.006201f, -0.005314f, -0.001009f, 0.010304f, 0.022107f, 0.009463f, -0.007105f, -0.015579f, 0.006295f, 0.001174f, 0.009357f, 0.005823f, -0.003306f, 0.006750f, 0.002665f, -0.000647f, -0.008254f, 0.000855f, -0.013579f, -0.000753f, -0.002801f, 0.002367f, -0.005100f, 0.006598f, 0.004090f, -0.001454f, -0.000892f, -0.001247f, 0.001186f, -0.003064f, -0.000557f, 0.003822f, -0.001236f, -0.001308f, 0.007392f, -0.002747f, -0.001576f, 0.005796f, -0.004153f, 0.003525f, -0.011301f, -0.007456f, -0.003989f, -0.006087f, -0.000359f, -0.006050f, -0.007872f, -0.006018f, -0.001454f, -0.001211f, 0.003016f, -0.000245f, -0.004704f, - 0.002927f, 0.001353f, -0.002610f, -0.039542f, 0.031626f, 0.001673f, 0.016119f, -0.003006f, -0.001413f, 0.002873f, 0.017428f, 0.001622f, -0.002263f, -0.023938f, 0.008401f, -0.002730f, -0.018483f, 0.004696f, -0.012099f, -0.009366f, 0.034099f, 0.009593f, 0.010457f, -0.007495f, 0.012178f, 0.014649f, 0.014225f, -0.008413f, 0.012417f, 0.006344f, -0.014430f, 0.009243f, -0.014031f, -0.004963f, 0.008899f, 0.004103f, -0.001481f, -0.007897f, -0.007324f, 0.022586f, -0.006636f, -0.010116f, -0.006409f, 0.004503f, 0.004921f, -0.010998f, -0.018342f, -0.001478f, -0.019676f, -0.002466f, -0.017738f, -0.006838f, -0.004214f, 0.003341f, -0.009038f, -0.015499f, 0.019393f, -0.008164f, -0.021353f, 0.013511f, 0.022800f, -0.011183f, -0.007294f, 0.011389f, 0.008388f, 0.022449f, 0.014631f, 0.002142f, -0.000198f, -0.023374f, 0.005634f, 0.022114f, 0.017931f, -0.015959f, 0.017100f, 0.018331f, -0.012327f, -0.034647f, -0.011091f, -0.031050f, 0.005236f, 0.017576f, 0.008984f, 0.001992f, -0.009230f, -0.012655f, -0.001344f, 0.001475f, 0.005418f, -0.002979f, 0.010165f, -0.004690f, -0.003504f, 0.003807f, 0.010766f, -0.015916f, - -0.002033f, -0.002155f, -0.004741f, -0.000047f, 0.004373f, -0.001043f, -0.000427f, -0.002647f, -0.000240f, -0.002674f, 0.000954f, -0.000363f, -0.000264f, 0.001341f, 0.005672f, -0.005015f, -0.002709f, 0.003038f, 0.003680f, 0.011608f, -0.001058f, 0.004759f, 0.004738f, -0.005228f, 0.004296f, 0.001730f, -0.004321f, 0.000991f, 0.001841f, 0.001225f, 0.004889f, 0.010107f, 0.002303f, -0.003612f, 0.006994f, -0.002309f, -0.003720f, 0.000422f, -0.006542f, -0.002995f, -0.000348f, 0.000199f, 0.007435f, -0.063019f, 0.029978f, 0.008385f, -0.003104f, 0.042261f, -0.002651f, 0.021321f, -0.019101f, -0.004583f, 0.003201f, 0.000127f, 0.024098f, 0.015275f, -0.033064f, 0.020416f, 0.001408f, 0.012203f, -0.029796f, -0.001299f, 0.016992f, -0.029249f, 0.036278f, 0.009727f, -0.000534f, -0.013153f, 0.002033f, 0.015634f, -0.026259f, 0.002267f, 0.006527f, 0.004477f, -0.016247f, -0.006106f, 0.015092f, 0.008479f, -0.001783f, 0.002124f, -0.010736f, -0.018259f, 0.007350f, -0.030770f, -0.001415f, 0.043731f, 0.042688f, -0.013857f, 0.005164f, -0.002032f, 0.012115f, 0.030677f, 0.002449f, 0.014592f, 0.004750f, -0.016353f, - -0.001365f, -0.003254f, -0.046675f, -0.021179f, 0.028650f, 0.001160f, 0.008731f, -0.011410f, -0.003004f, 0.010067f, 0.013794f, -0.001446f, 0.035693f, 0.000338f, 0.027808f, 0.003301f, 0.005746f, 0.003469f, -0.018450f, -0.023176f, 0.028164f, 0.006373f, -0.014918f, 0.020360f, -0.016985f, 0.001336f, 0.017237f, 0.002627f, -0.004603f, 0.007904f, -0.007620f, -0.007367f, 0.008554f, 0.011738f, 0.000701f, -0.016212f, -0.007857f, -0.017452f, -0.006313f, 0.004061f, 0.005405f, 0.002576f, -0.006826f, -0.003342f, -0.012561f, 0.008748f, -0.000298f, -0.005229f, -0.002420f, 0.003551f, 0.001939f, 0.010894f, 0.009808f, 0.006223f, 0.006328f, 0.001969f, 0.007764f, -0.005533f, 0.003499f, 0.004011f, 0.003911f, -0.004867f, 0.007849f, 0.003973f, -0.001321f, -0.001685f, -0.002209f, -0.002224f, -0.003774f, -0.008980f, -0.002659f, -0.000381f, -0.003637f, -0.006644f, 0.021061f, -0.045817f, 0.018415f, 0.028863f, -0.003987f, 0.008579f, 0.013001f, -0.007017f, -0.004423f, 0.017802f, -0.006694f, 0.027017f, -0.025712f, 0.014044f, 0.033442f, -0.035836f, 0.001475f, -0.017058f, 0.021138f, 0.008882f, 0.017539f, -0.018153f, - -0.014123f, -0.000241f, 0.045201f, 0.000485f, 0.022890f, -0.010175f, 0.001426f, -0.003150f, -0.003968f, -0.020092f, -0.000727f, -0.005672f, 0.009251f, -0.009001f, -0.012952f, -0.010976f, -0.000773f, -0.003861f, 0.020463f, 0.003453f, -0.011221f, -0.010291f, -0.010323f, -0.003863f, -0.004882f, 0.033244f, 0.001520f, 0.016663f, 0.001217f, -0.008069f, -0.007215f, 0.027631f, 0.020745f, -0.008049f, -0.026018f, 0.014664f, 0.010222f, -0.057610f, 0.003428f, 0.032383f, 0.031749f, 0.007302f, 0.025268f, -0.034795f, 0.056972f, 0.004905f, 0.010984f, 0.011165f, 0.027234f, -0.002218f, -0.024218f, -0.007486f, -0.028629f, 0.032610f, -0.014347f, -0.009787f, 0.028653f, -0.000953f, -0.011108f, -0.008786f, -0.021342f, 0.020235f, -0.034908f, -0.005247f, 0.003502f, -0.000963f, 0.005120f, -0.007375f, -0.014902f, -0.009684f, 0.004815f, 0.003743f, -0.006964f, 0.001712f, -0.006632f, -0.007428f, -0.005246f, 0.006323f, 0.003522f, -0.008421f, 0.007895f, 0.001452f, -0.009942f, 0.004461f, -0.001684f, -0.003675f, -0.007540f, -0.008873f, 0.001833f, 0.004132f, 0.018312f, -0.008072f, 0.010921f, 0.001193f, -0.003437f, -0.001430f, - -0.001955f, -0.004909f, 0.002961f, -0.000643f, -0.005213f, -0.001940f, -0.003549f, 0.001326f, 0.003877f, 0.002833f, -0.007457f, 0.017622f, -0.033920f, -0.027107f, 0.024352f, 0.020505f, 0.049982f, -0.017551f, -0.013146f, -0.008826f, 0.009469f, -0.021122f, -0.002497f, 0.008357f, -0.001435f, 0.026897f, 0.017338f, -0.021423f, 0.001995f, 0.006349f, 0.015555f, -0.024408f, 0.025748f, -0.000373f, 0.011433f, -0.004281f, -0.011680f, -0.025608f, 0.009106f, -0.004391f, -0.010787f, 0.005219f, -0.015714f, -0.015262f, -0.003401f, 0.008103f, 0.031176f, -0.046306f, -0.028016f, -0.024954f, -0.028062f, -0.007920f, 0.032323f, -0.019052f, -0.000859f, 0.031839f, -0.004645f, -0.014297f, -0.027546f, -0.007401f, -0.011859f, -0.056975f, -0.044237f, -0.012453f, 0.010012f, -0.005412f, 0.009981f, -0.012632f, -0.009118f, 0.027108f, 0.016359f, -0.028479f, -0.014718f, -0.031879f, -0.012680f, 0.002643f, 0.012771f, -0.005692f, 0.003420f, -0.027201f, -0.021783f, -0.019861f, -0.000560f, 0.004669f, 0.001716f, -0.025746f, 0.000841f, 0.034674f, 0.014952f, 0.039578f, -0.031166f, 0.048366f, 0.004278f, -0.030048f, -0.005002f, 0.001398f, - 0.008482f, -0.005036f, 0.013163f, -0.018375f, 0.008723f, -0.016276f, 0.007678f, 0.011131f, -0.003513f, 0.024762f, -0.002075f, 0.005845f, -0.006683f, -0.008944f, -0.005051f, 0.000717f, 0.005592f, -0.009466f, -0.001690f, 0.003178f, -0.002111f, 0.009513f, -0.002853f, -0.004763f, -0.015993f, 0.007068f, 0.001022f, 0.008367f, 0.003557f, -0.005366f, -0.015048f, 0.004849f, -0.019236f, 0.004879f, -0.004999f, -0.000802f, 0.002053f, -0.004144f, 0.001524f, 0.003021f, 0.013371f, 0.005221f, -0.005773f, -0.024395f, 0.004710f, -0.002650f, 0.056310f, 0.006169f, 0.027140f, -0.023441f, -0.015904f, -0.005745f, -0.026462f, -0.016811f, -0.025555f, -0.011889f, -0.016542f, 0.030551f, 0.007726f, 0.007721f, 0.031524f, -0.000825f, -0.001736f, 0.014228f, 0.028380f, 0.044280f, 0.032440f, -0.006641f, -0.011941f, -0.050971f, 0.014131f, 0.015987f, 0.006307f, -0.031785f, 0.036845f, 0.014663f, 0.021690f, -0.006025f, 0.002144f, 0.020889f, 0.046015f, 0.044711f, 0.025891f, 0.005410f, 0.047848f, 0.001238f, -0.014132f, 0.015496f, 0.029069f, 0.023517f, 0.043062f, 0.022684f, 0.001091f, 0.005168f, -0.025776f, 0.011234f, - -0.064619f, -0.011105f, -0.006363f, 0.014356f, 0.051050f, 0.028637f, 0.007658f, 0.036980f, -0.026706f, -0.024360f, 0.005393f, -0.062864f, -0.014860f, 0.002587f, 0.012224f, 0.014554f, 0.016795f, -0.003787f, 0.027764f, 0.003445f, 0.014446f, 0.050935f, -0.031187f, -0.016319f, -0.008485f, 0.009699f, -0.005789f, -0.048095f, -0.008896f, 0.032776f, -0.002190f, 0.041571f, -0.022126f, 0.001128f, 0.017407f, -0.004047f, 0.005032f, -0.017378f, -0.008294f, -0.013499f, -0.008777f, -0.014977f, -0.012056f, 0.003222f, 0.002785f, -0.030029f, -0.013718f, -0.016937f, -0.004293f, 0.005485f, 0.009290f, -0.013423f, -0.000329f, 0.003960f, -0.020874f, 0.003085f, -0.008257f, -0.013888f, -0.007010f, 0.001011f, 0.005398f, -0.009555f, -0.002157f, -0.014584f, -0.000904f, -0.003973f, -0.004472f, -0.010669f, -0.015292f, 0.003838f, 0.005405f, -0.008571f, -0.005650f, -0.006325f, -0.004464f, 0.002707f, 0.010526f, 0.002780f, 0.003518f, -0.003387f, -0.043401f, -0.013694f, 0.007865f, 0.032775f, 0.060233f, -0.024248f, 0.001044f, 0.009931f, -0.011067f, 0.055815f, 0.009885f, -0.027542f, 0.048916f, -0.010123f, -0.016433f, 0.034990f, - -0.031795f, -0.018622f, 0.002126f, 0.003033f, 0.004351f, 0.022903f, 0.012262f, 0.018579f, -0.005708f, 0.009836f, 0.028044f, 0.001671f, 0.019119f, 0.003467f, 0.000729f, 0.030952f, -0.040490f, -0.014760f, -0.013736f, 0.026931f, -0.020644f, -0.005417f, -0.012165f, 0.026667f, -0.011346f, 0.059390f, 0.043469f, -0.040564f, 0.019841f, -0.048731f, 0.006982f, 0.017518f, 0.009469f, 0.010451f, -0.062028f, -0.012108f, -0.059822f, 0.007860f, 0.004935f, 0.007217f, -0.009448f, -0.010925f, 0.028614f, -0.051746f, 0.017768f, -0.022456f, -0.097314f, -0.036528f, -0.031850f, 0.015925f, -0.014175f, 0.014713f, 0.048709f, 0.051832f, 0.029417f, 0.027224f, 0.025362f, 0.007277f, -0.038695f, 0.040529f, 0.000070f, -0.045051f, -0.035766f, -0.056594f, -0.074824f, -0.038699f, -0.007575f, 0.059737f, 0.021574f, 0.003531f, 0.022928f, -0.018398f, -0.000430f, 0.011395f, 0.009563f, -0.004939f, 0.008767f, 0.002711f, 0.006079f, 0.002383f, -0.018509f, 0.014800f, 0.009904f, 0.007202f, 0.002961f, -0.009803f, 0.005239f, -0.014513f, -0.005149f, -0.022473f, 0.018585f, 0.013907f, -0.003092f, 0.001887f, 0.014861f, 0.023492f, - -0.010660f, -0.023209f, -0.007023f, 0.018629f, -0.004201f, -0.013920f, 0.020031f, -0.001892f, -0.011697f, 0.013689f, 0.005512f, 0.000745f, -0.003496f, -0.000677f, -0.009954f, 0.006600f, -0.006377f, -0.003013f, 0.015403f, -0.076942f, -0.035626f, -0.026571f, 0.014492f, -0.058642f, 0.021325f, -0.034967f, 0.050341f, -0.058317f, -0.074003f, -0.015858f, -0.010454f, 0.058448f, 0.028686f, 0.026155f, -0.014691f, 0.007006f, -0.035737f, -0.028716f, 0.006990f, 0.012429f, -0.046132f, -0.042936f, -0.029994f, -0.003636f, 0.023667f, 0.017064f, -0.032305f, -0.040882f, -0.023555f, -0.024048f, -0.055441f, -0.031958f, 0.024951f, -0.015298f, -0.000066f, -0.007451f, 0.018396f, 0.028967f, -0.007261f, -0.083248f, 0.035538f, 0.070053f, 0.026350f, -0.001293f, -0.083448f, -0.019741f, 0.036868f, -0.010174f, 0.093949f, -0.009739f, -0.075150f, 0.012723f, -0.012394f, 0.006522f, 0.002409f, -0.014821f, 0.020598f, 0.025375f, -0.079296f, -0.020976f, 0.004707f, 0.028503f, -0.014462f, -0.040268f, 0.036481f, 0.003931f, -0.026669f, -0.079045f, -0.091706f, -0.047064f, -0.005541f, 0.007123f, 0.074078f, 0.104491f, 0.054013f, 0.041211f, - 0.018203f, -0.060039f, 0.022416f, 0.000113f, -0.031214f, -0.008676f, -0.099146f, -0.020535f, -0.000268f, 0.001202f, 0.003905f, 0.043872f, 0.016696f, 0.013416f, -0.017462f, -0.005247f, 0.038125f, -0.025226f, -0.000015f, -0.001082f, 0.007724f, -0.018585f, -0.030978f, -0.034622f, 0.016012f, -0.015876f, -0.005290f, 0.021087f, 0.001191f, 0.003862f, -0.026330f, 0.009608f, 0.009125f, 0.005197f, -0.021575f, -0.010606f, -0.014041f, -0.022598f, 0.003612f, -0.012871f, 0.025449f, 0.010359f, -0.016507f, 0.003834f, -0.005776f, 0.017820f, -0.022878f, -0.002481f, -0.000469f, 0.012854f, 0.011590f, 0.006275f, 0.013902f, 0.000434f, 0.007894f, 0.006485f, 0.140147f, 0.128707f, -0.054188f, 0.066789f, 0.059232f, -0.016582f, -0.009896f, -0.030676f, -0.016492f, -0.036073f, -0.025247f, 0.106748f, -0.005670f, 0.062192f, 0.000897f, 0.003038f, 0.000977f, -0.042116f, 0.010203f, 0.008724f, -0.092410f, 0.013783f, 0.022591f, -0.048723f, -0.010004f, -0.015036f, -0.006457f, 0.013678f, -0.002570f, 0.002796f, 0.040975f, 0.016502f, -0.019637f, 0.012532f, 0.065215f, 0.001035f, 0.030178f, -0.001649f, 0.024677f, -0.035888f, - -0.043031f, -0.024283f, -0.079196f, 0.021194f, 0.009167f, -0.035385f, -0.096265f, -0.063150f, -0.089967f, 0.065670f, -0.046559f, 0.010173f, 0.016605f, 0.014844f, 0.012879f, 0.070067f, -0.067159f, 0.000290f, -0.037474f, 0.074164f, -0.166238f, 0.034073f, 0.013274f, 0.053179f, 0.048918f, 0.000123f, -0.014945f, -0.025628f, -0.006920f, -0.048552f, 0.036015f, 0.098008f, -0.006989f, 0.020115f, 0.062465f, -0.043415f, 0.025137f, 0.030045f, -0.053963f, -0.037958f, -0.100511f, 0.083556f, -0.015675f, -0.073923f, 0.050096f, -0.012578f, 0.032961f, -0.002454f, 0.028678f, 0.004563f, -0.020983f, 0.034460f, 0.033941f, 0.005167f, 0.019776f, 0.031308f, 0.019524f, -0.021453f, -0.008311f, -0.020964f, -0.008333f, 0.026332f, 0.051743f, -0.002503f, -0.008530f, -0.002372f, 0.033583f, -0.051829f, 0.030487f, -0.014286f, 0.069824f, 0.013334f, -0.039994f, -0.008654f, 0.031591f, -0.016327f, -0.020446f, -0.016404f, -0.011323f, -0.016132f, 0.017910f, 0.011598f, 0.045209f, -0.037126f, 0.003512f, -0.004538f, 0.025351f, 0.001285f, -0.001779f, 0.014034f, 0.018771f, 0.013149f, 0.030086f, 0.003353f, 0.034527f, 0.018610f, - -0.000465f, -0.048559f, -0.046046f, 0.056963f, -0.115981f, 0.079999f, -0.047833f, -0.033407f, -0.021031f, 0.007313f, -0.033591f, -0.026116f, 0.036358f, -0.011134f, -0.079348f, 0.027404f, -0.004883f, 0.014076f, -0.017891f, 0.070566f, -0.057579f, 0.002487f, 0.029240f, -0.019941f, 0.022135f, -0.046923f, 0.003823f, -0.040369f, -0.020517f, 0.043989f, 0.005591f, 0.017653f, -0.025023f, 0.042526f, -0.012292f, -0.019783f, 0.016235f, -0.025973f, -0.021719f, -0.013859f, -0.014381f, -0.043822f, -0.058820f, -0.016310f, 0.032541f, 0.000559f, -0.018470f, -0.058620f, 0.002182f, -0.046325f, -0.003173f, 0.018715f, -0.045968f, -0.011254f, 0.033678f, 0.034327f, 0.024792f, -0.056905f, -0.027072f, 0.039284f, 0.012652f, -0.001066f, 0.031664f, -0.186855f, -0.043388f, -0.020813f, -0.085065f, 0.008380f, 0.023152f, -0.004964f, 0.015478f, 0.040084f, -0.023305f, -0.039716f, 0.009906f, -0.036062f, -0.011162f, 0.038900f, 0.061447f, -0.023409f, -0.074761f, -0.044962f, 0.004534f, -0.039762f, 0.005902f, -0.030858f, -0.029447f, 0.007732f, -0.060036f, 0.000674f, -0.037624f, -0.011487f, -0.020813f, 0.008309f, 0.014660f, -0.005980f, - -0.037420f, 0.008114f, -0.002927f, -0.023407f, 0.028417f, -0.001301f, -0.027765f, -0.009474f, -0.007694f, -0.010384f, -0.019465f, 0.010128f, -0.017858f, 0.014012f, 0.018932f, -0.007833f, 0.001583f, -0.011620f, -0.026523f, -0.036649f, 0.005794f, 0.004713f, 0.016162f, -0.042423f, 0.008081f, -0.000330f, -0.028119f, 0.020859f, -0.012161f, 0.014878f, 0.033463f, -0.076936f, 0.014563f, 0.010615f, 0.021267f, -0.012945f, -0.008847f, 0.025149f, -0.002685f, 0.001862f, 0.125758f, -0.015673f, -0.034483f, 0.004988f, -0.013710f, 0.062388f, 0.011981f, -0.005078f, 0.059334f, 0.060088f, 0.019963f, 0.023348f, 0.033150f, -0.073689f, -0.040548f, 0.061401f, -0.008080f, -0.060485f, -0.030386f, -0.027389f, 0.042073f, 0.022493f, -0.021948f, -0.087442f, 0.027528f, 0.013824f, 0.011927f, 0.014450f, -0.010246f, 0.008951f, -0.065341f, 0.058768f, 0.041090f, 0.021703f, -0.032572f, -0.027902f, 0.000203f, 0.029422f, -0.006097f, 0.030586f, 0.013657f, -0.069236f, -0.030466f, 0.010949f, -0.069373f, 0.004132f, 0.013668f, -0.061341f, -0.086067f, -0.012116f, 0.026432f, -0.050255f, -0.104571f, -0.045983f, -0.027109f, 0.068080f, - -0.041006f, 0.076824f, -0.015463f, 0.003574f, 0.033239f, 0.004455f, -0.117179f, -0.007886f, 0.005326f, 0.054873f, -0.104224f, -0.144696f, 0.010918f, -0.009508f, -0.091731f, 0.051947f, 0.024975f, -0.003551f, 0.000180f, 0.085009f, -0.121320f, 0.099862f, 0.021652f, 0.013256f, 0.041073f, -0.043990f, -0.039185f, -0.007757f, 0.019466f, -0.025101f, -0.001242f, 0.051166f, -0.042896f, -0.035046f, 0.046025f, -0.025867f, -0.012148f, 0.018844f, 0.013178f, -0.051100f, 0.026613f, -0.017257f, -0.003923f, 0.017790f, 0.018413f, -0.054453f, -0.008073f, -0.042403f, 0.024368f, 0.032587f, 0.002969f, -0.070028f, 0.050229f, -0.012358f, -0.000274f, 0.029579f, -0.006643f, -0.025724f, -0.003706f, 0.039147f, -0.058578f, 0.040304f, 0.003154f, -0.004860f, 0.015902f, 0.007461f, -0.036228f, 0.016760f, 0.000846f, 0.001271f, -0.047462f, 0.032874f, -0.030684f, 0.036309f, 0.006617f, -0.044965f, 0.004806f, 0.004998f, -0.011558f, 0.020493f, 0.004933f, 0.057323f, 0.021493f, 0.137062f, -0.059580f, -0.062048f, -0.026636f, -0.003759f, 0.130057f, -0.019560f, 0.107450f, -0.077668f, -0.031481f, 0.044796f, -0.084596f, -0.028677f, - -0.079697f, 0.011673f, 0.077981f, -0.110516f, -0.041572f, -0.010552f, 0.031622f, -0.002070f, 0.010621f, 0.029151f, -0.009267f, -0.070434f, -0.065572f, 0.002116f, 0.043646f, 0.120400f, -0.028559f, 0.031871f, -0.036547f, 0.058908f, 0.000432f, 0.005961f, -0.018416f, -0.072756f, 0.000750f, 0.065094f, -0.012993f, -0.004898f, -0.026317f, -0.063573f, 0.080746f, 0.030362f, 0.053317f, 0.072620f, -0.005279f, 0.003339f, 0.044045f, -0.118589f, 0.038975f, -0.060348f, 0.137545f, -0.014098f, 0.012021f, 0.019958f, -0.042309f, -0.041943f, 0.012295f, -0.060141f, 0.086637f, -0.052572f, -0.066812f, -0.066776f, 0.090652f, 0.030421f, 0.051795f, -0.012804f, 0.051732f, 0.053330f, -0.057083f, -0.016866f, -0.053081f, -0.027956f, 0.094494f, 0.067289f, 0.007251f, 0.017785f, -0.147502f, 0.099019f, 0.129396f, 0.014196f, -0.012335f, -0.025801f, -0.079994f, 0.112362f, -0.008360f, 0.006775f, -0.024053f, 0.002399f, -0.051180f, 0.105124f, -0.027097f, 0.050791f, 0.006458f, -0.019271f, -0.007972f, 0.101240f, -0.058235f, 0.049452f, 0.014972f, -0.044196f, 0.004185f, -0.014788f, 0.026340f, 0.007269f, 0.039524f, -0.018067f, - 0.002501f, 0.006960f, -0.002316f, 0.040142f, 0.068319f, -0.022459f, -0.005429f, 0.007204f, 0.036681f, 0.010209f, -0.055824f, -0.037004f, 0.074072f, 0.013997f, 0.035356f, -0.075323f, -0.091443f, 0.081913f, 0.053003f, 0.025018f, -0.008283f, -0.070160f, -0.003427f, 0.062270f, 0.018299f, 0.002719f, -0.006810f, -0.012353f, 0.010708f, 0.008379f, 0.013019f, -0.010341f, 0.006826f, 0.013364f, 0.008729f, -0.005787f, 0.001912f, 0.002554f, 0.012907f, 0.032804f, 0.012263f, -0.103432f, 0.070724f, -0.073582f, 0.008932f, -0.033945f, 0.027313f, -0.002929f, 0.038926f, -0.006346f, -0.033611f, 0.057859f, -0.020302f, -0.008220f, 0.008979f, -0.024454f, -0.021068f, 0.066776f, -0.015701f, -0.009338f, -0.007735f, -0.003596f, 0.030814f, -0.023582f, 0.007357f, -0.017314f, 0.015464f, -0.015152f, -0.011251f, -0.036099f, 0.052654f, -0.032641f, 0.017581f, 0.008191f, 0.036553f, -0.041101f, 0.009339f, -0.016962f, 0.041463f, 0.005154f, 0.003498f, 0.032371f, 0.009956f, -0.054395f, -0.007762f, -0.009574f, 0.015284f, 0.023383f, 0.020066f, -0.049512f, 0.021337f, -0.037493f, 0.026563f, -0.021528f, 0.005880f, -0.012512f, - 0.026250f, -0.010522f, 0.007833f, -0.055411f, 0.013331f, 0.026342f, -0.024886f, 0.024615f, 0.003765f, 0.008788f, 0.015947f, -0.022611f, 0.038405f, 0.014581f, -0.001759f, -0.012415f, 0.018875f, -0.012046f, 0.034909f, -0.029357f, -0.008204f, -0.027976f, 0.036158f, -0.035850f, 0.032896f, -0.029980f, 0.039922f, -0.034089f, 0.021165f, -0.033628f, 0.029514f, -0.002809f, 0.003513f, -0.010127f, 0.002079f, -0.006324f, -0.004578f, -0.010750f, 0.017796f, 0.006181f, -0.001817f, 0.005070f, -0.004688f, -0.009910f, 0.017915f, 0.002053f, 0.007183f, -0.011829f, 0.001321f, 0.016670f, -0.019318f, -0.005524f, 0.012260f, -0.000409f, -0.005285f, -0.013540f, 0.032073f, -0.010630f, -0.015115f, 0.007453f, 0.003551f, -0.005717f, 0.004087f, -0.002557f, 0.003814f, -0.006116f, 0.005278f, -0.010043f, 0.016187f, -0.013567f, 0.018563f, 0.006934f, -0.012484f, 0.003864f, -0.001870f, 0.001126f, -0.000759f, 0.007607f, 0.000866f, -0.006074f, 0.005342f, -0.006560f, -0.042902f, 0.087155f, 0.007417f, 0.011096f, -0.034640f, -0.025477f, -0.055092f, 0.037190f, -0.015352f, -0.011132f, -0.023863f, -0.000798f, -0.021261f, -0.002522f, - -0.002688f, 0.009851f, 0.010996f, -0.001566f, -0.002435f, -0.015570f, 0.014772f, 0.013817f, -0.012894f, 0.006272f, -0.029442f, 0.011916f, 0.005876f, -0.005050f, -0.004468f, -0.009743f, 0.009541f, 0.002200f, -0.020935f, -0.005533f, -0.006055f, -0.017353f, 0.028788f, 0.003131f, -0.018194f, 0.002925f, -0.007060f, 0.025102f, -0.008549f, -0.011558f, 0.004961f, -0.014781f, 0.029272f, 0.000963f, -0.016005f, 0.004739f, -0.006455f, 0.014382f, -0.018273f, -0.003525f, 0.006181f, -0.006561f, 0.012925f, -0.007172f, 0.003825f, 0.005933f, -0.016472f, 0.002444f, 0.016601f, -0.025079f, -0.001540f, 0.007769f, -0.023275f, 0.042735f, -0.038870f, 0.019582f, 0.007166f, -0.022148f, 0.044173f, -0.029854f, 0.007189f, 0.005745f, -0.018517f, 0.014646f, -0.007497f, -0.014255f, 0.014170f, -0.017007f, 0.011259f, -0.007749f, -0.005688f, 0.012784f, -0.010419f, 0.004193f, -0.004155f, -0.000006f, 0.002589f, -0.005640f, 0.002825f, -0.000197f, -0.005503f, 0.012092f, -0.010071f, 0.009042f, 0.000453f, -0.008256f, 0.008312f, -0.014657f, -0.001303f, 0.004010f, -0.002310f, -0.001922f, 0.002209f, -0.007567f, 0.009537f, -0.004661f, - -0.003223f, 0.001113f, 0.001103f, -0.005882f, -0.000781f, -0.003354f, 0.003381f, 0.004833f, -0.006633f, 0.006007f, -0.006326f, -0.001150f, 0.006369f, -0.004561f, 0.020326f, -0.093165f, -0.215099f, 0.056463f, 0.199122f, 0.168365f, 0.225899f, -0.111336f, -0.144306f, -0.216992f, -0.221810f, 0.015291f, 0.165377f, 0.182626f, 0.200018f, 0.066563f, -0.043527f, -0.158641f, -0.262725f, -0.143886f, 0.066830f, 0.103600f, 0.175215f, 0.132881f, 0.036282f, -0.023475f, -0.055354f, -0.131533f, -0.085281f, -0.081068f, -0.014885f, 0.069426f, 0.106296f, 0.056047f, 0.070957f, 0.035989f, -0.040003f, -0.006143f, -0.085528f, -0.118932f, -0.020388f, -0.027658f, 0.020971f, 0.112410f, 0.064688f, 0.055859f, 0.016442f, -0.041947f, -0.043342f, -0.037202f, -0.061676f, -0.016025f, 0.002699f, 0.026570f, 0.032218f, 0.053844f, 0.015276f, -0.001757f, -0.027160f, -0.049874f, -0.004321f, 0.018143f, 0.018436f, 0.031639f, -0.008081f, -0.024970f, -0.012103f, -0.025000f, -0.019783f, 0.005506f, 0.014115f, 0.040498f, 0.034158f, 0.032841f, 0.001837f, -0.017394f, -0.065618f, -0.060797f, -0.024901f, 0.004063f, 0.050587f, 0.054486f, - 0.022349f, 0.023198f, -0.002645f, -0.043652f, -0.026887f, -0.002998f, -0.010343f, 0.002521f, 0.004538f, 0.010706f, 0.008724f, -0.005493f, -0.014384f, 0.008634f, 0.013123f, 0.011008f, 0.011176f, -0.000849f, -0.008327f, -0.004951f, -0.022334f, -0.008977f, -0.012370f, -0.020741f, 0.012283f, 0.030570f, 0.035347f, 0.011927f, 0.012681f, -0.006716f, -0.008400f, -0.031570f, -0.047290f, -0.018007f, 0.005284f, 0.014934f, 0.018210f, 0.038882f, 0.035859f, 0.017635f, -0.014392f, -0.030089f, -0.034277f, -0.031785f, -0.023774f, -0.001415f, 0.028561f, 0.044605f, 0.035083f, 0.010406f, -0.016889f, -0.019931f, -0.020225f, -0.011450f, -0.007812f, -0.008550f, 0.008559f, 0.020526f, 0.014841f, 0.003427f, -0.002790f, -0.001390f, -0.005385f, -0.005769f, -0.008586f, -0.003532f, 0.004727f, 0.004256f, 0.002339f, 0.002940f, 0.002247f, 0.002110f, -0.004439f, -0.005427f, -0.001756f, 0.002491f, 0.001829f, 0.000758f, 0.000756f, 0.000907f, -0.001770f, -0.001317f, -0.000732f, 0.000439f, 0.000475f, 0.001337f, 0.001139f, 0.000854f, -0.000422f, -0.001517f, -0.002711f, -0.000236f, 0.000459f, 0.000239f, 0.000700f, 0.001878f, - 0.000570f, 0.000583f, 0.001526f, 0.000201f, -0.004208f, -0.003277f, -0.001071f, 0.000912f, 0.001799f, 0.002770f, 0.000916f, 0.000322f, -0.000187f, -0.000070f, -0.001111f, -0.000935f, -0.000574f, -0.000282f, -0.000920f, -0.000136f, 0.000082f, 0.000868f, 0.001243f, 0.001462f, 0.000720f, 0.000634f, -0.000499f, -0.001233f, -0.002141f, -0.001412f, -0.000781f, 0.000413f, 0.001553f, 0.002372f, 0.001548f, 0.000318f, -0.000811f, -0.001022f, -0.001568f, -0.001160f, -0.000120f, 0.000657f, 0.000612f, 0.000582f, 0.000172f, 0.000106f, -0.000084f, 0.000004f, -0.000126f, -0.000104f, -0.000146f, 0.000013f, -0.000038f, -0.000061f, -0.000141f, 0.000009f, 0.000076f, 0.000085f, 0.000045f, 0.000069f, -0.000012f, -0.000032f} - }, - { - {-0.010247f, -0.009027f, 0.011393f, -0.002243f, 0.009110f, 0.002711f, 0.013514f, -0.003060f, -0.006886f, -0.004717f, 0.008282f, 0.000304f, -0.002923f, -0.000721f, 0.009355f, -0.002397f, 0.001752f, 0.003336f, -0.006177f, -0.004673f, -0.001971f, 0.001791f, -0.006415f, 0.001725f, 0.001376f, -0.007426f, -0.002382f, -0.004412f, 0.000690f, -0.003202f, 0.001255f, 0.012318f, 0.006328f, -0.003501f, 0.000633f, -0.005734f, 0.004510f, -0.001485f, 0.007281f, -0.014931f, -0.001602f, 0.002400f, -0.005298f, 0.001040f, 0.007318f, 0.005632f, -0.006716f, -0.004918f, -0.005392f, -0.000930f, -0.004267f, -0.002106f, -0.006558f, 0.002597f, -0.000551f, -0.007547f, -0.003922f, -0.002999f, -0.000359f, 0.001653f, -0.001642f, -0.000711f, 0.003302f, 0.001379f, -0.003580f, 0.001968f, 0.008143f, -0.004089f, -0.001061f, -0.008654f, -0.003316f, -0.000598f, 0.003629f, -0.003612f, 0.001063f, 0.001555f, 0.001224f, 0.002901f, -0.006740f, -0.000145f, -0.003797f, 0.003282f, -0.002429f, -0.006428f, -0.001846f, -0.000123f, -0.000108f, -0.002794f, -0.003024f, 0.003250f, -0.001427f, -0.000503f, 0.001175f, 0.001933f, 0.000089f, -0.000345f, - 0.000360f, 0.001183f, 0.000072f, -0.000640f, 0.001444f, 0.000343f, -0.001264f, -0.001072f, 0.001347f, -0.000397f, 0.000485f, -0.000781f, 0.001214f, -0.001042f, -0.000737f, -0.000102f, -0.000253f, 0.000515f, 0.013969f, -0.005309f, 0.004503f, 0.011671f, -0.009580f, -0.010794f, -0.001640f, -0.002741f, -0.000191f, 0.005916f, 0.003268f, -0.014982f, 0.002271f, -0.008621f, -0.011840f, -0.000819f, 0.004259f, 0.004613f, -0.003904f, -0.000558f, -0.001321f, 0.006353f, -0.001391f, 0.005215f, -0.002527f, 0.000556f, 0.001094f, 0.001548f, -0.007523f, 0.003082f, 0.005706f, -0.002761f, 0.007290f, -0.004128f, -0.000866f, -0.009244f, 0.006468f, 0.001595f, -0.002493f, -0.007179f, -0.007128f, -0.003258f, -0.002479f, 0.003518f, -0.000846f, 0.003031f, 0.002980f, -0.006370f, 0.003871f, -0.008540f, 0.002970f, 0.004900f, 0.009306f, 0.008984f, -0.007852f, 0.003814f, -0.000570f, -0.002100f, 0.005416f, -0.004230f, -0.005073f, -0.003802f, 0.004401f, 0.002191f, 0.005758f, -0.005839f, 0.008708f, -0.002886f, -0.000522f, 0.002611f, 0.001378f, 0.005119f, -0.003980f, 0.007309f, 0.009190f, 0.016187f, 0.007450f, 0.005128f, - -0.009662f, -0.001782f, -0.006335f, -0.004552f, 0.005810f, -0.000801f, 0.007197f, 0.002950f, -0.000665f, -0.001481f, -0.001351f, 0.004181f, -0.003274f, 0.003330f, 0.003879f, -0.003153f, 0.001809f, 0.001431f, 0.000331f, 0.002379f, -0.001575f, -0.000460f, -0.003233f, -0.000186f, 0.000175f, 0.001622f, -0.017281f, -0.018590f, 0.002013f, -0.001615f, 0.004303f, 0.004007f, 0.012120f, 0.005427f, 0.005741f, 0.002858f, -0.006066f, 0.002206f, 0.015340f, -0.010408f, -0.001245f, 0.000380f, 0.012299f, 0.007354f, 0.001641f, 0.005397f, -0.001064f, 0.004147f, 0.005626f, 0.012597f, 0.006953f, 0.007032f, 0.003751f, 0.002960f, 0.006109f, 0.002148f, -0.008924f, 0.005338f, 0.007233f, -0.002694f, 0.005240f, 0.006920f, -0.002518f, 0.002115f, 0.008691f, 0.003146f, -0.002179f, 0.003057f, 0.008874f, -0.000548f, -0.000162f, -0.001852f, 0.002391f, 0.008287f, -0.002536f, -0.004813f, 0.002362f, -0.002991f, 0.004370f, 0.005169f, -0.006292f, 0.001251f, -0.004083f, 0.000235f, 0.002501f, 0.006960f, 0.005750f, -0.014921f, -0.000081f, 0.007174f, -0.003824f, -0.006272f, 0.000787f, 0.001046f, 0.007260f, -0.000701f, - -0.015867f, -0.007009f, 0.005084f, -0.004491f, 0.007416f, -0.002164f, 0.000003f, 0.001801f, 0.009314f, 0.005772f, 0.003931f, -0.004905f, 0.007647f, -0.001013f, 0.004673f, 0.002218f, 0.000901f, 0.001515f, 0.001574f, -0.000214f, -0.001254f, 0.000934f, -0.000688f, -0.003933f, -0.001650f, -0.001674f, -0.000508f, -0.000981f, -0.000033f, -0.001256f, -0.002793f, 0.001283f, 0.000570f, -0.001509f, 0.000301f, 0.002514f, 0.001898f, 0.000805f, -0.000381f, -0.000539f, -0.000286f, -0.000240f, 0.002466f, -0.000031f, -0.031155f, 0.004520f, 0.003368f, 0.014727f, -0.000426f, 0.011527f, 0.005989f, 0.003032f, -0.018194f, 0.000152f, -0.000136f, -0.014102f, 0.002425f, 0.010759f, 0.002170f, -0.000084f, -0.001193f, -0.005556f, -0.006357f, 0.003022f, 0.004350f, -0.000387f, 0.002955f, 0.003385f, 0.012935f, 0.001578f, 0.005817f, 0.006078f, -0.006545f, 0.001559f, -0.001421f, -0.001740f, -0.000696f, 0.004815f, -0.000567f, -0.003097f, -0.004960f, -0.002962f, 0.001804f, -0.008995f, -0.006300f, 0.003936f, -0.007073f, 0.002467f, -0.011723f, -0.014139f, -0.003465f, 0.017706f, -0.004487f, -0.000944f, 0.010563f, 0.003577f, - 0.000938f, 0.011210f, -0.001403f, 0.001333f, -0.001237f, 0.003349f, 0.007320f, -0.002709f, -0.010941f, 0.007189f, -0.006304f, -0.012254f, -0.004738f, -0.003369f, 0.000166f, 0.004618f, 0.013542f, 0.000170f, 0.000049f, -0.005151f, -0.000311f, 0.007960f, -0.003542f, -0.004002f, 0.009718f, -0.007978f, -0.000428f, 0.004432f, -0.009553f, -0.001840f, -0.003184f, -0.003229f, 0.001285f, -0.005155f, -0.007153f, 0.000516f, 0.004764f, -0.002059f, -0.002970f, -0.004107f, -0.004004f, -0.000531f, 0.003249f, 0.001425f, -0.000203f, -0.001180f, -0.003063f, 0.000206f, -0.000880f, -0.003953f, -0.005665f, -0.004976f, 0.000154f, -0.000601f, 0.002604f, -0.003866f, 0.000041f, -0.000531f, 0.002125f, -0.000270f, 0.001048f, -0.001138f, 0.000238f, 0.000640f, -0.001761f, 0.027692f, 0.000740f, -0.001867f, -0.010742f, -0.006258f, 0.014535f, -0.006132f, 0.011311f, 0.009700f, -0.011386f, -0.002009f, 0.008443f, -0.006463f, -0.003196f, -0.003119f, -0.004231f, 0.001663f, 0.002929f, 0.000343f, 0.005218f, -0.002633f, 0.000687f, 0.001841f, -0.002409f, -0.005463f, -0.005653f, -0.006404f, 0.000344f, 0.007063f, 0.003010f, -0.006327f, - 0.000427f, 0.002671f, 0.013697f, -0.004291f, 0.012249f, -0.011473f, 0.004970f, 0.008742f, -0.006031f, -0.003789f, -0.011644f, 0.005242f, -0.000246f, -0.008272f, 0.007877f, -0.010211f, 0.011107f, -0.000809f, 0.015775f, 0.003460f, 0.001612f, 0.003649f, 0.006501f, 0.003334f, -0.005256f, 0.007644f, -0.001575f, -0.008574f, -0.013213f, -0.003770f, 0.005447f, -0.006771f, -0.004369f, 0.004906f, -0.007434f, 0.014160f, -0.013927f, -0.000278f, 0.009139f, -0.008105f, -0.003235f, -0.014714f, -0.001185f, -0.005898f, -0.003278f, -0.004573f, 0.012448f, 0.004712f, 0.001183f, 0.000291f, 0.010729f, 0.000843f, -0.001022f, 0.008443f, 0.007047f, 0.006271f, 0.013354f, -0.003104f, 0.001223f, -0.004025f, 0.003711f, 0.004192f, 0.000817f, 0.001055f, -0.002356f, -0.000336f, -0.003299f, -0.001851f, 0.000228f, 0.000967f, 0.002054f, -0.001312f, -0.000552f, 0.004062f, 0.001926f, -0.001875f, 0.008252f, -0.000719f, -0.002155f, -0.003689f, -0.002322f, 0.002783f, -0.002944f, 0.000011f, -0.000429f, -0.003204f, 0.001208f, 0.000608f, -0.000876f, 0.001823f, 0.002118f, -0.002513f, 0.002201f, 0.003678f, 0.013379f, 0.023736f, - -0.007025f, -0.010434f, 0.002664f, -0.004301f, 0.006503f, 0.021600f, 0.000074f, -0.005058f, 0.006819f, 0.003659f, 0.006360f, 0.003821f, -0.011849f, 0.000371f, -0.010579f, 0.005798f, 0.005040f, 0.003031f, 0.019764f, -0.001018f, 0.014724f, -0.000459f, -0.000409f, 0.004425f, -0.000167f, 0.015475f, 0.002015f, 0.009717f, -0.003656f, 0.013188f, -0.006017f, 0.006998f, 0.026235f, -0.004371f, -0.006667f, 0.018446f, 0.003865f, 0.011990f, -0.000326f, -0.011594f, 0.003561f, -0.006722f, 0.007912f, -0.013955f, -0.001881f, -0.007292f, 0.007804f, -0.001258f, 0.001593f, 0.014228f, -0.006974f, -0.014469f, 0.004013f, -0.001325f, -0.000693f, 0.011553f, 0.002238f, 0.001572f, -0.005259f, -0.009550f, -0.010039f, -0.003442f, -0.008288f, -0.006346f, 0.008573f, -0.004408f, -0.000818f, -0.003226f, 0.001010f, -0.000047f, 0.007660f, 0.004698f, -0.008763f, -0.012750f, -0.002952f, 0.000312f, 0.003500f, -0.003545f, -0.003093f, 0.010307f, 0.005949f, 0.005029f, 0.001531f, -0.008569f, -0.003893f, 0.004488f, 0.000225f, -0.002895f, 0.003735f, -0.001266f, 0.002292f, -0.002853f, 0.000258f, -0.001678f, -0.004770f, -0.005805f, - -0.001472f, -0.005148f, 0.001382f, -0.000850f, 0.000546f, 0.003359f, -0.000868f, -0.002808f, 0.004310f, 0.000816f, 0.002773f, 0.001489f, 0.000331f, -0.001684f, 0.002169f, -0.000630f, -0.000414f, -0.000260f, -0.000390f, 0.000081f, -0.000797f, 0.001082f, 0.002779f, -0.003408f, 0.000982f, -0.004000f, 0.000692f, -0.001991f, 0.004980f, 0.032495f, -0.017324f, 0.011291f, 0.000271f, 0.005479f, -0.008069f, -0.006353f, -0.003774f, 0.006935f, 0.008968f, 0.001776f, -0.005197f, -0.009665f, 0.004782f, 0.008867f, -0.001952f, 0.002671f, -0.005020f, 0.009683f, 0.003461f, -0.018667f, -0.006268f, 0.005795f, -0.001271f, -0.008027f, -0.000564f, 0.008259f, -0.006373f, 0.002698f, -0.012227f, 0.006863f, 0.015021f, -0.006458f, 0.015899f, 0.000389f, -0.003132f, 0.010566f, -0.000665f, 0.000671f, 0.009495f, -0.021102f, 0.002940f, 0.006195f, 0.008704f, 0.005869f, 0.006752f, -0.009553f, -0.007500f, -0.000481f, 0.003126f, -0.010332f, 0.003148f, 0.009744f, 0.008664f, 0.003141f, 0.026902f, -0.008693f, -0.003625f, -0.012427f, -0.005489f, -0.008197f, -0.011519f, 0.013831f, 0.005600f, 0.013506f, -0.002368f, -0.021989f, - 0.012482f, -0.007855f, 0.006751f, 0.006122f, 0.002810f, 0.003627f, -0.017497f, 0.020304f, 0.004217f, -0.009616f, -0.016804f, -0.010514f, -0.010624f, 0.001312f, 0.008200f, -0.007846f, 0.000387f, 0.005062f, 0.004180f, -0.000128f, -0.003857f, 0.000714f, -0.000629f, 0.003093f, 0.003170f, 0.003563f, 0.002302f, 0.002311f, 0.000998f, -0.006151f, -0.005680f, 0.000131f, -0.002268f, 0.001839f, 0.002170f, -0.002928f, 0.003631f, -0.001080f, 0.001138f, 0.003113f, 0.001103f, 0.002388f, 0.000448f, -0.006530f, -0.000748f, -0.000212f, 0.001951f, 0.001537f, 0.000465f, -0.001574f, -0.002041f, 0.003338f, -0.001333f, 0.008309f, 0.001131f, 0.003523f, -0.038766f, -0.032573f, -0.029999f, 0.007169f, 0.006636f, 0.002932f, 0.001759f, -0.001784f, -0.001970f, 0.001198f, -0.004787f, -0.010645f, -0.007267f, -0.018923f, -0.008128f, -0.008990f, 0.011939f, -0.014459f, -0.006166f, -0.008022f, 0.002895f, 0.000545f, -0.003444f, 0.004703f, -0.000881f, -0.015032f, 0.000096f, 0.014509f, 0.002237f, -0.013371f, -0.011736f, 0.005680f, -0.004499f, 0.012234f, 0.008758f, -0.012616f, 0.013235f, 0.020601f, -0.016545f, -0.017008f, - -0.008872f, 0.006748f, 0.016506f, -0.011095f, -0.011426f, 0.006450f, -0.006417f, 0.001615f, -0.001097f, -0.001114f, -0.018024f, 0.003886f, 0.011603f, -0.005376f, 0.006829f, -0.008817f, -0.010477f, -0.010474f, -0.004925f, -0.018303f, 0.032397f, -0.006420f, -0.001716f, 0.005937f, 0.003920f, 0.007163f, 0.004798f, 0.010325f, 0.005000f, 0.009010f, 0.020230f, -0.025178f, 0.018316f, -0.005739f, -0.004400f, -0.000526f, -0.028038f, -0.000954f, 0.009178f, 0.001140f, 0.001584f, 0.008310f, 0.003377f, -0.000358f, 0.005203f, -0.009286f, 0.011622f, -0.003686f, -0.006022f, 0.006400f, -0.003476f, -0.003218f, 0.001618f, 0.005287f, -0.003334f, -0.005704f, 0.002540f, 0.005140f, 0.000674f, -0.001712f, -0.004784f, -0.002556f, 0.001219f, -0.007113f, -0.004486f, -0.002260f, 0.004054f, -0.001346f, 0.000769f, 0.004271f, 0.000572f, -0.007086f, -0.001183f, -0.005984f, -0.005113f, -0.004965f, -0.002760f, -0.005521f, 0.005483f, -0.001413f, 0.000850f, 0.010986f, -0.001596f, -0.002907f, -0.002349f, 0.006098f, 0.001980f, -0.001642f, -0.001588f, -0.038496f, 0.029529f, 0.007827f, 0.006452f, -0.007126f, 0.028910f, -0.004548f, - 0.013636f, -0.000045f, 0.012274f, -0.017202f, 0.006837f, 0.006734f, 0.002666f, -0.008474f, 0.025754f, -0.006990f, 0.007880f, 0.005895f, 0.026734f, -0.018034f, -0.001123f, 0.007396f, -0.004589f, -0.013246f, 0.008030f, -0.012465f, 0.003274f, 0.003364f, -0.014533f, 0.005607f, 0.001262f, 0.000687f, 0.029425f, 0.018304f, -0.002385f, -0.012066f, -0.009311f, 0.006494f, -0.001482f, -0.017665f, 0.005080f, -0.001613f, 0.005273f, 0.013188f, 0.019617f, -0.013481f, 0.013373f, 0.006572f, -0.008704f, 0.006266f, 0.005210f, -0.013952f, -0.007398f, -0.008782f, 0.014088f, -0.015205f, -0.012725f, -0.034735f, -0.025267f, 0.006936f, -0.004649f, -0.005087f, -0.013221f, -0.026985f, 0.010436f, 0.001958f, -0.000664f, 0.013050f, 0.011347f, 0.015715f, 0.009540f, 0.003707f, -0.000312f, 0.002405f, 0.018044f, -0.013354f, 0.024660f, -0.009148f, -0.006791f, -0.022529f, 0.003733f, -0.004256f, -0.011246f, -0.002171f, 0.002900f, -0.005785f, 0.006701f, -0.002864f, 0.000468f, -0.002916f, -0.000701f, -0.002532f, -0.000347f, 0.003875f, 0.006620f, 0.000340f, 0.005506f, -0.006152f, -0.004034f, -0.003212f, 0.002426f, 0.004419f, - -0.005864f, -0.002485f, -0.002609f, 0.000694f, -0.003162f, 0.002538f, -0.000373f, 0.002177f, 0.004299f, -0.000150f, -0.006236f, 0.008960f, 0.009079f, 0.003449f, 0.000327f, -0.004195f, 0.000024f, -0.002302f, -0.000678f, -0.000515f, 0.010036f, -0.046895f, 0.042711f, 0.030582f, -0.012967f, -0.011003f, 0.011278f, -0.000247f, 0.000709f, 0.020199f, 0.014196f, 0.000246f, -0.003375f, 0.007924f, -0.005125f, -0.003326f, 0.005453f, -0.009564f, 0.011223f, 0.007578f, -0.009961f, 0.012121f, -0.001685f, 0.003012f, -0.001250f, -0.020865f, -0.001485f, 0.014581f, 0.015137f, 0.005723f, 0.006291f, 0.007948f, -0.009895f, -0.012440f, 0.004883f, 0.008950f, -0.000725f, -0.005018f, -0.010876f, 0.004030f, -0.003427f, 0.012836f, 0.015190f, -0.002084f, 0.017563f, -0.009660f, 0.019611f, 0.010458f, 0.023706f, 0.001387f, 0.003179f, -0.007269f, -0.010153f, -0.002210f, 0.018119f, 0.029780f, 0.001497f, 0.022616f, -0.010229f, -0.022376f, 0.002621f, 0.007972f, -0.019584f, 0.019726f, -0.006961f, 0.006750f, -0.042749f, -0.018592f, -0.000596f, -0.010539f, 0.007896f, 0.013687f, 0.029150f, 0.005798f, -0.000095f, -0.014775f, - -0.025922f, 0.006269f, 0.000791f, -0.021831f, 0.008500f, 0.004313f, -0.015821f, -0.004746f, 0.003401f, 0.016646f, 0.000080f, 0.004796f, 0.004895f, 0.008514f, 0.006966f, -0.014713f, 0.004818f, -0.000594f, -0.003158f, -0.000024f, -0.001007f, -0.002645f, 0.005817f, 0.005445f, -0.006289f, -0.002808f, -0.000379f, 0.003791f, -0.002590f, 0.005552f, 0.000587f, 0.003952f, 0.003538f, -0.005022f, 0.003240f, 0.003963f, 0.010795f, 0.000669f, 0.006045f, 0.006597f, 0.001427f, 0.007803f, 0.002672f, 0.003860f, 0.001590f, 0.000687f, 0.002669f, 0.009225f, -0.004368f, -0.009158f, 0.001874f, 0.010701f, -0.018852f, 0.030304f, -0.014095f, 0.002982f, 0.022445f, 0.023280f, -0.002551f, -0.014550f, -0.008185f, -0.008062f, 0.000997f, -0.018583f, -0.014947f, 0.014217f, 0.002964f, 0.008882f, 0.010916f, 0.013119f, -0.006992f, 0.008260f, -0.004200f, 0.010036f, 0.043984f, 0.009837f, -0.022408f, 0.020262f, 0.023265f, 0.000343f, -0.004797f, 0.000571f, -0.012743f, -0.017122f, -0.009429f, 0.023865f, 0.015657f, 0.012909f, 0.020046f, 0.003546f, -0.004447f, -0.010288f, -0.027385f, 0.011615f, 0.013136f, 0.007092f, - -0.005069f, -0.003959f, -0.010022f, 0.003020f, 0.020724f, 0.014217f, -0.025630f, 0.015685f, -0.021752f, 0.021339f, 0.003803f, 0.007579f, 0.008937f, -0.004335f, -0.012699f, -0.004239f, 0.007946f, 0.037415f, -0.006977f, 0.018369f, -0.009378f, -0.017853f, 0.019281f, 0.017556f, 0.003681f, 0.003528f, 0.017385f, 0.005780f, 0.000130f, -0.002717f, -0.012609f, -0.004218f, -0.018059f, 0.004870f, -0.014243f, -0.007262f, 0.025997f, -0.002042f, -0.000253f, -0.000076f, 0.011449f, -0.004674f, 0.002711f, 0.007630f, 0.011521f, 0.012944f, 0.010278f, 0.003827f, 0.004909f, 0.005598f, 0.010316f, -0.002349f, -0.010107f, 0.012240f, 0.004044f, 0.006488f, 0.006729f, -0.000254f, -0.001978f, 0.000223f, -0.006741f, 0.002948f, 0.011074f, 0.000794f, 0.000457f, -0.003131f, -0.005636f, 0.009597f, 0.009806f, 0.001559f, 0.018241f, -0.002966f, 0.007212f, 0.014277f, -0.000216f, 0.003566f, -0.003325f, -0.006229f, 0.000337f, 0.002677f, 0.004165f, 0.010141f, 0.003439f, 0.007465f, 0.001738f, 0.001384f, 0.009871f, -0.002325f, 0.000875f, 0.007944f, 0.001320f, 0.002074f, 0.000427f, 0.003411f, 0.000011f, 0.004863f, - -0.001109f, 0.003494f, 0.000432f, 0.015716f, -0.008128f, 0.015983f, 0.020428f, -0.023700f, 0.015739f, 0.009092f, -0.005859f, 0.001377f, 0.010767f, -0.009958f, -0.021011f, 0.031226f, 0.006587f, 0.005924f, 0.005663f, 0.018519f, 0.005220f, -0.018755f, 0.019775f, -0.026864f, -0.031540f, 0.002746f, 0.003550f, -0.017331f, -0.005898f, -0.051263f, -0.036516f, -0.027337f, -0.009475f, -0.028116f, -0.014093f, 0.010663f, -0.025529f, 0.017743f, 0.016044f, -0.020565f, 0.026300f, 0.014204f, -0.005483f, -0.002640f, -0.014045f, 0.000639f, -0.024859f, 0.053946f, 0.015451f, 0.008458f, -0.027217f, 0.006620f, -0.008631f, 0.035816f, -0.007523f, -0.000847f, -0.032961f, 0.032014f, 0.001784f, 0.012604f, 0.010000f, 0.018728f, 0.010183f, -0.007108f, 0.010295f, -0.015767f, 0.015748f, -0.005696f, 0.009114f, -0.025298f, 0.057226f, 0.008949f, -0.027133f, 0.014668f, 0.016409f, 0.013332f, 0.019182f, 0.016925f, -0.026392f, 0.020889f, -0.000965f, 0.016893f, -0.013591f, 0.005176f, -0.033864f, 0.014274f, 0.014077f, 0.004463f, -0.008504f, -0.025011f, -0.002134f, 0.017550f, -0.022929f, -0.002791f, -0.003166f, 0.000174f, - 0.006331f, 0.005497f, -0.005590f, 0.010022f, -0.001113f, -0.004446f, 0.007122f, 0.006236f, -0.007587f, -0.005319f, -0.015228f, -0.000563f, -0.014219f, 0.008553f, 0.001682f, 0.001750f, 0.010102f, 0.016921f, 0.009849f, 0.008186f, 0.004613f, -0.005453f, -0.002952f, 0.000611f, -0.011304f, -0.008333f, -0.003121f, -0.003087f, 0.005062f, 0.013910f, 0.003532f, 0.008997f, -0.002649f, 0.000361f, 0.003519f, 0.000134f, 0.002871f, 0.010729f, -0.041771f, 0.011577f, -0.005815f, -0.004165f, 0.024627f, -0.004661f, -0.004321f, 0.002288f, 0.022040f, -0.005880f, 0.012813f, -0.010928f, -0.012848f, -0.016409f, -0.020756f, 0.035768f, 0.018613f, 0.012903f, -0.011367f, -0.032982f, -0.040422f, 0.019299f, 0.013287f, -0.014429f, 0.009521f, -0.009844f, 0.000873f, 0.035592f, 0.015513f, -0.010241f, 0.019178f, -0.006620f, 0.009913f, -0.012014f, 0.012007f, -0.026491f, -0.038846f, -0.015182f, -0.017371f, -0.003058f, 0.045290f, -0.037048f, 0.021280f, 0.012153f, 0.009199f, -0.008279f, 0.017786f, 0.007856f, -0.035527f, -0.045219f, -0.016119f, -0.020688f, 0.051003f, 0.036904f, -0.012434f, -0.022893f, -0.001961f, -0.023490f, - -0.004999f, 0.037057f, 0.034370f, 0.019415f, -0.030428f, 0.006443f, -0.023780f, 0.037152f, 0.017645f, -0.004057f, 0.000076f, 0.012431f, -0.022069f, 0.004834f, 0.032830f, 0.017745f, -0.029793f, 0.032200f, -0.016540f, 0.019197f, 0.051262f, 0.019473f, -0.012124f, -0.015308f, 0.043869f, 0.004729f, -0.002714f, -0.020060f, 0.007701f, -0.009516f, 0.002792f, -0.005984f, -0.001066f, -0.001414f, -0.021898f, 0.002648f, -0.002748f, -0.006347f, 0.009596f, -0.001809f, -0.007756f, 0.001283f, -0.004615f, 0.001105f, -0.005721f, -0.008631f, 0.007571f, -0.009556f, -0.006047f, 0.004363f, 0.011416f, -0.000681f, 0.008066f, 0.006538f, -0.001512f, -0.000146f, -0.010985f, 0.001397f, 0.003740f, -0.009426f, 0.012514f, 0.006055f, -0.007594f, -0.005224f, -0.005288f, -0.002480f, -0.012239f, 0.007155f, 0.011689f, 0.000428f, -0.009088f, -0.005415f, 0.006111f, -0.002757f, 0.005887f, 0.008107f, 0.000679f, 0.002927f, 0.000115f, -0.000029f, -0.033663f, -0.013525f, 0.054882f, 0.025110f, 0.031391f, 0.007238f, -0.046617f, 0.013678f, -0.037926f, 0.024022f, 0.068735f, 0.024078f, 0.042920f, -0.020128f, 0.012001f, 0.019640f, - -0.002637f, 0.004656f, -0.018327f, 0.003976f, 0.026696f, 0.000885f, -0.007815f, -0.025154f, 0.012993f, 0.009609f, -0.025616f, 0.012525f, -0.010069f, 0.018632f, 0.026839f, 0.028566f, 0.034532f, 0.002974f, -0.027755f, 0.006813f, 0.016027f, -0.000853f, 0.047215f, 0.003658f, -0.055451f, -0.034995f, 0.015073f, -0.014515f, -0.065344f, 0.001807f, 0.027069f, 0.009649f, 0.002347f, -0.006440f, 0.033580f, -0.027361f, -0.033800f, -0.006967f, -0.012457f, -0.032910f, -0.002350f, 0.001823f, -0.019406f, -0.028413f, -0.017624f, 0.000828f, 0.003477f, -0.040802f, 0.011463f, -0.017330f, 0.009228f, 0.045927f, -0.006909f, -0.016701f, 0.031821f, -0.006177f, 0.026398f, -0.026082f, 0.016845f, 0.000596f, -0.030125f, -0.033545f, 0.058990f, 0.005254f, 0.007472f, 0.002280f, -0.000513f, 0.059173f, 0.048215f, 0.014878f, -0.005072f, 0.022873f, -0.012053f, 0.007450f, 0.013375f, -0.003123f, 0.017760f, 0.007349f, 0.004757f, -0.027746f, 0.015598f, 0.008147f, -0.002121f, 0.001933f, -0.009808f, 0.007297f, 0.020474f, -0.004026f, -0.007445f, -0.012234f, -0.013371f, 0.012139f, 0.014343f, 0.000274f, -0.000548f, -0.012061f, - -0.012989f, 0.001677f, -0.018389f, 0.001991f, -0.006536f, 0.018095f, 0.006009f, 0.000271f, -0.012378f, -0.021081f, -0.005312f, -0.010504f, -0.014480f, 0.007452f, 0.007637f, 0.015444f, 0.005668f, 0.001823f, 0.017557f, -0.002688f, 0.047166f, 0.006370f, -0.063920f, -0.028771f, 0.040135f, -0.057159f, 0.032935f, -0.054084f, 0.004723f, -0.008421f, -0.078294f, -0.010104f, 0.035697f, 0.072593f, 0.023362f, -0.010267f, 0.017888f, -0.027510f, -0.008975f, -0.062879f, -0.003178f, -0.042639f, -0.005836f, -0.009165f, -0.029284f, -0.031220f, -0.010094f, 0.018277f, -0.028122f, 0.019826f, 0.036487f, -0.037039f, 0.013862f, 0.012218f, 0.006759f, -0.039443f, -0.005682f, -0.000230f, -0.041140f, 0.011000f, 0.053256f, -0.003847f, -0.076385f, 0.027351f, -0.045981f, -0.118215f, 0.033774f, -0.048805f, -0.060480f, 0.003386f, -0.027476f, 0.008587f, 0.021332f, -0.011535f, 0.031581f, -0.025931f, 0.027642f, -0.021382f, -0.052557f, 0.000420f, 0.038329f, 0.036444f, -0.068410f, 0.010223f, -0.007801f, -0.051157f, -0.013270f, -0.012617f, 0.089612f, 0.044592f, 0.052754f, 0.023897f, 0.023200f, 0.055242f, 0.079732f, -0.018049f, - -0.037101f, -0.040946f, 0.007660f, -0.050890f, -0.015200f, 0.026386f, 0.043299f, 0.006033f, 0.004367f, 0.037191f, -0.008127f, -0.021106f, -0.028219f, 0.022391f, 0.025904f, 0.024942f, 0.006326f, 0.028606f, 0.012379f, -0.017609f, -0.003396f, -0.017068f, 0.026632f, 0.004154f, -0.002540f, -0.029374f, 0.009408f, 0.023390f, 0.003102f, 0.000344f, 0.023470f, -0.018423f, -0.011714f, 0.012573f, 0.001834f, -0.009377f, -0.017092f, -0.005782f, 0.027545f, -0.001468f, -0.059214f, -0.005728f, -0.000918f, -0.013884f, -0.011088f, -0.015992f, -0.009105f, 0.012809f, 0.012234f, 0.006703f, 0.004721f, -0.010074f, -0.001170f, -0.012379f, 0.103806f, 0.112206f, -0.065831f, -0.026084f, 0.050126f, -0.022722f, 0.020246f, -0.031260f, 0.009395f, -0.032124f, -0.060101f, 0.081942f, 0.012005f, 0.025715f, 0.021138f, 0.007645f, 0.010830f, 0.002426f, 0.016677f, 0.020321f, -0.058132f, -0.048037f, -0.041963f, -0.039749f, -0.029653f, -0.018805f, -0.015448f, -0.031280f, -0.017592f, -0.026529f, 0.030165f, 0.022776f, 0.011658f, -0.014673f, 0.006208f, -0.061693f, -0.030843f, 0.016636f, -0.055866f, -0.005300f, 0.027349f, 0.048184f, - 0.007191f, 0.009219f, -0.020561f, -0.036298f, -0.042517f, 0.034082f, -0.004519f, 0.033730f, -0.119410f, 0.007280f, -0.013778f, 0.013564f, 0.073207f, 0.008768f, 0.012321f, 0.008026f, -0.021284f, -0.024851f, 0.000797f, -0.005104f, -0.066979f, 0.014143f, -0.024485f, 0.059926f, 0.004143f, -0.066232f, -0.089645f, -0.056077f, -0.011206f, -0.063356f, -0.061609f, -0.038632f, 0.043669f, -0.011621f, -0.042391f, -0.057689f, 0.048037f, -0.006538f, 0.028475f, -0.032647f, 0.017519f, 0.046829f, -0.031251f, -0.045917f, -0.018989f, -0.023935f, 0.049521f, 0.009947f, -0.021554f, 0.018982f, 0.014603f, 0.042488f, 0.026788f, 0.011988f, -0.038081f, -0.038606f, -0.008272f, 0.003889f, -0.009902f, 0.006289f, 0.026566f, -0.006411f, -0.002146f, -0.019971f, -0.014088f, -0.011212f, -0.020039f, -0.004490f, 0.008318f, 0.011427f, 0.062491f, 0.003418f, -0.015613f, -0.005748f, 0.008388f, 0.018705f, -0.001108f, 0.030056f, 0.012969f, 0.070468f, 0.011052f, -0.001465f, 0.002591f, 0.012088f, 0.003501f, -0.003358f, -0.020419f, -0.031353f, 0.116230f, -0.068400f, 0.043722f, 0.082198f, -0.040356f, 0.011166f, 0.065527f, -0.084293f, - 0.002728f, 0.008875f, 0.040142f, -0.094453f, 0.004608f, 0.005838f, 0.030275f, -0.041484f, -0.000101f, 0.016357f, -0.055887f, 0.007757f, -0.004829f, -0.010790f, 0.029791f, -0.009597f, -0.008980f, 0.012409f, -0.007891f, -0.009847f, 0.029194f, -0.028328f, 0.007573f, -0.011927f, 0.006965f, -0.018298f, -0.010568f, -0.022217f, -0.000358f, 0.003820f, 0.057726f, 0.019002f, 0.027702f, -0.006316f, -0.000019f, 0.042880f, -0.002518f, -0.016777f, 0.023585f, 0.017495f, -0.020206f, -0.057059f, 0.051231f, -0.056866f, 0.008538f, 0.026732f, 0.034894f, -0.055960f, 0.058665f, 0.095060f, -0.052895f, -0.097354f, 0.129086f, 0.045529f, -0.064843f, 0.029298f, -0.062456f, -0.076969f, -0.038952f, -0.014348f, -0.080802f, 0.064473f, -0.112350f, 0.033190f, 0.052494f, -0.044617f, -0.149957f, 0.140792f, -0.025329f, -0.036690f, 0.093240f, -0.094037f, 0.047636f, 0.079955f, -0.024878f, -0.022314f, 0.024100f, 0.027274f, -0.015895f, 0.009651f, 0.007388f, 0.025158f, -0.013408f, -0.009534f, 0.027611f, -0.000347f, 0.005504f, -0.003293f, 0.004458f, 0.022505f, 0.015949f, -0.003363f, -0.021254f, 0.033114f, 0.035172f, -0.007097f, - -0.031979f, -0.003558f, 0.014345f, 0.003053f, 0.021272f, -0.000148f, 0.018477f, 0.007997f, 0.027544f, 0.020857f, 0.022964f, -0.035864f, 0.008127f, -0.000935f, 0.000403f, -0.000105f, -0.022801f, -0.038712f, 0.055223f, -0.009328f, -0.053162f, 0.018693f, 0.011508f, 0.005211f, -0.009722f, -0.036190f, -0.028081f, 0.065155f, -0.042608f, -0.034034f, -0.068144f, -0.031270f, 0.040858f, 0.031738f, -0.018014f, -0.022551f, 0.021871f, 0.054067f, -0.022921f, 0.040833f, 0.048892f, -0.034345f, -0.004728f, 0.029909f, -0.007466f, -0.000001f, -0.009596f, 0.002739f, -0.049474f, 0.013756f, -0.010789f, 0.001811f, 0.012213f, -0.009876f, 0.010497f, -0.020510f, -0.041393f, -0.019588f, -0.072249f, 0.009181f, 0.000090f, -0.010708f, 0.013698f, 0.007014f, -0.004472f, -0.016422f, 0.029398f, 0.046146f, -0.048131f, 0.070849f, -0.007716f, 0.009540f, 0.010518f, 0.062633f, 0.028968f, 0.045853f, -0.057161f, -0.014157f, -0.010499f, 0.081610f, -0.075805f, -0.025912f, 0.037473f, -0.002665f, -0.087575f, 0.006026f, -0.017840f, -0.014954f, 0.040399f, 0.044030f, 0.003378f, -0.032929f, 0.071285f, -0.029845f, 0.118686f, 0.001624f, - -0.054631f, -0.000017f, -0.009237f, -0.062100f, 0.119248f, 0.023955f, -0.017434f, -0.140765f, -0.070060f, 0.039718f, -0.051522f, -0.046611f, 0.055457f, -0.206372f, 0.005522f, 0.040716f, 0.030185f, -0.016661f, 0.058372f, -0.035485f, -0.004284f, 0.000305f, 0.030561f, -0.008559f, 0.006505f, 0.041166f, -0.002543f, -0.010347f, -0.012690f, -0.014775f, -0.000323f, 0.004636f, -0.002410f, -0.006209f, 0.026912f, -0.037203f, -0.008017f, 0.004442f, 0.006543f, -0.022285f, -0.037383f, -0.009589f, -0.011245f, -0.005392f, -0.002810f, 0.007306f, -0.041508f, 0.003216f, 0.032068f, -0.019775f, 0.024598f, 0.018598f, -0.017906f, 0.001130f, -0.013022f, 0.005273f, 0.009252f, -0.019519f, 0.055140f, -0.026632f, -0.024237f, -0.031753f, -0.028803f, -0.014385f, 0.025889f, 0.035353f, 0.021324f, 0.088799f, -0.017828f, 0.019662f, -0.009178f, -0.046719f, 0.022494f, -0.029984f, -0.017199f, 0.017859f, 0.039461f, -0.042863f, 0.045559f, 0.004743f, -0.002978f, 0.093640f, -0.019787f, -0.011025f, 0.069949f, -0.045698f, 0.061711f, 0.026369f, -0.015454f, 0.024334f, 0.025600f, 0.057657f, 0.059827f, 0.017045f, -0.049815f, 0.102282f, - -0.103836f, 0.002949f, 0.093158f, -0.051043f, 0.020082f, -0.011660f, -0.012873f, -0.109250f, 0.073123f, 0.019023f, 0.032057f, 0.034126f, -0.023319f, -0.054627f, -0.041435f, -0.033479f, 0.004409f, 0.102830f, -0.000050f, 0.080555f, -0.027717f, -0.062850f, 0.002666f, 0.022831f, -0.052000f, 0.082693f, 0.033048f, 0.040404f, 0.081342f, 0.052726f, -0.088671f, 0.033073f, -0.126850f, -0.156159f, 0.002449f, 0.130692f, 0.081411f, 0.010180f, -0.093595f, -0.331777f, -0.061764f, 0.102047f, 0.116234f, 0.165526f, -0.009290f, -0.210834f, -0.119566f, -0.110016f, 0.167369f, 0.128215f, -0.024104f, -0.084469f, -0.050098f, -0.102632f, -0.013957f, 0.131384f, -0.013698f, 0.030465f, 0.021079f, -0.021950f, -0.048660f, 0.071466f, -0.030081f, 0.039731f, 0.028415f, -0.003042f, -0.067644f, 0.091129f, -0.037033f, -0.017563f, 0.025489f, 0.023438f, -0.050488f, 0.000549f, -0.016520f, -0.018937f, 0.005284f, -0.002032f, 0.035582f, -0.065633f, 0.033610f, -0.078929f, -0.013497f, -0.013335f, 0.092501f, 0.002589f, 0.024309f, -0.057292f, 0.028764f, -0.021638f, 0.040241f, 0.049317f, -0.025049f, -0.056934f, 0.019328f, 0.014607f, - 0.046725f, 0.039417f, -0.010629f, -0.015546f, -0.008046f, 0.032408f, 0.005087f, 0.032660f, 0.013574f, -0.081110f, 0.068363f, -0.050960f, -0.008691f, -0.032964f, 0.031863f, -0.037050f, -0.001421f, -0.003812f, -0.009912f, 0.007711f, 0.035111f, -0.036824f, 0.016420f, 0.002969f, -0.008356f, 0.000580f, 0.024833f, -0.031138f, -0.008331f, -0.004522f, 0.051380f, -0.051775f, 0.013960f, -0.022675f, 0.034132f, -0.037804f, -0.010530f, 0.012992f, -0.007088f, 0.007194f, -0.024228f, -0.004324f, 0.022385f, -0.006725f, 0.008810f, 0.007012f, 0.004898f, 0.027669f, -0.025374f, 0.017348f, 0.020246f, 0.024686f, -0.003183f, -0.057374f, 0.007640f, 0.006778f, 0.023656f, 0.021292f, -0.003871f, 0.005674f, -0.009351f, -0.026123f, -0.004124f, 0.011895f, -0.004594f, 0.034766f, -0.028029f, -0.009456f, -0.056247f, 0.016820f, 0.006454f, -0.009007f, 0.012987f, 0.010950f, -0.000465f, -0.029322f, 0.009464f, 0.028450f, -0.005198f, -0.004276f, 0.011592f, -0.011644f, 0.021700f, -0.013283f, 0.004002f, -0.026966f, 0.013084f, 0.004930f, -0.003873f, -0.007494f, 0.015939f, -0.007594f, -0.010863f, -0.016347f, 0.017319f, -0.000856f, - -0.008067f, -0.003800f, 0.017253f, -0.006843f, 0.007872f, -0.009521f, -0.005180f, -0.001080f, 0.001052f, -0.000385f, -0.008801f, 0.000796f, 0.000751f, -0.008023f, 0.008441f, -0.007634f, 0.022470f, 0.003247f, 0.003438f, -0.030700f, 0.009097f, -0.000873f, -0.011635f, 0.013522f, 0.026331f, -0.018989f, -0.003675f, -0.001006f, -0.012909f, 0.020152f, -0.002838f, 0.002607f, -0.012914f, 0.006730f, -0.002294f, 0.002173f, -0.008010f, 0.007850f, -0.007987f, -0.046315f, 0.112296f, 0.030612f, 0.027750f, -0.014850f, -0.035945f, -0.034586f, 0.009824f, 0.021803f, 0.003446f, -0.001281f, -0.000114f, -0.016405f, -0.002978f, 0.007885f, -0.004341f, 0.003395f, -0.001748f, -0.016435f, -0.000847f, 0.008139f, 0.012836f, -0.011440f, 0.003160f, 0.008216f, -0.016368f, 0.026879f, -0.016310f, -0.014244f, -0.014136f, 0.003671f, 0.007874f, 0.012469f, -0.013598f, 0.017397f, -0.025056f, 0.016609f, 0.014833f, -0.011045f, -0.001123f, -0.000805f, -0.002864f, 0.012942f, -0.013924f, 0.004058f, -0.004437f, -0.018048f, 0.025582f, -0.014291f, -0.000461f, -0.010591f, -0.003285f, 0.017808f, -0.023237f, 0.009457f, 0.006475f, -0.010174f, - 0.008573f, -0.019861f, 0.005786f, 0.008242f, -0.014716f, 0.000339f, 0.007951f, -0.013654f, 0.013722f, -0.018843f, 0.005256f, 0.019274f, -0.028207f, 0.008107f, -0.010758f, 0.001929f, 0.011126f, -0.008453f, -0.004287f, 0.001975f, 0.002451f, -0.001709f, 0.007964f, -0.006053f, -0.005169f, 0.003848f, -0.004618f, 0.002515f, -0.001758f, 0.003313f, 0.003164f, -0.004583f, 0.002320f, -0.000888f, 0.004137f, -0.003787f, -0.001026f, 0.002744f, 0.000122f, -0.002200f, -0.006532f, 0.004132f, 0.004385f, -0.001006f, -0.004507f, 0.004305f, -0.000193f, -0.002063f, 0.004488f, -0.009374f, -0.001871f, 0.005262f, -0.006714f, 0.009781f, -0.005985f, 0.000434f, 0.016299f, -0.004759f, 0.011749f, -0.006691f, -0.000624f, 0.012912f, -0.009044f, -0.003445f, 0.016848f, -0.086763f, -0.203585f, 0.057642f, 0.199321f, 0.137083f, 0.216741f, -0.120648f, -0.128423f, -0.175122f, -0.202719f, 0.004368f, 0.156435f, 0.161620f, 0.168737f, 0.033138f, -0.055740f, -0.110621f, -0.158778f, -0.134574f, 0.010499f, 0.104567f, 0.124031f, 0.111601f, 0.026714f, -0.030820f, -0.019244f, -0.087116f, -0.097442f, -0.041099f, -0.002642f, 0.037502f, - 0.082192f, 0.040157f, 0.029821f, 0.041176f, -0.020542f, -0.048864f, -0.007992f, -0.078129f, -0.036647f, 0.000874f, 0.012414f, 0.059569f, 0.069356f, 0.006167f, -0.010498f, -0.006502f, -0.051166f, -0.013853f, -0.000710f, -0.010636f, 0.017723f, 0.034278f, -0.007301f, -0.002707f, -0.013444f, -0.021386f, 0.004394f, 0.002124f, -0.002331f, 0.038675f, 0.026180f, 0.009680f, -0.000981f, -0.036456f, -0.052718f, -0.041685f, 0.003014f, 0.039246f, 0.033690f, 0.044215f, 0.006017f, 0.001156f, 0.010058f, -0.054861f, -0.031226f, -0.025795f, -0.004688f, 0.042105f, 0.009524f, 0.014129f, 0.039280f, -0.022664f, -0.032974f, -0.007673f, -0.005627f, 0.012180f, 0.014163f, 0.004432f, 0.007909f, 0.003465f, -0.020240f, -0.020974f, -0.005112f, -0.000004f, 0.015089f, 0.021832f, 0.007168f, -0.003082f, -0.004735f, -0.006210f, 0.005475f, -0.006124f, -0.025737f, -0.004039f, 0.006076f, 0.011932f, 0.025640f, 0.006245f, -0.005308f, -0.012316f, -0.021070f, -0.004609f, 0.002133f, 0.006873f, 0.012066f, 0.015065f, 0.011874f, -0.006080f, -0.018255f, -0.019249f, -0.016790f, -0.001924f, 0.008370f, 0.009260f, 0.024772f, 0.025426f, - 0.012403f, -0.005488f, -0.031250f, -0.033061f, -0.015317f, -0.011587f, 0.011690f, 0.030864f, 0.022879f, 0.009890f, 0.000135f, -0.002457f, -0.004019f, -0.009442f, -0.015520f, -0.014931f, -0.006369f, 0.002190f, 0.006470f, 0.010351f, 0.015042f, 0.014342f, 0.005500f, -0.005569f, -0.012064f, -0.013063f, -0.009696f, -0.003674f, 0.001990f, 0.004618f, 0.004563f, 0.005541f, 0.006380f, 0.004904f, 0.000138f, -0.003747f, -0.006477f, -0.005286f, -0.001929f, 0.001114f, 0.002570f, 0.000444f, -0.000286f, 0.000454f, 0.000666f, 0.001907f, 0.002026f, -0.000068f, -0.002136f, -0.000890f, 0.001664f, 0.000426f, -0.001911f, -0.001569f, -0.000259f, -0.001295f, -0.002131f, -0.000341f, 0.003857f, 0.005222f, 0.001622f, -0.001284f, -0.001952f, -0.001390f, -0.000883f, -0.001504f, -0.002097f, -0.000826f, 0.001474f, 0.002369f, 0.001335f, 0.001086f, 0.001304f, 0.000246f, -0.000836f, -0.001765f, -0.001801f, -0.001266f, -0.000422f, 0.000868f, 0.001458f, 0.001067f, 0.000868f, 0.000435f, -0.000235f, -0.000882f, -0.001221f, -0.000930f, 0.000030f, 0.000634f, 0.000707f, 0.000523f, 0.000157f, -0.000332f, -0.000734f, -0.000520f, - 0.000079f, 0.000364f, 0.000390f, 0.000377f, 0.000165f, -0.000192f, -0.000340f, -0.000213f, -0.000100f, -0.000026f, 0.000056f, 0.000077f, 0.000054f, 0.000025f, -0.000010f, -0.000039f}, - {-0.008210f, -0.005458f, 0.002284f, -0.002113f, -0.002598f, -0.004007f, 0.000965f, 0.007921f, -0.002555f, 0.000017f, 0.000804f, 0.013573f, -0.000274f, 0.002586f, -0.005594f, -0.003900f, -0.001393f, -0.003675f, -0.003934f, -0.003707f, -0.002510f, -0.003524f, -0.004632f, 0.003875f, 0.006456f, -0.003568f, 0.000982f, 0.000243f, -0.007330f, 0.000187f, -0.000163f, -0.005223f, 0.009814f, -0.005037f, 0.005581f, 0.002105f, -0.001504f, -0.005655f, -0.005201f, 0.005024f, -0.002624f, -0.001927f, -0.007750f, -0.002002f, -0.000716f, -0.003685f, 0.010354f, -0.002289f, -0.000646f, 0.004297f, -0.000750f, -0.008655f, -0.004426f, -0.007635f, -0.005101f, 0.011768f, -0.003309f, 0.013090f, -0.000047f, -0.000578f, -0.002372f, 0.001493f, 0.000560f, -0.007840f, -0.008309f, 0.006020f, 0.000700f, 0.004080f, -0.000547f, 0.004757f, 0.002955f, -0.007603f, -0.000038f, 0.002476f, 0.004091f, -0.000055f, 0.003456f, 0.006225f, -0.008343f, 0.002160f, 0.002164f, -0.004230f, 0.000015f, 0.001853f, 0.006015f, 0.003901f, -0.004163f, -0.001316f, -0.000209f, 0.001352f, 0.001927f, 0.001398f, 0.001590f, -0.001154f, 0.000838f, -0.002332f, - -0.001435f, -0.000093f, 0.003078f, 0.001283f, -0.000066f, -0.000282f, -0.002045f, 0.001151f, -0.000132f, -0.000774f, -0.000149f, 0.001015f, 0.000487f, 0.000708f, 0.001999f, -0.000727f, 0.000897f, 0.002294f, 0.017836f, -0.001499f, -0.002267f, -0.004694f, -0.009907f, -0.012198f, -0.011170f, 0.001135f, 0.009765f, 0.003355f, 0.013070f, 0.004428f, -0.006079f, 0.001494f, -0.015780f, -0.013378f, 0.006068f, -0.004764f, 0.008590f, -0.000913f, -0.007070f, -0.003570f, 0.017159f, 0.003755f, 0.007195f, -0.000432f, 0.005485f, -0.002675f, -0.002225f, 0.003318f, -0.002483f, -0.007640f, -0.000660f, 0.002660f, -0.000983f, -0.000553f, 0.010876f, 0.006693f, -0.011909f, 0.000170f, -0.007593f, 0.012340f, 0.007251f, 0.000420f, -0.004524f, -0.004644f, 0.005620f, 0.003093f, 0.009178f, -0.008721f, 0.014631f, 0.017980f, -0.005086f, 0.017515f, -0.000130f, 0.009132f, 0.005633f, -0.003358f, 0.002948f, 0.014019f, -0.001757f, -0.009629f, 0.008054f, 0.002533f, -0.000211f, -0.001196f, -0.001783f, 0.000504f, 0.008134f, -0.005395f, 0.002887f, 0.002109f, 0.004256f, -0.006932f, 0.007661f, 0.001698f, -0.000793f, 0.002356f, - 0.001023f, 0.000653f, -0.000438f, 0.001654f, 0.004457f, -0.003323f, 0.001732f, 0.001109f, 0.001811f, -0.003043f, 0.000098f, -0.004821f, 0.000709f, 0.002112f, -0.002839f, -0.001848f, 0.000514f, 0.001197f, 0.001421f, 0.000321f, 0.001284f, -0.000110f, -0.000091f, 0.002765f, -0.000388f, 0.000613f, -0.015497f, -0.012108f, 0.003863f, -0.006837f, 0.004952f, -0.008555f, -0.012169f, -0.011246f, 0.001618f, -0.008390f, 0.007764f, 0.005701f, -0.010791f, -0.002188f, 0.004458f, 0.001078f, 0.005473f, -0.003152f, 0.005662f, 0.006958f, -0.009570f, 0.003121f, 0.003218f, -0.007684f, 0.004593f, 0.000837f, -0.009062f, 0.006809f, 0.006581f, -0.003200f, 0.007187f, 0.001065f, 0.005877f, 0.005311f, 0.002260f, -0.003388f, -0.000794f, -0.010890f, -0.003236f, -0.005394f, 0.005815f, 0.006099f, 0.002452f, -0.017473f, 0.003407f, 0.007416f, -0.003895f, 0.012349f, -0.010003f, -0.013320f, 0.001083f, -0.003928f, 0.004338f, -0.009502f, 0.017457f, -0.000882f, -0.005751f, 0.001735f, 0.000286f, 0.009932f, -0.000495f, -0.005747f, -0.000314f, -0.003894f, -0.005273f, -0.006740f, 0.003254f, -0.012206f, 0.001328f, 0.000471f, - 0.003665f, 0.008195f, 0.002763f, 0.005837f, 0.009083f, -0.006142f, -0.001013f, 0.002031f, -0.007633f, 0.005283f, -0.002552f, 0.004504f, 0.003656f, -0.002375f, -0.001746f, 0.006619f, -0.002067f, -0.006014f, 0.000931f, -0.000632f, -0.000148f, -0.003245f, 0.004889f, -0.003707f, 0.001908f, 0.001804f, 0.002532f, -0.000958f, -0.000922f, 0.000291f, -0.001769f, 0.000720f, -0.001186f, 0.000111f, -0.000705f, -0.001823f, 0.002439f, -0.000934f, 0.000599f, -0.000336f, 0.000232f, 0.000019f, 0.000509f, -0.003111f, -0.037147f, -0.000533f, -0.004469f, 0.026302f, 0.000649f, 0.001660f, 0.005668f, -0.003580f, 0.013282f, 0.003335f, -0.014055f, -0.007521f, -0.016503f, 0.003018f, -0.001096f, -0.005615f, -0.004732f, -0.005997f, -0.003808f, 0.020480f, -0.009328f, -0.004563f, -0.005258f, -0.015475f, -0.000608f, -0.003745f, 0.005363f, 0.007790f, -0.002472f, -0.000031f, 0.004596f, -0.004694f, -0.001250f, -0.001956f, -0.005582f, 0.006308f, 0.012621f, -0.001433f, -0.002033f, 0.010013f, -0.013107f, 0.008616f, -0.010456f, -0.021111f, -0.013380f, -0.021025f, -0.003167f, -0.011956f, -0.008036f, 0.002297f, 0.008467f, 0.004349f, - 0.006066f, -0.003034f, 0.007348f, -0.008884f, -0.001972f, 0.007731f, 0.000022f, 0.010705f, -0.004379f, 0.003360f, -0.007391f, -0.005537f, 0.005578f, -0.012804f, 0.003514f, 0.009777f, -0.012510f, 0.001411f, -0.003269f, -0.005717f, -0.008185f, -0.007315f, -0.002405f, -0.003142f, 0.002053f, 0.009168f, -0.004300f, 0.002976f, -0.007501f, -0.007944f, -0.006284f, 0.003235f, 0.004381f, 0.001304f, -0.001923f, -0.002190f, -0.003322f, 0.002047f, -0.002806f, -0.002366f, -0.001091f, -0.002181f, -0.000226f, 0.000636f, -0.004032f, -0.000770f, -0.000418f, -0.002921f, -0.000733f, -0.001197f, 0.000088f, -0.000335f, -0.005537f, 0.000894f, 0.002435f, -0.000857f, -0.002136f, -0.000016f, 0.003555f, 0.002015f, -0.001289f, -0.003732f, 0.002212f, -0.000269f, -0.001225f, 0.023859f, 0.000177f, -0.013286f, -0.012763f, -0.004369f, -0.009302f, -0.003583f, -0.006988f, 0.001833f, 0.001179f, -0.010510f, -0.006162f, -0.011546f, 0.021929f, 0.009294f, 0.002051f, -0.001237f, 0.011908f, -0.017722f, -0.000246f, -0.000374f, -0.011166f, -0.014915f, 0.013387f, 0.000270f, 0.009563f, -0.014964f, -0.006507f, -0.005216f, 0.005239f, -0.000537f, - 0.006433f, -0.010326f, 0.003161f, 0.004220f, -0.011128f, -0.010754f, -0.009677f, 0.002319f, -0.003158f, -0.003015f, 0.009483f, -0.002774f, 0.001091f, 0.000166f, -0.001817f, -0.010676f, -0.006456f, -0.001236f, -0.015982f, -0.010483f, -0.008396f, 0.004454f, 0.003120f, 0.006401f, -0.001532f, 0.002796f, -0.000128f, -0.001649f, 0.007513f, -0.005800f, 0.013049f, 0.001814f, 0.003989f, -0.001722f, -0.004236f, 0.005162f, 0.004076f, 0.010254f, -0.003042f, 0.001596f, 0.006325f, -0.003716f, 0.000185f, -0.013572f, 0.006447f, -0.010452f, 0.006674f, -0.007730f, -0.007446f, -0.014637f, -0.002791f, 0.003691f, 0.001666f, -0.002481f, 0.003472f, 0.001462f, 0.006748f, 0.001073f, -0.001964f, 0.005833f, 0.003265f, -0.005227f, 0.001344f, -0.004255f, 0.004668f, -0.001880f, 0.000849f, -0.001184f, -0.000458f, -0.003760f, -0.000066f, 0.000184f, 0.000780f, -0.002219f, 0.001820f, -0.003169f, 0.001311f, -0.000605f, -0.001491f, -0.002817f, 0.000800f, -0.001906f, 0.004020f, 0.001072f, -0.000974f, -0.001774f, -0.001515f, 0.003019f, 0.002124f, 0.002882f, 0.000376f, 0.000273f, 0.001606f, -0.003353f, 0.028271f, 0.026769f, - 0.020010f, -0.006614f, 0.007403f, 0.010184f, 0.006023f, 0.005798f, -0.009781f, -0.008522f, -0.012839f, 0.011643f, -0.012041f, -0.001384f, -0.008732f, 0.015410f, -0.016869f, -0.012564f, -0.006222f, -0.002633f, -0.009247f, -0.013947f, 0.004107f, 0.000842f, 0.000918f, -0.016934f, -0.009295f, 0.004551f, 0.003662f, 0.004937f, -0.004530f, -0.006670f, 0.000624f, 0.005222f, 0.006632f, -0.004699f, 0.006310f, -0.008948f, -0.002319f, -0.022043f, 0.008195f, 0.002759f, -0.003735f, -0.004104f, -0.016252f, -0.007370f, 0.002129f, -0.003871f, -0.022859f, 0.012462f, 0.005174f, 0.000058f, -0.006128f, -0.004730f, -0.009640f, 0.003046f, -0.003385f, 0.006686f, -0.001388f, -0.003219f, -0.012987f, -0.002449f, -0.001259f, -0.007114f, 0.014366f, -0.010317f, 0.000237f, 0.008569f, -0.003532f, -0.011165f, -0.006277f, 0.009725f, 0.014033f, 0.006983f, -0.001038f, -0.000354f, 0.007437f, -0.015034f, 0.006177f, -0.001540f, -0.000709f, 0.000758f, 0.003276f, -0.000812f, -0.000608f, 0.000812f, -0.002934f, -0.009060f, -0.002445f, -0.002734f, 0.002793f, 0.001995f, 0.001067f, -0.003480f, -0.001843f, -0.004028f, -0.005016f, -0.001204f, - -0.000184f, 0.006064f, 0.000576f, 0.000867f, 0.000748f, -0.002051f, -0.001217f, 0.002815f, -0.003160f, -0.000447f, 0.001084f, 0.001778f, -0.003777f, 0.000091f, -0.000339f, 0.002264f, -0.002718f, -0.000604f, -0.001606f, -0.002592f, -0.005809f, -0.002623f, -0.000292f, -0.002483f, -0.000007f, 0.000340f, -0.000294f, -0.003163f, -0.001282f, 0.034059f, 0.011418f, -0.004992f, -0.003983f, 0.011949f, -0.023027f, -0.004349f, 0.018635f, 0.009331f, -0.013000f, -0.000305f, -0.008822f, 0.003583f, 0.014333f, 0.035194f, 0.011621f, 0.027407f, -0.009719f, -0.002057f, -0.026687f, 0.009038f, -0.007786f, 0.007493f, -0.011688f, -0.000635f, 0.001129f, -0.004181f, 0.009582f, -0.004313f, 0.004578f, 0.011770f, -0.009030f, 0.005299f, 0.015064f, -0.004127f, 0.005043f, -0.000005f, 0.006060f, 0.008225f, 0.008484f, -0.045297f, 0.016563f, -0.005257f, -0.021193f, -0.003730f, 0.012957f, 0.003936f, -0.016368f, 0.008811f, 0.012922f, -0.026690f, 0.002154f, -0.007554f, 0.015702f, 0.003555f, 0.012975f, -0.003196f, -0.009314f, -0.018754f, 0.001166f, -0.011356f, 0.035368f, 0.006501f, -0.005787f, 0.011750f, 0.001507f, 0.011368f, - -0.027790f, -0.003696f, 0.004319f, 0.008586f, 0.002075f, -0.013048f, -0.002022f, 0.004718f, 0.012408f, 0.010408f, -0.008600f, 0.000194f, 0.012212f, -0.000570f, 0.005771f, -0.004286f, -0.002056f, 0.008497f, 0.000872f, -0.000710f, -0.001122f, 0.000384f, 0.004233f, -0.004079f, -0.001736f, -0.000563f, 0.003306f, 0.003105f, -0.000359f, -0.001176f, 0.008479f, -0.002735f, -0.001382f, -0.004497f, 0.000652f, 0.002227f, -0.002142f, 0.000096f, 0.002664f, 0.003376f, -0.002927f, -0.001434f, -0.004908f, 0.000306f, 0.004031f, -0.001959f, 0.000823f, 0.001755f, 0.002140f, 0.006717f, 0.000969f, 0.003252f, -0.000105f, -0.003023f, 0.004539f, 0.001010f, -0.040435f, -0.044348f, -0.015184f, -0.003462f, 0.000815f, 0.009421f, -0.018938f, 0.005974f, 0.022330f, -0.012813f, 0.011888f, 0.015455f, -0.010767f, 0.000329f, -0.005242f, 0.018901f, 0.026375f, -0.012637f, -0.014881f, 0.013256f, 0.001283f, -0.012666f, 0.006004f, 0.000206f, 0.003316f, 0.003765f, -0.006758f, -0.004938f, -0.028166f, -0.001456f, -0.008045f, -0.000656f, -0.000819f, 0.019150f, 0.005705f, -0.034399f, 0.000596f, 0.016574f, -0.018788f, 0.004943f, - 0.020252f, -0.004461f, 0.007145f, 0.000398f, -0.005281f, -0.013082f, 0.026034f, 0.021872f, -0.016614f, 0.008700f, -0.006159f, -0.000879f, 0.008127f, -0.005792f, 0.006824f, -0.010316f, -0.001137f, 0.021952f, -0.006203f, 0.004629f, 0.010417f, -0.007524f, -0.018016f, -0.000795f, 0.006246f, 0.003186f, -0.008632f, 0.001123f, 0.004916f, 0.007789f, 0.016117f, 0.009917f, 0.017732f, 0.009317f, 0.003472f, 0.008194f, -0.002846f, 0.015916f, -0.000463f, -0.012631f, -0.016903f, 0.002051f, 0.005571f, -0.003005f, 0.012749f, -0.006592f, -0.006783f, 0.005003f, -0.001529f, 0.001318f, 0.000716f, -0.007887f, -0.001023f, -0.004771f, 0.005843f, 0.002540f, 0.004715f, 0.009003f, 0.001209f, -0.003257f, -0.013049f, -0.001065f, 0.003132f, -0.003412f, -0.001270f, 0.001267f, -0.002834f, 0.002744f, 0.003010f, 0.000310f, -0.003002f, -0.002271f, 0.006524f, -0.000976f, 0.003116f, 0.001528f, 0.002182f, -0.004678f, -0.004778f, -0.002953f, 0.001227f, 0.002139f, 0.003957f, 0.002779f, 0.001996f, 0.001717f, 0.004951f, -0.001346f, -0.004643f, -0.043958f, 0.048180f, -0.003225f, 0.030854f, 0.001982f, -0.018539f, -0.005836f, - -0.010905f, -0.013132f, -0.002058f, 0.000469f, 0.022211f, -0.003976f, 0.015139f, -0.016025f, -0.001219f, 0.003466f, 0.003197f, 0.001390f, 0.019258f, 0.019205f, 0.006779f, 0.002742f, -0.002855f, -0.004193f, -0.001501f, -0.003635f, -0.033101f, -0.011525f, 0.014710f, 0.009381f, -0.004018f, 0.001305f, -0.015859f, 0.007487f, -0.019362f, 0.003805f, 0.029816f, 0.002935f, 0.006189f, -0.025444f, 0.013044f, 0.011356f, 0.002862f, -0.017179f, -0.007727f, -0.008186f, 0.001022f, -0.015451f, 0.015095f, 0.018549f, 0.011041f, -0.001996f, 0.027940f, 0.009713f, 0.041058f, 0.015868f, -0.011424f, 0.034188f, 0.000433f, -0.012889f, 0.024631f, -0.004372f, 0.007903f, 0.015441f, -0.011706f, -0.010026f, 0.022761f, 0.024540f, 0.014332f, -0.020438f, 0.007316f, -0.000484f, -0.009645f, -0.016835f, 0.011943f, 0.021693f, 0.012948f, 0.031629f, 0.004069f, -0.007313f, -0.007443f, -0.019944f, -0.007785f, 0.011911f, 0.001577f, -0.003876f, 0.000460f, -0.012540f, -0.008912f, 0.001451f, 0.002829f, -0.000678f, 0.012890f, 0.010168f, 0.004320f, 0.000161f, 0.003559f, 0.006000f, 0.002921f, -0.006377f, -0.002781f, 0.001540f, - -0.001708f, -0.002359f, 0.005260f, 0.000249f, -0.001867f, 0.004222f, 0.001411f, 0.001183f, 0.001461f, -0.004290f, 0.000736f, 0.011307f, -0.005526f, 0.007039f, 0.003107f, 0.000062f, -0.005488f, -0.006020f, -0.003243f, 0.002208f, 0.010726f, -0.023375f, 0.031113f, -0.008975f, -0.020417f, 0.006846f, 0.013542f, -0.013555f, -0.006854f, -0.028632f, 0.012013f, -0.010500f, -0.003434f, -0.026251f, -0.011516f, -0.008908f, -0.004467f, -0.011844f, 0.006219f, -0.005323f, -0.006440f, 0.006162f, 0.008703f, 0.015270f, 0.015012f, -0.006500f, -0.005383f, -0.021176f, 0.008371f, 0.000379f, 0.013962f, 0.003794f, 0.003770f, -0.004829f, 0.005613f, -0.013262f, -0.011159f, 0.006181f, 0.003216f, 0.006272f, -0.025760f, 0.008586f, 0.016924f, -0.000112f, -0.022681f, -0.023790f, -0.018448f, -0.054785f, 0.007782f, -0.006372f, 0.026532f, -0.013036f, 0.022052f, 0.006987f, 0.001546f, 0.028292f, 0.004369f, -0.003360f, 0.020437f, 0.007463f, -0.027759f, -0.013912f, 0.003370f, -0.008963f, -0.015736f, -0.009697f, 0.035894f, 0.016387f, -0.016825f, -0.002156f, -0.009429f, -0.004745f, 0.005290f, 0.025202f, 0.000511f, -0.006916f, - 0.033546f, -0.012128f, -0.030375f, -0.029160f, -0.034381f, -0.006251f, 0.002690f, -0.001040f, -0.006003f, -0.004357f, -0.014667f, -0.003045f, 0.004368f, -0.004723f, -0.004299f, 0.002748f, 0.002880f, -0.021818f, -0.008839f, -0.017128f, 0.000874f, -0.005924f, -0.005428f, -0.009261f, -0.002774f, 0.002238f, 0.013218f, -0.000060f, 0.016196f, 0.007733f, 0.011916f, 0.001048f, 0.005652f, -0.005747f, 0.010875f, -0.000291f, -0.007693f, -0.011833f, 0.006765f, 0.000820f, 0.003782f, -0.003283f, 0.002210f, -0.003913f, 0.003821f, -0.001582f, 0.004514f, -0.001205f, -0.001809f, 0.002572f, -0.000516f, 0.013551f, -0.022514f, -0.005683f, -0.006052f, -0.002979f, -0.001589f, 0.059709f, 0.009759f, 0.021808f, -0.010622f, 0.019040f, 0.038475f, -0.033032f, 0.049991f, 0.029610f, -0.013400f, 0.000410f, 0.003013f, -0.018023f, -0.030183f, 0.002035f, -0.017508f, -0.026956f, -0.012084f, 0.002349f, 0.000025f, -0.003352f, -0.012118f, -0.002069f, -0.011799f, -0.000867f, -0.013637f, -0.001041f, 0.009315f, -0.021200f, 0.011604f, 0.017763f, -0.013883f, -0.012940f, 0.009179f, 0.006896f, -0.001222f, 0.053590f, 0.004720f, 0.035705f, - -0.025720f, -0.002550f, -0.031182f, -0.022941f, 0.005502f, -0.023011f, -0.031520f, -0.021074f, -0.023942f, -0.005284f, -0.006381f, -0.026645f, -0.028892f, 0.037628f, 0.005914f, 0.002301f, -0.005113f, 0.019456f, 0.010838f, 0.023481f, -0.002338f, 0.022188f, -0.012450f, 0.004995f, -0.041655f, 0.033952f, 0.016456f, 0.002591f, -0.022876f, -0.001811f, 0.010333f, 0.002080f, 0.003984f, 0.016721f, 0.023455f, -0.018260f, -0.023348f, -0.015470f, -0.003650f, -0.000490f, 0.002561f, -0.013823f, 0.001572f, 0.003823f, 0.009670f, 0.012451f, -0.001582f, -0.007879f, 0.013099f, 0.006348f, -0.009765f, -0.000796f, 0.004738f, -0.005968f, -0.010319f, 0.001735f, -0.003495f, -0.003538f, -0.000307f, -0.004669f, 0.012011f, -0.012807f, 0.006975f, -0.000510f, 0.013285f, -0.014020f, -0.003357f, 0.002172f, -0.003511f, -0.005448f, -0.002221f, -0.011162f, -0.012077f, -0.002461f, 0.001276f, 0.003387f, 0.004392f, -0.008389f, 0.008325f, 0.006099f, -0.004939f, 0.007237f, -0.001459f, 0.004068f, 0.000370f, 0.004019f, -0.003355f, -0.002845f, 0.001144f, 0.001989f, 0.004878f, -0.000825f, 0.006692f, -0.003297f, -0.002312f, 0.000001f, - -0.002424f, 0.004223f, 0.004296f, 0.029205f, -0.011777f, -0.009585f, 0.032594f, -0.027251f, -0.020754f, -0.005013f, -0.016487f, -0.002554f, -0.032463f, 0.007399f, -0.019949f, 0.015482f, 0.002272f, 0.005340f, 0.018719f, 0.005443f, 0.013242f, 0.018144f, 0.017241f, 0.014243f, 0.024118f, 0.002940f, 0.016428f, 0.014721f, -0.017420f, 0.030411f, 0.007532f, 0.014104f, -0.016255f, 0.023750f, 0.010773f, 0.016702f, 0.004315f, 0.006011f, -0.002965f, -0.021748f, 0.005663f, 0.012424f, 0.014662f, 0.015978f, 0.003527f, -0.026466f, -0.016678f, 0.019174f, 0.010499f, 0.004423f, -0.009980f, 0.013297f, -0.009541f, -0.026527f, 0.039176f, 0.023934f, 0.017554f, -0.014955f, -0.007284f, -0.019741f, -0.061648f, -0.001791f, -0.008506f, 0.008054f, -0.014310f, -0.015428f, -0.027118f, 0.004897f, 0.008857f, 0.034649f, -0.027139f, 0.011141f, 0.000634f, 0.016000f, -0.023875f, -0.029374f, -0.017813f, 0.019124f, 0.005943f, 0.006048f, 0.010258f, -0.007991f, 0.003519f, 0.022408f, 0.008087f, 0.011400f, 0.014395f, -0.005583f, -0.005029f, -0.009245f, 0.000395f, 0.009861f, 0.012252f, 0.000567f, 0.005183f, 0.002557f, - 0.002140f, 0.009284f, -0.005482f, -0.004744f, -0.007803f, -0.004365f, -0.008077f, -0.000123f, -0.012365f, -0.004934f, -0.013077f, -0.000603f, -0.007778f, -0.002152f, -0.001603f, -0.004458f, 0.004058f, -0.003168f, -0.016828f, -0.002397f, 0.007088f, 0.007629f, 0.014331f, -0.001936f, -0.008091f, 0.004162f, -0.003019f, -0.012260f, 0.011753f, 0.009873f, 0.009619f, 0.021928f, 0.014559f, -0.001013f, 0.001087f, -0.004687f, 0.006095f, 0.001953f, -0.050462f, 0.028102f, 0.029947f, -0.015728f, 0.025458f, 0.008390f, -0.042639f, -0.007998f, 0.054766f, -0.008427f, -0.037339f, -0.006309f, -0.004078f, -0.032527f, 0.021847f, 0.004095f, -0.016658f, 0.023571f, 0.015477f, 0.056490f, 0.032906f, 0.000335f, 0.003672f, 0.053263f, -0.014325f, 0.013070f, -0.022505f, -0.032192f, -0.009953f, -0.022046f, 0.004330f, -0.002118f, 0.010336f, -0.002192f, -0.004368f, -0.009651f, 0.041914f, 0.001511f, -0.033930f, -0.027066f, -0.006540f, -0.007423f, -0.001692f, 0.013308f, 0.038219f, 0.024203f, 0.007688f, -0.024035f, 0.029624f, 0.054498f, -0.012129f, 0.024463f, 0.022910f, 0.065781f, 0.012132f, 0.012113f, 0.019576f, 0.027735f, - 0.015197f, -0.023294f, -0.022364f, 0.014735f, -0.041132f, -0.025016f, -0.029609f, 0.027112f, 0.023716f, 0.016374f, -0.007069f, 0.019851f, 0.042098f, -0.024796f, 0.033443f, 0.033236f, -0.004993f, 0.032663f, -0.031644f, -0.014288f, -0.011326f, 0.069000f, -0.034378f, 0.033653f, 0.020933f, 0.012078f, 0.009284f, -0.031275f, -0.003475f, -0.024701f, 0.025559f, 0.024186f, -0.000808f, 0.001329f, -0.012832f, 0.017961f, -0.007636f, 0.001359f, 0.006552f, 0.007081f, -0.000454f, 0.010777f, -0.008161f, -0.004657f, -0.003484f, -0.008209f, 0.003126f, 0.006319f, -0.006118f, 0.002633f, 0.007620f, 0.013624f, 0.001794f, -0.013462f, 0.005143f, -0.014553f, 0.002163f, 0.012232f, 0.007929f, 0.012966f, -0.002676f, 0.021195f, -0.008926f, 0.015524f, -0.004531f, -0.005661f, -0.003180f, 0.000425f, 0.017147f, -0.013178f, 0.008071f, -0.000853f, 0.008188f, -0.010824f, 0.002416f, 0.003727f, -0.005024f, 0.022475f, -0.012879f, 0.009725f, 0.010618f, 0.037657f, 0.067523f, 0.006850f, -0.007442f, 0.006749f, -0.004047f, -0.011637f, 0.001630f, 0.006642f, -0.016971f, -0.022567f, 0.007134f, -0.011943f, -0.006625f, 0.016844f, - -0.001214f, 0.033536f, -0.018237f, 0.032865f, 0.016049f, 0.002804f, -0.019679f, 0.005817f, 0.032939f, 0.009146f, -0.017198f, 0.006089f, -0.004315f, 0.000452f, 0.019245f, -0.027549f, -0.014591f, 0.029707f, 0.000373f, -0.007957f, 0.025964f, -0.001795f, 0.009030f, 0.005458f, -0.025340f, -0.046257f, -0.009920f, 0.015362f, 0.029101f, 0.005828f, -0.022716f, 0.028768f, -0.009798f, 0.058886f, -0.030273f, 0.039450f, -0.023542f, 0.013779f, 0.034111f, -0.051188f, -0.052524f, -0.000886f, -0.014975f, 0.012996f, 0.016552f, 0.001871f, -0.007845f, -0.031515f, 0.020755f, -0.005030f, 0.037055f, 0.016258f, 0.034504f, 0.008898f, 0.020046f, -0.008996f, 0.026482f, 0.009047f, -0.015991f, 0.002675f, -0.000538f, -0.077150f, -0.002345f, 0.012911f, 0.018460f, 0.031820f, 0.027403f, -0.009527f, 0.002254f, -0.006274f, 0.005087f, -0.000610f, -0.008560f, -0.020902f, 0.008786f, -0.012453f, 0.026533f, 0.002520f, 0.005163f, 0.012433f, 0.007715f, -0.008980f, 0.007662f, 0.018620f, 0.016885f, -0.006385f, -0.003042f, 0.002119f, -0.004056f, -0.003434f, -0.011972f, -0.002835f, -0.025115f, -0.004171f, 0.008692f, -0.021672f, - 0.014636f, -0.016534f, -0.012778f, 0.003069f, -0.012986f, 0.012609f, 0.005274f, -0.005725f, 0.008808f, -0.001736f, -0.001311f, 0.004839f, 0.018621f, -0.013599f, 0.003031f, 0.002005f, 0.008328f, 0.005176f, 0.003902f, -0.007696f, 0.044506f, 0.057512f, -0.012356f, -0.002066f, 0.020396f, 0.076022f, 0.002293f, -0.044734f, -0.017787f, 0.009271f, 0.008807f, -0.014050f, 0.014682f, -0.010112f, 0.023693f, -0.037928f, 0.002185f, 0.023840f, -0.015706f, -0.017042f, 0.003501f, -0.037498f, -0.011400f, -0.012134f, -0.059703f, -0.050461f, -0.029110f, 0.022195f, 0.026187f, -0.004443f, -0.042421f, 0.004910f, 0.001725f, -0.001400f, 0.008759f, -0.021300f, 0.051395f, -0.014508f, 0.006742f, 0.056799f, -0.049407f, 0.024027f, 0.008625f, -0.017223f, 0.020858f, -0.013325f, -0.040004f, 0.000918f, 0.035064f, -0.015500f, -0.025033f, 0.014578f, 0.004951f, 0.033269f, 0.000515f, -0.051103f, 0.004365f, -0.030189f, 0.050691f, -0.018230f, 0.007904f, 0.012451f, 0.006333f, -0.007191f, -0.032437f, 0.013713f, 0.034631f, 0.010016f, 0.035727f, -0.051845f, -0.028251f, -0.008518f, -0.000148f, 0.005616f, -0.039716f, 0.035880f, - -0.004598f, -0.038144f, -0.012397f, 0.024155f, 0.022805f, -0.021123f, -0.029000f, 0.028996f, -0.023007f, -0.014633f, -0.000174f, -0.003589f, -0.002820f, -0.001895f, -0.008161f, -0.001624f, 0.014940f, -0.003311f, 0.013769f, -0.015327f, 0.011035f, 0.013952f, -0.003331f, 0.007529f, 0.002707f, -0.002843f, 0.000628f, 0.001887f, 0.025355f, 0.001294f, -0.004296f, 0.002114f, 0.006016f, -0.012445f, 0.004953f, -0.015913f, -0.000756f, 0.018390f, -0.006086f, -0.014499f, -0.004820f, 0.008239f, 0.000828f, 0.000596f, 0.011432f, 0.000855f, -0.013932f, -0.007560f, 0.027045f, 0.019302f, -0.005754f, -0.001147f, -0.000272f, -0.039359f, 0.057856f, 0.001649f, -0.099097f, 0.039695f, -0.013622f, 0.007723f, 0.010110f, 0.013305f, 0.024325f, 0.008868f, -0.017943f, -0.004334f, 0.024497f, 0.016564f, -0.019678f, -0.001053f, -0.015613f, -0.008095f, -0.048676f, -0.006212f, 0.023425f, 0.029092f, 0.006538f, -0.011547f, 0.032226f, -0.033199f, 0.036719f, -0.021158f, -0.011887f, 0.004376f, -0.011397f, 0.009790f, -0.029297f, -0.039550f, -0.044263f, -0.014168f, 0.022917f, -0.008852f, 0.000221f, 0.026955f, 0.007483f, 0.004710f, - -0.000849f, 0.000915f, -0.009325f, 0.000362f, 0.029048f, 0.017884f, 0.030655f, 0.026003f, 0.030753f, 0.020930f, -0.018291f, -0.011663f, 0.007552f, -0.001960f, -0.035348f, 0.023766f, -0.006401f, -0.033393f, 0.041914f, -0.000474f, 0.006809f, -0.001167f, -0.015252f, -0.005033f, 0.017599f, 0.025501f, 0.021207f, 0.000650f, 0.012987f, -0.042772f, -0.006081f, -0.015243f, 0.023269f, 0.008035f, -0.011928f, -0.013606f, 0.053855f, -0.016420f, -0.018459f, -0.005836f, 0.008679f, -0.013336f, -0.035501f, -0.002003f, -0.006089f, -0.019179f, 0.033256f, 0.006788f, 0.012513f, -0.010223f, -0.001791f, 0.007748f, 0.001988f, 0.009785f, 0.010541f, -0.003456f, 0.006459f, -0.006404f, 0.007321f, 0.002795f, -0.005896f, -0.004453f, 0.005417f, 0.007657f, 0.002066f, -0.006760f, -0.005628f, -0.006076f, -0.004506f, 0.000165f, 0.003787f, -0.005501f, -0.006694f, 0.001599f, -0.000548f, -0.001183f, 0.005755f, -0.002687f, 0.009128f, 0.002798f, 0.026777f, -0.002242f, -0.003387f, -0.005880f, 0.003261f, 0.000167f, -0.011287f, -0.014831f, 0.134985f, -0.132377f, -0.006541f, -0.143935f, -0.022194f, -0.054687f, -0.006570f, 0.035229f, - -0.017758f, -0.039792f, 0.062938f, -0.016936f, -0.010850f, 0.002141f, 0.019467f, -0.002189f, 0.052326f, 0.034632f, 0.020822f, -0.030782f, 0.002152f, -0.020987f, -0.021305f, -0.014262f, 0.000873f, -0.006541f, -0.005680f, -0.017374f, -0.003788f, 0.028907f, 0.003643f, 0.019141f, 0.019163f, -0.001505f, 0.025551f, 0.037136f, 0.002073f, -0.007581f, -0.019287f, -0.023115f, 0.009326f, 0.010152f, -0.019118f, 0.031466f, -0.041490f, -0.042034f, 0.004704f, -0.014705f, 0.022553f, -0.038974f, 0.016702f, -0.074957f, -0.039893f, -0.060008f, -0.005152f, -0.029619f, -0.002637f, -0.018080f, -0.022502f, -0.019615f, -0.001752f, 0.005082f, -0.058595f, 0.006683f, -0.012805f, 0.006727f, 0.000301f, -0.027108f, -0.047667f, 0.032982f, -0.028674f, -0.005125f, 0.029540f, -0.002992f, -0.009229f, 0.019525f, 0.024488f, -0.005048f, 0.024393f, 0.015958f, 0.029471f, 0.016244f, 0.029821f, 0.014115f, -0.017643f, -0.004917f, -0.015540f, 0.000711f, -0.012865f, 0.002756f, 0.010816f, 0.015266f, 0.016741f, -0.007422f, 0.007790f, 0.005581f, 0.010985f, -0.002602f, -0.004167f, 0.005729f, 0.013163f, 0.001733f, 0.003076f, 0.014498f, - 0.007455f, 0.014924f, -0.002112f, 0.000689f, -0.001525f, 0.007280f, 0.010348f, -0.001879f, -0.017160f, 0.009417f, -0.002852f, 0.003658f, -0.005377f, 0.002387f, -0.004867f, -0.002541f, 0.000916f, -0.014314f, 0.000248f, 0.019600f, -0.012239f, -0.012927f, 0.001704f, 0.006690f, 0.006842f, 0.002313f, -0.013545f, 0.109210f, 0.054813f, 0.026489f, -0.026514f, -0.013739f, -0.057128f, 0.012522f, 0.045664f, -0.008978f, -0.010972f, 0.074891f, -0.013526f, -0.016702f, 0.036989f, 0.054821f, 0.009382f, 0.055915f, -0.014115f, 0.008114f, 0.032920f, 0.037278f, 0.058788f, 0.047603f, -0.002646f, -0.021298f, 0.017572f, 0.021426f, 0.020149f, 0.025196f, 0.043922f, 0.021512f, 0.055894f, -0.021789f, -0.001643f, 0.016330f, 0.015053f, 0.047399f, 0.027429f, 0.050804f, -0.036835f, -0.011597f, 0.020132f, -0.039575f, 0.031747f, 0.032355f, 0.030878f, 0.013167f, -0.040005f, -0.014610f, 0.075362f, 0.019389f, 0.050748f, 0.042192f, 0.046145f, -0.009569f, 0.061219f, 0.096081f, 0.032923f, 0.008418f, 0.067256f, 0.046533f, -0.026159f, -0.016055f, -0.032849f, -0.026183f, 0.028191f, 0.032927f, 0.002662f, -0.027872f, - 0.000369f, -0.024928f, -0.001370f, -0.011173f, 0.016054f, -0.058541f, -0.006896f, 0.005843f, -0.029849f, 0.022286f, 0.003725f, -0.018332f, 0.015399f, -0.036866f, -0.024167f, -0.040836f, -0.013867f, -0.019727f, 0.014190f, 0.004437f, -0.019196f, 0.004249f, 0.026418f, 0.007820f, -0.008958f, -0.016231f, -0.025401f, -0.009765f, 0.008115f, -0.035667f, -0.016848f, -0.003075f, 0.028405f, 0.009579f, -0.012401f, 0.005968f, -0.019442f, -0.005282f, -0.006139f, -0.015928f, -0.010504f, 0.026764f, -0.006416f, -0.001895f, -0.006770f, 0.006323f, 0.016879f, 0.012181f, 0.014429f, 0.036934f, -0.000192f, 0.029780f, 0.001152f, 0.003074f, 0.018415f, 0.015997f, -0.024757f, -0.014178f, -0.002162f, 0.005777f, 0.002364f, 0.000258f, -0.002705f, 0.011695f, -0.034366f, 0.017373f, -0.041464f, 0.073195f, 0.103861f, 0.060537f, -0.026366f, -0.056755f, -0.020749f, 0.051442f, -0.014951f, -0.042270f, 0.077492f, -0.053372f, 0.046380f, 0.026208f, -0.060437f, -0.024994f, -0.006121f, -0.100011f, 0.004239f, 0.011663f, -0.048043f, 0.098834f, -0.033635f, 0.091800f, -0.068388f, 0.010332f, 0.004691f, 0.067154f, 0.098998f, -0.007986f, - 0.033821f, 0.046751f, -0.054268f, 0.036769f, -0.073559f, -0.020230f, 0.140692f, -0.007763f, -0.038398f, -0.007444f, -0.078223f, 0.003538f, -0.024392f, 0.087973f, 0.033750f, 0.041029f, -0.013107f, -0.023066f, -0.043362f, -0.040313f, 0.010560f, 0.005747f, 0.000607f, 0.058621f, -0.013810f, 0.011299f, -0.060282f, -0.031320f, 0.040952f, -0.090255f, -0.035210f, -0.027052f, -0.030467f, 0.084541f, 0.006592f, 0.091329f, 0.065843f, 0.029208f, 0.035447f, -0.020317f, -0.047718f, 0.040971f, -0.065111f, -0.039957f, 0.081434f, 0.024708f, -0.048242f, -0.080284f, -0.048141f, -0.057103f, 0.046481f, -0.049281f, 0.026155f, -0.035564f, -0.002569f, -0.030531f, 0.033165f, 0.019126f, 0.003411f, -0.026479f, -0.004372f, -0.018258f, 0.005953f, -0.036048f, -0.024496f, -0.013529f, 0.008520f, 0.020258f, -0.000161f, -0.014649f, -0.020018f, -0.033504f, -0.023455f, 0.021397f, 0.029734f, -0.009117f, 0.020696f, 0.040936f, 0.020126f, -0.037906f, -0.010584f, -0.013904f, 0.024585f, -0.023118f, -0.014656f, -0.005419f, 0.009443f, -0.030406f, -0.040524f, -0.029211f, -0.009160f, 0.016922f, 0.000064f, 0.003839f, -0.005198f, 0.023158f, - 0.007866f, -0.001418f, -0.020721f, -0.007047f, -0.012599f, 0.016292f, -0.003998f, 0.003908f, 0.065455f, -0.109470f, 0.115782f, -0.003239f, 0.008605f, -0.037530f, 0.093424f, 0.021684f, 0.060041f, 0.022489f, -0.039924f, 0.013167f, 0.033192f, -0.057721f, 0.039803f, 0.000379f, 0.026290f, -0.076939f, -0.006330f, 0.018448f, 0.070172f, -0.029756f, -0.058538f, -0.002889f, 0.069784f, 0.036682f, -0.027163f, -0.060811f, -0.003348f, 0.050314f, 0.006262f, 0.003197f, 0.013674f, 0.036493f, 0.092602f, -0.131384f, -0.021984f, 0.012343f, 0.072529f, 0.016001f, -0.040080f, -0.010152f, 0.027406f, 0.066407f, -0.007102f, 0.002940f, -0.126057f, 0.036091f, 0.019285f, 0.033992f, -0.091562f, 0.080367f, 0.069092f, 0.025865f, -0.041619f, -0.004473f, -0.046012f, 0.033854f, 0.059120f, 0.024693f, 0.027475f, -0.005448f, 0.044727f, -0.065964f, 0.061934f, -0.018690f, -0.022585f, 0.072992f, 0.059983f, 0.003669f, -0.023172f, -0.060427f, 0.043729f, 0.048045f, -0.129310f, -0.010429f, 0.073794f, 0.018274f, -0.001176f, -0.046312f, -0.020205f, 0.125864f, -0.010012f, -0.043294f, -0.005814f, -0.023422f, -0.028403f, 0.041751f, - -0.035794f, 0.012631f, 0.018784f, 0.025427f, -0.018054f, 0.002363f, -0.018325f, -0.021724f, -0.014735f, 0.019182f, 0.019009f, -0.019883f, -0.004287f, 0.009540f, -0.016025f, 0.038026f, -0.036958f, 0.009442f, -0.006922f, -0.011962f, 0.013225f, 0.063078f, 0.003821f, 0.000045f, -0.010462f, -0.022299f, -0.000217f, 0.034335f, 0.007881f, -0.001636f, -0.006977f, -0.016215f, 0.028972f, -0.007571f, -0.002013f, -0.017188f, 0.016495f, -0.002695f, -0.008047f, -0.097945f, 0.047007f, 0.008633f, 0.029729f, 0.035991f, 0.052552f, 0.018328f, 0.016526f, -0.025815f, 0.026830f, 0.004557f, 0.062459f, -0.007724f, -0.019354f, 0.049049f, 0.037465f, -0.008783f, 0.002739f, -0.021619f, 0.000116f, 0.015246f, -0.005426f, -0.013079f, 0.027700f, -0.022920f, 0.002366f, 0.037825f, -0.008804f, 0.021663f, -0.039526f, -0.008349f, 0.004661f, -0.016448f, -0.006762f, 0.004074f, 0.027324f, -0.007477f, -0.047170f, 0.001454f, 0.092412f, 0.018896f, -0.050918f, 0.014692f, -0.051904f, -0.035528f, -0.027054f, -0.007549f, 0.058801f, -0.006792f, -0.047782f, 0.095596f, -0.104304f, 0.017298f, 0.105455f, 0.010891f, 0.073987f, -0.057228f, - -0.106703f, 0.033979f, 0.003145f, 0.084348f, 0.003985f, -0.048007f, 0.038808f, -0.010964f, -0.009289f, -0.020564f, -0.003879f, -0.029957f, 0.014346f, 0.003886f, 0.022138f, -0.036508f, -0.031685f, -0.012638f, 0.037048f, 0.048050f, -0.016601f, 0.025486f, -0.004374f, 0.040206f, 0.028105f, -0.051009f, 0.040101f, -0.010584f, 0.005519f, -0.008771f, -0.016294f, -0.000309f, -0.000738f, 0.005386f, -0.004398f, 0.004165f, 0.003125f, 0.002791f, 0.005309f, -0.016846f, 0.000320f, 0.009270f, -0.014560f, -0.001881f, 0.008386f, -0.009024f, 0.011163f, 0.012908f, -0.019718f, 0.023061f, 0.008821f, 0.023896f, -0.005913f, 0.011073f, 0.018670f, -0.036479f, -0.001060f, 0.011157f, 0.020659f, -0.013038f, -0.010311f, -0.012535f, -0.009718f, 0.021238f, 0.042029f, -0.018127f, -0.197592f, -0.454028f, -0.179930f, -0.273278f, -0.400114f, 0.215099f, 0.059490f, 0.123770f, 0.569888f, 0.439263f, 0.256274f, 0.469121f, 0.350061f, 0.059818f, 0.115743f, 0.096285f, -0.222278f, -0.190236f, -0.093165f, -0.340005f, -0.325099f, -0.124510f, -0.167023f, -0.235870f, -0.098585f, -0.084724f, -0.240039f, -0.200375f, -0.016612f, -0.114145f, - -0.194613f, -0.066854f, 0.062117f, -0.141380f, 0.042609f, 0.210442f, -0.015991f, -0.030161f, 0.285844f, 0.228248f, -0.009940f, 0.333917f, 0.386977f, 0.157147f, 0.363586f, 0.510106f, 0.304393f, 0.264399f, 0.612211f, 0.488561f, 0.367376f, 0.435462f, 0.577603f, 0.206511f, 0.081999f, 0.241823f, -0.190641f, -0.547251f, -0.396655f, -0.605251f, -0.980070f, -0.877896f, -0.931663f, -1.083533f, -1.104271f, -0.952234f, -0.829141f, -0.831585f, -0.584560f, -0.258952f, -0.175309f, -0.026563f, 0.283748f, 0.521356f, 0.526374f, 0.653389f, 0.940078f, 0.821705f, 0.751214f, 1.038009f, 0.825067f, 0.466318f, 0.680576f, 0.476537f, 0.185083f, 0.167441f, 0.219931f, 0.022672f, -0.069305f, 0.042708f, 0.006371f, -0.154101f, -0.082037f, 0.013735f, -0.122638f, -0.227397f, -0.109088f, -0.156015f, -0.331123f, -0.208801f, -0.080569f, -0.247568f, -0.166312f, 0.033369f, -0.078556f, -0.115619f, 0.056838f, -0.068398f, -0.272655f, -0.209014f, -0.334706f, -0.566032f, -0.532922f, -0.511181f, -0.530908f, -0.466726f, -0.313499f, -0.245024f, -0.147382f, -0.028614f, 0.124819f, 0.221263f, 0.339596f, 0.428321f, 0.532075f, 0.553545f, - 0.587136f, 0.654107f, 0.620514f, 0.568948f, 0.538260f, 0.356562f, 0.125661f, 0.011914f, -0.053330f, -0.152348f, -0.179600f, -0.156789f, -0.177026f, -0.198825f, -0.175148f, -0.176912f, -0.173356f, -0.146394f, -0.142845f, -0.149888f, -0.144645f, -0.126657f, -0.105013f, -0.089748f, -0.058716f, -0.036427f, -0.007399f, 0.004176f, 0.026671f, 0.040534f, 0.050952f, 0.052874f, 0.055947f, 0.055462f, 0.043629f, 0.025511f, 0.019707f, 0.009943f, -0.002789f, -0.013343f, -0.016992f, -0.037551f, -0.049034f, -0.060562f, -0.080714f, -0.095071f, -0.089087f, -0.085797f, -0.076557f, -0.057424f, -0.040697f, -0.029892f, -0.007506f, 0.015903f, 0.031160f, 0.047355f, 0.073656f, 0.079669f, 0.078998f, 0.085470f, 0.093920f, 0.086919f, 0.090352f, 0.094864f, 0.089928f, 0.086496f, 0.086885f, 0.076861f, 0.066185f, 0.058372f, 0.044862f, 0.025477f, 0.011555f, -0.004888f, -0.026703f, -0.048744f, -0.064824f, -0.084072f, -0.095647f, -0.100697f, -0.099296f, -0.098160f, -0.089942f, -0.077835f, -0.065610f, -0.053128f, -0.037096f, -0.026195f, -0.014104f, -0.003967f, 0.005659f, 0.013649f, 0.020207f, 0.025718f, 0.029687f, 0.029093f, - 0.028530f, 0.025918f, 0.022534f, 0.019172f, 0.016886f, 0.013929f, 0.011336f, 0.008978f, 0.007552f, 0.005980f, 0.005189f, 0.004564f, 0.004154f, 0.003671f, 0.003361f, 0.003232f} - }, - { - {-0.015902f, 0.009482f, -0.012087f, 0.001522f, -0.005098f, -0.001557f, 0.004761f, -0.007472f, -0.013627f, -0.003444f, 0.001194f, -0.007785f, -0.004481f, 0.006680f, -0.003897f, 0.003120f, -0.017078f, -0.001416f, 0.011610f, 0.006221f, -0.019113f, -0.006539f, -0.004993f, -0.005031f, 0.006495f, -0.002738f, -0.009945f, -0.006208f, -0.007103f, -0.007200f, 0.012641f, 0.004002f, 0.008149f, -0.005207f, 0.010695f, 0.009762f, 0.006935f, -0.003779f, -0.009039f, -0.007054f, 0.000771f, 0.001870f, 0.014537f, 0.005212f, 0.002779f, -0.006775f, 0.001593f, 0.000694f, 0.001675f, 0.005823f, 0.003421f, -0.009790f, -0.008372f, -0.004262f, 0.005315f, 0.001307f, -0.001851f, -0.010468f, -0.003216f, 0.004208f, 0.004778f, -0.004179f, -0.001605f, 0.000311f, 0.005056f, -0.001015f, -0.005578f, 0.000083f, 0.000803f, -0.007114f, 0.015309f, 0.001041f, -0.010395f, 0.000063f, -0.001606f, 0.009909f, 0.000784f, 0.006733f, 0.009178f, 0.003525f, -0.000635f, 0.000524f, -0.003347f, -0.002095f, -0.002230f, 0.005916f, -0.001894f, -0.000675f, -0.002648f, 0.002093f, 0.000690f, -0.001051f, -0.000257f, -0.001445f, 0.000290f, -0.000142f, - 0.001166f, 0.001268f, 0.001931f, 0.002478f, -0.010566f, -0.009566f, 0.010754f, 0.009861f, -0.008056f, 0.005922f, 0.000553f, 0.003033f, -0.026355f, 0.010137f, -0.003957f, -0.018004f, -0.023474f, 0.000596f, 0.016891f, 0.000990f, 0.010935f, 0.000377f, -0.021237f, -0.007344f, 0.002394f, 0.007381f, -0.003780f, -0.001842f, -0.008970f, 0.001154f, -0.001669f, 0.014949f, 0.007563f, 0.003157f, 0.002638f, 0.004044f, 0.005151f, 0.013630f, 0.008226f, -0.012087f, -0.001074f, 0.002782f, 0.002869f, -0.014370f, 0.004618f, -0.004288f, -0.009126f, -0.002590f, -0.000435f, 0.009795f, 0.002473f, -0.005506f, 0.009890f, 0.015475f, -0.003334f, -0.005898f, 0.003696f, -0.001129f, 0.008420f, 0.008619f, 0.006711f, -0.010379f, -0.007939f, 0.007413f, -0.003189f, -0.002619f, -0.007999f, 0.000844f, -0.011855f, 0.007012f, 0.006280f, 0.008302f, 0.002085f, 0.009651f, -0.010514f, -0.006588f, 0.013528f, 0.000696f, 0.004984f, 0.016021f, 0.006145f, 0.001564f, -0.006511f, 0.009393f, 0.001079f, -0.004786f, 0.002638f, -0.011352f, 0.000271f, -0.001208f, 0.001638f, 0.003032f, -0.001345f, -0.005066f, -0.002821f, -0.000835f, - 0.002419f, 0.002303f, 0.000731f, -0.001408f, 0.001333f, 0.003191f, 0.000514f, -0.001071f, -0.001035f, 0.000014f, 0.013390f, 0.001185f, 0.005185f, -0.011272f, -0.009573f, 0.005481f, -0.002653f, -0.004123f, -0.005235f, -0.004899f, 0.004070f, -0.013045f, -0.007475f, -0.016110f, -0.019349f, -0.003584f, 0.016113f, 0.010384f, -0.006502f, -0.001816f, -0.002233f, -0.003754f, -0.013933f, 0.010036f, -0.003493f, -0.003585f, 0.000887f, 0.006558f, -0.003134f, 0.000577f, -0.000475f, 0.009499f, -0.008779f, 0.009528f, 0.005212f, 0.011424f, -0.003891f, 0.008837f, 0.003940f, -0.005477f, 0.007981f, -0.005416f, 0.004599f, 0.008466f, -0.006385f, 0.008891f, -0.005304f, -0.004299f, -0.001335f, -0.002644f, 0.004492f, -0.002603f, -0.006758f, 0.002709f, -0.005865f, 0.001277f, 0.000811f, 0.000903f, 0.013432f, 0.002595f, -0.003074f, 0.000062f, -0.005491f, -0.007693f, 0.003981f, -0.001865f, 0.012824f, 0.013048f, 0.005311f, -0.003643f, -0.002004f, -0.000111f, -0.005135f, -0.005976f, 0.006604f, 0.010336f, 0.000348f, -0.001146f, 0.006384f, 0.006852f, -0.000882f, 0.002407f, 0.002223f, -0.005015f, 0.004753f, -0.000929f, - 0.006816f, -0.003394f, -0.001286f, -0.000281f, -0.002814f, -0.000334f, 0.004970f, -0.001109f, 0.001517f, 0.001427f, -0.003486f, 0.001071f, -0.000627f, -0.000734f, 0.001432f, 0.001269f, -0.002225f, 0.002527f, -0.000849f, -0.001128f, 0.000204f, -0.000318f, -0.000404f, -0.002076f, -0.001500f, 0.000659f, 0.025549f, -0.010806f, 0.010476f, -0.013022f, -0.010951f, 0.000055f, -0.003037f, -0.002769f, 0.003563f, -0.005478f, 0.011051f, 0.010781f, 0.009238f, -0.002770f, -0.001201f, -0.004809f, -0.011788f, 0.001845f, -0.007080f, -0.001308f, 0.001297f, -0.003947f, 0.006722f, 0.002544f, -0.000803f, -0.019461f, -0.008121f, -0.012264f, 0.000464f, -0.008023f, -0.012334f, -0.005405f, -0.006814f, -0.007539f, 0.012285f, -0.009812f, 0.008661f, 0.000754f, -0.003481f, 0.004852f, 0.004170f, -0.008795f, -0.002407f, 0.000185f, 0.009488f, -0.000900f, -0.012965f, -0.016450f, -0.017124f, 0.004459f, -0.006254f, 0.000379f, -0.001355f, 0.002480f, 0.005792f, 0.009522f, -0.006574f, -0.003481f, 0.003136f, 0.003276f, 0.001222f, 0.011940f, -0.006678f, 0.007384f, -0.013713f, 0.026882f, 0.003307f, -0.002861f, 0.005228f, 0.002574f, - 0.005141f, -0.007473f, -0.001316f, 0.002041f, -0.000828f, -0.001609f, -0.013565f, -0.004511f, -0.009219f, -0.002745f, -0.001078f, -0.006649f, -0.006498f, 0.004828f, 0.005641f, 0.001718f, 0.001110f, -0.000622f, 0.004766f, 0.002800f, 0.005472f, -0.002742f, 0.000483f, 0.000167f, 0.005028f, -0.002019f, -0.000295f, -0.000309f, 0.000561f, -0.003983f, 0.000980f, -0.002884f, 0.001454f, 0.002004f, -0.000953f, -0.003355f, 0.000670f, 0.001028f, -0.001034f, -0.001159f, -0.003603f, 0.000945f, -0.000422f, -0.001846f, 0.002275f, 0.002610f, -0.000334f, -0.000771f, -0.012581f, 0.001734f, 0.002233f, 0.000748f, -0.002060f, -0.007562f, 0.004365f, 0.003484f, -0.011377f, 0.013181f, -0.016624f, 0.020322f, -0.002092f, 0.006733f, 0.002915f, -0.000492f, -0.002291f, 0.004123f, 0.019024f, 0.021373f, -0.004208f, 0.003790f, -0.002684f, -0.003115f, 0.002742f, 0.004485f, 0.014603f, -0.001933f, 0.004353f, -0.007508f, 0.007958f, 0.001726f, 0.011490f, 0.005554f, 0.010755f, -0.015719f, 0.006497f, 0.005650f, -0.005037f, -0.000219f, 0.011683f, -0.000003f, 0.000816f, 0.003535f, 0.007065f, -0.002484f, -0.001129f, 0.022694f, - 0.010714f, 0.001968f, 0.001961f, -0.004799f, 0.010216f, -0.013788f, -0.020252f, -0.024425f, -0.001613f, 0.012778f, -0.000508f, 0.006351f, 0.017219f, 0.006811f, -0.003185f, -0.006135f, 0.009125f, -0.001831f, 0.022171f, 0.009982f, 0.003187f, 0.003081f, -0.012285f, 0.002553f, 0.009064f, -0.004708f, -0.013819f, 0.002376f, 0.004805f, -0.000625f, -0.004882f, -0.001775f, 0.002206f, -0.004476f, 0.002451f, 0.002513f, 0.002201f, -0.000907f, 0.002559f, -0.004388f, -0.004197f, -0.001361f, -0.002712f, 0.001379f, -0.004214f, 0.002345f, 0.003877f, 0.002619f, 0.002892f, 0.003014f, 0.000822f, 0.001930f, -0.005765f, -0.004766f, -0.001907f, -0.002506f, -0.003077f, -0.000619f, 0.001752f, 0.001038f, -0.000340f, 0.003524f, 0.001778f, -0.000274f, 0.004313f, 0.002764f, -0.000150f, -0.029823f, 0.003066f, -0.002358f, 0.020259f, -0.015365f, 0.008823f, -0.031563f, 0.012259f, -0.003073f, -0.016158f, -0.017716f, -0.012450f, 0.009295f, 0.007210f, 0.023782f, 0.003039f, 0.007861f, 0.022724f, -0.004062f, -0.016761f, 0.002410f, -0.012948f, 0.003049f, 0.018499f, 0.003385f, -0.005362f, -0.002297f, -0.003705f, 0.005404f, - 0.007077f, -0.001609f, 0.004683f, 0.009531f, -0.006137f, 0.002973f, -0.011414f, -0.000940f, -0.014250f, -0.002275f, 0.001776f, -0.006750f, 0.010257f, 0.007048f, 0.008717f, 0.017624f, 0.000977f, 0.021342f, 0.016227f, 0.007869f, -0.011286f, 0.024488f, 0.010401f, 0.004261f, 0.021346f, -0.002408f, 0.000317f, 0.001745f, 0.006971f, -0.004531f, -0.006451f, -0.014782f, -0.014435f, -0.011682f, -0.000046f, -0.009226f, 0.018694f, -0.011417f, 0.007628f, 0.011740f, -0.006797f, 0.000565f, -0.005593f, -0.003204f, -0.018726f, -0.021260f, 0.009518f, -0.003738f, -0.007310f, -0.006331f, 0.001622f, 0.002447f, 0.001242f, 0.004120f, -0.007612f, 0.017321f, 0.001024f, 0.005186f, -0.003758f, 0.000933f, 0.004966f, -0.008492f, 0.002649f, 0.000295f, 0.002719f, 0.003905f, -0.000231f, 0.003045f, 0.005719f, -0.000014f, 0.001496f, 0.004246f, 0.004499f, 0.006117f, -0.000477f, 0.001030f, -0.003365f, -0.000897f, 0.000091f, -0.001488f, -0.004674f, 0.000299f, -0.001511f, -0.001939f, 0.000257f, -0.001812f, -0.002595f, 0.024827f, 0.000906f, 0.000261f, -0.002342f, -0.004900f, 0.004425f, 0.000995f, -0.012732f, -0.016300f, - -0.022082f, -0.011588f, -0.023103f, -0.014701f, -0.007900f, -0.017102f, -0.010837f, -0.007503f, -0.008916f, -0.023106f, 0.015774f, 0.009870f, 0.000537f, 0.008297f, 0.003781f, -0.006450f, 0.028588f, 0.001716f, -0.009947f, -0.005244f, -0.019464f, -0.008398f, 0.021275f, 0.000988f, -0.017947f, -0.017939f, 0.002555f, -0.018158f, 0.005751f, 0.006298f, -0.014158f, 0.000505f, 0.004355f, 0.000947f, 0.020937f, 0.006233f, -0.009639f, 0.002065f, -0.011546f, 0.010540f, 0.001454f, 0.004636f, -0.025722f, 0.017645f, -0.008876f, 0.007318f, 0.000540f, 0.003375f, 0.004159f, 0.000603f, -0.007531f, -0.000650f, -0.010079f, -0.000039f, -0.020293f, -0.000173f, -0.021888f, 0.028720f, -0.004952f, 0.018249f, -0.013524f, -0.006360f, -0.002951f, -0.013960f, -0.007820f, 0.011180f, -0.000464f, -0.000496f, 0.008274f, 0.010743f, 0.001671f, 0.017585f, 0.015217f, 0.021161f, 0.011243f, 0.004444f, 0.002527f, 0.009570f, 0.005084f, 0.003138f, 0.003857f, 0.002113f, 0.004667f, -0.001405f, 0.007665f, 0.001280f, -0.000563f, -0.001697f, 0.005955f, 0.002377f, 0.004219f, 0.002077f, -0.002897f, 0.001983f, 0.002309f, 0.001920f, - -0.004732f, 0.008816f, 0.004724f, -0.000942f, -0.006863f, -0.000824f, -0.001095f, -0.004965f, 0.001705f, 0.000802f, 0.004986f, -0.004249f, -0.009455f, -0.012665f, 0.000039f, 0.009478f, -0.024410f, 0.000085f, -0.010500f, -0.008386f, 0.017443f, -0.028168f, -0.026603f, 0.007052f, 0.035687f, 0.001007f, 0.003477f, 0.002832f, -0.005333f, 0.019587f, 0.019018f, 0.011029f, 0.005462f, -0.005037f, -0.028842f, 0.017247f, 0.000239f, -0.023086f, -0.007387f, 0.005471f, -0.001079f, 0.000289f, 0.002462f, -0.005487f, -0.022734f, -0.001191f, 0.001026f, -0.004078f, -0.009445f, 0.006945f, 0.019891f, -0.025449f, 0.015984f, -0.009482f, -0.004718f, 0.001612f, 0.012702f, 0.041600f, -0.026750f, -0.006671f, 0.002727f, -0.002568f, -0.004821f, 0.001466f, -0.010199f, 0.003675f, -0.009202f, 0.028630f, 0.009905f, 0.005440f, 0.007967f, -0.005937f, -0.001555f, 0.015199f, -0.002281f, 0.006659f, -0.012467f, 0.022001f, 0.001067f, -0.015413f, 0.030731f, -0.019429f, 0.014200f, 0.004115f, 0.007051f, 0.022377f, -0.008788f, 0.009583f, -0.000991f, 0.000139f, 0.002780f, -0.001396f, -0.014947f, -0.007872f, -0.000873f, -0.006552f, - -0.002266f, -0.003527f, -0.009131f, -0.009331f, -0.006986f, 0.004494f, -0.007984f, 0.004754f, -0.002064f, -0.000231f, -0.006993f, -0.004749f, -0.005134f, 0.004271f, -0.009691f, 0.001086f, 0.001045f, 0.006046f, 0.009397f, -0.003542f, -0.001671f, -0.008266f, -0.007051f, 0.000608f, -0.006192f, 0.001878f, -0.001067f, -0.005460f, 0.000205f, -0.001578f, 0.002634f, 0.003460f, -0.002236f, 0.030311f, 0.002326f, 0.007869f, 0.008961f, -0.005129f, -0.017522f, -0.013752f, 0.002055f, 0.030321f, 0.017171f, 0.003691f, -0.027200f, 0.003866f, -0.014979f, 0.000042f, 0.030343f, 0.029174f, 0.014720f, 0.019705f, -0.017862f, -0.036957f, -0.019366f, -0.026650f, 0.014710f, -0.000313f, -0.004536f, -0.000152f, -0.020170f, -0.006027f, 0.006189f, -0.003834f, -0.007688f, -0.007493f, 0.021491f, -0.001443f, 0.005820f, -0.006172f, 0.014078f, 0.002940f, -0.008182f, -0.017174f, -0.013190f, 0.038921f, -0.001715f, -0.008865f, 0.012416f, -0.022324f, 0.006948f, -0.012800f, -0.038949f, -0.008784f, -0.005099f, 0.011723f, 0.004476f, 0.010292f, 0.003250f, 0.015343f, 0.000541f, 0.001014f, 0.008489f, -0.038088f, -0.006044f, -0.010273f, - -0.002752f, 0.003636f, 0.021804f, 0.024071f, 0.008661f, -0.006372f, -0.016672f, -0.021914f, -0.007373f, -0.012918f, 0.002720f, -0.006456f, -0.006849f, -0.015113f, 0.022486f, 0.016170f, 0.006563f, 0.020649f, -0.004966f, 0.008209f, 0.012668f, -0.008152f, 0.007532f, -0.005275f, 0.001622f, 0.007490f, -0.002333f, -0.005074f, -0.002116f, -0.002832f, -0.002001f, -0.000242f, 0.000477f, 0.007417f, 0.000268f, 0.000824f, 0.002267f, -0.004229f, -0.011545f, 0.000393f, -0.002717f, -0.001567f, -0.002116f, -0.006848f, -0.000801f, 0.002183f, 0.010207f, 0.008339f, -0.004782f, 0.001105f, 0.006706f, -0.001505f, 0.001520f, -0.002502f, 0.001515f, 0.006382f, 0.000783f, 0.007009f, -0.043964f, -0.028743f, -0.006650f, -0.010463f, 0.022471f, 0.015438f, -0.003677f, 0.038692f, -0.039090f, -0.009109f, -0.014748f, 0.041327f, 0.019832f, -0.013571f, 0.015242f, 0.005804f, -0.016073f, 0.028545f, -0.031463f, 0.015591f, -0.014484f, 0.002471f, 0.003442f, -0.010495f, 0.027566f, -0.019356f, 0.016932f, -0.008055f, -0.040531f, -0.006715f, 0.028332f, -0.017135f, -0.027669f, 0.000390f, -0.003440f, -0.041407f, -0.007733f, 0.016631f, - 0.007060f, 0.022101f, 0.016256f, -0.004668f, 0.039852f, -0.009523f, -0.012257f, -0.019583f, -0.018233f, -0.017636f, 0.010947f, 0.014888f, -0.012815f, -0.014457f, 0.004783f, -0.012539f, 0.016715f, -0.004592f, 0.009077f, -0.006776f, -0.010349f, -0.007944f, -0.000220f, -0.023438f, 0.006357f, 0.016913f, -0.003946f, 0.007318f, 0.010167f, 0.012010f, 0.021650f, -0.015486f, 0.006968f, 0.016881f, -0.002170f, -0.035949f, -0.038265f, 0.004216f, -0.003634f, 0.002845f, -0.014003f, -0.005817f, 0.002824f, -0.013862f, -0.025147f, -0.007685f, 0.018982f, 0.015398f, -0.007564f, -0.003068f, 0.005842f, 0.005203f, -0.002995f, -0.006114f, 0.000455f, -0.000811f, -0.009889f, -0.003670f, 0.010508f, -0.003029f, 0.008442f, 0.001518f, -0.002630f, -0.005182f, 0.006780f, 0.006680f, 0.007847f, 0.000933f, -0.004411f, 0.004549f, -0.011784f, -0.007077f, 0.005803f, 0.002702f, 0.004978f, 0.009163f, -0.004692f, 0.001890f, 0.003595f, 0.004461f, 0.000851f, -0.005393f, -0.007739f, 0.003444f, -0.004218f, -0.002593f, 0.031254f, -0.020165f, -0.050416f, -0.000046f, 0.035501f, 0.045386f, 0.008278f, -0.017096f, -0.012882f, 0.004428f, - -0.008400f, -0.007475f, 0.019812f, 0.020087f, -0.010222f, 0.019373f, -0.025139f, -0.003308f, 0.017717f, -0.009026f, 0.021506f, 0.009976f, -0.003260f, -0.030183f, 0.011206f, -0.007263f, -0.007353f, 0.001275f, -0.002475f, -0.003448f, 0.040815f, -0.020445f, 0.020716f, 0.034921f, 0.024164f, 0.012580f, 0.000220f, -0.023516f, 0.023025f, -0.013284f, 0.021927f, -0.012768f, 0.004885f, -0.024711f, -0.004943f, -0.023371f, -0.015408f, 0.003228f, -0.021737f, -0.006227f, -0.007728f, -0.001164f, 0.018916f, -0.022838f, -0.019634f, -0.007363f, -0.011374f, -0.004861f, -0.019465f, -0.025136f, -0.031334f, 0.002854f, 0.023896f, -0.001961f, -0.015559f, 0.002295f, 0.004915f, 0.018883f, -0.021323f, -0.012363f, -0.006962f, -0.000825f, 0.014151f, -0.000032f, 0.003803f, -0.014833f, -0.006289f, 0.007308f, 0.028912f, 0.012782f, 0.019916f, 0.023134f, 0.030216f, 0.011581f, -0.004312f, -0.010951f, 0.007235f, 0.009149f, 0.013254f, 0.005566f, 0.001131f, -0.000139f, 0.018292f, 0.006460f, -0.006981f, 0.001331f, 0.010201f, 0.004047f, 0.002368f, -0.006900f, -0.006760f, -0.004847f, -0.009349f, 0.000506f, 0.008579f, 0.008254f, - 0.001713f, -0.005072f, 0.012024f, 0.006915f, 0.015267f, 0.007941f, 0.000333f, 0.010215f, 0.000008f, -0.008102f, 0.011682f, -0.000186f, -0.001724f, -0.004595f, 0.002216f, -0.002918f, -0.000358f, 0.010238f, 0.005946f, -0.084131f, -0.039994f, 0.028073f, -0.068702f, -0.047617f, -0.003074f, -0.028022f, -0.019224f, 0.020975f, 0.023971f, 0.007358f, -0.004413f, 0.008698f, 0.068602f, -0.008394f, 0.010969f, 0.026431f, 0.030094f, -0.031269f, -0.016245f, -0.014796f, 0.025324f, 0.027676f, 0.013884f, 0.005117f, 0.025888f, -0.007581f, -0.012985f, 0.018218f, 0.035039f, 0.002530f, 0.011318f, 0.035683f, 0.026289f, 0.021481f, -0.016007f, 0.006795f, 0.010793f, -0.000024f, -0.000593f, 0.022927f, -0.007507f, -0.000312f, -0.002320f, 0.015332f, 0.000568f, -0.024973f, -0.016754f, 0.005074f, -0.033985f, 0.025802f, -0.007552f, 0.056940f, 0.002264f, 0.031258f, 0.006185f, -0.001300f, -0.018345f, -0.000818f, 0.007290f, -0.023990f, -0.012384f, -0.028034f, -0.003553f, 0.014443f, 0.019581f, -0.008474f, -0.045731f, 0.016635f, -0.007269f, 0.015671f, -0.016399f, -0.019519f, 0.014356f, -0.029552f, -0.022669f, 0.044216f, - 0.000661f, 0.020401f, -0.004160f, -0.019045f, 0.005309f, 0.026072f, 0.006336f, 0.020750f, -0.033499f, -0.001592f, -0.002268f, -0.005480f, -0.028798f, 0.028194f, -0.016766f, 0.002136f, -0.003279f, 0.003468f, -0.010675f, -0.000972f, 0.005916f, 0.008694f, -0.007121f, 0.018500f, -0.004532f, -0.005811f, -0.010781f, -0.009130f, -0.009301f, 0.008938f, -0.003570f, -0.006428f, -0.002718f, 0.002429f, -0.007071f, 0.012969f, -0.003835f, 0.014669f, -0.009118f, 0.006283f, 0.002276f, 0.005920f, 0.009466f, 0.002020f, 0.033962f, -0.015711f, -0.039628f, 0.016776f, -0.020771f, 0.008480f, -0.000680f, -0.019805f, 0.036168f, -0.048732f, -0.002160f, -0.058795f, 0.001277f, 0.047238f, 0.066148f, 0.031216f, -0.011540f, 0.030502f, -0.002480f, -0.004401f, 0.003144f, -0.005346f, 0.016152f, -0.002163f, -0.031182f, 0.001672f, -0.043274f, 0.015039f, -0.013497f, -0.009761f, 0.028768f, -0.000731f, -0.033310f, -0.037215f, 0.008445f, 0.004977f, -0.018624f, -0.015534f, 0.027615f, -0.040331f, -0.000367f, -0.008252f, 0.014033f, -0.010930f, -0.008868f, -0.032293f, -0.013817f, -0.014337f, -0.006151f, 0.023032f, -0.027643f, 0.009751f, - -0.003503f, -0.004912f, 0.003458f, 0.009846f, -0.046689f, -0.005097f, 0.006160f, -0.004256f, 0.017069f, -0.014808f, -0.020716f, -0.009526f, -0.052226f, -0.023120f, -0.022854f, 0.000940f, 0.022082f, 0.033327f, -0.015988f, 0.025181f, -0.043574f, 0.069451f, 0.004624f, -0.012656f, 0.036264f, -0.043345f, 0.036398f, 0.016176f, -0.009925f, 0.000597f, 0.012045f, 0.000804f, 0.005689f, 0.033124f, -0.014388f, 0.014037f, -0.007861f, 0.010108f, 0.016452f, 0.016178f, 0.019831f, -0.007062f, 0.016697f, 0.003796f, 0.002376f, -0.002978f, -0.022577f, 0.000669f, -0.016065f, 0.007147f, 0.010175f, -0.003637f, -0.002646f, 0.002804f, 0.002116f, 0.011025f, 0.005026f, -0.008320f, 0.012015f, -0.000348f, 0.001280f, 0.014839f, 0.010125f, 0.005821f, 0.027141f, -0.022623f, 0.000015f, 0.009790f, -0.000123f, -0.017816f, 0.004125f, -0.011400f, -0.010726f, 0.042748f, 0.002474f, -0.030433f, -0.000629f, -0.004558f, 0.019856f, 0.013112f, -0.018548f, 0.021543f, 0.000446f, -0.047925f, -0.052203f, -0.004937f, -0.015688f, 0.013109f, -0.002192f, -0.018382f, -0.047048f, -0.041013f, 0.022462f, -0.034883f, -0.007794f, 0.002293f, - 0.011116f, 0.002698f, 0.033633f, 0.002902f, -0.016929f, 0.022590f, -0.002941f, 0.003383f, 0.020825f, -0.027281f, -0.001748f, 0.006033f, -0.027889f, 0.017041f, 0.023260f, 0.010222f, 0.020703f, 0.010892f, 0.032038f, 0.008838f, 0.023337f, -0.032616f, -0.010170f, -0.005113f, -0.043877f, -0.000126f, -0.004703f, 0.018498f, -0.002894f, 0.021189f, -0.003466f, -0.025382f, -0.017311f, -0.001202f, -0.040580f, 0.017928f, 0.001169f, -0.007778f, 0.023803f, 0.015166f, 0.019781f, 0.020596f, 0.006314f, -0.002341f, 0.017279f, -0.054968f, 0.016755f, 0.007055f, 0.024710f, -0.009621f, -0.038846f, 0.024611f, -0.005831f, 0.042212f, -0.062042f, -0.021985f, -0.043436f, 0.029872f, -0.012636f, -0.039845f, -0.044509f, -0.029229f, -0.013141f, 0.014319f, 0.011220f, -0.012106f, -0.012622f, -0.006532f, -0.000763f, -0.013382f, -0.005079f, 0.022846f, 0.003566f, -0.002056f, 0.006714f, 0.005088f, 0.004207f, 0.012457f, -0.009531f, -0.012560f, -0.000285f, -0.021907f, 0.000032f, -0.007617f, -0.003110f, -0.014102f, -0.003803f, -0.019287f, -0.017339f, 0.022100f, -0.012260f, -0.000682f, 0.007424f, 0.010701f, -0.001838f, 0.018562f, - -0.015330f, -0.004856f, 0.007656f, -0.017986f, -0.004937f, 0.021278f, 0.007628f, 0.004846f, -0.007225f, -0.010838f, 0.008200f, 0.029075f, 0.026952f, 0.098831f, 0.074660f, 0.010030f, 0.021588f, 0.006180f, 0.057347f, 0.001482f, 0.027874f, -0.026186f, 0.067940f, -0.027044f, 0.061608f, -0.002876f, 0.039329f, -0.004690f, 0.027736f, -0.027763f, 0.006594f, 0.013787f, -0.015231f, -0.005064f, -0.008214f, -0.006490f, 0.018334f, 0.000336f, -0.015943f, -0.021975f, -0.033075f, -0.042085f, -0.020250f, -0.007173f, 0.000194f, 0.013109f, -0.035429f, 0.014891f, -0.019523f, -0.030130f, -0.006301f, -0.022042f, 0.009969f, -0.005449f, -0.046075f, -0.011051f, -0.023450f, -0.027836f, -0.029170f, 0.026351f, 0.035295f, -0.074005f, 0.016725f, 0.006469f, 0.020720f, 0.007227f, -0.009354f, 0.044616f, 0.025123f, 0.023301f, -0.061879f, -0.027776f, -0.000838f, 0.015155f, 0.051187f, 0.001824f, -0.006944f, 0.002386f, 0.043365f, 0.038876f, -0.036943f, 0.041609f, 0.003081f, 0.009270f, -0.007065f, 0.024377f, -0.052641f, -0.018536f, 0.054247f, -0.008426f, -0.003528f, -0.020994f, 0.036176f, 0.023540f, -0.018702f, -0.031756f, - -0.005454f, -0.001461f, 0.003221f, 0.000372f, -0.006762f, -0.029612f, -0.010084f, 0.022909f, 0.030182f, 0.018603f, -0.016645f, -0.004508f, -0.004857f, -0.014376f, 0.004656f, 0.004670f, 0.013972f, -0.003169f, -0.009824f, 0.008624f, 0.003407f, 0.005158f, 0.027345f, 0.003607f, -0.007563f, -0.010484f, 0.004738f, 0.009702f, 0.021311f, 0.004171f, -0.020635f, -0.011156f, -0.015481f, 0.006062f, 0.007977f, -0.017209f, -0.036383f, 0.011685f, -0.002926f, -0.006230f, -0.012678f, -0.022544f, 0.027235f, -0.010672f, 0.023743f, 0.036882f, -0.041508f, 0.012988f, -0.023680f, 0.069425f, -0.040984f, 0.039253f, 0.036202f, -0.013683f, -0.064710f, -0.037649f, -0.004189f, -0.017182f, -0.001842f, -0.029651f, -0.047114f, -0.062747f, -0.035905f, -0.041765f, 0.018138f, -0.035716f, 0.014987f, 0.004300f, -0.004019f, -0.003655f, -0.029358f, -0.009063f, -0.030162f, 0.008923f, 0.027132f, 0.035452f, 0.000740f, -0.009904f, -0.030962f, -0.007365f, 0.003190f, -0.018430f, 0.005372f, -0.025437f, -0.016507f, -0.003608f, -0.025197f, 0.020057f, -0.022242f, -0.065922f, 0.002549f, -0.002002f, -0.021685f, 0.028153f, 0.022124f, 0.032074f, - 0.012392f, 0.025246f, 0.051096f, 0.008619f, -0.050633f, -0.011538f, 0.023972f, -0.011117f, -0.042071f, 0.023608f, 0.033528f, 0.011308f, -0.000135f, -0.056997f, 0.051061f, -0.002387f, 0.041695f, -0.034473f, 0.042223f, 0.103263f, -0.009033f, -0.002912f, -0.050314f, 0.027203f, -0.040909f, 0.034658f, 0.017688f, -0.022521f, -0.004945f, -0.055684f, 0.012950f, -0.030339f, 0.000586f, 0.021513f, 0.021601f, -0.000700f, -0.014300f, -0.012379f, 0.015435f, 0.037794f, -0.018205f, -0.002870f, 0.005912f, -0.016366f, -0.004675f, -0.005110f, 0.008034f, -0.001740f, 0.015963f, -0.007161f, -0.017979f, -0.009957f, 0.005603f, 0.014370f, -0.017794f, -0.005480f, -0.000152f, 0.002569f, 0.013448f, 0.002988f, -0.004376f, 0.004865f, -0.030279f, -0.017306f, -0.001705f, -0.002669f, 0.006492f, 0.001933f, 0.002651f, -0.000422f, -0.005065f, 0.015684f, -0.000633f, 0.011739f, -0.000545f, -0.003177f, -0.011019f, -0.007534f, -0.081289f, 0.027438f, -0.106585f, 0.070183f, 0.025047f, -0.018312f, 0.074797f, -0.007319f, -0.038295f, 0.066343f, -0.025723f, -0.003733f, 0.013919f, 0.023135f, 0.061302f, 0.002395f, -0.005131f, 0.043269f, - 0.018282f, 0.036322f, 0.044461f, 0.032975f, 0.002929f, 0.023022f, 0.003531f, -0.002417f, -0.024539f, 0.015538f, 0.023276f, 0.005569f, -0.001523f, -0.026441f, 0.012537f, -0.024773f, 0.029609f, 0.029256f, 0.004991f, 0.034583f, -0.021452f, 0.022812f, 0.035833f, 0.022863f, -0.048596f, -0.052183f, 0.061154f, -0.005991f, 0.038217f, 0.059431f, 0.001317f, 0.000016f, -0.006283f, 0.011659f, 0.034278f, 0.032616f, 0.003324f, 0.027094f, -0.000067f, -0.030967f, -0.038707f, -0.057233f, 0.000927f, -0.023247f, 0.000742f, 0.032421f, 0.030291f, -0.053528f, 0.004516f, 0.020761f, -0.047024f, 0.007799f, 0.065235f, -0.028320f, -0.032660f, 0.035066f, -0.037757f, 0.008691f, -0.010667f, 0.068511f, -0.019991f, 0.042328f, -0.021068f, 0.035581f, -0.003418f, 0.013239f, 0.028341f, -0.044720f, -0.013706f, 0.017076f, -0.029718f, 0.021765f, -0.026681f, -0.007330f, -0.015102f, -0.013655f, 0.001841f, -0.007313f, -0.012276f, 0.007219f, 0.020284f, -0.010197f, 0.005486f, 0.007495f, -0.017749f, 0.003192f, 0.002335f, -0.004471f, -0.012575f, -0.005076f, -0.009731f, -0.028659f, -0.011495f, 0.006264f, -0.037830f, 0.013771f, - -0.019427f, 0.014681f, -0.008870f, -0.003538f, -0.026554f, -0.013709f, 0.000243f, 0.007452f, -0.011770f, -0.025678f, 0.004224f, 0.001909f, 0.013780f, 0.006110f, -0.000046f, 0.016958f, 0.013395f, 0.001599f, 0.011496f, 0.007974f, -0.036967f, 0.008506f, -0.042863f, 0.088755f, 0.021932f, -0.047068f, 0.018201f, -0.010765f, -0.041887f, -0.049385f, -0.050132f, 0.015117f, -0.002272f, 0.044632f, 0.066079f, 0.031873f, 0.016165f, -0.007767f, 0.022079f, 0.002303f, -0.082698f, 0.036569f, 0.086306f, -0.056168f, -0.059057f, -0.050978f, -0.072232f, 0.052584f, -0.071126f, 0.032299f, 0.000635f, -0.008723f, -0.000298f, -0.022968f, -0.027421f, 0.035582f, -0.073195f, 0.075601f, 0.043421f, 0.010201f, -0.048116f, -0.036281f, -0.031825f, 0.006946f, 0.012729f, -0.031037f, -0.004198f, -0.022869f, 0.052045f, 0.023723f, -0.009265f, -0.001387f, 0.021459f, 0.004981f, 0.024474f, -0.042279f, -0.016724f, -0.003886f, -0.007436f, -0.039316f, -0.027715f, 0.023646f, -0.075044f, -0.044140f, 0.005789f, 0.088004f, 0.042443f, -0.026584f, -0.001737f, -0.066591f, 0.032541f, 0.102047f, 0.003653f, -0.021737f, -0.015267f, -0.047946f, - 0.062793f, -0.020013f, -0.024204f, -0.001949f, 0.037233f, 0.023526f, -0.032226f, -0.028930f, -0.010362f, 0.032928f, -0.008710f, 0.009755f, -0.002528f, -0.025858f, -0.008409f, 0.041675f, 0.023799f, 0.003555f, -0.019245f, -0.002924f, -0.002902f, 0.032530f, 0.026387f, 0.013343f, 0.011929f, -0.038253f, 0.014706f, 0.013977f, -0.005733f, 0.008863f, -0.005994f, -0.005343f, -0.033615f, -0.003425f, -0.001711f, -0.004615f, -0.010721f, 0.009164f, 0.012342f, 0.006621f, -0.039543f, -0.033888f, -0.016764f, 0.000030f, 0.002413f, -0.039755f, 0.014234f, 0.050295f, 0.010112f, -0.013770f, 0.000944f, 0.007918f, 0.000159f, -0.021616f, -0.016582f, -0.005542f, 0.006802f, 0.000358f, -0.040953f, -0.028140f, -0.082122f, 0.018253f, -0.060436f, -0.090512f, 0.021593f, 0.050427f, 0.012622f, 0.013715f, -0.038143f, -0.047813f, -0.012212f, -0.070957f, -0.034712f, 0.018826f, -0.059305f, 0.094087f, 0.018553f, -0.022840f, 0.020462f, -0.044763f, -0.088624f, -0.029608f, -0.067715f, 0.011002f, 0.020150f, -0.024741f, -0.048078f, -0.024330f, -0.029552f, 0.026276f, -0.035192f, -0.012761f, -0.004317f, 0.040348f, -0.028764f, -0.005135f, - -0.013298f, 0.010433f, 0.017077f, 0.003221f, -0.011721f, 0.041600f, 0.054485f, 0.034809f, -0.027457f, -0.022590f, -0.079417f, -0.044218f, -0.017929f, 0.021250f, 0.134219f, -0.022752f, 0.001869f, 0.059752f, -0.005119f, 0.025516f, -0.030170f, -0.031597f, -0.025350f, 0.028401f, -0.075316f, 0.000675f, -0.009732f, -0.000867f, 0.065721f, -0.028678f, 0.099338f, 0.008853f, 0.075351f, -0.095583f, -0.028400f, 0.027755f, -0.001607f, -0.041438f, -0.034680f, 0.077710f, -0.079742f, -0.065966f, 0.095559f, 0.016844f, 0.083008f, -0.032801f, -0.005211f, -0.005696f, 0.026915f, 0.011431f, -0.007291f, 0.028209f, 0.028511f, -0.001485f, 0.013567f, 0.008928f, 0.003279f, -0.009757f, -0.017520f, -0.004030f, -0.011492f, -0.015764f, 0.015004f, 0.008568f, -0.013074f, 0.009608f, -0.028913f, -0.002865f, 0.020945f, 0.036057f, -0.002584f, -0.022709f, -0.001413f, -0.025855f, 0.015103f, 0.024770f, -0.016965f, -0.014215f, 0.014229f, 0.016511f, -0.036609f, 0.013200f, 0.001949f, 0.024072f, -0.015383f, -0.016214f, 0.000143f, 0.007610f, 0.011547f, -0.041590f, 0.007078f, -0.017648f, 0.033290f, -0.011542f, -0.007413f, -0.004818f, - -0.082079f, 0.039210f, 0.060392f, -0.043662f, -0.035850f, -0.012225f, -0.039383f, -0.047513f, 0.012813f, 0.014125f, 0.037076f, 0.001676f, 0.032416f, 0.057514f, 0.060092f, 0.039835f, 0.013899f, -0.043939f, 0.004453f, 0.022894f, 0.030468f, 0.046649f, 0.000631f, -0.024114f, -0.034966f, -0.013248f, 0.047430f, -0.019391f, 0.018747f, 0.041087f, 0.004198f, 0.080724f, 0.009460f, -0.051525f, 0.044686f, 0.043969f, 0.012845f, 0.018953f, 0.040969f, 0.006509f, 0.003627f, -0.047303f, 0.102324f, -0.108914f, -0.079879f, -0.092914f, -0.030576f, 0.019195f, -0.054425f, 0.028022f, 0.061108f, -0.018101f, 0.006154f, 0.053688f, 0.017352f, -0.058250f, -0.020018f, -0.045094f, -0.006268f, 0.003309f, 0.003159f, 0.051895f, 0.051268f, -0.011793f, -0.012695f, 0.032574f, 0.078844f, 0.013589f, 0.064905f, -0.054627f, 0.057719f, -0.025297f, 0.019274f, -0.011574f, -0.036480f, -0.025609f, -0.005601f, 0.025955f, 0.016166f, 0.064087f, -0.082822f, 0.042174f, -0.032642f, -0.020609f, -0.015965f, 0.030654f, -0.014415f, -0.002998f, 0.006910f, -0.033419f, 0.021081f, -0.016422f, -0.000907f, -0.025412f, 0.008036f, -0.005258f, - 0.001334f, -0.028614f, 0.004447f, -0.002768f, 0.005909f, -0.002948f, -0.030807f, 0.012224f, -0.017450f, -0.016270f, -0.007096f, 0.022949f, 0.027019f, 0.029411f, -0.025168f, 0.050693f, -0.038123f, -0.011777f, 0.003138f, -0.004365f, -0.028113f, -0.015459f, -0.001408f, -0.021484f, 0.006308f, -0.001989f, -0.000689f, -0.002773f, -0.020771f, 0.002457f, -0.003269f, -0.001214f, -0.046523f, -0.093573f, -0.094181f, -0.068173f, 0.013957f, 0.174883f, 0.044180f, -0.024158f, -0.052912f, -0.126427f, -0.177815f, 0.040106f, 0.073607f, 0.088360f, -0.018628f, 0.007626f, -0.052160f, -0.090733f, 0.026123f, 0.016430f, 0.029484f, 0.004226f, -0.076090f, -0.023280f, 0.018555f, -0.015334f, -0.003031f, -0.014433f, 0.099076f, 0.086983f, 0.058652f, -0.005417f, -0.042571f, -0.072296f, -0.047857f, -0.043283f, 0.067665f, -0.011269f, 0.049504f, 0.022351f, 0.023165f, -0.030509f, -0.164711f, -0.113434f, 0.055951f, -0.089271f, -0.030483f, 0.189937f, 0.130601f, 0.098102f, -0.074448f, 0.053705f, -0.051577f, 0.003708f, 0.003733f, 0.027511f, 0.080551f, 0.141969f, -0.054423f, -0.005132f, -0.093698f, -0.075737f, -0.123990f, 0.013382f, - -0.005163f, -0.133528f, -0.032017f, 0.085889f, 0.032078f, 0.059924f, 0.081279f, 0.146472f, -0.106808f, -0.064156f, 0.008423f, -0.087225f, -0.011285f, 0.048642f, 0.114100f, 0.057949f, 0.017767f, -0.069752f, -0.066851f, 0.044996f, -0.019081f, 0.067184f, 0.059085f, -0.016066f, 0.027032f, 0.010788f, -0.011452f, -0.022485f, -0.013106f, -0.008547f, 0.020015f, 0.005722f, -0.000595f, 0.006887f, -0.002172f, 0.009600f, 0.000176f, 0.042461f, 0.034912f, 0.055380f, 0.009901f, -0.030617f, -0.064314f, -0.052581f, 0.021239f, 0.049741f, 0.057015f, -0.007291f, -0.036629f, -0.147824f, -0.076030f, -0.070051f, 0.001541f, 0.007349f, 0.014949f, -0.000663f, 0.010848f, -0.016866f, -0.000240f, -0.024896f, -0.022303f, 0.031087f, 0.027377f, 0.015869f, 0.015985f, 0.007977f, 0.003476f, 0.006941f, 0.043263f, -0.070326f, -0.232775f, -0.216605f, -0.124357f, -0.135223f, -0.033755f, 0.224153f, 0.113859f, 0.230622f, 0.204630f, 0.320801f, 0.229080f, 0.197076f, 0.031754f, -0.085573f, -0.193478f, -0.309970f, -0.263274f, -0.265109f, -0.138604f, -0.066519f, -0.015671f, 0.002210f, 0.007570f, 0.054730f, 0.073093f, 0.184475f, - 0.111978f, 0.217703f, 0.141762f, 0.186619f, 0.067462f, 0.180324f, 0.062588f, 0.044125f, 0.042619f, -0.010712f, -0.050677f, -0.122047f, -0.140917f, -0.261477f, -0.179194f, -0.331342f, -0.262232f, -0.402151f, -0.238502f, -0.189175f, -0.045717f, 0.110550f, 0.058717f, 0.009963f, 0.110265f, 0.235860f, 0.314960f, 0.413071f, 0.492264f, 0.421318f, 0.307681f, 0.383828f, 0.316586f, 0.177560f, 0.079760f, -0.019632f, -0.132108f, -0.305422f, -0.362895f, -0.485822f, -0.627396f, -0.725912f, -0.655206f, -0.577330f, -0.411012f, -0.280497f, 0.085879f, 0.270683f, 0.329740f, 0.507984f, 0.423993f, 0.529774f, 0.556596f, 0.546180f, 0.629450f, 0.413361f, 0.107273f, -0.103930f, -0.201838f, -0.249607f, -0.161776f, -0.233753f, -0.200589f, -0.233934f, -0.316835f, -0.320257f, -0.373074f, -0.220726f, -0.172028f, -0.146453f, -0.082011f, -0.004835f, 0.021925f, 0.090738f, 0.245843f, 0.259295f, 0.367850f, 0.320443f, 0.420717f, 0.309611f, 0.206696f, 0.213542f, 0.081268f, -0.055772f, -0.091419f, -0.405660f, -0.523332f, -0.487013f, -0.430024f, -0.251515f, -0.197641f, -0.107798f, 0.009407f, 0.109975f, 0.167166f, 0.227612f, - 0.271340f, 0.323039f, 0.306404f, 0.290052f, 0.255051f, 0.142948f, -0.000559f, -0.071733f, -0.168226f, -0.175549f, -0.150706f, -0.122519f, -0.128137f, -0.129166f, -0.101815f, -0.072423f, -0.043044f, -0.017112f, -0.016076f, -0.010582f, 0.004417f, -0.010970f, -0.013788f, 0.019870f, 0.043324f, 0.049371f, 0.032707f, 0.025410f, 0.038991f, 0.049881f, 0.039200f, 0.047594f, 0.062561f, 0.076384f, 0.064983f, 0.015749f, -0.007693f, -0.002733f, -0.003259f, -0.021075f, -0.018254f, -0.012758f, -0.029404f, -0.048270f, -0.060796f, -0.057696f, -0.050808f, -0.040841f, -0.033893f, -0.019498f, -0.007762f, -0.004352f, -0.001928f, 0.009301f, 0.018777f, 0.024918f, 0.026997f, 0.028817f, 0.023413f, 0.019272f, 0.018756f, 0.012283f, 0.002715f, 0.006088f, 0.007461f, 0.002736f, -0.002870f, -0.004533f, -0.000223f, 0.008961f, 0.012463f, 0.010831f, 0.009391f, 0.013947f, 0.011015f, 0.003236f, -0.003758f, -0.008027f, -0.011503f, -0.014432f, -0.023969f, -0.029054f, -0.027532f, -0.029036f, -0.034503f, -0.026789f, -0.010231f, 0.001124f, 0.003669f, 0.010035f, 0.018584f, 0.023472f, 0.021017f, 0.021034f, 0.023303f, 0.021449f, - 0.015819f, 0.011317f, 0.006422f, 0.003140f, -0.000660f, -0.003507f, -0.003934f, -0.003546f, -0.004361f, -0.005804f, -0.006205f, -0.005352f, -0.004724f, -0.004307f, -0.003646f, -0.002701f, -0.002041f, -0.001528f, -0.001261f, -0.000970f}, - {-0.022232f, 0.008364f, -0.012631f, 0.006954f, -0.007097f, -0.014627f, -0.025330f, 0.004552f, 0.000825f, 0.006468f, 0.005692f, -0.001694f, -0.001796f, 0.001997f, 0.015427f, -0.010826f, -0.019390f, 0.006528f, -0.007982f, -0.012961f, 0.000298f, -0.001868f, 0.008123f, 0.002951f, 0.005813f, -0.005782f, -0.001390f, -0.003765f, 0.013147f, -0.003491f, -0.005226f, -0.004582f, -0.002245f, -0.003085f, -0.005192f, -0.004565f, -0.003160f, 0.002665f, 0.001168f, 0.001786f, 0.000504f, 0.003480f, 0.005610f, 0.002893f, -0.004889f, -0.014699f, -0.000093f, -0.010199f, 0.001546f, -0.000626f, -0.004628f, 0.006681f, 0.000500f, 0.000118f, -0.014670f, -0.005942f, 0.002019f, -0.001083f, 0.005189f, 0.000447f, 0.004621f, -0.004202f, 0.001942f, -0.001782f, 0.009124f, -0.003148f, 0.004824f, -0.008054f, -0.008049f, -0.010157f, 0.000547f, -0.002356f, -0.002945f, 0.000139f, -0.003537f, 0.000008f, -0.004133f, 0.000957f, 0.000219f, -0.001684f, -0.006409f, 0.000716f, 0.000701f, 0.003779f, 0.003293f, 0.000105f, 0.003505f, -0.000294f, -0.002670f, -0.000815f, -0.001249f, 0.001431f, -0.000003f, 0.000266f, 0.001983f, 0.001500f, - -0.000228f, 0.001863f, -0.001175f, 0.000443f, -0.015948f, -0.003276f, -0.002075f, -0.004504f, -0.002023f, -0.005432f, 0.005312f, -0.002134f, -0.001839f, -0.000430f, 0.000137f, -0.000297f, -0.003826f, 0.014181f, 0.009127f, 0.014821f, -0.006905f, 0.014753f, -0.008702f, -0.006094f, 0.005748f, 0.016335f, -0.000339f, -0.009862f, -0.014578f, -0.010462f, -0.002000f, 0.011653f, 0.004586f, 0.003961f, 0.005176f, -0.005085f, 0.007929f, 0.001033f, 0.005928f, -0.002861f, -0.013288f, 0.003645f, -0.009191f, -0.006280f, -0.006446f, -0.001512f, -0.016877f, -0.000758f, 0.000807f, -0.007033f, 0.015786f, -0.002969f, -0.005092f, -0.006318f, -0.000151f, 0.001763f, -0.006754f, 0.000255f, -0.008286f, -0.003096f, 0.000233f, -0.003394f, 0.011347f, 0.000376f, -0.003053f, 0.006381f, 0.004078f, 0.010534f, 0.004225f, 0.012659f, 0.003113f, 0.010356f, -0.011781f, 0.003087f, 0.009418f, -0.003194f, -0.008417f, -0.011559f, -0.000228f, -0.000879f, -0.002318f, 0.002880f, 0.003407f, -0.002430f, 0.009027f, -0.007738f, 0.002996f, 0.003184f, -0.005790f, 0.004257f, 0.000947f, -0.004201f, 0.002264f, -0.001035f, 0.000890f, -0.003934f, - 0.001229f, 0.000531f, 0.000734f, -0.000409f, -0.000283f, 0.002000f, 0.000505f, 0.003670f, -0.000742f, 0.000360f, 0.018019f, -0.008278f, -0.006385f, 0.001746f, -0.004095f, -0.003064f, 0.009007f, -0.007123f, 0.008671f, 0.003942f, 0.000131f, 0.004394f, -0.005913f, -0.005640f, -0.010325f, -0.011124f, 0.014510f, 0.006824f, 0.005067f, 0.007728f, -0.005155f, -0.003466f, -0.003807f, 0.018337f, -0.007175f, 0.020077f, -0.000732f, -0.005191f, -0.004902f, -0.010731f, -0.011523f, -0.013984f, -0.000909f, -0.003571f, 0.002471f, 0.013386f, -0.001193f, -0.006369f, -0.018803f, 0.000589f, 0.014858f, 0.021810f, -0.010309f, 0.005582f, 0.003988f, -0.005632f, -0.004991f, 0.005640f, 0.020687f, -0.005013f, 0.003225f, -0.001846f, -0.003062f, -0.002011f, 0.009907f, 0.014280f, -0.010900f, -0.005966f, 0.004418f, 0.018744f, 0.003109f, 0.013256f, -0.010918f, -0.010167f, -0.000583f, -0.001740f, 0.003785f, 0.002787f, -0.000271f, 0.001110f, 0.001925f, -0.004972f, 0.002260f, 0.006019f, 0.004651f, -0.003755f, 0.012001f, -0.003137f, 0.007534f, -0.004020f, -0.004170f, 0.004447f, 0.003777f, 0.004013f, 0.000895f, 0.004188f, - 0.000793f, -0.006322f, -0.004269f, 0.001147f, -0.000324f, 0.002235f, -0.001198f, 0.003374f, -0.000175f, 0.001853f, -0.001887f, -0.000416f, -0.000188f, -0.000987f, -0.002192f, -0.000267f, -0.001345f, -0.000402f, -0.001613f, -0.001431f, 0.003378f, -0.000118f, -0.001656f, 0.003621f, 0.000051f, -0.001956f, 0.029775f, -0.020383f, -0.004463f, -0.008441f, 0.002377f, 0.007965f, 0.014330f, -0.014222f, 0.009840f, -0.003680f, -0.015047f, -0.024379f, -0.004951f, -0.010329f, 0.001790f, -0.002283f, -0.010274f, -0.005227f, 0.005753f, 0.006082f, 0.019155f, 0.010650f, 0.009776f, 0.001056f, 0.003086f, -0.009842f, -0.006637f, 0.015403f, 0.011815f, 0.008035f, 0.003764f, 0.007421f, 0.001644f, 0.000126f, -0.012746f, -0.018069f, 0.012204f, -0.004773f, -0.012130f, -0.005756f, -0.007596f, 0.006551f, -0.006679f, 0.015475f, 0.003637f, -0.008815f, -0.004247f, -0.006736f, -0.005813f, 0.007594f, 0.011405f, -0.000905f, 0.007717f, -0.005529f, -0.006154f, 0.000111f, 0.001621f, -0.005898f, -0.002227f, 0.008965f, 0.000202f, -0.003606f, -0.004279f, 0.004915f, 0.005504f, -0.000619f, 0.006633f, 0.000975f, -0.004520f, 0.015440f, - -0.002083f, 0.001761f, 0.000850f, -0.018451f, 0.007339f, 0.005876f, 0.009726f, 0.006330f, -0.006664f, -0.001484f, -0.016587f, -0.007615f, -0.015210f, -0.005562f, -0.006751f, 0.000123f, 0.001585f, -0.010044f, 0.000567f, -0.002381f, 0.000157f, 0.004367f, -0.001402f, -0.001806f, -0.000206f, -0.002740f, 0.000632f, -0.001370f, 0.001291f, -0.001665f, -0.003632f, -0.001846f, -0.000817f, -0.006268f, -0.000435f, -0.000241f, 0.001452f, -0.000343f, 0.000922f, -0.000297f, 0.000300f, -0.003332f, -0.004224f, 0.000485f, -0.000485f, -0.001908f, 0.000975f, -0.004869f, -0.020368f, 0.005136f, 0.000118f, -0.006098f, -0.011200f, 0.004552f, -0.010709f, -0.002037f, 0.018246f, 0.027705f, 0.013585f, 0.015190f, -0.001245f, -0.007804f, 0.011383f, 0.010195f, 0.004236f, 0.005404f, 0.013591f, -0.002107f, 0.009853f, 0.009577f, 0.014103f, 0.013539f, -0.011271f, 0.009047f, -0.000834f, 0.003118f, -0.010512f, 0.003080f, -0.001511f, 0.009225f, -0.003728f, -0.002726f, -0.007464f, 0.006688f, -0.011506f, -0.009339f, 0.000792f, 0.009694f, 0.005215f, -0.005989f, -0.003191f, -0.001909f, -0.004036f, 0.005820f, -0.013829f, 0.012506f, - -0.000200f, 0.015580f, -0.022390f, 0.001478f, -0.020182f, -0.006418f, -0.006533f, 0.005374f, -0.002245f, -0.004658f, 0.004248f, 0.001565f, 0.005248f, 0.008564f, 0.014052f, -0.001854f, -0.011572f, 0.002363f, 0.018985f, 0.003818f, -0.005706f, -0.001492f, 0.011641f, -0.006317f, 0.007018f, -0.006105f, -0.020626f, 0.011738f, 0.012368f, 0.011544f, -0.010283f, -0.015258f, -0.011117f, 0.012779f, -0.001556f, -0.002048f, 0.008925f, 0.003286f, 0.002067f, 0.001489f, -0.000824f, 0.003465f, 0.004561f, -0.001657f, -0.002777f, 0.002602f, 0.000094f, -0.000969f, 0.001420f, -0.002636f, 0.000550f, 0.004064f, -0.001908f, 0.004274f, -0.002022f, -0.003286f, 0.001328f, -0.000160f, -0.000183f, 0.002135f, 0.001476f, 0.002170f, 0.001540f, 0.001543f, -0.000336f, 0.002095f, -0.001561f, -0.030485f, 0.000541f, -0.006739f, 0.002830f, -0.017061f, 0.002107f, 0.002849f, 0.022674f, -0.018098f, 0.000249f, -0.024287f, 0.005560f, -0.014664f, -0.003563f, 0.000924f, -0.007945f, 0.007061f, 0.003130f, -0.012700f, 0.000253f, -0.000162f, 0.011789f, -0.007663f, 0.018980f, -0.000198f, -0.016422f, -0.008357f, 0.020196f, -0.001908f, - 0.008094f, 0.005406f, -0.003318f, 0.012103f, -0.013343f, -0.012603f, -0.009821f, 0.001418f, -0.012780f, 0.013635f, -0.007480f, 0.008762f, -0.012376f, -0.000104f, -0.015040f, 0.009929f, 0.001332f, 0.011886f, 0.010589f, -0.009981f, 0.019903f, 0.017014f, 0.016026f, 0.003217f, 0.016826f, 0.013873f, -0.014270f, 0.012304f, 0.005856f, 0.001182f, -0.013249f, 0.006162f, -0.011276f, 0.011238f, -0.004848f, -0.008840f, -0.001083f, 0.016742f, 0.005937f, -0.019149f, 0.018311f, -0.001451f, -0.006481f, -0.010916f, 0.018649f, 0.016199f, -0.013911f, 0.013826f, -0.001003f, -0.016512f, 0.000197f, -0.009356f, -0.005179f, 0.009182f, -0.007998f, 0.006576f, -0.000678f, 0.002950f, -0.003838f, 0.005027f, -0.000696f, -0.000442f, -0.001119f, -0.001767f, 0.001747f, 0.001033f, -0.004652f, 0.001726f, 0.002298f, 0.000067f, 0.001709f, 0.002098f, -0.004370f, 0.001013f, -0.000538f, 0.000165f, -0.003689f, 0.001380f, -0.001522f, -0.002146f, -0.004905f, 0.005703f, 0.001157f, -0.002585f, -0.000775f, 0.001576f, -0.000597f, 0.043542f, 0.007397f, -0.001742f, -0.015019f, -0.028214f, 0.007199f, -0.004160f, -0.041410f, 0.036322f, - -0.017603f, -0.026282f, 0.005550f, -0.001682f, 0.004892f, -0.001701f, 0.007039f, 0.010472f, 0.000137f, -0.000672f, -0.021163f, -0.001762f, -0.002010f, 0.024948f, -0.004560f, 0.000645f, 0.009182f, -0.004382f, -0.003074f, -0.010157f, 0.021305f, -0.015990f, 0.015394f, -0.003803f, -0.012768f, 0.002386f, -0.014274f, -0.007260f, -0.023182f, 0.004079f, 0.010641f, -0.006272f, -0.011567f, -0.009158f, 0.014010f, -0.021733f, -0.005140f, -0.010720f, -0.000305f, -0.003120f, 0.002827f, -0.018856f, 0.018362f, -0.025742f, -0.017601f, 0.006975f, 0.003106f, -0.000983f, 0.006872f, -0.013356f, -0.019210f, 0.002374f, -0.005226f, -0.000888f, 0.009427f, -0.011491f, 0.008546f, 0.005942f, 0.021186f, -0.005880f, 0.003037f, -0.001643f, 0.000303f, 0.029369f, 0.002459f, 0.029078f, -0.007027f, -0.010936f, 0.003312f, -0.014974f, -0.001338f, 0.014854f, 0.001192f, -0.017421f, -0.015242f, 0.004260f, -0.001624f, 0.000053f, 0.014927f, 0.001148f, -0.002814f, 0.006188f, -0.000858f, -0.000618f, -0.006983f, 0.002568f, 0.003259f, -0.003523f, -0.000104f, -0.001741f, 0.005758f, -0.002626f, -0.001176f, 0.002943f, 0.000758f, 0.001780f, - -0.000557f, 0.003283f, -0.001096f, -0.000003f, 0.001751f, -0.003675f, 0.004529f, -0.002900f, 0.001670f, 0.003794f, 0.002066f, 0.003582f, 0.000978f, -0.031881f, -0.004116f, -0.006429f, -0.025848f, -0.044558f, 0.013834f, 0.023247f, -0.016283f, -0.007794f, 0.013183f, -0.004741f, 0.027879f, -0.003023f, -0.014779f, -0.008777f, -0.041517f, 0.014139f, 0.004775f, -0.003712f, -0.029138f, 0.006988f, -0.016169f, -0.004201f, -0.014183f, -0.007220f, 0.020850f, -0.019844f, 0.008679f, -0.029423f, 0.018981f, 0.003850f, 0.000464f, -0.008427f, 0.002320f, -0.003768f, -0.016405f, -0.030983f, 0.006123f, 0.000142f, 0.006747f, 0.013116f, -0.007455f, -0.002400f, -0.019891f, -0.010189f, -0.005257f, 0.008556f, 0.005821f, 0.014826f, 0.023625f, 0.018491f, 0.009563f, 0.014131f, 0.004366f, 0.014725f, 0.013264f, -0.012734f, 0.015180f, 0.017132f, -0.003402f, 0.022913f, -0.002278f, 0.026867f, -0.011744f, -0.028668f, -0.004599f, 0.018447f, 0.020297f, 0.023305f, -0.004377f, -0.040037f, -0.003929f, -0.002033f, 0.001626f, -0.001255f, -0.009765f, 0.005861f, -0.029180f, 0.022905f, 0.014488f, 0.013931f, -0.015227f, -0.014381f, - -0.003088f, 0.008586f, -0.000928f, -0.016099f, 0.000253f, -0.007810f, -0.013066f, -0.005187f, -0.002070f, -0.006201f, 0.000703f, -0.005225f, 0.002781f, -0.003220f, -0.001709f, 0.004336f, 0.000910f, 0.002035f, -0.001987f, -0.005685f, -0.006308f, 0.004595f, -0.005007f, -0.000075f, -0.001755f, 0.002867f, -0.001973f, -0.001206f, -0.001951f, 0.006843f, 0.003688f, 0.002166f, -0.001976f, 0.042729f, -0.009407f, -0.010270f, 0.014248f, 0.023000f, -0.001655f, 0.010698f, 0.026644f, 0.019238f, -0.043751f, -0.040213f, 0.000328f, -0.003880f, 0.005897f, -0.017985f, -0.031915f, 0.007560f, 0.025590f, 0.016884f, -0.018524f, 0.030079f, 0.024326f, 0.022807f, -0.038339f, 0.010835f, 0.020118f, 0.001008f, 0.003069f, 0.017094f, 0.039516f, -0.007663f, -0.018046f, 0.011956f, 0.008969f, -0.005411f, 0.021369f, 0.031849f, 0.005971f, 0.032995f, 0.014456f, -0.024823f, 0.002815f, 0.027354f, -0.002935f, -0.011282f, 0.014211f, 0.002254f, 0.005422f, 0.028708f, 0.018486f, 0.009741f, 0.003440f, -0.033415f, -0.033968f, -0.002884f, 0.005422f, 0.008839f, -0.010456f, -0.001523f, -0.008752f, 0.002941f, 0.004282f, -0.012780f, - 0.004866f, -0.007864f, -0.001939f, -0.010868f, 0.001268f, 0.021195f, -0.012514f, -0.030737f, -0.004743f, -0.026151f, 0.005803f, -0.009364f, -0.000625f, -0.003551f, 0.012382f, -0.004659f, 0.008983f, -0.000162f, 0.007715f, 0.003571f, -0.003491f, -0.004209f, -0.005258f, -0.015187f, 0.005576f, 0.001929f, 0.003859f, 0.000463f, -0.011644f, 0.005844f, -0.009093f, -0.007746f, -0.002601f, -0.009934f, -0.002016f, -0.003274f, -0.003622f, -0.003150f, 0.006503f, -0.002878f, 0.004362f, -0.000434f, 0.003526f, 0.000580f, 0.008383f, -0.003613f, 0.002328f, -0.006726f, -0.001619f, -0.005771f, -0.005167f, -0.001115f, -0.003786f, 0.012744f, 0.005470f, 0.000465f, -0.001690f, -0.001811f, -0.071072f, -0.044222f, -0.013184f, 0.013266f, -0.004085f, -0.017523f, 0.003480f, -0.017073f, 0.050255f, -0.019955f, 0.032341f, 0.049591f, 0.027017f, 0.024567f, -0.019018f, 0.017737f, -0.009303f, -0.022616f, 0.020183f, 0.023508f, 0.015676f, 0.033470f, 0.000456f, -0.001493f, -0.014431f, -0.014805f, -0.012609f, -0.020477f, -0.019931f, -0.013619f, 0.007976f, 0.003000f, 0.000052f, -0.012813f, -0.006866f, -0.019873f, 0.008600f, -0.017144f, - -0.015529f, -0.006861f, 0.008640f, 0.000074f, -0.010404f, -0.029031f, 0.003734f, -0.008480f, 0.010815f, -0.034278f, -0.026433f, 0.030353f, -0.004383f, -0.005696f, -0.013745f, -0.008430f, 0.022868f, 0.007472f, -0.004462f, 0.012541f, -0.003163f, 0.013042f, 0.010479f, 0.014862f, -0.010344f, -0.017260f, -0.043566f, 0.003161f, -0.042246f, -0.002772f, -0.035727f, -0.005079f, 0.034222f, -0.004187f, 0.006246f, -0.024151f, -0.010283f, -0.012416f, 0.002938f, -0.015479f, -0.008842f, 0.015410f, 0.019237f, -0.001882f, -0.001722f, 0.002252f, -0.008472f, 0.003312f, -0.000776f, -0.008438f, -0.003283f, -0.007212f, -0.002662f, -0.004068f, -0.019497f, 0.003513f, -0.003098f, -0.002486f, 0.001424f, -0.005319f, -0.006177f, -0.013489f, -0.002968f, -0.007776f, -0.009161f, -0.001685f, -0.011591f, -0.005426f, 0.002161f, -0.007335f, -0.008392f, 0.001139f, -0.006982f, 0.002468f, 0.003014f, 0.008555f, -0.004919f, 0.006001f, 0.003032f, -0.007675f, -0.002705f, -0.001794f, -0.003368f, 0.001618f, -0.001493f, -0.002181f, 0.049151f, 0.000969f, -0.035587f, -0.030174f, 0.030834f, 0.024182f, -0.022782f, -0.022002f, 0.041339f, 0.026279f, - 0.001516f, -0.024525f, 0.002961f, -0.010306f, 0.019601f, -0.015213f, 0.002325f, -0.006436f, -0.004521f, 0.042760f, -0.006054f, -0.011621f, 0.007917f, 0.007295f, 0.012767f, 0.013228f, 0.001437f, -0.016844f, 0.012753f, 0.006490f, 0.014614f, 0.033092f, 0.015114f, -0.047569f, -0.013652f, -0.007726f, -0.036471f, 0.014147f, -0.006362f, 0.000785f, -0.020350f, 0.017210f, -0.007936f, 0.003328f, -0.026459f, 0.017962f, -0.021566f, 0.001818f, 0.021151f, -0.003352f, 0.022312f, -0.017412f, 0.027838f, -0.035710f, 0.017801f, 0.000464f, -0.012957f, 0.046852f, 0.012405f, -0.009666f, -0.027982f, 0.012208f, -0.005819f, 0.003921f, -0.004330f, 0.017193f, 0.025436f, 0.034477f, -0.021869f, 0.015545f, -0.008735f, 0.030853f, 0.011169f, 0.004488f, -0.002949f, 0.018540f, 0.003170f, -0.012127f, 0.014857f, -0.010548f, -0.018141f, -0.007700f, -0.024629f, 0.000426f, -0.027581f, -0.002220f, -0.018641f, 0.021264f, -0.006864f, 0.013715f, -0.014967f, 0.000679f, -0.008458f, 0.012958f, -0.004249f, -0.001101f, -0.008391f, 0.004467f, -0.006346f, -0.009788f, -0.005909f, 0.004431f, -0.009773f, 0.005956f, -0.007792f, 0.003713f, - -0.005126f, -0.004618f, -0.005129f, -0.010415f, -0.006382f, 0.000418f, -0.007945f, -0.006848f, 0.009514f, 0.008627f, 0.004350f, -0.004738f, -0.012671f, -0.001150f, 0.005135f, -0.000275f, -0.009904f, -0.005566f, -0.000971f, -0.071438f, -0.046238f, 0.038564f, -0.028175f, -0.026435f, 0.014888f, 0.033771f, -0.055460f, -0.009147f, 0.013311f, 0.003660f, -0.028916f, -0.043376f, 0.081687f, -0.035102f, 0.011168f, -0.039921f, 0.022134f, -0.013852f, 0.038242f, 0.033988f, 0.003513f, 0.006095f, -0.045238f, 0.000026f, 0.021522f, -0.018281f, -0.026935f, 0.021571f, 0.006175f, 0.023252f, 0.018506f, -0.003758f, 0.007826f, -0.005010f, -0.002789f, 0.034250f, -0.028941f, -0.016976f, 0.027502f, -0.001025f, -0.021821f, 0.029102f, -0.000773f, -0.006276f, -0.019491f, -0.008552f, 0.010815f, -0.015207f, -0.001635f, 0.010315f, -0.019335f, -0.019824f, -0.012852f, 0.014814f, -0.042098f, 0.020279f, -0.001813f, 0.040269f, -0.037610f, 0.012673f, -0.028573f, 0.010720f, -0.017104f, -0.021848f, 0.036337f, -0.019883f, -0.008689f, -0.019352f, 0.015783f, -0.022154f, 0.013310f, -0.007450f, 0.026614f, 0.027287f, -0.003275f, -0.042208f, - 0.017052f, 0.017746f, -0.001893f, -0.001219f, -0.024033f, -0.016584f, -0.003874f, -0.020706f, -0.016610f, -0.005770f, -0.000355f, -0.010241f, -0.013627f, 0.015881f, 0.005430f, -0.009706f, -0.008079f, -0.009921f, -0.010479f, 0.011585f, 0.004382f, 0.002890f, -0.015823f, -0.005975f, 0.013898f, -0.007864f, -0.009648f, 0.006572f, -0.006861f, 0.000178f, 0.005169f, 0.008137f, -0.003108f, -0.013094f, 0.002812f, 0.008017f, -0.017491f, 0.000537f, 0.004758f, 0.000550f, -0.009131f, -0.005187f, 0.000638f, -0.004070f, 0.036081f, 0.017602f, -0.040357f, 0.013937f, 0.043672f, -0.003703f, 0.000215f, 0.020239f, -0.012915f, 0.030681f, 0.027743f, -0.036390f, -0.022302f, -0.006587f, 0.019397f, 0.035027f, 0.006290f, 0.018687f, 0.039454f, 0.029619f, -0.041314f, -0.004286f, 0.065871f, 0.016409f, -0.004299f, -0.007601f, -0.012299f, -0.019153f, 0.005879f, 0.016297f, 0.018040f, 0.016900f, -0.011692f, -0.027908f, 0.007625f, -0.014419f, 0.015498f, 0.045606f, -0.012006f, -0.045398f, 0.054644f, -0.016249f, -0.030007f, 0.044422f, -0.007913f, -0.012971f, -0.047271f, -0.008303f, 0.019622f, 0.009554f, -0.010230f, -0.019756f, - 0.018336f, 0.002174f, -0.021879f, 0.019032f, -0.004352f, 0.043384f, -0.031710f, 0.004744f, -0.006161f, 0.049681f, 0.016886f, -0.069975f, 0.022056f, -0.029090f, -0.012285f, -0.024843f, 0.030414f, 0.100791f, 0.036754f, 0.006113f, 0.023290f, 0.029544f, -0.037044f, -0.015440f, -0.010406f, -0.020873f, -0.012781f, -0.023127f, 0.022147f, -0.051317f, -0.013664f, 0.004977f, 0.006194f, -0.016603f, 0.003234f, 0.009427f, -0.005034f, -0.006224f, 0.017583f, 0.003565f, 0.011745f, 0.010092f, -0.010569f, 0.003349f, 0.008702f, 0.003673f, 0.007281f, -0.004932f, 0.004476f, -0.009653f, 0.001359f, -0.002654f, -0.009578f, -0.004668f, -0.002156f, 0.016141f, 0.000895f, 0.004499f, 0.000667f, -0.002847f, -0.003209f, 0.001759f, -0.001382f, -0.014141f, -0.001741f, 0.002823f, -0.003441f, -0.010773f, -0.026205f, -0.009041f, -0.007927f, 0.015948f, -0.002655f, 0.002916f, -0.015378f, -0.053257f, -0.022692f, 0.003593f, -0.021657f, -0.067019f, 0.058021f, -0.011206f, 0.026120f, 0.004893f, -0.030764f, -0.052887f, -0.050970f, 0.057044f, 0.034712f, 0.013049f, -0.020196f, -0.038245f, -0.028676f, -0.045405f, -0.011720f, 0.016858f, - -0.007123f, 0.003650f, 0.007169f, -0.007500f, -0.023565f, -0.022647f, -0.038624f, -0.013891f, -0.007479f, 0.018900f, 0.013159f, 0.020784f, -0.010411f, -0.017317f, -0.007306f, 0.027183f, 0.003803f, 0.024060f, -0.080680f, -0.019051f, -0.000182f, 0.017628f, -0.025792f, -0.001194f, -0.029843f, 0.023263f, 0.020461f, 0.003862f, 0.099493f, 0.001512f, 0.031040f, 0.040903f, 0.001701f, 0.013163f, 0.000545f, -0.007240f, -0.012054f, 0.020575f, 0.030233f, 0.039568f, -0.000970f, -0.007565f, 0.002643f, 0.025967f, 0.023587f, 0.000763f, 0.019105f, 0.016491f, 0.012830f, -0.005390f, 0.038885f, -0.011331f, 0.049922f, -0.049526f, -0.024812f, -0.060895f, -0.019037f, 0.010780f, 0.001362f, -0.015855f, 0.003145f, -0.000310f, 0.027112f, -0.005626f, 0.032502f, -0.015036f, -0.012244f, -0.016512f, 0.008292f, 0.018225f, -0.003124f, -0.009019f, -0.010049f, 0.011208f, 0.000005f, 0.037931f, -0.006200f, -0.002721f, 0.006647f, 0.010571f, 0.015496f, -0.013261f, -0.001365f, 0.004992f, 0.007541f, -0.018264f, 0.006108f, 0.006821f, 0.023112f, -0.023189f, 0.012903f, 0.008699f, -0.010066f, 0.019696f, -0.011407f, -0.013668f, - -0.000165f, -0.004702f, 0.009891f, 0.004982f, -0.008407f, -0.000341f, 0.008065f, 0.001843f, 0.020043f, -0.001046f, 0.013002f, 0.037248f, -0.007512f, 0.001124f, 0.009407f, -0.052259f, 0.001622f, 0.006883f, 0.032008f, 0.049126f, -0.042815f, 0.008827f, -0.027196f, 0.034866f, 0.031543f, 0.003532f, 0.061063f, 0.018691f, 0.023986f, -0.022986f, -0.004164f, -0.039853f, 0.061006f, -0.036299f, 0.009066f, 0.037146f, -0.009518f, -0.024742f, 0.018468f, -0.006054f, 0.009068f, 0.039924f, 0.000492f, -0.013330f, -0.004282f, 0.007076f, -0.001835f, -0.024494f, 0.017211f, -0.002795f, -0.007367f, 0.068537f, -0.053613f, 0.049451f, 0.031686f, 0.061837f, 0.024835f, -0.044557f, 0.033544f, 0.000203f, 0.031130f, 0.081595f, -0.059767f, -0.025014f, -0.008181f, 0.001115f, 0.055244f, -0.033585f, 0.002342f, -0.036029f, 0.002229f, 0.062449f, -0.007652f, 0.064827f, 0.017843f, 0.010700f, 0.029125f, -0.040354f, -0.007164f, 0.028248f, 0.040075f, -0.066487f, -0.002920f, -0.057030f, 0.024778f, -0.029874f, -0.001542f, 0.012932f, 0.017860f, 0.000953f, -0.020695f, -0.016480f, -0.062428f, -0.007482f, -0.044518f, 0.035200f, - 0.002512f, -0.003222f, 0.027179f, 0.001117f, -0.000719f, 0.026224f, 0.019323f, 0.012973f, -0.000252f, -0.009417f, 0.011995f, -0.021321f, -0.002145f, -0.014758f, 0.013746f, 0.014495f, -0.013214f, -0.002847f, -0.027432f, 0.011491f, -0.002259f, -0.000436f, -0.001328f, -0.026462f, -0.032003f, -0.010795f, 0.009560f, 0.023421f, 0.011511f, 0.010355f, -0.004400f, 0.019563f, 0.013271f, -0.001263f, -0.010770f, 0.016980f, -0.025348f, -0.007327f, 0.004534f, 0.027618f, 0.022514f, 0.004649f, -0.010998f, -0.039728f, 0.011501f, -0.069719f, -0.061394f, 0.001138f, 0.001112f, -0.038927f, 0.032050f, 0.009420f, -0.010421f, -0.036118f, 0.049686f, -0.011315f, 0.073830f, -0.010549f, 0.016084f, 0.026740f, -0.035591f, -0.011778f, 0.011442f, -0.042521f, -0.023823f, -0.037171f, 0.032279f, -0.029753f, -0.007926f, -0.009673f, 0.027971f, -0.025073f, -0.042398f, -0.059275f, -0.001560f, 0.049534f, 0.003127f, -0.027119f, -0.011439f, -0.034374f, -0.011401f, 0.000398f, 0.020754f, -0.038740f, -0.004200f, -0.008372f, -0.027551f, -0.038085f, 0.001964f, 0.006461f, 0.024825f, 0.008537f, 0.042559f, 0.011835f, 0.053670f, -0.022269f, - 0.044339f, -0.011212f, -0.034366f, -0.008952f, 0.072024f, -0.030998f, 0.032904f, -0.022716f, 0.052888f, -0.027861f, 0.017947f, 0.033499f, -0.001845f, -0.013774f, 0.006541f, -0.019061f, 0.048119f, -0.043935f, -0.016408f, 0.047894f, -0.005734f, -0.039930f, 0.002051f, 0.036609f, 0.020510f, 0.036607f, -0.036783f, -0.031402f, -0.019783f, -0.004043f, 0.036262f, 0.043640f, -0.077064f, 0.004091f, 0.022545f, -0.042392f, 0.007186f, 0.026774f, 0.021036f, 0.019639f, 0.019379f, 0.012819f, -0.005712f, 0.001405f, 0.014906f, 0.016431f, 0.013610f, 0.032987f, -0.009803f, 0.017332f, 0.007556f, 0.035703f, 0.021495f, -0.027607f, -0.034638f, 0.011073f, 0.037770f, -0.010721f, -0.010154f, -0.023951f, -0.040509f, 0.004654f, -0.034530f, -0.010974f, 0.008218f, -0.023202f, 0.021861f, 0.006133f, -0.006968f, -0.019176f, -0.003409f, -0.019880f, -0.001340f, 0.010947f, 0.005486f, 0.003051f, -0.003177f, -0.004925f, -0.067295f, 0.072224f, -0.025133f, 0.061379f, -0.013797f, 0.049148f, 0.003387f, -0.016429f, -0.034965f, -0.024950f, -0.005320f, -0.000044f, 0.035898f, -0.014767f, -0.003627f, 0.009742f, -0.034200f, 0.053155f, - 0.019356f, 0.001235f, -0.045186f, 0.029684f, 0.015249f, -0.036187f, 0.033867f, 0.002261f, -0.006215f, 0.007983f, -0.001837f, 0.044772f, -0.011186f, -0.057986f, 0.061092f, -0.032646f, -0.005779f, 0.045230f, -0.021053f, -0.010802f, -0.028237f, 0.071828f, -0.033284f, -0.009721f, -0.046157f, -0.009572f, 0.004779f, 0.064131f, -0.031149f, 0.011459f, 0.019901f, 0.037828f, -0.010913f, -0.041908f, 0.044080f, 0.026463f, 0.035640f, -0.018520f, -0.009494f, 0.003849f, 0.039566f, -0.023116f, -0.048089f, -0.053546f, 0.027345f, -0.037724f, 0.008689f, 0.038722f, 0.035851f, -0.026536f, -0.009615f, 0.052379f, -0.085492f, -0.002751f, 0.010912f, 0.028557f, -0.004708f, -0.031663f, -0.006958f, 0.047709f, -0.010199f, 0.098746f, 0.038137f, -0.029192f, -0.004637f, 0.002200f, -0.012783f, -0.036756f, -0.044938f, -0.033042f, 0.026864f, -0.021649f, -0.009383f, -0.001566f, 0.042577f, 0.018087f, -0.015850f, 0.018436f, 0.013186f, -0.001307f, 0.005563f, 0.007348f, -0.001354f, 0.005316f, 0.043604f, 0.035898f, 0.034532f, 0.023405f, 0.002561f, -0.022569f, 0.010962f, -0.017783f, 0.020459f, -0.026976f, 0.027728f, 0.041063f, - 0.013029f, 0.052201f, 0.056163f, 0.022470f, -0.001394f, 0.029271f, 0.009435f, -0.006114f, -0.019027f, 0.030466f, -0.008974f, -0.025531f, -0.001209f, 0.014444f, -0.007999f, 0.012499f, 0.023584f, 0.008676f, -0.031661f, 0.024712f, -0.014836f, -0.016810f, -0.094396f, 0.031260f, 0.017542f, 0.082923f, 0.072519f, -0.011465f, -0.027750f, -0.086732f, 0.001809f, 0.028223f, -0.037593f, 0.027563f, 0.049693f, 0.048476f, -0.023474f, 0.058485f, 0.052042f, 0.001986f, -0.032610f, -0.034660f, 0.053140f, 0.045590f, -0.066267f, -0.089799f, 0.117940f, 0.005702f, -0.009182f, 0.015148f, 0.008013f, 0.043624f, 0.042993f, -0.018007f, -0.015778f, 0.061471f, 0.028616f, -0.011434f, -0.041930f, 0.024597f, 0.004140f, 0.003012f, 0.021219f, 0.002788f, -0.002754f, -0.024973f, 0.013031f, -0.007658f, -0.031084f, 0.055302f, -0.089251f, 0.061434f, 0.050318f, -0.083941f, -0.006680f, 0.042496f, 0.009916f, 0.048527f, -0.012283f, 0.006684f, 0.043739f, -0.006030f, 0.021899f, -0.041425f, -0.066293f, 0.183997f, -0.076213f, -0.106004f, -0.024067f, 0.204955f, 0.087619f, -0.087487f, -0.020708f, 0.036142f, 0.024111f, -0.001927f, - -0.053729f, 0.077051f, 0.042193f, 0.032310f, 0.006659f, -0.104103f, -0.018049f, 0.016932f, 0.030022f, -0.042745f, -0.071692f, 0.006257f, 0.021377f, 0.009805f, -0.034367f, -0.035293f, 0.016006f, 0.009560f, 0.024629f, -0.004688f, -0.009608f, -0.002495f, 0.026368f, 0.034895f, 0.023018f, -0.052300f, -0.021291f, 0.037091f, 0.026230f, -0.026274f, -0.000927f, 0.030293f, 0.052518f, 0.021079f, -0.029299f, -0.038080f, -0.051055f, 0.023782f, -0.017066f, 0.022146f, -0.043337f, 0.023966f, 0.011231f, 0.026991f, -0.020442f, -0.009971f, -0.035025f, -0.014162f, 0.032392f, 0.006415f, -0.028923f, 0.015675f, 0.049493f, 0.003417f, -0.004373f, 0.015342f, -0.008004f, 0.013667f, -0.036395f, -0.022872f, 0.046327f, 0.080106f, 0.005784f, 0.132883f, -0.058609f, -0.022347f, 0.077151f, 0.004077f, -0.004154f, -0.039292f, -0.078836f, 0.065976f, -0.040979f, -0.044540f, 0.034303f, -0.049467f, 0.024920f, -0.046881f, -0.052067f, -0.008491f, 0.011670f, 0.007738f, -0.012095f, 0.063173f, 0.015969f, 0.038661f, 0.018619f, 0.001424f, 0.001193f, -0.028028f, -0.060127f, 0.019666f, 0.060378f, -0.048775f, 0.042223f, -0.049720f, - -0.005024f, -0.002365f, -0.077313f, 0.055559f, -0.026683f, 0.021882f, 0.001689f, -0.022403f, 0.001485f, -0.055640f, 0.057729f, -0.040165f, 0.019387f, -0.064830f, -0.039517f, -0.085163f, 0.032470f, -0.039582f, -0.044881f, -0.035944f, -0.018593f, 0.000487f, 0.091202f, 0.033028f, 0.045145f, -0.012020f, -0.042513f, -0.053460f, 0.014326f, 0.003755f, -0.092783f, -0.042771f, -0.163222f, -0.076407f, -0.063099f, -0.009028f, -0.075207f, -0.061512f, -0.013620f, 0.060214f, 0.068128f, -0.054964f, -0.070087f, -0.080119f, 0.040560f, 0.096841f, 0.004889f, 0.077981f, 0.001944f, 0.047292f, 0.018739f, 0.006154f, 0.022514f, 0.008805f, -0.001934f, -0.027472f, 0.039937f, 0.033583f, 0.017689f, -0.032908f, -0.013355f, -0.003949f, 0.017018f, 0.018540f, -0.006783f, 0.020086f, -0.008784f, -0.021933f, -0.039367f, 0.005408f, 0.054344f, 0.020177f, -0.006669f, 0.015917f, -0.017825f, 0.029769f, -0.010947f, 0.038752f, 0.036749f, 0.004918f, -0.040136f, 0.007170f, 0.008574f, 0.043874f, 0.010221f, 0.049797f, -0.033319f, -0.019714f, 0.045028f, 0.047671f, 0.012166f, -0.011702f, -0.009036f, -0.045986f, 0.033515f, -0.021365f, - -0.092832f, 0.022535f, 0.033528f, -0.080315f, 0.045379f, 0.009473f, -0.022902f, 0.005376f, -0.022303f, -0.001726f, 0.017968f, 0.024138f, 0.041948f, -0.048176f, 0.005312f, 0.056688f, -0.005669f, -0.026250f, 0.051084f, -0.021678f, 0.004116f, -0.029392f, -0.011559f, -0.059208f, 0.016152f, 0.001952f, 0.034327f, -0.023060f, 0.003091f, 0.042461f, -0.019269f, 0.001176f, 0.043884f, -0.084483f, 0.006124f, -0.096788f, -0.030353f, -0.064683f, 0.052635f, 0.018890f, -0.003215f, 0.022318f, -0.018487f, 0.024301f, 0.066738f, 0.018270f, 0.103284f, -0.056736f, -0.065030f, 0.060961f, 0.017081f, -0.043917f, -0.041055f, -0.016547f, 0.038533f, -0.035978f, -0.000785f, -0.031057f, -0.040074f, 0.024339f, 0.030508f, -0.060226f, -0.034653f, 0.052603f, -0.000297f, 0.018852f, -0.010677f, 0.029019f, 0.013319f, 0.053084f, -0.030040f, -0.022340f, 0.013984f, 0.012559f, -0.014595f, -0.054620f, -0.039611f, -0.043133f, 0.058892f, -0.026678f, -0.044465f, 0.013473f, -0.011168f, -0.014468f, -0.029097f, 0.011600f, 0.013965f, -0.004566f, -0.008212f, -0.015800f, -0.026765f, -0.004427f, -0.005582f, -0.019618f, 0.001364f, -0.009428f, - -0.018168f, 0.011757f, -0.010464f, 0.010842f, -0.010317f, -0.008954f, 0.028141f, -0.010573f, 0.013632f, 0.009964f, -0.025578f, 0.012023f, 0.004095f, -0.010273f, -0.031155f, 0.043531f, 0.029019f, -0.011939f, 0.007322f, -0.020941f, -0.015542f, 0.013477f, 0.000232f, -0.026995f, 0.010161f, -0.010638f, 0.025387f, -0.006348f, -0.004010f, 0.005055f, 0.012144f, 0.015611f, -0.063196f, -0.127734f, -0.063876f, -0.024356f, 0.055791f, 0.072759f, -0.139437f, 0.024012f, -0.055411f, -0.075588f, -0.015559f, 0.087251f, 0.055741f, 0.047567f, -0.030127f, -0.033648f, -0.040262f, 0.044005f, 0.030997f, 0.067913f, 0.008802f, -0.088258f, -0.034634f, 0.066323f, -0.010259f, 0.019451f, 0.059339f, -0.028412f, -0.041216f, -0.064551f, -0.064722f, 0.000402f, 0.042042f, 0.090953f, 0.067262f, 0.044655f, 0.018192f, -0.093045f, -0.099229f, 0.034669f, -0.068496f, 0.016164f, 0.087244f, 0.034757f, 0.005817f, -0.044059f, -0.079178f, -0.013530f, -0.034189f, 0.026561f, 0.020537f, 0.014855f, 0.054630f, -0.008510f, -0.010724f, 0.014421f, 0.039607f, 0.064462f, 0.066617f, 0.022665f, 0.059306f, 0.020019f, 0.021211f, -0.013053f, - -0.066721f, -0.026115f, -0.029025f, -0.054567f, 0.040953f, 0.038444f, 0.028411f, 0.028451f, -0.012839f, -0.065511f, 0.010696f, 0.019612f, -0.001198f, 0.043659f, 0.027899f, 0.022905f, -0.005360f, 0.003038f, 0.006247f, 0.044966f, 0.045074f, 0.034411f, 0.009791f, -0.008241f, -0.033399f, -0.006099f, 0.019178f, 0.005696f, -0.010017f, -0.000115f, -0.026587f, -0.012223f, -0.015472f, -0.017283f, 0.013477f, 0.049141f, 0.023898f, -0.008911f, -0.005167f, -0.036617f, -0.004011f, 0.012935f, 0.024546f, 0.027605f, -0.008917f, -0.011650f, -0.057395f, -0.032924f, -0.008527f, 0.000507f, 0.022708f, 0.019225f, -0.011527f, -0.013653f, 0.008986f, 0.003768f, 0.005639f, 0.014208f, -0.016244f, -0.005554f, -0.003492f, 0.009505f, 0.014920f, 0.001628f, -0.005646f, -0.004095f, -0.024229f, -0.010851f, 0.039574f, -0.112315f, -0.226045f, -0.116676f, 0.021934f, 0.088304f, 0.215189f, 0.210528f, 0.087731f, 0.089593f, 0.064340f, 0.003517f, -0.107128f, -0.181559f, -0.273584f, -0.081651f, -0.114431f, -0.019903f, 0.111702f, 0.199063f, 0.167387f, 0.147813f, 0.081494f, -0.001795f, -0.052069f, -0.069873f, -0.014907f, -0.121031f, - -0.096094f, -0.091306f, -0.059803f, -0.049099f, -0.022743f, -0.004261f, 0.041745f, 0.098180f, 0.101125f, 0.099375f, 0.072793f, 0.094674f, 0.050264f, 0.054168f, -0.017636f, -0.003913f, -0.044589f, -0.117223f, -0.169789f, -0.205188f, -0.099347f, -0.039974f, 0.032022f, -0.005241f, 0.021768f, 0.047775f, 0.062492f, 0.133194f, 0.153607f, 0.203510f, 0.129872f, 0.013156f, 0.059403f, -0.030689f, -0.112273f, -0.098250f, -0.195559f, -0.228218f, -0.170542f, -0.105446f, -0.045256f, -0.035714f, 0.082251f, 0.092830f, 0.257537f, 0.210848f, 0.154356f, 0.151054f, 0.072451f, -0.009190f, -0.102146f, -0.147831f, -0.107831f, -0.129439f, -0.177672f, -0.084420f, 0.005035f, -0.017356f, 0.005178f, 0.077764f, 0.108463f, 0.080091f, 0.041896f, 0.040492f, 0.069165f, 0.029492f, -0.004993f, -0.008255f, -0.033718f, -0.005686f, -0.030069f, -0.079647f, -0.041980f, -0.059394f, -0.096355f, -0.016977f, -0.016605f, 0.077146f, 0.070429f, 0.042324f, 0.075763f, 0.130902f, 0.093818f, -0.022979f, -0.015655f, -0.063127f, -0.056047f, -0.131782f, -0.136533f, -0.066117f, -0.027757f, 0.011352f, 0.046515f, 0.054901f, 0.081971f, 0.093228f, - 0.090267f, 0.094647f, 0.024293f, -0.009670f, -0.050240f, -0.061571f, -0.081135f, -0.090007f, -0.090170f, -0.038964f, 0.020382f, 0.027000f, 0.039333f, 0.040916f, 0.028578f, 0.030268f, 0.031881f, 0.010083f, 0.007523f, -0.010793f, -0.011182f, 0.019023f, -0.012841f, -0.031477f, 0.001790f, 0.006690f, -0.004056f, -0.009891f, -0.013513f, 0.000021f, -0.003911f, -0.022168f, -0.009938f, 0.006332f, 0.001402f, 0.001290f, 0.012843f, 0.016148f, 0.011982f, 0.010969f, 0.010113f, 0.003758f, -0.001603f, -0.001211f, -0.002143f, -0.006841f, -0.007435f, -0.007978f, -0.007422f, -0.005624f, -0.002722f, -0.003568f, -0.001342f, 0.001046f, 0.003144f, 0.006635f, 0.005147f, 0.000954f, 0.001232f, 0.002581f, -0.000431f, -0.005240f, -0.005741f, -0.003249f, 0.000496f, 0.002847f, 0.005469f, 0.008339f, 0.007943f, 0.006614f, 0.005138f, 0.001063f, -0.003331f, -0.007082f, -0.010072f, -0.011806f, -0.013057f, -0.012763f, -0.008222f, -0.001890f, 0.004105f, 0.009788f, 0.013870f, 0.015268f, 0.015619f, 0.012663f, 0.006475f, 0.000282f, -0.005914f, -0.010053f, -0.012527f, -0.013020f, -0.009706f, -0.005866f, -0.002434f, 0.001609f, - 0.004063f, 0.004754f, 0.004296f, 0.003624f, 0.002853f, 0.002090f, 0.001490f, 0.000548f, 0.000174f, 0.000171f, 0.000060f, -0.000361f, -0.000503f, -0.000567f, -0.000498f, -0.000509f, -0.000398f, -0.000355f, -0.000373f, -0.000357f} - }, - { - {-0.008454f, -0.013189f, -0.009585f, 0.003750f, -0.001437f, -0.022591f, -0.012818f, -0.000970f, 0.003257f, -0.006942f, 0.002406f, -0.008381f, 0.001666f, -0.006056f, 0.015891f, -0.012918f, -0.005647f, -0.005677f, 0.010138f, 0.006988f, 0.016182f, 0.004268f, 0.003388f, -0.007383f, 0.007653f, 0.000974f, 0.002098f, -0.000900f, 0.006149f, 0.008385f, 0.000659f, 0.008356f, 0.007968f, -0.003862f, 0.004472f, -0.004722f, -0.005222f, 0.000585f, -0.004261f, 0.002683f, -0.006704f, -0.012217f, 0.003332f, 0.004351f, -0.002992f, 0.003388f, -0.005791f, 0.005487f, 0.007529f, -0.012909f, 0.002559f, -0.000726f, 0.004894f, 0.004132f, 0.000720f, -0.012745f, -0.003774f, -0.005612f, 0.004266f, -0.000170f, 0.001325f, -0.004107f, 0.002404f, -0.006552f, 0.000361f, 0.007060f, 0.004570f, 0.000454f, -0.003573f, 0.002317f, -0.010362f, -0.005875f, -0.007598f, 0.001355f, 0.001368f, -0.000683f, 0.011056f, 0.000019f, 0.009645f, 0.000103f, 0.001074f, 0.000858f, 0.000026f, -0.005235f, 0.003958f, -0.000356f, 0.001992f, -0.001156f, 0.001308f, 0.001775f, -0.000639f, -0.001860f, -0.000638f, -0.000595f, -0.000480f, -0.000353f, - -0.002716f, 0.000428f, 0.002959f, 0.001609f, 0.000111f, 0.000267f, -0.000704f, -0.001324f, 0.001302f, -0.000865f, -0.026135f, -0.000868f, 0.001337f, 0.000332f, 0.004243f, -0.009252f, 0.006720f, 0.003757f, -0.004879f, -0.015593f, 0.010183f, 0.010449f, -0.002517f, 0.008687f, 0.006255f, -0.008663f, 0.017081f, 0.003525f, -0.007802f, 0.009163f, 0.000613f, 0.008559f, 0.001214f, -0.014965f, 0.005620f, -0.002874f, -0.005574f, -0.005839f, -0.004582f, 0.009724f, 0.007521f, 0.000568f, 0.007871f, 0.002823f, -0.007542f, -0.009317f, -0.000899f, -0.002212f, 0.003936f, 0.002667f, -0.007346f, 0.001697f, 0.003743f, 0.003544f, -0.006466f, -0.005420f, -0.008551f, -0.003025f, -0.002175f, 0.001662f, -0.002137f, 0.011362f, 0.004825f, -0.001808f, -0.005836f, 0.002097f, 0.004689f, 0.002419f, 0.012220f, -0.002087f, 0.006126f, -0.000769f, -0.004097f, -0.007499f, 0.005200f, -0.001729f, -0.003520f, 0.007162f, -0.002284f, 0.002359f, -0.001671f, -0.001530f, -0.008350f, 0.001781f, -0.002413f, 0.009705f, 0.011994f, -0.007295f, -0.007445f, -0.005223f, 0.001964f, -0.004691f, -0.002443f, -0.003040f, -0.003067f, -0.003279f, - 0.001861f, 0.004458f, -0.000362f, 0.001126f, 0.001269f, -0.000507f, 0.000071f, -0.002163f, -0.004879f, -0.007681f, -0.017713f, -0.010569f, -0.003830f, 0.012773f, 0.001663f, 0.002410f, 0.007822f, 0.002137f, 0.003379f, -0.018558f, -0.017052f, -0.010845f, -0.002843f, -0.000036f, 0.007880f, -0.005548f, 0.006167f, -0.003157f, -0.011467f, 0.003615f, -0.001677f, -0.007825f, -0.000124f, 0.011047f, 0.016020f, 0.007295f, -0.007334f, 0.004333f, 0.000513f, 0.011580f, -0.000052f, -0.009157f, -0.000314f, -0.005330f, 0.011355f, 0.005002f, 0.005326f, 0.011529f, -0.001986f, 0.000879f, 0.015426f, 0.013519f, -0.000505f, -0.000023f, 0.001062f, -0.000813f, 0.004107f, 0.001171f, -0.011235f, -0.014881f, -0.005261f, -0.001853f, 0.000054f, -0.004904f, -0.016622f, -0.001726f, 0.004615f, -0.009017f, -0.004411f, -0.005859f, -0.005032f, 0.001804f, 0.002140f, 0.005528f, -0.011583f, -0.009234f, 0.008947f, -0.003741f, -0.002017f, 0.001886f, -0.000683f, 0.005870f, -0.011155f, 0.004465f, 0.004146f, -0.004393f, -0.004247f, 0.004499f, -0.004870f, 0.007148f, -0.002785f, 0.000109f, 0.000006f, -0.002758f, 0.001416f, 0.005295f, - 0.002928f, 0.000637f, 0.003199f, 0.000946f, -0.001448f, -0.002823f, -0.001566f, -0.001610f, 0.000659f, 0.000846f, -0.000473f, -0.000378f, 0.000791f, -0.000215f, 0.023885f, -0.008962f, -0.007071f, -0.001007f, 0.000551f, -0.008728f, 0.000224f, -0.006061f, 0.011561f, -0.002643f, -0.013978f, -0.019514f, -0.004909f, -0.012875f, 0.018293f, 0.001628f, 0.013021f, 0.011007f, -0.017074f, -0.000813f, 0.007363f, 0.005382f, 0.009288f, 0.001860f, -0.000971f, -0.001404f, 0.004428f, -0.005546f, 0.006708f, 0.003791f, -0.006006f, 0.003960f, 0.000413f, 0.004598f, 0.010003f, -0.005167f, 0.004053f, -0.000466f, 0.005771f, 0.005019f, -0.001890f, 0.006856f, -0.001766f, 0.005987f, -0.004318f, 0.005475f, -0.013815f, -0.005757f, -0.004965f, 0.004093f, 0.012184f, -0.008684f, -0.005728f, -0.003095f, 0.000859f, -0.003873f, -0.005219f, -0.002654f, 0.005005f, 0.004134f, 0.007096f, -0.002135f, 0.004095f, -0.003927f, -0.004209f, -0.000224f, -0.002482f, 0.005009f, 0.000054f, -0.007100f, 0.004215f, -0.004067f, -0.007053f, -0.002476f, -0.004344f, 0.003342f, -0.005117f, -0.014010f, -0.001898f, -0.005947f, -0.005937f, 0.003273f, - -0.003805f, -0.008353f, -0.001628f, 0.002004f, -0.000502f, 0.000713f, 0.000026f, -0.005169f, 0.000281f, 0.003035f, -0.001921f, -0.002041f, 0.000678f, 0.000096f, 0.001132f, 0.001117f, 0.002892f, 0.001018f, -0.002313f, 0.001816f, -0.000325f, -0.000646f, -0.000832f, -0.002189f, -0.002151f, -0.002236f, 0.004245f, 0.006443f, -0.002197f, 0.009659f, -0.014543f, 0.006847f, -0.008599f, -0.009506f, 0.014523f, 0.005561f, -0.016627f, 0.002002f, 0.000340f, 0.005332f, -0.011901f, -0.007516f, -0.000827f, -0.009578f, -0.017691f, -0.017100f, -0.011220f, -0.017064f, 0.007674f, -0.001548f, 0.002861f, 0.009642f, -0.014979f, 0.010286f, -0.004068f, 0.004956f, 0.003322f, -0.001282f, 0.001801f, -0.001932f, -0.001960f, -0.009646f, -0.005713f, 0.013225f, -0.004552f, -0.010503f, -0.009689f, -0.000692f, -0.004229f, 0.004311f, -0.009254f, -0.014399f, 0.002468f, 0.013915f, -0.001855f, 0.008544f, -0.004500f, 0.004784f, -0.007111f, 0.005838f, 0.002493f, -0.009752f, 0.014960f, 0.002904f, -0.002891f, 0.003721f, 0.013770f, 0.012786f, 0.006786f, -0.001064f, -0.014919f, -0.002278f, -0.012403f, 0.003906f, -0.002567f, 0.002378f, - 0.002382f, 0.003792f, -0.011262f, 0.000182f, -0.000660f, 0.005811f, 0.011897f, -0.014376f, 0.002136f, -0.004013f, -0.013542f, -0.001272f, 0.004185f, -0.001121f, -0.000158f, -0.001035f, 0.004687f, 0.001171f, -0.003816f, -0.002445f, -0.002718f, -0.001467f, -0.004581f, 0.000454f, -0.000239f, 0.002949f, -0.005560f, -0.003719f, -0.000288f, -0.000468f, -0.000564f, 0.000561f, -0.000296f, 0.001218f, -0.001933f, -0.001841f, -0.000415f, -0.000057f, -0.001373f, -0.000077f, -0.000273f, 0.002852f, 0.002498f, 0.000269f, 0.000188f, -0.002329f, -0.004163f, -0.001210f, 0.000339f, -0.003583f, -0.002184f, -0.001527f, -0.001278f, -0.001290f, -0.016509f, -0.015803f, -0.010168f, -0.017432f, -0.020721f, -0.019729f, 0.008771f, 0.009569f, -0.012600f, -0.003110f, -0.011382f, -0.018733f, 0.010470f, -0.004691f, -0.016234f, 0.005973f, -0.000850f, 0.001140f, 0.001950f, 0.005907f, 0.002110f, -0.000297f, 0.004522f, 0.006012f, -0.009228f, -0.008827f, -0.002193f, -0.010829f, -0.000526f, -0.011561f, -0.020262f, -0.001334f, 0.012686f, -0.014565f, -0.011134f, 0.008347f, -0.007585f, 0.001223f, 0.003414f, -0.007366f, -0.005923f, -0.006202f, - -0.021863f, -0.009297f, 0.004998f, -0.006043f, -0.007084f, -0.013659f, 0.006466f, 0.012719f, -0.004260f, 0.019463f, -0.010386f, -0.004732f, 0.000145f, -0.004355f, -0.015987f, -0.000869f, 0.003940f, -0.000262f, -0.003192f, -0.013883f, -0.002115f, 0.014211f, 0.007242f, 0.004386f, 0.007441f, 0.005444f, -0.003460f, 0.026930f, -0.008172f, -0.010072f, -0.009654f, -0.011544f, 0.004902f, 0.015425f, 0.010537f, 0.001443f, -0.002268f, -0.007364f, -0.002547f, 0.000056f, -0.003401f, 0.000931f, -0.004629f, 0.002146f, 0.011284f, 0.007472f, -0.005279f, -0.000870f, -0.001803f, 0.004299f, -0.002132f, 0.004655f, -0.004449f, -0.002036f, 0.000856f, 0.001180f, -0.000988f, 0.001781f, -0.002510f, 0.003178f, 0.000266f, 0.002568f, 0.002018f, 0.001653f, -0.001154f, -0.001835f, -0.000412f, -0.001855f, -0.002368f, 0.029624f, 0.020085f, -0.001156f, 0.018326f, -0.001793f, 0.002498f, 0.003314f, -0.010356f, 0.016675f, -0.000029f, 0.014681f, 0.014093f, -0.011811f, 0.018370f, 0.000036f, -0.014371f, -0.023623f, 0.021136f, 0.010086f, 0.020999f, -0.018030f, 0.011979f, 0.006338f, -0.019766f, -0.019598f, -0.011642f, -0.005762f, - 0.020237f, -0.019733f, 0.017038f, -0.001951f, -0.002126f, 0.012130f, 0.011512f, 0.015665f, 0.005672f, -0.009017f, 0.007598f, 0.014701f, -0.009288f, 0.014694f, 0.022605f, 0.009392f, 0.013641f, 0.005440f, 0.003713f, 0.003575f, 0.000391f, -0.012733f, 0.004395f, 0.000943f, 0.000720f, 0.010143f, -0.007583f, 0.005921f, 0.006802f, -0.003355f, 0.019720f, -0.012001f, -0.007274f, -0.004825f, 0.017014f, -0.003458f, 0.014024f, 0.006848f, 0.009426f, 0.008281f, 0.001499f, -0.024631f, -0.003934f, -0.019814f, -0.010738f, 0.024967f, 0.013046f, -0.011634f, -0.000834f, -0.014264f, -0.012615f, -0.006841f, 0.020900f, 0.001538f, 0.007104f, 0.003770f, -0.003431f, 0.003981f, 0.007406f, 0.012855f, -0.003864f, 0.007380f, 0.005433f, 0.004442f, -0.004656f, -0.003221f, 0.001976f, -0.002681f, -0.000217f, 0.003266f, 0.004767f, 0.001695f, 0.002008f, 0.005537f, 0.005647f, 0.001814f, 0.000083f, 0.002489f, -0.001314f, 0.004648f, 0.007522f, 0.003284f, 0.000142f, 0.008013f, 0.000875f, -0.003989f, 0.003429f, -0.026244f, 0.016529f, 0.015875f, 0.047010f, 0.001829f, 0.004034f, -0.002376f, -0.006498f, -0.003087f, - 0.015864f, 0.014489f, 0.012582f, 0.018279f, 0.007359f, 0.028874f, 0.008388f, -0.011451f, 0.002691f, 0.025169f, 0.009865f, 0.002552f, 0.003829f, -0.012947f, -0.018713f, 0.011940f, -0.009347f, -0.018239f, -0.038738f, -0.000609f, 0.015260f, -0.001173f, 0.008948f, -0.013370f, -0.007206f, -0.004988f, 0.002757f, -0.004223f, -0.011719f, -0.005637f, -0.031255f, -0.008103f, -0.026557f, 0.002251f, -0.014076f, 0.010636f, -0.015315f, 0.005795f, -0.014735f, -0.005029f, -0.001097f, 0.000472f, 0.002063f, 0.002987f, -0.019480f, 0.009365f, -0.003107f, 0.004318f, -0.010286f, 0.000314f, 0.015186f, 0.006248f, 0.021063f, 0.011971f, -0.006722f, -0.001207f, -0.004619f, -0.002118f, -0.005231f, -0.006716f, -0.000575f, 0.008800f, 0.005410f, 0.006562f, 0.003925f, -0.030372f, 0.019844f, 0.019802f, -0.007642f, 0.011378f, 0.008578f, -0.016007f, 0.007497f, 0.004915f, 0.000765f, -0.003324f, 0.002550f, 0.010497f, -0.009404f, 0.006165f, -0.002839f, 0.000636f, -0.000971f, 0.002406f, 0.005301f, -0.004532f, -0.002346f, 0.007843f, -0.005733f, 0.000516f, -0.000018f, 0.003063f, -0.003839f, -0.006326f, 0.003691f, 0.000396f, - -0.002288f, -0.001785f, 0.000714f, -0.000079f, 0.003418f, 0.004433f, 0.004519f, 0.000230f, -0.005391f, 0.001159f, 0.050563f, 0.018135f, -0.008613f, 0.024900f, -0.016593f, 0.017322f, 0.011477f, -0.024012f, 0.004950f, -0.030170f, 0.000473f, -0.010347f, -0.021281f, 0.011168f, 0.000245f, 0.008515f, 0.012261f, 0.015238f, 0.024549f, 0.010165f, -0.001890f, -0.006514f, -0.016944f, -0.030413f, 0.010610f, 0.011726f, 0.003158f, -0.010703f, 0.016231f, 0.002003f, 0.017157f, 0.010151f, -0.031709f, -0.012119f, 0.004125f, -0.023368f, 0.001070f, -0.001796f, -0.004541f, 0.006713f, 0.005006f, -0.005604f, 0.023159f, -0.013580f, 0.000798f, 0.012929f, -0.011601f, 0.008841f, -0.005134f, -0.014246f, 0.009346f, -0.000238f, -0.001947f, 0.013291f, 0.008757f, 0.000378f, -0.007084f, 0.027646f, 0.001123f, 0.015501f, 0.001456f, -0.008764f, -0.009742f, -0.023388f, -0.009107f, 0.009609f, -0.000729f, 0.008185f, -0.002746f, -0.018245f, 0.007137f, 0.005887f, -0.026696f, 0.007630f, 0.013610f, -0.007199f, 0.014525f, 0.003348f, -0.015194f, -0.015460f, 0.017340f, -0.000444f, -0.035015f, 0.004285f, 0.003669f, 0.001404f, - -0.003642f, 0.001992f, -0.004887f, 0.000811f, 0.010340f, -0.003259f, 0.001585f, 0.002565f, 0.002995f, -0.008856f, 0.002573f, -0.003204f, 0.002344f, 0.006434f, 0.006790f, 0.004894f, 0.002308f, -0.005832f, 0.002547f, -0.000563f, -0.000598f, 0.002276f, -0.006512f, -0.000136f, 0.004341f, 0.005992f, -0.004091f, -0.002504f, -0.007611f, 0.001282f, 0.007849f, -0.007837f, 0.003108f, 0.002733f, -0.052803f, -0.017610f, 0.054942f, 0.015167f, 0.008675f, -0.008408f, -0.001597f, -0.008585f, 0.011115f, -0.017924f, 0.023957f, 0.013649f, 0.011173f, 0.011474f, -0.008638f, -0.000959f, -0.001103f, 0.007617f, 0.016092f, -0.024505f, -0.014579f, -0.007915f, 0.018418f, 0.006563f, 0.010227f, 0.010993f, -0.002649f, -0.017608f, 0.005625f, 0.001237f, 0.033530f, 0.026340f, 0.006855f, 0.019972f, 0.000995f, -0.009822f, 0.004065f, -0.002912f, -0.004717f, 0.012825f, 0.015829f, 0.012981f, 0.032445f, 0.015589f, 0.012669f, 0.014163f, -0.014858f, -0.024314f, -0.011437f, 0.010890f, -0.020714f, -0.010335f, 0.019949f, 0.021237f, 0.011630f, -0.009802f, 0.018820f, -0.007583f, 0.001973f, 0.004391f, 0.010774f, -0.005699f, - -0.011884f, 0.006623f, -0.010724f, -0.033491f, 0.001367f, 0.010646f, -0.018263f, 0.002235f, -0.003358f, -0.004855f, -0.003407f, -0.010936f, 0.027060f, -0.002977f, 0.015437f, -0.039051f, -0.037080f, -0.031489f, -0.014366f, 0.003044f, 0.003738f, -0.001170f, 0.002076f, -0.000812f, -0.008332f, 0.003906f, -0.009152f, -0.002832f, -0.004046f, 0.009333f, 0.001446f, 0.003276f, -0.007358f, -0.001508f, -0.006555f, -0.002519f, 0.005103f, 0.008034f, 0.008750f, 0.008291f, -0.000170f, -0.005830f, 0.004551f, 0.007280f, 0.004563f, 0.007245f, 0.002547f, -0.000884f, 0.003088f, 0.000886f, 0.001488f, -0.002413f, -0.005129f, 0.005805f, 0.006649f, -0.002397f, -0.001958f, -0.001675f, -0.001156f, 0.027386f, 0.042908f, -0.062571f, -0.008650f, 0.004000f, -0.000239f, -0.007277f, -0.015429f, 0.017459f, -0.019875f, -0.031706f, -0.003019f, 0.031466f, -0.004239f, -0.017991f, 0.006024f, -0.025271f, -0.013639f, 0.001272f, 0.016614f, -0.026499f, 0.003198f, 0.029460f, 0.030186f, 0.001039f, 0.010834f, 0.026435f, -0.014746f, -0.023121f, -0.032466f, 0.003432f, -0.032363f, -0.006697f, 0.013937f, 0.013166f, -0.028615f, -0.026940f, - -0.016323f, 0.011983f, -0.007447f, -0.004815f, -0.007359f, 0.026262f, -0.038409f, -0.011027f, 0.006219f, -0.020555f, -0.006976f, 0.000343f, -0.024160f, 0.001404f, 0.010226f, -0.001053f, 0.032145f, -0.001888f, -0.012737f, 0.002987f, -0.001418f, -0.010214f, 0.006326f, 0.015998f, -0.014350f, 0.022697f, -0.010881f, -0.041455f, 0.002152f, -0.016008f, -0.008749f, -0.000878f, -0.004278f, -0.054776f, -0.009058f, 0.025524f, 0.021981f, 0.015532f, 0.033049f, 0.033766f, -0.045122f, -0.004802f, 0.003102f, 0.009705f, -0.012985f, -0.022274f, -0.000244f, 0.010518f, 0.012254f, 0.010611f, 0.008224f, 0.004126f, 0.006667f, -0.011813f, 0.000243f, 0.007515f, -0.003637f, -0.002521f, 0.001520f, 0.002628f, 0.006697f, -0.006943f, 0.001501f, -0.002649f, 0.003227f, 0.004520f, -0.009503f, 0.001661f, -0.000824f, -0.006380f, 0.002997f, -0.001265f, 0.001436f, 0.000560f, -0.000000f, -0.008139f, 0.004451f, 0.000841f, 0.002399f, -0.005342f, -0.004035f, -0.003460f, -0.003548f, -0.060108f, 0.016755f, -0.011197f, 0.020458f, -0.019246f, -0.000234f, 0.031417f, -0.010548f, 0.044645f, 0.010232f, 0.008598f, -0.019240f, 0.008444f, - 0.022094f, -0.013640f, -0.002818f, 0.028883f, 0.018564f, 0.021745f, 0.003024f, -0.033378f, 0.021180f, -0.021543f, -0.002069f, -0.012977f, 0.003250f, -0.016571f, 0.009599f, -0.004299f, 0.009351f, 0.008995f, 0.015911f, 0.016237f, 0.017911f, -0.021269f, 0.005026f, 0.034084f, 0.007201f, -0.006060f, -0.006893f, -0.017037f, -0.013852f, -0.000012f, 0.001190f, 0.006191f, 0.028569f, 0.002539f, 0.015729f, 0.015387f, -0.001149f, -0.007220f, -0.007039f, 0.026073f, -0.030427f, -0.006517f, -0.026937f, -0.022040f, -0.006295f, 0.000281f, -0.045149f, 0.011816f, -0.014250f, 0.027707f, -0.005801f, 0.001312f, 0.019070f, 0.004031f, 0.046191f, 0.038342f, 0.055035f, 0.020970f, 0.002250f, -0.006280f, -0.005684f, -0.009168f, -0.002800f, -0.010924f, -0.030445f, 0.020698f, 0.025064f, 0.012135f, -0.004206f, 0.002955f, -0.021474f, -0.028931f, 0.013411f, 0.003746f, 0.003923f, -0.009221f, -0.004107f, -0.010014f, -0.005599f, 0.009081f, 0.002862f, 0.011857f, -0.000863f, 0.002744f, -0.006800f, 0.008315f, -0.024186f, -0.006224f, -0.000943f, -0.000832f, -0.004627f, 0.004368f, 0.001006f, 0.001687f, -0.001761f, -0.005739f, - -0.001276f, -0.002313f, -0.001708f, 0.007644f, 0.000797f, 0.001068f, -0.005047f, 0.001749f, 0.001112f, -0.000245f, -0.010841f, -0.007676f, -0.008448f, -0.017810f, 0.023537f, -0.007136f, -0.005378f, 0.055180f, -0.011616f, -0.012362f, 0.061369f, -0.001060f, 0.034835f, 0.025668f, 0.001861f, 0.014324f, -0.008472f, 0.011195f, 0.010481f, 0.006604f, 0.008465f, 0.028274f, -0.019827f, 0.034110f, -0.019097f, -0.000757f, 0.006810f, -0.004807f, -0.025083f, -0.022383f, -0.000882f, -0.036227f, -0.011745f, -0.039558f, -0.002944f, -0.023568f, -0.017736f, -0.012981f, -0.011482f, 0.005709f, -0.031913f, 0.036606f, 0.005538f, -0.024047f, -0.018067f, -0.001298f, -0.004860f, -0.006012f, 0.009276f, 0.004889f, 0.035920f, 0.003990f, -0.000650f, -0.018633f, 0.002806f, 0.007333f, -0.001597f, -0.019864f, -0.008780f, 0.022534f, 0.024500f, -0.001623f, -0.021263f, 0.008442f, -0.004384f, 0.032119f, 0.035699f, -0.014192f, -0.009547f, -0.006794f, 0.003835f, -0.013959f, 0.014284f, -0.044888f, -0.004447f, 0.052726f, -0.047958f, -0.023666f, -0.011305f, 0.003277f, 0.003975f, 0.006160f, -0.004567f, 0.014009f, -0.008707f, -0.002534f, - 0.025496f, -0.004206f, 0.018409f, -0.012780f, 0.018546f, -0.016606f, 0.012624f, 0.010342f, 0.025303f, -0.000684f, -0.004574f, 0.010638f, 0.016569f, 0.001342f, -0.004280f, -0.002799f, 0.001459f, -0.009293f, -0.003039f, 0.008455f, 0.011100f, 0.003419f, -0.003934f, 0.010871f, -0.008867f, 0.008905f, 0.007315f, 0.008113f, 0.004300f, 0.000147f, -0.013682f, 0.013350f, 0.007729f, 0.006098f, 0.002714f, 0.006218f, 0.011563f, 0.002567f, -0.009520f, 0.004474f, -0.007803f, -0.005971f, 0.009531f, -0.002529f, 0.008220f, 0.009027f, -0.003825f, -0.006738f, -0.006723f, 0.003724f, -0.032269f, -0.017711f, -0.005086f, 0.024880f, 0.030012f, 0.020543f, -0.019169f, -0.049146f, 0.084942f, 0.021318f, -0.053370f, -0.053571f, -0.008053f, 0.012893f, 0.036161f, -0.046619f, -0.008249f, 0.008626f, -0.000702f, -0.006764f, 0.048673f, 0.010379f, -0.028615f, 0.015194f, 0.001988f, -0.001440f, 0.025620f, -0.004753f, 0.013995f, -0.031817f, -0.010769f, 0.055699f, 0.020591f, 0.043906f, 0.013869f, 0.039687f, 0.006944f, -0.014686f, 0.027954f, 0.025401f, 0.039937f, 0.019587f, -0.045110f, -0.017188f, 0.009757f, 0.023231f, - -0.018117f, 0.006792f, -0.017454f, -0.029254f, 0.002956f, -0.003459f, -0.017442f, 0.013481f, 0.018912f, 0.016319f, 0.012002f, 0.011159f, -0.008583f, 0.030098f, -0.000219f, -0.030084f, -0.021755f, 0.027059f, 0.014746f, -0.047197f, 0.020515f, 0.008271f, 0.015178f, -0.041253f, -0.028099f, 0.026374f, 0.040926f, 0.023021f, -0.009147f, -0.044109f, 0.010007f, -0.002040f, 0.037586f, -0.012625f, -0.050412f, 0.021060f, 0.029498f, -0.011251f, 0.030702f, 0.025125f, 0.010463f, -0.020249f, 0.002714f, -0.000357f, 0.005967f, 0.002119f, -0.001289f, -0.010815f, -0.004424f, -0.013550f, -0.001308f, -0.002749f, 0.007127f, -0.008310f, -0.004836f, -0.002849f, -0.006059f, -0.003845f, -0.003168f, -0.003841f, 0.015754f, 0.004622f, 0.000305f, 0.015138f, -0.003657f, -0.014433f, -0.009512f, -0.007769f, -0.006071f, 0.000589f, -0.010327f, 0.004328f, 0.006515f, 0.005314f, 0.004162f, -0.013850f, -0.005197f, 0.011514f, 0.009715f, -0.001479f, 0.007513f, -0.001647f, 0.019826f, 0.039172f, 0.014813f, 0.041379f, 0.006548f, 0.018726f, 0.013837f, 0.069240f, 0.094392f, 0.006941f, 0.018522f, -0.060847f, -0.019643f, 0.036036f, - -0.031222f, 0.071327f, -0.014747f, 0.010836f, 0.018887f, 0.041570f, 0.022871f, -0.010506f, -0.030923f, -0.036201f, -0.012238f, -0.006366f, -0.045235f, -0.021719f, -0.018271f, 0.028238f, -0.017115f, 0.008059f, -0.029170f, 0.003325f, -0.011742f, -0.042408f, 0.043103f, 0.029702f, 0.034613f, 0.014936f, -0.021830f, -0.021215f, -0.049222f, 0.000389f, -0.044411f, -0.013870f, -0.004196f, 0.005281f, 0.022048f, 0.017225f, -0.014728f, -0.010644f, 0.018185f, 0.040664f, 0.010603f, 0.015223f, 0.029600f, -0.038831f, 0.026680f, -0.022286f, -0.020575f, -0.039205f, -0.017412f, 0.017155f, 0.014488f, 0.001932f, 0.044751f, -0.010436f, -0.017241f, 0.006389f, 0.011361f, 0.061577f, -0.020906f, 0.024359f, 0.024061f, -0.060256f, -0.000405f, 0.006915f, -0.013632f, -0.009348f, 0.020171f, -0.012400f, 0.001284f, 0.024750f, 0.012604f, -0.037303f, -0.044580f, -0.043151f, -0.020411f, -0.016413f, 0.035050f, 0.030403f, -0.008962f, -0.014101f, 0.001347f, 0.003367f, 0.022963f, -0.003211f, -0.007799f, 0.013962f, -0.003139f, -0.002996f, -0.006608f, 0.009952f, 0.013972f, -0.008229f, 0.013355f, 0.012432f, 0.012904f, 0.001771f, - -0.006081f, 0.011189f, -0.008573f, 0.006468f, 0.014583f, 0.000519f, 0.008528f, 0.011416f, -0.020808f, -0.001481f, 0.009509f, 0.010505f, 0.014532f, 0.001164f, 0.012965f, 0.000108f, 0.000444f, -0.005198f, 0.007264f, 0.010653f, -0.039772f, 0.010790f, 0.060093f, -0.013432f, 0.009359f, -0.025916f, -0.006935f, -0.034772f, 0.028831f, -0.050318f, 0.003030f, -0.040397f, 0.008815f, 0.018212f, 0.007076f, -0.023931f, 0.084891f, -0.005286f, -0.010615f, 0.008270f, -0.047198f, 0.003371f, -0.031655f, 0.001729f, 0.009825f, -0.009094f, -0.000370f, 0.020435f, -0.016854f, 0.001360f, 0.026224f, 0.002681f, 0.007197f, -0.040634f, 0.006007f, -0.002896f, -0.001807f, -0.009858f, -0.050378f, -0.027886f, 0.013417f, 0.004759f, 0.023494f, -0.058696f, 0.007253f, -0.054593f, 0.028768f, -0.037057f, -0.059375f, 0.031035f, 0.056300f, 0.010122f, 0.028112f, -0.041010f, 0.041985f, -0.009657f, 0.006980f, -0.024948f, 0.035124f, 0.014350f, 0.036448f, 0.011714f, 0.044050f, -0.038594f, 0.008342f, 0.002689f, -0.005831f, -0.030498f, -0.024415f, -0.028639f, 0.033992f, -0.008300f, 0.045885f, -0.027439f, -0.020541f, 0.005545f, - 0.006915f, -0.024497f, 0.013919f, -0.014207f, -0.057644f, 0.026246f, 0.039768f, 0.064943f, 0.023503f, 0.046204f, -0.025444f, 0.000566f, -0.028799f, 0.049456f, 0.017509f, -0.008913f, -0.018509f, 0.023723f, -0.015725f, -0.004249f, 0.003515f, -0.014317f, -0.023898f, -0.016168f, -0.010767f, -0.009460f, -0.032146f, -0.014008f, -0.026603f, 0.021783f, -0.004186f, 0.013118f, 0.025977f, 0.006992f, -0.017712f, -0.001392f, -0.017710f, -0.007682f, -0.027014f, -0.015159f, -0.028644f, -0.004818f, 0.050037f, 0.010362f, -0.002533f, 0.011363f, 0.015873f, -0.027860f, -0.011746f, -0.001254f, -0.002523f, -0.011331f, 0.013692f, -0.005176f, -0.041909f, -0.003330f, -0.008604f, -0.031129f, -0.098159f, 0.012281f, -0.031228f, 0.091229f, -0.016943f, -0.045750f, 0.018458f, -0.002419f, -0.045619f, -0.007619f, 0.007794f, -0.027351f, 0.068883f, 0.009983f, 0.006753f, 0.031413f, -0.038490f, -0.059248f, -0.036512f, 0.084101f, -0.006550f, -0.017603f, 0.055559f, 0.031489f, -0.026303f, -0.026051f, -0.014682f, 0.066729f, 0.009444f, -0.016001f, -0.025893f, -0.012333f, -0.051836f, 0.035273f, -0.005947f, 0.014434f, 0.033518f, -0.011585f, - -0.053703f, -0.006354f, 0.069472f, -0.002739f, -0.017220f, 0.033680f, -0.015114f, 0.041742f, 0.027316f, -0.003269f, -0.051197f, -0.025863f, -0.006965f, -0.047187f, -0.027785f, -0.027060f, 0.003775f, -0.006222f, 0.040113f, -0.027567f, -0.009619f, 0.000153f, 0.103041f, 0.036145f, -0.017695f, 0.021204f, 0.012178f, -0.005689f, 0.052336f, 0.025816f, -0.019774f, 0.008596f, 0.042309f, 0.048192f, -0.029149f, -0.020388f, -0.069938f, -0.055726f, 0.031972f, -0.020528f, 0.034510f, -0.000477f, -0.041130f, 0.010542f, -0.003266f, 0.013549f, -0.027378f, -0.020370f, 0.038704f, 0.010317f, 0.005111f, -0.003304f, -0.004555f, 0.026270f, -0.012377f, 0.013815f, -0.006622f, 0.016629f, 0.032488f, 0.009250f, -0.023568f, 0.004494f, -0.009095f, 0.018362f, 0.014575f, 0.005504f, 0.021111f, 0.033604f, -0.013011f, 0.027255f, -0.002654f, -0.034556f, -0.009206f, 0.001854f, -0.019810f, 0.008687f, 0.025591f, 0.000284f, -0.013102f, 0.002382f, -0.004910f, 0.034313f, 0.028613f, 0.003766f, 0.013483f, 0.018126f, 0.008906f, 0.023270f, -0.028826f, -0.020444f, 0.010154f, 0.006726f, -0.006225f, -0.001563f, -0.004700f, -0.010713f, - -0.010564f, -0.111136f, 0.038171f, -0.023782f, 0.059157f, 0.060152f, -0.034852f, 0.028408f, -0.059520f, -0.089369f, 0.002187f, -0.062851f, 0.008267f, -0.007862f, 0.048632f, -0.036102f, 0.034697f, 0.029779f, 0.048773f, -0.074258f, 0.008097f, -0.045447f, -0.041662f, 0.004511f, -0.053783f, -0.034682f, 0.048796f, -0.014245f, 0.018519f, 0.056997f, -0.011322f, 0.018770f, -0.046982f, 0.005405f, -0.051802f, 0.048007f, -0.042948f, -0.028501f, -0.031712f, 0.053547f, 0.042886f, -0.030738f, 0.058650f, 0.038861f, -0.012448f, 0.058233f, -0.003283f, -0.061617f, -0.017068f, -0.007266f, -0.048057f, 0.010811f, -0.101632f, 0.010188f, -0.025898f, -0.048764f, -0.039432f, 0.045400f, -0.027186f, 0.094136f, 0.069895f, -0.105271f, -0.000030f, -0.002767f, 0.004972f, 0.048639f, -0.082721f, -0.057656f, 0.056754f, -0.047398f, -0.059290f, -0.068197f, 0.004510f, 0.139970f, 0.069488f, -0.065192f, -0.041122f, 0.005635f, 0.050852f, 0.019439f, -0.068238f, 0.010080f, -0.045630f, -0.026800f, -0.002537f, -0.008264f, 0.002502f, 0.044873f, 0.010494f, 0.026576f, 0.017531f, -0.052486f, 0.013935f, 0.023444f, -0.007562f, -0.018976f, - 0.002604f, -0.044818f, 0.039636f, 0.014354f, 0.010697f, -0.059424f, 0.009700f, 0.030482f, 0.008421f, -0.014135f, -0.011321f, 0.026174f, -0.043518f, -0.002925f, -0.032530f, -0.017992f, 0.042131f, -0.044968f, -0.002124f, 0.026558f, -0.022797f, 0.020782f, 0.025117f, 0.006455f, 0.003466f, 0.018502f, 0.005736f, -0.024030f, 0.034434f, -0.027059f, -0.021460f, -0.012387f, -0.037215f, -0.011773f, -0.033478f, -0.032067f, 0.012920f, 0.052501f, -0.058160f, 0.029285f, -0.097729f, -0.014645f, -0.038007f, -0.033122f, 0.051801f, -0.066761f, -0.104173f, 0.060937f, 0.091738f, 0.022282f, -0.017727f, -0.083220f, 0.005693f, 0.032670f, 0.032640f, -0.013898f, -0.033356f, 0.004244f, -0.008214f, -0.010839f, 0.010638f, -0.012210f, -0.027939f, -0.054481f, 0.006935f, -0.032758f, 0.008152f, -0.029360f, -0.062188f, 0.038715f, 0.028456f, 0.047588f, 0.001684f, 0.051462f, 0.028809f, 0.007804f, -0.016659f, -0.026197f, -0.042817f, -0.030480f, -0.017214f, 0.012239f, 0.029552f, -0.019721f, -0.009646f, -0.070803f, 0.066567f, 0.078937f, 0.043901f, -0.040082f, 0.042128f, -0.054769f, -0.000822f, 0.012757f, -0.119962f, 0.009947f, - 0.012001f, 0.056877f, -0.071544f, 0.092608f, 0.036414f, -0.066060f, -0.037413f, 0.028037f, -0.011417f, -0.048347f, -0.059354f, -0.063916f, -0.087262f, 0.064546f, -0.027347f, 0.010333f, -0.133496f, -0.052989f, 0.008455f, 0.001671f, 0.030910f, -0.021096f, 0.005674f, 0.023028f, 0.024249f, -0.063664f, -0.014393f, 0.010595f, 0.035683f, 0.025903f, -0.005229f, -0.024333f, -0.010189f, -0.005111f, 0.033348f, 0.005830f, -0.020395f, -0.002266f, -0.015779f, -0.006025f, 0.030877f, 0.014219f, -0.014816f, 0.032837f, -0.032192f, -0.018845f, -0.023934f, 0.031748f, -0.012218f, 0.004000f, -0.014176f, 0.014003f, -0.044886f, 0.006930f, 0.019284f, 0.007373f, -0.007549f, -0.019543f, -0.016611f, -0.022908f, 0.023333f, 0.005151f, -0.007231f, -0.026270f, 0.027827f, 0.001727f, 0.002434f, 0.004077f, -0.045658f, -0.022467f, -0.029720f, 0.004062f, -0.014802f, 0.000346f, -0.000569f, -0.010565f, -0.025515f, -0.009247f, -0.091211f, -0.012036f, 0.033461f, -0.042760f, -0.039800f, 0.037887f, 0.038440f, 0.007924f, -0.035927f, -0.123531f, -0.017994f, 0.024330f, 0.014940f, 0.053767f, -0.000979f, 0.031305f, -0.007866f, -0.000667f, - -0.015363f, 0.002422f, 0.032956f, 0.003881f, 0.001556f, 0.031901f, -0.008271f, -0.007595f, -0.041588f, -0.003787f, -0.006497f, -0.004622f, 0.007425f, 0.025429f, 0.034908f, -0.006767f, 0.000250f, 0.027236f, -0.005912f, -0.052391f, -0.003353f, -0.046518f, 0.007031f, 0.006341f, -0.060747f, 0.044232f, -0.083793f, 0.018800f, 0.023405f, -0.036898f, -0.002319f, 0.108959f, -0.030579f, 0.036740f, -0.022728f, 0.019406f, -0.081353f, 0.008720f, 0.048087f, -0.001377f, 0.041540f, -0.009709f, 0.004605f, -0.002782f, 0.053020f, -0.034048f, -0.040417f, 0.046618f, -0.042875f, -0.053507f, -0.000355f, -0.085375f, 0.057186f, 0.047071f, -0.016721f, 0.018040f, 0.008213f, -0.000731f, -0.072206f, -0.012186f, -0.005187f, 0.031720f, 0.012366f, -0.030873f, 0.029187f, -0.002369f, -0.036578f, -0.025377f, -0.022592f, 0.004586f, 0.005418f, -0.005388f, -0.000423f, 0.022820f, -0.022479f, -0.006973f, 0.016408f, -0.024830f, -0.012746f, 0.018379f, -0.024601f, 0.001206f, 0.022696f, 0.000931f, -0.005734f, 0.009168f, -0.000338f, 0.001696f, 0.019928f, -0.007608f, -0.005329f, -0.015372f, 0.007060f, -0.009936f, -0.008321f, 0.007891f, - 0.011278f, -0.021484f, 0.004059f, -0.020132f, 0.019555f, -0.022859f, 0.013107f, -0.000888f, -0.003183f, 0.001451f, -0.004035f, -0.003386f, -0.000037f, 0.014486f, -0.044681f, -0.136119f, -0.063728f, -0.020872f, 0.045133f, 0.101180f, -0.091710f, 0.020684f, -0.026193f, -0.092451f, -0.012520f, 0.084100f, 0.022984f, 0.069382f, -0.057603f, 0.017836f, -0.019617f, 0.004629f, 0.041129f, 0.007446f, 0.022578f, -0.012575f, -0.118002f, 0.035723f, 0.006327f, -0.049712f, 0.052155f, 0.040028f, -0.035309f, 0.037054f, 0.004888f, -0.037980f, 0.012344f, -0.023228f, 0.074634f, 0.009724f, 0.030534f, 0.002069f, -0.075528f, -0.060264f, -0.020006f, -0.044485f, 0.050008f, 0.071754f, 0.073618f, 0.059494f, -0.019842f, 0.008874f, -0.059243f, -0.008345f, -0.005496f, -0.024482f, -0.030978f, 0.005759f, 0.006289f, -0.081457f, -0.023543f, -0.031432f, -0.001746f, 0.037471f, -0.039908f, -0.008644f, 0.014714f, 0.000772f, 0.042786f, -0.046161f, -0.001409f, -0.052381f, -0.027398f, -0.038541f, 0.022107f, 0.014808f, 0.042727f, -0.005019f, -0.003912f, -0.049323f, -0.014525f, -0.023057f, -0.005827f, 0.021819f, 0.029396f, 0.060137f, - -0.037679f, 0.011518f, -0.032591f, 0.012559f, 0.022723f, 0.006904f, -0.017742f, -0.006752f, -0.005950f, -0.006751f, -0.002261f, 0.016380f, 0.016941f, -0.004011f, -0.001518f, -0.007265f, -0.011286f, 0.008318f, 0.016851f, 0.006255f, 0.002244f, 0.005134f, -0.013450f, -0.015462f, -0.014697f, 0.025652f, -0.000305f, 0.017960f, 0.014653f, -0.001695f, -0.019058f, -0.020180f, 0.003503f, 0.006532f, -0.015752f, -0.004471f, -0.013662f, 0.011089f, -0.009795f, 0.004250f, 0.003339f, 0.011570f, -0.005110f, -0.005689f, 0.003043f, 0.004652f, -0.007942f, 0.013244f, -0.004056f, 0.035587f, -0.057426f, -0.226690f, -0.119516f, 0.024536f, 0.095404f, 0.213444f, 0.163113f, 0.091875f, 0.030977f, 0.047922f, -0.015153f, -0.089760f, -0.173551f, -0.230955f, -0.058370f, -0.066945f, 0.003535f, 0.112476f, 0.160520f, 0.107573f, 0.143834f, 0.033074f, 0.030548f, -0.016842f, -0.072649f, -0.082406f, -0.066523f, -0.070822f, -0.087428f, -0.070225f, -0.029904f, -0.004558f, -0.000972f, 0.056046f, 0.072905f, 0.139123f, 0.065883f, 0.021590f, 0.057267f, 0.088756f, 0.028443f, 0.016874f, -0.071541f, -0.098188f, -0.160206f, -0.074192f, - -0.083957f, -0.060960f, -0.036083f, -0.028544f, 0.012023f, 0.019644f, 0.067572f, 0.137929f, 0.111215f, 0.121072f, 0.089896f, 0.109825f, 0.081984f, -0.066277f, -0.060469f, -0.152945f, -0.118180f, -0.086765f, -0.194436f, -0.150683f, -0.091912f, 0.007144f, 0.118154f, 0.112263f, 0.133045f, 0.165943f, 0.142243f, 0.076325f, 0.092396f, 0.003472f, -0.035895f, -0.097651f, -0.141324f, -0.142332f, -0.117086f, -0.070693f, -0.014999f, 0.020038f, 0.034505f, 0.039203f, 0.065910f, 0.047250f, 0.077063f, 0.048410f, 0.019442f, 0.012329f, -0.002732f, -0.007789f, -0.001617f, -0.053397f, -0.036910f, -0.007749f, -0.024495f, -0.063749f, -0.017614f, -0.023048f, -0.023403f, -0.004657f, 0.047693f, 0.089473f, 0.074649f, 0.007570f, 0.073380f, 0.051268f, -0.009356f, -0.060504f, -0.095106f, -0.088943f, -0.039913f, -0.044206f, -0.027223f, -0.015555f, 0.025523f, 0.055280f, 0.077359f, 0.087318f, 0.063381f, 0.024345f, 0.027272f, -0.017162f, -0.047665f, -0.081133f, -0.072102f, -0.032432f, -0.002990f, -0.024070f, -0.007479f, 0.022795f, 0.029763f, 0.030020f, 0.029235f, 0.006981f, 0.012309f, 0.018068f, -0.003003f, -0.017382f, - 0.000735f, 0.005411f, -0.012188f, -0.014522f, -0.001818f, 0.004731f, 0.004088f, -0.009548f, -0.004515f, 0.003111f, 0.001533f, -0.008372f, -0.013227f, -0.010679f, 0.003989f, 0.000684f, -0.000608f, 0.007889f, 0.014833f, 0.010978f, 0.011308f, 0.007692f, 0.006184f, -0.000838f, -0.004084f, -0.007052f, -0.009628f, -0.008407f, -0.002862f, -0.006794f, -0.005802f, -0.005031f, 0.005369f, 0.006165f, -0.001815f, -0.002941f, 0.005822f, 0.003303f, -0.000615f, -0.000958f, -0.001445f, -0.004147f, 0.003267f, 0.004447f, 0.002301f, 0.003963f, 0.007776f, 0.007876f, 0.007037f, 0.000537f, -0.002281f, -0.004565f, -0.006886f, -0.013173f, -0.015566f, -0.013244f, -0.008824f, -0.007032f, -0.000320f, 0.006997f, 0.013006f, 0.016085f, 0.018387f, 0.015913f, 0.011718f, 0.005079f, -0.000369f, -0.006990f, -0.012010f, -0.014682f, -0.013413f, -0.013831f, -0.009364f, -0.004441f, -0.000720f, 0.003387f, 0.008708f, 0.009241f, 0.008702f, 0.007740f, 0.006493f, 0.003040f, 0.000120f, -0.002020f, -0.002140f, -0.002632f, -0.002713f, -0.002799f, -0.002014f, -0.001508f, -0.000791f, -0.000423f, -0.000123f, -0.000022f, 0.000262f, 0.000363f, - 0.000454f}, - {-0.002889f, -0.004115f, -0.007908f, 0.004621f, 0.007394f, 0.013114f, 0.003542f, -0.009213f, -0.016381f, 0.003552f, -0.007652f, 0.000647f, 0.005145f, 0.001996f, 0.013258f, -0.010969f, -0.002698f, -0.001498f, -0.000866f, -0.009418f, 0.005802f, 0.002449f, 0.001214f, 0.000246f, -0.004592f, -0.003544f, -0.003324f, -0.001083f, 0.000466f, 0.002208f, -0.003461f, 0.005040f, 0.011875f, -0.000389f, 0.005280f, -0.008426f, -0.004878f, -0.010083f, -0.004852f, 0.010686f, 0.000520f, -0.002195f, 0.001911f, 0.011336f, 0.001233f, 0.005695f, -0.001423f, -0.005339f, -0.001659f, 0.006465f, -0.005556f, 0.010153f, 0.006273f, 0.011449f, 0.005672f, 0.000714f, -0.003496f, -0.007616f, -0.004200f, -0.006623f, -0.001006f, -0.004838f, 0.001921f, 0.000408f, -0.002583f, 0.001664f, -0.002217f, 0.004085f, -0.001011f, -0.001147f, 0.005808f, -0.000593f, -0.000400f, 0.000757f, -0.005594f, 0.002538f, -0.004091f, -0.006634f, -0.003797f, -0.002927f, 0.002894f, -0.000563f, -0.000445f, -0.007524f, -0.001233f, 0.001940f, 0.001493f, -0.003000f, 0.000298f, -0.002966f, 0.001338f, 0.002090f, 0.001589f, 0.000575f, -0.000502f, -0.001219f, - 0.000366f, -0.002340f, -0.001236f, 0.000492f, 0.000366f, 0.001011f, 0.001024f, 0.000909f, 0.000227f, 0.002134f, -0.022852f, -0.005171f, 0.009384f, 0.001650f, 0.012790f, 0.006825f, -0.010515f, 0.002781f, -0.000221f, 0.004193f, -0.003761f, -0.017547f, 0.010140f, 0.006213f, 0.011618f, 0.014516f, 0.012502f, 0.004384f, 0.000176f, -0.017879f, -0.001838f, 0.008215f, -0.008148f, -0.007072f, -0.018668f, -0.001251f, -0.003119f, -0.002158f, -0.004748f, 0.002215f, -0.011142f, 0.005087f, -0.001950f, 0.004720f, 0.001393f, -0.007492f, 0.005788f, 0.004829f, 0.012956f, -0.001506f, -0.010371f, -0.005357f, 0.005618f, 0.002260f, -0.002593f, 0.000540f, 0.004137f, 0.000540f, -0.007578f, -0.000069f, 0.001600f, -0.000805f, 0.000483f, -0.004783f, -0.002096f, -0.006370f, -0.001310f, 0.007847f, 0.002806f, -0.002679f, 0.003353f, -0.001018f, -0.000403f, 0.001192f, -0.009102f, -0.000836f, -0.000451f, 0.005093f, 0.009857f, -0.002914f, -0.000994f, -0.006358f, -0.004924f, 0.002518f, 0.011216f, -0.009925f, -0.001554f, 0.002549f, -0.000539f, -0.002695f, -0.000173f, -0.002628f, 0.003652f, 0.003834f, 0.002026f, 0.006233f, - -0.002964f, -0.001917f, -0.000639f, 0.001466f, -0.001426f, 0.000259f, 0.001009f, 0.000843f, -0.000753f, -0.002667f, 0.001939f, -0.002657f, 0.012626f, 0.004727f, 0.004256f, -0.004258f, 0.000317f, 0.001171f, 0.001195f, -0.021728f, -0.011756f, -0.001003f, -0.005416f, -0.006738f, -0.000349f, -0.005676f, -0.022107f, 0.013148f, 0.003015f, 0.005941f, -0.002338f, 0.004515f, -0.005853f, 0.000259f, 0.000782f, 0.011362f, -0.004060f, -0.002419f, -0.001915f, -0.001946f, -0.001832f, -0.000827f, 0.012324f, -0.002410f, -0.000196f, -0.007048f, -0.000406f, -0.003414f, 0.003997f, 0.002007f, -0.011964f, 0.009246f, -0.012110f, -0.000254f, 0.010596f, -0.001543f, 0.000383f, 0.000785f, -0.000259f, -0.007437f, -0.005283f, 0.012157f, 0.007029f, -0.015120f, -0.008082f, 0.002363f, -0.008879f, -0.006457f, 0.006446f, -0.010890f, 0.002096f, 0.002605f, 0.006197f, 0.012947f, 0.009930f, 0.006057f, 0.004633f, -0.008868f, -0.009232f, -0.007920f, 0.002549f, 0.011261f, 0.004348f, -0.001965f, -0.005058f, 0.003672f, -0.004279f, -0.001889f, 0.002613f, -0.004216f, -0.006360f, -0.000885f, 0.005069f, -0.000954f, -0.004347f, 0.000544f, - 0.000025f, 0.004922f, 0.002047f, 0.004545f, 0.001025f, -0.002132f, -0.002170f, -0.001756f, -0.000917f, -0.000611f, 0.001453f, 0.002843f, 0.003403f, 0.003563f, 0.016602f, -0.004055f, -0.004233f, -0.004966f, 0.004688f, -0.005557f, 0.008122f, -0.015732f, -0.002009f, 0.011684f, 0.006120f, -0.011830f, 0.008766f, 0.014386f, 0.013577f, 0.008661f, 0.001667f, -0.000532f, -0.008868f, -0.011437f, 0.004861f, -0.001093f, 0.011477f, -0.000893f, 0.006866f, -0.007142f, -0.004751f, -0.003829f, 0.001142f, 0.003662f, -0.000645f, -0.013969f, 0.002953f, 0.004848f, 0.003521f, 0.006032f, 0.003702f, -0.007578f, -0.018671f, -0.006007f, 0.002739f, 0.003608f, 0.000883f, -0.000795f, 0.003547f, -0.007656f, -0.000122f, -0.013909f, 0.006506f, -0.014351f, -0.003783f, -0.006082f, -0.009445f, 0.006899f, 0.003050f, 0.002928f, -0.008247f, -0.004007f, -0.002426f, -0.008269f, 0.000784f, -0.000698f, 0.004423f, -0.003542f, -0.006965f, -0.005313f, -0.016525f, 0.005254f, 0.001916f, 0.007103f, 0.010469f, 0.013373f, 0.005219f, -0.005264f, -0.007873f, -0.003713f, 0.007265f, 0.007250f, -0.008205f, 0.008953f, 0.000381f, -0.005817f, - 0.012905f, -0.002500f, 0.002911f, 0.002192f, 0.003786f, -0.000228f, -0.002883f, 0.000839f, 0.004011f, 0.001442f, -0.000634f, 0.004346f, -0.002275f, -0.001780f, -0.003152f, 0.001491f, 0.000392f, -0.001611f, 0.002375f, -0.002303f, -0.004153f, -0.001742f, 0.003148f, -0.000758f, -0.000724f, 0.001134f, 0.008163f, 0.007532f, -0.001461f, 0.005292f, -0.016177f, 0.001763f, -0.007798f, 0.000718f, 0.002251f, -0.010207f, 0.003542f, 0.029391f, 0.003087f, -0.002728f, -0.016754f, 0.023638f, -0.000193f, 0.009860f, 0.001041f, -0.000613f, -0.013053f, 0.012424f, 0.003078f, -0.007046f, 0.001498f, 0.000835f, -0.005297f, 0.004957f, 0.013074f, -0.003959f, 0.013911f, -0.004273f, 0.005868f, -0.000335f, 0.009123f, 0.008124f, 0.009084f, -0.000009f, -0.005176f, 0.007121f, -0.005447f, 0.006260f, -0.001970f, 0.006312f, 0.006096f, 0.005874f, -0.000927f, -0.001949f, 0.002249f, -0.005303f, -0.007660f, -0.019303f, 0.012393f, -0.012519f, 0.008528f, 0.001001f, 0.003503f, -0.002346f, -0.023046f, -0.005065f, -0.006334f, -0.011260f, 0.001363f, 0.006833f, -0.014860f, -0.004759f, 0.006483f, 0.001119f, 0.010248f, 0.018053f, - -0.000651f, -0.005021f, -0.004498f, -0.018981f, 0.005635f, 0.003547f, -0.004375f, 0.000887f, 0.007340f, 0.007585f, 0.002071f, 0.001858f, 0.005270f, 0.000523f, -0.000989f, 0.007995f, 0.004614f, -0.004552f, 0.008128f, 0.005957f, 0.007976f, 0.002399f, -0.001542f, 0.000487f, -0.000687f, -0.000644f, -0.003162f, 0.000968f, -0.001982f, 0.001792f, -0.002464f, 0.003699f, 0.001206f, 0.000273f, 0.002986f, 0.000188f, -0.001110f, 0.000797f, -0.000835f, -0.000361f, -0.001236f, 0.003688f, 0.002157f, 0.000688f, 0.002538f, -0.000936f, 0.004132f, 0.000479f, 0.001219f, -0.000514f, 0.001024f, -0.000702f, -0.002624f, 0.001008f, -0.008325f, -0.010068f, -0.000931f, 0.005493f, -0.003188f, -0.004836f, -0.007320f, 0.002199f, 0.013464f, 0.006060f, 0.002165f, -0.030443f, -0.013939f, -0.004205f, 0.006293f, -0.003596f, 0.010371f, 0.034838f, 0.010880f, -0.012734f, 0.002045f, -0.015074f, -0.004839f, 0.010635f, -0.011975f, -0.003016f, 0.015584f, 0.003786f, -0.003822f, 0.002246f, 0.008844f, -0.005242f, 0.004324f, 0.004651f, 0.004627f, -0.008600f, 0.004018f, -0.004009f, -0.004863f, -0.012726f, -0.004893f, -0.007428f, - -0.014136f, 0.006245f, 0.000569f, -0.000941f, 0.014429f, 0.010503f, 0.003761f, 0.011543f, 0.000154f, -0.014574f, 0.012375f, -0.001375f, -0.009908f, -0.007868f, -0.014424f, 0.000673f, 0.017569f, 0.001205f, -0.007603f, 0.007437f, -0.012922f, -0.008142f, 0.006834f, -0.010528f, -0.013920f, -0.007360f, -0.004318f, 0.007903f, -0.012284f, -0.003828f, -0.005661f, 0.015922f, 0.002404f, -0.005533f, 0.007923f, -0.004792f, -0.005697f, 0.000889f, 0.012728f, -0.002388f, 0.000953f, 0.006963f, 0.004116f, -0.016126f, -0.000493f, 0.009798f, 0.004795f, 0.005696f, -0.001186f, -0.003158f, 0.007352f, -0.004345f, 0.001376f, -0.003572f, 0.002192f, 0.002671f, 0.003869f, -0.008209f, 0.000185f, 0.000798f, 0.002194f, 0.000443f, 0.000229f, 0.003760f, -0.000573f, -0.000792f, -0.003456f, 0.002740f, 0.003937f, 0.010674f, 0.007730f, -0.019709f, 0.018835f, -0.007002f, 0.001801f, -0.008579f, 0.016142f, -0.002214f, -0.010757f, -0.035249f, -0.004640f, 0.018392f, 0.004611f, -0.027468f, 0.012624f, 0.000044f, -0.005565f, -0.008767f, -0.007081f, -0.002658f, -0.016302f, -0.002702f, 0.013314f, 0.017299f, 0.020590f, 0.012514f, - 0.018783f, -0.006070f, 0.014812f, 0.007160f, -0.029005f, -0.000628f, 0.007647f, 0.010386f, 0.005116f, -0.009971f, 0.000650f, -0.002038f, 0.010343f, -0.017378f, -0.006189f, 0.013013f, -0.004199f, 0.007340f, 0.003906f, -0.011560f, -0.012818f, -0.006609f, -0.019247f, -0.005451f, -0.005856f, 0.007986f, 0.002959f, -0.011132f, -0.002489f, -0.023829f, -0.005939f, 0.009797f, -0.006899f, -0.023548f, -0.000274f, 0.013447f, -0.028548f, 0.008348f, 0.004842f, 0.009143f, -0.013496f, -0.006268f, -0.012823f, 0.001041f, -0.003798f, -0.014576f, -0.003770f, -0.002418f, 0.008867f, 0.004999f, 0.021481f, 0.001397f, 0.000301f, 0.003450f, -0.001550f, -0.010812f, 0.013605f, 0.004752f, -0.005500f, 0.011891f, 0.002221f, -0.005862f, 0.002024f, -0.000340f, 0.007280f, 0.001683f, 0.001483f, 0.004520f, -0.003778f, 0.000190f, -0.004063f, 0.000016f, -0.003225f, 0.003323f, -0.001282f, 0.001452f, 0.004106f, 0.000597f, -0.002509f, 0.003779f, 0.000996f, 0.004019f, 0.001134f, -0.001140f, 0.001514f, 0.000391f, 0.005422f, -0.022029f, 0.004793f, 0.017469f, 0.022541f, 0.016772f, 0.017137f, 0.006556f, -0.012045f, 0.011968f, - 0.020827f, -0.031066f, 0.015439f, 0.015425f, -0.033262f, -0.008807f, 0.008062f, 0.035668f, -0.002878f, -0.002382f, -0.008611f, -0.010131f, 0.044173f, 0.021836f, 0.006070f, 0.005426f, 0.022871f, -0.000530f, -0.003578f, -0.008694f, 0.003347f, -0.020021f, -0.018057f, -0.004218f, 0.005481f, 0.013204f, 0.005961f, 0.002907f, -0.006866f, 0.001171f, -0.014699f, 0.005964f, -0.021745f, 0.021105f, -0.002458f, -0.010694f, -0.012536f, -0.014332f, -0.021936f, 0.003657f, -0.021236f, -0.007236f, 0.014439f, -0.003496f, -0.007327f, -0.007088f, -0.003467f, -0.018218f, -0.012652f, -0.008281f, -0.007791f, -0.004259f, 0.006573f, 0.003584f, 0.001023f, 0.000835f, -0.016066f, 0.027393f, 0.015743f, 0.000251f, -0.002102f, 0.036068f, -0.004441f, -0.006392f, -0.008962f, -0.018486f, -0.005100f, 0.011963f, 0.011567f, -0.001933f, 0.014092f, -0.028302f, 0.008257f, -0.010887f, 0.002628f, 0.010688f, -0.003844f, -0.000402f, 0.001696f, 0.000768f, 0.003411f, -0.004586f, 0.005181f, 0.006586f, -0.006403f, 0.002451f, 0.003489f, 0.004235f, 0.011445f, -0.008822f, -0.000853f, 0.001048f, -0.000277f, 0.002520f, 0.001216f, 0.002636f, - 0.003566f, -0.003324f, 0.002271f, -0.001165f, 0.000220f, -0.006355f, -0.001392f, -0.001643f, 0.005190f, -0.005403f, 0.040959f, 0.014105f, 0.008806f, 0.019970f, -0.022162f, -0.013269f, 0.012958f, 0.013767f, 0.030451f, 0.004553f, 0.008624f, -0.020208f, -0.000983f, 0.010229f, -0.026533f, -0.008450f, 0.010927f, -0.008765f, 0.000554f, 0.007478f, 0.019988f, -0.006549f, 0.007945f, 0.004202f, 0.004568f, 0.017032f, 0.014922f, 0.018140f, -0.013948f, -0.009331f, 0.019711f, -0.024592f, -0.007999f, -0.008066f, -0.001444f, -0.006565f, -0.015593f, 0.015510f, -0.000339f, -0.016934f, 0.001019f, -0.006603f, -0.017562f, -0.022027f, -0.012107f, -0.013162f, 0.026378f, -0.008226f, -0.006451f, -0.015398f, -0.001078f, -0.007787f, 0.004256f, 0.030966f, -0.005576f, -0.009991f, 0.005460f, -0.001728f, 0.018010f, -0.020561f, 0.035176f, 0.007113f, -0.033445f, -0.024362f, 0.009078f, -0.022550f, 0.000575f, -0.024152f, 0.000316f, 0.005285f, -0.002899f, 0.026296f, 0.033040f, -0.015516f, 0.004186f, -0.006342f, -0.024093f, -0.008980f, -0.013029f, -0.015758f, -0.003443f, 0.012028f, -0.008043f, -0.018590f, 0.012575f, 0.000903f, - -0.009917f, -0.008461f, 0.004284f, 0.007024f, -0.002807f, -0.001870f, -0.009324f, 0.000604f, -0.008593f, -0.001681f, -0.004197f, 0.006224f, 0.007144f, 0.001744f, -0.008528f, 0.001014f, 0.000777f, 0.005725f, 0.000089f, -0.002086f, 0.000687f, -0.010894f, -0.000991f, -0.006111f, -0.004177f, 0.000928f, 0.002691f, -0.005692f, 0.004699f, -0.003283f, -0.002923f, 0.007524f, -0.002757f, -0.007197f, -0.036101f, 0.013145f, 0.073537f, -0.013149f, -0.001215f, -0.032714f, -0.013978f, 0.021593f, -0.003563f, 0.042031f, 0.025090f, 0.023173f, -0.000209f, 0.017804f, -0.035062f, 0.031216f, 0.015983f, 0.001153f, 0.003750f, -0.020452f, 0.008362f, -0.000638f, 0.031795f, 0.017611f, 0.021058f, -0.008135f, 0.001707f, 0.005260f, -0.021998f, -0.017774f, -0.008330f, 0.009539f, 0.037141f, -0.010740f, -0.013060f, -0.013112f, -0.007542f, 0.004546f, -0.024258f, -0.007261f, -0.001974f, -0.013104f, -0.025659f, -0.005669f, -0.032445f, -0.011982f, 0.018458f, -0.022613f, -0.010138f, -0.004719f, 0.001396f, -0.036439f, -0.022174f, -0.005035f, -0.004173f, -0.007218f, 0.022379f, 0.009695f, 0.001117f, 0.013420f, 0.023063f, -0.014759f, - -0.006377f, -0.020012f, 0.008574f, -0.015805f, 0.012804f, 0.014842f, 0.017817f, 0.032788f, 0.008993f, -0.025224f, -0.004446f, 0.055163f, 0.017682f, 0.030882f, 0.014651f, 0.009169f, -0.002534f, 0.003491f, -0.013519f, -0.017078f, 0.007180f, 0.005233f, -0.017056f, 0.004137f, 0.011250f, 0.010235f, -0.016397f, 0.012231f, 0.003872f, 0.008733f, 0.010080f, -0.000369f, 0.004661f, 0.008434f, 0.003193f, 0.009953f, -0.001435f, 0.001921f, -0.003632f, -0.007219f, 0.001087f, 0.008653f, 0.000925f, -0.004190f, 0.014014f, 0.008916f, 0.007440f, 0.000029f, -0.002160f, -0.002659f, -0.000795f, 0.000203f, -0.002772f, 0.004777f, 0.003528f, 0.003701f, 0.003957f, 0.001932f, -0.008120f, 0.038059f, 0.041713f, -0.042235f, 0.010267f, 0.030888f, 0.018620f, -0.011814f, -0.022518f, -0.019461f, 0.043462f, 0.003528f, 0.016300f, 0.022799f, -0.013092f, 0.006410f, 0.009470f, -0.026680f, -0.028414f, 0.022992f, 0.007729f, -0.041256f, -0.009618f, 0.053580f, 0.025596f, -0.000122f, -0.030686f, 0.010020f, 0.007929f, 0.032586f, 0.010657f, -0.015897f, 0.021212f, 0.003775f, -0.009103f, -0.003095f, -0.006580f, -0.025420f, - -0.012153f, 0.003907f, 0.004253f, -0.030337f, -0.032900f, -0.019371f, -0.009543f, -0.036022f, 0.021278f, -0.002226f, -0.025750f, 0.004914f, 0.000460f, -0.011071f, -0.003253f, 0.007779f, -0.000360f, 0.008192f, 0.009297f, 0.014575f, -0.014412f, -0.016857f, 0.022184f, 0.045371f, 0.020350f, 0.012440f, 0.032881f, -0.006131f, 0.017838f, 0.044116f, 0.026756f, 0.004229f, 0.004740f, -0.013685f, -0.027138f, 0.026293f, -0.025863f, 0.011635f, -0.010474f, 0.008116f, -0.033807f, 0.016232f, -0.000636f, -0.010876f, -0.006542f, 0.019229f, -0.018330f, -0.008993f, -0.004906f, 0.003043f, -0.000659f, 0.005798f, -0.007413f, -0.000758f, -0.013170f, -0.003122f, -0.000993f, 0.002546f, -0.004120f, 0.004654f, -0.005100f, 0.004067f, -0.004597f, 0.014847f, 0.004327f, -0.003566f, -0.007073f, 0.005759f, 0.000348f, 0.005309f, 0.004333f, -0.003269f, 0.003871f, 0.005640f, -0.003895f, 0.001672f, 0.006378f, -0.001747f, 0.002069f, 0.007612f, 0.007416f, 0.013691f, -0.008540f, -0.039496f, 0.011167f, -0.019013f, -0.008729f, -0.014686f, -0.002418f, 0.033914f, 0.033607f, -0.067800f, 0.021063f, 0.021581f, -0.021007f, -0.034474f, - -0.044933f, 0.007981f, -0.013150f, 0.008371f, -0.015635f, -0.012321f, -0.007233f, 0.042033f, 0.010712f, -0.003626f, -0.000647f, -0.006662f, -0.012477f, 0.010649f, 0.007065f, -0.000174f, 0.016928f, 0.003683f, -0.003474f, 0.006020f, 0.015375f, 0.043361f, 0.004443f, 0.005349f, -0.021334f, -0.009160f, -0.010054f, -0.010778f, -0.001225f, -0.003607f, 0.014447f, 0.020737f, 0.001074f, 0.023953f, -0.005474f, -0.004057f, -0.004817f, -0.002679f, -0.041922f, 0.047374f, 0.001318f, 0.003342f, -0.003389f, -0.012337f, 0.012677f, -0.003270f, 0.019340f, 0.001066f, -0.018293f, 0.004953f, 0.020503f, -0.014539f, 0.019052f, 0.004574f, -0.028864f, -0.004984f, -0.006083f, -0.052743f, -0.017879f, 0.013434f, 0.013737f, -0.021581f, -0.012258f, 0.012533f, 0.001880f, 0.035175f, -0.027934f, 0.012731f, 0.015863f, -0.002337f, 0.013894f, 0.012712f, 0.015733f, 0.005939f, 0.007087f, 0.006236f, 0.005318f, -0.002417f, -0.002720f, -0.009173f, 0.003786f, 0.013085f, 0.002505f, -0.009742f, -0.003594f, -0.005544f, 0.003288f, -0.004323f, -0.003410f, -0.006529f, 0.008699f, 0.004735f, 0.005991f, 0.000518f, -0.015158f, 0.006017f, - -0.015405f, 0.001081f, 0.002680f, 0.005381f, -0.007204f, -0.003693f, -0.002117f, 0.004918f, 0.009534f, 0.004086f, 0.004138f, 0.001170f, 0.004336f, -0.010604f, 0.034905f, 0.010301f, 0.010998f, -0.024978f, 0.019230f, -0.009795f, 0.018340f, -0.013804f, 0.023551f, -0.020797f, -0.016888f, 0.032228f, 0.004315f, 0.008483f, -0.018663f, -0.042185f, -0.003735f, 0.012743f, 0.003635f, 0.018559f, -0.014853f, 0.002677f, 0.000119f, -0.031421f, -0.022554f, 0.010825f, -0.035524f, -0.023171f, 0.011756f, 0.000469f, -0.037160f, -0.005043f, -0.018356f, 0.024207f, 0.014650f, 0.004628f, -0.008421f, -0.023163f, -0.049579f, 0.017914f, -0.022035f, 0.027627f, -0.007925f, -0.008813f, -0.004308f, -0.012927f, 0.007912f, 0.007464f, -0.039568f, -0.017294f, 0.039582f, 0.034648f, -0.035146f, 0.046389f, 0.002703f, 0.034239f, -0.007811f, -0.007840f, -0.003956f, -0.013090f, 0.017958f, -0.012897f, -0.036883f, -0.019463f, 0.044543f, -0.009606f, -0.008559f, -0.002179f, 0.014031f, 0.009064f, 0.022674f, -0.050510f, 0.015331f, 0.034871f, 0.027600f, -0.010852f, -0.002501f, -0.010680f, -0.022647f, 0.002866f, 0.021465f, 0.033037f, - -0.019770f, -0.020127f, -0.022717f, -0.002092f, -0.003405f, 0.002399f, -0.010703f, 0.005981f, 0.006143f, -0.003665f, -0.001244f, -0.004711f, -0.009701f, 0.010070f, 0.000598f, 0.001722f, -0.014917f, -0.012664f, -0.003039f, -0.016492f, -0.006107f, -0.008164f, 0.002274f, -0.005720f, 0.000432f, 0.013086f, -0.004802f, 0.005578f, 0.000240f, -0.011806f, 0.002776f, -0.005856f, -0.001137f, 0.005371f, 0.011723f, 0.001795f, 0.005171f, 0.010747f, 0.010930f, 0.014107f, -0.003970f, -0.003594f, -0.002076f, 0.014456f, -0.001754f, -0.022868f, -0.000840f, -0.017562f, 0.023866f, 0.018529f, -0.017990f, -0.030653f, -0.025724f, -0.015090f, -0.029816f, -0.001631f, 0.014118f, 0.032769f, -0.005667f, -0.001529f, -0.054800f, 0.032858f, 0.040867f, -0.006443f, -0.022233f, -0.022542f, -0.014006f, 0.061564f, -0.037482f, -0.000089f, -0.004442f, 0.016651f, -0.002780f, 0.070922f, 0.001702f, -0.038526f, -0.010184f, -0.036609f, 0.047815f, 0.041655f, -0.033613f, 0.039189f, 0.009767f, 0.031559f, 0.011745f, -0.059112f, 0.018516f, 0.031711f, -0.041027f, -0.011316f, -0.046549f, -0.023183f, 0.001562f, -0.042783f, -0.036605f, -0.000987f, - -0.029670f, -0.000359f, 0.010357f, -0.010545f, -0.029435f, 0.024179f, 0.021806f, -0.048307f, -0.037033f, 0.020280f, 0.008464f, 0.013058f, 0.024454f, 0.032102f, -0.011860f, -0.017327f, -0.001069f, -0.011208f, -0.000688f, -0.003529f, -0.016305f, 0.006508f, -0.067227f, 0.022947f, 0.032577f, -0.034567f, -0.028625f, 0.021728f, -0.021942f, -0.019736f, -0.009536f, 0.012192f, 0.001619f, 0.041744f, 0.000229f, 0.024422f, -0.002487f, -0.016895f, 0.008946f, 0.012650f, 0.012944f, -0.010870f, 0.000184f, 0.001434f, -0.001634f, -0.006945f, -0.016731f, 0.011069f, 0.017397f, -0.008872f, -0.029373f, 0.007553f, 0.002403f, 0.031112f, -0.003096f, -0.012020f, 0.009457f, 0.003561f, 0.015374f, 0.000095f, -0.009592f, 0.000344f, 0.012508f, 0.009542f, 0.003012f, -0.003215f, 0.002244f, -0.005650f, -0.005005f, -0.014442f, 0.007146f, 0.007092f, -0.010120f, 0.004937f, 0.004229f, 0.002795f, -0.001857f, -0.004777f, 0.001096f, -0.013841f, -0.010473f, 0.000296f, 0.014852f, 0.037125f, 0.069964f, 0.110555f, 0.003080f, -0.045025f, -0.057913f, -0.013776f, 0.002026f, -0.014013f, 0.053541f, 0.040089f, 0.027643f, 0.046505f, - 0.033767f, 0.027252f, 0.001584f, 0.021906f, -0.029077f, 0.040247f, 0.046580f, 0.002914f, 0.048472f, -0.020339f, 0.003730f, 0.011041f, -0.045739f, -0.030834f, -0.011048f, -0.027309f, -0.032138f, -0.004984f, 0.049830f, -0.000937f, -0.009926f, 0.005985f, 0.010449f, -0.007044f, -0.068175f, -0.009559f, 0.017515f, -0.010274f, -0.021060f, 0.008133f, 0.026023f, 0.046387f, 0.011261f, 0.023528f, 0.032767f, 0.040417f, -0.056390f, -0.039187f, 0.021854f, -0.016561f, 0.071210f, -0.007649f, 0.061199f, -0.049761f, 0.029081f, 0.049849f, 0.001682f, 0.007935f, 0.029823f, -0.054365f, -0.025382f, 0.001225f, 0.030729f, 0.000693f, 0.035405f, 0.014269f, 0.013189f, 0.036120f, 0.012909f, -0.004975f, -0.015475f, -0.043038f, -0.010111f, 0.002340f, 0.011198f, 0.000719f, 0.000765f, 0.000819f, -0.023553f, 0.012032f, 0.007996f, 0.020133f, -0.007141f, 0.015118f, 0.024755f, 0.014688f, 0.006147f, -0.000194f, -0.003135f, 0.005149f, -0.008777f, 0.005002f, -0.008394f, 0.000155f, 0.004981f, 0.004986f, -0.007438f, 0.011105f, 0.010698f, 0.013537f, 0.001381f, 0.001008f, 0.005555f, -0.004954f, 0.009143f, -0.006990f, - 0.009238f, 0.021455f, -0.002751f, -0.004183f, 0.001515f, 0.018660f, -0.011638f, 0.004364f, -0.002368f, -0.002813f, -0.003682f, 0.002538f, 0.005034f, 0.008396f, 0.006274f, 0.006406f, 0.017217f, -0.012223f, 0.020455f, -0.010035f, -0.023773f, 0.006914f, 0.079396f, 0.026411f, 0.027888f, 0.057865f, -0.004240f, 0.012233f, 0.025227f, 0.037146f, -0.041345f, -0.033249f, -0.014065f, -0.036474f, -0.006329f, -0.048990f, 0.025217f, 0.038959f, 0.028599f, 0.038681f, -0.026042f, -0.014613f, 0.030067f, 0.023165f, -0.016269f, 0.039204f, 0.023755f, -0.009178f, -0.047981f, 0.026593f, 0.029403f, -0.024614f, -0.003515f, 0.013885f, 0.007067f, -0.038957f, 0.044845f, 0.011779f, 0.048137f, 0.026023f, 0.018958f, -0.026253f, 0.022547f, -0.014034f, 0.073312f, -0.057818f, 0.006483f, 0.021894f, -0.010771f, -0.037401f, 0.023932f, 0.023105f, -0.004387f, 0.022725f, -0.022113f, 0.059448f, -0.027450f, 0.015517f, 0.013175f, -0.038086f, -0.016225f, -0.052514f, 0.022451f, 0.015090f, -0.038688f, 0.036089f, 0.031284f, -0.027157f, 0.022504f, -0.003141f, 0.060749f, 0.019528f, -0.030041f, -0.022447f, -0.021435f, 0.018801f, - -0.012386f, 0.015985f, -0.007491f, 0.003310f, 0.020510f, 0.012531f, 0.010358f, -0.020201f, 0.052276f, 0.005481f, -0.019938f, -0.029874f, 0.025384f, 0.012216f, 0.023976f, -0.013863f, 0.007193f, 0.018536f, 0.039506f, 0.009674f, -0.006233f, 0.032373f, -0.008592f, -0.009804f, -0.004398f, 0.002869f, 0.009060f, -0.019883f, -0.016908f, 0.007084f, -0.014584f, -0.009392f, 0.002086f, -0.007492f, -0.001829f, -0.002905f, -0.014304f, 0.009749f, 0.006066f, -0.028524f, 0.006987f, -0.021434f, -0.012867f, -0.007115f, 0.010538f, 0.005076f, 0.019581f, 0.008038f, -0.000366f, 0.005040f, 0.007336f, 0.007797f, 0.000963f, 0.001851f, 0.004667f, 0.015987f, -0.005148f, -0.002901f, -0.071218f, 0.030553f, -0.060858f, 0.061315f, 0.073871f, -0.004833f, 0.012287f, -0.061577f, -0.001308f, -0.014436f, 0.005460f, 0.034401f, 0.035409f, -0.011598f, 0.018029f, 0.028438f, 0.003961f, 0.011411f, 0.007791f, 0.011248f, -0.008349f, 0.041860f, -0.006626f, 0.008802f, -0.024502f, 0.047219f, 0.009801f, -0.005427f, -0.002194f, 0.042408f, 0.015999f, 0.019546f, 0.047313f, -0.011575f, -0.030155f, 0.057906f, -0.063040f, -0.027881f, - -0.011366f, 0.012978f, 0.040863f, 0.008752f, -0.017494f, -0.018340f, -0.030662f, -0.001483f, -0.005968f, 0.011173f, 0.065887f, 0.063630f, 0.040539f, 0.057332f, -0.005706f, 0.086749f, -0.029644f, 0.023620f, -0.021141f, 0.001293f, 0.027228f, -0.014260f, 0.002949f, -0.027054f, -0.034178f, -0.000180f, -0.021552f, 0.017149f, -0.029173f, 0.042501f, -0.032721f, -0.053151f, -0.021847f, -0.014207f, -0.004887f, 0.062290f, -0.038201f, -0.009549f, -0.005492f, -0.040358f, -0.010084f, 0.022271f, 0.049495f, -0.005159f, -0.002211f, 0.001120f, -0.016290f, -0.034826f, 0.001364f, -0.002298f, -0.005182f, -0.004360f, 0.000023f, -0.020490f, 0.015862f, -0.017673f, 0.019605f, -0.008618f, -0.014922f, -0.017320f, 0.004140f, 0.014673f, -0.010843f, -0.014984f, -0.004849f, 0.011991f, 0.014427f, -0.011239f, 0.006875f, 0.007676f, 0.005281f, 0.007637f, -0.007957f, -0.008329f, 0.004229f, -0.000121f, 0.009247f, -0.012072f, 0.008181f, 0.013303f, -0.000329f, -0.005719f, -0.007045f, 0.011489f, -0.025092f, -0.013071f, 0.025520f, -0.016297f, -0.001367f, -0.005119f, 0.005304f, -0.016764f, 0.011792f, -0.006146f, 0.023040f, 0.019973f, - 0.000312f, -0.024867f, 0.109051f, 0.151403f, 0.046425f, 0.118020f, -0.025851f, -0.082113f, -0.057536f, -0.040239f, 0.019914f, 0.021686f, -0.027369f, -0.044115f, 0.038211f, 0.051364f, 0.030027f, 0.051245f, 0.039549f, 0.009741f, 0.015740f, 0.007723f, -0.002559f, -0.033755f, 0.014898f, -0.039996f, 0.028184f, 0.000233f, -0.037396f, 0.043347f, 0.026254f, 0.020722f, 0.074935f, 0.046015f, -0.021456f, -0.014491f, -0.026939f, -0.031993f, -0.039111f, -0.015477f, 0.001580f, -0.030991f, -0.009572f, 0.064685f, 0.098207f, 0.072284f, 0.009946f, 0.049324f, 0.052697f, 0.080454f, 0.036917f, -0.042683f, -0.069965f, -0.043706f, -0.044615f, 0.026416f, 0.022290f, -0.095763f, -0.065576f, -0.016930f, 0.040458f, 0.087099f, -0.065149f, -0.002601f, -0.056525f, -0.007373f, 0.071332f, -0.039213f, 0.026959f, -0.056875f, -0.009144f, -0.017000f, 0.048167f, -0.053306f, -0.030229f, 0.000865f, 0.021363f, -0.043271f, 0.099535f, -0.023400f, -0.001384f, 0.056508f, -0.024645f, 0.042487f, -0.013357f, -0.035079f, -0.027077f, 0.016518f, 0.001832f, 0.014089f, 0.009026f, -0.031307f, 0.001085f, -0.013207f, 0.038291f, 0.022299f, - 0.006958f, 0.020818f, 0.023964f, 0.001344f, -0.000046f, -0.007508f, -0.023468f, 0.048552f, -0.014732f, 0.010208f, 0.000675f, -0.028080f, 0.001427f, 0.003125f, -0.008575f, -0.018436f, -0.003704f, -0.010798f, 0.003009f, 0.007283f, -0.007906f, 0.001712f, 0.033426f, 0.023681f, -0.003894f, -0.005234f, 0.031717f, -0.013032f, -0.003576f, -0.026368f, -0.037716f, -0.014193f, -0.009655f, -0.004012f, -0.010232f, -0.042752f, -0.083129f, 0.010325f, 0.046536f, -0.038410f, 0.072014f, -0.028513f, 0.028733f, -0.009426f, -0.082852f, -0.042379f, -0.003855f, -0.048704f, -0.111906f, -0.031298f, 0.040608f, 0.062321f, -0.030181f, -0.047851f, -0.099841f, -0.029600f, 0.029692f, -0.019753f, -0.028816f, -0.049565f, 0.011968f, -0.011094f, -0.008255f, -0.009201f, 0.020378f, 0.040309f, -0.031090f, 0.031194f, 0.026646f, -0.031449f, -0.091110f, 0.007606f, 0.007564f, 0.023714f, 0.011185f, 0.059875f, 0.006207f, -0.090587f, 0.000778f, -0.099774f, -0.000282f, 0.034854f, 0.042019f, -0.007587f, 0.005723f, 0.046605f, -0.024110f, -0.017530f, -0.031120f, 0.030229f, 0.022056f, -0.014223f, 0.036015f, -0.011008f, 0.015265f, 0.016857f, - 0.058832f, 0.007994f, -0.020657f, -0.062623f, -0.021470f, 0.032761f, 0.028443f, 0.050042f, 0.072811f, 0.125942f, 0.062759f, 0.030435f, -0.032615f, -0.126100f, -0.034482f, -0.018050f, 0.096689f, -0.016044f, 0.006133f, -0.000234f, -0.030355f, 0.004327f, 0.028421f, 0.013697f, -0.000568f, 0.001563f, 0.000619f, 0.000354f, 0.046919f, -0.016729f, -0.013863f, -0.015360f, 0.032567f, 0.012618f, 0.016514f, -0.012596f, -0.039858f, 0.013349f, 0.016963f, -0.017999f, -0.002616f, 0.010350f, -0.002233f, 0.003291f, -0.007032f, -0.057237f, -0.018781f, -0.004412f, 0.026402f, 0.041522f, 0.004963f, -0.034155f, -0.033481f, 0.015554f, 0.005619f, -0.002934f, -0.005645f, 0.002127f, -0.003524f, -0.001453f, 0.030724f, -0.033497f, 0.004323f, -0.028741f, 0.030728f, -0.016593f, 0.000689f, -0.041473f, -0.006521f, 0.028458f, -0.008754f, 0.015507f, -0.023983f, 0.012153f, -0.012604f, 0.019717f, -0.019253f, 0.006747f, -0.081387f, -0.024776f, 0.056611f, -0.027876f, -0.023379f, -0.006029f, -0.018256f, -0.065255f, -0.072546f, -0.106141f, -0.033499f, 0.000203f, -0.008205f, 0.069473f, 0.019130f, 0.090740f, 0.056003f, 0.028093f, - -0.012658f, -0.033546f, -0.006232f, 0.127245f, 0.007925f, 0.036660f, 0.020700f, -0.016002f, 0.063436f, -0.026486f, 0.051212f, -0.055924f, -0.005522f, -0.040316f, 0.048204f, -0.067904f, -0.014254f, 0.020688f, 0.021413f, 0.021725f, -0.059260f, 0.042144f, -0.067830f, 0.013725f, -0.033202f, -0.022847f, 0.067612f, 0.003919f, 0.004504f, 0.023171f, -0.025574f, -0.001597f, 0.017727f, -0.082476f, 0.002299f, 0.018903f, -0.011906f, 0.052967f, -0.023667f, -0.010493f, 0.089360f, -0.033936f, -0.074190f, 0.000067f, -0.027963f, 0.005880f, -0.005529f, -0.004047f, -0.059521f, 0.031727f, -0.009608f, -0.081472f, 0.049052f, -0.100876f, 0.019664f, -0.023259f, -0.039770f, -0.063844f, -0.008097f, 0.017038f, 0.029401f, 0.002403f, 0.023832f, 0.029165f, -0.034641f, 0.061141f, -0.014075f, 0.016171f, -0.000695f, 0.029044f, -0.001209f, -0.003566f, -0.009845f, 0.017050f, -0.036537f, -0.005017f, 0.012134f, 0.007637f, -0.014119f, -0.000548f, -0.015818f, -0.021563f, 0.011074f, 0.008351f, 0.016290f, 0.009984f, -0.004487f, 0.012092f, 0.036637f, -0.018446f, -0.018834f, 0.005952f, -0.001627f, 0.006712f, 0.027220f, -0.004322f, - 0.014909f, 0.013315f, 0.014146f, -0.018870f, -0.021866f, -0.005966f, -0.001605f, -0.023627f, -0.001147f, -0.005136f, 0.009941f, -0.025807f, 0.007734f, -0.011765f, -0.033922f, -0.122971f, -0.126416f, -0.107713f, -0.053666f, 0.226721f, 0.071885f, -0.026850f, -0.028123f, -0.110244f, -0.234945f, -0.025344f, 0.064680f, 0.080470f, 0.035229f, -0.035089f, -0.026024f, -0.068371f, -0.075507f, 0.058888f, -0.054089f, 0.143373f, 0.107693f, -0.164573f, 0.054711f, 0.022979f, -0.033675f, 0.014078f, 0.120082f, 0.018226f, 0.083153f, 0.164121f, -0.034465f, -0.132622f, 0.007272f, -0.021647f, -0.123715f, -0.032840f, 0.061216f, -0.004325f, 0.075119f, 0.120959f, 0.011653f, -0.102692f, -0.202390f, -0.173419f, -0.155125f, -0.015240f, 0.152141f, 0.044271f, 0.041265f, 0.023904f, -0.040204f, -0.202643f, -0.126625f, -0.064115f, -0.023966f, 0.013682f, 0.046942f, 0.045931f, 0.058356f, 0.060104f, 0.074105f, -0.086614f, -0.030762f, -0.070699f, -0.005257f, -0.077433f, 0.049767f, 0.050102f, 0.101030f, 0.112511f, 0.053987f, 0.002953f, -0.028834f, -0.019261f, -0.136326f, -0.107877f, 0.096692f, 0.151294f, 0.102968f, 0.121174f, - -0.028021f, -0.052180f, -0.107729f, -0.060416f, 0.032853f, 0.001647f, 0.008206f, 0.035112f, 0.012095f, 0.009939f, -0.025532f, -0.033450f, -0.016501f, -0.024899f, 0.001735f, 0.027918f, 0.008264f, 0.011743f, -0.005280f, 0.016935f, -0.027945f, 0.020754f, -0.007819f, -0.025133f, -0.025413f, -0.006363f, -0.042766f, -0.011833f, -0.025852f, 0.029177f, 0.031910f, 0.016671f, 0.012815f, -0.026746f, -0.057412f, -0.055949f, 0.016071f, -0.003758f, 0.026935f, 0.024702f, 0.013038f, -0.040265f, -0.020587f, -0.038236f, -0.060838f, 0.020234f, 0.037852f, 0.016410f, 0.002020f, 0.043282f, -0.015953f, -0.226272f, -0.253338f, -0.172226f, -0.177085f, -0.047160f, 0.199096f, 0.134088f, 0.214802f, 0.239056f, 0.363184f, 0.241141f, 0.249744f, 0.161058f, -0.012007f, -0.179234f, -0.309745f, -0.366178f, -0.317590f, -0.250717f, -0.181103f, -0.043845f, -0.008887f, -0.026194f, 0.009561f, 0.078866f, 0.130220f, 0.180168f, 0.157015f, 0.213519f, 0.206648f, 0.266538f, 0.244212f, 0.068460f, 0.164058f, -0.035569f, 0.045171f, 0.032922f, 0.009673f, -0.022727f, -0.237210f, -0.285364f, -0.364265f, -0.427915f, -0.388508f, -0.216316f, - -0.191682f, -0.158205f, -0.197535f, -0.229288f, -0.048630f, 0.055885f, 0.144339f, 0.210617f, 0.305640f, 0.364365f, 0.468528f, 0.617404f, 0.600249f, 0.455262f, 0.370071f, 0.307307f, 0.163201f, 0.258017f, -0.104212f, -0.210914f, -0.503543f, -0.577529f, -0.717081f, -0.689746f, -0.629999f, -0.597864f, -0.576640f, -0.355770f, -0.219647f, -0.120208f, 0.322898f, 0.327980f, 0.502551f, 0.644363f, 0.559603f, 0.504564f, 0.511411f, 0.400901f, 0.306630f, 0.167672f, 0.022766f, -0.002981f, -0.094018f, -0.115631f, -0.166362f, -0.216905f, -0.296596f, -0.321847f, -0.291915f, -0.337761f, -0.260017f, -0.239879f, -0.225282f, -0.199014f, -0.101733f, -0.020890f, 0.106217f, 0.216929f, 0.204809f, 0.317414f, 0.352161f, 0.386919f, 0.458178f, 0.369414f, 0.216759f, 0.107129f, -0.064936f, -0.169268f, -0.167931f, -0.326806f, -0.301355f, -0.414399f, -0.328659f, -0.343660f, -0.219496f, -0.231133f, -0.133951f, -0.018171f, 0.116997f, 0.173763f, 0.308727f, 0.357508f, 0.348603f, 0.336943f, 0.329981f, 0.251981f, 0.090996f, -0.059153f, -0.082719f, -0.110156f, -0.119640f, -0.137934f, -0.160925f, -0.151667f, -0.110330f, -0.122100f, - -0.108305f, -0.096284f, -0.067164f, -0.032002f, -0.019775f, -0.016853f, 0.005609f, 0.018822f, 0.014540f, 0.017178f, 0.049108f, 0.060765f, 0.065960f, 0.059358f, 0.046411f, 0.047234f, 0.073841f, 0.051288f, 0.042982f, 0.040507f, 0.038337f, 0.015062f, -0.002238f, -0.020718f, -0.014503f, -0.020342f, -0.024579f, -0.036510f, -0.028102f, -0.025590f, -0.029419f, -0.040146f, -0.029542f, -0.027540f, -0.031123f, -0.033503f, -0.017677f, -0.013882f, -0.006764f, -0.005388f, 0.002096f, 0.013887f, 0.025895f, 0.021373f, 0.020217f, 0.019982f, 0.024719f, 0.019707f, 0.013936f, 0.007556f, 0.011534f, 0.007879f, 0.006334f, 0.003464f, 0.002038f, -0.004902f, -0.001705f, 0.004758f, 0.007409f, 0.002290f, 0.001473f, -0.000845f, 0.002183f, -0.001719f, -0.009224f, -0.014043f, -0.011794f, -0.013649f, -0.013490f, -0.013652f, -0.010682f, -0.010970f, -0.008353f, -0.004519f, 0.000102f, 0.000400f, 0.002361f, 0.001218f, 0.002939f, 0.003516f, 0.005495f, 0.006157f, 0.008012f, 0.007605f, 0.008158f, 0.006444f, 0.005668f, 0.003647f, 0.002697f, 0.001132f, 0.000465f, -0.000508f, -0.000665f, -0.001159f, -0.001228f, -0.001318f, - -0.001204f} - }, - { - {0.024821f, 0.002780f, -0.011035f, 0.003700f, -0.007001f, 0.001760f, -0.004582f, -0.002911f, -0.006105f, 0.004225f, 0.007328f, 0.002087f, 0.002239f, -0.013634f, 0.002605f, 0.000186f, 0.004164f, 0.005132f, 0.002782f, 0.007752f, -0.001709f, -0.004412f, 0.000761f, 0.009277f, -0.000004f, -0.007188f, -0.000781f, 0.007893f, 0.004251f, 0.000813f, 0.000015f, 0.002193f, -0.000264f, 0.000567f, 0.001475f, -0.000290f, -0.002896f, -0.000372f, 0.000009f, 0.003082f, -0.004709f, -0.010967f, 0.008009f, 0.008026f, 0.006984f, 0.006566f, -0.000400f, 0.003569f, 0.006242f, -0.006661f, -0.001551f, -0.000203f, -0.008880f, 0.001965f, 0.000591f, 0.007959f, 0.000773f, 0.004451f, 0.000081f, 0.010017f, 0.005046f, -0.001495f, 0.007003f, 0.004244f, -0.002342f, -0.008225f, 0.002001f, 0.002118f, -0.002218f, 0.000593f, -0.004710f, -0.001240f, 0.004145f, 0.002904f, 0.003436f, 0.008263f, -0.001424f, -0.002629f, 0.001082f, 0.004908f, 0.011321f, -0.006702f, 0.002984f, 0.003058f, 0.003266f, -0.000358f, -0.000811f, 0.003498f, -0.002007f, 0.000081f, 0.001620f, -0.002155f, -0.000416f, 0.000309f, 0.000550f, -0.001410f, - -0.002155f, 0.001316f, -0.000561f, 0.000250f, -0.000817f, 0.002068f, -0.000308f, 0.002463f, -0.000635f, 0.002191f, -0.000097f, 0.002072f, 0.021072f, -0.014121f, 0.004736f, 0.011851f, 0.002757f, 0.008345f, 0.010117f, -0.009235f, 0.001917f, -0.000866f, 0.003927f, -0.011704f, -0.009287f, -0.001755f, 0.009066f, 0.012281f, -0.004733f, -0.004104f, 0.005887f, -0.010023f, -0.013379f, -0.002498f, -0.015731f, 0.005351f, 0.005203f, 0.001391f, -0.009778f, -0.009970f, 0.003521f, -0.005819f, 0.001332f, -0.000331f, 0.010347f, 0.010896f, 0.009865f, -0.001646f, 0.006911f, -0.010862f, 0.004700f, -0.006424f, -0.000595f, 0.000528f, 0.008445f, -0.009172f, -0.008112f, 0.000012f, 0.011112f, 0.004532f, 0.004338f, -0.006787f, 0.003762f, 0.002701f, -0.003282f, -0.013952f, -0.002257f, -0.004772f, -0.006109f, -0.005558f, 0.006370f, -0.005910f, -0.001892f, 0.001384f, 0.003956f, 0.009913f, -0.003825f, -0.000303f, -0.007528f, -0.003716f, 0.001561f, -0.010499f, -0.000645f, 0.002777f, 0.007137f, -0.002338f, -0.005405f, -0.002806f, -0.010856f, 0.005067f, 0.003190f, 0.000555f, -0.000880f, -0.009462f, 0.003870f, 0.000700f, - -0.003338f, 0.003335f, -0.001328f, 0.000752f, 0.003121f, 0.000227f, 0.000655f, 0.003539f, 0.001626f, 0.000664f, 0.000108f, 0.002818f, 0.001084f, -0.000634f, 0.001213f, 0.001614f, 0.003360f, -0.007216f, -0.013264f, -0.003134f, 0.002554f, -0.003932f, -0.006600f, -0.003556f, -0.013222f, -0.007346f, 0.014450f, -0.000342f, -0.006074f, 0.007768f, -0.011162f, -0.002381f, -0.013979f, -0.002726f, -0.010968f, -0.005627f, 0.013381f, 0.000918f, -0.002451f, -0.014614f, -0.009031f, -0.003121f, -0.006134f, 0.002739f, -0.007676f, 0.001002f, 0.005142f, 0.015963f, 0.007945f, 0.006130f, 0.007040f, 0.012966f, -0.010475f, 0.000104f, -0.002979f, -0.008021f, 0.003634f, -0.001457f, -0.002984f, -0.008406f, 0.004734f, 0.009311f, 0.001183f, -0.006363f, -0.003994f, 0.023473f, 0.000331f, -0.006445f, -0.009069f, -0.013702f, -0.018337f, -0.002083f, -0.009395f, 0.002466f, -0.001651f, 0.005425f, 0.001201f, 0.002746f, -0.008297f, 0.001513f, 0.001632f, 0.011483f, 0.004038f, -0.008173f, 0.000710f, -0.002378f, -0.002261f, -0.001766f, 0.004258f, 0.006270f, 0.006144f, -0.005268f, -0.005127f, 0.003626f, 0.001846f, 0.002456f, - 0.002672f, -0.001900f, -0.007998f, -0.009429f, -0.000904f, 0.001991f, -0.002068f, 0.001253f, 0.000308f, -0.001067f, -0.001798f, -0.002785f, -0.000936f, -0.000335f, -0.001580f, -0.003121f, 0.000528f, 0.001347f, -0.001581f, 0.000890f, -0.001361f, 0.000569f, -0.001765f, -0.000755f, 0.000639f, 0.000780f, -0.002176f, 0.000612f, -0.000677f, -0.004095f, 0.000696f, -0.001275f, 0.002687f, -0.001640f, -0.001065f, -0.000413f, -0.032586f, 0.012746f, -0.005922f, 0.005328f, -0.013555f, -0.005514f, -0.010640f, -0.009723f, 0.000534f, -0.003127f, -0.006717f, 0.016450f, 0.004163f, -0.001625f, -0.010163f, -0.003262f, 0.004523f, -0.011579f, -0.006219f, -0.011029f, -0.006228f, 0.015731f, 0.001403f, 0.010465f, -0.001149f, -0.000183f, -0.002799f, 0.002914f, 0.002777f, -0.008462f, -0.000043f, 0.002442f, 0.004580f, 0.017091f, -0.009123f, -0.010467f, -0.002212f, 0.018915f, 0.005816f, 0.020137f, 0.001628f, 0.001798f, -0.003732f, 0.009918f, -0.001897f, 0.014653f, -0.001662f, -0.001770f, -0.002813f, -0.006177f, 0.006083f, 0.001845f, -0.005422f, 0.004226f, 0.005367f, 0.010166f, -0.006081f, -0.000564f, -0.002011f, 0.009053f, - -0.003898f, -0.001577f, -0.003608f, -0.002369f, 0.002005f, -0.003018f, 0.000870f, 0.001501f, -0.002412f, 0.002218f, -0.015262f, 0.001413f, 0.009599f, 0.003407f, 0.012921f, 0.001039f, 0.001194f, 0.003135f, 0.008157f, 0.013362f, -0.009057f, 0.001265f, -0.000902f, 0.003144f, -0.000627f, -0.000348f, 0.003801f, 0.008666f, 0.003126f, 0.004249f, 0.000253f, -0.001514f, -0.002478f, 0.001173f, 0.004180f, -0.001542f, 0.001778f, 0.002012f, 0.001858f, -0.000078f, 0.000675f, 0.003698f, -0.000874f, 0.000982f, -0.000371f, 0.004272f, 0.002249f, -0.001364f, -0.000485f, 0.004600f, 0.002108f, -0.001352f, 0.003127f, 0.001898f, -0.004318f, -0.006753f, -0.003234f, 0.000050f, -0.015859f, -0.002483f, 0.000345f, -0.007790f, -0.028220f, -0.006688f, -0.005936f, -0.012179f, -0.002226f, -0.002980f, 0.017982f, -0.005968f, 0.013644f, 0.006509f, 0.009893f, -0.018063f, -0.008023f, -0.018253f, -0.016968f, 0.000194f, 0.003411f, 0.010951f, -0.004998f, -0.007860f, -0.004782f, -0.012274f, 0.002851f, 0.005894f, 0.006714f, 0.004238f, -0.003608f, 0.004866f, -0.008155f, 0.001112f, -0.014853f, 0.005641f, -0.003703f, 0.002272f, - 0.003483f, 0.005830f, 0.006161f, -0.005526f, 0.000395f, 0.014771f, -0.007634f, 0.007272f, 0.007569f, -0.000266f, 0.004598f, 0.007378f, -0.002793f, 0.003038f, 0.007216f, 0.000605f, 0.012600f, -0.006297f, -0.008455f, -0.003949f, 0.004223f, 0.000184f, -0.016385f, -0.008172f, -0.018172f, -0.019726f, -0.003249f, 0.005617f, -0.016108f, 0.007469f, -0.002495f, -0.000066f, -0.005423f, 0.005668f, -0.009531f, -0.001325f, -0.003241f, -0.013426f, -0.011897f, -0.003763f, 0.007280f, 0.000455f, 0.006259f, -0.002354f, 0.004096f, 0.003399f, -0.007427f, 0.000268f, -0.001373f, 0.004499f, -0.004971f, -0.008294f, -0.002667f, 0.001389f, 0.000109f, -0.003052f, 0.001563f, -0.001806f, -0.000664f, 0.001589f, -0.000347f, 0.000327f, -0.000072f, -0.001704f, -0.000322f, -0.001646f, -0.001161f, -0.000981f, 0.000051f, 0.001113f, 0.000195f, 0.002659f, 0.001020f, -0.000936f, 0.009341f, -0.026275f, -0.001110f, 0.008390f, 0.005348f, -0.013860f, -0.001550f, -0.008753f, 0.002454f, 0.002864f, 0.002073f, -0.015146f, -0.020372f, -0.013802f, 0.002551f, -0.010993f, 0.012386f, 0.004068f, -0.019618f, 0.014475f, 0.012661f, 0.010105f, - 0.009012f, -0.009618f, 0.016231f, 0.004455f, 0.000014f, -0.006056f, 0.005571f, 0.009855f, -0.008708f, -0.012765f, 0.004931f, -0.004679f, -0.015958f, -0.001928f, -0.015398f, -0.005435f, 0.028234f, -0.007273f, -0.012514f, -0.015438f, 0.000994f, 0.002795f, 0.011302f, 0.004692f, -0.010179f, 0.009606f, -0.001084f, -0.007845f, -0.010594f, -0.011123f, 0.017427f, 0.008000f, 0.011020f, -0.007999f, -0.011193f, 0.005356f, 0.002901f, -0.011367f, -0.000493f, -0.006867f, 0.011290f, -0.001894f, 0.001087f, -0.013470f, 0.008859f, 0.007617f, -0.007734f, -0.004755f, -0.004772f, 0.015832f, 0.000262f, 0.002566f, -0.004421f, 0.010943f, -0.010818f, -0.018222f, -0.008197f, 0.001898f, -0.003486f, 0.010382f, -0.002017f, -0.000867f, -0.010739f, -0.005399f, 0.004722f, 0.000918f, -0.007636f, -0.004714f, 0.006596f, 0.003842f, -0.002048f, 0.000594f, 0.000129f, 0.000310f, -0.002087f, 0.003159f, 0.001286f, 0.004740f, 0.000722f, 0.001088f, 0.000171f, 0.002238f, -0.000895f, 0.003093f, -0.003625f, 0.004121f, -0.000416f, -0.002051f, -0.014597f, -0.001021f, 0.003097f, -0.003961f, -0.011754f, -0.017238f, -0.013901f, 0.013183f, - 0.001167f, 0.016252f, 0.019464f, 0.018906f, 0.002509f, 0.026101f, 0.005942f, -0.003336f, 0.011836f, 0.008964f, 0.024067f, 0.003142f, 0.013659f, -0.019710f, 0.031387f, 0.023017f, 0.010891f, -0.010037f, -0.008078f, 0.011112f, 0.002232f, 0.007866f, -0.005151f, 0.013341f, -0.004519f, -0.003934f, 0.011916f, 0.009652f, -0.012985f, 0.008090f, -0.003784f, 0.012992f, 0.014090f, -0.028833f, -0.005673f, 0.017191f, 0.004870f, 0.009200f, 0.007102f, 0.017023f, -0.008819f, 0.006620f, -0.000098f, -0.014979f, -0.007558f, -0.000748f, 0.002628f, -0.021827f, -0.002242f, 0.013248f, -0.011157f, 0.022472f, 0.016675f, -0.007225f, -0.000621f, 0.004043f, 0.008137f, 0.012989f, -0.005577f, -0.004628f, 0.021161f, -0.005423f, -0.000863f, 0.009073f, 0.000024f, 0.012308f, 0.009634f, 0.003839f, 0.006529f, 0.006966f, 0.006520f, 0.002905f, 0.002530f, -0.003313f, -0.005460f, -0.002422f, -0.005012f, -0.000845f, -0.003629f, 0.002091f, 0.001735f, -0.004873f, -0.004040f, -0.000841f, 0.003057f, 0.006764f, 0.005468f, 0.003051f, 0.000245f, 0.003219f, -0.006502f, -0.003030f, -0.003690f, 0.001064f, -0.002794f, 0.002865f, - -0.007493f, 0.000491f, -0.000553f, 0.005819f, 0.002007f, 0.000028f, 0.000626f, 0.006046f, 0.001506f, -0.005721f, 0.001375f, -0.000770f, 0.001044f, 0.005065f, -0.000585f, 0.001406f, -0.000513f, 0.055093f, -0.029153f, 0.003817f, 0.022581f, -0.002404f, 0.000593f, 0.029983f, 0.032862f, 0.003729f, -0.002757f, 0.006768f, -0.001827f, 0.007289f, 0.009270f, -0.012283f, -0.003949f, 0.019359f, 0.017012f, -0.008241f, -0.015976f, -0.016997f, -0.017704f, -0.009599f, 0.014261f, -0.011340f, 0.006111f, 0.000612f, -0.020659f, -0.001539f, -0.013820f, -0.001793f, 0.005587f, 0.008792f, -0.026727f, -0.012593f, -0.021338f, -0.006700f, 0.031650f, 0.004447f, -0.003154f, 0.002685f, -0.003174f, 0.001428f, 0.009146f, 0.005387f, 0.015653f, -0.000997f, 0.011621f, 0.006956f, -0.011405f, 0.006915f, -0.017208f, 0.000348f, -0.017287f, -0.017839f, 0.006392f, -0.019611f, 0.007891f, -0.000346f, 0.009615f, 0.007782f, 0.006843f, -0.010516f, 0.011808f, -0.017781f, -0.000694f, -0.008246f, -0.003085f, 0.022090f, 0.000459f, 0.011012f, 0.010665f, -0.002348f, -0.004560f, 0.008495f, -0.018693f, 0.007266f, 0.017104f, -0.026079f, - -0.019465f, -0.005378f, 0.012839f, -0.001290f, -0.016347f, 0.005971f, -0.002702f, 0.006796f, -0.006261f, 0.002051f, -0.003725f, 0.011424f, -0.002526f, 0.010506f, 0.005446f, 0.009814f, 0.003019f, 0.002699f, -0.005581f, 0.006643f, 0.002568f, -0.000251f, 0.003512f, 0.003361f, -0.002329f, 0.004964f, 0.003490f, -0.002432f, -0.003034f, -0.008505f, -0.002198f, -0.004853f, -0.000602f, -0.000205f, -0.003316f, 0.004387f, -0.001941f, 0.002584f, 0.000483f, 0.008901f, -0.007472f, 0.003340f, 0.001046f, 0.000403f, -0.001120f, -0.032634f, 0.006535f, 0.008367f, -0.021919f, 0.010468f, 0.000238f, 0.023774f, -0.005784f, -0.011502f, 0.010284f, -0.028513f, -0.009555f, 0.024767f, 0.011082f, -0.014451f, -0.035310f, 0.016279f, -0.004580f, 0.009113f, -0.022389f, -0.029803f, -0.020098f, 0.026500f, 0.002528f, 0.014789f, -0.002122f, -0.013452f, -0.020137f, 0.010061f, -0.005086f, -0.017484f, -0.020497f, 0.001891f, -0.018255f, -0.013958f, -0.007436f, -0.003310f, -0.019811f, 0.011695f, 0.013892f, 0.018644f, -0.008351f, 0.016615f, -0.012691f, 0.026074f, -0.004394f, -0.000993f, 0.019964f, 0.010454f, -0.004464f, -0.012783f, - -0.006211f, 0.019285f, 0.004755f, -0.013665f, 0.007097f, 0.020464f, 0.019367f, 0.008547f, -0.022822f, -0.025237f, -0.001912f, 0.005368f, 0.001974f, -0.018056f, 0.005909f, 0.020751f, 0.006275f, -0.008285f, -0.032438f, 0.009167f, -0.013899f, -0.031615f, 0.001378f, 0.002108f, -0.017712f, 0.026418f, -0.001505f, -0.010301f, -0.035107f, 0.000184f, -0.010068f, -0.001243f, 0.013695f, -0.007538f, -0.013196f, -0.000502f, 0.003427f, 0.003626f, -0.010386f, -0.010494f, -0.010459f, 0.004414f, -0.008979f, 0.001007f, -0.001319f, 0.001948f, -0.002232f, 0.003044f, 0.005135f, 0.004664f, 0.005817f, 0.003126f, 0.010165f, 0.012890f, 0.001068f, 0.004097f, 0.002652f, -0.004425f, -0.000991f, -0.003525f, 0.001890f, 0.001802f, 0.001098f, -0.011666f, 0.001795f, -0.000589f, -0.004050f, -0.000137f, -0.003604f, 0.004092f, -0.004486f, -0.004646f, -0.003411f, -0.040533f, 0.025988f, 0.020116f, 0.022126f, 0.003434f, 0.023369f, 0.002680f, -0.014376f, -0.016720f, 0.002963f, 0.018797f, -0.012344f, 0.004638f, -0.027156f, 0.019247f, 0.020458f, -0.009749f, -0.005271f, 0.004983f, 0.022376f, 0.016363f, -0.010905f, -0.009784f, - 0.015452f, -0.017661f, 0.006689f, -0.024276f, 0.000437f, -0.006903f, -0.032543f, -0.033700f, 0.007105f, 0.020044f, 0.009619f, -0.028716f, -0.015183f, 0.022640f, -0.024145f, -0.009842f, 0.020295f, -0.004934f, 0.025247f, -0.008293f, -0.016715f, 0.006900f, -0.024547f, 0.029298f, -0.002514f, 0.005519f, -0.012967f, -0.006473f, -0.000603f, -0.026719f, -0.015981f, 0.002570f, -0.003816f, 0.003094f, -0.008184f, -0.028392f, 0.006024f, -0.023444f, 0.011256f, -0.005628f, 0.017832f, -0.028343f, 0.013565f, 0.005283f, -0.007527f, 0.021769f, -0.002047f, -0.014352f, -0.027556f, -0.003449f, 0.006874f, -0.022419f, 0.017498f, -0.015041f, 0.011596f, -0.029640f, -0.029973f, 0.014911f, 0.012310f, -0.011935f, -0.008965f, 0.010056f, 0.007330f, -0.006210f, -0.004775f, -0.007955f, -0.009949f, -0.000684f, -0.016409f, -0.001527f, -0.001791f, 0.001559f, 0.005419f, -0.002897f, 0.005477f, -0.003033f, -0.000380f, -0.008986f, -0.003900f, -0.002262f, -0.000515f, 0.013887f, -0.003362f, -0.001678f, 0.008572f, -0.008296f, 0.006596f, 0.003627f, -0.002615f, -0.001851f, -0.007886f, -0.007730f, 0.000343f, -0.004440f, 0.001910f, 0.000739f, - -0.003125f, -0.005456f, 0.013341f, -0.012983f, 0.004436f, 0.015877f, 0.023444f, -0.006196f, 0.002601f, -0.008322f, -0.031306f, -0.006687f, -0.006701f, 0.013602f, -0.027498f, -0.000081f, -0.015864f, 0.017066f, -0.019236f, -0.026232f, 0.017449f, 0.008011f, 0.011352f, 0.036128f, -0.005955f, -0.010361f, 0.010197f, -0.023142f, -0.026988f, 0.002223f, 0.034579f, 0.010516f, 0.019416f, -0.013796f, -0.016967f, -0.027492f, 0.005501f, 0.035104f, -0.015726f, 0.018348f, 0.004225f, 0.027295f, -0.041754f, -0.013279f, -0.000692f, 0.004904f, 0.023795f, 0.011472f, -0.031818f, -0.008623f, -0.014762f, -0.001266f, -0.036636f, -0.005766f, -0.013181f, 0.002528f, -0.019276f, -0.001286f, 0.004488f, -0.053504f, 0.006143f, -0.016780f, 0.003297f, -0.021182f, -0.001141f, 0.013151f, 0.006735f, -0.007209f, -0.006766f, -0.028221f, 0.028378f, 0.027245f, 0.009003f, 0.006787f, -0.024463f, 0.037363f, 0.013033f, 0.019256f, -0.007340f, -0.058842f, 0.022951f, -0.002027f, 0.044158f, 0.041449f, 0.013101f, -0.005338f, 0.018290f, 0.000955f, 0.016022f, 0.000849f, 0.001859f, -0.010424f, 0.005008f, -0.009524f, -0.005054f, -0.002666f, - 0.019272f, -0.000289f, 0.001192f, 0.004928f, -0.001190f, -0.010405f, -0.005313f, 0.001756f, 0.007836f, -0.003691f, 0.003919f, -0.006116f, 0.008155f, -0.006399f, -0.009777f, -0.005011f, -0.001383f, 0.004567f, 0.001812f, -0.002125f, -0.001672f, -0.002174f, 0.012734f, -0.002794f, 0.000767f, 0.002081f, 0.006369f, 0.050659f, 0.017862f, 0.034670f, -0.033646f, 0.007819f, 0.035352f, -0.010625f, -0.012741f, 0.004997f, -0.021862f, 0.016693f, 0.004230f, -0.025532f, -0.033432f, -0.002512f, 0.028356f, -0.000734f, -0.002285f, 0.018553f, -0.027703f, -0.007058f, -0.022805f, 0.012809f, -0.038863f, 0.000641f, -0.008309f, 0.014134f, -0.040590f, -0.028043f, -0.017737f, 0.011896f, 0.013062f, 0.009041f, -0.013168f, 0.009863f, -0.009797f, 0.012033f, -0.008037f, -0.003556f, -0.002796f, -0.011399f, 0.007721f, 0.017962f, 0.010693f, 0.018083f, -0.001491f, -0.017543f, 0.002498f, -0.017468f, 0.046531f, -0.011762f, -0.045776f, -0.014262f, 0.012509f, 0.039757f, -0.039797f, -0.016409f, -0.002596f, 0.025564f, 0.001634f, -0.056318f, -0.006918f, 0.025989f, 0.053673f, 0.001987f, 0.037365f, 0.053837f, -0.004010f, 0.017330f, - 0.025434f, -0.007042f, 0.045877f, -0.006167f, 0.055402f, 0.008823f, -0.015228f, -0.048052f, -0.030105f, 0.000357f, 0.014447f, 0.006903f, -0.007320f, -0.009339f, -0.014937f, -0.020381f, -0.018118f, 0.022040f, 0.006440f, -0.000269f, -0.031601f, -0.003570f, 0.001155f, -0.005768f, -0.017976f, 0.004689f, 0.009503f, -0.002722f, -0.009321f, -0.006795f, -0.017613f, -0.010631f, -0.005187f, 0.011089f, -0.002185f, -0.009585f, 0.009594f, -0.013770f, 0.009888f, 0.009994f, -0.008640f, -0.016689f, 0.015239f, 0.022658f, 0.003457f, 0.000695f, 0.001366f, 0.013203f, -0.003951f, -0.015783f, 0.001849f, 0.015304f, 0.012665f, -0.015670f, -0.013318f, 0.002445f, 0.002501f, 0.000228f, 0.004521f, -0.002447f, 0.021233f, 0.025718f, -0.044317f, -0.043115f, 0.011340f, -0.010113f, 0.001301f, -0.017201f, 0.040116f, -0.018114f, -0.011597f, 0.013893f, 0.010006f, 0.000319f, -0.018426f, -0.013514f, -0.022410f, 0.008942f, -0.001350f, -0.010878f, -0.001839f, 0.026647f, 0.040062f, -0.043453f, -0.002826f, -0.042390f, -0.004565f, -0.011006f, 0.041899f, -0.017782f, -0.016989f, -0.008217f, 0.025477f, 0.008415f, 0.006988f, 0.010642f, - 0.010159f, -0.007643f, 0.000444f, -0.005556f, 0.006759f, -0.005071f, 0.039217f, -0.010292f, 0.010366f, 0.027597f, -0.014463f, -0.031799f, 0.007003f, 0.010760f, -0.011226f, -0.012229f, -0.002714f, 0.006473f, 0.019863f, -0.027243f, 0.036380f, 0.053538f, 0.035944f, -0.015095f, -0.021746f, -0.049673f, -0.064094f, -0.023611f, -0.000306f, -0.011637f, -0.003308f, -0.007344f, 0.015247f, -0.001381f, -0.024796f, 0.012935f, -0.011017f, -0.002410f, 0.023434f, 0.039141f, -0.009662f, 0.010961f, -0.006962f, 0.002093f, 0.035619f, 0.017972f, 0.030453f, 0.031014f, -0.024896f, -0.007694f, -0.005756f, 0.000827f, -0.000637f, 0.011003f, 0.000695f, 0.006724f, 0.031225f, 0.001248f, 0.014553f, -0.006688f, -0.006937f, -0.012874f, -0.004003f, 0.001767f, 0.014186f, -0.004013f, -0.011930f, -0.005635f, 0.006795f, -0.004983f, -0.002726f, -0.003731f, 0.004268f, 0.001074f, -0.004670f, -0.002541f, 0.003135f, 0.001529f, 0.001573f, 0.017993f, -0.007454f, 0.000391f, 0.002279f, 0.000205f, -0.010021f, 0.004498f, 0.005559f, 0.011468f, -0.022999f, 0.042919f, 0.019206f, 0.024339f, 0.036630f, 0.056689f, -0.022029f, 0.029246f, - -0.058733f, -0.007392f, -0.026443f, -0.057725f, 0.023117f, 0.013445f, 0.017353f, 0.007512f, 0.022640f, 0.006777f, -0.041584f, 0.034690f, 0.061443f, -0.009406f, -0.010081f, 0.014901f, 0.005953f, -0.013059f, -0.055097f, 0.004311f, 0.000026f, -0.005186f, 0.000574f, 0.018496f, -0.039436f, 0.008308f, 0.010986f, -0.008272f, -0.022817f, -0.011239f, -0.025410f, 0.025511f, -0.056552f, -0.008375f, -0.036432f, 0.019943f, 0.007989f, 0.020226f, -0.007340f, 0.005360f, -0.014580f, 0.034306f, 0.010230f, 0.028125f, -0.025933f, 0.027641f, -0.000789f, -0.027472f, 0.056162f, -0.009543f, 0.006742f, 0.037826f, -0.036702f, 0.042423f, 0.025328f, -0.033628f, 0.013949f, -0.012988f, 0.018588f, -0.046507f, 0.033692f, 0.004583f, 0.011746f, -0.004560f, 0.010816f, -0.037811f, 0.023797f, 0.042475f, -0.084957f, 0.008451f, 0.081674f, -0.053061f, -0.017097f, 0.005558f, 0.039746f, 0.028062f, 0.009707f, 0.024490f, -0.011282f, 0.014679f, -0.006330f, -0.018319f, 0.008832f, -0.004272f, -0.003161f, 0.015160f, 0.022207f, -0.002141f, -0.008791f, -0.007674f, 0.006498f, 0.014010f, -0.018997f, -0.007311f, -0.013029f, -0.008276f, - -0.016990f, 0.016664f, 0.022226f, -0.004942f, 0.010188f, -0.006587f, 0.004092f, 0.013969f, 0.015959f, -0.018704f, 0.001502f, 0.006599f, -0.009757f, 0.014441f, 0.000701f, -0.000535f, 0.013251f, 0.006556f, -0.016032f, -0.013624f, 0.004515f, 0.001887f, -0.004853f, 0.002477f, 0.034359f, -0.020783f, -0.025022f, -0.000790f, -0.023954f, -0.010893f, -0.063311f, -0.054052f, -0.007455f, -0.031011f, -0.037212f, -0.026852f, 0.016533f, -0.009565f, -0.018838f, -0.030266f, 0.027953f, 0.001871f, -0.045708f, -0.007218f, -0.000256f, -0.021765f, -0.006841f, 0.018545f, 0.013342f, -0.003227f, 0.000174f, 0.000855f, -0.011467f, 0.009739f, 0.021351f, -0.008019f, -0.005084f, 0.032750f, -0.061549f, -0.010049f, 0.017339f, 0.065620f, -0.027168f, -0.017054f, -0.024475f, -0.033338f, 0.014545f, 0.069628f, 0.012954f, 0.043117f, 0.008929f, -0.007120f, -0.003621f, -0.005192f, -0.033590f, 0.007328f, 0.007629f, -0.027405f, 0.006088f, 0.054362f, -0.008800f, -0.016828f, 0.009152f, -0.019587f, -0.004453f, 0.047941f, 0.070984f, 0.019094f, 0.042628f, 0.049175f, -0.017438f, -0.020621f, 0.005646f, -0.016330f, 0.002836f, -0.048766f, - -0.000397f, -0.038019f, 0.011580f, 0.007847f, 0.023163f, -0.039584f, -0.014724f, -0.013558f, -0.015438f, -0.012457f, -0.013811f, 0.021914f, 0.004786f, 0.028267f, -0.007157f, 0.010715f, 0.028399f, -0.005309f, 0.001051f, -0.004218f, -0.011209f, -0.009163f, -0.001492f, -0.006955f, -0.010297f, -0.000297f, 0.004346f, -0.005480f, 0.001967f, 0.013115f, -0.013225f, -0.012222f, 0.000972f, 0.009791f, 0.005216f, -0.006526f, -0.019617f, -0.019297f, -0.002279f, 0.004341f, -0.011606f, -0.006667f, 0.004204f, -0.004129f, 0.002143f, 0.001232f, 0.013544f, 0.004348f, 0.003509f, -0.014927f, 0.016419f, -0.007051f, -0.015836f, 0.049802f, 0.056337f, -0.023428f, 0.128203f, -0.018291f, 0.002371f, -0.024424f, 0.014588f, -0.010677f, 0.014392f, 0.032476f, 0.008802f, -0.031450f, -0.017324f, -0.032836f, -0.001103f, -0.022490f, -0.040495f, 0.004752f, 0.025345f, -0.004987f, 0.006978f, 0.011690f, 0.014634f, -0.000842f, -0.012077f, -0.015659f, 0.007094f, -0.000708f, -0.020460f, 0.007204f, 0.054811f, 0.038519f, 0.021695f, -0.047563f, 0.033166f, 0.025744f, -0.012928f, -0.014941f, -0.014911f, -0.019396f, -0.008629f, 0.014603f, - -0.034535f, 0.002636f, 0.003693f, 0.019784f, 0.052238f, 0.009578f, 0.010400f, 0.002256f, -0.006856f, -0.011297f, 0.022352f, -0.014495f, 0.052762f, 0.016529f, -0.005689f, 0.022728f, 0.003903f, -0.036541f, -0.026374f, 0.029682f, 0.034404f, 0.012365f, -0.009269f, 0.022614f, 0.024464f, 0.034988f, 0.069052f, 0.006853f, -0.020527f, -0.036385f, -0.024419f, 0.017467f, 0.003412f, 0.005247f, -0.003828f, 0.023867f, 0.002083f, -0.003579f, -0.032988f, -0.016606f, 0.033311f, 0.037337f, -0.014029f, -0.026374f, -0.031289f, -0.009516f, 0.016017f, 0.009806f, 0.002543f, -0.011006f, 0.002183f, -0.000596f, -0.014123f, -0.000454f, -0.030594f, -0.008407f, -0.001634f, 0.021033f, -0.004372f, -0.007111f, -0.000314f, 0.016956f, -0.010967f, 0.011994f, -0.006992f, -0.014699f, 0.011780f, 0.016757f, 0.010691f, 0.011693f, -0.002026f, 0.012561f, 0.024422f, 0.010303f, 0.010180f, 0.006579f, -0.009615f, -0.004697f, 0.000258f, -0.002758f, 0.007048f, -0.007547f, 0.011783f, 0.015219f, 0.008901f, 0.000620f, -0.012385f, 0.004191f, 0.003955f, 0.012252f, 0.020061f, -0.020820f, 0.091258f, -0.014501f, 0.003067f, 0.009410f, - -0.007801f, -0.002071f, 0.022241f, -0.017907f, -0.021110f, -0.011401f, 0.028938f, 0.025853f, -0.072042f, 0.012979f, 0.011331f, 0.028379f, -0.019055f, -0.028827f, -0.027608f, 0.019643f, 0.017585f, -0.029422f, -0.016525f, -0.012493f, 0.047079f, 0.023410f, 0.012639f, -0.009979f, -0.050449f, 0.013384f, 0.011675f, 0.024916f, -0.006965f, 0.012937f, -0.014582f, 0.004185f, -0.043929f, 0.017260f, 0.016823f, -0.000005f, -0.011501f, -0.027672f, -0.054433f, 0.034152f, -0.023397f, 0.017265f, 0.017539f, 0.030115f, 0.003482f, -0.033276f, 0.053582f, 0.010060f, -0.053964f, -0.025249f, 0.031019f, 0.006991f, 0.040856f, 0.017046f, 0.006078f, -0.038457f, -0.019516f, 0.020594f, -0.066696f, 0.070422f, -0.051478f, 0.002325f, 0.041801f, -0.011986f, 0.083643f, 0.012123f, 0.014524f, -0.031111f, 0.097569f, 0.009738f, 0.063206f, -0.043953f, -0.020220f, -0.014173f, 0.024196f, -0.003143f, -0.010740f, 0.044142f, -0.037638f, 0.042566f, -0.051844f, 0.010561f, 0.004476f, 0.008894f, -0.010615f, 0.037500f, -0.005271f, 0.018922f, 0.016329f, 0.024789f, 0.013609f, 0.007013f, 0.016925f, 0.019295f, -0.000015f, 0.006878f, - 0.001475f, -0.013621f, 0.016144f, 0.000199f, 0.010875f, 0.023477f, 0.011211f, 0.001229f, -0.001931f, 0.017926f, 0.018849f, 0.009526f, -0.011891f, 0.039590f, -0.002556f, -0.008230f, -0.008534f, 0.025335f, -0.020208f, 0.008648f, -0.005087f, 0.013520f, 0.000055f, 0.005482f, 0.006729f, -0.005679f, -0.005207f, 0.003686f, 0.006786f, 0.006404f, 0.007125f, 0.010066f, -0.010618f, 0.033099f, 0.076739f, 0.025994f, 0.048500f, 0.061553f, -0.001781f, 0.070464f, -0.052876f, -0.018482f, -0.019383f, -0.017013f, 0.008301f, 0.012124f, -0.003757f, -0.022991f, -0.045342f, 0.045047f, 0.042685f, 0.018470f, 0.038640f, -0.061199f, -0.052754f, 0.018787f, 0.026461f, -0.027918f, -0.039339f, 0.026387f, -0.011823f, -0.057017f, -0.020361f, -0.010305f, 0.029404f, -0.052379f, 0.030223f, 0.020615f, 0.024128f, -0.024152f, -0.000623f, -0.023888f, -0.009918f, -0.070021f, -0.016356f, 0.034913f, -0.111135f, -0.034850f, -0.003413f, -0.001874f, 0.004762f, -0.066758f, -0.015877f, -0.100865f, -0.007560f, 0.020667f, -0.027993f, -0.031150f, -0.012225f, 0.031126f, -0.009397f, -0.036004f, -0.040803f, -0.105310f, -0.036827f, 0.050135f, - -0.045928f, -0.070708f, 0.060618f, -0.018186f, -0.079177f, 0.024780f, 0.073335f, -0.038166f, -0.016584f, 0.009285f, -0.051575f, 0.065717f, 0.029913f, 0.042245f, -0.020859f, -0.004128f, 0.022433f, 0.062586f, 0.029929f, 0.010269f, -0.018890f, -0.003869f, 0.071473f, 0.007316f, 0.011991f, -0.004730f, -0.040523f, -0.018008f, 0.034115f, -0.000303f, 0.003110f, -0.006312f, -0.036071f, -0.002405f, 0.017088f, -0.022612f, 0.028352f, -0.035098f, -0.021725f, 0.007691f, -0.011403f, 0.018820f, 0.008543f, -0.031932f, 0.014340f, 0.016586f, 0.009812f, 0.006517f, -0.012020f, 0.008080f, 0.000779f, -0.007555f, -0.021800f, 0.011727f, 0.010433f, -0.002346f, 0.018415f, -0.025104f, 0.003999f, -0.024033f, 0.001801f, 0.006744f, -0.007462f, -0.003935f, -0.000062f, 0.009881f, 0.002571f, -0.007010f, 0.001564f, 0.087237f, 0.120792f, -0.019454f, -0.004233f, -0.047999f, -0.048262f, -0.082886f, 0.034472f, -0.014502f, 0.120678f, -0.026096f, -0.052869f, -0.073478f, 0.003757f, 0.022153f, -0.027439f, 0.022319f, 0.078747f, -0.031965f, -0.014597f, -0.055908f, -0.025650f, 0.052995f, 0.061322f, -0.062855f, -0.018122f, 0.031246f, - -0.013925f, 0.013455f, -0.019073f, 0.077153f, 0.061896f, 0.131975f, 0.042754f, 0.057988f, -0.026580f, 0.041383f, 0.089221f, 0.028410f, -0.006185f, 0.020216f, -0.003478f, 0.057754f, 0.030136f, 0.084542f, 0.023589f, -0.086721f, 0.029783f, 0.032485f, 0.070428f, -0.040377f, -0.034154f, 0.040323f, 0.044114f, -0.021933f, 0.070830f, -0.025634f, 0.028827f, -0.078993f, 0.049180f, -0.019063f, 0.026817f, 0.027174f, 0.062100f, 0.053413f, -0.043368f, -0.045611f, -0.014765f, 0.064786f, 0.065887f, -0.025633f, -0.037032f, -0.071186f, -0.008305f, 0.049006f, 0.056054f, 0.036858f, -0.016722f, -0.047310f, -0.044379f, -0.008195f, 0.030431f, -0.031096f, 0.042534f, 0.010028f, 0.029645f, 0.004794f, -0.015454f, 0.033396f, 0.021200f, -0.005572f, -0.014609f, 0.010166f, 0.028608f, -0.042162f, 0.016625f, 0.020459f, 0.027899f, 0.014973f, 0.039528f, -0.013500f, 0.013838f, -0.018981f, -0.027375f, 0.015380f, 0.033293f, 0.029040f, 0.044756f, -0.000782f, -0.000720f, 0.013167f, 0.011806f, 0.079813f, 0.015245f, -0.003682f, -0.035144f, -0.000086f, 0.051114f, 0.025789f, 0.039468f, 0.022816f, -0.001245f, 0.000486f, - -0.008994f, -0.000542f, 0.049191f, 0.040716f, 0.004174f, 0.015121f, -0.005101f, -0.008272f, 0.001690f, 0.020674f, 0.015685f, 0.013697f, -0.010760f, -0.010520f, 0.011843f, -0.030758f, -0.099449f, 0.005885f, 0.149768f, 0.089098f, -0.022122f, -0.222025f, -0.032705f, -0.023425f, 0.016175f, -0.026122f, 0.003054f, 0.022100f, -0.009597f, 0.009014f, -0.049261f, 0.029789f, 0.035765f, 0.067410f, -0.050604f, -0.063301f, 0.063345f, 0.101388f, 0.024535f, -0.046310f, -0.061810f, -0.013852f, 0.013929f, 0.004903f, 0.014861f, -0.000418f, 0.021176f, 0.008283f, 0.065408f, -0.022089f, -0.093076f, -0.040479f, 0.028083f, 0.010072f, -0.033142f, -0.040834f, 0.003885f, 0.042568f, 0.075322f, 0.069819f, -0.003015f, 0.000546f, 0.027380f, -0.027862f, -0.080688f, 0.023456f, -0.050942f, 0.094450f, 0.102619f, -0.002665f, 0.027816f, 0.014372f, 0.019148f, -0.046591f, -0.008289f, 0.098591f, -0.039007f, 0.000443f, -0.136320f, -0.018338f, 0.013515f, 0.030714f, 0.027578f, 0.027467f, -0.035087f, -0.021341f, 0.059168f, 0.088862f, -0.017551f, -0.004198f, 0.006841f, 0.035607f, 0.041696f, -0.020538f, 0.012777f, -0.048836f, - -0.059236f, 0.005625f, 0.013804f, 0.021010f, -0.008958f, -0.009174f, -0.012847f, -0.012516f, 0.037153f, -0.000382f, -0.009395f, -0.020742f, -0.003725f, 0.024102f, 0.019824f, -0.011821f, 0.027856f, 0.006823f, 0.043472f, 0.003740f, 0.005838f, 0.001507f, -0.018333f, -0.013669f, -0.010362f, -0.010598f, -0.005487f, -0.013698f, -0.012037f, 0.003594f, 0.035504f, 0.043102f, 0.010235f, 0.022476f, 0.005818f, 0.007982f, 0.034489f, -0.026609f, 0.025486f, 0.010385f, 0.043468f, -0.012151f, 0.009232f, 0.008793f, -0.021708f, 0.014967f, -0.011932f, 0.015303f, -0.008305f, 0.025912f, -0.012157f, -0.015523f, 0.009434f, 0.005990f, 0.002867f, 0.010539f, 0.002960f, 0.018624f, -0.000018f, 0.007294f, -0.000323f, 0.006918f, 0.002585f, 0.006022f, 0.007964f, 0.009150f, -0.002685f, 0.002191f, -0.001499f, 0.012046f, 0.004209f, 0.009142f, -0.001968f, 0.002512f, 0.001539f, 0.006830f, 0.000283f, 0.007660f, -0.003000f, 0.010431f, -0.011490f, -0.099299f, -0.041082f, 0.079501f, 0.087600f, 0.083215f, 0.112794f, 0.019432f, -0.048523f, -0.148736f, -0.112934f, -0.021216f, 0.031547f, 0.094365f, 0.102613f, 0.048581f, - 0.002307f, -0.049888f, -0.043218f, -0.019127f, 0.032053f, 0.088095f, 0.050028f, -0.011541f, 0.003225f, -0.007112f, -0.048322f, -0.066081f, -0.054126f, 0.010224f, 0.081079f, 0.060962f, 0.121912f, 0.079348f, 0.078512f, 0.110531f, -0.032166f, -0.076249f, -0.086822f, -0.115240f, -0.142000f, -0.053531f, -0.016749f, 0.042248f, 0.078190f, 0.112985f, 0.105522f, 0.085814f, 0.054252f, 0.108542f, -0.021225f, -0.068518f, -0.003228f, -0.017406f, 0.028694f, 0.032887f, 0.129486f, 0.113142f, -0.042068f, 0.020348f, -0.029472f, -0.086524f, -0.025571f, 0.023058f, -0.052148f, 0.080552f, -0.032257f, 0.026824f, 0.006828f, -0.009112f, 0.069604f, 0.096820f, 0.077117f, 0.054362f, -0.040240f, -0.097765f, -0.111397f, 0.031872f, -0.046999f, 0.008663f, -0.005420f, 0.062949f, 0.009757f, 0.035675f, -0.030112f, -0.068458f, -0.063708f, -0.099773f, -0.086943f, 0.037025f, 0.020679f, 0.050454f, 0.075629f, 0.059088f, 0.002152f, -0.044445f, -0.072031f, -0.097378f, -0.053503f, -0.024740f, -0.036044f, 0.016292f, -0.013199f, -0.011123f, -0.011726f, -0.029413f, 0.000099f, -0.012933f, -0.019873f, -0.023284f, -0.015174f, -0.002900f, - 0.015371f, -0.028186f, -0.018035f, 0.005809f, 0.017099f, -0.007213f, 0.041456f, 0.004061f, -0.222613f, -0.234304f, -0.243701f, -0.249801f, -0.330039f, -0.035912f, -0.093419f, -0.022685f, 0.030745f, 0.150215f, 0.170754f, 0.176532f, 0.247170f, 0.341686f, 0.327426f, 0.321755f, 0.258530f, 0.186682f, 0.135671f, 0.040712f, -0.156013f, -0.074929f, -0.092197f, -0.057152f, -0.187351f, -0.031171f, -0.077574f, -0.085486f, -0.155032f, -0.119204f, -0.121215f, -0.109871f, -0.114706f, -0.201611f, -0.178477f, -0.105397f, -0.095237f, -0.119703f, -0.165725f, -0.025282f, -0.145121f, -0.275125f, -0.235672f, -0.207001f, -0.109083f, -0.140662f, -0.025121f, -0.284771f, -0.126067f, -0.126198f, -0.058281f, -0.042599f, -0.146595f, 0.006391f, -0.146872f, -0.017844f, 0.022872f, 0.068715f, 0.006157f, 0.070623f, 0.105597f, 0.165928f, 0.176989f, 0.243385f, 0.159101f, 0.381991f, 0.241454f, 0.444647f, 0.302377f, 0.442967f, 0.513946f, 0.610155f, 0.501284f, 0.504558f, 0.568799f, 0.510247f, 0.518330f, 0.504330f, 0.437396f, 0.252938f, 0.202226f, 0.142568f, 0.104067f, 0.121669f, 0.181762f, 0.100055f, -0.036919f, -0.063416f, - -0.073012f, -0.125556f, -0.162742f, -0.198571f, -0.182736f, -0.300457f, -0.290912f, -0.299795f, -0.362962f, -0.319806f, -0.403180f, -0.357178f, -0.418913f, -0.430402f, -0.405307f, -0.447397f, -0.404437f, -0.451776f, -0.358474f, -0.351419f, -0.291140f, -0.310909f, -0.320294f, -0.225381f, -0.201668f, -0.154310f, -0.078552f, 0.026113f, 0.085682f, 0.074928f, 0.095917f, 0.085681f, 0.096952f, 0.111262f, 0.159220f, 0.191218f, 0.172971f, 0.155463f, 0.190260f, 0.176921f, 0.218860f, 0.199134f, 0.145616f, 0.132449f, 0.115260f, 0.101440f, 0.063899f, 0.048413f, 0.045145f, 0.028290f, 0.031174f, 0.012261f, 0.020231f, 0.017640f, 0.012149f, 0.017714f, 0.012940f, 0.007630f, 0.002774f, -0.007087f, -0.001097f, -0.000277f, -0.019011f, -0.030373f, -0.017434f, -0.015340f, -0.020018f, -0.019668f, -0.012248f, -0.014637f, -0.020973f, -0.028083f, -0.021578f, -0.014168f, -0.011636f, -0.007535f, -0.009120f, -0.006905f, -0.001211f, 0.005776f, 0.010108f, 0.009258f, 0.005049f, 0.004274f, 0.010613f, 0.015988f, 0.011357f, 0.011055f, 0.005321f, 0.002460f, 0.006780f, 0.005695f, 0.005799f, 0.004498f, 0.004669f, 0.001869f, - -0.003478f, 0.004846f, 0.011937f, 0.011529f, 0.013867f, 0.014980f, 0.021724f, 0.025490f, 0.025862f, 0.027655f, 0.029314f, 0.031971f, 0.034663f, 0.034782f, 0.032600f, 0.031398f, 0.034564f, 0.028039f, 0.024297f, 0.021475f, 0.018463f, 0.012404f, 0.009994f, 0.004077f, 0.002847f, -0.000548f, -0.006503f, -0.012283f, -0.017819f, -0.019363f, -0.024522f, -0.025304f, -0.024752f, -0.024908f, -0.027598f, -0.029076f, -0.026939f, -0.026210f, -0.023851f, -0.021937f, -0.020191f, -0.017986f, -0.013968f, -0.010167f, -0.007678f, -0.006133f, -0.004333f, -0.003317f, -0.002417f, -0.002098f, -0.001614f, -0.001513f, -0.001384f, -0.001258f}, - {0.031697f, 0.004158f, -0.010457f, 0.004906f, 0.005569f, 0.001907f, -0.013233f, 0.005995f, 0.009326f, -0.010115f, -0.003060f, -0.012386f, -0.002754f, -0.005279f, -0.004567f, -0.001808f, 0.000645f, -0.000457f, 0.001217f, 0.004416f, -0.005545f, 0.002435f, -0.012699f, 0.004331f, 0.007739f, 0.001629f, -0.003370f, -0.010289f, 0.006666f, -0.004535f, 0.010808f, 0.009231f, -0.000442f, -0.004333f, 0.008802f, 0.010288f, 0.008251f, 0.008363f, 0.002040f, -0.006458f, 0.001971f, 0.007910f, -0.003376f, -0.006746f, 0.005991f, 0.009542f, -0.004250f, 0.004971f, -0.010937f, -0.000924f, -0.009600f, 0.006492f, -0.012763f, -0.003460f, -0.002421f, 0.004327f, 0.006285f, 0.004465f, -0.000417f, -0.006765f, 0.000770f, -0.009349f, -0.006210f, 0.001681f, -0.001211f, -0.005647f, 0.003015f, 0.003133f, 0.000745f, 0.005859f, -0.005297f, 0.002508f, -0.007135f, -0.002833f, -0.003070f, 0.003874f, -0.003729f, -0.007515f, -0.003418f, -0.002816f, 0.010245f, 0.008836f, 0.002187f, -0.004729f, 0.000550f, -0.000573f, 0.001739f, 0.003534f, 0.000592f, 0.000176f, 0.000564f, -0.000170f, 0.000087f, -0.001349f, 0.000965f, -0.003970f, - 0.000121f, -0.000325f, 0.001560f, 0.000827f, -0.001284f, -0.001750f, 0.000292f, 0.000689f, 0.000684f, -0.000335f, 0.000036f, -0.000798f, 0.018146f, -0.018196f, 0.000738f, 0.000368f, -0.004572f, -0.005430f, -0.005784f, 0.001934f, -0.010233f, -0.010097f, 0.001482f, 0.004971f, -0.000328f, 0.005882f, 0.004599f, -0.005532f, 0.002348f, -0.019965f, -0.004845f, -0.004428f, -0.004605f, -0.006264f, -0.006905f, -0.017591f, -0.013648f, 0.001925f, 0.004182f, -0.000903f, 0.009602f, 0.007680f, 0.003268f, -0.003353f, -0.001847f, 0.008989f, -0.003397f, 0.001154f, -0.001245f, -0.009349f, 0.003203f, -0.003099f, -0.006340f, -0.002428f, 0.007743f, 0.018605f, -0.007015f, 0.002119f, 0.004581f, -0.003386f, 0.005907f, 0.002659f, -0.006421f, 0.003828f, -0.015272f, -0.007054f, 0.000239f, 0.006320f, 0.009810f, -0.005925f, -0.002703f, -0.000621f, -0.022160f, 0.003844f, 0.011562f, 0.000666f, 0.001739f, 0.006334f, -0.003546f, 0.009861f, 0.013307f, -0.001630f, 0.003833f, 0.008000f, 0.007625f, 0.001546f, 0.000486f, -0.003647f, -0.005237f, -0.003274f, 0.002418f, -0.005011f, 0.011128f, 0.007471f, -0.000173f, -0.005360f, - -0.002693f, 0.006410f, 0.007563f, -0.003707f, 0.005886f, -0.003498f, 0.001656f, -0.003567f, -0.002110f, -0.002433f, 0.000774f, 0.000207f, 0.000506f, 0.000535f, -0.000336f, -0.001162f, -0.000862f, -0.004776f, -0.015610f, 0.003633f, 0.000586f, -0.015100f, 0.002329f, 0.008482f, 0.012480f, 0.003214f, -0.008950f, 0.021137f, -0.002819f, -0.004150f, 0.009948f, -0.006127f, -0.005960f, 0.001028f, -0.007696f, 0.009426f, 0.009431f, -0.003798f, -0.014193f, -0.007014f, 0.007093f, -0.009142f, 0.020118f, 0.017352f, -0.013842f, -0.016955f, 0.000630f, 0.003181f, -0.016120f, -0.001049f, 0.006694f, 0.004534f, -0.007879f, -0.004591f, 0.018553f, -0.001961f, 0.012779f, -0.001260f, -0.004116f, -0.004303f, -0.009515f, 0.001666f, -0.001328f, 0.010001f, -0.008504f, 0.002317f, -0.002207f, 0.001861f, -0.004995f, -0.000657f, 0.008466f, 0.006705f, -0.010529f, 0.016456f, 0.001393f, -0.000074f, -0.000227f, -0.001506f, 0.004500f, -0.002268f, -0.014693f, -0.002091f, -0.007740f, 0.012831f, 0.005415f, 0.000334f, 0.015802f, -0.008721f, 0.010585f, 0.010367f, 0.000996f, -0.007672f, -0.001524f, -0.001635f, -0.000122f, -0.002185f, - -0.003133f, 0.004356f, 0.004667f, -0.006969f, 0.003390f, -0.000415f, 0.004938f, 0.004313f, -0.001375f, 0.000671f, -0.002108f, -0.003278f, 0.002389f, -0.003018f, -0.002487f, 0.001286f, 0.003362f, -0.003048f, -0.002210f, -0.003965f, -0.001640f, 0.002374f, -0.001450f, -0.000584f, 0.000110f, 0.001201f, -0.002130f, -0.001255f, 0.003115f, 0.001005f, -0.000582f, -0.000969f, -0.003365f, -0.000146f, 0.001798f, 0.001030f, -0.037529f, 0.008769f, 0.002143f, 0.026956f, -0.001327f, 0.010907f, -0.014309f, 0.003232f, -0.010692f, -0.002464f, -0.005177f, -0.001580f, 0.005052f, -0.002776f, 0.004726f, 0.009170f, 0.007030f, 0.025600f, 0.017704f, -0.011438f, 0.005964f, -0.000493f, 0.004825f, 0.003133f, -0.003128f, -0.025182f, 0.006533f, -0.001165f, -0.000123f, 0.009735f, -0.001384f, -0.006932f, -0.004786f, -0.001067f, -0.007737f, -0.004096f, -0.020102f, -0.004616f, 0.000657f, -0.007015f, -0.001145f, 0.008513f, 0.012123f, -0.003751f, 0.014951f, -0.010962f, 0.002565f, 0.005195f, 0.002067f, -0.003311f, -0.007680f, 0.005651f, -0.001837f, 0.003531f, -0.005674f, -0.008122f, 0.001665f, 0.004935f, -0.008205f, 0.008077f, - -0.005566f, 0.019054f, 0.020205f, -0.005973f, 0.007458f, 0.007841f, -0.000913f, -0.002473f, -0.002566f, -0.024396f, 0.010381f, 0.010100f, 0.000433f, -0.003996f, -0.010114f, 0.001209f, -0.002876f, -0.012366f, -0.027866f, 0.001971f, -0.006808f, 0.007316f, 0.000132f, 0.000020f, -0.004543f, -0.003032f, -0.005136f, -0.000390f, 0.003007f, -0.003520f, 0.004402f, -0.004365f, -0.002469f, -0.001765f, -0.000980f, 0.002424f, 0.002043f, -0.001382f, 0.001021f, 0.000765f, 0.001679f, 0.002633f, 0.002075f, -0.001176f, -0.002824f, 0.002242f, -0.001107f, -0.002081f, 0.000963f, 0.000859f, -0.001159f, 0.001696f, 0.002686f, 0.001002f, -0.000193f, -0.008127f, -0.012371f, 0.012216f, 0.006935f, -0.001138f, 0.014135f, -0.007682f, 0.012675f, -0.014414f, -0.013832f, 0.006636f, -0.022036f, -0.007855f, 0.005485f, 0.013309f, 0.017429f, -0.003124f, 0.012996f, -0.000527f, 0.012376f, 0.004522f, 0.001966f, -0.002120f, 0.000627f, 0.012329f, -0.005966f, -0.001382f, 0.002206f, 0.000999f, -0.012274f, -0.001600f, -0.006681f, 0.025195f, -0.012130f, -0.012325f, -0.003021f, 0.011832f, 0.011942f, 0.010212f, 0.013727f, -0.002467f, - 0.002486f, -0.003139f, -0.006878f, 0.005129f, -0.000658f, -0.001388f, -0.007858f, 0.019738f, 0.012185f, -0.006213f, 0.003739f, 0.005772f, -0.010493f, 0.002133f, 0.007669f, -0.002039f, 0.014835f, -0.006094f, -0.001963f, -0.016254f, -0.006130f, -0.013834f, 0.000584f, 0.018866f, -0.007490f, 0.005261f, 0.003220f, 0.000562f, -0.005200f, -0.001850f, 0.000144f, -0.004729f, 0.009079f, -0.009450f, -0.004434f, -0.000928f, 0.019967f, 0.003069f, -0.000139f, 0.006215f, -0.005461f, -0.015096f, 0.003702f, 0.001411f, -0.002404f, 0.000987f, 0.003670f, -0.001093f, 0.000745f, 0.007188f, 0.001369f, -0.000689f, 0.001724f, 0.000003f, -0.000985f, -0.001846f, 0.006761f, -0.000437f, 0.000563f, -0.006295f, 0.003751f, 0.000850f, 0.003736f, -0.001025f, -0.002545f, -0.000871f, 0.001900f, 0.002954f, 0.001987f, -0.005154f, 0.000253f, 0.003461f, -0.001100f, -0.006474f, -0.004282f, -0.035659f, 0.025592f, 0.002553f, -0.013216f, -0.031514f, -0.003277f, 0.000636f, -0.018704f, -0.001836f, 0.008486f, 0.007199f, 0.000527f, -0.005527f, 0.006688f, 0.022246f, 0.022584f, -0.009907f, -0.010838f, -0.024822f, 0.004778f, -0.004613f, - 0.023801f, -0.009930f, -0.000679f, -0.005791f, 0.008867f, -0.002859f, -0.024698f, 0.007890f, -0.001299f, -0.014724f, -0.000132f, 0.002123f, -0.002139f, -0.002655f, -0.010236f, -0.014227f, 0.008397f, 0.001936f, 0.011027f, -0.009888f, 0.018658f, 0.008744f, -0.004026f, -0.016838f, -0.003449f, 0.005840f, 0.018246f, 0.005521f, -0.010540f, -0.004925f, 0.008404f, 0.005333f, -0.005481f, -0.002792f, 0.008868f, 0.007191f, 0.009369f, 0.018033f, 0.020197f, 0.009750f, 0.010689f, 0.012313f, -0.007460f, 0.001625f, -0.013598f, 0.013271f, 0.001985f, 0.006611f, -0.009753f, -0.015144f, 0.003281f, -0.019308f, -0.007025f, -0.008531f, 0.013897f, 0.014513f, 0.015262f, 0.003849f, -0.004500f, -0.005078f, 0.014249f, 0.002725f, -0.002147f, 0.003420f, -0.004666f, 0.008983f, 0.000343f, -0.000344f, 0.002886f, 0.003564f, -0.001563f, 0.007320f, -0.000137f, 0.001062f, -0.003747f, -0.002390f, 0.001943f, 0.005660f, -0.000492f, 0.001911f, 0.003271f, 0.001738f, 0.001003f, -0.001996f, 0.002681f, -0.002579f, -0.003739f, 0.002961f, -0.012742f, -0.000732f, 0.023917f, 0.014713f, 0.020226f, 0.003868f, -0.022069f, -0.007262f, - 0.023488f, -0.006744f, -0.014830f, -0.015462f, -0.015214f, -0.016109f, 0.008903f, 0.009032f, 0.005820f, 0.005318f, 0.005508f, 0.022587f, -0.002754f, 0.009812f, -0.019348f, -0.021797f, 0.014645f, -0.000763f, -0.011866f, 0.000866f, -0.030346f, -0.009911f, -0.010197f, 0.003742f, -0.001028f, -0.002796f, -0.021336f, -0.013986f, 0.002414f, 0.014769f, 0.024032f, -0.009510f, -0.009369f, 0.012787f, -0.016430f, -0.001179f, -0.000797f, 0.005516f, 0.010542f, 0.008564f, 0.016675f, -0.008927f, 0.024155f, 0.011371f, -0.026003f, 0.013014f, -0.014431f, -0.017283f, -0.014324f, -0.020907f, 0.018970f, 0.004440f, -0.022228f, 0.002541f, 0.004754f, 0.002058f, 0.003583f, -0.004095f, 0.015745f, -0.009115f, 0.012118f, -0.019397f, 0.014759f, -0.009850f, -0.008902f, 0.001901f, 0.006585f, -0.000772f, 0.010684f, 0.030415f, -0.002492f, -0.016340f, 0.009707f, 0.019924f, 0.001659f, -0.002189f, -0.015744f, -0.006922f, 0.014760f, -0.002521f, -0.000918f, 0.000475f, 0.003041f, -0.004147f, -0.002288f, -0.000393f, 0.004414f, -0.002541f, -0.000440f, -0.002917f, 0.008369f, -0.006106f, 0.001365f, -0.005742f, -0.007045f, 0.001842f, - 0.002390f, -0.002269f, 0.001206f, -0.002111f, -0.001468f, -0.000494f, -0.000707f, -0.000219f, -0.002920f, -0.001830f, 0.008606f, -0.000488f, 0.000168f, -0.000866f, 0.003283f, 0.001804f, 0.002955f, 0.049148f, -0.045022f, 0.020271f, 0.021169f, -0.020445f, -0.003998f, 0.029250f, 0.010366f, 0.018439f, 0.005251f, -0.006898f, 0.044197f, -0.002169f, -0.008715f, -0.000427f, -0.000224f, 0.021015f, 0.033154f, 0.012314f, -0.000605f, 0.000293f, 0.004660f, 0.011139f, -0.000534f, 0.005731f, -0.023808f, 0.010713f, 0.017894f, -0.004214f, 0.007079f, -0.000381f, 0.003021f, -0.015490f, -0.012160f, 0.000467f, -0.000890f, 0.020305f, 0.009849f, 0.008173f, -0.009085f, -0.011101f, -0.011076f, 0.011523f, 0.016938f, -0.000241f, -0.005937f, 0.033420f, 0.017141f, 0.022204f, -0.012547f, -0.025613f, -0.005173f, -0.026804f, -0.017750f, -0.008349f, -0.011385f, -0.001908f, 0.019404f, -0.006648f, 0.000393f, -0.016567f, -0.017641f, 0.019310f, -0.001365f, 0.008798f, 0.009468f, -0.010671f, 0.018559f, 0.004535f, 0.001326f, -0.006972f, -0.013047f, 0.014463f, -0.004924f, -0.026706f, 0.014837f, 0.012456f, 0.015532f, 0.006776f, - -0.018909f, -0.004285f, 0.001353f, -0.019750f, 0.010684f, 0.010699f, -0.002187f, 0.007980f, 0.006630f, 0.007090f, -0.002194f, 0.011438f, 0.001382f, -0.000871f, -0.006385f, 0.002536f, -0.000502f, 0.009026f, 0.001650f, -0.000671f, 0.001544f, -0.000500f, 0.006552f, -0.003363f, -0.001245f, -0.005009f, 0.001967f, -0.001638f, -0.003994f, 0.000370f, 0.000577f, -0.001784f, 0.000679f, 0.007225f, 0.005373f, -0.003722f, -0.002553f, -0.005349f, 0.000883f, -0.001482f, -0.001063f, 0.000424f, 0.000534f, 0.002166f, -0.003710f, -0.034352f, 0.004513f, 0.011694f, -0.016747f, 0.014450f, -0.029126f, 0.006984f, 0.009208f, -0.003589f, -0.011389f, -0.014648f, -0.017167f, -0.029189f, 0.004002f, 0.033810f, -0.010792f, 0.016461f, 0.009221f, 0.025226f, 0.013473f, -0.009119f, -0.021177f, 0.011335f, -0.005178f, -0.007301f, -0.021960f, -0.003002f, -0.002758f, -0.008533f, -0.009281f, -0.004780f, -0.015372f, -0.020154f, 0.024104f, -0.002017f, -0.013650f, 0.019079f, 0.006829f, -0.016015f, 0.002672f, -0.000860f, 0.010876f, -0.021383f, 0.006334f, 0.007818f, -0.031880f, 0.011073f, 0.010689f, -0.016166f, 0.004960f, 0.001613f, - -0.004984f, 0.012224f, 0.001306f, -0.001867f, 0.001626f, 0.008407f, 0.021855f, 0.017609f, 0.022296f, 0.015642f, 0.008075f, -0.005332f, 0.033083f, -0.007968f, -0.016651f, 0.036870f, 0.002620f, 0.022445f, 0.004926f, -0.006663f, -0.033677f, -0.030883f, -0.007602f, 0.002396f, -0.012198f, -0.005571f, -0.009545f, 0.021945f, -0.018682f, -0.005058f, -0.003043f, 0.005690f, -0.018239f, 0.013718f, -0.001309f, 0.004645f, -0.001438f, -0.006683f, -0.011828f, -0.007573f, -0.009290f, -0.007172f, -0.002139f, 0.001688f, -0.005669f, -0.003640f, -0.003111f, 0.008350f, -0.009034f, -0.007568f, -0.006468f, -0.007264f, -0.000217f, 0.006813f, -0.002694f, -0.002589f, 0.004618f, 0.001619f, -0.002194f, 0.003605f, -0.005635f, -0.005766f, 0.004908f, -0.006805f, -0.011736f, 0.004693f, 0.010668f, -0.005085f, 0.001220f, 0.007662f, -0.002361f, -0.005292f, -0.005908f, -0.057485f, 0.028340f, 0.049798f, 0.003602f, -0.028036f, 0.012997f, -0.005066f, -0.001816f, 0.008277f, 0.004957f, 0.012916f, -0.014876f, 0.001868f, 0.044651f, 0.034316f, 0.030056f, -0.032508f, -0.001226f, 0.008144f, 0.017236f, -0.015536f, -0.017377f, -0.004349f, - 0.005796f, 0.015584f, 0.007855f, -0.041854f, -0.047464f, 0.014935f, -0.001400f, 0.026957f, 0.027695f, -0.017645f, 0.022956f, 0.018440f, 0.024512f, -0.001552f, -0.014308f, -0.014989f, 0.011822f, -0.015881f, -0.005928f, 0.000092f, -0.000481f, 0.014649f, 0.031135f, 0.017486f, -0.008250f, -0.007205f, -0.015092f, -0.003813f, 0.001589f, 0.008458f, -0.003067f, -0.005362f, 0.015437f, 0.009658f, -0.023115f, -0.000230f, 0.001214f, 0.028156f, -0.013878f, -0.016039f, -0.030360f, -0.010314f, 0.005505f, 0.002127f, 0.016081f, -0.003336f, 0.004229f, -0.013621f, -0.020068f, -0.018380f, -0.018360f, -0.010656f, 0.009184f, -0.038350f, 0.004881f, -0.005317f, -0.005732f, -0.008061f, 0.007902f, 0.021104f, 0.015637f, 0.002495f, -0.003131f, -0.019458f, -0.005907f, -0.001744f, -0.003644f, 0.012947f, 0.006912f, 0.003988f, 0.003176f, 0.006753f, 0.008167f, -0.002941f, -0.002921f, 0.000245f, -0.003186f, 0.000728f, 0.001227f, 0.002619f, 0.004671f, -0.012439f, 0.002306f, -0.001573f, 0.009857f, 0.002611f, -0.012162f, -0.000663f, -0.007548f, -0.006055f, -0.002724f, -0.002769f, -0.002916f, -0.001552f, -0.001193f, 0.003333f, - -0.000249f, 0.006857f, 0.006261f, 0.005241f, 0.009151f, 0.028803f, 0.002131f, 0.024963f, -0.003692f, 0.032474f, 0.016077f, 0.025269f, 0.015437f, 0.007192f, -0.012877f, -0.001517f, -0.008151f, 0.017245f, 0.004906f, 0.015116f, -0.014906f, -0.002802f, 0.026883f, -0.033677f, -0.018937f, 0.025828f, -0.044355f, -0.019684f, 0.003043f, -0.008656f, -0.022086f, 0.044187f, -0.008186f, 0.030450f, 0.012064f, -0.026969f, -0.004338f, -0.010290f, -0.032571f, -0.042221f, 0.033287f, -0.000540f, -0.012467f, 0.008061f, 0.000361f, -0.005808f, 0.011963f, 0.004560f, -0.004580f, -0.015679f, 0.002714f, 0.031449f, 0.026609f, -0.022389f, 0.008539f, 0.001508f, 0.024807f, -0.011640f, 0.016731f, -0.036254f, -0.008974f, 0.024365f, 0.008008f, -0.008476f, 0.029096f, -0.009567f, 0.020322f, -0.040221f, -0.046370f, -0.016854f, 0.000645f, -0.032897f, 0.035043f, 0.024685f, 0.035602f, -0.016669f, -0.012364f, -0.012662f, 0.001604f, -0.018413f, -0.000451f, -0.028023f, -0.025497f, 0.000931f, 0.006850f, 0.025532f, 0.011913f, -0.002935f, -0.009760f, 0.007884f, 0.014606f, 0.009528f, 0.005681f, -0.009376f, 0.010485f, 0.009386f, - 0.011849f, 0.008759f, 0.006293f, 0.009499f, -0.013610f, 0.011032f, -0.008343f, -0.004306f, 0.017355f, 0.015376f, 0.010203f, -0.002065f, 0.000348f, -0.004916f, 0.008759f, 0.002630f, -0.003996f, 0.004706f, 0.008885f, 0.001184f, 0.006839f, 0.006733f, -0.009481f, 0.002853f, -0.007242f, -0.002226f, 0.001875f, 0.040309f, 0.029012f, 0.045413f, -0.040153f, -0.030149f, -0.068853f, 0.029807f, -0.007590f, -0.058808f, -0.011342f, 0.005696f, 0.008759f, -0.021904f, 0.024062f, 0.020373f, 0.002353f, -0.000153f, 0.003820f, -0.009645f, -0.020440f, 0.004641f, -0.011595f, -0.019076f, -0.000182f, 0.044787f, 0.001454f, -0.006652f, -0.035650f, 0.015196f, 0.028267f, -0.014460f, -0.043032f, -0.007683f, 0.014585f, 0.005290f, -0.009089f, 0.009531f, 0.003126f, 0.015645f, -0.004303f, 0.025713f, 0.039125f, 0.014931f, -0.025929f, 0.029599f, 0.013308f, -0.033121f, -0.035363f, 0.038651f, 0.018663f, -0.014828f, -0.017235f, -0.000689f, -0.031344f, 0.023145f, 0.030311f, -0.000549f, 0.001747f, 0.007798f, -0.003837f, 0.033306f, 0.011176f, 0.008795f, -0.013701f, 0.005540f, 0.011221f, 0.041099f, -0.009787f, 0.015869f, - -0.031662f, -0.035905f, 0.032224f, -0.004655f, -0.002981f, 0.003532f, 0.030714f, 0.000882f, -0.001417f, 0.019578f, -0.009242f, 0.004078f, 0.017796f, 0.021912f, -0.010351f, -0.013288f, -0.029092f, -0.014135f, 0.009532f, -0.012632f, 0.010155f, -0.000087f, 0.010774f, -0.005584f, 0.007950f, 0.001890f, -0.004467f, 0.003746f, 0.016297f, 0.004267f, 0.016222f, 0.005146f, -0.010242f, 0.000921f, 0.006776f, 0.005875f, -0.010052f, -0.008955f, -0.009792f, -0.003933f, -0.007691f, -0.007258f, -0.011963f, -0.004872f, 0.006680f, 0.004527f, -0.001210f, -0.001656f, 0.003656f, -0.007657f, -0.000185f, 0.010546f, -0.002878f, -0.001354f, -0.004922f, -0.003844f, -0.002143f, -0.014863f, -0.002125f, -0.005567f, -0.006053f, -0.009036f, -0.013067f, -0.046187f, -0.003376f, -0.030058f, -0.061460f, -0.063355f, -0.027120f, -0.048262f, -0.021627f, -0.007402f, 0.009222f, 0.027725f, 0.030875f, 0.003584f, -0.015984f, 0.033221f, -0.016183f, 0.016612f, -0.060676f, -0.005545f, -0.041478f, -0.027682f, 0.028878f, 0.020417f, 0.019874f, 0.006924f, 0.041379f, -0.003667f, -0.002095f, -0.029000f, -0.009751f, -0.005466f, -0.019593f, -0.019789f, - -0.049780f, -0.019290f, -0.005084f, -0.007634f, -0.030623f, 0.027958f, 0.011410f, 0.016871f, -0.013224f, -0.004802f, -0.075786f, -0.021510f, -0.020556f, 0.018124f, 0.039538f, -0.023609f, -0.003233f, -0.043956f, -0.002749f, 0.023329f, -0.006823f, -0.014537f, 0.010451f, 0.033256f, 0.056409f, 0.012227f, 0.002230f, -0.002628f, -0.014557f, -0.021932f, 0.015415f, -0.014293f, 0.051206f, 0.010447f, 0.022303f, 0.103970f, -0.020149f, -0.017151f, -0.025700f, -0.035814f, -0.004475f, 0.035825f, 0.016363f, 0.005522f, 0.012211f, -0.014488f, -0.011151f, -0.031112f, -0.007120f, 0.018221f, -0.002460f, -0.006516f, -0.002527f, -0.006896f, 0.004158f, -0.000698f, 0.007319f, 0.007443f, 0.007549f, 0.009807f, 0.010657f, 0.026832f, 0.016524f, -0.009304f, 0.015772f, 0.000059f, 0.001403f, 0.011497f, -0.012335f, 0.000709f, -0.014298f, -0.008433f, -0.019728f, -0.014494f, -0.020598f, -0.016969f, -0.011274f, 0.023507f, -0.013933f, -0.007623f, -0.016511f, 0.001527f, 0.005421f, -0.003188f, 0.007335f, 0.003266f, -0.000041f, -0.013818f, -0.051698f, 0.029491f, 0.048537f, -0.028569f, 0.001532f, 0.010971f, -0.016689f, -0.003931f, - -0.036171f, -0.000644f, -0.020278f, 0.052728f, 0.000015f, -0.009815f, 0.042259f, -0.010619f, 0.012288f, -0.048350f, 0.025142f, 0.007619f, 0.032753f, -0.015168f, 0.024380f, 0.043197f, 0.046248f, 0.026104f, 0.041682f, 0.021512f, -0.006679f, 0.040688f, -0.019673f, -0.026542f, -0.008609f, 0.016435f, 0.027428f, -0.065821f, -0.004576f, -0.042488f, 0.033772f, 0.015505f, -0.000924f, 0.011835f, 0.047314f, 0.002225f, 0.042212f, 0.018272f, 0.063969f, 0.005975f, -0.007402f, 0.028280f, 0.009165f, -0.032440f, 0.006911f, -0.003574f, -0.043942f, 0.030998f, -0.026554f, -0.042521f, -0.087599f, 0.007055f, -0.010913f, 0.051722f, -0.028789f, 0.069133f, 0.022590f, -0.000862f, -0.010667f, 0.027155f, 0.028180f, -0.050056f, -0.021655f, -0.036900f, 0.012831f, -0.016465f, 0.037674f, 0.012376f, 0.012573f, 0.018635f, -0.008856f, 0.003612f, -0.013389f, -0.004222f, 0.000917f, -0.004593f, -0.039061f, 0.015777f, -0.000216f, 0.011948f, 0.000233f, -0.011029f, 0.001104f, 0.016355f, -0.026040f, 0.022784f, -0.009635f, 0.000408f, 0.002392f, -0.021251f, -0.002002f, 0.013650f, 0.006507f, -0.015095f, -0.006601f, -0.003235f, - -0.018465f, 0.006714f, -0.005362f, 0.027278f, -0.021550f, 0.010111f, 0.018475f, 0.007292f, -0.008031f, -0.005219f, 0.008921f, 0.005100f, 0.005491f, -0.004052f, 0.009259f, -0.027854f, 0.007527f, 0.007584f, 0.012161f, -0.007913f, -0.013460f, 0.001800f, 0.011910f, 0.002478f, 0.032660f, -0.022847f, -0.025491f, -0.025091f, 0.031386f, 0.015990f, 0.041053f, 0.010956f, 0.128269f, -0.038882f, 0.000093f, 0.000361f, 0.059388f, 0.024230f, 0.027177f, -0.039961f, 0.016684f, -0.016126f, 0.000517f, -0.018813f, 0.003409f, 0.042745f, -0.012004f, 0.013140f, 0.083184f, 0.025688f, -0.038540f, -0.045043f, 0.004575f, 0.054025f, 0.027902f, 0.009770f, -0.021733f, 0.045899f, 0.007306f, -0.007515f, -0.051703f, 0.015012f, -0.008711f, 0.021413f, -0.046988f, -0.028936f, 0.001831f, -0.012419f, 0.005519f, -0.043883f, -0.002079f, -0.027008f, 0.011674f, 0.037746f, 0.030080f, 0.009420f, -0.059951f, -0.000116f, 0.005285f, -0.054114f, -0.048364f, -0.032282f, -0.026706f, -0.026698f, 0.041761f, 0.009056f, -0.001794f, 0.026992f, 0.043447f, 0.011131f, 0.037550f, 0.000416f, 0.024664f, 0.167747f, -0.038997f, 0.027126f, - 0.018747f, -0.030200f, 0.005687f, -0.112801f, 0.001680f, 0.055093f, 0.014003f, -0.031479f, 0.042313f, 0.009725f, 0.015739f, -0.028605f, -0.006933f, -0.024526f, 0.007826f, 0.001474f, 0.001554f, 0.008999f, -0.035339f, 0.012263f, -0.019646f, -0.014476f, -0.048172f, 0.011212f, 0.010358f, 0.008888f, 0.011683f, 0.058976f, 0.008423f, 0.005779f, 0.006267f, 0.004069f, 0.035036f, 0.003594f, 0.014464f, 0.011869f, 0.026592f, 0.010337f, -0.002206f, -0.006600f, -0.005517f, 0.003931f, 0.016652f, 0.019994f, 0.005508f, -0.031844f, -0.014946f, -0.007497f, -0.007512f, -0.010900f, -0.033245f, -0.008497f, 0.010954f, 0.024504f, 0.067584f, -0.032265f, -0.002209f, -0.046297f, -0.033813f, 0.010273f, 0.029273f, -0.038386f, 0.044572f, 0.018406f, -0.059905f, 0.035947f, -0.024625f, -0.029894f, -0.003076f, -0.036036f, 0.007730f, -0.016410f, 0.045207f, -0.026914f, -0.002730f, 0.024744f, -0.089151f, 0.012194f, 0.026816f, -0.027186f, 0.021135f, -0.053949f, 0.052791f, 0.005381f, 0.008533f, -0.101654f, 0.090653f, 0.038717f, 0.029303f, 0.001566f, -0.058405f, 0.052461f, -0.004087f, -0.026646f, 0.092686f, -0.019029f, - -0.041742f, -0.022031f, 0.010546f, 0.026613f, 0.024848f, 0.006403f, -0.016501f, -0.110384f, -0.013186f, 0.027110f, 0.000832f, 0.039983f, -0.058511f, 0.059190f, 0.005258f, 0.019759f, -0.059481f, -0.017343f, 0.008632f, 0.075565f, -0.032410f, 0.017373f, -0.055200f, 0.047716f, 0.026104f, 0.045013f, -0.018359f, 0.019747f, 0.006972f, -0.059776f, -0.057629f, 0.030854f, 0.024608f, 0.048056f, 0.009466f, 0.061776f, -0.094533f, -0.122836f, 0.018630f, -0.026188f, 0.068272f, -0.045497f, -0.010738f, 0.007642f, -0.053131f, 0.002246f, -0.032124f, 0.026795f, 0.037472f, 0.003515f, 0.030201f, 0.034020f, 0.009176f, -0.031350f, -0.016710f, 0.054934f, 0.027700f, 0.006851f, 0.008593f, -0.016893f, 0.000237f, 0.033326f, 0.017759f, -0.027554f, -0.016515f, 0.030989f, -0.005563f, 0.019192f, 0.018459f, -0.012354f, -0.017156f, -0.016468f, -0.001047f, 0.016393f, 0.006365f, 0.021058f, 0.029423f, 0.002205f, -0.002204f, 0.024687f, 0.000295f, 0.004715f, 0.006635f, -0.010771f, 0.007270f, -0.018603f, 0.009099f, 0.003435f, -0.000914f, 0.007758f, -0.009041f, -0.085544f, 0.078036f, -0.016828f, -0.018841f, -0.030436f, - -0.008894f, -0.067450f, -0.125964f, 0.043518f, 0.036168f, -0.005533f, -0.025972f, -0.051299f, -0.008481f, -0.015898f, -0.027295f, 0.049656f, -0.112659f, -0.048120f, -0.059481f, -0.017717f, -0.085785f, -0.007888f, -0.012935f, -0.003059f, -0.014384f, -0.017380f, 0.013803f, -0.000836f, -0.037983f, -0.011879f, -0.000882f, -0.051943f, -0.027778f, -0.015321f, 0.003764f, 0.039996f, -0.020551f, 0.080160f, -0.041913f, -0.006007f, 0.033674f, -0.035758f, 0.021701f, 0.004548f, -0.054988f, -0.082220f, -0.020197f, 0.020973f, 0.074923f, 0.032491f, -0.057486f, -0.024332f, -0.164939f, -0.055220f, -0.011961f, 0.034640f, 0.089462f, -0.004804f, -0.095994f, 0.005265f, 0.052004f, -0.019244f, -0.004634f, 0.055146f, 0.058020f, 0.133267f, -0.147480f, -0.028683f, 0.020759f, 0.037170f, -0.046653f, -0.055361f, -0.078950f, -0.078386f, -0.043930f, -0.036541f, -0.010423f, -0.005783f, -0.091229f, -0.037933f, -0.033570f, 0.033484f, -0.017402f, -0.009211f, 0.081767f, 0.061849f, 0.004735f, -0.011991f, -0.004024f, -0.050953f, -0.002535f, 0.017721f, -0.036895f, -0.019954f, 0.006620f, 0.022764f, -0.015849f, -0.018336f, -0.012491f, 0.025391f, - -0.017464f, 0.026598f, 0.001537f, 0.027453f, 0.019436f, 0.019618f, -0.015837f, 0.009637f, -0.038829f, 0.019202f, -0.005539f, 0.011039f, -0.034437f, -0.026939f, -0.004351f, 0.008049f, -0.019672f, -0.000261f, -0.043596f, -0.008346f, -0.005795f, 0.017548f, 0.022100f, -0.028278f, 0.055432f, 0.000198f, 0.020094f, 0.011460f, 0.039895f, 0.039671f, -0.002792f, 0.024764f, -0.047534f, 0.012515f, -0.018738f, -0.116031f, 0.027283f, -0.019118f, 0.035374f, -0.031434f, -0.032455f, 0.003362f, -0.048102f, 0.009218f, -0.048517f, -0.000108f, -0.007808f, -0.018441f, 0.024500f, -0.035911f, -0.047230f, -0.042928f, -0.055606f, -0.008535f, -0.005413f, 0.063384f, 0.014567f, -0.044689f, -0.067041f, 0.009806f, -0.000710f, 0.017047f, -0.012488f, 0.038782f, -0.043862f, -0.016793f, -0.061894f, -0.039140f, -0.017311f, 0.003001f, -0.025750f, 0.066136f, -0.022125f, -0.054800f, 0.017968f, 0.068622f, 0.049759f, 0.021001f, -0.047229f, -0.030219f, -0.004258f, 0.062418f, 0.118286f, -0.000102f, 0.023765f, -0.021584f, -0.114545f, -0.024300f, 0.011053f, 0.044433f, 0.098841f, -0.053406f, -0.066069f, 0.040123f, 0.019113f, -0.022102f, - 0.003660f, -0.035570f, 0.023159f, -0.096278f, -0.010675f, 0.006645f, 0.024160f, -0.057609f, 0.068212f, -0.094108f, -0.107842f, -0.098928f, 0.050992f, -0.019418f, 0.095830f, -0.131805f, -0.057441f, 0.011810f, 0.136192f, -0.009749f, -0.023708f, -0.073509f, -0.026896f, -0.007544f, 0.065895f, -0.004356f, 0.000140f, 0.005121f, 0.011792f, 0.002520f, -0.000563f, -0.027032f, -0.023685f, 0.032477f, 0.014176f, 0.005046f, -0.070703f, 0.019089f, -0.017913f, -0.007129f, -0.036441f, 0.002948f, -0.002955f, -0.005427f, -0.083312f, 0.009043f, -0.018186f, -0.008264f, -0.006936f, 0.015504f, 0.000014f, 0.006503f, -0.000287f, 0.001834f, -0.000001f, 0.001721f, -0.030259f, -0.004571f, -0.019397f, -0.015506f, 0.014782f, 0.016504f, -0.024272f, 0.002276f, -0.017250f, 0.024121f, -0.008258f, -0.037472f, 0.006001f, 0.068459f, 0.020256f, -0.125032f, -0.022964f, -0.086602f, 0.037246f, 0.006087f, -0.171463f, 0.010548f, -0.053379f, -0.111583f, -0.086849f, -0.127202f, 0.077165f, -0.039611f, -0.100098f, -0.045775f, 0.031412f, -0.060342f, -0.051884f, -0.041047f, -0.024465f, -0.045152f, -0.044422f, -0.081783f, -0.059046f, -0.111756f, - -0.063088f, -0.057494f, -0.019299f, -0.053346f, -0.011379f, -0.025665f, -0.002178f, 0.002903f, 0.014049f, 0.029645f, -0.031136f, 0.024411f, 0.002502f, 0.055377f, 0.024105f, 0.034053f, 0.035166f, -0.105039f, -0.027845f, 0.081797f, -0.014873f, -0.052997f, -0.058710f, -0.044526f, 0.032747f, 0.132795f, -0.009495f, -0.003544f, -0.090671f, -0.093474f, -0.019987f, 0.017380f, 0.079701f, -0.007151f, 0.072588f, 0.025439f, -0.089104f, 0.158045f, 0.002450f, 0.122566f, -0.000307f, -0.033520f, 0.066122f, -0.091322f, -0.116256f, -0.075971f, -0.256751f, -0.157322f, -0.051631f, 0.115370f, 0.071302f, -0.104777f, -0.068311f, -0.159105f, 0.077135f, 0.101762f, -0.080992f, -0.082457f, 0.017656f, 0.066398f, 0.096929f, 0.025083f, 0.055205f, -0.054507f, -0.029583f, -0.041729f, -0.060654f, -0.026950f, -0.006411f, 0.003236f, 0.001385f, -0.035182f, 0.003989f, 0.019609f, 0.006115f, -0.007844f, -0.024878f, -0.018773f, -0.028240f, -0.012878f, -0.041185f, -0.011458f, 0.023118f, -0.041754f, -0.064448f, -0.012331f, -0.042885f, -0.031356f, -0.006524f, -0.056494f, -0.042818f, -0.014143f, 0.023602f, 0.022839f, 0.027417f, -0.004251f, - -0.024750f, -0.007550f, 0.007340f, -0.017449f, 0.037156f, -0.002104f, 0.026647f, -0.002410f, -0.002675f, 0.024782f, 0.019807f, 0.028181f, 0.067836f, 0.039959f, 0.049667f, -0.043520f, -0.105683f, 0.122925f, 0.117579f, -0.074349f, -0.096408f, -0.000475f, 0.105528f, -0.011471f, -0.006058f, -0.032909f, 0.092308f, -0.010284f, -0.024529f, -0.002315f, 0.025571f, 0.047274f, 0.001379f, -0.035648f, -0.040350f, 0.056809f, 0.004358f, -0.024569f, -0.060722f, 0.034486f, 0.019249f, -0.007052f, -0.047809f, 0.014943f, 0.020816f, 0.016981f, -0.030158f, -0.018373f, 0.005555f, 0.046779f, -0.013606f, 0.016680f, -0.068859f, -0.019418f, 0.000336f, 0.045284f, -0.095917f, -0.017396f, 0.009601f, 0.068982f, -0.033009f, 0.010493f, -0.048865f, 0.006447f, 0.020617f, -0.034057f, -0.025477f, -0.004280f, 0.011539f, 0.020822f, -0.021612f, 0.001187f, -0.085380f, 0.046068f, -0.014004f, 0.079961f, -0.049447f, 0.035485f, -0.033539f, 0.036896f, 0.007310f, 0.024620f, 0.021531f, -0.062735f, 0.070907f, 0.013566f, 0.041072f, -0.069226f, 0.019516f, -0.017912f, 0.011335f, -0.020037f, 0.003133f, -0.005193f, 0.009794f, 0.022947f, - -0.003257f, -0.027967f, -0.015943f, 0.006573f, -0.003279f, 0.001256f, -0.010281f, -0.027291f, 0.009430f, 0.006627f, -0.007868f, -0.008097f, -0.000046f, -0.008925f, 0.001721f, -0.015113f, -0.000000f, -0.007666f, 0.012518f, 0.006480f, -0.004520f, -0.011388f, 0.004229f, -0.000279f, -0.009029f, 0.006370f, -0.028921f, -0.000862f, -0.002956f, 0.012496f, 0.000001f, 0.033277f, -0.021996f, -0.023490f, -0.007292f, 0.017266f, -0.023859f, 0.035723f, -0.030055f, 0.014789f, -0.014490f, 0.032506f, -0.029177f, 0.035829f, -0.020248f, 0.027877f, -0.025298f, 0.043689f, -0.041271f, 0.031476f, -0.009178f, 0.023550f, -0.022061f, 0.023153f, -0.025061f, 0.026221f, -0.025247f, 0.020963f, -0.016791f, 0.023270f, -0.018093f, 0.019400f, -0.018024f, 0.005460f, -0.005849f, 0.011756f, -0.008931f, 0.009660f, -0.007901f, 0.007869f, -0.005653f, 0.010852f, -0.006640f, 0.004223f, -0.005197f, 0.005775f, -0.004518f, 0.002077f, 0.000910f, -0.035839f, -0.079907f, -0.106316f, 0.077847f, 0.051707f, -0.060555f, -0.086368f, -0.042233f, 0.040255f, 0.021197f, 0.053489f, 0.057563f, 0.011425f, -0.028760f, -0.008254f, 0.020253f, -0.019554f, - -0.001439f, 0.012053f, 0.003432f, 0.032306f, 0.022635f, 0.009921f, -0.028736f, -0.000890f, -0.017728f, 0.018822f, -0.030115f, -0.026063f, 0.022175f, -0.006811f, -0.012154f, -0.011930f, -0.020882f, -0.028691f, 0.002387f, 0.023764f, 0.021698f, 0.018222f, -0.006675f, -0.023628f, -0.020500f, -0.014284f, 0.025899f, 0.035157f, -0.016120f, -0.024272f, -0.010392f, 0.029202f, 0.015179f, 0.039007f, -0.027262f, -0.010267f, 0.015531f, -0.007147f, 0.001471f, -0.003990f, 0.013977f, 0.008435f, 0.011329f, 0.002506f, -0.026071f, 0.011041f, 0.005087f, -0.000807f, 0.020549f, -0.010405f, -0.004992f, 0.003675f, -0.003541f, 0.002769f, -0.007395f, 0.034629f, 0.008883f, -0.002631f, 0.033063f, 0.033054f, -0.033212f, -0.050469f, -0.018325f, -0.034520f, 0.001270f, 0.023085f, 0.006790f, -0.020589f, -0.024779f, -0.006525f, -0.004585f, 0.020077f, 0.009760f, 0.012568f, 0.018919f, 0.011540f, -0.010164f, 0.011682f, 0.008439f, -0.024227f, -0.032400f, 0.009921f, -0.008351f, 0.016387f, 0.012193f, -0.017775f, -0.004521f, -0.005949f, -0.006294f, -0.020679f, -0.011145f, -0.001162f, 0.006856f, 0.010071f, 0.027963f, -0.013653f, - -0.010027f, 0.007221f, -0.006140f, -0.008023f, 0.016473f, 0.000686f, 0.036514f, -0.088727f, -0.233583f, -0.085871f, 0.041884f, 0.121506f, 0.256623f, 0.171732f, 0.044187f, 0.065085f, -0.034311f, -0.104462f, -0.173497f, -0.150943f, -0.120021f, -0.034608f, 0.004600f, 0.083492f, 0.092028f, 0.195946f, 0.095107f, 0.062726f, -0.004941f, -0.041766f, -0.094336f, -0.048972f, -0.076288f, -0.087946f, -0.054177f, -0.045331f, -0.003408f, 0.024508f, 0.073283f, 0.045325f, 0.052594f, 0.047840f, 0.048320f, 0.072729f, 0.006247f, 0.050396f, -0.009376f, -0.022611f, -0.061402f, -0.036555f, -0.091557f, -0.134710f, -0.117753f, 0.001404f, -0.020058f, 0.036963f, 0.063256f, 0.034727f, 0.097595f, 0.085274f, 0.123358f, 0.070265f, 0.083647f, 0.004167f, 0.004074f, -0.065963f, -0.107858f, -0.125966f, -0.151297f, -0.099390f, -0.123656f, -0.010368f, -0.000538f, 0.059532f, 0.062365f, 0.149444f, 0.117322f, 0.166932f, 0.067692f, 0.078063f, 0.032491f, -0.000667f, -0.099642f, -0.162415f, -0.108836f, -0.129744f, -0.080911f, -0.087840f, -0.008268f, 0.013633f, 0.051808f, 0.068087f, 0.092138f, 0.094153f, 0.090434f, 0.059300f, - 0.064741f, 0.016920f, -0.011804f, -0.022214f, -0.073035f, -0.066487f, -0.087431f, -0.061691f, -0.087400f, -0.066499f, -0.007011f, 0.015654f, 0.045978f, 0.069566f, 0.061937f, 0.063961f, 0.105211f, 0.038185f, 0.064212f, 0.049413f, -0.066453f, -0.120088f, -0.052170f, -0.105877f, -0.066877f, -0.036279f, -0.007651f, 0.009520f, 0.033666f, 0.061224f, 0.042475f, 0.065861f, 0.041666f, 0.035900f, 0.014360f, -0.003940f, -0.038298f, -0.012459f, -0.018008f, -0.066940f, -0.062731f, -0.017163f, -0.007162f, 0.003678f, 0.021960f, 0.025895f, 0.032615f, 0.026248f, 0.025777f, 0.009847f, 0.008662f, -0.000207f, -0.014717f, -0.007111f, -0.005400f, -0.014739f, -0.023911f, -0.007915f, -0.011970f, -0.013723f, -0.001635f, 0.006664f, 0.007264f, 0.011181f, 0.013235f, 0.016564f, 0.010600f, 0.007869f, 0.002444f, -0.001305f, -0.004153f, -0.006533f, -0.008959f, -0.009510f, -0.006919f, -0.005116f, -0.003851f, -0.003395f, 0.000078f, 0.001817f, 0.002069f, 0.003050f, 0.003240f, 0.004899f, 0.007282f, 0.007326f, 0.002105f, 0.001454f, 0.001965f, -0.000946f, -0.003804f, -0.005002f, -0.006915f, -0.005937f, -0.004167f, -0.001224f, - -0.001654f, -0.000068f, 0.002868f, 0.003091f, 0.002934f, 0.004226f, 0.003384f, 0.001973f, 0.000138f, 0.000119f, 0.000218f, -0.000480f, -0.001872f, -0.001608f, -0.001903f, -0.001861f, -0.001907f, -0.001212f, -0.000729f, 0.000214f, 0.000822f, 0.001568f, 0.001737f, 0.001367f, -0.000057f, 0.000659f, 0.000953f, 0.000639f, -0.000247f, -0.001115f, -0.001479f, -0.001223f, -0.000761f, -0.000113f, 0.000414f, 0.000989f, 0.000689f, 0.000264f, 0.000307f, 0.000424f, -0.000309f, -0.000611f, -0.000516f, -0.000493f, -0.000389f, 0.000023f, -0.000021f, 0.000049f, 0.000188f, 0.000195f, 0.000090f, 0.000036f, 0.000019f, -0.000018f} - }, - { - {0.014236f, 0.001503f, -0.003867f, -0.004046f, 0.002468f, -0.006900f, -0.000116f, -0.013430f, 0.009612f, 0.012191f, 0.008515f, 0.011998f, -0.014421f, 0.001154f, 0.003287f, -0.005151f, -0.003966f, -0.003526f, -0.016888f, -0.002852f, 0.010026f, -0.017292f, -0.014051f, 0.008161f, 0.007399f, -0.011115f, -0.003882f, 0.007338f, 0.000934f, 0.008923f, 0.003821f, 0.009295f, -0.005853f, 0.001768f, 0.001283f, -0.002486f, 0.004327f, 0.003394f, 0.006311f, 0.002639f, -0.002797f, 0.000593f, 0.007052f, -0.001922f, -0.003217f, -0.001209f, -0.008543f, -0.018855f, 0.011196f, 0.005423f, -0.005901f, 0.008251f, -0.003316f, 0.000900f, -0.000295f, 0.003825f, -0.004978f, -0.001308f, 0.011127f, -0.010500f, -0.004209f, 0.003625f, 0.001812f, -0.001639f, -0.000522f, 0.004863f, 0.000553f, 0.004303f, -0.007478f, 0.007586f, 0.003907f, -0.009759f, 0.007755f, 0.000670f, 0.002806f, -0.001182f, -0.002901f, -0.011389f, -0.003523f, -0.000871f, 0.005839f, -0.001521f, 0.004774f, -0.002878f, 0.000563f, 0.001404f, 0.000567f, 0.003370f, -0.000610f, 0.000213f, -0.000419f, -0.002325f, -0.001055f, 0.000431f, -0.001241f, 0.000140f, - -0.000062f, -0.000547f, 0.003104f, 0.003104f, 0.001623f, 0.001281f, 0.001129f, 0.000380f, 0.000007f, 0.000394f, 0.000166f, -0.000498f, -0.001392f, -0.001586f, -0.000357f, -0.000165f, 0.022330f, -0.012739f, 0.003975f, -0.014087f, 0.001769f, 0.003376f, -0.014202f, -0.017977f, 0.004573f, -0.019510f, 0.004380f, -0.005040f, -0.001285f, -0.011941f, -0.001674f, -0.013417f, -0.006864f, 0.000119f, -0.014198f, 0.015223f, 0.005404f, -0.023593f, 0.002314f, -0.001239f, -0.004218f, -0.010064f, 0.005155f, 0.012337f, 0.000311f, -0.000842f, 0.011588f, -0.006707f, 0.000213f, -0.004248f, 0.007701f, -0.008883f, 0.002689f, 0.010830f, -0.009309f, 0.009478f, 0.003377f, 0.010246f, -0.000810f, 0.002369f, -0.001478f, -0.004245f, 0.013410f, -0.016510f, 0.003885f, -0.007278f, -0.003122f, -0.002108f, -0.005969f, -0.004408f, -0.013143f, -0.008249f, -0.002002f, 0.008648f, -0.000672f, 0.003277f, 0.012093f, -0.000235f, -0.010374f, -0.001297f, 0.000437f, 0.003309f, -0.005035f, 0.000058f, -0.010204f, 0.000258f, -0.004121f, 0.003432f, 0.005391f, 0.007886f, 0.002853f, -0.004392f, -0.005709f, 0.007739f, -0.002523f, -0.003492f, - 0.001493f, 0.004319f, 0.008928f, 0.001115f, 0.002600f, -0.000546f, 0.005256f, -0.000979f, -0.004069f, -0.002077f, -0.001988f, -0.000156f, 0.003580f, 0.000719f, -0.000182f, -0.001846f, 0.003470f, 0.000020f, -0.001230f, -0.000929f, -0.000825f, -0.000969f, 0.001675f, -0.000658f, -0.000121f, -0.001950f, -0.005281f, -0.018355f, -0.000142f, -0.011030f, -0.003431f, -0.001730f, -0.012883f, -0.001694f, -0.002946f, 0.006511f, 0.015180f, 0.015280f, 0.001876f, -0.006412f, 0.006144f, -0.014636f, -0.002039f, -0.005548f, 0.005197f, -0.021851f, 0.007809f, 0.003803f, -0.000739f, -0.006224f, -0.009396f, -0.004234f, -0.007742f, -0.006621f, 0.004162f, -0.001377f, -0.008353f, -0.002360f, 0.001758f, 0.014417f, -0.000500f, -0.014377f, 0.001185f, 0.006327f, -0.000130f, -0.004458f, 0.001250f, 0.005548f, -0.015678f, -0.001124f, -0.006792f, 0.011149f, 0.006772f, 0.001976f, -0.014495f, 0.001748f, 0.005641f, 0.009020f, 0.008381f, -0.009449f, -0.004455f, 0.000542f, -0.002950f, -0.002886f, 0.007806f, -0.004710f, 0.004790f, 0.001417f, -0.006078f, -0.001264f, -0.008364f, 0.010228f, 0.003826f, -0.009873f, -0.006864f, 0.001807f, - 0.005326f, -0.007805f, -0.009974f, -0.001579f, 0.000518f, -0.006524f, 0.001450f, -0.002603f, 0.003391f, -0.006209f, 0.009438f, 0.005177f, 0.007117f, 0.002162f, 0.000949f, 0.006524f, 0.008656f, 0.001144f, 0.002465f, -0.000689f, 0.001236f, 0.000286f, -0.000356f, 0.001106f, 0.000730f, 0.001145f, -0.001366f, 0.000194f, 0.000662f, -0.000337f, 0.000148f, 0.003029f, -0.001683f, 0.000807f, -0.002017f, -0.001458f, -0.001358f, 0.000450f, 0.001078f, 0.000891f, 0.000083f, -0.001711f, -0.001257f, 0.003115f, -0.031285f, 0.010217f, 0.009145f, 0.015265f, -0.003867f, 0.009615f, -0.026977f, -0.007320f, 0.008546f, 0.001081f, -0.013311f, -0.003410f, -0.004386f, -0.023618f, -0.009538f, 0.002479f, -0.001024f, -0.016817f, 0.010615f, 0.015073f, -0.015339f, 0.011766f, -0.020108f, -0.006784f, -0.001751f, 0.007019f, -0.000052f, -0.008102f, 0.005589f, 0.002835f, -0.001293f, 0.009088f, -0.004309f, -0.005730f, -0.001761f, -0.003238f, -0.005918f, 0.008942f, -0.006763f, 0.002588f, 0.006686f, -0.001274f, -0.005229f, -0.009827f, -0.001158f, -0.006989f, -0.002115f, -0.008144f, -0.002183f, 0.018370f, 0.000414f, 0.011201f, - -0.010170f, 0.009412f, -0.002880f, -0.014866f, -0.008782f, 0.008356f, -0.005399f, -0.007520f, 0.005491f, -0.008856f, 0.007474f, 0.002084f, -0.002719f, 0.009814f, 0.008816f, 0.003961f, -0.009625f, -0.010844f, -0.000729f, 0.014634f, 0.002919f, 0.002292f, -0.008223f, 0.002236f, 0.005252f, -0.011012f, -0.004039f, 0.003697f, 0.007773f, 0.003934f, 0.006583f, -0.000281f, 0.000084f, 0.002507f, 0.000330f, -0.001157f, 0.000416f, -0.000857f, -0.001383f, -0.004818f, -0.003908f, 0.001289f, -0.002345f, -0.001313f, 0.001671f, 0.000840f, 0.001227f, -0.000213f, 0.002026f, -0.001206f, 0.000113f, -0.001632f, 0.000034f, -0.002000f, 0.001064f, 0.000458f, 0.001452f, -0.002637f, -0.016471f, -0.015640f, -0.010235f, 0.002290f, -0.002384f, 0.006847f, -0.005476f, 0.000324f, 0.001461f, -0.004447f, -0.001505f, 0.004336f, -0.004418f, 0.018981f, -0.011944f, 0.008960f, -0.002915f, -0.000961f, -0.008395f, -0.002074f, -0.000909f, 0.013927f, -0.009005f, 0.001536f, 0.002926f, -0.013032f, -0.007876f, -0.008801f, -0.007467f, -0.015157f, -0.005050f, 0.005886f, 0.010776f, 0.006970f, -0.012077f, -0.017108f, -0.003551f, 0.000856f, - -0.008599f, 0.001950f, -0.005755f, -0.008769f, -0.021302f, -0.010521f, -0.014851f, 0.009040f, -0.003642f, 0.007408f, -0.008418f, -0.020708f, -0.010887f, 0.001369f, -0.004019f, -0.006573f, -0.002875f, -0.007953f, 0.011499f, 0.001339f, 0.006804f, 0.009085f, 0.002478f, -0.000029f, -0.007035f, 0.000658f, 0.009770f, -0.001307f, -0.006785f, -0.009426f, 0.015912f, -0.012687f, -0.017930f, -0.012506f, -0.007143f, -0.009762f, 0.011641f, 0.018515f, -0.014233f, -0.009649f, 0.002484f, 0.009161f, 0.013799f, 0.011062f, 0.008615f, 0.008600f, -0.002675f, -0.003258f, -0.003875f, -0.003919f, 0.003601f, -0.002264f, 0.001158f, -0.002838f, -0.004895f, -0.001739f, -0.003457f, 0.003075f, -0.002068f, -0.004221f, -0.002432f, -0.002284f, -0.004361f, -0.004726f, -0.002943f, -0.000919f, 0.001261f, 0.001287f, 0.002638f, 0.000678f, -0.007666f, 0.001313f, -0.000976f, -0.002804f, 0.001171f, -0.001004f, -0.002149f, -0.004803f, -0.004033f, 0.000528f, 0.000253f, -0.001357f, -0.001762f, 0.000390f, -0.002188f, 0.001742f, -0.001876f, -0.000876f, -0.000698f, -0.003295f, 0.004321f, -0.034400f, 0.010631f, -0.002419f, 0.006097f, 0.018895f, - 0.007411f, -0.004648f, 0.006386f, -0.014177f, 0.008777f, 0.010335f, -0.018759f, -0.003973f, -0.009508f, 0.010612f, 0.009183f, 0.014391f, 0.016624f, -0.021584f, -0.011168f, 0.003614f, 0.018551f, -0.006998f, 0.008605f, -0.020622f, -0.006285f, -0.007192f, -0.004429f, -0.012455f, 0.003057f, -0.020404f, 0.014137f, -0.003947f, -0.003686f, 0.010443f, -0.000675f, 0.002449f, 0.010956f, 0.000386f, 0.008954f, 0.006132f, -0.002619f, -0.003458f, -0.001288f, -0.014275f, -0.010612f, -0.013030f, -0.000907f, 0.027419f, 0.006262f, 0.005396f, -0.000726f, -0.003696f, -0.000317f, 0.016443f, -0.003583f, 0.005235f, -0.031585f, 0.029108f, -0.007122f, -0.005038f, 0.001560f, 0.017888f, 0.006350f, -0.002824f, -0.010911f, 0.031198f, -0.006104f, -0.000222f, 0.009825f, -0.007705f, -0.000176f, 0.004617f, -0.007125f, 0.006303f, 0.005954f, 0.025816f, -0.012900f, -0.015880f, -0.003096f, 0.007860f, -0.009798f, 0.002342f, 0.006478f, 0.002317f, -0.005796f, 0.002742f, 0.006637f, -0.004082f, 0.000443f, -0.007124f, -0.002475f, -0.001939f, -0.006166f, 0.008095f, -0.005878f, -0.004603f, 0.003412f, 0.000009f, -0.006946f, -0.000368f, - 0.001441f, 0.003155f, 0.000135f, 0.003675f, -0.002652f, -0.001832f, -0.002203f, 0.002566f, -0.002710f, 0.004359f, 0.000231f, -0.001442f, 0.001649f, 0.004552f, -0.007773f, -0.000305f, -0.002166f, 0.014688f, 0.008148f, 0.016369f, -0.006838f, -0.004149f, 0.009346f, -0.015497f, 0.013561f, 0.015504f, -0.008075f, -0.001528f, -0.024889f, 0.000967f, 0.008296f, 0.006673f, -0.005429f, -0.017000f, -0.034275f, 0.000345f, -0.005992f, -0.016376f, 0.003573f, 0.010668f, -0.014994f, -0.006509f, -0.016335f, 0.007960f, 0.000728f, -0.002607f, -0.005563f, -0.007201f, 0.017199f, 0.020095f, 0.007697f, 0.009468f, -0.004720f, -0.010397f, 0.028109f, 0.006835f, -0.005024f, -0.016829f, 0.012056f, 0.000306f, 0.016081f, -0.001641f, 0.019918f, 0.009859f, 0.013880f, 0.011703f, 0.005873f, 0.015457f, 0.019348f, -0.000764f, 0.003418f, -0.006445f, -0.000397f, 0.010463f, 0.004270f, 0.005597f, -0.017477f, -0.006549f, -0.003839f, -0.015253f, -0.014583f, -0.009683f, 0.007870f, 0.016410f, 0.021529f, 0.028218f, 0.006138f, 0.002283f, 0.022712f, -0.009330f, -0.017448f, -0.006214f, -0.008926f, 0.014621f, 0.011930f, 0.004441f, - -0.016531f, -0.004655f, 0.002739f, 0.002173f, -0.003357f, -0.007736f, 0.002134f, 0.001724f, 0.009287f, -0.002468f, -0.005400f, 0.000897f, 0.001672f, 0.002120f, 0.000014f, -0.000061f, 0.001716f, 0.004137f, -0.003221f, -0.003179f, 0.000130f, -0.000569f, -0.004453f, -0.001182f, -0.005636f, 0.005800f, 0.001779f, -0.004316f, -0.000323f, 0.003872f, -0.002277f, -0.000554f, -0.003405f, 0.001608f, 0.001995f, -0.001630f, 0.005052f, 0.003757f, -0.000717f, 0.026125f, -0.025111f, -0.011897f, -0.003527f, 0.009906f, -0.023508f, 0.014584f, -0.023165f, 0.011146f, -0.000254f, 0.011839f, 0.018818f, -0.007940f, 0.017169f, 0.018824f, 0.017857f, -0.010618f, 0.015032f, -0.016546f, -0.013264f, -0.002183f, -0.010297f, -0.000310f, -0.008884f, 0.014767f, -0.011240f, 0.003136f, -0.011101f, -0.019280f, -0.009123f, -0.004172f, 0.022923f, -0.019532f, 0.018011f, 0.007882f, -0.027069f, 0.030674f, 0.007381f, 0.003304f, 0.021428f, 0.003712f, 0.000762f, -0.012384f, -0.000274f, -0.006970f, 0.024458f, 0.010296f, 0.017078f, -0.006858f, -0.004298f, 0.011788f, 0.020331f, -0.021598f, 0.021075f, 0.003777f, -0.003683f, -0.004116f, - -0.020459f, 0.009647f, -0.009775f, 0.004015f, 0.000673f, -0.018446f, 0.005967f, 0.015433f, -0.014339f, 0.009756f, 0.006221f, 0.021647f, 0.002078f, -0.001559f, 0.012960f, 0.018925f, 0.001309f, -0.010994f, 0.012527f, -0.014803f, -0.007910f, 0.003846f, -0.006205f, 0.003897f, -0.005025f, 0.001817f, 0.007972f, 0.005936f, -0.006258f, 0.005181f, -0.003345f, 0.004167f, -0.004473f, 0.013178f, 0.001078f, 0.012583f, -0.001777f, 0.003113f, -0.002933f, -0.001148f, -0.004299f, 0.007964f, 0.003100f, -0.006648f, 0.006637f, 0.007988f, -0.001159f, -0.001142f, 0.004630f, -0.000383f, -0.000690f, 0.006655f, -0.000481f, 0.001615f, 0.004038f, 0.002801f, -0.001318f, 0.005087f, -0.004507f, -0.000792f, 0.000701f, 0.001372f, 0.000851f, -0.000294f, -0.000891f, -0.005086f, 0.002129f, 0.007567f, 0.001872f, -0.021276f, -0.015233f, 0.023088f, -0.029642f, 0.007441f, -0.015796f, 0.017577f, -0.018848f, 0.028727f, 0.009929f, 0.002769f, -0.024977f, 0.012701f, 0.021075f, 0.005572f, -0.012861f, -0.008341f, -0.007381f, 0.019598f, 0.010619f, -0.027357f, 0.003826f, -0.019352f, -0.001113f, 0.002219f, -0.016588f, 0.021692f, - 0.021718f, -0.009874f, 0.004722f, 0.014778f, -0.018086f, -0.002731f, -0.005607f, -0.014918f, 0.031701f, -0.011525f, -0.007162f, -0.015974f, -0.026775f, -0.004216f, 0.000432f, -0.009206f, 0.003905f, -0.022082f, 0.001883f, 0.001592f, -0.004500f, 0.017510f, -0.003713f, -0.013559f, 0.007006f, 0.000028f, -0.010249f, 0.008770f, 0.037573f, -0.007487f, 0.008886f, 0.002101f, -0.025651f, -0.004107f, 0.022737f, 0.010342f, 0.022570f, -0.002262f, 0.013013f, -0.017982f, 0.008016f, 0.008043f, 0.002581f, -0.015267f, 0.014095f, 0.005089f, -0.039880f, 0.003183f, -0.007278f, 0.026697f, -0.010309f, 0.020753f, 0.019046f, 0.015478f, -0.002000f, 0.006001f, 0.000808f, 0.001652f, -0.002690f, -0.004279f, 0.010298f, 0.004307f, -0.000242f, -0.006783f, -0.009742f, -0.002126f, 0.004028f, 0.006877f, 0.004734f, 0.008793f, 0.000199f, -0.002210f, -0.003682f, -0.002652f, 0.003026f, 0.005326f, -0.000587f, 0.004238f, 0.002571f, 0.000911f, 0.003638f, -0.000559f, 0.003807f, -0.006337f, -0.008161f, -0.010420f, -0.000618f, 0.004998f, 0.002073f, -0.004791f, -0.001925f, -0.003294f, -0.003974f, 0.006671f, 0.001858f, 0.003087f, - 0.002612f, -0.046761f, 0.052299f, 0.005930f, 0.020480f, -0.038409f, 0.020553f, 0.026832f, -0.031503f, 0.011634f, 0.015193f, 0.011699f, -0.020453f, 0.002384f, 0.003290f, -0.007076f, 0.011511f, 0.024010f, -0.019760f, -0.016478f, -0.006205f, 0.020315f, 0.017522f, 0.024904f, -0.001488f, 0.010369f, -0.019027f, -0.005172f, -0.005147f, 0.003856f, 0.011554f, 0.031908f, 0.018877f, 0.011437f, 0.005840f, -0.001324f, 0.015089f, -0.005944f, -0.027880f, -0.005615f, 0.007837f, 0.008562f, -0.016433f, -0.012487f, -0.020285f, 0.003612f, -0.001869f, 0.006774f, -0.013396f, 0.023235f, 0.022678f, -0.020129f, 0.046990f, 0.001921f, -0.004626f, -0.000515f, -0.010124f, -0.002372f, -0.003310f, -0.019358f, 0.000034f, -0.000183f, 0.012265f, -0.040019f, 0.009461f, -0.014338f, 0.028611f, 0.034660f, 0.014820f, 0.014264f, 0.006234f, 0.002096f, 0.031218f, -0.006141f, -0.023584f, 0.019707f, -0.010780f, 0.005117f, 0.015276f, 0.028158f, 0.003701f, 0.002575f, -0.023012f, -0.001212f, 0.006359f, 0.017796f, -0.008119f, 0.009568f, 0.004430f, -0.007114f, 0.018008f, 0.002873f, 0.007913f, -0.005544f, -0.001978f, -0.005494f, - 0.000603f, 0.001897f, -0.003080f, -0.000365f, 0.005221f, -0.003247f, 0.005295f, 0.003561f, -0.004188f, -0.000613f, 0.002305f, -0.001844f, 0.000155f, -0.003942f, -0.012632f, -0.003737f, -0.002168f, 0.012717f, 0.015684f, 0.001385f, 0.002063f, -0.004769f, -0.005630f, 0.001169f, 0.001457f, -0.006852f, -0.005472f, -0.003640f, -0.003308f, 0.004125f, -0.007680f, -0.000518f, -0.005718f, 0.019407f, 0.003945f, -0.013022f, 0.012678f, 0.018901f, 0.016438f, 0.010498f, 0.019553f, -0.023158f, -0.014698f, 0.002910f, -0.020958f, -0.004994f, -0.003360f, 0.004972f, -0.005256f, -0.013472f, -0.017072f, -0.010107f, 0.008697f, 0.014836f, -0.025324f, 0.005669f, -0.002504f, -0.000413f, -0.030558f, -0.027326f, -0.004652f, -0.021133f, 0.010256f, -0.024135f, 0.001720f, 0.013335f, 0.018930f, -0.016367f, 0.022463f, 0.005974f, -0.002070f, -0.004644f, 0.033238f, -0.008944f, -0.001510f, -0.026315f, -0.014819f, 0.021969f, -0.001519f, 0.008497f, -0.025468f, -0.027736f, -0.007536f, -0.015523f, -0.002632f, 0.001519f, -0.010220f, -0.012960f, 0.008005f, -0.012007f, 0.001201f, -0.017834f, -0.009690f, -0.000159f, -0.029777f, 0.003059f, - 0.019786f, 0.004060f, 0.010445f, 0.021737f, 0.036830f, -0.035119f, 0.006566f, -0.021547f, -0.021152f, -0.011569f, -0.016050f, -0.010054f, -0.009432f, 0.036259f, 0.019873f, 0.020221f, 0.004231f, 0.006178f, -0.025881f, 0.001609f, -0.009054f, 0.004500f, -0.011187f, 0.016249f, 0.021084f, 0.002405f, -0.009417f, -0.006100f, -0.017839f, 0.001987f, 0.011109f, 0.006468f, -0.004255f, 0.011737f, 0.005563f, 0.012407f, -0.002507f, -0.001837f, 0.002051f, 0.008208f, -0.004922f, 0.003723f, -0.007277f, -0.009826f, 0.007448f, 0.003043f, 0.001586f, 0.002033f, -0.013849f, -0.007882f, -0.000012f, 0.011090f, -0.008950f, 0.005753f, -0.012016f, -0.003634f, -0.001880f, 0.004682f, 0.002947f, -0.003186f, -0.002902f, -0.015631f, 0.006862f, 0.037581f, 0.039810f, 0.043672f, -0.031483f, 0.002905f, 0.023821f, 0.018863f, -0.018151f, -0.035271f, -0.003596f, -0.004787f, -0.027602f, -0.015744f, 0.054064f, 0.004758f, 0.004239f, 0.020562f, -0.001731f, 0.009103f, -0.006784f, -0.020674f, 0.014570f, 0.012226f, -0.028124f, -0.040283f, -0.031032f, -0.024603f, -0.023340f, 0.002835f, 0.007572f, 0.012677f, -0.015313f, 0.016133f, - 0.004356f, -0.007288f, -0.016235f, -0.000043f, 0.001562f, -0.025496f, -0.019742f, 0.003505f, -0.004071f, 0.004066f, -0.015131f, 0.013256f, 0.004605f, -0.014335f, -0.031195f, -0.012083f, -0.010102f, -0.041843f, -0.012699f, 0.004452f, 0.021580f, -0.001539f, 0.025438f, -0.003893f, -0.001425f, -0.035602f, -0.007005f, 0.014656f, 0.007436f, -0.059903f, 0.017980f, 0.005698f, -0.016154f, -0.009775f, -0.016875f, -0.019361f, -0.000102f, 0.001370f, -0.018454f, -0.005720f, 0.012924f, 0.018055f, 0.028436f, -0.020755f, 0.001728f, 0.016093f, 0.000015f, -0.045731f, -0.036076f, 0.000008f, -0.009007f, 0.011990f, 0.000400f, -0.010931f, -0.015784f, 0.008051f, -0.004007f, 0.007349f, 0.019635f, -0.000097f, -0.008564f, -0.015319f, -0.028080f, -0.009441f, 0.002547f, -0.004375f, -0.004072f, 0.002292f, 0.002695f, 0.013226f, -0.005763f, 0.001735f, 0.005646f, 0.002933f, -0.009596f, 0.001589f, -0.001806f, -0.024730f, 0.003419f, -0.008915f, -0.010473f, 0.004449f, 0.003965f, -0.007239f, -0.001501f, 0.009412f, 0.003534f, 0.002766f, -0.008364f, -0.010160f, -0.002769f, -0.000442f, 0.001493f, 0.006787f, -0.011015f, -0.000969f, - -0.006904f, -0.004308f, -0.009080f, 0.015366f, -0.011980f, 0.042575f, -0.035378f, -0.021586f, -0.006723f, -0.067444f, -0.034920f, 0.000351f, -0.042739f, 0.034183f, -0.014635f, -0.013524f, 0.004466f, 0.077578f, 0.037810f, 0.002890f, 0.016450f, -0.003084f, -0.020051f, -0.001568f, -0.031362f, -0.022677f, 0.011662f, 0.011660f, 0.014479f, -0.021772f, 0.029150f, 0.017897f, 0.032900f, -0.032304f, 0.005937f, 0.048214f, 0.005145f, 0.002395f, 0.010113f, -0.045381f, 0.012386f, -0.011157f, 0.008234f, -0.018033f, -0.042544f, -0.002245f, 0.018191f, 0.021698f, 0.006235f, -0.006369f, 0.003867f, -0.001604f, 0.015065f, -0.032292f, -0.046792f, 0.008864f, -0.016603f, 0.028726f, -0.010601f, -0.011470f, 0.037824f, 0.008677f, 0.016708f, 0.003285f, -0.030557f, -0.012535f, -0.002964f, 0.017219f, 0.049680f, 0.037925f, -0.010428f, -0.042928f, -0.000086f, -0.004691f, 0.016822f, -0.026374f, -0.032567f, -0.018697f, 0.016644f, -0.033584f, -0.004445f, -0.028147f, 0.001026f, 0.023116f, 0.000158f, -0.042327f, -0.008492f, 0.005866f, 0.012072f, 0.005517f, -0.025645f, -0.017683f, -0.027498f, 0.004597f, -0.005052f, -0.012152f, - -0.008559f, -0.012153f, 0.003334f, -0.004973f, -0.010845f, -0.003180f, 0.009272f, 0.000109f, 0.000579f, -0.014293f, 0.000628f, -0.001218f, -0.008207f, 0.000889f, 0.018745f, 0.006053f, 0.004238f, -0.018168f, 0.008125f, -0.001923f, -0.001077f, 0.002950f, 0.000610f, -0.000289f, -0.002701f, -0.010817f, -0.011059f, -0.009908f, 0.013399f, 0.010788f, -0.003902f, -0.027112f, -0.008939f, -0.010060f, -0.001098f, -0.014438f, -0.077745f, 0.029473f, 0.024102f, -0.011736f, -0.051531f, -0.011656f, -0.020109f, -0.021096f, 0.022130f, 0.027500f, -0.003277f, 0.007264f, -0.058518f, 0.020118f, -0.073139f, -0.018733f, -0.006746f, 0.014156f, 0.036149f, 0.057784f, 0.023676f, -0.033948f, 0.007376f, 0.040289f, 0.004953f, 0.012050f, 0.021574f, -0.034483f, -0.013653f, -0.005685f, 0.009908f, -0.024370f, -0.013426f, -0.007582f, -0.018569f, -0.014075f, 0.024199f, 0.023955f, 0.005734f, 0.001754f, 0.041287f, -0.008117f, 0.019013f, -0.047489f, 0.030821f, 0.008715f, -0.043339f, 0.004137f, 0.013208f, -0.040494f, -0.005719f, -0.039604f, 0.012644f, 0.016364f, 0.017154f, -0.026728f, -0.002819f, 0.026257f, -0.022608f, 0.000105f, - -0.004112f, 0.043489f, -0.026429f, 0.031993f, 0.015738f, -0.040895f, 0.035162f, -0.030156f, 0.022413f, 0.030129f, -0.031209f, 0.017101f, -0.026725f, -0.032662f, -0.049597f, -0.041026f, -0.045417f, -0.010854f, 0.007355f, -0.013636f, 0.038520f, 0.040527f, -0.017855f, 0.035704f, -0.006167f, -0.007693f, 0.044908f, -0.010275f, -0.031240f, 0.021130f, -0.005288f, -0.023981f, -0.019072f, 0.017906f, 0.002475f, 0.009231f, 0.013530f, 0.002418f, 0.010988f, 0.018031f, -0.005603f, 0.020235f, 0.013206f, 0.010051f, 0.010772f, 0.001614f, 0.006300f, 0.017198f, 0.013107f, 0.017442f, 0.001797f, 0.014476f, -0.003552f, 0.000948f, 0.011836f, -0.006340f, -0.023660f, 0.010741f, 0.002765f, -0.000018f, -0.000418f, 0.010265f, -0.021092f, 0.010331f, 0.013280f, 0.011505f, -0.014322f, 0.011779f, -0.062026f, -0.029738f, -0.030923f, 0.052788f, 0.000827f, 0.019244f, -0.009512f, 0.075190f, 0.011193f, -0.051519f, 0.002913f, 0.055044f, -0.021482f, 0.011663f, -0.010029f, 0.004071f, -0.033438f, -0.044780f, 0.069009f, 0.048931f, -0.019942f, 0.037381f, 0.014171f, 0.048858f, 0.055592f, -0.017251f, -0.014151f, 0.049409f, - 0.035943f, 0.003320f, -0.016702f, -0.025693f, -0.027008f, 0.022470f, 0.043396f, 0.020042f, -0.008929f, 0.028983f, -0.016504f, 0.027471f, -0.013493f, 0.040405f, 0.072047f, 0.054766f, -0.060259f, 0.026380f, -0.011001f, -0.024953f, -0.001672f, 0.019927f, 0.019099f, 0.132422f, -0.014346f, -0.002161f, -0.022582f, -0.024412f, 0.025040f, 0.047347f, -0.012692f, 0.035807f, 0.030326f, -0.004965f, 0.000198f, -0.026698f, 0.025493f, 0.021419f, 0.069941f, 0.071284f, 0.086592f, 0.035578f, -0.023272f, -0.018893f, -0.041152f, 0.038487f, -0.060426f, 0.042253f, -0.056780f, 0.032037f, -0.020641f, -0.034375f, 0.023335f, -0.091207f, -0.072478f, 0.012240f, 0.013092f, -0.026669f, -0.026052f, 0.041378f, 0.020054f, -0.039589f, 0.004794f, -0.009634f, -0.022218f, 0.006155f, 0.009893f, 0.002520f, 0.010034f, 0.012155f, 0.021791f, -0.011347f, 0.003448f, -0.013554f, -0.023606f, -0.014607f, 0.004411f, 0.001172f, 0.030236f, 0.005878f, -0.008571f, -0.026111f, 0.003000f, -0.010829f, -0.009168f, -0.012052f, 0.007713f, 0.018054f, 0.005642f, 0.015567f, 0.012668f, 0.020837f, -0.010139f, 0.015691f, 0.001128f, 0.004023f, - -0.002541f, 0.000636f, -0.013777f, 0.014417f, 0.035188f, 0.018691f, -0.004916f, -0.004809f, 0.030130f, 0.025445f, -0.021007f, 0.008368f, 0.015817f, -0.009952f, 0.043060f, 0.010637f, -0.096664f, 0.023650f, 0.014128f, -0.071690f, 0.005598f, -0.011338f, 0.004337f, 0.027839f, -0.002212f, -0.066207f, -0.010628f, -0.020345f, -0.002433f, 0.048787f, 0.058586f, -0.031482f, -0.006851f, -0.026262f, 0.015463f, -0.050526f, -0.098700f, -0.034804f, -0.028838f, 0.006295f, 0.003038f, 0.046537f, -0.067011f, 0.033613f, -0.014500f, -0.006565f, 0.029520f, 0.014185f, 0.049009f, 0.011818f, 0.019753f, 0.051862f, -0.056727f, 0.073528f, 0.059078f, 0.030979f, 0.055509f, -0.020078f, 0.021988f, -0.049733f, -0.008610f, -0.024599f, 0.046260f, -0.038817f, 0.011063f, -0.084371f, -0.104206f, 0.071413f, -0.001771f, 0.046365f, -0.030601f, 0.030962f, -0.019465f, 0.007349f, -0.010518f, -0.068455f, -0.020380f, -0.045512f, -0.020461f, 0.025841f, 0.104194f, 0.037407f, -0.089069f, -0.019763f, 0.025511f, -0.020270f, -0.012045f, -0.059146f, -0.029434f, 0.046940f, -0.015790f, 0.011883f, 0.010627f, -0.036633f, 0.025141f, -0.004787f, - 0.003362f, -0.075923f, -0.020755f, -0.000994f, -0.033448f, -0.019231f, 0.004456f, -0.051213f, 0.006962f, 0.012192f, -0.040372f, -0.032414f, -0.057637f, -0.043585f, -0.002546f, -0.023905f, -0.010152f, 0.002012f, -0.015389f, -0.016215f, -0.005382f, -0.025651f, -0.010966f, 0.003839f, 0.019368f, -0.022601f, -0.006667f, -0.039044f, 0.015537f, 0.010124f, 0.024818f, -0.015947f, 0.025750f, -0.050705f, -0.001433f, 0.000353f, -0.001995f, 0.008142f, -0.006708f, 0.005724f, -0.022110f, -0.024588f, 0.001804f, 0.010217f, 0.000911f, -0.019341f, 0.006980f, 0.005985f, -0.060255f, 0.031748f, 0.031653f, 0.056337f, -0.027565f, 0.020671f, -0.031686f, -0.036671f, 0.016264f, 0.074854f, 0.121075f, -0.007481f, -0.008168f, 0.002636f, -0.002837f, -0.053904f, 0.084642f, 0.040852f, 0.044934f, 0.034906f, -0.024747f, 0.029593f, -0.048009f, -0.068651f, -0.012108f, 0.051714f, 0.033274f, -0.024426f, -0.016153f, -0.003203f, 0.041420f, 0.001991f, 0.030103f, 0.030018f, 0.049064f, 0.016720f, -0.031387f, -0.029220f, 0.027889f, -0.032912f, -0.025121f, 0.014932f, 0.053856f, 0.050324f, -0.057518f, -0.043847f, 0.029059f, 0.035514f, - 0.106184f, -0.024368f, -0.058491f, -0.059768f, 0.050559f, -0.038088f, 0.047659f, 0.054858f, 0.109206f, 0.233242f, -0.052561f, -0.029201f, -0.087762f, -0.138391f, -0.044833f, -0.069430f, 0.007455f, 0.097087f, -0.014771f, 0.051687f, 0.072341f, 0.048376f, -0.027573f, -0.085428f, -0.141501f, 0.079250f, -0.006189f, 0.090080f, -0.046636f, -0.121495f, 0.041946f, -0.071712f, -0.097126f, -0.048789f, -0.031417f, 0.031450f, 0.029522f, 0.055696f, -0.004859f, -0.025949f, -0.005043f, -0.001434f, -0.050702f, -0.047504f, 0.023770f, -0.016252f, 0.048434f, 0.045803f, -0.022351f, 0.045637f, -0.036140f, 0.001930f, 0.043148f, 0.005715f, -0.069585f, 0.019318f, -0.035548f, -0.004976f, -0.012128f, -0.008130f, -0.051636f, -0.040310f, 0.006983f, 0.061172f, 0.063238f, -0.059064f, -0.008258f, 0.074521f, 0.069011f, 0.001369f, 0.013611f, -0.065037f, -0.036454f, 0.011208f, 0.037520f, -0.055944f, 0.013375f, 0.046174f, 0.021114f, 0.018448f, 0.003699f, 0.029786f, 0.042434f, 0.022633f, -0.006452f, 0.007840f, -0.046107f, 0.009632f, -0.041944f, -0.117272f, 0.030653f, -0.048494f, 0.049951f, 0.008077f, 0.028300f, 0.024859f, - -0.107160f, -0.075723f, -0.036996f, -0.022968f, -0.024185f, -0.043335f, -0.012794f, -0.072556f, -0.045792f, 0.036130f, -0.046827f, 0.091778f, -0.066705f, 0.007778f, 0.019722f, -0.006385f, 0.008984f, -0.003100f, 0.022725f, -0.020297f, -0.021737f, -0.003145f, 0.017292f, -0.002080f, 0.040024f, -0.036041f, 0.009329f, 0.057772f, 0.019294f, 0.009313f, 0.030061f, 0.004357f, -0.022173f, -0.014039f, 0.047308f, 0.011120f, -0.072046f, -0.031676f, -0.058249f, -0.026273f, 0.079697f, 0.074035f, -0.074637f, -0.007657f, -0.085002f, -0.020038f, -0.006049f, 0.020567f, 0.044292f, -0.069833f, 0.048185f, -0.059353f, -0.009018f, -0.039993f, 0.091672f, -0.017617f, 0.065009f, 0.060391f, 0.134073f, -0.060552f, 0.055996f, 0.009585f, 0.053274f, 0.018841f, 0.040939f, -0.065948f, -0.059951f, 0.089426f, 0.005565f, -0.002711f, -0.061626f, 0.072311f, -0.023007f, 0.037397f, -0.064902f, 0.139710f, -0.073242f, 0.077987f, -0.092015f, 0.037467f, -0.069021f, 0.039448f, -0.063472f, 0.048629f, -0.039701f, 0.028798f, -0.021555f, 0.016111f, -0.033549f, -0.021035f, -0.015152f, -0.003806f, 0.013751f, 0.002696f, 0.011376f, 0.001347f, - 0.011221f, -0.004753f, -0.016381f, -0.027733f, 0.014276f, 0.014550f, 0.005549f, 0.013361f, -0.009058f, 0.005502f, -0.006848f, 0.005750f, 0.049363f, -0.011606f, -0.032773f, 0.005286f, -0.017880f, -0.036212f, 0.013223f, -0.019603f, 0.016223f, -0.016387f, 0.013775f, -0.031624f, 0.014630f, -0.041009f, 0.027562f, 0.060085f, 0.011075f, -0.104404f, -0.044763f, -0.063905f, 0.005771f, -0.013363f, -0.141671f, -0.063237f, -0.035574f, -0.074552f, -0.045579f, -0.142841f, -0.120172f, -0.020296f, 0.054185f, -0.077795f, -0.045569f, -0.009758f, -0.065850f, -0.013739f, -0.003454f, -0.063797f, -0.015523f, 0.015250f, 0.005233f, -0.085270f, -0.047553f, -0.047866f, -0.025599f, -0.029033f, -0.006886f, -0.058652f, 0.052420f, 0.034652f, 0.073978f, 0.106433f, 0.093046f, 0.025041f, 0.098273f, 0.040363f, 0.019216f, -0.040963f, 0.035780f, 0.036846f, 0.029813f, -0.009354f, -0.030856f, -0.013473f, 0.026217f, 0.044610f, 0.222135f, 0.031656f, 0.047484f, 0.034170f, 0.092144f, 0.036668f, 0.081219f, 0.145698f, -0.067188f, -0.139003f, 0.019769f, 0.091881f, 0.163045f, 0.073155f, -0.136582f, 0.020679f, -0.032326f, 0.204764f, - 0.151614f, 0.183416f, 0.168811f, -0.142653f, -0.092990f, 0.120593f, 0.144889f, -0.039575f, -0.080355f, -0.097983f, 0.227151f, 0.151635f, -0.007161f, -0.191311f, 0.048859f, -0.005338f, -0.040452f, 0.055371f, 0.016922f, -0.014768f, -0.038895f, 0.001376f, 0.033086f, 0.085665f, 0.061993f, -0.047557f, -0.017379f, -0.011093f, -0.007980f, 0.049452f, 0.037010f, 0.038924f, 0.003275f, 0.022014f, 0.079745f, 0.054569f, 0.013657f, 0.033221f, -0.018193f, 0.040880f, 0.052660f, 0.067769f, 0.086245f, 0.067547f, 0.052914f, 0.003311f, -0.008110f, -0.014102f, -0.002409f, -0.034029f, -0.017023f, -0.014614f, -0.042404f, -0.056379f, -0.064117f, -0.113544f, -0.062538f, -0.039883f, -0.066437f, -0.126429f, -0.086369f, -0.072783f, -0.084966f, -0.102360f, -0.107713f, -0.034187f, -0.038308f, -0.057064f, -0.029434f, -0.033501f, -0.020039f, -0.030810f, -0.029168f, -0.029120f, -0.020561f, -0.027779f, -0.016399f, -0.022176f, -0.015284f, -0.017647f, -0.009113f, -0.020093f, -0.001233f, -0.019845f, -0.026832f, -0.035479f, -0.104280f, 0.166800f, 0.134683f, -0.116888f, 0.025938f, -0.002881f, 0.018643f, -0.004737f, -0.011669f, 0.042788f, - -0.043318f, 0.041777f, -0.017224f, -0.000071f, 0.016504f, 0.013301f, 0.014894f, -0.000371f, -0.024570f, -0.015914f, 0.026779f, -0.022346f, -0.002906f, 0.025622f, -0.014210f, -0.015064f, -0.020644f, -0.037966f, -0.037906f, 0.027386f, -0.013868f, 0.010013f, -0.023859f, 0.004458f, -0.050540f, -0.009422f, 0.013772f, 0.032185f, -0.020712f, 0.006775f, 0.022221f, 0.035264f, -0.008584f, 0.029133f, -0.023983f, 0.093535f, -0.034917f, 0.032027f, 0.004269f, 0.017983f, -0.017638f, 0.024532f, -0.010027f, 0.066525f, -0.010966f, 0.020345f, -0.046752f, 0.060990f, -0.032314f, -0.002893f, -0.009106f, 0.008533f, -0.018340f, 0.036446f, -0.042537f, 0.034212f, -0.038981f, 0.050163f, -0.052919f, 0.063716f, -0.042646f, -0.023495f, -0.026728f, -0.013938f, 0.002579f, -0.042728f, 0.027539f, -0.025558f, 0.024168f, 0.001391f, 0.033400f, 0.011977f, 0.023124f, 0.040007f, 0.017607f, -0.014731f, 0.011031f, 0.009273f, -0.005677f, 0.006614f, -0.012581f, 0.013970f, -0.006994f, -0.000667f, -0.012276f, 0.027823f, -0.028067f, 0.001869f, -0.002357f, 0.022370f, -0.004186f, 0.003939f, -0.005157f, 0.008458f, -0.013104f, 0.009413f, - -0.011143f, -0.006922f, 0.022186f, 0.018770f, -0.005599f, -0.020781f, 0.013169f, 0.016431f, 0.019154f, -0.018200f, 0.015029f, -0.012950f, 0.011433f, 0.001538f, 0.004722f, -0.019590f, 0.020260f, -0.008490f, -0.022543f, 0.017979f, 0.018919f, -0.016829f, -0.002463f, -0.004694f, 0.005778f, -0.016469f, 0.021913f, -0.021025f, 0.008175f, -0.022921f, 0.020191f, -0.017056f, 0.017506f, -0.014104f, 0.021348f, -0.024063f, 0.025571f, -0.023814f, 0.013043f, -0.020188f, 0.019958f, -0.022879f, 0.018409f, -0.015172f, 0.022780f, -0.025337f, 0.025401f, -0.022470f, 0.021280f, -0.017037f, 0.019747f, -0.018370f, 0.016860f, -0.014758f, 0.013711f, -0.015086f, 0.013219f, -0.014002f, 0.014877f, -0.015346f, 0.014650f, -0.012814f, 0.012972f, -0.013237f, 0.012441f, -0.012039f, 0.013933f, -0.011887f, 0.013591f, -0.009951f, 0.011791f, -0.009714f, 0.009920f, -0.010212f, 0.012152f, -0.008994f, 0.009306f, -0.007310f, 0.010527f, -0.007825f, 0.007667f, -0.006966f, 0.005184f, -0.005325f, 0.006645f, -0.004526f, 0.007103f, -0.005455f, 0.007237f, -0.005486f, -0.040811f, -0.084480f, -0.092958f, 0.079274f, 0.020137f, -0.024379f, - -0.126018f, -0.050595f, 0.070425f, 0.014444f, 0.050904f, 0.056727f, -0.020301f, -0.035472f, 0.001817f, 0.013521f, 0.010548f, 0.009487f, -0.022182f, -0.016303f, -0.012262f, 0.000154f, 0.034262f, 0.018533f, -0.001529f, 0.007761f, -0.009714f, -0.016427f, -0.010423f, -0.008566f, 0.000732f, 0.010156f, -0.007648f, 0.013081f, 0.013775f, -0.046265f, -0.020476f, -0.020438f, 0.024845f, 0.017274f, -0.001455f, -0.021510f, -0.029065f, 0.025463f, 0.005708f, 0.017090f, 0.023804f, -0.042918f, -0.028506f, 0.007885f, 0.034700f, 0.017515f, -0.048800f, -0.030094f, -0.039630f, -0.018916f, 0.010315f, 0.009001f, -0.016273f, 0.017994f, -0.007299f, -0.017123f, 0.007745f, 0.016392f, -0.012158f, 0.003905f, -0.000406f, -0.015312f, -0.001334f, -0.005414f, -0.034644f, -0.035057f, -0.002098f, -0.037402f, -0.027982f, 0.001165f, 0.011396f, -0.008174f, 0.041304f, 0.030437f, 0.017405f, 0.001273f, -0.003903f, -0.018391f, 0.022900f, 0.011159f, 0.013380f, 0.012839f, -0.011509f, -0.004905f, -0.000827f, 0.006512f, -0.021572f, -0.026363f, -0.003582f, 0.011533f, 0.001756f, 0.014605f, 0.010263f, -0.013783f, 0.004560f, 0.008004f, - 0.005728f, -0.004482f, 0.014705f, -0.018337f, -0.010851f, 0.033545f, 0.019357f, -0.020768f, -0.015505f, -0.010615f, -0.018415f, 0.020326f, -0.000652f, 0.002836f, 0.009408f, 0.005971f, -0.000184f, -0.000880f, -0.013721f, 0.008659f, 0.005277f, 0.011930f, -0.006755f, -0.002118f, 0.007854f, -0.000870f, -0.009062f, 0.032789f, -0.081751f, -0.222768f, -0.084670f, 0.050717f, 0.107298f, 0.252996f, 0.148722f, 0.040433f, 0.052980f, -0.043855f, -0.081866f, -0.179221f, -0.120802f, -0.092665f, -0.030284f, 0.036714f, 0.098664f, 0.076623f, 0.095787f, 0.092477f, 0.062758f, -0.021179f, -0.072966f, -0.063257f, -0.064908f, -0.052257f, -0.075247f, 0.023089f, -0.047550f, 0.003457f, 0.035074f, 0.064672f, 0.036591f, 0.060531f, 0.079959f, 0.001452f, 0.023896f, 0.001724f, -0.001173f, -0.044699f, -0.005850f, -0.039782f, -0.077486f, -0.122484f, -0.068120f, -0.037408f, 0.009947f, 0.009258f, 0.072865f, 0.100967f, 0.097226f, 0.115557f, 0.016918f, 0.075812f, 0.030165f, -0.006912f, -0.071050f, -0.069785f, -0.094522f, -0.124301f, -0.084591f, -0.096341f, -0.060849f, 0.000280f, 0.029949f, 0.069081f, 0.111856f, 0.164492f, - 0.132002f, 0.119388f, 0.064826f, -0.024756f, -0.024240f, -0.064714f, -0.137317f, -0.105708f, -0.173554f, -0.114318f, -0.050456f, -0.038629f, 0.054426f, 0.104149f, 0.143039f, 0.100734f, 0.077383f, 0.046827f, 0.053689f, 0.046921f, -0.007361f, -0.054238f, -0.051443f, -0.081536f, -0.089923f, -0.071835f, -0.048881f, -0.045745f, -0.043178f, 0.019726f, 0.042418f, 0.074604f, 0.088891f, 0.072620f, 0.064132f, 0.036343f, 0.001471f, 0.001700f, 0.008460f, -0.054055f, -0.091234f, -0.037622f, -0.079649f, -0.090689f, -0.002842f, 0.022465f, 0.050673f, 0.052013f, 0.033579f, 0.054978f, 0.032281f, 0.043945f, -0.009075f, -0.001120f, -0.038472f, -0.023479f, -0.020320f, -0.025814f, -0.029082f, -0.023869f, 0.004169f, -0.010068f, 0.000325f, 0.026652f, 0.037563f, 0.023258f, 0.020735f, -0.005405f, -0.006240f, -0.000582f, -0.000256f, -0.011617f, -0.013133f, -0.002482f, -0.007638f, -0.008383f, -0.004536f, -0.000086f, -0.007981f, -0.003017f, 0.016801f, 0.005588f, 0.007925f, 0.010559f, 0.009041f, 0.003242f, 0.003092f, -0.002002f, -0.007113f, -0.010405f, -0.007478f, -0.012192f, -0.010005f, -0.002718f, 0.001906f, 0.004212f, - 0.008297f, 0.006581f, 0.006082f, 0.007901f, 0.005493f, -0.003401f, 0.001453f, 0.003179f, -0.002350f, -0.006498f, -0.006831f, -0.005556f, -0.000433f, -0.002484f, -0.003969f, -0.002462f, 0.002267f, -0.000263f, 0.002320f, 0.005971f, 0.005886f, 0.004900f, 0.002730f, 0.000436f, 0.000091f, -0.001849f, -0.001761f, -0.002943f, -0.002718f, -0.002109f, -0.001807f, -0.002960f, -0.001565f, -0.001533f, -0.001125f, 0.000863f, 0.003585f, 0.002029f, 0.003018f, 0.003437f, 0.002857f, 0.001727f, 0.000442f, -0.001098f, -0.001903f, -0.003016f, -0.002232f, -0.002526f, -0.002318f, -0.000826f, -0.000054f, -0.000940f, 0.000464f, 0.002131f, 0.002598f, 0.001692f, 0.001057f, 0.001152f, 0.001287f, -0.000295f, -0.001117f, -0.001242f, -0.001051f, -0.000964f, -0.000477f, -0.000384f, -0.000051f, 0.000083f, 0.000203f, 0.000063f, 0.000115f, 0.000097f, 0.000105f, 0.000030f, 0.000040f}, - {0.015075f, 0.009664f, 0.000295f, 0.000542f, 0.011877f, 0.002989f, -0.005872f, 0.004068f, 0.007910f, -0.003953f, -0.006517f, -0.023463f, 0.001275f, -0.007861f, 0.015716f, -0.007741f, 0.007889f, 0.006393f, -0.000801f, 0.005179f, 0.008701f, 0.002424f, 0.002045f, -0.004230f, -0.005149f, -0.003944f, -0.006493f, 0.005727f, 0.003392f, -0.003012f, 0.005120f, -0.003473f, -0.005191f, -0.006148f, -0.002989f, -0.004843f, 0.000426f, 0.000143f, -0.000907f, 0.010820f, -0.006215f, 0.008864f, -0.003173f, -0.002169f, 0.005910f, -0.003589f, 0.001850f, -0.003588f, 0.006478f, -0.001840f, -0.018369f, 0.005535f, 0.000646f, 0.002327f, 0.009244f, 0.004849f, 0.000669f, -0.002023f, -0.006074f, 0.015803f, -0.008317f, 0.006192f, 0.003203f, -0.006431f, 0.006623f, 0.003024f, -0.007687f, 0.006173f, -0.007929f, 0.000531f, -0.000820f, 0.007015f, 0.001142f, 0.007330f, -0.002796f, -0.016152f, -0.003473f, -0.003838f, -0.007712f, -0.006829f, -0.006844f, 0.005683f, 0.002467f, 0.002044f, 0.003403f, 0.003480f, 0.000677f, 0.001694f, -0.001902f, 0.001220f, -0.001404f, -0.000560f, -0.003963f, 0.000032f, -0.001317f, 0.003088f, - -0.000294f, -0.000864f, -0.000607f, 0.000406f, -0.002055f, 0.000793f, -0.000893f, 0.001202f, -0.000657f, 0.000297f, -0.002369f, -0.000202f, -0.002960f, -0.001726f, -0.001690f, 0.002500f, 0.028482f, -0.014248f, 0.001457f, -0.000985f, -0.000964f, 0.006378f, -0.005276f, -0.020674f, -0.019063f, 0.008779f, -0.006120f, -0.001889f, 0.004704f, 0.000914f, 0.004641f, 0.005190f, -0.009152f, 0.004733f, 0.003228f, -0.006530f, 0.007344f, 0.011126f, -0.007494f, -0.002563f, 0.000420f, -0.012306f, -0.005639f, 0.001076f, 0.014385f, -0.002495f, -0.000964f, -0.012263f, 0.007017f, -0.000149f, -0.011011f, -0.004799f, 0.003625f, -0.001807f, 0.001957f, -0.009554f, -0.000381f, 0.000479f, -0.003985f, 0.009874f, 0.002383f, 0.002089f, 0.009536f, -0.001174f, 0.012431f, -0.004398f, -0.016166f, 0.006299f, 0.006104f, -0.005803f, -0.002619f, -0.002132f, 0.001825f, 0.000546f, 0.004299f, -0.003838f, 0.002790f, -0.008902f, -0.000554f, 0.005565f, -0.008513f, -0.001152f, 0.004751f, 0.001390f, -0.004529f, 0.002704f, -0.003469f, 0.000735f, 0.008034f, 0.002780f, -0.011425f, 0.013517f, 0.004977f, 0.004874f, -0.001327f, 0.007714f, - 0.008589f, -0.003953f, -0.000697f, 0.001784f, 0.002095f, 0.002594f, 0.003538f, -0.000521f, 0.000153f, 0.002607f, -0.000544f, 0.000254f, 0.001575f, 0.004125f, -0.000833f, 0.004204f, -0.000312f, 0.000910f, 0.002075f, 0.000446f, -0.001406f, -0.000492f, 0.001373f, 0.001342f, -0.000400f, -0.002073f, -0.006908f, -0.016686f, -0.001991f, 0.001798f, 0.018424f, -0.007017f, 0.015791f, 0.003960f, -0.000535f, 0.000980f, 0.014128f, -0.003283f, -0.003861f, -0.004087f, 0.009959f, 0.020222f, 0.005300f, -0.013942f, -0.018917f, -0.026917f, 0.003532f, -0.007031f, -0.011313f, -0.006211f, -0.017543f, -0.000083f, -0.008139f, 0.001324f, 0.008431f, 0.008876f, -0.010000f, -0.008960f, -0.006359f, 0.001126f, -0.014883f, -0.001624f, 0.004636f, -0.006742f, -0.002448f, 0.001565f, 0.006011f, -0.008365f, 0.002192f, 0.019681f, -0.000807f, -0.000955f, -0.007245f, 0.008197f, -0.003642f, 0.000725f, 0.006265f, 0.008151f, 0.012117f, -0.001933f, 0.001797f, -0.003647f, -0.000153f, -0.002069f, 0.001612f, 0.018909f, -0.020998f, 0.000470f, 0.004095f, 0.011173f, -0.004636f, -0.005560f, -0.001224f, -0.005249f, 0.015119f, -0.008323f, - -0.019792f, -0.001371f, -0.005898f, -0.008291f, 0.004928f, -0.019602f, 0.007255f, -0.002097f, -0.005432f, 0.000396f, 0.013855f, -0.004102f, -0.005196f, -0.005340f, 0.006647f, -0.006224f, -0.001679f, 0.001169f, -0.000558f, 0.002389f, 0.000230f, 0.000934f, 0.004119f, 0.000335f, 0.001084f, -0.001027f, 0.003313f, 0.000728f, -0.000649f, -0.003726f, -0.001994f, -0.000280f, -0.001949f, 0.003832f, 0.002342f, -0.002184f, 0.002867f, 0.000290f, 0.000431f, -0.002030f, 0.001074f, -0.000891f, 0.000097f, 0.000990f, -0.030754f, 0.011484f, -0.009623f, 0.012889f, -0.011590f, -0.001050f, 0.008916f, -0.017784f, -0.003063f, 0.005425f, -0.004851f, 0.025917f, -0.010884f, -0.003280f, -0.010384f, -0.008669f, 0.013302f, 0.014812f, 0.005718f, -0.017439f, -0.021069f, 0.019476f, 0.003251f, -0.019727f, 0.007356f, 0.000731f, 0.009321f, -0.005847f, 0.008892f, -0.011801f, 0.005738f, 0.019065f, 0.007857f, 0.008170f, 0.004309f, 0.000340f, -0.004872f, 0.003988f, 0.001467f, -0.012999f, 0.000198f, -0.004118f, -0.009575f, -0.009529f, -0.003642f, 0.007538f, -0.013734f, 0.001878f, -0.009942f, -0.001012f, -0.001538f, 0.004532f, - 0.008112f, 0.017227f, 0.006059f, -0.000094f, 0.007379f, -0.009199f, -0.013567f, -0.000236f, 0.003133f, 0.001414f, 0.016342f, -0.003717f, -0.002023f, -0.005226f, -0.002337f, 0.002334f, 0.007925f, -0.002149f, 0.003300f, -0.008111f, 0.013220f, -0.003467f, -0.004650f, -0.003048f, 0.004268f, -0.007179f, 0.000202f, 0.008200f, -0.000607f, -0.002340f, 0.001187f, 0.006518f, 0.005102f, -0.001002f, 0.004108f, -0.003508f, 0.002591f, -0.002116f, 0.000992f, 0.004673f, -0.001668f, 0.002007f, 0.001956f, -0.003162f, 0.003164f, 0.001973f, 0.000684f, -0.001345f, -0.002919f, -0.000672f, 0.003541f, 0.002396f, -0.001276f, 0.001458f, -0.000724f, 0.005879f, -0.000562f, -0.001609f, -0.015372f, -0.003587f, -0.009978f, -0.001019f, 0.020415f, 0.013049f, 0.009117f, -0.001552f, -0.017969f, 0.002507f, -0.011824f, -0.019046f, -0.006323f, 0.013707f, -0.010758f, -0.016888f, 0.004411f, 0.001449f, -0.008414f, 0.001804f, 0.009610f, 0.002647f, -0.022511f, -0.006380f, 0.014145f, 0.016663f, 0.008309f, -0.018656f, -0.006769f, 0.008501f, -0.003180f, -0.004017f, 0.001209f, 0.006245f, 0.001004f, 0.002308f, 0.019143f, 0.000036f, - 0.011579f, 0.008975f, -0.000148f, -0.008621f, -0.000212f, -0.005087f, 0.011413f, -0.006528f, -0.010890f, 0.000025f, 0.017908f, 0.001004f, 0.017790f, 0.009588f, 0.001725f, 0.011494f, -0.001939f, 0.024699f, 0.001993f, 0.012219f, 0.013921f, 0.001288f, -0.011511f, -0.001767f, -0.013772f, 0.007029f, -0.009869f, -0.005536f, -0.009100f, -0.006002f, -0.004367f, 0.004520f, 0.001529f, 0.006805f, -0.000282f, -0.007869f, -0.006849f, 0.002558f, 0.012724f, -0.003771f, 0.003148f, -0.013657f, 0.004328f, 0.011799f, 0.018118f, -0.006242f, -0.001348f, 0.002999f, -0.006229f, -0.000473f, 0.005982f, -0.001834f, 0.010989f, 0.000723f, 0.002502f, 0.000274f, 0.000524f, 0.004052f, -0.002676f, -0.001741f, -0.001426f, -0.000827f, 0.001112f, 0.001360f, -0.002067f, 0.001797f, -0.000628f, -0.002193f, -0.002668f, 0.000905f, -0.002532f, -0.001670f, -0.003176f, 0.001548f, 0.002205f, -0.000460f, 0.006200f, -0.004018f, 0.001096f, -0.000437f, -0.003509f, 0.005899f, -0.001698f, -0.000836f, -0.003080f, 0.003349f, 0.002209f, -0.000539f, 0.000899f, 0.002955f, 0.018641f, -0.027836f, -0.005123f, 0.023328f, -0.011570f, 0.004271f, - -0.017990f, 0.007934f, 0.032815f, -0.004432f, 0.001740f, -0.001382f, -0.023174f, 0.001877f, -0.001471f, 0.034819f, -0.010981f, -0.001699f, 0.015224f, -0.009591f, 0.021583f, -0.014545f, -0.002168f, -0.021993f, 0.024875f, 0.000345f, -0.009781f, 0.000318f, 0.009117f, -0.011562f, 0.017296f, -0.001838f, 0.015330f, -0.000109f, 0.008034f, -0.024041f, -0.015466f, -0.011217f, -0.003597f, 0.014493f, -0.021780f, 0.011647f, 0.009007f, 0.003039f, -0.009013f, -0.013138f, 0.029966f, 0.005951f, -0.003389f, 0.011621f, -0.010577f, 0.006299f, -0.014084f, -0.013842f, -0.005760f, -0.009295f, 0.032363f, 0.009661f, -0.006420f, -0.009618f, -0.012334f, 0.010169f, 0.008411f, 0.003057f, -0.011375f, -0.001394f, -0.004603f, 0.013821f, 0.001259f, 0.011179f, -0.026117f, 0.014207f, -0.002281f, 0.000698f, -0.002897f, 0.004592f, -0.011522f, -0.005367f, -0.018108f, -0.005936f, 0.006603f, 0.011050f, 0.011697f, 0.004317f, 0.004271f, 0.002724f, -0.006471f, 0.003860f, 0.002674f, -0.000487f, -0.004334f, -0.007241f, 0.003880f, 0.003604f, -0.005512f, 0.002845f, 0.000411f, -0.004572f, 0.003016f, 0.000822f, -0.001930f, -0.001092f, - 0.000314f, 0.000875f, -0.003335f, 0.002324f, 0.001322f, -0.005268f, -0.001195f, -0.002713f, 0.000465f, 0.003684f, 0.002579f, -0.000575f, 0.000199f, -0.002460f, 0.005912f, 0.000481f, -0.002016f, 0.011983f, 0.005997f, 0.009910f, 0.003065f, 0.000300f, -0.003511f, -0.014730f, -0.004456f, -0.009437f, 0.006051f, -0.000380f, 0.022603f, -0.018668f, -0.024100f, -0.005970f, 0.007722f, -0.007413f, -0.005716f, 0.019242f, 0.003983f, -0.010396f, -0.012004f, -0.012452f, 0.021018f, -0.010382f, 0.014251f, -0.006670f, 0.015577f, -0.015268f, 0.003527f, 0.023830f, 0.008248f, -0.032168f, 0.007567f, 0.000848f, -0.004008f, -0.002757f, 0.003442f, -0.003742f, 0.003261f, -0.005156f, 0.002710f, -0.001199f, -0.014311f, 0.014568f, 0.014950f, -0.004310f, 0.016547f, -0.013905f, -0.002310f, -0.003927f, -0.006557f, 0.018193f, -0.012897f, -0.022952f, -0.012808f, 0.004449f, -0.018693f, -0.017414f, -0.008645f, -0.005807f, -0.011932f, -0.000893f, 0.015546f, 0.016365f, 0.002605f, 0.017634f, 0.005596f, 0.002465f, 0.013397f, -0.014092f, -0.002379f, 0.000119f, -0.011554f, -0.000001f, -0.011189f, 0.013797f, -0.003813f, -0.002382f, - 0.011498f, -0.001971f, -0.003462f, -0.002237f, 0.013705f, -0.001545f, 0.004864f, -0.013109f, -0.004569f, 0.007514f, -0.008458f, 0.000747f, 0.000362f, 0.001587f, -0.006416f, -0.004401f, -0.003318f, 0.000333f, -0.003459f, -0.004143f, 0.001488f, -0.000532f, -0.003711f, -0.001562f, 0.000626f, -0.000286f, -0.001069f, -0.001181f, -0.002082f, 0.000825f, -0.006976f, -0.004821f, -0.004657f, -0.004615f, 0.000188f, -0.000145f, -0.001558f, 0.001852f, -0.003514f, 0.035885f, -0.017893f, -0.017231f, 0.011480f, 0.029140f, 0.005578f, 0.026231f, 0.014931f, 0.023810f, 0.010496f, -0.004600f, -0.010973f, 0.008446f, -0.017993f, -0.013735f, 0.019870f, 0.016577f, 0.041635f, -0.001206f, 0.005709f, -0.015591f, 0.016024f, 0.007170f, -0.018696f, -0.004545f, 0.023545f, -0.000213f, -0.026133f, -0.010657f, -0.014786f, -0.005127f, 0.014441f, 0.013204f, -0.009961f, -0.004930f, 0.018039f, -0.017699f, 0.007985f, 0.015127f, 0.018171f, -0.009882f, 0.015633f, -0.006778f, -0.023793f, 0.008239f, 0.021706f, -0.005963f, 0.006221f, 0.005181f, -0.007445f, 0.002525f, 0.006464f, -0.006904f, 0.002371f, 0.017500f, -0.010439f, -0.005621f, - 0.016222f, -0.003626f, -0.003339f, -0.027122f, -0.009600f, -0.016429f, -0.026827f, -0.018169f, 0.013402f, -0.008910f, -0.011489f, 0.023074f, 0.023165f, -0.005987f, 0.024920f, 0.009880f, 0.016363f, -0.004727f, -0.012933f, 0.010666f, -0.013409f, -0.026853f, -0.016127f, -0.006990f, 0.013169f, 0.005968f, 0.022092f, 0.003791f, -0.004783f, -0.003695f, -0.000024f, 0.003726f, -0.006886f, 0.000335f, -0.004003f, -0.000688f, 0.003876f, -0.000779f, 0.000620f, 0.007048f, -0.002598f, -0.001400f, 0.007113f, -0.005331f, -0.002671f, -0.003565f, 0.002110f, -0.003963f, 0.002605f, 0.001492f, 0.001123f, 0.003647f, 0.004799f, 0.002080f, 0.008651f, 0.000966f, 0.005922f, 0.001922f, 0.004459f, 0.005011f, -0.004447f, 0.003974f, 0.004385f, -0.003222f, -0.000943f, -0.000522f, -0.006218f, 0.001734f, -0.003211f, -0.018189f, -0.019459f, 0.026324f, -0.004405f, 0.060154f, -0.024797f, -0.011660f, -0.001402f, 0.014674f, -0.008410f, -0.008200f, -0.024808f, -0.028682f, 0.012931f, 0.002489f, 0.039569f, 0.012828f, -0.004065f, -0.004517f, 0.026276f, 0.026853f, -0.022209f, 0.016121f, -0.021217f, 0.005580f, -0.009153f, -0.010916f, - -0.006531f, 0.004520f, -0.003475f, 0.013957f, 0.006962f, 0.015617f, -0.001973f, -0.007434f, -0.014681f, -0.002823f, 0.017026f, 0.001543f, -0.022690f, -0.002834f, 0.005484f, -0.009659f, 0.017921f, 0.015188f, 0.003125f, 0.005300f, -0.049513f, -0.018930f, 0.017262f, -0.001132f, 0.027743f, 0.007781f, 0.031275f, -0.003486f, -0.016967f, 0.016750f, -0.009501f, 0.011438f, 0.002003f, 0.045646f, 0.037689f, 0.004491f, 0.010646f, -0.006176f, 0.014973f, 0.015953f, 0.017178f, 0.018642f, 0.030224f, -0.000509f, 0.005407f, -0.011549f, -0.010127f, 0.009525f, -0.014168f, -0.035031f, -0.026037f, -0.000557f, 0.021771f, -0.010944f, -0.019862f, -0.011343f, -0.010720f, -0.001131f, -0.023709f, -0.000894f, 0.004382f, -0.000100f, -0.003209f, -0.002269f, 0.002441f, 0.005180f, -0.000661f, 0.003922f, -0.017708f, -0.010784f, -0.005665f, -0.012478f, 0.001096f, -0.004463f, -0.007324f, -0.004847f, -0.002995f, 0.007235f, 0.002915f, -0.006650f, 0.002187f, 0.015920f, 0.008142f, -0.003273f, -0.005662f, -0.007139f, -0.004210f, -0.005738f, -0.012405f, 0.004633f, -0.004793f, -0.000915f, 0.008987f, 0.003026f, -0.001792f, 0.001819f, - 0.003446f, -0.052182f, 0.041260f, -0.001138f, 0.004734f, -0.014421f, 0.023152f, -0.049541f, -0.031742f, -0.009976f, -0.012690f, -0.001155f, -0.044416f, 0.008749f, 0.000956f, -0.001149f, -0.020261f, -0.020619f, 0.008452f, 0.028378f, 0.004432f, -0.037766f, -0.008153f, -0.030915f, 0.024500f, 0.015831f, 0.001271f, -0.013663f, -0.006443f, -0.006953f, 0.020196f, -0.002828f, -0.000367f, -0.004319f, -0.027354f, 0.014283f, 0.019244f, -0.011438f, -0.006094f, 0.014985f, -0.029780f, -0.021684f, -0.032860f, -0.011101f, 0.008313f, -0.020937f, -0.009985f, -0.000846f, -0.034033f, 0.010459f, 0.021051f, 0.037251f, 0.005390f, -0.003647f, 0.002317f, -0.024422f, -0.019159f, 0.028529f, -0.002003f, -0.010783f, -0.006703f, -0.043562f, -0.023373f, 0.008579f, -0.009190f, -0.005042f, -0.003379f, 0.028576f, -0.004929f, -0.027073f, 0.002193f, 0.021169f, -0.000529f, -0.013260f, -0.000249f, 0.001499f, -0.011194f, -0.018977f, 0.014949f, -0.034925f, -0.017297f, -0.000225f, 0.016905f, -0.021336f, 0.013520f, 0.008987f, 0.012317f, 0.013152f, -0.013426f, -0.003366f, 0.016098f, 0.003107f, -0.009849f, 0.009262f, 0.013318f, -0.012436f, - 0.004620f, 0.011971f, 0.011275f, 0.017749f, 0.001180f, -0.005407f, -0.003049f, 0.002919f, 0.000220f, 0.007803f, 0.006545f, 0.000607f, -0.001641f, -0.005663f, -0.001958f, 0.003900f, 0.007885f, -0.013115f, 0.001660f, -0.002500f, 0.005394f, 0.012635f, 0.000591f, 0.008842f, -0.004764f, 0.005864f, 0.007197f, 0.010641f, 0.008271f, 0.010379f, -0.000817f, 0.005944f, -0.001967f, 0.004524f, 0.027104f, 0.024839f, 0.008674f, 0.042469f, -0.019771f, -0.009527f, 0.006441f, -0.011823f, -0.003846f, 0.013494f, 0.045569f, -0.007995f, 0.008845f, -0.000848f, -0.003349f, -0.001324f, 0.050321f, -0.025196f, 0.025872f, -0.000838f, -0.033834f, 0.010480f, -0.033563f, -0.020778f, 0.018617f, -0.017992f, 0.013034f, 0.000155f, 0.001350f, 0.022203f, 0.017772f, -0.027965f, -0.031515f, -0.023908f, -0.008283f, 0.008298f, 0.008504f, 0.002767f, 0.005692f, -0.037886f, 0.005262f, -0.020615f, -0.047429f, 0.031405f, -0.009694f, 0.029494f, 0.031715f, 0.001263f, 0.011574f, -0.017770f, -0.021358f, -0.037599f, 0.008062f, 0.033314f, 0.005548f, -0.015496f, 0.001572f, -0.008104f, 0.004765f, -0.020538f, -0.016739f, -0.020511f, - 0.003005f, -0.003028f, -0.006926f, 0.021240f, 0.019226f, 0.011216f, 0.031407f, 0.002967f, -0.033913f, 0.042655f, -0.032033f, -0.010351f, -0.008349f, -0.008985f, 0.035839f, -0.006416f, -0.052349f, 0.043555f, -0.017674f, -0.011194f, 0.011693f, 0.010584f, 0.033631f, 0.021115f, 0.013840f, 0.016012f, 0.014635f, 0.010748f, 0.000243f, 0.013665f, 0.016787f, 0.003933f, -0.000175f, 0.017785f, -0.003678f, 0.001503f, -0.017332f, -0.004707f, -0.005799f, -0.009439f, 0.001007f, -0.002011f, 0.010700f, 0.007439f, 0.002895f, -0.002032f, 0.004943f, 0.001656f, 0.003491f, 0.006841f, -0.002726f, -0.003527f, 0.001157f, -0.003487f, 0.005163f, 0.001946f, 0.002187f, 0.003765f, 0.002130f, 0.016344f, 0.012010f, 0.002881f, 0.003027f, 0.039015f, 0.044144f, 0.010001f, -0.084200f, 0.002629f, 0.023282f, -0.028050f, 0.016455f, 0.033148f, 0.001257f, 0.008740f, 0.020775f, 0.015913f, 0.005927f, 0.029771f, 0.006452f, -0.004525f, 0.056215f, 0.020721f, 0.007028f, 0.024135f, -0.019069f, 0.029688f, -0.021393f, -0.002154f, -0.002731f, -0.007252f, -0.031390f, 0.010095f, -0.022310f, 0.040018f, -0.003940f, -0.008231f, - 0.058928f, 0.007618f, 0.008328f, 0.019429f, 0.001898f, 0.011077f, -0.013634f, -0.026122f, -0.003274f, 0.017147f, -0.030924f, 0.035218f, 0.031715f, 0.023373f, 0.005868f, 0.013807f, -0.021473f, -0.022236f, -0.035172f, -0.015661f, -0.019134f, -0.018182f, 0.007956f, -0.003646f, -0.034453f, -0.015393f, 0.029672f, -0.000767f, -0.028484f, 0.015707f, -0.001898f, -0.019421f, -0.046042f, 0.002944f, -0.069608f, 0.040030f, -0.023927f, 0.036393f, 0.001427f, 0.009988f, 0.000847f, -0.013833f, 0.018071f, 0.061720f, 0.005330f, 0.017441f, -0.011193f, -0.048485f, 0.003915f, -0.005415f, 0.034958f, 0.020361f, -0.008685f, -0.001901f, -0.007686f, -0.004006f, 0.011636f, -0.014001f, 0.010899f, -0.001806f, -0.012524f, -0.012404f, 0.012660f, -0.015148f, -0.015137f, -0.020929f, -0.004585f, -0.015089f, 0.004302f, 0.012910f, 0.000494f, -0.003926f, -0.010082f, 0.018932f, -0.018288f, 0.004569f, 0.001922f, 0.001478f, -0.010900f, 0.007470f, 0.018374f, -0.000948f, -0.009729f, -0.002392f, 0.016728f, 0.017672f, -0.014644f, 0.016921f, -0.001628f, -0.004540f, 0.002318f, -0.001182f, 0.018453f, 0.004809f, -0.010437f, -0.008889f, - -0.000491f, 0.002024f, 0.010654f, 0.023522f, 0.017603f, 0.046079f, -0.062378f, 0.025173f, -0.036371f, 0.031757f, -0.015213f, -0.025967f, -0.007179f, -0.029968f, -0.012394f, -0.006378f, 0.011346f, 0.014392f, -0.008495f, 0.044278f, -0.001701f, -0.007157f, -0.005534f, -0.039347f, -0.004049f, 0.000564f, -0.033100f, 0.011126f, -0.028183f, -0.035554f, -0.011307f, 0.022052f, -0.059220f, -0.040018f, -0.026701f, 0.003467f, -0.041441f, -0.035055f, -0.028427f, -0.014028f, -0.011361f, -0.005078f, -0.027933f, 0.030562f, 0.005440f, -0.002534f, -0.020793f, -0.021250f, 0.041037f, -0.035084f, -0.024026f, 0.011119f, 0.011108f, 0.015060f, -0.020386f, -0.028266f, -0.011887f, -0.004918f, 0.013564f, -0.020185f, -0.008058f, -0.008021f, -0.024389f, -0.041520f, -0.052803f, 0.050551f, -0.054728f, -0.002643f, 0.004082f, -0.009173f, -0.009970f, -0.048698f, 0.019201f, -0.011365f, -0.051340f, -0.000765f, -0.011143f, 0.048901f, 0.012172f, 0.034922f, 0.032996f, -0.009367f, 0.013012f, -0.004982f, -0.009224f, 0.024694f, -0.005990f, 0.014369f, -0.018471f, 0.001873f, -0.018611f, 0.016421f, 0.012637f, 0.002706f, 0.011570f, -0.004471f, - -0.001669f, 0.012565f, 0.005909f, -0.011437f, 0.008880f, 0.020222f, -0.002963f, 0.004999f, -0.010689f, -0.024907f, -0.002594f, -0.001796f, -0.000783f, -0.017157f, -0.003765f, 0.003250f, -0.002501f, -0.008942f, 0.012051f, -0.001767f, -0.006757f, -0.020071f, -0.020730f, 0.000743f, 0.011408f, 0.007152f, 0.004413f, -0.000951f, 0.014946f, 0.017407f, -0.007624f, 0.004101f, 0.004095f, -0.000687f, 0.005036f, 0.012771f, -0.055667f, 0.064851f, 0.010432f, 0.006740f, -0.011019f, 0.033048f, 0.000585f, 0.054275f, -0.014563f, 0.037314f, 0.020150f, -0.053050f, 0.023261f, 0.008994f, 0.025455f, -0.004102f, -0.014052f, -0.020967f, -0.007677f, 0.026296f, 0.057418f, 0.006330f, -0.008249f, -0.035971f, 0.013801f, -0.038922f, -0.006092f, 0.039854f, -0.035643f, 0.000352f, 0.002612f, -0.005870f, -0.013401f, -0.014898f, 0.063578f, -0.013400f, -0.015516f, -0.007374f, 0.014473f, 0.021629f, 0.008049f, 0.001391f, -0.012880f, 0.000159f, 0.009555f, 0.038929f, -0.008811f, 0.055549f, 0.032295f, 0.016816f, -0.013237f, 0.048484f, 0.054690f, -0.004110f, -0.014463f, -0.002463f, -0.017757f, 0.005853f, -0.017589f, 0.027997f, - 0.009401f, 0.040160f, 0.030699f, -0.048209f, -0.054820f, 0.066198f, 0.048848f, 0.008223f, -0.009310f, -0.025606f, -0.036121f, -0.013633f, 0.037004f, -0.034343f, -0.037713f, -0.004804f, -0.010192f, -0.059782f, -0.013452f, 0.013918f, -0.023380f, 0.003773f, -0.000171f, 0.003751f, 0.004885f, 0.010595f, -0.017797f, -0.010380f, -0.018292f, -0.006027f, -0.000097f, 0.003309f, -0.009990f, -0.004130f, -0.001780f, -0.029131f, -0.009924f, -0.013533f, -0.006569f, -0.000144f, 0.002617f, 0.001895f, 0.004969f, -0.001243f, 0.001088f, -0.014974f, 0.008996f, -0.012784f, -0.015583f, 0.011794f, 0.004748f, -0.027186f, -0.003044f, -0.007995f, 0.013767f, 0.027353f, 0.000567f, -0.021914f, 0.018198f, -0.004397f, 0.004755f, 0.007168f, -0.007369f, -0.004498f, 0.001661f, -0.011294f, -0.015995f, 0.029106f, -0.022956f, -0.007106f, -0.004442f, 0.006147f, 0.001395f, -0.034751f, -0.101622f, 0.051660f, -0.048608f, 0.020511f, 0.073376f, 0.011627f, -0.030035f, 0.021531f, 0.025906f, -0.010104f, -0.022594f, -0.004298f, -0.049796f, 0.017111f, -0.051774f, -0.031255f, 0.021508f, 0.002667f, 0.009569f, -0.046746f, -0.009101f, -0.033604f, - -0.028440f, -0.041581f, -0.014169f, 0.014917f, -0.024543f, -0.024938f, 0.025249f, 0.003919f, -0.001552f, 0.008366f, -0.047882f, -0.002478f, -0.037121f, 0.032736f, 0.009419f, -0.091642f, 0.023736f, 0.049882f, -0.010024f, 0.029958f, 0.025321f, 0.017230f, 0.013947f, 0.047661f, 0.037510f, 0.001859f, -0.033216f, -0.006642f, 0.037910f, 0.024748f, -0.030744f, 0.002746f, -0.036001f, -0.011283f, 0.003008f, 0.027000f, 0.036035f, -0.064685f, -0.050996f, -0.028358f, 0.006035f, -0.018886f, -0.006617f, 0.061127f, 0.010528f, 0.014846f, 0.047779f, -0.018677f, 0.010302f, -0.011561f, 0.048881f, -0.024112f, 0.002539f, 0.005305f, 0.036364f, -0.009486f, -0.003229f, 0.013589f, 0.015267f, -0.001379f, 0.007752f, 0.023867f, 0.001516f, -0.000248f, -0.000371f, 0.023252f, -0.010946f, -0.006889f, 0.006072f, 0.010336f, 0.007285f, 0.003487f, 0.011337f, -0.004510f, 0.000648f, -0.009940f, 0.000312f, -0.007274f, -0.000541f, -0.010198f, 0.018071f, -0.012692f, -0.018735f, 0.018733f, 0.012602f, 0.013044f, -0.013034f, -0.017103f, 0.000619f, -0.031052f, -0.008013f, -0.015781f, -0.015878f, 0.006873f, 0.000457f, -0.016361f, - 0.006297f, 0.007301f, -0.001213f, -0.009501f, -0.008957f, 0.007765f, 0.005210f, 0.015468f, 0.033833f, 0.032702f, -0.057029f, 0.011932f, -0.012287f, -0.014998f, -0.013257f, 0.038259f, 0.020314f, -0.027902f, -0.015928f, 0.029199f, -0.052461f, 0.002983f, 0.019077f, 0.029257f, -0.006238f, 0.006484f, -0.061224f, -0.000218f, -0.027129f, 0.020490f, 0.007515f, 0.033991f, -0.053850f, -0.027140f, -0.007847f, 0.006662f, -0.004651f, 0.010538f, 0.003832f, 0.029392f, 0.055329f, -0.035016f, -0.045292f, 0.011957f, -0.047200f, -0.013877f, 0.019731f, -0.034260f, -0.033344f, 0.002818f, 0.020499f, 0.028850f, 0.020415f, -0.012832f, -0.002928f, -0.060025f, -0.040533f, 0.053373f, -0.037045f, 0.072032f, -0.030560f, 0.014703f, 0.010505f, -0.000519f, -0.052943f, 0.066334f, -0.030911f, -0.006232f, -0.011958f, 0.025930f, 0.049886f, -0.050452f, -0.028760f, 0.059327f, -0.043914f, -0.000044f, -0.016602f, 0.012154f, 0.068571f, 0.000426f, -0.005089f, -0.042415f, 0.052442f, -0.017065f, 0.013607f, 0.017393f, -0.033234f, -0.039987f, 0.003873f, 0.023127f, -0.012024f, 0.011873f, -0.095007f, -0.044250f, -0.013637f, -0.048388f, - -0.023919f, 0.008133f, 0.031428f, -0.006590f, -0.008686f, -0.024720f, 0.000610f, -0.002320f, -0.018145f, -0.006202f, 0.011067f, 0.000972f, 0.014846f, 0.007028f, 0.014067f, -0.018630f, -0.002708f, -0.003874f, 0.019586f, 0.015581f, -0.011823f, 0.036066f, 0.013237f, -0.014470f, 0.021801f, 0.006026f, -0.002208f, -0.011378f, 0.008221f, -0.008223f, -0.007796f, 0.016134f, 0.001321f, -0.007054f, -0.006392f, 0.013527f, -0.003794f, 0.012232f, -0.002833f, 0.022226f, 0.004568f, 0.003256f, -0.009009f, -0.006552f, -0.008061f, -0.002936f, 0.002671f, 0.032508f, -0.037632f, 0.010162f, 0.030706f, 0.030354f, 0.069207f, -0.044424f, 0.063552f, -0.011508f, -0.042056f, -0.041164f, 0.010244f, 0.026394f, -0.018742f, -0.008797f, -0.029033f, -0.012105f, 0.053807f, -0.038411f, -0.003802f, 0.043212f, -0.014313f, 0.025687f, -0.017616f, -0.008539f, 0.045841f, -0.001889f, 0.002093f, 0.044224f, 0.030573f, 0.010631f, -0.005738f, 0.037310f, 0.051023f, -0.052523f, 0.047935f, -0.046427f, 0.024165f, -0.033590f, 0.006709f, 0.039467f, 0.013329f, -0.090504f, 0.039799f, 0.025348f, -0.000557f, 0.045474f, -0.071889f, -0.014110f, - 0.048454f, 0.041186f, 0.006677f, 0.064883f, -0.034919f, 0.000479f, -0.008589f, -0.010348f, 0.027696f, 0.011271f, 0.048568f, 0.040402f, -0.030768f, 0.026710f, -0.056903f, -0.017837f, 0.004279f, -0.003173f, -0.004652f, -0.009503f, -0.088918f, -0.049220f, -0.068734f, -0.046793f, 0.050668f, -0.031967f, -0.007930f, 0.005517f, 0.083119f, -0.020250f, -0.029620f, 0.066618f, 0.040727f, -0.002260f, 0.053923f, 0.007904f, 0.010009f, -0.025652f, -0.000149f, -0.021512f, -0.022643f, -0.011864f, 0.017315f, -0.021746f, -0.011448f, 0.010040f, 0.003745f, 0.016437f, -0.006965f, -0.003164f, 0.021412f, 0.012267f, 0.001049f, -0.017495f, -0.014084f, -0.002480f, -0.005568f, 0.012547f, 0.021365f, -0.001958f, 0.003609f, 0.004650f, -0.008985f, 0.053471f, 0.016402f, 0.003475f, 0.001940f, -0.017951f, 0.014092f, -0.031804f, -0.002555f, 0.026749f, -0.002110f, -0.007526f, 0.019437f, 0.010898f, 0.005809f, -0.000828f, -0.017755f, 0.011317f, 0.012523f, 0.003855f, 0.006758f, 0.009018f, -0.006326f, 0.006892f, -0.021479f, 0.022201f, 0.055812f, -0.029652f, 0.022010f, 0.027910f, -0.038906f, 0.005816f, -0.048019f, 0.019279f, - -0.004434f, -0.025295f, 0.039438f, 0.001842f, 0.061085f, -0.002999f, -0.044331f, 0.077011f, -0.012915f, 0.008304f, 0.011345f, -0.070946f, 0.022383f, 0.062333f, 0.022814f, -0.026134f, -0.046068f, 0.005550f, 0.012282f, 0.053389f, 0.034857f, -0.016531f, -0.009396f, -0.040425f, 0.001264f, 0.060310f, -0.080207f, 0.025259f, 0.057581f, -0.050357f, 0.019619f, 0.005939f, 0.020566f, 0.060315f, 0.020852f, 0.023668f, -0.010118f, -0.057967f, 0.061619f, -0.010636f, -0.030062f, 0.127849f, 0.063568f, 0.033081f, 0.006551f, 0.003506f, -0.058875f, -0.048475f, -0.021259f, 0.038016f, -0.000248f, -0.034125f, -0.023489f, 0.047789f, -0.027771f, 0.033104f, 0.019501f, -0.022695f, 0.035790f, 0.016502f, -0.049311f, -0.024573f, -0.028465f, 0.008899f, 0.032663f, -0.062445f, 0.021859f, -0.064000f, -0.080472f, -0.050731f, 0.079445f, -0.026476f, 0.017361f, -0.017717f, -0.025996f, -0.003321f, -0.031199f, -0.021867f, -0.016031f, 0.004578f, -0.029823f, 0.004240f, 0.019457f, 0.000557f, -0.026071f, -0.019729f, 0.010855f, 0.003674f, 0.036076f, 0.005245f, -0.038685f, -0.014965f, -0.021588f, 0.033439f, -0.005323f, -0.012708f, - -0.030284f, 0.000178f, 0.020413f, 0.009262f, 0.023086f, -0.010389f, -0.002117f, 0.006998f, 0.023533f, 0.014653f, 0.000879f, -0.011921f, 0.017950f, -0.014727f, -0.000053f, 0.009517f, -0.012702f, 0.000228f, 0.026287f, -0.000187f, 0.006223f, -0.026522f, -0.017420f, -0.020028f, 0.013999f, -0.021342f, -0.005058f, 0.077239f, 0.129248f, -0.022384f, -0.005053f, -0.107284f, -0.036485f, -0.079068f, -0.052956f, 0.071923f, 0.004435f, 0.019040f, -0.061041f, 0.018868f, -0.053681f, -0.119924f, 0.016682f, 0.056610f, -0.005423f, 0.006741f, 0.060985f, -0.082423f, 0.092644f, 0.045859f, 0.028457f, -0.046907f, 0.062079f, 0.120342f, -0.024716f, 0.036761f, 0.091230f, 0.076952f, 0.136265f, 0.029127f, 0.048520f, 0.036641f, 0.032713f, 0.116992f, -0.031202f, -0.014556f, 0.042751f, 0.025178f, -0.013353f, 0.064115f, 0.003337f, 0.013083f, -0.038918f, -0.105541f, 0.003548f, 0.069571f, 0.010157f, 0.041965f, -0.076296f, 0.004258f, -0.101271f, -0.000241f, -0.108783f, 0.007048f, 0.075536f, -0.010025f, -0.032720f, -0.103656f, 0.134875f, 0.024237f, 0.008691f, 0.139782f, -0.002050f, -0.032330f, -0.023993f, 0.006951f, - 0.027708f, -0.008004f, 0.000201f, -0.011357f, -0.074361f, 0.043691f, 0.016806f, -0.046639f, -0.028692f, 0.036498f, -0.044964f, -0.077641f, -0.037988f, 0.016698f, 0.073923f, -0.077692f, 0.061544f, -0.003211f, 0.032798f, -0.013715f, 0.026777f, -0.018748f, -0.002778f, 0.006557f, 0.007516f, 0.024712f, 0.022540f, 0.004529f, 0.047383f, -0.002592f, 0.019513f, 0.024831f, 0.014639f, 0.010819f, 0.011431f, 0.040821f, 0.030617f, 0.014659f, -0.015786f, -0.006760f, 0.035760f, -0.047300f, 0.018538f, -0.028221f, 0.007150f, -0.010500f, 0.032469f, 0.037004f, 0.075564f, 0.042047f, 0.071387f, 0.040722f, 0.015530f, 0.074587f, 0.077928f, 0.073718f, 0.042923f, -0.012337f, 0.044987f, 0.049163f, 0.031151f, 0.059188f, 0.045497f, 0.000538f, 0.014766f, 0.010660f, 0.011206f, 0.017978f, 0.014223f, -0.014182f, -0.013219f, 0.001749f, 0.014516f, -0.002430f, 0.000135f, -0.003260f, -0.006538f, -0.014026f, -0.012263f, -0.004811f, -0.002862f, -0.004866f, 0.000478f, -0.007738f, -0.003388f, -0.042852f, -0.137743f, 0.004821f, 0.181967f, 0.025005f, -0.039239f, -0.037214f, -0.085460f, -0.056402f, 0.000740f, 0.113038f, - 0.018451f, -0.078287f, -0.007271f, 0.029600f, 0.005773f, 0.000655f, -0.009307f, 0.018328f, -0.056503f, -0.022153f, 0.026228f, 0.061966f, 0.062374f, -0.062105f, -0.025002f, 0.003048f, 0.006820f, 0.014597f, -0.071333f, 0.005172f, 0.009630f, -0.019859f, 0.048335f, -0.002039f, 0.056040f, 0.085482f, 0.039907f, 0.016539f, 0.036154f, -0.050825f, 0.043137f, -0.041310f, 0.065382f, 0.117150f, 0.037306f, -0.065441f, -0.056990f, 0.052376f, 0.017885f, 0.099724f, 0.074241f, 0.021912f, -0.020684f, -0.023942f, 0.001391f, 0.004015f, -0.036888f, 0.038071f, 0.032684f, 0.005351f, 0.089599f, 0.061351f, -0.010104f, 0.043433f, 0.047964f, 0.022056f, 0.047967f, 0.001026f, -0.088535f, -0.011829f, -0.022622f, -0.021141f, 0.097060f, 0.044462f, 0.014323f, 0.077540f, 0.044808f, 0.049080f, 0.059758f, 0.020269f, -0.064476f, -0.032100f, -0.003219f, -0.002051f, -0.023888f, -0.019321f, -0.039821f, 0.022793f, 0.013527f, 0.036042f, -0.019084f, 0.040343f, 0.009784f, 0.041831f, 0.026753f, -0.010217f, -0.023569f, 0.005656f, 0.009696f, -0.000304f, 0.003067f, 0.030550f, 0.001184f, 0.048211f, 0.063567f, 0.018144f, - -0.007387f, 0.004237f, 0.045117f, 0.010302f, -0.016822f, -0.012985f, 0.035208f, -0.002392f, -0.013537f, -0.007630f, 0.010257f, 0.025992f, 0.050552f, -0.028033f, 0.002163f, -0.018245f, 0.002243f, 0.001869f, 0.040792f, -0.023206f, 0.019030f, 0.025882f, 0.013307f, -0.019588f, 0.003779f, 0.030257f, 0.001549f, 0.000938f, 0.026954f, 0.004119f, 0.015292f, 0.011250f, 0.000527f, -0.005399f, 0.002829f, -0.003760f, 0.004179f, 0.002534f, 0.004562f, 0.002239f, 0.011642f, 0.004631f, 0.003108f, 0.003751f, 0.007617f, 0.003514f, 0.008339f, 0.003386f, 0.004076f, 0.004436f, 0.003501f, 0.004667f, 0.002322f, 0.004324f, 0.005933f, 0.006742f, 0.006500f, 0.007320f, 0.005819f, 0.007738f, 0.005736f, 0.006307f, 0.002664f, 0.006422f, 0.002672f, 0.005917f, 0.001976f, 0.005966f, 0.004050f, 0.005469f, 0.001310f, 0.005465f, 0.003515f, 0.005815f, 0.003801f, 0.006550f, 0.002022f, 0.007005f, 0.002114f, 0.006263f, 0.003481f, 0.006210f, 0.002428f, 0.006986f, 0.002305f, 0.005688f, 0.003242f, 0.006110f, 0.002999f, 0.007211f, -0.000072f, -0.026229f, -0.128411f, -0.027162f, 0.073011f, 0.039754f, - 0.158734f, 0.009354f, -0.022003f, -0.070048f, -0.137642f, -0.151496f, -0.024418f, 0.066265f, 0.074670f, 0.047899f, -0.075912f, -0.100944f, 0.000253f, -0.011838f, 0.041527f, 0.106551f, 0.054949f, -0.009380f, -0.062526f, -0.085655f, -0.053157f, 0.004068f, -0.052040f, 0.021204f, -0.043370f, -0.021434f, 0.071689f, 0.058921f, 0.053044f, 0.020797f, -0.071526f, -0.019775f, -0.068366f, -0.052950f, -0.026856f, 0.041426f, -0.006655f, 0.043956f, 0.108231f, 0.112207f, -0.045560f, 0.013274f, -0.081457f, -0.056037f, -0.038337f, -0.006776f, 0.016474f, 0.065200f, 0.070227f, 0.095708f, 0.068855f, 0.024688f, -0.046135f, -0.043163f, -0.009346f, 0.030970f, -0.076788f, 0.005981f, 0.092133f, 0.072901f, -0.017939f, 0.098679f, 0.088930f, 0.049831f, 0.092897f, -0.173704f, 0.042468f, -0.049209f, -0.052541f, 0.030087f, -0.027675f, -0.002279f, 0.176571f, 0.148671f, 0.053742f, -0.045656f, -0.002964f, -0.069599f, -0.012601f, -0.093668f, -0.032204f, -0.015609f, 0.037337f, 0.115102f, 0.061352f, 0.024251f, 0.021620f, -0.018380f, -0.056540f, -0.074145f, 0.001360f, -0.048914f, 0.040432f, -0.004161f, 0.000891f, 0.044195f, - 0.037224f, 0.013705f, 0.038519f, 0.013293f, 0.059521f, -0.040605f, 0.000388f, -0.044785f, 0.019880f, -0.038948f, -0.034547f, 0.006335f, -0.009559f, 0.031094f, 0.056388f, 0.003448f, -0.049819f, -0.085969f, -0.024634f, -0.049807f, 0.007035f, 0.022433f, 0.042085f, -0.033200f, -0.010461f, 0.001559f, -0.000565f, 0.043643f, 0.003510f, -0.223742f, -0.253650f, -0.272722f, -0.275538f, -0.373533f, -0.022383f, -0.133956f, -0.043441f, 0.049267f, 0.124524f, 0.174795f, 0.180318f, 0.368694f, 0.395369f, 0.321822f, 0.239355f, 0.253546f, 0.241776f, 0.093061f, -0.036196f, -0.166499f, -0.166790f, -0.255873f, -0.083266f, -0.138749f, -0.103478f, -0.009850f, -0.217202f, -0.062597f, -0.194018f, -0.052926f, -0.222907f, -0.210165f, -0.097112f, -0.173540f, -0.017859f, -0.087727f, -0.081079f, -0.129808f, -0.085960f, -0.195924f, -0.138525f, -0.073688f, -0.067535f, -0.103716f, -0.063578f, -0.007768f, -0.083929f, 0.028073f, 0.125128f, -0.097714f, 0.148051f, 0.088663f, 0.197665f, 0.198510f, 0.173357f, 0.213753f, 0.180621f, 0.298213f, 0.296289f, 0.236204f, 0.316161f, 0.271023f, 0.414102f, 0.407706f, 0.480568f, 0.373925f, - 0.402597f, 0.438635f, 0.396309f, 0.473780f, 0.351142f, 0.513048f, 0.410115f, 0.156174f, 0.200518f, 0.052710f, 0.079409f, -0.277810f, -0.233060f, -0.260302f, -0.276910f, -0.292092f, -0.377200f, -0.355294f, -0.390370f, -0.428780f, -0.503898f, -0.421317f, -0.385639f, -0.428820f, -0.467483f, -0.557530f, -0.447083f, -0.495214f, -0.498287f, -0.378243f, -0.426213f, -0.246089f, -0.305222f, -0.209075f, -0.193935f, -0.102873f, -0.075056f, -0.106507f, -0.018268f, 0.050038f, 0.242161f, 0.229264f, 0.166648f, 0.188188f, 0.202694f, 0.274524f, 0.281446f, 0.304139f, 0.321027f, 0.275875f, 0.280574f, 0.205947f, 0.291942f, 0.298272f, 0.227483f, 0.159787f, 0.123659f, 0.179173f, 0.177572f, 0.137964f, 0.082973f, 0.045703f, 0.069948f, -0.018279f, 0.009720f, -0.032787f, -0.025698f, -0.132537f, -0.121000f, -0.088472f, -0.060899f, -0.080722f, -0.061506f, -0.029614f, -0.024027f, -0.032078f, -0.059325f, -0.054932f, -0.026913f, -0.035384f, -0.023017f, -0.019787f, 0.004278f, 0.009250f, 0.002038f, -0.009436f, -0.002146f, 0.004780f, -0.002912f, -0.003020f, 0.003564f, 0.006461f, 0.013072f, 0.003552f, -0.003315f, -0.000618f, - 0.004457f, 0.003725f, -0.002958f, -0.001273f, 0.007081f, 0.004459f, 0.003749f, 0.004131f, 0.007547f, 0.006224f, 0.001730f, -0.000594f, 0.005333f, 0.005085f, 0.005611f, -0.001245f, -0.005906f, -0.003001f, 0.002105f, 0.007279f, 0.008683f, 0.004805f, 0.001802f, -0.004438f, -0.007026f, -0.005232f, -0.005174f, -0.010264f, -0.016768f, -0.021177f, -0.021696f, -0.022457f, -0.024540f, -0.026876f, -0.031217f, -0.034854f, -0.037673f, -0.037322f, -0.033849f, -0.031160f, -0.031244f, -0.030277f, -0.028528f, -0.018498f, -0.012673f, -0.009236f, -0.001988f, 0.004932f, 0.010546f, 0.016213f, 0.022183f, 0.025512f, 0.029653f, 0.029484f, 0.028466f, 0.028315f, 0.025408f, 0.021061f, 0.016310f, 0.013052f, 0.010586f, 0.007808f, 0.005354f, 0.003235f, 0.001934f, 0.000905f, 0.000685f, 0.000426f, 0.000309f, 0.000205f, 0.000113f, 0.000106f, 0.000195f, 0.000328f, 0.000398f} - }, - { - {-0.005191f, 0.009873f, -0.000298f, 0.004109f, 0.001650f, -0.008456f, -0.006335f, 0.002327f, -0.005698f, -0.008503f, 0.005001f, -0.000923f, 0.001377f, -0.004840f, 0.003723f, 0.000446f, -0.007521f, -0.000251f, 0.008889f, 0.007239f, -0.005373f, -0.009544f, -0.008687f, 0.001387f, -0.001928f, -0.001628f, -0.007379f, 0.008228f, -0.002067f, 0.002386f, -0.003313f, -0.001976f, -0.000650f, 0.003178f, -0.002116f, -0.004189f, -0.016311f, 0.005673f, -0.001150f, 0.005395f, 0.003243f, 0.002321f, -0.000330f, 0.011031f, 0.002150f, 0.002278f, 0.001621f, -0.005505f, -0.003485f, -0.000428f, 0.000898f, -0.005512f, -0.001232f, 0.002272f, -0.000676f, -0.005204f, -0.002693f, 0.000285f, 0.005272f, -0.008017f, -0.010900f, -0.013537f, 0.004919f, 0.007896f, 0.000885f, 0.006546f, 0.004832f, 0.000996f, -0.012396f, -0.000237f, -0.003174f, -0.004295f, 0.000312f, 0.000785f, 0.005271f, -0.001028f, 0.007461f, 0.005302f, -0.002235f, -0.007394f, -0.003544f, -0.001250f, 0.002006f, 0.000658f, 0.002510f, 0.002888f, 0.005239f, -0.000024f, -0.000397f, -0.002337f, -0.002003f, -0.001921f, -0.000798f, -0.004090f, -0.001876f, -0.002277f, - 0.001394f, -0.000193f, -0.000430f, -0.001200f, 0.002052f, -0.002856f, 0.005936f, 0.007753f, -0.001756f, -0.000075f, -0.011028f, 0.009886f, -0.012636f, 0.004920f, 0.021336f, -0.004537f, -0.007919f, 0.001241f, 0.011137f, 0.001214f, -0.003152f, -0.001509f, -0.003177f, -0.001983f, -0.010009f, -0.003867f, 0.004946f, -0.007919f, -0.004543f, 0.000489f, -0.000437f, 0.008831f, -0.005365f, 0.001683f, -0.002076f, 0.001964f, -0.001117f, -0.005091f, 0.009735f, 0.016603f, 0.004193f, -0.000896f, -0.003106f, 0.017968f, 0.000832f, -0.007444f, 0.000498f, -0.013312f, 0.000045f, 0.007028f, -0.010262f, -0.001248f, 0.002195f, -0.008135f, -0.002471f, 0.009496f, 0.001337f, -0.000953f, 0.009100f, -0.005996f, -0.009585f, 0.005485f, 0.003587f, -0.006622f, -0.003324f, -0.007093f, -0.008402f, -0.008960f, -0.005005f, -0.005092f, 0.007310f, 0.005279f, 0.001423f, -0.000132f, -0.005091f, 0.004784f, -0.001113f, -0.003388f, 0.006189f, 0.006934f, -0.004905f, -0.000895f, -0.002328f, -0.003036f, 0.000946f, 0.007938f, -0.003982f, 0.001847f, 0.007467f, 0.005040f, -0.001736f, 0.001991f, -0.001329f, -0.000112f, 0.003152f, -0.000354f, - 0.000028f, 0.003330f, -0.003479f, 0.001502f, 0.000687f, -0.001004f, -0.003210f, 0.002543f, 0.000253f, -0.001316f, 0.000722f, 0.000459f, -0.001171f, 0.000475f, -0.000616f, -0.000947f, -0.001894f, 0.010940f, -0.015828f, -0.010434f, -0.003731f, -0.002262f, 0.000586f, 0.002089f, -0.015090f, 0.010560f, -0.004732f, 0.003482f, 0.002217f, 0.003545f, 0.006663f, -0.000002f, -0.002141f, -0.004993f, 0.010949f, -0.000817f, 0.007135f, 0.013503f, -0.002870f, 0.011487f, 0.009813f, -0.008420f, 0.005708f, 0.005766f, 0.006192f, -0.014891f, -0.001433f, 0.000934f, -0.004642f, -0.009351f, 0.000198f, 0.010999f, -0.002521f, -0.004654f, -0.003634f, 0.003391f, 0.010214f, 0.005057f, -0.005138f, -0.000049f, -0.004228f, 0.000469f, -0.001309f, -0.005028f, 0.009544f, -0.012229f, -0.010079f, -0.009274f, 0.002933f, -0.001274f, -0.000279f, -0.011409f, -0.012027f, 0.002977f, -0.000199f, 0.000717f, -0.001136f, -0.000610f, -0.008963f, -0.005307f, -0.009805f, 0.001964f, 0.008509f, -0.002604f, 0.007557f, 0.001434f, 0.006726f, -0.014374f, 0.000120f, 0.002109f, -0.004746f, -0.002146f, 0.001983f, -0.005105f, -0.000572f, 0.003799f, - 0.004136f, -0.003170f, -0.009574f, 0.008506f, 0.001391f, 0.000232f, -0.002067f, -0.001208f, -0.007652f, 0.000363f, 0.000595f, -0.001336f, 0.001456f, 0.000270f, -0.002658f, 0.001183f, 0.001314f, -0.000759f, -0.001044f, -0.000366f, -0.000394f, -0.000504f, 0.000492f, 0.004077f, 0.000135f, -0.001204f, 0.003429f, 0.001514f, -0.000196f, -0.001107f, -0.000264f, -0.000552f, -0.005588f, 0.001195f, -0.001240f, 0.009202f, 0.014720f, 0.000798f, -0.005804f, -0.012789f, 0.005635f, 0.003612f, 0.003358f, 0.015608f, -0.010449f, 0.000222f, 0.001766f, -0.002996f, -0.005304f, 0.002190f, 0.000840f, 0.009356f, 0.020795f, -0.001982f, 0.003472f, 0.008622f, -0.003953f, 0.007678f, 0.013461f, -0.009636f, -0.000509f, -0.003674f, -0.000352f, 0.005942f, -0.010761f, 0.011328f, 0.002400f, 0.000004f, 0.005885f, -0.001122f, 0.008209f, -0.004661f, -0.002083f, -0.002480f, 0.012984f, 0.006001f, 0.008212f, -0.001709f, 0.006739f, -0.012875f, 0.014586f, -0.005827f, 0.005641f, -0.013544f, 0.005261f, 0.009630f, 0.017811f, 0.006482f, 0.003199f, -0.011937f, -0.004685f, 0.003154f, -0.009107f, -0.010757f, -0.002682f, 0.021121f, - 0.024428f, 0.004609f, 0.005627f, -0.007119f, -0.003273f, 0.013645f, 0.002524f, 0.005919f, -0.000990f, 0.004086f, 0.003527f, -0.001914f, 0.002986f, -0.002106f, 0.002212f, 0.001564f, 0.008527f, 0.006976f, -0.011063f, 0.009629f, -0.003348f, 0.004910f, -0.003593f, 0.003589f, -0.003057f, -0.004136f, -0.000235f, -0.006552f, 0.000858f, 0.004660f, 0.000920f, 0.002368f, -0.002457f, -0.002933f, -0.001632f, 0.001115f, 0.000045f, 0.001014f, -0.000576f, 0.000686f, -0.001986f, 0.000621f, 0.000541f, 0.003391f, 0.000048f, 0.002294f, -0.001262f, 0.002052f, -0.002583f, 0.000240f, 0.000245f, 0.002445f, 0.010195f, 0.000113f, 0.001122f, 0.014369f, -0.012420f, -0.014604f, 0.022317f, -0.006005f, -0.003761f, 0.014517f, 0.008640f, 0.000902f, -0.025948f, 0.027678f, -0.005256f, -0.003709f, -0.003076f, -0.001708f, 0.000961f, 0.001531f, 0.008569f, 0.012805f, 0.008423f, -0.002060f, 0.014446f, 0.009056f, 0.004551f, 0.003727f, -0.005498f, 0.006459f, -0.010613f, 0.008172f, -0.001726f, 0.003303f, -0.008999f, -0.013102f, 0.001536f, -0.001837f, 0.004615f, 0.007574f, -0.003946f, -0.012555f, -0.007315f, 0.002830f, - -0.014924f, 0.009369f, 0.002874f, -0.023840f, 0.010577f, 0.001420f, 0.006010f, 0.001317f, 0.003582f, 0.003796f, -0.001053f, -0.006881f, -0.005871f, -0.016345f, -0.011930f, -0.006802f, -0.008313f, -0.002037f, 0.000888f, -0.012027f, -0.016776f, -0.002714f, 0.010799f, 0.018498f, -0.001017f, -0.012691f, 0.002012f, -0.019830f, 0.001290f, -0.001566f, -0.007763f, 0.016310f, 0.015502f, 0.005004f, -0.000648f, -0.004231f, -0.001223f, -0.008924f, 0.004044f, 0.015620f, 0.008441f, 0.012865f, 0.002609f, -0.006224f, 0.006061f, 0.002923f, -0.000475f, 0.001005f, 0.000683f, 0.000133f, 0.002803f, 0.002663f, 0.002782f, -0.001147f, 0.004907f, 0.001071f, 0.009717f, 0.003536f, 0.002587f, 0.000187f, 0.000815f, 0.002295f, -0.000722f, 0.004290f, 0.001664f, 0.001485f, -0.002623f, 0.005394f, 0.001404f, -0.002321f, -0.000865f, 0.004155f, -0.025330f, 0.013070f, -0.004844f, -0.009021f, -0.007153f, -0.008632f, -0.012045f, 0.023186f, -0.029556f, 0.006954f, 0.007134f, 0.009652f, 0.014434f, 0.002355f, 0.004008f, 0.005419f, 0.003909f, 0.002989f, 0.004890f, 0.012687f, 0.002293f, -0.007017f, -0.000014f, -0.001251f, - -0.009097f, -0.008254f, 0.004213f, 0.008488f, 0.009164f, 0.001215f, 0.006535f, -0.015423f, -0.001786f, -0.000249f, -0.000844f, -0.014619f, -0.008734f, -0.005285f, 0.009541f, 0.008523f, -0.000145f, -0.016002f, 0.000094f, -0.008685f, -0.006184f, -0.003178f, -0.004290f, 0.009988f, 0.013652f, 0.004101f, 0.014203f, -0.022758f, -0.015861f, 0.007511f, 0.004647f, 0.000725f, 0.003014f, 0.001437f, -0.007354f, -0.014338f, -0.009861f, 0.007522f, -0.006385f, 0.011528f, 0.011418f, -0.004212f, 0.010821f, -0.017252f, -0.008487f, -0.004897f, -0.005785f, 0.001196f, 0.031332f, -0.004565f, 0.008875f, -0.005062f, -0.004514f, -0.003257f, 0.006666f, 0.007056f, -0.000809f, 0.005681f, 0.003953f, -0.009841f, 0.002716f, 0.000674f, 0.004217f, 0.000835f, 0.000539f, -0.005003f, 0.003182f, -0.000285f, 0.003225f, 0.000941f, 0.001684f, -0.000996f, -0.001840f, 0.000848f, -0.002823f, -0.004200f, 0.001428f, -0.002343f, -0.003502f, -0.001139f, 0.001091f, 0.001300f, 0.001431f, 0.001435f, -0.000171f, 0.001000f, 0.002253f, 0.001746f, 0.000659f, 0.000434f, -0.000696f, -0.001296f, 0.002107f, 0.001050f, -0.000166f, 0.001438f, - 0.025884f, -0.004995f, 0.000694f, 0.010892f, -0.024668f, 0.016932f, 0.008580f, -0.013910f, 0.015411f, 0.017243f, 0.005779f, -0.026632f, 0.016442f, 0.000701f, -0.002525f, 0.013461f, 0.014543f, -0.000841f, -0.004313f, 0.000411f, -0.010345f, 0.009653f, -0.005663f, -0.009858f, -0.020722f, 0.004822f, -0.022522f, 0.006029f, -0.005531f, -0.002532f, 0.006476f, -0.018354f, -0.007550f, 0.015234f, -0.001346f, -0.007133f, 0.009317f, 0.000605f, -0.008019f, 0.006892f, 0.002489f, 0.000664f, -0.003447f, 0.005253f, -0.011180f, -0.001185f, -0.016320f, 0.015413f, 0.015408f, -0.019216f, 0.012817f, -0.013713f, -0.005187f, 0.013244f, 0.018525f, -0.001360f, -0.009252f, 0.005591f, -0.001181f, 0.002659f, -0.022679f, -0.017933f, 0.003562f, 0.003201f, -0.004917f, -0.004673f, 0.005862f, -0.000714f, -0.008049f, 0.009565f, -0.009276f, 0.003230f, 0.006916f, -0.001604f, 0.010856f, -0.010913f, 0.010977f, -0.000093f, 0.017476f, -0.006018f, 0.005293f, 0.009857f, 0.001101f, -0.006290f, -0.001803f, -0.000669f, 0.005113f, -0.001733f, -0.008250f, 0.006919f, 0.001489f, -0.003472f, 0.003048f, -0.002343f, -0.000122f, -0.003261f, - -0.000947f, 0.002349f, -0.002776f, 0.001754f, 0.004777f, -0.002510f, 0.001148f, 0.000309f, -0.001609f, 0.003010f, 0.000793f, 0.002558f, -0.003885f, 0.001545f, -0.003977f, -0.004553f, 0.001665f, -0.000749f, 0.001820f, 0.001880f, 0.000551f, 0.005520f, 0.007208f, 0.003163f, -0.009391f, 0.018222f, -0.006186f, 0.008886f, -0.018322f, -0.001263f, -0.004808f, -0.016630f, 0.000619f, 0.011812f, 0.020965f, 0.027417f, -0.015556f, -0.000399f, -0.019399f, -0.001416f, -0.012341f, 0.011090f, -0.011552f, -0.022884f, 0.001522f, -0.014654f, -0.001338f, 0.019043f, -0.011230f, -0.011206f, 0.020435f, 0.000667f, 0.003543f, -0.002097f, -0.011957f, 0.005130f, 0.004389f, 0.024616f, -0.016923f, 0.012091f, -0.014347f, 0.003622f, 0.004809f, -0.014159f, -0.008702f, 0.023638f, 0.006492f, -0.017522f, -0.004497f, -0.006390f, -0.014060f, -0.000560f, 0.023174f, 0.012428f, 0.016137f, 0.003714f, 0.006474f, -0.021083f, -0.003019f, 0.026888f, 0.002163f, -0.016657f, 0.008966f, 0.008912f, -0.012213f, -0.010634f, -0.005869f, -0.027556f, -0.004220f, 0.008225f, 0.013666f, 0.024255f, -0.006037f, -0.013220f, -0.003799f, -0.008217f, - 0.019701f, -0.007285f, -0.017135f, -0.011669f, -0.005038f, -0.002313f, -0.005286f, -0.009894f, 0.021444f, -0.012241f, -0.001457f, 0.002007f, 0.001058f, 0.007021f, 0.004392f, -0.006277f, -0.008436f, 0.006393f, 0.007673f, 0.008110f, -0.001817f, 0.003685f, -0.002207f, -0.001305f, 0.003644f, -0.000764f, -0.003725f, 0.003837f, 0.001815f, -0.000080f, -0.002429f, -0.000793f, -0.006228f, 0.000615f, -0.001523f, -0.005350f, -0.002718f, 0.002479f, 0.002160f, 0.000132f, 0.002531f, 0.011870f, -0.040805f, -0.028100f, -0.017977f, 0.002245f, -0.034173f, 0.005209f, 0.025564f, 0.008515f, 0.026320f, -0.013987f, -0.006396f, -0.002763f, -0.013536f, -0.005017f, -0.020367f, 0.036456f, 0.020863f, 0.014584f, -0.030631f, -0.005857f, -0.009792f, -0.019911f, 0.007014f, -0.002022f, 0.006585f, -0.024752f, -0.001607f, -0.002144f, -0.017733f, 0.010455f, 0.003056f, 0.018305f, 0.007435f, -0.015162f, 0.024117f, -0.011275f, 0.009851f, 0.005136f, -0.000096f, 0.019080f, 0.017768f, 0.004533f, -0.022805f, 0.028029f, -0.014040f, 0.020119f, 0.009248f, -0.010295f, -0.011423f, 0.022550f, 0.003412f, -0.002543f, 0.005965f, -0.018909f, - -0.006689f, 0.011023f, -0.001472f, 0.019949f, -0.011372f, -0.017894f, 0.007485f, 0.005159f, 0.000731f, 0.019839f, 0.008640f, 0.004093f, -0.012487f, 0.014458f, 0.005766f, -0.010951f, -0.001391f, -0.001109f, -0.006211f, -0.004537f, -0.005216f, 0.008725f, 0.021840f, 0.036657f, 0.017135f, -0.006098f, 0.001991f, -0.008325f, 0.008554f, 0.011330f, -0.000040f, -0.009274f, -0.005357f, -0.012128f, 0.007668f, -0.006593f, 0.001932f, -0.005691f, -0.001433f, 0.008192f, -0.000816f, 0.000954f, -0.007276f, 0.008013f, -0.004038f, -0.003488f, 0.004515f, -0.007227f, 0.008158f, -0.005520f, 0.004443f, -0.003880f, -0.000584f, 0.001867f, -0.005284f, -0.003801f, -0.002222f, -0.008807f, -0.008750f, -0.003841f, -0.000295f, -0.003072f, 0.007241f, 0.006596f, 0.003991f, -0.026332f, 0.034202f, 0.013884f, 0.039184f, -0.018304f, -0.021825f, 0.037318f, 0.000774f, -0.004405f, 0.007787f, 0.002403f, 0.021637f, 0.029004f, 0.003346f, -0.027896f, -0.044388f, 0.005670f, -0.012615f, 0.002193f, 0.000742f, -0.019481f, -0.001715f, 0.023424f, 0.019049f, 0.014891f, 0.030283f, -0.007432f, 0.025583f, -0.018800f, 0.022599f, 0.007126f, - 0.017398f, -0.012472f, 0.031029f, 0.017679f, 0.022523f, -0.037011f, -0.000675f, 0.032774f, 0.018428f, 0.005571f, -0.008385f, 0.049540f, 0.020609f, -0.020067f, -0.012584f, 0.011736f, -0.019573f, -0.002312f, -0.009655f, 0.002126f, 0.041491f, 0.043527f, 0.031441f, 0.011281f, -0.000129f, 0.016109f, -0.015093f, -0.004132f, 0.017522f, -0.019111f, 0.043966f, 0.027281f, 0.021327f, 0.008164f, -0.002206f, -0.021431f, 0.025904f, 0.000526f, 0.022534f, -0.010719f, 0.008455f, -0.015244f, -0.008986f, -0.000805f, 0.011123f, -0.017851f, 0.040902f, 0.017421f, -0.005041f, -0.020699f, -0.039494f, 0.018783f, 0.002932f, -0.013094f, -0.001679f, 0.004430f, -0.009598f, 0.005269f, 0.014575f, -0.003002f, -0.005660f, 0.000080f, -0.003670f, -0.004271f, 0.002925f, -0.005096f, -0.003930f, -0.006836f, 0.006272f, 0.003471f, -0.010275f, 0.005136f, 0.005811f, 0.005725f, -0.000680f, -0.003267f, -0.001582f, -0.000439f, 0.002778f, -0.001197f, 0.001929f, -0.006158f, 0.009077f, -0.012349f, -0.000280f, 0.003790f, 0.010236f, 0.001041f, 0.043427f, -0.001970f, -0.020650f, -0.009030f, -0.016067f, -0.000117f, -0.026104f, 0.007428f, - -0.022412f, 0.013511f, 0.003520f, -0.005700f, -0.017510f, -0.021102f, -0.032173f, -0.033470f, -0.009506f, 0.029939f, -0.001623f, -0.018742f, 0.008516f, -0.017857f, 0.014650f, -0.015196f, 0.028190f, -0.027899f, 0.007229f, -0.019666f, -0.019977f, -0.003347f, 0.004114f, -0.005581f, 0.013645f, -0.040382f, 0.017053f, 0.004337f, -0.009203f, -0.002427f, -0.002075f, -0.019803f, -0.031736f, -0.034319f, 0.025610f, 0.012714f, -0.012920f, 0.021971f, 0.001345f, -0.008663f, -0.024874f, -0.053311f, -0.043517f, 0.025359f, -0.007056f, 0.000890f, -0.004639f, -0.002208f, -0.001886f, -0.036035f, 0.014496f, -0.042634f, -0.022219f, 0.002256f, -0.000663f, -0.008905f, -0.005082f, -0.005455f, 0.044976f, -0.013448f, -0.013741f, -0.011771f, 0.047035f, -0.008127f, -0.017903f, 0.029579f, -0.022328f, -0.014447f, -0.018271f, -0.015803f, -0.059035f, 0.012152f, 0.010291f, -0.019856f, -0.002183f, 0.014122f, -0.007071f, -0.005236f, -0.010410f, -0.010085f, -0.000712f, -0.005228f, -0.004559f, 0.020959f, -0.000986f, -0.002152f, 0.014690f, 0.016670f, -0.007458f, -0.005948f, -0.000613f, -0.002874f, 0.004986f, -0.010083f, 0.001904f, 0.001206f, - 0.002650f, -0.006000f, -0.006666f, -0.003040f, 0.007570f, -0.002772f, -0.004750f, -0.000773f, 0.005087f, -0.013085f, -0.001282f, 0.007366f, 0.001271f, -0.005252f, 0.007810f, -0.004602f, 0.007019f, -0.000095f, 0.006753f, 0.006252f, 0.007300f, -0.011517f, -0.000340f, 0.000066f, -0.062966f, -0.047453f, -0.027012f, 0.055643f, -0.002488f, -0.008841f, -0.006435f, -0.003978f, -0.017907f, 0.019954f, 0.015425f, 0.049874f, -0.045365f, -0.008493f, 0.014345f, -0.032982f, -0.013092f, -0.011390f, 0.057254f, -0.000400f, 0.013394f, 0.029453f, 0.002872f, 0.028373f, -0.029908f, -0.037430f, -0.025129f, -0.006503f, -0.006226f, 0.005004f, 0.018019f, -0.000386f, -0.031717f, -0.021525f, -0.001442f, -0.016532f, -0.035626f, 0.032478f, -0.005170f, -0.017335f, -0.000063f, 0.010798f, 0.010307f, 0.006516f, -0.016037f, 0.003815f, -0.033163f, -0.014014f, -0.049256f, 0.023779f, 0.015035f, -0.005258f, -0.015399f, 0.018845f, -0.024509f, -0.005685f, 0.053360f, -0.004998f, 0.045225f, 0.020818f, 0.012172f, -0.011192f, -0.056649f, -0.022943f, -0.010862f, -0.029878f, -0.022792f, -0.013892f, 0.025407f, -0.010933f, 0.000594f, -0.022107f, - 0.048356f, -0.016599f, 0.019938f, 0.014231f, -0.033008f, -0.012564f, 0.007247f, 0.031294f, 0.055778f, 0.047170f, 0.020069f, -0.002426f, 0.019102f, 0.000896f, 0.001592f, -0.010182f, 0.005554f, -0.010540f, -0.007967f, 0.000579f, 0.003176f, -0.006033f, -0.009191f, -0.015539f, -0.013159f, 0.007769f, 0.005218f, 0.006497f, -0.006185f, -0.001685f, -0.032660f, 0.000222f, -0.015169f, -0.006189f, 0.005683f, 0.005368f, 0.001663f, 0.014300f, 0.000103f, -0.001015f, 0.001094f, -0.004525f, -0.023830f, -0.001328f, -0.013672f, 0.007630f, -0.012179f, -0.012015f, 0.001207f, 0.015979f, 0.006535f, -0.003330f, -0.009142f, -0.007182f, -0.004225f, 0.009066f, 0.001750f, -0.002638f, -0.006222f, 0.031765f, -0.002625f, -0.019728f, 0.019208f, 0.010549f, 0.067584f, 0.001327f, -0.000234f, 0.023148f, -0.031922f, -0.022384f, -0.007111f, 0.004605f, 0.010148f, -0.009354f, 0.028080f, -0.018857f, 0.003112f, 0.026248f, 0.011375f, 0.009072f, 0.009216f, -0.021202f, 0.002927f, -0.001654f, -0.010733f, 0.003132f, -0.015489f, -0.027066f, -0.014437f, 0.001006f, -0.026461f, 0.032078f, -0.003244f, 0.002265f, -0.005362f, 0.021747f, - 0.024912f, -0.005909f, -0.019777f, -0.002794f, -0.006840f, 0.029286f, 0.038161f, -0.028732f, -0.019783f, -0.015047f, 0.008991f, 0.027871f, -0.026601f, 0.007595f, -0.001861f, 0.005022f, -0.014168f, -0.019060f, 0.004941f, 0.018022f, 0.002851f, -0.024620f, 0.020656f, 0.061631f, -0.020968f, 0.010624f, -0.005396f, 0.003804f, 0.023535f, 0.005803f, 0.027871f, 0.022811f, -0.006935f, 0.035515f, 0.065814f, 0.001648f, -0.025223f, 0.064032f, -0.001949f, 0.061176f, -0.022180f, -0.031506f, 0.028055f, 0.010016f, 0.042805f, -0.008112f, 0.060549f, 0.018271f, 0.013548f, -0.019374f, 0.028346f, 0.002322f, 0.002270f, 0.005752f, 0.023040f, 0.003922f, 0.026407f, 0.002232f, 0.006090f, -0.000132f, 0.003451f, 0.003267f, 0.008027f, -0.003809f, 0.009078f, 0.021685f, 0.008938f, 0.009342f, 0.002642f, 0.005030f, -0.013239f, 0.010041f, 0.003721f, 0.004005f, 0.007624f, 0.003249f, -0.001348f, -0.001256f, 0.005847f, -0.007484f, 0.001687f, -0.000803f, 0.005166f, 0.015126f, 0.005342f, -0.001651f, -0.008709f, 0.007433f, 0.001007f, 0.000930f, -0.001995f, 0.007212f, 0.004432f, -0.013699f, 0.012057f, -0.043822f, - -0.014625f, 0.066454f, 0.010528f, -0.031826f, 0.008553f, -0.024311f, 0.008023f, 0.012090f, -0.006131f, -0.036370f, -0.014034f, -0.053982f, 0.021419f, 0.017403f, -0.021067f, 0.018936f, 0.030259f, 0.005491f, -0.008892f, -0.031922f, 0.006496f, 0.048793f, -0.024340f, 0.028917f, 0.027914f, 0.003590f, 0.020874f, 0.018932f, 0.000398f, 0.023827f, 0.016001f, -0.048261f, -0.007204f, -0.020028f, 0.047864f, 0.031097f, -0.034200f, 0.019767f, -0.004340f, 0.024528f, 0.080178f, -0.008629f, -0.014072f, 0.007043f, 0.072141f, 0.028767f, -0.004873f, 0.008241f, 0.012749f, 0.040836f, 0.036583f, -0.026353f, 0.044007f, 0.019280f, 0.040779f, -0.030226f, 0.004072f, 0.007152f, 0.008420f, 0.024320f, 0.037430f, -0.025702f, -0.019845f, 0.028762f, 0.014646f, -0.011323f, -0.010979f, -0.001073f, 0.045043f, -0.086655f, 0.019854f, -0.031592f, -0.022695f, 0.002901f, -0.029533f, -0.028441f, -0.004154f, -0.047984f, 0.033511f, -0.011200f, 0.035433f, -0.002565f, 0.030982f, -0.021882f, 0.012357f, -0.000554f, 0.010147f, -0.002287f, -0.012183f, 0.008105f, 0.006507f, 0.006188f, 0.015084f, -0.008801f, 0.007583f, 0.009105f, - -0.008848f, -0.000592f, 0.014452f, 0.003975f, -0.007905f, 0.014787f, -0.010740f, 0.000726f, 0.008411f, -0.011901f, -0.007899f, 0.001824f, 0.003224f, 0.016585f, 0.014976f, 0.009209f, 0.005454f, -0.003270f, 0.011713f, 0.001072f, 0.005192f, 0.003582f, 0.009759f, 0.010205f, -0.009713f, -0.009803f, -0.015739f, 0.010832f, 0.005042f, -0.000649f, 0.004065f, -0.001449f, -0.016943f, -0.016258f, 0.010895f, 0.014239f, 0.015084f, -0.019211f, -0.022839f, -0.058760f, 0.002526f, -0.032913f, 0.053123f, 0.006228f, -0.013941f, -0.008192f, 0.031852f, 0.008919f, 0.051801f, 0.020651f, -0.013553f, 0.001857f, 0.010890f, 0.023321f, 0.038978f, -0.043985f, -0.037855f, -0.008253f, 0.065614f, -0.020552f, 0.008353f, 0.018395f, 0.028750f, 0.034555f, 0.049894f, 0.042759f, 0.003796f, -0.010627f, 0.046617f, 0.003266f, -0.029672f, 0.015438f, -0.027517f, 0.019537f, 0.005008f, -0.024929f, 0.022522f, 0.087270f, 0.048889f, -0.031340f, -0.023368f, -0.003579f, -0.024235f, -0.024495f, -0.020741f, 0.014651f, -0.011767f, -0.020914f, 0.004672f, 0.023704f, 0.014534f, 0.007577f, 0.034570f, 0.008813f, -0.008200f, 0.035942f, - 0.030785f, -0.026726f, 0.018007f, -0.030120f, -0.023020f, -0.026764f, 0.000109f, -0.064014f, -0.018627f, 0.043762f, 0.032841f, -0.015603f, 0.022129f, -0.005821f, 0.001796f, -0.039552f, 0.009016f, 0.022940f, 0.037468f, 0.020421f, 0.024911f, 0.013001f, 0.012070f, -0.017195f, -0.014411f, -0.018263f, 0.010239f, -0.004383f, 0.001693f, 0.006977f, 0.008098f, -0.001386f, 0.019570f, -0.006645f, -0.008165f, -0.009794f, 0.013842f, -0.018292f, -0.006842f, -0.022430f, -0.000842f, 0.003656f, -0.009075f, 0.000204f, -0.004860f, 0.012953f, -0.002256f, -0.029420f, 0.000809f, -0.002655f, 0.008956f, 0.010558f, 0.004043f, 0.012082f, -0.000397f, 0.020075f, 0.004679f, -0.002366f, -0.000115f, 0.001539f, 0.001337f, 0.000319f, 0.008481f, -0.005433f, -0.024324f, 0.019267f, 0.015472f, -0.030779f, -0.013406f, -0.066380f, -0.005692f, 0.054489f, 0.000247f, -0.040754f, 0.006084f, 0.001404f, -0.027460f, 0.036150f, 0.020788f, -0.015219f, 0.010041f, 0.016107f, 0.022237f, 0.012069f, 0.003540f, -0.016777f, 0.008492f, 0.012525f, 0.034648f, 0.051818f, -0.014743f, -0.035759f, -0.018923f, 0.009453f, 0.010531f, 0.042536f, - -0.016832f, -0.034283f, -0.026645f, -0.027545f, 0.051760f, 0.094971f, 0.034341f, 0.004230f, 0.104442f, 0.005733f, 0.043099f, 0.024217f, -0.009166f, -0.022554f, 0.018284f, -0.030336f, -0.020172f, 0.020648f, 0.001091f, -0.063741f, -0.065736f, -0.016966f, 0.026986f, -0.034731f, -0.043129f, -0.024181f, -0.032014f, -0.026709f, 0.021775f, -0.018797f, -0.048849f, 0.021181f, 0.001599f, -0.014795f, 0.011039f, -0.011590f, 0.024158f, 0.097663f, -0.060541f, 0.048899f, -0.068789f, -0.039509f, -0.023006f, -0.016182f, 0.037773f, 0.014691f, 0.017961f, -0.008100f, 0.020860f, 0.043416f, 0.010746f, 0.000314f, 0.000285f, -0.013530f, 0.005783f, 0.011362f, 0.035072f, -0.002871f, -0.017800f, -0.003370f, 0.026731f, 0.016598f, -0.007908f, 0.009472f, 0.011987f, -0.010532f, -0.000606f, -0.004962f, 0.033628f, 0.011479f, 0.015808f, 0.011117f, 0.009439f, -0.014779f, -0.010149f, -0.003029f, 0.008447f, -0.017923f, 0.002262f, -0.017699f, -0.011867f, 0.001878f, 0.001561f, -0.020238f, 0.018754f, 0.025060f, -0.002778f, -0.004211f, 0.015554f, -0.000688f, -0.007010f, 0.022042f, -0.009652f, 0.014997f, 0.001227f, 0.052960f, - 0.033973f, 0.030597f, 0.045075f, -0.053167f, 0.020093f, -0.055677f, -0.002470f, 0.072137f, 0.064155f, 0.027175f, 0.000758f, 0.012249f, 0.007943f, -0.021051f, 0.016547f, 0.020563f, -0.091477f, 0.005304f, 0.013184f, 0.027454f, -0.033663f, -0.051672f, 0.037463f, 0.017531f, 0.009369f, -0.022262f, 0.044482f, -0.006586f, 0.034534f, 0.028566f, -0.003655f, 0.004098f, -0.010304f, 0.034876f, -0.021085f, 0.010427f, 0.020972f, -0.002164f, 0.044772f, 0.025717f, -0.002712f, 0.022748f, 0.026026f, -0.001680f, -0.020487f, -0.068774f, -0.012806f, 0.006979f, -0.040713f, 0.003586f, 0.032166f, -0.062536f, -0.027771f, 0.009204f, -0.026908f, -0.004671f, 0.032662f, 0.001561f, -0.023384f, -0.030652f, 0.013337f, 0.012805f, -0.063038f, -0.021320f, -0.005372f, -0.000093f, 0.039351f, 0.018995f, 0.004274f, 0.068644f, -0.008835f, -0.002601f, 0.002588f, -0.039728f, 0.037150f, -0.000053f, 0.061054f, -0.024092f, -0.010358f, 0.018031f, 0.009120f, -0.052533f, 0.001579f, -0.007584f, -0.020982f, -0.017242f, 0.006408f, 0.001774f, -0.014831f, -0.001699f, -0.009253f, -0.006843f, 0.001793f, -0.022709f, 0.006334f, 0.002665f, - -0.003220f, 0.008135f, 0.002249f, -0.015136f, 0.002909f, 0.003807f, 0.003823f, -0.014664f, 0.020729f, 0.003676f, 0.027000f, -0.020398f, 0.002438f, -0.017258f, -0.006026f, -0.003525f, -0.030074f, 0.005947f, 0.002703f, -0.001691f, -0.004142f, -0.005858f, 0.011028f, -0.013959f, -0.010514f, 0.012610f, 0.017374f, -0.013655f, -0.017572f, -0.064822f, -0.056522f, 0.010072f, -0.029201f, -0.009312f, -0.043601f, -0.054279f, -0.057075f, -0.037608f, 0.040339f, 0.055117f, 0.001272f, -0.045827f, 0.003409f, 0.001885f, 0.000414f, 0.020800f, 0.035136f, 0.035084f, 0.000690f, -0.023149f, -0.056923f, -0.032782f, -0.049848f, -0.010910f, 0.000037f, 0.003939f, 0.004953f, 0.006734f, 0.013511f, 0.017481f, 0.033259f, -0.052740f, 0.022870f, 0.008912f, 0.011420f, 0.027890f, 0.049624f, 0.055634f, -0.032365f, 0.024641f, -0.044673f, -0.014179f, -0.040549f, -0.004217f, -0.015903f, 0.092655f, 0.032814f, 0.066666f, 0.002660f, -0.036205f, -0.015591f, 0.042584f, 0.046250f, -0.027569f, 0.085577f, -0.036217f, 0.005190f, 0.003466f, 0.014734f, 0.031185f, 0.095223f, -0.006987f, 0.023202f, 0.052795f, 0.011977f, -0.042404f, - 0.026593f, 0.097268f, -0.017962f, -0.023944f, -0.057707f, -0.005128f, 0.035858f, 0.021887f, 0.002878f, -0.055599f, -0.042005f, 0.006689f, -0.043824f, 0.012810f, 0.001798f, -0.055364f, -0.006370f, 0.005310f, -0.008782f, 0.039375f, 0.037188f, 0.000466f, -0.011024f, -0.024066f, 0.025708f, -0.011328f, 0.044774f, -0.010611f, 0.000462f, 0.030379f, 0.030751f, 0.043549f, 0.033817f, -0.025180f, -0.009836f, 0.005529f, -0.008321f, 0.002609f, -0.019015f, -0.018566f, -0.018519f, 0.009224f, -0.022653f, -0.026661f, 0.015473f, 0.019952f, 0.001733f, -0.022966f, 0.014257f, 0.007601f, -0.005660f, -0.006148f, -0.015454f, -0.000709f, 0.008670f, -0.004285f, -0.013824f, -0.018281f, -0.003500f, -0.012150f, 0.014591f, 0.007834f, 0.001241f, -0.016748f, -0.007273f, -0.009509f, 0.019131f, 0.087013f, -0.004198f, -0.000199f, 0.037090f, 0.007428f, -0.119370f, -0.037330f, 0.085276f, 0.028553f, -0.024644f, -0.047394f, -0.006400f, -0.031221f, 0.044117f, 0.023035f, 0.008525f, -0.024990f, -0.056348f, 0.012416f, -0.097274f, -0.011663f, 0.048014f, 0.065386f, -0.007222f, -0.055052f, -0.037371f, -0.113943f, 0.033822f, -0.019582f, - 0.045025f, 0.034045f, -0.032151f, -0.023381f, -0.101029f, -0.075878f, 0.039933f, 0.108214f, 0.043424f, 0.051518f, -0.035661f, -0.063961f, -0.061288f, -0.025602f, 0.092085f, 0.123847f, 0.064786f, -0.143475f, -0.052370f, -0.109898f, -0.058570f, 0.136722f, 0.033590f, 0.030482f, -0.017815f, -0.131255f, -0.107331f, -0.107813f, -0.019770f, 0.010675f, 0.068396f, -0.025078f, 0.052107f, -0.104060f, 0.065135f, 0.026125f, 0.008224f, 0.131267f, 0.008741f, -0.011928f, -0.005947f, -0.177654f, -0.054010f, -0.011906f, 0.056339f, 0.029382f, 0.025934f, 0.078654f, -0.083578f, 0.005572f, -0.055194f, 0.060710f, 0.044067f, 0.004349f, 0.012424f, 0.013047f, -0.009576f, 0.036157f, 0.019636f, 0.009712f, 0.030998f, -0.020773f, -0.038747f, 0.009634f, 0.028385f, 0.042720f, 0.035441f, 0.023287f, -0.029007f, -0.047456f, -0.066329f, -0.005849f, 0.005108f, 0.054050f, 0.067190f, -0.009966f, -0.050571f, -0.087414f, -0.041675f, 0.006324f, 0.067218f, 0.107443f, 0.028308f, -0.104964f, -0.107479f, -0.109982f, -0.000883f, 0.089811f, 0.079351f, 0.083428f, -0.027693f, -0.040590f, -0.077961f, -0.078990f, 0.029268f, 0.053413f, - 0.069939f, 0.035347f, -0.054903f, -0.052177f, -0.029208f, -0.008281f, 0.064912f, 0.034220f, 0.010961f, -0.002985f, -0.039357f, -0.028657f, -0.005645f, -0.007787f, 0.017157f, 0.021355f, 0.009759f, 0.008597f, -0.050738f, 0.099262f, 0.042986f, 0.045836f, -0.121506f, 0.025123f, -0.169516f, -0.037006f, 0.000168f, 0.024636f, 0.010431f, -0.108484f, 0.059718f, -0.029704f, -0.018999f, -0.020010f, -0.022558f, -0.026231f, -0.033084f, 0.071892f, -0.019784f, -0.060885f, 0.020237f, -0.016910f, 0.008163f, 0.034889f, -0.068631f, -0.024357f, -0.003610f, 0.029494f, 0.003650f, 0.078991f, -0.006006f, -0.044529f, 0.104398f, -0.087365f, 0.051984f, -0.080998f, -0.026236f, 0.040116f, -0.065431f, 0.005231f, 0.048641f, -0.024630f, -0.005000f, -0.004542f, 0.062444f, 0.094564f, 0.055212f, -0.031319f, -0.012322f, -0.014357f, 0.006703f, 0.030616f, -0.011748f, -0.018382f, 0.019061f, 0.010055f, -0.170016f, -0.006536f, -0.005568f, 0.025190f, 0.021978f, 0.001441f, 0.001036f, 0.048899f, -0.052987f, -0.013503f, -0.004471f, 0.037325f, -0.136318f, -0.018926f, 0.124672f, -0.031468f, -0.049201f, -0.000174f, 0.094544f, -0.016992f, - -0.021660f, 0.025802f, -0.036131f, -0.038389f, 0.058708f, 0.089942f, -0.031709f, -0.045344f, 0.016245f, 0.027128f, -0.013434f, -0.047832f, -0.000237f, 0.007191f, -0.008994f, -0.006786f, -0.014250f, -0.020724f, 0.010621f, 0.000877f, -0.018444f, -0.003281f, 0.000045f, -0.000523f, -0.016929f, 0.010379f, -0.022929f, -0.024984f, -0.013929f, -0.015214f, 0.024081f, -0.003247f, -0.004114f, -0.000409f, -0.012479f, 0.019361f, -0.024367f, 0.007376f, 0.001525f, 0.001912f, 0.018270f, -0.000736f, -0.029421f, 0.003545f, -0.007166f, 0.005738f, 0.004964f, -0.027174f, 0.043702f, -0.011262f, -0.003214f, -0.004107f, 0.004788f, 0.010860f, -0.000137f, -0.010044f, -0.004687f, -0.021555f, -0.040341f, -0.123822f, -0.101486f, 0.090954f, 0.077741f, 0.008194f, 0.082977f, -0.088427f, -0.004204f, -0.171598f, -0.060300f, -0.029653f, 0.084541f, 0.076969f, 0.047614f, -0.068568f, -0.022904f, -0.002181f, -0.032123f, 0.017245f, 0.031223f, 0.040104f, 0.053415f, -0.039123f, 0.030387f, -0.073803f, -0.046213f, -0.010986f, -0.014854f, 0.002811f, 0.050435f, -0.058112f, 0.051930f, -0.021959f, -0.031700f, -0.012218f, 0.005846f, -0.073186f, - -0.000568f, -0.066191f, -0.023934f, -0.025230f, -0.062588f, 0.088326f, 0.041294f, 0.020658f, 0.022502f, -0.016168f, -0.088185f, -0.131553f, -0.076221f, -0.077061f, 0.053934f, 0.013380f, 0.058051f, 0.080146f, 0.066558f, -0.020684f, 0.016835f, -0.044961f, -0.033967f, -0.041017f, 0.033898f, -0.043524f, -0.000964f, -0.041514f, -0.042528f, -0.026763f, 0.052706f, -0.040804f, -0.010530f, 0.004881f, -0.004754f, -0.059180f, -0.063275f, -0.038395f, -0.021925f, -0.086171f, -0.050502f, 0.013799f, 0.053476f, 0.055240f, 0.070800f, -0.003907f, -0.055558f, -0.072883f, -0.055354f, 0.029451f, 0.010432f, -0.008516f, 0.035083f, 0.086384f, 0.023990f, 0.023464f, -0.020495f, -0.015722f, -0.027030f, -0.016691f, -0.007887f, -0.026801f, -0.005105f, 0.033065f, -0.005775f, -0.013905f, -0.025225f, -0.028896f, -0.031886f, -0.009400f, 0.017386f, -0.008448f, 0.008168f, 0.004409f, -0.058417f, 0.006841f, -0.027189f, 0.025341f, 0.049238f, -0.023823f, 0.034409f, -0.003900f, 0.009359f, 0.001416f, -0.045936f, -0.007245f, -0.014102f, -0.012024f, 0.007974f, -0.000688f, -0.003965f, -0.009921f, -0.020183f, -0.027813f, 0.042273f, -0.028218f, - -0.187015f, -0.253146f, -0.239310f, -0.227573f, -0.272785f, -0.046196f, -0.076033f, 0.047586f, 0.076103f, 0.242885f, 0.155596f, 0.205833f, 0.283671f, 0.312246f, 0.212703f, 0.271205f, 0.153807f, 0.071526f, -0.011798f, -0.051618f, -0.070292f, -0.115326f, -0.113611f, -0.156205f, -0.066798f, -0.057791f, -0.147445f, -0.109860f, -0.105724f, -0.119577f, -0.194794f, -0.132450f, -0.102643f, -0.082047f, -0.150181f, -0.021219f, -0.045736f, -0.062416f, -0.145494f, -0.133769f, -0.111063f, -0.094387f, -0.069386f, -0.028117f, -0.092935f, 0.026246f, 0.046504f, -0.072175f, 0.079434f, 0.111667f, 0.106386f, 0.194957f, 0.157450f, 0.121970f, 0.133290f, 0.135112f, 0.133066f, 0.205100f, 0.229766f, 0.226851f, 0.154111f, 0.244705f, 0.240506f, 0.251776f, 0.254861f, 0.290766f, 0.256888f, 0.272570f, 0.360458f, 0.184517f, 0.185045f, 0.188886f, 0.174688f, -0.008289f, 0.079087f, 0.101231f, -0.059296f, -0.031169f, -0.101244f, -0.183118f, -0.167202f, -0.174984f, -0.316849f, -0.231406f, -0.142231f, -0.246532f, -0.262550f, -0.215403f, -0.231114f, -0.227239f, -0.274540f, -0.250088f, -0.254167f, -0.236302f, -0.222186f, -0.201027f, - -0.187816f, -0.186292f, -0.156519f, -0.130305f, -0.208167f, -0.031123f, -0.094404f, -0.106329f, -0.025544f, -0.012703f, -0.106093f, -0.012669f, -0.041882f, -0.014366f, 0.037081f, 0.046991f, 0.119951f, 0.072848f, 0.100043f, 0.113465f, 0.121069f, 0.112156f, 0.153805f, 0.152498f, 0.159823f, 0.151592f, 0.179139f, 0.186620f, 0.180636f, 0.148480f, 0.188972f, 0.201368f, 0.153850f, 0.106077f, 0.099985f, 0.062970f, 0.051903f, 0.016155f, -0.007736f, -0.004245f, -0.034175f, -0.027731f, -0.023780f, -0.011008f, -0.030327f, -0.029224f, -0.030186f, -0.011138f, -0.030041f, -0.034601f, -0.022386f, -0.004347f, -0.025947f, -0.031706f, -0.028054f, -0.019646f, -0.039022f, -0.044231f, -0.046952f, -0.029867f, -0.028428f, -0.032507f, -0.029726f, -0.003004f, -0.007689f, -0.017746f, -0.012273f, 0.001337f, -0.006065f, -0.010560f, -0.010266f, 0.001583f, -0.006436f, -0.011659f, -0.013764f, -0.005439f, -0.008583f, -0.002775f, -0.005258f, -0.006961f, -0.011002f, 0.001979f, 0.005593f, 0.004462f, -0.001088f, 0.003215f, 0.001288f, 0.005132f, 0.002958f, 0.007608f, 0.006671f, 0.008079f, -0.002742f, -0.002499f, -0.004097f, -0.001921f, - -0.009932f, -0.010104f, -0.010686f, -0.010928f, -0.017534f, -0.012837f, -0.012586f, -0.008783f, -0.015198f, -0.014622f, -0.014858f, -0.009158f, -0.011390f, -0.012909f, -0.009353f, -0.001163f, -0.001988f, -0.003185f, 0.001346f, 0.007897f, 0.005835f, 0.005788f, 0.005684f, 0.009736f, 0.010895f, 0.011272f, 0.009293f, 0.011811f, 0.012279f, 0.011303f, 0.010902f, 0.011428f, 0.010811f, 0.009050f, 0.006884f, 0.006749f, 0.005292f, 0.004182f, 0.002212f, 0.001881f, 0.001094f, 0.000807f, 0.000156f, 0.000102f, -0.000032f, -0.000148f}, - {-0.011664f, 0.014943f, -0.001061f, 0.006070f, 0.003095f, 0.007134f, -0.012526f, -0.006724f, 0.008174f, 0.004000f, 0.000165f, -0.006926f, 0.001513f, -0.019477f, -0.012518f, -0.000597f, -0.007432f, -0.008408f, 0.003561f, 0.015371f, 0.002639f, 0.011725f, -0.002623f, 0.011589f, -0.006797f, -0.006047f, -0.000694f, -0.010299f, 0.002133f, 0.005247f, -0.003683f, -0.000167f, 0.002766f, 0.000574f, 0.004755f, -0.000472f, -0.011045f, 0.004061f, -0.006821f, -0.005109f, 0.003186f, -0.006761f, -0.010304f, 0.010402f, -0.010816f, 0.009903f, 0.009231f, 0.006120f, -0.000434f, -0.012684f, -0.007372f, 0.001518f, -0.002356f, 0.016510f, -0.010006f, 0.004077f, -0.001248f, 0.002252f, -0.012386f, -0.020684f, -0.003617f, -0.006155f, -0.006884f, -0.001557f, 0.008817f, -0.001827f, -0.009320f, 0.008290f, 0.003530f, -0.004087f, 0.006900f, -0.001264f, 0.002096f, -0.009481f, -0.000751f, -0.002311f, -0.000121f, 0.003735f, -0.004344f, 0.003040f, -0.008712f, 0.005976f, -0.001343f, 0.000700f, -0.003170f, -0.002819f, 0.000055f, 0.003658f, 0.001329f, -0.000052f, 0.001393f, 0.000008f, -0.005251f, 0.001594f, 0.000437f, 0.003382f, - -0.000526f, 0.000187f, -0.000009f, 0.000150f, -0.000332f, -0.001814f, 0.008062f, 0.008043f, 0.001213f, 0.014434f, -0.000078f, 0.006285f, 0.007792f, -0.000002f, -0.006919f, 0.000825f, -0.009866f, -0.012647f, -0.004756f, -0.014424f, -0.014906f, -0.004786f, 0.009928f, -0.003426f, -0.003337f, -0.007707f, -0.001900f, -0.013547f, 0.006742f, -0.003725f, 0.003441f, 0.008288f, 0.002849f, -0.002774f, 0.005700f, 0.005440f, -0.006591f, 0.004728f, 0.000682f, 0.001339f, 0.005058f, -0.011798f, -0.005071f, 0.008536f, -0.005341f, -0.000288f, -0.003375f, 0.009464f, -0.011929f, -0.000889f, -0.009983f, 0.006621f, -0.000538f, -0.000627f, 0.009131f, -0.003810f, -0.004303f, -0.003023f, -0.008425f, 0.000721f, -0.003787f, -0.000558f, 0.000614f, 0.005888f, 0.005916f, 0.002093f, -0.002555f, -0.009891f, -0.016327f, -0.004957f, -0.001091f, -0.003925f, 0.008847f, -0.003428f, -0.005004f, 0.007151f, -0.004483f, -0.006899f, 0.015583f, -0.003251f, -0.008653f, -0.000653f, 0.001465f, -0.002476f, 0.007702f, -0.000863f, -0.006817f, 0.000233f, 0.000335f, -0.001344f, -0.002032f, 0.006232f, 0.001407f, 0.000997f, -0.003608f, 0.000897f, - -0.001081f, 0.000553f, 0.002403f, -0.000392f, 0.001372f, 0.002972f, 0.000379f, -0.000429f, -0.000589f, 0.001345f, -0.003437f, -0.001144f, -0.000675f, -0.001445f, 0.001452f, 0.001342f, -0.000554f, 0.016551f, -0.010683f, -0.005090f, -0.007755f, 0.006085f, 0.001104f, -0.000843f, 0.011917f, 0.002790f, 0.003430f, -0.017504f, 0.003123f, -0.008215f, -0.009532f, -0.012372f, -0.000285f, 0.000349f, 0.014494f, -0.012007f, 0.005433f, -0.005091f, 0.017944f, -0.006595f, -0.006051f, 0.012729f, -0.004982f, 0.004330f, 0.001859f, -0.000948f, 0.002044f, -0.008697f, 0.001324f, 0.000307f, 0.003564f, 0.016842f, 0.005833f, 0.001482f, -0.007305f, 0.005827f, -0.013235f, -0.003755f, -0.002589f, 0.007108f, 0.006097f, 0.010132f, 0.006648f, -0.007779f, -0.011353f, -0.005031f, 0.008562f, -0.001165f, 0.004416f, -0.001922f, -0.001306f, 0.017114f, 0.004004f, -0.001416f, -0.020615f, -0.009280f, 0.000479f, 0.007040f, 0.010946f, 0.015366f, 0.008617f, -0.003851f, 0.002724f, -0.003907f, -0.005309f, 0.010990f, -0.007046f, 0.011317f, 0.000475f, -0.010442f, 0.003677f, -0.005440f, 0.008881f, -0.007783f, -0.000919f, 0.007636f, - 0.008863f, -0.009052f, -0.003464f, -0.001807f, -0.003696f, 0.005237f, -0.001237f, -0.003946f, 0.002438f, 0.001164f, 0.001327f, 0.001374f, 0.002125f, 0.001036f, 0.001259f, 0.000439f, -0.000672f, -0.000914f, -0.003333f, 0.005004f, -0.000225f, 0.000169f, 0.000565f, -0.000063f, 0.000796f, 0.002602f, 0.002650f, -0.000268f, -0.000720f, 0.003275f, 0.002590f, -0.000356f, 0.002163f, 0.008807f, -0.002012f, -0.001387f, -0.003142f, -0.010143f, 0.000478f, 0.007413f, 0.007393f, 0.013750f, 0.006352f, -0.017888f, -0.014918f, -0.012948f, 0.000624f, -0.002136f, 0.001039f, -0.007023f, -0.004320f, -0.001036f, 0.005540f, -0.000007f, -0.011418f, 0.012499f, -0.001687f, -0.011488f, 0.002456f, 0.002792f, -0.000145f, -0.001047f, 0.005091f, 0.006645f, -0.004027f, 0.010123f, 0.000594f, 0.005954f, -0.013628f, 0.009821f, 0.003569f, 0.005686f, -0.009348f, -0.000982f, 0.007004f, 0.005964f, 0.015087f, -0.000507f, -0.020597f, -0.005609f, -0.009813f, 0.004901f, 0.003455f, -0.000808f, -0.005423f, 0.001629f, -0.008384f, -0.002961f, -0.015351f, -0.009052f, -0.000415f, 0.008651f, 0.009712f, -0.006892f, -0.005829f, -0.006036f, - 0.009981f, -0.003331f, -0.001106f, -0.014805f, 0.009056f, -0.014613f, -0.004976f, -0.000602f, -0.002985f, -0.003947f, 0.015698f, -0.001296f, -0.003508f, -0.004142f, 0.003208f, -0.009366f, 0.001199f, -0.016264f, -0.012976f, 0.004797f, -0.004451f, -0.002410f, 0.005942f, -0.002928f, 0.007889f, 0.001551f, 0.003691f, 0.005488f, -0.001337f, 0.002659f, 0.001910f, 0.001025f, -0.001021f, 0.002013f, 0.000936f, 0.000505f, -0.001082f, -0.001272f, 0.000450f, -0.004764f, 0.000043f, 0.003002f, 0.000851f, -0.000180f, 0.000703f, -0.002926f, -0.000811f, 0.001790f, 0.001109f, 0.004797f, 0.001400f, -0.000598f, -0.000618f, 0.004417f, -0.005142f, 0.007910f, -0.005892f, 0.000270f, 0.010813f, 0.019484f, 0.013552f, 0.003120f, -0.014795f, -0.011025f, 0.004292f, -0.002316f, -0.009399f, -0.002899f, -0.012181f, -0.005076f, 0.025230f, 0.003159f, -0.002412f, -0.004380f, 0.000263f, -0.005539f, -0.003773f, 0.017165f, -0.017281f, -0.001791f, 0.001976f, -0.003471f, 0.004643f, 0.010495f, -0.004452f, -0.005490f, 0.002826f, -0.006896f, -0.006763f, -0.016013f, -0.005796f, 0.004675f, -0.014350f, -0.002159f, 0.007478f, 0.011279f, - 0.004148f, -0.022595f, -0.006669f, 0.004890f, 0.011771f, -0.008686f, 0.020142f, -0.002026f, -0.009870f, -0.005341f, -0.004077f, -0.007569f, 0.011053f, -0.007795f, -0.001928f, -0.010387f, -0.008156f, -0.003621f, -0.008298f, 0.011747f, -0.003984f, -0.022636f, 0.008990f, 0.015701f, 0.000432f, 0.005872f, -0.027656f, 0.022070f, 0.000619f, -0.017969f, 0.002069f, -0.012034f, -0.002397f, 0.002248f, -0.013046f, -0.015249f, 0.010561f, 0.005154f, -0.013260f, -0.000603f, 0.000555f, -0.008022f, -0.000836f, -0.002762f, 0.002292f, -0.007080f, -0.003606f, -0.001142f, -0.003473f, -0.001551f, -0.005232f, 0.002112f, -0.000153f, 0.003126f, -0.005709f, 0.001721f, 0.003546f, 0.000248f, -0.003159f, 0.002499f, -0.003061f, 0.003440f, 0.002732f, -0.002168f, 0.002669f, -0.000124f, -0.001529f, -0.000466f, 0.001059f, 0.001535f, 0.000912f, 0.000880f, -0.020353f, 0.004938f, -0.014911f, 0.016526f, 0.004420f, -0.005884f, -0.011984f, -0.021193f, -0.009059f, -0.015259f, 0.005657f, 0.030365f, 0.005414f, -0.007489f, -0.000170f, -0.003795f, -0.004341f, -0.013212f, -0.008620f, -0.013610f, 0.004065f, -0.000713f, 0.003349f, -0.004541f, - 0.002601f, -0.014393f, -0.000725f, 0.003716f, -0.009735f, -0.003345f, 0.001548f, -0.005115f, 0.001728f, -0.004678f, 0.022475f, -0.026770f, -0.004553f, 0.002556f, 0.007573f, -0.002442f, -0.010869f, -0.016276f, -0.011529f, 0.009286f, -0.002105f, 0.010264f, -0.008178f, 0.026082f, 0.003637f, -0.004619f, 0.000013f, -0.014906f, -0.019269f, -0.009493f, 0.007670f, -0.016299f, -0.000749f, 0.019960f, -0.000286f, -0.008896f, -0.018331f, -0.031049f, 0.001562f, 0.016506f, -0.004210f, 0.018887f, -0.001422f, -0.005415f, -0.011359f, -0.009883f, 0.002051f, 0.007737f, -0.005680f, 0.027228f, 0.008353f, -0.008229f, 0.004373f, -0.010637f, 0.004294f, 0.005470f, -0.003454f, 0.006215f, 0.011111f, 0.005024f, 0.000733f, -0.006803f, -0.019501f, 0.001733f, -0.004260f, -0.001580f, -0.002793f, 0.001831f, 0.000638f, 0.000158f, -0.008511f, 0.001795f, -0.004797f, 0.002060f, -0.004727f, -0.001212f, -0.001090f, -0.000024f, -0.000255f, -0.000521f, -0.003353f, -0.002734f, -0.003695f, -0.005262f, -0.005890f, -0.002095f, 0.000481f, 0.002045f, -0.003018f, 0.000356f, 0.000345f, 0.001047f, -0.002267f, 0.002618f, -0.004097f, -0.000167f, - 0.017480f, -0.007908f, -0.020574f, -0.005738f, -0.015412f, -0.008086f, -0.006796f, 0.021466f, -0.005611f, -0.007383f, -0.009307f, 0.013754f, 0.012298f, 0.010894f, 0.030298f, 0.031813f, 0.014595f, 0.019730f, -0.007680f, -0.009312f, 0.013004f, 0.019473f, -0.008717f, 0.008499f, 0.005836f, -0.017125f, -0.016326f, 0.009406f, -0.002583f, -0.000311f, -0.016299f, -0.020515f, -0.005089f, -0.016644f, 0.018501f, 0.034928f, 0.006996f, 0.013734f, 0.003788f, -0.004201f, 0.012270f, -0.023998f, -0.006638f, 0.004901f, 0.013083f, -0.007948f, -0.019569f, 0.028142f, -0.000308f, -0.008728f, -0.007150f, 0.011515f, -0.003718f, 0.010262f, -0.007316f, 0.016142f, -0.001621f, -0.000474f, 0.019741f, 0.006172f, 0.008961f, 0.003551f, -0.003321f, 0.014903f, -0.023037f, -0.009168f, 0.008240f, 0.025719f, -0.015947f, -0.001857f, -0.003478f, -0.003661f, -0.011022f, -0.002395f, -0.005859f, -0.007410f, -0.001346f, 0.001709f, 0.006984f, -0.003047f, 0.020378f, 0.007518f, -0.012170f, -0.002877f, 0.001242f, 0.007884f, 0.002488f, -0.003595f, -0.007472f, -0.001567f, 0.004255f, -0.004608f, -0.004352f, -0.003523f, 0.003918f, 0.002649f, - 0.003861f, 0.002194f, -0.004138f, -0.001496f, -0.000210f, -0.003826f, -0.001002f, 0.003027f, 0.001521f, -0.000452f, -0.004617f, 0.005674f, -0.001122f, 0.003545f, -0.002736f, 0.001759f, -0.005322f, -0.000443f, -0.001091f, 0.000281f, -0.003676f, -0.001053f, 0.012619f, -0.012653f, -0.004987f, 0.011376f, -0.009100f, 0.004843f, 0.008549f, -0.017221f, -0.018349f, 0.005062f, 0.013857f, -0.004893f, 0.012641f, -0.009421f, -0.004208f, 0.024150f, -0.027651f, 0.016459f, -0.007945f, 0.000047f, 0.000644f, 0.029849f, -0.006767f, 0.005773f, 0.009446f, 0.016374f, 0.009578f, 0.014323f, -0.002497f, -0.002487f, 0.004641f, 0.002169f, 0.002324f, -0.014646f, 0.022426f, -0.030187f, -0.006693f, -0.008070f, 0.016690f, -0.003549f, 0.020359f, -0.001110f, 0.001850f, -0.035896f, -0.009879f, 0.021606f, 0.036952f, -0.000513f, -0.018449f, -0.015657f, 0.015138f, 0.012054f, 0.009131f, 0.008548f, -0.015819f, -0.007391f, -0.009183f, 0.004629f, 0.000610f, -0.009863f, 0.005644f, 0.004790f, -0.004574f, -0.005143f, -0.021612f, -0.005872f, -0.007961f, 0.030626f, 0.002775f, 0.005619f, 0.011637f, 0.000735f, -0.024169f, 0.001011f, - -0.014566f, 0.011853f, 0.028735f, -0.015450f, 0.008862f, -0.004586f, -0.014967f, 0.007024f, -0.012549f, -0.002365f, 0.005197f, 0.003670f, 0.006563f, 0.002578f, -0.001064f, -0.005677f, 0.006214f, 0.013283f, 0.002252f, 0.006476f, 0.011083f, 0.004730f, 0.012536f, -0.004002f, 0.011860f, 0.000381f, 0.000276f, 0.002370f, 0.001327f, 0.003192f, -0.000360f, -0.006053f, -0.003239f, 0.000029f, 0.003188f, 0.003121f, -0.002267f, 0.005525f, 0.005467f, -0.004817f, 0.007727f, 0.013254f, -0.022143f, -0.008372f, -0.008182f, 0.004504f, -0.001053f, 0.033549f, -0.003950f, 0.001408f, 0.021374f, -0.018608f, -0.013464f, -0.017429f, -0.018281f, -0.004244f, -0.000454f, 0.008564f, 0.035848f, -0.003016f, -0.020283f, 0.037137f, 0.000827f, 0.010567f, 0.025433f, 0.017635f, 0.023749f, -0.005911f, 0.018805f, -0.011759f, 0.024848f, 0.021786f, -0.005629f, 0.011471f, -0.009706f, -0.008959f, 0.009513f, 0.028442f, 0.012903f, 0.011394f, 0.004197f, -0.008750f, -0.015377f, -0.015610f, 0.002774f, 0.019634f, -0.011084f, -0.013334f, -0.016486f, -0.006089f, -0.032874f, -0.007512f, 0.006535f, -0.024056f, 0.011944f, 0.001973f, - -0.010895f, -0.028298f, -0.018892f, 0.000276f, -0.037671f, 0.012112f, 0.008569f, -0.000599f, 0.010736f, 0.007099f, -0.003509f, -0.019485f, -0.011765f, -0.001986f, -0.012315f, 0.011895f, -0.012915f, 0.031590f, -0.020931f, 0.001352f, 0.013947f, 0.001449f, -0.009262f, -0.035946f, 0.006482f, 0.017969f, 0.004470f, 0.001272f, 0.019800f, 0.011062f, -0.011074f, 0.000248f, -0.001135f, 0.001704f, -0.000628f, -0.006020f, -0.012574f, -0.003572f, -0.013600f, 0.001008f, 0.003616f, 0.001920f, -0.003396f, -0.006881f, -0.003129f, -0.004514f, 0.006152f, 0.002044f, 0.007996f, 0.005819f, 0.004665f, 0.001967f, -0.000478f, -0.002471f, -0.002254f, -0.005996f, 0.003042f, 0.000650f, 0.003030f, -0.002772f, -0.000249f, -0.004977f, 0.000499f, -0.003839f, 0.001779f, -0.046287f, 0.016180f, 0.021055f, 0.037086f, -0.000165f, -0.027641f, 0.007730f, 0.013238f, -0.028619f, -0.029755f, -0.018620f, -0.000785f, 0.015804f, -0.000870f, -0.011690f, -0.000657f, -0.010236f, -0.006901f, -0.018470f, 0.030703f, 0.023963f, 0.008998f, -0.037762f, -0.011342f, 0.006011f, -0.002188f, -0.008450f, 0.047693f, 0.017437f, 0.014961f, 0.013998f, - 0.022620f, 0.016949f, 0.004106f, 0.017748f, -0.001247f, -0.029683f, 0.016005f, -0.030533f, 0.009285f, -0.030229f, 0.025464f, -0.008030f, 0.030755f, -0.016847f, 0.007456f, -0.013636f, 0.011073f, 0.017956f, 0.046962f, 0.009883f, -0.059763f, -0.003214f, -0.008332f, 0.012780f, 0.026090f, -0.005334f, -0.011618f, 0.019137f, -0.003404f, -0.009469f, 0.025704f, 0.001582f, -0.001151f, 0.001257f, 0.011005f, 0.020523f, 0.016283f, -0.017727f, -0.013149f, -0.011201f, -0.017940f, 0.004158f, -0.001663f, 0.020290f, 0.014615f, -0.027488f, -0.006620f, -0.015570f, 0.013316f, -0.007604f, -0.007330f, 0.004759f, 0.000895f, -0.010617f, 0.009072f, 0.002169f, 0.001512f, -0.001604f, 0.005163f, 0.005299f, 0.000858f, -0.015576f, 0.004346f, 0.002673f, -0.001988f, -0.002780f, -0.005156f, 0.000160f, -0.006900f, 0.003167f, 0.007807f, -0.002409f, -0.002304f, 0.007613f, 0.001208f, -0.007168f, -0.005455f, -0.001321f, 0.003740f, -0.003143f, -0.000728f, -0.004422f, 0.001193f, -0.002968f, 0.000054f, 0.007318f, -0.004906f, 0.001156f, 0.050440f, -0.018983f, -0.033452f, -0.010587f, 0.013206f, -0.008204f, 0.024294f, 0.035096f, - -0.013978f, 0.032194f, 0.020763f, 0.016227f, -0.005200f, -0.003783f, -0.006364f, 0.031228f, 0.005802f, 0.003837f, -0.018021f, 0.007977f, -0.009364f, -0.000711f, -0.029831f, 0.020375f, -0.027363f, 0.000208f, -0.019266f, 0.032567f, -0.016485f, 0.000807f, 0.032216f, 0.024480f, 0.016616f, -0.001883f, -0.012617f, 0.014999f, -0.000342f, -0.002805f, -0.040860f, -0.012094f, -0.024627f, -0.020036f, -0.015568f, -0.007324f, 0.021447f, 0.013471f, 0.012565f, 0.000130f, 0.031505f, -0.016536f, 0.033332f, 0.029260f, 0.031451f, 0.054847f, -0.021030f, -0.016446f, 0.024226f, 0.004612f, -0.021104f, 0.033125f, -0.010724f, -0.015878f, 0.010873f, -0.004010f, -0.011310f, -0.009383f, 0.014345f, -0.019090f, 0.008844f, -0.011799f, 0.030505f, -0.012837f, 0.000628f, 0.008935f, 0.022286f, 0.030157f, 0.002563f, -0.026198f, -0.028391f, 0.009404f, -0.018864f, -0.061181f, -0.032089f, 0.009847f, -0.000539f, 0.017789f, 0.002417f, -0.009972f, -0.001011f, -0.005760f, 0.002755f, -0.010555f, -0.004523f, -0.007223f, -0.002916f, 0.000908f, -0.001169f, -0.019062f, -0.004873f, -0.012460f, -0.011104f, -0.008769f, 0.004043f, -0.000816f, - 0.000931f, -0.013859f, -0.009560f, -0.000452f, -0.000381f, 0.002790f, 0.007334f, 0.005973f, 0.004534f, -0.009950f, 0.000639f, 0.002361f, -0.012813f, 0.004642f, 0.000915f, 0.005716f, 0.002715f, 0.007272f, 0.004206f, -0.002862f, 0.006237f, -0.004572f, -0.003316f, -0.001353f, -0.046193f, -0.038929f, -0.001157f, 0.009099f, -0.026340f, 0.001963f, 0.003158f, 0.044409f, -0.027711f, -0.031814f, 0.011317f, -0.012969f, 0.000707f, -0.023043f, 0.023433f, -0.023424f, -0.031638f, -0.018845f, 0.038202f, -0.024785f, -0.020107f, -0.004054f, 0.015962f, -0.010444f, -0.026097f, 0.009085f, -0.010117f, 0.000910f, 0.012982f, -0.034674f, -0.001910f, 0.020372f, 0.032291f, -0.004040f, 0.048957f, 0.021882f, -0.004732f, 0.002893f, 0.022680f, -0.008276f, -0.018836f, 0.004469f, 0.026871f, 0.003660f, 0.013297f, 0.001337f, -0.020616f, 0.008141f, -0.046171f, 0.005023f, 0.003315f, -0.005228f, -0.026880f, -0.024345f, 0.003813f, -0.010696f, -0.018215f, -0.011962f, -0.014514f, 0.018718f, -0.030146f, -0.016892f, -0.008146f, 0.014205f, -0.017420f, 0.038661f, -0.004938f, -0.031105f, -0.001991f, -0.018212f, -0.049773f, -0.014362f, - 0.004115f, -0.000782f, -0.032065f, -0.016776f, -0.006725f, 0.008242f, -0.018743f, -0.008928f, 0.033168f, -0.010766f, -0.043442f, -0.014796f, 0.006497f, 0.004147f, 0.015305f, 0.013055f, 0.009944f, -0.009508f, -0.012071f, -0.002295f, -0.008199f, 0.007222f, 0.002722f, -0.004900f, 0.010242f, 0.004716f, 0.006343f, -0.003049f, 0.005339f, 0.004192f, 0.000755f, -0.001107f, -0.002491f, -0.003327f, 0.000865f, 0.003345f, -0.014932f, 0.004151f, -0.008257f, 0.010887f, 0.004529f, -0.010841f, -0.009506f, -0.000111f, -0.007358f, -0.000404f, 0.004112f, -0.002156f, -0.004707f, -0.007831f, -0.005758f, 0.005341f, 0.002482f, -0.008970f, 0.004450f, 0.001816f, -0.005696f, -0.004730f, -0.010370f, 0.035342f, 0.031543f, 0.009090f, 0.065104f, -0.012711f, -0.023396f, -0.021064f, -0.010090f, -0.035879f, 0.047278f, -0.029151f, -0.010897f, -0.023725f, -0.012401f, -0.011457f, 0.005195f, -0.034183f, 0.000095f, -0.000196f, -0.005056f, 0.008961f, -0.035939f, -0.009624f, 0.023967f, -0.024799f, 0.000935f, -0.031921f, 0.029664f, -0.000440f, -0.053758f, -0.028325f, -0.010035f, -0.001779f, 0.014485f, -0.033062f, -0.018530f, 0.021614f, - -0.004149f, 0.014721f, 0.013813f, 0.013297f, -0.019779f, 0.001501f, 0.023298f, 0.008053f, -0.044373f, 0.027727f, 0.020217f, -0.024507f, 0.067393f, -0.001893f, -0.048856f, 0.012777f, 0.015080f, -0.001752f, 0.035861f, -0.011749f, -0.060599f, 0.016342f, 0.008414f, 0.017402f, 0.021190f, -0.028273f, 0.043444f, 0.015747f, 0.013368f, -0.011072f, 0.065924f, -0.005770f, 0.000948f, 0.044427f, -0.007893f, 0.019879f, 0.035549f, 0.011532f, 0.005166f, -0.009295f, 0.017016f, 0.000015f, 0.030060f, -0.014002f, 0.029267f, 0.026232f, 0.001522f, 0.025939f, 0.015863f, 0.020508f, -0.010937f, -0.000824f, 0.024309f, 0.016825f, 0.013027f, 0.007084f, 0.008280f, -0.016894f, -0.001948f, -0.000007f, -0.007571f, 0.000218f, -0.002768f, -0.007709f, 0.014114f, -0.015338f, -0.002768f, -0.015074f, 0.012321f, -0.006901f, 0.014779f, -0.013429f, 0.002079f, -0.009622f, -0.012400f, 0.007779f, -0.004697f, -0.001192f, -0.012075f, -0.018911f, -0.013300f, 0.013045f, 0.001425f, -0.006655f, 0.001576f, 0.016430f, 0.012715f, -0.006193f, 0.006245f, -0.000720f, -0.004719f, 0.016976f, 0.000809f, 0.010770f, 0.013185f, -0.046839f, - -0.045962f, 0.094169f, 0.030364f, -0.058906f, -0.029621f, -0.027055f, -0.053916f, -0.004071f, -0.028462f, 0.039173f, -0.022202f, 0.000117f, 0.048936f, 0.000971f, 0.008123f, -0.036134f, 0.045126f, 0.033544f, -0.000591f, -0.010984f, -0.003520f, -0.028126f, 0.002132f, 0.003454f, 0.005732f, -0.038622f, -0.005596f, -0.002345f, -0.011577f, -0.008697f, -0.026527f, 0.025024f, 0.049846f, 0.059718f, -0.004846f, -0.024379f, -0.010081f, -0.012538f, -0.008350f, -0.036878f, 0.012540f, 0.014204f, 0.013223f, -0.038434f, -0.051044f, 0.055072f, 0.020916f, 0.030769f, 0.040181f, 0.037453f, -0.016242f, -0.025894f, 0.036375f, -0.037121f, 0.018820f, -0.027832f, -0.021131f, -0.012521f, 0.043282f, -0.014512f, 0.008870f, 0.014654f, -0.007778f, -0.035133f, 0.072331f, -0.043876f, 0.004591f, 0.052115f, -0.047252f, -0.021641f, 0.005687f, 0.018929f, 0.053912f, 0.009428f, -0.031071f, 0.000680f, 0.006690f, -0.007524f, -0.012962f, 0.007527f, -0.021706f, 0.016526f, -0.017938f, -0.025621f, 0.013857f, 0.007479f, 0.019523f, 0.008487f, -0.000540f, -0.009042f, 0.002360f, 0.005190f, 0.006155f, 0.020478f, -0.001008f, 0.002631f, - 0.013062f, -0.030898f, 0.004612f, -0.014057f, 0.003577f, 0.003173f, -0.004735f, -0.011857f, -0.014158f, -0.003772f, -0.014201f, 0.005404f, 0.008081f, 0.017451f, -0.001310f, -0.012127f, 0.011558f, 0.013455f, 0.008625f, 0.008114f, -0.021783f, 0.000487f, 0.005854f, -0.005762f, 0.019288f, -0.007419f, 0.001744f, 0.001719f, 0.017860f, -0.008673f, 0.005588f, 0.024426f, 0.024537f, -0.015650f, 0.015403f, 0.062816f, 0.037873f, -0.005636f, -0.040171f, 0.004244f, 0.064417f, 0.051296f, 0.010835f, -0.050927f, -0.019590f, -0.043963f, -0.003243f, 0.034468f, 0.042576f, -0.003086f, 0.016210f, 0.050591f, 0.053847f, 0.083523f, 0.084085f, -0.041928f, 0.018332f, -0.045278f, -0.008150f, -0.036698f, -0.013151f, 0.029002f, -0.006436f, 0.012719f, 0.011437f, -0.026064f, -0.019070f, 0.021355f, 0.023818f, 0.030875f, 0.021971f, -0.001000f, 0.022651f, 0.034077f, -0.017960f, 0.017281f, 0.020133f, 0.006024f, 0.019665f, 0.065163f, -0.048872f, -0.042081f, -0.009421f, 0.040286f, 0.038623f, -0.022856f, -0.000224f, 0.061867f, 0.050064f, -0.034972f, -0.023289f, 0.021300f, -0.042703f, 0.011959f, -0.020508f, -0.038743f, - 0.012620f, -0.045530f, 0.047451f, 0.017468f, 0.052556f, -0.021968f, -0.030605f, -0.059207f, -0.012743f, 0.019438f, -0.051852f, -0.044361f, -0.024240f, 0.023289f, 0.013837f, 0.011003f, -0.022784f, 0.010013f, -0.016277f, 0.006387f, 0.048354f, -0.020450f, 0.005766f, -0.027280f, 0.020823f, -0.011192f, -0.022884f, 0.016324f, 0.022632f, -0.012433f, -0.006370f, -0.007320f, 0.016289f, 0.036094f, -0.011414f, -0.024089f, 0.000644f, -0.000334f, -0.008844f, -0.003733f, -0.033420f, 0.004764f, -0.017698f, -0.007871f, 0.012279f, -0.010831f, -0.005836f, -0.000871f, -0.009165f, 0.014909f, -0.014598f, -0.023117f, -0.020921f, -0.017622f, 0.019015f, 0.010067f, -0.004169f, 0.008488f, 0.005777f, -0.014915f, -0.016277f, 0.006269f, -0.017360f, -0.001856f, -0.030175f, 0.023950f, 0.062296f, -0.004878f, -0.020339f, 0.039710f, 0.007527f, -0.003137f, -0.060882f, 0.051969f, -0.026851f, -0.057887f, -0.020196f, 0.003064f, 0.065004f, 0.005505f, 0.046357f, 0.018320f, -0.056644f, -0.012941f, -0.050273f, 0.007144f, -0.050112f, -0.036261f, -0.021969f, 0.001683f, 0.009575f, -0.039023f, 0.036719f, -0.012906f, 0.022003f, 0.023706f, - 0.023463f, 0.044709f, 0.082225f, 0.047913f, -0.016633f, -0.041639f, -0.002218f, 0.086610f, 0.053669f, -0.030567f, 0.042729f, -0.017570f, 0.052369f, -0.027211f, 0.004375f, -0.020573f, -0.010595f, -0.003781f, -0.015722f, 0.130571f, -0.025776f, -0.037066f, -0.042701f, -0.059753f, -0.023463f, -0.046238f, -0.002808f, 0.049967f, -0.021003f, 0.014191f, -0.017686f, -0.026716f, 0.045407f, -0.013654f, 0.077030f, 0.013611f, 0.061461f, -0.076835f, 0.030541f, 0.132754f, 0.047830f, -0.075298f, 0.043579f, 0.039809f, 0.001681f, 0.007816f, -0.023597f, 0.024643f, 0.116483f, 0.061551f, 0.025552f, 0.034764f, -0.037435f, 0.067065f, -0.007857f, 0.009638f, 0.010012f, 0.015964f, 0.007116f, 0.043848f, -0.037632f, -0.009991f, 0.002462f, 0.056122f, -0.010353f, 0.013177f, 0.065161f, -0.005962f, -0.037421f, -0.009251f, 0.023491f, 0.003232f, -0.016255f, -0.037941f, 0.020884f, 0.014749f, -0.026341f, -0.015797f, 0.016999f, -0.032207f, -0.026906f, 0.007754f, 0.012348f, -0.000856f, 0.008351f, 0.005438f, 0.009888f, -0.012266f, 0.010374f, -0.007755f, -0.010137f, 0.009531f, 0.003650f, 0.013473f, 0.002366f, 0.091431f, - 0.042763f, 0.010271f, -0.002735f, -0.099633f, 0.046589f, 0.062696f, -0.045015f, -0.032778f, 0.077486f, 0.050511f, -0.061838f, -0.065726f, 0.002413f, -0.038405f, 0.016829f, 0.006404f, 0.016072f, -0.061789f, 0.016262f, -0.011991f, -0.030687f, 0.054957f, -0.003714f, -0.009127f, 0.018582f, 0.046080f, 0.041511f, 0.028334f, -0.052784f, 0.001163f, -0.025693f, -0.056385f, 0.020673f, 0.015965f, 0.034864f, -0.011916f, -0.026169f, 0.072154f, -0.051675f, 0.022868f, 0.025197f, 0.020380f, 0.015626f, -0.008976f, 0.042784f, -0.039568f, -0.068181f, -0.011491f, -0.078117f, 0.068676f, 0.042351f, 0.067387f, -0.005308f, 0.013243f, -0.054284f, 0.056581f, 0.071530f, 0.025578f, -0.030215f, -0.080044f, -0.018260f, -0.105590f, 0.001698f, -0.019706f, -0.071444f, -0.060796f, 0.027951f, 0.004383f, 0.044184f, -0.034130f, 0.050631f, 0.042407f, -0.059746f, 0.012615f, -0.035628f, -0.010205f, -0.053956f, 0.006794f, 0.157700f, 0.039209f, 0.046385f, 0.057622f, 0.025917f, -0.044820f, -0.005975f, -0.000750f, 0.037556f, -0.008702f, 0.038592f, -0.017534f, -0.023494f, 0.000798f, -0.002489f, -0.044313f, 0.038178f, -0.007175f, - -0.010630f, -0.013862f, -0.030739f, 0.004279f, -0.014395f, -0.019941f, -0.028536f, -0.022820f, 0.014269f, -0.016542f, 0.013989f, 0.015469f, -0.010767f, -0.018628f, -0.024569f, 0.011157f, -0.004200f, 0.010365f, 0.038307f, 0.023450f, -0.000111f, -0.003394f, 0.012513f, 0.023505f, -0.023137f, 0.020693f, -0.023316f, -0.018026f, -0.012110f, -0.064241f, 0.026313f, 0.019768f, -0.030948f, 0.009125f, -0.016602f, -0.095954f, -0.026402f, 0.022210f, -0.012371f, 0.009238f, -0.054104f, 0.067662f, -0.091986f, 0.005979f, -0.067753f, 0.044960f, 0.049486f, 0.015452f, 0.041184f, 0.003585f, -0.045153f, 0.073548f, -0.036252f, 0.006754f, -0.000245f, -0.044066f, 0.069453f, 0.003833f, 0.016977f, 0.014441f, 0.020714f, 0.010720f, 0.051690f, 0.061524f, 0.019738f, 0.072069f, -0.064914f, -0.005923f, -0.001340f, 0.092449f, -0.019236f, 0.073508f, 0.040259f, 0.101400f, 0.018807f, -0.024242f, -0.033999f, 0.039692f, -0.077911f, 0.071269f, -0.044926f, -0.026773f, -0.013442f, 0.013583f, 0.053464f, -0.013816f, -0.100603f, -0.028591f, 0.159557f, 0.010925f, -0.102572f, 0.024035f, -0.068361f, 0.018950f, 0.157195f, -0.044590f, - -0.044660f, 0.109013f, -0.119963f, 0.058963f, 0.025970f, 0.034874f, 0.101947f, 0.064276f, -0.093007f, 0.111963f, 0.073186f, 0.002432f, 0.119233f, -0.050477f, -0.017680f, 0.086226f, 0.056392f, 0.009470f, 0.022354f, -0.001058f, -0.002217f, 0.009595f, 0.028917f, -0.027984f, 0.030631f, 0.031532f, -0.028002f, 0.013146f, 0.021060f, -0.039646f, -0.004515f, 0.013561f, -0.004528f, 0.006446f, 0.048250f, -0.000101f, 0.031867f, -0.018193f, -0.000391f, 0.022854f, -0.015712f, -0.013281f, -0.033061f, 0.004643f, 0.028670f, 0.018789f, 0.026974f, -0.052739f, 0.028282f, 0.033016f, 0.014687f, 0.005068f, 0.013378f, -0.003245f, 0.030220f, 0.054245f, 0.012908f, 0.025732f, 0.024646f, -0.013588f, -0.014983f, 0.025387f, -0.033225f, 0.012169f, 0.039174f, 0.053569f, 0.103057f, 0.050781f, -0.050761f, 0.065478f, 0.019051f, 0.058952f, -0.018138f, -0.112112f, 0.112076f, 0.096962f, 0.059439f, 0.184000f, -0.018051f, -0.156433f, -0.081061f, -0.074440f, 0.163435f, 0.119521f, 0.028464f, -0.011617f, -0.030698f, -0.109787f, -0.052250f, -0.036399f, -0.063047f, 0.165840f, 0.134928f, 0.187185f, 0.002902f, -0.216829f, - -0.336277f, -0.164995f, 0.186496f, 0.251114f, 0.257229f, 0.102599f, -0.214152f, -0.393858f, -0.241182f, -0.122809f, 0.180661f, 0.306592f, 0.174464f, 0.093763f, 0.025054f, -0.140248f, -0.187021f, -0.141045f, -0.010869f, 0.106920f, 0.219235f, 0.261073f, 0.046391f, 0.049951f, -0.208552f, -0.346649f, -0.184314f, 0.170673f, 0.288653f, 0.272402f, 0.170824f, -0.101852f, -0.335967f, -0.218886f, -0.281724f, -0.000366f, 0.191078f, 0.205166f, 0.103507f, -0.083423f, -0.176849f, -0.158175f, -0.123906f, 0.035273f, 0.117776f, 0.081390f, 0.238283f, 0.084672f, -0.053248f, -0.142222f, -0.052205f, 0.157404f, 0.232048f, 0.076953f, -0.008946f, -0.143259f, -0.028708f, -0.033224f, 0.091717f, 0.033421f, -0.023227f, -0.099345f, -0.029292f, 0.004249f, -0.015632f, -0.030641f, -0.006270f, 0.022065f, 0.049781f, 0.082719f, 0.040615f, -0.083676f, -0.073370f, -0.070006f, 0.016724f, 0.087196f, 0.098328f, 0.044373f, 0.010699f, -0.063769f, -0.026842f, -0.123923f, -0.108476f, -0.010398f, 0.032516f, 0.134168f, 0.203513f, 0.076314f, -0.070498f, -0.168396f, -0.208460f, -0.088459f, 0.164234f, 0.269745f, 0.186117f, 0.055701f, - -0.135395f, -0.222132f, -0.108023f, -0.001308f, 0.040816f, 0.039305f, 0.094788f, 0.047385f, 0.021453f, -0.056945f, -0.118908f, -0.090750f, 0.013207f, 0.059781f, 0.119345f, 0.055561f, 0.020595f, -0.022633f, -0.059490f, 0.070512f, 0.010855f, -0.100010f, 0.013833f, -0.025362f, -0.039634f, 0.031267f, -0.030156f, -0.011419f, -0.053094f, 0.004076f, -0.019708f, -0.039356f, 0.017101f, -0.003574f, 0.014489f, 0.007536f, 0.034514f, -0.031891f, -0.010079f, 0.011182f, 0.004689f, 0.016627f, -0.012999f, 0.034855f, -0.022769f, 0.024371f, 0.012103f, -0.009785f, -0.023964f, -0.009619f, -0.045815f, 0.052226f, -0.003529f, 0.002952f, -0.007772f, -0.010922f, 0.003927f, -0.000215f, 0.002446f, 0.021008f, 0.012898f, 0.000719f, 0.029761f, -0.023428f, 0.009976f, -0.022173f, 0.026871f, 0.017045f, -0.018295f, 0.014997f, -0.022585f, -0.025384f, -0.020500f, -0.039867f, -0.003359f, 0.032343f, -0.027150f, -0.054703f, -0.037340f, 0.004700f, 0.035234f, 0.002046f, 0.026520f, -0.051981f, -0.013019f, -0.004860f, -0.003889f, -0.050793f, -0.012136f, 0.003076f, 0.008509f, -0.017347f, 0.055205f, 0.023205f, -0.016775f, 0.051414f, - -0.004212f, -0.088291f, -0.003018f, -0.011726f, -0.007370f, 0.018598f, 0.012022f, 0.025137f, -0.027374f, 0.039837f, -0.065264f, 0.020336f, 0.012237f, -0.001456f, 0.000562f, -0.002965f, -0.003985f, 0.023407f, -0.003611f, 0.005230f, -0.009402f, 0.000350f, -0.018824f, 0.006266f, 0.000609f, 0.039802f, 0.000123f, 0.018391f, -0.017307f, 0.003507f, -0.008503f, -0.021352f, 0.007430f, 0.000807f, -0.010891f, 0.028825f, -0.004862f, -0.005717f, -0.010780f, 0.021540f, -0.007328f, -0.036664f, 0.008128f, -0.006107f, 0.012070f, -0.014784f, 0.001983f, -0.003260f, -0.023028f, 0.022930f, -0.020367f, 0.016260f, -0.019469f, 0.011910f, -0.001619f, -0.005868f, -0.011267f, -0.053700f, -0.088578f, -0.139600f, 0.005914f, 0.116588f, -0.043513f, -0.070350f, -0.075195f, -0.071066f, 0.015813f, 0.015631f, 0.134328f, -0.018590f, -0.018333f, -0.058679f, 0.007497f, 0.018785f, 0.042888f, -0.043944f, 0.023475f, -0.031774f, 0.053142f, 0.017366f, 0.017990f, 0.006984f, -0.031659f, -0.017014f, -0.020322f, -0.006325f, 0.019814f, -0.018944f, -0.016391f, 0.037539f, -0.032777f, -0.020352f, 0.031375f, -0.028361f, -0.009759f, -0.024260f, - -0.039727f, 0.014999f, 0.027578f, 0.005529f, 0.026043f, -0.037597f, -0.008811f, -0.000519f, 0.023088f, 0.028052f, 0.034938f, 0.002978f, -0.002630f, -0.056881f, -0.058125f, -0.021262f, -0.018213f, -0.012349f, 0.028062f, 0.037721f, 0.053408f, 0.006350f, -0.022997f, 0.053146f, -0.036622f, -0.016253f, 0.024365f, -0.015928f, 0.070024f, 0.004051f, -0.010540f, 0.012229f, -0.024261f, 0.020553f, 0.048819f, 0.039722f, -0.013180f, 0.015345f, -0.045504f, -0.029846f, -0.016265f, -0.010983f, 0.035468f, -0.003979f, 0.034657f, 0.009432f, -0.010109f, 0.004523f, 0.007020f, -0.039830f, 0.024963f, -0.029366f, 0.019529f, -0.013234f, -0.007427f, -0.001647f, 0.022969f, -0.020492f, 0.003593f, 0.004136f, 0.020186f, 0.034119f, -0.016169f, -0.004599f, -0.025815f, -0.010346f, 0.010222f, -0.010121f, 0.008323f, -0.007827f, -0.010009f, -0.018202f, -0.028286f, -0.015708f, 0.027615f, -0.010073f, 0.014081f, -0.018783f, -0.003506f, -0.001146f, -0.005139f, -0.016810f, -0.006806f, 0.002319f, -0.001069f, 0.000609f, 0.000963f, -0.025642f, -0.003339f, -0.005529f, -0.004474f, -0.000034f, -0.000618f, -0.000854f, 0.036651f, -0.090338f, - -0.211301f, -0.161442f, -0.018583f, 0.070019f, 0.182415f, 0.154051f, 0.147051f, 0.150207f, 0.099118f, 0.041821f, -0.054064f, -0.095887f, -0.183152f, -0.134896f, -0.132605f, -0.132155f, -0.082226f, 0.079890f, 0.107573f, 0.158134f, 0.121367f, 0.101749f, 0.033569f, 0.067906f, -0.015233f, -0.017463f, -0.021281f, -0.036997f, -0.069363f, -0.056739f, -0.116840f, -0.042463f, -0.092794f, -0.044116f, -0.021942f, 0.030495f, 0.006084f, 0.043591f, 0.010063f, 0.061010f, 0.044779f, 0.073783f, 0.097932f, 0.121772f, 0.077810f, 0.052394f, 0.086446f, 0.006795f, -0.029433f, -0.106671f, -0.125249f, -0.172153f, -0.153585f, -0.143450f, -0.055034f, -0.094107f, -0.049344f, 0.005910f, 0.025953f, 0.060958f, 0.116004f, 0.123809f, 0.138182f, 0.208939f, 0.117504f, 0.160112f, 0.110880f, 0.025432f, -0.017033f, -0.065410f, -0.167138f, -0.182574f, -0.174041f, -0.192870f, -0.141811f, -0.098711f, -0.079428f, -0.021554f, 0.040561f, 0.068296f, 0.086458f, 0.128941f, 0.136638f, 0.144193f, 0.135940f, 0.085007f, 0.059104f, 0.028347f, 0.002968f, -0.000157f, -0.041194f, -0.066949f, -0.097179f, -0.115194f, -0.122652f, -0.115701f, - -0.081611f, -0.036358f, -0.032980f, -0.012164f, 0.021573f, 0.058001f, 0.071777f, 0.136523f, 0.095891f, 0.076145f, 0.075634f, 0.027655f, -0.003369f, -0.019359f, -0.024401f, -0.025345f, -0.066338f, -0.059025f, -0.043170f, -0.044625f, -0.033161f, 0.004717f, 0.009966f, 0.013443f, -0.008312f, 0.022073f, 0.000262f, 0.026057f, 0.026099f, 0.009086f, -0.009565f, -0.000666f, 0.005252f, 0.004109f, 0.003645f, 0.012606f, 0.002155f, -0.005635f, -0.019762f, -0.003917f, 0.003695f, 0.000015f, 0.011181f, 0.009813f, -0.002745f, -0.001224f, -0.008950f, -0.005942f, -0.005260f, -0.002349f, -0.004557f, 0.003288f, -0.003248f, -0.001150f, -0.001771f, -0.003901f, -0.008110f, 0.000055f, -0.000865f, 0.005173f, 0.010098f, 0.008054f, 0.004739f, 0.007046f, 0.000345f, 0.000708f, 0.000617f, 0.001891f, -0.002106f, -0.001430f, -0.002733f, 0.000680f, -0.001073f, -0.003825f, -0.004646f, 0.000431f, 0.000304f, -0.000446f, -0.004153f, -0.004293f, -0.004500f, -0.004068f, -0.002445f, 0.002328f, 0.001982f, 0.003942f, 0.003922f, 0.003872f, 0.000242f, 0.002164f, 0.001531f, 0.002514f, 0.002054f, 0.004472f, 0.003396f, 0.003522f, - 0.000101f, -0.002501f, -0.004124f, -0.003256f, -0.004768f, -0.004085f, -0.004380f, -0.003502f, -0.004556f, -0.002864f, -0.001678f, 0.000023f, 0.000788f, 0.002323f, 0.003091f, 0.005097f, 0.005235f, 0.006333f, 0.004334f, 0.003177f, 0.001486f, 0.001011f, -0.001659f, -0.002961f, -0.004164f, -0.004426f, -0.004392f, -0.002630f, -0.002159f, -0.001154f, -0.000604f, 0.000310f, 0.000340f, 0.001083f, 0.001049f, 0.001233f, 0.001025f, 0.000998f, 0.000525f, 0.000464f, 0.000189f, 0.000169f, -0.000017f, -0.000070f, -0.000157f, -0.000163f} - }, - { - {-0.017344f, 0.013427f, 0.000658f, 0.006167f, 0.006116f, 0.017381f, 0.008171f, -0.006421f, -0.008115f, -0.011310f, 0.008097f, -0.009894f, -0.007204f, 0.001619f, 0.002482f, 0.001075f, 0.010188f, -0.003327f, 0.009521f, -0.002436f, 0.008545f, -0.008096f, 0.003740f, -0.003573f, -0.008671f, -0.000603f, -0.016529f, 0.002486f, 0.004037f, 0.007394f, -0.006048f, -0.000088f, 0.006426f, -0.004732f, 0.007220f, 0.006826f, -0.004111f, 0.004906f, -0.005503f, -0.002539f, -0.004076f, -0.005910f, -0.007548f, 0.006753f, 0.009932f, -0.007435f, 0.004394f, 0.008020f, 0.006453f, 0.009816f, 0.001206f, -0.001455f, 0.005680f, 0.004349f, -0.010387f, -0.000377f, 0.001171f, 0.000679f, 0.003261f, 0.006736f, 0.001477f, 0.002456f, -0.003626f, -0.002255f, 0.004722f, 0.006695f, 0.003689f, -0.003513f, -0.006221f, 0.006904f, -0.005620f, -0.001791f, 0.003817f, -0.001136f, -0.000287f, 0.002958f, 0.000658f, 0.000213f, 0.006200f, -0.006078f, 0.004608f, 0.002557f, 0.003008f, 0.005789f, -0.002359f, -0.000639f, -0.001989f, -0.000778f, 0.000195f, 0.002851f, -0.002283f, -0.000377f, -0.001592f, -0.000860f, 0.000049f, -0.000187f, - -0.000948f, -0.000605f, 0.000587f, 0.000870f, -0.000066f, -0.000330f, -0.000674f, 0.000128f, -0.000250f, 0.000135f, -0.000947f, -0.000162f, 0.000844f, -0.001949f, -0.000966f, 0.006887f, -0.003617f, 0.005053f, 0.000503f, -0.000402f, -0.013960f, 0.002269f, 0.011930f, -0.007286f, 0.004940f, -0.014821f, -0.015003f, -0.004924f, -0.012197f, -0.010635f, -0.001588f, 0.002231f, 0.008410f, 0.001365f, -0.004027f, 0.001930f, 0.005728f, -0.007354f, 0.010248f, -0.006902f, -0.007483f, 0.008701f, -0.004300f, 0.010020f, 0.012707f, 0.001792f, -0.009143f, 0.006441f, 0.004200f, 0.002603f, -0.004647f, -0.003342f, 0.005343f, 0.004488f, 0.000917f, -0.010312f, -0.002976f, -0.009522f, 0.008645f, -0.008590f, -0.005618f, 0.006396f, 0.000310f, 0.005557f, 0.001588f, 0.002158f, 0.009405f, 0.001631f, 0.010547f, -0.013546f, -0.006969f, -0.003099f, 0.006741f, 0.009565f, 0.010889f, 0.014852f, 0.001614f, -0.004175f, -0.001411f, -0.001943f, -0.000448f, -0.009580f, -0.004210f, -0.004142f, -0.001168f, 0.001532f, -0.007804f, -0.004576f, -0.001760f, -0.003277f, -0.006102f, 0.007382f, -0.007336f, -0.002454f, 0.004886f, -0.012522f, - 0.003800f, 0.006903f, 0.007602f, 0.004051f, 0.002203f, 0.004607f, -0.002234f, -0.004825f, -0.001232f, 0.001365f, -0.000527f, 0.001366f, 0.000237f, -0.001303f, 0.000093f, -0.001901f, -0.002302f, 0.002853f, 0.001255f, -0.000205f, -0.000026f, 0.000033f, 0.002119f, 0.001043f, -0.000836f, -0.000813f, -0.000874f, 0.000215f, 0.001563f, -0.001808f, -0.000323f, -0.000047f, -0.000355f, 0.001095f, -0.000061f, -0.000697f, 0.015884f, -0.011803f, -0.004439f, -0.002338f, 0.009760f, 0.008811f, -0.008924f, -0.000824f, -0.016552f, -0.003623f, 0.020031f, 0.007543f, -0.008083f, 0.014385f, 0.004679f, 0.005528f, 0.001451f, -0.004835f, -0.015799f, 0.002113f, -0.007126f, -0.004504f, -0.002903f, -0.009623f, -0.003423f, -0.007450f, 0.005176f, -0.003375f, -0.004376f, 0.009000f, -0.017004f, 0.015623f, -0.005528f, 0.002218f, -0.005339f, 0.004874f, -0.000654f, -0.001565f, -0.000441f, 0.006648f, 0.000308f, 0.004202f, -0.006092f, 0.011703f, -0.009126f, 0.013628f, 0.002881f, -0.001353f, -0.007655f, -0.008958f, 0.018506f, 0.003191f, -0.017393f, 0.017760f, 0.016719f, -0.009096f, -0.003356f, 0.005254f, -0.006881f, -0.001282f, - -0.004250f, 0.004200f, 0.010655f, -0.006501f, 0.002417f, -0.004870f, -0.004473f, 0.001746f, 0.014351f, -0.013188f, 0.007973f, -0.013593f, -0.010475f, -0.009819f, -0.001759f, 0.000263f, -0.000035f, 0.008217f, 0.012700f, 0.003315f, 0.003060f, 0.006209f, 0.005012f, 0.002777f, 0.003131f, 0.003719f, -0.001409f, 0.004005f, -0.001866f, -0.003952f, 0.006744f, -0.000351f, 0.000902f, -0.001241f, -0.002043f, -0.001190f, 0.000013f, 0.002853f, -0.000757f, 0.000631f, 0.000255f, -0.002561f, -0.000009f, 0.001399f, 0.001770f, -0.000220f, 0.001234f, 0.004173f, -0.006460f, 0.000368f, -0.012404f, 0.011230f, -0.017286f, 0.000351f, 0.017424f, -0.032505f, 0.022127f, 0.008662f, -0.008854f, 0.006760f, -0.000944f, 0.019243f, -0.002330f, -0.016461f, -0.011578f, 0.006276f, 0.007293f, 0.001886f, 0.000257f, 0.008015f, 0.002211f, 0.001080f, 0.010994f, 0.004329f, 0.002954f, 0.007839f, 0.005576f, 0.027566f, -0.007915f, 0.007134f, -0.000657f, -0.004847f, 0.006973f, 0.004216f, 0.002577f, 0.003261f, -0.004812f, -0.007983f, 0.000263f, -0.000285f, 0.000152f, 0.003757f, 0.008253f, -0.008942f, -0.009450f, 0.003703f, - -0.002448f, -0.003797f, -0.005754f, 0.011057f, -0.008373f, 0.016102f, 0.007457f, 0.000448f, 0.003607f, 0.001107f, 0.004241f, 0.020532f, 0.017246f, 0.001053f, 0.000754f, 0.003722f, -0.004418f, 0.007511f, -0.001947f, 0.006746f, 0.001934f, 0.000180f, -0.000218f, -0.009154f, 0.008273f, 0.006225f, -0.002124f, -0.005380f, 0.000483f, 0.007903f, 0.000581f, -0.002575f, 0.000249f, -0.006473f, 0.004269f, 0.001414f, 0.005501f, -0.001793f, 0.001482f, 0.002123f, 0.002175f, 0.001732f, 0.003222f, 0.001356f, 0.001322f, -0.007830f, -0.000644f, 0.002669f, 0.004036f, -0.002865f, 0.002550f, 0.002256f, 0.002062f, 0.002267f, 0.000889f, 0.001691f, 0.002274f, 0.002485f, 0.000245f, 0.000780f, 0.000606f, 0.000983f, 0.000211f, 0.000425f, 0.001534f, 0.000380f, -0.000518f, -0.001963f, 0.000860f, 0.002256f, -0.002098f, 0.004076f, -0.001933f, 0.008989f, 0.000181f, 0.010380f, -0.004013f, 0.009200f, -0.007013f, 0.019283f, -0.014801f, -0.005559f, -0.007074f, 0.019880f, 0.011259f, 0.007278f, 0.012632f, -0.011481f, -0.002327f, 0.018335f, 0.010421f, 0.008575f, 0.008916f, 0.004708f, 0.006124f, -0.002165f, - 0.017627f, -0.001894f, -0.008124f, -0.006099f, 0.006180f, -0.006718f, 0.004041f, -0.016746f, 0.006180f, -0.003269f, 0.000333f, -0.017993f, 0.007735f, -0.003922f, 0.016833f, -0.002825f, 0.005339f, 0.004532f, -0.007072f, -0.001848f, 0.007684f, 0.000966f, 0.005278f, -0.003885f, 0.009355f, 0.013132f, 0.001702f, -0.009326f, 0.003574f, 0.009200f, 0.006685f, 0.001128f, -0.006286f, -0.013111f, 0.010939f, -0.014589f, -0.006084f, 0.008008f, -0.019157f, -0.004512f, 0.011958f, -0.008988f, 0.002556f, 0.000046f, -0.001026f, -0.002690f, 0.004902f, -0.009700f, 0.000592f, -0.016116f, -0.008213f, -0.021983f, 0.001720f, -0.006264f, 0.000553f, -0.004370f, -0.000604f, -0.005697f, 0.005087f, 0.004646f, 0.002017f, -0.003599f, 0.004710f, -0.000672f, 0.001896f, -0.006450f, 0.001701f, 0.001136f, 0.002118f, 0.001223f, 0.004429f, -0.000718f, 0.004988f, -0.002304f, -0.000215f, 0.003223f, 0.004696f, 0.000543f, 0.002654f, -0.003122f, -0.000993f, -0.001012f, -0.001018f, -0.002300f, 0.001555f, 0.003387f, 0.001109f, 0.003580f, -0.003439f, -0.002342f, -0.001863f, -0.005163f, 0.000666f, -0.000929f, 0.002489f, -0.000890f, - -0.000831f, -0.005409f, 0.005515f, -0.035031f, 0.006451f, -0.010853f, -0.006205f, 0.008370f, 0.006396f, 0.004587f, 0.001797f, -0.025661f, -0.002500f, 0.008358f, -0.013706f, -0.003372f, -0.018838f, -0.009426f, 0.004470f, -0.001987f, -0.017337f, 0.018558f, 0.011237f, -0.005311f, 0.002171f, 0.014661f, -0.009103f, 0.004145f, -0.006176f, -0.009752f, -0.006669f, -0.017865f, -0.006606f, 0.013967f, 0.006610f, 0.017769f, -0.008700f, -0.028337f, -0.012224f, 0.007272f, -0.009047f, -0.018377f, -0.003025f, -0.003238f, 0.017149f, 0.008949f, -0.019740f, 0.013521f, -0.013945f, -0.000607f, -0.010049f, -0.009538f, -0.009201f, -0.021732f, -0.012912f, 0.001837f, 0.014217f, 0.021532f, 0.013745f, 0.004187f, 0.008576f, -0.009528f, -0.016225f, -0.009871f, 0.010404f, -0.004798f, 0.011213f, -0.003173f, -0.010290f, -0.000326f, 0.001027f, -0.004817f, -0.011608f, 0.000912f, 0.008868f, -0.028380f, -0.018809f, 0.026848f, -0.008587f, 0.000725f, -0.014633f, 0.007224f, 0.004019f, -0.001547f, -0.001080f, 0.009938f, 0.007273f, 0.002377f, -0.002992f, -0.003457f, -0.000608f, -0.003883f, 0.002347f, 0.003049f, -0.005586f, -0.002664f, - 0.002140f, 0.000815f, 0.000053f, 0.001851f, 0.005592f, -0.005743f, -0.002681f, -0.010650f, -0.004368f, -0.001456f, -0.001989f, 0.000714f, 0.001572f, 0.003243f, 0.000250f, 0.004111f, -0.004656f, -0.003195f, 0.000857f, 0.001120f, 0.001599f, -0.003778f, -0.002159f, -0.005272f, -0.000232f, 0.001963f, 0.013160f, -0.000709f, 0.006492f, -0.009582f, 0.006447f, -0.012971f, -0.001235f, 0.021646f, -0.010697f, 0.020434f, 0.020694f, 0.025626f, 0.006140f, 0.010072f, 0.022020f, 0.017209f, 0.012537f, -0.017645f, 0.001903f, 0.005189f, 0.014644f, -0.003245f, -0.013229f, 0.016371f, 0.016527f, -0.005074f, 0.010888f, -0.005885f, -0.006254f, 0.010319f, 0.008776f, -0.001553f, 0.010480f, 0.000692f, -0.018125f, -0.014448f, 0.014967f, 0.022010f, -0.002134f, -0.007963f, 0.004318f, 0.000438f, -0.011003f, -0.020145f, 0.009998f, -0.019058f, -0.009558f, 0.014156f, 0.002648f, 0.012501f, 0.000140f, 0.020159f, 0.002424f, 0.022164f, -0.026450f, 0.023405f, -0.005003f, -0.001104f, 0.006697f, 0.012282f, -0.010439f, -0.021748f, -0.006543f, 0.019570f, -0.004278f, -0.023249f, -0.014062f, -0.014310f, 0.003383f, 0.008176f, - -0.020530f, 0.009993f, 0.011176f, 0.020709f, 0.005974f, 0.006421f, -0.000381f, 0.005727f, 0.000623f, 0.004454f, 0.002699f, -0.015351f, -0.002155f, 0.007121f, 0.004621f, 0.012194f, -0.008546f, -0.002602f, -0.000610f, 0.000886f, 0.005399f, 0.000648f, 0.004372f, 0.001866f, -0.002845f, -0.001147f, 0.004136f, 0.004154f, 0.001142f, 0.004542f, 0.000795f, 0.001951f, 0.005606f, -0.000023f, -0.003793f, -0.001798f, 0.000828f, 0.002890f, -0.000933f, -0.001508f, 0.004416f, 0.002461f, 0.000571f, -0.005140f, -0.002162f, -0.002971f, -0.003062f, -0.000310f, 0.004731f, 0.000225f, 0.004469f, 0.003547f, 0.002811f, -0.000421f, 0.000215f, 0.006947f, 0.022385f, 0.002831f, 0.009315f, 0.026634f, 0.028692f, 0.008532f, 0.007173f, -0.021287f, -0.010789f, 0.023451f, -0.017497f, 0.023971f, 0.006718f, -0.000126f, -0.004840f, -0.008419f, -0.013930f, 0.002521f, 0.010577f, -0.025840f, -0.011752f, -0.010999f, 0.005671f, 0.005174f, 0.005600f, 0.000788f, 0.004327f, -0.000950f, 0.007723f, 0.006322f, -0.006912f, -0.012111f, -0.022390f, 0.003938f, -0.012128f, 0.020162f, 0.000742f, -0.011182f, -0.014115f, -0.004283f, - 0.009292f, -0.017516f, 0.010902f, -0.005847f, 0.003547f, -0.000181f, -0.012559f, 0.012425f, 0.015623f, -0.010735f, 0.013133f, 0.003801f, -0.001090f, 0.037682f, -0.009545f, -0.024383f, 0.004553f, 0.009223f, -0.006182f, 0.002081f, -0.010704f, 0.025609f, 0.014792f, -0.002489f, -0.005545f, 0.018206f, 0.017269f, -0.003577f, -0.014869f, -0.010686f, 0.035483f, -0.003214f, -0.004976f, -0.014276f, -0.009388f, -0.002795f, 0.003380f, -0.003649f, -0.009544f, 0.015395f, -0.004933f, 0.018259f, 0.005190f, -0.005648f, -0.002091f, 0.003341f, -0.000187f, -0.003022f, -0.003262f, 0.006501f, -0.008175f, -0.001885f, -0.002259f, 0.010611f, 0.000872f, -0.002179f, -0.000359f, -0.005241f, -0.005094f, -0.000545f, 0.000964f, 0.011141f, -0.002689f, 0.006661f, 0.002399f, -0.003447f, 0.002158f, 0.000592f, -0.005443f, 0.004261f, -0.002765f, 0.005834f, -0.000664f, -0.005651f, -0.004385f, -0.003152f, -0.004413f, 0.000104f, -0.001475f, -0.001657f, 0.001859f, 0.002212f, 0.002964f, 0.001335f, 0.009504f, -0.019378f, -0.005308f, -0.005935f, 0.001879f, 0.008593f, 0.019590f, 0.017145f, -0.026769f, 0.000860f, 0.003426f, -0.002496f, - -0.007814f, -0.018372f, -0.001655f, 0.006517f, 0.011312f, 0.009233f, -0.016837f, -0.002742f, -0.021410f, 0.020536f, 0.001142f, -0.001781f, 0.010010f, -0.009418f, -0.001515f, -0.022841f, 0.004123f, -0.013545f, 0.009760f, -0.001576f, -0.003616f, -0.007577f, -0.015068f, -0.014669f, -0.001521f, -0.018148f, -0.029704f, -0.005349f, -0.013407f, -0.028567f, -0.002101f, -0.002261f, -0.015515f, 0.010528f, 0.016045f, -0.001755f, 0.007769f, -0.001787f, -0.002272f, 0.004493f, 0.004899f, -0.023108f, -0.006645f, 0.012987f, -0.011006f, 0.028084f, 0.005264f, 0.007638f, -0.017768f, 0.000023f, -0.007900f, -0.018166f, -0.001733f, 0.026078f, 0.012229f, 0.019860f, 0.011148f, -0.008380f, -0.020647f, -0.032431f, 0.022123f, 0.022635f, -0.002451f, 0.011788f, -0.025211f, 0.012366f, 0.010643f, 0.018463f, 0.002980f, -0.021585f, -0.002574f, -0.020109f, -0.006813f, 0.001871f, -0.006361f, 0.004487f, -0.004288f, -0.006553f, -0.001523f, 0.002144f, -0.000782f, -0.002023f, 0.006208f, -0.001685f, 0.002547f, -0.014556f, 0.000494f, -0.001036f, -0.002105f, -0.006510f, -0.002614f, 0.004595f, -0.005980f, -0.007052f, -0.002372f, -0.002432f, - -0.002752f, 0.000130f, -0.001536f, -0.007829f, -0.006217f, -0.003828f, 0.002484f, 0.002824f, 0.004909f, 0.002376f, 0.004525f, 0.001618f, -0.005546f, 0.001311f, -0.000722f, -0.003415f, 0.002371f, -0.006564f, 0.003079f, -0.003499f, -0.000381f, 0.004651f, -0.050284f, -0.012420f, 0.040359f, 0.013637f, 0.016583f, -0.010243f, 0.016744f, 0.028217f, 0.002260f, -0.004492f, -0.046436f, -0.010657f, -0.001994f, 0.026963f, 0.007719f, 0.010948f, -0.034747f, -0.009177f, -0.012803f, -0.008086f, 0.021908f, -0.012024f, -0.004069f, 0.004006f, 0.006402f, -0.010793f, -0.004644f, 0.005855f, -0.009585f, 0.021603f, -0.023766f, 0.002845f, 0.015950f, -0.020265f, 0.017009f, 0.028883f, 0.033503f, 0.016266f, 0.016480f, 0.022142f, -0.014840f, -0.027253f, 0.011145f, 0.012227f, 0.018356f, 0.014744f, -0.030942f, -0.008578f, 0.016499f, 0.009718f, 0.006098f, 0.019796f, 0.004536f, 0.023015f, -0.008308f, -0.004618f, 0.013156f, 0.012311f, 0.003772f, -0.019741f, -0.010565f, -0.021225f, -0.024500f, -0.001139f, -0.026811f, 0.001728f, -0.015555f, 0.001421f, -0.014138f, -0.008124f, -0.034486f, 0.024190f, 0.006425f, -0.004840f, - -0.006085f, -0.003585f, 0.004749f, -0.012493f, -0.001681f, -0.029804f, -0.016395f, 0.010801f, 0.013739f, 0.005931f, 0.004681f, 0.001497f, -0.015695f, 0.007554f, 0.007315f, 0.005935f, -0.014997f, 0.003777f, 0.000680f, -0.011687f, -0.003966f, 0.002423f, 0.001980f, -0.005857f, -0.008940f, 0.003310f, -0.004354f, -0.005190f, -0.001292f, 0.001647f, -0.001049f, -0.000337f, 0.003134f, -0.002461f, 0.004332f, -0.000379f, 0.006148f, -0.002339f, 0.005499f, 0.008873f, -0.005980f, 0.005107f, 0.000478f, 0.003668f, -0.003665f, 0.000006f, 0.004975f, 0.004327f, -0.007385f, 0.004338f, 0.003962f, 0.031787f, -0.015315f, -0.013090f, -0.011586f, 0.021920f, 0.027800f, -0.017271f, 0.044543f, 0.009435f, -0.018882f, 0.022845f, 0.006594f, -0.018411f, -0.021644f, -0.017463f, -0.001313f, -0.009336f, -0.006360f, -0.028894f, 0.011727f, 0.012161f, 0.040180f, 0.005513f, -0.006739f, -0.018007f, -0.018851f, 0.004878f, -0.002145f, -0.025274f, 0.004591f, -0.009328f, 0.001313f, 0.019646f, -0.015049f, 0.025957f, -0.022630f, -0.019033f, -0.001195f, -0.029669f, -0.035476f, 0.005833f, -0.003981f, -0.040996f, 0.002937f, 0.000527f, - -0.019441f, 0.010309f, -0.009395f, 0.005232f, -0.027649f, -0.045253f, 0.029840f, -0.027673f, 0.046176f, 0.025196f, -0.032837f, -0.004184f, -0.033275f, -0.008965f, -0.004135f, 0.013882f, -0.011926f, 0.021168f, 0.026749f, 0.025333f, -0.018173f, -0.014865f, 0.002462f, -0.022380f, -0.001997f, -0.007285f, -0.029471f, 0.017692f, 0.013185f, -0.015731f, 0.023362f, -0.034559f, -0.003230f, 0.002088f, -0.008965f, -0.005816f, 0.030126f, 0.022200f, 0.014859f, -0.001803f, -0.015595f, -0.012698f, -0.011736f, 0.005206f, 0.004926f, -0.000954f, 0.003485f, -0.000914f, -0.001306f, 0.000634f, -0.001180f, 0.001207f, 0.006072f, -0.007145f, 0.002927f, -0.000517f, 0.006674f, -0.003859f, -0.000610f, 0.003797f, 0.008890f, 0.003479f, 0.007189f, -0.008498f, -0.009178f, 0.004375f, -0.006088f, 0.001461f, 0.000036f, -0.009913f, -0.005441f, -0.005933f, 0.000178f, 0.003197f, 0.003005f, 0.001939f, 0.002389f, -0.001425f, -0.027495f, -0.021047f, 0.012843f, 0.015690f, 0.017396f, 0.029827f, -0.011787f, 0.055362f, -0.002306f, -0.029505f, 0.012074f, 0.027015f, 0.006992f, 0.013940f, -0.012815f, -0.031553f, 0.046080f, 0.025358f, - 0.018558f, 0.008522f, -0.016700f, 0.014491f, 0.038286f, -0.014803f, 0.007780f, -0.000910f, 0.007628f, 0.006172f, 0.027122f, -0.008484f, 0.008862f, -0.010279f, 0.007868f, -0.003141f, -0.002034f, 0.016680f, 0.003106f, -0.034805f, -0.023566f, -0.032644f, -0.022578f, -0.017543f, -0.009028f, -0.025099f, -0.014485f, -0.012569f, -0.021901f, -0.015308f, 0.008863f, -0.022754f, -0.008244f, -0.017767f, 0.040811f, 0.020580f, 0.035456f, -0.033089f, -0.003628f, -0.030270f, -0.006866f, 0.032956f, 0.017814f, 0.038911f, 0.018203f, 0.023914f, -0.026449f, 0.011248f, 0.010911f, 0.036009f, 0.036437f, 0.010647f, 0.032912f, -0.029275f, -0.014357f, 0.021046f, -0.076250f, 0.000931f, 0.011855f, 0.001152f, 0.018202f, 0.011705f, 0.042083f, -0.003727f, -0.006490f, 0.045807f, 0.013375f, -0.004523f, -0.021298f, -0.000835f, -0.000240f, 0.037471f, 0.004431f, 0.000612f, 0.002460f, 0.007253f, 0.011209f, -0.002519f, -0.002759f, 0.011824f, 0.005265f, 0.003579f, 0.005849f, 0.008480f, 0.006249f, -0.000848f, 0.000888f, 0.000821f, 0.012030f, -0.002626f, 0.006055f, 0.011825f, 0.008383f, 0.013240f, -0.006580f, -0.004900f, - 0.002613f, 0.004041f, -0.005217f, 0.000017f, 0.007227f, 0.012279f, -0.001405f, 0.003413f, 0.001300f, 0.032611f, 0.021203f, -0.021318f, 0.041674f, 0.024751f, -0.002093f, -0.010372f, -0.005227f, 0.025043f, 0.061540f, 0.032906f, 0.008850f, 0.002600f, 0.020216f, -0.004909f, 0.049669f, 0.028115f, 0.031019f, 0.001299f, -0.015826f, 0.010565f, 0.003724f, -0.026378f, -0.006532f, -0.001628f, -0.006268f, -0.007488f, 0.010054f, 0.005541f, -0.021707f, -0.010341f, -0.038335f, -0.003876f, -0.011952f, -0.049215f, -0.022181f, 0.001560f, 0.018381f, -0.025290f, 0.031647f, -0.008710f, -0.007646f, -0.004241f, -0.007821f, 0.023150f, -0.015608f, 0.016211f, -0.050610f, 0.015727f, 0.021943f, 0.017101f, 0.033561f, -0.033142f, 0.028719f, -0.029735f, -0.022403f, 0.025057f, -0.014737f, -0.004320f, 0.020810f, -0.033720f, 0.029880f, 0.048240f, -0.001120f, -0.006858f, 0.061237f, -0.013080f, 0.011667f, 0.034749f, -0.073939f, -0.037622f, 0.002344f, 0.002401f, 0.009841f, 0.017908f, 0.035718f, 0.021751f, -0.028397f, -0.022438f, -0.006883f, -0.007890f, -0.038307f, -0.003542f, -0.007795f, 0.009586f, -0.040030f, 0.000642f, - -0.012211f, 0.016389f, -0.006229f, 0.020821f, 0.005315f, 0.000383f, -0.012025f, -0.008453f, -0.011326f, -0.011534f, -0.009243f, 0.008338f, -0.024459f, 0.017583f, -0.003141f, 0.009898f, 0.000331f, -0.001307f, -0.016794f, 0.009324f, -0.012011f, 0.003256f, -0.012751f, -0.006542f, -0.000370f, -0.005247f, -0.014603f, 0.001338f, -0.004784f, 0.001868f, -0.010048f, -0.010452f, -0.011768f, 0.002373f, 0.002139f, 0.014819f, 0.015168f, 0.000198f, 0.000020f, -0.018553f, -0.011058f, -0.058436f, -0.035120f, 0.043159f, 0.042912f, 0.004681f, -0.010061f, 0.036405f, -0.058619f, -0.031432f, -0.063433f, 0.027855f, 0.007780f, 0.002899f, 0.012385f, -0.028816f, 0.014705f, 0.020179f, 0.026425f, 0.044737f, 0.045969f, 0.038635f, -0.001485f, 0.008799f, 0.000576f, -0.016700f, -0.003397f, -0.013931f, -0.007165f, 0.053300f, -0.012358f, -0.048851f, -0.012297f, -0.009986f, 0.004446f, 0.076760f, -0.027654f, -0.027407f, 0.026017f, -0.041444f, 0.014426f, -0.045996f, 0.060261f, 0.017092f, -0.001623f, 0.015525f, -0.023166f, -0.029310f, 0.041303f, -0.050077f, -0.040015f, -0.035963f, 0.010049f, 0.015153f, 0.018820f, -0.033359f, - 0.034362f, -0.010514f, 0.002634f, 0.052951f, -0.003564f, -0.008903f, 0.015611f, 0.042752f, -0.027573f, 0.070844f, 0.002671f, -0.081446f, -0.009875f, -0.003047f, -0.027182f, -0.007764f, 0.000028f, -0.007538f, -0.022194f, -0.018615f, 0.040157f, 0.026976f, -0.009836f, 0.026108f, -0.046793f, 0.013240f, 0.021031f, 0.013158f, 0.001557f, 0.025152f, -0.004089f, -0.001010f, 0.009421f, 0.024595f, -0.010103f, -0.010580f, -0.008313f, 0.001234f, 0.009298f, -0.004609f, -0.019278f, -0.020656f, 0.001061f, -0.009634f, 0.007249f, -0.000132f, 0.005128f, 0.011147f, -0.013472f, -0.008805f, 0.023394f, -0.005264f, 0.004265f, -0.001664f, 0.000659f, -0.007832f, -0.008841f, -0.004352f, -0.002940f, -0.012261f, 0.006043f, 0.011506f, 0.006397f, -0.000056f, 0.001098f, 0.005288f, -0.009489f, 0.002359f, 0.010909f, -0.000910f, 0.009364f, -0.005097f, -0.016901f, -0.022749f, 0.000585f, 0.009830f, -0.016845f, -0.007846f, 0.077508f, 0.045806f, -0.063030f, -0.050993f, 0.062331f, 0.059395f, 0.037063f, 0.042599f, -0.074984f, -0.016700f, -0.020881f, 0.019399f, 0.006963f, -0.030460f, -0.055458f, -0.083873f, 0.024159f, 0.021745f, - 0.006195f, 0.022674f, -0.011699f, -0.004507f, -0.020116f, 0.016280f, 0.028643f, 0.025649f, 0.006504f, 0.034180f, 0.010786f, -0.004224f, -0.014342f, -0.051114f, -0.003009f, -0.021691f, -0.017989f, 0.017348f, -0.054771f, 0.004561f, 0.001925f, -0.025752f, 0.021985f, 0.020076f, 0.009813f, -0.036997f, -0.034384f, -0.090223f, -0.023149f, 0.000308f, -0.029066f, 0.004743f, 0.018725f, 0.018580f, 0.050006f, 0.024332f, -0.022472f, -0.015910f, -0.033664f, 0.041939f, -0.018034f, 0.072839f, 0.060898f, 0.016603f, -0.039331f, 0.080449f, 0.036923f, -0.033086f, 0.004764f, 0.040241f, 0.093756f, -0.039204f, -0.072099f, -0.037433f, 0.000744f, -0.026280f, 0.011103f, 0.025558f, 0.021409f, -0.019231f, -0.029620f, -0.016613f, -0.024689f, -0.027235f, 0.007228f, 0.028832f, 0.023110f, 0.012747f, 0.011405f, 0.003875f, 0.019409f, 0.002281f, 0.002941f, 0.028168f, 0.022177f, -0.001697f, -0.009588f, 0.006063f, -0.015083f, 0.015492f, -0.005869f, 0.015864f, -0.008531f, 0.006110f, 0.004054f, 0.010346f, 0.013654f, 0.007753f, 0.006253f, -0.013886f, -0.026739f, 0.002740f, -0.013662f, -0.007241f, 0.007833f, 0.001987f, - -0.004100f, -0.005569f, 0.019019f, 0.005905f, 0.025796f, -0.008745f, 0.013734f, -0.013445f, 0.013326f, -0.018380f, 0.017725f, 0.000240f, -0.015467f, 0.030477f, 0.010516f, -0.011450f, -0.030731f, 0.024674f, -0.051677f, -0.047859f, -0.017581f, 0.036062f, -0.021567f, -0.027460f, -0.000811f, 0.041638f, 0.003921f, 0.043046f, -0.015128f, 0.052084f, 0.005553f, 0.027643f, -0.018977f, -0.012909f, 0.016151f, -0.054871f, -0.015642f, 0.019932f, -0.010165f, -0.007852f, -0.044182f, -0.041826f, 0.018713f, -0.025720f, -0.018532f, 0.033337f, 0.045998f, -0.007350f, 0.030111f, -0.055446f, 0.002934f, -0.015425f, 0.070927f, -0.029925f, 0.023355f, 0.043223f, 0.041228f, 0.011694f, -0.029406f, 0.018037f, 0.012922f, 0.012194f, 0.022687f, -0.070712f, 0.129362f, 0.041040f, -0.011710f, 0.006419f, 0.014243f, 0.035620f, -0.010299f, 0.027335f, 0.075340f, -0.004691f, -0.093780f, 0.038712f, 0.032277f, -0.033575f, 0.043679f, -0.010037f, -0.019839f, -0.050489f, 0.096658f, -0.050252f, 0.107651f, -0.071398f, 0.026456f, -0.001711f, 0.116983f, 0.051663f, -0.050301f, 0.047734f, 0.001894f, -0.031459f, 0.023354f, 0.003330f, - 0.010406f, 0.025908f, 0.010970f, -0.030436f, -0.008019f, 0.035440f, 0.009404f, 0.019930f, -0.016631f, 0.022062f, -0.037983f, 0.013765f, -0.002299f, -0.012499f, 0.023356f, -0.013344f, -0.007516f, 0.016656f, -0.003041f, 0.002260f, -0.003140f, 0.028196f, -0.018790f, 0.027512f, -0.016552f, 0.025435f, 0.035793f, 0.013103f, 0.009600f, 0.019627f, -0.005317f, -0.014382f, -0.013901f, 0.016909f, 0.005809f, -0.003082f, -0.000376f, -0.004700f, -0.025952f, -0.020070f, -0.004135f, 0.000596f, -0.006008f, -0.015302f, 0.089151f, 0.010816f, 0.048472f, 0.024831f, -0.048803f, 0.003248f, 0.029191f, -0.008546f, -0.042494f, -0.007966f, -0.092847f, -0.025825f, -0.034512f, -0.019844f, 0.020418f, -0.002511f, 0.033395f, -0.016100f, 0.003715f, 0.032636f, -0.028789f, 0.003344f, 0.018586f, -0.001601f, -0.031608f, 0.000170f, -0.021689f, 0.064381f, -0.011164f, 0.037410f, 0.006103f, -0.000397f, 0.065861f, 0.047620f, -0.028892f, -0.033770f, 0.016749f, 0.030012f, 0.036171f, 0.044074f, -0.000751f, 0.015702f, 0.041632f, -0.002023f, -0.016679f, 0.013257f, 0.001499f, -0.036613f, -0.000801f, 0.024522f, -0.036228f, -0.048611f, - -0.004592f, -0.002713f, -0.005211f, -0.016151f, -0.017624f, -0.057960f, -0.000008f, 0.057396f, 0.017628f, 0.032042f, 0.018810f, -0.007420f, -0.075200f, -0.054919f, 0.014855f, 0.048941f, 0.015923f, 0.024863f, 0.098850f, 0.102882f, 0.086855f, -0.006637f, 0.043181f, -0.027261f, -0.072880f, -0.121281f, 0.021163f, 0.015252f, -0.005392f, 0.017152f, -0.038415f, 0.008518f, -0.009336f, 0.044831f, -0.003318f, 0.036058f, -0.044006f, 0.021974f, -0.054048f, -0.010201f, 0.022867f, 0.004170f, -0.027504f, 0.006753f, -0.022649f, -0.024249f, -0.010439f, 0.006802f, 0.020694f, 0.027002f, 0.035118f, -0.008138f, -0.001871f, 0.009399f, -0.009596f, 0.011621f, -0.036341f, -0.030679f, -0.021557f, -0.028677f, -0.027982f, -0.029282f, 0.019307f, 0.014418f, -0.004920f, -0.019056f, -0.029632f, 0.018450f, 0.000342f, 0.028923f, -0.006938f, 0.025702f, 0.018642f, 0.001621f, 0.008054f, 0.030760f, -0.036168f, -0.033490f, 0.020879f, -0.002515f, -0.007165f, -0.015791f, -0.027965f, -0.058384f, 0.016133f, -0.035174f, 0.016641f, -0.015505f, -0.041303f, -0.013061f, -0.000591f, 0.019922f, -0.017633f, 0.009956f, -0.060452f, 0.055902f, - -0.126349f, -0.012973f, -0.031797f, -0.026183f, 0.016600f, 0.071787f, 0.011310f, 0.025827f, -0.062358f, 0.013570f, 0.022620f, 0.049241f, -0.026063f, -0.040475f, -0.028118f, -0.013951f, -0.002148f, -0.001403f, 0.029743f, 0.021501f, -0.017924f, -0.091368f, -0.043470f, -0.074359f, 0.008367f, 0.130251f, -0.092593f, -0.036903f, -0.014417f, 0.075150f, -0.025444f, 0.031600f, -0.024321f, 0.036069f, -0.014599f, -0.022330f, -0.047067f, 0.023892f, -0.054514f, 0.049984f, 0.090583f, 0.011388f, -0.016921f, -0.017247f, 0.075105f, 0.019705f, -0.000855f, 0.039531f, 0.012889f, 0.014123f, -0.014665f, 0.086777f, -0.136999f, 0.098806f, -0.083541f, 0.039310f, 0.097656f, -0.078761f, 0.158459f, 0.107822f, -0.040834f, -0.013843f, 0.108928f, 0.039563f, -0.010520f, 0.071577f, 0.064227f, -0.084037f, 0.112392f, -0.068369f, 0.019865f, 0.021293f, -0.030339f, 0.021437f, 0.036620f, -0.023024f, -0.041357f, 0.013097f, -0.022364f, 0.009271f, 0.009285f, -0.011600f, -0.032460f, 0.012594f, 0.011370f, -0.013493f, 0.013416f, 0.010654f, -0.026158f, 0.063477f, 0.006759f, 0.001049f, 0.001166f, -0.013193f, 0.009562f, 0.008314f, - 0.003180f, -0.021050f, 0.010601f, 0.002650f, -0.009287f, -0.018493f, 0.039154f, -0.015179f, 0.031802f, 0.036268f, -0.003931f, -0.013815f, 0.009421f, 0.008713f, 0.013941f, 0.043771f, 0.037658f, -0.034298f, 0.015561f, -0.014098f, -0.002273f, 0.050037f, -0.010010f, 0.013776f, 0.019477f, -0.003394f, 0.092343f, 0.088002f, -0.075213f, 0.073270f, 0.067433f, -0.063484f, -0.095784f, -0.141543f, 0.032899f, 0.212302f, 0.087198f, 0.000280f, 0.043775f, -0.203165f, -0.083929f, -0.007316f, 0.030890f, 0.152641f, 0.149414f, 0.025672f, -0.057680f, -0.112641f, -0.066008f, 0.007485f, 0.048215f, 0.072891f, 0.117484f, 0.070811f, -0.094765f, -0.224018f, -0.182506f, -0.018089f, 0.203011f, 0.220740f, 0.139527f, 0.042475f, -0.046951f, -0.090349f, -0.136326f, -0.077887f, -0.082938f, 0.162331f, 0.135182f, 0.085250f, 0.075601f, -0.115138f, -0.161091f, -0.187088f, -0.167405f, 0.064276f, 0.226657f, 0.278927f, 0.094334f, -0.084774f, -0.198755f, -0.238568f, -0.064886f, 0.038155f, 0.024601f, 0.148936f, 0.058488f, -0.056567f, -0.033434f, -0.115034f, -0.025092f, -0.131488f, 0.056804f, 0.155356f, 0.291023f, -0.017930f, - -0.155643f, -0.338318f, -0.013246f, -0.114568f, -0.012172f, 0.161774f, 0.032081f, -0.015152f, -0.072322f, -0.152574f, -0.099843f, 0.072844f, 0.118057f, 0.038550f, -0.020647f, -0.052188f, -0.062138f, 0.060214f, 0.069558f, 0.042661f, 0.037244f, 0.016321f, 0.034729f, -0.003701f, 0.003291f, -0.034164f, -0.015660f, 0.003492f, 0.087790f, 0.076407f, -0.003969f, -0.033303f, -0.008537f, -0.078765f, -0.052639f, -0.002393f, 0.029939f, 0.080634f, 0.062471f, 0.043896f, 0.004059f, -0.109615f, -0.098339f, -0.067008f, 0.025803f, 0.104895f, 0.204184f, 0.124574f, -0.094137f, -0.169982f, -0.149721f, -0.060794f, 0.004276f, 0.139355f, 0.175977f, 0.130804f, 0.023118f, -0.104954f, -0.237265f, -0.150006f, 0.048321f, 0.146749f, 0.168234f, 0.048629f, -0.024635f, -0.065876f, -0.077335f, -0.044839f, -0.014256f, 0.015973f, 0.036992f, 0.046249f, 0.037051f, 0.008486f, -0.003238f, -0.032557f, 0.001624f, -0.019180f, 0.095941f, 0.056210f, -0.008221f, 0.020571f, 0.010583f, -0.067958f, -0.006902f, -0.005326f, 0.007657f, 0.002343f, 0.005676f, -0.024715f, -0.009751f, -0.008982f, -0.006056f, -0.011126f, 0.041024f, -0.014443f, - 0.017752f, -0.030497f, -0.002871f, 0.012896f, -0.001230f, -0.009116f, 0.070694f, 0.009970f, -0.039672f, -0.046146f, 0.009974f, 0.009963f, -0.027021f, 0.007776f, 0.035624f, 0.018601f, 0.033544f, -0.033884f, 0.010550f, -0.000991f, 0.008234f, -0.023788f, 0.004796f, 0.026848f, 0.037940f, 0.009762f, -0.009590f, 0.011272f, 0.004493f, -0.008570f, 0.025942f, -0.037772f, 0.008807f, -0.061659f, -0.019145f, 0.025765f, -0.020771f, -0.024659f, 0.033869f, -0.021252f, -0.057526f, -0.044502f, 0.039825f, -0.004740f, -0.007624f, 0.009301f, 0.020290f, 0.050371f, -0.032486f, -0.042416f, 0.002040f, -0.005657f, 0.034201f, 0.000443f, 0.020092f, 0.009280f, -0.003133f, 0.052308f, -0.067664f, -0.009765f, -0.009357f, -0.039694f, 0.010444f, 0.022499f, 0.001222f, -0.023577f, 0.010780f, -0.005189f, 0.007018f, -0.020368f, 0.015324f, -0.000902f, 0.002707f, -0.001662f, -0.004776f, 0.026590f, -0.026312f, 0.002215f, -0.004277f, -0.009411f, -0.008229f, 0.003229f, -0.011229f, 0.012262f, 0.015842f, -0.016052f, -0.003818f, -0.006065f, 0.014550f, 0.015917f, -0.007662f, 0.019587f, 0.002217f, -0.002692f, -0.012811f, 0.014147f, - 0.005176f, -0.005461f, -0.021372f, 0.010340f, -0.019352f, 0.012772f, -0.010293f, -0.009469f, 0.018333f, 0.018010f, -0.024135f, 0.003000f, -0.005363f, -0.023962f, 0.008166f, -0.013995f, 0.016137f, -0.013802f, -0.055783f, -0.061544f, -0.146763f, 0.042758f, 0.042290f, -0.002739f, -0.123689f, -0.079865f, -0.011546f, -0.020076f, 0.083053f, 0.056119f, 0.027106f, -0.054610f, -0.022413f, -0.014286f, 0.052088f, 0.005950f, -0.014548f, -0.031947f, 0.021492f, 0.009699f, 0.026023f, -0.001160f, -0.010316f, -0.012925f, -0.029446f, -0.014558f, -0.017735f, 0.049794f, 0.026695f, 0.006089f, 0.007640f, -0.032366f, -0.001539f, 0.004222f, 0.045433f, -0.003012f, 0.021284f, -0.016551f, -0.011512f, 0.009474f, -0.018443f, 0.012577f, 0.005607f, 0.013509f, 0.044310f, -0.003602f, 0.038905f, -0.000251f, 0.025049f, -0.018971f, 0.001817f, -0.028019f, -0.036433f, -0.038257f, -0.032794f, 0.011127f, 0.005893f, 0.003103f, -0.048385f, 0.024259f, -0.042094f, -0.004502f, 0.002364f, -0.026204f, -0.028512f, -0.014871f, 0.000681f, -0.050201f, -0.033996f, 0.031633f, -0.015089f, 0.029471f, 0.004790f, -0.007821f, -0.027149f, -0.031235f, - -0.001907f, 0.044994f, 0.055552f, -0.013528f, -0.005544f, -0.020565f, -0.027648f, -0.018895f, 0.017792f, 0.009670f, 0.006918f, 0.017618f, -0.003313f, -0.011208f, 0.012123f, 0.006902f, 0.010104f, 0.015450f, -0.008401f, 0.005395f, -0.001585f, 0.000633f, -0.011465f, 0.020323f, 0.006438f, 0.004853f, -0.005930f, 0.003185f, -0.000352f, 0.031524f, 0.004059f, 0.009653f, -0.017454f, 0.001464f, -0.011282f, 0.020730f, 0.001472f, 0.000601f, -0.007145f, 0.005035f, -0.002306f, 0.000549f, 0.009828f, 0.001219f, 0.012862f, -0.008434f, 0.004193f, 0.001641f, -0.016424f, -0.000601f, 0.009414f, 0.003902f, -0.003381f, 0.005677f, 0.033013f, -0.071104f, -0.176276f, -0.168954f, -0.025675f, 0.051071f, 0.169932f, 0.146869f, 0.138430f, 0.148726f, 0.082763f, 0.020023f, -0.075140f, -0.075457f, -0.156851f, -0.121773f, -0.106809f, -0.067724f, -0.085239f, 0.117321f, 0.096464f, 0.127050f, 0.073215f, 0.103847f, -0.003821f, 0.027361f, -0.016740f, -0.040496f, -0.023230f, -0.048418f, -0.056404f, -0.056106f, -0.055429f, -0.065519f, -0.048049f, -0.038944f, -0.004488f, 0.010354f, 0.092039f, 0.077338f, 0.040671f, 0.043816f, - 0.060689f, 0.056435f, 0.027087f, 0.131168f, 0.016981f, 0.001763f, 0.024526f, -0.048930f, -0.150520f, -0.042988f, -0.120676f, -0.129285f, -0.136735f, -0.096609f, -0.086174f, 0.004364f, 0.071303f, 0.072895f, 0.088869f, 0.161890f, 0.116379f, 0.142081f, 0.139476f, 0.089122f, 0.095658f, 0.032774f, -0.033789f, -0.109245f, -0.143539f, -0.163810f, -0.106718f, -0.147006f, -0.123709f, -0.141144f, -0.082519f, -0.009748f, 0.038587f, 0.114387f, 0.108955f, 0.110829f, 0.184275f, 0.128574f, 0.152304f, 0.095047f, 0.015673f, -0.017794f, -0.046298f, -0.076216f, -0.085602f, -0.090460f, -0.088381f, -0.101631f, -0.087331f, -0.063691f, -0.039334f, -0.020188f, -0.015494f, 0.044278f, 0.041801f, 0.059238f, 0.095383f, 0.107766f, 0.068116f, 0.082366f, 0.050562f, -0.003003f, -0.022527f, -0.049517f, -0.062242f, -0.053106f, -0.046143f, -0.055514f, -0.020527f, -0.013655f, 0.001050f, 0.015837f, 0.017265f, 0.004521f, 0.002177f, 0.015518f, -0.002461f, -0.013295f, 0.012107f, 0.007410f, 0.008568f, 0.013739f, 0.003820f, 0.003748f, 0.008061f, 0.019062f, 0.016012f, 0.007553f, 0.001353f, -0.004064f, -0.016401f, -0.012176f, - -0.014936f, -0.012699f, -0.005335f, -0.009786f, -0.008848f, -0.004697f, -0.004005f, -0.005190f, -0.001640f, 0.006238f, 0.005881f, 0.007624f, 0.011822f, 0.008173f, 0.005626f, 0.007854f, 0.002790f, 0.003425f, 0.003245f, 0.002292f, 0.001911f, 0.000874f, -0.002219f, -0.004722f, -0.009053f, -0.006881f, -0.007439f, -0.005859f, -0.003148f, -0.001203f, -0.002884f, -0.001693f, -0.002395f, 0.000447f, 0.002057f, 0.003579f, 0.006761f, 0.006745f, 0.002601f, 0.002794f, 0.001207f, -0.000945f, 0.001675f, 0.001342f, 0.000367f, 0.002292f, 0.000647f, -0.000850f, -0.002018f, -0.001665f, -0.002035f, -0.001616f, -0.001791f, -0.000569f, -0.001094f, -0.001255f, -0.004088f, -0.004616f, -0.004603f, -0.003250f, -0.000785f, 0.001408f, 0.003817f, 0.004941f, 0.005087f, 0.005465f, 0.004326f, 0.004776f, 0.003250f, 0.001572f, 0.000259f, -0.000642f, -0.002475f, -0.003773f, -0.004566f, -0.004081f, -0.004307f, -0.003501f, -0.003414f, -0.002858f, -0.001358f, 0.000252f, 0.000999f, 0.002304f, 0.003349f, 0.003881f, 0.003731f, 0.003248f, 0.002197f, 0.001320f, 0.000231f, -0.000161f, -0.000828f, -0.000992f, -0.001096f, -0.000977f, - -0.000923f, -0.000700f, -0.000530f, -0.000290f, -0.000175f, -0.000086f}, - {-0.008170f, 0.013879f, 0.004877f, -0.002460f, 0.003560f, 0.004501f, 0.008344f, 0.013902f, -0.006594f, 0.004658f, -0.005611f, -0.004342f, 0.002830f, 0.000093f, 0.001204f, -0.009712f, -0.004702f, 0.003509f, 0.006940f, -0.000856f, 0.005854f, -0.010415f, -0.009254f, 0.005919f, 0.003786f, 0.001676f, 0.004301f, -0.003511f, 0.007550f, 0.008474f, 0.008199f, 0.011773f, -0.006453f, -0.005293f, 0.000456f, 0.001559f, -0.011185f, -0.000636f, -0.000938f, 0.003157f, 0.001139f, -0.006945f, -0.001696f, 0.009635f, -0.005074f, 0.001952f, -0.005826f, 0.002887f, 0.002983f, 0.001993f, -0.008696f, 0.007125f, 0.000672f, 0.001671f, -0.001175f, -0.002785f, -0.003593f, -0.005867f, 0.012685f, -0.002145f, -0.002310f, -0.002751f, 0.005646f, 0.001401f, -0.011950f, 0.003133f, -0.005447f, -0.008123f, 0.004869f, -0.004986f, -0.012942f, 0.005266f, 0.001921f, 0.000664f, -0.011926f, -0.014386f, -0.005900f, -0.007039f, 0.006731f, -0.001846f, -0.000004f, -0.003173f, -0.003904f, -0.003155f, 0.000111f, 0.006039f, 0.001090f, -0.002539f, -0.000206f, -0.002657f, -0.001220f, 0.002743f, 0.000808f, -0.002393f, -0.003385f, -0.001059f, - -0.001385f, 0.001421f, -0.000846f, 0.000610f, 0.000483f, 0.001542f, 0.000373f, 0.002160f, -0.000849f, 0.000605f, -0.000466f, 0.001562f, -0.000084f, 0.001446f, 0.001673f, 0.007999f, 0.000866f, 0.000599f, 0.007106f, -0.010850f, 0.001705f, -0.009071f, -0.011452f, 0.003177f, 0.010560f, -0.006687f, 0.004965f, -0.005058f, -0.002487f, 0.002047f, 0.000444f, -0.005374f, -0.015752f, -0.015654f, 0.000190f, -0.004039f, -0.000230f, 0.008034f, 0.001216f, 0.009859f, 0.013372f, -0.007197f, 0.011537f, 0.001349f, 0.011712f, 0.000643f, 0.013915f, 0.001679f, -0.007918f, -0.002259f, 0.000705f, 0.006272f, -0.001808f, -0.002210f, 0.001308f, 0.004734f, -0.005900f, -0.000460f, -0.001876f, 0.004174f, 0.005137f, 0.000179f, -0.005380f, -0.000485f, -0.001038f, 0.002953f, 0.005402f, 0.009705f, -0.003501f, 0.006258f, -0.002946f, -0.008654f, -0.007700f, -0.005270f, 0.004760f, 0.005131f, -0.002957f, 0.008377f, 0.000209f, 0.002969f, 0.000373f, 0.010209f, 0.006778f, 0.007492f, 0.003024f, 0.004364f, 0.002700f, 0.004041f, 0.008371f, -0.001908f, -0.000500f, 0.011798f, 0.002329f, 0.000225f, 0.002417f, -0.004551f, - 0.000602f, 0.003395f, -0.000328f, -0.011258f, 0.003432f, 0.001061f, -0.001845f, -0.003989f, 0.002517f, 0.000636f, 0.006009f, -0.002365f, -0.001159f, -0.002449f, -0.001941f, 0.001405f, 0.000387f, 0.002302f, 0.001097f, 0.000431f, -0.002243f, -0.001871f, -0.001075f, -0.001212f, 0.000906f, -0.003030f, 0.002503f, -0.001177f, 0.000707f, -0.000840f, -0.001079f, -0.001748f, 0.000939f, -0.001438f, -0.001021f, -0.003295f, 0.012137f, -0.012217f, -0.008204f, -0.006724f, -0.009874f, 0.003239f, 0.004386f, -0.007927f, 0.001950f, 0.016546f, -0.011898f, 0.008432f, 0.014287f, 0.014122f, -0.008565f, -0.002285f, 0.007051f, 0.001420f, 0.002253f, -0.006215f, 0.003553f, -0.021274f, 0.016870f, 0.026365f, 0.004752f, 0.008939f, -0.004171f, -0.000269f, 0.014057f, -0.007247f, -0.016753f, -0.002715f, 0.000356f, 0.000040f, -0.013512f, 0.001100f, 0.003495f, -0.016094f, -0.007497f, 0.007602f, 0.002658f, -0.005666f, -0.001388f, 0.005701f, -0.007781f, 0.016851f, 0.005343f, 0.000868f, -0.010642f, -0.000969f, 0.005898f, -0.003559f, 0.000474f, -0.003748f, -0.000098f, -0.001509f, -0.008499f, 0.000632f, -0.008214f, 0.012671f, - -0.012029f, -0.007995f, -0.002600f, -0.014458f, 0.009878f, -0.007736f, -0.020129f, -0.003632f, -0.008609f, 0.002566f, 0.009440f, -0.009373f, 0.001307f, -0.006336f, 0.006744f, 0.001004f, -0.006559f, 0.005831f, -0.007117f, -0.009500f, 0.010816f, -0.006811f, 0.003188f, 0.000346f, 0.001112f, 0.003817f, -0.001965f, -0.003176f, -0.003497f, -0.005756f, 0.002105f, -0.008170f, 0.000620f, -0.001589f, 0.002746f, -0.002374f, -0.000050f, 0.000092f, 0.000377f, -0.004302f, 0.004082f, 0.000268f, 0.000899f, -0.002283f, -0.001498f, -0.001694f, -0.000252f, 0.002556f, -0.009499f, 0.005986f, -0.000327f, -0.001895f, 0.007105f, -0.006819f, -0.023865f, -0.004690f, -0.001521f, 0.010368f, 0.014680f, 0.013021f, 0.006221f, -0.005160f, -0.001666f, -0.014715f, -0.012509f, 0.004268f, 0.016682f, -0.004822f, 0.017090f, 0.010887f, -0.010651f, 0.005666f, -0.001696f, 0.005928f, -0.011900f, -0.008002f, 0.001881f, 0.008526f, -0.001153f, 0.005077f, 0.007045f, -0.013393f, -0.002759f, -0.006186f, -0.018293f, 0.011317f, 0.001729f, 0.004104f, 0.007820f, 0.014439f, 0.004960f, 0.000673f, 0.011254f, -0.002652f, -0.005877f, 0.011653f, - -0.006219f, 0.019697f, 0.008996f, 0.007835f, 0.000329f, -0.005662f, -0.006974f, 0.009662f, 0.013038f, -0.009745f, 0.002287f, 0.012539f, -0.002311f, 0.004085f, 0.027595f, -0.008359f, -0.003422f, 0.005395f, -0.013966f, -0.000545f, 0.002394f, -0.006170f, 0.006651f, -0.004462f, 0.004065f, 0.013763f, 0.000388f, -0.003140f, -0.009450f, -0.000743f, -0.011715f, 0.004943f, -0.004410f, -0.005680f, -0.002481f, 0.002240f, -0.003444f, -0.003314f, -0.002920f, 0.000670f, 0.004176f, 0.003209f, 0.000766f, -0.000947f, -0.001404f, -0.000939f, -0.000753f, -0.001880f, -0.003532f, -0.000612f, -0.001173f, 0.001862f, -0.000105f, 0.000966f, -0.003576f, 0.001526f, 0.001709f, -0.001232f, -0.003151f, -0.001061f, -0.003300f, -0.001611f, -0.001539f, 0.002421f, 0.000132f, -0.000427f, -0.000368f, 0.000630f, 0.000252f, 0.001318f, -0.004994f, -0.001192f, 0.001467f, -0.006198f, -0.034216f, -0.002892f, -0.000846f, -0.006947f, -0.010699f, -0.003590f, 0.018168f, -0.013093f, -0.019525f, 0.007160f, -0.008006f, 0.002649f, 0.003328f, 0.012150f, -0.008502f, -0.002651f, 0.002289f, 0.011288f, -0.005468f, -0.007619f, -0.002371f, -0.006572f, - 0.008285f, 0.015284f, 0.007628f, 0.000014f, -0.001400f, -0.008953f, -0.000655f, 0.024116f, 0.004141f, -0.003136f, 0.027886f, -0.001801f, 0.020708f, -0.006419f, 0.000043f, 0.014014f, 0.004169f, 0.003392f, 0.004923f, 0.002356f, 0.007656f, 0.004407f, -0.013425f, 0.024608f, 0.014909f, 0.020185f, 0.013497f, 0.008843f, -0.013656f, 0.005862f, 0.006772f, 0.000920f, -0.008419f, 0.022838f, 0.013781f, 0.020621f, 0.003577f, -0.004257f, -0.005229f, 0.015154f, -0.007563f, -0.015893f, 0.018440f, 0.005686f, -0.010307f, -0.006031f, 0.000809f, -0.004889f, 0.001705f, -0.002279f, 0.002510f, -0.006560f, -0.001873f, -0.015048f, 0.005623f, -0.001960f, -0.000493f, 0.005366f, -0.001941f, -0.002915f, 0.008678f, -0.000702f, 0.006721f, 0.009020f, 0.007394f, 0.004707f, 0.004702f, 0.001809f, 0.002709f, -0.000076f, -0.001992f, -0.001863f, 0.003916f, -0.001248f, -0.002549f, -0.002680f, 0.001816f, -0.003008f, -0.000837f, -0.000692f, 0.004911f, 0.001966f, 0.003497f, -0.003474f, 0.000980f, -0.002810f, -0.001025f, 0.003334f, -0.000544f, -0.001524f, -0.001184f, -0.001027f, -0.002056f, -0.001460f, 0.001387f, -0.000207f, - -0.000946f, -0.008802f, -0.001396f, -0.022501f, -0.008982f, -0.025144f, -0.017283f, 0.001694f, -0.016392f, -0.012917f, 0.001352f, -0.002991f, 0.016576f, -0.011273f, 0.018386f, 0.022622f, 0.002179f, -0.019475f, -0.013751f, 0.020310f, -0.010538f, -0.005725f, 0.011306f, -0.015100f, -0.026745f, 0.010526f, 0.022776f, -0.011927f, 0.005695f, -0.000550f, 0.009838f, -0.027849f, 0.005360f, -0.011258f, 0.006531f, 0.000445f, -0.011805f, 0.019223f, 0.008664f, 0.008057f, 0.025571f, 0.011896f, 0.005143f, 0.014486f, 0.002742f, 0.004624f, 0.007168f, 0.002358f, 0.000988f, 0.003888f, 0.003328f, 0.029231f, 0.016297f, -0.000157f, 0.024406f, 0.015323f, 0.017962f, 0.028311f, -0.014719f, -0.012207f, 0.024667f, -0.008754f, -0.001168f, -0.014852f, -0.006466f, 0.008769f, 0.012980f, -0.011331f, -0.001547f, 0.003674f, -0.003409f, 0.006780f, -0.012142f, -0.002310f, -0.014012f, 0.026710f, -0.008891f, 0.014555f, -0.004396f, -0.007224f, 0.019453f, 0.003385f, -0.006013f, 0.006338f, -0.002683f, 0.000496f, -0.005823f, 0.007387f, -0.001656f, 0.002621f, 0.007722f, 0.004516f, 0.002126f, 0.004439f, 0.000089f, -0.000772f, - 0.002937f, 0.000759f, -0.005723f, 0.001123f, -0.001413f, -0.002599f, 0.004670f, -0.000053f, 0.002141f, 0.001977f, -0.001389f, 0.000899f, -0.003485f, 0.000624f, -0.003211f, 0.000207f, -0.001483f, 0.003536f, 0.000663f, 0.003035f, 0.000536f, 0.003683f, 0.000713f, 0.001671f, 0.001927f, 0.000338f, 0.008401f, -0.009133f, 0.002845f, 0.001228f, 0.002822f, -0.013088f, 0.016845f, 0.009736f, 0.022914f, 0.004368f, -0.003173f, -0.026019f, -0.013922f, -0.009807f, 0.006567f, -0.013560f, -0.022508f, -0.006343f, 0.005706f, 0.002410f, -0.025123f, 0.020263f, 0.001523f, -0.001617f, -0.021401f, -0.012382f, 0.005001f, 0.002538f, -0.023767f, -0.007477f, 0.008642f, 0.000863f, 0.002366f, 0.012065f, 0.014186f, 0.008202f, -0.003696f, 0.007062f, 0.002197f, -0.008617f, -0.017581f, 0.030161f, -0.007611f, -0.014846f, 0.000279f, 0.007402f, 0.009775f, 0.022521f, 0.003717f, -0.000520f, -0.008506f, -0.000364f, 0.012552f, -0.001698f, 0.015686f, 0.029937f, 0.002534f, -0.006631f, 0.000923f, 0.025755f, 0.032373f, -0.016244f, 0.004535f, 0.004399f, 0.017517f, 0.009126f, 0.003111f, 0.005259f, -0.012854f, 0.007905f, - 0.008377f, 0.008207f, -0.005532f, 0.000349f, 0.006394f, 0.009507f, -0.001315f, 0.003179f, 0.002275f, -0.011077f, 0.005331f, 0.000383f, -0.009813f, -0.007309f, 0.010526f, -0.004838f, 0.007305f, -0.010642f, -0.007955f, -0.003724f, 0.002456f, -0.000307f, 0.009520f, 0.004168f, 0.001773f, 0.000315f, 0.004807f, 0.004209f, 0.001460f, -0.008125f, 0.000442f, -0.003504f, 0.001375f, -0.002679f, -0.001842f, -0.000257f, -0.000695f, -0.001296f, -0.002603f, -0.007978f, -0.002055f, 0.000684f, -0.005145f, -0.003524f, -0.003211f, -0.000030f, -0.003210f, -0.005683f, -0.001151f, 0.002437f, 0.004395f, -0.001638f, 0.001372f, -0.002263f, 0.001635f, -0.008568f, 0.011769f, -0.010755f, -0.019405f, 0.013212f, -0.001705f, -0.004821f, 0.004935f, 0.011231f, -0.032466f, 0.001863f, 0.024639f, -0.003001f, 0.044437f, 0.021183f, -0.013753f, -0.010112f, -0.004320f, -0.012996f, -0.005862f, 0.019785f, -0.007800f, -0.006643f, 0.019802f, 0.016075f, 0.005202f, 0.009170f, 0.018498f, 0.012225f, 0.013806f, -0.010335f, -0.007136f, 0.017589f, -0.003622f, 0.015913f, -0.000041f, -0.019245f, -0.012447f, 0.005072f, 0.014980f, -0.020920f, - 0.001155f, -0.011219f, 0.005684f, -0.012805f, 0.017543f, 0.017536f, -0.017367f, -0.001936f, 0.004887f, -0.000660f, -0.023434f, -0.010542f, 0.003850f, 0.015344f, 0.025268f, 0.008542f, -0.018972f, -0.004251f, -0.004726f, -0.002305f, 0.015839f, 0.002446f, 0.012663f, -0.019350f, 0.008500f, 0.001222f, -0.015415f, 0.017993f, 0.007539f, -0.002533f, -0.004200f, 0.003034f, -0.000828f, -0.015664f, 0.011586f, -0.003692f, 0.006848f, -0.012191f, -0.021553f, -0.011955f, 0.004914f, 0.009466f, 0.000080f, 0.005191f, 0.019064f, 0.000115f, -0.005064f, 0.012001f, -0.003893f, 0.011293f, 0.000519f, 0.003614f, -0.009914f, 0.000920f, 0.000105f, 0.005141f, 0.005585f, 0.007985f, 0.004969f, -0.002059f, -0.002513f, -0.003823f, 0.009404f, -0.004547f, 0.004824f, 0.000972f, 0.002848f, 0.003852f, 0.005197f, 0.002293f, -0.001992f, 0.004756f, 0.001738f, 0.001552f, -0.002011f, 0.006425f, 0.002911f, 0.001301f, -0.006604f, 0.002288f, -0.002698f, -0.000123f, 0.004253f, 0.001243f, 0.020475f, -0.025579f, -0.004193f, -0.008277f, 0.025927f, -0.011805f, 0.021339f, -0.006860f, 0.019914f, 0.027033f, -0.012194f, 0.008418f, - -0.007055f, 0.015329f, -0.006022f, 0.012735f, 0.010575f, 0.009927f, -0.002441f, 0.010448f, -0.005484f, -0.013657f, -0.006606f, 0.014895f, -0.017747f, 0.002618f, -0.000183f, 0.013247f, 0.027053f, -0.025037f, 0.000760f, 0.024177f, -0.000708f, 0.022087f, 0.002930f, 0.009605f, -0.003181f, -0.002069f, 0.005903f, -0.034528f, 0.003279f, -0.001008f, -0.013767f, 0.008902f, 0.005524f, 0.024739f, 0.012304f, -0.002666f, 0.047241f, 0.011604f, -0.025046f, 0.006406f, 0.002298f, 0.016337f, -0.010847f, 0.002976f, 0.013873f, 0.000901f, 0.008414f, -0.002690f, -0.027342f, -0.028114f, -0.000038f, -0.009643f, 0.022330f, -0.038139f, 0.048673f, -0.000501f, 0.027058f, 0.030838f, 0.007376f, -0.008446f, -0.006295f, -0.014809f, -0.019417f, -0.001879f, 0.006143f, -0.005129f, 0.009672f, -0.006755f, -0.015650f, -0.010062f, -0.007955f, 0.002566f, -0.002523f, 0.001477f, 0.010352f, 0.005010f, 0.004862f, 0.003583f, -0.004451f, -0.005610f, 0.000219f, -0.001386f, 0.002903f, 0.000462f, 0.001119f, 0.003036f, 0.005973f, 0.003359f, -0.012171f, 0.001946f, -0.002370f, 0.008534f, 0.008784f, 0.004868f, -0.000903f, -0.002841f, - 0.003398f, 0.002503f, -0.004354f, -0.004778f, -0.001195f, -0.003356f, 0.000772f, -0.003569f, -0.005925f, 0.002053f, 0.009703f, -0.002802f, 0.003873f, -0.007780f, 0.000909f, 0.004032f, 0.004426f, -0.000511f, 0.002825f, 0.006007f, -0.004685f, 0.002038f, -0.045051f, -0.003138f, 0.015411f, 0.002580f, -0.016883f, -0.041842f, 0.000042f, 0.004830f, -0.007285f, -0.001711f, -0.012272f, 0.006532f, -0.010204f, 0.021612f, 0.007682f, -0.012824f, -0.016006f, -0.027506f, 0.020691f, -0.008756f, 0.001486f, 0.026867f, 0.036992f, 0.022528f, -0.003346f, 0.001955f, -0.025228f, -0.010804f, -0.010091f, 0.006819f, -0.035823f, 0.009404f, 0.009908f, 0.002073f, -0.018366f, 0.017746f, 0.027680f, -0.004431f, -0.000376f, 0.003229f, -0.015894f, -0.016909f, 0.009851f, 0.006676f, 0.020975f, -0.022925f, 0.025008f, -0.013102f, 0.013841f, -0.021227f, -0.016635f, -0.008394f, -0.000417f, -0.002514f, 0.009216f, -0.004580f, -0.036988f, -0.027842f, -0.007700f, 0.000984f, -0.037082f, 0.000513f, 0.018551f, -0.009859f, -0.004158f, 0.005632f, 0.015801f, -0.032761f, 0.016884f, -0.005774f, -0.004776f, -0.000176f, 0.013533f, 0.016697f, - -0.019520f, -0.010063f, -0.013073f, -0.006446f, -0.004622f, 0.009695f, 0.003384f, -0.011897f, -0.005168f, -0.009132f, 0.006477f, 0.021738f, 0.014509f, -0.000150f, -0.000467f, -0.012193f, 0.000626f, -0.007467f, 0.010413f, -0.001905f, 0.018041f, 0.005922f, 0.006406f, -0.006467f, 0.000546f, 0.000159f, -0.014124f, 0.015207f, 0.001316f, -0.002753f, 0.008133f, -0.002882f, -0.002239f, -0.000792f, 0.001352f, -0.012469f, 0.005634f, 0.007478f, 0.008188f, -0.001371f, -0.002747f, 0.002634f, 0.004713f, -0.004527f, -0.002445f, 0.004303f, -0.009243f, 0.000941f, -0.000042f, 0.008752f, -0.000486f, 0.040466f, 0.000947f, -0.008260f, 0.031469f, -0.006926f, -0.012844f, -0.003433f, -0.002926f, 0.039026f, 0.044657f, -0.005862f, 0.009485f, 0.011342f, -0.005725f, -0.021263f, 0.010430f, 0.041499f, 0.031677f, 0.027050f, -0.009848f, 0.011696f, 0.022303f, -0.029006f, -0.021571f, 0.025244f, -0.012909f, -0.014221f, -0.000973f, 0.031571f, -0.004757f, 0.029058f, 0.001920f, 0.026070f, -0.015628f, 0.035840f, 0.010933f, -0.011184f, -0.018293f, 0.006504f, -0.025883f, 0.003062f, -0.030714f, -0.010534f, -0.010999f, 0.017548f, - -0.017569f, 0.028943f, -0.035458f, -0.061454f, 0.038408f, 0.017125f, -0.007505f, 0.000275f, 0.042368f, 0.019826f, 0.003410f, -0.011157f, 0.009195f, -0.004976f, 0.000563f, -0.027552f, -0.027844f, 0.016375f, -0.009305f, 0.009027f, 0.052614f, -0.013795f, 0.011374f, -0.034354f, 0.040678f, -0.013637f, -0.018059f, -0.008736f, -0.005593f, 0.016911f, -0.034326f, 0.028729f, -0.033639f, 0.024281f, -0.017271f, -0.023563f, 0.023570f, -0.001059f, 0.007795f, -0.009577f, 0.013991f, -0.007659f, -0.010502f, -0.004788f, -0.015973f, 0.011043f, -0.000404f, -0.010518f, -0.004327f, 0.003874f, 0.017296f, 0.003214f, 0.002586f, 0.004545f, -0.000291f, -0.002965f, 0.008860f, -0.004937f, 0.004090f, 0.003603f, -0.004303f, -0.001293f, -0.000836f, 0.012295f, 0.010940f, -0.003994f, -0.005792f, -0.012919f, -0.000066f, -0.002658f, -0.001672f, -0.002126f, 0.000571f, 0.011794f, 0.003744f, -0.001444f, 0.015113f, 0.007265f, -0.046018f, -0.034201f, -0.033155f, 0.046362f, 0.001590f, 0.019911f, 0.011889f, -0.040800f, -0.035649f, 0.024013f, -0.063634f, 0.018620f, 0.018957f, -0.004082f, -0.025290f, -0.023296f, 0.039721f, -0.021332f, - -0.002752f, -0.006672f, -0.020510f, 0.030170f, 0.009664f, 0.027293f, 0.015934f, 0.018824f, -0.005913f, 0.030638f, -0.002761f, -0.020065f, -0.023544f, -0.005456f, 0.013367f, -0.017921f, 0.023869f, 0.015253f, -0.017875f, -0.064502f, -0.005345f, -0.005335f, -0.001524f, 0.046801f, 0.001136f, -0.036740f, -0.021695f, -0.022489f, 0.019314f, -0.014199f, -0.030477f, -0.034163f, -0.021135f, -0.016647f, -0.075934f, 0.001753f, 0.009567f, 0.024900f, -0.039623f, 0.012922f, -0.032723f, -0.026927f, -0.009102f, 0.031691f, 0.008218f, 0.029403f, 0.055793f, 0.016664f, 0.012875f, 0.036224f, -0.028228f, -0.003725f, -0.013358f, -0.015653f, 0.029200f, 0.026797f, 0.042852f, 0.020888f, -0.039057f, -0.026213f, 0.030845f, -0.046391f, -0.050855f, -0.016166f, 0.037223f, 0.005736f, -0.008980f, 0.025159f, 0.020757f, -0.000382f, 0.005993f, 0.021294f, -0.013951f, 0.012518f, -0.010256f, -0.002170f, -0.010691f, -0.002206f, 0.002929f, 0.014830f, -0.009447f, -0.012293f, 0.000070f, 0.008259f, 0.002815f, 0.007479f, -0.001103f, -0.012319f, -0.002789f, -0.008256f, 0.000728f, -0.006952f, -0.001214f, -0.001228f, -0.013484f, 0.010722f, - 0.001784f, 0.010906f, 0.014196f, 0.019162f, -0.007215f, -0.010703f, -0.000726f, 0.001531f, 0.001121f, 0.021341f, -0.020787f, -0.042842f, 0.011059f, -0.001172f, -0.001377f, 0.000987f, 0.005334f, 0.008397f, 0.017984f, 0.005450f, 0.015048f, 0.008012f, 0.017934f, 0.047339f, 0.001014f, -0.063077f, -0.023471f, 0.015212f, 0.000025f, -0.013620f, -0.040745f, -0.027082f, 0.007856f, 0.031906f, 0.012016f, -0.031771f, 0.016051f, 0.012544f, -0.035794f, -0.007319f, -0.044124f, 0.033481f, -0.018744f, -0.023395f, 0.030935f, -0.031264f, 0.007920f, 0.065038f, -0.008339f, 0.009980f, 0.018782f, -0.000854f, 0.008948f, -0.039286f, 0.008743f, 0.006051f, 0.005603f, 0.085627f, 0.057855f, -0.007223f, -0.030778f, -0.020728f, 0.026505f, 0.030707f, -0.035272f, -0.020101f, -0.047117f, 0.072930f, 0.019675f, 0.007720f, -0.012537f, -0.008872f, -0.017110f, -0.009947f, 0.052366f, -0.015040f, 0.013675f, 0.052112f, 0.008219f, -0.015812f, -0.040009f, 0.000139f, 0.015031f, -0.079937f, 0.016488f, 0.007754f, 0.053338f, 0.036023f, 0.028091f, 0.047348f, 0.026551f, -0.010479f, 0.004015f, 0.015905f, -0.006212f, 0.001426f, - -0.004185f, 0.006726f, 0.003483f, 0.044141f, -0.002090f, 0.017566f, -0.008744f, 0.016928f, -0.002310f, 0.022912f, 0.004245f, 0.005686f, 0.020916f, -0.002750f, 0.008183f, 0.013669f, -0.000465f, 0.010855f, 0.015871f, 0.006367f, 0.012472f, 0.018467f, 0.010321f, -0.008293f, -0.002294f, 0.003270f, 0.003892f, -0.000865f, -0.008709f, 0.002831f, 0.004200f, 0.001252f, 0.009449f, -0.002518f, 0.015333f, 0.007741f, -0.007578f, 0.015809f, -0.003238f, 0.001352f, -0.011084f, -0.050616f, -0.007306f, 0.034744f, 0.019476f, -0.056712f, -0.074686f, 0.008489f, 0.050629f, 0.020385f, 0.030936f, -0.017712f, 0.023896f, 0.003891f, 0.000629f, -0.027218f, -0.009692f, -0.042323f, 0.062673f, 0.020862f, -0.050854f, -0.035052f, 0.022805f, 0.002266f, 0.012593f, -0.015387f, 0.031307f, 0.018095f, 0.021576f, 0.040846f, 0.036401f, 0.007311f, 0.035600f, -0.018879f, 0.020479f, -0.000285f, 0.024883f, 0.011197f, -0.005852f, -0.015138f, 0.017221f, -0.022390f, 0.058578f, -0.015910f, -0.010928f, 0.011783f, 0.029034f, 0.028366f, -0.019214f, 0.050143f, 0.050053f, 0.028807f, 0.012231f, 0.003968f, -0.015891f, -0.038146f, - -0.064719f, -0.010766f, 0.023252f, -0.001623f, 0.028423f, 0.030554f, 0.033186f, 0.011266f, 0.018581f, 0.107526f, -0.052783f, -0.023374f, 0.010878f, 0.020588f, -0.002523f, -0.084361f, 0.019948f, -0.013317f, 0.012821f, 0.014684f, 0.037496f, 0.007244f, 0.000851f, -0.034056f, 0.035308f, -0.012794f, 0.005288f, 0.030505f, 0.014191f, -0.033020f, -0.006858f, -0.018654f, -0.006052f, -0.014374f, 0.002546f, 0.001074f, 0.013458f, -0.003383f, 0.016370f, 0.015607f, 0.021166f, -0.000425f, 0.000070f, -0.012923f, -0.005464f, -0.017227f, -0.011224f, -0.005287f, 0.022510f, 0.006908f, -0.003246f, 0.001292f, -0.008459f, 0.003003f, 0.019796f, 0.021704f, -0.004097f, -0.020449f, -0.000098f, 0.001025f, 0.009751f, -0.005799f, 0.006836f, -0.009820f, 0.015135f, -0.028528f, 0.003169f, -0.008897f, -0.009698f, -0.000205f, 0.005926f, -0.018454f, 0.009132f, -0.003668f, 0.009052f, -0.009541f, -0.016712f, 0.006269f, 0.028133f, 0.027705f, -0.015390f, -0.020885f, 0.006112f, -0.020068f, -0.064201f, 0.066237f, -0.019428f, 0.018591f, 0.006056f, 0.055557f, 0.044241f, 0.027825f, -0.026606f, -0.004416f, 0.037938f, 0.020151f, - 0.044667f, 0.119275f, -0.007481f, -0.047049f, -0.012355f, 0.035646f, -0.005425f, -0.055561f, 0.084765f, 0.043962f, -0.030028f, -0.046515f, -0.005842f, 0.010418f, -0.014889f, 0.033702f, 0.028530f, 0.033072f, 0.063241f, 0.010608f, 0.017780f, 0.011328f, -0.024664f, -0.058972f, 0.034549f, -0.040124f, -0.030276f, 0.046563f, 0.024270f, 0.026273f, 0.013646f, 0.009609f, -0.002804f, -0.058215f, -0.051837f, 0.000990f, 0.030779f, -0.038472f, 0.036327f, -0.017047f, -0.043331f, 0.013656f, 0.037742f, -0.006964f, 0.007142f, 0.037675f, 0.036931f, 0.038549f, 0.002680f, -0.023448f, 0.021786f, 0.091540f, 0.010869f, 0.037262f, 0.052097f, 0.002616f, -0.016741f, -0.045912f, -0.018766f, -0.072389f, -0.025025f, -0.018064f, -0.009121f, 0.016546f, 0.002631f, -0.003214f, -0.021015f, -0.013638f, -0.012289f, 0.017987f, -0.018831f, -0.003634f, -0.016641f, 0.005450f, -0.010647f, -0.017755f, 0.000500f, -0.025594f, -0.009273f, 0.000544f, -0.023428f, -0.004282f, -0.020445f, -0.011568f, 0.002005f, -0.036992f, -0.003828f, 0.001857f, -0.000657f, 0.017650f, -0.023867f, -0.007660f, 0.025070f, 0.000616f, -0.010239f, -0.000975f, - -0.008793f, 0.005001f, -0.011159f, -0.008106f, 0.012322f, -0.000746f, 0.000563f, -0.019879f, 0.033033f, 0.027086f, 0.000183f, -0.022645f, -0.033177f, -0.058236f, 0.009793f, 0.034922f, 0.047985f, -0.041768f, -0.044471f, 0.053388f, 0.023716f, -0.002663f, -0.005971f, -0.022917f, 0.009770f, -0.010980f, -0.023853f, 0.024172f, 0.029647f, 0.020301f, 0.001505f, -0.004960f, -0.017369f, 0.003053f, 0.012164f, 0.007088f, -0.019555f, -0.067914f, 0.014523f, -0.015901f, -0.020708f, 0.003151f, -0.009208f, 0.005048f, -0.067601f, 0.030683f, 0.024030f, -0.048920f, 0.033317f, 0.044292f, 0.037078f, -0.010694f, 0.005807f, -0.006623f, 0.024009f, -0.006158f, -0.000628f, 0.119328f, -0.036509f, 0.009350f, -0.032646f, -0.019296f, 0.067254f, 0.024154f, 0.022651f, 0.042700f, -0.055643f, -0.046303f, 0.067631f, -0.043757f, 0.034285f, 0.042361f, 0.003635f, 0.010828f, 0.015889f, 0.076616f, -0.026738f, -0.030164f, -0.071386f, -0.015848f, -0.031015f, 0.023359f, -0.044851f, 0.074432f, 0.040391f, 0.045205f, 0.022118f, 0.039424f, 0.020552f, 0.071012f, 0.017168f, 0.033819f, 0.025854f, -0.035906f, -0.017346f, -0.014304f, - 0.005787f, 0.003405f, 0.034638f, 0.014634f, -0.000507f, -0.002331f, 0.007534f, 0.002585f, -0.014137f, -0.027541f, -0.014814f, -0.020854f, 0.024877f, -0.009624f, -0.014941f, 0.007485f, -0.006087f, 0.030598f, 0.013980f, -0.006277f, 0.017083f, -0.020856f, 0.009184f, 0.015043f, -0.006186f, 0.029593f, 0.030470f, 0.019967f, -0.015014f, 0.024866f, 0.014233f, -0.025982f, -0.005353f, 0.001881f, -0.015764f, 0.000968f, 0.021617f, -0.026159f, -0.029853f, 0.012181f, 0.005324f, -0.003594f, 0.027767f, -0.019832f, 0.049093f, -0.029243f, 0.025704f, 0.083828f, 0.041337f, 0.031429f, -0.047669f, 0.012823f, 0.046413f, -0.040566f, 0.065928f, 0.023401f, 0.035008f, 0.031421f, -0.021018f, 0.032577f, 0.027832f, 0.011570f, 0.065324f, 0.049579f, -0.004382f, -0.113138f, -0.013823f, 0.052048f, 0.049945f, 0.051624f, 0.011843f, 0.028685f, 0.001948f, 0.014301f, -0.004360f, -0.035210f, 0.071594f, -0.002152f, 0.068180f, 0.030744f, 0.049022f, -0.069701f, 0.046491f, 0.023268f, 0.020569f, -0.018414f, 0.015731f, -0.013131f, 0.014982f, 0.068983f, 0.026930f, 0.090077f, 0.003820f, 0.019815f, 0.052090f, -0.010774f, - 0.082241f, 0.040741f, 0.006628f, -0.054982f, -0.034951f, 0.030146f, 0.002845f, -0.009216f, 0.001189f, -0.009417f, 0.005884f, -0.040030f, 0.026115f, -0.042608f, -0.064043f, -0.023747f, -0.004170f, -0.021183f, -0.016967f, 0.053757f, -0.007039f, 0.048977f, -0.047226f, 0.053831f, 0.006595f, -0.059462f, 0.058307f, 0.049300f, -0.019071f, -0.008214f, 0.013438f, 0.025966f, 0.015965f, -0.002356f, -0.027666f, 0.017193f, -0.012311f, -0.001555f, 0.033355f, -0.006760f, -0.006228f, -0.027288f, -0.007999f, 0.007846f, 0.004668f, -0.001582f, 0.024911f, 0.022937f, -0.018528f, 0.006448f, -0.001081f, 0.001301f, 0.022855f, 0.007575f, -0.026290f, 0.017676f, -0.022586f, 0.011572f, -0.018399f, -0.006627f, -0.006292f, -0.003497f, 0.002335f, 0.005481f, 0.002454f, 0.001939f, -0.005762f, 0.004933f, -0.013000f, 0.009187f, 0.009099f, -0.001395f, -0.010787f, 0.008249f, -0.002977f, 0.013521f, -0.007852f, -0.005288f, -0.018454f, 0.000092f, -0.018258f, 0.005096f, -0.015227f, -0.049985f, -0.047747f, -0.019048f, -0.020475f, 0.039228f, -0.062599f, -0.078180f, -0.084927f, -0.102768f, 0.046426f, 0.050796f, -0.002539f, -0.008069f, - 0.000096f, -0.024301f, 0.006399f, 0.012996f, -0.021282f, 0.070317f, 0.066523f, 0.043335f, 0.047729f, -0.043375f, 0.029401f, 0.002517f, 0.034934f, -0.013460f, -0.017240f, -0.064242f, 0.058082f, -0.058056f, -0.069897f, -0.018437f, -0.014251f, 0.075634f, -0.040975f, 0.010199f, -0.038634f, -0.010940f, 0.073453f, 0.013527f, 0.023651f, 0.036077f, 0.067533f, 0.004102f, -0.006872f, -0.081790f, -0.014454f, -0.006599f, -0.001674f, 0.044739f, 0.024746f, 0.152182f, 0.008302f, -0.004791f, -0.049808f, -0.004158f, 0.061231f, 0.055408f, -0.004283f, -0.026885f, -0.074491f, 0.018658f, 0.048370f, -0.024543f, -0.054098f, -0.023404f, 0.047711f, -0.014504f, 0.035243f, -0.109177f, -0.060189f, -0.087323f, -0.022764f, 0.034798f, 0.019413f, -0.038167f, -0.035394f, -0.042877f, 0.017979f, 0.089567f, 0.028054f, -0.000632f, -0.030971f, -0.002840f, -0.023915f, -0.007056f, 0.011539f, 0.010326f, -0.027643f, -0.013219f, -0.001611f, 0.019164f, -0.047607f, -0.033381f, -0.010371f, 0.023527f, -0.002335f, 0.031049f, 0.011056f, 0.003331f, -0.009956f, -0.005814f, -0.020830f, -0.005040f, -0.031897f, -0.007756f, 0.037255f, 0.012565f, - 0.017559f, -0.025719f, -0.044464f, 0.022092f, 0.022510f, -0.013687f, 0.001108f, -0.019299f, -0.002366f, 0.005179f, -0.001311f, 0.016521f, 0.011766f, 0.010604f, 0.022864f, 0.011455f, 0.018325f, 0.017893f, -0.002457f, 0.014230f, 0.009203f, 0.013767f, 0.001915f, 0.001816f, -0.013957f, -0.031940f, -0.017293f, 0.072571f, 0.000936f, -0.001051f, 0.129599f, 0.011499f, -0.098581f, -0.076029f, 0.090428f, 0.080127f, 0.003692f, -0.066138f, -0.081822f, -0.047536f, 0.014548f, 0.077914f, 0.069281f, 0.045954f, -0.030304f, 0.007931f, -0.030433f, 0.024524f, 0.058773f, 0.091457f, 0.100010f, -0.014052f, -0.055485f, -0.086935f, -0.129256f, -0.002672f, 0.066950f, 0.275839f, -0.037456f, -0.016127f, -0.135186f, -0.056745f, 0.010077f, 0.030668f, 0.163753f, 0.117708f, 0.072335f, -0.085147f, -0.048675f, -0.083221f, -0.006138f, 0.136872f, 0.126503f, 0.154443f, -0.044262f, -0.154664f, -0.112918f, -0.156150f, 0.037473f, 0.140774f, 0.123600f, 0.229029f, -0.111314f, -0.135128f, -0.118633f, -0.020879f, 0.100543f, 0.134478f, 0.188508f, 0.084634f, -0.041249f, -0.075206f, 0.016137f, -0.006980f, 0.052662f, 0.150583f, - -0.034779f, 0.093071f, -0.035072f, -0.088760f, -0.000094f, 0.012299f, 0.080904f, 0.002555f, -0.009023f, 0.006478f, -0.022915f, -0.076956f, 0.030172f, -0.011785f, 0.024400f, -0.022750f, -0.063598f, -0.016457f, -0.016055f, 0.005642f, 0.039953f, 0.004388f, -0.013322f, 0.014504f, -0.016485f, -0.020773f, -0.005024f, 0.058849f, 0.013916f, 0.053924f, -0.005423f, 0.004916f, -0.017205f, 0.005803f, 0.004985f, 0.009770f, 0.041343f, 0.072508f, -0.003565f, -0.021374f, -0.069078f, -0.090786f, 0.002156f, 0.003978f, 0.106804f, 0.068346f, 0.010353f, -0.038876f, -0.153795f, -0.087203f, -0.014497f, 0.067606f, 0.133542f, 0.068635f, -0.042187f, -0.051728f, -0.159376f, -0.060099f, 0.073991f, 0.137434f, 0.110732f, 0.005884f, -0.072871f, -0.082338f, -0.009386f, -0.004303f, 0.064212f, 0.038190f, 0.034589f, 0.000865f, -0.033741f, -0.019809f, -0.001616f, -0.015547f, 0.019642f, 0.020923f, -0.011543f, -0.067433f, 0.089051f, -0.020330f, 0.105108f, -0.096273f, 0.001436f, -0.041953f, -0.099905f, 0.073526f, -0.052302f, 0.068064f, -0.053481f, -0.020596f, -0.004500f, 0.035101f, 0.008136f, -0.038285f, -0.020157f, -0.001545f, - 0.054652f, -0.050369f, 0.062652f, 0.044779f, -0.033585f, 0.007876f, -0.042252f, -0.042830f, 0.072936f, -0.071515f, -0.035672f, 0.048205f, 0.111230f, -0.000774f, 0.015420f, -0.010158f, -0.048093f, -0.013578f, 0.045671f, -0.015699f, -0.072765f, 0.010324f, -0.015555f, -0.012442f, 0.022549f, -0.066812f, 0.034100f, -0.000277f, 0.023522f, 0.051366f, -0.115874f, -0.086233f, -0.028056f, -0.002725f, 0.120310f, -0.063682f, 0.043935f, 0.094036f, -0.051169f, -0.030737f, -0.002716f, 0.050906f, 0.075007f, -0.040897f, 0.022104f, -0.015200f, 0.030076f, 0.115715f, -0.042434f, -0.130932f, 0.028441f, 0.059592f, 0.016221f, -0.070122f, 0.044250f, 0.017997f, 0.044438f, -0.013990f, -0.001260f, -0.049116f, -0.038028f, 0.028382f, 0.008046f, -0.052362f, 0.016040f, 0.035555f, -0.016644f, -0.000656f, -0.056887f, 0.008049f, -0.013522f, -0.063853f, -0.001351f, 0.027930f, 0.025487f, 0.009771f, -0.000816f, 0.015236f, -0.042439f, -0.011205f, 0.016273f, -0.021535f, 0.034229f, -0.020813f, -0.007527f, -0.019729f, 0.001020f, -0.021003f, 0.032845f, 0.005217f, -0.024190f, -0.022194f, -0.000013f, -0.001531f, 0.053601f, -0.018992f, - 0.019683f, -0.010196f, 0.000055f, 0.010796f, -0.021636f, -0.020800f, 0.004558f, -0.045196f, -0.011231f, 0.012306f, -0.036736f, 0.001035f, -0.005893f, -0.013876f, 0.009302f, 0.023961f, 0.001158f, 0.002828f, -0.013734f, -0.008844f, -0.134727f, -0.042619f, 0.058086f, 0.079490f, 0.066005f, -0.067084f, 0.021615f, -0.187640f, -0.122002f, -0.103589f, -0.016387f, 0.088123f, 0.056713f, -0.003775f, -0.041170f, -0.050811f, 0.025014f, -0.031019f, -0.003074f, 0.067420f, 0.018428f, 0.003331f, -0.066482f, -0.031874f, -0.006682f, -0.031334f, 0.020441f, -0.005371f, 0.036189f, -0.009272f, -0.000280f, -0.011631f, -0.002068f, -0.008400f, -0.037940f, -0.028571f, -0.063735f, -0.044841f, 0.032656f, 0.062669f, 0.068107f, 0.038088f, 0.059360f, -0.008782f, 0.050516f, -0.011537f, -0.023026f, -0.079411f, -0.002993f, -0.043742f, 0.034186f, 0.013329f, 0.100845f, -0.081079f, 0.028976f, 0.056782f, -0.031054f, -0.042943f, -0.024995f, -0.019858f, -0.020597f, 0.007616f, 0.071639f, 0.046311f, -0.019011f, -0.002359f, 0.051436f, -0.059131f, -0.065641f, 0.027470f, -0.076202f, -0.058378f, -0.051135f, 0.006735f, 0.024823f, 0.029964f, - 0.088562f, 0.060498f, -0.009530f, 0.045133f, -0.025701f, 0.002179f, 0.011123f, 0.033558f, 0.053766f, 0.058419f, 0.040907f, 0.034288f, 0.027318f, 0.002747f, -0.074314f, -0.020620f, -0.038360f, -0.009179f, 0.043454f, -0.001433f, 0.006610f, -0.015740f, -0.033086f, 0.004154f, -0.016344f, -0.013041f, -0.036048f, 0.016406f, 0.027068f, -0.011538f, 0.010434f, 0.024482f, 0.013190f, 0.016155f, 0.002727f, 0.015924f, -0.010675f, 0.011133f, -0.005058f, -0.018392f, 0.014427f, 0.018732f, -0.014971f, -0.021218f, 0.001843f, -0.014131f, -0.025518f, 0.020252f, 0.021026f, 0.008886f, 0.027106f, -0.001800f, -0.025251f, -0.030414f, 0.043137f, -0.017221f, -0.160760f, -0.237649f, -0.291763f, -0.230514f, -0.343938f, -0.060754f, -0.125564f, 0.038154f, 0.072312f, 0.249100f, 0.145523f, 0.258044f, 0.262387f, 0.359191f, 0.262204f, 0.266552f, 0.196360f, 0.008517f, -0.056793f, -0.103875f, -0.063852f, -0.214410f, -0.146506f, -0.116669f, -0.119236f, -0.117982f, -0.117755f, -0.114290f, -0.123336f, -0.135356f, -0.100878f, -0.157397f, -0.128694f, -0.112145f, -0.050306f, -0.132246f, -0.040794f, 0.048773f, -0.098227f, -0.047408f, - 0.026553f, 0.021683f, -0.083141f, 0.069482f, 0.089267f, 0.113013f, 0.153266f, 0.155784f, -0.012108f, 0.092670f, 0.150662f, 0.213777f, 0.168516f, 0.336681f, 0.316215f, 0.279303f, 0.226346f, 0.286551f, 0.142324f, 0.228163f, 0.277715f, 0.213905f, 0.136835f, 0.231983f, 0.075348f, 0.077999f, 0.142561f, 0.143016f, 0.101593f, 0.029527f, 0.083066f, -0.027521f, 0.005051f, 0.072716f, -0.082584f, -0.207720f, -0.310474f, -0.122641f, -0.425109f, -0.371851f, -0.327023f, -0.378197f, -0.420767f, -0.352684f, -0.305258f, -0.294490f, -0.202940f, -0.266913f, -0.136979f, -0.169443f, -0.180101f, -0.273200f, -0.220732f, -0.159178f, -0.130328f, -0.110344f, -0.103397f, -0.064794f, 0.025904f, -0.000191f, -0.006124f, 0.077067f, 0.160897f, 0.134179f, 0.135929f, 0.216618f, 0.185262f, 0.192474f, 0.244397f, 0.230445f, 0.196135f, 0.186522f, 0.223773f, 0.190508f, 0.184758f, 0.196009f, 0.203427f, 0.172984f, 0.151317f, 0.139180f, 0.130153f, 0.170027f, 0.133428f, 0.100048f, 0.104664f, 0.078221f, 0.045719f, -0.027103f, -0.056282f, -0.073824f, -0.132196f, -0.113229f, -0.117172f, -0.139618f, -0.147521f, -0.135906f, - -0.088580f, -0.099546f, -0.090016f, -0.091745f, -0.047402f, -0.052772f, -0.063251f, -0.043752f, -0.014511f, -0.016629f, -0.030335f, -0.020082f, 0.000342f, -0.012678f, -0.017124f, -0.015905f, -0.006051f, -0.009492f, -0.013757f, -0.010869f, 0.006723f, 0.010269f, 0.002877f, -0.006467f, 0.000278f, 0.008326f, 0.001994f, -0.007444f, -0.001368f, 0.003282f, 0.001768f, -0.002016f, 0.003158f, 0.002817f, 0.004637f, 0.004010f, 0.000220f, 0.000138f, 0.003834f, 0.004097f, 0.008887f, 0.005518f, -0.001816f, -0.005785f, 0.002256f, 0.004490f, -0.002354f, -0.004541f, -0.002634f, -0.006219f, -0.004688f, -0.005178f, -0.007801f, -0.006668f, -0.006616f, -0.008184f, -0.005178f, 0.000343f, 0.004532f, 0.003025f, 0.007042f, 0.010577f, 0.010361f, 0.008282f, 0.011758f, 0.016522f, 0.015454f, 0.014644f, 0.017240f, 0.016979f, 0.020239f, 0.018041f, 0.016583f, 0.019501f, 0.019521f, 0.014599f, 0.008181f, 0.008348f, 0.006168f, 0.000233f, -0.002012f, -0.004008f, -0.005949f, -0.008641f, -0.009770f, -0.009927f, -0.009434f, -0.009682f, -0.008954f, -0.008162f, -0.007567f, -0.006400f, -0.005698f, -0.004368f, -0.003209f, -0.002596f, - -0.002179f, -0.001650f, -0.001141f, -0.001019f, -0.000831f, -0.000715f} - } -}; -const float CRendBin_Combined_BRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][2955]={ - { - {0.009861f, 0.004728f, -0.006472f, 0.009783f, -0.005693f, -0.002101f, 0.000249f, -0.003498f, -0.003708f, -0.007780f, 0.001935f, 0.011525f, 0.001291f, 0.001975f, 0.005042f, 0.001088f, -0.004030f, -0.001395f, -0.002356f, -0.002587f, 0.007152f, 0.001824f, 0.001025f, -0.002517f, 0.001401f, -0.000405f, -0.002581f, -0.004504f, 0.006935f, 0.005146f, 0.001075f, -0.001569f, 0.008027f, -0.011147f, -0.004012f, 0.004585f, -0.004473f, 0.009384f, 0.001070f, 0.006590f, 0.000961f, 0.000661f, 0.004438f, -0.003918f, -0.001487f, -0.000245f, -0.000009f, -0.003084f, -0.002277f, 0.004076f, -0.000112f, -0.010291f, 0.009644f, -0.001457f, 0.001722f, -0.008711f, 0.004182f, -0.003921f, 0.003481f, 0.000144f, -0.000199f, -0.003345f, -0.000235f, -0.005087f, 0.005228f, -0.009781f, -0.000996f, 0.006953f, -0.005506f, 0.002520f, 0.010642f, 0.003095f, 0.001154f, -0.005364f, 0.000652f, 0.002699f, -0.001895f, 0.003411f, -0.002124f, -0.001642f, -0.002881f, 0.003075f, -0.003376f, -0.005655f, 0.001854f, 0.000815f, -0.001299f, 0.006680f, -0.001633f, -0.001580f, -0.001568f, 0.002145f, 0.002563f, -0.000287f, 0.000361f, 0.001118f, - -0.001271f, 0.001106f, -0.002534f, -0.001192f, -0.000346f, -0.000659f, -0.001329f, -0.000160f, 0.000002f, -0.000403f, -0.000748f, -0.000175f, -0.001335f, 0.000639f, -0.000633f, 0.001523f, -0.000991f, 0.001105f, 0.001742f, 0.001035f, 0.020367f, 0.003758f, -0.002844f, 0.006221f, -0.003070f, -0.002548f, -0.003252f, -0.001326f, -0.007636f, 0.010824f, 0.006263f, 0.004674f, 0.005042f, 0.004788f, -0.005005f, -0.006756f, 0.009124f, -0.001953f, -0.007055f, -0.013453f, 0.002218f, -0.003978f, 0.004240f, 0.000092f, -0.001126f, -0.003004f, 0.004253f, -0.004977f, -0.002501f, 0.006662f, 0.012656f, 0.003303f, 0.005770f, 0.001108f, 0.006376f, -0.001304f, 0.006784f, 0.004280f, 0.000787f, 0.003797f, 0.000360f, 0.001127f, 0.000374f, 0.009253f, 0.001983f, 0.002448f, -0.002059f, 0.001387f, -0.000626f, -0.001272f, 0.007524f, 0.008600f, -0.003054f, -0.003136f, 0.001761f, 0.007918f, -0.012818f, -0.000650f, -0.003457f, -0.009487f, -0.003836f, 0.001349f, -0.004020f, 0.004255f, 0.003463f, 0.000311f, -0.005762f, 0.002728f, -0.001197f, -0.005518f, 0.007157f, -0.009792f, -0.004603f, -0.010445f, -0.005144f, -0.001455f, - 0.001602f, 0.010603f, -0.004525f, -0.002720f, 0.003313f, -0.001633f, -0.002468f, 0.005042f, -0.000782f, -0.000170f, -0.002238f, -0.003506f, -0.004346f, -0.001134f, 0.003785f, 0.001527f, 0.001867f, 0.001773f, 0.001378f, 0.000175f, -0.000571f, -0.000229f, 0.000354f, 0.002680f, 0.001340f, 0.001433f, -0.000845f, 0.000263f, 0.000965f, 0.000795f, 0.000061f, 0.000218f, 0.000070f, -0.000152f, -0.000300f, -0.001793f, -0.001352f, -0.000906f, 0.001085f, 0.000907f, -0.000346f, 0.001719f, 0.006282f, 0.002583f, -0.012275f, -0.001293f, 0.001964f, 0.008697f, -0.002534f, -0.015507f, 0.012519f, -0.014660f, 0.000895f, -0.006468f, -0.004915f, -0.015539f, -0.010127f, -0.006131f, -0.003768f, 0.006234f, 0.002271f, -0.010270f, 0.001558f, -0.005545f, 0.000198f, -0.000471f, 0.004302f, 0.000742f, -0.004316f, 0.000612f, 0.001202f, 0.002381f, -0.003019f, -0.002281f, -0.000825f, -0.005139f, -0.007517f, 0.010219f, 0.004905f, 0.001287f, -0.001313f, 0.008688f, 0.007721f, -0.008799f, 0.002540f, 0.000714f, -0.001550f, -0.005177f, 0.001252f, -0.009089f, 0.002120f, -0.001825f, -0.007228f, 0.008933f, 0.000253f, -0.000823f, - 0.011428f, -0.009965f, 0.009009f, 0.003170f, -0.001230f, -0.007418f, 0.002213f, -0.001179f, -0.007618f, -0.006551f, 0.000148f, -0.002941f, -0.003374f, -0.010784f, 0.000580f, 0.002144f, 0.005079f, -0.003226f, 0.004729f, 0.001279f, -0.001804f, -0.001622f, -0.006217f, 0.005304f, 0.001192f, 0.000658f, -0.010385f, 0.005346f, -0.000844f, 0.000602f, -0.005333f, 0.000024f, -0.009538f, 0.001022f, 0.002123f, 0.001148f, -0.000767f, 0.000797f, -0.000128f, -0.000078f, -0.001615f, 0.000375f, -0.000444f, 0.001963f, 0.001263f, 0.000726f, 0.002005f, -0.000123f, 0.000717f, 0.001808f, 0.001227f, -0.001514f, -0.000506f, 0.002958f, -0.001057f, 0.000459f, -0.001028f, 0.001004f, -0.003533f, -0.001052f, -0.001053f, 0.001303f, -0.000607f, -0.022894f, -0.021626f, 0.008366f, 0.014360f, 0.008652f, -0.019476f, 0.013867f, -0.004689f, -0.001799f, 0.001259f, -0.009057f, -0.006828f, 0.016368f, -0.000197f, -0.000047f, 0.001278f, -0.000408f, 0.005384f, -0.008169f, 0.004985f, -0.004334f, 0.004473f, 0.007487f, -0.004936f, -0.001363f, 0.004384f, -0.001264f, 0.007861f, -0.002450f, 0.003439f, 0.000667f, -0.000756f, 0.000644f, - -0.006626f, -0.009283f, 0.008798f, 0.001134f, -0.001643f, 0.000066f, -0.008648f, -0.010829f, -0.000256f, 0.000199f, 0.005681f, -0.010066f, -0.008527f, -0.001837f, -0.017824f, 0.006932f, -0.001360f, 0.003640f, -0.001324f, -0.004308f, 0.002784f, 0.022894f, 0.012761f, 0.006643f, -0.006811f, 0.009022f, -0.000051f, -0.011761f, 0.000087f, -0.012274f, 0.010485f, 0.001439f, 0.001287f, -0.006991f, 0.000121f, 0.007141f, 0.002669f, 0.001432f, 0.000950f, 0.000804f, 0.007723f, 0.005353f, 0.001041f, 0.005217f, 0.003153f, 0.004169f, 0.011280f, 0.004670f, 0.005579f, -0.005191f, 0.004275f, 0.003158f, -0.001286f, 0.008861f, 0.002742f, -0.000009f, -0.000738f, 0.002659f, 0.004762f, 0.000595f, -0.000001f, -0.001726f, 0.001189f, 0.003905f, 0.002201f, -0.000861f, 0.000440f, -0.003164f, 0.000973f, 0.000830f, -0.001365f, 0.000339f, -0.000140f, -0.000031f, 0.002231f, -0.000388f, 0.002327f, 0.003151f, 0.001183f, -0.001795f, -0.003463f, 0.000617f, -0.002161f, 0.001738f, 0.001592f, -0.002194f, 0.000978f, -0.005115f, -0.032826f, -0.002518f, -0.007883f, -0.001168f, -0.005472f, -0.018651f, -0.000777f, -0.005031f, - -0.007665f, -0.017487f, -0.002139f, 0.012381f, -0.008652f, 0.008137f, -0.001431f, 0.011480f, -0.003884f, 0.009323f, -0.003067f, -0.009276f, -0.002471f, 0.000972f, -0.004048f, -0.008343f, -0.006675f, -0.008202f, 0.000275f, -0.007487f, 0.002730f, 0.000858f, 0.000755f, 0.003507f, -0.005606f, -0.007543f, 0.010856f, -0.001014f, 0.003224f, 0.000088f, -0.008512f, -0.005428f, -0.006008f, 0.000267f, -0.004313f, 0.007539f, 0.007692f, 0.001244f, -0.010431f, -0.003445f, 0.019194f, 0.004750f, -0.008118f, -0.006484f, -0.004111f, -0.007141f, -0.003761f, 0.014969f, 0.009123f, -0.010912f, 0.006658f, 0.008819f, 0.013054f, -0.003395f, 0.005303f, -0.000828f, 0.000110f, -0.005312f, -0.010879f, -0.001993f, 0.008014f, 0.000800f, 0.015528f, 0.010999f, 0.000728f, 0.003583f, 0.013093f, -0.010461f, -0.004794f, -0.003103f, -0.006441f, 0.004596f, 0.002018f, 0.002096f, -0.005649f, 0.003805f, -0.004109f, 0.004220f, -0.008028f, -0.000396f, -0.000757f, -0.003165f, -0.000213f, -0.000708f, 0.003917f, 0.001057f, 0.000863f, -0.003454f, -0.002345f, -0.001126f, -0.003259f, -0.000155f, -0.004692f, -0.002734f, 0.000164f, -0.000379f, - 0.002882f, -0.002000f, 0.000767f, -0.000975f, 0.001552f, 0.001131f, 0.003992f, -0.003339f, 0.042048f, 0.028307f, -0.008748f, -0.001534f, 0.000063f, -0.001093f, -0.004855f, 0.005934f, 0.014372f, 0.012222f, 0.006280f, -0.022027f, -0.009851f, 0.002898f, 0.001248f, 0.009444f, -0.016658f, 0.003421f, 0.022508f, 0.015233f, -0.002619f, 0.005469f, -0.002010f, -0.007546f, -0.010421f, 0.000646f, -0.008882f, -0.005100f, 0.002567f, 0.007067f, -0.006516f, -0.012018f, -0.005769f, 0.002149f, 0.011078f, 0.015573f, -0.002973f, -0.016320f, -0.003490f, -0.005788f, -0.016469f, -0.000916f, -0.000516f, -0.007819f, 0.002703f, 0.004508f, 0.009597f, -0.013719f, 0.005621f, 0.007194f, 0.001537f, -0.013263f, -0.009926f, 0.004626f, 0.000571f, 0.003545f, -0.001467f, -0.001223f, -0.000474f, -0.007312f, 0.003635f, 0.003947f, -0.005175f, 0.009347f, 0.010946f, 0.015067f, 0.003588f, 0.001210f, 0.014105f, 0.023096f, 0.003668f, 0.003239f, 0.003916f, 0.013621f, 0.001528f, 0.008099f, 0.022710f, 0.006835f, 0.004181f, 0.000724f, -0.004294f, -0.019316f, 0.002594f, -0.000422f, -0.003156f, -0.003618f, 0.002386f, -0.002595f, - 0.004797f, 0.002233f, -0.002570f, -0.001315f, -0.000658f, 0.004017f, 0.002492f, -0.000980f, -0.000756f, 0.002768f, 0.005771f, 0.000147f, -0.001446f, 0.002121f, 0.000222f, -0.002590f, -0.005366f, 0.004003f, -0.005052f, 0.003191f, 0.002138f, 0.003859f, -0.000250f, -0.000515f, 0.000081f, 0.001335f, -0.007047f, 0.000315f, 0.001031f, -0.000556f, 0.000819f, 0.022267f, 0.000377f, 0.004731f, 0.005276f, 0.010799f, -0.004277f, 0.006919f, -0.005868f, -0.003557f, -0.018361f, 0.007400f, 0.012363f, -0.011176f, 0.009358f, -0.004556f, -0.016099f, 0.016775f, 0.009785f, -0.002849f, 0.009896f, 0.019626f, 0.013581f, -0.009944f, -0.005703f, 0.009953f, 0.003029f, -0.002102f, 0.007494f, 0.007069f, 0.010056f, 0.000762f, -0.004513f, -0.008578f, -0.015524f, -0.000386f, -0.012898f, 0.001700f, -0.004250f, 0.007286f, -0.010270f, -0.023333f, 0.005089f, -0.005696f, 0.010757f, 0.002852f, 0.000782f, -0.006369f, -0.013885f, -0.011471f, -0.001160f, -0.001063f, -0.010485f, 0.014798f, 0.018923f, 0.019834f, 0.007907f, -0.013989f, -0.001302f, 0.018800f, 0.001739f, -0.003095f, 0.008638f, -0.002318f, -0.004763f, -0.017602f, - 0.009711f, 0.005263f, 0.025639f, 0.012003f, -0.017511f, 0.005988f, 0.006508f, -0.001722f, -0.000375f, 0.006364f, -0.004301f, 0.001557f, -0.007534f, -0.018258f, 0.016566f, 0.003168f, 0.009855f, 0.004928f, -0.008716f, 0.014196f, -0.003171f, 0.003482f, 0.000713f, -0.002982f, 0.000492f, 0.000560f, 0.001075f, 0.007490f, 0.002395f, 0.001535f, 0.000593f, -0.002385f, -0.003000f, -0.003715f, -0.002312f, 0.002668f, -0.001256f, -0.000062f, -0.001504f, 0.002456f, -0.002189f, -0.000995f, 0.000190f, -0.000151f, 0.000957f, -0.003924f, 0.004683f, -0.001853f, 0.004119f, 0.001500f, -0.002194f, -0.002545f, 0.005828f, -0.005219f, 0.004676f, -0.001168f, -0.006779f, -0.011431f, -0.003029f, -0.002958f, -0.019611f, 0.000931f, 0.002449f, 0.009781f, -0.003682f, -0.008525f, 0.003558f, 0.001014f, 0.004679f, 0.000093f, 0.010702f, 0.004224f, 0.007397f, 0.001193f, -0.000804f, 0.006278f, 0.003730f, -0.019419f, -0.005966f, -0.027733f, 0.001264f, -0.005231f, 0.003204f, 0.004828f, 0.000375f, 0.013144f, 0.003367f, 0.018797f, 0.002319f, -0.022523f, 0.000454f, -0.009114f, -0.003720f, -0.001152f, -0.003377f, -0.001242f, - -0.017805f, 0.003782f, -0.008582f, 0.021341f, -0.022269f, 0.012252f, -0.004857f, -0.019106f, -0.003581f, -0.013467f, -0.002905f, -0.004174f, -0.020254f, 0.005698f, 0.006161f, -0.003814f, -0.003384f, -0.001403f, 0.007117f, -0.016180f, 0.000366f, 0.014946f, 0.002738f, 0.020836f, 0.034174f, 0.014016f, -0.031047f, -0.041493f, 0.020010f, 0.008858f, 0.030836f, -0.006534f, 0.014764f, 0.003032f, 0.014659f, 0.020478f, 0.026482f, -0.014258f, 0.007586f, 0.019611f, -0.016253f, 0.002862f, -0.002158f, -0.002186f, 0.001404f, 0.013951f, -0.002237f, 0.004660f, -0.009229f, 0.003144f, -0.007141f, -0.007602f, -0.003381f, -0.006382f, 0.000921f, -0.003837f, -0.010543f, -0.000567f, 0.006813f, 0.004124f, -0.002057f, -0.002122f, -0.001672f, -0.000042f, 0.003098f, 0.003189f, -0.002826f, -0.004273f, -0.001936f, 0.005792f, -0.001607f, 0.005600f, 0.000777f, 0.000638f, -0.001625f, 0.001187f, 0.001567f, 0.000264f, 0.001448f, 0.000051f, -0.005103f, -0.005046f, -0.003296f, 0.001300f, 0.004809f, -0.007275f, -0.004857f, -0.002472f, 0.002724f, -0.003565f, -0.002850f, -0.038137f, 0.028544f, 0.004936f, -0.004746f, -0.000824f, - -0.016904f, -0.014331f, 0.014995f, -0.004247f, -0.004588f, 0.015021f, -0.011169f, -0.012546f, 0.000888f, 0.014924f, 0.006678f, -0.005212f, 0.000643f, -0.009016f, -0.000991f, 0.000891f, 0.008337f, 0.000048f, -0.019187f, -0.019559f, 0.004486f, -0.002902f, 0.004788f, -0.002256f, 0.007875f, 0.014615f, 0.028015f, -0.000782f, 0.017419f, -0.004608f, 0.004997f, 0.011567f, -0.011501f, 0.022402f, -0.003182f, -0.014520f, -0.019910f, -0.004198f, -0.016515f, -0.021300f, -0.005731f, 0.009248f, -0.006419f, -0.016646f, 0.008152f, 0.011176f, 0.018127f, 0.022969f, -0.019053f, 0.006851f, -0.005307f, -0.017965f, 0.006578f, -0.020038f, -0.003615f, -0.032453f, 0.012773f, -0.009997f, 0.004722f, -0.006218f, 0.005021f, -0.034881f, -0.034348f, -0.021292f, -0.008096f, 0.018572f, -0.018510f, 0.035671f, -0.012801f, 0.003115f, -0.003422f, 0.006254f, -0.003361f, -0.026068f, 0.003637f, 0.002489f, 0.006908f, 0.005435f, 0.002917f, 0.009399f, -0.005775f, -0.009294f, -0.000064f, -0.000123f, -0.008651f, 0.003351f, -0.011112f, 0.005686f, 0.003563f, 0.004500f, -0.001754f, -0.000536f, -0.003507f, -0.009054f, -0.006334f, -0.004054f, - -0.004004f, 0.005073f, -0.003985f, -0.010852f, 0.003363f, 0.003798f, -0.002092f, 0.006364f, -0.000797f, -0.002665f, -0.000263f, 0.001028f, -0.003226f, -0.003554f, 0.003459f, 0.004416f, 0.003525f, 0.001065f, -0.007742f, -0.005996f, -0.001900f, -0.006590f, 0.001907f, -0.000113f, -0.000376f, -0.009266f, -0.004653f, -0.001864f, 0.001918f, -0.000081f, -0.007203f, -0.001500f, -0.000180f, -0.005679f, 0.032473f, 0.001362f, 0.012570f, 0.007919f, 0.003870f, 0.018134f, 0.003072f, -0.026596f, 0.013072f, 0.003242f, 0.012503f, -0.001688f, -0.018826f, 0.027146f, 0.015446f, 0.010853f, -0.002124f, -0.008891f, 0.004048f, -0.002522f, -0.014842f, 0.009424f, 0.007414f, -0.009033f, 0.011592f, 0.017089f, 0.000944f, 0.006119f, 0.017988f, -0.019575f, 0.005044f, -0.006930f, 0.008324f, -0.036375f, 0.011416f, 0.016756f, -0.005570f, 0.004090f, 0.017751f, 0.008743f, 0.000725f, 0.005210f, -0.017514f, 0.004117f, -0.010130f, 0.000300f, 0.005640f, 0.002339f, -0.007768f, 0.033855f, -0.005755f, -0.007019f, -0.007617f, -0.030480f, -0.011763f, -0.018871f, -0.020890f, -0.004603f, 0.029929f, 0.031918f, -0.002813f, 0.009513f, - 0.013345f, -0.027586f, -0.008393f, 0.021505f, 0.018531f, -0.011259f, -0.007247f, -0.027176f, -0.008331f, -0.010593f, -0.012526f, -0.015547f, 0.004341f, -0.027714f, 0.004806f, 0.025052f, 0.036024f, 0.010494f, -0.010189f, -0.001230f, 0.019252f, -0.007122f, -0.012575f, 0.000759f, -0.001346f, -0.006159f, -0.008345f, 0.000785f, -0.000588f, 0.003740f, 0.005954f, 0.002793f, -0.002787f, 0.001162f, 0.003311f, 0.001872f, -0.000212f, -0.005702f, -0.011130f, 0.002772f, -0.000424f, -0.005145f, 0.008943f, 0.002232f, 0.005138f, -0.005339f, 0.007634f, -0.005685f, -0.003716f, -0.006338f, 0.006105f, 0.000684f, 0.004577f, 0.008119f, -0.000477f, -0.004906f, -0.002124f, 0.003838f, 0.002196f, -0.000846f, 0.000487f, 0.000720f, 0.001494f, -0.000966f, -0.001478f, 0.003909f, 0.006121f, 0.015138f, 0.007368f, -0.002852f, -0.010152f, 0.006355f, 0.001606f, -0.013347f, -0.019928f, -0.021305f, -0.008600f, -0.020835f, -0.008754f, -0.008433f, 0.000257f, -0.019831f, 0.004367f, 0.008385f, 0.000846f, -0.022652f, 0.006971f, -0.028111f, 0.008610f, 0.015715f, 0.000363f, 0.024414f, 0.000654f, -0.007255f, -0.004544f, 0.016463f, - -0.006013f, 0.022654f, 0.007973f, -0.007841f, -0.007857f, 0.003985f, -0.011644f, -0.006246f, 0.000761f, 0.021413f, -0.000811f, 0.011310f, 0.006348f, 0.001927f, 0.014940f, -0.006761f, -0.013878f, 0.006088f, -0.009969f, -0.004607f, -0.027028f, 0.015137f, -0.009566f, -0.007994f, -0.005567f, -0.029724f, 0.035399f, 0.009169f, -0.004350f, 0.015420f, 0.004938f, 0.007479f, -0.015850f, -0.023692f, -0.027026f, -0.013043f, 0.001266f, -0.027235f, 0.009996f, 0.019628f, -0.030625f, -0.011199f, 0.011029f, -0.014107f, 0.007202f, 0.033790f, 0.000921f, -0.005573f, -0.009173f, 0.007557f, -0.018592f, 0.011950f, 0.006323f, -0.016725f, 0.005263f, 0.011698f, -0.006903f, -0.019797f, -0.017028f, -0.008932f, -0.000836f, 0.005256f, 0.004381f, 0.003546f, -0.003647f, -0.005068f, -0.002672f, 0.004193f, 0.000001f, -0.002942f, -0.011366f, -0.013430f, -0.003878f, 0.000736f, -0.009734f, -0.011546f, -0.008117f, -0.004968f, -0.004613f, -0.010167f, -0.008878f, -0.004836f, -0.006490f, -0.012940f, 0.001914f, 0.011718f, -0.001518f, -0.001357f, -0.005110f, -0.003859f, 0.003651f, -0.004739f, 0.000571f, -0.010292f, 0.000023f, -0.003181f, - -0.005749f, -0.000302f, -0.005424f, 0.002837f, 0.004302f, -0.004516f, 0.006687f, -0.005253f, -0.002329f, -0.005429f, -0.000794f, 0.000477f, 0.009634f, 0.021138f, 0.054241f, 0.056079f, 0.017555f, 0.034644f, -0.023564f, -0.024682f, -0.005191f, -0.003990f, 0.002502f, 0.007564f, 0.018494f, 0.032044f, 0.011099f, 0.029632f, 0.003780f, 0.008703f, 0.004923f, -0.008671f, 0.014151f, -0.000728f, 0.005907f, 0.001957f, -0.014854f, -0.002258f, -0.007770f, -0.016931f, -0.009896f, -0.000091f, 0.002079f, -0.022332f, -0.008634f, 0.027347f, 0.020373f, 0.014051f, 0.023869f, -0.014878f, 0.000566f, -0.040605f, 0.002281f, 0.034228f, -0.006342f, -0.007217f, 0.004556f, -0.004041f, 0.027453f, -0.002477f, -0.004117f, 0.020534f, -0.024497f, -0.040653f, -0.015868f, 0.003287f, -0.021302f, 0.015723f, 0.022829f, -0.032074f, -0.011648f, -0.000041f, -0.000216f, -0.045885f, -0.028655f, 0.014313f, 0.006675f, -0.003703f, 0.015042f, -0.020182f, -0.011841f, -0.028435f, 0.007058f, 0.008768f, 0.002698f, 0.001680f, -0.018347f, -0.031307f, 0.026032f, -0.042470f, 0.012683f, -0.015721f, 0.040652f, 0.003946f, 0.017149f, -0.011732f, - -0.015577f, 0.011467f, 0.005784f, 0.017846f, -0.016867f, -0.003325f, 0.012581f, -0.001018f, -0.009199f, -0.009095f, -0.009039f, 0.000702f, 0.009742f, 0.010170f, -0.011272f, -0.005014f, -0.001566f, -0.015613f, -0.005166f, 0.002638f, -0.001375f, 0.001188f, -0.007771f, -0.013711f, -0.001613f, 0.000196f, 0.010933f, 0.003147f, -0.006260f, 0.008063f, 0.001715f, 0.004041f, -0.014630f, 0.002929f, -0.008613f, 0.006967f, 0.001628f, 0.007388f, 0.012319f, 0.003604f, -0.008120f, -0.016933f, 0.005584f, 0.005547f, -0.052391f, -0.037847f, 0.026246f, -0.005544f, 0.047643f, -0.011684f, 0.039241f, -0.031584f, 0.001046f, 0.013979f, -0.003021f, 0.001603f, 0.004695f, -0.002540f, -0.023535f, 0.008204f, 0.008990f, 0.010256f, 0.011876f, -0.007359f, 0.019524f, -0.017743f, -0.012936f, -0.010183f, 0.027423f, -0.015176f, -0.004984f, 0.002355f, -0.000471f, -0.014283f, 0.012285f, -0.015927f, -0.018742f, -0.035619f, 0.003342f, 0.006410f, -0.024021f, -0.011358f, 0.011723f, -0.004987f, 0.006313f, 0.001823f, 0.028156f, 0.001845f, 0.021218f, 0.009307f, 0.001015f, 0.016808f, 0.003951f, 0.005748f, -0.031710f, 0.032655f, - 0.011716f, 0.025559f, -0.015493f, 0.006699f, -0.016966f, 0.026516f, 0.020322f, 0.032374f, 0.005296f, -0.008634f, -0.023505f, -0.001594f, 0.004282f, -0.020232f, 0.028679f, 0.004478f, 0.004562f, 0.030625f, 0.007004f, -0.009348f, -0.012157f, -0.001134f, 0.018408f, 0.021933f, -0.007049f, 0.027384f, -0.032800f, -0.034638f, -0.014967f, 0.007881f, -0.010385f, 0.014904f, -0.003616f, 0.007934f, 0.026502f, -0.001320f, 0.013226f, -0.011126f, -0.009895f, 0.011377f, -0.000870f, 0.018337f, -0.005567f, -0.000276f, -0.005527f, -0.011581f, 0.002468f, -0.006884f, -0.002517f, 0.007452f, 0.002749f, -0.010552f, -0.009353f, 0.005379f, 0.014162f, 0.014348f, -0.001302f, 0.011717f, 0.013084f, -0.018295f, 0.008621f, 0.016934f, 0.013643f, 0.007401f, -0.013345f, -0.016586f, -0.016905f, -0.017429f, -0.016911f, 0.001220f, -0.005776f, -0.002616f, 0.002133f, -0.012822f, 0.009145f, 0.007876f, -0.006274f, 0.009407f, 0.003644f, 0.004311f, -0.011766f, 0.009784f, 0.024189f, -0.057059f, -0.002607f, 0.029708f, -0.019013f, -0.006368f, 0.021882f, -0.023788f, -0.048278f, 0.009555f, 0.008163f, 0.007432f, -0.006336f, -0.028589f, - 0.007155f, 0.008051f, 0.002098f, 0.015779f, -0.051196f, 0.023394f, -0.011947f, 0.012134f, -0.029214f, 0.023623f, -0.036954f, -0.023641f, 0.014226f, -0.009760f, -0.004388f, -0.028137f, 0.021921f, 0.028876f, -0.000187f, 0.003112f, -0.013453f, 0.043357f, 0.010663f, 0.011725f, -0.008025f, -0.037763f, -0.008222f, 0.020639f, -0.003922f, 0.030953f, 0.000121f, -0.011427f, 0.007360f, -0.002334f, 0.019357f, -0.037393f, -0.004653f, -0.028723f, 0.030716f, -0.011675f, 0.010186f, -0.001047f, -0.001272f, -0.033929f, -0.012026f, 0.029448f, 0.009289f, 0.002453f, -0.009117f, 0.000671f, 0.003596f, -0.043454f, -0.044970f, 0.047460f, -0.021364f, -0.051998f, 0.020865f, 0.024238f, -0.041892f, -0.054772f, -0.038273f, -0.036795f, 0.006275f, 0.014250f, -0.004789f, -0.035393f, -0.001369f, -0.019078f, -0.009086f, -0.025751f, -0.001663f, 0.002269f, 0.002315f, -0.005385f, 0.023863f, -0.013405f, 0.009227f, -0.011436f, -0.000814f, 0.006284f, -0.006410f, -0.001277f, -0.014535f, 0.018490f, -0.004677f, 0.006258f, -0.010740f, -0.015606f, -0.003450f, 0.007014f, 0.008163f, 0.002274f, -0.015152f, 0.008417f, -0.002431f, -0.012331f, - 0.011358f, -0.018472f, -0.003912f, -0.011591f, 0.017811f, -0.008395f, -0.020421f, 0.008320f, -0.008292f, -0.009110f, -0.027037f, -0.001857f, 0.005649f, 0.021934f, 0.008818f, -0.013691f, -0.007127f, 0.001734f, -0.003946f, -0.007535f, 0.003762f, -0.001537f, -0.005487f, -0.005540f, -0.002137f, 0.021949f, -0.030893f, -0.017846f, -0.032319f, -0.003427f, 0.007077f, -0.044332f, 0.007400f, -0.021886f, 0.061455f, 0.002813f, -0.054622f, -0.013038f, 0.027001f, 0.015901f, 0.013340f, 0.027296f, 0.028169f, -0.040070f, -0.009797f, -0.015742f, 0.037525f, -0.013469f, 0.043755f, -0.000445f, -0.024780f, -0.020370f, -0.038527f, -0.044904f, 0.002939f, 0.004806f, -0.006995f, -0.023316f, -0.009494f, 0.002633f, 0.007326f, 0.014923f, -0.021517f, 0.010707f, -0.025355f, -0.030468f, 0.006132f, -0.006769f, -0.007781f, -0.031749f, -0.029555f, -0.014670f, -0.008969f, 0.042350f, 0.004174f, 0.014024f, 0.024200f, -0.001045f, 0.053871f, 0.021446f, -0.017672f, 0.002477f, 0.027829f, -0.011080f, 0.035175f, -0.009473f, 0.004578f, 0.002148f, -0.047296f, -0.048857f, 0.007357f, 0.033714f, 0.000896f, -0.010845f, -0.052945f, 0.003169f, - 0.018305f, 0.011158f, -0.018071f, -0.015080f, -0.010410f, 0.006256f, -0.022794f, 0.056174f, 0.031957f, 0.034360f, 0.007009f, -0.040047f, 0.014624f, 0.017947f, 0.056308f, 0.012735f, 0.005877f, 0.022343f, 0.009769f, -0.009377f, 0.000645f, 0.017077f, -0.001474f, 0.002150f, 0.005721f, -0.014457f, -0.009871f, 0.016612f, 0.000601f, -0.013770f, 0.017811f, -0.011159f, -0.003948f, -0.008590f, -0.008039f, 0.015546f, -0.010037f, -0.004724f, 0.008449f, -0.017118f, 0.007237f, -0.001714f, -0.009574f, 0.020567f, -0.007370f, -0.000162f, -0.026347f, 0.016000f, -0.007976f, -0.007049f, -0.016955f, -0.024379f, 0.003937f, -0.009917f, 0.017153f, -0.000696f, 0.010217f, 0.006380f, 0.000480f, -0.010225f, 0.000373f, 0.015287f, -0.000078f, -0.026541f, -0.023940f, 0.050721f, -0.015626f, -0.018955f, -0.002552f, -0.014133f, -0.034495f, 0.000631f, 0.024091f, -0.059527f, -0.000888f, 0.015318f, 0.019099f, -0.020360f, 0.013601f, -0.034114f, 0.002747f, -0.008869f, 0.010775f, -0.030556f, 0.019099f, -0.051966f, 0.008635f, 0.001348f, 0.029524f, 0.027576f, 0.013892f, -0.019449f, 0.021734f, -0.006386f, 0.024264f, -0.026336f, - 0.004288f, 0.030707f, 0.024523f, -0.014500f, 0.005150f, 0.000722f, -0.006680f, 0.014877f, -0.005663f, -0.017957f, -0.019822f, 0.014191f, -0.035922f, 0.023787f, 0.005709f, -0.038709f, 0.036583f, 0.034848f, 0.032963f, 0.011814f, -0.016909f, 0.042189f, 0.005219f, 0.018117f, -0.025777f, -0.022514f, -0.024703f, 0.007699f, 0.009778f, 0.015114f, -0.034710f, 0.003374f, 0.025781f, -0.066924f, 0.002653f, -0.021981f, 0.042082f, 0.027046f, 0.021202f, -0.005922f, 0.027942f, -0.026241f, -0.001244f, -0.018269f, -0.040106f, -0.001683f, -0.036922f, -0.030993f, 0.018278f, 0.049458f, -0.046341f, -0.011014f, -0.008361f, 0.049656f, -0.012143f, 0.021732f, -0.014103f, -0.008691f, -0.001774f, 0.017584f, -0.010253f, -0.004306f, 0.001561f, 0.011992f, 0.008940f, 0.006321f, -0.006488f, 0.001847f, 0.005311f, 0.024622f, -0.019330f, 0.020554f, -0.004338f, 0.015048f, 0.000157f, 0.004028f, 0.005358f, 0.009490f, -0.012743f, -0.002874f, -0.002366f, -0.015953f, -0.014168f, -0.014149f, 0.009976f, 0.007962f, -0.002788f, -0.006325f, -0.008112f, -0.011145f, -0.006807f, 0.000983f, -0.004848f, -0.000068f, 0.014940f, -0.000295f, - -0.026970f, 0.012777f, -0.015727f, -0.002360f, 0.011559f, -0.004421f, 0.044845f, 0.008974f, 0.023018f, -0.064336f, 0.030163f, -0.036234f, 0.048868f, -0.005365f, 0.019388f, 0.036037f, -0.038890f, 0.069877f, 0.051090f, 0.037577f, -0.016729f, 0.009781f, 0.048835f, -0.012584f, -0.014961f, -0.011723f, -0.001995f, -0.036923f, 0.010200f, -0.019853f, -0.043698f, 0.042391f, 0.014704f, 0.011338f, 0.005896f, 0.009501f, 0.017109f, 0.044655f, 0.009995f, -0.028530f, -0.001884f, -0.029587f, 0.006290f, 0.003809f, -0.050791f, -0.002586f, 0.028448f, 0.001637f, -0.003160f, -0.016055f, 0.055049f, 0.010847f, 0.023738f, 0.011620f, -0.028934f, -0.021425f, -0.015581f, 0.033506f, 0.020520f, -0.007171f, 0.021078f, -0.003407f, -0.036634f, 0.035661f, 0.004899f, 0.040935f, 0.005084f, 0.003874f, 0.001334f, -0.055213f, 0.007991f, 0.001081f, 0.006586f, 0.033722f, -0.012964f, 0.053284f, -0.081023f, -0.014855f, 0.061333f, -0.025001f, 0.020639f, -0.028138f, -0.042885f, -0.035338f, 0.025712f, -0.024272f, 0.024010f, -0.037940f, -0.007517f, 0.005956f, -0.008725f, -0.015140f, -0.004225f, -0.004791f, 0.016920f, 0.037407f, - 0.004521f, 0.022049f, -0.006797f, -0.004134f, 0.028086f, -0.004375f, -0.007334f, 0.007262f, -0.013239f, 0.011886f, 0.024531f, -0.016394f, -0.001915f, -0.006612f, 0.004936f, 0.004144f, 0.011931f, 0.042307f, -0.007201f, 0.014671f, 0.001320f, 0.009895f, 0.016062f, 0.007426f, 0.002955f, 0.023393f, 0.026246f, -0.007528f, -0.003048f, 0.010255f, 0.006140f, 0.008828f, -0.032484f, -0.003096f, 0.031968f, -0.007392f, 0.007095f, 0.011964f, -0.001175f, 0.032552f, 0.011271f, -0.065878f, -0.079152f, -0.006838f, -0.037186f, 0.005151f, 0.022328f, -0.031481f, 0.009062f, -0.048159f, 0.020839f, -0.026472f, -0.132197f, -0.008381f, 0.080371f, -0.034604f, -0.015104f, 0.081042f, -0.019169f, 0.004471f, 0.096781f, -0.023099f, 0.021260f, 0.009166f, -0.014343f, 0.078176f, -0.063057f, -0.008028f, -0.001903f, -0.010977f, -0.012841f, -0.012791f, -0.001752f, 0.025507f, -0.014502f, -0.042534f, 0.000292f, 0.000918f, 0.012400f, 0.015595f, 0.002628f, 0.035121f, -0.001534f, 0.016187f, -0.009764f, -0.042227f, 0.029274f, -0.005150f, -0.043716f, 0.001705f, 0.024910f, 0.076940f, 0.038712f, 0.064680f, 0.001165f, 0.015939f, - 0.030667f, 0.007306f, -0.003970f, 0.060449f, -0.003384f, -0.023546f, 0.070558f, 0.012360f, 0.012305f, 0.000502f, -0.010185f, 0.040414f, -0.000218f, -0.023533f, -0.026752f, -0.005520f, -0.005463f, 0.061181f, -0.041733f, 0.005326f, 0.007667f, -0.010926f, 0.071669f, 0.000552f, -0.046203f, 0.007664f, 0.023270f, -0.033841f, -0.001842f, 0.034350f, 0.028179f, -0.017447f, 0.002506f, -0.019716f, 0.016360f, -0.005382f, 0.002050f, -0.019421f, 0.017741f, 0.000126f, -0.002193f, -0.028198f, 0.011397f, 0.009475f, -0.018536f, 0.001314f, 0.006421f, -0.009598f, -0.006470f, 0.021557f, 0.003162f, 0.011951f, -0.008201f, 0.006207f, 0.037368f, -0.034297f, -0.015791f, -0.011368f, 0.040422f, 0.014975f, 0.021289f, -0.024747f, -0.022673f, -0.009321f, -0.002933f, -0.029995f, -0.033691f, 0.039917f, 0.015982f, -0.023755f, -0.022174f, -0.013639f, -0.000467f, -0.023581f, -0.020705f, 0.000088f, 0.005970f, 0.015000f, -0.004159f, -0.007693f, 0.012219f, -0.003205f, 0.003833f, 0.044996f, 0.036115f, -0.073924f, -0.036282f, 0.056983f, -0.010561f, -0.055379f, -0.000595f, 0.001235f, 0.020008f, 0.060257f, 0.053430f, -0.032869f, - 0.009825f, -0.007398f, 0.000395f, -0.000481f, -0.034728f, 0.052280f, -0.015574f, -0.034153f, 0.012109f, -0.024498f, 0.029592f, 0.002667f, 0.042114f, -0.012929f, -0.040081f, -0.036100f, 0.031898f, -0.015317f, 0.041549f, -0.011105f, 0.026896f, -0.027297f, -0.021326f, -0.012947f, 0.002930f, -0.034278f, 0.008375f, 0.001885f, 0.000519f, 0.033642f, -0.000430f, 0.011287f, -0.023362f, 0.016715f, -0.036843f, 0.039478f, -0.035441f, 0.023498f, 0.011878f, 0.033202f, -0.055444f, 0.001973f, 0.004647f, -0.016669f, -0.040059f, -0.067753f, -0.011363f, -0.057800f, -0.022267f, -0.046236f, -0.021583f, -0.084571f, -0.026309f, 0.038509f, 0.048657f, 0.026579f, 0.028337f, -0.004476f, 0.030791f, -0.060217f, -0.013763f, 0.009466f, 0.038998f, 0.010859f, -0.082922f, -0.003161f, -0.036422f, -0.024165f, 0.097063f, 0.065318f, -0.045927f, -0.018596f, -0.032222f, 0.010941f, -0.085419f, 0.005387f, 0.017936f, -0.024304f, -0.025267f, 0.015695f, 0.005108f, 0.000973f, -0.016295f, -0.014260f, -0.013927f, -0.014094f, 0.026833f, 0.024652f, -0.001591f, -0.006688f, -0.026149f, -0.030028f, -0.006236f, -0.007382f, 0.010367f, 0.026294f, - -0.050760f, -0.003667f, 0.025725f, 0.000098f, 0.032872f, -0.011182f, -0.031010f, 0.017103f, 0.035545f, 0.018056f, -0.020912f, 0.002829f, 0.032950f, -0.041332f, -0.029296f, 0.055380f, 0.003368f, -0.001638f, -0.005254f, 0.009004f, 0.013083f, 0.017023f, -0.006538f, -0.013142f, -0.015429f, -0.097175f, 0.028109f, 0.015653f, -0.051737f, 0.020593f, 0.018685f, -0.036940f, -0.029015f, 0.044153f, 0.005045f, 0.023663f, -0.012189f, 0.029283f, -0.009630f, -0.004273f, 0.022408f, 0.011337f, 0.007068f, 0.000929f, -0.015836f, -0.026196f, -0.016569f, 0.041731f, -0.015042f, -0.035664f, 0.060670f, 0.038032f, 0.004399f, 0.028152f, 0.007836f, -0.031305f, -0.093761f, 0.038477f, -0.003559f, -0.050180f, 0.041892f, -0.004236f, -0.068472f, -0.056980f, -0.030192f, 0.044886f, 0.017473f, 0.046511f, 0.057875f, 0.017648f, -0.047594f, 0.015137f, 0.016499f, -0.059816f, -0.010149f, 0.034043f, -0.019200f, -0.065205f, -0.050087f, -0.079535f, -0.051302f, -0.011323f, 0.049930f, 0.073158f, 0.034690f, -0.004625f, 0.049773f, -0.012339f, -0.123635f, -0.097467f, 0.020987f, -0.049007f, -0.058846f, 0.083886f, 0.010599f, -0.112368f, - -0.087473f, 0.029932f, 0.004749f, 0.019482f, 0.041412f, 0.101038f, 0.057375f, -0.008242f, 0.111813f, 0.036040f, -0.118225f, 0.001305f, -0.025554f, 0.061152f, 0.017842f, -0.038394f, 0.018479f, -0.028752f, -0.017676f, -0.024975f, 0.037847f, -0.006804f, 0.027553f, 0.023774f, 0.029875f, -0.006496f, -0.030856f, -0.009580f, 0.020485f, -0.012813f, 0.017153f, 0.011636f, 0.012239f, -0.026106f, 0.002732f, 0.010973f, 0.000110f, 0.047751f, -0.002046f, 0.021376f, 0.004237f, -0.007568f, 0.024941f, 0.006406f, -0.004204f, 0.028496f, -0.013911f, -0.004020f, 0.016844f, 0.007375f, -0.003103f, -0.011163f, -0.016421f, 0.002094f, -0.018799f, -0.013377f, 0.009428f, 0.013848f, -0.014521f, 0.092016f, 0.089768f, -0.028367f, 0.031422f, -0.036904f, 0.022680f, 0.001051f, 0.013228f, -0.043945f, 0.003736f, -0.037564f, -0.033110f, 0.000186f, -0.076831f, 0.001773f, -0.032555f, 0.008465f, 0.022915f, -0.000717f, 0.026504f, -0.038004f, 0.057674f, -0.028504f, -0.000794f, 0.039616f, -0.037184f, 0.014514f, 0.028887f, 0.035140f, 0.005286f, 0.012632f, 0.008928f, -0.055457f, -0.030623f, -0.009016f, 0.008358f, 0.008487f, - -0.008060f, 0.036656f, -0.011674f, -0.000559f, -0.006845f, -0.015948f, 0.013143f, 0.007262f, -0.043639f, 0.012846f, -0.035045f, 0.009594f, -0.084407f, -0.004143f, -0.001971f, -0.000236f, 0.034664f, -0.013983f, -0.030694f, -0.013830f, 0.031850f, -0.000163f, -0.081591f, 0.114277f, -0.009871f, -0.021935f, 0.025041f, -0.005061f, -0.016705f, -0.021509f, -0.022649f, -0.024589f, 0.078545f, -0.030411f, -0.045314f, 0.038784f, 0.003914f, -0.061987f, -0.014489f, 0.025775f, 0.020700f, -0.020508f, 0.042415f, -0.007565f, -0.011489f, 0.039016f, -0.028695f, -0.026581f, 0.049596f, -0.022022f, -0.007708f, -0.002823f, 0.021085f, 0.010004f, -0.000395f, -0.003614f, 0.001349f, 0.009221f, -0.010044f, -0.000920f, 0.009817f, 0.010130f, 0.012422f, -0.030524f, 0.007961f, 0.015149f, -0.029398f, 0.002320f, 0.006318f, -0.005428f, -0.011816f, 0.011735f, 0.003527f, -0.010867f, 0.001854f, -0.001211f, -0.004832f, -0.037411f, 0.021289f, -0.022228f, 0.006824f, 0.006083f, -0.033507f, -0.002100f, 0.001808f, -0.000433f, -0.000311f, -0.011608f, -0.001490f, 0.009300f, -0.001194f, -0.072794f, -0.107332f, -0.103293f, 0.228698f, 0.189721f, - 0.216137f, 0.488177f, 0.127881f, -0.122279f, 0.038773f, -0.391487f, -0.414923f, -0.102676f, -0.260663f, -0.201646f, 0.123701f, -0.064035f, 0.026031f, 0.311196f, 0.154727f, 0.230736f, 0.443201f, 0.295355f, 0.077561f, 0.064424f, -0.130096f, -0.402913f, -0.307605f, -0.235507f, -0.475845f, -0.192439f, 0.011942f, -0.083989f, -0.037398f, 0.241323f, 0.064472f, 0.032753f, 0.299051f, 0.037391f, 0.072009f, 0.424437f, 0.312366f, 0.197838f, 0.401536f, 0.200178f, -0.069643f, -0.005533f, -0.126131f, -0.623888f, -0.544145f, -0.439718f, -0.683479f, -0.520775f, -0.183909f, -0.246369f, 0.056557f, 0.475847f, 0.425255f, 0.588063f, 0.742482f, 0.552493f, 0.431295f, 0.419351f, 0.232534f, -0.077657f, -0.148306f, -0.339775f, -0.485230f, -0.476781f, -0.412816f, -0.473266f, -0.484095f, -0.389246f, -0.217127f, -0.157332f, 0.059939f, 0.372606f, 0.537073f, 0.766016f, 0.861689f, 0.514632f, 0.125797f, -0.072764f, -0.517464f, -0.492612f, -0.374916f, -0.291373f, -0.107666f, 0.055667f, 0.041671f, 0.053647f, 0.067175f, 0.031719f, 0.078919f, 0.110224f, 0.082237f, 0.132941f, 0.076132f, -0.032975f, -0.040205f, -0.115901f, - -0.212314f, -0.057755f, -0.065800f, -0.076240f, 0.067833f, 0.058143f, -0.071552f, -0.092667f, -0.172741f, -0.282883f, -0.118219f, 0.162518f, 0.276399f, 0.535163f, 0.645724f, 0.439170f, 0.273013f, 0.073629f, -0.240922f, -0.353040f, -0.399407f, -0.467304f, -0.438970f, -0.336790f, -0.272645f, -0.225616f, -0.136415f, -0.033819f, 0.118717f, 0.408996f, 0.570724f, 0.506647f, 0.364616f, 0.225404f, 0.049972f, -0.086908f, -0.133028f, -0.168969f, -0.120026f, -0.031353f, -0.004510f, -0.033823f, -0.056802f, -0.092139f, -0.148173f, -0.192950f, -0.186230f, -0.186952f, -0.108876f, 0.019306f, 0.070861f, 0.128866f, 0.169308f, 0.171242f, 0.133607f, 0.091204f, 0.052386f, 0.029479f, 0.042638f, 0.057988f, 0.059306f, 0.052454f, 0.031576f, -0.011994f, -0.069441f, -0.115822f, -0.141930f, -0.144999f, -0.116518f, -0.092066f, -0.074477f, -0.038431f, 0.010585f, 0.041442f, 0.053753f, 0.061745f, 0.065944f, 0.078480f, 0.086317f, 0.077374f, 0.044463f, 0.019444f, 0.005761f, -0.011367f, -0.016411f, -0.010064f, -0.015757f, -0.009020f, 0.003079f, -0.004980f, -0.022198f, -0.027010f, -0.044240f, -0.062779f, -0.059964f, -0.053628f, - -0.040944f, -0.006147f, 0.022612f, 0.037032f, 0.052589f, 0.060140f, 0.043320f, 0.033274f, 0.018603f, 0.005209f, 0.004834f, 0.017076f, 0.015908f, 0.014278f, 0.008056f, -0.011115f, -0.024635f, -0.038002f, -0.051613f, -0.052053f, -0.040976f, -0.022309f, -0.003272f, 0.017070f, 0.030412f, 0.036239f, 0.029766f, 0.019500f, 0.008779f, 0.003104f, 0.001243f, 0.000941f, -0.001242f, -0.003061f, -0.005562f, -0.006313f, -0.006105f, -0.004252f, -0.002774f, -0.000625f, 0.000069f, 0.000953f, 0.000055f}, - {0.016638f, -0.002184f, 0.001321f, 0.013096f, -0.001693f, -0.000605f, -0.003820f, 0.014286f, 0.000830f, 0.006948f, 0.004214f, 0.004207f, -0.005900f, 0.002966f, -0.009134f, -0.000990f, 0.007070f, 0.001438f, 0.004137f, 0.006667f, -0.011278f, -0.007869f, 0.002675f, -0.000558f, 0.008357f, 0.005095f, -0.000442f, -0.004641f, -0.002928f, -0.005742f, -0.000922f, -0.000765f, -0.000869f, 0.001592f, 0.002180f, -0.004997f, 0.008377f, -0.001925f, -0.001315f, 0.002866f, -0.010693f, -0.002465f, 0.004619f, 0.001636f, 0.010540f, -0.000040f, -0.000777f, 0.002060f, 0.000714f, 0.004391f, 0.007297f, 0.009285f, -0.000541f, -0.000958f, 0.000163f, -0.005341f, -0.006783f, 0.003743f, 0.006051f, -0.004250f, -0.004080f, -0.002755f, 0.007719f, 0.004548f, -0.001066f, 0.001204f, -0.009108f, -0.002623f, 0.004731f, 0.003925f, 0.006731f, -0.009789f, 0.002221f, 0.003703f, -0.002042f, 0.006905f, -0.000446f, 0.006019f, 0.002863f, 0.001936f, 0.007634f, 0.003790f, 0.001926f, 0.000062f, 0.000900f, -0.001821f, 0.000641f, 0.001061f, -0.000602f, -0.002713f, 0.001341f, 0.001320f, -0.002008f, -0.000281f, -0.001355f, 0.001418f, - 0.002196f, 0.000089f, -0.000280f, -0.000124f, -0.002036f, 0.000999f, -0.000719f, 0.001691f, 0.000799f, 0.000520f, 0.000363f, -0.000910f, 0.000552f, 0.000250f, 0.000869f, -0.001618f, -0.000770f, -0.000358f, 0.000222f, -0.002204f, 0.021696f, 0.005972f, -0.004969f, 0.011058f, -0.005376f, 0.011509f, -0.003828f, -0.005251f, 0.005855f, 0.010761f, -0.000331f, -0.005326f, 0.002874f, 0.002257f, -0.000442f, -0.015329f, 0.003591f, 0.004486f, 0.001230f, 0.009569f, 0.012887f, 0.006913f, 0.012690f, 0.008624f, 0.007732f, -0.002067f, 0.008587f, 0.004133f, -0.006511f, 0.002435f, 0.003967f, -0.008389f, -0.010648f, -0.001640f, 0.004197f, 0.000163f, -0.003843f, -0.005154f, -0.005015f, -0.002492f, 0.005745f, 0.011511f, 0.009754f, 0.003679f, 0.007492f, -0.012096f, 0.000763f, -0.003089f, 0.000118f, -0.013883f, 0.005147f, -0.001338f, -0.003273f, -0.000544f, -0.003768f, -0.006865f, -0.004822f, 0.004864f, 0.001165f, 0.003730f, -0.005060f, 0.009465f, 0.002434f, -0.010969f, 0.004530f, 0.001388f, 0.003048f, 0.006004f, 0.001823f, 0.011022f, -0.003517f, 0.001205f, -0.012876f, 0.002445f, 0.001241f, 0.000365f, - 0.000305f, -0.002428f, 0.009159f, -0.002805f, -0.004258f, 0.006945f, -0.007199f, -0.003517f, -0.002974f, -0.001343f, -0.003358f, 0.002318f, 0.000613f, 0.001208f, -0.000095f, -0.000322f, 0.000118f, -0.001319f, 0.000788f, 0.001201f, -0.000467f, -0.000568f, -0.000064f, -0.002387f, -0.003889f, 0.001428f, 0.000473f, -0.003073f, -0.000410f, -0.000345f, -0.000672f, -0.003722f, 0.000949f, -0.000024f, -0.000123f, 0.000248f, 0.000644f, 0.000396f, -0.001413f, -0.000061f, -0.002566f, -0.000299f, 0.001066f, -0.004381f, -0.004431f, -0.001420f, 0.004015f, -0.007418f, 0.002152f, -0.014661f, 0.002733f, 0.002782f, -0.001729f, 0.010496f, 0.000644f, -0.001155f, 0.000921f, 0.005565f, -0.009017f, 0.001297f, 0.002732f, 0.005757f, -0.012819f, -0.006468f, -0.004852f, 0.004706f, 0.001895f, -0.004003f, -0.012955f, 0.003149f, -0.012887f, -0.000774f, 0.005080f, -0.002368f, 0.003863f, -0.002208f, 0.008641f, 0.012867f, 0.006765f, -0.006637f, 0.001221f, 0.009755f, 0.005990f, -0.006008f, 0.005032f, 0.001523f, -0.010052f, 0.003540f, 0.013752f, 0.006477f, 0.004593f, 0.015384f, 0.001351f, -0.005817f, -0.011789f, -0.000498f, - -0.006630f, -0.007903f, -0.003780f, 0.008466f, -0.008051f, 0.002815f, -0.004817f, -0.004464f, 0.009820f, -0.001275f, 0.001604f, 0.007867f, 0.010669f, -0.004735f, -0.009851f, 0.012513f, 0.009561f, 0.006136f, 0.000552f, -0.007496f, 0.001170f, 0.009891f, -0.010045f, 0.003066f, -0.006556f, -0.000202f, 0.006084f, -0.005722f, -0.000352f, -0.011026f, -0.002943f, -0.000956f, 0.001647f, -0.000573f, -0.004208f, -0.000484f, 0.002081f, -0.003246f, -0.000875f, 0.001527f, 0.001233f, 0.000961f, 0.000879f, -0.000156f, -0.000837f, -0.004342f, 0.002310f, -0.000226f, 0.002381f, -0.001674f, -0.002900f, 0.001028f, 0.002256f, -0.001491f, 0.001989f, -0.000334f, -0.000166f, -0.000171f, -0.000484f, 0.002433f, -0.001445f, 0.000951f, -0.001459f, -0.029060f, -0.010640f, -0.004474f, 0.015899f, -0.006034f, -0.002393f, -0.009394f, -0.007953f, -0.001357f, -0.020964f, 0.011749f, 0.003878f, -0.000595f, -0.007748f, 0.011567f, -0.003261f, 0.005875f, -0.004690f, 0.003711f, 0.007370f, -0.009215f, 0.000968f, 0.010170f, 0.005743f, 0.004096f, 0.010871f, 0.009729f, -0.006110f, -0.007784f, -0.009717f, -0.000161f, -0.012773f, 0.003048f, - -0.016870f, -0.003228f, 0.012414f, 0.006532f, -0.004284f, -0.001313f, -0.012694f, 0.005763f, -0.005432f, 0.011184f, -0.006450f, -0.011479f, -0.002366f, -0.004731f, -0.009440f, 0.003654f, -0.002170f, -0.006004f, -0.006127f, -0.020334f, 0.002770f, -0.006099f, -0.015078f, -0.004010f, 0.009283f, 0.004766f, -0.007804f, 0.006438f, 0.008269f, 0.007996f, 0.002960f, -0.010396f, -0.001744f, -0.002309f, 0.007190f, -0.007307f, -0.002820f, 0.003792f, 0.003841f, -0.011379f, -0.013566f, -0.024339f, -0.004177f, -0.014136f, 0.004640f, -0.000547f, -0.003390f, 0.007157f, -0.001526f, -0.003258f, 0.003107f, 0.004881f, 0.004675f, 0.003648f, 0.008457f, -0.003617f, -0.002997f, -0.002289f, 0.001229f, 0.000426f, -0.001943f, 0.002335f, 0.003346f, -0.000748f, 0.000773f, -0.001485f, -0.001943f, -0.000360f, -0.001269f, 0.000350f, 0.000720f, 0.000099f, -0.002154f, 0.000330f, -0.001459f, -0.000553f, 0.001196f, 0.002730f, -0.001234f, 0.003270f, 0.003966f, 0.000627f, -0.001175f, -0.003463f, -0.000720f, 0.002328f, 0.001529f, -0.001507f, -0.025293f, -0.010116f, -0.004532f, -0.007489f, 0.008606f, 0.011254f, 0.010607f, -0.021114f, - -0.015768f, 0.006079f, 0.025731f, 0.015218f, -0.000010f, 0.003669f, 0.007332f, -0.009241f, 0.006106f, -0.008566f, 0.006194f, 0.009149f, 0.001414f, 0.007343f, 0.002292f, -0.000504f, 0.003810f, 0.002268f, -0.006894f, -0.008725f, 0.012076f, 0.004906f, -0.008810f, 0.008657f, -0.004803f, -0.000879f, 0.020758f, -0.009892f, 0.011755f, 0.023216f, 0.009475f, -0.001309f, 0.000901f, -0.008352f, 0.010856f, -0.011064f, -0.006051f, -0.018608f, 0.003518f, 0.014383f, -0.000352f, -0.013166f, -0.004690f, -0.018673f, -0.009483f, -0.003450f, -0.026578f, -0.014447f, -0.002618f, 0.002840f, -0.011631f, 0.005921f, -0.003074f, -0.009167f, 0.009964f, 0.029415f, 0.002745f, 0.015007f, 0.010176f, 0.008835f, -0.009292f, 0.003939f, -0.015841f, 0.001720f, 0.004572f, 0.003582f, -0.006145f, 0.000172f, -0.016083f, -0.005578f, -0.005634f, -0.001114f, 0.007838f, 0.008416f, -0.000361f, 0.003297f, 0.004576f, -0.002270f, -0.001743f, -0.001448f, 0.001523f, 0.000223f, 0.001144f, 0.000917f, 0.002589f, -0.001325f, -0.000069f, -0.003822f, -0.000458f, -0.000560f, 0.002778f, 0.001619f, -0.001675f, -0.002290f, -0.002229f, -0.002147f, - -0.000716f, -0.002646f, 0.000987f, 0.005003f, -0.003900f, -0.000463f, 0.001721f, 0.002867f, 0.039506f, 0.024965f, -0.013583f, 0.005068f, 0.012717f, -0.005248f, 0.007281f, -0.002472f, 0.011864f, 0.005942f, 0.003800f, 0.010759f, 0.006089f, 0.005323f, -0.003351f, -0.026436f, 0.012661f, -0.004503f, -0.006012f, 0.020681f, 0.012806f, 0.007146f, 0.009544f, 0.007082f, 0.005268f, -0.004047f, 0.003070f, 0.000840f, -0.006761f, 0.005467f, 0.008953f, -0.014913f, 0.002863f, -0.009652f, 0.007142f, 0.008255f, -0.023304f, -0.000384f, -0.027734f, 0.000476f, 0.003475f, 0.002353f, 0.007582f, 0.018925f, -0.002305f, -0.009811f, -0.004798f, -0.005268f, -0.007285f, 0.005446f, 0.005878f, 0.001830f, -0.003068f, -0.003405f, 0.018405f, -0.006105f, -0.003669f, -0.010045f, 0.016350f, -0.002485f, 0.013742f, -0.006467f, 0.014686f, -0.014137f, -0.029705f, -0.008838f, 0.001872f, 0.006010f, 0.010056f, -0.010010f, -0.007443f, 0.004068f, 0.002692f, -0.004643f, -0.007740f, 0.018572f, -0.007260f, 0.017667f, 0.004681f, 0.012482f, 0.004929f, 0.009092f, 0.007681f, -0.003204f, -0.001192f, 0.003567f, -0.000516f, 0.009632f, - 0.000258f, -0.003203f, 0.000889f, -0.010816f, -0.002133f, -0.002512f, 0.000759f, -0.003624f, -0.001376f, -0.001229f, -0.000249f, -0.001259f, -0.005660f, -0.004613f, 0.001386f, 0.000378f, -0.006355f, -0.000398f, 0.000946f, 0.000921f, 0.002604f, 0.001087f, 0.006267f, 0.000262f, -0.002105f, -0.000272f, -0.000843f, -0.002920f, -0.003415f, -0.001374f, 0.000948f, 0.018499f, -0.007073f, -0.012273f, -0.000575f, 0.001966f, -0.017569f, -0.013717f, -0.004386f, 0.004792f, -0.002628f, 0.022816f, 0.013672f, 0.000619f, 0.021760f, 0.007868f, 0.006361f, -0.018643f, 0.017496f, -0.003259f, -0.004404f, -0.015721f, -0.007120f, 0.013988f, 0.013787f, -0.003917f, 0.009141f, -0.018909f, -0.002670f, 0.012729f, 0.009564f, -0.007059f, -0.013446f, -0.007531f, -0.008312f, -0.010352f, -0.008635f, 0.002086f, -0.014131f, -0.001348f, 0.019518f, -0.009384f, 0.002252f, -0.000723f, -0.004495f, 0.007628f, -0.003114f, 0.012773f, 0.000016f, 0.018009f, -0.004619f, -0.011321f, 0.006510f, -0.008941f, -0.008874f, -0.008941f, -0.025542f, 0.002983f, 0.010580f, 0.015229f, 0.010970f, 0.020008f, -0.002044f, -0.007668f, 0.011560f, -0.014184f, - 0.003311f, 0.002216f, -0.002125f, 0.012974f, 0.012095f, -0.003090f, -0.015420f, 0.003108f, -0.007959f, -0.014672f, -0.013605f, 0.007533f, 0.013209f, 0.008295f, -0.028527f, 0.006462f, 0.003058f, -0.001392f, 0.013484f, 0.007300f, 0.011039f, 0.004201f, -0.001048f, 0.014492f, 0.001967f, 0.006605f, 0.005278f, 0.001180f, -0.006465f, 0.001098f, -0.003592f, -0.007910f, 0.001544f, 0.002458f, 0.003806f, -0.000907f, 0.001060f, 0.000938f, 0.000737f, 0.002879f, 0.001880f, 0.002004f, -0.000262f, -0.004969f, 0.003593f, -0.001976f, -0.002214f, -0.001833f, -0.003532f, 0.006614f, 0.007457f, 0.006353f, 0.002585f, 0.000757f, 0.001128f, -0.001445f, 0.005114f, -0.022804f, -0.012844f, 0.002054f, -0.012525f, -0.033601f, 0.025539f, -0.000874f, -0.001337f, 0.002873f, 0.002313f, -0.022334f, 0.015715f, -0.023271f, 0.002367f, 0.010177f, -0.002698f, 0.003505f, 0.004024f, -0.025013f, -0.007992f, -0.011320f, -0.001963f, 0.004752f, -0.007792f, -0.005464f, -0.000679f, -0.001764f, 0.002587f, 0.010023f, 0.005858f, 0.021912f, -0.007740f, 0.030193f, -0.001812f, 0.000523f, -0.019620f, -0.003264f, 0.015148f, -0.003247f, - -0.030352f, 0.012085f, 0.014585f, -0.009429f, 0.007869f, -0.011760f, 0.021581f, 0.011464f, -0.000282f, -0.001550f, -0.013322f, -0.009001f, -0.014609f, 0.013687f, 0.014119f, 0.005773f, 0.001894f, 0.006005f, -0.011717f, -0.031949f, -0.011257f, 0.010808f, 0.005182f, -0.023767f, 0.000913f, 0.002494f, 0.003534f, -0.011542f, 0.008396f, 0.016406f, 0.008931f, 0.000076f, 0.007071f, 0.011209f, -0.006163f, 0.016824f, 0.000583f, -0.000712f, -0.016620f, -0.021881f, 0.014207f, -0.006844f, 0.007201f, 0.006778f, -0.000873f, -0.004879f, -0.004438f, -0.003859f, 0.002501f, -0.005560f, 0.007306f, 0.001392f, -0.001660f, 0.001559f, -0.002216f, 0.000059f, -0.008565f, 0.001998f, 0.000959f, -0.001753f, -0.004660f, 0.001445f, -0.004097f, -0.000444f, 0.001658f, -0.001102f, -0.002604f, -0.000249f, -0.002616f, 0.010495f, 0.008369f, 0.002849f, -0.001013f, -0.001098f, -0.002861f, -0.000117f, -0.000996f, 0.006654f, -0.002080f, -0.001085f, 0.006732f, 0.001360f, 0.002933f, 0.004609f, -0.003142f, -0.001969f, 0.005076f, 0.002780f, -0.001173f, -0.000916f, 0.007179f, -0.035172f, 0.018960f, -0.004886f, 0.007037f, -0.010483f, - -0.005584f, 0.014652f, -0.016982f, 0.016489f, -0.010238f, -0.020005f, 0.009099f, -0.010829f, 0.042510f, 0.006196f, -0.014756f, -0.020726f, -0.003628f, -0.025679f, -0.011678f, -0.027650f, -0.001553f, 0.018295f, -0.012989f, 0.011241f, 0.018647f, -0.017344f, 0.000119f, -0.020225f, 0.011337f, 0.003846f, -0.000684f, 0.011725f, -0.012485f, -0.018156f, -0.015179f, 0.000917f, 0.003448f, 0.015017f, -0.021765f, 0.015397f, 0.003086f, -0.032346f, -0.017680f, -0.026135f, -0.010637f, 0.009744f, -0.008726f, -0.008814f, -0.049451f, -0.001171f, -0.010831f, -0.004673f, -0.031710f, -0.011194f, -0.004166f, 0.002316f, 0.025917f, 0.023448f, 0.019993f, 0.011340f, 0.024982f, -0.027010f, 0.020965f, 0.002761f, 0.009792f, 0.006888f, -0.019159f, 0.029690f, 0.018529f, 0.011616f, -0.013087f, -0.017770f, -0.012650f, 0.017167f, 0.002023f, -0.000082f, 0.009413f, 0.004369f, 0.009896f, -0.008851f, 0.026252f, 0.013613f, -0.002782f, -0.004445f, 0.005913f, 0.005126f, 0.003232f, -0.001739f, -0.001569f, 0.002266f, -0.000382f, -0.000634f, -0.010835f, 0.000466f, -0.006247f, 0.000217f, 0.003490f, 0.001025f, -0.000625f, -0.000126f, - 0.002187f, 0.001712f, -0.010305f, -0.002926f, 0.003696f, -0.003182f, -0.004005f, -0.000436f, 0.001423f, 0.001513f, 0.002042f, -0.001696f, -0.002107f, 0.001600f, -0.004476f, -0.007867f, -0.001904f, -0.002101f, -0.002470f, 0.001221f, -0.000563f, 0.006647f, 0.003246f, -0.002958f, 0.003052f, 0.002063f, 0.001772f, -0.003053f, -0.005347f, -0.000307f, 0.000856f, 0.005642f, -0.001975f, -0.001539f, 0.013285f, 0.024624f, 0.026700f, 0.010916f, 0.018688f, 0.015126f, 0.009055f, -0.004878f, 0.002025f, -0.007275f, 0.000652f, -0.002501f, -0.016094f, 0.020554f, 0.032617f, 0.013006f, -0.008873f, 0.014628f, 0.013927f, -0.000542f, 0.008671f, -0.015340f, -0.029574f, -0.019680f, -0.013430f, 0.008607f, -0.003528f, -0.015444f, 0.011636f, -0.005282f, -0.013783f, -0.000132f, 0.024077f, 0.012143f, 0.017862f, 0.006277f, 0.013174f, 0.014595f, -0.003245f, 0.013374f, -0.005090f, -0.015172f, 0.006522f, -0.017576f, 0.006683f, 0.007082f, -0.025834f, -0.016786f, 0.010746f, 0.026947f, -0.013818f, 0.018804f, 0.026261f, -0.021535f, 0.001017f, 0.023918f, 0.002706f, -0.008629f, -0.001875f, -0.012142f, -0.021233f, 0.000347f, - -0.006346f, -0.011122f, 0.014829f, 0.000829f, -0.024313f, 0.031441f, -0.012806f, 0.025521f, -0.029929f, -0.020467f, 0.014845f, -0.018394f, 0.010370f, -0.012334f, -0.008923f, -0.017266f, -0.010488f, -0.014034f, -0.035345f, 0.005963f, 0.021839f, -0.009900f, -0.001464f, 0.015157f, 0.016191f, 0.011510f, -0.002099f, -0.001185f, -0.009062f, -0.002769f, -0.003905f, -0.004699f, 0.003950f, -0.000860f, -0.003244f, 0.005318f, 0.004832f, -0.002109f, -0.000344f, -0.006248f, 0.002906f, -0.005482f, -0.010059f, -0.000605f, 0.009623f, 0.000190f, -0.005203f, -0.001304f, 0.015820f, 0.007970f, 0.000662f, -0.004600f, -0.005573f, -0.004049f, 0.001081f, 0.001198f, -0.004655f, -0.001671f, 0.000312f, 0.001977f, 0.006386f, 0.001625f, 0.010004f, 0.006060f, 0.007206f, 0.002834f, 0.003304f, 0.003956f, -0.001196f, 0.000265f, -0.021908f, 0.013967f, -0.009236f, -0.024351f, 0.034979f, 0.017553f, -0.023968f, 0.017057f, 0.016034f, 0.004354f, 0.029552f, -0.059975f, 0.004717f, 0.024404f, 0.008850f, 0.002050f, 0.026497f, 0.000869f, 0.014692f, -0.034734f, -0.004258f, 0.009277f, 0.000848f, -0.017451f, 0.007161f, 0.013785f, - 0.007144f, 0.006463f, 0.018848f, 0.015212f, 0.024914f, 0.019133f, -0.007144f, -0.007994f, 0.019376f, -0.011779f, 0.013717f, -0.021585f, -0.011248f, -0.027580f, -0.012098f, 0.015047f, 0.005713f, -0.006443f, 0.023010f, -0.026897f, -0.035772f, -0.058702f, 0.018617f, 0.020146f, 0.016289f, 0.012297f, -0.013401f, 0.009225f, -0.007599f, 0.022044f, 0.059549f, -0.009303f, -0.012046f, -0.025819f, -0.007743f, 0.022050f, -0.014670f, 0.012597f, 0.022225f, 0.003466f, -0.000064f, -0.017270f, -0.004550f, 0.008050f, -0.040546f, -0.037937f, 0.004225f, 0.005027f, -0.014120f, 0.020678f, 0.016292f, 0.029806f, 0.048832f, 0.019189f, -0.010831f, -0.005993f, 0.010634f, -0.000366f, -0.026292f, 0.012598f, 0.011619f, 0.009441f, 0.003576f, 0.012344f, -0.000102f, 0.006792f, 0.006136f, 0.003745f, -0.005676f, 0.000403f, -0.000233f, -0.000932f, 0.010294f, 0.002843f, 0.000224f, 0.005080f, -0.010234f, 0.002941f, 0.002273f, -0.001432f, 0.010817f, 0.001982f, -0.002695f, -0.001866f, -0.006104f, 0.018460f, 0.001590f, 0.003098f, 0.008139f, -0.002817f, -0.002419f, 0.010361f, -0.010969f, 0.010306f, -0.007930f, 0.008531f, - -0.000237f, -0.000808f, -0.001658f, 0.003434f, -0.001393f, 0.008824f, -0.006971f, -0.003076f, 0.003071f, -0.001700f, -0.002173f, -0.005654f, -0.008282f, 0.006196f, 0.088629f, 0.050151f, 0.031929f, -0.008159f, -0.009051f, -0.001079f, -0.007570f, -0.009097f, -0.013768f, -0.016545f, -0.028460f, 0.001283f, -0.002026f, 0.006973f, 0.012389f, 0.023657f, 0.035731f, -0.004751f, -0.046518f, -0.018154f, 0.039899f, -0.006195f, 0.014944f, -0.005143f, -0.000685f, 0.026617f, 0.009195f, 0.020218f, 0.011865f, -0.000807f, -0.001213f, -0.000349f, 0.013413f, 0.017179f, -0.006670f, -0.026170f, 0.034291f, 0.024608f, 0.017453f, 0.006452f, 0.008886f, -0.013904f, -0.025971f, 0.035783f, 0.019945f, 0.009229f, -0.016602f, -0.018435f, -0.025912f, -0.015929f, -0.004615f, -0.016182f, 0.008968f, -0.033115f, 0.004576f, 0.024472f, -0.015915f, 0.008643f, 0.001474f, 0.003600f, -0.037827f, 0.013417f, -0.016246f, 0.027607f, -0.060746f, 0.010436f, -0.015879f, -0.020501f, 0.005026f, -0.012367f, 0.012492f, 0.011853f, -0.039575f, 0.000438f, 0.027665f, 0.004145f, 0.008113f, 0.017409f, 0.007103f, 0.028870f, 0.011777f, 0.006111f, - 0.001936f, -0.004182f, 0.018594f, -0.036725f, -0.000696f, -0.002142f, -0.003368f, 0.001448f, -0.001052f, -0.000279f, -0.003192f, -0.005404f, -0.007059f, 0.011429f, 0.009575f, -0.005025f, -0.000814f, -0.017589f, 0.001733f, -0.001100f, -0.017352f, -0.000083f, -0.025740f, -0.019567f, 0.008685f, 0.003275f, 0.013563f, -0.015303f, 0.006588f, 0.013324f, 0.002954f, -0.000577f, 0.003471f, 0.007141f, 0.000618f, -0.003841f, 0.014131f, 0.000098f, 0.004610f, -0.008290f, -0.006202f, 0.005868f, 0.008483f, 0.001493f, -0.054479f, -0.027979f, 0.004020f, -0.047864f, 0.010973f, 0.034754f, -0.016729f, 0.042246f, 0.049541f, 0.006313f, 0.024748f, 0.030568f, 0.013697f, -0.029310f, 0.019126f, 0.023328f, -0.001154f, 0.005904f, 0.016445f, 0.014558f, 0.034963f, 0.005977f, -0.013486f, 0.022337f, 0.008000f, -0.003462f, 0.000503f, 0.014978f, -0.020445f, -0.009234f, -0.008655f, 0.012498f, 0.006470f, -0.028819f, 0.008509f, 0.024092f, 0.000638f, 0.029034f, -0.027458f, -0.051850f, 0.004140f, 0.023279f, 0.035180f, 0.032646f, 0.016840f, 0.015496f, 0.012402f, -0.035229f, -0.010318f, -0.001467f, 0.026434f, 0.041808f, - -0.014452f, 0.009011f, -0.015389f, 0.009894f, 0.006644f, 0.025453f, 0.039402f, -0.015185f, -0.017273f, -0.003426f, 0.021587f, 0.027740f, 0.038834f, 0.000961f, -0.041980f, -0.039584f, -0.006467f, 0.005129f, 0.000121f, -0.018144f, 0.000406f, -0.047729f, -0.030816f, -0.028202f, -0.032115f, 0.013694f, 0.004923f, 0.038467f, 0.030731f, 0.011597f, -0.018393f, -0.018348f, -0.017098f, -0.015515f, -0.026680f, 0.012592f, 0.008351f, 0.004945f, 0.017933f, 0.019955f, 0.000108f, 0.017026f, 0.003491f, 0.018181f, -0.006328f, 0.015081f, -0.004824f, -0.001358f, 0.004469f, -0.005532f, 0.025208f, 0.011366f, 0.014964f, 0.006777f, 0.017947f, 0.004028f, 0.008602f, 0.025759f, 0.022322f, 0.011967f, -0.001445f, -0.009868f, -0.008475f, -0.018208f, -0.010238f, -0.011950f, -0.007148f, -0.011020f, -0.013378f, -0.007724f, 0.007774f, 0.017171f, 0.004754f, -0.004015f, 0.000620f, -0.002534f, 0.010713f, 0.012687f, 0.010511f, -0.001108f, 0.004724f, -0.019399f, 0.023020f, -0.050923f, 0.004587f, -0.010172f, 0.027890f, -0.014945f, -0.002346f, 0.008641f, 0.021123f, -0.028424f, -0.047879f, -0.008307f, -0.018774f, 0.001349f, - -0.021617f, 0.012726f, 0.012539f, 0.001263f, -0.025839f, 0.016132f, 0.001596f, 0.043146f, -0.006907f, 0.023634f, -0.019952f, 0.044562f, 0.012831f, 0.027815f, 0.018658f, 0.030346f, 0.044594f, -0.010861f, 0.017298f, -0.031197f, 0.032901f, 0.032007f, -0.000749f, 0.010413f, 0.032221f, -0.020613f, -0.019933f, -0.003271f, 0.064877f, 0.010569f, -0.018146f, 0.032240f, 0.004214f, 0.024733f, 0.035523f, 0.010384f, -0.002405f, 0.003372f, 0.005543f, 0.023471f, -0.008203f, 0.025170f, -0.017354f, 0.024573f, -0.013584f, 0.055421f, -0.008048f, 0.047664f, -0.043199f, -0.047403f, 0.066017f, -0.055234f, -0.029579f, 0.002265f, -0.017803f, -0.034271f, 0.030162f, -0.003986f, -0.042533f, -0.020089f, -0.021846f, -0.062529f, -0.023205f, 0.007759f, 0.014063f, -0.048232f, -0.012330f, 0.029331f, -0.005850f, 0.016867f, 0.028894f, -0.020597f, -0.004711f, 0.004754f, 0.018864f, 0.013592f, 0.014234f, -0.004631f, -0.002725f, 0.011725f, -0.001013f, -0.007717f, 0.006418f, 0.013516f, 0.002560f, 0.009413f, -0.000272f, -0.008622f, -0.000018f, 0.012476f, 0.004695f, -0.006269f, -0.015612f, -0.009374f, 0.018317f, -0.008345f, - -0.024600f, 0.005933f, -0.014114f, -0.026718f, 0.000031f, 0.010176f, 0.000961f, -0.006854f, -0.001971f, 0.007461f, -0.005599f, 0.000460f, 0.009654f, -0.000416f, -0.004464f, -0.005649f, 0.017390f, 0.033463f, 0.001843f, -0.011605f, -0.009717f, -0.005288f, -0.015711f, -0.003225f, -0.006570f, 0.006587f, -0.042738f, -0.028511f, 0.008316f, -0.055884f, -0.032601f, -0.038832f, -0.039511f, 0.048153f, -0.001189f, 0.001660f, 0.014340f, -0.014039f, -0.061446f, -0.045966f, -0.045023f, -0.091806f, 0.006633f, 0.010425f, 0.039671f, 0.023189f, 0.013747f, 0.019797f, 0.013730f, 0.004294f, -0.028979f, -0.042580f, -0.024526f, 0.033094f, -0.004188f, -0.024907f, -0.010058f, 0.032416f, -0.039204f, -0.025297f, -0.040270f, -0.020021f, -0.003444f, -0.038631f, 0.014368f, -0.032079f, 0.034705f, 0.024342f, -0.005393f, 0.024013f, -0.023621f, -0.048555f, 0.021210f, 0.028317f, -0.025069f, -0.055719f, 0.041972f, -0.003623f, 0.030398f, 0.025533f, -0.079699f, -0.056622f, 0.000529f, -0.012931f, 0.051881f, -0.029767f, -0.034414f, -0.009247f, 0.019130f, 0.002923f, -0.004808f, -0.018081f, 0.068889f, -0.033814f, -0.056125f, -0.075886f, - 0.054396f, -0.013010f, -0.062493f, 0.029097f, 0.029620f, 0.017561f, 0.062783f, 0.067174f, 0.068967f, 0.029508f, -0.015680f, -0.006357f, -0.010725f, 0.022887f, -0.044185f, 0.028367f, 0.005389f, 0.005528f, 0.021499f, 0.020796f, -0.018257f, 0.026638f, -0.020961f, 0.008875f, -0.029751f, -0.016971f, -0.011584f, -0.015442f, -0.006182f, -0.016633f, -0.004175f, 0.011364f, 0.031128f, 0.036225f, 0.001462f, 0.028405f, -0.017080f, 0.004068f, 0.016757f, 0.002198f, -0.031640f, 0.003806f, 0.007674f, -0.008825f, -0.023526f, -0.015102f, -0.014500f, 0.037554f, 0.023375f, 0.012091f, 0.017664f, 0.031661f, -0.005076f, -0.037953f, -0.023847f, -0.021872f, -0.027240f, -0.035286f, 0.006130f, -0.029622f, -0.051674f, -0.001116f, -0.009177f, -0.012285f, -0.009830f, 0.007811f, -0.050388f, -0.020071f, 0.023485f, 0.038207f, 0.077805f, 0.012756f, 0.040700f, 0.019725f, 0.019651f, -0.017749f, -0.005687f, -0.015132f, -0.042678f, -0.050146f, -0.070405f, -0.025630f, -0.063426f, -0.024936f, -0.033201f, -0.012402f, 0.034088f, 0.008380f, 0.023199f, 0.040087f, 0.000063f, 0.027083f, 0.007885f, 0.001382f, -0.000913f, -0.005291f, - -0.053503f, 0.019482f, -0.006671f, -0.060463f, -0.037426f, 0.017664f, -0.038787f, -0.014886f, 0.014141f, 0.043898f, 0.053279f, 0.018535f, -0.011057f, 0.007336f, 0.035675f, 0.019087f, 0.007538f, -0.001049f, -0.105449f, -0.021267f, 0.023357f, 0.026776f, 0.010706f, -0.004029f, -0.035539f, 0.024670f, -0.031701f, -0.023907f, -0.006219f, 0.006484f, -0.017617f, -0.056324f, 0.030137f, -0.007205f, 0.070107f, 0.026664f, 0.023975f, 0.026942f, 0.051545f, 0.115574f, 0.001793f, 0.001981f, -0.004828f, -0.034406f, 0.020564f, -0.023868f, 0.084060f, -0.007468f, -0.030119f, -0.027109f, 0.035540f, -0.045575f, -0.030758f, -0.005991f, 0.071907f, 0.002417f, 0.034322f, 0.053116f, 0.010751f, 0.043004f, 0.032618f, -0.005930f, 0.029910f, 0.032413f, 0.001102f, -0.022122f, -0.023831f, 0.006694f, 0.008232f, 0.027198f, 0.017482f, -0.001150f, -0.004046f, 0.004848f, 0.011080f, -0.020139f, -0.004190f, -0.004923f, -0.002627f, -0.031597f, 0.019944f, -0.022925f, 0.008051f, -0.004628f, -0.013702f, 0.003852f, 0.038536f, 0.033711f, 0.000094f, -0.002235f, -0.024476f, -0.009980f, -0.024327f, -0.003601f, -0.028315f, -0.040371f, - 0.011883f, 0.028042f, 0.001958f, 0.001638f, -0.013931f, -0.021142f, 0.059025f, -0.008000f, 0.010723f, -0.064594f, -0.021852f, 0.075650f, -0.050415f, -0.013783f, -0.043655f, -0.129011f, -0.018307f, 0.039531f, 0.032671f, 0.006227f, 0.009407f, -0.007016f, 0.072310f, -0.077937f, -0.000040f, -0.022472f, -0.052041f, -0.044143f, -0.006531f, 0.014745f, 0.013013f, 0.017379f, 0.046702f, 0.030227f, -0.033012f, -0.033669f, 0.092862f, 0.075793f, -0.006064f, 0.008832f, -0.010148f, 0.024675f, -0.000331f, 0.054084f, 0.019743f, 0.028730f, 0.008138f, 0.004148f, -0.095947f, 0.039748f, -0.004092f, -0.055337f, -0.028116f, 0.005438f, -0.014860f, -0.055071f, 0.053025f, -0.009391f, -0.039135f, -0.008235f, 0.005830f, 0.046920f, 0.052642f, 0.039952f, 0.015488f, 0.046796f, 0.050101f, -0.037623f, -0.041020f, -0.026302f, -0.006648f, 0.048494f, 0.064957f, 0.011094f, 0.023466f, 0.062186f, 0.037462f, -0.058354f, 0.043196f, 0.015666f, -0.012753f, 0.002287f, 0.119764f, -0.079248f, 0.061084f, 0.069824f, -0.070194f, -0.004123f, -0.045587f, -0.014750f, -0.100880f, 0.029054f, 0.044771f, -0.060808f, 0.036796f, -0.052615f, - -0.037904f, 0.046007f, -0.028548f, -0.004243f, -0.017123f, 0.002235f, -0.025176f, 0.007789f, 0.011763f, -0.019158f, -0.026983f, -0.002120f, -0.029316f, 0.038550f, 0.007028f, -0.036198f, 0.008018f, -0.006080f, -0.019570f, -0.019001f, 0.012548f, 0.024582f, 0.030942f, 0.012654f, -0.027655f, 0.071006f, -0.013033f, 0.007077f, -0.004503f, -0.037572f, 0.014453f, 0.020507f, -0.018962f, 0.030296f, 0.007833f, 0.022637f, -0.005177f, -0.036340f, 0.012375f, 0.054772f, -0.035407f, -0.050764f, -0.082944f, 0.016605f, -0.016121f, -0.026129f, -0.033730f, 0.018518f, -0.020594f, -0.009379f, 0.054061f, -0.016816f, -0.003365f, -0.042508f, 0.003165f, 0.027348f, -0.060070f, -0.037605f, -0.036073f, -0.017483f, 0.021404f, -0.080479f, -0.045155f, -0.116197f, 0.019892f, -0.001101f, -0.029882f, -0.012893f, -0.017519f, 0.024912f, 0.036987f, -0.041250f, 0.001199f, -0.014373f, -0.014344f, -0.072605f, 0.015616f, 0.055799f, 0.014382f, 0.042214f, 0.052588f, 0.047468f, -0.064073f, -0.019471f, -0.019619f, -0.029825f, 0.053203f, -0.054768f, -0.031967f, 0.001915f, 0.077424f, 0.017571f, -0.027719f, 0.078398f, -0.044495f, -0.041438f, - 0.093129f, 0.089551f, 0.008231f, 0.022794f, -0.025874f, -0.084895f, -0.026531f, 0.085471f, -0.041862f, 0.077461f, -0.028373f, -0.122012f, -0.032581f, -0.057075f, 0.064633f, 0.000565f, 0.014163f, 0.058275f, -0.009723f, 0.048043f, -0.063151f, -0.073971f, 0.056470f, -0.014855f, -0.125013f, 0.076933f, -0.040084f, 0.020975f, 0.024849f, -0.043602f, 0.082258f, -0.056471f, 0.029579f, -0.000888f, 0.021607f, 0.083710f, -0.021676f, -0.026476f, 0.002867f, -0.017455f, -0.023115f, -0.018942f, 0.009168f, 0.018805f, 0.004316f, -0.012033f, 0.010270f, -0.039903f, 0.035640f, 0.025112f, 0.019955f, 0.007963f, -0.000004f, -0.018680f, -0.020521f, -0.019434f, 0.016689f, 0.032674f, -0.032258f, 0.028330f, 0.065868f, 0.022157f, -0.056803f, 0.005446f, 0.020463f, -0.021057f, -0.037592f, 0.035151f, -0.031877f, -0.000751f, -0.003002f, -0.033860f, -0.043793f, -0.000479f, 0.024562f, -0.014480f, 0.056638f, -0.019104f, -0.037849f, 0.026258f, -0.016927f, 0.001938f, 0.021969f, 0.043360f, 0.002880f, -0.077258f, 0.045401f, 0.053006f, -0.064431f, 0.035293f, -0.000714f, -0.022952f, -0.027788f, -0.092230f, -0.041164f, 0.032684f, - 0.005466f, 0.085025f, -0.068521f, -0.038355f, 0.015554f, -0.009212f, 0.053998f, -0.075458f, -0.000315f, 0.007900f, -0.064300f, 0.064029f, 0.034629f, 0.019622f, -0.030377f, 0.043870f, -0.052211f, 0.028731f, 0.021841f, 0.013559f, -0.004106f, -0.028848f, 0.011576f, 0.058193f, -0.030996f, -0.011064f, 0.010930f, -0.045455f, 0.045981f, 0.001867f, 0.011715f, -0.062321f, 0.033186f, 0.008294f, 0.010969f, -0.146318f, 0.019600f, -0.041573f, 0.067918f, 0.056669f, 0.059627f, 0.030758f, -0.119534f, -0.020871f, 0.025002f, 0.002564f, 0.007385f, 0.083854f, -0.013028f, -0.050460f, -0.061076f, 0.002453f, -0.067879f, -0.059089f, -0.052897f, 0.025201f, -0.098789f, 0.069800f, 0.132978f, -0.035034f, -0.016587f, -0.104266f, -0.023302f, 0.039918f, 0.024076f, -0.034700f, -0.007696f, -0.126162f, -0.044879f, 0.126618f, 0.053362f, -0.039337f, 0.036504f, -0.071584f, -0.053418f, 0.013926f, 0.002274f, 0.008519f, -0.049022f, -0.016872f, -0.010696f, -0.000093f, -0.070823f, 0.015078f, -0.009549f, -0.022096f, 0.008840f, 0.028984f, -0.038904f, -0.019295f, -0.006528f, 0.013769f, -0.030004f, -0.007957f, -0.005583f, -0.027970f, - -0.000086f, -0.051731f, 0.066952f, 0.021671f, -0.018172f, -0.006925f, -0.020327f, -0.002905f, 0.042795f, 0.012839f, -0.008478f, 0.022491f, -0.014519f, -0.064413f, 0.002482f, 0.002803f, 0.013098f, 0.028367f, -0.017311f, -0.012259f, 0.027559f, 0.033694f, 0.013990f, -0.031151f, -0.069226f, -0.096551f, 0.027009f, -0.042929f, -0.027438f, 0.027959f, -0.022331f, -0.034630f, 0.027642f, -0.045200f, -0.001651f, -0.051374f, 0.073750f, 0.000240f, -0.052077f, -0.016725f, 0.002280f, -0.006373f, 0.017961f, -0.036523f, -0.023536f, 0.006948f, 0.015694f, 0.007512f, 0.008172f, 0.026572f, -0.030927f, -0.013280f, -0.072488f, 0.026283f, 0.007894f, -0.023455f, 0.054111f, 0.028057f, -0.020790f, 0.080311f, 0.018983f, -0.052075f, 0.039524f, 0.005706f, 0.026036f, 0.052717f, -0.004097f, -0.014099f, 0.009266f, 0.043302f, 0.025851f, 0.000079f, -0.003678f, 0.046406f, -0.003382f, -0.055846f, -0.008706f, 0.009267f, 0.044194f, -0.020110f, 0.075507f, 0.081705f, -0.051662f, 0.042269f, 0.093542f, -0.025876f, 0.141641f, 0.078740f, -0.034567f, -0.032869f, -0.052390f, -0.060861f, -0.033271f, 0.018016f, -0.009826f, -0.011427f, - -0.001182f, -0.009891f, -0.097808f, -0.038883f, -0.096563f, 0.022058f, 0.087824f, -0.033323f, -0.004626f, -0.048112f, 0.024268f, 0.005207f, 0.017451f, 0.023646f, 0.073786f, -0.004279f, 0.033879f, 0.033330f, -0.054277f, 0.001695f, 0.000530f, 0.011350f, 0.024685f, -0.003747f, -0.012349f, 0.022218f, -0.002731f, -0.013258f, 0.003539f, -0.023357f, -0.004823f, 0.016160f, 0.003783f, -0.010353f, -0.051931f, 0.002129f, -0.023594f, -0.002537f, -0.019789f, 0.043408f, -0.014129f, 0.020906f, 0.027070f, -0.021472f, 0.032535f, 0.019964f, 0.000927f, -0.011833f, -0.019489f, 0.004480f, -0.001696f, -0.011959f, -0.001447f, 0.021405f, -0.016300f, 0.009064f, -0.005537f, 0.015335f, -0.040968f, 0.124385f, 0.032842f, -0.044538f, 0.004966f, -0.058491f, -0.007677f, 0.020514f, -0.024300f, -0.031088f, -0.034674f, -0.013141f, 0.013319f, -0.007657f, -0.011155f, 0.015798f, 0.009095f, 0.021414f, -0.022132f, -0.013889f, 0.015920f, -0.005742f, 0.002821f, -0.032335f, 0.021903f, -0.037853f, 0.018133f, 0.012481f, -0.008187f, -0.001712f, 0.001353f, -0.021985f, 0.003650f, 0.004455f, -0.017550f, 0.031617f, -0.017064f, 0.007630f, - 0.000132f, 0.001067f, 0.015950f, -0.015649f, -0.024320f, -0.007333f, 0.036519f, -0.027179f, 0.017861f, -0.049803f, -0.029649f, 0.009395f, -0.010820f, -0.000842f, -0.003351f, -0.030009f, 0.031710f, 0.025325f, 0.002246f, -0.021991f, -0.001157f, -0.013399f, 0.006466f, -0.016708f, -0.000605f, -0.016042f, 0.011891f, -0.004480f, 0.003038f, 0.040182f, -0.034138f, -0.002978f, 0.005957f, 0.002390f, -0.007479f, 0.000889f, -0.016250f, 0.000854f, -0.013639f, 0.008215f, 0.015786f, -0.024456f, -0.020354f, 0.011606f, 0.001405f, -0.005854f, -0.019409f, 0.008256f, 0.002461f, -0.000898f, -0.004515f, 0.000097f, -0.004564f, 0.013364f, -0.009088f, -0.002567f, 0.006110f, -0.004593f, -0.000875f, 0.010687f, -0.007364f, -0.004824f, -0.002927f, 0.002205f, 0.010961f, -0.003885f, -0.012694f, 0.000663f, -0.008240f, 0.028878f, -0.011882f, 0.003466f, 0.006436f, -0.007461f, 0.022923f, -0.003422f, -0.020236f, 0.007083f, -0.011648f, 0.014146f, 0.006804f, -0.003287f, -0.001435f, -0.005436f, -0.005680f, 0.013962f, -0.009537f, -0.004372f, -0.001748f, -0.012430f, 0.015594f, -0.060172f, -0.087621f, 0.060893f, 0.282840f, 0.123132f, - 0.129914f, -0.001381f, -0.260790f, -0.189684f, -0.097875f, -0.206488f, 0.100491f, 0.122316f, 0.064375f, 0.265779f, 0.120253f, -0.012105f, 0.088811f, -0.172879f, -0.219255f, -0.125968f, -0.153463f, -0.033727f, 0.119487f, 0.121346f, 0.051513f, 0.204225f, 0.102088f, -0.014777f, 0.098943f, -0.091172f, -0.155088f, -0.089720f, -0.116571f, -0.184151f, 0.068046f, -0.002098f, -0.065514f, 0.197255f, 0.119478f, 0.066537f, 0.202834f, 0.048483f, -0.102443f, 0.099254f, -0.146235f, -0.167590f, -0.033860f, -0.176242f, -0.178039f, 0.070129f, -0.029181f, 0.042729f, 0.225228f, 0.153678f, 0.160674f, 0.150919f, 0.018661f, -0.085183f, -0.097734f, -0.164462f, -0.215033f, -0.113286f, -0.061089f, -0.044908f, 0.082482f, 0.127861f, 0.120654f, 0.170152f, 0.154236f, -0.024092f, -0.026995f, -0.028018f, -0.157912f, -0.047747f, -0.077678f, -0.117823f, 0.026467f, 0.047874f, 0.007972f, 0.109204f, 0.049030f, 0.000697f, 0.068730f, -0.053072f, -0.057988f, 0.001310f, -0.037653f, -0.012188f, 0.028743f, -0.006191f, 0.031888f, 0.042183f, -0.023290f, 0.033125f, 0.013692f, -0.051603f, 0.004951f, -0.024753f, -0.097395f, -0.001654f, - -0.024709f, -0.041850f, 0.094136f, 0.027931f, 0.035382f, 0.123296f, 0.049026f, 0.036011f, 0.027223f, -0.061517f, -0.089613f, -0.083305f, -0.139510f, -0.114307f, -0.050823f, 0.004563f, 0.062713f, 0.143266f, 0.151895f, 0.139317f, 0.123557f, 0.076145f, -0.030526f, -0.087747f, -0.174701f, -0.221408f, -0.170898f, -0.102706f, -0.036302f, 0.092897f, 0.172227f, 0.197958f, 0.202933f, 0.097725f, -0.024475f, -0.067145f, -0.082511f, -0.106414f, -0.076913f, -0.079025f, -0.063943f, -0.009501f, 0.019135f, 0.031273f, 0.053686f, 0.057702f, 0.052809f, 0.048153f, 0.026121f, 0.006821f, -0.008222f, -0.027396f, -0.042600f, -0.042138f, -0.036142f, -0.025954f, -0.014910f, 0.005063f, 0.016574f, 0.022947f, 0.023818f, 0.022916f, 0.014758f, 0.008920f, -0.000088f, -0.000836f, -0.004109f, -0.005964f, -0.008774f, -0.004591f, -0.007030f, -0.007801f, -0.007523f, -0.004964f, -0.010693f, -0.004424f, 0.000123f, 0.005479f, 0.012290f, 0.016898f, 0.011297f, 0.015242f, 0.009338f, 0.002906f, -0.005278f, -0.011823f, -0.018743f, -0.016311f, -0.016325f, -0.007578f, -0.000957f, 0.008011f, 0.009614f, 0.014415f, 0.011902f, 0.009805f, - 0.003545f, 0.001671f, -0.004605f, -0.004449f, -0.007353f, -0.006265f, -0.005689f, -0.001432f, -0.002771f, 0.001502f, -0.000441f, 0.002331f, 0.001719f, 0.001714f, -0.000629f, 0.003726f, 0.001747f, 0.004256f, 0.001166f, 0.001794f, 0.000062f, 0.000223f, -0.004193f, -0.002672f, -0.005281f, -0.002857f, -0.003155f, 0.000163f, -0.000369f, 0.003314f, 0.001792f, 0.004026f, 0.001783f, 0.002802f, -0.000164f, 0.001123f, -0.001660f, -0.000201f, -0.002298f, -0.000082f, -0.001947f, 0.000496f, -0.001194f} - }, - { - {0.009029f, 0.005082f, -0.008051f, -0.001926f, -0.002933f, -0.000331f, 0.012234f, 0.000627f, -0.005135f, 0.006341f, 0.001376f, 0.000585f, 0.002209f, 0.001277f, 0.000178f, 0.009081f, 0.005228f, -0.006263f, -0.002318f, -0.000781f, -0.002107f, 0.002497f, 0.003975f, 0.002555f, -0.002584f, -0.004025f, 0.001590f, -0.008039f, -0.003555f, 0.005916f, 0.000595f, 0.004750f, 0.002535f, -0.003957f, 0.003015f, -0.000017f, -0.003363f, 0.008335f, -0.005554f, -0.002713f, 0.001142f, 0.002822f, -0.003776f, -0.001080f, -0.005452f, -0.010999f, 0.010294f, -0.002120f, -0.005631f, 0.000533f, 0.009469f, -0.000060f, 0.003706f, -0.004742f, -0.002663f, -0.001997f, 0.002959f, -0.003765f, 0.007587f, 0.001118f, 0.006853f, -0.009917f, 0.004236f, -0.002629f, 0.001717f, 0.004113f, -0.001628f, -0.001167f, -0.007206f, -0.000019f, 0.004004f, 0.000823f, -0.001957f, -0.000413f, 0.003572f, -0.001923f, -0.001868f, 0.005448f, -0.002447f, 0.001682f, -0.000979f, -0.000401f, -0.006722f, -0.002862f, -0.001782f, 0.002408f, -0.000438f, -0.003099f, -0.000452f, -0.000688f, -0.001840f, 0.001736f, -0.002215f, 0.000079f, 0.000581f, 0.001090f, - 0.001912f, -0.000879f, -0.001577f, 0.001657f, 0.000416f, -0.001318f, 0.000294f, 0.002874f, -0.000330f, -0.000358f, 0.001246f, 0.000029f, 0.000461f, 0.000405f, -0.000836f, -0.001670f, -0.000850f, 0.001187f, -0.000235f, 0.000068f, 0.000683f, -0.000930f, 0.000884f, -0.000056f, -0.000459f, 0.003153f, 0.025708f, 0.008768f, -0.001999f, 0.006918f, 0.000389f, 0.012634f, 0.007994f, -0.001811f, 0.006546f, 0.011341f, 0.014912f, -0.008816f, -0.008561f, 0.003622f, -0.003434f, -0.002908f, 0.010673f, 0.008564f, 0.008224f, 0.005813f, 0.001135f, -0.000370f, -0.003681f, 0.004026f, 0.002869f, 0.013520f, 0.001405f, -0.000328f, -0.005961f, 0.002788f, 0.004003f, -0.000806f, -0.001814f, -0.002154f, 0.003709f, -0.000572f, -0.002151f, -0.004998f, 0.005298f, -0.001801f, -0.001748f, 0.007450f, 0.010653f, -0.002773f, -0.001268f, 0.006105f, 0.005528f, 0.009694f, 0.006061f, 0.002639f, 0.001035f, 0.008248f, 0.004721f, -0.011456f, 0.000046f, 0.003469f, -0.006547f, 0.000135f, 0.001110f, -0.008183f, 0.004182f, -0.003992f, 0.006142f, -0.001354f, -0.001021f, 0.003250f, 0.001091f, -0.005658f, -0.000468f, 0.003083f, - -0.001070f, -0.001429f, -0.001597f, 0.000568f, 0.006535f, 0.001109f, -0.006513f, -0.001596f, 0.001573f, -0.001993f, -0.000799f, 0.009577f, -0.001914f, 0.001128f, -0.001094f, -0.002501f, 0.002209f, 0.003536f, -0.000894f, 0.001584f, 0.001786f, -0.001825f, 0.000884f, 0.001558f, 0.000409f, -0.001229f, -0.003343f, -0.001095f, -0.001998f, -0.000991f, -0.000211f, 0.001027f, -0.000592f, 0.001244f, 0.000742f, -0.000340f, 0.008869f, -0.000679f, -0.016783f, -0.007792f, -0.003267f, -0.003616f, -0.009142f, -0.008371f, -0.005278f, 0.009101f, -0.010000f, -0.004650f, -0.004757f, 0.001841f, 0.015147f, -0.002264f, -0.001217f, 0.003720f, 0.008663f, -0.013256f, -0.002178f, 0.002720f, -0.005871f, 0.004697f, 0.007404f, -0.008169f, -0.000519f, 0.001067f, -0.004771f, -0.012030f, 0.002082f, -0.005059f, 0.001619f, -0.004657f, 0.006879f, -0.008302f, -0.007775f, -0.019100f, -0.005165f, 0.006585f, -0.001080f, -0.007321f, -0.003627f, -0.000911f, -0.007701f, 0.000400f, -0.001309f, 0.005294f, 0.004163f, -0.001967f, 0.000226f, -0.001944f, -0.008129f, 0.009923f, 0.001713f, 0.006711f, -0.002473f, 0.000036f, 0.001729f, 0.002911f, - 0.007663f, -0.002448f, -0.001868f, 0.002282f, -0.000230f, 0.008393f, 0.004465f, -0.007233f, -0.002890f, -0.001795f, -0.011486f, -0.001276f, -0.001098f, 0.006837f, -0.004411f, 0.006232f, 0.001054f, -0.000205f, -0.000653f, -0.001082f, -0.001253f, 0.001340f, -0.004645f, 0.002164f, -0.002685f, 0.002351f, 0.001978f, 0.000914f, 0.000557f, 0.006695f, 0.004886f, -0.001213f, 0.006065f, -0.000812f, -0.002066f, -0.001917f, 0.001173f, -0.000420f, 0.004145f, -0.001061f, 0.002581f, 0.002127f, -0.000389f, 0.001786f, -0.000021f, 0.001870f, 0.001814f, 0.000554f, 0.000610f, 0.002024f, 0.001318f, -0.002727f, -0.001532f, -0.000271f, 0.003359f, 0.003784f, -0.000011f, -0.000380f, 0.002021f, 0.000037f, -0.001279f, -0.036950f, -0.011498f, -0.003317f, -0.002928f, -0.003142f, 0.014293f, -0.013199f, 0.006373f, -0.003125f, 0.002940f, -0.003813f, -0.003007f, -0.010639f, 0.001777f, -0.003916f, 0.000839f, -0.015418f, 0.000345f, -0.001628f, -0.002717f, -0.000306f, 0.002919f, 0.002272f, -0.001425f, -0.001108f, -0.006131f, 0.001846f, -0.004919f, 0.003197f, 0.000018f, 0.002722f, 0.009616f, -0.002567f, -0.010972f, -0.004757f, - -0.012853f, 0.001727f, 0.002338f, -0.001222f, 0.002246f, -0.004552f, 0.004328f, 0.002162f, -0.005688f, 0.000437f, -0.015461f, -0.003354f, -0.010338f, 0.005609f, 0.010243f, -0.009070f, -0.000697f, 0.002880f, 0.001578f, -0.014816f, 0.002470f, 0.007534f, -0.007081f, -0.003429f, -0.016840f, 0.005663f, -0.002432f, 0.006909f, 0.012481f, 0.007060f, -0.010028f, 0.002073f, 0.002373f, 0.000499f, -0.011152f, 0.002829f, -0.004755f, 0.007375f, -0.003003f, -0.000410f, 0.003484f, 0.002979f, 0.008775f, 0.009936f, 0.006827f, -0.000554f, 0.002523f, 0.005901f, 0.003005f, -0.005930f, -0.001215f, -0.003970f, -0.003948f, 0.001753f, -0.000173f, 0.000919f, 0.000094f, -0.001212f, -0.000333f, 0.003553f, -0.001185f, -0.001220f, 0.000101f, -0.001059f, -0.002646f, 0.003220f, 0.000124f, 0.001506f, 0.003949f, -0.000529f, 0.000438f, -0.003146f, 0.002003f, 0.001344f, 0.000318f, -0.003162f, 0.001032f, 0.000009f, 0.002090f, -0.022900f, 0.002586f, 0.004018f, -0.008112f, -0.001081f, 0.022396f, 0.017274f, 0.009485f, -0.002563f, -0.003979f, 0.011040f, 0.007041f, 0.003489f, 0.004282f, -0.009029f, 0.003141f, 0.000796f, - 0.010573f, -0.010091f, -0.004505f, -0.001985f, 0.001397f, -0.002124f, -0.011486f, -0.007914f, -0.008061f, -0.009692f, 0.005402f, 0.006373f, 0.004224f, 0.002784f, 0.000287f, 0.002717f, -0.001375f, -0.001328f, 0.000812f, -0.003578f, -0.000921f, 0.004984f, 0.004031f, -0.007942f, -0.008686f, -0.000903f, -0.008712f, 0.005177f, -0.002588f, -0.014955f, 0.001879f, 0.007469f, 0.010796f, 0.007320f, 0.000502f, 0.006910f, -0.010522f, -0.003505f, -0.004651f, -0.000841f, 0.000836f, 0.004658f, -0.003566f, -0.009819f, 0.011922f, -0.010842f, -0.005053f, 0.007210f, 0.017198f, 0.003934f, 0.003476f, -0.016815f, 0.018162f, 0.002046f, 0.012687f, 0.019277f, -0.004186f, 0.001950f, 0.002357f, -0.008061f, 0.016161f, 0.003637f, -0.005170f, 0.004307f, -0.002150f, 0.007799f, -0.013116f, -0.007174f, -0.013404f, -0.002755f, -0.005891f, 0.005278f, -0.003327f, 0.002166f, -0.006232f, -0.001761f, -0.001138f, -0.004206f, -0.000177f, -0.001673f, 0.001757f, -0.000442f, -0.001670f, -0.001086f, -0.000702f, 0.003043f, 0.000960f, -0.002587f, -0.005399f, 0.002919f, 0.003148f, 0.000401f, 0.000093f, -0.000252f, -0.002183f, 0.000808f, - -0.001429f, 0.003168f, 0.000722f, 0.001709f, -0.001816f, -0.002383f, -0.004266f, 0.002360f, 0.034444f, 0.024410f, -0.008754f, -0.012585f, 0.019093f, 0.012592f, 0.020103f, 0.029731f, -0.015009f, 0.010379f, 0.004896f, 0.008717f, 0.003820f, 0.005287f, 0.012218f, 0.003172f, 0.012480f, 0.000538f, -0.008029f, 0.003489f, -0.002610f, 0.004350f, -0.001514f, 0.023124f, 0.003860f, 0.005199f, 0.003094f, 0.001042f, 0.008026f, 0.003553f, 0.000452f, -0.001344f, 0.005742f, -0.004312f, 0.010985f, -0.008442f, 0.013231f, -0.006122f, 0.007998f, 0.004330f, 0.004885f, 0.004025f, 0.019437f, 0.015006f, 0.000925f, -0.004046f, -0.010551f, 0.011665f, -0.012858f, 0.003370f, -0.005625f, 0.005815f, 0.012171f, 0.001612f, -0.020382f, -0.016392f, 0.001708f, -0.010141f, -0.011160f, -0.006286f, -0.012867f, 0.004742f, 0.022306f, 0.011347f, -0.008214f, 0.000672f, 0.002575f, -0.005688f, -0.006573f, -0.000929f, 0.010956f, 0.012342f, -0.012923f, 0.006287f, 0.014301f, 0.003010f, 0.004707f, 0.007067f, 0.011145f, -0.001754f, -0.007606f, 0.003130f, -0.003274f, -0.000481f, -0.007297f, 0.006918f, 0.010538f, 0.001784f, - 0.001890f, 0.001631f, -0.007385f, -0.000897f, -0.000122f, -0.000647f, 0.000751f, -0.000986f, 0.001219f, 0.001085f, 0.003615f, 0.000560f, -0.000059f, 0.000517f, 0.002326f, 0.004167f, 0.002084f, 0.004404f, 0.002312f, 0.000961f, 0.001248f, -0.000711f, -0.006872f, -0.006946f, 0.001459f, 0.005441f, 0.001356f, -0.001375f, 0.001291f, -0.000728f, 0.003328f, -0.002453f, -0.002428f, -0.004272f, 0.001962f, 0.015294f, 0.002806f, 0.022099f, -0.002031f, -0.000178f, -0.007401f, -0.005814f, 0.007291f, 0.016740f, -0.004954f, 0.004498f, 0.001099f, 0.018127f, 0.007374f, -0.008323f, -0.007853f, 0.001261f, 0.003693f, 0.016477f, 0.015987f, 0.024556f, 0.004359f, 0.006889f, -0.004385f, 0.010056f, 0.011259f, -0.004330f, -0.005706f, 0.008870f, -0.006836f, -0.009303f, 0.008726f, 0.002731f, -0.010941f, -0.013243f, 0.020165f, 0.010224f, -0.000760f, 0.012987f, 0.002448f, -0.008999f, 0.019150f, -0.004437f, 0.000515f, -0.000400f, 0.004920f, -0.006936f, 0.004920f, -0.006948f, 0.004788f, -0.006450f, 0.005821f, -0.005264f, 0.007945f, -0.006655f, -0.006890f, 0.017967f, -0.022484f, 0.001323f, 0.002599f, -0.007640f, - 0.001439f, -0.025134f, -0.012444f, 0.012103f, -0.010107f, 0.007459f, -0.002739f, 0.005052f, 0.002132f, 0.004339f, 0.002595f, -0.011366f, 0.006088f, -0.006583f, -0.000820f, -0.014457f, -0.007922f, -0.003577f, -0.003526f, 0.004191f, 0.013624f, 0.007973f, -0.011077f, 0.004308f, 0.002100f, 0.000150f, -0.005352f, 0.000804f, -0.001057f, 0.002737f, 0.001224f, -0.002750f, -0.003783f, -0.001414f, -0.001081f, -0.002078f, 0.007871f, 0.001513f, -0.003069f, -0.001658f, 0.001857f, -0.003205f, 0.000306f, 0.001634f, 0.000074f, 0.000476f, -0.008387f, -0.003344f, -0.002112f, 0.001304f, -0.002352f, -0.000296f, 0.005265f, -0.000424f, -0.001429f, -0.001512f, 0.000541f, 0.001674f, -0.017952f, -0.015335f, -0.000127f, 0.006755f, 0.012466f, -0.014520f, 0.004136f, -0.013041f, 0.010770f, 0.008373f, -0.018089f, -0.003663f, 0.001875f, -0.021064f, -0.012085f, 0.012943f, -0.001728f, -0.000843f, 0.002986f, -0.001260f, -0.022193f, 0.020309f, 0.001244f, -0.014264f, -0.007037f, 0.002763f, -0.001915f, -0.013709f, -0.004187f, -0.007850f, 0.002232f, -0.000622f, -0.004448f, 0.004486f, -0.019245f, -0.008462f, 0.004904f, 0.025160f, - -0.004250f, -0.014681f, -0.010483f, -0.008147f, 0.017028f, -0.018132f, -0.003691f, -0.001200f, -0.019497f, -0.024169f, 0.005911f, -0.016734f, -0.002721f, 0.002572f, 0.012726f, 0.007207f, 0.000998f, 0.002832f, 0.015206f, -0.006526f, -0.004811f, 0.022677f, -0.015153f, 0.011842f, -0.005230f, -0.005589f, -0.002347f, -0.002668f, 0.024092f, 0.000624f, 0.009342f, -0.024779f, -0.018068f, 0.000666f, -0.003643f, 0.027822f, 0.000857f, 0.018990f, 0.007932f, 0.023732f, 0.014322f, -0.003526f, -0.016515f, -0.006134f, 0.011038f, 0.004888f, 0.007442f, -0.009086f, -0.010346f, -0.002797f, -0.003509f, 0.004959f, -0.002583f, -0.006609f, -0.001246f, -0.001571f, -0.000105f, -0.000771f, 0.000854f, -0.002673f, -0.003725f, 0.004563f, -0.000372f, 0.000329f, -0.001311f, -0.001965f, -0.001616f, 0.001268f, 0.003802f, -0.004006f, 0.000863f, -0.002446f, -0.003724f, 0.002635f, -0.001145f, -0.003394f, -0.004056f, -0.000752f, 0.003708f, 0.000417f, 0.000428f, 0.001445f, 0.006737f, -0.005724f, -0.004835f, -0.002907f, 0.000493f, 0.002759f, -0.029856f, 0.002962f, -0.003066f, 0.020433f, 0.002209f, -0.021466f, 0.025574f, 0.008371f, - -0.015261f, -0.033035f, -0.013958f, 0.032801f, 0.001463f, -0.004078f, -0.005643f, 0.003444f, 0.000911f, 0.010162f, 0.005173f, 0.010880f, -0.002522f, 0.019376f, -0.010149f, -0.022697f, 0.000784f, 0.001118f, -0.005603f, -0.000767f, 0.008343f, -0.005786f, -0.003671f, -0.001925f, 0.018008f, 0.014187f, 0.007120f, -0.001287f, -0.024983f, -0.000422f, -0.001495f, -0.000979f, -0.004323f, -0.000347f, -0.011052f, -0.020162f, -0.003376f, 0.013957f, 0.013316f, -0.005040f, 0.014321f, -0.004641f, 0.006063f, 0.016022f, 0.015063f, -0.033695f, 0.011353f, 0.012218f, 0.004828f, -0.008183f, -0.029813f, 0.017991f, 0.010372f, 0.005777f, -0.010782f, -0.005864f, -0.012182f, 0.006667f, -0.013492f, -0.002428f, 0.000005f, 0.012109f, -0.007727f, 0.006180f, 0.003107f, -0.021609f, -0.003217f, -0.014437f, 0.023474f, 0.011023f, -0.028098f, -0.005887f, 0.021838f, 0.011022f, -0.011715f, -0.005713f, -0.012917f, -0.004267f, 0.006355f, -0.003859f, -0.001769f, -0.004830f, -0.006330f, -0.010590f, 0.001813f, 0.000838f, -0.003645f, -0.001080f, 0.005189f, 0.003658f, -0.006933f, -0.002378f, 0.004672f, -0.001312f, 0.003515f, -0.004424f, - -0.003311f, -0.000878f, 0.000745f, 0.005662f, -0.006285f, -0.004312f, 0.002795f, -0.006879f, -0.000791f, -0.004864f, 0.002678f, -0.003872f, 0.006319f, -0.002360f, -0.001434f, -0.003425f, 0.003931f, 0.002782f, 0.007228f, 0.002112f, 0.018601f, 0.022604f, 0.023271f, 0.017725f, 0.022821f, -0.028667f, -0.018665f, -0.009917f, -0.009233f, -0.013745f, -0.010446f, -0.023009f, -0.007732f, 0.001513f, 0.013759f, -0.000046f, -0.013086f, -0.000647f, 0.013753f, 0.000639f, -0.011281f, -0.005352f, 0.031204f, 0.002997f, 0.011776f, 0.003566f, 0.012940f, 0.002599f, 0.004250f, -0.019175f, 0.010758f, 0.000695f, 0.004498f, -0.020095f, 0.007020f, -0.030851f, 0.000060f, -0.009772f, 0.007717f, -0.002842f, -0.022450f, -0.000564f, -0.022344f, 0.004091f, -0.018553f, 0.016993f, -0.009576f, 0.026725f, 0.000913f, -0.000508f, 0.013555f, 0.002883f, -0.004156f, -0.003946f, 0.005537f, -0.009150f, 0.006400f, 0.016492f, 0.008529f, -0.012282f, -0.006335f, 0.035359f, 0.002802f, 0.028205f, -0.026052f, -0.005499f, -0.002670f, 0.020522f, -0.022714f, 0.003228f, 0.011040f, -0.022691f, 0.015965f, -0.014248f, 0.004267f, 0.022073f, - 0.002503f, 0.012440f, 0.006005f, 0.028844f, 0.012608f, -0.011948f, -0.009290f, -0.011509f, 0.001874f, 0.001116f, 0.012260f, -0.007195f, -0.001236f, 0.007932f, 0.000697f, 0.006123f, 0.008449f, 0.001174f, -0.006539f, 0.008005f, 0.006269f, -0.000755f, 0.002632f, 0.002704f, -0.002794f, -0.002369f, -0.009312f, 0.006351f, -0.004378f, -0.004220f, -0.001699f, -0.004895f, 0.004799f, -0.003325f, -0.000976f, -0.005244f, -0.001131f, -0.001162f, 0.006833f, 0.004787f, -0.000053f, -0.001042f, -0.000227f, 0.003813f, 0.004741f, 0.004045f, 0.008736f, -0.000953f, -0.003171f, -0.008401f, -0.028852f, 0.004576f, 0.027637f, 0.021126f, 0.022545f, -0.007300f, -0.006086f, 0.005980f, -0.004178f, 0.028482f, 0.009223f, 0.013721f, 0.023553f, -0.001429f, 0.008693f, -0.015844f, 0.023468f, 0.012127f, -0.006147f, -0.014213f, -0.013685f, 0.016186f, -0.027645f, 0.011036f, 0.015639f, -0.011169f, -0.015502f, -0.008448f, 0.014585f, 0.005825f, -0.005725f, -0.009756f, 0.000048f, -0.016625f, -0.025599f, 0.004937f, -0.024572f, -0.036112f, -0.004714f, 0.001707f, 0.036766f, -0.015620f, -0.012704f, 0.016725f, 0.027063f, 0.027504f, - 0.014377f, -0.001364f, 0.006199f, -0.011444f, 0.001994f, -0.012009f, 0.030289f, 0.027099f, 0.017286f, -0.000953f, -0.031167f, 0.000088f, -0.026629f, 0.029558f, 0.022665f, 0.014407f, -0.022111f, 0.018448f, 0.010275f, 0.012852f, -0.004190f, -0.018414f, -0.013644f, -0.014681f, 0.005013f, -0.020743f, -0.038506f, 0.007793f, 0.026024f, 0.014029f, 0.025554f, -0.007574f, -0.007094f, 0.026087f, 0.008580f, 0.003710f, 0.017159f, 0.005902f, 0.000470f, 0.015022f, 0.009294f, -0.001167f, 0.006745f, 0.006631f, 0.003878f, -0.004701f, -0.008501f, -0.011020f, 0.003000f, 0.007437f, 0.004204f, 0.015142f, 0.000391f, 0.010848f, -0.003351f, 0.004565f, 0.008450f, 0.001357f, -0.003846f, -0.002111f, -0.012378f, -0.010452f, 0.003775f, 0.002896f, 0.004984f, 0.013172f, 0.001965f, 0.010062f, -0.003677f, -0.001964f, 0.001764f, -0.009310f, -0.007420f, -0.002559f, -0.007960f, 0.004015f, -0.002583f, 0.003293f, 0.007326f, 0.010377f, 0.014670f, 0.023179f, 0.050125f, 0.022155f, 0.017538f, 0.016197f, -0.030928f, -0.004959f, -0.011275f, 0.039508f, -0.040181f, -0.038259f, 0.010994f, 0.025753f, -0.000674f, 0.031516f, - 0.028727f, -0.001471f, 0.011084f, -0.019072f, -0.013642f, 0.029953f, -0.011809f, 0.020548f, 0.007349f, -0.013478f, -0.006947f, -0.006035f, -0.006589f, -0.014058f, 0.011710f, 0.012362f, 0.010460f, 0.000865f, -0.015576f, -0.020180f, 0.026013f, -0.025668f, 0.020150f, 0.001743f, -0.031467f, 0.015761f, 0.030057f, -0.000726f, -0.008122f, -0.003926f, 0.002472f, 0.001611f, 0.020517f, -0.001197f, -0.015366f, -0.006543f, 0.017462f, -0.031882f, 0.007700f, -0.005447f, 0.025857f, 0.027124f, 0.018223f, 0.021204f, 0.028109f, 0.020054f, 0.007370f, -0.018376f, -0.020542f, 0.009819f, 0.013729f, -0.001114f, 0.011897f, 0.016058f, 0.042825f, -0.024277f, 0.027110f, -0.016179f, -0.010227f, 0.029316f, 0.004520f, -0.017710f, -0.015293f, -0.016350f, -0.026366f, -0.009142f, -0.012871f, 0.021005f, 0.000554f, -0.017015f, 0.009291f, 0.005745f, -0.003567f, 0.009794f, -0.020095f, 0.013032f, 0.000900f, -0.002003f, -0.002123f, 0.011058f, 0.001973f, 0.002826f, 0.011707f, -0.004967f, 0.001950f, 0.008407f, -0.012848f, 0.008977f, 0.000568f, 0.003274f, -0.005719f, 0.007136f, -0.002530f, 0.000740f, 0.009997f, -0.000074f, - -0.002355f, 0.002428f, 0.006758f, 0.008355f, 0.014178f, 0.011408f, 0.004248f, -0.006654f, -0.005396f, -0.020209f, 0.004489f, -0.016849f, -0.004911f, -0.007399f, -0.006848f, 0.007823f, 0.003062f, -0.008102f, -0.033312f, -0.005956f, 0.019397f, -0.023933f, 0.000767f, -0.015061f, -0.026315f, 0.038276f, 0.032735f, 0.027356f, 0.012978f, 0.007124f, 0.010775f, 0.028098f, 0.015531f, 0.028806f, -0.010667f, 0.024126f, -0.018181f, 0.029221f, 0.039263f, 0.024608f, 0.019627f, 0.009984f, 0.020272f, 0.020412f, -0.006068f, 0.040627f, 0.009757f, -0.024520f, 0.011626f, -0.024825f, -0.017068f, -0.005097f, -0.038596f, 0.000651f, -0.008232f, -0.010477f, -0.018767f, -0.009770f, -0.005395f, -0.001217f, -0.003812f, 0.001663f, 0.001608f, -0.022165f, -0.014637f, 0.004578f, -0.011706f, 0.009188f, 0.038000f, -0.019175f, -0.001557f, -0.003624f, 0.001394f, -0.018181f, 0.009780f, -0.008740f, 0.029410f, 0.006251f, 0.017561f, 0.027504f, 0.004683f, -0.001838f, -0.018163f, -0.040412f, 0.005318f, 0.030064f, 0.021813f, -0.005700f, -0.026943f, 0.022678f, 0.002371f, 0.013658f, -0.034491f, -0.024756f, -0.022720f, -0.034192f, - -0.021187f, -0.025017f, 0.011627f, 0.003692f, 0.008727f, 0.011405f, 0.015758f, -0.007724f, 0.016039f, 0.018262f, 0.000551f, 0.009817f, -0.005889f, -0.012132f, -0.012513f, -0.013134f, -0.005283f, -0.009576f, -0.000611f, 0.002886f, -0.001292f, 0.000866f, 0.002408f, -0.011111f, -0.010301f, -0.017591f, -0.006055f, -0.004080f, -0.009813f, 0.003869f, 0.001433f, -0.005196f, -0.015938f, -0.007319f, -0.005899f, -0.004103f, 0.013250f, 0.004061f, -0.005823f, -0.007335f, -0.002700f, -0.019090f, 0.005187f, -0.003884f, 0.009844f, 0.001136f, -0.006035f, -0.011250f, 0.011727f, -0.007711f, 0.016782f, -0.057186f, -0.036610f, -0.017420f, 0.040849f, 0.029745f, -0.022152f, 0.025484f, 0.023000f, 0.019609f, 0.019202f, -0.019203f, 0.001934f, 0.011061f, -0.019101f, -0.057645f, -0.010547f, -0.016022f, -0.035355f, 0.003155f, -0.012087f, -0.009083f, 0.010763f, 0.006379f, -0.007902f, 0.001645f, 0.026958f, 0.028826f, -0.053159f, 0.012568f, 0.002652f, 0.024506f, 0.008310f, 0.001271f, -0.033135f, 0.010023f, -0.008544f, -0.009268f, -0.022813f, -0.017005f, 0.042484f, -0.019411f, -0.000838f, 0.004971f, -0.011325f, 0.046958f, - 0.022269f, -0.021068f, -0.012757f, -0.036950f, -0.005399f, 0.035075f, 0.010247f, 0.010516f, -0.011648f, 0.021366f, -0.005158f, -0.009426f, 0.019708f, -0.011878f, 0.032735f, -0.007870f, 0.024362f, -0.050013f, -0.016983f, 0.028396f, 0.006923f, -0.004759f, 0.007934f, -0.055335f, -0.026184f, 0.008198f, -0.022113f, 0.008236f, 0.002138f, 0.005928f, 0.033728f, -0.012867f, 0.013548f, -0.002892f, -0.027597f, -0.004998f, 0.020712f, 0.029909f, -0.001072f, -0.012871f, -0.023415f, 0.000395f, -0.032649f, -0.010847f, 0.002708f, 0.038020f, 0.034052f, 0.004392f, 0.014241f, 0.004016f, -0.005837f, 0.018683f, 0.014214f, -0.007822f, 0.015611f, 0.011581f, 0.006182f, -0.013494f, -0.001047f, -0.007153f, 0.011353f, 0.007697f, 0.010083f, -0.001182f, -0.015738f, 0.014358f, 0.000533f, -0.007615f, -0.015334f, -0.001086f, -0.001372f, -0.014708f, 0.009914f, -0.010799f, -0.016725f, 0.018341f, -0.007638f, -0.006722f, -0.008530f, 0.003783f, 0.002514f, 0.014605f, 0.003147f, -0.002965f, 0.006065f, 0.008873f, -0.016951f, 0.004208f, 0.004610f, -0.006894f, 0.010372f, -0.024905f, -0.071594f, -0.006067f, -0.008645f, -0.007752f, - 0.010950f, -0.028563f, 0.056091f, -0.010243f, 0.002460f, 0.061894f, -0.072886f, -0.007577f, -0.014299f, -0.006945f, -0.083481f, 0.004655f, -0.012975f, -0.016130f, 0.028224f, -0.028646f, 0.004320f, 0.005471f, 0.013411f, -0.002623f, -0.030490f, 0.020805f, -0.020059f, 0.043363f, -0.007560f, -0.049152f, -0.003725f, -0.001652f, -0.024914f, -0.049520f, 0.022134f, 0.025226f, -0.041583f, 0.033874f, -0.037621f, -0.029157f, -0.018069f, 0.003285f, 0.002887f, 0.005600f, 0.023816f, -0.004528f, -0.022970f, -0.053986f, 0.010872f, -0.072985f, -0.038946f, -0.025079f, -0.058662f, -0.034628f, -0.017025f, -0.003565f, -0.027629f, 0.041851f, 0.042861f, 0.009595f, -0.013136f, 0.047548f, 0.021255f, -0.005382f, -0.010890f, 0.034253f, 0.025051f, -0.011623f, 0.045063f, -0.037923f, -0.019650f, 0.049531f, 0.023089f, 0.069456f, -0.038075f, -0.042577f, 0.010864f, -0.032356f, 0.034761f, 0.003842f, 0.011989f, 0.066046f, -0.036521f, -0.038866f, -0.014507f, 0.013814f, 0.014898f, 0.016727f, 0.016739f, 0.019231f, -0.020435f, 0.008168f, 0.002984f, -0.001303f, -0.002466f, -0.013457f, -0.010956f, 0.019396f, -0.020928f, -0.000887f, - 0.004116f, -0.009899f, 0.002508f, -0.010151f, -0.000834f, -0.000936f, 0.004244f, -0.016489f, 0.008430f, 0.021013f, 0.006084f, 0.005214f, 0.022926f, 0.017112f, -0.001686f, -0.021980f, 0.020267f, 0.005374f, -0.007757f, -0.016326f, 0.021043f, 0.003376f, 0.000591f, 0.013076f, 0.016297f, -0.020844f, 0.010872f, 0.007083f, -0.015159f, -0.006024f, -0.023521f, 0.015025f, -0.002862f, -0.026550f, -0.013260f, 0.006571f, 0.055724f, 0.031553f, -0.005148f, 0.075201f, -0.008678f, 0.030782f, -0.035576f, 0.043819f, 0.041455f, -0.003946f, -0.033277f, 0.003335f, 0.012022f, -0.018768f, 0.019661f, -0.027307f, -0.000452f, -0.008529f, -0.008915f, -0.031014f, -0.022554f, -0.014224f, -0.001902f, -0.010187f, -0.024230f, 0.035749f, 0.024655f, 0.006459f, -0.010072f, 0.005914f, 0.034600f, 0.016083f, 0.025421f, 0.015788f, -0.018960f, -0.029534f, 0.059175f, -0.007983f, -0.032375f, -0.013724f, -0.013916f, -0.007973f, 0.042822f, 0.001603f, -0.033035f, -0.012854f, -0.082096f, -0.020458f, -0.009637f, 0.050325f, 0.034907f, -0.100008f, -0.042983f, -0.024520f, -0.000521f, 0.004755f, -0.039841f, 0.029070f, 0.015669f, 0.025264f, - 0.050020f, -0.065702f, 0.064013f, 0.045714f, -0.020819f, -0.044215f, 0.002785f, -0.011232f, 0.017031f, 0.058019f, -0.030215f, -0.034072f, 0.047518f, -0.056263f, -0.062673f, -0.025522f, 0.006402f, -0.018243f, -0.068680f, -0.028071f, -0.022214f, 0.000747f, 0.003754f, -0.019972f, -0.001395f, 0.002635f, 0.000817f, 0.005518f, -0.043418f, -0.015592f, -0.014390f, 0.002447f, 0.012121f, -0.003576f, -0.013891f, -0.008442f, 0.004605f, 0.021785f, 0.023663f, -0.003669f, -0.020572f, -0.005729f, 0.030108f, 0.001402f, -0.007855f, 0.005888f, -0.040887f, -0.012434f, -0.019298f, 0.002296f, 0.007049f, -0.040057f, -0.040421f, 0.009656f, 0.035125f, -0.015520f, 0.022982f, 0.006670f, -0.011341f, -0.003735f, 0.009317f, 0.006617f, -0.003343f, 0.006568f, -0.001179f, 0.052281f, 0.007032f, 0.019668f, -0.040801f, -0.064409f, 0.093104f, 0.046653f, 0.004237f, 0.006143f, -0.020935f, -0.054775f, 0.019247f, -0.004220f, 0.047023f, 0.010564f, 0.017467f, 0.051595f, 0.028528f, -0.000520f, -0.005470f, 0.008779f, -0.031391f, -0.025770f, -0.033376f, -0.018568f, 0.030963f, -0.008386f, 0.001991f, 0.038767f, -0.006608f, 0.017063f, - -0.053686f, -0.048168f, -0.032710f, 0.028014f, 0.011396f, -0.001674f, 0.012826f, -0.016965f, -0.048266f, 0.061119f, -0.057893f, 0.026830f, 0.027593f, 0.021829f, 0.009730f, 0.037074f, -0.023777f, -0.059118f, 0.043863f, 0.124391f, -0.021856f, 0.060258f, -0.072249f, -0.038844f, 0.044733f, 0.026326f, -0.067075f, -0.018740f, -0.005622f, 0.058452f, -0.014453f, -0.006135f, -0.091222f, -0.058474f, -0.020929f, -0.066829f, 0.056067f, 0.059910f, 0.094269f, -0.083256f, 0.035909f, 0.010658f, -0.046378f, -0.002461f, -0.002175f, -0.096195f, 0.068787f, -0.028409f, 0.032488f, -0.009666f, 0.005371f, 0.130725f, -0.035231f, 0.045513f, 0.029929f, -0.031361f, 0.056887f, 0.000172f, -0.010941f, 0.003730f, 0.014688f, 0.037011f, 0.022507f, 0.014888f, -0.001281f, 0.035060f, -0.032603f, -0.015790f, 0.002757f, 0.008985f, 0.016157f, -0.008650f, 0.028107f, 0.004075f, 0.012491f, -0.005183f, 0.021295f, -0.001496f, -0.031204f, 0.018241f, -0.038334f, -0.022337f, -0.008917f, 0.016741f, -0.004101f, 0.019931f, 0.044824f, 0.069579f, 0.049963f, 0.014089f, 0.032133f, -0.018228f, 0.016332f, -0.000834f, -0.001432f, -0.002599f, - 0.006672f, -0.013997f, 0.019630f, -0.018684f, -0.082849f, -0.047408f, -0.001443f, -0.012867f, -0.027586f, 0.009822f, 0.027075f, 0.002502f, -0.029173f, -0.001757f, -0.027955f, 0.076171f, -0.023213f, 0.001480f, 0.058218f, -0.003528f, -0.059184f, -0.041631f, -0.040371f, -0.018271f, -0.021373f, 0.063417f, 0.006862f, 0.010237f, 0.032004f, -0.017721f, -0.017516f, -0.010966f, -0.017863f, -0.039104f, -0.008871f, 0.072738f, 0.023812f, 0.017091f, -0.048262f, 0.017640f, 0.004053f, -0.034813f, -0.003784f, -0.017571f, 0.079463f, -0.062907f, -0.053840f, -0.019312f, 0.010125f, -0.018915f, 0.002657f, 0.021141f, -0.040999f, -0.011321f, 0.067342f, -0.054314f, 0.009734f, -0.013788f, -0.032639f, -0.057588f, -0.043594f, 0.001895f, -0.079635f, -0.096801f, 0.023147f, 0.019557f, 0.015729f, -0.086518f, 0.066858f, 0.080734f, -0.027273f, -0.023662f, 0.005261f, -0.003588f, -0.018043f, -0.045049f, 0.032687f, 0.121951f, 0.031913f, -0.030393f, 0.000788f, 0.019192f, 0.040946f, 0.010835f, -0.072108f, -0.064672f, 0.070029f, -0.013571f, -0.028407f, -0.042310f, 0.014673f, 0.079657f, 0.024619f, -0.025432f, 0.014880f, -0.003281f, - -0.014065f, -0.007161f, -0.004124f, 0.035160f, 0.019676f, -0.012177f, -0.019408f, 0.015832f, 0.009406f, -0.003123f, -0.007964f, 0.012782f, -0.018784f, 0.011603f, 0.030729f, -0.002949f, -0.016835f, -0.005214f, -0.010809f, -0.018648f, -0.034196f, 0.004896f, 0.026249f, -0.017601f, -0.021551f, 0.010598f, -0.026924f, 0.000087f, -0.043848f, 0.021020f, 0.027424f, 0.069907f, -0.022226f, -0.009564f, -0.028929f, -0.029736f, 0.008425f, 0.015407f, 0.029127f, -0.003497f, -0.006278f, -0.029312f, 0.011812f, 0.007260f, 0.008814f, -0.008655f, -0.001830f, 0.018442f, 0.021344f, -0.026490f, -0.069712f, 0.019260f, 0.027306f, -0.103355f, 0.056631f, 0.002404f, -0.029404f, 0.009876f, 0.037738f, -0.053429f, 0.033013f, -0.049615f, 0.013421f, -0.002902f, -0.024964f, -0.013913f, -0.006740f, -0.036536f, 0.026182f, 0.022867f, -0.001041f, 0.012601f, 0.001612f, 0.020225f, 0.026434f, 0.025527f, 0.037902f, 0.032530f, -0.020126f, 0.005049f, -0.041324f, 0.043803f, -0.033879f, 0.010710f, -0.006523f, 0.008914f, 0.002154f, -0.031330f, 0.028480f, -0.015892f, -0.030258f, 0.063458f, -0.050793f, 0.015233f, -0.014646f, -0.025267f, - 0.025621f, -0.006634f, 0.007603f, 0.039531f, -0.047816f, 0.001912f, -0.058588f, -0.115452f, -0.002946f, 0.036755f, -0.013866f, 0.148340f, 0.030204f, -0.058009f, 0.016297f, -0.080921f, 0.028087f, 0.057837f, 0.068354f, -0.023540f, -0.013493f, -0.089964f, -0.103090f, -0.008713f, -0.064274f, 0.015184f, -0.004067f, -0.056138f, -0.013146f, -0.027822f, -0.061414f, 0.050262f, 0.098964f, -0.027828f, 0.006970f, 0.021302f, -0.026270f, 0.030571f, 0.039007f, -0.027167f, 0.004516f, 0.000039f, -0.049301f, 0.024555f, 0.004137f, 0.014902f, 0.018009f, -0.034885f, 0.013609f, -0.018540f, -0.027969f, -0.031717f, 0.026884f, -0.019709f, 0.011038f, -0.030665f, -0.011066f, -0.002156f, -0.037348f, 0.036483f, -0.023686f, 0.007241f, 0.011128f, -0.034848f, -0.005697f, 0.026738f, -0.003203f, 0.003748f, 0.005939f, -0.010231f, 0.016442f, 0.034537f, -0.004173f, 0.020032f, 0.023663f, -0.029643f, -0.056167f, 0.018922f, 0.007823f, 0.032351f, 0.038804f, -0.050811f, -0.049876f, 0.008668f, -0.014660f, 0.008832f, 0.016906f, 0.009208f, -0.073661f, 0.015198f, -0.005380f, -0.042906f, 0.019294f, -0.027855f, -0.018848f, -0.034631f, - 0.017641f, -0.037716f, 0.048288f, -0.005127f, 0.017860f, -0.011132f, 0.064868f, -0.017630f, 0.035610f, -0.000581f, 0.042460f, -0.011861f, -0.021495f, 0.013875f, -0.024323f, -0.025666f, 0.003450f, 0.048348f, 0.031055f, -0.032925f, 0.035123f, -0.024699f, -0.037852f, 0.010653f, 0.051675f, -0.019907f, -0.021120f, 0.027649f, 0.012369f, -0.025781f, 0.002842f, 0.035172f, -0.014717f, -0.033877f, 0.018400f, 0.014088f, 0.021579f, 0.039601f, 0.008264f, -0.023945f, -0.007914f, 0.087021f, 0.091400f, -0.025314f, -0.075787f, 0.058045f, -0.025376f, 0.016345f, 0.008186f, 0.097986f, 0.013425f, -0.050925f, -0.018645f, -0.012377f, 0.002710f, 0.015124f, 0.023613f, 0.031811f, -0.037896f, 0.012110f, 0.008562f, 0.056783f, -0.014223f, 0.039991f, 0.043038f, 0.023798f, 0.020504f, 0.012364f, 0.034265f, -0.032939f, 0.036876f, 0.046921f, 0.033852f, 0.005676f, -0.066600f, -0.009998f, -0.042965f, 0.001942f, 0.028792f, 0.009637f, -0.014706f, -0.023440f, -0.013723f, -0.003786f, -0.001727f, 0.012147f, -0.013822f, 0.003684f, -0.001466f, -0.010504f, 0.020246f, 0.007836f, -0.018206f, -0.008648f, -0.004697f, 0.024695f, - -0.000041f, 0.005001f, -0.023873f, -0.017145f, -0.031660f, -0.014970f, -0.001959f, -0.003092f, 0.000402f, -0.005606f, -0.028378f, 0.007218f, -0.009714f, -0.004741f, 0.004186f, -0.008012f, -0.000424f, -0.024669f, -0.005874f, 0.000933f, 0.000363f, 0.000424f, -0.006289f, -0.006295f, -0.002172f, -0.009843f, -0.013845f, 0.103264f, 0.043534f, -0.046759f, 0.011345f, -0.048846f, -0.026383f, -0.003433f, 0.017716f, -0.007875f, 0.037938f, -0.045182f, -0.001333f, 0.017701f, -0.001449f, 0.018412f, -0.002623f, 0.006403f, 0.004394f, -0.032404f, -0.010085f, 0.008406f, -0.030092f, -0.030459f, 0.002618f, 0.007732f, -0.021383f, 0.015268f, 0.014890f, -0.009123f, -0.015098f, -0.002503f, 0.003347f, -0.005389f, 0.012801f, 0.003194f, 0.010095f, -0.013392f, -0.005588f, 0.023561f, 0.000075f, 0.001143f, 0.011476f, -0.007706f, 0.012691f, -0.012135f, -0.022339f, -0.014616f, 0.023180f, -0.018448f, -0.013455f, 0.001367f, -0.018163f, -0.019742f, 0.028188f, -0.028059f, 0.044527f, 0.009694f, -0.019665f, 0.019420f, 0.003143f, -0.033020f, 0.002934f, -0.005954f, -0.005729f, 0.015603f, -0.000455f, -0.019395f, 0.037885f, -0.022744f, - -0.008760f, 0.019544f, 0.006345f, -0.008289f, 0.001022f, 0.006018f, -0.000581f, -0.001633f, -0.003865f, 0.008663f, 0.015767f, -0.000644f, -0.026177f, 0.018737f, -0.013479f, -0.002065f, 0.022484f, -0.001517f, -0.006822f, -0.000956f, -0.019346f, 0.009344f, 0.006755f, -0.002196f, 0.000472f, 0.007874f, -0.018838f, 0.001338f, -0.006428f, 0.001865f, 0.007852f, 0.001965f, -0.007985f, 0.018473f, -0.028109f, 0.003646f, 0.003367f, -0.002044f, 0.003525f, -0.004188f, -0.015855f, 0.017484f, -0.008098f, 0.012476f, 0.000248f, -0.002096f, 0.016556f, 0.006120f, -0.013789f, 0.005171f, -0.006934f, -0.006072f, 0.003209f, 0.010406f, 0.010683f, -0.004229f, -0.013613f, 0.006931f, -0.007731f, 0.009417f, -0.062757f, -0.074991f, 0.063208f, 0.257101f, 0.100290f, 0.118063f, 0.001386f, -0.240312f, -0.177345f, -0.092389f, -0.141370f, 0.063526f, 0.121329f, 0.050321f, 0.214655f, 0.121787f, -0.008308f, 0.050698f, -0.108865f, -0.218980f, -0.087692f, -0.152043f, -0.024564f, 0.105652f, 0.088618f, 0.080615f, 0.133699f, 0.082819f, 0.022487f, 0.036975f, -0.010215f, -0.155778f, -0.069164f, -0.055995f, -0.215727f, 0.040138f, - 0.028001f, -0.095522f, 0.154961f, 0.153767f, -0.005496f, 0.194506f, 0.095301f, -0.090115f, 0.060043f, -0.089592f, -0.187066f, -0.014666f, -0.113107f, -0.163316f, 0.028614f, 0.017635f, -0.010040f, 0.152561f, 0.146691f, 0.087919f, 0.130547f, 0.079652f, -0.051171f, -0.057210f, -0.102259f, -0.174613f, -0.129241f, -0.061403f, -0.057969f, 0.031465f, 0.098369f, 0.067563f, 0.108101f, 0.163828f, 0.063381f, -0.021427f, -0.020806f, -0.113155f, -0.091781f, 0.008481f, -0.105310f, -0.047576f, 0.056619f, 0.014124f, 0.070956f, 0.057428f, -0.029580f, 0.019193f, -0.006250f, -0.039040f, 0.008294f, -0.017398f, -0.018045f, 0.036263f, 0.012190f, 0.015384f, 0.047821f, -0.027643f, -0.011132f, 0.026229f, -0.036324f, -0.029450f, 0.013262f, -0.086011f, -0.014720f, 0.029562f, -0.069767f, 0.033996f, 0.042912f, 0.004655f, 0.108390f, 0.103538f, 0.023371f, 0.042045f, -0.030670f, -0.092479f, -0.046851f, -0.123093f, -0.140217f, -0.079268f, -0.034203f, 0.026490f, 0.132766f, 0.154366f, 0.161233f, 0.143613f, 0.081513f, -0.017916f, -0.090879f, -0.143040f, -0.200048f, -0.170747f, -0.094504f, -0.024415f, 0.079867f, 0.144275f, - 0.143461f, 0.128703f, 0.083125f, -0.015824f, -0.026528f, -0.041469f, -0.063077f, -0.044585f, -0.039792f, -0.046466f, -0.025716f, -0.013197f, -0.011886f, 0.009058f, 0.026246f, 0.035633f, 0.046051f, 0.042901f, 0.032981f, 0.014644f, 0.001170f, -0.017460f, -0.026079f, -0.034016f, -0.036274f, -0.035980f, -0.015318f, 0.001145f, 0.012410f, 0.012302f, 0.018599f, 0.019964f, 0.021207f, 0.015344f, 0.004335f, -0.002068f, -0.001308f, -0.007677f, -0.006494f, -0.005956f, -0.011444f, -0.013330f, -0.002966f, -0.004652f, -0.003280f, -0.002119f, -0.001571f, 0.004915f, 0.013253f, 0.010012f, 0.010329f, 0.010074f, 0.005654f, 0.001631f, -0.002091f, -0.010275f, -0.011303f, -0.012345f, -0.009166f, -0.005483f, -0.000353f, 0.001354f, 0.005741f, 0.008289f, 0.008725f, 0.004334f, 0.002833f, 0.000713f, 0.000586f, -0.000919f, -0.001603f, -0.003133f, -0.001072f, -0.001793f, -0.001490f, -0.002574f, -0.002488f, -0.003214f, -0.001768f, -0.002323f, 0.001159f, 0.003146f, 0.005595f, 0.005257f, 0.004999f, 0.002613f, 0.001792f, -0.001704f, -0.002871f, -0.003979f, -0.004411f, -0.005222f, -0.001939f, -0.001433f, 0.000402f, 0.000877f, - 0.002187f, 0.001764f, 0.003181f, 0.001526f, 0.001830f, 0.000367f, 0.000361f, -0.001218f, -0.000415f, -0.001402f, -0.000251f, -0.000709f}, - {0.001020f, 0.006386f, -0.008690f, -0.007109f, -0.001197f, 0.006848f, 0.010141f, -0.004785f, 0.005930f, -0.003292f, -0.008407f, -0.002330f, -0.004691f, 0.002751f, -0.001140f, -0.004092f, 0.003755f, 0.005649f, 0.001291f, 0.006833f, -0.012535f, -0.013586f, -0.008696f, 0.001244f, -0.000013f, -0.002338f, 0.000676f, 0.004123f, -0.001336f, 0.005574f, 0.004641f, -0.005946f, 0.002277f, -0.000462f, 0.007264f, 0.006661f, 0.002541f, -0.007116f, 0.004674f, -0.004246f, 0.002387f, 0.004638f, -0.011318f, 0.012372f, 0.018218f, 0.002364f, 0.008267f, -0.006719f, -0.001333f, -0.006308f, -0.003248f, 0.005619f, -0.001863f, -0.006523f, -0.001704f, -0.004114f, 0.003157f, -0.004012f, -0.003610f, 0.000347f, 0.003348f, -0.003330f, -0.003718f, -0.001639f, 0.006487f, 0.005804f, -0.004898f, -0.001828f, -0.005792f, 0.001320f, 0.007702f, 0.002117f, -0.002791f, -0.003688f, 0.002911f, -0.001050f, -0.005211f, -0.001929f, -0.003511f, -0.000527f, -0.001872f, 0.003018f, 0.002866f, 0.001509f, -0.001659f, -0.002339f, 0.005201f, -0.000721f, 0.001433f, 0.002667f, -0.000748f, -0.000092f, -0.001049f, 0.001560f, 0.000234f, 0.000377f, - -0.001490f, 0.000194f, -0.000455f, -0.001526f, 0.000100f, -0.000254f, 0.001144f, 0.002705f, -0.001489f, 0.000613f, -0.000267f, 0.001305f, 0.001653f, -0.000417f, -0.000642f, -0.000365f, -0.000055f, -0.001479f, -0.000582f, 0.000628f, -0.000528f, 0.000251f, -0.000002f, 0.001188f, 0.000294f, 0.000135f, 0.028005f, 0.012872f, -0.000959f, 0.005849f, 0.005334f, -0.006726f, -0.003280f, 0.007752f, 0.003543f, 0.008438f, -0.006130f, 0.012275f, 0.004628f, -0.012138f, 0.009636f, 0.000500f, -0.000206f, -0.006413f, 0.007054f, -0.013122f, -0.011236f, -0.002424f, -0.003987f, -0.002192f, -0.004005f, 0.001503f, -0.002426f, -0.005466f, -0.003927f, 0.004544f, -0.004964f, 0.003168f, 0.002026f, 0.001259f, -0.005481f, 0.007693f, -0.016125f, -0.002859f, -0.000075f, -0.002850f, -0.002015f, 0.001368f, 0.003026f, -0.005201f, 0.004130f, -0.006297f, 0.006016f, 0.001875f, 0.001326f, 0.006165f, -0.004356f, -0.001079f, 0.002521f, 0.009660f, 0.002410f, 0.004036f, -0.002222f, -0.008437f, -0.011732f, 0.002130f, 0.006386f, 0.008293f, -0.003402f, -0.013161f, 0.001963f, -0.005400f, -0.003653f, -0.003070f, 0.003650f, 0.000353f, - 0.012848f, -0.000414f, 0.004331f, 0.002486f, -0.001935f, -0.003375f, -0.003572f, -0.013446f, -0.003932f, -0.002226f, -0.001816f, -0.002600f, 0.002504f, 0.006688f, 0.001885f, 0.006343f, -0.000063f, -0.000635f, -0.002030f, 0.001721f, 0.002332f, -0.000673f, -0.002591f, 0.002229f, -0.001330f, 0.000858f, -0.001127f, 0.001144f, -0.001918f, -0.001221f, 0.001829f, 0.000560f, 0.001036f, -0.000727f, 0.000641f, -0.001261f, 0.015132f, 0.003457f, -0.012685f, -0.014497f, 0.004007f, -0.004450f, -0.011921f, 0.013540f, -0.006626f, -0.002266f, -0.001811f, 0.010608f, 0.002285f, -0.006218f, 0.007517f, -0.005839f, 0.011339f, -0.015661f, -0.010265f, 0.012394f, -0.012941f, -0.013150f, -0.005224f, 0.010585f, 0.004694f, 0.005042f, -0.001215f, 0.009478f, 0.005801f, -0.001042f, -0.012552f, 0.003348f, -0.003471f, 0.004471f, 0.004018f, 0.003370f, 0.010944f, 0.002868f, -0.010738f, 0.000929f, 0.007510f, 0.010940f, 0.003727f, -0.006088f, -0.001408f, -0.008951f, 0.003815f, -0.015829f, -0.000602f, 0.016961f, 0.000926f, 0.001760f, -0.008721f, -0.010877f, 0.001670f, 0.002293f, 0.012533f, -0.002794f, 0.001087f, 0.001250f, - -0.001844f, 0.001218f, 0.004170f, 0.000676f, 0.008816f, -0.002460f, 0.005857f, 0.000797f, 0.001586f, 0.000989f, 0.010339f, 0.000361f, -0.001438f, 0.001839f, -0.002202f, -0.007061f, -0.003720f, -0.007278f, -0.000164f, 0.012939f, 0.002731f, -0.004333f, -0.001461f, -0.007502f, 0.004225f, -0.005891f, -0.004084f, 0.001337f, 0.000217f, 0.000360f, -0.003354f, -0.004824f, -0.000982f, 0.001098f, -0.001597f, 0.002645f, -0.000305f, -0.000085f, 0.002664f, 0.001587f, 0.002683f, 0.002138f, -0.000032f, 0.000800f, -0.002182f, 0.000039f, -0.001937f, -0.002161f, 0.001455f, 0.001661f, 0.003075f, 0.002150f, -0.001497f, -0.000469f, 0.001624f, -0.001284f, -0.002359f, 0.001243f, 0.000331f, 0.000018f, 0.000300f, -0.034789f, -0.022554f, -0.005098f, 0.003869f, 0.005474f, 0.000681f, -0.000155f, -0.013150f, -0.000928f, -0.002794f, -0.002326f, 0.000380f, -0.003481f, -0.001439f, -0.009906f, 0.005169f, -0.020721f, -0.007451f, 0.001737f, -0.004056f, -0.006411f, -0.003528f, -0.011839f, -0.005868f, -0.004985f, -0.005489f, 0.002482f, -0.009004f, -0.005107f, 0.011326f, 0.007221f, 0.000836f, 0.005290f, 0.004045f, -0.003799f, - -0.007465f, 0.004360f, 0.016872f, 0.001791f, 0.002180f, -0.006737f, -0.005846f, 0.004824f, -0.014314f, -0.007773f, 0.016019f, -0.014695f, 0.004478f, -0.003593f, -0.007278f, 0.003252f, 0.001148f, -0.004174f, 0.001019f, 0.002328f, -0.004973f, -0.000073f, -0.000925f, 0.009716f, 0.008801f, 0.001167f, 0.002426f, 0.004143f, -0.000214f, -0.002043f, -0.003320f, -0.020363f, 0.009875f, 0.005985f, -0.005437f, -0.000349f, -0.008395f, -0.002435f, 0.001280f, -0.006325f, 0.002886f, -0.007647f, -0.004105f, -0.008882f, -0.012901f, 0.008401f, -0.002393f, 0.000247f, -0.010892f, -0.002876f, 0.001495f, 0.001681f, -0.002814f, -0.000645f, -0.000528f, -0.003167f, -0.005600f, 0.000766f, -0.002838f, 0.002302f, -0.000375f, -0.001575f, -0.001092f, -0.000739f, 0.002853f, 0.000337f, -0.004129f, 0.000650f, -0.001191f, -0.000497f, 0.001425f, 0.000481f, -0.001022f, 0.000843f, -0.003228f, 0.001620f, -0.002929f, -0.001086f, -0.003828f, -0.030070f, 0.004721f, 0.006928f, -0.001784f, -0.002726f, -0.016486f, -0.006886f, 0.004657f, -0.014910f, -0.014091f, 0.002809f, -0.013398f, -0.007044f, -0.000236f, -0.008242f, 0.004712f, -0.006513f, - 0.010244f, -0.005431f, -0.003400f, 0.003118f, 0.007199f, 0.013031f, 0.008307f, -0.014688f, -0.000680f, -0.001159f, 0.007318f, 0.010731f, 0.018471f, -0.008229f, -0.007101f, 0.009446f, -0.009913f, 0.002262f, 0.002995f, 0.015447f, 0.005802f, 0.008596f, -0.011425f, -0.005161f, -0.015641f, 0.012412f, 0.013173f, 0.014953f, -0.000119f, -0.003278f, -0.009937f, -0.002157f, 0.010208f, -0.004725f, -0.006358f, -0.006011f, -0.007775f, 0.001666f, 0.001977f, 0.002331f, -0.010683f, -0.000179f, -0.010464f, -0.000604f, -0.001463f, 0.004284f, 0.003849f, -0.003275f, -0.004682f, -0.013439f, -0.000663f, -0.001096f, 0.008389f, -0.005200f, 0.013861f, -0.007848f, 0.001835f, 0.006357f, 0.012606f, -0.009665f, 0.003012f, 0.006536f, -0.011095f, 0.005616f, 0.000124f, 0.013815f, 0.004734f, 0.003095f, 0.008620f, -0.000856f, 0.002453f, 0.006540f, 0.002770f, 0.000081f, -0.002287f, 0.000121f, 0.002883f, -0.000876f, 0.003628f, 0.005370f, 0.004509f, -0.002004f, 0.002560f, 0.000365f, -0.001321f, 0.002169f, 0.002950f, 0.000029f, 0.001423f, 0.003459f, 0.002651f, 0.002799f, 0.001458f, -0.001306f, -0.002094f, 0.002683f, - -0.002257f, 0.002675f, -0.001246f, 0.000243f, 0.003435f, 0.002564f, -0.000650f, 0.001898f, 0.037316f, 0.031561f, -0.000910f, 0.000714f, 0.016774f, 0.002025f, 0.008334f, -0.005191f, 0.009313f, -0.007226f, 0.016932f, 0.005486f, 0.000260f, 0.003179f, 0.001400f, 0.020908f, 0.014508f, -0.014087f, -0.011306f, 0.004265f, 0.002469f, -0.004670f, -0.002775f, 0.002452f, 0.010370f, 0.007298f, 0.004861f, 0.000859f, 0.005585f, -0.003757f, -0.000045f, 0.011419f, -0.012561f, 0.004910f, 0.015786f, 0.011440f, 0.021377f, -0.002307f, -0.002983f, -0.002069f, 0.001567f, -0.006975f, 0.023211f, 0.020838f, 0.015283f, -0.007230f, -0.001864f, 0.008733f, 0.007530f, -0.006654f, 0.001667f, 0.011832f, -0.004275f, -0.005867f, 0.007901f, -0.022560f, -0.002366f, 0.001013f, 0.003516f, -0.007783f, -0.014374f, 0.005741f, 0.010218f, -0.012101f, -0.004195f, -0.013140f, 0.005043f, 0.000687f, -0.002491f, -0.002998f, -0.011044f, 0.018663f, -0.004746f, 0.002320f, -0.018983f, -0.004780f, -0.008949f, 0.022236f, -0.003743f, -0.003303f, 0.010220f, 0.004405f, 0.000155f, -0.007385f, 0.006863f, -0.004933f, -0.006478f, 0.010194f, - 0.009911f, -0.000363f, 0.006269f, 0.000003f, -0.002554f, 0.005308f, -0.000651f, 0.001940f, -0.001584f, -0.002654f, -0.000413f, 0.004083f, -0.002986f, -0.002650f, 0.000060f, -0.003473f, 0.001363f, -0.003152f, -0.001500f, 0.000066f, -0.000340f, 0.004058f, 0.000327f, 0.001041f, 0.002917f, 0.002528f, 0.000914f, 0.001206f, 0.002441f, 0.005481f, 0.001267f, 0.005155f, 0.001091f, 0.002448f, 0.004087f, 0.024443f, -0.000965f, 0.015457f, 0.021072f, -0.011114f, -0.025984f, 0.001117f, 0.019740f, -0.015261f, 0.013858f, -0.004098f, -0.018806f, -0.008644f, 0.018918f, -0.018460f, -0.016335f, 0.011925f, -0.018887f, 0.006325f, 0.008994f, 0.007442f, -0.005365f, 0.011472f, 0.003214f, 0.002188f, 0.007347f, -0.012017f, 0.016425f, 0.008131f, 0.007128f, -0.003349f, -0.001841f, 0.030677f, -0.010733f, 0.001948f, 0.007966f, 0.015462f, -0.020956f, -0.017198f, -0.016071f, 0.000669f, 0.001182f, -0.001025f, 0.009744f, 0.003085f, 0.017398f, 0.007056f, 0.010195f, -0.001586f, 0.001362f, -0.008548f, 0.015551f, -0.006987f, 0.015341f, -0.008311f, -0.013231f, 0.022880f, 0.018539f, -0.026187f, -0.023162f, -0.015169f, - -0.011906f, 0.008324f, 0.001313f, -0.005254f, 0.012082f, 0.013381f, -0.015978f, 0.009474f, -0.001287f, -0.031933f, -0.010564f, -0.016069f, -0.014628f, 0.005609f, -0.004973f, 0.010578f, -0.002410f, 0.001649f, 0.019153f, 0.019567f, -0.001797f, 0.005200f, -0.001684f, 0.003107f, 0.002771f, -0.006521f, 0.005505f, 0.001677f, -0.000233f, 0.016527f, 0.004963f, -0.000041f, 0.000512f, -0.002860f, 0.004882f, -0.000459f, 0.003223f, -0.003480f, -0.000171f, -0.003674f, 0.001028f, 0.004364f, 0.001379f, 0.000070f, -0.000484f, 0.003829f, 0.002445f, -0.002283f, 0.000359f, -0.000019f, 0.000601f, 0.001988f, 0.000877f, -0.001480f, -0.001795f, 0.000615f, 0.001113f, -0.000134f, -0.013802f, -0.019509f, 0.011736f, -0.011243f, -0.008143f, -0.007006f, -0.022538f, -0.002434f, 0.010157f, -0.006172f, -0.001298f, -0.008313f, 0.018697f, 0.002824f, 0.011934f, 0.009008f, -0.014944f, 0.015369f, 0.023155f, -0.007124f, -0.009363f, 0.002436f, -0.003942f, 0.009923f, -0.028484f, 0.010894f, 0.024798f, -0.003331f, -0.008025f, -0.007091f, 0.010824f, 0.022109f, -0.005186f, 0.005553f, -0.009814f, 0.015135f, -0.018217f, -0.007046f, - 0.003626f, -0.002897f, -0.014120f, 0.026090f, 0.018491f, 0.013763f, -0.005748f, -0.019720f, -0.002354f, -0.027999f, 0.004901f, -0.002067f, -0.000824f, -0.000616f, -0.004148f, 0.015126f, 0.012905f, -0.019460f, 0.010931f, -0.011664f, 0.016140f, -0.001505f, -0.003190f, -0.001364f, -0.016954f, -0.003281f, -0.015462f, -0.034410f, -0.001495f, 0.003996f, 0.002781f, -0.013227f, -0.000382f, -0.003803f, -0.025617f, 0.000495f, 0.022369f, -0.014119f, 0.005904f, 0.007255f, -0.002764f, 0.001559f, -0.006537f, -0.003930f, 0.005301f, 0.006325f, 0.007059f, -0.001800f, -0.004416f, -0.001733f, -0.004751f, 0.003914f, 0.001994f, -0.004078f, -0.001111f, -0.003752f, -0.004001f, -0.000562f, -0.003591f, -0.005566f, 0.003471f, -0.001178f, -0.004190f, 0.003342f, -0.002918f, 0.002752f, 0.004297f, 0.001767f, 0.004131f, 0.002862f, 0.000008f, 0.002704f, 0.009260f, 0.004415f, -0.004526f, -0.003169f, -0.005205f, -0.000004f, -0.006751f, 0.003576f, -0.000348f, 0.005241f, -0.001347f, 0.004081f, -0.000655f, -0.002917f, 0.008741f, 0.004165f, -0.036115f, 0.002539f, 0.021051f, 0.011499f, -0.016461f, -0.013378f, 0.026390f, 0.006101f, - 0.005925f, -0.005202f, 0.006822f, -0.000270f, -0.017664f, -0.004603f, -0.018552f, 0.008770f, -0.011057f, -0.001689f, -0.018078f, -0.020000f, -0.026897f, 0.016820f, 0.011343f, -0.008628f, -0.009599f, 0.007551f, -0.024703f, -0.002258f, 0.001846f, 0.005959f, 0.010837f, 0.005294f, 0.000679f, -0.008550f, 0.003577f, -0.007852f, 0.006499f, -0.007533f, 0.004287f, 0.002278f, -0.007838f, -0.010166f, -0.019367f, -0.012775f, 0.004876f, -0.033030f, -0.009022f, 0.018107f, 0.009620f, -0.003994f, 0.043086f, -0.006253f, 0.019947f, 0.019741f, -0.031444f, 0.002036f, -0.004200f, -0.026550f, -0.013909f, -0.014618f, 0.000435f, 0.003095f, 0.029762f, -0.004807f, 0.002834f, 0.020180f, 0.014947f, -0.003536f, 0.020079f, -0.009550f, -0.007415f, -0.013452f, -0.017859f, -0.025969f, -0.009896f, 0.014796f, -0.028303f, -0.014432f, 0.021812f, 0.015917f, -0.009560f, 0.019958f, -0.008927f, -0.001391f, -0.000924f, 0.009597f, -0.006283f, 0.009564f, -0.006020f, 0.008181f, -0.002403f, 0.003376f, -0.003879f, 0.006619f, 0.006323f, 0.002748f, -0.001151f, 0.007472f, -0.004866f, -0.005487f, 0.005813f, -0.001642f, 0.006347f, 0.004643f, - 0.003136f, 0.004295f, 0.002594f, 0.001218f, -0.010924f, -0.002020f, -0.000127f, 0.003037f, -0.002923f, -0.004610f, -0.003868f, -0.010437f, 0.003938f, -0.000218f, 0.006567f, 0.003715f, 0.006392f, 0.004877f, 0.001347f, 0.001970f, 0.024929f, -0.004422f, 0.008109f, -0.012229f, 0.007258f, 0.010309f, -0.006251f, 0.008802f, -0.013646f, -0.015203f, 0.023132f, 0.012455f, 0.014977f, 0.018269f, 0.000028f, -0.015209f, 0.019992f, -0.017507f, -0.023279f, 0.000239f, 0.022055f, -0.003248f, -0.018897f, 0.002503f, 0.025934f, -0.003819f, 0.007200f, 0.002404f, 0.036334f, 0.002193f, 0.007859f, 0.017778f, -0.002170f, -0.009349f, -0.017253f, 0.002356f, -0.002308f, -0.016776f, 0.000641f, -0.009924f, 0.006748f, 0.024464f, 0.000339f, -0.014910f, -0.004301f, -0.013833f, -0.007221f, -0.002236f, -0.005710f, 0.003227f, -0.018229f, 0.019569f, -0.010305f, 0.033126f, -0.008296f, -0.024237f, 0.001463f, 0.001075f, 0.011869f, 0.004935f, 0.006458f, -0.024860f, -0.019996f, 0.014407f, -0.020828f, -0.029211f, 0.008429f, 0.005681f, -0.006543f, 0.031372f, -0.025539f, -0.035593f, 0.013350f, -0.024337f, 0.002397f, 0.003245f, - 0.000762f, -0.023409f, -0.014121f, -0.030416f, 0.010460f, -0.003153f, -0.001607f, -0.004784f, -0.013434f, -0.006175f, -0.010177f, -0.005163f, -0.003913f, 0.011467f, -0.008792f, 0.008782f, 0.003296f, 0.009070f, 0.001595f, 0.001083f, -0.012315f, -0.004618f, 0.003414f, -0.004087f, -0.013449f, 0.002558f, -0.002139f, -0.005374f, -0.004704f, 0.004193f, -0.005379f, 0.005697f, -0.003064f, 0.006939f, -0.001313f, 0.003482f, -0.007005f, -0.007023f, -0.000192f, 0.000413f, -0.002476f, 0.010528f, -0.009271f, -0.008972f, -0.005803f, 0.005045f, 0.005625f, -0.007296f, 0.005441f, 0.001505f, -0.019291f, 0.010700f, 0.001109f, 0.026351f, 0.027674f, 0.039907f, 0.018248f, 0.008481f, 0.005575f, 0.013173f, -0.013521f, 0.015229f, -0.024001f, 0.011735f, -0.002313f, -0.002009f, -0.046044f, -0.017802f, -0.007519f, 0.015727f, -0.001922f, 0.003841f, 0.005046f, 0.004215f, -0.023505f, 0.024408f, -0.000869f, 0.009958f, 0.000865f, 0.022785f, -0.024387f, 0.017028f, -0.011959f, -0.000546f, 0.018489f, -0.020889f, -0.009293f, -0.022766f, -0.009017f, -0.025355f, 0.023192f, 0.017042f, 0.031136f, -0.001485f, 0.007415f, -0.028263f, - 0.006509f, -0.029301f, 0.028577f, 0.008110f, -0.004571f, 0.027049f, 0.027620f, 0.014128f, -0.016357f, -0.024470f, -0.035245f, -0.001521f, -0.012437f, -0.017751f, 0.019227f, -0.005228f, 0.044682f, -0.033006f, -0.011988f, 0.025556f, -0.026543f, -0.010532f, 0.006198f, 0.000516f, -0.003815f, -0.025495f, 0.011728f, 0.004392f, -0.013831f, 0.012692f, 0.026960f, -0.023065f, 0.026025f, 0.032375f, -0.009613f, -0.017064f, 0.013381f, -0.013083f, 0.012369f, 0.007923f, -0.013465f, -0.010480f, -0.002617f, -0.004152f, 0.019025f, 0.006455f, -0.003149f, -0.009142f, -0.014980f, -0.008449f, 0.004836f, -0.009564f, 0.004683f, 0.009196f, 0.005930f, -0.006408f, 0.005030f, -0.005231f, 0.007310f, 0.004773f, 0.008148f, 0.004960f, 0.000457f, -0.008423f, 0.005644f, 0.008552f, -0.008484f, 0.000424f, 0.003050f, 0.003235f, 0.007409f, 0.000747f, -0.000854f, 0.008149f, 0.010004f, 0.002021f, -0.004426f, -0.007650f, -0.000091f, 0.006955f, 0.008452f, 0.005785f, 0.041565f, -0.009516f, 0.005900f, -0.002249f, -0.013641f, 0.018600f, -0.006774f, 0.006879f, 0.002281f, 0.026661f, -0.008348f, 0.031096f, 0.000572f, 0.015477f, - 0.013806f, -0.002461f, -0.010029f, -0.030303f, 0.014446f, 0.031542f, 0.001718f, -0.000210f, 0.021954f, 0.018575f, -0.001279f, 0.003438f, 0.037617f, 0.023537f, -0.006733f, 0.008193f, 0.024760f, -0.006205f, -0.027271f, 0.000674f, -0.019780f, -0.003107f, -0.012510f, 0.001186f, -0.037743f, -0.011267f, -0.013701f, 0.000670f, 0.007997f, 0.007995f, 0.036874f, 0.040691f, 0.021530f, -0.028094f, -0.016504f, 0.022889f, 0.032155f, 0.006820f, -0.029187f, -0.004772f, -0.006839f, -0.030496f, -0.019185f, -0.023078f, 0.028366f, -0.010516f, 0.003982f, -0.028696f, 0.041933f, 0.030920f, -0.003358f, 0.012818f, 0.069538f, -0.003452f, -0.014114f, -0.026626f, -0.001497f, 0.018515f, 0.014732f, -0.010675f, 0.021053f, 0.041612f, -0.017673f, 0.026570f, -0.011943f, 0.008751f, -0.016548f, -0.008975f, -0.014258f, -0.018769f, -0.009558f, 0.012425f, 0.000087f, -0.004059f, 0.003147f, 0.005209f, 0.022547f, -0.002397f, 0.002374f, -0.000176f, -0.010216f, -0.001033f, -0.003561f, 0.002167f, 0.009209f, -0.005779f, -0.002638f, -0.007181f, -0.003307f, 0.002642f, 0.002906f, -0.002534f, -0.014652f, -0.013719f, -0.004589f, -0.016916f, - -0.014716f, -0.002602f, 0.013347f, 0.011785f, 0.010238f, 0.002371f, -0.002179f, 0.000711f, 0.005778f, 0.004813f, -0.001673f, 0.003352f, 0.002481f, 0.021384f, 0.002188f, -0.012845f, 0.012706f, 0.004915f, -0.017776f, -0.030095f, 0.039070f, -0.024542f, 0.029490f, -0.021572f, -0.032066f, 0.001469f, 0.040473f, 0.025883f, -0.029775f, -0.020060f, 0.006985f, 0.005854f, 0.013748f, -0.002455f, 0.027022f, 0.014253f, 0.035581f, -0.013041f, -0.005858f, -0.001353f, -0.006786f, -0.034299f, -0.025126f, -0.007996f, 0.035777f, 0.007330f, 0.002892f, 0.001109f, -0.033168f, -0.037964f, -0.029179f, 0.015025f, 0.017372f, -0.013047f, -0.008453f, 0.003212f, 0.004198f, -0.020289f, 0.005913f, 0.037544f, 0.006697f, 0.023484f, 0.023273f, 0.016564f, 0.040496f, 0.057901f, 0.019143f, 0.000916f, 0.008448f, 0.022811f, -0.012007f, -0.006529f, 0.015504f, -0.005312f, 0.008338f, -0.005444f, 0.025144f, 0.008799f, 0.017839f, -0.005007f, -0.006567f, 0.012649f, 0.033565f, -0.002510f, -0.027339f, 0.017492f, -0.042840f, -0.049875f, -0.016958f, 0.025702f, -0.016539f, -0.049318f, -0.030021f, -0.012591f, 0.018080f, 0.012228f, - -0.026545f, 0.047752f, -0.015274f, -0.033561f, 0.008842f, 0.013037f, -0.010932f, 0.016571f, -0.017203f, -0.006844f, 0.006282f, 0.004457f, -0.009006f, 0.008416f, 0.001669f, 0.015056f, -0.008280f, -0.018062f, -0.010436f, 0.002991f, -0.003931f, -0.003665f, -0.001382f, 0.000116f, -0.001406f, 0.012231f, -0.002061f, 0.002028f, -0.004921f, 0.005643f, 0.010146f, 0.001977f, 0.009726f, 0.003021f, -0.015042f, -0.006648f, 0.000086f, -0.013008f, -0.015369f, 0.007433f, 0.010838f, -0.008413f, -0.016401f, -0.018017f, 0.007396f, 0.003049f, -0.000784f, 0.011703f, -0.006752f, 0.004289f, 0.016003f, -0.069788f, 0.004032f, 0.034910f, -0.006224f, -0.008569f, 0.043019f, -0.023237f, -0.023426f, -0.030504f, -0.009765f, -0.010522f, -0.019880f, 0.005639f, 0.010029f, 0.016149f, 0.011867f, -0.009990f, -0.007402f, -0.003744f, -0.008327f, 0.002523f, 0.008258f, 0.034462f, -0.014722f, -0.045440f, 0.024300f, -0.000164f, -0.001146f, -0.037861f, 0.016897f, 0.006918f, -0.003714f, 0.042353f, -0.012067f, 0.004275f, -0.003802f, 0.018465f, 0.022877f, -0.025375f, -0.002315f, -0.014407f, -0.001492f, 0.012392f, -0.009323f, 0.019178f, - -0.030387f, -0.025872f, -0.015995f, -0.027619f, -0.004615f, 0.002072f, 0.004336f, -0.038477f, -0.024913f, 0.017712f, 0.030813f, -0.014995f, -0.017071f, 0.015725f, -0.034741f, -0.032006f, -0.030477f, 0.033169f, -0.056613f, 0.017979f, -0.002982f, -0.033892f, -0.010604f, 0.027793f, 0.072144f, -0.010114f, -0.019853f, 0.023299f, 0.055322f, 0.019391f, -0.012433f, -0.013878f, -0.002501f, 0.014656f, -0.001012f, 0.006577f, 0.032930f, 0.001671f, -0.012290f, -0.023744f, 0.019294f, -0.027928f, -0.018702f, -0.014167f, 0.009695f, -0.011830f, -0.019871f, -0.013105f, -0.012094f, -0.000707f, -0.014665f, 0.004490f, -0.011370f, -0.001566f, -0.003734f, 0.013398f, -0.010570f, -0.008862f, -0.021650f, -0.007026f, -0.003866f, -0.007874f, 0.020528f, -0.015748f, -0.019471f, -0.001846f, -0.017093f, -0.016215f, -0.007165f, 0.001699f, 0.015374f, -0.002639f, -0.006620f, -0.003597f, -0.010232f, 0.006569f, -0.020612f, -0.002415f, 0.021240f, 0.009480f, 0.013887f, -0.006017f, 0.005247f, 0.006170f, -0.005147f, -0.008736f, -0.011646f, 0.003481f, 0.005473f, 0.008674f, 0.009647f, -0.004069f, -0.039169f, -0.062263f, -0.003723f, 0.071581f, - -0.011546f, -0.005031f, -0.047366f, -0.003481f, -0.003262f, 0.005012f, 0.015532f, 0.002244f, 0.012896f, 0.001027f, -0.000882f, -0.033580f, 0.004690f, 0.030744f, -0.020800f, 0.038109f, -0.016128f, -0.002247f, -0.033804f, 0.021695f, -0.016895f, -0.010794f, -0.038991f, -0.052594f, 0.026817f, -0.025609f, -0.025441f, 0.009374f, 0.005300f, -0.011221f, 0.002481f, 0.029985f, -0.008967f, -0.028342f, -0.017801f, -0.036327f, -0.004583f, 0.010583f, 0.025138f, 0.005339f, -0.007550f, -0.006085f, -0.015224f, 0.008925f, 0.026119f, 0.004523f, -0.016534f, 0.030028f, -0.028694f, 0.003258f, -0.049364f, -0.014306f, -0.009764f, 0.060916f, -0.038487f, 0.012618f, -0.012578f, 0.008196f, -0.007183f, -0.006553f, 0.001065f, 0.024924f, 0.007380f, -0.044562f, 0.049156f, 0.015297f, 0.017491f, 0.006616f, -0.019731f, -0.014747f, -0.005718f, 0.006487f, -0.001182f, 0.010103f, -0.026724f, -0.027486f, -0.004608f, 0.013794f, 0.029861f, -0.018270f, 0.025322f, -0.005974f, 0.009834f, -0.019790f, 0.011380f, -0.032426f, 0.036540f, 0.001879f, 0.004031f, 0.012288f, 0.016463f, 0.001881f, -0.022872f, -0.010743f, 0.006126f, -0.021385f, - 0.005851f, 0.010461f, 0.009130f, -0.012604f, -0.008022f, 0.022211f, 0.003993f, -0.021982f, -0.003224f, 0.019302f, -0.007177f, -0.027105f, 0.031008f, -0.008144f, 0.011983f, -0.004951f, -0.008906f, -0.014311f, 0.009537f, 0.002923f, 0.009926f, 0.001792f, 0.016666f, 0.002269f, 0.011990f, -0.005519f, 0.000830f, 0.007797f, -0.004222f, -0.006292f, -0.030474f, -0.018478f, 0.066662f, -0.008461f, 0.006028f, -0.034653f, 0.031390f, -0.018043f, 0.023253f, -0.018204f, 0.040484f, 0.003826f, 0.004607f, -0.019578f, -0.015358f, 0.023146f, 0.052319f, -0.021690f, -0.031013f, 0.014766f, -0.011877f, 0.034046f, 0.043697f, 0.021189f, -0.005923f, 0.026616f, -0.017170f, -0.016559f, 0.036808f, 0.049844f, -0.055273f, 0.004538f, 0.008905f, 0.009427f, -0.018322f, -0.001340f, 0.023128f, -0.056463f, 0.017545f, 0.032971f, 0.012998f, -0.025122f, -0.006357f, 0.040495f, 0.033766f, 0.011027f, -0.018475f, -0.024900f, -0.048257f, 0.069694f, 0.013216f, 0.035839f, -0.004613f, -0.014829f, 0.008409f, 0.020871f, 0.001263f, -0.001107f, -0.056168f, 0.008815f, 0.054166f, -0.009546f, 0.051933f, -0.030765f, -0.013214f, -0.021442f, - 0.012586f, 0.048310f, -0.014591f, -0.001361f, 0.044291f, 0.053368f, -0.016775f, -0.038930f, -0.034142f, -0.030263f, -0.013488f, -0.012753f, 0.031311f, -0.037511f, 0.021095f, 0.023195f, -0.007904f, 0.002719f, 0.024681f, -0.004586f, -0.013220f, 0.014538f, 0.010859f, 0.007790f, 0.022749f, 0.004944f, -0.003334f, 0.020120f, 0.007770f, 0.008562f, 0.010771f, -0.003356f, 0.001811f, -0.004471f, 0.009277f, -0.036738f, -0.009643f, 0.001655f, -0.006602f, 0.014455f, -0.027087f, -0.003027f, 0.000903f, 0.009923f, -0.000105f, 0.015710f, 0.011415f, -0.007335f, 0.022674f, 0.011400f, -0.007146f, 0.016085f, 0.017845f, 0.000290f, -0.010624f, 0.008546f, 0.017386f, 0.010349f, -0.001962f, -0.016114f, -0.007349f, 0.004385f, 0.003114f, 0.002743f, -0.015054f, 0.026346f, 0.019434f, 0.046527f, -0.014026f, 0.033708f, -0.017774f, -0.007097f, 0.031403f, -0.001025f, 0.042790f, -0.051493f, 0.032394f, 0.005944f, 0.014458f, -0.020662f, 0.015760f, 0.038529f, 0.074907f, -0.017119f, 0.019140f, -0.000946f, -0.049457f, 0.045600f, 0.004771f, 0.017904f, -0.008894f, -0.023095f, -0.008449f, -0.001764f, -0.019062f, -0.011957f, - 0.063681f, 0.004593f, 0.024620f, -0.018007f, 0.045212f, 0.000417f, 0.022052f, 0.009399f, -0.026093f, -0.005432f, -0.015999f, 0.000674f, 0.008379f, 0.053395f, 0.027329f, 0.002447f, 0.006573f, -0.001678f, -0.004153f, 0.008935f, 0.005579f, 0.033539f, 0.027404f, 0.013882f, -0.015569f, 0.023367f, 0.048943f, -0.045724f, 0.042938f, 0.007077f, 0.013118f, -0.045942f, -0.021635f, -0.057784f, -0.046524f, -0.009007f, 0.031526f, 0.026285f, -0.080132f, -0.000357f, -0.035974f, 0.019294f, 0.080601f, 0.040533f, -0.051341f, 0.028468f, -0.020939f, -0.026412f, 0.044555f, 0.022585f, -0.022429f, -0.012446f, 0.039254f, 0.032116f, 0.017754f, 0.049767f, -0.013038f, 0.030617f, 0.027070f, -0.031357f, 0.044556f, 0.012373f, 0.051666f, 0.015876f, -0.004437f, 0.030466f, -0.002812f, 0.008120f, -0.035736f, 0.027375f, -0.017253f, 0.014369f, -0.012745f, 0.006484f, 0.017068f, 0.041148f, 0.011058f, 0.025114f, 0.006625f, 0.008199f, -0.013097f, -0.002775f, -0.004466f, 0.003607f, 0.020862f, 0.017801f, 0.031200f, 0.011683f, -0.003379f, 0.005210f, -0.006900f, -0.003786f, -0.030668f, -0.004929f, 0.008056f, 0.010102f, - 0.026960f, 0.024040f, 0.021851f, 0.025206f, -0.066612f, -0.104618f, -0.026252f, -0.012582f, -0.024801f, 0.004865f, 0.035813f, -0.037451f, 0.053611f, 0.018432f, -0.075284f, -0.059269f, -0.010898f, 0.040754f, 0.002308f, 0.002627f, -0.007156f, -0.024971f, -0.072849f, 0.002189f, -0.061075f, -0.052103f, 0.025945f, 0.019127f, 0.018998f, -0.009483f, -0.023193f, 0.055006f, 0.034267f, -0.024488f, -0.047458f, 0.036062f, 0.019438f, 0.007900f, -0.021898f, -0.057292f, 0.022302f, -0.027296f, 0.009291f, -0.048896f, 0.059333f, 0.000715f, -0.022635f, 0.004984f, 0.015536f, 0.047555f, 0.030981f, -0.013070f, -0.001613f, 0.016211f, 0.017526f, 0.017918f, -0.010191f, -0.076175f, -0.058582f, 0.011351f, -0.007377f, 0.043547f, -0.007682f, -0.019598f, -0.052480f, 0.061262f, 0.024540f, -0.043735f, -0.043706f, 0.062883f, 0.060294f, -0.001210f, 0.044443f, -0.006405f, 0.002294f, -0.018602f, -0.010177f, -0.034647f, 0.042865f, -0.008315f, -0.008759f, -0.018745f, 0.018142f, -0.054163f, 0.026108f, -0.016204f, -0.009301f, 0.037635f, -0.000045f, 0.005562f, 0.010363f, 0.034537f, 0.018681f, -0.014710f, 0.026761f, -0.008167f, - 0.032147f, 0.011982f, -0.034420f, 0.008358f, -0.017086f, 0.016337f, -0.013709f, 0.000001f, -0.022585f, -0.012368f, 0.013677f, -0.023493f, 0.010677f, 0.007609f, 0.010953f, -0.021003f, -0.013969f, -0.026925f, -0.022485f, 0.030799f, -0.010343f, 0.019805f, 0.013498f, -0.019275f, -0.001802f, -0.016868f, 0.001572f, -0.010763f, 0.040205f, 0.032950f, 0.023370f, 0.030788f, -0.006671f, -0.034515f, -0.038412f, -0.005761f, 0.012871f, 0.057170f, 0.035957f, -0.013293f, -0.009712f, -0.015476f, -0.027522f, -0.001779f, 0.013973f, 0.019865f, 0.013591f, 0.006366f, 0.035799f, 0.004147f, -0.026216f, -0.065289f, 0.103293f, 0.003204f, -0.080917f, -0.005493f, -0.030481f, 0.014177f, 0.039293f, 0.036801f, -0.045267f, -0.071135f, 0.011686f, -0.033735f, 0.010376f, -0.006397f, 0.031063f, -0.009783f, 0.003963f, 0.019391f, -0.029863f, -0.035329f, 0.003239f, 0.010038f, 0.030757f, -0.000110f, -0.050654f, 0.033564f, -0.028496f, 0.026511f, -0.024838f, -0.015919f, -0.003285f, -0.007334f, -0.054410f, 0.010738f, 0.014501f, -0.051454f, 0.021482f, -0.019843f, 0.009888f, -0.016751f, 0.049770f, 0.039804f, -0.051273f, -0.026297f, - 0.034111f, 0.044052f, -0.052451f, 0.069170f, 0.003910f, 0.055822f, 0.039560f, 0.065761f, -0.020677f, -0.026994f, 0.014091f, -0.053390f, 0.007723f, 0.007478f, 0.094354f, -0.028766f, -0.089718f, 0.151224f, -0.071667f, -0.054067f, 0.086285f, 0.039871f, -0.051173f, 0.085014f, 0.008866f, -0.068039f, 0.084924f, 0.010984f, 0.007131f, -0.014264f, 0.012035f, 0.057371f, -0.014388f, -0.019098f, -0.030036f, 0.042892f, -0.015896f, -0.010152f, -0.006453f, -0.016374f, -0.018724f, -0.025811f, 0.024823f, -0.003125f, -0.002892f, -0.008941f, -0.007057f, 0.003849f, -0.011960f, -0.019241f, 0.002003f, -0.015452f, -0.030357f, -0.030402f, 0.038038f, -0.016142f, 0.003052f, 0.036224f, -0.017669f, -0.015713f, 0.001974f, 0.018267f, 0.007065f, 0.008120f, 0.033712f, -0.020555f, 0.004417f, -0.015000f, -0.010265f, -0.006283f, 0.056110f, 0.028692f, -0.009744f, 0.008627f, -0.030560f, 0.010189f, -0.028013f, -0.016503f, 0.012752f, -0.006717f, -0.057246f, 0.035512f, 0.013757f, -0.009991f, -0.000720f, -0.028586f, -0.004431f, 0.000957f, -0.093476f, 0.012913f, 0.028043f, -0.070188f, 0.032124f, 0.018527f, -0.024583f, -0.007046f, - -0.001219f, -0.017241f, -0.005634f, -0.010125f, -0.031268f, 0.000824f, -0.015596f, -0.003501f, -0.007679f, 0.015173f, 0.055868f, 0.046704f, -0.043111f, -0.004833f, 0.058785f, -0.010376f, -0.011045f, -0.060218f, 0.006944f, 0.019656f, -0.009845f, 0.051154f, 0.122842f, -0.041426f, -0.051790f, 0.087363f, -0.005858f, -0.047273f, 0.054559f, 0.035818f, -0.028338f, -0.042489f, -0.052394f, 0.015840f, 0.028058f, -0.023460f, 0.082380f, 0.053634f, -0.102841f, -0.098793f, 0.057467f, -0.046581f, -0.060181f, 0.077841f, 0.012497f, 0.104249f, 0.050051f, -0.012835f, -0.014114f, -0.075516f, -0.058826f, 0.171314f, 0.047268f, -0.036986f, -0.083082f, 0.002114f, -0.033913f, -0.074328f, -0.011660f, 0.086622f, 0.036822f, 0.000886f, 0.071355f, 0.062259f, -0.019938f, -0.079814f, 0.012200f, 0.047471f, -0.019907f, -0.018857f, 0.099454f, 0.057022f, 0.009733f, -0.010724f, -0.051396f, -0.050478f, -0.013149f, 0.047157f, 0.018925f, -0.019546f, -0.009338f, -0.022585f, 0.018443f, -0.014631f, -0.019420f, -0.012679f, -0.002614f, 0.013944f, 0.018925f, 0.016703f, 0.006866f, -0.045888f, -0.016199f, -0.009248f, 0.016906f, -0.018044f, - 0.002849f, -0.005044f, 0.041592f, -0.027373f, -0.019125f, 0.042936f, 0.011754f, -0.022238f, 0.033760f, -0.012240f, 0.009615f, 0.002345f, 0.007407f, -0.026482f, -0.007434f, 0.035243f, 0.034501f, 0.014119f, -0.014231f, 0.008954f, -0.016293f, -0.013173f, -0.010192f, 0.018299f, -0.029657f, -0.006548f, 0.022756f, 0.092068f, 0.078359f, -0.021631f, 0.055955f, 0.004768f, -0.041786f, 0.026446f, 0.047927f, 0.014793f, 0.021252f, -0.062465f, -0.011608f, 0.006304f, 0.013376f, -0.009974f, -0.052609f, -0.020194f, 0.020217f, -0.013949f, -0.004779f, -0.046204f, 0.070427f, 0.007790f, -0.056467f, 0.031578f, 0.082518f, -0.043042f, -0.023666f, 0.011027f, 0.027799f, -0.027247f, -0.050536f, 0.043172f, 0.075104f, -0.006870f, -0.028344f, 0.008721f, 0.021866f, 0.032897f, 0.048406f, 0.002205f, 0.087421f, -0.002867f, -0.095605f, -0.000180f, -0.010036f, 0.030519f, -0.009276f, -0.079680f, -0.001364f, -0.034953f, -0.032401f, 0.046318f, 0.025661f, 0.026006f, 0.034763f, -0.071529f, -0.036104f, -0.013357f, -0.000138f, 0.027527f, 0.001801f, -0.015401f, 0.002791f, -0.025141f, -0.047294f, 0.003679f, 0.075610f, -0.039451f, - 0.007931f, -0.030885f, -0.020592f, 0.050153f, -0.062119f, -0.001714f, 0.028452f, -0.023276f, 0.011128f, 0.006822f, 0.016462f, 0.017100f, -0.032436f, -0.040858f, 0.067772f, -0.014978f, -0.020933f, 0.033440f, -0.033584f, 0.020464f, 0.005098f, -0.015214f, 0.011337f, 0.027894f, -0.004725f, 0.002812f, -0.013505f, 0.005856f, 0.002589f, -0.003053f, -0.011978f, 0.014698f, 0.008699f, -0.002745f, -0.000584f, 0.012119f, 0.011812f, -0.013546f, -0.021514f, 0.010990f, -0.000584f, 0.004994f, 0.002052f, -0.007005f, 0.012246f, -0.000921f, 0.010288f, -0.004951f, -0.001057f, -0.007753f, 0.002561f, 0.009467f, -0.001660f, 0.025523f, -0.010151f, -0.009477f, 0.001973f, -0.013047f, 0.008202f, 0.016654f, -0.080944f, -0.115064f, -0.102572f, 0.205862f, 0.195664f, 0.196132f, 0.552096f, 0.196716f, -0.023213f, 0.036763f, -0.382523f, -0.464992f, -0.156824f, -0.260753f, -0.362363f, 0.046913f, -0.020562f, -0.060191f, 0.398069f, 0.243632f, 0.101134f, 0.622745f, 0.293352f, 0.054676f, 0.283287f, -0.066966f, -0.339116f, -0.323954f, -0.309444f, -0.427825f, -0.419695f, -0.098129f, -0.151817f, -0.246514f, 0.287721f, 0.133032f, - -0.104301f, 0.416528f, 0.133944f, -0.048594f, 0.470115f, 0.429063f, 0.098263f, 0.445240f, 0.450979f, -0.017055f, 0.111597f, 0.051367f, -0.435066f, -0.504189f, -0.376211f, -0.709897f, -0.673064f, -0.403676f, -0.539981f, -0.405564f, 0.045437f, 0.333834f, 0.378018f, 0.813728f, 0.739090f, 0.652436f, 0.702156f, 0.518534f, 0.262595f, 0.080561f, -0.057601f, -0.395771f, -0.477979f, -0.510843f, -0.576535f, -0.546255f, -0.466408f, -0.300845f, -0.219311f, -0.213687f, 0.040207f, 0.129775f, 0.253937f, 0.605567f, 0.628087f, 0.430040f, 0.536680f, 0.227312f, -0.074873f, -0.177831f, -0.276314f, -0.377662f, -0.274295f, -0.182885f, -0.182830f, -0.062724f, -0.017867f, 0.001564f, 0.096162f, 0.123147f, 0.116542f, 0.179722f, 0.112372f, 0.073199f, 0.089846f, -0.053619f, -0.050405f, 0.015222f, -0.146564f, -0.103186f, -0.038854f, -0.140850f, -0.087843f, -0.009880f, -0.142627f, -0.149792f, -0.100345f, -0.147017f, -0.097409f, 0.110381f, 0.205637f, 0.328545f, 0.483885f, 0.452357f, 0.386246f, 0.363853f, 0.195762f, -0.060541f, -0.304240f, -0.536754f, -0.638208f, -0.574856f, -0.466431f, -0.351625f, -0.166212f, 0.051992f, - 0.206652f, 0.291473f, 0.313665f, 0.277567f, 0.246647f, 0.230173f, 0.231002f, 0.161003f, 0.074588f, 0.034070f, -0.022681f, -0.067989f, -0.062822f, -0.109956f, -0.119442f, -0.084848f, -0.065752f, -0.085113f, -0.083658f, -0.105773f, -0.122246f, -0.120958f, -0.105661f, -0.086342f, -0.029097f, 0.042867f, 0.098428f, 0.132050f, 0.169328f, 0.167420f, 0.139304f, 0.099769f, 0.060177f, 0.022582f, 0.017334f, 0.002145f, -0.022542f, -0.041013f, -0.046359f, -0.060688f, -0.068430f, -0.075706f, -0.082217f, -0.086282f, -0.059279f, -0.033349f, -0.010640f, -0.000256f, 0.012583f, 0.023326f, 0.041188f, 0.042213f, 0.029437f, 0.013334f, 0.021995f, 0.032618f, 0.034213f, 0.031990f, 0.030640f, 0.026780f, 0.030701f, 0.027645f, 0.014467f, -0.003080f, -0.012952f, -0.033620f, -0.041303f, -0.044392f, -0.046445f, -0.052529f, -0.046441f, -0.048376f, -0.043988f, -0.026937f, -0.003737f, 0.018547f, 0.048618f, 0.067841f, 0.080046f, 0.076010f, 0.058682f, 0.027101f, -0.000405f, -0.023818f, -0.032431f, -0.038471f, -0.033053f, -0.027039f, -0.017392f, -0.011599f, -0.005677f, -0.005047f, -0.000456f, 0.000877f, 0.004695f, 0.004194f, - 0.007037f, 0.004897f, 0.005897f, 0.003023f, 0.003121f, -0.000088f, 0.000571f, -0.001652f, 0.000218f, -0.001244f, 0.000740f, -0.000904f} - }, - { - {-0.006754f, 0.025660f, 0.013711f, 0.011272f, 0.006412f, -0.002808f, -0.000721f, -0.002716f, -0.005269f, -0.007511f, -0.005169f, -0.007672f, -0.003118f, 0.007158f, 0.002561f, -0.000450f, 0.000089f, 0.004670f, 0.002305f, -0.003069f, -0.003128f, -0.002499f, -0.013319f, 0.005497f, 0.001511f, 0.000066f, -0.002663f, 0.001680f, 0.000345f, -0.003771f, 0.002046f, 0.004853f, 0.000092f, -0.006186f, -0.001447f, -0.002705f, -0.002737f, 0.000701f, 0.006022f, -0.001582f, 0.001514f, -0.007068f, 0.004625f, -0.008718f, 0.005647f, 0.001176f, 0.000451f, 0.000021f, 0.005621f, -0.006700f, -0.004814f, -0.009113f, 0.002535f, 0.001589f, 0.000576f, 0.005137f, -0.005464f, 0.001170f, -0.000634f, 0.000112f, -0.003947f, 0.003558f, 0.001775f, -0.003041f, 0.005726f, -0.008950f, 0.004222f, -0.004898f, 0.009224f, 0.004109f, 0.001737f, 0.000621f, -0.001678f, -0.011153f, 0.008614f, -0.002696f, -0.000138f, 0.001430f, 0.002507f, 0.001998f, 0.002382f, 0.002659f, -0.000668f, 0.000759f, -0.001097f, 0.002598f, -0.000051f, 0.001471f, -0.003232f, 0.001131f, -0.000386f, 0.000718f, 0.001493f, 0.003608f, -0.000061f, -0.000634f, - 0.001371f, 0.001420f, -0.001322f, 0.001861f, -0.002069f, 0.001819f, 0.000538f, 0.001619f, 0.000274f, 0.001044f, -0.000428f, 0.000408f, 0.001573f, 0.000698f, -0.000087f, 0.001078f, -0.000085f, 0.000723f, 0.000783f, -0.000094f, 0.001022f, -0.000290f, 0.024748f, 0.011575f, 0.016208f, 0.004255f, 0.005610f, -0.001078f, 0.006433f, 0.000516f, 0.005734f, -0.004262f, 0.011040f, -0.002907f, -0.012298f, -0.003555f, 0.000403f, 0.000542f, -0.003805f, 0.009403f, 0.000675f, 0.003588f, 0.009370f, 0.004374f, 0.000253f, -0.000152f, 0.002345f, -0.008553f, -0.005419f, 0.003206f, 0.004161f, -0.003200f, 0.001025f, 0.003977f, -0.008199f, 0.011633f, -0.001061f, 0.001598f, -0.001721f, 0.004235f, 0.006218f, 0.000169f, -0.006235f, -0.006646f, 0.012915f, 0.000150f, -0.003586f, -0.000676f, 0.007501f, 0.005302f, -0.003654f, -0.005261f, -0.011117f, -0.003633f, -0.004474f, 0.000333f, -0.004027f, 0.000870f, -0.010797f, -0.004608f, 0.001415f, -0.004596f, 0.002553f, 0.004278f, -0.002073f, -0.000430f, 0.002218f, -0.002916f, 0.004455f, -0.000452f, 0.005567f, -0.000068f, -0.001719f, -0.006430f, 0.000859f, -0.007944f, - 0.002603f, 0.000009f, 0.004569f, -0.000053f, 0.004688f, 0.005718f, 0.005133f, 0.000058f, -0.003090f, -0.000379f, -0.001036f, 0.006327f, -0.001593f, 0.000697f, 0.004279f, 0.004190f, -0.000152f, 0.002306f, 0.001022f, 0.002096f, -0.000761f, 0.002566f, -0.000870f, 0.003845f, 0.001061f, 0.000632f, -0.000176f, 0.000228f, 0.000556f, 0.001870f, 0.005177f, -0.016582f, -0.005379f, -0.003773f, 0.002869f, 0.003279f, -0.011366f, -0.005085f, -0.002268f, 0.002724f, 0.006014f, 0.001899f, 0.008252f, -0.006827f, -0.009887f, 0.002858f, 0.000316f, -0.001773f, -0.006779f, 0.021925f, -0.001162f, 0.005832f, 0.001291f, 0.000682f, -0.000512f, -0.003380f, -0.008355f, -0.006546f, -0.002068f, 0.005601f, -0.004676f, 0.011479f, -0.003907f, -0.001073f, -0.009429f, -0.011201f, -0.000985f, -0.007145f, -0.003992f, 0.015269f, -0.008368f, -0.002316f, -0.008125f, 0.002968f, 0.000366f, -0.002942f, -0.008537f, -0.001625f, 0.000050f, -0.009669f, 0.001119f, -0.005206f, 0.007713f, 0.005083f, -0.004473f, -0.002372f, -0.002482f, 0.002368f, -0.000443f, 0.006141f, -0.003198f, -0.004038f, -0.004166f, 0.013924f, 0.012556f, -0.004318f, - -0.012134f, 0.001641f, 0.003727f, -0.000390f, 0.003540f, -0.005033f, 0.000970f, -0.005837f, 0.004145f, 0.000317f, 0.013353f, 0.008245f, 0.012694f, -0.011578f, 0.004993f, 0.007747f, 0.000278f, 0.005879f, 0.004216f, 0.000875f, 0.008727f, -0.001610f, -0.000949f, 0.002239f, 0.001196f, -0.003594f, 0.003470f, -0.002754f, -0.002377f, -0.000249f, 0.000871f, -0.000394f, 0.001307f, -0.002058f, 0.001006f, -0.000264f, 0.000254f, 0.001132f, 0.001591f, 0.000767f, 0.001847f, 0.001748f, -0.001352f, -0.001763f, 0.001368f, 0.000511f, -0.003164f, -0.001286f, 0.002512f, -0.001543f, -0.054653f, -0.008753f, -0.015811f, -0.017757f, 0.004712f, -0.005957f, -0.015600f, -0.012778f, 0.002067f, -0.012589f, 0.001713f, 0.018966f, -0.004781f, 0.008184f, 0.006059f, 0.016003f, 0.004054f, -0.011019f, 0.002459f, 0.017385f, -0.008166f, 0.008691f, -0.012858f, -0.011569f, 0.003734f, 0.005038f, 0.013522f, 0.000870f, -0.008428f, 0.007970f, -0.005681f, 0.006132f, -0.000784f, 0.008655f, -0.007360f, -0.004654f, -0.008200f, 0.000173f, 0.001398f, -0.003115f, 0.006161f, -0.014265f, 0.001768f, 0.014518f, 0.003055f, -0.004035f, - 0.005491f, -0.007327f, -0.003822f, -0.018032f, -0.005436f, -0.000540f, 0.002757f, 0.000367f, 0.009647f, -0.014468f, 0.001337f, -0.001936f, 0.007244f, 0.003971f, -0.002884f, 0.010408f, -0.009153f, -0.001166f, -0.007360f, -0.013905f, -0.005955f, -0.003158f, -0.004021f, 0.010552f, -0.009475f, -0.015030f, 0.000521f, 0.004993f, -0.001585f, -0.004300f, 0.005114f, 0.005817f, -0.004293f, -0.003353f, -0.005937f, -0.002371f, 0.012067f, -0.005589f, 0.006621f, -0.001957f, -0.000284f, -0.001070f, -0.000480f, -0.006244f, 0.001469f, -0.003720f, -0.000253f, -0.000400f, -0.000979f, 0.000194f, -0.001521f, -0.001926f, -0.002005f, -0.000487f, 0.000542f, -0.001173f, 0.001944f, 0.000939f, -0.027188f, 0.015531f, 0.017415f, -0.000902f, 0.009761f, 0.004502f, 0.020583f, 0.027450f, 0.003494f, 0.003639f, 0.007839f, 0.003460f, 0.004535f, -0.003838f, 0.005404f, -0.004458f, 0.007184f, 0.008445f, -0.023488f, 0.012228f, -0.002589f, -0.004287f, -0.007276f, -0.009441f, 0.003824f, 0.006738f, 0.010675f, 0.002155f, 0.001807f, -0.013638f, 0.000588f, -0.003930f, -0.004590f, -0.001958f, 0.001822f, 0.000865f, -0.001060f, 0.013550f, - -0.000712f, -0.004396f, 0.004442f, -0.005160f, 0.006897f, 0.009183f, 0.010176f, 0.005371f, 0.001109f, -0.005590f, 0.011369f, 0.003694f, 0.001525f, 0.001272f, 0.001492f, 0.000903f, -0.006587f, -0.009190f, 0.008415f, -0.008560f, 0.008062f, 0.007445f, 0.005404f, -0.001111f, -0.006109f, 0.005594f, 0.007165f, 0.015978f, 0.007338f, 0.006082f, 0.003725f, -0.015467f, -0.004782f, 0.001992f, -0.002540f, 0.006773f, -0.013467f, 0.000758f, 0.004452f, -0.012521f, -0.001184f, 0.004308f, -0.003052f, 0.001696f, -0.007384f, 0.002868f, 0.000951f, -0.003072f, 0.005813f, 0.003499f, 0.000234f, 0.006453f, -0.002884f, -0.002728f, -0.000638f, 0.001406f, 0.002608f, 0.009743f, 0.001581f, 0.003382f, 0.002282f, -0.000002f, 0.002114f, -0.001506f, -0.001830f, -0.002509f, 0.001708f, -0.001339f, -0.001232f, 0.001177f, 0.001031f, -0.001093f, 0.003282f, -0.001828f, 0.002297f, 0.002201f, -0.000957f, 0.003265f, 0.000920f, 0.001444f, 0.001590f, 0.000305f, 0.000347f, 0.003781f, -0.000260f, 0.050460f, 0.015073f, 0.003836f, 0.009740f, 0.025284f, 0.010036f, 0.030465f, 0.007328f, -0.006579f, -0.002283f, -0.002429f, - -0.003002f, 0.008353f, 0.012905f, -0.005927f, 0.002692f, 0.009187f, -0.003472f, -0.012495f, 0.009924f, -0.001067f, 0.004667f, -0.004176f, -0.006428f, 0.010436f, 0.002310f, -0.000825f, -0.003029f, -0.011369f, -0.005776f, 0.006348f, 0.001471f, -0.003829f, -0.002105f, 0.001867f, 0.004240f, 0.011688f, 0.003569f, -0.010529f, -0.002529f, 0.000817f, -0.003429f, 0.003962f, 0.005403f, -0.010609f, -0.013042f, -0.000623f, 0.003176f, -0.001245f, 0.009946f, -0.018351f, -0.003994f, -0.008252f, -0.010469f, -0.001010f, -0.000870f, 0.002863f, 0.009836f, 0.000035f, 0.001429f, 0.003332f, -0.001659f, 0.013334f, 0.008367f, -0.010703f, -0.009562f, 0.007370f, 0.015938f, -0.001249f, -0.007534f, 0.015907f, 0.008290f, 0.003790f, -0.006984f, -0.007389f, 0.007749f, 0.000537f, 0.005852f, -0.003437f, -0.011498f, -0.006181f, -0.007838f, -0.004808f, 0.004485f, -0.006256f, 0.000842f, 0.002864f, -0.002334f, 0.002782f, 0.001891f, 0.002389f, 0.001295f, -0.004000f, 0.002264f, -0.001174f, -0.002206f, -0.000873f, 0.003057f, 0.002545f, 0.000385f, -0.003419f, 0.003134f, -0.001275f, 0.005431f, -0.000727f, 0.000732f, -0.005070f, - -0.006701f, 0.002352f, -0.006307f, -0.001098f, -0.000984f, -0.003434f, -0.001720f, 0.000889f, -0.005656f, -0.002235f, -0.000582f, 0.000746f, -0.001185f, 0.004096f, 0.000559f, -0.001389f, 0.024896f, 0.011811f, 0.022437f, -0.007695f, 0.000370f, -0.005848f, 0.022604f, -0.023249f, -0.003086f, 0.005717f, -0.004229f, -0.004755f, 0.007694f, -0.002780f, -0.006919f, 0.019478f, 0.011305f, 0.002077f, 0.033419f, -0.009268f, -0.002021f, -0.007222f, 0.000444f, 0.005300f, -0.008386f, -0.001291f, -0.004260f, 0.012494f, -0.010530f, 0.002667f, 0.000939f, -0.003557f, 0.001351f, 0.007267f, 0.005277f, -0.010276f, -0.017402f, 0.000228f, 0.003818f, 0.014384f, 0.017296f, 0.016834f, 0.001750f, -0.010000f, 0.012445f, -0.029891f, -0.004688f, -0.011854f, -0.017088f, 0.011908f, -0.003775f, -0.005786f, 0.009633f, -0.003610f, -0.004860f, 0.025735f, 0.000515f, -0.007836f, 0.009235f, 0.000509f, 0.007079f, 0.004875f, 0.003591f, 0.015518f, -0.009205f, -0.005964f, 0.001135f, -0.013670f, 0.000106f, 0.002364f, -0.003206f, 0.004438f, 0.007980f, 0.016325f, -0.006012f, 0.005320f, 0.014482f, 0.008474f, 0.004448f, 0.002506f, - -0.004691f, -0.010613f, 0.005559f, 0.007768f, -0.001510f, 0.000610f, -0.001423f, -0.001519f, -0.005709f, 0.000977f, -0.001590f, 0.000832f, -0.005314f, -0.002981f, 0.000251f, -0.001160f, 0.005371f, 0.002047f, 0.000257f, -0.007330f, -0.003001f, 0.003357f, -0.003929f, -0.000265f, 0.002992f, 0.002611f, -0.004581f, 0.004296f, 0.003744f, 0.000960f, 0.004870f, 0.003974f, -0.008023f, -0.001668f, -0.002935f, 0.002051f, 0.004727f, 0.005263f, -0.000890f, -0.003240f, 0.000964f, -0.001852f, -0.038540f, -0.057887f, -0.009779f, 0.002874f, -0.001025f, 0.001604f, -0.002733f, -0.011610f, -0.006568f, -0.009257f, -0.002519f, 0.009409f, 0.011200f, -0.010201f, -0.015070f, 0.012852f, 0.002629f, -0.008265f, 0.000634f, -0.001381f, -0.009210f, -0.007703f, 0.021314f, 0.010858f, -0.011528f, 0.005822f, 0.002369f, 0.009123f, -0.011190f, 0.012385f, -0.012443f, 0.008505f, 0.005515f, -0.002642f, -0.005838f, 0.005484f, -0.023162f, -0.011489f, 0.014089f, 0.022767f, 0.012584f, -0.015979f, 0.000306f, -0.011340f, 0.015084f, 0.003104f, 0.003857f, 0.001045f, -0.012567f, 0.006031f, 0.018463f, 0.002059f, 0.013936f, 0.009889f, - 0.006336f, 0.010684f, 0.022658f, -0.006352f, -0.022990f, 0.011061f, -0.000028f, -0.005467f, 0.001071f, 0.019640f, -0.008141f, -0.013729f, 0.006610f, -0.003672f, -0.002435f, -0.005230f, -0.003183f, -0.006210f, -0.010815f, -0.005436f, 0.013087f, -0.018047f, -0.011403f, -0.006694f, -0.013039f, -0.012632f, -0.000870f, 0.007748f, -0.011971f, -0.000278f, -0.004506f, -0.005069f, -0.010802f, -0.006817f, -0.012388f, -0.000724f, -0.009555f, -0.000800f, -0.000359f, 0.008551f, 0.006007f, -0.004444f, -0.004800f, -0.006340f, -0.002019f, -0.004508f, -0.004359f, 0.005151f, -0.008479f, 0.003082f, 0.000606f, -0.005397f, 0.000463f, -0.003560f, 0.001902f, -0.001881f, -0.006953f, -0.008446f, -0.000191f, 0.002117f, 0.003358f, -0.001669f, 0.001359f, 0.002561f, -0.000115f, -0.004453f, -0.000708f, -0.005681f, 0.000469f, 0.002512f, 0.001919f, 0.002383f, -0.022093f, -0.014690f, 0.003942f, 0.003389f, 0.029876f, -0.026138f, -0.017582f, -0.010204f, -0.004728f, -0.003397f, 0.009785f, 0.009103f, -0.013565f, 0.013948f, -0.003093f, 0.006228f, -0.009719f, 0.020880f, -0.003914f, -0.008110f, 0.013792f, 0.009641f, 0.008099f, -0.014497f, - -0.013293f, 0.017648f, -0.009155f, 0.005085f, 0.004536f, -0.006632f, 0.015328f, 0.004438f, 0.000162f, 0.003197f, 0.011298f, 0.014104f, 0.004575f, -0.012858f, 0.003129f, -0.018277f, 0.010982f, 0.004558f, -0.020102f, 0.014214f, 0.003519f, -0.010706f, 0.018744f, 0.005747f, -0.004859f, 0.010674f, -0.001511f, 0.020353f, -0.004519f, -0.005290f, -0.004178f, -0.002839f, 0.026851f, 0.005484f, 0.000625f, 0.007112f, -0.022257f, -0.014154f, -0.015073f, 0.001525f, 0.014361f, 0.001747f, 0.017771f, -0.022902f, -0.009200f, -0.014583f, -0.013227f, 0.033072f, -0.003223f, 0.011731f, 0.008670f, -0.007257f, -0.001512f, -0.004755f, 0.002668f, 0.001623f, 0.009218f, 0.005404f, 0.018310f, -0.009916f, 0.001656f, -0.003228f, 0.004093f, -0.000249f, -0.000212f, -0.000177f, -0.003730f, -0.017267f, 0.006524f, 0.003881f, 0.002680f, -0.004675f, -0.001479f, -0.002322f, -0.009436f, -0.000730f, -0.003296f, -0.006340f, 0.003611f, -0.005368f, 0.002364f, 0.002945f, 0.002531f, 0.003813f, -0.006539f, -0.003742f, -0.004395f, -0.004216f, 0.002506f, 0.004647f, 0.002907f, -0.001689f, -0.000794f, -0.001298f, -0.001969f, 0.006807f, - -0.002279f, 0.004813f, 0.003178f, -0.001992f, 0.002176f, -0.001479f, 0.000093f, 0.001617f, 0.001941f, -0.030088f, 0.009404f, -0.012933f, 0.007333f, -0.009053f, 0.024305f, 0.004076f, -0.017015f, 0.002659f, -0.017347f, 0.014061f, 0.026861f, -0.022920f, 0.015131f, 0.005579f, -0.000668f, 0.011052f, 0.028629f, -0.010968f, -0.000027f, 0.008733f, -0.031254f, 0.001811f, 0.014220f, -0.008711f, 0.010192f, 0.011076f, -0.005702f, 0.028027f, -0.013981f, -0.025395f, -0.010914f, 0.003034f, 0.000678f, -0.005215f, -0.010941f, 0.007625f, 0.007082f, -0.000011f, -0.017866f, -0.004216f, -0.004527f, 0.011915f, -0.007825f, 0.047016f, -0.005916f, 0.006711f, -0.002164f, -0.002023f, -0.022824f, 0.002319f, 0.016928f, 0.013671f, 0.045878f, -0.004958f, -0.004441f, -0.009527f, -0.001810f, -0.012942f, -0.000979f, 0.018371f, -0.009796f, -0.001930f, 0.003331f, 0.004312f, 0.018086f, 0.014688f, 0.004161f, 0.035485f, -0.006720f, -0.032926f, -0.032933f, -0.023257f, -0.004786f, 0.010357f, -0.003252f, -0.008680f, 0.015664f, -0.000989f, 0.013908f, -0.008612f, -0.001636f, 0.011262f, 0.009581f, -0.003523f, -0.003371f, 0.001114f, - 0.002929f, -0.003695f, -0.007698f, -0.011095f, -0.003737f, -0.004740f, -0.001404f, -0.007925f, 0.005881f, -0.002415f, 0.001759f, -0.004037f, -0.005680f, 0.007546f, 0.003391f, -0.003928f, -0.001064f, -0.003230f, -0.003397f, 0.003261f, -0.002122f, -0.003813f, -0.007499f, 0.005857f, 0.002326f, -0.003270f, -0.005685f, -0.007592f, -0.001429f, -0.005240f, -0.005254f, 0.006302f, -0.003784f, 0.001205f, 0.000241f, -0.002804f, 0.002716f, 0.001181f, -0.001050f, -0.001468f, -0.001686f, 0.053432f, -0.038478f, -0.029321f, -0.009265f, -0.018542f, -0.021035f, 0.025908f, 0.010645f, 0.005167f, -0.008033f, -0.005205f, 0.031628f, -0.009157f, -0.013090f, -0.037673f, -0.005281f, -0.000907f, 0.017956f, 0.006597f, -0.007472f, 0.002367f, 0.015785f, 0.007106f, 0.009956f, 0.024185f, 0.030496f, 0.008471f, -0.011055f, 0.007881f, -0.017950f, 0.012557f, 0.010458f, -0.006408f, 0.000867f, -0.013984f, 0.005952f, 0.000492f, -0.027045f, 0.026740f, -0.002117f, -0.012263f, 0.016719f, -0.025136f, -0.005550f, 0.027947f, 0.016162f, -0.000202f, 0.001352f, -0.034846f, 0.012608f, 0.019728f, 0.011488f, 0.006678f, -0.001578f, -0.025649f, - -0.075577f, -0.005860f, 0.015836f, 0.021545f, -0.001581f, -0.022051f, 0.037888f, -0.017146f, 0.017509f, 0.028639f, 0.023800f, 0.004603f, 0.028718f, 0.003483f, 0.010511f, 0.006264f, 0.017610f, 0.003663f, 0.005894f, 0.036352f, -0.011640f, -0.007569f, 0.030949f, 0.016213f, 0.008739f, -0.012267f, 0.003543f, 0.025140f, -0.002204f, 0.020224f, 0.005065f, 0.004690f, 0.013021f, -0.006362f, -0.000095f, 0.001709f, -0.000782f, -0.005221f, 0.010289f, 0.004929f, -0.013022f, 0.007861f, 0.005622f, 0.007596f, 0.004103f, -0.003470f, 0.000559f, -0.003887f, -0.004389f, 0.006453f, 0.008228f, 0.003637f, 0.005227f, -0.003578f, -0.003336f, -0.002213f, -0.004233f, -0.005894f, -0.008934f, 0.001896f, -0.005499f, 0.005067f, -0.001610f, 0.003170f, -0.008177f, -0.005290f, -0.001204f, -0.002358f, -0.001952f, -0.003485f, 0.001815f, 0.009045f, 0.009548f, 0.003890f, 0.001399f, -0.004388f, 0.007712f, 0.027462f, 0.024701f, -0.005995f, -0.013757f, -0.001800f, -0.008412f, 0.029988f, 0.018296f, -0.050345f, -0.006319f, 0.004834f, -0.024674f, 0.010173f, -0.035661f, 0.027216f, 0.005715f, -0.003459f, 0.013798f, 0.007863f, - -0.008058f, -0.011092f, -0.009275f, 0.038154f, 0.000804f, 0.000346f, 0.007598f, -0.004444f, 0.014335f, 0.044832f, 0.017318f, -0.005829f, -0.008495f, -0.005871f, 0.024921f, 0.009721f, 0.025245f, 0.018551f, 0.012261f, 0.008082f, -0.011959f, -0.011812f, 0.010897f, -0.025638f, 0.003824f, -0.013338f, -0.012315f, 0.001490f, 0.017470f, 0.003138f, 0.000809f, 0.007090f, -0.006348f, 0.030912f, 0.038687f, 0.045593f, -0.000851f, 0.021128f, -0.027350f, 0.010903f, 0.014850f, -0.011669f, 0.022274f, -0.017743f, -0.037214f, 0.005439f, -0.019793f, -0.002293f, 0.001115f, -0.018869f, 0.004287f, 0.027171f, -0.016754f, -0.015193f, 0.012805f, 0.025213f, -0.001683f, -0.008492f, 0.022079f, 0.002588f, 0.004504f, -0.014993f, -0.003780f, -0.000497f, 0.018142f, -0.008914f, 0.000974f, -0.003823f, 0.003561f, 0.000207f, 0.003096f, 0.005308f, 0.002806f, 0.000592f, 0.001333f, 0.004637f, 0.004758f, -0.003708f, -0.008972f, -0.000975f, -0.001755f, -0.007322f, -0.010081f, -0.000195f, -0.004888f, 0.007407f, -0.006957f, 0.005752f, 0.008622f, -0.000117f, -0.015445f, -0.001108f, 0.002518f, -0.004848f, -0.007495f, 0.001445f, - 0.003768f, 0.023780f, 0.007410f, 0.007594f, -0.001094f, 0.000923f, -0.002380f, 0.007199f, -0.002020f, 0.007638f, 0.019257f, 0.018218f, -0.002635f, -0.000693f, -0.003672f, 0.001237f, 0.005743f, 0.007289f, 0.010098f, 0.002261f, -0.031790f, 0.057906f, 0.003690f, 0.015024f, 0.044327f, -0.016419f, 0.004548f, -0.008502f, 0.011698f, -0.012828f, 0.012798f, -0.031238f, -0.036966f, -0.001191f, -0.021893f, -0.001739f, -0.002041f, -0.002550f, -0.006249f, 0.002295f, -0.010256f, 0.009166f, -0.029401f, -0.011827f, -0.039666f, -0.002086f, 0.009086f, 0.018937f, 0.042815f, 0.023662f, 0.007389f, 0.005381f, 0.012281f, 0.009404f, 0.007206f, 0.017206f, 0.018107f, -0.005850f, -0.036261f, -0.036018f, -0.024667f, -0.014819f, 0.003562f, 0.012012f, -0.013314f, -0.021158f, -0.036804f, 0.000961f, -0.014093f, 0.033445f, -0.015017f, 0.008327f, -0.025569f, -0.012413f, -0.004537f, -0.010595f, -0.049362f, -0.051463f, 0.014009f, 0.005144f, 0.001253f, 0.026219f, 0.014943f, 0.021023f, 0.016947f, -0.032110f, -0.007056f, 0.059897f, -0.011216f, -0.022826f, 0.008718f, -0.013331f, 0.006023f, -0.037169f, 0.014895f, -0.017120f, - 0.002412f, -0.002564f, 0.024229f, 0.001315f, 0.009638f, -0.021206f, 0.003864f, -0.012016f, -0.005492f, -0.014591f, -0.011088f, 0.007425f, 0.008325f, -0.019404f, -0.006623f, 0.001262f, 0.003484f, 0.004659f, 0.002384f, -0.007608f, 0.008263f, 0.003341f, 0.002726f, -0.001140f, -0.000713f, 0.002513f, 0.008358f, -0.009306f, 0.008440f, -0.002432f, -0.000481f, -0.003405f, 0.005288f, -0.005534f, -0.003345f, 0.007441f, -0.014487f, -0.000435f, 0.002585f, -0.008849f, -0.003205f, -0.020181f, 0.014193f, 0.016857f, -0.001380f, 0.003864f, 0.004296f, 0.005648f, -0.009170f, 0.009326f, 0.005811f, 0.007247f, -0.006764f, 0.003889f, 0.005441f, 0.008594f, 0.034582f, 0.026027f, 0.003601f, 0.027666f, -0.005027f, -0.011497f, 0.015425f, -0.021358f, -0.041302f, -0.062131f, 0.005385f, 0.001206f, 0.024165f, 0.017416f, -0.022924f, -0.011932f, -0.060389f, -0.004169f, -0.028022f, 0.006486f, -0.014005f, -0.006875f, -0.011462f, -0.004588f, -0.004525f, -0.021139f, -0.009269f, -0.024619f, 0.019764f, -0.005020f, 0.016944f, 0.043309f, -0.022722f, 0.012394f, -0.003358f, -0.010872f, 0.011388f, -0.023318f, -0.039289f, 0.018864f, - 0.009486f, 0.018763f, 0.012006f, -0.082827f, -0.037346f, 0.010929f, -0.027328f, -0.002433f, -0.023317f, 0.034526f, 0.041917f, -0.002143f, 0.046313f, 0.006405f, 0.021156f, -0.006186f, -0.001311f, -0.025883f, 0.016548f, 0.033231f, 0.007439f, 0.055399f, 0.001529f, 0.007545f, -0.016077f, -0.024487f, 0.033066f, 0.051989f, 0.018398f, 0.010025f, 0.005352f, 0.019610f, 0.001921f, 0.003681f, -0.048520f, -0.035831f, -0.003482f, 0.002521f, 0.006681f, 0.036573f, 0.039635f, -0.007332f, 0.002810f, -0.013600f, 0.008428f, -0.025311f, 0.000866f, -0.026779f, -0.022413f, 0.011626f, -0.000440f, 0.002886f, -0.014808f, 0.009595f, 0.012018f, 0.007889f, 0.012167f, 0.014067f, 0.001441f, -0.008048f, 0.006408f, -0.010976f, -0.002455f, -0.006782f, -0.015823f, -0.004631f, -0.008657f, -0.007161f, 0.013521f, 0.007336f, -0.004532f, -0.010555f, -0.015674f, -0.010406f, 0.010924f, -0.010554f, -0.000839f, 0.000856f, 0.007538f, -0.014975f, -0.011770f, 0.005328f, 0.018808f, 0.011886f, 0.004983f, 0.000002f, -0.011004f, -0.001332f, -0.006620f, -0.012935f, 0.022348f, -0.032254f, -0.016180f, -0.060429f, -0.075732f, -0.055824f, - -0.025769f, 0.017316f, -0.000683f, -0.013101f, -0.027792f, 0.000243f, 0.049660f, 0.024596f, -0.043798f, -0.006994f, -0.009207f, -0.030634f, -0.005689f, 0.002458f, 0.020793f, 0.015638f, -0.032727f, 0.023559f, -0.018574f, 0.010104f, -0.017317f, 0.005364f, -0.025120f, -0.009139f, 0.012152f, -0.044857f, -0.008802f, -0.016804f, 0.014597f, -0.011035f, -0.041803f, 0.049124f, 0.047013f, 0.000812f, -0.019263f, 0.026836f, -0.063957f, -0.019810f, 0.018806f, -0.021292f, -0.013737f, -0.001482f, -0.020798f, 0.004249f, -0.005494f, -0.042587f, 0.018161f, -0.005289f, -0.013325f, -0.014467f, -0.011476f, -0.002519f, -0.011890f, -0.017971f, 0.035288f, -0.016735f, -0.016950f, 0.017024f, -0.000633f, 0.058358f, -0.011830f, -0.035936f, 0.020454f, -0.018697f, -0.016191f, -0.028007f, 0.019344f, 0.036045f, -0.070224f, 0.005640f, 0.058948f, -0.009478f, -0.003843f, -0.023253f, 0.040130f, -0.002713f, -0.022089f, -0.002780f, -0.020749f, -0.016380f, 0.029023f, -0.017408f, -0.001653f, -0.009605f, -0.012385f, -0.020367f, 0.008490f, 0.006981f, 0.010503f, -0.002318f, -0.016703f, -0.011212f, 0.000420f, 0.003022f, -0.025346f, -0.007092f, - -0.016371f, 0.025160f, -0.008554f, 0.001907f, 0.003379f, 0.003216f, 0.002473f, -0.020244f, 0.013555f, 0.000802f, -0.007964f, 0.018380f, 0.002640f, 0.024014f, -0.004424f, 0.027728f, 0.006215f, 0.011258f, 0.013335f, -0.017767f, -0.011980f, 0.008841f, -0.014897f, -0.011370f, 0.004177f, 0.000174f, -0.010528f, -0.024058f, 0.011620f, -0.003361f, -0.047757f, 0.095441f, 0.068151f, -0.001360f, -0.018180f, 0.015086f, -0.057233f, 0.000878f, 0.071280f, -0.012642f, -0.024761f, 0.001082f, 0.080772f, -0.011655f, 0.017734f, -0.017275f, -0.036528f, -0.029642f, -0.007478f, -0.013606f, 0.014873f, 0.020535f, 0.001108f, -0.030515f, -0.042574f, -0.039277f, -0.006343f, -0.008738f, -0.021138f, 0.019641f, 0.015980f, -0.017256f, -0.020910f, -0.022934f, 0.012791f, 0.004315f, 0.015726f, 0.040218f, -0.000275f, -0.034609f, 0.023375f, 0.009082f, 0.007868f, 0.002307f, -0.000686f, -0.016766f, 0.029832f, 0.015145f, -0.012007f, -0.014425f, -0.009516f, -0.039323f, 0.010754f, 0.028541f, 0.008663f, -0.027592f, 0.032042f, 0.023363f, 0.013222f, 0.003406f, -0.016918f, 0.008654f, -0.055898f, 0.008551f, -0.003539f, 0.049630f, - -0.017966f, -0.024849f, 0.010499f, -0.013061f, -0.001121f, -0.036194f, -0.006604f, -0.009856f, 0.048287f, -0.031657f, -0.058744f, -0.038457f, -0.076313f, 0.014732f, -0.015612f, -0.005290f, -0.040786f, -0.026207f, -0.067472f, -0.030093f, -0.023670f, -0.003744f, 0.016404f, -0.022021f, -0.003926f, -0.004393f, -0.003553f, -0.006285f, 0.014317f, -0.025571f, 0.010847f, -0.010240f, -0.019799f, 0.002731f, -0.005810f, 0.017776f, 0.009222f, 0.000039f, -0.010009f, 0.023028f, 0.021667f, 0.012820f, -0.008596f, -0.012011f, -0.011704f, -0.011026f, 0.024362f, 0.039714f, 0.004544f, 0.036453f, 0.040343f, 0.013106f, 0.000555f, -0.036626f, -0.004046f, 0.006339f, 0.005138f, -0.003833f, -0.010121f, -0.031110f, -0.000867f, 0.020137f, 0.003137f, -0.023496f, -0.006019f, -0.017799f, 0.090638f, 0.003669f, 0.014965f, -0.015069f, -0.029860f, -0.039959f, -0.013336f, 0.011396f, 0.026484f, 0.022088f, -0.019321f, -0.000028f, -0.040138f, -0.014556f, 0.014259f, -0.033649f, -0.018184f, -0.012699f, 0.048874f, 0.025647f, 0.026863f, 0.025561f, -0.028470f, 0.005313f, 0.010211f, 0.011666f, -0.002824f, 0.033138f, -0.007361f, 0.014648f, - 0.025544f, 0.009924f, 0.007037f, 0.021762f, 0.029662f, -0.017424f, -0.035048f, 0.023478f, -0.003876f, 0.000209f, -0.037036f, -0.034299f, 0.007830f, -0.017110f, -0.013468f, 0.030316f, -0.031218f, 0.040062f, 0.025719f, -0.017644f, 0.020964f, -0.023327f, -0.023690f, -0.028491f, 0.041200f, -0.028839f, 0.012929f, 0.012701f, -0.047382f, 0.004586f, 0.005396f, -0.037241f, -0.064434f, -0.057436f, 0.041824f, -0.043148f, -0.000888f, -0.038788f, -0.009079f, -0.027708f, -0.002443f, 0.018081f, 0.010898f, -0.028201f, 0.029218f, 0.034157f, 0.071077f, 0.018740f, -0.048007f, 0.016997f, -0.029599f, 0.016073f, -0.042244f, 0.022721f, -0.018170f, 0.003297f, -0.008786f, 0.017372f, -0.005350f, -0.016984f, -0.040556f, -0.040147f, 0.004339f, 0.004032f, 0.025366f, -0.018034f, -0.001877f, 0.039955f, 0.011139f, 0.027745f, 0.008241f, -0.007061f, -0.003168f, -0.009313f, -0.026767f, 0.009711f, -0.032263f, -0.018832f, 0.006795f, 0.026793f, -0.035202f, 0.019708f, 0.003558f, 0.025344f, -0.008646f, 0.014258f, 0.025337f, 0.028149f, 0.028070f, -0.012666f, 0.013653f, 0.022102f, 0.023614f, 0.004790f, 0.014069f, 0.007549f, - -0.010882f, 0.043823f, 0.020169f, 0.022174f, -0.018867f, -0.020858f, 0.005449f, 0.007379f, 0.008425f, -0.018172f, 0.001498f, -0.039797f, -0.000786f, 0.006819f, 0.007640f, -0.035103f, -0.036798f, -0.057890f, 0.040105f, 0.004201f, 0.013688f, -0.009480f, 0.021176f, -0.015831f, -0.015780f, 0.012022f, 0.030487f, 0.007208f, 0.019988f, 0.062436f, -0.009206f, -0.037684f, -0.080238f, -0.011413f, -0.031115f, -0.015245f, -0.019250f, -0.037225f, -0.026382f, -0.055600f, -0.006642f, -0.000914f, 0.019259f, 0.057550f, -0.048155f, -0.018539f, -0.008090f, 0.018793f, 0.020203f, 0.056992f, 0.007559f, -0.065281f, -0.015180f, 0.013276f, 0.050779f, 0.013278f, -0.079175f, -0.031773f, 0.071250f, 0.006388f, 0.071072f, -0.042074f, 0.002086f, 0.005447f, 0.042930f, -0.004157f, 0.039042f, 0.059018f, 0.008146f, 0.050042f, 0.034980f, 0.008355f, 0.069284f, 0.059235f, 0.019036f, 0.092458f, 0.070911f, 0.044440f, -0.075296f, -0.005053f, 0.029164f, 0.016896f, -0.001124f, -0.054600f, -0.065301f, -0.033846f, -0.093366f, -0.014908f, -0.069501f, -0.026613f, -0.018067f, -0.099894f, -0.094850f, -0.066021f, 0.032248f, 0.000808f, - -0.022129f, -0.001388f, -0.007452f, -0.002230f, -0.018677f, -0.009974f, 0.022916f, 0.009024f, 0.003741f, -0.003366f, 0.003407f, -0.004756f, 0.014085f, -0.002639f, -0.025175f, 0.043048f, 0.006704f, 0.010198f, -0.013145f, 0.001878f, -0.001815f, 0.022454f, -0.001470f, 0.012999f, -0.008103f, -0.023896f, 0.009186f, 0.018096f, 0.047577f, 0.042320f, 0.002518f, -0.000653f, 0.030261f, 0.014988f, 0.035396f, 0.029451f, -0.009784f, 0.033998f, 0.018854f, 0.006690f, 0.021203f, 0.013700f, -0.012505f, -0.005758f, -0.027683f, 0.016545f, -0.024744f, -0.011088f, -0.043249f, -0.026272f, 0.012675f, -0.050696f, 0.054165f, -0.022985f, 0.035157f, 0.018474f, -0.047100f, 0.007611f, 0.027883f, -0.017442f, -0.049168f, 0.032716f, -0.013947f, 0.028078f, -0.017068f, 0.007682f, 0.010318f, -0.029070f, -0.004372f, -0.012439f, -0.001488f, -0.048017f, -0.039129f, 0.048014f, 0.001319f, 0.019807f, -0.038221f, 0.039366f, 0.033745f, -0.025404f, 0.021190f, -0.037173f, -0.008977f, -0.020553f, 0.026598f, 0.067949f, -0.002030f, 0.082308f, -0.021513f, -0.003312f, 0.003081f, 0.008941f, -0.006401f, -0.045518f, 0.079364f, 0.052834f, - -0.007043f, 0.044459f, 0.033565f, 0.046122f, -0.018072f, -0.000524f, -0.082210f, 0.037340f, 0.037606f, -0.010096f, -0.014668f, 0.051471f, 0.026206f, 0.027364f, 0.062709f, 0.011080f, -0.033312f, -0.038839f, 0.011187f, -0.011891f, -0.047562f, 0.039213f, -0.054983f, 0.002745f, 0.011341f, -0.038178f, -0.060998f, -0.040606f, -0.016063f, 0.004689f, 0.047970f, 0.033011f, 0.014836f, -0.092073f, -0.026686f, 0.056048f, -0.005121f, -0.019775f, 0.015744f, -0.049750f, -0.031938f, 0.042478f, -0.000909f, 0.000937f, -0.018515f, 0.000595f, 0.024924f, -0.007632f, -0.019613f, 0.014873f, -0.007254f, -0.035328f, -0.020092f, 0.003811f, -0.003398f, -0.001883f, -0.000164f, -0.015339f, -0.000709f, -0.024182f, -0.033660f, 0.004728f, -0.003811f, -0.053854f, -0.006850f, -0.032506f, -0.019701f, -0.005733f, 0.007413f, 0.010168f, 0.028906f, -0.027105f, -0.019441f, 0.006274f, 0.028127f, -0.030035f, -0.033258f, 0.045927f, -0.007955f, -0.002297f, -0.009564f, -0.000017f, -0.019993f, 0.008412f, 0.020522f, 0.012029f, 0.017739f, 0.001603f, 0.006098f, 0.000744f, 0.001765f, 0.007097f, 0.014637f, -0.011688f, -0.003809f, 0.006399f, - 0.010378f, 0.006008f, -0.069127f, 0.039513f, 0.060201f, -0.000716f, 0.069450f, 0.021598f, -0.061190f, -0.036958f, -0.005249f, -0.020687f, -0.037399f, 0.039501f, 0.045231f, -0.003965f, 0.031344f, 0.043280f, -0.034283f, 0.030657f, 0.050911f, -0.002684f, -0.069805f, 0.027683f, -0.002413f, -0.013322f, 0.018703f, 0.052820f, -0.017161f, -0.025943f, 0.012425f, -0.022525f, -0.030500f, -0.001660f, 0.045615f, 0.039743f, -0.065788f, 0.021230f, 0.027581f, -0.043462f, -0.028448f, 0.053438f, -0.014809f, -0.076624f, -0.010214f, 0.065256f, -0.021506f, -0.110905f, 0.116447f, -0.032772f, -0.013806f, -0.057119f, 0.075136f, 0.025051f, -0.026310f, 0.055367f, -0.032578f, -0.023656f, -0.014374f, 0.140981f, 0.046630f, -0.058344f, -0.052307f, 0.054375f, -0.012734f, 0.078936f, 0.001212f, 0.059369f, -0.081283f, 0.065257f, 0.111435f, 0.011038f, -0.012222f, -0.019180f, -0.019689f, -0.044067f, 0.105147f, 0.071309f, -0.063209f, 0.018184f, -0.066424f, -0.010848f, 0.006976f, 0.014304f, 0.009145f, 0.020043f, 0.001690f, -0.072115f, 0.033830f, 0.004924f, -0.007674f, -0.001076f, 0.033257f, -0.013987f, 0.007275f, -0.010114f, - 0.017197f, -0.006389f, 0.004363f, -0.011118f, 0.021701f, 0.001361f, -0.004482f, 0.012896f, 0.017425f, -0.039265f, 0.004724f, 0.025524f, 0.009456f, -0.028163f, 0.015229f, 0.045505f, -0.044176f, -0.068013f, 0.013398f, 0.008985f, 0.026763f, 0.026767f, -0.003661f, -0.061393f, -0.020978f, 0.017402f, 0.008523f, 0.017886f, -0.009368f, 0.003070f, -0.002518f, -0.020180f, 0.018000f, -0.015689f, -0.007529f, 0.050430f, 0.115138f, 0.022325f, -0.044614f, -0.010566f, -0.010997f, 0.020247f, 0.017261f, -0.035934f, -0.051372f, 0.013717f, -0.043490f, 0.008661f, -0.027108f, -0.031055f, -0.006848f, 0.005280f, 0.014629f, -0.034625f, -0.014092f, -0.013727f, -0.043213f, 0.036158f, -0.013669f, 0.002328f, -0.006509f, -0.028765f, 0.011293f, 0.008081f, 0.000881f, -0.006228f, 0.000197f, -0.001073f, -0.017131f, -0.036611f, 0.015515f, -0.018191f, 0.015735f, 0.011125f, -0.036710f, -0.029644f, -0.003507f, -0.004296f, -0.004315f, -0.007904f, 0.029661f, -0.020676f, 0.002897f, -0.038894f, 0.033005f, -0.038112f, -0.020303f, 0.018861f, 0.000371f, -0.030564f, 0.024082f, -0.041077f, 0.002956f, 0.012276f, -0.001255f, 0.004412f, - 0.019481f, 0.009250f, -0.042432f, 0.021305f, 0.002826f, -0.025584f, 0.036072f, 0.014191f, -0.040285f, -0.004482f, -0.032159f, -0.004308f, 0.012844f, 0.010620f, -0.041018f, 0.051911f, -0.027683f, -0.015216f, 0.028771f, 0.019107f, 0.004562f, 0.019224f, -0.001786f, 0.026942f, -0.012216f, 0.005426f, -0.003526f, 0.012977f, 0.010056f, -0.007887f, -0.009559f, 0.010288f, -0.013156f, 0.001257f, 0.002083f, 0.001597f, -0.007797f, 0.001156f, -0.007285f, -0.011866f, -0.006533f, -0.012903f, -0.000829f, 0.009445f, 0.016556f, 0.006071f, 0.001835f, 0.008693f, 0.010793f, -0.015363f, 0.023292f, 0.005993f, -0.000879f, -0.015596f, -0.008911f, 0.007176f, 0.018401f, -0.003786f, -0.000512f, -0.009293f, 0.002922f, 0.002472f, -0.007768f, -0.010579f, -0.009339f, -0.024353f, -0.008933f, -0.009634f, -0.069422f, -0.086048f, -0.031922f, 0.261108f, 0.208490f, 0.138742f, 0.252190f, -0.099931f, -0.239073f, -0.076237f, -0.386241f, -0.150078f, 0.010696f, -0.090116f, 0.176827f, 0.242231f, 0.039357f, 0.154138f, 0.263880f, 0.006166f, 0.072601f, -0.016764f, -0.310562f, -0.256345f, -0.194207f, -0.192290f, -0.095142f, 0.147722f, - 0.078980f, 0.114433f, 0.324016f, 0.137986f, 0.019982f, 0.194611f, 0.090096f, -0.110650f, 0.037741f, -0.092724f, -0.314674f, -0.075158f, -0.164465f, -0.323506f, -0.053973f, 0.008053f, -0.079287f, 0.219801f, 0.252957f, 0.100380f, 0.297474f, 0.301706f, 0.056124f, 0.116667f, 0.052162f, -0.189777f, -0.213482f, -0.199152f, -0.359376f, -0.316913f, -0.121057f, -0.146854f, 0.031051f, 0.193093f, 0.263505f, 0.218402f, 0.336613f, 0.250375f, 0.134017f, 0.019178f, -0.042016f, -0.193532f, -0.236496f, -0.173999f, -0.207795f, -0.172666f, -0.007561f, -0.009151f, 0.039460f, 0.187655f, 0.090194f, 0.114894f, 0.179226f, -0.003091f, -0.055751f, -0.028955f, -0.112257f, -0.063573f, -0.037574f, -0.040787f, 0.046113f, 0.095403f, 0.036851f, 0.053122f, 0.059812f, -0.042834f, -0.015374f, -0.017835f, -0.114415f, 0.016500f, 0.048042f, -0.123463f, -0.001313f, -0.010789f, -0.125081f, 0.047281f, 0.021395f, -0.141195f, 0.089888f, 0.134257f, 0.031693f, 0.269763f, 0.167676f, -0.002669f, 0.143526f, 0.026504f, -0.181545f, -0.150376f, -0.236497f, -0.335375f, -0.251939f, -0.163514f, -0.087875f, 0.115463f, 0.249206f, 0.292313f, - 0.363475f, 0.356505f, 0.252363f, 0.056496f, -0.026076f, -0.179814f, -0.329034f, -0.319660f, -0.284193f, -0.238311f, -0.050800f, 0.026820f, 0.042548f, 0.165922f, 0.176078f, 0.122842f, 0.126289f, 0.098630f, 0.043542f, 0.061105f, 0.044656f, -0.008814f, -0.020218f, -0.050077f, -0.102652f, -0.111265f, -0.110431f, -0.111877f, -0.084772f, -0.018405f, 0.005004f, 0.036265f, 0.076061f, 0.092313f, 0.098346f, 0.098003f, 0.071334f, 0.023607f, 0.000161f, -0.027598f, -0.049683f, -0.057211f, -0.044508f, -0.046438f, -0.036136f, -0.012357f, -0.007627f, -0.011430f, 0.000949f, 0.002352f, 0.003685f, 0.028053f, 0.029979f, 0.014194f, 0.018869f, 0.015417f, 0.008957f, 0.019836f, 0.016612f, 0.003239f, 0.001135f, -0.013998f, -0.025986f, -0.023701f, -0.023849f, -0.025885f, -0.019815f, -0.012034f, -0.003215f, 0.008154f, 0.019642f, 0.022610f, 0.022771f, 0.021077f, 0.014790f, 0.006147f, 0.001859f, -0.007331f, -0.014200f, -0.012658f, -0.009764f, -0.008447f, -0.001064f, 0.002548f, 0.005477f, 0.003988f, 0.002422f, -0.002429f, -0.004513f, -0.008255f, -0.007483f, -0.005158f, -0.001031f, 0.000820f, 0.005478f, 0.008304f, - 0.012163f, 0.011422f, 0.008711f, 0.004822f, 0.003122f, -0.002260f, -0.005367f, -0.008037f, -0.008924f, -0.009377f, -0.006630f, -0.005363f, -0.001965f, 0.000267f, 0.002709f, 0.002906f, 0.004184f, 0.002896f, 0.002438f, 0.000373f}, - {-0.009464f, 0.029348f, 0.011209f, 0.007157f, 0.002289f, -0.006182f, 0.000055f, 0.005655f, 0.010556f, 0.000178f, 0.001005f, 0.000652f, -0.003894f, 0.001065f, 0.003571f, -0.000689f, 0.003489f, 0.005445f, 0.007193f, 0.003064f, 0.002944f, 0.003834f, 0.003356f, -0.006592f, 0.006708f, 0.012659f, -0.005998f, 0.003622f, 0.001972f, 0.003558f, 0.000642f, 0.007509f, -0.004877f, -0.001703f, -0.004389f, 0.004347f, 0.012512f, -0.002077f, 0.006070f, -0.000137f, -0.002833f, -0.010286f, 0.003858f, -0.005315f, 0.004754f, 0.002441f, 0.005312f, -0.000562f, -0.003195f, 0.001709f, -0.002200f, 0.007200f, 0.000928f, -0.005650f, 0.007280f, -0.001564f, 0.005684f, 0.004410f, -0.000224f, 0.004235f, 0.008209f, -0.002281f, -0.002867f, -0.002301f, 0.004091f, -0.003328f, -0.004414f, 0.005132f, 0.000071f, 0.003453f, -0.005452f, 0.008097f, 0.000491f, -0.002248f, -0.000932f, -0.000868f, 0.003229f, -0.002997f, -0.004826f, 0.002888f, 0.004351f, 0.004129f, -0.003822f, -0.005710f, 0.002327f, -0.000176f, -0.000665f, -0.002185f, -0.002076f, 0.002898f, -0.000728f, -0.000397f, -0.001756f, -0.002084f, 0.000442f, -0.001492f, - 0.000680f, 0.000468f, 0.002154f, 0.001503f, -0.000605f, 0.000789f, 0.001240f, -0.001258f, -0.000503f, 0.000106f, -0.000553f, -0.000958f, 0.000773f, 0.002085f, 0.001214f, 0.001564f, 0.000066f, -0.000121f, 0.000569f, -0.001285f, 0.000031f, 0.000497f, 0.022851f, 0.017792f, 0.009036f, 0.001238f, -0.003306f, 0.010284f, -0.005995f, -0.006572f, -0.001435f, -0.011432f, 0.006927f, 0.000396f, -0.004656f, 0.002627f, 0.006659f, 0.011279f, -0.005206f, 0.006480f, 0.014791f, -0.004267f, 0.000155f, 0.003316f, 0.007711f, -0.001989f, 0.008396f, 0.005850f, 0.008493f, 0.001888f, 0.006496f, -0.006619f, 0.011303f, -0.001399f, 0.010907f, 0.005333f, -0.001153f, 0.001299f, -0.001756f, -0.000301f, -0.003885f, -0.001904f, -0.004810f, -0.003624f, 0.003825f, -0.001066f, -0.010482f, -0.002409f, 0.001150f, -0.000341f, -0.005835f, -0.006110f, -0.003045f, -0.002669f, 0.008259f, -0.003340f, -0.009006f, -0.012115f, -0.013259f, -0.004630f, -0.005825f, -0.000524f, 0.002074f, 0.006371f, -0.008666f, -0.003994f, 0.001040f, -0.000927f, -0.003872f, 0.000920f, -0.009125f, -0.000911f, -0.010759f, 0.005712f, -0.005850f, -0.002908f, - 0.007493f, -0.001136f, 0.005148f, 0.001432f, 0.001885f, 0.005740f, 0.001458f, -0.004709f, -0.002122f, 0.000413f, -0.004533f, 0.002369f, 0.004639f, 0.002197f, -0.003551f, 0.002624f, 0.003880f, 0.000705f, 0.002107f, -0.001189f, -0.002084f, -0.001515f, -0.002084f, 0.001437f, -0.000209f, 0.001314f, -0.001741f, -0.001351f, 0.001492f, 0.002097f, 0.012095f, -0.026192f, -0.007011f, -0.013280f, -0.002450f, -0.000029f, 0.014424f, -0.007031f, -0.023451f, -0.008287f, -0.000590f, 0.008911f, 0.002793f, -0.008727f, -0.020362f, -0.005265f, 0.005588f, -0.002308f, 0.011477f, 0.000426f, 0.005030f, -0.001161f, -0.009038f, -0.009863f, 0.005930f, 0.007207f, 0.000849f, 0.002321f, -0.000359f, 0.004395f, 0.001027f, -0.012129f, 0.000644f, 0.017015f, 0.002293f, -0.004262f, -0.001574f, -0.004555f, 0.001043f, -0.003934f, -0.007407f, 0.011381f, -0.003550f, -0.004780f, 0.010354f, -0.005447f, -0.009197f, 0.000391f, 0.000058f, 0.000269f, -0.013265f, 0.010750f, -0.004114f, -0.000288f, 0.009941f, 0.009013f, -0.014224f, -0.003639f, 0.002747f, 0.003419f, -0.001264f, 0.007754f, 0.002140f, 0.003833f, 0.005392f, 0.000771f, - 0.004307f, 0.006488f, 0.001414f, 0.000001f, 0.006079f, -0.016258f, -0.003601f, 0.000369f, 0.008256f, 0.004544f, -0.002007f, -0.001683f, 0.006001f, 0.005555f, -0.006479f, -0.000969f, -0.002316f, 0.000152f, 0.003544f, 0.004482f, 0.000891f, 0.005549f, -0.000580f, -0.004064f, -0.001912f, 0.000398f, 0.000401f, 0.000478f, -0.001525f, 0.003843f, -0.000818f, 0.001344f, -0.000612f, -0.001835f, 0.001131f, -0.000116f, -0.000794f, -0.001519f, 0.000303f, -0.001435f, -0.000246f, -0.002525f, -0.001917f, 0.000435f, -0.000395f, -0.001995f, -0.003809f, -0.001464f, 0.000806f, 0.003124f, -0.052146f, -0.020489f, -0.010552f, -0.014711f, 0.004612f, -0.005039f, -0.005023f, -0.000544f, 0.006545f, -0.005893f, -0.007153f, -0.010270f, 0.002044f, 0.009373f, 0.002041f, -0.007015f, -0.008844f, 0.002711f, 0.007723f, 0.007259f, -0.010048f, -0.014679f, 0.001085f, -0.013717f, 0.007328f, -0.000009f, 0.005106f, -0.000305f, 0.004926f, -0.005347f, -0.002308f, 0.014519f, -0.017491f, 0.008121f, 0.004050f, 0.002040f, -0.006219f, 0.003947f, 0.008579f, 0.002381f, -0.010664f, 0.002235f, -0.006773f, 0.005293f, -0.014547f, -0.000462f, - -0.013179f, 0.010220f, -0.001095f, -0.002519f, -0.003755f, 0.005669f, -0.022102f, 0.010278f, -0.006387f, -0.013275f, 0.005328f, 0.010853f, 0.012148f, 0.007267f, 0.002582f, -0.000765f, 0.001432f, -0.001004f, 0.007837f, -0.004378f, 0.002212f, 0.006279f, 0.015194f, 0.002531f, 0.000292f, -0.010813f, 0.006955f, -0.005320f, 0.001237f, 0.000417f, 0.008088f, -0.007067f, 0.000419f, 0.007549f, -0.000665f, -0.008704f, -0.012150f, 0.010159f, 0.000842f, 0.002002f, 0.005063f, -0.000923f, 0.002463f, 0.002288f, -0.000074f, 0.001938f, -0.000847f, 0.000429f, 0.002699f, 0.002627f, 0.002661f, -0.004279f, 0.001738f, -0.003180f, -0.001432f, -0.002658f, 0.002614f, -0.003032f, -0.029613f, 0.014494f, 0.023130f, 0.004487f, 0.001831f, 0.012847f, 0.004344f, 0.003925f, 0.007033f, 0.000959f, 0.007359f, 0.007389f, -0.005966f, -0.001103f, 0.001005f, -0.007275f, -0.004503f, -0.000102f, 0.003576f, -0.004295f, 0.024050f, 0.012768f, -0.003508f, 0.001711f, 0.007637f, 0.009607f, 0.010977f, -0.004604f, 0.007730f, 0.008993f, 0.000507f, 0.002617f, 0.002595f, 0.005117f, 0.003715f, 0.002252f, 0.005082f, 0.004844f, - -0.010406f, -0.008053f, -0.016020f, 0.001723f, -0.005676f, -0.008019f, 0.008240f, -0.002354f, 0.005187f, -0.019859f, 0.021855f, -0.001598f, -0.010395f, -0.001941f, 0.017324f, 0.012527f, -0.002764f, 0.000437f, 0.008388f, -0.004002f, 0.003606f, -0.006401f, -0.013642f, 0.001594f, 0.001274f, -0.010975f, -0.004339f, -0.010818f, 0.001928f, 0.003981f, 0.002442f, -0.005267f, -0.009551f, -0.014567f, -0.017342f, -0.012483f, -0.004860f, 0.000984f, -0.004219f, 0.001675f, 0.005759f, 0.005098f, -0.007209f, -0.000788f, -0.007862f, 0.002855f, -0.002741f, 0.002243f, -0.000105f, -0.003226f, 0.002297f, 0.002611f, -0.002315f, -0.001107f, -0.003013f, 0.004049f, -0.004819f, 0.001035f, 0.001544f, 0.001415f, -0.000488f, -0.001135f, 0.001030f, 0.002147f, 0.002159f, 0.001755f, 0.001357f, 0.001808f, 0.000599f, 0.003453f, -0.000797f, 0.003827f, -0.002394f, 0.001203f, -0.000711f, -0.000996f, -0.002756f, -0.002142f, -0.001833f, -0.002506f, 0.000987f, -0.002013f, -0.000267f, 0.001822f, 0.000612f, 0.054644f, 0.014442f, 0.004093f, -0.002059f, 0.032958f, 0.003831f, 0.015686f, 0.003199f, 0.010452f, 0.017117f, 0.006103f, - -0.009538f, 0.010172f, 0.011763f, 0.001918f, -0.000878f, 0.002575f, 0.021556f, 0.001557f, -0.007385f, -0.013052f, -0.003862f, -0.000332f, -0.014991f, 0.002581f, 0.004442f, 0.008668f, 0.003662f, 0.006141f, 0.016521f, -0.005086f, -0.002625f, 0.010226f, -0.001584f, -0.004400f, -0.000851f, -0.014697f, 0.009564f, 0.006340f, 0.000348f, 0.009591f, -0.004742f, -0.012855f, -0.027960f, -0.010155f, 0.010345f, 0.011511f, 0.000375f, 0.008109f, -0.007886f, -0.008485f, 0.022778f, -0.013073f, 0.010333f, -0.011497f, 0.002443f, -0.016805f, -0.017732f, 0.019375f, -0.007339f, -0.006819f, 0.026605f, 0.002114f, -0.002964f, -0.012374f, 0.009769f, 0.015472f, 0.000774f, -0.008155f, -0.015633f, -0.002336f, 0.011407f, -0.003519f, 0.003884f, -0.006792f, 0.005631f, -0.002504f, 0.001841f, 0.012259f, -0.013058f, 0.004226f, -0.003677f, 0.000947f, 0.001534f, -0.001369f, 0.014041f, 0.004526f, 0.002089f, -0.004024f, 0.000170f, -0.003157f, 0.005932f, -0.002717f, 0.004710f, 0.004842f, -0.004896f, 0.000173f, -0.000762f, -0.003048f, 0.006687f, 0.001268f, 0.003142f, 0.000397f, -0.002325f, 0.001498f, 0.000055f, 0.000272f, - 0.001932f, 0.003104f, 0.001125f, 0.004026f, 0.001244f, -0.000143f, 0.002200f, 0.001632f, -0.001484f, 0.000627f, -0.000628f, 0.001006f, 0.003479f, 0.003998f, 0.000643f, -0.000191f, 0.027991f, 0.009068f, 0.023233f, -0.014292f, 0.004834f, 0.012721f, -0.017337f, -0.006160f, -0.006635f, 0.001676f, -0.008647f, -0.005560f, 0.013869f, -0.004295f, -0.002338f, -0.001109f, 0.017301f, -0.006375f, -0.007679f, 0.018092f, 0.003186f, -0.013026f, 0.005672f, -0.002960f, 0.003153f, 0.006760f, -0.010219f, -0.002542f, -0.007620f, -0.014225f, 0.001951f, 0.000231f, 0.002915f, -0.013996f, -0.014214f, 0.005471f, -0.001019f, 0.005322f, -0.000351f, 0.007798f, 0.002561f, -0.000480f, -0.008997f, -0.009054f, 0.002706f, 0.008791f, 0.004556f, -0.002717f, 0.026390f, 0.006100f, 0.004702f, 0.011781f, 0.004627f, 0.008734f, 0.009227f, 0.005782f, 0.003840f, 0.004408f, -0.003578f, -0.002172f, 0.002211f, -0.011209f, 0.003158f, -0.018000f, 0.005108f, -0.011950f, 0.009494f, -0.006766f, 0.005314f, -0.002417f, -0.008457f, 0.002817f, -0.002073f, 0.009237f, -0.007914f, 0.024883f, 0.021278f, 0.009617f, -0.017782f, 0.005559f, - 0.008226f, -0.007785f, 0.003549f, 0.002131f, 0.012476f, 0.011549f, 0.005108f, -0.000358f, -0.001449f, -0.002598f, -0.006897f, 0.010761f, -0.000601f, -0.001402f, 0.000251f, -0.003210f, 0.001402f, 0.003533f, -0.002766f, 0.005567f, -0.001934f, -0.004741f, -0.004653f, -0.000257f, 0.003546f, 0.003147f, -0.000676f, -0.001246f, -0.003627f, -0.001740f, 0.002249f, -0.004696f, 0.005369f, 0.005250f, -0.003167f, 0.000882f, -0.004067f, -0.001485f, 0.000944f, 0.001667f, -0.003047f, 0.005579f, -0.034470f, -0.066315f, -0.002838f, -0.013292f, 0.011491f, -0.003424f, -0.018377f, -0.001789f, -0.014888f, -0.016411f, -0.014080f, 0.021673f, 0.011235f, -0.014505f, -0.008357f, 0.016484f, 0.009527f, 0.014706f, -0.010170f, 0.009499f, -0.009028f, -0.009113f, -0.002840f, -0.004003f, -0.028092f, 0.007625f, 0.015975f, 0.006857f, -0.016722f, -0.003877f, 0.002909f, 0.004226f, -0.014928f, -0.003365f, -0.021406f, 0.004660f, -0.010179f, -0.001001f, -0.007498f, 0.004029f, 0.022788f, -0.002522f, -0.004308f, 0.011387f, 0.016638f, -0.010167f, 0.004489f, 0.006247f, -0.014156f, 0.007477f, 0.006960f, -0.016614f, 0.002528f, 0.010633f, - -0.002605f, -0.017496f, -0.011056f, -0.011314f, 0.015740f, 0.006054f, 0.015410f, -0.009247f, -0.017989f, 0.004165f, 0.008844f, -0.003890f, -0.012906f, 0.008434f, 0.012432f, 0.011786f, -0.014790f, -0.007726f, -0.003148f, 0.023656f, -0.005143f, 0.014084f, 0.004070f, -0.016802f, -0.013715f, -0.002694f, 0.009217f, -0.015930f, -0.001042f, -0.003043f, 0.008603f, -0.002003f, 0.019526f, 0.002362f, -0.004607f, -0.005966f, -0.005089f, -0.005760f, -0.003784f, -0.002022f, 0.001687f, -0.000153f, -0.002427f, -0.007304f, -0.000819f, -0.007106f, -0.003188f, 0.002768f, -0.002576f, 0.001031f, -0.002164f, -0.005404f, 0.003062f, -0.000969f, 0.008273f, -0.001754f, -0.006968f, -0.004921f, 0.002543f, -0.001403f, 0.000160f, -0.002028f, -0.004537f, 0.001373f, 0.004567f, -0.004314f, -0.001470f, 0.006298f, 0.002824f, -0.004092f, 0.000192f, 0.004945f, -0.033546f, -0.000410f, 0.001322f, 0.019189f, 0.005123f, -0.008177f, 0.011957f, -0.005934f, 0.005449f, -0.018748f, -0.005023f, -0.012011f, -0.006076f, -0.023604f, -0.008436f, -0.014239f, 0.032438f, 0.018063f, 0.019922f, -0.023155f, -0.019134f, -0.009693f, 0.011312f, -0.001393f, - 0.000130f, 0.000320f, 0.006948f, -0.001897f, 0.009700f, -0.013608f, -0.011010f, -0.000552f, -0.002852f, -0.016706f, -0.016094f, -0.013505f, -0.009167f, -0.007433f, -0.006179f, -0.021070f, 0.009904f, 0.025115f, -0.005133f, 0.011609f, 0.016731f, -0.012283f, 0.014532f, 0.008656f, 0.003750f, 0.022918f, -0.000725f, 0.019148f, 0.007603f, 0.002221f, -0.017872f, 0.007038f, 0.009404f, -0.005075f, 0.027135f, 0.021068f, 0.004542f, -0.008200f, -0.012949f, 0.007484f, -0.012722f, 0.005073f, 0.000124f, 0.015593f, 0.000346f, -0.023793f, 0.002083f, -0.009504f, -0.003370f, -0.017875f, 0.021030f, 0.010506f, 0.007868f, 0.004711f, 0.023429f, -0.006830f, -0.023764f, -0.003976f, 0.015568f, 0.000230f, -0.012055f, -0.003387f, 0.002111f, -0.005559f, 0.003328f, 0.007125f, 0.000311f, 0.000055f, -0.001171f, 0.002199f, -0.000019f, 0.008625f, 0.003067f, 0.002452f, -0.001692f, 0.003236f, 0.005027f, 0.007819f, -0.006325f, 0.004255f, 0.005001f, -0.000223f, 0.001834f, 0.007879f, 0.004833f, 0.001919f, -0.004503f, 0.006672f, -0.001626f, -0.004129f, -0.004234f, -0.000467f, -0.011614f, 0.007423f, 0.004245f, 0.001214f, - -0.005292f, 0.006526f, 0.007093f, 0.011726f, 0.007822f, 0.001861f, 0.002460f, 0.000447f, 0.010266f, -0.030604f, 0.013734f, 0.010262f, 0.013025f, -0.014238f, -0.025575f, 0.007477f, 0.007534f, 0.001376f, -0.021582f, 0.020628f, 0.005777f, -0.010859f, -0.019019f, 0.008630f, -0.008475f, 0.032968f, 0.038168f, 0.005749f, -0.006237f, -0.014189f, 0.021628f, -0.024642f, -0.008963f, 0.030624f, 0.007484f, -0.005843f, -0.016617f, -0.015121f, -0.008708f, 0.000633f, -0.020296f, 0.004644f, 0.021411f, -0.002646f, 0.007981f, -0.015677f, -0.014502f, -0.004791f, -0.012006f, 0.031356f, -0.011573f, 0.014133f, 0.011453f, 0.012780f, 0.003254f, 0.006326f, -0.021774f, -0.021651f, -0.020938f, -0.004557f, 0.015556f, 0.036140f, -0.014613f, -0.025951f, -0.006105f, -0.011909f, 0.006587f, 0.005685f, 0.019990f, -0.012171f, -0.000337f, -0.016157f, -0.003173f, 0.028964f, -0.003766f, -0.015630f, 0.020585f, 0.006864f, 0.003270f, 0.010942f, -0.023235f, 0.003633f, -0.007911f, 0.002336f, 0.010541f, 0.025479f, 0.007040f, -0.029403f, 0.010726f, 0.002678f, -0.004629f, -0.012199f, 0.000526f, -0.003048f, -0.001658f, -0.000698f, - 0.004122f, 0.006895f, 0.008135f, 0.002805f, 0.000522f, -0.004666f, 0.001512f, -0.001381f, 0.005841f, -0.009917f, 0.003724f, 0.003993f, -0.000235f, 0.000978f, 0.001665f, -0.007483f, -0.000215f, -0.004934f, 0.008250f, 0.007763f, 0.001904f, 0.009303f, -0.003594f, 0.001368f, 0.007033f, -0.001388f, 0.005580f, 0.001462f, 0.005171f, 0.001828f, -0.011628f, -0.000620f, -0.004138f, -0.000569f, 0.001615f, 0.000779f, -0.004069f, 0.000485f, -0.004794f, 0.000094f, -0.002303f, 0.049919f, -0.021697f, -0.017000f, -0.005198f, 0.010522f, -0.029196f, 0.011693f, -0.007879f, 0.014747f, -0.013102f, -0.005971f, 0.018116f, 0.013433f, 0.005121f, -0.009112f, -0.003298f, 0.024796f, 0.024395f, -0.005063f, 0.021303f, -0.006178f, 0.031320f, -0.014636f, -0.007687f, 0.005625f, 0.032813f, 0.023966f, 0.007938f, -0.017579f, -0.001225f, -0.036433f, -0.005499f, 0.005700f, 0.016769f, 0.019537f, 0.034585f, 0.009067f, -0.000623f, -0.001666f, -0.013263f, -0.022720f, -0.001622f, -0.019705f, 0.014265f, 0.004477f, 0.022054f, 0.012275f, -0.007518f, 0.021857f, -0.026002f, 0.011769f, -0.005788f, 0.001892f, -0.004510f, 0.027822f, - 0.016314f, 0.007973f, 0.004976f, -0.050471f, -0.008015f, 0.029954f, 0.015136f, 0.001873f, -0.000918f, 0.001536f, 0.024166f, 0.010263f, -0.038155f, -0.012432f, -0.014706f, 0.003598f, 0.000847f, -0.037908f, 0.001511f, -0.035431f, -0.023483f, -0.003048f, -0.015208f, -0.016483f, 0.022200f, 0.028023f, -0.002971f, -0.013561f, -0.001452f, 0.008640f, -0.003384f, 0.007381f, 0.011513f, -0.000874f, 0.012788f, 0.018701f, -0.005896f, -0.010326f, 0.001799f, -0.004366f, 0.005724f, 0.003742f, -0.002854f, -0.002533f, 0.000338f, 0.000355f, 0.005368f, -0.000489f, -0.006310f, 0.001393f, 0.006462f, 0.002451f, 0.005761f, -0.004810f, 0.008682f, 0.000098f, -0.003014f, 0.002209f, -0.005268f, 0.002281f, -0.010696f, -0.006834f, -0.008329f, 0.004503f, 0.000583f, -0.007937f, -0.001433f, 0.007036f, 0.004725f, 0.006129f, -0.003778f, 0.003443f, 0.000265f, -0.001190f, -0.010163f, -0.005173f, -0.010778f, 0.018443f, 0.034873f, -0.008564f, -0.014688f, 0.002325f, 0.013272f, 0.008113f, -0.021901f, -0.001057f, -0.017812f, -0.000676f, -0.024118f, -0.002343f, -0.020781f, 0.001212f, 0.020794f, 0.001912f, 0.046338f, -0.019357f, - -0.009732f, -0.016425f, 0.018712f, 0.031337f, -0.025236f, -0.008109f, -0.038954f, 0.007487f, -0.000645f, 0.010777f, 0.009202f, -0.021416f, -0.013146f, 0.017111f, -0.006645f, -0.004570f, -0.021330f, 0.042589f, -0.005961f, -0.045155f, 0.012461f, -0.011749f, -0.013768f, 0.016524f, 0.012427f, -0.012909f, -0.014729f, -0.004187f, -0.026490f, -0.015556f, 0.008475f, 0.006061f, 0.008856f, -0.007801f, -0.019208f, -0.021801f, -0.022300f, 0.018396f, -0.032632f, 0.000699f, 0.007593f, -0.009813f, 0.000640f, -0.000028f, -0.004599f, -0.025538f, -0.004959f, -0.010276f, 0.016171f, 0.021113f, -0.004078f, 0.032723f, -0.002048f, -0.000161f, -0.010171f, -0.001908f, 0.046614f, 0.004706f, -0.021331f, -0.008275f, 0.018006f, 0.013725f, -0.026186f, 0.000693f, 0.003501f, -0.017457f, 0.014480f, 0.003613f, 0.016228f, 0.002705f, 0.002281f, 0.002686f, 0.001058f, 0.007334f, 0.009668f, 0.001038f, 0.004723f, 0.016081f, 0.000995f, -0.005531f, 0.002524f, 0.007797f, -0.006308f, -0.001584f, 0.000645f, -0.007334f, 0.006647f, 0.006529f, 0.007717f, 0.001714f, -0.008964f, 0.002135f, -0.003267f, 0.001567f, -0.002126f, -0.001480f, - 0.000453f, -0.004749f, 0.006599f, -0.003461f, -0.005113f, -0.005687f, 0.013647f, 0.000254f, -0.015521f, 0.011197f, 0.008316f, 0.003864f, -0.001375f, 0.008588f, 0.006015f, -0.016774f, -0.004165f, 0.000956f, 0.000366f, -0.005067f, -0.022730f, 0.057401f, -0.014761f, -0.005035f, 0.005105f, 0.024476f, 0.017590f, -0.037266f, -0.015198f, -0.035402f, 0.007778f, 0.002043f, -0.010946f, -0.038964f, 0.001629f, -0.018184f, 0.008110f, 0.008596f, 0.019693f, 0.001012f, 0.014341f, 0.067455f, 0.014679f, 0.016849f, -0.010569f, -0.003731f, 0.029472f, -0.002554f, 0.002341f, 0.007828f, 0.001951f, -0.004304f, -0.015365f, 0.027194f, -0.028805f, 0.012031f, -0.042834f, -0.013021f, -0.020025f, -0.026433f, -0.022706f, -0.000014f, -0.046798f, -0.015908f, 0.006465f, 0.026851f, 0.015464f, -0.045975f, 0.026137f, 0.017403f, 0.019060f, -0.029176f, 0.021523f, -0.013661f, -0.033458f, -0.011350f, -0.033287f, 0.016342f, 0.039899f, 0.010142f, -0.003773f, -0.025942f, 0.021124f, -0.027629f, 0.041672f, -0.007608f, -0.004436f, -0.024950f, -0.027357f, 0.004204f, 0.032560f, 0.010890f, -0.022317f, -0.008877f, 0.005502f, -0.004413f, - -0.008898f, 0.021536f, 0.011055f, -0.009687f, 0.027583f, -0.001981f, -0.039001f, 0.049242f, 0.026136f, 0.020449f, 0.009318f, -0.006313f, -0.002335f, -0.003789f, 0.014710f, 0.003627f, 0.002234f, 0.032538f, 0.012672f, 0.000895f, 0.001633f, 0.004905f, 0.016925f, -0.013156f, 0.009589f, 0.001267f, 0.003276f, 0.003432f, 0.010947f, 0.005656f, 0.000785f, 0.018520f, 0.014009f, 0.001581f, -0.006230f, -0.006077f, -0.002260f, 0.015247f, 0.007564f, 0.008734f, 0.008146f, 0.010285f, -0.012162f, 0.012700f, -0.003131f, -0.002868f, 0.011528f, 0.018282f, -0.002461f, -0.004542f, 0.000023f, 0.017437f, 0.019721f, 0.007942f, 0.012204f, 0.009345f, 0.031392f, 0.005975f, -0.020217f, 0.009222f, -0.005896f, 0.009503f, 0.034452f, -0.048477f, -0.022066f, -0.038954f, 0.022165f, -0.007758f, 0.003818f, -0.012777f, 0.028129f, -0.027578f, -0.027939f, -0.012595f, -0.006511f, -0.019822f, -0.034568f, -0.016560f, 0.006495f, 0.022835f, -0.031800f, 0.021118f, -0.011954f, 0.002652f, 0.041251f, 0.031695f, -0.000493f, 0.016774f, 0.008012f, -0.006415f, -0.004938f, -0.055819f, 0.007812f, -0.005528f, 0.005570f, 0.011056f, - -0.004339f, 0.001682f, 0.056614f, -0.050608f, 0.004846f, 0.061415f, 0.008064f, 0.017079f, -0.023947f, -0.006397f, 0.032103f, 0.056397f, 0.002931f, 0.050035f, -0.019358f, 0.045281f, -0.015763f, 0.033561f, 0.033962f, -0.008214f, 0.066101f, -0.010816f, -0.002692f, -0.019433f, -0.029722f, -0.031437f, -0.014392f, -0.018802f, -0.045808f, -0.021265f, -0.009625f, 0.017157f, 0.016926f, 0.002326f, -0.023457f, -0.003768f, -0.006525f, 0.029710f, 0.009307f, -0.015229f, 0.025453f, 0.005868f, -0.002977f, -0.003399f, -0.018261f, -0.002664f, -0.007158f, 0.007878f, -0.018474f, -0.008747f, -0.012823f, -0.012773f, 0.023731f, 0.009255f, -0.007612f, 0.007272f, -0.005802f, 0.004660f, -0.013945f, 0.021254f, 0.001229f, 0.006073f, -0.000311f, -0.014072f, 0.013279f, -0.001582f, 0.005048f, 0.015131f, 0.010666f, 0.006526f, 0.001461f, -0.021996f, 0.010872f, -0.008357f, -0.000710f, 0.019162f, -0.000094f, 0.007170f, 0.004896f, 0.009203f, 0.013149f, -0.004518f, -0.009964f, -0.006750f, -0.007892f, 0.004052f, 0.011890f, 0.019676f, 0.011744f, -0.022834f, -0.002471f, -0.024806f, -0.021503f, -0.072471f, -0.051725f, -0.036313f, - -0.003737f, 0.049504f, -0.032470f, -0.003912f, -0.025010f, -0.035796f, -0.029892f, -0.036573f, -0.038439f, -0.014971f, -0.045348f, -0.049055f, -0.042931f, 0.012332f, -0.029679f, -0.015247f, -0.036969f, 0.035343f, 0.057418f, 0.005205f, -0.006762f, -0.020062f, 0.004590f, -0.003369f, -0.001647f, -0.004401f, 0.017999f, 0.004044f, 0.039116f, -0.033990f, 0.002866f, -0.028880f, 0.059523f, 0.014866f, -0.035123f, 0.027725f, -0.025209f, 0.022570f, -0.033802f, 0.019980f, 0.002757f, -0.019905f, 0.017955f, -0.031630f, -0.010780f, 0.010369f, 0.032476f, 0.014514f, 0.057745f, -0.012715f, -0.037456f, 0.003779f, -0.010784f, 0.004685f, -0.024864f, -0.021144f, -0.039963f, 0.005329f, -0.042477f, -0.008217f, -0.006755f, -0.036827f, 0.024673f, 0.031714f, -0.018408f, -0.001692f, -0.054730f, 0.063077f, 0.076008f, 0.012506f, -0.030166f, 0.010709f, 0.066876f, -0.031129f, -0.014397f, -0.035546f, -0.021013f, -0.039047f, 0.016052f, -0.001566f, -0.022322f, 0.017515f, -0.022357f, 0.009586f, -0.013954f, -0.006029f, 0.008997f, 0.005117f, -0.000279f, -0.014412f, -0.003048f, 0.013273f, 0.007436f, -0.024251f, 0.019331f, -0.016789f, - 0.008859f, 0.011594f, -0.007839f, -0.014117f, 0.007688f, -0.011348f, 0.009496f, 0.007271f, -0.015377f, 0.005963f, -0.002155f, 0.006267f, -0.009191f, -0.024432f, 0.006689f, 0.004708f, -0.010260f, 0.006796f, -0.009196f, 0.018040f, -0.000339f, 0.007601f, 0.001973f, 0.023342f, 0.002991f, -0.030400f, 0.017300f, 0.011829f, 0.005200f, 0.019681f, -0.058762f, 0.107446f, 0.040492f, -0.008675f, -0.032456f, -0.008888f, -0.034459f, 0.037075f, 0.093008f, 0.002169f, -0.061870f, -0.028123f, 0.033497f, 0.012648f, -0.012384f, 0.044536f, -0.008668f, 0.005738f, 0.025364f, -0.002506f, -0.025693f, -0.008171f, 0.020885f, -0.026662f, -0.024475f, -0.009724f, 0.008654f, 0.001521f, -0.004714f, -0.011074f, 0.019692f, 0.002258f, 0.029178f, 0.023294f, -0.030177f, 0.015020f, 0.035885f, 0.020327f, -0.027885f, 0.010986f, 0.005931f, 0.024470f, 0.000583f, 0.008688f, 0.006502f, 0.010240f, 0.050632f, 0.048200f, 0.029689f, 0.065245f, -0.032041f, 0.033763f, -0.038594f, 0.024892f, -0.000445f, 0.022777f, 0.028207f, 0.009379f, 0.007330f, 0.034552f, 0.015922f, -0.008831f, 0.021749f, 0.000430f, 0.029177f, -0.030634f, - -0.017687f, 0.003011f, 0.070342f, -0.048200f, 0.004706f, -0.060686f, -0.007234f, 0.007425f, 0.024059f, -0.029339f, -0.005846f, -0.030240f, 0.007946f, 0.038101f, -0.023111f, -0.054187f, -0.011598f, -0.004982f, -0.014785f, 0.013642f, 0.009527f, -0.015040f, 0.005493f, -0.012800f, -0.012875f, 0.012658f, -0.001920f, -0.006936f, -0.024608f, 0.013820f, -0.001009f, -0.015165f, -0.012461f, 0.012110f, 0.033255f, 0.003691f, -0.009479f, -0.003939f, 0.012148f, 0.030300f, 0.006005f, 0.003085f, 0.024905f, -0.000220f, 0.006823f, -0.001800f, -0.004826f, -0.000616f, 0.009077f, 0.014654f, 0.008551f, -0.003446f, -0.005202f, 0.013140f, 0.009040f, -0.018134f, 0.017857f, 0.005398f, 0.034624f, -0.007997f, 0.008859f, 0.021412f, -0.014169f, -0.008115f, 0.011810f, -0.018980f, 0.090006f, 0.007182f, 0.006660f, -0.019979f, -0.012466f, 0.014638f, 0.013837f, 0.007957f, 0.034760f, 0.014192f, -0.014537f, 0.018037f, 0.037047f, -0.001836f, 0.040592f, -0.004319f, 0.019718f, -0.041681f, 0.074813f, -0.011563f, -0.008777f, 0.012097f, -0.056650f, -0.015038f, -0.027307f, 0.039413f, 0.021857f, 0.022082f, -0.026536f, 0.009104f, - 0.009444f, -0.035764f, 0.009645f, 0.029575f, 0.025490f, 0.008233f, -0.008880f, 0.003007f, -0.017143f, 0.056236f, 0.008398f, 0.025056f, 0.020733f, 0.030015f, -0.050857f, -0.004729f, -0.015511f, 0.008733f, -0.019067f, -0.022917f, 0.041625f, -0.040723f, 0.030406f, -0.026141f, 0.032003f, -0.008087f, -0.034249f, -0.004042f, -0.051304f, 0.030688f, 0.028804f, 0.034505f, -0.105740f, 0.029485f, 0.018562f, -0.033284f, -0.022155f, -0.031029f, 0.053753f, -0.078518f, 0.046047f, 0.108110f, 0.001537f, -0.053069f, -0.021442f, 0.030641f, 0.063439f, 0.016658f, -0.022470f, -0.047978f, -0.079508f, -0.007417f, -0.001105f, 0.030259f, -0.024284f, -0.011734f, -0.018792f, 0.052971f, 0.002754f, -0.002682f, -0.016236f, 0.010133f, 0.002343f, -0.001185f, 0.001348f, -0.001736f, 0.009335f, 0.033311f, 0.041285f, 0.021053f, -0.007142f, -0.004588f, 0.015866f, 0.003039f, -0.011301f, 0.003770f, -0.017662f, -0.011334f, -0.021344f, -0.030905f, -0.063329f, -0.025912f, 0.008589f, 0.001781f, 0.034043f, -0.026237f, -0.018811f, 0.043664f, 0.015614f, -0.012989f, -0.019664f, 0.013296f, -0.005687f, -0.018516f, 0.043301f, 0.003841f, - -0.003320f, -0.015349f, 0.000060f, -0.019140f, -0.015484f, -0.023605f, -0.006932f, -0.010306f, -0.008404f, -0.025065f, 0.016309f, -0.052214f, 0.008538f, -0.031774f, 0.047258f, 0.002647f, 0.013545f, -0.026984f, 0.021437f, -0.008023f, -0.017800f, 0.008074f, -0.018349f, -0.011989f, -0.015442f, -0.041943f, -0.022973f, 0.029614f, 0.025975f, 0.018693f, 0.022235f, -0.050612f, -0.013679f, 0.009103f, -0.013950f, 0.028511f, 0.021421f, 0.001003f, 0.018400f, 0.048884f, -0.014164f, -0.051791f, 0.097706f, -0.043228f, -0.053526f, 0.059179f, -0.028368f, -0.018019f, 0.014110f, 0.029911f, -0.035429f, -0.012274f, 0.004397f, -0.024690f, 0.126969f, -0.002046f, -0.019944f, -0.008929f, 0.001830f, 0.030472f, -0.061143f, -0.047992f, -0.025698f, -0.025706f, -0.001445f, -0.054246f, 0.000590f, -0.005680f, 0.020276f, 0.079019f, 0.081418f, -0.032217f, 0.063082f, -0.062161f, -0.053889f, 0.032072f, 0.051178f, -0.018197f, 0.014640f, 0.005560f, 0.035275f, 0.042051f, 0.000716f, 0.001971f, 0.057091f, -0.051298f, -0.099498f, -0.011991f, -0.039269f, 0.021437f, 0.047799f, -0.005498f, -0.031014f, 0.063425f, 0.019683f, 0.012114f, - -0.016746f, -0.053586f, -0.028982f, 0.004878f, -0.022262f, 0.029471f, -0.002139f, -0.019780f, -0.002143f, -0.022274f, -0.021488f, 0.029261f, -0.009114f, 0.011339f, -0.021519f, 0.031213f, -0.002250f, -0.002710f, 0.021062f, 0.029897f, -0.002862f, -0.007181f, -0.020530f, 0.001936f, -0.017596f, -0.017250f, -0.012265f, -0.006107f, -0.031093f, -0.000770f, -0.013912f, -0.006132f, -0.031216f, 0.008446f, 0.036921f, 0.013154f, -0.021923f, -0.046965f, -0.003060f, -0.004861f, 0.025253f, -0.063013f, -0.012455f, 0.013941f, -0.012400f, 0.028340f, -0.000180f, 0.016954f, -0.000838f, -0.005523f, 0.004015f, -0.035824f, 0.038783f, 0.001064f, 0.023512f, -0.024259f, -0.038590f, 0.035925f, -0.038202f, 0.012233f, -0.009173f, 0.033805f, -0.000301f, 0.007861f, -0.020501f, 0.006907f, -0.014608f, -0.048612f, -0.039203f, 0.016994f, -0.003428f, -0.000806f, 0.007676f, 0.037076f, -0.016759f, -0.010738f, -0.031091f, 0.013707f, 0.010983f, -0.003365f, -0.006349f, -0.081967f, 0.003519f, 0.023567f, -0.029697f, 0.020899f, -0.045870f, -0.008207f, 0.002820f, 0.028918f, 0.035922f, 0.004710f, -0.017394f, 0.011804f, 0.064874f, 0.057068f, - 0.056300f, -0.002263f, -0.005306f, 0.012339f, 0.006656f, -0.025672f, 0.016681f, 0.071621f, -0.050979f, -0.016330f, -0.014838f, 0.000361f, 0.002621f, 0.009462f, -0.037913f, -0.057506f, -0.021747f, -0.003280f, 0.116152f, 0.059228f, 0.039404f, -0.005301f, -0.010222f, -0.029489f, 0.050499f, 0.007459f, 0.032314f, -0.011838f, -0.015719f, -0.023346f, -0.020774f, -0.085796f, -0.038082f, -0.045230f, 0.035615f, -0.003246f, -0.016773f, -0.002620f, -0.035276f, -0.016411f, 0.037337f, 0.056284f, -0.008783f, 0.049642f, 0.026696f, 0.020856f, 0.002999f, 0.023578f, 0.029666f, 0.025066f, -0.006321f, -0.001473f, 0.000370f, 0.033882f, -0.026771f, -0.034379f, -0.016698f, 0.018632f, -0.003230f, -0.024152f, -0.015800f, -0.024191f, 0.014331f, -0.005393f, 0.030742f, 0.061411f, 0.011506f, 0.037917f, 0.049142f, 0.024054f, 0.030492f, 0.015481f, 0.009688f, 0.013701f, -0.022484f, 0.032498f, -0.026651f, -0.017761f, 0.007152f, 0.002895f, -0.019000f, 0.009916f, 0.017555f, 0.032632f, 0.013316f, -0.037120f, 0.020537f, 0.015844f, 0.004079f, 0.017452f, -0.010004f, -0.019500f, 0.010883f, -0.000833f, -0.014307f, -0.008141f, - -0.013365f, 0.005278f, -0.079240f, 0.044408f, 0.039178f, -0.002348f, 0.064284f, 0.028614f, -0.043585f, -0.043343f, 0.018878f, -0.017927f, -0.038876f, 0.002318f, 0.003988f, 0.017267f, -0.009598f, 0.022598f, -0.005560f, 0.021387f, 0.027670f, -0.025653f, -0.102755f, 0.055038f, -0.015435f, -0.032424f, 0.023530f, 0.036294f, 0.001389f, -0.069284f, -0.008953f, -0.002984f, -0.070994f, -0.044564f, 0.037557f, -0.011004f, -0.028784f, -0.024621f, 0.016194f, -0.069378f, -0.049004f, 0.093325f, -0.007853f, -0.054403f, 0.021367f, 0.050640f, 0.021894f, -0.076987f, 0.109971f, 0.044288f, -0.067604f, 0.037511f, 0.049780f, 0.007807f, -0.045749f, 0.047495f, 0.053303f, 0.032227f, -0.042156f, 0.039833f, 0.074617f, 0.003908f, 0.075377f, 0.092997f, -0.049708f, -0.029809f, -0.034578f, 0.087871f, 0.056152f, -0.038306f, 0.021587f, -0.023199f, -0.055852f, 0.048090f, 0.109821f, 0.015743f, -0.032851f, -0.027647f, 0.066033f, -0.006252f, -0.073636f, -0.052898f, 0.013560f, -0.002824f, 0.061238f, -0.010978f, 0.047340f, -0.091774f, -0.013907f, 0.003594f, 0.015904f, -0.019160f, 0.019625f, -0.000931f, 0.002050f, 0.010455f, - 0.002775f, -0.024020f, 0.007449f, -0.011459f, 0.014973f, 0.005752f, -0.033200f, 0.029147f, 0.009704f, -0.027851f, -0.019662f, 0.005256f, -0.023912f, 0.004686f, 0.022242f, 0.024210f, 0.003643f, -0.022815f, -0.007207f, 0.007463f, -0.031035f, 0.018213f, 0.023321f, 0.007497f, 0.002122f, 0.023097f, 0.008658f, -0.010401f, 0.011468f, -0.008380f, 0.002124f, -0.015959f, 0.010261f, 0.037016f, -0.026084f, 0.064524f, 0.103873f, 0.041738f, -0.042966f, -0.015975f, -0.036036f, 0.021973f, -0.017501f, 0.028343f, 0.018858f, -0.047806f, 0.024301f, -0.048720f, -0.016306f, 0.000223f, -0.017824f, 0.002560f, 0.025381f, 0.019649f, 0.001432f, -0.038903f, 0.008759f, 0.030913f, -0.011753f, 0.004429f, -0.014002f, -0.045493f, 0.045845f, -0.027569f, 0.031747f, -0.046860f, -0.027489f, -0.006808f, -0.038296f, -0.011625f, 0.038922f, -0.038208f, 0.051309f, 0.003067f, 0.041838f, 0.016241f, -0.020849f, -0.056402f, 0.046021f, 0.028256f, 0.019151f, 0.011513f, 0.047434f, -0.035477f, -0.017908f, -0.020673f, 0.014797f, 0.017480f, -0.004697f, -0.044653f, -0.002058f, -0.006477f, -0.044806f, -0.018111f, 0.007013f, 0.011742f, - 0.035249f, -0.004589f, -0.031512f, 0.041537f, -0.008155f, -0.007672f, 0.050353f, 0.023587f, -0.041457f, 0.013001f, -0.025444f, 0.015643f, -0.013385f, 0.019316f, -0.035833f, 0.019563f, -0.012491f, 0.039130f, 0.006688f, 0.014745f, -0.013536f, -0.000553f, -0.029121f, 0.011150f, 0.001761f, 0.000826f, -0.000887f, 0.007824f, -0.011827f, -0.011361f, -0.001551f, 0.004195f, -0.003405f, 0.007096f, -0.014917f, -0.003366f, 0.011153f, -0.003279f, -0.000715f, -0.002935f, 0.000112f, 0.000121f, -0.023475f, 0.003838f, 0.018477f, -0.000208f, -0.002928f, -0.005618f, -0.002503f, -0.017906f, 0.001024f, -0.004947f, -0.002379f, -0.009625f, -0.014516f, -0.003862f, 0.013761f, -0.008758f, -0.004542f, 0.005871f, 0.002712f, 0.010013f, -0.010931f, -0.004827f, -0.001881f, -0.009223f, -0.012736f, -0.014609f, -0.077561f, -0.089813f, -0.049193f, 0.269280f, 0.235387f, 0.143594f, 0.312575f, -0.066057f, -0.236058f, -0.082044f, -0.444427f, -0.231895f, -0.005301f, -0.114135f, 0.157986f, 0.291566f, 0.040121f, 0.171614f, 0.332539f, 0.056632f, 0.115588f, 0.011823f, -0.342955f, -0.285223f, -0.253152f, -0.277408f, -0.169247f, 0.138757f, - 0.057825f, 0.138930f, 0.359475f, 0.217730f, 0.055576f, 0.267904f, 0.121365f, -0.163036f, 0.088316f, -0.118802f, -0.314064f, -0.037991f, -0.194403f, -0.355576f, -0.161358f, -0.036311f, -0.187414f, 0.209071f, 0.223639f, 0.106830f, 0.356538f, 0.404175f, 0.152520f, 0.200187f, 0.187671f, -0.209276f, -0.137376f, -0.267815f, -0.420017f, -0.385108f, -0.247909f, -0.247693f, -0.071865f, 0.161893f, 0.208150f, 0.279597f, 0.392556f, 0.353738f, 0.205850f, 0.151300f, 0.026589f, -0.163041f, -0.238458f, -0.173755f, -0.227065f, -0.279171f, -0.095244f, -0.105042f, -0.051861f, 0.175119f, 0.120417f, 0.129545f, 0.271020f, 0.069874f, -0.012447f, 0.045380f, -0.075507f, -0.116818f, -0.065772f, -0.118060f, -0.036038f, 0.076629f, 0.028551f, 0.042469f, 0.095809f, -0.022057f, 0.019728f, 0.053004f, -0.088938f, -0.008332f, 0.111037f, -0.104861f, 0.008853f, 0.018210f, -0.210405f, -0.010164f, -0.004312f, -0.250491f, 0.019826f, 0.088901f, -0.032409f, 0.259064f, 0.234766f, 0.043541f, 0.251247f, 0.124521f, -0.011064f, 0.042243f, -0.067868f, -0.270645f, -0.282642f, -0.349085f, -0.397896f, -0.200048f, -0.032521f, 0.080944f, - 0.249636f, 0.415555f, 0.476014f, 0.379326f, 0.280333f, 0.128648f, -0.052395f, -0.157743f, -0.347763f, -0.435048f, -0.320608f, -0.256838f, -0.244831f, 0.015990f, 0.120207f, 0.147595f, 0.241255f, 0.215685f, 0.141901f, 0.139904f, 0.100552f, 0.032282f, 0.040102f, -0.000428f, -0.076327f, -0.087285f, -0.110726f, -0.141760f, -0.126796f, -0.091604f, -0.068641f, -0.025550f, 0.033977f, 0.051307f, 0.083412f, 0.101820f, 0.087631f, 0.064151f, 0.049119f, 0.021784f, -0.003966f, -0.022446f, -0.032960f, -0.044642f, -0.035458f, -0.025930f, -0.020752f, -0.016495f, -0.004012f, -0.005929f, -0.005011f, -0.000966f, -0.004453f, -0.010996f, -0.000122f, -0.002722f, 0.002237f, 0.017210f, 0.027456f, 0.034127f, 0.049481f, 0.036968f, 0.018545f, -0.000537f, -0.017257f, -0.031148f, -0.033578f, -0.045486f, -0.045524f, -0.035714f, -0.015757f, -0.002693f, 0.017236f, 0.028237f, 0.038430f, 0.036963f, 0.034305f, 0.017619f, 0.004349f, -0.009356f, -0.016253f, -0.023073f, -0.018343f, -0.016213f, -0.007180f, -0.000451f, 0.008348f, 0.008575f, 0.011670f, 0.006134f, 0.003557f, -0.005438f, -0.008964f, -0.013629f, -0.008603f, -0.007133f, - 0.001351f, 0.004260f, 0.010349f, 0.009949f, 0.012704f, 0.007402f, 0.006977f, 0.000865f, -0.000292f, -0.005365f, -0.003778f, -0.006930f, -0.004135f, -0.005709f, -0.001844f, -0.003070f, 0.000925f, -0.000953f, 0.001737f, -0.001149f} - }, - { - {-0.000963f, 0.012014f, -0.001235f, 0.003646f, -0.002195f, 0.016039f, -0.006300f, -0.001560f, -0.000568f, 0.001983f, -0.002834f, 0.007344f, -0.001270f, -0.004960f, -0.000879f, 0.010044f, 0.000746f, -0.005090f, 0.004712f, 0.003468f, 0.006617f, 0.002705f, -0.005038f, -0.003336f, 0.011231f, 0.001559f, -0.002875f, -0.002225f, -0.002289f, 0.002204f, 0.002391f, -0.001452f, -0.014299f, -0.003584f, 0.000690f, 0.009868f, 0.003529f, -0.001228f, -0.000041f, -0.005699f, 0.007861f, -0.008033f, -0.010679f, 0.001380f, 0.000103f, -0.003621f, -0.002460f, -0.002987f, 0.001528f, 0.000970f, 0.000942f, -0.003742f, 0.009324f, 0.000282f, 0.012497f, -0.002016f, -0.005954f, 0.002737f, -0.000664f, 0.001783f, 0.002901f, 0.006312f, 0.004296f, -0.001618f, -0.003432f, -0.002927f, 0.008108f, -0.008258f, 0.000322f, 0.000230f, -0.001450f, -0.007083f, 0.006245f, -0.003573f, 0.000825f, 0.005420f, -0.003819f, -0.005120f, -0.004257f, 0.005496f, -0.000507f, -0.001715f, -0.001528f, 0.000179f, -0.001031f, -0.002234f, 0.002730f, 0.002795f, 0.002042f, 0.001272f, 0.000699f, 0.003821f, 0.000617f, -0.000082f, 0.000804f, -0.000377f, - 0.000136f, -0.000886f, -0.000475f, -0.000460f, 0.002582f, 0.000621f, -0.001739f, 0.002169f, -0.004740f, 0.004145f, 0.002500f, -0.005585f, -0.003065f, -0.000430f, 0.000529f, -0.000285f, -0.000815f, -0.002821f, 0.005072f, 0.000987f, -0.002167f, -0.002948f, -0.000136f, 0.010484f, -0.001449f, -0.004900f, 0.006721f, -0.002588f, -0.006293f, -0.000616f, 0.005383f, 0.004034f, -0.003436f, 0.000976f, -0.004299f, 0.002549f, 0.002482f, -0.002030f, 0.005381f, -0.001426f, -0.009647f, 0.001837f, 0.005038f, 0.004722f, 0.000684f, -0.000671f, -0.006985f, -0.002317f, -0.000896f, -0.003023f, 0.006358f, 0.008942f, 0.004169f, -0.012073f, 0.004134f, 0.014329f, 0.005936f, -0.000639f, -0.000063f, 0.006634f, -0.003218f, 0.002214f, -0.005985f, -0.005380f, 0.005560f, 0.006310f, 0.003048f, 0.001740f, 0.001141f, 0.001325f, 0.002988f, 0.000633f, -0.000527f, -0.002079f, 0.001538f, -0.004166f, -0.000758f, -0.001752f, -0.008618f, -0.004252f, 0.001857f, 0.003299f, 0.002702f, 0.005941f, 0.004667f, 0.004949f, 0.007054f, -0.004387f, -0.002773f, -0.001213f, 0.002275f, 0.002651f, 0.004185f, -0.000803f, -0.001336f, -0.000698f, - 0.002577f, -0.001751f, 0.002339f, 0.000657f, -0.000899f, -0.000683f, 0.000811f, -0.000336f, 0.001449f, 0.000661f, 0.000281f, -0.000488f, 0.000830f, 0.000788f, -0.000245f, 0.001215f, 0.000344f, 0.000374f, -0.000854f, 0.000294f, -0.000194f, 0.000121f, 0.001536f, 0.000265f, 0.000692f, 0.000641f, 0.000275f, 0.008366f, -0.000654f, 0.003490f, -0.005416f, -0.007913f, -0.005056f, 0.004399f, -0.003698f, -0.003643f, -0.004006f, -0.005207f, 0.005000f, 0.000772f, 0.003648f, -0.001589f, 0.001020f, -0.010773f, -0.007035f, -0.004892f, 0.006865f, 0.001373f, 0.001467f, 0.003842f, -0.003913f, -0.001905f, -0.000945f, 0.001296f, -0.008287f, -0.001544f, -0.005618f, -0.005995f, 0.000264f, -0.005286f, 0.003493f, 0.003406f, 0.014221f, -0.003525f, 0.007189f, -0.004809f, 0.002919f, -0.003291f, 0.000660f, 0.012543f, 0.001917f, 0.005450f, -0.006018f, 0.003841f, -0.005424f, -0.002507f, -0.000919f, 0.007974f, -0.004018f, -0.002020f, -0.007168f, -0.003736f, -0.008448f, -0.001101f, 0.007796f, 0.001907f, 0.000489f, 0.001387f, 0.007138f, -0.007118f, -0.012616f, 0.002916f, 0.003839f, -0.008156f, -0.000703f, 0.001111f, - -0.002129f, 0.003311f, 0.009681f, 0.002058f, -0.002591f, 0.000236f, -0.003591f, 0.000659f, 0.000488f, -0.002785f, -0.000948f, -0.000881f, -0.004065f, -0.000923f, -0.002368f, 0.000846f, -0.000968f, -0.001551f, 0.003128f, -0.000608f, -0.003299f, 0.001371f, -0.002383f, 0.000105f, -0.002569f, -0.003574f, 0.001971f, -0.000645f, -0.000370f, 0.001141f, 0.001411f, 0.000464f, 0.003204f, -0.001576f, -0.000390f, 0.000556f, -0.001307f, -0.000511f, -0.000489f, -0.001654f, -0.000980f, 0.002726f, 0.000799f, 0.003884f, 0.000363f, 0.001739f, -0.001658f, 0.004528f, -0.012706f, 0.002058f, -0.004400f, -0.009476f, -0.006734f, 0.003759f, -0.001813f, -0.000498f, 0.009399f, 0.003037f, -0.001232f, 0.000754f, 0.008004f, -0.003795f, 0.005928f, -0.002719f, 0.001821f, -0.008455f, -0.001411f, 0.005630f, -0.001844f, 0.007009f, 0.007998f, 0.002551f, 0.005066f, 0.010325f, -0.002359f, -0.014684f, 0.003396f, -0.006567f, 0.000526f, -0.017971f, 0.000559f, 0.005691f, -0.003522f, 0.006628f, 0.001018f, -0.006520f, 0.002392f, -0.013529f, -0.008550f, -0.003343f, -0.003242f, -0.011237f, 0.005735f, 0.006141f, 0.000433f, 0.005711f, - 0.000511f, 0.001509f, -0.003558f, 0.005173f, 0.004051f, -0.002147f, 0.012403f, -0.002377f, 0.010257f, 0.008675f, -0.000439f, -0.001475f, 0.000088f, 0.002742f, 0.004226f, 0.001274f, 0.004722f, 0.001498f, 0.001644f, 0.013598f, 0.005271f, -0.006017f, -0.002682f, -0.000137f, -0.003231f, 0.001971f, -0.002322f, 0.013716f, 0.002357f, 0.006415f, -0.004890f, 0.005535f, -0.000006f, -0.002769f, 0.001238f, -0.004512f, -0.002849f, -0.000820f, -0.003147f, -0.002024f, -0.001886f, 0.001634f, -0.002951f, -0.000757f, -0.002064f, -0.001146f, -0.000980f, 0.003729f, -0.001564f, 0.001918f, -0.000495f, -0.003275f, -0.000489f, 0.001937f, 0.000847f, 0.000298f, 0.001285f, -0.002001f, 0.001711f, 0.001039f, 0.001020f, 0.001813f, -0.001030f, 0.000390f, -0.003108f, -0.000278f, 0.002457f, 0.002115f, 0.000564f, 0.000355f, 0.000341f, 0.001719f, -0.024468f, 0.000171f, -0.000149f, 0.006348f, 0.010628f, 0.003851f, -0.005469f, -0.008818f, -0.001499f, 0.011686f, -0.002275f, -0.002115f, -0.008664f, -0.000105f, -0.003648f, 0.008679f, 0.010131f, -0.017419f, 0.011357f, 0.007397f, -0.006712f, -0.001324f, -0.009256f, 0.000155f, - -0.002842f, 0.000316f, 0.005949f, 0.011748f, -0.004443f, 0.002793f, -0.003119f, -0.003885f, 0.004254f, 0.008139f, 0.005350f, -0.004949f, -0.008361f, 0.005882f, 0.003941f, -0.002882f, -0.001578f, 0.001117f, -0.010756f, 0.003990f, 0.003164f, -0.004172f, -0.007214f, 0.002869f, -0.005498f, 0.009612f, 0.004114f, -0.016582f, 0.007551f, -0.007039f, -0.018450f, -0.005220f, -0.001442f, 0.003799f, -0.007606f, -0.000238f, 0.003989f, -0.008006f, -0.008064f, -0.008241f, -0.002622f, 0.002207f, 0.017381f, 0.002859f, 0.003253f, -0.003639f, -0.009183f, 0.012004f, -0.003670f, -0.013839f, 0.000626f, -0.013967f, 0.001001f, -0.001245f, -0.005197f, -0.015309f, 0.004643f, 0.000332f, -0.003454f, 0.003896f, 0.009300f, 0.004420f, -0.001838f, -0.001473f, -0.000106f, 0.005233f, 0.000766f, 0.001377f, 0.002813f, 0.005101f, -0.000491f, -0.002204f, -0.003038f, -0.002954f, 0.001135f, -0.000113f, -0.002487f, -0.002348f, 0.002201f, 0.002309f, 0.004290f, 0.001045f, -0.000159f, -0.000118f, 0.001569f, -0.000633f, -0.000133f, -0.000563f, 0.002691f, -0.000184f, 0.001410f, -0.000273f, 0.003696f, 0.015257f, 0.003986f, 0.003368f, - 0.006553f, 0.009629f, -0.002207f, 0.023418f, -0.003493f, 0.016775f, -0.019800f, 0.006853f, 0.011416f, -0.004104f, 0.001507f, -0.005484f, -0.000628f, 0.009063f, 0.016322f, -0.004588f, -0.008256f, -0.002343f, 0.007553f, 0.001686f, 0.016598f, 0.007953f, -0.001901f, 0.002455f, -0.000221f, -0.007754f, 0.001455f, -0.001689f, -0.002518f, 0.007350f, 0.009489f, -0.015077f, 0.017375f, -0.013250f, -0.007334f, 0.003023f, -0.005486f, 0.008853f, 0.000129f, -0.005004f, 0.012245f, 0.017354f, -0.012988f, -0.002274f, -0.001358f, 0.005411f, -0.012303f, -0.020052f, -0.009478f, -0.006095f, 0.005816f, -0.013890f, -0.008151f, -0.001571f, 0.014343f, 0.009137f, -0.010169f, 0.007250f, 0.003722f, -0.005429f, -0.008377f, -0.001257f, -0.005195f, -0.005849f, 0.000496f, -0.003873f, 0.010696f, -0.008119f, -0.001810f, 0.009203f, -0.007360f, 0.009943f, 0.011711f, 0.001668f, -0.001331f, 0.001098f, -0.014711f, -0.012903f, -0.003348f, 0.008198f, 0.000241f, -0.005619f, 0.005269f, 0.012058f, -0.008109f, -0.003662f, 0.003155f, -0.001018f, -0.005796f, 0.000035f, 0.001425f, -0.005444f, 0.000184f, -0.001451f, 0.002357f, 0.000799f, - 0.004225f, 0.000672f, 0.003292f, -0.002098f, -0.001017f, 0.000231f, 0.000279f, -0.000154f, 0.002934f, 0.001380f, 0.003442f, 0.003472f, 0.000218f, 0.001090f, -0.000633f, 0.002271f, 0.003511f, -0.001786f, 0.008919f, 0.007214f, 0.009741f, -0.009414f, -0.012407f, -0.006740f, 0.008459f, 0.000358f, 0.034967f, -0.002695f, -0.000851f, -0.008479f, -0.015793f, -0.023258f, -0.005123f, 0.007605f, 0.012294f, -0.007731f, -0.014866f, 0.001860f, 0.000133f, 0.014831f, -0.004988f, -0.006182f, 0.018398f, -0.010103f, 0.001197f, -0.014268f, 0.009089f, -0.002928f, 0.000070f, -0.003239f, -0.021612f, -0.013646f, 0.001146f, 0.011903f, 0.008015f, 0.000886f, -0.022395f, 0.014779f, -0.009053f, -0.009329f, -0.009666f, -0.012898f, -0.002010f, 0.012078f, -0.009930f, -0.011026f, 0.007508f, -0.003670f, 0.004309f, 0.022311f, -0.009791f, 0.000385f, 0.001106f, 0.009416f, -0.006642f, -0.006176f, -0.003105f, 0.014139f, -0.003220f, -0.007617f, -0.001334f, 0.011000f, 0.014418f, -0.014423f, -0.016294f, -0.005645f, -0.002422f, -0.005561f, 0.003452f, -0.011542f, -0.004052f, -0.010901f, -0.021527f, -0.008612f, -0.004983f, 0.002750f, - -0.019799f, -0.005601f, 0.000297f, 0.013886f, 0.000410f, -0.012294f, -0.000240f, -0.000630f, -0.003736f, -0.006859f, 0.000298f, 0.002761f, -0.001296f, 0.002012f, 0.001963f, -0.002814f, 0.004021f, -0.001792f, -0.004021f, 0.004241f, 0.005349f, -0.002450f, -0.005139f, -0.000291f, -0.001013f, 0.000767f, 0.004282f, 0.001468f, 0.000074f, 0.002887f, -0.001636f, -0.002718f, -0.002071f, -0.002970f, 0.004250f, -0.011473f, 0.009732f, 0.011745f, -0.008623f, -0.010584f, -0.008831f, 0.004751f, -0.000837f, 0.017050f, 0.029873f, -0.016800f, 0.001162f, -0.000759f, -0.002024f, 0.002715f, 0.008681f, -0.024547f, 0.022042f, -0.017317f, -0.008486f, 0.022069f, -0.005071f, -0.010646f, 0.007384f, 0.008115f, 0.000544f, -0.001301f, -0.017033f, 0.010599f, -0.002389f, 0.003639f, -0.011259f, 0.014030f, -0.001247f, -0.023628f, -0.025111f, 0.008342f, -0.004571f, -0.013061f, 0.006423f, -0.001147f, 0.039015f, 0.006469f, -0.007084f, -0.011674f, -0.022936f, -0.008222f, 0.004506f, -0.005666f, 0.017990f, -0.003873f, -0.026721f, -0.002666f, 0.018447f, -0.008116f, 0.002456f, 0.015826f, 0.010784f, -0.009101f, -0.001642f, 0.012799f, - 0.017248f, -0.007926f, 0.003407f, 0.002377f, -0.008253f, 0.003648f, -0.003778f, -0.001233f, 0.002609f, -0.004085f, -0.004801f, -0.016665f, -0.018092f, -0.015414f, 0.015337f, 0.008457f, 0.010007f, 0.004128f, 0.000162f, 0.006016f, -0.013188f, -0.007401f, -0.018475f, 0.009108f, -0.002295f, -0.002646f, -0.003722f, -0.002850f, -0.009402f, -0.005699f, 0.001982f, -0.003932f, 0.000615f, 0.000621f, 0.000711f, 0.003542f, 0.000519f, 0.004268f, -0.000430f, 0.003121f, -0.004255f, 0.002370f, -0.006405f, 0.000446f, -0.003015f, 0.005281f, 0.000313f, -0.003512f, -0.000955f, 0.001596f, -0.002722f, -0.003242f, -0.007488f, -0.007687f, -0.004138f, 0.007598f, 0.000575f, 0.002609f, 0.004910f, 0.001430f, 0.005949f, 0.002190f, -0.004802f, -0.020052f, 0.007655f, -0.021642f, 0.000913f, 0.007767f, -0.003410f, -0.016218f, -0.007517f, -0.003374f, 0.014523f, 0.011394f, -0.008531f, -0.008991f, 0.015480f, 0.006343f, -0.008854f, -0.009716f, -0.007443f, -0.001107f, 0.014967f, -0.002617f, 0.001420f, -0.000920f, -0.000116f, 0.019049f, 0.009552f, 0.012738f, -0.000834f, -0.001012f, 0.006667f, -0.009972f, -0.016598f, 0.013539f, - 0.021970f, -0.014889f, 0.018895f, -0.005593f, -0.001848f, -0.008511f, 0.009765f, 0.000532f, -0.010487f, 0.006360f, 0.017868f, 0.013874f, 0.006493f, -0.013436f, -0.005429f, -0.027140f, 0.004555f, 0.014051f, -0.008650f, -0.002230f, -0.010668f, 0.002752f, -0.006330f, 0.010459f, -0.006635f, 0.003455f, 0.012598f, 0.007105f, 0.023688f, 0.012317f, 0.008044f, 0.015072f, -0.012636f, 0.022647f, 0.007073f, 0.013753f, -0.004487f, -0.015683f, -0.024077f, -0.004624f, -0.004001f, -0.006336f, -0.005617f, 0.008947f, -0.016540f, 0.025048f, -0.004258f, -0.020321f, 0.011603f, 0.018716f, 0.007825f, 0.002387f, 0.003961f, 0.007008f, 0.002427f, -0.004184f, 0.004861f, -0.003834f, -0.000020f, 0.007851f, 0.000015f, -0.000318f, 0.008658f, 0.001215f, 0.004764f, -0.000736f, -0.004005f, 0.001299f, 0.000886f, -0.003454f, 0.002727f, 0.003520f, 0.000974f, -0.002461f, 0.002112f, 0.000715f, 0.006707f, 0.001473f, -0.001184f, 0.004226f, -0.005690f, 0.001680f, 0.001335f, -0.006228f, -0.009082f, -0.002537f, -0.003537f, -0.002328f, -0.004489f, -0.003169f, -0.001874f, -0.000760f, -0.007813f, 0.011043f, -0.023660f, 0.017373f, - 0.006219f, -0.003736f, 0.026009f, 0.019871f, -0.032661f, -0.022107f, 0.020881f, 0.035431f, -0.003109f, 0.005135f, -0.002846f, -0.004593f, -0.003368f, -0.001575f, 0.009188f, 0.005257f, 0.021682f, 0.005200f, 0.020761f, 0.005722f, 0.009154f, -0.002874f, -0.011409f, 0.004911f, 0.001827f, -0.009555f, 0.015961f, 0.001553f, 0.006540f, 0.003615f, -0.003022f, -0.014656f, 0.002141f, -0.016614f, -0.005344f, -0.019215f, -0.012571f, -0.007796f, 0.016362f, 0.002261f, 0.008197f, 0.019682f, -0.008261f, -0.001680f, 0.002590f, 0.007055f, 0.002414f, 0.000460f, -0.005253f, 0.014578f, 0.032459f, 0.015462f, -0.025315f, -0.018269f, -0.018654f, 0.022211f, -0.003067f, -0.020585f, 0.012328f, -0.011537f, -0.000945f, -0.003365f, -0.001112f, -0.001579f, 0.001029f, 0.019492f, 0.032537f, 0.012193f, 0.028075f, 0.017807f, 0.009339f, 0.003634f, 0.007338f, -0.008903f, 0.029879f, 0.009586f, -0.015127f, -0.020706f, 0.009529f, 0.006861f, -0.005307f, 0.014836f, 0.028301f, 0.006488f, -0.010392f, 0.017446f, -0.001235f, -0.012738f, 0.003057f, 0.009814f, 0.001995f, -0.001630f, 0.001524f, 0.005425f, 0.009837f, 0.004251f, - 0.004601f, 0.001147f, 0.006580f, -0.002522f, -0.000764f, -0.003538f, -0.000590f, 0.012969f, -0.006383f, 0.004861f, -0.001556f, 0.003171f, 0.000785f, -0.003330f, 0.002399f, 0.004674f, 0.006094f, -0.002550f, 0.002792f, -0.005082f, 0.000359f, 0.002709f, -0.008799f, 0.004081f, -0.002612f, -0.012985f, 0.003379f, 0.032356f, 0.005780f, 0.011573f, -0.010618f, 0.008530f, -0.016124f, -0.027589f, 0.000297f, 0.015161f, 0.004104f, 0.012221f, 0.016465f, 0.018756f, 0.000743f, -0.019953f, -0.017521f, -0.026516f, -0.041799f, -0.000483f, -0.005358f, 0.018556f, 0.013250f, -0.015325f, -0.009041f, 0.010972f, 0.021300f, -0.026903f, -0.017881f, -0.004997f, -0.015242f, -0.009911f, -0.005939f, 0.008604f, 0.016443f, 0.000964f, -0.010617f, -0.012359f, 0.016614f, -0.013388f, -0.006120f, -0.000213f, 0.023540f, -0.001493f, 0.001558f, -0.037399f, -0.003247f, 0.009356f, 0.018899f, 0.025272f, 0.004992f, -0.024039f, 0.011006f, 0.000649f, 0.010949f, 0.015961f, 0.002234f, 0.008095f, 0.017727f, 0.031872f, -0.021529f, -0.008195f, -0.002294f, 0.009853f, 0.033316f, 0.014342f, 0.010833f, 0.019057f, -0.006945f, -0.011036f, - -0.020716f, -0.025416f, -0.015605f, -0.000882f, 0.015925f, 0.037686f, -0.023902f, -0.017131f, -0.002871f, 0.036946f, -0.021102f, -0.011895f, -0.018902f, -0.003309f, -0.016994f, 0.005362f, 0.002674f, 0.008844f, 0.019094f, 0.003681f, 0.012054f, -0.008076f, -0.008561f, -0.010376f, 0.000350f, -0.005215f, -0.012711f, -0.010910f, -0.005849f, -0.002846f, -0.003043f, 0.012476f, -0.009833f, -0.002792f, -0.004025f, 0.008918f, 0.001722f, 0.006498f, -0.004727f, -0.004245f, 0.008375f, 0.002959f, 0.001821f, -0.007446f, 0.010934f, -0.005807f, -0.000851f, -0.004066f, 0.003099f, -0.004225f, 0.000639f, 0.007517f, 0.008559f, 0.001463f, 0.016411f, 0.009676f, 0.023219f, -0.027535f, -0.020106f, -0.002854f, 0.040483f, 0.016716f, 0.000742f, 0.022283f, -0.014031f, 0.033317f, -0.008075f, -0.028847f, -0.005943f, -0.028672f, 0.023161f, 0.014225f, 0.008890f, 0.009331f, 0.000216f, -0.009081f, 0.011032f, 0.017092f, 0.008181f, -0.005731f, 0.014811f, 0.020422f, 0.017796f, -0.002111f, -0.016110f, 0.027601f, 0.006100f, -0.001545f, -0.004978f, 0.003429f, -0.018293f, 0.017938f, -0.003756f, -0.004828f, -0.023227f, -0.012324f, - -0.014495f, 0.032129f, 0.011017f, 0.000433f, 0.003817f, 0.016640f, 0.023368f, 0.012213f, -0.031177f, 0.028064f, -0.003730f, 0.016256f, 0.006468f, 0.024653f, -0.006083f, -0.032149f, 0.009653f, -0.001430f, 0.012872f, -0.005684f, -0.013626f, 0.012005f, -0.005598f, 0.008148f, 0.040071f, -0.004911f, -0.019140f, 0.000105f, 0.004852f, -0.019674f, 0.032184f, -0.014537f, -0.020197f, 0.028818f, -0.017279f, 0.014686f, 0.001448f, -0.020911f, -0.015353f, -0.020923f, 0.006080f, 0.017474f, -0.010941f, 0.010107f, 0.018886f, -0.010822f, 0.013169f, -0.004506f, 0.022432f, -0.008198f, 0.006326f, 0.007430f, -0.006834f, 0.000027f, 0.000367f, -0.010478f, -0.001878f, 0.009435f, -0.015141f, -0.002895f, 0.010201f, 0.005421f, -0.000206f, -0.009020f, 0.003926f, -0.002492f, 0.003076f, -0.009445f, -0.009609f, -0.005175f, 0.001378f, 0.002214f, -0.011468f, -0.006926f, 0.009650f, 0.001231f, 0.003898f, -0.011213f, 0.004515f, 0.000860f, -0.005601f, 0.002091f, 0.000996f, 0.003478f, -0.006494f, 0.000313f, -0.003473f, -0.000751f, -0.009333f, -0.003759f, -0.001327f, 0.005833f, -0.002137f, -0.006068f, -0.003736f, -0.001330f, - 0.001284f, 0.001020f, -0.002276f, -0.000077f, -0.012505f, 0.009581f, -0.027705f, -0.004933f, 0.013584f, 0.003779f, -0.027109f, 0.007365f, -0.010064f, 0.019757f, 0.003826f, 0.010341f, -0.044691f, 0.013852f, -0.000027f, 0.017466f, 0.027428f, 0.001944f, -0.004415f, 0.002805f, -0.015100f, 0.029141f, -0.028115f, 0.009329f, 0.016416f, 0.012245f, 0.015052f, -0.006804f, -0.013984f, -0.014811f, -0.029062f, 0.011639f, 0.003460f, 0.016893f, 0.029131f, -0.010859f, 0.024861f, 0.014450f, -0.025631f, -0.013658f, -0.001224f, 0.003159f, 0.000482f, 0.000229f, 0.011877f, 0.022519f, 0.019578f, 0.009087f, -0.052634f, 0.013267f, 0.014546f, 0.015787f, -0.034974f, 0.021109f, -0.018367f, 0.018378f, 0.001294f, 0.009925f, -0.005494f, 0.013900f, -0.004994f, 0.044490f, 0.020290f, -0.019250f, 0.001609f, -0.054907f, 0.008437f, -0.015873f, -0.017624f, 0.015994f, 0.010314f, -0.027373f, -0.055956f, 0.035284f, 0.020604f, -0.051285f, 0.019390f, -0.011256f, 0.018975f, -0.003896f, 0.003942f, 0.008543f, -0.000257f, -0.034405f, -0.013818f, -0.004607f, 0.010263f, 0.000114f, -0.009599f, 0.015100f, -0.019417f, -0.006903f, - 0.018585f, -0.001230f, -0.002458f, 0.007184f, 0.003266f, 0.008058f, 0.002708f, -0.009931f, 0.003544f, -0.015077f, 0.008897f, -0.006340f, 0.004765f, 0.004586f, -0.004872f, -0.001898f, -0.003537f, -0.005053f, 0.002116f, -0.008446f, -0.002154f, -0.007078f, -0.006321f, -0.011984f, 0.005686f, -0.003232f, -0.004027f, -0.006681f, 0.002595f, 0.006712f, 0.003413f, 0.003870f, 0.000520f, 0.002344f, 0.004018f, 0.000201f, 0.004421f, 0.004799f, 0.011227f, -0.005847f, 0.016810f, -0.006043f, -0.011586f, 0.020724f, -0.015910f, 0.000559f, 0.002648f, 0.052606f, -0.007470f, 0.038105f, 0.008918f, 0.028798f, 0.001438f, 0.008526f, 0.008858f, 0.050749f, 0.050075f, -0.025633f, -0.024164f, 0.029231f, -0.036892f, 0.000454f, 0.009529f, -0.035998f, 0.020393f, 0.003366f, -0.003257f, -0.006182f, -0.011449f, 0.004839f, 0.003585f, 0.007281f, -0.022724f, 0.000639f, -0.005801f, -0.028974f, 0.014683f, 0.020966f, -0.033219f, -0.024016f, -0.012356f, 0.018204f, 0.016893f, 0.016962f, -0.002103f, -0.006191f, 0.015139f, 0.052880f, 0.027922f, -0.009830f, -0.007149f, -0.006652f, 0.035053f, -0.027795f, 0.012750f, 0.007995f, - -0.044436f, -0.017785f, -0.002300f, 0.006510f, -0.037707f, 0.026263f, 0.016463f, 0.008017f, 0.006811f, 0.018377f, -0.035719f, -0.003774f, -0.029678f, 0.001825f, 0.017933f, 0.031196f, 0.018586f, -0.018881f, -0.010615f, -0.001014f, 0.000735f, -0.021764f, 0.049577f, -0.003430f, 0.006350f, -0.011224f, 0.016821f, -0.003259f, 0.009723f, -0.003977f, 0.005940f, 0.005236f, 0.010575f, -0.000722f, -0.000088f, -0.003518f, 0.002305f, -0.000219f, -0.003073f, 0.015265f, -0.004652f, -0.010293f, -0.000886f, -0.000653f, 0.007268f, -0.010493f, 0.002271f, -0.008601f, -0.014642f, 0.009458f, -0.002917f, -0.009255f, 0.000559f, 0.000389f, 0.001471f, -0.008070f, 0.011264f, 0.003572f, 0.013889f, -0.016857f, -0.001431f, 0.008782f, -0.004620f, -0.013568f, -0.000474f, 0.015875f, 0.006687f, -0.009215f, 0.009433f, -0.004544f, 0.023895f, 0.037458f, -0.002758f, 0.002585f, -0.023263f, 0.002099f, -0.001179f, -0.016357f, -0.027748f, -0.005140f, -0.012936f, -0.020517f, -0.015275f, 0.023532f, -0.019979f, 0.017108f, -0.006137f, -0.004578f, 0.032576f, -0.022514f, -0.012811f, 0.005154f, 0.013043f, 0.002073f, -0.043481f, -0.026476f, - 0.004790f, -0.006838f, 0.006862f, -0.005923f, -0.013762f, 0.027750f, 0.005749f, -0.002251f, -0.011508f, -0.062164f, 0.037243f, -0.011144f, -0.000846f, -0.005180f, 0.002215f, 0.017979f, -0.010542f, -0.016878f, -0.029242f, -0.002625f, 0.012670f, -0.017834f, -0.023205f, 0.009612f, 0.036411f, -0.006098f, 0.033851f, 0.025158f, -0.025069f, 0.045908f, 0.030108f, -0.030095f, -0.046832f, -0.013315f, -0.020505f, 0.002606f, -0.014954f, -0.003522f, 0.022185f, -0.038917f, 0.018947f, -0.006240f, -0.022093f, -0.024386f, -0.024625f, -0.029539f, 0.006009f, 0.017890f, -0.016090f, 0.025521f, -0.003474f, -0.014740f, -0.030735f, 0.000596f, -0.003593f, 0.011916f, 0.036316f, -0.013096f, -0.027808f, -0.009553f, 0.000640f, 0.009475f, 0.024803f, 0.006660f, -0.003257f, -0.020369f, -0.000318f, 0.000856f, 0.009125f, 0.003954f, -0.000112f, 0.006989f, 0.010067f, -0.007579f, 0.012609f, -0.007274f, 0.005688f, 0.014911f, 0.013206f, 0.000898f, -0.021059f, -0.008506f, 0.003027f, 0.005237f, -0.014687f, 0.023668f, -0.014455f, 0.010860f, 0.012600f, -0.009605f, 0.001120f, 0.002666f, -0.005676f, -0.019926f, 0.004104f, 0.009050f, - 0.001445f, 0.016871f, 0.011577f, -0.011361f, -0.011039f, -0.002909f, -0.039510f, 0.071924f, 0.101300f, -0.009801f, 0.012373f, 0.006472f, 0.024563f, 0.049076f, -0.046835f, 0.000537f, 0.008158f, 0.000905f, -0.016866f, 0.002510f, -0.020845f, 0.024627f, 0.060365f, -0.012756f, 0.001337f, 0.003424f, 0.018316f, 0.001659f, 0.007126f, 0.023185f, -0.046437f, -0.003478f, 0.045649f, 0.046844f, -0.054719f, -0.011633f, 0.007924f, 0.007701f, 0.016347f, 0.041232f, 0.011650f, 0.083180f, 0.013895f, 0.025666f, 0.012304f, -0.013074f, -0.017211f, -0.000999f, -0.058327f, -0.083980f, -0.028382f, -0.027256f, -0.087438f, 0.013695f, -0.002031f, -0.048865f, -0.023794f, -0.081858f, -0.008902f, -0.011270f, 0.055845f, -0.054669f, 0.034157f, -0.037356f, -0.002991f, -0.024567f, -0.019335f, 0.021949f, 0.050196f, -0.038640f, -0.014442f, -0.003504f, -0.011379f, -0.004100f, 0.021211f, 0.040203f, 0.042986f, -0.030631f, 0.086400f, 0.057912f, 0.007612f, -0.032744f, -0.070970f, -0.016118f, -0.026371f, -0.019393f, 0.004762f, 0.022813f, -0.014833f, 0.008508f, 0.026882f, 0.004348f, -0.008424f, 0.027231f, 0.018219f, 0.009337f, - 0.012036f, 0.028588f, 0.028929f, 0.000223f, 0.002452f, 0.011562f, 0.010907f, -0.004710f, -0.008493f, -0.004941f, 0.005378f, -0.000712f, -0.003528f, 0.001801f, -0.005629f, 0.003983f, 0.018919f, -0.000813f, 0.006754f, 0.022955f, -0.005881f, -0.008233f, -0.008660f, -0.000979f, -0.012618f, -0.002571f, 0.011022f, -0.005974f, -0.003344f, 0.002196f, 0.000222f, 0.001954f, -0.001660f, 0.009028f, -0.005962f, -0.006334f, 0.015031f, 0.010514f, -0.011431f, -0.000609f, -0.006034f, -0.002494f, -0.036106f, 0.066186f, 0.110326f, -0.025969f, -0.005573f, 0.019572f, 0.049422f, 0.016610f, -0.028605f, 0.017949f, -0.024426f, 0.006352f, 0.015676f, -0.005916f, -0.032973f, 0.009944f, 0.035221f, -0.008763f, -0.050248f, 0.039381f, -0.011480f, 0.032145f, -0.011823f, -0.007946f, -0.012339f, -0.020353f, -0.000741f, 0.035700f, 0.020020f, 0.005905f, 0.028946f, -0.013718f, -0.011372f, 0.010999f, -0.015351f, 0.019978f, 0.011724f, 0.030563f, 0.052454f, 0.045896f, -0.032989f, -0.061561f, -0.022412f, -0.003882f, 0.048227f, -0.018460f, 0.008626f, 0.019404f, -0.019041f, -0.028389f, -0.045326f, -0.046631f, 0.036769f, 0.039127f, - -0.031224f, -0.112214f, 0.009324f, -0.007933f, -0.015332f, 0.008676f, -0.011142f, -0.045048f, -0.020971f, -0.010601f, -0.031235f, -0.013431f, 0.047786f, 0.018034f, 0.027558f, -0.010846f, -0.015589f, -0.010195f, 0.026574f, 0.004402f, 0.005000f, 0.022764f, 0.066251f, -0.005845f, -0.009711f, -0.033519f, -0.031623f, -0.046264f, -0.004961f, 0.026059f, 0.017843f, -0.018937f, 0.013823f, -0.008798f, -0.010976f, -0.019361f, -0.017538f, 0.015855f, -0.013584f, 0.015460f, 0.007299f, 0.008680f, -0.009899f, -0.014524f, 0.016214f, 0.009934f, -0.004099f, 0.012143f, -0.017008f, 0.006999f, -0.002345f, 0.009965f, -0.005654f, -0.009854f, -0.005533f, -0.004975f, 0.011367f, 0.005488f, -0.000586f, -0.012105f, -0.002880f, 0.023684f, -0.017170f, -0.000637f, -0.016684f, 0.020276f, -0.011120f, -0.004819f, -0.015430f, 0.001971f, -0.006663f, 0.001959f, 0.017250f, 0.017231f, 0.003506f, 0.000012f, -0.006787f, -0.013207f, -0.014520f, -0.001841f, -0.023780f, -0.003159f, -0.019661f, 0.010603f, -0.027818f, -0.045393f, -0.009967f, -0.007496f, 0.008430f, -0.015417f, 0.035059f, -0.020741f, -0.071384f, -0.038582f, 0.024746f, -0.033530f, - 0.039714f, 0.035555f, -0.015619f, -0.005264f, 0.005194f, -0.021644f, 0.000168f, 0.011741f, -0.003041f, 0.006454f, 0.050310f, 0.042013f, -0.011090f, -0.066414f, -0.050398f, 0.003902f, 0.035349f, -0.026605f, -0.011406f, -0.031287f, -0.040187f, 0.003859f, -0.011273f, -0.047064f, -0.051326f, -0.075278f, 0.030432f, 0.010551f, 0.001758f, 0.043660f, 0.058468f, -0.002140f, -0.043533f, -0.032971f, -0.035194f, -0.019792f, -0.012404f, 0.013435f, 0.022691f, -0.020008f, -0.032037f, -0.039042f, 0.020868f, 0.018449f, -0.038448f, -0.036548f, -0.014676f, -0.006239f, -0.022422f, 0.014075f, 0.094686f, 0.056985f, 0.110569f, 0.037121f, -0.058718f, 0.069023f, -0.003000f, -0.035084f, 0.003414f, -0.033020f, -0.072503f, -0.029819f, 0.016603f, 0.034748f, -0.008203f, 0.032026f, 0.018347f, 0.070549f, 0.076728f, 0.063358f, 0.020892f, -0.017575f, -0.011210f, -0.010243f, 0.013293f, 0.018032f, -0.026787f, -0.009702f, 0.004295f, 0.057565f, -0.008123f, 0.005129f, -0.006386f, 0.020932f, 0.020746f, 0.024707f, -0.001402f, 0.000651f, 0.000241f, 0.005503f, -0.002423f, 0.003638f, -0.021102f, -0.006533f, -0.007353f, -0.019439f, - -0.020456f, -0.009203f, 0.007154f, 0.024433f, -0.015898f, 0.003825f, 0.008305f, 0.027740f, 0.037125f, 0.025722f, 0.023650f, 0.026744f, 0.005647f, -0.009828f, -0.020775f, -0.029458f, -0.037078f, -0.028875f, -0.017386f, -0.034831f, -0.035802f, -0.013631f, -0.006539f, 0.003430f, 0.015565f, 0.066110f, -0.037633f, 0.004514f, 0.019167f, -0.008096f, -0.049051f, 0.049619f, 0.046988f, -0.026936f, -0.037548f, 0.005322f, 0.065146f, -0.034054f, 0.018440f, 0.042080f, 0.012637f, -0.015550f, -0.031391f, -0.020306f, 0.014330f, -0.004762f, 0.010887f, -0.018098f, 0.012042f, -0.040338f, 0.059174f, -0.005534f, 0.013182f, -0.002599f, -0.074911f, 0.023502f, -0.020832f, 0.038760f, 0.023096f, 0.041400f, -0.016213f, -0.071904f, 0.051657f, 0.023512f, -0.024633f, -0.044688f, 0.037005f, 0.020094f, 0.039362f, 0.040057f, -0.034876f, 0.016199f, 0.041551f, -0.060874f, 0.055862f, 0.027751f, -0.001883f, 0.018006f, -0.031779f, 0.070313f, -0.008009f, 0.046344f, 0.020611f, 0.081613f, -0.005813f, -0.014069f, 0.011362f, 0.033324f, 0.021882f, 0.023258f, 0.082135f, 0.005036f, 0.020002f, 0.048268f, -0.031877f, 0.033189f, - 0.003805f, -0.054484f, 0.020266f, -0.018223f, 0.061762f, -0.045352f, -0.054846f, -0.056770f, 0.048577f, 0.080116f, -0.025601f, 0.020551f, -0.094315f, 0.009195f, 0.004450f, -0.003388f, -0.044216f, 0.007589f, 0.018587f, -0.014359f, -0.012217f, -0.011635f, 0.029766f, 0.014206f, -0.018910f, -0.020099f, -0.011801f, -0.004584f, -0.005977f, 0.008775f, -0.032559f, -0.019263f, 0.017194f, 0.007341f, 0.006077f, 0.001256f, 0.014810f, -0.002324f, -0.001782f, -0.018870f, 0.025536f, 0.032135f, -0.013699f, -0.049462f, -0.033615f, -0.000147f, 0.000017f, 0.009746f, 0.002479f, -0.015446f, -0.024451f, -0.013188f, 0.009185f, 0.014573f, 0.039795f, 0.013693f, 0.002068f, 0.000896f, -0.029694f, -0.005860f, 0.030843f, 0.018469f, 0.006997f, -0.032140f, -0.019672f, -0.003431f, 0.004464f, 0.005853f, -0.005322f, -0.005903f, -0.005675f, -0.001895f, -0.120862f, 0.006594f, -0.014791f, 0.003736f, 0.093604f, 0.077019f, 0.110845f, 0.058509f, -0.029462f, -0.022599f, -0.045906f, -0.061236f, 0.021562f, 0.005350f, 0.016089f, 0.019444f, -0.017819f, 0.027846f, 0.047275f, 0.008670f, -0.012638f, -0.016031f, -0.033456f, -0.022276f, - -0.020213f, 0.009221f, 0.015073f, -0.048090f, -0.028416f, -0.006649f, 0.032273f, -0.014577f, 0.020795f, 0.025789f, -0.068282f, -0.067318f, 0.012792f, 0.019492f, 0.015013f, -0.050817f, -0.023332f, -0.045643f, -0.022061f, -0.020904f, 0.044032f, -0.057847f, -0.080500f, -0.030284f, 0.016001f, 0.013685f, -0.062084f, -0.049885f, -0.039171f, -0.029699f, 0.033591f, 0.047305f, 0.002161f, -0.016075f, -0.019630f, -0.010975f, -0.010455f, -0.021380f, -0.068916f, 0.022679f, 0.051822f, 0.047071f, 0.014678f, 0.064294f, 0.086973f, -0.007575f, -0.011161f, 0.066578f, -0.016102f, -0.040518f, -0.091560f, -0.031193f, 0.012497f, -0.050256f, -0.033628f, 0.023548f, -0.008212f, 0.032651f, 0.057133f, -0.034764f, -0.053936f, -0.017860f, -0.023134f, -0.013390f, -0.014626f, -0.014517f, 0.006094f, 0.008292f, 0.006694f, 0.011631f, -0.019365f, 0.016925f, -0.026756f, -0.003202f, 0.016666f, 0.022325f, -0.023906f, -0.033364f, 0.019133f, -0.007591f, 0.001253f, -0.023282f, 0.027559f, -0.016114f, -0.005785f, -0.006403f, 0.025510f, -0.021559f, 0.027674f, -0.012257f, -0.012890f, 0.018317f, 0.004844f, 0.014595f, -0.011524f, 0.001314f, - 0.005441f, 0.029836f, -0.003471f, 0.007104f, 0.004561f, 0.079665f, 0.027593f, 0.006699f, 0.028713f, -0.032635f, 0.001878f, -0.016540f, -0.024852f, 0.014952f, 0.005536f, -0.020266f, -0.034385f, -0.019358f, -0.031934f, -0.025512f, 0.010144f, -0.019626f, -0.009934f, 0.015159f, -0.010071f, 0.003633f, -0.011178f, 0.039731f, -0.031091f, 0.032619f, 0.011538f, 0.003904f, -0.030075f, -0.012613f, 0.023624f, 0.009914f, -0.000745f, 0.019293f, -0.003578f, -0.007647f, -0.012428f, -0.010068f, -0.008392f, 0.003814f, -0.000349f, 0.004245f, -0.035185f, 0.018634f, -0.014823f, -0.013480f, 0.012017f, 0.008608f, 0.004392f, -0.006375f, 0.024375f, 0.021363f, -0.030812f, 0.027640f, -0.004018f, 0.018820f, 0.036802f, -0.007546f, 0.019837f, 0.019281f, -0.018572f, -0.012894f, -0.024693f, 0.002405f, 0.004040f, -0.039096f, 0.016045f, 0.006173f, 0.030427f, -0.011847f, -0.069898f, 0.043921f, 0.002473f, 0.001474f, 0.000722f, -0.030572f, -0.009903f, -0.007904f, -0.010587f, -0.044653f, 0.025372f, 0.013056f, 0.027377f, -0.019784f, 0.011948f, -0.022217f, -0.020643f, 0.001145f, 0.017309f, 0.014329f, 0.000274f, -0.002370f, - -0.006482f, 0.001758f, -0.010480f, -0.001914f, 0.029539f, -0.011877f, 0.005716f, 0.003433f, 0.008250f, -0.018040f, 0.019595f, -0.000527f, -0.003966f, 0.004845f, -0.002170f, 0.004738f, 0.006428f, -0.016390f, -0.002492f, 0.000496f, -0.003324f, -0.002840f, 0.008859f, -0.010400f, 0.013022f, 0.019437f, 0.007037f, -0.011795f, -0.000826f, -0.002305f, -0.011415f, 0.014231f, -0.004127f, 0.007868f, -0.040828f, -0.115988f, -0.172447f, 0.036220f, 0.135615f, 0.005649f, 0.371129f, 0.342082f, 0.235087f, 0.404198f, 0.311039f, 0.042358f, 0.006836f, -0.041855f, -0.296170f, -0.302170f, -0.229612f, -0.395805f, -0.368984f, -0.105432f, -0.122943f, -0.124408f, 0.029877f, 0.075103f, -0.061512f, -0.020432f, 0.119056f, 0.075831f, -0.003736f, 0.088510f, 0.061593f, 0.004843f, 0.074310f, 0.175277f, 0.115551f, 0.040395f, 0.179784f, 0.133026f, 0.010844f, 0.154418f, 0.209406f, 0.050484f, 0.023147f, 0.213459f, 0.058928f, -0.082616f, 0.107883f, 0.164547f, -0.083290f, 0.038757f, 0.230070f, 0.022230f, 0.038566f, 0.277449f, 0.218361f, 0.018870f, 0.173424f, 0.229597f, -0.078819f, -0.046600f, 0.065942f, -0.186852f, - -0.312339f, -0.210737f, -0.344486f, -0.512305f, -0.470286f, -0.526306f, -0.670302f, -0.707501f, -0.625583f, -0.661333f, -0.622620f, -0.467428f, -0.372981f, -0.194003f, -0.047585f, 0.110915f, 0.385084f, 0.447826f, 0.486330f, 0.753865f, 0.737255f, 0.495165f, 0.637497f, 0.498235f, 0.198944f, 0.219604f, 0.310351f, 0.152225f, 0.099748f, 0.232064f, 0.166025f, 0.000065f, 0.080224f, 0.180659f, 0.046047f, 0.013615f, 0.135175f, 0.032066f, -0.138082f, 0.046279f, 0.111051f, -0.030849f, 0.099641f, 0.262824f, 0.105030f, 0.060082f, 0.231756f, 0.126998f, -0.043754f, 0.028291f, -0.058023f, -0.274646f, -0.336525f, -0.334491f, -0.422006f, -0.477077f, -0.394185f, -0.379004f, -0.432197f, -0.389980f, -0.321971f, -0.371247f, -0.339505f, -0.228218f, -0.181078f, -0.173359f, -0.070056f, 0.043409f, 0.051583f, 0.157972f, 0.265712f, 0.279276f, 0.276311f, 0.311838f, 0.288432f, 0.206857f, 0.175875f, 0.156911f, 0.109088f, 0.089525f, 0.109819f, 0.097875f, 0.067044f, 0.069779f, 0.076308f, 0.064924f, 0.063617f, 0.081259f, 0.072097f, 0.051717f, 0.042079f, 0.038055f, 0.007774f, -0.000912f, -0.008447f, -0.044055f, - -0.059026f, -0.055322f, -0.046117f, -0.038582f, -0.023489f, -0.011418f, -0.009050f, -0.001928f, 0.015640f, 0.029270f, 0.038354f, 0.037994f, 0.028837f, 0.019493f, 0.007197f, 0.000940f, 0.003902f, -0.001205f, -0.013564f, -0.014275f, -0.021844f, -0.039608f, -0.043868f, -0.042338f, -0.056740f, -0.061569f, -0.054872f, -0.062339f, -0.074965f, -0.071007f, -0.073147f, -0.081094f, -0.073479f, -0.061438f, -0.064392f, -0.058010f, -0.039149f, -0.031023f, -0.027964f, -0.007986f, 0.003399f, 0.006643f, 0.018801f, 0.034671f, 0.037351f, 0.039096f, 0.047694f, 0.046346f, 0.042189f, 0.048363f, 0.053029f, 0.053609f, 0.055421f, 0.059294f, 0.053976f, 0.051122f, 0.051615f, 0.052096f, 0.044135f, 0.037892f, 0.027707f, 0.014335f, 0.004179f, -0.000649f, -0.004193f, -0.007647f, -0.011086f, -0.012754f, -0.013588f, -0.012771f, -0.011211f, -0.009052f, -0.009727f, -0.008942f, -0.008338f, -0.007979f, -0.007906f, -0.006086f, -0.005334f, -0.003692f, -0.002608f, -0.000554f}, - {0.006979f, 0.009659f, -0.005684f, 0.000399f, 0.000302f, -0.006916f, 0.009235f, -0.003690f, -0.003628f, 0.002643f, -0.009556f, -0.004280f, 0.010211f, 0.002320f, -0.004186f, 0.007265f, 0.002233f, 0.001551f, -0.001517f, 0.003539f, -0.000081f, -0.012242f, -0.000605f, -0.004548f, -0.000572f, -0.000276f, -0.011737f, 0.000172f, -0.007555f, 0.000399f, 0.001157f, 0.005218f, 0.006227f, 0.002051f, 0.001525f, 0.001135f, 0.005374f, -0.002973f, 0.001817f, 0.000330f, 0.000817f, 0.001113f, -0.001655f, 0.004812f, 0.007188f, -0.013889f, 0.006411f, -0.003646f, -0.008379f, -0.005355f, 0.010608f, 0.005318f, -0.003633f, 0.006025f, 0.001721f, -0.003836f, 0.003711f, 0.000060f, -0.000045f, 0.000536f, 0.000686f, -0.001468f, 0.000039f, 0.000764f, -0.000657f, 0.004551f, -0.002889f, -0.006433f, -0.006254f, -0.000064f, 0.002042f, -0.000420f, 0.000250f, 0.003472f, -0.001427f, 0.006114f, -0.006540f, -0.001966f, 0.004946f, 0.005364f, -0.003761f, 0.006049f, 0.002086f, -0.001607f, -0.004157f, -0.001936f, -0.001807f, -0.001669f, -0.001681f, -0.000845f, -0.000290f, -0.000930f, -0.001771f, 0.000484f, 0.001168f, -0.002481f, - -0.000701f, -0.000826f, 0.001205f, -0.002166f, -0.000549f, 0.000260f, 0.005082f, 0.000441f, -0.004183f, 0.002638f, -0.002288f, -0.003227f, 0.000734f, -0.006866f, -0.000906f, -0.005133f, 0.001740f, 0.003293f, 0.003035f, 0.002528f, -0.005488f, -0.000334f, -0.004564f, 0.004841f, -0.009327f, -0.005200f, 0.004575f, -0.010087f, -0.001235f, -0.000630f, 0.002491f, 0.002259f, 0.004883f, 0.010545f, 0.004752f, -0.001279f, -0.000134f, -0.003732f, -0.003033f, -0.018537f, -0.017196f, -0.001120f, 0.012544f, -0.003120f, 0.009996f, 0.000905f, 0.002779f, -0.003125f, -0.014482f, 0.007447f, 0.002160f, -0.004310f, 0.003424f, -0.007606f, -0.001669f, 0.004325f, 0.001782f, 0.013483f, -0.009367f, 0.008182f, -0.004362f, -0.010609f, -0.005055f, -0.002891f, -0.003043f, 0.003760f, 0.003042f, -0.008557f, -0.003948f, -0.004875f, -0.001952f, 0.008259f, 0.008685f, 0.009481f, -0.007088f, 0.001182f, -0.004498f, -0.000578f, -0.003807f, -0.004685f, -0.005823f, -0.006385f, 0.003380f, 0.000997f, -0.001126f, -0.002325f, 0.000698f, 0.003583f, -0.003802f, -0.003220f, -0.001787f, 0.004102f, -0.001576f, -0.000794f, -0.001945f, -0.002093f, - -0.000670f, 0.000887f, -0.000206f, -0.000361f, 0.000531f, 0.000886f, -0.000423f, -0.000415f, 0.002474f, -0.002097f, -0.001473f, 0.000988f, -0.001436f, 0.002008f, -0.001441f, -0.001438f, -0.000448f, -0.000287f, 0.001108f, -0.000700f, -0.000812f, 0.000728f, -0.000005f, -0.002106f, 0.000497f, 0.000444f, -0.001738f, 0.006820f, -0.006457f, -0.008534f, -0.007248f, 0.000132f, -0.002817f, -0.002421f, -0.005718f, 0.001177f, -0.006397f, -0.000548f, -0.002586f, 0.009857f, -0.006314f, -0.007085f, -0.015556f, -0.020370f, -0.004832f, -0.009122f, -0.008242f, -0.002061f, 0.004281f, -0.005226f, -0.012099f, 0.007480f, -0.017583f, 0.005237f, -0.002888f, -0.003243f, 0.011500f, 0.007987f, 0.004304f, 0.001515f, -0.001889f, -0.001882f, -0.004216f, 0.001787f, 0.007830f, -0.006297f, 0.007429f, 0.006734f, 0.002053f, 0.000953f, 0.003139f, 0.005150f, -0.011406f, -0.005029f, 0.011030f, -0.008535f, 0.000796f, -0.000213f, 0.006779f, -0.000878f, -0.002470f, 0.001232f, 0.011443f, 0.006259f, 0.004036f, 0.003636f, 0.006414f, -0.010059f, 0.007833f, -0.008213f, 0.007259f, 0.004706f, -0.002044f, -0.001457f, -0.003330f, -0.004511f, - -0.007220f, -0.000385f, -0.002195f, -0.005834f, -0.006360f, -0.003638f, -0.003664f, -0.000661f, -0.000348f, -0.001775f, 0.008714f, -0.003568f, -0.001528f, -0.005867f, 0.006068f, 0.000031f, -0.001234f, 0.001272f, -0.002424f, -0.004224f, 0.000183f, 0.002389f, -0.000194f, -0.000405f, -0.002653f, 0.000799f, -0.000816f, -0.002460f, 0.000252f, 0.000562f, 0.001451f, -0.000298f, 0.000984f, 0.000768f, 0.002117f, 0.000720f, -0.002119f, 0.000115f, 0.001235f, -0.000299f, -0.001847f, -0.001190f, 0.002934f, 0.001498f, -0.001442f, -0.000642f, -0.000517f, 0.004155f, -0.010838f, -0.000174f, -0.005131f, -0.009795f, -0.004680f, -0.001757f, -0.006974f, -0.002247f, -0.006442f, -0.002401f, 0.004913f, 0.006808f, -0.011249f, -0.006272f, 0.003562f, -0.002148f, -0.012285f, 0.008182f, 0.014426f, 0.003116f, -0.003518f, -0.006717f, 0.001509f, 0.007084f, 0.013037f, -0.006610f, -0.002883f, -0.008353f, -0.006854f, 0.007328f, 0.007185f, -0.010155f, 0.005900f, -0.003202f, -0.006626f, 0.010392f, -0.000134f, 0.005696f, -0.014257f, 0.001035f, -0.009182f, 0.002113f, -0.011383f, -0.007019f, -0.001954f, -0.002574f, 0.023396f, 0.007519f, - 0.005981f, 0.004644f, -0.017621f, 0.009843f, 0.006692f, -0.003813f, -0.000559f, 0.007684f, -0.001205f, 0.008115f, 0.009212f, 0.009334f, -0.005510f, 0.000730f, -0.003132f, 0.004990f, -0.004540f, -0.004621f, 0.002945f, -0.004339f, 0.001942f, 0.002951f, 0.000028f, 0.005512f, 0.002034f, -0.010338f, -0.001391f, -0.001283f, 0.003125f, -0.011726f, -0.003922f, -0.002948f, 0.008155f, -0.002490f, -0.001522f, -0.006324f, -0.001827f, 0.000449f, -0.000745f, -0.002929f, -0.000063f, -0.001892f, 0.001994f, 0.000790f, -0.000135f, 0.000374f, 0.000636f, -0.001494f, -0.004535f, 0.002347f, 0.000819f, -0.002493f, 0.001053f, -0.001353f, 0.000359f, 0.000564f, 0.001403f, -0.000330f, -0.000695f, -0.001078f, 0.000833f, -0.001791f, 0.001536f, -0.002043f, -0.000283f, -0.000152f, 0.001185f, -0.001352f, -0.000712f, -0.001973f, -0.001333f, -0.001821f, -0.014629f, -0.008040f, 0.005874f, -0.006297f, 0.016989f, 0.007581f, 0.016629f, -0.000186f, -0.008253f, -0.008639f, -0.011814f, 0.017908f, -0.004458f, 0.008215f, 0.009024f, 0.001947f, 0.006326f, 0.005882f, 0.005583f, 0.002317f, -0.011876f, -0.000618f, -0.004648f, -0.001712f, - 0.007983f, -0.000682f, -0.000821f, 0.005679f, 0.003456f, 0.005878f, -0.005223f, -0.018540f, -0.011191f, -0.006999f, 0.013580f, -0.012326f, -0.003849f, 0.008419f, -0.001053f, 0.001594f, -0.010483f, 0.018027f, 0.000870f, -0.006979f, 0.014097f, -0.008702f, 0.021899f, 0.011402f, -0.005085f, 0.002573f, -0.006390f, -0.004265f, -0.020399f, 0.007209f, -0.009359f, -0.001416f, -0.000915f, -0.004422f, 0.008568f, -0.003375f, -0.008978f, -0.008615f, 0.001884f, -0.007871f, -0.008811f, 0.004972f, 0.000641f, 0.006270f, -0.003520f, -0.018504f, 0.006266f, 0.008054f, 0.010219f, -0.009955f, -0.011341f, 0.001465f, 0.018220f, 0.002958f, -0.009619f, -0.004345f, -0.001740f, 0.005033f, 0.000785f, 0.005358f, -0.005533f, -0.002050f, -0.001195f, -0.006643f, -0.005571f, 0.008152f, -0.001494f, 0.003193f, -0.000844f, -0.002332f, -0.005327f, -0.000510f, 0.000070f, 0.002016f, -0.001104f, 0.001872f, -0.001480f, -0.004240f, -0.001829f, -0.000602f, -0.000231f, -0.000784f, 0.003044f, 0.000157f, 0.003306f, -0.001185f, -0.000379f, -0.000561f, -0.003878f, -0.000040f, 0.001808f, 0.001908f, 0.001170f, 0.014516f, -0.013342f, 0.006579f, - 0.017412f, -0.012598f, 0.003586f, -0.007151f, -0.013378f, 0.019893f, 0.007671f, 0.018478f, 0.017344f, 0.002370f, -0.013522f, -0.008533f, 0.007286f, -0.001034f, 0.003143f, -0.014959f, 0.001729f, -0.026469f, -0.010886f, -0.020675f, 0.012845f, -0.011803f, -0.000241f, 0.003650f, -0.003215f, -0.005447f, 0.006414f, 0.006123f, 0.018394f, -0.002661f, -0.003857f, -0.014067f, -0.011727f, 0.011514f, 0.002689f, 0.003895f, 0.021969f, -0.006704f, 0.000341f, 0.011482f, -0.005013f, 0.005251f, 0.004186f, 0.011494f, 0.010633f, -0.007335f, -0.000938f, -0.014890f, 0.015580f, -0.010200f, -0.013148f, -0.012935f, 0.008325f, -0.004858f, -0.006833f, 0.015050f, -0.004515f, 0.015606f, -0.009458f, -0.007441f, -0.001802f, 0.010193f, 0.013543f, -0.001097f, -0.014191f, 0.005120f, -0.008994f, 0.018665f, 0.004099f, 0.010933f, -0.014868f, -0.006738f, 0.004257f, -0.003944f, 0.009306f, 0.001269f, -0.004915f, 0.005367f, 0.012268f, 0.016922f, 0.013334f, 0.000131f, -0.002849f, -0.000270f, 0.003062f, 0.000201f, -0.002716f, 0.001934f, -0.002249f, -0.000475f, 0.005081f, 0.000198f, -0.002147f, 0.005132f, -0.001423f, -0.002820f, - 0.001598f, 0.001762f, 0.000149f, -0.003317f, 0.001447f, -0.002300f, 0.000717f, -0.004491f, -0.005225f, 0.001317f, 0.002326f, -0.000211f, 0.004512f, -0.001590f, 0.002188f, 0.008788f, -0.023096f, 0.008103f, 0.006773f, 0.004664f, -0.017475f, 0.013366f, 0.021853f, -0.021301f, 0.008083f, -0.013068f, 0.008558f, 0.001240f, 0.007685f, -0.006259f, -0.000536f, 0.005131f, -0.014608f, -0.007137f, -0.006326f, 0.011603f, 0.012051f, -0.003888f, 0.005635f, -0.002873f, 0.008895f, 0.011503f, 0.004403f, 0.003539f, -0.011619f, -0.004252f, -0.014498f, -0.015917f, -0.011242f, 0.001171f, -0.005404f, -0.000652f, -0.006735f, -0.015845f, -0.005445f, 0.003346f, 0.001405f, -0.000870f, 0.024090f, -0.019432f, 0.007163f, -0.009627f, -0.002854f, -0.005961f, -0.006186f, 0.010359f, -0.006157f, 0.000888f, -0.007449f, -0.004843f, -0.009041f, 0.012417f, -0.011355f, 0.010207f, -0.002663f, 0.010198f, -0.000948f, 0.001637f, -0.001076f, 0.009863f, 0.005608f, -0.000171f, 0.020906f, 0.000945f, -0.010514f, 0.005628f, -0.009459f, -0.011471f, -0.013987f, 0.013697f, 0.004782f, 0.012216f, 0.012315f, 0.014581f, 0.008482f, -0.001621f, - -0.002610f, -0.002491f, 0.013898f, -0.001922f, 0.015587f, 0.003451f, -0.000681f, -0.002257f, 0.005340f, 0.008072f, 0.002067f, 0.003393f, 0.001086f, -0.000929f, 0.001546f, -0.002492f, 0.004189f, 0.000321f, 0.003593f, -0.000937f, 0.003411f, -0.000235f, -0.005453f, 0.002835f, 0.003751f, 0.000129f, 0.003053f, -0.000828f, 0.000175f, -0.003019f, 0.002640f, -0.000619f, 0.001295f, 0.005922f, 0.005947f, -0.024359f, -0.001750f, 0.002968f, -0.005427f, -0.019216f, 0.021966f, -0.001577f, 0.000976f, 0.018354f, -0.005007f, -0.019224f, 0.006898f, 0.012332f, 0.023823f, -0.001676f, 0.010171f, 0.001892f, -0.020634f, -0.006266f, -0.010640f, 0.010451f, 0.006223f, 0.005393f, -0.007604f, -0.001564f, -0.000690f, 0.001768f, -0.006848f, 0.009737f, 0.002932f, -0.008508f, 0.012411f, 0.001595f, -0.013472f, -0.011606f, 0.003396f, 0.014660f, 0.013472f, -0.018644f, 0.036450f, -0.001913f, 0.000894f, 0.009859f, -0.001227f, -0.004867f, -0.000107f, 0.023191f, -0.011437f, 0.011421f, -0.002585f, 0.016029f, 0.005090f, 0.014361f, -0.005260f, -0.011456f, 0.008261f, 0.012274f, -0.005889f, -0.013900f, -0.014777f, -0.013310f, - -0.005736f, -0.002743f, 0.014038f, 0.000275f, 0.012240f, -0.001500f, -0.003684f, 0.011829f, -0.010100f, -0.020097f, -0.005052f, -0.012846f, -0.011766f, -0.022332f, 0.016918f, 0.014467f, 0.006258f, -0.034601f, 0.008428f, 0.007253f, -0.002281f, -0.001038f, -0.011747f, 0.016498f, 0.008775f, 0.006526f, 0.004362f, 0.015158f, -0.000992f, -0.001092f, 0.001453f, -0.000157f, 0.003862f, 0.001724f, 0.000411f, 0.004658f, -0.002454f, -0.000615f, -0.003226f, 0.001056f, 0.001560f, 0.005145f, -0.003222f, -0.000535f, -0.001042f, 0.003979f, -0.001457f, 0.001505f, 0.002713f, 0.003202f, -0.002358f, 0.007627f, 0.000368f, -0.000180f, -0.002398f, 0.003018f, -0.004350f, 0.001738f, 0.000600f, -0.001159f, 0.002068f, 0.003761f, -0.000315f, -0.006673f, -0.001898f, -0.000886f, -0.014054f, -0.000667f, 0.000801f, 0.010302f, -0.014780f, 0.000997f, -0.002500f, -0.005796f, -0.030409f, -0.003394f, 0.013974f, 0.011256f, 0.014325f, 0.001942f, -0.016464f, 0.043060f, 0.017749f, 0.029363f, 0.002783f, -0.012500f, -0.005345f, -0.003890f, -0.018426f, -0.000901f, -0.007386f, 0.009366f, -0.000204f, 0.001184f, -0.006076f, -0.007532f, - -0.015621f, 0.005416f, 0.001263f, 0.000992f, 0.007678f, -0.000421f, 0.003116f, -0.001300f, -0.013606f, -0.010137f, 0.007828f, 0.000278f, 0.019197f, -0.024351f, 0.019423f, 0.012295f, -0.008927f, -0.017547f, -0.028008f, 0.006095f, 0.021661f, -0.010991f, 0.020959f, -0.001443f, -0.001195f, 0.005094f, -0.006475f, -0.024421f, 0.002709f, 0.011866f, 0.004947f, -0.010487f, -0.003050f, -0.006500f, 0.005202f, 0.012162f, -0.000874f, 0.003262f, -0.001870f, 0.011714f, -0.005401f, -0.003721f, 0.007601f, -0.006602f, 0.017856f, -0.004634f, -0.009422f, 0.006934f, -0.016644f, -0.008163f, -0.000112f, 0.006685f, -0.007356f, 0.003244f, -0.002837f, 0.003805f, -0.000130f, 0.004482f, 0.003473f, -0.001275f, 0.001974f, -0.007586f, 0.003960f, -0.000881f, -0.010746f, -0.003473f, -0.003227f, -0.006147f, -0.000255f, 0.001997f, -0.005162f, -0.003351f, -0.000485f, -0.006495f, 0.000224f, 0.001856f, -0.001705f, -0.006891f, 0.000372f, 0.000039f, -0.005577f, 0.002332f, 0.003679f, -0.004192f, -0.000536f, 0.001397f, 0.000168f, 0.002179f, 0.005961f, 0.005295f, -0.005589f, -0.004162f, 0.006931f, 0.004673f, -0.033038f, 0.023607f, - 0.021468f, 0.025141f, -0.008069f, -0.022614f, 0.007940f, 0.008946f, -0.033628f, -0.030715f, 0.029689f, 0.003135f, -0.014474f, 0.011117f, -0.021013f, -0.024024f, 0.003418f, 0.062172f, 0.028929f, 0.011445f, -0.016921f, 0.000161f, -0.006037f, 0.000370f, -0.007108f, -0.003586f, -0.007897f, 0.002118f, 0.017722f, 0.003390f, 0.021850f, -0.008790f, -0.007261f, 0.003872f, 0.015260f, -0.003054f, -0.002224f, -0.032705f, -0.001408f, -0.018481f, -0.001004f, 0.025114f, 0.017990f, -0.006819f, 0.017581f, 0.034900f, -0.016718f, 0.009976f, 0.028998f, -0.021468f, 0.030649f, -0.002708f, 0.012588f, -0.007428f, 0.001260f, -0.004302f, 0.004225f, 0.006955f, 0.030396f, -0.011823f, -0.003878f, 0.007753f, -0.014222f, 0.008785f, 0.004661f, -0.008330f, -0.013862f, 0.029811f, -0.002029f, -0.016632f, -0.005488f, 0.018419f, -0.007865f, 0.012446f, -0.000129f, 0.000732f, -0.019823f, -0.021709f, -0.010405f, -0.018545f, -0.016649f, -0.018175f, -0.001144f, -0.004472f, 0.008709f, -0.001316f, 0.001536f, -0.001829f, 0.010969f, 0.006823f, 0.000744f, -0.013833f, 0.000458f, -0.002748f, -0.010195f, -0.003096f, -0.005274f, 0.005133f, - 0.001982f, -0.007136f, -0.002373f, -0.005521f, -0.004225f, -0.000696f, 0.003753f, 0.003512f, 0.003837f, 0.006466f, -0.004164f, 0.000635f, 0.004128f, -0.003119f, -0.004064f, 0.004687f, -0.006975f, -0.002938f, -0.002195f, 0.002871f, 0.001246f, 0.004743f, 0.000785f, 0.000282f, 0.004005f, -0.002093f, -0.004851f, 0.040271f, 0.007376f, 0.005580f, -0.020899f, -0.012316f, 0.001180f, 0.004524f, 0.008297f, 0.009243f, -0.039966f, 0.001677f, 0.002642f, 0.028816f, 0.004741f, 0.007230f, -0.002646f, 0.026200f, -0.042936f, 0.001185f, 0.022148f, -0.025778f, 0.006513f, 0.004886f, 0.020858f, 0.003940f, 0.002306f, -0.007192f, 0.000761f, -0.022158f, 0.007548f, -0.005644f, 0.003989f, 0.005840f, -0.003684f, -0.016847f, 0.006196f, -0.013331f, -0.022852f, 0.012796f, -0.012889f, 0.008364f, -0.021486f, -0.013749f, -0.002209f, -0.006844f, 0.005218f, -0.009321f, 0.023702f, -0.000433f, 0.022601f, -0.023953f, -0.020051f, -0.006615f, 0.000389f, -0.000560f, -0.006939f, 0.020118f, 0.016616f, 0.042138f, -0.006742f, 0.026892f, -0.015808f, -0.002885f, 0.008201f, -0.032281f, 0.036687f, -0.001154f, 0.022855f, -0.001075f, - -0.031958f, -0.019462f, 0.013502f, -0.042999f, 0.022328f, 0.005975f, 0.032576f, 0.040843f, 0.005363f, -0.030599f, -0.022985f, -0.009672f, 0.023388f, -0.003045f, -0.005642f, 0.001096f, -0.008552f, 0.001043f, -0.006259f, -0.009422f, -0.003179f, -0.015037f, -0.000724f, 0.000453f, -0.006879f, -0.006406f, -0.008399f, -0.006210f, -0.002887f, 0.003496f, 0.007125f, 0.002417f, -0.001199f, 0.006277f, -0.004491f, -0.002736f, 0.001497f, 0.003198f, 0.004138f, -0.004421f, 0.005239f, -0.005687f, -0.002584f, -0.008187f, -0.013886f, 0.008297f, 0.001437f, -0.008143f, -0.007979f, -0.001801f, -0.011047f, 0.001214f, 0.000051f, -0.003947f, 0.008051f, 0.020652f, 0.031635f, 0.011003f, -0.013227f, 0.030098f, -0.032367f, -0.003399f, -0.010023f, 0.003947f, 0.025650f, -0.023362f, 0.057948f, 0.007638f, 0.014252f, -0.017180f, -0.023568f, 0.008021f, 0.000048f, 0.049247f, -0.007235f, -0.017183f, -0.028365f, -0.019111f, 0.013577f, 0.008713f, 0.007863f, -0.003675f, -0.027944f, -0.042930f, 0.003019f, -0.025935f, 0.034137f, 0.004345f, 0.027680f, -0.017370f, 0.011451f, -0.011291f, 0.014235f, 0.040114f, -0.006906f, -0.004421f, - -0.006308f, 0.010349f, 0.013158f, 0.006716f, 0.002714f, 0.003982f, 0.017235f, 0.015535f, -0.009304f, -0.014010f, -0.012693f, -0.014037f, 0.045781f, 0.017982f, -0.027278f, 0.020616f, -0.006420f, -0.022310f, -0.016142f, 0.007913f, 0.016565f, -0.031725f, -0.041403f, 0.004357f, -0.018660f, 0.053754f, 0.027743f, -0.009521f, -0.006455f, 0.011182f, 0.024030f, 0.005969f, -0.004460f, -0.007451f, -0.037608f, -0.002029f, -0.009468f, -0.040757f, 0.014981f, 0.025186f, -0.004490f, 0.012458f, 0.006705f, 0.025677f, -0.014650f, -0.004164f, 0.008964f, -0.004390f, -0.012111f, -0.013596f, -0.000742f, -0.008356f, -0.020136f, -0.004433f, -0.009498f, 0.008223f, -0.004240f, -0.011287f, 0.007147f, 0.002626f, 0.000669f, -0.007160f, 0.007113f, 0.001662f, -0.012832f, 0.003887f, 0.004483f, -0.006221f, -0.017665f, -0.008922f, -0.003612f, -0.002315f, -0.000684f, -0.006960f, -0.001340f, -0.005296f, 0.001899f, 0.001551f, -0.003876f, 0.000288f, -0.000766f, -0.005660f, -0.011181f, -0.001931f, 0.001761f, 0.005666f, 0.002604f, -0.008600f, -0.000217f, 0.005715f, 0.002311f, 0.002188f, -0.008918f, 0.002598f, -0.003756f, -0.004320f, - -0.004750f, -0.005326f, 0.000468f, -0.000104f, -0.005762f, 0.002579f, -0.015789f, -0.025030f, 0.014183f, -0.007970f, 0.021761f, 0.010638f, -0.024514f, -0.009645f, -0.012622f, 0.005683f, -0.032862f, 0.022461f, 0.030247f, -0.011990f, 0.018706f, -0.004148f, -0.008876f, 0.015440f, -0.023143f, 0.014646f, 0.024497f, 0.007390f, 0.042562f, 0.021410f, -0.018424f, 0.018913f, 0.007388f, 0.016687f, 0.000336f, 0.023667f, 0.019694f, 0.031524f, 0.011268f, -0.011601f, -0.014937f, -0.018661f, -0.002231f, 0.048611f, 0.000627f, 0.020867f, -0.030667f, 0.063342f, -0.019031f, -0.048705f, -0.023670f, 0.040187f, 0.002746f, -0.005000f, -0.005828f, -0.002384f, 0.029164f, -0.021185f, 0.016728f, -0.003890f, 0.036827f, 0.057367f, 0.028878f, 0.027930f, -0.020587f, 0.032849f, 0.019161f, 0.019724f, 0.021602f, 0.032849f, -0.007104f, -0.055923f, -0.036585f, -0.040485f, 0.010270f, 0.015132f, 0.011339f, -0.008993f, 0.018728f, 0.050365f, 0.003132f, 0.004396f, 0.011789f, -0.002268f, -0.044082f, -0.046504f, -0.016446f, 0.009875f, 0.004661f, -0.001473f, -0.027245f, 0.007375f, 0.000984f, 0.002753f, 0.013778f, -0.002580f, - 0.008637f, 0.003614f, 0.017092f, -0.003849f, 0.011304f, -0.008676f, 0.001754f, 0.002370f, 0.019896f, 0.009831f, 0.019862f, 0.002820f, 0.009958f, -0.003069f, 0.001951f, 0.009200f, -0.005911f, -0.012596f, 0.002714f, -0.007288f, -0.015121f, -0.011129f, -0.003540f, -0.002657f, 0.019384f, 0.004670f, -0.000356f, -0.005437f, 0.002777f, 0.000655f, -0.007401f, -0.007505f, -0.006193f, 0.005012f, 0.012289f, -0.001041f, 0.000874f, 0.002141f, 0.005360f, 0.004527f, 0.013120f, -0.012945f, 0.008235f, 0.020752f, 0.024374f, 0.008807f, 0.011449f, 0.018977f, -0.014955f, 0.044136f, 0.017416f, 0.008527f, -0.012593f, -0.033867f, -0.013656f, 0.018464f, -0.001836f, -0.047994f, 0.064622f, -0.022701f, -0.012658f, 0.019902f, 0.000983f, -0.006460f, 0.004688f, -0.012557f, -0.015165f, -0.003325f, -0.035153f, 0.008680f, -0.037776f, 0.001028f, -0.029946f, -0.033745f, -0.006759f, -0.007197f, -0.007391f, -0.024695f, 0.010832f, 0.026386f, 0.007090f, 0.020196f, -0.035058f, 0.034548f, 0.063015f, 0.006490f, -0.025292f, 0.039329f, -0.032277f, -0.051188f, 0.085172f, -0.008775f, 0.006057f, -0.005970f, -0.038069f, 0.029336f, - -0.034509f, 0.014897f, 0.052050f, -0.001090f, 0.071485f, -0.055826f, 0.053857f, 0.015636f, -0.035347f, -0.018591f, 0.006769f, -0.034046f, -0.016915f, 0.037799f, -0.037106f, 0.024590f, -0.024943f, 0.013613f, 0.039583f, -0.086915f, -0.038244f, 0.039918f, -0.074500f, 0.026263f, 0.023148f, 0.042554f, 0.037741f, 0.016890f, -0.002989f, 0.024937f, 0.037442f, -0.040700f, 0.040626f, -0.000852f, 0.014092f, -0.002239f, 0.012788f, 0.003187f, -0.007658f, 0.002693f, -0.011720f, -0.003979f, 0.003114f, -0.002217f, -0.020358f, 0.012744f, -0.003527f, 0.016632f, 0.010117f, -0.014600f, 0.011516f, 0.013847f, 0.010258f, 0.004065f, 0.007376f, 0.004237f, 0.009378f, -0.028534f, 0.016035f, -0.003878f, -0.007612f, 0.019990f, -0.016051f, -0.013343f, 0.006934f, -0.016949f, -0.013500f, -0.005511f, -0.012271f, -0.016622f, 0.009248f, -0.025141f, -0.074580f, -0.019554f, 0.024581f, 0.057547f, -0.018262f, 0.028999f, 0.000900f, 0.013636f, 0.029968f, 0.019225f, 0.051827f, -0.013493f, 0.002285f, 0.014099f, -0.045746f, -0.029588f, -0.013584f, -0.014937f, 0.010619f, 0.000669f, 0.003957f, -0.023999f, -0.003882f, -0.031736f, - -0.025645f, 0.012254f, 0.063969f, 0.036652f, -0.016733f, -0.020567f, 0.030522f, 0.036376f, -0.021668f, 0.009518f, 0.028143f, -0.011235f, 0.061185f, 0.020685f, 0.009042f, -0.047267f, 0.029156f, 0.005866f, 0.022987f, -0.004954f, 0.005979f, -0.007897f, -0.010100f, -0.074467f, 0.019770f, 0.051305f, 0.025463f, 0.006766f, -0.001382f, 0.025815f, -0.041765f, -0.077359f, 0.005803f, 0.102296f, 0.024702f, 0.081129f, 0.077088f, 0.000908f, 0.006779f, -0.049109f, -0.043827f, -0.004800f, -0.037590f, 0.051175f, -0.111740f, 0.021007f, -0.041830f, -0.089401f, 0.019890f, 0.041678f, 0.089316f, 0.007891f, 0.004513f, -0.057000f, 0.018634f, 0.026760f, -0.039717f, -0.003828f, 0.002864f, 0.041598f, -0.011134f, -0.026725f, 0.063194f, 0.013256f, -0.022521f, -0.000920f, -0.036504f, 0.004717f, -0.034549f, -0.007087f, -0.001143f, -0.017011f, 0.005309f, -0.013760f, -0.014456f, -0.008028f, -0.000106f, -0.007000f, 0.011741f, 0.032637f, -0.001801f, 0.000294f, 0.012251f, -0.029709f, -0.017855f, -0.003644f, 0.009021f, 0.009292f, -0.025745f, -0.014674f, 0.020549f, 0.012011f, 0.007196f, 0.004876f, 0.021705f, -0.000881f, - 0.000442f, 0.002172f, -0.014539f, 0.002597f, 0.020765f, -0.010614f, -0.019716f, 0.054789f, 0.095230f, 0.002665f, 0.025907f, 0.017384f, -0.050285f, -0.014029f, 0.049854f, 0.015950f, 0.021896f, -0.012356f, 0.014383f, 0.008714f, -0.017882f, 0.000981f, 0.025796f, 0.027699f, 0.033380f, -0.014625f, -0.004283f, -0.073912f, -0.069683f, 0.009783f, -0.043146f, 0.001682f, 0.037125f, 0.009220f, 0.004274f, -0.012680f, -0.008474f, 0.024116f, 0.058191f, -0.042197f, -0.024510f, -0.005343f, -0.041378f, -0.002813f, -0.039888f, -0.012157f, -0.042337f, 0.037443f, -0.051268f, -0.003971f, 0.009023f, 0.024943f, 0.089164f, 0.119328f, 0.030675f, -0.031137f, -0.063739f, -0.005421f, -0.043657f, -0.016877f, -0.067784f, 0.010305f, 0.065002f, 0.048278f, 0.038936f, 0.004897f, 0.009296f, 0.066984f, 0.064683f, 0.047858f, -0.004086f, 0.030280f, 0.010927f, 0.015062f, -0.077085f, 0.023390f, 0.008326f, -0.017539f, 0.046182f, 0.063158f, -0.008941f, -0.000869f, -0.031111f, -0.131181f, -0.002736f, 0.039059f, -0.019283f, 0.091149f, 0.064408f, -0.029827f, 0.005813f, -0.033275f, 0.022420f, 0.006487f, -0.012395f, -0.019826f, - -0.009357f, -0.001648f, 0.013916f, 0.017797f, 0.026690f, 0.000978f, -0.016422f, -0.034808f, 0.001815f, -0.016295f, 0.013149f, -0.015360f, -0.021592f, -0.005082f, -0.005775f, 0.016107f, 0.006410f, -0.005762f, 0.008110f, 0.004853f, 0.006385f, 0.001824f, -0.012387f, -0.019084f, -0.010049f, 0.007584f, 0.015968f, -0.001121f, 0.012973f, 0.000129f, -0.019652f, -0.019878f, 0.005364f, -0.024385f, -0.014168f, 0.000377f, -0.011120f, -0.002689f, 0.006682f, 0.010471f, -0.009486f, -0.016318f, -0.023567f, 0.059823f, 0.042078f, -0.027988f, 0.028395f, 0.044539f, 0.004665f, -0.054984f, -0.066385f, 0.062087f, 0.020703f, 0.014656f, 0.048289f, 0.001464f, -0.021452f, 0.052542f, 0.013458f, -0.039171f, -0.020357f, -0.013944f, 0.017331f, 0.001504f, -0.023959f, 0.009571f, -0.026471f, -0.002219f, -0.012078f, -0.012333f, 0.035285f, 0.066656f, -0.022786f, 0.014171f, 0.030982f, -0.015077f, -0.013550f, 0.013246f, 0.037493f, 0.012516f, -0.029159f, -0.036187f, -0.044306f, 0.024132f, 0.024663f, 0.060592f, -0.028671f, -0.026516f, 0.020931f, 0.036306f, 0.055869f, -0.001098f, -0.103980f, -0.021723f, 0.033313f, 0.033893f, - 0.014872f, -0.019762f, -0.000924f, -0.040995f, 0.006096f, -0.017415f, 0.043017f, 0.062395f, -0.018839f, 0.001906f, -0.036365f, -0.038701f, -0.015287f, -0.078938f, -0.016129f, -0.039846f, 0.035126f, -0.031766f, 0.036447f, 0.045961f, -0.092129f, -0.007074f, -0.039049f, 0.040033f, -0.016333f, 0.014529f, -0.028733f, 0.005313f, -0.024491f, 0.027803f, 0.030127f, 0.052873f, 0.050289f, 0.025647f, 0.048383f, 0.023195f, 0.002777f, 0.026353f, 0.016391f, -0.006522f, 0.021483f, -0.023253f, 0.011458f, -0.011522f, 0.009907f, -0.029473f, 0.017816f, 0.000921f, 0.014089f, -0.021476f, -0.012760f, 0.015247f, -0.005925f, -0.006649f, 0.025919f, -0.019667f, -0.004821f, 0.021924f, 0.010304f, -0.013303f, -0.004588f, 0.009468f, 0.047930f, 0.026696f, 0.020832f, 0.029226f, 0.001809f, 0.031713f, 0.010260f, 0.010363f, 0.015983f, 0.000976f, 0.025720f, 0.008142f, -0.044564f, -0.019766f, -0.011994f, -0.014298f, 0.005540f, -0.008691f, -0.021447f, -0.030580f, -0.049516f, -0.011720f, -0.027378f, -0.051037f, -0.076109f, 0.036998f, 0.039983f, 0.022933f, -0.050740f, -0.069989f, -0.053050f, -0.030720f, 0.012898f, -0.002711f, - -0.067397f, -0.040872f, -0.046080f, 0.065348f, 0.020823f, 0.028240f, -0.020347f, -0.037831f, 0.083702f, 0.020214f, 0.026340f, -0.016352f, 0.005272f, 0.024241f, -0.016720f, 0.019187f, -0.005816f, 0.039370f, 0.056492f, 0.002092f, -0.045013f, -0.036763f, 0.044807f, 0.030123f, 0.039285f, 0.010905f, 0.010081f, -0.020443f, -0.008509f, 0.006102f, 0.027530f, 0.058503f, -0.000206f, -0.110095f, -0.101460f, 0.001154f, -0.024580f, 0.065562f, 0.067290f, -0.074851f, -0.050092f, -0.031639f, 0.093066f, 0.082388f, -0.044521f, 0.012937f, -0.058391f, -0.056790f, 0.034712f, -0.026259f, 0.000625f, -0.008923f, -0.040445f, 0.028844f, 0.030126f, 0.023530f, 0.094235f, -0.069098f, -0.018269f, -0.006595f, 0.024351f, 0.007442f, 0.038918f, -0.137722f, -0.079680f, 0.028593f, 0.043404f, 0.042436f, 0.012342f, -0.045569f, -0.046174f, 0.000657f, 0.027675f, 0.079352f, 0.019553f, -0.026587f, 0.008365f, -0.051592f, 0.032143f, 0.027689f, 0.001813f, 0.044405f, 0.095607f, 0.022799f, -0.069864f, -0.036834f, -0.004809f, 0.007948f, 0.046225f, 0.039959f, 0.019115f, -0.021193f, -0.008483f, -0.014628f, -0.016451f, 0.041410f, - -0.004802f, 0.003723f, -0.016460f, 0.040153f, -0.018607f, -0.007842f, -0.001002f, 0.034832f, 0.015346f, 0.012331f, -0.007370f, -0.044030f, -0.015718f, 0.014176f, 0.035047f, 0.005946f, -0.048776f, -0.067747f, -0.056414f, -0.001467f, 0.008158f, 0.010315f, 0.006744f, -0.018579f, -0.014048f, 0.092221f, -0.061276f, 0.057599f, 0.057154f, 0.036743f, -0.133520f, -0.053431f, 0.044645f, -0.036126f, 0.025811f, -0.009381f, -0.055484f, 0.035650f, 0.010638f, 0.010735f, -0.024548f, -0.088198f, -0.008418f, -0.002535f, 0.000296f, -0.012451f, -0.064413f, 0.048288f, -0.039818f, 0.082355f, -0.008714f, -0.007019f, 0.040000f, 0.029979f, -0.039333f, -0.003475f, -0.029783f, 0.044088f, 0.069140f, 0.052826f, -0.058384f, 0.013258f, -0.039082f, 0.035383f, -0.033951f, -0.013745f, 0.005738f, -0.002790f, 0.037564f, -0.034356f, -0.081052f, 0.021024f, -0.029012f, 0.030444f, 0.031563f, -0.102344f, -0.017433f, -0.019364f, 0.003711f, 0.113736f, -0.030646f, -0.082434f, -0.021989f, 0.072366f, 0.034616f, -0.044547f, -0.014719f, 0.044972f, -0.000221f, 0.055477f, -0.083166f, -0.043698f, 0.049991f, -0.051971f, -0.126784f, -0.037175f, - -0.017315f, 0.144862f, -0.039501f, -0.074505f, 0.039721f, -0.085982f, 0.227393f, 0.021768f, -0.211347f, -0.056027f, -0.037358f, 0.150227f, 0.081151f, -0.094048f, -0.049818f, -0.000978f, 0.110800f, 0.088646f, -0.013835f, -0.069247f, 0.027187f, -0.023253f, 0.099918f, -0.009414f, -0.050271f, -0.041307f, 0.065432f, -0.052139f, 0.033875f, -0.100087f, -0.000519f, -0.003560f, -0.005916f, -0.005603f, 0.021026f, -0.055269f, 0.053734f, 0.004766f, 0.039390f, 0.001901f, -0.063465f, -0.048378f, 0.036024f, 0.043038f, 0.067029f, 0.025375f, -0.006930f, -0.043487f, 0.005755f, 0.011238f, -0.011659f, 0.003213f, 0.043898f, 0.007194f, -0.002179f, -0.049772f, 0.009547f, 0.035961f, 0.013057f, 0.001828f, -0.014760f, -0.035685f, -0.039613f, -0.018379f, 0.012095f, -0.011693f, 0.017510f, -0.016509f, -0.010076f, 0.006794f, 0.001318f, 0.000530f, -0.122044f, 0.034196f, -0.001911f, 0.041683f, 0.100987f, 0.032328f, 0.013938f, -0.056929f, -0.023572f, -0.056893f, -0.068070f, -0.022835f, 0.013426f, 0.038907f, 0.051550f, -0.005795f, 0.029998f, 0.036274f, -0.031573f, -0.064107f, 0.033988f, 0.012178f, -0.052046f, -0.017724f, - 0.049514f, -0.016859f, -0.005504f, 0.045254f, 0.025414f, 0.020105f, 0.006339f, 0.025717f, -0.024602f, -0.059552f, -0.025854f, 0.016941f, -0.024358f, -0.014092f, 0.021842f, 0.001440f, -0.041897f, 0.043688f, 0.009475f, -0.038858f, 0.005016f, -0.009396f, 0.037657f, 0.020918f, -0.015140f, 0.017647f, -0.023145f, -0.052209f, 0.007038f, 0.012679f, -0.004697f, 0.000101f, 0.011090f, -0.022821f, 0.007259f, -0.019544f, 0.011772f, 0.037211f, -0.003894f, 0.016252f, 0.017275f, -0.014421f, 0.000991f, -0.035558f, 0.012223f, 0.020937f, -0.064507f, 0.037465f, -0.040206f, 0.012677f, 0.001941f, -0.000211f, 0.017867f, 0.007182f, 0.042223f, 0.007667f, 0.011995f, -0.006116f, 0.021643f, -0.022686f, -0.014838f, 0.005196f, 0.003695f, -0.019855f, 0.007227f, -0.001797f, -0.005682f, -0.011480f, 0.004177f, -0.002286f, 0.022900f, -0.005873f, 0.002812f, 0.016307f, -0.011375f, 0.011322f, -0.006972f, 0.003955f, -0.011379f, -0.010034f, -0.011363f, -0.003040f, -0.005058f, 0.008599f, 0.006253f, -0.026766f, -0.007214f, -0.007841f, 0.018717f, -0.011063f, 0.007063f, 0.003169f, -0.029682f, 0.009881f, 0.019438f, 0.001240f, - -0.007152f, 0.003194f, -0.008647f, -0.004443f, 0.006522f, 0.098913f, -0.003678f, -0.003216f, -0.027527f, -0.026925f, 0.020260f, -0.001134f, 0.017524f, 0.000365f, -0.009752f, -0.013011f, 0.006602f, -0.018237f, 0.018442f, -0.017177f, 0.026913f, -0.021822f, 0.015636f, -0.018471f, -0.004231f, -0.002963f, -0.017335f, -0.013153f, 0.003777f, -0.007766f, -0.005559f, -0.000128f, -0.013073f, 0.001714f, -0.002700f, 0.004125f, -0.003177f, 0.007546f, -0.026096f, 0.023637f, -0.009027f, -0.007764f, 0.017781f, -0.014403f, 0.000814f, -0.017987f, -0.015887f, 0.011432f, 0.009939f, -0.012651f, -0.008318f, 0.005060f, -0.000978f, -0.022006f, 0.005459f, 0.003833f, -0.000189f, 0.014397f, -0.005530f, -0.006238f, -0.006107f, -0.015047f, -0.004268f, 0.015703f, -0.016937f, 0.004270f, -0.008314f, -0.002107f, 0.000874f, -0.005141f, 0.003489f, 0.000042f, 0.010798f, -0.016053f, -0.001595f, 0.010274f, -0.020874f, 0.011976f, -0.009526f, 0.000076f, 0.009214f, -0.004645f, -0.009643f, 0.004191f, -0.001903f, -0.002773f, -0.000936f, -0.006799f, -0.000411f, 0.006899f, -0.000705f, -0.003364f, 0.000968f, -0.005913f, 0.003771f, 0.002851f, - 0.001455f, -0.004800f, -0.001677f, 0.005949f, -0.008003f, 0.007612f, -0.003813f, 0.003250f, 0.008297f, -0.010440f, 0.002178f, 0.000581f, -0.013324f, 0.002251f, -0.004452f, 0.005244f, -0.002154f, 0.000265f, 0.007584f, -0.005339f, 0.001199f, -0.008525f, 0.001118f, 0.001068f, -0.002423f, -0.002171f, -0.001343f, -0.003175f, 0.000250f, -0.001685f, -0.000006f, 0.005651f, -0.008852f, 0.003552f, -0.046718f, -0.078058f, 0.028755f, 0.251287f, 0.062478f, 0.138695f, -0.005774f, -0.134514f, -0.044121f, -0.132365f, -0.113689f, -0.039788f, -0.027669f, -0.008984f, 0.074822f, 0.101237f, 0.133113f, 0.168867f, 0.072416f, -0.042909f, -0.078456f, -0.165310f, -0.157762f, -0.063920f, -0.052964f, -0.034817f, 0.067632f, 0.092969f, 0.055048f, 0.086213f, 0.102722f, 0.035129f, 0.027896f, 0.019513f, -0.053806f, -0.024343f, -0.038639f, -0.083126f, -0.046396f, -0.061701f, -0.092179f, -0.049721f, 0.011001f, 0.010071f, 0.050907f, 0.124646f, 0.084728f, 0.071069f, 0.068636f, 0.021481f, 0.004732f, -0.006832f, -0.036180f, -0.050854f, -0.065036f, -0.092206f, -0.082099f, -0.045457f, -0.014699f, -0.030981f, 0.025431f, 0.048172f, - 0.040369f, 0.070515f, 0.077974f, 0.050542f, 0.045206f, 0.044781f, -0.007285f, -0.021589f, -0.011318f, -0.063511f, -0.053160f, -0.013260f, -0.052618f, -0.055682f, -0.035753f, -0.050059f, -0.024775f, 0.014630f, 0.031844f, 0.058439f, 0.092939f, 0.058092f, 0.053291f, 0.059572f, 0.021635f, -0.006800f, -0.011123f, -0.031595f, -0.052994f, -0.054455f, -0.052461f, -0.056956f, -0.040081f, -0.036349f, -0.030707f, -0.012281f, 0.014016f, 0.035627f, 0.054508f, 0.082948f, 0.086779f, 0.085135f, 0.071844f, 0.023098f, -0.019057f, -0.038374f, -0.062485f, -0.082100f, -0.093307f, -0.092630f, -0.073822f, -0.041205f, -0.010149f, 0.025811f, 0.076111f, 0.085197f, 0.084826f, 0.089374f, 0.073439f, 0.039003f, 0.012099f, -0.020602f, -0.059629f, -0.082858f, -0.073582f, -0.068357f, -0.054282f, -0.024880f, 0.002107f, 0.020619f, 0.040883f, 0.046778f, 0.045625f, 0.036722f, 0.016384f, 0.007980f, 0.002913f, -0.006332f, -0.007831f, -0.007419f, -0.010400f, -0.012437f, -0.009999f, -0.013731f, -0.009563f, -0.007421f, -0.005408f, -0.006306f, -0.002197f, -0.000322f, 0.003895f, 0.004775f, 0.008732f, 0.010604f, 0.012854f, 0.009509f, - 0.009774f, 0.006668f, 0.004226f, -0.001498f, -0.003267f, -0.007084f, -0.007613f, -0.010960f, -0.010185f, -0.010065f, -0.007179f, -0.006394f, -0.001993f, 0.000697f, 0.004086f, 0.005616f, 0.009966f, 0.009592f, 0.010472f, 0.008158f, 0.006601f, 0.002497f, 0.001888f, -0.001791f, -0.002930f, -0.007874f, -0.010436f, -0.011516f, -0.008284f, -0.007299f, -0.002287f, 0.000072f, 0.002587f, 0.003098f, 0.005986f, 0.005604f, 0.007960f, 0.006718f, 0.007071f, 0.004303f, 0.002941f, -0.001629f, -0.003050f, -0.006411f, -0.006187f, -0.007034f, -0.005322f, -0.005806f, -0.002861f, -0.001784f, 0.001871f, 0.003162f, 0.005841f, 0.004967f, 0.005887f, 0.003301f, 0.002803f, -0.000114f, -0.000650f, -0.002305f, -0.001220f, -0.002748f, -0.001584f, -0.002690f, -0.001058f, -0.001733f, 0.000030f, -0.000653f, 0.000992f, 0.000069f, 0.001362f, 0.000145f, 0.001240f, -0.000027f, 0.001049f, -0.000304f, 0.000746f, -0.000540f, 0.000651f, -0.000572f, 0.000618f, -0.000583f} - }, - { - {0.005683f, 0.005921f, -0.005343f, -0.000801f, 0.008186f, 0.002853f, -0.004421f, 0.001019f, -0.004871f, -0.004106f, -0.003522f, -0.007326f, -0.002709f, 0.004664f, -0.000488f, 0.002638f, -0.001378f, -0.001990f, -0.002186f, -0.000782f, 0.006139f, -0.003833f, 0.000269f, -0.000160f, 0.000153f, 0.005091f, -0.000285f, 0.003541f, 0.010773f, 0.008618f, 0.008422f, 0.004550f, 0.001819f, -0.001257f, -0.010192f, 0.004257f, -0.003879f, 0.006582f, 0.002172f, -0.003297f, 0.002921f, -0.004375f, -0.008850f, -0.002569f, -0.003494f, -0.008146f, 0.000233f, -0.000894f, -0.001301f, -0.003752f, 0.000407f, 0.008751f, 0.003707f, 0.005986f, -0.000210f, 0.003728f, -0.003492f, -0.000122f, 0.004394f, -0.003607f, 0.002904f, -0.004501f, -0.005038f, 0.000622f, 0.010040f, 0.006814f, 0.003781f, -0.001856f, 0.001579f, 0.001211f, 0.000469f, -0.001712f, -0.004020f, -0.005844f, -0.004445f, 0.000256f, -0.003823f, -0.001731f, -0.004107f, 0.001442f, 0.000489f, 0.002184f, -0.001296f, 0.001818f, 0.002280f, 0.002094f, 0.000138f, 0.001359f, -0.001037f, -0.000874f, -0.000152f, -0.002363f, 0.002497f, 0.002269f, -0.000372f, 0.002834f, - 0.000679f, 0.000665f, -0.001347f, -0.000654f, -0.001688f, 0.000640f, 0.000756f, 0.000090f, -0.000617f, 0.001056f, -0.000724f, -0.002186f, -0.000775f, -0.001424f, -0.000217f, 0.000570f, 0.000445f, -0.002296f, 0.000307f, 0.001653f, 0.003715f, 0.001927f, -0.006444f, 0.015210f, -0.000337f, 0.000931f, -0.001618f, -0.008013f, 0.005925f, -0.004173f, -0.004018f, -0.009338f, -0.007214f, -0.003016f, 0.005801f, 0.008366f, -0.001695f, 0.004956f, -0.001926f, 0.009077f, 0.009397f, -0.018749f, 0.003434f, 0.000108f, -0.001841f, 0.006370f, 0.009987f, -0.003061f, -0.001457f, 0.000224f, -0.000614f, -0.004746f, 0.003928f, -0.004784f, -0.003797f, -0.000364f, 0.005008f, -0.002805f, -0.010553f, -0.004665f, -0.007172f, 0.000869f, 0.000643f, -0.009341f, -0.001108f, -0.004059f, 0.001950f, -0.000247f, -0.001409f, 0.002337f, -0.003117f, 0.003214f, -0.005016f, 0.004964f, 0.007221f, 0.011115f, 0.004609f, -0.004801f, 0.003979f, 0.004689f, -0.001731f, -0.012498f, 0.000829f, 0.006574f, -0.005027f, 0.003812f, -0.007259f, -0.000035f, -0.004627f, -0.012691f, -0.003868f, -0.006612f, 0.003243f, 0.004788f, -0.004284f, 0.002084f, - -0.002005f, 0.006069f, 0.000488f, 0.003580f, 0.005055f, -0.002088f, 0.002097f, 0.001083f, 0.002145f, 0.004401f, -0.000998f, 0.001533f, 0.005440f, 0.003150f, 0.000748f, 0.003307f, 0.000597f, 0.001472f, -0.000210f, 0.000001f, -0.002929f, 0.001647f, 0.001878f, 0.002538f, 0.001696f, 0.000634f, 0.000808f, 0.000162f, 0.000952f, -0.000302f, -0.000809f, -0.000143f, 0.002012f, 0.001770f, 0.000533f, 0.001597f, 0.000373f, 0.001836f, 0.001512f, 0.012514f, 0.003333f, -0.016832f, 0.005932f, 0.008750f, 0.003097f, -0.001391f, 0.004338f, -0.010546f, 0.001429f, 0.004787f, -0.002451f, 0.004633f, -0.000795f, 0.005629f, 0.001269f, -0.007090f, 0.004436f, 0.006636f, 0.006407f, -0.001801f, 0.003026f, 0.003625f, 0.002390f, -0.019055f, 0.002621f, -0.008060f, -0.002477f, -0.002621f, 0.004406f, 0.002160f, -0.015684f, -0.005536f, -0.003563f, -0.002875f, 0.006291f, -0.005725f, -0.010991f, 0.002790f, 0.005009f, 0.003252f, -0.010933f, -0.005019f, 0.003430f, -0.010169f, -0.000883f, -0.011246f, 0.001614f, 0.005663f, -0.005865f, -0.001668f, 0.006443f, 0.008369f, -0.019329f, -0.001323f, -0.005401f, 0.005945f, - 0.002349f, 0.001067f, 0.001627f, -0.005322f, 0.004872f, 0.004356f, -0.015012f, 0.011613f, -0.001578f, 0.002942f, -0.007674f, -0.003084f, -0.006494f, -0.000693f, 0.001654f, -0.005882f, -0.008350f, 0.007502f, -0.002708f, 0.003160f, -0.000436f, -0.001388f, 0.002121f, 0.002626f, -0.003055f, -0.007580f, 0.004271f, 0.004005f, 0.000976f, 0.001924f, -0.000253f, 0.000703f, 0.001276f, 0.000062f, 0.001274f, 0.001018f, -0.000177f, 0.003085f, 0.000421f, 0.002394f, 0.002699f, 0.000280f, 0.003806f, 0.000024f, 0.000751f, 0.001153f, 0.001714f, 0.001498f, 0.001905f, -0.002714f, 0.001307f, -0.001160f, 0.000593f, 0.001395f, 0.000945f, 0.002371f, -0.000745f, -0.000539f, 0.001703f, 0.003200f, -0.007953f, -0.007795f, -0.006168f, -0.004188f, 0.012803f, -0.004581f, 0.001890f, -0.010431f, 0.011053f, 0.000563f, -0.007209f, -0.002107f, 0.006475f, -0.013307f, 0.004631f, -0.004042f, 0.003133f, 0.001960f, -0.005846f, -0.004432f, -0.015462f, -0.004369f, -0.017434f, 0.002121f, 0.004143f, -0.002048f, -0.002220f, -0.001767f, 0.002835f, -0.007049f, -0.012374f, -0.005990f, -0.004440f, -0.002094f, 0.004787f, -0.003047f, - 0.007653f, 0.003164f, 0.005908f, -0.007933f, -0.000258f, -0.000540f, -0.006324f, 0.001653f, 0.005310f, -0.000661f, -0.003061f, -0.007778f, -0.006869f, 0.004599f, 0.007290f, -0.000381f, 0.014255f, 0.011007f, -0.009889f, -0.002715f, 0.000215f, -0.010783f, -0.011977f, 0.018240f, -0.000109f, 0.000357f, 0.005959f, -0.011833f, -0.003651f, -0.007717f, 0.018353f, 0.004761f, 0.001139f, -0.014605f, -0.011285f, 0.001399f, -0.004534f, 0.009240f, -0.004616f, -0.000247f, 0.002774f, -0.005818f, 0.002262f, 0.005522f, -0.008303f, -0.000047f, -0.013361f, 0.001341f, 0.005315f, -0.004059f, 0.002192f, 0.001492f, 0.006864f, -0.001092f, 0.001283f, -0.001451f, -0.000041f, 0.002744f, 0.003177f, 0.002630f, -0.001829f, 0.000749f, 0.000089f, 0.001108f, 0.000317f, 0.001084f, -0.001754f, 0.004151f, 0.000268f, 0.001097f, 0.000881f, 0.001223f, 0.001241f, 0.001109f, -0.000904f, -0.001237f, -0.000726f, 0.000818f, 0.003117f, 0.003261f, 0.000848f, 0.001412f, -0.002542f, -0.001137f, -0.021142f, 0.010551f, 0.006091f, 0.010761f, -0.005733f, 0.005871f, 0.006285f, 0.011063f, 0.002718f, -0.021238f, 0.005375f, 0.000856f, - 0.008505f, 0.015317f, 0.000896f, 0.006622f, 0.005938f, -0.012737f, 0.004546f, 0.001123f, 0.001848f, -0.003498f, -0.001670f, 0.007822f, 0.005310f, 0.000272f, -0.007664f, -0.000141f, -0.003606f, -0.004063f, 0.012787f, 0.005818f, -0.000432f, -0.001743f, -0.015232f, -0.013196f, -0.014960f, 0.003966f, 0.004176f, -0.015654f, 0.001214f, 0.001018f, -0.015365f, 0.000935f, 0.002498f, -0.002106f, 0.017894f, -0.002229f, -0.008629f, -0.002235f, 0.010326f, -0.000880f, -0.015728f, 0.017182f, 0.009035f, -0.010986f, 0.008496f, 0.001637f, 0.001729f, -0.000315f, 0.001086f, -0.004283f, -0.007834f, -0.007557f, 0.013885f, -0.000941f, -0.003894f, -0.000665f, 0.010024f, -0.009193f, -0.016066f, 0.000558f, 0.003819f, 0.003016f, -0.014024f, -0.007352f, 0.005585f, -0.001292f, 0.008050f, 0.002999f, -0.002376f, -0.002382f, -0.002023f, -0.001139f, 0.000418f, 0.012566f, 0.007474f, 0.004537f, 0.004171f, 0.004852f, 0.007472f, -0.003507f, -0.001019f, -0.003973f, -0.001056f, 0.001390f, 0.000517f, -0.002198f, -0.003385f, 0.003697f, 0.000724f, 0.001668f, 0.000102f, -0.002258f, 0.000974f, 0.001958f, -0.004307f, -0.000753f, - 0.003752f, 0.000783f, 0.000385f, -0.001633f, -0.000317f, -0.001056f, -0.001763f, 0.000495f, 0.001999f, 0.001467f, -0.001124f, 0.001498f, 0.000317f, 0.006438f, 0.024440f, 0.007339f, 0.019590f, -0.021561f, 0.000775f, -0.010624f, 0.000289f, 0.007215f, 0.008214f, -0.011061f, 0.004792f, -0.006391f, -0.005751f, -0.007678f, -0.012609f, -0.001804f, -0.029620f, -0.000245f, 0.009698f, -0.001267f, -0.002076f, 0.003286f, -0.015573f, 0.005494f, -0.014855f, -0.004634f, 0.015164f, 0.003120f, 0.005189f, 0.000395f, 0.004414f, 0.013022f, 0.011682f, 0.022664f, 0.011685f, -0.017083f, -0.001499f, 0.019097f, -0.002743f, -0.013922f, -0.002196f, 0.001799f, -0.006451f, 0.012804f, 0.009392f, -0.010946f, -0.003283f, 0.012280f, 0.012963f, -0.004615f, -0.008366f, 0.020699f, -0.008597f, -0.027837f, -0.018909f, 0.006169f, -0.028109f, -0.000531f, -0.008471f, 0.000165f, -0.002682f, -0.007808f, 0.010419f, 0.003029f, -0.002824f, -0.009136f, 0.007935f, -0.005463f, 0.014780f, 0.010181f, -0.004145f, -0.009829f, 0.002032f, 0.003912f, 0.001299f, 0.000582f, 0.003429f, -0.002028f, -0.011013f, -0.003142f, 0.015128f, -0.001738f, - -0.006275f, -0.001622f, -0.003284f, -0.007841f, -0.007727f, -0.004214f, -0.003759f, 0.000925f, -0.000160f, 0.007644f, -0.000755f, -0.002727f, 0.000979f, 0.002747f, -0.001922f, 0.001612f, -0.002714f, 0.005202f, -0.000259f, 0.003202f, 0.000382f, -0.004965f, -0.000600f, -0.000522f, -0.005332f, -0.001394f, -0.003283f, 0.002403f, 0.000059f, -0.000789f, 0.001701f, 0.000826f, -0.000623f, 0.000952f, -0.005956f, 0.001290f, 0.001625f, -0.023812f, 0.011261f, -0.002024f, 0.005995f, 0.008003f, 0.012877f, 0.002983f, -0.011391f, 0.015515f, -0.005778f, 0.006952f, -0.006933f, 0.005806f, -0.001077f, -0.027988f, -0.005843f, -0.004720f, -0.003331f, 0.002005f, -0.006769f, -0.004553f, 0.003726f, 0.006243f, 0.002099f, 0.015246f, 0.006971f, -0.014577f, -0.001105f, 0.000114f, -0.008280f, 0.017528f, -0.010457f, -0.010004f, 0.018345f, 0.019428f, -0.002427f, -0.000145f, -0.012064f, 0.004424f, 0.002598f, -0.006201f, 0.003192f, 0.012062f, 0.007381f, 0.014489f, -0.003605f, -0.011237f, 0.007019f, 0.001761f, 0.003441f, -0.013410f, -0.007009f, -0.007848f, 0.003158f, 0.007796f, 0.002805f, 0.002142f, 0.013824f, 0.016670f, - 0.002455f, -0.007813f, 0.009423f, 0.007811f, -0.011722f, 0.001706f, 0.002005f, -0.001266f, 0.001341f, -0.000196f, 0.009882f, -0.001013f, -0.007766f, 0.004016f, 0.013034f, 0.005875f, 0.007640f, 0.016253f, -0.011066f, 0.002039f, -0.003787f, 0.015425f, 0.008765f, 0.016515f, -0.007953f, -0.002040f, 0.002701f, -0.005783f, 0.000820f, 0.001682f, -0.001904f, 0.000077f, 0.003774f, 0.004463f, -0.001691f, 0.002466f, 0.001668f, 0.005769f, 0.004993f, -0.000617f, -0.000469f, -0.002508f, 0.000685f, -0.002528f, 0.001317f, -0.004496f, 0.004465f, -0.000019f, -0.001797f, -0.000013f, -0.000432f, 0.000236f, -0.001657f, -0.003492f, 0.004967f, -0.000575f, 0.000778f, -0.005557f, -0.004658f, -0.001188f, 0.004765f, -0.000462f, -0.000574f, 0.000520f, -0.000618f, 0.009950f, -0.020707f, -0.012427f, 0.008268f, -0.004872f, -0.019341f, 0.009831f, -0.010110f, -0.008866f, 0.012514f, -0.003808f, -0.004114f, -0.003118f, 0.003244f, 0.009233f, 0.004825f, 0.004959f, 0.005140f, -0.007724f, -0.004586f, -0.001625f, 0.011276f, 0.005778f, -0.019767f, 0.006283f, 0.006192f, -0.008317f, 0.018638f, 0.017062f, 0.009213f, 0.000643f, - -0.006740f, -0.004400f, 0.001023f, -0.005824f, -0.006938f, -0.011482f, 0.001689f, -0.013108f, 0.009525f, 0.003634f, 0.000140f, 0.002054f, 0.005038f, 0.004321f, 0.010195f, 0.015855f, -0.005992f, -0.025163f, -0.004360f, -0.017142f, 0.005926f, 0.002356f, -0.022743f, 0.008246f, -0.009534f, 0.028576f, 0.009513f, -0.018022f, -0.000594f, 0.018177f, 0.009507f, -0.014924f, -0.008858f, 0.019017f, 0.010951f, -0.013225f, 0.016278f, -0.013573f, -0.017863f, 0.002757f, -0.027058f, 0.016334f, 0.017606f, -0.004044f, -0.016278f, -0.002934f, 0.006431f, 0.003305f, 0.002755f, 0.001633f, 0.012626f, -0.017717f, 0.005725f, 0.019715f, 0.000356f, 0.000673f, -0.017350f, 0.008639f, 0.004880f, -0.016050f, -0.003977f, -0.008107f, -0.003811f, 0.000625f, 0.005045f, 0.004009f, 0.000596f, -0.004837f, 0.000519f, -0.005183f, 0.002172f, 0.003072f, -0.000631f, -0.002513f, -0.001699f, 0.003151f, 0.001033f, -0.001025f, -0.002677f, -0.005177f, -0.000558f, -0.005055f, 0.010097f, -0.009447f, 0.000006f, -0.001013f, 0.003893f, 0.002590f, -0.005401f, 0.001643f, -0.001649f, 0.008546f, -0.001040f, 0.002405f, 0.000291f, -0.004938f, - 0.002050f, 0.001022f, -0.000582f, 0.005523f, -0.000087f, -0.016212f, -0.012025f, 0.000418f, -0.019531f, 0.000093f, -0.045886f, -0.014399f, -0.005294f, -0.025023f, -0.008797f, -0.005209f, -0.011008f, -0.008454f, 0.005965f, -0.012038f, -0.022951f, 0.006151f, 0.014380f, -0.023382f, -0.006489f, 0.007267f, 0.011750f, 0.020257f, 0.012893f, 0.011953f, 0.013052f, 0.004772f, 0.023140f, -0.013721f, -0.005898f, 0.004953f, -0.011455f, 0.004412f, 0.006560f, 0.012172f, 0.001595f, 0.019869f, 0.004166f, 0.004942f, 0.013685f, -0.005986f, -0.011723f, 0.000270f, -0.017975f, -0.011439f, -0.020747f, -0.000807f, -0.000943f, -0.027226f, 0.009854f, -0.012300f, 0.005600f, -0.025710f, 0.003102f, -0.019441f, 0.029124f, 0.001529f, -0.025923f, 0.031199f, 0.038156f, 0.010775f, -0.012759f, -0.009404f, 0.009921f, -0.003254f, -0.001233f, 0.011335f, -0.018184f, 0.011934f, -0.018779f, 0.010028f, -0.007469f, -0.010529f, 0.004515f, 0.010073f, -0.005405f, -0.000510f, 0.011773f, 0.003146f, -0.005763f, 0.006676f, -0.002870f, -0.010695f, 0.001447f, 0.010123f, -0.001899f, -0.003905f, 0.004030f, 0.002993f, 0.008227f, 0.001709f, - 0.000317f, 0.003600f, -0.002710f, 0.005782f, 0.001483f, 0.004802f, 0.001677f, 0.003830f, 0.003081f, 0.003138f, 0.002510f, -0.003433f, 0.003990f, -0.004643f, -0.004330f, 0.000501f, 0.002637f, 0.000923f, 0.001347f, 0.002908f, 0.001925f, 0.000294f, -0.001475f, -0.003472f, 0.000098f, -0.003654f, 0.010009f, -0.004867f, 0.009028f, 0.013631f, 0.001841f, 0.012591f, -0.007184f, 0.019599f, -0.015275f, -0.013948f, -0.037221f, -0.008099f, -0.019373f, -0.045092f, 0.011198f, -0.025946f, -0.015991f, -0.020895f, 0.005621f, -0.040612f, 0.010745f, 0.003446f, -0.007979f, -0.000791f, -0.011873f, -0.004027f, 0.009612f, -0.013773f, -0.010055f, 0.000643f, 0.007289f, -0.012038f, -0.001101f, 0.014032f, -0.022515f, -0.005074f, 0.012886f, -0.012314f, -0.000919f, 0.000211f, -0.003697f, 0.018989f, -0.016685f, 0.011314f, -0.007679f, 0.015461f, 0.016054f, -0.016410f, -0.022197f, 0.020710f, -0.002389f, 0.004582f, 0.005230f, 0.001943f, -0.004891f, 0.011701f, -0.006454f, -0.025398f, 0.006490f, 0.005279f, -0.022240f, -0.002380f, -0.008063f, 0.013358f, 0.015996f, 0.008085f, 0.002565f, -0.006270f, -0.015846f, 0.016139f, - 0.009768f, 0.014444f, -0.001145f, -0.022526f, -0.005445f, -0.003325f, -0.010027f, -0.005489f, -0.002792f, 0.006618f, 0.009920f, -0.008649f, -0.007576f, -0.022382f, -0.010818f, 0.004423f, 0.009121f, 0.002592f, -0.002052f, 0.010379f, 0.009556f, 0.005893f, 0.011768f, -0.003572f, 0.009200f, 0.004325f, 0.006251f, 0.001167f, -0.000054f, -0.006106f, -0.004863f, -0.001047f, 0.002882f, -0.001384f, -0.005394f, -0.006516f, -0.000334f, -0.000998f, 0.001277f, -0.004402f, 0.000955f, -0.005267f, 0.001581f, 0.009053f, 0.001933f, -0.005042f, -0.005365f, 0.011498f, 0.006409f, -0.001316f, -0.000768f, -0.014331f, -0.001707f, -0.000072f, -0.012285f, 0.000411f, -0.005020f, -0.003687f, 0.002845f, 0.003903f, 0.000863f, -0.001299f, -0.011248f, 0.055163f, 0.031694f, 0.002220f, -0.017580f, -0.041593f, -0.005185f, 0.019488f, -0.009232f, -0.016744f, -0.031363f, -0.001726f, -0.006849f, 0.001111f, -0.010827f, 0.010127f, -0.000278f, 0.027318f, 0.010688f, -0.011369f, -0.000913f, -0.004848f, 0.001959f, -0.005606f, 0.005533f, 0.016944f, -0.019928f, 0.003863f, -0.012052f, 0.007905f, -0.008617f, -0.014422f, -0.028350f, -0.002254f, - 0.016054f, 0.005447f, -0.003640f, 0.005992f, -0.002205f, 0.015447f, 0.024279f, -0.008482f, -0.005670f, -0.028227f, -0.030745f, 0.008498f, 0.004434f, -0.012928f, -0.011314f, -0.025416f, -0.017600f, 0.010108f, -0.003411f, 0.000074f, 0.001185f, -0.001943f, 0.011517f, 0.006679f, -0.021056f, 0.000904f, -0.019199f, -0.001634f, -0.010408f, -0.005901f, 0.020164f, 0.041821f, 0.068739f, 0.002622f, 0.022039f, -0.020746f, -0.026567f, -0.037151f, -0.002066f, -0.000099f, 0.007432f, 0.007908f, -0.005191f, -0.046969f, 0.019405f, -0.007960f, -0.006593f, 0.002987f, -0.012428f, 0.001449f, -0.006805f, -0.019116f, 0.000138f, -0.007632f, 0.000078f, 0.001944f, 0.000631f, 0.013630f, 0.001872f, 0.001585f, -0.000833f, 0.000599f, -0.000671f, 0.005876f, 0.012717f, 0.003830f, -0.000555f, 0.002781f, 0.011522f, 0.000359f, 0.000047f, 0.004417f, -0.003948f, 0.001488f, -0.010723f, 0.003681f, 0.005465f, -0.009939f, 0.010120f, 0.000666f, 0.000794f, -0.002906f, -0.011207f, -0.003527f, 0.004888f, 0.000108f, -0.001218f, -0.002715f, 0.006724f, -0.001857f, 0.000425f, 0.020132f, 0.033572f, -0.016605f, 0.000068f, 0.006449f, - -0.027372f, 0.000252f, -0.017670f, -0.017131f, 0.025796f, -0.007592f, -0.006469f, -0.013863f, 0.029625f, 0.026027f, -0.000002f, 0.042762f, 0.004817f, 0.013354f, 0.009417f, -0.011924f, -0.013961f, -0.022261f, -0.011718f, 0.005212f, 0.000212f, 0.019162f, 0.001496f, -0.002093f, -0.003487f, 0.013540f, -0.019570f, -0.047834f, -0.016767f, 0.014105f, 0.004426f, -0.003933f, -0.014249f, 0.000847f, -0.023011f, -0.003461f, -0.020964f, -0.001453f, -0.002624f, -0.014777f, 0.014162f, 0.007030f, 0.026899f, -0.022221f, 0.041668f, 0.011182f, -0.008105f, -0.014751f, -0.007571f, 0.006560f, 0.024038f, -0.007402f, 0.013754f, -0.021243f, 0.017165f, -0.019292f, -0.021703f, 0.021398f, -0.031041f, 0.020341f, 0.017097f, 0.033017f, -0.033621f, 0.025547f, -0.003187f, 0.022775f, 0.008900f, -0.035345f, -0.006180f, -0.008312f, 0.009857f, -0.018760f, 0.055636f, -0.002749f, -0.019637f, 0.007879f, 0.025715f, 0.017452f, 0.012047f, 0.013264f, -0.001752f, 0.006312f, -0.002272f, -0.007388f, -0.004689f, 0.001946f, -0.000243f, -0.007331f, 0.002104f, -0.002165f, -0.011281f, -0.002362f, -0.004306f, 0.004729f, 0.005955f, 0.003223f, - -0.001554f, 0.010965f, -0.001780f, 0.006060f, 0.002436f, 0.007752f, 0.002926f, -0.003947f, -0.004885f, 0.001311f, -0.000580f, 0.005336f, -0.002168f, 0.000491f, 0.004553f, -0.002778f, 0.007796f, -0.003708f, -0.004296f, 0.002150f, -0.003220f, 0.008110f, 0.002951f, -0.002413f, 0.004898f, 0.002401f, -0.023262f, -0.031192f, -0.063899f, -0.019615f, -0.037520f, 0.010461f, -0.001708f, -0.012780f, -0.018580f, -0.017686f, -0.015985f, -0.017322f, -0.016969f, 0.001784f, -0.013833f, -0.002489f, -0.030073f, -0.046147f, 0.056546f, -0.017616f, 0.030643f, -0.005853f, 0.007916f, 0.009766f, 0.016522f, 0.010898f, -0.002879f, -0.000923f, -0.024407f, -0.005517f, -0.005803f, -0.016412f, -0.025595f, 0.010005f, -0.002883f, 0.036197f, -0.025053f, 0.000671f, 0.050072f, -0.012061f, -0.041593f, -0.013413f, 0.001658f, -0.018848f, 0.029302f, 0.013471f, -0.016080f, 0.011893f, 0.015747f, -0.009692f, -0.000313f, 0.007921f, 0.019595f, -0.000720f, -0.019282f, -0.018979f, 0.023452f, 0.016772f, -0.012307f, -0.026705f, 0.017062f, 0.019743f, -0.017598f, -0.024027f, 0.016862f, -0.030473f, 0.058355f, 0.012564f, -0.004752f, 0.002393f, - 0.014286f, 0.003235f, -0.010256f, 0.000961f, 0.004210f, 0.020968f, -0.013729f, 0.004212f, -0.041437f, -0.037322f, -0.004155f, 0.002248f, -0.004054f, -0.018104f, 0.013216f, 0.030856f, -0.000838f, 0.007925f, -0.002871f, 0.006613f, 0.009351f, 0.011149f, -0.011892f, 0.013401f, -0.006149f, -0.003529f, 0.008895f, 0.016495f, -0.004826f, -0.016497f, 0.004750f, -0.001494f, 0.002799f, -0.001472f, -0.008820f, -0.002429f, -0.009115f, -0.005642f, -0.011259f, 0.011680f, 0.011970f, -0.007108f, 0.000039f, 0.014368f, 0.004602f, -0.006022f, 0.003061f, 0.017995f, 0.011866f, 0.012994f, 0.013110f, 0.011581f, 0.004354f, 0.016510f, 0.008758f, 0.006919f, 0.006188f, 0.015545f, -0.024191f, 0.000216f, 0.008767f, 0.007016f, -0.015877f, 0.038169f, 0.026678f, 0.054871f, 0.030104f, 0.020572f, 0.007834f, -0.047590f, -0.004012f, 0.006759f, -0.028247f, -0.007250f, 0.054018f, 0.004421f, -0.031412f, -0.030644f, 0.027968f, -0.042319f, -0.011102f, 0.002181f, 0.011376f, 0.005217f, -0.008159f, 0.014170f, -0.019266f, 0.000312f, -0.003910f, -0.011767f, -0.002680f, -0.008070f, -0.027830f, 0.015043f, -0.024113f, 0.014536f, - 0.012620f, 0.016869f, 0.003004f, 0.011328f, -0.010059f, 0.045416f, 0.006065f, -0.047341f, -0.041976f, 0.004306f, 0.018893f, 0.037033f, -0.012015f, -0.028225f, -0.012670f, -0.003313f, 0.004182f, 0.021978f, 0.004735f, -0.016427f, 0.049552f, -0.060136f, -0.010024f, 0.012027f, -0.042120f, -0.021306f, -0.011013f, 0.006805f, -0.068281f, -0.031803f, 0.049081f, -0.017971f, 0.014419f, -0.015314f, -0.055086f, -0.020284f, 0.026728f, -0.007530f, 0.010509f, 0.017552f, 0.035081f, -0.015998f, 0.004020f, -0.009784f, 0.022049f, 0.010574f, 0.009610f, 0.002062f, -0.000663f, 0.001246f, 0.019268f, 0.010454f, 0.011501f, -0.002267f, -0.000183f, 0.007747f, -0.012513f, -0.010998f, 0.005362f, 0.022766f, 0.010639f, 0.009291f, -0.021228f, 0.013408f, 0.040623f, 0.000541f, -0.000105f, -0.014722f, 0.011268f, 0.002553f, -0.009015f, -0.011792f, 0.002071f, 0.012719f, 0.014394f, 0.010910f, -0.012064f, 0.009182f, -0.007940f, 0.010327f, -0.015628f, -0.008042f, -0.002787f, -0.007646f, -0.009981f, -0.002358f, -0.025673f, -0.024016f, 0.004599f, -0.000936f, -0.003578f, 0.009724f, 0.000246f, -0.001530f, 0.000807f, 0.010545f, - 0.009289f, 0.003740f, 0.000141f, 0.005194f, 0.005944f, 0.004553f, 0.007133f, -0.001814f, 0.009709f, 0.027133f, -0.011271f, -0.088868f, -0.022226f, 0.004291f, 0.025207f, 0.023457f, 0.022429f, 0.021385f, 0.040251f, 0.070785f, -0.040362f, 0.029261f, -0.009801f, -0.001971f, -0.009945f, -0.059359f, -0.043279f, -0.009032f, -0.002065f, 0.011907f, 0.023602f, 0.029411f, -0.008866f, -0.001696f, -0.014887f, -0.000572f, -0.002154f, -0.001001f, 0.031682f, 0.015910f, 0.011000f, 0.023174f, 0.028921f, -0.050291f, 0.025241f, -0.029523f, -0.035907f, -0.011526f, 0.024286f, 0.006084f, -0.024020f, 0.007446f, 0.003687f, 0.016958f, -0.000986f, -0.048899f, -0.033814f, -0.040676f, -0.039060f, 0.004485f, 0.033667f, -0.006902f, 0.120090f, -0.078780f, -0.058079f, 0.035193f, -0.009761f, -0.024700f, -0.007301f, -0.007302f, 0.002084f, -0.073872f, 0.008499f, -0.006159f, 0.010844f, 0.055081f, -0.003098f, 0.018726f, 0.022420f, 0.025824f, 0.092674f, -0.034946f, 0.116976f, 0.031454f, -0.002300f, 0.014430f, 0.007534f, -0.048570f, -0.041406f, -0.001629f, -0.009484f, 0.005097f, 0.018845f, 0.013404f, -0.007360f, -0.041775f, - -0.032808f, 0.012631f, -0.021829f, 0.013948f, 0.017109f, 0.035376f, 0.036098f, 0.031387f, 0.007204f, 0.010402f, 0.000454f, -0.002422f, 0.024710f, -0.004755f, -0.001134f, 0.006787f, -0.033429f, -0.009000f, 0.015496f, -0.000832f, -0.002493f, 0.021114f, 0.009296f, -0.032831f, 0.023103f, -0.018713f, -0.023971f, -0.014748f, -0.006703f, 0.005415f, 0.011464f, 0.010106f, -0.012271f, 0.014962f, 0.007732f, 0.009348f, 0.005539f, 0.012561f, -0.004382f, 0.007290f, -0.019580f, -0.005102f, -0.010208f, 0.003668f, 0.008407f, -0.052155f, 0.018812f, 0.084141f, 0.002163f, 0.087807f, 0.045986f, -0.005085f, -0.034047f, 0.099020f, 0.014625f, -0.016415f, 0.012590f, -0.022287f, -0.006809f, -0.003168f, -0.006237f, 0.012689f, 0.027422f, 0.019424f, 0.003500f, 0.012896f, -0.019966f, -0.018966f, 0.005879f, -0.005633f, 0.032380f, 0.035447f, 0.022333f, -0.008833f, 0.002148f, -0.042602f, -0.026939f, -0.007728f, -0.029444f, -0.046093f, -0.027622f, 0.022299f, -0.026929f, -0.081465f, -0.037791f, 0.025191f, -0.033004f, -0.023057f, 0.001191f, -0.005770f, 0.038476f, 0.056760f, 0.074326f, -0.039092f, 0.021189f, -0.000315f, - 0.002529f, -0.015731f, -0.049018f, -0.097772f, -0.064421f, 0.034289f, -0.065263f, -0.034031f, 0.018004f, 0.033512f, -0.024048f, 0.037767f, 0.107688f, 0.022932f, 0.021045f, -0.080940f, -0.108721f, -0.023273f, -0.033667f, -0.057799f, -0.016328f, -0.048219f, 0.034963f, 0.020102f, 0.097750f, 0.040554f, -0.010959f, -0.019313f, -0.033503f, 0.023454f, 0.044645f, 0.088700f, 0.062128f, -0.042049f, -0.088787f, -0.043105f, -0.028035f, -0.052316f, -0.009410f, 0.045465f, 0.022024f, 0.056134f, 0.002859f, 0.040064f, 0.016249f, -0.012357f, -0.016158f, -0.018590f, 0.011276f, 0.024716f, 0.006557f, 0.032003f, 0.039788f, 0.024276f, 0.028547f, 0.013453f, 0.042967f, 0.037829f, 0.002144f, -0.000200f, 0.019207f, 0.042650f, -0.003489f, -0.010648f, -0.005647f, 0.036492f, 0.011702f, 0.002336f, -0.009970f, 0.023072f, 0.017941f, -0.004859f, 0.015037f, 0.018421f, 0.009573f, -0.003220f, 0.004704f, 0.013396f, 0.002393f, -0.000698f, -0.020263f, 0.043797f, 0.090123f, -0.048646f, 0.068479f, 0.052982f, -0.008066f, -0.015232f, -0.029669f, 0.007852f, 0.061097f, 0.043405f, 0.071523f, -0.032305f, -0.013424f, -0.015965f, - -0.003843f, -0.020594f, 0.019078f, -0.024960f, 0.052560f, 0.020542f, -0.085079f, -0.038536f, 0.001168f, 0.011227f, 0.037350f, -0.019295f, -0.031956f, 0.007942f, 0.010479f, -0.015431f, -0.015605f, 0.007911f, -0.023955f, -0.038982f, -0.016559f, 0.078880f, 0.033726f, 0.011907f, -0.040575f, -0.014986f, -0.034393f, 0.018514f, 0.039404f, 0.011374f, 0.002888f, 0.021301f, -0.013424f, 0.049636f, 0.029485f, 0.001240f, 0.017349f, -0.003713f, 0.102188f, 0.019227f, -0.043160f, 0.014746f, 0.017855f, 0.008304f, 0.023305f, -0.000514f, -0.041216f, 0.047257f, 0.011032f, 0.006551f, 0.019467f, 0.007062f, 0.000116f, -0.032347f, 0.035306f, 0.038117f, 0.020871f, 0.112954f, 0.081832f, -0.046010f, -0.088522f, -0.063996f, -0.005963f, 0.005785f, -0.008938f, -0.077347f, -0.037289f, -0.028694f, -0.030932f, -0.032882f, 0.028128f, 0.020003f, -0.007834f, 0.002723f, -0.006679f, -0.044215f, 0.012259f, -0.009753f, -0.002253f, -0.045279f, -0.041602f, -0.009467f, 0.017724f, 0.018708f, 0.002597f, 0.020066f, 0.009466f, 0.025822f, 0.004048f, 0.003562f, -0.047257f, -0.030090f, 0.020114f, 0.003480f, -0.013113f, 0.022769f, - 0.010480f, 0.002398f, -0.022793f, 0.019972f, 0.030149f, 0.019225f, 0.021849f, 0.025669f, -0.006219f, 0.028650f, 0.061385f, 0.046441f, 0.010821f, 0.004658f, -0.008021f, -0.012805f, -0.031789f, -0.042066f, 0.010285f, -0.015734f, -0.001002f, 0.002107f, -0.003304f, -0.011360f, -0.005601f, -0.015427f, -0.105254f, -0.012423f, 0.024636f, 0.030354f, -0.025137f, 0.037653f, 0.009929f, -0.013758f, -0.040346f, 0.009654f, -0.010964f, -0.056902f, -0.020012f, -0.019565f, 0.002669f, -0.078729f, -0.064001f, -0.009658f, 0.037543f, -0.004290f, -0.013754f, -0.047238f, -0.000730f, 0.042285f, 0.000258f, -0.027664f, -0.018239f, -0.005184f, -0.017925f, 0.011252f, 0.011995f, -0.039831f, -0.047252f, 0.008105f, -0.003292f, 0.010817f, 0.073397f, -0.044922f, -0.006479f, -0.001881f, -0.074913f, -0.021054f, -0.055264f, -0.007379f, -0.006190f, 0.052847f, 0.056722f, 0.072520f, 0.018828f, 0.013140f, -0.028787f, -0.061549f, 0.000897f, 0.026462f, -0.023330f, 0.088856f, 0.203717f, 0.198248f, 0.027198f, -0.125160f, -0.117447f, -0.044398f, -0.074427f, 0.242965f, 0.148105f, 0.095061f, 0.120675f, -0.000905f, -0.066317f, -0.171295f, - -0.111961f, -0.041712f, -0.010725f, 0.070534f, 0.139007f, 0.126212f, -0.016333f, -0.102321f, -0.064099f, -0.092550f, -0.075080f, 0.014189f, 0.100323f, 0.149476f, 0.056093f, -0.006926f, 0.006920f, -0.055787f, -0.068697f, -0.065816f, 0.022063f, 0.011602f, 0.016171f, 0.060747f, 0.030552f, -0.004888f, -0.039444f, -0.031927f, -0.023057f, -0.051136f, -0.011620f, 0.024325f, -0.020649f, 0.002584f, -0.008292f, 0.037550f, 0.026244f, -0.047373f, -0.031320f, -0.096993f, -0.080111f, -0.068955f, 0.043966f, 0.080875f, 0.029292f, 0.021970f, -0.029807f, -0.049534f, -0.155076f, -0.112574f, -0.069354f, 0.014717f, 0.041920f, 0.028978f, 0.005525f, -0.055060f, -0.048158f, -0.088028f, -0.149559f, -0.056809f, 0.016535f, 0.045318f, 0.075420f, 0.037137f, -0.000749f, -0.039932f, -0.016111f, -0.025751f, 0.001081f, 0.056496f, -0.055323f, 0.063370f, 0.009662f, 0.008849f, -0.099232f, -0.029355f, 0.083387f, -0.055066f, 0.021618f, 0.002206f, -0.021231f, 0.028470f, 0.007889f, 0.047698f, 0.070091f, -0.040051f, -0.058337f, 0.016978f, -0.036256f, 0.047318f, -0.060868f, -0.028802f, -0.039180f, 0.006601f, -0.011974f, -0.031958f, - 0.013616f, 0.070885f, -0.055727f, -0.057299f, -0.045918f, -0.011516f, -0.014821f, 0.094425f, 0.003679f, -0.000377f, -0.092607f, -0.020981f, 0.006519f, 0.079750f, 0.031582f, -0.011279f, -0.132676f, -0.091038f, 0.086587f, 0.099188f, 0.091378f, -0.040252f, -0.220024f, -0.040243f, 0.095518f, 0.084359f, 0.010049f, -0.022388f, 0.011378f, -0.085079f, -0.054934f, 0.032671f, -0.028454f, 0.029880f, -0.018721f, 0.006658f, 0.089578f, -0.065471f, -0.038772f, 0.079603f, 0.057486f, 0.118546f, 0.046163f, -0.150850f, 0.045415f, 0.169633f, 0.032945f, 0.087524f, 0.018375f, -0.043424f, -0.004275f, 0.109219f, 0.069875f, 0.143995f, -0.187731f, 0.028691f, -0.004190f, -0.017489f, 0.070247f, 0.004418f, -0.099077f, 0.011672f, -0.007255f, -0.016570f, 0.011099f, 0.002761f, -0.061886f, 0.054609f, -0.027424f, 0.001770f, -0.000561f, -0.010716f, -0.000638f, 0.010971f, -0.019561f, -0.018095f, -0.035324f, -0.043721f, 0.042906f, 0.001002f, 0.013652f, 0.042715f, -0.048327f, 0.024767f, -0.005119f, -0.078287f, -0.003153f, 0.028767f, 0.084578f, -0.019894f, -0.126003f, -0.011080f, 0.054844f, 0.019058f, 0.048019f, -0.037056f, - -0.037786f, -0.041107f, 0.016869f, -0.004382f, 0.027818f, -0.043546f, 0.019696f, 0.015532f, 0.010373f, -0.048684f, 0.001568f, 0.014891f, 0.033158f, -0.010969f, 0.003935f, -0.027924f, 0.007786f, -0.014965f, 0.027692f, -0.001611f, 0.021277f, -0.003739f, 0.006313f, -0.031230f, 0.000971f, 0.000151f, 0.033409f, -0.016662f, 0.010746f, -0.033755f, 0.001822f, -0.000838f, 0.027570f, -0.006003f, 0.011046f, -0.108562f, 0.012273f, 0.019410f, 0.010354f, 0.107027f, 0.018035f, -0.008038f, -0.068326f, -0.011686f, -0.006718f, -0.016014f, -0.000677f, -0.012936f, 0.027389f, 0.012778f, -0.020140f, -0.003454f, 0.042506f, 0.000131f, -0.002388f, 0.004515f, -0.010637f, -0.018243f, 0.023854f, 0.021088f, 0.016010f, -0.026573f, 0.013974f, 0.039764f, 0.015598f, -0.002282f, 0.025653f, -0.004667f, -0.030430f, 0.008051f, 0.007719f, -0.024512f, -0.026640f, 0.026547f, 0.025853f, -0.025513f, 0.016359f, 0.015793f, -0.000218f, -0.009291f, 0.000198f, 0.020185f, -0.001107f, -0.022536f, 0.011740f, 0.013754f, -0.041857f, 0.010711f, 0.030970f, 0.010132f, -0.027209f, 0.004245f, 0.019228f, -0.035262f, 0.009595f, 0.016531f, - 0.006993f, -0.009169f, -0.033609f, 0.039585f, -0.042827f, -0.003780f, 0.041249f, 0.000674f, -0.007091f, 0.000913f, -0.038729f, 0.017155f, -0.000550f, 0.022138f, 0.041024f, -0.018551f, -0.002928f, -0.023695f, 0.031383f, -0.006568f, -0.003480f, 0.032154f, -0.041959f, -0.018460f, 0.023337f, 0.019023f, 0.008374f, -0.034136f, 0.011831f, -0.007501f, -0.002115f, 0.016373f, 0.012476f, 0.002346f, -0.008660f, -0.004370f, 0.001618f, 0.009265f, -0.029768f, 0.021715f, 0.004466f, -0.004141f, 0.008450f, -0.003906f, 0.018892f, -0.028034f, -0.005041f, 0.000580f, 0.001691f, 0.002799f, 0.013018f, 0.008592f, -0.047570f, 0.025181f, -0.005041f, -0.005534f, -0.001935f, 0.009691f, 0.013069f, -0.011797f, -0.004713f, 0.022156f, -0.018901f, -0.002430f, -0.014445f, 0.010537f, 0.100361f, 0.008741f, -0.012192f, -0.033606f, -0.022249f, 0.011687f, -0.014908f, 0.012868f, -0.019915f, -0.001661f, 0.015929f, -0.009068f, 0.007503f, 0.007240f, -0.027781f, 0.007595f, -0.009085f, -0.006145f, -0.022899f, 0.006373f, -0.006477f, -0.014552f, -0.006730f, 0.010972f, -0.009998f, -0.010012f, 0.014142f, -0.015819f, 0.007949f, 0.013332f, - -0.027867f, 0.027345f, -0.006964f, -0.032899f, 0.017378f, 0.017173f, -0.015303f, 0.005182f, 0.009896f, -0.013982f, -0.012427f, -0.000057f, 0.001820f, 0.008784f, -0.004540f, -0.001836f, -0.013825f, 0.012494f, -0.010842f, -0.003652f, 0.015828f, -0.019337f, 0.005483f, -0.003651f, 0.000001f, -0.009205f, -0.012422f, -0.005223f, 0.021519f, -0.014944f, -0.005682f, 0.003293f, 0.004520f, 0.000422f, -0.013146f, 0.009753f, -0.005934f, -0.011496f, -0.000399f, -0.020906f, 0.030173f, -0.013582f, 0.006046f, 0.006459f, -0.006312f, 0.010268f, -0.018088f, -0.014906f, 0.018324f, -0.009281f, -0.012583f, 0.012104f, -0.000927f, 0.003203f, -0.008428f, 0.001953f, -0.001951f, 0.005396f, -0.006752f, -0.005445f, 0.006867f, -0.004309f, -0.004959f, -0.001560f, 0.004285f, -0.003133f, -0.000531f, -0.002597f, 0.001044f, 0.003930f, -0.006032f, -0.006216f, 0.017192f, -0.005379f, -0.006342f, 0.005148f, -0.002131f, 0.004763f, -0.014050f, 0.000650f, -0.002462f, -0.000715f, -0.003837f, 0.015960f, 0.000060f, -0.014590f, 0.004528f, 0.001285f, -0.000775f, -0.000177f, 0.006161f, -0.004384f, -0.004277f, -0.002121f, -0.003876f, -0.002172f, - 0.001624f, -0.004788f, -0.000278f, 0.001026f, -0.000794f, -0.050151f, -0.081087f, 0.036896f, 0.281194f, 0.042748f, 0.140623f, -0.033238f, -0.142472f, -0.052164f, -0.138840f, -0.091887f, -0.028810f, -0.015585f, 0.006885f, 0.082357f, 0.099606f, 0.137648f, 0.137239f, 0.043244f, -0.053885f, -0.087924f, -0.160540f, -0.123466f, -0.064535f, -0.025520f, -0.016173f, 0.049370f, 0.083604f, 0.064112f, 0.088075f, 0.084811f, 0.031639f, 0.027302f, 0.010688f, -0.062555f, -0.022854f, -0.053824f, -0.092398f, -0.056305f, -0.053860f, -0.080621f, -0.016821f, 0.037272f, 0.028824f, 0.081684f, 0.107701f, 0.055644f, 0.071838f, 0.053574f, -0.007275f, -0.002613f, -0.004752f, -0.058042f, -0.070870f, -0.063723f, -0.095291f, -0.081682f, -0.028498f, -0.005044f, 0.011850f, 0.066060f, 0.061335f, 0.058578f, 0.074406f, 0.055085f, 0.019317f, 0.034720f, 0.019474f, -0.021823f, -0.009985f, -0.040127f, -0.083616f, -0.050714f, -0.047315f, -0.066334f, -0.031545f, -0.021423f, -0.036857f, 0.031179f, 0.059733f, 0.068386f, 0.109769f, 0.102908f, 0.043844f, 0.025375f, -0.001131f, -0.037617f, -0.044070f, -0.046001f, -0.066341f, -0.061260f, - -0.055739f, -0.051606f, -0.031798f, -0.012973f, 0.000214f, 0.024809f, 0.058980f, 0.072908f, 0.068320f, 0.081844f, 0.057146f, 0.027345f, 0.011955f, -0.009722f, -0.041777f, -0.047743f, -0.065973f, -0.086689f, -0.086880f, -0.069472f, -0.057552f, -0.008989f, 0.034942f, 0.077247f, 0.104107f, 0.112153f, 0.087089f, 0.056360f, 0.025384f, -0.006919f, -0.043144f, -0.063857f, -0.085764f, -0.085611f, -0.060845f, -0.040283f, -0.011883f, 0.015387f, 0.031202f, 0.040782f, 0.051505f, 0.044039f, 0.027917f, 0.023229f, 0.008651f, -0.000623f, -0.007794f, -0.010616f, -0.013369f, -0.013457f, -0.018976f, -0.015799f, -0.012009f, -0.010274f, -0.009892f, -0.006704f, -0.006150f, -0.001282f, 0.003663f, 0.010681f, 0.013053f, 0.017292f, 0.018607f, 0.019345f, 0.012277f, 0.007376f, 0.001587f, -0.002187f, -0.010846f, -0.014943f, -0.019704f, -0.019087f, -0.016318f, -0.009805f, -0.006535f, -0.001216f, 0.001943f, 0.009581f, 0.013512f, 0.016951f, 0.013712f, 0.013395f, 0.009261f, 0.006125f, 0.001351f, -0.000444f, -0.006022f, -0.008695f, -0.012895f, -0.013712f, -0.014719f, -0.010152f, -0.006896f, -0.000337f, 0.002276f, 0.007417f, - 0.009333f, 0.011705f, 0.008897f, 0.009468f, 0.006602f, 0.005455f, 0.000919f, -0.001375f, -0.005363f, -0.005774f, -0.008269f, -0.007167f, -0.007951f, -0.005727f, -0.005085f, -0.001029f, 0.000244f, 0.004261f, 0.005145f, 0.007837f, 0.006468f, 0.006925f, 0.003218f, 0.002095f, -0.000906f, -0.000508f, -0.002811f, -0.002474f, -0.004799f, -0.003771f, -0.004898f, -0.002841f, -0.003031f, 0.000012f, 0.000335f, 0.003082f, 0.002391f, 0.003705f, 0.001942f, 0.002865f, 0.000772f, 0.001490f, -0.000634f, 0.000260f, -0.001401f, -0.000172f, -0.001646f, -0.000136f, -0.001373f, 0.000248f, -0.001004f, 0.000547f, -0.000734f}, - {-0.002129f, 0.011495f, -0.006462f, 0.001925f, -0.009605f, 0.002687f, 0.001075f, 0.014648f, -0.008780f, 0.000026f, -0.004623f, 0.007338f, 0.007488f, -0.004787f, -0.000920f, -0.004116f, -0.002368f, -0.004812f, -0.005993f, 0.004405f, 0.001431f, -0.003922f, 0.008164f, 0.007435f, 0.012712f, -0.000388f, 0.004805f, 0.002518f, -0.000229f, -0.011512f, 0.002974f, 0.004774f, -0.004557f, 0.002861f, -0.003365f, -0.003915f, -0.006330f, 0.003260f, 0.008103f, 0.000823f, 0.009457f, -0.003886f, -0.000829f, 0.009541f, 0.004979f, 0.000755f, -0.000141f, 0.009060f, 0.013614f, -0.010159f, 0.002248f, -0.003521f, -0.001597f, -0.015805f, -0.005629f, 0.006362f, -0.004930f, 0.004402f, 0.002016f, -0.002339f, -0.003858f, 0.002214f, -0.001340f, 0.004902f, 0.002641f, 0.002272f, 0.002491f, -0.008219f, 0.000280f, -0.003964f, 0.005011f, 0.008337f, 0.005833f, -0.001216f, 0.009026f, 0.000034f, 0.003810f, -0.001227f, -0.002046f, 0.000457f, 0.004509f, 0.005208f, -0.001746f, -0.003602f, -0.007413f, -0.000982f, -0.003291f, -0.003522f, -0.002005f, -0.003002f, -0.002164f, -0.003531f, -0.001874f, -0.000119f, -0.000088f, 0.000048f, - 0.002868f, -0.002048f, 0.001479f, -0.000762f, -0.001460f, 0.000044f, 0.001287f, 0.000452f, 0.001015f, -0.000037f, -0.001025f, -0.000020f, 0.001312f, 0.000412f, -0.002056f, -0.001597f, -0.000130f, -0.000022f, 0.000759f, 0.000735f, 0.000056f, 0.001630f, -0.002072f, 0.006954f, -0.008499f, -0.008661f, 0.000220f, -0.011704f, 0.002057f, -0.003608f, 0.005630f, -0.003054f, -0.009484f, 0.001178f, 0.009077f, -0.001293f, 0.000205f, 0.012904f, 0.015968f, -0.006827f, -0.007490f, -0.001985f, -0.012065f, 0.005219f, 0.000980f, 0.003092f, -0.004315f, 0.006494f, -0.008441f, -0.001405f, 0.005592f, -0.004575f, -0.001821f, 0.000987f, 0.010249f, 0.000779f, 0.007385f, -0.009768f, 0.009596f, -0.000946f, 0.001292f, 0.006398f, -0.005535f, 0.005357f, -0.002574f, -0.002396f, 0.004405f, 0.006073f, -0.001122f, 0.003522f, -0.013218f, 0.008039f, 0.007580f, -0.013778f, -0.012341f, -0.003340f, -0.010254f, -0.002728f, 0.003755f, 0.002638f, 0.003581f, 0.000328f, -0.003493f, 0.008664f, -0.002976f, 0.000429f, -0.003530f, 0.002130f, -0.005289f, 0.007390f, 0.001671f, -0.005481f, -0.003242f, -0.002100f, -0.003357f, -0.002754f, - 0.007254f, 0.009769f, -0.000572f, -0.001850f, 0.000263f, 0.003209f, -0.002120f, 0.006862f, 0.003717f, -0.002637f, -0.000630f, -0.001602f, 0.002818f, -0.002706f, -0.000192f, -0.000625f, 0.000334f, 0.001190f, -0.000279f, -0.000708f, 0.001717f, -0.001293f, -0.000583f, 0.000503f, 0.001108f, 0.000220f, -0.002560f, -0.001565f, 0.000360f, -0.001488f, -0.001464f, 0.001744f, -0.000970f, -0.002866f, -0.002039f, -0.002280f, -0.000752f, 0.000510f, 0.002766f, 0.020638f, 0.003978f, -0.007669f, 0.009613f, 0.001194f, -0.006472f, 0.018853f, -0.012633f, -0.018168f, -0.010599f, -0.011023f, -0.003667f, 0.005349f, 0.006660f, -0.006290f, 0.009570f, -0.011974f, -0.006479f, -0.001462f, 0.004006f, 0.002969f, -0.003599f, -0.004712f, 0.010707f, 0.002042f, -0.000680f, -0.005988f, 0.008008f, -0.005830f, -0.001297f, -0.000020f, -0.000623f, -0.000842f, 0.003152f, 0.001651f, -0.001588f, 0.006642f, -0.003078f, 0.004050f, -0.000228f, -0.010842f, -0.004195f, -0.004330f, 0.011590f, -0.006389f, -0.007710f, -0.014075f, -0.016388f, -0.003002f, 0.000903f, -0.006563f, 0.012552f, 0.001694f, 0.006774f, -0.005034f, 0.010877f, 0.004620f, - -0.006194f, 0.017437f, -0.007822f, -0.008424f, 0.001424f, 0.010937f, 0.016089f, 0.011355f, 0.003833f, -0.005560f, -0.012521f, 0.005039f, -0.000072f, 0.012440f, 0.005078f, -0.003527f, -0.000344f, 0.006357f, 0.005175f, 0.000118f, -0.001097f, 0.000548f, -0.002389f, -0.005203f, -0.000402f, 0.001676f, 0.001392f, 0.004553f, -0.000063f, 0.002774f, -0.000860f, 0.002198f, -0.000450f, 0.000448f, -0.000363f, -0.003024f, 0.000393f, -0.000520f, -0.003818f, 0.003193f, -0.000615f, 0.001973f, -0.000955f, -0.002067f, 0.000406f, 0.000420f, -0.000037f, -0.001334f, 0.001573f, 0.000632f, -0.000916f, -0.000268f, -0.002898f, 0.000443f, -0.001579f, 0.001576f, -0.000440f, 0.003321f, -0.000056f, -0.001625f, -0.001325f, -0.019668f, 0.003185f, -0.007218f, 0.004665f, 0.001199f, 0.014183f, -0.018196f, -0.010196f, -0.013380f, 0.007245f, 0.005813f, 0.008671f, -0.009570f, 0.003395f, -0.002904f, 0.001341f, -0.014852f, -0.012457f, -0.009326f, -0.009016f, 0.014831f, -0.005870f, -0.001873f, -0.000131f, 0.005004f, -0.002236f, -0.015769f, 0.006757f, -0.006317f, -0.001909f, 0.007189f, 0.005598f, 0.008264f, 0.000682f, 0.004388f, - -0.010851f, -0.004614f, 0.010007f, 0.016312f, 0.009757f, -0.000776f, -0.012360f, 0.008856f, -0.003882f, -0.010865f, 0.015076f, 0.004373f, 0.005287f, -0.009241f, -0.005200f, 0.005067f, -0.003221f, -0.005168f, 0.008032f, -0.006258f, 0.002899f, 0.000343f, -0.010242f, -0.002255f, -0.006722f, 0.010882f, 0.005729f, -0.001561f, 0.002030f, -0.005069f, 0.006640f, 0.001043f, -0.000018f, 0.001882f, -0.012282f, -0.006527f, 0.007199f, 0.003353f, -0.001859f, -0.001643f, -0.008680f, 0.014483f, 0.018146f, 0.009890f, -0.008062f, 0.007335f, 0.001449f, 0.006256f, -0.002560f, 0.005138f, -0.003769f, 0.003315f, 0.006749f, 0.003508f, 0.003334f, 0.002354f, 0.000314f, -0.002242f, -0.000551f, 0.006407f, 0.000525f, 0.000397f, -0.002228f, -0.000492f, 0.001542f, 0.003842f, -0.000290f, 0.004520f, 0.000942f, 0.000088f, 0.000028f, 0.003664f, 0.004738f, -0.002012f, -0.000668f, -0.000539f, 0.000909f, 0.003217f, 0.000018f, 0.000848f, 0.000450f, 0.000750f, -0.001421f, 0.005421f, -0.029524f, 0.009853f, 0.001490f, 0.007346f, 0.007941f, -0.005761f, -0.020886f, 0.016089f, 0.006822f, 0.015830f, -0.002925f, 0.008391f, - -0.000180f, -0.005700f, -0.000408f, -0.014760f, 0.018036f, 0.004117f, 0.001691f, -0.009300f, -0.005360f, -0.006302f, 0.005371f, -0.008297f, 0.013803f, 0.000597f, 0.004734f, 0.007693f, 0.004230f, -0.000900f, 0.004436f, 0.004252f, -0.003262f, 0.003576f, -0.015407f, 0.003982f, 0.006975f, 0.007156f, 0.013771f, 0.004777f, -0.009258f, 0.004603f, -0.004686f, 0.009370f, 0.001780f, 0.006811f, 0.010469f, 0.001700f, -0.002344f, 0.008214f, -0.005713f, -0.008976f, -0.003355f, 0.005720f, 0.014518f, -0.003481f, 0.000869f, 0.000232f, 0.001692f, 0.002831f, 0.006051f, 0.002043f, -0.003884f, -0.000718f, -0.005222f, 0.003720f, 0.001153f, -0.009265f, -0.008185f, 0.003209f, 0.005066f, 0.005105f, 0.009089f, -0.014133f, -0.007649f, -0.010313f, 0.012025f, -0.005370f, -0.007571f, 0.003880f, -0.006986f, -0.010087f, -0.003702f, 0.000241f, 0.010686f, -0.003844f, 0.003405f, -0.004325f, -0.002589f, -0.000668f, 0.003200f, 0.001381f, -0.002028f, -0.001677f, 0.001983f, 0.005299f, 0.001728f, 0.003036f, -0.001568f, -0.001061f, 0.003539f, -0.000190f, 0.000160f, 0.001315f, -0.002618f, 0.004726f, -0.001584f, -0.000380f, - -0.002330f, -0.006136f, -0.001044f, -0.001390f, -0.000553f, -0.000117f, -0.002394f, 0.000191f, 0.005347f, -0.001411f, -0.000637f, -0.001090f, -0.002132f, 0.007126f, 0.030134f, 0.015748f, 0.014399f, 0.020608f, 0.005807f, 0.003634f, -0.012546f, -0.000576f, -0.023598f, -0.004440f, 0.009204f, 0.006407f, 0.004376f, 0.005333f, 0.006693f, -0.005291f, -0.003320f, 0.013454f, 0.012434f, 0.010370f, -0.000644f, 0.001312f, -0.016811f, -0.014862f, -0.005410f, 0.010571f, 0.003629f, -0.002398f, 0.005987f, -0.010053f, 0.001089f, -0.005270f, 0.011967f, 0.009107f, 0.020901f, -0.002232f, 0.007980f, 0.006348f, -0.003186f, -0.011056f, 0.019672f, -0.011526f, -0.002424f, 0.008662f, 0.000575f, 0.004847f, 0.014223f, -0.004674f, 0.005399f, -0.013789f, -0.028940f, -0.016316f, -0.009503f, -0.004089f, 0.001498f, -0.001345f, -0.007352f, -0.015821f, -0.003110f, -0.011413f, 0.003597f, -0.000446f, 0.001534f, -0.017821f, -0.007880f, 0.011243f, 0.004096f, -0.000877f, -0.019401f, -0.017880f, 0.010675f, 0.001701f, 0.006556f, -0.013154f, -0.010197f, 0.000502f, -0.005132f, -0.011252f, -0.007715f, 0.006016f, -0.002254f, 0.002665f, - 0.000963f, 0.007570f, 0.005836f, 0.002468f, -0.003807f, 0.001902f, -0.000563f, -0.004908f, -0.004505f, 0.004269f, -0.001770f, 0.001122f, -0.002863f, -0.004747f, -0.000652f, -0.000566f, 0.004178f, -0.000651f, -0.003792f, 0.000862f, 0.001652f, 0.004262f, 0.001015f, 0.000874f, -0.001751f, 0.005385f, -0.001984f, 0.006158f, -0.003369f, 0.004515f, -0.004034f, 0.000526f, 0.002611f, 0.000016f, -0.000166f, 0.000819f, -0.000994f, -0.001612f, -0.015207f, 0.011516f, -0.006785f, -0.000522f, -0.039515f, -0.009285f, -0.014633f, -0.009616f, 0.001566f, 0.013068f, -0.002634f, 0.017267f, 0.009088f, -0.000986f, -0.017015f, -0.006998f, 0.025226f, 0.004256f, -0.015160f, -0.011023f, -0.005031f, 0.011874f, -0.009272f, 0.000170f, 0.008110f, 0.012914f, 0.014505f, -0.015918f, 0.010692f, 0.001478f, 0.002998f, 0.004579f, 0.005855f, 0.005151f, 0.014542f, 0.000424f, 0.004387f, -0.012756f, 0.017831f, -0.008959f, -0.004249f, 0.003022f, -0.014876f, 0.018369f, -0.002947f, -0.035854f, -0.011901f, -0.028786f, 0.001719f, -0.000407f, -0.008745f, 0.039068f, -0.006874f, -0.019329f, -0.006603f, -0.004748f, 0.017906f, -0.002453f, - 0.008520f, 0.010529f, -0.007370f, 0.013407f, 0.018456f, -0.009397f, 0.007001f, -0.016442f, 0.007978f, -0.005896f, -0.004689f, 0.018993f, -0.006995f, -0.001818f, -0.008486f, 0.000503f, 0.000282f, 0.007244f, 0.010684f, 0.011364f, -0.003071f, -0.003226f, 0.000408f, 0.014718f, 0.006942f, 0.007650f, 0.000255f, -0.012024f, 0.004790f, -0.005841f, -0.006579f, -0.003597f, -0.000158f, -0.000340f, 0.000745f, 0.002669f, 0.002771f, -0.000710f, 0.007964f, 0.001292f, 0.003463f, 0.001388f, 0.001550f, -0.002242f, 0.002089f, 0.000805f, -0.002395f, -0.003508f, -0.002303f, -0.006030f, -0.004738f, 0.004144f, 0.003319f, -0.005107f, 0.001369f, -0.000285f, 0.001415f, 0.005752f, 0.001208f, -0.002262f, 0.000614f, 0.001847f, 0.000118f, -0.004669f, 0.002056f, 0.017879f, -0.024995f, 0.004936f, 0.005183f, -0.008008f, 0.003421f, 0.018807f, 0.020294f, 0.007427f, 0.007289f, 0.009569f, -0.015615f, -0.002814f, -0.016679f, -0.000445f, 0.010723f, 0.006665f, -0.003484f, -0.013331f, -0.004252f, 0.008834f, -0.017305f, 0.000480f, -0.001210f, 0.007886f, 0.016535f, 0.001445f, -0.008877f, -0.006903f, 0.017685f, -0.011480f, - -0.005465f, 0.010038f, -0.006313f, -0.021018f, -0.007555f, 0.004615f, 0.003543f, -0.008492f, 0.001962f, 0.010734f, 0.007513f, 0.010344f, -0.001230f, 0.007759f, 0.015015f, -0.006775f, 0.007479f, 0.006297f, -0.010272f, 0.022114f, -0.021418f, 0.012601f, 0.005613f, -0.029931f, 0.028476f, -0.018603f, 0.004036f, -0.003467f, 0.022718f, -0.009829f, -0.016130f, -0.003613f, 0.000125f, 0.003936f, 0.017443f, -0.015034f, -0.000751f, 0.000866f, 0.000998f, -0.002869f, 0.005144f, -0.012274f, -0.001800f, -0.008815f, -0.016104f, -0.018018f, 0.009564f, 0.007564f, 0.007387f, -0.000043f, 0.011236f, -0.005418f, -0.013071f, 0.003167f, -0.023119f, -0.019469f, -0.003669f, 0.005411f, -0.000249f, -0.003794f, -0.003035f, 0.002530f, -0.012690f, -0.004452f, -0.002722f, -0.002292f, 0.005800f, -0.000849f, 0.000900f, 0.000239f, -0.004222f, 0.001837f, -0.004740f, 0.000109f, 0.002141f, -0.005301f, -0.001163f, 0.004036f, -0.003427f, -0.000224f, -0.002435f, -0.000445f, 0.001486f, -0.000101f, -0.007033f, -0.001348f, -0.000201f, -0.000602f, -0.001309f, -0.004499f, -0.007251f, -0.001975f, -0.000569f, -0.001254f, 0.005660f, 0.004025f, - 0.000656f, -0.001596f, -0.020251f, 0.016113f, -0.046036f, 0.025330f, -0.018499f, -0.012232f, -0.022657f, 0.002737f, -0.002980f, 0.004152f, 0.015672f, -0.013206f, -0.005459f, 0.012934f, 0.011327f, -0.003631f, 0.004223f, -0.005981f, -0.021259f, -0.001841f, 0.004976f, -0.010596f, 0.016608f, 0.002983f, -0.002274f, -0.009924f, -0.010188f, 0.002410f, 0.025754f, 0.001184f, -0.003961f, 0.007216f, -0.022822f, -0.003821f, 0.007930f, -0.015200f, 0.021593f, 0.013962f, -0.001083f, -0.006655f, -0.007632f, -0.008395f, -0.015270f, -0.018464f, 0.015263f, 0.001191f, 0.027344f, 0.002545f, -0.001726f, -0.012389f, 0.002008f, -0.004837f, 0.005918f, -0.000356f, -0.017704f, -0.013593f, -0.018034f, -0.029872f, -0.004449f, 0.026385f, -0.025489f, -0.001525f, -0.026676f, 0.004240f, 0.007155f, 0.006163f, 0.018559f, -0.002047f, -0.027412f, 0.019500f, -0.002161f, -0.013110f, -0.011224f, -0.023428f, -0.008303f, -0.017809f, 0.009506f, -0.027360f, -0.004835f, 0.010788f, -0.000478f, 0.002109f, 0.012831f, 0.006696f, 0.015465f, 0.000088f, -0.008776f, -0.003338f, -0.006096f, -0.000267f, 0.005546f, -0.001581f, 0.000758f, 0.000821f, - 0.000372f, -0.004548f, -0.006923f, 0.004227f, -0.004924f, 0.002058f, 0.000592f, -0.000933f, 0.001838f, 0.000719f, 0.000631f, 0.009469f, 0.001469f, -0.000542f, 0.001563f, 0.003003f, 0.001861f, -0.004747f, -0.000949f, -0.010006f, 0.003536f, 0.005190f, 0.007623f, 0.002824f, 0.002485f, -0.000156f, -0.005283f, 0.003046f, -0.000433f, 0.019658f, -0.007197f, 0.017478f, -0.017060f, -0.009043f, 0.011945f, 0.003832f, -0.023026f, 0.001492f, 0.029936f, -0.034493f, 0.002027f, 0.016114f, 0.038758f, -0.016576f, -0.009873f, -0.004249f, 0.030007f, 0.029472f, -0.031171f, -0.001467f, -0.023952f, -0.011465f, 0.015572f, 0.015675f, 0.020513f, 0.011653f, -0.004097f, 0.014428f, -0.017878f, -0.009636f, -0.001818f, -0.002755f, -0.025871f, 0.002278f, -0.000623f, 0.034175f, -0.005321f, 0.016837f, 0.004030f, 0.009976f, 0.022850f, -0.013869f, -0.006223f, -0.033779f, 0.023212f, -0.029773f, -0.005343f, 0.006821f, -0.004082f, -0.017204f, -0.004380f, 0.004866f, -0.012294f, 0.003333f, -0.002069f, -0.002623f, -0.038025f, -0.026901f, 0.001799f, -0.019511f, -0.026730f, 0.004893f, -0.024723f, 0.007823f, 0.015940f, -0.014491f, - 0.027439f, 0.005757f, 0.017571f, 0.018935f, 0.004761f, -0.014091f, -0.016788f, -0.020779f, 0.010551f, -0.021561f, 0.012835f, 0.015542f, 0.021349f, 0.003767f, -0.015426f, -0.009853f, 0.000292f, 0.002052f, -0.028637f, -0.000729f, -0.018600f, -0.003168f, -0.005373f, 0.001121f, -0.013668f, 0.001744f, -0.003255f, -0.000229f, -0.008943f, -0.006434f, 0.001928f, 0.014183f, 0.001325f, -0.001399f, 0.001749f, -0.002067f, -0.005456f, -0.005224f, -0.005894f, -0.002550f, -0.006965f, 0.007291f, 0.005160f, -0.000555f, -0.005812f, 0.008667f, 0.012842f, -0.002959f, -0.002493f, -0.003146f, -0.001567f, -0.000500f, 0.002976f, -0.005023f, 0.004945f, 0.004753f, 0.003052f, -0.004789f, -0.000975f, 0.002648f, 0.003533f, 0.008923f, -0.018356f, 0.047377f, 0.019754f, 0.008230f, 0.024365f, -0.009295f, 0.005128f, -0.025133f, -0.032396f, 0.020447f, 0.041654f, 0.012432f, -0.000193f, -0.041126f, 0.049677f, 0.007218f, 0.006119f, 0.007164f, 0.001844f, 0.009019f, 0.002838f, -0.007079f, -0.000304f, 0.012583f, -0.007699f, 0.015802f, 0.003030f, -0.012373f, -0.017218f, -0.004663f, 0.015734f, -0.004271f, 0.005137f, -0.007076f, - -0.006312f, 0.000305f, 0.044573f, 0.007251f, 0.006449f, 0.006061f, 0.003763f, 0.026754f, -0.009953f, 0.007727f, -0.017261f, 0.031867f, 0.044337f, 0.011597f, -0.002554f, -0.015741f, 0.046328f, 0.021814f, 0.000682f, -0.017887f, 0.006775f, -0.010715f, -0.001663f, -0.020528f, -0.007729f, -0.013686f, -0.018863f, 0.030531f, -0.009150f, 0.022510f, 0.004713f, -0.017486f, -0.000261f, -0.037464f, 0.035647f, -0.002548f, -0.017055f, -0.013285f, -0.021735f, -0.026751f, -0.014650f, 0.041515f, -0.012930f, 0.014974f, 0.018846f, -0.016736f, -0.015950f, -0.029904f, 0.004515f, 0.020203f, 0.006932f, 0.019316f, -0.004444f, -0.003792f, 0.000874f, 0.005503f, -0.008224f, 0.002323f, -0.014896f, 0.004858f, -0.000682f, 0.016935f, 0.011951f, -0.009144f, 0.000936f, -0.000496f, 0.010086f, -0.003420f, -0.013391f, 0.002973f, -0.000397f, -0.001095f, 0.005008f, 0.000914f, -0.002075f, -0.006737f, -0.007491f, -0.001467f, -0.001760f, 0.007940f, -0.000263f, 0.007959f, -0.010916f, 0.002615f, 0.008323f, -0.015593f, -0.011274f, 0.004047f, -0.008351f, -0.002235f, -0.004918f, 0.011648f, 0.014054f, -0.010471f, -0.011069f, 0.044070f, - 0.043263f, 0.053377f, 0.032168f, 0.010578f, -0.013553f, -0.014127f, 0.008019f, 0.015488f, 0.019010f, -0.028405f, -0.000811f, -0.003405f, 0.014266f, 0.011220f, -0.019666f, -0.024309f, -0.000065f, -0.009224f, 0.023183f, 0.027224f, 0.000020f, 0.014422f, 0.004787f, 0.005753f, 0.031496f, -0.019236f, -0.025437f, 0.020067f, -0.033321f, 0.002863f, -0.010246f, 0.018391f, 0.009430f, 0.000320f, 0.021568f, 0.019748f, -0.017935f, 0.022377f, -0.000012f, -0.009602f, 0.005337f, 0.024311f, -0.009367f, 0.010389f, 0.018080f, 0.008145f, -0.038839f, -0.022500f, 0.003871f, 0.002035f, -0.026392f, -0.018082f, 0.008823f, 0.012558f, 0.010734f, -0.036036f, -0.025113f, -0.025085f, -0.001944f, 0.015591f, 0.022812f, -0.057235f, -0.042003f, 0.006976f, 0.008839f, 0.033025f, 0.011701f, 0.012097f, 0.024111f, -0.002614f, -0.006125f, -0.008759f, 0.059124f, 0.020397f, -0.009269f, -0.030938f, 0.028295f, 0.018424f, -0.009183f, -0.008425f, 0.004414f, -0.008536f, 0.015141f, -0.005479f, -0.003175f, 0.008851f, -0.002143f, -0.003576f, -0.004599f, 0.009294f, 0.024275f, 0.000134f, 0.001783f, 0.000810f, 0.010592f, 0.013485f, - -0.003386f, -0.008554f, 0.003720f, -0.000838f, 0.002786f, 0.001540f, 0.002137f, -0.011533f, -0.006206f, 0.008089f, 0.000889f, -0.004726f, 0.004036f, 0.011272f, 0.008883f, -0.015253f, -0.003348f, -0.010163f, -0.009663f, 0.007148f, -0.011549f, 0.004488f, -0.006197f, 0.011214f, 0.008817f, -0.013467f, -0.018758f, -0.036321f, -0.035343f, -0.029059f, 0.011217f, -0.003747f, 0.016403f, -0.032039f, -0.005277f, 0.001492f, -0.012357f, -0.014995f, 0.026047f, -0.009981f, 0.005277f, -0.000400f, 0.001816f, -0.026124f, -0.009607f, -0.022340f, 0.002976f, 0.002944f, 0.005809f, 0.061745f, -0.024049f, 0.017050f, 0.026001f, -0.013198f, -0.012443f, -0.018688f, -0.003769f, 0.028840f, -0.029424f, 0.020147f, -0.001922f, -0.004910f, 0.002714f, 0.002952f, 0.015823f, 0.001772f, -0.031214f, 0.023878f, -0.019440f, -0.044816f, -0.036262f, -0.018177f, 0.060670f, 0.051465f, -0.027966f, -0.008057f, -0.038396f, -0.032058f, -0.012645f, 0.037470f, 0.000988f, 0.025843f, 0.013525f, -0.017632f, 0.019718f, -0.013425f, -0.039961f, -0.003392f, -0.024224f, -0.004947f, -0.012973f, 0.078907f, 0.000739f, -0.065328f, 0.051304f, -0.020703f, - -0.014544f, 0.051809f, 0.052684f, 0.000167f, -0.023040f, 0.010266f, 0.012902f, -0.070943f, -0.030496f, 0.001873f, -0.010405f, 0.037128f, 0.015747f, -0.053823f, -0.008026f, -0.004331f, 0.024423f, 0.015508f, 0.010650f, 0.009633f, -0.011175f, 0.001904f, 0.004312f, 0.022500f, -0.002754f, 0.003079f, 0.004458f, 0.003827f, 0.013277f, 0.006254f, 0.000344f, -0.015402f, 0.019509f, -0.001789f, -0.000043f, 0.000876f, 0.000076f, -0.008341f, -0.012907f, -0.008917f, 0.001820f, -0.003244f, 0.005723f, -0.000924f, -0.005682f, 0.006143f, 0.014423f, -0.019155f, -0.006146f, -0.005883f, -0.002671f, 0.005388f, -0.000299f, -0.005524f, -0.010696f, -0.004106f, -0.002705f, 0.009898f, -0.031579f, -0.019363f, 0.009375f, 0.007618f, 0.016911f, 0.053931f, 0.009100f, -0.001205f, 0.012409f, 0.002979f, -0.022530f, -0.013566f, 0.011871f, 0.002935f, 0.043721f, 0.010534f, -0.002913f, 0.016047f, 0.023388f, 0.024053f, 0.025532f, 0.001553f, -0.018222f, -0.004844f, -0.041390f, -0.005439f, -0.046712f, 0.026109f, -0.028504f, -0.010804f, -0.000056f, 0.037826f, -0.022034f, 0.021116f, -0.015536f, 0.012855f, -0.019436f, 0.024194f, - 0.036132f, 0.002625f, -0.007889f, -0.019406f, -0.028401f, 0.015921f, 0.017859f, 0.046222f, -0.006459f, 0.002453f, 0.020087f, 0.073943f, -0.017445f, 0.011201f, -0.012171f, -0.040971f, 0.028634f, -0.005753f, 0.020292f, -0.002419f, 0.004854f, -0.024637f, 0.068091f, -0.102355f, 0.075198f, -0.117462f, 0.050449f, -0.060537f, 0.018602f, -0.047445f, 0.016878f, 0.031647f, -0.007791f, 0.023541f, -0.012313f, 0.085876f, -0.052288f, 0.057052f, -0.088516f, 0.044624f, -0.034884f, 0.042933f, -0.029067f, -0.031064f, -0.015540f, -0.007801f, 0.021329f, -0.005845f, -0.004126f, 0.002238f, 0.001005f, -0.010941f, 0.015062f, -0.016547f, 0.015930f, -0.011941f, 0.004636f, -0.019046f, -0.011057f, -0.014057f, 0.002165f, -0.012923f, 0.015693f, 0.017201f, -0.016633f, -0.000207f, 0.006103f, 0.015785f, -0.002785f, 0.005689f, 0.012474f, -0.012041f, 0.020889f, -0.005892f, 0.027756f, -0.016772f, 0.033324f, -0.024064f, 0.008222f, -0.001953f, 0.018359f, 0.015661f, -0.003491f, 0.009175f, -0.026544f, 0.029691f, -0.020917f, 0.007221f, -0.021261f, 0.015005f, -0.028196f, 0.009494f, -0.002905f, -0.010139f, 0.009854f, -0.019928f, - 0.003018f, -0.009789f, 0.009713f, -0.009686f, 0.005565f, 0.003505f, 0.002608f, -0.007461f, 0.026041f, 0.020996f, 0.082700f, -0.057480f, 0.024053f, 0.015231f, -0.049682f, -0.001288f, -0.009779f, -0.014025f, -0.025536f, -0.001279f, 0.002917f, 0.033018f, 0.012264f, 0.017322f, 0.024733f, 0.020123f, 0.000737f, 0.027543f, -0.031672f, -0.004474f, 0.038141f, 0.004337f, -0.052365f, -0.011951f, -0.068521f, -0.012724f, 0.011942f, -0.012614f, -0.015979f, -0.002901f, 0.061235f, 0.015562f, 0.004685f, 0.007560f, 0.015325f, -0.004541f, -0.035137f, -0.010680f, -0.003905f, 0.006602f, -0.008106f, -0.016336f, 0.044342f, 0.023950f, -0.009174f, -0.002035f, -0.009536f, -0.040028f, -0.032924f, -0.023977f, -0.019995f, 0.044830f, 0.010777f, 0.016591f, -0.026979f, -0.026126f, 0.008422f, 0.018288f, 0.016800f, -0.007513f, -0.005307f, -0.030351f, -0.020102f, 0.026625f, 0.001198f, -0.073564f, 0.025897f, 0.040232f, 0.012854f, -0.032027f, -0.019740f, -0.015929f, 0.005275f, -0.023046f, 0.011406f, -0.054139f, -0.072439f, 0.030033f, 0.026127f, -0.014429f, -0.026635f, 0.020371f, -0.011928f, 0.005309f, 0.006289f, -0.010627f, - 0.011590f, -0.006568f, -0.006818f, -0.003884f, 0.017409f, -0.012351f, -0.003664f, -0.013517f, -0.000198f, 0.001174f, 0.011638f, 0.012096f, -0.001363f, 0.007141f, -0.008567f, 0.014126f, -0.009828f, 0.011543f, -0.026656f, -0.012103f, -0.003683f, 0.007725f, -0.008720f, -0.017358f, -0.013342f, 0.006377f, 0.013724f, -0.000492f, 0.017735f, 0.005007f, 0.007011f, 0.001111f, 0.011547f, -0.006518f, 0.011037f, -0.002648f, -0.021956f, -0.016874f, -0.006471f, 0.010010f, -0.012343f, 0.007275f, -0.018421f, -0.008103f, 0.008425f, -0.068333f, 0.059817f, 0.072689f, -0.006801f, 0.052832f, 0.002161f, 0.008022f, 0.023045f, -0.046784f, 0.016995f, 0.034513f, 0.034120f, 0.014247f, 0.010568f, -0.033852f, 0.024712f, 0.014466f, -0.020500f, 0.010836f, -0.004080f, 0.040216f, 0.011102f, 0.010225f, 0.023805f, -0.009639f, -0.027453f, 0.007844f, 0.051319f, -0.018480f, -0.010004f, 0.046270f, -0.017052f, -0.020839f, -0.016910f, 0.015870f, 0.059613f, 0.082835f, -0.005181f, -0.053900f, 0.081329f, 0.027915f, -0.053602f, 0.060571f, 0.023211f, -0.015150f, -0.015585f, -0.022857f, -0.037780f, -0.002249f, 0.019806f, -0.032493f, - -0.021231f, -0.068523f, -0.009316f, 0.039727f, -0.082909f, -0.044999f, 0.013068f, 0.013262f, 0.016331f, 0.050183f, 0.044477f, -0.073766f, 0.000585f, 0.002722f, -0.052158f, 0.014457f, 0.024785f, -0.026851f, -0.019118f, -0.022688f, 0.015083f, 0.057791f, 0.018090f, 0.030006f, -0.039616f, 0.020072f, -0.044856f, 0.003819f, -0.030179f, -0.122572f, 0.093631f, 0.023969f, -0.034223f, 0.063299f, -0.021917f, -0.028996f, 0.017011f, 0.012851f, 0.016266f, 0.024685f, 0.009977f, -0.025015f, -0.007962f, 0.024213f, -0.000855f, 0.009248f, 0.003864f, -0.004105f, 0.005911f, -0.011037f, 0.008027f, 0.022611f, 0.008138f, -0.013525f, -0.009989f, 0.006822f, -0.006157f, -0.012285f, 0.004563f, 0.014058f, 0.008163f, -0.042479f, -0.012890f, -0.031317f, -0.016267f, 0.018059f, -0.013992f, -0.017561f, 0.016511f, 0.010597f, -0.018372f, 0.023098f, -0.017243f, -0.007637f, 0.008253f, -0.013597f, 0.015179f, -0.006926f, -0.025220f, 0.020747f, -0.038909f, 0.044829f, 0.148412f, -0.047345f, 0.001263f, 0.011464f, 0.066988f, 0.059486f, -0.019492f, -0.025743f, -0.037478f, 0.001656f, 0.028356f, -0.000882f, -0.019175f, -0.019621f, - 0.026762f, -0.014553f, -0.036044f, -0.032127f, -0.006531f, 0.054625f, 0.038240f, -0.043311f, 0.002893f, 0.000865f, -0.018935f, 0.021583f, 0.007941f, -0.015403f, -0.005125f, -0.012097f, -0.005829f, 0.069722f, -0.025941f, -0.046167f, -0.032379f, -0.026202f, 0.061585f, 0.001791f, -0.014281f, 0.056801f, 0.038987f, 0.015586f, 0.028866f, 0.055858f, -0.033909f, 0.008691f, 0.054269f, 0.031818f, 0.041464f, -0.046993f, -0.013259f, -0.001664f, 0.019874f, 0.018803f, -0.044550f, 0.004351f, -0.058534f, -0.087975f, -0.004617f, -0.023201f, 0.040929f, 0.045584f, -0.011897f, -0.003510f, 0.009271f, -0.031921f, -0.085271f, 0.057519f, -0.041299f, 0.008982f, -0.015874f, -0.028743f, -0.016691f, -0.033347f, -0.067575f, 0.040046f, 0.035597f, 0.043234f, 0.008381f, -0.053636f, -0.094358f, -0.027927f, -0.026060f, -0.011442f, 0.029911f, -0.019206f, -0.004657f, 0.005811f, 0.004076f, -0.014910f, -0.006797f, -0.011955f, 0.001537f, -0.005264f, 0.010061f, -0.005812f, -0.007247f, 0.011067f, 0.014333f, 0.011401f, -0.022758f, 0.007597f, 0.001391f, -0.001948f, 0.000369f, -0.050076f, 0.002531f, 0.007061f, 0.007489f, -0.032953f, - 0.021637f, -0.004624f, -0.027427f, -0.022410f, 0.013492f, 0.017830f, -0.003192f, 0.010640f, -0.016858f, -0.011820f, -0.011448f, 0.001472f, 0.020646f, 0.005325f, 0.019729f, -0.000353f, 0.009218f, -0.029039f, -0.004390f, -0.006865f, -0.005358f, 0.022906f, 0.010992f, -0.000683f, 0.007376f, 0.003536f, -0.022873f, -0.007371f, -0.072570f, -0.042131f, -0.033658f, -0.086169f, 0.099433f, -0.002613f, 0.052526f, -0.012254f, 0.002924f, -0.060165f, -0.032390f, -0.031211f, 0.007234f, 0.046527f, -0.001830f, -0.049153f, -0.036183f, -0.070117f, -0.077352f, 0.066263f, 0.024892f, -0.060810f, -0.018452f, 0.029475f, 0.055787f, 0.007415f, -0.068533f, -0.042218f, 0.013881f, 0.018900f, 0.017402f, 0.039829f, -0.042495f, -0.040985f, -0.005930f, -0.014782f, 0.005979f, 0.011603f, -0.082420f, -0.015617f, -0.057394f, -0.037326f, -0.076649f, -0.029546f, 0.105726f, 0.017804f, 0.003639f, 0.025482f, 0.026446f, 0.007880f, 0.078648f, 0.061641f, -0.020196f, 0.020689f, 0.106160f, -0.028114f, -0.024417f, -0.025668f, -0.078546f, -0.003429f, -0.042865f, -0.098342f, -0.102419f, -0.054251f, -0.052720f, 0.023604f, -0.039403f, 0.003077f, - 0.021152f, -0.070198f, -0.025261f, 0.000040f, 0.000021f, 0.017614f, 0.045967f, 0.029944f, 0.055366f, 0.074130f, 0.054408f, -0.007071f, -0.039029f, -0.057515f, -0.004516f, 0.023218f, 0.007312f, -0.008451f, -0.000354f, 0.015772f, 0.013443f, 0.034689f, -0.003579f, 0.005177f, 0.001004f, -0.012122f, 0.011867f, 0.001392f, -0.005258f, 0.029579f, 0.013384f, 0.006387f, -0.027707f, 0.018500f, -0.009670f, 0.013849f, -0.026252f, -0.074474f, -0.003028f, 0.028820f, -0.005072f, -0.039725f, -0.024761f, -0.029183f, -0.021213f, 0.008970f, 0.013413f, 0.014278f, 0.004525f, -0.003032f, 0.011557f, 0.028587f, 0.048934f, 0.045309f, 0.057398f, 0.048270f, -0.004052f, 0.032348f, 0.074729f, 0.004915f, -0.031871f, -0.046744f, -0.046046f, -0.063933f, -0.050938f, -0.025014f, -0.026966f, -0.004124f, -0.007732f, 0.065287f, -0.042580f, 0.012632f, -0.049375f, -0.017180f, -0.053883f, 0.006610f, 0.065994f, -0.001869f, 0.040886f, -0.081609f, 0.071681f, 0.023558f, -0.014383f, 0.056224f, 0.008180f, 0.025358f, -0.022408f, -0.027130f, -0.000285f, 0.016929f, 0.013508f, -0.057154f, 0.052285f, -0.063300f, 0.007898f, 0.017150f, - -0.021155f, 0.036601f, -0.038898f, -0.022662f, -0.004146f, -0.014418f, -0.019622f, -0.004851f, 0.008534f, -0.029525f, -0.034076f, -0.011592f, -0.005857f, -0.008917f, 0.020912f, 0.010772f, 0.008584f, -0.042045f, 0.011149f, 0.049953f, 0.067038f, -0.049943f, -0.024798f, 0.056354f, 0.077922f, -0.047779f, -0.029127f, 0.032239f, 0.013835f, -0.038087f, 0.031168f, -0.088665f, -0.017305f, 0.035260f, 0.070417f, 0.008527f, -0.043649f, -0.040130f, 0.010691f, 0.083708f, 0.007352f, 0.011981f, 0.002520f, 0.027319f, -0.005426f, 0.062010f, -0.000718f, -0.070065f, 0.043736f, -0.045970f, -0.013928f, 0.018476f, -0.026545f, 0.005602f, -0.056537f, -0.021786f, 0.052283f, 0.023364f, -0.023547f, -0.034303f, -0.018446f, 0.003609f, -0.027330f, -0.009000f, -0.006118f, -0.017479f, -0.010354f, -0.008859f, -0.035478f, 0.021574f, -0.013353f, -0.016510f, -0.051348f, -0.013746f, 0.037501f, -0.026902f, -0.014551f, -0.014437f, -0.029415f, 0.055442f, 0.022932f, 0.001297f, -0.002042f, -0.032155f, -0.047066f, 0.002121f, 0.041715f, 0.033522f, 0.011332f, -0.036144f, -0.020817f, -0.016649f, 0.020227f, 0.002830f, -0.031577f, -0.008686f, - 0.001803f, 0.011432f, -0.028118f, -0.019704f, -0.016685f, 0.042766f, 0.022183f, 0.001870f, -0.027319f, -0.024442f, 0.024282f, 0.051578f, -0.000754f, -0.023613f, -0.032562f, -0.011982f, 0.014420f, 0.000127f, -0.007632f, 0.000834f, -0.006600f, -0.006023f, 0.004876f, 0.015607f, 0.000233f, -0.003463f, 0.000091f, -0.000143f, -0.004056f, 0.000967f, 0.000140f, 0.000357f, -0.005647f, 0.003617f, 0.000782f, -0.106770f, -0.028714f, 0.017177f, -0.035098f, 0.103987f, 0.077324f, 0.049545f, 0.027353f, 0.069911f, 0.050539f, 0.015869f, 0.034618f, -0.083869f, -0.111066f, -0.016279f, 0.001667f, -0.029493f, 0.015536f, -0.006087f, -0.028576f, -0.037376f, -0.029277f, 0.057123f, 0.050957f, -0.041071f, -0.004591f, -0.006368f, -0.009539f, -0.015082f, -0.020427f, -0.031267f, -0.042152f, -0.008905f, 0.076076f, -0.024877f, -0.041336f, -0.020760f, 0.071444f, -0.033822f, -0.031961f, 0.108917f, 0.039616f, 0.017740f, -0.026060f, -0.060945f, -0.041446f, -0.062838f, 0.017422f, 0.050574f, 0.139092f, -0.122358f, -0.050973f, 0.070700f, 0.099485f, 0.016569f, -0.005172f, 0.126229f, 0.061499f, -0.040719f, 0.041142f, -0.015287f, - 0.001206f, -0.088558f, -0.043594f, -0.031382f, -0.143333f, -0.061775f, -0.022465f, 0.076917f, -0.041171f, -0.024940f, 0.058661f, -0.004511f, -0.006875f, 0.013192f, 0.041536f, -0.040021f, 0.029612f, 0.043410f, 0.001864f, -0.009041f, -0.080504f, 0.036886f, 0.030034f, -0.094690f, -0.005918f, 0.009533f, 0.007000f, -0.008650f, -0.040839f, 0.010473f, 0.008014f, 0.011097f, -0.005678f, -0.012713f, 0.031010f, 0.005777f, -0.005336f, 0.020095f, 0.009542f, 0.054630f, -0.006618f, 0.017491f, 0.004447f, -0.044531f, -0.037287f, 0.026213f, -0.020330f, 0.015688f, 0.021605f, 0.012174f, 0.013712f, -0.000264f, 0.037498f, -0.012287f, -0.008176f, -0.015039f, 0.011458f, 0.027836f, -0.041876f, -0.016565f, 0.021561f, 0.008946f, -0.023297f, -0.044327f, -0.010190f, 0.011393f, 0.091959f, 0.033571f, -0.007520f, 0.023692f, -0.004510f, -0.008616f, -0.033689f, 0.016123f, 0.014172f, -0.026807f, -0.012845f, -0.097249f, -0.003790f, 0.039893f, -0.009217f, -0.040614f, 0.017901f, -0.009205f, 0.043877f, 0.008631f, -0.020993f, -0.000439f, 0.046967f, -0.026733f, 0.007712f, 0.016804f, -0.014048f, -0.000508f, -0.025120f, 0.051569f, - -0.002909f, 0.007598f, 0.001025f, 0.024879f, -0.011105f, -0.009810f, -0.015945f, 0.010243f, 0.019625f, -0.008592f, 0.023279f, -0.010067f, 0.014429f, -0.024313f, -0.018872f, 0.029348f, 0.037958f, -0.048824f, 0.002506f, -0.000003f, 0.004801f, 0.015300f, -0.030438f, 0.046992f, -0.041909f, 0.037812f, 0.005545f, -0.065858f, -0.003341f, 0.051302f, -0.066724f, 0.031907f, 0.000548f, 0.008608f, -0.015820f, -0.010077f, 0.013800f, -0.019472f, 0.068861f, -0.050784f, 0.007860f, -0.013655f, -0.005877f, 0.016882f, 0.001243f, -0.008360f, -0.001288f, 0.020711f, -0.000355f, -0.023833f, 0.007005f, 0.012055f, -0.039547f, 0.030976f, 0.014302f, 0.001437f, 0.028894f, -0.010484f, -0.008525f, 0.013438f, 0.006568f, 0.008519f, 0.005187f, -0.007902f, 0.016470f, 0.006933f, 0.001535f, -0.017447f, -0.002534f, 0.008505f, 0.015818f, -0.026470f, 0.014203f, 0.016476f, -0.023022f, 0.011087f, 0.003801f, 0.003976f, 0.012718f, -0.006963f, 0.003140f, -0.004366f, -0.033530f, -0.000515f, -0.007805f, 0.014815f, -0.009150f, 0.005655f, 0.004135f, -0.001401f, 0.004946f, 0.008585f, -0.005191f, 0.000009f, 0.001967f, -0.000243f, - 0.002902f, 0.010309f, -0.010057f, 0.009658f, -0.007211f, -0.048662f, -0.138491f, -0.197119f, 0.066040f, 0.175756f, 0.038398f, 0.486715f, 0.400309f, 0.270905f, 0.457758f, 0.238808f, -0.016720f, -0.057049f, -0.181369f, -0.417628f, -0.345445f, -0.335427f, -0.467054f, -0.344881f, -0.101842f, -0.074695f, -0.012793f, 0.162320f, 0.074976f, -0.020221f, 0.102342f, 0.170245f, 0.082743f, 0.079699f, 0.154319f, 0.092215f, 0.070502f, 0.140286f, 0.219792f, 0.091629f, 0.128685f, 0.206792f, 0.034716f, 0.013795f, 0.182079f, 0.107883f, -0.071010f, 0.087890f, 0.112760f, -0.118966f, -0.036333f, 0.130709f, -0.027387f, -0.078890f, 0.168326f, 0.089314f, -0.106101f, 0.090404f, 0.119475f, -0.161294f, -0.151619f, -0.064840f, -0.389423f, -0.515806f, -0.324330f, -0.456106f, -0.608368f, -0.423738f, -0.434222f, -0.560489f, -0.443978f, -0.307701f, -0.334169f, -0.199705f, 0.017611f, 0.123433f, 0.268679f, 0.441093f, 0.549430f, 0.677483f, 0.752218f, 0.822478f, 0.871573f, 0.783055f, 0.614924f, 0.568506f, 0.363410f, 0.109266f, 0.084969f, -0.059519f, -0.282115f, -0.221394f, -0.095280f, -0.209849f, -0.216339f, -0.046607f, - -0.153027f, -0.290934f, -0.176888f, -0.128263f, -0.261089f, -0.222035f, -0.080093f, -0.197564f, -0.235052f, -0.020245f, -0.013963f, -0.106635f, 0.039238f, 0.022452f, -0.171305f, -0.127061f, -0.075226f, -0.242347f, -0.333816f, -0.272891f, -0.372635f, -0.460982f, -0.343240f, -0.275672f, -0.262293f, -0.115960f, 0.049993f, 0.135377f, 0.201406f, 0.279929f, 0.315543f, 0.283225f, 0.369429f, 0.475201f, 0.491971f, 0.459757f, 0.467538f, 0.451348f, 0.365031f, 0.413256f, 0.371976f, 0.157889f, 0.016527f, -0.096639f, -0.208690f, -0.219812f, -0.182897f, -0.214572f, -0.210776f, -0.182796f, -0.181363f, -0.192518f, -0.160191f, -0.143456f, -0.138372f, -0.130832f, -0.103784f, -0.098683f, -0.103513f, -0.084337f, -0.060950f, -0.057591f, -0.047088f, -0.026566f, -0.016530f, -0.014126f, 0.005912f, 0.007798f, 0.004794f, 0.011065f, 0.021918f, 0.019143f, 0.024134f, 0.028874f, 0.024883f, 0.016074f, 0.010412f, 0.006425f, 0.007353f, 0.004932f, 0.006680f, 0.005033f, -0.001833f, -0.009732f, -0.006318f, -0.000293f, 0.010329f, 0.024285f, 0.039459f, 0.040835f, 0.046299f, 0.055967f, 0.060658f, 0.064281f, 0.075792f, 0.071950f, - 0.061180f, 0.055112f, 0.052236f, 0.037219f, 0.031918f, 0.029533f, 0.017437f, 0.004718f, 0.005956f, -0.004581f, -0.017439f, -0.025774f, -0.037400f, -0.056264f, -0.061761f, -0.064479f, -0.067295f, -0.069993f, -0.063868f, -0.061394f, -0.057203f, -0.048540f, -0.036028f, -0.030887f, -0.021823f, -0.015390f, -0.013210f, -0.009405f, -0.000765f, 0.003093f, 0.009595f, 0.012877f, 0.017108f, 0.018581f, 0.020498f, 0.020688f, 0.021726f, 0.018301f, 0.017753f, 0.015354f, 0.014098f, 0.010985f, 0.010959f, 0.008312f, 0.007809f, 0.005436f, 0.005448f, 0.003051f, 0.003119f, 0.001340f, 0.001896f, 0.000183f, 0.000786f} - }, - { - {0.007617f, 0.018013f, 0.000370f, 0.000677f, -0.008576f, -0.006981f, 0.005276f, 0.003120f, 0.000531f, 0.007308f, -0.011080f, -0.003857f, 0.018108f, 0.001154f, 0.003571f, -0.004826f, -0.006042f, 0.008410f, 0.007152f, -0.003055f, 0.007039f, 0.000217f, 0.001190f, -0.006966f, 0.002529f, -0.006351f, -0.004844f, -0.006239f, 0.002144f, 0.000167f, -0.001958f, -0.000775f, 0.002157f, 0.005287f, -0.002519f, -0.009896f, 0.000216f, -0.007079f, -0.008897f, -0.002429f, 0.004079f, -0.001459f, 0.003645f, 0.002203f, 0.003345f, -0.001493f, -0.001213f, -0.001766f, -0.001402f, 0.002938f, -0.000059f, 0.006128f, -0.000790f, 0.007608f, 0.001325f, 0.001657f, 0.007364f, 0.002525f, 0.001920f, 0.009384f, -0.003804f, 0.003047f, -0.003245f, -0.006779f, 0.006191f, -0.002304f, 0.000063f, 0.002185f, -0.001078f, -0.005644f, -0.001669f, 0.003917f, -0.002547f, -0.000226f, -0.005353f, 0.002522f, 0.000405f, -0.003688f, 0.000480f, -0.005833f, 0.000908f, -0.005599f, -0.000452f, -0.000162f, -0.000697f, 0.003102f, 0.001581f, 0.000751f, 0.001797f, -0.000688f, 0.003262f, 0.002250f, -0.000223f, 0.000631f, 0.000759f, -0.000204f, - 0.000157f, 0.000982f, -0.001310f, 0.000653f, -0.001685f, 0.001388f, 0.000199f, -0.000359f, -0.000035f, 0.001132f, 0.000354f, -0.001216f, 0.000430f, -0.000149f, -0.000612f, -0.001793f, -0.023732f, -0.012311f, -0.005550f, -0.005140f, -0.000030f, 0.000070f, 0.001757f, 0.000346f, -0.001337f, -0.009709f, -0.004414f, -0.009949f, -0.015604f, -0.013020f, 0.007353f, 0.009086f, 0.009176f, -0.003602f, -0.001089f, -0.001019f, -0.002051f, 0.003395f, 0.001413f, -0.003302f, -0.007069f, 0.005111f, 0.004350f, 0.006382f, 0.001668f, -0.002121f, -0.003867f, 0.001827f, 0.003044f, -0.000702f, 0.006470f, -0.003121f, -0.000174f, 0.006307f, -0.004799f, -0.007604f, 0.000617f, 0.010581f, 0.002435f, 0.002364f, 0.001488f, 0.000122f, 0.001364f, -0.001601f, 0.001890f, -0.008305f, 0.001373f, 0.008687f, -0.001967f, 0.000163f, 0.000874f, -0.002917f, -0.001636f, -0.001162f, -0.001390f, -0.002276f, 0.005313f, -0.004928f, 0.005215f, 0.004467f, 0.009739f, -0.000632f, 0.005485f, 0.012450f, -0.002265f, -0.009954f, -0.011183f, -0.000493f, -0.001439f, 0.000652f, -0.009485f, 0.002808f, -0.006650f, -0.004919f, 0.002316f, 0.006994f, - -0.002826f, -0.005246f, -0.006309f, -0.001185f, -0.000662f, 0.001803f, 0.000597f, 0.004046f, 0.002398f, -0.000164f, 0.002053f, 0.000639f, 0.003978f, 0.003038f, 0.001915f, 0.000917f, 0.000903f, -0.000628f, 0.002680f, 0.000190f, 0.000837f, -0.000258f, 0.000104f, -0.001921f, 0.000049f, -0.000316f, 0.016601f, 0.012889f, 0.005646f, 0.006553f, -0.004187f, 0.002905f, 0.011516f, 0.005488f, 0.012394f, -0.004879f, 0.005067f, 0.006942f, -0.000236f, 0.008928f, -0.004550f, 0.005548f, 0.001147f, -0.005859f, -0.001347f, -0.001178f, -0.000241f, -0.001725f, 0.000794f, -0.002983f, 0.001027f, -0.002206f, 0.011350f, -0.002670f, -0.000498f, -0.000116f, -0.004945f, -0.014364f, 0.008246f, -0.003474f, 0.003260f, -0.005757f, -0.005242f, -0.006152f, -0.003898f, 0.003625f, 0.010897f, 0.008412f, 0.003703f, -0.000699f, -0.002189f, 0.003332f, 0.007869f, -0.001806f, -0.002416f, 0.009503f, -0.004122f, 0.004505f, -0.004652f, -0.003836f, -0.002163f, 0.003482f, 0.003928f, -0.006827f, -0.004508f, 0.000096f, 0.007338f, 0.009247f, 0.005198f, 0.007188f, -0.000870f, 0.006727f, 0.002813f, 0.007070f, -0.003897f, 0.002781f, - 0.016513f, 0.007542f, 0.007087f, -0.001773f, -0.004469f, -0.011261f, 0.006621f, 0.002700f, -0.004471f, -0.004721f, -0.001380f, 0.003315f, -0.003253f, -0.001660f, -0.002913f, 0.000009f, 0.002485f, -0.001090f, -0.004456f, 0.001236f, 0.001730f, 0.002545f, 0.002869f, 0.000277f, 0.004004f, 0.001805f, 0.001751f, 0.001097f, -0.001117f, 0.002626f, 0.000401f, -0.000106f, -0.001174f, -0.002112f, -0.002059f, 0.000441f, 0.001737f, 0.000558f, 0.000254f, 0.000392f, 0.000020f, 0.002348f, -0.003190f, -0.000894f, 0.001167f, -0.001434f, 0.001493f, 0.005024f, 0.018937f, 0.002697f, 0.006870f, 0.013714f, 0.000257f, -0.007845f, -0.003368f, -0.002359f, 0.000534f, -0.004947f, -0.013470f, 0.005395f, 0.000443f, 0.000282f, 0.005615f, -0.008941f, -0.004140f, 0.014049f, -0.003462f, -0.005325f, -0.008348f, 0.000270f, -0.007892f, -0.001332f, -0.002648f, -0.002387f, 0.000986f, 0.011340f, -0.000392f, -0.003587f, 0.003305f, -0.009056f, 0.012088f, -0.001571f, -0.002756f, 0.015122f, -0.008762f, 0.000692f, -0.010349f, -0.004746f, 0.000841f, 0.000450f, 0.003925f, 0.004749f, -0.009245f, 0.002707f, 0.003813f, 0.003103f, - 0.000838f, 0.004308f, 0.003107f, 0.006306f, -0.005876f, -0.003152f, 0.011903f, -0.005015f, 0.004515f, 0.001097f, 0.003379f, 0.003044f, -0.001076f, -0.004097f, -0.000688f, 0.008398f, -0.005090f, -0.000607f, -0.002737f, 0.001907f, 0.007471f, -0.004287f, -0.009475f, -0.018218f, 0.001062f, -0.000803f, -0.001639f, 0.000017f, -0.007063f, -0.004951f, -0.010212f, -0.004049f, 0.004961f, -0.000229f, 0.003054f, -0.001266f, 0.006225f, 0.004311f, -0.000148f, 0.003214f, -0.000346f, -0.000456f, 0.002096f, -0.004007f, -0.002202f, -0.003266f, -0.000121f, -0.003888f, 0.002177f, -0.000208f, 0.000982f, -0.001489f, -0.001333f, -0.000232f, -0.001483f, 0.000807f, 0.001329f, -0.003612f, 0.001577f, 0.001359f, 0.000719f, -0.003449f, 0.001673f, 0.001121f, 0.003071f, 0.003285f, -0.000426f, -0.001241f, -0.001886f, 0.001599f, -0.001015f, -0.000702f, 0.000501f, -0.000551f, -0.002236f, -0.008266f, -0.020224f, 0.010189f, -0.006607f, -0.011634f, 0.000588f, -0.021786f, 0.004748f, 0.006568f, -0.002334f, 0.015789f, -0.006014f, -0.019176f, 0.004638f, 0.007174f, -0.006595f, -0.013590f, 0.023145f, -0.001529f, -0.001330f, 0.005789f, - -0.005058f, -0.003038f, 0.002406f, -0.011387f, 0.006674f, -0.001283f, 0.003310f, -0.002452f, 0.010845f, -0.002818f, 0.006099f, 0.005234f, -0.010626f, -0.005322f, -0.005971f, 0.011002f, -0.005480f, -0.003406f, 0.008469f, -0.003034f, -0.006230f, 0.004793f, 0.015499f, -0.007950f, 0.007574f, -0.008212f, 0.010204f, -0.005708f, 0.005397f, 0.000924f, -0.005426f, -0.015929f, 0.008891f, 0.011290f, -0.001024f, -0.003747f, 0.006595f, 0.007878f, 0.007800f, -0.011004f, -0.001198f, -0.009723f, -0.000839f, 0.003262f, -0.006661f, 0.002460f, 0.007585f, -0.008147f, -0.000124f, 0.001415f, -0.007626f, -0.005730f, 0.007242f, -0.005275f, 0.005737f, -0.003483f, -0.009808f, 0.001864f, -0.009507f, 0.002336f, -0.003561f, 0.003194f, -0.010475f, 0.009560f, -0.007879f, 0.000836f, -0.007320f, -0.000415f, -0.000390f, 0.001823f, -0.000712f, -0.000225f, -0.002240f, 0.002381f, -0.007067f, 0.002319f, -0.005775f, -0.004894f, 0.000210f, 0.004106f, 0.002118f, 0.000601f, 0.001418f, 0.000077f, 0.002642f, 0.005270f, -0.004514f, 0.004345f, -0.002886f, -0.000825f, 0.002983f, 0.002096f, -0.003176f, -0.000247f, -0.008216f, 0.010372f, - -0.011428f, -0.011331f, -0.019438f, 0.008179f, 0.020516f, 0.003120f, -0.003701f, -0.001782f, -0.003476f, 0.017870f, -0.010745f, -0.009782f, -0.002332f, -0.010785f, -0.003335f, -0.011718f, -0.005080f, -0.008231f, -0.016286f, -0.004581f, -0.003613f, -0.000589f, -0.001815f, 0.004200f, 0.009670f, 0.003444f, 0.004773f, -0.014960f, 0.001820f, -0.000266f, -0.004711f, 0.005159f, 0.002731f, -0.004383f, -0.001959f, -0.010662f, -0.011827f, -0.001751f, 0.013041f, -0.003862f, -0.006759f, -0.001471f, -0.004397f, -0.009217f, 0.000120f, -0.009625f, 0.019583f, 0.016514f, 0.004245f, -0.005091f, -0.004631f, 0.001695f, 0.002916f, 0.003351f, 0.003194f, -0.001234f, 0.007264f, -0.006968f, 0.003191f, -0.006137f, 0.000148f, -0.000115f, 0.004059f, 0.002822f, 0.009166f, -0.004036f, -0.005698f, -0.005208f, -0.021351f, 0.000614f, 0.004396f, -0.002206f, 0.007681f, 0.003286f, -0.006456f, 0.001797f, -0.011230f, -0.004217f, 0.000882f, 0.008505f, 0.003604f, 0.011658f, 0.002308f, -0.001472f, 0.000020f, 0.004275f, -0.004903f, -0.000687f, 0.001070f, -0.002088f, 0.002948f, -0.004282f, 0.002157f, -0.003283f, -0.002670f, -0.000606f, - -0.003644f, -0.003605f, -0.004448f, -0.002403f, -0.001337f, 0.003205f, 0.002688f, -0.003351f, -0.004709f, -0.001512f, -0.003615f, 0.002371f, -0.004027f, 0.001850f, -0.002366f, -0.000758f, 0.003906f, 0.000171f, 0.003258f, 0.002152f, -0.002132f, -0.002076f, -0.020251f, 0.003440f, 0.020258f, 0.019466f, -0.020908f, -0.018715f, 0.004693f, -0.014854f, -0.008184f, 0.002345f, -0.001250f, -0.005966f, 0.015325f, 0.007050f, -0.022075f, -0.001607f, 0.001105f, -0.000039f, 0.013781f, 0.005360f, -0.010363f, 0.014879f, 0.005288f, 0.002093f, -0.008088f, -0.008248f, 0.006099f, -0.005239f, -0.015017f, -0.002553f, -0.002130f, -0.006476f, -0.009042f, -0.011810f, 0.012530f, 0.001039f, 0.001687f, -0.008138f, 0.000012f, 0.009169f, -0.007310f, -0.014898f, -0.015438f, 0.016141f, 0.003403f, 0.015245f, -0.002598f, 0.004468f, 0.010933f, 0.022781f, 0.007117f, -0.002705f, -0.011749f, -0.004827f, -0.005953f, 0.003576f, 0.001034f, -0.008880f, -0.003853f, 0.013301f, 0.009108f, 0.018023f, 0.008183f, -0.012238f, -0.012029f, 0.014934f, 0.007680f, -0.007649f, -0.000102f, 0.015378f, 0.001000f, -0.000726f, -0.012034f, 0.013215f, - 0.009614f, -0.002201f, 0.018023f, -0.002599f, -0.005441f, -0.018912f, -0.002705f, 0.001075f, 0.009947f, -0.013016f, -0.001003f, 0.005984f, -0.003400f, -0.009332f, -0.009061f, -0.001077f, -0.001074f, -0.001611f, -0.011279f, -0.009687f, -0.006004f, 0.003659f, -0.000398f, -0.004394f, -0.001703f, -0.000493f, 0.000792f, 0.001040f, 0.001463f, -0.000825f, 0.003552f, -0.002957f, -0.000962f, 0.000209f, -0.002391f, -0.007216f, 0.000306f, 0.004378f, -0.001513f, -0.006357f, 0.000374f, -0.001440f, 0.002127f, 0.000501f, -0.000999f, -0.000456f, 0.001950f, -0.000873f, 0.003761f, 0.002164f, -0.000304f, -0.003456f, 0.002485f, -0.002697f, 0.002512f, 0.003337f, -0.008211f, 0.003246f, -0.003072f, -0.001662f, 0.010047f, -0.016748f, 0.010064f, -0.010985f, 0.001977f, 0.008767f, -0.000119f, -0.004473f, 0.003276f, -0.011506f, 0.000451f, -0.008967f, -0.025991f, -0.007968f, 0.010980f, 0.007090f, 0.003989f, -0.006345f, 0.005284f, 0.002347f, 0.027718f, 0.004733f, -0.009421f, 0.010285f, 0.002001f, 0.002159f, 0.018412f, -0.005360f, -0.005232f, 0.006367f, -0.013050f, 0.015591f, 0.014399f, -0.000401f, 0.008124f, -0.003105f, - -0.008013f, -0.001108f, -0.010059f, 0.000766f, -0.009852f, 0.003751f, -0.000195f, 0.002752f, 0.001073f, -0.016889f, -0.003520f, -0.002249f, 0.000874f, -0.008554f, 0.003607f, 0.003646f, -0.003292f, 0.022087f, -0.009748f, -0.019797f, 0.011700f, 0.019301f, 0.004336f, 0.004922f, -0.008629f, 0.016546f, -0.005745f, 0.002706f, 0.007405f, 0.002090f, -0.007612f, 0.007844f, 0.003365f, 0.000859f, -0.000124f, -0.015293f, -0.005442f, 0.007364f, 0.013425f, -0.005328f, -0.010062f, -0.013926f, -0.004584f, 0.004558f, 0.002475f, 0.006820f, -0.017136f, 0.003116f, 0.011412f, 0.001417f, -0.000739f, 0.004306f, -0.003636f, -0.002035f, -0.000552f, -0.001023f, 0.005950f, -0.001793f, 0.001840f, -0.001892f, -0.001326f, -0.001415f, -0.004440f, -0.002556f, 0.001991f, -0.003159f, 0.004070f, -0.000760f, -0.000827f, -0.002109f, -0.002533f, -0.013054f, 0.001139f, 0.006822f, -0.000430f, 0.002311f, -0.001329f, 0.004187f, 0.001362f, -0.002643f, -0.003073f, 0.002295f, 0.056513f, -0.015419f, 0.000251f, -0.005619f, -0.003710f, -0.012520f, -0.000374f, -0.033075f, 0.017137f, -0.011830f, -0.000929f, 0.019284f, 0.009390f, -0.012648f, - -0.013760f, -0.005029f, -0.011780f, 0.010642f, -0.027525f, 0.005153f, 0.011271f, 0.015785f, 0.002994f, 0.004766f, 0.000539f, 0.002644f, -0.003722f, -0.008538f, -0.025168f, -0.003620f, 0.003080f, 0.011617f, -0.009133f, 0.011205f, 0.004236f, -0.004482f, -0.001715f, 0.008696f, -0.009186f, -0.008505f, -0.005050f, -0.006481f, -0.001086f, -0.022116f, -0.010495f, -0.005219f, -0.000734f, 0.017663f, 0.003820f, 0.016855f, 0.005663f, -0.000691f, -0.010654f, 0.001362f, 0.000928f, 0.002634f, 0.005690f, 0.023597f, 0.002633f, -0.021941f, 0.005568f, -0.008557f, -0.000732f, -0.008228f, -0.009414f, -0.004279f, 0.008891f, 0.005909f, -0.039116f, -0.014558f, -0.011721f, 0.007466f, -0.001797f, -0.008296f, -0.005492f, 0.022092f, -0.009161f, 0.016993f, -0.016056f, -0.011903f, -0.017376f, -0.009335f, -0.018463f, -0.002793f, 0.024387f, 0.005811f, -0.003076f, 0.003006f, 0.010298f, -0.000136f, 0.012722f, -0.007156f, 0.004830f, 0.007256f, 0.008593f, 0.003516f, -0.001658f, -0.016924f, -0.006425f, -0.008657f, 0.000005f, 0.005582f, 0.004636f, -0.003365f, -0.001345f, 0.007245f, 0.002862f, -0.005535f, -0.002473f, -0.003859f, - -0.001855f, 0.000388f, 0.003581f, -0.002905f, -0.003035f, 0.009202f, 0.007584f, 0.002510f, -0.001194f, 0.003385f, 0.006188f, 0.000549f, -0.005697f, -0.000466f, -0.005809f, 0.001547f, -0.005225f, 0.003114f, 0.009364f, -0.002945f, -0.008668f, -0.009573f, 0.007161f, -0.017733f, 0.001103f, -0.041355f, 0.010062f, -0.013560f, 0.004042f, -0.014095f, -0.030487f, -0.004725f, -0.007094f, 0.021613f, 0.009177f, 0.007764f, -0.000730f, 0.028692f, -0.021587f, 0.005244f, 0.008156f, 0.022160f, -0.025570f, -0.014618f, -0.005070f, 0.002081f, -0.001721f, -0.007290f, -0.002385f, 0.007635f, -0.013778f, 0.002782f, 0.008130f, -0.001609f, 0.001096f, -0.011144f, -0.012741f, -0.007912f, 0.034325f, 0.000278f, -0.008368f, 0.013324f, -0.008268f, -0.017315f, -0.014176f, -0.009402f, -0.002503f, 0.006054f, 0.001250f, 0.001149f, 0.019047f, 0.017392f, -0.003170f, 0.006171f, 0.004182f, -0.022072f, -0.015147f, -0.001001f, -0.001789f, -0.005814f, -0.015055f, 0.018414f, 0.022269f, -0.018331f, 0.012010f, 0.011254f, -0.003606f, -0.017526f, -0.028239f, -0.027397f, -0.021122f, -0.012479f, -0.024378f, 0.002158f, -0.019966f, 0.011886f, - 0.010713f, 0.001712f, 0.000196f, -0.034080f, 0.002180f, 0.000564f, 0.002459f, -0.017506f, 0.005807f, 0.019254f, 0.002550f, 0.004827f, -0.015459f, -0.009627f, -0.001946f, -0.016319f, 0.003724f, 0.010018f, -0.004853f, -0.006119f, -0.007521f, 0.006217f, 0.010230f, -0.018120f, -0.009933f, -0.000991f, 0.011956f, 0.004352f, -0.005315f, 0.004113f, -0.000705f, -0.000307f, 0.005334f, -0.003582f, 0.006893f, -0.008117f, -0.002898f, 0.005714f, 0.005001f, -0.002116f, 0.013421f, 0.000733f, -0.008555f, -0.007331f, -0.001302f, -0.006066f, -0.005450f, 0.000579f, 0.003715f, -0.002667f, -0.002856f, -0.016910f, -0.014216f, -0.009839f, -0.011129f, -0.003511f, -0.025256f, 0.001098f, 0.027531f, -0.009738f, 0.014484f, -0.005833f, 0.027445f, 0.023248f, 0.009569f, -0.028600f, -0.007394f, 0.038116f, -0.009937f, 0.028244f, 0.004350f, -0.027167f, -0.013833f, 0.031915f, 0.000597f, -0.021548f, 0.000410f, -0.018381f, -0.002618f, 0.006431f, 0.002527f, -0.003725f, -0.031966f, -0.028366f, 0.007716f, 0.020423f, -0.018303f, -0.001665f, 0.007886f, -0.001429f, 0.003030f, 0.033964f, 0.006166f, 0.004895f, 0.002848f, 0.011187f, - -0.015163f, -0.010736f, -0.007830f, -0.035923f, -0.012267f, -0.013520f, -0.009381f, 0.009404f, 0.006232f, -0.002330f, -0.003663f, -0.014248f, -0.021587f, 0.028000f, -0.006135f, -0.024717f, -0.011640f, 0.004955f, 0.018710f, -0.014956f, -0.004751f, -0.015869f, -0.003055f, -0.018949f, -0.003723f, -0.004081f, -0.038051f, 0.003429f, -0.012872f, 0.026248f, -0.006859f, -0.021426f, -0.040355f, -0.026606f, -0.005103f, 0.003295f, 0.014066f, -0.010464f, -0.009602f, -0.021987f, 0.020024f, 0.033911f, 0.003531f, -0.004063f, 0.011497f, -0.008905f, 0.012721f, -0.009609f, -0.004683f, 0.004342f, 0.009717f, 0.007021f, -0.011913f, 0.000390f, 0.002425f, -0.000176f, -0.000896f, -0.002996f, 0.003162f, 0.012043f, -0.005100f, -0.010606f, -0.000508f, -0.002381f, 0.005478f, -0.000086f, 0.011676f, 0.000819f, 0.004242f, 0.000425f, -0.007231f, 0.001899f, -0.002924f, 0.012604f, 0.000684f, -0.007995f, -0.001569f, -0.001918f, 0.008368f, 0.000869f, -0.009275f, -0.001378f, 0.006432f, -0.002956f, 0.001522f, 0.013241f, -0.046533f, -0.023611f, -0.016075f, -0.025293f, -0.013692f, -0.010291f, -0.026434f, 0.027783f, -0.008117f, 0.041884f, - -0.021193f, -0.031421f, -0.006241f, -0.021059f, 0.035851f, -0.012268f, -0.019068f, -0.008672f, 0.009536f, 0.018393f, 0.015594f, -0.003684f, -0.004326f, -0.008128f, 0.003859f, 0.029758f, -0.000894f, 0.002945f, -0.009649f, -0.003625f, -0.015628f, -0.004954f, 0.006782f, 0.005227f, -0.012937f, 0.000740f, -0.019094f, 0.003936f, -0.005776f, -0.005556f, 0.007657f, 0.003742f, -0.008944f, -0.003414f, 0.016133f, 0.006233f, -0.013541f, -0.017556f, 0.029431f, -0.001272f, -0.047116f, 0.024596f, -0.005311f, -0.019842f, 0.009379f, -0.002767f, 0.002064f, -0.004448f, 0.016263f, 0.006456f, 0.001584f, 0.045301f, 0.044500f, -0.015607f, 0.004779f, -0.033391f, -0.007213f, -0.006315f, 0.014150f, -0.005003f, 0.002226f, 0.013896f, -0.010230f, 0.025929f, -0.010992f, 0.002967f, -0.035031f, 0.014645f, -0.009182f, -0.024326f, 0.012198f, -0.005525f, 0.049115f, 0.011851f, 0.009294f, 0.018339f, 0.001951f, -0.017038f, -0.001454f, -0.006944f, -0.004309f, 0.005073f, -0.006177f, 0.010167f, 0.006062f, -0.007373f, 0.012455f, 0.007256f, -0.008310f, -0.002007f, 0.000668f, 0.001422f, -0.003458f, 0.002836f, 0.004316f, -0.001023f, - -0.003769f, 0.001021f, 0.003829f, 0.002482f, 0.002880f, -0.007741f, 0.007951f, -0.015669f, 0.013997f, -0.009134f, -0.005527f, -0.000893f, 0.007260f, 0.010672f, 0.002727f, -0.011842f, 0.000037f, -0.004664f, -0.002969f, 0.003085f, -0.011647f, -0.020804f, 0.006101f, 0.055965f, -0.041977f, -0.013235f, -0.026583f, -0.017444f, 0.021096f, -0.023911f, 0.051181f, -0.005825f, 0.015622f, 0.003034f, 0.012423f, -0.031648f, 0.005824f, 0.008560f, -0.002365f, -0.004587f, -0.002805f, 0.009618f, -0.019570f, -0.011655f, -0.002778f, -0.005326f, -0.024184f, -0.021263f, -0.005763f, -0.009714f, 0.029212f, -0.007387f, -0.013848f, -0.009781f, 0.010045f, -0.014776f, -0.006350f, -0.025739f, 0.012165f, -0.009689f, 0.010722f, -0.008957f, 0.013634f, -0.006718f, -0.044790f, -0.022581f, 0.006621f, -0.003253f, -0.002735f, -0.013730f, -0.026671f, -0.001289f, 0.011760f, 0.008150f, -0.006059f, 0.009045f, 0.013731f, 0.042730f, -0.018214f, 0.020379f, -0.047799f, 0.003270f, 0.007028f, -0.005421f, -0.013726f, 0.009958f, 0.001804f, 0.002480f, 0.010744f, 0.034035f, 0.022921f, 0.017574f, -0.009045f, -0.010625f, 0.016721f, -0.020079f, - 0.005020f, 0.017364f, -0.012094f, 0.042525f, -0.000638f, 0.013395f, -0.011512f, 0.024651f, -0.023175f, -0.022554f, 0.000761f, 0.008841f, -0.010460f, -0.002267f, 0.026406f, 0.000536f, 0.024045f, 0.009077f, -0.003694f, -0.003502f, -0.013688f, -0.000806f, -0.000703f, 0.007081f, -0.000866f, -0.010715f, 0.001940f, 0.005263f, 0.013650f, -0.019576f, 0.003461f, -0.009780f, 0.004232f, 0.011675f, -0.003856f, 0.000011f, -0.010349f, 0.003747f, 0.003912f, -0.006398f, -0.023909f, -0.014660f, -0.009424f, 0.004987f, -0.012611f, -0.006845f, -0.008441f, -0.007256f, 0.004867f, 0.009607f, -0.000210f, 0.008036f, 0.003006f, 0.004455f, 0.001464f, -0.016944f, 0.014754f, -0.012404f, 0.022793f, 0.065704f, 0.047176f, -0.012949f, -0.028937f, -0.020233f, 0.040483f, -0.048061f, 0.002915f, -0.012470f, -0.011335f, 0.019113f, -0.034595f, 0.004273f, -0.017525f, -0.000832f, -0.023967f, -0.019155f, 0.003186f, 0.000878f, 0.001327f, -0.023884f, 0.037786f, 0.007186f, -0.016406f, 0.006387f, -0.004605f, 0.002885f, 0.056162f, 0.017230f, -0.015245f, -0.014123f, 0.003047f, 0.016908f, 0.005008f, -0.042151f, -0.009942f, -0.029269f, - -0.009304f, -0.013925f, 0.014430f, -0.008202f, -0.003636f, -0.000698f, -0.001110f, -0.020888f, -0.023437f, 0.015053f, -0.008677f, 0.003762f, -0.000792f, 0.020348f, -0.016553f, -0.012501f, 0.005609f, 0.008245f, -0.022021f, 0.024497f, -0.015309f, -0.036824f, -0.033604f, -0.012573f, -0.009421f, -0.015161f, -0.007287f, -0.052174f, 0.018573f, -0.025000f, -0.007474f, -0.020950f, 0.028986f, 0.008847f, 0.014031f, -0.000481f, -0.004091f, -0.025488f, -0.007255f, 0.033289f, -0.027498f, 0.040437f, 0.031551f, 0.010499f, -0.007063f, 0.000933f, -0.005472f, 0.005397f, -0.017777f, -0.015028f, -0.008718f, 0.002005f, -0.002170f, 0.002105f, 0.007945f, -0.013630f, -0.002962f, 0.012725f, 0.014086f, -0.005922f, 0.008871f, -0.007827f, -0.011504f, -0.005720f, -0.003411f, 0.008244f, 0.002641f, 0.002783f, -0.011377f, -0.008163f, 0.004310f, -0.004841f, 0.004027f, 0.004345f, 0.008569f, 0.015867f, 0.006799f, 0.008678f, -0.010752f, -0.006862f, -0.003512f, 0.004309f, -0.005098f, 0.001697f, -0.004700f, 0.001795f, 0.016902f, 0.007334f, 0.004774f, -0.003712f, 0.010728f, 0.002797f, -0.004101f, -0.065405f, -0.007850f, 0.043225f, - -0.053039f, -0.021393f, -0.001063f, -0.016484f, 0.019542f, -0.011245f, 0.060444f, -0.006202f, -0.012854f, -0.010108f, -0.002422f, 0.017511f, -0.011724f, -0.011736f, 0.049376f, -0.036104f, -0.004133f, 0.011347f, -0.007711f, 0.030661f, 0.017586f, -0.002215f, -0.003607f, 0.012985f, 0.017719f, 0.018955f, 0.015840f, 0.032468f, 0.010619f, 0.013948f, 0.008720f, -0.010590f, 0.054676f, 0.006821f, 0.010418f, 0.013731f, 0.008358f, 0.039267f, -0.002551f, 0.009681f, 0.013799f, 0.011346f, 0.006676f, 0.025911f, -0.015088f, -0.012384f, 0.026060f, -0.004748f, -0.025791f, -0.006694f, -0.045285f, -0.015493f, -0.008484f, 0.043115f, -0.040551f, -0.005279f, 0.002036f, -0.001401f, -0.002083f, 0.025427f, 0.069918f, -0.012156f, 0.009006f, 0.007966f, 0.010836f, 0.033231f, -0.035737f, -0.036973f, -0.033329f, 0.059315f, 0.004672f, -0.022308f, 0.054745f, -0.020765f, 0.047768f, -0.025558f, 0.018509f, 0.002015f, -0.062848f, -0.009171f, -0.015489f, 0.018097f, -0.001006f, -0.005432f, 0.000713f, 0.011381f, -0.001385f, -0.019139f, 0.010633f, 0.000296f, -0.008620f, -0.000164f, -0.016486f, 0.022613f, -0.002109f, 0.008130f, - -0.010401f, -0.009671f, -0.009259f, -0.012812f, -0.000874f, 0.000386f, 0.021898f, -0.000955f, 0.002733f, -0.008611f, 0.002757f, -0.020418f, 0.006865f, -0.019678f, -0.003286f, -0.004239f, -0.017228f, 0.009346f, -0.013559f, -0.013987f, 0.003461f, -0.019517f, 0.006391f, 0.015640f, 0.014973f, -0.007336f, -0.006481f, 0.003784f, 0.006317f, 0.013602f, 0.017734f, 0.001016f, 0.038882f, 0.003258f, -0.038662f, -0.114718f, 0.023194f, -0.027749f, -0.043984f, 0.049328f, -0.029437f, -0.015541f, -0.043310f, 0.011060f, -0.008357f, -0.042828f, -0.013518f, -0.025531f, 0.012214f, -0.023662f, 0.001464f, 0.008883f, 0.019473f, 0.009508f, 0.032760f, 0.004876f, 0.000095f, -0.003600f, -0.026976f, -0.021195f, -0.019112f, 0.015501f, 0.024577f, 0.011047f, 0.008953f, -0.000926f, 0.009700f, 0.018786f, 0.044661f, -0.021216f, -0.011336f, 0.007548f, -0.019800f, 0.021104f, 0.004976f, -0.019626f, 0.045451f, 0.016245f, -0.037628f, 0.014777f, -0.036183f, 0.004101f, 0.007323f, 0.019009f, -0.010036f, -0.012563f, 0.057699f, 0.022061f, -0.024316f, 0.014753f, 0.030688f, -0.023751f, -0.049659f, 0.027555f, -0.003670f, -0.000784f, - 0.004460f, 0.011968f, 0.077958f, -0.007425f, 0.010062f, 0.014666f, 0.000110f, 0.017638f, 0.010784f, -0.041375f, 0.009101f, -0.022103f, -0.018789f, -0.011724f, 0.009750f, -0.066695f, -0.007732f, 0.020575f, 0.003655f, 0.032877f, -0.023935f, 0.023237f, -0.015509f, -0.007136f, -0.008573f, 0.010310f, 0.004968f, -0.008318f, 0.000428f, -0.000186f, -0.011421f, 0.009235f, -0.014513f, 0.015479f, 0.002459f, 0.010732f, 0.009644f, -0.006890f, -0.005167f, 0.002577f, -0.003782f, 0.002110f, 0.003993f, -0.006696f, -0.002000f, -0.007671f, -0.004906f, -0.005092f, -0.012976f, 0.000083f, 0.002214f, 0.007591f, -0.003944f, 0.007305f, 0.018453f, -0.009657f, 0.003312f, -0.009690f, 0.005130f, 0.005575f, -0.014901f, -0.000013f, 0.005237f, -0.014582f, -0.006825f, 0.012358f, 0.000455f, 0.002315f, 0.003108f, 0.000295f, 0.000342f, -0.035391f, -0.040758f, 0.087421f, 0.018691f, -0.005618f, -0.010518f, 0.019748f, 0.078996f, 0.036273f, 0.009476f, -0.002239f, 0.026511f, 0.066011f, 0.016453f, 0.022801f, 0.020617f, 0.047093f, -0.030260f, 0.030532f, 0.013604f, -0.090211f, 0.026819f, -0.012683f, 0.026850f, -0.028024f, - 0.021323f, 0.014199f, 0.028143f, -0.000117f, 0.012000f, 0.004509f, -0.025514f, 0.012894f, 0.025522f, -0.021191f, 0.012893f, -0.020566f, -0.012318f, 0.064872f, 0.006755f, 0.057461f, -0.040640f, 0.018001f, -0.001935f, -0.008046f, -0.001123f, -0.004817f, 0.009074f, 0.021180f, 0.014748f, -0.001418f, 0.032931f, -0.052020f, -0.049022f, 0.035891f, -0.027814f, -0.007019f, -0.006356f, -0.033555f, 0.017225f, -0.008687f, 0.009819f, 0.005454f, 0.055698f, 0.027169f, 0.029462f, 0.011213f, 0.008078f, -0.050219f, -0.011380f, 0.025069f, -0.000233f, 0.000887f, 0.000199f, -0.015928f, -0.043645f, 0.008671f, 0.004314f, -0.032585f, 0.004907f, -0.015506f, -0.012719f, 0.014087f, 0.009562f, 0.050094f, -0.006858f, 0.012969f, 0.012183f, -0.009274f, -0.012574f, -0.001079f, -0.011932f, -0.004388f, 0.029638f, 0.012592f, 0.005616f, 0.001807f, -0.000231f, 0.001049f, -0.000054f, -0.001393f, -0.019591f, -0.005726f, 0.012499f, -0.003113f, 0.001566f, -0.007010f, -0.009711f, -0.003721f, 0.003589f, 0.024198f, -0.015502f, -0.014941f, 0.014379f, 0.007273f, -0.017441f, 0.012992f, 0.007978f, -0.012218f, 0.016308f, 0.001748f, - -0.009124f, -0.004004f, -0.006188f, -0.002548f, -0.002628f, 0.008357f, 0.004423f, 0.004415f, 0.009505f, 0.013636f, 0.010237f, -0.002073f, 0.007427f, 0.023246f, -0.079767f, 0.068154f, -0.029021f, 0.013933f, 0.043209f, -0.062740f, -0.002166f, -0.004488f, 0.014935f, 0.024742f, 0.027034f, 0.048433f, 0.007539f, -0.029482f, 0.016369f, 0.051543f, -0.072172f, -0.041119f, 0.047724f, 0.003568f, -0.000804f, 0.003386f, 0.003703f, -0.000175f, -0.001650f, 0.025758f, 0.014703f, -0.033297f, 0.001799f, -0.008530f, 0.059526f, 0.037403f, -0.012616f, 0.004809f, 0.006844f, 0.008651f, -0.000744f, 0.022983f, 0.001846f, 0.017950f, 0.060817f, 0.009676f, 0.006124f, -0.008000f, 0.015394f, -0.056893f, -0.025479f, -0.023176f, -0.002889f, 0.007430f, -0.051589f, 0.021426f, -0.045809f, 0.016606f, 0.046955f, -0.009150f, -0.042755f, -0.021635f, 0.017348f, -0.007176f, -0.087048f, 0.024864f, -0.060812f, -0.012109f, -0.007737f, 0.003083f, -0.024485f, 0.007241f, 0.030419f, -0.024065f, -0.057748f, -0.085479f, 0.067484f, 0.021627f, -0.010728f, 0.020351f, -0.020575f, 0.021689f, 0.037408f, -0.037920f, 0.067140f, 0.010320f, - -0.007215f, 0.032289f, 0.017679f, -0.009756f, 0.017328f, 0.002359f, 0.018722f, -0.017126f, -0.009705f, 0.006175f, 0.013554f, 0.024453f, 0.006967f, 0.022169f, -0.013870f, 0.013093f, 0.021909f, 0.020560f, -0.003170f, 0.018837f, -0.018871f, 0.008717f, 0.001903f, 0.009341f, 0.036549f, -0.023099f, 0.014621f, 0.003234f, -0.001225f, 0.029693f, 0.007941f, 0.038343f, -0.004690f, 0.019606f, 0.005058f, 0.015758f, 0.004362f, -0.006289f, 0.011338f, -0.017802f, 0.016794f, -0.005730f, 0.013970f, -0.001899f, 0.003972f, -0.000152f, 0.003075f, 0.001143f, 0.014670f, -0.001839f, -0.003206f, -0.000494f, 0.006488f, 0.000756f, -0.001198f, 0.002157f, 0.003409f, 0.003556f, 0.002921f, -0.000276f, 0.002939f, -0.000573f, 0.002820f, 0.003191f, 0.003113f, -0.003402f, 0.001295f, 0.002165f, -0.001615f, -0.001410f, 0.097523f, -0.104893f, 0.042939f, 0.051850f, -0.064211f, -0.021102f, -0.034175f, -0.020348f, 0.096745f, -0.044228f, 0.068884f, -0.033026f, -0.008351f, -0.018407f, 0.023095f, 0.007193f, -0.082151f, -0.017008f, -0.021202f, 0.034374f, 0.002589f, 0.013569f, 0.029569f, -0.041991f, -0.006794f, -0.027410f, - 0.015237f, 0.032205f, 0.021728f, -0.053942f, -0.008399f, 0.008767f, 0.007722f, -0.005021f, -0.023928f, -0.011964f, -0.046487f, -0.010452f, -0.005866f, 0.041615f, -0.037855f, 0.093016f, 0.021572f, -0.029604f, 0.042523f, -0.000406f, 0.055012f, 0.027767f, 0.052224f, 0.010738f, 0.047746f, 0.036505f, 0.046706f, 0.046674f, 0.007973f, 0.045080f, -0.059701f, -0.012409f, 0.013203f, -0.041747f, -0.006364f, 0.022949f, -0.046252f, -0.070538f, 0.028008f, 0.042381f, 0.001884f, 0.008174f, -0.047486f, -0.014989f, -0.039673f, -0.003661f, 0.046204f, 0.001686f, 0.085958f, 0.036692f, -0.021267f, 0.088191f, 0.048129f, -0.028761f, -0.010020f, -0.021179f, -0.028401f, -0.020381f, 0.022400f, -0.015053f, -0.044194f, 0.005100f, 0.031348f, -0.001045f, -0.014392f, -0.013903f, -0.009098f, -0.017185f, -0.026793f, 0.002466f, -0.006121f, -0.005841f, -0.020696f, -0.004220f, -0.007256f, 0.006802f, 0.014874f, -0.006866f, 0.002979f, -0.008357f, -0.016235f, 0.008137f, -0.004370f, -0.015005f, -0.030741f, 0.011780f, -0.042372f, -0.008412f, -0.029424f, -0.020415f, -0.023978f, -0.008743f, -0.003911f, -0.011271f, -0.016880f, -0.010870f, - -0.019264f, -0.006218f, -0.002450f, -0.004163f, -0.013064f, 0.016660f, -0.015747f, 0.006398f, -0.003473f, -0.028750f, -0.008054f, -0.029308f, 0.003794f, -0.002898f, -0.003114f, 0.002630f, -0.136986f, 0.125083f, -0.029962f, -0.038744f, -0.038011f, 0.087328f, -0.066771f, -0.008222f, -0.020644f, 0.001469f, 0.043583f, -0.048652f, -0.006735f, 0.022421f, -0.017430f, -0.004493f, -0.000911f, -0.026542f, 0.038732f, 0.004707f, -0.068880f, -0.014444f, -0.018336f, 0.006519f, -0.075296f, 0.001777f, 0.006516f, -0.012118f, -0.001574f, 0.022382f, 0.042916f, -0.016280f, -0.013611f, 0.012046f, -0.032431f, -0.091685f, 0.005924f, 0.077100f, -0.040333f, -0.055508f, 0.001752f, 0.062667f, -0.030360f, -0.015577f, -0.080282f, -0.010272f, -0.000649f, 0.058040f, 0.023569f, 0.009475f, -0.061104f, -0.031296f, 0.044080f, -0.053218f, 0.017380f, 0.094280f, 0.049766f, 0.073633f, -0.036643f, 0.043890f, 0.024243f, -0.077586f, -0.031591f, -0.040619f, -0.012756f, 0.049297f, -0.004418f, 0.053122f, 0.039104f, -0.077095f, 0.086257f, -0.051589f, -0.002422f, 0.006755f, -0.042832f, 0.089584f, -0.008111f, -0.018098f, 0.067961f, -0.054873f, - -0.012068f, -0.079230f, -0.029977f, 0.039371f, -0.013822f, 0.035823f, 0.033926f, -0.006263f, -0.016508f, 0.008314f, -0.022208f, -0.020927f, -0.008737f, -0.014847f, -0.012482f, -0.011627f, 0.003566f, -0.014980f, 0.001092f, -0.019457f, -0.023553f, -0.016773f, 0.013565f, -0.009033f, -0.004180f, 0.013125f, 0.000391f, -0.001787f, -0.025526f, -0.034158f, -0.025679f, -0.045174f, 0.032460f, 0.016504f, 0.027786f, 0.012905f, -0.027966f, -0.024051f, -0.015969f, -0.001588f, 0.035888f, -0.005914f, -0.002520f, 0.007158f, -0.008419f, -0.004212f, -0.005559f, -0.012297f, 0.024297f, -0.014713f, 0.031816f, 0.001782f, 0.080183f, 0.057307f, 0.008178f, -0.015152f, -0.042011f, 0.024710f, -0.003514f, -0.003490f, -0.002886f, -0.001135f, -0.000054f, -0.015726f, 0.020019f, -0.000146f, -0.071994f, 0.018277f, 0.006203f, -0.024553f, 0.000720f, 0.031278f, -0.010683f, 0.002352f, -0.052121f, 0.038065f, -0.018692f, -0.005318f, -0.005458f, 0.021791f, -0.028348f, -0.000759f, 0.006173f, 0.001137f, 0.005720f, -0.013057f, 0.038212f, -0.019857f, 0.067529f, -0.041400f, -0.044668f, 0.042180f, -0.047185f, 0.002765f, 0.034796f, -0.032128f, - -0.014692f, 0.018969f, 0.021584f, 0.029178f, -0.103566f, 0.033223f, -0.001197f, -0.023327f, 0.065323f, -0.032571f, 0.003809f, 0.000658f, -0.055864f, 0.071651f, -0.003613f, -0.002787f, -0.037707f, -0.006438f, 0.058623f, -0.013390f, -0.002422f, 0.002670f, 0.016756f, 0.010113f, -0.072858f, 0.036158f, 0.064536f, -0.033675f, 0.025738f, -0.050339f, 0.084673f, 0.004155f, -0.079412f, 0.001406f, 0.043990f, -0.004128f, -0.049406f, -0.010741f, 0.115442f, -0.017675f, -0.047824f, 0.008342f, 0.050822f, -0.012864f, -0.016134f, -0.005675f, -0.002451f, 0.003324f, 0.002116f, -0.012636f, 0.033491f, -0.005134f, -0.008095f, 0.002210f, 0.011321f, 0.028538f, -0.008604f, -0.013464f, 0.015368f, 0.003823f, -0.026274f, -0.009222f, 0.013833f, 0.003518f, -0.011075f, -0.005554f, 0.022327f, -0.020149f, -0.004285f, 0.003808f, 0.003071f, -0.019016f, -0.007966f, 0.025299f, -0.001517f, -0.017697f, -0.007778f, 0.018413f, -0.005486f, -0.013222f, -0.011626f, 0.016119f, 0.000583f, -0.044959f, -0.149600f, -0.226452f, 0.015194f, 0.196179f, 0.003012f, 0.512961f, 0.464728f, 0.278480f, 0.536536f, 0.352302f, -0.058146f, 0.020637f, - -0.068797f, -0.422086f, -0.239795f, -0.185547f, -0.412474f, -0.338932f, -0.099977f, -0.198804f, -0.228599f, -0.018255f, 0.013773f, -0.096343f, 0.021396f, 0.087962f, -0.111579f, -0.094558f, 0.150036f, 0.031129f, -0.036049f, 0.105061f, 0.140590f, 0.000346f, 0.144226f, 0.244201f, 0.087647f, 0.067405f, 0.248762f, 0.168512f, 0.020675f, 0.183004f, 0.269499f, 0.118870f, 0.138029f, 0.307343f, 0.116918f, 0.042554f, 0.293385f, 0.289016f, 0.089615f, 0.347982f, 0.494325f, 0.184852f, 0.203275f, 0.345131f, 0.105637f, -0.110641f, 0.020372f, -0.113642f, -0.414254f, -0.394851f, -0.421972f, -0.678054f, -0.733200f, -0.783874f, -0.927453f, -0.970019f, -0.947665f, -0.922067f, -0.811870f, -0.728270f, -0.595522f, -0.392938f, -0.280374f, -0.096003f, 0.268930f, 0.435916f, 0.430377f, 0.796444f, 0.849004f, 0.661300f, 0.805363f, 0.843872f, 0.453393f, 0.473232f, 0.579777f, 0.282278f, 0.228342f, 0.376951f, 0.273687f, 0.129427f, 0.178592f, 0.238924f, 0.102279f, 0.083938f, 0.239876f, 0.127629f, -0.020290f, 0.132288f, 0.103494f, -0.072837f, 0.011844f, 0.095777f, -0.060507f, -0.025326f, 0.177986f, 0.071563f, - 0.008330f, 0.171589f, 0.113250f, -0.014681f, 0.010997f, -0.072257f, -0.247877f, -0.337762f, -0.373859f, -0.490706f, -0.525285f, -0.524521f, -0.568481f, -0.573590f, -0.600926f, -0.602506f, -0.550703f, -0.546706f, -0.458615f, -0.353386f, -0.279447f, -0.115169f, 0.105379f, 0.223464f, 0.370715f, 0.463337f, 0.490423f, 0.467964f, 0.427092f, 0.363543f, 0.295662f, 0.258201f, 0.226164f, 0.186286f, 0.168092f, 0.163678f, 0.149386f, 0.140652f, 0.146681f, 0.137540f, 0.115977f, 0.100567f, 0.080962f, 0.051794f, 0.032909f, 0.000801f, -0.037357f, -0.066448f, -0.090095f, -0.091411f, -0.087081f, -0.081592f, -0.060033f, -0.044998f, -0.034096f, -0.019971f, -0.001204f, 0.012714f, 0.028647f, 0.034875f, 0.040057f, 0.033724f, 0.024415f, 0.020159f, 0.015852f, 0.006161f, 0.001035f, -0.002758f, -0.010227f, -0.023624f, -0.024572f, -0.030872f, -0.046427f, -0.044317f, -0.040183f, -0.060037f, -0.065235f, -0.065162f, -0.080915f, -0.085904f, -0.077601f, -0.088557f, -0.093246f, -0.082758f, -0.076997f, -0.074923f, -0.063557f, -0.053297f, -0.049676f, -0.040581f, -0.025200f, -0.019194f, -0.011631f, 0.002802f, 0.017468f, 0.024267f, - 0.039291f, 0.055903f, 0.064838f, 0.072293f, 0.086124f, 0.091435f, 0.090272f, 0.091392f, 0.090962f, 0.080997f, 0.071078f, 0.064170f, 0.054002f, 0.038820f, 0.030369f, 0.021587f, 0.011194f, 0.003415f, -0.000421f, -0.006272f, -0.010097f, -0.012581f, -0.013759f, -0.015945f, -0.015005f, -0.014227f, -0.012924f, -0.012437f, -0.010297f, -0.009773f, -0.007500f, -0.006233f, -0.003938f, -0.002912f, -0.000538f}, - {0.005407f, 0.017842f, 0.003918f, 0.002646f, -0.004099f, -0.001403f, -0.008838f, -0.000308f, -0.002303f, 0.006651f, 0.005777f, -0.005815f, -0.004293f, -0.003485f, -0.003429f, -0.004120f, 0.000402f, 0.005311f, -0.004220f, -0.004401f, -0.014710f, -0.010715f, -0.007983f, -0.000296f, 0.000734f, 0.010822f, -0.005976f, 0.005404f, 0.003242f, 0.002816f, 0.000594f, -0.007948f, 0.002006f, -0.017033f, 0.002037f, 0.000611f, 0.000758f, -0.001092f, -0.010603f, -0.004728f, -0.009146f, 0.000644f, 0.000539f, -0.005417f, -0.014174f, 0.009799f, -0.000728f, -0.008181f, -0.000084f, 0.005601f, 0.001156f, -0.002762f, 0.001965f, -0.004618f, -0.002072f, -0.004352f, 0.003381f, -0.004637f, 0.006621f, 0.005481f, -0.001108f, -0.009318f, 0.000454f, 0.001396f, -0.000875f, -0.003352f, 0.002347f, 0.001773f, -0.002183f, 0.005187f, 0.005507f, 0.003925f, 0.000333f, 0.000127f, 0.001740f, -0.005009f, 0.000678f, 0.007975f, 0.000890f, 0.001611f, 0.001428f, 0.005923f, 0.002207f, 0.001937f, 0.005192f, -0.001178f, 0.004083f, -0.001494f, 0.002658f, 0.001997f, -0.000740f, 0.001229f, 0.001492f, -0.000347f, 0.001896f, 0.003056f, - 0.000681f, 0.000183f, 0.002063f, 0.002890f, 0.002194f, -0.000210f, 0.000824f, 0.001032f, 0.001066f, 0.000444f, 0.000161f, -0.000087f, -0.000704f, -0.002058f, 0.001414f, 0.000291f, -0.018849f, -0.021257f, -0.001459f, -0.008431f, 0.006524f, -0.010439f, 0.002657f, 0.004762f, -0.007041f, 0.005750f, 0.021269f, 0.001148f, -0.001908f, 0.011590f, 0.001621f, 0.011638f, 0.000224f, 0.005289f, -0.008310f, -0.011113f, -0.000556f, 0.004160f, -0.007657f, -0.002519f, -0.000740f, -0.002213f, 0.002149f, -0.002304f, -0.004026f, 0.003806f, -0.001877f, -0.001654f, 0.008377f, 0.011851f, -0.003670f, -0.006432f, 0.002405f, 0.009478f, 0.003649f, 0.012159f, 0.000547f, -0.001752f, -0.000278f, 0.010846f, 0.000734f, -0.007822f, -0.004242f, 0.008509f, 0.006231f, 0.006612f, 0.001841f, -0.004275f, -0.008763f, 0.001706f, 0.004170f, 0.005105f, -0.001865f, -0.004638f, 0.009536f, 0.006357f, -0.001550f, -0.005348f, 0.000346f, -0.003730f, 0.009936f, 0.003015f, 0.001843f, 0.003144f, 0.001132f, 0.002037f, 0.006112f, 0.001060f, 0.006139f, -0.001200f, 0.009771f, 0.001182f, -0.009627f, -0.003826f, -0.003342f, 0.004785f, - 0.005977f, -0.000964f, 0.001609f, -0.006754f, -0.002439f, -0.006290f, -0.001896f, -0.004101f, -0.003480f, -0.001480f, 0.002060f, 0.000091f, 0.000068f, 0.000267f, 0.002709f, 0.000431f, 0.000624f, -0.000334f, -0.002887f, -0.000817f, 0.000159f, -0.000281f, 0.001176f, 0.000448f, 0.000505f, -0.001097f, 0.011075f, 0.007872f, 0.011665f, 0.012270f, -0.002988f, 0.006181f, -0.002677f, -0.006851f, -0.000706f, 0.018147f, 0.007855f, 0.004105f, 0.006373f, -0.007468f, 0.012829f, 0.005599f, 0.008576f, -0.002475f, -0.014369f, 0.006089f, -0.022386f, 0.004606f, -0.005762f, 0.004565f, 0.003459f, -0.000342f, -0.007745f, 0.001933f, 0.004955f, -0.002908f, 0.004643f, 0.011400f, -0.000871f, -0.009303f, -0.012851f, 0.002080f, 0.005658f, -0.011691f, 0.006489f, -0.010982f, -0.007279f, 0.008119f, -0.004728f, -0.009269f, -0.004619f, -0.006514f, 0.010276f, 0.014277f, 0.007978f, -0.005018f, 0.000003f, 0.007666f, 0.004469f, -0.000556f, -0.005859f, -0.002668f, -0.005149f, 0.005490f, 0.017492f, -0.000053f, -0.009577f, -0.007429f, 0.004013f, 0.001516f, -0.003625f, -0.010304f, -0.000250f, -0.008814f, -0.003554f, 0.001489f, - -0.001584f, 0.007152f, 0.001262f, 0.008958f, 0.010265f, -0.008967f, -0.003391f, 0.000595f, -0.007125f, -0.008394f, -0.001414f, 0.000130f, -0.005249f, 0.005065f, -0.004775f, -0.000498f, 0.003871f, 0.000881f, 0.000225f, 0.003973f, -0.004829f, -0.001558f, 0.001073f, 0.001887f, -0.002217f, 0.001641f, 0.000790f, 0.001842f, -0.000322f, 0.000056f, 0.001733f, -0.002343f, 0.003064f, -0.002347f, 0.001472f, 0.000573f, -0.000749f, -0.000097f, 0.001333f, -0.000907f, -0.001681f, -0.002659f, 0.001669f, -0.001926f, 0.000703f, 0.002729f, -0.000417f, -0.001581f, 0.024929f, -0.006707f, 0.002445f, 0.003545f, -0.016417f, -0.014014f, 0.000383f, 0.016274f, 0.012443f, 0.019675f, 0.006513f, -0.005564f, -0.008448f, 0.001445f, -0.004839f, 0.003875f, 0.001905f, 0.006646f, 0.012253f, 0.003892f, 0.009042f, -0.000256f, 0.005373f, -0.005426f, -0.011361f, -0.005970f, -0.008688f, 0.000120f, -0.002403f, 0.002660f, -0.013844f, -0.006924f, -0.001824f, 0.005139f, -0.006825f, 0.014384f, -0.016166f, 0.003483f, -0.010166f, -0.008268f, 0.004749f, 0.004138f, 0.013911f, -0.001530f, 0.003546f, -0.003949f, 0.009757f, 0.010281f, - 0.002898f, -0.002200f, -0.010396f, -0.001434f, 0.003648f, -0.007988f, 0.008069f, -0.008794f, 0.003827f, 0.014586f, 0.012257f, 0.000200f, -0.004655f, 0.002302f, 0.014614f, -0.001798f, 0.003633f, 0.002287f, 0.011953f, 0.000143f, -0.003123f, -0.007366f, 0.005246f, -0.011111f, 0.004111f, 0.023194f, 0.005753f, 0.010937f, 0.001140f, -0.015297f, 0.005601f, 0.002878f, -0.005987f, 0.006286f, -0.001880f, -0.001635f, -0.007581f, 0.003230f, 0.007586f, 0.003395f, 0.001513f, -0.003456f, -0.007457f, 0.001778f, -0.001430f, -0.001133f, 0.000555f, -0.000340f, -0.001352f, 0.002467f, -0.002493f, -0.002290f, -0.002137f, 0.003457f, 0.001440f, 0.002732f, -0.001438f, 0.002525f, 0.000216f, -0.002393f, 0.002699f, 0.001481f, -0.002088f, -0.004091f, -0.001431f, 0.003463f, 0.000296f, -0.000842f, 0.001797f, 0.001606f, 0.003790f, -0.000116f, -0.001366f, 0.002429f, -0.001814f, -0.008980f, -0.015640f, 0.007942f, -0.011180f, -0.011317f, 0.002254f, -0.005430f, -0.036652f, 0.003649f, 0.005550f, 0.033566f, 0.010744f, 0.002586f, -0.015285f, 0.014052f, 0.005952f, -0.005963f, 0.007218f, -0.001160f, 0.012072f, -0.007231f, - -0.003852f, -0.002362f, -0.003314f, -0.004930f, -0.002267f, 0.008749f, 0.007477f, 0.013182f, 0.004595f, 0.006524f, -0.000207f, -0.008397f, -0.009275f, 0.012494f, -0.006852f, 0.002864f, -0.001185f, -0.008631f, 0.012494f, -0.001985f, -0.005508f, 0.002302f, 0.009080f, -0.005970f, 0.013822f, -0.017483f, -0.014622f, -0.017732f, 0.004263f, -0.009939f, -0.015334f, -0.003402f, 0.014220f, -0.005938f, 0.004227f, 0.008585f, -0.006198f, -0.007943f, 0.000594f, 0.001430f, 0.004721f, 0.000987f, -0.004510f, -0.000400f, 0.018346f, 0.007919f, -0.007556f, -0.023046f, -0.018557f, 0.006881f, 0.021838f, 0.018522f, -0.014412f, 0.000482f, -0.009421f, 0.004262f, 0.003584f, -0.015580f, -0.001302f, 0.003226f, 0.001780f, -0.004144f, 0.000884f, 0.001056f, 0.000424f, 0.005439f, 0.004818f, -0.003019f, -0.003878f, 0.002727f, -0.001911f, 0.001339f, -0.005525f, 0.002365f, 0.001588f, -0.008621f, -0.002015f, 0.001996f, 0.001280f, 0.000839f, 0.001672f, -0.000420f, 0.000593f, 0.000766f, 0.000827f, -0.003071f, -0.000488f, 0.001243f, -0.001057f, -0.003755f, -0.001979f, 0.000644f, 0.000568f, 0.004341f, -0.006457f, 0.010759f, - -0.018130f, -0.003098f, -0.022484f, -0.006603f, 0.003427f, 0.007890f, -0.020483f, -0.005099f, 0.014175f, -0.001673f, -0.020495f, 0.010698f, -0.006497f, -0.011742f, 0.006545f, 0.010837f, 0.002542f, 0.002301f, 0.003824f, 0.014154f, -0.006595f, -0.005819f, 0.003796f, -0.006950f, -0.003457f, 0.000235f, -0.000682f, 0.000520f, 0.011428f, 0.005855f, -0.001197f, -0.000937f, 0.006732f, 0.002829f, 0.008244f, -0.000650f, 0.009294f, 0.009762f, 0.003998f, -0.010535f, 0.001663f, -0.001425f, -0.007400f, 0.010261f, -0.005644f, 0.004336f, -0.006859f, -0.002508f, -0.025065f, 0.002373f, 0.020613f, 0.001876f, 0.021907f, -0.003946f, -0.004736f, -0.022332f, 0.026446f, 0.012458f, 0.015139f, 0.002526f, 0.012442f, -0.000064f, 0.000071f, 0.010322f, -0.005819f, 0.003786f, 0.000132f, -0.025038f, 0.005940f, -0.005811f, 0.006818f, -0.003700f, 0.006174f, 0.023402f, 0.007219f, 0.006233f, -0.000092f, -0.014069f, 0.010821f, -0.005656f, 0.002330f, 0.005427f, 0.007209f, -0.007701f, -0.001855f, -0.003130f, -0.004012f, 0.004652f, -0.002442f, -0.001933f, -0.003099f, 0.000642f, 0.001072f, 0.000451f, -0.006298f, 0.002719f, - 0.001360f, -0.001358f, 0.002114f, 0.001018f, 0.001878f, 0.001470f, 0.003340f, 0.000140f, 0.000906f, -0.000283f, -0.001249f, 0.004023f, -0.000481f, 0.005625f, 0.001114f, 0.002415f, -0.001433f, 0.003155f, 0.001284f, 0.002592f, 0.002708f, 0.002281f, -0.028750f, -0.001153f, 0.021959f, -0.004969f, 0.013077f, -0.014089f, -0.009386f, -0.025207f, 0.014472f, 0.007211f, 0.016771f, 0.007549f, -0.007988f, 0.013775f, -0.003350f, 0.013172f, -0.008623f, -0.008346f, 0.001195f, -0.003191f, 0.011763f, 0.002228f, 0.009947f, 0.010721f, -0.006369f, -0.005784f, -0.003690f, 0.006992f, -0.001310f, -0.004844f, 0.001653f, -0.010038f, 0.005250f, 0.003282f, -0.005011f, 0.007077f, 0.012949f, -0.005317f, -0.005640f, -0.001743f, -0.009498f, -0.004892f, 0.014855f, 0.001798f, -0.008944f, 0.017666f, -0.019488f, 0.002912f, 0.010678f, -0.004697f, -0.006313f, -0.001643f, 0.008543f, -0.015185f, 0.007662f, -0.006280f, -0.012723f, -0.009840f, -0.007631f, 0.000093f, -0.003530f, -0.008392f, 0.003684f, 0.021993f, 0.012382f, -0.003194f, -0.007483f, -0.021628f, 0.002407f, 0.011752f, -0.006861f, -0.023881f, 0.000765f, -0.003883f, - 0.001318f, 0.002834f, 0.011005f, -0.000790f, -0.005411f, -0.002255f, -0.008539f, -0.005259f, -0.003977f, 0.006387f, -0.005260f, 0.005919f, -0.012526f, 0.000929f, -0.005691f, -0.003995f, 0.007803f, -0.003794f, -0.003522f, -0.004544f, 0.001680f, -0.008199f, -0.003122f, -0.001976f, -0.000212f, 0.001614f, -0.005631f, 0.001510f, -0.004448f, 0.002402f, 0.003105f, 0.006533f, 0.001345f, 0.002295f, 0.003595f, 0.002573f, -0.001808f, 0.000977f, 0.000512f, 0.004843f, 0.002956f, -0.000601f, 0.003057f, -0.000339f, 0.000355f, -0.002120f, 0.000400f, -0.000071f, -0.003406f, 0.000953f, -0.002324f, -0.001935f, 0.000342f, 0.002544f, -0.000646f, 0.009622f, -0.004234f, 0.002441f, 0.014243f, 0.000915f, 0.016685f, 0.018068f, 0.040349f, 0.027500f, 0.016877f, -0.004300f, -0.021367f, -0.007468f, 0.019582f, 0.008451f, -0.020640f, 0.015386f, -0.003601f, -0.010261f, -0.012632f, 0.001865f, 0.034879f, -0.023663f, 0.025222f, 0.009821f, -0.005439f, 0.008260f, -0.006824f, 0.018026f, -0.006937f, 0.009508f, 0.001891f, -0.012555f, -0.008784f, -0.012234f, 0.000458f, 0.010295f, -0.002994f, -0.006912f, 0.006640f, 0.000828f, - -0.002098f, -0.023628f, 0.007127f, -0.013252f, -0.010019f, 0.006476f, 0.015537f, -0.011521f, -0.016561f, 0.000553f, 0.014023f, 0.001123f, -0.009451f, -0.003552f, -0.005635f, 0.006366f, 0.004647f, -0.005464f, -0.008937f, -0.013431f, 0.008262f, 0.021450f, 0.013142f, 0.006751f, -0.012492f, 0.006428f, 0.013576f, -0.015301f, -0.019958f, 0.003452f, -0.016485f, -0.007908f, -0.032293f, 0.000383f, -0.022186f, -0.011577f, 0.005931f, -0.002817f, -0.002161f, 0.009777f, 0.001639f, -0.018112f, -0.012573f, 0.008120f, -0.002536f, 0.000955f, -0.005661f, 0.000502f, 0.005244f, -0.000818f, 0.003463f, 0.003492f, 0.000687f, 0.000303f, 0.002558f, 0.003009f, 0.001977f, 0.000210f, 0.000584f, -0.001851f, 0.004733f, 0.000099f, 0.004351f, -0.000811f, -0.002971f, 0.001399f, 0.004044f, -0.005156f, -0.007591f, -0.003870f, -0.001142f, -0.002384f, 0.008525f, 0.003208f, -0.002752f, 0.003793f, -0.002228f, 0.000557f, -0.006969f, -0.000637f, 0.000443f, -0.003180f, 0.044118f, 0.001011f, -0.017307f, 0.019478f, -0.021314f, 0.024650f, 0.001966f, -0.014989f, -0.025730f, -0.006215f, 0.012573f, -0.020421f, 0.018095f, -0.002888f, - 0.011650f, 0.013927f, -0.011992f, -0.004972f, -0.007236f, -0.009523f, -0.003747f, -0.008900f, 0.001437f, -0.010879f, 0.011263f, 0.007134f, 0.009445f, 0.019248f, 0.009863f, -0.002887f, 0.022920f, 0.011692f, 0.004190f, -0.012351f, -0.013503f, 0.006868f, -0.010352f, 0.002341f, 0.007200f, -0.015371f, 0.013072f, 0.034968f, 0.002604f, 0.024858f, 0.011718f, 0.012006f, 0.017704f, 0.000995f, 0.009350f, 0.009904f, -0.022728f, -0.015413f, 0.015558f, 0.000996f, 0.014678f, 0.002575f, 0.015411f, -0.002558f, 0.005492f, 0.003796f, -0.032538f, -0.002199f, 0.008258f, 0.021653f, 0.004766f, 0.018980f, 0.001852f, -0.004561f, 0.006162f, 0.008473f, -0.018308f, -0.030885f, -0.016350f, 0.004158f, 0.007494f, 0.000948f, 0.022523f, 0.007887f, -0.035538f, 0.008933f, -0.005237f, 0.000096f, 0.010103f, -0.014322f, -0.000582f, -0.007765f, 0.006427f, 0.009062f, 0.000458f, 0.001872f, 0.006531f, 0.000159f, -0.000162f, -0.003187f, -0.003501f, 0.001086f, 0.000567f, 0.000103f, 0.005432f, 0.003890f, 0.001289f, 0.003202f, 0.002044f, 0.000020f, -0.005539f, 0.004204f, 0.003446f, -0.002276f, -0.000585f, -0.000894f, - 0.000157f, 0.003027f, 0.002525f, 0.008253f, -0.007166f, -0.002157f, 0.003042f, -0.001879f, 0.004299f, -0.003662f, 0.007260f, -0.001911f, -0.002358f, 0.000883f, 0.004109f, 0.002834f, -0.001148f, -0.000645f, -0.003026f, -0.000710f, -0.021557f, -0.001683f, -0.019212f, -0.008793f, 0.007873f, -0.009472f, 0.004139f, 0.006676f, -0.011572f, -0.028226f, 0.008975f, -0.027963f, -0.032485f, 0.007192f, -0.016036f, 0.014446f, 0.020239f, -0.005047f, 0.023638f, -0.005590f, 0.023352f, 0.032157f, -0.000072f, 0.002049f, -0.032427f, -0.005950f, 0.003400f, 0.005689f, -0.003879f, -0.021132f, 0.001384f, -0.017872f, 0.002198f, -0.004706f, 0.004810f, -0.006769f, -0.012045f, 0.002866f, -0.002231f, -0.006429f, 0.007477f, 0.000910f, -0.005034f, 0.023268f, 0.008477f, 0.017507f, -0.011075f, 0.003353f, -0.009357f, 0.006765f, -0.002179f, 0.009246f, -0.003165f, -0.006703f, -0.008984f, -0.020299f, -0.012189f, 0.033146f, 0.013235f, 0.022035f, -0.025449f, 0.005485f, 0.018597f, -0.015802f, 0.000014f, 0.012387f, -0.006763f, 0.012429f, 0.001617f, -0.021962f, -0.005887f, -0.033889f, -0.004353f, 0.013882f, 0.006952f, 0.023002f, - 0.002439f, 0.015330f, 0.016039f, 0.005773f, -0.001169f, 0.029756f, 0.002351f, 0.000919f, -0.005236f, -0.002780f, 0.015519f, 0.009329f, 0.014835f, -0.001641f, -0.003249f, -0.003700f, 0.010790f, 0.002364f, -0.002447f, 0.003094f, 0.007351f, -0.001669f, -0.004587f, -0.008588f, 0.000145f, -0.006832f, -0.003245f, -0.005815f, 0.004831f, -0.000608f, -0.010343f, -0.001797f, 0.000598f, 0.000828f, -0.000657f, -0.004742f, 0.006771f, -0.005550f, 0.001610f, 0.002677f, -0.007848f, -0.001379f, -0.005300f, 0.001091f, 0.005985f, -0.005435f, -0.004633f, -0.003371f, -0.003519f, 0.003470f, 0.001791f, -0.020970f, -0.018702f, -0.019861f, -0.028945f, 0.019743f, 0.012796f, 0.001755f, -0.019478f, 0.017597f, -0.000161f, -0.024598f, -0.020109f, -0.007035f, -0.005011f, -0.015758f, -0.006204f, -0.009353f, -0.007915f, -0.005842f, -0.022738f, 0.011362f, 0.013321f, -0.001205f, -0.002115f, -0.004173f, -0.008400f, -0.027032f, -0.029459f, 0.000879f, 0.012791f, -0.007803f, -0.018142f, -0.010216f, 0.013820f, 0.010138f, 0.000676f, -0.005699f, -0.007792f, -0.007919f, 0.017478f, -0.008916f, 0.012288f, -0.008436f, 0.000369f, -0.029392f, - -0.006393f, -0.002333f, 0.022183f, 0.006078f, -0.005184f, -0.016534f, -0.011475f, -0.023134f, 0.037321f, -0.017175f, 0.035445f, 0.004499f, -0.015259f, 0.023359f, 0.023031f, 0.039761f, -0.038998f, 0.016134f, 0.006504f, 0.005242f, -0.007732f, -0.011230f, 0.017261f, 0.008909f, -0.002954f, -0.018327f, 0.020363f, -0.010709f, 0.021891f, 0.018045f, 0.017132f, -0.015520f, 0.033803f, -0.024970f, 0.013908f, 0.021762f, -0.012533f, 0.002704f, 0.000637f, 0.018906f, -0.005021f, 0.008392f, -0.009862f, 0.020205f, -0.000632f, 0.003531f, -0.011600f, 0.009216f, -0.000631f, 0.009508f, -0.002755f, 0.012822f, 0.006288f, 0.004035f, -0.007573f, 0.002413f, -0.006340f, 0.000354f, -0.005397f, -0.007304f, -0.001458f, -0.006452f, -0.004286f, -0.000700f, -0.003265f, -0.006428f, 0.004410f, 0.005332f, 0.007871f, 0.001821f, -0.007341f, 0.000684f, -0.004954f, 0.004966f, 0.002089f, -0.003617f, 0.000978f, 0.003470f, 0.002098f, -0.008278f, 0.001630f, 0.008294f, 0.003267f, -0.001312f, 0.002398f, 0.031786f, -0.053070f, -0.056826f, -0.035827f, -0.005879f, -0.024998f, 0.015406f, -0.020571f, 0.002222f, 0.010144f, -0.001412f, - 0.037408f, 0.027134f, 0.009500f, -0.010865f, -0.008418f, 0.026362f, -0.004449f, 0.004195f, -0.010801f, -0.023283f, 0.000017f, 0.009618f, 0.006232f, -0.012733f, 0.011304f, 0.001766f, -0.001567f, 0.022374f, 0.030569f, 0.002347f, -0.019603f, -0.008275f, -0.037570f, -0.014392f, -0.009735f, -0.011113f, 0.001664f, 0.006729f, -0.013674f, -0.005296f, -0.019113f, 0.020736f, 0.024659f, 0.020740f, 0.023026f, 0.018290f, 0.030141f, 0.003870f, 0.010335f, 0.007335f, -0.005489f, 0.011802f, 0.017965f, -0.017859f, -0.062352f, -0.014335f, 0.020704f, -0.032122f, 0.016463f, 0.020551f, 0.007362f, -0.009643f, 0.001562f, -0.007578f, -0.025034f, -0.006631f, 0.016298f, -0.019839f, -0.016940f, 0.006204f, -0.013751f, 0.040777f, 0.041291f, -0.015100f, 0.026593f, 0.007211f, -0.003894f, -0.017883f, 0.012722f, -0.024189f, -0.020148f, 0.022374f, 0.016772f, 0.011941f, -0.001552f, -0.001942f, -0.029695f, -0.021163f, -0.003903f, -0.006557f, -0.005522f, -0.004241f, -0.008774f, -0.007073f, -0.008178f, -0.003893f, 0.001093f, 0.007228f, 0.005557f, 0.009513f, -0.000772f, -0.004205f, -0.004440f, -0.002809f, 0.013419f, 0.012681f, - 0.006453f, -0.000921f, -0.000840f, -0.002627f, -0.005001f, -0.007557f, -0.003429f, 0.001658f, -0.002293f, 0.005671f, -0.002860f, 0.002294f, 0.002600f, 0.002557f, 0.005138f, -0.005702f, -0.000094f, 0.001480f, 0.004358f, -0.006915f, 0.012382f, -0.004842f, -0.003114f, 0.051209f, -0.043149f, -0.000487f, 0.006948f, -0.040686f, -0.012408f, -0.017002f, 0.005871f, -0.012213f, 0.035276f, 0.004873f, -0.000739f, 0.044701f, -0.002809f, -0.039092f, -0.031859f, -0.019053f, 0.014922f, -0.002037f, -0.038453f, 0.010028f, 0.010340f, 0.020298f, -0.022990f, 0.011764f, 0.019027f, 0.017032f, 0.013220f, -0.004434f, 0.022798f, 0.025147f, 0.008153f, -0.055354f, 0.040347f, -0.019722f, 0.015385f, -0.003851f, -0.006027f, 0.010840f, -0.024872f, -0.013879f, 0.025868f, -0.011761f, -0.003654f, 0.023800f, -0.026669f, 0.023933f, -0.009424f, 0.022233f, -0.029348f, 0.039016f, -0.017509f, 0.060267f, -0.008099f, 0.003937f, 0.015237f, -0.013146f, -0.010092f, -0.007160f, 0.004683f, -0.002940f, -0.030462f, -0.037870f, -0.010702f, 0.022195f, -0.011585f, -0.013681f, -0.038912f, 0.017962f, 0.003814f, -0.052802f, -0.000937f, 0.000817f, - 0.007654f, 0.027329f, -0.018642f, 0.008609f, -0.023896f, -0.020678f, -0.031643f, -0.031324f, -0.005720f, -0.018288f, 0.022600f, -0.003701f, 0.022075f, -0.010747f, 0.012520f, -0.001705f, -0.014348f, -0.019704f, -0.002401f, 0.002429f, 0.009545f, -0.004639f, 0.004135f, 0.002010f, 0.007793f, -0.000727f, -0.010621f, -0.001463f, -0.016007f, -0.000677f, 0.002464f, 0.003579f, 0.000787f, -0.005968f, -0.007817f, 0.008799f, 0.003942f, -0.002573f, 0.009837f, -0.012447f, -0.016756f, -0.000254f, 0.014697f, 0.000395f, 0.004193f, 0.005902f, 0.010028f, 0.000652f, 0.011235f, -0.009175f, 0.003556f, 0.002309f, 0.009126f, 0.015648f, -0.009782f, 0.002563f, -0.002356f, 0.002600f, 0.019644f, 0.059043f, 0.029522f, -0.018037f, 0.040768f, 0.013365f, -0.025948f, 0.009980f, 0.026368f, -0.004106f, -0.008897f, -0.036323f, -0.009774f, 0.022352f, 0.014694f, 0.010619f, 0.006657f, -0.006577f, -0.014492f, -0.034289f, 0.018308f, -0.011711f, 0.009161f, -0.026336f, -0.014162f, -0.000689f, -0.003973f, 0.033652f, 0.010234f, 0.005336f, 0.025875f, 0.012349f, -0.038938f, -0.004597f, 0.014357f, -0.007351f, 0.000898f, 0.033247f, - 0.011042f, 0.038604f, -0.022407f, -0.014227f, -0.006252f, -0.014458f, 0.015253f, -0.015070f, 0.029196f, 0.028933f, -0.012652f, -0.028355f, 0.047515f, -0.024448f, -0.009761f, -0.005731f, 0.014219f, 0.007179f, -0.026357f, -0.007940f, 0.017024f, -0.012628f, 0.021568f, -0.010208f, 0.030519f, -0.015856f, 0.006965f, 0.046467f, -0.000841f, 0.032720f, 0.056846f, 0.007127f, 0.027962f, -0.014451f, -0.068172f, -0.046316f, -0.008769f, -0.002971f, 0.038885f, -0.001316f, 0.013065f, 0.003245f, -0.009559f, -0.031681f, -0.070362f, 0.053261f, 0.003772f, 0.001522f, 0.017526f, 0.008254f, -0.017096f, 0.039351f, 0.002060f, 0.008260f, -0.000405f, 0.002590f, -0.034663f, -0.012974f, -0.022824f, -0.013894f, -0.001040f, -0.012989f, -0.012856f, 0.007995f, -0.002734f, -0.008970f, 0.025502f, -0.004818f, -0.025781f, -0.018568f, 0.006570f, 0.001189f, -0.007426f, 0.039279f, 0.011958f, -0.013259f, -0.015149f, 0.003997f, -0.003470f, -0.008255f, 0.001353f, 0.003524f, -0.008799f, 0.009241f, -0.000238f, 0.013387f, 0.017572f, 0.003319f, -0.001592f, -0.005400f, 0.011796f, 0.011259f, 0.010308f, -0.077112f, -0.018462f, 0.080535f, - -0.030915f, -0.034533f, 0.071109f, -0.045627f, 0.040071f, 0.053552f, 0.021164f, 0.007359f, -0.040674f, 0.015565f, -0.071349f, -0.035153f, 0.015612f, 0.037091f, 0.004195f, 0.008554f, 0.027040f, 0.072167f, 0.048785f, 0.015245f, 0.002692f, -0.000086f, 0.008029f, 0.005958f, -0.028008f, 0.000593f, 0.017859f, 0.022574f, 0.096313f, 0.054283f, 0.037114f, 0.069543f, 0.028417f, -0.009969f, 0.020894f, -0.001323f, 0.066633f, 0.024107f, -0.005446f, -0.011125f, 0.027840f, -0.004304f, 0.031967f, -0.099369f, 0.004285f, 0.034189f, -0.002060f, 0.041383f, -0.015496f, 0.010916f, 0.022051f, -0.092530f, -0.035758f, -0.007283f, -0.029635f, -0.038357f, -0.045181f, 0.042232f, -0.027647f, 0.008389f, -0.008474f, 0.042374f, -0.069521f, -0.019133f, -0.009820f, 0.021758f, -0.000351f, -0.006467f, 0.051213f, 0.089291f, -0.000479f, 0.027721f, -0.016966f, 0.007432f, 0.062473f, -0.066601f, -0.039575f, -0.055769f, -0.070297f, -0.006270f, -0.002887f, -0.027818f, -0.029877f, -0.028328f, -0.026886f, -0.034679f, -0.050215f, -0.022040f, -0.032626f, -0.020086f, 0.008583f, 0.043830f, 0.013911f, 0.006439f, 0.006435f, -0.004622f, - 0.009609f, 0.004008f, -0.031528f, -0.028480f, -0.008364f, -0.040027f, -0.016058f, -0.017849f, -0.013945f, -0.016011f, 0.017849f, -0.014847f, 0.000782f, 0.002280f, 0.007480f, 0.021421f, 0.032973f, -0.000862f, -0.008832f, 0.023717f, -0.012744f, 0.014901f, 0.005443f, 0.002800f, -0.007026f, 0.003807f, 0.002530f, -0.014886f, -0.019416f, -0.021052f, -0.003438f, 0.006554f, 0.041829f, 0.036846f, -0.034694f, -0.122751f, -0.022247f, 0.050339f, 0.011364f, -0.013677f, -0.009958f, 0.003834f, -0.017233f, -0.022506f, 0.026799f, 0.020216f, 0.055548f, 0.020335f, 0.033280f, -0.012570f, 0.073999f, 0.013447f, 0.046807f, -0.006600f, 0.068235f, -0.025980f, 0.044353f, -0.043446f, 0.000096f, 0.004853f, 0.031603f, -0.012518f, -0.024083f, -0.057484f, 0.031753f, 0.004262f, 0.006283f, -0.027773f, -0.051885f, -0.003127f, 0.005710f, -0.006323f, 0.015538f, 0.033264f, 0.004745f, 0.023793f, 0.084603f, -0.035691f, 0.008235f, -0.027936f, 0.043561f, 0.038067f, -0.042862f, 0.040245f, 0.045623f, -0.032769f, 0.011378f, 0.010836f, 0.031526f, 0.015745f, 0.064345f, 0.020394f, -0.023212f, 0.003909f, 0.083240f, 0.026501f, - -0.095796f, 0.028213f, 0.016808f, -0.082167f, -0.023147f, -0.026300f, -0.058365f, 0.004219f, 0.035541f, 0.039320f, -0.023620f, 0.070688f, -0.018498f, -0.030660f, -0.016132f, 0.037390f, -0.139018f, -0.016912f, 0.001691f, 0.111895f, 0.014495f, 0.094877f, 0.045231f, 0.066593f, -0.002215f, 0.022866f, -0.013104f, 0.056430f, 0.056876f, 0.051376f, -0.012791f, -0.034208f, -0.014357f, 0.056369f, -0.006999f, -0.036816f, -0.016377f, 0.066778f, 0.008935f, -0.041539f, -0.014590f, 0.060239f, 0.016837f, 0.025085f, -0.001206f, 0.022755f, -0.017615f, -0.001192f, -0.001710f, 0.009854f, -0.002022f, 0.010651f, -0.008794f, -0.019558f, -0.023573f, -0.028304f, -0.004170f, -0.020668f, -0.000458f, -0.003699f, -0.008523f, 0.019972f, -0.023233f, -0.009330f, -0.023051f, -0.008381f, -0.041914f, -0.030888f, 0.041349f, 0.000731f, -0.048321f, -0.076593f, 0.062201f, 0.132556f, 0.009382f, -0.074304f, 0.115140f, -0.026215f, -0.001196f, 0.015987f, 0.065511f, -0.037766f, 0.003266f, 0.129844f, -0.064077f, 0.030647f, 0.044354f, 0.041735f, -0.057257f, -0.006180f, 0.010832f, -0.028650f, 0.005421f, 0.013221f, -0.022986f, 0.022763f, - -0.039315f, -0.011639f, -0.015447f, -0.003360f, -0.023406f, -0.021266f, -0.007225f, 0.012194f, -0.042918f, -0.040925f, 0.061507f, 0.010731f, -0.037718f, -0.010359f, 0.036789f, 0.087741f, -0.007178f, -0.043292f, 0.046461f, 0.067212f, -0.019123f, -0.005359f, 0.002263f, 0.024117f, 0.000694f, -0.000276f, 0.031228f, -0.074958f, 0.051705f, -0.043389f, 0.001063f, -0.061361f, 0.034762f, -0.005119f, -0.090630f, 0.044643f, -0.005991f, -0.035616f, 0.062025f, 0.006882f, 0.061337f, -0.051793f, -0.019183f, -0.021135f, -0.047066f, -0.074194f, -0.097160f, 0.082549f, 0.034415f, 0.060673f, 0.056803f, 0.034467f, 0.014112f, -0.035489f, 0.053819f, -0.026853f, -0.021900f, 0.071777f, 0.024624f, -0.013951f, -0.005940f, 0.021622f, -0.050607f, 0.012807f, -0.019674f, 0.033490f, -0.012471f, -0.022237f, 0.032852f, 0.005119f, -0.037472f, 0.002696f, -0.017469f, -0.010959f, 0.008591f, -0.008666f, 0.007506f, -0.002447f, -0.026831f, -0.014211f, 0.012400f, -0.009480f, -0.016712f, 0.016750f, 0.027503f, 0.026097f, -0.020714f, -0.009078f, 0.031539f, -0.052907f, 0.016332f, 0.018886f, -0.021948f, -0.052577f, 0.026836f, 0.002917f, - -0.022978f, 0.015968f, -0.024634f, -0.041008f, 0.011266f, 0.036109f, -0.029604f, -0.013386f, 0.013491f, 0.031473f, -0.008146f, -0.004323f, 0.028324f, 0.001633f, -0.021739f, 0.072073f, -0.029290f, 0.021298f, 0.016767f, -0.074919f, 0.067385f, 0.023471f, -0.019152f, 0.057731f, 0.004921f, 0.003810f, 0.028343f, -0.025143f, 0.073835f, -0.059233f, -0.031588f, 0.027462f, 0.025499f, 0.012526f, -0.054941f, -0.033536f, -0.061229f, 0.033889f, 0.008264f, 0.030960f, 0.000168f, 0.033257f, 0.013542f, 0.011135f, 0.001459f, 0.028361f, -0.012666f, 0.015619f, -0.027915f, 0.021039f, -0.025791f, -0.000216f, -0.034087f, -0.024305f, 0.001566f, -0.030428f, 0.014393f, 0.072589f, 0.017481f, -0.054375f, 0.028513f, 0.021858f, 0.038621f, 0.001113f, 0.064134f, -0.054970f, 0.008548f, 0.025569f, -0.052934f, -0.012345f, 0.107220f, 0.060326f, -0.141593f, -0.060135f, 0.075521f, -0.020543f, -0.067116f, 0.026562f, -0.006759f, -0.051840f, 0.038182f, 0.064502f, -0.087252f, 0.017327f, 0.077721f, -0.052535f, -0.047069f, 0.063497f, 0.008628f, -0.052174f, 0.009398f, 0.041293f, -0.045527f, -0.006303f, 0.050153f, -0.007314f, - -0.022193f, -0.035805f, 0.045891f, -0.012065f, 0.025635f, 0.005974f, 0.026036f, -0.017746f, 0.016887f, 0.046232f, 0.018331f, -0.034011f, 0.002876f, -0.024326f, -0.016403f, -0.034263f, -0.003021f, -0.009121f, -0.002352f, -0.023020f, 0.023643f, 0.020327f, -0.007972f, 0.052842f, -0.013297f, -0.056110f, 0.067651f, -0.007987f, -0.012785f, 0.012490f, 0.023734f, 0.003204f, -0.006212f, 0.057072f, 0.031414f, -0.040042f, 0.003450f, 0.016257f, -0.029028f, -0.024002f, 0.041312f, -0.021232f, -0.078196f, 0.075426f, 0.009668f, -0.076237f, -0.002191f, 0.040199f, -0.028611f, -0.064107f, 0.037053f, 0.049432f, -0.079036f, 0.011667f, 0.059602f, -0.034883f, -0.006064f, 0.065217f, -0.004779f, -0.026606f, 0.015333f, 0.027564f, -0.035677f, -0.009749f, 0.038274f, -0.008713f, -0.033341f, 0.028088f, 0.016780f, -0.019432f, 0.062990f, -0.135594f, -0.009255f, -0.024327f, -0.149947f, -0.027321f, -0.046009f, 0.014316f, 0.026196f, 0.044040f, -0.019498f, -0.059089f, -0.021823f, -0.085079f, 0.011666f, 0.029820f, 0.017848f, 0.012962f, -0.067741f, 0.041279f, 0.006946f, -0.082292f, 0.060065f, -0.088463f, -0.035668f, -0.033504f, - 0.024187f, 0.063139f, 0.074128f, -0.006573f, -0.016316f, -0.142878f, 0.061432f, 0.143607f, 0.052841f, 0.002771f, -0.078901f, -0.116594f, -0.047380f, -0.010359f, 0.060895f, -0.073250f, -0.043149f, -0.075244f, -0.023522f, 0.134055f, 0.145443f, -0.025902f, -0.066679f, -0.058292f, -0.030467f, -0.015963f, 0.073373f, -0.035401f, 0.022123f, 0.014591f, 0.048882f, -0.014040f, -0.032554f, -0.085470f, -0.036560f, 0.128482f, 0.055543f, 0.085267f, -0.078632f, -0.044434f, -0.036307f, 0.087125f, 0.002009f, -0.143648f, -0.137650f, 0.076460f, 0.133132f, 0.222192f, 0.039212f, -0.190106f, 0.031898f, -0.050780f, 0.064606f, 0.061309f, -0.231808f, -0.074756f, 0.045526f, 0.121494f, 0.029928f, -0.118855f, -0.026266f, -0.012575f, 0.068833f, 0.057835f, 0.015839f, -0.095361f, -0.014633f, 0.020006f, 0.042334f, 0.020246f, -0.024513f, 0.003315f, -0.052198f, -0.007366f, -0.000756f, 0.049879f, -0.034528f, 0.066768f, -0.042967f, 0.018541f, 0.039277f, -0.016874f, 0.032589f, 0.028049f, 0.053067f, 0.002025f, -0.025643f, -0.031233f, 0.004844f, 0.001894f, 0.009014f, 0.004856f, -0.001727f, -0.004244f, -0.019158f, -0.020913f, - -0.004019f, 0.032800f, -0.008616f, 0.000252f, -0.007004f, 0.010520f, 0.002501f, 0.017992f, -0.017023f, -0.022778f, -0.043842f, -0.022399f, -0.002609f, 0.023931f, -0.023464f, -0.002163f, -0.068645f, 0.058635f, -0.061272f, -0.012947f, 0.001903f, 0.015727f, -0.011861f, 0.014134f, 0.023317f, -0.038996f, -0.034114f, -0.000473f, 0.008535f, 0.025485f, -0.028805f, 0.004275f, 0.021328f, -0.016593f, 0.013151f, -0.008492f, 0.066071f, -0.000692f, -0.010451f, 0.038464f, 0.020506f, 0.034207f, -0.017602f, 0.021931f, -0.007333f, -0.000667f, 0.027569f, 0.020156f, 0.004226f, 0.008602f, 0.037325f, -0.034982f, -0.011076f, 0.004015f, 0.050510f, -0.000575f, -0.011914f, 0.047626f, -0.012486f, -0.020357f, -0.020944f, 0.039500f, -0.009751f, 0.017385f, 0.010068f, 0.006211f, -0.014220f, 0.007287f, 0.014879f, 0.005639f, 0.043918f, 0.022238f, 0.012186f, -0.018980f, -0.003293f, 0.017137f, -0.032031f, 0.011624f, 0.011661f, 0.032892f, 0.000073f, -0.003664f, 0.018119f, 0.004294f, -0.037107f, 0.041564f, 0.012281f, -0.009445f, 0.033987f, -0.023110f, -0.003241f, -0.017199f, -0.015573f, 0.033999f, 0.024390f, -0.002151f, - 0.012039f, -0.020007f, 0.004372f, -0.027042f, -0.002923f, -0.024755f, 0.005237f, 0.016263f, 0.005537f, 0.003161f, -0.005726f, -0.003297f, 0.004441f, -0.014752f, 0.004019f, -0.006322f, 0.006750f, -0.009689f, -0.003773f, -0.008964f, -0.011895f, 0.005717f, -0.002325f, -0.000674f, -0.004585f, 0.016108f, 0.005884f, -0.020212f, -0.021498f, -0.014384f, 0.004159f, 0.006704f, 0.015168f, 0.009246f, -0.019830f, -0.002832f, -0.007653f, 0.017996f, -0.004789f, 0.019400f, 0.007726f, -0.015787f, -0.000177f, 0.008641f, -0.009327f, 0.012397f, -0.007550f, 0.014006f, -0.010105f, -0.003099f, 0.004227f, -0.007836f, 0.107021f, 0.008627f, -0.039566f, -0.032748f, 0.005287f, 0.024202f, -0.001513f, 0.022090f, -0.008448f, -0.005926f, -0.029729f, -0.006539f, -0.020837f, 0.033030f, -0.020727f, -0.001701f, -0.013111f, -0.006177f, -0.007721f, 0.003599f, -0.022031f, 0.003349f, -0.009537f, -0.015499f, 0.004469f, -0.002488f, 0.001165f, -0.004214f, 0.007655f, 0.003706f, -0.018455f, -0.011828f, -0.000100f, -0.012484f, -0.010929f, 0.009084f, -0.003070f, -0.018805f, 0.001150f, -0.010472f, 0.007904f, -0.027767f, 0.013757f, -0.012088f, - -0.021159f, 0.006366f, -0.009762f, -0.010948f, 0.002730f, -0.000217f, 0.001186f, -0.004652f, 0.004529f, -0.008522f, 0.009251f, -0.005862f, 0.000858f, 0.015424f, -0.011306f, 0.005148f, -0.003086f, -0.001683f, 0.004070f, -0.012832f, 0.011481f, -0.013490f, 0.011459f, -0.002858f, -0.000721f, -0.008658f, 0.010817f, -0.012968f, 0.000687f, 0.004506f, -0.017142f, 0.016875f, -0.010507f, 0.007126f, -0.008001f, 0.006803f, -0.006208f, -0.007566f, 0.012410f, -0.007968f, -0.001737f, 0.012304f, -0.008173f, -0.000190f, 0.000844f, 0.001881f, -0.009024f, 0.000624f, -0.000977f, -0.003944f, -0.002667f, 0.002038f, -0.002965f, -0.004851f, -0.002556f, 0.005303f, -0.005125f, 0.003949f, -0.001593f, -0.000662f, -0.001781f, -0.003757f, 0.003243f, -0.002573f, -0.003082f, 0.003602f, -0.004083f, 0.002825f, 0.001154f, -0.002445f, 0.000365f, -0.000715f, 0.000809f, -0.007586f, 0.006945f, -0.007802f, 0.001105f, -0.001252f, -0.004255f, 0.000911f, -0.002452f, 0.005116f, -0.013127f, -0.051841f, -0.082856f, 0.087852f, 0.306656f, 0.058453f, 0.092240f, -0.188979f, -0.262127f, -0.109891f, -0.137148f, 0.105813f, 0.246242f, 0.141155f, - 0.095199f, 0.009233f, -0.135347f, -0.120292f, -0.119799f, -0.049360f, 0.068308f, 0.057811f, 0.062272f, 0.055506f, -0.001652f, -0.009300f, -0.014028f, -0.019609f, -0.028253f, -0.004114f, 0.037820f, -0.003609f, -0.021663f, -0.008835f, -0.031386f, -0.018025f, -0.005310f, -0.008118f, 0.060558f, 0.055871f, 0.033383f, 0.035376f, 0.002003f, -0.043864f, -0.044288f, -0.081823f, -0.054167f, 0.007233f, 0.006821f, 0.016405f, 0.048295f, 0.068312f, 0.041306f, 0.034289f, -0.001424f, -0.039059f, -0.053872f, -0.046870f, -0.038982f, 0.005372f, 0.014095f, 0.024886f, 0.017491f, 0.011311f, 0.002639f, -0.014364f, 0.005677f, 0.001150f, 0.006039f, 0.033857f, -0.003070f, 0.014878f, 0.015615f, -0.025551f, -0.047807f, -0.049543f, -0.044380f, 0.011617f, 0.036583f, 0.026247f, 0.040016f, 0.034994f, -0.011711f, 0.008652f, 0.021854f, -0.014222f, -0.013065f, -0.030869f, -0.039461f, -0.015552f, -0.009267f, -0.004298f, 0.016813f, 0.007637f, 0.009107f, 0.026472f, 0.025411f, 0.026057f, 0.015033f, 0.006515f, -0.013089f, -0.016465f, -0.040579f, -0.044735f, -0.031542f, -0.023344f, 0.010095f, 0.028925f, 0.036661f, 0.048961f, - 0.035146f, 0.022249f, 0.000366f, -0.015404f, -0.024000f, -0.050948f, -0.053823f, -0.019165f, 0.009650f, 0.025617f, 0.020586f, 0.017789f, 0.020603f, 0.014734f, -0.000984f, -0.003960f, 0.002189f, 0.000434f, -0.008929f, -0.008136f, -0.027207f, -0.017983f, -0.000754f, 0.009741f, 0.013409f, 0.010520f, -0.004058f, -0.000558f, 0.009882f, 0.007696f, 0.000586f, 0.005329f, 0.004766f, -0.003237f, -0.012827f, -0.011605f, -0.011109f, -0.002620f, -0.002941f, -0.000257f, 0.002349f, 0.011339f, 0.012618f, 0.011340f, 0.005407f, 0.003630f, -0.005378f, -0.009833f, -0.012078f, -0.007130f, -0.004259f, -0.000037f, 0.000630f, 0.004169f, 0.003634f, 0.006786f, 0.004601f, 0.002772f, -0.001166f, -0.000525f, -0.001641f, -0.001041f, -0.004163f, -0.003793f, -0.003245f, 0.002246f, 0.002634f, 0.003261f, -0.000789f, -0.001189f, -0.001918f, 0.001745f, 0.000377f, 0.001718f, 0.000341f, 0.001969f, -0.000881f, -0.000846f, -0.001877f, 0.001023f, -0.000347f, 0.000538f, -0.001989f, -0.000732f, -0.001691f, 0.000663f, 0.000174f, 0.002390f, 0.000425f, 0.001090f, -0.000165f, 0.001708f, -0.000024f, 0.000242f, -0.002578f, -0.001451f, - -0.002303f, 0.000230f, -0.000289f, 0.001737f, 0.000163f, 0.001579f, 0.000272f, 0.001253f, -0.000966f, 0.000208f, -0.001180f, 0.000521f, -0.000884f, 0.000674f, -0.000671f, 0.000734f, -0.001012f, 0.000391f, -0.000731f, 0.001045f, -0.000414f, 0.000893f, -0.000706f, 0.000778f, -0.000691f, 0.000812f, -0.000660f, 0.000772f, -0.000779f, 0.000684f, -0.000826f, 0.000652f, -0.000831f, 0.000689f, -0.000756f} - }, - { - {0.004110f, 0.011707f, 0.001045f, 0.007816f, -0.001759f, -0.001209f, -0.004200f, 0.008338f, 0.005351f, -0.004995f, -0.006466f, 0.004170f, -0.001616f, -0.010067f, -0.011549f, 0.002689f, 0.000619f, -0.003974f, -0.003911f, -0.007864f, 0.005024f, -0.009240f, 0.002389f, -0.000966f, 0.002120f, 0.000694f, 0.002007f, -0.004186f, -0.000561f, 0.001567f, 0.002678f, -0.001004f, 0.003269f, 0.002294f, -0.004033f, 0.003008f, -0.002425f, -0.007888f, 0.011153f, -0.002197f, 0.000546f, 0.002585f, -0.001354f, 0.006067f, 0.007876f, -0.001744f, 0.002981f, 0.005827f, 0.000535f, -0.006316f, -0.004746f, 0.001505f, 0.003767f, -0.001961f, 0.002078f, 0.007165f, -0.006324f, -0.005800f, 0.006048f, 0.001080f, -0.002342f, -0.003941f, -0.000128f, 0.001307f, 0.004599f, -0.007360f, 0.003628f, 0.001792f, -0.005650f, -0.006221f, 0.005294f, -0.003415f, -0.007500f, -0.003288f, -0.000668f, 0.011321f, 0.013191f, -0.001200f, 0.002223f, -0.001702f, 0.002062f, -0.002233f, 0.003534f, 0.002060f, -0.002130f, -0.000793f, -0.002264f, 0.001062f, -0.003032f, 0.002836f, 0.002627f, 0.000526f, -0.003557f, 0.000366f, -0.000129f, 0.001507f, - -0.000889f, 0.002373f, -0.001221f, 0.000373f, 0.000199f, 0.001450f, -0.000294f, 0.000464f, 0.000485f, 0.001500f, -0.000032f, -0.014460f, -0.006252f, -0.009976f, 0.006536f, -0.004839f, -0.006779f, -0.004590f, -0.006079f, -0.001208f, 0.002238f, 0.010939f, 0.001885f, -0.005846f, 0.009230f, 0.000359f, 0.009515f, -0.009150f, 0.014738f, 0.006840f, 0.015988f, -0.002872f, -0.005450f, -0.001102f, -0.008807f, -0.000751f, -0.000634f, -0.003191f, 0.002984f, 0.000293f, -0.006995f, -0.001698f, -0.000032f, 0.002161f, 0.006932f, 0.001598f, -0.010456f, -0.008707f, -0.003309f, 0.005866f, 0.000383f, 0.000284f, -0.005304f, 0.008696f, -0.000245f, 0.000632f, -0.003760f, 0.001104f, -0.002275f, 0.004561f, -0.001488f, 0.014499f, 0.000115f, -0.001916f, 0.005489f, -0.003671f, -0.006535f, -0.002709f, 0.004906f, 0.008746f, 0.001444f, 0.005353f, 0.001311f, 0.000896f, -0.004616f, -0.004510f, -0.007389f, -0.000340f, -0.007660f, 0.001890f, 0.006223f, 0.006640f, 0.004666f, -0.002381f, -0.003400f, 0.005959f, -0.004248f, -0.001783f, 0.003721f, -0.003424f, -0.000608f, -0.001788f, 0.003852f, 0.006853f, 0.003536f, 0.001999f, - -0.001745f, -0.000787f, 0.001232f, -0.000701f, 0.004593f, 0.000765f, -0.002251f, -0.001347f, -0.001036f, -0.000327f, 0.000640f, 0.000555f, 0.000070f, -0.000731f, 0.002129f, 0.001337f, 0.000102f, 0.000808f, -0.001665f, -0.001077f, -0.001329f, -0.001569f, -0.000552f, -0.001757f, -0.001706f, -0.000389f, 0.002186f, 0.010098f, 0.010953f, 0.005763f, 0.000034f, 0.008908f, -0.004790f, -0.007599f, 0.007425f, 0.007677f, 0.009787f, 0.014349f, 0.001420f, -0.009154f, 0.005379f, -0.008729f, -0.000505f, 0.002914f, 0.002181f, 0.015987f, 0.001359f, -0.012877f, -0.000492f, 0.002297f, 0.005518f, -0.000930f, -0.004259f, -0.014174f, -0.002667f, 0.012032f, 0.004282f, 0.007915f, 0.009393f, 0.007706f, 0.002276f, -0.001336f, 0.008366f, -0.010523f, -0.000190f, -0.007152f, 0.019345f, -0.001033f, 0.000672f, 0.008561f, -0.006990f, -0.001110f, 0.003140f, -0.001066f, 0.011595f, -0.001757f, 0.003598f, 0.010979f, -0.001996f, 0.003453f, 0.001048f, -0.000516f, 0.000029f, -0.001426f, -0.003032f, 0.004757f, 0.006502f, -0.001522f, 0.006473f, 0.002329f, 0.012674f, 0.014347f, -0.000625f, 0.003852f, 0.002508f, -0.007213f, - 0.007239f, -0.001748f, -0.005895f, 0.002551f, 0.007133f, 0.002002f, -0.001687f, 0.012723f, -0.001666f, 0.003476f, 0.003949f, 0.001910f, -0.006309f, -0.000343f, -0.001177f, 0.001056f, -0.003265f, -0.000670f, 0.000525f, 0.001383f, 0.001500f, 0.002372f, -0.000683f, 0.001179f, -0.003023f, -0.002110f, -0.003782f, 0.003026f, 0.001130f, -0.000544f, 0.001330f, -0.000499f, -0.003078f, 0.002067f, 0.000452f, 0.001510f, -0.000843f, -0.001082f, 0.000707f, 0.003820f, -0.003773f, 0.002192f, 0.016052f, 0.015554f, -0.006072f, -0.009046f, -0.007742f, -0.005466f, 0.004107f, -0.017196f, -0.001571f, 0.002273f, -0.008089f, -0.015247f, 0.014807f, -0.003280f, -0.003599f, 0.002252f, 0.006884f, 0.005934f, -0.007398f, -0.003092f, -0.000194f, -0.000927f, 0.003650f, 0.005068f, -0.002735f, 0.006258f, -0.004652f, 0.009653f, -0.001048f, 0.000285f, -0.004874f, 0.005046f, 0.002029f, -0.001599f, -0.004854f, 0.002253f, -0.002701f, -0.004473f, -0.003532f, 0.000760f, 0.003347f, -0.009347f, 0.000925f, -0.017539f, -0.009943f, 0.006158f, -0.002492f, 0.001972f, 0.004026f, 0.011365f, -0.003562f, -0.005891f, -0.000268f, 0.000255f, - 0.004962f, 0.004535f, -0.005239f, -0.002471f, 0.012809f, 0.000376f, 0.002068f, 0.000971f, 0.005774f, -0.010679f, 0.000491f, 0.005247f, 0.009983f, 0.001957f, 0.004366f, 0.014869f, -0.003554f, -0.001522f, -0.007979f, -0.000005f, 0.002595f, 0.005132f, 0.000113f, -0.003344f, 0.004703f, -0.000508f, 0.008442f, -0.000034f, -0.000211f, 0.000907f, -0.010406f, -0.005539f, -0.006114f, 0.005749f, -0.000913f, -0.001811f, -0.000008f, 0.000659f, -0.000331f, 0.002964f, -0.000891f, -0.001868f, -0.002233f, -0.001254f, -0.003198f, -0.002240f, 0.002515f, 0.000035f, -0.000839f, -0.001773f, 0.000812f, 0.000530f, 0.000259f, -0.001574f, 0.002751f, 0.001043f, 0.001742f, -0.000520f, -0.000141f, -0.002016f, -0.002055f, 0.001255f, -0.000980f, 0.001738f, 0.002449f, -0.000095f, -0.010275f, -0.015693f, 0.006649f, -0.005020f, 0.000173f, -0.008003f, 0.006204f, -0.018136f, -0.015142f, -0.017093f, -0.005932f, -0.003495f, -0.012164f, 0.006315f, 0.016374f, -0.011974f, 0.002430f, 0.019535f, -0.004596f, -0.005111f, -0.009024f, 0.001748f, -0.000165f, 0.008757f, 0.002693f, 0.006346f, 0.004212f, -0.006124f, -0.012416f, -0.005676f, - 0.007236f, -0.003991f, -0.007637f, 0.002083f, 0.002997f, 0.002603f, 0.001451f, 0.017040f, -0.008069f, 0.009362f, -0.004503f, 0.004793f, -0.005018f, 0.014211f, -0.010551f, 0.005912f, -0.000971f, -0.008147f, 0.007657f, -0.002905f, -0.002870f, 0.008552f, 0.004338f, -0.000530f, -0.003805f, 0.007792f, 0.003636f, -0.007630f, -0.009483f, 0.006607f, 0.010253f, 0.006027f, 0.000125f, -0.004321f, 0.000411f, 0.006804f, -0.002967f, 0.008184f, -0.001998f, -0.016081f, 0.000395f, -0.006954f, 0.023054f, 0.008285f, -0.013307f, -0.007234f, -0.002723f, -0.005777f, 0.005856f, 0.005990f, 0.004271f, -0.002646f, 0.004959f, 0.004287f, 0.001315f, -0.000779f, -0.006932f, 0.001544f, 0.002217f, -0.001748f, 0.001442f, 0.002568f, -0.001037f, -0.000089f, 0.001371f, -0.000233f, -0.002150f, -0.001490f, 0.000034f, 0.001981f, -0.001974f, 0.001887f, 0.001855f, -0.002346f, -0.003385f, -0.003897f, 0.000001f, 0.002646f, -0.001248f, 0.002375f, -0.001896f, 0.000042f, 0.001513f, -0.000954f, -0.003807f, 0.000797f, 0.005983f, -0.013389f, -0.016537f, 0.014267f, -0.003044f, -0.013319f, 0.001125f, -0.003352f, 0.013766f, 0.006952f, - -0.003487f, 0.002670f, -0.000664f, -0.001940f, -0.002429f, 0.016105f, 0.003166f, 0.000981f, -0.010875f, -0.004864f, -0.002511f, 0.005732f, 0.007070f, 0.021650f, 0.000588f, 0.000841f, -0.000609f, 0.001600f, -0.009410f, 0.000564f, 0.003964f, -0.011627f, -0.008254f, -0.007480f, -0.000910f, 0.015870f, -0.012739f, 0.002322f, 0.007238f, 0.003256f, -0.005926f, 0.006694f, -0.015912f, 0.013203f, -0.002769f, 0.000147f, 0.007148f, -0.007930f, -0.009406f, -0.014526f, 0.003168f, -0.004654f, 0.013957f, 0.004979f, 0.000400f, 0.002797f, 0.004286f, 0.011053f, -0.004765f, -0.002251f, 0.011444f, -0.002191f, -0.006440f, -0.000089f, 0.011452f, 0.011700f, 0.010588f, 0.005854f, -0.006961f, 0.006916f, 0.009583f, -0.011104f, 0.014460f, -0.008655f, -0.008185f, 0.013215f, 0.001419f, 0.019000f, -0.000197f, -0.010423f, 0.004695f, -0.004557f, 0.012527f, 0.006115f, 0.003479f, 0.001000f, 0.004319f, -0.002045f, 0.007886f, 0.002893f, 0.003154f, 0.002529f, 0.004631f, -0.000208f, -0.000357f, 0.003755f, -0.000107f, 0.002802f, -0.001383f, 0.004515f, 0.008923f, -0.005016f, -0.002354f, 0.001732f, 0.001138f, 0.000736f, - 0.002285f, -0.000283f, 0.000735f, 0.001996f, 0.004382f, 0.000486f, 0.008214f, 0.002121f, 0.000972f, -0.003513f, 0.000947f, 0.002881f, -0.003669f, 0.000974f, 0.001622f, -0.000049f, 0.001061f, -0.000074f, -0.029420f, -0.019553f, 0.005330f, 0.009379f, 0.020284f, -0.012409f, 0.010929f, 0.001911f, 0.011503f, -0.000691f, -0.005233f, -0.007045f, 0.007135f, 0.020802f, 0.001855f, -0.001945f, -0.019868f, -0.016805f, 0.000189f, -0.012384f, -0.007139f, 0.000599f, 0.002592f, -0.012692f, -0.003689f, 0.002936f, 0.007458f, 0.003824f, -0.008065f, -0.000141f, 0.009455f, 0.007528f, 0.001654f, -0.007831f, 0.001490f, -0.004837f, 0.002336f, 0.002516f, 0.004365f, -0.006059f, 0.007512f, 0.018097f, -0.001797f, -0.001476f, 0.003588f, -0.010273f, 0.004845f, 0.014550f, -0.014410f, -0.017174f, -0.008776f, 0.001293f, -0.022039f, 0.000431f, 0.000675f, 0.002965f, 0.000256f, -0.000441f, -0.010446f, -0.005768f, -0.006773f, -0.001046f, 0.015060f, 0.022065f, 0.000662f, 0.001344f, 0.010854f, -0.004652f, -0.001826f, 0.004905f, 0.024984f, 0.003037f, 0.008996f, 0.017408f, 0.003225f, -0.011492f, 0.004739f, 0.005120f, - -0.005233f, 0.005272f, 0.004524f, -0.001291f, -0.005417f, 0.002438f, 0.001605f, -0.001298f, -0.009270f, 0.003969f, 0.008516f, 0.003064f, 0.006204f, 0.003341f, 0.007484f, -0.001742f, -0.002815f, 0.006769f, 0.005717f, -0.001899f, -0.000393f, -0.002184f, 0.004916f, 0.005223f, -0.004329f, 0.005186f, 0.001411f, 0.000530f, 0.001314f, 0.002757f, 0.003964f, 0.000391f, 0.003458f, -0.002490f, -0.001292f, -0.000149f, -0.000659f, 0.001293f, -0.002361f, 0.000218f, -0.000740f, 0.000887f, -0.003176f, -0.002895f, 0.015067f, 0.009654f, -0.014149f, -0.000483f, 0.030012f, 0.026748f, 0.005525f, 0.016185f, 0.019764f, 0.005145f, -0.000380f, 0.013174f, -0.005988f, 0.000281f, -0.011924f, 0.009813f, -0.000900f, 0.000619f, 0.004269f, 0.005290f, 0.016294f, -0.013677f, -0.012699f, 0.012666f, 0.002468f, 0.005859f, -0.009935f, 0.001913f, -0.003541f, 0.006582f, -0.000007f, 0.009183f, 0.008785f, -0.008913f, 0.007423f, 0.006420f, -0.010512f, 0.026839f, 0.004564f, 0.005329f, -0.020826f, -0.006520f, -0.001773f, 0.017439f, 0.016030f, -0.001523f, -0.017893f, 0.011736f, -0.015573f, -0.004688f, 0.013438f, -0.000279f, - -0.011077f, 0.013342f, 0.016518f, -0.004122f, 0.005496f, -0.006579f, -0.023420f, 0.000248f, 0.014835f, -0.006761f, -0.008085f, 0.009944f, -0.011293f, -0.016869f, 0.004108f, 0.011625f, 0.020868f, 0.011111f, -0.015834f, 0.006696f, -0.018582f, -0.021655f, 0.019973f, 0.009559f, 0.007236f, -0.013412f, -0.014716f, -0.002080f, 0.015026f, 0.005167f, 0.021516f, 0.009714f, 0.005342f, -0.022872f, 0.003597f, -0.006284f, 0.000754f, -0.005245f, 0.004663f, 0.001570f, 0.005669f, 0.009840f, 0.004946f, 0.000994f, 0.004158f, -0.003696f, -0.002022f, -0.003767f, -0.000188f, -0.003516f, -0.001223f, 0.001578f, 0.007112f, 0.001409f, -0.003162f, -0.001154f, 0.002175f, 0.000471f, -0.000793f, -0.007245f, 0.000258f, -0.003629f, 0.001252f, -0.005103f, -0.005945f, 0.004015f, 0.004412f, 0.007395f, -0.007264f, 0.000260f, 0.003586f, 0.031153f, 0.020158f, -0.013659f, -0.003609f, -0.000626f, 0.005567f, 0.004296f, -0.001881f, -0.012336f, 0.003052f, -0.008496f, 0.013092f, 0.000286f, 0.005097f, -0.004375f, -0.001852f, -0.012879f, -0.006709f, 0.026745f, 0.008961f, -0.016516f, 0.007831f, -0.016140f, -0.011235f, -0.025174f, - 0.010956f, 0.000281f, 0.000455f, 0.005792f, -0.000632f, -0.011497f, 0.018938f, 0.010655f, -0.004112f, -0.019173f, 0.019101f, -0.013212f, 0.005076f, -0.000646f, 0.006287f, 0.003605f, 0.012150f, 0.013805f, -0.003219f, 0.007571f, 0.022166f, 0.002676f, -0.006907f, -0.006499f, -0.003883f, 0.003269f, 0.014804f, -0.004231f, 0.006035f, 0.000989f, -0.013504f, 0.000342f, -0.003304f, 0.006422f, -0.020328f, -0.000524f, -0.033907f, -0.020756f, -0.018909f, -0.004979f, -0.018687f, 0.012389f, -0.004656f, -0.015678f, -0.004147f, -0.001936f, -0.012525f, -0.005647f, -0.000429f, 0.001057f, -0.007509f, -0.016476f, -0.016283f, 0.000669f, -0.003527f, 0.003768f, 0.009150f, -0.001673f, 0.004582f, 0.002058f, -0.000065f, -0.000492f, -0.008868f, -0.000608f, -0.000175f, -0.007358f, -0.000579f, 0.006482f, 0.012919f, -0.002472f, -0.006169f, 0.004596f, -0.007989f, 0.006516f, -0.006669f, -0.002740f, 0.001293f, -0.005114f, -0.005993f, -0.000297f, -0.003740f, 0.000671f, -0.001392f, -0.006302f, 0.002976f, -0.000516f, 0.007537f, 0.004798f, -0.005309f, 0.004269f, -0.002964f, 0.003946f, -0.002432f, 0.002586f, 0.002654f, 0.001761f, - 0.000160f, 0.002719f, -0.003509f, -0.002188f, -0.003900f, -0.008185f, 0.001049f, 0.002548f, -0.000813f, 0.001396f, -0.006174f, -0.021410f, -0.026649f, -0.012638f, -0.017698f, 0.046023f, -0.022218f, 0.010447f, -0.020974f, -0.006028f, 0.002341f, -0.003388f, -0.031310f, -0.000632f, -0.014814f, 0.001144f, 0.037137f, -0.011815f, 0.015655f, 0.020404f, 0.007487f, 0.008316f, 0.022387f, 0.006660f, -0.008540f, 0.006364f, 0.008857f, 0.009432f, 0.004117f, -0.004589f, 0.026039f, 0.001028f, -0.001952f, -0.004301f, 0.007157f, -0.002172f, -0.008886f, 0.008810f, -0.003205f, 0.006332f, -0.024963f, 0.001091f, -0.004716f, 0.022752f, -0.008825f, 0.007372f, 0.034182f, -0.002920f, 0.000851f, -0.008264f, -0.013933f, -0.000761f, -0.002169f, -0.014351f, 0.018227f, -0.003849f, 0.013264f, 0.001441f, 0.012536f, -0.007145f, -0.001194f, 0.027262f, 0.013460f, -0.021090f, -0.010919f, 0.005807f, 0.006690f, 0.003282f, 0.005949f, -0.006131f, 0.007850f, 0.010025f, 0.022757f, -0.028997f, 0.001897f, -0.012379f, 0.006072f, -0.000492f, 0.003474f, 0.010723f, 0.015684f, -0.010339f, 0.011127f, -0.007478f, -0.004942f, -0.004165f, - -0.003715f, 0.008780f, -0.019600f, -0.003859f, -0.008961f, 0.011355f, 0.009325f, 0.003930f, 0.004883f, -0.006602f, 0.007735f, 0.003490f, 0.005616f, -0.000759f, 0.004490f, -0.005856f, -0.003126f, -0.007348f, -0.000448f, -0.001193f, -0.006438f, -0.000106f, -0.000509f, -0.001774f, 0.000088f, 0.007827f, 0.004986f, -0.004329f, -0.006895f, 0.003681f, 0.002863f, 0.008978f, -0.006754f, 0.000533f, -0.002319f, 0.004025f, 0.004767f, -0.002364f, -0.003613f, -0.007296f, -0.015117f, -0.013694f, -0.014622f, 0.015849f, -0.030758f, -0.009156f, -0.019243f, 0.009548f, 0.032044f, -0.017466f, 0.001019f, 0.000847f, -0.006184f, 0.012266f, -0.010213f, 0.004894f, -0.003117f, -0.013225f, 0.028593f, 0.001359f, -0.009222f, 0.000346f, -0.004093f, -0.012682f, 0.010031f, -0.009733f, 0.009421f, -0.018123f, -0.008312f, 0.012106f, 0.009023f, -0.030237f, -0.005334f, -0.025761f, 0.007740f, -0.004381f, -0.024620f, 0.030037f, -0.008338f, -0.000674f, -0.022770f, -0.025153f, 0.001547f, -0.022689f, -0.002863f, -0.019617f, -0.016579f, 0.019625f, 0.002271f, -0.025493f, 0.008428f, -0.022830f, 0.020357f, 0.007222f, -0.009729f, 0.000671f, - 0.006609f, 0.021181f, -0.016377f, -0.023414f, 0.023672f, -0.016578f, -0.009297f, 0.012243f, 0.017892f, -0.033143f, -0.016156f, 0.018660f, 0.014052f, 0.007161f, -0.001644f, 0.002200f, -0.023639f, 0.008021f, 0.007994f, 0.012957f, -0.004097f, -0.025236f, -0.018121f, 0.008747f, -0.021581f, -0.019104f, 0.008066f, -0.001398f, 0.000369f, 0.007763f, 0.018362f, -0.000123f, -0.000701f, 0.016884f, 0.001648f, -0.002929f, 0.002981f, -0.002482f, -0.003406f, 0.003509f, -0.004423f, -0.003327f, -0.008545f, -0.008399f, -0.005819f, 0.001342f, -0.004837f, -0.000102f, 0.003527f, 0.002597f, -0.000435f, -0.000283f, 0.003766f, -0.004495f, -0.006785f, 0.001869f, -0.000191f, 0.006333f, -0.006255f, -0.001985f, -0.007098f, 0.008080f, 0.008756f, 0.001690f, -0.000417f, -0.005589f, -0.002173f, -0.007782f, 0.000660f, 0.001023f, -0.004245f, 0.001116f, 0.001726f, 0.001648f, -0.001885f, 0.015612f, -0.024148f, -0.039623f, -0.031829f, 0.014288f, -0.038073f, -0.001942f, 0.028992f, -0.002656f, 0.002151f, 0.020655f, -0.013701f, -0.011831f, 0.046032f, -0.018296f, 0.010824f, 0.017395f, -0.003176f, -0.041758f, -0.003398f, 0.004302f, - -0.010409f, -0.005867f, -0.009630f, 0.038784f, 0.000438f, 0.000349f, -0.001850f, -0.028095f, 0.005189f, -0.016215f, -0.008041f, 0.001653f, 0.004744f, 0.008209f, 0.022635f, 0.004925f, -0.005761f, 0.044331f, 0.004732f, -0.011074f, -0.040564f, -0.006016f, 0.029850f, -0.006554f, -0.018587f, -0.025084f, -0.021967f, -0.018888f, -0.011781f, 0.031511f, 0.012334f, 0.001732f, 0.017608f, 0.026314f, 0.014767f, -0.005834f, -0.004587f, 0.027203f, -0.005344f, -0.008450f, 0.007968f, 0.020784f, 0.003013f, -0.021523f, 0.004969f, -0.002244f, -0.032014f, -0.002501f, 0.025541f, -0.012711f, -0.014702f, -0.003665f, 0.034323f, -0.027369f, -0.005441f, -0.015305f, 0.015693f, 0.009013f, 0.007286f, 0.010892f, -0.004469f, -0.005956f, 0.011638f, 0.009195f, 0.006437f, -0.001946f, 0.001456f, 0.007222f, -0.020126f, -0.003796f, 0.002661f, -0.010503f, 0.000288f, 0.010946f, -0.001097f, 0.001964f, -0.004315f, -0.001325f, 0.006053f, 0.007712f, 0.011694f, 0.006492f, -0.001944f, 0.004085f, -0.006667f, -0.008584f, 0.002451f, -0.001736f, -0.006917f, 0.007640f, 0.004108f, 0.005763f, 0.001246f, 0.002757f, 0.005998f, 0.003250f, - -0.001728f, -0.004353f, -0.001126f, 0.002362f, 0.000013f, 0.002395f, 0.000501f, 0.002986f, 0.001848f, 0.005156f, 0.000660f, -0.005090f, 0.011082f, 0.009009f, -0.008557f, -0.002963f, -0.004113f, -0.002929f, 0.004247f, -0.005202f, 0.003055f, 0.032331f, 0.003253f, -0.028892f, -0.001072f, 0.008650f, -0.001052f, -0.013185f, 0.012523f, -0.009764f, 0.025696f, -0.019809f, 0.017649f, 0.038595f, -0.010477f, -0.010324f, -0.009134f, -0.008075f, 0.034449f, -0.025599f, -0.028126f, -0.021478f, 0.007781f, -0.011232f, -0.018128f, -0.008374f, 0.012337f, -0.017392f, 0.009533f, 0.002209f, 0.013470f, 0.020020f, 0.002408f, -0.002639f, -0.003925f, 0.019723f, -0.005175f, 0.006915f, -0.024347f, -0.000303f, -0.008725f, 0.019214f, -0.025878f, 0.021083f, -0.009001f, -0.013395f, 0.021230f, 0.036842f, -0.020868f, 0.010403f, -0.004690f, 0.007377f, -0.055585f, -0.044111f, -0.026796f, 0.003718f, -0.017045f, 0.007176f, 0.001690f, -0.020752f, -0.016403f, 0.001644f, 0.044095f, 0.010273f, -0.027689f, -0.041360f, -0.021875f, -0.015376f, 0.026962f, -0.018956f, -0.026981f, 0.006251f, 0.005746f, -0.025002f, -0.001709f, -0.000592f, - -0.012464f, -0.003015f, -0.000808f, -0.001226f, 0.011991f, 0.002800f, -0.014430f, -0.012862f, -0.007123f, -0.018460f, -0.010107f, 0.002830f, 0.020392f, 0.003251f, 0.003685f, -0.006161f, -0.017043f, -0.002822f, 0.013647f, -0.000870f, -0.008024f, 0.012489f, -0.019419f, -0.009678f, 0.002716f, 0.002825f, -0.000498f, 0.001906f, 0.001175f, -0.006740f, -0.013659f, -0.005089f, 0.010096f, -0.006229f, -0.004985f, -0.005645f, -0.012218f, -0.013572f, 0.004788f, -0.005051f, -0.003104f, -0.012817f, 0.002902f, 0.007946f, 0.009757f, -0.000719f, -0.006186f, -0.007291f, 0.006972f, 0.002182f, 0.006285f, 0.055877f, 0.036124f, -0.009273f, 0.003438f, 0.036255f, -0.014421f, 0.001513f, 0.015238f, 0.039229f, 0.022640f, -0.006506f, -0.008880f, -0.013185f, 0.003312f, -0.007136f, 0.000420f, 0.001267f, 0.040839f, 0.068127f, -0.004145f, 0.047083f, 0.029396f, 0.006335f, 0.007182f, -0.033080f, -0.033244f, -0.003484f, 0.008621f, -0.002106f, 0.007976f, -0.012171f, -0.024914f, -0.041525f, -0.003728f, -0.026618f, -0.022881f, -0.014787f, -0.023676f, -0.016636f, -0.001044f, 0.039109f, -0.001346f, -0.029182f, -0.002587f, 0.008674f, - 0.028720f, -0.008762f, -0.007412f, -0.017308f, 0.012989f, -0.052553f, -0.047569f, -0.022558f, -0.023768f, -0.025095f, -0.015478f, 0.017137f, -0.021431f, -0.029319f, -0.024971f, -0.043996f, 0.022653f, 0.012452f, -0.039416f, 0.020479f, 0.039721f, 0.078254f, 0.042967f, -0.000197f, 0.014200f, -0.044573f, -0.018385f, 0.024446f, 0.020390f, -0.011203f, -0.030371f, 0.004243f, 0.006358f, 0.027888f, -0.003516f, -0.028040f, -0.004955f, 0.045478f, 0.028868f, 0.033010f, 0.026032f, 0.045873f, 0.042934f, 0.013177f, 0.011695f, -0.009738f, -0.017996f, -0.004722f, -0.001529f, -0.015123f, -0.000003f, -0.017524f, -0.013239f, 0.021000f, 0.009257f, -0.005320f, -0.017897f, -0.006540f, -0.002071f, 0.000028f, -0.019918f, 0.020260f, 0.000348f, -0.016416f, 0.010121f, -0.009996f, -0.008561f, -0.002238f, 0.006355f, 0.027840f, 0.013587f, 0.033248f, 0.000269f, -0.006157f, 0.003893f, 0.012895f, 0.008516f, -0.003900f, 0.017519f, 0.001180f, -0.005456f, 0.002918f, 0.014538f, -0.006736f, -0.005914f, 0.005708f, -0.001049f, 0.005149f, -0.057249f, -0.005695f, 0.092648f, -0.006987f, 0.003573f, 0.022860f, -0.033524f, 0.018725f, - 0.065764f, 0.060296f, -0.060883f, -0.058766f, 0.000201f, -0.063731f, -0.023839f, -0.000289f, 0.007554f, 0.022987f, 0.035114f, 0.030602f, 0.054644f, 0.012673f, 0.021656f, 0.021506f, -0.008975f, -0.004054f, 0.006154f, 0.007017f, 0.016305f, -0.029350f, 0.065647f, 0.027912f, 0.030776f, -0.005843f, 0.066670f, 0.008100f, 0.040287f, 0.016461f, 0.012775f, -0.015774f, -0.009909f, 0.033751f, 0.013277f, 0.015631f, -0.035449f, -0.019208f, -0.029556f, -0.017511f, -0.021425f, -0.000202f, -0.042957f, -0.047039f, -0.002479f, -0.018170f, -0.088287f, -0.065997f, -0.059414f, 0.016949f, 0.064825f, 0.083527f, -0.045899f, 0.057573f, 0.089903f, 0.015240f, 0.007857f, -0.005753f, 0.061964f, 0.004670f, 0.056091f, 0.023971f, 0.026426f, -0.037210f, -0.122760f, -0.097475f, -0.021705f, -0.003325f, 0.002922f, 0.004326f, 0.045800f, 0.043000f, 0.037748f, -0.023311f, 0.003312f, -0.012165f, -0.063134f, 0.006421f, 0.005365f, 0.031909f, 0.005257f, 0.046925f, 0.042703f, 0.010519f, 0.037189f, -0.015590f, 0.025289f, -0.022136f, -0.024611f, -0.009182f, 0.010219f, 0.040790f, -0.008859f, -0.011466f, 0.006330f, -0.020157f, - -0.009560f, 0.020659f, -0.005549f, 0.014282f, -0.025376f, 0.035011f, 0.010914f, 0.000373f, -0.002097f, 0.026933f, -0.006306f, 0.001895f, 0.004708f, -0.000526f, 0.018608f, -0.013211f, -0.006443f, -0.000179f, 0.017898f, -0.026180f, 0.003808f, 0.009345f, -0.012469f, 0.001962f, 0.005082f, 0.003254f, -0.005916f, 0.044088f, -0.009059f, -0.081851f, -0.006308f, 0.128275f, 0.024421f, -0.024887f, 0.034107f, -0.011383f, 0.022489f, -0.011040f, -0.013169f, -0.043198f, -0.015163f, -0.005325f, -0.006291f, -0.021041f, 0.031340f, -0.028262f, -0.028806f, -0.002718f, 0.005553f, 0.026357f, 0.012975f, 0.006766f, 0.012354f, -0.011698f, 0.001061f, 0.039701f, -0.019796f, -0.048757f, -0.008808f, 0.003572f, -0.015421f, 0.032944f, -0.016738f, -0.011960f, 0.029130f, 0.007319f, 0.022200f, -0.050339f, -0.055152f, 0.017992f, -0.009975f, -0.019660f, -0.023146f, -0.030187f, -0.060812f, -0.000434f, -0.004574f, 0.019985f, -0.038636f, -0.082899f, 0.062490f, 0.016386f, 0.058790f, 0.005880f, -0.017863f, -0.018015f, 0.015925f, -0.031556f, 0.048892f, 0.009003f, 0.058516f, 0.039695f, 0.086476f, -0.009024f, -0.081406f, -0.064489f, - -0.035519f, 0.046763f, 0.048385f, -0.036705f, 0.038591f, 0.074335f, -0.043307f, -0.007366f, 0.081346f, 0.011958f, 0.062673f, -0.009754f, -0.030802f, -0.084347f, -0.031767f, 0.008874f, 0.054260f, 0.046039f, -0.026738f, 0.022829f, 0.022807f, 0.043625f, 0.016040f, -0.044688f, -0.051377f, -0.021180f, 0.036830f, 0.075941f, -0.001162f, -0.007549f, 0.040608f, 0.020347f, 0.004392f, -0.007281f, -0.016004f, -0.021389f, -0.015946f, 0.012365f, 0.008769f, 0.023550f, -0.009416f, -0.003540f, 0.003062f, 0.013940f, 0.019662f, -0.024998f, 0.001173f, 0.026687f, -0.002373f, -0.008765f, -0.029705f, 0.021327f, 0.000684f, -0.013879f, -0.008621f, 0.029816f, -0.000722f, -0.020453f, -0.009800f, 0.015763f, 0.001199f, -0.068055f, 0.070570f, 0.095722f, 0.016705f, 0.004356f, 0.021306f, -0.014591f, 0.041817f, 0.023392f, 0.043709f, -0.008810f, -0.046033f, 0.102470f, 0.000665f, -0.038446f, 0.004822f, 0.069323f, 0.031807f, 0.013655f, -0.043780f, 0.004840f, -0.023382f, -0.017067f, 0.006990f, -0.032548f, 0.002890f, 0.008891f, 0.039509f, -0.055785f, -0.009366f, -0.006580f, 0.033408f, -0.012516f, -0.020484f, -0.019516f, - -0.000090f, 0.021343f, -0.043289f, 0.003323f, 0.011644f, -0.088773f, 0.012457f, -0.023938f, -0.062479f, 0.041386f, -0.046117f, -0.081083f, 0.107521f, -0.000657f, 0.006440f, -0.008283f, -0.029611f, 0.064937f, -0.045567f, -0.004116f, 0.009889f, -0.029367f, -0.002166f, 0.082028f, 0.042570f, -0.071980f, -0.077839f, 0.077248f, -0.036499f, 0.045098f, 0.074237f, -0.066163f, -0.113956f, -0.078871f, 0.132190f, -0.007617f, -0.103135f, 0.094777f, -0.068663f, -0.130968f, -0.001779f, 0.113346f, -0.004597f, -0.135917f, -0.001650f, -0.045603f, 0.001548f, 0.168078f, -0.025309f, -0.123364f, 0.018251f, 0.066001f, 0.001720f, 0.077150f, 0.004809f, 0.001756f, -0.024000f, 0.003365f, 0.017945f, 0.062338f, -0.012627f, -0.016513f, 0.061847f, -0.007977f, 0.015039f, 0.043317f, -0.006992f, -0.062455f, 0.041317f, 0.029922f, 0.048335f, -0.014609f, -0.000703f, 0.017308f, -0.013375f, -0.045889f, -0.019905f, 0.019320f, 0.001895f, -0.008807f, 0.061290f, -0.001544f, -0.067194f, 0.016098f, 0.055792f, 0.032357f, -0.023041f, 0.003336f, -0.026465f, -0.014739f, 0.067611f, 0.056571f, -0.014104f, -0.064177f, -0.020099f, 0.026792f, - 0.022162f, 0.017890f, -0.011564f, -0.043026f, -0.001613f, -0.046326f, 0.070578f, -0.014615f, 0.021646f, 0.044321f, 0.032448f, 0.033462f, 0.082978f, 0.035225f, -0.019954f, 0.012537f, 0.020697f, 0.026445f, -0.029611f, 0.078967f, 0.075437f, 0.009929f, 0.026333f, -0.018892f, 0.000281f, -0.081662f, 0.037627f, -0.043355f, 0.029252f, -0.003809f, -0.029481f, 0.043489f, -0.017152f, -0.033310f, 0.017972f, -0.046833f, 0.031141f, 0.000849f, -0.008440f, 0.012347f, 0.019608f, 0.028330f, 0.029861f, 0.027602f, 0.084550f, -0.008697f, 0.009574f, 0.026181f, 0.057109f, -0.005985f, 0.015491f, -0.000186f, 0.044771f, 0.052244f, -0.016719f, 0.012296f, -0.001899f, -0.008944f, -0.095710f, 0.007359f, 0.041454f, -0.023321f, -0.023060f, 0.020990f, -0.039589f, -0.059926f, 0.005807f, 0.033545f, 0.071541f, -0.091542f, 0.035438f, -0.004939f, -0.002039f, 0.000156f, 0.036218f, 0.076256f, 0.001897f, -0.056055f, 0.019062f, 0.061853f, -0.033075f, -0.049325f, 0.005318f, 0.027024f, -0.025748f, 0.048959f, -0.008981f, 0.037592f, 0.003885f, -0.037871f, 0.046958f, 0.037090f, 0.006951f, 0.029229f, -0.015953f, 0.018196f, - -0.008381f, 0.009552f, 0.015808f, 0.044637f, -0.008857f, -0.054443f, -0.006333f, 0.062766f, 0.005538f, -0.008132f, 0.056588f, 0.011550f, 0.000434f, 0.013332f, 0.039499f, 0.057568f, -0.036306f, 0.014116f, 0.008630f, -0.002848f, 0.029084f, -0.008341f, -0.041241f, 0.013722f, 0.040833f, -0.017219f, 0.011252f, 0.013564f, -0.012203f, 0.015527f, -0.025895f, 0.018976f, 0.017949f, -0.023339f, -0.049456f, 0.021424f, 0.029481f, -0.013307f, -0.017469f, 0.026677f, -0.001138f, -0.016271f, -0.017941f, 0.018972f, 0.011083f, 0.043813f, -0.082728f, -0.064414f, -0.001194f, -0.099408f, -0.034189f, -0.036792f, 0.076497f, -0.002235f, -0.028407f, 0.035206f, -0.018150f, 0.019498f, 0.004904f, -0.037984f, 0.045214f, -0.102503f, -0.009849f, 0.006179f, -0.025756f, 0.018843f, 0.004429f, -0.020049f, -0.003803f, 0.002953f, 0.025651f, 0.001489f, -0.030216f, -0.099493f, -0.072693f, -0.055315f, -0.027664f, 0.061556f, -0.012687f, 0.002240f, -0.099767f, 0.007377f, -0.007153f, -0.013572f, 0.002915f, -0.096349f, 0.051314f, -0.046826f, 0.023476f, -0.019226f, 0.065304f, -0.035894f, -0.063744f, -0.030642f, -0.000813f, 0.047437f, - 0.086413f, 0.090956f, -0.112668f, -0.083291f, -0.057667f, 0.038621f, 0.092045f, 0.111620f, -0.019790f, -0.028193f, -0.098682f, -0.036629f, 0.087256f, 0.053362f, -0.001376f, -0.000125f, -0.002418f, -0.083275f, 0.055277f, -0.016854f, 0.053334f, 0.129804f, -0.145552f, 0.175820f, 0.049368f, -0.095498f, 0.026308f, -0.191295f, -0.187127f, 0.137675f, 0.058450f, 0.013412f, 0.040743f, -0.070921f, -0.034358f, 0.128278f, -0.005277f, 0.086203f, -0.008872f, -0.069661f, -0.023060f, 0.076117f, -0.025796f, -0.001890f, 0.024363f, -0.006346f, -0.044906f, 0.024571f, -0.036543f, 0.016484f, 0.048240f, -0.050832f, 0.047501f, 0.015869f, -0.006863f, 0.017915f, -0.003378f, -0.011619f, 0.007527f, -0.017794f, 0.008571f, -0.036181f, 0.031427f, 0.033017f, 0.006320f, 0.000884f, -0.011543f, 0.016810f, 0.005751f, 0.006577f, 0.015998f, 0.031729f, -0.040152f, -0.013654f, -0.037317f, -0.028348f, 0.002387f, 0.001177f, 0.031087f, -0.041323f, -0.032006f, -0.039836f, -0.025564f, -0.010887f, 0.058285f, -0.083345f, 0.068961f, -0.041497f, 0.042449f, 0.022039f, 0.026832f, 0.015375f, -0.052960f, 0.057757f, -0.008517f, -0.021003f, - -0.018940f, -0.023269f, 0.017876f, -0.012354f, 0.025386f, 0.014766f, -0.003229f, -0.006354f, -0.044337f, 0.025531f, 0.010598f, -0.011690f, 0.009963f, 0.023148f, -0.006610f, 0.013015f, -0.022511f, 0.026383f, -0.009880f, 0.003142f, 0.010892f, 0.011060f, -0.011826f, 0.040824f, -0.001563f, -0.038905f, -0.002529f, 0.017547f, 0.008821f, -0.029826f, 0.014394f, 0.034139f, -0.006448f, -0.016988f, -0.016304f, -0.002534f, 0.009491f, -0.004444f, 0.040430f, -0.027461f, -0.010397f, -0.009932f, -0.020295f, -0.001996f, -0.006187f, 0.014540f, 0.010727f, -0.016983f, -0.002509f, 0.015264f, -0.016329f, -0.008678f, -0.004869f, 0.024716f, -0.015443f, 0.010444f, 0.016804f, -0.039002f, -0.015587f, 0.012133f, -0.040380f, 0.061001f, 0.016402f, 0.019228f, 0.028295f, -0.018202f, -0.000450f, -0.005574f, -0.027801f, 0.005321f, 0.009219f, 0.022104f, -0.004402f, -0.009681f, 0.013678f, -0.014408f, -0.005778f, 0.013149f, 0.000189f, -0.003562f, 0.011375f, 0.003196f, -0.007203f, -0.000591f, -0.007958f, 0.017621f, -0.016880f, 0.026876f, 0.001247f, 0.005718f, -0.011278f, -0.001272f, -0.004079f, -0.008739f, -0.004425f, 0.006208f, - 0.003309f, 0.007566f, -0.000121f, -0.006634f, -0.004249f, -0.021253f, 0.021265f, -0.017108f, 0.009651f, -0.004234f, 0.012431f, -0.007158f, -0.019580f, 0.001097f, 0.010216f, -0.016287f, 0.024173f, -0.019365f, 0.010594f, -0.007505f, 0.095805f, 0.012624f, -0.032639f, -0.025132f, -0.019055f, -0.001725f, -0.003221f, 0.002205f, -0.002750f, -0.003613f, -0.054388f, 0.001272f, -0.010943f, -0.012440f, 0.006743f, -0.021220f, -0.009811f, 0.009958f, -0.014999f, 0.004304f, 0.016688f, -0.022686f, 0.014196f, -0.008354f, -0.012227f, -0.001862f, -0.012230f, 0.005713f, -0.011363f, -0.005913f, -0.013363f, -0.002517f, -0.000347f, -0.000248f, -0.008087f, -0.008187f, 0.002348f, 0.004383f, -0.009641f, 0.012897f, -0.015963f, -0.001349f, -0.006459f, -0.001963f, -0.003120f, -0.012499f, 0.017051f, 0.010603f, -0.017403f, 0.021040f, -0.002282f, 0.004526f, -0.009631f, 0.020188f, -0.020275f, 0.001560f, 0.001583f, 0.005370f, -0.003472f, -0.005167f, 0.014886f, -0.009926f, 0.002091f, 0.000843f, -0.003204f, 0.004852f, -0.006685f, -0.000864f, 0.008252f, -0.004178f, -0.003978f, 0.009557f, -0.003850f, -0.004111f, -0.008979f, 0.004636f, - 0.004185f, -0.019548f, 0.023310f, -0.013199f, 0.005162f, 0.001652f, 0.000177f, -0.007554f, 0.003097f, 0.009682f, -0.007303f, -0.003596f, 0.005021f, -0.007181f, -0.000611f, 0.005938f, -0.002585f, 0.002381f, 0.001135f, -0.005320f, 0.000776f, 0.000715f, 0.004647f, -0.008659f, 0.000554f, -0.000960f, -0.003586f, 0.003645f, -0.004437f, 0.002104f, -0.002937f, -0.007582f, 0.004079f, -0.006573f, -0.003964f, 0.002451f, -0.004304f, 0.001532f, 0.003642f, 0.000428f, -0.005933f, 0.006105f, -0.001362f, -0.003760f, 0.004870f, -0.047147f, -0.076011f, 0.084914f, 0.286737f, 0.028891f, 0.066069f, -0.156113f, -0.238060f, -0.060151f, -0.124212f, 0.096743f, 0.199990f, 0.104986f, 0.066857f, -0.015186f, -0.077182f, -0.076446f, -0.057029f, -0.053474f, 0.019314f, 0.033810f, 0.020001f, 0.036411f, 0.005160f, 0.002676f, 0.014786f, 0.003898f, 0.016745f, 0.012845f, -0.009463f, -0.036745f, -0.026682f, -0.032416f, -0.043113f, -0.023189f, 0.024791f, 0.031343f, 0.058982f, 0.082618f, 0.030347f, 0.011744f, -0.027215f, -0.065940f, -0.063259f, -0.044644f, -0.030499f, 0.006069f, 0.024789f, 0.034923f, 0.037837f, 0.031386f, - 0.021652f, 0.002237f, -0.002177f, -0.021121f, -0.014108f, -0.009457f, -0.010126f, -0.004313f, -0.011486f, -0.003639f, -0.013679f, -0.013914f, 0.005380f, -0.001341f, 0.018465f, 0.029588f, 0.018046f, 0.044125f, 0.039839f, -0.019251f, -0.038645f, -0.039277f, -0.057797f, -0.016601f, -0.013667f, -0.003365f, 0.036091f, 0.031653f, -0.005305f, 0.027495f, 0.034912f, 0.011500f, 0.024491f, -0.002405f, -0.027587f, -0.020465f, -0.047590f, -0.030404f, -0.011040f, -0.003210f, -0.003229f, 0.008418f, 0.022935f, 0.035633f, 0.045557f, 0.038057f, 0.013092f, -0.021116f, -0.033908f, -0.032971f, -0.036219f, -0.016615f, -0.008984f, -0.003996f, 0.008382f, 0.017804f, 0.014612f, 0.024993f, 0.014070f, 0.016347f, 0.015344f, -0.000076f, -0.012169f, -0.016487f, -0.020092f, -0.020242f, -0.017560f, -0.009675f, -0.009554f, 0.005505f, 0.010571f, 0.020517f, 0.030340f, 0.028813f, 0.011324f, 0.001850f, -0.016265f, -0.020307f, -0.023425f, -0.023958f, -0.006693f, -0.001244f, -0.004308f, 0.005504f, 0.018727f, 0.023897f, 0.012157f, 0.002491f, -0.001047f, 0.000198f, -0.004610f, -0.005597f, -0.008860f, -0.005740f, -0.006686f, -0.005027f, - -0.002780f, 0.000013f, 0.000281f, 0.005304f, 0.010694f, 0.011007f, 0.005746f, 0.002558f, -0.002790f, -0.004407f, -0.006357f, -0.004823f, -0.005369f, -0.002674f, -0.002496f, -0.000097f, 0.001249f, 0.004418f, 0.004036f, 0.004827f, 0.001628f, 0.001135f, -0.000734f, -0.001048f, -0.002345f, -0.000833f, -0.001100f, 0.000174f, -0.001000f, -0.001305f, -0.003491f, -0.000175f, 0.000405f, 0.002046f, 0.001578f, 0.003362f, 0.001025f, 0.000779f, -0.002077f, -0.000796f, 0.000527f, 0.001880f, -0.000772f, -0.001726f, -0.003613f, -0.001266f, -0.000088f, 0.002059f, 0.000622f, 0.000854f, -0.000660f, 0.000815f, 0.000337f, 0.001797f, 0.000669f, 0.001133f, -0.000859f, -0.000057f, -0.001768f, -0.001111f, -0.002019f, -0.000387f, -0.000814f, 0.000893f, 0.000319f, 0.002219f, 0.001477f, 0.001766f, -0.000262f, 0.000235f, -0.001289f, -0.000238f, -0.001543f, -0.000783f, -0.001354f, 0.000496f, -0.000208f, 0.001086f, 0.000085f, 0.000911f, -0.000398f, 0.000836f, -0.000217f, 0.000787f, -0.000559f, 0.000261f, -0.000936f, 0.000254f, -0.000687f, 0.000531f, -0.000512f, 0.000561f, -0.000546f}, - {0.007432f, 0.012090f, 0.003178f, 0.010675f, 0.000187f, -0.011011f, -0.007590f, -0.008020f, -0.001245f, -0.005507f, 0.012914f, -0.009655f, -0.002451f, -0.004384f, -0.001541f, -0.007744f, 0.007449f, -0.004566f, -0.003573f, 0.006264f, 0.010390f, 0.011754f, 0.001814f, -0.000841f, 0.002449f, 0.000625f, 0.001663f, -0.005317f, -0.005721f, 0.002802f, -0.005187f, -0.005197f, -0.006962f, -0.007323f, 0.002239f, -0.004849f, 0.006487f, -0.008083f, -0.001095f, 0.003571f, 0.003399f, 0.002995f, -0.012535f, -0.002248f, -0.006950f, -0.001206f, -0.002913f, -0.007645f, -0.000150f, 0.009136f, 0.002787f, 0.004441f, 0.004208f, 0.004942f, 0.000638f, 0.006199f, 0.003905f, 0.006919f, -0.003902f, 0.004621f, -0.002260f, 0.003195f, 0.000377f, -0.006372f, 0.007473f, 0.008447f, -0.004511f, -0.005655f, 0.002503f, 0.007764f, 0.001863f, 0.002081f, -0.002584f, -0.000500f, 0.004219f, 0.002638f, 0.000691f, -0.001526f, 0.000527f, 0.003561f, 0.004336f, -0.000514f, -0.006734f, -0.004119f, -0.002262f, -0.002863f, 0.001577f, -0.000635f, -0.000604f, 0.003215f, -0.002353f, -0.000782f, -0.000004f, 0.000574f, -0.001592f, -0.000450f, - 0.000248f, -0.002548f, -0.000285f, 0.003150f, -0.000457f, 0.001670f, -0.002266f, 0.001322f, 0.000676f, -0.000147f, -0.001487f, -0.018928f, -0.004928f, -0.008558f, 0.006287f, -0.017748f, 0.003915f, -0.007845f, -0.004091f, 0.002472f, 0.000382f, 0.001939f, 0.002678f, 0.001955f, 0.007714f, -0.003460f, 0.000832f, -0.000820f, -0.009324f, 0.006849f, 0.011543f, -0.009417f, -0.008773f, 0.006641f, 0.001745f, 0.008208f, 0.002641f, 0.011042f, -0.001515f, 0.003689f, -0.005847f, -0.001836f, 0.011330f, 0.000855f, -0.007352f, -0.009148f, -0.009806f, 0.000366f, 0.008163f, 0.004082f, -0.000031f, 0.009213f, 0.007406f, 0.000239f, -0.007552f, 0.011795f, 0.003047f, 0.009084f, 0.009310f, -0.001678f, 0.005940f, 0.006940f, -0.000826f, 0.004079f, 0.004814f, -0.004662f, 0.000973f, -0.001483f, 0.004576f, -0.010464f, -0.006643f, 0.003305f, -0.006423f, -0.002540f, 0.008947f, -0.003669f, 0.004925f, -0.002149f, -0.013989f, 0.002307f, -0.000047f, 0.007306f, -0.011518f, -0.006263f, 0.005237f, 0.001262f, -0.001088f, 0.002919f, -0.005418f, 0.001523f, 0.001408f, -0.001724f, -0.003408f, 0.004660f, 0.004311f, 0.002909f, - 0.000559f, -0.001836f, 0.001161f, -0.001376f, -0.002057f, 0.001493f, 0.001356f, -0.002876f, 0.002051f, -0.001636f, -0.001175f, 0.002470f, -0.001801f, -0.003810f, -0.000036f, -0.001462f, -0.000438f, -0.001840f, -0.001930f, 0.000718f, -0.000126f, 0.001073f, 0.000010f, 0.001052f, -0.002741f, 0.000733f, -0.000785f, 0.011838f, 0.012589f, 0.005475f, 0.009323f, 0.007204f, 0.012609f, 0.014277f, -0.005282f, -0.001580f, 0.004865f, -0.014349f, -0.000434f, -0.004758f, -0.002684f, 0.006509f, -0.008283f, -0.001015f, 0.010632f, 0.001916f, 0.006832f, -0.003397f, -0.002406f, -0.003605f, -0.013406f, -0.002244f, 0.000963f, 0.007076f, -0.002115f, 0.012207f, 0.004874f, -0.002153f, 0.004945f, 0.002501f, 0.006343f, -0.004587f, -0.000899f, 0.014261f, -0.001862f, 0.013472f, 0.006391f, -0.005964f, 0.001470f, 0.011860f, 0.006246f, -0.007882f, 0.010897f, -0.003011f, 0.000786f, 0.000528f, -0.002136f, 0.002046f, 0.001258f, -0.009841f, 0.006309f, 0.004538f, -0.000793f, 0.000321f, -0.002135f, -0.008892f, 0.000063f, 0.004946f, -0.000961f, -0.001078f, -0.005912f, -0.013059f, -0.004424f, 0.004816f, 0.010987f, -0.016641f, - -0.008804f, 0.003075f, -0.007197f, 0.004225f, -0.000284f, -0.000107f, -0.009944f, -0.007615f, -0.004390f, -0.006520f, -0.003153f, 0.000340f, 0.001175f, -0.002355f, 0.003818f, 0.002971f, 0.000666f, 0.002737f, -0.002987f, -0.001150f, 0.000127f, -0.004500f, -0.000929f, 0.000420f, -0.005629f, 0.002361f, 0.001422f, -0.001111f, 0.000216f, 0.001164f, 0.002779f, 0.000286f, 0.000434f, 0.000027f, -0.002716f, -0.000370f, -0.000789f, 0.002008f, 0.001452f, 0.002755f, -0.001919f, -0.000451f, 0.017550f, 0.018660f, -0.003731f, -0.007814f, -0.008544f, 0.017892f, -0.015523f, 0.000429f, -0.002535f, -0.007232f, -0.009829f, 0.003499f, -0.002703f, -0.013381f, -0.016289f, 0.000623f, -0.001227f, -0.008505f, 0.003079f, 0.004519f, -0.005990f, -0.009019f, -0.008420f, 0.011899f, -0.012842f, -0.001549f, -0.015007f, 0.000178f, 0.008354f, 0.002850f, 0.001430f, -0.008414f, -0.008095f, 0.007367f, -0.005686f, -0.008600f, 0.001069f, -0.003129f, 0.005266f, 0.000107f, 0.002129f, -0.008577f, -0.003169f, -0.002419f, 0.008238f, 0.005646f, 0.005730f, -0.016984f, 0.002690f, 0.004733f, 0.003883f, 0.004786f, -0.004839f, -0.003095f, - 0.000614f, 0.003440f, 0.006724f, -0.001167f, 0.004445f, -0.004918f, 0.013120f, -0.023793f, 0.008365f, 0.000674f, -0.012651f, -0.000548f, 0.014000f, -0.004239f, -0.006554f, -0.012761f, -0.004296f, 0.000987f, -0.003535f, -0.000021f, 0.005747f, 0.007296f, 0.006110f, -0.001816f, -0.000999f, -0.007513f, -0.001521f, -0.001933f, -0.003768f, 0.001027f, -0.001524f, -0.001500f, 0.003061f, -0.003809f, -0.001744f, 0.003647f, -0.001816f, 0.002349f, -0.000547f, -0.001530f, -0.001306f, -0.001030f, -0.005480f, -0.003454f, 0.002405f, 0.002673f, -0.002594f, -0.002131f, -0.001761f, 0.001999f, -0.001283f, -0.000813f, -0.002143f, 0.001383f, 0.001514f, -0.002599f, 0.001043f, -0.000396f, -0.002326f, -0.000590f, -0.001311f, 0.001473f, -0.000764f, 0.002209f, 0.003191f, -0.001504f, -0.008330f, -0.026326f, 0.004799f, -0.012000f, 0.002628f, 0.002208f, -0.001526f, 0.018693f, 0.001033f, -0.011946f, 0.015963f, 0.007702f, 0.005483f, -0.002390f, 0.003311f, -0.004851f, 0.012519f, -0.002067f, 0.001430f, 0.018863f, 0.018407f, 0.007887f, 0.008434f, 0.008119f, 0.009168f, 0.006130f, -0.018177f, -0.005666f, -0.000245f, -0.004767f, - -0.015469f, -0.001691f, -0.003661f, -0.004074f, -0.008305f, -0.000145f, -0.002431f, 0.013332f, -0.004263f, 0.023364f, -0.000130f, 0.001986f, -0.004316f, -0.003363f, 0.000189f, -0.000654f, -0.001858f, -0.004064f, -0.002725f, -0.011422f, 0.002798f, 0.001894f, -0.001353f, -0.005895f, 0.008004f, 0.005939f, 0.006940f, -0.002408f, -0.004997f, 0.000160f, 0.006051f, 0.006561f, -0.005244f, -0.014919f, -0.007617f, 0.001642f, 0.012478f, -0.001693f, 0.010205f, -0.008062f, -0.011733f, 0.008808f, -0.004091f, -0.009620f, 0.005629f, 0.005885f, -0.010799f, -0.008524f, -0.011884f, -0.003924f, -0.004079f, 0.006872f, -0.003701f, 0.002117f, -0.000741f, 0.004595f, 0.002846f, 0.002562f, -0.002223f, -0.001235f, -0.006171f, -0.003076f, -0.001628f, -0.000036f, 0.002777f, -0.000490f, 0.000217f, 0.005191f, 0.002041f, -0.000211f, 0.000082f, 0.003352f, -0.002147f, 0.000938f, 0.000985f, -0.001704f, 0.002028f, -0.001505f, 0.001347f, 0.001073f, 0.001503f, -0.000891f, -0.003818f, 0.003790f, 0.000518f, -0.006386f, 0.009486f, -0.011268f, -0.012726f, 0.006230f, -0.003780f, -0.000851f, -0.006769f, -0.003562f, 0.006240f, 0.009336f, - 0.004576f, -0.001851f, 0.001214f, -0.000825f, -0.002266f, -0.008402f, 0.002755f, -0.023090f, -0.006940f, -0.007166f, 0.006295f, 0.008296f, 0.000520f, 0.004264f, -0.014696f, 0.004261f, 0.002098f, 0.004246f, -0.013261f, 0.025070f, -0.001257f, 0.004902f, 0.003114f, -0.011411f, 0.001713f, -0.016490f, 0.010653f, -0.003275f, -0.014187f, 0.003142f, 0.000947f, -0.006742f, 0.000639f, 0.001849f, 0.010978f, 0.020296f, 0.008528f, -0.003731f, 0.006350f, 0.008524f, -0.018719f, -0.006519f, -0.008641f, 0.005494f, 0.004137f, -0.002772f, 0.002828f, 0.006797f, 0.004008f, 0.008665f, 0.015472f, 0.000687f, -0.005919f, -0.001275f, -0.000782f, 0.012571f, -0.008923f, 0.000375f, 0.005533f, 0.016842f, -0.000056f, -0.010655f, -0.010838f, -0.000619f, -0.013285f, -0.001456f, 0.004869f, 0.020560f, 0.017296f, -0.001695f, -0.009370f, 0.007789f, 0.000430f, 0.002511f, 0.001760f, -0.000364f, 0.002427f, -0.000373f, -0.002684f, 0.002541f, 0.002776f, -0.002524f, 0.003940f, 0.004106f, 0.003543f, -0.000729f, -0.003120f, 0.002685f, 0.003138f, -0.000204f, 0.000834f, -0.002200f, 0.000260f, -0.000224f, 0.004614f, 0.002056f, - 0.002826f, 0.002611f, 0.000597f, 0.001856f, -0.000167f, 0.002183f, 0.004109f, 0.001211f, 0.001601f, 0.003359f, 0.003992f, -0.001661f, -0.001188f, 0.001316f, 0.001082f, 0.003449f, 0.004712f, -0.002115f, -0.024209f, -0.006664f, -0.008963f, 0.010318f, 0.000353f, -0.005046f, -0.031130f, -0.004168f, -0.004184f, 0.012836f, 0.030796f, -0.008939f, 0.020678f, 0.003494f, -0.018251f, -0.018685f, 0.003206f, 0.004661f, -0.010625f, 0.011598f, -0.008408f, 0.009330f, -0.011631f, 0.005534f, 0.003961f, -0.011100f, -0.009315f, -0.007159f, 0.003622f, 0.011974f, -0.015763f, 0.000500f, -0.016574f, -0.001011f, -0.006333f, 0.003940f, 0.012019f, 0.001177f, -0.005272f, -0.004714f, 0.013009f, -0.000136f, 0.019856f, 0.006017f, -0.007562f, -0.007324f, -0.005823f, 0.002748f, 0.012434f, -0.000363f, 0.020647f, -0.036981f, -0.027258f, -0.022114f, -0.005158f, -0.018880f, 0.001150f, -0.007177f, 0.006606f, 0.016634f, 0.002934f, 0.006816f, 0.010665f, 0.017611f, 0.009037f, 0.002593f, -0.012309f, -0.030645f, -0.032251f, 0.017140f, 0.001081f, 0.021790f, -0.015700f, -0.011363f, 0.009511f, -0.022722f, 0.000354f, -0.008200f, - -0.000949f, -0.014703f, 0.000475f, 0.004728f, 0.013063f, 0.002244f, 0.002026f, -0.004338f, 0.004639f, -0.001101f, 0.001460f, 0.003537f, 0.005849f, 0.007533f, -0.002197f, -0.003367f, 0.005471f, 0.002685f, -0.002248f, -0.004194f, 0.000728f, -0.000824f, -0.000615f, -0.001865f, 0.000737f, -0.000093f, -0.002327f, -0.000901f, 0.002162f, 0.003995f, 0.003195f, 0.002694f, 0.001351f, -0.009518f, -0.005291f, -0.003740f, -0.003471f, 0.004865f, -0.000926f, -0.001715f, -0.000107f, 0.001267f, 0.000218f, -0.000331f, 0.014418f, 0.006586f, -0.011848f, -0.000121f, 0.027632f, 0.023795f, -0.002388f, -0.020205f, -0.034627f, -0.003735f, -0.012294f, 0.012501f, -0.010527f, -0.009966f, -0.039191f, -0.016538f, -0.035127f, 0.013069f, -0.001360f, -0.008326f, 0.009083f, -0.001043f, -0.000009f, 0.002707f, -0.011429f, 0.001167f, -0.013097f, -0.002111f, 0.007596f, 0.005994f, -0.013358f, 0.004903f, 0.013177f, 0.021989f, -0.003530f, -0.002883f, -0.007488f, 0.001409f, 0.011097f, 0.016250f, -0.002541f, 0.002543f, -0.003701f, -0.002623f, 0.018927f, 0.014107f, 0.000326f, 0.014545f, 0.003929f, -0.017467f, 0.003090f, -0.001615f, - 0.022565f, 0.009072f, 0.002632f, 0.011163f, 0.014554f, 0.004230f, -0.013261f, -0.022139f, -0.005392f, 0.004804f, 0.011713f, 0.006261f, 0.000498f, 0.004821f, 0.017435f, 0.004046f, 0.005500f, 0.008294f, 0.004504f, -0.011221f, -0.013106f, -0.011021f, -0.012952f, -0.011478f, 0.019401f, 0.002910f, 0.014921f, -0.013211f, -0.012048f, -0.002130f, 0.012423f, -0.007810f, 0.006490f, 0.004016f, 0.001749f, -0.006618f, -0.004564f, -0.006107f, -0.004547f, -0.006981f, 0.002548f, 0.002415f, -0.002229f, 0.004788f, -0.003369f, 0.002316f, -0.001536f, 0.000626f, 0.001836f, -0.006178f, -0.004207f, -0.006202f, -0.004389f, -0.007582f, -0.002516f, -0.006272f, -0.003362f, -0.003595f, -0.005165f, -0.000221f, 0.005257f, 0.001914f, 0.002005f, -0.001907f, -0.000866f, -0.000610f, -0.001654f, 0.004428f, -0.002385f, -0.001094f, -0.001670f, 0.048651f, 0.010870f, -0.015223f, 0.008893f, -0.008933f, -0.028773f, -0.006020f, -0.028223f, -0.015717f, 0.014866f, 0.019437f, 0.007742f, 0.003901f, 0.001830f, 0.003503f, 0.018749f, -0.013297f, 0.026455f, -0.017087f, -0.017123f, 0.020899f, 0.009492f, -0.033920f, 0.014984f, 0.008594f, - 0.010910f, 0.022280f, 0.011182f, 0.016573f, -0.000955f, 0.008988f, -0.005131f, 0.014162f, 0.003892f, 0.003043f, 0.009626f, -0.019064f, -0.010144f, -0.005828f, 0.012397f, 0.005352f, 0.004556f, 0.009764f, 0.003001f, 0.003498f, -0.017078f, 0.000228f, 0.018839f, -0.003292f, 0.002476f, 0.002423f, 0.002585f, 0.022398f, 0.008783f, 0.030111f, 0.007116f, -0.004203f, 0.028740f, -0.024489f, -0.003008f, -0.003803f, -0.009617f, -0.002155f, 0.006175f, 0.028395f, 0.002910f, -0.005914f, -0.010805f, 0.005949f, -0.011372f, -0.004847f, -0.007250f, -0.015395f, -0.002293f, 0.004252f, 0.024408f, -0.001905f, -0.023198f, -0.006368f, -0.013850f, -0.006934f, 0.017101f, 0.013753f, 0.016030f, -0.012496f, 0.002806f, -0.013916f, -0.001930f, -0.004645f, -0.008268f, -0.004620f, -0.011409f, -0.006641f, -0.001987f, -0.004843f, -0.015036f, -0.005904f, -0.004181f, -0.002985f, -0.003259f, -0.005229f, 0.000862f, -0.002457f, -0.011796f, -0.000508f, -0.005582f, -0.003350f, -0.000818f, -0.000040f, 0.002305f, -0.000294f, 0.005569f, 0.005372f, 0.001103f, 0.001035f, -0.003659f, -0.003278f, -0.000714f, -0.003979f, 0.005689f, 0.003355f, - 0.005351f, 0.004971f, 0.002282f, 0.006932f, 0.004723f, 0.001792f, 0.003364f, -0.000872f, -0.002643f, 0.004917f, 0.007113f, -0.017574f, -0.027090f, -0.009782f, -0.026673f, 0.019154f, -0.022758f, -0.016750f, -0.013403f, 0.012107f, 0.030517f, -0.030965f, -0.010993f, -0.034898f, 0.009995f, 0.004870f, 0.003272f, -0.010026f, 0.002722f, 0.039288f, -0.020563f, -0.003452f, 0.014873f, 0.010161f, 0.007777f, 0.013820f, 0.009198f, -0.012926f, -0.021847f, -0.004082f, -0.012105f, -0.016485f, -0.020172f, 0.000321f, -0.004716f, 0.004963f, 0.025951f, 0.016437f, -0.014597f, -0.007881f, -0.001647f, -0.007535f, 0.006340f, 0.049375f, -0.016779f, 0.034442f, 0.010770f, 0.005787f, -0.002279f, -0.005586f, 0.005803f, -0.018916f, 0.009027f, 0.026807f, 0.001109f, 0.004280f, 0.021429f, 0.013922f, 0.008275f, -0.018095f, 0.015102f, -0.010792f, -0.016150f, -0.043613f, -0.013757f, 0.028330f, -0.016143f, 0.007341f, -0.030728f, 0.021962f, -0.011591f, -0.012098f, 0.019156f, -0.030605f, -0.022659f, 0.034666f, -0.024742f, -0.023271f, 0.013878f, -0.015965f, 0.003197f, 0.000053f, 0.009897f, -0.025103f, 0.007872f, 0.000656f, - 0.025011f, -0.018635f, 0.006196f, -0.002647f, -0.014181f, 0.018557f, 0.003744f, -0.015448f, -0.011216f, -0.010644f, 0.001621f, -0.000041f, -0.007789f, 0.000208f, 0.009674f, -0.000812f, 0.006854f, 0.007720f, 0.006119f, -0.013909f, 0.007725f, 0.007086f, 0.011161f, -0.000282f, 0.000820f, -0.010114f, -0.004044f, -0.004977f, -0.005248f, 0.002339f, -0.001170f, 0.006474f, -0.009203f, -0.005801f, 0.003467f, -0.008899f, -0.007508f, -0.009480f, 0.003260f, -0.019745f, -0.014656f, -0.002022f, 0.022463f, -0.010638f, 0.039454f, 0.036689f, 0.007252f, 0.011746f, -0.021274f, 0.002635f, -0.017216f, 0.027550f, -0.005474f, 0.008119f, -0.013116f, -0.008512f, 0.004736f, 0.003722f, -0.012587f, 0.021124f, -0.005921f, 0.004488f, 0.007933f, -0.013824f, 0.005295f, -0.017640f, 0.000138f, 0.010055f, 0.012094f, 0.000297f, 0.015971f, 0.020084f, -0.001431f, -0.037571f, -0.006252f, -0.011104f, 0.026988f, -0.022690f, -0.028133f, -0.020105f, -0.013383f, 0.003943f, -0.015896f, -0.012530f, -0.007949f, -0.002281f, 0.005057f, -0.055066f, 0.034904f, 0.027164f, 0.039783f, -0.012568f, 0.006490f, 0.026628f, -0.025285f, -0.023496f, - 0.004793f, 0.017421f, 0.011550f, -0.002934f, 0.005499f, -0.013861f, -0.016440f, -0.021114f, -0.006070f, 0.073357f, 0.006049f, -0.040546f, -0.007108f, -0.022178f, 0.014143f, 0.011037f, -0.025015f, 0.005483f, -0.007558f, 0.002172f, -0.012251f, 0.015776f, 0.016165f, -0.002281f, -0.007928f, -0.009510f, -0.031725f, 0.009731f, 0.005343f, -0.001168f, 0.013384f, -0.006246f, 0.002314f, 0.005246f, -0.014930f, 0.005937f, 0.009264f, 0.021054f, 0.011340f, 0.001452f, -0.017767f, 0.000283f, 0.016642f, 0.001120f, 0.000228f, 0.012445f, 0.000489f, 0.004365f, 0.012343f, 0.010434f, -0.001632f, 0.005797f, 0.010493f, 0.009655f, -0.004270f, 0.004336f, 0.012558f, 0.015283f, 0.011404f, -0.000133f, -0.007659f, -0.001604f, 0.000618f, 0.009656f, 0.000247f, -0.002498f, 0.000915f, 0.003683f, -0.005639f, 0.003708f, 0.006155f, -0.005543f, 0.004047f, -0.013837f, -0.001459f, -0.009883f, -0.021686f, -0.039775f, 0.002555f, -0.033114f, 0.015209f, 0.006154f, -0.027942f, 0.016051f, 0.016939f, 0.025320f, 0.006393f, 0.010424f, -0.028981f, 0.000113f, -0.006369f, 0.026987f, 0.011504f, 0.001833f, 0.023858f, 0.028081f, - -0.004047f, -0.012465f, 0.002383f, 0.034465f, -0.022765f, -0.016783f, 0.016662f, 0.010166f, -0.023152f, -0.004327f, -0.021484f, 0.039308f, -0.033771f, 0.009794f, 0.019790f, -0.011824f, 0.018122f, 0.007423f, -0.010217f, -0.009422f, -0.010942f, -0.015149f, 0.020848f, 0.029759f, 0.005018f, -0.021793f, 0.001512f, -0.024137f, -0.010235f, 0.016644f, -0.003882f, -0.011722f, -0.009848f, 0.004666f, -0.033709f, 0.001520f, -0.004293f, -0.018438f, 0.024819f, -0.024774f, -0.002564f, -0.005334f, -0.019568f, 0.020300f, -0.002439f, 0.011938f, -0.010388f, -0.001493f, -0.002005f, -0.011532f, 0.008340f, -0.010597f, -0.002941f, -0.010432f, 0.028789f, 0.013185f, -0.036158f, -0.007327f, -0.059001f, 0.033936f, -0.001009f, -0.025795f, 0.022561f, 0.002919f, 0.002556f, 0.008963f, -0.000510f, 0.013826f, 0.015521f, 0.004068f, -0.005206f, 0.009411f, 0.016749f, -0.009773f, -0.007184f, 0.007511f, 0.001607f, 0.004682f, 0.004252f, 0.009291f, 0.011090f, -0.007560f, 0.005324f, 0.004117f, -0.010501f, -0.008418f, 0.006674f, 0.001891f, -0.001971f, -0.006081f, -0.006776f, -0.010117f, 0.009307f, 0.010919f, 0.000788f, -0.006670f, - -0.022929f, 0.000751f, 0.000956f, 0.007416f, -0.015109f, 0.001827f, 0.010092f, -0.005824f, 0.011829f, 0.006097f, -0.001913f, 0.003852f, 0.005930f, 0.000891f, 0.001459f, 0.004163f, 0.007508f, -0.007294f, -0.001564f, -0.004139f, 0.002026f, 0.035062f, 0.001702f, -0.027346f, -0.011232f, 0.015561f, 0.026170f, 0.027285f, 0.001356f, -0.006884f, 0.039247f, 0.016538f, 0.043580f, 0.004870f, 0.004021f, -0.021223f, -0.008218f, -0.012753f, 0.011883f, 0.005843f, 0.023727f, -0.027209f, 0.002160f, -0.016369f, 0.014686f, -0.023649f, 0.009167f, 0.025287f, -0.003531f, -0.001217f, -0.013102f, 0.003200f, -0.013191f, -0.046633f, 0.006675f, -0.007555f, 0.003541f, -0.021090f, -0.004208f, 0.017569f, 0.035195f, -0.004086f, -0.012343f, 0.019826f, 0.009861f, 0.004477f, 0.024323f, 0.007887f, -0.012503f, -0.006603f, 0.015812f, -0.002608f, 0.014458f, -0.017359f, -0.014740f, 0.004748f, -0.013834f, -0.027563f, -0.012214f, -0.031328f, -0.006583f, 0.009929f, -0.023937f, -0.003949f, -0.027540f, -0.012646f, 0.000104f, 0.010487f, -0.032881f, 0.014051f, 0.002766f, -0.020210f, 0.025030f, -0.009283f, 0.006851f, 0.043360f, - 0.049926f, 0.002719f, 0.017751f, 0.035818f, 0.043701f, 0.042600f, -0.003948f, -0.029198f, -0.043727f, -0.016485f, -0.028891f, 0.027079f, -0.005641f, -0.013490f, 0.007348f, -0.001203f, 0.003301f, -0.001016f, -0.012758f, 0.013505f, 0.004244f, 0.004750f, 0.001303f, 0.018427f, -0.010309f, -0.000708f, -0.005534f, 0.012624f, -0.011910f, -0.005701f, -0.001016f, 0.018177f, -0.004597f, 0.010774f, 0.015692f, -0.014670f, -0.002759f, -0.006500f, -0.015752f, -0.006999f, -0.003407f, 0.006391f, 0.000817f, 0.021355f, 0.006202f, 0.014278f, -0.001148f, -0.014633f, 0.004196f, 0.003381f, 0.000147f, 0.059584f, 0.068301f, 0.003588f, 0.021854f, 0.020951f, -0.002924f, -0.049166f, -0.001352f, -0.001984f, -0.018702f, 0.013850f, 0.012795f, -0.026779f, 0.014510f, 0.018711f, 0.003019f, -0.007151f, 0.010095f, -0.006864f, 0.034710f, -0.006009f, -0.016396f, 0.000188f, 0.007791f, -0.003319f, -0.002423f, -0.000669f, -0.055621f, 0.015973f, -0.001411f, -0.038377f, -0.016052f, 0.006581f, -0.003770f, -0.026173f, 0.008900f, -0.030882f, -0.002970f, 0.002975f, -0.049669f, -0.008909f, 0.021036f, -0.015941f, 0.002102f, 0.031151f, - 0.018918f, 0.023814f, 0.007215f, -0.013509f, -0.023335f, 0.023697f, -0.012498f, 0.013246f, -0.022196f, -0.011535f, 0.015525f, 0.026617f, 0.003661f, 0.031896f, -0.021684f, 0.027584f, -0.023666f, -0.028255f, -0.020401f, 0.027489f, 0.028575f, -0.026723f, 0.013516f, -0.073666f, -0.007009f, 0.021558f, 0.006551f, -0.011624f, -0.029628f, 0.013431f, -0.041759f, 0.006612f, -0.021684f, 0.019579f, -0.032332f, -0.020507f, 0.031783f, 0.000645f, 0.015812f, 0.003570f, 0.013735f, -0.007303f, 0.005475f, -0.003718f, -0.024336f, -0.004423f, -0.011539f, 0.007387f, -0.008091f, 0.004183f, 0.000597f, 0.003910f, 0.001563f, -0.005368f, -0.007665f, 0.000934f, -0.015569f, 0.005337f, 0.003928f, 0.008641f, -0.010126f, 0.008582f, 0.007661f, 0.005235f, 0.006525f, 0.005026f, -0.010873f, 0.001028f, 0.004650f, -0.007796f, 0.013528f, -0.001336f, -0.005863f, -0.008061f, -0.000535f, 0.001175f, 0.006175f, -0.005154f, 0.005820f, -0.004979f, 0.014189f, 0.006393f, -0.012896f, -0.003283f, -0.003610f, -0.005892f, -0.005762f, -0.012997f, -0.054303f, 0.004293f, 0.066522f, -0.044869f, -0.004548f, -0.003604f, 0.003251f, -0.017563f, - 0.008234f, -0.028191f, -0.029487f, -0.009318f, -0.008272f, 0.007368f, -0.007643f, 0.015517f, -0.022179f, 0.001033f, 0.042685f, -0.034921f, -0.031390f, -0.007233f, 0.037316f, 0.005561f, -0.047397f, 0.020355f, -0.017774f, -0.019845f, 0.004383f, 0.065039f, -0.036719f, -0.020008f, 0.045790f, 0.034431f, 0.002673f, -0.018768f, 0.000969f, -0.006798f, -0.014933f, 0.013477f, 0.011743f, -0.007561f, -0.037642f, 0.048129f, 0.022177f, 0.009337f, -0.051137f, -0.007504f, 0.015503f, 0.017871f, -0.006617f, 0.027013f, -0.004608f, 0.009368f, -0.011950f, -0.030352f, 0.019666f, -0.021581f, 0.012818f, 0.007069f, -0.027130f, 0.050960f, 0.007506f, 0.036773f, 0.036311f, 0.006797f, -0.055356f, -0.010298f, 0.000232f, -0.021603f, -0.011384f, 0.002351f, -0.002048f, 0.024185f, 0.044666f, -0.012725f, -0.004689f, -0.019573f, -0.009153f, 0.018945f, -0.012900f, 0.011119f, 0.033137f, -0.028964f, 0.032936f, -0.006268f, 0.009696f, -0.012377f, -0.007065f, -0.010353f, 0.001147f, 0.006456f, 0.007045f, -0.005312f, -0.000107f, 0.007827f, 0.004032f, 0.017804f, 0.007956f, -0.008633f, 0.000467f, 0.001829f, 0.015739f, -0.008659f, - 0.004379f, 0.007616f, 0.002217f, -0.000419f, 0.000284f, -0.020699f, 0.009990f, -0.007502f, 0.009777f, 0.013294f, 0.001485f, -0.001946f, 0.006395f, -0.000524f, 0.004833f, 0.001888f, -0.002447f, -0.007578f, -0.008119f, 0.015709f, 0.002400f, -0.003532f, 0.004112f, -0.009600f, -0.002084f, 0.015969f, 0.020920f, 0.002801f, -0.019111f, -0.096106f, 0.006381f, -0.025105f, 0.003383f, 0.048059f, 0.004665f, -0.009314f, 0.008832f, 0.001823f, -0.032558f, -0.035242f, -0.031654f, -0.030478f, 0.039686f, -0.007966f, 0.047354f, 0.004170f, -0.044618f, -0.001598f, 0.004987f, 0.038249f, 0.007595f, -0.006213f, -0.007553f, 0.010907f, -0.024005f, -0.009244f, 0.042385f, -0.008657f, -0.054924f, -0.042017f, 0.025143f, -0.005484f, -0.011379f, 0.012612f, -0.003898f, -0.028346f, 0.008584f, 0.016612f, 0.038160f, -0.007703f, -0.031601f, 0.000411f, -0.039869f, 0.015334f, 0.045217f, -0.007253f, -0.055414f, 0.017437f, -0.000601f, 0.003100f, 0.013399f, -0.017485f, 0.034157f, 0.002543f, -0.022994f, 0.017885f, -0.012438f, -0.007723f, 0.048789f, -0.024998f, -0.008364f, -0.008218f, 0.030746f, 0.012329f, -0.053919f, 0.027347f, - -0.043448f, -0.010391f, -0.023436f, 0.005586f, -0.014288f, -0.013201f, -0.004475f, 0.024752f, -0.008039f, -0.015287f, 0.029327f, -0.017115f, 0.030104f, -0.000180f, -0.015891f, -0.009590f, 0.007494f, 0.008263f, 0.005971f, -0.018110f, -0.005981f, 0.004426f, -0.001009f, -0.011854f, 0.000268f, 0.011145f, 0.017183f, 0.007141f, 0.008840f, 0.001385f, 0.016889f, -0.009579f, 0.005485f, 0.013339f, -0.005075f, 0.001660f, 0.005444f, -0.003355f, 0.002662f, 0.005275f, -0.016553f, 0.013965f, 0.005952f, -0.016664f, -0.013655f, 0.000954f, -0.019594f, 0.001693f, -0.014443f, 0.018680f, -0.033807f, -0.000084f, -0.007162f, 0.003550f, -0.008807f, 0.010540f, -0.005643f, 0.004907f, 0.003774f, -0.006969f, 0.001521f, -0.046782f, 0.009465f, 0.077578f, 0.050308f, 0.023197f, -0.038584f, 0.028911f, 0.036258f, 0.053986f, 0.025861f, 0.006469f, 0.001745f, 0.033851f, 0.058094f, -0.013059f, -0.007278f, 0.033083f, -0.065419f, 0.023821f, 0.058013f, -0.011993f, -0.020354f, 0.015179f, 0.044992f, 0.036463f, -0.024537f, -0.041627f, -0.002658f, 0.021028f, -0.007276f, 0.005105f, 0.000456f, 0.048943f, -0.028140f, 0.031368f, - 0.047077f, -0.018891f, -0.005947f, 0.033427f, -0.005235f, 0.117120f, -0.049336f, 0.021110f, 0.079906f, -0.046128f, 0.014885f, 0.005384f, -0.065219f, -0.002000f, 0.011884f, -0.028642f, 0.063305f, 0.004817f, -0.008981f, 0.004949f, -0.026690f, 0.087139f, 0.023777f, -0.069845f, 0.067134f, -0.028175f, 0.002239f, 0.020670f, 0.024767f, 0.044711f, 0.021541f, -0.012100f, -0.043930f, -0.058753f, -0.022323f, -0.023568f, -0.004314f, -0.018052f, 0.036643f, -0.022490f, -0.039221f, 0.004325f, 0.010463f, 0.007895f, 0.013881f, -0.022074f, -0.021783f, -0.013075f, -0.014518f, -0.046341f, -0.019886f, -0.015806f, -0.032308f, -0.015417f, 0.011115f, -0.013647f, -0.030331f, -0.001483f, 0.011311f, 0.020095f, -0.005102f, 0.009427f, 0.021572f, -0.001313f, -0.015268f, -0.000977f, -0.009417f, 0.012157f, 0.017104f, -0.024594f, 0.021186f, -0.012772f, -0.000141f, 0.003182f, -0.011808f, 0.022619f, 0.008325f, -0.031921f, 0.019175f, 0.002913f, -0.011770f, 0.023467f, -0.027234f, 0.010678f, -0.005480f, 0.011438f, -0.006867f, -0.007510f, 0.003977f, -0.004443f, -0.003219f, 0.008219f, -0.005357f, -0.018319f, 0.007950f, -0.001757f, - 0.005034f, -0.000857f, 0.014735f, -0.008417f, 0.018770f, -0.089720f, 0.052093f, 0.002762f, 0.031334f, 0.052668f, -0.086802f, 0.020129f, 0.044080f, 0.010447f, 0.032792f, -0.032907f, 0.036139f, 0.011023f, -0.034265f, 0.000870f, -0.021739f, -0.062908f, 0.034339f, 0.020076f, 0.057471f, -0.031646f, -0.042772f, -0.014461f, 0.013188f, -0.008458f, -0.072123f, -0.035056f, 0.021673f, -0.005009f, 0.010354f, -0.029941f, -0.009765f, 0.024205f, -0.020602f, -0.009765f, -0.031003f, -0.006843f, 0.010784f, -0.033611f, 0.003208f, -0.073798f, -0.061360f, 0.019169f, -0.063811f, 0.005835f, -0.066741f, -0.046224f, -0.032383f, 0.031530f, 0.061607f, 0.076580f, -0.018407f, 0.034192f, 0.041010f, 0.020311f, 0.017589f, -0.029324f, 0.084591f, 0.086858f, -0.059173f, 0.059284f, -0.046622f, 0.029963f, 0.060610f, 0.058142f, 0.070286f, 0.084470f, 0.059417f, -0.066753f, -0.047875f, -0.000240f, 0.001393f, 0.025599f, -0.016232f, -0.012625f, -0.040420f, -0.022001f, -0.059828f, 0.013344f, 0.049765f, -0.019948f, 0.012014f, 0.052471f, 0.024368f, -0.035509f, 0.039889f, -0.002218f, 0.013960f, -0.003673f, -0.007308f, 0.011834f, - -0.012838f, 0.018011f, 0.014790f, -0.013070f, -0.016315f, 0.015576f, -0.011178f, 0.000788f, 0.000293f, -0.001017f, 0.004196f, 0.001761f, -0.021647f, 0.020231f, -0.009284f, 0.009797f, 0.011319f, -0.007735f, 0.012208f, -0.015099f, -0.011399f, 0.010396f, -0.012458f, -0.015606f, -0.007148f, 0.006523f, -0.006351f, 0.004139f, -0.014465f, 0.000719f, 0.005134f, 0.013394f, 0.019625f, -0.004486f, 0.011003f, -0.012879f, -0.000115f, -0.002235f, 0.005867f, 0.004747f, -0.001298f, -0.009933f, -0.014258f, -0.003202f, 0.002949f, 0.111490f, -0.081596f, -0.041557f, 0.044010f, -0.026195f, 0.042048f, -0.032764f, -0.036484f, 0.012321f, -0.086280f, -0.003916f, 0.058095f, -0.014018f, 0.029888f, -0.049518f, -0.012112f, -0.019550f, 0.002031f, 0.061923f, 0.018793f, 0.013770f, -0.010978f, 0.034000f, 0.011012f, 0.084614f, 0.020893f, 0.049411f, 0.003603f, -0.038595f, -0.036431f, 0.049256f, -0.023843f, 0.022797f, -0.000377f, -0.063495f, 0.045910f, -0.056565f, 0.110040f, -0.081906f, 0.050138f, 0.044832f, -0.046933f, -0.039498f, -0.029090f, 0.040651f, -0.002975f, 0.042543f, -0.000405f, 0.005601f, -0.075036f, -0.040335f, - 0.017630f, -0.036885f, 0.012377f, -0.022465f, 0.022228f, 0.012610f, 0.057885f, -0.034237f, -0.011662f, -0.014557f, -0.028142f, 0.078355f, 0.014654f, 0.007451f, -0.072736f, -0.023529f, 0.039385f, 0.023233f, 0.025153f, 0.067895f, 0.043577f, 0.060053f, 0.069385f, -0.001920f, 0.030838f, -0.028678f, 0.092240f, 0.007034f, -0.014990f, 0.033651f, -0.007654f, 0.070748f, 0.001497f, -0.014106f, -0.014369f, 0.008584f, 0.049893f, -0.037547f, 0.025892f, -0.011862f, -0.003842f, 0.014871f, 0.010118f, 0.019470f, -0.011897f, 0.012727f, 0.023437f, -0.005946f, -0.008570f, 0.015848f, -0.002304f, -0.002312f, -0.001512f, 0.004374f, 0.002827f, 0.007712f, -0.016595f, 0.022253f, -0.012756f, -0.007051f, -0.003300f, 0.013674f, -0.018805f, 0.002093f, -0.013376f, 0.018642f, 0.033743f, -0.011029f, -0.008974f, -0.004277f, 0.023268f, 0.011477f, 0.024296f, -0.001751f, -0.013655f, 0.011161f, 0.011830f, -0.003249f, 0.011726f, 0.009112f, -0.032298f, 0.005258f, 0.037630f, -0.004786f, -0.017475f, -0.168673f, 0.117358f, -0.072873f, -0.050393f, 0.000942f, 0.024374f, 0.029908f, 0.005806f, -0.027250f, 0.091430f, 0.045894f, - 0.013079f, -0.045877f, 0.030231f, -0.001839f, 0.034317f, -0.043825f, -0.029734f, 0.023006f, 0.068435f, -0.078370f, 0.003543f, 0.025006f, 0.008647f, -0.019516f, -0.011203f, -0.010140f, 0.003478f, -0.004277f, 0.017971f, 0.085521f, 0.005870f, -0.039115f, 0.058064f, -0.013806f, -0.055471f, -0.072335f, 0.068901f, 0.022083f, -0.009198f, 0.025190f, 0.016177f, 0.056693f, -0.077104f, -0.008570f, -0.039061f, -0.011562f, 0.044573f, -0.033014f, 0.017558f, -0.038018f, 0.018466f, 0.117922f, 0.009255f, -0.068138f, -0.075726f, -0.005117f, 0.036497f, 0.035104f, -0.030193f, 0.006915f, 0.057857f, -0.024634f, -0.111212f, 0.063092f, -0.038180f, -0.063890f, 0.028085f, 0.105219f, -0.072802f, 0.052757f, 0.073947f, 0.024888f, -0.063614f, -0.053828f, -0.032592f, 0.026035f, 0.023271f, -0.022614f, 0.066375f, 0.031732f, -0.003940f, -0.002465f, 0.004183f, -0.055810f, -0.020890f, -0.039677f, 0.020328f, 0.017258f, 0.013334f, 0.017432f, 0.013743f, 0.040109f, -0.020176f, -0.010542f, 0.007979f, -0.000453f, -0.031267f, 0.026537f, -0.001037f, 0.016404f, -0.007708f, 0.012203f, -0.020096f, -0.006823f, -0.012070f, 0.018516f, - 0.003762f, 0.003316f, 0.000662f, 0.010897f, 0.029986f, -0.012443f, -0.056922f, 0.004049f, -0.028062f, -0.006132f, 0.017123f, -0.024768f, -0.015619f, 0.031762f, -0.030247f, -0.007396f, 0.000298f, 0.014903f, -0.032404f, 0.001652f, 0.096636f, 0.031811f, 0.006405f, -0.007079f, 0.015316f, 0.027199f, -0.008668f, 0.012693f, -0.014642f, -0.000130f, -0.011574f, 0.045396f, -0.050943f, -0.005713f, 0.030439f, -0.070737f, 0.022884f, -0.017254f, 0.005318f, -0.008271f, -0.019818f, 0.012661f, -0.005488f, -0.028799f, 0.077497f, -0.059145f, -0.016669f, 0.055055f, -0.035303f, -0.005377f, -0.011155f, 0.012132f, 0.054421f, 0.004262f, -0.053154f, 0.072841f, -0.039375f, 0.025975f, 0.045337f, 0.020248f, -0.016989f, 0.004054f, -0.040046f, 0.009814f, -0.024274f, -0.019017f, 0.097471f, -0.022623f, -0.038931f, 0.012746f, -0.018213f, 0.023202f, -0.015215f, 0.025473f, 0.062693f, -0.034464f, 0.020713f, 0.047983f, -0.056419f, 0.025863f, 0.030604f, 0.014075f, 0.038320f, -0.043705f, -0.011594f, 0.067090f, -0.046338f, -0.010156f, 0.019078f, -0.018720f, 0.063898f, -0.063503f, 0.010735f, 0.022947f, -0.029429f, 0.022321f, - 0.024381f, -0.060477f, 0.021473f, 0.051614f, -0.000627f, -0.015485f, -0.002504f, 0.033209f, -0.006926f, -0.056794f, 0.046124f, 0.021927f, -0.025035f, 0.009485f, -0.013827f, 0.020506f, -0.008061f, -0.025417f, 0.029873f, 0.001677f, -0.006581f, -0.022100f, 0.020739f, 0.003958f, -0.029528f, 0.010538f, 0.019684f, -0.004077f, -0.009706f, 0.004316f, 0.018192f, -0.002701f, -0.019021f, 0.019383f, 0.012625f, 0.002366f, -0.001022f, 0.016204f, 0.003059f, 0.005682f, -0.022599f, 0.028635f, -0.015836f, 0.030538f, -0.020172f, -0.054524f, -0.147181f, -0.231294f, 0.020945f, 0.221508f, 0.018094f, 0.501468f, 0.517584f, 0.257690f, 0.541846f, 0.361411f, -0.075113f, -0.007846f, -0.119368f, -0.435145f, -0.382049f, -0.236164f, -0.444638f, -0.347993f, -0.101312f, -0.218121f, -0.182698f, 0.064543f, 0.109132f, -0.053060f, 0.028390f, 0.097470f, -0.075438f, -0.044198f, 0.137321f, 0.121981f, 0.013769f, 0.136344f, 0.232754f, 0.077629f, 0.168272f, 0.318567f, 0.152791f, 0.080549f, 0.285316f, 0.238472f, 0.031470f, 0.171148f, 0.334363f, 0.065901f, 0.078398f, 0.270002f, 0.116056f, -0.029712f, 0.190685f, 0.179972f, - -0.017407f, 0.158795f, 0.205105f, -0.004030f, -0.151337f, -0.070891f, -0.354687f, -0.585406f, -0.520799f, -0.555260f, -0.847686f, -0.761529f, -0.712754f, -0.866665f, -0.842146f, -0.691112f, -0.623364f, -0.560944f, -0.325398f, -0.125972f, 0.108129f, 0.231861f, 0.445199f, 0.664580f, 0.725576f, 0.808445f, 1.055279f, 1.041443f, 0.818958f, 0.896082f, 0.791960f, 0.326676f, 0.356052f, 0.302264f, -0.014925f, -0.051910f, 0.085980f, -0.014508f, -0.138666f, 0.015322f, 0.089299f, -0.090931f, -0.037644f, 0.078497f, -0.045513f, -0.175918f, -0.059985f, -0.049696f, -0.253620f, -0.180658f, -0.050950f, -0.199779f, -0.225922f, -0.018709f, -0.082370f, -0.228703f, -0.111820f, -0.105584f, -0.320417f, -0.304100f, -0.276040f, -0.494536f, -0.534400f, -0.446440f, -0.475987f, -0.513380f, -0.369195f, -0.315711f, -0.274720f, -0.200429f, -0.110368f, -0.052702f, -0.018241f, 0.035477f, 0.168505f, 0.231976f, 0.360890f, 0.592151f, 0.670360f, 0.742139f, 0.867896f, 0.847782f, 0.745922f, 0.634404f, 0.443064f, 0.187333f, 0.042649f, -0.051795f, -0.149608f, -0.174977f, -0.172084f, -0.174410f, -0.178294f, -0.167344f, -0.152175f, -0.163871f, - -0.167602f, -0.159579f, -0.170680f, -0.186716f, -0.178502f, -0.172124f, -0.167763f, -0.147889f, -0.113005f, -0.085041f, -0.056165f, -0.017091f, 0.012072f, 0.025351f, 0.034693f, 0.036761f, 0.030277f, 0.026742f, 0.020038f, 0.004657f, -0.008119f, -0.019614f, -0.033713f, -0.038042f, -0.037754f, -0.041682f, -0.040862f, -0.034252f, -0.033299f, -0.029760f, -0.019591f, -0.019444f, -0.021303f, -0.012252f, -0.008425f, -0.012469f, -0.005068f, -0.002648f, -0.005738f, 0.007912f, 0.021724f, 0.026241f, 0.040905f, 0.056444f, 0.063633f, 0.073921f, 0.085406f, 0.087361f, 0.086370f, 0.090139f, 0.089726f, 0.084724f, 0.079591f, 0.072134f, 0.059702f, 0.047827f, 0.039147f, 0.027467f, 0.015083f, 0.003656f, -0.010385f, -0.027003f, -0.040921f, -0.054383f, -0.065144f, -0.074689f, -0.080398f, -0.080705f, -0.077920f, -0.070407f, -0.056879f, -0.044273f, -0.032880f, -0.022626f, -0.014521f, -0.011379f, -0.007523f, -0.004478f, -0.002896f, -0.001880f, 0.000469f, 0.001393f, 0.002397f, 0.003059f, 0.004354f, 0.004319f, 0.004711f, 0.004393f, 0.004343f, 0.003223f, 0.002655f, 0.001463f, 0.000762f} - }, - { - {0.003003f, 0.012045f, -0.006014f, 0.003344f, -0.001272f, 0.000710f, 0.000534f, -0.004838f, -0.005545f, 0.003623f, -0.001039f, -0.004410f, -0.005686f, -0.003469f, 0.004950f, -0.000507f, 0.006654f, 0.001417f, -0.008517f, -0.008752f, -0.006255f, 0.002568f, 0.002133f, 0.004553f, -0.000712f, 0.005209f, -0.004009f, -0.000726f, -0.009210f, -0.001402f, -0.001746f, 0.001903f, 0.003417f, 0.003472f, 0.006742f, -0.003367f, -0.004573f, 0.003674f, 0.002034f, -0.004418f, -0.004549f, 0.000217f, 0.003117f, 0.001516f, 0.007489f, -0.002859f, -0.002422f, 0.008533f, 0.002570f, 0.015993f, 0.006759f, -0.004487f, -0.000192f, -0.009843f, 0.000146f, -0.011220f, -0.000779f, -0.004198f, 0.007713f, 0.000817f, 0.004122f, 0.005676f, 0.003033f, 0.005442f, 0.003581f, 0.000770f, -0.009454f, -0.001050f, -0.004759f, 0.006486f, 0.009431f, -0.006649f, -0.004772f, -0.002862f, -0.003878f, -0.005019f, -0.008113f, -0.001837f, 0.002376f, -0.004762f, -0.003977f, -0.001681f, -0.006679f, 0.000765f, -0.001380f, -0.004484f, 0.001385f, 0.000234f, -0.000073f, -0.002211f, 0.000348f, 0.000412f, 0.002419f, -0.000691f, 0.001544f, -0.000824f, - 0.001103f, -0.000326f, -0.001540f, 0.000402f, 0.001888f, 0.000322f, -0.001789f, -0.001794f, -0.000235f, 0.003298f, 0.000714f, -0.000645f, 0.000480f, -0.000977f, -0.001119f, -0.018876f, -0.020171f, -0.001607f, -0.005782f, 0.000772f, -0.004373f, -0.001193f, 0.011231f, -0.002011f, 0.006040f, -0.002778f, -0.005392f, -0.007462f, 0.001374f, -0.001546f, -0.008903f, 0.010265f, 0.003089f, 0.000702f, 0.005478f, 0.005219f, 0.008471f, 0.005961f, -0.000558f, -0.006304f, 0.005886f, 0.001367f, -0.008490f, -0.003756f, -0.003827f, -0.002548f, 0.007596f, -0.002604f, -0.012948f, -0.004390f, -0.001478f, 0.002702f, -0.004023f, -0.008430f, 0.000278f, -0.000825f, 0.009793f, 0.001448f, -0.000076f, 0.003574f, -0.000222f, 0.013208f, -0.002277f, 0.001214f, -0.002918f, -0.005243f, 0.000007f, 0.005672f, 0.002566f, 0.001547f, 0.005362f, -0.004920f, -0.008195f, -0.005864f, -0.001180f, 0.001078f, -0.001913f, 0.000234f, -0.006152f, -0.001362f, 0.003223f, -0.001963f, 0.006416f, 0.003349f, -0.000364f, 0.001191f, -0.006019f, -0.005124f, 0.009955f, 0.002263f, 0.004239f, 0.002890f, -0.001774f, -0.000584f, -0.007568f, 0.000535f, - -0.004326f, 0.001859f, -0.001479f, 0.001928f, 0.002047f, 0.005858f, -0.000615f, -0.002044f, 0.000339f, 0.001257f, 0.000777f, 0.000214f, 0.000199f, -0.001761f, -0.001398f, 0.000715f, -0.000648f, -0.001516f, 0.002369f, -0.001199f, 0.001210f, 0.001816f, -0.001727f, -0.000505f, 0.001356f, -0.000512f, 0.002440f, -0.001471f, 0.001203f, -0.001170f, -0.000873f, -0.003062f, 0.002868f, 0.013007f, -0.000676f, 0.006658f, 0.003980f, 0.008894f, 0.010991f, -0.002518f, 0.000945f, 0.006720f, 0.006707f, 0.004437f, 0.012577f, 0.002528f, -0.004046f, 0.000536f, 0.011015f, 0.003853f, 0.005230f, 0.009503f, 0.012838f, 0.008435f, -0.002846f, -0.008758f, 0.006221f, 0.004207f, -0.005010f, -0.008454f, 0.000515f, -0.004932f, 0.002310f, 0.003251f, -0.003032f, -0.004209f, 0.004310f, 0.003377f, 0.007608f, -0.005034f, -0.010237f, -0.005145f, -0.004399f, -0.006842f, -0.002325f, -0.007817f, 0.004753f, -0.010707f, 0.004667f, 0.000943f, 0.002537f, -0.004741f, 0.010306f, 0.007851f, -0.007191f, 0.009042f, 0.003443f, -0.001294f, 0.003024f, -0.006486f, -0.002028f, 0.006203f, 0.002249f, 0.002628f, 0.001674f, 0.007405f, - 0.003043f, 0.009146f, -0.004401f, -0.000493f, -0.000525f, 0.003589f, 0.005334f, -0.002037f, 0.003573f, -0.004709f, 0.002486f, 0.003262f, 0.002947f, 0.010049f, 0.000447f, 0.007519f, 0.008424f, 0.004761f, -0.007518f, -0.001380f, -0.001099f, -0.001905f, 0.000767f, 0.004314f, -0.001662f, 0.000222f, -0.000220f, 0.000577f, 0.001634f, -0.001144f, 0.001907f, 0.003014f, -0.001933f, -0.000986f, 0.002882f, 0.000203f, 0.000141f, -0.000031f, -0.001461f, 0.000806f, -0.000645f, 0.000344f, 0.002273f, 0.003628f, 0.000284f, -0.000353f, 0.001907f, 0.001484f, 0.000698f, 0.000944f, 0.000823f, 0.000994f, 0.000019f, -0.000349f, 0.001715f, 0.002044f, -0.001601f, 0.001146f, -0.000469f, 0.001662f, 0.002041f, 0.000302f, 0.000511f, 0.002152f, 0.000123f, 0.000043f, -0.000273f, 0.001016f, 0.036348f, 0.000031f, 0.032214f, 0.002302f, 0.020499f, -0.004614f, -0.003221f, 0.005272f, -0.014842f, 0.016244f, -0.009128f, 0.010810f, 0.008427f, -0.006309f, 0.005079f, -0.000708f, 0.000868f, -0.003056f, 0.004847f, 0.006262f, 0.008343f, 0.013076f, 0.003502f, 0.003995f, -0.000274f, 0.015425f, -0.017773f, 0.000178f, - -0.001138f, 0.004064f, 0.007884f, -0.009737f, 0.003862f, 0.004020f, 0.002433f, 0.006016f, 0.003624f, -0.007574f, 0.003710f, 0.013779f, -0.002410f, 0.004037f, -0.002152f, -0.002443f, -0.000458f, -0.010340f, 0.015753f, -0.000501f, 0.001717f, 0.011365f, -0.001434f, 0.000638f, 0.014615f, -0.021415f, 0.005996f, -0.000656f, 0.006514f, 0.016862f, 0.005289f, 0.003880f, 0.006109f, -0.002115f, -0.004617f, -0.003499f, 0.004350f, 0.001305f, 0.009353f, -0.003584f, 0.007712f, 0.003267f, -0.002428f, 0.001295f, -0.005900f, -0.004178f, 0.000941f, -0.002028f, -0.008206f, -0.005558f, -0.008402f, 0.004796f, 0.007661f, -0.002286f, 0.002442f, -0.002024f, -0.005556f, -0.000492f, 0.003231f, 0.002892f, -0.010066f, -0.000671f, 0.001048f, -0.001812f, 0.000671f, -0.002342f, 0.000300f, -0.002499f, -0.004807f, -0.000342f, -0.003154f, -0.002857f, -0.003963f, -0.000069f, -0.003876f, -0.001473f, -0.003760f, -0.003168f, -0.000045f, -0.001634f, -0.001968f, -0.000464f, 0.000591f, 0.001616f, -0.001986f, -0.000210f, 0.000718f, -0.014518f, -0.017626f, -0.007126f, -0.002564f, -0.006729f, 0.014283f, 0.005970f, -0.011224f, 0.012533f, - -0.001669f, -0.009295f, 0.002849f, 0.005410f, -0.005026f, -0.008500f, -0.007478f, -0.016082f, -0.007974f, 0.006824f, -0.010039f, -0.016327f, 0.004683f, 0.006492f, 0.001410f, -0.006057f, 0.012277f, 0.001426f, 0.011359f, -0.000783f, -0.002488f, 0.006354f, 0.010768f, -0.015241f, -0.007123f, 0.004061f, -0.003299f, 0.003646f, -0.009818f, -0.000792f, 0.002776f, 0.003526f, -0.008365f, -0.015471f, -0.004238f, 0.004431f, -0.002508f, -0.002005f, 0.001035f, 0.004920f, -0.001425f, 0.002706f, -0.005092f, 0.008878f, -0.011629f, -0.008825f, -0.002968f, -0.008645f, -0.002477f, -0.002374f, 0.003523f, -0.006353f, 0.004862f, 0.009654f, -0.000741f, 0.002233f, 0.002715f, 0.004611f, 0.009575f, -0.003644f, -0.001719f, -0.001836f, -0.003831f, 0.009826f, -0.003911f, -0.017212f, -0.010868f, -0.007290f, 0.016604f, 0.000257f, 0.009569f, 0.004317f, 0.001535f, 0.002533f, -0.001041f, -0.000391f, 0.008047f, -0.002660f, -0.001709f, 0.002557f, -0.001290f, 0.001265f, -0.003457f, -0.002170f, 0.001923f, -0.000490f, 0.002106f, -0.000520f, 0.001286f, 0.002976f, 0.002242f, 0.002784f, 0.000122f, 0.001940f, -0.000326f, 0.002857f, - 0.003238f, 0.005095f, 0.003292f, 0.004047f, 0.001065f, 0.002706f, 0.002426f, 0.001684f, 0.002521f, 0.003362f, -0.001406f, 0.000277f, -0.000544f, -0.001408f, 0.001497f, 0.001999f, -0.004006f, -0.015705f, -0.036136f, -0.003492f, 0.002617f, 0.000275f, -0.011647f, -0.005318f, -0.013235f, -0.003554f, -0.015632f, -0.018136f, -0.013985f, -0.003385f, -0.009235f, -0.020427f, -0.012617f, 0.004082f, 0.006370f, -0.005735f, 0.012301f, 0.006634f, -0.004439f, 0.014938f, 0.003305f, 0.001115f, 0.002498f, -0.020754f, -0.000686f, 0.003300f, 0.007835f, -0.006619f, -0.005676f, 0.012148f, 0.023970f, -0.018027f, 0.006496f, -0.005406f, -0.000866f, -0.015909f, -0.001334f, -0.000328f, -0.007988f, -0.010350f, -0.007359f, -0.008830f, -0.004574f, 0.005003f, 0.017596f, -0.008359f, 0.006623f, 0.011699f, 0.010774f, -0.003790f, 0.001250f, -0.004011f, -0.003377f, -0.016353f, -0.007982f, 0.008998f, -0.005810f, 0.001815f, -0.005548f, 0.004445f, 0.002475f, -0.001967f, -0.000595f, -0.007735f, -0.006213f, 0.001232f, -0.002237f, 0.003134f, -0.019140f, -0.020449f, -0.002174f, -0.003157f, -0.008699f, -0.000244f, 0.006426f, -0.010158f, - -0.007667f, -0.008694f, -0.014744f, 0.010218f, -0.001077f, -0.002415f, 0.003991f, -0.000785f, 0.003577f, 0.006665f, 0.002370f, 0.003608f, 0.002166f, 0.004836f, -0.001534f, 0.000690f, 0.000794f, 0.000934f, 0.001645f, -0.001538f, -0.001284f, 0.000060f, 0.001527f, 0.001730f, -0.001281f, 0.001376f, -0.001851f, -0.003694f, 0.001845f, 0.001134f, -0.001413f, 0.004293f, 0.002006f, 0.000067f, 0.001700f, -0.002982f, -0.003016f, -0.001019f, -0.001626f, -0.001480f, -0.004022f, -0.000836f, -0.003184f, -0.022764f, -0.004178f, -0.027359f, -0.005824f, -0.019456f, -0.002040f, 0.003368f, 0.005141f, 0.020596f, -0.012755f, 0.004413f, 0.005879f, -0.011559f, -0.004855f, 0.016523f, 0.002030f, -0.005147f, 0.002357f, -0.014060f, 0.012783f, -0.017946f, -0.005597f, 0.007645f, 0.005160f, -0.002089f, 0.003271f, -0.003743f, 0.006045f, -0.007800f, -0.013047f, 0.000660f, 0.006679f, 0.005018f, -0.010386f, 0.002702f, 0.012196f, -0.012535f, -0.015330f, 0.012169f, -0.010377f, 0.007859f, -0.007401f, 0.004276f, -0.000071f, -0.011300f, -0.014141f, -0.009105f, 0.004161f, -0.000822f, 0.005615f, -0.007761f, -0.007088f, -0.018609f, - 0.009813f, -0.013409f, -0.005777f, 0.006901f, 0.016534f, -0.002362f, -0.003143f, -0.024283f, -0.018699f, -0.006560f, -0.006513f, 0.008790f, -0.002324f, -0.014330f, -0.002021f, 0.000494f, -0.007597f, -0.002175f, -0.016585f, 0.010958f, 0.004590f, 0.013884f, 0.017494f, 0.008848f, 0.000939f, 0.007269f, 0.015629f, -0.001531f, -0.003320f, -0.001303f, -0.004480f, -0.015556f, 0.001081f, 0.000882f, 0.003525f, 0.007952f, -0.003108f, 0.001564f, 0.000218f, -0.006270f, -0.003035f, 0.005350f, 0.005610f, 0.004847f, -0.003699f, 0.001288f, 0.002344f, 0.001696f, 0.002107f, 0.001994f, 0.000960f, 0.004013f, 0.004454f, 0.002634f, -0.000639f, 0.001718f, -0.000505f, 0.001440f, 0.003274f, 0.000840f, 0.001450f, -0.000170f, -0.000837f, -0.001199f, 0.000156f, -0.002901f, -0.001017f, 0.002738f, 0.013298f, 0.007081f, 0.038756f, 0.018860f, 0.025087f, -0.007704f, -0.001021f, -0.000339f, -0.038354f, 0.002092f, 0.016490f, -0.007505f, -0.003008f, 0.001401f, 0.024117f, -0.004005f, 0.013961f, -0.002777f, 0.013372f, 0.007452f, 0.016523f, 0.023354f, 0.002970f, 0.015626f, -0.004830f, 0.013539f, -0.001839f, 0.024994f, - 0.013230f, -0.000317f, 0.014151f, 0.011541f, -0.004206f, 0.011025f, 0.006561f, 0.009536f, -0.007462f, -0.005868f, -0.020129f, -0.001120f, 0.014259f, 0.002859f, 0.001811f, -0.004567f, -0.007529f, -0.005890f, -0.006637f, 0.035155f, -0.022533f, 0.009055f, 0.010646f, 0.006160f, 0.003032f, -0.013324f, -0.017882f, -0.004449f, -0.002659f, -0.000702f, -0.030985f, -0.015244f, -0.015923f, 0.000892f, -0.000722f, 0.009347f, -0.001006f, 0.008320f, 0.010998f, 0.019984f, 0.003659f, -0.004976f, 0.006692f, -0.012358f, 0.003433f, -0.009027f, 0.003356f, 0.007820f, 0.004360f, 0.012786f, -0.008523f, -0.009564f, 0.045499f, 0.006372f, 0.008271f, 0.005899f, 0.015454f, -0.010782f, -0.005634f, 0.009863f, -0.001112f, -0.000121f, 0.001805f, 0.003344f, 0.008932f, -0.004280f, -0.000664f, 0.001829f, 0.005149f, 0.001319f, -0.004687f, 0.008783f, 0.000336f, -0.001892f, 0.000213f, -0.000852f, -0.004609f, -0.004183f, -0.002014f, -0.004668f, 0.000002f, -0.001739f, 0.002115f, 0.006338f, -0.000560f, -0.000457f, -0.006799f, -0.001284f, 0.003379f, -0.000602f, 0.000419f, 0.000779f, 0.005374f, -0.002628f, -0.000794f, 0.001880f, - 0.002032f, -0.005789f, -0.005011f, 0.059780f, 0.006110f, 0.009142f, 0.006425f, -0.003447f, -0.024402f, 0.016541f, 0.016911f, -0.009383f, 0.007248f, 0.007983f, -0.014744f, -0.001785f, 0.013883f, 0.008371f, -0.025759f, 0.006713f, -0.007175f, -0.012825f, -0.000497f, 0.007705f, 0.001836f, -0.000029f, -0.000663f, 0.011220f, -0.003623f, 0.006415f, -0.020090f, 0.008186f, -0.002221f, 0.008037f, 0.004329f, -0.003431f, 0.014016f, -0.019159f, -0.008507f, -0.018923f, 0.016464f, 0.008062f, 0.026966f, 0.013603f, -0.000253f, 0.006008f, -0.022173f, -0.000017f, 0.006259f, 0.007183f, 0.006533f, 0.001628f, 0.003710f, -0.005671f, 0.006102f, 0.019642f, 0.026079f, 0.011503f, -0.012119f, -0.006450f, -0.002869f, -0.005056f, 0.009603f, 0.013393f, -0.009370f, 0.007969f, 0.014499f, 0.004616f, -0.020398f, -0.039836f, -0.019885f, 0.008118f, 0.017320f, -0.007436f, 0.005089f, -0.001425f, -0.003826f, -0.000060f, 0.018085f, 0.003419f, -0.015196f, 0.024750f, 0.011028f, -0.028554f, 0.001193f, -0.003386f, -0.009337f, -0.003159f, -0.004476f, 0.000024f, 0.009798f, 0.004211f, -0.007837f, -0.004067f, 0.005754f, 0.010695f, - -0.004860f, 0.008139f, 0.001987f, -0.006631f, -0.001827f, 0.001079f, 0.000162f, -0.001233f, 0.000473f, -0.003291f, -0.002509f, 0.002375f, 0.000574f, -0.002930f, -0.003250f, 0.000191f, -0.002123f, -0.004874f, 0.002941f, -0.001704f, -0.002633f, 0.001376f, 0.004996f, -0.005468f, -0.008716f, -0.000077f, -0.001339f, -0.012681f, -0.002265f, 0.003141f, -0.000079f, -0.007668f, -0.000981f, -0.002848f, 0.002385f, 0.001778f, 0.003929f, 0.003125f, -0.001264f, -0.001394f, -0.002431f, -0.006262f, -0.037016f, 0.011479f, 0.016814f, -0.019017f, 0.012123f, 0.021830f, -0.052463f, 0.011736f, 0.001727f, 0.011916f, -0.019875f, 0.029866f, -0.041496f, 0.000147f, -0.003423f, -0.002852f, -0.004690f, -0.011434f, -0.015985f, -0.002041f, 0.014216f, 0.002007f, -0.000071f, -0.007325f, 0.009867f, -0.001119f, -0.005539f, 0.008297f, 0.017664f, -0.011532f, 0.012611f, -0.001885f, 0.007475f, 0.004475f, 0.011821f, 0.019334f, -0.004814f, 0.005451f, -0.024858f, -0.011730f, -0.005491f, -0.008749f, -0.022677f, 0.002885f, -0.008539f, -0.013968f, 0.020905f, -0.019513f, -0.007106f, -0.008942f, -0.011249f, 0.015077f, -0.016988f, 0.009767f, - -0.006214f, 0.015479f, -0.008324f, 0.016904f, -0.022078f, -0.005665f, 0.002395f, 0.020368f, -0.035390f, -0.012706f, 0.000918f, 0.000475f, -0.006597f, 0.014413f, -0.018523f, -0.035123f, 0.007366f, -0.030787f, 0.015494f, -0.010716f, -0.000245f, -0.032212f, -0.013120f, 0.035638f, 0.019576f, -0.026071f, -0.022495f, -0.018350f, 0.000768f, 0.011082f, -0.004951f, -0.011459f, 0.022567f, 0.008568f, -0.004356f, -0.004608f, -0.008928f, -0.001418f, 0.008656f, -0.008037f, 0.009331f, -0.000784f, -0.007012f, 0.001567f, -0.005436f, 0.003876f, 0.007834f, -0.004531f, 0.003294f, 0.006300f, 0.003915f, -0.000402f, 0.009159f, -0.008703f, 0.008630f, -0.002228f, 0.007554f, -0.010177f, -0.005748f, 0.001852f, 0.000378f, 0.011143f, 0.003347f, 0.006809f, -0.003976f, -0.005948f, 0.003286f, -0.011712f, -0.001473f, -0.002251f, 0.004701f, -0.002225f, -0.002715f, -0.003645f, -0.026982f, -0.011554f, 0.033950f, 0.001451f, -0.028027f, 0.026389f, -0.012357f, 0.001771f, -0.029222f, 0.004509f, 0.011573f, -0.025754f, -0.006301f, -0.023014f, -0.000168f, 0.001482f, -0.007767f, -0.006380f, 0.022482f, 0.003474f, -0.015233f, 0.003835f, - -0.032634f, 0.019628f, 0.031097f, -0.010041f, 0.012988f, 0.022075f, -0.001644f, -0.004489f, 0.002719f, 0.002697f, 0.012929f, 0.002224f, 0.002995f, 0.006803f, -0.018234f, -0.001294f, -0.020961f, -0.021409f, -0.008779f, 0.009029f, 0.012739f, -0.000649f, -0.025216f, 0.004996f, 0.006633f, 0.012440f, 0.026995f, -0.027634f, 0.040504f, -0.033545f, 0.001502f, -0.006736f, -0.005796f, -0.016206f, -0.031129f, -0.042000f, -0.016277f, -0.004782f, 0.010732f, -0.003158f, 0.001771f, 0.006217f, -0.000279f, 0.029634f, 0.014033f, -0.030336f, -0.004709f, -0.000586f, 0.019412f, -0.020955f, 0.001434f, -0.042268f, 0.007960f, 0.033085f, -0.029507f, -0.011564f, 0.004222f, -0.000287f, 0.008306f, 0.046349f, 0.000734f, -0.006075f, 0.002453f, 0.023615f, -0.015967f, 0.006350f, 0.008666f, -0.003465f, -0.001666f, -0.000277f, -0.000574f, 0.010530f, -0.003384f, -0.002377f, -0.009036f, 0.015318f, -0.003260f, 0.004532f, 0.001592f, 0.002723f, 0.003873f, 0.011145f, -0.007681f, -0.001959f, 0.011838f, -0.008520f, -0.011988f, 0.009966f, 0.000543f, 0.004877f, 0.006764f, 0.003801f, 0.012249f, -0.009455f, 0.005737f, 0.006755f, - -0.004152f, 0.017256f, 0.005985f, 0.010561f, 0.003935f, -0.010372f, -0.003722f, -0.001752f, -0.001736f, -0.001835f, 0.005074f, -0.017237f, -0.035278f, 0.042157f, 0.017868f, -0.020494f, 0.027207f, 0.027431f, 0.038710f, -0.014191f, -0.013478f, 0.028441f, -0.004243f, -0.005478f, 0.009799f, 0.012721f, 0.004960f, 0.006156f, -0.038656f, -0.003962f, 0.000061f, 0.000464f, 0.002082f, -0.004219f, 0.016323f, 0.031889f, 0.003176f, 0.002321f, -0.000574f, 0.001673f, 0.029209f, 0.007925f, -0.002083f, -0.006224f, 0.007468f, 0.006632f, -0.004600f, 0.003523f, -0.016693f, -0.003313f, 0.025420f, -0.025058f, -0.012264f, -0.021584f, 0.028412f, -0.025854f, 0.013057f, -0.010478f, 0.008370f, -0.005474f, 0.006756f, -0.020729f, 0.004810f, 0.031763f, -0.020756f, 0.001844f, -0.055085f, -0.002256f, -0.019443f, 0.001689f, -0.051405f, -0.002076f, -0.002499f, -0.015665f, -0.011015f, 0.042193f, -0.045025f, 0.007724f, -0.012141f, -0.016606f, 0.012167f, -0.015039f, -0.035154f, -0.024480f, 0.003467f, 0.002072f, 0.007321f, -0.017226f, -0.023645f, 0.013716f, 0.001199f, 0.002858f, 0.015850f, -0.026061f, 0.019763f, -0.018895f, - -0.008907f, -0.007994f, 0.004753f, 0.000908f, 0.005695f, -0.003169f, -0.006634f, 0.001870f, -0.003739f, 0.005767f, 0.012343f, 0.007377f, 0.004594f, 0.003699f, 0.003402f, 0.003483f, -0.001239f, 0.013572f, 0.002609f, -0.002328f, 0.010037f, 0.010456f, 0.003909f, -0.005450f, -0.000487f, -0.008054f, 0.013381f, 0.004947f, 0.010780f, -0.005007f, 0.011064f, 0.010008f, 0.014458f, 0.007289f, -0.003967f, -0.007279f, 0.012173f, 0.002678f, 0.010546f, 0.002595f, 0.002917f, 0.002973f, 0.003217f, 0.035719f, 0.011960f, -0.004213f, 0.007174f, -0.017228f, -0.019070f, -0.014830f, 0.033902f, -0.030275f, -0.038627f, 0.018718f, -0.035974f, 0.013608f, 0.000929f, 0.010112f, -0.016332f, -0.003410f, -0.019785f, -0.007785f, -0.015379f, 0.007605f, 0.017210f, 0.012596f, -0.029153f, 0.033764f, 0.003585f, 0.012054f, 0.002582f, 0.016457f, -0.003923f, 0.015819f, 0.003314f, -0.006510f, 0.009374f, 0.003965f, 0.012574f, 0.009354f, -0.022268f, 0.009108f, -0.006879f, 0.006498f, -0.004937f, -0.007769f, -0.007243f, -0.014943f, 0.013736f, 0.015590f, 0.015432f, -0.002654f, 0.028656f, 0.035189f, 0.013421f, 0.004882f, - 0.015289f, 0.036449f, 0.017296f, 0.039727f, 0.024778f, 0.029685f, -0.032146f, -0.031512f, 0.005902f, -0.006176f, -0.009135f, 0.002751f, -0.016499f, 0.013486f, 0.009299f, 0.006473f, 0.029425f, -0.006805f, -0.020033f, -0.016036f, -0.014981f, 0.003730f, -0.007477f, -0.064247f, -0.028685f, -0.024874f, -0.009765f, -0.012819f, -0.007426f, -0.009575f, -0.018968f, 0.000870f, -0.011675f, -0.010350f, 0.003597f, -0.010392f, -0.004009f, -0.016081f, 0.000266f, 0.001013f, -0.003266f, -0.023005f, 0.008860f, 0.000082f, 0.000404f, -0.017283f, 0.004561f, 0.006320f, 0.006012f, 0.002023f, 0.019514f, -0.012962f, -0.005699f, 0.004230f, 0.001501f, -0.001385f, 0.007617f, -0.009175f, -0.008580f, -0.001617f, 0.013617f, -0.001414f, 0.009704f, 0.011933f, -0.003287f, -0.014907f, -0.014126f, -0.001596f, 0.014214f, 0.001166f, -0.011466f, 0.001515f, -0.003118f, -0.007299f, -0.006213f, -0.002341f, 0.000075f, -0.011203f, -0.010270f, 0.009694f, 0.028281f, 0.019880f, -0.063207f, -0.045987f, -0.014843f, -0.000204f, 0.020304f, -0.008233f, -0.001870f, -0.049605f, 0.006686f, -0.025802f, 0.018311f, -0.003262f, 0.024389f, -0.020876f, - -0.005675f, -0.024846f, 0.003992f, 0.020906f, -0.010219f, 0.006338f, -0.014808f, 0.001410f, -0.034135f, -0.009046f, -0.002001f, 0.002733f, 0.024663f, 0.032871f, 0.000765f, -0.029623f, -0.021410f, -0.009388f, 0.002708f, -0.007634f, 0.009161f, -0.034108f, -0.011027f, -0.004461f, -0.009278f, -0.019065f, -0.004880f, -0.008665f, 0.023057f, 0.034193f, 0.022572f, 0.008594f, 0.013660f, 0.014449f, -0.016710f, 0.056948f, 0.034078f, -0.044550f, -0.039027f, 0.041875f, -0.033101f, -0.018745f, 0.006115f, 0.004781f, -0.032134f, 0.030995f, 0.001705f, -0.095944f, 0.025425f, 0.060446f, -0.042037f, 0.041684f, 0.055321f, -0.018415f, -0.006052f, 0.029808f, -0.035012f, -0.022914f, 0.011306f, -0.018835f, -0.022000f, 0.025275f, -0.042411f, -0.012755f, 0.005136f, 0.001020f, 0.002118f, -0.004020f, 0.015165f, -0.010998f, 0.006326f, 0.002299f, -0.011468f, 0.022322f, 0.011117f, -0.000715f, -0.014500f, 0.017218f, -0.011081f, 0.013287f, -0.011777f, 0.016160f, 0.001400f, 0.003350f, 0.016090f, -0.012685f, -0.014518f, 0.004294f, -0.013415f, -0.008094f, -0.000901f, 0.001401f, -0.009025f, -0.015762f, 0.007190f, -0.037000f, - -0.000303f, 0.017030f, -0.013945f, 0.010026f, -0.004473f, 0.005031f, -0.015783f, 0.000361f, 0.008205f, -0.007267f, 0.005279f, 0.033203f, -0.015066f, -0.013929f, 0.032401f, -0.023635f, -0.004232f, 0.027462f, -0.019530f, -0.012452f, 0.020676f, 0.012675f, 0.013597f, -0.003368f, -0.020124f, -0.016169f, 0.019124f, -0.015198f, -0.001324f, 0.005663f, -0.028466f, 0.018596f, 0.015271f, -0.011544f, -0.009255f, -0.022266f, 0.000703f, -0.013756f, 0.019381f, -0.031258f, 0.002502f, 0.012057f, -0.001540f, -0.014827f, -0.032314f, -0.007227f, -0.013975f, -0.003073f, -0.024959f, 0.034337f, -0.033283f, 0.005958f, -0.011993f, 0.008723f, -0.047185f, 0.048937f, 0.009466f, 0.005011f, -0.019340f, 0.011269f, 0.008155f, 0.002284f, 0.004651f, -0.008560f, -0.037152f, -0.006311f, -0.015950f, -0.023792f, -0.031871f, -0.011406f, -0.007849f, -0.031706f, -0.011956f, -0.001294f, 0.022311f, 0.010365f, -0.028607f, -0.025030f, 0.015838f, -0.006411f, -0.036369f, -0.015594f, 0.009314f, 0.030408f, 0.030307f, 0.030727f, 0.048999f, -0.009116f, -0.032671f, -0.031296f, -0.001657f, 0.021636f, 0.038267f, 0.017305f, 0.008514f, -0.038393f, - 0.022144f, 0.008382f, 0.037367f, 0.025971f, 0.017154f, 0.012960f, 0.000415f, 0.003580f, 0.022184f, -0.004868f, 0.001949f, 0.004163f, 0.006724f, 0.007798f, 0.007445f, 0.010839f, 0.026584f, 0.008549f, 0.002356f, 0.009327f, -0.000182f, 0.008729f, 0.002870f, 0.001892f, 0.016695f, -0.019356f, -0.013551f, -0.004855f, 0.007804f, -0.009612f, 0.006945f, -0.003984f, 0.020919f, 0.001145f, 0.003889f, -0.010287f, -0.012786f, 0.001554f, 0.012407f, -0.010842f, -0.000772f, 0.014232f, -0.010892f, -0.000239f, 0.006999f, -0.019351f, 0.024671f, 0.013421f, -0.003777f, 0.006244f, -0.000373f, 0.000211f, -0.005261f, 0.014159f, -0.003681f, 0.023473f, 0.060368f, -0.053163f, -0.002429f, -0.020717f, -0.029444f, -0.016326f, 0.027134f, -0.014563f, -0.017524f, 0.015105f, 0.035181f, 0.023447f, -0.027984f, 0.018224f, -0.029327f, 0.021612f, 0.000255f, -0.002499f, -0.014668f, -0.020507f, -0.018010f, 0.004273f, 0.002970f, -0.032856f, 0.020348f, 0.004170f, -0.003955f, -0.012082f, -0.015159f, 0.024444f, -0.033476f, -0.000915f, 0.034469f, 0.042248f, -0.038265f, -0.001898f, -0.008363f, -0.023588f, -0.032214f, 0.034778f, - 0.006834f, 0.022307f, -0.007661f, 0.003210f, -0.003914f, 0.022189f, -0.009395f, 0.001700f, -0.027777f, 0.038969f, 0.031097f, -0.046374f, -0.058277f, -0.011654f, -0.000285f, -0.018382f, 0.000950f, -0.013550f, 0.003413f, -0.028631f, 0.029860f, -0.036952f, -0.033733f, -0.011786f, 0.004433f, 0.026231f, -0.014458f, 0.037808f, 0.002974f, -0.012962f, -0.013755f, -0.009432f, -0.024513f, 0.023161f, 0.016052f, -0.005833f, 0.013425f, 0.011652f, -0.019401f, -0.018084f, -0.016590f, 0.029313f, 0.006699f, -0.020435f, 0.001791f, 0.008475f, 0.008921f, -0.030652f, 0.015094f, 0.012635f, 0.005150f, -0.000061f, -0.009359f, 0.004373f, -0.010172f, -0.027290f, 0.005078f, -0.003438f, -0.005622f, -0.003012f, 0.002098f, -0.008147f, -0.011129f, -0.000388f, -0.004425f, 0.013926f, -0.007942f, -0.003663f, 0.007346f, -0.003535f, -0.013567f, 0.010994f, -0.013526f, -0.004099f, -0.023116f, 0.012150f, 0.001821f, -0.003116f, 0.003422f, -0.010017f, 0.019469f, -0.001200f, 0.002852f, 0.022689f, 0.015666f, -0.006221f, -0.007922f, 0.010931f, 0.005558f, -0.007731f, 0.003825f, -0.007103f, -0.007104f, -0.001365f, 0.004552f, -0.004212f, - -0.001555f, -0.083741f, 0.123641f, -0.085228f, -0.020705f, 0.021331f, 0.067147f, 0.052994f, -0.019072f, -0.022465f, 0.004326f, 0.002186f, 0.035003f, 0.011715f, -0.044470f, 0.012687f, -0.009013f, -0.016798f, 0.005202f, 0.017618f, 0.000493f, -0.034826f, -0.029174f, 0.014930f, 0.013663f, 0.020063f, -0.010754f, 0.025049f, 0.006765f, 0.029534f, -0.002455f, -0.011297f, 0.023230f, -0.003639f, -0.023392f, 0.003284f, 0.028668f, -0.002116f, -0.031254f, 0.014938f, 0.037871f, -0.035196f, 0.014202f, -0.037741f, 0.015241f, -0.047449f, -0.029730f, 0.050309f, 0.048434f, 0.021522f, 0.062870f, -0.012874f, 0.074923f, 0.026684f, 0.029289f, 0.038966f, -0.066614f, 0.055796f, 0.020017f, 0.022022f, 0.026824f, 0.005343f, -0.032201f, 0.004435f, 0.063303f, 0.070465f, -0.000227f, -0.081727f, 0.040337f, 0.001280f, 0.017510f, -0.003705f, 0.002519f, -0.018511f, -0.060321f, 0.011398f, -0.009536f, 0.012825f, -0.010772f, 0.029272f, -0.033670f, -0.037617f, -0.025270f, 0.004445f, -0.010581f, -0.017409f, 0.020206f, 0.006868f, -0.025755f, -0.028713f, -0.021479f, -0.017253f, -0.002424f, -0.005212f, 0.015032f, -0.001228f, - -0.022036f, 0.017003f, 0.004005f, -0.006359f, 0.001453f, 0.007997f, -0.010779f, -0.006300f, 0.011626f, -0.020509f, -0.007965f, -0.014241f, 0.012009f, 0.013831f, -0.016168f, 0.004308f, -0.044076f, 0.000309f, 0.002598f, 0.001902f, -0.008286f, -0.008852f, -0.019676f, -0.015562f, 0.010588f, 0.006126f, 0.010167f, 0.015169f, -0.014430f, 0.000864f, 0.006418f, 0.003652f, -0.014138f, -0.000200f, 0.004020f, -0.000769f, -0.011540f, -0.001955f, -0.002716f, 0.080985f, -0.002772f, -0.096768f, -0.048584f, -0.057039f, -0.021476f, 0.000328f, 0.032110f, -0.082484f, -0.018185f, 0.012797f, -0.038115f, -0.044334f, -0.039978f, -0.044251f, -0.006843f, 0.048567f, 0.025278f, -0.019426f, 0.023671f, 0.009479f, -0.022036f, 0.025019f, -0.027902f, -0.006341f, 0.012028f, 0.016534f, -0.055688f, 0.028032f, -0.027255f, 0.015948f, -0.010733f, -0.045031f, 0.012763f, 0.013898f, 0.007223f, 0.007326f, -0.018400f, -0.063873f, 0.002856f, 0.013120f, 0.014167f, 0.000585f, 0.008225f, -0.026543f, -0.000052f, -0.002311f, 0.058209f, -0.008969f, -0.095032f, -0.043107f, -0.010089f, -0.079219f, 0.018291f, -0.024240f, -0.019941f, -0.038210f, - -0.016820f, -0.057044f, -0.055598f, -0.068587f, -0.006557f, 0.072091f, 0.010175f, -0.045706f, 0.021291f, 0.000585f, -0.004801f, -0.025728f, -0.035830f, 0.015107f, 0.029969f, 0.022576f, 0.012549f, -0.013715f, -0.058184f, -0.041733f, -0.058577f, 0.008617f, 0.006686f, -0.002091f, 0.021160f, -0.031023f, -0.037249f, -0.005314f, -0.013695f, -0.038319f, 0.008522f, 0.022031f, 0.003199f, 0.008056f, 0.036958f, -0.006640f, -0.007521f, -0.006303f, 0.002521f, -0.013210f, -0.007240f, 0.016455f, 0.025244f, 0.027513f, 0.018603f, -0.007600f, 0.001305f, 0.004312f, -0.011431f, 0.025493f, -0.010382f, 0.037197f, -0.013026f, 0.017483f, -0.017693f, -0.004905f, 0.037779f, 0.012560f, 0.005209f, -0.000131f, -0.014744f, 0.014924f, 0.003267f, -0.018307f, 0.008345f, -0.015646f, -0.020183f, 0.005929f, 0.006075f, -0.012393f, -0.012115f, 0.012977f, 0.000720f, 0.018211f, 0.003934f, 0.012453f, -0.006687f, 0.005574f, 0.005139f, 0.001960f, 0.053915f, -0.006694f, 0.043270f, 0.055001f, -0.046492f, -0.059055f, -0.061468f, 0.015868f, 0.021937f, -0.085066f, -0.048660f, 0.001329f, 0.002689f, 0.025142f, -0.098278f, 0.010156f, - 0.023014f, 0.067944f, -0.078701f, 0.008953f, 0.013158f, -0.010240f, 0.043731f, -0.025472f, 0.076471f, -0.004616f, 0.006905f, 0.022574f, 0.029799f, -0.029271f, -0.061449f, 0.035452f, 0.043652f, 0.009573f, 0.055181f, 0.010213f, -0.006865f, -0.021062f, -0.046437f, 0.071579f, -0.032129f, 0.067805f, 0.027087f, -0.005553f, 0.020312f, -0.029389f, 0.037025f, 0.035995f, -0.025393f, 0.026631f, 0.013952f, -0.072133f, 0.052276f, 0.052583f, -0.006618f, -0.037054f, 0.007003f, -0.002310f, 0.002412f, -0.013436f, 0.098681f, -0.002388f, -0.057144f, -0.032617f, 0.011263f, -0.083144f, -0.108097f, 0.014246f, 0.135392f, 0.029343f, -0.009488f, -0.086999f, -0.021868f, -0.014931f, 0.092282f, -0.063663f, -0.040356f, -0.152511f, -0.021950f, -0.028399f, -0.035744f, -0.029085f, 0.055870f, 0.059010f, -0.059348f, -0.023658f, 0.019627f, 0.007665f, -0.010830f, 0.023885f, -0.010421f, -0.019350f, -0.018663f, 0.020498f, 0.008437f, 0.006257f, -0.007552f, 0.020081f, -0.021343f, -0.007844f, 0.018232f, 0.007827f, -0.001216f, -0.001416f, -0.015940f, 0.007133f, -0.010586f, 0.038801f, -0.010800f, -0.021996f, -0.017585f, -0.034278f, - -0.011470f, 0.025412f, 0.029323f, 0.079529f, 0.030444f, -0.009672f, -0.061147f, -0.085069f, -0.039616f, 0.000691f, 0.034508f, 0.027393f, -0.022604f, -0.034222f, -0.017156f, -0.014366f, 0.020878f, 0.035773f, 0.007959f, 0.001466f, -0.004651f, -0.013565f, -0.011076f, -0.010412f, -0.001966f, -0.004859f, -0.005191f, 0.004276f, -0.009234f, 0.003084f, 0.001222f, 0.002248f, -0.007034f, -0.001465f, -0.005276f, -0.004833f, -0.006879f, 0.004034f, -0.004390f, 0.007406f, -0.135689f, 0.039986f, 0.064458f, -0.086019f, -0.008234f, 0.049532f, -0.021371f, -0.038230f, 0.034520f, -0.036851f, -0.021004f, 0.003728f, -0.028716f, 0.046663f, -0.015782f, -0.020048f, -0.008322f, 0.025075f, 0.082541f, -0.012024f, -0.038471f, -0.041732f, 0.015067f, 0.040501f, 0.023400f, -0.036770f, -0.006208f, 0.045983f, 0.000952f, -0.033234f, 0.011060f, -0.029561f, 0.076367f, -0.033744f, -0.083268f, 0.029573f, -0.014209f, 0.040528f, -0.055852f, -0.053804f, 0.054703f, -0.003515f, -0.071409f, -0.036932f, -0.068233f, 0.088987f, 0.042264f, 0.024666f, -0.092983f, 0.017408f, 0.038116f, -0.064154f, 0.003663f, -0.045829f, -0.035599f, 0.037257f, - -0.031663f, 0.042620f, -0.026173f, -0.055614f, -0.012889f, -0.013090f, -0.008482f, 0.020351f, 0.006673f, -0.034403f, 0.109659f, -0.012614f, 0.048616f, 0.050779f, 0.030345f, -0.014076f, 0.011530f, -0.024047f, 0.061697f, 0.016063f, -0.015574f, 0.008228f, 0.026225f, 0.043673f, -0.010636f, -0.092305f, -0.006299f, 0.029860f, -0.009230f, 0.050005f, -0.020797f, 0.017782f, -0.007436f, 0.002083f, 0.020321f, 0.005704f, 0.012401f, 0.025888f, 0.014945f, 0.029926f, -0.006922f, 0.010249f, 0.015492f, 0.002800f, -0.029848f, 0.036641f, -0.014805f, 0.000986f, 0.005637f, -0.017164f, 0.009323f, 0.002613f, -0.004678f, 0.025712f, -0.011171f, 0.002598f, 0.036143f, 0.000383f, 0.020178f, -0.016865f, -0.011264f, 0.020213f, -0.004473f, -0.012653f, -0.018772f, 0.001736f, 0.002661f, 0.005265f, -0.006215f, 0.005369f, 0.011330f, -0.003320f, 0.007765f, 0.010222f, -0.004976f, 0.012305f, 0.002272f, -0.012102f, 0.008255f, 0.005063f, 0.002523f, -0.000654f, 0.098185f, 0.019737f, 0.042717f, -0.003951f, 0.010565f, 0.015144f, -0.035267f, 0.015314f, 0.034469f, -0.000029f, -0.040636f, -0.022267f, -0.030072f, -0.012812f, - -0.040735f, -0.039983f, 0.005245f, -0.031947f, 0.046625f, 0.014636f, -0.010521f, -0.033929f, -0.015825f, -0.011413f, 0.025233f, -0.008080f, -0.038534f, -0.032408f, 0.008373f, 0.007959f, 0.022491f, 0.008064f, -0.008319f, 0.009954f, -0.033589f, -0.103390f, 0.004534f, 0.124614f, -0.003445f, -0.091246f, -0.014554f, 0.059113f, 0.016777f, 0.009333f, -0.001478f, -0.039849f, -0.048989f, -0.029794f, 0.011391f, -0.003397f, -0.045309f, 0.016429f, -0.091320f, -0.016743f, 0.084921f, 0.024575f, 0.109185f, -0.014703f, -0.042856f, -0.013350f, -0.009442f, 0.028833f, 0.006501f, -0.001173f, -0.059312f, -0.030267f, -0.028295f, -0.004368f, 0.069145f, -0.009632f, -0.016746f, 0.022354f, 0.028078f, 0.004125f, -0.036609f, -0.057675f, -0.004033f, 0.022882f, -0.002444f, -0.028801f, -0.007189f, 0.015680f, -0.011970f, -0.011050f, -0.018683f, 0.034273f, 0.036619f, -0.018705f, -0.009553f, -0.017214f, 0.014927f, 0.021220f, -0.009935f, 0.002783f, -0.003778f, -0.003338f, -0.006783f, -0.027744f, 0.003057f, 0.015321f, -0.016586f, 0.003770f, -0.003973f, 0.000905f, -0.014859f, -0.005342f, -0.006248f, -0.010091f, -0.011282f, -0.011930f, - -0.003291f, 0.048622f, -0.024303f, -0.000043f, -0.009577f, 0.002358f, 0.027075f, -0.018625f, -0.002582f, -0.005572f, 0.008522f, -0.001602f, 0.007747f, -0.014386f, -0.043466f, -0.144075f, -0.222648f, 0.052580f, 0.199197f, 0.062936f, 0.487335f, 0.459138f, 0.204158f, 0.473425f, 0.199916f, -0.085743f, -0.001450f, -0.142278f, -0.389460f, -0.212535f, -0.203938f, -0.399048f, -0.290606f, -0.166801f, -0.251419f, -0.168959f, 0.036795f, -0.014571f, -0.080439f, 0.095412f, 0.089104f, -0.000280f, 0.095529f, 0.259364f, 0.108873f, 0.048941f, 0.248211f, 0.222169f, 0.074642f, 0.264646f, 0.323713f, -0.000399f, 0.191796f, 0.326423f, 0.123645f, 0.130573f, 0.332714f, 0.198857f, -0.026258f, 0.259746f, 0.182302f, -0.070655f, 0.102000f, 0.206641f, -0.092377f, -0.163751f, -0.036931f, -0.346229f, -0.581378f, -0.562785f, -0.625825f, -1.001163f, -0.866604f, -0.714855f, -0.926501f, -0.794308f, -0.510422f, -0.605018f, -0.462403f, -0.127851f, -0.041219f, 0.196039f, 0.364707f, 0.601206f, 0.805361f, 0.878531f, 1.024649f, 1.112921f, 1.039607f, 0.984758f, 1.044658f, 0.794838f, 0.630201f, 0.747654f, 0.407831f, 0.065353f, - 0.094300f, -0.150782f, -0.552081f, -0.463481f, -0.342922f, -0.494923f, -0.506161f, -0.315674f, -0.359377f, -0.453194f, -0.332161f, -0.302009f, -0.426365f, -0.382485f, -0.249414f, -0.317267f, -0.340820f, -0.111408f, -0.107194f, -0.201058f, -0.021011f, 0.076828f, -0.057459f, 0.011075f, 0.076245f, -0.108396f, -0.140318f, -0.133158f, -0.292070f, -0.322523f, -0.225787f, -0.169575f, -0.123568f, 0.042176f, 0.198250f, 0.269430f, 0.381636f, 0.489014f, 0.510608f, 0.541669f, 0.598986f, 0.568174f, 0.516499f, 0.537995f, 0.487169f, 0.362370f, 0.248538f, 0.065614f, -0.095832f, -0.246344f, -0.358785f, -0.402001f, -0.423595f, -0.377925f, -0.289551f, -0.253578f, -0.213733f, -0.174733f, -0.150843f, -0.132798f, -0.099567f, -0.077106f, -0.071037f, -0.069266f, -0.048308f, -0.036448f, -0.029099f, -0.010019f, 0.015241f, 0.037403f, 0.065362f, 0.067921f, 0.069838f, 0.080882f, 0.079856f, 0.065493f, 0.070450f, 0.058627f, 0.031073f, 0.002370f, -0.023895f, -0.051841f, -0.062418f, -0.074529f, -0.080097f, -0.074598f, -0.069211f, -0.067162f, -0.048053f, -0.037551f, -0.022755f, 0.000812f, 0.020000f, 0.029430f, 0.045250f, 0.054669f, - 0.061796f, 0.069901f, 0.072993f, 0.076221f, 0.079440f, 0.079974f, 0.079197f, 0.073877f, 0.072800f, 0.068840f, 0.064361f, 0.058132f, 0.055480f, 0.045431f, 0.034523f, 0.021070f, 0.010253f, -0.003795f, -0.016563f, -0.028435f, -0.041747f, -0.058530f, -0.069741f, -0.081732f, -0.088030f, -0.093575f, -0.095887f, -0.095957f, -0.091834f, -0.087888f, -0.079556f, -0.072243f, -0.060771f, -0.047624f, -0.029301f, -0.015284f, 0.004387f, 0.018734f, 0.032146f, 0.043768f, 0.054802f, 0.057732f, 0.062129f, 0.060813f, 0.056049f, 0.047775f, 0.041640f, 0.030406f, 0.021410f, 0.013442f, 0.008705f, 0.002013f, 0.000364f, -0.001457f, -0.001192f, -0.003004f, -0.001533f, -0.002295f, -0.001046f, -0.001842f, 0.000052f, -0.000701f}, - {-0.000954f, 0.020699f, -0.010223f, 0.000745f, -0.006068f, -0.000547f, 0.008860f, 0.004093f, 0.005588f, -0.004879f, 0.006904f, -0.007128f, 0.007742f, 0.003759f, 0.009315f, 0.003829f, -0.001676f, -0.010497f, 0.011294f, 0.007663f, 0.002924f, 0.001252f, 0.001122f, -0.004498f, -0.004994f, 0.005733f, 0.003634f, 0.003724f, 0.005648f, -0.005723f, -0.000355f, 0.005162f, 0.006268f, -0.000870f, -0.004540f, -0.008841f, 0.000110f, 0.001579f, -0.005230f, 0.001926f, 0.001490f, -0.007973f, -0.004203f, -0.000661f, 0.004097f, 0.000032f, -0.003781f, 0.007332f, 0.001453f, -0.002555f, -0.005396f, -0.001272f, 0.000722f, -0.010387f, 0.004843f, 0.006423f, -0.003522f, 0.008241f, 0.006861f, -0.001126f, 0.005687f, 0.003272f, 0.011049f, 0.003412f, 0.002123f, -0.001752f, 0.004203f, -0.008876f, 0.001204f, 0.004195f, -0.004311f, 0.004810f, 0.005913f, 0.006386f, 0.004072f, 0.008406f, -0.001749f, -0.005162f, -0.002599f, -0.002203f, 0.001182f, -0.001986f, -0.006497f, 0.003079f, -0.003033f, -0.003483f, -0.003918f, 0.001487f, 0.000057f, -0.002045f, -0.001529f, 0.002589f, 0.000256f, -0.000325f, -0.000642f, -0.000281f, - 0.001293f, 0.001734f, -0.000223f, -0.000122f, -0.001427f, 0.000400f, -0.002616f, 0.000241f, 0.001853f, 0.002359f, -0.001630f, -0.001809f, 0.000474f, 0.001536f, -0.001507f, -0.019649f, -0.013848f, -0.001901f, -0.008939f, -0.007535f, 0.003676f, -0.011165f, -0.010886f, 0.003175f, -0.004966f, -0.004340f, 0.004442f, -0.003485f, -0.007731f, -0.000779f, -0.000643f, -0.002111f, -0.003571f, -0.002016f, -0.008858f, -0.000494f, -0.006406f, -0.004535f, -0.000305f, 0.007916f, -0.001811f, 0.011415f, -0.005971f, 0.006879f, 0.007779f, -0.008757f, 0.003007f, -0.002182f, 0.001643f, -0.006187f, 0.003026f, 0.004080f, 0.005986f, -0.003062f, -0.007457f, -0.002529f, -0.004118f, 0.002410f, 0.002807f, -0.008923f, -0.001191f, -0.006115f, -0.005010f, 0.001724f, -0.007407f, -0.011723f, -0.002265f, 0.011587f, 0.002495f, 0.004079f, 0.000571f, 0.002691f, 0.001522f, 0.004286f, 0.004509f, 0.012988f, 0.000915f, -0.005724f, -0.007489f, -0.001566f, -0.003595f, -0.000927f, -0.015088f, 0.003146f, -0.001122f, 0.004828f, -0.002062f, 0.001361f, -0.003639f, -0.001735f, 0.014665f, 0.002977f, 0.013443f, -0.004556f, -0.002510f, 0.001054f, - 0.003789f, 0.001331f, 0.004527f, -0.004468f, 0.004920f, -0.005213f, -0.003292f, 0.002701f, 0.001893f, -0.000179f, 0.000190f, 0.000126f, -0.001179f, 0.000384f, -0.002042f, -0.000171f, -0.000731f, -0.000315f, 0.000831f, 0.001033f, -0.001149f, -0.001895f, -0.001225f, 0.000134f, 0.000033f, 0.000332f, 0.000591f, -0.000785f, -0.000911f, -0.000801f, 0.000166f, -0.000305f, 0.001059f, 0.016032f, 0.018470f, 0.014223f, 0.010549f, 0.014951f, 0.006057f, 0.006500f, -0.001368f, 0.004250f, 0.015725f, 0.001683f, 0.004793f, -0.005842f, -0.003903f, 0.012059f, -0.008094f, -0.014745f, 0.004457f, -0.012319f, 0.010629f, 0.002511f, 0.012755f, -0.004061f, -0.000809f, -0.003144f, 0.004186f, 0.005113f, -0.000188f, -0.012551f, -0.002598f, 0.010758f, -0.007168f, 0.004852f, 0.002836f, -0.002422f, -0.003104f, 0.011954f, 0.009001f, 0.020851f, 0.008333f, 0.001734f, 0.004981f, -0.001760f, 0.001254f, 0.006569f, 0.003902f, 0.017772f, -0.007624f, -0.005069f, 0.001223f, 0.004578f, -0.002813f, 0.008238f, -0.007731f, 0.001602f, -0.000524f, -0.005923f, 0.001825f, 0.001785f, -0.008047f, -0.010863f, -0.006742f, 0.008603f, - 0.004149f, 0.000037f, -0.000719f, 0.006493f, 0.000470f, 0.002153f, 0.011238f, 0.005556f, -0.002707f, -0.001793f, 0.009987f, -0.008681f, 0.001126f, -0.007826f, -0.003546f, -0.010115f, 0.002731f, -0.002106f, -0.006022f, -0.003929f, 0.005842f, 0.003618f, 0.001023f, 0.003447f, -0.005644f, -0.000944f, -0.000507f, 0.004351f, 0.000099f, 0.000310f, 0.000777f, 0.001299f, 0.003173f, 0.003591f, 0.002805f, 0.000219f, 0.001486f, 0.003250f, 0.000155f, -0.002956f, 0.002707f, -0.001500f, -0.000613f, 0.000665f, -0.000527f, 0.002388f, 0.002143f, 0.001088f, -0.000034f, -0.000830f, -0.000890f, 0.001026f, 0.001338f, 0.000499f, 0.002057f, -0.004222f, -0.002729f, 0.002115f, -0.000180f, -0.001664f, -0.000235f, 0.002257f, 0.000177f, -0.001557f, -0.001992f, 0.001330f, -0.001966f, 0.000168f, 0.034804f, -0.000607f, 0.017049f, -0.003081f, -0.002672f, 0.018306f, -0.017910f, -0.006188f, -0.001397f, 0.009052f, 0.006278f, -0.003818f, 0.003488f, 0.001710f, -0.016217f, 0.004122f, 0.008682f, 0.007727f, -0.018174f, -0.006372f, 0.002057f, -0.013015f, -0.003579f, 0.001020f, 0.000595f, 0.001797f, -0.001997f, 0.008329f, - -0.005865f, 0.006629f, 0.013639f, 0.013642f, -0.003948f, -0.007785f, -0.001387f, 0.015366f, -0.000869f, -0.000799f, 0.000124f, 0.001535f, -0.007959f, 0.001389f, 0.006466f, 0.000994f, 0.001543f, 0.006206f, -0.004082f, 0.004187f, 0.002429f, -0.001661f, 0.010799f, 0.001087f, 0.008589f, 0.001721f, -0.002860f, 0.003770f, 0.005747f, 0.004972f, -0.000235f, -0.008407f, -0.007663f, -0.010129f, -0.004509f, -0.000331f, 0.000026f, -0.001161f, 0.007571f, 0.006522f, -0.004896f, -0.009933f, 0.000337f, 0.005199f, 0.006240f, -0.006066f, -0.001117f, 0.005911f, -0.000509f, -0.000787f, 0.007840f, 0.003690f, 0.003726f, -0.002889f, -0.002496f, -0.000439f, 0.003392f, 0.005053f, 0.000134f, 0.003832f, 0.001390f, 0.000342f, 0.000755f, 0.001292f, 0.004698f, 0.003539f, 0.005286f, -0.002644f, 0.002504f, 0.000381f, 0.000685f, -0.000742f, 0.000570f, 0.000805f, 0.000254f, 0.000707f, -0.000841f, 0.002539f, 0.002490f, -0.002271f, 0.000629f, 0.001426f, 0.001573f, -0.000732f, 0.004894f, 0.001907f, -0.000706f, -0.009224f, -0.026090f, -0.006675f, -0.008922f, 0.001763f, 0.004195f, -0.004347f, -0.005335f, -0.048915f, - 0.000844f, 0.015791f, -0.011573f, -0.018286f, 0.013580f, -0.020706f, -0.003288f, -0.009251f, -0.011060f, -0.006756f, -0.007005f, 0.000752f, 0.008168f, -0.001517f, 0.004483f, -0.005298f, 0.006118f, -0.004815f, -0.007585f, 0.003259f, -0.002945f, -0.011728f, -0.015124f, 0.007132f, 0.000549f, 0.007038f, 0.001998f, 0.015772f, 0.002067f, 0.005451f, -0.007757f, -0.013184f, -0.003983f, -0.006564f, 0.012970f, -0.006171f, 0.000173f, 0.003373f, -0.006694f, 0.018332f, 0.012003f, 0.000217f, -0.014809f, -0.018619f, -0.006475f, 0.006131f, -0.016927f, -0.000472f, -0.008323f, -0.016001f, 0.001309f, -0.025026f, -0.005696f, -0.002716f, -0.009460f, 0.016729f, -0.001210f, -0.002707f, -0.000447f, 0.010453f, 0.013248f, 0.003968f, -0.013609f, -0.004414f, -0.003574f, 0.007168f, 0.003218f, 0.004084f, -0.007721f, -0.009697f, 0.007377f, 0.005069f, 0.001726f, 0.002463f, -0.000643f, 0.004235f, 0.001029f, 0.006419f, 0.001675f, 0.001435f, -0.000719f, -0.000272f, 0.000868f, 0.004107f, 0.005802f, 0.003583f, -0.001629f, 0.002297f, -0.007635f, 0.003776f, 0.004277f, -0.001336f, -0.000793f, 0.001285f, -0.001853f, -0.000556f, - -0.000581f, -0.002386f, -0.002582f, -0.001406f, -0.000879f, 0.001316f, 0.002798f, -0.000554f, -0.003611f, -0.000113f, -0.005031f, 0.001566f, 0.006506f, 0.002772f, 0.003774f, 0.002697f, 0.010251f, -0.027892f, -0.041458f, 0.005152f, -0.009610f, 0.009289f, -0.011744f, -0.020432f, 0.000321f, 0.018941f, 0.003663f, 0.011652f, 0.009047f, 0.007240f, 0.004393f, -0.006532f, 0.004856f, 0.012614f, -0.019829f, -0.009110f, -0.006729f, -0.004317f, 0.006996f, -0.001532f, 0.002277f, 0.013089f, 0.011129f, -0.004512f, -0.011273f, 0.002693f, -0.006401f, -0.004631f, -0.010934f, -0.007357f, -0.016547f, 0.004039f, -0.006310f, -0.000024f, 0.014322f, -0.002791f, 0.002586f, 0.003953f, -0.010611f, 0.008869f, 0.008456f, 0.012220f, -0.010811f, 0.019229f, -0.003305f, -0.013867f, -0.012003f, -0.015180f, 0.014062f, -0.005270f, -0.016437f, 0.005050f, -0.002689f, -0.011340f, 0.012009f, 0.016493f, -0.005841f, -0.013570f, 0.009970f, 0.003330f, 0.007777f, -0.001080f, 0.021854f, 0.013060f, -0.013040f, -0.006274f, -0.006249f, -0.004907f, 0.007178f, 0.010190f, 0.012898f, 0.000080f, 0.001554f, 0.005121f, -0.005368f, 0.004876f, - -0.001605f, 0.008550f, 0.011832f, -0.016190f, -0.007447f, -0.008115f, -0.005292f, -0.008294f, -0.000819f, -0.005853f, 0.002578f, -0.000272f, -0.000690f, -0.000644f, 0.002019f, -0.003959f, 0.010028f, -0.001226f, 0.004185f, 0.001581f, 0.001962f, -0.001948f, 0.000246f, 0.000316f, 0.000455f, -0.003403f, 0.000577f, -0.002204f, -0.003711f, -0.005343f, -0.001725f, -0.000295f, -0.001025f, 0.000225f, 0.000509f, -0.001070f, -0.000851f, -0.002001f, -0.001996f, 0.003215f, -0.000122f, 0.001088f, -0.002344f, -0.038719f, 0.000113f, -0.007143f, 0.002699f, -0.000203f, 0.014702f, 0.010547f, 0.015225f, -0.002574f, 0.020717f, -0.009686f, 0.014138f, 0.016999f, 0.003310f, 0.016945f, 0.003843f, 0.004318f, -0.004626f, -0.001860f, -0.007013f, 0.013416f, -0.000671f, -0.001651f, 0.019226f, 0.011404f, 0.000351f, 0.005029f, -0.001447f, -0.000744f, 0.012571f, -0.007188f, -0.012080f, -0.000112f, -0.001518f, 0.006196f, -0.034486f, 0.020755f, 0.022679f, 0.008784f, 0.004566f, 0.000504f, -0.010832f, -0.023212f, 0.015469f, -0.009406f, -0.010319f, -0.007127f, 0.013909f, -0.009739f, 0.008659f, 0.008505f, -0.008012f, -0.005519f, - -0.019766f, 0.009117f, -0.012785f, 0.007633f, 0.001494f, 0.006830f, 0.012347f, 0.019308f, 0.008524f, -0.009011f, -0.021107f, -0.003827f, 0.013259f, 0.021292f, 0.016249f, -0.003302f, -0.004021f, -0.013794f, -0.022610f, -0.002479f, 0.016014f, 0.006988f, 0.005204f, -0.005124f, 0.021185f, -0.000770f, 0.007275f, 0.001976f, -0.003835f, 0.001931f, -0.010478f, -0.005261f, -0.005189f, 0.003517f, -0.002465f, -0.007691f, -0.004286f, -0.005326f, -0.005487f, 0.002246f, -0.007902f, -0.003425f, 0.001797f, 0.001365f, 0.006522f, 0.000298f, 0.001127f, 0.001046f, -0.001470f, 0.005102f, -0.001380f, 0.005809f, 0.002351f, -0.001702f, -0.004243f, -0.000260f, 0.005878f, 0.003983f, -0.000463f, -0.005511f, -0.001199f, 0.004833f, 0.004601f, 0.000601f, -0.000740f, -0.000679f, -0.003071f, -0.002486f, 0.003870f, 0.014613f, 0.050579f, 0.027413f, -0.002267f, 0.004758f, 0.004669f, 0.011092f, 0.020126f, -0.002795f, 0.004125f, 0.033728f, 0.003662f, -0.001468f, 0.020568f, 0.014206f, -0.013815f, 0.008393f, 0.002274f, 0.013595f, 0.009581f, -0.023402f, 0.018076f, -0.010817f, -0.001296f, 0.002042f, 0.014212f, 0.002539f, - 0.004040f, 0.010658f, 0.012442f, -0.011575f, 0.012777f, 0.037312f, -0.006304f, 0.017012f, 0.017676f, -0.009217f, 0.013926f, 0.003666f, -0.008685f, -0.009650f, 0.006905f, -0.008618f, -0.022890f, -0.002940f, -0.000798f, 0.002444f, -0.029375f, -0.007182f, 0.009409f, -0.018704f, -0.012346f, -0.030846f, 0.010513f, 0.014288f, -0.020846f, -0.007474f, -0.009904f, 0.022442f, 0.000833f, -0.012735f, -0.008671f, -0.014189f, 0.007456f, 0.018794f, -0.013015f, 0.007286f, -0.005364f, 0.009098f, 0.021468f, 0.008963f, 0.016977f, 0.017026f, 0.021442f, 0.003305f, -0.011556f, -0.011763f, 0.008778f, 0.013468f, 0.002238f, 0.009072f, -0.009177f, 0.003861f, -0.000857f, -0.002874f, -0.009646f, 0.001437f, -0.004109f, 0.000642f, 0.008405f, 0.003499f, 0.003725f, 0.002811f, 0.009254f, -0.005476f, 0.000637f, -0.001425f, 0.002978f, -0.000977f, 0.000626f, 0.003895f, 0.001332f, -0.003076f, 0.005112f, -0.000972f, -0.006549f, 0.004355f, -0.004583f, -0.003856f, -0.004762f, -0.010238f, 0.005909f, -0.002284f, 0.005052f, -0.000463f, -0.000642f, 0.001468f, 0.008011f, 0.005257f, 0.007186f, 0.003280f, 0.000246f, 0.002901f, - 0.008236f, -0.003117f, 0.007466f, 0.052106f, 0.013675f, 0.002373f, -0.003177f, -0.007248f, 0.000139f, 0.009963f, -0.006476f, -0.011727f, -0.017925f, 0.001592f, 0.012491f, -0.015532f, 0.007587f, 0.010634f, -0.004626f, 0.035247f, 0.012198f, -0.008462f, -0.006150f, -0.002384f, 0.012397f, -0.004936f, -0.011844f, -0.012603f, 0.007875f, -0.027799f, 0.000821f, -0.007678f, -0.010411f, 0.009199f, 0.001819f, -0.010055f, -0.006511f, -0.009657f, 0.013827f, -0.004401f, -0.022363f, -0.002486f, 0.000351f, 0.001862f, -0.013036f, -0.017913f, 0.001555f, -0.003190f, -0.002615f, 0.006346f, -0.003994f, 0.017156f, 0.003352f, 0.010307f, -0.010985f, 0.024884f, 0.007025f, -0.012162f, 0.016204f, 0.031427f, -0.009116f, -0.007521f, 0.015867f, 0.014942f, 0.006017f, 0.009153f, -0.019425f, -0.004988f, -0.020989f, 0.006285f, 0.019424f, 0.008996f, -0.024580f, -0.004829f, 0.007620f, -0.024021f, -0.038018f, -0.003149f, 0.001126f, 0.010896f, 0.034297f, 0.002876f, -0.004034f, -0.010625f, -0.008258f, 0.005512f, 0.008613f, 0.007442f, -0.000641f, 0.003992f, 0.000226f, -0.007492f, 0.004606f, 0.006043f, -0.009794f, -0.009162f, - 0.010342f, -0.003403f, 0.006038f, 0.004754f, 0.002995f, -0.002545f, 0.002146f, -0.000180f, 0.003519f, 0.000956f, 0.005400f, 0.000217f, 0.004762f, 0.003461f, 0.000999f, -0.004416f, 0.010020f, 0.003270f, 0.009143f, -0.001894f, -0.003167f, 0.003408f, -0.006262f, -0.001018f, 0.004315f, -0.005785f, 0.001425f, 0.003378f, 0.001984f, 0.002213f, 0.004875f, -0.001935f, -0.009065f, -0.000116f, -0.001005f, -0.009551f, 0.001348f, -0.004016f, -0.001187f, 0.003815f, 0.003085f, 0.003458f, -0.040340f, 0.019022f, 0.053358f, -0.021890f, 0.037411f, -0.008388f, -0.008208f, -0.011659f, -0.019511f, 0.014465f, 0.000423f, 0.009897f, 0.009587f, -0.035050f, 0.000332f, 0.016400f, -0.014376f, -0.007478f, -0.022260f, 0.039192f, -0.024558f, 0.019358f, 0.018080f, -0.023262f, -0.009748f, -0.008096f, 0.016273f, -0.018608f, -0.007758f, 0.019007f, -0.003462f, -0.005051f, -0.009401f, 0.023170f, 0.003919f, -0.003720f, -0.009680f, 0.000635f, -0.017776f, 0.019100f, -0.002434f, 0.008796f, 0.047406f, 0.031953f, -0.027573f, -0.019365f, 0.007294f, -0.002455f, 0.019721f, -0.010927f, -0.016252f, -0.005695f, -0.030053f, -0.011512f, - -0.003742f, -0.022918f, -0.013307f, 0.050875f, 0.011930f, 0.000191f, -0.002707f, -0.000553f, 0.014758f, 0.017927f, -0.003996f, 0.017706f, 0.001202f, -0.009717f, 0.001693f, -0.027133f, -0.002270f, -0.025144f, -0.013809f, 0.015155f, 0.021968f, -0.033345f, 0.013294f, -0.008548f, -0.010826f, 0.016151f, -0.002612f, -0.015355f, -0.001124f, -0.006024f, -0.012278f, 0.006157f, 0.004208f, -0.008403f, -0.020952f, -0.009983f, -0.002330f, -0.001650f, 0.016103f, 0.004839f, 0.003836f, -0.008926f, -0.000102f, -0.003690f, 0.008518f, 0.009788f, -0.005495f, 0.004167f, 0.007151f, 0.008043f, 0.006091f, 0.009147f, -0.003885f, 0.000608f, -0.006561f, 0.000468f, -0.007602f, -0.003952f, 0.002560f, -0.002076f, -0.006184f, -0.001450f, 0.002900f, -0.009862f, -0.005080f, -0.005376f, -0.003194f, -0.003805f, -0.004708f, -0.000622f, 0.005282f, 0.000353f, -0.000689f, 0.006283f, -0.042888f, 0.007515f, 0.039322f, -0.010200f, -0.010332f, 0.008744f, -0.012519f, -0.009826f, 0.010924f, -0.001304f, -0.002465f, -0.000304f, -0.027087f, 0.045735f, -0.048674f, -0.004494f, -0.001352f, 0.016760f, 0.009742f, 0.000757f, -0.018630f, -0.013059f, - 0.005551f, 0.035740f, -0.003137f, -0.015534f, -0.010972f, -0.025101f, -0.001966f, -0.014683f, -0.012047f, -0.005054f, 0.007673f, -0.000698f, 0.000939f, -0.016959f, 0.003193f, 0.004995f, 0.010688f, 0.009236f, 0.010763f, -0.023073f, -0.000140f, -0.004602f, 0.015010f, 0.003998f, 0.030707f, 0.006823f, -0.007411f, 0.002867f, -0.017079f, 0.000003f, 0.013275f, 0.017575f, -0.026811f, -0.020480f, -0.002173f, 0.027851f, -0.043610f, 0.011520f, 0.049837f, 0.027661f, -0.013620f, 0.004760f, -0.027140f, 0.011484f, 0.024512f, -0.042208f, 0.009250f, -0.020497f, -0.006044f, -0.057269f, 0.000083f, -0.024050f, 0.022170f, 0.001679f, -0.026879f, 0.017871f, -0.001909f, -0.034267f, -0.004791f, -0.021618f, 0.013997f, -0.011981f, -0.018168f, 0.024613f, -0.004921f, 0.004484f, -0.008344f, -0.010462f, -0.003090f, 0.010607f, 0.007632f, -0.005725f, -0.001670f, 0.000597f, -0.006243f, 0.003960f, 0.005760f, 0.008811f, -0.008930f, 0.003613f, 0.004457f, -0.010221f, 0.000474f, 0.004735f, -0.007625f, 0.000888f, -0.004998f, 0.011667f, 0.005983f, 0.014163f, -0.006801f, -0.005047f, 0.004512f, -0.013147f, -0.001588f, -0.003645f, - -0.002262f, -0.000511f, 0.002663f, -0.007291f, 0.000317f, -0.000808f, 0.002454f, 0.002764f, 0.000312f, -0.007350f, -0.004486f, -0.011604f, -0.032339f, 0.051173f, 0.015053f, 0.026774f, -0.030132f, -0.033997f, -0.006023f, 0.008970f, -0.009196f, -0.004577f, 0.017456f, 0.004689f, 0.005625f, 0.015157f, -0.037387f, -0.004147f, 0.000804f, 0.009560f, -0.025901f, 0.003429f, 0.004774f, -0.018248f, -0.009748f, -0.025130f, -0.018563f, -0.000141f, 0.008395f, -0.020333f, 0.001850f, -0.009216f, -0.017743f, 0.007024f, 0.000285f, 0.014436f, -0.039611f, -0.041701f, 0.008977f, -0.003578f, 0.015978f, 0.034983f, 0.004202f, -0.022003f, 0.031554f, -0.015579f, -0.029104f, -0.022627f, -0.009401f, 0.002516f, -0.030925f, -0.012044f, 0.030911f, 0.041628f, 0.017797f, 0.011669f, 0.008911f, -0.004792f, 0.026739f, 0.015008f, -0.030742f, -0.016868f, 0.000378f, 0.003115f, 0.029245f, 0.018690f, 0.004856f, -0.004440f, -0.003397f, -0.014223f, 0.019479f, 0.015160f, 0.033725f, 0.007701f, 0.009962f, 0.004114f, 0.060406f, 0.006868f, 0.023518f, -0.024879f, 0.002336f, 0.022936f, -0.054381f, 0.004520f, 0.007404f, 0.015421f, - -0.005474f, 0.008225f, -0.006945f, -0.001798f, 0.009550f, -0.004477f, 0.029111f, -0.011559f, 0.017097f, -0.004411f, -0.010078f, -0.005447f, -0.010915f, 0.000372f, 0.004718f, 0.005734f, -0.002120f, -0.005532f, 0.012250f, -0.003560f, 0.008262f, -0.004238f, -0.004429f, -0.008745f, 0.009252f, 0.009950f, 0.002296f, 0.001002f, -0.007214f, -0.012723f, 0.006141f, -0.001061f, 0.000578f, 0.015240f, -0.004113f, 0.013358f, -0.001893f, 0.007828f, 0.005430f, 0.010300f, 0.002470f, -0.009431f, -0.001645f, 0.034806f, 0.001997f, 0.043176f, -0.001846f, -0.019648f, -0.022012f, -0.040296f, 0.006993f, -0.016967f, -0.001554f, 0.003511f, 0.014084f, 0.021207f, 0.035309f, 0.037093f, -0.006177f, 0.033022f, -0.002902f, -0.002836f, 0.012024f, 0.027827f, 0.011649f, 0.007805f, -0.044695f, -0.022691f, -0.036431f, 0.018253f, 0.035586f, 0.007019f, -0.016023f, 0.025182f, 0.035696f, -0.004875f, 0.005159f, -0.008448f, 0.029939f, 0.025700f, 0.021346f, -0.012890f, -0.023379f, -0.003637f, -0.006404f, -0.051012f, 0.008448f, 0.006989f, 0.004094f, -0.012966f, -0.007226f, -0.056893f, -0.020590f, -0.051639f, -0.009494f, -0.038672f, - -0.020500f, 0.037307f, 0.009446f, 0.039303f, 0.002162f, -0.032173f, -0.016101f, -0.033479f, -0.064411f, 0.009036f, -0.039972f, -0.011530f, 0.037295f, 0.015749f, 0.014415f, 0.003116f, -0.007591f, -0.002756f, 0.007012f, -0.027537f, 0.021690f, -0.046981f, -0.048829f, -0.002685f, -0.004510f, -0.006048f, -0.035958f, -0.008089f, 0.046718f, -0.002567f, 0.002603f, -0.012548f, -0.041022f, 0.020706f, -0.027673f, -0.010763f, -0.027545f, -0.016873f, -0.013011f, -0.008708f, -0.010084f, -0.006069f, 0.000403f, 0.004835f, -0.025769f, -0.011003f, 0.004709f, 0.004573f, 0.014076f, 0.006683f, -0.008697f, -0.010767f, 0.009135f, -0.017266f, -0.002802f, 0.005342f, -0.013406f, 0.004192f, 0.003850f, 0.009618f, -0.009205f, -0.003148f, -0.004984f, -0.000702f, 0.006239f, -0.003783f, -0.000716f, -0.005076f, 0.010021f, 0.014046f, -0.004769f, -0.002265f, 0.003661f, 0.004717f, 0.008702f, 0.012447f, 0.002167f, -0.002119f, -0.003114f, -0.002954f, 0.020217f, 0.040583f, 0.035414f, 0.038053f, -0.021914f, -0.038278f, 0.029445f, -0.017427f, 0.030431f, 0.009079f, -0.048766f, 0.012256f, 0.009137f, -0.055009f, 0.029592f, -0.025078f, - -0.025542f, 0.014981f, 0.016767f, 0.002614f, 0.019895f, 0.001491f, 0.001033f, -0.012905f, -0.007404f, 0.012062f, -0.007594f, -0.018861f, 0.001307f, -0.035433f, 0.012845f, -0.045041f, -0.027337f, 0.001673f, 0.017914f, -0.006149f, -0.018578f, 0.006985f, 0.014140f, 0.010488f, 0.000873f, 0.036273f, -0.083329f, -0.018934f, -0.022787f, -0.027695f, 0.036221f, -0.029167f, -0.003939f, -0.067256f, -0.018764f, -0.007992f, 0.003558f, 0.044843f, -0.010768f, 0.005668f, -0.027028f, 0.022741f, -0.033641f, -0.021830f, 0.017568f, -0.078094f, 0.011423f, 0.041730f, 0.054270f, 0.041399f, 0.026277f, 0.060954f, 0.033730f, -0.000739f, -0.015018f, -0.015662f, -0.023517f, -0.052578f, -0.005635f, 0.004901f, -0.074278f, -0.029430f, -0.022409f, -0.016794f, 0.023868f, 0.062268f, 0.072833f, 0.048179f, -0.024345f, 0.019867f, -0.015667f, -0.003428f, 0.016552f, 0.011182f, -0.006268f, 0.003919f, 0.005503f, -0.001467f, 0.002588f, -0.011460f, 0.006632f, 0.020411f, -0.009526f, 0.002708f, -0.017933f, 0.004410f, -0.008354f, -0.001249f, -0.000798f, 0.015757f, 0.028067f, -0.010060f, 0.001846f, 0.006781f, 0.011488f, -0.016955f, - -0.026095f, 0.000466f, 0.020489f, 0.005894f, -0.016607f, 0.015614f, 0.008336f, -0.017015f, 0.012003f, 0.007563f, -0.006427f, -0.005252f, -0.001705f, -0.003216f, 0.003185f, 0.006311f, -0.005844f, 0.011379f, -0.071693f, 0.000222f, 0.011847f, 0.050335f, -0.016427f, 0.023352f, 0.021038f, 0.011270f, 0.011465f, -0.078123f, 0.061695f, 0.033816f, 0.076465f, 0.028268f, -0.003357f, -0.028262f, -0.018081f, -0.017628f, -0.027739f, 0.019967f, 0.014532f, -0.027959f, -0.032013f, 0.017111f, 0.022951f, 0.040166f, 0.011198f, -0.024626f, -0.037078f, 0.008065f, 0.006286f, 0.002773f, 0.004458f, 0.071193f, 0.024032f, 0.013787f, 0.023382f, 0.025905f, 0.028908f, 0.000896f, -0.045019f, 0.031933f, 0.099018f, -0.009879f, -0.027567f, -0.060013f, -0.012942f, 0.080078f, 0.009345f, 0.033285f, 0.011076f, -0.110125f, 0.022787f, 0.020069f, 0.002338f, 0.011604f, -0.007702f, 0.001956f, 0.022544f, -0.059155f, -0.024638f, 0.050696f, 0.018738f, 0.007187f, -0.044710f, 0.032250f, 0.011895f, -0.040038f, -0.043730f, -0.029090f, 0.040115f, 0.083633f, 0.077604f, 0.085735f, 0.086702f, 0.003760f, -0.038541f, -0.031431f, - -0.075711f, -0.024524f, 0.024020f, -0.061158f, -0.000480f, -0.049768f, 0.000754f, 0.067685f, 0.026333f, 0.028094f, 0.033532f, 0.021233f, -0.020446f, -0.006463f, -0.025231f, 0.036983f, -0.022039f, -0.019162f, 0.006718f, -0.003861f, -0.013058f, -0.023817f, -0.006918f, 0.025345f, 0.023623f, -0.010559f, 0.036467f, -0.001269f, 0.001059f, -0.016046f, 0.005504f, 0.019203f, -0.004598f, -0.013837f, -0.013717f, 0.009818f, -0.007521f, 0.020959f, 0.013090f, 0.017068f, 0.024377f, -0.024214f, 0.006455f, 0.002635f, 0.011273f, -0.004634f, -0.010401f, 0.022294f, 0.005398f, 0.018299f, -0.009415f, 0.007021f, -0.014351f, -0.004258f, -0.022145f, 0.035455f, 0.072223f, -0.146364f, -0.051625f, 0.011430f, -0.085498f, -0.078421f, -0.033924f, -0.047623f, 0.005456f, -0.035068f, 0.092798f, -0.009868f, -0.032831f, -0.013320f, -0.070957f, -0.019678f, -0.057242f, -0.023860f, 0.010091f, -0.073901f, -0.012301f, 0.057238f, -0.047846f, -0.013801f, 0.016611f, -0.000284f, 0.024001f, 0.005011f, 0.000205f, 0.021349f, 0.008048f, -0.036720f, -0.006748f, 0.032686f, -0.016387f, -0.045737f, -0.014884f, -0.055464f, -0.027161f, -0.097158f, - 0.009639f, -0.066185f, 0.032129f, 0.011820f, -0.024093f, -0.085705f, 0.008123f, -0.009133f, 0.105803f, 0.041969f, 0.002151f, 0.057308f, 0.025054f, 0.000529f, 0.046809f, -0.054974f, -0.025931f, 0.004107f, 0.041427f, -0.045537f, -0.027445f, 0.153081f, -0.014442f, 0.079291f, -0.061634f, -0.000151f, -0.043980f, 0.033277f, -0.015496f, 0.051912f, 0.081693f, 0.002165f, -0.057682f, 0.049528f, -0.061466f, -0.027954f, 0.020778f, -0.063878f, -0.042670f, -0.020369f, 0.046424f, 0.088565f, -0.105375f, 0.088790f, 0.017777f, 0.025959f, 0.009810f, 0.012465f, 0.009463f, -0.013113f, 0.016050f, 0.045995f, -0.023258f, 0.008074f, -0.004519f, 0.006009f, -0.049921f, -0.008963f, -0.015301f, 0.015055f, 0.015391f, 0.049139f, -0.030706f, -0.017790f, -0.023943f, 0.034098f, -0.043589f, 0.010491f, 0.016023f, 0.014794f, 0.016157f, -0.071737f, -0.017135f, 0.025879f, -0.012404f, -0.030653f, -0.004088f, 0.008475f, 0.001750f, 0.030418f, 0.015325f, 0.024150f, -0.024253f, -0.021534f, 0.024389f, 0.007216f, 0.016360f, -0.016141f, 0.016456f, 0.011327f, 0.003023f, 0.006200f, -0.006903f, -0.007429f, 0.000203f, -0.035444f, - -0.034522f, -0.055146f, 0.114124f, -0.065505f, 0.041905f, 0.037602f, -0.059544f, 0.032738f, 0.017873f, 0.012987f, -0.010638f, 0.045289f, 0.023271f, -0.057281f, 0.040686f, 0.047566f, 0.009176f, 0.008203f, 0.028638f, -0.000578f, -0.057141f, 0.074413f, -0.042404f, 0.016983f, -0.031535f, -0.007077f, 0.009325f, -0.013706f, 0.060492f, 0.013805f, -0.007994f, -0.014332f, -0.003159f, 0.012076f, -0.061560f, 0.019752f, -0.031904f, -0.021329f, -0.014758f, 0.000106f, -0.030187f, -0.014113f, 0.007367f, 0.064190f, 0.000719f, -0.013125f, -0.040692f, 0.017305f, 0.011289f, 0.002193f, 0.049657f, -0.011756f, -0.005115f, 0.059340f, 0.018622f, 0.003771f, -0.056880f, -0.029456f, 0.036825f, 0.020911f, -0.053266f, 0.002071f, -0.121144f, -0.059665f, 0.108781f, -0.025074f, 0.058894f, 0.077424f, 0.022022f, 0.013525f, 0.034983f, -0.014439f, -0.042446f, 0.023314f, 0.007303f, -0.002305f, 0.049184f, 0.032364f, -0.035083f, -0.084145f, -0.017364f, 0.034997f, 0.011155f, -0.001525f, 0.027614f, -0.031434f, 0.047662f, -0.022702f, 0.017959f, 0.022747f, 0.009912f, 0.033185f, 0.024927f, 0.040124f, 0.004700f, -0.009614f, - 0.014522f, 0.038970f, -0.009806f, 0.034234f, 0.020351f, -0.020953f, 0.007011f, 0.018593f, 0.012253f, 0.008157f, 0.024318f, 0.020984f, 0.009090f, 0.041057f, -0.012459f, 0.005558f, -0.005512f, -0.001586f, -0.009925f, 0.036694f, 0.029761f, 0.024763f, -0.010850f, 0.005702f, 0.042296f, -0.009691f, 0.031089f, 0.028970f, 0.000371f, 0.049568f, -0.043260f, 0.007638f, 0.066368f, 0.010058f, 0.019016f, -0.012045f, 0.046793f, 0.010784f, 0.017937f, 0.064899f, -0.020058f, -0.108345f, 0.018400f, -0.013024f, 0.037312f, 0.011459f, -0.036766f, 0.019094f, 0.022365f, -0.041848f, -0.046002f, -0.030745f, -0.076804f, -0.077255f, 0.053209f, -0.012274f, -0.079413f, -0.024306f, 0.008167f, 0.026337f, 0.025193f, -0.048608f, -0.052719f, 0.005240f, 0.073460f, -0.035059f, 0.028388f, -0.049341f, 0.017615f, -0.055670f, 0.036356f, 0.038363f, -0.027251f, -0.057293f, -0.039383f, -0.006334f, 0.022591f, -0.024557f, -0.016139f, -0.020435f, -0.072867f, -0.062994f, 0.033164f, -0.052876f, -0.010717f, 0.018930f, -0.043602f, -0.070538f, 0.027084f, 0.037116f, -0.004596f, -0.084932f, 0.038169f, 0.033426f, 0.107653f, 0.000566f, - 0.028393f, 0.021113f, -0.045730f, 0.017652f, -0.014072f, -0.092839f, -0.014017f, 0.056857f, 0.013745f, -0.046939f, -0.116340f, 0.073688f, 0.094367f, -0.027928f, 0.076397f, 0.088645f, 0.004863f, 0.004052f, 0.070334f, -0.045320f, 0.003854f, 0.117307f, -0.086102f, 0.050307f, -0.073681f, -0.020318f, -0.005620f, 0.050513f, -0.016710f, 0.007339f, 0.028793f, -0.000893f, -0.065065f, 0.072203f, -0.012584f, -0.008495f, 0.011654f, 0.030125f, -0.048693f, 0.021538f, 0.013308f, -0.007489f, 0.015683f, 0.017493f, -0.044975f, -0.006269f, 0.011393f, 0.023906f, 0.050653f, -0.004323f, -0.042937f, 0.022117f, 0.052055f, -0.040884f, 0.050842f, -0.023828f, -0.004350f, -0.017758f, 0.057317f, -0.039159f, 0.014414f, 0.034927f, -0.023219f, 0.008550f, 0.007381f, -0.032773f, 0.008333f, 0.013653f, -0.004877f, -0.025034f, 0.017386f, 0.020022f, -0.010032f, 0.040196f, -0.059644f, 0.014550f, 0.019417f, 0.000272f, 0.005335f, 0.007739f, 0.042462f, -0.009890f, 0.023998f, -0.049260f, -0.154113f, 0.041315f, -0.017463f, 0.114931f, -0.039346f, -0.025839f, -0.046004f, -0.132692f, 0.060781f, -0.077544f, -0.044748f, 0.001840f, - 0.000115f, 0.101449f, -0.072701f, -0.051613f, 0.067397f, 0.039435f, 0.035238f, -0.013217f, 0.033663f, -0.024208f, -0.033439f, -0.031538f, 0.078936f, 0.064924f, 0.102556f, -0.033169f, -0.038176f, 0.001215f, -0.006628f, 0.036990f, -0.061529f, 0.012604f, -0.064692f, 0.033994f, 0.063648f, 0.021185f, -0.052264f, 0.035027f, -0.046080f, 0.103253f, 0.052960f, 0.014042f, 0.014037f, -0.016731f, -0.081462f, 0.045364f, -0.110527f, 0.022391f, 0.020590f, 0.053298f, 0.042861f, -0.096214f, 0.028783f, -0.060888f, -0.035733f, 0.025258f, -0.009519f, 0.034878f, 0.022778f, -0.088078f, 0.035629f, 0.079425f, 0.105973f, -0.031563f, 0.031257f, -0.044105f, 0.074332f, -0.106545f, -0.005683f, -0.020089f, 0.033275f, 0.068719f, 0.099766f, -0.080813f, 0.019780f, -0.107863f, 0.068631f, 0.140092f, -0.035973f, -0.096955f, -0.007910f, -0.073353f, 0.092366f, 0.022584f, -0.047478f, -0.014292f, 0.005148f, -0.016763f, 0.065860f, 0.023950f, -0.037622f, 0.034618f, -0.053178f, 0.002474f, 0.049320f, -0.011343f, -0.061284f, 0.066592f, -0.097612f, 0.027186f, -0.015037f, 0.037860f, -0.002821f, 0.023117f, -0.022817f, -0.013055f, - 0.009488f, 0.007479f, 0.009893f, 0.045063f, -0.047648f, -0.040746f, 0.001731f, 0.009543f, -0.011395f, -0.050348f, -0.036518f, 0.070967f, 0.018909f, -0.033198f, -0.037518f, -0.083459f, 0.097950f, 0.075958f, -0.030638f, -0.027597f, -0.058093f, 0.000976f, 0.072972f, 0.012913f, -0.031589f, -0.012305f, -0.017051f, 0.010671f, 0.007223f, 0.002750f, -0.009652f, -0.004782f, 0.013175f, -0.002107f, -0.008152f, -0.006271f, 0.008538f, 0.002639f, 0.017621f, -0.008726f, -0.122982f, 0.088276f, -0.012829f, -0.001817f, 0.027245f, 0.025742f, 0.032744f, 0.011095f, 0.015229f, -0.041177f, 0.039001f, 0.012605f, -0.045060f, 0.030890f, -0.018823f, 0.000795f, 0.038098f, 0.024416f, -0.063475f, 0.036302f, -0.030821f, 0.053109f, -0.039084f, 0.014541f, -0.020695f, 0.025503f, -0.019794f, 0.012518f, -0.028752f, 0.060860f, -0.006728f, 0.003087f, 0.016207f, 0.021376f, -0.031547f, -0.004804f, 0.012121f, 0.021273f, 0.016637f, -0.019422f, 0.006083f, 0.002329f, -0.061785f, -0.003559f, 0.014216f, 0.023658f, 0.008228f, 0.015688f, -0.055726f, 0.010104f, -0.004584f, 0.006936f, 0.011069f, -0.009288f, 0.010389f, 0.010518f, - 0.003698f, -0.011666f, -0.013687f, -0.002725f, 0.061432f, -0.020633f, 0.011085f, 0.024831f, -0.014587f, 0.023703f, -0.026695f, 0.022900f, 0.009692f, -0.015440f, -0.026857f, 0.017466f, -0.017062f, 0.014022f, -0.024311f, -0.018249f, -0.010507f, 0.030381f, -0.008924f, 0.004282f, 0.004294f, -0.000583f, 0.005387f, -0.021366f, 0.015806f, -0.013243f, 0.036508f, -0.033850f, 0.014993f, -0.019571f, 0.017364f, -0.015695f, 0.013564f, 0.001976f, 0.024116f, -0.020694f, 0.010402f, -0.009817f, -0.000326f, 0.006125f, 0.013518f, -0.014393f, 0.002077f, -0.015647f, 0.022710f, -0.018851f, -0.007413f, 0.013979f, 0.003310f, -0.008351f, -0.004726f, 0.015602f, 0.007441f, -0.032074f, 0.017057f, 0.003347f, -0.001621f, -0.001870f, 0.004982f, -0.002506f, 0.001740f, -0.000892f, 0.002496f, 0.002865f, 0.006901f, -0.007792f, 0.022192f, -0.028883f, 0.007917f, -0.003747f, 0.004716f, -0.003973f, 0.006904f, -0.002484f, -0.005572f, -0.001047f, 0.002558f, -0.006404f, 0.096551f, -0.006951f, -0.031274f, -0.047667f, -0.021679f, -0.026752f, 0.035031f, 0.020274f, -0.025469f, 0.002138f, 0.003004f, 0.011460f, 0.001575f, 0.024275f, - 0.008378f, 0.019125f, -0.006546f, -0.000667f, -0.005726f, 0.008979f, 0.020720f, -0.019205f, -0.000112f, -0.009491f, 0.000688f, 0.025278f, -0.014310f, 0.002492f, -0.006458f, 0.009981f, 0.005153f, -0.013818f, -0.005117f, 0.014900f, -0.004546f, 0.024273f, 0.017260f, -0.025245f, 0.008130f, 0.005407f, 0.013293f, 0.005656f, -0.023873f, 0.016227f, -0.004446f, 0.015785f, 0.012618f, -0.028478f, 0.007861f, 0.000141f, 0.006459f, -0.003125f, -0.012496f, 0.020405f, -0.004962f, 0.009298f, 0.000527f, -0.006043f, 0.009460f, -0.012077f, -0.001661f, 0.017038f, -0.011611f, -0.013914f, 0.028330f, -0.018184f, 0.026434f, -0.002669f, -0.021318f, 0.043811f, -0.040095f, 0.034993f, -0.012320f, -0.020835f, 0.022174f, -0.020465f, 0.006155f, 0.007218f, -0.020052f, 0.017037f, -0.003556f, -0.001198f, 0.010887f, -0.013887f, 0.018375f, -0.005827f, -0.001335f, 0.004619f, -0.003048f, 0.006541f, -0.002988f, 0.001149f, 0.005419f, -0.005038f, 0.008619f, -0.000879f, -0.004779f, 0.010623f, -0.016195f, 0.008777f, -0.007153f, -0.003215f, 0.010242f, 0.000981f, -0.002968f, 0.005404f, -0.003771f, 0.005370f, 0.002764f, -0.007403f, - 0.005153f, 0.001172f, -0.001613f, -0.001137f, 0.004669f, 0.001136f, 0.008536f, -0.006489f, 0.002506f, 0.001245f, -0.004654f, 0.009510f, -0.002594f, -0.001312f, -0.047122f, -0.081326f, 0.102538f, 0.293023f, 0.046526f, 0.028233f, -0.214187f, -0.265198f, -0.084763f, -0.052282f, 0.179418f, 0.273242f, 0.140851f, 0.040587f, -0.091882f, -0.198013f, -0.180304f, -0.151328f, 0.012099f, 0.226335f, 0.189584f, 0.108461f, 0.037019f, -0.097119f, -0.125606f, -0.100042f, -0.096398f, -0.034219f, 0.045897f, 0.062733f, 0.130236f, 0.092981f, 0.022717f, -0.031725f, -0.018452f, -0.104910f, -0.050775f, -0.053101f, -0.071589f, 0.042515f, 0.080569f, 0.046362f, 0.117241f, 0.030946f, -0.027708f, -0.045164f, -0.077768f, -0.061710f, -0.009531f, -0.019194f, 0.024021f, 0.048310f, 0.043292f, 0.030700f, 0.021125f, -0.010811f, -0.042651f, -0.030389f, -0.035454f, 0.011301f, 0.041589f, 0.013535f, 0.010299f, -0.018155f, -0.037085f, -0.007103f, 0.000019f, -0.000685f, 0.030232f, 0.026841f, 0.030303f, 0.011781f, -0.010297f, -0.032506f, -0.046784f, -0.048126f, -0.031106f, 0.033127f, 0.049345f, 0.060946f, 0.042347f, -0.010763f, - -0.023779f, -0.025482f, -0.050154f, -0.022333f, 0.018449f, 0.009528f, 0.009211f, 0.014523f, 0.007145f, 0.005488f, -0.007680f, -0.010217f, 0.008039f, 0.017327f, -0.000261f, -0.001640f, -0.011915f, -0.016664f, -0.008490f, -0.010173f, -0.005797f, 0.012815f, -0.002176f, 0.026946f, 0.033529f, 0.019200f, -0.011469f, -0.019109f, -0.021174f, -0.027010f, -0.019549f, -0.026730f, 0.014346f, 0.036550f, 0.033558f, 0.019688f, 0.021001f, 0.007795f, -0.020441f, -0.040296f, -0.041004f, -0.020998f, -0.004134f, 0.012899f, 0.029410f, 0.042917f, 0.035411f, 0.006545f, -0.022610f, -0.037963f, -0.027636f, -0.009309f, 0.000387f, 0.010261f, 0.006716f, 0.016136f, 0.020883f, 0.006060f, -0.008865f, -0.012353f, -0.006770f, -0.005210f, -0.004869f, -0.001509f, 0.001596f, 0.009558f, 0.005944f, 0.000578f, -0.000013f, -0.000696f, -0.001803f, -0.004511f, -0.005096f, 0.001651f, 0.004175f, 0.003005f, -0.000597f, -0.000200f, -0.000484f, -0.001450f, -0.001671f, 0.000885f, 0.000816f, 0.001355f, 0.000434f, 0.000663f, -0.000866f, -0.001098f, -0.001964f, -0.001196f, 0.000459f, 0.002399f, 0.000524f, 0.000965f, 0.000888f, 0.000245f, - -0.001230f, 0.000034f, -0.001264f, -0.003466f, -0.002313f, 0.002285f, 0.002697f, 0.002803f, 0.001418f, 0.000071f, -0.001845f, -0.000753f, -0.001186f, -0.000624f, -0.001124f, 0.000488f, 0.000088f, 0.000409f, 0.000176f, 0.001377f, 0.000678f, 0.001324f, 0.000109f, -0.000157f, -0.001257f, -0.000988f, -0.001963f, -0.000887f, -0.000457f, 0.001530f, 0.001305f, 0.002338f, 0.001127f, 0.000381f, -0.001815f, -0.001547f, -0.001721f, -0.000452f, -0.000506f, 0.001346f, 0.000977f, 0.001087f, -0.000128f, 0.000181f, -0.000648f, 0.000102f, -0.000526f, 0.000231f, -0.000476f, 0.000301f, -0.000307f, 0.000406f, -0.000371f, 0.000328f, -0.000273f, 0.000509f, -0.000267f, 0.000360f, -0.000348f, 0.000312f, -0.000413f, 0.000339f} - }, - { - {-0.005310f, 0.020334f, 0.002407f, 0.005499f, 0.001980f, 0.002893f, -0.004877f, -0.012321f, -0.002343f, 0.006498f, 0.002356f, -0.006101f, -0.000821f, 0.004970f, -0.001248f, -0.007342f, 0.002250f, -0.008460f, -0.005203f, -0.000265f, 0.002366f, -0.002406f, -0.001870f, 0.005242f, -0.007252f, -0.000174f, 0.000968f, 0.003529f, 0.002840f, 0.002687f, 0.008955f, 0.004027f, -0.011033f, -0.002821f, -0.004991f, 0.001407f, -0.000242f, -0.000832f, -0.006929f, -0.009085f, 0.012090f, -0.005552f, 0.002992f, 0.003514f, 0.003067f, -0.011420f, -0.006448f, -0.002984f, 0.001310f, -0.000885f, -0.000307f, -0.001038f, 0.001978f, 0.004371f, -0.005924f, -0.000001f, 0.003257f, 0.003743f, 0.004505f, 0.001654f, 0.000138f, 0.004325f, 0.001586f, -0.001854f, -0.000492f, 0.007013f, -0.005134f, -0.005476f, -0.002905f, -0.002186f, 0.006037f, 0.003551f, 0.001485f, -0.002213f, 0.005822f, -0.002549f, 0.003048f, -0.006790f, -0.000585f, 0.000545f, 0.001481f, 0.001434f, -0.005432f, 0.001510f, 0.003958f, 0.001981f, 0.000727f, -0.000471f, 0.005161f, 0.002451f, -0.000443f, 0.003290f, 0.002011f, 0.000876f, -0.000674f, 0.001124f, - 0.000951f, 0.000741f, -0.000896f, 0.001274f, 0.000426f, -0.000989f, -0.000737f, 0.001801f, 0.000467f, -0.000133f, 0.000101f, 0.000111f, 0.000377f, -0.001602f, 0.001260f, -0.000416f, 0.001008f, -0.001246f, -0.011505f, -0.007043f, 0.005003f, -0.011399f, -0.015943f, 0.003040f, 0.001446f, 0.001901f, 0.002410f, 0.002179f, -0.013698f, -0.002325f, 0.004065f, -0.008807f, 0.009239f, 0.008840f, 0.007718f, -0.003173f, 0.000768f, 0.001992f, 0.005925f, 0.001257f, -0.000136f, 0.001073f, -0.003921f, 0.003617f, -0.001377f, -0.001533f, -0.001812f, 0.011229f, -0.006688f, 0.003832f, -0.004201f, -0.003752f, -0.003767f, 0.002917f, 0.006244f, -0.006687f, -0.003235f, -0.003663f, 0.004584f, 0.004176f, 0.006934f, 0.004587f, 0.000973f, 0.005939f, -0.005080f, 0.003534f, 0.001430f, 0.001484f, 0.012675f, 0.002895f, 0.006292f, -0.010452f, -0.002748f, 0.004181f, -0.005135f, 0.004823f, -0.002193f, -0.003906f, 0.001397f, 0.007481f, 0.005154f, 0.003399f, -0.001809f, 0.001455f, 0.005689f, -0.006928f, 0.009055f, -0.001326f, 0.007427f, -0.003099f, 0.006134f, 0.007176f, 0.006166f, -0.003522f, -0.009051f, -0.013517f, - -0.009026f, 0.000774f, -0.004719f, 0.008760f, 0.001505f, 0.001285f, 0.002405f, -0.006430f, -0.001926f, -0.002950f, 0.003214f, -0.001818f, -0.001187f, 0.003797f, -0.004739f, -0.001792f, 0.001916f, -0.002755f, 0.000247f, -0.003064f, -0.002335f, -0.001982f, -0.000506f, 0.001738f, 0.000529f, 0.000219f, -0.003225f, 0.019527f, 0.013901f, 0.011525f, 0.009453f, 0.010813f, 0.004457f, -0.000778f, -0.000319f, -0.003921f, -0.001273f, 0.014199f, -0.006253f, -0.006293f, 0.009666f, 0.007302f, 0.009288f, -0.006494f, 0.002749f, -0.002419f, 0.002027f, 0.004235f, 0.005761f, 0.000913f, -0.004368f, -0.003121f, -0.005595f, -0.001912f, -0.003496f, -0.009973f, -0.001315f, 0.008490f, -0.006671f, -0.001095f, 0.003019f, -0.005119f, -0.004782f, 0.004819f, -0.002684f, -0.006652f, -0.003695f, 0.003857f, -0.005829f, -0.007326f, -0.003469f, -0.002149f, 0.002375f, -0.005102f, -0.010762f, 0.000791f, -0.001868f, -0.001457f, 0.002971f, -0.008709f, -0.004372f, 0.000192f, -0.003764f, 0.004849f, -0.001340f, 0.002109f, -0.015805f, -0.004729f, 0.008770f, -0.003472f, -0.008753f, 0.002601f, 0.001420f, 0.002459f, -0.003329f, -0.012423f, - -0.005763f, 0.014026f, 0.000840f, 0.005183f, 0.002849f, -0.001993f, 0.004155f, 0.005854f, 0.002339f, -0.002882f, -0.006816f, 0.000002f, 0.001555f, -0.005061f, 0.002181f, -0.006566f, -0.000790f, -0.004184f, -0.002168f, -0.005545f, -0.001174f, -0.003167f, -0.004148f, -0.003106f, 0.000497f, -0.001381f, 0.000598f, -0.001517f, 0.000435f, -0.002802f, 0.001885f, 0.001074f, -0.000889f, -0.000519f, 0.002486f, -0.000068f, -0.001058f, -0.002499f, -0.001400f, -0.001141f, -0.000310f, 0.000225f, -0.000060f, -0.002886f, 0.027487f, 0.017047f, 0.015943f, 0.000396f, 0.001516f, 0.001393f, -0.006654f, -0.014492f, -0.005596f, 0.011139f, -0.008411f, 0.005106f, 0.014832f, 0.001317f, -0.004794f, -0.001750f, -0.003087f, -0.001465f, 0.005963f, 0.008686f, 0.000245f, 0.002642f, 0.003439f, 0.005703f, 0.000280f, -0.007730f, 0.002365f, -0.012528f, -0.003861f, -0.001484f, -0.003566f, -0.002183f, 0.001528f, -0.002912f, -0.006681f, -0.005059f, -0.002432f, 0.000659f, -0.002889f, -0.007556f, 0.009077f, -0.003311f, 0.000629f, -0.002261f, -0.006009f, 0.007591f, 0.020800f, 0.005122f, -0.007273f, 0.012415f, 0.002793f, -0.003704f, - 0.003730f, -0.002044f, -0.008044f, 0.000121f, -0.003383f, 0.003193f, -0.006969f, -0.011954f, 0.000458f, 0.002079f, -0.014612f, 0.004439f, 0.003006f, 0.008233f, 0.004620f, 0.010855f, -0.003663f, -0.007200f, -0.004283f, -0.002189f, 0.005241f, -0.001846f, -0.009392f, 0.006474f, -0.004583f, -0.008463f, 0.005823f, -0.008454f, -0.004673f, 0.002771f, -0.003088f, 0.003030f, -0.002037f, -0.003445f, 0.002829f, 0.007314f, -0.001674f, -0.003487f, -0.001295f, 0.000072f, 0.002539f, 0.005166f, 0.001466f, -0.001406f, -0.001893f, -0.001784f, -0.000614f, 0.001287f, -0.003676f, -0.001210f, -0.001078f, 0.005659f, 0.002843f, 0.004029f, -0.000655f, 0.000391f, 0.003064f, 0.002137f, 0.001486f, -0.000087f, 0.000528f, -0.000558f, 0.001591f, -0.000952f, -0.000757f, -0.014078f, -0.022556f, -0.006774f, -0.011346f, 0.016190f, -0.003791f, -0.001856f, 0.005898f, -0.014731f, -0.010581f, 0.009016f, -0.007317f, -0.006571f, -0.000497f, -0.000501f, 0.001453f, 0.005972f, -0.002599f, 0.002772f, -0.004001f, -0.002778f, -0.000409f, -0.002448f, -0.006638f, -0.000488f, -0.001534f, 0.006887f, 0.006738f, 0.006125f, -0.008196f, 0.003832f, - 0.002586f, 0.011356f, -0.005821f, -0.000332f, -0.004007f, -0.008533f, 0.012130f, -0.011561f, -0.005865f, -0.004452f, 0.002748f, 0.010269f, -0.009579f, 0.010619f, -0.001292f, 0.005760f, 0.008632f, 0.001503f, 0.006618f, -0.012470f, 0.002613f, -0.004657f, 0.000496f, -0.013215f, 0.000096f, -0.004509f, -0.012052f, -0.009072f, 0.000559f, 0.008848f, 0.000305f, -0.006332f, 0.009838f, -0.003368f, 0.005627f, -0.000723f, -0.012511f, 0.017348f, -0.010951f, -0.002078f, -0.006301f, 0.004380f, 0.006851f, 0.004706f, 0.006307f, 0.014053f, 0.010514f, -0.001729f, 0.002063f, 0.006665f, 0.003993f, -0.004927f, 0.006935f, 0.005592f, -0.001222f, 0.003201f, -0.007152f, -0.009567f, -0.001209f, -0.003050f, 0.005222f, -0.005591f, -0.001358f, -0.005374f, -0.001440f, -0.002445f, -0.000997f, 0.001667f, 0.001816f, 0.001148f, -0.000434f, -0.001322f, 0.003050f, 0.001689f, -0.003555f, 0.002463f, -0.000045f, -0.008294f, -0.000950f, -0.002964f, 0.004554f, -0.001241f, -0.000775f, 0.001767f, -0.001128f, 0.001684f, 0.003518f, -0.000225f, 0.002202f, 0.002609f, -0.000726f, 0.000985f, 0.005041f, 0.000871f, 0.005859f, -0.015699f, - -0.022846f, 0.002734f, 0.001715f, 0.001467f, 0.014419f, -0.004537f, -0.016087f, 0.001878f, 0.001666f, -0.004002f, -0.001100f, -0.013789f, -0.002947f, 0.001938f, 0.001893f, 0.015845f, -0.002924f, 0.014220f, -0.003575f, -0.003423f, 0.000987f, -0.013722f, 0.005754f, -0.005050f, 0.008291f, -0.002150f, -0.003768f, -0.004975f, -0.002715f, 0.000692f, -0.010595f, 0.018191f, -0.012661f, -0.020041f, 0.005860f, 0.001125f, -0.014402f, -0.004006f, -0.027465f, 0.000665f, -0.009906f, 0.000061f, -0.010740f, -0.008362f, 0.001284f, 0.001162f, 0.004503f, -0.008433f, 0.006690f, -0.009541f, -0.019031f, 0.002437f, 0.005014f, -0.005515f, 0.005969f, -0.003037f, -0.010654f, -0.009013f, -0.012912f, -0.005840f, -0.001561f, 0.002274f, -0.004012f, 0.011982f, -0.000174f, -0.003492f, 0.000812f, 0.000903f, 0.002239f, 0.002025f, 0.001168f, -0.011124f, -0.010798f, 0.002431f, 0.007275f, 0.004617f, 0.001018f, -0.002309f, 0.009086f, 0.005308f, -0.004568f, -0.003018f, -0.010654f, -0.004122f, 0.004418f, 0.002375f, -0.005918f, 0.002471f, -0.001822f, -0.001503f, -0.002905f, -0.003116f, -0.001381f, -0.004169f, -0.003539f, 0.001962f, - 0.000614f, 0.002770f, 0.004227f, 0.000521f, 0.003674f, 0.000361f, -0.002848f, 0.003884f, 0.002071f, -0.000590f, 0.000282f, -0.001967f, -0.002394f, 0.000100f, -0.000078f, -0.002225f, -0.000164f, -0.000571f, -0.000387f, 0.000132f, -0.000798f, 0.002579f, -0.004179f, -0.000467f, -0.001449f, 0.000352f, 0.001056f, 0.002639f, -0.000197f, -0.035062f, -0.008750f, 0.001343f, -0.008901f, -0.006580f, -0.011145f, 0.002832f, 0.003957f, 0.007913f, -0.005989f, -0.007527f, -0.008426f, 0.004162f, 0.009440f, -0.004754f, -0.004009f, -0.002462f, -0.001429f, 0.004401f, -0.019507f, -0.004890f, 0.011050f, 0.003526f, -0.005703f, 0.002018f, 0.009787f, -0.001033f, -0.002479f, 0.003344f, -0.000602f, 0.023891f, -0.010300f, 0.005786f, 0.001940f, -0.010172f, 0.003332f, 0.002175f, -0.011473f, 0.008027f, -0.016307f, -0.001669f, 0.014448f, 0.003090f, -0.000412f, -0.003125f, -0.011147f, -0.009719f, 0.002580f, 0.006121f, -0.004193f, 0.002935f, 0.011969f, 0.005839f, -0.004963f, 0.007283f, -0.010614f, -0.025072f, -0.003302f, -0.011065f, 0.006952f, -0.007123f, 0.017744f, 0.008787f, -0.000814f, -0.003010f, -0.023003f, 0.007157f, - 0.008794f, -0.007156f, 0.014059f, -0.011023f, 0.004290f, -0.018405f, 0.008494f, 0.006321f, -0.020847f, -0.013368f, -0.004277f, 0.005049f, 0.006923f, 0.015092f, -0.002111f, -0.000834f, 0.009860f, 0.002186f, 0.000049f, -0.004502f, 0.002255f, 0.002185f, 0.002959f, 0.003134f, 0.000803f, -0.000505f, -0.001902f, -0.002259f, -0.005630f, -0.004773f, 0.003736f, 0.002555f, 0.001919f, 0.004547f, -0.001894f, 0.002144f, 0.002355f, -0.001283f, 0.003985f, -0.000635f, -0.000052f, -0.001054f, -0.004542f, -0.001091f, 0.005190f, 0.001071f, 0.003848f, -0.001539f, 0.001400f, -0.002151f, 0.006169f, 0.000489f, 0.005169f, 0.002193f, -0.002573f, 0.001255f, 0.008619f, 0.014944f, 0.033993f, 0.036609f, 0.007153f, 0.011102f, -0.000044f, 0.005396f, 0.000184f, 0.004037f, -0.009886f, 0.004726f, -0.006198f, 0.008277f, 0.007507f, 0.018965f, 0.002760f, -0.003578f, 0.011626f, 0.008698f, 0.014013f, 0.000922f, 0.008674f, 0.005342f, -0.004481f, 0.004632f, 0.020929f, 0.003583f, -0.009201f, -0.004661f, 0.015464f, 0.009873f, 0.007385f, 0.014728f, -0.011244f, 0.004596f, 0.017159f, -0.016944f, -0.020653f, 0.007051f, - 0.010924f, 0.018184f, -0.007860f, -0.013112f, 0.010760f, 0.004202f, -0.001712f, 0.007012f, -0.002801f, -0.001361f, -0.000182f, 0.025791f, -0.009303f, 0.005457f, -0.006229f, -0.003665f, -0.003077f, 0.013595f, -0.001829f, 0.029987f, 0.014175f, -0.013955f, 0.016533f, 0.003924f, 0.007678f, 0.003878f, 0.003551f, 0.004362f, -0.005486f, 0.010337f, -0.023534f, -0.005882f, 0.010706f, -0.023593f, 0.008152f, -0.018998f, 0.004505f, 0.021675f, 0.005244f, 0.000199f, 0.005835f, 0.002380f, -0.005769f, 0.001792f, -0.006127f, 0.001060f, 0.004899f, -0.014016f, 0.008226f, -0.002248f, -0.003432f, 0.001339f, 0.004454f, -0.003396f, -0.005735f, 0.002315f, 0.005183f, -0.002354f, -0.004844f, -0.004383f, -0.002796f, 0.002391f, -0.003414f, -0.002667f, 0.003245f, 0.004918f, 0.002128f, -0.001973f, 0.002963f, -0.001710f, -0.007383f, -0.002927f, -0.000086f, -0.003340f, 0.002148f, 0.001972f, 0.003139f, 0.005489f, 0.007438f, -0.003052f, 0.010479f, -0.003200f, -0.006053f, -0.001616f, 0.003751f, 0.001268f, -0.006147f, -0.003549f, -0.004450f, 0.056717f, 0.009431f, 0.009235f, -0.016872f, 0.024664f, -0.008443f, -0.000691f, - -0.006761f, 0.001722f, -0.016167f, -0.000829f, 0.007099f, 0.002144f, -0.013239f, 0.016399f, -0.004228f, -0.007956f, 0.001958f, 0.005390f, -0.016936f, -0.022933f, 0.009312f, -0.009259f, -0.014113f, 0.003068f, -0.000421f, -0.006710f, 0.011794f, -0.011871f, 0.003690f, 0.012172f, -0.002436f, 0.017572f, 0.005081f, -0.021450f, -0.023139f, -0.009389f, 0.001137f, 0.004510f, -0.018355f, 0.006874f, 0.006219f, 0.003788f, 0.005462f, 0.008314f, -0.019064f, -0.008984f, 0.005098f, -0.020522f, -0.007888f, -0.000137f, -0.021960f, -0.011224f, -0.007729f, 0.004744f, -0.011410f, -0.023146f, -0.011479f, -0.012198f, 0.026908f, 0.013523f, -0.002554f, 0.004093f, -0.007629f, 0.022024f, 0.025663f, 0.003288f, 0.017092f, 0.013072f, 0.004690f, 0.003502f, -0.010385f, -0.001814f, -0.009212f, 0.012995f, -0.016950f, 0.000936f, -0.004336f, -0.025125f, -0.008065f, -0.003299f, 0.013502f, -0.012242f, 0.006599f, 0.006337f, 0.002252f, 0.001713f, 0.005657f, -0.005713f, 0.004443f, -0.003292f, 0.004970f, -0.000963f, 0.007517f, 0.002691f, 0.000320f, -0.003739f, -0.001890f, -0.009572f, 0.004979f, -0.000990f, 0.008103f, -0.007736f, - -0.000381f, -0.000445f, 0.004680f, -0.000490f, 0.004140f, 0.002315f, 0.002082f, 0.002805f, 0.000899f, -0.005046f, 0.005924f, 0.008424f, -0.004460f, -0.005372f, -0.007154f, -0.002398f, -0.000828f, -0.002023f, 0.000299f, -0.001407f, -0.038415f, 0.025928f, 0.041646f, -0.031253f, -0.018600f, 0.008557f, 0.007470f, -0.006363f, 0.013677f, 0.003691f, -0.011652f, -0.014260f, -0.000304f, -0.004609f, -0.010174f, 0.005159f, -0.004689f, 0.000622f, 0.011495f, -0.015540f, 0.003237f, 0.002029f, -0.009229f, 0.001268f, -0.014643f, 0.002800f, 0.021417f, 0.010885f, -0.002186f, -0.006954f, -0.001799f, -0.012308f, -0.013080f, 0.006348f, 0.010803f, -0.003491f, -0.006053f, -0.004345f, 0.006438f, 0.010737f, 0.005135f, 0.019731f, -0.010718f, 0.008073f, -0.005198f, 0.001870f, 0.012295f, -0.004529f, -0.003976f, -0.023661f, -0.003682f, -0.018344f, 0.009106f, 0.006174f, 0.023402f, -0.020219f, -0.007496f, -0.019576f, -0.032138f, -0.005490f, 0.013289f, -0.022249f, 0.004822f, -0.002565f, -0.016248f, -0.019164f, -0.024107f, 0.032118f, 0.001115f, 0.019023f, 0.013970f, 0.016138f, -0.007474f, -0.021578f, -0.016348f, -0.020206f, - 0.006894f, 0.015589f, -0.015151f, 0.006949f, 0.016654f, -0.011508f, 0.001792f, 0.013451f, 0.015501f, 0.003600f, -0.005742f, 0.006541f, -0.002948f, 0.003411f, -0.016818f, -0.001699f, 0.006242f, -0.005833f, 0.001975f, 0.000855f, 0.000549f, 0.003543f, 0.006110f, -0.006786f, -0.002536f, 0.003631f, 0.005413f, 0.001371f, 0.002528f, 0.005262f, -0.001378f, 0.005697f, -0.005184f, 0.003829f, 0.005766f, 0.006440f, 0.000519f, -0.002757f, 0.004979f, -0.004483f, 0.001054f, -0.001209f, -0.003856f, -0.002044f, -0.003815f, -0.001231f, 0.001412f, -0.004678f, -0.012448f, 0.004013f, 0.006371f, -0.030413f, 0.022059f, -0.003096f, -0.010935f, 0.018226f, 0.006898f, -0.018486f, -0.025610f, -0.010404f, 0.000382f, 0.000136f, 0.001548f, -0.009645f, 0.029761f, 0.011802f, 0.009184f, 0.006385f, 0.009538f, -0.009395f, 0.002491f, 0.005422f, 0.004560f, 0.026031f, 0.003001f, -0.039903f, 0.005091f, 0.015960f, -0.014494f, -0.022649f, -0.004483f, -0.012519f, -0.006911f, 0.001364f, 0.028092f, 0.016217f, -0.002641f, -0.001139f, -0.008234f, -0.024938f, -0.008094f, -0.020695f, 0.014567f, 0.019186f, 0.000403f, -0.011479f, - -0.003847f, -0.005065f, 0.009171f, 0.012002f, 0.013439f, -0.031332f, 0.006054f, 0.000501f, 0.002827f, 0.020831f, -0.012387f, 0.008186f, -0.011304f, -0.008798f, 0.002342f, 0.013411f, 0.025282f, -0.004600f, -0.016236f, 0.004669f, -0.029289f, 0.022823f, 0.012704f, -0.003530f, -0.012082f, 0.005701f, -0.006746f, -0.015133f, -0.012025f, -0.013789f, -0.006253f, -0.003420f, 0.000900f, 0.011746f, -0.009485f, 0.033469f, 0.001428f, -0.005875f, 0.001955f, 0.009493f, 0.000446f, -0.001093f, 0.011051f, 0.006910f, 0.005679f, -0.000297f, -0.005415f, -0.004888f, -0.001332f, -0.001497f, -0.005021f, -0.014605f, 0.007261f, 0.006215f, -0.005321f, 0.001166f, -0.007787f, -0.006513f, -0.002765f, -0.002273f, -0.000318f, 0.011442f, -0.002646f, -0.004615f, -0.002123f, -0.001506f, 0.007353f, 0.012800f, -0.004606f, 0.006815f, -0.002237f, -0.009328f, 0.009649f, -0.010045f, -0.007649f, -0.005763f, -0.007732f, 0.000747f, 0.005566f, 0.002089f, 0.005698f, -0.000792f, -0.002483f, -0.001446f, -0.006359f, 0.002742f, -0.003777f, -0.007914f, 0.004953f, -0.003683f, -0.003764f, -0.003611f, -0.000488f, -0.002916f, -0.000240f, -0.002547f, - -0.002046f, -0.000401f, -0.000958f, -0.013779f, -0.002426f, 0.013655f, -0.025077f, -0.008095f, 0.017483f, -0.021769f, -0.001399f, -0.002854f, -0.002043f, -0.025231f, 0.025073f, 0.009775f, -0.016175f, -0.003682f, -0.006504f, -0.006974f, -0.036423f, -0.005988f, -0.016232f, -0.042738f, 0.009723f, 0.005719f, -0.018334f, -0.016561f, -0.021741f, -0.026387f, 0.022581f, 0.011539f, 0.023732f, 0.000034f, 0.048973f, 0.001486f, 0.025939f, 0.033878f, -0.003267f, 0.009811f, 0.036459f, -0.024843f, 0.011763f, -0.015286f, 0.025314f, -0.008509f, 0.048589f, 0.020943f, -0.014146f, -0.023292f, 0.004482f, 0.010291f, 0.020701f, 0.004561f, -0.016560f, -0.004797f, 0.016584f, 0.034742f, -0.014106f, 0.023030f, -0.007944f, 0.013734f, -0.027094f, 0.010169f, -0.014393f, 0.010184f, 0.002559f, 0.002839f, -0.004312f, 0.021144f, 0.031421f, -0.056585f, 0.017659f, 0.010773f, 0.009027f, -0.011015f, 0.008081f, -0.040845f, 0.004155f, -0.000142f, -0.005492f, -0.016138f, -0.012535f, -0.014079f, -0.003106f, 0.027665f, -0.015691f, -0.010522f, -0.022376f, -0.000032f, 0.021248f, -0.011152f, -0.010727f, 0.014998f, 0.000160f, 0.010645f, - 0.003297f, -0.003717f, 0.001017f, 0.004189f, -0.010306f, 0.004688f, 0.002964f, -0.010407f, -0.007217f, -0.005562f, 0.003518f, 0.005508f, 0.007355f, 0.018405f, -0.001313f, 0.013707f, 0.007937f, 0.003827f, -0.008925f, -0.003960f, -0.013853f, -0.007550f, -0.001693f, -0.005860f, -0.006188f, 0.007130f, 0.005442f, 0.008699f, 0.013158f, 0.001333f, -0.002062f, -0.002585f, -0.007196f, 0.003809f, -0.001486f, -0.000971f, 0.004872f, -0.006521f, 0.027664f, 0.029663f, -0.006570f, 0.030837f, -0.001705f, -0.006278f, 0.002298f, 0.017394f, -0.006593f, -0.007695f, -0.003715f, -0.021703f, 0.003455f, -0.006130f, 0.034259f, 0.022761f, -0.016519f, -0.017240f, -0.032775f, -0.011828f, 0.023579f, 0.042836f, -0.019566f, 0.013318f, 0.002732f, 0.005745f, 0.023138f, 0.016776f, -0.033576f, 0.006767f, -0.012070f, -0.006674f, -0.013927f, -0.007418f, -0.014691f, -0.032116f, 0.005520f, 0.021680f, 0.008137f, 0.050616f, -0.012403f, -0.006843f, 0.034954f, -0.012670f, -0.002084f, -0.007709f, 0.009167f, -0.038411f, -0.024856f, 0.013508f, 0.028696f, 0.042121f, 0.050007f, -0.036726f, -0.019242f, -0.001817f, 0.016645f, -0.001537f, - 0.056759f, 0.015948f, 0.008378f, -0.044020f, 0.002939f, 0.000439f, 0.021219f, 0.027968f, -0.020879f, -0.006765f, 0.008583f, -0.008932f, -0.000124f, 0.031761f, 0.011294f, -0.031167f, 0.008042f, 0.016620f, -0.015144f, 0.049329f, -0.017139f, -0.026195f, -0.037060f, 0.027426f, -0.006030f, -0.030885f, -0.024695f, -0.005508f, -0.001262f, -0.012216f, 0.000621f, -0.013310f, 0.002502f, -0.018578f, 0.001200f, 0.009261f, -0.006557f, 0.007320f, 0.001326f, -0.011185f, 0.001164f, -0.000053f, -0.002269f, 0.001333f, -0.007776f, 0.009417f, 0.000004f, -0.004614f, 0.010539f, 0.010916f, 0.000405f, -0.002847f, 0.004673f, -0.010036f, -0.004299f, -0.008036f, -0.001606f, 0.008525f, -0.006670f, 0.003808f, 0.008218f, -0.015154f, -0.005517f, -0.003014f, 0.002478f, -0.002750f, 0.006555f, 0.014949f, -0.004212f, -0.008707f, -0.004335f, 0.009709f, 0.002704f, 0.001049f, 0.007665f, -0.004293f, -0.003173f, -0.002637f, -0.004301f, -0.003438f, 0.006725f, 0.058441f, 0.027549f, -0.015219f, -0.005039f, -0.053720f, 0.004081f, 0.014344f, 0.003642f, 0.080376f, -0.010266f, -0.005989f, -0.035383f, -0.030387f, 0.012388f, -0.024836f, - -0.015342f, -0.016636f, -0.011367f, 0.020014f, -0.013155f, -0.022843f, -0.019890f, 0.001848f, 0.019993f, -0.025851f, 0.005700f, 0.011763f, 0.002461f, 0.029011f, -0.003503f, 0.002313f, -0.029585f, -0.041405f, -0.017212f, 0.019019f, -0.023012f, 0.005572f, -0.019350f, -0.072327f, -0.039113f, 0.021702f, 0.001388f, -0.041446f, 0.006226f, 0.057752f, -0.002837f, -0.001499f, -0.022724f, 0.012630f, -0.025062f, -0.044612f, 0.000941f, 0.006763f, -0.017496f, 0.008543f, 0.016595f, -0.004159f, -0.014782f, 0.012005f, 0.015411f, 0.028942f, -0.016878f, 0.021737f, 0.027699f, 0.011719f, 0.048325f, 0.005403f, -0.030400f, 0.035348f, 0.001916f, 0.005874f, -0.006677f, -0.007182f, 0.021644f, -0.021704f, -0.003336f, 0.053794f, 0.042010f, -0.026209f, 0.026804f, -0.007878f, 0.049746f, 0.020985f, -0.017567f, -0.039996f, -0.001976f, -0.014679f, -0.017570f, 0.011173f, -0.015857f, -0.000563f, -0.004242f, -0.014047f, -0.023622f, -0.004676f, 0.019538f, -0.021394f, -0.000134f, -0.013332f, 0.001778f, 0.008222f, -0.008868f, -0.025030f, -0.004646f, -0.011919f, 0.014914f, 0.009052f, -0.006329f, -0.016625f, -0.007106f, -0.017884f, - 0.010416f, -0.008866f, 0.005536f, 0.006807f, 0.009910f, 0.007956f, -0.014058f, -0.009949f, -0.015762f, 0.004397f, 0.009672f, 0.001106f, 0.019521f, 0.020796f, 0.011127f, 0.008319f, -0.005704f, 0.010993f, -0.001591f, -0.005608f, -0.042473f, -0.043905f, -0.053692f, 0.073820f, -0.041108f, 0.010206f, -0.002795f, -0.022716f, 0.036653f, -0.043160f, 0.018385f, 0.078484f, 0.047415f, 0.011706f, -0.063684f, -0.002965f, -0.042193f, -0.020551f, -0.038569f, -0.003022f, 0.010305f, -0.006253f, 0.029418f, -0.013782f, 0.004476f, 0.015402f, 0.041324f, 0.006433f, 0.005284f, 0.051237f, -0.033807f, -0.004098f, 0.021845f, -0.009134f, -0.026318f, -0.016539f, 0.025035f, -0.021593f, 0.010232f, 0.043976f, -0.012519f, -0.077467f, -0.005228f, 0.020210f, -0.096404f, 0.058563f, 0.044205f, -0.035735f, 0.059069f, 0.041005f, 0.026121f, 0.062407f, 0.000900f, 0.032398f, 0.003234f, 0.004422f, 0.021821f, -0.038555f, 0.038740f, 0.053876f, 0.040522f, -0.041549f, -0.008669f, 0.059155f, -0.028774f, 0.047055f, 0.042106f, 0.100054f, 0.059545f, 0.004124f, 0.006493f, -0.012134f, 0.012088f, 0.018022f, -0.057961f, -0.081690f, - -0.029070f, 0.007893f, 0.002717f, -0.011115f, 0.064138f, 0.031139f, 0.011803f, -0.027617f, 0.025232f, -0.019349f, -0.025810f, -0.012260f, 0.028866f, 0.034774f, 0.006237f, -0.005356f, -0.006869f, 0.001792f, -0.040266f, -0.008681f, -0.010624f, 0.013713f, 0.007126f, -0.019937f, -0.016088f, -0.000167f, 0.031212f, -0.007968f, -0.012420f, 0.001655f, -0.012846f, -0.031091f, 0.015709f, -0.006047f, -0.012747f, -0.017872f, -0.000141f, 0.011456f, 0.001841f, -0.055881f, -0.003455f, 0.028838f, -0.004476f, 0.002007f, 0.004448f, 0.009007f, 0.023586f, 0.019849f, 0.000627f, 0.000663f, -0.009336f, -0.002007f, 0.004634f, 0.045003f, 0.055045f, -0.108253f, -0.099662f, 0.043643f, -0.028828f, -0.031003f, -0.013288f, -0.037524f, 0.013189f, -0.060969f, 0.077129f, 0.029405f, -0.032477f, -0.000371f, -0.031767f, -0.023391f, -0.025644f, -0.028768f, -0.019077f, -0.073580f, -0.066627f, -0.012046f, -0.015287f, 0.004575f, 0.006114f, 0.013206f, -0.004854f, 0.009788f, 0.012198f, 0.033254f, 0.036252f, -0.013370f, -0.018570f, -0.021196f, -0.018453f, -0.041450f, 0.062104f, -0.021602f, 0.015044f, 0.046615f, 0.043563f, -0.016192f, - -0.018847f, -0.034430f, -0.022988f, -0.028195f, 0.047733f, 0.005503f, 0.005799f, -0.058799f, -0.021099f, 0.085994f, -0.008393f, 0.080093f, -0.016182f, -0.029431f, -0.018908f, -0.033320f, -0.034633f, -0.005911f, 0.000317f, -0.047087f, 0.003935f, 0.023153f, -0.001975f, 0.018297f, -0.109730f, -0.043879f, -0.030743f, 0.058702f, -0.013945f, 0.010047f, 0.019882f, 0.091907f, 0.025935f, -0.007959f, -0.009314f, 0.079217f, 0.047572f, 0.012095f, 0.015384f, -0.003545f, 0.062550f, -0.025569f, -0.035612f, 0.019772f, 0.029436f, 0.052689f, 0.048613f, -0.027944f, 0.033022f, 0.025161f, 0.026636f, 0.008421f, -0.018889f, -0.036968f, -0.031730f, 0.020365f, 0.027600f, 0.015220f, 0.010012f, 0.032998f, -0.003057f, -0.008428f, -0.001702f, -0.002149f, 0.017070f, 0.010713f, 0.022239f, 0.039128f, 0.027416f, 0.044683f, 0.012120f, -0.039081f, 0.012818f, 0.011187f, 0.034718f, -0.000052f, 0.027276f, 0.012134f, 0.026259f, 0.001218f, -0.049577f, -0.005819f, -0.010641f, -0.002712f, -0.022157f, -0.012656f, -0.057324f, 0.119086f, -0.038443f, -0.023936f, 0.070602f, -0.044777f, -0.067553f, 0.062638f, -0.090943f, -0.026337f, - 0.021444f, 0.015583f, -0.063443f, -0.024921f, 0.054453f, 0.000312f, -0.010742f, -0.035461f, 0.042729f, -0.042445f, 0.002792f, 0.033605f, -0.011253f, 0.030851f, 0.000192f, -0.015306f, 0.010316f, 0.007292f, -0.018463f, 0.029329f, -0.016210f, -0.006602f, 0.008724f, -0.000631f, 0.001771f, -0.005570f, 0.008661f, 0.018592f, 0.030073f, 0.043336f, 0.021207f, -0.017974f, -0.005082f, -0.027574f, 0.025351f, -0.009206f, -0.039860f, 0.009287f, 0.000063f, -0.022705f, -0.054468f, 0.038226f, 0.002783f, -0.025205f, 0.061320f, 0.003488f, -0.019149f, -0.011131f, 0.090867f, -0.085175f, -0.091791f, 0.055842f, 0.087074f, -0.160984f, 0.000621f, -0.059612f, -0.054262f, -0.023977f, 0.058382f, -0.045269f, 0.077313f, -0.010998f, -0.002117f, 0.104134f, -0.029625f, -0.080654f, 0.099897f, 0.117912f, -0.114766f, 0.128016f, -0.043389f, 0.003153f, 0.105575f, -0.035417f, -0.040777f, 0.029034f, 0.028160f, -0.013593f, -0.005648f, 0.019670f, 0.003599f, 0.002542f, -0.025518f, 0.034853f, -0.000138f, -0.002223f, 0.000311f, 0.004738f, 0.015356f, 0.009591f, -0.013084f, -0.013794f, 0.014239f, 0.034812f, -0.030471f, -0.027744f, - -0.007922f, 0.036477f, -0.001725f, 0.019563f, -0.005737f, 0.008259f, -0.000338f, 0.008467f, -0.004649f, -0.006182f, -0.043470f, -0.017812f, 0.010218f, -0.015268f, -0.004893f, -0.014992f, -0.023794f, 0.036591f, 0.022073f, -0.062837f, 0.024576f, 0.033117f, -0.007090f, 0.000143f, -0.022947f, 0.032861f, 0.070221f, -0.032469f, -0.045548f, -0.011679f, 0.010607f, 0.072706f, 0.053173f, -0.018132f, -0.006364f, 0.023177f, 0.057993f, -0.018838f, -0.003905f, 0.036647f, -0.046692f, -0.038918f, 0.030975f, -0.020329f, -0.016303f, -0.018660f, -0.002346f, -0.031198f, 0.001963f, 0.022607f, -0.014003f, 0.017630f, -0.015599f, -0.008701f, -0.010037f, -0.043401f, 0.006028f, -0.017131f, 0.026525f, 0.058547f, 0.002659f, 0.029561f, 0.023367f, 0.002970f, 0.010407f, 0.018858f, 0.060812f, -0.042608f, 0.029129f, 0.026846f, -0.031905f, 0.021808f, 0.019968f, 0.007329f, -0.028364f, -0.054927f, -0.056855f, 0.019409f, 0.019727f, -0.020457f, -0.094681f, 0.077440f, -0.026278f, -0.040421f, -0.024320f, 0.077914f, -0.036727f, 0.085133f, -0.000473f, 0.029185f, -0.079793f, 0.075861f, -0.034821f, 0.034117f, -0.010622f, -0.107611f, - -0.034674f, 0.022303f, -0.067510f, 0.069871f, 0.006934f, -0.098548f, -0.112350f, -0.056604f, 0.077305f, 0.020189f, -0.069917f, 0.085663f, -0.091527f, -0.003474f, 0.163965f, 0.025631f, 0.008887f, 0.017391f, 0.012007f, -0.042103f, 0.044489f, 0.004407f, 0.022513f, -0.027879f, 0.042751f, -0.022761f, -0.023202f, -0.017941f, -0.002870f, -0.000046f, 0.012642f, -0.003176f, -0.006795f, 0.009662f, -0.015497f, -0.029943f, 0.027896f, -0.009239f, -0.005306f, -0.035715f, 0.016456f, 0.009475f, 0.015600f, 0.005682f, 0.018070f, -0.012403f, 0.003939f, 0.052469f, -0.006372f, 0.001906f, 0.026685f, -0.027663f, -0.006535f, 0.002925f, -0.003320f, 0.021343f, -0.020972f, 0.023815f, -0.008208f, -0.056288f, 0.003344f, -0.013556f, 0.025485f, 0.019872f, 0.017297f, -0.019551f, 0.022653f, -0.036214f, -0.068334f, -0.000032f, -0.072614f, 0.019683f, -0.006244f, -0.013371f, 0.024608f, 0.039922f, -0.025588f, 0.005435f, 0.044471f, -0.035025f, 0.060229f, -0.008362f, -0.065809f, 0.056275f, -0.027043f, -0.012486f, 0.050632f, -0.064993f, 0.017225f, 0.000714f, 0.023632f, -0.010539f, -0.023544f, -0.099014f, 0.022789f, -0.041104f, - -0.098902f, 0.119343f, -0.080464f, -0.033996f, -0.015861f, -0.027681f, -0.060712f, 0.033722f, 0.082774f, -0.051582f, 0.023317f, -0.074635f, -0.041860f, -0.042720f, 0.037454f, 0.006275f, 0.108540f, -0.019114f, -0.008961f, -0.032817f, -0.093469f, -0.000363f, 0.045549f, -0.035053f, 0.038235f, 0.045430f, -0.038697f, 0.003379f, -0.033002f, -0.138688f, -0.072463f, -0.043035f, -0.145184f, 0.092306f, 0.122283f, 0.056995f, -0.123121f, -0.099490f, -0.220878f, 0.031405f, 0.262557f, 0.120920f, 0.046362f, -0.069574f, -0.242302f, -0.055583f, 0.056035f, 0.165029f, 0.165990f, -0.113417f, -0.095536f, -0.044910f, 0.021583f, 0.010851f, 0.180291f, 0.002435f, -0.022100f, 0.014078f, -0.018011f, -0.044661f, 0.063319f, 0.010769f, -0.013765f, 0.034485f, -0.028945f, -0.049770f, 0.034644f, 0.029489f, -0.083864f, 0.055686f, -0.012738f, -0.019105f, -0.044813f, 0.046642f, -0.045295f, 0.053473f, -0.026931f, 0.054737f, -0.065677f, 0.025438f, -0.018592f, 0.000132f, 0.046926f, 0.076561f, 0.021543f, -0.029495f, -0.020815f, -0.005594f, 0.042318f, -0.007623f, 0.061005f, -0.048862f, -0.038292f, 0.016859f, 0.060414f, 0.006322f, - 0.036606f, -0.049149f, -0.014603f, -0.016331f, 0.037516f, -0.003277f, 0.005582f, -0.011486f, -0.104589f, 0.076048f, -0.015430f, -0.015872f, 0.001243f, 0.034603f, 0.000018f, -0.005867f, 0.024508f, 0.009285f, 0.007749f, 0.040712f, -0.026010f, 0.000365f, 0.020189f, -0.006605f, -0.004397f, 0.025914f, -0.024070f, -0.005039f, 0.006494f, 0.040368f, -0.026864f, -0.017979f, 0.021623f, -0.000393f, 0.011873f, -0.038683f, 0.050997f, -0.011642f, 0.016810f, -0.010618f, 0.006046f, 0.028781f, 0.011775f, -0.005946f, 0.023594f, -0.008556f, 0.023855f, -0.018613f, -0.002038f, 0.025893f, -0.006409f, -0.009844f, -0.051537f, 0.005816f, 0.038787f, 0.004769f, 0.017867f, -0.025145f, -0.008772f, -0.014800f, -0.016787f, -0.006005f, 0.027903f, -0.009762f, 0.016778f, -0.021810f, -0.027401f, -0.010874f, 0.005799f, 0.052728f, -0.020559f, 0.024326f, 0.000990f, 0.005820f, -0.026038f, 0.014553f, 0.026470f, 0.002095f, -0.025188f, 0.019666f, -0.016972f, 0.013396f, -0.010574f, -0.006604f, -0.010138f, 0.004174f, 0.018408f, -0.008910f, -0.005423f, 0.009418f, -0.001690f, -0.013761f, -0.003637f, 0.014804f, 0.011461f, -0.011841f, - 0.001574f, 0.013590f, -0.000012f, -0.007204f, 0.001541f, -0.011911f, 0.008876f, -0.000111f, 0.004275f, -0.005037f, 0.001917f, 0.008915f, -0.004648f, 0.010332f, 0.001312f, 0.009490f, 0.006183f, -0.013518f, -0.014960f, -0.004183f, 0.024706f, -0.015353f, 0.017006f, 0.014748f, -0.010770f, -0.025329f, 0.019231f, -0.015998f, 0.021799f, -0.001347f, -0.004217f, -0.008437f, 0.003208f, 0.004465f, -0.001864f, -0.002221f, 0.001390f, 0.003009f, -0.010487f, 0.099084f, 0.019555f, -0.052950f, -0.037783f, -0.058493f, -0.018679f, 0.011373f, 0.031020f, -0.009626f, -0.012674f, -0.010741f, -0.010536f, -0.009780f, 0.014129f, -0.007131f, -0.002082f, -0.003045f, -0.010402f, -0.002375f, 0.015542f, 0.002325f, -0.004611f, -0.015540f, 0.017852f, -0.023182f, 0.013591f, -0.008227f, -0.022920f, 0.000178f, 0.010328f, 0.011788f, 0.009083f, -0.013414f, 0.002929f, -0.004250f, -0.007464f, 0.027577f, -0.024564f, -0.004397f, -0.001068f, -0.001621f, 0.002509f, -0.004028f, -0.014453f, 0.012178f, -0.022864f, 0.021811f, -0.003248f, -0.015205f, 0.005215f, -0.007813f, 0.019287f, -0.011249f, -0.006895f, 0.020949f, -0.018768f, 0.006575f, - -0.009008f, -0.001994f, 0.015973f, -0.011376f, -0.004590f, 0.014422f, -0.009895f, 0.003842f, 0.001441f, -0.011595f, 0.028324f, -0.024705f, -0.002147f, 0.010981f, -0.006331f, 0.018188f, -0.008249f, -0.003932f, 0.004714f, 0.006050f, -0.001980f, 0.004087f, -0.001629f, -0.007961f, 0.007179f, 0.000065f, 0.000682f, 0.004022f, -0.000537f, 0.005731f, -0.005728f, 0.001736f, 0.001118f, 0.001348f, -0.000721f, -0.003453f, 0.004610f, -0.000589f, -0.001237f, -0.003271f, 0.004075f, 0.006744f, -0.002276f, -0.003336f, 0.002065f, 0.003974f, -0.004926f, 0.004143f, -0.003719f, -0.003116f, 0.010659f, -0.001555f, 0.003926f, 0.005704f, -0.007397f, 0.018236f, -0.005975f, -0.000871f, -0.000929f, -0.010397f, 0.010830f, -0.006689f, -0.010872f, 0.009741f, -0.046898f, -0.070354f, 0.092228f, 0.287907f, 0.024602f, 0.025112f, -0.196282f, -0.248174f, -0.051763f, -0.052523f, 0.146175f, 0.248923f, 0.127667f, 0.024640f, -0.090088f, -0.175162f, -0.123720f, -0.088371f, -0.004629f, 0.121306f, 0.177140f, 0.095811f, 0.021903f, -0.062060f, -0.110453f, -0.061767f, -0.059522f, -0.055650f, 0.035177f, 0.072252f, 0.071117f, 0.071744f, - 0.017201f, -0.031010f, -0.012785f, -0.047162f, -0.073964f, -0.008125f, -0.022077f, -0.014853f, 0.066726f, 0.038640f, 0.055740f, 0.033895f, -0.025313f, -0.060765f, -0.014679f, -0.039469f, -0.006134f, 0.027729f, 0.008450f, 0.015017f, 0.030144f, -0.015218f, -0.021427f, -0.004850f, -0.012598f, 0.012253f, 0.019458f, 0.001136f, 0.024026f, 0.014349f, -0.025263f, -0.024203f, -0.038715f, -0.033009f, 0.001453f, 0.040008f, 0.060500f, 0.029236f, 0.007640f, -0.013980f, -0.040522f, -0.006863f, -0.045688f, -0.027933f, 0.021496f, 0.016965f, 0.051150f, 0.017329f, -0.013029f, 0.015170f, -0.026531f, -0.045927f, 0.008095f, 0.011770f, 0.015427f, 0.014364f, -0.002884f, -0.005650f, -0.004406f, -0.019033f, -0.014668f, 0.010143f, 0.015614f, 0.015813f, 0.015935f, -0.004305f, -0.015401f, -0.010096f, -0.005912f, 0.000523f, -0.000317f, -0.017304f, 0.004468f, 0.022061f, 0.011846f, 0.013777f, -0.004057f, -0.021952f, -0.012817f, -0.012905f, 0.005111f, 0.015617f, 0.010230f, 0.009703f, 0.004159f, -0.003020f, -0.016726f, -0.021917f, -0.010075f, 0.001499f, 0.013667f, 0.021912f, 0.013355f, 0.013569f, 0.008500f, -0.013679f, - -0.025649f, -0.032804f, -0.021333f, 0.009393f, 0.018521f, 0.024148f, 0.033295f, 0.010289f, -0.009920f, -0.016607f, -0.013560f, -0.009913f, -0.009477f, -0.009500f, -0.002740f, 0.007643f, 0.014751f, 0.013151f, 0.010250f, 0.007299f, 0.001725f, -0.009040f, -0.016019f, -0.015321f, -0.007795f, -0.000093f, 0.006948f, 0.009488f, 0.008704f, 0.004634f, 0.002840f, 0.001163f, -0.001336f, -0.005774f, -0.007138f, -0.005817f, -0.001947f, 0.002510f, 0.004334f, 0.003594f, 0.000896f, -0.000930f, 0.000693f, 0.000602f, 0.000984f, 0.000412f, -0.001385f, -0.002730f, -0.000867f, 0.001436f, 0.000438f, -0.002234f, -0.001136f, 0.000654f, 0.000561f, -0.000289f, 0.001781f, 0.003880f, 0.003580f, -0.001521f, -0.004076f, -0.003094f, -0.001024f, -0.000158f, -0.000027f, -0.000350f, 0.001214f, 0.002635f, 0.002610f, 0.000399f, -0.000503f, -0.000459f, -0.001080f, -0.002011f, -0.001607f, -0.001019f, 0.000453f, 0.001035f, 0.001849f, 0.001472f, 0.000548f, -0.000394f, -0.000497f, -0.001164f, -0.001015f, -0.000911f, 0.000047f, 0.000713f, 0.001224f, 0.000473f, 0.000163f, -0.000488f, -0.000494f, -0.000712f, -0.000017f, 0.000399f, - 0.000724f, 0.000182f, 0.000166f, -0.000290f, -0.000305f, -0.000497f, 0.000019f, -0.000005f, 0.000239f, 0.000030f, 0.000212f, -0.000081f, 0.000093f, -0.000147f, 0.000068f, -0.000129f}, - {0.002302f, 0.006414f, 0.004973f, -0.001641f, 0.003807f, 0.001840f, 0.010993f, -0.001906f, -0.000309f, 0.001402f, 0.008041f, -0.001579f, -0.008420f, -0.003895f, -0.008083f, 0.001978f, -0.002887f, -0.000662f, -0.001033f, 0.001960f, 0.000765f, 0.001649f, 0.004661f, 0.008602f, -0.003832f, -0.002104f, 0.001703f, -0.004046f, -0.000572f, 0.006711f, -0.003653f, 0.008293f, 0.000842f, -0.002966f, 0.005491f, -0.007506f, -0.001935f, -0.005228f, 0.007335f, -0.000214f, -0.002722f, -0.001993f, 0.000080f, 0.006831f, 0.000268f, 0.008221f, 0.003149f, -0.006750f, 0.005463f, -0.002949f, -0.005051f, -0.004119f, 0.005617f, -0.001169f, 0.017913f, 0.001905f, 0.004500f, 0.003264f, -0.008355f, 0.000127f, -0.001236f, 0.002189f, -0.004746f, -0.003202f, 0.009334f, 0.007653f, 0.000689f, 0.003184f, -0.000858f, 0.004765f, -0.007706f, 0.000791f, 0.005783f, 0.003652f, 0.000587f, -0.000589f, 0.004121f, -0.006529f, -0.003015f, 0.006965f, -0.004577f, 0.001488f, 0.003386f, 0.004123f, 0.001262f, -0.005218f, -0.003486f, 0.002762f, 0.000606f, 0.002739f, -0.000832f, 0.000794f, -0.002612f, -0.000138f, -0.001303f, -0.000760f, - 0.001485f, 0.002873f, 0.001203f, -0.001655f, -0.000649f, -0.001117f, 0.000672f, 0.001761f, -0.001039f, 0.001302f, 0.000946f, 0.001832f, -0.000261f, 0.002195f, -0.000890f, 0.000556f, 0.001340f, 0.001722f, -0.013683f, -0.012329f, -0.007691f, -0.006983f, -0.006072f, 0.002333f, 0.008613f, 0.017593f, 0.003358f, 0.004543f, -0.000052f, -0.012546f, -0.005271f, -0.004657f, -0.011294f, 0.017553f, 0.004646f, 0.006974f, 0.004800f, -0.003878f, 0.001768f, 0.016803f, 0.006687f, -0.003952f, -0.000344f, -0.004076f, 0.000332f, -0.007776f, 0.004656f, -0.002454f, -0.003506f, 0.000664f, 0.008906f, 0.000942f, 0.003092f, 0.005593f, 0.007717f, -0.013872f, 0.000156f, 0.003521f, 0.008047f, 0.012401f, -0.006925f, -0.001402f, -0.003368f, 0.010343f, 0.005579f, 0.006669f, -0.001129f, 0.003091f, 0.020665f, -0.013072f, 0.002596f, 0.001216f, -0.008763f, 0.003720f, -0.012233f, -0.001645f, 0.003108f, -0.002645f, -0.018432f, 0.005159f, 0.001247f, -0.004980f, -0.005127f, -0.000855f, -0.002795f, 0.006212f, -0.005865f, -0.002591f, 0.001787f, -0.000200f, -0.005707f, -0.000281f, 0.004628f, -0.007715f, 0.000657f, -0.002111f, - -0.001875f, -0.002408f, -0.001386f, 0.001166f, -0.004522f, -0.003397f, 0.000639f, -0.002702f, -0.003584f, -0.003670f, -0.001282f, -0.002443f, 0.004442f, -0.003956f, -0.001143f, 0.000617f, 0.002217f, -0.000277f, 0.000123f, -0.001392f, 0.000242f, -0.002381f, 0.001746f, -0.001601f, -0.001587f, -0.000475f, -0.003481f, 0.018616f, 0.001552f, 0.006726f, -0.000850f, -0.004904f, 0.000320f, 0.013101f, 0.006589f, 0.008479f, 0.013389f, -0.005878f, 0.000058f, 0.013147f, 0.004103f, 0.005815f, 0.000666f, 0.001679f, 0.007585f, -0.006867f, -0.002121f, 0.009793f, -0.006696f, 0.003869f, 0.005459f, -0.004077f, 0.003993f, 0.013106f, -0.006255f, 0.004882f, 0.000961f, 0.000574f, 0.000094f, -0.002650f, -0.008971f, -0.002692f, -0.007527f, -0.000722f, 0.003048f, 0.006308f, 0.006532f, -0.001127f, -0.011231f, -0.000963f, 0.016231f, -0.005986f, 0.003225f, -0.002871f, -0.017212f, 0.010068f, 0.002454f, 0.007488f, -0.001307f, 0.008519f, 0.008194f, -0.014545f, 0.005769f, 0.000484f, 0.005412f, -0.001044f, -0.010285f, -0.000453f, -0.001494f, -0.001847f, -0.001979f, 0.006560f, -0.000078f, 0.001305f, 0.013202f, 0.002595f, - 0.010489f, 0.000367f, 0.000983f, 0.002044f, -0.005814f, -0.009072f, 0.006195f, -0.006860f, 0.004062f, 0.002580f, -0.000388f, 0.004363f, -0.004625f, -0.002592f, 0.002887f, 0.000174f, -0.008812f, 0.002856f, 0.001015f, 0.001162f, -0.001800f, 0.003835f, 0.000342f, -0.001499f, 0.004225f, -0.000946f, -0.000385f, -0.003512f, 0.001246f, -0.001742f, 0.000594f, 0.000048f, -0.000538f, 0.000869f, -0.001358f, 0.002314f, 0.000515f, -0.000881f, 0.000651f, -0.000520f, 0.000238f, -0.000085f, -0.001420f, -0.000114f, 0.030424f, 0.016999f, 0.026043f, 0.008374f, -0.010711f, 0.005466f, -0.004761f, 0.000683f, 0.002587f, -0.022196f, -0.005840f, -0.006142f, 0.005787f, 0.008664f, -0.003519f, -0.000549f, 0.002996f, 0.000666f, 0.015925f, -0.001781f, -0.016549f, 0.005384f, -0.009535f, 0.007358f, 0.008505f, 0.006697f, 0.009898f, -0.002386f, -0.003311f, 0.003960f, -0.002856f, -0.003886f, 0.002916f, -0.002600f, 0.005984f, 0.008423f, -0.003550f, -0.012814f, 0.004223f, -0.012461f, -0.007918f, -0.001577f, -0.025795f, 0.000246f, -0.004266f, 0.010151f, 0.009799f, 0.004679f, 0.015980f, 0.015964f, 0.007190f, 0.003557f, - -0.001036f, 0.000781f, 0.001024f, -0.007235f, 0.014945f, -0.001969f, 0.005283f, -0.004690f, -0.005517f, -0.002026f, -0.008331f, 0.007484f, -0.003776f, -0.003117f, 0.014676f, -0.012086f, -0.003567f, 0.003101f, -0.005400f, -0.001656f, -0.000291f, 0.005121f, 0.006172f, 0.004068f, 0.010513f, -0.003355f, -0.002648f, -0.001465f, -0.006339f, 0.003482f, 0.006825f, 0.009169f, 0.000018f, -0.001332f, -0.001745f, 0.000164f, 0.002168f, 0.001980f, -0.002535f, 0.003094f, 0.000172f, 0.002252f, 0.002076f, -0.000303f, -0.000497f, 0.003992f, -0.000903f, 0.002056f, 0.001846f, 0.001902f, 0.001860f, -0.001037f, 0.001714f, 0.006710f, -0.000241f, 0.000423f, 0.001036f, 0.004986f, 0.001140f, -0.000992f, -0.003209f, 0.002670f, 0.002160f, -0.001062f, 0.001151f, -0.011257f, -0.026912f, -0.009215f, -0.003064f, 0.004071f, -0.003586f, 0.008345f, -0.002048f, 0.013297f, -0.011996f, 0.007165f, -0.003167f, 0.024221f, 0.009781f, -0.004988f, -0.010519f, 0.005787f, -0.014855f, -0.007574f, 0.005383f, -0.004915f, -0.008956f, 0.016817f, 0.006675f, -0.000733f, -0.007894f, -0.010145f, 0.006801f, 0.005625f, 0.005022f, -0.000242f, - -0.002800f, -0.006191f, 0.009545f, -0.012534f, -0.005677f, -0.000388f, 0.008850f, 0.007135f, -0.000855f, 0.010189f, 0.001060f, -0.004472f, 0.001837f, -0.004454f, -0.005040f, -0.005424f, 0.006846f, -0.004961f, -0.000352f, 0.009498f, 0.013707f, 0.014413f, 0.005649f, 0.005235f, -0.001093f, 0.008249f, -0.003398f, 0.011778f, -0.002169f, 0.007582f, 0.005541f, -0.004570f, 0.000448f, -0.005025f, 0.005489f, 0.005116f, 0.001832f, -0.001588f, -0.009872f, 0.007080f, -0.010729f, -0.001066f, -0.011595f, 0.004430f, -0.000970f, -0.000879f, 0.002065f, -0.009515f, 0.000338f, 0.002766f, 0.015709f, 0.005367f, 0.002561f, 0.003989f, 0.006074f, 0.002962f, 0.003111f, -0.004470f, 0.003462f, 0.002938f, -0.006564f, -0.000300f, 0.000273f, 0.001631f, 0.002701f, -0.002948f, 0.001989f, -0.001819f, 0.000383f, -0.000139f, 0.003939f, 0.000675f, 0.000450f, 0.000739f, 0.001296f, -0.000572f, 0.003576f, -0.001718f, 0.001317f, 0.001672f, 0.003451f, 0.001929f, 0.004808f, -0.003237f, 0.001769f, -0.000555f, 0.005553f, 0.002419f, 0.001962f, -0.000446f, -0.000811f, 0.000718f, -0.001115f, -0.000881f, -0.003721f, -0.012428f, - -0.026060f, -0.021067f, 0.001334f, -0.018002f, -0.008839f, -0.025489f, -0.013541f, -0.015541f, 0.006204f, -0.008310f, -0.011010f, -0.003792f, 0.000634f, -0.006565f, -0.024712f, 0.006633f, -0.004346f, 0.002477f, -0.011168f, 0.011159f, 0.004170f, 0.000247f, -0.009930f, -0.004442f, 0.012697f, 0.008632f, 0.000598f, -0.001886f, -0.008458f, 0.005299f, 0.002786f, 0.005489f, -0.010132f, -0.000941f, -0.008222f, -0.007407f, -0.008041f, 0.000849f, 0.016447f, -0.013369f, 0.000331f, -0.012734f, 0.001349f, 0.005950f, 0.007487f, -0.013425f, 0.013566f, 0.016433f, -0.005366f, -0.003884f, -0.002818f, -0.000626f, 0.005266f, 0.006648f, 0.001689f, 0.004533f, -0.007953f, -0.001528f, -0.002922f, 0.014153f, -0.004373f, 0.015662f, -0.000350f, -0.004765f, 0.012521f, -0.001268f, -0.007408f, 0.002703f, 0.013564f, 0.015599f, -0.001115f, -0.004831f, -0.008422f, 0.005402f, -0.011258f, -0.001079f, 0.007626f, -0.005751f, 0.003466f, -0.000355f, -0.000015f, -0.004611f, 0.000158f, -0.003563f, -0.005605f, -0.000526f, 0.004845f, 0.002585f, 0.004828f, -0.002081f, -0.001485f, -0.003762f, 0.001553f, -0.003027f, 0.005028f, 0.002586f, - 0.007002f, 0.000718f, -0.001555f, -0.000554f, -0.001163f, -0.002392f, 0.003247f, -0.002106f, -0.001182f, 0.001373f, 0.001138f, -0.003347f, -0.001119f, 0.000990f, 0.000181f, -0.001811f, -0.003232f, -0.000127f, -0.002973f, -0.002027f, -0.001198f, 0.004082f, -0.000209f, 0.001470f, 0.001286f, 0.000260f, -0.002299f, -0.000623f, -0.000197f, -0.019970f, -0.020222f, -0.022980f, 0.006631f, -0.018578f, -0.007987f, 0.018202f, 0.008609f, -0.020182f, -0.001550f, 0.000373f, 0.008763f, 0.013483f, 0.022554f, -0.005980f, -0.008357f, -0.022184f, -0.027623f, -0.016044f, -0.005706f, 0.011355f, -0.011317f, 0.005549f, -0.015997f, 0.016598f, -0.012053f, 0.013360f, -0.006311f, 0.002009f, 0.003255f, -0.002497f, -0.011893f, 0.018697f, -0.016199f, -0.000660f, -0.008732f, 0.002414f, -0.010142f, 0.002432f, -0.040287f, 0.000788f, 0.018474f, -0.023732f, 0.005265f, 0.016437f, 0.005671f, -0.012302f, -0.001566f, 0.019755f, -0.024372f, 0.000039f, 0.009721f, 0.009616f, 0.009127f, -0.003378f, -0.003681f, -0.015534f, -0.007944f, 0.006520f, 0.010496f, 0.017105f, 0.020552f, -0.030426f, 0.011435f, -0.009113f, 0.002056f, -0.021426f, - -0.008934f, 0.017823f, 0.004146f, 0.002530f, -0.012006f, 0.000105f, 0.011250f, 0.008411f, 0.004917f, -0.010571f, -0.007076f, 0.011182f, -0.003134f, -0.004618f, -0.002590f, -0.007766f, 0.006499f, -0.001218f, -0.006393f, -0.002302f, -0.002322f, 0.001672f, -0.004205f, -0.004196f, 0.001278f, 0.001582f, 0.001509f, -0.002368f, -0.003743f, 0.003085f, -0.002467f, -0.008052f, -0.000918f, -0.002365f, 0.004708f, -0.003716f, 0.000047f, 0.000430f, 0.001756f, -0.005037f, -0.003061f, -0.001802f, 0.000327f, 0.005412f, -0.000845f, -0.001261f, 0.003102f, 0.000079f, 0.003044f, -0.001527f, -0.003832f, -0.001352f, -0.006345f, 0.001388f, -0.000277f, -0.004258f, 0.002373f, 0.023967f, 0.039952f, 0.022241f, 0.026036f, 0.003974f, 0.009233f, 0.035056f, -0.001117f, 0.001054f, 0.023971f, -0.011725f, 0.000037f, 0.006904f, 0.011939f, 0.019796f, -0.016129f, -0.022964f, 0.012639f, 0.007035f, -0.013359f, 0.002863f, 0.008168f, -0.005113f, 0.004684f, -0.012363f, -0.002819f, -0.014441f, 0.004419f, 0.015741f, 0.004870f, 0.013788f, 0.010636f, 0.011221f, -0.027338f, 0.001433f, 0.031769f, -0.003782f, -0.000592f, 0.029630f, - -0.003929f, -0.001048f, 0.004366f, -0.003905f, -0.000894f, 0.016401f, 0.025738f, -0.025309f, -0.004150f, 0.005051f, -0.007794f, 0.011948f, -0.004048f, 0.001175f, 0.001852f, -0.005519f, 0.022655f, -0.002906f, -0.008287f, 0.008498f, -0.008593f, -0.014151f, 0.004854f, 0.015453f, 0.005815f, -0.001720f, 0.003104f, 0.014785f, 0.007698f, 0.013245f, 0.003969f, 0.001645f, -0.000179f, -0.012999f, -0.002718f, -0.010186f, -0.002358f, -0.004281f, -0.023179f, -0.010031f, 0.001464f, 0.014923f, -0.006166f, 0.005764f, -0.003999f, -0.012251f, 0.005402f, 0.001318f, -0.003924f, 0.001910f, -0.007487f, 0.000359f, 0.001822f, 0.004558f, 0.006482f, -0.001578f, 0.004165f, -0.005642f, -0.008358f, -0.009990f, -0.001089f, 0.008985f, -0.001662f, -0.000744f, 0.002978f, 0.000453f, 0.000960f, 0.004810f, -0.002388f, -0.000948f, -0.002686f, 0.006928f, 0.000127f, -0.001099f, 0.000785f, -0.001835f, -0.003760f, -0.004547f, 0.001812f, 0.003887f, 0.004904f, 0.002638f, 0.001922f, -0.000967f, -0.000356f, -0.000029f, -0.001651f, -0.006987f, 0.002199f, 0.067435f, 0.009359f, -0.001455f, -0.000404f, -0.032389f, -0.009469f, 0.003102f, - -0.007554f, 0.014256f, 0.006276f, 0.023120f, -0.002959f, 0.000001f, -0.005010f, -0.009825f, 0.015512f, 0.002878f, 0.005919f, 0.008675f, 0.012132f, -0.011485f, -0.011547f, -0.013364f, -0.009299f, -0.007683f, -0.003381f, -0.018347f, -0.003631f, 0.029462f, 0.013873f, -0.005688f, -0.002048f, -0.003547f, 0.002409f, 0.010381f, -0.005175f, 0.042114f, -0.007400f, -0.001237f, -0.019221f, 0.007563f, 0.018338f, -0.003262f, -0.014170f, -0.001928f, 0.007011f, 0.014028f, 0.006019f, 0.019758f, 0.029585f, 0.009555f, -0.000725f, 0.017511f, 0.014304f, 0.005263f, 0.011029f, -0.037113f, 0.008480f, 0.000848f, -0.032839f, 0.011889f, -0.000880f, -0.014240f, 0.009108f, -0.015097f, -0.014674f, 0.017212f, 0.013532f, -0.007861f, -0.029088f, -0.013261f, 0.006825f, -0.016805f, -0.003529f, 0.007118f, 0.028310f, -0.004780f, 0.005610f, -0.014999f, -0.031400f, -0.016959f, -0.015125f, -0.006964f, 0.014781f, 0.001860f, -0.010526f, -0.003331f, -0.006623f, -0.006499f, 0.009390f, 0.007754f, 0.002906f, 0.006589f, 0.007892f, -0.006986f, -0.005149f, -0.005247f, 0.000915f, -0.005739f, -0.008384f, -0.008185f, 0.003288f, -0.002924f, - -0.001355f, 0.000904f, 0.002772f, -0.006998f, 0.003661f, -0.001693f, -0.001000f, -0.003238f, -0.001284f, -0.004500f, 0.010476f, -0.006835f, -0.002491f, 0.001641f, -0.007045f, -0.006855f, -0.005222f, 0.000149f, 0.005224f, 0.004235f, -0.036176f, 0.022944f, -0.004568f, -0.022664f, -0.001339f, 0.021377f, -0.024380f, -0.004651f, -0.019736f, 0.013209f, 0.003738f, -0.006711f, -0.008639f, -0.002563f, 0.012452f, 0.010235f, 0.005116f, 0.013776f, 0.011342f, 0.001591f, 0.013783f, 0.016669f, 0.006332f, 0.009399f, -0.016990f, -0.007732f, -0.011949f, 0.010650f, 0.012989f, 0.005163f, 0.003747f, -0.007492f, -0.006161f, -0.004447f, -0.004669f, -0.013713f, 0.012513f, 0.003338f, 0.000454f, -0.014702f, -0.004887f, 0.024327f, -0.017627f, -0.018034f, -0.028607f, 0.010230f, -0.021548f, 0.031097f, 0.035178f, 0.024862f, 0.013966f, 0.001735f, 0.027420f, -0.014330f, 0.021473f, -0.002484f, -0.015946f, 0.001508f, 0.000910f, -0.033076f, -0.015242f, 0.012901f, 0.001552f, -0.005309f, 0.004690f, 0.028393f, 0.018818f, -0.031875f, -0.008513f, -0.000137f, -0.001214f, 0.009636f, 0.013360f, -0.000310f, -0.026203f, 0.010737f, - -0.015356f, -0.047599f, -0.014308f, -0.009416f, 0.014522f, 0.024546f, 0.007819f, 0.001546f, 0.000883f, 0.001072f, 0.001808f, 0.017586f, -0.000287f, 0.002909f, 0.001872f, 0.009059f, -0.015599f, -0.000459f, 0.004342f, 0.011732f, 0.013362f, 0.005212f, 0.007797f, 0.012499f, 0.015666f, 0.021004f, 0.007545f, 0.010586f, 0.009752f, 0.000883f, -0.001272f, -0.003364f, -0.002875f, 0.000486f, 0.003883f, -0.011684f, -0.003310f, 0.007423f, 0.010990f, -0.000822f, 0.002855f, -0.001152f, 0.004434f, 0.000477f, 0.006939f, -0.000768f, 0.006643f, -0.004774f, 0.008597f, 0.000586f, 0.008103f, -0.029946f, 0.002955f, 0.003369f, 0.018720f, 0.004074f, 0.047879f, 0.007662f, -0.019804f, -0.006363f, -0.016679f, 0.030311f, -0.038868f, -0.003435f, 0.026819f, -0.058631f, -0.023181f, -0.019762f, -0.020536f, -0.038876f, 0.003654f, -0.006786f, -0.016713f, -0.002091f, 0.018385f, 0.002352f, 0.002420f, -0.011442f, 0.004543f, -0.003848f, 0.004517f, 0.000060f, 0.002893f, 0.015045f, -0.003662f, -0.000893f, 0.030516f, -0.019710f, -0.003989f, 0.005312f, 0.026286f, -0.013770f, 0.037538f, -0.011330f, -0.015174f, -0.032108f, - -0.041832f, -0.012168f, -0.031136f, 0.015223f, -0.009448f, -0.023339f, 0.003194f, 0.003814f, 0.017226f, 0.014604f, 0.006095f, -0.002922f, 0.053147f, 0.029445f, -0.003344f, 0.005220f, 0.018211f, 0.013641f, 0.008855f, -0.007160f, -0.001018f, -0.009500f, -0.012367f, -0.011425f, 0.008034f, 0.041477f, -0.028947f, -0.007062f, -0.016471f, 0.029899f, -0.007835f, 0.009288f, -0.004225f, 0.014056f, -0.032777f, -0.024514f, -0.008432f, 0.013981f, 0.004468f, 0.012076f, -0.007210f, 0.007461f, 0.011289f, 0.009896f, 0.004738f, -0.001929f, -0.013938f, 0.008845f, 0.003357f, -0.011853f, -0.008268f, 0.007466f, -0.007743f, -0.005893f, -0.000172f, 0.008035f, -0.007363f, 0.009675f, -0.005957f, 0.013809f, -0.007585f, 0.001567f, 0.004903f, 0.002532f, -0.006548f, -0.012570f, 0.009864f, -0.003762f, -0.002724f, -0.000963f, -0.001200f, -0.003963f, 0.009378f, 0.011572f, 0.008145f, 0.007087f, -0.001246f, 0.004092f, 0.013397f, -0.007138f, 0.005383f, 0.002314f, -0.000165f, 0.002930f, -0.000705f, 0.000725f, -0.004635f, 0.006161f, 0.001953f, 0.005878f, -0.001731f, 0.002577f, -0.001003f, -0.004816f, 0.003518f, 0.000893f, - 0.004145f, 0.006001f, -0.000892f, -0.023986f, -0.022860f, 0.012843f, -0.010198f, -0.043110f, 0.021391f, -0.012916f, 0.017098f, -0.012466f, 0.021497f, 0.014494f, 0.017884f, 0.028429f, 0.004691f, 0.024042f, 0.009765f, 0.006152f, 0.016441f, 0.005576f, 0.004549f, 0.001094f, -0.000631f, -0.015404f, 0.013705f, -0.031198f, 0.013664f, 0.003177f, -0.008872f, -0.016847f, -0.000397f, 0.011958f, -0.013857f, -0.005879f, -0.020742f, -0.008124f, -0.025544f, 0.001547f, 0.014115f, -0.000328f, -0.003282f, -0.016305f, -0.028211f, -0.020581f, 0.022109f, 0.007302f, -0.009170f, -0.016293f, -0.003945f, -0.001365f, -0.027584f, 0.023317f, 0.021311f, -0.027265f, -0.026403f, -0.043380f, -0.006564f, -0.051891f, 0.013993f, 0.020124f, 0.010649f, -0.003290f, -0.006590f, -0.005411f, 0.021298f, 0.021450f, 0.024839f, -0.016217f, -0.012827f, 0.016541f, -0.007142f, -0.007795f, -0.030369f, 0.013445f, 0.024854f, 0.028383f, -0.006679f, 0.015523f, -0.008725f, 0.004628f, 0.015575f, 0.007975f, -0.010940f, 0.005098f, -0.018743f, -0.011471f, -0.007765f, 0.002740f, 0.007940f, 0.006746f, -0.007417f, -0.006866f, -0.002755f, -0.008461f, - -0.001644f, -0.011639f, -0.014416f, -0.007628f, -0.006001f, -0.004479f, -0.001910f, -0.004254f, -0.005725f, 0.001205f, -0.000253f, 0.008309f, -0.002885f, 0.010627f, -0.002805f, 0.008470f, 0.000585f, -0.004882f, 0.002185f, 0.021538f, 0.006695f, 0.010948f, -0.004975f, -0.008802f, 0.001782f, 0.007785f, -0.007545f, 0.015583f, 0.015746f, 0.004423f, 0.007392f, 0.003191f, -0.018018f, -0.009583f, -0.008818f, -0.001287f, -0.000486f, -0.007881f, 0.041491f, 0.047710f, -0.018816f, -0.001188f, 0.012996f, -0.038818f, -0.007098f, 0.047973f, 0.001752f, -0.052552f, 0.005819f, 0.015954f, -0.001196f, 0.018045f, 0.043096f, -0.017828f, 0.038952f, 0.020900f, 0.033247f, 0.009117f, -0.025390f, -0.027293f, 0.021746f, -0.024796f, -0.038581f, -0.011436f, -0.045851f, 0.009864f, -0.003071f, 0.016048f, 0.014012f, 0.009764f, 0.005184f, -0.002111f, 0.001292f, 0.023040f, 0.011376f, -0.045257f, -0.005274f, 0.014770f, 0.028899f, 0.015808f, 0.035800f, 0.031995f, 0.025280f, -0.012291f, -0.004351f, 0.006358f, 0.065178f, -0.027657f, 0.004737f, 0.013464f, 0.025533f, -0.010913f, -0.036305f, -0.007990f, -0.009200f, -0.022224f, - -0.040162f, -0.044193f, 0.011950f, -0.024979f, -0.018618f, 0.010899f, 0.034394f, 0.042035f, 0.000710f, -0.002860f, -0.000616f, 0.032159f, -0.022241f, -0.011794f, 0.038508f, -0.042597f, 0.004550f, -0.033770f, -0.022438f, 0.001957f, 0.044653f, -0.007804f, -0.030779f, 0.039396f, -0.041041f, 0.001100f, -0.049521f, -0.004932f, -0.006363f, 0.013948f, 0.027288f, -0.020929f, -0.011732f, -0.014990f, 0.003511f, 0.000379f, -0.015483f, 0.008034f, -0.004722f, -0.004985f, -0.006727f, -0.005951f, -0.018319f, 0.003380f, -0.008939f, 0.005707f, 0.004663f, -0.002051f, -0.004233f, 0.010252f, -0.000228f, -0.000601f, -0.021598f, 0.002415f, -0.002067f, -0.001514f, 0.019671f, 0.001177f, 0.005369f, -0.009165f, 0.002957f, -0.005670f, -0.011877f, 0.004200f, -0.023933f, 0.006981f, -0.008439f, 0.016786f, -0.014366f, -0.002877f, 0.002977f, -0.002963f, -0.003981f, -0.008384f, 0.012856f, -0.009743f, 0.014020f, -0.006161f, -0.009186f, 0.009010f, 0.007747f, 0.023206f, -0.027157f, -0.058429f, -0.014699f, -0.019924f, -0.020237f, -0.011527f, 0.001994f, -0.019576f, -0.017913f, 0.006344f, 0.012415f, -0.012047f, 0.030545f, -0.002726f, - 0.020205f, -0.009932f, -0.002029f, 0.018725f, -0.026599f, -0.015511f, -0.009579f, 0.027598f, -0.007297f, -0.028960f, -0.011984f, 0.005104f, -0.015165f, 0.012918f, -0.020661f, -0.019336f, 0.028184f, 0.009042f, -0.023812f, 0.014566f, -0.003605f, -0.017512f, -0.002598f, -0.029438f, -0.026675f, 0.005717f, 0.044184f, 0.018744f, 0.013176f, -0.035513f, 0.026942f, -0.002620f, 0.020434f, -0.012010f, -0.026002f, 0.012783f, -0.047230f, 0.039276f, -0.063641f, -0.039220f, 0.013644f, 0.035099f, 0.001778f, 0.041913f, -0.019003f, 0.011388f, -0.029620f, 0.039340f, 0.011561f, 0.029389f, 0.012366f, 0.007301f, -0.010038f, -0.009154f, -0.019886f, -0.006107f, -0.002076f, -0.032938f, -0.020916f, 0.003427f, -0.051646f, 0.003346f, 0.055970f, 0.017460f, 0.019536f, 0.005965f, -0.026800f, -0.018964f, -0.006247f, -0.005763f, -0.002822f, -0.009576f, -0.014581f, 0.011798f, 0.006443f, 0.010742f, 0.015074f, -0.015802f, 0.009540f, -0.005734f, -0.009802f, -0.006194f, 0.013289f, -0.004419f, -0.016667f, -0.023251f, -0.001213f, -0.013840f, -0.007769f, -0.014206f, -0.005126f, -0.009182f, -0.006833f, 0.022674f, -0.013255f, 0.005479f, - 0.005812f, -0.017502f, 0.019292f, 0.000559f, 0.011083f, 0.016425f, -0.008592f, 0.008298f, 0.002468f, -0.000376f, 0.003822f, 0.013782f, -0.008944f, -0.007286f, 0.011216f, 0.001384f, 0.004880f, -0.003442f, -0.004735f, 0.000729f, 0.009360f, -0.043973f, -0.041938f, 0.004572f, 0.016607f, -0.020483f, -0.094271f, -0.019126f, -0.000960f, 0.012738f, -0.032206f, 0.003221f, -0.018171f, -0.003210f, -0.025756f, -0.027743f, 0.024590f, -0.026967f, -0.034156f, -0.005217f, -0.024052f, -0.025443f, 0.008444f, -0.037177f, -0.012946f, 0.023197f, 0.051548f, 0.042502f, -0.002490f, -0.025162f, 0.008510f, 0.038304f, -0.002232f, 0.025634f, -0.007705f, 0.032166f, 0.017334f, -0.032076f, 0.051322f, -0.039012f, -0.021340f, 0.035349f, -0.038912f, 0.012073f, -0.009316f, -0.028446f, 0.002923f, 0.044310f, -0.009582f, -0.025290f, 0.015928f, 0.021986f, -0.001105f, 0.009378f, -0.063529f, 0.015698f, 0.002150f, 0.032282f, 0.014914f, -0.027179f, 0.026979f, -0.014259f, -0.002880f, -0.025154f, 0.013132f, 0.037414f, -0.008098f, -0.006836f, -0.038351f, -0.053078f, 0.029976f, -0.003402f, 0.024056f, -0.028815f, 0.021794f, 0.018279f, - -0.038606f, 0.002669f, 0.033442f, 0.019856f, -0.018291f, -0.030173f, 0.027257f, 0.004994f, -0.024312f, 0.023068f, 0.003232f, 0.010544f, 0.002184f, 0.009830f, 0.001254f, 0.025717f, -0.000154f, 0.009159f, -0.002217f, 0.001512f, 0.021912f, -0.006765f, 0.000042f, 0.005561f, -0.006398f, 0.004551f, 0.001483f, 0.015945f, -0.001327f, -0.016781f, -0.002658f, 0.002647f, -0.010798f, -0.002602f, 0.000554f, -0.006435f, 0.022660f, -0.005032f, -0.013888f, 0.001918f, 0.014196f, 0.007386f, -0.001378f, 0.008858f, 0.000586f, -0.009231f, -0.001825f, 0.024828f, 0.016033f, -0.016076f, -0.012724f, 0.003943f, -0.005739f, 0.035542f, 0.035277f, -0.095450f, 0.035867f, 0.048664f, -0.012528f, 0.033910f, -0.000532f, 0.017663f, -0.007957f, -0.019483f, -0.012897f, 0.020525f, 0.004605f, -0.027444f, -0.018141f, -0.002373f, -0.013153f, -0.006892f, -0.003165f, 0.059342f, 0.011697f, 0.013281f, -0.036798f, 0.025654f, -0.026260f, 0.000566f, 0.004384f, -0.039814f, 0.018478f, -0.014648f, 0.001883f, -0.016014f, -0.029117f, 0.000966f, 0.018990f, 0.054999f, 0.019511f, 0.005876f, 0.033704f, 0.014534f, -0.004300f, 0.005751f, - 0.000647f, 0.009750f, 0.005347f, 0.037364f, 0.016064f, 0.011419f, 0.005924f, -0.004590f, -0.011771f, -0.036429f, -0.030950f, 0.004448f, -0.004610f, -0.022408f, 0.002991f, 0.027639f, -0.042106f, 0.040647f, 0.010208f, -0.014726f, -0.001905f, -0.010656f, -0.003582f, 0.024693f, 0.010492f, 0.008167f, -0.028691f, -0.005608f, -0.039132f, -0.011821f, 0.010602f, 0.014404f, 0.013941f, -0.016665f, -0.013759f, 0.030332f, -0.003793f, -0.048687f, 0.006782f, -0.000712f, -0.000776f, -0.028675f, 0.009215f, 0.021761f, -0.003227f, 0.031243f, 0.020694f, -0.010266f, -0.000828f, -0.013292f, 0.016521f, -0.001270f, 0.005271f, 0.002728f, -0.007323f, -0.005723f, -0.001558f, -0.005938f, 0.006537f, -0.013205f, -0.001583f, 0.000971f, 0.006964f, -0.006718f, -0.008306f, -0.009376f, 0.000241f, -0.002151f, 0.005046f, 0.003251f, -0.000571f, -0.005788f, 0.006178f, 0.005078f, 0.000658f, 0.007268f, 0.000989f, 0.005252f, 0.004383f, 0.006910f, -0.002172f, -0.024323f, -0.001243f, -0.006799f, 0.004891f, -0.011234f, -0.085037f, 0.131774f, -0.130275f, -0.058855f, -0.029788f, -0.008839f, 0.076177f, 0.022449f, 0.085287f, 0.021361f, - -0.017451f, 0.067276f, 0.029077f, -0.022684f, 0.031508f, 0.028593f, 0.015953f, 0.026762f, 0.025886f, -0.022980f, -0.037231f, -0.026432f, 0.004316f, -0.024295f, 0.012893f, 0.007744f, 0.016715f, -0.002502f, 0.011564f, 0.003998f, 0.041920f, 0.010038f, 0.003980f, 0.013001f, -0.009724f, -0.000477f, 0.014830f, -0.026166f, -0.037322f, -0.025290f, -0.021688f, 0.003840f, 0.011145f, -0.026224f, -0.004226f, -0.015726f, -0.064719f, 0.032764f, -0.011637f, 0.016652f, -0.033999f, -0.011435f, -0.031481f, -0.043115f, 0.016434f, 0.011622f, 0.042194f, -0.001659f, 0.037193f, -0.015542f, 0.031178f, 0.003829f, 0.044458f, -0.031238f, 0.027559f, 0.033137f, 0.018365f, 0.019302f, 0.001755f, -0.013281f, 0.052066f, 0.034939f, -0.003296f, 0.062838f, 0.015160f, 0.007539f, 0.026980f, 0.040588f, 0.000659f, 0.018781f, 0.023490f, 0.010875f, 0.010364f, -0.004456f, 0.002244f, -0.036382f, -0.009178f, -0.004703f, 0.006016f, 0.007925f, 0.007442f, 0.024591f, 0.010969f, 0.012663f, -0.009326f, -0.001077f, 0.009784f, 0.001276f, 0.001023f, -0.008436f, 0.010237f, 0.008763f, 0.005050f, -0.006514f, 0.012962f, -0.001650f, - 0.002513f, -0.009578f, -0.008912f, -0.003383f, 0.001265f, 0.001435f, -0.005734f, -0.019828f, 0.004942f, 0.004689f, -0.005178f, -0.000685f, -0.004879f, 0.001853f, -0.007081f, 0.005302f, -0.006799f, 0.000654f, 0.018371f, -0.004779f, -0.017573f, 0.011983f, 0.008752f, 0.007440f, -0.003965f, -0.002013f, 0.080670f, 0.006707f, -0.048216f, -0.071445f, -0.037536f, -0.029978f, 0.009757f, 0.058637f, -0.000783f, -0.025212f, 0.052883f, 0.004035f, -0.042432f, 0.037998f, 0.041718f, -0.007946f, -0.000647f, -0.004376f, -0.037584f, 0.041549f, 0.002468f, 0.023430f, -0.013202f, -0.033918f, -0.058555f, 0.010294f, 0.007471f, 0.008667f, -0.008223f, 0.018018f, -0.019460f, -0.000659f, -0.037556f, -0.047268f, 0.016457f, -0.006379f, 0.014903f, -0.007230f, -0.017390f, -0.042880f, -0.065846f, 0.033264f, -0.036826f, 0.014594f, 0.031595f, -0.002729f, -0.017019f, -0.032842f, -0.023376f, 0.075244f, 0.017118f, -0.004007f, 0.009730f, -0.010576f, -0.030771f, -0.010632f, 0.043795f, -0.043083f, -0.071657f, -0.025581f, -0.022875f, -0.100797f, -0.078467f, -0.042780f, -0.043741f, 0.010110f, -0.000686f, -0.035524f, -0.067074f, -0.027121f, - -0.031846f, -0.023375f, -0.018560f, -0.014170f, -0.040268f, -0.039042f, 0.029996f, -0.034767f, 0.001826f, 0.004409f, -0.042229f, -0.008105f, -0.030925f, -0.039083f, -0.009675f, -0.007036f, 0.017386f, 0.006660f, 0.023498f, -0.025294f, 0.005881f, 0.013231f, -0.000531f, -0.033767f, -0.019066f, -0.022953f, -0.002599f, 0.009861f, -0.011662f, -0.016916f, 0.028056f, 0.016086f, 0.020043f, -0.034578f, 0.005218f, -0.017318f, -0.002394f, 0.000467f, 0.002824f, -0.005003f, 0.033453f, 0.001692f, -0.006545f, 0.003297f, 0.011338f, 0.016146f, 0.013525f, -0.003284f, 0.019538f, -0.015563f, -0.008360f, -0.007321f, -0.026992f, -0.001842f, -0.008705f, -0.034986f, -0.029024f, 0.003768f, 0.000726f, -0.001717f, -0.009394f, -0.008632f, -0.003297f, -0.006192f, 0.054576f, -0.005882f, 0.051962f, 0.078603f, -0.015030f, -0.083896f, -0.082519f, -0.017028f, 0.038592f, 0.005961f, -0.064895f, 0.051015f, -0.011638f, -0.041533f, 0.051117f, -0.096709f, -0.021072f, 0.001014f, -0.017848f, -0.014414f, 0.117365f, -0.048963f, 0.109951f, -0.004998f, 0.022666f, -0.007719f, -0.044257f, 0.071268f, 0.018220f, 0.074080f, -0.051019f, -0.049283f, - 0.015519f, -0.079769f, -0.024580f, -0.012468f, -0.056311f, 0.116439f, -0.010638f, -0.119972f, -0.002355f, -0.053271f, 0.015166f, 0.030024f, 0.047753f, 0.039569f, -0.048045f, -0.029392f, -0.074470f, -0.021317f, -0.034748f, 0.032052f, 0.020479f, -0.003675f, 0.021342f, -0.014473f, -0.052939f, -0.021168f, -0.061694f, 0.063126f, -0.047793f, -0.032417f, 0.055953f, 0.013645f, 0.094897f, 0.046513f, 0.007950f, 0.050614f, -0.067789f, -0.024863f, -0.069968f, -0.067343f, -0.010773f, -0.009551f, -0.085256f, 0.087841f, -0.015720f, -0.067657f, -0.101452f, 0.006913f, -0.020347f, 0.074399f, -0.004983f, 0.004130f, 0.009712f, -0.013005f, 0.013832f, 0.016953f, 0.034587f, -0.023030f, -0.023672f, -0.014752f, 0.000880f, -0.003998f, -0.005037f, -0.021753f, 0.024422f, 0.015447f, 0.029175f, -0.006639f, -0.015967f, -0.013327f, -0.005289f, 0.005739f, 0.039168f, 0.041945f, -0.006865f, 0.002531f, 0.022614f, -0.006087f, -0.052289f, -0.025150f, 0.003247f, 0.007404f, -0.004102f, -0.033099f, 0.011692f, -0.003750f, -0.007885f, -0.037952f, 0.015008f, 0.013111f, 0.045533f, 0.007634f, 0.011300f, -0.002055f, 0.018821f, 0.003458f, - -0.010686f, -0.020049f, -0.001444f, 0.002426f, 0.014886f, 0.006975f, -0.008522f, 0.001457f, -0.157272f, 0.081004f, 0.019136f, -0.034467f, -0.025314f, 0.049876f, 0.028028f, -0.030879f, -0.007981f, -0.074647f, -0.030744f, 0.031119f, -0.063858f, 0.002028f, 0.011797f, -0.020042f, -0.042518f, -0.029646f, 0.057875f, 0.022692f, -0.011329f, -0.083283f, 0.028279f, 0.051657f, 0.030306f, -0.064604f, -0.042518f, -0.000206f, 0.070003f, 0.005740f, -0.016699f, 0.010512f, 0.002433f, 0.035176f, -0.092845f, -0.080966f, 0.099758f, 0.014946f, 0.041823f, -0.095243f, 0.020788f, -0.004783f, 0.069588f, -0.062789f, -0.011766f, -0.095498f, 0.033355f, 0.067917f, 0.016183f, -0.042731f, 0.027338f, 0.098801f, -0.044398f, -0.047932f, -0.037057f, 0.013572f, 0.004261f, 0.086586f, -0.025913f, 0.006124f, -0.046881f, 0.014856f, -0.051424f, -0.002259f, 0.033179f, -0.064941f, 0.061646f, 0.018108f, -0.044617f, -0.070216f, -0.042188f, -0.004100f, 0.062177f, -0.112923f, -0.024390f, 0.101074f, 0.013473f, -0.046446f, -0.021485f, -0.032936f, 0.095825f, -0.011205f, -0.100297f, -0.012253f, 0.000017f, -0.025341f, 0.040974f, -0.007615f, - -0.014025f, 0.030450f, -0.002757f, -0.021188f, -0.026273f, -0.003356f, -0.023167f, 0.006448f, 0.017072f, 0.021943f, -0.020165f, -0.015468f, 0.020894f, -0.014295f, 0.019785f, -0.011096f, -0.020122f, 0.026980f, -0.015142f, 0.024232f, 0.034215f, 0.001582f, -0.049593f, -0.004010f, -0.029567f, 0.011667f, 0.018299f, 0.011315f, -0.034670f, -0.000298f, -0.026189f, 0.023807f, -0.007381f, -0.015666f, -0.010023f, 0.004627f, 0.008360f, -0.019198f, 0.008487f, 0.103770f, 0.053756f, 0.023743f, 0.024501f, 0.024784f, -0.016181f, -0.016642f, -0.034768f, 0.004184f, 0.011681f, 0.008952f, -0.001729f, -0.060154f, 0.029015f, 0.011511f, -0.041323f, -0.035587f, -0.017743f, -0.020913f, 0.015803f, -0.015689f, -0.017386f, 0.004889f, -0.001193f, -0.032058f, 0.041033f, -0.029509f, -0.009218f, -0.030655f, -0.027343f, 0.019597f, -0.011525f, -0.004241f, 0.010479f, 0.012708f, -0.003116f, -0.040724f, 0.009856f, 0.062909f, 0.013680f, -0.099277f, -0.006078f, -0.021734f, -0.030608f, 0.020630f, 0.022515f, 0.051038f, 0.024851f, -0.064839f, 0.070226f, -0.017592f, -0.048419f, 0.145689f, -0.029265f, -0.012722f, -0.047995f, -0.116243f, - 0.053261f, 0.058686f, 0.019568f, 0.022005f, -0.099054f, 0.028589f, -0.007636f, -0.024283f, -0.017351f, 0.003719f, -0.009318f, 0.015265f, 0.018990f, 0.003839f, -0.014606f, -0.028654f, 0.030190f, 0.037520f, 0.052730f, -0.026302f, -0.005239f, 0.010906f, -0.007652f, 0.027304f, -0.067986f, 0.006304f, 0.012129f, -0.032199f, 0.005358f, -0.026880f, 0.010497f, 0.000176f, 0.008429f, -0.004708f, 0.001946f, 0.002303f, -0.001315f, -0.001243f, -0.009013f, -0.007392f, 0.018229f, -0.010395f, -0.000647f, 0.013109f, 0.003017f, 0.000262f, 0.022258f, -0.018695f, 0.013636f, 0.015612f, -0.000984f, -0.003564f, -0.018832f, 0.014878f, -0.035215f, -0.010255f, 0.022959f, 0.006259f, -0.009629f, -0.024196f, 0.007175f, -0.005922f, 0.028551f, 0.003677f, -0.059641f, -0.141111f, -0.239975f, 0.020008f, 0.243119f, 0.023938f, 0.517345f, 0.523859f, 0.189400f, 0.525720f, 0.303918f, -0.087873f, -0.008785f, -0.046894f, -0.398395f, -0.329214f, -0.232036f, -0.412374f, -0.395009f, -0.111853f, -0.248745f, -0.215611f, 0.048655f, 0.069863f, -0.053882f, 0.077552f, 0.112438f, 0.000590f, 0.007655f, 0.225309f, 0.149529f, 0.057958f, - 0.165787f, 0.311365f, 0.145988f, 0.172000f, 0.383997f, 0.152866f, 0.068938f, 0.333149f, 0.320191f, 0.014941f, 0.204782f, 0.363397f, 0.000622f, 0.092961f, 0.214845f, -0.007494f, -0.175688f, 0.087956f, -0.036667f, -0.337054f, -0.315217f, -0.288626f, -0.562888f, -0.831062f, -0.579226f, -0.808525f, -1.078585f, -0.760082f, -0.616867f, -0.832910f, -0.532613f, -0.255273f, -0.247023f, -0.045834f, 0.248608f, 0.502429f, 0.567726f, 0.760790f, 1.033884f, 1.016921f, 0.961109f, 1.083612f, 1.080994f, 0.883808f, 0.710722f, 0.762045f, 0.505887f, 0.181147f, 0.241313f, 0.060425f, -0.443536f, -0.284104f, -0.301394f, -0.618087f, -0.522815f, -0.374819f, -0.440091f, -0.508278f, -0.316806f, -0.275725f, -0.385095f, -0.316587f, -0.164766f, -0.263112f, -0.347929f, -0.207929f, -0.147269f, -0.274763f, -0.155394f, 0.038063f, -0.085907f, -0.097133f, 0.111529f, -0.002114f, -0.139536f, -0.016108f, -0.087565f, -0.315033f, -0.219689f, -0.164722f, -0.293185f, -0.129521f, 0.074111f, 0.142939f, 0.261227f, 0.435460f, 0.504776f, 0.530892f, 0.593900f, 0.633453f, 0.622662f, 0.575463f, 0.534549f, 0.455444f, 0.361343f, 0.223542f, - 0.166973f, 0.022380f, -0.139852f, -0.244595f, -0.394130f, -0.566022f, -0.551544f, -0.467958f, -0.424991f, -0.367175f, -0.251623f, -0.210445f, -0.188881f, -0.134454f, -0.088475f, -0.077547f, -0.031815f, -0.017270f, -0.012323f, 0.004104f, 0.036076f, 0.059851f, 0.074813f, 0.089332f, 0.101892f, 0.100483f, 0.097401f, 0.083984f, 0.082135f, 0.059591f, 0.046792f, 0.024186f, 0.014046f, -0.010400f, -0.026507f, -0.035605f, -0.033689f, -0.044670f, -0.044018f, -0.043727f, -0.044652f, -0.050850f, -0.036588f, -0.037501f, -0.023303f, 0.000729f, 0.029858f, 0.043269f, 0.070094f, 0.082096f, 0.090717f, 0.096561f, 0.109928f, 0.103489f, 0.099792f, 0.096143f, 0.085394f, 0.057418f, 0.050018f, 0.039778f, 0.025660f, 0.008237f, 0.007956f, -0.011711f, -0.022722f, -0.034749f, -0.045602f, -0.065646f, -0.070694f, -0.084511f, -0.094446f, -0.103406f, -0.102051f, -0.110166f, -0.107764f, -0.102410f, -0.088926f, -0.077857f, -0.052615f, -0.033868f, -0.010978f, 0.004057f, 0.027155f, 0.037348f, 0.050254f, 0.055629f, 0.062512f, 0.058876f, 0.062532f, 0.055856f, 0.055882f, 0.046673f, 0.044097f, 0.033738f, 0.028178f, 0.016465f, - 0.013704f, 0.003976f, 0.003570f, -0.002300f, -0.000550f, -0.005665f, -0.002634f, -0.006032f, -0.002140f, -0.005259f, -0.000920f, -0.004005f, -0.000001f, -0.003166f, 0.000956f, -0.002047f} - }, - { - {0.019166f, -0.000861f, -0.000939f, 0.006013f, -0.002401f, 0.006879f, -0.003604f, -0.008985f, 0.003216f, 0.008889f, 0.001402f, -0.001457f, 0.011976f, 0.000338f, 0.000573f, -0.004124f, -0.002182f, 0.018475f, 0.002661f, -0.012648f, -0.009224f, 0.013013f, -0.001109f, 0.013498f, 0.001035f, -0.002638f, -0.001193f, 0.010181f, 0.002111f, 0.021441f, 0.009552f, 0.005861f, -0.001073f, 0.004719f, 0.009811f, -0.002448f, -0.007164f, -0.009162f, -0.001660f, 0.008155f, 0.007146f, 0.010900f, 0.003164f, -0.006178f, -0.006285f, -0.002704f, 0.004662f, -0.001519f, 0.002604f, -0.001298f, -0.009662f, -0.007574f, 0.003071f, 0.007070f, 0.004469f, -0.003574f, -0.003935f, -0.000318f, 0.010718f, 0.005363f, -0.001078f, -0.002423f, 0.005017f, 0.003283f, 0.002203f, -0.005464f, 0.002814f, 0.005056f, -0.000565f, 0.007745f, 0.009277f, -0.016088f, 0.005984f, 0.003241f, 0.010565f, 0.003124f, 0.000923f, 0.004745f, -0.002034f, -0.007517f, -0.002690f, -0.004542f, -0.001414f, -0.000962f, 0.004647f, -0.000262f, -0.003557f, 0.000025f, 0.000628f, 0.002691f, -0.002278f, 0.000414f, -0.000368f, 0.000945f, 0.001483f, 0.000948f, - 0.001888f, 0.000157f, 0.001202f, -0.002421f, 0.005415f, 0.008310f, 0.018110f, -0.014732f, 0.003351f, -0.003272f, 0.000250f, -0.018917f, 0.001937f, 0.011301f, -0.016741f, -0.003528f, 0.011254f, 0.029708f, 0.004305f, -0.000252f, 0.002156f, -0.018688f, -0.000562f, 0.013689f, 0.012234f, 0.000284f, -0.000350f, 0.001081f, 0.006438f, 0.010667f, 0.011332f, 0.012159f, -0.005419f, 0.002589f, -0.000709f, 0.004658f, 0.001353f, 0.002985f, -0.018880f, -0.005235f, 0.002982f, 0.001494f, -0.010428f, -0.000387f, 0.007167f, -0.008372f, 0.006601f, 0.006013f, 0.011226f, 0.005192f, -0.004253f, 0.005537f, 0.012541f, -0.007060f, -0.011274f, 0.003740f, 0.002647f, 0.002155f, 0.005956f, -0.005063f, -0.009114f, -0.013673f, 0.011024f, -0.002079f, -0.002553f, -0.004484f, 0.004849f, -0.000222f, 0.007155f, 0.014051f, 0.002874f, 0.000906f, -0.000740f, -0.003458f, -0.010984f, 0.017056f, 0.004228f, -0.002096f, 0.008859f, -0.001444f, -0.010127f, -0.008971f, -0.001967f, 0.003312f, -0.014778f, 0.001165f, -0.008757f, -0.001710f, 0.004524f, -0.000311f, 0.002382f, -0.002701f, -0.004830f, -0.001082f, 0.002450f, 0.003296f, - 0.002488f, -0.000569f, -0.001481f, -0.000143f, 0.002419f, -0.001330f, -0.002462f, -0.001896f, 0.000471f, -0.000987f, -0.008907f, -0.007637f, -0.009659f, -0.013603f, 0.007591f, -0.000128f, -0.006575f, -0.002549f, -0.003386f, 0.003010f, -0.005472f, -0.009327f, 0.002079f, -0.006049f, 0.015959f, 0.021331f, 0.016780f, -0.011603f, -0.000502f, -0.000724f, 0.004448f, -0.006421f, 0.013152f, 0.008326f, -0.001941f, 0.006439f, 0.009961f, 0.000854f, 0.002372f, 0.003538f, 0.009676f, -0.000888f, 0.003564f, 0.011689f, 0.001130f, -0.000091f, -0.005144f, 0.008422f, -0.012714f, 0.005155f, -0.001830f, -0.002560f, 0.008377f, -0.008109f, -0.001087f, 0.000328f, -0.011060f, 0.004612f, -0.002277f, 0.005136f, -0.000414f, -0.004716f, 0.003283f, 0.003540f, -0.000639f, 0.009814f, -0.000757f, 0.011315f, -0.000229f, -0.007457f, -0.003396f, 0.000471f, -0.005178f, 0.010094f, 0.005187f, 0.008670f, 0.009730f, -0.004242f, -0.009753f, -0.006296f, -0.000073f, -0.001762f, -0.002128f, 0.008016f, 0.010007f, -0.001469f, -0.005579f, 0.003540f, 0.002685f, -0.003822f, -0.005328f, 0.001843f, -0.007625f, 0.001879f, -0.000209f, -0.000202f, - -0.002089f, -0.007125f, 0.001554f, -0.002785f, 0.000231f, 0.003238f, -0.000066f, -0.003624f, 0.001770f, -0.004983f, -0.000155f, 0.000354f, -0.001216f, 0.000453f, 0.000897f, -0.002712f, -0.000017f, 0.000365f, -0.003316f, 0.000719f, -0.001043f, -0.000171f, -0.001775f, -0.000018f, 0.000841f, 0.002874f, -0.028173f, -0.006620f, -0.008785f, -0.015207f, 0.005175f, 0.004009f, -0.001828f, 0.007103f, -0.000993f, 0.005999f, 0.008429f, -0.003686f, -0.009856f, -0.012385f, -0.004743f, -0.011531f, 0.000898f, 0.001306f, -0.005042f, 0.006591f, -0.005663f, 0.003550f, -0.002590f, -0.006562f, -0.017531f, -0.006788f, 0.001558f, 0.002791f, 0.004603f, -0.006481f, 0.004651f, 0.007083f, 0.002331f, 0.016028f, 0.003978f, -0.000370f, 0.012381f, -0.008710f, 0.007152f, 0.001219f, -0.004163f, -0.005883f, 0.007987f, 0.001118f, 0.002527f, -0.018831f, -0.003477f, -0.006192f, 0.018970f, 0.008176f, 0.006837f, 0.007745f, 0.008713f, 0.006939f, 0.009662f, -0.005059f, -0.002063f, 0.005969f, 0.009493f, -0.001224f, 0.011087f, -0.005910f, 0.002434f, -0.002349f, 0.009394f, 0.014107f, -0.021940f, 0.005809f, -0.005419f, 0.000758f, - -0.010344f, -0.005268f, 0.001744f, -0.003087f, -0.004435f, -0.008729f, -0.003948f, 0.004197f, -0.000199f, 0.009458f, -0.000975f, 0.003684f, 0.008161f, 0.013008f, -0.000469f, 0.003482f, -0.001500f, 0.006089f, 0.000983f, 0.002996f, -0.004002f, -0.001349f, 0.000447f, 0.002820f, -0.001777f, -0.002870f, 0.000161f, 0.000230f, -0.002254f, 0.000413f, 0.001335f, 0.000123f, 0.003795f, -0.001590f, -0.001744f, 0.000500f, 0.003311f, -0.001260f, 0.000096f, -0.001123f, 0.001982f, 0.003104f, -0.000400f, 0.002973f, 0.003195f, -0.000693f, -0.001340f, -0.000490f, 0.011017f, 0.006719f, 0.004008f, -0.002117f, 0.000925f, 0.001166f, 0.014214f, -0.011305f, 0.014257f, -0.001924f, 0.007776f, 0.014561f, -0.009123f, 0.011272f, -0.007059f, 0.005766f, 0.002221f, 0.017118f, 0.007595f, -0.009595f, -0.015722f, 0.003540f, -0.011788f, 0.009655f, -0.002418f, 0.012594f, -0.009421f, -0.001580f, -0.007546f, 0.004309f, 0.002803f, 0.003564f, -0.000952f, -0.001397f, -0.013738f, -0.006076f, 0.011277f, -0.009053f, -0.001841f, 0.007281f, 0.000332f, -0.007103f, 0.002279f, 0.000573f, -0.001600f, -0.006169f, 0.012318f, 0.003871f, - -0.017597f, -0.007995f, -0.014212f, -0.002550f, -0.012572f, -0.021698f, -0.004957f, 0.009370f, 0.026616f, 0.005757f, 0.002167f, 0.012486f, -0.000367f, -0.009903f, -0.008631f, 0.006939f, 0.002695f, 0.004660f, 0.007651f, -0.018928f, -0.004677f, -0.017417f, -0.003853f, 0.004788f, -0.006917f, -0.016107f, 0.001577f, 0.006863f, -0.003477f, -0.006037f, -0.002873f, 0.002711f, -0.002432f, -0.000749f, 0.003462f, -0.002277f, -0.002424f, -0.003311f, -0.002407f, -0.007421f, 0.002577f, -0.001993f, 0.003329f, -0.001323f, 0.001926f, 0.004558f, 0.000599f, -0.001333f, -0.000487f, -0.003998f, -0.002652f, -0.006285f, -0.005694f, 0.000778f, 0.000621f, -0.000083f, 0.002154f, 0.003548f, 0.002482f, -0.000083f, 0.002254f, 0.001871f, -0.001755f, 0.001339f, 0.001418f, -0.003320f, -0.001403f, 0.030469f, 0.007463f, 0.022013f, -0.010232f, -0.001616f, -0.007232f, -0.001881f, 0.023738f, -0.020280f, 0.006915f, 0.002109f, 0.031034f, 0.016263f, 0.020650f, 0.003568f, -0.004931f, 0.009493f, -0.006576f, -0.025770f, 0.005030f, 0.001279f, 0.003163f, 0.019993f, 0.002078f, -0.012030f, -0.000886f, 0.000352f, 0.006556f, 0.006803f, - -0.000449f, -0.002821f, 0.008390f, -0.009822f, -0.002502f, -0.005063f, -0.002320f, 0.002309f, 0.000522f, 0.017588f, 0.002711f, 0.013771f, 0.016235f, 0.004270f, 0.014336f, -0.001234f, 0.004844f, 0.008441f, -0.009163f, -0.014087f, 0.001890f, 0.013820f, -0.022227f, 0.006476f, -0.017024f, -0.016224f, -0.009697f, -0.004631f, -0.014964f, -0.014814f, -0.015348f, -0.008126f, -0.003716f, 0.010212f, 0.000389f, 0.012271f, 0.002022f, -0.010445f, 0.015843f, -0.016518f, -0.006062f, -0.006947f, -0.006576f, -0.008844f, -0.011271f, 0.016117f, 0.012814f, -0.007313f, 0.006359f, 0.004945f, 0.013015f, -0.000136f, 0.009436f, -0.004761f, 0.011827f, 0.005725f, -0.006779f, 0.000215f, -0.006114f, 0.007267f, -0.006994f, 0.000607f, 0.005882f, 0.000256f, 0.004529f, -0.001437f, 0.000831f, 0.002883f, -0.000907f, -0.003310f, 0.003026f, -0.001019f, 0.000624f, -0.006197f, -0.004874f, -0.004980f, -0.003639f, -0.000808f, -0.001982f, -0.004334f, -0.000075f, 0.000699f, -0.001841f, 0.000319f, -0.000027f, -0.002593f, 0.000649f, -0.016585f, -0.016590f, -0.009841f, -0.010165f, -0.005496f, -0.004155f, -0.019885f, -0.015892f, -0.013527f, - -0.002008f, -0.001211f, -0.002439f, 0.013714f, 0.001444f, 0.007056f, 0.010621f, 0.012305f, 0.002004f, 0.024103f, 0.030304f, -0.000680f, 0.008819f, 0.006770f, -0.003613f, 0.013173f, 0.007232f, -0.027239f, -0.000848f, -0.009462f, 0.001634f, 0.020963f, 0.008425f, -0.021794f, -0.005715f, 0.009613f, 0.009656f, 0.001269f, 0.027887f, -0.011590f, 0.011280f, 0.011294f, 0.012455f, 0.007191f, 0.014498f, -0.024554f, 0.009031f, -0.009622f, 0.014608f, 0.000478f, 0.006326f, -0.018452f, 0.013558f, 0.009714f, -0.002316f, 0.009403f, -0.001531f, 0.002576f, -0.000123f, -0.009658f, 0.002551f, -0.006200f, 0.006060f, -0.007634f, 0.009470f, 0.002892f, 0.023632f, 0.017559f, -0.005503f, 0.006228f, -0.019389f, 0.016858f, -0.005266f, 0.010311f, 0.018335f, 0.017895f, 0.000889f, 0.018279f, 0.012719f, 0.008607f, 0.009352f, 0.016789f, 0.001710f, 0.003569f, -0.013734f, -0.002462f, -0.003919f, 0.003089f, -0.009899f, 0.001414f, -0.007206f, 0.002181f, -0.007179f, 0.002133f, -0.002622f, -0.004586f, -0.004227f, 0.002903f, 0.000336f, -0.002351f, -0.001679f, -0.005930f, -0.001872f, 0.000956f, -0.001683f, -0.004300f, - 0.000648f, 0.004296f, -0.010031f, -0.006299f, -0.005528f, 0.003974f, -0.006145f, 0.003707f, 0.000061f, 0.002093f, -0.005088f, -0.007609f, -0.001678f, 0.001392f, 0.016012f, -0.014277f, -0.003673f, 0.012651f, -0.006725f, 0.021712f, -0.006902f, -0.015451f, 0.028986f, 0.039270f, 0.008789f, -0.015596f, 0.010910f, -0.008258f, 0.016203f, 0.009331f, -0.003480f, -0.016539f, -0.010730f, -0.028075f, 0.007375f, 0.011866f, -0.024662f, -0.003016f, 0.014402f, 0.003671f, -0.001157f, 0.000511f, -0.002987f, -0.013454f, 0.003293f, 0.016513f, 0.000719f, 0.003509f, 0.006045f, 0.023421f, -0.015441f, -0.000501f, 0.017115f, -0.015686f, 0.022974f, 0.001129f, 0.032271f, -0.026880f, -0.024126f, 0.013238f, 0.001238f, -0.003276f, 0.006973f, -0.002274f, 0.009019f, 0.005455f, 0.017970f, 0.017024f, -0.014065f, 0.002531f, -0.009174f, -0.005617f, 0.010777f, -0.001383f, -0.005468f, -0.002435f, 0.000563f, 0.015988f, -0.030573f, 0.023295f, -0.007257f, -0.010472f, 0.017375f, -0.014024f, 0.013943f, -0.018853f, -0.010506f, -0.003532f, -0.013909f, -0.004872f, -0.009802f, -0.015683f, -0.010472f, 0.003377f, -0.003499f, -0.003799f, - -0.000161f, -0.007325f, -0.002260f, -0.001122f, 0.009767f, -0.000538f, 0.001478f, 0.003867f, -0.004015f, -0.001634f, -0.003387f, 0.002316f, 0.004819f, 0.001261f, -0.001877f, 0.011359f, 0.000143f, 0.008418f, -0.009103f, -0.005971f, -0.005371f, -0.003962f, 0.004433f, 0.002077f, 0.000398f, 0.006591f, -0.004847f, 0.005023f, 0.002094f, 0.004669f, 0.002760f, 0.000625f, -0.005728f, -0.019397f, -0.014955f, -0.006447f, -0.014031f, -0.021155f, -0.004548f, 0.007810f, 0.025999f, 0.004320f, -0.015825f, -0.029081f, -0.006169f, 0.009128f, -0.005183f, 0.031396f, 0.009771f, -0.010997f, -0.022229f, -0.027600f, -0.052513f, -0.004202f, -0.005867f, 0.020167f, 0.014780f, -0.010660f, 0.001283f, -0.008230f, -0.004618f, 0.018932f, -0.000578f, 0.001083f, -0.002378f, 0.021468f, 0.003542f, -0.006337f, -0.001143f, -0.000710f, 0.005707f, -0.019381f, -0.006212f, -0.007573f, 0.030713f, 0.007263f, -0.032468f, 0.008436f, -0.016889f, -0.009378f, 0.004689f, -0.030059f, 0.009299f, 0.021812f, 0.019190f, 0.015112f, 0.003589f, 0.006154f, -0.001055f, 0.003285f, -0.019088f, 0.006990f, -0.029839f, -0.005627f, 0.016965f, 0.006315f, - 0.017382f, 0.017308f, 0.014161f, -0.009661f, -0.022044f, -0.019127f, -0.014936f, 0.004912f, 0.005869f, 0.010253f, 0.010032f, 0.002278f, 0.006680f, 0.021569f, 0.030010f, -0.007134f, 0.010650f, -0.007405f, -0.008163f, 0.009280f, -0.013273f, -0.004591f, 0.000475f, -0.008294f, 0.007763f, -0.007197f, -0.006399f, -0.003416f, 0.001817f, -0.001838f, 0.004200f, 0.000146f, 0.006108f, -0.001390f, -0.003807f, -0.001662f, -0.003728f, -0.009440f, 0.002483f, 0.005176f, -0.000520f, 0.003425f, -0.000979f, 0.004661f, 0.008702f, 0.008465f, 0.006478f, -0.006663f, -0.003470f, 0.006526f, -0.002025f, -0.002520f, 0.000552f, -0.001021f, 0.006439f, -0.001403f, -0.000428f, -0.000937f, 0.015287f, 0.027205f, 0.031395f, 0.022792f, 0.038824f, -0.018137f, 0.027580f, -0.023616f, -0.018605f, 0.020519f, 0.026118f, 0.030950f, -0.031925f, -0.000130f, 0.007997f, -0.023565f, 0.011152f, -0.010329f, -0.016769f, 0.019137f, -0.024859f, 0.026995f, -0.025551f, 0.025293f, -0.018346f, -0.006693f, -0.001704f, -0.033321f, -0.004659f, 0.036862f, -0.009435f, -0.026244f, 0.005607f, 0.017148f, -0.019199f, 0.009563f, 0.039779f, 0.021460f, - 0.008043f, 0.017667f, -0.021063f, 0.014119f, -0.012656f, -0.036193f, -0.011007f, -0.009422f, 0.002683f, 0.016500f, 0.020306f, -0.008937f, -0.015900f, 0.014534f, 0.000099f, 0.011138f, 0.006917f, -0.005848f, 0.001982f, -0.014362f, 0.002195f, 0.004645f, -0.000192f, 0.004791f, 0.032741f, -0.003998f, 0.003241f, 0.009423f, 0.001956f, 0.004087f, -0.016649f, -0.018161f, 0.012665f, -0.021630f, -0.029467f, -0.030851f, 0.024049f, 0.015635f, 0.004637f, -0.001603f, -0.003571f, 0.011554f, -0.001813f, -0.008599f, 0.011025f, 0.030356f, 0.020475f, -0.007927f, -0.005140f, 0.009460f, 0.005429f, -0.002041f, -0.004791f, 0.003510f, 0.004278f, -0.001183f, 0.001249f, 0.016529f, 0.003944f, 0.002444f, 0.006452f, -0.005253f, 0.001211f, 0.005330f, 0.010971f, -0.000955f, 0.000799f, -0.010611f, 0.003487f, -0.005472f, -0.004058f, 0.011302f, 0.009004f, 0.000694f, 0.007062f, -0.005965f, -0.002915f, 0.003478f, 0.000085f, -0.003107f, -0.006152f, -0.006548f, 0.004290f, 0.002042f, -0.002874f, 0.003960f, -0.025180f, -0.040001f, 0.014239f, 0.051927f, 0.025431f, -0.009754f, -0.040165f, -0.013975f, 0.002563f, 0.005585f, - -0.007806f, 0.019696f, 0.013303f, -0.014620f, -0.007554f, -0.001987f, -0.026584f, 0.036896f, -0.016829f, 0.013121f, -0.003093f, -0.008742f, -0.032394f, 0.010573f, 0.006713f, -0.004077f, 0.003900f, 0.014464f, -0.005307f, 0.036070f, -0.008105f, -0.005553f, 0.030100f, -0.003407f, -0.021646f, -0.019381f, -0.037380f, 0.005091f, -0.008321f, -0.011650f, -0.008175f, -0.027450f, -0.011511f, -0.025710f, 0.002704f, -0.022635f, 0.020376f, -0.012813f, -0.000461f, 0.006303f, 0.002492f, 0.011745f, -0.010894f, -0.027778f, 0.012025f, -0.003240f, 0.006852f, -0.006247f, -0.002849f, 0.000777f, 0.026661f, 0.039927f, 0.010808f, -0.012592f, 0.013762f, 0.014468f, 0.015826f, -0.006572f, -0.013417f, 0.020342f, 0.009597f, 0.027199f, 0.006283f, 0.007237f, 0.000720f, 0.008153f, 0.024473f, 0.033454f, 0.016426f, 0.005621f, 0.012530f, 0.005263f, -0.007053f, -0.022974f, -0.014604f, 0.002578f, 0.011063f, 0.001722f, -0.000632f, -0.008623f, -0.003241f, 0.004678f, 0.003141f, -0.018164f, -0.003495f, 0.004066f, -0.000815f, -0.009059f, -0.007606f, -0.010123f, 0.001860f, -0.001807f, 0.006830f, 0.012823f, 0.007504f, 0.000398f, - -0.004333f, 0.007838f, 0.009400f, 0.000611f, 0.003101f, -0.012681f, -0.000527f, -0.004307f, -0.013041f, 0.002717f, 0.002300f, -0.011609f, -0.001261f, -0.002728f, 0.004304f, -0.004515f, 0.010839f, 0.000052f, -0.002653f, 0.014631f, 0.077772f, 0.001722f, -0.020532f, 0.064352f, 0.032913f, 0.028371f, 0.056363f, 0.055701f, 0.016222f, 0.017633f, 0.014270f, 0.060551f, 0.003339f, -0.021526f, 0.026419f, 0.005485f, -0.023497f, -0.026787f, 0.023544f, 0.022518f, 0.043804f, -0.004380f, 0.003354f, 0.000481f, 0.006158f, -0.026015f, 0.029341f, 0.020182f, 0.009131f, -0.020232f, 0.031040f, -0.009463f, -0.001467f, -0.041099f, -0.008786f, -0.003210f, -0.002444f, -0.021731f, 0.014315f, -0.020222f, -0.011353f, -0.011895f, 0.005999f, -0.014048f, -0.018731f, -0.026285f, 0.027794f, -0.020037f, 0.029549f, 0.012879f, 0.024292f, 0.007331f, -0.024433f, -0.001374f, -0.039368f, -0.018443f, -0.021401f, 0.008108f, -0.027305f, -0.015130f, -0.004863f, 0.000006f, 0.028577f, 0.002742f, -0.004341f, -0.045786f, 0.018165f, 0.015169f, -0.000968f, -0.000705f, -0.022948f, 0.017372f, 0.002024f, -0.020102f, 0.054028f, 0.011795f, - -0.006931f, -0.000996f, -0.021644f, 0.003251f, 0.027108f, -0.007510f, -0.002156f, -0.030350f, -0.017680f, 0.010506f, -0.004127f, -0.014627f, 0.017568f, 0.010314f, -0.017788f, 0.015499f, -0.006121f, 0.004635f, -0.005919f, 0.015152f, 0.003413f, -0.002863f, 0.000487f, 0.003349f, -0.021455f, -0.000193f, -0.007897f, 0.005943f, 0.007419f, 0.010077f, -0.008787f, 0.007227f, 0.005818f, 0.004159f, 0.007939f, 0.008847f, -0.000637f, 0.006705f, -0.010316f, 0.017708f, -0.008196f, 0.014903f, -0.010616f, 0.006322f, -0.023616f, -0.043311f, 0.013302f, 0.013043f, -0.013400f, 0.028190f, -0.031171f, 0.033859f, -0.024427f, -0.014228f, 0.010899f, 0.007834f, 0.087390f, 0.034144f, 0.013091f, -0.054537f, -0.001451f, -0.012947f, -0.028905f, -0.008402f, -0.010565f, -0.009572f, -0.003236f, -0.045355f, -0.000873f, -0.017164f, 0.000562f, 0.022073f, -0.024057f, 0.028644f, -0.009392f, -0.031716f, -0.028289f, 0.022691f, 0.017412f, -0.007099f, -0.015619f, 0.028942f, -0.015621f, -0.014762f, 0.022756f, -0.000660f, 0.007003f, -0.023455f, -0.000790f, -0.013795f, 0.029187f, -0.004412f, 0.041869f, -0.015673f, 0.006293f, 0.012603f, - -0.001196f, 0.001587f, 0.012774f, -0.027010f, -0.004328f, 0.034389f, 0.002792f, 0.009428f, -0.000319f, -0.027917f, 0.011927f, -0.019494f, 0.009919f, 0.030059f, 0.039023f, 0.042536f, 0.044805f, -0.009688f, 0.015726f, -0.000382f, 0.024044f, 0.054277f, -0.059637f, 0.046342f, -0.027571f, 0.012437f, 0.037276f, -0.023546f, 0.002401f, 0.011678f, 0.010166f, -0.002811f, 0.025945f, -0.010082f, -0.008204f, 0.010943f, -0.006222f, 0.024965f, -0.003707f, 0.009444f, -0.020146f, -0.003306f, -0.000602f, -0.016261f, -0.006827f, -0.020505f, 0.000214f, 0.005886f, 0.001990f, 0.022696f, -0.007504f, 0.001499f, 0.002452f, 0.009627f, 0.002376f, 0.009710f, -0.013474f, 0.010102f, 0.003114f, -0.000609f, 0.007223f, 0.009902f, -0.011330f, 0.010286f, -0.021786f, -0.019292f, 0.013435f, -0.006496f, -0.015456f, -0.002264f, 0.006324f, -0.009975f, 0.017538f, -0.020966f, -0.046049f, -0.009001f, 0.009350f, 0.000600f, 0.010839f, -0.034269f, -0.004606f, -0.007052f, -0.048670f, -0.037753f, 0.019418f, 0.020182f, 0.009407f, 0.013901f, -0.024884f, -0.012281f, -0.017618f, 0.053216f, 0.012859f, 0.001422f, 0.039976f, 0.022908f, - 0.020144f, 0.018005f, 0.015776f, -0.028176f, 0.020317f, 0.008143f, -0.008544f, 0.015828f, -0.014077f, -0.014074f, 0.027935f, -0.012162f, 0.017651f, 0.036663f, 0.001411f, 0.006963f, -0.000518f, 0.002306f, -0.007857f, -0.021632f, -0.027081f, -0.044333f, 0.018287f, -0.037566f, 0.014232f, 0.014505f, 0.019026f, 0.000043f, 0.001316f, -0.005335f, -0.028668f, -0.013777f, 0.014833f, -0.010089f, 0.015305f, 0.036674f, -0.011110f, 0.028034f, 0.013083f, 0.003035f, -0.001401f, -0.010118f, -0.026506f, -0.001215f, -0.035886f, -0.012628f, 0.038894f, -0.020756f, 0.006360f, -0.063894f, 0.030511f, -0.011907f, 0.009989f, -0.049323f, -0.043560f, 0.004051f, 0.011989f, 0.022438f, -0.050579f, -0.005470f, 0.000891f, 0.034552f, 0.028633f, 0.031972f, -0.009963f, 0.000592f, 0.005135f, 0.016678f, 0.004265f, 0.009133f, 0.026775f, 0.014959f, -0.009821f, 0.009527f, 0.002872f, 0.001808f, -0.000283f, -0.005718f, -0.021579f, 0.007598f, -0.010291f, 0.003184f, 0.008980f, -0.000367f, 0.002265f, -0.000384f, 0.009014f, -0.005488f, 0.036061f, 0.009615f, -0.001073f, 0.019839f, 0.012414f, 0.001567f, 0.006330f, -0.000703f, - -0.015596f, 0.020853f, -0.006505f, 0.002720f, 0.025413f, 0.013816f, -0.007446f, -0.000005f, -0.009606f, 0.016391f, 0.011815f, 0.013979f, 0.012434f, 0.038061f, -0.090153f, -0.022180f, -0.053555f, 0.018067f, -0.048099f, -0.016126f, -0.054510f, 0.014575f, -0.028435f, -0.021804f, -0.004676f, -0.046288f, -0.016853f, -0.049595f, -0.025068f, -0.057423f, 0.012359f, -0.053128f, -0.021031f, -0.027606f, -0.015494f, -0.014596f, -0.012436f, -0.050716f, -0.029026f, -0.038585f, -0.019827f, -0.011148f, 0.021869f, -0.003176f, 0.016316f, -0.031566f, -0.005169f, 0.001817f, -0.036398f, 0.007029f, -0.002581f, 0.003081f, 0.009493f, -0.036814f, -0.002113f, 0.013577f, -0.004586f, 0.015305f, 0.030535f, 0.055383f, -0.046040f, 0.002829f, 0.061526f, 0.000299f, 0.030184f, -0.021577f, 0.038114f, 0.006973f, -0.009144f, -0.051183f, -0.030174f, 0.042503f, 0.026204f, 0.041504f, 0.001485f, -0.028951f, 0.010542f, 0.014998f, 0.029647f, -0.055657f, 0.000366f, 0.010545f, -0.030757f, -0.010238f, -0.013315f, -0.018632f, -0.044638f, 0.068984f, -0.012707f, -0.022162f, -0.014189f, 0.014304f, 0.016532f, -0.038985f, -0.036271f, -0.001437f, - 0.011513f, 0.001810f, 0.000090f, -0.007603f, -0.013198f, -0.000167f, 0.034729f, 0.021538f, -0.000254f, -0.028624f, -0.019837f, 0.003217f, -0.011069f, 0.007585f, 0.009151f, 0.004680f, -0.003042f, -0.014765f, 0.006015f, 0.007321f, -0.004108f, 0.011083f, -0.006469f, -0.025418f, -0.012098f, -0.001451f, 0.007361f, -0.001888f, -0.008199f, -0.037194f, -0.014893f, -0.008517f, 0.002790f, 0.004668f, -0.016098f, -0.028811f, 0.011264f, 0.017305f, -0.015308f, 0.000693f, -0.013461f, 0.014574f, -0.004717f, -0.025554f, 0.038352f, -0.064726f, -0.000681f, -0.012822f, 0.027988f, -0.014242f, -0.039890f, 0.034861f, -0.070024f, -0.060375f, -0.049834f, 0.028598f, -0.014816f, 0.001624f, -0.027167f, -0.025709f, -0.030044f, 0.016921f, 0.014654f, 0.048859f, 0.023010f, 0.009917f, 0.045495f, -0.012049f, 0.016521f, -0.016350f, 0.014254f, 0.008272f, 0.027130f, 0.043841f, 0.022919f, -0.009055f, -0.026733f, -0.015922f, -0.005418f, 0.024652f, -0.008057f, 0.006922f, 0.000989f, -0.011239f, 0.023322f, -0.001409f, 0.019161f, 0.014242f, -0.037218f, 0.030823f, 0.056575f, 0.008873f, 0.047340f, 0.045824f, 0.020829f, 0.015222f, - 0.000190f, 0.024250f, -0.014970f, -0.054876f, -0.017804f, 0.040891f, 0.000492f, -0.020128f, 0.021117f, 0.058042f, -0.013135f, 0.004520f, -0.041840f, 0.041403f, 0.037154f, -0.002608f, 0.012035f, -0.018843f, 0.095228f, -0.059598f, -0.051699f, -0.048819f, 0.004276f, 0.001829f, -0.014261f, 0.042496f, -0.059408f, -0.000924f, -0.037916f, 0.014648f, 0.017026f, -0.002582f, 0.041486f, 0.009626f, -0.003329f, -0.022274f, -0.000097f, 0.010538f, 0.030294f, -0.020532f, -0.026374f, 0.011189f, -0.015632f, -0.004056f, 0.003889f, 0.007336f, 0.002675f, 0.000287f, -0.001769f, -0.024869f, 0.002604f, 0.006115f, 0.017401f, -0.014666f, -0.008146f, 0.009806f, 0.004808f, 0.006861f, 0.000849f, -0.016204f, -0.001599f, -0.018410f, -0.013867f, 0.018785f, 0.009718f, 0.010637f, 0.007557f, -0.000502f, 0.003882f, -0.004920f, 0.011564f, 0.001688f, -0.004812f, -0.000959f, -0.016023f, -0.005983f, -0.010553f, 0.006716f, 0.104581f, -0.023516f, 0.058508f, 0.099330f, -0.033501f, 0.047310f, 0.021711f, -0.063538f, 0.058023f, 0.008131f, -0.027009f, 0.041788f, 0.018563f, 0.039223f, 0.000154f, -0.034213f, 0.032278f, 0.010327f, - 0.000652f, 0.009402f, -0.009140f, -0.036165f, -0.020722f, -0.017638f, -0.030295f, -0.023457f, -0.005355f, 0.023027f, -0.020714f, -0.013348f, -0.029840f, 0.005791f, 0.003063f, 0.004223f, 0.042066f, -0.025537f, 0.010491f, -0.023740f, -0.012593f, 0.023240f, -0.018612f, -0.043334f, -0.054397f, 0.062522f, 0.028520f, -0.016320f, 0.044004f, -0.040706f, -0.034638f, -0.021981f, -0.003068f, 0.005746f, 0.000742f, -0.037943f, -0.026982f, -0.029815f, -0.063678f, -0.040714f, -0.034108f, 0.011725f, 0.021944f, -0.002426f, 0.037659f, 0.006416f, -0.037933f, -0.033752f, 0.050654f, -0.043734f, 0.006467f, 0.043349f, -0.005391f, -0.076440f, 0.053319f, -0.028607f, 0.008782f, 0.002753f, 0.044161f, -0.011191f, -0.016552f, -0.002883f, -0.024860f, 0.012496f, -0.043071f, 0.014079f, -0.055460f, -0.036328f, 0.021778f, -0.024276f, -0.006605f, -0.003707f, -0.032860f, 0.010192f, -0.019119f, 0.015194f, -0.004865f, -0.001249f, 0.001867f, 0.019975f, -0.014715f, -0.012489f, 0.003792f, -0.021543f, -0.009076f, 0.002545f, -0.013500f, -0.015279f, -0.009920f, -0.006863f, -0.015780f, -0.009534f, 0.022628f, -0.018922f, 0.008821f, 0.012941f, - -0.003156f, 0.013883f, -0.019221f, 0.001513f, -0.013475f, 0.027655f, 0.005426f, 0.009549f, -0.019674f, 0.024212f, 0.017198f, 0.018387f, 0.008152f, 0.001810f, 0.006204f, 0.013205f, -0.013466f, 0.000862f, -0.011195f, -0.050535f, 0.030389f, -0.014322f, 0.051261f, 0.035143f, -0.081343f, -0.010262f, 0.008885f, -0.049654f, -0.007855f, -0.008125f, 0.060475f, 0.043478f, 0.040484f, 0.050143f, -0.001626f, -0.035135f, -0.026962f, -0.027966f, 0.001573f, -0.077835f, 0.009591f, 0.066657f, -0.060515f, -0.109684f, 0.011418f, -0.041044f, 0.081167f, -0.000540f, 0.002902f, 0.054254f, -0.024616f, 0.011147f, -0.002269f, -0.014740f, 0.047361f, -0.013595f, 0.024079f, 0.079212f, -0.058055f, -0.033269f, -0.052894f, 0.026449f, 0.004644f, 0.053031f, -0.030181f, 0.020893f, 0.003056f, 0.048300f, 0.028678f, -0.023622f, -0.015500f, 0.018273f, -0.008519f, -0.002153f, -0.033908f, -0.033656f, 0.017874f, -0.007514f, -0.009717f, -0.019139f, 0.043939f, -0.016593f, -0.017374f, 0.073361f, 0.078624f, 0.050803f, -0.066459f, -0.005916f, -0.020759f, 0.025897f, 0.097856f, -0.012355f, -0.074246f, -0.004875f, -0.030479f, 0.043851f, - 0.019802f, -0.049882f, 0.026459f, 0.019379f, 0.025814f, -0.048128f, -0.017165f, 0.003582f, 0.042814f, 0.002640f, -0.006684f, 0.007005f, -0.014439f, 0.003374f, 0.042784f, 0.020710f, -0.017575f, -0.021306f, -0.004679f, 0.013447f, 0.017211f, 0.022531f, -0.021112f, -0.008062f, -0.038837f, -0.008160f, 0.024858f, -0.024469f, -0.003684f, -0.015105f, -0.013857f, -0.022982f, -0.004654f, 0.015691f, -0.003341f, -0.001641f, 0.004090f, 0.010011f, -0.010183f, -0.029323f, -0.030277f, 0.018402f, 0.014301f, 0.025702f, -0.012654f, 0.018871f, 0.055326f, 0.002925f, -0.032834f, -0.005278f, 0.003166f, -0.002930f, -0.020474f, -0.008398f, 0.006264f, 0.016089f, -0.003252f, -0.047672f, 0.006976f, -0.039076f, 0.035988f, 0.021069f, -0.038651f, 0.065783f, 0.099137f, 0.003064f, -0.004813f, -0.033741f, -0.034569f, 0.006043f, 0.005559f, -0.016495f, 0.089681f, -0.007839f, 0.066855f, 0.053972f, -0.067845f, -0.001863f, -0.022840f, -0.072141f, 0.018127f, 0.017060f, 0.039425f, 0.068045f, -0.002179f, -0.019076f, 0.022171f, 0.024858f, 0.053234f, 0.022632f, 0.004786f, 0.044206f, 0.046118f, 0.016201f, -0.010731f, 0.040574f, - 0.017857f, 0.048702f, 0.010274f, 0.014266f, 0.030194f, 0.051574f, -0.008634f, -0.040316f, -0.047049f, -0.015006f, -0.016405f, 0.080960f, 0.044120f, 0.124795f, -0.005867f, -0.062398f, 0.055173f, -0.018610f, -0.021549f, -0.018458f, -0.042393f, 0.006611f, 0.023738f, -0.000553f, -0.023760f, 0.088800f, -0.017689f, 0.104729f, -0.028605f, 0.056540f, 0.004892f, -0.017229f, -0.056959f, -0.080911f, 0.076236f, -0.006970f, -0.013021f, -0.022949f, 0.070865f, 0.000391f, -0.074336f, 0.136752f, 0.042886f, 0.015281f, -0.015615f, -0.056787f, 0.028710f, 0.001982f, 0.028906f, -0.026155f, 0.020642f, 0.010815f, -0.012796f, -0.019202f, 0.003606f, -0.023300f, -0.011065f, -0.026526f, 0.003250f, -0.004282f, -0.000255f, 0.009409f, 0.022380f, -0.022194f, 0.008835f, -0.010599f, -0.000550f, 0.030393f, 0.020084f, -0.010235f, -0.037316f, -0.000726f, -0.002078f, 0.005459f, 0.034358f, -0.021709f, -0.012958f, 0.009074f, 0.021630f, -0.030660f, 0.002246f, 0.021026f, -0.000302f, -0.001901f, -0.032352f, 0.017370f, -0.000848f, 0.015871f, -0.033797f, 0.004367f, 0.014611f, 0.011913f, 0.017025f, -0.032076f, 0.027640f, -0.034017f, - 0.021908f, 0.092803f, -0.055324f, -0.034904f, 0.007075f, 0.017068f, -0.010877f, 0.065778f, 0.050506f, 0.051822f, 0.016959f, 0.025771f, 0.042858f, 0.027091f, -0.016080f, -0.025422f, -0.058513f, -0.009050f, 0.031527f, 0.011278f, 0.006499f, -0.021299f, -0.055360f, -0.015702f, -0.008105f, 0.056387f, 0.000383f, -0.006358f, 0.042119f, -0.006416f, 0.011374f, 0.009404f, -0.095042f, 0.024611f, 0.025192f, -0.016207f, -0.040847f, 0.008027f, -0.053760f, -0.026846f, -0.082140f, 0.025053f, -0.068641f, -0.135009f, 0.015344f, -0.001529f, 0.094938f, -0.002953f, 0.032008f, 0.079011f, -0.013260f, -0.020081f, 0.034600f, -0.000378f, -0.069027f, -0.023678f, 0.008663f, 0.011750f, 0.050299f, 0.021401f, 0.044753f, 0.039395f, -0.028463f, -0.020722f, 0.018866f, 0.057822f, -0.024306f, -0.011757f, -0.053163f, -0.036160f, 0.013667f, -0.070990f, 0.020323f, -0.079776f, 0.014869f, -0.020821f, 0.056495f, -0.024532f, 0.039947f, -0.085527f, -0.017826f, 0.012008f, -0.051409f, 0.013185f, 0.008714f, 0.009101f, -0.038854f, 0.020501f, -0.038050f, 0.011030f, -0.003212f, -0.015803f, -0.007217f, -0.003522f, 0.011746f, -0.012894f, - -0.006328f, -0.010296f, 0.024246f, -0.015733f, 0.014047f, -0.035996f, 0.018793f, -0.001864f, -0.003200f, 0.005429f, 0.034826f, 0.012435f, 0.014731f, -0.041782f, 0.005206f, -0.017007f, -0.052138f, 0.021051f, -0.016872f, -0.012995f, -0.019411f, 0.019534f, -0.009580f, 0.009519f, 0.010656f, -0.004828f, 0.002065f, -0.012540f, 0.003446f, 0.010794f, -0.002682f, 0.001796f, -0.001574f, -0.019880f, 0.072710f, 0.077255f, 0.180933f, 0.021204f, -0.101064f, -0.076083f, -0.055795f, -0.064657f, 0.126700f, 0.168823f, 0.057419f, -0.016209f, -0.052970f, 0.001789f, -0.064133f, 0.070669f, 0.067055f, 0.019768f, 0.009852f, -0.041987f, -0.005902f, 0.077782f, 0.018325f, 0.031209f, 0.026532f, 0.081628f, 0.068916f, -0.026565f, -0.060572f, -0.080382f, -0.053951f, -0.008115f, 0.022571f, 0.073389f, 0.044244f, -0.015387f, 0.040001f, -0.055802f, -0.018782f, -0.125414f, -0.019602f, 0.123341f, 0.095568f, -0.019249f, 0.250233f, 0.078387f, 0.007544f, -0.137125f, -0.023147f, -0.011801f, -0.031939f, 0.034977f, 0.019662f, 0.029633f, 0.052702f, -0.111892f, -0.120265f, -0.060574f, -0.081054f, -0.011630f, 0.027773f, 0.101183f, - -0.060288f, 0.037006f, 0.157999f, 0.078846f, 0.027719f, 0.044211f, 0.032451f, -0.095300f, -0.157443f, 0.080656f, -0.038747f, 0.034727f, 0.084726f, 0.093435f, 0.008522f, -0.056509f, -0.074184f, -0.060705f, 0.065568f, 0.037755f, 0.011662f, 0.065179f, -0.064676f, -0.011278f, -0.010117f, -0.028744f, -0.033331f, -0.002856f, -0.000671f, 0.021158f, 0.006862f, -0.009308f, 0.000481f, -0.000802f, 0.001385f, 0.005600f, 0.012382f, 0.018848f, -0.018525f, -0.025694f, -0.087947f, -0.048272f, -0.043317f, 0.052128f, 0.031148f, 0.018654f, -0.071947f, -0.070728f, -0.113693f, -0.031072f, 0.045119f, 0.057324f, 0.074866f, 0.029282f, 0.022111f, 0.008738f, 0.007522f, -0.002097f, 0.017041f, -0.003959f, 0.053711f, 0.037863f, 0.007888f, 0.000468f, 0.000675f, -0.009130f, 0.000177f, -0.006403f, -0.038493f, -0.165506f, -0.039484f, 0.092317f, 0.176671f, 0.155718f, 0.373212f, 0.195387f, 0.132515f, 0.116661f, 0.053037f, -0.020849f, -0.188603f, -0.236680f, -0.353173f, -0.270395f, -0.277457f, -0.105513f, 0.001344f, 0.106259f, 0.197592f, 0.163070f, 0.168450f, 0.116159f, 0.158492f, 0.124133f, 0.175488f, 0.083621f, - 0.065415f, 0.031332f, -0.045189f, -0.069416f, -0.106414f, -0.064276f, -0.231097f, -0.097566f, -0.218734f, -0.157750f, -0.250347f, -0.148760f, -0.233037f, -0.082716f, -0.115547f, -0.037578f, 0.017793f, 0.118303f, 0.310100f, 0.295391f, 0.413776f, 0.280144f, 0.191012f, 0.248144f, 0.338811f, 0.298269f, 0.250420f, 0.174815f, 0.021018f, -0.169405f, -0.168281f, -0.208477f, -0.396912f, -0.438067f, -0.477274f, -0.476479f, -0.523330f, -0.452501f, -0.381306f, -0.336172f, -0.219021f, 0.025214f, 0.248990f, 0.433318f, 0.572641f, 0.713986f, 0.794310f, 0.553865f, 0.528079f, 0.342820f, 0.207572f, 0.196296f, -0.011856f, -0.064797f, -0.304432f, -0.583226f, -0.628294f, -0.509921f, -0.394298f, -0.232198f, -0.188044f, -0.191323f, -0.105688f, -0.164303f, -0.066645f, -0.018251f, 0.126064f, 0.239657f, 0.196702f, 0.256182f, 0.275152f, 0.293707f, 0.259225f, 0.346255f, 0.257138f, 0.210845f, 0.108742f, 0.022393f, -0.058670f, -0.268228f, -0.237784f, -0.318439f, -0.422433f, -0.382532f, -0.438722f, -0.450659f, -0.131650f, 0.014733f, 0.228762f, 0.280310f, 0.298294f, 0.346506f, 0.361663f, 0.307023f, 0.266781f, 0.204783f, - 0.154995f, 0.056143f, -0.040355f, -0.119455f, -0.215743f, -0.316509f, -0.296813f, -0.264701f, -0.198340f, -0.093247f, -0.041408f, -0.019510f, -0.012011f, 0.029167f, 0.060588f, 0.073944f, 0.079197f, 0.065708f, 0.052231f, 0.057055f, 0.046103f, 0.034775f, 0.063315f, 0.071501f, 0.054606f, 0.026942f, 0.013943f, 0.022723f, 0.029184f, 0.011640f, 0.005765f, 0.011619f, 0.001558f, -0.022030f, -0.065938f, -0.079239f, -0.052547f, -0.040231f, -0.046247f, -0.043939f, -0.027047f, -0.038176f, -0.043551f, -0.037373f, -0.015387f, 0.003485f, 0.018949f, 0.026279f, 0.035347f, 0.040379f, 0.037273f, 0.031702f, 0.035987f, 0.036465f, 0.031689f, 0.022345f, 0.015531f, 0.005451f, -0.001988f, -0.004290f, -0.007123f, -0.014481f, -0.008982f, -0.004248f, -0.007596f, -0.010730f, -0.007077f, -0.001393f, 0.006252f, 0.004915f, -0.000832f, -0.006618f, -0.005542f, -0.009972f, -0.018448f, -0.022936f, -0.021478f, -0.020402f, -0.017710f, -0.019145f, -0.016662f, -0.007244f, 0.000526f, 0.002617f, 0.014172f, 0.030192f, 0.036069f, 0.029907f, 0.027130f, 0.027324f, 0.023522f, 0.013734f, 0.007085f, 0.004853f, -0.000086f, -0.008218f, - -0.012184f, -0.014364f, -0.014555f, -0.014196f, -0.013190f, -0.010587f, -0.007511f, -0.006801f, -0.006272f, -0.005303f, -0.002708f, -0.001499f, -0.000463f, -0.000099f, 0.001010f, 0.000939f, 0.001212f, 0.000641f, 0.000738f, 0.000088f}, - {0.024092f, 0.001069f, 0.004072f, 0.003368f, -0.009790f, -0.005078f, 0.013361f, 0.023217f, 0.003770f, 0.012374f, -0.004990f, 0.002350f, -0.000609f, 0.010485f, -0.008265f, -0.018914f, 0.007691f, 0.008877f, -0.010998f, 0.012815f, 0.006341f, 0.011694f, 0.003735f, 0.002799f, -0.005055f, -0.001608f, 0.000655f, 0.007808f, 0.000750f, -0.011689f, 0.000565f, -0.000919f, 0.002586f, -0.001601f, 0.002141f, 0.002845f, 0.007038f, 0.005103f, 0.001724f, 0.002222f, 0.000751f, 0.003465f, -0.003549f, -0.005804f, -0.012919f, 0.002550f, 0.002916f, 0.001095f, 0.010007f, -0.003476f, 0.007792f, 0.002183f, -0.003019f, -0.006081f, -0.003902f, 0.013979f, 0.003050f, 0.007826f, 0.001364f, 0.003120f, -0.002605f, 0.000533f, 0.001003f, 0.004062f, -0.001132f, -0.005130f, -0.002736f, -0.010741f, 0.001274f, 0.002174f, 0.009314f, -0.002903f, 0.007138f, -0.001164f, 0.004700f, 0.000150f, 0.004242f, 0.003303f, 0.002020f, -0.001659f, 0.004868f, 0.006681f, 0.004694f, 0.004391f, -0.000070f, 0.001010f, 0.001160f, -0.003571f, 0.001615f, 0.000902f, 0.003294f, 0.001737f, 0.001406f, 0.001792f, 0.002381f, -0.001211f, - 0.001473f, -0.000903f, -0.000045f, -0.000379f, 0.009074f, 0.008469f, 0.004083f, 0.003375f, 0.004856f, 0.005549f, 0.008575f, -0.003825f, 0.008894f, -0.000052f, 0.009492f, -0.002198f, 0.016784f, 0.005504f, 0.005644f, -0.011488f, -0.001444f, -0.002721f, -0.014606f, 0.007913f, 0.006939f, -0.004808f, -0.019180f, -0.008949f, -0.002760f, 0.009268f, 0.013097f, 0.008021f, -0.005038f, 0.002617f, -0.008145f, 0.000246f, 0.000859f, -0.006894f, -0.003218f, -0.017629f, 0.001582f, -0.002342f, -0.007180f, 0.000612f, 0.001147f, -0.002519f, -0.000416f, 0.016582f, -0.003884f, 0.013479f, 0.002791f, -0.010684f, 0.000920f, 0.000873f, 0.007802f, -0.003592f, 0.002313f, 0.001665f, 0.000726f, 0.010284f, 0.003760f, 0.010562f, 0.008017f, -0.005650f, 0.009906f, 0.004604f, 0.007270f, 0.000519f, 0.002467f, -0.002655f, -0.004511f, -0.008975f, -0.010727f, 0.011162f, -0.011151f, -0.008862f, -0.009201f, 0.005078f, 0.004862f, 0.001926f, 0.002184f, 0.006477f, -0.004141f, 0.004837f, -0.003094f, -0.004674f, 0.007373f, -0.006820f, 0.001255f, 0.003235f, -0.005483f, 0.001205f, 0.000945f, -0.001029f, -0.000750f, -0.000649f, - 0.003929f, -0.001401f, 0.001545f, -0.001840f, 0.003047f, -0.000970f, 0.001761f, -0.002175f, -0.002083f, -0.002097f, -0.015008f, -0.014086f, 0.003086f, 0.000209f, -0.002975f, 0.008329f, -0.001044f, -0.001535f, 0.008778f, -0.009673f, 0.001938f, -0.008455f, -0.005371f, -0.003102f, 0.000147f, 0.014167f, 0.016234f, -0.007597f, 0.006391f, -0.011738f, -0.001065f, -0.004648f, 0.015769f, -0.004735f, -0.000843f, 0.001558f, -0.022091f, -0.003941f, -0.010888f, -0.003695f, -0.002671f, 0.008153f, 0.010997f, 0.004393f, 0.014848f, -0.001993f, -0.006703f, -0.006940f, 0.008590f, 0.022121f, 0.015572f, -0.008767f, -0.010098f, 0.011014f, -0.009937f, 0.001796f, 0.003581f, 0.018103f, -0.006668f, -0.009076f, 0.002016f, -0.005670f, 0.003513f, 0.004534f, 0.011604f, -0.012781f, -0.008193f, 0.007326f, 0.014009f, -0.001393f, -0.006465f, -0.008346f, -0.019746f, 0.007397f, -0.000013f, 0.005787f, 0.000945f, 0.000408f, -0.003090f, 0.003522f, -0.005031f, 0.003025f, 0.004287f, 0.004200f, -0.007004f, 0.005046f, -0.001274f, -0.005037f, 0.000484f, -0.010494f, 0.006517f, 0.000868f, 0.000832f, -0.004240f, -0.001411f, -0.003607f, - -0.007235f, -0.005614f, 0.003853f, 0.000243f, 0.001560f, -0.001469f, 0.000508f, -0.000529f, -0.002073f, -0.001755f, -0.003029f, 0.000194f, -0.001741f, -0.001420f, -0.000432f, 0.000557f, -0.000544f, 0.000867f, -0.000569f, 0.003512f, 0.001395f, -0.002241f, 0.002460f, 0.001364f, -0.002862f, 0.001888f, -0.036777f, -0.011959f, -0.002058f, 0.006368f, 0.004083f, 0.009235f, -0.017630f, -0.005131f, -0.000918f, -0.018045f, -0.013097f, 0.004671f, 0.010857f, 0.006555f, 0.011994f, -0.001440f, 0.006835f, 0.016246f, 0.014115f, 0.013491f, 0.007589f, -0.005052f, -0.004232f, -0.008186f, -0.003800f, -0.008225f, 0.017098f, 0.008115f, -0.002772f, -0.007531f, -0.004782f, -0.007692f, -0.011479f, -0.012145f, -0.015513f, 0.009378f, 0.006520f, -0.016979f, 0.003901f, -0.000804f, 0.011664f, 0.001886f, 0.005679f, 0.007722f, -0.016264f, -0.002439f, -0.000718f, 0.002208f, 0.008347f, 0.012928f, -0.005274f, -0.001798f, -0.003899f, -0.010099f, 0.003003f, 0.002091f, -0.001191f, -0.002714f, 0.009634f, 0.000590f, -0.005506f, -0.001768f, 0.004508f, 0.006291f, -0.002631f, -0.000225f, 0.001519f, -0.008781f, 0.006446f, -0.000629f, - -0.013387f, 0.001581f, -0.016315f, 0.002628f, 0.011940f, -0.003969f, -0.000593f, -0.018149f, -0.008991f, -0.013472f, -0.008313f, -0.001072f, -0.001503f, 0.008451f, 0.001535f, 0.009913f, -0.006018f, 0.003372f, 0.005256f, 0.001833f, 0.005172f, 0.000656f, -0.003635f, 0.002087f, -0.001673f, 0.001737f, 0.000070f, 0.000745f, -0.000749f, -0.002460f, -0.001003f, 0.002262f, -0.002485f, 0.001693f, 0.004097f, 0.002167f, 0.001006f, 0.000139f, 0.000069f, -0.000853f, -0.001688f, -0.002671f, 0.001943f, 0.002691f, -0.001643f, 0.001775f, -0.001730f, -0.001250f, 0.020307f, 0.007407f, 0.003583f, -0.005210f, 0.015006f, 0.005566f, 0.008558f, 0.023309f, 0.025617f, 0.000790f, -0.003956f, -0.009204f, -0.013654f, 0.004894f, 0.010226f, -0.005388f, -0.000861f, 0.001250f, -0.002252f, -0.008311f, 0.009707f, -0.009520f, 0.004569f, -0.027118f, -0.003722f, -0.006747f, -0.006377f, -0.013499f, -0.002613f, -0.001917f, 0.000367f, -0.007017f, -0.009581f, -0.007874f, 0.001225f, -0.005285f, -0.010178f, 0.005979f, 0.009035f, 0.000523f, -0.008325f, -0.009721f, 0.003648f, -0.007535f, 0.008524f, -0.010683f, 0.006901f, 0.002232f, - 0.000018f, -0.015138f, -0.013673f, 0.002988f, -0.009869f, 0.016032f, 0.003046f, 0.013416f, -0.006926f, 0.013502f, 0.002814f, 0.008610f, 0.003144f, 0.008143f, -0.007575f, -0.011263f, -0.000091f, 0.017415f, -0.001593f, -0.012132f, -0.006175f, 0.007450f, -0.004808f, -0.007044f, 0.001917f, -0.019210f, 0.012931f, 0.015168f, -0.000837f, -0.013416f, -0.016480f, -0.000774f, 0.014086f, 0.009820f, -0.007791f, 0.010445f, 0.001233f, -0.001838f, -0.001974f, -0.001390f, -0.000785f, 0.002665f, -0.004573f, -0.004343f, 0.000469f, 0.001306f, -0.003413f, 0.000986f, -0.001545f, -0.000797f, 0.003811f, -0.001797f, -0.000705f, 0.000288f, -0.005754f, 0.002784f, 0.000871f, 0.000216f, 0.001448f, 0.001530f, -0.000161f, 0.000170f, -0.001058f, -0.001467f, -0.000792f, -0.001011f, -0.001528f, 0.028704f, 0.006160f, 0.015677f, -0.006006f, 0.011695f, 0.009104f, 0.018325f, -0.013476f, -0.009997f, -0.002890f, 0.000877f, 0.013427f, -0.006386f, 0.020255f, -0.001681f, 0.011623f, 0.009625f, -0.005338f, 0.003848f, 0.011774f, 0.010462f, 0.002985f, 0.002755f, 0.010750f, -0.021876f, 0.003804f, 0.016587f, 0.013368f, -0.011912f, - 0.014896f, -0.017479f, 0.010761f, -0.015440f, -0.007440f, -0.004201f, 0.016140f, -0.003445f, 0.016888f, 0.003491f, 0.003838f, 0.000615f, -0.000308f, 0.006373f, 0.010017f, 0.021458f, 0.003659f, 0.018489f, -0.008949f, 0.013457f, 0.018254f, -0.000782f, -0.002977f, -0.006710f, 0.007214f, -0.025938f, -0.001883f, 0.002319f, -0.009379f, -0.015480f, -0.000604f, -0.001187f, -0.001808f, 0.006521f, -0.015460f, 0.007733f, 0.007187f, 0.009773f, -0.024523f, 0.008316f, 0.006216f, -0.014864f, -0.001463f, 0.007861f, 0.018497f, -0.023321f, -0.002603f, 0.001560f, -0.021578f, -0.002135f, 0.003471f, -0.006273f, 0.014617f, -0.003419f, 0.001512f, 0.003831f, -0.002249f, -0.000924f, -0.000715f, 0.002360f, -0.005387f, 0.000648f, -0.002666f, 0.001542f, 0.000784f, -0.003411f, -0.000083f, 0.003781f, -0.001491f, -0.000985f, 0.000371f, -0.004805f, -0.001481f, 0.000717f, -0.001498f, -0.002288f, -0.000386f, 0.000704f, -0.002282f, -0.001258f, 0.003507f, 0.004174f, -0.005316f, -0.000320f, 0.001197f, -0.000127f, -0.000637f, -0.025638f, -0.031585f, -0.025157f, -0.022858f, -0.000708f, 0.015982f, -0.033185f, 0.023607f, 0.015378f, - -0.037414f, 0.023587f, 0.009913f, 0.008111f, 0.003644f, 0.003680f, 0.008397f, -0.005807f, -0.006149f, -0.012213f, -0.000417f, 0.014392f, 0.012064f, 0.007122f, -0.021319f, 0.014598f, -0.015251f, 0.000478f, -0.013416f, 0.016747f, -0.008887f, -0.006837f, 0.005223f, -0.024950f, 0.002454f, -0.008223f, -0.007522f, -0.002604f, 0.001748f, 0.024667f, -0.011645f, -0.003703f, -0.009406f, 0.018776f, -0.011421f, -0.006069f, 0.005725f, 0.005692f, 0.005236f, 0.006687f, -0.007806f, 0.009091f, 0.002261f, -0.020453f, 0.028168f, 0.011288f, 0.004517f, 0.003008f, -0.000184f, -0.013078f, 0.016104f, 0.013594f, 0.005612f, 0.018167f, 0.001887f, 0.008033f, 0.018154f, 0.009331f, 0.003873f, -0.012478f, 0.014951f, -0.006520f, 0.028600f, -0.003063f, 0.000720f, -0.007759f, -0.030089f, 0.003981f, -0.007328f, -0.003522f, 0.015378f, -0.001261f, -0.016341f, -0.009237f, 0.013212f, 0.011136f, 0.001689f, 0.012895f, 0.003346f, -0.009400f, 0.004441f, -0.000868f, -0.003201f, -0.002587f, 0.001004f, 0.007644f, -0.003637f, 0.000974f, 0.001310f, 0.004313f, 0.001584f, -0.003427f, 0.005521f, 0.000841f, 0.001443f, -0.000301f, - 0.001400f, 0.000716f, -0.002214f, 0.003210f, -0.002237f, 0.002647f, 0.002014f, -0.001598f, 0.006227f, -0.000829f, 0.001508f, -0.002109f, -0.001456f, 0.018356f, 0.012512f, -0.002127f, -0.011512f, 0.030169f, 0.047973f, -0.006335f, -0.006656f, 0.023197f, 0.005649f, 0.007653f, 0.006161f, -0.034547f, 0.003813f, -0.022338f, 0.017881f, 0.025489f, -0.006679f, -0.012306f, 0.004176f, 0.016147f, -0.009677f, 0.019504f, -0.007640f, 0.037639f, -0.010991f, 0.007288f, -0.001831f, 0.010220f, 0.026825f, -0.010115f, 0.002657f, -0.002359f, 0.007772f, -0.009934f, -0.004782f, 0.015270f, 0.032908f, 0.002758f, 0.024098f, -0.008905f, 0.003341f, -0.004518f, 0.008050f, 0.017611f, 0.026269f, 0.020473f, 0.019463f, 0.020223f, 0.012810f, -0.003680f, 0.003146f, -0.002771f, 0.000537f, 0.004027f, -0.013100f, -0.003770f, 0.021178f, -0.018564f, 0.007436f, -0.008156f, -0.004861f, -0.009643f, -0.038246f, 0.004295f, 0.020798f, 0.013153f, -0.004681f, -0.018141f, -0.044083f, -0.007093f, 0.018003f, -0.003696f, 0.007134f, -0.013737f, 0.010315f, -0.012666f, 0.011706f, 0.025040f, -0.010930f, -0.013509f, -0.024911f, 0.007555f, - 0.003142f, 0.004123f, -0.019680f, 0.001450f, 0.000183f, -0.005952f, 0.001202f, 0.009341f, 0.000478f, 0.006431f, 0.002910f, 0.004176f, 0.005142f, -0.000846f, 0.008049f, 0.001936f, 0.000886f, -0.001625f, -0.002513f, -0.002167f, 0.007681f, 0.002596f, -0.000182f, 0.005137f, 0.002764f, 0.003718f, -0.000624f, 0.004259f, 0.005233f, 0.007008f, -0.002827f, 0.000782f, -0.002749f, -0.032921f, -0.026268f, 0.003455f, 0.015391f, -0.014774f, -0.009776f, 0.001976f, -0.008037f, -0.049316f, -0.042650f, 0.018618f, 0.017050f, 0.003209f, 0.002461f, -0.018020f, 0.028269f, 0.034479f, 0.021167f, -0.017688f, 0.016516f, 0.022659f, -0.003576f, -0.028600f, -0.012988f, 0.039681f, -0.011826f, 0.004039f, 0.002354f, 0.022323f, -0.017914f, -0.031753f, 0.006849f, 0.014688f, -0.007884f, 0.009423f, 0.020558f, -0.009939f, -0.007979f, -0.000872f, -0.044505f, -0.012807f, 0.015230f, -0.008380f, -0.029760f, 0.005441f, -0.000850f, -0.009282f, 0.005841f, -0.002744f, -0.028221f, -0.023809f, -0.042211f, -0.033440f, 0.006472f, 0.014827f, 0.001314f, -0.009971f, -0.014132f, 0.000404f, -0.009684f, 0.009048f, -0.020315f, 0.000745f, - -0.007238f, -0.005791f, -0.006925f, -0.001776f, 0.007846f, -0.009152f, -0.040501f, 0.006124f, -0.005887f, 0.010039f, 0.011020f, 0.000813f, 0.007637f, 0.009422f, 0.002913f, -0.002262f, 0.004863f, -0.005699f, 0.002209f, -0.012559f, -0.006739f, -0.005609f, -0.006992f, 0.002916f, 0.011080f, -0.005786f, 0.001699f, -0.014286f, 0.001595f, -0.001392f, -0.010673f, 0.004678f, -0.003435f, 0.002723f, 0.004296f, 0.002535f, 0.001887f, 0.009070f, 0.001919f, 0.001212f, 0.002959f, 0.000058f, 0.001184f, 0.001283f, -0.002634f, -0.006802f, -0.001412f, -0.006889f, 0.003213f, -0.005235f, 0.007701f, 0.000109f, 0.011058f, 0.005145f, -0.006750f, -0.004399f, -0.003706f, -0.000390f, 0.016107f, 0.051763f, 0.045985f, 0.035947f, -0.003827f, 0.035150f, 0.011409f, 0.049053f, 0.020788f, -0.000971f, 0.059841f, -0.012410f, -0.003098f, -0.038043f, -0.010008f, -0.000727f, -0.026818f, 0.016132f, 0.024056f, -0.007747f, -0.000282f, -0.021564f, -0.037028f, -0.021820f, -0.028212f, -0.008184f, -0.017012f, -0.005308f, -0.002614f, 0.017066f, 0.004391f, -0.003460f, -0.015198f, -0.005200f, -0.010112f, 0.005507f, 0.000496f, -0.015063f, - 0.008106f, 0.010155f, 0.004085f, -0.011618f, -0.015264f, 0.005224f, 0.014330f, -0.001934f, -0.000406f, -0.027093f, 0.048891f, 0.008279f, -0.009137f, -0.001231f, 0.004468f, 0.020973f, 0.017870f, -0.018238f, 0.010493f, -0.007068f, 0.002376f, -0.002990f, -0.004468f, -0.027764f, -0.024709f, -0.033266f, 0.005224f, -0.001290f, -0.006875f, 0.021061f, -0.006489f, 0.059260f, -0.005649f, -0.003081f, -0.014387f, -0.006399f, 0.007863f, 0.010287f, 0.007341f, -0.000384f, 0.025652f, 0.018365f, -0.003566f, -0.012199f, 0.003577f, -0.007226f, 0.000177f, 0.002513f, -0.007983f, -0.002587f, 0.000437f, -0.002632f, 0.004227f, -0.009958f, 0.006232f, 0.011388f, -0.003212f, 0.006035f, -0.003237f, -0.002652f, -0.004303f, 0.001983f, 0.006492f, -0.002526f, 0.008632f, 0.001715f, 0.003215f, 0.011705f, 0.005247f, -0.001407f, 0.012418f, 0.005614f, 0.008696f, 0.011098f, 0.008722f, 0.001070f, 0.000245f, 0.008256f, -0.007187f, 0.000388f, 0.005232f, 0.002851f, 0.005952f, 0.005386f, 0.003121f, 0.006872f, -0.031218f, -0.045277f, -0.024663f, 0.033059f, 0.026622f, -0.023323f, -0.023442f, 0.035475f, 0.021946f, -0.023051f, - -0.030662f, -0.005492f, 0.005540f, 0.003003f, 0.004648f, -0.018488f, 0.019149f, -0.013908f, 0.037235f, -0.006207f, -0.025742f, 0.005582f, 0.009718f, -0.000703f, 0.003088f, -0.011936f, -0.016646f, -0.001428f, 0.015295f, -0.009708f, 0.011711f, -0.018675f, -0.048295f, -0.039900f, 0.025211f, -0.031194f, 0.024865f, 0.006669f, 0.003138f, -0.010775f, 0.014717f, 0.004114f, -0.003582f, -0.007561f, 0.007034f, 0.014268f, -0.013082f, 0.040574f, -0.010105f, 0.013302f, -0.012127f, 0.003093f, -0.003214f, -0.016638f, 0.039947f, -0.031579f, 0.043434f, -0.002093f, -0.021193f, -0.033163f, 0.016951f, 0.005316f, 0.005685f, 0.001387f, 0.017819f, 0.011231f, 0.016176f, -0.034123f, -0.009909f, 0.000370f, 0.000736f, 0.007951f, -0.025179f, -0.012863f, -0.008131f, -0.004887f, -0.031589f, -0.007029f, -0.010450f, -0.036361f, -0.001720f, -0.020844f, 0.005418f, -0.010056f, 0.002905f, 0.004108f, 0.015883f, 0.008773f, -0.005816f, -0.001515f, -0.012998f, 0.006756f, -0.000761f, 0.005797f, -0.015290f, 0.000342f, -0.006040f, 0.003236f, -0.014084f, 0.002298f, 0.003388f, 0.000211f, -0.003027f, 0.004484f, -0.008222f, 0.005883f, - -0.012906f, 0.004501f, -0.009215f, 0.004066f, 0.002604f, 0.005903f, -0.004722f, 0.015894f, 0.006572f, -0.000247f, -0.009755f, -0.008640f, -0.001433f, 0.010453f, -0.002133f, -0.005845f, -0.004986f, 0.007010f, 0.000629f, 0.006609f, 0.076834f, 0.025637f, -0.017132f, 0.039481f, 0.036769f, -0.019007f, -0.024220f, 0.059364f, -0.005314f, 0.013062f, -0.035200f, 0.086415f, 0.003022f, -0.024187f, 0.012549f, 0.004331f, 0.041962f, 0.000737f, 0.052994f, -0.038069f, 0.000826f, -0.041584f, 0.003217f, 0.029258f, 0.001371f, -0.025472f, 0.036131f, 0.019323f, 0.010650f, 0.008714f, -0.012610f, -0.012158f, 0.003302f, -0.018020f, 0.023664f, -0.021068f, -0.028100f, 0.024843f, 0.009420f, -0.032593f, 0.017726f, 0.002165f, -0.023697f, -0.013281f, -0.007912f, 0.012486f, -0.002789f, -0.014271f, 0.017427f, -0.021068f, -0.008353f, -0.007218f, 0.029162f, -0.019129f, 0.014098f, 0.022402f, 0.010373f, -0.013232f, -0.027232f, 0.017280f, -0.023286f, 0.031510f, -0.039673f, 0.052352f, -0.015487f, -0.007352f, -0.007434f, 0.023841f, -0.001714f, 0.008656f, 0.014254f, 0.008587f, 0.020257f, -0.019762f, -0.037640f, 0.002648f, - 0.031999f, -0.021343f, -0.010104f, -0.022308f, -0.013384f, 0.005892f, -0.002202f, -0.006412f, 0.013847f, 0.009969f, 0.007324f, -0.003508f, 0.021108f, 0.012930f, -0.009790f, -0.005153f, 0.004171f, 0.001137f, 0.017878f, 0.011337f, -0.001438f, -0.005803f, -0.004518f, 0.019521f, 0.001823f, -0.009988f, 0.012373f, 0.003718f, 0.000535f, 0.010321f, 0.004698f, -0.001802f, -0.010493f, 0.002953f, 0.012849f, -0.009500f, -0.002345f, 0.014630f, -0.000913f, -0.003001f, -0.003644f, 0.008644f, 0.001708f, 0.000264f, -0.003846f, -0.045955f, -0.005687f, 0.042023f, -0.012267f, -0.026205f, 0.011629f, -0.012302f, -0.002240f, 0.019055f, -0.045620f, -0.026810f, 0.017671f, 0.023491f, 0.032052f, -0.002260f, -0.006017f, 0.012913f, -0.003058f, -0.045117f, -0.030869f, 0.053089f, -0.003994f, -0.046492f, -0.026961f, -0.018703f, -0.015343f, 0.004331f, 0.015655f, 0.000859f, -0.007724f, -0.023194f, -0.035456f, 0.004794f, 0.004767f, -0.001229f, 0.029074f, -0.019796f, -0.055640f, 0.022600f, 0.016431f, -0.065024f, 0.038888f, -0.010505f, -0.032796f, -0.027048f, -0.002395f, 0.037033f, 0.008903f, -0.012245f, -0.013356f, 0.010588f, - 0.019509f, -0.027375f, 0.021023f, 0.003394f, 0.015502f, -0.011845f, -0.028438f, 0.025292f, 0.000137f, 0.028362f, -0.087972f, 0.011204f, 0.013653f, -0.013008f, 0.024524f, 0.028427f, 0.083746f, 0.002384f, -0.055198f, -0.025466f, -0.014374f, -0.053696f, -0.052659f, 0.002747f, -0.029876f, 0.000396f, -0.019829f, 0.019731f, -0.020179f, -0.019895f, 0.035385f, 0.008676f, -0.001122f, -0.001940f, 0.020802f, -0.004378f, -0.001992f, 0.012003f, 0.009939f, -0.007624f, 0.006820f, -0.018890f, -0.004073f, 0.005258f, -0.003478f, -0.005494f, -0.009008f, -0.009693f, -0.004873f, -0.011952f, 0.004884f, -0.015189f, 0.003384f, -0.002642f, 0.014330f, -0.003372f, -0.007333f, -0.006335f, -0.008463f, -0.009184f, -0.002353f, -0.006428f, -0.011046f, -0.008265f, 0.008266f, -0.011064f, -0.005583f, -0.019768f, 0.006199f, 0.007904f, 0.020494f, 0.004572f, -0.002507f, 0.001230f, -0.038521f, 0.006239f, 0.023564f, 0.021215f, -0.034203f, 0.060765f, 0.042157f, -0.019372f, 0.025161f, -0.049037f, -0.011033f, -0.016379f, 0.077424f, 0.049770f, -0.018599f, -0.029510f, -0.036336f, -0.007964f, 0.001924f, 0.014329f, 0.051895f, 0.011149f, - 0.008709f, 0.011336f, 0.001305f, -0.017077f, 0.001960f, -0.003168f, 0.023842f, 0.032440f, 0.040890f, 0.026785f, 0.017265f, -0.003949f, -0.007712f, 0.006609f, 0.037057f, 0.005977f, 0.006469f, -0.037716f, -0.019350f, 0.063947f, 0.025786f, 0.019299f, 0.000343f, 0.038361f, 0.020302f, 0.080721f, -0.004648f, 0.083226f, 0.005770f, -0.025663f, 0.026767f, -0.022322f, -0.016924f, -0.002805f, -0.015480f, 0.001059f, 0.015290f, 0.033395f, 0.005643f, -0.006928f, -0.036556f, 0.011907f, 0.002869f, 0.024185f, -0.028705f, 0.007786f, -0.012759f, 0.004482f, -0.036476f, 0.018629f, -0.032114f, -0.003697f, -0.043661f, -0.059656f, -0.010132f, -0.009154f, 0.049131f, 0.013479f, -0.001683f, 0.009440f, 0.015222f, 0.019418f, 0.003102f, -0.000519f, 0.000645f, -0.034463f, 0.010839f, 0.000721f, 0.032173f, -0.012895f, -0.001733f, -0.008409f, 0.022818f, 0.004818f, 0.020829f, -0.000002f, -0.024538f, 0.012141f, -0.001420f, 0.008327f, -0.018692f, -0.008125f, 0.004295f, 0.005385f, -0.013938f, 0.001597f, 0.012478f, 0.008145f, -0.012284f, -0.013187f, 0.023589f, -0.023619f, 0.009800f, -0.007081f, -0.019664f, 0.006482f, - 0.004296f, 0.006540f, 0.007941f, -0.008617f, -0.001303f, 0.011726f, 0.000745f, 0.008268f, -0.003549f, -0.008789f, -0.009487f, -0.020451f, -0.030929f, 0.009334f, -0.035505f, -0.000201f, 0.043098f, 0.013357f, 0.036740f, -0.042724f, -0.019595f, 0.020709f, 0.004316f, 0.060761f, -0.030943f, 0.036264f, -0.013773f, -0.018618f, -0.045404f, -0.017824f, -0.024415f, 0.030262f, 0.007105f, -0.040651f, 0.050665f, -0.026403f, -0.024415f, 0.004712f, 0.019710f, -0.015031f, 0.035013f, -0.017229f, -0.024424f, -0.012789f, 0.011581f, -0.004524f, -0.006763f, 0.003549f, 0.034873f, -0.023942f, 0.063885f, -0.025098f, -0.000916f, 0.058997f, -0.011998f, 0.010154f, -0.080942f, 0.003303f, 0.014343f, -0.018545f, 0.035547f, -0.065166f, -0.079463f, 0.029802f, -0.014209f, 0.043557f, -0.032894f, -0.031265f, 0.003390f, -0.010515f, 0.067301f, -0.008558f, -0.003246f, 0.014674f, -0.062822f, 0.003204f, -0.063488f, -0.025739f, 0.003474f, 0.014751f, -0.079231f, -0.035677f, -0.009891f, -0.004257f, 0.025397f, -0.034321f, 0.040281f, -0.017038f, 0.004349f, -0.052362f, -0.002835f, -0.046320f, 0.017131f, 0.009498f, 0.033944f, 0.043091f, - -0.016436f, 0.028100f, 0.003643f, -0.009800f, 0.014372f, 0.008665f, -0.014246f, -0.014666f, -0.025331f, -0.001380f, -0.015168f, -0.016094f, 0.005170f, -0.004169f, 0.021392f, -0.029547f, -0.005313f, -0.018764f, 0.006953f, 0.010087f, -0.010353f, -0.001854f, -0.015729f, -0.015948f, 0.017080f, 0.027951f, 0.031762f, 0.006065f, 0.001795f, -0.009135f, 0.005797f, 0.004775f, -0.012395f, -0.019816f, 0.006315f, -0.010693f, -0.014434f, 0.021125f, 0.014798f, 0.012109f, -0.020119f, -0.023456f, -0.049476f, 0.040447f, -0.035520f, -0.009495f, 0.031503f, 0.073758f, -0.021199f, 0.060558f, 0.021022f, 0.016052f, -0.028182f, 0.067036f, 0.010163f, 0.031597f, 0.002660f, -0.038381f, 0.013955f, -0.038540f, -0.039184f, 0.024940f, -0.039031f, -0.007750f, -0.009290f, 0.039996f, 0.003186f, -0.012594f, 0.012574f, 0.018146f, -0.008293f, -0.036505f, -0.008884f, 0.029197f, 0.069014f, 0.016575f, -0.039134f, 0.004922f, -0.007641f, 0.017218f, 0.020849f, 0.035710f, -0.015656f, 0.001436f, 0.022564f, 0.005863f, -0.001332f, 0.046906f, 0.041657f, 0.050403f, 0.017033f, 0.042449f, 0.005590f, 0.025704f, -0.019819f, -0.002910f, - 0.005427f, -0.038310f, 0.002811f, 0.066406f, -0.008483f, -0.013841f, 0.013733f, -0.000415f, 0.017583f, -0.038636f, 0.051759f, -0.031992f, -0.014649f, -0.008357f, 0.002549f, 0.006656f, 0.006567f, -0.056466f, 0.071818f, -0.015060f, -0.023116f, -0.007993f, 0.060975f, -0.006430f, 0.012618f, -0.047785f, -0.033711f, 0.001501f, 0.025327f, 0.023880f, 0.038966f, -0.062244f, -0.019733f, 0.060591f, -0.021659f, 0.007142f, 0.051344f, 0.012754f, 0.011177f, -0.002844f, 0.001701f, -0.019133f, -0.001593f, 0.005411f, 0.014612f, -0.008385f, 0.012156f, -0.022156f, -0.012790f, 0.001723f, -0.006457f, -0.003408f, -0.052770f, -0.040348f, 0.003288f, 0.027016f, -0.024939f, -0.042106f, -0.017461f, -0.034504f, 0.009757f, 0.001987f, -0.013445f, 0.033971f, -0.009709f, 0.014135f, 0.015300f, -0.017827f, -0.012927f, -0.002631f, 0.004074f, -0.000938f, 0.025280f, 0.000027f, 0.001570f, -0.011850f, -0.002791f, -0.018886f, 0.117807f, -0.007169f, 0.023793f, -0.001260f, -0.011871f, 0.003035f, -0.054172f, -0.023505f, -0.016523f, 0.020841f, 0.015276f, 0.026294f, 0.003223f, -0.028932f, 0.030154f, -0.024631f, 0.034730f, 0.025105f, - -0.027827f, -0.030325f, 0.003707f, 0.041935f, -0.043234f, 0.017796f, 0.020105f, -0.025150f, 0.011144f, -0.003588f, 0.015244f, -0.002320f, -0.063127f, 0.035051f, 0.021873f, -0.053688f, 0.064351f, -0.034494f, -0.008116f, -0.021526f, 0.051943f, -0.010731f, -0.044081f, -0.000535f, 0.000715f, 0.042423f, 0.043651f, 0.002426f, -0.033596f, 0.048424f, -0.007866f, 0.008156f, -0.062004f, 0.048359f, 0.019936f, 0.002459f, -0.035574f, -0.027457f, -0.003778f, 0.016494f, -0.028597f, -0.051635f, -0.021762f, 0.039881f, 0.025034f, -0.006493f, 0.065570f, 0.003390f, -0.010655f, -0.047824f, 0.057857f, -0.054308f, -0.017362f, 0.058546f, 0.018671f, 0.007115f, -0.022228f, 0.008629f, 0.058250f, 0.012377f, 0.025539f, 0.036324f, -0.095317f, -0.021448f, -0.015837f, -0.008466f, -0.039532f, -0.007586f, -0.004686f, 0.057321f, 0.015694f, 0.003326f, 0.029437f, 0.040781f, 0.028981f, -0.021101f, 0.011047f, 0.024158f, -0.004901f, 0.008970f, 0.010687f, 0.012613f, 0.008560f, 0.040508f, 0.022270f, 0.001945f, -0.011962f, -0.019145f, -0.035608f, 0.004570f, 0.000050f, 0.009000f, 0.011703f, 0.004935f, 0.061914f, -0.009123f, - 0.022403f, 0.012788f, -0.016838f, -0.049772f, -0.007936f, -0.018832f, -0.030591f, -0.033640f, 0.005711f, -0.006094f, -0.039821f, -0.000517f, 0.015203f, -0.004585f, -0.003872f, 0.013267f, -0.009790f, -0.031122f, -0.013520f, -0.048081f, 0.002433f, -0.053723f, 0.050285f, 0.076162f, 0.036727f, 0.042897f, -0.066435f, -0.061017f, -0.046283f, 0.003507f, 0.084341f, -0.016495f, 0.031886f, 0.053220f, 0.028192f, -0.031049f, 0.002617f, 0.038545f, -0.050316f, -0.043827f, -0.035868f, 0.040417f, 0.029738f, -0.054734f, -0.074916f, 0.101501f, 0.064072f, -0.074371f, 0.033891f, -0.009746f, 0.031102f, 0.002047f, -0.021418f, -0.052054f, 0.047150f, -0.002476f, -0.036980f, -0.057663f, 0.015143f, 0.011943f, -0.013567f, 0.000237f, -0.004539f, -0.029118f, -0.011562f, -0.015954f, 0.026853f, -0.050744f, 0.055212f, -0.038618f, 0.002665f, 0.084515f, -0.082158f, -0.021318f, 0.078798f, 0.004367f, 0.018909f, -0.012955f, -0.023861f, 0.023177f, -0.008492f, -0.035826f, 0.005057f, -0.079967f, 0.133839f, -0.014490f, -0.146430f, 0.054237f, 0.145518f, 0.084145f, -0.178674f, -0.053537f, 0.034410f, 0.011540f, -0.026801f, -0.042748f, - 0.022835f, 0.053331f, -0.066966f, -0.020057f, -0.117194f, -0.021746f, 0.041059f, 0.013365f, -0.035534f, -0.060348f, 0.023567f, 0.050125f, -0.000711f, -0.017395f, -0.027842f, 0.039514f, 0.024748f, 0.015164f, -0.003106f, -0.013902f, 0.005220f, 0.021374f, 0.018127f, -0.005731f, -0.046836f, -0.030936f, 0.049345f, 0.019432f, -0.025000f, -0.018745f, 0.035455f, 0.010153f, -0.004671f, -0.073145f, -0.032555f, -0.037312f, 0.040359f, 0.009340f, 0.008976f, -0.009109f, 0.001197f, 0.037348f, -0.007777f, -0.008661f, -0.033942f, 0.005018f, -0.010900f, 0.052760f, 0.011677f, -0.013984f, 0.006717f, 0.053237f, -0.007101f, -0.022824f, 0.004529f, 0.000414f, -0.002753f, -0.037840f, 0.009231f, 0.035909f, 0.086115f, -0.036457f, 0.028520f, -0.045841f, -0.119135f, 0.064056f, -0.029497f, -0.066146f, -0.044744f, -0.067602f, 0.032808f, 0.021752f, -0.089464f, 0.057309f, -0.030741f, -0.002822f, -0.000421f, -0.046810f, 0.036367f, 0.035021f, 0.032036f, -0.003490f, 0.041701f, 0.020924f, -0.024197f, 0.001763f, -0.050719f, -0.019113f, -0.044920f, -0.032295f, -0.001559f, 0.073644f, -0.061232f, -0.013691f, -0.012666f, -0.055939f, - 0.033206f, -0.063032f, 0.033101f, 0.027665f, -0.041796f, 0.033049f, -0.067602f, 0.019185f, -0.058688f, 0.038100f, -0.021563f, -0.031801f, -0.031867f, -0.048802f, -0.012373f, 0.023963f, 0.042861f, -0.049518f, 0.033502f, 0.017997f, 0.052050f, 0.062789f, 0.037298f, -0.052886f, -0.023714f, -0.099117f, -0.024290f, -0.029044f, 0.033504f, -0.115604f, -0.021201f, -0.068902f, -0.005291f, 0.068400f, 0.063934f, 0.041236f, 0.015382f, 0.092235f, 0.102054f, 0.089920f, -0.030365f, -0.040915f, 0.034959f, 0.088021f, 0.164034f, 0.011473f, 0.038899f, 0.019595f, -0.008105f, 0.029875f, -0.028812f, 0.017486f, -0.007020f, -0.000751f, -0.018345f, 0.030324f, 0.036083f, -0.012688f, -0.028685f, -0.022552f, 0.027482f, 0.011566f, 0.031079f, -0.017012f, 0.012429f, -0.006356f, -0.012883f, -0.009016f, 0.030863f, 0.059470f, 0.029178f, -0.031323f, 0.016376f, -0.011032f, 0.022009f, 0.009270f, 0.011181f, 0.028928f, -0.018248f, -0.039673f, 0.003854f, 0.029952f, 0.024313f, 0.007837f, -0.005309f, -0.013875f, -0.053508f, 0.052806f, 0.015409f, -0.012836f, -0.055670f, -0.013472f, -0.038088f, 0.018937f, 0.022055f, -0.018645f, - 0.013681f, 0.107100f, -0.063324f, 0.040056f, 0.048616f, -0.022481f, 0.004391f, 0.018670f, -0.006000f, 0.051970f, 0.002633f, 0.037639f, -0.048113f, -0.006764f, 0.041781f, 0.006928f, -0.065270f, 0.042278f, -0.026083f, -0.021196f, -0.024939f, -0.006430f, -0.024323f, 0.024790f, 0.034547f, 0.016889f, -0.006059f, -0.018098f, 0.029973f, -0.009717f, -0.047944f, 0.039311f, -0.080929f, -0.020312f, -0.016683f, -0.017703f, 0.046144f, 0.050611f, 0.090609f, -0.026496f, 0.038754f, -0.001345f, 0.017461f, 0.059517f, -0.004349f, 0.006458f, -0.039636f, -0.124722f, 0.061801f, 0.012025f, -0.060276f, -0.041178f, 0.006098f, 0.032769f, -0.005745f, -0.035234f, 0.018356f, -0.036127f, 0.047717f, 0.026759f, -0.020775f, -0.043351f, 0.086497f, 0.009669f, 0.004625f, -0.007768f, 0.012031f, 0.006276f, 0.003822f, -0.028903f, -0.061400f, 0.017172f, -0.008935f, -0.021691f, -0.056568f, -0.013747f, -0.001597f, 0.050709f, 0.020924f, -0.063450f, 0.037203f, 0.006818f, -0.002316f, -0.006852f, 0.020812f, 0.026737f, -0.005134f, -0.011676f, -0.004386f, -0.011033f, 0.009935f, 0.015993f, -0.000550f, 0.009277f, 0.017850f, -0.006289f, - 0.025711f, 0.011109f, 0.008022f, 0.013677f, -0.007009f, 0.032248f, 0.005599f, -0.006511f, 0.021094f, -0.024983f, 0.008350f, 0.014807f, -0.005752f, -0.010517f, 0.029058f, 0.041810f, -0.036909f, -0.006586f, -0.012828f, -0.012434f, 0.015128f, 0.013177f, -0.023054f, 0.013246f, 0.010690f, 0.009585f, 0.011189f, -0.020630f, 0.015319f, -0.001265f, 0.009187f, -0.025801f, -0.006375f, 0.005422f, 0.119458f, 0.060095f, 0.120200f, -0.111045f, 0.010097f, 0.056876f, -0.021736f, 0.064858f, 0.126791f, 0.068722f, 0.004564f, -0.034580f, -0.034544f, 0.005981f, 0.055251f, 0.058029f, 0.013845f, -0.000714f, -0.086606f, -0.018528f, 0.086459f, 0.027859f, -0.023443f, 0.046887f, -0.039853f, -0.057055f, -0.014992f, -0.004347f, 0.066958f, 0.086195f, 0.078473f, 0.028958f, -0.029706f, -0.047040f, -0.085674f, -0.086285f, 0.075158f, 0.030720f, 0.006627f, 0.114697f, 0.007492f, -0.035889f, -0.046671f, -0.048523f, 0.023820f, 0.048661f, 0.039701f, 0.075026f, 0.005869f, 0.053817f, -0.003071f, -0.010378f, 0.028059f, 0.049780f, 0.037347f, 0.031415f, -0.028247f, -0.011490f, -0.022178f, -0.051708f, -0.040456f, -0.075083f, - -0.024445f, 0.019357f, -0.011747f, 0.053570f, 0.065613f, -0.001674f, 0.001093f, -0.027283f, -0.047140f, 0.009205f, 0.063409f, -0.004245f, 0.035304f, 0.014659f, -0.004105f, -0.020339f, -0.008604f, 0.005135f, 0.022436f, 0.016508f, -0.016362f, -0.035860f, -0.043099f, -0.041498f, -0.015384f, 0.015973f, -0.003804f, -0.026315f, -0.012694f, -0.018453f, -0.014622f, 0.007797f, -0.001835f, 0.023494f, 0.034964f, 0.007119f, -0.041546f, -0.022215f, -0.024718f, -0.006344f, 0.028753f, 0.006204f, 0.007393f, -0.034969f, -0.032097f, -0.037696f, -0.018610f, 0.031720f, 0.022458f, 0.027295f, 0.015417f, -0.014147f, -0.016322f, 0.011222f, 0.011121f, -0.003524f, 0.007664f, -0.014801f, -0.011012f, 0.007791f, 0.006302f, 0.011035f, -0.006446f, -0.014713f, -0.006122f, -0.011421f, -0.001678f, 0.021478f, -0.063304f, -0.123043f, 0.048468f, 0.201018f, 0.204109f, 0.173028f, 0.125134f, -0.077174f, -0.088312f, -0.095143f, -0.126862f, -0.193788f, -0.156359f, -0.135551f, 0.062864f, 0.145918f, 0.108283f, 0.234586f, 0.181068f, 0.094621f, -0.034992f, -0.063048f, -0.157735f, -0.122903f, -0.121964f, -0.024774f, -0.074784f, -0.060492f, - 0.017949f, 0.033121f, 0.066275f, 0.066784f, 0.091310f, 0.090834f, 0.116884f, 0.068380f, 0.029887f, -0.016895f, -0.019889f, -0.051357f, -0.078037f, -0.093949f, -0.115138f, -0.075200f, -0.141386f, -0.093986f, -0.070762f, 0.070833f, 0.133933f, 0.144695f, 0.099888f, 0.068271f, 0.106617f, 0.081801f, 0.102320f, 0.080634f, 0.028104f, -0.037898f, -0.179503f, -0.126732f, -0.129435f, -0.200551f, -0.126019f, -0.108835f, -0.105869f, 0.038568f, 0.106269f, 0.169062f, 0.138983f, 0.198728f, 0.178119f, 0.174416f, 0.124138f, -0.067690f, -0.061506f, -0.139379f, -0.184609f, -0.203158f, -0.166851f, -0.079909f, -0.022845f, -0.042010f, 0.054888f, 0.145587f, 0.102435f, 0.069399f, 0.116552f, 0.098174f, 0.034929f, -0.022976f, -0.023394f, -0.007463f, -0.028674f, -0.078180f, -0.049314f, -0.055834f, -0.030349f, -0.024993f, -0.058439f, -0.021510f, 0.019982f, -0.019462f, 0.064490f, 0.085370f, 0.093550f, 0.099190f, 0.006063f, 0.029674f, 0.028816f, -0.008365f, -0.135845f, -0.108212f, -0.084739f, -0.075483f, -0.059623f, -0.056350f, 0.062394f, 0.093444f, 0.101352f, 0.097199f, 0.079967f, 0.055003f, 0.049328f, -0.000647f, - -0.014716f, -0.078398f, -0.106032f, -0.094779f, -0.079206f, -0.050380f, -0.032916f, 0.003933f, 0.047709f, 0.096986f, 0.072494f, 0.046259f, 0.033385f, 0.009265f, -0.000662f, 0.000159f, -0.019343f, -0.025130f, -0.020883f, -0.024553f, 0.005911f, -0.009163f, -0.033874f, 0.004580f, 0.016264f, -0.005929f, -0.008409f, -0.006916f, 0.003902f, 0.006476f, -0.008765f, 0.002020f, 0.022146f, 0.013941f, 0.006555f, 0.013723f, 0.013232f, 0.002365f, -0.002519f, -0.004112f, -0.008796f, -0.012419f, -0.009208f, -0.006645f, -0.008461f, -0.007028f, -0.003201f, -0.001252f, 0.001931f, 0.004133f, 0.004210f, 0.003843f, 0.006657f, 0.005388f, 0.005938f, 0.002477f, -0.002266f, -0.002748f, -0.000228f, -0.002567f, -0.004951f, -0.003176f, 0.002194f, 0.005103f, 0.006385f, 0.005036f, 0.004896f, 0.001218f, -0.002546f, -0.005375f, -0.008038f, -0.010830f, -0.010118f, -0.008915f, -0.005546f, -0.002374f, 0.002095f, 0.007689f, 0.013675f, 0.015272f, 0.015251f, 0.012285f, 0.007644f, 0.001687f, -0.003746f, -0.010958f, -0.014265f, -0.015488f, -0.013347f, -0.009609f, -0.004614f, 0.001057f, 0.006381f, 0.007769f, 0.009162f, 0.008066f, - 0.005831f, 0.002823f, 0.001199f, -0.000307f, -0.000813f, -0.001512f, -0.001536f, -0.001870f, -0.001008f, -0.001180f, -0.000923f, -0.001204f, -0.000518f, -0.000670f, -0.000110f, -0.000390f, 0.000129f, -0.000294f, 0.000147f, -0.000211f} - }, - { - {-0.006330f, 0.006372f, 0.005245f, 0.012101f, -0.016482f, 0.003612f, 0.010679f, 0.019825f, -0.002242f, 0.011209f, -0.000579f, 0.010185f, 0.002326f, 0.015574f, -0.000426f, -0.004932f, 0.010316f, 0.014928f, 0.013947f, 0.008387f, 0.002158f, -0.005639f, -0.004625f, 0.001479f, 0.007064f, -0.003561f, 0.003226f, 0.000968f, 0.008047f, -0.003864f, -0.000334f, 0.002115f, -0.009840f, -0.005579f, -0.002967f, -0.010086f, 0.002330f, -0.002793f, -0.000188f, -0.001307f, -0.008562f, 0.006661f, 0.009988f, -0.002014f, 0.000712f, 0.001000f, -0.001709f, 0.010776f, -0.013087f, 0.000030f, 0.005280f, 0.001509f, 0.001621f, -0.003054f, -0.010853f, -0.002685f, 0.004093f, 0.005013f, 0.005410f, -0.000915f, 0.000099f, 0.000133f, 0.002092f, -0.001768f, 0.011179f, 0.000374f, -0.001078f, -0.007328f, 0.000912f, -0.005233f, -0.004164f, 0.004501f, 0.004759f, 0.011671f, 0.000327f, 0.011476f, 0.001215f, 0.001291f, 0.000687f, -0.005984f, 0.000292f, -0.002095f, -0.003150f, 0.001287f, 0.003576f, -0.002256f, 0.001398f, -0.002336f, 0.002824f, -0.002978f, -0.001017f, -0.001505f, 0.001602f, -0.000917f, 0.001492f, -0.001304f, - 0.001773f, 0.003299f, 0.001545f, -0.001536f, -0.000500f, -0.000766f, -0.000865f, 0.000979f, 0.000620f, -0.000738f, 0.012949f, 0.020945f, 0.002825f, 0.010416f, -0.003770f, 0.006178f, 0.008111f, -0.002511f, -0.006471f, 0.010972f, 0.018979f, -0.003740f, 0.002123f, 0.007313f, -0.009061f, 0.005630f, 0.008113f, -0.016598f, 0.004680f, 0.001597f, -0.003712f, -0.000020f, -0.017244f, 0.000681f, 0.004853f, -0.008228f, 0.001536f, 0.000269f, 0.011074f, 0.007877f, -0.004135f, -0.001202f, -0.001034f, -0.011774f, -0.007886f, 0.001271f, 0.004764f, 0.001042f, 0.005291f, -0.007786f, 0.001188f, 0.003857f, 0.000817f, -0.007210f, -0.005248f, -0.001614f, 0.002517f, 0.005795f, 0.006030f, 0.003991f, 0.007037f, 0.006853f, -0.007702f, -0.002382f, 0.000326f, 0.009750f, -0.001474f, 0.006990f, -0.004598f, -0.004793f, -0.001465f, -0.008801f, -0.004040f, 0.001779f, 0.005136f, -0.007514f, 0.007347f, -0.002095f, -0.002179f, -0.001484f, -0.002960f, -0.003810f, 0.001527f, 0.005687f, 0.002138f, 0.009505f, -0.013203f, -0.010672f, -0.002337f, 0.003929f, -0.000132f, -0.002191f, 0.002028f, 0.000278f, 0.002458f, 0.004002f, - 0.006740f, 0.000102f, -0.000390f, 0.001577f, -0.000619f, -0.000115f, 0.001044f, -0.003110f, -0.001618f, -0.006414f, 0.002556f, 0.012150f, 0.017208f, 0.009960f, -0.004304f, 0.007369f, -0.004484f, -0.003038f, -0.014681f, -0.011712f, 0.005323f, 0.011247f, 0.011035f, 0.011467f, 0.002586f, 0.000612f, 0.007137f, -0.009485f, 0.009564f, 0.007716f, 0.000743f, 0.006628f, 0.017071f, 0.011586f, 0.003281f, -0.012249f, 0.000391f, 0.004112f, 0.002678f, 0.002018f, -0.013378f, 0.003210f, 0.002507f, 0.008977f, 0.009949f, -0.003115f, 0.006405f, -0.004827f, -0.005316f, 0.007216f, 0.004136f, -0.012842f, -0.012110f, -0.005324f, -0.006785f, -0.005083f, -0.005380f, -0.014835f, -0.013380f, -0.001215f, 0.004893f, -0.000085f, -0.001369f, -0.009995f, 0.001381f, 0.011866f, -0.003281f, -0.003747f, 0.004520f, -0.000022f, 0.008634f, 0.004316f, 0.004438f, -0.005534f, -0.006780f, 0.012744f, 0.005885f, -0.005097f, 0.008450f, -0.001114f, 0.006601f, -0.005530f, 0.001089f, 0.009410f, -0.003513f, -0.003044f, 0.006842f, 0.000836f, 0.002762f, 0.004043f, -0.004618f, 0.005281f, -0.002136f, 0.004328f, 0.004417f, 0.003372f, - -0.002936f, 0.001106f, -0.001429f, -0.002546f, -0.003200f, 0.000189f, 0.000457f, 0.002133f, 0.001893f, 0.000501f, -0.000098f, 0.001676f, 0.000591f, 0.001169f, -0.023712f, -0.014019f, -0.004341f, 0.004466f, -0.009752f, 0.002950f, -0.002641f, 0.006800f, -0.001621f, -0.013332f, -0.010537f, 0.009166f, 0.007569f, 0.018995f, 0.016844f, -0.002586f, 0.012199f, -0.018325f, -0.002935f, 0.014189f, 0.004328f, 0.003268f, -0.001831f, -0.006006f, -0.002743f, 0.001938f, -0.001587f, -0.000584f, 0.007243f, -0.008998f, 0.002048f, 0.003232f, -0.000168f, 0.005635f, -0.006117f, -0.005079f, 0.003307f, -0.003956f, 0.005113f, -0.010050f, 0.001714f, -0.006047f, -0.002318f, -0.006731f, -0.004968f, -0.007643f, -0.011247f, 0.006905f, -0.000020f, 0.011789f, -0.010991f, -0.009478f, -0.000023f, 0.002242f, -0.001243f, -0.002290f, 0.000837f, 0.007096f, 0.003464f, 0.001514f, -0.004802f, -0.004705f, -0.002602f, -0.008839f, 0.001461f, -0.002301f, 0.001093f, -0.000430f, -0.009438f, -0.000811f, -0.000693f, -0.010070f, 0.000338f, -0.001909f, 0.001230f, -0.001707f, -0.011138f, 0.001001f, 0.005095f, -0.002234f, 0.007462f, 0.002040f, - -0.003894f, 0.003112f, 0.007828f, 0.002551f, 0.001405f, 0.001754f, -0.001580f, 0.000963f, 0.006141f, -0.000475f, -0.000897f, 0.002238f, 0.002564f, 0.000968f, 0.002082f, 0.000436f, 0.000915f, -0.004058f, 0.000523f, -0.000317f, -0.001919f, -0.001453f, -0.001393f, -0.002062f, 0.000393f, -0.001690f, 0.008400f, -0.012831f, 0.005310f, -0.014331f, -0.002333f, 0.000632f, -0.010377f, 0.009841f, 0.007710f, -0.021240f, -0.001988f, 0.003493f, -0.001801f, -0.009329f, -0.012260f, 0.002496f, -0.006092f, -0.010397f, -0.004936f, 0.006061f, 0.005594f, 0.014954f, 0.019696f, -0.001761f, 0.017619f, -0.010767f, 0.007031f, 0.007545f, -0.001386f, 0.007432f, -0.004129f, 0.000107f, -0.000972f, -0.003650f, -0.001700f, -0.004079f, 0.014711f, -0.000867f, -0.010672f, -0.002639f, 0.007453f, 0.004480f, 0.005994f, 0.001116f, -0.004897f, 0.010583f, 0.021824f, 0.001308f, 0.002356f, 0.001228f, -0.001438f, 0.003389f, -0.001280f, 0.012335f, -0.009286f, 0.011798f, 0.008381f, -0.007557f, 0.004034f, 0.007673f, 0.005457f, -0.009048f, -0.009581f, -0.019326f, -0.002973f, -0.001857f, 0.002632f, 0.007424f, -0.001629f, 0.004823f, - -0.001454f, -0.005158f, -0.004920f, 0.009931f, -0.002083f, 0.010537f, -0.015397f, -0.006181f, 0.003779f, -0.009915f, 0.002767f, 0.010603f, 0.001209f, -0.000102f, 0.000984f, 0.002243f, 0.001665f, -0.006013f, -0.001711f, -0.000997f, 0.001082f, -0.001083f, 0.002161f, 0.002709f, 0.001619f, -0.001751f, -0.003810f, 0.004394f, 0.001918f, 0.001704f, 0.001372f, 0.001271f, 0.000541f, 0.000103f, -0.001722f, 0.001831f, 0.001091f, 0.000713f, 0.000546f, 0.001927f, 0.001522f, 0.002312f, -0.002457f, -0.001637f, -0.002921f, -0.002931f, -0.000546f, 0.002322f, -0.001604f, -0.001101f, 0.001518f, 0.000512f, 0.001189f, -0.000495f, 0.000430f, 0.005399f, 0.002697f, 0.000080f, 0.007752f, 0.021664f, 0.025993f, -0.006890f, -0.000374f, 0.005239f, -0.003673f, 0.016506f, 0.016519f, -0.010443f, 0.016201f, 0.012372f, 0.005068f, 0.007103f, 0.006744f, 0.003153f, -0.001165f, 0.000992f, 0.002384f, -0.008981f, -0.010543f, 0.002664f, -0.002776f, -0.000296f, 0.002110f, -0.009690f, 0.009865f, 0.019153f, -0.000353f, -0.011740f, 0.019133f, 0.002144f, 0.000833f, 0.007264f, -0.003060f, -0.005809f, 0.003005f, -0.007245f, - 0.003094f, 0.019140f, 0.008523f, -0.000281f, 0.007157f, 0.010344f, 0.027478f, -0.004585f, 0.012009f, -0.002469f, -0.011564f, 0.007646f, 0.000975f, -0.004062f, 0.005623f, 0.016560f, 0.004554f, 0.002843f, 0.000027f, 0.006562f, 0.024362f, 0.010684f, 0.003285f, 0.002330f, 0.006616f, -0.007058f, 0.012600f, -0.003287f, -0.023567f, 0.002800f, -0.002281f, 0.014264f, 0.017197f, 0.007222f, -0.006956f, -0.006670f, -0.005893f, -0.000944f, 0.005543f, 0.000403f, 0.003844f, 0.002341f, 0.004017f, 0.010703f, 0.004948f, -0.008643f, -0.003435f, 0.001105f, 0.003264f, 0.000471f, 0.000067f, 0.000245f, -0.004417f, 0.004895f, 0.001453f, 0.000935f, 0.000821f, 0.000936f, 0.000741f, 0.003651f, -0.001234f, 0.002645f, -0.002429f, -0.000866f, -0.003997f, 0.000798f, -0.001360f, -0.000296f, 0.000535f, 0.001731f, -0.029323f, -0.003060f, -0.012577f, -0.014369f, -0.004096f, -0.010193f, 0.000259f, 0.009134f, -0.013906f, 0.014348f, -0.030473f, 0.004482f, -0.009197f, -0.015926f, -0.021871f, 0.022741f, 0.011011f, 0.001623f, -0.019416f, -0.012364f, 0.006893f, -0.024718f, -0.017660f, 0.006063f, 0.005016f, 0.025422f, - -0.003552f, 0.002253f, 0.018449f, -0.010993f, 0.018113f, 0.006451f, 0.006458f, -0.003448f, -0.011362f, -0.001163f, 0.015027f, -0.008131f, 0.001011f, 0.019361f, -0.007317f, -0.005548f, -0.009607f, -0.011304f, -0.010181f, -0.007288f, -0.015841f, -0.001784f, 0.004356f, -0.005208f, 0.003102f, -0.004978f, -0.008269f, 0.010919f, -0.014192f, 0.008537f, -0.012116f, -0.014757f, 0.000389f, 0.012330f, 0.000460f, -0.003582f, 0.004512f, -0.009817f, -0.005343f, -0.013796f, -0.025114f, -0.011607f, 0.003169f, -0.007416f, 0.027929f, 0.011341f, -0.020109f, -0.009868f, -0.003297f, -0.007038f, 0.008712f, 0.019261f, 0.012227f, -0.009208f, 0.008494f, -0.010936f, 0.006238f, 0.001067f, 0.008508f, -0.009680f, -0.002708f, 0.000934f, -0.004694f, -0.008252f, -0.007367f, 0.001358f, -0.000866f, -0.001873f, 0.003952f, 0.001736f, 0.000260f, -0.002694f, 0.002188f, -0.000486f, -0.002570f, -0.005999f, -0.000570f, -0.003059f, 0.000092f, 0.002747f, -0.002437f, -0.006683f, -0.001230f, -0.002811f, -0.011344f, -0.001570f, -0.003519f, 0.031197f, 0.020800f, 0.021252f, -0.006016f, -0.030953f, -0.002176f, -0.016014f, 0.004194f, 0.006470f, - 0.016738f, -0.008066f, 0.007481f, -0.012926f, 0.002399f, -0.011442f, -0.028232f, -0.015700f, 0.011143f, -0.010735f, -0.022323f, -0.021566f, -0.019487f, -0.031161f, 0.004077f, -0.011139f, -0.023215f, -0.021455f, 0.003946f, 0.029324f, -0.003727f, -0.005299f, -0.009683f, -0.018339f, 0.003951f, -0.007508f, 0.002206f, -0.022793f, 0.001667f, -0.023728f, 0.003497f, -0.002249f, 0.012796f, 0.009388f, 0.010689f, 0.005030f, -0.000656f, 0.008338f, -0.005510f, 0.016736f, 0.005031f, 0.008303f, 0.005412f, -0.005927f, 0.006307f, 0.016868f, -0.002023f, 0.009274f, -0.002222f, 0.026725f, 0.003707f, 0.009833f, 0.001543f, -0.015508f, -0.011392f, 0.000202f, -0.005161f, 0.003168f, -0.003711f, 0.008639f, 0.008212f, 0.010096f, -0.004578f, 0.005619f, -0.020548f, 0.010723f, 0.030566f, -0.014961f, -0.002870f, 0.007747f, -0.017268f, -0.001515f, 0.011146f, -0.007179f, -0.000875f, -0.003947f, 0.009720f, -0.010074f, -0.002117f, 0.002334f, -0.005244f, 0.002335f, -0.001685f, 0.003707f, -0.004840f, -0.005343f, 0.005811f, -0.002832f, -0.005340f, 0.003619f, -0.001987f, -0.000182f, -0.007632f, 0.005689f, 0.002206f, -0.001597f, - -0.001100f, 0.003116f, 0.001410f, 0.003014f, 0.002606f, 0.000299f, -0.003165f, -0.006211f, -0.001538f, 0.003216f, -0.015277f, -0.044077f, -0.007364f, -0.015357f, -0.023283f, 0.012546f, -0.044386f, -0.005712f, -0.015832f, -0.008551f, 0.012730f, -0.014078f, 0.018677f, 0.016195f, 0.002503f, 0.014605f, 0.001217f, 0.007733f, -0.011630f, -0.020365f, -0.022528f, -0.012538f, -0.020655f, 0.016059f, 0.020932f, -0.000885f, -0.011157f, 0.006083f, 0.005971f, -0.007725f, 0.001456f, -0.035042f, -0.018630f, 0.016312f, -0.009031f, 0.000481f, 0.015901f, -0.001514f, 0.009798f, 0.008471f, -0.004663f, 0.009691f, -0.000216f, -0.018687f, 0.020700f, -0.014628f, 0.000896f, 0.001145f, -0.011588f, 0.007641f, 0.012294f, -0.007322f, 0.014060f, 0.001588f, -0.001220f, -0.012963f, 0.015895f, -0.000097f, -0.013090f, -0.004304f, -0.026106f, -0.010908f, -0.014959f, -0.001885f, 0.017745f, 0.005151f, -0.001826f, 0.000290f, -0.016945f, 0.003775f, 0.012805f, -0.016973f, 0.000843f, 0.025970f, -0.010828f, 0.002541f, 0.001833f, -0.018477f, -0.011248f, 0.011810f, 0.009760f, -0.030061f, 0.005914f, 0.022466f, -0.000255f, 0.002674f, - -0.000012f, 0.005409f, -0.001863f, 0.014178f, -0.003399f, -0.000598f, 0.001665f, 0.002716f, -0.006589f, 0.001623f, 0.004842f, 0.001532f, 0.008273f, 0.003089f, -0.000341f, -0.003107f, -0.006805f, -0.001929f, 0.002990f, -0.004123f, 0.002816f, -0.004228f, -0.000292f, 0.005832f, 0.002965f, -0.004129f, -0.005762f, 0.000281f, 0.000012f, 0.012422f, -0.005196f, 0.001007f, 0.006623f, 0.002740f, 0.006532f, 0.078735f, 0.017338f, -0.010164f, -0.015920f, -0.001400f, -0.005140f, 0.014054f, -0.003260f, 0.011895f, 0.022131f, -0.008877f, 0.000964f, -0.014641f, -0.010259f, 0.004846f, -0.002595f, 0.011556f, -0.022196f, -0.012816f, 0.010237f, 0.022175f, 0.014413f, -0.000597f, 0.005065f, -0.005327f, -0.013437f, 0.009673f, 0.017091f, 0.018179f, 0.021673f, -0.018018f, -0.004458f, -0.010307f, -0.022613f, -0.002768f, 0.000991f, -0.004852f, 0.010138f, 0.013671f, -0.000209f, 0.006777f, -0.004206f, -0.023786f, -0.013157f, -0.031834f, -0.032540f, -0.009393f, 0.010659f, -0.004683f, -0.014515f, 0.027169f, 0.010075f, -0.001061f, -0.025619f, -0.001121f, -0.008019f, -0.018151f, 0.000043f, -0.008286f, -0.011970f, -0.025154f, - -0.003415f, -0.009272f, -0.027881f, 0.000025f, 0.021004f, -0.014208f, -0.006938f, 0.007853f, -0.012098f, 0.004765f, -0.011989f, 0.017281f, -0.005708f, -0.016654f, -0.026073f, -0.042500f, 0.008221f, 0.007207f, 0.032323f, 0.013101f, 0.011083f, -0.000139f, 0.009697f, -0.007633f, 0.010288f, -0.000950f, 0.003522f, 0.005218f, 0.012236f, 0.005690f, 0.000342f, -0.002257f, -0.000773f, 0.004924f, 0.002913f, 0.012894f, 0.009957f, 0.006773f, 0.002049f, -0.002615f, -0.006960f, 0.003726f, 0.008209f, 0.000754f, 0.000387f, -0.001562f, -0.006170f, -0.001033f, -0.001037f, -0.002884f, -0.002287f, -0.004647f, 0.003738f, 0.005691f, -0.005465f, -0.005420f, -0.000439f, -0.000706f, 0.002846f, 0.017560f, -0.062148f, -0.035597f, 0.033137f, -0.008690f, 0.002251f, -0.017214f, 0.014535f, -0.006006f, -0.023890f, 0.011449f, 0.033511f, 0.004191f, -0.029055f, 0.008152f, -0.006211f, -0.006762f, 0.019365f, 0.019848f, -0.002533f, -0.004129f, 0.042177f, 0.009320f, -0.005880f, -0.025891f, 0.011602f, -0.037101f, -0.030312f, -0.028152f, 0.011571f, -0.005369f, -0.002836f, 0.024090f, 0.009810f, -0.024570f, -0.020309f, 0.005291f, - 0.024033f, 0.008124f, -0.002531f, 0.001318f, 0.016092f, -0.011522f, -0.025701f, 0.033767f, -0.009730f, 0.003481f, 0.013851f, 0.002084f, 0.004892f, 0.034735f, 0.000817f, 0.022121f, 0.001216f, -0.023307f, 0.003592f, 0.004962f, -0.004605f, 0.004430f, 0.016044f, -0.011787f, -0.003347f, 0.004037f, -0.045808f, 0.012208f, 0.009648f, -0.000270f, 0.011285f, 0.008607f, -0.016843f, 0.008098f, 0.063473f, 0.027183f, 0.015867f, 0.004588f, 0.015605f, -0.048609f, -0.022794f, 0.024611f, 0.001237f, -0.000214f, -0.018398f, 0.016455f, 0.020160f, 0.016681f, 0.003040f, 0.003513f, -0.006409f, 0.000289f, -0.011298f, -0.004178f, 0.009403f, -0.002033f, -0.005558f, 0.004776f, 0.000650f, 0.004586f, -0.006465f, -0.002826f, 0.002546f, -0.001195f, 0.004894f, -0.008032f, -0.002503f, 0.005782f, -0.006151f, 0.004684f, 0.001976f, 0.000637f, 0.000469f, 0.000094f, -0.004925f, 0.002647f, 0.005112f, -0.002379f, -0.002131f, -0.005552f, 0.002749f, -0.000303f, -0.041481f, 0.029071f, 0.031620f, 0.009875f, 0.017551f, -0.011841f, 0.050323f, -0.006129f, 0.019345f, 0.012827f, -0.022860f, -0.009712f, -0.010422f, 0.028866f, - -0.017069f, -0.005620f, 0.018567f, 0.015188f, -0.016775f, -0.004843f, -0.048941f, 0.008968f, -0.005222f, -0.014664f, 0.004486f, 0.001106f, 0.003859f, 0.004297f, 0.016876f, 0.000456f, 0.018463f, 0.001946f, 0.009114f, -0.004937f, -0.015621f, -0.017119f, 0.031996f, -0.011545f, -0.022790f, -0.019596f, -0.008562f, -0.010884f, 0.014004f, 0.008325f, 0.010834f, 0.013824f, 0.004429f, -0.017644f, 0.010195f, -0.028630f, -0.009083f, -0.025047f, 0.017286f, -0.030185f, -0.021289f, -0.006591f, -0.009880f, 0.008713f, 0.020357f, -0.016247f, 0.019229f, 0.031081f, 0.015755f, 0.029932f, -0.012450f, 0.040260f, 0.003910f, 0.034072f, 0.019661f, 0.004032f, -0.018090f, -0.046254f, -0.030878f, -0.025518f, -0.014149f, -0.014411f, -0.004301f, -0.021670f, 0.016360f, 0.026664f, -0.010141f, -0.020876f, -0.018604f, -0.015136f, -0.027785f, 0.017386f, 0.012967f, -0.007690f, -0.007003f, -0.011124f, 0.001652f, -0.006413f, 0.015305f, -0.000213f, 0.004085f, -0.008300f, -0.006688f, -0.011598f, -0.001872f, -0.013843f, -0.012829f, 0.013114f, -0.000725f, 0.001375f, 0.000551f, 0.004643f, -0.005117f, -0.000766f, -0.007798f, 0.000007f, - 0.000266f, -0.000613f, 0.004346f, 0.000174f, -0.006343f, -0.004574f, -0.004491f, 0.001054f, -0.006833f, -0.007943f, -0.009478f, 0.002357f, -0.002409f, 0.023253f, 0.011848f, -0.013228f, 0.039142f, 0.004426f, -0.038215f, 0.047716f, 0.003192f, -0.020326f, 0.016833f, -0.039193f, -0.007511f, -0.024955f, -0.007802f, -0.004423f, -0.007669f, -0.017842f, 0.004984f, -0.033867f, -0.013112f, -0.012217f, -0.045709f, 0.005543f, -0.033156f, -0.023563f, -0.037197f, 0.007451f, -0.028073f, -0.008477f, -0.009319f, 0.000294f, 0.014114f, -0.011411f, 0.019878f, 0.001019f, 0.026384f, -0.006163f, 0.022943f, 0.028940f, -0.034782f, -0.000532f, 0.009284f, 0.021242f, 0.000791f, 0.025543f, 0.008517f, 0.024628f, -0.000561f, -0.018840f, -0.011884f, -0.001824f, 0.015898f, -0.003685f, -0.007386f, -0.001615f, 0.029478f, 0.018630f, -0.007079f, -0.024355f, 0.008099f, 0.013356f, 0.009445f, 0.026171f, -0.035138f, -0.025962f, -0.007481f, 0.002456f, -0.009947f, 0.000265f, -0.010144f, -0.021946f, 0.061452f, -0.030409f, -0.035353f, 0.026313f, 0.015079f, 0.022858f, 0.006929f, 0.008394f, 0.004640f, 0.013358f, -0.012737f, 0.035330f, - -0.006283f, 0.008655f, -0.006939f, 0.004717f, 0.002011f, -0.001951f, 0.022420f, 0.002809f, 0.001854f, -0.022229f, 0.009937f, 0.003311f, -0.003389f, -0.018105f, -0.001986f, -0.003754f, 0.000340f, -0.005773f, 0.016091f, 0.003744f, 0.004390f, -0.013086f, 0.008778f, -0.006224f, 0.001661f, 0.007820f, -0.000488f, -0.003875f, -0.004367f, -0.011642f, 0.006594f, 0.011888f, -0.005839f, -0.001321f, -0.004386f, 0.001765f, -0.006943f, -0.015663f, -0.004933f, -0.000529f, -0.010930f, 0.011121f, -0.001172f, -0.001512f, 0.003546f, -0.010527f, -0.012141f, -0.003369f, 0.004681f, -0.007992f, -0.010644f, 0.031224f, 0.022634f, 0.036881f, -0.012424f, -0.008883f, -0.050589f, 0.058692f, 0.026597f, -0.077714f, -0.041915f, 0.025158f, 0.034461f, 0.035079f, -0.022629f, -0.018001f, 0.041991f, 0.010200f, 0.009465f, 0.029451f, 0.023431f, -0.042896f, 0.012975f, 0.018335f, -0.003453f, 0.020509f, 0.003680f, -0.005360f, 0.003982f, -0.013854f, 0.071688f, 0.019001f, 0.009134f, -0.001810f, -0.009131f, -0.004671f, -0.041033f, 0.007984f, 0.011750f, -0.009447f, -0.013616f, -0.065886f, -0.031795f, 0.013977f, 0.011271f, -0.021525f, - -0.021446f, -0.002846f, -0.031689f, 0.013150f, 0.011424f, -0.004436f, 0.012883f, 0.026177f, 0.001056f, -0.001222f, -0.008595f, -0.013788f, -0.004804f, 0.002464f, -0.048934f, -0.006357f, 0.011177f, 0.029801f, -0.052943f, 0.011822f, 0.018623f, -0.004029f, -0.025066f, -0.022279f, 0.039517f, 0.039432f, -0.006018f, -0.024441f, -0.046848f, 0.009914f, 0.018412f, 0.009883f, 0.000504f, -0.050684f, 0.021152f, 0.046324f, -0.015924f, 0.005316f, 0.014247f, -0.018926f, -0.030620f, -0.015955f, 0.004350f, -0.009329f, -0.002691f, -0.014223f, -0.012608f, -0.010371f, -0.004712f, -0.004041f, 0.005894f, -0.001042f, -0.001212f, -0.012968f, 0.005088f, -0.006062f, 0.002514f, 0.000155f, 0.003926f, 0.007952f, 0.008918f, -0.014508f, 0.005559f, -0.011205f, -0.019227f, -0.009909f, 0.002428f, -0.001881f, 0.007985f, -0.001806f, 0.005099f, 0.011209f, 0.000271f, -0.000494f, -0.010108f, -0.005461f, 0.014519f, 0.007528f, -0.006485f, -0.003776f, -0.001728f, -0.009415f, 0.023123f, -0.017020f, 0.006267f, -0.014181f, -0.012603f, 0.002215f, 0.015645f, 0.031387f, -0.057824f, -0.075344f, -0.052451f, -0.067407f, 0.058474f, -0.039040f, - 0.023499f, -0.006593f, -0.047440f, 0.008479f, -0.012932f, -0.017602f, -0.061574f, -0.056341f, -0.042150f, -0.016066f, 0.002114f, -0.032613f, -0.009525f, 0.008590f, 0.026399f, 0.002073f, -0.016562f, 0.000034f, -0.017707f, 0.025374f, -0.032057f, 0.044139f, 0.037976f, -0.009155f, -0.012212f, -0.052445f, -0.030656f, -0.031920f, 0.003733f, 0.006981f, -0.008643f, 0.042749f, 0.012093f, 0.034636f, 0.006733f, -0.004168f, -0.015859f, 0.031144f, 0.021450f, 0.009715f, -0.031477f, 0.016706f, -0.053152f, -0.006015f, -0.005752f, -0.035305f, -0.005918f, 0.000335f, 0.040430f, 0.026767f, 0.000646f, 0.018648f, -0.000874f, -0.040099f, 0.020239f, 0.005536f, 0.033220f, -0.019010f, -0.038612f, 0.022822f, -0.069281f, -0.015999f, 0.024331f, -0.010525f, -0.011153f, 0.016789f, -0.004654f, -0.013789f, 0.012658f, -0.005928f, -0.044520f, -0.039181f, -0.006609f, 0.018088f, 0.029360f, 0.041348f, 0.041440f, -0.017820f, -0.014304f, 0.008000f, 0.014919f, 0.013408f, 0.005520f, -0.018687f, 0.016087f, 0.000103f, -0.003605f, 0.001887f, 0.009912f, 0.016655f, -0.005096f, 0.002626f, 0.015786f, -0.003928f, -0.000485f, -0.016335f, - 0.007877f, -0.003752f, -0.001282f, 0.013025f, -0.002765f, -0.006188f, 0.005795f, -0.018569f, -0.006935f, 0.018341f, 0.005170f, 0.005757f, -0.006741f, -0.004629f, -0.002909f, -0.014894f, -0.002081f, -0.008441f, 0.010923f, -0.032046f, 0.000379f, 0.023528f, -0.075816f, -0.006564f, -0.048430f, 0.003413f, -0.035781f, 0.032629f, -0.025677f, -0.002215f, 0.005900f, 0.012479f, 0.038353f, 0.013479f, -0.017970f, 0.042355f, 0.012640f, -0.070799f, 0.011371f, -0.042286f, -0.003405f, 0.008629f, -0.006326f, 0.035675f, -0.010775f, 0.006888f, 0.008572f, 0.003596f, -0.023187f, 0.036213f, -0.020996f, -0.001461f, -0.042084f, 0.000472f, 0.006782f, -0.006098f, -0.014992f, -0.018653f, -0.022114f, 0.054658f, 0.001886f, 0.028553f, -0.048493f, 0.005960f, -0.000875f, 0.017074f, 0.028516f, -0.032638f, 0.058638f, 0.085321f, -0.004125f, 0.008703f, -0.029851f, 0.014090f, 0.019497f, -0.015865f, 0.003991f, 0.016482f, 0.032681f, -0.000564f, 0.001714f, -0.009698f, -0.028851f, -0.042502f, 0.021697f, -0.031750f, -0.013840f, -0.020624f, 0.009133f, 0.029466f, 0.025777f, -0.004644f, 0.009561f, -0.057870f, 0.038378f, -0.006689f, - 0.008209f, -0.016648f, 0.037503f, -0.051890f, 0.062315f, 0.045963f, 0.051893f, -0.020554f, -0.001417f, -0.050855f, -0.028006f, -0.018616f, 0.016711f, 0.014741f, -0.042665f, -0.030708f, 0.001028f, -0.010376f, -0.031164f, 0.000334f, -0.021615f, -0.025052f, -0.009684f, -0.003402f, 0.001819f, -0.016428f, 0.002873f, 0.006086f, 0.025617f, 0.023449f, -0.003712f, 0.022126f, -0.010822f, -0.026742f, -0.015133f, -0.005432f, -0.013792f, -0.001713f, -0.010273f, 0.015726f, 0.004552f, 0.059643f, 0.007753f, -0.020060f, -0.007088f, 0.005661f, -0.031048f, -0.019004f, 0.007319f, 0.001575f, -0.008075f, 0.003421f, -0.000015f, -0.033513f, -0.003573f, 0.022957f, -0.016709f, 0.024074f, 0.095284f, 0.026423f, 0.069466f, 0.021354f, -0.071147f, 0.028221f, 0.020561f, -0.024506f, 0.005480f, 0.045746f, 0.002650f, 0.043760f, 0.039889f, -0.046682f, 0.025956f, -0.046701f, -0.030562f, -0.004974f, 0.093264f, 0.027890f, -0.041264f, 0.038905f, 0.026014f, -0.051617f, -0.021946f, -0.004087f, 0.052445f, 0.007068f, -0.046897f, -0.027293f, -0.000919f, -0.013593f, 0.029367f, 0.040960f, -0.014461f, 0.035956f, -0.022977f, -0.032448f, - -0.000533f, 0.074700f, 0.007572f, -0.043816f, 0.025163f, -0.002615f, -0.003730f, 0.020492f, -0.048496f, -0.042982f, -0.039689f, 0.028926f, -0.025793f, 0.008939f, 0.013136f, 0.044435f, 0.022850f, 0.045698f, 0.005515f, -0.002573f, 0.038323f, 0.068708f, 0.041765f, -0.069097f, 0.002014f, 0.006094f, -0.011014f, 0.012654f, 0.019607f, -0.053487f, -0.007380f, 0.009920f, 0.009768f, -0.063596f, -0.059143f, -0.034059f, -0.035699f, 0.062030f, 0.023755f, 0.002348f, 0.028217f, -0.051619f, 0.021684f, 0.013589f, 0.009941f, -0.005067f, -0.011084f, 0.042692f, 0.026592f, -0.017847f, 0.007995f, -0.013593f, 0.028829f, -0.008687f, 0.002583f, 0.005386f, 0.004786f, 0.020500f, -0.002734f, -0.034715f, -0.000839f, 0.005871f, 0.009565f, 0.017044f, -0.004170f, 0.001038f, 0.013757f, -0.027028f, -0.015104f, -0.002994f, -0.047602f, -0.007926f, 0.013957f, -0.004100f, 0.005821f, 0.027056f, -0.003342f, -0.019770f, 0.004713f, 0.006156f, 0.018525f, 0.020858f, -0.020028f, -0.013270f, -0.000767f, -0.018070f, -0.010812f, -0.034145f, -0.039394f, 0.010568f, 0.001257f, -0.018573f, -0.014480f, -0.018947f, -0.035801f, 0.026766f, - -0.071737f, 0.051877f, 0.058368f, 0.015937f, 0.063549f, -0.065079f, -0.031544f, -0.017727f, -0.093053f, 0.052399f, 0.005481f, 0.032386f, 0.043004f, 0.041696f, 0.003456f, -0.001445f, 0.042764f, -0.006855f, -0.050270f, -0.052555f, 0.031985f, -0.059359f, 0.058070f, -0.016700f, 0.012930f, 0.057186f, 0.051922f, -0.026094f, 0.078935f, -0.045696f, 0.005365f, -0.047506f, 0.007943f, -0.016286f, 0.031255f, 0.010453f, -0.033357f, 0.030115f, 0.046172f, 0.067334f, -0.038667f, 0.014361f, 0.041680f, -0.056899f, 0.002934f, -0.022893f, -0.081889f, -0.035410f, 0.022271f, -0.045188f, 0.016413f, -0.037936f, -0.000578f, 0.055332f, -0.025927f, 0.023430f, 0.064136f, 0.045537f, 0.017427f, 0.084799f, -0.131741f, -0.024904f, 0.044479f, -0.005094f, 0.026084f, -0.040910f, -0.071005f, 0.086732f, -0.000851f, -0.043681f, 0.019121f, 0.054898f, 0.136604f, 0.051595f, -0.102579f, -0.056201f, 0.035523f, 0.038118f, 0.016957f, -0.071911f, -0.005825f, 0.015811f, -0.021777f, 0.048616f, 0.017847f, 0.031051f, 0.037388f, 0.027738f, -0.018407f, 0.021432f, -0.056660f, 0.008275f, 0.031036f, -0.003629f, -0.029819f, 0.017761f, - -0.018002f, 0.030358f, 0.034026f, -0.014293f, -0.027378f, -0.007474f, 0.062390f, -0.011027f, -0.006720f, -0.024197f, 0.028514f, -0.024027f, -0.014296f, 0.017922f, -0.010998f, 0.058319f, -0.003893f, -0.014398f, 0.059173f, -0.005205f, 0.014255f, 0.035930f, -0.002161f, -0.003034f, 0.004015f, 0.005364f, -0.026990f, 0.012561f, 0.002101f, -0.039961f, 0.027781f, -0.012379f, 0.052156f, -0.028057f, 0.016125f, 0.004853f, 0.069744f, -0.061254f, -0.005536f, -0.029232f, -0.036304f, 0.055980f, -0.021705f, 0.073489f, -0.007220f, -0.056510f, 0.088114f, 0.127387f, -0.018074f, -0.040510f, -0.061379f, 0.014762f, 0.067728f, 0.013456f, -0.014120f, -0.042008f, 0.010160f, 0.010140f, -0.009185f, 0.010617f, -0.005851f, -0.020528f, -0.020973f, 0.019695f, 0.027979f, -0.001918f, 0.037764f, -0.035989f, 0.077251f, 0.058275f, 0.033687f, -0.002559f, 0.004816f, 0.011227f, -0.040515f, -0.035413f, -0.039251f, -0.020496f, -0.010548f, 0.024967f, 0.021973f, 0.042100f, -0.019880f, -0.004677f, -0.017568f, 0.047876f, 0.093171f, -0.021588f, -0.059368f, -0.038106f, -0.002069f, -0.080489f, 0.063236f, -0.109444f, 0.032073f, 0.046914f, - 0.048210f, -0.047477f, 0.011588f, 0.048859f, -0.110759f, -0.052159f, 0.023269f, -0.011347f, -0.055263f, -0.048758f, -0.005901f, -0.025332f, 0.083176f, 0.035921f, -0.029789f, -0.027409f, -0.045398f, 0.127156f, 0.027757f, 0.066671f, -0.004208f, 0.019832f, 0.024506f, 0.028921f, -0.040864f, -0.004780f, 0.053201f, 0.036802f, 0.022303f, -0.016833f, -0.021958f, 0.000566f, 0.017036f, 0.024838f, 0.017106f, -0.032102f, 0.005323f, 0.000936f, 0.009137f, 0.024155f, 0.024300f, -0.033606f, 0.016633f, -0.020464f, -0.025167f, 0.003357f, 0.027487f, 0.011532f, -0.015399f, 0.004347f, -0.001587f, -0.004214f, -0.013040f, 0.051277f, -0.014240f, 0.000843f, -0.029536f, 0.007826f, -0.010460f, 0.034088f, 0.011537f, -0.006398f, -0.017076f, 0.019732f, 0.016508f, -0.022503f, 0.002394f, -0.037102f, -0.014135f, 0.009791f, 0.016411f, 0.022241f, 0.000588f, 0.023274f, -0.004574f, 0.004533f, 0.011931f, -0.046923f, 0.013501f, 0.074324f, 0.001528f, -0.024140f, 0.060727f, 0.044712f, -0.013440f, -0.038720f, -0.060482f, 0.012167f, 0.116888f, 0.026586f, 0.059604f, -0.004549f, 0.004592f, -0.004015f, -0.014490f, 0.000738f, - 0.004736f, 0.029214f, 0.008757f, -0.022110f, 0.018923f, -0.019264f, -0.022632f, -0.024155f, -0.000011f, 0.024310f, 0.004496f, 0.019576f, 0.019627f, 0.017061f, -0.017141f, -0.028476f, 0.008654f, -0.019524f, -0.051141f, -0.014291f, 0.010891f, -0.016960f, 0.058496f, -0.060292f, 0.049059f, -0.015077f, -0.000181f, 0.074070f, -0.012061f, -0.001371f, 0.095363f, -0.014099f, -0.039558f, 0.007671f, -0.033964f, -0.006979f, -0.032088f, 0.107421f, -0.030717f, 0.026364f, -0.026160f, -0.010919f, -0.015128f, 0.018322f, -0.027360f, -0.064907f, 0.028437f, -0.006949f, -0.073095f, 0.038566f, -0.019483f, 0.040988f, 0.090794f, -0.045168f, -0.001409f, -0.004148f, -0.013913f, -0.048648f, -0.008980f, 0.045580f, 0.017694f, 0.028173f, -0.041773f, 0.012818f, 0.007009f, -0.039491f, -0.011221f, 0.009440f, 0.020278f, 0.026205f, 0.001826f, 0.005429f, 0.016488f, -0.003489f, -0.020171f, 0.029475f, -0.011677f, -0.008269f, 0.026120f, 0.004070f, -0.007489f, 0.039765f, -0.002831f, -0.002483f, 0.000135f, 0.013311f, -0.011969f, 0.020306f, -0.015469f, -0.007184f, -0.012246f, 0.010792f, -0.000469f, -0.000970f, 0.005571f, 0.018696f, - -0.021790f, 0.005167f, -0.003014f, 0.013542f, 0.003808f, -0.003720f, 0.022304f, -0.013180f, 0.012016f, -0.003406f, 0.006578f, 0.001996f, 0.016725f, -0.001991f, -0.025612f, -0.000347f, 0.122883f, 0.061808f, 0.128911f, -0.072250f, -0.018217f, 0.042115f, -0.039728f, 0.030414f, 0.132617f, 0.031075f, 0.019581f, -0.035111f, -0.032391f, 0.037651f, -0.019544f, 0.053341f, -0.008304f, -0.012415f, -0.015042f, -0.076138f, 0.018799f, 0.091200f, -0.047744f, 0.055102f, 0.048708f, -0.031058f, -0.008789f, 0.037892f, -0.060171f, 0.030177f, -0.003757f, 0.045684f, 0.016058f, -0.038076f, -0.011678f, -0.076489f, -0.038618f, 0.035730f, 0.027520f, 0.059287f, 0.093216f, 0.009813f, 0.002056f, -0.080291f, -0.048424f, -0.047970f, -0.038852f, 0.020942f, -0.032124f, -0.009422f, -0.006906f, 0.023970f, -0.060658f, -0.009945f, 0.032354f, 0.016332f, 0.051151f, -0.006806f, -0.023562f, 0.050218f, -0.008464f, 0.030771f, -0.038055f, -0.023389f, -0.005338f, -0.012950f, 0.025305f, 0.036546f, 0.052347f, 0.014585f, 0.004926f, -0.035707f, -0.009378f, -0.018329f, 0.043959f, 0.000474f, 0.065546f, 0.011275f, 0.049544f, -0.047521f, - -0.016348f, -0.000331f, -0.000471f, 0.035386f, -0.004930f, -0.017580f, -0.008868f, 0.008704f, 0.003159f, 0.009217f, 0.017070f, 0.014648f, -0.008271f, -0.010560f, 0.001394f, -0.006232f, 0.014519f, 0.014764f, 0.004183f, -0.012298f, 0.001272f, -0.016131f, -0.006037f, -0.003505f, 0.028627f, 0.010034f, -0.002891f, 0.007308f, -0.017907f, -0.021992f, -0.014153f, 0.007037f, 0.016068f, -0.013073f, -0.000530f, 0.000293f, 0.012187f, 0.006412f, -0.000965f, 0.012235f, 0.002693f, -0.000547f, -0.011216f, 0.005848f, 0.004318f, -0.004815f, 0.002051f, 0.003756f, -0.016619f, -0.033011f, -0.126440f, 0.003932f, 0.201732f, 0.183187f, 0.171009f, 0.073408f, -0.073569f, -0.100412f, -0.100873f, -0.088956f, -0.165167f, -0.116821f, -0.115164f, 0.089210f, 0.135423f, 0.111646f, 0.176449f, 0.147971f, 0.030614f, -0.006220f, -0.064016f, -0.122841f, -0.074329f, -0.129111f, -0.071099f, -0.042812f, 0.000065f, -0.016730f, 0.031916f, 0.056292f, 0.094001f, 0.060142f, 0.098798f, 0.076285f, 0.078371f, 0.006738f, -0.065666f, -0.029038f, 0.001644f, -0.070475f, -0.094482f, -0.121476f, -0.120605f, -0.084533f, -0.012595f, 0.060140f, - 0.022928f, 0.087233f, 0.060696f, 0.099410f, 0.087401f, 0.096411f, 0.110581f, 0.060396f, -0.009143f, -0.017386f, -0.073197f, -0.058847f, -0.196616f, -0.156243f, -0.126271f, -0.097661f, 0.010842f, -0.042318f, 0.002186f, 0.134445f, 0.164743f, 0.226764f, 0.142452f, 0.086558f, 0.057925f, 0.014219f, -0.087263f, -0.078880f, -0.121420f, -0.155648f, -0.132899f, -0.122862f, -0.058514f, 0.009421f, 0.061934f, 0.103339f, 0.100925f, 0.086939f, 0.053895f, 0.058524f, 0.024305f, 0.016158f, -0.003396f, -0.047465f, -0.042414f, -0.037661f, -0.043148f, -0.022118f, -0.048154f, -0.033486f, 0.011174f, 0.004598f, -0.028244f, 0.015557f, 0.038588f, 0.022790f, 0.044112f, 0.070215f, 0.071904f, 0.032517f, -0.045405f, -0.018853f, -0.006863f, -0.090888f, -0.097018f, -0.083565f, -0.035680f, 0.026627f, 0.040715f, 0.034974f, 0.057331f, 0.066018f, 0.080225f, 0.054141f, 0.032483f, -0.011849f, -0.054733f, -0.054525f, -0.061914f, -0.082062f, -0.059204f, -0.032004f, 0.027674f, 0.045372f, 0.028503f, 0.018180f, 0.051826f, 0.035905f, 0.020974f, 0.005514f, -0.008307f, -0.016183f, 0.001229f, -0.019537f, -0.024365f, -0.008240f, - 0.007601f, -0.013362f, -0.010867f, 0.002800f, 0.010384f, 0.001938f, -0.005716f, -0.006624f, 0.007725f, 0.000528f, -0.004535f, -0.007924f, 0.002537f, 0.011730f, 0.013755f, 0.002511f, 0.011811f, 0.011176f, 0.005682f, -0.003101f, -0.002882f, -0.009451f, -0.009147f, -0.013993f, -0.007856f, -0.009087f, -0.002446f, 0.001209f, 0.002521f, -0.000868f, 0.005543f, 0.007114f, 0.010682f, -0.002811f, -0.001262f, 0.003656f, 0.005509f, -0.004479f, -0.000405f, -0.001436f, 0.000678f, 0.002453f, 0.007956f, -0.000512f, 0.002495f, 0.001437f, 0.001779f, -0.004919f, -0.007205f, -0.012320f, -0.007593f, -0.009847f, -0.007311f, -0.007932f, 0.002379f, 0.006343f, 0.011853f, 0.012284f, 0.018766f, 0.014764f, 0.013207f, 0.005101f, 0.000855f, -0.009228f, -0.011869f, -0.017329f, -0.015035f, -0.016476f, -0.009521f, -0.005777f, 0.001562f, 0.003521f, 0.011837f, 0.010048f, 0.012976f, 0.010339f, 0.009750f, 0.001793f, 0.001690f, -0.003649f, -0.003577f, -0.008131f, -0.004818f, -0.005933f, -0.001545f, -0.003625f, 0.000224f, -0.001583f, 0.002120f, -0.000452f, 0.002556f, -0.000484f, 0.002217f, -0.000740f, 0.002009f, -0.001098f, - 0.001566f}, - {0.001985f, -0.002290f, 0.008216f, 0.009365f, 0.004937f, -0.003540f, -0.014118f, -0.012836f, 0.004614f, 0.007461f, -0.002794f, 0.013881f, -0.002738f, 0.008305f, -0.009881f, -0.008602f, 0.003715f, 0.000401f, -0.002611f, 0.003712f, 0.008901f, -0.003843f, 0.001182f, -0.005065f, -0.000574f, 0.000536f, 0.003611f, 0.003478f, 0.004541f, 0.000822f, 0.002679f, 0.010297f, -0.004013f, -0.004732f, -0.005233f, -0.009216f, 0.002607f, -0.001891f, 0.016904f, 0.003358f, -0.001339f, 0.001396f, 0.010232f, -0.000890f, -0.002305f, -0.002564f, -0.006098f, -0.001046f, 0.007854f, -0.001155f, 0.003222f, 0.008066f, -0.002573f, -0.000513f, -0.012934f, -0.007504f, -0.011800f, -0.002234f, -0.003470f, 0.001797f, 0.000581f, 0.001756f, 0.004128f, -0.002751f, 0.001964f, 0.000195f, 0.000978f, 0.001854f, -0.004344f, 0.004118f, -0.001447f, -0.004815f, -0.000679f, -0.004856f, -0.001559f, 0.000526f, -0.007730f, 0.002099f, 0.000289f, 0.005980f, 0.000562f, -0.000036f, -0.003583f, 0.000859f, 0.005835f, 0.002950f, -0.001526f, 0.000724f, 0.001253f, 0.001503f, 0.004438f, 0.000607f, 0.000223f, -0.001017f, -0.000734f, 0.000522f, - 0.000121f, -0.000391f, 0.002912f, 0.001689f, 0.001707f, 0.001326f, 0.000870f, 0.000453f, 0.000841f, 0.001665f, 0.009557f, 0.022539f, 0.008903f, 0.005333f, 0.006266f, -0.013245f, -0.001553f, 0.005716f, -0.001791f, 0.002236f, -0.012081f, 0.011881f, 0.016097f, 0.002776f, 0.007193f, -0.003389f, -0.009424f, -0.014605f, -0.015988f, -0.010632f, 0.012680f, -0.011965f, -0.007599f, -0.010126f, 0.003252f, 0.008422f, 0.001596f, 0.001142f, 0.004713f, -0.000477f, 0.002980f, 0.010379f, -0.001452f, 0.008629f, -0.008213f, 0.007873f, 0.005484f, 0.005006f, -0.004324f, -0.013423f, -0.002851f, 0.007686f, 0.004558f, -0.003752f, -0.000443f, 0.002659f, -0.000561f, -0.006477f, -0.001351f, 0.005492f, -0.001877f, 0.000609f, -0.003192f, -0.000710f, 0.000407f, 0.001835f, 0.009488f, 0.003964f, -0.004850f, 0.000819f, 0.000793f, -0.003220f, 0.001738f, -0.004689f, -0.000540f, 0.007689f, 0.002512f, 0.008627f, -0.006154f, -0.005291f, -0.003155f, -0.001365f, 0.004402f, 0.009780f, -0.005632f, -0.007078f, 0.008430f, -0.000792f, -0.000152f, 0.000291f, 0.002916f, 0.002080f, 0.007087f, -0.001993f, 0.003310f, -0.004316f, - -0.004029f, 0.000317f, 0.001925f, -0.000299f, 0.000156f, 0.001625f, 0.001783f, 0.001380f, -0.003674f, 0.004124f, -0.000871f, 0.006618f, 0.002800f, -0.007406f, -0.006999f, -0.007937f, -0.001249f, -0.006477f, -0.013667f, -0.013005f, 0.013435f, -0.000283f, 0.002829f, -0.000089f, 0.008184f, -0.012095f, 0.017989f, 0.015987f, 0.000828f, 0.000864f, 0.000025f, 0.000487f, -0.001776f, 0.006268f, 0.004868f, 0.000408f, -0.010238f, 0.004450f, -0.003176f, 0.004936f, -0.001426f, 0.010923f, -0.002541f, -0.006337f, -0.002876f, -0.001700f, 0.004044f, -0.000056f, 0.006747f, -0.010819f, 0.005842f, 0.001902f, -0.006011f, 0.017059f, -0.002707f, -0.002428f, -0.000357f, -0.000254f, -0.004493f, -0.001439f, 0.009100f, 0.007461f, -0.015976f, -0.007524f, 0.008124f, 0.002352f, -0.003820f, 0.013914f, 0.000510f, 0.003129f, 0.013688f, 0.005665f, 0.010747f, 0.003049f, -0.004125f, -0.005568f, -0.010750f, -0.010405f, 0.001516f, 0.005557f, 0.013321f, 0.000520f, -0.005429f, -0.006784f, 0.002320f, -0.000112f, -0.003719f, 0.004335f, -0.001500f, -0.003406f, 0.003119f, 0.007231f, 0.002342f, -0.003608f, 0.003621f, 0.003772f, - 0.004717f, 0.003037f, 0.000242f, 0.000462f, -0.004470f, -0.000929f, -0.000059f, 0.002304f, 0.001935f, 0.003689f, 0.003559f, 0.002966f, 0.001125f, -0.000279f, -0.018242f, -0.006347f, -0.008879f, 0.008290f, -0.006067f, 0.005388f, -0.006559f, -0.002700f, 0.015456f, 0.007568f, -0.010272f, 0.004692f, 0.014742f, 0.002172f, -0.005178f, -0.010347f, -0.012450f, -0.008520f, -0.012518f, 0.008317f, 0.001882f, 0.004583f, -0.002410f, -0.005651f, -0.005982f, -0.011009f, 0.000565f, -0.000329f, 0.002610f, -0.002674f, -0.010032f, 0.000177f, 0.010698f, -0.002358f, 0.000115f, -0.005320f, -0.010684f, -0.015782f, -0.001369f, 0.011401f, 0.004129f, 0.001215f, -0.005366f, 0.001475f, -0.008581f, -0.002789f, -0.006458f, 0.000840f, 0.001448f, -0.009741f, 0.011010f, -0.006184f, 0.014011f, 0.005325f, 0.001323f, -0.006349f, -0.003353f, 0.003626f, -0.000813f, 0.003433f, 0.007518f, 0.001554f, 0.002976f, -0.008307f, 0.004910f, -0.004162f, 0.012880f, 0.015990f, 0.007314f, 0.010756f, 0.004986f, -0.001609f, -0.011207f, -0.007202f, 0.000915f, 0.008282f, 0.008309f, -0.006623f, 0.000864f, 0.007874f, -0.010265f, 0.010161f, - 0.000641f, -0.005162f, 0.003330f, -0.002146f, -0.000499f, -0.005743f, 0.001126f, 0.001675f, 0.000989f, -0.004599f, 0.001220f, -0.003238f, -0.004359f, -0.001479f, 0.000300f, 0.001962f, -0.002847f, 0.000744f, -0.001239f, -0.003990f, 0.000424f, 0.003369f, 0.001386f, -0.002842f, 0.001861f, -0.002126f, 0.006109f, -0.014725f, 0.001938f, -0.015747f, -0.000066f, 0.002407f, 0.001466f, 0.007094f, 0.000712f, 0.001120f, 0.027844f, -0.003499f, -0.012302f, -0.013272f, 0.013982f, 0.009362f, -0.010558f, 0.002542f, -0.011776f, -0.005054f, 0.000385f, 0.013308f, -0.016523f, 0.004803f, -0.000656f, 0.002620f, -0.001273f, 0.016896f, -0.008759f, 0.004754f, -0.002661f, -0.004492f, 0.002554f, -0.000828f, 0.005052f, -0.005192f, -0.004823f, -0.014326f, 0.002224f, -0.004771f, -0.003101f, 0.001114f, -0.005089f, 0.004200f, -0.008095f, -0.004825f, -0.014227f, -0.000450f, -0.012635f, -0.005345f, -0.015024f, 0.011121f, 0.002236f, -0.004623f, 0.009769f, -0.011389f, -0.000086f, -0.021680f, -0.001195f, 0.007463f, -0.000621f, 0.006395f, 0.013750f, -0.004862f, -0.001971f, 0.017219f, 0.007245f, 0.006633f, 0.010497f, -0.005474f, - -0.015971f, -0.001715f, -0.009576f, 0.006940f, 0.015844f, -0.002883f, 0.004624f, 0.008427f, 0.007078f, -0.000869f, -0.001369f, 0.001943f, 0.000270f, -0.002960f, 0.004243f, 0.003810f, -0.006646f, 0.002177f, 0.005551f, -0.002829f, -0.002049f, -0.009844f, -0.002312f, -0.004155f, -0.001391f, -0.004310f, 0.000832f, -0.001062f, 0.000738f, -0.000464f, 0.000638f, 0.002514f, -0.002924f, 0.001005f, -0.001219f, -0.002972f, -0.000427f, -0.000523f, -0.000926f, 0.000199f, 0.001654f, 0.002766f, -0.002773f, 0.000943f, -0.002352f, 0.000392f, -0.000300f, -0.003104f, -0.001254f, -0.002375f, -0.000471f, -0.003763f, 0.000886f, 0.000184f, -0.002150f, 0.008012f, 0.008752f, 0.003364f, -0.005498f, 0.003996f, 0.002195f, 0.017085f, -0.002707f, -0.003494f, -0.022976f, -0.006313f, 0.017059f, 0.016922f, 0.010670f, 0.008649f, 0.024338f, 0.001656f, -0.029325f, -0.007344f, -0.004984f, -0.006930f, 0.015456f, -0.002324f, -0.005779f, 0.018299f, 0.002723f, -0.007340f, -0.002711f, 0.007394f, -0.006557f, -0.002399f, 0.002104f, -0.002173f, -0.010286f, -0.004467f, -0.000589f, -0.009685f, -0.004616f, -0.003981f, 0.006755f, -0.004467f, - 0.013116f, 0.013007f, 0.001142f, 0.012380f, 0.008473f, -0.005371f, -0.001987f, -0.004039f, -0.019088f, 0.002290f, 0.003818f, -0.017903f, -0.002694f, -0.004962f, 0.006368f, 0.016660f, 0.002415f, -0.016575f, 0.002363f, -0.006290f, -0.011372f, 0.009295f, -0.002731f, -0.011823f, 0.005347f, 0.004780f, 0.013162f, -0.000891f, -0.001725f, 0.009929f, 0.011461f, 0.012864f, -0.013112f, 0.009374f, -0.001739f, -0.002041f, 0.003355f, 0.013877f, -0.000681f, -0.003484f, 0.004273f, 0.002264f, -0.011681f, -0.001357f, 0.015903f, 0.003699f, -0.001076f, -0.001823f, -0.007252f, 0.005322f, -0.002689f, -0.003094f, 0.000505f, -0.000290f, 0.003660f, -0.000059f, -0.004982f, -0.003368f, 0.006626f, -0.000639f, 0.002606f, -0.002812f, 0.003204f, -0.002288f, -0.001858f, -0.002260f, 0.001673f, 0.003740f, -0.001743f, 0.011708f, -0.029928f, 0.012483f, -0.003302f, -0.006766f, -0.006178f, 0.005180f, -0.002875f, -0.017666f, -0.018910f, 0.002362f, 0.029409f, 0.008173f, -0.021451f, 0.004895f, 0.017441f, -0.012505f, 0.002240f, -0.003110f, 0.010391f, -0.000002f, 0.009589f, 0.025822f, 0.018733f, 0.011779f, -0.000459f, -0.002058f, - -0.011925f, -0.012682f, 0.005058f, -0.033293f, -0.005293f, 0.015893f, 0.001755f, -0.001610f, -0.015995f, -0.005619f, -0.000693f, -0.000645f, -0.007777f, -0.016442f, 0.018507f, -0.006317f, -0.004068f, -0.002902f, -0.015315f, -0.017133f, -0.000547f, -0.008316f, 0.001192f, 0.008284f, 0.006273f, 0.007025f, -0.013667f, -0.003461f, -0.006714f, -0.004182f, 0.021981f, -0.002228f, -0.010033f, 0.000798f, 0.028191f, -0.014946f, 0.004743f, 0.020842f, 0.000653f, -0.004670f, -0.010451f, 0.006410f, 0.001207f, 0.015040f, -0.008027f, 0.012743f, 0.010276f, 0.019673f, 0.009489f, 0.014761f, 0.001570f, -0.009499f, 0.002082f, -0.000293f, -0.005518f, 0.008963f, 0.012637f, -0.010360f, 0.006910f, 0.003880f, -0.009384f, 0.001342f, 0.003370f, 0.002746f, 0.003450f, -0.005268f, 0.003084f, -0.005783f, -0.001744f, -0.001519f, 0.000449f, 0.001215f, 0.002573f, 0.003336f, -0.000627f, 0.004944f, -0.000318f, -0.002040f, 0.001717f, 0.003331f, -0.001044f, 0.002069f, -0.004987f, 0.002119f, -0.001590f, 0.003302f, -0.003658f, 0.017256f, 0.024580f, 0.015137f, 0.002436f, -0.005220f, -0.009308f, -0.020411f, -0.006008f, 0.013578f, - -0.027939f, -0.011366f, 0.025298f, -0.035105f, -0.006446f, 0.019718f, 0.024606f, -0.002482f, -0.024878f, 0.003487f, -0.009573f, 0.033212f, 0.014616f, -0.022731f, -0.014753f, -0.003458f, -0.014148f, -0.028622f, -0.014438f, -0.012677f, -0.010472f, -0.023173f, 0.011582f, 0.004163f, 0.014240f, -0.008798f, -0.004385f, -0.020382f, -0.002193f, -0.017681f, 0.001743f, -0.011741f, 0.002505f, 0.006233f, -0.027465f, -0.008948f, -0.010522f, -0.007227f, 0.005789f, 0.005876f, -0.008843f, 0.027005f, -0.001858f, -0.007019f, -0.005170f, 0.002638f, -0.006444f, -0.002195f, 0.009923f, 0.008582f, 0.011121f, 0.014832f, 0.013931f, 0.001143f, 0.009097f, -0.004463f, 0.020926f, 0.022538f, -0.011436f, -0.005859f, 0.013697f, -0.000368f, -0.034256f, 0.001599f, -0.017455f, 0.010611f, 0.010678f, 0.019332f, -0.014766f, 0.008244f, -0.020673f, -0.001973f, 0.011626f, -0.004994f, 0.018226f, -0.004756f, -0.002355f, 0.003708f, 0.001084f, 0.002598f, -0.001335f, 0.001103f, 0.007682f, -0.005761f, -0.001598f, 0.007522f, -0.001275f, 0.005911f, -0.008898f, -0.007609f, 0.005046f, -0.001206f, 0.001500f, 0.000837f, -0.001166f, 0.001372f, - -0.005370f, -0.001353f, -0.001031f, -0.002265f, -0.003668f, -0.001215f, 0.002671f, 0.003368f, -0.000283f, -0.003546f, -0.019057f, -0.022769f, -0.011346f, -0.021991f, -0.031698f, 0.022473f, 0.002085f, 0.012637f, -0.017572f, -0.018017f, -0.025160f, -0.016798f, 0.007610f, -0.018427f, -0.016794f, 0.022858f, -0.005804f, 0.001215f, 0.005378f, 0.013124f, -0.010202f, -0.007503f, 0.003636f, -0.005977f, 0.003440f, -0.001002f, -0.011321f, -0.021308f, -0.033703f, 0.011257f, -0.024236f, -0.021972f, 0.001062f, -0.005676f, -0.001651f, -0.012297f, 0.005533f, 0.006563f, -0.027484f, -0.000438f, -0.006109f, -0.010559f, -0.015320f, 0.008821f, 0.001761f, 0.027536f, 0.003175f, -0.015193f, -0.001042f, 0.002711f, 0.011204f, 0.004896f, 0.024188f, -0.001913f, -0.026494f, 0.011478f, -0.005684f, 0.012105f, -0.015871f, 0.003621f, 0.008886f, -0.046521f, -0.022257f, 0.016691f, -0.001506f, -0.004829f, 0.007103f, -0.002190f, 0.029424f, -0.000849f, 0.018612f, 0.016422f, -0.023970f, -0.027550f, 0.001553f, -0.030539f, -0.000767f, -0.001318f, 0.000565f, 0.004670f, 0.019208f, -0.000470f, -0.012152f, 0.011252f, 0.014444f, -0.013319f, - 0.002326f, 0.004572f, 0.014534f, -0.006910f, 0.000467f, -0.007007f, 0.004889f, -0.000176f, 0.003048f, 0.005076f, 0.007818f, 0.008182f, -0.000277f, -0.007407f, 0.000308f, 0.005891f, 0.001744f, 0.001427f, -0.007009f, 0.001005f, -0.007018f, -0.000777f, 0.003762f, -0.000871f, 0.006849f, 0.005359f, -0.000312f, 0.001714f, 0.005548f, -0.004899f, 0.009798f, 0.000066f, -0.004311f, 0.004680f, 0.016118f, 0.065309f, -0.016027f, -0.044110f, -0.003845f, -0.019381f, 0.047656f, 0.003519f, 0.026722f, 0.014238f, -0.008227f, -0.021217f, -0.009380f, -0.023107f, -0.005844f, 0.031853f, -0.035635f, 0.001331f, -0.029067f, 0.007718f, 0.002466f, 0.014030f, 0.003331f, -0.014161f, -0.023560f, -0.027705f, -0.005070f, -0.027188f, -0.021096f, 0.003246f, 0.006313f, 0.019849f, -0.018740f, -0.039344f, -0.008174f, -0.013811f, 0.004715f, -0.018625f, -0.012410f, 0.005404f, -0.009779f, -0.015807f, -0.001051f, 0.001453f, -0.007953f, 0.037875f, -0.007813f, -0.006514f, 0.009632f, 0.009699f, -0.011315f, -0.005075f, 0.028206f, 0.023388f, 0.015525f, 0.029476f, 0.023294f, -0.000235f, 0.009751f, 0.016614f, -0.012578f, -0.012110f, - 0.003464f, 0.011881f, 0.019781f, 0.007810f, 0.040149f, 0.004094f, 0.026917f, -0.007950f, -0.015561f, -0.010342f, 0.056976f, 0.009798f, -0.007410f, -0.007208f, -0.020480f, -0.019924f, -0.014125f, -0.014080f, -0.016405f, 0.006190f, 0.013109f, -0.014318f, 0.004460f, 0.013799f, 0.007008f, -0.013261f, 0.002577f, 0.014070f, -0.003660f, 0.007608f, -0.007264f, -0.002425f, 0.003182f, -0.002857f, -0.001680f, -0.004751f, -0.009281f, -0.001862f, -0.008418f, 0.003991f, 0.006912f, 0.003124f, -0.007042f, 0.008797f, 0.005916f, -0.005576f, -0.006176f, -0.009905f, -0.002908f, -0.003083f, 0.002380f, -0.002546f, 0.004285f, 0.002779f, 0.000703f, -0.001423f, 0.000035f, -0.008041f, 0.003010f, 0.012174f, -0.057127f, -0.021508f, 0.028970f, -0.007074f, -0.029069f, -0.027704f, -0.009033f, 0.030911f, 0.016824f, -0.025276f, 0.014110f, -0.033563f, -0.013436f, -0.004266f, -0.021647f, -0.030185f, 0.025398f, 0.013550f, -0.026410f, -0.009677f, 0.057720f, 0.013057f, -0.025142f, -0.035284f, 0.000977f, 0.018531f, 0.003587f, 0.002915f, -0.039682f, -0.001510f, -0.004125f, -0.029127f, -0.016369f, -0.011962f, -0.022628f, -0.011278f, - 0.007123f, 0.000529f, -0.023906f, -0.024716f, 0.003555f, 0.014910f, 0.000049f, 0.020106f, 0.034779f, -0.024539f, 0.021727f, 0.015635f, 0.007221f, 0.004213f, 0.026331f, 0.007640f, 0.016411f, 0.010235f, 0.014835f, -0.005290f, -0.002659f, 0.029079f, 0.046638f, 0.007184f, -0.010291f, 0.005191f, -0.006191f, -0.017974f, 0.029843f, -0.014854f, -0.024325f, -0.039668f, -0.013016f, -0.046147f, 0.023272f, -0.019126f, -0.007431f, -0.003179f, -0.006120f, -0.016935f, -0.002288f, 0.017641f, -0.020335f, -0.002375f, 0.010040f, -0.006520f, -0.019820f, 0.009621f, 0.002109f, 0.005099f, -0.000898f, -0.002975f, -0.006800f, -0.001371f, -0.003308f, 0.010281f, 0.003310f, 0.002416f, 0.002217f, 0.002956f, 0.000599f, 0.004932f, 0.004202f, 0.009022f, -0.013029f, -0.002198f, 0.001566f, 0.008314f, -0.003239f, 0.006818f, -0.007675f, 0.002172f, 0.002438f, -0.002404f, -0.004045f, 0.007162f, -0.003102f, -0.001278f, 0.004958f, 0.000724f, 0.000896f, -0.011621f, -0.025359f, 0.021566f, 0.012814f, -0.003734f, 0.014289f, 0.010740f, 0.030502f, 0.023639f, -0.049739f, -0.016407f, 0.055184f, -0.043448f, -0.012911f, -0.026288f, - 0.039314f, 0.017613f, 0.018096f, 0.007729f, 0.005731f, 0.015847f, 0.041716f, 0.019966f, -0.018420f, -0.000268f, 0.001353f, -0.001073f, 0.016500f, 0.018678f, 0.002234f, 0.011096f, 0.010488f, -0.009478f, 0.012915f, 0.007876f, 0.025780f, -0.012281f, -0.024827f, -0.021200f, -0.016616f, 0.005026f, -0.002173f, 0.009965f, 0.011177f, 0.011363f, 0.022713f, -0.009845f, 0.004790f, -0.009923f, -0.017719f, -0.007055f, 0.001882f, -0.020298f, 0.026092f, 0.031696f, -0.034308f, 0.011819f, -0.023763f, 0.019538f, -0.003878f, 0.007672f, -0.002598f, -0.018868f, -0.004618f, 0.021976f, -0.017080f, -0.005130f, 0.003879f, -0.034902f, -0.013377f, 0.007471f, -0.027084f, -0.001750f, 0.043370f, 0.021694f, -0.002907f, -0.009790f, 0.034613f, 0.009221f, 0.024934f, -0.007699f, -0.011160f, 0.036259f, -0.012241f, 0.011414f, 0.004831f, 0.005270f, -0.007415f, -0.005309f, -0.006624f, -0.004460f, -0.012128f, -0.007366f, -0.008441f, 0.001359f, 0.007852f, -0.002735f, -0.017035f, -0.005342f, -0.002315f, 0.002075f, -0.000479f, -0.004105f, 0.000122f, 0.004965f, 0.008390f, -0.006507f, -0.000146f, -0.018262f, 0.003179f, -0.002145f, - -0.003412f, 0.012574f, -0.000148f, -0.001044f, -0.007253f, 0.007754f, 0.002171f, 0.011409f, -0.003754f, -0.000500f, -0.007449f, -0.000665f, -0.010761f, 0.034564f, -0.002869f, -0.007989f, -0.028733f, 0.001288f, 0.002679f, -0.007662f, -0.000659f, -0.013261f, 0.004997f, -0.041156f, 0.037572f, -0.007553f, -0.013344f, -0.026028f, -0.029477f, -0.002992f, 0.035852f, -0.006453f, 0.009921f, -0.022116f, -0.012828f, -0.006130f, -0.021601f, -0.025990f, 0.023804f, -0.014654f, -0.012000f, 0.021180f, 0.020524f, -0.028963f, 0.010115f, 0.011054f, 0.025143f, 0.020845f, -0.007582f, -0.018295f, -0.011586f, -0.028148f, 0.031073f, 0.020520f, 0.010325f, 0.022247f, -0.022929f, 0.015805f, -0.003312f, 0.014499f, 0.015982f, -0.014925f, -0.001162f, 0.050663f, 0.042407f, -0.031932f, 0.012862f, 0.026360f, -0.020138f, 0.006364f, -0.047212f, 0.014274f, -0.025525f, 0.021256f, -0.014789f, -0.016210f, -0.011503f, 0.056535f, 0.003275f, -0.016298f, 0.005056f, 0.019109f, 0.002551f, 0.011428f, -0.030335f, -0.003313f, 0.050723f, -0.001511f, -0.019827f, -0.030826f, 0.001029f, -0.022773f, 0.014393f, 0.014777f, 0.017785f, -0.031476f, - -0.032968f, -0.008649f, 0.005650f, 0.011047f, 0.003541f, 0.000354f, 0.000905f, 0.012234f, -0.008011f, -0.003062f, -0.002409f, -0.005133f, 0.006043f, 0.005230f, -0.009999f, -0.006760f, -0.015416f, 0.009704f, -0.005579f, 0.004362f, 0.006922f, 0.010212f, 0.008074f, 0.003652f, 0.015730f, 0.001216f, -0.003503f, 0.007700f, -0.011456f, 0.006709f, 0.004632f, 0.003411f, 0.010471f, 0.011307f, 0.002199f, -0.001288f, 0.006678f, 0.000995f, -0.000844f, -0.011950f, -0.015836f, -0.002769f, -0.001069f, -0.001720f, -0.031016f, -0.001307f, -0.003535f, -0.005430f, 0.009542f, -0.045732f, -0.020519f, -0.025817f, 0.021852f, -0.011190f, 0.032297f, 0.018973f, 0.040998f, -0.020516f, -0.001238f, -0.032211f, 0.027483f, 0.048858f, -0.014893f, -0.039452f, 0.004278f, -0.008338f, 0.060853f, -0.015221f, -0.023245f, 0.022688f, 0.013147f, 0.009308f, 0.023210f, 0.007418f, -0.075458f, -0.000044f, -0.004631f, 0.029334f, 0.053796f, -0.050688f, 0.002466f, 0.014804f, -0.023691f, -0.005201f, -0.068363f, -0.015885f, 0.035588f, -0.056952f, -0.033420f, -0.017685f, -0.021681f, 0.022295f, -0.013234f, -0.020479f, 0.030834f, 0.008935f, - 0.011562f, 0.030991f, 0.003946f, -0.011051f, 0.022760f, 0.032536f, -0.031419f, -0.024075f, 0.049346f, 0.033300f, 0.011850f, 0.015235f, 0.012061f, -0.022258f, -0.031210f, -0.000316f, 0.000950f, -0.006801f, 0.010532f, -0.019485f, 0.014176f, -0.026878f, 0.011335f, 0.061832f, -0.028361f, -0.024153f, 0.034707f, 0.009575f, -0.011076f, 0.021344f, 0.030580f, 0.022049f, 0.027094f, 0.012881f, -0.012915f, 0.010682f, -0.032167f, 0.017242f, 0.008000f, 0.008993f, -0.016029f, -0.005221f, 0.004068f, -0.001805f, -0.002723f, -0.005244f, 0.011350f, 0.020779f, -0.007612f, -0.020576f, 0.013503f, 0.024072f, 0.013323f, 0.009313f, -0.028182f, 0.017190f, 0.002502f, 0.009185f, -0.003984f, -0.010118f, -0.001661f, 0.014452f, 0.001987f, -0.002974f, -0.011778f, -0.001279f, -0.006590f, -0.003838f, -0.005080f, 0.006285f, 0.014568f, -0.008621f, 0.001226f, 0.008509f, -0.002752f, -0.001792f, -0.006904f, 0.001118f, -0.004393f, -0.005939f, 0.013122f, 0.004413f, 0.018050f, 0.016220f, 0.026555f, -0.061502f, -0.113470f, -0.052375f, -0.007948f, 0.038551f, 0.002733f, 0.042511f, 0.039337f, -0.011998f, 0.006355f, -0.009745f, - -0.021616f, -0.035600f, -0.020694f, -0.025740f, -0.014951f, 0.040333f, -0.052661f, -0.009288f, -0.043911f, -0.054525f, -0.009605f, -0.055036f, -0.044245f, 0.005234f, -0.011655f, -0.006514f, 0.009870f, 0.047966f, 0.003236f, -0.035146f, 0.001856f, -0.004402f, -0.010662f, -0.045599f, -0.003133f, 0.053866f, 0.004835f, -0.001161f, 0.021737f, 0.041776f, 0.028098f, 0.007093f, -0.017317f, 0.014387f, -0.014590f, -0.038794f, -0.070863f, 0.066909f, -0.008743f, 0.055681f, -0.004962f, 0.000441f, -0.020376f, -0.032657f, 0.058734f, -0.033853f, -0.027529f, -0.003165f, -0.043291f, -0.040737f, 0.033276f, 0.024280f, 0.012605f, -0.004649f, 0.016775f, -0.030199f, 0.011259f, -0.024587f, -0.034531f, -0.037686f, -0.029459f, -0.012392f, 0.028512f, 0.001430f, 0.009987f, -0.017673f, 0.009820f, -0.023003f, 0.016025f, 0.012340f, 0.011281f, -0.007800f, -0.001384f, 0.014103f, -0.004417f, -0.018077f, -0.013755f, -0.017908f, -0.001989f, -0.013350f, -0.003475f, -0.005012f, -0.005197f, 0.004647f, 0.001590f, -0.007430f, 0.002453f, 0.008642f, -0.002959f, -0.006346f, -0.014220f, -0.000637f, -0.009960f, -0.001825f, -0.002110f, -0.007035f, - 0.015350f, -0.015531f, -0.014647f, -0.007188f, 0.007842f, -0.013831f, -0.013994f, 0.001330f, -0.011818f, -0.000669f, -0.002658f, 0.005651f, -0.002139f, 0.001496f, -0.009708f, 0.003027f, -0.019388f, -0.010038f, -0.003547f, -0.040088f, 0.008377f, -0.009568f, -0.029624f, -0.042997f, -0.001222f, -0.041105f, -0.049372f, -0.007491f, -0.022990f, -0.052650f, -0.074694f, 0.009082f, -0.028771f, 0.014326f, -0.006147f, 0.028396f, 0.061425f, 0.003822f, 0.005609f, -0.030922f, -0.034646f, 0.028797f, 0.014875f, -0.022234f, -0.000735f, 0.018987f, -0.042974f, -0.031775f, -0.003142f, 0.054034f, -0.046813f, 0.001198f, 0.000223f, 0.025174f, -0.040127f, 0.041462f, 0.020585f, 0.012140f, -0.001966f, -0.016498f, -0.046450f, 0.000062f, -0.011811f, 0.016984f, -0.025636f, -0.059934f, 0.048874f, -0.035925f, -0.017168f, -0.002063f, 0.047791f, -0.036600f, 0.016147f, -0.029993f, 0.017911f, -0.010588f, -0.045783f, 0.021868f, -0.058077f, -0.012188f, -0.017370f, 0.020354f, 0.045821f, -0.026692f, 0.016335f, 0.047810f, -0.038983f, 0.006635f, 0.010447f, 0.011498f, 0.012998f, -0.068858f, -0.021745f, -0.011389f, 0.023876f, 0.005546f, - -0.001153f, 0.012936f, -0.013216f, 0.027901f, -0.006094f, 0.006556f, -0.027677f, 0.023300f, 0.004845f, -0.042420f, -0.020543f, 0.020305f, 0.024051f, -0.003359f, -0.007490f, -0.016503f, 0.022451f, 0.003137f, -0.000720f, -0.044221f, 0.006126f, -0.021217f, -0.034713f, -0.010054f, -0.007898f, -0.004238f, -0.020903f, -0.025386f, 0.008002f, -0.005814f, -0.013681f, 0.007350f, -0.003726f, -0.003643f, 0.000311f, -0.006834f, 0.001238f, 0.013692f, -0.027070f, 0.002547f, 0.003664f, -0.008614f, 0.017432f, 0.017255f, 0.018532f, 0.007799f, 0.010683f, -0.012626f, 0.003920f, 0.000448f, 0.004394f, -0.005891f, -0.001037f, -0.000638f, 0.006959f, -0.005324f, -0.012896f, 0.010898f, 0.080942f, 0.008477f, 0.034069f, 0.093264f, -0.043731f, -0.024241f, -0.036687f, -0.013395f, 0.042637f, 0.003013f, 0.052564f, 0.014391f, -0.002184f, -0.019529f, 0.039641f, -0.024696f, 0.008789f, -0.016446f, 0.016183f, -0.026181f, 0.030118f, -0.014639f, -0.007422f, -0.017215f, 0.023072f, 0.016201f, -0.026098f, -0.005967f, 0.024299f, 0.007606f, -0.016887f, 0.001809f, -0.021625f, -0.069753f, 0.029956f, -0.036578f, -0.054136f, 0.033380f, - 0.014344f, 0.036087f, -0.003770f, -0.034864f, -0.013497f, -0.009235f, 0.020460f, 0.028030f, 0.030593f, 0.051876f, 0.050617f, -0.022518f, 0.006606f, -0.053904f, 0.000107f, -0.039218f, -0.070746f, -0.006797f, -0.057768f, 0.018711f, -0.046233f, -0.030018f, -0.030782f, -0.042816f, 0.003776f, -0.010066f, 0.003132f, -0.012668f, -0.005911f, -0.003639f, -0.074834f, 0.011983f, 0.010796f, 0.017069f, 0.035178f, -0.006634f, -0.059618f, 0.034339f, -0.038800f, 0.022233f, 0.021291f, 0.048387f, -0.026737f, -0.023889f, -0.016415f, -0.009252f, -0.034858f, 0.013897f, 0.007381f, 0.004492f, -0.008765f, 0.012305f, -0.017684f, 0.017564f, -0.003410f, 0.003787f, 0.004605f, -0.021015f, -0.000664f, 0.008495f, 0.020434f, -0.005316f, -0.013192f, 0.009420f, 0.013981f, 0.018206f, -0.011803f, 0.000355f, 0.009511f, -0.000988f, -0.002501f, -0.006442f, -0.013912f, 0.009672f, -0.000815f, 0.006272f, -0.008020f, -0.000783f, 0.011706f, -0.007873f, -0.013117f, -0.006948f, 0.001417f, -0.005087f, -0.022623f, 0.035769f, -0.009577f, -0.007040f, 0.002521f, 0.007073f, -0.006493f, 0.006809f, 0.007961f, -0.003200f, -0.001213f, -0.004547f, - -0.007477f, 0.058347f, 0.108221f, -0.059289f, -0.048500f, -0.083838f, -0.171412f, -0.042063f, -0.018296f, 0.038470f, 0.022722f, -0.014571f, -0.033402f, 0.046953f, 0.056715f, 0.005155f, -0.003172f, 0.000523f, -0.045543f, -0.026420f, -0.032430f, -0.024397f, -0.048166f, -0.000476f, -0.012500f, -0.005602f, 0.032299f, -0.044672f, 0.035469f, 0.033852f, -0.010984f, 0.017493f, -0.002443f, -0.079637f, -0.057316f, -0.031595f, -0.029544f, -0.013267f, 0.005802f, 0.030854f, 0.009460f, 0.016627f, 0.076511f, 0.070130f, 0.015339f, -0.051962f, -0.027605f, -0.002198f, -0.027297f, -0.049288f, -0.123718f, -0.103454f, -0.047118f, -0.011054f, 0.004516f, 0.026999f, -0.086018f, -0.049207f, 0.043726f, 0.051433f, 0.061137f, -0.056249f, -0.068903f, 0.022261f, -0.042276f, 0.101357f, -0.051722f, -0.005833f, -0.030700f, -0.016281f, 0.013367f, 0.029967f, -0.015597f, -0.040086f, 0.036560f, 0.036062f, -0.008838f, 0.041306f, 0.036074f, -0.080337f, 0.071166f, -0.046609f, -0.000467f, -0.013762f, -0.048700f, -0.013541f, 0.023595f, 0.018040f, -0.004626f, 0.009300f, -0.030009f, 0.000579f, 0.013968f, 0.019752f, 0.030568f, -0.023645f, - 0.003986f, -0.006854f, -0.013566f, -0.033455f, -0.004894f, -0.032246f, 0.027491f, -0.005390f, -0.034945f, 0.005254f, -0.039923f, -0.002812f, 0.003843f, -0.009283f, -0.017790f, 0.000928f, 0.002221f, 0.003852f, 0.011819f, -0.002673f, -0.001553f, 0.022520f, 0.006457f, -0.023284f, -0.027360f, 0.006878f, -0.018513f, -0.037516f, -0.013824f, -0.035332f, 0.010416f, 0.010689f, 0.026364f, 0.003715f, -0.028289f, -0.020331f, 0.020130f, 0.102042f, -0.033976f, 0.032901f, -0.001393f, -0.045409f, 0.007059f, -0.091682f, -0.020602f, 0.019738f, 0.001860f, -0.053344f, 0.031659f, 0.093525f, 0.065646f, -0.028880f, -0.058465f, -0.024871f, 0.006657f, 0.098300f, 0.013297f, 0.002550f, 0.000461f, 0.045504f, 0.046792f, 0.012301f, 0.035800f, 0.029057f, 0.055001f, -0.015537f, 0.006371f, 0.035196f, -0.031907f, -0.048604f, 0.027484f, 0.080741f, 0.017580f, 0.039209f, 0.003859f, 0.024139f, -0.107780f, 0.020136f, -0.004099f, 0.024548f, 0.105900f, 0.042873f, 0.014426f, -0.010306f, 0.047531f, -0.010619f, -0.022103f, 0.016973f, 0.029588f, 0.062489f, -0.019939f, 0.038938f, 0.007179f, 0.010990f, 0.024629f, 0.031770f, - -0.000850f, -0.040952f, -0.025456f, 0.009933f, 0.079923f, 0.054960f, 0.042592f, 0.046292f, 0.038625f, -0.010700f, -0.098661f, -0.070628f, -0.135392f, -0.001539f, 0.041461f, 0.078389f, 0.012283f, -0.056528f, 0.018935f, -0.034825f, 0.011442f, 0.027359f, 0.008283f, -0.016073f, -0.009022f, 0.000727f, -0.007514f, 0.022313f, -0.014858f, -0.038941f, 0.000880f, 0.013609f, 0.017655f, -0.024988f, -0.011449f, -0.046888f, 0.011871f, 0.021169f, -0.018100f, -0.015799f, 0.011966f, -0.008717f, -0.011611f, -0.009664f, -0.036751f, -0.007302f, 0.038112f, 0.024440f, 0.034510f, -0.017902f, -0.038870f, -0.028206f, 0.025363f, 0.020646f, -0.009103f, -0.001003f, -0.002309f, 0.007831f, -0.010906f, 0.023608f, -0.025947f, -0.013883f, 0.001847f, 0.005151f, 0.014999f, -0.031258f, 0.006652f, -0.022700f, 0.062666f, -0.017461f, 0.013654f, -0.019493f, 0.007201f, 0.000631f, 0.005853f, -0.002311f, -0.014890f, -0.038322f, -0.016790f, 0.083924f, -0.003916f, -0.038476f, 0.009020f, -0.007033f, -0.032213f, -0.025235f, 0.004139f, 0.044425f, 0.119185f, 0.054026f, 0.105586f, 0.055766f, 0.046622f, 0.045158f, -0.032067f, -0.026147f, - -0.030701f, 0.013524f, 0.086445f, 0.028229f, -0.073192f, 0.031586f, -0.078651f, 0.039344f, -0.050071f, -0.010290f, -0.044018f, -0.046519f, -0.002768f, 0.006257f, -0.001212f, -0.058255f, 0.075672f, -0.015237f, 0.028110f, -0.073731f, 0.019286f, -0.016955f, -0.023304f, 0.038600f, -0.031929f, 0.076956f, 0.008524f, -0.029996f, 0.003434f, -0.022532f, -0.031936f, 0.021843f, -0.052487f, -0.010900f, 0.064826f, -0.014004f, 0.026245f, -0.003267f, -0.047828f, 0.052159f, -0.028442f, -0.107519f, 0.012956f, 0.008360f, -0.000893f, 0.012149f, -0.015317f, -0.020728f, -0.006479f, 0.049072f, -0.093079f, 0.055026f, -0.022280f, -0.012608f, 0.060517f, -0.037218f, 0.017491f, 0.022784f, 0.088065f, 0.031110f, 0.038697f, -0.005971f, 0.052466f, -0.041935f, 0.041536f, 0.007208f, -0.016613f, 0.011563f, 0.002124f, 0.002077f, -0.023243f, -0.005584f, 0.003689f, -0.009375f, -0.017489f, 0.036330f, 0.000222f, -0.002199f, -0.010983f, 0.012382f, -0.014484f, 0.032459f, 0.018267f, 0.017652f, 0.003600f, 0.000273f, -0.003417f, 0.027272f, -0.021864f, -0.027089f, 0.010233f, 0.014538f, -0.001678f, 0.024573f, -0.010697f, -0.004331f, - 0.000861f, -0.007684f, -0.027152f, -0.026274f, -0.002880f, 0.009543f, -0.013669f, 0.005231f, 0.008230f, 0.010182f, -0.007573f, -0.000012f, 0.017243f, -0.007498f, -0.025221f, -0.045171f, 0.074095f, 0.068753f, 0.239978f, 0.096845f, -0.130442f, -0.061350f, -0.063778f, -0.100338f, 0.070209f, 0.215654f, 0.086569f, 0.040997f, -0.053775f, -0.014764f, -0.003334f, -0.002412f, 0.103817f, 0.071059f, 0.045489f, 0.155932f, -0.186196f, 0.012336f, 0.097887f, -0.023422f, 0.020437f, 0.102421f, 0.018319f, -0.028925f, 0.055536f, -0.102601f, -0.205947f, -0.019397f, 0.020734f, -0.079721f, -0.008608f, 0.110935f, 0.019138f, 0.006873f, 0.042541f, -0.086934f, -0.177306f, -0.162060f, -0.073388f, 0.054169f, 0.106252f, 0.234587f, 0.059391f, -0.029463f, -0.028857f, -0.062961f, -0.139428f, -0.042039f, 0.103075f, 0.103643f, 0.108797f, 0.106026f, 0.066865f, 0.055503f, 0.016577f, 0.024609f, -0.089302f, -0.054674f, 0.014079f, 0.025803f, 0.046844f, 0.057184f, 0.139873f, 0.037099f, 0.081731f, -0.052622f, -0.051833f, -0.093727f, -0.019760f, -0.071499f, -0.016445f, 0.145823f, 0.187114f, 0.004782f, -0.006729f, -0.115274f, - -0.132956f, -0.074574f, -0.030953f, 0.075120f, 0.040449f, -0.007331f, 0.028499f, -0.009467f, -0.018234f, -0.034164f, -0.032219f, -0.003579f, 0.009355f, 0.007750f, 0.041897f, -0.002074f, 0.000080f, -0.020039f, 0.001691f, -0.025146f, -0.007762f, 0.001043f, -0.037431f, -0.016333f, 0.001861f, -0.009487f, -0.001643f, 0.023547f, 0.021080f, 0.048066f, -0.019592f, -0.007416f, -0.046488f, -0.037411f, -0.028093f, 0.049860f, 0.032054f, 0.016490f, 0.017382f, -0.013836f, -0.041070f, -0.032821f, 0.002790f, -0.022711f, 0.042671f, 0.062792f, -0.000984f, -0.013358f, -0.042221f, -0.014533f, -0.171694f, -0.104833f, 0.060849f, 0.161843f, 0.186930f, 0.391157f, 0.237482f, 0.162348f, 0.142153f, 0.111823f, -0.019927f, -0.168407f, -0.185760f, -0.358569f, -0.382668f, -0.361442f, -0.232102f, -0.080060f, 0.079930f, 0.139875f, 0.231156f, 0.228462f, 0.159232f, 0.158619f, 0.201182f, 0.194398f, 0.173146f, 0.110980f, 0.076052f, 0.068426f, -0.007441f, -0.010927f, -0.223994f, -0.158383f, -0.200473f, -0.241213f, -0.102340f, -0.235526f, -0.191377f, -0.347400f, -0.305321f, -0.215182f, -0.144890f, -0.020605f, 0.180607f, 0.220325f, - 0.184375f, 0.198462f, 0.182389f, 0.339889f, 0.440810f, 0.395331f, 0.390681f, 0.346168f, 0.332796f, 0.248765f, 0.247222f, 0.054101f, -0.167669f, -0.346849f, -0.333227f, -0.496758f, -0.415789f, -0.603527f, -0.720635f, -0.638944f, -0.608308f, -0.364838f, -0.255290f, 0.047685f, 0.120240f, 0.285332f, 0.422128f, 0.652610f, 0.563805f, 0.815750f, 0.703154f, 0.505201f, 0.495227f, 0.226797f, 0.015849f, -0.044129f, -0.177149f, -0.307165f, -0.368963f, -0.439093f, -0.382023f, -0.344493f, -0.334009f, -0.269793f, -0.279679f, -0.228164f, -0.202325f, -0.060252f, -0.043519f, 0.056779f, 0.129470f, 0.150595f, 0.194319f, 0.278325f, 0.334769f, 0.358671f, 0.373636f, 0.276051f, 0.227023f, 0.221808f, 0.081329f, 0.055311f, -0.124824f, -0.296437f, -0.397036f, -0.404492f, -0.454570f, -0.287148f, -0.329415f, -0.218095f, -0.158746f, -0.042417f, 0.078360f, 0.156528f, 0.235533f, 0.246213f, 0.368312f, 0.380038f, 0.363411f, 0.309797f, 0.276422f, 0.111584f, 0.027932f, -0.067472f, -0.156611f, -0.296786f, -0.351664f, -0.290498f, -0.198276f, -0.173543f, -0.122503f, -0.110179f, -0.058429f, -0.005355f, 0.015184f, 0.012643f, - 0.054004f, 0.062934f, 0.096545f, 0.084070f, 0.077087f, 0.073840f, 0.082676f, 0.060542f, 0.056956f, 0.066450f, 0.069217f, 0.041485f, 0.027496f, 0.004488f, 0.001880f, 0.011646f, -0.004897f, -0.036211f, -0.027854f, -0.038961f, -0.048998f, -0.064693f, -0.056975f, -0.047989f, -0.031335f, -0.037902f, -0.029479f, -0.025076f, -0.006568f, -0.014650f, -0.010754f, -0.005391f, 0.011894f, 0.003302f, 0.011903f, 0.020317f, 0.033069f, 0.024983f, 0.032332f, 0.026359f, 0.037108f, 0.031320f, 0.025033f, 0.008304f, 0.011668f, 0.004566f, 0.004130f, -0.009825f, -0.007418f, -0.009542f, -0.003330f, -0.012578f, -0.006738f, -0.012445f, -0.008063f, -0.010465f, 0.002864f, -0.002878f, -0.004010f, -0.011910f, -0.006276f, -0.010757f, -0.006435f, -0.017469f, -0.011884f, -0.010639f, -0.001828f, -0.005637f, 0.002886f, 0.001178f, 0.008539f, 0.004856f, 0.013542f, 0.010112f, 0.013460f, 0.006649f, 0.010506f, 0.004496f, 0.010279f, 0.004485f, 0.009186f, 0.002844f, 0.006395f, -0.000950f, 0.002401f, -0.004903f, -0.000542f, -0.006712f, -0.001293f, -0.006623f, -0.000671f, -0.005536f, 0.000562f, -0.004414f, 0.001666f, -0.003281f, - 0.002589f} - }, - { - {-0.009587f, -0.025848f, -0.002130f, -0.004174f, -0.003479f, 0.000329f, -0.004260f, 0.001553f, 0.002570f, 0.010516f, -0.003531f, -0.000484f, -0.009715f, 0.000658f, 0.009838f, 0.000620f, 0.007119f, -0.002155f, 0.003006f, -0.004161f, -0.006128f, 0.000140f, 0.006764f, -0.000934f, -0.008414f, -0.000419f, 0.008196f, 0.002593f, -0.003480f, -0.002990f, -0.000365f, -0.001197f, -0.001892f, 0.000024f, -0.001367f, -0.002887f, -0.000345f, 0.001602f, 0.001155f, -0.000450f, -0.006419f, 0.009481f, 0.013031f, 0.000341f, 0.001522f, -0.005341f, -0.002986f, 0.000954f, -0.006799f, -0.007625f, 0.004510f, -0.006210f, 0.004455f, 0.005697f, 0.005750f, 0.002078f, -0.000877f, 0.001478f, 0.001195f, 0.004264f, -0.009369f, 0.000728f, -0.001220f, -0.006893f, -0.009231f, 0.000190f, 0.004589f, -0.003591f, -0.000505f, -0.001151f, -0.000669f, 0.006417f, 0.003201f, 0.000790f, 0.002522f, -0.002201f, -0.007610f, 0.002867f, 0.001203f, 0.006415f, -0.007827f, -0.005992f, 0.004371f, -0.003572f, -0.001657f, -0.005892f, 0.001283f, -0.003497f, -0.003206f, -0.000004f, -0.002580f, -0.002852f, 0.000722f, -0.001583f, -0.000742f, -0.003238f, - 0.001903f, -0.000480f, 0.000138f, -0.000931f, 0.001543f, -0.000392f, 0.000466f, -0.000655f, -0.000548f, -0.000057f, -0.001083f, -0.000149f, -0.023783f, -0.005432f, 0.009056f, -0.001271f, -0.007418f, 0.003123f, -0.017670f, -0.006736f, -0.002675f, -0.003148f, -0.009203f, -0.009562f, 0.005048f, 0.007974f, 0.006706f, -0.008942f, -0.013330f, 0.001512f, -0.007859f, -0.014075f, 0.003096f, -0.000879f, 0.003860f, 0.015858f, -0.005345f, -0.001655f, -0.010134f, 0.013705f, 0.000928f, 0.006847f, 0.004587f, 0.011255f, 0.005585f, 0.003493f, -0.011282f, -0.001247f, -0.010384f, -0.002809f, 0.000317f, -0.004287f, 0.003314f, 0.002930f, -0.004981f, -0.009497f, 0.005931f, 0.009943f, 0.002660f, -0.004702f, -0.007481f, -0.004535f, 0.002222f, -0.008246f, -0.010612f, -0.002953f, 0.005054f, -0.002863f, 0.002425f, 0.006621f, 0.004029f, -0.004858f, 0.009419f, 0.000894f, 0.008003f, -0.006774f, -0.005870f, -0.003280f, -0.004139f, 0.005725f, -0.003328f, 0.000387f, 0.009511f, 0.003482f, 0.000110f, -0.009073f, 0.002355f, -0.003585f, 0.006633f, 0.009884f, -0.001825f, 0.000874f, -0.004616f, 0.003788f, 0.008518f, -0.003002f, - 0.005260f, 0.002516f, 0.001017f, 0.004524f, 0.001645f, 0.000293f, 0.003426f, 0.001425f, -0.000412f, 0.000101f, 0.001445f, 0.001520f, -0.001727f, 0.001281f, 0.001074f, 0.001909f, -0.001239f, -0.004867f, 0.006135f, 0.008387f, 0.003438f, -0.005279f, 0.003711f, -0.002485f, 0.002585f, 0.015798f, 0.009796f, -0.013364f, 0.009112f, -0.007356f, -0.003576f, -0.001938f, 0.000319f, 0.006719f, 0.000308f, 0.018491f, 0.005400f, -0.007097f, -0.004604f, -0.004603f, 0.013084f, 0.003068f, 0.012606f, 0.004121f, 0.008510f, 0.013092f, 0.015075f, 0.005718f, -0.001624f, -0.001489f, 0.002337f, -0.012014f, -0.011116f, 0.003590f, -0.008418f, 0.004845f, 0.002400f, -0.002861f, -0.001172f, 0.003548f, 0.012607f, -0.004081f, -0.004169f, -0.006416f, 0.016087f, -0.002138f, -0.019862f, -0.009926f, -0.007818f, -0.007228f, 0.008337f, 0.007955f, 0.007064f, 0.010463f, 0.004728f, 0.006574f, -0.000189f, -0.000586f, -0.000190f, 0.010530f, 0.003516f, 0.006198f, -0.013777f, 0.000957f, 0.000753f, 0.000802f, 0.001033f, 0.006095f, 0.004352f, 0.001806f, -0.006608f, -0.006644f, 0.004020f, 0.003304f, -0.001854f, -0.000355f, - -0.005290f, -0.006824f, -0.005497f, 0.003902f, 0.006807f, 0.000887f, 0.000526f, 0.002401f, -0.001788f, -0.000165f, -0.001380f, 0.001289f, 0.001331f, 0.000780f, -0.000766f, 0.002089f, 0.003361f, -0.000382f, 0.000480f, 0.000801f, -0.000344f, 0.000943f, -0.001152f, 0.002436f, 0.000192f, -0.000350f, -0.001331f, 0.002169f, -0.003844f, 0.002377f, 0.000850f, 0.001819f, -0.000106f, -0.002277f, 0.000657f, -0.001046f, 0.035360f, 0.007544f, 0.005595f, -0.004437f, -0.002199f, 0.003252f, 0.002695f, 0.009213f, 0.012629f, -0.000725f, 0.018482f, 0.007123f, -0.006205f, -0.006182f, -0.000232f, 0.008574f, -0.000802f, -0.004922f, 0.009886f, 0.001200f, 0.026543f, 0.006734f, 0.005433f, 0.000928f, -0.002320f, 0.001084f, 0.004203f, 0.004947f, -0.000976f, -0.000103f, 0.014339f, 0.001818f, 0.015762f, -0.007977f, -0.007258f, 0.004972f, 0.023556f, 0.006605f, 0.005852f, -0.002182f, -0.009885f, -0.004126f, 0.003365f, 0.000536f, -0.000024f, 0.000697f, -0.014120f, 0.000856f, -0.006099f, 0.005579f, 0.004723f, -0.005815f, 0.003498f, 0.004867f, 0.003577f, -0.006890f, -0.006715f, 0.001488f, 0.002643f, -0.000137f, - -0.008692f, 0.002167f, -0.003265f, 0.005545f, -0.000627f, 0.000952f, 0.003811f, -0.001528f, 0.002191f, -0.003330f, 0.001165f, 0.020332f, 0.002510f, 0.007103f, 0.000432f, -0.005801f, 0.003553f, 0.001066f, 0.006533f, -0.011555f, -0.007758f, 0.003740f, -0.001488f, 0.002184f, -0.002787f, 0.004183f, 0.003821f, 0.000301f, -0.004868f, -0.002067f, -0.006689f, -0.001381f, -0.001403f, 0.004255f, -0.002992f, -0.000998f, 0.000922f, -0.000765f, -0.001478f, -0.001811f, 0.001456f, -0.001914f, -0.002137f, -0.000185f, 0.000255f, 0.001080f, -0.004482f, -0.001965f, 0.001341f, 0.000516f, -0.004897f, -0.001389f, -0.000177f, -0.006666f, -0.002586f, -0.000856f, 0.005292f, -0.007858f, -0.001222f, 0.007767f, -0.003866f, -0.012323f, 0.000048f, 0.020051f, -0.001271f, 0.015723f, 0.008233f, 0.021792f, 0.002765f, 0.001953f, 0.008087f, -0.006240f, -0.012929f, -0.017246f, 0.004168f, -0.008817f, 0.020306f, 0.011473f, 0.014383f, -0.002742f, -0.005810f, 0.001730f, 0.003325f, 0.006622f, 0.019017f, 0.002220f, 0.007997f, -0.008674f, 0.006144f, -0.006163f, 0.002707f, -0.003337f, 0.006345f, 0.010787f, 0.001586f, 0.010307f, - 0.003915f, 0.005148f, -0.002868f, -0.002519f, 0.013944f, -0.003247f, -0.003335f, 0.010395f, -0.006107f, -0.000602f, 0.001611f, -0.004571f, -0.005920f, 0.004600f, -0.006807f, -0.001334f, -0.008724f, -0.018884f, -0.001994f, -0.002874f, -0.000371f, -0.019673f, -0.007390f, -0.006005f, -0.004974f, 0.007397f, 0.019503f, -0.004935f, 0.006349f, 0.010141f, -0.002708f, 0.001914f, 0.001836f, 0.001160f, -0.006940f, 0.007720f, -0.008835f, 0.002353f, 0.006558f, 0.018178f, 0.005799f, 0.005396f, 0.001773f, -0.000220f, 0.005602f, -0.006545f, 0.000067f, 0.003771f, 0.001899f, 0.000348f, -0.007231f, 0.004416f, 0.005484f, 0.005419f, -0.000896f, 0.004045f, 0.002309f, 0.001169f, 0.003780f, 0.002152f, 0.000563f, 0.002110f, -0.000381f, 0.001650f, 0.001163f, 0.001400f, 0.002241f, 0.002696f, 0.003256f, 0.002223f, 0.002228f, 0.002408f, -0.001262f, 0.002187f, -0.025364f, 0.002043f, 0.013887f, 0.007055f, -0.014156f, -0.001247f, 0.000837f, 0.003212f, 0.005412f, -0.000989f, -0.010985f, -0.010842f, 0.001819f, 0.017929f, 0.008761f, 0.010567f, 0.018364f, -0.012485f, 0.013146f, 0.023872f, -0.002062f, 0.005257f, - -0.013487f, 0.004522f, 0.005059f, -0.011852f, -0.006162f, -0.002679f, 0.005665f, -0.011970f, -0.015469f, 0.002837f, 0.001829f, -0.013522f, 0.001172f, 0.004081f, -0.002631f, 0.028348f, -0.001532f, -0.020319f, -0.001296f, 0.006844f, 0.016115f, 0.005789f, 0.007260f, -0.013069f, 0.003637f, 0.003965f, -0.011490f, -0.000877f, -0.001919f, 0.019662f, 0.012148f, -0.003400f, -0.006757f, -0.015435f, 0.006635f, 0.006032f, -0.009021f, -0.000420f, 0.003694f, 0.005889f, 0.006177f, -0.007908f, -0.000202f, -0.001806f, 0.018573f, -0.015700f, 0.001929f, -0.004164f, 0.016723f, -0.001299f, -0.004081f, -0.007106f, 0.002099f, -0.007349f, -0.017018f, 0.000379f, 0.012943f, 0.003782f, 0.008112f, 0.001933f, -0.006135f, -0.002525f, -0.003098f, 0.010937f, 0.004372f, -0.003078f, -0.000418f, 0.009929f, 0.007476f, -0.002904f, 0.001065f, 0.001500f, 0.002148f, -0.000268f, 0.004000f, 0.002707f, 0.002441f, 0.000185f, -0.001414f, -0.000709f, 0.000784f, -0.001502f, 0.000464f, -0.002066f, -0.000677f, 0.001578f, -0.005220f, -0.001289f, 0.009879f, 0.008670f, 0.003269f, -0.006666f, 0.001956f, 0.004050f, 0.030038f, 0.019665f, - 0.014994f, 0.020862f, 0.008618f, -0.002025f, 0.003083f, 0.007580f, -0.021164f, 0.010673f, 0.000374f, 0.011484f, -0.008515f, -0.004574f, -0.013652f, 0.003641f, 0.024143f, -0.023846f, -0.014960f, -0.025342f, 0.012714f, -0.005995f, 0.000794f, -0.011699f, 0.001459f, -0.004549f, -0.011445f, 0.004062f, 0.005568f, -0.018139f, -0.002473f, 0.002908f, -0.003975f, 0.009089f, -0.025905f, -0.012855f, 0.026397f, 0.002311f, -0.000522f, -0.002968f, 0.000872f, -0.013795f, -0.014334f, 0.000479f, -0.020830f, -0.005164f, 0.002017f, 0.005184f, -0.009006f, -0.002439f, 0.025687f, -0.002054f, 0.008957f, 0.018778f, -0.017955f, -0.006610f, 0.004099f, 0.004136f, 0.003339f, -0.005887f, -0.012873f, 0.014223f, -0.001726f, -0.014043f, 0.009898f, -0.002869f, 0.002230f, 0.003393f, -0.007476f, -0.004876f, -0.003241f, -0.005988f, -0.008102f, -0.010016f, -0.009349f, -0.012190f, -0.003701f, -0.005405f, -0.001311f, -0.001953f, -0.000298f, 0.001123f, -0.004994f, -0.004273f, 0.002618f, 0.002840f, 0.005218f, -0.000731f, -0.002356f, -0.007367f, -0.002136f, -0.008452f, -0.005295f, -0.001518f, 0.001391f, -0.001022f, 0.000903f, -0.002470f, - -0.001376f, 0.005523f, 0.002118f, 0.003694f, -0.004215f, 0.000611f, 0.000781f, 0.001115f, -0.008351f, 0.000159f, 0.002231f, -0.000438f, 0.004146f, -0.001138f, -0.001472f, 0.000443f, 0.001161f, -0.049976f, -0.027392f, 0.022175f, -0.008403f, -0.010841f, 0.013839f, 0.011562f, -0.021004f, -0.028959f, -0.008966f, -0.010517f, -0.010564f, -0.002200f, -0.019521f, -0.014486f, 0.007442f, 0.000526f, -0.026343f, -0.029525f, -0.016196f, -0.008271f, -0.001275f, 0.014751f, -0.000878f, -0.011180f, 0.008432f, -0.024618f, 0.000932f, -0.001384f, 0.001231f, 0.008270f, 0.004866f, -0.018002f, -0.013175f, 0.010416f, 0.003913f, 0.039385f, 0.009898f, -0.013434f, 0.001961f, 0.001053f, 0.000564f, 0.010228f, 0.002155f, 0.004138f, -0.003925f, -0.008940f, 0.002726f, -0.023014f, -0.004121f, -0.010160f, -0.011921f, 0.002406f, -0.018004f, 0.020909f, -0.002596f, 0.008613f, 0.015239f, 0.004268f, 0.008134f, -0.001201f, -0.009692f, -0.000627f, -0.001145f, -0.012406f, 0.015979f, -0.006778f, 0.028345f, -0.001130f, -0.000536f, 0.001118f, -0.007220f, -0.015483f, 0.004872f, -0.012188f, -0.004759f, 0.016353f, -0.021254f, -0.021179f, - 0.014176f, 0.013211f, 0.011586f, -0.017968f, 0.012940f, 0.005183f, 0.007587f, -0.000704f, 0.003379f, 0.003334f, 0.010084f, 0.004107f, 0.002554f, 0.007257f, -0.000885f, -0.000603f, -0.005972f, -0.004862f, -0.000873f, 0.004905f, -0.006421f, 0.000762f, -0.000648f, -0.003963f, -0.002261f, 0.001551f, -0.008293f, -0.005246f, -0.006160f, -0.001212f, 0.002813f, -0.000149f, 0.006329f, -0.002187f, 0.006616f, 0.000471f, 0.002526f, 0.000943f, 0.005148f, -0.004003f, -0.003067f, 0.005725f, -0.002537f, 0.000709f, 0.000543f, 0.010035f, 0.036943f, -0.020639f, 0.017647f, 0.007187f, 0.013182f, -0.005269f, -0.019951f, 0.002836f, -0.005136f, -0.018783f, 0.038132f, -0.002702f, -0.010424f, -0.037479f, 0.023167f, 0.006377f, -0.000270f, -0.014012f, -0.016051f, 0.000419f, 0.038740f, 0.014354f, -0.001343f, -0.003818f, -0.016395f, -0.013491f, 0.011305f, 0.004922f, -0.012782f, -0.009122f, 0.013637f, 0.003360f, -0.000382f, 0.011569f, 0.017993f, 0.002798f, 0.023699f, 0.026673f, 0.016375f, -0.006155f, 0.006067f, 0.002177f, 0.004593f, 0.013918f, -0.019578f, 0.020800f, -0.001240f, -0.010575f, -0.015831f, 0.000097f, - 0.013857f, 0.009567f, -0.018714f, 0.004149f, 0.015153f, 0.002301f, -0.013494f, -0.029546f, -0.026670f, 0.007093f, 0.012099f, 0.002007f, -0.010209f, -0.001379f, 0.021687f, -0.009840f, -0.015983f, -0.031194f, 0.003522f, 0.006074f, -0.023057f, 0.008764f, 0.023505f, -0.010571f, 0.018336f, 0.006314f, -0.021329f, -0.015960f, 0.001909f, 0.022172f, -0.002063f, 0.023293f, -0.003801f, -0.008125f, 0.005139f, 0.011893f, 0.003403f, -0.003939f, -0.006001f, 0.004023f, 0.010761f, 0.008571f, 0.001693f, 0.013856f, 0.002812f, 0.009953f, 0.002718f, 0.013597f, 0.002303f, 0.008413f, 0.000121f, 0.006732f, 0.003866f, -0.003303f, -0.009648f, 0.000897f, -0.011323f, -0.001576f, -0.004475f, 0.001862f, -0.001245f, -0.000400f, -0.010015f, -0.000919f, 0.005093f, -0.004983f, 0.000952f, -0.001172f, 0.001016f, -0.000634f, -0.007153f, 0.001185f, -0.001284f, 0.044604f, 0.029133f, 0.006761f, -0.009027f, -0.004658f, -0.006340f, -0.030442f, -0.012466f, -0.000290f, 0.019391f, -0.013934f, -0.007969f, -0.006458f, 0.000222f, 0.032288f, -0.025127f, -0.006590f, -0.001498f, 0.015222f, -0.005343f, -0.018361f, -0.031048f, 0.011191f, - -0.021488f, -0.009658f, -0.013448f, -0.014302f, 0.004421f, -0.024101f, -0.011887f, 0.021626f, 0.032075f, 0.001615f, -0.020267f, -0.017822f, 0.029572f, -0.003171f, -0.016202f, 0.031147f, 0.000845f, 0.002063f, 0.001190f, -0.033643f, 0.013638f, -0.012360f, 0.012173f, 0.011532f, -0.023100f, -0.002332f, -0.023430f, 0.009237f, -0.022725f, -0.003669f, 0.009356f, 0.013040f, -0.007670f, 0.008001f, -0.027552f, 0.019079f, -0.002251f, 0.013081f, 0.010700f, 0.008023f, -0.006209f, -0.005542f, 0.027230f, -0.018708f, 0.013465f, -0.004433f, -0.023404f, -0.013835f, -0.001674f, 0.024801f, -0.014189f, 0.011744f, 0.003184f, -0.007342f, 0.000195f, -0.027147f, 0.034505f, 0.021532f, -0.004212f, -0.009169f, 0.016848f, 0.007616f, -0.005117f, -0.008621f, 0.001798f, -0.005654f, 0.008624f, -0.001547f, 0.004477f, 0.014652f, 0.005045f, 0.011665f, -0.000138f, 0.004333f, 0.001568f, -0.001818f, 0.000182f, -0.000752f, 0.009716f, 0.004191f, 0.013529f, 0.002610f, -0.007773f, 0.010281f, -0.004108f, 0.000045f, 0.007353f, -0.006856f, -0.002498f, -0.003455f, -0.003189f, 0.006515f, 0.003642f, 0.003557f, 0.005327f, -0.000284f, - -0.001660f, 0.013095f, -0.004416f, -0.004018f, 0.017074f, 0.003655f, -0.011845f, -0.026097f, -0.001771f, -0.034016f, 0.005585f, 0.003386f, 0.016472f, -0.013389f, -0.003603f, 0.009234f, 0.007087f, 0.010125f, -0.023566f, 0.033192f, 0.022987f, 0.004621f, 0.016912f, -0.007444f, -0.033431f, 0.008143f, -0.014263f, -0.015181f, 0.015282f, 0.038418f, 0.006348f, -0.010180f, -0.014130f, -0.030228f, -0.000251f, 0.001749f, 0.046668f, -0.018165f, -0.001050f, 0.001735f, -0.001740f, -0.027977f, -0.032250f, 0.025611f, 0.000687f, 0.014696f, -0.004416f, -0.035849f, -0.021140f, 0.003216f, -0.006356f, -0.007325f, -0.010633f, 0.024003f, -0.005301f, 0.015707f, -0.016893f, 0.033305f, -0.039245f, 0.019606f, 0.019900f, 0.012375f, 0.010385f, 0.010089f, 0.030519f, 0.016159f, -0.002529f, 0.006900f, -0.000048f, 0.030770f, 0.045465f, -0.004953f, 0.003369f, -0.013124f, 0.018861f, 0.031045f, -0.021298f, 0.006778f, -0.053228f, 0.034927f, 0.035462f, 0.024171f, 0.032973f, -0.014836f, -0.026811f, -0.001586f, -0.004120f, -0.007525f, -0.005832f, -0.015602f, -0.011323f, -0.005568f, -0.001649f, -0.008587f, 0.005091f, 0.010046f, - 0.003541f, -0.014644f, 0.002756f, -0.007996f, -0.008971f, -0.005210f, 0.006023f, 0.006076f, -0.002829f, -0.003411f, -0.001511f, -0.002283f, 0.001427f, -0.014163f, 0.004642f, 0.002407f, 0.009206f, 0.002406f, -0.000785f, -0.000112f, 0.001904f, 0.008512f, 0.002691f, -0.007185f, 0.005843f, 0.000313f, 0.000738f, -0.038529f, -0.005697f, -0.049276f, -0.025280f, 0.019366f, -0.020170f, -0.043824f, 0.004068f, -0.023639f, 0.001087f, 0.000834f, -0.028098f, -0.026720f, 0.012076f, 0.025778f, 0.007782f, -0.030006f, 0.014347f, -0.033749f, -0.011830f, -0.012442f, 0.010559f, -0.013875f, -0.006320f, 0.016201f, 0.002770f, -0.011114f, -0.024017f, 0.025419f, 0.024657f, 0.032036f, 0.004185f, -0.003576f, 0.001134f, 0.010261f, -0.002423f, 0.013135f, -0.014458f, 0.017273f, -0.006802f, 0.019900f, 0.015966f, 0.012012f, -0.005784f, 0.000823f, -0.030970f, 0.010538f, -0.007797f, 0.023293f, 0.004239f, -0.054152f, 0.008319f, 0.026688f, 0.035903f, -0.020654f, -0.028212f, 0.033766f, 0.015331f, 0.023740f, -0.042293f, 0.020910f, 0.052948f, 0.055769f, 0.003551f, 0.001324f, 0.031737f, -0.021966f, -0.029267f, 0.018748f, - -0.032403f, 0.012166f, -0.015090f, -0.012754f, -0.007156f, -0.069800f, -0.040304f, -0.033995f, 0.025080f, 0.009514f, 0.007053f, -0.024797f, -0.010083f, -0.018734f, -0.003544f, -0.010065f, 0.027412f, 0.006513f, -0.010899f, -0.024354f, -0.005420f, 0.015768f, -0.002515f, -0.006737f, 0.004846f, 0.016506f, -0.005875f, -0.009755f, -0.004674f, -0.003620f, -0.001120f, 0.012838f, 0.012900f, 0.011206f, -0.011320f, 0.014688f, -0.000745f, 0.004198f, 0.016793f, -0.007545f, -0.007572f, 0.014640f, 0.026282f, -0.006146f, -0.008579f, -0.004185f, 0.003164f, -0.004738f, -0.018103f, 0.002924f, 0.013224f, 0.003567f, -0.018229f, -0.017461f, 0.008237f, 0.005921f, -0.000974f, -0.001117f, -0.003185f, -0.012984f, -0.008890f, -0.029000f, -0.055696f, 0.042586f, 0.004447f, 0.014309f, -0.007232f, 0.030163f, 0.000781f, -0.025697f, 0.019875f, 0.008113f, -0.009128f, -0.015505f, -0.012188f, 0.003848f, 0.007242f, 0.026716f, -0.015228f, 0.020969f, 0.006648f, 0.038087f, -0.054657f, -0.014648f, -0.008685f, 0.007048f, 0.022276f, 0.032374f, 0.007322f, -0.026269f, 0.017720f, 0.025472f, 0.021404f, -0.005983f, 0.007449f, 0.001554f, - -0.009004f, -0.003664f, 0.001520f, 0.008249f, 0.002933f, 0.018833f, 0.003071f, -0.023740f, 0.022152f, -0.024615f, -0.031470f, 0.004892f, 0.022690f, -0.011049f, -0.008194f, 0.008264f, 0.011053f, 0.019593f, -0.011229f, 0.009290f, 0.044206f, -0.017657f, -0.047062f, -0.060903f, -0.030823f, -0.041267f, 0.018698f, 0.035812f, 0.022859f, 0.008751f, 0.021498f, 0.012659f, 0.023764f, -0.020392f, 0.026867f, 0.013978f, 0.010869f, 0.028044f, 0.036399f, -0.011353f, -0.008196f, 0.009952f, -0.002454f, 0.032799f, 0.012647f, -0.005024f, 0.005471f, -0.040040f, -0.028061f, 0.005533f, -0.001648f, 0.007101f, 0.002627f, 0.008395f, -0.007558f, 0.021078f, -0.011225f, -0.012898f, -0.012521f, -0.021074f, -0.007723f, -0.004187f, 0.006830f, 0.005596f, -0.003240f, -0.018109f, -0.001145f, 0.005961f, 0.001922f, -0.007287f, 0.004187f, 0.000222f, 0.006891f, -0.007598f, 0.003009f, 0.001425f, 0.008327f, -0.004061f, 0.012868f, -0.008065f, -0.009358f, 0.002714f, -0.001684f, -0.006804f, 0.002035f, 0.008928f, 0.000651f, -0.001419f, 0.055682f, 0.005434f, 0.008695f, -0.011518f, 0.020190f, -0.063694f, -0.028192f, -0.043518f, - -0.045019f, 0.017899f, -0.039295f, 0.038617f, 0.043844f, 0.001972f, 0.009455f, -0.006715f, 0.007967f, -0.041645f, 0.017063f, 0.046176f, -0.026358f, -0.053630f, 0.007021f, -0.020144f, -0.017202f, -0.052314f, 0.008980f, 0.019266f, -0.000297f, -0.007066f, 0.016742f, -0.029822f, -0.005075f, 0.019460f, -0.010818f, -0.026430f, 0.003093f, -0.013177f, 0.027240f, -0.018092f, -0.010180f, 0.025647f, 0.022104f, 0.047332f, 0.006138f, 0.011447f, -0.004485f, 0.012727f, 0.016712f, 0.029247f, -0.008567f, -0.000938f, -0.018312f, 0.038574f, -0.048745f, 0.052224f, 0.001705f, -0.020796f, 0.024303f, -0.018963f, -0.014136f, 0.048028f, -0.069486f, 0.011318f, -0.014798f, 0.013570f, -0.027070f, 0.012956f, 0.027317f, -0.014239f, -0.002728f, -0.007318f, -0.011672f, -0.006162f, 0.050901f, -0.057967f, -0.019995f, 0.097428f, -0.036886f, -0.043019f, 0.041970f, 0.025221f, 0.027940f, -0.024555f, 0.001723f, -0.024411f, -0.013877f, -0.003852f, -0.028080f, 0.006073f, 0.003533f, -0.007290f, 0.009801f, 0.008939f, -0.012858f, -0.023734f, -0.006335f, -0.002034f, 0.009070f, -0.020956f, -0.014931f, 0.000510f, -0.002348f, 0.005233f, - 0.012792f, 0.030980f, -0.014378f, -0.000754f, -0.003667f, -0.003295f, 0.008648f, 0.003452f, -0.018736f, -0.013979f, 0.014540f, -0.012072f, 0.005309f, 0.003773f, -0.011537f, 0.004226f, -0.002883f, -0.018929f, -0.015787f, 0.009203f, 0.005765f, -0.002913f, -0.000673f, 0.011735f, -0.027933f, -0.042606f, 0.003953f, -0.016029f, -0.014706f, -0.023898f, -0.030392f, 0.038272f, 0.016183f, 0.002617f, 0.017674f, 0.045294f, 0.026457f, -0.002895f, 0.009013f, 0.030516f, 0.038503f, -0.034147f, 0.015854f, 0.032587f, 0.013914f, 0.012068f, 0.044501f, 0.021735f, 0.009146f, -0.001160f, 0.019931f, -0.002045f, 0.022579f, 0.019002f, 0.010118f, -0.020717f, 0.039355f, -0.032283f, -0.004228f, 0.049680f, 0.048756f, -0.011441f, -0.043530f, 0.016535f, -0.000821f, 0.042654f, 0.072893f, 0.016533f, -0.011345f, 0.005379f, -0.042068f, -0.004738f, -0.011227f, -0.008797f, 0.000692f, 0.037494f, -0.016144f, 0.016622f, 0.044713f, 0.007834f, -0.041636f, 0.027673f, -0.002261f, 0.017683f, 0.042011f, 0.059573f, -0.016880f, -0.015522f, -0.005224f, -0.046800f, -0.068976f, 0.002103f, -0.031439f, -0.004846f, -0.038085f, -0.003674f, - 0.001099f, 0.005397f, 0.028058f, -0.000564f, -0.019738f, -0.032392f, 0.023724f, -0.009832f, 0.020286f, 0.000987f, 0.037884f, 0.014327f, 0.013918f, 0.000381f, -0.011914f, 0.021582f, -0.016380f, -0.018617f, -0.005779f, -0.013936f, -0.005585f, 0.001333f, 0.001420f, -0.004846f, 0.005762f, 0.008624f, 0.000615f, -0.001904f, 0.010986f, -0.009255f, -0.013550f, 0.008496f, 0.009674f, 0.002203f, -0.011717f, -0.013759f, -0.008235f, 0.011552f, 0.015139f, 0.002252f, -0.002194f, 0.017090f, 0.004565f, 0.008291f, 0.006942f, 0.012296f, 0.003355f, -0.001956f, -0.008920f, 0.005098f, 0.009561f, -0.019462f, 0.015593f, 0.046560f, -0.087285f, 0.048044f, -0.036791f, -0.085984f, -0.025529f, -0.021648f, -0.003108f, -0.019818f, 0.010379f, -0.023770f, -0.053355f, -0.032175f, -0.016002f, -0.004852f, 0.006039f, -0.021934f, 0.021375f, 0.041763f, 0.001475f, -0.002626f, 0.011369f, 0.002560f, -0.007873f, -0.015514f, -0.008828f, 0.011283f, 0.012328f, -0.003728f, 0.011714f, 0.051276f, 0.014027f, -0.015031f, -0.050998f, -0.008165f, 0.035849f, -0.043826f, -0.020700f, -0.016725f, 0.000411f, -0.003396f, 0.027498f, -0.009172f, - 0.003183f, 0.037957f, 0.013441f, 0.042109f, -0.006075f, -0.019985f, -0.009288f, -0.010900f, -0.011086f, 0.020260f, 0.002052f, 0.013666f, 0.025547f, -0.045305f, 0.006476f, -0.012069f, -0.028308f, -0.021333f, 0.043986f, 0.031701f, 0.001429f, -0.021687f, 0.008749f, 0.018523f, 0.001751f, 0.012774f, -0.030540f, -0.075141f, -0.034939f, -0.027604f, 0.027274f, 0.002639f, -0.003652f, -0.012820f, 0.005184f, -0.008616f, -0.023903f, -0.024743f, -0.013016f, 0.030188f, 0.022730f, -0.034056f, -0.042546f, -0.016727f, 0.002755f, 0.025521f, 0.010207f, -0.008387f, -0.011564f, -0.008905f, 0.005789f, -0.018981f, 0.002602f, -0.013031f, 0.000878f, 0.019187f, 0.020496f, 0.005276f, -0.010918f, 0.006465f, 0.014711f, -0.000712f, -0.003415f, 0.010825f, -0.015414f, 0.020939f, 0.018772f, 0.007150f, -0.000566f, -0.001115f, -0.002349f, 0.017506f, -0.007180f, -0.009617f, -0.010919f, -0.015480f, -0.015161f, 0.004551f, -0.005736f, 0.006194f, -0.004510f, 0.002958f, 0.010977f, -0.005767f, -0.011028f, -0.015976f, -0.004585f, 0.007010f, -0.011396f, 0.024482f, -0.033717f, 0.040687f, -0.002611f, -0.066148f, 0.014060f, -0.032263f, - -0.005838f, -0.005455f, -0.007057f, -0.042394f, 0.013795f, 0.001454f, 0.033705f, -0.071985f, 0.001825f, 0.034396f, 0.004895f, -0.017650f, -0.035401f, -0.003551f, 0.021330f, 0.030006f, -0.024903f, -0.009867f, 0.017240f, 0.034387f, 0.032722f, -0.031753f, -0.005708f, -0.051005f, 0.024021f, 0.024724f, 0.016387f, -0.015097f, -0.003343f, -0.014456f, -0.004764f, -0.017539f, 0.005403f, 0.035844f, -0.013026f, -0.015235f, -0.012030f, -0.021591f, 0.042132f, 0.034939f, -0.002968f, 0.049527f, -0.001771f, 0.017064f, -0.043951f, 0.035659f, 0.016711f, -0.050842f, -0.015691f, 0.056388f, 0.024203f, 0.014645f, 0.011590f, -0.027816f, -0.020788f, -0.029771f, 0.050128f, -0.026612f, 0.038807f, 0.038823f, -0.044678f, 0.103373f, -0.021955f, 0.063752f, 0.003198f, -0.015593f, -0.027580f, 0.047642f, 0.019103f, -0.038676f, -0.022713f, -0.082013f, 0.032726f, -0.012124f, 0.037570f, -0.050896f, 0.056041f, -0.043761f, 0.016723f, -0.017611f, -0.012540f, 0.035628f, 0.003666f, 0.002346f, 0.020646f, 0.013220f, -0.009192f, 0.022964f, -0.002782f, 0.005942f, -0.016641f, 0.002140f, -0.002170f, -0.011785f, -0.016762f, -0.000564f, - -0.018635f, 0.007788f, 0.008137f, -0.005584f, 0.016241f, -0.007032f, -0.009700f, -0.014821f, 0.009554f, 0.000734f, -0.002266f, -0.028111f, 0.012135f, -0.006627f, -0.032389f, -0.011582f, 0.009209f, -0.010476f, -0.016831f, 0.009879f, -0.009208f, 0.007906f, -0.017176f, 0.006673f, -0.017526f, -0.004397f, -0.002814f, 0.008003f, -0.004324f, 0.000291f, -0.005899f, -0.007432f, 0.024188f, 0.043743f, 0.002739f, -0.035139f, 0.016623f, -0.068637f, -0.019231f, -0.062265f, -0.088110f, 0.003869f, -0.034308f, 0.012135f, -0.007180f, -0.012795f, -0.033935f, -0.021957f, 0.018866f, 0.053533f, -0.044508f, -0.008479f, -0.076191f, -0.065379f, 0.017643f, 0.027525f, -0.042114f, -0.042462f, 0.002105f, 0.010587f, -0.070796f, 0.004715f, 0.000894f, 0.037458f, -0.032102f, 0.002376f, 0.029642f, -0.018702f, -0.037123f, -0.039870f, -0.020337f, -0.036261f, -0.031127f, -0.037892f, 0.053911f, -0.068227f, -0.043503f, 0.063629f, -0.002570f, 0.018683f, -0.052972f, -0.008128f, -0.015500f, 0.002410f, 0.087715f, -0.011482f, -0.002283f, 0.009753f, 0.040811f, 0.002001f, -0.039638f, -0.016286f, -0.028729f, 0.010550f, 0.105086f, 0.021592f, - -0.037760f, 0.080653f, 0.056986f, -0.050040f, 0.058796f, 0.098418f, 0.000314f, -0.036927f, 0.065736f, -0.010443f, 0.069190f, 0.063887f, 0.004768f, -0.002190f, -0.019225f, 0.044936f, 0.035164f, 0.021388f, -0.037703f, -0.011300f, -0.024506f, 0.056639f, -0.007516f, -0.037115f, -0.019070f, -0.037314f, -0.016986f, 0.039097f, 0.003870f, -0.018955f, -0.007251f, -0.023443f, -0.004549f, 0.035075f, -0.016815f, 0.009443f, -0.003813f, -0.031353f, 0.034733f, 0.005334f, 0.013715f, 0.018134f, -0.023013f, 0.008099f, 0.031916f, -0.004665f, 0.000934f, -0.016210f, -0.000399f, 0.003764f, -0.010944f, -0.008641f, 0.005796f, 0.025128f, -0.015688f, 0.010648f, -0.020837f, -0.008630f, 0.000956f, -0.005656f, 0.023323f, -0.007868f, 0.000775f, 0.003470f, 0.008385f, 0.002005f, -0.011472f, -0.001425f, -0.006590f, 0.049912f, -0.125626f, -0.074644f, -0.081853f, -0.027115f, -0.054744f, 0.067857f, 0.024817f, 0.055747f, -0.008815f, -0.105970f, -0.016891f, 0.017839f, 0.072653f, -0.002481f, 0.016374f, 0.067855f, -0.025842f, -0.048211f, 0.004310f, -0.002753f, 0.084387f, 0.055857f, -0.028489f, -0.038132f, 0.089654f, 0.006833f, - 0.044484f, 0.022265f, 0.083553f, 0.073285f, 0.055378f, 0.006373f, -0.048414f, -0.025502f, -0.037202f, 0.070860f, -0.034705f, -0.047778f, -0.027172f, 0.002932f, -0.002940f, 0.031517f, -0.031577f, 0.011540f, -0.144206f, 0.016403f, 0.021197f, 0.023863f, -0.060967f, -0.055228f, 0.016008f, 0.050733f, -0.062954f, 0.024343f, -0.036316f, -0.027151f, -0.042706f, -0.003494f, 0.042809f, -0.029288f, 0.047130f, -0.012114f, 0.017689f, -0.089112f, -0.058689f, -0.002100f, 0.046139f, 0.033299f, -0.066270f, -0.069898f, -0.033852f, 0.006667f, 0.072863f, 0.030641f, -0.008542f, -0.052098f, -0.061590f, -0.020436f, 0.011119f, 0.052512f, -0.006102f, 0.017392f, 0.033677f, -0.013497f, 0.011179f, -0.034874f, 0.020033f, 0.012308f, -0.023105f, -0.018002f, 0.000305f, 0.026848f, -0.027533f, -0.001180f, 0.041293f, 0.006569f, 0.004596f, -0.000186f, -0.013956f, -0.029424f, 0.005742f, -0.032683f, 0.036318f, 0.032378f, 0.023027f, 0.002628f, -0.004856f, -0.038334f, 0.022169f, -0.008055f, 0.042513f, -0.011171f, -0.052102f, -0.031370f, -0.008177f, 0.048366f, 0.011774f, -0.011004f, -0.007005f, -0.039918f, -0.021043f, -0.016480f, - -0.004463f, 0.021410f, 0.019135f, -0.040404f, -0.024068f, -0.025083f, -0.025991f, -0.009471f, 0.005186f, -0.004264f, -0.015873f, -0.025157f, -0.027176f, 0.002261f, -0.003717f, -0.013323f, 0.023534f, 0.160223f, 0.017735f, -0.087827f, -0.192797f, -0.019118f, 0.116461f, 0.027411f, 0.051549f, -0.006861f, 0.071342f, -0.013352f, 0.032093f, -0.017822f, 0.040977f, 0.054387f, 0.031136f, -0.028735f, -0.062821f, 0.073832f, 0.086892f, -0.020872f, -0.083541f, -0.053214f, 0.010106f, 0.047768f, 0.017639f, 0.016093f, 0.004359f, 0.011012f, 0.006874f, 0.010894f, -0.015480f, -0.099828f, 0.000606f, 0.059148f, 0.047865f, -0.020919f, 0.005873f, 0.035798f, 0.082994f, 0.048701f, 0.041256f, -0.049824f, -0.032597f, -0.009820f, -0.007806f, -0.074791f, 0.052925f, 0.029218f, 0.054925f, 0.108476f, -0.055557f, -0.037837f, -0.004040f, -0.032031f, -0.025411f, -0.049609f, 0.086309f, -0.053237f, -0.054805f, -0.058862f, -0.019027f, 0.107499f, 0.028836f, 0.041000f, -0.001387f, -0.010581f, -0.024290f, 0.066321f, 0.055655f, -0.029466f, -0.062737f, 0.020621f, -0.007450f, 0.024883f, -0.058800f, -0.024589f, -0.033861f, -0.046552f, - 0.028386f, 0.043668f, 0.009219f, 0.000437f, -0.023241f, 0.012113f, -0.008622f, 0.040514f, 0.004100f, -0.015573f, -0.007542f, 0.012684f, 0.027525f, 0.028277f, -0.016443f, 0.017114f, 0.010247f, 0.008310f, -0.000715f, -0.032596f, -0.003494f, -0.026656f, -0.009564f, 0.000337f, 0.004839f, 0.007497f, 0.009662f, 0.009430f, 0.027906f, 0.039401f, 0.036722f, -0.004338f, -0.008477f, 0.003623f, -0.017335f, 0.021315f, -0.024571f, -0.003948f, 0.020628f, -0.002144f, -0.004632f, -0.041423f, 0.020537f, -0.041311f, 0.013718f, -0.009935f, 0.006614f, -0.004376f, 0.004788f, -0.002731f, -0.025005f, 0.013267f, 0.012516f, -0.002885f, 0.008427f, -0.002200f, 0.007170f, -0.004070f, -0.006647f, -0.001947f, -0.002235f, 0.000722f, -0.001476f, 0.000820f, 0.000708f, -0.009116f, -0.003978f, -0.002212f, 0.005146f, 0.001173f, -0.002672f, -0.005279f, -0.005560f, -0.000279f, 0.001270f, -0.002679f, 0.000099f, -0.003515f, -0.001077f, -0.003923f, -0.046138f, 0.003610f, 0.124484f, 0.094912f, 0.015428f, 0.006717f, -0.066864f, -0.130305f, -0.113034f, -0.056141f, 0.093571f, 0.101243f, 0.106195f, 0.057969f, -0.015067f, -0.067979f, - -0.061780f, -0.041520f, 0.027041f, 0.040614f, 0.072797f, 0.005928f, -0.054631f, -0.047315f, -0.009756f, -0.047411f, -0.021310f, 0.009439f, 0.075358f, 0.106140f, 0.069695f, 0.032244f, 0.030749f, -0.067814f, -0.007530f, -0.135535f, -0.150187f, -0.095169f, -0.045034f, -0.042208f, 0.070792f, 0.109415f, 0.122621f, 0.109613f, 0.096098f, 0.038761f, 0.006842f, -0.047122f, -0.012333f, -0.075370f, -0.131622f, -0.011865f, 0.012690f, 0.011886f, 0.044212f, 0.025165f, 0.044849f, -0.148820f, -0.080396f, -0.053850f, -0.085249f, -0.037370f, 0.063832f, -0.038875f, 0.043127f, 0.004850f, -0.038607f, 0.030435f, -0.032188f, 0.034336f, 0.041696f, -0.032555f, -0.063020f, -0.132063f, -0.126474f, -0.095868f, 0.046857f, 0.015192f, -0.017700f, 0.023306f, 0.007314f, -0.000740f, -0.060120f, -0.043789f, -0.112270f, -0.038628f, -0.041085f, -0.005789f, 0.082916f, 0.086891f, 0.013392f, 0.044238f, -0.026813f, -0.062422f, -0.109183f, -0.073596f, -0.067254f, -0.003715f, 0.034052f, 0.017823f, 0.027857f, 0.028039f, -0.019679f, 0.016439f, -0.018522f, 0.017093f, 0.005191f, -0.002097f, -0.003433f, 0.013845f, 0.014094f, 0.027714f, - -0.006044f, -0.008358f, 0.027943f, 0.024080f, 0.005522f, -0.010208f, 0.021904f, -0.222231f, -0.113312f, -0.059325f, 0.074965f, 0.017128f, 0.285121f, 0.291806f, 0.220356f, 0.284497f, 0.298538f, 0.270846f, 0.194800f, 0.176424f, 0.196205f, 0.077832f, -0.011397f, -0.121426f, -0.187160f, -0.259147f, -0.251374f, -0.375234f, -0.227349f, -0.148208f, -0.117359f, -0.167385f, -0.087756f, -0.024268f, -0.125097f, -0.097461f, -0.102547f, -0.023373f, -0.061492f, -0.022118f, -0.083333f, -0.042569f, 0.050034f, 0.051451f, 0.015635f, -0.015558f, 0.054507f, 0.043840f, -0.126202f, 0.026160f, 0.085699f, 0.187035f, 0.137500f, 0.178065f, 0.073308f, 0.070694f, 0.297068f, 0.160629f, 0.303990f, 0.101616f, 0.285120f, 0.196606f, 0.248957f, 0.335394f, 0.318008f, 0.257602f, 0.289607f, 0.321400f, 0.350106f, 0.298742f, 0.345119f, 0.235235f, 0.350065f, 0.280819f, 0.249451f, 0.265665f, 0.145309f, 0.297430f, 0.144171f, 0.087283f, -0.109235f, 0.007136f, -0.161467f, -0.181781f, -0.277701f, -0.328166f, -0.504122f, -0.492519f, -0.464995f, -0.435067f, -0.409866f, -0.346590f, -0.422600f, -0.520425f, -0.513039f, -0.425761f, - -0.450463f, -0.423828f, -0.425086f, -0.363005f, -0.395098f, -0.379059f, -0.282606f, -0.312342f, -0.239815f, -0.224178f, -0.206476f, -0.131838f, -0.170092f, -0.038962f, -0.063198f, 0.028992f, 0.039480f, 0.123737f, 0.183310f, 0.191895f, 0.221852f, 0.196800f, 0.296908f, 0.336337f, 0.333461f, 0.385140f, 0.402448f, 0.398528f, 0.304036f, 0.271222f, 0.238206f, 0.220615f, 0.214999f, 0.220478f, 0.207410f, 0.157691f, 0.101704f, 0.115314f, 0.089239f, 0.069174f, 0.046221f, -0.036227f, -0.046909f, -0.049553f, -0.060392f, -0.074034f, -0.083122f, -0.058807f, -0.064491f, -0.051865f, -0.052717f, -0.046031f, -0.033083f, -0.039891f, -0.032568f, -0.031966f, -0.038794f, -0.036048f, -0.039764f, -0.031794f, -0.026134f, -0.035274f, -0.040287f, -0.018333f, -0.008959f, -0.012630f, -0.011381f, -0.002221f, -0.003051f, -0.006890f, -0.007137f, 0.002994f, 0.014184f, 0.015016f, 0.015497f, 0.015411f, 0.014476f, 0.020568f, 0.021677f, 0.021804f, 0.015012f, 0.010608f, 0.008200f, 0.013707f, 0.014765f, 0.008746f, 0.002458f, 0.002927f, -0.001934f, 0.006308f, 0.004969f, 0.005228f, 0.003786f, 0.005244f, 0.004422f, 0.004419f, - 0.010080f, 0.020473f, 0.014231f, 0.014951f, 0.013249f, 0.016498f, 0.015464f, 0.011830f, 0.007431f, 0.007321f, 0.003240f, 0.002788f, -0.004008f, -0.007779f, -0.014667f, -0.013410f, -0.021740f, -0.027109f, -0.029483f, -0.030441f, -0.035267f, -0.035134f, -0.036965f, -0.036481f, -0.035749f, -0.038139f, -0.038881f, -0.037247f, -0.033581f, -0.029773f, -0.027585f, -0.019965f, -0.018336f, -0.015118f, -0.014570f, -0.007194f, -0.004565f, -0.000040f, 0.001958f, 0.005141f, 0.006043f, 0.009922f, 0.010489f, 0.011333f, 0.008801f, 0.009171f, 0.006905f, 0.006820f, 0.004413f, 0.004483f, 0.002400f, 0.002545f, 0.000679f, 0.000993f}, - {-0.014287f, -0.028302f, -0.004948f, 0.000375f, -0.006480f, -0.013320f, -0.004390f, 0.009758f, -0.015657f, -0.008654f, -0.005181f, -0.003069f, 0.004978f, -0.002239f, 0.005542f, 0.002532f, 0.004854f, -0.000543f, 0.006008f, -0.005241f, 0.000981f, -0.002301f, 0.001139f, 0.015105f, -0.003212f, -0.000933f, -0.007486f, 0.009336f, 0.005800f, 0.004491f, 0.011655f, -0.005960f, -0.003383f, 0.003983f, 0.010436f, -0.002817f, -0.000693f, -0.008424f, -0.009224f, -0.006173f, 0.006592f, -0.008193f, -0.007021f, -0.000888f, 0.009388f, -0.012701f, -0.002698f, -0.010612f, -0.005144f, -0.003037f, 0.001464f, -0.000956f, -0.007603f, 0.009752f, 0.001668f, 0.008776f, -0.003544f, -0.002225f, -0.010930f, -0.000237f, -0.003831f, -0.004123f, 0.006306f, 0.003542f, -0.001954f, 0.003392f, 0.006978f, -0.001985f, 0.003001f, -0.004993f, -0.002878f, -0.001207f, -0.004705f, 0.004184f, 0.001461f, 0.003186f, -0.007467f, 0.005365f, 0.003093f, 0.012101f, 0.007201f, -0.001980f, -0.007684f, -0.000626f, 0.001680f, 0.000958f, 0.002396f, -0.000354f, -0.002600f, 0.000107f, -0.001765f, 0.000017f, -0.002137f, 0.000767f, -0.002079f, -0.000136f, - 0.002336f, 0.000790f, 0.001208f, -0.001488f, -0.001043f, 0.001108f, 0.001606f, 0.000731f, -0.000234f, 0.000122f, -0.000030f, 0.001005f, -0.023314f, -0.008334f, 0.006682f, -0.006135f, -0.002792f, -0.002578f, 0.003142f, -0.001158f, -0.006162f, 0.009728f, 0.008656f, 0.002927f, -0.001106f, 0.004526f, -0.011973f, -0.001719f, -0.011832f, -0.005920f, 0.008702f, -0.001421f, 0.001541f, -0.001159f, -0.001368f, 0.000233f, 0.018224f, 0.016732f, 0.007446f, 0.008950f, 0.010554f, -0.002001f, -0.001227f, -0.003600f, 0.009312f, -0.000869f, -0.003547f, 0.002661f, -0.005440f, 0.003769f, 0.006701f, -0.003387f, 0.007556f, 0.008590f, 0.016667f, -0.006478f, -0.007874f, 0.007187f, -0.004316f, 0.000287f, 0.003507f, -0.009644f, 0.000577f, -0.005021f, -0.005692f, 0.012898f, 0.007544f, 0.009300f, -0.005291f, -0.006916f, 0.004891f, -0.008059f, 0.005694f, 0.024845f, 0.001396f, 0.001760f, 0.005565f, 0.002481f, 0.002281f, 0.014171f, -0.007555f, -0.001852f, 0.002585f, 0.001905f, -0.007033f, -0.005098f, -0.007179f, -0.003340f, -0.002628f, 0.006555f, -0.001111f, 0.006585f, 0.006672f, -0.006630f, -0.007175f, -0.001776f, - 0.004520f, 0.006357f, -0.007522f, -0.001387f, -0.002240f, -0.005089f, -0.000636f, -0.004815f, 0.001269f, -0.000246f, 0.002609f, -0.001415f, 0.000998f, -0.001817f, -0.000489f, -0.001376f, 0.001143f, -0.006768f, 0.007331f, 0.011906f, -0.005739f, 0.005911f, 0.018647f, 0.006271f, 0.004235f, -0.013050f, 0.010789f, 0.002866f, -0.016862f, 0.007149f, -0.004764f, -0.010082f, 0.004025f, -0.001389f, 0.003877f, 0.009787f, -0.010308f, -0.010770f, -0.004842f, 0.014678f, 0.000368f, 0.007292f, 0.015141f, -0.022569f, -0.018258f, 0.002977f, 0.011085f, -0.008149f, 0.000678f, 0.015089f, 0.003847f, -0.001932f, -0.004574f, 0.018054f, 0.002169f, -0.004376f, 0.002487f, -0.016349f, 0.001823f, -0.009009f, 0.008301f, 0.001476f, 0.008819f, -0.004442f, -0.002255f, 0.004021f, 0.000233f, 0.001182f, 0.000477f, 0.008515f, 0.006807f, -0.009303f, 0.005304f, 0.007539f, -0.012829f, 0.001544f, -0.005799f, 0.002422f, -0.002967f, -0.009871f, 0.000128f, 0.008548f, 0.007378f, 0.016475f, -0.010225f, 0.012761f, -0.008458f, -0.001675f, 0.007525f, -0.008228f, -0.012324f, -0.004423f, 0.000551f, -0.000756f, -0.000658f, -0.001307f, - 0.002406f, 0.005266f, -0.007181f, -0.000071f, 0.003377f, -0.000636f, 0.002896f, -0.005839f, -0.003392f, -0.002303f, -0.004336f, 0.001286f, -0.000961f, -0.003354f, 0.001824f, 0.001937f, -0.002854f, -0.004305f, -0.000256f, -0.000986f, 0.004435f, -0.000202f, -0.000756f, 0.000838f, 0.000932f, -0.000757f, -0.001364f, 0.003022f, 0.000971f, -0.002379f, -0.001240f, -0.001817f, 0.000244f, 0.003093f, 0.000277f, -0.001055f, 0.037600f, 0.016832f, 0.022784f, -0.001859f, -0.006280f, -0.008225f, -0.008214f, 0.004465f, -0.006895f, 0.010469f, -0.001169f, 0.014371f, 0.000890f, 0.007598f, 0.009465f, 0.007290f, 0.006272f, 0.008269f, -0.027898f, -0.008264f, -0.002603f, -0.005893f, -0.005144f, -0.008796f, -0.019865f, 0.000889f, 0.013650f, -0.008393f, 0.008205f, -0.006740f, -0.009901f, -0.007495f, 0.001157f, -0.006325f, -0.002322f, -0.006485f, -0.000424f, 0.016433f, 0.000904f, 0.007388f, 0.010416f, 0.013512f, -0.006319f, 0.003167f, -0.002993f, -0.010424f, 0.011872f, -0.006622f, -0.000452f, -0.010316f, 0.007577f, -0.000096f, 0.000205f, -0.002844f, -0.004771f, 0.003501f, 0.010614f, -0.004432f, 0.005996f, 0.005652f, - 0.004783f, 0.018199f, -0.018268f, -0.007731f, 0.000481f, -0.010073f, -0.013025f, -0.005175f, -0.015949f, 0.002405f, 0.018783f, -0.012924f, -0.006131f, -0.014760f, 0.000993f, -0.004642f, -0.007025f, -0.017304f, 0.010215f, 0.013294f, 0.005298f, 0.009293f, -0.004673f, 0.001503f, -0.003452f, 0.003860f, 0.000205f, 0.009199f, -0.002337f, 0.003965f, -0.000145f, -0.002342f, 0.003243f, 0.002209f, 0.004256f, 0.003544f, -0.000559f, 0.000858f, 0.002349f, 0.000944f, 0.001843f, -0.000142f, -0.001713f, -0.003307f, 0.001698f, 0.000878f, -0.002227f, 0.001649f, 0.001855f, -0.000549f, 0.000836f, 0.002197f, -0.000618f, -0.001961f, -0.000691f, -0.000595f, 0.011549f, 0.016785f, -0.009360f, 0.008785f, -0.007665f, -0.003552f, -0.003123f, -0.020566f, 0.014889f, -0.004281f, -0.002335f, 0.023936f, 0.014696f, 0.016027f, -0.006617f, 0.000698f, 0.002709f, -0.003587f, 0.005169f, -0.012075f, -0.000461f, -0.008238f, 0.009596f, -0.009382f, -0.006660f, -0.000915f, 0.001518f, -0.011605f, 0.002106f, 0.001314f, 0.015202f, 0.000183f, -0.021116f, 0.012155f, 0.011175f, 0.016200f, -0.002711f, 0.004129f, -0.011748f, -0.008679f, - -0.003813f, -0.008425f, 0.003181f, 0.002283f, -0.003321f, -0.001211f, 0.008618f, 0.013729f, -0.018867f, -0.003982f, -0.000168f, -0.007612f, -0.008153f, 0.012423f, -0.010115f, 0.004726f, -0.009933f, -0.012883f, -0.009800f, -0.006336f, 0.004304f, 0.001874f, 0.022971f, -0.003859f, -0.006380f, 0.006956f, -0.007122f, -0.001976f, -0.006343f, 0.006507f, -0.005885f, 0.008369f, -0.004333f, -0.003769f, 0.005537f, 0.013956f, 0.003684f, -0.012993f, -0.000103f, -0.006375f, -0.013418f, 0.003811f, 0.009183f, -0.003056f, 0.001981f, 0.003322f, 0.000274f, -0.001369f, 0.004633f, 0.000154f, -0.005557f, 0.000096f, -0.002127f, -0.000946f, -0.002986f, 0.004456f, -0.001240f, -0.003557f, -0.004071f, 0.000595f, 0.003867f, -0.001771f, -0.000481f, -0.005372f, 0.000300f, 0.001027f, 0.001622f, -0.000931f, -0.004805f, -0.002340f, 0.003816f, -0.001594f, -0.005175f, 0.002055f, -0.028811f, 0.027714f, 0.014773f, -0.016433f, -0.016706f, 0.006884f, 0.021878f, -0.000257f, 0.006368f, 0.025621f, 0.008499f, 0.007754f, -0.004393f, 0.013380f, 0.012101f, 0.014089f, -0.025376f, -0.015485f, -0.015426f, 0.012174f, 0.010379f, 0.013382f, - 0.000559f, -0.015393f, 0.006271f, -0.002294f, 0.006907f, -0.022153f, 0.008498f, 0.013497f, -0.010497f, 0.005862f, 0.010799f, 0.003092f, -0.000410f, 0.002376f, -0.003575f, 0.019477f, 0.013122f, 0.010439f, 0.000303f, 0.006793f, 0.014914f, -0.013355f, -0.007293f, 0.000696f, 0.019747f, 0.012725f, 0.007716f, -0.014910f, 0.000462f, 0.010188f, 0.011755f, -0.004140f, 0.003582f, 0.011597f, 0.014237f, 0.004549f, 0.013157f, 0.005282f, -0.001573f, -0.012205f, -0.000170f, -0.020343f, -0.008434f, -0.009750f, 0.001613f, 0.006731f, -0.011888f, -0.004764f, -0.021630f, 0.009381f, -0.006074f, -0.000145f, 0.011333f, 0.016668f, 0.020034f, 0.002507f, -0.002188f, -0.012483f, -0.003827f, 0.006383f, 0.006781f, -0.013249f, 0.004065f, -0.005963f, 0.004761f, 0.000886f, -0.004572f, 0.000081f, 0.002269f, -0.004207f, 0.001782f, -0.001118f, -0.005115f, -0.002588f, -0.003258f, 0.003149f, 0.003754f, -0.000690f, -0.003013f, 0.002064f, -0.002339f, -0.001626f, -0.004005f, -0.000561f, -0.000942f, -0.004568f, 0.003514f, 0.002847f, 0.003616f, 0.024517f, 0.007478f, -0.003971f, -0.011197f, -0.028701f, -0.014148f, 0.017873f, - -0.006343f, -0.026364f, -0.007224f, -0.004024f, 0.003924f, 0.014870f, 0.022298f, -0.001120f, 0.006476f, -0.004941f, 0.011051f, -0.012318f, -0.013451f, -0.014144f, -0.025610f, 0.013817f, 0.007639f, -0.021091f, 0.000538f, -0.015348f, -0.006051f, 0.013939f, 0.007662f, 0.011414f, -0.003268f, -0.002746f, -0.003770f, 0.024418f, 0.018740f, 0.020182f, -0.009197f, -0.016879f, 0.013401f, -0.002099f, -0.006163f, 0.017419f, 0.002958f, 0.017141f, -0.000649f, 0.009670f, -0.012015f, -0.000426f, 0.008409f, -0.036122f, -0.005588f, 0.001943f, -0.026696f, 0.007091f, -0.006886f, 0.025005f, 0.015711f, -0.015012f, 0.001092f, 0.022846f, -0.002457f, 0.011733f, -0.007717f, 0.015761f, -0.007349f, 0.003261f, -0.006119f, 0.000566f, 0.010798f, -0.014573f, 0.015818f, 0.008349f, 0.009039f, 0.002786f, 0.021059f, -0.008131f, -0.024326f, 0.004374f, 0.016689f, -0.007768f, -0.015149f, -0.010679f, -0.007789f, 0.017555f, 0.000270f, -0.007266f, 0.000619f, 0.000601f, -0.003482f, -0.003149f, 0.000987f, 0.003525f, -0.002046f, -0.002096f, -0.001369f, 0.003906f, -0.002050f, -0.006350f, 0.001725f, -0.007049f, 0.006511f, 0.004483f, - -0.000188f, -0.000559f, 0.001662f, -0.001923f, 0.002827f, 0.000467f, 0.001926f, 0.000570f, 0.000798f, 0.007864f, 0.002578f, -0.003848f, 0.002066f, 0.001087f, 0.003522f, -0.000955f, 0.000786f, -0.058481f, -0.012391f, 0.031395f, -0.025356f, -0.009166f, 0.026636f, 0.010054f, -0.008480f, 0.002829f, -0.022101f, 0.019702f, -0.002529f, -0.035578f, 0.002514f, -0.001867f, 0.013414f, 0.013196f, -0.007109f, -0.027879f, -0.011985f, -0.010652f, 0.000547f, -0.014876f, -0.008215f, -0.018968f, -0.005499f, 0.020639f, -0.017020f, -0.008542f, -0.006580f, -0.011059f, -0.011711f, -0.015843f, 0.010737f, 0.002164f, 0.013366f, 0.002316f, -0.009980f, -0.015362f, -0.015201f, -0.003156f, 0.009998f, 0.014826f, -0.005330f, -0.013593f, 0.014148f, 0.005872f, -0.021390f, -0.023792f, -0.048500f, -0.004336f, -0.015557f, -0.009415f, 0.007085f, 0.007298f, 0.004336f, 0.021684f, -0.002367f, -0.010454f, -0.001413f, -0.011264f, 0.024695f, 0.013109f, -0.004933f, 0.013178f, -0.014068f, 0.006873f, 0.005591f, -0.013724f, -0.006113f, -0.012320f, 0.008622f, 0.006058f, -0.022647f, 0.014757f, 0.022647f, -0.001593f, -0.001228f, -0.023160f, - -0.009117f, 0.010047f, -0.007305f, 0.006597f, 0.022436f, -0.007674f, 0.004818f, 0.002164f, 0.001601f, -0.007273f, 0.001172f, -0.001290f, -0.009593f, -0.005813f, -0.001024f, 0.003216f, 0.000380f, 0.002499f, -0.010009f, 0.001028f, -0.005443f, 0.002352f, -0.005875f, -0.005658f, -0.003536f, -0.000491f, 0.001057f, -0.004369f, 0.001110f, 0.002250f, -0.000781f, 0.000839f, 0.003993f, 0.002191f, -0.008018f, -0.005317f, -0.002650f, 0.000656f, 0.002708f, -0.001426f, 0.002745f, 0.000425f, 0.002295f, -0.001954f, 0.000397f, 0.010068f, 0.039184f, -0.018484f, 0.015130f, -0.009858f, 0.000294f, 0.021899f, -0.006031f, -0.010251f, -0.004855f, -0.002412f, 0.004308f, 0.014787f, 0.051528f, -0.003148f, 0.003485f, 0.013857f, 0.003714f, -0.000089f, -0.023514f, -0.025214f, 0.004241f, 0.003083f, -0.015228f, -0.008301f, -0.003193f, 0.013854f, -0.005866f, 0.002437f, 0.000093f, 0.005876f, -0.005981f, 0.029546f, 0.017003f, -0.014254f, 0.016847f, 0.014568f, -0.017635f, 0.002857f, 0.008122f, 0.005681f, -0.004591f, -0.006417f, 0.025302f, -0.022065f, 0.009652f, 0.027213f, -0.009149f, 0.003136f, 0.018069f, -0.002210f, - 0.015772f, 0.008153f, 0.000675f, 0.008147f, 0.013597f, 0.017823f, 0.011823f, 0.001199f, -0.000226f, -0.012747f, -0.013369f, 0.000252f, 0.001973f, -0.043662f, 0.028783f, -0.006925f, -0.012979f, -0.015344f, -0.031375f, -0.036208f, -0.022899f, 0.004105f, 0.018243f, -0.006774f, 0.002649f, -0.003159f, 0.018133f, -0.006855f, -0.013862f, 0.007885f, 0.004702f, -0.006217f, 0.002630f, 0.011811f, -0.011207f, 0.002080f, -0.014373f, -0.005215f, -0.006200f, 0.003312f, -0.001272f, 0.007382f, 0.005192f, 0.001374f, -0.001687f, 0.003643f, 0.005666f, -0.000359f, -0.010285f, 0.005789f, -0.000073f, 0.008941f, 0.009213f, 0.004139f, -0.003951f, 0.007721f, 0.002184f, -0.001475f, 0.000169f, 0.000250f, -0.006732f, 0.007757f, -0.000291f, -0.005491f, 0.008115f, 0.015118f, -0.002596f, -0.003477f, 0.008310f, -0.003306f, -0.005047f, -0.002249f, 0.007230f, 0.052779f, 0.052520f, -0.001260f, -0.043894f, 0.008765f, 0.008719f, -0.004779f, 0.011221f, 0.006799f, 0.003602f, -0.000264f, -0.007598f, 0.042866f, 0.007678f, -0.006617f, -0.047685f, -0.026454f, 0.011023f, -0.002710f, -0.016701f, -0.028235f, 0.003798f, 0.005070f, - 0.007137f, -0.006857f, -0.031394f, -0.033065f, 0.035933f, 0.034417f, 0.010497f, 0.031628f, -0.026993f, 0.003895f, 0.013897f, -0.005408f, -0.017170f, -0.030344f, -0.015286f, 0.005655f, -0.001450f, -0.014108f, 0.014619f, 0.000526f, 0.014186f, 0.011873f, 0.000653f, -0.032642f, -0.019263f, -0.015221f, -0.002798f, 0.003632f, 0.004207f, -0.005346f, -0.009450f, 0.002513f, 0.005170f, -0.029164f, -0.007550f, 0.005058f, 0.006473f, -0.013107f, -0.036934f, -0.008342f, -0.009391f, 0.027417f, -0.001199f, 0.012475f, -0.012445f, -0.009086f, -0.016614f, -0.018157f, -0.010925f, 0.003219f, -0.001524f, 0.023056f, -0.013700f, 0.004205f, 0.026212f, -0.001591f, 0.013020f, 0.012044f, 0.025459f, 0.005935f, -0.007587f, -0.012869f, -0.011680f, -0.004269f, 0.015331f, 0.002640f, 0.015455f, 0.008544f, -0.001376f, -0.000175f, 0.000611f, 0.001508f, -0.007114f, -0.008485f, -0.000130f, -0.001922f, -0.000995f, 0.002773f, -0.001849f, 0.002223f, -0.010296f, -0.002123f, 0.006068f, -0.000132f, 0.003778f, -0.017122f, -0.002108f, -0.000470f, -0.003553f, 0.003776f, 0.002540f, 0.002451f, 0.002856f, 0.004185f, 0.004253f, 0.004822f, - -0.001691f, -0.007815f, 0.009340f, -0.005957f, 0.022724f, -0.011617f, 0.003843f, -0.008719f, 0.001614f, 0.006151f, -0.014556f, -0.009603f, -0.025863f, -0.028282f, -0.018829f, -0.007175f, -0.001469f, 0.000843f, -0.015895f, -0.014440f, -0.029640f, 0.014305f, -0.029708f, -0.037880f, 0.024372f, -0.022659f, -0.029182f, 0.027138f, 0.004949f, -0.005970f, 0.028790f, 0.016849f, -0.022703f, 0.020940f, -0.057598f, -0.003759f, -0.014947f, -0.006005f, -0.027186f, 0.047363f, 0.021922f, -0.013714f, 0.006733f, 0.015011f, -0.010096f, 0.016559f, 0.000037f, 0.000850f, -0.013713f, 0.016083f, 0.018175f, 0.024982f, -0.039165f, -0.001234f, -0.000493f, 0.011651f, -0.017885f, -0.006619f, -0.018204f, -0.017546f, 0.030720f, 0.010126f, -0.023428f, 0.012068f, -0.014589f, -0.015100f, -0.025148f, -0.045145f, 0.011570f, 0.030020f, 0.001774f, 0.030238f, 0.040648f, -0.002323f, -0.017022f, -0.038671f, 0.002755f, -0.004860f, 0.002207f, -0.009572f, 0.007736f, -0.016937f, 0.036344f, 0.020385f, 0.031752f, 0.006599f, -0.004240f, -0.009643f, 0.012785f, 0.015225f, 0.006519f, -0.002660f, -0.004888f, 0.001535f, 0.016929f, -0.002941f, - 0.006914f, -0.010772f, 0.004375f, -0.017867f, 0.001427f, 0.002315f, -0.008235f, 0.017034f, 0.009466f, -0.004261f, -0.011482f, -0.009653f, -0.003563f, -0.000810f, 0.005089f, -0.011318f, 0.002590f, 0.002133f, -0.001202f, -0.007794f, 0.002612f, -0.017013f, -0.003844f, -0.003969f, -0.005162f, 0.003043f, -0.000707f, -0.033012f, 0.004632f, -0.073339f, -0.048868f, -0.035446f, 0.019293f, 0.036016f, -0.051474f, 0.011757f, 0.036904f, 0.022404f, -0.000282f, 0.013180f, 0.034809f, -0.016119f, -0.001825f, -0.010309f, 0.001262f, -0.022702f, 0.016212f, 0.000091f, 0.002131f, 0.005660f, 0.046579f, -0.002588f, -0.020200f, -0.020153f, 0.011288f, 0.033872f, -0.013535f, -0.034793f, 0.010499f, 0.034376f, 0.020453f, -0.004914f, 0.017054f, 0.011112f, 0.016440f, 0.003356f, 0.013964f, 0.023239f, -0.002687f, -0.039840f, 0.002230f, 0.011966f, -0.036861f, -0.027336f, 0.036544f, 0.028235f, -0.027780f, -0.018609f, 0.009113f, -0.002125f, 0.018052f, 0.043897f, -0.009242f, -0.008791f, 0.008642f, -0.002530f, 0.016591f, 0.007918f, -0.015842f, -0.012889f, -0.005823f, 0.012681f, 0.011997f, -0.011997f, -0.031740f, -0.005894f, - -0.047889f, 0.045302f, 0.007934f, -0.008610f, 0.004589f, 0.018625f, -0.000724f, -0.021411f, 0.008114f, -0.009452f, -0.013469f, 0.010470f, -0.002623f, -0.021190f, -0.034180f, -0.011500f, -0.013784f, 0.028188f, -0.004278f, 0.009133f, 0.005671f, 0.003227f, -0.002416f, -0.002723f, 0.004699f, -0.007887f, 0.001504f, 0.010049f, -0.000978f, -0.005638f, -0.002819f, -0.023728f, -0.006983f, -0.000878f, -0.004140f, -0.017340f, -0.015079f, -0.006688f, -0.003240f, -0.001782f, -0.004750f, -0.001147f, 0.000564f, 0.012636f, 0.004833f, -0.002356f, -0.004949f, 0.001790f, -0.004343f, -0.004131f, 0.008639f, -0.004439f, -0.009698f, -0.003156f, -0.007234f, 0.000679f, -0.008962f, 0.000044f, 0.006416f, 0.001716f, -0.008792f, -0.003055f, -0.028140f, -0.001306f, 0.004994f, -0.034698f, -0.008983f, 0.025956f, 0.033977f, 0.023895f, 0.063305f, 0.038049f, 0.057382f, 0.021317f, 0.015225f, -0.029628f, 0.032275f, -0.010860f, -0.003468f, -0.023724f, -0.015615f, 0.031013f, -0.010005f, 0.070386f, 0.032929f, 0.020299f, -0.003594f, 0.016267f, -0.010902f, -0.032879f, -0.016440f, -0.020406f, 0.015029f, -0.019237f, -0.000242f, -0.020580f, - 0.012251f, 0.028657f, 0.026065f, -0.001687f, 0.037608f, 0.031260f, 0.001681f, -0.010853f, -0.014061f, -0.025594f, -0.008581f, 0.058989f, 0.023099f, 0.067906f, -0.021634f, 0.000390f, -0.002057f, 0.015876f, 0.054720f, 0.018721f, 0.001564f, 0.035079f, 0.040390f, 0.042449f, -0.003572f, -0.024973f, -0.008934f, -0.006839f, -0.006951f, 0.028180f, 0.019461f, 0.026753f, 0.040987f, -0.025287f, 0.061852f, -0.041246f, -0.077294f, -0.011894f, -0.023903f, 0.015928f, 0.037754f, 0.018447f, -0.020640f, -0.002017f, -0.022435f, -0.016882f, -0.010940f, 0.000423f, 0.031311f, 0.005368f, -0.008437f, 0.004997f, 0.002659f, 0.009440f, 0.010228f, 0.006901f, 0.012480f, 0.003460f, 0.007985f, 0.002957f, 0.008826f, 0.000718f, -0.024626f, -0.009473f, 0.000111f, -0.023138f, 0.002952f, -0.024160f, -0.012418f, -0.014583f, -0.013275f, -0.011332f, -0.008051f, -0.003042f, 0.001828f, 0.007223f, 0.026080f, 0.003716f, -0.015801f, 0.007677f, 0.001965f, 0.023444f, -0.003935f, 0.010264f, 0.000275f, 0.000555f, -0.011971f, 0.003198f, 0.037221f, 0.059285f, -0.029283f, -0.024033f, 0.021963f, -0.018500f, -0.002810f, -0.009050f, - 0.008490f, 0.025475f, 0.028608f, 0.040873f, -0.045200f, 0.050551f, -0.018122f, 0.003694f, -0.023308f, 0.020360f, 0.039218f, 0.014814f, 0.007548f, 0.001574f, 0.047675f, 0.010481f, -0.001230f, -0.016820f, -0.006892f, -0.049838f, -0.006247f, -0.024880f, -0.058210f, 0.003732f, -0.003208f, 0.022617f, -0.060646f, -0.013253f, 0.014602f, 0.021216f, 0.051045f, -0.015307f, 0.015072f, 0.026335f, 0.004467f, -0.008452f, 0.014631f, -0.014888f, -0.003191f, -0.077551f, 0.006959f, -0.033835f, -0.037869f, -0.043887f, 0.017440f, -0.069607f, 0.022755f, -0.026915f, -0.034001f, -0.047777f, 0.042230f, 0.044300f, 0.045026f, 0.008222f, 0.008438f, 0.041520f, -0.058530f, -0.006275f, -0.017900f, 0.023313f, -0.069589f, -0.024541f, -0.007008f, 0.021874f, 0.017950f, 0.013864f, 0.028394f, -0.026595f, 0.010521f, -0.032001f, -0.009092f, -0.019377f, -0.007193f, -0.006903f, 0.001068f, -0.030346f, 0.013844f, 0.018287f, -0.003028f, 0.000846f, -0.014435f, -0.005051f, 0.014573f, -0.019736f, -0.000181f, 0.009008f, -0.023649f, 0.010485f, -0.021170f, -0.000164f, 0.013607f, 0.002768f, -0.017317f, -0.011925f, 0.006996f, -0.010157f, - 0.011095f, 0.007236f, 0.012767f, -0.001998f, -0.015140f, 0.028925f, -0.013693f, -0.007389f, -0.018723f, 0.012721f, -0.006226f, 0.001521f, -0.017353f, 0.002022f, -0.021131f, -0.003705f, 0.015897f, -0.005254f, -0.008834f, -0.022701f, 0.002830f, 0.002711f, -0.002732f, -0.029684f, -0.055193f, -0.001055f, -0.019735f, 0.065261f, 0.013570f, 0.046134f, -0.015208f, 0.062996f, -0.039729f, -0.074388f, 0.016666f, 0.012495f, 0.008363f, -0.037039f, -0.042193f, -0.033074f, 0.012209f, -0.033318f, 0.014461f, -0.017737f, 0.049370f, -0.016283f, -0.007622f, 0.035558f, 0.000958f, -0.089060f, -0.037101f, -0.001357f, 0.058429f, -0.006895f, -0.018540f, -0.051149f, 0.008683f, -0.012759f, -0.044038f, -0.052138f, -0.006198f, 0.009324f, -0.018062f, -0.019985f, -0.052168f, 0.033837f, -0.013078f, 0.012019f, -0.026065f, 0.000917f, 0.015242f, 0.009182f, 0.045708f, 0.000222f, -0.015981f, -0.059913f, -0.021229f, 0.028577f, -0.041035f, -0.021090f, 0.014935f, 0.032551f, 0.025426f, 0.065155f, 0.049749f, 0.000650f, 0.037707f, 0.038555f, 0.013045f, 0.001227f, 0.022546f, -0.019711f, 0.098583f, -0.045746f, -0.108063f, 0.028358f, - -0.092013f, -0.003887f, -0.072065f, -0.000839f, 0.087740f, 0.010668f, -0.042086f, 0.013581f, 0.014759f, -0.027740f, -0.022683f, -0.031348f, 0.006535f, -0.009750f, 0.027990f, -0.022647f, 0.018648f, -0.037672f, 0.010238f, -0.001668f, -0.006286f, -0.008897f, 0.025352f, 0.048416f, 0.015106f, 0.019406f, 0.033591f, 0.009841f, -0.033901f, 0.009366f, -0.012677f, 0.022092f, -0.007189f, -0.010987f, -0.001459f, -0.002780f, -0.009230f, -0.028288f, -0.018398f, -0.012823f, -0.001690f, 0.003440f, -0.002171f, -0.018152f, -0.039904f, -0.025404f, 0.005842f, -0.007565f, -0.000835f, -0.015774f, 0.005228f, 0.028154f, 0.011051f, 0.040740f, -0.062061f, -0.042288f, -0.025277f, -0.022607f, 0.025809f, 0.038519f, -0.022405f, 0.002003f, 0.035523f, -0.071290f, 0.005832f, 0.015962f, -0.052717f, 0.027015f, -0.017149f, 0.023762f, 0.009776f, 0.026856f, 0.003583f, -0.035164f, 0.036394f, -0.045645f, -0.009205f, 0.086611f, -0.035182f, 0.031345f, -0.020159f, 0.035303f, 0.033341f, -0.012053f, -0.037652f, 0.040036f, 0.106325f, -0.058539f, 0.015653f, -0.077493f, 0.039494f, 0.022787f, -0.041056f, 0.045538f, 0.004930f, -0.092928f, - 0.013850f, 0.003929f, 0.042739f, -0.011916f, -0.005954f, -0.049114f, -0.046627f, -0.024838f, 0.115842f, -0.018204f, 0.059070f, -0.052000f, 0.039034f, 0.018251f, -0.010090f, -0.040115f, -0.006843f, 0.031925f, 0.065314f, -0.024079f, -0.021292f, -0.007456f, 0.013172f, 0.055836f, -0.013878f, -0.013927f, -0.041460f, 0.012288f, -0.062649f, -0.028657f, 0.045418f, 0.053922f, 0.006532f, -0.005087f, -0.029199f, -0.049041f, -0.140343f, 0.087248f, 0.033743f, 0.049877f, 0.005317f, -0.046331f, 0.050709f, -0.028902f, 0.021643f, 0.029447f, 0.029533f, 0.067248f, -0.000962f, 0.015309f, 0.019052f, -0.008109f, -0.029373f, -0.010354f, 0.049833f, 0.030060f, -0.027465f, -0.006557f, -0.018587f, -0.005327f, 0.023430f, 0.006384f, -0.032196f, -0.021456f, 0.031382f, 0.006801f, -0.009527f, 0.015686f, -0.027182f, -0.017179f, -0.005411f, 0.013166f, 0.022248f, 0.013842f, 0.004509f, 0.016932f, -0.013654f, -0.018762f, 0.003599f, -0.002159f, -0.024375f, 0.002653f, -0.025148f, -0.001277f, -0.015255f, -0.004005f, 0.004295f, -0.013369f, -0.024051f, 0.007896f, -0.058656f, 0.040819f, 0.041118f, -0.080834f, 0.008166f, -0.042724f, - 0.005615f, -0.088914f, 0.089244f, 0.076745f, -0.007524f, -0.040833f, -0.013593f, -0.016664f, 0.043528f, -0.044700f, 0.056028f, -0.074381f, -0.042423f, 0.020602f, 0.026604f, 0.005542f, 0.025707f, 0.069944f, 0.020709f, 0.032034f, 0.009076f, 0.033316f, 0.024438f, -0.016230f, 0.007469f, 0.028170f, -0.001546f, -0.002814f, 0.056665f, 0.024860f, 0.074235f, -0.007115f, 0.042509f, -0.000239f, -0.053504f, 0.054841f, -0.028072f, -0.006528f, 0.017469f, -0.051493f, -0.034140f, 0.019552f, 0.080745f, 0.043551f, 0.029449f, -0.103764f, -0.023642f, -0.072839f, -0.000268f, 0.115752f, 0.076756f, 0.087511f, 0.007299f, -0.085442f, 0.026901f, 0.086144f, 0.018548f, -0.021881f, 0.077317f, 0.008066f, 0.051821f, -0.132707f, -0.109488f, 0.078754f, -0.005304f, -0.035878f, -0.083779f, -0.018559f, -0.031204f, 0.035800f, 0.033783f, 0.039227f, 0.040905f, -0.016909f, 0.013041f, 0.072996f, 0.068036f, 0.070507f, 0.006291f, 0.101401f, 0.051122f, -0.018166f, -0.039790f, 0.000477f, -0.019378f, 0.005900f, 0.052109f, -0.008274f, 0.002721f, 0.037485f, 0.041934f, 0.003876f, 0.000676f, 0.015952f, 0.046419f, 0.016067f, - 0.022033f, 0.031156f, 0.011653f, 0.024222f, -0.000654f, -0.013813f, -0.005458f, -0.005334f, 0.002464f, 0.032225f, -0.011811f, 0.005615f, -0.025902f, 0.039021f, 0.019533f, 0.017006f, 0.000115f, 0.019646f, 0.000604f, 0.066925f, 0.017832f, 0.068710f, -0.018000f, 0.060089f, 0.028231f, 0.008790f, 0.026833f, 0.025790f, 0.030031f, -0.007971f, -0.004750f, 0.041041f, 0.013299f, 0.034506f, -0.076601f, 0.045169f, 0.060434f, 0.004552f, 0.020655f, -0.054669f, 0.042708f, -0.024880f, 0.020485f, 0.001961f, 0.000209f, 0.036111f, -0.011144f, 0.023519f, -0.007531f, -0.043833f, 0.011739f, -0.003013f, 0.049060f, 0.042856f, 0.060999f, 0.020361f, -0.046634f, -0.038473f, 0.039609f, 0.044514f, 0.020607f, 0.003982f, 0.014093f, -0.012064f, -0.038225f, 0.006602f, -0.014141f, 0.054246f, 0.037861f, 0.033149f, 0.042948f, 0.044149f, -0.060757f, 0.067065f, 0.065830f, 0.048372f, -0.032650f, -0.028922f, -0.042236f, 0.058483f, 0.034127f, 0.095945f, -0.058272f, -0.057516f, -0.044575f, -0.084464f, -0.022044f, 0.091737f, 0.014602f, 0.072110f, -0.076610f, -0.081698f, 0.017914f, 0.052328f, -0.071641f, 0.011531f, - -0.057054f, 0.023067f, -0.065861f, -0.004875f, 0.031339f, 0.033471f, -0.059886f, 0.024007f, -0.045552f, -0.090397f, -0.002986f, 0.107896f, 0.055683f, 0.043963f, -0.030023f, -0.076479f, 0.116875f, 0.094964f, 0.026567f, -0.104570f, -0.004099f, -0.024195f, 0.074854f, 0.038735f, 0.046400f, -0.054081f, 0.041047f, -0.023961f, 0.026885f, -0.037247f, 0.013385f, -0.041710f, 0.061148f, -0.011489f, 0.010042f, -0.072369f, 0.021119f, 0.009777f, -0.003413f, -0.015706f, 0.014796f, 0.008344f, 0.007592f, -0.044481f, 0.018966f, 0.046774f, 0.002851f, 0.028447f, 0.023393f, 0.020083f, 0.002990f, 0.009908f, 0.000878f, 0.003323f, 0.001934f, -0.013535f, -0.001746f, 0.015401f, -0.000363f, 0.029907f, 0.024418f, -0.012132f, -0.002698f, 0.014395f, 0.005589f, 0.023433f, -0.042273f, 0.028534f, 0.002831f, -0.000173f, -0.148546f, -0.029126f, -0.004055f, 0.002875f, 0.051340f, -0.136649f, -0.015941f, 0.063406f, -0.101811f, 0.023965f, -0.023345f, 0.119396f, 0.062402f, -0.071356f, 0.017645f, 0.080637f, 0.007926f, -0.030736f, 0.026067f, 0.020075f, 0.010303f, -0.000578f, -0.008093f, 0.007055f, 0.012880f, 0.028207f, - 0.081854f, 0.066527f, 0.071571f, 0.049810f, 0.090171f, 0.044749f, 0.092209f, 0.038782f, 0.081793f, 0.001895f, 0.050768f, 0.046471f, 0.050318f, 0.039275f, -0.003770f, 0.015783f, -0.062902f, -0.036786f, 0.119561f, 0.002219f, -0.047850f, -0.012678f, 0.037510f, 0.063740f, 0.128698f, -0.016684f, -0.070871f, -0.034956f, -0.052242f, 0.074053f, 0.083886f, 0.094694f, 0.029185f, -0.002696f, 0.063607f, -0.107343f, 0.098393f, 0.038001f, -0.051845f, -0.000242f, -0.168086f, 0.004715f, -0.111080f, -0.153383f, -0.038314f, -0.089850f, -0.039256f, 0.175315f, 0.159378f, 0.150533f, -0.117795f, -0.011345f, -0.013352f, 0.118529f, 0.184700f, -0.040389f, -0.051984f, 0.103024f, 0.105191f, 0.091138f, -0.010615f, -0.013812f, -0.050965f, -0.063573f, 0.009518f, -0.022891f, 0.028488f, 0.045191f, 0.038805f, 0.027572f, 0.002806f, 0.018142f, 0.049597f, 0.009248f, 0.000462f, -0.013206f, 0.002990f, 0.004165f, 0.013637f, 0.010965f, 0.010288f, 0.051933f, -0.004269f, -0.029659f, 0.031524f, 0.037959f, 0.008905f, 0.060156f, 0.014258f, 0.029513f, 0.065154f, 0.087639f, 0.063754f, 0.047259f, 0.019033f, 0.009532f, - 0.025569f, 0.060299f, 0.026453f, 0.061785f, 0.045510f, 0.030057f, 0.042832f, 0.016425f, 0.058071f, 0.051244f, 0.041403f, 0.063480f, 0.036314f, 0.012433f, 0.017745f, -0.042081f, 0.106985f, 0.127574f, -0.105477f, -0.098861f, 0.033993f, 0.111390f, 0.003903f, -0.053831f, 0.001482f, 0.029420f, 0.034874f, -0.094156f, 0.035714f, -0.013535f, 0.050235f, -0.052208f, -0.023461f, -0.060989f, 0.064338f, -0.009750f, -0.026800f, -0.057113f, 0.042161f, 0.023066f, -0.008536f, -0.048462f, 0.023293f, 0.019792f, 0.012345f, -0.042976f, -0.004850f, -0.003278f, 0.049532f, -0.037631f, -0.007677f, -0.054493f, -0.012808f, 0.017222f, 0.043662f, -0.056679f, -0.019934f, 0.057854f, 0.051854f, -0.016784f, -0.034499f, -0.001499f, -0.016962f, 0.048078f, -0.026915f, -0.016874f, 0.025210f, 0.016605f, 0.031500f, -0.028440f, 0.009924f, -0.038702f, 0.044519f, 0.049658f, 0.025608f, 0.006569f, -0.038509f, 0.043932f, -0.030663f, 0.068760f, -0.049859f, 0.054963f, -0.086965f, 0.058306f, 0.009084f, -0.006580f, -0.060656f, -0.020002f, 0.021858f, -0.017352f, 0.007698f, -0.016859f, 0.019289f, -0.009277f, 0.021426f, -0.020894f, - -0.024885f, -0.018504f, 0.020530f, -0.000179f, -0.000471f, -0.006263f, -0.012835f, 0.007556f, 0.023856f, -0.013017f, -0.000793f, -0.000351f, 0.005040f, -0.002916f, 0.006006f, -0.005673f, 0.018034f, -0.001349f, 0.022793f, -0.020572f, 0.005733f, -0.010563f, 0.023118f, -0.024416f, 0.022878f, -0.025180f, 0.016202f, 0.004707f, 0.028472f, -0.008293f, 0.027164f, -0.024819f, -0.015386f, -0.006014f, 0.042653f, -0.021794f, 0.033600f, -0.013517f, 0.007134f, 0.001831f, 0.024705f, -0.012138f, 0.014037f, 0.001453f, 0.003222f, -0.004302f, 0.010591f, -0.005303f, -0.010606f, 0.024790f, -0.013220f, 0.001396f, -0.009781f, 0.005605f, -0.008908f, 0.010954f, -0.015278f, 0.018670f, -0.013760f, 0.015090f, -0.019990f, 0.017624f, -0.026258f, 0.025171f, -0.014020f, 0.016293f, -0.017154f, 0.017284f, -0.017078f, 0.017766f, -0.015035f, 0.015905f, -0.020734f, 0.017413f, -0.016842f, 0.017836f, -0.019539f, 0.020589f, -0.018703f, -0.003406f, -0.022972f, 0.102629f, 0.109197f, -0.064247f, -0.038067f, 0.021667f, 0.104285f, 0.064806f, 0.038862f, 0.037395f, -0.016603f, -0.043622f, -0.013203f, 0.024525f, -0.000372f, -0.010260f, - 0.031120f, 0.000563f, 0.021938f, 0.002712f, -0.011652f, -0.039077f, -0.010365f, -0.002262f, 0.002903f, -0.001521f, -0.031753f, 0.035494f, 0.005938f, -0.014248f, -0.000780f, -0.001067f, 0.000524f, 0.022926f, 0.042080f, 0.017967f, 0.004280f, -0.015111f, -0.021738f, -0.005614f, 0.013695f, 0.028224f, 0.037993f, -0.021153f, -0.020890f, 0.004771f, 0.038410f, 0.017344f, 0.008595f, -0.017302f, -0.034788f, 0.029741f, -0.006086f, 0.000872f, 0.002060f, 0.009606f, 0.009220f, -0.004187f, -0.001225f, -0.022671f, 0.003534f, 0.020062f, -0.009464f, 0.012002f, -0.006662f, -0.016144f, 0.010330f, -0.003035f, 0.005614f, -0.001198f, 0.017468f, 0.011850f, -0.025907f, 0.007698f, 0.001299f, -0.047062f, -0.062531f, 0.001833f, 0.003727f, 0.014301f, 0.038177f, 0.004216f, -0.016716f, -0.016389f, 0.015081f, 0.016433f, 0.024948f, 0.016999f, 0.001137f, 0.007275f, -0.002591f, -0.018857f, -0.007775f, 0.002919f, -0.025854f, -0.024779f, 0.016069f, 0.017013f, -0.000315f, 0.019130f, -0.026975f, -0.004875f, -0.001176f, 0.001386f, -0.008268f, 0.004328f, 0.014721f, 0.020330f, 0.009999f, 0.017126f, -0.010706f, -0.021193f, - 0.012559f, 0.002022f, -0.005102f, 0.014548f, 0.008179f, -0.009974f, -0.036067f, -0.135628f, 0.057708f, 0.208633f, 0.192763f, 0.164171f, 0.065770f, -0.156165f, -0.097423f, -0.140413f, -0.156924f, -0.140682f, -0.040724f, 0.030180f, 0.118620f, 0.123159f, 0.147926f, 0.097662f, 0.098885f, 0.002259f, -0.103611f, -0.099330f, -0.122040f, -0.095800f, -0.053039f, -0.003773f, -0.034105f, 0.036973f, 0.045984f, 0.074068f, 0.081724f, 0.082650f, 0.049526f, 0.003995f, 0.022101f, -0.018421f, 0.011920f, -0.056870f, -0.041044f, -0.052606f, -0.085531f, -0.068166f, -0.051947f, -0.036966f, -0.060772f, 0.008290f, 0.104173f, 0.117357f, 0.065770f, 0.122719f, 0.030616f, 0.071543f, 0.037036f, 0.020895f, -0.030749f, -0.065776f, -0.089766f, -0.126464f, -0.096705f, -0.144244f, -0.059525f, -0.064317f, 0.041487f, 0.041242f, 0.120641f, 0.138703f, 0.123800f, 0.109961f, 0.107797f, 0.067196f, 0.008389f, -0.037867f, -0.115057f, -0.072429f, -0.150335f, -0.128463f, -0.178321f, -0.029060f, -0.015875f, 0.043799f, 0.056565f, 0.101526f, 0.119760f, 0.099945f, 0.089515f, 0.066120f, 0.039216f, 0.005341f, -0.033138f, -0.048068f, - -0.064395f, -0.099766f, -0.069866f, -0.086889f, -0.060214f, -0.031122f, -0.008842f, 0.019449f, 0.019211f, 0.094931f, 0.087784f, 0.086706f, 0.067868f, 0.049518f, 0.006008f, 0.030706f, -0.034380f, -0.057328f, -0.044428f, -0.123857f, -0.144077f, -0.028036f, -0.009643f, -0.006466f, 0.070382f, 0.057346f, 0.076805f, 0.053558f, 0.070191f, 0.021166f, 0.018192f, -0.005663f, -0.029647f, -0.038444f, -0.049321f, -0.054930f, -0.033608f, -0.007327f, -0.042621f, -0.022754f, 0.034159f, 0.048386f, 0.032674f, 0.041874f, 0.028803f, 0.020629f, 0.005474f, -0.004080f, -0.014787f, -0.021183f, -0.016184f, -0.026419f, -0.013677f, -0.005446f, -0.009797f, -0.013577f, 0.003016f, 0.009775f, 0.002255f, 0.015043f, 0.019607f, 0.014417f, 0.010424f, 0.008943f, 0.004732f, -0.001571f, -0.009058f, -0.009198f, -0.012828f, -0.009584f, -0.009901f, -0.006430f, -0.005204f, 0.000849f, 0.002469f, 0.004484f, 0.003734f, 0.006228f, 0.006397f, 0.005051f, 0.003827f, 0.003732f, 0.002729f, 0.003296f, 0.000675f, -0.003884f, -0.006169f, -0.003058f, -0.005476f, -0.006305f, -0.005444f, -0.003406f, -0.001496f, 0.002455f, 0.003800f, 0.004397f, - 0.002948f, 0.005692f, 0.003636f, 0.002231f, 0.001240f, 0.000671f, -0.002233f, -0.002421f, -0.002879f, -0.001113f, -0.002197f, -0.001993f, -0.002047f, -0.000316f, -0.000864f, 0.000605f, 0.000474f, 0.001945f, 0.001420f, 0.002364f, 0.001250f, 0.001504f, -0.000205f, -0.000522f, -0.001066f, 0.000587f, -0.001086f, -0.000777f, -0.002032f, -0.000692f, -0.000709f, 0.000915f, 0.000531f, 0.001505f, 0.000561f, 0.000834f, -0.000736f, 0.000100f, -0.000592f, -0.000202f, -0.001258f, 0.000116f, -0.000458f, 0.000522f, -0.000013f, 0.000799f, -0.000239f, 0.000702f, -0.000256f, 0.000440f, -0.000488f, 0.000387f, -0.000462f, 0.000400f} - }, - { - {-0.009644f, -0.009812f, -0.008153f, 0.002275f, -0.004688f, -0.000728f, -0.001357f, 0.004735f, 0.018806f, -0.005015f, 0.001871f, -0.017916f, -0.009823f, 0.005490f, -0.008552f, -0.006631f, -0.002541f, -0.007556f, -0.002032f, 0.015646f, -0.006736f, -0.009985f, 0.016859f, 0.013536f, -0.004795f, -0.003114f, 0.015430f, 0.004417f, 0.005968f, 0.003004f, 0.000731f, -0.003935f, -0.006539f, 0.006146f, -0.004878f, 0.004598f, 0.001637f, 0.001784f, -0.002189f, -0.005292f, -0.004193f, 0.003794f, -0.004823f, -0.007557f, -0.003443f, -0.003367f, -0.009677f, 0.010942f, 0.016851f, -0.009688f, 0.005482f, 0.000488f, -0.003815f, 0.002697f, -0.000445f, 0.000161f, -0.005679f, 0.010461f, -0.006220f, -0.007628f, 0.008660f, 0.002674f, -0.000482f, -0.000954f, 0.004746f, 0.000325f, -0.000164f, -0.002974f, -0.001532f, 0.009196f, -0.013426f, 0.004583f, 0.002436f, -0.003237f, -0.003232f, -0.004656f, -0.006848f, 0.000075f, 0.006550f, 0.006745f, 0.001929f, -0.000106f, 0.001493f, -0.003713f, 0.004866f, -0.001834f, 0.002851f, -0.002062f, -0.001373f, -0.000985f, -0.001252f, -0.000952f, 0.002228f, -0.000084f, 0.000901f, 0.001390f, - 0.000798f, 0.002371f, 0.002932f, -0.000957f, -0.000716f, -0.001305f, -0.000950f, -0.001863f, -0.000591f, -0.001235f, -0.001067f, -0.001895f, -0.000790f, -0.000192f, 0.001152f, -0.000721f, -0.029676f, -0.004668f, -0.010851f, -0.002649f, 0.002386f, -0.008068f, -0.018090f, 0.013273f, -0.004448f, 0.003106f, 0.008864f, -0.002798f, -0.000910f, -0.001083f, 0.004081f, -0.003114f, 0.014923f, -0.000595f, 0.011512f, 0.016906f, -0.020262f, 0.004272f, 0.014079f, 0.000995f, 0.002808f, 0.009771f, 0.018012f, 0.002602f, -0.004046f, 0.009092f, -0.002405f, -0.004667f, 0.004068f, 0.003233f, 0.004025f, -0.005043f, 0.018360f, -0.008441f, 0.004641f, 0.006876f, -0.000072f, -0.000867f, -0.008942f, 0.001488f, -0.010362f, 0.008746f, -0.010584f, -0.008107f, 0.005886f, -0.009849f, 0.006794f, -0.006867f, 0.002865f, -0.005537f, 0.003786f, 0.008019f, 0.015658f, 0.004832f, 0.001792f, 0.007643f, 0.000139f, -0.013484f, 0.001818f, 0.003829f, 0.005169f, -0.003369f, 0.000735f, -0.001831f, 0.002597f, 0.007569f, 0.004576f, 0.010329f, 0.003584f, 0.001399f, -0.006245f, -0.003178f, 0.006102f, 0.004757f, -0.005976f, 0.007231f, - 0.003556f, 0.007905f, -0.002426f, -0.001868f, -0.002432f, 0.000387f, -0.001489f, -0.006300f, -0.001125f, 0.001063f, 0.001095f, 0.004103f, 0.000496f, -0.001195f, -0.001514f, 0.001745f, 0.000916f, -0.003072f, -0.000416f, -0.000214f, 0.000075f, 0.001262f, 0.000390f, -0.001417f, -0.000148f, -0.001341f, -0.010753f, 0.008006f, 0.005256f, 0.001620f, 0.010199f, -0.000541f, 0.005731f, 0.013847f, 0.008612f, 0.018159f, 0.003544f, -0.002673f, -0.018556f, 0.002938f, -0.011363f, -0.003798f, 0.001471f, 0.004206f, -0.007100f, 0.000014f, 0.017920f, -0.009129f, -0.000437f, -0.009115f, 0.004388f, 0.000109f, 0.003516f, 0.007321f, 0.008655f, -0.005398f, 0.006506f, 0.006694f, 0.012982f, 0.000517f, -0.012640f, 0.001256f, 0.013760f, -0.001324f, -0.000805f, -0.001870f, 0.009272f, -0.010709f, 0.000959f, 0.007067f, 0.009281f, 0.011076f, -0.004102f, -0.007213f, -0.000867f, 0.015910f, 0.001546f, 0.005763f, -0.012857f, -0.005754f, 0.003203f, 0.002692f, -0.002143f, 0.008443f, -0.000511f, -0.001722f, 0.004796f, -0.008102f, 0.000590f, -0.001251f, 0.005627f, 0.008551f, -0.012481f, -0.002793f, 0.004145f, 0.008430f, - -0.005297f, -0.005136f, 0.003567f, 0.009986f, -0.000796f, 0.006718f, 0.004839f, 0.006888f, 0.002974f, 0.007682f, 0.011636f, 0.000472f, 0.003328f, -0.003167f, 0.004796f, 0.003382f, -0.002105f, -0.005179f, -0.000882f, -0.003663f, 0.001311f, -0.003347f, 0.001566f, -0.001512f, 0.000916f, -0.002710f, 0.000175f, -0.000243f, 0.000679f, -0.001617f, 0.002681f, -0.002426f, -0.000957f, -0.001069f, -0.001205f, 0.000346f, 0.001560f, 0.001531f, 0.000942f, -0.000708f, -0.000430f, -0.001114f, 0.003590f, 0.000666f, 0.032324f, 0.015578f, 0.012788f, -0.012066f, -0.002043f, -0.016809f, -0.011884f, 0.017901f, 0.001704f, -0.011378f, -0.005188f, 0.003799f, -0.010633f, -0.001010f, 0.018343f, 0.007266f, -0.000672f, 0.005826f, 0.026863f, -0.017862f, 0.004362f, -0.003373f, -0.008574f, 0.015368f, 0.007912f, 0.007962f, -0.005906f, 0.006873f, 0.008931f, -0.002742f, 0.005764f, -0.001826f, -0.007544f, 0.001573f, 0.002960f, -0.001342f, 0.009161f, 0.002226f, -0.003182f, 0.010023f, -0.004489f, -0.004736f, -0.005717f, 0.002811f, 0.003944f, 0.000726f, 0.007302f, 0.000964f, 0.022764f, 0.001489f, 0.000085f, -0.005265f, - -0.004632f, 0.005440f, -0.016770f, 0.000704f, 0.010220f, 0.008047f, -0.009006f, 0.013364f, 0.000329f, 0.005984f, 0.010775f, -0.003016f, 0.008366f, 0.006424f, -0.002830f, -0.009610f, -0.007242f, 0.006051f, 0.015274f, 0.004344f, -0.006489f, -0.003226f, -0.003631f, 0.010458f, -0.008737f, -0.000482f, 0.008722f, 0.010011f, 0.001491f, 0.001281f, -0.002651f, -0.004156f, 0.000292f, -0.000948f, -0.003397f, -0.000700f, -0.001485f, -0.001715f, -0.002583f, -0.001331f, 0.003664f, 0.002438f, -0.000592f, 0.004627f, 0.001478f, 0.001886f, -0.000474f, 0.001598f, -0.000687f, -0.000370f, -0.000062f, 0.000565f, 0.000695f, 0.001322f, 0.002628f, 0.000672f, 0.000418f, -0.000727f, 0.007854f, 0.002008f, 0.021185f, 0.005207f, 0.012667f, -0.000609f, 0.002885f, 0.003500f, 0.003606f, -0.003522f, 0.012963f, -0.005443f, 0.014020f, -0.006854f, -0.005276f, 0.003636f, -0.009082f, -0.002638f, -0.002777f, 0.003921f, 0.005909f, -0.003681f, -0.013339f, 0.006138f, -0.016151f, -0.006552f, -0.002634f, -0.000350f, -0.002417f, 0.003218f, 0.014728f, 0.008283f, 0.001133f, -0.015126f, -0.014431f, 0.000554f, 0.009989f, -0.005140f, - 0.001695f, -0.001801f, -0.006308f, -0.009681f, 0.001171f, 0.006672f, 0.014237f, 0.012770f, -0.001457f, 0.004159f, -0.017468f, 0.006113f, 0.011902f, 0.013405f, -0.001460f, 0.012235f, 0.002788f, 0.017773f, 0.010648f, 0.003479f, 0.008194f, -0.000704f, -0.004422f, -0.003040f, -0.001591f, 0.011202f, -0.004050f, -0.006170f, -0.007527f, 0.011188f, -0.002467f, -0.019346f, 0.004087f, 0.007474f, 0.011122f, 0.014213f, 0.024339f, -0.010010f, -0.008048f, 0.014373f, 0.015311f, 0.011989f, 0.005331f, -0.002403f, -0.002509f, -0.009312f, -0.010309f, -0.002851f, -0.003565f, 0.003251f, -0.000181f, -0.002981f, -0.000177f, -0.005748f, 0.001514f, -0.000695f, 0.003006f, 0.000459f, -0.004199f, -0.000281f, 0.000742f, -0.000659f, -0.000136f, 0.002198f, 0.004225f, 0.004066f, 0.003535f, 0.000957f, 0.001100f, -0.005878f, 0.000563f, 0.004250f, -0.002414f, 0.002375f, 0.000802f, -0.001594f, -0.001123f, -0.000665f, 0.004416f, 0.003167f, 0.000938f, -0.000295f, 0.002567f, 0.000273f, 0.001835f, 0.000976f, -0.001069f, 0.001386f, -0.000515f, -0.000545f, -0.027629f, 0.013225f, 0.019578f, 0.002208f, 0.016361f, 0.001877f, - -0.013938f, -0.001675f, -0.006301f, -0.003849f, 0.015134f, -0.019523f, -0.004973f, 0.006397f, 0.007925f, 0.017058f, -0.003044f, 0.007201f, -0.026852f, -0.014170f, 0.007354f, 0.015800f, -0.010223f, -0.007922f, -0.010986f, -0.014017f, 0.007555f, -0.002003f, 0.000523f, 0.004798f, 0.002874f, 0.005020f, 0.021518f, -0.013109f, 0.020893f, -0.001452f, 0.004581f, 0.004233f, 0.004845f, -0.006504f, 0.007521f, -0.014827f, -0.002373f, -0.008221f, -0.001143f, -0.011095f, 0.013455f, 0.001993f, 0.036576f, 0.000843f, -0.001930f, -0.009475f, 0.001991f, -0.007986f, 0.019302f, -0.011988f, 0.002897f, -0.021483f, 0.016268f, 0.014298f, -0.017138f, 0.010398f, 0.011270f, 0.004221f, -0.009108f, -0.009972f, 0.016323f, 0.003812f, -0.022664f, 0.010748f, -0.010555f, -0.006242f, 0.005606f, -0.006055f, 0.002455f, 0.004367f, 0.006605f, -0.012298f, -0.028817f, 0.003961f, 0.006948f, -0.001188f, -0.005885f, 0.011241f, -0.004580f, -0.004024f, -0.005015f, 0.007384f, -0.009059f, -0.004015f, -0.004979f, -0.004255f, 0.002771f, -0.003882f, 0.005407f, 0.000452f, -0.008010f, 0.005889f, 0.001205f, -0.004579f, 0.000136f, 0.005284f, - 0.002204f, 0.000002f, -0.000352f, -0.001789f, -0.004059f, 0.000112f, 0.001630f, 0.000305f, -0.000053f, 0.002291f, -0.004643f, 0.000295f, 0.001352f, -0.005863f, -0.003872f, -0.004991f, 0.012294f, 0.002392f, -0.000248f, -0.010383f, -0.017466f, 0.006187f, -0.009376f, -0.003770f, 0.016890f, -0.023013f, -0.009600f, -0.016957f, -0.001739f, 0.014546f, -0.001364f, -0.011998f, -0.016668f, -0.018699f, 0.007270f, 0.019777f, -0.005688f, 0.012354f, 0.018582f, -0.005157f, -0.004317f, 0.007278f, 0.010320f, 0.022075f, -0.003230f, 0.012404f, 0.001770f, 0.026245f, 0.019277f, 0.005270f, -0.006218f, 0.002636f, -0.014593f, 0.025476f, 0.005886f, -0.011266f, -0.012524f, 0.014680f, 0.012374f, 0.008915f, 0.006320f, 0.004340f, 0.013151f, -0.005733f, 0.005773f, -0.008762f, 0.001208f, 0.000682f, -0.013311f, -0.017744f, -0.006341f, -0.012545f, 0.007981f, -0.007674f, -0.005736f, -0.019357f, -0.012220f, 0.003662f, -0.006670f, -0.002359f, 0.009214f, 0.019308f, 0.024333f, 0.012644f, 0.010026f, -0.009046f, -0.019954f, 0.000296f, -0.013992f, -0.032183f, 0.000196f, -0.002314f, 0.011899f, 0.008028f, -0.007955f, -0.017961f, - -0.009825f, 0.008598f, -0.000524f, -0.002058f, -0.007511f, 0.003897f, 0.003984f, 0.003168f, -0.002012f, -0.010263f, 0.002043f, 0.001270f, 0.000885f, -0.002378f, -0.001368f, -0.001454f, 0.001156f, -0.005068f, -0.005256f, -0.000620f, 0.000502f, -0.004232f, 0.000238f, -0.000914f, 0.003708f, 0.005041f, -0.005673f, -0.000289f, 0.003882f, -0.000770f, -0.002467f, 0.000845f, 0.000438f, 0.005465f, -0.001874f, 0.003479f, 0.002657f, -0.002489f, -0.002247f, -0.037258f, -0.011265f, 0.001831f, 0.018240f, -0.013211f, 0.008993f, 0.005569f, -0.000593f, 0.026983f, -0.003494f, 0.025378f, -0.014931f, 0.007291f, 0.008242f, 0.000089f, -0.023254f, -0.009904f, -0.008603f, -0.026800f, 0.009194f, -0.006849f, 0.005762f, -0.001903f, 0.009755f, -0.000282f, -0.010275f, 0.005294f, -0.016983f, 0.012365f, 0.007495f, 0.028867f, -0.001130f, 0.000621f, 0.026705f, -0.023768f, 0.020752f, 0.025049f, -0.015737f, 0.016034f, -0.006715f, -0.007921f, -0.013199f, 0.003079f, 0.003142f, 0.017725f, 0.011651f, -0.004923f, -0.007427f, -0.015590f, 0.008447f, 0.009259f, -0.017505f, -0.008188f, 0.016472f, -0.029096f, 0.002726f, -0.022546f, - 0.012593f, 0.000925f, -0.000410f, 0.006421f, -0.007538f, 0.002247f, 0.026546f, -0.011255f, 0.005808f, 0.012598f, 0.008148f, 0.001098f, -0.013996f, 0.005859f, 0.005179f, -0.008472f, -0.022687f, -0.000089f, -0.005190f, -0.018312f, 0.013615f, -0.005240f, 0.005009f, -0.001068f, 0.002576f, 0.005370f, 0.005556f, -0.010400f, 0.002528f, -0.001365f, 0.002288f, -0.001171f, 0.006768f, 0.003018f, -0.001690f, -0.001622f, -0.009809f, -0.000768f, -0.006713f, 0.000787f, 0.001090f, 0.006709f, -0.010380f, 0.003456f, 0.005570f, -0.004326f, -0.006460f, 0.001902f, -0.000964f, -0.004212f, 0.003079f, -0.001237f, -0.004056f, 0.001011f, -0.001398f, -0.005076f, -0.001340f, -0.003443f, -0.006273f, 0.002505f, -0.001951f, 0.000133f, -0.003462f, -0.001169f, -0.003542f, 0.001205f, 0.006620f, -0.001347f, -0.004115f, -0.015335f, 0.044222f, -0.016565f, 0.008702f, 0.006141f, 0.015870f, 0.004752f, 0.009685f, 0.021804f, -0.016858f, -0.010639f, -0.001256f, 0.030406f, -0.011667f, -0.013217f, -0.015042f, 0.007368f, 0.005249f, 0.016550f, -0.034796f, 0.000133f, 0.000875f, -0.002571f, 0.018090f, -0.004556f, 0.013980f, 0.025484f, - -0.018535f, -0.008579f, 0.007451f, -0.014212f, -0.017488f, 0.011646f, -0.016237f, 0.023948f, -0.003994f, -0.025073f, -0.003159f, -0.014486f, 0.008028f, 0.019492f, -0.000253f, 0.009755f, -0.001093f, 0.003619f, 0.023599f, 0.000509f, 0.017151f, 0.006512f, -0.012626f, 0.013070f, 0.011491f, 0.001353f, 0.009672f, 0.033463f, -0.005464f, -0.015370f, 0.008127f, -0.019396f, 0.001623f, 0.031950f, 0.011047f, 0.004851f, -0.006012f, -0.009444f, -0.006083f, -0.011614f, 0.019516f, -0.012975f, -0.003280f, -0.008177f, 0.022128f, -0.040698f, 0.013957f, 0.014028f, 0.024467f, 0.005543f, 0.001967f, 0.021221f, -0.005958f, -0.009517f, -0.012039f, 0.000068f, -0.009997f, -0.001249f, -0.008587f, 0.006803f, 0.000758f, -0.007988f, -0.008062f, -0.007080f, 0.002709f, 0.008154f, 0.006834f, 0.001211f, 0.000593f, -0.003816f, -0.008744f, -0.003190f, -0.002187f, 0.003407f, 0.003822f, -0.001720f, -0.002089f, 0.001496f, -0.005214f, -0.000255f, -0.005059f, -0.002836f, -0.006690f, -0.009373f, -0.002462f, 0.002885f, 0.010233f, 0.001396f, -0.002745f, -0.002952f, 0.004056f, -0.001219f, 0.009807f, 0.004163f, 0.001762f, 0.001126f, - 0.003774f, 0.065045f, 0.019453f, -0.011899f, -0.015779f, -0.013357f, 0.047174f, -0.040678f, 0.003254f, 0.015867f, 0.002371f, -0.022081f, -0.004970f, 0.011004f, -0.002351f, 0.002510f, 0.019565f, -0.020303f, -0.017001f, 0.008280f, 0.025493f, 0.015645f, 0.006579f, -0.012425f, -0.012082f, -0.011698f, -0.013554f, 0.012549f, 0.004999f, 0.018012f, 0.014495f, 0.008185f, -0.019229f, -0.009219f, -0.020487f, -0.004150f, -0.013454f, -0.030998f, -0.005794f, 0.013715f, 0.003031f, -0.014435f, -0.014496f, 0.000263f, 0.007430f, 0.019242f, 0.002408f, 0.009703f, 0.002748f, 0.037273f, -0.032497f, 0.021110f, 0.003917f, -0.033220f, -0.006046f, -0.010099f, -0.008260f, 0.004962f, -0.014566f, 0.008619f, 0.006282f, 0.014693f, -0.018154f, 0.006269f, 0.028853f, 0.013419f, 0.045890f, -0.010425f, -0.001240f, -0.011445f, -0.005884f, 0.001105f, -0.001022f, -0.043751f, 0.019326f, -0.001986f, -0.002667f, 0.011674f, 0.011588f, -0.012522f, -0.018695f, -0.020485f, -0.007680f, 0.014259f, 0.006016f, -0.004913f, -0.012138f, 0.010415f, -0.019011f, 0.009704f, -0.003240f, -0.008726f, -0.010818f, -0.011766f, -0.004335f, -0.004050f, - 0.001672f, -0.005029f, -0.003436f, 0.002197f, -0.003638f, -0.003443f, 0.001827f, -0.009670f, -0.004496f, -0.000870f, -0.003408f, -0.005632f, -0.002610f, -0.009828f, 0.001161f, 0.006971f, 0.009494f, 0.011151f, -0.008475f, -0.010353f, -0.007395f, -0.009387f, 0.000122f, -0.000260f, -0.005842f, -0.006632f, 0.002219f, -0.001098f, 0.006081f, -0.002217f, -0.000713f, 0.004648f, 0.004654f, -0.004209f, -0.021509f, 0.005031f, 0.012129f, -0.000715f, -0.013103f, -0.009547f, -0.028647f, -0.034633f, 0.007426f, -0.015485f, -0.006964f, 0.004818f, 0.000009f, -0.003835f, -0.015041f, -0.007848f, 0.000157f, 0.011844f, 0.013177f, -0.019112f, -0.010523f, 0.011672f, -0.016607f, -0.008529f, -0.027396f, 0.026620f, -0.003169f, 0.023965f, 0.002442f, 0.008864f, 0.026016f, 0.019213f, -0.011070f, 0.005655f, 0.013399f, -0.013910f, -0.005242f, 0.012535f, -0.004374f, -0.030972f, -0.005373f, -0.021751f, 0.032004f, -0.003520f, -0.008044f, -0.018264f, -0.026039f, 0.009297f, 0.005963f, 0.006067f, 0.013397f, 0.000148f, -0.004440f, 0.013479f, 0.003859f, -0.002752f, 0.005177f, -0.007762f, 0.021301f, -0.005079f, 0.013586f, 0.038913f, - 0.009100f, 0.007207f, 0.009542f, 0.014285f, -0.033586f, -0.027628f, 0.010879f, -0.030139f, 0.021204f, -0.004347f, 0.024239f, 0.006192f, 0.046867f, 0.018144f, 0.003585f, -0.013588f, -0.005561f, -0.023971f, -0.001179f, 0.007374f, 0.005101f, 0.005006f, 0.008651f, 0.021131f, -0.008370f, -0.017250f, -0.005526f, -0.004831f, 0.007127f, 0.019189f, 0.007263f, -0.004676f, 0.006012f, 0.005611f, -0.000521f, -0.004470f, -0.010720f, 0.000737f, 0.001743f, -0.005471f, -0.006922f, -0.001412f, -0.011381f, 0.008338f, 0.005226f, -0.005564f, -0.001306f, -0.011766f, -0.005270f, 0.005490f, 0.010839f, -0.005137f, -0.004268f, -0.000159f, -0.008946f, 0.010119f, 0.000062f, 0.007320f, -0.009259f, 0.000099f, -0.009605f, 0.006053f, 0.010767f, -0.011765f, -0.003018f, -0.055159f, -0.039113f, 0.014714f, -0.015737f, -0.031762f, -0.048945f, -0.000868f, 0.003630f, -0.009114f, -0.008022f, 0.046767f, 0.011946f, -0.033237f, 0.006794f, -0.020142f, -0.017460f, -0.016284f, -0.030203f, -0.004590f, 0.002556f, -0.040924f, -0.039304f, -0.014477f, 0.006274f, 0.004236f, 0.023505f, 0.020446f, 0.012280f, -0.009542f, -0.000558f, 0.009573f, - -0.021342f, -0.011391f, -0.007382f, 0.007437f, -0.020045f, -0.011721f, 0.013457f, 0.008676f, -0.000673f, -0.002607f, -0.003842f, 0.011790f, -0.028769f, -0.015863f, -0.014215f, 0.019479f, -0.022310f, 0.015577f, 0.025360f, 0.035359f, -0.002405f, 0.010532f, -0.008346f, -0.016132f, -0.021908f, -0.005371f, 0.021470f, 0.008623f, -0.039149f, 0.002264f, 0.040416f, -0.026327f, 0.001272f, -0.005183f, 0.002130f, 0.010180f, 0.020616f, -0.003706f, 0.006547f, 0.025348f, 0.017035f, 0.011499f, -0.018942f, -0.022212f, 0.016688f, -0.015897f, -0.031214f, -0.029393f, 0.032733f, 0.013075f, 0.018107f, 0.008391f, -0.005093f, -0.005654f, 0.015666f, 0.011711f, 0.003016f, 0.015695f, -0.005907f, -0.019014f, -0.010074f, -0.013034f, 0.005622f, 0.020619f, 0.009819f, 0.003124f, 0.011919f, 0.007269f, 0.011133f, -0.001364f, -0.005493f, 0.007517f, -0.002297f, -0.006865f, -0.006321f, 0.006022f, -0.018008f, 0.004787f, 0.010866f, -0.005616f, 0.013408f, 0.009863f, -0.000541f, -0.000613f, 0.012677f, 0.002383f, -0.002632f, -0.007073f, -0.007530f, 0.003049f, 0.006831f, 0.002381f, 0.005567f, -0.006998f, -0.005427f, 0.003447f, - -0.004574f, 0.003730f, -0.002682f, -0.031738f, 0.017218f, -0.025557f, -0.047427f, 0.009123f, -0.029087f, -0.015835f, 0.054617f, 0.004447f, 0.040741f, 0.037931f, -0.008098f, 0.039915f, 0.053635f, 0.039291f, -0.049146f, -0.005765f, -0.023166f, -0.022131f, -0.014580f, 0.001700f, -0.020604f, 0.043075f, 0.011994f, 0.023974f, -0.020411f, 0.022986f, 0.016548f, 0.006445f, -0.025823f, -0.018892f, 0.039748f, -0.006603f, -0.038155f, -0.001797f, -0.044068f, -0.005507f, 0.011574f, -0.014830f, 0.000444f, -0.034737f, 0.015805f, 0.032992f, 0.016945f, -0.003949f, -0.017919f, -0.005709f, -0.004866f, -0.005236f, -0.016799f, -0.042825f, 0.029021f, 0.017400f, 0.014953f, 0.019296f, -0.025238f, 0.039329f, 0.004411f, -0.010795f, -0.009001f, -0.029862f, -0.013942f, 0.020736f, 0.011911f, 0.033780f, -0.003942f, -0.036856f, -0.066568f, -0.003044f, -0.000838f, 0.001122f, -0.024217f, -0.032484f, -0.006708f, 0.022943f, -0.011983f, -0.012616f, 0.008438f, -0.002095f, 0.033294f, -0.005745f, -0.030221f, -0.009806f, 0.030998f, 0.002906f, 0.005651f, -0.029554f, -0.011119f, -0.004829f, 0.012313f, 0.017235f, -0.008335f, 0.006609f, - 0.000981f, 0.013157f, 0.007716f, -0.000277f, 0.005188f, 0.017328f, 0.003742f, 0.000692f, -0.005678f, 0.002836f, 0.010579f, 0.000636f, 0.005271f, 0.019723f, 0.002534f, -0.005408f, -0.014064f, -0.000483f, 0.009846f, -0.008552f, 0.004936f, -0.003252f, -0.003149f, -0.005319f, -0.008506f, -0.005203f, -0.000040f, 0.012939f, 0.009054f, -0.011420f, -0.023245f, -0.005672f, 0.008474f, 0.004288f, 0.002973f, 0.002386f, 0.071121f, 0.043930f, -0.005751f, -0.041665f, 0.009212f, 0.019917f, 0.012369f, 0.029371f, 0.045504f, -0.020408f, 0.004260f, -0.040748f, 0.011932f, 0.002736f, -0.015034f, 0.071807f, 0.027983f, 0.061878f, 0.026334f, 0.015529f, -0.053877f, 0.000256f, 0.030899f, 0.004948f, -0.028431f, 0.011662f, -0.043749f, -0.017879f, 0.003579f, 0.012758f, -0.012733f, -0.009202f, 0.010129f, 0.007235f, 0.003725f, 0.038621f, 0.024889f, 0.005857f, -0.015178f, 0.026411f, -0.017043f, -0.013212f, -0.025304f, -0.009200f, 0.034202f, -0.053818f, -0.000301f, 0.023276f, -0.026038f, -0.008958f, 0.010642f, 0.008371f, 0.049651f, -0.003444f, -0.000046f, -0.023551f, 0.048553f, -0.022019f, 0.006572f, 0.004426f, - 0.033773f, -0.008381f, -0.011512f, 0.031047f, -0.052935f, 0.013304f, 0.005619f, -0.022778f, 0.043223f, -0.054032f, -0.006282f, -0.018485f, -0.035365f, -0.018579f, -0.002693f, 0.014567f, 0.034056f, 0.054722f, 0.027498f, 0.035941f, 0.056209f, -0.023320f, 0.010756f, 0.013367f, -0.023328f, 0.031568f, 0.001121f, -0.043321f, 0.022864f, 0.011174f, -0.015147f, 0.000834f, 0.033426f, 0.024255f, 0.007822f, 0.018999f, 0.006319f, 0.005757f, 0.018560f, -0.003896f, 0.008158f, 0.015500f, -0.003476f, 0.002896f, -0.002500f, -0.001567f, 0.011858f, 0.001604f, 0.001668f, -0.010631f, -0.005484f, -0.007567f, -0.013657f, 0.002415f, -0.007345f, -0.023214f, 0.009099f, 0.012880f, -0.004230f, -0.000898f, 0.006488f, -0.008462f, 0.000157f, 0.023165f, -0.003184f, -0.007335f, -0.014649f, -0.068805f, 0.019361f, 0.003165f, 0.082990f, 0.018414f, 0.015919f, -0.002726f, 0.040662f, 0.010404f, -0.060170f, -0.009775f, 0.065134f, -0.019683f, -0.013289f, 0.004961f, -0.004139f, 0.000956f, -0.011464f, 0.066928f, 0.077060f, -0.041803f, 0.018938f, 0.020112f, 0.011519f, 0.021239f, -0.033487f, -0.047230f, 0.036192f, 0.009284f, - -0.025537f, -0.045202f, -0.013132f, -0.015756f, 0.041051f, 0.032726f, 0.018957f, -0.038398f, 0.020999f, -0.017007f, 0.013462f, 0.001613f, 0.017738f, 0.037800f, 0.009054f, -0.086684f, -0.026165f, 0.015106f, -0.034274f, 0.009772f, 0.036664f, 0.011546f, 0.063709f, -0.021758f, -0.095305f, -0.002950f, -0.037913f, 0.032457f, 0.028959f, -0.011183f, -0.020181f, 0.028713f, -0.045729f, -0.008982f, -0.024665f, 0.020837f, 0.029944f, 0.024664f, 0.027816f, -0.021519f, -0.038772f, -0.116489f, -0.055218f, -0.068165f, 0.010687f, -0.046497f, -0.022057f, -0.010193f, -0.050125f, 0.025969f, -0.090281f, 0.027183f, -0.064925f, -0.048017f, 0.046324f, 0.053737f, -0.016816f, -0.003216f, 0.029630f, 0.037563f, -0.053025f, 0.000118f, 0.008651f, -0.008678f, 0.009313f, 0.027423f, -0.003688f, 0.011509f, -0.002469f, 0.010022f, -0.023505f, -0.013420f, -0.010768f, -0.016582f, -0.003445f, 0.021184f, 0.009189f, 0.018932f, 0.000645f, -0.022512f, -0.019461f, 0.002124f, 0.011605f, -0.005673f, 0.012322f, 0.011714f, 0.031247f, 0.001765f, 0.010640f, 0.002074f, 0.007312f, -0.015198f, -0.004419f, 0.004354f, -0.011428f, -0.000849f, - -0.005353f, -0.000126f, 0.005613f, 0.031318f, -0.003244f, -0.020970f, -0.021808f, 0.000595f, -0.002141f, -0.033350f, -0.021012f, 0.015151f, -0.023438f, -0.000141f, -0.001164f, -0.088443f, -0.014010f, 0.060556f, -0.071526f, 0.008157f, 0.025612f, 0.001993f, 0.017733f, -0.004022f, -0.056784f, -0.003396f, 0.029769f, 0.011571f, 0.044736f, 0.032144f, -0.048767f, -0.050648f, -0.007618f, -0.021136f, -0.008079f, -0.084319f, 0.031371f, 0.035363f, 0.059290f, 0.028665f, 0.053925f, -0.022191f, 0.006863f, 0.057493f, -0.018327f, 0.062461f, 0.016393f, 0.033723f, 0.010331f, -0.014089f, 0.029609f, -0.035587f, 0.001259f, 0.078622f, -0.060424f, 0.007003f, -0.078415f, -0.033597f, -0.056521f, -0.036603f, -0.010296f, 0.005606f, -0.018884f, -0.057857f, -0.011188f, -0.097090f, 0.110936f, 0.040614f, 0.000227f, -0.013538f, -0.027341f, 0.007737f, -0.049420f, 0.010628f, -0.073840f, 0.003258f, 0.003378f, 0.018009f, 0.046728f, 0.069417f, 0.002012f, -0.112137f, -0.052575f, 0.050380f, -0.025097f, -0.021075f, -0.027818f, -0.013466f, 0.055889f, 0.013353f, -0.031756f, 0.025265f, -0.052905f, 0.010894f, -0.010175f, -0.021667f, - -0.053366f, -0.028378f, 0.033510f, -0.014247f, -0.013011f, 0.019899f, -0.019887f, -0.004355f, 0.033421f, -0.037349f, -0.026631f, -0.009584f, -0.008204f, 0.043954f, 0.019611f, 0.013331f, 0.024910f, 0.011714f, -0.004080f, 0.021383f, -0.000368f, 0.016250f, 0.020420f, 0.033716f, -0.012218f, 0.001817f, -0.003391f, 0.025466f, 0.035695f, 0.015314f, -0.008325f, -0.000377f, -0.010544f, -0.023560f, 0.045682f, -0.011053f, 0.023711f, -0.011100f, 0.007559f, -0.011894f, -0.009909f, 0.014018f, 0.024811f, 0.001230f, -0.008122f, -0.004393f, 0.021763f, -0.045601f, 0.032655f, 0.049625f, 0.019961f, -0.024496f, -0.029732f, 0.013567f, -0.038745f, 0.061967f, 0.053858f, 0.078869f, -0.055975f, -0.071676f, -0.016515f, -0.002897f, -0.034461f, 0.045847f, 0.058326f, -0.043569f, 0.000989f, -0.076686f, -0.021131f, -0.037000f, -0.066953f, 0.020237f, 0.057294f, 0.032744f, -0.043145f, -0.018447f, 0.006282f, 0.036572f, 0.006754f, -0.004018f, 0.015302f, -0.005549f, -0.018075f, -0.062277f, -0.040304f, 0.014459f, -0.004639f, -0.034460f, 0.037087f, 0.030782f, 0.021478f, -0.063716f, -0.055901f, 0.052601f, 0.033567f, 0.038780f, - -0.039619f, -0.105314f, -0.018625f, 0.042555f, 0.044525f, -0.011914f, 0.106272f, -0.014334f, 0.106817f, -0.160333f, -0.196243f, -0.082291f, -0.117843f, 0.000145f, 0.047283f, 0.023134f, 0.129469f, -0.015856f, -0.007459f, 0.022683f, -0.024746f, -0.102652f, -0.089399f, -0.101787f, 0.081263f, 0.064546f, -0.023987f, -0.008071f, -0.167251f, 0.045571f, -0.001336f, -0.076322f, 0.031992f, 0.046811f, 0.075119f, 0.056991f, 0.027747f, -0.006472f, -0.049165f, 0.000186f, 0.003237f, -0.015301f, -0.020747f, 0.058001f, 0.037301f, 0.021763f, 0.061191f, -0.047926f, 0.011831f, -0.014402f, -0.028192f, 0.036505f, -0.005282f, -0.067513f, 0.000200f, 0.019457f, -0.023082f, 0.029964f, -0.011975f, 0.006963f, -0.014019f, 0.071956f, 0.057911f, 0.066542f, -0.056759f, -0.014500f, 0.070992f, 0.050586f, -0.049419f, -0.032404f, -0.049800f, -0.031204f, 0.041610f, 0.045130f, -0.015915f, -0.006331f, 0.078994f, 0.001703f, 0.007749f, -0.011944f, 0.014469f, 0.011898f, -0.002204f, -0.040429f, -0.009880f, -0.009710f, 0.012687f, 0.022788f, -0.076371f, 0.066680f, 0.050691f, 0.020907f, 0.062773f, -0.036818f, 0.023138f, -0.103867f, - -0.050228f, 0.027417f, 0.038407f, 0.017709f, 0.013442f, 0.013017f, 0.026937f, -0.012542f, 0.118325f, 0.010758f, 0.073714f, 0.021254f, -0.035460f, 0.090227f, -0.012182f, 0.035495f, 0.001963f, 0.032407f, -0.003309f, -0.001834f, 0.019901f, 0.045337f, 0.013294f, 0.033153f, 0.002443f, -0.006697f, 0.071280f, 0.008218f, -0.014863f, 0.001349f, -0.005455f, -0.035690f, -0.010100f, 0.020173f, 0.013391f, -0.080145f, -0.019453f, 0.010284f, 0.018741f, 0.084092f, 0.068583f, -0.082863f, -0.045572f, 0.007016f, -0.018193f, 0.092603f, 0.009210f, 0.085430f, -0.059834f, 0.043099f, 0.008854f, 0.004918f, 0.039803f, 0.087812f, 0.057067f, 0.011896f, 0.077680f, 0.030652f, -0.036254f, -0.077895f, 0.068702f, -0.062071f, 0.041630f, -0.081808f, 0.000565f, -0.129864f, 0.135227f, -0.033155f, 0.004851f, -0.090851f, 0.082165f, -0.031555f, 0.026139f, -0.066582f, 0.079379f, -0.041011f, -0.037047f, -0.026806f, -0.049598f, 0.015769f, -0.027707f, 0.023913f, -0.025671f, 0.043685f, -0.048422f, 0.043775f, -0.050986f, 0.028528f, -0.059730f, 0.048244f, -0.020504f, 0.053518f, -0.018365f, 0.028227f, -0.022415f, 0.018354f, - -0.025595f, 0.001326f, -0.027986f, 0.032664f, 0.013403f, 0.009544f, -0.011030f, 0.003532f, -0.022291f, 0.017775f, -0.022901f, 0.041129f, -0.033461f, -0.039702f, -0.017861f, 0.016686f, -0.047430f, 0.037272f, -0.011533f, 0.020690f, -0.013307f, 0.011991f, -0.021676f, 0.010754f, -0.011059f, 0.012790f, 0.015845f, -0.002885f, -0.131190f, -0.031648f, -0.010966f, 0.014670f, 0.010850f, -0.080165f, -0.047959f, 0.074263f, -0.029244f, 0.028017f, -0.033237f, 0.008161f, 0.091299f, 0.149437f, 0.009524f, -0.004256f, 0.073801f, 0.033526f, 0.030144f, 0.092956f, 0.001350f, 0.056705f, 0.066797f, 0.065875f, -0.026085f, 0.029104f, 0.057680f, 0.082327f, 0.065828f, 0.101012f, 0.055793f, 0.128697f, 0.134765f, 0.098973f, 0.107349f, 0.074715f, -0.008630f, 0.037197f, 0.018582f, -0.026767f, -0.028165f, 0.022417f, 0.062504f, 0.015568f, 0.002403f, 0.000860f, 0.030665f, 0.095038f, 0.072479f, 0.158790f, 0.031332f, -0.080552f, 0.032235f, 0.002850f, 0.032990f, -0.040748f, 0.062240f, -0.112965f, -0.147717f, 0.042498f, 0.147805f, 0.065770f, 0.029270f, -0.182326f, 0.000752f, 0.071152f, 0.110663f, 0.150395f, - -0.063613f, 0.010605f, -0.257173f, -0.168003f, 0.068416f, 0.097667f, -0.143307f, -0.120645f, -0.076319f, 0.141941f, 0.093527f, -0.166535f, -0.217143f, -0.042394f, 0.088250f, -0.102316f, 0.049318f, -0.014379f, -0.037636f, -0.054540f, 0.007691f, 0.023863f, 0.036489f, -0.004934f, -0.089840f, -0.076058f, 0.009578f, -0.022554f, 0.037705f, 0.006799f, -0.009295f, -0.032456f, -0.022558f, 0.015913f, -0.001930f, -0.072891f, -0.037487f, -0.054711f, -0.029104f, 0.012032f, -0.028661f, -0.019300f, -0.066668f, -0.086973f, -0.122209f, -0.120286f, -0.102973f, -0.085677f, -0.096502f, -0.094095f, -0.073197f, -0.099301f, -0.107196f, -0.089300f, -0.102914f, -0.064501f, -0.017434f, -0.056898f, -0.085747f, -0.054666f, 0.003399f, -0.028847f, -0.016416f, -0.017901f, 0.045641f, 0.050568f, 0.002490f, 0.024267f, 0.025549f, 0.017008f, 0.015033f, 0.003072f, 0.011986f, 0.011193f, 0.011088f, 0.008306f, 0.012930f, 0.004720f, 0.010544f, 0.004792f, 0.004038f, -0.000578f, 0.002719f, -0.024109f, -0.004479f, -0.047824f, 0.122498f, 0.139468f, -0.157131f, -0.064066f, 0.059445f, -0.042831f, 0.029382f, -0.056399f, 0.051469f, -0.047634f, - 0.011501f, 0.000729f, -0.023678f, 0.012718f, 0.002418f, -0.014084f, -0.011315f, -0.037933f, -0.010585f, 0.009232f, 0.004465f, -0.038673f, 0.037213f, -0.035418f, -0.012762f, -0.030622f, 0.003307f, -0.029283f, 0.060913f, -0.000712f, 0.015880f, -0.015888f, 0.015813f, -0.016932f, 0.017092f, 0.037974f, 0.050523f, -0.013247f, 0.016702f, 0.019328f, 0.044268f, -0.027358f, 0.028313f, -0.024346f, 0.053226f, -0.013671f, -0.031051f, 0.017943f, -0.013979f, -0.015744f, 0.005505f, -0.004223f, 0.022411f, -0.011777f, -0.031351f, -0.029238f, 0.003906f, 0.006300f, -0.054125f, 0.016777f, -0.009102f, -0.004772f, 0.008331f, -0.014483f, -0.010012f, 0.006010f, -0.009487f, 0.007948f, -0.029711f, 0.034238f, -0.096385f, 0.050940f, -0.041733f, 0.064506f, -0.043925f, 0.057831f, -0.001867f, 0.031709f, 0.016843f, 0.025914f, 0.010388f, 0.004902f, 0.009741f, -0.001356f, -0.041454f, -0.007709f, 0.000568f, -0.015550f, -0.008926f, -0.007789f, -0.005667f, 0.003001f, -0.016677f, -0.000486f, 0.004332f, -0.000668f, -0.026466f, 0.027681f, -0.005941f, 0.015195f, -0.028153f, 0.013774f, -0.018004f, 0.011921f, -0.020806f, 0.023142f, - -0.029777f, 0.041057f, -0.009247f, 0.006601f, -0.043029f, 0.029777f, -0.003758f, 0.021999f, -0.041060f, 0.011148f, -0.018273f, 0.007367f, -0.009976f, 0.005069f, -0.027831f, 0.014201f, -0.007327f, -0.014545f, -0.000550f, 0.033558f, -0.038476f, 0.003883f, -0.016519f, 0.020452f, -0.027840f, 0.025773f, -0.022925f, 0.008192f, -0.017278f, 0.020267f, -0.009649f, 0.011857f, -0.010592f, 0.013099f, -0.017430f, 0.010155f, -0.009736f, -0.001120f, -0.004839f, 0.008706f, -0.005928f, 0.004657f, 0.000282f, 0.006576f, -0.008180f, 0.003194f, 0.001068f, -0.003730f, 0.005238f, -0.004924f, 0.002817f, -0.007017f, 0.005937f, -0.007590f, 0.004283f, -0.005659f, 0.005091f, -0.004131f, 0.004397f, -0.005582f, 0.007118f, -0.007018f, 0.006192f, -0.006572f, 0.007466f, -0.005704f, 0.007518f, -0.007503f, 0.008830f, -0.009279f, 0.008039f, -0.009588f, 0.007827f, -0.007631f, 0.009254f, -0.010723f, 0.009790f, -0.009276f, 0.008661f, -0.011899f, 0.009564f, -0.011536f, 0.010119f, -0.008610f, 0.009300f, -0.008730f, 0.007922f, -0.009230f, 0.008298f, -0.010222f, 0.006001f, -0.025080f, 0.118192f, 0.071979f, -0.039204f, -0.044697f, - -0.004105f, 0.147285f, 0.061285f, 0.020831f, 0.040552f, -0.035453f, -0.045181f, 0.012763f, 0.028400f, 0.007669f, 0.002441f, -0.015438f, -0.012349f, 0.014069f, 0.013971f, 0.034474f, 0.015104f, -0.018224f, -0.008270f, -0.008887f, -0.018734f, 0.000039f, 0.003162f, 0.009370f, 0.011495f, 0.000608f, -0.005050f, 0.013924f, -0.039585f, -0.014742f, 0.017462f, 0.025448f, 0.031128f, -0.017306f, -0.010316f, -0.018412f, 0.031851f, 0.022370f, -0.006127f, 0.010428f, -0.036984f, -0.031657f, 0.029401f, 0.023208f, 0.007166f, -0.055644f, -0.028817f, 0.002594f, 0.009266f, 0.037115f, 0.026273f, -0.003831f, 0.010783f, 0.013386f, -0.017521f, 0.016297f, 0.017313f, -0.004816f, -0.010694f, 0.010624f, -0.018739f, 0.002074f, -0.003214f, -0.012812f, -0.020061f, 0.028157f, 0.005689f, 0.006496f, 0.038339f, 0.046968f, 0.016522f, 0.038078f, 0.035346f, -0.005236f, -0.009520f, -0.010277f, -0.006784f, 0.015081f, 0.024138f, -0.009006f, 0.007463f, -0.021285f, -0.007818f, -0.000708f, 0.005205f, -0.011442f, -0.014029f, 0.014947f, 0.027971f, 0.012437f, 0.007822f, 0.012061f, -0.013318f, 0.001474f, 0.013374f, 0.002987f, - -0.004059f, 0.003739f, -0.001247f, -0.015854f, 0.033207f, 0.011182f, -0.026329f, -0.024591f, 0.010210f, -0.004543f, 0.026244f, 0.014227f, -0.003167f, 0.010171f, 0.003531f, -0.004963f, -0.001013f, -0.007099f, 0.007848f, 0.012412f, 0.002073f, -0.002682f, -0.010130f, 0.009327f, -0.001812f, -0.008229f, -0.000081f, -0.042329f, -0.117243f, 0.040698f, 0.215229f, 0.169472f, 0.162035f, 0.051980f, -0.150869f, -0.090296f, -0.133757f, -0.133927f, -0.122293f, -0.042513f, 0.065778f, 0.085064f, 0.133490f, 0.119798f, 0.071974f, 0.012239f, 0.011672f, -0.057772f, -0.091638f, -0.130898f, -0.050473f, -0.035440f, 0.011704f, -0.007256f, 0.066438f, 0.045050f, 0.019041f, 0.089044f, 0.049865f, 0.038187f, -0.007820f, 0.033522f, -0.060431f, -0.045390f, -0.037698f, -0.043839f, -0.057968f, -0.034773f, -0.023160f, -0.058787f, -0.040805f, 0.015765f, 0.086635f, 0.083801f, 0.095002f, 0.074773f, 0.108629f, 0.018920f, 0.027789f, -0.072134f, -0.053535f, -0.045759f, -0.108438f, -0.107838f, -0.096899f, -0.045682f, -0.056801f, 0.013410f, 0.041989f, 0.060608f, 0.121579f, 0.119566f, 0.114317f, 0.102685f, 0.089748f, 0.019263f, - -0.052818f, -0.085898f, -0.153609f, -0.131861f, -0.096258f, -0.131066f, -0.060894f, -0.027314f, 0.005747f, 0.128733f, 0.100820f, 0.148071f, 0.146182f, 0.106878f, 0.029869f, -0.029486f, -0.043756f, -0.050657f, -0.045247f, -0.087101f, -0.107819f, -0.075279f, -0.051483f, -0.045464f, 0.005691f, 0.030293f, 0.048149f, 0.041513f, 0.086671f, 0.094789f, 0.071609f, 0.056976f, 0.009497f, -0.020064f, -0.040914f, -0.066913f, -0.057499f, -0.040810f, -0.064214f, -0.087014f, -0.009209f, 0.004979f, -0.014326f, 0.074865f, 0.098884f, 0.063220f, 0.055584f, 0.004064f, 0.015710f, -0.010394f, -0.017418f, -0.043356f, -0.050828f, -0.033487f, -0.037992f, 0.005276f, -0.015163f, 0.004757f, 0.000752f, 0.033964f, 0.018366f, 0.017442f, 0.031917f, 0.032384f, 0.000066f, -0.008760f, -0.023149f, -0.023330f, -0.006579f, -0.005450f, -0.011168f, -0.011301f, 0.002221f, 0.002543f, -0.002726f, 0.005332f, 0.006174f, 0.005459f, 0.001728f, 0.020788f, 0.007756f, -0.000795f, 0.003304f, -0.001157f, -0.007619f, -0.008024f, -0.009150f, -0.010962f, -0.009642f, -0.003098f, -0.001659f, 0.000593f, 0.009120f, 0.011786f, 0.009153f, 0.008666f, - 0.004575f, 0.000796f, 0.000129f, -0.001505f, -0.008751f, -0.005238f, -0.000063f, -0.005654f, -0.008047f, -0.004232f, -0.000937f, 0.003642f, 0.002586f, 0.000078f, 0.002202f, 0.005842f, 0.004179f, 0.002587f, 0.005848f, 0.002813f, -0.000372f, -0.002669f, -0.004484f, -0.003717f, -0.003771f, -0.003153f, -0.002229f, -0.001708f, -0.000148f, 0.000423f, -0.000021f, 0.001010f, 0.002163f, 0.002000f, 0.003230f, 0.004389f, 0.002239f, 0.000585f, 0.001188f, -0.000814f, -0.001935f, -0.003047f, -0.003388f, -0.003122f, -0.002446f, -0.001224f, 0.000087f, 0.000121f, 0.001737f, 0.002216f, 0.001338f, 0.001576f, 0.002942f, 0.001900f, 0.000389f, -0.000839f, -0.000650f, -0.000702f, -0.001590f, -0.002273f, -0.001188f, -0.000621f, -0.000009f, 0.000233f, 0.000586f, 0.000390f, 0.000636f, 0.000275f, 0.000296f, -0.000015f, 0.000218f, -0.000063f, 0.000108f, -0.000133f, 0.000123f}, - {-0.006005f, -0.008016f, -0.011238f, 0.003637f, -0.005367f, -0.011574f, -0.007015f, 0.004914f, -0.014075f, -0.008174f, -0.017267f, 0.005844f, 0.008065f, 0.009719f, 0.005674f, -0.006368f, 0.013507f, -0.009321f, 0.002921f, 0.000037f, -0.001667f, -0.009836f, -0.004674f, -0.010794f, 0.000654f, -0.004726f, 0.006151f, 0.003673f, -0.004794f, -0.001849f, -0.000910f, -0.009926f, -0.000163f, -0.002392f, 0.004546f, -0.000411f, 0.009003f, -0.003357f, 0.011328f, -0.005039f, 0.000383f, 0.001547f, -0.007856f, 0.005390f, -0.002244f, -0.003346f, 0.001156f, -0.002428f, 0.004482f, -0.017206f, 0.008100f, 0.009984f, 0.001666f, 0.005573f, 0.003347f, -0.007747f, -0.000818f, -0.008387f, 0.011299f, -0.003171f, -0.006773f, 0.006477f, -0.010055f, 0.000220f, 0.004089f, -0.011813f, 0.001510f, -0.002935f, -0.004297f, 0.003777f, 0.000978f, 0.000854f, -0.005379f, -0.003705f, -0.018536f, -0.002468f, 0.004117f, -0.003160f, 0.000984f, 0.002166f, 0.010002f, 0.008342f, 0.000570f, 0.002688f, 0.001266f, -0.001692f, -0.001316f, -0.002577f, -0.001261f, -0.000868f, -0.001837f, -0.001779f, -0.000012f, 0.001754f, 0.001267f, 0.001168f, - -0.002820f, -0.000054f, -0.000035f, -0.000853f, -0.000140f, 0.000652f, -0.000353f, 0.000066f, -0.001330f, -0.001136f, -0.001181f, -0.000087f, -0.001104f, 0.001705f, 0.002247f, 0.002303f, -0.026554f, -0.015972f, 0.002954f, -0.008633f, 0.001645f, -0.008907f, -0.015255f, -0.010169f, 0.017318f, 0.010068f, -0.002684f, 0.011718f, 0.002760f, 0.002871f, 0.003289f, -0.005697f, -0.001550f, 0.009521f, -0.007680f, 0.004316f, 0.006952f, -0.007455f, -0.011772f, 0.005378f, -0.009624f, 0.001056f, 0.005509f, 0.014114f, -0.003190f, -0.006829f, -0.005967f, 0.002185f, 0.007680f, -0.010457f, -0.000092f, 0.008572f, 0.003377f, 0.000887f, -0.000574f, -0.000822f, 0.011150f, -0.000444f, 0.010214f, 0.006699f, -0.002603f, 0.006674f, -0.002364f, -0.000629f, -0.001053f, -0.018680f, 0.006449f, 0.010526f, -0.006114f, -0.003501f, 0.002560f, 0.002848f, 0.002984f, 0.001624f, -0.001027f, -0.002277f, 0.000618f, -0.004719f, 0.012762f, -0.005755f, 0.001472f, 0.006912f, 0.005531f, -0.004596f, 0.005030f, 0.001567f, 0.003271f, 0.006980f, 0.006170f, -0.009298f, 0.009581f, 0.010604f, -0.003624f, 0.000149f, -0.000688f, 0.006913f, - -0.008518f, -0.004457f, 0.001852f, 0.001182f, 0.000311f, 0.000425f, -0.001824f, -0.002893f, 0.001697f, -0.001387f, -0.000743f, 0.000459f, 0.002423f, -0.001844f, -0.000439f, 0.000017f, -0.003348f, 0.001100f, -0.001990f, -0.002088f, -0.001616f, 0.001208f, 0.000168f, -0.001000f, -0.002005f, 0.000433f, -0.010525f, 0.013459f, 0.008808f, 0.020823f, -0.003454f, 0.002244f, 0.006378f, -0.010105f, -0.002096f, 0.004046f, -0.004176f, -0.013727f, -0.000813f, 0.001498f, 0.009227f, -0.011083f, -0.027115f, -0.021878f, -0.013483f, 0.005237f, 0.012899f, -0.012958f, 0.007306f, -0.006343f, 0.009968f, 0.007765f, 0.006758f, 0.011967f, 0.006659f, -0.009342f, -0.008640f, 0.001645f, 0.006393f, -0.000471f, 0.000551f, 0.016732f, -0.000125f, 0.002931f, 0.008326f, 0.008803f, 0.001463f, 0.000271f, 0.020667f, -0.001426f, -0.007754f, -0.002314f, 0.004700f, 0.006047f, -0.004001f, 0.011128f, 0.002185f, 0.005984f, -0.007943f, -0.007022f, -0.002708f, -0.004635f, 0.002697f, -0.003672f, 0.012103f, -0.013940f, -0.012458f, 0.015118f, -0.001578f, -0.000610f, -0.017544f, 0.005476f, -0.008506f, 0.009492f, -0.007297f, -0.019416f, - -0.000888f, 0.010022f, -0.008318f, 0.012948f, -0.007771f, 0.005974f, 0.012081f, -0.003396f, 0.005057f, 0.012176f, -0.000790f, -0.008955f, 0.000757f, 0.005958f, 0.002758f, -0.004325f, 0.008379f, 0.000575f, 0.004421f, 0.001681f, 0.001208f, 0.003188f, 0.000580f, -0.001246f, -0.000083f, 0.000458f, 0.001286f, -0.003362f, -0.001713f, -0.001745f, 0.003222f, 0.000406f, 0.003284f, 0.003429f, -0.003166f, 0.000798f, 0.000838f, -0.001812f, -0.001353f, -0.000635f, 0.000624f, -0.001642f, 0.000684f, -0.001717f, 0.032401f, 0.007630f, 0.008645f, 0.003707f, -0.007395f, 0.015547f, -0.007348f, -0.004405f, 0.019791f, -0.001491f, 0.015919f, -0.001681f, -0.018177f, 0.006432f, -0.006157f, 0.020066f, 0.010580f, -0.001402f, -0.017952f, -0.012568f, 0.016615f, 0.019684f, -0.022964f, 0.011513f, 0.009229f, 0.006921f, -0.001487f, 0.002229f, 0.001933f, -0.001747f, 0.022772f, -0.001037f, -0.003885f, -0.006278f, -0.007620f, -0.009744f, -0.003199f, -0.000522f, -0.013101f, -0.004674f, 0.003435f, -0.009141f, 0.000520f, 0.000522f, 0.013630f, -0.005112f, 0.000438f, 0.006331f, 0.000549f, 0.013015f, 0.005888f, 0.013532f, - 0.006704f, 0.004118f, -0.014305f, 0.001501f, -0.010597f, -0.009922f, 0.002383f, 0.013800f, -0.000529f, 0.011851f, -0.004960f, -0.008969f, -0.002072f, 0.000564f, 0.003499f, 0.008135f, -0.003754f, -0.000080f, -0.004444f, 0.004542f, 0.003122f, -0.011681f, 0.002281f, 0.002416f, 0.001559f, -0.003294f, 0.012224f, -0.001305f, -0.002379f, 0.001300f, 0.005740f, 0.002508f, -0.004005f, -0.001307f, -0.001619f, -0.002947f, 0.002406f, -0.003521f, 0.005769f, -0.003487f, -0.000680f, 0.000690f, -0.002719f, -0.000793f, 0.003208f, -0.003784f, -0.000857f, -0.004073f, 0.001583f, 0.001686f, 0.003273f, -0.004448f, 0.000885f, -0.001828f, 0.002248f, -0.001527f, -0.005307f, -0.001720f, 0.009139f, 0.006404f, 0.007349f, 0.020836f, 0.010902f, -0.009043f, -0.008085f, -0.022427f, -0.001457f, -0.000499f, -0.011968f, 0.004549f, 0.017997f, 0.002181f, -0.014180f, 0.013167f, 0.012512f, -0.001305f, 0.005002f, 0.012681f, 0.003005f, -0.011523f, -0.001779f, 0.026868f, 0.013217f, 0.002778f, -0.017726f, -0.006346f, 0.016169f, 0.005562f, -0.002416f, 0.009104f, 0.008140f, 0.008524f, -0.000069f, 0.016676f, -0.000152f, -0.002141f, - 0.004202f, -0.008287f, -0.010857f, -0.000551f, 0.001836f, 0.006198f, 0.003404f, -0.010147f, 0.010301f, 0.018080f, 0.009280f, -0.000500f, 0.013427f, -0.015294f, 0.008719f, -0.009114f, 0.009580f, -0.002558f, -0.011006f, -0.000564f, -0.014337f, -0.023470f, -0.008569f, -0.009330f, -0.001148f, -0.000105f, -0.012290f, 0.002377f, -0.003780f, 0.007121f, 0.004698f, 0.008435f, -0.001352f, 0.003391f, -0.011835f, 0.002044f, 0.001868f, 0.016479f, -0.006375f, -0.000526f, -0.005730f, 0.003475f, 0.014820f, 0.007613f, -0.008617f, -0.013779f, 0.004347f, -0.005516f, -0.001896f, 0.007160f, -0.001021f, 0.002401f, 0.001678f, -0.008209f, 0.000384f, -0.006266f, 0.001772f, -0.005953f, -0.004011f, -0.002175f, -0.000257f, -0.000809f, 0.001074f, -0.003817f, -0.000404f, -0.001292f, -0.003045f, -0.002574f, 0.000906f, -0.000678f, -0.001583f, 0.000396f, 0.001402f, 0.004550f, -0.001625f, 0.002657f, -0.001983f, -0.004605f, 0.003395f, -0.005038f, 0.004821f, -0.000468f, -0.003254f, -0.000563f, 0.001600f, 0.003527f, -0.002624f, -0.000359f, 0.000751f, -0.000904f, -0.021971f, -0.014517f, 0.031068f, -0.006791f, -0.006824f, 0.001834f, - -0.001095f, 0.033325f, -0.009744f, -0.017964f, 0.000434f, -0.017721f, 0.004416f, 0.014154f, 0.015199f, 0.004819f, -0.030926f, 0.025431f, -0.020013f, 0.010644f, -0.013683f, -0.010383f, -0.007662f, 0.012705f, 0.013642f, -0.020446f, 0.001615f, 0.008951f, -0.006355f, 0.004113f, 0.006001f, -0.007381f, 0.000941f, -0.016836f, -0.011330f, -0.025994f, 0.015397f, -0.003622f, 0.026215f, -0.012199f, 0.005686f, 0.017526f, -0.004380f, -0.005184f, -0.007757f, 0.020084f, 0.014647f, -0.024623f, 0.007024f, -0.013919f, -0.004685f, -0.005396f, -0.013844f, 0.008330f, 0.004403f, 0.021717f, 0.015267f, -0.027240f, -0.004474f, -0.011691f, 0.015920f, 0.005559f, 0.001365f, -0.015887f, 0.002377f, -0.001657f, 0.013378f, -0.002220f, 0.001670f, -0.018276f, -0.000423f, 0.013003f, -0.011983f, 0.002025f, -0.003785f, -0.003556f, -0.009686f, 0.001962f, -0.001280f, 0.023039f, 0.010148f, 0.010544f, -0.004221f, -0.002560f, -0.004006f, -0.006261f, -0.003370f, 0.005148f, -0.007052f, -0.002232f, -0.006917f, 0.005236f, 0.004384f, -0.003751f, -0.002120f, 0.004868f, -0.006512f, 0.003235f, 0.000986f, -0.001742f, -0.002072f, 0.001752f, - -0.000185f, -0.000585f, -0.001252f, 0.004255f, -0.006281f, 0.000840f, 0.000563f, 0.003186f, 0.003438f, 0.003447f, -0.003188f, 0.000946f, -0.002250f, 0.004602f, 0.001263f, 0.001093f, 0.003365f, 0.007581f, -0.008352f, 0.000572f, -0.017608f, -0.002201f, -0.020319f, 0.003181f, -0.005090f, 0.011665f, -0.000821f, 0.009898f, -0.013917f, -0.026201f, 0.005562f, 0.017635f, 0.002305f, -0.002122f, 0.013754f, 0.009260f, -0.021426f, -0.000338f, -0.008075f, 0.027135f, -0.001201f, 0.003166f, 0.002138f, 0.000286f, -0.000842f, -0.009725f, 0.021508f, -0.001818f, -0.030467f, -0.005713f, 0.018480f, -0.011890f, 0.003093f, -0.000475f, 0.002482f, -0.003805f, 0.002956f, -0.005595f, 0.007300f, -0.011678f, 0.011026f, 0.015457f, -0.012091f, -0.003075f, -0.007150f, -0.021210f, 0.008516f, -0.015054f, 0.013134f, -0.013230f, -0.022881f, -0.006244f, 0.013633f, -0.004238f, -0.008159f, 0.009114f, 0.012610f, 0.007215f, 0.013819f, 0.023615f, 0.019033f, -0.001210f, 0.003727f, 0.003235f, -0.012635f, 0.002431f, -0.013212f, -0.014410f, 0.007903f, -0.010988f, 0.003612f, -0.000634f, 0.008331f, 0.008452f, -0.010917f, 0.012741f, - -0.003448f, -0.005198f, -0.002312f, 0.008966f, -0.001609f, -0.008241f, -0.005597f, -0.011679f, 0.013413f, -0.006691f, -0.001718f, 0.002327f, -0.000515f, -0.004934f, -0.004180f, 0.000922f, 0.001813f, 0.000609f, -0.002297f, 0.003112f, 0.002315f, -0.002606f, 0.000285f, 0.002013f, 0.001262f, -0.001577f, 0.000008f, -0.002126f, 0.000887f, -0.003576f, -0.003269f, 0.002066f, 0.001081f, 0.004479f, 0.004924f, 0.000446f, 0.003404f, 0.000073f, -0.000190f, -0.029937f, -0.025104f, 0.014655f, 0.026827f, 0.000046f, -0.001588f, 0.005167f, -0.012900f, -0.006203f, -0.031006f, -0.016460f, -0.008785f, -0.000246f, -0.022553f, 0.032299f, 0.006411f, 0.017992f, -0.020561f, -0.024494f, -0.018454f, -0.007152f, 0.004910f, -0.027814f, -0.012469f, 0.012924f, -0.005524f, -0.033842f, -0.011488f, 0.004586f, 0.000357f, 0.021027f, 0.007064f, -0.006584f, -0.016062f, 0.020000f, -0.011601f, -0.001153f, 0.015060f, 0.004470f, -0.016404f, -0.008409f, -0.001277f, -0.027403f, 0.006901f, 0.021330f, -0.009284f, -0.011755f, 0.003106f, -0.013863f, -0.005128f, 0.002771f, -0.008848f, -0.006746f, 0.007222f, -0.010330f, -0.021874f, 0.010829f, - -0.012476f, -0.016293f, -0.022415f, -0.011185f, 0.002228f, -0.008929f, 0.003719f, 0.027588f, 0.015565f, -0.003330f, 0.026273f, 0.026716f, -0.011561f, 0.003743f, 0.007409f, -0.013796f, -0.008978f, -0.029252f, 0.003016f, -0.009345f, -0.023681f, -0.000201f, 0.012468f, 0.022076f, 0.013562f, 0.006511f, 0.002460f, -0.019861f, -0.002495f, -0.004496f, 0.005217f, -0.007482f, -0.000871f, 0.000516f, -0.000285f, 0.004845f, 0.000930f, -0.001750f, 0.004276f, -0.001715f, -0.006273f, 0.005107f, -0.004205f, -0.005573f, 0.000857f, 0.002128f, 0.001889f, 0.000507f, 0.006113f, -0.000561f, 0.003913f, 0.002354f, 0.000468f, 0.001298f, -0.000035f, -0.004689f, 0.001072f, -0.006470f, 0.001518f, -0.010373f, -0.002598f, -0.000395f, -0.006881f, -0.008115f, -0.001072f, -0.008022f, -0.001505f, -0.001660f, -0.009225f, -0.019087f, 0.048610f, -0.001923f, 0.029812f, -0.015002f, -0.042527f, 0.012143f, 0.003699f, -0.001690f, -0.019918f, -0.001963f, -0.013107f, 0.033697f, 0.024724f, 0.022049f, 0.016167f, -0.026439f, -0.000119f, 0.003620f, 0.023502f, -0.040133f, -0.004516f, -0.009833f, -0.011689f, 0.006013f, -0.013182f, 0.005139f, - 0.008971f, 0.006632f, 0.007176f, 0.009288f, -0.002757f, -0.003959f, -0.019479f, -0.004658f, -0.002949f, 0.019151f, 0.000029f, -0.017551f, -0.004096f, 0.020841f, -0.002400f, 0.012122f, 0.015616f, -0.011310f, -0.006661f, -0.025852f, -0.014996f, 0.050574f, 0.013349f, 0.022503f, 0.012121f, 0.002926f, 0.001926f, -0.032061f, 0.019023f, 0.003000f, 0.005600f, 0.016362f, 0.017872f, 0.027788f, -0.031969f, -0.013214f, -0.017732f, -0.002245f, 0.004459f, -0.004227f, -0.008945f, -0.005252f, -0.026809f, -0.033720f, -0.021878f, -0.031602f, -0.004082f, -0.020655f, -0.035363f, -0.014956f, 0.011519f, 0.019383f, -0.007351f, -0.030260f, -0.001054f, -0.004569f, 0.007189f, -0.008319f, 0.001969f, 0.017397f, 0.000823f, -0.001275f, -0.001058f, 0.002217f, 0.003083f, -0.005137f, -0.004600f, -0.012158f, -0.013610f, 0.007266f, -0.003719f, 0.006503f, 0.005902f, -0.002214f, 0.004027f, 0.005365f, 0.009821f, 0.006957f, -0.004237f, 0.002160f, 0.012510f, 0.002412f, -0.012603f, -0.010433f, -0.005678f, -0.002628f, 0.000975f, -0.004433f, 0.007254f, 0.007984f, -0.001894f, 0.012045f, 0.001612f, -0.003347f, -0.002556f, 0.002808f, - -0.006954f, 0.065253f, 0.014782f, -0.009429f, -0.013535f, 0.002088f, -0.020936f, -0.040937f, 0.030141f, 0.000128f, 0.019404f, -0.014665f, 0.014043f, 0.033503f, -0.003298f, 0.003738f, -0.008421f, 0.029162f, 0.024572f, 0.009528f, -0.039497f, 0.002861f, 0.005835f, 0.024424f, 0.035563f, -0.010490f, -0.007252f, -0.004698f, 0.009552f, 0.012694f, 0.010575f, -0.017971f, 0.008238f, -0.020715f, 0.015875f, 0.021166f, -0.010091f, -0.020951f, 0.013255f, -0.022798f, -0.020838f, -0.000870f, 0.006082f, 0.029715f, 0.003610f, -0.004066f, 0.025335f, -0.004690f, 0.022760f, 0.042019f, 0.021082f, 0.000485f, -0.026655f, -0.002532f, -0.015344f, -0.012449f, 0.026866f, 0.010496f, -0.027031f, -0.000309f, -0.020659f, -0.005236f, 0.035610f, 0.016376f, 0.005213f, 0.015246f, 0.021458f, 0.011122f, -0.028669f, 0.014799f, 0.023966f, 0.008218f, -0.019584f, 0.008096f, 0.002301f, 0.004115f, -0.015319f, 0.023679f, -0.006490f, -0.005677f, 0.028484f, 0.030176f, 0.004474f, 0.008597f, 0.032820f, 0.001942f, 0.016217f, -0.011487f, -0.000324f, 0.018905f, 0.010971f, -0.008351f, 0.009779f, 0.017067f, -0.004589f, 0.000155f, - 0.021765f, 0.004508f, 0.009284f, -0.006414f, -0.010832f, -0.003276f, 0.006102f, 0.003181f, 0.005038f, 0.005162f, -0.003517f, -0.003373f, -0.002785f, 0.001702f, 0.006556f, 0.007902f, -0.005244f, -0.001562f, 0.013589f, 0.002017f, 0.018206f, -0.003234f, 0.004993f, -0.002432f, 0.002375f, 0.008214f, 0.005046f, 0.000700f, -0.000073f, -0.007653f, -0.005344f, -0.003851f, -0.008169f, 0.010496f, 0.009434f, -0.015857f, -0.000821f, -0.020259f, -0.047679f, 0.016467f, -0.019004f, 0.005272f, 0.001670f, 0.033408f, -0.023035f, -0.020362f, -0.008571f, -0.009321f, -0.012323f, 0.024672f, -0.021890f, -0.030885f, 0.009211f, -0.057710f, 0.001672f, -0.010882f, -0.024426f, 0.031020f, -0.002010f, -0.001853f, 0.013039f, -0.012321f, 0.009794f, -0.003142f, -0.034482f, -0.037641f, -0.000398f, 0.007919f, 0.022027f, 0.010625f, -0.002534f, -0.003994f, -0.021694f, -0.010294f, 0.021737f, -0.034060f, 0.046930f, 0.027856f, 0.006252f, 0.034688f, -0.023200f, -0.009965f, -0.021242f, -0.021735f, -0.009407f, 0.015818f, 0.044316f, 0.000357f, -0.022932f, -0.003897f, 0.002137f, -0.002520f, -0.002398f, -0.014131f, 0.011931f, 0.010937f, - 0.029866f, -0.000598f, 0.033772f, 0.017369f, 0.009261f, -0.000898f, 0.007183f, -0.050537f, 0.026594f, -0.006480f, -0.029570f, 0.021023f, -0.000054f, 0.027690f, 0.012287f, -0.046844f, 0.036271f, 0.028276f, -0.024509f, 0.039340f, 0.015137f, 0.029373f, 0.011643f, -0.004163f, -0.001670f, -0.001308f, -0.005543f, -0.010377f, -0.003189f, 0.004283f, -0.010339f, -0.015754f, 0.000115f, -0.010304f, -0.018452f, -0.011078f, -0.013827f, 0.008672f, -0.008510f, 0.010682f, 0.002850f, 0.010900f, 0.005166f, -0.001286f, -0.005903f, 0.001813f, 0.001021f, -0.000909f, 0.001506f, -0.003324f, -0.007672f, 0.003614f, -0.000725f, 0.004427f, 0.004842f, 0.000130f, 0.004089f, 0.001851f, 0.007069f, 0.006029f, -0.011123f, -0.006725f, -0.009977f, -0.018613f, -0.013080f, -0.089538f, -0.006682f, 0.052576f, -0.009548f, 0.001255f, 0.046386f, -0.011050f, 0.000713f, 0.005319f, 0.012495f, -0.014224f, 0.012464f, -0.005111f, -0.015263f, 0.014561f, 0.017714f, -0.052481f, 0.006311f, -0.046746f, -0.001112f, -0.024386f, -0.026076f, -0.006097f, -0.007743f, -0.025814f, 0.012892f, 0.003858f, 0.016224f, 0.021595f, -0.031520f, 0.039460f, - 0.002875f, -0.037615f, 0.003183f, -0.026080f, -0.012876f, -0.028027f, -0.025076f, -0.011232f, 0.026506f, -0.023099f, 0.012682f, 0.026355f, -0.015918f, -0.028863f, -0.026191f, -0.038900f, -0.041471f, -0.024777f, -0.011746f, 0.002873f, -0.006201f, 0.011086f, 0.007954f, -0.025014f, -0.001727f, 0.027348f, 0.015994f, -0.041336f, 0.016153f, -0.003493f, -0.011342f, -0.038334f, 0.025685f, -0.014003f, 0.035422f, 0.044336f, 0.001230f, 0.042146f, -0.023353f, 0.024277f, -0.018373f, 0.026132f, 0.033832f, 0.002525f, -0.044421f, -0.001782f, -0.060642f, 0.019242f, 0.013185f, 0.023687f, 0.011476f, -0.024200f, -0.020640f, -0.000806f, -0.013833f, 0.013308f, -0.014970f, -0.000930f, -0.000906f, -0.015339f, -0.011660f, 0.009832f, -0.005826f, -0.017303f, -0.001588f, 0.004841f, 0.012602f, 0.006333f, 0.027314f, -0.003253f, 0.002314f, -0.008548f, 0.019160f, -0.003131f, -0.004142f, 0.016377f, -0.000919f, 0.002089f, 0.004003f, 0.022219f, -0.003637f, -0.009643f, 0.002352f, 0.015209f, 0.014782f, -0.015320f, -0.001445f, 0.009895f, -0.017243f, 0.009198f, -0.002783f, 0.011905f, 0.000731f, -0.015116f, -0.008173f, 0.006730f, - 0.007708f, 0.009137f, 0.006972f, -0.042471f, 0.034337f, -0.080985f, -0.004769f, -0.007767f, -0.006733f, 0.007456f, -0.046444f, 0.003197f, -0.009131f, -0.004032f, 0.021239f, 0.008286f, 0.024709f, -0.019130f, 0.017496f, -0.009166f, -0.041249f, -0.016700f, -0.030267f, -0.018908f, 0.020021f, -0.036119f, 0.004765f, -0.013421f, -0.027258f, -0.004938f, 0.026751f, -0.035906f, -0.034419f, 0.014052f, 0.020776f, -0.001222f, -0.016246f, 0.019267f, 0.020495f, 0.024946f, 0.021622f, 0.008872f, 0.029575f, 0.034898f, -0.018700f, 0.005181f, -0.016479f, 0.043800f, -0.003475f, -0.030406f, 0.036667f, 0.015990f, 0.008878f, -0.017436f, -0.022996f, 0.005336f, 0.014018f, 0.013949f, -0.001143f, -0.019155f, 0.014606f, -0.022296f, 0.000729f, -0.022003f, 0.067846f, 0.010398f, -0.019387f, 0.055588f, -0.006722f, 0.016964f, -0.014330f, 0.027890f, 0.041649f, -0.025876f, 0.039792f, 0.042071f, 0.055102f, 0.042183f, 0.004038f, 0.031312f, -0.024497f, -0.004916f, 0.005997f, -0.013691f, 0.024379f, 0.001029f, -0.001477f, -0.002488f, -0.006986f, 0.011772f, 0.006063f, 0.033274f, -0.010846f, 0.012255f, -0.007250f, 0.000148f, - 0.006365f, 0.009768f, -0.013968f, 0.005120f, 0.014038f, -0.006123f, -0.015689f, -0.003123f, -0.025219f, 0.008694f, 0.007963f, 0.006800f, -0.006590f, 0.004130f, 0.013361f, 0.007435f, -0.003130f, 0.012695f, 0.005809f, -0.008361f, -0.004151f, -0.002716f, 0.020923f, 0.027066f, 0.014516f, 0.006218f, 0.004962f, 0.009236f, 0.016198f, -0.010818f, -0.004252f, 0.007250f, -0.001609f, 0.001454f, 0.007526f, -0.006448f, 0.083699f, 0.021520f, -0.013938f, -0.012414f, 0.019660f, 0.005352f, 0.008540f, -0.002180f, -0.033061f, 0.027851f, -0.075838f, 0.008209f, 0.017000f, -0.003481f, -0.013632f, -0.029290f, -0.013126f, 0.003393f, 0.022850f, 0.034432f, -0.020155f, -0.044400f, -0.035547f, -0.005177f, 0.001592f, -0.026207f, 0.053989f, -0.025143f, -0.016144f, 0.022097f, -0.007283f, 0.003909f, -0.004551f, 0.046017f, 0.007960f, -0.046299f, 0.018574f, 0.005781f, 0.032248f, -0.011496f, 0.003724f, -0.019190f, 0.016149f, 0.006970f, 0.040582f, -0.009898f, 0.018454f, 0.019061f, -0.024121f, -0.026941f, 0.002167f, 0.024419f, -0.047218f, -0.056206f, -0.016275f, -0.023119f, -0.002785f, -0.008202f, 0.005830f, 0.012677f, - -0.011140f, 0.001872f, -0.064589f, -0.055118f, 0.044034f, 0.046474f, -0.055917f, -0.043204f, -0.053810f, -0.028333f, -0.022145f, 0.027972f, -0.029274f, -0.052152f, 0.001758f, 0.002212f, -0.031656f, -0.006827f, 0.045614f, -0.006880f, 0.002746f, 0.014563f, -0.000244f, 0.002564f, -0.001782f, -0.016101f, -0.019718f, -0.001105f, -0.005443f, 0.013031f, -0.001890f, -0.001287f, -0.014221f, 0.007208f, -0.022118f, -0.000555f, 0.007032f, 0.007382f, 0.010943f, 0.012135f, 0.002462f, 0.006864f, -0.004767f, 0.001129f, -0.011170f, 0.004116f, 0.001342f, -0.012854f, 0.013355f, 0.013141f, -0.020465f, 0.001265f, 0.015267f, 0.012445f, 0.023490f, -0.004839f, -0.026909f, 0.007528f, 0.009028f, -0.013368f, 0.008773f, -0.014881f, -0.006842f, -0.002302f, -0.004548f, -0.012632f, 0.004753f, -0.046245f, -0.005856f, -0.011040f, 0.013789f, -0.021796f, -0.006166f, -0.072008f, 0.063772f, 0.041303f, -0.007110f, 0.087908f, -0.008775f, -0.047878f, -0.004591f, 0.019907f, -0.029882f, -0.039002f, -0.008394f, -0.026549f, -0.001405f, 0.007688f, -0.040440f, 0.059379f, 0.001837f, 0.006600f, -0.037313f, -0.010478f, 0.003880f, -0.010385f, - 0.009362f, 0.013717f, 0.048498f, 0.008959f, -0.002603f, 0.039543f, 0.032303f, -0.011230f, 0.019009f, -0.024557f, 0.006894f, 0.022245f, 0.021265f, 0.055240f, -0.054451f, 0.033678f, 0.100713f, 0.001012f, 0.016456f, 0.034776f, 0.003851f, 0.007147f, 0.016198f, 0.012845f, -0.033777f, -0.039858f, -0.014684f, 0.032592f, 0.009546f, -0.041422f, -0.022683f, -0.001520f, -0.020120f, 0.037417f, 0.003334f, 0.028974f, -0.063717f, -0.039107f, 0.018492f, 0.043983f, 0.026675f, 0.017920f, 0.060459f, 0.035689f, -0.025479f, 0.042032f, -0.031471f, -0.006052f, -0.004572f, 0.023788f, -0.004991f, -0.025662f, 0.022546f, 0.010193f, 0.002115f, -0.029472f, 0.020623f, -0.000091f, 0.000361f, -0.012947f, 0.017380f, -0.013839f, -0.011505f, -0.010520f, 0.008271f, -0.010989f, -0.021884f, 0.007721f, 0.001512f, 0.000240f, -0.011916f, -0.001915f, -0.014914f, -0.012351f, -0.011928f, -0.007104f, -0.004607f, -0.005182f, -0.004539f, 0.002534f, 0.000425f, -0.027791f, 0.018969f, 0.007914f, -0.008914f, -0.020433f, -0.029739f, -0.000263f, -0.016189f, -0.010450f, 0.010772f, -0.007362f, 0.018464f, 0.009689f, -0.006463f, 0.003728f, - 0.017284f, -0.007225f, -0.002820f, -0.007739f, 0.014587f, 0.003993f, 0.006103f, -0.014127f, 0.029839f, -0.084020f, 0.001787f, -0.000574f, -0.002693f, -0.010673f, 0.039239f, 0.003086f, -0.022577f, -0.042145f, 0.042648f, -0.037900f, 0.000990f, 0.027331f, 0.022034f, -0.029816f, -0.007961f, -0.047990f, -0.000199f, 0.013650f, 0.016740f, 0.019325f, 0.005123f, -0.031292f, -0.038886f, 0.031910f, 0.016544f, 0.015841f, 0.006296f, 0.016115f, 0.004890f, 0.023464f, -0.041933f, -0.071128f, 0.019726f, -0.010838f, -0.015092f, 0.039503f, -0.006911f, -0.021241f, 0.035063f, 0.032916f, 0.027474f, -0.002658f, -0.017828f, -0.030683f, -0.007860f, -0.040543f, 0.095024f, -0.008235f, 0.034241f, 0.007206f, -0.031510f, 0.025762f, -0.012031f, -0.030379f, 0.029710f, 0.023415f, -0.052217f, 0.036297f, -0.005536f, 0.050402f, -0.051095f, -0.038732f, 0.051603f, -0.002254f, -0.041714f, 0.042503f, -0.015614f, 0.072700f, -0.030890f, -0.025173f, -0.043945f, 0.027789f, 0.005204f, -0.035925f, 0.014312f, -0.046651f, -0.033919f, 0.002927f, 0.030206f, -0.026814f, -0.016286f, -0.052968f, -0.047846f, 0.056080f, -0.006442f, 0.024375f, - 0.039479f, 0.053209f, 0.000306f, -0.005506f, -0.004086f, 0.013979f, 0.021465f, 0.003897f, 0.009881f, 0.032740f, 0.014447f, 0.018006f, 0.010799f, 0.008154f, -0.006365f, -0.003123f, 0.020271f, 0.015318f, 0.026550f, -0.012600f, 0.017527f, 0.018367f, -0.028829f, 0.007320f, 0.007352f, -0.015802f, -0.007972f, -0.000089f, 0.007365f, -0.012842f, 0.020919f, 0.001111f, -0.004717f, -0.005978f, 0.017777f, 0.000639f, 0.005618f, 0.001587f, 0.005066f, 0.003986f, -0.016069f, -0.008071f, -0.011983f, 0.001457f, -0.000140f, 0.008860f, 0.011544f, -0.010321f, -0.024039f, 0.062270f, -0.014205f, 0.042158f, -0.065977f, -0.011633f, -0.001532f, -0.078777f, -0.017317f, 0.011355f, 0.038674f, -0.019427f, -0.018479f, 0.001664f, -0.006091f, 0.055218f, -0.005280f, -0.027845f, 0.058597f, -0.007330f, -0.003044f, 0.011003f, -0.023436f, 0.050601f, 0.003329f, -0.010398f, 0.024250f, 0.020734f, -0.027667f, -0.009537f, -0.012849f, 0.039388f, -0.078868f, -0.001409f, -0.015312f, -0.027888f, 0.013481f, -0.028355f, 0.045886f, -0.012097f, -0.056840f, -0.005954f, 0.086306f, -0.052420f, 0.037806f, -0.058436f, -0.016829f, 0.058080f, - 0.042459f, -0.031404f, 0.014726f, -0.038288f, -0.050285f, 0.010659f, -0.022128f, 0.021873f, 0.006308f, -0.003553f, 0.008528f, -0.073659f, -0.028814f, -0.037569f, -0.053839f, 0.024966f, -0.020456f, -0.015022f, -0.029867f, -0.052344f, -0.044013f, 0.034427f, -0.006910f, 0.107450f, 0.018821f, 0.009891f, 0.038358f, 0.067564f, 0.008819f, -0.048803f, 0.059282f, 0.044847f, -0.037958f, 0.010002f, -0.009646f, -0.037820f, -0.029811f, -0.025570f, -0.002969f, -0.023346f, 0.008716f, 0.015786f, 0.005471f, -0.018200f, 0.031515f, 0.004877f, 0.014517f, -0.004368f, -0.005591f, 0.014914f, 0.009078f, -0.015180f, -0.013700f, -0.013128f, 0.014398f, 0.006855f, 0.017412f, 0.018513f, 0.000610f, -0.010010f, 0.013978f, -0.008090f, 0.030111f, 0.014272f, -0.036442f, -0.007227f, -0.026922f, 0.003186f, -0.008926f, -0.013003f, 0.037695f, -0.002089f, -0.011967f, 0.009633f, 0.011688f, -0.013857f, -0.003002f, -0.019040f, 0.008208f, 0.013641f, -0.002885f, -0.006066f, 0.001897f, -0.012839f, -0.003633f, -0.002053f, 0.017529f, 0.041912f, -0.024850f, -0.031508f, 0.035415f, -0.056296f, -0.006716f, -0.011472f, 0.003240f, 0.039929f, - -0.026109f, 0.044300f, 0.018832f, 0.010213f, 0.013112f, -0.071833f, 0.048865f, 0.009334f, -0.050714f, 0.020034f, -0.053786f, 0.009379f, 0.072046f, -0.008726f, -0.042727f, -0.045195f, 0.019347f, 0.032985f, 0.026406f, 0.014340f, -0.047592f, -0.032320f, -0.014767f, -0.008572f, 0.061558f, -0.038720f, -0.023424f, 0.091989f, -0.050989f, -0.003632f, 0.036327f, 0.000483f, 0.038272f, -0.005270f, -0.030903f, -0.020368f, -0.056142f, 0.029007f, 0.039904f, -0.059526f, 0.089525f, 0.030178f, -0.067530f, -0.061210f, -0.058734f, -0.069990f, -0.056927f, 0.003340f, 0.028114f, 0.005943f, -0.047432f, -0.017521f, 0.031660f, -0.000408f, -0.029714f, 0.033154f, -0.063839f, 0.004533f, -0.014697f, -0.058535f, -0.055081f, 0.010035f, -0.021917f, 0.042161f, -0.076376f, -0.009762f, -0.027053f, -0.055403f, 0.003824f, 0.090583f, 0.023095f, -0.039303f, 0.019356f, -0.048504f, 0.019912f, -0.019362f, 0.001737f, 0.003274f, 0.025500f, -0.002140f, 0.008725f, 0.032693f, 0.000341f, -0.017159f, -0.008178f, 0.026357f, 0.018221f, 0.012495f, 0.006301f, -0.049876f, -0.005135f, 0.004500f, 0.028317f, 0.014845f, -0.026184f, 0.000213f, - 0.003012f, 0.044873f, 0.002477f, 0.014920f, -0.013636f, -0.007938f, 0.006527f, 0.015185f, -0.001797f, -0.012237f, -0.024763f, 0.004454f, -0.009372f, -0.016298f, 0.008463f, -0.011096f, -0.012221f, 0.017974f, -0.013706f, -0.018869f, -0.027327f, -0.023258f, -0.004449f, 0.008077f, 0.000120f, -0.020053f, 0.017546f, 0.044500f, -0.110288f, -0.100553f, -0.088584f, -0.056032f, 0.022140f, -0.023292f, 0.112085f, 0.030477f, -0.012899f, -0.025263f, -0.015132f, 0.032570f, -0.074331f, 0.086569f, 0.112857f, 0.045780f, -0.007791f, 0.090469f, -0.029479f, 0.054900f, 0.102426f, -0.018386f, 0.004727f, 0.019831f, 0.136588f, -0.034450f, -0.009697f, 0.082186f, 0.029988f, 0.026686f, -0.023603f, -0.083479f, 0.004714f, -0.066105f, 0.030620f, -0.082018f, -0.097556f, -0.000840f, -0.006661f, -0.067038f, -0.004730f, -0.032476f, -0.070205f, -0.054910f, -0.091267f, -0.004060f, 0.090685f, -0.029120f, -0.018870f, -0.084565f, -0.046705f, -0.031049f, -0.030397f, 0.028826f, -0.022113f, 0.153163f, -0.037590f, -0.002022f, -0.057270f, 0.115580f, 0.093489f, -0.067062f, 0.075740f, -0.026969f, -0.113664f, -0.020049f, -0.012276f, 0.023601f, - -0.027600f, -0.025509f, -0.015643f, -0.045558f, 0.011603f, 0.056223f, -0.068138f, -0.009564f, 0.017651f, 0.011549f, -0.078928f, 0.050147f, 0.033848f, 0.115896f, -0.051103f, 0.031673f, 0.047364f, -0.003097f, 0.011876f, -0.001708f, 0.015349f, -0.013096f, 0.036093f, 0.015717f, 0.028965f, 0.025774f, 0.000811f, 0.026535f, 0.007024f, -0.010296f, 0.026896f, -0.001977f, 0.003441f, 0.002781f, 0.018389f, 0.014223f, -0.022095f, -0.016611f, -0.027703f, 0.039949f, -0.028566f, 0.005643f, 0.023407f, 0.010047f, 0.043501f, 0.038104f, 0.065476f, 0.045305f, 0.036629f, 0.002206f, 0.023664f, -0.035503f, 0.030911f, 0.023637f, -0.009219f, -0.034175f, -0.064883f, -0.025246f, 0.017106f, -0.035863f, -0.014640f, -0.026181f, -0.063640f, -0.054449f, -0.026971f, -0.040666f, -0.025425f, -0.035089f, -0.045533f, -0.047149f, -0.016071f, -0.013953f, -0.022445f, -0.034800f, -0.020439f, -0.031140f, -0.022832f, -0.025524f, -0.008494f, -0.012234f, -0.011023f, -0.013257f, -0.011898f, -0.017228f, -0.009617f, -0.034611f, 0.046352f, 0.194624f, 0.022716f, -0.122031f, -0.030261f, -0.043156f, 0.009400f, 0.060747f, 0.109254f, 0.031201f, - -0.091628f, -0.001770f, 0.063491f, 0.013771f, 0.001435f, -0.002866f, 0.016610f, -0.008783f, -0.011088f, 0.075391f, 0.047316f, 0.042099f, -0.064066f, -0.041632f, 0.043684f, 0.016845f, 0.025810f, -0.022282f, 0.008077f, 0.083988f, 0.002018f, 0.071205f, 0.037482f, 0.038821f, 0.069668f, 0.010037f, -0.036945f, 0.008499f, -0.042318f, 0.010558f, 0.029496f, 0.007428f, 0.113881f, -0.038090f, -0.073421f, -0.070853f, 0.087941f, 0.040478f, 0.046824f, 0.031925f, -0.050426f, -0.063357f, -0.038586f, -0.002289f, 0.019103f, -0.013955f, 0.030982f, 0.058157f, -0.004092f, 0.042128f, 0.038310f, -0.059198f, -0.011805f, 0.016657f, -0.027803f, -0.025158f, -0.029196f, -0.097575f, -0.016632f, 0.041933f, 0.003528f, 0.084813f, 0.056477f, -0.041462f, 0.029858f, 0.000235f, -0.028517f, -0.024123f, -0.047369f, -0.105488f, -0.056422f, 0.004036f, 0.001606f, -0.023568f, -0.006606f, -0.011224f, 0.033346f, 0.034868f, 0.017852f, -0.006679f, 0.002189f, 0.026351f, -0.013637f, 0.016419f, -0.047879f, -0.022852f, -0.006704f, 0.025088f, -0.007090f, 0.009691f, 0.016086f, 0.016050f, 0.001586f, 0.045097f, -0.037107f, -0.033305f, - -0.033812f, 0.023320f, -0.022207f, -0.034772f, -0.034659f, 0.023613f, -0.012055f, -0.025445f, -0.013910f, 0.017651f, 0.003667f, 0.026029f, -0.045307f, -0.029548f, -0.006212f, -0.003281f, 0.007681f, 0.020173f, -0.010942f, -0.017938f, 0.028513f, -0.015937f, -0.019968f, -0.016742f, 0.027365f, -0.007997f, -0.016780f, 0.008222f, -0.003447f, -0.015987f, -0.001490f, -0.021214f, -0.015095f, -0.009620f, -0.003295f, -0.006775f, 0.002644f, -0.005465f, 0.000154f, -0.002017f, 0.001335f, -0.010824f, -0.000671f, -0.004002f, -0.000510f, -0.006063f, -0.000116f, -0.009484f, 0.000870f, -0.007223f, 0.000626f, -0.006141f, 0.000598f, -0.002601f, 0.002254f, -0.004223f, 0.000968f, -0.005637f, 0.000023f, -0.006036f, -0.001614f, -0.007809f, -0.001106f, -0.005730f, -0.001460f, -0.005154f, -0.001190f, -0.003236f, -0.001384f, -0.005361f, -0.000911f, -0.002332f, -0.000443f, -0.003174f, -0.000144f, -0.004358f, -0.000522f, -0.002935f, -0.001461f, -0.001829f, -0.001185f, -0.002987f, -0.000849f, -0.002256f, -0.002053f, -0.001358f, -0.001056f, -0.001885f, -0.000704f, -0.001806f, -0.013008f, -0.045276f, 0.003241f, 0.155447f, 0.037386f, 0.066504f, - -0.034137f, -0.137977f, -0.073098f, -0.101073f, -0.036836f, 0.071195f, 0.156778f, 0.072824f, 0.015568f, -0.073615f, -0.073285f, 0.052005f, 0.076946f, 0.041125f, 0.093899f, -0.002149f, -0.064876f, -0.089970f, -0.046809f, -0.012268f, 0.069237f, 0.010656f, 0.039155f, 0.038643f, 0.004155f, 0.097189f, 0.064765f, -0.005438f, -0.011169f, -0.085920f, -0.023434f, 0.000041f, -0.000221f, 0.052232f, 0.087851f, 0.056927f, 0.041129f, 0.086310f, 0.046719f, -0.085660f, -0.072430f, -0.020062f, -0.057204f, 0.060472f, 0.037757f, 0.088548f, 0.065468f, 0.078557f, 0.020667f, 0.015521f, -0.064907f, -0.063838f, -0.063772f, 0.023789f, 0.029488f, 0.001836f, -0.010368f, 0.138587f, 0.032608f, -0.007373f, -0.014876f, 0.095550f, -0.101631f, 0.023022f, -0.191728f, -0.040378f, 0.045523f, -0.064316f, 0.060000f, 0.037143f, -0.000988f, 0.138479f, 0.062746f, -0.075337f, -0.155967f, -0.072004f, -0.071712f, -0.035797f, -0.027867f, -0.017794f, 0.065403f, 0.044892f, 0.088906f, 0.013059f, -0.068811f, -0.043934f, -0.072109f, -0.063165f, -0.066863f, 0.030854f, 0.004155f, 0.030551f, 0.036793f, -0.016082f, 0.033884f, 0.021160f, - -0.026938f, -0.000716f, -0.029633f, -0.006692f, -0.061798f, -0.061114f, -0.025660f, -0.025264f, -0.000855f, -0.057080f, 0.029678f, -0.001956f, 0.009055f, 0.018982f, -0.041601f, -0.079798f, -0.076307f, -0.001607f, 0.014364f, 0.019429f, 0.046944f, 0.014606f, -0.026497f, -0.043790f, 0.013427f, -0.015051f, -0.025032f, 0.011754f, -0.222371f, -0.134469f, -0.074713f, 0.066136f, 0.017714f, 0.303042f, 0.321510f, 0.196816f, 0.356619f, 0.293046f, 0.308329f, 0.215056f, 0.260728f, 0.213106f, 0.003013f, -0.100390f, -0.145215f, -0.137903f, -0.290784f, -0.347092f, -0.364375f, -0.252980f, -0.200471f, -0.077739f, 0.012956f, -0.101960f, 0.061867f, -0.128718f, -0.047768f, -0.008092f, -0.040997f, 0.031479f, -0.119797f, 0.164182f, 0.026960f, 0.149740f, 0.094757f, 0.056477f, 0.037961f, 0.083201f, 0.052753f, 0.085309f, 0.193547f, 0.185626f, 0.146448f, 0.181425f, 0.227609f, 0.208828f, 0.195238f, 0.360687f, 0.125320f, 0.254014f, 0.329069f, 0.227548f, 0.298824f, 0.159921f, 0.212658f, 0.167747f, 0.199562f, 0.217735f, 0.079413f, 0.141254f, 0.105591f, 0.132257f, 0.126271f, 0.035534f, -0.025837f, -0.137118f, - -0.051982f, -0.183199f, -0.161704f, -0.271353f, -0.308969f, -0.309488f, -0.655489f, -0.553580f, -0.596023f, -0.589785f, -0.689882f, -0.696250f, -0.430744f, -0.499480f, -0.373280f, -0.440614f, -0.336383f, -0.317070f, -0.277522f, -0.276923f, -0.160467f, -0.069830f, -0.102425f, -0.102018f, -0.084803f, 0.016655f, 0.131627f, 0.070018f, 0.275382f, 0.238619f, 0.348368f, 0.359740f, 0.330308f, 0.414447f, 0.382350f, 0.444743f, 0.346049f, 0.425545f, 0.449051f, 0.503923f, 0.438987f, 0.263626f, 0.261774f, 0.263315f, 0.265510f, 0.246757f, 0.171735f, 0.162667f, 0.066004f, 0.048349f, -0.007103f, 0.008634f, 0.031414f, -0.090279f, -0.135878f, -0.144670f, -0.091335f, -0.078595f, -0.151288f, -0.173038f, -0.204747f, -0.146340f, -0.189768f, -0.172752f, -0.148504f, -0.156286f, -0.162538f, -0.159303f, -0.043995f, -0.036614f, -0.022086f, -0.034820f, 0.018438f, -0.003669f, -0.006405f, -0.032476f, -0.014576f, 0.013419f, 0.018992f, 0.009088f, 0.027361f, 0.022418f, 0.033620f, 0.003030f, 0.003495f, -0.002745f, 0.016626f, -0.001270f, 0.004107f, 0.003353f, 0.010968f, 0.002380f, 0.002208f, -0.014318f, -0.000411f, -0.002562f, - 0.003481f, -0.009008f, -0.001469f, 0.000378f, 0.003910f, -0.007126f, -0.000013f, -0.005488f, -0.000997f, -0.011780f, -0.007061f, -0.007846f, -0.001566f, -0.011278f, -0.008641f, -0.018159f, -0.005949f, -0.006638f, 0.000262f, -0.008362f, -0.009868f, -0.019882f, -0.017191f, -0.023675f, -0.014256f, -0.018929f, -0.017299f, -0.026062f, -0.019862f, -0.020947f, -0.011988f, -0.016345f, -0.009956f, -0.014197f, -0.007033f, -0.007545f, 0.003556f, 0.006330f, 0.016741f, 0.013986f, 0.022108f, 0.022151f, 0.034776f, 0.036027f, 0.038550f, 0.036881f, 0.042741f, 0.037363f, 0.039237f, 0.033022f, 0.032436f, 0.023270f, 0.021336f, 0.009367f, 0.009293f, -0.000466f, -0.001987f, -0.009979f, -0.007385f, -0.011496f, -0.007782f, -0.011916f, -0.007258f, -0.010204f, -0.004806f, -0.007534f, -0.002189f, -0.005554f, -0.000680f, -0.004256f, 0.000419f, -0.003171f, 0.001398f, -0.002383f, 0.001946f} - }, - { - {0.010236f, 0.000201f, -0.003802f, -0.000868f, -0.009159f, -0.006295f, 0.004076f, 0.000362f, -0.005764f, 0.007178f, 0.004816f, -0.001555f, 0.000442f, -0.000973f, 0.005784f, -0.008015f, 0.003018f, 0.006010f, 0.005309f, -0.011534f, -0.008076f, -0.005727f, 0.007762f, 0.001883f, 0.002543f, -0.003207f, 0.008280f, 0.003114f, -0.002037f, 0.000228f, -0.002340f, 0.001632f, 0.003113f, -0.001826f, -0.002361f, -0.006935f, 0.007411f, 0.012327f, 0.001475f, 0.007835f, -0.001432f, 0.001590f, 0.002829f, 0.003417f, -0.009321f, 0.000674f, -0.009738f, -0.002223f, -0.001363f, 0.003089f, -0.004902f, -0.000143f, 0.002158f, 0.001001f, -0.005669f, 0.000244f, 0.000666f, 0.004677f, -0.006028f, -0.007569f, -0.001002f, 0.010321f, 0.016543f, 0.000057f, 0.002727f, 0.001172f, -0.003520f, -0.009904f, -0.002507f, 0.006953f, -0.003149f, 0.006926f, 0.002695f, 0.007054f, -0.000360f, 0.002763f, 0.002510f, -0.005897f, -0.007996f, -0.000810f, 0.003052f, 0.004641f, 0.002256f, 0.002097f, 0.001403f, 0.001589f, -0.002724f, -0.004338f, -0.002958f, -0.002342f, -0.001119f, 0.000128f, -0.001623f, -0.000180f, 0.001495f, 0.002414f, - 0.002119f, -0.000282f, 0.000176f, 0.001455f, -0.000003f, -0.001683f, 0.004795f, -0.010461f, -0.002255f, -0.009926f, 0.005781f, 0.000540f, -0.004432f, 0.020857f, -0.008091f, -0.015111f, 0.001242f, 0.006858f, -0.001171f, -0.011395f, -0.003121f, -0.005007f, -0.001753f, -0.005454f, -0.001665f, 0.007677f, -0.000448f, -0.005167f, 0.009014f, 0.001215f, 0.008759f, -0.002400f, -0.002031f, 0.003237f, 0.000322f, 0.003786f, -0.001527f, 0.008080f, 0.013454f, -0.003775f, -0.008884f, -0.006674f, 0.005607f, -0.000109f, -0.020472f, -0.002047f, -0.008099f, -0.003144f, 0.010168f, -0.007122f, -0.005243f, 0.006854f, -0.004442f, -0.001084f, 0.009334f, 0.003096f, -0.007183f, 0.003173f, -0.005145f, -0.012239f, 0.003986f, 0.004679f, -0.009123f, -0.005428f, -0.002564f, -0.003966f, 0.000019f, 0.003868f, 0.006405f, 0.009454f, 0.010773f, -0.002633f, 0.001198f, -0.004296f, 0.004708f, 0.002845f, -0.002262f, 0.004382f, 0.006961f, -0.006629f, -0.003229f, 0.001022f, 0.000242f, 0.002557f, 0.007983f, -0.001075f, -0.001997f, 0.007056f, 0.001160f, -0.005030f, -0.002986f, -0.000455f, -0.002925f, 0.002105f, -0.001147f, -0.002814f, - 0.001235f, -0.003182f, -0.002330f, 0.001466f, -0.003004f, -0.002187f, 0.000208f, 0.001996f, -0.003744f, 0.000372f, -0.000820f, -0.001418f, -0.001742f, -0.000245f, -0.002893f, -0.000927f, -0.002764f, -0.016828f, -0.008607f, 0.005223f, 0.007434f, 0.002953f, 0.008069f, -0.006894f, 0.008448f, 0.010451f, -0.002961f, 0.011563f, -0.001607f, 0.008528f, -0.004069f, 0.000302f, -0.003652f, 0.010896f, 0.004204f, -0.000398f, 0.009665f, -0.005122f, -0.004133f, 0.007140f, -0.016877f, -0.002890f, 0.000893f, -0.003543f, -0.015042f, -0.009128f, 0.006202f, -0.005839f, -0.003941f, 0.000260f, 0.011721f, -0.002777f, -0.008247f, -0.000604f, 0.002999f, 0.006688f, -0.001033f, -0.010605f, -0.006889f, -0.001913f, -0.005480f, 0.001818f, -0.009294f, 0.004653f, -0.008745f, -0.012775f, 0.000391f, 0.004545f, 0.005196f, -0.004053f, -0.002965f, -0.008366f, 0.010870f, 0.006347f, 0.001503f, 0.000163f, -0.000319f, -0.003645f, -0.001997f, 0.003736f, 0.004635f, 0.016483f, -0.001864f, 0.004191f, 0.001067f, -0.000437f, -0.008055f, -0.006057f, 0.011125f, -0.004732f, 0.001086f, 0.002822f, 0.001603f, -0.001691f, 0.008409f, 0.000505f, - 0.000300f, -0.009074f, 0.008821f, 0.005012f, -0.003419f, -0.001971f, -0.000995f, -0.002592f, 0.001215f, 0.006429f, -0.000091f, 0.002592f, 0.001924f, -0.000830f, 0.001475f, 0.003354f, -0.000345f, 0.000070f, 0.001011f, 0.001599f, 0.001318f, 0.001946f, 0.003404f, 0.001342f, -0.002496f, 0.002686f, 0.001216f, -0.001768f, -0.001437f, -0.000228f, 0.000394f, 0.000051f, 0.004133f, 0.004978f, 0.004536f, 0.010689f, -0.007083f, -0.010690f, -0.008552f, 0.005327f, 0.011908f, -0.002280f, 0.009126f, -0.008167f, -0.009823f, 0.008065f, -0.004079f, 0.000762f, 0.003054f, 0.010121f, 0.003801f, 0.016119f, -0.007049f, -0.008726f, 0.003792f, -0.004876f, -0.004509f, 0.009092f, -0.014326f, -0.008931f, 0.001439f, -0.002866f, 0.006529f, -0.004964f, 0.001796f, 0.011422f, -0.010732f, 0.007910f, -0.006481f, 0.005087f, -0.006074f, -0.001831f, -0.000989f, 0.011832f, 0.002235f, 0.000315f, -0.008754f, 0.000318f, -0.010417f, 0.003788f, 0.002550f, -0.007066f, -0.000187f, -0.002995f, 0.017994f, 0.002306f, 0.001130f, -0.015756f, -0.009193f, -0.013310f, 0.010270f, -0.006845f, -0.000773f, 0.005300f, 0.022950f, 0.016095f, - -0.006522f, -0.014272f, -0.005926f, -0.012412f, 0.012944f, -0.002628f, -0.003630f, -0.005821f, -0.003815f, -0.001207f, -0.005978f, -0.004075f, -0.001033f, -0.004959f, 0.003413f, -0.003516f, 0.004802f, -0.018026f, 0.001172f, -0.001630f, -0.005696f, -0.002807f, -0.006047f, -0.001363f, -0.009431f, 0.000603f, -0.003938f, -0.000481f, 0.005648f, -0.001972f, -0.002057f, -0.004180f, -0.004507f, -0.001426f, 0.001226f, -0.000430f, -0.000432f, -0.001778f, -0.000738f, -0.002073f, -0.000355f, 0.000270f, 0.001061f, -0.001529f, -0.001630f, -0.002322f, -0.001988f, -0.001827f, -0.002952f, 0.001007f, -0.000995f, -0.000244f, -0.003000f, -0.008920f, 0.006366f, -0.009236f, -0.016810f, 0.017138f, 0.007561f, -0.017717f, 0.017707f, -0.002737f, -0.001176f, -0.024951f, 0.014796f, 0.010078f, -0.020415f, 0.006158f, -0.003480f, 0.007806f, 0.001644f, 0.008975f, 0.005547f, 0.002379f, -0.009566f, 0.000999f, 0.003341f, -0.012355f, -0.005447f, -0.014602f, -0.002655f, -0.009035f, -0.005028f, 0.001784f, -0.011655f, -0.004135f, -0.017113f, 0.006532f, 0.001559f, 0.001573f, 0.001365f, -0.007199f, -0.014915f, -0.004512f, 0.005074f, -0.002293f, - -0.001408f, 0.015587f, -0.023096f, 0.009753f, 0.011605f, -0.001602f, 0.000610f, -0.004371f, -0.001945f, -0.007349f, -0.011476f, -0.007644f, -0.009070f, -0.005888f, 0.005571f, 0.003243f, 0.004945f, 0.007838f, -0.001979f, -0.004046f, 0.010927f, 0.021208f, 0.014770f, -0.000236f, -0.018115f, 0.005022f, -0.002892f, 0.002723f, 0.018917f, -0.000049f, 0.019057f, 0.017199f, -0.002485f, -0.005673f, -0.004740f, 0.001408f, 0.001519f, 0.006448f, 0.019323f, 0.005250f, 0.000638f, -0.001943f, -0.012201f, 0.001488f, 0.003584f, -0.004035f, -0.000733f, 0.000663f, -0.000296f, 0.002286f, 0.001555f, 0.001416f, -0.001653f, 0.002393f, 0.002020f, 0.002139f, 0.002259f, -0.006505f, -0.001187f, -0.004668f, 0.001728f, -0.003645f, 0.001405f, -0.001027f, -0.001825f, -0.003911f, 0.000603f, 0.000992f, -0.005864f, -0.001817f, 0.001200f, 0.000164f, 0.026891f, 0.007101f, -0.004985f, -0.001133f, 0.008151f, -0.002667f, 0.026044f, -0.002606f, -0.004204f, 0.033403f, 0.000032f, 0.016978f, -0.006422f, 0.000640f, -0.001625f, 0.002913f, -0.004427f, 0.002485f, -0.000697f, -0.000772f, -0.018205f, -0.001547f, -0.004473f, -0.003049f, - -0.007690f, 0.011718f, 0.005219f, 0.007045f, -0.010291f, -0.000943f, -0.016160f, -0.006220f, 0.002824f, -0.001123f, -0.009895f, -0.002816f, 0.005162f, 0.012236f, 0.007118f, -0.003645f, -0.015039f, -0.000342f, 0.004050f, -0.002318f, 0.007692f, 0.005410f, 0.010491f, 0.014892f, -0.004966f, 0.000082f, -0.016050f, -0.019110f, 0.018022f, 0.009955f, -0.000842f, -0.000631f, -0.000788f, -0.006856f, -0.007899f, 0.000028f, 0.014389f, 0.008602f, 0.002460f, 0.017963f, -0.013818f, 0.004178f, -0.011368f, -0.008446f, 0.007463f, 0.008040f, 0.006284f, 0.026967f, -0.001156f, -0.011923f, 0.001914f, -0.011684f, 0.005185f, 0.003307f, 0.009593f, -0.005101f, -0.000037f, 0.001390f, -0.009190f, -0.001424f, 0.006103f, -0.000757f, 0.001438f, -0.003725f, -0.002189f, -0.000403f, 0.004164f, -0.002118f, 0.002558f, -0.003961f, 0.000193f, -0.005175f, 0.001519f, -0.002661f, -0.002037f, 0.001044f, 0.002509f, -0.003131f, 0.003389f, 0.002484f, 0.004180f, 0.000457f, 0.002397f, -0.000931f, 0.001385f, 0.000986f, 0.001402f, -0.001475f, -0.000237f, -0.001369f, -0.000426f, 0.000981f, 0.002061f, -0.001787f, 0.000715f, -0.000384f, - -0.014885f, -0.019929f, 0.007722f, -0.018625f, -0.000020f, 0.020785f, -0.021748f, 0.007975f, 0.009726f, -0.005804f, -0.026837f, 0.000378f, 0.015659f, -0.017324f, 0.010763f, -0.001191f, -0.007714f, -0.022472f, -0.000657f, -0.016207f, 0.002850f, -0.008218f, -0.012672f, -0.015766f, 0.006467f, -0.002217f, -0.000948f, 0.015031f, -0.009106f, 0.012684f, -0.009640f, -0.003826f, 0.019377f, 0.006672f, -0.010374f, 0.007988f, 0.004662f, -0.008954f, 0.004711f, 0.004903f, -0.003465f, -0.003812f, 0.000755f, -0.004305f, -0.005137f, 0.003200f, 0.003531f, 0.026424f, -0.024879f, 0.004043f, 0.001566f, -0.008887f, 0.017854f, 0.010195f, -0.006154f, -0.019251f, 0.001696f, -0.001929f, -0.005838f, -0.012141f, -0.014268f, 0.017409f, 0.011255f, 0.001465f, -0.001758f, 0.009286f, 0.004681f, -0.004185f, 0.007390f, 0.005348f, -0.004842f, 0.018523f, -0.006889f, 0.011341f, -0.007595f, 0.005655f, 0.005797f, 0.004196f, -0.000581f, -0.010267f, 0.009816f, -0.007987f, -0.008363f, -0.005698f, 0.002845f, 0.000010f, 0.001199f, -0.009735f, 0.005284f, 0.004133f, -0.006203f, 0.000667f, -0.000265f, -0.003057f, 0.000560f, -0.002015f, - 0.004699f, -0.001330f, 0.000701f, 0.003984f, -0.001815f, -0.002967f, 0.002602f, -0.003387f, 0.002742f, -0.000579f, -0.000060f, -0.003902f, -0.001786f, -0.000096f, -0.004325f, 0.004284f, 0.002383f, 0.000999f, 0.002795f, -0.000871f, 0.001897f, -0.001034f, 0.008777f, -0.020094f, 0.014739f, -0.008392f, -0.003719f, -0.011521f, -0.008315f, 0.007065f, -0.006634f, 0.005784f, 0.022533f, 0.007749f, 0.012380f, -0.028722f, -0.019031f, -0.010215f, -0.006881f, 0.003143f, -0.000135f, 0.004992f, -0.024135f, 0.012949f, 0.005380f, 0.003259f, 0.023021f, 0.000422f, -0.013052f, 0.021647f, 0.008503f, -0.009611f, 0.004414f, -0.012361f, 0.011358f, 0.005390f, 0.015138f, -0.012941f, -0.009215f, 0.003872f, -0.013122f, 0.016586f, -0.015176f, -0.000227f, 0.014706f, 0.013586f, -0.028012f, -0.000752f, 0.001368f, 0.003300f, 0.004630f, 0.030643f, 0.007064f, 0.001957f, -0.009367f, -0.007692f, -0.016545f, -0.008913f, 0.022620f, 0.000595f, -0.027007f, 0.000457f, 0.006251f, -0.015288f, -0.016881f, 0.002056f, -0.010950f, 0.004542f, 0.024793f, 0.012219f, 0.010434f, -0.010119f, -0.026494f, 0.002190f, -0.004534f, 0.012216f, - -0.002382f, -0.022134f, -0.002698f, 0.005847f, 0.006115f, 0.006050f, -0.001871f, 0.018848f, 0.003550f, -0.011891f, 0.015504f, -0.001083f, 0.009280f, -0.000247f, -0.002311f, -0.008002f, 0.011459f, 0.007946f, 0.004484f, -0.005789f, -0.002283f, -0.001471f, -0.003862f, 0.002246f, -0.000019f, -0.004906f, 0.002485f, 0.001582f, -0.002792f, -0.003630f, -0.001536f, -0.002723f, -0.000400f, 0.003562f, -0.003554f, 0.001876f, 0.004392f, 0.005330f, -0.001339f, 0.002323f, -0.002781f, -0.035426f, -0.010589f, 0.010055f, 0.027376f, 0.003937f, 0.014194f, 0.048673f, 0.008075f, 0.008329f, -0.007531f, -0.023291f, 0.013210f, -0.011280f, 0.012173f, -0.002905f, 0.032174f, 0.023481f, -0.012420f, -0.026318f, -0.020955f, 0.015922f, -0.013959f, 0.019512f, 0.008560f, 0.006375f, -0.006737f, -0.002542f, 0.023153f, -0.004544f, 0.020432f, 0.020482f, 0.010566f, 0.014375f, -0.015913f, 0.015564f, 0.008372f, -0.008306f, 0.022626f, -0.009952f, 0.020556f, 0.001571f, 0.002319f, -0.030150f, 0.018180f, 0.001686f, -0.005679f, 0.014929f, -0.021037f, -0.008324f, 0.012597f, 0.010322f, -0.019383f, 0.003143f, -0.012401f, -0.007105f, - 0.019188f, 0.002599f, 0.005788f, -0.002010f, -0.022110f, 0.014857f, 0.014083f, 0.000982f, 0.011134f, 0.005016f, -0.009797f, -0.010269f, -0.000836f, 0.011806f, -0.020022f, -0.000707f, 0.001282f, 0.000885f, -0.000193f, 0.008780f, 0.011510f, 0.023660f, 0.013268f, 0.000798f, -0.033230f, -0.010912f, -0.012443f, -0.001100f, 0.002457f, -0.009322f, -0.019700f, -0.006193f, -0.008878f, 0.005206f, 0.000761f, -0.005603f, 0.002103f, -0.005747f, 0.009156f, -0.003285f, -0.003925f, -0.005423f, 0.000099f, 0.002652f, -0.011849f, 0.007437f, -0.007624f, 0.003092f, -0.001965f, -0.004370f, 0.000202f, -0.007296f, 0.002352f, -0.006583f, -0.004805f, -0.000942f, -0.003811f, -0.003506f, 0.004058f, 0.006998f, 0.004185f, 0.006737f, 0.008763f, -0.001828f, 0.001291f, 0.043937f, 0.012830f, 0.005865f, -0.016305f, -0.039532f, 0.028583f, 0.008941f, -0.026268f, 0.007847f, -0.002879f, 0.006744f, 0.005517f, -0.018952f, -0.040592f, -0.031741f, 0.010660f, 0.024855f, -0.004990f, 0.026091f, -0.012161f, 0.020353f, 0.024784f, 0.033663f, -0.007503f, 0.024870f, -0.022174f, 0.008409f, -0.012138f, 0.002975f, 0.013329f, -0.000604f, - -0.007275f, 0.006029f, 0.016750f, -0.012049f, -0.022509f, -0.022714f, 0.047377f, 0.000040f, -0.002482f, -0.021478f, 0.021902f, 0.007105f, -0.043945f, -0.025443f, 0.009701f, -0.006237f, -0.007894f, 0.017037f, 0.005653f, 0.042324f, 0.023272f, -0.001594f, -0.024796f, -0.024283f, -0.013889f, -0.010046f, -0.028123f, 0.025739f, -0.019293f, 0.020340f, 0.017401f, -0.017821f, -0.023008f, -0.022184f, -0.032392f, 0.007709f, -0.000738f, -0.011713f, -0.014777f, -0.023769f, -0.008676f, -0.023420f, 0.004678f, 0.002658f, -0.008149f, 0.003007f, 0.018835f, -0.048866f, -0.019159f, -0.039915f, 0.019811f, 0.013793f, -0.017322f, -0.005944f, 0.007895f, -0.007695f, -0.000526f, 0.009213f, -0.007663f, -0.016124f, -0.002073f, -0.004806f, -0.005326f, -0.000429f, -0.002389f, -0.007000f, -0.000064f, 0.001162f, 0.008156f, -0.011987f, 0.002761f, 0.006179f, -0.001088f, -0.005129f, -0.007887f, -0.002470f, -0.001529f, 0.001379f, -0.002985f, -0.000940f, -0.004961f, 0.001934f, -0.002241f, -0.007809f, 0.012911f, 0.001054f, 0.003593f, -0.010621f, -0.024087f, -0.044935f, -0.010595f, -0.011269f, 0.002030f, -0.010014f, 0.001495f, 0.005349f, - -0.005354f, 0.020086f, -0.025631f, -0.007060f, -0.024338f, -0.000584f, -0.012330f, 0.028264f, 0.030514f, 0.025328f, -0.034930f, 0.025089f, -0.012872f, 0.019211f, -0.007537f, 0.014356f, -0.011846f, -0.014115f, 0.004936f, -0.018411f, 0.011890f, 0.015424f, -0.002195f, 0.009533f, -0.017817f, -0.001532f, 0.029222f, -0.022836f, 0.000789f, -0.006295f, -0.009968f, -0.018264f, -0.001375f, 0.029907f, 0.038186f, -0.023582f, 0.011339f, -0.002337f, -0.023644f, -0.023163f, -0.025932f, -0.011014f, 0.048461f, 0.030156f, -0.009366f, 0.016387f, -0.010590f, 0.014301f, -0.026900f, 0.016420f, -0.001028f, -0.013818f, 0.036878f, 0.019884f, 0.007371f, 0.012896f, 0.010424f, 0.035505f, 0.004421f, -0.028698f, 0.011823f, 0.023269f, 0.017456f, -0.050654f, 0.031260f, -0.021045f, -0.019559f, -0.008813f, 0.003076f, -0.019381f, 0.022112f, 0.050112f, -0.008667f, 0.007870f, 0.025110f, 0.005109f, -0.004202f, 0.006830f, 0.002512f, 0.015219f, 0.012873f, 0.008627f, 0.023603f, 0.012981f, -0.006605f, 0.016955f, 0.009990f, -0.006234f, -0.014381f, 0.009001f, -0.001971f, 0.009680f, -0.004090f, 0.003528f, 0.007200f, 0.003723f, - -0.001990f, -0.000855f, 0.003310f, 0.011999f, 0.002512f, -0.001675f, 0.002562f, 0.009450f, -0.003618f, 0.001409f, 0.014480f, 0.006500f, -0.003653f, 0.008817f, 0.002646f, 0.003071f, 0.006098f, 0.000844f, 0.005085f, -0.001247f, -0.008900f, -0.007286f, 0.007376f, -0.003368f, 0.032235f, 0.020210f, 0.086558f, 0.023595f, -0.013899f, 0.005069f, 0.015042f, -0.000091f, 0.029222f, 0.020878f, 0.020424f, -0.026023f, -0.042151f, 0.042307f, -0.023619f, 0.003639f, 0.015377f, 0.046478f, 0.019407f, -0.028809f, 0.026224f, -0.026091f, -0.004723f, -0.035715f, -0.045781f, -0.005586f, 0.013109f, 0.012112f, 0.009925f, 0.011442f, -0.003075f, -0.032209f, -0.011169f, 0.009854f, 0.011353f, -0.017225f, 0.035936f, 0.022047f, -0.020568f, 0.011356f, 0.018204f, 0.006538f, 0.001694f, -0.019893f, -0.001803f, -0.014053f, -0.007461f, 0.001660f, 0.022611f, 0.054362f, -0.014217f, 0.004640f, 0.008703f, 0.020067f, -0.018934f, 0.069013f, -0.005347f, 0.006388f, 0.006447f, -0.031800f, -0.030205f, -0.050131f, -0.020498f, 0.026948f, -0.008887f, 0.013397f, 0.011710f, 0.047409f, 0.008305f, 0.008257f, 0.003203f, 0.037303f, - 0.018845f, -0.016024f, 0.035201f, -0.031715f, 0.005735f, 0.031514f, 0.041716f, 0.037457f, 0.015590f, -0.021802f, -0.034384f, -0.015435f, -0.010503f, -0.025911f, -0.013551f, -0.014859f, -0.003321f, -0.021793f, 0.006172f, -0.007675f, -0.002792f, -0.019025f, -0.001464f, -0.011958f, 0.019296f, 0.001659f, 0.004811f, -0.016940f, -0.002458f, -0.023164f, 0.002361f, 0.009555f, 0.000039f, 0.016521f, 0.011355f, -0.000195f, 0.007718f, -0.003702f, -0.009541f, -0.006287f, -0.003841f, -0.019846f, 0.002623f, 0.003724f, 0.005498f, 0.005667f, -0.008882f, 0.013683f, 0.015856f, 0.006451f, -0.010805f, -0.007999f, -0.003037f, 0.003223f, 0.009164f, 0.004362f, -0.006930f, -0.004146f, -0.003016f, -0.008703f, -0.036165f, 0.020502f, 0.009198f, 0.025080f, -0.007046f, -0.054445f, 0.003954f, -0.036443f, -0.032990f, 0.009914f, 0.007350f, 0.015488f, -0.009965f, 0.011195f, -0.002398f, -0.018528f, 0.029355f, -0.004637f, -0.010368f, -0.011788f, -0.021436f, -0.017801f, 0.010345f, -0.022489f, 0.005005f, -0.014360f, -0.010481f, -0.006157f, 0.028729f, -0.005673f, 0.030867f, 0.019701f, -0.008807f, 0.010471f, 0.010298f, 0.022345f, - -0.016000f, -0.021055f, 0.002574f, 0.013144f, 0.016538f, 0.029456f, -0.033138f, -0.031585f, 0.012903f, 0.010471f, 0.035719f, -0.017953f, -0.003247f, 0.018012f, -0.000553f, 0.005015f, -0.007388f, 0.023740f, 0.029206f, 0.013662f, -0.004500f, 0.018705f, 0.061981f, -0.013924f, -0.019020f, 0.023211f, -0.003313f, 0.036542f, 0.008051f, 0.017002f, 0.019872f, -0.006794f, 0.013666f, 0.042268f, -0.012359f, -0.051018f, 0.035004f, 0.010342f, -0.017599f, 0.004756f, -0.078424f, 0.051607f, -0.001369f, 0.031928f, -0.021243f, 0.016572f, 0.001482f, -0.031114f, -0.030384f, -0.004252f, 0.004809f, -0.023071f, -0.000808f, 0.003287f, -0.005147f, -0.007845f, -0.005727f, -0.025260f, -0.005133f, -0.015281f, -0.000782f, -0.008134f, -0.003282f, -0.009291f, 0.014016f, -0.011483f, -0.009572f, -0.016466f, -0.008867f, -0.018758f, -0.004481f, 0.003761f, -0.011347f, -0.001542f, -0.009513f, -0.009552f, -0.011056f, -0.001024f, -0.009370f, -0.006550f, 0.001777f, -0.003086f, 0.006801f, -0.006177f, -0.012987f, -0.013358f, -0.001166f, 0.001727f, -0.009375f, -0.002175f, -0.004944f, 0.003413f, -0.018618f, -0.000312f, -0.034278f, -0.000537f, - 0.050546f, 0.026454f, -0.067665f, 0.011273f, -0.013138f, 0.006630f, 0.009741f, -0.002404f, -0.035451f, 0.005609f, -0.006464f, 0.030606f, 0.056633f, -0.008761f, 0.017441f, 0.038873f, -0.002879f, -0.009927f, -0.010961f, 0.015829f, 0.056529f, -0.000438f, -0.005198f, 0.048188f, -0.020514f, 0.013510f, -0.001086f, -0.000085f, -0.013597f, 0.018546f, -0.054189f, 0.002333f, 0.015545f, 0.039376f, 0.039924f, -0.033210f, 0.000200f, 0.037848f, -0.003485f, 0.069878f, -0.026367f, -0.033272f, 0.003410f, 0.050937f, 0.007633f, -0.037957f, -0.019354f, 0.012101f, -0.001392f, 0.022544f, -0.057491f, 0.007530f, 0.001276f, -0.011105f, -0.042051f, -0.035522f, 0.008358f, -0.010343f, -0.003764f, 0.002680f, -0.043730f, -0.043920f, 0.008222f, 0.007632f, -0.046284f, -0.014602f, -0.030525f, 0.026869f, -0.072450f, -0.026297f, 0.022106f, -0.042572f, 0.022405f, -0.011026f, -0.018638f, 0.024240f, -0.008567f, 0.036092f, 0.032355f, 0.008214f, 0.019575f, -0.008833f, 0.002918f, -0.024475f, 0.025823f, -0.018842f, 0.014818f, -0.025679f, 0.018087f, 0.001953f, 0.007302f, -0.001649f, -0.001254f, -0.014497f, 0.016590f, -0.019205f, - 0.002028f, 0.002882f, 0.008703f, -0.021145f, 0.009881f, -0.008194f, -0.007528f, 0.007469f, -0.006068f, -0.009612f, 0.013185f, 0.006767f, 0.014182f, 0.007496f, -0.003093f, -0.006781f, -0.008961f, -0.001398f, 0.001427f, -0.009771f, 0.002146f, -0.006979f, 0.002143f, -0.020299f, -0.012435f, -0.007983f, 0.009162f, 0.012917f, -0.008418f, 0.003333f, -0.004667f, 0.005887f, -0.018118f, 0.038322f, -0.000715f, 0.021526f, -0.039987f, -0.002215f, -0.037891f, 0.039667f, 0.016529f, 0.051672f, 0.035190f, -0.017365f, 0.006161f, 0.040958f, 0.019959f, 0.021193f, 0.012418f, -0.033493f, -0.010495f, 0.017503f, 0.001991f, 0.020543f, -0.044322f, -0.031675f, 0.018996f, 0.065980f, 0.008179f, -0.020923f, 0.040540f, 0.012422f, 0.025066f, 0.007481f, 0.004322f, -0.036200f, -0.038264f, 0.001311f, -0.000108f, -0.063892f, 0.004485f, -0.012625f, -0.004061f, 0.021047f, -0.025929f, 0.016057f, 0.049940f, 0.005941f, -0.083393f, -0.058809f, -0.010450f, -0.017685f, -0.021318f, -0.000018f, 0.014270f, 0.013689f, -0.021043f, 0.023490f, 0.020927f, 0.020264f, -0.013575f, 0.017517f, -0.010125f, -0.020930f, -0.005890f, 0.019483f, - -0.062486f, -0.013524f, -0.028663f, -0.031605f, -0.013623f, 0.009229f, -0.017207f, -0.001151f, 0.067088f, 0.039169f, -0.026943f, 0.000762f, -0.000078f, -0.011186f, -0.012956f, 0.006488f, 0.044701f, 0.017168f, 0.006042f, -0.013618f, -0.011119f, -0.023134f, -0.028119f, -0.028548f, -0.007533f, 0.004222f, 0.008136f, -0.009684f, 0.007169f, -0.001934f, -0.007525f, -0.002035f, -0.008684f, -0.025034f, -0.007264f, 0.000237f, -0.007363f, -0.021600f, 0.001877f, -0.007531f, 0.023128f, -0.011701f, 0.007217f, -0.001997f, 0.008994f, 0.000328f, -0.020403f, 0.002103f, 0.022394f, 0.004008f, 0.020042f, -0.005352f, 0.009788f, -0.006289f, 0.005857f, -0.001020f, -0.015423f, -0.005992f, -0.002521f, -0.002169f, -0.003847f, 0.000310f, -0.005364f, -0.010302f, 0.013652f, 0.026895f, -0.037338f, -0.009179f, -0.016017f, 0.010061f, 0.077052f, 0.012428f, -0.038415f, 0.010265f, 0.033845f, -0.007149f, 0.031599f, 0.040846f, -0.021337f, 0.009790f, 0.020185f, 0.014183f, 0.000564f, -0.005821f, -0.012929f, 0.006229f, 0.023771f, 0.012595f, 0.022176f, -0.033609f, -0.052388f, -0.005383f, 0.022866f, 0.020622f, 0.016317f, -0.005774f, - -0.048361f, 0.015611f, 0.010293f, 0.072053f, 0.075250f, 0.018106f, -0.056610f, 0.040832f, -0.021781f, -0.057360f, -0.013798f, -0.067912f, -0.052199f, -0.022758f, -0.025337f, -0.052642f, 0.008834f, -0.021145f, -0.060784f, -0.055169f, 0.015612f, 0.036013f, -0.006288f, -0.046561f, 0.013505f, 0.001445f, 0.014566f, 0.029485f, 0.028264f, -0.036012f, 0.046239f, 0.032118f, 0.003701f, 0.012967f, 0.032062f, -0.001608f, 0.084449f, -0.060396f, -0.029286f, -0.001949f, -0.069371f, 0.056708f, 0.003762f, 0.071259f, 0.021608f, 0.015993f, -0.003973f, 0.014167f, 0.029800f, 0.001241f, -0.028464f, -0.000402f, -0.015368f, 0.011340f, 0.010497f, 0.020399f, -0.008912f, -0.025960f, -0.000545f, 0.024190f, 0.011059f, -0.015391f, -0.008084f, 0.012730f, -0.017691f, -0.000056f, 0.000005f, 0.022206f, 0.008312f, -0.012076f, -0.005629f, -0.013726f, -0.022612f, -0.019250f, -0.001432f, 0.004232f, -0.011391f, -0.008084f, 0.002230f, -0.011102f, 0.017075f, 0.008516f, -0.000561f, 0.010488f, 0.034853f, -0.013384f, -0.007043f, 0.003977f, 0.009116f, -0.018985f, 0.020302f, -0.006950f, -0.000961f, 0.003519f, 0.014966f, 0.026425f, - -0.038168f, 0.010352f, -0.075759f, -0.019948f, -0.005137f, -0.018078f, 0.082185f, 0.026496f, -0.022433f, -0.051490f, -0.026808f, -0.020939f, -0.033380f, -0.023709f, 0.012157f, -0.075378f, -0.016808f, 0.056073f, -0.007076f, -0.005827f, -0.058414f, 0.055672f, 0.026890f, 0.001663f, -0.022465f, 0.023962f, 0.011181f, -0.012781f, 0.024717f, -0.038735f, -0.010893f, -0.019587f, 0.010717f, -0.008739f, -0.025177f, 0.028407f, -0.021554f, 0.012080f, 0.000289f, -0.037635f, -0.024206f, -0.005542f, -0.048126f, -0.046345f, -0.063107f, -0.015766f, 0.028168f, -0.020627f, -0.012003f, 0.036487f, -0.044581f, -0.035826f, 0.038486f, 0.000063f, -0.002810f, 0.035525f, -0.000038f, -0.029706f, -0.017834f, 0.012233f, 0.024865f, -0.038494f, -0.012771f, 0.047661f, 0.019874f, 0.046000f, 0.023086f, -0.008981f, 0.023465f, -0.001476f, -0.062386f, 0.019777f, -0.047340f, 0.034247f, 0.005343f, 0.012785f, -0.020268f, -0.053109f, 0.010663f, -0.007625f, -0.046992f, -0.018248f, 0.020225f, -0.023200f, 0.000373f, 0.007661f, 0.014556f, -0.014763f, 0.000208f, 0.002599f, -0.004612f, 0.010034f, -0.007575f, 0.005770f, 0.018410f, -0.003174f, - 0.005894f, 0.005343f, -0.012976f, 0.004235f, 0.008493f, 0.005543f, -0.009864f, 0.012872f, 0.008039f, -0.000577f, -0.013566f, -0.026047f, 0.004768f, -0.020539f, 0.016291f, -0.020978f, 0.013306f, 0.017796f, 0.000140f, 0.001352f, -0.000187f, 0.010262f, 0.000845f, -0.008744f, 0.019828f, 0.016767f, -0.008852f, -0.005539f, -0.013170f, -0.021248f, 0.056148f, 0.019952f, 0.001815f, 0.007144f, -0.015002f, 0.022620f, 0.034490f, 0.088314f, 0.076642f, 0.006900f, -0.034139f, 0.015911f, 0.044320f, 0.012991f, 0.034254f, 0.025150f, 0.016440f, -0.025863f, -0.033805f, -0.040045f, -0.003097f, 0.015202f, 0.028081f, 0.057442f, 0.029981f, 0.036920f, 0.021038f, 0.034245f, 0.016866f, 0.032994f, -0.022186f, 0.006402f, 0.061546f, -0.001442f, 0.047276f, 0.012831f, 0.038173f, -0.060840f, -0.010242f, -0.017783f, -0.018306f, 0.014453f, 0.023463f, 0.044433f, 0.071220f, 0.060134f, -0.021566f, 0.010849f, -0.079773f, 0.019503f, 0.017964f, 0.070201f, -0.055980f, 0.044470f, -0.014784f, -0.038813f, 0.029554f, 0.009420f, 0.024606f, 0.044042f, -0.014613f, -0.055966f, 0.028717f, -0.035915f, -0.049860f, -0.023345f, - 0.065881f, -0.057313f, -0.081973f, -0.041004f, -0.013886f, 0.043226f, -0.004861f, -0.029171f, -0.056699f, -0.042351f, 0.026561f, -0.003675f, -0.001434f, 0.036657f, -0.040127f, 0.011532f, 0.040420f, 0.016061f, 0.026927f, 0.039689f, -0.027166f, -0.013327f, -0.023025f, 0.030391f, 0.006306f, 0.015723f, 0.010607f, -0.027050f, 0.033369f, 0.008502f, 0.004932f, -0.013177f, -0.049825f, -0.047040f, 0.004269f, -0.022313f, -0.009761f, -0.021159f, -0.018973f, -0.007990f, 0.008251f, -0.000145f, -0.021296f, 0.026743f, 0.021830f, -0.002867f, -0.024127f, 0.004009f, 0.013759f, -0.016772f, -0.008150f, -0.009579f, -0.000304f, 0.011624f, -0.005821f, -0.011560f, -0.009982f, 0.008207f, 0.006232f, 0.013090f, 0.015633f, -0.008365f, -0.007709f, -0.009524f, 0.009006f, 0.010254f, 0.055106f, -0.017204f, -0.061372f, 0.004549f, -0.025756f, -0.087154f, -0.044425f, 0.114919f, 0.015832f, -0.051501f, -0.057046f, 0.006684f, 0.000827f, 0.023968f, 0.029584f, -0.039804f, -0.026800f, -0.063668f, 0.014728f, -0.022900f, -0.015517f, 0.098068f, 0.020840f, -0.013204f, -0.101045f, -0.006194f, -0.054015f, 0.053728f, 0.065830f, 0.007253f, - 0.051195f, -0.060114f, -0.023902f, -0.037848f, -0.009130f, 0.100187f, 0.124226f, 0.020220f, -0.033279f, -0.044031f, -0.089849f, 0.001606f, 0.011535f, 0.108914f, 0.060497f, -0.015469f, -0.178479f, -0.092019f, 0.015307f, -0.016721f, 0.156666f, 0.052944f, -0.075253f, -0.030868f, -0.134307f, -0.042062f, 0.004707f, 0.088272f, 0.090603f, 0.102191f, 0.004842f, 0.024570f, -0.010696f, 0.009262f, 0.125155f, -0.045697f, 0.091945f, -0.021766f, -0.094366f, -0.027755f, -0.100027f, -0.031626f, 0.131075f, 0.060106f, 0.093613f, -0.030470f, 0.073434f, -0.081598f, -0.013023f, 0.020095f, 0.039191f, 0.078401f, -0.026176f, -0.001105f, 0.005010f, -0.006775f, 0.012135f, 0.021373f, -0.022148f, 0.004014f, -0.023286f, -0.041713f, 0.019180f, 0.035059f, 0.019337f, -0.003805f, -0.025270f, -0.055985f, -0.055632f, -0.028744f, 0.019066f, 0.052855f, 0.029580f, 0.041059f, -0.054651f, -0.071184f, -0.055257f, 0.006983f, 0.063224f, 0.070720f, 0.053983f, -0.031334f, -0.136725f, -0.087236f, 0.002932f, 0.069767f, 0.149131f, 0.058511f, 0.012530f, -0.066921f, -0.088984f, -0.030152f, -0.028093f, 0.078907f, 0.086550f, 0.033148f, - -0.004759f, -0.073878f, -0.055751f, 0.018065f, 0.026163f, 0.064446f, 0.031242f, -0.031765f, -0.022527f, -0.038207f, -0.018248f, 0.019524f, 0.017310f, 0.019787f, 0.024452f, -0.004200f, -0.006702f, -0.079139f, 0.087814f, 0.000502f, -0.023309f, -0.136605f, -0.037199f, -0.036622f, -0.062118f, 0.132964f, 0.001104f, 0.059780f, -0.090942f, 0.050702f, 0.041953f, -0.040397f, 0.026239f, -0.007451f, 0.023431f, 0.000377f, 0.067555f, 0.024354f, -0.066085f, 0.040147f, 0.032537f, 0.000181f, 0.045549f, -0.033462f, -0.017633f, 0.057886f, 0.040062f, 0.038690f, 0.018900f, 0.033719f, -0.099414f, 0.086995f, -0.049992f, -0.031271f, 0.018756f, -0.069144f, 0.101436f, -0.028491f, 0.010041f, 0.073782f, 0.002438f, -0.010765f, 0.039803f, 0.041195f, 0.071851f, -0.017155f, -0.066838f, -0.067648f, 0.007520f, -0.024170f, 0.031499f, -0.040755f, -0.020038f, -0.027461f, 0.020363f, -0.127469f, 0.002091f, 0.095348f, 0.026289f, 0.039063f, -0.003551f, -0.010040f, 0.025050f, -0.033347f, -0.038595f, 0.024236f, 0.013264f, -0.041208f, -0.046219f, 0.176646f, -0.018995f, -0.056884f, 0.016088f, 0.083021f, -0.002222f, -0.064655f, - 0.026882f, -0.011794f, -0.024550f, 0.053597f, 0.067606f, -0.048989f, -0.080745f, 0.018702f, 0.019573f, -0.018229f, -0.048240f, 0.002835f, 0.024508f, -0.007009f, -0.007733f, -0.002773f, -0.008210f, 0.013406f, 0.014545f, -0.016172f, 0.001969f, 0.007694f, 0.003774f, -0.009549f, 0.003874f, -0.000112f, -0.022227f, 0.016573f, 0.007062f, 0.031653f, 0.015661f, -0.011396f, 0.012930f, -0.005718f, 0.018580f, -0.000860f, -0.004577f, 0.025907f, -0.006099f, 0.017895f, -0.004877f, -0.019556f, -0.001502f, 0.023368f, -0.006189f, 0.026536f, -0.024444f, 0.033200f, 0.007967f, -0.023072f, 0.010178f, 0.000979f, 0.012341f, -0.003501f, -0.009164f, -0.001920f, 0.008245f, 0.026263f, -0.068960f, 0.025003f, 0.107195f, 0.170492f, -0.075681f, 0.056054f, -0.112692f, -0.032319f, -0.068864f, -0.008569f, 0.103792f, 0.111500f, 0.087468f, -0.001982f, -0.070794f, -0.041698f, 0.037763f, 0.003695f, 0.018709f, 0.058713f, -0.001529f, 0.029666f, -0.074116f, -0.017914f, -0.043043f, -0.051004f, 0.028068f, 0.024638f, 0.001210f, 0.052832f, -0.044452f, -0.000634f, 0.011329f, -0.061171f, -0.002061f, 0.005341f, -0.039607f, -0.013826f, - 0.014420f, -0.025222f, 0.058219f, -0.018103f, 0.088356f, 0.068081f, -0.043953f, -0.011195f, -0.060980f, -0.068337f, -0.090372f, 0.029934f, 0.041352f, 0.121618f, 0.091711f, 0.044079f, 0.058234f, 0.012345f, -0.066526f, -0.042704f, -0.037316f, -0.044000f, -0.009719f, 0.026506f, -0.002533f, -0.029826f, 0.008009f, -0.030085f, 0.019642f, 0.046159f, 0.008714f, -0.045553f, 0.036582f, -0.021154f, -0.023843f, -0.045548f, 0.024272f, 0.022127f, 0.010675f, 0.007108f, 0.106302f, 0.082580f, 0.066491f, 0.012677f, -0.015325f, -0.088579f, -0.018735f, -0.007972f, 0.088641f, 0.052169f, 0.023220f, 0.028226f, 0.076831f, -0.010729f, -0.030339f, -0.039904f, -0.034467f, -0.014802f, -0.007532f, 0.008523f, 0.001189f, 0.002110f, 0.040059f, -0.003049f, -0.023461f, -0.012969f, -0.007834f, 0.002455f, 0.020020f, 0.037114f, 0.015900f, -0.002847f, 0.022353f, -0.035086f, 0.014769f, 0.035448f, 0.014208f, 0.068263f, -0.026846f, 0.002151f, 0.011850f, -0.026049f, 0.007745f, -0.042438f, -0.001763f, 0.017224f, 0.001079f, 0.019787f, 0.010887f, -0.003114f, -0.000527f, -0.006584f, -0.000689f, 0.010641f, -0.011595f, -0.185575f, - -0.105600f, -0.062722f, 0.107158f, 0.048508f, 0.283225f, 0.263929f, 0.275038f, 0.275888f, 0.297957f, 0.207623f, 0.110064f, 0.156914f, 0.096052f, -0.048537f, -0.086859f, -0.136770f, -0.262498f, -0.238674f, -0.245191f, -0.179725f, -0.179899f, -0.135345f, -0.110200f, -0.060402f, 0.006922f, -0.105632f, -0.052472f, -0.023004f, -0.015625f, -0.057816f, 0.015369f, 0.069153f, 0.080002f, 0.028096f, 0.094353f, 0.117684f, 0.030277f, 0.022009f, 0.024306f, 0.115586f, 0.122651f, 0.152446f, 0.172963f, 0.149310f, 0.171754f, 0.258372f, 0.105990f, 0.201392f, 0.277478f, 0.176527f, 0.210756f, 0.163710f, 0.083337f, 0.097167f, 0.109732f, 0.095521f, 0.132423f, 0.128382f, 0.081163f, 0.014169f, 0.040589f, 0.074975f, -0.004332f, 0.007250f, -0.036383f, -0.044063f, -0.130202f, -0.060484f, -0.225980f, -0.286135f, -0.227475f, -0.261237f, -0.352840f, -0.342768f, -0.201935f, -0.382684f, -0.345406f, -0.317253f, -0.356627f, -0.302898f, -0.229534f, -0.290352f, -0.212207f, -0.060672f, -0.140927f, -0.176292f, -0.068904f, -0.070854f, -0.056687f, -0.064500f, -0.027821f, 0.015292f, 0.035822f, 0.067663f, 0.090110f, 0.101347f, - 0.116348f, 0.118332f, 0.169697f, 0.102045f, 0.199897f, 0.221925f, 0.106419f, 0.205956f, 0.197585f, 0.123396f, 0.151306f, 0.217962f, 0.149302f, 0.246259f, 0.187141f, 0.233348f, 0.164439f, 0.147648f, 0.154874f, 0.142931f, 0.113412f, 0.128289f, 0.112885f, 0.087494f, 0.066895f, 0.063617f, 0.052782f, 0.020771f, -0.017790f, -0.015631f, -0.010686f, -0.080886f, -0.128729f, -0.125056f, -0.127004f, -0.139505f, -0.128281f, -0.144349f, -0.104220f, -0.108943f, -0.088645f, -0.067150f, -0.052239f, -0.060132f, -0.058481f, -0.045930f, -0.032490f, -0.036287f, -0.046374f, -0.025980f, -0.014296f, -0.028490f, -0.041458f, -0.025639f, -0.019296f, -0.026001f, -0.031409f, -0.015205f, -0.002187f, 0.009033f, -0.000399f, 0.006295f, 0.020486f, 0.020885f, -0.002032f, 0.006210f, 0.013796f, 0.009198f, -0.002982f, 0.002636f, 0.007457f, 0.005707f, -0.006052f, 0.000350f, 0.004992f, 0.008470f, 0.004564f, 0.008658f, 0.001706f, 0.005118f, 0.009537f, 0.017114f, 0.005498f, 0.003275f, 0.001455f, 0.005710f, 0.001527f, 0.004166f, -0.000230f, 0.002097f, -0.004999f, -0.008067f, -0.013759f, -0.005509f, -0.008930f, -0.007385f, - -0.012598f, -0.003627f, -0.006704f, -0.004123f, -0.003951f, 0.005249f, 0.001613f, 0.004312f, -0.001080f, 0.008785f, 0.007505f, 0.013821f, 0.006331f, 0.016051f, 0.016974f, 0.020656f, 0.011379f, 0.018823f, 0.017747f, 0.018147f, 0.009476f, 0.014206f, 0.010528f, 0.015053f, 0.007306f, 0.009311f, 0.004167f, 0.009163f, 0.001124f, 0.004362f, -0.000960f, 0.002267f, -0.004499f, -0.001832f, -0.006127f, -0.001849f, -0.007047f, -0.002836f, -0.006866f, -0.001364f, -0.005554f, -0.000365f, -0.004418f, 0.000990f, -0.003190f, 0.002012f}, - {0.020157f, 0.000971f, -0.001240f, -0.000771f, -0.001491f, -0.010355f, -0.010343f, 0.009906f, 0.002486f, -0.006041f, -0.009019f, -0.004460f, -0.006794f, -0.011940f, 0.015272f, 0.001766f, 0.005591f, 0.007499f, 0.021963f, -0.000630f, 0.003587f, -0.005337f, -0.001849f, -0.004120f, -0.014158f, 0.003115f, -0.004263f, 0.001342f, 0.010007f, -0.003978f, -0.000874f, 0.002093f, 0.001150f, -0.002418f, 0.000566f, -0.013232f, 0.002836f, -0.000378f, -0.004622f, 0.004059f, 0.001995f, -0.008925f, 0.014097f, 0.000432f, 0.002118f, 0.012961f, -0.004947f, -0.005681f, -0.012729f, -0.006561f, 0.008974f, 0.000501f, 0.009560f, -0.004685f, -0.010390f, 0.004514f, -0.009676f, -0.004432f, -0.018779f, 0.007715f, 0.006721f, 0.003976f, 0.005798f, 0.012911f, 0.003473f, -0.005741f, 0.007106f, 0.010716f, -0.006932f, 0.005282f, 0.000072f, -0.002320f, -0.003542f, -0.002947f, 0.007366f, -0.001514f, 0.008163f, -0.004115f, 0.003344f, -0.002556f, 0.003036f, 0.005824f, -0.003072f, 0.002096f, -0.002087f, 0.004700f, 0.003961f, 0.003209f, -0.001522f, 0.001086f, 0.000237f, -0.002681f, 0.001429f, 0.004595f, 0.000929f, 0.001535f, - -0.002629f, 0.001785f, -0.001385f, 0.001044f, -0.001991f, 0.000427f, 0.002768f, -0.008026f, 0.002228f, -0.004998f, -0.009982f, -0.001064f, -0.011806f, -0.014499f, -0.009026f, -0.006985f, -0.015822f, 0.000565f, -0.005658f, -0.003275f, 0.004983f, 0.016875f, 0.001641f, -0.004099f, -0.001853f, 0.002654f, -0.000239f, 0.006970f, 0.012124f, -0.001086f, 0.013603f, -0.001623f, -0.000787f, -0.001684f, 0.007792f, -0.010235f, 0.001683f, 0.001169f, -0.002397f, -0.000643f, -0.005972f, -0.010168f, 0.013988f, -0.004785f, -0.000929f, -0.002534f, 0.006232f, -0.006663f, -0.005579f, 0.002363f, 0.002168f, 0.009645f, -0.006544f, 0.007935f, -0.004558f, -0.008051f, -0.000519f, -0.003355f, 0.002284f, 0.004304f, -0.000060f, 0.005602f, 0.002803f, 0.004072f, -0.005237f, -0.006335f, -0.010306f, -0.007703f, 0.001096f, 0.012405f, 0.001691f, 0.010069f, 0.002745f, -0.005242f, 0.007073f, 0.003265f, -0.007386f, 0.013137f, 0.002321f, -0.012435f, 0.003359f, 0.005591f, 0.001242f, 0.003706f, 0.003355f, -0.008813f, 0.003335f, 0.003053f, 0.002299f, -0.000527f, 0.006602f, 0.002156f, -0.001520f, -0.002140f, 0.000091f, 0.002571f, - 0.000064f, 0.003499f, 0.000029f, 0.000159f, 0.002168f, -0.000850f, -0.001786f, -0.001248f, 0.000494f, -0.001721f, -0.001688f, 0.002259f, -0.000068f, 0.002171f, 0.002056f, -0.000527f, -0.000038f, -0.014675f, -0.013209f, 0.002868f, 0.001387f, 0.011069f, -0.008597f, 0.011384f, -0.005862f, -0.002480f, -0.017892f, -0.001101f, 0.001041f, -0.006065f, -0.001209f, 0.009565f, 0.008838f, 0.013529f, -0.003457f, -0.002036f, 0.008258f, 0.003977f, 0.007396f, -0.018299f, 0.017968f, -0.003896f, -0.000436f, 0.002889f, -0.002407f, -0.000134f, -0.001819f, -0.001247f, 0.011062f, -0.000325f, 0.014582f, -0.002542f, -0.006260f, -0.012298f, 0.001226f, -0.005572f, -0.005092f, 0.008495f, 0.006355f, 0.008880f, 0.000078f, 0.001091f, -0.013318f, -0.009456f, -0.000366f, 0.011912f, 0.003897f, -0.001550f, 0.003762f, -0.004986f, 0.012469f, -0.000697f, -0.011201f, -0.013942f, -0.005207f, 0.015585f, 0.011554f, 0.012031f, 0.005364f, 0.000434f, -0.013293f, -0.005856f, -0.002079f, -0.007659f, 0.007816f, -0.001393f, -0.003890f, 0.006865f, -0.018833f, 0.005551f, -0.002614f, 0.004403f, -0.001659f, -0.005338f, 0.008247f, 0.003191f, - -0.009030f, -0.009384f, 0.004563f, -0.002447f, 0.005354f, 0.001498f, -0.004194f, 0.002885f, 0.003339f, -0.000160f, 0.001173f, 0.000004f, 0.000222f, -0.001567f, -0.000208f, -0.002584f, -0.000152f, -0.002251f, 0.003514f, 0.002023f, -0.002985f, 0.001413f, -0.000898f, 0.000984f, 0.000811f, 0.001293f, -0.002268f, -0.001811f, 0.000482f, 0.001376f, -0.004019f, -0.002171f, 0.003625f, -0.004104f, -0.008194f, -0.001239f, -0.006368f, 0.002968f, 0.010056f, 0.004077f, 0.000264f, -0.004038f, -0.023693f, -0.015455f, -0.000603f, 0.006934f, 0.008172f, 0.000579f, 0.001577f, -0.003227f, 0.008103f, 0.003735f, 0.006475f, -0.010182f, 0.009664f, 0.005707f, -0.011180f, 0.004263f, 0.010082f, -0.000451f, 0.003200f, 0.001765f, 0.009135f, -0.007059f, 0.005388f, -0.000825f, -0.001329f, -0.008709f, 0.000455f, 0.009554f, -0.006105f, -0.004248f, -0.008344f, 0.011197f, -0.001164f, 0.002274f, -0.008771f, -0.024657f, -0.007303f, 0.003759f, 0.002207f, 0.009275f, -0.006670f, -0.003949f, -0.003835f, -0.001532f, -0.008040f, 0.000374f, -0.007265f, 0.016362f, 0.005638f, 0.013371f, -0.013485f, -0.002513f, -0.005636f, 0.012541f, - -0.003850f, -0.002156f, -0.010400f, 0.006545f, -0.000283f, -0.006771f, 0.010498f, 0.003411f, 0.001223f, 0.012258f, 0.002528f, -0.010486f, -0.001551f, 0.001428f, -0.002954f, -0.003444f, 0.000015f, -0.008880f, 0.017845f, 0.007527f, 0.002542f, 0.011309f, 0.004784f, 0.004561f, 0.008142f, -0.002197f, 0.006882f, -0.003825f, 0.001139f, 0.000872f, 0.000361f, -0.001915f, 0.001200f, 0.000696f, -0.000711f, -0.001052f, -0.001211f, 0.001022f, -0.000966f, 0.000244f, 0.005891f, 0.000789f, -0.000221f, 0.000068f, -0.000124f, -0.000632f, 0.004669f, 0.001391f, 0.003017f, 0.000377f, -0.003058f, -0.000579f, 0.006668f, -0.005324f, 0.004263f, 0.000323f, -0.002629f, 0.011129f, 0.008606f, -0.000931f, -0.015189f, -0.020446f, -0.015664f, 0.005771f, 0.000098f, -0.008863f, -0.002207f, 0.000976f, -0.001913f, 0.022881f, 0.004054f, -0.016623f, -0.004311f, -0.005002f, 0.000932f, -0.007846f, 0.013073f, -0.009738f, -0.012605f, 0.011836f, -0.004888f, 0.003224f, 0.003261f, -0.005467f, -0.014851f, 0.001962f, -0.007861f, -0.007073f, -0.007213f, -0.000941f, 0.011763f, -0.001634f, -0.002522f, 0.017190f, 0.003279f, 0.002617f, - -0.022086f, -0.002495f, 0.011968f, 0.013852f, -0.007544f, 0.003751f, 0.002024f, -0.021923f, -0.002804f, -0.001350f, -0.002103f, 0.005516f, 0.000380f, -0.012295f, 0.001736f, -0.009830f, 0.009561f, -0.003343f, 0.012270f, 0.002424f, -0.013784f, 0.006175f, 0.026269f, -0.010142f, 0.000370f, -0.019466f, 0.004860f, 0.016390f, -0.029218f, 0.004202f, -0.001945f, -0.002531f, 0.007443f, -0.004725f, -0.007521f, 0.013794f, 0.013320f, -0.011370f, -0.001236f, 0.008648f, -0.003692f, 0.002059f, 0.004215f, 0.002579f, 0.000985f, -0.003297f, 0.007499f, -0.000164f, 0.004956f, 0.000235f, 0.006720f, 0.004506f, 0.004298f, -0.000310f, 0.001573f, 0.007350f, 0.000947f, -0.001462f, 0.002728f, 0.002320f, 0.001030f, 0.006122f, -0.003207f, 0.001981f, 0.001135f, -0.001300f, 0.000607f, 0.002247f, 0.001694f, 0.000795f, -0.000409f, 0.000326f, 0.019904f, 0.002186f, 0.009073f, 0.013665f, -0.016894f, -0.005518f, -0.012826f, 0.006341f, 0.007874f, 0.014871f, 0.029538f, 0.004365f, -0.022035f, -0.002325f, -0.005327f, -0.002551f, -0.009364f, -0.000197f, -0.000790f, 0.010833f, 0.009099f, 0.002979f, -0.000494f, 0.000220f, - -0.003137f, -0.002774f, 0.012978f, -0.004351f, -0.001391f, 0.009258f, -0.000880f, 0.005370f, -0.000632f, 0.011848f, -0.008888f, -0.018432f, 0.022991f, -0.001539f, 0.005707f, -0.017260f, 0.001585f, -0.005387f, 0.025485f, 0.003770f, 0.011722f, -0.002572f, 0.010436f, 0.006608f, -0.022423f, -0.003773f, -0.012437f, -0.011172f, 0.001884f, 0.015866f, 0.002367f, -0.003399f, 0.025262f, -0.002811f, -0.013713f, -0.010916f, -0.006999f, 0.012058f, 0.037999f, -0.000241f, 0.010815f, 0.002540f, -0.011616f, -0.002791f, 0.000588f, 0.011012f, 0.017491f, 0.001423f, 0.014139f, 0.012119f, -0.022137f, 0.000602f, -0.003627f, -0.000715f, 0.011694f, -0.005178f, 0.003341f, 0.005197f, -0.001324f, -0.011702f, -0.007616f, -0.017030f, 0.004465f, 0.006612f, -0.000425f, 0.002479f, 0.002918f, 0.001935f, 0.000230f, -0.005364f, 0.001552f, 0.002377f, 0.000148f, 0.002196f, -0.002292f, 0.004395f, 0.000067f, 0.002159f, -0.000784f, -0.000911f, -0.001709f, 0.000474f, -0.000697f, 0.000698f, 0.004199f, 0.005887f, 0.005426f, 0.000660f, 0.001781f, 0.003577f, 0.002530f, 0.000033f, 0.002570f, 0.000656f, -0.000061f, 0.004439f, - -0.006418f, -0.029342f, 0.006863f, -0.003224f, 0.010242f, 0.006099f, 0.027316f, 0.005151f, -0.004855f, 0.006187f, 0.020960f, 0.022610f, 0.009718f, 0.015834f, 0.016761f, -0.013106f, -0.009693f, -0.021049f, -0.022162f, 0.002139f, 0.009914f, -0.019275f, -0.013242f, -0.001349f, -0.021691f, -0.018502f, 0.009457f, 0.002627f, -0.009510f, -0.006817f, -0.014157f, 0.011617f, 0.008955f, 0.019312f, 0.037569f, -0.004480f, -0.010369f, -0.004328f, -0.018188f, -0.000561f, -0.014127f, -0.016215f, 0.019348f, 0.001835f, 0.002841f, -0.024940f, 0.025599f, 0.004694f, -0.015613f, -0.005436f, 0.013271f, 0.000521f, 0.003029f, -0.000790f, 0.002320f, 0.007070f, -0.011921f, 0.013847f, 0.000504f, -0.010342f, -0.002600f, -0.017463f, 0.002844f, -0.017922f, -0.015395f, 0.013089f, 0.014078f, -0.014335f, -0.022008f, 0.005271f, -0.010525f, -0.001982f, -0.005745f, 0.007078f, -0.006186f, 0.009461f, 0.003317f, 0.011533f, -0.002541f, 0.008513f, 0.004749f, -0.020306f, -0.006809f, 0.004500f, 0.002773f, -0.000043f, -0.009692f, -0.005959f, -0.002793f, 0.006176f, -0.003657f, -0.003712f, 0.000438f, 0.004862f, 0.004244f, -0.000641f, - -0.000142f, -0.006125f, -0.002933f, 0.000680f, -0.001209f, -0.000995f, 0.004820f, 0.000090f, -0.000190f, -0.004620f, 0.004175f, 0.000866f, -0.001398f, -0.001241f, -0.002693f, -0.000967f, -0.002997f, 0.003832f, -0.000927f, 0.001529f, -0.001110f, 0.007509f, -0.011245f, -0.011934f, 0.014447f, -0.004347f, -0.003641f, 0.008615f, -0.012392f, -0.012682f, 0.014559f, 0.019891f, 0.000118f, -0.001056f, 0.006462f, -0.016844f, 0.028757f, -0.017650f, 0.001872f, 0.014005f, -0.006826f, 0.013073f, 0.015398f, 0.005284f, -0.016660f, 0.017826f, -0.002882f, 0.006776f, -0.013120f, -0.002286f, -0.024729f, 0.008542f, -0.014794f, 0.005723f, -0.025448f, 0.014903f, -0.018672f, -0.012754f, 0.010284f, 0.014708f, 0.004658f, 0.001718f, 0.000355f, -0.015743f, -0.014954f, -0.009299f, 0.038083f, 0.021126f, -0.006284f, -0.035440f, -0.005263f, 0.010063f, 0.020423f, -0.011628f, 0.001433f, -0.024485f, -0.008686f, -0.002981f, 0.006139f, 0.003648f, -0.005755f, -0.000400f, 0.010527f, -0.012111f, -0.000912f, -0.013814f, 0.007297f, 0.009087f, 0.026252f, 0.011275f, -0.013108f, 0.005486f, -0.007403f, -0.019995f, -0.002764f, 0.011590f, - 0.001412f, 0.032992f, -0.019107f, -0.009200f, 0.004866f, -0.017176f, 0.008543f, 0.002757f, -0.003471f, 0.016757f, 0.003919f, 0.007401f, -0.000099f, 0.000608f, -0.002841f, 0.008282f, 0.012114f, 0.002975f, -0.003786f, 0.009046f, -0.004948f, 0.002836f, -0.008747f, -0.002854f, -0.000248f, -0.011220f, -0.000426f, -0.004374f, -0.002222f, -0.004368f, -0.007509f, -0.003380f, 0.002261f, 0.002817f, 0.001719f, -0.002383f, -0.000598f, 0.004932f, -0.008436f, 0.000830f, 0.000463f, -0.025430f, -0.003562f, 0.005035f, 0.015077f, 0.007117f, 0.019638f, 0.003404f, -0.023130f, 0.014683f, -0.019542f, -0.021231f, 0.000750f, -0.002055f, 0.016214f, 0.019816f, 0.018519f, 0.026632f, 0.006714f, -0.027749f, 0.030409f, 0.016406f, -0.012043f, 0.023140f, -0.002830f, 0.002719f, -0.020225f, -0.007176f, -0.005702f, -0.009159f, 0.019687f, -0.032872f, -0.007222f, -0.015499f, -0.014447f, 0.002605f, 0.015986f, -0.007577f, -0.018716f, -0.020153f, -0.025926f, -0.026500f, -0.013221f, -0.004582f, 0.011591f, -0.020817f, -0.026675f, -0.015968f, -0.006570f, -0.013271f, -0.008615f, 0.023337f, -0.012961f, 0.002127f, 0.012632f, -0.021316f, - -0.012416f, -0.014387f, 0.023270f, -0.009907f, 0.015230f, 0.032976f, -0.003001f, 0.007351f, 0.003440f, -0.010187f, -0.013064f, -0.009136f, 0.015823f, -0.002384f, 0.018087f, 0.001020f, 0.013709f, 0.003091f, -0.022478f, 0.028059f, -0.011909f, -0.003637f, -0.023890f, 0.014744f, 0.031842f, 0.005295f, -0.004109f, 0.008349f, 0.003885f, -0.020290f, -0.009223f, 0.001154f, -0.004564f, -0.002220f, -0.008499f, -0.008578f, -0.001184f, 0.001469f, 0.001489f, 0.014663f, -0.001476f, 0.001832f, -0.007058f, 0.005552f, 0.000829f, 0.011017f, 0.005024f, 0.004956f, 0.002316f, -0.001357f, -0.004531f, -0.004039f, -0.006381f, -0.001465f, -0.004750f, 0.003290f, 0.001923f, -0.000134f, -0.003242f, -0.002957f, -0.002317f, -0.001030f, 0.001375f, -0.001202f, 0.006278f, 0.047092f, 0.029294f, 0.021740f, -0.015780f, -0.033480f, -0.009349f, 0.020774f, -0.032190f, -0.017162f, 0.000368f, 0.025332f, 0.017733f, 0.014819f, -0.018759f, 0.014206f, -0.005238f, 0.014201f, -0.003915f, 0.036516f, 0.021490f, -0.001553f, -0.033623f, -0.003197f, 0.025031f, 0.021757f, 0.000635f, 0.044214f, 0.019628f, -0.008597f, -0.000282f, 0.003278f, - -0.005467f, -0.012039f, -0.017203f, -0.002422f, -0.047820f, 0.013714f, -0.016582f, 0.002501f, -0.001946f, 0.012659f, 0.017419f, 0.000687f, 0.004435f, -0.020981f, 0.014846f, -0.007472f, 0.031209f, 0.000960f, 0.004219f, -0.076466f, -0.003578f, 0.020704f, 0.010284f, 0.022006f, -0.007748f, -0.021240f, 0.011648f, 0.004403f, -0.017881f, 0.016988f, 0.003108f, -0.016628f, -0.000042f, 0.000961f, 0.005592f, -0.005960f, -0.028374f, -0.027895f, -0.001452f, -0.009883f, 0.009134f, 0.010156f, 0.003872f, 0.010794f, -0.034685f, -0.011549f, 0.001466f, 0.007864f, 0.007994f, -0.013452f, 0.010490f, 0.002760f, -0.005234f, 0.003875f, 0.009428f, -0.006236f, 0.000991f, -0.001850f, 0.003709f, -0.006347f, -0.010629f, -0.003237f, 0.011931f, -0.009024f, 0.000976f, -0.006681f, 0.004577f, -0.002620f, 0.004011f, 0.007312f, -0.001191f, -0.006781f, 0.005410f, -0.000941f, -0.008567f, -0.004994f, 0.002605f, 0.004053f, 0.000099f, -0.003068f, 0.001279f, -0.000415f, 0.004710f, -0.002138f, 0.009465f, -0.003102f, -0.001003f, 0.005965f, -0.032429f, -0.052012f, 0.008337f, 0.018086f, 0.018661f, 0.000499f, 0.043211f, -0.030727f, - 0.010083f, 0.005977f, -0.008844f, -0.027272f, -0.011578f, -0.015489f, 0.018286f, -0.008007f, -0.016899f, -0.027760f, -0.002641f, -0.010230f, -0.005385f, -0.020928f, 0.011112f, -0.001270f, -0.009891f, 0.011342f, 0.014308f, 0.017066f, -0.022175f, 0.040416f, 0.002379f, -0.005763f, -0.024873f, -0.023270f, -0.004816f, -0.003022f, -0.024264f, -0.025174f, -0.019428f, 0.016297f, -0.011286f, 0.027000f, 0.008557f, 0.045028f, 0.015362f, 0.017113f, -0.005854f, 0.024157f, -0.004278f, 0.005834f, 0.034110f, -0.010396f, 0.012324f, -0.041089f, -0.052428f, 0.011432f, -0.002556f, -0.033212f, 0.001991f, 0.000834f, -0.045262f, 0.012726f, -0.013392f, -0.008930f, -0.017728f, 0.017056f, -0.016570f, 0.000944f, -0.001904f, 0.008222f, -0.000039f, -0.024729f, 0.014430f, -0.003566f, 0.005696f, -0.031192f, -0.043138f, -0.038332f, 0.002048f, -0.009092f, -0.043677f, -0.009180f, 0.041802f, 0.022071f, 0.009634f, 0.007985f, -0.019439f, 0.000639f, -0.004524f, 0.001872f, -0.006454f, -0.005160f, -0.000304f, -0.000477f, 0.001591f, -0.000062f, -0.013594f, -0.003254f, 0.003489f, -0.002540f, 0.006439f, 0.010680f, 0.008876f, -0.000098f, - -0.001575f, -0.004645f, 0.014116f, 0.008172f, 0.009268f, 0.007782f, 0.005654f, -0.001054f, -0.005472f, -0.004861f, 0.011003f, -0.008566f, 0.006539f, 0.009312f, 0.003578f, 0.004594f, 0.000697f, 0.002753f, -0.007533f, 0.000683f, -0.002212f, -0.006409f, 0.003038f, 0.004297f, 0.008504f, 0.031581f, 0.041492f, -0.001237f, 0.011153f, 0.026072f, 0.021593f, -0.002234f, -0.052478f, 0.036009f, -0.003373f, 0.009788f, -0.010545f, 0.018461f, -0.001102f, -0.022791f, 0.006625f, 0.041418f, 0.006563f, -0.027186f, 0.024191f, 0.017132f, 0.011457f, -0.020434f, 0.022298f, 0.016365f, 0.002208f, 0.026354f, -0.010221f, 0.007078f, 0.042703f, 0.030946f, 0.001553f, 0.009820f, 0.021148f, -0.039990f, -0.007744f, -0.002511f, -0.005919f, -0.035023f, 0.009344f, 0.010659f, 0.002395f, -0.027137f, -0.000038f, -0.046493f, 0.002888f, -0.033200f, -0.006172f, 0.017213f, -0.013782f, -0.020060f, -0.015770f, 0.009970f, 0.008569f, -0.018489f, 0.007812f, -0.006610f, 0.023414f, -0.011844f, -0.013026f, 0.012079f, 0.021928f, -0.001952f, 0.009829f, 0.008415f, -0.050356f, -0.001043f, -0.003253f, -0.025786f, 0.003192f, 0.033250f, - 0.010601f, -0.009137f, -0.003566f, 0.024353f, 0.017503f, 0.010744f, -0.006302f, 0.038562f, 0.000931f, -0.031673f, 0.004832f, 0.038609f, 0.020485f, 0.019723f, 0.012107f, 0.002340f, -0.008892f, -0.010614f, 0.007527f, 0.006510f, 0.009732f, 0.014692f, -0.002954f, 0.011672f, 0.007567f, 0.001430f, -0.001314f, -0.000861f, 0.005758f, -0.004869f, -0.001334f, -0.004814f, 0.000562f, -0.002086f, 0.006322f, -0.011223f, 0.002700f, 0.004318f, 0.001974f, 0.009221f, -0.014912f, -0.006141f, 0.003410f, 0.003405f, -0.000793f, 0.009465f, -0.002537f, -0.002575f, -0.003532f, 0.001484f, 0.006652f, 0.007319f, -0.007864f, 0.001763f, 0.004902f, -0.007499f, -0.004181f, -0.003907f, -0.003131f, 0.020988f, -0.047335f, 0.020546f, -0.048995f, -0.056458f, -0.037789f, 0.003173f, -0.032363f, 0.031494f, -0.010472f, -0.037726f, -0.002134f, -0.009041f, 0.004386f, 0.007907f, -0.009816f, -0.004233f, 0.024527f, -0.006847f, 0.008828f, -0.013106f, -0.014629f, 0.041098f, -0.014461f, -0.003921f, -0.002082f, 0.009913f, 0.024012f, -0.049990f, -0.004312f, 0.027860f, 0.025327f, 0.025283f, 0.002352f, -0.008486f, 0.051264f, 0.018390f, - 0.015533f, 0.021065f, 0.008354f, -0.006659f, -0.000554f, 0.031416f, 0.009009f, -0.021023f, 0.010559f, 0.057260f, -0.030811f, 0.039783f, 0.013392f, -0.059037f, 0.013509f, 0.040796f, -0.005306f, 0.018727f, -0.001178f, -0.044586f, 0.021921f, 0.057040f, 0.002227f, 0.039006f, -0.024176f, 0.034585f, 0.027088f, -0.000237f, -0.006043f, 0.031796f, 0.015518f, -0.040265f, 0.039951f, -0.009455f, -0.010324f, 0.025496f, -0.013012f, -0.014063f, -0.019251f, 0.007039f, 0.001132f, 0.007471f, -0.002718f, -0.007643f, 0.029740f, -0.026832f, 0.003726f, -0.005050f, -0.009995f, -0.021822f, -0.022330f, 0.013181f, -0.002652f, -0.013217f, -0.020047f, -0.015354f, -0.028126f, -0.018642f, -0.002120f, -0.012729f, -0.009031f, -0.001397f, -0.015107f, 0.006487f, -0.013434f, -0.012189f, -0.004529f, 0.003701f, 0.003417f, -0.005865f, -0.001895f, -0.019425f, 0.006854f, -0.020410f, 0.014887f, -0.004841f, -0.002452f, -0.008666f, -0.006131f, -0.000519f, 0.022823f, 0.012507f, -0.003606f, 0.006202f, 0.015336f, 0.009446f, -0.010199f, -0.003818f, 0.005298f, -0.007738f, 0.012272f, 0.003473f, -0.006383f, 0.005026f, -0.018639f, -0.031671f, - 0.076773f, 0.038747f, -0.090626f, -0.036640f, 0.009055f, -0.014431f, 0.025524f, 0.031157f, 0.032378f, 0.038129f, -0.023624f, 0.071784f, -0.011238f, 0.002308f, -0.023843f, 0.027369f, 0.035281f, -0.025286f, -0.029936f, -0.005680f, -0.017459f, 0.003679f, 0.013762f, 0.002717f, -0.019038f, -0.006486f, 0.028837f, -0.001825f, 0.014316f, 0.004098f, 0.034804f, 0.053457f, 0.019565f, -0.024935f, -0.060161f, -0.004482f, -0.010645f, 0.007239f, -0.014325f, 0.020203f, 0.032538f, 0.003518f, -0.012778f, -0.026720f, 0.064682f, 0.057553f, -0.008092f, 0.028377f, -0.016047f, -0.020304f, -0.063341f, 0.035256f, -0.029839f, -0.006219f, -0.002409f, -0.019095f, 0.010472f, 0.039120f, 0.005367f, -0.016484f, 0.017777f, -0.007337f, -0.026466f, 0.039992f, 0.007474f, -0.054131f, 0.069518f, -0.046917f, -0.025965f, 0.027636f, 0.027265f, 0.023848f, -0.000147f, -0.057852f, -0.005571f, 0.005676f, -0.003940f, -0.018641f, 0.010764f, -0.009486f, 0.003586f, 0.007800f, -0.024793f, 0.028557f, 0.018958f, 0.009937f, 0.003208f, -0.010943f, -0.009070f, -0.000019f, 0.009325f, 0.001411f, 0.007063f, -0.004034f, -0.019341f, 0.006226f, - -0.028090f, -0.008183f, 0.008187f, -0.007594f, 0.014485f, -0.012217f, -0.002459f, -0.010300f, 0.011420f, 0.001586f, 0.014175f, 0.017690f, 0.011211f, 0.001035f, -0.013578f, 0.009967f, 0.015370f, -0.002623f, -0.002457f, -0.016563f, -0.008138f, 0.020385f, -0.007384f, 0.013941f, -0.001767f, -0.006930f, 0.006431f, 0.007198f, -0.001020f, -0.010727f, 0.019893f, -0.010323f, -0.024897f, 0.002802f, 0.035525f, 0.010571f, -0.048270f, -0.038666f, -0.009294f, 0.060380f, 0.006278f, -0.028959f, -0.077882f, -0.021633f, -0.003569f, 0.018508f, 0.053548f, 0.041072f, -0.005766f, 0.000530f, 0.035214f, 0.028706f, 0.001300f, 0.007885f, -0.105090f, -0.066218f, -0.032314f, -0.051888f, 0.004473f, -0.028937f, 0.046447f, -0.010627f, -0.003686f, -0.000213f, -0.018764f, -0.021364f, 0.033642f, 0.021003f, 0.011879f, -0.004751f, -0.016085f, -0.014356f, 0.016735f, -0.037636f, -0.014152f, 0.006668f, -0.013099f, -0.018326f, 0.015654f, -0.054407f, -0.076188f, 0.018116f, 0.023743f, 0.029557f, -0.044511f, -0.023637f, 0.024572f, 0.009352f, -0.074274f, -0.065188f, 0.003912f, -0.031547f, -0.032686f, 0.012142f, -0.060015f, 0.030432f, - -0.023246f, 0.025010f, 0.023948f, -0.014876f, -0.033847f, -0.078100f, -0.027429f, -0.023465f, 0.043790f, -0.037894f, -0.024763f, 0.013365f, 0.044766f, 0.026122f, 0.000202f, -0.015257f, -0.005066f, 0.013406f, -0.013486f, 0.045286f, -0.028109f, -0.022000f, -0.010675f, -0.003940f, 0.012409f, -0.033367f, 0.019608f, 0.015059f, -0.014017f, -0.023366f, 0.005396f, -0.001358f, 0.022710f, -0.029182f, -0.038093f, -0.009658f, 0.005991f, -0.021058f, -0.003200f, -0.025464f, 0.001075f, 0.006209f, -0.011480f, 0.017763f, -0.004806f, -0.012591f, 0.005502f, -0.008511f, 0.005171f, -0.007250f, -0.026458f, -0.001162f, 0.001940f, 0.025254f, 0.019809f, -0.012151f, 0.000100f, -0.001356f, -0.014917f, -0.019098f, 0.009289f, -0.004846f, -0.006938f, 0.005780f, 0.030966f, 0.042533f, -0.006801f, -0.057217f, 0.025922f, -0.008592f, -0.023868f, -0.049345f, 0.014722f, 0.021077f, -0.073158f, 0.027600f, 0.025995f, 0.065946f, 0.005960f, -0.016578f, 0.004075f, -0.080795f, -0.023471f, -0.009872f, 0.001028f, 0.014707f, -0.027633f, 0.049406f, 0.019779f, 0.061077f, -0.012335f, 0.053700f, 0.034492f, 0.021151f, 0.048978f, 0.024694f, - 0.032290f, 0.041520f, 0.001738f, -0.054729f, -0.051577f, 0.010303f, 0.058835f, 0.042368f, -0.078647f, -0.002488f, -0.013427f, -0.011284f, -0.008379f, -0.054665f, 0.013791f, -0.039028f, 0.034729f, -0.026213f, 0.078549f, -0.021003f, -0.113098f, -0.012321f, -0.039098f, 0.022132f, 0.016577f, 0.031831f, 0.073086f, 0.016027f, -0.010165f, 0.039766f, -0.023908f, 0.081513f, 0.013558f, 0.054398f, 0.025523f, 0.004592f, -0.021004f, -0.019202f, 0.134145f, 0.000370f, -0.093033f, -0.019099f, 0.073879f, -0.044775f, 0.009450f, -0.020920f, 0.032268f, 0.067590f, 0.039017f, -0.079063f, -0.005371f, -0.077858f, 0.010440f, -0.011208f, -0.046099f, -0.005964f, -0.012700f, -0.020858f, -0.000443f, -0.040201f, -0.043815f, 0.014436f, 0.016088f, -0.002787f, -0.049011f, 0.034515f, -0.043472f, -0.067441f, -0.028799f, 0.015943f, -0.016922f, -0.030463f, -0.038686f, 0.006316f, 0.015825f, -0.035511f, -0.026934f, 0.012117f, -0.015775f, -0.028841f, 0.022527f, 0.017480f, -0.002058f, -0.004347f, 0.000908f, -0.007273f, -0.011888f, -0.013109f, 0.004045f, -0.026802f, 0.014769f, -0.010184f, 0.005337f, -0.033887f, 0.036177f, 0.016840f, - -0.077599f, -0.027987f, -0.088013f, 0.014105f, 0.076030f, -0.055819f, -0.053932f, 0.051592f, 0.023046f, -0.086110f, -0.083201f, 0.027216f, 0.003527f, 0.012896f, 0.027206f, -0.002631f, -0.025567f, -0.011776f, 0.051797f, -0.036888f, 0.064154f, 0.011388f, -0.016062f, 0.014687f, 0.036706f, 0.000665f, -0.012088f, -0.068763f, -0.031373f, 0.008517f, -0.038124f, 0.032955f, 0.047189f, 0.004260f, 0.007102f, -0.048975f, 0.058497f, -0.020053f, -0.027386f, 0.049191f, -0.019454f, 0.000887f, -0.035573f, -0.002742f, -0.025265f, -0.084759f, 0.028504f, -0.008801f, 0.062727f, 0.082335f, -0.002056f, -0.013783f, -0.052556f, -0.015567f, -0.015254f, 0.078380f, -0.074646f, -0.051315f, -0.123164f, 0.003633f, -0.051500f, 0.014805f, 0.041560f, -0.022118f, -0.007256f, 0.084186f, 0.052933f, 0.038804f, 0.005695f, 0.004568f, 0.062436f, -0.067905f, -0.003875f, 0.020247f, -0.008999f, 0.038629f, 0.017286f, 0.161737f, 0.024562f, -0.043245f, -0.003370f, -0.029405f, -0.080252f, -0.030724f, 0.002047f, 0.014201f, -0.016195f, -0.015738f, -0.015937f, -0.055984f, -0.001633f, -0.003961f, -0.031026f, 0.008732f, 0.019286f, -0.047908f, - 0.002256f, -0.032284f, 0.011986f, -0.001563f, -0.012387f, -0.005858f, 0.001882f, 0.029321f, 0.015773f, 0.001961f, 0.030776f, -0.018817f, -0.005062f, -0.008603f, 0.028899f, 0.020644f, 0.013244f, 0.031360f, 0.013321f, -0.021247f, -0.011488f, -0.002933f, 0.014236f, -0.026910f, -0.008085f, 0.001540f, -0.032084f, 0.034575f, -0.009451f, 0.005503f, 0.074570f, -0.054880f, 0.019077f, -0.018994f, -0.026463f, -0.026122f, 0.112580f, -0.015358f, 0.055283f, -0.044903f, 0.076790f, -0.026947f, 0.001139f, 0.041017f, 0.044322f, 0.105504f, 0.005025f, 0.016917f, 0.015500f, -0.045388f, 0.054596f, 0.016488f, -0.032205f, 0.052802f, -0.022357f, 0.066600f, 0.051152f, -0.016379f, 0.044478f, 0.001529f, 0.041505f, 0.007816f, 0.070467f, -0.043712f, 0.035080f, -0.071979f, -0.018025f, 0.023336f, 0.076352f, -0.004010f, 0.006014f, 0.032287f, -0.000429f, -0.026495f, -0.092305f, -0.057670f, 0.015552f, -0.040302f, -0.001957f, 0.028324f, -0.080500f, 0.048322f, -0.003757f, 0.057592f, -0.028050f, -0.055482f, -0.009796f, 0.150098f, 0.033997f, -0.138261f, 0.023896f, 0.034046f, 0.008244f, 0.148518f, -0.009364f, -0.111082f, - 0.113880f, -0.039535f, -0.007740f, 0.124053f, -0.013836f, 0.081221f, 0.012849f, -0.075434f, 0.002732f, 0.126764f, -0.104813f, 0.053656f, -0.064424f, -0.073290f, 0.052986f, 0.031004f, -0.066495f, -0.025397f, -0.041513f, -0.023493f, -0.024507f, 0.010671f, -0.040970f, -0.009595f, 0.015539f, -0.042764f, -0.030342f, 0.020197f, -0.049224f, -0.013201f, 0.016530f, 0.005345f, -0.011857f, 0.035049f, -0.016458f, -0.013796f, -0.018322f, -0.034480f, 0.015308f, -0.022795f, -0.025279f, -0.007343f, 0.003494f, 0.047073f, -0.000579f, 0.012156f, -0.040995f, 0.002471f, 0.050722f, -0.011325f, -0.007010f, -0.005815f, 0.001621f, 0.001825f, 0.035068f, -0.020873f, -0.023121f, -0.012916f, -0.035440f, -0.042812f, 0.009828f, -0.022336f, -0.018215f, 0.024142f, 0.007168f, 0.015147f, -0.007117f, -0.108596f, -0.010242f, 0.019194f, -0.043124f, -0.009907f, -0.117753f, 0.075541f, 0.110896f, -0.047388f, 0.014165f, -0.083623f, -0.252164f, -0.045755f, 0.009816f, 0.129254f, 0.104903f, -0.102362f, -0.094954f, -0.091749f, -0.078944f, -0.052294f, 0.064422f, -0.009305f, 0.144121f, 0.101006f, -0.031227f, -0.118544f, -0.303741f, -0.193229f, - 0.011782f, 0.337299f, 0.253153f, 0.048919f, -0.133367f, -0.327613f, -0.339707f, -0.022386f, 0.194840f, 0.306490f, 0.331738f, 0.036610f, -0.109791f, -0.134358f, -0.183021f, -0.160895f, 0.009038f, 0.114987f, 0.208105f, 0.146815f, 0.113626f, -0.148323f, -0.186415f, -0.214520f, -0.262919f, 0.031420f, 0.310875f, 0.310494f, 0.060778f, -0.109172f, -0.295348f, -0.382616f, -0.132038f, 0.031735f, 0.141087f, 0.353114f, 0.127313f, 0.001176f, -0.195581f, -0.156431f, -0.068695f, 0.081770f, 0.135310f, 0.242945f, 0.061041f, 0.127753f, -0.012190f, -0.159792f, -0.135780f, 0.009324f, 0.153543f, 0.171516f, -0.079442f, -0.145962f, -0.183105f, -0.043739f, 0.027483f, 0.044515f, 0.025492f, -0.088861f, -0.080442f, -0.030907f, 0.055662f, 0.001439f, -0.001273f, 0.014334f, 0.044060f, 0.038784f, 0.026650f, -0.014546f, -0.112447f, -0.071918f, 0.005973f, 0.058114f, 0.102956f, 0.052269f, -0.032054f, -0.068567f, -0.094648f, -0.056569f, -0.039451f, -0.047147f, 0.103177f, 0.111526f, 0.118622f, 0.101703f, -0.049148f, -0.191860f, -0.166102f, -0.087076f, 0.071957f, 0.245075f, 0.233910f, 0.014291f, -0.151916f, -0.232529f, - -0.212849f, -0.012741f, 0.114070f, 0.110797f, 0.050650f, 0.049148f, 0.000055f, -0.061831f, -0.077953f, -0.094221f, -0.017122f, 0.089562f, 0.106166f, 0.077850f, 0.006983f, -0.072339f, -0.068864f, -0.030693f, 0.054824f, 0.040469f, -0.094020f, 0.000099f, 0.049830f, -0.040177f, 0.054983f, -0.003118f, -0.008915f, -0.004791f, 0.011878f, 0.040148f, -0.015135f, 0.047479f, 0.033896f, 0.018815f, 0.022898f, 0.015738f, -0.003179f, -0.028560f, 0.046251f, -0.001468f, 0.028623f, -0.017310f, 0.025605f, -0.009294f, -0.002490f, 0.015874f, -0.021337f, -0.024420f, 0.004520f, -0.010958f, 0.037674f, 0.035394f, -0.032110f, 0.015769f, -0.018692f, 0.021986f, 0.001549f, 0.014179f, 0.006763f, 0.018642f, -0.022535f, 0.015631f, -0.026092f, -0.012527f, -0.002677f, -0.003792f, 0.023053f, -0.042179f, -0.007084f, -0.017819f, -0.035800f, -0.003963f, -0.013391f, 0.008143f, 0.036283f, -0.011239f, -0.047624f, 0.007177f, 0.031389f, 0.058381f, -0.001448f, 0.004555f, -0.030676f, -0.024820f, 0.028642f, 0.001867f, -0.009265f, 0.000207f, 0.049360f, 0.020718f, 0.016382f, 0.025421f, 0.045591f, -0.050932f, 0.021276f, -0.009188f, - -0.073899f, -0.009337f, 0.059303f, -0.011351f, 0.052902f, -0.002883f, 0.033319f, -0.038564f, 0.024717f, -0.026405f, -0.006450f, 0.050361f, -0.013397f, 0.004153f, 0.002314f, -0.000756f, 0.019865f, -0.000605f, -0.006363f, -0.004851f, -0.000138f, -0.004114f, 0.010595f, 0.014094f, 0.022615f, 0.001913f, -0.016964f, -0.008726f, -0.022303f, 0.008385f, -0.023163f, 0.012729f, 0.011375f, -0.008042f, 0.015014f, 0.003886f, -0.024043f, -0.000070f, 0.001299f, 0.007618f, -0.042218f, 0.014745f, 0.011012f, 0.003335f, 0.000171f, -0.012499f, 0.015623f, -0.022494f, 0.023595f, -0.002197f, -0.001296f, 0.005520f, -0.009243f, 0.018320f, -0.019655f, 0.005440f, -0.010203f, 0.011327f, -0.035415f, 0.089342f, 0.151829f, 0.013827f, -0.100578f, 0.034298f, -0.008261f, 0.124534f, 0.057385f, 0.122438f, -0.012179f, -0.056945f, -0.016453f, 0.027828f, 0.050386f, 0.040854f, -0.023260f, 0.004801f, 0.020988f, 0.016645f, 0.047579f, -0.032862f, 0.007438f, -0.044620f, -0.008074f, 0.001571f, 0.011005f, 0.024666f, 0.004517f, -0.018472f, 0.036298f, -0.002452f, -0.033369f, 0.045572f, -0.008303f, -0.014974f, 0.011172f, -0.005641f, - 0.034056f, 0.056393f, 0.000701f, 0.015482f, -0.019285f, -0.010605f, 0.031398f, 0.024241f, 0.025897f, 0.006308f, -0.017460f, -0.033774f, -0.036380f, -0.037791f, 0.030478f, 0.035248f, 0.032884f, 0.051045f, 0.052913f, 0.024243f, 0.002234f, -0.045627f, 0.028066f, -0.003891f, -0.043006f, 0.053540f, -0.004420f, 0.035610f, 0.017501f, -0.051371f, 0.013978f, -0.014439f, 0.010683f, 0.036701f, 0.006102f, -0.042717f, -0.031718f, -0.024697f, -0.046545f, 0.029237f, -0.003341f, 0.049584f, -0.001005f, 0.009119f, 0.000467f, -0.024894f, -0.017317f, 0.010424f, -0.039970f, 0.013187f, -0.000886f, -0.006406f, 0.013764f, -0.020670f, 0.012894f, 0.009958f, -0.002230f, -0.017284f, 0.023918f, -0.004854f, 0.021173f, -0.035182f, -0.027318f, -0.014545f, -0.014572f, 0.018578f, -0.007685f, -0.003165f, -0.005060f, -0.016903f, -0.010328f, -0.009850f, -0.000363f, 0.035210f, 0.004131f, -0.007197f, -0.000924f, -0.018265f, 0.013972f, -0.009520f, -0.002286f, -0.006055f, 0.015716f, 0.000068f, 0.001788f, -0.001935f, -0.011969f, -0.006411f, 0.017213f, -0.004686f, 0.012243f, -0.002159f, 0.006388f, -0.009518f, -0.053184f, -0.121093f, - 0.008837f, 0.166168f, 0.221222f, 0.188692f, 0.131237f, -0.006168f, 0.008767f, -0.097091f, -0.114148f, -0.193491f, -0.145097f, -0.155473f, -0.049536f, 0.012463f, 0.051091f, 0.084140f, 0.211012f, 0.174424f, 0.118527f, 0.037571f, -0.017910f, -0.076659f, -0.055987f, -0.079680f, -0.099921f, -0.056550f, -0.056868f, -0.071408f, -0.032314f, -0.047189f, 0.010523f, 0.032311f, 0.028306f, 0.089017f, 0.083383f, 0.072812f, 0.048671f, 0.055008f, 0.035650f, 0.065998f, 0.016708f, 0.057025f, 0.003219f, -0.015643f, -0.099885f, -0.044322f, -0.120524f, -0.141477f, -0.156908f, -0.124121f, -0.092135f, -0.033480f, 0.024451f, 0.089981f, 0.097159f, 0.075496f, 0.157230f, 0.126330f, 0.136288f, 0.125044f, 0.117873f, 0.046490f, 0.076472f, -0.030977f, -0.074735f, -0.079624f, -0.185469f, -0.186572f, -0.179042f, -0.191802f, -0.157033f, -0.054469f, -0.025869f, 0.041929f, 0.107433f, 0.115754f, 0.142796f, 0.170620f, 0.153388f, 0.118470f, 0.108828f, 0.079098f, 0.030456f, -0.003486f, -0.063366f, -0.094821f, -0.094393f, -0.109013f, -0.090310f, -0.102576f, -0.105677f, -0.090315f, -0.069251f, -0.035553f, 0.004835f, 0.045835f, - 0.089948f, 0.083085f, 0.083139f, 0.096726f, 0.108123f, 0.082690f, 0.084003f, 0.036719f, -0.038395f, -0.029027f, -0.068017f, -0.087867f, -0.072290f, -0.060448f, -0.041507f, -0.053500f, -0.037737f, 0.004199f, 0.011834f, 0.018171f, 0.047854f, 0.041096f, 0.027050f, 0.006124f, 0.018475f, 0.017709f, 0.006076f, 0.022522f, -0.013589f, -0.016136f, -0.012024f, 0.008284f, -0.001895f, 0.000091f, -0.000565f, -0.003329f, -0.016467f, -0.012265f, -0.004366f, 0.016209f, 0.000568f, 0.007345f, 0.003123f, -0.009206f, -0.010371f, -0.005884f, -0.007090f, 0.002199f, 0.000226f, 0.002709f, 0.002420f, 0.003781f, -0.003543f, 0.003922f, -0.002101f, 0.000893f, 0.003518f, 0.010361f, 0.004972f, 0.012081f, 0.002176f, -0.000246f, -0.002899f, -0.002616f, -0.007664f, -0.000700f, -0.004078f, -0.002148f, -0.005874f, -0.000497f, -0.002742f, 0.001250f, -0.005372f, -0.000849f, -0.000011f, 0.003944f, -0.002503f, -0.000787f, -0.003831f, 0.002149f, 0.000222f, 0.005175f, 0.005141f, 0.007089f, 0.002282f, 0.004640f, -0.000230f, 0.000229f, -0.002216f, 0.002268f, -0.001576f, 0.001593f, -0.001423f, 0.000811f, -0.004595f, -0.003115f, - -0.008294f, -0.003965f, -0.004846f, -0.000826f, -0.003181f, 0.001460f, -0.000819f, 0.002841f, 0.000796f, 0.005867f, 0.003108f, 0.006299f, 0.003090f, 0.005757f, 0.002456f, 0.004183f, -0.000390f, 0.000378f, -0.005000f, -0.002576f, -0.005944f, -0.003434f, -0.006886f, -0.002363f, -0.004193f, 0.000562f, -0.000580f, 0.003512f, 0.000478f, 0.003931f, 0.000788f, 0.003579f, 0.000171f, 0.003046f, -0.000696f, 0.002090f, -0.001437f, 0.001356f, -0.001946f, 0.001210f, -0.001952f, 0.001245f, -0.001893f, 0.001344f, -0.001716f, 0.001531f} - }, - { - {0.019427f, 0.010215f, -0.001089f, 0.006681f, 0.001758f, 0.001468f, -0.021126f, -0.009296f, -0.010430f, 0.008184f, -0.001069f, -0.006961f, 0.007574f, 0.007676f, 0.000575f, 0.007366f, -0.003044f, -0.000332f, -0.000373f, -0.004672f, -0.002329f, -0.010265f, 0.005326f, -0.015139f, 0.006351f, -0.007936f, 0.006473f, 0.011892f, 0.005526f, -0.002363f, -0.003326f, 0.008765f, -0.001368f, 0.000326f, 0.008432f, -0.009056f, -0.000204f, -0.003121f, -0.005110f, 0.001012f, -0.001201f, 0.001768f, 0.008639f, 0.014057f, -0.004441f, 0.000166f, 0.011802f, 0.000803f, 0.003143f, -0.004417f, -0.006532f, -0.001059f, 0.002026f, -0.011190f, -0.002864f, 0.005707f, 0.000803f, 0.002001f, 0.003493f, -0.001688f, -0.003421f, -0.003377f, -0.003844f, 0.004197f, 0.003563f, -0.002144f, -0.006314f, -0.007917f, 0.003908f, -0.000029f, -0.006447f, 0.006749f, -0.001453f, -0.000555f, 0.001086f, 0.001832f, -0.003197f, 0.003995f, -0.004321f, -0.001577f, 0.005397f, -0.003805f, 0.002174f, -0.006370f, -0.004754f, -0.002413f, -0.001515f, -0.000508f, 0.000883f, -0.002635f, -0.003129f, -0.000427f, -0.001768f, 0.000597f, -0.000636f, -0.000685f, - -0.000831f, 0.000556f, 0.000217f, -0.000777f, -0.001263f, -0.000894f, -0.000453f, -0.000236f, -0.000672f, -0.000566f, -0.000962f, 0.000788f, -0.001423f, -0.001016f, 0.001169f, -0.006982f, -0.001886f, 0.000030f, -0.006564f, -0.006692f, -0.003973f, 0.015974f, -0.011210f, -0.004644f, -0.007819f, -0.014312f, 0.005364f, 0.002427f, 0.000584f, 0.012243f, 0.011641f, 0.011616f, 0.003787f, -0.002199f, 0.001829f, 0.008752f, -0.003724f, 0.003763f, 0.004461f, -0.010371f, 0.014767f, 0.002839f, 0.004613f, 0.010879f, -0.004163f, -0.010894f, 0.000763f, 0.007367f, -0.005177f, -0.002380f, -0.006912f, 0.007334f, -0.000160f, -0.000767f, -0.012034f, -0.000540f, -0.001437f, 0.007411f, 0.003824f, -0.006632f, 0.013227f, 0.004855f, 0.002776f, 0.004608f, -0.002123f, 0.007385f, -0.002853f, 0.000352f, -0.009180f, -0.011016f, 0.008851f, 0.006895f, 0.012250f, 0.001181f, 0.003327f, -0.009475f, -0.014617f, -0.007202f, -0.004365f, -0.004278f, -0.006737f, -0.005839f, 0.003051f, -0.001705f, 0.004475f, -0.005507f, -0.002076f, 0.002408f, 0.002765f, -0.001660f, 0.007487f, 0.002259f, -0.005567f, 0.011250f, -0.004383f, 0.003458f, - 0.014232f, 0.003026f, 0.001979f, -0.004405f, 0.000229f, -0.004836f, -0.005746f, -0.000932f, 0.003300f, -0.000065f, 0.000452f, 0.000178f, -0.001535f, -0.000499f, 0.000174f, -0.001416f, 0.003362f, 0.002139f, -0.001214f, -0.000302f, 0.000128f, 0.000881f, 0.000504f, -0.002205f, -0.001163f, -0.000524f, 0.000278f, 0.000997f, -0.000998f, -0.001581f, 0.001401f, -0.000806f, 0.001082f, -0.000556f, -0.000850f, -0.001091f, -0.013753f, -0.012862f, 0.007547f, 0.001692f, 0.010560f, -0.016310f, -0.002276f, -0.006498f, 0.001772f, 0.019372f, 0.011091f, -0.016982f, 0.006439f, 0.001588f, -0.007051f, -0.007890f, -0.009598f, -0.015639f, 0.000577f, 0.001851f, -0.005772f, 0.002753f, -0.003319f, 0.000576f, 0.004728f, 0.003618f, 0.010085f, -0.008829f, 0.015868f, -0.009687f, 0.009221f, 0.007281f, -0.005923f, 0.004252f, 0.000782f, 0.006566f, -0.002624f, 0.003421f, 0.006057f, 0.001997f, 0.000952f, -0.002444f, 0.004722f, 0.001392f, -0.002094f, 0.011256f, -0.014733f, 0.000993f, -0.008921f, 0.017733f, 0.006279f, -0.015521f, 0.006034f, 0.020277f, -0.019071f, -0.009121f, 0.002307f, -0.001591f, -0.007228f, 0.006027f, - -0.002528f, 0.013492f, -0.011364f, -0.001159f, -0.003755f, -0.000815f, -0.000684f, 0.013034f, -0.012115f, -0.004057f, -0.001310f, -0.012553f, 0.006754f, 0.005186f, 0.013508f, 0.005461f, 0.011501f, 0.010325f, 0.001708f, -0.004224f, 0.003258f, -0.000408f, -0.001441f, -0.003161f, -0.000296f, -0.004820f, -0.001910f, -0.001126f, -0.006685f, 0.004199f, 0.000352f, -0.004713f, -0.000794f, -0.003832f, 0.000346f, -0.000217f, 0.002565f, -0.000956f, -0.001519f, 0.000261f, -0.002159f, -0.000134f, 0.002209f, 0.000756f, -0.000500f, -0.001572f, 0.006098f, -0.009447f, 0.001160f, -0.005926f, 0.006239f, 0.002272f, -0.009600f, 0.027621f, -0.017607f, 0.005540f, 0.029832f, -0.021113f, 0.009776f, -0.000562f, 0.009710f, -0.002607f, -0.018133f, -0.003971f, 0.014847f, 0.013351f, 0.003625f, -0.000150f, 0.007476f, 0.003677f, 0.000192f, 0.006222f, 0.006197f, -0.005221f, 0.007915f, -0.002257f, 0.012523f, -0.010201f, -0.015779f, 0.003307f, -0.013790f, 0.004683f, 0.000156f, -0.003963f, -0.004487f, -0.006303f, -0.009426f, 0.001756f, 0.003175f, 0.000276f, 0.002256f, 0.002654f, -0.005864f, -0.012087f, 0.009334f, 0.002052f, - 0.001427f, -0.000658f, 0.013767f, 0.002724f, 0.005687f, 0.014607f, -0.009154f, 0.003479f, 0.000449f, 0.004348f, 0.010138f, 0.007972f, -0.013544f, -0.011827f, -0.003176f, -0.006798f, -0.001696f, 0.000385f, -0.005926f, 0.002968f, -0.010875f, 0.000425f, -0.010473f, 0.004994f, 0.004880f, -0.006075f, -0.008013f, 0.000764f, 0.004129f, 0.000687f, -0.009242f, 0.001164f, -0.005372f, 0.003780f, 0.003043f, 0.001331f, -0.001890f, -0.002667f, 0.001609f, -0.000391f, -0.001173f, -0.000190f, -0.002538f, -0.002100f, -0.006426f, -0.001679f, 0.005461f, 0.002339f, -0.001840f, -0.001272f, 0.003741f, -0.001512f, 0.000969f, -0.001909f, -0.000154f, -0.000599f, -0.000017f, -0.002417f, -0.001730f, -0.001028f, -0.000881f, -0.000987f, -0.001180f, 0.000010f, -0.000865f, -0.001607f, -0.001418f, 0.000561f, 0.002645f, 0.000860f, 0.008344f, -0.003358f, 0.007521f, -0.001121f, 0.003564f, -0.004168f, 0.000171f, -0.002612f, 0.002250f, -0.001068f, -0.017593f, 0.013444f, 0.008022f, 0.021937f, -0.014529f, 0.009197f, -0.017888f, -0.002648f, 0.010310f, 0.011923f, -0.012668f, 0.003878f, -0.014617f, 0.001414f, -0.017074f, 0.005829f, - -0.012886f, -0.015163f, -0.014267f, 0.007331f, -0.011601f, 0.000843f, -0.013541f, 0.002068f, 0.001552f, -0.001628f, -0.010017f, 0.006405f, 0.008074f, 0.005393f, 0.003554f, -0.009942f, 0.005217f, -0.010444f, -0.003802f, 0.006981f, -0.000173f, -0.001144f, -0.003298f, -0.000064f, 0.006462f, -0.007613f, -0.015751f, -0.002894f, 0.004335f, -0.002893f, -0.011782f, -0.011164f, -0.016727f, 0.004257f, -0.005107f, -0.014940f, 0.010536f, -0.009450f, -0.010010f, 0.018830f, -0.007079f, -0.003297f, 0.001111f, -0.002998f, -0.006430f, 0.001842f, -0.010544f, -0.004675f, -0.008936f, -0.006378f, -0.003206f, 0.005854f, 0.013582f, 0.001059f, 0.007999f, 0.001051f, 0.005864f, 0.004708f, 0.010890f, -0.000479f, -0.000669f, 0.001509f, 0.003762f, -0.001956f, 0.000066f, -0.000763f, 0.007845f, 0.000019f, 0.003571f, 0.000938f, 0.001169f, -0.001073f, 0.001422f, -0.004732f, 0.005113f, 0.000469f, -0.000320f, -0.003807f, -0.001484f, -0.005262f, 0.002225f, -0.002525f, 0.001468f, -0.000419f, 0.005152f, -0.002388f, 0.000666f, -0.004534f, -0.004349f, -0.000030f, -0.002144f, 0.001691f, 0.003120f, 0.001045f, 0.001348f, -0.002116f, - 0.000451f, 0.014200f, -0.020484f, 0.003634f, 0.018065f, -0.006737f, 0.019780f, 0.005427f, 0.001328f, -0.005771f, -0.013667f, -0.009104f, 0.023543f, -0.012648f, -0.000013f, -0.004401f, 0.001932f, 0.014072f, 0.012784f, -0.007725f, 0.018425f, 0.018256f, -0.008512f, -0.004543f, 0.011255f, -0.009442f, -0.008122f, -0.000616f, -0.012535f, -0.000307f, -0.003611f, 0.001615f, 0.022107f, 0.007489f, 0.001318f, -0.010085f, -0.029100f, -0.003569f, 0.016567f, 0.004030f, -0.010814f, 0.008406f, 0.013500f, 0.011670f, 0.014259f, -0.023094f, 0.004825f, 0.001136f, -0.011307f, 0.006232f, -0.010156f, 0.007370f, -0.005656f, 0.009140f, 0.020663f, 0.027113f, 0.017270f, 0.007887f, -0.011057f, -0.003065f, -0.013228f, -0.014059f, -0.002781f, 0.015925f, 0.004098f, 0.000298f, 0.003934f, -0.015493f, 0.004239f, 0.001990f, 0.000063f, -0.007807f, 0.004419f, 0.008572f, -0.008781f, -0.016882f, 0.038823f, 0.005061f, -0.006693f, 0.002459f, 0.004382f, 0.017672f, -0.003311f, 0.004926f, 0.006232f, 0.008822f, -0.005834f, -0.002884f, -0.006313f, 0.003216f, -0.001566f, 0.003540f, 0.003458f, -0.002169f, -0.003330f, 0.006662f, - 0.001138f, 0.001850f, -0.000978f, 0.004081f, -0.006516f, -0.004715f, -0.002988f, -0.001071f, 0.007833f, 0.002919f, 0.005338f, 0.003995f, 0.004254f, 0.000431f, 0.001182f, -0.001524f, -0.004449f, 0.004816f, 0.001439f, 0.002135f, -0.002994f, -0.000971f, 0.000092f, 0.002180f, 0.006219f, 0.001706f, -0.010347f, -0.003279f, -0.006241f, -0.002778f, 0.005223f, -0.006998f, 0.030722f, -0.003296f, 0.008849f, 0.021561f, 0.003126f, -0.003553f, -0.014040f, 0.007740f, -0.007467f, -0.009952f, -0.028650f, -0.013218f, 0.006058f, -0.001830f, -0.005354f, -0.021159f, 0.007522f, 0.011210f, -0.016198f, -0.008878f, -0.004188f, -0.017488f, 0.007072f, 0.000929f, -0.008881f, -0.007767f, -0.002922f, -0.023534f, -0.008075f, 0.011223f, 0.019520f, -0.014930f, -0.018090f, -0.005609f, -0.000877f, -0.015157f, -0.012021f, 0.004351f, 0.008323f, -0.016581f, 0.032782f, -0.000142f, 0.013434f, -0.007721f, 0.012629f, -0.008740f, 0.003921f, -0.023445f, -0.004711f, 0.009142f, -0.022986f, 0.006050f, -0.005077f, -0.012094f, -0.026133f, -0.000885f, 0.014729f, -0.000088f, -0.027584f, -0.004489f, 0.005175f, 0.010851f, 0.020464f, -0.007786f, - 0.009223f, 0.023449f, 0.008047f, 0.002602f, -0.010694f, -0.002352f, -0.006636f, 0.001109f, -0.007936f, 0.001540f, -0.015085f, -0.002314f, 0.011721f, 0.003020f, 0.002345f, -0.006912f, -0.011692f, 0.006232f, -0.002102f, 0.006438f, -0.002438f, 0.000575f, -0.001467f, -0.003711f, -0.003075f, 0.004068f, 0.001755f, -0.001192f, -0.001510f, -0.000175f, -0.004537f, 0.001821f, -0.004641f, -0.006162f, -0.003651f, 0.001732f, 0.000296f, -0.000306f, -0.004400f, 0.003130f, -0.000549f, -0.002616f, -0.006238f, -0.002303f, 0.000381f, 0.000478f, 0.002513f, 0.006279f, 0.002077f, 0.001185f, 0.003304f, -0.001303f, -0.000480f, -0.002083f, 0.005137f, 0.008672f, -0.002618f, -0.009324f, 0.011289f, 0.001673f, -0.016621f, -0.026801f, -0.021399f, -0.027730f, 0.023899f, -0.014633f, -0.003285f, 0.007494f, -0.025734f, -0.011054f, -0.017834f, -0.008322f, -0.005547f, 0.011481f, -0.022528f, -0.012419f, 0.007469f, 0.008736f, 0.013342f, -0.000482f, 0.000652f, -0.004341f, 0.000165f, -0.005628f, 0.003463f, -0.018327f, -0.009505f, -0.016153f, 0.011214f, 0.005183f, 0.008729f, 0.010772f, -0.021746f, -0.001871f, -0.002175f, 0.019669f, - -0.007314f, 0.005991f, 0.011058f, -0.004387f, 0.011825f, -0.007924f, 0.013161f, 0.017909f, -0.006939f, -0.001560f, 0.015803f, -0.013665f, 0.021782f, -0.009563f, -0.034190f, 0.005030f, 0.017970f, -0.007114f, 0.002220f, -0.000912f, 0.013823f, 0.016795f, -0.017199f, -0.007894f, 0.004223f, 0.011459f, -0.020263f, -0.015840f, -0.012241f, 0.024417f, -0.000427f, -0.028726f, -0.006001f, -0.012153f, 0.009860f, 0.000932f, 0.007483f, -0.011009f, 0.017702f, 0.000392f, 0.003298f, 0.004704f, -0.016078f, -0.005884f, 0.001360f, -0.002395f, -0.003940f, -0.005086f, 0.004691f, -0.004865f, -0.004239f, 0.003063f, 0.005321f, 0.002283f, -0.009395f, -0.001237f, -0.003662f, -0.003167f, 0.004092f, 0.003130f, 0.008145f, -0.001489f, -0.003805f, 0.002676f, -0.008825f, -0.001452f, 0.000059f, -0.006242f, 0.000928f, 0.000152f, -0.002091f, 0.000710f, -0.010061f, -0.002261f, -0.001100f, 0.000738f, 0.001423f, 0.003861f, -0.000423f, 0.004384f, 0.002846f, 0.002054f, 0.000440f, -0.001036f, -0.016005f, -0.006386f, 0.010889f, 0.004125f, 0.015631f, 0.005454f, 0.007621f, -0.030733f, -0.012123f, 0.012103f, -0.008163f, -0.005729f, - -0.010308f, 0.003243f, 0.016013f, 0.004302f, 0.003790f, -0.020548f, -0.007014f, -0.003671f, 0.007624f, 0.018227f, -0.022041f, 0.010482f, -0.017968f, -0.004666f, -0.016528f, 0.002228f, 0.002273f, -0.000729f, 0.006886f, -0.015299f, -0.004448f, -0.014327f, -0.005944f, 0.000382f, -0.000667f, -0.018016f, 0.010403f, 0.011773f, -0.004331f, 0.013950f, 0.027190f, 0.002920f, 0.020603f, 0.026543f, 0.002097f, 0.000994f, 0.006393f, -0.005410f, 0.008780f, 0.001936f, -0.005749f, -0.008752f, 0.033204f, -0.003299f, 0.019423f, 0.008726f, -0.009736f, -0.011194f, -0.007855f, 0.009429f, -0.007525f, 0.012209f, 0.029272f, 0.014974f, -0.003821f, 0.000639f, -0.024436f, -0.016712f, -0.014878f, 0.023169f, 0.036169f, -0.015669f, -0.000063f, -0.014482f, -0.002338f, 0.022254f, -0.006897f, -0.001159f, -0.034731f, -0.004473f, -0.006252f, -0.003506f, 0.013312f, 0.001127f, 0.002847f, 0.004219f, -0.006883f, 0.005739f, 0.003063f, 0.005138f, -0.004058f, 0.007361f, -0.003328f, -0.000592f, -0.008699f, -0.001882f, 0.007804f, -0.002624f, -0.000098f, -0.001295f, 0.007508f, -0.001663f, -0.005203f, 0.003332f, 0.003421f, 0.002092f, - 0.002730f, 0.002935f, -0.002739f, 0.000966f, 0.005367f, 0.009232f, 0.007975f, 0.005285f, 0.002913f, 0.000783f, 0.000865f, -0.005395f, -0.000323f, 0.003790f, -0.003260f, 0.003982f, -0.001072f, 0.001539f, 0.005101f, -0.001878f, 0.009142f, -0.000745f, 0.021173f, 0.057456f, 0.025521f, -0.008183f, -0.001671f, -0.011064f, 0.026970f, -0.027008f, -0.014824f, -0.041118f, -0.000130f, 0.019792f, 0.025366f, 0.004185f, -0.009593f, -0.024776f, -0.017552f, 0.017703f, -0.003317f, 0.028307f, 0.000262f, -0.009510f, 0.013855f, 0.004607f, 0.000101f, -0.007432f, 0.019034f, -0.003786f, 0.016491f, -0.000569f, -0.008450f, 0.034907f, -0.008072f, 0.013975f, 0.034971f, 0.011865f, -0.001109f, -0.017227f, -0.002835f, -0.027866f, -0.031935f, 0.006726f, 0.021035f, -0.005266f, 0.003255f, -0.035546f, -0.013044f, 0.020116f, 0.011420f, -0.009434f, 0.007107f, -0.010754f, -0.004714f, -0.016370f, -0.026653f, 0.001335f, -0.006016f, -0.019370f, -0.030815f, -0.027182f, -0.008395f, -0.024991f, 0.011726f, -0.011350f, 0.004279f, 0.002907f, 0.000172f, 0.000306f, -0.003638f, -0.005821f, 0.016356f, 0.031503f, -0.021066f, 0.003600f, - -0.008642f, 0.011213f, -0.011597f, -0.000752f, -0.008272f, -0.004181f, 0.029615f, 0.020980f, 0.005160f, -0.003566f, 0.000666f, -0.012234f, 0.004507f, 0.011643f, -0.001894f, -0.010614f, -0.005536f, 0.010049f, -0.012120f, 0.000878f, 0.005707f, 0.004738f, -0.004015f, -0.004250f, 0.004851f, 0.005362f, -0.003921f, 0.006437f, 0.004256f, 0.005297f, -0.000207f, 0.007079f, -0.000393f, 0.004386f, 0.002671f, 0.002479f, 0.002077f, -0.001866f, 0.009015f, -0.008723f, -0.000864f, 0.001604f, -0.002152f, -0.002397f, -0.003594f, 0.003599f, 0.000741f, -0.007547f, -0.002348f, 0.004537f, -0.004853f, -0.023596f, -0.027145f, 0.007208f, 0.010135f, 0.032543f, -0.027517f, 0.008953f, 0.008198f, -0.045268f, -0.002293f, 0.000567f, -0.038202f, -0.020464f, -0.013622f, 0.009959f, -0.003210f, 0.002562f, -0.010896f, 0.016290f, 0.025038f, 0.013556f, -0.003740f, -0.038326f, -0.016968f, -0.020704f, 0.007688f, 0.002659f, -0.017083f, -0.001019f, 0.013155f, -0.010940f, 0.022836f, -0.020404f, -0.000754f, -0.011764f, -0.038728f, 0.006895f, -0.016562f, -0.018212f, 0.014239f, 0.021632f, -0.024047f, 0.009574f, 0.028097f, -0.008897f, - 0.012242f, 0.010005f, -0.006742f, 0.004171f, -0.031457f, 0.047760f, 0.018552f, 0.011564f, 0.045181f, -0.054950f, -0.004262f, -0.007315f, 0.005749f, 0.022899f, 0.023321f, 0.009343f, 0.011064f, 0.029312f, -0.002877f, -0.019342f, -0.034310f, 0.013590f, -0.013046f, 0.001628f, 0.009140f, -0.006487f, 0.013868f, 0.037470f, -0.023013f, 0.017654f, -0.011214f, -0.010277f, 0.027955f, 0.002485f, 0.008643f, 0.027582f, 0.022356f, -0.009525f, -0.011491f, -0.023595f, -0.006158f, 0.000485f, 0.012381f, 0.013470f, -0.000077f, 0.003482f, 0.001777f, -0.000099f, 0.002508f, 0.003398f, 0.000907f, 0.007785f, -0.003800f, 0.001502f, 0.005221f, 0.003351f, 0.001452f, -0.002921f, 0.007064f, 0.005072f, 0.000992f, -0.003671f, -0.005826f, -0.013161f, 0.008014f, -0.000124f, -0.001324f, 0.004535f, -0.006607f, -0.000353f, 0.004446f, 0.006667f, 0.009296f, 0.005725f, 0.002499f, 0.003038f, -0.000179f, 0.003302f, 0.006913f, 0.029593f, 0.034920f, 0.008657f, 0.021553f, -0.014070f, 0.010167f, 0.009795f, -0.057213f, 0.016119f, 0.018577f, 0.003833f, -0.018219f, -0.000506f, -0.035318f, 0.041487f, 0.025056f, -0.013155f, - -0.013982f, -0.020761f, -0.010795f, 0.029987f, -0.030454f, -0.017541f, -0.004575f, -0.005182f, -0.006577f, 0.004282f, -0.020181f, -0.020675f, -0.012142f, -0.015950f, -0.004311f, -0.020719f, -0.002871f, -0.013940f, -0.045284f, -0.028985f, -0.011204f, -0.007290f, 0.006293f, 0.007457f, -0.000283f, 0.001225f, 0.013079f, 0.006204f, 0.006680f, 0.031752f, 0.006621f, 0.010661f, 0.019839f, 0.042680f, 0.036538f, 0.001826f, -0.014511f, -0.028178f, 0.025519f, -0.006391f, 0.069022f, 0.013839f, 0.030917f, -0.003485f, 0.003893f, -0.027549f, -0.001143f, 0.023857f, 0.013798f, 0.018058f, -0.020798f, -0.013821f, -0.026714f, -0.050694f, 0.029144f, -0.044753f, -0.005515f, 0.058761f, 0.003863f, 0.023483f, 0.011175f, 0.017243f, 0.000458f, -0.031897f, 0.030832f, -0.000641f, -0.027994f, -0.025094f, 0.000839f, 0.009615f, 0.020706f, 0.005463f, -0.024566f, 0.001172f, -0.004950f, 0.004851f, -0.009734f, -0.008144f, 0.004235f, 0.003827f, -0.007690f, 0.000625f, -0.002558f, -0.000817f, -0.010106f, -0.003783f, -0.003306f, 0.004525f, -0.002785f, -0.006236f, 0.007887f, -0.005057f, -0.002098f, -0.014274f, -0.015136f, -0.000082f, - 0.000215f, -0.006310f, -0.004077f, 0.004792f, 0.003530f, -0.006409f, -0.010192f, -0.000740f, -0.010592f, 0.006132f, -0.040459f, 0.011631f, 0.015838f, -0.027862f, -0.020761f, -0.000017f, 0.017334f, 0.039526f, -0.001607f, -0.031262f, -0.030665f, -0.002082f, -0.017163f, 0.004770f, 0.006104f, -0.034854f, -0.029246f, -0.056662f, -0.016171f, -0.016755f, -0.037835f, -0.026386f, 0.000181f, -0.018252f, -0.010747f, -0.010531f, -0.002695f, -0.038283f, -0.019865f, -0.023714f, -0.011082f, 0.011196f, -0.031743f, 0.001937f, 0.027224f, 0.031416f, -0.007045f, 0.008249f, 0.018682f, -0.032026f, 0.018271f, -0.014143f, 0.028495f, -0.014063f, 0.003001f, -0.015120f, -0.002746f, 0.055218f, -0.011006f, 0.020479f, -0.040267f, -0.007229f, 0.000419f, -0.039124f, 0.036512f, 0.000879f, -0.012759f, 0.025380f, -0.010149f, 0.006152f, 0.051603f, -0.020801f, -0.027544f, 0.018770f, -0.004880f, -0.057973f, 0.023818f, -0.076688f, -0.040422f, 0.030042f, 0.024325f, 0.004376f, 0.016620f, -0.000431f, 0.000065f, -0.057986f, -0.030416f, -0.014059f, 0.005733f, -0.033187f, 0.008520f, 0.004005f, 0.013958f, -0.021857f, 0.001758f, 0.015951f, - 0.013011f, 0.008945f, 0.001585f, 0.007268f, -0.018223f, -0.012510f, -0.012140f, -0.004068f, -0.002110f, -0.002199f, 0.015585f, -0.008292f, 0.008413f, 0.014534f, -0.006930f, 0.004116f, -0.011499f, -0.009675f, -0.000076f, 0.003339f, -0.010281f, 0.004179f, -0.013010f, 0.011297f, -0.004263f, -0.002924f, 0.001008f, 0.010082f, -0.002855f, 0.003703f, -0.008989f, 0.007966f, 0.006945f, 0.019092f, 0.005124f, 0.015587f, -0.015417f, -0.005875f, -0.018435f, -0.005884f, -0.009806f, -0.009525f, 0.077267f, 0.042241f, 0.000113f, -0.039799f, 0.020479f, -0.041498f, -0.033672f, 0.006094f, 0.034353f, 0.067767f, -0.010616f, 0.034246f, -0.012204f, 0.024302f, 0.041153f, 0.022955f, 0.026323f, 0.014060f, -0.007643f, -0.033662f, -0.034750f, -0.010558f, -0.032837f, -0.009700f, -0.005987f, -0.007426f, 0.026349f, -0.004501f, -0.067511f, 0.003946f, 0.016352f, 0.015591f, 0.040468f, -0.004188f, -0.080577f, 0.045838f, -0.036031f, 0.011792f, -0.007844f, 0.027118f, 0.039560f, -0.043975f, -0.003029f, -0.021977f, -0.038283f, 0.027743f, -0.019015f, -0.047216f, 0.018579f, 0.027569f, 0.045434f, 0.012015f, -0.007025f, 0.004962f, - 0.037208f, -0.029899f, 0.058707f, -0.018438f, -0.016293f, -0.005275f, 0.035796f, -0.037177f, 0.003479f, 0.004546f, -0.103439f, -0.015339f, 0.032096f, -0.014890f, 0.005431f, 0.014384f, 0.007575f, -0.005065f, 0.008486f, 0.035512f, 0.042463f, -0.033555f, 0.012177f, -0.024574f, -0.004126f, 0.041984f, -0.000824f, -0.004346f, 0.001624f, -0.002813f, -0.021680f, 0.006018f, 0.001533f, -0.012674f, -0.032141f, 0.000462f, -0.007618f, 0.009881f, -0.014798f, -0.013878f, -0.017420f, 0.014872f, 0.003515f, 0.009134f, 0.007402f, 0.000658f, 0.005491f, -0.007095f, -0.014661f, 0.022613f, -0.002167f, -0.010889f, -0.000242f, -0.007833f, -0.004832f, -0.009049f, 0.001269f, 0.002840f, -0.001211f, 0.006317f, 0.016562f, -0.000554f, -0.003876f, -0.006646f, 0.001626f, -0.008278f, -0.004602f, 0.009482f, -0.007055f, -0.005908f, -0.008661f, -0.021665f, -0.012023f, 0.003116f, 0.014242f, -0.011276f, -0.003199f, 0.044431f, 0.029176f, -0.082107f, -0.046962f, 0.056527f, 0.065130f, -0.034938f, -0.012084f, -0.092421f, -0.051367f, 0.013503f, -0.004392f, 0.012477f, -0.049410f, -0.030679f, -0.033927f, 0.050127f, 0.074050f, -0.003455f, - 0.019844f, -0.011934f, -0.006707f, -0.000792f, 0.016847f, 0.032325f, 0.007623f, -0.011311f, -0.006367f, -0.007410f, -0.044564f, -0.025013f, -0.045306f, -0.005858f, 0.013724f, -0.018822f, 0.027606f, -0.020471f, -0.007937f, 0.043308f, -0.021151f, 0.024395f, 0.016640f, -0.007792f, -0.041814f, -0.029983f, -0.025022f, 0.007614f, 0.077525f, 0.013805f, 0.041577f, 0.049392f, 0.038336f, 0.028667f, 0.025322f, -0.042787f, 0.000788f, -0.006913f, 0.057314f, 0.027456f, 0.033418f, 0.060197f, -0.029752f, -0.040321f, 0.014588f, 0.050928f, -0.086379f, -0.001452f, 0.006614f, 0.040162f, -0.069908f, -0.104864f, -0.018931f, 0.029517f, 0.007086f, 0.012001f, 0.032649f, 0.002206f, -0.023542f, -0.034352f, 0.000881f, 0.004837f, 0.006549f, 0.031885f, 0.046840f, 0.022390f, 0.003224f, 0.000274f, -0.000789f, 0.003995f, 0.004459f, -0.011782f, 0.017097f, 0.002283f, -0.016181f, -0.027862f, 0.003175f, -0.011807f, 0.005711f, 0.003176f, -0.002824f, 0.001902f, -0.011896f, 0.012180f, -0.006532f, 0.008223f, -0.012777f, -0.007924f, -0.022551f, -0.021790f, 0.000715f, 0.011695f, -0.010170f, 0.023272f, 0.000282f, 0.007044f, - -0.007317f, 0.024874f, 0.001713f, 0.011497f, -0.012588f, -0.006503f, -0.004267f, -0.004286f, -0.015720f, -0.002649f, 0.016302f, -0.028477f, 0.021841f, -0.000796f, -0.021498f, -0.037113f, 0.013725f, -0.017943f, -0.036873f, 0.026548f, 0.050262f, 0.015744f, -0.019572f, 0.030252f, 0.050555f, 0.019002f, 0.010295f, 0.003792f, -0.005810f, 0.024082f, -0.042548f, 0.002701f, -0.061126f, 0.032765f, -0.049362f, -0.003969f, 0.026342f, 0.014794f, -0.028218f, 0.006085f, -0.032630f, 0.066775f, 0.008498f, 0.021757f, 0.034605f, 0.073639f, -0.030476f, 0.024004f, -0.035299f, 0.012835f, 0.026314f, 0.059212f, 0.013826f, -0.011895f, 0.060440f, 0.008294f, -0.004369f, -0.034744f, 0.002191f, 0.038059f, -0.012966f, 0.036581f, -0.045027f, 0.069301f, 0.071657f, -0.086198f, -0.002374f, -0.005364f, 0.018727f, -0.014627f, -0.011448f, 0.037188f, -0.031455f, -0.091986f, 0.000964f, 0.081903f, -0.064721f, 0.032477f, -0.015081f, -0.008146f, -0.039496f, 0.090390f, -0.006007f, 0.014987f, 0.008130f, -0.060747f, 0.078515f, 0.006174f, 0.069800f, -0.138460f, 0.012996f, -0.013015f, -0.041966f, -0.011215f, 0.024106f, -0.032253f, - 0.021447f, -0.029078f, -0.019589f, -0.038274f, 0.048032f, -0.018579f, 0.003042f, -0.040828f, 0.001497f, -0.030014f, -0.010503f, 0.013864f, -0.020962f, 0.009586f, 0.000984f, -0.027733f, 0.024675f, -0.011426f, 0.003253f, -0.011928f, 0.022347f, -0.017169f, 0.003216f, 0.001459f, -0.006676f, 0.029913f, -0.017725f, -0.021184f, -0.012560f, -0.023736f, -0.033230f, -0.016662f, 0.002778f, 0.001870f, -0.024056f, -0.013619f, -0.016303f, -0.023091f, -0.018535f, 0.007696f, 0.004900f, -0.000949f, -0.010134f, 0.057808f, 0.007475f, -0.045155f, 0.005056f, -0.091303f, -0.020233f, 0.004074f, -0.017112f, -0.072885f, -0.007546f, -0.048019f, -0.011338f, 0.043078f, 0.010571f, 0.056634f, 0.024168f, 0.021062f, 0.013847f, -0.020002f, 0.046274f, -0.023763f, -0.000029f, 0.021151f, 0.010395f, -0.028588f, 0.023179f, 0.008820f, 0.054673f, 0.021838f, -0.009347f, 0.032318f, -0.025696f, 0.043812f, 0.015588f, -0.049143f, -0.049727f, 0.025434f, 0.032909f, 0.013069f, 0.005648f, -0.024099f, -0.031712f, 0.009349f, -0.031203f, -0.048095f, -0.014300f, -0.008493f, -0.043479f, -0.016728f, 0.016698f, -0.030408f, -0.049084f, 0.013504f, - 0.018607f, 0.001303f, -0.005767f, -0.003301f, -0.008110f, 0.017318f, 0.084376f, 0.016736f, -0.002478f, -0.003602f, -0.029456f, -0.048391f, -0.021036f, 0.068840f, 0.074626f, 0.037728f, 0.007314f, 0.067131f, 0.032711f, -0.015650f, -0.093679f, -0.071987f, -0.058721f, -0.112557f, -0.065145f, 0.015521f, 0.091382f, -0.040741f, 0.031060f, -0.045506f, 0.014991f, -0.004034f, 0.031538f, -0.014965f, -0.005075f, -0.040621f, -0.022923f, -0.010125f, -0.035734f, 0.045604f, -0.006955f, -0.024194f, -0.011154f, 0.004480f, -0.025802f, 0.018404f, 0.013937f, 0.029468f, 0.007026f, 0.008188f, -0.028994f, -0.034280f, -0.003759f, -0.025355f, -0.015689f, -0.029513f, -0.042107f, 0.002090f, -0.010862f, 0.002530f, 0.003246f, 0.032313f, 0.032593f, -0.012160f, -0.006251f, -0.014427f, 0.031495f, 0.020682f, 0.013810f, 0.004823f, -0.006179f, 0.017869f, -0.024566f, -0.009893f, -0.003832f, -0.028362f, -0.054722f, 0.028849f, -0.000808f, -0.017633f, -0.016975f, -0.010125f, -0.007626f, 0.020496f, 0.039186f, -0.016951f, 0.050418f, -0.057736f, 0.046594f, -0.006209f, 0.062121f, -0.040460f, 0.035938f, -0.059518f, 0.051667f, -0.048171f, - -0.020082f, 0.071398f, 0.016644f, 0.057275f, 0.082436f, 0.008106f, -0.006573f, -0.034719f, -0.002691f, 0.051922f, 0.013222f, -0.018895f, -0.057864f, 0.004583f, 0.011483f, 0.026995f, 0.016759f, 0.022407f, 0.014251f, -0.034166f, -0.053864f, -0.023248f, 0.052206f, 0.019613f, 0.166504f, -0.053272f, -0.044467f, 0.053903f, 0.085484f, 0.017544f, -0.001447f, 0.022093f, 0.005669f, 0.027051f, -0.025114f, 0.009517f, 0.039967f, 0.043756f, 0.029483f, 0.128819f, -0.016397f, -0.017078f, -0.008391f, 0.066277f, 0.039864f, -0.034187f, 0.034933f, -0.001120f, 0.011401f, -0.028216f, 0.059179f, -0.059406f, 0.004124f, 0.090860f, -0.067179f, 0.195520f, -0.089932f, 0.093379f, 0.085994f, -0.084792f, -0.077170f, 0.086808f, 0.003760f, -0.050640f, -0.021271f, 0.047811f, -0.132281f, 0.020421f, -0.015555f, -0.085459f, 0.055744f, -0.066968f, 0.005294f, 0.004727f, -0.026863f, -0.066090f, 0.017881f, -0.005316f, -0.002944f, 0.012480f, -0.013588f, -0.021930f, 0.011821f, 0.027444f, -0.010474f, 0.004022f, 0.021488f, -0.020318f, 0.029900f, 0.022861f, -0.047621f, 0.006657f, -0.026746f, 0.011965f, -0.001885f, 0.003693f, - -0.024366f, 0.009944f, 0.006384f, -0.000319f, -0.012220f, 0.036630f, 0.008317f, -0.001539f, 0.035162f, -0.025056f, -0.022700f, 0.003565f, 0.015182f, 0.003599f, 0.016916f, 0.008534f, -0.049021f, -0.025613f, 0.012645f, -0.029015f, 0.042192f, -0.019172f, -0.023952f, -0.001150f, -0.016586f, 0.033404f, 0.042554f, -0.100251f, -0.042999f, 0.062053f, -0.130095f, -0.080057f, -0.054542f, 0.091175f, 0.193309f, 0.053886f, -0.152049f, -0.033886f, -0.155332f, -0.080594f, 0.126254f, 0.075946f, 0.118688f, 0.065757f, -0.090134f, -0.142341f, -0.108976f, -0.025719f, 0.064207f, 0.073582f, 0.043854f, 0.025078f, -0.037919f, -0.155629f, -0.187843f, -0.040230f, 0.143466f, 0.256587f, 0.173502f, -0.032343f, -0.120410f, -0.172091f, -0.128180f, -0.103100f, -0.000136f, 0.041748f, 0.139690f, 0.149780f, -0.081132f, -0.050232f, -0.188102f, -0.174239f, -0.063070f, 0.017628f, 0.181085f, 0.268177f, 0.118569f, -0.078644f, -0.280894f, -0.207614f, -0.152870f, 0.074117f, 0.159539f, 0.100134f, 0.062852f, 0.054070f, -0.167709f, -0.030363f, -0.095755f, 0.035891f, -0.013513f, 0.099569f, 0.155592f, 0.124152f, -0.145790f, -0.293143f, - -0.220931f, 0.024891f, 0.171318f, -0.003835f, 0.237667f, 0.010310f, -0.061552f, -0.071183f, -0.052851f, 0.001088f, 0.171631f, 0.148791f, 0.026960f, -0.058659f, -0.021411f, -0.010470f, 0.089935f, 0.099987f, 0.011652f, 0.004750f, -0.015830f, -0.002217f, -0.019435f, -0.023861f, -0.016333f, -0.008409f, 0.034232f, 0.054271f, 0.043774f, -0.064533f, -0.073960f, -0.027954f, -0.030843f, -0.028746f, 0.066802f, 0.055277f, 0.070263f, 0.021175f, -0.030599f, -0.052570f, -0.102866f, -0.064906f, 0.042707f, 0.090984f, 0.136834f, 0.094399f, 0.007503f, -0.211063f, -0.186291f, -0.062901f, 0.076061f, 0.119428f, 0.158705f, 0.120399f, -0.009724f, -0.119834f, -0.177611f, -0.170624f, -0.031564f, 0.186670f, 0.192381f, 0.098467f, -0.046805f, -0.128201f, -0.090127f, -0.059877f, 0.005013f, 0.039021f, 0.050798f, 0.045708f, 0.027489f, 0.002397f, -0.029243f, -0.035806f, -0.037281f, -0.029599f, -0.034509f, 0.068625f, 0.021383f, -0.055591f, -0.052454f, 0.000162f, -0.084514f, -0.010451f, 0.012521f, 0.009667f, -0.007349f, 0.002111f, -0.028422f, -0.003545f, -0.003340f, 0.014582f, -0.009807f, 0.038955f, -0.010343f, -0.007500f, - -0.010879f, -0.012233f, 0.024284f, 0.006949f, -0.011716f, 0.037729f, 0.002387f, -0.067072f, -0.033493f, 0.018476f, 0.032823f, -0.011171f, 0.003999f, 0.045964f, -0.001134f, 0.006275f, -0.037599f, -0.016792f, 0.011575f, -0.008171f, -0.008357f, -0.004989f, 0.030407f, 0.011013f, -0.011909f, -0.035976f, -0.014331f, -0.002107f, -0.032816f, 0.003145f, -0.037480f, -0.025077f, -0.017445f, -0.033301f, 0.052214f, -0.009403f, -0.023633f, 0.022096f, -0.000367f, -0.051319f, -0.003008f, 0.051281f, 0.041577f, -0.023814f, 0.032191f, 0.005428f, 0.030712f, -0.034271f, -0.050573f, 0.019407f, 0.022285f, 0.019664f, 0.017006f, -0.019071f, 0.018772f, -0.037694f, 0.025533f, -0.051426f, -0.045305f, 0.033491f, -0.026515f, 0.022868f, 0.031318f, 0.002317f, -0.024246f, 0.007834f, 0.008842f, -0.002001f, -0.002005f, -0.000783f, 0.020393f, -0.017086f, 0.013235f, -0.017856f, 0.023905f, -0.020901f, -0.011451f, 0.008865f, -0.007277f, -0.000703f, 0.009427f, 0.002344f, 0.006287f, 0.018510f, -0.014754f, -0.008671f, 0.010532f, 0.006427f, 0.021038f, -0.017036f, 0.005815f, -0.001981f, -0.013227f, -0.013155f, 0.005368f, 0.003485f, - -0.013090f, -0.019295f, 0.005540f, 0.000362f, -0.003694f, 0.012492f, -0.018608f, 0.021584f, 0.006361f, -0.018435f, -0.020751f, 0.017416f, -0.029138f, 0.020044f, -0.003345f, 0.013935f, -0.001572f, 0.004895f, 0.026008f, -0.041419f, 0.082820f, 0.126058f, -0.016353f, -0.046771f, -0.039953f, 0.116222f, 0.052725f, 0.112480f, 0.060862f, 0.000085f, -0.052115f, -0.011743f, 0.028884f, 0.052800f, 0.025462f, -0.024557f, -0.005868f, 0.025200f, 0.037400f, 0.004550f, 0.008527f, -0.026103f, 0.004924f, -0.012631f, 0.017143f, 0.018976f, 0.049432f, 0.042375f, -0.022363f, 0.003635f, -0.025122f, 0.006545f, 0.022656f, 0.033528f, 0.002666f, -0.016020f, 0.000121f, -0.028909f, 0.024273f, -0.006697f, 0.010121f, 0.022456f, 0.000651f, 0.029927f, -0.014575f, -0.008256f, -0.006836f, -0.030859f, -0.018291f, -0.047047f, -0.008720f, -0.053641f, 0.003845f, -0.018472f, 0.044298f, 0.006531f, 0.013172f, -0.041478f, 0.017697f, 0.000276f, -0.018268f, 0.030372f, -0.016220f, -0.008552f, 0.007725f, 0.020082f, -0.002246f, -0.011029f, 0.068510f, 0.022225f, 0.015977f, 0.025657f, -0.018327f, -0.000916f, -0.005995f, 0.035723f, - 0.049826f, 0.047700f, -0.028283f, -0.031119f, -0.004067f, -0.012376f, 0.012660f, 0.032153f, 0.033582f, 0.001480f, 0.018903f, -0.002239f, -0.004925f, 0.010939f, 0.021483f, -0.002026f, 0.016921f, -0.014009f, 0.003213f, 0.000253f, 0.006024f, -0.004805f, 0.018929f, 0.010898f, -0.001796f, -0.005237f, 0.005861f, 0.003323f, 0.020570f, 0.001154f, -0.011867f, -0.013086f, -0.007334f, 0.005751f, 0.007128f, 0.013070f, -0.015667f, 0.002215f, -0.004156f, 0.010504f, -0.007590f, 0.014819f, -0.004817f, 0.005538f, -0.008136f, -0.006914f, 0.004896f, -0.012912f, 0.000266f, 0.014310f, 0.003783f, -0.005887f, 0.001535f, -0.000695f, -0.046905f, -0.102486f, -0.013596f, 0.134906f, 0.208533f, 0.174672f, 0.138414f, -0.009527f, 0.016457f, -0.101717f, -0.114910f, -0.187894f, -0.107842f, -0.118412f, -0.037019f, 0.014666f, 0.081935f, 0.057981f, 0.178132f, 0.154712f, 0.051383f, 0.010623f, -0.027403f, -0.060654f, -0.095394f, -0.035202f, -0.097788f, -0.026300f, -0.047477f, -0.031028f, -0.022659f, 0.004979f, 0.001888f, 0.033051f, 0.048294f, 0.072913f, 0.079409f, 0.094911f, 0.082286f, -0.010063f, 0.008188f, -0.001195f, - 0.015622f, -0.047256f, 0.019225f, -0.050496f, -0.125619f, -0.061950f, -0.093977f, -0.158421f, -0.046193f, -0.013933f, -0.063926f, 0.021544f, 0.048854f, 0.110323f, 0.130415f, 0.192050f, 0.121578f, 0.098777f, 0.098530f, 0.061015f, -0.018856f, 0.009830f, -0.096791f, -0.083700f, -0.140264f, -0.167117f, -0.192626f, -0.140553f, -0.108002f, -0.011431f, -0.005057f, 0.015142f, 0.056523f, 0.095225f, 0.171981f, 0.169762f, 0.169337f, 0.135498f, 0.058346f, 0.087370f, 0.013904f, -0.044086f, -0.066006f, -0.156601f, -0.142113f, -0.126146f, -0.108505f, -0.087166f, -0.052461f, -0.032096f, -0.010750f, 0.007683f, 0.052847f, 0.062342f, 0.082514f, 0.068055f, 0.097778f, 0.088224f, 0.058003f, 0.066473f, 0.044943f, -0.012324f, -0.036020f, -0.041903f, -0.099415f, -0.086487f, -0.077596f, -0.058411f, -0.031600f, -0.001340f, -0.003698f, 0.025292f, 0.039310f, 0.030332f, 0.036474f, 0.023054f, 0.007417f, -0.000919f, 0.010654f, 0.002325f, -0.012089f, 0.012976f, 0.015937f, 0.000962f, 0.008612f, -0.002544f, -0.003454f, 0.001318f, 0.005980f, -0.000388f, -0.013427f, -0.018121f, -0.017538f, -0.020538f, -0.013740f, -0.004273f, - -0.004662f, 0.005801f, 0.002402f, 0.001595f, 0.006909f, 0.007789f, 0.006344f, 0.008419f, 0.013374f, 0.011268f, 0.006456f, 0.007690f, 0.002649f, -0.002907f, -0.000917f, -0.003652f, -0.005428f, -0.002702f, -0.004893f, -0.004704f, -0.005693f, -0.007191f, -0.007834f, -0.007572f, -0.004256f, 0.000002f, 0.000387f, 0.004184f, 0.004315f, 0.003170f, 0.002391f, 0.004080f, 0.004106f, 0.006801f, 0.004584f, 0.005720f, 0.002943f, -0.001300f, -0.003127f, -0.001244f, -0.003891f, -0.000553f, -0.000213f, -0.001755f, -0.001041f, -0.001304f, -0.003832f, -0.002874f, -0.002472f, -0.001013f, -0.001233f, -0.000159f, -0.000265f, 0.000284f, -0.001185f, -0.001263f, -0.001965f, 0.001511f, 0.002344f, 0.005689f, 0.005652f, 0.006491f, 0.004713f, 0.003245f, 0.001212f, 0.000000f, -0.001775f, -0.002073f, -0.004845f, -0.004309f, -0.005040f, -0.004356f, -0.004968f, -0.002965f, -0.002037f, 0.000003f, 0.000146f, 0.002091f, 0.001689f, 0.003952f, 0.003958f, 0.004591f, 0.003398f, 0.004016f, 0.002060f, 0.001541f, -0.000661f, -0.001021f, -0.002601f, -0.002083f, -0.002783f, -0.001567f, -0.002155f, -0.000647f, -0.001162f, 0.000123f, - -0.000542f, 0.000607f, -0.000222f, 0.000725f, -0.000299f, 0.000542f}, - {0.013874f, 0.005147f, -0.006824f, -0.001265f, 0.004893f, -0.000939f, 0.005201f, -0.012703f, -0.008904f, -0.002291f, -0.010533f, 0.004367f, -0.002276f, -0.001257f, -0.007087f, -0.003286f, 0.006765f, 0.006583f, -0.002523f, -0.002115f, -0.004337f, -0.010278f, 0.011458f, 0.006679f, 0.000383f, 0.001114f, -0.000533f, 0.000250f, 0.009246f, -0.004721f, 0.001771f, -0.014724f, -0.011917f, -0.003084f, 0.001179f, -0.010283f, -0.001806f, 0.003552f, 0.000968f, 0.000108f, -0.005034f, -0.004016f, 0.009668f, -0.004510f, -0.003996f, -0.001420f, -0.001262f, 0.004148f, -0.002125f, -0.006346f, -0.000133f, 0.005432f, -0.007750f, 0.000269f, -0.008307f, 0.000521f, -0.006060f, 0.009253f, -0.000442f, -0.009892f, -0.001342f, -0.001021f, 0.001259f, -0.014094f, -0.001609f, 0.001102f, -0.009291f, 0.004252f, 0.000289f, -0.010871f, 0.005004f, 0.006583f, -0.005681f, -0.006682f, -0.011792f, 0.006160f, 0.003677f, 0.010962f, 0.005523f, -0.001698f, 0.002226f, -0.001588f, 0.003425f, 0.003447f, 0.007688f, 0.001880f, -0.003232f, -0.000173f, 0.000973f, -0.000303f, 0.004427f, 0.001074f, -0.001417f, -0.002165f, 0.002195f, 0.001639f, - 0.003338f, 0.001578f, 0.001346f, 0.001903f, 0.001850f, 0.000683f, 0.001177f, -0.000252f, -0.000482f, 0.000651f, 0.000541f, 0.000785f, -0.000381f, 0.000935f, -0.001245f, -0.000034f, -0.010266f, 0.004666f, -0.012789f, -0.003501f, -0.001837f, -0.006392f, 0.006076f, 0.014289f, -0.005884f, -0.001860f, 0.000614f, -0.005857f, 0.004037f, -0.000854f, -0.004852f, -0.008107f, -0.004387f, 0.012886f, 0.012351f, 0.007007f, 0.014357f, 0.008516f, 0.004527f, 0.013605f, -0.008499f, 0.003014f, 0.005744f, -0.000245f, 0.002278f, -0.004012f, 0.002540f, -0.018769f, 0.000338f, -0.001074f, 0.006722f, -0.004238f, -0.002453f, -0.001296f, 0.005133f, -0.005935f, -0.001026f, 0.001704f, 0.003594f, 0.003575f, -0.001067f, -0.006370f, 0.001140f, 0.002242f, 0.004534f, 0.003482f, 0.005283f, -0.005991f, -0.003632f, -0.001092f, -0.010712f, -0.001254f, 0.002755f, 0.009151f, 0.010142f, -0.001397f, 0.005560f, 0.004197f, -0.000836f, 0.003795f, 0.004447f, 0.006603f, -0.002722f, -0.000088f, -0.005024f, 0.000855f, -0.004340f, 0.002934f, -0.006390f, -0.005966f, 0.003502f, -0.000039f, -0.011871f, -0.001107f, -0.008911f, -0.002399f, - -0.001336f, -0.001494f, -0.011805f, 0.001128f, 0.004054f, -0.003461f, -0.003430f, 0.002022f, 0.001395f, 0.000848f, -0.002409f, -0.006303f, -0.000414f, -0.002762f, 0.002304f, 0.000086f, 0.000077f, -0.000706f, -0.002698f, -0.002893f, -0.003367f, 0.000232f, -0.001512f, 0.001420f, -0.002148f, 0.000811f, 0.000395f, -0.001871f, -0.000140f, -0.002084f, -0.000853f, 0.000121f, -0.000091f, -0.001854f, -0.000552f, -0.000315f, -0.012972f, -0.012075f, 0.004441f, -0.001349f, 0.010020f, 0.010232f, 0.000763f, 0.000321f, 0.019452f, -0.005204f, -0.000534f, 0.016478f, 0.000611f, -0.009407f, -0.013954f, 0.010154f, -0.004128f, 0.000139f, -0.008664f, 0.002744f, -0.006205f, 0.006923f, 0.030430f, -0.011054f, -0.009016f, -0.010918f, -0.011953f, 0.002252f, -0.009756f, -0.023946f, -0.000657f, 0.002487f, 0.000009f, -0.009473f, -0.002058f, 0.007884f, -0.009858f, -0.005708f, 0.014206f, 0.004773f, -0.003671f, -0.003316f, 0.009135f, -0.004470f, 0.006530f, 0.006085f, -0.013045f, -0.008545f, -0.007738f, 0.008594f, -0.006631f, -0.003840f, -0.003618f, -0.004246f, -0.000711f, -0.008686f, 0.000046f, -0.002562f, 0.002144f, -0.001127f, - -0.019076f, 0.008924f, -0.010674f, 0.008493f, 0.001553f, -0.015572f, 0.003165f, 0.010553f, 0.003215f, 0.017516f, -0.007383f, 0.001041f, 0.002029f, 0.004163f, 0.006233f, -0.006792f, 0.002602f, 0.002383f, -0.010135f, 0.013974f, 0.000999f, -0.001888f, 0.005899f, -0.001913f, 0.002646f, -0.002457f, -0.005288f, -0.000287f, -0.003402f, 0.004644f, -0.001179f, 0.000948f, 0.005427f, 0.001957f, 0.002073f, -0.001122f, 0.002960f, 0.000607f, -0.000783f, 0.002030f, 0.003955f, -0.002766f, 0.000271f, -0.002922f, 0.001895f, -0.000894f, 0.005866f, -0.008182f, 0.003902f, 0.004013f, -0.004261f, 0.001890f, -0.002050f, -0.017583f, 0.005496f, 0.016342f, 0.013779f, 0.015321f, 0.002806f, -0.003402f, -0.013116f, -0.007012f, -0.006108f, -0.005066f, 0.013777f, 0.018913f, 0.001471f, -0.001364f, 0.013643f, -0.022035f, 0.000532f, -0.001834f, -0.000296f, -0.007219f, -0.007291f, 0.007949f, 0.009977f, 0.000269f, -0.002103f, 0.003899f, -0.010591f, -0.008135f, 0.008268f, -0.008961f, 0.017139f, 0.015410f, 0.002665f, 0.009472f, 0.008118f, 0.001585f, -0.006907f, 0.002376f, -0.000307f, -0.012091f, 0.011757f, -0.001083f, - 0.005533f, 0.009462f, -0.011244f, -0.004436f, -0.013375f, -0.003084f, 0.003134f, 0.012564f, -0.012887f, -0.005188f, 0.009504f, -0.002036f, -0.008228f, 0.013786f, -0.011471f, -0.024256f, 0.004128f, -0.013684f, -0.006045f, 0.006541f, -0.005807f, 0.001118f, 0.001488f, -0.005958f, 0.010378f, -0.009511f, -0.010693f, -0.012950f, -0.001388f, -0.005647f, 0.000890f, 0.003375f, -0.007849f, 0.002032f, 0.002298f, 0.000528f, -0.003724f, 0.002032f, 0.001719f, 0.005340f, 0.000844f, -0.001792f, -0.003669f, -0.002440f, -0.001613f, -0.001025f, -0.001279f, -0.002356f, 0.000728f, 0.000991f, 0.001591f, 0.000429f, -0.000694f, -0.001899f, -0.000707f, 0.002621f, -0.002713f, -0.002923f, -0.000825f, -0.000142f, -0.000228f, 0.001989f, 0.002454f, 0.002211f, -0.001396f, 0.000735f, 0.000513f, 0.000834f, 0.000479f, -0.000832f, 0.005241f, -0.002583f, 0.000285f, -0.021865f, 0.004635f, 0.020658f, 0.001630f, 0.003250f, 0.006235f, 0.019348f, 0.002617f, -0.018575f, 0.020597f, 0.009080f, 0.007417f, 0.012574f, 0.010863f, 0.000100f, -0.003896f, 0.011857f, 0.009023f, 0.003107f, -0.008561f, 0.010310f, 0.004812f, 0.015258f, - 0.017755f, 0.006773f, -0.004430f, 0.000408f, -0.000173f, 0.007417f, 0.022544f, 0.013419f, -0.012581f, 0.021858f, 0.000830f, -0.002699f, 0.002842f, -0.016131f, 0.017867f, -0.002399f, 0.000273f, -0.002155f, 0.004517f, -0.002438f, 0.009198f, -0.013022f, 0.018248f, 0.015586f, -0.000641f, -0.002940f, -0.010237f, -0.019423f, -0.006715f, 0.007665f, -0.004578f, -0.007310f, 0.010223f, 0.012036f, -0.008245f, -0.007324f, -0.024943f, -0.008673f, -0.003149f, -0.001260f, -0.027908f, 0.014122f, 0.001482f, -0.016631f, -0.013704f, 0.004512f, -0.006545f, 0.001630f, -0.004200f, 0.000828f, -0.007412f, -0.001684f, -0.006624f, 0.004650f, 0.009204f, -0.002704f, 0.006978f, 0.000760f, -0.003040f, 0.008243f, 0.002800f, 0.000333f, 0.006757f, -0.000884f, -0.003239f, -0.004410f, -0.004979f, -0.005177f, -0.004943f, -0.006040f, -0.004460f, 0.000202f, -0.002519f, -0.005682f, -0.002881f, 0.000452f, -0.001319f, -0.002188f, 0.001062f, 0.002143f, 0.000955f, -0.002668f, -0.003773f, -0.004635f, 0.000341f, -0.004408f, 0.003801f, -0.002485f, -0.002617f, -0.002460f, -0.000074f, -0.001801f, 0.000229f, 0.000919f, 0.001745f, -0.002159f, - 0.002149f, 0.010015f, -0.012718f, -0.000358f, 0.000377f, 0.000224f, 0.021182f, 0.011260f, 0.000055f, 0.025849f, 0.012295f, 0.023311f, 0.005854f, 0.007719f, 0.025378f, -0.010199f, -0.016539f, -0.010854f, 0.023738f, 0.005505f, -0.013050f, 0.017689f, -0.004695f, -0.010723f, 0.016244f, 0.037806f, -0.009613f, 0.001665f, 0.006285f, 0.007031f, -0.009696f, 0.001011f, 0.021151f, 0.002004f, 0.025960f, -0.005855f, 0.027859f, 0.019330f, 0.006817f, 0.016166f, 0.010578f, -0.010092f, 0.007062f, -0.002772f, -0.002285f, 0.002402f, 0.002054f, -0.002031f, 0.007471f, 0.004817f, 0.018045f, 0.011809f, -0.014779f, 0.004979f, 0.006892f, -0.011269f, 0.000815f, -0.026262f, -0.033571f, 0.013267f, -0.008490f, -0.022272f, -0.004583f, -0.012098f, 0.014668f, 0.002957f, -0.006710f, -0.016869f, 0.013166f, -0.012271f, 0.008081f, -0.013742f, 0.002113f, -0.005670f, 0.020558f, 0.003581f, -0.007859f, 0.007639f, -0.017312f, 0.015641f, 0.002696f, -0.015217f, 0.000791f, -0.001781f, -0.004199f, -0.002032f, 0.002233f, 0.004197f, -0.004268f, 0.007073f, -0.001533f, -0.003113f, -0.003237f, -0.002821f, -0.006375f, -0.000767f, - -0.002220f, -0.006500f, -0.002243f, 0.002002f, -0.003816f, 0.003751f, 0.000676f, -0.002478f, 0.001116f, -0.004414f, -0.000725f, -0.003161f, -0.000318f, -0.000389f, 0.000235f, 0.001791f, 0.002533f, 0.002524f, 0.000157f, 0.001146f, -0.000115f, 0.001095f, -0.002043f, 0.001511f, -0.001436f, 0.001013f, -0.015016f, 0.002239f, 0.000338f, 0.004171f, -0.009252f, 0.010436f, 0.010985f, -0.000960f, -0.007743f, -0.025661f, -0.022457f, -0.016841f, 0.007728f, 0.002566f, 0.003892f, -0.020995f, 0.013229f, 0.009752f, 0.016520f, -0.017965f, 0.017045f, 0.013534f, -0.010696f, -0.008431f, -0.005521f, 0.017842f, 0.011905f, -0.007492f, 0.001508f, 0.026869f, 0.013257f, 0.007119f, 0.015193f, 0.010848f, 0.003914f, -0.008568f, 0.001760f, 0.001471f, -0.003986f, -0.009541f, 0.023413f, 0.011288f, -0.022245f, 0.015122f, 0.014563f, 0.014979f, 0.011316f, 0.003358f, -0.013955f, 0.000663f, -0.002064f, 0.020867f, 0.002505f, 0.009464f, 0.018491f, -0.003110f, -0.020677f, 0.004789f, 0.010774f, 0.021080f, -0.028009f, -0.015417f, 0.007380f, 0.000541f, 0.002331f, -0.016205f, -0.004298f, -0.015707f, -0.002450f, 0.007833f, - -0.005482f, -0.008478f, -0.010841f, 0.004748f, -0.002863f, -0.005049f, -0.013352f, 0.000733f, -0.017798f, -0.000076f, -0.001939f, -0.008650f, -0.010133f, 0.011528f, -0.004116f, -0.002562f, -0.005845f, -0.010572f, 0.003593f, 0.005464f, 0.003375f, 0.004330f, 0.002725f, -0.005733f, -0.003489f, -0.001576f, -0.001713f, -0.005376f, -0.010786f, -0.004437f, -0.000512f, -0.003339f, -0.000560f, -0.005411f, 0.000244f, -0.002828f, -0.002405f, -0.003871f, -0.004863f, -0.002187f, 0.004360f, -0.003102f, -0.001862f, 0.000925f, 0.001610f, 0.001449f, -0.002505f, 0.003735f, 0.004999f, 0.005536f, -0.001729f, -0.000097f, -0.000374f, 0.000869f, 0.000654f, 0.009762f, 0.001360f, -0.017311f, 0.017622f, 0.011190f, -0.005171f, 0.006888f, 0.010642f, -0.011735f, -0.003870f, 0.044806f, -0.001401f, 0.017425f, 0.012312f, -0.037550f, -0.019859f, -0.002193f, -0.001518f, -0.000522f, 0.021336f, 0.004693f, -0.010303f, 0.021907f, 0.013563f, -0.002839f, -0.003562f, 0.006933f, -0.003533f, -0.007860f, -0.016653f, -0.019878f, 0.010993f, -0.004428f, -0.009284f, -0.001056f, -0.030793f, -0.005821f, 0.002072f, 0.016925f, -0.020338f, -0.005982f, - 0.002670f, 0.001280f, 0.004474f, 0.001430f, 0.021772f, -0.025427f, -0.008411f, 0.005549f, -0.000801f, -0.015041f, -0.003136f, 0.019638f, 0.016978f, 0.014581f, -0.004029f, -0.025322f, -0.011504f, 0.009047f, -0.002865f, 0.016862f, -0.000983f, -0.000414f, -0.012578f, -0.007882f, 0.014799f, -0.018182f, 0.012392f, 0.009605f, -0.013053f, -0.006558f, -0.003041f, 0.002015f, -0.014059f, 0.006763f, 0.004855f, -0.006974f, -0.002165f, -0.019242f, 0.006932f, 0.014759f, 0.021185f, 0.001792f, 0.005680f, 0.009983f, 0.003092f, -0.016817f, 0.011480f, -0.004081f, 0.001880f, -0.000013f, -0.005400f, -0.005839f, -0.003121f, 0.007735f, 0.001370f, 0.006454f, -0.000733f, 0.001008f, -0.009337f, -0.003236f, -0.004307f, 0.006976f, -0.000736f, -0.003092f, 0.004846f, -0.003645f, 0.003790f, -0.002343f, 0.000599f, -0.007764f, 0.001776f, -0.001859f, -0.001631f, -0.005004f, 0.001738f, -0.000848f, -0.004383f, -0.008027f, -0.001820f, 0.000724f, -0.003244f, 0.003157f, -0.000877f, -0.005289f, -0.034073f, -0.002024f, 0.004573f, 0.022940f, 0.002764f, -0.000857f, 0.013736f, -0.009942f, 0.029897f, -0.029869f, -0.002966f, -0.006343f, - 0.004919f, -0.001392f, -0.002547f, 0.007761f, -0.005739f, -0.010114f, -0.006906f, -0.005953f, -0.018081f, -0.002781f, 0.012659f, -0.002874f, -0.008103f, 0.019068f, -0.000416f, 0.022922f, -0.022490f, -0.012758f, 0.028174f, -0.002827f, -0.001854f, 0.001738f, -0.017952f, -0.002018f, -0.022381f, 0.006567f, -0.026840f, -0.000623f, 0.019703f, -0.006430f, 0.013378f, 0.017838f, 0.010189f, 0.014054f, -0.018210f, 0.018041f, 0.001844f, -0.047019f, -0.008070f, 0.006894f, -0.004006f, -0.005193f, -0.020342f, 0.015956f, -0.017365f, -0.003341f, -0.019674f, -0.018263f, -0.028497f, 0.025305f, 0.000007f, 0.029486f, -0.014842f, 0.022232f, 0.029254f, -0.019306f, 0.023802f, -0.029473f, -0.024717f, -0.026679f, -0.009474f, -0.018793f, 0.005851f, 0.008902f, -0.001223f, -0.003453f, -0.000343f, -0.021103f, 0.001463f, 0.000257f, 0.012009f, 0.004846f, 0.004584f, 0.008699f, 0.004713f, -0.004579f, -0.000383f, -0.008588f, -0.005327f, 0.000239f, 0.003313f, 0.000161f, 0.003769f, -0.002818f, 0.004065f, -0.001288f, 0.002052f, -0.013091f, 0.000587f, 0.005002f, 0.003593f, 0.007285f, -0.004354f, -0.005779f, -0.007896f, -0.000184f, - -0.000874f, -0.006133f, -0.006896f, 0.000686f, -0.001306f, 0.001113f, -0.000187f, -0.001963f, 0.003248f, 0.010417f, -0.002789f, -0.002455f, -0.001561f, -0.002867f, 0.009131f, 0.000352f, 0.000883f, -0.003269f, 0.005318f, -0.006109f, -0.001427f, 0.004018f, 0.022091f, 0.037558f, 0.005240f, -0.009834f, -0.020352f, 0.012702f, 0.034369f, 0.000457f, 0.009765f, 0.001912f, 0.013643f, 0.009625f, 0.010443f, 0.018925f, -0.022777f, -0.001670f, -0.008536f, 0.029752f, 0.021872f, -0.000951f, 0.033994f, 0.018154f, 0.002947f, -0.031951f, -0.016012f, -0.024333f, -0.011413f, 0.002610f, 0.009124f, -0.008648f, 0.001213f, 0.034809f, -0.006578f, 0.000155f, 0.001699f, 0.035764f, -0.021852f, -0.008646f, -0.008938f, -0.003372f, -0.021378f, 0.024676f, 0.001585f, 0.016593f, -0.025628f, 0.003611f, -0.002838f, -0.015102f, -0.006107f, -0.028092f, 0.008804f, 0.000663f, 0.005896f, -0.003338f, -0.001757f, -0.032630f, -0.011177f, 0.012928f, 0.020783f, -0.005911f, 0.005411f, 0.043682f, -0.002864f, 0.002657f, 0.007966f, 0.019765f, -0.018487f, 0.004369f, 0.022038f, -0.012952f, 0.016014f, 0.004843f, 0.016693f, -0.022089f, - -0.011333f, 0.003157f, 0.005069f, 0.011403f, 0.012730f, 0.012350f, -0.008393f, 0.003682f, 0.007508f, 0.014915f, 0.022988f, 0.010812f, -0.010956f, -0.004943f, -0.008628f, 0.003866f, 0.004834f, 0.010181f, 0.009088f, 0.005663f, 0.009604f, -0.010218f, -0.002111f, -0.010423f, 0.009085f, -0.011962f, 0.012257f, 0.009000f, -0.009227f, 0.005602f, -0.001145f, -0.005450f, 0.001344f, 0.002024f, -0.003332f, 0.002973f, 0.015233f, -0.000299f, -0.000047f, -0.009206f, 0.004787f, -0.000238f, -0.000319f, -0.008338f, 0.008722f, -0.007064f, 0.002719f, 0.003951f, 0.006916f, -0.000581f, -0.003310f, -0.020339f, -0.031039f, 0.008626f, -0.003351f, -0.031301f, 0.008553f, 0.003160f, 0.028351f, 0.025103f, -0.023313f, -0.027925f, 0.006216f, -0.021322f, -0.011275f, 0.000883f, 0.042239f, 0.000603f, -0.005436f, -0.037805f, -0.018996f, -0.003271f, -0.028264f, -0.042848f, 0.029322f, -0.011051f, -0.013605f, -0.002468f, 0.031800f, -0.009980f, 0.003405f, -0.006397f, -0.006487f, -0.018529f, -0.009969f, 0.003106f, -0.044848f, -0.028791f, -0.008370f, -0.016341f, -0.015258f, -0.005240f, -0.017665f, 0.015208f, 0.006861f, 0.004870f, - -0.010820f, 0.007689f, -0.064718f, 0.060062f, 0.035141f, -0.006100f, -0.008319f, 0.033783f, 0.001911f, -0.020235f, -0.028921f, -0.003681f, -0.010236f, -0.012006f, -0.017459f, -0.017713f, 0.021965f, 0.020608f, -0.009493f, 0.045294f, -0.025352f, -0.020721f, -0.018836f, 0.000090f, 0.014644f, -0.053102f, 0.015524f, -0.016810f, 0.027573f, -0.030104f, 0.013022f, -0.002757f, -0.010364f, 0.020738f, -0.039277f, 0.036713f, 0.001900f, -0.000521f, -0.008476f, 0.001053f, -0.000739f, -0.018591f, 0.003440f, -0.005169f, 0.009483f, 0.012328f, -0.011560f, 0.005617f, 0.007675f, 0.017310f, 0.000399f, -0.005706f, -0.001200f, -0.001598f, -0.007133f, 0.005031f, -0.002937f, -0.004215f, 0.004190f, -0.006951f, -0.002441f, 0.001616f, 0.004738f, 0.005882f, -0.014126f, -0.010690f, -0.009460f, 0.001486f, 0.005404f, -0.000092f, 0.003465f, 0.003137f, 0.009004f, 0.004747f, -0.007825f, 0.006886f, 0.001091f, -0.008732f, 0.030762f, 0.002540f, 0.071726f, 0.023369f, -0.001454f, 0.003086f, -0.027753f, -0.035950f, 0.044798f, -0.013266f, 0.005079f, 0.059478f, -0.015497f, -0.002868f, -0.012723f, 0.046384f, 0.008921f, -0.019168f, - 0.027380f, -0.009951f, 0.040671f, 0.021356f, 0.010133f, 0.006032f, -0.004504f, -0.015562f, -0.005075f, -0.004216f, -0.043599f, -0.010945f, -0.007022f, 0.024130f, -0.013501f, 0.004559f, 0.008025f, -0.031228f, -0.046532f, -0.001650f, 0.040188f, -0.002672f, 0.035704f, -0.006171f, -0.049881f, -0.019307f, 0.002282f, 0.011321f, 0.009039f, -0.040569f, 0.000358f, -0.011604f, 0.029490f, -0.030101f, 0.037278f, 0.055117f, 0.035750f, -0.011200f, 0.006685f, 0.022246f, -0.007904f, 0.043192f, 0.049986f, 0.044073f, 0.014426f, 0.048326f, -0.001618f, -0.019443f, 0.006277f, -0.025241f, -0.031857f, 0.017426f, -0.013650f, 0.039499f, 0.020439f, 0.010492f, -0.013517f, -0.048589f, -0.044028f, 0.030955f, -0.019466f, -0.039312f, 0.026311f, 0.052468f, 0.031580f, -0.016795f, 0.025091f, 0.015398f, -0.005392f, -0.012371f, 0.014923f, -0.018621f, -0.005597f, -0.001976f, -0.012779f, 0.001727f, -0.002700f, 0.010822f, 0.006616f, -0.002480f, -0.017020f, 0.009565f, 0.008769f, 0.006013f, -0.003610f, 0.000584f, -0.015890f, 0.001317f, -0.000064f, 0.004176f, 0.003858f, 0.000442f, 0.009630f, -0.003295f, 0.013289f, 0.014903f, - 0.003970f, 0.012108f, 0.001231f, -0.009532f, -0.022543f, 0.005161f, 0.000689f, 0.004910f, -0.003743f, -0.016246f, -0.036253f, 0.021213f, 0.026490f, -0.000411f, 0.012937f, 0.008724f, 0.012793f, 0.010647f, 0.004836f, -0.002910f, 0.006206f, -0.007636f, 0.013706f, -0.024664f, -0.068700f, -0.027584f, 0.037527f, 0.002108f, -0.011289f, -0.023050f, -0.000232f, 0.031551f, 0.040289f, 0.008514f, -0.024908f, -0.004480f, 0.032195f, -0.039228f, 0.003606f, -0.005003f, 0.028786f, 0.032859f, -0.026596f, 0.049917f, 0.009573f, 0.001829f, 0.070583f, 0.000171f, -0.022334f, 0.024577f, -0.011963f, 0.003331f, -0.015265f, 0.005041f, 0.046838f, 0.005195f, 0.059705f, 0.025031f, -0.052449f, -0.057471f, -0.012685f, 0.014618f, 0.031790f, -0.044644f, -0.015888f, -0.006703f, 0.053699f, 0.049067f, -0.042483f, -0.001947f, -0.026014f, 0.015970f, -0.009131f, 0.056103f, 0.000496f, -0.012754f, 0.036797f, -0.007897f, -0.044067f, -0.022479f, -0.007445f, 0.045126f, -0.040624f, 0.024035f, 0.070421f, 0.033080f, 0.047165f, -0.013119f, 0.018993f, -0.013228f, -0.029676f, -0.028666f, 0.014517f, -0.020521f, -0.001682f, -0.007675f, - 0.012569f, -0.000814f, 0.028376f, -0.006950f, -0.013574f, -0.005209f, -0.006120f, 0.006536f, -0.004929f, 0.010516f, -0.020080f, 0.013993f, -0.013417f, -0.006526f, 0.003667f, -0.005770f, -0.006542f, 0.008585f, -0.009059f, -0.003905f, -0.002986f, -0.007781f, -0.024648f, -0.014314f, -0.002784f, -0.003506f, -0.007596f, -0.010176f, -0.002679f, 0.006517f, -0.004676f, 0.003533f, -0.004194f, -0.000960f, 0.005027f, -0.019349f, 0.001584f, -0.003386f, -0.014539f, -0.001325f, -0.034079f, 0.025583f, 0.035860f, 0.031246f, -0.053871f, -0.024629f, 0.032834f, 0.102365f, 0.005451f, 0.022771f, -0.030229f, 0.009861f, -0.002172f, -0.004098f, -0.028431f, 0.009051f, -0.010458f, 0.049453f, 0.037986f, -0.050350f, -0.023307f, 0.054565f, 0.026665f, 0.020019f, 0.005024f, 0.029770f, 0.033261f, 0.011451f, 0.019608f, 0.019345f, -0.025319f, 0.004250f, -0.024809f, -0.010195f, 0.005950f, -0.004124f, 0.003413f, -0.020198f, -0.019351f, 0.015057f, -0.004518f, 0.020532f, 0.015031f, -0.046549f, 0.034566f, 0.007644f, 0.027703f, -0.031229f, 0.017601f, 0.029233f, -0.022847f, -0.035754f, -0.037265f, -0.039665f, -0.040950f, -0.032774f, - 0.011366f, 0.060167f, 0.015177f, 0.018954f, 0.027642f, 0.002573f, -0.001098f, -0.022643f, 0.039331f, -0.050001f, -0.102078f, 0.035369f, -0.023726f, 0.005009f, -0.086670f, 0.021865f, 0.026891f, 0.005286f, 0.016748f, 0.015092f, -0.013184f, -0.021440f, -0.034574f, 0.011414f, 0.007212f, -0.025476f, 0.018686f, -0.009333f, -0.044441f, -0.023487f, -0.000831f, -0.007318f, 0.004343f, 0.003548f, 0.012774f, 0.006669f, 0.002069f, -0.000289f, 0.010083f, -0.005813f, -0.014377f, -0.024448f, -0.015305f, -0.015603f, -0.005907f, -0.008366f, 0.008952f, 0.014700f, 0.010290f, -0.019377f, -0.001928f, -0.007837f, -0.000151f, 0.012032f, 0.003211f, -0.017068f, -0.032910f, -0.002246f, 0.001092f, 0.003263f, -0.011908f, -0.004372f, -0.012437f, -0.001919f, -0.016166f, -0.016167f, 0.010536f, -0.015786f, 0.006454f, 0.003296f, -0.008727f, -0.002781f, 0.010073f, -0.008850f, 0.003673f, -0.012060f, 0.024219f, 0.017294f, 0.023133f, -0.032997f, -0.017030f, -0.004723f, 0.021147f, -0.044009f, 0.073130f, 0.034619f, -0.005914f, 0.039758f, 0.023997f, 0.037881f, -0.019931f, -0.025677f, -0.024804f, 0.045900f, 0.016378f, 0.008197f, - 0.041529f, -0.036447f, -0.117600f, -0.007954f, 0.007882f, 0.013876f, -0.066193f, 0.051194f, 0.037333f, -0.071222f, -0.054717f, 0.001629f, 0.029311f, 0.002362f, 0.016652f, 0.037564f, -0.009993f, 0.023275f, -0.034346f, -0.039456f, -0.031357f, -0.040984f, -0.063608f, 0.017590f, 0.006584f, -0.042835f, 0.056364f, 0.021780f, -0.013786f, -0.013573f, -0.033292f, -0.025059f, -0.058003f, -0.031633f, 0.020599f, 0.051317f, -0.019628f, 0.005024f, 0.021136f, -0.045775f, 0.032897f, 0.044451f, 0.006533f, -0.011566f, 0.038063f, 0.010298f, 0.004240f, -0.027457f, -0.032007f, -0.002481f, 0.056912f, -0.017660f, -0.052647f, -0.001062f, -0.067073f, -0.069927f, -0.072772f, -0.034995f, -0.038443f, -0.024631f, 0.031160f, -0.004527f, 0.027995f, -0.005942f, -0.009395f, -0.026435f, -0.007194f, -0.007884f, 0.014962f, -0.011691f, -0.016952f, -0.003457f, -0.006748f, 0.002339f, -0.024669f, 0.004510f, -0.011468f, -0.009941f, 0.012786f, -0.011869f, -0.004104f, 0.004120f, -0.008926f, 0.018972f, -0.012316f, 0.002740f, 0.030761f, 0.003685f, 0.017867f, -0.007035f, -0.011127f, 0.031298f, 0.004447f, -0.016742f, 0.000338f, 0.000219f, - 0.002157f, 0.004364f, -0.009210f, 0.019530f, 0.000879f, -0.001564f, -0.009811f, 0.001762f, -0.009970f, -0.025758f, -0.044513f, -0.023331f, -0.023919f, 0.028979f, 0.057038f, 0.021056f, -0.026027f, -0.055014f, 0.058992f, 0.031753f, -0.028481f, -0.015353f, -0.015209f, 0.003300f, 0.013867f, -0.018195f, 0.030640f, 0.028502f, 0.001571f, -0.019188f, -0.018197f, -0.017132f, -0.002228f, 0.011063f, -0.008654f, -0.018969f, -0.045104f, 0.013850f, 0.039577f, -0.022796f, 0.034981f, 0.001021f, 0.023458f, -0.019703f, 0.026084f, 0.075774f, -0.028489f, 0.033029f, 0.065803f, 0.011363f, -0.011614f, -0.018372f, 0.019018f, 0.001336f, 0.033529f, -0.025819f, 0.090300f, -0.028083f, -0.060811f, 0.013832f, -0.027778f, 0.071420f, 0.023323f, -0.022502f, 0.003973f, -0.043296f, -0.059350f, 0.072496f, 0.008150f, -0.019708f, 0.071604f, -0.037338f, 0.009180f, -0.021171f, 0.041411f, -0.053246f, -0.059751f, -0.042699f, 0.013010f, 0.025406f, 0.047420f, 0.020136f, 0.050119f, 0.078695f, -0.009955f, 0.015647f, -0.010674f, 0.009730f, -0.002783f, 0.002928f, -0.058287f, 0.001901f, -0.080396f, -0.027023f, -0.016095f, 0.013895f, - -0.003024f, 0.017242f, -0.006678f, -0.024274f, -0.025518f, -0.006095f, -0.017002f, -0.018808f, -0.032304f, -0.000366f, -0.003722f, 0.023887f, 0.009956f, -0.020059f, 0.017564f, 0.008010f, 0.014408f, 0.019172f, -0.025961f, 0.006715f, -0.011048f, -0.005279f, 0.025144f, -0.008994f, 0.012288f, 0.016830f, -0.010819f, -0.028227f, -0.014659f, 0.009679f, -0.046212f, -0.014753f, 0.000504f, -0.006953f, -0.010873f, 0.020145f, -0.022158f, -0.024388f, 0.016154f, 0.027239f, -0.013332f, 0.022656f, -0.015985f, 0.054840f, -0.007643f, 0.001023f, 0.066978f, 0.006620f, -0.035785f, -0.042809f, -0.036761f, 0.067560f, -0.045311f, 0.026425f, 0.032432f, -0.022549f, 0.006968f, -0.038136f, -0.008141f, 0.029787f, -0.026840f, 0.021321f, -0.008808f, -0.047775f, -0.103113f, -0.009914f, 0.093215f, 0.038281f, 0.009732f, -0.019049f, -0.027786f, -0.005710f, -0.036534f, 0.011275f, -0.051585f, 0.061330f, 0.004712f, 0.006884f, 0.005198f, -0.021493f, -0.062275f, -0.024451f, 0.050183f, -0.041501f, -0.010403f, -0.028902f, 0.022452f, -0.020879f, 0.069375f, -0.011782f, 0.014355f, -0.025878f, -0.064653f, 0.013725f, -0.049359f, -0.011749f, - -0.004305f, -0.091232f, -0.076408f, -0.072879f, 0.024019f, -0.013958f, -0.039107f, -0.026083f, -0.025018f, -0.023721f, -0.034915f, -0.024205f, -0.006061f, -0.082011f, 0.022725f, 0.008436f, 0.029989f, -0.018711f, 0.070679f, -0.008084f, 0.013618f, -0.025229f, -0.009765f, 0.037402f, -0.075495f, 0.031327f, 0.049426f, -0.051494f, -0.032897f, 0.002310f, 0.007961f, -0.014192f, -0.024449f, -0.040533f, -0.002499f, 0.000105f, -0.024016f, 0.019550f, -0.017737f, -0.032497f, -0.017569f, -0.014462f, 0.019970f, -0.001440f, 0.000586f, -0.001623f, 0.014874f, -0.039886f, -0.011271f, -0.005633f, -0.007693f, -0.003664f, 0.000539f, -0.047686f, 0.001345f, -0.016130f, -0.012466f, -0.005045f, -0.021076f, 0.004683f, -0.006110f, 0.003131f, 0.000678f, -0.005164f, -0.005389f, -0.012780f, -0.002117f, -0.010721f, -0.002443f, 0.005342f, -0.010812f, -0.018315f, 0.000287f, -0.005361f, -0.004075f, -0.011966f, -0.019219f, -0.014185f, -0.005153f, -0.003737f, -0.003748f, 0.005350f, -0.014165f, -0.015319f, 0.027575f, 0.017579f, 0.033486f, -0.012263f, -0.071299f, 0.020974f, 0.000472f, 0.118050f, 0.119700f, 0.015114f, 0.000648f, 0.028898f, - 0.013676f, 0.030832f, 0.051363f, 0.019915f, 0.053357f, 0.081993f, -0.020785f, 0.011271f, -0.067381f, -0.008890f, 0.008259f, -0.008054f, -0.020393f, -0.039958f, -0.034592f, 0.019487f, 0.018296f, -0.088271f, 0.062945f, 0.017731f, 0.089031f, -0.004858f, -0.018164f, 0.029860f, -0.006634f, 0.094805f, 0.023564f, -0.004231f, 0.017701f, 0.019233f, -0.025681f, -0.056940f, -0.045512f, -0.022028f, 0.069941f, 0.001527f, 0.076923f, 0.010090f, 0.075204f, -0.021217f, -0.104366f, -0.038328f, -0.030555f, 0.054417f, 0.006197f, -0.049955f, -0.073566f, -0.050571f, -0.010543f, 0.063794f, -0.055358f, -0.047348f, -0.031904f, 0.056987f, -0.028129f, -0.015892f, -0.073201f, -0.071975f, 0.022574f, 0.012788f, 0.097360f, 0.025635f, -0.010619f, -0.025902f, 0.030352f, 0.032219f, 0.103996f, 0.002396f, -0.034035f, -0.044663f, -0.003148f, -0.004166f, 0.002148f, 0.016693f, 0.014788f, -0.023822f, -0.005704f, 0.008323f, 0.021529f, -0.022880f, -0.019136f, 0.029729f, 0.042965f, 0.020476f, 0.013029f, 0.017182f, -0.018372f, -0.007361f, -0.011625f, -0.002005f, -0.002598f, 0.009834f, -0.000026f, 0.056659f, 0.011679f, -0.002094f, - -0.017341f, -0.029273f, 0.028147f, 0.045989f, -0.016650f, 0.001005f, 0.001701f, 0.005949f, 0.026105f, 0.011617f, 0.019391f, 0.020040f, 0.005015f, 0.015613f, 0.005053f, -0.000849f, 0.005091f, -0.013827f, -0.004703f, 0.003476f, -0.008375f, -0.005630f, -0.018212f, -0.001104f, 0.005910f, 0.001215f, 0.072207f, 0.026960f, -0.034658f, 0.067399f, -0.003935f, -0.133492f, -0.040282f, 0.083564f, 0.093511f, -0.066035f, -0.065484f, -0.067217f, 0.037481f, 0.056680f, 0.114346f, 0.034103f, 0.014910f, -0.065574f, -0.006454f, -0.004498f, 0.025817f, 0.056640f, 0.041617f, 0.002851f, -0.068951f, -0.134683f, -0.035472f, -0.068414f, 0.101015f, 0.106339f, 0.186599f, -0.056443f, -0.179381f, -0.039683f, -0.061624f, 0.138839f, 0.047433f, 0.140806f, 0.036419f, -0.047905f, -0.136731f, -0.093084f, 0.004928f, 0.016350f, 0.153197f, 0.061572f, -0.005412f, -0.126842f, -0.220151f, -0.058250f, 0.004586f, 0.100933f, 0.231400f, 0.049717f, 0.069664f, -0.149970f, -0.228787f, 0.009096f, 0.052317f, 0.181257f, 0.106831f, 0.075689f, -0.042463f, -0.148143f, -0.120740f, -0.002013f, 0.033746f, -0.004019f, 0.091643f, -0.076753f, - -0.071297f, -0.018479f, -0.162745f, 0.024491f, 0.007497f, 0.043425f, -0.032965f, -0.066586f, -0.035663f, -0.028686f, -0.074669f, 0.016152f, 0.021379f, -0.024708f, -0.004107f, -0.070701f, 0.009569f, 0.019275f, 0.022584f, 0.031551f, 0.009967f, -0.036669f, 0.012114f, -0.012234f, -0.006591f, 0.004307f, 0.056228f, 0.008817f, -0.002229f, -0.015401f, -0.043544f, -0.009378f, -0.017666f, 0.015722f, -0.008277f, 0.017535f, 0.011543f, -0.040403f, -0.089905f, -0.044993f, -0.066180f, 0.052735f, 0.053590f, 0.063290f, 0.036373f, -0.084354f, -0.075685f, -0.117256f, -0.028581f, 0.093335f, 0.103852f, 0.100750f, 0.004484f, -0.113184f, -0.084533f, -0.066355f, -0.001892f, 0.166406f, 0.115578f, 0.046437f, -0.090308f, -0.105328f, -0.078819f, 0.037547f, 0.039226f, 0.057074f, 0.029859f, -0.018700f, -0.026465f, -0.050241f, -0.021916f, 0.014039f, 0.001713f, 0.016813f, 0.023852f, -0.001584f, -0.077821f, 0.102933f, -0.003673f, 0.016222f, -0.044172f, -0.095116f, 0.056095f, -0.095788f, 0.101612f, 0.016303f, 0.007762f, 0.023030f, -0.063393f, 0.062726f, 0.004597f, 0.043984f, -0.060834f, 0.022239f, -0.000898f, 0.075046f, - -0.030786f, 0.019374f, 0.047819f, -0.054760f, -0.033699f, 0.006607f, -0.052469f, 0.084077f, -0.019969f, -0.033010f, 0.073181f, 0.086846f, -0.024276f, -0.062261f, -0.016977f, -0.054744f, -0.011640f, 0.035659f, -0.006702f, -0.068460f, 0.007011f, 0.038581f, -0.025785f, 0.043373f, -0.036286f, 0.017430f, 0.044021f, -0.017050f, 0.028592f, -0.078122f, -0.080994f, 0.082247f, 0.043981f, 0.126335f, -0.006373f, -0.030714f, 0.105090f, -0.059605f, -0.055193f, 0.038312f, 0.034712f, 0.061302f, -0.055889f, -0.025113f, 0.015055f, -0.010633f, 0.059079f, -0.047137f, -0.150277f, 0.039780f, 0.082339f, 0.002098f, -0.070195f, 0.014069f, 0.041403f, -0.015683f, -0.019123f, -0.054677f, -0.019007f, -0.044960f, 0.045217f, 0.012252f, -0.033472f, -0.007791f, 0.054220f, -0.038191f, -0.014933f, -0.034418f, -0.005141f, 0.027792f, -0.039888f, 0.021794f, 0.056741f, 0.023137f, -0.001757f, -0.015430f, -0.004177f, -0.020332f, -0.027835f, 0.044664f, -0.019149f, 0.020861f, -0.007037f, -0.021232f, -0.001083f, 0.005802f, 0.003234f, 0.016970f, 0.018339f, -0.032238f, -0.011039f, 0.017676f, 0.013018f, 0.034186f, -0.005259f, -0.027528f, - 0.010459f, -0.032230f, 0.015091f, -0.029250f, -0.017938f, 0.001726f, -0.007409f, -0.019196f, 0.046005f, -0.019246f, 0.008801f, 0.021669f, 0.003580f, 0.017281f, 0.030286f, 0.000708f, -0.006342f, 0.002830f, -0.002599f, -0.039659f, -0.024351f, 0.151078f, 0.041383f, 0.042027f, -0.127964f, -0.031936f, -0.100235f, -0.084629f, 0.076462f, 0.080478f, 0.159255f, 0.073645f, -0.021127f, -0.030579f, -0.018321f, 0.050472f, 0.035204f, 0.001322f, 0.077600f, 0.015350f, -0.030558f, -0.036300f, -0.029189f, 0.055876f, 0.000395f, 0.048905f, 0.023072f, 0.029632f, 0.007715f, -0.011947f, 0.006055f, -0.000058f, 0.007697f, -0.012400f, -0.002824f, 0.016200f, 0.013802f, 0.104534f, 0.084324f, 0.068867f, -0.005626f, 0.019011f, -0.042091f, -0.006775f, -0.026032f, -0.047622f, -0.049521f, 0.015323f, 0.027619f, 0.039888f, 0.048986f, 0.040318f, -0.024689f, -0.063763f, 0.097776f, -0.069326f, -0.030045f, -0.017587f, 0.033836f, 0.004571f, 0.048092f, 0.049883f, 0.043945f, -0.058403f, -0.020566f, 0.008145f, -0.022586f, -0.094323f, 0.063645f, -0.022025f, -0.016585f, 0.035849f, 0.073798f, 0.083362f, 0.061171f, 0.059549f, - 0.051785f, -0.054642f, 0.007572f, -0.013936f, -0.016580f, 0.031319f, 0.025244f, 0.033357f, 0.016609f, -0.015184f, -0.026867f, -0.039493f, -0.042335f, -0.085821f, -0.033875f, 0.012650f, -0.004486f, 0.052277f, 0.000324f, -0.023906f, -0.007566f, -0.034230f, 0.013379f, 0.003898f, -0.002121f, -0.000555f, 0.022621f, 0.048917f, -0.005619f, 0.002307f, 0.027414f, 0.001812f, 0.000709f, -0.009988f, -0.002817f, -0.011844f, -0.010839f, 0.002733f, -0.022975f, 0.010178f, 0.013744f, -0.017430f, -0.025054f, 0.006775f, 0.005491f, -0.009515f, 0.025306f, 0.033186f, -0.004209f, 0.004729f, -0.010541f, -0.034141f, -0.013917f, 0.006779f, 0.006082f, -0.195394f, -0.097199f, -0.134222f, 0.096990f, 0.021305f, 0.277417f, 0.286484f, 0.285707f, 0.326220f, 0.321503f, 0.230788f, 0.143847f, 0.179994f, 0.079826f, 0.016704f, -0.151737f, -0.132313f, -0.331645f, -0.290229f, -0.260315f, -0.153541f, -0.193487f, -0.147633f, -0.011892f, -0.047193f, -0.018804f, -0.023301f, 0.001428f, -0.000379f, 0.009044f, 0.037840f, 0.040886f, 0.038800f, 0.114678f, 0.117440f, 0.124724f, 0.088937f, 0.249217f, 0.065120f, 0.104927f, 0.174319f, - 0.194568f, 0.072271f, 0.195818f, 0.235355f, 0.185821f, 0.161168f, 0.164099f, 0.018111f, 0.098382f, 0.198121f, 0.195985f, 0.126213f, 0.164532f, 0.143684f, -0.001616f, -0.053035f, -0.037083f, -0.097770f, -0.120451f, -0.015408f, -0.135407f, -0.206929f, -0.161007f, -0.192720f, -0.284856f, -0.130383f, -0.192477f, -0.213593f, -0.302341f, -0.245989f, -0.278780f, -0.318756f, -0.212094f, -0.360436f, -0.426215f, -0.427967f, -0.232584f, -0.289513f, -0.364707f, -0.071548f, -0.162173f, -0.076071f, -0.040512f, 0.119927f, 0.053721f, 0.175854f, 0.093709f, 0.166147f, 0.158377f, 0.104125f, 0.082340f, 0.128914f, 0.238694f, 0.242679f, 0.243713f, 0.248731f, 0.258623f, 0.313966f, 0.280704f, 0.232977f, 0.286579f, 0.323113f, 0.258502f, 0.194436f, 0.232116f, 0.195242f, 0.126431f, 0.159372f, 0.108075f, 0.053918f, 0.023609f, 0.049651f, 0.015032f, -0.019489f, -0.013208f, -0.025262f, -0.061349f, -0.093816f, -0.093195f, -0.101684f, -0.086753f, -0.108705f, -0.171382f, -0.154045f, -0.177099f, -0.199868f, -0.232947f, -0.232323f, -0.192232f, -0.193078f, -0.158048f, -0.100013f, -0.112886f, -0.076535f, -0.053526f, 0.007040f, - 0.000211f, 0.001619f, 0.010413f, 0.036047f, 0.041237f, 0.014830f, 0.032863f, 0.052094f, 0.041529f, 0.019348f, 0.021905f, 0.039229f, 0.023323f, 0.010966f, 0.016364f, 0.022964f, 0.020883f, 0.014628f, 0.017892f, 0.028909f, 0.027633f, 0.013066f, 0.004458f, 0.009660f, 0.017143f, 0.010275f, 0.000007f, 0.006952f, 0.012987f, 0.010179f, 0.004944f, 0.008867f, 0.009456f, 0.007365f, 0.006487f, 0.003255f, 0.002486f, 0.007259f, 0.005817f, 0.006354f, 0.002616f, -0.004037f, -0.005109f, 0.002919f, 0.006078f, -0.001314f, -0.004215f, 0.001150f, 0.000004f, 0.001228f, 0.003608f, 0.002539f, 0.004319f, 0.007850f, 0.007343f, 0.011681f, 0.015713f, 0.018287f, 0.014195f, 0.014487f, 0.015888f, 0.013289f, 0.009330f, 0.010641f, 0.012681f, 0.009806f, 0.004697f, 0.006119f, 0.003653f, 0.002847f, -0.000198f, -0.004843f, -0.004430f, -0.006181f, -0.012726f, -0.017688f, -0.017423f, -0.015275f, -0.019884f, -0.018705f, -0.017074f, -0.015290f, -0.014870f, -0.012298f, -0.009872f, -0.006708f, -0.005604f, -0.003461f, -0.002049f, -0.000519f, 0.000176f, 0.001575f, 0.001586f, 0.002877f, 0.001952f, 0.002304f, - 0.001442f, 0.002027f, 0.000909f, 0.001188f, 0.000244f, 0.000527f} - } -}; -const float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]={ {-0.000036f, -0.000011f, -0.000019f, -0.000013f, -0.000030f, -0.000006f, -0.000048f, -0.000013f, -0.000158f, 0.000107f, -0.000008f, 0.000108f, -0.000022f, 0.000046f, 0.000299f, -0.000037f, -0.000351f, -0.000354f, -0.000113f, -0.000220f, 0.000032f, -0.000180f, -0.000473f, 0.000130f, -0.000116f, -0.000091f, 0.000132f, 0.000034f, -0.000158f, -0.000261f, -0.000326f, 0.000037f, -0.000195f, -0.000130f, 0.000076f, -0.000361f, 0.000321f, 0.000322f, -0.000185f, -0.000033f, -0.000117f, -0.000344f, 0.000036f, -0.000314f, -0.000234f, 0.000223f, -0.000150f, 0.000483f, 0.002034f, -0.000891f, 0.000900f, -0.000388f, 0.000319f, -0.000018f, 0.000469f, -0.000211f, 0.000114f, 0.000197f, 0.000239f, 0.000254f, 0.000445f, -0.000116f, 0.000049f, 0.000816f, 0.000612f, -0.001621f, 0.000319f, -0.000213f, 0.000079f, -0.000556f, 0.000361f, -0.000699f, 0.000689f, 0.000567f, 0.000282f, -0.000096f, -0.000219f, -0.000261f, 0.000489f, 0.000445f, -0.000204f, 0.000096f, 0.000846f, -0.000323f, -0.000018f, -0.000295f, 0.000099f, 0.000124f, -0.000024f, -0.000246f, 0.000397f, 0.000054f, -0.000122f, 0.000295f, 0.008176f, -0.000604f, - 0.001128f, -0.000033f, 0.000349f, 0.000145f, 0.000264f, 0.000174f, 0.000772f, -0.000464f, 0.000318f, -0.000173f, 0.000123f, 0.000418f, 0.000659f, 0.000255f, 0.000118f, -0.000335f, 0.000599f, -0.000456f, 0.000221f, -0.000219f, -0.000656f, 0.000054f, 0.000212f, 0.000010f, -0.000213f, 0.000043f, -0.000237f, 0.000409f, -0.000881f, 0.000189f, -0.000213f, 0.000216f, -0.000020f, -0.001232f, -0.000434f, 0.000110f, 0.000181f, 0.000126f, -0.000223f, -0.000289f, -0.000249f, 0.000158f, 0.000461f, -0.000210f, 0.000197f, 0.004950f, -0.005827f, 0.001178f, -0.001392f, 0.000781f, -0.000898f, 0.000723f, -0.001232f, -0.000360f, -0.000756f, -0.000127f, -0.000628f, 0.000069f, 0.001158f, 0.001681f, 0.000710f, 0.000385f, 0.000041f, 0.000538f, 0.001203f, 0.000882f, -0.000533f, -0.000639f, -0.000862f, -0.000400f, -0.000494f, 0.000062f, -0.000071f, -0.000060f, 0.000034f, 0.000270f, -0.000396f, 0.000533f, -0.000524f, -0.000694f, 0.000269f, 0.000007f, 0.000062f, 0.000167f, -0.000485f, -0.000543f, 0.000179f, -0.000323f, -0.000451f, -0.000068f, 0.000073f, 0.000377f, -0.011298f, 0.002275f, -0.000551f, 0.000305f, - 0.000263f, -0.000929f, -0.000408f, 0.000919f, -0.000129f, 0.000096f, 0.001028f, 0.000346f, -0.000367f, -0.000684f, 0.000722f, 0.000081f, -0.000836f, -0.001203f, -0.001752f, 0.000590f, -0.000769f, 0.000202f, -0.000237f, 0.000351f, -0.000163f, 0.000145f, -0.000902f, -0.000887f, -0.000548f, -0.000222f, -0.000555f, 0.000191f, -0.000260f, 0.000343f, 0.001079f, 0.000204f, 0.000202f, 0.000723f, 0.000211f, 0.000184f, -0.000007f, -0.000117f, -0.000685f, -0.000145f, 0.000179f, -0.000109f, -0.000017f, -0.013514f, 0.005078f, -0.001249f, 0.001642f, -0.000779f, 0.001189f, -0.000632f, -0.000167f, -0.001139f, 0.000905f, -0.001351f, 0.000927f, -0.000220f, 0.001290f, -0.001714f, 0.000467f, 0.001625f, 0.000494f, -0.001344f, -0.000459f, -0.000804f, -0.000317f, 0.000528f, 0.000286f, 0.000394f, -0.000190f, -0.000449f, -0.000630f, -0.000625f, -0.000029f, -0.000719f, -0.000103f, -0.000668f, -0.000456f, -0.001878f, -0.000502f, -0.000254f, 0.000131f, 0.000055f, 0.000684f, 0.000292f, 0.000675f, -0.000056f, 0.000781f, 0.000189f, 0.000097f, 0.000197f, 0.001667f, 0.005870f, -0.001647f, 0.002592f, -0.001609f, 0.000662f, - -0.001734f, 0.001325f, -0.000146f, 0.001446f, -0.000140f, -0.000168f, 0.001420f, -0.000259f, -0.000223f, 0.001241f, -0.000640f, -0.001178f, -0.001870f, 0.001620f, -0.000157f, 0.001102f, 0.000107f, 0.000777f, 0.000362f, -0.001091f, 0.000432f, 0.000415f, -0.000097f, 0.000533f, 0.000820f, -0.001084f, 0.000116f, -0.000052f, -0.000116f, -0.000630f, -0.000300f, -0.000617f, 0.000138f, -0.000143f, 0.000437f, 0.001363f, 0.000028f, 0.000682f, -0.000151f, 0.000117f, -0.000174f, 0.000194f, 0.000533f, -0.000272f, -0.000524f, 0.017769f, -0.004406f, 0.001672f, -0.000869f, 0.001478f, -0.000674f, 0.001130f, -0.000659f, 0.000377f, -0.001752f, 0.000786f, -0.001674f, 0.001248f, -0.000526f, 0.000356f, -0.000502f, 0.001765f, 0.000224f, 0.000431f, -0.000877f, 0.001148f, -0.000126f, -0.000554f, 0.000970f, -0.000784f, -0.001216f, 0.000015f, -0.000395f, 0.000554f, -0.000028f, -0.000194f, -0.000412f, 0.000158f, -0.000062f, 0.000209f, -0.000845f, 0.000178f, -0.000386f, 0.001267f, -0.000263f, 0.000599f, 0.000092f, 0.000501f, 0.000936f, -0.000674f, 0.000027f, 0.000209f, -0.000351f, 0.000740f, -0.000180f, -0.000349f, - 0.001515f, -0.009212f, 0.003660f, -0.002832f, 0.001696f, -0.001403f, 0.000504f, -0.001854f, 0.001230f, -0.000732f, 0.001712f, -0.000175f, 0.000757f, -0.001477f, -0.000612f, -0.000083f, -0.000525f, -0.000493f, 0.001974f, -0.001428f, 0.000267f, 0.000924f, -0.001769f, 0.000473f, 0.000650f, -0.000436f, 0.000634f, 0.000218f, 0.000373f, -0.001126f, -0.000081f, -0.000353f, 0.000721f, -0.000555f, 0.000403f, -0.001331f, -0.000251f, 0.000994f, 0.000495f, 0.000323f, -0.000322f, -0.000191f, -0.001005f, -0.001080f, 0.000614f, 0.000231f, -0.000028f, -0.000150f, -0.000074f, 0.000107f, 0.000117f, -0.000219f, -0.000201f, 0.000144f, 0.000165f, -0.000365f, -0.000273f, -0.000224f, -0.014887f, 0.004915f, -0.002612f, 0.000707f, -0.000217f, 0.000863f, -0.001089f, 0.001237f, -0.000465f, -0.000390f, -0.000119f, 0.000904f, -0.000443f, -0.000668f, 0.000539f, 0.001711f, -0.000203f, 0.000101f, -0.002788f, 0.000273f, 0.000074f, 0.001405f, -0.000418f, -0.000180f, -0.002125f, -0.000706f, 0.000054f, 0.000073f, 0.000776f, 0.001061f, -0.001600f, -0.001461f, 0.000991f, 0.000275f, -0.001651f, -0.001255f, 0.000657f, 0.000397f, - -0.000073f, -0.000016f, -0.000618f, 0.000691f, -0.000177f, 0.000273f, 0.000111f, -0.000846f, -0.000346f, 0.000503f, -0.001333f, -0.000646f, -0.000247f, 0.000320f, -0.000249f, 0.000057f, -0.000654f, -0.000025f, -0.000468f, 0.000081f, -0.014869f, 0.006610f, -0.003621f, 0.002787f, -0.002521f, 0.001282f, -0.002872f, 0.000688f, -0.001866f, 0.002998f, -0.001487f, 0.001073f, -0.000166f, 0.000044f, -0.001346f, -0.000366f, -0.000546f, 0.002717f, -0.000495f, 0.001399f, 0.002200f, 0.001277f, 0.000339f, -0.000267f, 0.000540f, -0.000452f, 0.001238f, 0.001207f, 0.000184f, -0.000569f, 0.000224f, 0.000252f, -0.000799f, -0.000340f, 0.000633f, 0.000914f, -0.000655f, -0.000629f, -0.000665f, 0.000072f, -0.000268f, 0.000407f, -0.000642f, 0.000496f, -0.001017f, 0.000332f, -0.000552f, -0.000009f, 0.000118f, -0.000380f, -0.000548f, -0.000682f, -0.000657f, -0.000856f, 0.000122f, -0.000778f, -0.000388f, 0.000032f, 0.005495f, 0.005712f, -0.002160f, 0.001879f, -0.002367f, 0.000326f, 0.000673f, 0.000028f, -0.000968f, 0.001039f, 0.000239f, 0.002244f, 0.001152f, 0.002539f, -0.000429f, 0.001485f, -0.000448f, 0.000938f, - 0.001318f, -0.000213f, -0.001912f, 0.001759f, -0.000231f, 0.000722f, -0.000456f, -0.000032f, 0.000220f, 0.002159f, 0.000289f, -0.001218f, -0.000440f, 0.000260f, -0.000692f, 0.001622f, 0.000667f, -0.000286f, -0.000467f, -0.000963f, 0.000698f, -0.000944f, 0.000902f, 0.000959f, -0.000766f, 0.000539f, 0.000474f, 0.000236f, -0.000111f, 0.001576f, 0.000953f, 0.001147f, -0.000085f, 0.000116f, 0.000487f, -0.000367f, -0.000172f, -0.000134f, -0.000386f, -0.000033f, 0.000044f, 0.000122f, -0.000326f, -0.000689f, -0.000735f, 0.000127f, 0.000354f, 0.016778f, -0.006038f, 0.002051f, -0.002841f, 0.001880f, -0.001884f, 0.002426f, -0.000880f, 0.000082f, -0.001882f, 0.003661f, -0.000568f, 0.003295f, 0.000170f, 0.000538f, -0.002268f, 0.000765f, 0.003308f, -0.001060f, -0.002854f, 0.000385f, 0.000081f, 0.001276f, -0.002069f, 0.001634f, -0.000056f, 0.000116f, -0.000217f, -0.001989f, -0.000615f, 0.000298f, -0.002396f, 0.000363f, 0.000918f, 0.000760f, -0.000703f, -0.000215f, -0.000130f, 0.001078f, 0.000291f, -0.000215f, -0.000525f, 0.000835f, 0.000552f, 0.002112f, 0.000509f, -0.000343f, 0.001150f, 0.000454f, - -0.000167f, 0.000371f, 0.000862f, 0.000574f, 0.000080f, 0.000120f, -0.000739f, 0.000127f, -0.000114f, 0.000863f, -0.000138f, 0.000328f, -0.000144f, 0.000293f, -0.000065f, 0.000271f, 0.005644f, -0.008118f, 0.004887f, -0.003602f, 0.001536f, 0.000563f, -0.000353f, -0.000294f, 0.000984f, -0.002034f, -0.001286f, -0.001048f, -0.000809f, -0.002787f, 0.001435f, -0.002588f, -0.000087f, -0.002069f, 0.000782f, -0.001555f, -0.001216f, -0.000613f, 0.002383f, 0.000342f, 0.002320f, 0.001219f, 0.001596f, 0.002288f, 0.000138f, -0.000280f, -0.000329f, 0.000651f, 0.001771f, -0.000138f, -0.000107f, -0.001161f, 0.000910f, -0.000135f, -0.000677f, 0.000656f, 0.000562f, 0.001835f, 0.000768f, 0.000868f, -0.001272f, -0.000597f, -0.000052f, -0.000235f, 0.000915f, -0.002611f, 0.000589f, -0.000638f, -0.000417f, -0.000807f, -0.000894f, -0.000306f, -0.000883f, 0.000373f, -0.000610f, -0.000101f, -0.001354f, -0.001353f, 0.000026f, -0.000480f, 0.001130f, -0.017232f, -0.003745f, 0.000817f, -0.003247f, -0.001327f, 0.000166f, -0.000078f, -0.002763f, 0.000824f, -0.002751f, 0.000106f, 0.002262f, -0.000393f, -0.000345f, 0.001251f, - 0.000832f, 0.001273f, 0.000101f, 0.001535f, -0.000810f, 0.000452f, 0.001781f, -0.000097f, -0.000082f, -0.001127f, 0.001697f, -0.001271f, -0.000681f, 0.000459f, 0.000705f, 0.001295f, 0.003961f, -0.001056f, -0.000610f, -0.001673f, 0.000126f, -0.001227f, 0.000329f, -0.000478f, -0.001819f, -0.000095f, 0.002397f, 0.000686f, -0.001565f, -0.000774f, 0.000817f, -0.000948f, -0.001178f, 0.000246f, -0.000539f, 0.000158f, 0.000282f, 0.001509f, 0.000245f, 0.000750f, 0.000425f, -0.001236f, -0.000610f, 0.000804f, 0.000770f, -0.000488f, 0.000473f, -0.000082f, -0.000547f, 0.000032f, -0.021153f, 0.017462f, -0.006102f, 0.005190f, -0.003822f, 0.002924f, -0.001109f, 0.001864f, -0.002028f, 0.001251f, 0.001456f, 0.002110f, -0.001372f, 0.002554f, 0.001261f, 0.004343f, -0.000681f, 0.000370f, -0.002299f, 0.000587f, -0.000808f, -0.001430f, -0.001782f, -0.002042f, -0.001888f, 0.002820f, -0.000130f, 0.003384f, 0.000874f, 0.000626f, -0.000060f, 0.000437f, -0.001495f, 0.000247f, -0.000548f, 0.000711f, 0.001997f, 0.000367f, 0.000655f, 0.000127f, 0.000204f, -0.001513f, -0.000839f, -0.000050f, -0.000122f, 0.000213f, - -0.000470f, -0.001392f, 0.000027f, 0.001514f, -0.000491f, 0.000454f, 0.000431f, -0.001232f, 0.000847f, 0.000378f, 0.000462f, -0.000245f, 0.000134f, -0.000124f, -0.000396f, 0.000122f, 0.001343f, 0.000024f, 0.000079f, 0.012301f, -0.001922f, -0.004003f, -0.001407f, -0.000864f, -0.000665f, -0.003529f, -0.001866f, 0.000951f, 0.000576f, 0.000974f, 0.001222f, -0.002380f, 0.000926f, -0.000488f, 0.000822f, 0.003752f, -0.003842f, 0.001294f, 0.001298f, 0.001003f, -0.001009f, -0.002234f, 0.001699f, 0.000488f, 0.001210f, 0.002303f, -0.000019f, 0.003183f, 0.000257f, 0.001467f, 0.000105f, 0.000987f, -0.000902f, 0.001189f, 0.000855f, 0.001134f, -0.000467f, 0.000361f, -0.000112f, 0.001461f, 0.001812f, -0.002738f, 0.003641f, 0.000288f, 0.001003f, 0.000138f, 0.000618f, 0.000688f, -0.000791f, 0.002174f, 0.001166f, 0.000063f, 0.001992f, 0.000834f, -0.001125f, -0.000113f, -0.000759f, -0.000818f, -0.000620f, 0.000344f, -0.000175f, 0.000104f, -0.000067f, -0.002265f, 0.001138f, -0.000910f, 0.000299f, -0.000322f, -0.000149f, -0.000576f, -0.000337f, 0.009748f, 0.000833f, 0.001970f, -0.002549f, -0.000499f, - -0.006301f, 0.001482f, -0.000323f, -0.004287f, 0.003556f, -0.001994f, 0.000105f, 0.002607f, 0.001158f, 0.001953f, -0.001534f, 0.000853f, -0.002003f, 0.000021f, -0.001717f, 0.000617f, -0.002598f, 0.003673f, 0.002638f, 0.002163f, 0.002514f, 0.000549f, -0.000865f, -0.001610f, 0.000693f, 0.002011f, -0.000020f, 0.001366f, -0.001024f, 0.000266f, 0.001316f, 0.000934f, 0.001182f, 0.000073f, 0.000407f, -0.000165f, -0.000888f, 0.000844f, -0.000623f, 0.000388f, 0.000325f, -0.000893f, 0.001173f, -0.001639f, 0.001427f, -0.000775f, 0.001001f, 0.001558f, -0.001944f, 0.000181f, 0.000195f, -0.000794f, -0.001538f, 0.001057f, -0.002477f, -0.001903f, 0.001147f, 0.000485f, 0.000519f, 0.000465f, 0.001495f, 0.001457f, -0.000560f, 0.000197f, 0.000861f, -0.000362f, -0.000037f, 0.015421f, -0.012801f, 0.004358f, -0.003178f, 0.001139f, 0.004014f, 0.003267f, -0.002137f, 0.003915f, 0.002208f, 0.002371f, -0.001606f, 0.001111f, -0.000815f, 0.004647f, 0.001297f, 0.001323f, 0.001803f, 0.001976f, 0.001252f, 0.001355f, -0.003799f, 0.000624f, -0.006873f, -0.002380f, -0.000631f, -0.003928f, 0.000998f, 0.002129f, - -0.001479f, -0.002124f, -0.002508f, -0.002400f, -0.001281f, 0.001403f, 0.001102f, -0.003489f, -0.004048f, -0.000296f, -0.002062f, 0.001122f, 0.000906f, 0.000402f, -0.000284f, 0.001935f, -0.001002f, 0.000114f, -0.000262f, -0.000843f, -0.002599f, 0.002035f, 0.003432f, -0.000446f, -0.000425f, 0.001628f, -0.002411f, 0.002950f, 0.000760f, -0.001468f, -0.000051f, -0.001362f, -0.000578f, -0.000331f, -0.000984f, -0.000245f, -0.000664f, -0.002002f, 0.000529f, 0.000745f, 0.000685f, 0.000739f, 0.000234f, -0.023798f, 0.002420f, -0.002076f, 0.000928f, 0.002482f, 0.001797f, 0.004917f, -0.001948f, -0.000118f, 0.000444f, 0.005875f, 0.002074f, -0.004512f, -0.002929f, 0.002620f, 0.003497f, -0.000815f, -0.001251f, -0.000046f, 0.001640f, 0.003610f, 0.003669f, -0.000003f, -0.006426f, -0.001824f, -0.000619f, -0.000729f, 0.003808f, -0.001678f, 0.002244f, 0.000264f, -0.000362f, -0.003313f, 0.000315f, 0.002724f, -0.004250f, -0.002473f, -0.000962f, -0.000706f, -0.001990f, -0.001657f, -0.003970f, -0.000696f, -0.002677f, 0.000071f, 0.000637f, 0.002942f, -0.001928f, -0.001256f, 0.000296f, -0.000247f, 0.000498f, -0.002453f, - 0.001026f, 0.000992f, 0.000359f, 0.000184f, -0.001842f, -0.001671f, -0.000908f, -0.000496f, -0.000103f, -0.003186f, 0.000702f, 0.000983f, -0.001348f, -0.002925f, 0.001232f, -0.000103f, -0.001442f, -0.000253f, -0.000647f, -0.000455f, 0.001922f, -0.014046f, 0.014828f, -0.002163f, 0.000902f, 0.003463f, 0.004164f, -0.003205f, 0.001986f, 0.000758f, 0.002559f, 0.001716f, 0.003628f, 0.002027f, -0.002514f, -0.004164f, 0.000553f, 0.004318f, 0.008680f, -0.002150f, -0.002991f, 0.002236f, 0.001384f, -0.001712f, -0.004323f, -0.000922f, -0.000893f, -0.003932f, 0.003371f, 0.004001f, 0.000035f, 0.000892f, -0.000109f, 0.003134f, -0.002513f, -0.007753f, 0.003221f, -0.000977f, 0.002551f, 0.001181f, 0.000084f, -0.001961f, -0.002985f, 0.001996f, 0.002403f, 0.001716f, -0.000368f, -0.000215f, 0.002646f, 0.001442f, 0.000801f, -0.001647f, 0.002225f, 0.001818f, -0.000331f, -0.000642f, -0.001323f, 0.001480f, 0.000031f, -0.003861f, 0.003109f, 0.001811f, -0.000726f, 0.000836f, -0.000490f, 0.000040f, -0.000089f, 0.000865f, 0.000230f, 0.001077f, 0.001830f, 0.000922f, -0.000295f, -0.001182f, -0.000751f, 0.002633f, - 0.001034f, -0.000526f, -0.000839f, -0.000156f, 0.004163f, 0.000150f, -0.003249f, -0.006626f, 0.001572f, -0.000366f, -0.005476f, 0.001821f, -0.001831f, 0.000235f, -0.002091f, -0.001628f, 0.001690f, 0.004129f, 0.000484f, 0.005477f, 0.002466f, -0.002784f, -0.003664f, 0.005996f, -0.002637f, -0.000210f, 0.000509f, -0.005661f, -0.000073f, 0.002970f, -0.003306f, -0.000885f, 0.003749f, 0.000224f, 0.001943f, 0.000044f, 0.002457f, -0.000435f, -0.001721f, -0.000240f, 0.003272f, 0.004449f, -0.001496f, 0.000893f, 0.000742f, 0.002964f, -0.001806f, -0.000323f, 0.000545f, -0.000764f, 0.001896f, 0.000862f, 0.000124f, -0.001024f, 0.001508f, 0.001707f, 0.000053f, 0.000075f, 0.001248f, 0.001999f, -0.002450f, -0.000017f, 0.000635f, 0.001095f, -0.001274f, 0.000992f, 0.000456f, 0.000028f, 0.000660f, -0.000769f, 0.000296f, 0.000793f, 0.001626f, 0.002008f, -0.001665f, 0.000179f, 0.031211f, -0.003055f, 0.000472f, 0.001899f, -0.002852f, -0.004895f, -0.002864f, -0.001255f, -0.005558f, -0.005969f, 0.000409f, -0.005293f, -0.002349f, -0.001564f, -0.001334f, 0.003173f, 0.003714f, 0.001139f, 0.007822f, 0.001377f, - -0.003935f, 0.006724f, -0.000719f, 0.004747f, -0.001573f, -0.000554f, -0.004500f, 0.000118f, 0.003911f, -0.000186f, -0.001961f, -0.000816f, 0.000367f, -0.001042f, -0.000871f, 0.001472f, -0.003589f, 0.001388f, 0.000498f, -0.001738f, -0.003405f, -0.002340f, 0.002565f, 0.002505f, 0.003020f, -0.005208f, 0.002862f, 0.000739f, -0.000154f, 0.000177f, 0.000481f, 0.000511f, 0.000639f, -0.000497f, 0.000246f, 0.002665f, -0.000796f, 0.001012f, 0.001250f, -0.001195f, 0.002234f, 0.002528f, 0.000407f, -0.000293f, 0.002366f, 0.001643f, 0.001296f, 0.001547f, -0.002034f, -0.000995f, 0.000441f, -0.000287f, -0.000321f, 0.000067f, 0.001047f, 0.000220f, -0.001971f, -0.018325f, -0.030764f, 0.011182f, -0.000751f, 0.004671f, -0.005360f, 0.000288f, -0.006214f, -0.000776f, -0.008974f, 0.003924f, 0.004180f, -0.000167f, -0.000675f, -0.000078f, 0.000864f, -0.002120f, -0.007649f, 0.014165f, 0.001004f, -0.001777f, 0.004869f, 0.000895f, -0.002532f, 0.006819f, 0.007561f, -0.003205f, 0.004469f, 0.000899f, -0.000941f, -0.007036f, -0.003852f, 0.005560f, -0.002824f, 0.000815f, -0.000364f, 0.003792f, -0.005750f, -0.006448f, - 0.000933f, 0.000130f, -0.004368f, 0.002681f, 0.000552f, -0.002700f, 0.001948f, -0.002978f, -0.002499f, 0.001231f, 0.001161f, 0.000194f, -0.000798f, -0.001386f, 0.001805f, 0.003056f, 0.000448f, 0.000985f, -0.000862f, -0.000834f, 0.002645f, 0.000350f, 0.000596f, -0.002656f, -0.000617f, -0.001762f, 0.001487f, 0.002240f, 0.000022f, 0.001850f, -0.000025f, 0.002454f, -0.001957f, 0.001248f, -0.000029f, -0.000083f, -0.001850f, 0.000013f, -0.001587f, -0.000177f, -0.009875f, 0.029792f, -0.013192f, 0.002260f, 0.001976f, 0.007496f, -0.000919f, 0.004799f, -0.004681f, 0.000326f, -0.009002f, -0.001691f, 0.000071f, 0.003676f, 0.000629f, 0.003785f, -0.002564f, -0.005443f, 0.000733f, -0.008207f, -0.008668f, 0.000295f, -0.002833f, -0.000116f, 0.000765f, 0.001291f, -0.002134f, -0.001395f, -0.003082f, -0.004657f, 0.001914f, 0.002329f, -0.006107f, -0.002723f, -0.007683f, 0.000174f, -0.003384f, 0.002822f, 0.003256f, -0.006291f, 0.001018f, 0.005294f, 0.004731f, -0.002387f, 0.001733f, -0.001747f, -0.000881f, 0.001537f, -0.002858f, -0.000555f, 0.002688f, 0.002151f, 0.001846f, 0.002311f, 0.001213f, -0.000602f, - 0.001777f, 0.001231f, -0.001311f, -0.000000f, 0.003612f, -0.000309f, -0.001650f, -0.000457f, 0.001494f, -0.001472f, -0.003678f, -0.000195f, -0.001281f, 0.001015f, 0.000789f, -0.000464f, -0.001489f, -0.002146f, -0.002595f, 0.002708f, -0.000879f, -0.000028f, -0.000581f, -0.000110f, -0.000324f, -0.024509f, -0.007538f, 0.002846f, -0.003808f, 0.003586f, -0.001543f, 0.000112f, -0.007168f, -0.008630f, -0.001103f, -0.002971f, 0.003725f, 0.001115f, -0.000979f, -0.017920f, 0.009114f, 0.000717f, 0.007953f, 0.009866f, 0.006854f, -0.009334f, -0.002215f, -0.000837f, -0.002268f, 0.002104f, 0.002315f, -0.000088f, -0.003345f, 0.003880f, -0.006281f, -0.003329f, 0.005733f, 0.000364f, -0.002349f, 0.006683f, 0.000233f, 0.007007f, -0.002312f, -0.001037f, 0.000911f, 0.002244f, -0.004879f, -0.003595f, -0.000787f, 0.003978f, -0.001335f, 0.000705f, -0.001476f, 0.002681f, 0.003364f, 0.000706f, 0.000264f, -0.005690f, -0.000510f, 0.002889f, 0.003251f, -0.001734f, 0.003632f, 0.001235f, -0.000887f, 0.000993f, -0.003504f, -0.001056f, -0.002314f, 0.002441f, 0.000466f, -0.000774f, 0.000951f, -0.006077f, 0.000134f, 0.001239f, - 0.003038f, 0.001038f, -0.001514f, 0.002913f, 0.000367f, -0.003805f, -0.001664f, -0.001919f, -0.000448f, 0.000883f, 0.015647f, 0.005219f, -0.009558f, -0.001705f, -0.004170f, 0.003209f, -0.005807f, 0.004692f, -0.001159f, 0.005472f, 0.003765f, 0.006662f, -0.009167f, 0.010824f, -0.006788f, 0.006305f, -0.003759f, 0.003754f, 0.000620f, 0.003179f, -0.005902f, -0.013369f, 0.005064f, 0.009204f, -0.003463f, 0.003745f, -0.004814f, 0.001057f, -0.003197f, 0.009685f, -0.000195f, -0.001012f, 0.002221f, -0.004778f, -0.003395f, -0.002819f, 0.004168f, -0.000002f, -0.001679f, -0.000040f, -0.000948f, 0.006644f, 0.004378f, -0.002544f, 0.002061f, 0.002503f, -0.002885f, -0.001651f, -0.002610f, -0.005108f, -0.000807f, 0.000064f, -0.000796f, -0.001903f, -0.005251f, -0.000251f, 0.007740f, 0.004221f, -0.003392f, 0.004344f, -0.000583f, -0.000114f, 0.003565f, 0.001884f, -0.003859f, 0.001376f, 0.000720f, 0.003830f, 0.004518f, -0.003718f, 0.001554f, 0.002669f, 0.003421f, -0.000349f, -0.000222f, -0.001308f, -0.000767f, 0.001953f, -0.000446f, 0.003580f, -0.000935f, 0.033353f, -0.027169f, -0.004544f, 0.001372f, -0.000509f, - -0.007502f, 0.002537f, 0.001977f, 0.010663f, -0.003476f, 0.002110f, 0.008757f, 0.000254f, 0.005269f, 0.017313f, -0.003752f, -0.001108f, -0.008996f, -0.008399f, 0.000391f, 0.002881f, -0.003794f, 0.001661f, 0.015251f, 0.008842f, 0.001269f, 0.000598f, 0.001243f, 0.008462f, -0.007040f, -0.003091f, -0.000390f, 0.004377f, -0.000676f, 0.001071f, -0.003572f, 0.001374f, -0.006345f, -0.003705f, -0.004798f, 0.000105f, -0.004298f, 0.001056f, -0.007654f, 0.003559f, -0.015292f, -0.003884f, 0.002094f, 0.002854f, -0.000576f, -0.003494f, 0.001179f, 0.000483f, 0.001828f, -0.004150f, 0.001856f, -0.002416f, -0.002771f, -0.006714f, -0.005035f, -0.001450f, -0.000848f, 0.000366f, 0.001138f, 0.002198f, 0.000404f, 0.001069f, -0.004035f, 0.000008f, -0.004924f, -0.000704f, -0.000348f, 0.000168f, 0.001626f, 0.004944f, -0.003080f, -0.001331f, -0.000335f, -0.002579f, -0.004547f, 0.001053f, -0.021004f, -0.014597f, -0.001011f, -0.002897f, 0.011125f, 0.000437f, 0.002118f, -0.013758f, 0.000791f, 0.001976f, 0.000868f, 0.001142f, 0.008421f, -0.010326f, 0.002275f, -0.002145f, -0.007096f, -0.003401f, 0.006689f, -0.002239f, - 0.005458f, -0.001763f, 0.003192f, 0.001768f, -0.001045f, -0.000742f, 0.003604f, -0.000399f, 0.000015f, -0.008827f, 0.004472f, 0.004069f, 0.003835f, 0.004421f, -0.007933f, -0.008163f, 0.004861f, 0.007230f, -0.008536f, 0.003247f, 0.001292f, 0.007509f, 0.004331f, 0.000795f, 0.005050f, -0.002548f, -0.005134f, -0.000700f, -0.009949f, -0.007222f, -0.000768f, -0.000287f, 0.001632f, -0.004687f, 0.001704f, -0.003742f, -0.012769f, -0.003673f, -0.003417f, -0.012555f, 0.000057f, -0.001980f, -0.001443f, 0.001529f, 0.003968f, -0.003634f, 0.002458f, 0.001693f, -0.005679f, -0.003561f, -0.004359f, -0.000850f, -0.001273f, -0.000030f, -0.001786f, 0.002511f, -0.002752f, -0.000619f, -0.002336f, 0.004242f, -0.004574f, 0.002831f, -0.000706f, -0.000927f, 0.000270f, 0.001262f, -0.001062f, -0.013116f, 0.020068f, -0.010479f, -0.004445f, -0.006116f, 0.001628f, 0.001755f, 0.002998f, -0.001239f, 0.008790f, 0.006621f, -0.006229f, -0.011118f, 0.004225f, -0.004157f, 0.010308f, 0.000868f, 0.004434f, 0.005409f, -0.003824f, -0.003743f, 0.013683f, -0.007786f, -0.001823f, -0.003944f, 0.000541f, -0.001615f, 0.001874f, -0.002289f, - -0.000840f, -0.010493f, 0.009342f, -0.003222f, -0.000756f, 0.010988f, -0.007445f, -0.009462f, 0.000932f, -0.004286f, -0.006160f, -0.000026f, -0.003120f, 0.002499f, -0.013596f, -0.004531f, -0.003278f, -0.000313f, 0.004896f, 0.000076f, 0.001041f, 0.002506f, -0.002264f, 0.001917f, 0.003302f, 0.002794f, 0.003138f, -0.001737f, -0.002814f, -0.002521f, 0.003559f, -0.008263f, -0.001722f, -0.001938f, -0.001957f, 0.005424f, -0.003578f, -0.005780f, 0.005957f, 0.001798f, 0.003623f, 0.006967f, -0.002460f, -0.002313f, 0.003530f, -0.003752f, -0.004666f, -0.004378f, 0.002703f, 0.002004f, -0.002491f, 0.002406f, 0.000897f, 0.002836f, 0.000605f, -0.005224f, 0.003598f, -0.001734f, -0.027456f, 0.013827f, 0.014891f, 0.007660f, 0.006959f, -0.004862f, 0.007072f, -0.011827f, 0.000447f, -0.013906f, -0.001782f, -0.006037f, 0.006540f, -0.006619f, -0.005493f, -0.001458f, -0.010194f, 0.003069f, -0.004635f, 0.004584f, -0.009569f, 0.016094f, -0.005227f, 0.007635f, -0.006543f, 0.000705f, -0.006556f, -0.002052f, 0.003671f, 0.010327f, 0.011553f, -0.005711f, 0.000079f, -0.003350f, -0.006049f, -0.004586f, -0.016413f, -0.000339f, - 0.002787f, -0.015416f, 0.006064f, 0.003105f, 0.004267f, 0.007458f, 0.004696f, 0.002537f, -0.005170f, -0.001646f, -0.005770f, -0.002890f, 0.003127f, -0.012319f, 0.004903f, 0.002475f, 0.000815f, -0.005794f, -0.003427f, 0.003230f, 0.009995f, 0.004248f, 0.002600f, -0.003882f, 0.004179f, 0.000629f, -0.004716f, 0.001326f, -0.003407f, -0.005349f, -0.002797f, -0.001226f, -0.004876f, 0.005616f, 0.003169f, 0.004580f, 0.002530f, -0.004025f, 0.001354f, 0.007005f, -0.001364f, 0.006510f, 0.003439f, 0.002437f, 0.004364f, -0.002228f, -0.002603f, 0.001730f, 0.001140f, 0.022886f, -0.015598f, -0.006494f, -0.001913f, 0.000004f, 0.011184f, -0.002028f, 0.003715f, -0.006327f, 0.003518f, -0.003907f, -0.017942f, -0.012320f, -0.004539f, 0.006526f, -0.000695f, -0.009893f, -0.009259f, -0.019590f, -0.006267f, 0.002577f, 0.002734f, 0.000969f, -0.001949f, -0.001100f, -0.006019f, 0.001653f, 0.002633f, 0.003395f, 0.000840f, -0.000844f, -0.002281f, -0.009321f, -0.002317f, -0.002079f, 0.004790f, -0.000930f, -0.007408f, -0.002889f, 0.002239f, -0.008356f, 0.001514f, -0.008620f, 0.004899f, 0.006824f, -0.006368f, -0.012498f, - -0.002356f, -0.003900f, -0.005675f, 0.000648f, 0.001205f, 0.001279f, 0.003149f, 0.000200f, -0.004858f, 0.007908f, 0.012286f, -0.005855f, 0.005134f, 0.002084f, 0.005856f, -0.008812f, 0.003404f, 0.001159f, 0.003222f, -0.012694f, 0.010128f, 0.001254f, 0.001196f, -0.001517f, -0.007210f, 0.001922f, 0.000981f, 0.001814f, 0.002280f, -0.007904f, -0.004133f, 0.001593f, 0.003783f, -0.001980f, 0.000049f, 0.002975f, 0.001223f, -0.001405f, -0.003749f, 0.002777f, 0.037062f, -0.020719f, 0.001890f, -0.002088f, -0.004422f, -0.015461f, -0.000842f, -0.000862f, 0.012568f, 0.005744f, 0.025398f, -0.010111f, 0.000967f, 0.002773f, 0.006075f, -0.002606f, -0.001185f, 0.010294f, -0.006479f, 0.014819f, 0.008975f, -0.020613f, 0.019628f, 0.006918f, -0.007104f, -0.005126f, -0.007749f, -0.004039f, 0.001392f, 0.000896f, -0.005578f, 0.013046f, 0.001652f, -0.006261f, -0.005561f, 0.001267f, -0.006880f, -0.012119f, 0.000091f, 0.007224f, 0.002849f, 0.008787f, -0.004114f, 0.002730f, 0.009388f, 0.013544f, 0.003163f, -0.014027f, 0.004567f, -0.004518f, -0.007768f, 0.002039f, 0.005891f, 0.003407f, -0.001755f, -0.012729f, - -0.011188f, 0.015698f, -0.002121f, 0.012132f, 0.001340f, -0.004779f, 0.005895f, -0.010520f, -0.004715f, 0.005076f, -0.001417f, 0.010439f, -0.008450f, -0.016616f, -0.004730f, -0.000810f, -0.005172f, -0.003979f, 0.010271f, -0.003454f, 0.001830f, -0.009484f, -0.009343f, 0.004544f, 0.002305f, 0.003830f, -0.004116f, 0.003911f, 0.000318f, -0.002204f, -0.000562f, -0.041733f, -0.027091f, 0.010055f, -0.014039f, 0.004588f, -0.006976f, -0.025220f, -0.018643f, 0.033855f, -0.015468f, 0.015331f, 0.008691f, -0.008742f, 0.007943f, -0.004928f, 0.010708f, 0.011865f, -0.000688f, -0.003269f, 0.020313f, -0.006502f, -0.022801f, 0.000451f, -0.009509f, 0.002412f, 0.002234f, 0.013773f, 0.007328f, 0.002927f, 0.006773f, -0.006085f, 0.000067f, 0.015075f, 0.009654f, -0.002627f, 0.003927f, -0.013167f, -0.020413f, -0.015015f, -0.010492f, -0.002883f, -0.002853f, 0.003869f, -0.001851f, -0.005626f, 0.013183f, 0.003531f, -0.009809f, -0.009151f, -0.002604f, 0.003894f, -0.009885f, 0.004051f, 0.012300f, -0.000168f, 0.004640f, -0.008334f, 0.006582f, 0.004832f, 0.001558f, 0.004927f, -0.007353f, -0.011364f, -0.016064f, 0.008171f, - 0.006394f, 0.000635f, 0.006345f, 0.001272f, -0.007348f, -0.001477f, 0.000608f, -0.012807f, -0.001130f, -0.019940f, -0.010965f, 0.003425f, -0.005073f, 0.003921f, 0.000512f, -0.002567f, -0.002695f, -0.001802f, -0.003692f, 0.003632f, 0.000136f, -0.000511f, -0.049908f, 0.017115f, -0.003898f, -0.003197f, 0.009008f, 0.002276f, 0.005056f, 0.021864f, 0.013072f, 0.016535f, 0.008344f, 0.022549f, -0.003878f, -0.021787f, 0.003292f, -0.002368f, -0.009311f, -0.019288f, -0.008393f, 0.017039f, 0.003903f, -0.001077f, 0.003594f, -0.001194f, 0.000295f, 0.014379f, 0.001868f, 0.005398f, -0.002108f, 0.003635f, 0.014277f, -0.003833f, -0.009521f, 0.007333f, -0.016948f, -0.016970f, -0.010934f, -0.002054f, 0.000513f, 0.007183f, 0.016712f, 0.000367f, -0.005716f, -0.016508f, -0.027197f, -0.009470f, -0.003940f, -0.001512f, -0.000151f, 0.010169f, -0.012451f, 0.022598f, 0.011708f, -0.002014f, 0.006494f, -0.008728f, 0.001635f, 0.000312f, 0.010420f, 0.020215f, 0.013568f, -0.011687f, -0.004950f, 0.003497f, -0.001891f, -0.002377f, 0.001049f, -0.005960f, -0.019449f, -0.001325f, -0.003580f, -0.001244f, 0.003058f, -0.007423f, - -0.002552f, -0.013120f, -0.001408f, 0.002029f, 0.013911f, 0.006993f, 0.001953f, 0.002417f, 0.003513f, 0.000614f, -0.011774f, 0.002608f, -0.002746f, 0.003329f, -0.001441f, -0.001360f, -0.006452f, 0.020193f, 0.020442f, 0.006855f, 0.013634f, 0.009800f, 0.021458f, -0.019114f, 0.022315f, -0.027523f, -0.004938f, 0.025491f, 0.035005f, 0.007208f, -0.002355f, 0.012669f, -0.010919f, -0.012708f, 0.025292f, 0.003981f, -0.004035f, 0.006072f, 0.020312f, -0.005488f, 0.012414f, -0.004221f, -0.005234f, -0.002567f, 0.009107f, -0.023779f, -0.003000f, 0.011380f, -0.005361f, 0.001091f, -0.008483f, 0.004792f, 0.018630f, -0.017403f, 0.005477f, -0.005239f, 0.006022f, -0.009158f, 0.012486f, 0.000955f, 0.004449f, 0.004988f, -0.021053f, 0.010124f, -0.029272f, -0.006056f, 0.016444f, 0.001666f, -0.010513f, 0.018156f, -0.006397f, -0.011142f, 0.013171f, -0.005575f, -0.003874f, -0.002215f, 0.007925f, -0.001327f, 0.002033f, -0.016057f, 0.005711f, 0.001349f, 0.031084f, -0.023560f, -0.010286f, 0.002652f, -0.006104f, 0.006897f, 0.008714f, -0.011407f, 0.021721f, 0.008015f, -0.000169f, 0.003437f, 0.007232f, -0.003679f, - -0.011886f, 0.004519f, -0.006163f, 0.001800f, -0.002470f, 0.005530f, -0.007556f, 0.002130f, 0.000013f, -0.004133f, 0.004953f, -0.001912f, 0.041689f, -0.026158f, 0.000957f, -0.004240f, -0.007018f, 0.000794f, -0.009584f, -0.004098f, -0.030923f, -0.025914f, -0.025781f, 0.008548f, -0.005407f, 0.008444f, -0.005914f, -0.018792f, 0.029824f, 0.020723f, -0.013898f, -0.011733f, -0.016400f, -0.003515f, 0.006368f, 0.009757f, 0.012060f, -0.000950f, 0.009332f, -0.002790f, -0.011826f, -0.014516f, 0.008994f, -0.006671f, 0.027247f, 0.016967f, 0.025133f, 0.003424f, 0.009135f, 0.024642f, 0.017158f, -0.005556f, 0.004520f, -0.001229f, 0.000310f, 0.002495f, -0.011537f, -0.008441f, 0.004453f, -0.014569f, -0.014861f, 0.014258f, 0.016386f, -0.018096f, -0.000576f, 0.031751f, 0.022235f, -0.001290f, -0.010526f, -0.002475f, 0.006631f, 0.005839f, -0.004290f, -0.012039f, 0.014284f, -0.001120f, 0.003524f, 0.010044f, 0.012997f, -0.013740f, 0.005865f, -0.002398f, 0.005430f, -0.021271f, 0.003945f, 0.018864f, -0.018914f, -0.015761f, -0.008028f, 0.008271f, 0.015082f, -0.008681f, 0.008326f, -0.007513f, -0.000684f, 0.000237f, - 0.003196f, 0.005426f, -0.002558f, -0.001368f, 0.003489f, 0.002950f, 0.000113f, -0.000641f, 0.002548f, 0.033810f, 0.013011f, -0.004524f, -0.001100f, 0.010600f, -0.012669f, -0.016472f, 0.014113f, -0.019678f, -0.025479f, 0.006763f, -0.013676f, -0.017623f, -0.009198f, 0.016827f, 0.041281f, 0.017085f, -0.022474f, 0.042285f, 0.004904f, -0.006629f, 0.007617f, -0.024693f, 0.006278f, 0.003411f, -0.017703f, 0.015310f, -0.004763f, 0.003022f, -0.012747f, 0.007160f, -0.011649f, 0.021401f, -0.025347f, -0.009334f, -0.008758f, 0.012075f, 0.013933f, 0.012418f, -0.013472f, 0.003940f, -0.014084f, -0.004041f, 0.007505f, 0.017889f, 0.008257f, -0.008216f, 0.017423f, 0.008889f, 0.014055f, 0.000945f, 0.016384f, -0.007163f, 0.009059f, -0.024941f, 0.028026f, -0.002429f, 0.003903f, -0.007427f, -0.014611f, 0.000753f, 0.009362f, 0.022393f, 0.006584f, -0.026771f, 0.011420f, -0.010826f, 0.022060f, 0.001916f, -0.008420f, 0.004284f, -0.007281f, 0.004610f, -0.015591f, 0.006247f, 0.001489f, 0.001376f, 0.002499f, -0.003035f, 0.001611f, -0.004181f, -0.006533f, 0.008755f, 0.005479f, 0.005058f, -0.011558f, 0.003836f, - -0.006268f, 0.005424f, 0.001218f, -0.000688f, 0.002708f, 0.001325f, -0.069347f, 0.002961f, 0.011498f, 0.027122f, 0.008851f, -0.042694f, 0.056661f, 0.020721f, -0.026081f, 0.009265f, 0.056356f, 0.012603f, -0.013802f, -0.001789f, -0.034297f, 0.017496f, 0.001538f, -0.008824f, 0.004838f, 0.011635f, -0.022271f, 0.011783f, -0.027885f, 0.002862f, -0.025422f, -0.022849f, -0.009782f, 0.010636f, 0.016208f, -0.012525f, 0.014165f, -0.024775f, -0.003633f, 0.027675f, 0.002483f, -0.010078f, -0.003341f, 0.005352f, -0.006507f, -0.018390f, -0.020526f, -0.002775f, -0.009465f, 0.019977f, -0.028215f, 0.029743f, 0.009417f, 0.003758f, -0.010058f, -0.003329f, 0.013713f, -0.011222f, 0.018527f, 0.004566f, 0.016740f, -0.006253f, -0.009835f, -0.029504f, 0.009990f, -0.003019f, -0.030442f, 0.009069f, -0.002134f, 0.018442f, 0.029681f, -0.012615f, 0.006678f, 0.014639f, 0.015567f, 0.003169f, -0.009173f, -0.001814f, -0.036851f, -0.001834f, 0.003262f, 0.009042f, -0.000288f, 0.024672f, 0.005251f, 0.012252f, -0.013989f, -0.009970f, 0.018386f, -0.001925f, -0.003866f, 0.011165f, -0.002707f, -0.003169f, -0.000319f, -0.000642f, - 0.001093f, -0.002027f, 0.010198f, 0.085892f, 0.039158f, 0.008163f, 0.013966f, -0.017580f, -0.011799f, -0.004142f, 0.032466f, -0.022976f, 0.003696f, -0.019112f, -0.052787f, -0.025295f, 0.012121f, -0.013465f, 0.008730f, -0.020894f, -0.001049f, -0.022468f, 0.019310f, -0.022748f, -0.016375f, -0.048964f, -0.009130f, -0.007670f, -0.012868f, 0.025548f, -0.008288f, -0.020415f, 0.006660f, 0.019717f, 0.007311f, 0.006712f, -0.002933f, -0.004108f, -0.012946f, 0.010068f, -0.016668f, -0.004474f, -0.010357f, -0.029184f, 0.004453f, -0.020243f, 0.008188f, 0.002639f, -0.005948f, -0.000633f, -0.021283f, -0.001188f, -0.004843f, 0.031158f, -0.008962f, -0.000715f, 0.012666f, -0.017053f, -0.007579f, 0.031619f, -0.018442f, 0.012099f, 0.000828f, 0.028123f, 0.039933f, -0.002333f, 0.005162f, 0.004000f, 0.013818f, 0.007236f, -0.030464f, 0.002807f, 0.007704f, 0.010761f, -0.013038f, -0.020279f, 0.002132f, 0.005902f, -0.005304f, -0.007706f, -0.032679f, -0.016120f, -0.018796f, 0.001322f, 0.004128f, -0.006158f, -0.008982f, -0.010200f, -0.002505f, -0.005119f, -0.005719f, 0.006811f, -0.003208f, 0.003300f, -0.011759f, 0.000842f, - -0.004543f, -0.008146f, 0.001910f, 0.004789f, -0.006344f}, - {-0.000043f, -0.000012f, -0.000046f, 0.000003f, -0.000030f, 0.000068f, 0.000045f, -0.000216f, 0.000003f, -0.000141f, -0.000168f, 0.000045f, 0.000141f, 0.000137f, 0.000050f, -0.000312f, -0.000191f, 0.000062f, -0.000098f, 0.000016f, 0.000063f, 0.000081f, 0.000131f, -0.000097f, -0.000106f, -0.000197f, -0.000114f, -0.000001f, -0.000448f, -0.000010f, -0.000045f, -0.000131f, 0.000092f, -0.000259f, -0.000226f, -0.000459f, -0.000064f, -0.000406f, -0.000125f, -0.000011f, 0.000322f, 0.000088f, 0.000246f, -0.000128f, 0.000261f, -0.000071f, 0.000051f, 0.000314f, 0.001946f, -0.001525f, 0.000949f, -0.001206f, 0.000614f, -0.000588f, -0.000581f, -0.000350f, -0.000331f, 0.000351f, 0.000403f, -0.001493f, -0.000083f, 0.000219f, -0.000150f, -0.000251f, -0.000875f, -0.000319f, 0.000621f, 0.000943f, 0.000471f, 0.001487f, 0.000301f, -0.000265f, 0.000304f, 0.000257f, -0.000154f, 0.000486f, 0.001056f, -0.000406f, -0.000012f, 0.000451f, -0.000015f, -0.000103f, -0.000759f, -0.000029f, 0.000383f, 0.000308f, 0.000061f, 0.000022f, -0.000253f, 0.000268f, -0.000029f, 0.000033f, 0.000014f, -0.000258f, 0.007057f, -0.000467f, - 0.000608f, -0.000454f, 0.000448f, -0.000544f, 0.000106f, -0.000139f, -0.000132f, 0.000398f, -0.000380f, -0.001290f, 0.000363f, 0.000125f, 0.000390f, 0.000860f, 0.000457f, 0.000304f, -0.000123f, -0.000751f, -0.000262f, 0.000335f, -0.000108f, -0.000128f, 0.000718f, -0.000927f, -0.000298f, -0.000023f, -0.000164f, -0.000235f, 0.000342f, 0.000375f, 0.000467f, 0.000126f, 0.000162f, -0.000202f, 0.000650f, -0.000037f, 0.000497f, 0.000347f, -0.000124f, -0.000074f, 0.000233f, -0.000002f, -0.000147f, -0.000075f, 0.000001f, 0.005198f, -0.004955f, 0.000785f, -0.001335f, 0.000725f, -0.000085f, 0.000525f, -0.000470f, 0.000940f, -0.000392f, 0.000572f, -0.001180f, 0.000053f, -0.000682f, 0.000203f, -0.000104f, -0.000156f, -0.000314f, -0.000865f, -0.000084f, 0.000110f, -0.000425f, 0.000721f, -0.000318f, -0.000512f, -0.000651f, 0.000399f, -0.000415f, 0.001023f, -0.000102f, 0.000010f, 0.000303f, 0.000011f, 0.000026f, -0.000445f, -0.000377f, -0.000098f, 0.000107f, -0.000166f, -0.000434f, 0.000396f, 0.000281f, 0.000705f, -0.000159f, 0.000237f, -0.000094f, 0.000138f, -0.012165f, 0.001445f, -0.000898f, 0.000042f, - -0.000125f, -0.001006f, 0.001121f, -0.000256f, 0.000114f, 0.000483f, 0.000157f, 0.001297f, -0.000048f, -0.000506f, 0.001551f, 0.000637f, 0.001401f, -0.000013f, -0.001822f, -0.001084f, -0.000871f, 0.000774f, -0.000944f, 0.000096f, -0.000334f, -0.000308f, 0.000126f, 0.000301f, -0.000264f, -0.000560f, -0.000415f, 0.000388f, 0.000434f, 0.000818f, -0.000050f, -0.000095f, -0.000037f, 0.000513f, -0.000543f, 0.000161f, 0.000233f, 0.000385f, -0.000440f, 0.000491f, -0.000536f, -0.000080f, 0.000197f, -0.015368f, 0.005593f, -0.002231f, 0.002597f, -0.001774f, 0.001201f, -0.001925f, 0.001122f, -0.001425f, 0.000575f, 0.001089f, 0.000073f, 0.000428f, 0.001002f, -0.000616f, 0.000726f, -0.000795f, -0.000578f, -0.001775f, 0.001653f, -0.001036f, 0.001115f, 0.000098f, 0.000016f, -0.001702f, -0.000040f, 0.000348f, -0.000221f, -0.000041f, -0.000041f, 0.000733f, -0.000083f, -0.000488f, 0.000567f, 0.000181f, -0.000195f, 0.000051f, 0.000049f, 0.000077f, 0.000338f, -0.000449f, 0.001219f, -0.000082f, -0.000722f, -0.000062f, -0.000381f, -0.000028f, 0.000757f, 0.006997f, -0.001505f, 0.002654f, -0.001219f, 0.000911f, - -0.000989f, 0.003308f, -0.000638f, 0.001765f, -0.000204f, -0.000130f, 0.000447f, -0.000002f, -0.002275f, 0.000516f, -0.000206f, -0.001026f, -0.000249f, 0.000038f, -0.002862f, -0.000079f, 0.000235f, 0.000904f, -0.000022f, -0.000544f, -0.000111f, 0.000980f, 0.000180f, -0.000486f, -0.000963f, 0.001472f, -0.000913f, -0.000036f, -0.001361f, -0.000150f, 0.000004f, 0.000237f, -0.000331f, 0.000361f, 0.000589f, -0.000576f, 0.000467f, -0.000022f, 0.000373f, -0.000021f, 0.000675f, -0.000340f, -0.000204f, 0.000608f, 0.000849f, 0.018429f, -0.005417f, 0.000770f, -0.000947f, 0.001181f, -0.000021f, -0.000047f, -0.002517f, 0.001081f, -0.001120f, 0.000729f, 0.000231f, 0.000359f, 0.000766f, 0.001217f, 0.000159f, 0.000404f, -0.002124f, 0.000738f, 0.000737f, -0.001374f, -0.000296f, 0.001386f, 0.000880f, 0.000875f, 0.001972f, 0.001096f, 0.000257f, 0.000505f, -0.000788f, 0.000611f, -0.000216f, 0.001129f, 0.001465f, -0.000238f, 0.000469f, 0.000918f, -0.000435f, 0.000301f, -0.001345f, -0.000377f, 0.001269f, -0.000003f, -0.000957f, -0.000339f, 0.000355f, 0.000945f, -0.000109f, 0.000525f, -0.000048f, -0.000806f, - 0.001333f, -0.009853f, 0.004178f, -0.002859f, 0.001902f, -0.001693f, 0.002241f, -0.001426f, 0.000114f, -0.001211f, -0.001492f, -0.002099f, 0.000169f, -0.001240f, 0.000631f, 0.000725f, 0.001620f, -0.002596f, 0.001633f, -0.000609f, 0.002259f, 0.000507f, -0.000110f, 0.000192f, 0.000195f, -0.000514f, -0.000426f, 0.000354f, -0.001043f, 0.000714f, 0.001288f, -0.001706f, -0.000356f, -0.000090f, 0.000714f, -0.000644f, 0.001833f, -0.001876f, 0.000389f, 0.000008f, 0.000137f, -0.000801f, 0.000152f, -0.000499f, 0.000502f, 0.000084f, 0.000115f, -0.000568f, -0.000078f, -0.001188f, -0.000383f, -0.000060f, 0.000287f, 0.000101f, -0.000414f, -0.001508f, -0.000030f, -0.000301f, -0.015900f, 0.005062f, -0.003243f, -0.000201f, -0.000648f, 0.001012f, -0.002733f, 0.000211f, 0.000888f, 0.000739f, -0.000946f, 0.000562f, -0.001212f, -0.001997f, -0.000772f, 0.000269f, -0.001192f, 0.004238f, 0.000128f, -0.001155f, -0.000372f, -0.001395f, -0.000650f, 0.001306f, 0.000784f, 0.001690f, -0.000141f, 0.000763f, -0.000933f, 0.000406f, -0.000844f, -0.000273f, -0.000490f, 0.000299f, 0.000532f, -0.000249f, -0.000801f, 0.000218f, - 0.000315f, 0.001177f, -0.000193f, -0.000407f, -0.001500f, -0.001213f, -0.000578f, -0.000220f, 0.000292f, 0.000224f, -0.000610f, -0.000235f, 0.000120f, 0.000574f, 0.000296f, 0.000117f, -0.000263f, 0.000583f, -0.000180f, 0.000982f, -0.015305f, 0.007206f, -0.003373f, 0.003225f, -0.001658f, 0.001918f, 0.000957f, 0.000597f, -0.001728f, 0.000230f, -0.000874f, 0.000278f, -0.002268f, 0.000876f, 0.001443f, 0.000481f, -0.002415f, -0.001186f, -0.001208f, -0.001254f, -0.000820f, 0.001760f, 0.000431f, 0.001245f, 0.000996f, -0.000411f, -0.000086f, -0.001816f, 0.002381f, -0.000655f, -0.000227f, 0.000171f, -0.000495f, -0.000707f, -0.000846f, -0.000174f, -0.001917f, 0.000594f, -0.001012f, 0.000793f, 0.000685f, 0.001129f, -0.000288f, 0.000145f, -0.001241f, 0.000497f, 0.000935f, 0.000244f, -0.000194f, 0.000211f, 0.000734f, 0.001103f, 0.000480f, 0.001028f, 0.000057f, 0.000180f, -0.000048f, -0.000203f, 0.004958f, 0.006137f, -0.002797f, 0.001631f, -0.000873f, 0.000602f, -0.000679f, 0.000338f, 0.000525f, 0.002998f, -0.001084f, 0.001227f, 0.002814f, -0.000787f, -0.000133f, -0.000493f, 0.000669f, 0.001448f, - 0.001482f, 0.001935f, 0.000509f, 0.001645f, -0.000442f, -0.000995f, -0.003338f, 0.000685f, -0.000523f, -0.001680f, -0.001208f, -0.000070f, -0.000334f, 0.001058f, -0.000173f, -0.001940f, -0.002008f, 0.000523f, -0.001748f, 0.000220f, 0.001031f, -0.001565f, -0.001060f, -0.000672f, 0.000751f, 0.000689f, -0.000072f, -0.000216f, 0.001141f, 0.000237f, -0.000470f, 0.000456f, -0.001025f, 0.000116f, -0.000550f, -0.000766f, -0.000532f, 0.000781f, -0.000426f, 0.000587f, -0.000469f, -0.000979f, 0.000241f, 0.000528f, -0.000364f, 0.000299f, -0.000452f, 0.017704f, -0.006169f, 0.003338f, -0.002316f, 0.003319f, -0.002348f, 0.002034f, -0.000764f, 0.002066f, 0.000498f, 0.001453f, -0.001699f, 0.001735f, -0.000600f, -0.001447f, -0.000155f, -0.001554f, -0.002481f, -0.001310f, -0.000275f, 0.001253f, -0.001702f, -0.002271f, -0.002785f, -0.000502f, -0.000250f, 0.002220f, 0.001211f, 0.001426f, -0.000983f, 0.001153f, -0.000889f, -0.000869f, -0.000484f, 0.001465f, 0.001259f, 0.000394f, -0.000017f, -0.000054f, 0.000033f, -0.000412f, -0.000240f, 0.001014f, 0.000190f, 0.002497f, -0.000966f, -0.000301f, -0.002090f, 0.001363f, - -0.000552f, -0.000324f, -0.000499f, -0.000129f, 0.000113f, -0.000346f, 0.000371f, -0.000557f, -0.000001f, -0.000790f, -0.000358f, 0.000177f, 0.000805f, -0.000423f, -0.000063f, -0.000284f, 0.004964f, -0.007611f, 0.004445f, -0.002854f, 0.003451f, -0.000050f, 0.002138f, 0.000596f, -0.003342f, -0.001591f, -0.001134f, 0.000396f, 0.000825f, 0.000455f, 0.003751f, -0.002127f, 0.002996f, 0.000512f, 0.000371f, -0.002068f, -0.000456f, 0.002587f, -0.000181f, -0.002219f, 0.002502f, 0.001906f, 0.000415f, -0.001047f, -0.000827f, -0.000231f, -0.000185f, 0.001152f, -0.000580f, 0.000507f, -0.001417f, -0.000324f, 0.000802f, -0.002041f, 0.000767f, -0.000799f, 0.000717f, -0.000600f, -0.000189f, 0.002381f, 0.001024f, 0.001351f, -0.000114f, 0.000552f, 0.000868f, -0.000192f, -0.000669f, -0.001068f, 0.000352f, 0.000471f, 0.000841f, 0.001017f, 0.000232f, -0.000244f, -0.001067f, -0.000493f, -0.001080f, -0.000968f, 0.000115f, 0.000020f, -0.000813f, -0.018833f, -0.003788f, -0.000486f, -0.003126f, -0.001284f, 0.002842f, 0.001225f, -0.000801f, -0.000710f, -0.002242f, -0.001482f, -0.001815f, -0.002038f, -0.001688f, -0.001067f, - -0.001525f, -0.002609f, -0.002228f, 0.000889f, -0.002263f, 0.000784f, -0.003052f, 0.000124f, -0.001249f, -0.000992f, 0.002702f, -0.000250f, -0.001278f, 0.001755f, -0.001917f, 0.001854f, 0.000574f, 0.001955f, 0.001341f, -0.000012f, -0.000898f, 0.002056f, -0.000001f, -0.000284f, 0.001875f, -0.000741f, -0.002487f, -0.002814f, -0.000703f, 0.000973f, 0.000631f, -0.000816f, -0.000056f, -0.000753f, 0.000209f, 0.000071f, 0.000174f, 0.001812f, 0.000728f, -0.001255f, -0.000457f, 0.000264f, 0.001158f, 0.000294f, 0.001715f, 0.000495f, -0.000113f, -0.000831f, -0.000760f, 0.000045f, -0.022175f, 0.019307f, -0.007862f, 0.005361f, -0.005038f, 0.001238f, -0.002474f, 0.003270f, 0.000619f, 0.000385f, -0.001580f, 0.002218f, 0.000450f, -0.003980f, 0.000404f, 0.000594f, -0.002006f, -0.003066f, 0.003034f, 0.003772f, -0.001218f, -0.000988f, 0.000626f, 0.001742f, -0.001022f, 0.003437f, -0.000113f, 0.000876f, -0.002496f, -0.000879f, -0.001490f, 0.002243f, -0.000504f, 0.000494f, 0.000477f, -0.001276f, 0.002160f, 0.002087f, 0.000560f, 0.000722f, 0.002532f, -0.001541f, -0.000421f, -0.000316f, -0.001857f, 0.000405f, - -0.001216f, 0.000460f, -0.000069f, 0.000174f, 0.002064f, -0.000070f, -0.000485f, 0.000470f, 0.000096f, 0.001368f, -0.001275f, 0.000487f, -0.000097f, 0.002672f, -0.000809f, -0.000095f, -0.001063f, -0.000214f, -0.000689f, 0.014776f, -0.001813f, -0.003120f, -0.000763f, 0.001962f, 0.000999f, 0.000871f, -0.000137f, -0.002086f, 0.000482f, 0.001222f, 0.001389f, -0.000968f, -0.000913f, 0.002959f, 0.000993f, -0.002363f, 0.000474f, 0.003837f, -0.004855f, 0.003199f, 0.000364f, 0.004098f, -0.000300f, 0.000209f, 0.000784f, 0.000807f, 0.002145f, -0.001627f, -0.000631f, 0.000787f, 0.001534f, -0.000640f, -0.000066f, 0.000177f, 0.000341f, 0.000957f, -0.002004f, -0.000069f, 0.001133f, 0.000306f, -0.001112f, -0.000361f, 0.002534f, 0.001859f, 0.000876f, -0.000998f, -0.000734f, 0.000713f, -0.000346f, -0.000650f, 0.000433f, -0.000807f, -0.001245f, 0.002606f, 0.001015f, 0.001668f, 0.000251f, 0.001254f, 0.001021f, 0.001113f, 0.000113f, 0.001353f, 0.000673f, 0.000956f, -0.000807f, 0.000165f, 0.000355f, -0.001186f, 0.000409f, -0.000582f, -0.000125f, 0.007031f, 0.002042f, 0.001696f, -0.001031f, -0.000690f, - -0.001911f, -0.001365f, 0.000347f, -0.000749f, -0.000941f, -0.002737f, 0.002330f, 0.001614f, -0.001706f, 0.002915f, -0.002746f, -0.000830f, 0.001222f, -0.002033f, 0.001180f, 0.001893f, 0.002890f, 0.002553f, 0.002431f, 0.001263f, -0.005144f, 0.000002f, -0.001081f, 0.001031f, -0.000498f, 0.002013f, 0.001362f, -0.000662f, -0.001253f, 0.001322f, -0.000921f, 0.003396f, -0.000002f, 0.001124f, 0.003438f, 0.003296f, -0.002489f, 0.000210f, -0.001642f, -0.002958f, -0.000322f, 0.000558f, -0.000380f, -0.000605f, -0.000318f, 0.000258f, -0.001388f, 0.000186f, -0.001619f, -0.000451f, -0.000193f, 0.000433f, 0.000010f, -0.000943f, -0.001009f, 0.002065f, -0.000730f, 0.000319f, 0.000920f, 0.001143f, -0.000632f, -0.000640f, -0.000304f, -0.001627f, -0.001112f, 0.000179f, 0.000353f, 0.016615f, -0.011690f, 0.004256f, -0.004441f, -0.000342f, -0.003103f, 0.002808f, 0.002789f, 0.000900f, 0.000567f, 0.002638f, 0.007251f, -0.006372f, -0.000886f, -0.001656f, -0.002574f, 0.005626f, 0.004236f, -0.000867f, -0.003855f, 0.001563f, -0.003150f, -0.002517f, -0.004413f, 0.000565f, -0.004519f, -0.001492f, 0.002661f, 0.000385f, - -0.001387f, -0.003728f, 0.000006f, -0.000899f, 0.002265f, 0.002084f, 0.000961f, -0.001693f, 0.000253f, -0.000106f, 0.000915f, 0.001799f, -0.001143f, -0.000576f, -0.002023f, 0.003065f, -0.000382f, 0.000453f, 0.002731f, -0.000564f, -0.000252f, 0.001093f, -0.001376f, -0.000142f, 0.001183f, -0.002031f, 0.000459f, -0.000377f, -0.000181f, -0.002118f, 0.001026f, -0.000454f, 0.000179f, 0.000521f, -0.000787f, 0.001389f, -0.001097f, -0.000284f, -0.002271f, 0.000204f, -0.000319f, 0.000942f, 0.000991f, -0.025867f, 0.003587f, 0.000369f, 0.001824f, -0.001981f, -0.003222f, -0.000007f, 0.002173f, 0.003449f, -0.000202f, 0.005241f, 0.002924f, -0.003531f, -0.003149f, 0.002455f, 0.000450f, -0.002512f, -0.004675f, -0.005364f, -0.003435f, -0.003955f, -0.004428f, 0.000815f, 0.001426f, 0.001196f, -0.003273f, -0.003146f, 0.000496f, -0.000817f, -0.000525f, -0.000407f, -0.002609f, 0.002236f, -0.004501f, -0.001673f, -0.000673f, -0.000148f, 0.001460f, 0.000526f, -0.000296f, 0.002103f, -0.000619f, 0.002097f, 0.001212f, -0.001582f, 0.000273f, 0.003397f, -0.001332f, -0.001331f, 0.000105f, 0.001998f, 0.000529f, -0.001384f, - -0.001787f, 0.001674f, 0.000105f, -0.002349f, 0.003272f, 0.003691f, 0.000461f, -0.001025f, 0.000455f, -0.000045f, 0.000796f, 0.001645f, -0.000142f, 0.002175f, 0.001386f, 0.001255f, 0.001097f, 0.000583f, 0.000917f, -0.001052f, -0.000063f, -0.015855f, 0.013538f, -0.004540f, 0.002887f, -0.000084f, 0.002249f, -0.005496f, 0.002116f, -0.003750f, 0.000012f, -0.002542f, 0.005079f, 0.004316f, 0.001630f, 0.000340f, -0.004184f, -0.002785f, -0.000436f, -0.001693f, 0.004822f, -0.003957f, -0.000161f, -0.001967f, 0.007065f, -0.002261f, 0.000630f, -0.000212f, 0.001215f, 0.000542f, 0.001212f, 0.000878f, -0.001171f, 0.000624f, -0.000286f, 0.002455f, 0.000380f, 0.004666f, 0.002427f, -0.001523f, -0.000318f, -0.000596f, 0.000086f, -0.001800f, -0.001260f, -0.000461f, 0.000836f, 0.005691f, 0.000519f, 0.000368f, -0.001566f, 0.002313f, -0.000863f, -0.001233f, 0.000753f, -0.001199f, 0.000704f, -0.001485f, -0.003192f, 0.001570f, 0.001415f, -0.000459f, 0.003337f, 0.000696f, 0.000793f, 0.001185f, -0.000894f, 0.000381f, 0.001083f, -0.002776f, -0.001296f, -0.000228f, -0.001257f, 0.001256f, 0.001972f, -0.000725f, - 0.003385f, 0.002249f, -0.000076f, -0.000900f, -0.000681f, -0.000235f, 0.010345f, -0.000227f, 0.002336f, -0.007022f, -0.001164f, 0.000893f, -0.005666f, 0.000458f, 0.007860f, -0.001364f, 0.000569f, -0.003539f, -0.004851f, 0.001240f, -0.004432f, 0.006928f, -0.004803f, 0.001666f, 0.001641f, 0.003712f, 0.002887f, -0.000752f, -0.004285f, -0.000493f, -0.000392f, 0.002200f, -0.003003f, -0.000578f, -0.000879f, -0.001426f, -0.001016f, 0.002104f, 0.001294f, 0.005619f, 0.001909f, -0.002086f, 0.002332f, -0.001524f, -0.001607f, 0.001731f, 0.004809f, -0.000687f, -0.002479f, -0.002319f, 0.002557f, -0.000059f, -0.003479f, -0.003203f, 0.001645f, 0.001533f, -0.001443f, -0.002647f, -0.004399f, 0.001220f, 0.001640f, 0.001106f, -0.002484f, 0.001870f, 0.001149f, 0.000781f, -0.000882f, -0.000267f, 0.001362f, -0.003301f, -0.000431f, 0.001458f, 0.001715f, -0.000312f, 0.000836f, 0.000072f, 0.035167f, -0.002268f, 0.001391f, 0.003197f, -0.003108f, -0.001340f, -0.001082f, -0.008318f, 0.005543f, -0.000928f, -0.005169f, 0.001084f, -0.002665f, 0.002996f, 0.002365f, 0.003815f, -0.001396f, 0.005188f, 0.004441f, 0.002830f, - -0.004628f, 0.003504f, -0.006339f, -0.003751f, -0.004323f, 0.001671f, -0.003328f, -0.000625f, -0.001153f, -0.004233f, -0.002312f, 0.003522f, -0.002669f, -0.002025f, -0.004043f, 0.001276f, 0.001268f, 0.002979f, -0.001726f, 0.005147f, 0.001265f, 0.005871f, -0.000705f, 0.001045f, 0.001161f, -0.003285f, 0.002296f, 0.006012f, -0.002108f, -0.000195f, 0.001614f, -0.001782f, -0.002464f, 0.001407f, -0.002455f, -0.001335f, -0.003201f, -0.002106f, 0.002325f, 0.002074f, 0.001386f, 0.002229f, 0.002806f, 0.002675f, 0.004035f, 0.000639f, -0.001231f, 0.002082f, 0.001404f, -0.000042f, -0.000430f, 0.000151f, -0.001546f, -0.000343f, 0.000295f, 0.000354f, -0.000111f, -0.015482f, -0.030454f, 0.011425f, 0.000202f, 0.000719f, -0.002961f, -0.003170f, -0.000644f, 0.001144f, -0.001889f, 0.008072f, -0.003605f, -0.006880f, 0.000497f, 0.000533f, -0.000838f, -0.002366f, 0.005517f, 0.001078f, -0.002366f, 0.002623f, -0.004753f, 0.006211f, -0.003352f, -0.001693f, -0.004099f, 0.006923f, -0.002883f, -0.000899f, -0.004064f, -0.001823f, 0.003777f, -0.001641f, 0.004083f, -0.005101f, -0.006002f, 0.000590f, 0.001118f, 0.001143f, - -0.000099f, -0.003051f, 0.000642f, 0.001713f, 0.000865f, 0.003260f, 0.000040f, 0.005060f, 0.000746f, 0.004749f, 0.006151f, 0.001363f, -0.000406f, 0.001244f, -0.003362f, -0.000781f, -0.005653f, -0.004988f, 0.001544f, 0.001606f, 0.001049f, -0.000258f, -0.001578f, -0.000757f, -0.001343f, -0.000681f, -0.001341f, 0.000125f, -0.000080f, 0.001163f, -0.000303f, -0.000569f, -0.001904f, -0.000053f, -0.002220f, -0.000176f, -0.002962f, -0.000298f, -0.001075f, -0.000234f, -0.010204f, 0.029864f, -0.013574f, 0.006251f, -0.002865f, 0.009502f, -0.001476f, -0.004163f, -0.004352f, 0.002514f, -0.001286f, -0.000538f, 0.000231f, 0.001882f, -0.010016f, -0.004870f, -0.002574f, 0.004017f, 0.003365f, 0.005881f, 0.001084f, -0.000860f, -0.000913f, 0.007052f, -0.009109f, 0.005318f, -0.004376f, -0.000881f, -0.004611f, 0.007287f, 0.002924f, -0.004679f, 0.000639f, -0.002030f, 0.000794f, 0.003114f, -0.013082f, -0.005430f, 0.001090f, 0.004642f, -0.002682f, 0.001012f, 0.003371f, -0.001320f, -0.001468f, -0.000433f, 0.005079f, 0.002047f, 0.000879f, 0.000615f, 0.001965f, 0.006002f, -0.003602f, 0.002773f, -0.008348f, -0.001392f, - 0.001893f, 0.004085f, 0.000765f, 0.000639f, 0.000204f, 0.002240f, -0.001627f, 0.000309f, -0.000581f, -0.001910f, -0.001710f, 0.003186f, 0.003047f, -0.001086f, -0.001575f, -0.005136f, -0.002196f, -0.001099f, -0.000928f, 0.003859f, -0.001444f, -0.001351f, -0.002543f, -0.002228f, -0.000184f, -0.026770f, -0.005771f, 0.002626f, -0.006344f, 0.001606f, 0.001174f, 0.003930f, -0.000012f, 0.007486f, 0.004891f, 0.002710f, -0.002043f, -0.003665f, -0.000182f, 0.007919f, -0.006758f, -0.002579f, -0.005235f, -0.000110f, -0.014324f, -0.011296f, 0.000722f, 0.007020f, 0.009665f, 0.002235f, -0.003503f, 0.003299f, -0.003109f, -0.002077f, -0.002113f, 0.000961f, 0.002540f, 0.000623f, 0.003770f, -0.002846f, -0.005086f, 0.004226f, 0.002789f, 0.008870f, -0.001073f, 0.001449f, -0.001258f, 0.007155f, -0.007425f, -0.003730f, -0.001745f, -0.005641f, 0.003609f, -0.002324f, 0.003034f, -0.006043f, 0.006048f, 0.005858f, 0.005404f, -0.002189f, 0.004793f, 0.000263f, 0.001685f, 0.002805f, 0.002015f, -0.002523f, 0.000464f, -0.000781f, -0.000116f, 0.005504f, 0.002078f, -0.002411f, 0.004477f, -0.000716f, -0.003826f, -0.001270f, - -0.000251f, -0.005415f, -0.000189f, 0.002269f, 0.002981f, 0.000477f, -0.000082f, -0.002234f, 0.000853f, 0.001319f, 0.019383f, 0.012592f, -0.004009f, 0.005693f, -0.012941f, 0.009035f, 0.003291f, 0.006792f, -0.002375f, -0.001756f, -0.007100f, -0.003663f, -0.012112f, -0.002128f, -0.009651f, -0.002958f, -0.005961f, -0.006103f, -0.008206f, 0.003203f, -0.011199f, 0.001461f, 0.004783f, -0.002186f, 0.001479f, -0.004846f, -0.000106f, -0.001541f, -0.001635f, -0.006590f, -0.000927f, 0.000712f, -0.000493f, -0.001052f, -0.003475f, -0.003023f, 0.001972f, 0.002105f, 0.002783f, 0.014136f, -0.005767f, -0.000373f, 0.005692f, -0.001421f, -0.002412f, -0.005486f, 0.001628f, 0.004769f, 0.007910f, 0.002639f, 0.006586f, -0.006535f, -0.009806f, 0.000884f, 0.006339f, 0.003531f, -0.005319f, 0.006070f, -0.004668f, 0.002900f, 0.001164f, 0.005513f, 0.003085f, 0.001993f, 0.003707f, -0.003804f, 0.002343f, 0.001953f, 0.001081f, 0.005414f, 0.001198f, 0.004365f, -0.000717f, -0.001815f, 0.000643f, 0.001000f, 0.000859f, 0.005252f, -0.000907f, -0.003035f, -0.000344f, 0.039217f, -0.025353f, -0.001358f, 0.002959f, 0.000809f, - 0.003106f, 0.005391f, -0.001066f, -0.000842f, 0.003028f, -0.004506f, -0.004312f, -0.000688f, 0.003489f, 0.014131f, 0.000606f, 0.004899f, -0.004531f, 0.000310f, -0.013936f, 0.008645f, -0.008425f, -0.011991f, 0.002807f, 0.003402f, -0.004449f, 0.004041f, 0.001694f, 0.009345f, 0.010321f, -0.001684f, -0.003884f, -0.002907f, -0.015403f, -0.008369f, 0.012089f, 0.004017f, 0.004453f, -0.006919f, -0.007127f, 0.002147f, -0.001377f, -0.006106f, 0.005360f, -0.001133f, -0.003835f, -0.004401f, 0.003038f, -0.003938f, -0.002120f, 0.014199f, -0.008629f, 0.002658f, -0.003094f, 0.003319f, -0.003883f, -0.001559f, -0.010564f, 0.001817f, -0.003911f, -0.002597f, 0.008446f, 0.002075f, 0.002356f, 0.005146f, 0.006125f, 0.001861f, 0.004240f, -0.001852f, -0.000502f, -0.006905f, 0.003173f, 0.005766f, -0.001310f, 0.000412f, -0.000637f, -0.001407f, -0.001788f, 0.000679f, -0.001839f, -0.000798f, -0.024263f, -0.011880f, 0.004656f, -0.001378f, 0.008982f, -0.001119f, -0.002192f, -0.006914f, -0.007761f, 0.004310f, -0.008119f, -0.002724f, -0.004547f, -0.000791f, -0.004806f, -0.003254f, -0.003834f, -0.001906f, -0.004786f, -0.009204f, - 0.005494f, -0.018386f, -0.000062f, 0.016711f, 0.004178f, 0.000043f, -0.004399f, 0.001306f, -0.016624f, 0.007048f, 0.004345f, 0.001286f, 0.006190f, 0.009131f, -0.006966f, -0.003610f, -0.007254f, 0.001215f, 0.000398f, -0.004253f, -0.004868f, -0.005420f, -0.003156f, -0.000128f, 0.003817f, 0.000430f, 0.003155f, 0.001836f, 0.000513f, 0.011629f, 0.002906f, -0.001726f, 0.009261f, -0.004331f, -0.010219f, -0.003061f, -0.001072f, -0.001365f, -0.000523f, -0.003461f, -0.000656f, -0.004346f, -0.000924f, -0.004422f, 0.000614f, 0.002574f, -0.004818f, -0.001289f, -0.002585f, 0.000333f, -0.004886f, -0.006276f, -0.002612f, 0.002718f, 0.004692f, 0.001954f, -0.001336f, -0.000047f, 0.001902f, -0.000701f, -0.000890f, -0.002116f, 0.001194f, 0.002517f, 0.000662f, 0.000021f, -0.002652f, -0.014943f, 0.020316f, -0.009913f, -0.004877f, -0.016465f, 0.012981f, -0.004485f, 0.007680f, 0.000539f, 0.000540f, -0.004952f, 0.010194f, -0.002464f, 0.003373f, 0.002570f, -0.004555f, -0.001516f, -0.001421f, -0.008704f, 0.001828f, 0.001647f, -0.006694f, -0.011315f, -0.006978f, -0.010407f, -0.002458f, 0.005727f, 0.003060f, -0.006106f, - -0.006037f, 0.009199f, 0.006390f, -0.007860f, 0.007369f, -0.003893f, 0.006532f, -0.009978f, -0.007827f, -0.007596f, 0.002817f, -0.006724f, 0.004388f, -0.003012f, 0.001917f, -0.001822f, -0.000860f, 0.001618f, 0.007414f, -0.015934f, -0.001909f, 0.003226f, -0.001344f, -0.004820f, -0.011409f, -0.000992f, 0.010699f, 0.000004f, 0.009289f, 0.006788f, 0.002083f, -0.001277f, 0.007125f, -0.006914f, -0.005566f, 0.004494f, -0.001545f, -0.004285f, 0.003090f, 0.000889f, -0.003245f, -0.004932f, 0.008523f, -0.007794f, -0.004121f, -0.004651f, 0.004899f, 0.000262f, -0.003227f, -0.001881f, 0.002621f, -0.007200f, 0.000159f, 0.001952f, 0.001614f, 0.000186f, -0.002317f, -0.003497f, -0.034420f, 0.013091f, 0.005657f, -0.008512f, 0.004485f, -0.009653f, 0.009056f, 0.007844f, 0.006699f, -0.017540f, 0.010917f, 0.018982f, -0.002415f, 0.006582f, 0.000476f, -0.005656f, -0.007477f, 0.020892f, -0.000103f, -0.001631f, -0.011214f, -0.022309f, -0.012020f, 0.001337f, -0.009793f, 0.008498f, -0.014584f, -0.004706f, -0.008546f, 0.002583f, -0.003246f, -0.010809f, 0.002001f, -0.002346f, 0.007381f, -0.002240f, -0.008497f, -0.003126f, - -0.026333f, 0.004938f, -0.000678f, 0.012435f, -0.007354f, -0.008113f, 0.011557f, 0.002593f, 0.002012f, -0.004382f, -0.006961f, 0.002718f, 0.005328f, 0.003961f, -0.001737f, 0.004197f, 0.002300f, 0.000657f, -0.002201f, -0.002310f, -0.008622f, 0.000876f, -0.003361f, -0.004904f, 0.004697f, 0.002770f, 0.012996f, 0.002887f, -0.008583f, -0.008539f, 0.002020f, -0.005466f, -0.004058f, 0.001636f, -0.004179f, -0.000007f, -0.001877f, -0.002350f, 0.002549f, -0.003243f, 0.001351f, -0.000239f, -0.000603f, -0.001088f, -0.001813f, -0.004020f, -0.005025f, -0.001398f, -0.004321f, 0.028467f, -0.011797f, -0.000226f, 0.001203f, 0.011659f, -0.001945f, -0.002758f, 0.007883f, 0.013809f, -0.009986f, -0.011491f, 0.008250f, -0.002064f, 0.007128f, 0.010471f, 0.008685f, 0.007402f, 0.005888f, 0.006968f, 0.027656f, -0.002795f, 0.001689f, 0.005033f, 0.015091f, -0.003626f, -0.006040f, 0.005532f, -0.000788f, -0.005473f, -0.006592f, -0.005870f, -0.000219f, -0.007503f, 0.010329f, 0.015684f, -0.001199f, -0.004435f, 0.006385f, -0.004355f, 0.009297f, 0.006483f, -0.000104f, -0.008760f, 0.005998f, -0.001075f, -0.003061f, 0.000875f, - -0.001477f, 0.018310f, -0.001912f, 0.007722f, -0.004453f, 0.016263f, -0.001878f, 0.001062f, -0.006121f, -0.010582f, 0.008213f, -0.005483f, 0.016541f, 0.003264f, 0.007680f, -0.000373f, -0.000217f, 0.004446f, 0.001017f, 0.011605f, 0.006450f, 0.001752f, 0.005786f, -0.007509f, 0.002405f, 0.005100f, 0.000350f, -0.002453f, 0.009639f, 0.002005f, -0.003494f, -0.003699f, 0.003725f, -0.002284f, -0.000216f, 0.005129f, -0.001953f, 0.002943f, 0.001147f, -0.003552f, 0.037474f, -0.010684f, 0.003609f, -0.003486f, 0.001769f, 0.004905f, 0.012673f, -0.009660f, 0.005376f, -0.000124f, 0.000795f, 0.006894f, -0.005453f, 0.007361f, -0.019563f, -0.008859f, 0.003430f, 0.007395f, 0.005328f, 0.015720f, -0.015446f, 0.002489f, -0.002190f, -0.021308f, 0.009238f, -0.008262f, -0.005273f, -0.003073f, -0.017381f, 0.005728f, 0.006317f, 0.002760f, -0.008988f, -0.015301f, 0.006170f, -0.009475f, 0.008468f, -0.014668f, 0.000373f, -0.017558f, -0.004143f, -0.011727f, -0.010006f, 0.010391f, 0.016357f, 0.002248f, 0.006136f, -0.007470f, 0.003204f, -0.012532f, 0.005506f, -0.008240f, 0.002476f, 0.011968f, 0.006307f, -0.004248f, - 0.007478f, 0.001173f, 0.006508f, -0.005438f, 0.010765f, 0.017991f, 0.001195f, -0.010950f, -0.007311f, -0.004925f, -0.001762f, 0.001100f, 0.008341f, 0.001541f, 0.013401f, -0.000117f, 0.005287f, -0.012025f, -0.001507f, -0.008708f, -0.001375f, -0.001373f, 0.002971f, -0.010925f, 0.001755f, -0.000925f, 0.003536f, 0.001075f, 0.002321f, 0.000990f, 0.001151f, -0.037979f, -0.031839f, 0.013635f, -0.003880f, 0.015834f, -0.001091f, 0.005266f, -0.018968f, -0.017793f, -0.010765f, 0.006114f, -0.014653f, -0.010077f, -0.004238f, 0.003094f, 0.010950f, 0.003984f, -0.021543f, 0.005967f, 0.012264f, -0.030631f, -0.003529f, 0.001605f, -0.032507f, -0.011081f, 0.014680f, -0.030123f, 0.014958f, 0.015713f, 0.000339f, -0.004246f, -0.001093f, -0.007160f, -0.007886f, 0.005543f, 0.006823f, 0.022801f, -0.013262f, -0.006923f, -0.005491f, -0.010416f, 0.000766f, -0.017863f, -0.004337f, 0.001483f, -0.000362f, -0.005738f, -0.000768f, -0.009790f, -0.001862f, 0.005637f, -0.002326f, -0.006346f, 0.007651f, -0.003407f, -0.007197f, -0.010389f, 0.022487f, -0.000829f, 0.013761f, 0.001900f, 0.005258f, 0.014827f, 0.002281f, 0.010132f, - -0.006526f, 0.011247f, 0.008244f, 0.002522f, 0.003079f, 0.002830f, 0.009871f, 0.004525f, 0.001961f, 0.009478f, -0.003831f, 0.001461f, -0.000932f, -0.014568f, 0.007016f, 0.003572f, 0.002163f, -0.008888f, -0.002398f, 0.001753f, 0.003008f, -0.002497f, -0.061728f, 0.023425f, -0.006728f, -0.027629f, -0.006668f, 0.000809f, -0.007073f, 0.010821f, -0.023916f, 0.011676f, -0.001840f, -0.027500f, -0.018941f, 0.003895f, 0.011057f, 0.010474f, 0.007692f, 0.016377f, 0.004735f, 0.026862f, 0.014729f, 0.031466f, 0.004160f, 0.025584f, -0.019531f, -0.015330f, 0.005352f, 0.002338f, -0.015478f, 0.004478f, 0.003376f, -0.002043f, -0.005855f, 0.015219f, 0.002964f, -0.033172f, -0.014774f, 0.011291f, 0.003916f, -0.006935f, 0.009594f, 0.009847f, 0.015198f, 0.003387f, 0.004557f, 0.002962f, 0.004459f, 0.005660f, -0.011507f, 0.001898f, 0.002190f, -0.024488f, 0.011667f, 0.008685f, 0.010508f, -0.016739f, -0.009741f, 0.012456f, 0.000071f, -0.003130f, -0.002493f, -0.007075f, -0.006330f, 0.000188f, -0.008441f, -0.018783f, 0.006490f, 0.020340f, -0.014149f, 0.002120f, -0.008024f, -0.003124f, -0.005838f, -0.001678f, - 0.010451f, 0.002653f, 0.008641f, 0.002663f, -0.009112f, -0.006347f, -0.007395f, -0.004291f, -0.006043f, 0.001618f, -0.003819f, -0.000667f, -0.005785f, 0.002021f, 0.003046f, 0.003477f, -0.001736f, 0.026285f, 0.017878f, 0.012462f, 0.006929f, 0.001136f, -0.005711f, -0.008884f, 0.008473f, -0.025561f, 0.027657f, -0.016602f, 0.004732f, -0.027778f, -0.000698f, 0.026760f, 0.010714f, -0.009039f, 0.017101f, -0.026375f, 0.010998f, 0.005297f, 0.002199f, -0.032555f, -0.009528f, 0.002333f, 0.005623f, 0.021436f, -0.032011f, -0.004054f, -0.010411f, -0.030136f, -0.006347f, 0.007616f, 0.015548f, 0.023141f, 0.018072f, 0.017969f, -0.001174f, -0.011038f, 0.011963f, 0.003825f, -0.006641f, 0.004477f, -0.014541f, 0.023961f, 0.011405f, 0.008311f, -0.012001f, -0.026750f, -0.006899f, 0.000925f, -0.032461f, -0.026215f, -0.006643f, -0.023483f, 0.015615f, 0.006218f, 0.005085f, -0.010653f, -0.011440f, 0.004878f, 0.003649f, 0.002295f, 0.007677f, -0.004278f, 0.005882f, 0.015942f, 0.007440f, 0.002950f, 0.002453f, -0.010014f, -0.008315f, -0.007465f, 0.004883f, -0.002470f, -0.020669f, -0.016508f, -0.001354f, -0.013239f, - -0.011656f, -0.003158f, -0.017004f, -0.010606f, -0.002400f, 0.001220f, -0.002157f, -0.000850f, 0.004467f, -0.003034f, -0.000933f, 0.001216f, 0.029882f, -0.023276f, 0.006286f, -0.003268f, -0.003010f, 0.000577f, 0.008273f, -0.014480f, 0.019433f, -0.005568f, 0.013327f, -0.001257f, -0.010809f, 0.020708f, 0.020387f, 0.014637f, -0.006829f, 0.031365f, 0.011590f, -0.034956f, 0.036100f, 0.003355f, -0.000110f, 0.026160f, 0.001143f, -0.011255f, -0.015157f, 0.025828f, -0.016153f, -0.021448f, 0.020825f, 0.018258f, -0.011864f, -0.028541f, 0.011202f, -0.009738f, 0.003951f, -0.020045f, -0.016533f, -0.006747f, 0.019485f, 0.017621f, 0.002283f, 0.016183f, -0.023393f, 0.007638f, -0.006178f, -0.008593f, 0.011156f, 0.001686f, 0.003396f, -0.032580f, -0.008987f, 0.018317f, -0.023410f, -0.005955f, -0.029361f, -0.005330f, -0.010991f, 0.005079f, -0.007125f, 0.003454f, 0.002982f, -0.000860f, 0.002903f, -0.007693f, -0.026093f, -0.004759f, 0.013242f, -0.001612f, 0.009170f, -0.009867f, -0.022909f, -0.003888f, 0.005000f, 0.014713f, 0.003499f, 0.008134f, -0.000896f, 0.003449f, 0.005444f, 0.003532f, -0.008001f, 0.002205f, - -0.003311f, 0.003625f, -0.006389f, 0.003962f, 0.001479f, 0.000643f, -0.000775f, -0.005270f, -0.002810f, 0.027127f, 0.002149f, -0.007804f, -0.019319f, -0.000590f, -0.009199f, 0.007276f, -0.015946f, 0.010248f, 0.006551f, -0.013934f, -0.014294f, 0.021732f, -0.025478f, -0.000935f, 0.016558f, -0.018428f, 0.006025f, 0.021240f, -0.016782f, 0.014589f, 0.010732f, 0.015609f, -0.025516f, 0.022159f, -0.025622f, 0.007806f, -0.019490f, 0.002506f, -0.009938f, 0.017461f, 0.000596f, 0.010712f, 0.005555f, -0.018187f, -0.011067f, -0.025166f, 0.014779f, -0.017027f, 0.014861f, -0.020488f, -0.023337f, -0.039126f, 0.003886f, 0.020634f, -0.003077f, -0.000543f, 0.006566f, 0.017793f, -0.005947f, 0.004821f, -0.021583f, 0.005564f, 0.028812f, -0.002845f, 0.026128f, 0.034161f, -0.000156f, 0.005768f, 0.007077f, -0.014512f, 0.007631f, -0.017594f, -0.000820f, -0.018061f, -0.017498f, 0.001083f, -0.006588f, -0.029713f, 0.020240f, 0.000527f, 0.015074f, -0.017517f, -0.008899f, -0.006672f, 0.007763f, -0.000125f, -0.004577f, -0.004586f, -0.002931f, -0.001099f, 0.001782f, 0.001963f, -0.003465f, 0.004083f, -0.003985f, -0.003988f, - -0.002175f, 0.005746f, 0.004323f, 0.004782f, -0.002249f, 0.003613f, -0.061291f, 0.015570f, 0.022971f, 0.006388f, -0.026550f, -0.003870f, 0.043249f, -0.049661f, -0.001239f, -0.008357f, -0.032473f, -0.008168f, -0.021997f, 0.008097f, 0.008048f, 0.019029f, 0.007722f, -0.025944f, -0.009198f, 0.018761f, -0.029619f, -0.008387f, -0.031678f, 0.027093f, 0.008144f, 0.021202f, 0.036089f, -0.012663f, -0.007587f, -0.005902f, -0.018042f, 0.017351f, -0.008451f, -0.021472f, -0.024111f, -0.004174f, 0.009285f, -0.000617f, 0.004955f, 0.005948f, 0.014067f, -0.006107f, -0.000631f, 0.010478f, -0.010013f, 0.020488f, 0.023262f, 0.021989f, -0.017736f, 0.002456f, -0.005509f, 0.010565f, 0.043853f, 0.032950f, 0.062765f, 0.005065f, 0.024836f, 0.020158f, -0.009497f, -0.002066f, -0.003249f, -0.005758f, 0.007957f, 0.001946f, 0.022621f, 0.017111f, -0.007618f, -0.002206f, -0.013378f, -0.026228f, 0.010618f, -0.000271f, 0.009037f, -0.001803f, -0.018166f, -0.002553f, 0.002782f, -0.010047f, 0.006192f, -0.006362f, -0.008800f, 0.000370f, -0.008818f, 0.000081f, -0.002418f, -0.002066f, 0.000103f, 0.001480f, -0.005495f, 0.000908f, - 0.000393f, 0.000101f, 0.002256f, 0.095428f, 0.046171f, 0.016613f, 0.014991f, -0.022361f, 0.014845f, -0.018015f, 0.022105f, 0.018151f, 0.017030f, 0.004542f, -0.030910f, -0.017192f, 0.034230f, 0.006121f, -0.001725f, -0.006965f, 0.038286f, -0.040987f, -0.017097f, -0.010117f, -0.002834f, -0.028967f, 0.007195f, -0.025003f, -0.013855f, 0.004397f, -0.015755f, 0.023811f, -0.022500f, -0.009592f, -0.005361f, 0.025434f, -0.041642f, -0.007838f, -0.030935f, -0.000671f, 0.000067f, -0.027140f, 0.004706f, 0.021729f, 0.011881f, -0.000282f, -0.012640f, 0.001375f, 0.013150f, -0.016994f, 0.034827f, 0.047272f, -0.002753f, -0.029028f, -0.027347f, 0.019620f, -0.006784f, -0.006128f, 0.040691f, -0.008390f, 0.013125f, -0.000885f, 0.025661f, -0.004877f, 0.003523f, -0.004659f, -0.015923f, -0.044746f, -0.026676f, -0.003992f, -0.011873f, -0.030768f, -0.020198f, 0.011902f, 0.026317f, -0.001916f, -0.003152f, -0.002548f, -0.003996f, 0.014548f, 0.009252f, 0.002290f, -0.008577f, 0.010282f, -0.005591f, -0.020307f, -0.019491f, 0.002811f, 0.013727f, -0.015770f, 0.010762f, -0.000765f, -0.005944f, -0.005083f, 0.000625f, -0.008690f, - -0.006725f, 0.000675f, -0.002469f, -0.001058f, -0.004056f} -}; -const float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]={ {-0.004498f, 0.002497f, -0.001443f, 0.000619f, -0.000813f, 0.000186f, -0.000598f, -0.000162f, 0.000026f, 0.001200f, -0.000788f, 0.000523f, -0.001278f, 0.000943f, -0.001443f, -0.001961f, -0.001724f, 0.000396f, -0.000185f, 0.000270f, 0.000037f, -0.000892f, 0.000515f, 0.000893f, -0.000505f, 0.000715f, -0.000113f, -0.000312f, -0.000632f, -0.000114f, 0.000186f, 0.000502f, -0.000366f, 0.000751f, -0.000305f, 0.000479f, 0.000699f, -0.000511f, -0.000492f, 0.000032f, -0.000517f, 0.000139f, 0.000013f, -0.000237f, 0.000514f, 0.000084f, -0.000239f, 0.001718f, -0.001776f, -0.000315f, -0.000381f, -0.000400f, -0.000137f, -0.000018f, -0.000346f, -0.000233f, -0.000007f, 0.000084f, -0.000256f, 0.000153f, -0.000558f, -0.000152f, -0.000099f, 0.000343f, -0.001888f, -0.000167f, 0.000378f, -0.000169f, -0.000239f, 0.000174f, 0.000025f, 0.000143f, 0.000854f, -0.000408f, -0.000287f, -0.000452f, -0.000096f, 0.000265f, 0.000378f, -0.000387f, -0.000308f, 0.000471f, -0.000434f, -0.000619f, -0.000080f, -0.000161f, 0.000209f, -0.000177f, -0.000190f, 0.000114f, 0.000183f, -0.000378f, 0.000117f, 0.000157f, -0.006029f, -0.004095f, - -0.001664f, -0.001900f, -0.001062f, -0.000994f, -0.000942f, -0.000426f, -0.001136f, -0.000895f, -0.000391f, -0.000698f, -0.000092f, -0.000251f, -0.000609f, -0.000823f, -0.000922f, -0.000363f, -0.000535f, -0.000929f, -0.000122f, -0.001163f, 0.000003f, -0.000088f, -0.000162f, -0.000704f, -0.000122f, -0.000532f, 0.000004f, -0.000687f, -0.000439f, 0.000237f, -0.000506f, 0.000089f, -0.001174f, -0.000216f, 0.000572f, 0.000351f, -0.000022f, -0.000171f, -0.000338f, 0.000096f, 0.000106f, 0.000544f, -0.000327f, -0.000054f, -0.000169f, -0.007934f, -0.000424f, 0.001012f, -0.000009f, 0.000297f, -0.000047f, 0.000000f, -0.000627f, 0.000669f, 0.000275f, 0.000807f, 0.000589f, 0.001662f, 0.001235f, 0.000087f, -0.000651f, -0.000387f, -0.000147f, 0.000305f, -0.000215f, -0.001481f, -0.001316f, -0.000693f, -0.000196f, 0.000057f, 0.000196f, 0.000266f, -0.000044f, 0.000039f, 0.000171f, -0.000316f, -0.000033f, -0.000049f, -0.000899f, 0.000527f, 0.000229f, -0.000107f, -0.000000f, -0.000354f, -0.000495f, 0.000307f, 0.000130f, -0.000336f, 0.000325f, 0.000262f, 0.000394f, -0.000178f, 0.008893f, 0.006234f, 0.001233f, 0.002409f, - 0.000508f, 0.000792f, 0.001978f, 0.001008f, 0.000321f, 0.001178f, 0.000490f, -0.000528f, -0.000250f, 0.000405f, 0.000695f, -0.001211f, -0.000152f, -0.000730f, 0.001613f, 0.000791f, 0.000420f, 0.000792f, 0.000417f, 0.000407f, 0.000030f, -0.000084f, -0.000384f, 0.000622f, 0.000771f, 0.000642f, 0.000820f, 0.000973f, 0.000596f, 0.001424f, 0.000335f, -0.000086f, 0.000521f, 0.000090f, -0.000237f, -0.000118f, -0.000210f, -0.000287f, 0.000020f, 0.000659f, 0.000172f, 0.000105f, 0.000400f, 0.013276f, 0.005619f, 0.001722f, 0.001533f, 0.001103f, 0.000653f, 0.000233f, 0.000034f, 0.001472f, 0.000277f, 0.000825f, 0.001080f, 0.000598f, -0.000094f, -0.000385f, 0.002300f, -0.000190f, -0.001283f, -0.000707f, 0.000560f, 0.000051f, 0.001224f, 0.000426f, 0.000138f, -0.000209f, -0.000592f, -0.000144f, -0.000279f, 0.000563f, -0.000108f, 0.000245f, 0.000041f, 0.000105f, -0.000311f, 0.000461f, 0.001596f, 0.001037f, 0.001056f, 0.000983f, 0.000783f, 0.000455f, 0.000299f, 0.000203f, 0.000515f, -0.000424f, 0.000310f, -0.000190f, 0.004369f, -0.004604f, -0.001390f, -0.001989f, -0.001717f, -0.000939f, - -0.000275f, 0.000637f, -0.000638f, 0.000065f, -0.001701f, 0.000578f, -0.000618f, -0.001548f, 0.000411f, -0.001108f, -0.001471f, -0.001059f, 0.001411f, 0.001055f, -0.000494f, 0.000533f, -0.000974f, 0.000372f, -0.001774f, 0.000085f, 0.000295f, -0.000310f, -0.000414f, 0.000363f, -0.001404f, -0.000647f, 0.000184f, -0.000501f, -0.000413f, -0.000330f, 0.000117f, 0.000139f, 0.000711f, 0.000031f, 0.001225f, -0.000485f, -0.000334f, -0.000397f, -0.000603f, -0.000200f, -0.000301f, 0.000159f, -0.000520f, -0.000817f, -0.000124f, -0.015760f, -0.007972f, -0.002877f, -0.002233f, -0.002459f, -0.001522f, -0.002128f, -0.001364f, -0.002316f, -0.000407f, -0.001057f, -0.000257f, 0.000086f, -0.000945f, -0.000282f, 0.000160f, -0.000008f, -0.001443f, -0.000985f, -0.000648f, 0.000116f, -0.001949f, 0.000173f, -0.000879f, -0.001763f, 0.000159f, -0.000046f, 0.000130f, -0.000067f, -0.000606f, -0.000495f, 0.000029f, -0.000157f, -0.000013f, -0.000676f, 0.000030f, 0.000151f, 0.000535f, 0.000174f, -0.000668f, 0.000361f, -0.000668f, 0.000432f, -0.001155f, -0.000820f, 0.000184f, -0.000671f, 0.000041f, -0.000271f, -0.000926f, -0.000304f, - -0.009327f, 0.004900f, 0.002036f, 0.000775f, 0.001246f, 0.000249f, 0.000323f, 0.001123f, 0.001224f, 0.000686f, 0.000810f, -0.000612f, -0.000281f, -0.000963f, 0.001175f, 0.000264f, 0.000200f, 0.001639f, 0.000038f, -0.001073f, 0.001915f, -0.001264f, 0.000141f, 0.001611f, -0.000496f, 0.000435f, 0.000192f, -0.000020f, -0.000815f, -0.000174f, 0.000427f, 0.000477f, 0.000064f, -0.000268f, 0.000018f, -0.000547f, 0.001807f, 0.000173f, -0.000042f, -0.000699f, -0.000374f, -0.000445f, -0.000447f, 0.001003f, 0.000931f, -0.000226f, 0.000080f, -0.000044f, 0.000272f, 0.000087f, -0.000075f, -0.000176f, 0.000212f, 0.000166f, -0.000288f, -0.000239f, 0.000039f, 0.000235f, 0.014030f, 0.005938f, 0.001607f, 0.003199f, 0.001882f, 0.000785f, 0.001416f, 0.001190f, 0.000018f, 0.000866f, 0.001406f, 0.000308f, 0.000019f, 0.000698f, 0.001975f, -0.000676f, -0.000343f, -0.001562f, 0.000411f, 0.001774f, 0.000771f, 0.000071f, -0.000992f, -0.000553f, -0.000417f, 0.001870f, 0.000601f, 0.000973f, 0.000567f, -0.000903f, -0.001421f, 0.001621f, 0.000912f, -0.001011f, -0.000461f, 0.001575f, 0.001352f, -0.000077f, - 0.000349f, -0.000174f, 0.000714f, 0.000437f, -0.000138f, 0.000315f, -0.000542f, -0.000269f, 0.000871f, -0.000458f, -0.000331f, 0.000906f, 0.000797f, 0.000427f, 0.000173f, 0.000184f, 0.000210f, 0.000645f, 0.000372f, 0.001021f, 0.016603f, 0.003577f, 0.002787f, 0.001200f, 0.001292f, 0.000518f, 0.001329f, 0.001524f, 0.002480f, 0.001491f, -0.000441f, 0.001919f, -0.000350f, 0.000505f, 0.000455f, 0.001622f, 0.002440f, 0.001541f, -0.000395f, 0.002686f, -0.000490f, -0.000293f, -0.001399f, 0.000371f, -0.000400f, 0.000430f, 0.000751f, -0.000830f, -0.001111f, -0.000483f, 0.000245f, -0.000922f, -0.000276f, 0.000405f, 0.000624f, -0.001079f, -0.000888f, -0.000390f, 0.000373f, -0.000017f, 0.000305f, -0.000397f, 0.000015f, -0.000271f, -0.000338f, 0.000426f, -0.000593f, 0.000580f, -0.000638f, -0.000238f, -0.000480f, 0.000102f, -0.000159f, 0.000654f, 0.000319f, -0.000058f, 0.000931f, 0.000309f, 0.001926f, -0.007360f, -0.002353f, -0.002634f, -0.001687f, 0.000448f, -0.000413f, -0.001584f, 0.000908f, 0.000060f, 0.001115f, -0.000131f, 0.000122f, -0.001727f, -0.001207f, -0.000806f, -0.001243f, 0.000100f, - -0.001323f, -0.002572f, 0.000513f, 0.000294f, -0.001185f, -0.000268f, -0.001075f, 0.000220f, 0.000368f, -0.000217f, -0.002641f, -0.000757f, 0.000172f, -0.000303f, 0.000230f, 0.000703f, -0.001880f, -0.000573f, -0.001174f, 0.000602f, -0.000143f, -0.000110f, 0.001235f, -0.001259f, -0.000082f, 0.000375f, -0.000157f, -0.000422f, 0.000598f, 0.000305f, -0.000747f, -0.000928f, -0.001459f, -0.000234f, -0.001115f, -0.000916f, -0.000476f, -0.000638f, -0.000372f, -0.000185f, -0.000342f, -0.000576f, -0.000756f, -0.000445f, 0.000272f, 0.000500f, -0.000089f, -0.017254f, -0.005829f, -0.003546f, -0.000875f, -0.001846f, -0.000048f, -0.001008f, -0.001260f, -0.001601f, 0.001981f, 0.000025f, -0.000730f, -0.000206f, -0.002842f, -0.001650f, -0.001375f, 0.002316f, -0.001946f, -0.004179f, 0.000367f, 0.000489f, 0.000349f, -0.001551f, -0.000382f, 0.000855f, -0.001889f, -0.000219f, -0.001928f, -0.000604f, 0.001113f, -0.000959f, 0.000290f, 0.002103f, 0.000255f, -0.000461f, -0.000492f, 0.000555f, 0.000682f, 0.000511f, -0.000610f, -0.000139f, 0.000708f, 0.000915f, 0.000588f, 0.000295f, -0.001768f, 0.000318f, -0.000063f, -0.000929f, - -0.000315f, 0.000155f, -0.000219f, -0.000939f, -0.000585f, -0.000974f, -0.000251f, 0.000027f, 0.000157f, -0.000166f, -0.000643f, -0.000142f, -0.000495f, -0.000065f, -0.000531f, -0.000025f, -0.011470f, 0.002683f, 0.000139f, -0.001362f, 0.002020f, -0.001262f, -0.001032f, 0.000551f, -0.001962f, -0.001120f, -0.000441f, 0.000837f, -0.001554f, 0.002118f, 0.000016f, -0.000021f, 0.000944f, 0.001006f, 0.001498f, -0.000128f, 0.002074f, 0.003056f, 0.002154f, 0.000726f, 0.001839f, -0.000571f, 0.001158f, -0.001342f, -0.001433f, -0.000552f, 0.000146f, 0.000951f, -0.000766f, -0.001287f, -0.000741f, 0.000004f, 0.000791f, -0.001243f, 0.000897f, 0.000353f, 0.000686f, -0.000290f, -0.001192f, -0.001536f, -0.001895f, 0.000526f, -0.000981f, 0.000546f, -0.002007f, -0.000538f, 0.000867f, -0.001215f, 0.000182f, -0.000843f, 0.000576f, -0.000246f, 0.000559f, 0.000174f, -0.000376f, 0.000005f, -0.000821f, 0.001527f, 0.000605f, 0.001413f, 0.000568f, 0.007665f, 0.012616f, 0.003680f, 0.003271f, 0.004575f, 0.003684f, 0.000745f, 0.002920f, 0.002627f, 0.001411f, 0.005545f, 0.001308f, 0.000959f, 0.002384f, 0.002236f, - 0.001159f, 0.001005f, 0.000576f, 0.000945f, -0.000718f, 0.002815f, -0.000751f, 0.000297f, -0.000880f, 0.001794f, 0.000085f, -0.000427f, 0.001459f, 0.001770f, 0.000612f, 0.002340f, -0.001638f, -0.002677f, -0.000612f, -0.000127f, 0.000587f, -0.000156f, 0.001166f, -0.001051f, 0.001062f, 0.002360f, 0.001002f, -0.002040f, -0.000429f, 0.001090f, 0.000414f, -0.000982f, 0.001466f, 0.000609f, 0.000869f, 0.000996f, 0.001310f, 0.000463f, -0.000364f, 0.000354f, -0.001181f, -0.000278f, 0.001106f, 0.001044f, -0.000569f, 0.000018f, 0.000273f, -0.000467f, 0.000160f, 0.000835f, 0.029028f, 0.002976f, -0.000266f, 0.001787f, -0.000029f, 0.002472f, 0.000054f, 0.000660f, 0.000340f, 0.002606f, 0.001246f, -0.001082f, 0.000902f, 0.001246f, 0.000697f, -0.001585f, -0.003255f, -0.001511f, -0.001353f, 0.000576f, -0.001989f, -0.000359f, -0.000103f, 0.000535f, 0.003633f, 0.001999f, 0.000705f, 0.001442f, -0.002221f, -0.000142f, -0.001152f, -0.000455f, -0.000902f, 0.001351f, -0.000493f, 0.002264f, -0.001017f, -0.000412f, -0.001138f, -0.000522f, -0.001655f, -0.000785f, 0.000412f, 0.000365f, -0.000062f, 0.000019f, - -0.000896f, 0.000523f, 0.001589f, 0.000127f, -0.000815f, 0.000981f, -0.001356f, 0.000605f, 0.000634f, -0.000135f, -0.000403f, -0.000292f, -0.000035f, -0.000257f, 0.000096f, 0.000940f, -0.000078f, -0.000857f, 0.000207f, -0.008441f, -0.010047f, -0.001867f, -0.000561f, -0.000411f, -0.001599f, -0.000660f, 0.003046f, 0.001804f, 0.000640f, 0.000832f, -0.001333f, -0.000266f, 0.002285f, -0.000843f, 0.003722f, -0.002893f, -0.000793f, 0.003036f, -0.000589f, -0.000341f, -0.001769f, 0.002080f, 0.002297f, 0.000042f, 0.002264f, -0.000827f, 0.001001f, -0.000048f, -0.001274f, -0.000201f, -0.001009f, -0.000421f, -0.000657f, 0.001251f, -0.000928f, -0.000222f, -0.001425f, 0.000959f, -0.000743f, 0.002095f, -0.003317f, 0.001389f, 0.001148f, -0.002003f, 0.000036f, -0.001325f, 0.000349f, -0.001508f, 0.000470f, 0.000624f, -0.001918f, -0.000292f, -0.000703f, -0.002848f, -0.001655f, -0.000793f, -0.001422f, -0.000311f, -0.000246f, 0.000151f, -0.001165f, 0.000159f, -0.002244f, 0.000621f, 0.000265f, -0.000776f, 0.000271f, -0.000774f, -0.000216f, -0.000505f, -0.000243f, -0.007445f, -0.004230f, -0.005782f, -0.002930f, -0.003871f, - -0.000410f, 0.003685f, -0.003853f, 0.002957f, 0.001928f, -0.002140f, 0.004254f, -0.000696f, 0.000846f, -0.002789f, -0.000274f, -0.001256f, -0.000154f, -0.000009f, 0.001065f, 0.000483f, 0.002230f, 0.004206f, -0.001125f, 0.000555f, -0.002003f, -0.002144f, -0.001858f, 0.000399f, 0.001781f, -0.000649f, -0.000595f, -0.000591f, -0.001289f, 0.001439f, -0.000442f, -0.000128f, -0.001262f, -0.001038f, -0.000834f, -0.001351f, -0.000094f, -0.000088f, -0.001099f, 0.000702f, -0.001692f, 0.000601f, -0.000976f, -0.000209f, 0.000637f, -0.001294f, 0.001577f, -0.002746f, -0.000829f, 0.000224f, -0.000789f, -0.001481f, 0.000726f, -0.000432f, -0.001616f, 0.002643f, 0.001528f, 0.000337f, 0.000525f, 0.000505f, 0.000671f, -0.001386f, -0.000874f, 0.000311f, -0.000468f, -0.000971f, 0.001024f, -0.020685f, -0.002340f, 0.001651f, -0.001489f, 0.003411f, 0.001609f, -0.004201f, 0.000592f, 0.000687f, -0.001322f, -0.003520f, -0.001270f, -0.000870f, 0.001028f, 0.000236f, -0.003213f, -0.001240f, -0.001700f, -0.003135f, -0.002599f, -0.006130f, -0.003153f, -0.003587f, -0.004304f, 0.003427f, -0.002274f, 0.001244f, 0.002611f, -0.001882f, - -0.002908f, -0.001148f, -0.000601f, 0.000689f, 0.001970f, 0.001112f, -0.002403f, -0.003037f, 0.002416f, 0.001478f, 0.001918f, 0.002640f, 0.000418f, -0.000024f, 0.001076f, -0.000139f, -0.001138f, 0.000660f, -0.000599f, -0.000416f, 0.001594f, 0.003961f, -0.001282f, -0.001999f, 0.000961f, -0.001278f, -0.000084f, 0.002036f, -0.003892f, -0.000066f, -0.001258f, -0.000225f, -0.000046f, 0.000014f, -0.000430f, 0.000775f, -0.001132f, 0.001416f, 0.001587f, 0.000644f, -0.000053f, -0.000019f, -0.001286f, 0.016567f, 0.014428f, 0.003922f, 0.008770f, 0.002441f, 0.005047f, -0.000808f, -0.000810f, 0.002470f, 0.003315f, 0.001777f, -0.005739f, -0.001887f, 0.003568f, 0.004052f, -0.001495f, -0.001931f, 0.000651f, 0.001697f, 0.001904f, 0.000301f, -0.002987f, -0.006390f, -0.002411f, 0.003515f, -0.000313f, 0.003612f, -0.000854f, -0.001125f, 0.000725f, -0.002959f, -0.001728f, -0.001712f, 0.003292f, -0.004083f, -0.002831f, 0.000759f, 0.000687f, -0.001035f, -0.000130f, -0.001154f, 0.001233f, 0.001701f, 0.001443f, 0.003275f, 0.001895f, 0.000080f, -0.002658f, 0.002529f, -0.000233f, 0.001414f, -0.001297f, 0.000995f, - 0.001986f, -0.000275f, -0.000526f, -0.001211f, -0.001464f, 0.000930f, 0.000208f, 0.001304f, -0.001265f, 0.001094f, 0.002579f, -0.000510f, -0.001403f, 0.001824f, 0.002339f, -0.000914f, 0.001049f, 0.001200f, 0.000943f, 0.002259f, 0.001912f, 0.020130f, 0.003695f, -0.003884f, 0.003213f, 0.002159f, -0.003854f, -0.000817f, 0.001893f, 0.000148f, 0.000573f, -0.000280f, -0.000847f, -0.004176f, -0.004161f, 0.001850f, 0.003831f, 0.004031f, -0.004009f, -0.007998f, 0.001068f, -0.000109f, -0.003270f, -0.004086f, -0.000780f, 0.002059f, -0.001472f, 0.003050f, 0.004826f, -0.001824f, -0.001655f, -0.000651f, -0.000783f, -0.000947f, -0.007530f, 0.003906f, 0.003495f, -0.000135f, 0.002231f, -0.002264f, -0.000782f, -0.002060f, 0.002949f, 0.003220f, 0.000294f, -0.000806f, -0.001239f, 0.001793f, 0.000366f, -0.001054f, -0.001960f, 0.000001f, 0.001526f, -0.002426f, -0.001571f, -0.001324f, 0.000342f, 0.000768f, -0.003118f, 0.001547f, 0.003297f, -0.002755f, -0.000106f, -0.000670f, -0.000543f, -0.000031f, 0.000265f, 0.000179f, -0.000266f, 0.000592f, -0.000980f, -0.001810f, -0.002194f, -0.000946f, -0.000592f, -0.001168f, - -0.002093f, -0.001642f, -0.000476f, 0.001449f, -0.000681f, -0.005544f, -0.003592f, 0.000479f, 0.005016f, -0.005053f, 0.003596f, 0.001585f, 0.000809f, 0.000972f, 0.000889f, 0.003205f, 0.005293f, 0.000096f, 0.001614f, 0.000536f, -0.004501f, -0.004160f, 0.004042f, 0.000496f, -0.004652f, 0.002711f, -0.003969f, 0.000609f, 0.004935f, -0.000363f, -0.001317f, 0.005556f, 0.000897f, 0.000332f, 0.000484f, 0.000116f, 0.000528f, -0.002518f, 0.001500f, 0.002208f, 0.003721f, -0.002990f, -0.001434f, 0.000522f, 0.000536f, -0.001401f, -0.002633f, 0.001642f, -0.000948f, 0.001134f, 0.000649f, -0.000977f, -0.000839f, 0.000325f, 0.001702f, -0.001331f, -0.000544f, -0.000341f, 0.000986f, -0.002743f, -0.001236f, 0.001193f, 0.000286f, -0.000963f, -0.000450f, 0.001073f, -0.001117f, 0.000299f, -0.000749f, -0.000244f, 0.000929f, 0.000210f, 0.000550f, -0.002376f, -0.001634f, 0.000565f, -0.021614f, -0.019799f, -0.004457f, -0.009161f, -0.008090f, -0.004547f, -0.001413f, -0.003408f, -0.004157f, 0.002828f, 0.000721f, -0.000939f, 0.004681f, 0.001748f, 0.005630f, 0.004403f, 0.001229f, 0.001773f, 0.002032f, -0.008658f, - 0.004057f, -0.000653f, -0.001871f, -0.001609f, -0.005168f, -0.001574f, -0.001817f, 0.004946f, -0.001686f, -0.002932f, -0.001505f, 0.000798f, -0.000682f, -0.000972f, 0.001048f, -0.001292f, -0.000887f, 0.003028f, -0.002999f, -0.000248f, -0.000999f, 0.005437f, 0.002112f, 0.002179f, -0.004218f, 0.000330f, 0.003672f, -0.001945f, 0.000843f, 0.000025f, 0.000858f, 0.000029f, 0.000266f, -0.000280f, 0.002322f, -0.000305f, -0.000819f, 0.001728f, -0.001272f, 0.000970f, 0.002016f, -0.000964f, -0.001483f, 0.000640f, 0.000740f, -0.001551f, -0.000685f, -0.002863f, -0.002317f, 0.000750f, -0.000311f, -0.000507f, -0.000103f, 0.000374f, -0.000235f, -0.001820f, -0.000907f, -0.013591f, 0.028623f, 0.017842f, 0.005832f, 0.001671f, 0.002042f, 0.001944f, 0.003285f, 0.002734f, 0.006125f, 0.012000f, 0.000771f, 0.001297f, 0.002714f, 0.002396f, 0.003193f, -0.002332f, 0.011812f, 0.008279f, -0.007697f, 0.005674f, 0.001152f, -0.001329f, 0.002905f, 0.007010f, -0.006559f, -0.001967f, 0.000629f, -0.005592f, -0.003674f, -0.004015f, 0.008146f, -0.000425f, -0.001345f, 0.001004f, 0.000533f, -0.002473f, -0.006383f, 0.004423f, - 0.003752f, -0.001161f, 0.002088f, 0.004538f, -0.002972f, 0.002445f, 0.000348f, -0.001259f, 0.003721f, 0.003041f, 0.000812f, 0.000361f, 0.000460f, 0.002439f, 0.003615f, -0.000027f, -0.000549f, -0.000091f, -0.001028f, 0.002419f, 0.000608f, -0.001058f, -0.001145f, -0.000955f, 0.001971f, 0.000818f, 0.004363f, -0.001342f, 0.001619f, -0.001000f, 0.001158f, -0.001793f, -0.000526f, 0.000477f, -0.000855f, -0.001267f, 0.000202f, 0.000161f, 0.000643f, 0.001110f, 0.030976f, -0.010950f, -0.010656f, 0.004799f, 0.001244f, -0.004102f, -0.003517f, -0.005716f, -0.005565f, -0.004156f, -0.003428f, 0.005073f, 0.001247f, 0.000572f, -0.002851f, -0.002582f, -0.008999f, -0.000056f, -0.003524f, -0.006268f, 0.005240f, 0.003404f, 0.001125f, 0.003161f, 0.000956f, -0.001136f, -0.001949f, -0.000214f, -0.001638f, 0.002580f, 0.004501f, -0.004761f, -0.001679f, 0.000026f, 0.002486f, 0.006118f, 0.001913f, 0.008220f, -0.004177f, 0.002566f, 0.006949f, 0.004019f, -0.003368f, -0.001062f, 0.000871f, -0.001787f, 0.003046f, -0.000501f, 0.000241f, 0.004361f, 0.002490f, 0.000667f, 0.000501f, -0.000146f, -0.001759f, -0.000089f, - 0.000622f, -0.002011f, -0.001023f, 0.001916f, -0.000664f, -0.003780f, -0.000446f, 0.000078f, -0.000547f, -0.003934f, 0.001122f, 0.000770f, 0.001085f, 0.001058f, -0.000704f, -0.001651f, -0.000440f, -0.000848f, 0.003285f, 0.001327f, -0.001122f, 0.000854f, -0.000176f, 0.000641f, 0.000166f, 0.009962f, 0.018836f, 0.007446f, 0.005028f, 0.005949f, -0.001744f, 0.001942f, -0.005405f, 0.009422f, 0.003676f, 0.009053f, 0.002677f, 0.003480f, -0.008239f, 0.010318f, 0.015206f, 0.001984f, 0.009855f, -0.001928f, -0.008021f, -0.007875f, 0.007228f, -0.002276f, 0.005770f, 0.001127f, 0.002307f, -0.004380f, 0.004465f, -0.001496f, -0.001606f, 0.007451f, 0.005129f, -0.003810f, 0.006899f, 0.000844f, 0.001256f, -0.001321f, -0.005214f, 0.001521f, 0.000384f, -0.002825f, -0.003285f, 0.003130f, 0.004289f, 0.001485f, -0.001515f, 0.002104f, 0.000163f, 0.004648f, -0.002756f, -0.000320f, -0.004543f, 0.000613f, 0.004444f, 0.003074f, -0.002064f, 0.000069f, 0.001562f, -0.003949f, -0.000303f, -0.002668f, -0.001534f, 0.000929f, 0.001064f, 0.002801f, -0.003184f, 0.001470f, -0.003663f, 0.000412f, 0.004544f, 0.001688f, - 0.000898f, -0.002784f, 0.000429f, 0.000437f, -0.004737f, -0.001163f, 0.000555f, 0.000904f, 0.001882f, 0.000860f, -0.000024f, -0.022116f, -0.001125f, -0.005058f, 0.006331f, -0.004847f, 0.005221f, 0.000073f, 0.004199f, -0.000657f, 0.003631f, -0.011096f, 0.003309f, -0.001378f, -0.003901f, 0.001850f, -0.004768f, 0.002882f, -0.004815f, -0.002666f, -0.010724f, 0.006052f, 0.012993f, -0.005162f, -0.001653f, -0.001568f, -0.002056f, 0.001879f, 0.002625f, 0.003657f, -0.009536f, 0.002774f, -0.005920f, -0.001804f, -0.000281f, 0.004828f, 0.001921f, -0.002569f, 0.001082f, 0.000953f, 0.003560f, 0.003496f, -0.005946f, -0.002070f, 0.000902f, -0.004463f, -0.003856f, -0.000837f, -0.002746f, 0.001085f, 0.003381f, 0.000349f, 0.000612f, -0.000891f, 0.003153f, 0.008329f, 0.004787f, -0.005279f, 0.001075f, 0.001811f, -0.002537f, 0.002869f, 0.000801f, -0.003418f, -0.000287f, 0.003693f, 0.000432f, 0.003530f, -0.004865f, -0.001245f, 0.002961f, 0.000036f, -0.001583f, -0.003507f, -0.000235f, -0.001911f, 0.002833f, -0.000905f, 0.001778f, -0.000947f, -0.000338f, -0.040541f, -0.015093f, 0.008127f, 0.003050f, -0.005283f, - 0.005838f, 0.004652f, 0.007680f, -0.001920f, -0.003222f, 0.006545f, 0.000385f, -0.004552f, 0.009123f, -0.010193f, -0.013061f, -0.006298f, -0.006959f, 0.004531f, 0.006743f, -0.000234f, 0.001823f, 0.010388f, 0.004723f, -0.010687f, -0.004679f, -0.006604f, 0.002069f, -0.009928f, -0.008475f, -0.000599f, 0.001450f, -0.003845f, -0.004001f, -0.006079f, -0.002997f, -0.005569f, -0.005261f, -0.002095f, 0.000587f, -0.002034f, -0.000191f, -0.003777f, -0.000444f, -0.002909f, -0.006131f, 0.013457f, 0.001229f, 0.003134f, -0.005384f, 0.003518f, -0.000220f, 0.001769f, -0.004295f, -0.000241f, -0.000582f, -0.003744f, -0.002169f, -0.001738f, 0.004535f, 0.003151f, 0.003580f, 0.002083f, 0.002809f, -0.000680f, 0.000184f, -0.003245f, -0.000439f, -0.000210f, -0.000103f, 0.004101f, 0.001277f, 0.002383f, 0.002691f, -0.001931f, -0.004342f, 0.001872f, -0.001575f, -0.000851f, 0.001986f, 0.005275f, -0.000501f, 0.021178f, 0.007834f, 0.017059f, 0.002734f, 0.001127f, -0.006794f, 0.002609f, 0.010275f, 0.003833f, 0.000795f, 0.006858f, -0.006094f, -0.002755f, 0.005644f, -0.004260f, 0.002006f, 0.009828f, 0.003224f, 0.001345f, - 0.003198f, -0.001783f, 0.004343f, -0.003239f, 0.000182f, 0.001682f, 0.000645f, -0.002492f, -0.002629f, 0.001082f, 0.010197f, -0.003252f, 0.002585f, -0.009303f, -0.004907f, 0.004297f, 0.010744f, -0.008163f, 0.000151f, 0.005173f, 0.001381f, 0.001993f, -0.006690f, -0.002329f, -0.005768f, -0.010206f, -0.002614f, -0.005654f, -0.005925f, 0.004910f, 0.002041f, 0.001730f, -0.003421f, -0.002104f, -0.000601f, -0.009792f, -0.000823f, 0.005577f, -0.003800f, 0.004488f, 0.009200f, 0.001445f, 0.006129f, 0.004036f, 0.000448f, -0.001751f, 0.005336f, -0.006538f, -0.000200f, -0.000325f, 0.004271f, 0.002085f, 0.003946f, 0.000223f, 0.004366f, -0.000188f, 0.000999f, 0.000729f, 0.004644f, 0.000115f, 0.000169f, 0.004140f, -0.002063f, 0.002614f, 0.001021f, 0.000773f, -0.001183f, 0.025902f, -0.005789f, -0.007781f, 0.001134f, 0.006061f, 0.004689f, 0.005068f, -0.001567f, 0.005456f, 0.001541f, -0.006189f, -0.012786f, 0.008612f, 0.002149f, 0.006268f, 0.003535f, -0.003233f, 0.001365f, -0.004710f, -0.008404f, 0.008737f, -0.005505f, -0.010160f, 0.000975f, -0.001550f, 0.001153f, -0.000885f, -0.001158f, -0.002476f, - -0.004197f, 0.003174f, 0.006831f, -0.009899f, 0.009705f, -0.008353f, -0.011196f, 0.001219f, 0.002863f, -0.006115f, 0.004821f, -0.000744f, 0.003021f, -0.005245f, -0.002775f, 0.009307f, 0.003650f, 0.009423f, 0.002371f, 0.000848f, 0.002861f, 0.000118f, 0.000260f, 0.005006f, -0.000509f, 0.001004f, -0.004421f, -0.002810f, -0.002651f, 0.003570f, -0.003454f, -0.002732f, 0.005447f, -0.000014f, 0.006110f, 0.001093f, -0.004597f, 0.007557f, 0.005687f, -0.000323f, 0.003682f, -0.003645f, -0.006314f, 0.002551f, -0.002361f, -0.004341f, 0.000312f, 0.004110f, 0.005305f, -0.001877f, 0.001605f, 0.002760f, -0.000431f, 0.001271f, -0.005463f, 0.002223f, 0.001796f, -0.002537f, 0.021640f, 0.026259f, -0.003985f, 0.000114f, -0.013188f, -0.001545f, -0.009610f, -0.007271f, -0.002258f, -0.004986f, 0.007498f, -0.000042f, 0.005828f, -0.012399f, 0.010318f, -0.007825f, 0.010536f, 0.000329f, 0.008377f, -0.003052f, 0.010545f, 0.003408f, -0.004944f, 0.002171f, -0.007405f, 0.004906f, -0.004103f, 0.011774f, 0.003574f, 0.007725f, -0.012869f, -0.007441f, -0.003117f, -0.006588f, -0.002688f, -0.004520f, 0.000474f, 0.015932f, - -0.007327f, 0.007992f, 0.013591f, 0.001881f, 0.006008f, 0.000043f, -0.002978f, -0.006355f, -0.004763f, 0.000637f, -0.003421f, 0.008136f, -0.005237f, 0.003712f, 0.009945f, -0.001336f, -0.000758f, -0.000826f, 0.008145f, 0.008707f, 0.002798f, -0.004091f, -0.003497f, -0.002175f, 0.003478f, -0.008039f, 0.001565f, -0.001467f, -0.002143f, 0.000083f, 0.005348f, 0.000442f, 0.007548f, 0.006824f, 0.001421f, 0.001616f, -0.003193f, -0.000191f, 0.007759f, -0.001021f, 0.000521f, 0.003201f, -0.004043f, 0.000052f, -0.004637f, -0.005146f, 0.000810f, 0.000714f, -0.000959f, -0.020425f, -0.018446f, 0.008261f, -0.002511f, 0.010202f, -0.005832f, -0.004674f, -0.006947f, -0.005559f, -0.002679f, -0.016094f, -0.006001f, 0.006316f, 0.008633f, 0.003680f, -0.011339f, -0.003112f, -0.005474f, 0.004875f, 0.016250f, 0.009228f, 0.003928f, 0.000737f, 0.001180f, 0.000948f, 0.002812f, 0.008537f, 0.000633f, 0.002323f, -0.004850f, 0.000503f, -0.006929f, 0.002803f, 0.003319f, 0.006213f, 0.000750f, -0.004052f, -0.002132f, 0.008159f, -0.003776f, 0.003158f, 0.001613f, 0.003041f, 0.010241f, -0.005588f, -0.008711f, 0.003393f, - 0.007295f, 0.002068f, 0.007292f, 0.008914f, 0.004216f, 0.006223f, 0.002328f, 0.001448f, 0.004807f, 0.014774f, -0.008164f, 0.000133f, 0.002389f, 0.001442f, -0.006334f, -0.000975f, 0.004856f, 0.000063f, -0.005680f, 0.002402f, 0.010612f, -0.008495f, 0.002807f, -0.008036f, 0.004725f, 0.003365f, 0.001300f, 0.000469f, -0.003869f, -0.003695f, 0.007467f, 0.004191f, 0.001520f, -0.002127f, 0.005233f, -0.000592f, 0.000015f, -0.003481f, 0.003858f, 0.001595f, -0.041169f, -0.014506f, -0.000826f, -0.004220f, -0.010078f, 0.006115f, 0.008401f, 0.013904f, 0.004702f, 0.008703f, -0.008079f, -0.017358f, 0.008134f, -0.004181f, 0.000529f, -0.009395f, 0.009237f, -0.005594f, -0.000338f, 0.008389f, -0.023443f, 0.002162f, 0.012337f, -0.022952f, -0.005946f, -0.008204f, 0.001198f, 0.000739f, 0.005681f, -0.006465f, 0.007499f, 0.000942f, -0.011887f, -0.006287f, 0.001507f, -0.001652f, -0.005844f, 0.005106f, 0.014015f, 0.002858f, 0.003940f, -0.002354f, -0.003380f, 0.008005f, 0.001569f, -0.004203f, -0.019920f, -0.003309f, 0.002608f, -0.010267f, 0.004900f, 0.003972f, 0.000894f, -0.007965f, -0.006930f, -0.008485f, - 0.018039f, 0.004637f, -0.002658f, 0.003347f, -0.015187f, 0.001662f, -0.007068f, -0.008344f, 0.008026f, -0.001490f, 0.000179f, -0.005312f, -0.019024f, 0.002440f, 0.005879f, 0.003219f, -0.001320f, 0.011160f, 0.000451f, -0.004875f, -0.000683f, -0.007558f, 0.011779f, 0.006236f, 0.003348f, -0.002077f, 0.000869f, 0.003629f, -0.003412f, 0.001334f, 0.001685f, 0.000494f, 0.043832f, 0.010993f, 0.011346f, 0.009567f, -0.002749f, 0.000347f, 0.045082f, 0.012977f, -0.003674f, 0.027482f, -0.015377f, 0.011453f, 0.002469f, 0.006993f, 0.011302f, -0.003495f, -0.007787f, 0.008461f, -0.001478f, -0.027212f, 0.007021f, 0.007042f, 0.005827f, 0.012940f, 0.008275f, 0.008451f, -0.007587f, 0.001686f, -0.007321f, -0.003861f, 0.008141f, 0.002678f, -0.015794f, -0.009476f, -0.013222f, -0.019804f, -0.002946f, 0.004097f, 0.009767f, 0.008366f, 0.007290f, 0.006051f, -0.002838f, 0.010381f, 0.005864f, -0.012590f, -0.004724f, 0.003387f, 0.009602f, 0.000254f, 0.002155f, 0.016752f, -0.002886f, -0.001384f, -0.004220f, -0.000838f, 0.008638f, -0.007240f, 0.000244f, -0.010253f, -0.009026f, -0.005817f, 0.010838f, 0.014772f, - -0.004147f, 0.001240f, -0.002708f, -0.009088f, -0.006064f, 0.002430f, -0.010453f, -0.002757f, -0.002692f, -0.006784f, 0.018900f, 0.004175f, 0.006420f, 0.005537f, -0.000396f, 0.000095f, 0.003392f, 0.001060f, 0.006054f, 0.003796f, 0.000262f, -0.000516f, 0.044762f, 0.026123f, 0.002092f, 0.016515f, 0.012966f, 0.003449f, 0.019510f, 0.005246f, 0.000133f, -0.006195f, -0.004253f, -0.012785f, -0.033958f, -0.002726f, 0.003516f, -0.011849f, -0.006449f, -0.001503f, 0.024041f, 0.007619f, -0.005993f, 0.000058f, 0.001851f, -0.003601f, 0.010249f, -0.001879f, -0.006001f, -0.004409f, -0.005646f, 0.003586f, -0.008388f, -0.021149f, 0.000669f, -0.011126f, -0.016770f, 0.003145f, 0.007509f, 0.010440f, 0.006172f, 0.009221f, -0.006216f, -0.018240f, -0.011591f, -0.016425f, 0.006569f, 0.015050f, 0.012735f, 0.007932f, 0.015396f, 0.000211f, 0.009694f, 0.020464f, -0.016890f, 0.002902f, -0.007519f, -0.000099f, 0.006127f, 0.005978f, 0.010230f, -0.001083f, -0.020687f, -0.016308f, 0.003667f, -0.004737f, -0.005740f, -0.004159f, -0.004363f, -0.014473f, 0.001463f, 0.009512f, -0.000837f, 0.007205f, -0.004236f, -0.000557f, - -0.000601f, 0.003515f, 0.014389f, 0.009828f, 0.008850f, -0.008372f, 0.000683f, -0.005107f, 0.000792f, -0.013311f, 0.002852f, 0.001991f, 0.001642f, -0.000449f, -0.001391f, -0.003964f, 0.003498f, 0.010933f, -0.022344f, 0.002838f, -0.017126f, 0.007698f, -0.032617f, -0.000805f, -0.010888f, -0.016702f, 0.029931f, 0.017059f, -0.010817f, -0.026903f, -0.006933f, -0.009773f, -0.023684f, 0.018407f, 0.000866f, -0.016231f, -0.006177f, 0.009482f, -0.015547f, -0.010439f, -0.008229f, -0.018226f, -0.007142f, -0.000318f, -0.014921f, -0.013366f, 0.018701f, -0.006985f, -0.006013f, -0.001694f, -0.004348f, 0.016054f, -0.017884f, -0.008251f, 0.003602f, -0.004690f, -0.000168f, -0.003992f, 0.009085f, -0.016789f, 0.005837f, -0.026864f, 0.002579f, -0.007665f, -0.010899f, 0.028263f, 0.002771f, -0.010419f, 0.005218f, 0.005918f, -0.022970f, 0.015832f, -0.004033f, -0.004898f, -0.001905f, 0.009054f, -0.003952f, 0.000408f, -0.011103f, 0.005943f, 0.007210f, 0.012709f, -0.011170f, -0.028155f, 0.019460f, -0.002258f, 0.007917f, 0.009615f, -0.006034f, 0.005541f, 0.014326f, -0.018577f, 0.000785f, -0.006558f, -0.002236f, -0.019289f, - 0.006355f, -0.003020f, 0.000552f, -0.000510f, 0.002325f, -0.003274f, -0.003145f, 0.005270f, -0.005114f, 0.003804f, 0.000889f, -0.003659f, -0.042797f, -0.023422f, 0.005038f, -0.014837f, 0.001545f, -0.010650f, -0.005944f, -0.015746f, -0.011314f, 0.008342f, 0.023594f, 0.025365f, 0.003703f, 0.017976f, -0.012518f, 0.031202f, 0.022418f, -0.017826f, -0.016569f, 0.005390f, 0.004812f, 0.026411f, 0.009194f, 0.017004f, -0.006332f, 0.006971f, -0.003696f, -0.002546f, -0.005841f, 0.024705f, 0.010642f, 0.023673f, 0.020965f, 0.004343f, -0.001559f, -0.010098f, 0.009961f, -0.000974f, -0.021719f, -0.014025f, -0.004379f, -0.010816f, -0.002781f, -0.011125f, -0.010292f, 0.007004f, -0.003335f, -0.006953f, 0.017564f, 0.021315f, -0.012438f, -0.003809f, 0.028425f, 0.011963f, -0.019944f, -0.019059f, -0.007273f, 0.007501f, -0.001233f, -0.003357f, -0.014286f, 0.012029f, 0.003319f, -0.004317f, 0.002957f, 0.003472f, -0.017639f, -0.007401f, 0.001329f, -0.006307f, -0.008730f, -0.008864f, 0.023184f, -0.018195f, -0.016823f, 0.006998f, 0.011740f, 0.017401f, -0.009034f, -0.002571f, 0.001341f, -0.007696f, 0.007895f, -0.001019f, - 0.005849f, -0.004952f, -0.002446f, 0.001808f, 0.002080f, -0.002756f, -0.002909f, -0.000020f, -0.003485f, -0.016266f, -0.023662f, -0.020495f, -0.000084f, -0.016146f, -0.020566f, 0.005238f, -0.001690f, -0.028860f, 0.020635f, 0.003594f, -0.001671f, 0.010174f, 0.031758f, 0.030212f, 0.013129f, -0.037127f, 0.013842f, 0.009779f, -0.036250f, -0.000560f, -0.017465f, -0.008566f, 0.018778f, -0.022019f, 0.012826f, -0.000051f, -0.003712f, -0.007899f, 0.003839f, -0.001872f, 0.006359f, -0.004273f, -0.019388f, 0.018848f, 0.009003f, 0.022583f, -0.002294f, -0.007664f, -0.010880f, 0.009123f, -0.009800f, 0.026682f, 0.005685f, 0.016014f, -0.020760f, 0.016549f, 0.000702f, 0.005838f, -0.013457f, 0.004508f, -0.015994f, -0.002564f, -0.016409f, 0.006703f, 0.011443f, -0.021895f, 0.000941f, -0.018044f, 0.008489f, 0.010616f, 0.010419f, -0.001445f, -0.030853f, 0.000039f, 0.008213f, -0.002685f, 0.013789f, -0.029589f, 0.007634f, -0.012321f, 0.004020f, -0.010443f, 0.002202f, 0.007626f, -0.003278f, -0.000128f, -0.003166f, -0.003861f, 0.001232f, -0.007986f, 0.010072f, 0.002242f, -0.000204f, -0.012721f, -0.001127f, 0.001321f, - -0.000860f, 0.005314f, -0.005433f, 0.001205f, -0.000530f, -0.002818f, 0.044466f, 0.053939f, 0.022562f, 0.018807f, -0.031097f, 0.029911f, 0.043427f, -0.047516f, 0.005686f, 0.030817f, 0.005365f, -0.056675f, -0.005658f, -0.030767f, 0.009932f, 0.011272f, -0.014326f, -0.005609f, 0.010335f, -0.026024f, -0.002078f, -0.010197f, -0.012786f, 0.005076f, -0.019737f, 0.021259f, 0.015155f, 0.027494f, -0.013621f, 0.004492f, -0.002970f, -0.011217f, 0.034715f, -0.000689f, -0.015980f, -0.007557f, 0.007499f, -0.007488f, -0.009094f, -0.010679f, 0.017658f, 0.006548f, 0.024549f, -0.001755f, 0.008998f, 0.032210f, -0.020452f, 0.004260f, -0.013890f, 0.025552f, -0.010053f, 0.011942f, 0.005066f, -0.001043f, -0.009699f, -0.018241f, -0.012328f, 0.005108f, 0.023099f, -0.021773f, 0.019487f, 0.023030f, 0.011579f, 0.026918f, -0.013182f, -0.010752f, 0.017543f, -0.003077f, -0.003280f, -0.024899f, -0.001588f, -0.020551f, 0.004200f, 0.025946f, 0.012732f, 0.006502f, 0.011896f, 0.007045f, -0.011184f, -0.005082f, -0.019519f, 0.022007f, 0.000906f, -0.008817f, 0.005809f, 0.001933f, -0.010270f, 0.005306f, -0.001490f, 0.006268f, - -0.001081f, 0.009539f, 0.004570f, -0.020755f, -0.070541f, -0.029626f, -0.050720f, -0.027433f, -0.021674f, 0.011671f, -0.032556f, -0.033326f, -0.015911f, -0.044524f, -0.014452f, 0.033482f, -0.001014f, 0.001273f, -0.009057f, -0.007935f, -0.004197f, 0.002988f, -0.000535f, -0.029843f, -0.004724f, -0.005946f, 0.043177f, -0.005663f, 0.038390f, 0.003046f, -0.010322f, 0.009916f, 0.031607f, -0.001710f, 0.000330f, -0.012794f, -0.003714f, -0.013425f, 0.007515f, -0.005714f, -0.011357f, 0.005665f, -0.015343f, 0.012400f, 0.012668f, 0.002384f, 0.027677f, -0.012603f, 0.014108f, -0.011787f, 0.015570f, 0.010459f, 0.029159f, 0.003919f, -0.011882f, 0.015606f, -0.001998f, -0.009840f, 0.037033f, -0.002833f, -0.002234f, 0.021261f, 0.006579f, 0.028649f, -0.022369f, -0.021900f, -0.003326f, -0.009526f, -0.003010f, -0.035388f, -0.008032f, 0.012189f, -0.004793f, -0.015267f, -0.024849f, 0.001620f, 0.007596f, -0.012489f, -0.011902f, -0.021669f, -0.007699f, 0.009124f, 0.009470f, 0.019083f, -0.003070f, -0.001814f, -0.000682f, 0.006336f, 0.007641f, 0.001251f, 0.012120f, 0.003293f, 0.001303f, -0.001670f, -0.001156f, 0.008641f, - -0.003709f, 0.008541f, 0.009661f, -0.000451f, 0.002867f}, - {-0.005166f, 0.002777f, -0.001458f, 0.001697f, -0.001015f, 0.001427f, -0.003001f, 0.000132f, -0.000123f, -0.000344f, 0.000687f, 0.001488f, -0.000057f, -0.000145f, -0.001647f, -0.000658f, 0.000702f, 0.000404f, -0.000199f, 0.000646f, -0.000205f, 0.000225f, -0.000746f, -0.000506f, -0.000510f, -0.000173f, 0.000065f, -0.000381f, -0.000271f, 0.000876f, -0.000517f, 0.000533f, -0.000509f, -0.000087f, -0.000399f, 0.000489f, 0.000176f, 0.000403f, 0.000686f, 0.000866f, 0.000322f, 0.000234f, -0.000082f, 0.000097f, 0.000130f, -0.000180f, 0.000167f, 0.001825f, -0.002088f, -0.000278f, -0.000385f, -0.000517f, 0.000336f, -0.001035f, 0.000350f, -0.000023f, 0.000470f, 0.000415f, -0.000824f, -0.000291f, 0.001252f, -0.000130f, 0.000266f, -0.000232f, 0.000543f, 0.001151f, 0.001328f, 0.000227f, 0.000571f, -0.000019f, -0.001052f, -0.000031f, 0.000112f, -0.000227f, 0.000002f, 0.000579f, -0.000605f, -0.000810f, 0.000351f, -0.000391f, -0.000364f, -0.000568f, -0.000028f, 0.000598f, 0.000148f, -0.000177f, -0.000219f, -0.000238f, -0.000006f, 0.000133f, -0.000323f, 0.000118f, -0.000368f, 0.000221f, -0.005242f, -0.003704f, - -0.001828f, -0.001355f, -0.001061f, -0.001067f, -0.000385f, -0.000786f, -0.000260f, -0.000491f, -0.001307f, 0.000258f, 0.000648f, -0.000100f, 0.000364f, -0.000243f, -0.000685f, -0.000667f, -0.001028f, -0.000341f, 0.000230f, 0.000035f, -0.000585f, 0.000389f, -0.000705f, -0.000676f, 0.000432f, 0.000003f, 0.000007f, 0.000362f, 0.000391f, 0.000110f, -0.000173f, -0.000200f, -0.000284f, 0.000140f, 0.000055f, -0.000355f, 0.000175f, -0.000709f, -0.000323f, -0.000176f, -0.000091f, -0.000506f, -0.000120f, -0.000187f, -0.000029f, -0.007463f, -0.000969f, 0.000546f, 0.000141f, 0.000514f, 0.000089f, -0.000437f, 0.000300f, -0.000343f, -0.000320f, -0.000694f, -0.000532f, 0.000243f, -0.000179f, 0.000447f, -0.000427f, -0.000019f, -0.000412f, 0.000113f, 0.000785f, -0.000224f, 0.000592f, 0.000005f, -0.000486f, -0.000130f, 0.000715f, 0.000318f, 0.000476f, 0.000479f, -0.000682f, 0.000455f, -0.000260f, -0.000084f, -0.000354f, -0.000210f, 0.000239f, 0.000283f, 0.000197f, -0.000198f, 0.000583f, 0.000452f, 0.000318f, -0.000190f, -0.000325f, 0.000025f, -0.000262f, 0.000035f, 0.008778f, 0.006959f, 0.001669f, 0.003106f, - 0.000771f, 0.002399f, 0.001717f, 0.000506f, 0.001729f, 0.000670f, 0.001317f, 0.000547f, -0.000449f, 0.001287f, 0.000939f, -0.000369f, -0.000095f, -0.002431f, -0.000237f, 0.000112f, 0.001499f, 0.000157f, 0.000082f, 0.000742f, 0.000085f, 0.000671f, 0.000652f, 0.000092f, -0.000024f, 0.000232f, 0.001034f, 0.000765f, 0.000677f, -0.000070f, -0.000231f, 0.000038f, 0.000496f, -0.000180f, -0.000020f, 0.000519f, 0.000202f, -0.000261f, 0.000018f, 0.000111f, -0.000483f, 0.000642f, -0.000343f, 0.015464f, 0.005588f, 0.002784f, 0.001564f, 0.001043f, 0.000942f, 0.001001f, 0.001520f, 0.000444f, 0.002515f, 0.000411f, 0.000181f, 0.001164f, -0.000655f, 0.000327f, -0.000322f, -0.000214f, -0.000481f, 0.001715f, 0.000857f, -0.000069f, 0.001204f, -0.000797f, -0.000273f, -0.000235f, 0.001890f, -0.000111f, 0.000646f, 0.000226f, 0.000901f, 0.000239f, -0.000333f, 0.000576f, 0.000603f, -0.000224f, 0.000183f, 0.000345f, 0.000127f, 0.000475f, -0.000176f, 0.000534f, 0.000363f, -0.001167f, 0.000227f, 0.000229f, 0.000193f, 0.000939f, 0.005980f, -0.004442f, -0.001466f, -0.002094f, -0.001192f, -0.001274f, - 0.000876f, -0.000760f, -0.001761f, -0.000532f, -0.002364f, -0.000644f, -0.000995f, -0.002402f, -0.000532f, 0.000445f, -0.001414f, -0.000572f, 0.000283f, -0.001723f, -0.000020f, 0.001808f, 0.000477f, 0.000186f, -0.000816f, -0.000051f, 0.000711f, -0.000075f, -0.000748f, -0.000935f, 0.000918f, -0.000169f, -0.001076f, 0.000011f, -0.000430f, 0.001281f, 0.000008f, 0.000523f, -0.000175f, 0.001091f, -0.000737f, 0.000376f, 0.000204f, 0.000176f, 0.000059f, 0.000202f, 0.000010f, -0.000487f, 0.000769f, 0.000455f, 0.000074f, -0.016298f, -0.009124f, -0.001940f, -0.002232f, -0.001638f, -0.001946f, -0.002891f, -0.000207f, 0.000006f, -0.000778f, 0.000635f, -0.000720f, 0.000045f, -0.000034f, -0.001002f, -0.000979f, -0.001691f, -0.000524f, 0.001514f, -0.001475f, -0.000250f, 0.001476f, 0.000839f, -0.000197f, 0.000448f, -0.000183f, -0.001647f, -0.000754f, -0.001368f, -0.000414f, -0.000025f, -0.000302f, 0.000659f, -0.001355f, -0.001172f, -0.000030f, -0.001421f, -0.001019f, -0.001032f, -0.001086f, 0.001060f, -0.000334f, -0.001497f, -0.000444f, 0.000291f, 0.000438f, -0.000570f, -0.000720f, -0.000420f, -0.001341f, -0.000727f, - -0.010118f, 0.005877f, 0.001985f, 0.001096f, 0.000824f, 0.001033f, 0.000282f, -0.000905f, 0.000129f, -0.000473f, -0.000334f, 0.001945f, 0.000943f, 0.001699f, 0.001427f, 0.001787f, -0.001499f, 0.000852f, 0.001603f, 0.000448f, 0.001379f, -0.001630f, 0.000199f, -0.000285f, -0.000262f, -0.000503f, 0.000505f, -0.000062f, -0.000110f, 0.001758f, -0.001772f, -0.000322f, 0.000489f, 0.001088f, -0.000561f, 0.000937f, -0.000781f, -0.000897f, 0.001146f, -0.000459f, -0.000185f, -0.000177f, 0.000353f, 0.000019f, 0.000460f, -0.000452f, -0.000370f, -0.000391f, -0.000285f, -0.000317f, 0.000826f, 0.000277f, 0.000181f, -0.000399f, -0.000835f, 0.000239f, 0.000841f, 0.000237f, 0.014904f, 0.005981f, 0.001374f, 0.003293f, 0.002737f, 0.000428f, 0.001276f, 0.003112f, 0.001553f, -0.000160f, 0.000780f, 0.000315f, -0.000374f, 0.000833f, 0.002845f, 0.000564f, 0.003378f, 0.001514f, -0.002601f, 0.000428f, 0.000197f, 0.000480f, 0.002523f, 0.001289f, 0.001078f, -0.000287f, -0.000274f, -0.000401f, -0.000305f, 0.000306f, -0.000426f, 0.000737f, 0.000349f, 0.001030f, -0.000116f, -0.000349f, 0.000511f, 0.000831f, - 0.000598f, -0.000162f, -0.001076f, -0.000563f, -0.000548f, 0.000999f, 0.000879f, 0.001137f, 0.000774f, 0.000122f, 0.000286f, 0.000967f, 0.000924f, 0.000619f, 0.000224f, 0.000102f, 0.000627f, 0.000495f, 0.000392f, 0.000788f, 0.016626f, 0.004672f, 0.002144f, 0.002513f, 0.000502f, 0.002426f, -0.000329f, -0.001030f, 0.000023f, 0.000569f, 0.000344f, -0.000149f, 0.000553f, 0.002479f, -0.000297f, -0.001665f, -0.001038f, 0.001166f, 0.000395f, 0.001372f, 0.002362f, 0.001933f, -0.000056f, 0.001267f, -0.001370f, 0.000095f, -0.001046f, 0.001472f, 0.000961f, -0.001794f, 0.001091f, -0.000884f, 0.000203f, -0.000724f, 0.001105f, -0.000698f, 0.001366f, 0.000969f, 0.000911f, 0.001605f, 0.000624f, -0.000086f, -0.000325f, -0.000046f, 0.000306f, 0.001787f, 0.000032f, 0.000001f, 0.000212f, 0.000844f, 0.000674f, 0.000025f, -0.000146f, -0.000309f, -0.000888f, -0.000207f, -0.000662f, -0.000288f, 0.002370f, -0.007128f, -0.002776f, -0.001228f, -0.001527f, -0.000819f, -0.000522f, 0.000022f, 0.001094f, -0.001116f, -0.001820f, 0.001692f, -0.002204f, -0.002269f, -0.000316f, -0.000594f, 0.001079f, -0.000708f, - 0.000036f, -0.002197f, -0.001175f, -0.002633f, -0.002711f, -0.003199f, -0.000348f, 0.000633f, -0.002090f, -0.000676f, 0.000393f, 0.000141f, 0.000177f, -0.000372f, -0.002071f, -0.001432f, 0.001018f, 0.000268f, -0.000420f, 0.001945f, -0.001283f, -0.000708f, 0.000590f, 0.001155f, 0.001102f, -0.000272f, -0.000228f, 0.000396f, 0.000383f, -0.001417f, 0.000202f, -0.000872f, -0.000271f, 0.000006f, -0.000454f, -0.000023f, 0.000982f, 0.000103f, -0.000105f, 0.000130f, -0.000916f, 0.000512f, 0.000898f, -0.000271f, 0.000042f, 0.000021f, -0.000082f, -0.018036f, -0.005625f, -0.003441f, -0.001370f, -0.002487f, -0.001914f, -0.000616f, -0.001355f, -0.000622f, -0.001822f, -0.002555f, -0.001759f, -0.000656f, -0.003683f, -0.000933f, -0.001476f, -0.002299f, -0.000240f, 0.000346f, 0.001250f, -0.001363f, -0.001822f, -0.000730f, 0.001564f, 0.001917f, 0.002441f, 0.001247f, -0.000030f, -0.001229f, -0.000504f, -0.000028f, -0.001429f, 0.000571f, 0.001030f, 0.001213f, -0.000818f, -0.000770f, -0.000646f, -0.000376f, -0.000254f, -0.000553f, 0.001005f, -0.000322f, 0.000664f, -0.001281f, -0.002119f, -0.000943f, -0.000049f, 0.001042f, - -0.001830f, 0.000580f, -0.000861f, 0.000839f, -0.000877f, 0.000486f, -0.000728f, -0.000078f, -0.000462f, -0.000089f, 0.000349f, 0.000650f, -0.000435f, -0.000662f, 0.000011f, -0.000660f, -0.010341f, 0.002760f, 0.000758f, 0.000016f, 0.001803f, -0.001732f, 0.000455f, -0.003992f, -0.001310f, 0.001392f, 0.000973f, 0.002579f, -0.000201f, 0.002812f, -0.001652f, -0.000414f, 0.001332f, -0.002447f, -0.000912f, -0.001441f, 0.002726f, -0.000177f, -0.002287f, 0.001139f, 0.002168f, -0.001948f, -0.001499f, -0.001756f, 0.000488f, -0.000416f, 0.000924f, -0.000679f, -0.000575f, -0.000480f, -0.001082f, 0.001536f, -0.001267f, 0.000288f, 0.000992f, -0.000141f, 0.001149f, -0.000694f, 0.002540f, 0.000369f, -0.000282f, -0.000915f, -0.000916f, 0.000020f, -0.001051f, -0.001272f, -0.000803f, 0.000179f, 0.000850f, -0.000144f, 0.000215f, -0.001115f, -0.001121f, -0.001581f, -0.000647f, -0.000522f, -0.000436f, 0.000417f, 0.000612f, -0.000656f, 0.000073f, 0.008914f, 0.012856f, 0.004397f, 0.004487f, 0.006054f, 0.004435f, -0.000642f, 0.000925f, -0.000499f, 0.000876f, 0.000726f, 0.001179f, 0.000806f, 0.002256f, 0.000823f, - 0.001442f, 0.000414f, 0.004398f, 0.001001f, 0.002199f, 0.001246f, 0.001196f, 0.003401f, 0.000894f, 0.004266f, 0.002297f, -0.000871f, 0.003107f, 0.000788f, 0.001581f, 0.003013f, 0.000713f, 0.001795f, -0.000814f, -0.000310f, 0.000955f, 0.001359f, -0.001733f, 0.001579f, -0.000954f, -0.001996f, -0.001066f, 0.001664f, 0.002602f, 0.001892f, -0.000243f, 0.000618f, 0.000696f, 0.000940f, 0.001431f, 0.000762f, 0.001604f, 0.000907f, -0.001287f, -0.000029f, 0.001166f, 0.001443f, 0.000558f, 0.000477f, 0.000383f, -0.001408f, -0.000447f, -0.000866f, 0.000946f, -0.000058f, 0.030960f, 0.002186f, -0.001423f, 0.002340f, -0.001531f, 0.003349f, 0.001196f, 0.003524f, -0.001662f, 0.000211f, 0.000163f, 0.002066f, -0.003741f, 0.000629f, 0.002648f, -0.000659f, -0.000425f, 0.003088f, 0.005208f, -0.002234f, -0.001022f, 0.000490f, 0.002654f, -0.001240f, 0.001780f, -0.000042f, -0.001474f, -0.001482f, -0.001143f, 0.000950f, 0.001697f, 0.001652f, -0.001116f, 0.001837f, -0.001101f, 0.001782f, 0.001876f, -0.000553f, -0.000969f, 0.000539f, -0.001657f, -0.002692f, 0.000748f, -0.001875f, 0.000901f, 0.000073f, - 0.000461f, 0.000993f, 0.000164f, 0.001230f, 0.000275f, -0.001856f, 0.000885f, -0.000559f, 0.001023f, -0.001381f, -0.000065f, 0.000102f, 0.001077f, -0.000796f, -0.002026f, -0.000471f, -0.000771f, 0.000106f, -0.000574f, -0.010499f, -0.010216f, -0.002303f, 0.000777f, -0.000447f, -0.001556f, -0.001660f, -0.002299f, -0.000608f, 0.001667f, -0.000552f, -0.000598f, -0.002353f, 0.002451f, -0.000151f, -0.002061f, -0.001764f, 0.004262f, -0.003894f, 0.000373f, 0.002832f, -0.000366f, 0.000457f, -0.003779f, 0.001183f, -0.001640f, 0.000882f, -0.002640f, -0.001719f, 0.000392f, 0.000676f, -0.001254f, -0.001382f, 0.000092f, -0.000577f, 0.000148f, -0.001614f, -0.000942f, 0.001649f, -0.000223f, -0.000802f, -0.000514f, 0.002101f, 0.000895f, -0.001229f, -0.001888f, -0.001658f, 0.000508f, -0.000273f, -0.000823f, 0.000157f, 0.000304f, -0.000923f, 0.002472f, 0.001344f, -0.000310f, -0.000218f, -0.000703f, 0.000280f, -0.000784f, -0.000756f, -0.000808f, -0.000171f, -0.001474f, -0.001154f, -0.001963f, 0.000419f, -0.002098f, -0.000100f, -0.000568f, -0.000524f, -0.000162f, -0.004201f, -0.003437f, -0.004322f, -0.002947f, -0.002311f, - -0.001382f, 0.000234f, 0.000055f, -0.001167f, -0.000327f, 0.000911f, 0.003762f, -0.003295f, 0.001703f, -0.001171f, -0.001916f, 0.002482f, -0.000121f, 0.000412f, 0.003495f, 0.000400f, 0.001530f, -0.002229f, -0.000403f, -0.006297f, -0.000605f, 0.001076f, 0.000870f, 0.000439f, 0.000732f, 0.000776f, -0.001271f, -0.001953f, 0.001523f, -0.000258f, 0.001445f, 0.000581f, -0.001531f, 0.001256f, -0.000031f, -0.004489f, -0.003514f, -0.000700f, -0.003320f, 0.000353f, 0.001174f, -0.000326f, -0.000776f, -0.000485f, 0.000257f, -0.001101f, -0.000215f, -0.000290f, -0.000494f, 0.000973f, 0.000385f, 0.000261f, -0.000516f, -0.000535f, 0.001787f, 0.000352f, -0.000998f, 0.001080f, -0.000175f, -0.000875f, -0.001688f, -0.000043f, -0.000878f, -0.000391f, 0.001348f, 0.000921f, 0.001427f, -0.020065f, -0.004566f, 0.000290f, -0.003982f, 0.001604f, 0.000406f, 0.004806f, -0.002245f, 0.000280f, -0.001316f, 0.003219f, -0.006571f, -0.006318f, 0.002667f, -0.003065f, 0.004753f, 0.001712f, -0.003807f, -0.006690f, -0.000146f, -0.001898f, -0.003237f, -0.001336f, 0.000770f, 0.001076f, -0.001560f, 0.005717f, 0.000314f, -0.000575f, - -0.002386f, 0.001943f, 0.002175f, 0.002329f, 0.002517f, -0.000317f, -0.001479f, -0.000568f, 0.001491f, -0.000122f, 0.001798f, -0.001691f, -0.000656f, -0.000585f, 0.002082f, 0.001661f, -0.001811f, 0.002353f, -0.001308f, -0.001648f, 0.000209f, -0.000752f, -0.001555f, 0.001605f, -0.001842f, -0.000250f, 0.000477f, -0.000452f, -0.000747f, 0.000418f, 0.001554f, -0.000964f, 0.001491f, -0.001231f, 0.001003f, -0.000685f, -0.000761f, -0.000484f, 0.000306f, 0.001913f, 0.000354f, 0.001792f, -0.001134f, 0.018393f, 0.016168f, 0.003379f, 0.004326f, -0.000861f, 0.005289f, 0.004234f, 0.005328f, -0.000217f, 0.002147f, 0.001286f, -0.004980f, -0.004224f, 0.002336f, 0.000458f, -0.003560f, -0.003774f, -0.002093f, 0.000249f, 0.002164f, 0.000635f, 0.005072f, 0.004621f, 0.002045f, -0.001058f, -0.001095f, 0.003063f, 0.002886f, 0.000236f, 0.002534f, -0.000800f, 0.003233f, 0.000190f, -0.000657f, 0.004464f, 0.002353f, 0.003664f, 0.002396f, 0.000816f, 0.002601f, 0.001302f, 0.000931f, 0.002386f, -0.001257f, 0.000490f, 0.003196f, -0.000017f, -0.001983f, 0.001888f, 0.001906f, 0.001348f, -0.001377f, -0.000018f, - 0.001887f, 0.002784f, -0.001332f, 0.003363f, 0.003874f, -0.000644f, -0.002014f, 0.000376f, 0.000934f, 0.000615f, 0.001733f, 0.000015f, 0.000658f, 0.001318f, -0.000870f, 0.000118f, -0.001261f, -0.000311f, -0.001721f, -0.000995f, -0.000157f, 0.022348f, 0.001788f, -0.000599f, 0.001545f, 0.001111f, -0.003689f, 0.000991f, 0.000966f, 0.000037f, 0.002349f, 0.003446f, 0.005074f, -0.002241f, -0.002335f, -0.003570f, -0.002944f, 0.003328f, -0.000284f, 0.004790f, -0.001169f, -0.001118f, 0.001936f, 0.004167f, 0.001618f, -0.004114f, 0.003261f, -0.001176f, 0.002604f, -0.001334f, 0.002016f, -0.002463f, 0.001511f, -0.000164f, 0.002371f, 0.000328f, 0.001342f, 0.000772f, -0.004232f, -0.002277f, -0.000415f, -0.000814f, -0.000418f, -0.001275f, 0.002007f, 0.000809f, 0.004315f, -0.000634f, -0.002992f, -0.001693f, -0.000321f, 0.000297f, -0.003325f, 0.001151f, -0.001146f, -0.000110f, -0.000343f, -0.001892f, 0.001734f, 0.003395f, -0.001080f, 0.001765f, 0.000378f, -0.001849f, -0.000202f, -0.001758f, -0.001518f, 0.000337f, -0.002653f, -0.001833f, 0.001075f, -0.000099f, 0.000566f, 0.001840f, -0.002513f, 0.003004f, - 0.000318f, -0.001230f, -0.002986f, 0.000865f, -0.001091f, 0.006436f, -0.001530f, -0.006161f, -0.004151f, -0.005555f, 0.005139f, -0.004106f, 0.001146f, 0.006260f, -0.000268f, -0.006368f, 0.000445f, -0.006684f, 0.005572f, -0.001943f, 0.005554f, 0.000032f, -0.002102f, 0.004766f, 0.000187f, 0.000989f, -0.003579f, -0.004534f, -0.000720f, 0.001595f, 0.000984f, -0.000885f, -0.002082f, 0.002110f, -0.000637f, 0.001577f, 0.002433f, 0.002946f, 0.001371f, 0.001631f, -0.005964f, 0.000501f, -0.001346f, -0.002039f, 0.000827f, 0.002964f, -0.002486f, -0.004584f, -0.002017f, 0.001348f, 0.000531f, -0.004027f, -0.001635f, 0.001884f, 0.002758f, -0.002419f, -0.001569f, -0.001860f, 0.002822f, 0.003740f, 0.000763f, -0.001253f, 0.000432f, 0.002681f, -0.001275f, -0.000101f, -0.001751f, 0.001882f, -0.002193f, -0.000253f, 0.002619f, 0.001568f, -0.000753f, -0.000392f, -0.000057f, -0.000836f, -0.022501f, -0.022823f, -0.003685f, -0.011196f, -0.006928f, -0.003984f, -0.006195f, -0.000771f, 0.004691f, -0.010243f, 0.003744f, -0.002111f, 0.003416f, 0.000571f, 0.002096f, -0.004260f, 0.001083f, -0.000552f, -0.002207f, -0.009400f, - -0.001907f, -0.004899f, -0.005960f, -0.000645f, 0.001510f, 0.000294f, -0.002026f, 0.001275f, -0.001923f, -0.000595f, 0.004983f, -0.000131f, -0.001658f, 0.000284f, 0.003260f, 0.004353f, 0.002936f, -0.000025f, 0.002344f, 0.002681f, -0.000265f, -0.000003f, -0.004872f, 0.001761f, -0.004027f, 0.000724f, 0.003882f, -0.002705f, -0.004877f, 0.001378f, -0.002737f, -0.002647f, 0.000538f, -0.000072f, -0.002313f, 0.001089f, -0.000551f, 0.005221f, 0.002948f, 0.001573f, 0.000647f, 0.001892f, -0.000195f, 0.000545f, -0.002075f, -0.003762f, -0.000619f, 0.000284f, -0.002665f, -0.001884f, -0.001465f, -0.001284f, -0.001512f, 0.000793f, -0.000779f, -0.000268f, -0.001677f, -0.013398f, 0.024884f, 0.019499f, 0.001239f, 0.003955f, 0.001601f, 0.004314f, 0.006626f, 0.001497f, 0.006438f, 0.001143f, -0.006725f, 0.004481f, 0.005435f, 0.001593f, 0.001647f, 0.004034f, 0.005358f, -0.005341f, 0.004476f, -0.002823f, 0.003937f, 0.000575f, -0.003198f, 0.000616f, 0.004451f, 0.002494f, -0.005201f, 0.002529f, -0.002099f, 0.007607f, -0.000588f, 0.001768f, -0.001119f, -0.004929f, 0.005014f, 0.004913f, 0.002411f, 0.001242f, - -0.000158f, 0.001759f, 0.005322f, 0.001208f, 0.003826f, 0.000457f, 0.002682f, 0.001410f, -0.000277f, 0.002831f, -0.003368f, -0.005366f, -0.002278f, -0.004096f, -0.003382f, -0.001786f, -0.003474f, 0.004768f, 0.003480f, 0.000402f, -0.000772f, -0.001718f, -0.000477f, -0.000137f, 0.000123f, 0.000224f, 0.000754f, 0.000989f, 0.000642f, -0.000110f, -0.001171f, -0.001084f, -0.000087f, -0.000109f, -0.000365f, 0.000531f, -0.000459f, 0.002877f, -0.000553f, 0.003782f, 0.033419f, -0.013149f, -0.006961f, 0.001105f, 0.000038f, -0.001752f, -0.009136f, -0.004053f, 0.002477f, -0.000550f, -0.001208f, -0.001910f, 0.001542f, -0.007704f, -0.002053f, 0.003854f, 0.007529f, 0.003943f, 0.003445f, -0.002470f, -0.002128f, -0.004476f, 0.005233f, -0.007304f, -0.001135f, 0.001691f, -0.004626f, 0.001463f, 0.002167f, 0.005710f, -0.008749f, -0.000841f, -0.000032f, -0.001929f, 0.002483f, -0.008310f, -0.004162f, 0.008954f, 0.006081f, 0.001148f, -0.001426f, 0.005311f, -0.001456f, -0.000792f, 0.001135f, 0.004134f, 0.002563f, -0.002705f, 0.000684f, -0.001618f, 0.003592f, -0.005630f, -0.002366f, -0.003446f, -0.003398f, 0.006685f, - 0.001989f, 0.000750f, -0.002862f, -0.000342f, -0.000884f, -0.001287f, -0.003006f, 0.000414f, -0.002843f, -0.000218f, 0.001156f, 0.002520f, -0.004381f, -0.003217f, -0.003857f, -0.001308f, 0.002284f, 0.000289f, 0.002990f, -0.000474f, -0.003575f, -0.000483f, -0.001541f, 0.001636f, -0.000033f, 0.009935f, 0.022752f, 0.003781f, 0.008659f, 0.007896f, 0.007502f, 0.002558f, 0.005600f, 0.003511f, -0.001668f, -0.004585f, -0.002971f, -0.001294f, 0.006420f, -0.005471f, -0.006137f, -0.000376f, -0.000309f, -0.002455f, -0.004704f, 0.013858f, 0.012947f, 0.009811f, 0.000452f, -0.005530f, 0.000962f, 0.000971f, -0.002806f, 0.003225f, 0.002011f, 0.005620f, 0.000625f, 0.002322f, -0.000289f, -0.003790f, 0.006295f, 0.005284f, 0.003755f, -0.000857f, -0.005030f, 0.000355f, -0.000405f, -0.001351f, -0.010251f, 0.007420f, -0.004681f, 0.008550f, 0.000466f, 0.004646f, -0.000994f, 0.005119f, 0.007684f, 0.001587f, -0.003502f, -0.000211f, 0.001396f, -0.002492f, 0.001338f, -0.000938f, -0.003287f, -0.001743f, 0.001055f, -0.000747f, 0.003212f, 0.001191f, -0.005480f, 0.000395f, -0.000767f, -0.005831f, -0.001400f, 0.001246f, - -0.002255f, 0.000694f, 0.004972f, 0.002098f, -0.000308f, -0.001679f, -0.001343f, 0.000155f, 0.002159f, -0.000552f, 0.002391f, -0.023949f, -0.003160f, -0.014936f, 0.000185f, 0.002606f, -0.005048f, -0.008744f, -0.010074f, -0.009588f, -0.005648f, -0.007824f, -0.001898f, -0.000553f, -0.002002f, 0.002482f, -0.001542f, 0.000484f, 0.006137f, 0.002725f, -0.000593f, 0.014463f, -0.003169f, 0.002876f, -0.002107f, 0.001189f, 0.002115f, 0.000744f, -0.000803f, 0.002101f, 0.006795f, 0.002014f, 0.002412f, 0.000732f, 0.002724f, 0.005701f, 0.007906f, 0.002453f, 0.009591f, -0.002595f, -0.008253f, 0.008314f, -0.002639f, -0.001787f, -0.001676f, 0.004687f, 0.007327f, 0.005486f, -0.000136f, -0.001934f, -0.004185f, -0.010714f, 0.006584f, 0.007442f, 0.005295f, -0.006413f, 0.003864f, 0.000962f, -0.000640f, 0.006018f, 0.001026f, 0.004030f, -0.003380f, 0.001947f, -0.004214f, -0.000443f, 0.003657f, -0.001104f, 0.002750f, -0.000619f, -0.001540f, -0.001544f, -0.005135f, 0.000478f, 0.000383f, -0.000083f, 0.000985f, -0.001179f, -0.006337f, 0.000440f, 0.000328f, -0.041941f, -0.018736f, 0.008461f, -0.001572f, -0.001498f, - 0.001551f, -0.005310f, -0.004546f, -0.001640f, -0.002019f, -0.007398f, 0.005236f, 0.000501f, 0.011005f, -0.006185f, -0.005197f, -0.009020f, -0.004953f, -0.009287f, 0.000808f, 0.003306f, -0.013710f, 0.008808f, 0.007696f, -0.001165f, 0.001580f, 0.005714f, 0.000913f, 0.005019f, -0.010376f, -0.010571f, -0.005770f, -0.006958f, -0.005247f, 0.016940f, 0.005602f, -0.003821f, -0.006051f, -0.008786f, 0.004186f, 0.002266f, -0.004080f, 0.003322f, 0.003410f, -0.006220f, 0.000629f, 0.001297f, 0.004893f, -0.005782f, 0.014065f, -0.006214f, -0.004842f, 0.002111f, -0.001458f, -0.000154f, -0.004169f, -0.001670f, 0.000487f, 0.008825f, -0.002715f, 0.012751f, 0.002785f, 0.000758f, 0.001482f, 0.003348f, -0.003801f, -0.001464f, -0.005014f, -0.004171f, -0.003832f, -0.000096f, 0.006961f, -0.004584f, -0.003261f, -0.001985f, -0.002535f, -0.002487f, -0.000247f, -0.001672f, -0.002336f, -0.002177f, 0.006619f, 0.021172f, 0.010894f, 0.006759f, 0.004600f, -0.007446f, 0.000766f, -0.006021f, 0.009430f, -0.001014f, -0.001234f, 0.003211f, 0.002094f, 0.002200f, -0.000258f, 0.003332f, 0.001226f, 0.003519f, -0.002862f, 0.009219f, - 0.001274f, -0.000817f, 0.027629f, 0.001525f, -0.002069f, -0.007040f, 0.004150f, -0.006545f, 0.006203f, 0.014891f, -0.001119f, 0.003669f, 0.003714f, -0.007622f, -0.008507f, 0.000288f, 0.000236f, 0.006563f, -0.004176f, 0.000270f, -0.000393f, 0.004847f, 0.005018f, 0.008316f, 0.003177f, 0.002910f, 0.003497f, 0.000389f, 0.005531f, 0.002587f, -0.009981f, 0.002196f, -0.005107f, -0.012860f, -0.001039f, 0.003678f, 0.000148f, 0.001130f, -0.001631f, 0.000303f, -0.000328f, -0.000012f, 0.001714f, 0.000341f, 0.005972f, -0.003462f, -0.000454f, 0.001208f, 0.001333f, 0.000237f, -0.002159f, 0.004135f, 0.007013f, 0.006842f, 0.001526f, -0.001359f, -0.000584f, 0.002488f, -0.000209f, -0.000770f, -0.000024f, 0.001417f, 0.003311f, -0.000472f, -0.001109f, -0.002193f, -0.001286f, 0.031256f, -0.009270f, -0.003203f, -0.008638f, 0.015845f, 0.005526f, 0.001516f, 0.002944f, -0.002055f, -0.003870f, 0.005727f, 0.000287f, -0.005189f, 0.001182f, -0.006915f, -0.005630f, 0.000588f, -0.007460f, 0.001219f, 0.002147f, -0.005115f, -0.009627f, 0.001134f, 0.000292f, 0.006611f, 0.010250f, 0.007534f, -0.005117f, 0.000167f, - 0.006288f, 0.012113f, -0.012636f, 0.004937f, -0.002539f, 0.000043f, -0.005876f, -0.007721f, 0.000475f, 0.007407f, 0.001899f, 0.003457f, 0.004319f, -0.000241f, 0.002820f, -0.000460f, 0.001962f, 0.004850f, -0.008491f, -0.005553f, 0.012699f, -0.000766f, -0.000594f, -0.002658f, 0.004958f, 0.016953f, 0.003988f, 0.002780f, 0.005226f, -0.004129f, -0.005149f, 0.000269f, -0.003890f, -0.009295f, 0.005972f, 0.001061f, -0.004951f, 0.002899f, 0.001254f, -0.002435f, -0.004671f, 0.006363f, -0.002274f, -0.006985f, 0.003221f, 0.003648f, 0.004963f, -0.004781f, 0.000297f, 0.002502f, -0.001059f, -0.001647f, 0.007531f, -0.000329f, 0.001251f, -0.003131f, -0.000614f, 0.000198f, 0.026628f, 0.024975f, -0.008036f, 0.006723f, 0.002206f, 0.005199f, 0.013610f, -0.001778f, -0.006886f, -0.002580f, 0.026164f, -0.014733f, -0.002630f, -0.007354f, -0.005653f, -0.011953f, 0.013169f, -0.003855f, -0.017524f, -0.013279f, -0.015972f, -0.006282f, 0.014461f, -0.001787f, 0.006919f, -0.002609f, -0.007124f, 0.006293f, 0.002062f, 0.007993f, -0.007589f, 0.007108f, 0.005896f, 0.002879f, 0.003510f, -0.012770f, 0.003861f, -0.010666f, - 0.009178f, 0.018934f, 0.005706f, 0.005661f, -0.011868f, 0.016956f, 0.004760f, -0.001804f, -0.002416f, -0.003480f, 0.005543f, 0.008470f, 0.002288f, -0.002003f, -0.000271f, 0.002278f, -0.003884f, -0.002957f, -0.003726f, -0.003072f, -0.000092f, 0.006211f, -0.003936f, 0.009292f, 0.003583f, 0.005684f, -0.001695f, -0.013344f, -0.008705f, 0.003395f, 0.001146f, -0.003982f, 0.005217f, -0.000250f, -0.000214f, 0.002685f, -0.001631f, 0.003910f, -0.000419f, -0.000448f, 0.002149f, -0.002300f, -0.000154f, -0.002486f, -0.001255f, -0.003119f, 0.002302f, 0.000170f, 0.000917f, -0.024712f, -0.015086f, 0.003785f, 0.001720f, 0.000062f, -0.011201f, 0.006691f, 0.003420f, -0.006424f, -0.018185f, 0.014807f, 0.003326f, 0.005604f, 0.008009f, 0.005042f, -0.002629f, 0.002829f, -0.004801f, 0.012303f, -0.010407f, -0.017374f, -0.000867f, -0.000747f, -0.008597f, -0.018908f, 0.000300f, -0.003802f, -0.010302f, -0.005414f, -0.003437f, 0.004349f, 0.000407f, 0.007074f, 0.013685f, -0.005878f, -0.011884f, 0.003711f, -0.001677f, 0.000200f, 0.005408f, -0.008147f, -0.007818f, -0.000965f, 0.006430f, -0.008828f, 0.007044f, -0.002515f, - 0.013892f, -0.001995f, -0.004802f, -0.001643f, -0.000269f, 0.002875f, -0.016626f, 0.002374f, -0.014437f, 0.014424f, -0.000299f, 0.009055f, 0.005022f, -0.005507f, -0.001085f, -0.007308f, 0.003210f, -0.000796f, 0.002465f, 0.002689f, -0.010074f, -0.001488f, -0.009736f, -0.004146f, 0.003782f, -0.002863f, -0.006131f, 0.002715f, -0.000481f, -0.009723f, -0.005180f, 0.000994f, -0.000071f, -0.004044f, 0.003822f, -0.002220f, -0.002897f, 0.002011f, -0.006244f, 0.002987f, -0.034937f, -0.015514f, -0.006217f, -0.003464f, -0.001472f, 0.004012f, -0.012417f, -0.008237f, 0.002779f, -0.009691f, 0.002776f, -0.010808f, -0.003900f, -0.010437f, -0.013474f, 0.014223f, 0.005341f, 0.002470f, -0.001224f, -0.011029f, -0.019748f, 0.010049f, -0.025775f, 0.009596f, -0.000015f, -0.007744f, 0.000945f, -0.004654f, 0.001551f, 0.018074f, -0.009290f, -0.000553f, -0.019463f, 0.015393f, -0.004821f, 0.007222f, -0.007108f, -0.001851f, -0.001942f, -0.000326f, 0.008491f, 0.003447f, 0.018107f, 0.022625f, -0.002724f, 0.000721f, -0.007743f, 0.001216f, -0.003254f, 0.003865f, 0.006695f, 0.001273f, 0.015701f, 0.004953f, -0.006371f, 0.002969f, - 0.002950f, 0.000494f, -0.001520f, 0.000904f, 0.011846f, -0.008724f, -0.018788f, -0.007153f, -0.000111f, 0.004746f, 0.002813f, 0.009658f, -0.001315f, 0.004359f, -0.005047f, -0.006995f, -0.010636f, -0.007784f, 0.000313f, -0.002217f, 0.004615f, 0.001737f, -0.003208f, -0.000876f, 0.008439f, 0.000271f, 0.004517f, -0.001702f, 0.001295f, -0.001729f, -0.002412f, -0.003283f, 0.043903f, 0.019745f, 0.013478f, 0.005734f, -0.005106f, -0.007898f, -0.013827f, 0.007722f, 0.013073f, 0.005546f, -0.006254f, 0.015646f, 0.008658f, 0.015644f, 0.000968f, -0.011128f, -0.004449f, 0.023438f, -0.024435f, -0.004890f, 0.016017f, -0.009424f, -0.005432f, 0.037787f, -0.004807f, 0.010886f, 0.034078f, -0.005362f, -0.002325f, -0.000878f, 0.004169f, -0.001772f, 0.014735f, 0.009649f, 0.012133f, -0.008515f, -0.020250f, 0.008192f, -0.008032f, 0.009821f, -0.003851f, 0.003650f, 0.014314f, 0.008463f, 0.000776f, 0.006460f, 0.002851f, 0.006227f, 0.013840f, 0.007975f, -0.001545f, 0.013657f, 0.005606f, 0.002069f, 0.003156f, 0.025041f, 0.014878f, 0.000175f, 0.013512f, -0.005839f, 0.017098f, -0.004126f, 0.003728f, -0.004720f, - 0.002001f, 0.009982f, -0.005503f, -0.000238f, -0.001022f, 0.003569f, 0.000333f, -0.006280f, 0.000212f, -0.005354f, -0.009904f, 0.001816f, -0.013168f, 0.005269f, 0.008008f, -0.003125f, -0.005660f, -0.003604f, 0.007012f, 0.002259f, 0.000341f, -0.002772f, 0.056917f, 0.025537f, -0.011372f, 0.004836f, 0.029473f, 0.000566f, 0.021322f, -0.006350f, 0.008515f, 0.017542f, -0.013175f, 0.001487f, 0.030960f, 0.027568f, 0.022674f, 0.007843f, 0.019493f, 0.003141f, 0.017107f, 0.005803f, 0.005274f, -0.010725f, -0.012318f, -0.017833f, -0.034965f, 0.011076f, 0.000557f, -0.009643f, -0.003217f, 0.012035f, -0.007836f, -0.001318f, 0.001515f, 0.006720f, -0.030961f, -0.005140f, 0.022719f, 0.017274f, -0.006134f, 0.011378f, 0.009955f, 0.006255f, -0.003664f, -0.007334f, -0.002991f, -0.004967f, -0.002999f, -0.011592f, -0.009612f, 0.007866f, -0.019229f, 0.006316f, 0.016055f, -0.004813f, -0.011192f, -0.017774f, 0.016738f, -0.000613f, -0.008220f, -0.005568f, -0.003668f, -0.006159f, 0.003650f, -0.002892f, -0.006007f, 0.006210f, 0.025974f, -0.012990f, -0.007600f, 0.003210f, -0.004856f, 0.005874f, 0.000398f, 0.013227f, - 0.002734f, -0.001377f, -0.000952f, -0.013907f, -0.006362f, -0.002228f, 0.001343f, 0.000989f, 0.005113f, 0.002981f, 0.000742f, 0.002147f, 0.002739f, 0.008082f, 0.000842f, 0.000152f, -0.005127f, 0.001741f, -0.022542f, -0.006151f, -0.027072f, -0.005754f, -0.027053f, 0.013070f, -0.025778f, 0.013934f, -0.004551f, -0.014747f, -0.004596f, -0.006837f, 0.031312f, 0.004999f, -0.022976f, 0.000570f, -0.015034f, -0.011648f, 0.015383f, -0.017327f, -0.016237f, -0.018089f, 0.027314f, -0.003546f, 0.018005f, -0.027729f, -0.014942f, 0.011242f, -0.013070f, 0.010733f, 0.030254f, 0.020079f, 0.018696f, 0.003376f, -0.003286f, -0.014558f, -0.020998f, -0.000952f, 0.004597f, -0.019227f, 0.000369f, -0.011257f, 0.005561f, 0.008746f, -0.022243f, -0.018669f, -0.034826f, -0.005253f, 0.002355f, -0.014764f, -0.021546f, 0.021389f, 0.001053f, 0.021968f, 0.021337f, -0.002425f, -0.003042f, -0.008474f, 0.012306f, 0.010882f, 0.001527f, 0.005487f, -0.001757f, -0.000878f, 0.010417f, -0.002531f, -0.012207f, -0.009154f, -0.015365f, -0.012679f, -0.004766f, -0.000366f, -0.002101f, -0.019191f, -0.011251f, 0.006566f, 0.001491f, -0.006668f, - 0.008386f, -0.001456f, 0.000459f, 0.013389f, 0.010887f, 0.007246f, 0.002808f, 0.008673f, 0.001288f, 0.000488f, 0.003942f, 0.003035f, -0.037991f, -0.006940f, 0.003707f, -0.003871f, 0.000388f, 0.010041f, -0.008156f, 0.008892f, 0.009066f, -0.006385f, 0.012155f, -0.016764f, 0.020925f, 0.013791f, 0.001036f, -0.015468f, 0.001550f, 0.009715f, -0.044448f, 0.008954f, 0.018593f, -0.032406f, 0.013530f, -0.016756f, -0.023194f, -0.021781f, 0.011225f, -0.005698f, -0.033101f, 0.017632f, 0.009947f, -0.020581f, -0.033494f, 0.006507f, 0.004322f, -0.010990f, -0.002127f, -0.017722f, 0.016675f, 0.013156f, 0.024110f, -0.019371f, 0.003433f, -0.025616f, -0.009228f, 0.004019f, -0.015835f, 0.006382f, -0.001672f, -0.013032f, -0.018742f, -0.020963f, 0.030495f, -0.020673f, -0.009278f, -0.007996f, 0.001601f, 0.013510f, 0.008553f, 0.009760f, 0.000442f, 0.011478f, -0.003641f, 0.001544f, -0.004679f, -0.012849f, 0.002806f, 0.026427f, 0.004494f, 0.000268f, 0.000237f, -0.017599f, 0.011563f, 0.017663f, 0.019143f, 0.003405f, 0.001744f, -0.001176f, -0.001157f, 0.002364f, 0.000715f, -0.008937f, 0.000158f, 0.001370f, - 0.001609f, -0.000229f, 0.000524f, 0.006289f, -0.001956f, 0.000489f, -0.001327f, -0.000010f, 0.011944f, -0.025428f, -0.013543f, -0.026851f, 0.007633f, -0.004749f, 0.010650f, -0.007298f, 0.005038f, 0.008825f, -0.009013f, -0.015317f, 0.022883f, -0.005979f, -0.010222f, 0.026633f, -0.005490f, -0.006169f, 0.030394f, -0.017558f, 0.004464f, 0.007477f, 0.002360f, -0.026778f, 0.000079f, -0.003876f, -0.016127f, 0.009252f, -0.012671f, 0.017097f, -0.003012f, 0.019027f, -0.020786f, 0.012960f, -0.036798f, 0.000449f, -0.020080f, 0.022446f, -0.003458f, 0.003107f, -0.003862f, -0.020373f, -0.001487f, 0.017838f, 0.046950f, 0.003514f, 0.002950f, 0.010026f, 0.016046f, -0.002673f, -0.004524f, 0.001519f, -0.000807f, 0.041346f, -0.003744f, 0.006415f, 0.016580f, -0.016038f, -0.027509f, 0.000143f, -0.029072f, -0.003512f, -0.014926f, -0.010648f, -0.005833f, -0.012215f, 0.006907f, 0.010293f, -0.016932f, 0.021433f, 0.017757f, -0.002478f, -0.004397f, -0.017400f, 0.012198f, 0.004392f, 0.011571f, -0.009725f, 0.004786f, -0.001839f, 0.008753f, 0.001073f, 0.008469f, -0.004240f, 0.006212f, -0.000982f, 0.000156f, 0.002134f, - 0.009607f, 0.004670f, 0.002946f, -0.003091f, 0.000250f, 0.000951f, 0.044314f, 0.048143f, 0.000407f, -0.014868f, -0.011826f, 0.040307f, -0.026501f, -0.030345f, 0.031527f, -0.028671f, 0.018434f, 0.005511f, 0.025511f, 0.023396f, 0.015893f, 0.002458f, -0.016028f, -0.013958f, 0.033093f, -0.014138f, -0.001401f, 0.007970f, 0.028193f, 0.040680f, -0.001226f, 0.027758f, -0.022798f, -0.023926f, 0.002705f, -0.008905f, 0.013172f, 0.008237f, -0.020332f, 0.002668f, 0.012944f, 0.033431f, 0.011451f, 0.013636f, 0.012624f, 0.014891f, 0.003876f, -0.001291f, 0.021296f, 0.003632f, 0.017033f, 0.027146f, 0.005701f, -0.011328f, -0.009510f, 0.024456f, 0.006450f, 0.050289f, 0.011778f, 0.019749f, -0.020550f, -0.032446f, -0.003101f, -0.037865f, -0.024179f, -0.008728f, -0.012901f, 0.001296f, -0.001916f, 0.000179f, 0.000526f, -0.028350f, -0.023368f, -0.012469f, -0.024131f, 0.008697f, 0.009595f, -0.007430f, -0.001867f, -0.022526f, -0.003514f, 0.006479f, -0.006378f, -0.002050f, 0.002293f, -0.014266f, 0.005913f, -0.004473f, 0.001693f, 0.002380f, 0.000086f, 0.000839f, 0.003072f, -0.003506f, 0.000531f, 0.003161f, - -0.000127f, 0.000656f, 0.000958f, -0.021049f, -0.074011f, -0.030558f, -0.060400f, -0.013558f, -0.021114f, -0.008540f, 0.005511f, -0.019813f, -0.023982f, -0.038366f, -0.030493f, 0.027259f, -0.004844f, -0.024409f, -0.025928f, 0.005871f, -0.034505f, -0.048697f, 0.008047f, -0.011337f, -0.010427f, -0.010467f, 0.009378f, -0.029024f, 0.030558f, -0.017759f, 0.020760f, -0.014447f, -0.013858f, 0.000338f, 0.016772f, -0.023665f, -0.022591f, 0.012137f, -0.004260f, 0.033434f, -0.014631f, 0.019165f, 0.028836f, 0.013706f, -0.010477f, -0.004783f, -0.002989f, 0.023649f, -0.008272f, 0.015882f, 0.031926f, -0.026792f, -0.046736f, -0.018402f, 0.015888f, 0.019470f, -0.022037f, 0.036317f, -0.011659f, -0.013109f, -0.004357f, -0.003960f, -0.011213f, -0.029378f, -0.012396f, -0.030354f, -0.029055f, -0.018001f, 0.021498f, 0.005089f, -0.005130f, 0.001988f, 0.033225f, 0.031204f, 0.002242f, -0.014392f, 0.005985f, -0.003233f, 0.013707f, 0.004324f, -0.005912f, -0.013698f, -0.001190f, -0.002712f, -0.021764f, -0.005600f, 0.008350f, 0.022686f, -0.010079f, 0.000076f, 0.008688f, -0.012663f, -0.000348f, -0.000824f, 0.000437f, -0.006566f, - 0.008540f, 0.000569f, 0.002267f, -0.000988f, 0.001342f} -}; - -/********************** Sample Rate = 32000 **********************/ - -const float CRendBin_Combined_BRIR_latency_s_32kHz = 0.000145833328133f; -const int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz = 22; -const uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]={{22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22} }; -const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {40, 40}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][22]={{{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 137, 134, 129, 128, 160},{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 137, 134, 129, 128, 160}},{{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 139, 133, 131, 128, 160},{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 139, 133, 131, 128, 160}},{{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 128, 160},{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 128, 160}},{{102, 116, 116, 121, 116, 114, 115, 121, 125, 123, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 125, 160},{102, 116, 116, 121, 116, 114, 115, 121, 125, 123, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 125, 160}},{{115, 115, 115, 119, 121, 119, 125, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 140, 146, 127, 131, 160},{115, 115, 115, 119, 121, 119, 125, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 140, 146, 127, 131, 160}},{{112, 106, 118, 121, 115, 117, 129, 123, 128, 126, 130, 130, 131, 131, 130, 134, 133, 149, 130, 132, 126, 160},{112, 106, 118, 121, 115, 117, 129, 123, 128, 126, 130, 130, 131, 131, 130, 134, 133, 149, 130, 132, 126, 160}},{{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 124, 133, 130, 129, 134, 134, 135, 127, 120, 160},{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 124, 133, 130, 129, 134, 134, 135, 127, 120, 160}},{{110, 113, 123, 113, 121, 120, 120, 126, 131, 123, 128, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160},{110, 113, 123, 113, 121, 120, 120, 126, 131, 123, 128, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160}},{{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 127, 136, 128, 128, 127, 132, 132, 129, 125, 120, 160},{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 127, 136, 128, 128, 127, 132, 132, 129, 125, 120, 160}},{{99, 100, 111, 117, 114, 114, 118, 116, 121, 124, 124, 121, 125, 130, 127, 132, 132, 130, 133, 128, 131, 160},{99, 100, 111, 117, 114, 114, 118, 116, 121, 124, 124, 121, 125, 130, 127, 132, 132, 130, 133, 128, 131, 160}},{{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 136, 128, 128, 160},{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 136, 128, 128, 160}},{{105, 100, 112, 114, 115, 108, 117, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 139, 153, 116, 160},{105, 100, 112, 114, 115, 108, 117, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 139, 153, 116, 160}},{{110, 106, 113, 110, 122, 116, 119, 125, 123, 128, 125, 127, 128, 127, 133, 130, 132, 132, 143, 155, 127, 160},{110, 106, 113, 110, 122, 116, 119, 125, 123, 128, 125, 127, 128, 127, 133, 130, 132, 132, 143, 155, 127, 160}},{{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 135, 127, 160},{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 135, 127, 160}},{{110, 117, 106, 118, 118, 116, 121, 124, 128, 125, 122, 122, 126, 131, 124, 130, 133, 131, 139, 134, 131, 160},{110, 117, 106, 118, 118, 116, 121, 124, 128, 125, 122, 122, 126, 131, 124, 130, 133, 131, 139, 134, 131, 160}}}; -const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz = 97; -const float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[15]={0.224190f, 0.227445f, 0.241827f, 0.207131f, 0.218113f, 0.222941f, 0.232139f, 0.248192f, 0.249239f, 0.261572f, 0.246309f, 0.279145f, 0.285786f, 0.262528f, 0.271847f}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 63, 63, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97},{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 63, 63, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97}}; -const float CRendBin_Combined_BRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][2819]={ - { - {-0.009097f, 0.009352f, -0.003456f, 0.000006f, 0.008745f, -0.004992f, 0.003412f, -0.000642f, 0.001223f, -0.005946f, -0.012435f, -0.002568f, 0.004887f, -0.003199f, 0.002973f, 0.004305f, 0.003661f, -0.002738f, 0.002074f, -0.007701f, -0.001411f, 0.001920f, 0.003183f, -0.000267f, -0.000175f, 0.000950f, 0.001899f, -0.006450f, -0.005352f, 0.002251f, 0.004456f, -0.002233f, 0.004665f, 0.008899f, -0.011970f, 0.001696f, -0.005728f, -0.003886f, 0.002671f, -0.001493f, 0.007354f, -0.002285f, 0.006623f, 0.003476f, 0.001083f, -0.000478f, 0.003540f, 0.000208f, -0.000724f, -0.003736f, 0.010735f, -0.007457f, -0.002261f, 0.003771f, 0.004169f, -0.000190f, -0.003631f, 0.002061f, -0.004016f, 0.004162f, 0.000801f, 0.001514f, -0.000085f, -0.001427f, -0.001326f, 0.005561f, -0.014330f, 0.003361f, -0.001844f, -0.008319f, -0.001409f, 0.007005f, 0.003391f, 0.004349f, -0.006273f, 0.005044f, -0.002184f, 0.003171f, 0.001934f, 0.002467f, -0.002649f, 0.001045f, 0.003774f, -0.002504f, -0.005599f, 0.002282f, -0.005197f, 0.001002f, 0.003817f, -0.000006f, -0.001878f, -0.002174f, 0.001025f, 0.002039f, -0.000843f, 0.002450f, - 0.000116f, 0.001753f, 0.001513f, -0.000691f, -0.000354f, 0.000662f, -0.000808f, -0.000500f, -0.000626f, 0.000674f, -0.001121f, 0.000551f, -0.001643f, -0.000420f, -0.001540f, -0.000233f, -0.000483f, -0.001761f, -0.000375f, -0.016686f, 0.012962f, -0.006248f, 0.002887f, 0.002407f, 0.000392f, -0.003586f, -0.000290f, -0.009385f, -0.011673f, 0.003177f, -0.002238f, 0.003631f, 0.003683f, 0.010504f, -0.008595f, 0.001243f, 0.007167f, 0.006916f, -0.006970f, -0.007462f, -0.003932f, -0.006482f, 0.000619f, -0.002179f, -0.005008f, -0.003892f, 0.000057f, -0.011819f, -0.011237f, -0.002395f, 0.002281f, -0.001037f, 0.000974f, -0.001365f, 0.002603f, -0.006216f, 0.007200f, -0.002539f, 0.004117f, -0.000903f, 0.002921f, -0.005673f, 0.001963f, 0.003910f, 0.004776f, 0.002035f, 0.000950f, 0.001679f, -0.001985f, -0.004707f, 0.009579f, 0.007193f, 0.003065f, -0.003588f, 0.011869f, 0.007989f, -0.003324f, 0.007510f, -0.000563f, -0.005908f, -0.001409f, -0.002146f, -0.005218f, 0.003401f, 0.003979f, 0.001874f, -0.003996f, 0.008337f, -0.005486f, 0.004875f, 0.007106f, -0.001379f, 0.000769f, -0.010431f, -0.004571f, -0.011225f, - 0.001685f, 0.005305f, -0.005327f, -0.001630f, 0.002137f, -0.005093f, -0.001371f, 0.002447f, -0.000245f, 0.001748f, -0.001108f, -0.002723f, -0.007323f, -0.003635f, -0.001273f, -0.001799f, -0.000552f, -0.000181f, 0.000515f, -0.000938f, -0.001185f, -0.002732f, -0.001174f, 0.000053f, 0.000654f, 0.000557f, -0.001428f, -0.000279f, 0.000025f, 0.000369f, -0.000268f, 0.000382f, -0.000083f, 0.000718f, -0.000058f, -0.001357f, -0.002149f, -0.002330f, -0.000153f, -0.001394f, 0.000480f, 0.014048f, 0.006459f, -0.005328f, 0.002440f, 0.001881f, 0.022356f, -0.006525f, 0.006439f, 0.010931f, -0.002057f, 0.009953f, 0.004079f, 0.006793f, -0.008789f, -0.003213f, -0.010307f, -0.004726f, 0.007015f, -0.000138f, -0.004884f, 0.001245f, -0.007217f, -0.000503f, -0.004713f, 0.006695f, -0.002872f, -0.000847f, -0.002584f, 0.003590f, 0.001584f, 0.000145f, -0.000817f, 0.002960f, -0.010871f, -0.008335f, 0.003781f, 0.001067f, -0.001030f, -0.005462f, 0.013012f, 0.003795f, -0.001647f, 0.004357f, 0.005166f, 0.000076f, 0.002567f, 0.001287f, -0.006397f, 0.005884f, -0.007620f, -0.005711f, 0.006869f, -0.008086f, 0.007051f, 0.003221f, - -0.006147f, 0.010651f, 0.005728f, 0.004134f, -0.002878f, 0.009659f, 0.002243f, -0.001243f, -0.002785f, 0.002990f, 0.001121f, -0.001608f, -0.011321f, -0.001571f, -0.002217f, 0.003525f, -0.006658f, 0.009036f, -0.003137f, 0.007417f, -0.007705f, 0.000326f, -0.000825f, 0.009221f, -0.004292f, -0.002939f, 0.001645f, 0.003473f, -0.000135f, 0.001864f, -0.001422f, -0.008361f, -0.000967f, -0.000530f, -0.000461f, -0.001084f, -0.000186f, 0.000106f, -0.001175f, -0.001555f, -0.001756f, -0.001916f, 0.000130f, -0.000711f, 0.000020f, 0.001216f, -0.001432f, 0.000965f, 0.001103f, 0.002559f, -0.003017f, 0.002029f, 0.000884f, 0.001589f, -0.000201f, 0.002372f, 0.000857f, -0.001061f, -0.001843f, -0.000477f, -0.000884f, 0.023307f, -0.019323f, -0.016961f, -0.005456f, 0.017848f, -0.002478f, -0.009654f, 0.012225f, -0.008126f, 0.005783f, -0.000435f, -0.013281f, -0.009030f, 0.011224f, -0.007251f, 0.005568f, -0.007567f, 0.007422f, -0.003287f, -0.002039f, -0.000832f, -0.007313f, 0.003884f, 0.005385f, -0.007352f, 0.001824f, -0.003730f, 0.001539f, 0.003383f, -0.001055f, 0.004845f, 0.001481f, 0.003968f, 0.006278f, -0.008008f, - -0.005880f, 0.007274f, 0.000398f, 0.005654f, 0.005520f, -0.005070f, -0.007556f, -0.002993f, 0.001342f, 0.010011f, -0.010751f, 0.004484f, -0.012008f, -0.014637f, -0.003418f, -0.008354f, -0.001368f, -0.009903f, -0.018872f, -0.009978f, 0.008817f, 0.008242f, 0.005363f, -0.006256f, 0.018145f, -0.005527f, 0.003095f, -0.009965f, -0.009402f, 0.002534f, 0.000041f, -0.000873f, -0.011877f, -0.003848f, -0.000640f, -0.002364f, -0.002272f, -0.006373f, -0.005121f, 0.001371f, -0.001606f, -0.003473f, 0.000447f, -0.006173f, 0.001159f, 0.003593f, 0.006236f, 0.003502f, -0.005180f, 0.005546f, -0.003559f, -0.000294f, 0.006209f, 0.002664f, 0.000957f, -0.001968f, 0.003221f, 0.003684f, 0.002894f, 0.000682f, -0.001537f, 0.000594f, 0.004435f, 0.002309f, 0.002878f, 0.001260f, -0.001588f, 0.002398f, 0.000508f, -0.000215f, 0.000724f, -0.001193f, 0.000475f, 0.000698f, -0.001244f, 0.002461f, 0.003640f, 0.004276f, -0.000217f, -0.000267f, 0.000673f, -0.002669f, 0.003994f, -0.000209f, 0.002516f, 0.029839f, -0.009793f, 0.013953f, -0.003724f, 0.018754f, -0.003639f, -0.002925f, 0.003177f, 0.003763f, -0.003166f, -0.021609f, - 0.002141f, -0.002120f, -0.005725f, -0.000372f, -0.001011f, 0.007632f, -0.002440f, 0.018317f, -0.002401f, 0.002024f, -0.001288f, 0.010339f, -0.002012f, 0.003532f, -0.008557f, -0.000384f, -0.005866f, -0.006215f, -0.001723f, -0.001845f, 0.000114f, 0.006599f, -0.011752f, -0.003569f, 0.004042f, -0.001448f, 0.008197f, 0.001780f, -0.002025f, -0.005511f, -0.005336f, -0.005851f, -0.010745f, 0.003957f, 0.004611f, 0.003922f, -0.018758f, -0.002878f, 0.013313f, 0.007335f, -0.002971f, -0.000712f, -0.005781f, -0.013033f, -0.013649f, 0.013532f, -0.004179f, -0.009299f, -0.005085f, 0.007293f, 0.005949f, 0.000549f, 0.006664f, 0.002615f, 0.006445f, -0.003291f, -0.013385f, -0.004703f, -0.006013f, -0.006975f, 0.009908f, 0.006405f, -0.001069f, 0.010871f, 0.016481f, -0.004045f, 0.006999f, -0.006485f, -0.000789f, -0.000014f, 0.007189f, -0.000676f, 0.001816f, 0.001518f, 0.002245f, 0.005573f, -0.005637f, 0.004347f, -0.002922f, 0.000345f, -0.003585f, 0.000511f, 0.001914f, 0.003945f, 0.002952f, -0.000179f, 0.001066f, 0.000161f, -0.000429f, 0.001998f, -0.005321f, -0.000836f, -0.004246f, 0.000901f, -0.000756f, -0.000762f, - -0.001856f, -0.001197f, -0.002213f, 0.002304f, 0.001127f, -0.044753f, 0.024465f, 0.008854f, -0.002148f, -0.002075f, 0.000034f, -0.006890f, -0.012530f, -0.002791f, 0.005996f, 0.018819f, 0.012621f, -0.017324f, -0.003374f, -0.010343f, 0.006930f, -0.000965f, -0.023360f, -0.006958f, 0.014211f, 0.008738f, 0.004810f, 0.012027f, 0.007266f, -0.001326f, -0.001603f, 0.003491f, -0.008933f, -0.005324f, 0.001973f, 0.010481f, -0.004518f, -0.008975f, -0.012930f, -0.006564f, 0.006362f, 0.020733f, 0.001386f, -0.003730f, 0.004355f, -0.004373f, -0.015493f, 0.001069f, -0.010953f, -0.008655f, -0.010224f, 0.006257f, -0.000676f, -0.014552f, 0.002648f, 0.005404f, 0.005605f, -0.015737f, -0.008743f, -0.005910f, -0.003945f, -0.001785f, -0.005846f, -0.002878f, -0.007541f, -0.015277f, -0.001834f, -0.012986f, -0.015558f, -0.009682f, -0.002802f, 0.002593f, -0.009286f, -0.013695f, 0.003954f, 0.010847f, -0.000635f, -0.002087f, -0.001360f, 0.007868f, -0.011950f, 0.008802f, 0.013967f, 0.013556f, 0.010683f, 0.018260f, 0.000169f, -0.007639f, 0.004878f, 0.000740f, -0.002003f, -0.001789f, -0.000041f, -0.004267f, 0.006007f, 0.000230f, - 0.000397f, -0.003811f, -0.001084f, 0.001914f, 0.002231f, -0.002254f, -0.002039f, 0.001078f, 0.006204f, -0.000898f, 0.002326f, 0.002028f, 0.005298f, -0.004424f, 0.000225f, -0.000174f, -0.004877f, 0.000647f, 0.000623f, 0.004007f, 0.000402f, 0.000760f, 0.003470f, 0.002140f, -0.006062f, 0.002171f, -0.002198f, -0.018482f, 0.006963f, -0.009145f, -0.001585f, 0.002406f, 0.005445f, -0.000770f, 0.009545f, 0.000229f, -0.001932f, -0.025922f, 0.012005f, -0.004823f, -0.005515f, 0.009292f, -0.015030f, -0.020661f, 0.008419f, -0.007245f, -0.009694f, -0.003066f, 0.018637f, 0.011719f, -0.006835f, -0.004033f, 0.008664f, -0.002592f, -0.000943f, 0.002502f, 0.008455f, 0.015532f, 0.009881f, 0.012566f, -0.001944f, -0.000553f, 0.000291f, -0.008295f, 0.002101f, -0.003500f, 0.021145f, -0.016187f, -0.009391f, -0.008566f, -0.008028f, 0.005083f, 0.002852f, 0.007573f, -0.001278f, -0.010694f, -0.014329f, -0.004146f, -0.017836f, -0.024828f, -0.004998f, 0.000665f, 0.019262f, 0.003815f, -0.015310f, -0.003933f, 0.014434f, -0.006136f, 0.004820f, 0.004344f, 0.008089f, -0.011497f, -0.017253f, -0.007630f, -0.008795f, 0.027799f, - 0.003080f, -0.008924f, 0.006025f, 0.004632f, -0.002079f, 0.003497f, 0.006333f, -0.000779f, 0.012313f, -0.016348f, -0.014665f, 0.004742f, -0.006790f, 0.014818f, -0.006885f, -0.000388f, 0.007942f, -0.002451f, 0.007032f, -0.000434f, -0.000391f, -0.000492f, -0.002439f, -0.000262f, 0.006323f, 0.002358f, 0.006142f, 0.003466f, 0.003048f, 0.000218f, -0.002298f, -0.001011f, 0.002551f, -0.000811f, 0.000748f, -0.001265f, 0.004399f, -0.003673f, 0.002546f, -0.003291f, 0.004436f, -0.004270f, 0.000373f, -0.000412f, -0.000494f, 0.003184f, 0.004179f, -0.004467f, 0.003091f, 0.001719f, -0.001533f, 0.006559f, 0.016041f, 0.005150f, -0.001196f, 0.011122f, -0.001968f, -0.013579f, -0.002434f, -0.001093f, 0.013608f, -0.007499f, -0.001710f, -0.004004f, 0.002291f, -0.004059f, 0.000941f, 0.004534f, 0.006483f, 0.009329f, 0.006133f, 0.003041f, 0.023777f, 0.009461f, 0.007885f, -0.000884f, -0.018570f, 0.001353f, -0.015452f, 0.004876f, -0.010446f, 0.002708f, 0.000140f, 0.006139f, 0.029216f, 0.008398f, -0.004430f, 0.010599f, -0.008142f, 0.009049f, -0.005019f, 0.015311f, -0.008205f, 0.000041f, -0.011328f, 0.007066f, - 0.011647f, -0.013426f, 0.027468f, -0.006604f, 0.002109f, -0.004096f, -0.007258f, 0.003055f, -0.008108f, -0.023353f, 0.004095f, -0.005770f, -0.001176f, -0.014378f, 0.003572f, -0.005013f, -0.024025f, -0.010821f, -0.006609f, -0.021237f, 0.012264f, 0.030905f, 0.037445f, -0.035418f, -0.026998f, -0.014920f, 0.001659f, 0.008987f, -0.010818f, 0.005221f, -0.012295f, 0.003413f, 0.017377f, 0.026700f, -0.018136f, 0.029882f, 0.009699f, 0.003628f, 0.005249f, 0.005519f, -0.006418f, 0.010357f, 0.009586f, 0.011523f, 0.008922f, 0.003821f, 0.013432f, 0.000216f, 0.004347f, -0.000086f, 0.000160f, 0.007340f, -0.001921f, -0.008514f, -0.002151f, 0.005841f, 0.004602f, 0.001959f, 0.000136f, -0.000382f, -0.000537f, 0.005890f, 0.004780f, 0.002192f, -0.004892f, 0.001475f, 0.001652f, 0.000269f, 0.006321f, 0.002841f, 0.004012f, 0.000158f, 0.004792f, 0.002827f, 0.004845f, 0.006582f, 0.006893f, 0.000619f, 0.000484f, -0.003153f, 0.007585f, 0.006764f, -0.000526f, -0.001819f, 0.000981f, 0.004936f, 0.013866f, -0.024887f, 0.037176f, 0.001191f, 0.021943f, 0.008217f, -0.007135f, -0.007383f, 0.020361f, -0.011327f, - 0.013017f, 0.015959f, -0.001587f, -0.010500f, 0.001037f, 0.016495f, 0.009470f, 0.008687f, 0.007593f, -0.001007f, 0.003002f, 0.005832f, 0.020791f, 0.014784f, -0.010475f, -0.008860f, -0.001250f, -0.004278f, -0.001850f, -0.010257f, -0.006727f, 0.010672f, 0.018375f, 0.005032f, 0.027511f, -0.007123f, 0.030044f, 0.001791f, 0.014357f, 0.033101f, 0.023522f, 0.007863f, 0.007068f, 0.015208f, -0.002836f, -0.012748f, 0.000306f, 0.014343f, -0.007625f, -0.014688f, 0.000944f, -0.001950f, 0.030228f, 0.024443f, 0.000074f, 0.034208f, -0.002631f, 0.018603f, 0.009949f, 0.014811f, -0.001514f, -0.011188f, 0.015508f, -0.002591f, 0.018078f, 0.012594f, 0.037808f, -0.020477f, -0.003247f, -0.041818f, 0.009346f, -0.020323f, -0.002477f, 0.019931f, -0.007628f, 0.008469f, -0.003128f, 0.023228f, -0.005640f, -0.015378f, -0.000845f, -0.004913f, 0.007163f, -0.000536f, 0.011380f, 0.013428f, 0.003778f, -0.002914f, 0.010604f, -0.001767f, 0.004787f, 0.000552f, -0.006448f, 0.005173f, 0.005126f, 0.009508f, 0.005032f, 0.010597f, 0.004868f, 0.000329f, 0.000744f, -0.002599f, 0.000469f, 0.010412f, -0.003186f, -0.006923f, - 0.004635f, 0.000002f, 0.001813f, 0.008637f, 0.002192f, 0.002531f, 0.003730f, 0.005935f, -0.001359f, -0.000429f, 0.003932f, 0.007126f, 0.010902f, 0.010267f, 0.000335f, 0.005176f, 0.000444f, 0.000135f, 0.004958f, 0.007415f, -0.024477f, -0.017953f, 0.008850f, -0.014496f, 0.008326f, -0.008728f, 0.002407f, 0.022576f, -0.003854f, -0.021222f, 0.005726f, -0.008884f, 0.021660f, -0.022671f, -0.015912f, 0.009306f, 0.010399f, 0.015904f, 0.000495f, -0.001509f, 0.010150f, -0.006157f, -0.015626f, 0.009724f, -0.006487f, -0.012325f, 0.003609f, 0.012220f, -0.009018f, 0.022910f, 0.009122f, -0.000746f, 0.002866f, 0.011269f, 0.004751f, -0.038899f, 0.015785f, -0.003904f, -0.004277f, -0.006635f, 0.020575f, 0.000219f, 0.021912f, 0.001022f, 0.001757f, 0.002535f, -0.006021f, -0.002266f, 0.010537f, -0.012378f, 0.002767f, 0.035558f, 0.002918f, 0.026185f, 0.001814f, -0.005174f, -0.003069f, -0.017419f, -0.036671f, -0.026410f, 0.011834f, 0.016880f, -0.007448f, 0.028054f, 0.011692f, -0.019760f, -0.011845f, 0.025719f, 0.017910f, 0.017118f, 0.004943f, -0.007652f, -0.000028f, -0.001190f, -0.015967f, -0.004627f, - -0.009454f, -0.042658f, -0.018726f, -0.000756f, 0.028515f, 0.006661f, -0.006958f, 0.003347f, 0.024425f, -0.005873f, 0.000946f, 0.000420f, 0.005950f, -0.007840f, -0.004215f, -0.005778f, -0.003817f, -0.001847f, 0.005607f, 0.000019f, -0.001410f, -0.000058f, 0.004304f, 0.004053f, 0.006903f, -0.004802f, -0.008407f, 0.003246f, -0.008883f, -0.004341f, 0.000690f, 0.003458f, 0.000601f, -0.001114f, 0.008498f, -0.003756f, -0.003053f, -0.009885f, 0.003501f, -0.008887f, 0.006923f, 0.003664f, 0.004446f, -0.007437f, 0.000270f, -0.000912f, 0.003392f, -0.004082f, 0.002538f, -0.003590f, 0.004438f, -0.008253f, -0.000159f, -0.009746f, 0.011320f, 0.023794f, 0.009362f, 0.008298f, 0.027246f, 0.022860f, 0.019159f, 0.001218f, 0.007433f, 0.001925f, -0.003866f, -0.004745f, 0.004868f, -0.001657f, -0.015557f, 0.003980f, 0.016210f, 0.000284f, -0.004057f, 0.005332f, -0.038708f, 0.013507f, -0.015132f, 0.010188f, 0.013753f, 0.012443f, -0.014241f, 0.008395f, -0.001041f, 0.000140f, 0.023677f, 0.017433f, 0.000703f, 0.009556f, 0.007203f, -0.002677f, -0.012778f, 0.003702f, 0.011801f, 0.000697f, 0.017004f, 0.005430f, - 0.015426f, 0.029956f, 0.002013f, 0.012380f, 0.013097f, 0.016290f, -0.000190f, -0.009635f, 0.025943f, -0.009367f, 0.021036f, -0.023727f, -0.019439f, 0.028405f, -0.000924f, 0.009720f, 0.016935f, 0.024852f, 0.031981f, 0.013781f, 0.004818f, -0.014879f, 0.007417f, -0.002648f, -0.027676f, 0.024406f, 0.015379f, -0.022545f, -0.000873f, 0.001945f, -0.028377f, 0.010218f, 0.023458f, 0.014080f, 0.000307f, 0.009340f, 0.006786f, -0.012934f, 0.025630f, 0.002931f, -0.004419f, 0.013468f, 0.025359f, 0.010281f, -0.000488f, -0.008161f, -0.006299f, -0.002459f, 0.004764f, 0.007534f, 0.010786f, 0.003875f, 0.002296f, 0.003735f, 0.012520f, 0.011247f, 0.013862f, 0.000356f, -0.000885f, 0.005825f, 0.011948f, 0.000570f, 0.001591f, -0.001759f, 0.005809f, 0.001471f, -0.000780f, -0.003778f, 0.003263f, -0.007697f, -0.014146f, -0.000136f, 0.008793f, 0.000323f, 0.006380f, -0.006467f, 0.005030f, 0.000854f, 0.005641f, 0.001333f, -0.003411f, 0.003875f, -0.002121f, -0.001630f, -0.000377f, -0.008346f, 0.006866f, -0.002730f, 0.003176f, 0.005475f, 0.000826f, -0.000727f, -0.003543f, -0.005212f, -0.065005f, -0.040450f, - 0.013101f, 0.013744f, 0.026582f, 0.044054f, -0.012250f, -0.006967f, -0.014164f, -0.013078f, -0.016696f, -0.017812f, 0.001320f, 0.007071f, 0.005455f, 0.027796f, 0.001080f, 0.027280f, -0.001524f, 0.009366f, 0.012495f, 0.009684f, 0.020177f, 0.014469f, 0.000865f, 0.017887f, -0.000394f, -0.002136f, -0.010491f, 0.012106f, -0.001812f, -0.026679f, -0.023255f, 0.014480f, -0.003536f, 0.031816f, 0.018794f, 0.020466f, 0.007363f, -0.040006f, 0.009432f, 0.025185f, -0.004082f, 0.007346f, -0.006360f, 0.005023f, 0.031374f, -0.001066f, 0.026249f, 0.044198f, 0.002232f, -0.016624f, -0.000732f, 0.000513f, -0.027987f, 0.037541f, 0.017586f, -0.004918f, -0.002423f, 0.027226f, 0.012507f, -0.032846f, -0.027110f, 0.010641f, -0.011980f, 0.015820f, 0.011032f, 0.005075f, -0.013371f, -0.023290f, -0.001478f, 0.006027f, 0.004034f, 0.025410f, -0.034360f, 0.005083f, -0.002716f, -0.028680f, -0.014143f, -0.028839f, 0.024873f, -0.008469f, 0.034536f, -0.027361f, 0.002115f, -0.013090f, 0.019417f, 0.008798f, -0.009064f, -0.001505f, 0.017836f, 0.001309f, 0.005231f, -0.010435f, -0.006142f, -0.008793f, 0.015722f, 0.008244f, - -0.000585f, 0.004505f, 0.004331f, -0.014684f, 0.000457f, -0.003992f, 0.004656f, 0.003310f, -0.003795f, -0.014994f, -0.005894f, -0.011016f, 0.012810f, -0.009764f, 0.001563f, -0.002461f, 0.012649f, -0.002582f, -0.002973f, -0.004496f, -0.008944f, -0.000255f, -0.006175f, 0.005526f, 0.013957f, 0.013018f, -0.001615f, -0.013130f, 0.016257f, 0.046031f, -0.054795f, -0.015334f, -0.026712f, -0.001129f, 0.008686f, 0.001445f, 0.036736f, -0.037918f, 0.017926f, -0.005184f, 0.007323f, -0.004598f, 0.020175f, -0.011133f, -0.018769f, -0.001579f, -0.005467f, 0.014250f, -0.001183f, 0.009631f, 0.021377f, -0.004459f, -0.016013f, -0.002155f, 0.024041f, -0.014154f, 0.005737f, 0.005394f, 0.000961f, -0.002196f, 0.023879f, -0.000916f, -0.006150f, -0.039885f, 0.012835f, -0.009881f, -0.025173f, -0.021926f, -0.005811f, -0.024305f, -0.014302f, -0.021109f, 0.010016f, -0.024909f, 0.024846f, -0.022865f, 0.015409f, -0.011825f, 0.030121f, -0.029190f, -0.016933f, -0.004417f, 0.017459f, 0.007159f, 0.000161f, -0.012030f, -0.023886f, 0.002402f, 0.009355f, 0.034095f, 0.017906f, 0.007419f, -0.019501f, 0.011581f, -0.017297f, -0.019556f, - 0.017053f, -0.018987f, 0.009048f, 0.022081f, 0.018466f, -0.004954f, -0.007034f, -0.015990f, 0.026626f, 0.002566f, 0.025484f, 0.041128f, -0.008039f, -0.021640f, -0.009630f, -0.007233f, -0.014814f, 0.006473f, -0.024599f, 0.010679f, 0.008047f, 0.007350f, 0.019485f, -0.013809f, 0.000739f, -0.002555f, 0.004954f, 0.017654f, 0.000534f, 0.013871f, -0.005033f, -0.000389f, 0.001767f, -0.007952f, -0.002806f, 0.008304f, 0.004438f, -0.011346f, -0.014721f, -0.007070f, 0.006520f, 0.005767f, -0.006459f, 0.020984f, 0.006182f, -0.015465f, 0.007771f, 0.011177f, 0.028078f, 0.022723f, 0.012800f, 0.004646f, 0.002721f, -0.011866f, -0.009218f, -0.000475f, -0.009341f, 0.001683f, -0.005415f, -0.017300f, 0.009500f, -0.005792f, -0.002395f, 0.001936f, 0.009362f, 0.000119f, 0.030661f, 0.042393f, -0.044507f, 0.033005f, 0.023048f, 0.001294f, 0.016634f, 0.056286f, -0.015629f, -0.015976f, 0.005473f, 0.016699f, 0.023445f, 0.007865f, -0.021756f, 0.024974f, -0.008965f, 0.049761f, -0.001164f, -0.007991f, 0.016181f, 0.013222f, 0.013034f, -0.000336f, 0.046674f, -0.038461f, 0.009574f, -0.000503f, 0.012915f, -0.015926f, - -0.032043f, 0.016214f, 0.012765f, 0.013264f, -0.011127f, -0.008363f, 0.039035f, 0.014796f, 0.049019f, 0.004677f, -0.017946f, -0.001733f, 0.011000f, -0.004041f, 0.050878f, -0.006174f, 0.027763f, -0.004708f, 0.045663f, 0.016815f, 0.012415f, -0.010831f, -0.002427f, 0.025283f, 0.000602f, 0.027059f, 0.020391f, 0.023939f, -0.031364f, 0.005280f, 0.022634f, 0.027287f, 0.020335f, 0.015724f, 0.036548f, 0.044926f, -0.033967f, -0.003854f, 0.068059f, -0.016098f, -0.018274f, 0.044205f, 0.059402f, 0.001362f, -0.000473f, -0.031834f, -0.026275f, -0.001485f, 0.029889f, -0.004103f, -0.005494f, 0.001607f, -0.002162f, -0.008005f, -0.022736f, -0.008086f, -0.001616f, -0.013263f, 0.001041f, 0.014105f, -0.007612f, 0.017968f, -0.017782f, 0.015874f, -0.003516f, 0.013863f, -0.013300f, 0.000725f, 0.010186f, 0.006181f, 0.017339f, -0.002772f, -0.008963f, -0.003735f, 0.005252f, 0.016020f, 0.004787f, -0.005343f, 0.021865f, -0.006488f, 0.011589f, 0.011787f, -0.001854f, -0.002140f, -0.004790f, 0.032029f, -0.011463f, 0.004371f, 0.008227f, 0.012100f, -0.005619f, -0.020285f, -0.011814f, -0.003288f, 0.024112f, 0.011919f, - -0.001677f, 0.001737f, 0.008657f, -0.001239f, 0.000413f, 0.008791f, 0.004623f, 0.002472f, 0.000332f, 0.018756f, 0.042068f, -0.002457f, 0.013214f, -0.035737f, 0.034261f, -0.018079f, -0.011070f, -0.031295f, -0.020217f, 0.064376f, 0.001025f, -0.045231f, -0.020063f, -0.001308f, 0.000317f, -0.005948f, 0.049872f, 0.023244f, -0.004101f, -0.020762f, -0.001826f, 0.013073f, -0.006006f, 0.066226f, 0.014240f, 0.029099f, 0.010205f, -0.014959f, -0.037343f, 0.008771f, -0.000257f, 0.005817f, -0.028885f, -0.003150f, -0.019445f, 0.022256f, 0.000323f, 0.003572f, 0.023383f, -0.021098f, -0.015186f, 0.004462f, 0.001229f, 0.006764f, -0.031878f, -0.025356f, -0.054766f, -0.028917f, 0.002599f, -0.031567f, 0.004453f, -0.022961f, -0.013403f, 0.040654f, 0.013095f, -0.020054f, 0.012492f, 0.004428f, 0.000098f, 0.039069f, -0.006460f, 0.047364f, 0.018487f, -0.020723f, -0.057804f, 0.009878f, 0.009552f, 0.031911f, -0.017089f, -0.042007f, -0.014567f, 0.011813f, 0.002389f, -0.010256f, -0.029719f, -0.009961f, -0.042116f, -0.048679f, 0.015442f, -0.003029f, 0.049885f, -0.016200f, -0.029845f, -0.026608f, -0.002068f, 0.034656f, - -0.001531f, 0.012516f, 0.022846f, 0.016815f, -0.007315f, 0.011008f, 0.015752f, 0.004710f, 0.016143f, 0.015026f, -0.010543f, -0.002033f, 0.022473f, -0.004833f, 0.003502f, 0.020516f, -0.003549f, 0.011970f, -0.015052f, 0.005562f, 0.012517f, -0.007590f, 0.007673f, 0.006385f, -0.014000f, 0.018701f, -0.017678f, 0.008748f, 0.010163f, 0.014707f, -0.003269f, -0.011092f, 0.021048f, -0.003318f, 0.015716f, -0.022516f, -0.010096f, -0.016717f, -0.012973f, 0.001378f, -0.010570f, 0.007656f, 0.001746f, 0.002788f, -0.021315f, 0.029972f, -0.033618f, -0.002208f, 0.050608f, -0.011133f, 0.014848f, 0.005080f, 0.006545f, -0.047812f, 0.039363f, -0.004158f, -0.038280f, -0.022549f, 0.019821f, -0.005934f, 0.009842f, -0.000483f, -0.015960f, -0.012031f, 0.006706f, -0.012054f, -0.002903f, -0.000932f, -0.055385f, -0.014714f, -0.037185f, 0.007919f, 0.013017f, -0.000611f, -0.016452f, 0.006275f, -0.007948f, 0.021383f, -0.049027f, 0.002991f, 0.008376f, 0.027681f, -0.021432f, 0.025768f, -0.021114f, 0.016289f, 0.004288f, 0.019980f, -0.032065f, 0.009475f, -0.015964f, -0.034229f, 0.021901f, -0.027758f, -0.055330f, 0.007803f, - -0.005330f, 0.043200f, -0.021155f, 0.005782f, 0.019834f, 0.028558f, 0.032517f, 0.003214f, -0.011360f, -0.020881f, 0.000491f, 0.015261f, 0.021356f, -0.043305f, 0.048015f, -0.000681f, -0.032699f, -0.024627f, -0.043454f, 0.017319f, 0.010336f, 0.016926f, 0.007444f, 0.045597f, -0.016484f, 0.049583f, -0.027259f, 0.011374f, -0.011189f, -0.023490f, -0.069716f, 0.038931f, 0.007322f, -0.018748f, -0.047395f, -0.003055f, 0.008555f, -0.004354f, 0.017071f, -0.013043f, -0.015383f, -0.002769f, 0.007144f, -0.013568f, -0.013301f, -0.008687f, -0.002670f, 0.006993f, -0.004343f, -0.004531f, -0.018957f, 0.013569f, 0.000191f, -0.010571f, 0.008313f, -0.007762f, 0.014181f, -0.004802f, 0.006956f, 0.009248f, 0.017569f, -0.006494f, 0.015922f, 0.001464f, 0.000611f, -0.017838f, -0.014046f, 0.003937f, 0.006276f, 0.002074f, 0.000612f, -0.003745f, -0.011783f, -0.006714f, -0.005772f, -0.012866f, -0.006091f, 0.021486f, -0.011291f, -0.012803f, 0.006435f, -0.027669f, -0.041013f, -0.000258f, 0.022477f, -0.009074f, -0.044410f, -0.007167f, -0.064857f, 0.031265f, -0.071667f, 0.042616f, -0.049573f, -0.043310f, 0.012227f, 0.036949f, - 0.027612f, -0.024736f, 0.025902f, 0.046507f, 0.008214f, 0.006825f, 0.010902f, 0.004059f, -0.027558f, 0.033307f, -0.056224f, -0.035047f, 0.003089f, -0.003639f, -0.003666f, -0.007631f, -0.014052f, 0.007327f, 0.051627f, 0.013192f, 0.007132f, 0.004666f, -0.024366f, 0.029832f, -0.005472f, -0.052183f, -0.008049f, 0.000931f, 0.001080f, -0.035764f, -0.025169f, 0.027180f, -0.008950f, 0.046775f, 0.008687f, -0.000164f, -0.038245f, -0.021154f, 0.014072f, 0.005865f, -0.010433f, 0.040041f, -0.031859f, -0.019555f, -0.001392f, -0.002561f, 0.037985f, 0.002882f, 0.044439f, -0.000195f, -0.036295f, 0.008833f, -0.030937f, 0.023378f, -0.004321f, 0.031931f, 0.060832f, -0.093788f, 0.031917f, 0.012744f, 0.017180f, 0.035217f, 0.008833f, -0.043129f, -0.009905f, -0.004104f, -0.007703f, 0.021726f, -0.043888f, 0.003962f, -0.011439f, -0.006464f, -0.030207f, -0.016484f, -0.045733f, 0.004905f, -0.002795f, 0.004521f, 0.012720f, -0.018795f, -0.003259f, 0.022062f, -0.013593f, 0.004174f, -0.007513f, -0.022773f, 0.010619f, 0.013456f, -0.015698f, -0.001855f, -0.024873f, -0.001656f, -0.036039f, 0.012821f, 0.009035f, -0.004699f, - 0.004032f, -0.009316f, 0.001683f, 0.007177f, -0.005631f, -0.006937f, 0.020843f, 0.025081f, -0.005495f, 0.008199f, 0.004265f, 0.025749f, 0.011729f, -0.032820f, 0.004537f, 0.018557f, -0.010435f, 0.018753f, 0.006328f, 0.008540f, 0.076646f, 0.066248f, -0.018868f, -0.025519f, -0.001450f, -0.050267f, 0.029464f, -0.002794f, 0.011154f, 0.003999f, -0.025392f, 0.076479f, -0.032767f, -0.134662f, -0.019666f, 0.026982f, -0.090661f, -0.015454f, 0.028441f, -0.076751f, 0.010712f, 0.050126f, -0.035277f, 0.050009f, -0.047882f, 0.042980f, 0.053243f, -0.033882f, 0.014529f, -0.004802f, 0.001193f, -0.014294f, -0.021013f, -0.003778f, 0.032780f, -0.021002f, -0.035101f, -0.019086f, -0.028262f, -0.002888f, -0.022179f, -0.003521f, 0.011759f, -0.005175f, 0.032009f, -0.028113f, -0.034650f, 0.027744f, -0.036655f, -0.054300f, -0.069750f, -0.024194f, -0.001642f, 0.013687f, 0.038895f, -0.016121f, 0.017442f, 0.018336f, -0.012785f, -0.005894f, 0.064075f, -0.042236f, -0.001625f, 0.043971f, 0.013604f, 0.034603f, -0.008610f, 0.012696f, 0.048649f, 0.025136f, -0.002640f, -0.005805f, -0.029980f, 0.012424f, 0.048932f, -0.045368f, - 0.034611f, -0.044894f, 0.013143f, 0.063794f, 0.014677f, -0.035628f, 0.036200f, 0.005885f, -0.022849f, -0.017704f, 0.043804f, 0.014556f, 0.018894f, -0.002503f, 0.003314f, 0.012154f, 0.014368f, -0.001168f, -0.004390f, 0.018772f, 0.016251f, 0.003564f, -0.021654f, 0.023973f, 0.002944f, -0.008082f, 0.005858f, 0.008308f, -0.015771f, -0.004044f, 0.012153f, 0.002485f, 0.020246f, -0.024873f, 0.037612f, 0.029285f, -0.005188f, -0.023720f, -0.009700f, 0.025208f, 0.028663f, 0.046382f, -0.001443f, 0.009026f, 0.007554f, 0.025475f, -0.038609f, -0.020481f, 0.038696f, 0.024322f, 0.002602f, -0.006161f, 0.003302f, 0.010784f, -0.020227f, -0.015779f, -0.013617f, 0.002897f, 0.012316f, -0.006185f, -0.021939f, -0.015686f, 0.067248f, 0.045561f, -0.064936f, -0.013140f, 0.057887f, -0.017689f, -0.035942f, -0.025379f, -0.036067f, -0.021292f, 0.058434f, 0.035639f, -0.004793f, 0.026517f, -0.006472f, 0.032335f, -0.020454f, -0.011355f, 0.064918f, -0.027100f, 0.011656f, -0.018858f, -0.007123f, -0.000784f, 0.017681f, 0.052847f, 0.020279f, -0.035891f, -0.010619f, -0.001695f, -0.005538f, 0.029730f, 0.003870f, 0.053220f, - -0.015812f, 0.009165f, -0.005611f, 0.015511f, -0.044767f, 0.026797f, -0.041307f, 0.027856f, -0.002307f, 0.040902f, -0.010806f, 0.030324f, -0.014129f, 0.009531f, 0.017282f, -0.017696f, 0.017907f, 0.041301f, 0.051468f, -0.027361f, 0.052737f, 0.022210f, 0.062589f, -0.018039f, 0.011676f, -0.002369f, -0.007886f, -0.012058f, -0.004500f, -0.020805f, -0.103022f, -0.064788f, -0.020103f, -0.001338f, 0.014414f, 0.007207f, 0.023581f, 0.038696f, -0.056790f, -0.003233f, -0.023056f, 0.085622f, -0.006193f, -0.026144f, -0.007651f, -0.075246f, -0.063092f, 0.094638f, 0.038308f, 0.021100f, -0.014818f, 0.029594f, 0.002242f, -0.068922f, 0.013853f, 0.004581f, -0.026412f, -0.026958f, 0.004102f, 0.000286f, 0.007096f, -0.014514f, -0.007565f, -0.033837f, -0.028778f, 0.011973f, 0.014759f, 0.012936f, 0.009805f, -0.017670f, -0.026033f, -0.015846f, -0.033614f, 0.020951f, 0.006914f, -0.059443f, -0.007310f, -0.017357f, -0.004396f, 0.028830f, -0.027616f, -0.038542f, -0.008756f, 0.024595f, 0.008055f, -0.026833f, 0.015547f, 0.034066f, -0.064110f, -0.017379f, 0.022356f, -0.001392f, -0.005221f, -0.012420f, -0.002959f, 0.010851f, - 0.018669f, 0.004221f, 0.051199f, -0.073542f, 0.069629f, -0.020058f, -0.020518f, 0.018077f, 0.032527f, -0.057549f, -0.011353f, 0.001218f, 0.011749f, 0.003312f, -0.001440f, 0.029174f, -0.017368f, 0.003919f, 0.015435f, 0.017064f, 0.024370f, 0.020193f, 0.006887f, -0.031498f, -0.006182f, 0.043302f, -0.041671f, -0.035613f, 0.044873f, 0.015445f, 0.031762f, 0.049026f, 0.075918f, -0.016985f, -0.047964f, 0.064245f, -0.025676f, -0.010628f, 0.066962f, 0.021165f, -0.024311f, -0.069485f, -0.045800f, -0.006814f, -0.025537f, 0.032957f, 0.065997f, 0.033908f, -0.022391f, 0.067774f, 0.022934f, -0.024305f, 0.018842f, 0.075611f, 0.022027f, 0.014802f, -0.015713f, -0.060243f, -0.080920f, -0.064294f, -0.004448f, 0.049074f, 0.015156f, 0.031076f, 0.115847f, 0.057172f, -0.069000f, -0.046433f, 0.030900f, -0.095628f, -0.043800f, 0.082818f, 0.029747f, -0.106270f, -0.088616f, -0.041020f, -0.067789f, -0.063731f, -0.038022f, 0.058133f, -0.016260f, -0.011949f, 0.151420f, 0.025611f, -0.043277f, -0.011865f, -0.046777f, 0.080528f, -0.016698f, 0.017642f, 0.005794f, 0.001338f, -0.043760f, -0.016831f, -0.003213f, -0.022109f, - 0.005542f, 0.017404f, 0.039580f, 0.005287f, -0.026496f, -0.000995f, 0.000109f, -0.017483f, 0.008381f, 0.011562f, 0.013578f, -0.034720f, 0.009211f, -0.032159f, 0.005879f, 0.017079f, -0.001640f, 0.025895f, -0.005982f, -0.001572f, 0.026359f, -0.005243f, 0.014863f, 0.029038f, -0.009552f, 0.008713f, 0.020270f, 0.021839f, 0.018183f, 0.003660f, 0.004787f, 0.015200f, -0.015662f, -0.006102f, 0.010746f, -0.103137f, 0.071669f, 0.030830f, 0.023278f, 0.028868f, -0.010948f, 0.035392f, 0.029107f, 0.041468f, -0.007718f, 0.056825f, -0.035516f, 0.043124f, -0.015547f, -0.032873f, -0.010329f, -0.053983f, 0.005743f, -0.019778f, 0.019236f, -0.013651f, -0.020810f, 0.051926f, -0.059461f, 0.038502f, -0.001918f, -0.025910f, -0.010284f, 0.023023f, 0.026104f, 0.018807f, 0.049211f, 0.039608f, -0.028315f, -0.005909f, -0.025319f, 0.022081f, -0.022427f, 0.017222f, 0.023768f, 0.010837f, 0.013388f, 0.008800f, -0.013881f, 0.054198f, -0.004965f, 0.016109f, 0.005522f, 0.024968f, 0.013963f, -0.064820f, 0.004307f, -0.038786f, 0.009993f, 0.028590f, -0.005202f, -0.027478f, -0.025054f, 0.060367f, -0.063727f, -0.051665f, - 0.094882f, -0.040314f, 0.024688f, 0.009376f, 0.030547f, -0.014359f, 0.016035f, -0.066030f, 0.004623f, 0.064002f, -0.034210f, -0.025979f, 0.055339f, -0.003852f, -0.045692f, -0.033997f, 0.020470f, -0.018053f, -0.010538f, 0.034161f, -0.025141f, 0.008422f, 0.042799f, -0.048206f, 0.003285f, 0.028030f, -0.015485f, -0.009699f, -0.012438f, 0.017188f, 0.004913f, 0.006845f, -0.006185f, 0.009686f, 0.007538f, -0.009617f, 0.000872f, 0.001533f, 0.025610f, 0.012655f, -0.023731f, 0.029020f, 0.007461f, -0.015070f, 0.008684f, 0.008713f, -0.002483f, -0.008928f, 0.021108f, -0.000202f, 0.007232f, 0.002376f, 0.027259f, -0.012836f, -0.010008f, 0.016168f, -0.024130f, 0.030316f, -0.002105f, -0.017605f, -0.002650f, -0.002178f, 0.003889f, -0.000697f, -0.011552f, -0.002134f, 0.016173f, 0.031511f, -0.062019f, -0.248735f, -0.268252f, -0.010671f, -0.154285f, 0.134782f, 0.489816f, 0.212948f, 0.295020f, 0.372857f, -0.142151f, -0.100824f, -0.040707f, -0.336710f, -0.235779f, -0.077098f, -0.369100f, -0.161409f, -0.033710f, -0.151451f, 0.034928f, 0.344636f, 0.313026f, 0.338814f, 0.439461f, 0.264422f, -0.024801f, 0.098051f, - -0.099647f, -0.392781f, -0.213816f, -0.158463f, -0.326515f, -0.224175f, 0.011523f, -0.251617f, -0.083438f, 0.054396f, -0.251389f, -0.129379f, 0.186477f, 0.071762f, 0.202311f, 0.505300f, 0.410630f, 0.331865f, 0.597849f, 0.433678f, -0.008317f, 0.061576f, -0.112854f, -0.537461f, -0.513765f, -0.529987f, -0.824966f, -0.559126f, -0.345924f, -0.338670f, 0.003094f, 0.266599f, 0.300444f, 0.421419f, 0.638548f, 0.590829f, 0.498683f, 0.492305f, 0.281542f, 0.098318f, 0.014734f, -0.031365f, -0.225127f, -0.386812f, -0.474652f, -0.508191f, -0.685748f, -0.570288f, -0.439995f, -0.215859f, 0.228522f, 0.676443f, 0.630033f, 0.690388f, 0.483908f, 0.058126f, -0.066870f, -0.208586f, -0.286304f, -0.193951f, -0.095656f, -0.096532f, -0.043296f, -0.044832f, -0.070474f, -0.000529f, 0.009031f, 0.049362f, 0.156663f, 0.142097f, 0.104540f, 0.143990f, -0.014715f, -0.094719f, -0.013602f, -0.111041f, -0.096189f, 0.057954f, 0.062879f, 0.013754f, 0.013661f, -0.168683f, -0.429797f, -0.407121f, -0.346789f, -0.261584f, 0.125923f, 0.390225f, 0.477544f, 0.603363f, 0.540887f, 0.333210f, 0.231139f, 0.081408f, -0.097083f, -0.202725f, - -0.241538f, -0.313087f, -0.383885f, -0.432931f, -0.505349f, -0.449509f, -0.155857f, 0.109750f, 0.259357f, 0.336378f, 0.365782f, 0.274318f, 0.190338f, 0.095166f, -0.003767f, -0.011268f, 0.046555f, 0.074332f, 0.081588f, 0.088721f, 0.073833f, 0.006856f, -0.060198f, -0.130512f, -0.233551f, -0.224220f, -0.179966f, -0.146470f, -0.071319f, 0.006661f, 0.050612f, 0.044768f, 0.029253f, 0.017308f, 0.014183f}, - {-0.014472f, 0.007019f, -0.016458f, 0.003226f, 0.001197f, 0.001032f, -0.011229f, -0.003981f, 0.003092f, -0.002462f, 0.003660f, 0.005849f, 0.003532f, -0.000153f, 0.004611f, -0.012695f, 0.000308f, -0.000495f, -0.000311f, 0.006973f, 0.010611f, -0.011130f, -0.002496f, -0.006752f, -0.002200f, 0.003959f, 0.007282f, 0.001177f, 0.001807f, -0.002745f, -0.003625f, -0.002956f, -0.002251f, -0.005069f, 0.002770f, -0.005110f, -0.003448f, 0.005807f, -0.004963f, 0.004168f, 0.000689f, -0.012567f, -0.004259f, -0.006928f, -0.001661f, 0.005333f, -0.003716f, -0.001103f, -0.003655f, -0.003783f, -0.002644f, 0.005213f, 0.007932f, 0.001458f, 0.004410f, 0.003501f, -0.004216f, -0.007994f, 0.004286f, 0.003527f, -0.001749f, -0.006879f, -0.005739f, 0.005174f, 0.001046f, 0.003869f, 0.001842f, -0.010573f, -0.003493f, -0.003938f, 0.005829f, 0.002356f, -0.010633f, 0.002794f, -0.005638f, -0.001748f, -0.000556f, -0.003856f, 0.003029f, -0.003519f, 0.000811f, 0.004053f, 0.004184f, 0.002570f, 0.002884f, 0.001887f, -0.000341f, 0.002015f, 0.002480f, 0.000234f, -0.002067f, 0.002838f, 0.000585f, 0.000023f, -0.000841f, -0.001907f, - 0.000912f, 0.001790f, 0.000320f, 0.001469f, -0.000569f, -0.000972f, -0.000025f, -0.001493f, 0.001565f, -0.000276f, 0.001851f, -0.000358f, 0.000357f, -0.000180f, 0.001720f, 0.000905f, -0.000092f, -0.000725f, 0.001089f, -0.020418f, 0.013541f, -0.009750f, 0.001369f, -0.001286f, -0.003714f, 0.010380f, -0.009100f, -0.006043f, 0.000009f, 0.010972f, -0.004050f, -0.000609f, -0.001161f, 0.009081f, -0.005450f, -0.014497f, -0.003211f, -0.007444f, -0.010133f, 0.000405f, -0.000792f, 0.001706f, 0.005886f, 0.009696f, 0.006046f, 0.000964f, 0.014803f, 0.005786f, 0.000518f, 0.010576f, 0.011079f, -0.000859f, -0.005943f, 0.000451f, 0.004904f, 0.003937f, -0.000068f, -0.002103f, -0.008567f, -0.007540f, -0.003701f, 0.008491f, 0.003521f, 0.014602f, 0.008268f, -0.000623f, 0.004896f, 0.005965f, 0.002004f, -0.009032f, 0.009825f, -0.003864f, 0.005146f, -0.000364f, 0.003123f, -0.010774f, -0.001706f, -0.003408f, 0.003839f, -0.003271f, -0.004059f, 0.011299f, -0.000760f, -0.008437f, 0.003366f, -0.006414f, 0.005283f, -0.003606f, 0.008469f, 0.007311f, 0.008124f, 0.002757f, -0.007787f, 0.004324f, -0.001164f, 0.004263f, - -0.003358f, 0.001237f, 0.011121f, -0.004250f, 0.005413f, 0.007330f, -0.001074f, 0.000474f, -0.000311f, -0.001301f, -0.002928f, 0.001872f, -0.000152f, 0.002804f, -0.000036f, 0.002271f, 0.000167f, 0.000213f, 0.001625f, 0.002731f, 0.001152f, 0.002623f, 0.002916f, -0.000520f, -0.002084f, 0.003786f, 0.000439f, -0.000077f, 0.000320f, 0.002320f, -0.000587f, -0.002034f, 0.001123f, -0.000468f, 0.000626f, 0.000110f, 0.002286f, 0.000765f, 0.001258f, 0.000772f, 0.004081f, 0.004587f, 0.000231f, -0.003978f, 0.004278f, 0.001671f, 0.001292f, 0.002027f, -0.016178f, 0.005239f, -0.010314f, 0.001709f, 0.003326f, 0.003508f, -0.004741f, 0.008585f, 0.001347f, -0.003182f, -0.001498f, 0.010021f, 0.007176f, -0.004366f, -0.005632f, -0.004607f, 0.003856f, 0.007110f, -0.004324f, -0.004703f, 0.001364f, -0.018333f, -0.000074f, -0.007825f, -0.003121f, -0.007784f, -0.010237f, -0.001256f, 0.009253f, 0.002558f, -0.008352f, -0.002208f, 0.007914f, 0.002406f, -0.005142f, 0.008999f, -0.003957f, -0.012548f, -0.003780f, 0.007048f, -0.003156f, 0.008340f, 0.015893f, 0.012892f, 0.001739f, -0.000175f, 0.004459f, -0.001953f, - -0.009452f, 0.000102f, 0.003497f, -0.006734f, 0.005630f, -0.013358f, -0.002048f, 0.000834f, -0.005724f, -0.004360f, 0.005768f, 0.011653f, -0.009180f, -0.009527f, 0.005870f, 0.005965f, 0.010913f, 0.003540f, -0.006460f, 0.008766f, 0.007505f, -0.002513f, 0.008373f, -0.009322f, 0.009388f, 0.002298f, 0.006343f, 0.001301f, -0.005083f, -0.002871f, -0.000973f, 0.002088f, 0.000134f, -0.004581f, 0.001516f, 0.000055f, -0.002751f, -0.002196f, 0.000553f, -0.000673f, 0.001991f, 0.000127f, 0.003365f, -0.002482f, -0.001889f, -0.000120f, 0.000369f, 0.002983f, -0.001582f, -0.002964f, 0.001276f, 0.000117f, -0.000703f, 0.002031f, -0.000536f, 0.001234f, -0.001419f, 0.001244f, 0.001723f, 0.000243f, 0.002840f, 0.027540f, -0.010696f, -0.004709f, -0.001761f, 0.019856f, -0.001974f, 0.015017f, -0.010915f, 0.013234f, -0.013093f, -0.011487f, 0.002766f, 0.006269f, -0.007729f, -0.001897f, 0.003952f, -0.001009f, 0.005153f, -0.007970f, 0.009206f, 0.003331f, -0.009865f, -0.000372f, 0.003964f, 0.003094f, 0.001769f, 0.018680f, 0.014891f, 0.011650f, 0.000004f, 0.007563f, 0.000714f, 0.002184f, 0.005599f, -0.017233f, - -0.002630f, 0.010507f, 0.006841f, 0.008156f, -0.000187f, -0.003051f, 0.003811f, -0.000676f, 0.021072f, -0.003186f, 0.003559f, 0.002118f, 0.001037f, -0.006228f, 0.012640f, -0.001433f, 0.013142f, -0.007233f, -0.007581f, 0.005446f, -0.005048f, -0.017530f, -0.008070f, 0.003535f, -0.001658f, -0.012538f, 0.003508f, 0.000041f, 0.016328f, 0.001434f, 0.001424f, -0.004985f, 0.005950f, 0.006030f, -0.001330f, -0.000948f, 0.014344f, 0.010542f, 0.010475f, -0.006908f, -0.009831f, -0.008585f, -0.016800f, 0.001403f, -0.011892f, -0.004014f, 0.000759f, -0.006484f, -0.007396f, -0.004122f, -0.000828f, -0.002523f, 0.003965f, 0.007382f, -0.001372f, -0.000850f, -0.003305f, 0.001713f, -0.002391f, -0.002768f, 0.001190f, 0.002026f, 0.000041f, 0.002609f, -0.001511f, 0.000097f, -0.001459f, -0.000984f, -0.000792f, 0.001520f, -0.000899f, -0.000908f, -0.000532f, -0.002386f, -0.002708f, 0.000170f, -0.000290f, -0.003284f, 0.002805f, 0.002803f, 0.003417f, -0.000062f, -0.002368f, -0.001390f, 0.002688f, 0.020200f, -0.016087f, -0.000452f, -0.016824f, -0.011071f, -0.006582f, 0.014507f, 0.008494f, -0.020319f, -0.027758f, -0.010717f, - 0.009732f, 0.006905f, -0.004200f, 0.009444f, 0.000046f, -0.002410f, 0.001033f, -0.014621f, 0.004341f, -0.001970f, 0.001170f, 0.004554f, 0.000940f, -0.000103f, 0.006075f, 0.005322f, -0.009727f, -0.009704f, 0.010975f, -0.003542f, -0.005466f, 0.006699f, -0.019000f, 0.004468f, 0.003914f, -0.017517f, 0.006313f, 0.018028f, 0.010908f, 0.012359f, 0.002503f, 0.006798f, 0.017124f, 0.003173f, 0.003231f, -0.019739f, 0.010359f, 0.014796f, 0.012107f, 0.002286f, 0.012300f, -0.014078f, 0.013781f, -0.004195f, -0.013838f, -0.021317f, -0.000245f, -0.013577f, -0.010948f, -0.004727f, -0.013000f, -0.032379f, 0.001370f, 0.001638f, -0.001116f, 0.004986f, 0.015875f, 0.005936f, 0.006385f, 0.004196f, -0.011583f, 0.001645f, 0.005373f, 0.004591f, 0.004072f, 0.004658f, -0.011886f, -0.003564f, -0.014974f, -0.006789f, -0.001103f, 0.003443f, -0.005492f, 0.005266f, 0.001037f, 0.000897f, -0.003769f, -0.000642f, -0.002013f, -0.000005f, -0.002173f, 0.001967f, 0.000624f, 0.001483f, -0.000573f, -0.002764f, -0.002304f, -0.002279f, 0.002273f, 0.001447f, -0.000027f, -0.001081f, -0.002089f, -0.002267f, -0.002203f, -0.006760f, - 0.000993f, 0.000919f, -0.005128f, -0.002689f, -0.001876f, -0.043727f, 0.021493f, 0.002747f, -0.017009f, 0.004101f, -0.001900f, -0.005037f, -0.003501f, -0.009645f, 0.005130f, -0.004958f, 0.000977f, 0.006272f, 0.005768f, 0.018909f, -0.007695f, -0.018117f, 0.009802f, -0.022966f, -0.009936f, 0.003720f, 0.003109f, 0.002593f, 0.007383f, 0.009184f, 0.007881f, -0.000189f, 0.010445f, 0.000662f, -0.004225f, 0.013923f, 0.008584f, -0.004268f, 0.008235f, -0.014442f, 0.027192f, 0.001011f, 0.005008f, -0.002574f, -0.023460f, -0.004069f, -0.008773f, -0.008213f, 0.003565f, 0.019484f, 0.000484f, 0.000803f, -0.002584f, -0.005394f, -0.012698f, 0.003983f, -0.002155f, 0.006970f, -0.015986f, 0.005358f, 0.008404f, 0.003721f, -0.011865f, -0.004196f, 0.003031f, 0.001514f, 0.009475f, 0.001869f, 0.033055f, -0.009465f, -0.014200f, -0.016058f, -0.004935f, 0.000332f, 0.011750f, -0.015994f, -0.002153f, -0.006859f, 0.007227f, -0.023348f, -0.001096f, -0.006329f, -0.009855f, 0.002905f, -0.002917f, 0.006362f, -0.000911f, 0.011694f, 0.007326f, -0.000037f, 0.002407f, 0.000902f, 0.001394f, 0.013563f, 0.001553f, 0.009699f, - 0.003440f, -0.002453f, 0.000172f, 0.000347f, 0.002726f, -0.001786f, 0.001364f, -0.000521f, 0.004031f, 0.000760f, -0.003147f, -0.004463f, 0.003534f, -0.001719f, -0.005394f, -0.002343f, -0.002872f, -0.001235f, -0.001701f, -0.000099f, 0.006503f, 0.000112f, 0.001777f, 0.000795f, 0.002585f, -0.002602f, -0.001523f, -0.005653f, 0.019687f, -0.006404f, -0.004766f, 0.004193f, 0.005768f, -0.015982f, -0.016127f, -0.014755f, -0.013874f, -0.022655f, 0.014179f, -0.013284f, 0.003932f, 0.005425f, 0.020471f, -0.003461f, -0.004949f, 0.016020f, 0.003658f, 0.003303f, -0.018958f, -0.012443f, 0.009214f, 0.003964f, 0.007310f, 0.011037f, -0.019971f, 0.000150f, 0.008417f, 0.018916f, -0.000274f, 0.001722f, -0.002942f, -0.000061f, -0.013064f, -0.002533f, -0.004121f, -0.024221f, -0.002025f, 0.007304f, -0.013946f, 0.005857f, -0.015165f, -0.000164f, -0.010522f, -0.002223f, -0.003348f, 0.001283f, 0.019377f, -0.005759f, 0.000161f, 0.009898f, -0.005680f, 0.005762f, -0.016262f, -0.028887f, -0.015752f, -0.008819f, -0.004187f, 0.002977f, 0.019105f, -0.009129f, 0.005040f, 0.004585f, -0.013941f, 0.004576f, -0.010766f, -0.003844f, - 0.006914f, 0.019396f, -0.003119f, -0.001147f, 0.006100f, -0.000546f, -0.018440f, -0.017439f, -0.007407f, 0.017193f, -0.002222f, -0.026054f, 0.001693f, -0.017157f, -0.007707f, -0.003652f, -0.001952f, 0.005648f, -0.006714f, -0.002102f, 0.006305f, -0.001944f, 0.007428f, 0.006447f, 0.004590f, -0.003198f, 0.007267f, -0.006744f, -0.005143f, -0.004815f, 0.000955f, -0.000895f, -0.001596f, -0.001693f, -0.001452f, -0.002421f, 0.001302f, -0.000733f, 0.004609f, -0.003446f, -0.002288f, 0.001879f, -0.003065f, -0.001835f, -0.007686f, -0.009210f, -0.000997f, 0.000577f, 0.004264f, 0.000456f, 0.002492f, 0.000065f, 0.019226f, 0.020181f, -0.006169f, 0.001880f, 0.021170f, -0.021523f, -0.019147f, 0.016198f, -0.003870f, 0.002216f, 0.014713f, -0.002904f, -0.004012f, 0.014689f, -0.027198f, 0.011592f, -0.001215f, 0.004605f, 0.013257f, 0.013657f, -0.015222f, 0.002885f, -0.020919f, 0.006436f, -0.006285f, -0.002247f, -0.014551f, -0.000753f, -0.020864f, 0.002016f, -0.018081f, 0.012668f, -0.006331f, 0.002390f, 0.022609f, 0.010468f, 0.010135f, -0.018043f, 0.003345f, 0.020933f, -0.004930f, -0.029774f, 0.016001f, -0.003646f, - 0.002942f, -0.005869f, -0.013773f, 0.019650f, 0.007100f, 0.016009f, 0.004036f, 0.002308f, -0.013183f, -0.017168f, 0.006217f, 0.008017f, 0.008646f, 0.011400f, 0.026381f, -0.000888f, -0.020386f, -0.013309f, 0.015899f, -0.002298f, -0.017515f, -0.004630f, -0.001037f, -0.004799f, -0.022174f, 0.000341f, 0.003083f, 0.005540f, -0.008005f, 0.012798f, -0.000609f, 0.001407f, 0.018266f, 0.009310f, 0.019018f, -0.018670f, -0.007756f, 0.003439f, -0.010209f, 0.008495f, 0.005270f, 0.005202f, -0.000732f, -0.002377f, -0.001516f, -0.000291f, -0.007303f, 0.009397f, -0.003394f, 0.005762f, -0.001472f, 0.006712f, -0.002629f, -0.003334f, 0.000467f, 0.003856f, -0.003261f, -0.000129f, -0.000772f, -0.003708f, -0.001810f, 0.001700f, -0.004019f, -0.001274f, -0.008594f, -0.006757f, 0.003719f, 0.005972f, 0.003172f, 0.002721f, -0.000837f, -0.000709f, -0.003981f, -0.000651f, 0.004529f, -0.005778f, -0.000748f, 0.002667f, -0.001089f, 0.004674f, 0.004611f, -0.003235f, -0.001225f, 0.004179f, 0.002984f, -0.002175f, 0.015310f, -0.018635f, 0.021827f, -0.004913f, 0.023088f, -0.018855f, 0.017089f, 0.001882f, -0.001806f, 0.028759f, - -0.015024f, 0.001723f, -0.014583f, -0.004342f, 0.043829f, 0.021156f, 0.009306f, 0.006347f, 0.012465f, -0.006998f, -0.000059f, -0.037048f, 0.006882f, -0.001541f, -0.016026f, 0.017776f, 0.013328f, -0.000547f, 0.003163f, -0.021404f, 0.018867f, -0.009991f, 0.020036f, 0.013140f, 0.010697f, -0.015353f, -0.002706f, -0.012907f, 0.019238f, 0.004442f, -0.007011f, 0.034116f, 0.016297f, -0.003835f, 0.001786f, -0.028242f, 0.004792f, 0.001324f, 0.022436f, -0.010068f, -0.028745f, -0.004931f, -0.007959f, -0.005572f, -0.040625f, -0.020226f, -0.043270f, -0.022023f, -0.015470f, 0.005109f, -0.010886f, 0.020443f, 0.002538f, -0.023339f, 0.014084f, -0.015609f, 0.022081f, -0.019674f, -0.015979f, 0.011530f, 0.019668f, 0.019403f, 0.000056f, -0.018157f, -0.014515f, 0.008910f, -0.011906f, 0.000467f, -0.006017f, 0.007342f, -0.008174f, -0.011986f, 0.021163f, 0.009837f, 0.002887f, -0.003351f, 0.007973f, 0.004531f, 0.009815f, -0.000904f, 0.006646f, 0.002374f, 0.011023f, 0.000234f, -0.000523f, 0.000639f, -0.005437f, 0.000209f, 0.002816f, 0.001369f, 0.001206f, 0.000310f, 0.008489f, 0.003909f, -0.006708f, 0.000758f, - 0.003860f, -0.002105f, -0.002563f, -0.001608f, 0.000510f, 0.001635f, 0.004274f, -0.001060f, 0.002914f, 0.004979f, -0.001034f, -0.005029f, -0.000444f, -0.005485f, -0.002414f, -0.005065f, -0.003269f, 0.004411f, 0.000302f, -0.002831f, -0.026845f, -0.031873f, -0.021127f, -0.003040f, -0.000410f, -0.004135f, 0.007576f, 0.011531f, 0.008006f, -0.000005f, 0.004293f, -0.010116f, 0.006638f, -0.020534f, -0.028626f, 0.000899f, 0.021945f, 0.003843f, -0.007731f, 0.017562f, 0.010391f, 0.016998f, 0.028610f, 0.003715f, -0.008840f, -0.018235f, -0.014606f, 0.008361f, -0.016741f, -0.011606f, 0.004301f, -0.013246f, -0.029202f, -0.016006f, -0.001622f, -0.003390f, 0.006818f, -0.006568f, 0.016162f, 0.004696f, 0.006125f, 0.022381f, -0.003597f, 0.002654f, 0.005178f, -0.017865f, 0.021061f, 0.003469f, -0.019500f, -0.031888f, 0.008103f, 0.002866f, -0.023183f, 0.024524f, 0.015912f, -0.021481f, 0.007261f, 0.020614f, 0.011588f, 0.005526f, 0.017110f, -0.007836f, -0.006918f, 0.001294f, -0.009494f, -0.015181f, 0.025968f, -0.023166f, -0.002595f, 0.009688f, 0.002213f, 0.040374f, -0.035064f, 0.010689f, -0.004493f, -0.000171f, - 0.011279f, 0.000449f, 0.002407f, -0.009434f, 0.005332f, -0.020802f, -0.044106f, -0.002494f, -0.000549f, -0.022678f, -0.014424f, -0.003172f, 0.008323f, 0.007255f, 0.003095f, 0.001848f, -0.007359f, -0.000244f, -0.010304f, -0.005207f, -0.002011f, -0.005995f, -0.009292f, 0.003156f, -0.001782f, 0.001557f, -0.004766f, -0.003504f, 0.002172f, -0.007594f, -0.016105f, -0.005657f, 0.001064f, -0.004402f, -0.015532f, -0.008699f, 0.006411f, 0.004367f, 0.003028f, -0.003122f, -0.005984f, -0.007484f, -0.001403f, -0.003787f, -0.008829f, -0.007350f, -0.010406f, -0.005479f, -0.007030f, -0.007079f, -0.000233f, -0.001779f, 0.002787f, -0.002812f, -0.001979f, 0.005680f, -0.007778f, -0.020810f, 0.018322f, -0.037619f, -0.026715f, 0.019802f, -0.000927f, -0.034267f, 0.017565f, -0.020058f, 0.038776f, 0.007736f, -0.051036f, -0.006517f, 0.004641f, -0.012919f, 0.003842f, 0.008867f, 0.018118f, 0.015480f, -0.029641f, -0.001333f, 0.002779f, -0.006183f, -0.027161f, -0.004238f, -0.005629f, -0.009371f, -0.008277f, -0.000433f, 0.002023f, 0.023083f, 0.025348f, -0.007896f, 0.013660f, 0.011742f, 0.011536f, 0.025204f, 0.000338f, 0.006746f, - -0.029065f, -0.010041f, 0.010271f, -0.005796f, 0.014066f, 0.034613f, 0.005133f, -0.030380f, -0.067577f, -0.000199f, -0.020812f, 0.019152f, -0.012746f, -0.006932f, -0.013248f, -0.036568f, 0.015936f, 0.048776f, 0.002903f, 0.012749f, -0.038254f, 0.007882f, -0.004292f, -0.017298f, 0.004452f, 0.018677f, 0.009796f, 0.015061f, -0.016429f, 0.024180f, 0.014278f, -0.028287f, -0.041872f, -0.002722f, -0.031819f, -0.029891f, -0.018937f, -0.022052f, 0.002957f, 0.039279f, 0.015198f, 0.001398f, -0.005156f, 0.025273f, -0.012786f, -0.018904f, -0.002907f, 0.003894f, -0.002847f, 0.004615f, 0.004052f, 0.000182f, 0.004107f, 0.009642f, 0.003703f, -0.001098f, 0.000870f, -0.003803f, -0.003575f, 0.010116f, -0.002915f, 0.009951f, 0.000414f, -0.005718f, 0.001407f, -0.003036f, -0.004038f, 0.012037f, -0.002723f, 0.006486f, -0.014658f, -0.001959f, 0.007439f, -0.000132f, 0.003179f, 0.012293f, -0.009053f, 0.011227f, -0.000901f, 0.001191f, 0.003709f, -0.003866f, 0.008894f, 0.001185f, 0.000778f, 0.001446f, 0.000697f, 0.003866f, 0.011408f, -0.004725f, 0.004198f, 0.004285f, 0.004627f, 0.004830f, -0.073694f, -0.046519f, - 0.033477f, 0.026964f, 0.043843f, -0.000116f, 0.017301f, 0.004317f, 0.013871f, -0.000517f, 0.008962f, -0.019367f, -0.023221f, -0.014404f, -0.020784f, -0.013402f, -0.014793f, 0.017861f, 0.042152f, 0.009237f, -0.051329f, -0.012165f, 0.009054f, -0.013604f, 0.012601f, -0.029330f, -0.002327f, -0.000952f, 0.001760f, 0.014358f, 0.010907f, 0.002051f, -0.003485f, -0.006523f, 0.012011f, 0.023280f, -0.018575f, -0.028862f, 0.019280f, 0.009191f, 0.025273f, 0.011550f, 0.036716f, -0.025329f, -0.008847f, 0.023441f, 0.035011f, 0.030404f, 0.018037f, 0.008578f, -0.007442f, 0.002327f, -0.004349f, 0.000157f, 0.012171f, -0.045651f, 0.024608f, -0.003580f, 0.006709f, -0.003001f, 0.034740f, -0.010567f, -0.000459f, -0.007591f, 0.022052f, 0.018689f, -0.038911f, 0.027968f, -0.033091f, -0.001666f, -0.016753f, -0.016664f, 0.015194f, 0.002774f, -0.051614f, -0.004573f, -0.004019f, -0.009530f, -0.005958f, -0.001211f, -0.006538f, 0.026847f, 0.002700f, 0.025680f, -0.008061f, 0.030365f, 0.014387f, -0.015685f, 0.006743f, -0.003920f, 0.001806f, 0.001968f, 0.002926f, 0.004090f, 0.001629f, -0.005892f, -0.009661f, 0.015098f, - 0.006762f, 0.012390f, 0.003525f, -0.007383f, 0.014333f, 0.000548f, 0.000816f, 0.010747f, -0.030066f, -0.013981f, -0.013323f, 0.004221f, -0.000337f, -0.020483f, 0.000958f, 0.003425f, -0.000874f, -0.003860f, 0.000020f, 0.007021f, -0.007412f, -0.000318f, 0.008232f, 0.004050f, 0.010018f, -0.008705f, -0.004180f, 0.002456f, 0.010864f, 0.040932f, -0.045537f, -0.001047f, -0.025883f, -0.073014f, -0.008632f, -0.026948f, -0.057630f, 0.011518f, -0.000371f, -0.011199f, 0.003625f, 0.030973f, -0.002002f, -0.032737f, 0.011238f, 0.001324f, -0.010518f, -0.007874f, -0.005834f, 0.001658f, 0.035697f, -0.008008f, -0.001309f, 0.016210f, 0.011983f, -0.005135f, 0.017289f, 0.015820f, -0.007616f, -0.007491f, -0.014332f, 0.019867f, -0.004739f, -0.034194f, 0.005232f, -0.002258f, 0.011762f, 0.044824f, -0.029903f, -0.047975f, -0.030251f, -0.014004f, 0.006648f, 0.016020f, 0.008521f, 0.034127f, 0.017063f, -0.024028f, -0.013867f, -0.032778f, 0.028410f, 0.017488f, 0.003177f, 0.006049f, -0.018797f, 0.002004f, -0.019888f, 0.034412f, 0.033764f, 0.002433f, -0.015699f, -0.008716f, 0.003355f, 0.031334f, 0.062503f, 0.038482f, - -0.005889f, -0.013925f, 0.000891f, 0.019923f, 0.008664f, 0.018394f, 0.025346f, -0.025038f, -0.001137f, -0.048324f, -0.032563f, -0.031034f, -0.020787f, 0.013056f, 0.029734f, 0.020453f, 0.003273f, -0.005863f, -0.002739f, -0.026869f, -0.033806f, -0.008487f, -0.017937f, -0.016901f, 0.003939f, -0.003370f, -0.004274f, 0.000253f, 0.001144f, 0.007807f, -0.008564f, 0.017379f, -0.017523f, 0.007512f, -0.022317f, -0.007415f, 0.000024f, 0.004237f, -0.000603f, 0.004032f, 0.008639f, -0.005973f, 0.001078f, 0.020661f, 0.025171f, 0.030324f, 0.016659f, 0.019042f, 0.008645f, 0.003724f, 0.001492f, 0.000665f, 0.001226f, -0.005151f, -0.016232f, -0.015847f, -0.002564f, 0.012578f, 0.000082f, 0.002075f, -0.006579f, -0.004579f, 0.002019f, 0.015383f, 0.009697f, 0.018335f, 0.012959f, 0.015628f, -0.035671f, -0.004209f, -0.018481f, 0.026816f, -0.029640f, 0.005724f, 0.002584f, 0.052466f, -0.032479f, -0.009531f, -0.033405f, -0.007241f, -0.032996f, -0.027736f, -0.020019f, 0.010323f, -0.035491f, -0.025757f, -0.038592f, -0.009872f, -0.005823f, -0.011826f, -0.017450f, -0.043013f, 0.011220f, -0.030410f, 0.012264f, -0.031905f, - 0.039281f, 0.006032f, 0.017596f, -0.007607f, -0.037089f, 0.019839f, 0.011482f, -0.012499f, 0.019834f, 0.027752f, -0.015027f, -0.039964f, -0.021407f, 0.053519f, -0.022891f, -0.001765f, 0.001368f, -0.009102f, 0.011760f, 0.034681f, 0.006148f, 0.014741f, -0.011182f, 0.024807f, 0.000342f, 0.019538f, 0.005955f, 0.006622f, -0.000609f, 0.001989f, 0.042451f, 0.012852f, 0.101634f, -0.062052f, 0.039607f, 0.055683f, -0.014714f, 0.001256f, 0.028732f, -0.020833f, -0.006096f, 0.046622f, 0.018480f, -0.007788f, 0.024759f, -0.010607f, -0.045153f, -0.033420f, 0.011344f, 0.001805f, -0.060329f, -0.016803f, -0.006158f, -0.031348f, 0.016116f, 0.009384f, -0.020359f, -0.016693f, -0.012289f, 0.001758f, 0.005568f, 0.012766f, -0.010575f, 0.001497f, 0.007475f, -0.003345f, -0.013396f, 0.003696f, 0.002834f, 0.004224f, 0.012568f, 0.002232f, -0.007621f, 0.001016f, 0.014561f, 0.012887f, 0.006292f, -0.014425f, -0.000289f, 0.026545f, -0.007548f, -0.005600f, 0.014759f, -0.014417f, -0.024929f, -0.007112f, 0.001399f, -0.003244f, -0.012777f, -0.003935f, -0.000736f, -0.014128f, -0.002892f, 0.001518f, -0.003880f, -0.014660f, - -0.024139f, 0.009203f, 0.026052f, 0.009420f, -0.000486f, 0.000953f, -0.004810f, -0.015374f, -0.012229f, 0.057072f, 0.063712f, 0.001445f, 0.046140f, 0.045971f, -0.001972f, 0.021016f, -0.045149f, -0.013576f, 0.040993f, 0.004444f, 0.040478f, 0.056485f, 0.046568f, -0.008647f, 0.030569f, -0.046213f, -0.072491f, -0.030632f, -0.026793f, 0.018218f, 0.000648f, 0.019453f, 0.020884f, 0.044636f, 0.034580f, 0.012515f, -0.034308f, -0.003590f, 0.035322f, 0.011855f, -0.016588f, 0.023057f, 0.048503f, -0.004747f, 0.017200f, -0.038513f, 0.019240f, -0.030261f, -0.007907f, -0.018968f, -0.040153f, 0.025578f, 0.003281f, 0.012818f, 0.049100f, -0.025637f, -0.029115f, 0.018224f, 0.050850f, -0.038935f, -0.026053f, 0.017053f, -0.012348f, 0.071859f, 0.053134f, -0.049422f, -0.018489f, -0.038929f, 0.002542f, 0.044104f, -0.019745f, -0.029498f, -0.013354f, 0.003335f, 0.010853f, -0.035438f, 0.009030f, 0.073239f, 0.005631f, -0.047853f, -0.073725f, 0.060454f, -0.071113f, -0.059332f, -0.034754f, -0.030020f, -0.051372f, 0.014465f, 0.013445f, 0.083766f, 0.021085f, 0.037175f, -0.018079f, 0.040369f, -0.004593f, -0.016392f, - 0.015263f, 0.002424f, -0.003594f, 0.041386f, 0.005423f, 0.021463f, 0.026180f, 0.014638f, 0.031336f, -0.008270f, 0.008606f, -0.006166f, -0.002347f, -0.006128f, -0.026024f, -0.018786f, -0.021471f, 0.025507f, 0.009028f, 0.022781f, 0.027613f, -0.005487f, 0.016589f, 0.036234f, 0.012945f, -0.010943f, 0.018486f, 0.021981f, 0.007435f, -0.004439f, -0.025795f, -0.022634f, 0.023179f, 0.010370f, 0.015428f, 0.031053f, 0.067668f, 0.029684f, 0.017085f, 0.013016f, 0.019151f, -0.009508f, -0.002257f, 0.034688f, -0.021943f, 0.012461f, -0.012192f, 0.011779f, 0.006858f, -0.066170f, -0.038364f, -0.049799f, 0.013034f, 0.027418f, 0.009592f, 0.042157f, 0.037876f, 0.053506f, 0.016541f, 0.058438f, 0.026046f, 0.037659f, -0.018715f, -0.007487f, -0.018801f, -0.045323f, -0.032534f, -0.070022f, -0.041567f, -0.013604f, -0.040833f, 0.008812f, -0.001687f, -0.001240f, 0.016596f, 0.013549f, 0.006255f, 0.033642f, -0.008580f, -0.028217f, 0.040403f, 0.003561f, -0.053624f, -0.023274f, -0.005853f, -0.064536f, -0.048903f, -0.047656f, 0.004341f, 0.022774f, 0.006176f, -0.024887f, -0.003164f, 0.026733f, 0.016529f, 0.063887f, - 0.011908f, -0.086319f, -0.028749f, -0.015066f, 0.013723f, 0.013283f, -0.009934f, -0.023019f, 0.031896f, -0.047883f, -0.008875f, -0.038423f, 0.028978f, -0.075352f, -0.046596f, -0.061480f, -0.049274f, 0.002198f, -0.027787f, -0.021607f, -0.049433f, 0.024717f, 0.088810f, -0.002445f, 0.057409f, -0.032004f, 0.014081f, -0.042315f, -0.000172f, 0.063113f, 0.015080f, -0.030049f, 0.003354f, 0.024205f, -0.042724f, -0.066323f, -0.035627f, 0.016778f, -0.051476f, 0.021974f, -0.000759f, -0.001574f, 0.033038f, 0.017103f, -0.008818f, 0.038196f, 0.038182f, 0.030503f, -0.010072f, -0.010689f, -0.006689f, -0.000597f, 0.026614f, 0.018991f, 0.013442f, 0.000542f, 0.027756f, 0.015249f, 0.004282f, 0.003512f, 0.020565f, -0.008698f, -0.007026f, 0.014183f, -0.021367f, 0.019190f, -0.018558f, -0.018402f, -0.021841f, 0.038160f, 0.023844f, 0.035466f, 0.013034f, 0.013302f, 0.003162f, 0.002389f, 0.017395f, -0.026799f, -0.042973f, 0.003278f, 0.012018f, 0.010651f, -0.017585f, 0.049191f, 0.020090f, 0.049624f, -0.081142f, 0.035119f, 0.060859f, -0.005982f, 0.070105f, -0.037249f, -0.107122f, -0.055461f, -0.000816f, -0.010742f, - 0.011745f, -0.038412f, 0.036927f, 0.052243f, -0.047170f, 0.041483f, -0.025877f, -0.031639f, -0.074831f, -0.030587f, -0.043037f, -0.028431f, -0.034440f, 0.033652f, 0.004951f, -0.067051f, -0.085850f, 0.064724f, 0.014578f, 0.023158f, -0.020136f, 0.005124f, -0.023293f, 0.000545f, 0.019627f, 0.029826f, 0.027020f, 0.072475f, 0.002251f, -0.052140f, 0.070294f, -0.007527f, -0.018358f, -0.032754f, 0.029625f, -0.057971f, -0.038952f, 0.032766f, -0.030182f, -0.045175f, -0.056661f, -0.049668f, -0.010661f, 0.006542f, 0.005295f, -0.015397f, 0.060955f, 0.051855f, -0.005075f, -0.029703f, -0.051085f, -0.058655f, 0.014396f, 0.012260f, -0.011579f, -0.005814f, 0.083706f, 0.005556f, -0.024490f, 0.036093f, 0.017335f, -0.055300f, 0.043880f, 0.079615f, -0.087446f, 0.141104f, 0.037688f, 0.040666f, 0.015441f, 0.040953f, -0.011246f, -0.087292f, 0.059688f, 0.004975f, -0.010861f, 0.061936f, -0.073642f, 0.012772f, 0.012917f, -0.000540f, -0.007135f, 0.002970f, -0.005766f, -0.020481f, 0.010847f, 0.021634f, -0.018148f, -0.002470f, -0.026836f, -0.030914f, 0.039889f, -0.008995f, -0.019599f, 0.008988f, -0.010695f, -0.024651f, - -0.044398f, -0.010383f, -0.015106f, 0.038656f, -0.037256f, -0.003964f, 0.045727f, -0.009901f, 0.036537f, -0.013284f, -0.031995f, 0.016398f, -0.006471f, -0.015441f, 0.018904f, 0.004215f, 0.050366f, -0.007012f, -0.000811f, 0.033184f, 0.101236f, 0.044476f, 0.002376f, -0.033871f, 0.048369f, -0.000786f, 0.003516f, -0.023195f, 0.044144f, -0.051172f, 0.037395f, 0.035938f, 0.037874f, 0.018333f, -0.013836f, 0.050198f, 0.062964f, -0.012811f, 0.026040f, -0.038982f, 0.063354f, 0.027049f, 0.021242f, -0.040339f, -0.088188f, 0.017622f, -0.026974f, -0.020123f, -0.035732f, -0.045084f, 0.027353f, 0.012285f, -0.021838f, 0.005098f, 0.002223f, -0.023791f, -0.107763f, -0.006675f, -0.022797f, -0.011007f, -0.001550f, 0.076081f, 0.052013f, -0.025289f, 0.019703f, -0.050025f, 0.005704f, 0.037548f, -0.057124f, -0.053035f, -0.043543f, 0.068881f, -0.049361f, 0.014379f, 0.055353f, -0.074426f, -0.069112f, 0.063804f, 0.050783f, 0.053571f, 0.071557f, 0.026504f, -0.091394f, 0.020698f, 0.027107f, -0.008019f, 0.149417f, -0.015381f, -0.022693f, -0.067435f, -0.058307f, 0.030177f, -0.053744f, 0.035133f, 0.012251f, 0.039730f, - 0.081854f, -0.052425f, -0.035780f, 0.099698f, -0.060662f, -0.066935f, 0.043807f, -0.086229f, 0.062780f, -0.065549f, 0.014963f, 0.022644f, -0.047519f, 0.019790f, -0.055171f, 0.038475f, 0.070372f, -0.002800f, 0.012202f, 0.014537f, 0.002595f, -0.021427f, -0.020297f, -0.004530f, 0.020373f, -0.009004f, 0.013731f, -0.014203f, -0.043686f, 0.018795f, 0.003813f, 0.029764f, 0.014656f, 0.026004f, -0.008896f, -0.008555f, -0.043345f, 0.030473f, -0.005915f, -0.039420f, 0.009162f, 0.081466f, 0.022426f, -0.020682f, 0.023839f, 0.043923f, -0.021806f, 0.004899f, 0.033504f, -0.016762f, 0.033400f, 0.011498f, -0.010621f, -0.052224f, 0.008771f, -0.019885f, -0.001396f, 0.065381f, -0.029963f, 0.003580f, -0.017374f, 0.022611f, 0.075136f, 0.006461f, -0.063727f, 0.091459f, 0.022366f, -0.005884f, 0.065259f, 0.032442f, 0.052837f, 0.019863f, -0.078024f, -0.017014f, -0.029031f, 0.037020f, 0.091399f, -0.057596f, 0.014968f, -0.027545f, 0.040848f, 0.046850f, -0.061263f, 0.051544f, -0.049152f, -0.044257f, 0.022878f, 0.042465f, 0.002075f, 0.014233f, 0.033202f, -0.049601f, 0.044257f, 0.003665f, 0.053952f, -0.009302f, - -0.013880f, 0.017721f, 0.079757f, -0.035448f, 0.064496f, -0.030837f, 0.013241f, 0.017025f, 0.064453f, -0.003532f, -0.003869f, 0.022319f, 0.096997f, 0.006619f, -0.075291f, -0.005892f, -0.090705f, 0.054907f, 0.000497f, 0.149447f, 0.032241f, -0.043359f, -0.012940f, 0.033244f, -0.032717f, 0.052660f, 0.097654f, 0.066927f, 0.001754f, 0.028597f, 0.042462f, -0.004535f, -0.045027f, -0.005959f, -0.010027f, -0.155478f, 0.097378f, 0.072719f, 0.067103f, 0.016403f, -0.067203f, -0.019930f, 0.051119f, 0.026612f, 0.044549f, 0.024137f, -0.148912f, -0.053071f, 0.091820f, 0.025427f, 0.029792f, 0.079115f, -0.055666f, -0.001598f, -0.007666f, 0.044901f, 0.011477f, -0.004207f, -0.012003f, 0.035425f, -0.009086f, -0.040504f, 0.020324f, -0.019444f, -0.023204f, 0.021306f, 0.031099f, -0.022720f, -0.007066f, -0.000657f, 0.024541f, -0.031132f, 0.025488f, -0.027485f, 0.013119f, -0.047639f, -0.048855f, 0.048688f, 0.006360f, 0.004452f, -0.005567f, -0.035155f, -0.010835f, 0.032663f, 0.003522f, 0.011213f, 0.054116f, -0.008204f, -0.041058f, -0.003780f, -0.023338f, 0.018637f, 0.020245f, -0.019372f, -0.016600f, 0.021526f, - 0.044788f, 0.056866f, 0.058635f, -0.036319f, 0.059662f, -0.054675f, 0.009160f, 0.028527f, -0.028133f, 0.003971f, 0.011169f, -0.014980f, -0.029378f, -0.055297f, 0.084112f, -0.018906f, -0.016648f, -0.028120f, -0.004784f, -0.011632f, 0.027290f, -0.056640f, -0.016400f, -0.035456f, 0.012081f, -0.035639f, 0.034105f, -0.000258f, 0.017535f, -0.039293f, -0.071635f, 0.003358f, -0.052385f, -0.054656f, 0.024667f, -0.041928f, -0.035554f, 0.069142f, -0.025677f, -0.040447f, 0.005096f, -0.041587f, 0.019427f, 0.026108f, -0.007694f, -0.033965f, -0.009994f, 0.019794f, 0.017341f, -0.015444f, -0.001545f, 0.060978f, -0.010949f, -0.037634f, -0.047883f, -0.006875f, -0.021037f, -0.071958f, 0.067440f, 0.023355f, -0.082710f, 0.050885f, -0.003758f, -0.034639f, 0.158828f, 0.089501f, 0.073089f, 0.038848f, 0.022251f, -0.037713f, 0.005801f, 0.017492f, 0.018648f, 0.007128f, 0.069502f, 0.015604f, -0.020720f, -0.034256f, -0.140651f, 0.028698f, 0.018396f, -0.000678f, -0.027510f, -0.052938f, -0.010541f, -0.034098f, -0.030616f, -0.002184f, 0.044315f, -0.030413f, 0.076717f, 0.011279f, -0.015393f, -0.005358f, -0.006609f, 0.006139f, - 0.032234f, -0.012515f, 0.008027f, 0.022705f, 0.007749f, 0.004394f, 0.017598f, -0.028612f, 0.013859f, 0.005202f, 0.044852f, -0.015572f, -0.011299f, -0.012318f, -0.011426f, -0.035618f, -0.019508f, 0.013067f, -0.039034f, 0.029108f, -0.007970f, -0.018529f, 0.026668f, 0.017080f, 0.022413f, -0.008327f, -0.003634f, 0.003071f, 0.004185f, -0.024531f, 0.012808f, 0.001860f, -0.001277f, -0.002113f, 0.015945f, -0.072755f, 0.122913f, 0.015708f, 0.040310f, 0.022007f, -0.030431f, 0.022903f, 0.034646f, 0.008685f, -0.003487f, -0.029635f, -0.005170f, 0.008450f, -0.013850f, -0.010476f, 0.005188f, 0.013872f, 0.035783f, -0.024679f, 0.015071f, 0.001540f, 0.028564f, -0.009988f, 0.005687f, 0.009491f, -0.032740f, 0.026745f, 0.004348f, 0.006698f, 0.009599f, 0.009949f, -0.020737f, 0.022249f, -0.017872f, 0.004646f, 0.021237f, -0.011437f, 0.020821f, -0.008864f, 0.026236f, 0.020446f, 0.011851f, -0.032380f, 0.024334f, 0.018581f, 0.014821f, 0.040627f, -0.038911f, -0.003283f, -0.000323f, -0.008156f, 0.011948f, -0.019993f, -0.032233f, 0.022267f, 0.025064f, 0.012688f, -0.003055f, 0.005454f, -0.003440f, 0.013162f, - -0.011288f, 0.005430f, -0.023933f, 0.021961f, -0.037176f, 0.035274f, 0.019622f, -0.011642f, -0.000498f, 0.014739f, 0.001061f, 0.013230f, 0.000283f, 0.001642f, -0.001231f, -0.012458f, 0.018046f, 0.024602f, -0.021540f, -0.004787f, 0.004525f, 0.013730f, -0.009779f, -0.010100f, 0.002863f, 0.004638f, -0.002441f, 0.002628f, -0.007914f, 0.003174f, 0.010068f, -0.007651f, 0.002154f, 0.006106f, -0.008112f, 0.007140f, 0.008819f, -0.000619f, -0.002834f, -0.004006f, 0.001720f, 0.018447f, -0.006870f, 0.002558f, -0.016945f, 0.001206f, 0.018810f, -0.013118f, 0.014002f, -0.006276f, 0.001065f, 0.031338f, -0.005461f, 0.000810f, -0.000658f, -0.009415f, 0.016127f, 0.006799f, 0.006926f, 0.006802f, -0.005096f, 0.004360f, 0.017662f, -0.004953f, 0.012025f, -0.007644f, -0.001341f, 0.023756f, -0.098022f, -0.228373f, -0.036483f, 0.133749f, 0.121408f, 0.298934f, 0.156115f, -0.080359f, -0.024674f, -0.165421f, -0.280894f, -0.019319f, -0.127634f, -0.017713f, 0.204734f, 0.087490f, 0.158184f, 0.242853f, -0.028209f, -0.035491f, -0.123282f, -0.209626f, -0.166691f, -0.010673f, -0.062611f, -0.023665f, 0.174255f, 0.055321f, - 0.113363f, 0.206015f, 0.033779f, -0.000770f, 0.021360f, -0.125196f, -0.189621f, 0.032654f, -0.195945f, -0.128150f, 0.043544f, -0.019646f, 0.031904f, 0.252302f, 0.028987f, 0.096757f, 0.206007f, -0.040979f, 0.006438f, 0.045979f, -0.198513f, -0.165536f, -0.058633f, -0.225936f, -0.087478f, 0.028842f, 0.041855f, 0.155688f, 0.219280f, 0.156312f, 0.110359f, 0.096142f, -0.036464f, -0.132343f, -0.108651f, -0.163630f, -0.171894f, -0.073681f, -0.043512f, 0.001174f, 0.144373f, 0.172180f, 0.053967f, 0.134548f, 0.039311f, -0.042576f, 0.028385f, -0.093751f, -0.130272f, -0.025498f, -0.060470f, -0.040512f, 0.073566f, -0.002720f, 0.051333f, 0.091401f, -0.024989f, -0.002011f, 0.000097f, -0.046268f, -0.014149f, -0.003192f, -0.034591f, 0.038708f, 0.014139f, -0.009021f, 0.063356f, 0.020166f, -0.008949f, 0.060770f, -0.021233f, -0.065143f, 0.001412f, -0.099512f, -0.069517f, 0.021490f, -0.066077f, 0.014142f, 0.076845f, 0.056360f, 0.104703f, 0.114014f, 0.041673f, 0.040296f, -0.004644f, -0.094051f, -0.131264f, -0.135253f, -0.141089f, -0.089798f, -0.006609f, 0.045282f, 0.097707f, 0.169365f, 0.181935f, 0.150873f, - 0.118291f, -0.007121f, -0.110893f, -0.159294f, -0.203409f, -0.207742f, -0.110578f, -0.033492f, 0.087098f, 0.183754f, 0.166693f, 0.100271f, 0.074533f, 0.021533f, -0.015302f, -0.025049f, -0.073147f, -0.084946f, -0.063512f, -0.053518f, -0.038027f, -0.008131f, 0.007888f, 0.030157f, 0.045588f, 0.045935f, 0.044563f, 0.039099f, 0.018218f, -0.002570f, -0.014058f, -0.013683f, -0.009907f, -0.005530f, -0.004375f} - }, - { - {-0.008213f, 0.008653f, 0.002179f, -0.004681f, -0.002074f, -0.010448f, -0.002783f, 0.008781f, -0.004618f, -0.003361f, 0.002718f, -0.001348f, -0.000311f, 0.000574f, -0.002777f, -0.002226f, 0.010643f, 0.005189f, -0.001274f, 0.000542f, -0.001561f, -0.003149f, 0.001483f, 0.003820f, 0.005866f, -0.001469f, 0.002256f, 0.002723f, -0.009384f, -0.002860f, 0.000002f, -0.001843f, 0.005789f, 0.000549f, -0.001959f, 0.005216f, -0.003939f, 0.001779f, 0.008079f, -0.004446f, 0.000532f, 0.001103f, 0.006138f, -0.002334f, 0.008458f, -0.011941f, -0.004347f, 0.005229f, -0.002354f, -0.010118f, 0.000744f, 0.002059f, 0.003393f, 0.003491f, -0.001081f, -0.004348f, 0.000391f, -0.003944f, -0.002681f, 0.001200f, 0.005035f, 0.004640f, -0.006745f, 0.005965f, -0.007383f, 0.006623f, 0.000390f, 0.005808f, -0.002244f, -0.004785f, -0.002113f, 0.003908f, -0.000741f, -0.000974f, -0.001162f, 0.005407f, -0.005806f, 0.003000f, 0.001431f, 0.001460f, 0.001854f, 0.004325f, 0.001388f, -0.002775f, -0.003133f, -0.001733f, 0.002357f, -0.000508f, -0.002299f, 0.000444f, -0.002777f, -0.000615f, -0.000190f, -0.002842f, -0.001132f, -0.001602f, - 0.000378f, 0.001530f, -0.001915f, -0.001380f, 0.000797f, -0.000394f, -0.002741f, -0.000029f, 0.001498f, -0.001069f, -0.000136f, 0.000559f, -0.000253f, 0.001074f, 0.000784f, 0.000078f, -0.002071f, -0.000696f, 0.000078f, -0.000942f, 0.000057f, -0.000232f, -0.001451f, 0.000813f, -0.002460f, -0.028477f, 0.009350f, -0.010351f, -0.004124f, -0.008475f, -0.008702f, 0.004948f, -0.002902f, -0.007348f, -0.003948f, 0.009996f, 0.014856f, -0.008124f, -0.003024f, -0.000721f, -0.010699f, -0.010053f, 0.000754f, -0.001016f, 0.006537f, 0.002203f, 0.004869f, -0.004288f, -0.002685f, -0.005556f, 0.001566f, 0.009589f, 0.004163f, 0.001865f, -0.006182f, 0.004689f, 0.001418f, 0.002870f, -0.004035f, 0.000358f, 0.001417f, 0.002155f, -0.005483f, -0.004010f, 0.001501f, -0.007569f, -0.007738f, 0.003321f, 0.005870f, -0.006598f, -0.003320f, -0.002543f, 0.000475f, 0.005852f, 0.004718f, 0.002042f, 0.000890f, 0.015134f, 0.005943f, -0.004779f, 0.005893f, 0.004198f, -0.004205f, 0.007150f, -0.002664f, -0.001793f, -0.000040f, -0.003117f, 0.006354f, -0.003577f, 0.001669f, 0.003830f, 0.003069f, -0.005655f, 0.002228f, 0.001056f, - 0.001145f, -0.001978f, -0.002804f, -0.001178f, 0.008876f, 0.000591f, -0.002631f, -0.001903f, 0.002095f, -0.007987f, 0.001547f, 0.004756f, -0.000309f, 0.003079f, -0.001759f, -0.002878f, 0.001930f, 0.001759f, -0.000745f, 0.002993f, 0.001542f, -0.000854f, 0.002124f, 0.002224f, 0.003719f, 0.000484f, 0.000013f, -0.000263f, -0.001119f, -0.001582f, -0.000160f, -0.000284f, -0.000990f, 0.001095f, -0.000352f, 0.003707f, 0.021669f, 0.008636f, -0.001513f, 0.000978f, 0.004964f, 0.002592f, -0.001469f, -0.009370f, 0.000300f, 0.008305f, -0.008527f, -0.000957f, -0.016001f, 0.004195f, 0.006513f, 0.000430f, -0.003814f, 0.011691f, 0.008220f, -0.007542f, 0.003640f, 0.000438f, -0.006612f, 0.010432f, 0.005751f, -0.000685f, 0.004212f, 0.009940f, -0.003086f, -0.002060f, 0.000662f, 0.000054f, 0.000235f, 0.002383f, 0.012209f, 0.002454f, 0.001820f, -0.019749f, -0.001047f, 0.000894f, 0.002356f, -0.008940f, 0.002065f, -0.007212f, -0.005535f, -0.007628f, -0.004984f, 0.000040f, 0.002290f, -0.004663f, 0.004653f, -0.011349f, -0.006519f, -0.000698f, -0.000154f, 0.003633f, -0.004549f, -0.001064f, -0.004120f, 0.002458f, - 0.006140f, -0.003721f, 0.000656f, -0.003222f, -0.000589f, 0.009519f, 0.007457f, -0.003014f, 0.006988f, -0.003356f, -0.005965f, -0.007453f, -0.000563f, -0.000697f, -0.005027f, 0.004534f, -0.000802f, 0.001290f, -0.000561f, -0.001660f, 0.000337f, -0.001075f, -0.004076f, -0.000263f, -0.006493f, 0.000729f, -0.003200f, -0.002092f, -0.005455f, 0.006320f, -0.001943f, 0.002152f, 0.004317f, 0.001709f, -0.002204f, -0.000514f, -0.002474f, -0.000184f, 0.001086f, -0.002434f, 0.002508f, -0.000208f, 0.000272f, 0.000359f, -0.000896f, 0.001473f, 0.000854f, 0.000462f, 0.000185f, 0.003573f, 0.001716f, -0.001154f, -0.002438f, -0.002223f, 0.002159f, 0.002907f, -0.000011f, 0.000740f, 0.034212f, -0.014876f, 0.002820f, -0.001243f, -0.006304f, 0.005442f, 0.009595f, -0.006218f, 0.010315f, -0.000558f, 0.011002f, 0.003057f, 0.003888f, -0.004730f, 0.006239f, 0.002419f, 0.006389f, -0.013449f, 0.007216f, -0.007948f, 0.002497f, -0.006674f, 0.008450f, -0.002295f, 0.008512f, -0.004989f, 0.003137f, -0.003266f, -0.000732f, -0.000365f, -0.000852f, 0.003355f, 0.017682f, 0.000794f, 0.005196f, -0.004880f, -0.008188f, 0.000359f, - 0.000165f, 0.000360f, 0.002697f, -0.005665f, 0.011601f, -0.000722f, 0.009726f, 0.000692f, -0.004197f, -0.005301f, -0.014575f, 0.007180f, 0.004757f, -0.006802f, 0.000767f, 0.005861f, 0.003112f, -0.016966f, 0.010150f, -0.000554f, 0.007218f, -0.010182f, -0.010977f, -0.005311f, -0.010692f, -0.001943f, 0.012373f, 0.002594f, -0.004732f, 0.000761f, 0.007002f, -0.002330f, -0.005608f, -0.002893f, -0.006290f, 0.004533f, -0.009540f, -0.001656f, -0.007318f, -0.002772f, -0.000027f, 0.008240f, 0.003868f, 0.000931f, 0.002571f, 0.010340f, 0.005426f, 0.001295f, 0.003778f, -0.002879f, -0.001140f, 0.000726f, 0.000198f, 0.001686f, 0.000870f, -0.001738f, 0.001018f, 0.003678f, -0.000244f, 0.000828f, 0.001366f, -0.001714f, -0.002371f, 0.002327f, -0.002838f, 0.003430f, 0.002011f, 0.003183f, 0.000085f, -0.001151f, 0.001937f, 0.003154f, 0.000823f, -0.001239f, 0.001026f, 0.008943f, -0.020976f, 0.004275f, -0.006614f, -0.019166f, -0.014773f, 0.007853f, 0.008759f, 0.011527f, -0.005706f, -0.002966f, 0.007936f, 0.003792f, 0.011860f, 0.003862f, -0.001323f, 0.001213f, 0.007570f, 0.014749f, -0.003776f, 0.004299f, - -0.000180f, 0.011951f, 0.002750f, -0.000731f, -0.002396f, -0.009120f, -0.013866f, 0.000150f, -0.001993f, 0.004168f, -0.000784f, 0.003265f, 0.002431f, 0.000846f, 0.000891f, 0.002761f, -0.004733f, 0.000531f, 0.006596f, 0.010316f, -0.005046f, 0.001226f, -0.004447f, -0.005927f, 0.008525f, -0.006541f, -0.016287f, -0.006405f, -0.004170f, 0.007827f, 0.000656f, 0.008636f, 0.007898f, -0.004184f, 0.000351f, -0.006759f, -0.000938f, -0.002902f, 0.010116f, -0.012737f, -0.000366f, 0.004293f, -0.013486f, -0.015182f, 0.000237f, 0.004692f, 0.009618f, -0.006703f, -0.016058f, 0.008385f, -0.014816f, 0.017329f, 0.009796f, 0.002853f, 0.007391f, -0.000174f, -0.007131f, 0.022028f, -0.002000f, 0.010662f, -0.000403f, 0.015409f, 0.010598f, 0.005634f, -0.001565f, -0.003003f, -0.005164f, -0.001903f, 0.002335f, 0.000560f, 0.004264f, -0.004355f, 0.002660f, -0.002313f, -0.001571f, -0.001635f, -0.001774f, 0.002093f, -0.001101f, -0.000036f, -0.003256f, -0.000148f, 0.002025f, 0.003718f, -0.003725f, -0.004564f, 0.000655f, 0.002023f, -0.000019f, 0.002432f, -0.001352f, 0.000288f, -0.001776f, -0.000575f, 0.001273f, 0.002299f, - 0.002830f, 0.001689f, -0.002205f, -0.046420f, 0.009548f, 0.002333f, -0.023320f, -0.029428f, -0.004744f, -0.022723f, 0.018448f, 0.005272f, -0.013704f, 0.000841f, -0.006385f, 0.002038f, -0.009361f, 0.001182f, -0.000548f, 0.000093f, 0.013001f, -0.004667f, -0.003048f, -0.005444f, -0.004802f, -0.012291f, -0.008242f, 0.012299f, -0.005098f, 0.007771f, -0.006870f, 0.003353f, 0.000195f, 0.007019f, -0.007173f, 0.005312f, -0.007205f, 0.003121f, -0.002764f, -0.004508f, 0.004445f, -0.011493f, 0.004400f, -0.005860f, -0.002109f, -0.008359f, 0.020149f, 0.009578f, 0.017666f, -0.007552f, 0.007447f, 0.005982f, -0.003515f, 0.003129f, -0.008375f, 0.008865f, 0.019375f, 0.015306f, -0.010675f, -0.002874f, 0.004538f, -0.007741f, -0.005192f, -0.013542f, -0.025317f, -0.008601f, 0.012982f, 0.004657f, -0.006247f, 0.002557f, 0.001333f, -0.006910f, -0.012024f, -0.012149f, 0.008633f, 0.000996f, -0.018606f, 0.001971f, 0.001801f, -0.000919f, -0.001387f, 0.006168f, 0.013499f, -0.001380f, -0.000009f, 0.001885f, -0.000007f, -0.003551f, -0.012297f, 0.004071f, 0.004154f, 0.002530f, 0.005756f, 0.003480f, -0.005257f, 0.001357f, - -0.003307f, 0.000687f, -0.002795f, -0.001130f, -0.003093f, 0.000080f, 0.000706f, -0.000372f, -0.002236f, -0.002181f, -0.000651f, 0.000960f, -0.000063f, 0.004524f, 0.001627f, 0.004223f, 0.004579f, 0.004949f, -0.005918f, -0.006017f, -0.002246f, 0.004546f, -0.001534f, 0.001670f, -0.001762f, 0.002512f, 0.002643f, 0.001702f, -0.002878f, -0.001628f, -0.018169f, -0.007565f, -0.004712f, 0.013745f, -0.003614f, 0.003276f, -0.014151f, -0.014768f, 0.000757f, 0.004305f, -0.008630f, -0.004940f, -0.008095f, 0.016843f, 0.003741f, -0.005618f, -0.012244f, -0.012092f, -0.011810f, -0.003272f, 0.005730f, 0.016919f, 0.005523f, 0.009572f, -0.007542f, 0.018017f, 0.010321f, 0.003338f, 0.000251f, 0.018530f, -0.010762f, 0.001791f, 0.005912f, 0.012555f, -0.020211f, -0.010280f, 0.008898f, 0.003599f, -0.002739f, 0.021163f, -0.009173f, 0.006019f, 0.012805f, 0.004006f, 0.002209f, 0.009355f, 0.003853f, 0.004681f, 0.004814f, 0.002071f, 0.005538f, -0.000259f, 0.008126f, -0.001814f, 0.019816f, -0.014298f, 0.016323f, 0.012964f, -0.011166f, 0.012839f, 0.002445f, 0.010921f, 0.011078f, -0.024079f, -0.000554f, -0.000914f, - -0.007181f, 0.003913f, -0.006468f, 0.006743f, -0.002652f, 0.015440f, -0.001587f, 0.002468f, 0.006401f, 0.004374f, 0.006200f, -0.009766f, -0.003199f, -0.009982f, -0.009195f, -0.005285f, 0.015038f, 0.002276f, -0.004658f, 0.004456f, 0.004222f, 0.001944f, -0.002414f, 0.001597f, -0.001675f, 0.005927f, 0.002343f, 0.001907f, -0.002737f, 0.001851f, -0.005495f, -0.000482f, 0.006639f, 0.003433f, -0.000941f, 0.002202f, 0.002431f, -0.001794f, 0.002871f, 0.001881f, 0.006449f, 0.003515f, -0.003398f, -0.001370f, -0.001965f, 0.001959f, -0.005501f, 0.001668f, 0.024269f, -0.006304f, -0.003663f, -0.005841f, 0.017309f, 0.009130f, 0.001927f, 0.006658f, -0.011562f, 0.025843f, 0.008617f, -0.001945f, 0.009807f, 0.012529f, -0.020943f, -0.001322f, 0.005061f, 0.002549f, 0.000054f, 0.017884f, -0.008474f, -0.010716f, 0.024571f, 0.003791f, -0.001657f, -0.002345f, 0.012878f, 0.001071f, -0.001779f, -0.002312f, -0.005866f, 0.006473f, -0.003608f, 0.008604f, 0.006067f, -0.015338f, -0.014544f, 0.001926f, 0.028984f, -0.000251f, 0.005977f, -0.017739f, 0.008879f, 0.011966f, -0.007305f, 0.008896f, 0.010996f, -0.017986f, - -0.010966f, -0.002177f, -0.023090f, -0.012198f, -0.013754f, 0.004161f, -0.004670f, -0.005042f, -0.002475f, 0.016384f, -0.022267f, 0.009963f, 0.004920f, -0.007151f, 0.013701f, -0.008633f, 0.001374f, -0.018665f, -0.000330f, 0.011438f, 0.010253f, 0.021447f, -0.025173f, -0.006177f, -0.027956f, -0.005919f, -0.000514f, -0.006573f, 0.003194f, -0.001278f, 0.025535f, 0.019878f, 0.011247f, -0.012594f, 0.000694f, 0.004979f, 0.012463f, 0.015382f, -0.000313f, 0.000158f, -0.002143f, 0.000415f, 0.008725f, -0.000332f, -0.000724f, -0.000261f, 0.000181f, 0.000528f, 0.001079f, 0.003620f, -0.003570f, -0.001039f, 0.003652f, 0.000698f, 0.003374f, -0.000027f, 0.000384f, -0.002839f, 0.004620f, 0.002937f, 0.000064f, 0.004427f, -0.002197f, -0.000185f, 0.004046f, 0.001178f, -0.000698f, -0.004929f, -0.000346f, 0.001226f, 0.000719f, -0.001698f, 0.005173f, 0.008792f, -0.001605f, -0.000146f, -0.003942f, 0.002972f, 0.016591f, -0.018419f, 0.000704f, -0.011251f, 0.031791f, -0.013302f, -0.007602f, 0.027574f, 0.020810f, 0.003937f, -0.038225f, -0.009243f, 0.017725f, 0.001531f, -0.001746f, -0.005354f, -0.002924f, -0.002884f, - 0.002772f, 0.006041f, 0.005508f, 0.005256f, 0.034047f, -0.006977f, -0.004834f, 0.000137f, 0.004525f, -0.010010f, 0.006058f, 0.003717f, -0.001178f, -0.011026f, -0.006914f, 0.012378f, 0.013218f, 0.024975f, 0.006442f, -0.010112f, 0.006367f, -0.000200f, 0.006451f, 0.000585f, 0.013876f, -0.011369f, -0.017063f, -0.017548f, 0.011652f, -0.004913f, 0.002498f, 0.004729f, -0.006238f, -0.001045f, 0.029582f, 0.010204f, -0.024812f, 0.017831f, 0.005732f, 0.030004f, -0.015462f, -0.014517f, 0.008720f, 0.016213f, 0.011188f, 0.006325f, -0.002673f, 0.001068f, 0.007763f, -0.009605f, -0.002720f, 0.000450f, 0.012761f, -0.009067f, 0.025561f, -0.000790f, -0.000275f, -0.013047f, -0.014782f, 0.029273f, 0.008738f, -0.023785f, -0.005523f, 0.020219f, 0.014004f, 0.002910f, 0.005118f, -0.012042f, 0.003884f, 0.003378f, 0.003990f, 0.002363f, 0.004421f, -0.005461f, -0.006733f, 0.001050f, -0.000138f, -0.005469f, -0.001792f, 0.005366f, 0.005195f, -0.007357f, 0.002054f, 0.000148f, 0.003343f, 0.004655f, -0.001182f, -0.001154f, -0.001781f, 0.003200f, 0.009031f, -0.006318f, 0.005006f, -0.000246f, 0.000285f, -0.003627f, - -0.000821f, -0.002652f, -0.001851f, 0.004477f, -0.001421f, -0.002312f, -0.005757f, -0.000013f, -0.003233f, -0.022948f, -0.019502f, -0.007727f, 0.006834f, 0.007009f, 0.034869f, 0.033825f, -0.004170f, 0.002513f, 0.001304f, 0.000018f, -0.000587f, -0.007287f, -0.023058f, -0.017783f, -0.009252f, 0.007841f, -0.006569f, -0.020144f, -0.005826f, 0.003519f, -0.001665f, -0.030751f, -0.009149f, 0.006485f, -0.003304f, 0.002617f, 0.001923f, 0.008890f, 0.013243f, 0.001896f, -0.009906f, 0.009618f, 0.010137f, 0.006967f, -0.000576f, 0.013074f, -0.026906f, 0.008671f, -0.023856f, 0.029235f, -0.021116f, 0.007773f, -0.022391f, -0.003985f, -0.024995f, -0.013429f, -0.015634f, -0.017056f, 0.011338f, -0.015038f, -0.002992f, 0.004873f, -0.000332f, -0.008166f, -0.005798f, -0.002893f, -0.024433f, 0.000480f, 0.001454f, 0.011732f, -0.038059f, 0.000573f, -0.001116f, 0.017366f, 0.021138f, -0.014769f, -0.008996f, 0.000473f, 0.016216f, -0.031695f, 0.019975f, -0.014440f, -0.009446f, 0.001192f, -0.030633f, -0.001925f, -0.002584f, -0.005126f, -0.005570f, -0.004168f, 0.030491f, 0.012122f, 0.006179f, -0.007695f, -0.006983f, -0.008038f, - 0.000854f, 0.007137f, -0.012360f, -0.000714f, -0.002234f, -0.003683f, 0.001540f, 0.008653f, -0.003464f, -0.006190f, 0.005632f, 0.003113f, -0.000210f, 0.005949f, 0.003352f, 0.004916f, -0.003318f, -0.004527f, 0.007624f, -0.005979f, 0.001911f, -0.007715f, -0.001462f, -0.000099f, -0.001543f, -0.003198f, -0.006499f, -0.007524f, -0.007569f, 0.001378f, -0.000456f, -0.002087f, -0.005462f, -0.005580f, -0.002131f, -0.003163f, 0.001664f, 0.007185f, 0.005527f, -0.018172f, -0.047108f, -0.018915f, -0.009086f, 0.008019f, 0.012537f, -0.015574f, -0.005977f, -0.019551f, -0.017244f, 0.008841f, -0.015167f, 0.015296f, 0.006159f, 0.010932f, -0.002000f, -0.015435f, 0.026487f, 0.010384f, 0.014768f, -0.019250f, 0.007924f, 0.003265f, -0.027905f, 0.016938f, 0.010119f, 0.000794f, -0.019052f, -0.007504f, 0.009155f, 0.009652f, -0.000622f, 0.003169f, 0.013286f, -0.013429f, -0.009916f, 0.015601f, -0.031781f, -0.031431f, -0.041140f, -0.009468f, 0.012980f, -0.036233f, -0.030194f, -0.018489f, 0.000406f, 0.012646f, 0.003930f, 0.003352f, 0.000426f, -0.010705f, -0.014543f, -0.034257f, 0.017721f, 0.004746f, 0.040957f, -0.010160f, - 0.000883f, -0.025803f, -0.030670f, 0.003546f, 0.019483f, 0.001025f, -0.019425f, 0.012355f, 0.004945f, 0.027720f, 0.002557f, 0.003186f, -0.013779f, -0.002927f, 0.011699f, -0.027878f, -0.051618f, -0.014693f, -0.013037f, 0.002414f, 0.013324f, -0.024990f, -0.012657f, 0.007669f, -0.008792f, -0.002367f, 0.007861f, -0.005133f, -0.004313f, 0.010209f, 0.002434f, -0.001334f, 0.005049f, 0.007838f, 0.009019f, 0.001366f, -0.006316f, -0.016746f, -0.001649f, -0.010377f, 0.002561f, 0.001407f, 0.001952f, 0.006369f, -0.005991f, 0.005748f, 0.008303f, 0.005219f, 0.004653f, 0.004303f, -0.012229f, -0.011528f, -0.004305f, -0.009995f, 0.000972f, 0.002288f, 0.003130f, 0.010915f, -0.002745f, 0.006771f, 0.004368f, -0.005237f, -0.002535f, -0.007423f, -0.009450f, -0.003028f, -0.012428f, -0.004504f, -0.002822f, -0.043973f, -0.033799f, -0.015555f, 0.023192f, -0.002035f, 0.039720f, 0.007843f, -0.003460f, -0.022312f, 0.007918f, 0.040939f, -0.042886f, -0.038590f, -0.012778f, -0.006417f, -0.026913f, 0.025469f, 0.007423f, 0.013803f, 0.016443f, -0.026919f, -0.003254f, 0.010814f, -0.017019f, 0.031775f, 0.000406f, 0.007161f, - -0.009313f, 0.007860f, -0.021062f, -0.011952f, -0.007293f, 0.011972f, 0.005588f, 0.019340f, -0.031740f, 0.002869f, -0.000340f, -0.023547f, 0.025647f, -0.015354f, -0.037765f, 0.007489f, 0.013455f, 0.002789f, -0.011369f, -0.002682f, -0.015810f, 0.002646f, 0.012698f, 0.005518f, -0.025879f, 0.010148f, -0.006011f, -0.028522f, -0.017051f, -0.035053f, 0.000624f, -0.005392f, -0.001098f, 0.004640f, 0.021381f, 0.026872f, 0.022104f, -0.011306f, -0.019617f, 0.006523f, -0.005136f, -0.003172f, -0.015220f, 0.027979f, 0.022828f, -0.004833f, 0.042590f, -0.027182f, 0.014053f, 0.027119f, 0.028833f, 0.000919f, 0.018242f, -0.011819f, -0.004956f, -0.023814f, -0.010386f, 0.014483f, -0.005131f, -0.018504f, 0.011382f, -0.010527f, 0.011966f, -0.005285f, -0.013010f, 0.006836f, -0.002802f, -0.007100f, -0.005836f, 0.005083f, -0.006485f, 0.004468f, 0.008336f, -0.008850f, 0.011404f, -0.001209f, -0.006665f, 0.004597f, 0.001101f, 0.001002f, -0.005603f, 0.007095f, -0.010718f, 0.003818f, 0.003592f, 0.000718f, -0.007273f, -0.000437f, -0.004457f, 0.005595f, 0.009338f, 0.021284f, 0.010289f, 0.017078f, -0.001200f, 0.000191f, - 0.008255f, -0.010330f, 0.002519f, -0.014133f, -0.006259f, 0.016024f, -0.038125f, 0.004795f, 0.000411f, -0.024113f, 0.003472f, -0.053606f, -0.046378f, -0.011120f, -0.000448f, 0.001972f, -0.001209f, -0.019073f, -0.000712f, -0.005471f, 0.017092f, 0.003322f, -0.001127f, 0.003195f, -0.040526f, 0.013973f, 0.007503f, 0.022448f, 0.009273f, 0.009713f, 0.026342f, 0.013127f, 0.003768f, 0.066016f, 0.014071f, 0.025388f, 0.034984f, 0.001621f, 0.024655f, 0.006175f, -0.013784f, 0.016029f, 0.001075f, 0.007709f, -0.013505f, 0.000987f, -0.008787f, 0.005585f, -0.008762f, 0.018560f, 0.002167f, -0.011572f, -0.014516f, 0.001974f, -0.039259f, 0.022763f, 0.015290f, -0.002011f, -0.003629f, 0.008939f, -0.010499f, -0.008656f, -0.012942f, -0.015533f, 0.012865f, -0.012394f, 0.021314f, 0.024897f, 0.024316f, 0.025952f, -0.006124f, -0.039357f, 0.000529f, 0.016596f, 0.039579f, -0.009218f, -0.001568f, 0.018788f, 0.027606f, 0.040821f, -0.005407f, 0.017977f, -0.012200f, -0.007016f, -0.032928f, -0.025599f, -0.011307f, -0.011625f, -0.009498f, 0.006837f, 0.001291f, -0.014084f, 0.015802f, 0.010043f, 0.012384f, 0.022442f, - 0.008843f, 0.008403f, -0.002828f, 0.000013f, -0.003476f, -0.006442f, 0.000033f, 0.004037f, -0.000144f, 0.011835f, 0.009299f, 0.005777f, -0.000852f, -0.009735f, 0.000382f, -0.006998f, -0.007924f, 0.004926f, 0.005813f, 0.001782f, -0.012316f, -0.002749f, -0.017825f, -0.004313f, 0.005527f, 0.008697f, -0.005876f, 0.007223f, -0.010311f, -0.011740f, -0.006178f, -0.007095f, 0.006248f, 0.003348f, -0.010580f, -0.007126f, 0.032425f, 0.042056f, -0.031104f, -0.032553f, -0.043040f, 0.039038f, -0.003932f, -0.015536f, 0.013670f, 0.013244f, 0.036568f, 0.030522f, 0.002186f, 0.033452f, 0.047452f, 0.013688f, -0.023803f, 0.022899f, -0.022007f, -0.012174f, -0.004342f, -0.015274f, -0.018425f, 0.010011f, -0.009155f, -0.008960f, -0.022281f, 0.051707f, 0.006728f, -0.027010f, 0.000303f, -0.003361f, 0.023327f, 0.024683f, 0.009921f, -0.015648f, 0.024868f, -0.006295f, 0.015480f, -0.046625f, 0.002803f, 0.019918f, -0.019825f, 0.007141f, -0.021570f, -0.017476f, 0.048875f, 0.020552f, 0.014988f, -0.002992f, -0.042639f, -0.010044f, 0.012802f, 0.009670f, 0.007317f, -0.009787f, 0.034571f, -0.023640f, 0.019373f, -0.010889f, - 0.012940f, 0.014271f, 0.027470f, 0.037039f, -0.042167f, -0.000696f, 0.022239f, 0.011041f, 0.031110f, 0.030221f, -0.042042f, 0.000536f, -0.011365f, -0.021564f, -0.001004f, -0.022570f, 0.009837f, 0.018029f, -0.008194f, 0.032322f, -0.006805f, -0.018643f, -0.022761f, 0.020280f, 0.023177f, 0.023109f, -0.005862f, 0.004372f, -0.000942f, -0.032513f, -0.031490f, -0.029474f, 0.018881f, 0.009724f, 0.006282f, 0.015286f, -0.000624f, -0.007915f, 0.022854f, 0.003498f, 0.000218f, 0.014181f, 0.022153f, 0.013592f, 0.002009f, 0.002792f, -0.006094f, 0.013646f, 0.006967f, 0.028274f, -0.002262f, 0.003772f, 0.019951f, 0.016287f, 0.005820f, -0.002381f, 0.012888f, -0.000007f, -0.002238f, 0.022412f, -0.017284f, 0.001336f, 0.013957f, 0.001471f, -0.003715f, -0.006241f, -0.002998f, 0.000349f, 0.015057f, 0.003161f, 0.001436f, 0.016575f, 0.012185f, -0.010032f, 0.032171f, 0.064487f, 0.002385f, -0.031390f, 0.008367f, -0.021120f, 0.013029f, -0.018405f, -0.019817f, 0.058520f, -0.045108f, 0.073576f, 0.044905f, -0.011280f, 0.014521f, 0.035377f, 0.004799f, -0.056100f, 0.021520f, -0.045491f, 0.010373f, 0.003697f, - -0.022681f, 0.000639f, -0.003417f, 0.031947f, -0.016516f, -0.001919f, -0.001622f, -0.010110f, 0.067770f, -0.004201f, -0.010626f, 0.008504f, 0.022567f, -0.023497f, -0.049433f, 0.038440f, -0.006585f, -0.003215f, 0.043722f, -0.026192f, -0.007577f, -0.031130f, 0.007861f, -0.021821f, 0.024512f, 0.022756f, 0.046544f, -0.013674f, 0.012713f, 0.031161f, -0.044928f, 0.005259f, -0.028781f, -0.044988f, -0.057682f, -0.030308f, -0.062338f, -0.069809f, -0.010171f, 0.004341f, -0.033202f, -0.035421f, 0.021404f, -0.002623f, -0.020220f, -0.038158f, 0.026986f, -0.020443f, 0.006692f, 0.034362f, -0.065461f, -0.018879f, -0.012405f, 0.028747f, 0.077286f, -0.036891f, 0.001796f, -0.023445f, -0.034974f, 0.016650f, -0.041766f, 0.033194f, 0.057468f, -0.016592f, -0.027561f, -0.028752f, -0.007737f, -0.006906f, 0.000058f, 0.018772f, 0.013325f, -0.015287f, 0.014840f, -0.001936f, 0.011559f, 0.000696f, -0.014584f, -0.003994f, 0.016454f, -0.028155f, 0.012700f, -0.014731f, 0.003343f, -0.011977f, -0.005174f, -0.016907f, 0.003306f, -0.016236f, -0.025906f, -0.012110f, 0.005424f, -0.018714f, -0.000624f, 0.005789f, 0.027199f, -0.015928f, - -0.009976f, 0.009280f, 0.010843f, -0.019907f, -0.013135f, 0.005888f, -0.006078f, -0.010502f, 0.018762f, 0.003619f, -0.015811f, 0.013788f, 0.003188f, -0.023177f, 0.003942f, -0.019055f, 0.020803f, -0.009511f, -0.030229f, -0.044698f, -0.033910f, 0.037338f, -0.030712f, 0.015013f, 0.035578f, 0.015116f, 0.022828f, -0.042643f, 0.061090f, 0.038339f, 0.033296f, -0.024734f, 0.043774f, -0.004947f, 0.028935f, 0.018897f, 0.006400f, 0.015647f, 0.021235f, 0.012798f, -0.007182f, -0.011070f, -0.009790f, 0.004242f, -0.029487f, -0.034923f, 0.019523f, 0.008444f, 0.011326f, -0.028772f, 0.007770f, 0.008497f, 0.021387f, 0.031690f, 0.047976f, -0.027326f, 0.007254f, 0.068045f, 0.014718f, 0.007087f, 0.006596f, -0.014317f, 0.005010f, 0.067729f, 0.019723f, 0.043772f, 0.012555f, -0.047389f, -0.019623f, -0.034593f, 0.098716f, 0.039816f, -0.038148f, -0.024200f, -0.034022f, 0.005442f, -0.022323f, -0.053959f, 0.012326f, -0.040954f, 0.060451f, -0.004587f, -0.050029f, 0.065518f, 0.053415f, 0.007258f, -0.014513f, 0.008636f, -0.030446f, 0.040188f, 0.072503f, -0.019793f, 0.034391f, 0.080655f, -0.012753f, -0.013611f, - -0.009225f, 0.048922f, -0.003578f, -0.027691f, -0.025578f, -0.026478f, -0.000428f, -0.003681f, -0.022664f, 0.001320f, -0.009497f, 0.024371f, 0.006212f, -0.024439f, -0.015059f, -0.027780f, -0.002944f, 0.003156f, -0.004417f, -0.019660f, -0.021257f, -0.015732f, 0.013352f, 0.021818f, 0.003527f, -0.024022f, -0.003382f, 0.029052f, 0.000249f, 0.026545f, 0.014339f, -0.015990f, -0.001351f, -0.024448f, 0.023295f, 0.009636f, -0.030525f, -0.058293f, 0.005298f, -0.004547f, -0.017416f, 0.018028f, -0.000138f, -0.010928f, -0.008179f, 0.004965f, 0.001569f, -0.003245f, -0.046790f, 0.018559f, -0.006425f, 0.046378f, -0.097044f, -0.066584f, 0.038380f, 0.018360f, 0.013882f, 0.032588f, -0.033120f, -0.043167f, -0.023776f, -0.035555f, 0.020074f, -0.038148f, 0.011113f, 0.025316f, 0.041588f, 0.001374f, 0.034851f, 0.020298f, 0.005719f, -0.011129f, -0.036486f, -0.025743f, 0.021239f, -0.044609f, 0.022690f, 0.005242f, 0.037977f, 0.028983f, -0.014227f, -0.055519f, -0.036110f, -0.003360f, -0.002792f, -0.014684f, 0.037981f, -0.067111f, -0.005222f, 0.002343f, -0.070297f, -0.001360f, -0.008676f, -0.005608f, 0.007501f, 0.041148f, - -0.040116f, -0.110463f, 0.041214f, 0.045020f, 0.026811f, 0.086169f, -0.070960f, -0.009100f, 0.047843f, 0.036626f, -0.044549f, -0.020679f, -0.012310f, 0.067880f, 0.013331f, 0.064795f, -0.093749f, 0.013687f, -0.111830f, -0.066945f, -0.064845f, 0.076864f, 0.024315f, -0.049553f, 0.045081f, 0.005294f, -0.043521f, 0.044250f, -0.065088f, -0.068254f, 0.010165f, -0.070885f, 0.021001f, -0.121102f, 0.018454f, 0.038257f, -0.051641f, 0.056766f, -0.025773f, -0.013642f, 0.037888f, -0.013054f, -0.010475f, -0.026982f, -0.002029f, 0.008979f, 0.020870f, -0.002446f, 0.019390f, 0.038259f, -0.028812f, -0.003088f, -0.022925f, 0.013663f, -0.015001f, -0.003903f, 0.008264f, 0.004775f, 0.005044f, -0.004958f, 0.039279f, -0.012974f, 0.003102f, 0.016931f, -0.034827f, -0.030472f, -0.033822f, -0.015610f, -0.056903f, -0.025982f, -0.020867f, 0.049057f, 0.009595f, 0.043680f, 0.018665f, 0.008926f, 0.019698f, 0.013935f, 0.001680f, 0.016628f, 0.003406f, 0.034054f, 0.083782f, 0.031006f, -0.030004f, -0.019586f, 0.011565f, -0.021272f, -0.024962f, -0.002962f, 0.038984f, -0.006759f, 0.007286f, -0.041432f, -0.008572f, 0.057261f, - -0.041777f, 0.031683f, 0.074762f, 0.037403f, -0.003179f, -0.014250f, -0.024590f, -0.047793f, -0.035165f, 0.041221f, -0.023481f, 0.038683f, 0.027856f, 0.013293f, 0.001815f, 0.015120f, -0.011933f, -0.060780f, -0.021107f, 0.043539f, 0.034466f, 0.036195f, -0.038488f, 0.066432f, -0.017110f, 0.025859f, -0.049097f, 0.044997f, 0.077347f, -0.015518f, -0.027583f, -0.002802f, 0.002811f, -0.017147f, 0.016875f, 0.033899f, -0.063515f, 0.041733f, 0.040383f, -0.009831f, 0.046817f, 0.024909f, 0.020175f, -0.029649f, 0.006088f, 0.041996f, -0.088575f, -0.078758f, -0.032898f, 0.020969f, -0.040814f, -0.119745f, 0.050149f, 0.032969f, -0.015615f, -0.020245f, 0.000837f, -0.006940f, -0.041127f, -0.109979f, -0.006743f, 0.078261f, 0.018887f, -0.013807f, -0.009443f, 0.016985f, 0.063917f, 0.051087f, -0.075243f, -0.030899f, 0.050030f, -0.010509f, -0.020263f, -0.085796f, -0.005130f, 0.047240f, 0.015534f, -0.013116f, 0.028925f, -0.010688f, 0.002939f, -0.032244f, -0.005450f, 0.019806f, 0.029416f, -0.016676f, -0.006226f, 0.006204f, 0.016944f, -0.010463f, 0.010371f, 0.001530f, -0.021154f, 0.012744f, 0.035784f, 0.006314f, - 0.010570f, 0.006848f, 0.016063f, -0.016794f, -0.029856f, 0.003027f, 0.031940f, -0.026170f, 0.011361f, -0.008752f, 0.002708f, -0.025380f, -0.049329f, -0.026602f, 0.018139f, 0.059970f, -0.006282f, 0.028400f, -0.039793f, -0.017278f, -0.026959f, 0.016698f, 0.011465f, 0.019013f, -0.013683f, -0.020373f, -0.001613f, 0.004423f, -0.001968f, 0.040818f, 0.054082f, 0.001274f, -0.060833f, 0.080718f, -0.022590f, -0.056231f, 0.050515f, -0.008032f, -0.030565f, 0.039061f, 0.010501f, -0.008091f, 0.032955f, -0.045026f, 0.042835f, -0.015213f, 0.001499f, -0.013043f, -0.011141f, -0.062798f, 0.024956f, -0.023928f, 0.009965f, -0.025133f, -0.002020f, -0.018719f, 0.018061f, -0.010938f, 0.068004f, 0.012078f, 0.044508f, -0.017224f, 0.011172f, 0.028169f, -0.011877f, 0.019490f, -0.003797f, 0.034009f, -0.001653f, -0.011337f, 0.053709f, -0.047877f, 0.026802f, 0.036738f, -0.021474f, 0.041572f, -0.025361f, -0.000969f, 0.021401f, -0.016176f, 0.048834f, 0.043750f, 0.009128f, 0.072763f, -0.044762f, -0.102593f, -0.017236f, -0.063412f, -0.041955f, 0.149979f, -0.003779f, 0.046054f, -0.006960f, -0.063215f, -0.001592f, 0.063042f, - 0.089234f, 0.054288f, 0.089886f, -0.048281f, -0.014425f, -0.021606f, -0.051269f, 0.034070f, -0.014372f, -0.031616f, -0.003276f, -0.062215f, -0.113773f, 0.028693f, 0.040093f, -0.033637f, 0.022709f, -0.007042f, -0.033923f, 0.036279f, 0.026713f, -0.013225f, 0.037357f, -0.013681f, -0.033309f, 0.017162f, -0.016529f, 0.044305f, 0.004186f, 0.003342f, 0.025029f, 0.008374f, -0.028184f, -0.011798f, 0.014535f, -0.009261f, 0.027576f, -0.038413f, 0.024823f, -0.040280f, -0.010248f, 0.010070f, -0.028588f, 0.018274f, 0.001168f, -0.042922f, -0.006940f, 0.002782f, -0.011513f, -0.000099f, -0.008007f, -0.031497f, 0.012918f, 0.009451f, -0.004995f, 0.031631f, 0.048513f, -0.026435f, -0.037799f, -0.002428f, -0.018015f, 0.052451f, 0.053905f, -0.031767f, -0.020084f, 0.045747f, -0.048133f, 0.057874f, -0.034869f, 0.008002f, -0.000071f, 0.006040f, -0.044402f, -0.006837f, -0.040156f, -0.033222f, 0.000163f, -0.013074f, -0.030281f, -0.012061f, 0.022288f, -0.025858f, 0.020544f, -0.012196f, 0.062234f, -0.028762f, 0.018627f, 0.003813f, -0.015406f, -0.049889f, -0.018262f, 0.038077f, 0.006928f, -0.012404f, 0.049916f, -0.036848f, - -0.037189f, -0.005037f, 0.047668f, -0.043260f, -0.005999f, 0.008536f, 0.012977f, -0.048185f, 0.014573f, 0.016789f, -0.017185f, -0.050390f, 0.000964f, -0.039122f, 0.016650f, 0.008942f, 0.015080f, -0.077044f, -0.032888f, 0.043997f, 0.118644f, -0.053657f, -0.007356f, 0.009585f, -0.019955f, -0.033456f, -0.000597f, 0.099096f, 0.022894f, -0.010067f, -0.008639f, -0.026157f, -0.006017f, -0.020024f, 0.038499f, 0.002046f, -0.024460f, -0.026317f, 0.001455f, 0.017801f, -0.039425f, 0.030878f, 0.009222f, 0.033660f, 0.001426f, 0.042803f, 0.018058f, -0.029773f, 0.040250f, 0.038369f, 0.094944f, 0.030244f, 0.007458f, 0.009837f, -0.034539f, 0.011647f, 0.031134f, 0.032142f, 0.011189f, -0.002153f, 0.001347f, -0.003773f, 0.012088f, 0.013452f, -0.003012f, 0.017355f, -0.004312f, -0.001667f, 0.032906f, 0.014029f, 0.005779f, -0.009693f, 0.009854f, 0.024919f, 0.026262f, 0.030115f, 0.011051f, 0.011134f, -0.016648f, -0.000002f, -0.000808f, 0.005623f, 0.017131f, -0.000567f, -0.013254f, 0.015528f, -0.013895f, 0.012946f, -0.000433f, 0.015255f, 0.002457f, -0.012266f, -0.003248f, 0.001162f, 0.003664f, 0.007673f, - -0.001596f, 0.005543f, 0.004287f, -0.000038f, -0.075290f, 0.100140f, 0.013881f, 0.022850f, 0.024072f, -0.023045f, -0.026588f, 0.001029f, -0.010215f, 0.014304f, 0.033016f, -0.046227f, 0.015374f, -0.009691f, 0.012083f, 0.011342f, 0.007887f, 0.026461f, 0.020691f, -0.019665f, 0.018605f, 0.016215f, -0.015978f, -0.027568f, 0.008490f, -0.009731f, -0.022894f, 0.013816f, 0.011314f, -0.001858f, -0.014958f, 0.000508f, -0.010896f, -0.005228f, 0.001091f, 0.006047f, 0.010563f, -0.020591f, -0.003046f, 0.016648f, -0.007367f, 0.014952f, 0.002867f, 0.010814f, 0.021759f, 0.006524f, -0.022181f, 0.002419f, 0.020760f, -0.011679f, -0.001073f, 0.010152f, -0.035279f, -0.002044f, -0.008718f, -0.032794f, 0.045499f, -0.011468f, -0.001897f, 0.027105f, 0.004632f, -0.020195f, 0.008013f, -0.019295f, -0.003920f, 0.015132f, -0.018193f, -0.006464f, 0.033629f, -0.035603f, 0.003811f, 0.003332f, 0.012217f, -0.015752f, 0.010812f, -0.005325f, 0.010075f, -0.013492f, 0.000622f, -0.003164f, 0.033870f, -0.015331f, -0.001542f, 0.008971f, -0.017135f, -0.001510f, 0.023440f, -0.004811f, 0.015103f, -0.010179f, -0.009740f, 0.001899f, - 0.009070f, -0.008786f, 0.017281f, 0.000036f, -0.003816f, -0.003604f, -0.005494f, -0.005281f, 0.014733f, -0.012407f, 0.014420f, 0.008080f, -0.019034f, 0.004754f, -0.001961f, -0.001435f, 0.011162f, -0.015632f, -0.006394f, 0.002511f, -0.010583f, 0.011181f, -0.010886f, -0.001384f, 0.017862f, 0.003433f, -0.003391f, 0.008377f, -0.009033f, -0.006929f, -0.004404f, 0.008932f, 0.014889f, -0.004368f, -0.004342f, 0.001878f, 0.023615f, -0.098983f, -0.201531f, -0.025846f, 0.126686f, 0.097436f, 0.279526f, 0.134552f, -0.065025f, -0.056792f, -0.132363f, -0.231898f, -0.029219f, -0.089830f, -0.027802f, 0.163941f, 0.104546f, 0.111600f, 0.213337f, -0.007346f, -0.047082f, -0.080300f, -0.210752f, -0.116272f, -0.037333f, -0.039054f, 0.005987f, 0.096122f, 0.074463f, 0.079045f, 0.148941f, 0.087212f, -0.054596f, 0.079471f, -0.083239f, -0.194360f, 0.025009f, -0.130399f, -0.181489f, 0.070970f, -0.015473f, -0.033517f, 0.223435f, 0.073292f, 0.059487f, 0.192614f, -0.020537f, -0.037725f, 0.058708f, -0.128853f, -0.160151f, -0.042969f, -0.137115f, -0.122517f, 0.026120f, 0.026726f, 0.055576f, 0.168072f, 0.148854f, 0.090239f, - 0.106800f, 0.020775f, -0.084015f, -0.090468f, -0.112032f, -0.154004f, -0.071860f, -0.038984f, -0.052263f, 0.046731f, 0.148655f, 0.097115f, 0.095895f, 0.078883f, -0.055400f, -0.000462f, 0.015784f, -0.127076f, -0.052335f, -0.031744f, -0.037136f, 0.058493f, 0.029966f, -0.007174f, 0.047815f, -0.010930f, -0.009825f, 0.008299f, -0.034219f, -0.025741f, 0.017046f, -0.021124f, 0.034678f, 0.043631f, -0.016115f, 0.023725f, 0.044421f, -0.025706f, 0.029130f, 0.014666f, -0.086501f, 0.015470f, -0.028021f, -0.093880f, 0.001543f, -0.053553f, -0.047966f, 0.068532f, 0.074108f, 0.071618f, 0.132545f, 0.042375f, 0.042241f, 0.045069f, -0.057886f, -0.115516f, -0.129069f, -0.165182f, -0.123104f, -0.037003f, 0.021628f, 0.100408f, 0.166213f, 0.184244f, 0.143832f, 0.104927f, 0.020740f, -0.097350f, -0.146794f, -0.179153f, -0.166575f, -0.086234f, -0.005495f, 0.047131f, 0.119328f, 0.110254f, 0.060115f, 0.060535f, 0.023434f, -0.001614f, -0.000477f, -0.018604f, -0.036689f, -0.030300f, -0.038134f, -0.045998f, -0.034071f, -0.025247f, -0.007101f, 0.012284f, 0.030008f, 0.036330f, 0.038368f, 0.031591f, 0.017545f, 0.004539f, - -0.003982f, -0.005532f, -0.003378f, -0.001784f}, - {-0.001968f, 0.005007f, 0.008669f, -0.006482f, -0.005609f, -0.008671f, 0.007847f, 0.003909f, 0.000680f, 0.011610f, -0.001166f, -0.000149f, -0.003556f, -0.002877f, 0.002516f, -0.003110f, -0.006057f, 0.003402f, 0.000978f, 0.009696f, 0.013251f, -0.003455f, -0.007804f, -0.009612f, -0.000610f, -0.005498f, -0.005299f, -0.003636f, -0.000743f, -0.007657f, 0.007366f, -0.002745f, -0.002897f, -0.005067f, -0.003738f, 0.001409f, 0.008277f, -0.000867f, -0.002395f, 0.002499f, -0.008141f, 0.006100f, -0.005080f, -0.018250f, 0.009045f, 0.006010f, 0.010048f, 0.010424f, 0.001981f, 0.005487f, -0.005449f, 0.001544f, 0.007898f, 0.000612f, -0.000099f, -0.001906f, -0.001054f, 0.004237f, -0.003858f, -0.002784f, 0.000194f, 0.004028f, -0.003350f, -0.004169f, -0.006107f, 0.007806f, 0.003097f, 0.000961f, -0.001907f, -0.007817f, -0.000274f, 0.005838f, 0.003624f, -0.001117f, -0.001484f, 0.005848f, -0.000715f, -0.000431f, -0.002553f, -0.002411f, -0.003576f, -0.004231f, 0.000260f, 0.000890f, 0.002005f, -0.004354f, -0.001728f, 0.002418f, -0.003019f, 0.002611f, 0.000702f, 0.001169f, -0.001132f, -0.000073f, 0.000563f, 0.001273f, - 0.000316f, -0.000508f, 0.000794f, -0.000556f, -0.001492f, -0.000484f, -0.002467f, 0.001634f, 0.000836f, -0.000705f, 0.000030f, -0.001115f, 0.001463f, 0.001512f, 0.000483f, 0.000150f, 0.000564f, 0.000536f, -0.001537f, 0.000055f, -0.000304f, -0.000374f, -0.000605f, -0.000207f, 0.000853f, -0.027401f, 0.014231f, -0.001389f, 0.000364f, 0.004922f, 0.006953f, -0.010236f, -0.001338f, -0.001874f, 0.005775f, 0.002169f, -0.006279f, 0.019415f, -0.002128f, -0.001251f, 0.008616f, 0.007063f, 0.002282f, 0.004887f, 0.015843f, -0.007908f, 0.000458f, -0.004054f, 0.001550f, -0.004935f, 0.000357f, 0.000451f, 0.001747f, -0.008865f, 0.000720f, -0.002164f, -0.003356f, -0.000424f, 0.005506f, -0.003102f, 0.005117f, 0.007456f, -0.012980f, 0.001698f, -0.005299f, -0.001478f, -0.008006f, 0.003929f, -0.004766f, -0.000859f, -0.002707f, -0.008145f, 0.003059f, -0.005481f, 0.003658f, 0.001983f, -0.004042f, -0.005943f, 0.000154f, 0.005426f, 0.004085f, 0.009900f, 0.004564f, -0.004350f, -0.012251f, -0.000870f, 0.002121f, 0.015356f, -0.004811f, -0.002391f, -0.000204f, -0.003054f, -0.008064f, -0.003882f, -0.007509f, -0.001060f, - 0.006170f, -0.001456f, 0.007352f, 0.004704f, 0.003784f, 0.005309f, 0.000934f, -0.009690f, -0.002284f, -0.006256f, -0.003975f, -0.010756f, -0.000395f, -0.003105f, 0.001411f, 0.002847f, 0.001236f, -0.001649f, -0.002211f, 0.000311f, 0.002796f, -0.002470f, -0.000695f, 0.000010f, -0.000904f, -0.000283f, -0.001020f, 0.001077f, -0.003712f, -0.001322f, -0.000902f, 0.000050f, -0.000391f, -0.000743f, -0.000022f, -0.005242f, 0.019951f, 0.010392f, -0.003260f, -0.008072f, 0.011406f, -0.013379f, -0.002256f, 0.007398f, -0.005545f, -0.004003f, -0.005782f, 0.013165f, -0.004685f, 0.004048f, 0.001067f, 0.003999f, 0.017981f, -0.018133f, 0.005345f, 0.009041f, -0.006080f, -0.016784f, -0.008786f, -0.001173f, 0.001000f, -0.002404f, -0.003082f, 0.006996f, 0.010158f, -0.000868f, -0.007290f, 0.000521f, -0.009224f, 0.002708f, -0.005814f, 0.003215f, 0.010850f, 0.003976f, -0.011015f, -0.000310f, 0.000614f, 0.016310f, 0.002998f, 0.008157f, -0.002406f, 0.003610f, 0.002806f, -0.019753f, 0.000264f, 0.009343f, 0.004279f, 0.010452f, -0.009316f, -0.005698f, -0.009276f, 0.002499f, 0.005866f, -0.001889f, 0.001965f, 0.000510f, - -0.004679f, 0.001758f, -0.003526f, 0.003146f, 0.002922f, -0.000674f, 0.004786f, 0.000999f, -0.000763f, 0.002141f, 0.011696f, 0.002165f, 0.006084f, 0.007655f, 0.004183f, 0.000193f, -0.000225f, -0.011003f, -0.000066f, 0.011749f, 0.004104f, 0.005219f, -0.000266f, -0.000797f, 0.007338f, -0.005500f, 0.000570f, -0.000489f, 0.003710f, 0.002012f, -0.000005f, -0.004768f, 0.000754f, -0.002399f, -0.000748f, 0.000835f, -0.001575f, -0.001107f, 0.001124f, -0.000116f, 0.003766f, 0.001622f, 0.003440f, 0.001697f, 0.001028f, 0.001913f, -0.001437f, -0.001862f, 0.000193f, 0.000251f, 0.004309f, 0.002695f, 0.000612f, 0.001539f, 0.004095f, -0.000657f, 0.000384f, 0.001322f, 0.041207f, -0.010645f, -0.003854f, -0.006256f, 0.008425f, 0.005624f, 0.014018f, 0.005564f, -0.002077f, 0.006718f, -0.000306f, 0.007515f, 0.002899f, 0.010446f, 0.000207f, 0.008767f, 0.011395f, -0.012658f, 0.002254f, 0.003271f, 0.002094f, 0.001993f, 0.002809f, -0.007525f, -0.000039f, -0.008665f, -0.001274f, -0.000313f, -0.014703f, -0.009975f, 0.003653f, -0.000062f, -0.000540f, 0.005847f, 0.005705f, -0.002985f, -0.012683f, 0.003799f, - 0.011383f, 0.007519f, 0.010614f, -0.002862f, 0.005723f, 0.010566f, -0.017620f, 0.005586f, 0.007705f, -0.008685f, 0.010850f, -0.007571f, -0.001626f, 0.001084f, 0.002110f, -0.005846f, 0.005113f, -0.001534f, -0.002020f, -0.006082f, -0.005013f, 0.006109f, 0.006089f, 0.002773f, 0.005994f, 0.009393f, 0.005104f, 0.013055f, -0.002784f, -0.014670f, 0.014170f, 0.002333f, 0.006934f, 0.002966f, -0.002461f, 0.003724f, 0.002669f, 0.000634f, 0.009711f, -0.002966f, 0.009581f, -0.013788f, -0.003215f, 0.001806f, 0.004241f, 0.000957f, -0.007590f, -0.003464f, 0.001213f, 0.000454f, -0.000841f, 0.000486f, 0.002873f, -0.003682f, -0.002157f, -0.002068f, -0.002741f, 0.001603f, -0.000862f, -0.000998f, -0.002244f, -0.001571f, 0.004141f, -0.000975f, -0.001436f, -0.000027f, -0.001527f, -0.001187f, 0.002074f, -0.000813f, 0.002218f, -0.000449f, 0.000128f, 0.001805f, -0.000567f, 0.018238f, -0.020985f, 0.013913f, 0.002921f, 0.014248f, 0.003283f, -0.008067f, 0.002615f, 0.010972f, -0.013162f, -0.002806f, 0.001482f, -0.014840f, -0.002952f, -0.011412f, -0.006992f, -0.008322f, -0.009123f, 0.003838f, -0.014172f, -0.008814f, - -0.011296f, -0.002902f, 0.010868f, 0.003901f, -0.013585f, -0.005311f, -0.014207f, -0.003536f, 0.003075f, 0.020339f, -0.016425f, 0.006697f, -0.004195f, -0.006046f, -0.012246f, 0.000539f, 0.002066f, 0.013024f, 0.006845f, 0.001608f, -0.011105f, -0.019285f, -0.000301f, 0.005604f, 0.015100f, 0.005231f, 0.004832f, -0.011220f, 0.004059f, 0.009431f, 0.000717f, 0.001430f, -0.005998f, -0.005976f, -0.002016f, 0.005468f, 0.000974f, -0.003889f, 0.000104f, -0.012340f, -0.001770f, -0.010408f, 0.006521f, -0.002225f, 0.006520f, -0.010199f, -0.008601f, -0.014024f, -0.001628f, -0.009039f, -0.003876f, 0.003526f, -0.013569f, -0.005908f, 0.001560f, 0.007421f, -0.016298f, 0.009454f, -0.007672f, -0.008283f, -0.008663f, -0.007290f, 0.004893f, -0.004917f, 0.002266f, 0.002757f, -0.004325f, 0.000565f, 0.003389f, 0.002577f, 0.000173f, -0.003925f, -0.000581f, -0.001917f, -0.004374f, -0.000828f, 0.003233f, 0.001862f, -0.002165f, 0.002902f, -0.002536f, -0.001984f, -0.000482f, 0.000951f, -0.003258f, 0.000169f, -0.000398f, 0.002153f, 0.001736f, 0.003590f, -0.002939f, 0.000808f, -0.000665f, -0.001311f, 0.001137f, -0.003444f, - -0.001189f, 0.001666f, 0.000926f, -0.050936f, 0.008201f, 0.005806f, -0.014711f, -0.003280f, -0.000072f, 0.000504f, -0.002826f, -0.004892f, -0.003775f, -0.015141f, 0.011638f, -0.007337f, 0.001595f, -0.012611f, -0.004496f, 0.018234f, 0.016511f, -0.010485f, -0.006344f, 0.000524f, -0.000311f, -0.008606f, -0.010053f, -0.007116f, 0.001172f, 0.000779f, 0.000281f, -0.001037f, 0.004230f, -0.012429f, 0.003856f, 0.000425f, -0.021951f, -0.002634f, -0.006589f, 0.010024f, 0.014617f, 0.002288f, -0.002609f, 0.000701f, -0.012881f, -0.016091f, 0.008595f, 0.015921f, 0.017693f, -0.004780f, 0.003198f, 0.010344f, 0.010635f, -0.005525f, 0.009808f, 0.016045f, -0.000710f, 0.013508f, 0.011408f, -0.013452f, 0.004367f, 0.000784f, 0.014433f, -0.008868f, -0.009500f, 0.008348f, 0.010929f, -0.003367f, 0.000939f, -0.015849f, 0.011119f, -0.008862f, 0.011739f, -0.019711f, 0.002097f, 0.004702f, 0.009367f, 0.000657f, -0.008302f, -0.016810f, -0.010365f, 0.014166f, -0.014027f, -0.000641f, 0.001537f, 0.007652f, -0.004277f, -0.002969f, 0.005908f, -0.011227f, -0.009844f, 0.004038f, 0.002631f, -0.000798f, 0.007996f, -0.003708f, - 0.001861f, 0.002101f, 0.002104f, 0.003070f, 0.000607f, -0.003108f, 0.001904f, 0.004179f, -0.001774f, 0.000607f, -0.000892f, -0.002060f, 0.001640f, -0.005173f, -0.000790f, -0.005579f, -0.001129f, -0.001025f, -0.001888f, -0.002844f, 0.001111f, -0.001627f, -0.000133f, -0.004325f, 0.001690f, -0.000751f, 0.001462f, 0.001818f, 0.000610f, 0.000778f, -0.019740f, 0.006992f, -0.017445f, 0.022066f, 0.021221f, 0.000647f, -0.028756f, 0.011902f, 0.001627f, -0.005367f, 0.019838f, 0.000081f, -0.017136f, -0.001826f, 0.021567f, -0.027061f, 0.000853f, -0.006773f, -0.021357f, -0.005943f, 0.000387f, -0.004208f, -0.010939f, 0.006294f, -0.009062f, 0.007363f, -0.007719f, -0.014472f, 0.007712f, -0.001086f, 0.011081f, -0.021547f, 0.008791f, 0.016949f, -0.006817f, 0.001390f, 0.017043f, 0.024919f, -0.006629f, -0.005094f, -0.021003f, 0.001224f, -0.017327f, -0.001419f, -0.012062f, 0.000595f, 0.001690f, 0.010065f, 0.004826f, 0.009198f, -0.006641f, 0.001688f, 0.005704f, -0.001097f, 0.023003f, -0.015273f, -0.007541f, 0.030260f, 0.030398f, -0.006004f, -0.001917f, -0.019081f, -0.009751f, 0.000967f, -0.005293f, -0.012630f, - 0.018362f, 0.005657f, -0.004782f, 0.026938f, 0.005223f, -0.012931f, -0.000356f, -0.024744f, -0.012408f, -0.014029f, -0.012021f, -0.003290f, -0.019315f, -0.013945f, 0.007961f, 0.007356f, -0.001419f, 0.004339f, -0.005731f, 0.006466f, -0.004304f, -0.006324f, 0.001094f, -0.009103f, -0.004158f, 0.011685f, 0.000936f, 0.005822f, -0.003123f, 0.001194f, 0.000897f, 0.002740f, 0.002535f, -0.000513f, -0.000232f, -0.005787f, -0.000066f, 0.001233f, 0.000936f, -0.001632f, -0.001640f, 0.003904f, 0.001164f, -0.000838f, 0.000139f, -0.000998f, 0.000132f, 0.002163f, 0.024508f, -0.006438f, -0.000211f, 0.016901f, -0.003957f, 0.010021f, -0.005391f, -0.021289f, -0.001317f, 0.000101f, -0.004322f, -0.012581f, -0.014056f, 0.007434f, -0.011121f, 0.019857f, -0.006013f, -0.014267f, 0.012305f, 0.024904f, -0.006103f, 0.007041f, -0.006610f, 0.014425f, 0.000380f, -0.030085f, 0.010808f, 0.016843f, 0.001735f, -0.004939f, -0.017481f, 0.014797f, 0.009908f, 0.009560f, 0.001993f, 0.006059f, 0.019753f, -0.013813f, 0.002521f, 0.003940f, -0.010893f, -0.021123f, 0.020267f, 0.011325f, 0.037665f, -0.001831f, 0.016651f, -0.005442f, - -0.011753f, 0.002092f, -0.001786f, -0.000451f, -0.003302f, -0.012169f, 0.027064f, 0.000707f, 0.002171f, 0.003904f, -0.003705f, 0.022297f, 0.002885f, 0.018681f, 0.007830f, 0.003208f, 0.019951f, -0.009306f, -0.022229f, -0.004328f, 0.004185f, 0.002956f, -0.009156f, 0.010967f, -0.006536f, -0.031126f, 0.002889f, 0.006267f, -0.017167f, 0.008098f, -0.001722f, 0.003433f, 0.000109f, -0.007019f, -0.007764f, 0.000029f, 0.003022f, 0.009582f, -0.000791f, 0.002730f, -0.003606f, -0.002671f, 0.004373f, 0.002881f, -0.000471f, 0.002967f, -0.003105f, -0.000308f, 0.000290f, -0.004223f, -0.006088f, 0.003893f, -0.006785f, -0.001726f, -0.002919f, -0.005947f, -0.001593f, -0.000753f, -0.002152f, 0.002657f, -0.000949f, -0.002480f, -0.000672f, 0.011512f, 0.004574f, 0.004417f, -0.002240f, 0.001680f, -0.003513f, -0.004625f, -0.001454f, -0.001571f, 0.002072f, -0.003050f, 0.005629f, -0.007159f, -0.002188f, 0.001575f, 0.019801f, -0.032829f, 0.005390f, 0.014705f, 0.021889f, -0.022992f, -0.003313f, 0.015588f, 0.010864f, 0.013303f, 0.002350f, 0.028079f, 0.005206f, 0.011643f, -0.003491f, 0.001662f, 0.011586f, 0.006354f, - 0.013375f, 0.001061f, -0.018569f, -0.027093f, 0.014369f, 0.006955f, -0.005158f, 0.003187f, 0.008081f, -0.025349f, 0.000237f, -0.015996f, 0.007484f, -0.000870f, 0.016615f, -0.005325f, 0.007421f, -0.003837f, 0.004303f, 0.002275f, -0.000707f, 0.009357f, 0.012487f, 0.004477f, 0.007230f, -0.019859f, 0.008217f, -0.003497f, -0.034638f, -0.023008f, 0.005895f, -0.025289f, -0.001746f, 0.020908f, -0.015258f, 0.041530f, 0.015006f, -0.008360f, 0.022530f, 0.001061f, -0.007387f, -0.016755f, -0.016608f, -0.023055f, -0.003593f, 0.013484f, -0.016507f, -0.002045f, 0.014954f, 0.006837f, 0.008441f, 0.030433f, 0.003747f, 0.019899f, 0.000141f, 0.003910f, -0.032673f, 0.009052f, 0.002448f, -0.029725f, -0.028156f, 0.016245f, -0.010747f, 0.001895f, 0.008537f, -0.004844f, -0.007666f, 0.001723f, -0.001714f, -0.002031f, 0.001706f, -0.005314f, 0.004772f, -0.003820f, 0.001055f, -0.009382f, 0.005088f, 0.001582f, 0.002064f, -0.000503f, 0.011576f, -0.009382f, 0.000800f, -0.002625f, -0.002346f, 0.002347f, 0.002362f, 0.003244f, 0.005568f, 0.009312f, 0.005743f, -0.005977f, 0.001445f, -0.000749f, 0.008470f, -0.002785f, - 0.005463f, -0.008676f, -0.006604f, -0.004997f, -0.004215f, -0.000569f, -0.000477f, 0.004319f, 0.005036f, -0.017031f, -0.000415f, 0.010862f, -0.000048f, 0.007652f, -0.017447f, 0.013734f, -0.000973f, 0.004063f, 0.012812f, -0.023592f, -0.016180f, 0.004393f, -0.000215f, 0.013087f, 0.026916f, -0.002400f, 0.006794f, 0.028883f, -0.010587f, -0.019428f, -0.001013f, 0.021183f, -0.004462f, -0.024211f, 0.002060f, 0.009059f, -0.004666f, -0.007516f, -0.001677f, 0.031313f, -0.005837f, 0.026966f, 0.020415f, 0.024611f, 0.001462f, 0.002090f, 0.014437f, 0.004897f, -0.004865f, 0.005141f, -0.019307f, 0.014726f, 0.024671f, 0.015503f, 0.002219f, 0.013794f, -0.010665f, 0.010613f, -0.010373f, 0.015480f, -0.013773f, 0.000351f, -0.000999f, -0.000998f, 0.043798f, -0.006457f, -0.002335f, -0.003725f, 0.006179f, 0.012126f, 0.023112f, 0.026344f, -0.014247f, 0.006371f, 0.026252f, -0.014586f, -0.018098f, 0.011025f, -0.007820f, 0.011363f, 0.050014f, -0.023512f, 0.003484f, 0.004738f, -0.012890f, 0.005694f, 0.016399f, 0.011487f, 0.001461f, -0.010161f, -0.024478f, 0.011710f, -0.010616f, 0.013535f, -0.009134f, 0.001951f, - -0.012067f, -0.002616f, -0.020255f, 0.001792f, -0.006360f, -0.007149f, -0.002431f, 0.002519f, 0.005244f, 0.010144f, 0.004374f, -0.005746f, -0.001349f, 0.010336f, -0.005978f, -0.005296f, 0.000824f, 0.000766f, -0.009175f, -0.000086f, -0.004583f, -0.002268f, -0.001655f, -0.001634f, 0.003651f, 0.002255f, 0.007383f, -0.004640f, -0.004591f, 0.000584f, -0.005518f, 0.002647f, 0.011540f, -0.005715f, -0.006036f, -0.011379f, 0.005916f, -0.002867f, -0.002888f, -0.016913f, -0.026667f, -0.020528f, -0.027750f, -0.010688f, 0.003119f, 0.022223f, 0.016463f, 0.005966f, 0.023402f, 0.007039f, 0.014296f, 0.013161f, -0.006345f, 0.020298f, 0.021998f, 0.015538f, -0.029689f, -0.016637f, -0.017194f, 0.006481f, -0.011857f, 0.000829f, 0.008458f, -0.008624f, -0.020949f, 0.013560f, -0.009931f, 0.004817f, 0.004511f, 0.021383f, -0.022285f, 0.034666f, -0.034228f, 0.035414f, -0.000072f, 0.017771f, -0.017173f, 0.006259f, -0.038260f, -0.021304f, -0.018612f, 0.016878f, 0.007778f, 0.024467f, -0.002424f, -0.000079f, -0.012406f, -0.030670f, 0.020040f, -0.016744f, -0.008698f, 0.014606f, 0.034809f, 0.033684f, 0.015803f, -0.002232f, - -0.022773f, 0.013419f, -0.034979f, -0.002706f, -0.019857f, 0.011293f, 0.037772f, -0.036218f, 0.013230f, 0.016846f, -0.022519f, -0.002209f, -0.003831f, 0.012664f, -0.014925f, -0.021488f, 0.004298f, -0.008674f, -0.031590f, 0.016075f, -0.003110f, -0.029657f, 0.022062f, 0.029193f, -0.009601f, 0.001016f, 0.004135f, -0.012516f, 0.018956f, 0.008817f, -0.005345f, -0.004671f, -0.012415f, -0.007057f, 0.015210f, 0.008748f, 0.008686f, -0.000611f, -0.013680f, -0.004076f, -0.004633f, -0.015162f, -0.003224f, 0.004629f, -0.000898f, -0.004398f, -0.001366f, -0.010787f, 0.001440f, -0.003625f, 0.007403f, 0.004175f, 0.001559f, -0.012502f, 0.010398f, 0.001039f, -0.005415f, -0.003099f, -0.002047f, -0.000547f, 0.006177f, -0.004551f, -0.001911f, 0.004806f, 0.012785f, 0.006507f, 0.003792f, -0.007628f, 0.010205f, -0.025492f, -0.029765f, -0.008416f, 0.019161f, -0.022793f, 0.015050f, -0.031306f, -0.005606f, -0.012046f, -0.011044f, -0.024820f, -0.002233f, -0.009267f, -0.014928f, 0.011934f, -0.016631f, 0.017884f, 0.003762f, 0.013970f, -0.021971f, -0.041064f, -0.003430f, 0.008473f, -0.017213f, -0.012587f, 0.006699f, 0.005362f, - -0.020130f, -0.009538f, 0.028594f, 0.013900f, -0.003788f, 0.015663f, 0.041072f, 0.001472f, 0.005193f, 0.004223f, -0.003139f, -0.000661f, 0.006039f, 0.005518f, -0.031595f, -0.011466f, -0.038603f, -0.012180f, -0.036003f, -0.016947f, 0.001940f, 0.042062f, 0.019604f, -0.020790f, -0.024457f, 0.015694f, 0.033184f, 0.021012f, -0.014879f, 0.025472f, -0.009714f, -0.001901f, -0.044602f, -0.013241f, -0.005769f, -0.005484f, -0.030514f, -0.048839f, 0.015638f, -0.000100f, -0.035768f, 0.009120f, 0.055895f, 0.007305f, 0.006305f, -0.035311f, -0.003206f, -0.000501f, 0.007799f, -0.039651f, 0.036598f, 0.005797f, 0.010092f, 0.020262f, 0.007798f, 0.021979f, -0.001708f, 0.010324f, -0.008649f, -0.017165f, -0.014330f, 0.007563f, -0.011552f, -0.003643f, -0.015426f, 0.005172f, 0.012547f, 0.000242f, 0.010563f, 0.001191f, -0.004289f, -0.000185f, -0.008883f, 0.006149f, 0.006312f, 0.001135f, 0.001125f, -0.006028f, -0.002500f, 0.003367f, 0.009172f, 0.006690f, -0.008141f, -0.002880f, -0.003382f, -0.018545f, -0.025761f, -0.018935f, -0.006247f, -0.002381f, 0.002946f, -0.004426f, -0.007330f, -0.007894f, -0.000056f, -0.005292f, - -0.006903f, -0.011525f, -0.006305f, 0.018571f, -0.011544f, 0.022561f, -0.034277f, -0.007068f, 0.008061f, -0.016542f, 0.039278f, -0.032595f, -0.033554f, -0.027305f, 0.037981f, 0.016913f, -0.022176f, -0.020005f, -0.013383f, -0.004258f, -0.012072f, -0.012419f, 0.001764f, 0.014109f, 0.037515f, -0.004279f, 0.015917f, 0.013848f, 0.013449f, -0.025239f, -0.031479f, -0.022649f, 0.026184f, -0.004678f, 0.031840f, 0.010497f, -0.003668f, -0.043836f, -0.035781f, -0.003804f, 0.002764f, -0.025471f, -0.016003f, -0.012025f, -0.012314f, -0.057459f, -0.012610f, -0.014116f, -0.020818f, -0.010229f, -0.013671f, -0.026425f, 0.018352f, 0.035684f, 0.019737f, 0.000894f, 0.020977f, 0.026781f, -0.009733f, 0.008432f, 0.006681f, 0.002576f, -0.001272f, -0.006921f, 0.018694f, 0.007523f, 0.031455f, -0.007418f, 0.002964f, 0.011208f, 0.062096f, -0.000796f, 0.032934f, 0.041808f, -0.003810f, -0.036554f, 0.002985f, 0.036312f, 0.005182f, -0.031130f, -0.028019f, -0.035674f, 0.023083f, -0.029146f, -0.008059f, 0.041666f, -0.018098f, -0.027966f, 0.008465f, -0.007680f, 0.000644f, 0.011372f, -0.017674f, -0.007873f, 0.003306f, -0.005243f, - -0.008113f, -0.001587f, 0.003024f, 0.020827f, -0.002129f, -0.010817f, -0.009490f, -0.000090f, -0.008194f, -0.006573f, -0.006025f, -0.010495f, -0.005164f, 0.003962f, -0.005195f, -0.000994f, -0.014464f, 0.003679f, -0.001548f, 0.002892f, 0.014083f, 0.008942f, -0.008613f, 0.003906f, 0.002910f, -0.012580f, -0.019383f, 0.007182f, 0.007475f, 0.001108f, -0.019811f, -0.021187f, -0.003552f, -0.014799f, -0.005034f, -0.002164f, 0.035141f, 0.025599f, -0.058967f, 0.018701f, 0.023521f, -0.010339f, 0.017083f, 0.056028f, 0.004607f, 0.012470f, -0.019573f, 0.012985f, -0.020685f, -0.013219f, -0.011021f, 0.004114f, 0.014418f, 0.020156f, -0.002890f, 0.008308f, -0.006098f, -0.003434f, -0.010816f, 0.014834f, 0.052890f, -0.017276f, -0.017049f, 0.018962f, 0.013376f, 0.001910f, -0.038462f, 0.024931f, -0.030663f, 0.017592f, 0.022078f, 0.002451f, 0.005613f, -0.006355f, 0.036391f, 0.027535f, 0.000331f, 0.018520f, -0.014549f, 0.023354f, 0.003925f, 0.026373f, 0.038546f, -0.000867f, 0.009790f, -0.005039f, -0.014186f, -0.000994f, 0.016814f, 0.018925f, -0.036789f, -0.022378f, 0.008650f, 0.039972f, -0.019355f, 0.026526f, - 0.017803f, 0.005141f, -0.042865f, 0.005193f, 0.006704f, -0.051173f, 0.030179f, -0.028651f, -0.034019f, -0.064768f, 0.015792f, 0.039268f, -0.017763f, -0.036150f, 0.007523f, 0.043522f, 0.027807f, 0.004830f, -0.005648f, 0.000594f, 0.015391f, -0.013338f, 0.020527f, 0.033423f, 0.031902f, -0.002375f, 0.013540f, 0.033067f, -0.005180f, -0.000461f, -0.003636f, 0.028469f, -0.004179f, 0.006986f, -0.013310f, 0.007223f, -0.008186f, 0.001085f, 0.000410f, -0.002253f, -0.006445f, 0.006222f, 0.016791f, 0.005641f, 0.004778f, -0.015177f, 0.003864f, -0.015669f, 0.004758f, 0.024637f, -0.008973f, 0.000365f, 0.003254f, -0.011715f, -0.015247f, -0.017569f, -0.003983f, 0.011120f, -0.005157f, 0.002971f, -0.010619f, -0.001100f, 0.000406f, -0.032508f, -0.008339f, -0.001395f, 0.006836f, 0.008274f, -0.006750f, 0.011515f, 0.006105f, 0.006145f, -0.009638f, -0.009451f, 0.014425f, 0.040629f, 0.029453f, -0.010185f, -0.079400f, 0.009323f, 0.039729f, 0.018958f, 0.008629f, -0.034832f, -0.000220f, -0.024053f, 0.005581f, -0.002333f, 0.006573f, 0.011940f, 0.016635f, 0.007087f, -0.043174f, 0.024983f, -0.006020f, 0.007553f, - 0.032766f, 0.012605f, 0.006115f, -0.011759f, 0.040645f, -0.001462f, 0.040398f, -0.049129f, -0.014458f, 0.015632f, -0.028637f, -0.024759f, 0.001709f, -0.006498f, -0.022422f, 0.002582f, 0.035689f, -0.001235f, 0.002344f, -0.018821f, -0.039069f, -0.024940f, -0.011185f, 0.016119f, -0.004331f, 0.003703f, -0.019235f, -0.020950f, -0.010279f, 0.030984f, -0.021401f, 0.017812f, 0.011981f, 0.009990f, 0.003420f, -0.032211f, -0.045858f, -0.003812f, 0.030616f, -0.038145f, 0.018337f, -0.032857f, 0.020475f, -0.034562f, -0.001791f, -0.034079f, 0.048146f, -0.044083f, -0.026327f, 0.011275f, 0.007866f, 0.021986f, 0.018330f, -0.011499f, -0.006125f, -0.011571f, 0.005935f, -0.000580f, 0.028680f, -0.035786f, -0.014185f, -0.045956f, 0.023651f, -0.016403f, 0.001739f, -0.002027f, 0.012460f, -0.010261f, 0.004634f, -0.018875f, -0.028594f, 0.018226f, -0.014809f, 0.000351f, 0.004651f, 0.024246f, 0.009665f, -0.017612f, 0.003674f, -0.006040f, -0.022597f, -0.004283f, 0.005211f, 0.006987f, -0.020441f, -0.010058f, 0.022405f, -0.002404f, -0.019012f, -0.008421f, 0.026303f, -0.031083f, -0.010598f, 0.006213f, -0.007286f, 0.010926f, - -0.002413f, -0.013727f, -0.018427f, -0.005982f, -0.008309f, -0.005811f, -0.006124f, 0.004914f, -0.001527f, 0.011387f, -0.012236f, 0.006267f, 0.002115f, -0.005621f, 0.012284f, -0.067760f, -0.009627f, 0.020234f, 0.004933f, -0.016182f, -0.024198f, 0.002190f, -0.023003f, -0.002192f, -0.035508f, 0.033172f, -0.013307f, 0.020740f, -0.046162f, -0.026237f, -0.000977f, 0.056485f, -0.046309f, -0.004090f, -0.036254f, -0.028900f, -0.008834f, 0.035353f, -0.008267f, 0.015643f, 0.016550f, -0.018902f, -0.040214f, 0.056523f, 0.024616f, -0.032496f, 0.006244f, 0.004058f, 0.015587f, -0.031629f, 0.028231f, -0.002614f, -0.059242f, 0.006146f, 0.011817f, 0.015152f, -0.049091f, -0.011868f, 0.006153f, 0.043092f, 0.008193f, 0.023952f, -0.063318f, -0.038602f, 0.019386f, -0.000130f, 0.041276f, -0.011201f, -0.007000f, 0.003029f, 0.020971f, 0.019097f, 0.007319f, -0.080608f, 0.022650f, -0.009509f, 0.018397f, 0.042749f, -0.013586f, -0.003959f, -0.049032f, 0.015760f, 0.022149f, -0.025923f, -0.015322f, 0.044235f, 0.070073f, 0.018181f, 0.011412f, -0.020003f, -0.008237f, -0.038439f, 0.002913f, 0.000310f, -0.047272f, 0.017070f, - -0.001429f, -0.014005f, -0.003611f, 0.022072f, -0.018107f, -0.012373f, -0.002112f, -0.005239f, -0.001705f, 0.019462f, -0.008473f, 0.000213f, 0.011313f, 0.004321f, 0.015564f, 0.012919f, 0.009973f, 0.006839f, 0.018635f, 0.021612f, -0.029166f, 0.009082f, -0.018201f, 0.014238f, 0.002178f, -0.018669f, -0.012509f, -0.007392f, -0.006098f, -0.012322f, 0.011227f, -0.006388f, -0.011950f, 0.019859f, -0.003145f, -0.006584f, 0.011475f, 0.020452f, -0.000036f, -0.007655f, 0.005748f, 0.019061f, 0.020998f, 0.012950f, -0.006808f, 0.003283f, 0.003947f, 0.017115f, -0.058140f, -0.038043f, -0.013123f, -0.000639f, -0.033130f, 0.026245f, -0.068697f, 0.003301f, -0.042183f, 0.021832f, -0.015656f, -0.046898f, -0.004172f, -0.012670f, -0.016532f, -0.053416f, -0.038974f, 0.011098f, 0.042053f, -0.028307f, 0.051918f, -0.044324f, -0.029133f, 0.009426f, -0.004359f, 0.023516f, -0.014752f, -0.015515f, -0.021516f, -0.006084f, -0.072960f, -0.021073f, 0.002069f, -0.003261f, -0.012198f, -0.028802f, 0.022855f, -0.025501f, 0.038903f, -0.012174f, -0.004900f, -0.027725f, -0.025474f, -0.048417f, -0.021069f, 0.017724f, 0.007313f, -0.003027f, - 0.003147f, -0.017485f, -0.013142f, -0.022511f, -0.018816f, 0.009725f, 0.014321f, 0.006615f, -0.041980f, 0.047859f, 0.006471f, -0.020981f, 0.038373f, 0.027296f, 0.045740f, -0.008879f, 0.026671f, -0.062920f, -0.033959f, -0.059469f, 0.060258f, -0.019682f, -0.042116f, -0.040709f, -0.085956f, -0.036185f, 0.059407f, -0.004166f, -0.030200f, 0.021480f, -0.058672f, -0.039482f, 0.014671f, -0.003740f, -0.048967f, -0.048081f, -0.000621f, -0.027771f, 0.007295f, 0.009902f, -0.036431f, 0.035141f, -0.021704f, -0.032132f, 0.002720f, -0.019195f, 0.050629f, -0.019878f, 0.022729f, 0.003279f, 0.030764f, -0.016043f, -0.009051f, 0.002602f, -0.014085f, -0.000887f, -0.029582f, -0.022743f, -0.005742f, 0.011932f, 0.000551f, 0.020099f, 0.008223f, 0.014808f, -0.013309f, -0.000476f, -0.025749f, -0.006705f, -0.009315f, 0.007285f, 0.024497f, 0.010915f, 0.009807f, 0.011283f, 0.010115f, 0.002301f, -0.033542f, -0.010366f, -0.023173f, -0.006183f, 0.003828f, 0.015356f, 0.074997f, 0.096029f, -0.009142f, -0.042692f, -0.010174f, -0.016154f, -0.043134f, 0.018540f, 0.001182f, -0.031265f, 0.091786f, 0.031829f, -0.021764f, -0.063677f, - -0.005719f, 0.015326f, 0.016734f, 0.018624f, 0.043900f, -0.012659f, -0.021727f, 0.020604f, -0.079678f, -0.053258f, -0.020825f, -0.005740f, 0.008531f, -0.042564f, -0.038876f, 0.040949f, 0.032567f, -0.025083f, -0.048237f, 0.030576f, 0.000879f, 0.053958f, -0.043967f, -0.010117f, -0.015011f, -0.002760f, -0.034765f, -0.051782f, 0.043453f, -0.032119f, -0.020308f, -0.039577f, -0.008884f, 0.026110f, 0.024514f, -0.015965f, 0.003417f, 0.004585f, 0.032768f, 0.050232f, 0.036956f, -0.064392f, -0.030984f, -0.038202f, -0.009609f, 0.021967f, 0.007985f, -0.044013f, -0.063334f, 0.053654f, 0.003344f, -0.052568f, -0.087325f, 0.044019f, -0.011430f, 0.023695f, 0.021806f, 0.023172f, 0.003007f, 0.017115f, -0.034383f, -0.012968f, 0.023453f, 0.004324f, -0.016154f, 0.009783f, -0.004192f, -0.046219f, 0.023229f, -0.058688f, -0.003957f, -0.002806f, -0.010355f, -0.021022f, -0.008339f, 0.025929f, -0.001906f, -0.005809f, 0.013110f, -0.018886f, 0.057066f, -0.004397f, 0.004955f, -0.004118f, 0.000386f, 0.014406f, -0.001077f, 0.013893f, -0.029399f, 0.006481f, -0.005559f, -0.020216f, 0.001875f, 0.009919f, 0.018841f, -0.009439f, - 0.005098f, -0.048562f, -0.016187f, -0.002485f, -0.025781f, 0.021921f, -0.003183f, -0.005679f, -0.013997f, -0.019868f, -0.029902f, -0.041346f, 0.012300f, -0.003937f, 0.030155f, 0.036381f, 0.022701f, -0.024365f, -0.034552f, -0.043163f, -0.016619f, 0.040152f, 0.032212f, 0.005862f, 0.014860f, -0.013667f, -0.025413f, -0.018777f, -0.018308f, 0.008454f, 0.033605f, 0.041641f, -0.051874f, -0.043547f, 0.123343f, -0.010061f, -0.012173f, -0.018636f, -0.039061f, -0.004365f, 0.044446f, 0.071445f, -0.033048f, -0.020036f, -0.007347f, -0.032694f, -0.008187f, -0.018496f, 0.028370f, -0.029568f, 0.032489f, 0.015381f, -0.011248f, -0.041195f, -0.003076f, -0.017063f, 0.061546f, -0.034008f, -0.000886f, -0.000064f, -0.006195f, 0.027699f, -0.017802f, -0.002505f, 0.012766f, -0.008619f, -0.060205f, 0.030502f, -0.027489f, -0.031977f, -0.007354f, -0.034098f, -0.019727f, -0.061796f, 0.058904f, 0.002507f, -0.039293f, -0.072383f, 0.041996f, -0.042785f, -0.041601f, 0.000351f, -0.032408f, 0.014393f, 0.026628f, 0.081877f, -0.023371f, 0.031924f, -0.006941f, -0.039924f, -0.033760f, -0.010084f, 0.123480f, -0.109174f, -0.007999f, 0.113183f, - -0.103807f, -0.039616f, 0.058427f, -0.008876f, -0.046923f, 0.109434f, -0.054325f, -0.022818f, 0.050330f, 0.012226f, 0.021464f, -0.032782f, 0.036337f, 0.050879f, 0.023943f, -0.013359f, -0.003395f, 0.051376f, -0.007557f, 0.029266f, -0.000730f, 0.020332f, -0.029607f, -0.004159f, 0.013599f, 0.008001f, 0.005677f, 0.001052f, 0.002082f, 0.021168f, -0.009891f, 0.005217f, 0.007951f, 0.006928f, -0.046439f, -0.019467f, 0.014861f, -0.039686f, 0.011828f, 0.022072f, -0.016629f, -0.017912f, -0.013541f, 0.009012f, -0.019036f, 0.022101f, 0.019084f, -0.002902f, 0.011060f, -0.014409f, -0.027974f, -0.027705f, 0.054233f, 0.009323f, 0.033837f, 0.006498f, 0.006700f, 0.020974f, -0.018473f, -0.004856f, 0.034412f, -0.020945f, -0.046890f, 0.034655f, -0.004700f, 0.058698f, -0.073935f, 0.067139f, -0.010990f, -0.041061f, 0.036285f, 0.013011f, -0.006260f, 0.007930f, 0.005280f, -0.007612f, 0.013489f, -0.013947f, -0.018195f, -0.008059f, -0.025361f, -0.021060f, -0.047987f, -0.018118f, 0.042036f, 0.039655f, -0.059761f, 0.020535f, 0.032345f, 0.027168f, -0.009937f, -0.059001f, -0.004970f, -0.029001f, -0.069151f, 0.044281f, - 0.111813f, -0.063539f, -0.006525f, 0.079576f, -0.022081f, -0.027821f, 0.064697f, 0.048152f, 0.023958f, -0.025525f, -0.051405f, 0.017702f, -0.020705f, -0.032324f, 0.116919f, 0.086168f, -0.069891f, -0.051336f, 0.063333f, -0.114351f, -0.039983f, -0.032078f, -0.019403f, 0.080678f, 0.053760f, 0.035529f, 0.038939f, -0.134416f, -0.046651f, 0.128944f, 0.074858f, 0.015681f, -0.033891f, 0.044722f, -0.044843f, -0.091174f, -0.060673f, 0.045151f, -0.033020f, -0.006731f, 0.052303f, 0.096569f, -0.011168f, -0.053673f, 0.007363f, 0.038471f, -0.065113f, -0.023795f, 0.068665f, 0.061886f, 0.061942f, 0.043215f, -0.011848f, -0.038496f, -0.018934f, 0.052686f, 0.015499f, 0.022467f, -0.009611f, 0.006400f, 0.024186f, 0.002634f, -0.009039f, -0.010561f, -0.014488f, 0.012173f, 0.008842f, 0.050599f, 0.014465f, -0.009319f, -0.019508f, 0.005525f, 0.002937f, -0.006756f, -0.017071f, 0.005577f, 0.039159f, -0.040524f, -0.011878f, 0.037846f, -0.008057f, -0.000324f, 0.025175f, -0.008807f, 0.018747f, 0.008399f, 0.021943f, -0.040917f, -0.005504f, 0.009446f, 0.047854f, 0.012179f, 0.023202f, 0.020517f, 0.011421f, -0.008352f, - 0.016130f, 0.023197f, -0.024819f, 0.013287f, -0.114122f, 0.049469f, 0.000618f, -0.011637f, 0.058560f, -0.009886f, -0.044116f, 0.022278f, 0.020297f, 0.057278f, 0.032466f, -0.030866f, 0.001711f, 0.008921f, 0.039242f, 0.009168f, -0.045075f, -0.001656f, -0.002541f, 0.009289f, -0.041931f, -0.045684f, 0.066365f, -0.023811f, -0.069328f, 0.035776f, 0.061600f, -0.034542f, -0.011759f, 0.004144f, 0.042233f, -0.050259f, -0.066118f, 0.018259f, 0.055875f, -0.012000f, -0.023798f, -0.013697f, -0.013604f, 0.024415f, 0.010365f, 0.014635f, 0.140798f, 0.007896f, -0.017989f, 0.002041f, 0.004424f, 0.076164f, 0.002406f, -0.026904f, 0.017129f, -0.059316f, -0.034918f, 0.015545f, 0.000295f, 0.065484f, 0.051874f, -0.033445f, -0.009841f, -0.031609f, 0.001497f, 0.023573f, 0.005934f, 0.007414f, 0.023428f, -0.016687f, -0.069232f, 0.017770f, 0.046704f, -0.021937f, 0.041213f, -0.063934f, 0.030153f, 0.019483f, -0.056195f, 0.009775f, 0.001095f, -0.024344f, 0.002551f, -0.010320f, 0.027914f, 0.027417f, -0.047091f, -0.028862f, 0.062789f, -0.047774f, 0.023080f, -0.004321f, -0.018443f, 0.013954f, -0.001889f, -0.028035f, - 0.016046f, 0.009912f, 0.011482f, -0.000705f, -0.004807f, 0.003305f, 0.008691f, -0.010566f, -0.010215f, 0.008727f, 0.006112f, -0.005754f, -0.000525f, 0.014091f, 0.023377f, -0.013647f, -0.009462f, 0.003193f, -0.004189f, 0.008398f, -0.005800f, -0.002928f, 0.005415f, -0.000060f, 0.014051f, -0.004218f, 0.006938f, -0.017966f, 0.011065f, -0.012461f, 0.011699f, 0.020802f, -0.001815f, 0.000630f, 0.002874f, -0.023408f, 0.039714f, -0.073326f, -0.242134f, -0.286602f, -0.025408f, -0.198645f, 0.078600f, 0.485705f, 0.261454f, 0.394572f, 0.415790f, -0.044744f, -0.119327f, 0.035918f, -0.302178f, -0.369429f, -0.113889f, -0.406719f, -0.326466f, 0.083308f, -0.234734f, -0.063647f, 0.469026f, 0.170090f, 0.331705f, 0.572837f, 0.341052f, 0.152806f, 0.116337f, 0.041000f, -0.254635f, -0.317025f, -0.104396f, -0.433152f, -0.433527f, 0.057612f, -0.324121f, -0.265864f, 0.160424f, -0.272604f, -0.280409f, 0.212370f, 0.086451f, -0.038318f, 0.500661f, 0.468935f, 0.299501f, 0.635610f, 0.598922f, 0.204921f, 0.238589f, 0.186119f, -0.301061f, -0.301703f, -0.381741f, -0.756074f, -0.892650f, -0.641829f, -0.639071f, -0.471215f, - 0.016485f, 0.044008f, 0.311729f, 0.538906f, 0.664019f, 0.605158f, 0.702098f, 0.601722f, 0.354950f, 0.238871f, 0.079719f, -0.118114f, -0.266051f, -0.378535f, -0.325303f, -0.471739f, -0.528527f, -0.438158f, -0.512442f, -0.384317f, 0.061298f, 0.123787f, 0.299071f, 0.599681f, 0.477489f, 0.368197f, 0.278290f, 0.109934f, -0.090519f, -0.073711f, -0.149893f, -0.187538f, -0.143230f, -0.162863f, -0.157456f, -0.066821f, -0.063538f, 0.004032f, 0.097810f, 0.069811f, 0.137191f, 0.164876f, 0.029015f, 0.119744f, 0.114930f, -0.031293f, 0.038455f, 0.027299f, -0.086791f, 0.004284f, 0.028601f, -0.100328f, -0.109767f, -0.153252f, -0.315966f, -0.353164f, -0.274770f, -0.262416f, -0.085768f, 0.129740f, 0.233233f, 0.379348f, 0.571847f, 0.617527f, 0.572566f, 0.401522f, 0.122849f, -0.128547f, -0.275960f, -0.412107f, -0.508994f, -0.500432f, -0.390850f, -0.268027f, -0.127060f, -0.038336f, 0.016957f, 0.047447f, 0.117387f, 0.193187f, 0.199067f, 0.185182f, 0.189983f, 0.135852f, 0.122436f, 0.106558f, 0.044294f, 0.012004f, 0.028633f, 0.025775f, 0.017115f, 0.012841f, -0.020501f, -0.059974f, -0.087314f, -0.100471f, - -0.083436f, -0.049805f, -0.032249f, -0.028664f} - }, - { - {-0.016633f, -0.019806f, 0.010170f, 0.000599f, 0.015348f, 0.005550f, 0.006775f, 0.004337f, 0.006233f, -0.000197f, -0.000204f, -0.003480f, -0.010068f, -0.005835f, 0.002676f, -0.000528f, -0.001858f, -0.001224f, 0.005354f, 0.004137f, 0.000060f, 0.004797f, -0.004514f, -0.011482f, 0.003649f, -0.002700f, 0.001285f, -0.005875f, 0.004583f, -0.004819f, -0.002390f, -0.001931f, 0.008210f, -0.001979f, -0.000091f, -0.003472f, -0.000943f, -0.009315f, 0.003124f, -0.001618f, 0.005007f, -0.004458f, 0.000592f, -0.002135f, -0.007442f, 0.002306f, -0.000742f, -0.002069f, 0.003311f, 0.006060f, -0.001269f, -0.003810f, -0.010883f, 0.000931f, -0.006471f, 0.002941f, 0.000106f, -0.004255f, -0.000171f, -0.001864f, -0.001522f, -0.007915f, 0.005077f, -0.007026f, 0.003845f, -0.002806f, -0.004648f, -0.004024f, -0.008362f, 0.004540f, 0.000427f, 0.002227f, 0.005030f, -0.005432f, -0.008575f, 0.005426f, -0.008217f, 0.000197f, -0.005476f, 0.001679f, -0.004239f, 0.003662f, -0.002144f, 0.001901f, -0.003657f, 0.000592f, -0.001697f, 0.002126f, -0.001753f, -0.002001f, -0.001868f, -0.001840f, -0.003281f, 0.000403f, 0.000807f, -0.000646f, - -0.002585f, 0.001715f, -0.001952f, 0.000199f, -0.001305f, -0.002312f, -0.000825f, -0.000876f, -0.000361f, -0.000570f, -0.000328f, -0.001924f, -0.000999f, 0.000204f, -0.001107f, -0.000669f, -0.000593f, -0.029318f, -0.000353f, -0.003923f, 0.007667f, 0.000111f, 0.002929f, -0.002455f, 0.003797f, 0.000713f, 0.003317f, -0.003419f, 0.018870f, -0.004142f, -0.002693f, -0.008146f, 0.002687f, -0.009829f, -0.003178f, 0.000707f, -0.004795f, -0.000092f, 0.006905f, 0.003948f, 0.002605f, 0.004648f, 0.006707f, -0.008225f, -0.003161f, -0.000181f, 0.004253f, -0.007760f, 0.007517f, -0.006497f, -0.003296f, 0.006026f, -0.001174f, 0.001379f, -0.004836f, 0.005567f, 0.005816f, 0.006254f, -0.009657f, -0.002952f, 0.010379f, -0.000150f, -0.001595f, -0.002343f, 0.011318f, 0.007388f, 0.008750f, 0.000151f, -0.002079f, -0.002630f, -0.000650f, -0.000241f, 0.001262f, 0.003391f, -0.010994f, -0.000992f, -0.005135f, -0.006482f, -0.000876f, 0.001869f, -0.005718f, 0.001523f, -0.004377f, -0.001590f, -0.001787f, -0.000128f, 0.003768f, 0.003523f, -0.002016f, -0.001291f, -0.002516f, -0.008890f, -0.002139f, -0.005506f, 0.000115f, -0.007265f, - 0.001940f, 0.000135f, 0.007321f, -0.002520f, 0.000974f, -0.006357f, 0.000518f, 0.000920f, -0.003013f, -0.003033f, 0.003084f, 0.000132f, 0.000789f, -0.000265f, 0.002149f, -0.000540f, 0.000867f, -0.000332f, -0.000553f, 0.002702f, 0.001173f, 0.001158f, 0.000361f, -0.000247f, 0.009939f, 0.011773f, -0.008215f, 0.001040f, -0.007010f, 0.010785f, 0.001967f, -0.004482f, -0.006347f, -0.005618f, -0.001190f, 0.001352f, 0.002846f, 0.014353f, -0.008566f, -0.001379f, -0.003414f, 0.005612f, -0.016070f, -0.001900f, 0.010215f, -0.000305f, 0.008580f, 0.003781f, 0.006878f, 0.007156f, 0.003102f, -0.001428f, -0.007557f, 0.002463f, -0.002130f, 0.000932f, 0.011949f, 0.002993f, 0.010249f, -0.005422f, -0.002829f, 0.000758f, -0.013838f, 0.001592f, 0.010303f, -0.003061f, 0.000942f, -0.008664f, 0.006502f, -0.000172f, 0.002876f, -0.010249f, 0.005995f, -0.006893f, -0.003850f, -0.007199f, -0.008447f, 0.004829f, 0.001628f, -0.002757f, -0.004334f, -0.004107f, -0.003021f, -0.002066f, 0.004750f, -0.004753f, -0.008580f, -0.013213f, 0.012182f, 0.009339f, 0.000487f, -0.013218f, 0.003990f, -0.006351f, 0.005179f, -0.004299f, - 0.000928f, -0.008107f, -0.005108f, -0.010553f, -0.004778f, -0.001494f, 0.010269f, 0.006107f, -0.011492f, 0.004959f, 0.000242f, -0.001015f, 0.005008f, -0.000697f, 0.003975f, 0.008152f, 0.000417f, 0.001707f, 0.005406f, 0.001106f, 0.001073f, 0.005342f, -0.000950f, -0.000154f, 0.000403f, 0.000687f, 0.001131f, 0.001321f, -0.001200f, 0.001544f, -0.001124f, 0.000386f, 0.000263f, 0.001366f, 0.000314f, 0.003382f, 0.002958f, 0.000207f, -0.000165f, 0.003320f, 0.001696f, -0.002502f, 0.000475f, 0.001196f, 0.049848f, -0.018438f, 0.022361f, -0.017670f, 0.001573f, 0.005349f, 0.005287f, -0.014578f, -0.004919f, -0.004860f, -0.024450f, -0.000079f, 0.001344f, -0.008775f, -0.001381f, -0.000052f, 0.017563f, 0.003293f, -0.012172f, 0.008977f, 0.009786f, 0.002229f, 0.017803f, -0.013150f, -0.004788f, -0.007002f, 0.003794f, 0.014280f, -0.000988f, 0.000952f, 0.005336f, -0.002489f, 0.006400f, 0.002926f, 0.016295f, -0.002398f, 0.006413f, -0.010592f, 0.009757f, -0.007399f, 0.010888f, -0.000139f, -0.011301f, -0.001648f, 0.016425f, -0.000669f, 0.011126f, 0.006711f, 0.010702f, 0.001006f, -0.008398f, -0.006808f, - 0.000216f, -0.005045f, 0.008792f, 0.005862f, -0.008624f, 0.001253f, -0.006730f, 0.011613f, -0.003105f, 0.009329f, 0.011107f, 0.001998f, 0.011448f, -0.000466f, -0.005494f, -0.001820f, -0.007012f, 0.000384f, 0.015031f, -0.009340f, -0.009589f, -0.003578f, 0.004294f, -0.006525f, -0.004044f, 0.002969f, 0.007240f, -0.002926f, 0.002683f, -0.014474f, 0.003617f, 0.001011f, -0.001003f, 0.005160f, 0.000360f, 0.001439f, 0.003496f, -0.000374f, -0.001846f, 0.001636f, -0.003314f, 0.001120f, -0.001360f, 0.000491f, 0.000670f, -0.000446f, -0.001132f, -0.002836f, -0.000196f, -0.002244f, -0.001411f, -0.000905f, -0.004976f, -0.041467f, 0.004546f, -0.012207f, -0.008728f, -0.013388f, -0.016231f, 0.006409f, 0.014523f, -0.002184f, 0.005650f, 0.002304f, 0.007460f, 0.001695f, 0.000550f, 0.004505f, -0.008885f, 0.020609f, -0.001069f, -0.011992f, 0.013526f, -0.004131f, 0.005743f, -0.013518f, -0.008412f, -0.009578f, 0.004150f, 0.002520f, 0.010583f, 0.000323f, -0.006575f, 0.001108f, -0.005871f, -0.006453f, -0.007161f, -0.002488f, -0.009970f, -0.005052f, 0.009287f, -0.008648f, -0.000615f, -0.006766f, -0.010583f, -0.004715f, - 0.001320f, 0.003388f, 0.006709f, -0.005329f, -0.004892f, 0.006635f, 0.001151f, 0.002496f, 0.001753f, 0.004106f, 0.006217f, -0.010129f, -0.003403f, -0.001032f, -0.014207f, 0.003757f, -0.001015f, 0.008306f, -0.008339f, -0.006362f, -0.007797f, 0.001334f, 0.008782f, 0.006806f, 0.015506f, 0.010414f, -0.009624f, 0.003892f, -0.004377f, 0.007341f, 0.004571f, -0.010387f, 0.007452f, 0.002005f, -0.011549f, 0.001477f, -0.002133f, 0.000980f, -0.002197f, -0.007876f, 0.001403f, -0.005653f, -0.005975f, 0.002168f, -0.003307f, 0.001358f, 0.004180f, -0.002838f, -0.003818f, -0.003931f, -0.005913f, -0.001100f, 0.004476f, -0.001207f, 0.004656f, 0.000031f, 0.003127f, 0.002153f, 0.001601f, -0.002108f, -0.000880f, 0.000800f, -0.002104f, -0.002293f, 0.000478f, -0.002213f, -0.000912f, 0.000594f, -0.004187f, 0.002310f, -0.002176f, -0.000722f, 0.000408f, -0.000149f, 0.000261f, 0.001330f, -0.001908f, 0.001183f, 0.002696f, -0.052805f, 0.014498f, -0.015749f, -0.013122f, -0.009438f, 0.001780f, -0.002746f, 0.031105f, 0.003065f, 0.007442f, -0.003465f, 0.000119f, -0.012776f, 0.012689f, 0.003709f, -0.001851f, 0.002553f, - 0.016565f, -0.008295f, -0.002871f, 0.003829f, 0.001142f, 0.008322f, -0.007247f, -0.003252f, 0.009132f, 0.003361f, 0.008411f, 0.001012f, -0.008950f, -0.005849f, 0.005025f, -0.000866f, -0.003052f, -0.005577f, -0.003241f, -0.000364f, 0.015682f, 0.003970f, -0.002863f, 0.000334f, 0.001136f, -0.004760f, 0.011287f, 0.008665f, -0.002725f, -0.011881f, 0.002944f, -0.006289f, 0.010732f, 0.008366f, -0.008425f, 0.003278f, -0.010901f, -0.009678f, -0.008556f, -0.010680f, -0.003739f, 0.002361f, -0.006476f, 0.000534f, -0.007150f, -0.006011f, 0.012342f, 0.007888f, -0.010566f, -0.014184f, 0.001530f, 0.012085f, -0.009394f, -0.006918f, 0.010139f, 0.008035f, 0.011572f, -0.007509f, -0.000407f, 0.003292f, 0.004722f, 0.013087f, 0.003453f, -0.001713f, -0.000591f, -0.009537f, -0.001525f, -0.000174f, -0.008280f, 0.000597f, -0.002510f, -0.003737f, 0.000059f, -0.001108f, 0.003932f, -0.000971f, -0.001683f, 0.001915f, -0.001337f, -0.003412f, -0.002357f, 0.000714f, 0.003142f, -0.001564f, -0.001342f, 0.000096f, -0.000934f, 0.006128f, 0.000976f, 0.007946f, -0.005760f, 0.001431f, 0.000271f, -0.003321f, -0.000223f, -0.000282f, - -0.004408f, 0.001073f, -0.000969f, -0.004722f, -0.004534f, -0.002297f, -0.004347f, -0.003208f, 0.000938f, -0.002099f, -0.027790f, -0.002738f, 0.004702f, 0.013542f, -0.002614f, -0.007070f, 0.003192f, 0.019890f, -0.025007f, 0.005818f, -0.005057f, -0.004633f, -0.011243f, 0.006785f, -0.020033f, -0.013046f, 0.006922f, -0.010476f, 0.006371f, 0.028587f, -0.005028f, 0.011559f, -0.013410f, 0.013808f, -0.003556f, 0.004123f, -0.012023f, 0.005634f, 0.003455f, -0.006455f, 0.002874f, -0.001299f, -0.006166f, -0.000410f, 0.007885f, 0.012306f, -0.009597f, -0.015363f, -0.012138f, -0.011277f, 0.001500f, 0.009022f, 0.023938f, -0.000273f, 0.016135f, 0.016808f, -0.015596f, 0.012024f, -0.022957f, -0.008411f, 0.001501f, -0.010232f, -0.009490f, 0.006378f, -0.022228f, -0.004404f, 0.015545f, -0.006689f, -0.005781f, 0.002043f, -0.006757f, 0.006332f, -0.006703f, 0.010865f, 0.014091f, -0.003895f, 0.004414f, 0.000579f, -0.014167f, 0.001218f, -0.009151f, -0.006350f, -0.011181f, 0.006384f, 0.004941f, -0.010797f, 0.000929f, 0.008035f, 0.007528f, 0.009520f, 0.009873f, -0.001508f, -0.009281f, 0.007733f, 0.004105f, 0.004629f, - 0.002585f, 0.005591f, -0.000579f, -0.000189f, 0.000877f, 0.002297f, 0.002769f, -0.003829f, -0.001119f, -0.003090f, -0.001993f, 0.004487f, 0.003917f, 0.004332f, -0.007814f, 0.001606f, -0.000925f, -0.003250f, -0.003744f, 0.004058f, -0.002449f, -0.004306f, 0.001152f, 0.001016f, -0.001356f, 0.009576f, 0.003242f, -0.001882f, -0.002057f, -0.004452f, -0.001168f, 0.003914f, 0.006029f, 0.001498f, 0.000080f, 0.006002f, 0.066013f, -0.003078f, -0.025956f, -0.003157f, -0.001034f, 0.002606f, 0.008414f, 0.003496f, -0.002909f, -0.002596f, -0.013013f, -0.006106f, 0.007471f, 0.016214f, -0.013082f, -0.008189f, 0.010867f, 0.000987f, -0.003753f, 0.004422f, -0.000933f, -0.015161f, -0.015436f, 0.021289f, -0.001852f, -0.001229f, -0.003415f, 0.010994f, -0.000719f, 0.001268f, 0.007049f, -0.011476f, 0.012432f, 0.005242f, 0.002134f, 0.004823f, 0.012428f, -0.029454f, -0.013110f, -0.007069f, 0.027391f, 0.003646f, 0.002175f, -0.008267f, -0.009114f, 0.008287f, -0.001092f, 0.009588f, -0.003230f, -0.018776f, 0.002167f, 0.002439f, -0.002723f, 0.009316f, 0.004266f, 0.002596f, 0.015254f, 0.036964f, -0.002772f, -0.002984f, - 0.014173f, 0.004392f, -0.004206f, 0.009767f, 0.028811f, -0.003090f, 0.005634f, 0.010507f, 0.008491f, 0.007585f, 0.007768f, 0.008645f, 0.006717f, -0.007452f, 0.011591f, 0.020570f, -0.004574f, 0.007964f, 0.000266f, -0.002453f, -0.013994f, 0.008945f, 0.003496f, -0.001033f, 0.004442f, 0.005025f, 0.001328f, 0.000686f, -0.004610f, -0.005369f, -0.002001f, -0.010811f, -0.004695f, -0.007290f, 0.009656f, 0.004766f, 0.003772f, -0.001428f, -0.001266f, 0.000670f, -0.006117f, 0.000123f, 0.002475f, -0.008569f, 0.007776f, -0.003676f, 0.001522f, -0.002550f, 0.000585f, 0.002986f, 0.003631f, -0.006661f, -0.006519f, -0.005472f, 0.000928f, -0.001055f, -0.001681f, -0.000418f, 0.004868f, -0.001145f, 0.000669f, -0.002687f, -0.005767f, -0.003153f, 0.013326f, 0.014838f, -0.018847f, -0.005450f, -0.015997f, 0.015888f, 0.029737f, -0.014205f, -0.003321f, -0.016300f, -0.007080f, -0.019729f, 0.014101f, -0.012033f, -0.004890f, -0.001249f, 0.000154f, -0.007834f, -0.009666f, 0.017770f, -0.016088f, -0.005918f, 0.001853f, 0.012137f, 0.012937f, -0.018526f, -0.005446f, 0.007171f, -0.015953f, 0.009104f, -0.012655f, -0.005122f, - 0.004674f, 0.000413f, -0.006922f, -0.001887f, 0.003822f, 0.020778f, 0.002570f, 0.004726f, 0.000009f, -0.017685f, 0.019375f, -0.009457f, -0.014524f, 0.011673f, -0.010354f, -0.011667f, 0.015270f, -0.006857f, 0.001954f, -0.003326f, 0.002051f, 0.020122f, -0.003436f, 0.004554f, -0.017552f, -0.001323f, 0.020426f, 0.004626f, 0.020236f, 0.017388f, -0.005710f, -0.004377f, -0.023552f, 0.003678f, -0.003966f, 0.015672f, 0.019118f, -0.010932f, 0.004753f, -0.034522f, -0.009471f, 0.011526f, -0.011964f, 0.017993f, 0.001190f, 0.003942f, -0.006364f, -0.001269f, -0.008315f, 0.001541f, -0.005738f, 0.012731f, 0.012426f, -0.000490f, 0.004218f, -0.000115f, 0.007011f, 0.003116f, 0.005071f, 0.010775f, -0.003247f, -0.011951f, 0.005496f, 0.002822f, 0.007596f, -0.001901f, 0.008060f, -0.001567f, -0.002844f, 0.002128f, -0.004903f, -0.003144f, 0.000790f, -0.008365f, 0.002325f, -0.002849f, 0.007459f, 0.003339f, -0.000594f, -0.001496f, -0.004990f, -0.007398f, -0.000646f, 0.001122f, 0.002999f, -0.002647f, 0.001631f, -0.006946f, -0.000146f, 0.000536f, -0.003779f, 0.004846f, 0.000424f, 0.000229f, 0.001957f, -0.002188f, - 0.000312f, 0.000168f, 0.011933f, -0.015150f, 0.005203f, -0.014166f, -0.001534f, -0.019139f, 0.031473f, -0.009248f, 0.002152f, -0.009919f, -0.028685f, 0.016559f, 0.005807f, -0.021401f, 0.013273f, -0.009632f, -0.007091f, 0.007508f, 0.029791f, -0.014846f, 0.028780f, -0.000547f, -0.020208f, 0.000870f, 0.006734f, -0.017770f, 0.019651f, -0.010281f, 0.014555f, 0.031634f, 0.003104f, -0.014742f, -0.004120f, -0.001659f, 0.007260f, -0.012532f, -0.006846f, -0.001667f, 0.015594f, -0.005533f, -0.006245f, -0.020662f, -0.000689f, -0.024433f, -0.004496f, 0.027757f, -0.006206f, 0.015822f, 0.001513f, 0.004249f, -0.036319f, 0.000539f, -0.023233f, 0.018771f, 0.032575f, 0.010090f, 0.008200f, 0.002069f, 0.004899f, -0.018939f, 0.006714f, 0.010196f, -0.008437f, -0.002314f, -0.007476f, -0.004721f, 0.014699f, 0.000392f, 0.017825f, 0.054607f, 0.019949f, 0.005508f, -0.018709f, -0.017348f, -0.011259f, 0.010786f, -0.018524f, -0.001544f, -0.001663f, 0.003867f, 0.010524f, -0.010106f, -0.001890f, 0.010216f, 0.011167f, 0.002367f, 0.001930f, 0.007651f, 0.009620f, 0.008084f, -0.000061f, -0.001697f, -0.001770f, 0.000925f, - -0.003933f, -0.004865f, 0.004375f, -0.002419f, 0.006784f, -0.008183f, -0.002587f, 0.005803f, 0.004890f, -0.000405f, 0.004421f, -0.004168f, 0.002032f, 0.003098f, 0.004107f, -0.004583f, -0.004566f, 0.006563f, 0.004654f, 0.003726f, -0.001643f, -0.003166f, 0.001597f, -0.009113f, -0.002391f, 0.001573f, -0.004880f, 0.002340f, -0.003380f, -0.002295f, 0.001068f, 0.000849f, -0.000754f, -0.001724f, -0.006835f, 0.056990f, -0.030863f, -0.000846f, -0.015337f, -0.028926f, -0.038605f, 0.010686f, -0.012385f, 0.011316f, -0.036543f, 0.007155f, 0.013006f, 0.011702f, -0.015366f, -0.033551f, -0.026433f, -0.022198f, 0.000245f, -0.012929f, -0.024514f, -0.016880f, -0.008613f, -0.020027f, -0.013997f, 0.003266f, 0.025175f, -0.000751f, 0.003524f, -0.001004f, -0.022292f, 0.013563f, -0.002109f, 0.003890f, -0.005049f, -0.014822f, 0.012407f, -0.018456f, -0.025719f, 0.022800f, -0.025095f, 0.004782f, -0.000339f, -0.035188f, -0.021037f, 0.013517f, -0.000746f, 0.016659f, -0.011312f, -0.037377f, -0.000275f, 0.001096f, 0.013751f, 0.014622f, 0.034625f, -0.020348f, -0.071733f, -0.025257f, -0.024555f, 0.015807f, -0.046785f, -0.016007f, - -0.007917f, -0.042988f, -0.014389f, -0.000967f, -0.008281f, -0.008264f, 0.009197f, -0.011776f, -0.001156f, -0.011064f, 0.009912f, -0.025391f, 0.008929f, 0.019959f, -0.025592f, -0.013047f, 0.012400f, 0.009608f, 0.008323f, -0.026311f, 0.006056f, 0.000062f, -0.003822f, 0.013577f, -0.003619f, 0.011122f, 0.009906f, -0.002501f, 0.002985f, 0.001945f, -0.003285f, -0.008921f, 0.014099f, -0.004916f, -0.010156f, 0.000067f, -0.000540f, 0.007379f, 0.002560f, -0.000217f, 0.002232f, -0.007757f, -0.007826f, 0.000623f, 0.002548f, 0.004329f, 0.008012f, -0.001191f, 0.003582f, -0.001046f, 0.003150f, -0.008988f, -0.003950f, -0.006306f, -0.005737f, -0.001154f, -0.001345f, 0.002988f, -0.010079f, -0.004735f, -0.007583f, -0.005497f, -0.010554f, -0.012999f, -0.011513f, -0.001445f, -0.001187f, 0.001165f, -0.007143f, -0.009188f, -0.033087f, 0.012997f, 0.016265f, -0.005517f, -0.006416f, -0.016534f, -0.018216f, 0.041897f, 0.015247f, -0.039247f, 0.013523f, -0.021418f, -0.002065f, -0.019468f, -0.040268f, 0.011742f, -0.020992f, -0.008857f, 0.001651f, 0.001100f, -0.010254f, -0.034121f, -0.021110f, 0.016620f, -0.020869f, -0.000657f, - -0.018456f, -0.028412f, -0.011019f, 0.031376f, 0.005061f, 0.005519f, -0.027406f, -0.009280f, -0.005589f, -0.003659f, 0.011182f, 0.013706f, 0.017815f, 0.021918f, -0.010695f, 0.012316f, 0.004389f, -0.012794f, 0.007862f, -0.021443f, -0.018543f, -0.016170f, 0.007009f, -0.018668f, 0.000975f, -0.028027f, -0.024422f, -0.012712f, 0.029063f, 0.022542f, 0.022113f, 0.024203f, -0.022248f, 0.030347f, 0.001132f, 0.013936f, 0.041968f, -0.008684f, -0.007563f, 0.006730f, -0.019995f, 0.008222f, -0.009302f, -0.026103f, 0.003568f, 0.021170f, -0.024950f, -0.018010f, -0.002882f, 0.022752f, -0.018895f, 0.002086f, 0.007261f, 0.013636f, 0.003677f, -0.005793f, -0.012784f, 0.003385f, 0.009992f, -0.005470f, 0.001509f, -0.006861f, 0.002440f, -0.006533f, 0.002858f, 0.000278f, 0.003907f, -0.002578f, 0.002807f, 0.004468f, 0.012134f, -0.001672f, 0.000088f, 0.000789f, 0.005857f, -0.008949f, -0.003275f, -0.009841f, -0.002313f, -0.002370f, -0.010651f, 0.001871f, 0.010436f, -0.001125f, -0.012733f, -0.002473f, -0.000747f, -0.011693f, -0.012424f, -0.019072f, -0.007320f, 0.006948f, 0.001674f, 0.004830f, -0.002332f, -0.003662f, - -0.006223f, -0.001275f, -0.015987f, -0.003307f, 0.010493f, 0.015459f, -0.000206f, 0.004431f, -0.008762f, -0.015632f, -0.036692f, 0.042351f, -0.032774f, 0.043852f, 0.024613f, 0.016817f, 0.009516f, 0.017344f, 0.018803f, 0.017419f, 0.047098f, -0.016243f, 0.003469f, -0.002948f, -0.007944f, -0.001234f, 0.005972f, -0.004168f, 0.009180f, -0.002851f, 0.014827f, 0.012511f, -0.002501f, -0.007933f, -0.046643f, -0.016467f, -0.033798f, -0.001366f, 0.018024f, 0.018252f, 0.005871f, 0.009400f, 0.013614f, 0.011351f, 0.013196f, 0.033715f, 0.050094f, 0.033738f, 0.006877f, -0.006146f, -0.009544f, -0.014137f, 0.017593f, 0.018023f, 0.020071f, -0.014636f, -0.011605f, -0.018204f, -0.002949f, 0.024572f, 0.000327f, 0.029403f, -0.017610f, 0.015854f, 0.009499f, 0.026414f, -0.054669f, -0.038982f, -0.015983f, -0.021778f, -0.022439f, 0.006986f, -0.009124f, 0.034691f, 0.010290f, -0.038185f, -0.003112f, 0.062405f, -0.020908f, 0.019626f, -0.009348f, 0.025790f, -0.011861f, -0.007531f, 0.000954f, -0.010314f, -0.013839f, -0.000753f, 0.010479f, 0.015628f, 0.010747f, -0.003790f, 0.012112f, -0.002969f, 0.005608f, -0.015589f, - -0.010773f, 0.010403f, 0.006457f, -0.015672f, -0.006943f, -0.006506f, -0.002143f, 0.004215f, -0.004205f, -0.007551f, 0.003579f, 0.000965f, 0.002584f, -0.000996f, -0.004532f, 0.007329f, 0.002272f, -0.003751f, 0.009316f, -0.001052f, 0.002704f, -0.001486f, 0.010981f, -0.009119f, 0.009766f, 0.004574f, -0.009308f, 0.006365f, 0.000249f, 0.001892f, -0.009718f, -0.027855f, 0.010443f, 0.000503f, 0.001931f, -0.002964f, 0.010599f, -0.002341f, -0.005140f, 0.003688f, 0.008236f, 0.007204f, -0.004297f, 0.008870f, -0.027011f, -0.013532f, 0.022342f, 0.009752f, 0.016469f, 0.043024f, 0.003644f, 0.028745f, 0.042005f, 0.029185f, -0.019076f, -0.042780f, -0.001490f, -0.019648f, 0.046063f, 0.013263f, 0.035973f, -0.005163f, -0.019374f, -0.007132f, -0.021138f, 0.008303f, -0.016284f, 0.001941f, -0.018134f, 0.009386f, -0.013272f, -0.005569f, -0.029084f, -0.028760f, -0.002935f, -0.041194f, 0.022464f, 0.015521f, -0.012412f, 0.021070f, -0.010132f, 0.008183f, 0.023374f, -0.026052f, -0.034227f, 0.006050f, -0.007562f, 0.057270f, 0.024230f, -0.062894f, -0.017089f, -0.017871f, -0.032555f, -0.034362f, -0.070352f, 0.012354f, - -0.025292f, -0.006618f, 0.009938f, 0.002525f, 0.014325f, -0.002819f, -0.008449f, -0.053262f, 0.006188f, -0.024233f, 0.006395f, 0.031178f, 0.006422f, 0.020896f, -0.031866f, -0.042132f, 0.008354f, 0.026070f, 0.017414f, 0.009774f, 0.016534f, 0.027107f, 0.033780f, 0.034883f, -0.031203f, -0.018705f, -0.022530f, -0.016011f, -0.026277f, 0.036808f, 0.021405f, 0.020748f, 0.005496f, 0.015865f, 0.013413f, -0.001308f, 0.019056f, -0.029678f, -0.010634f, -0.003548f, 0.002239f, -0.006425f, -0.021241f, 0.001201f, -0.004463f, 0.002740f, 0.006625f, 0.021517f, 0.000985f, 0.010074f, 0.009875f, 0.001623f, 0.010493f, 0.000369f, -0.006708f, 0.001331f, -0.016366f, -0.006539f, 0.008393f, 0.012431f, 0.003587f, 0.002299f, -0.019976f, -0.001884f, 0.000459f, -0.009461f, -0.006821f, 0.002967f, 0.006086f, -0.018086f, -0.020310f, -0.009102f, 0.006546f, 0.005873f, 0.009977f, 0.002507f, -0.006667f, 0.004558f, -0.021031f, -0.018400f, 0.076007f, 0.050197f, 0.069737f, 0.004511f, -0.013835f, -0.047400f, -0.013985f, 0.007910f, 0.010991f, -0.011316f, -0.036625f, -0.013258f, 0.060256f, 0.024894f, -0.008340f, 0.018431f, - -0.001365f, -0.022169f, -0.006471f, -0.014477f, 0.041084f, -0.003190f, 0.002408f, 0.017700f, 0.001162f, 0.020088f, -0.000213f, 0.028449f, -0.026217f, 0.032784f, 0.006644f, -0.015330f, -0.009252f, -0.016978f, 0.029630f, -0.041107f, -0.044342f, 0.027991f, 0.046368f, 0.002124f, 0.032007f, 0.043968f, -0.049575f, 0.016441f, 0.010125f, -0.002783f, -0.000457f, 0.007296f, -0.018613f, 0.034498f, -0.020984f, -0.016744f, 0.013956f, 0.001687f, -0.003758f, -0.008117f, -0.010345f, 0.004906f, -0.032754f, -0.009890f, 0.026356f, -0.032389f, -0.007456f, -0.021910f, 0.000803f, 0.065270f, -0.020552f, 0.004103f, 0.017471f, 0.000220f, -0.015071f, -0.040938f, 0.039872f, 0.018499f, -0.082262f, 0.020263f, 0.020672f, 0.015182f, -0.018469f, -0.008716f, 0.041980f, 0.001754f, 0.003064f, 0.010635f, -0.029254f, 0.000975f, 0.018557f, -0.007745f, 0.010706f, -0.002492f, -0.009539f, -0.024523f, 0.003669f, -0.003372f, 0.022532f, -0.002279f, -0.001012f, -0.016406f, 0.017834f, -0.006210f, -0.006279f, -0.025909f, -0.012989f, 0.008834f, -0.016623f, 0.001154f, -0.008233f, 0.010062f, -0.009772f, -0.020915f, 0.010363f, -0.022521f, - -0.006202f, -0.010377f, 0.000942f, 0.001097f, -0.008472f, 0.021938f, -0.002863f, 0.029665f, 0.018143f, -0.003304f, 0.003011f, 0.018857f, -0.013428f, 0.003116f, 0.002121f, 0.018061f, -0.016818f, -0.010213f, -0.033474f, -0.080908f, 0.072904f, 0.043659f, 0.023445f, 0.016640f, 0.036259f, -0.081647f, 0.034210f, 0.038429f, 0.016726f, -0.052088f, 0.029741f, 0.053661f, 0.025118f, 0.059120f, 0.021858f, 0.001505f, -0.001852f, -0.001335f, -0.009513f, 0.025343f, 0.042118f, 0.040172f, 0.014334f, -0.011683f, -0.020225f, 0.005453f, -0.018374f, -0.021546f, 0.023660f, 0.016461f, 0.004874f, -0.021594f, -0.021052f, -0.004217f, -0.018246f, 0.010045f, 0.048315f, -0.008003f, -0.015033f, 0.016665f, 0.009115f, 0.014691f, 0.017154f, -0.003154f, -0.009229f, 0.038968f, 0.025875f, 0.013083f, 0.017397f, -0.002591f, -0.037799f, 0.009374f, 0.025863f, 0.003806f, -0.028034f, 0.038574f, 0.010335f, 0.053459f, 0.002370f, 0.048108f, 0.005489f, -0.015095f, -0.004674f, 0.011924f, 0.068152f, -0.008054f, 0.024742f, 0.017204f, 0.032398f, 0.017277f, 0.000523f, -0.001554f, 0.021258f, 0.096918f, 0.004875f, 0.039183f, - -0.032328f, -0.023912f, 0.012602f, 0.015660f, 0.019140f, 0.008227f, 0.003426f, -0.046889f, -0.018410f, -0.049191f, 0.003040f, -0.008042f, -0.016089f, -0.013405f, -0.005208f, -0.020475f, 0.002943f, -0.001691f, -0.021739f, 0.016242f, -0.025377f, -0.011991f, -0.022891f, -0.015372f, -0.001247f, 0.003023f, -0.018270f, -0.021047f, 0.005434f, 0.014142f, 0.016223f, -0.002790f, -0.005874f, -0.027223f, -0.035955f, 0.004071f, 0.004649f, -0.016046f, 0.033142f, 0.032311f, 0.047357f, 0.016980f, -0.010189f, 0.006876f, 0.014744f, 0.018277f, 0.021592f, 0.003583f, -0.022197f, 0.006050f, 0.028785f, 0.015080f, 0.001599f, 0.011863f, -0.053173f, 0.058037f, -0.001011f, 0.051362f, 0.001138f, 0.003395f, -0.046869f, -0.014457f, -0.021170f, 0.035625f, 0.008936f, 0.015753f, 0.009282f, -0.035949f, 0.003393f, 0.002822f, -0.031679f, -0.045159f, -0.046267f, 0.015576f, -0.017315f, 0.041962f, 0.002232f, -0.013342f, -0.011090f, 0.009044f, -0.016455f, 0.002706f, 0.012109f, -0.017665f, 0.009716f, 0.014165f, 0.004612f, 0.004062f, 0.031544f, 0.053426f, -0.010686f, -0.000397f, 0.026602f, 0.022004f, 0.031902f, -0.023805f, - -0.009588f, 0.009726f, -0.032202f, 0.003166f, 0.002527f, -0.042387f, 0.054451f, -0.002628f, 0.027353f, 0.023892f, 0.016457f, -0.032223f, 0.002797f, 0.027656f, -0.022712f, 0.049174f, 0.013223f, -0.017879f, 0.040339f, 0.030693f, 0.021092f, -0.068284f, -0.014198f, 0.013694f, -0.023616f, 0.003765f, -0.038403f, -0.009458f, -0.058061f, -0.016442f, -0.009115f, -0.015865f, -0.064317f, -0.006331f, -0.017767f, 0.096332f, -0.014141f, 0.019706f, -0.010171f, 0.015509f, -0.008366f, -0.015589f, 0.010112f, -0.013046f, -0.002322f, -0.006952f, 0.025562f, 0.009429f, 0.011075f, -0.041410f, -0.037464f, -0.027612f, -0.011856f, 0.007528f, -0.052547f, -0.008233f, -0.004502f, 0.004105f, 0.018830f, 0.014681f, -0.001862f, 0.020487f, -0.018592f, 0.000643f, 0.000801f, -0.029854f, -0.041860f, 0.008451f, -0.012459f, -0.038295f, -0.010878f, -0.017885f, 0.002328f, -0.040937f, -0.005007f, -0.017698f, 0.024035f, 0.000719f, -0.017900f, -0.006084f, 0.007278f, 0.009970f, -0.004248f, 0.018967f, -0.019129f, -0.011321f, 0.023803f, 0.023387f, 0.029967f, 0.026322f, 0.019616f, -0.014221f, 0.012272f, 0.032857f, 0.031729f, 0.013973f, - -0.038248f, -0.044394f, 0.019782f, -0.006078f, 0.014324f, -0.008138f, 0.037761f, -0.028090f, -0.005751f, -0.009662f, 0.032949f, -0.024666f, 0.057717f, 0.070913f, 0.072356f, 0.004500f, -0.013326f, 0.011785f, -0.009309f, 0.017736f, -0.002997f, -0.000350f, -0.021092f, -0.057963f, -0.019234f, -0.055509f, 0.031946f, 0.030034f, -0.034146f, -0.025575f, -0.034230f, -0.015990f, -0.004861f, 0.075808f, 0.000987f, -0.038591f, -0.041425f, -0.002449f, 0.053069f, 0.025369f, -0.106074f, -0.021605f, -0.018668f, 0.014026f, 0.040015f, -0.046053f, -0.014498f, -0.027400f, 0.012174f, -0.062864f, 0.031412f, -0.010434f, -0.001303f, 0.017526f, 0.002718f, -0.030754f, 0.062242f, -0.006162f, 0.029687f, 0.066564f, 0.136451f, 0.081813f, -0.001848f, 0.045990f, 0.069669f, 0.089476f, 0.097066f, 0.027797f, 0.059525f, 0.017052f, 0.000935f, 0.036516f, -0.028506f, 0.059865f, 0.025812f, -0.025919f, -0.088959f, -0.064780f, 0.008652f, -0.025272f, -0.018086f, -0.016369f, -0.009675f, -0.010856f, -0.036510f, -0.023941f, 0.001587f, -0.005576f, -0.001786f, -0.011450f, -0.003019f, -0.019020f, 0.024006f, -0.039514f, -0.015964f, 0.011611f, - 0.007567f, 0.003706f, -0.009962f, -0.012259f, -0.006719f, 0.008133f, -0.006026f, 0.020580f, -0.023702f, -0.029976f, -0.029866f, -0.018456f, 0.023308f, 0.025928f, -0.009323f, -0.004340f, 0.009736f, -0.004768f, 0.043113f, 0.009430f, 0.004135f, 0.034409f, 0.021851f, 0.019754f, 0.048941f, 0.032073f, 0.036930f, 0.011554f, 0.018017f, 0.040242f, 0.015892f, 0.016713f, -0.013380f, -0.030292f, 0.035251f, -0.044046f, 0.074158f, -0.008587f, -0.013425f, 0.001517f, 0.059088f, -0.039215f, -0.006800f, -0.001571f, 0.000950f, 0.021533f, -0.015104f, 0.030988f, 0.010859f, -0.005658f, 0.007312f, 0.003684f, 0.024380f, -0.074017f, -0.023238f, -0.002129f, 0.007995f, -0.007197f, -0.053899f, 0.044487f, -0.002317f, 0.006199f, 0.016200f, -0.035131f, -0.015938f, -0.081690f, 0.021807f, -0.019050f, 0.015806f, 0.059859f, -0.016270f, 0.012640f, -0.007585f, 0.028594f, -0.048744f, -0.065259f, 0.057367f, -0.005281f, 0.005029f, 0.009790f, 0.057699f, 0.042059f, 0.050090f, -0.000781f, -0.066811f, 0.039780f, 0.018743f, -0.015739f, -0.023574f, 0.038022f, -0.006850f, 0.048054f, 0.079483f, 0.061777f, 0.010607f, 0.005441f, - 0.058661f, -0.011498f, 0.018081f, 0.048246f, -0.032721f, 0.055775f, 0.034201f, 0.019919f, -0.039298f, -0.019408f, -0.052470f, -0.001480f, 0.018130f, 0.078305f, 0.033057f, -0.072608f, -0.006616f, 0.047050f, -0.006802f, 0.022934f, 0.031572f, -0.051475f, -0.012655f, 0.025226f, 0.006149f, 0.014130f, -0.022428f, 0.016787f, 0.028441f, 0.003752f, 0.000488f, 0.041586f, 0.007996f, -0.008886f, -0.010711f, 0.013847f, -0.003600f, 0.022375f, 0.003583f, 0.016949f, 0.019263f, -0.002852f, -0.019857f, 0.040935f, -0.005820f, -0.012485f, -0.002584f, -0.027698f, -0.027863f, -0.018275f, -0.019287f, 0.013336f, 0.024245f, -0.024278f, -0.020805f, 0.004897f, 0.036403f, -0.052467f, -0.012710f, 0.020322f, -0.006204f, 0.000171f, -0.007129f, -0.005639f, -0.037725f, -0.000494f, -0.010044f, 0.010489f, 0.002922f, 0.006312f, 0.000442f, 0.003299f, -0.002986f, -0.102796f, 0.023477f, -0.017053f, -0.004098f, 0.080188f, 0.034418f, -0.025195f, -0.019556f, -0.000337f, -0.051977f, -0.063608f, 0.005293f, 0.000530f, -0.035863f, 0.037946f, 0.004510f, -0.036711f, 0.023098f, 0.069004f, -0.009347f, -0.039768f, 0.024867f, -0.023417f, - -0.025629f, 0.012883f, 0.055940f, -0.018243f, 0.008092f, 0.015381f, -0.017409f, -0.041715f, -0.027506f, 0.055370f, 0.019346f, -0.054550f, 0.046548f, 0.018337f, -0.037539f, -0.019518f, 0.076733f, -0.024972f, -0.059149f, -0.030279f, 0.102026f, -0.100834f, -0.046915f, 0.059903f, -0.027256f, -0.032391f, -0.096295f, 0.075041f, -0.061725f, 0.022094f, 0.003015f, -0.011483f, -0.108735f, -0.032020f, 0.092718f, 0.058656f, -0.073635f, -0.020037f, -0.032004f, -0.014970f, 0.014852f, 0.020262f, 0.023979f, -0.128152f, 0.069931f, 0.053875f, 0.056228f, 0.000972f, 0.029326f, -0.062649f, -0.056011f, 0.109859f, 0.044804f, 0.012268f, 0.043962f, -0.058964f, 0.011657f, -0.026021f, 0.027995f, -0.015834f, 0.076771f, -0.031272f, -0.027021f, 0.010813f, 0.009048f, -0.029000f, 0.017288f, 0.008605f, 0.006304f, -0.005352f, 0.003645f, 0.006343f, 0.006010f, -0.007066f, -0.004432f, 0.016283f, 0.000661f, -0.008399f, 0.033430f, 0.010092f, -0.030235f, 0.003462f, 0.028630f, 0.007701f, -0.028780f, 0.038396f, 0.068358f, -0.033575f, -0.039644f, -0.010507f, -0.009169f, 0.023460f, 0.049995f, 0.015408f, -0.046842f, -0.015333f, - -0.007073f, 0.007106f, 0.013849f, -0.007661f, 0.020266f, -0.014688f, -0.002090f, 0.012205f, -0.084614f, 0.014821f, 0.105953f, 0.033206f, 0.011489f, 0.003023f, 0.008079f, 0.045507f, 0.062256f, -0.014089f, 0.011731f, 0.016190f, -0.010575f, 0.037596f, -0.019639f, -0.005189f, -0.014835f, 0.028909f, 0.021496f, -0.011648f, 0.019772f, -0.028117f, -0.022893f, 0.028865f, -0.018377f, 0.031707f, -0.020957f, -0.009246f, -0.000512f, 0.017380f, -0.000977f, 0.012959f, 0.005307f, 0.032286f, -0.022925f, -0.004502f, 0.000665f, -0.012701f, 0.031171f, 0.027058f, -0.022174f, -0.007803f, -0.013592f, 0.007243f, -0.028637f, 0.015600f, 0.008957f, 0.014327f, -0.011389f, -0.008616f, 0.035466f, -0.042412f, -0.007263f, 0.018033f, -0.011445f, -0.007635f, 0.018593f, -0.052147f, 0.012701f, -0.018815f, 0.003211f, -0.018423f, 0.045264f, -0.014614f, -0.019428f, 0.018642f, -0.010175f, -0.029522f, 0.057542f, -0.001497f, 0.005972f, -0.012750f, -0.022041f, -0.025985f, 0.029074f, -0.032475f, -0.015614f, 0.033228f, -0.045145f, -0.019616f, 0.005924f, -0.004156f, 0.005643f, -0.000624f, 0.006547f, 0.020230f, -0.007147f, 0.007982f, - -0.009132f, 0.021224f, 0.011675f, -0.000812f, 0.001888f, 0.012965f, -0.011217f, 0.009446f, 0.001622f, 0.010381f, -0.004557f, 0.016088f, -0.008057f, 0.004391f, -0.013828f, -0.011933f, -0.018926f, 0.003638f, 0.001214f, 0.006454f, -0.009224f, 0.021369f, -0.006929f, -0.003568f, 0.018349f, 0.016184f, 0.008724f, -0.007394f, -0.012154f, 0.011075f, 0.014653f, 0.009216f, 0.006383f, -0.000106f, 0.013252f, 0.014361f, 0.006402f, 0.012212f, 0.001686f, -0.009316f, 0.027446f, -0.079121f, -0.223245f, -0.183447f, 0.096635f, 0.027562f, 0.221445f, 0.395844f, 0.058594f, 0.124650f, 0.045194f, -0.316122f, -0.100132f, -0.214524f, -0.259215f, 0.007059f, 0.041119f, -0.108250f, 0.156304f, 0.204670f, 0.114761f, 0.326554f, 0.188212f, -0.042264f, -0.077808f, -0.151859f, -0.295383f, -0.233297f, -0.068946f, -0.208061f, -0.029212f, 0.179106f, 0.029697f, 0.041521f, 0.270858f, 0.138082f, 0.085303f, 0.282439f, 0.043300f, -0.078254f, 0.110255f, -0.148259f, -0.293472f, -0.122928f, -0.247641f, -0.309837f, -0.004778f, -0.064879f, -0.081749f, 0.205983f, 0.226993f, 0.144388f, 0.342612f, 0.276427f, 0.130251f, 0.117809f, - 0.068081f, -0.229327f, -0.211017f, -0.267116f, -0.352661f, -0.282774f, -0.119491f, -0.082122f, 0.006969f, 0.202381f, 0.246093f, 0.257673f, 0.246947f, 0.228875f, 0.048598f, 0.004047f, -0.039178f, -0.174836f, -0.191613f, -0.110781f, -0.200907f, -0.084623f, 0.017226f, -0.043973f, 0.100401f, 0.180985f, 0.055116f, 0.076357f, 0.033761f, -0.049645f, -0.031146f, -0.075894f, -0.098812f, -0.012012f, 0.027421f, 0.000606f, 0.080974f, 0.074845f, 0.008225f, 0.072049f, -0.000271f, -0.091537f, 0.080360f, 0.024143f, -0.081568f, 0.056988f, -0.060496f, -0.122267f, 0.055492f, -0.087046f, -0.215568f, 0.003266f, -0.095064f, -0.062808f, 0.213069f, 0.096437f, 0.101157f, 0.305180f, 0.202109f, 0.112233f, 0.132974f, -0.033309f, -0.193255f, -0.245372f, -0.333350f, -0.368539f, -0.234088f, -0.149449f, -0.026028f, 0.140169f, 0.311983f, 0.344648f, 0.319330f, 0.332751f, 0.177714f, 0.008173f, -0.085083f, -0.219104f, -0.280492f, -0.181406f, -0.202647f, -0.161197f, -0.032548f, 0.006162f, 0.021497f, 0.079652f, 0.067659f, 0.059443f, 0.105341f, 0.105430f, 0.089093f, 0.105488f, 0.073632f, 0.026613f, -0.005336f, -0.040966f, - -0.096908f, -0.102218f, -0.075694f, -0.059645f, -0.025891f, -0.008577f, -0.005999f, -0.007146f}, - {-0.019694f, -0.023970f, 0.012087f, -0.004389f, 0.010571f, -0.005251f, -0.005372f, -0.010723f, 0.002526f, 0.002273f, -0.000481f, 0.000174f, -0.001204f, -0.008202f, -0.000955f, -0.004690f, -0.005396f, -0.005112f, -0.000199f, 0.000616f, -0.000412f, -0.000923f, 0.004064f, -0.001129f, -0.012413f, 0.007721f, 0.003833f, -0.004227f, 0.001235f, -0.000120f, 0.000127f, 0.001743f, 0.007971f, -0.004446f, 0.000465f, -0.014062f, 0.007002f, 0.001384f, 0.003158f, 0.004861f, 0.007891f, -0.004416f, -0.003366f, -0.001597f, -0.007080f, 0.000567f, -0.001073f, 0.006113f, -0.003296f, -0.000419f, -0.003432f, -0.003922f, 0.007435f, -0.005611f, -0.002722f, 0.000699f, -0.005102f, 0.004252f, -0.000200f, -0.002392f, 0.004594f, 0.008445f, 0.000520f, -0.000328f, -0.001196f, 0.007220f, -0.007186f, 0.000063f, -0.001132f, 0.003778f, -0.001777f, -0.003288f, 0.007844f, -0.000139f, 0.001647f, -0.002182f, 0.001619f, 0.004223f, -0.003396f, -0.004736f, 0.000229f, 0.004123f, 0.006915f, -0.003119f, -0.002123f, 0.001704f, 0.000364f, 0.001058f, -0.003188f, -0.001025f, 0.001884f, -0.000429f, 0.001321f, -0.002513f, -0.000793f, -0.001551f, - -0.002178f, -0.001570f, -0.001468f, 0.001101f, 0.000184f, -0.001100f, 0.001095f, 0.000759f, -0.001005f, -0.000311f, -0.000256f, -0.001363f, -0.002458f, -0.000689f, -0.000010f, 0.000504f, 0.001316f, -0.028580f, 0.004858f, 0.003377f, 0.010017f, -0.003927f, 0.003035f, 0.011647f, -0.004512f, 0.003183f, -0.007068f, -0.010370f, 0.003793f, -0.007060f, -0.008059f, -0.008084f, 0.002432f, 0.003083f, -0.013794f, 0.008107f, 0.005372f, -0.002347f, -0.005053f, 0.003226f, -0.001259f, -0.003142f, 0.000995f, 0.004571f, 0.003377f, 0.007302f, 0.001405f, -0.002224f, 0.007513f, -0.003782f, 0.016391f, 0.003691f, 0.010097f, 0.003893f, 0.008858f, 0.003946f, 0.006103f, 0.003306f, 0.000725f, 0.000340f, 0.012402f, 0.002104f, -0.001997f, 0.000821f, 0.006546f, 0.004853f, 0.000708f, -0.000555f, -0.002556f, 0.001383f, 0.015131f, 0.004342f, 0.006990f, -0.007313f, -0.003770f, -0.007713f, -0.004884f, -0.007487f, 0.005617f, 0.003552f, -0.004793f, -0.003408f, 0.003363f, -0.003567f, 0.003754f, -0.001678f, -0.001145f, -0.005178f, -0.008743f, 0.003761f, -0.014195f, -0.002003f, -0.003041f, -0.003588f, 0.000757f, -0.003310f, - 0.000650f, 0.005344f, 0.002572f, -0.003637f, 0.000644f, -0.002884f, -0.006194f, -0.000998f, 0.002946f, -0.000301f, -0.004788f, 0.001737f, 0.000856f, 0.001814f, 0.003246f, 0.000131f, 0.000437f, -0.002241f, -0.001382f, -0.000328f, -0.000061f, 0.001179f, -0.002605f, -0.002203f, 0.016088f, 0.022167f, -0.006790f, 0.005962f, -0.011010f, -0.000581f, 0.000659f, 0.028323f, -0.002895f, -0.007478f, -0.012204f, 0.000292f, 0.008128f, 0.013033f, -0.002935f, -0.017087f, -0.004916f, -0.006509f, -0.004667f, 0.005819f, -0.001253f, 0.010887f, 0.001214f, -0.006142f, -0.013825f, 0.004159f, -0.001295f, 0.003225f, -0.001667f, 0.001574f, 0.006777f, 0.002498f, -0.017396f, 0.002108f, 0.011193f, 0.005518f, 0.001377f, 0.002693f, -0.002795f, 0.007769f, -0.010286f, -0.000990f, 0.008486f, -0.005839f, 0.000001f, 0.013801f, -0.006368f, -0.000637f, -0.004673f, 0.008496f, -0.008921f, -0.006605f, 0.004128f, -0.009236f, -0.004562f, 0.012053f, 0.007076f, -0.010742f, -0.003968f, -0.001600f, -0.002671f, -0.004888f, 0.003863f, -0.004193f, 0.004431f, -0.000116f, 0.000659f, 0.001958f, 0.009085f, -0.001017f, 0.012525f, 0.006491f, - -0.009620f, -0.004416f, -0.004696f, 0.007542f, 0.002241f, -0.000489f, -0.003866f, 0.010093f, 0.003880f, -0.000169f, -0.000219f, -0.002500f, -0.002313f, 0.003010f, 0.001160f, 0.003337f, 0.007859f, 0.002877f, -0.000425f, 0.000536f, 0.000634f, 0.002572f, -0.000523f, 0.000994f, 0.003758f, 0.000841f, 0.004651f, 0.000179f, 0.001647f, 0.002405f, 0.002851f, 0.001048f, 0.001806f, 0.002094f, 0.001703f, 0.002700f, -0.000817f, 0.000851f, 0.001833f, 0.002765f, -0.000234f, -0.002054f, -0.002449f, 0.000632f, 0.052881f, -0.019537f, 0.010732f, -0.014920f, -0.001548f, 0.000528f, -0.001084f, -0.007908f, 0.004335f, 0.006087f, 0.001483f, -0.005752f, -0.012248f, -0.000457f, 0.007489f, 0.005321f, -0.005384f, -0.009221f, -0.000740f, 0.008262f, 0.015088f, -0.008136f, -0.001092f, -0.006142f, -0.013201f, 0.001480f, -0.006641f, 0.004010f, -0.004917f, 0.010274f, -0.018028f, 0.012176f, -0.000799f, -0.010731f, 0.002614f, 0.004523f, -0.001273f, -0.005681f, 0.000351f, 0.014107f, -0.000534f, 0.002327f, -0.001997f, 0.005403f, 0.002484f, -0.003325f, -0.005301f, -0.011589f, 0.007513f, -0.002421f, -0.003418f, 0.004466f, - 0.000072f, -0.019483f, 0.014969f, -0.020970f, -0.012115f, -0.014849f, 0.003194f, -0.001734f, 0.008895f, -0.004857f, 0.004726f, -0.008935f, 0.004290f, -0.002331f, -0.003670f, -0.009858f, 0.006030f, 0.006957f, 0.011863f, -0.002877f, -0.001152f, 0.003231f, -0.003626f, -0.002119f, 0.002270f, 0.006880f, -0.009106f, 0.004509f, 0.006509f, 0.007271f, -0.011536f, -0.009395f, 0.003925f, -0.005867f, 0.002982f, -0.000081f, -0.000713f, 0.001031f, 0.001425f, -0.000471f, 0.002694f, -0.003334f, 0.001606f, -0.001021f, 0.006708f, 0.000423f, 0.001623f, 0.001539f, 0.000403f, -0.002628f, -0.000259f, 0.000685f, -0.000767f, -0.041754f, 0.004216f, 0.000404f, -0.003579f, -0.006472f, 0.007264f, -0.005697f, 0.004822f, -0.001536f, -0.000108f, 0.006707f, 0.008746f, -0.005438f, 0.006434f, -0.001923f, -0.003600f, -0.011740f, -0.000607f, -0.015849f, -0.011641f, 0.013881f, 0.004935f, -0.005426f, -0.002001f, -0.001669f, 0.009629f, 0.005062f, -0.004998f, 0.008772f, 0.005830f, 0.003419f, 0.003018f, 0.003715f, 0.006680f, 0.005740f, 0.005670f, 0.015528f, 0.013978f, 0.006017f, 0.001526f, -0.009703f, 0.010742f, -0.014400f, - 0.002816f, -0.004033f, 0.011639f, -0.008821f, -0.011461f, 0.019631f, -0.004603f, -0.010560f, -0.009416f, 0.014605f, 0.008961f, 0.000511f, 0.007501f, 0.010595f, 0.004850f, 0.017151f, -0.001046f, -0.002736f, 0.009724f, 0.005934f, 0.000550f, 0.000361f, -0.008959f, 0.005335f, 0.005551f, 0.013840f, 0.005621f, 0.008608f, -0.005352f, -0.007150f, -0.015161f, -0.003504f, -0.008211f, -0.006537f, -0.006919f, 0.007620f, -0.000297f, 0.000562f, -0.004459f, -0.005156f, -0.001450f, -0.004540f, 0.001373f, -0.003069f, -0.005044f, 0.002028f, -0.000521f, 0.000157f, -0.004723f, -0.000717f, 0.000166f, -0.005945f, -0.000839f, -0.001442f, 0.000366f, -0.002691f, -0.003101f, -0.001939f, -0.001169f, 0.000070f, -0.001017f, 0.000901f, -0.001414f, 0.001616f, 0.000367f, 0.001424f, 0.003214f, -0.000784f, 0.003395f, 0.000664f, 0.002219f, -0.001611f, 0.000668f, -0.003003f, -0.001136f, -0.000541f, -0.003602f, -0.001147f, -0.001789f, -0.055636f, 0.014882f, -0.011907f, -0.017588f, -0.017391f, 0.010731f, -0.012918f, 0.009474f, -0.016218f, 0.008872f, 0.007572f, 0.004640f, -0.017071f, 0.011631f, -0.000245f, 0.007026f, -0.014150f, - 0.007821f, 0.016656f, 0.012723f, 0.000423f, -0.006020f, 0.002310f, -0.003646f, -0.018038f, -0.003686f, -0.008689f, 0.004079f, -0.011360f, 0.009682f, 0.009497f, -0.003808f, -0.000458f, 0.013338f, -0.002972f, 0.009036f, -0.007343f, -0.011703f, 0.006038f, -0.000243f, 0.006249f, 0.016417f, 0.009977f, -0.000656f, -0.028733f, -0.013799f, -0.004024f, 0.003941f, -0.004454f, 0.015761f, -0.024968f, 0.007850f, 0.003344f, -0.000293f, 0.007775f, -0.003272f, 0.012068f, -0.026175f, -0.012238f, 0.010084f, -0.026305f, -0.004911f, 0.012217f, 0.004348f, -0.005843f, -0.017561f, 0.006465f, 0.011264f, 0.008255f, -0.003171f, -0.018422f, -0.001628f, 0.000098f, -0.002129f, -0.001023f, -0.009044f, 0.004038f, -0.014442f, 0.008813f, 0.001202f, -0.008584f, 0.001646f, -0.010317f, 0.000736f, -0.012332f, -0.003485f, 0.004267f, 0.004487f, 0.000359f, -0.001228f, -0.004277f, -0.003241f, 0.000818f, -0.007268f, 0.005775f, 0.000400f, -0.003536f, -0.000024f, -0.006276f, -0.004964f, 0.001350f, -0.002612f, 0.003340f, -0.003331f, -0.001872f, -0.002200f, -0.002404f, -0.004267f, -0.000751f, -0.002403f, -0.000976f, 0.001131f, -0.001023f, - -0.001952f, 0.001511f, -0.000817f, -0.001667f, -0.001717f, -0.003776f, -0.002672f, 0.000461f, 0.001925f, -0.000604f, -0.026145f, 0.002820f, 0.004359f, 0.020479f, -0.019342f, 0.022361f, 0.006342f, -0.001809f, -0.005250f, -0.002419f, 0.002080f, -0.016361f, -0.003125f, 0.005231f, -0.005365f, -0.009610f, -0.002585f, 0.015455f, -0.015969f, -0.003492f, 0.016021f, 0.000055f, -0.006333f, 0.005627f, -0.007771f, 0.011760f, 0.005197f, -0.000173f, 0.005911f, -0.006863f, -0.010744f, -0.000796f, 0.000846f, 0.008787f, -0.018853f, -0.010210f, -0.008304f, -0.005865f, -0.005564f, -0.005756f, 0.002864f, 0.000889f, 0.001605f, -0.014127f, -0.014430f, -0.011528f, 0.000457f, -0.018141f, -0.009954f, 0.010793f, -0.007285f, 0.002346f, 0.001203f, -0.000392f, 0.004574f, 0.006376f, 0.006179f, 0.007223f, 0.010735f, -0.001947f, 0.011612f, -0.000801f, 0.005904f, -0.001029f, -0.007352f, -0.000506f, -0.011895f, 0.007325f, -0.013931f, 0.013003f, -0.015551f, -0.000312f, -0.016040f, 0.001453f, -0.016114f, -0.015655f, 0.007456f, 0.021368f, 0.006561f, -0.013915f, 0.009957f, -0.000086f, -0.006021f, -0.003738f, -0.006310f, 0.008442f, - 0.007452f, 0.010400f, 0.001994f, 0.008087f, -0.006803f, -0.000839f, 0.008127f, 0.000846f, 0.002592f, 0.001482f, -0.003780f, 0.004704f, -0.000312f, 0.001686f, 0.007232f, 0.001978f, -0.001638f, -0.004354f, -0.001817f, 0.002822f, 0.003042f, 0.002205f, 0.000967f, -0.003423f, 0.000406f, -0.000821f, -0.007290f, 0.007111f, 0.000995f, 0.002522f, 0.000504f, -0.001892f, -0.003354f, 0.002417f, -0.003418f, -0.001848f, 0.072707f, 0.000878f, -0.020960f, 0.003311f, -0.011379f, 0.028993f, -0.004742f, 0.008164f, 0.002122f, 0.001414f, -0.025472f, -0.013046f, 0.014125f, 0.012424f, -0.020072f, -0.003515f, -0.000612f, 0.017874f, 0.008782f, 0.006809f, 0.017512f, 0.002768f, 0.001145f, 0.015216f, -0.005322f, -0.023143f, 0.003420f, 0.017718f, 0.010477f, -0.006693f, 0.000347f, 0.012359f, 0.007522f, 0.003388f, -0.000667f, -0.012980f, 0.006314f, -0.014119f, 0.001398f, -0.026592f, 0.006966f, 0.008205f, -0.002163f, -0.012231f, 0.016880f, 0.008894f, -0.003511f, 0.013148f, 0.006047f, -0.011063f, 0.020267f, 0.002199f, -0.007200f, 0.004721f, 0.020782f, 0.003251f, -0.000548f, -0.017335f, -0.010131f, 0.002447f, - 0.007039f, 0.023713f, -0.007824f, -0.009377f, 0.002045f, 0.012951f, -0.008367f, -0.010258f, -0.000935f, 0.017242f, 0.012322f, -0.004276f, -0.013234f, -0.000675f, 0.015036f, -0.005970f, 0.031236f, 0.006828f, 0.004661f, -0.015974f, 0.013566f, 0.000841f, -0.003463f, -0.008107f, 0.000794f, -0.004518f, 0.000830f, 0.019347f, 0.008806f, 0.007065f, 0.003686f, 0.002263f, 0.000317f, -0.001227f, 0.001787f, 0.003918f, 0.006970f, 0.001110f, 0.001255f, 0.002596f, -0.005293f, 0.000148f, 0.002295f, -0.001158f, 0.006070f, -0.004269f, -0.000120f, -0.002073f, 0.002391f, 0.010299f, 0.003515f, -0.003172f, -0.000760f, 0.002482f, 0.000878f, 0.003464f, -0.000655f, -0.004390f, 0.004104f, 0.003707f, -0.003455f, -0.000901f, 0.009067f, 0.003132f, 0.016389f, 0.008703f, -0.025860f, -0.002693f, -0.013087f, 0.025961f, -0.009769f, 0.012091f, 0.002294f, 0.016250f, 0.006392f, 0.002394f, -0.001364f, 0.006591f, -0.007457f, -0.011054f, -0.030602f, -0.022641f, 0.007448f, 0.020114f, 0.026984f, -0.009958f, -0.013231f, -0.011628f, 0.005994f, -0.006380f, -0.001413f, -0.001107f, 0.003603f, 0.004101f, 0.018002f, -0.009624f, - 0.001657f, 0.004433f, 0.008772f, -0.008734f, -0.006515f, -0.014405f, -0.009796f, -0.010045f, -0.017177f, -0.043495f, -0.000547f, -0.005833f, -0.018730f, 0.004190f, -0.002151f, -0.023591f, 0.007882f, -0.020005f, 0.005088f, -0.002432f, -0.001681f, 0.010147f, 0.013104f, -0.000378f, -0.019547f, 0.005745f, -0.012285f, -0.013508f, 0.018737f, 0.016963f, 0.018874f, -0.006166f, 0.003025f, 0.002518f, -0.009690f, 0.001506f, -0.004676f, 0.029633f, -0.004932f, -0.003039f, -0.002974f, -0.000201f, -0.018125f, -0.022382f, 0.005288f, -0.001622f, -0.001702f, 0.005077f, 0.032197f, -0.003964f, -0.015140f, -0.006351f, 0.016885f, -0.002444f, -0.005528f, -0.004846f, -0.000382f, -0.013704f, 0.003285f, -0.002609f, 0.002531f, -0.006906f, 0.000269f, -0.008693f, -0.000775f, -0.000519f, 0.003494f, -0.003624f, -0.001833f, -0.005293f, 0.007167f, 0.000501f, -0.005329f, 0.001225f, 0.002345f, -0.005610f, 0.001404f, 0.002283f, 0.008769f, -0.001777f, 0.001992f, 0.006299f, 0.003808f, -0.003162f, 0.003687f, -0.006639f, -0.011000f, 0.001404f, 0.000989f, -0.004065f, -0.010261f, -0.002014f, -0.002577f, 0.009128f, 0.003290f, 0.006156f, - -0.001109f, 0.007666f, 0.008384f, -0.028499f, 0.010459f, 0.003420f, 0.029997f, -0.020271f, -0.011500f, -0.006768f, 0.015996f, -0.015369f, -0.014763f, 0.013239f, 0.008902f, -0.015547f, -0.015670f, -0.015354f, -0.034280f, 0.022421f, 0.021059f, 0.022321f, -0.009676f, 0.007021f, 0.022166f, -0.032233f, 0.000008f, 0.021071f, 0.019550f, 0.008833f, -0.000085f, -0.010355f, 0.002120f, -0.005015f, -0.027874f, 0.003478f, 0.007598f, 0.004036f, 0.018437f, -0.016327f, 0.001725f, -0.030470f, -0.003888f, 0.005962f, -0.016740f, 0.006413f, 0.005109f, 0.013556f, 0.016609f, 0.023090f, -0.004757f, -0.009136f, -0.027957f, -0.019989f, 0.008595f, 0.040988f, -0.012756f, -0.001758f, -0.018936f, -0.010072f, -0.015026f, 0.008791f, 0.009073f, -0.003207f, 0.001326f, -0.030086f, -0.003978f, 0.020277f, -0.016243f, -0.014119f, 0.012046f, -0.005474f, 0.017634f, 0.004312f, -0.012977f, 0.002037f, -0.019599f, -0.005700f, -0.005182f, 0.037734f, -0.003790f, -0.011122f, 0.008271f, 0.007656f, -0.003325f, -0.006487f, -0.001935f, -0.005227f, -0.007029f, -0.006602f, -0.005008f, 0.002594f, 0.002934f, 0.006032f, -0.001575f, -0.000157f, - -0.003644f, 0.003629f, 0.000956f, -0.009760f, 0.002596f, -0.000150f, -0.001049f, 0.003442f, -0.000215f, -0.005360f, -0.005237f, -0.012596f, 0.004181f, -0.004010f, 0.003704f, 0.004721f, -0.005889f, 0.002627f, 0.001716f, -0.001322f, 0.004760f, -0.000047f, 0.013590f, 0.001840f, -0.002456f, 0.000258f, -0.003938f, -0.000777f, 0.002377f, 0.000318f, -0.001172f, 0.001039f, -0.005296f, 0.004182f, -0.017825f, 0.040773f, -0.020303f, -0.010523f, -0.000956f, -0.001495f, -0.029178f, 0.001727f, -0.021520f, 0.015315f, -0.040328f, -0.006001f, -0.012978f, 0.013579f, -0.013952f, -0.014056f, -0.034134f, 0.022777f, -0.014102f, 0.009277f, -0.011057f, 0.006712f, 0.017999f, -0.013298f, -0.022411f, -0.007634f, 0.015157f, 0.031529f, 0.010074f, 0.013120f, 0.001469f, -0.032035f, -0.017178f, -0.017334f, -0.008940f, 0.005438f, 0.028821f, 0.012324f, 0.016747f, 0.015654f, -0.004516f, -0.006875f, -0.009819f, -0.026801f, 0.001356f, -0.018745f, 0.028774f, -0.013339f, 0.019790f, 0.004120f, -0.010496f, 0.006528f, -0.007018f, -0.009178f, -0.015814f, 0.023578f, 0.006122f, 0.039930f, 0.008682f, -0.043261f, -0.010845f, 0.013690f, - 0.011127f, 0.006173f, -0.002531f, 0.003689f, 0.045036f, 0.022436f, -0.007724f, 0.004721f, -0.012248f, 0.032569f, -0.001349f, -0.001421f, 0.012634f, -0.028948f, -0.012532f, -0.009937f, -0.030913f, -0.036645f, 0.007144f, 0.012881f, -0.003513f, -0.018137f, -0.004807f, -0.005879f, -0.014228f, 0.000064f, -0.002985f, -0.011344f, 0.011020f, 0.016903f, -0.003852f, -0.002684f, -0.002683f, -0.006878f, 0.004787f, 0.000967f, -0.002054f, -0.003632f, -0.003083f, -0.002207f, 0.005511f, -0.003488f, -0.008154f, -0.002164f, -0.000508f, 0.002370f, 0.001484f, -0.005124f, 0.011939f, -0.004178f, 0.007202f, -0.001649f, 0.005992f, 0.002998f, -0.002080f, -0.008440f, -0.008009f, 0.002469f, -0.002278f, -0.012646f, -0.004696f, -0.003299f, 0.004421f, 0.000900f, -0.001070f, 0.003208f, 0.005544f, 0.001661f, -0.003544f, -0.005378f, -0.024836f, 0.015014f, 0.033434f, -0.003181f, -0.001346f, -0.000676f, 0.031082f, 0.009691f, 0.007525f, 0.005385f, 0.003761f, 0.005358f, -0.012110f, 0.002359f, -0.038293f, 0.005590f, -0.018402f, 0.016116f, 0.039361f, -0.005028f, 0.002959f, -0.030907f, 0.041490f, 0.020143f, 0.017686f, -0.005090f, - -0.022659f, 0.002802f, -0.007664f, 0.021062f, 0.015166f, -0.018760f, 0.001109f, 0.011136f, 0.007938f, -0.014513f, -0.012827f, 0.060691f, -0.013958f, -0.010524f, 0.012891f, -0.015395f, -0.011151f, 0.019325f, 0.018999f, 0.000787f, 0.007379f, 0.006905f, -0.023360f, -0.011641f, -0.000890f, 0.008030f, 0.020661f, 0.005110f, 0.004966f, -0.026485f, -0.002390f, 0.007848f, -0.036072f, 0.007957f, -0.009950f, -0.003635f, -0.006558f, 0.010662f, -0.010647f, -0.019629f, -0.020882f, -0.033224f, 0.004321f, -0.013460f, -0.006370f, 0.021297f, -0.007094f, 0.006914f, -0.037373f, -0.000066f, 0.034661f, 0.008079f, -0.017315f, -0.010378f, 0.021106f, 0.010753f, -0.022880f, 0.012909f, -0.016533f, -0.012848f, -0.005356f, -0.003230f, 0.007963f, -0.002236f, 0.001484f, -0.003571f, -0.004460f, 0.002768f, 0.004309f, -0.005865f, 0.005107f, 0.015235f, 0.002492f, -0.002100f, 0.006654f, 0.009620f, -0.003975f, 0.006539f, -0.004169f, -0.005941f, 0.001788f, 0.004341f, 0.012792f, 0.003322f, -0.001117f, 0.004589f, -0.001809f, 0.006517f, -0.003572f, 0.005988f, -0.004458f, 0.001974f, 0.005412f, 0.001516f, -0.008644f, -0.005018f, - 0.016203f, -0.006844f, -0.012741f, 0.006317f, 0.003485f, 0.004703f, -0.003267f, 0.020571f, 0.006134f, -0.019237f, -0.019314f, 0.045698f, -0.027456f, 0.007075f, -0.017574f, 0.053886f, 0.011402f, 0.009909f, -0.017310f, -0.020477f, 0.001904f, 0.015345f, -0.016603f, -0.026446f, -0.015737f, -0.038425f, -0.015004f, -0.022590f, -0.000098f, -0.051621f, 0.003554f, 0.027855f, 0.017140f, 0.022754f, -0.015985f, 0.005882f, 0.024730f, -0.002943f, 0.017919f, 0.006611f, 0.027957f, -0.014121f, 0.023309f, 0.018504f, 0.013235f, 0.030280f, -0.017041f, 0.018009f, -0.009329f, -0.010863f, -0.007202f, 0.006640f, -0.058887f, -0.018890f, -0.036615f, 0.042274f, -0.026717f, -0.030194f, -0.006476f, 0.023825f, 0.000641f, -0.010837f, 0.033281f, -0.011975f, -0.010582f, -0.024243f, -0.059544f, 0.002820f, 0.005516f, 0.024740f, -0.024973f, 0.000005f, -0.015229f, -0.020147f, 0.031826f, -0.006496f, 0.015942f, -0.034687f, -0.033707f, -0.021090f, 0.026536f, -0.002802f, -0.016809f, -0.017908f, -0.000708f, -0.029431f, -0.020042f, 0.002786f, -0.012308f, -0.021968f, 0.032307f, -0.044396f, -0.042226f, 0.010977f, 0.000196f, 0.018591f, - 0.002162f, -0.002108f, -0.013602f, -0.012102f, 0.002009f, -0.021029f, -0.008416f, 0.017787f, 0.002409f, 0.002991f, -0.010321f, 0.010503f, 0.003970f, -0.011517f, 0.005413f, -0.008556f, -0.001684f, -0.008772f, 0.007631f, -0.011648f, -0.002841f, 0.007819f, 0.015430f, 0.001651f, 0.000704f, -0.016793f, -0.004982f, -0.001212f, 0.002516f, -0.002536f, 0.014327f, -0.000661f, -0.005352f, 0.009042f, -0.010507f, -0.009808f, 0.006110f, 0.012945f, -0.003542f, -0.009289f, -0.012410f, 0.009953f, 0.008191f, 0.016071f, -0.022284f, -0.000309f, 0.029517f, 0.003739f, -0.009127f, 0.015151f, -0.024261f, 0.047830f, 0.029972f, -0.000451f, -0.022102f, -0.024991f, 0.010204f, -0.006422f, -0.002399f, -0.001482f, 0.043625f, -0.021666f, 0.000659f, -0.015127f, 0.015962f, -0.027374f, -0.025087f, -0.049251f, 0.011226f, -0.020121f, -0.027740f, -0.003543f, -0.046815f, -0.023105f, 0.013029f, 0.009774f, -0.006547f, 0.024121f, 0.002124f, 0.029275f, -0.013144f, -0.040765f, -0.006309f, -0.029913f, -0.005809f, -0.009109f, -0.039057f, 0.004913f, 0.031573f, -0.089461f, 0.011175f, 0.000046f, 0.022014f, -0.004608f, -0.027920f, -0.053157f, - 0.020996f, -0.006679f, 0.019616f, 0.011647f, -0.006578f, 0.030746f, -0.038579f, 0.053747f, -0.013641f, 0.029908f, 0.062803f, 0.025004f, 0.044656f, 0.017431f, 0.011640f, -0.006281f, 0.023275f, -0.008867f, -0.024572f, -0.033148f, -0.021393f, -0.001280f, 0.018463f, -0.003210f, -0.014497f, -0.020639f, -0.018408f, 0.024744f, -0.011189f, -0.009150f, 0.022253f, 0.003901f, 0.016742f, -0.001906f, -0.002519f, -0.006954f, 0.003883f, 0.008293f, -0.011497f, -0.002016f, -0.028022f, -0.020354f, 0.013677f, -0.006971f, -0.000767f, -0.004235f, -0.000586f, -0.010827f, -0.016785f, 0.011975f, -0.010120f, 0.015608f, -0.016141f, -0.007560f, -0.001829f, -0.011438f, -0.005713f, 0.007786f, 0.003262f, 0.018959f, -0.004833f, -0.011556f, 0.007188f, -0.022967f, 0.000358f, 0.002635f, -0.003565f, 0.001338f, -0.002556f, 0.011085f, 0.016174f, 0.002608f, -0.000584f, -0.007962f, -0.013538f, -0.006708f, 0.000780f, 0.026354f, 0.013283f, -0.013516f, 0.075298f, 0.061362f, 0.055297f, -0.012569f, 0.000166f, -0.046907f, 0.035100f, 0.043530f, 0.014828f, 0.042049f, 0.016808f, 0.014308f, 0.014781f, -0.007406f, 0.005842f, 0.011648f, - -0.010689f, -0.045196f, -0.027423f, -0.001655f, -0.030011f, -0.034993f, -0.082192f, 0.018081f, 0.014239f, 0.021448f, -0.015714f, -0.005609f, -0.010911f, 0.000594f, -0.025684f, -0.000725f, -0.019563f, 0.022774f, 0.018977f, -0.011734f, -0.015911f, -0.043348f, 0.073059f, -0.022797f, 0.014452f, -0.000025f, 0.004736f, 0.011660f, -0.030155f, 0.036419f, -0.018332f, 0.012450f, 0.008199f, -0.027212f, -0.028008f, -0.005193f, -0.002416f, 0.016917f, 0.077117f, -0.006441f, 0.011503f, 0.002555f, 0.023289f, 0.016545f, 0.017362f, -0.013619f, -0.004018f, 0.006665f, -0.037207f, 0.007572f, -0.031833f, -0.050910f, 0.017788f, 0.001616f, 0.004085f, -0.037273f, -0.089532f, 0.038738f, 0.040515f, 0.027883f, -0.050752f, 0.048369f, 0.051454f, 0.019014f, 0.014970f, 0.000453f, -0.014747f, -0.033838f, 0.025390f, -0.023845f, 0.001608f, 0.000417f, -0.013364f, 0.010217f, -0.024232f, -0.002545f, -0.004679f, 0.012019f, -0.006663f, -0.011201f, -0.015023f, 0.023136f, -0.012610f, -0.005527f, 0.006121f, -0.020815f, 0.011655f, 0.009451f, -0.007107f, -0.007298f, 0.002118f, -0.019339f, 0.017976f, -0.006503f, -0.004724f, -0.001636f, - 0.001625f, 0.013156f, -0.010268f, -0.024451f, 0.007391f, -0.013641f, -0.004100f, -0.013980f, -0.012247f, 0.001885f, -0.009877f, -0.004610f, -0.009190f, 0.031350f, -0.013774f, -0.025523f, 0.004161f, -0.009178f, -0.044161f, -0.088124f, 0.073101f, 0.011742f, 0.012964f, -0.029367f, -0.021147f, -0.093753f, 0.025900f, 0.067023f, 0.020543f, -0.059382f, -0.029716f, 0.009631f, -0.023123f, -0.014681f, 0.027463f, -0.030917f, 0.017252f, 0.015393f, 0.012731f, -0.034416f, 0.012284f, 0.010642f, -0.016156f, -0.032209f, -0.018650f, -0.012404f, -0.008343f, -0.030725f, -0.026502f, -0.014580f, -0.031682f, 0.024972f, -0.011833f, -0.040886f, -0.014126f, 0.025072f, -0.005195f, -0.028353f, -0.015613f, -0.014473f, -0.000107f, -0.022475f, -0.013560f, -0.037239f, -0.035384f, 0.015061f, -0.012592f, 0.046449f, 0.030527f, 0.002983f, 0.027719f, -0.040615f, 0.026255f, -0.038553f, 0.032393f, -0.005556f, 0.016570f, -0.017198f, 0.057564f, -0.014359f, 0.032237f, -0.008254f, 0.047351f, 0.019064f, 0.011523f, -0.048876f, 0.053012f, 0.042428f, 0.018481f, 0.019713f, -0.038116f, -0.007281f, 0.015607f, 0.026043f, -0.006751f, 0.006285f, - -0.042101f, 0.027015f, 0.046195f, -0.001019f, -0.033059f, -0.001931f, -0.021857f, -0.018727f, 0.009058f, -0.000110f, -0.009120f, 0.010672f, -0.024119f, -0.005679f, 0.000946f, 0.006870f, -0.016622f, -0.022848f, 0.008813f, -0.011132f, -0.021542f, -0.038692f, -0.002815f, 0.012006f, -0.003192f, -0.019487f, -0.023455f, -0.007218f, 0.014992f, -0.016163f, 0.006248f, 0.008655f, 0.002493f, 0.006362f, -0.001935f, -0.010400f, -0.008710f, -0.002923f, 0.010868f, 0.003617f, -0.004108f, -0.014526f, 0.019984f, -0.012863f, -0.011146f, -0.009391f, 0.004103f, 0.023138f, -0.015536f, 0.022784f, 0.019360f, -0.007671f, 0.007149f, 0.012134f, -0.061150f, 0.052241f, -0.006013f, 0.025102f, -0.033656f, -0.010837f, -0.008257f, -0.007734f, -0.007721f, 0.030564f, 0.001071f, -0.025209f, 0.020588f, 0.003636f, 0.014921f, 0.025921f, 0.026242f, 0.001490f, -0.022261f, 0.092383f, -0.025068f, 0.071074f, 0.000814f, 0.004373f, -0.039890f, -0.017444f, 0.006977f, 0.034484f, 0.017318f, -0.011031f, 0.028477f, 0.005886f, -0.038462f, 0.006645f, 0.006070f, 0.040117f, -0.001071f, 0.024084f, -0.029039f, 0.000179f, 0.027472f, 0.013623f, - 0.023071f, 0.060190f, 0.048538f, -0.007321f, 0.025411f, -0.003573f, 0.047695f, -0.037685f, 0.032049f, 0.013000f, -0.001164f, 0.028507f, -0.014358f, 0.073701f, -0.012107f, 0.035711f, -0.026136f, -0.023581f, 0.001825f, 0.078504f, 0.026123f, -0.072481f, 0.065074f, -0.001083f, 0.023231f, -0.054575f, 0.019280f, 0.006551f, -0.109101f, 0.046313f, 0.084510f, 0.032456f, -0.034391f, -0.021823f, 0.017660f, 0.083038f, 0.047716f, 0.063368f, -0.022251f, -0.030323f, -0.027265f, 0.013598f, 0.017850f, -0.002490f, -0.030863f, -0.013684f, 0.039898f, 0.007398f, 0.009653f, -0.013105f, 0.018740f, -0.004189f, 0.008923f, -0.007989f, -0.009876f, -0.012165f, 0.024407f, 0.040194f, 0.039207f, 0.009174f, 0.021180f, 0.036988f, 0.024921f, 0.026223f, 0.035755f, 0.020362f, 0.034186f, 0.026002f, 0.009964f, -0.050156f, -0.009145f, -0.023142f, 0.014945f, 0.030132f, -0.033074f, -0.011456f, 0.040624f, 0.022471f, 0.005292f, -0.008691f, 0.034510f, -0.025819f, 0.006872f, 0.035550f, 0.028177f, 0.015941f, 0.019164f, 0.021962f, 0.018473f, 0.021778f, 0.014340f, -0.016643f, -0.008130f, -0.029621f, 0.037875f, 0.005952f, - 0.025289f, -0.020068f, 0.050520f, -0.017438f, 0.023663f, 0.008000f, 0.010681f, 0.007578f, 0.004631f, -0.052437f, -0.030266f, 0.000535f, 0.004989f, 0.036190f, 0.029935f, -0.042735f, 0.004599f, -0.023450f, -0.021277f, 0.010801f, 0.002851f, -0.014505f, 0.017962f, 0.069698f, -0.045869f, -0.003461f, 0.106622f, -0.064569f, 0.007800f, 0.038216f, -0.019333f, -0.015453f, 0.022216f, 0.035323f, -0.038089f, 0.019073f, -0.069226f, -0.007238f, 0.103638f, 0.004783f, 0.029462f, -0.010691f, 0.056697f, 0.057119f, -0.015572f, -0.000699f, -0.026735f, 0.006850f, -0.019741f, -0.050167f, -0.032345f, -0.059909f, -0.044348f, 0.067324f, 0.027024f, 0.020149f, 0.089202f, -0.062847f, -0.037342f, 0.011718f, 0.033437f, -0.024459f, 0.016271f, -0.026218f, 0.049367f, 0.030012f, 0.017081f, 0.036687f, 0.129274f, -0.030162f, -0.010154f, -0.035629f, -0.041680f, -0.002149f, 0.054300f, -0.042051f, -0.005608f, 0.039300f, 0.041459f, 0.049813f, 0.028596f, -0.032642f, 0.008427f, -0.017758f, -0.004088f, 0.029351f, 0.009162f, -0.001763f, 0.021346f, -0.038459f, 0.002482f, 0.001442f, 0.010465f, -0.008030f, -0.010233f, 0.024628f, - -0.008964f, -0.005096f, 0.026181f, 0.034680f, 0.026866f, 0.012742f, 0.011289f, 0.023191f, 0.006457f, 0.002595f, 0.015275f, 0.002436f, -0.009053f, 0.007686f, -0.000432f, -0.001466f, -0.044304f, 0.011609f, 0.028189f, 0.047361f, -0.011071f, -0.012226f, -0.015590f, 0.024582f, 0.026401f, -0.058878f, 0.006821f, -0.025684f, -0.004180f, 0.004304f, 0.003478f, 0.010261f, -0.015158f, -0.031593f, 0.025255f, -0.007889f, 0.058079f, -0.053385f, 0.013110f, -0.004182f, -0.017292f, -0.015793f, -0.007938f, 0.017535f, 0.010756f, 0.011795f, -0.003066f, 0.032290f, 0.005474f, -0.043086f, -0.033882f, -0.005009f, -0.019998f, -0.024943f, 0.005387f, 0.026629f, -0.004003f, -0.006512f, -0.039359f, 0.018908f, -0.006469f, 0.039693f, -0.013811f, -0.077469f, 0.009268f, -0.023245f, -0.011773f, -0.000277f, -0.062669f, -0.033286f, -0.053844f, 0.000566f, -0.004032f, -0.015481f, -0.071222f, -0.029337f, -0.006320f, 0.036757f, 0.041008f, 0.002875f, 0.003058f, 0.019589f, 0.004480f, -0.049303f, 0.042783f, 0.057886f, -0.025368f, 0.008367f, -0.025409f, 0.010075f, -0.000232f, 0.043977f, -0.049909f, -0.036678f, -0.114123f, -0.040965f, - 0.028771f, 0.045499f, 0.032733f, 0.029194f, -0.028090f, -0.009837f, 0.022807f, 0.021336f, 0.049578f, 0.022964f, 0.021222f, 0.037595f, 0.009711f, -0.042538f, -0.044898f, -0.061562f, 0.025580f, -0.039555f, 0.003534f, -0.034762f, -0.052584f, -0.080444f, 0.011465f, -0.023723f, -0.024831f, 0.006522f, 0.007698f, -0.003639f, -0.011336f, 0.001042f, 0.026505f, 0.017641f, 0.006945f, -0.010811f, 0.019247f, 0.042298f, -0.009253f, -0.024131f, -0.019013f, 0.020401f, -0.010943f, -0.010323f, -0.038048f, -0.037756f, -0.028228f, -0.064045f, -0.003198f, -0.000529f, -0.025039f, 0.010515f, 0.017470f, 0.011771f, 0.031935f, 0.007995f, 0.037646f, 0.001699f, 0.010668f, 0.040324f, -0.019586f, -0.001888f, 0.006592f, -0.001113f, -0.028046f, -0.001840f, -0.005005f, 0.048705f, -0.002651f, -0.021357f, 0.016050f, 0.005355f, 0.015063f, 0.030882f, 0.010861f, -0.091335f, 0.038424f, -0.027257f, 0.003480f, 0.064992f, 0.054439f, -0.021529f, -0.009043f, 0.033468f, -0.020776f, -0.021950f, -0.018200f, 0.004486f, -0.006208f, -0.002473f, 0.007844f, -0.007187f, 0.032102f, 0.076284f, -0.032146f, -0.059853f, 0.059799f, -0.046392f, - -0.012424f, 0.000359f, 0.074611f, 0.005667f, -0.022463f, 0.021827f, 0.020865f, -0.078093f, -0.022832f, 0.012730f, -0.002939f, -0.037175f, -0.002700f, 0.014491f, -0.114439f, -0.053167f, 0.056822f, -0.056684f, -0.062805f, -0.039032f, 0.046428f, -0.060366f, -0.094095f, 0.094635f, -0.027828f, -0.059560f, -0.003360f, 0.036827f, -0.036222f, -0.063925f, -0.001491f, 0.028778f, -0.003195f, -0.082180f, 0.019378f, -0.001428f, -0.036595f, 0.085945f, 0.081284f, -0.006381f, -0.032913f, -0.064177f, 0.099082f, 0.013549f, 0.017635f, 0.033950f, -0.024169f, -0.096206f, 0.043412f, 0.073161f, 0.058911f, -0.036570f, 0.021390f, 0.079837f, 0.046694f, -0.055591f, -0.012008f, -0.043652f, 0.019749f, 0.011808f, 0.050613f, 0.049537f, -0.059562f, -0.002261f, -0.006006f, 0.008785f, -0.022983f, 0.023828f, -0.014954f, 0.013727f, 0.012860f, 0.009999f, -0.016549f, 0.012927f, -0.024872f, 0.041494f, -0.020783f, -0.010796f, 0.026863f, 0.022964f, -0.023669f, 0.003695f, -0.010822f, -0.028195f, -0.014569f, 0.011152f, 0.022593f, 0.013411f, -0.022217f, 0.012632f, -0.014087f, -0.035020f, 0.002263f, 0.006149f, -0.005032f, -0.002951f, - 0.024359f, 0.001425f, 0.003243f, 0.011117f, -0.002579f, 0.005958f, -0.036781f, 0.028064f, -0.094545f, 0.010399f, 0.089163f, 0.048533f, 0.012493f, -0.001166f, -0.016111f, 0.023138f, -0.031406f, 0.074000f, -0.005619f, 0.019690f, 0.027386f, -0.025537f, 0.001034f, -0.003279f, -0.028170f, -0.000180f, 0.010750f, 0.041465f, -0.000096f, -0.025856f, 0.012869f, 0.033342f, -0.005473f, 0.052890f, -0.041084f, 0.008503f, 0.012008f, 0.013729f, 0.046002f, -0.025262f, 0.004122f, -0.001843f, -0.059857f, 0.008398f, -0.019515f, -0.032871f, 0.014096f, -0.012592f, 0.047192f, 0.033803f, -0.024618f, -0.053893f, 0.025628f, 0.005048f, 0.010862f, 0.029866f, 0.065476f, -0.011317f, 0.013650f, -0.026730f, 0.037627f, 0.026668f, 0.028160f, -0.031357f, 0.043087f, -0.014953f, -0.018648f, -0.037809f, -0.003248f, -0.015061f, 0.055769f, -0.041681f, 0.003130f, 0.013560f, -0.012555f, -0.025522f, 0.077835f, -0.003596f, 0.018588f, -0.007331f, 0.009516f, -0.006658f, 0.021943f, -0.002910f, -0.009305f, -0.006449f, -0.008166f, 0.025780f, 0.018229f, 0.024256f, 0.013787f, 0.007650f, -0.016563f, 0.017892f, 0.001621f, 0.009878f, - 0.008797f, 0.021801f, -0.002888f, 0.000681f, 0.003741f, 0.006918f, 0.007463f, 0.016219f, -0.013283f, 0.010197f, 0.009199f, 0.007934f, 0.006964f, 0.005471f, 0.016193f, 0.006081f, -0.020716f, 0.012617f, 0.014777f, 0.015128f, 0.006867f, 0.016257f, 0.004749f, -0.001108f, 0.009502f, 0.005236f, 0.012020f, -0.001040f, -0.010178f, 0.002498f, 0.016556f, -0.008351f, 0.007038f, 0.000765f, 0.018010f, 0.015874f, 0.006452f, 0.011130f, 0.016775f, 0.007634f, 0.031216f, -0.082557f, -0.231910f, -0.220492f, 0.095980f, 0.009515f, 0.212197f, 0.449424f, 0.098482f, 0.181207f, 0.096695f, -0.333153f, -0.149078f, -0.224016f, -0.329083f, -0.021933f, 0.038990f, -0.155371f, 0.138290f, 0.235248f, 0.144047f, 0.405030f, 0.248571f, 0.002433f, -0.037388f, -0.143113f, -0.357555f, -0.289546f, -0.124779f, -0.274261f, -0.080923f, 0.157069f, 0.046682f, 0.039891f, 0.370911f, 0.143264f, 0.090370f, 0.343445f, 0.016278f, -0.017158f, 0.158268f, -0.078612f, -0.282986f, -0.136813f, -0.282780f, -0.412862f, -0.045759f, -0.187436f, -0.153194f, 0.132450f, 0.256414f, 0.118850f, 0.453101f, 0.361234f, 0.209325f, 0.274401f, - 0.092888f, -0.134163f, -0.207132f, -0.275856f, -0.442236f, -0.354279f, -0.237915f, -0.202416f, -0.063101f, 0.154263f, 0.233885f, 0.260995f, 0.350430f, 0.295364f, 0.138239f, 0.050588f, 0.075936f, -0.118081f, -0.181491f, -0.128561f, -0.271137f, -0.203703f, -0.035186f, -0.121496f, 0.048261f, 0.198746f, 0.070836f, 0.101556f, 0.144075f, 0.015626f, 0.008547f, -0.034850f, -0.135901f, -0.070838f, 0.001048f, -0.053935f, 0.041829f, 0.057836f, -0.023471f, 0.073265f, 0.062599f, -0.098023f, 0.075084f, 0.088072f, -0.062012f, 0.143354f, 0.021679f, -0.140395f, 0.098332f, -0.076845f, -0.275171f, -0.045089f, -0.167306f, -0.202572f, 0.125142f, 0.016272f, 0.031714f, 0.265082f, 0.168019f, 0.187678f, 0.300700f, 0.221815f, 0.073160f, 0.032155f, -0.209763f, -0.380532f, -0.379311f, -0.379628f, -0.359715f, -0.218777f, 0.011078f, 0.207304f, 0.303293f, 0.416494f, 0.386022f, 0.365580f, 0.287391f, 0.049598f, -0.132378f, -0.144147f, -0.305462f, -0.376969f, -0.227382f, -0.202684f, -0.113476f, 0.022198f, 0.054840f, 0.067222f, 0.130301f, 0.115713f, 0.107666f, 0.153526f, 0.125994f, 0.081849f, 0.070487f, 0.018747f, - -0.041628f, -0.071572f, -0.082518f, -0.085100f, -0.048489f, -0.024579f, -0.017177f, -0.015640f} - }, - { - {-0.009421f, -0.003640f, 0.002164f, -0.001773f, -0.005438f, -0.000423f, 0.012508f, -0.006465f, 0.001437f, -0.002745f, -0.000166f, -0.004825f, 0.008996f, -0.004711f, -0.005012f, -0.005666f, 0.010725f, -0.006423f, -0.001697f, -0.003053f, 0.003001f, 0.004929f, 0.006268f, -0.008908f, -0.000043f, 0.008462f, 0.003738f, 0.001420f, -0.000490f, -0.001096f, 0.003817f, 0.008627f, 0.002070f, -0.011158f, -0.005755f, -0.006020f, 0.009692f, -0.001030f, 0.007391f, -0.004693f, 0.003416f, 0.009682f, -0.004754f, -0.007355f, 0.002583f, -0.002774f, -0.000508f, -0.006585f, -0.002662f, -0.004930f, 0.001844f, -0.008916f, -0.002947f, -0.002308f, -0.000300f, 0.011982f, -0.003938f, -0.001842f, -0.000444f, -0.003185f, -0.001260f, -0.001170f, 0.007261f, 0.003730f, 0.004448f, -0.006286f, 0.004574f, 0.004783f, -0.004270f, 0.001958f, 0.002845f, -0.003252f, -0.004378f, 0.005076f, -0.007669f, 0.005378f, 0.003262f, 0.001399f, -0.007107f, -0.002494f, 0.002641f, -0.000661f, -0.001480f, -0.001948f, -0.000170f, -0.003842f, -0.004427f, -0.000713f, -0.000731f, 0.000499f, -0.001665f, 0.000006f, 0.002621f, -0.000131f, 0.000976f, 0.000342f, - 0.000518f, -0.000004f, -0.000513f, -0.001948f, -0.001154f, 0.001281f, -0.000681f, 0.000034f, -0.000262f, -0.005905f, 0.006242f, 0.000728f, -0.002695f, -0.004031f, -0.001101f, -0.002053f, 0.000007f, -0.004995f, -0.003833f, 0.002817f, -0.000790f, -0.001927f, -0.008715f, -0.001315f, 0.008106f, -0.005478f, -0.001367f, 0.006092f, -0.003522f, -0.006555f, -0.004989f, 0.004148f, 0.000036f, -0.000656f, -0.001257f, -0.006289f, 0.002111f, -0.002812f, -0.001472f, 0.007068f, -0.003900f, -0.009629f, -0.002863f, 0.000510f, 0.002880f, 0.002500f, 0.000826f, -0.007323f, -0.001684f, -0.008916f, -0.008078f, -0.002203f, 0.008466f, -0.001492f, -0.016729f, -0.000781f, 0.005637f, 0.004864f, -0.003452f, 0.003262f, 0.003601f, 0.000306f, 0.004979f, -0.009044f, -0.006377f, -0.000879f, 0.002619f, 0.000380f, 0.001868f, -0.001004f, 0.002362f, 0.002106f, 0.003485f, -0.000560f, 0.002150f, 0.002007f, -0.001679f, 0.003421f, -0.000853f, -0.008826f, -0.007198f, -0.004705f, -0.003711f, -0.003986f, 0.001205f, -0.002041f, 0.006814f, 0.005590f, -0.001038f, -0.002757f, -0.002363f, -0.001301f, 0.002050f, 0.003174f, 0.000410f, -0.001921f, - 0.000348f, 0.000409f, -0.001858f, 0.002378f, 0.000018f, -0.000599f, -0.000928f, -0.000245f, -0.001381f, 0.000927f, -0.000270f, 0.000142f, -0.001599f, 0.000915f, -0.001006f, -0.000031f, 0.000015f, 0.000621f, -0.000264f, -0.000805f, -0.000306f, -0.001549f, -0.000584f, 0.000112f, -0.000739f, 0.000088f, -0.001252f, 0.007653f, 0.004275f, 0.011465f, 0.000755f, -0.002270f, -0.001424f, 0.008107f, -0.002224f, 0.004342f, -0.007447f, -0.000805f, -0.000211f, 0.004248f, 0.002954f, 0.007268f, 0.005115f, -0.003765f, -0.007351f, -0.006013f, 0.004083f, -0.002576f, 0.005583f, 0.003497f, 0.000732f, -0.000387f, 0.004639f, 0.003252f, -0.003401f, 0.003809f, -0.007914f, -0.001127f, -0.007337f, -0.006299f, -0.008827f, 0.002539f, 0.005008f, -0.000966f, 0.006973f, -0.005468f, 0.006459f, -0.013148f, 0.005026f, 0.002199f, 0.009683f, 0.002807f, 0.003469f, 0.005196f, -0.000249f, -0.003382f, 0.003609f, 0.008428f, 0.002866f, 0.004063f, -0.001381f, -0.000187f, -0.012019f, -0.000837f, 0.001897f, 0.002272f, -0.001775f, 0.006365f, 0.012020f, -0.004064f, -0.008672f, 0.005727f, 0.001264f, -0.006175f, -0.000111f, -0.002885f, - -0.006191f, 0.000719f, 0.008646f, 0.002125f, 0.003138f, 0.001417f, -0.000935f, 0.003249f, 0.002023f, -0.000214f, 0.002838f, 0.000135f, -0.000796f, -0.000684f, -0.001644f, 0.001633f, -0.002410f, -0.000345f, 0.004013f, -0.000920f, -0.000101f, 0.001490f, -0.000955f, 0.002694f, -0.003838f, -0.001773f, 0.000054f, -0.001579f, -0.001677f, 0.000358f, -0.000944f, 0.001266f, 0.002941f, -0.001160f, 0.001660f, 0.000394f, 0.000171f, -0.000011f, 0.000408f, -0.003361f, -0.000855f, -0.000802f, 0.000648f, 0.002670f, 0.001608f, 0.004219f, 0.006309f, 0.006069f, -0.005879f, 0.009263f, -0.003297f, -0.006158f, -0.009100f, 0.002109f, -0.012035f, -0.000755f, 0.001249f, 0.003326f, -0.007677f, 0.004957f, -0.000125f, 0.001102f, 0.003212f, 0.001972f, 0.002718f, -0.010361f, -0.000697f, -0.002347f, -0.006760f, 0.003948f, 0.001987f, 0.001550f, 0.005797f, 0.020404f, -0.001506f, 0.001047f, 0.002908f, 0.005041f, 0.001995f, -0.016752f, 0.003478f, -0.002784f, -0.001925f, 0.009173f, 0.000268f, 0.004564f, 0.006616f, -0.008265f, -0.004614f, -0.002385f, -0.008020f, -0.017192f, 0.000810f, -0.006481f, -0.001038f, -0.001499f, - -0.000356f, -0.003986f, -0.008416f, 0.002389f, -0.008053f, -0.002556f, 0.001813f, -0.008975f, 0.009290f, 0.003208f, 0.002640f, -0.003770f, -0.000690f, -0.001468f, 0.001846f, -0.002892f, 0.004769f, -0.007361f, 0.002445f, 0.011197f, 0.009272f, -0.003239f, 0.004715f, -0.004407f, 0.001998f, -0.008346f, -0.000277f, 0.005198f, 0.005992f, 0.005366f, -0.000926f, 0.009988f, 0.000911f, 0.004995f, 0.004456f, -0.000170f, 0.002076f, 0.001094f, 0.000372f, -0.001682f, 0.001002f, 0.001562f, -0.000603f, 0.000184f, -0.001128f, -0.002735f, -0.000430f, 0.001885f, -0.001470f, 0.004036f, -0.001116f, -0.002081f, -0.001785f, 0.001424f, -0.001008f, 0.001774f, -0.000339f, -0.001681f, 0.001008f, -0.000456f, 0.002078f, 0.001281f, 0.001220f, 0.000851f, -0.003608f, -0.000835f, 0.000490f, 0.001564f, 0.000055f, 0.000319f, -0.000967f, 0.013621f, -0.017334f, 0.000707f, -0.010684f, 0.005427f, 0.007842f, 0.009567f, -0.001516f, -0.009141f, 0.000205f, 0.009424f, 0.001988f, 0.001780f, -0.007135f, -0.000980f, -0.012473f, 0.016512f, -0.000906f, -0.012763f, 0.013761f, 0.003425f, 0.004059f, -0.000927f, -0.005002f, -0.001655f, - -0.006597f, -0.006509f, 0.005068f, 0.007202f, -0.001501f, 0.006794f, -0.005651f, -0.003543f, -0.000027f, 0.009493f, 0.008989f, -0.002559f, -0.005108f, 0.007384f, 0.004705f, 0.000666f, 0.006252f, 0.001465f, -0.007401f, 0.007731f, 0.004818f, -0.000612f, -0.002588f, 0.002113f, -0.007975f, 0.021153f, -0.001121f, -0.000787f, 0.015760f, -0.001465f, -0.009680f, -0.005268f, -0.001163f, 0.003817f, -0.010059f, 0.006838f, 0.002052f, 0.000208f, -0.009134f, -0.007708f, -0.016126f, -0.001452f, 0.007492f, 0.003710f, 0.009091f, -0.005079f, -0.003595f, 0.019050f, -0.005319f, 0.003161f, -0.002669f, -0.007934f, 0.000593f, 0.003462f, -0.008268f, -0.014662f, 0.000594f, -0.009052f, -0.009120f, -0.004479f, 0.004737f, 0.000397f, -0.001390f, -0.005624f, -0.001931f, 0.000614f, -0.002107f, -0.001585f, 0.001484f, 0.005184f, 0.000721f, 0.001284f, -0.003702f, -0.001911f, -0.000396f, -0.000063f, -0.005217f, -0.003842f, -0.003317f, -0.000223f, 0.001248f, 0.000482f, -0.001708f, 0.000100f, -0.000344f, -0.000553f, -0.002742f, -0.001028f, -0.000407f, -0.001070f, -0.001441f, -0.018285f, -0.000280f, -0.007736f, -0.008740f, 0.002544f, - -0.010482f, 0.000211f, 0.007035f, 0.003793f, 0.014827f, -0.024950f, 0.015886f, -0.002733f, 0.006900f, -0.004850f, -0.003645f, -0.013154f, 0.011555f, 0.010180f, 0.002498f, -0.011704f, -0.000724f, -0.006808f, -0.000887f, 0.012005f, 0.008336f, 0.001764f, 0.011441f, -0.000256f, 0.000508f, 0.001039f, -0.000487f, -0.008158f, 0.017147f, -0.001821f, 0.000076f, 0.019929f, -0.013004f, 0.004695f, -0.006247f, -0.001396f, 0.006243f, -0.002828f, -0.010276f, 0.019179f, 0.014940f, -0.000635f, 0.004793f, 0.007986f, 0.020734f, -0.002789f, -0.003837f, -0.011388f, 0.001896f, 0.003865f, -0.012038f, -0.012839f, -0.011298f, 0.013360f, 0.000227f, -0.005603f, 0.009157f, 0.006487f, 0.000041f, -0.003277f, 0.002930f, -0.007340f, -0.001931f, -0.007979f, -0.001851f, 0.007397f, -0.014675f, 0.003394f, -0.003136f, -0.010177f, 0.006131f, 0.009680f, 0.004095f, 0.010083f, 0.008731f, -0.007494f, -0.011965f, -0.005991f, 0.005194f, -0.004737f, -0.009207f, 0.005906f, 0.009964f, -0.007303f, 0.001204f, 0.002110f, 0.001084f, -0.006821f, 0.003931f, -0.003048f, -0.002428f, -0.004383f, -0.002311f, -0.003434f, -0.000364f, -0.000397f, - 0.001295f, 0.002090f, -0.001745f, -0.001505f, -0.000685f, -0.002727f, -0.001599f, -0.000744f, -0.001097f, 0.002143f, 0.002688f, 0.000685f, 0.003964f, -0.003684f, 0.002677f, -0.003197f, -0.001455f, 0.002743f, 0.013691f, 0.014527f, 0.002408f, -0.012518f, -0.001722f, -0.011889f, 0.004959f, 0.031282f, 0.007722f, 0.021677f, 0.007965f, 0.000278f, -0.020218f, -0.004963f, 0.003332f, 0.019581f, -0.008656f, -0.004306f, -0.007539f, 0.001884f, 0.015738f, -0.011512f, 0.007706f, 0.013626f, 0.003029f, 0.005020f, -0.008910f, 0.016837f, -0.003604f, 0.021926f, -0.000205f, -0.006693f, -0.020567f, 0.002530f, 0.000077f, 0.024541f, -0.007402f, -0.001990f, 0.015558f, 0.000125f, 0.002061f, -0.005047f, -0.016083f, 0.001735f, 0.009264f, -0.011539f, -0.009107f, 0.002417f, -0.019288f, 0.010597f, 0.010708f, -0.003242f, -0.001254f, 0.005453f, 0.010921f, -0.000914f, -0.006721f, -0.000244f, 0.016037f, -0.002037f, -0.002466f, -0.006054f, 0.020762f, 0.021034f, 0.001422f, -0.003802f, 0.003276f, -0.000887f, 0.005480f, 0.009727f, -0.000804f, 0.014045f, -0.005468f, -0.007787f, -0.011362f, 0.003851f, -0.000933f, -0.017272f, - -0.012467f, -0.007166f, 0.013587f, -0.003968f, -0.006365f, -0.001746f, 0.000002f, -0.005855f, -0.008856f, -0.003103f, -0.002599f, -0.005280f, 0.000862f, -0.003310f, -0.002915f, 0.002793f, -0.005629f, -0.005795f, 0.001819f, 0.004654f, -0.002808f, -0.003732f, -0.002832f, -0.004868f, -0.002342f, 0.001519f, -0.001690f, 0.000838f, 0.002561f, -0.000855f, -0.001450f, -0.004294f, 0.002647f, 0.000373f, -0.013795f, 0.013986f, 0.010641f, 0.000824f, -0.009152f, -0.010277f, -0.004473f, -0.020417f, 0.023713f, 0.017838f, -0.003823f, 0.006612f, 0.002140f, -0.003896f, 0.017980f, -0.001442f, -0.008362f, 0.026617f, -0.028841f, 0.007450f, 0.012424f, -0.000099f, -0.011796f, 0.012686f, 0.001959f, 0.018343f, -0.007099f, -0.001971f, 0.004887f, 0.007329f, 0.001236f, -0.002507f, 0.026683f, 0.011513f, -0.012204f, -0.018424f, 0.012814f, -0.018432f, -0.005355f, -0.021221f, -0.002756f, 0.031772f, 0.012992f, 0.015360f, 0.000105f, -0.016856f, -0.002813f, -0.008236f, -0.003670f, 0.023762f, -0.003710f, -0.026186f, -0.002122f, 0.005140f, -0.016668f, -0.002764f, 0.010736f, 0.008455f, -0.011207f, -0.005850f, 0.011467f, 0.015188f, - -0.004422f, 0.015822f, 0.000274f, 0.003979f, 0.005913f, 0.001342f, 0.006208f, 0.009492f, 0.009177f, 0.008939f, -0.004711f, -0.018998f, -0.020997f, 0.005235f, -0.004226f, 0.015009f, -0.002696f, 0.017813f, 0.006019f, 0.008287f, -0.009496f, -0.008466f, 0.006340f, -0.000328f, 0.001291f, 0.001664f, 0.000782f, -0.008516f, -0.003912f, -0.001318f, -0.007084f, -0.000208f, -0.006087f, 0.001095f, -0.003442f, 0.002625f, -0.000866f, 0.004547f, -0.000010f, 0.002489f, 0.000794f, -0.002286f, -0.002001f, -0.002739f, 0.005623f, 0.000648f, -0.001673f, 0.001790f, 0.002904f, 0.002435f, 0.000543f, -0.004166f, -0.011653f, -0.006601f, 0.000041f, -0.005635f, -0.000143f, 0.011528f, -0.001635f, 0.010743f, -0.021942f, 0.007657f, 0.006041f, 0.003047f, -0.014422f, -0.012093f, -0.015352f, 0.011694f, 0.006013f, -0.011018f, -0.010993f, 0.014740f, 0.004692f, -0.001352f, -0.009277f, -0.015236f, -0.006305f, 0.005968f, -0.009806f, 0.000986f, -0.018254f, -0.005234f, 0.001958f, 0.006031f, 0.011667f, -0.002080f, 0.007386f, 0.010131f, -0.010674f, -0.025332f, 0.017146f, 0.000617f, -0.004170f, 0.016303f, -0.002727f, 0.000475f, - -0.011292f, 0.014304f, -0.009444f, -0.011945f, -0.004786f, 0.011693f, 0.017834f, 0.014958f, 0.004514f, 0.002866f, -0.032013f, 0.014273f, -0.002133f, 0.005895f, -0.011196f, -0.002266f, -0.012506f, -0.004461f, -0.003224f, -0.016534f, -0.008443f, -0.006887f, -0.009159f, 0.016755f, -0.005663f, 0.021848f, -0.002843f, -0.001428f, 0.013615f, 0.015582f, 0.026365f, 0.018038f, -0.000578f, -0.008803f, -0.001221f, -0.000146f, -0.012958f, 0.003035f, -0.008442f, -0.014167f, 0.026953f, -0.017435f, -0.018537f, -0.002839f, 0.009999f, 0.001322f, 0.003066f, 0.001180f, 0.011287f, -0.000326f, 0.003033f, 0.003917f, -0.004521f, 0.000534f, 0.006911f, -0.004034f, 0.002796f, 0.004927f, 0.004029f, 0.008659f, 0.001879f, 0.000038f, 0.004737f, 0.000765f, -0.001710f, 0.003161f, 0.004909f, 0.001891f, -0.000069f, 0.001454f, 0.000743f, 0.010068f, 0.000768f, 0.008185f, 0.005441f, 0.001180f, 0.008615f, 0.009450f, 0.000913f, -0.000319f, 0.001247f, 0.001273f, 0.001125f, -0.000859f, -0.001164f, 0.002369f, -0.005937f, -0.008508f, -0.033827f, 0.007503f, -0.023276f, -0.013925f, 0.022040f, 0.017148f, -0.038626f, -0.035410f, - 0.001205f, 0.015133f, -0.008979f, 0.009345f, -0.012747f, -0.001418f, -0.022424f, -0.005847f, -0.020244f, -0.001438f, -0.005540f, 0.000660f, 0.007780f, 0.006388f, 0.012606f, -0.001554f, -0.010752f, 0.009353f, -0.012823f, -0.005130f, 0.004112f, 0.000821f, 0.006532f, 0.013388f, -0.002166f, 0.001696f, 0.003074f, -0.005422f, -0.001425f, -0.019593f, -0.023219f, -0.022468f, 0.000017f, -0.022603f, 0.007570f, 0.002977f, -0.008941f, -0.010515f, -0.004531f, -0.003764f, -0.001952f, -0.013462f, -0.021268f, -0.001213f, 0.033739f, 0.018590f, -0.004773f, -0.020176f, -0.020840f, 0.023280f, -0.021887f, -0.007234f, -0.003911f, -0.014618f, -0.011097f, -0.014901f, -0.017437f, -0.024251f, -0.032801f, -0.004737f, -0.005310f, -0.004691f, 0.010955f, 0.010365f, 0.002692f, 0.009078f, -0.007472f, -0.009134f, 0.030272f, 0.012794f, -0.008126f, -0.022383f, 0.006890f, -0.013264f, -0.015733f, -0.000103f, 0.025375f, -0.005103f, -0.000269f, 0.017436f, -0.002031f, -0.011714f, 0.000432f, 0.004110f, -0.000426f, -0.004832f, -0.004673f, -0.000191f, 0.004225f, 0.002035f, 0.002795f, 0.001701f, 0.008615f, -0.002617f, 0.004594f, -0.012614f, - 0.005721f, 0.002976f, -0.002339f, 0.002600f, -0.002724f, 0.004554f, -0.002361f, -0.003719f, -0.002197f, 0.004131f, 0.003534f, 0.000417f, 0.004761f, -0.007184f, 0.007038f, -0.003613f, -0.004401f, 0.002159f, -0.027850f, 0.003107f, 0.013933f, 0.015142f, 0.014035f, 0.005884f, 0.027753f, -0.011068f, -0.020343f, -0.005384f, 0.003486f, -0.004189f, 0.008771f, 0.018437f, 0.037309f, 0.023433f, 0.013625f, 0.017332f, -0.014526f, -0.027700f, -0.009571f, -0.020775f, 0.023356f, 0.005215f, -0.005061f, -0.016874f, 0.026515f, 0.022770f, -0.008591f, -0.001805f, -0.000237f, -0.013914f, -0.011636f, -0.020875f, 0.006039f, 0.007034f, 0.011689f, -0.019746f, 0.001665f, 0.005474f, -0.009063f, -0.019192f, 0.000430f, 0.010957f, 0.014514f, 0.002348f, -0.037455f, -0.013468f, -0.018551f, 0.007509f, 0.022108f, -0.000150f, -0.021083f, 0.004853f, -0.020357f, 0.011063f, -0.005055f, 0.001653f, -0.014484f, 0.029962f, 0.023622f, -0.007595f, -0.007113f, -0.017517f, -0.001323f, 0.023921f, 0.005384f, 0.029430f, 0.028368f, 0.023622f, 0.013831f, 0.004730f, -0.019177f, -0.010755f, -0.025470f, 0.029099f, 0.029256f, -0.002489f, - -0.022510f, 0.014278f, 0.034011f, -0.000547f, 0.004240f, -0.008363f, -0.000889f, -0.022514f, 0.003483f, -0.017779f, 0.012042f, 0.004153f, 0.016975f, 0.016867f, 0.009147f, 0.001313f, 0.001451f, 0.010396f, 0.003786f, -0.002548f, -0.006959f, -0.002353f, -0.010587f, 0.001751f, 0.008135f, -0.007025f, -0.003954f, -0.008026f, 0.005733f, -0.001873f, 0.012294f, -0.011785f, 0.003119f, -0.000478f, 0.011709f, -0.005759f, 0.003863f, 0.007049f, 0.001275f, -0.000456f, 0.000416f, 0.002012f, -0.005404f, -0.002234f, 0.007017f, -0.018405f, -0.004592f, 0.013541f, 0.023575f, -0.024650f, -0.029938f, -0.025869f, 0.028522f, -0.011803f, 0.019078f, -0.000281f, 0.000346f, 0.045849f, -0.005491f, 0.003373f, -0.020253f, -0.031638f, 0.007946f, -0.004724f, 0.008586f, 0.005559f, -0.002480f, -0.018105f, 0.005184f, 0.006757f, 0.003239f, -0.017095f, 0.011384f, 0.008229f, 0.033514f, -0.015429f, 0.002363f, 0.018274f, 0.018771f, 0.000722f, 0.018955f, -0.004771f, 0.000831f, 0.016866f, 0.014330f, 0.003818f, -0.007288f, -0.026919f, -0.020338f, 0.015794f, -0.000368f, -0.006162f, -0.005275f, 0.004007f, 0.036225f, -0.002229f, - -0.012558f, 0.018413f, -0.008807f, 0.017404f, 0.004252f, 0.052161f, -0.010179f, -0.001676f, -0.000090f, 0.007757f, 0.017846f, -0.003473f, -0.006043f, 0.011605f, -0.024448f, 0.019970f, 0.036733f, 0.010881f, -0.007674f, 0.020492f, -0.007784f, -0.001077f, 0.041549f, -0.023979f, 0.009218f, 0.016319f, -0.006947f, 0.034594f, 0.008313f, 0.007434f, -0.013257f, -0.019909f, 0.003570f, 0.009058f, -0.021347f, 0.021752f, 0.000002f, 0.005508f, 0.000145f, 0.006350f, 0.020083f, -0.004551f, 0.020264f, 0.009612f, 0.006697f, 0.011292f, 0.010089f, -0.005877f, 0.012790f, 0.011890f, -0.010387f, 0.003944f, 0.008815f, 0.016209f, 0.003866f, 0.004677f, 0.008118f, 0.009494f, 0.014432f, 0.001479f, 0.000518f, -0.000856f, 0.009891f, 0.008369f, -0.009046f, -0.000137f, 0.006554f, 0.009222f, 0.007266f, -0.005403f, 0.013758f, -0.000371f, 0.004793f, 0.001697f, 0.011370f, 0.005791f, 0.005324f, 0.005445f, 0.007883f, 0.004435f, 0.005257f, 0.009086f, -0.026021f, -0.007411f, 0.017929f, -0.008595f, -0.013547f, -0.012083f, -0.012398f, 0.002318f, 0.018032f, -0.002204f, -0.039792f, 0.000111f, -0.030215f, 0.011872f, - 0.013117f, 0.000340f, 0.006249f, -0.013237f, -0.001614f, 0.016199f, -0.038101f, 0.009810f, -0.008238f, 0.021414f, 0.014869f, 0.009684f, 0.001783f, -0.015134f, -0.034372f, -0.001739f, -0.030024f, 0.018734f, 0.000380f, -0.009009f, 0.031880f, 0.016565f, -0.012526f, -0.009951f, -0.006469f, -0.004745f, -0.008724f, -0.017005f, 0.003237f, 0.005003f, 0.046066f, -0.001453f, -0.032672f, 0.000073f, 0.022591f, 0.001746f, -0.016738f, 0.010760f, -0.025333f, 0.017123f, -0.010605f, 0.011375f, -0.014677f, 0.006949f, -0.025909f, 0.068759f, 0.002772f, 0.047529f, -0.004417f, -0.012931f, 0.012497f, -0.015235f, -0.014862f, 0.026514f, 0.025896f, -0.022461f, -0.059576f, 0.056952f, -0.019779f, -0.015534f, -0.007294f, -0.007928f, 0.007711f, -0.005178f, 0.004584f, 0.024565f, 0.006047f, -0.019782f, -0.015862f, -0.011972f, 0.007493f, -0.012517f, -0.001662f, 0.011441f, -0.030857f, -0.002637f, 0.002110f, -0.004831f, -0.008970f, 0.003509f, -0.006323f, 0.016929f, -0.006583f, 0.007544f, -0.007457f, -0.005486f, 0.000507f, -0.007848f, 0.004650f, 0.004028f, -0.003164f, 0.004263f, -0.007142f, 0.003541f, -0.001829f, -0.000549f, - -0.003168f, 0.000097f, -0.012880f, -0.009488f, -0.001765f, -0.005287f, -0.010532f, -0.014061f, -0.007832f, -0.003433f, -0.005547f, -0.001197f, -0.009342f, -0.000011f, -0.008292f, -0.002413f, -0.010825f, 0.005849f, -0.005989f, -0.003353f, -0.029334f, -0.010415f, -0.008925f, -0.025221f, -0.044416f, -0.010962f, 0.000697f, -0.023590f, 0.011530f, -0.010094f, 0.019737f, -0.017021f, -0.007130f, -0.024252f, 0.057791f, 0.048893f, -0.010987f, 0.010903f, 0.033570f, -0.035318f, 0.035794f, -0.014899f, -0.014943f, 0.012905f, 0.004710f, 0.006118f, -0.005287f, -0.007788f, 0.000990f, 0.011590f, 0.009996f, -0.015705f, 0.017971f, -0.016924f, -0.028171f, 0.020424f, 0.017960f, -0.023451f, -0.029147f, -0.033678f, -0.004953f, -0.005584f, 0.009405f, -0.021996f, -0.027573f, -0.014079f, 0.046097f, 0.016135f, 0.015670f, -0.019760f, 0.017769f, 0.024267f, -0.018965f, 0.045305f, 0.008389f, -0.016215f, -0.021271f, 0.012125f, -0.017871f, -0.038748f, 0.009409f, -0.000443f, 0.000840f, 0.021179f, 0.019694f, -0.017029f, 0.003204f, -0.049658f, -0.006204f, -0.019585f, 0.041062f, 0.002453f, 0.005759f, -0.023952f, 0.019402f, -0.042186f, - -0.005168f, 0.016504f, 0.004717f, -0.004587f, -0.004857f, 0.005114f, -0.001992f, 0.004759f, -0.006354f, 0.001186f, 0.003456f, 0.010037f, 0.002447f, 0.003200f, -0.002338f, 0.005959f, -0.006235f, 0.001917f, 0.018681f, -0.003680f, 0.000797f, -0.005991f, 0.008298f, 0.003887f, -0.001045f, 0.009808f, -0.010365f, -0.009795f, 0.010596f, -0.008935f, -0.003365f, -0.008185f, 0.004461f, -0.011972f, -0.005453f, -0.003898f, 0.009568f, 0.009651f, -0.015452f, 0.002432f, 0.007828f, -0.005289f, -0.017420f, -0.008382f, 0.012815f, -0.008401f, -0.021484f, 0.027221f, 0.028683f, 0.025957f, 0.017509f, -0.000223f, 0.023774f, 0.021559f, 0.003605f, -0.004082f, 0.009580f, 0.000064f, -0.024241f, -0.002885f, 0.009203f, -0.018952f, 0.027068f, -0.028223f, 0.022601f, 0.024615f, -0.007082f, -0.005552f, 0.010434f, 0.032845f, 0.024605f, -0.029683f, -0.006481f, -0.007943f, -0.002369f, 0.007421f, -0.013849f, -0.014499f, 0.032220f, 0.000810f, 0.046271f, -0.030216f, -0.028662f, 0.023299f, -0.015437f, 0.008406f, -0.018163f, 0.015557f, 0.017749f, 0.011721f, -0.007253f, -0.026546f, 0.002627f, 0.008841f, -0.022086f, -0.040558f, - -0.001403f, 0.003712f, -0.023949f, 0.043846f, -0.005004f, -0.012406f, 0.058230f, 0.054867f, 0.005475f, -0.007601f, -0.002048f, -0.011682f, 0.013201f, -0.028737f, 0.026956f, 0.003592f, -0.015646f, 0.032599f, 0.005223f, 0.006632f, -0.009296f, -0.017656f, -0.043738f, 0.009632f, -0.014900f, -0.007179f, 0.020170f, 0.008211f, -0.009605f, -0.028551f, -0.007909f, -0.032517f, 0.013903f, 0.029315f, -0.004142f, -0.022082f, -0.015470f, -0.022020f, 0.000243f, 0.011922f, 0.014230f, -0.002976f, -0.015626f, -0.008099f, -0.008529f, 0.002089f, -0.004739f, -0.007460f, 0.006279f, -0.001149f, -0.004622f, 0.007735f, -0.017664f, 0.005073f, 0.004555f, 0.027318f, 0.002466f, -0.006031f, -0.013979f, 0.012058f, -0.014604f, -0.001891f, 0.010205f, -0.019375f, 0.018066f, 0.003881f, -0.000786f, 0.003718f, 0.012214f, -0.006154f, -0.019168f, 0.000466f, -0.005703f, -0.002412f, 0.018407f, 0.017561f, -0.048063f, -0.111317f, 0.037306f, 0.035348f, -0.012452f, 0.007888f, -0.026807f, 0.048030f, 0.030714f, -0.027236f, 0.007755f, 0.006532f, 0.000685f, -0.012258f, -0.008838f, -0.057411f, 0.024278f, 0.028341f, -0.006554f, -0.000018f, - -0.003224f, 0.019073f, -0.014400f, 0.036400f, 0.010783f, -0.043265f, -0.024525f, 0.054946f, 0.036065f, -0.035805f, -0.008430f, -0.012725f, -0.021934f, 0.003429f, -0.008765f, 0.007842f, 0.071374f, 0.019467f, 0.074783f, 0.042735f, 0.048192f, 0.043940f, 0.086136f, -0.005638f, -0.008003f, 0.020622f, -0.006094f, -0.072242f, 0.058576f, -0.025363f, 0.033588f, -0.047745f, -0.037990f, -0.071320f, 0.014163f, -0.006547f, -0.023957f, 0.017431f, -0.033540f, 0.000153f, -0.047912f, -0.047821f, 0.013417f, 0.027975f, -0.038886f, -0.010284f, -0.026963f, -0.037402f, -0.042039f, -0.030167f, 0.022985f, -0.018207f, -0.052485f, 0.075409f, 0.047230f, 0.076032f, -0.009926f, -0.016327f, -0.015133f, -0.026786f, -0.043111f, -0.002723f, -0.009479f, -0.032584f, -0.010893f, 0.009635f, -0.023112f, -0.020802f, 0.002405f, -0.003378f, -0.010302f, -0.008414f, 0.018751f, 0.020021f, 0.000628f, 0.005085f, 0.014209f, 0.017852f, 0.003623f, -0.001448f, -0.002742f, 0.008423f, -0.003568f, 0.002145f, -0.003282f, -0.012481f, -0.000339f, 0.011882f, -0.012313f, 0.016213f, 0.020414f, 0.008681f, 0.000665f, 0.003393f, 0.002155f, -0.013555f, - 0.001121f, 0.007815f, -0.007005f, 0.000166f, -0.003202f, 0.002295f, -0.004857f, 0.001881f, 0.007594f, -0.010360f, -0.008879f, 0.016502f, 0.006703f, -0.002003f, 0.002506f, -0.040194f, -0.105936f, 0.046359f, 0.055310f, -0.024550f, -0.010507f, -0.002420f, 0.062589f, 0.002350f, 0.013648f, 0.013480f, -0.014305f, 0.012720f, 0.029335f, -0.005465f, -0.027556f, 0.007301f, 0.053283f, -0.027712f, -0.017223f, 0.011952f, -0.007060f, 0.039988f, -0.009592f, 0.018220f, -0.020097f, -0.024186f, -0.024174f, 0.026334f, -0.007493f, 0.023417f, 0.027223f, -0.006596f, 0.003874f, 0.000516f, -0.021638f, 0.007634f, -0.019598f, 0.023879f, 0.057955f, 0.095000f, -0.000850f, -0.002349f, -0.039752f, 0.022008f, 0.031298f, -0.000582f, 0.035109f, 0.050095f, 0.021242f, 0.028637f, -0.043319f, -0.025852f, 0.036573f, 0.094921f, -0.017009f, -0.055164f, 0.014461f, -0.018103f, -0.000691f, 0.025991f, 0.000791f, -0.024970f, -0.011803f, -0.012718f, -0.064016f, -0.026534f, 0.000724f, 0.011023f, 0.022736f, -0.003342f, -0.024435f, -0.013895f, 0.006366f, -0.009676f, -0.024544f, 0.025948f, 0.062176f, 0.027125f, 0.033626f, 0.003767f, - -0.008158f, -0.049977f, -0.010842f, 0.014648f, 0.011420f, -0.010920f, 0.028837f, -0.007722f, 0.016261f, -0.034877f, 0.002324f, -0.011797f, -0.009861f, 0.000689f, 0.010058f, 0.009936f, -0.009664f, -0.018815f, 0.018823f, -0.006918f, 0.015512f, 0.001719f, -0.003579f, 0.001608f, 0.003538f, 0.014454f, 0.000733f, -0.001887f, -0.007032f, -0.007726f, 0.012403f, 0.004376f, 0.011450f, -0.023620f, 0.016945f, 0.009999f, 0.004797f, -0.008336f, -0.002924f, 0.017764f, -0.001844f, 0.001039f, -0.013169f, 0.001608f, -0.020340f, -0.003997f, 0.006207f, 0.017805f, 0.008907f, 0.015771f, 0.033747f, 0.011213f, 0.017682f, 0.006927f, 0.050864f, -0.016044f, -0.006405f, -0.019996f, 0.011777f, -0.012417f, 0.011158f, 0.057739f, 0.011364f, -0.061162f, -0.014974f, -0.017835f, -0.052385f, 0.033266f, 0.015643f, -0.006045f, 0.007325f, 0.003279f, -0.023574f, -0.000195f, -0.001754f, -0.023308f, -0.007093f, 0.050417f, 0.073969f, 0.034976f, -0.025939f, -0.040803f, 0.019149f, 0.033884f, 0.003650f, 0.027118f, -0.018994f, -0.013018f, 0.027668f, 0.008836f, 0.000233f, -0.062117f, -0.081220f, -0.002567f, -0.047576f, -0.027464f, - 0.016772f, 0.067883f, 0.014513f, 0.003435f, -0.019852f, -0.023391f, -0.034193f, -0.029817f, 0.005356f, 0.020536f, -0.007475f, -0.033603f, -0.054468f, 0.021644f, 0.001190f, -0.030107f, -0.050804f, -0.034141f, -0.055905f, -0.100330f, -0.060871f, -0.008954f, -0.012295f, 0.120853f, -0.015043f, -0.004429f, 0.069279f, 0.008262f, 0.003625f, 0.041955f, -0.025278f, -0.060953f, -0.071296f, -0.010906f, -0.034316f, -0.037517f, -0.040342f, -0.043662f, 0.008230f, 0.039685f, 0.062484f, 0.037472f, 0.007365f, 0.004227f, -0.016504f, 0.032575f, 0.006325f, -0.009683f, -0.040883f, 0.008517f, 0.029108f, -0.001260f, -0.000501f, -0.014367f, 0.007744f, 0.016548f, 0.026560f, 0.007803f, 0.011055f, 0.010550f, 0.013073f, 0.016955f, 0.017032f, -0.004686f, 0.012852f, 0.002952f, -0.009732f, -0.020955f, -0.025743f, 0.002827f, 0.005623f, -0.024987f, -0.012796f, -0.024011f, 0.007519f, 0.012810f, 0.018875f, 0.028615f, 0.047354f, 0.035877f, 0.036005f, 0.022014f, 0.013783f, -0.008374f, 0.003419f, 0.000548f, -0.022727f, -0.033912f, -0.026232f, -0.028889f, 0.038115f, -0.054196f, 0.013627f, 0.008554f, -0.023631f, -0.075983f, - 0.051614f, 0.015293f, -0.004935f, -0.076935f, 0.020408f, 0.011889f, -0.040657f, 0.006747f, 0.035560f, 0.021847f, 0.010313f, -0.034849f, -0.007156f, -0.013032f, 0.006073f, -0.013145f, 0.003159f, -0.027000f, -0.038850f, 0.042504f, -0.029448f, 0.064612f, -0.039953f, -0.036158f, -0.024541f, -0.045445f, 0.003921f, -0.000911f, 0.067837f, -0.050357f, -0.053144f, 0.027324f, 0.017408f, -0.043971f, -0.058508f, -0.006520f, -0.033006f, 0.037824f, 0.007978f, -0.048412f, 0.031314f, -0.008302f, -0.074454f, 0.048785f, -0.033262f, 0.031828f, -0.055424f, -0.013586f, -0.001639f, -0.023312f, -0.009640f, 0.006327f, 0.069738f, -0.018899f, -0.006643f, -0.020125f, 0.019839f, -0.033107f, 0.025748f, 0.054529f, -0.003468f, 0.054828f, 0.042985f, -0.006604f, 0.087845f, -0.005203f, 0.010051f, -0.002637f, 0.024710f, 0.088627f, -0.007414f, -0.024574f, -0.094917f, 0.073382f, 0.026069f, 0.062647f, 0.021213f, -0.049287f, 0.021796f, 0.014043f, 0.008907f, -0.043760f, 0.024861f, 0.005093f, 0.007085f, -0.023534f, -0.006986f, 0.029920f, 0.025514f, 0.001115f, -0.003219f, -0.003076f, -0.003573f, 0.007315f, 0.018662f, -0.038432f, - -0.011474f, -0.005334f, 0.006004f, -0.007868f, 0.008405f, 0.008271f, 0.011988f, -0.008982f, -0.020549f, 0.031708f, 0.049524f, 0.017380f, -0.025598f, -0.021880f, -0.009539f, -0.007463f, 0.013321f, 0.006754f, -0.005089f, -0.031364f, -0.022582f, -0.025412f, -0.002604f, 0.024352f, 0.010591f, 0.020532f, 0.007739f, -0.034203f, -0.006237f, 0.014954f, 0.052035f, -0.100297f, 0.003839f, -0.112879f, -0.037826f, -0.019176f, 0.034354f, 0.104233f, 0.088592f, 0.032630f, 0.052304f, -0.033992f, -0.028640f, 0.005038f, -0.007691f, 0.024122f, 0.007643f, -0.023575f, 0.034964f, 0.051481f, 0.042786f, 0.031974f, 0.027035f, -0.000898f, 0.004814f, -0.017541f, 0.048722f, 0.022725f, -0.009343f, -0.030078f, 0.010038f, 0.019966f, -0.005333f, 0.063742f, 0.066598f, -0.038570f, -0.028512f, 0.001377f, 0.051732f, 0.032217f, 0.008272f, 0.006292f, -0.012389f, -0.023394f, 0.012866f, 0.079507f, -0.032254f, -0.039456f, -0.042897f, 0.041504f, 0.016953f, -0.023936f, -0.037109f, -0.059506f, -0.070399f, 0.007631f, 0.015385f, 0.012604f, -0.015558f, -0.005306f, -0.019399f, 0.013780f, -0.056165f, -0.092327f, -0.041613f, -0.006545f, - -0.015728f, -0.036136f, 0.046097f, 0.076982f, -0.017400f, 0.039647f, 0.085087f, 0.055403f, 0.019671f, -0.058868f, 0.009434f, 0.010411f, -0.052015f, -0.028881f, -0.008367f, -0.041523f, 0.045086f, 0.064175f, -0.003958f, -0.015019f, -0.008052f, -0.018949f, -0.010574f, -0.026466f, -0.025879f, -0.009669f, -0.012914f, 0.009060f, -0.005892f, -0.007334f, 0.012543f, -0.039251f, -0.004870f, 0.002991f, 0.039506f, -0.040806f, -0.006752f, -0.009477f, 0.007373f, -0.026074f, -0.009235f, 0.007650f, -0.014303f, -0.024131f, -0.004091f, -0.002080f, -0.023590f, 0.027315f, -0.037959f, -0.004519f, -0.014121f, 0.008123f, -0.004195f, -0.011394f, -0.022256f, 0.000444f, 0.010883f, -0.008151f, -0.063885f, 0.051322f, -0.006639f, 0.044078f, 0.026700f, 0.000908f, 0.029202f, -0.012970f, -0.003394f, 0.025120f, 0.030831f, 0.004649f, 0.000060f, -0.001135f, -0.028258f, -0.018415f, 0.007433f, -0.039376f, 0.000962f, -0.014881f, 0.000861f, -0.033408f, 0.005582f, 0.001728f, -0.030374f, 0.025157f, 0.010664f, 0.016984f, -0.038120f, -0.010400f, 0.007083f, -0.002128f, 0.002666f, 0.021679f, 0.004742f, 0.005971f, -0.004451f, -0.008572f, - -0.006039f, -0.003264f, 0.014001f, -0.006518f, -0.024363f, 0.019523f, -0.033470f, -0.010634f, -0.011532f, 0.003855f, -0.016420f, -0.019521f, 0.025353f, -0.003394f, -0.025575f, 0.015434f, -0.035638f, 0.028339f, 0.008797f, 0.001186f, 0.029282f, 0.032505f, 0.004473f, 0.009148f, -0.024587f, 0.031522f, -0.015566f, -0.021840f, -0.001929f, 0.004522f, 0.059840f, -0.027084f, -0.044289f, 0.037730f, -0.014473f, 0.037698f, -0.006462f, 0.002315f, -0.016607f, 0.022763f, -0.038487f, -0.032063f, -0.012669f, 0.014889f, 0.008957f, -0.002506f, 0.018384f, -0.023042f, -0.023171f, -0.015547f, 0.005437f, 0.006509f, 0.001339f, -0.001178f, -0.007025f, 0.003783f, -0.031944f, 0.006279f, 0.006490f, -0.007887f, -0.002974f, 0.009437f, -0.005136f, -0.013834f, 0.016496f, -0.008435f, 0.002032f, -0.000897f, -0.004189f, 0.010946f, 0.004818f, -0.011774f, -0.001327f, -0.002952f, -0.010350f, -0.002433f, -0.003828f, -0.021460f, 0.006497f, 0.012782f, 0.010391f, -0.009856f, 0.009707f, -0.015716f, -0.004822f, 0.000179f, -0.010018f, 0.030774f, -0.014270f, -0.166692f, -0.317489f, -0.113289f, -0.248692f, -0.283326f, 0.068826f, -0.010014f, - 0.094466f, 0.366242f, 0.397099f, 0.280270f, 0.399931f, 0.328631f, 0.108751f, 0.114785f, 0.084777f, -0.221463f, -0.228067f, -0.127080f, -0.221404f, -0.239263f, -0.080504f, -0.070878f, -0.201791f, -0.152136f, -0.025141f, -0.090342f, -0.110420f, -0.027810f, -0.084638f, -0.149264f, -0.085261f, 0.027200f, -0.060233f, -0.074075f, 0.086856f, -0.015380f, -0.083294f, 0.074856f, 0.139027f, -0.032835f, 0.034327f, 0.215801f, 0.029232f, -0.069910f, 0.142989f, 0.124882f, -0.124947f, 0.070688f, 0.157642f, -0.049884f, 0.016706f, 0.273630f, 0.208587f, 0.104851f, 0.384484f, 0.428196f, 0.218623f, 0.394313f, 0.509259f, 0.319481f, 0.301328f, 0.418666f, 0.268914f, 0.170923f, 0.189250f, 0.098264f, -0.115884f, -0.223563f, -0.303104f, -0.516849f, -0.628854f, -0.712789f, -0.806065f, -0.794742f, -0.861447f, -0.769576f, -0.571504f, -0.571397f, -0.450668f, -0.040958f, -0.023992f, 0.011006f, 0.321950f, 0.254277f, 0.084190f, 0.168534f, 0.251006f, 0.092586f, 0.111612f, 0.255003f, 0.185399f, 0.037342f, 0.152664f, 0.215804f, 0.092317f, 0.115997f, 0.265474f, 0.099124f, -0.042901f, 0.122156f, 0.085171f, -0.059539f, - 0.115196f, 0.256592f, 0.120389f, 0.189025f, 0.409700f, 0.340774f, 0.322736f, 0.481498f, 0.444507f, 0.306334f, 0.266166f, 0.238712f, 0.088929f, -0.004042f, 0.012174f, -0.050857f, -0.160916f, -0.160052f, -0.183859f, -0.314162f, -0.351531f, -0.336872f, -0.377984f, -0.453255f, -0.397193f, -0.383825f, -0.409589f, -0.317096f, -0.214604f, -0.167862f, -0.106002f, 0.003644f, 0.042060f, 0.035359f, 0.058610f, 0.064570f, 0.032951f, 0.030227f, 0.059190f, 0.051293f, 0.034765f, 0.041953f, 0.048952f, 0.037014f, 0.048042f, 0.073526f, 0.080820f, 0.077122f, 0.088413f, 0.086142f, 0.060208f, 0.048775f, 0.033277f, 0.025804f, 0.025114f}, - {-0.008142f, 0.006770f, 0.007248f, -0.003433f, 0.007274f, -0.004381f, -0.000954f, 0.009680f, -0.003957f, 0.004608f, 0.002815f, -0.010720f, -0.004831f, 0.008061f, -0.003129f, -0.001530f, 0.005076f, 0.003362f, 0.003620f, 0.000975f, 0.012411f, 0.002126f, -0.003177f, 0.002788f, -0.004275f, 0.007692f, -0.002200f, -0.004217f, -0.001824f, -0.010034f, -0.003388f, -0.007389f, 0.002440f, -0.000120f, 0.002731f, -0.002957f, 0.004226f, 0.001996f, -0.000445f, 0.001295f, 0.000692f, 0.000979f, 0.001375f, -0.005304f, 0.013278f, 0.001963f, -0.004816f, 0.009831f, -0.002347f, -0.008474f, -0.009282f, 0.009076f, -0.001790f, -0.000718f, 0.006018f, 0.000682f, -0.001547f, 0.004699f, -0.000489f, 0.002726f, 0.000799f, 0.003463f, -0.001785f, 0.003770f, -0.001681f, 0.004478f, 0.006509f, 0.003540f, -0.003825f, -0.003936f, -0.001925f, 0.001755f, -0.004088f, 0.002903f, -0.002000f, 0.003601f, 0.004695f, -0.005798f, -0.003263f, 0.005075f, 0.001523f, -0.001591f, 0.007827f, 0.004538f, 0.003744f, -0.000379f, 0.002075f, -0.000147f, 0.001059f, -0.000892f, 0.001205f, 0.000473f, 0.000582f, -0.001764f, 0.002912f, 0.000960f, - 0.000224f, -0.000491f, 0.001194f, 0.001903f, -0.000975f, 0.002048f, -0.000059f, 0.008507f, 0.001676f, 0.001939f, 0.007141f, 0.000092f, 0.005155f, 0.002456f, -0.000577f, 0.000553f, -0.005568f, 0.002612f, 0.000454f, 0.008749f, 0.003102f, 0.002874f, 0.000401f, 0.002592f, 0.009600f, -0.009046f, 0.005133f, 0.001363f, -0.005968f, -0.002667f, -0.003695f, -0.001201f, -0.003428f, 0.002440f, 0.011085f, 0.006983f, 0.008282f, 0.006584f, 0.011301f, 0.008239f, -0.010231f, -0.018567f, -0.002341f, 0.000887f, -0.004519f, 0.009808f, -0.000402f, 0.014683f, -0.006835f, -0.006852f, 0.006337f, 0.000365f, 0.000540f, 0.005826f, -0.010699f, 0.002772f, -0.007657f, 0.010172f, 0.005994f, -0.000015f, 0.015434f, 0.000710f, -0.001461f, -0.001886f, -0.002695f, -0.003801f, 0.007315f, 0.003928f, -0.003743f, -0.001204f, -0.010724f, -0.004693f, -0.001406f, 0.011284f, 0.007696f, 0.001408f, 0.005676f, 0.000244f, 0.006044f, 0.000044f, 0.002507f, -0.006412f, -0.004151f, 0.001605f, 0.000850f, -0.000300f, -0.003257f, 0.003063f, 0.003566f, -0.000864f, -0.003348f, -0.000571f, 0.003593f, -0.000522f, 0.001917f, -0.001672f, - -0.000989f, -0.001309f, 0.001149f, -0.001140f, 0.000211f, -0.000038f, 0.001818f, -0.001458f, 0.001755f, 0.002760f, -0.001279f, 0.000689f, 0.000225f, -0.000010f, 0.003264f, -0.001001f, 0.000829f, -0.001171f, 0.001297f, 0.001004f, 0.000555f, -0.000334f, 0.002862f, -0.000094f, 0.000139f, 0.001266f, 0.006758f, 0.015364f, 0.004510f, 0.000680f, 0.000481f, 0.004334f, 0.004040f, 0.000923f, 0.002428f, 0.003486f, -0.000234f, -0.000317f, 0.004395f, 0.017390f, 0.005816f, 0.013571f, -0.007686f, -0.006262f, -0.002545f, -0.008135f, -0.009538f, -0.003797f, 0.007057f, -0.011752f, -0.001646f, -0.001369f, -0.018507f, 0.003739f, -0.018696f, -0.006195f, -0.002491f, 0.004464f, 0.000060f, 0.003923f, -0.003650f, -0.000159f, -0.012619f, 0.004667f, -0.004184f, -0.007020f, 0.001332f, 0.003580f, -0.000587f, 0.000959f, 0.005399f, 0.009604f, -0.016113f, 0.004444f, 0.001095f, -0.004726f, -0.005132f, -0.001004f, 0.002227f, -0.002119f, -0.009693f, -0.002244f, 0.002640f, 0.005092f, -0.000664f, 0.012067f, 0.001065f, 0.000574f, 0.004921f, -0.007666f, 0.011395f, 0.003671f, 0.006773f, 0.003058f, 0.005668f, -0.001153f, - -0.001080f, 0.003404f, 0.001981f, -0.001554f, -0.003438f, -0.002757f, -0.005684f, -0.000126f, -0.007630f, 0.000542f, 0.004448f, -0.000365f, -0.003249f, -0.005949f, 0.005313f, -0.003153f, 0.002155f, 0.000840f, -0.000944f, -0.005659f, 0.000474f, -0.000511f, 0.001395f, -0.001717f, -0.001653f, 0.000508f, -0.001839f, -0.003102f, -0.001686f, -0.001285f, -0.000314f, -0.002037f, -0.000358f, -0.001150f, 0.002672f, -0.000478f, -0.001454f, -0.000465f, 0.001421f, -0.000555f, -0.002429f, -0.002572f, 0.002759f, 0.000065f, 0.000236f, -0.001620f, 0.009175f, 0.010026f, -0.000309f, 0.011060f, 0.000706f, -0.001427f, 0.001368f, 0.000939f, -0.002035f, -0.000091f, -0.007697f, -0.004381f, 0.006899f, 0.008120f, -0.009468f, -0.002241f, 0.003957f, -0.006299f, -0.018127f, 0.004539f, 0.006727f, 0.007911f, -0.004150f, -0.004784f, -0.006451f, 0.009922f, 0.011302f, 0.001962f, 0.004472f, -0.008833f, -0.007154f, 0.008412f, 0.003190f, -0.006613f, 0.011668f, -0.011647f, 0.001962f, 0.001146f, 0.010944f, 0.004045f, -0.002396f, 0.001814f, -0.003764f, 0.006027f, -0.014227f, -0.004189f, -0.020507f, -0.008928f, 0.010416f, -0.000835f, - 0.015961f, -0.002138f, -0.013286f, 0.008461f, 0.001877f, -0.005405f, -0.000609f, 0.000682f, -0.005364f, 0.003571f, 0.009571f, 0.010792f, 0.000321f, 0.005177f, -0.000468f, 0.012274f, -0.006204f, 0.005328f, -0.001123f, -0.000179f, 0.000426f, 0.004271f, -0.001224f, 0.015347f, 0.001569f, 0.001423f, -0.002334f, 0.009057f, 0.003125f, -0.003008f, -0.006407f, 0.000176f, 0.006207f, 0.002168f, 0.001852f, -0.003964f, -0.000163f, 0.001275f, -0.000569f, -0.001028f, -0.001052f, -0.002100f, 0.001718f, 0.000178f, 0.000782f, 0.001341f, 0.003286f, -0.001230f, -0.003289f, 0.003725f, -0.000935f, 0.000406f, 0.000129f, -0.000400f, -0.000376f, 0.001501f, 0.001398f, 0.001824f, -0.000584f, 0.001704f, 0.000018f, 0.001001f, 0.001719f, -0.000346f, 0.000273f, 0.001450f, 0.002209f, 0.001207f, 0.001418f, 0.000465f, 0.000233f, 0.011217f, -0.015209f, -0.002091f, -0.010304f, -0.010701f, 0.003852f, 0.002091f, 0.022178f, 0.001170f, 0.008175f, -0.018483f, -0.004405f, 0.004101f, -0.009589f, 0.006369f, 0.001876f, 0.001584f, 0.005430f, 0.006275f, 0.014564f, 0.006493f, -0.002273f, 0.004621f, -0.007217f, 0.002133f, - 0.005897f, -0.000382f, 0.001249f, 0.006468f, 0.008369f, 0.020134f, 0.003970f, -0.002973f, -0.013726f, -0.000561f, 0.010491f, -0.016272f, 0.001846f, -0.001178f, 0.005167f, -0.008147f, -0.009577f, 0.017440f, -0.011080f, 0.003615f, -0.000648f, -0.010889f, 0.025231f, 0.006521f, 0.013258f, 0.007136f, 0.014494f, -0.002628f, -0.005367f, 0.009227f, -0.008414f, 0.007100f, -0.006689f, 0.003877f, 0.010021f, 0.005525f, -0.004386f, -0.000729f, 0.005161f, -0.008772f, -0.006437f, 0.000544f, -0.000961f, 0.014929f, -0.008104f, -0.013908f, -0.002001f, 0.007769f, 0.012639f, -0.007752f, -0.013094f, -0.002872f, 0.018434f, 0.002449f, 0.000080f, -0.006529f, 0.000994f, -0.000358f, 0.005764f, 0.005846f, -0.000268f, 0.002809f, 0.003223f, -0.008919f, -0.001955f, 0.003105f, -0.000330f, 0.005247f, 0.002192f, 0.000548f, -0.003676f, -0.000375f, -0.000402f, 0.002028f, -0.000490f, 0.005474f, -0.000941f, -0.000543f, -0.002585f, 0.000625f, -0.003298f, 0.000177f, -0.000251f, 0.001382f, 0.003305f, 0.000131f, 0.002789f, -0.000151f, -0.003078f, -0.000620f, 0.000445f, -0.005873f, 0.006684f, -0.024099f, 0.013657f, 0.004012f, - -0.005390f, 0.007326f, -0.019693f, -0.016439f, 0.002134f, -0.008119f, 0.018644f, 0.016556f, 0.017607f, -0.011755f, 0.006848f, 0.000257f, 0.017552f, 0.001237f, 0.012411f, 0.004965f, -0.005245f, -0.015801f, -0.014315f, 0.004563f, -0.019076f, -0.000294f, -0.004502f, -0.009279f, -0.012739f, -0.007495f, 0.000117f, 0.015342f, 0.000062f, 0.005976f, -0.021823f, -0.012203f, -0.002315f, -0.013697f, 0.000958f, 0.013687f, -0.014814f, 0.006107f, -0.000177f, -0.005081f, -0.001374f, -0.003192f, 0.015088f, 0.008080f, 0.007522f, -0.003638f, -0.004589f, 0.020755f, -0.006279f, -0.005687f, -0.017124f, 0.012486f, -0.024312f, 0.003305f, -0.007993f, 0.003772f, 0.008642f, -0.005885f, -0.012974f, -0.008054f, 0.000889f, 0.017596f, -0.008856f, -0.001983f, -0.011438f, -0.009251f, 0.005706f, 0.006086f, 0.013932f, -0.016313f, -0.000130f, -0.008661f, -0.005682f, 0.003371f, -0.006429f, -0.012829f, -0.007296f, -0.001179f, 0.011710f, 0.011871f, 0.004131f, 0.000584f, 0.001741f, 0.005382f, 0.000467f, 0.000784f, 0.002475f, -0.003438f, 0.000350f, 0.004871f, -0.001472f, 0.000514f, 0.006031f, -0.001554f, -0.000222f, 0.000892f, - 0.004392f, -0.000105f, 0.000690f, 0.001519f, 0.000754f, 0.003605f, -0.004341f, -0.004896f, -0.000315f, -0.001840f, 0.000058f, 0.002598f, -0.001164f, 0.004905f, 0.003133f, -0.022498f, 0.005994f, 0.002045f, 0.003733f, -0.030964f, 0.027622f, 0.000543f, -0.000639f, -0.000571f, -0.010076f, 0.003227f, 0.000325f, 0.009878f, -0.008701f, 0.011079f, 0.003137f, -0.006937f, -0.011946f, -0.014919f, 0.007440f, 0.001303f, -0.001325f, 0.001004f, -0.008632f, 0.009265f, 0.006893f, 0.017110f, 0.010138f, 0.006757f, 0.009407f, -0.002248f, -0.009500f, -0.007098f, 0.000519f, -0.004992f, 0.007357f, -0.008374f, -0.012708f, -0.013888f, 0.000757f, -0.018993f, 0.008607f, 0.009922f, -0.011412f, 0.011567f, -0.013771f, 0.006874f, -0.020287f, 0.002714f, -0.003787f, 0.001469f, -0.005451f, -0.000313f, -0.018884f, -0.003159f, -0.006554f, -0.011941f, -0.003283f, -0.009330f, 0.002880f, -0.008409f, -0.004928f, -0.012066f, 0.005241f, -0.011538f, -0.000938f, 0.018483f, -0.003245f, 0.000547f, 0.005908f, -0.004115f, -0.018874f, -0.021426f, -0.003671f, -0.014981f, 0.000640f, -0.004088f, 0.013867f, 0.001018f, 0.005153f, -0.014113f, - 0.001141f, -0.003184f, -0.002673f, 0.010199f, 0.002419f, -0.001216f, -0.005667f, 0.002772f, 0.003847f, 0.001434f, 0.005264f, -0.000225f, 0.002886f, -0.001611f, -0.000674f, 0.000797f, 0.000820f, 0.001920f, -0.000637f, 0.005928f, -0.001807f, -0.005058f, 0.001953f, -0.000070f, 0.001401f, 0.001957f, 0.001135f, -0.000736f, -0.002730f, 0.001507f, -0.004700f, 0.001768f, 0.008859f, 0.006059f, -0.019271f, -0.000683f, 0.003353f, -0.017951f, -0.020416f, 0.011055f, -0.020043f, 0.003805f, 0.013258f, -0.009759f, -0.023023f, -0.009908f, 0.000487f, 0.015086f, -0.006205f, 0.026665f, -0.001894f, -0.002174f, -0.015481f, -0.011029f, -0.001872f, 0.005334f, 0.001456f, -0.005585f, -0.004687f, -0.001317f, -0.005807f, -0.011524f, 0.009383f, -0.009563f, -0.005868f, 0.009956f, 0.002919f, -0.016241f, -0.017254f, -0.015903f, 0.013631f, -0.014798f, -0.015944f, 0.025849f, -0.016331f, 0.011357f, -0.002325f, 0.006908f, -0.023450f, 0.010608f, 0.001289f, -0.003909f, -0.001206f, -0.004677f, 0.007506f, 0.005428f, 0.021988f, -0.005678f, -0.004244f, 0.010338f, 0.021247f, 0.005732f, 0.004235f, -0.010220f, -0.006725f, -0.017697f, - -0.003795f, -0.000583f, -0.000251f, 0.012590f, -0.004073f, 0.006666f, 0.022244f, -0.003575f, -0.000887f, -0.002747f, -0.000508f, -0.022830f, -0.025994f, 0.001172f, 0.017039f, 0.000063f, -0.034483f, 0.008845f, -0.012118f, 0.005629f, -0.021562f, -0.013531f, -0.003426f, 0.000467f, -0.007950f, 0.003303f, 0.007865f, -0.001130f, -0.001146f, -0.000919f, -0.003764f, 0.003375f, -0.004281f, 0.003358f, 0.000436f, 0.000978f, -0.003750f, -0.002688f, -0.005202f, 0.002207f, 0.000275f, -0.001774f, -0.004996f, -0.001277f, -0.001572f, -0.003338f, -0.003726f, 0.002018f, -0.004223f, -0.001783f, 0.003408f, 0.000852f, -0.002104f, -0.000509f, -0.000008f, -0.005460f, 0.000442f, 0.009593f, -0.001514f, 0.011349f, -0.001641f, -0.004678f, -0.006816f, 0.009648f, 0.005971f, -0.005227f, 0.004411f, 0.009823f, -0.005033f, -0.032981f, -0.014330f, -0.006389f, -0.003622f, 0.014881f, -0.025880f, -0.018927f, 0.015967f, 0.009987f, 0.040103f, 0.011410f, 0.009279f, 0.011135f, 0.005120f, -0.007054f, 0.000839f, -0.007433f, 0.012795f, 0.000703f, 0.012912f, 0.000524f, -0.000340f, -0.017446f, 0.009141f, -0.011788f, 0.009280f, -0.001690f, - 0.009728f, 0.003993f, 0.013049f, -0.020197f, 0.002388f, -0.013963f, 0.016978f, 0.001192f, -0.017035f, 0.022672f, 0.016647f, 0.010856f, -0.010213f, -0.034125f, 0.009864f, -0.003554f, -0.004266f, 0.016975f, -0.001638f, 0.007953f, 0.016224f, -0.003406f, -0.020620f, 0.000014f, 0.009217f, 0.006201f, -0.005557f, -0.002100f, -0.015128f, 0.005811f, 0.002034f, 0.003396f, -0.002302f, 0.002345f, 0.012956f, -0.007886f, 0.005888f, -0.001925f, -0.000539f, 0.023626f, -0.006340f, 0.010972f, 0.007669f, -0.007161f, -0.008291f, 0.003142f, 0.001703f, -0.003715f, 0.001905f, -0.003874f, 0.003700f, -0.003434f, 0.008836f, 0.001043f, 0.008440f, 0.001873f, -0.000304f, 0.010967f, 0.003716f, -0.002937f, 0.002917f, -0.002271f, -0.003448f, 0.001803f, 0.004164f, -0.003808f, 0.002610f, -0.001841f, -0.004286f, 0.000067f, 0.004137f, -0.001702f, -0.004771f, 0.001691f, -0.002306f, -0.006916f, 0.002965f, 0.000291f, -0.003820f, -0.001893f, -0.001364f, -0.003790f, -0.000503f, 0.005598f, 0.007462f, -0.006932f, 0.008596f, -0.009384f, -0.037291f, 0.007687f, 0.009144f, 0.037913f, -0.007881f, -0.006014f, 0.017967f, 0.023587f, - -0.038282f, -0.021797f, 0.021006f, -0.010806f, 0.000761f, 0.008671f, -0.024364f, -0.053415f, -0.020946f, 0.030492f, 0.024236f, 0.020546f, -0.006158f, 0.011559f, -0.006187f, 0.010655f, -0.011091f, 0.003813f, -0.026934f, 0.006709f, -0.009468f, 0.013934f, 0.013507f, 0.000571f, -0.012685f, 0.012700f, 0.007999f, 0.021856f, -0.002194f, -0.013397f, -0.006665f, -0.034163f, -0.017465f, 0.008513f, -0.002237f, -0.022846f, 0.015638f, 0.021470f, -0.030215f, 0.029386f, -0.002742f, -0.003107f, 0.018461f, 0.003902f, 0.017456f, -0.002173f, 0.006275f, -0.006508f, -0.003490f, 0.008927f, 0.035021f, -0.012532f, 0.022313f, -0.001754f, 0.002126f, 0.008497f, 0.019433f, -0.017807f, 0.002122f, 0.028535f, 0.008514f, -0.012908f, 0.007608f, 0.011343f, 0.002655f, 0.022453f, 0.016167f, 0.028195f, -0.002513f, 0.008174f, -0.000231f, 0.001100f, -0.015591f, -0.010717f, -0.012394f, -0.005895f, -0.000009f, -0.002487f, -0.005008f, -0.004325f, 0.008399f, 0.012266f, 0.005577f, -0.006132f, 0.009784f, -0.002723f, -0.001556f, -0.005737f, -0.004702f, 0.006294f, 0.002052f, -0.002110f, 0.000399f, -0.006376f, -0.005515f, -0.006272f, - 0.000150f, -0.003446f, 0.005701f, 0.003630f, -0.002412f, 0.002654f, 0.006672f, -0.003945f, 0.003069f, 0.004026f, -0.003559f, -0.003086f, -0.003791f, -0.000487f, -0.001087f, 0.004279f, -0.001410f, -0.001602f, -0.024208f, -0.006073f, 0.025254f, 0.016089f, 0.019075f, -0.012157f, -0.006061f, -0.001844f, -0.002512f, 0.027037f, 0.003615f, -0.027554f, -0.012202f, -0.008339f, 0.017897f, 0.003592f, 0.003962f, 0.015205f, 0.033161f, -0.048691f, 0.032513f, -0.006312f, -0.005636f, -0.012502f, 0.009773f, 0.010074f, 0.019167f, 0.003071f, 0.018274f, -0.001769f, -0.004700f, 0.005735f, -0.002892f, 0.009371f, 0.016816f, 0.002078f, -0.001113f, 0.022027f, -0.016161f, -0.002933f, 0.005495f, -0.001815f, 0.019472f, -0.022724f, 0.002225f, -0.019434f, 0.003321f, -0.020612f, -0.002776f, 0.000724f, 0.011498f, 0.028118f, -0.016209f, -0.008933f, -0.016808f, -0.000911f, -0.024635f, -0.016030f, -0.016148f, 0.011072f, 0.020395f, 0.000327f, 0.040263f, -0.025369f, 0.035996f, -0.025210f, -0.005764f, 0.011125f, 0.008300f, 0.035596f, 0.020630f, -0.026557f, 0.014054f, -0.011106f, -0.036645f, -0.000876f, -0.023177f, 0.029443f, - 0.044812f, 0.028465f, -0.005401f, -0.015784f, -0.005683f, 0.025025f, -0.003571f, 0.013058f, 0.001661f, 0.005803f, 0.008974f, 0.002822f, 0.003663f, 0.002972f, -0.010753f, 0.007593f, 0.000282f, 0.003211f, -0.004058f, -0.003582f, -0.010197f, -0.005784f, -0.003413f, 0.006363f, -0.003018f, 0.004263f, 0.005532f, -0.002042f, -0.001168f, 0.000135f, 0.006282f, 0.003878f, 0.002428f, 0.011406f, -0.000014f, 0.011915f, -0.010453f, -0.004710f, 0.007841f, 0.007371f, -0.004280f, 0.002498f, -0.003563f, -0.007793f, 0.001082f, -0.024791f, -0.015691f, 0.000016f, 0.031289f, -0.005443f, 0.014124f, 0.029082f, -0.023681f, 0.010906f, -0.038174f, 0.023827f, -0.023236f, -0.011165f, 0.037938f, 0.013137f, 0.040863f, -0.016842f, 0.000754f, -0.017883f, 0.012160f, 0.052201f, 0.013790f, 0.017953f, -0.025687f, -0.004634f, 0.001779f, 0.020317f, 0.018101f, 0.033533f, -0.026477f, -0.009003f, -0.028854f, -0.024531f, 0.002345f, 0.002395f, 0.017878f, -0.016635f, 0.012670f, -0.039493f, 0.025489f, 0.019318f, 0.009507f, -0.006412f, -0.004215f, 0.002928f, 0.012360f, 0.004256f, 0.003845f, 0.000126f, 0.027608f, 0.023549f, - 0.010546f, 0.002405f, -0.020006f, -0.019885f, 0.056444f, 0.002390f, 0.007499f, 0.031492f, 0.014320f, -0.008515f, -0.006066f, 0.020144f, 0.040798f, -0.028879f, -0.011633f, -0.032585f, -0.030040f, 0.039706f, 0.018161f, 0.000712f, -0.007205f, 0.013367f, 0.030499f, 0.019428f, 0.031455f, 0.008939f, -0.013263f, 0.022705f, -0.015464f, -0.040691f, 0.012673f, 0.001767f, 0.001242f, 0.000397f, 0.017729f, 0.029967f, -0.005491f, 0.016000f, 0.018028f, 0.016180f, 0.002441f, 0.003816f, 0.015875f, 0.000483f, -0.004178f, -0.003067f, -0.005865f, 0.015239f, -0.008129f, -0.002212f, 0.004322f, 0.008718f, 0.001784f, -0.001116f, 0.016535f, 0.003608f, -0.002827f, 0.012295f, 0.015845f, 0.007301f, -0.005812f, 0.000195f, -0.002296f, 0.004958f, 0.000711f, 0.000304f, 0.000145f, -0.003275f, 0.005894f, 0.002297f, 0.001922f, 0.005429f, 0.007385f, -0.000966f, -0.006833f, -0.002635f, -0.000371f, 0.009245f, 0.003756f, 0.001548f, -0.001236f, 0.012163f, -0.026045f, -0.019449f, -0.007585f, -0.024239f, 0.027393f, -0.003051f, -0.006906f, -0.023086f, -0.003778f, -0.021496f, -0.053221f, 0.009274f, -0.006486f, -0.016802f, - 0.012131f, -0.028258f, -0.001628f, -0.015444f, -0.042634f, -0.009790f, -0.018440f, -0.020247f, 0.034246f, -0.009152f, -0.012226f, -0.006228f, -0.000681f, -0.008689f, -0.011953f, -0.001967f, 0.009122f, 0.028862f, 0.021894f, -0.000870f, -0.001561f, -0.048544f, 0.003089f, 0.006566f, 0.020010f, -0.011260f, -0.009944f, 0.073504f, -0.012504f, -0.036045f, -0.034810f, 0.030434f, -0.020293f, 0.008722f, -0.041276f, 0.010218f, -0.011471f, -0.022259f, -0.019009f, -0.047212f, 0.007727f, 0.013430f, 0.033666f, 0.009755f, -0.017980f, 0.026298f, 0.003292f, 0.024728f, 0.027780f, 0.079430f, 0.021511f, 0.005409f, -0.030753f, -0.034781f, -0.009137f, 0.003576f, -0.004237f, -0.031497f, 0.014283f, 0.036263f, 0.008605f, 0.025754f, 0.040303f, 0.035802f, -0.015051f, -0.028905f, -0.019457f, 0.002394f, 0.006587f, -0.003668f, -0.030315f, 0.005743f, -0.024609f, 0.007444f, -0.010796f, 0.001469f, -0.013480f, 0.008845f, -0.002043f, 0.005566f, 0.000983f, -0.006016f, -0.013764f, -0.003387f, -0.000098f, 0.008032f, 0.011627f, 0.008803f, 0.013368f, 0.000578f, 0.011482f, 0.019414f, 0.000741f, 0.003533f, 0.011303f, 0.003623f, - -0.009643f, -0.005860f, -0.016616f, -0.005190f, 0.010455f, 0.005548f, 0.001556f, -0.002433f, 0.006749f, 0.003414f, -0.003257f, -0.008104f, -0.014449f, 0.001735f, 0.002660f, -0.002311f, -0.004497f, -0.001324f, -0.004871f, -0.010617f, -0.032075f, -0.013846f, -0.004925f, 0.009964f, -0.011694f, 0.019163f, -0.009872f, -0.013093f, 0.037151f, 0.019355f, 0.042240f, 0.000605f, -0.012209f, -0.016583f, 0.044782f, -0.038352f, -0.014289f, 0.052279f, -0.031452f, 0.010514f, 0.010915f, 0.013624f, 0.003116f, 0.029419f, -0.009106f, 0.026486f, -0.009969f, 0.005860f, 0.006356f, -0.013493f, 0.019659f, -0.029632f, -0.020651f, -0.019196f, -0.008825f, -0.026326f, -0.048653f, -0.008772f, -0.014543f, 0.007841f, -0.012512f, -0.064607f, 0.018024f, 0.040744f, -0.002311f, -0.008548f, 0.063649f, -0.078703f, -0.017019f, 0.044063f, -0.010740f, 0.034220f, -0.025025f, -0.015443f, 0.011874f, -0.075099f, 0.024366f, -0.025498f, 0.037647f, 0.027752f, -0.039952f, 0.079050f, 0.011685f, 0.004308f, -0.004008f, 0.031227f, -0.057070f, 0.023507f, -0.002647f, -0.008938f, 0.015346f, -0.036781f, 0.052292f, 0.047564f, -0.087612f, 0.012733f, - -0.017404f, -0.082137f, -0.014122f, -0.036592f, 0.020295f, 0.005335f, 0.014310f, -0.033074f, 0.051685f, -0.004910f, -0.013810f, 0.024002f, -0.000938f, 0.017096f, -0.003555f, 0.026906f, 0.000702f, 0.013493f, 0.004212f, -0.001020f, -0.002785f, 0.015114f, -0.010762f, -0.011996f, 0.000334f, -0.014118f, 0.021452f, -0.004509f, -0.011016f, 0.001313f, 0.009911f, 0.004891f, 0.010222f, 0.004102f, 0.024887f, 0.006045f, -0.013412f, 0.025895f, -0.013874f, 0.014806f, 0.022235f, -0.006012f, 0.005068f, 0.015714f, -0.010611f, 0.015455f, 0.002504f, 0.048380f, -0.021567f, -0.062246f, -0.062451f, 0.005025f, 0.007829f, -0.027419f, 0.016397f, -0.034713f, 0.011244f, -0.015697f, 0.032251f, 0.041288f, 0.001427f, 0.039949f, 0.036359f, -0.020089f, -0.000425f, -0.025719f, -0.006388f, -0.005979f, 0.014095f, -0.002453f, -0.003890f, -0.004244f, -0.041684f, -0.063092f, -0.025306f, 0.033056f, 0.025587f, -0.027021f, -0.031089f, 0.018300f, 0.018550f, -0.040998f, 0.020829f, -0.027245f, -0.004991f, 0.031888f, 0.044249f, 0.000414f, -0.026055f, 0.017004f, 0.003480f, 0.027620f, 0.004886f, 0.023067f, 0.023819f, -0.006577f, - -0.090404f, 0.010377f, 0.002502f, 0.036753f, -0.013206f, 0.037483f, 0.037161f, -0.024640f, -0.122536f, -0.016318f, 0.005165f, -0.014602f, 0.073926f, 0.077549f, 0.054148f, 0.077061f, -0.019748f, 0.036315f, -0.030193f, 0.051558f, 0.036190f, -0.060429f, 0.076706f, -0.078987f, -0.067245f, -0.063382f, 0.020368f, 0.047968f, 0.039975f, 0.013520f, -0.049462f, 0.045996f, 0.006564f, -0.016281f, -0.021073f, 0.002883f, 0.043451f, -0.033295f, -0.013205f, 0.066281f, 0.012413f, 0.030413f, 0.005995f, 0.003400f, 0.016486f, -0.024784f, 0.013662f, -0.010017f, 0.000719f, 0.006965f, -0.006164f, -0.012751f, -0.008313f, -0.011136f, -0.024883f, 0.005821f, 0.023508f, -0.004443f, 0.024035f, 0.018634f, -0.015013f, -0.011871f, -0.011068f, 0.014914f, 0.009471f, -0.030426f, -0.017508f, 0.001795f, 0.001744f, -0.004367f, 0.004315f, 0.020283f, -0.000239f, 0.016169f, 0.001912f, -0.011631f, -0.048373f, -0.091572f, 0.019519f, 0.034057f, -0.004724f, 0.046735f, 0.018031f, -0.057686f, -0.014396f, 0.012528f, 0.014461f, 0.016156f, -0.011491f, 0.027055f, 0.002497f, -0.017058f, -0.007714f, 0.009777f, 0.038391f, 0.050042f, - 0.037862f, 0.059971f, -0.057249f, -0.015729f, -0.014706f, -0.058551f, -0.013892f, 0.010335f, 0.003194f, 0.006765f, -0.023226f, -0.026278f, 0.030078f, 0.067376f, -0.031591f, 0.034890f, -0.022496f, 0.009243f, -0.020735f, -0.003357f, -0.052162f, -0.018834f, -0.002812f, -0.072285f, -0.042227f, -0.070738f, -0.059747f, 0.039942f, 0.093750f, 0.074906f, 0.002356f, -0.004467f, 0.000413f, -0.016598f, -0.032022f, -0.113245f, -0.037773f, -0.016048f, 0.009417f, 0.005088f, -0.039886f, -0.027753f, 0.014872f, 0.050170f, 0.029944f, 0.016330f, 0.032810f, 0.056243f, 0.022084f, -0.055829f, 0.043048f, -0.032972f, -0.017242f, 0.033460f, 0.074930f, 0.016331f, 0.096031f, -0.022634f, -0.099533f, -0.011303f, -0.032025f, -0.060897f, 0.092337f, 0.026378f, 0.030145f, 0.000034f, -0.008050f, 0.026887f, 0.022172f, 0.001491f, -0.003577f, -0.015790f, -0.003070f, -0.004542f, 0.025352f, 0.030632f, 0.036509f, -0.003925f, -0.001180f, -0.001260f, -0.001156f, 0.024028f, -0.010060f, -0.007784f, -0.013827f, -0.010778f, 0.013709f, -0.002577f, -0.000259f, 0.004230f, 0.008811f, 0.014204f, 0.017510f, -0.002224f, -0.010110f, -0.017816f, - 0.009197f, 0.003571f, 0.008689f, 0.022692f, 0.019929f, -0.009803f, 0.005187f, 0.010330f, -0.017274f, -0.005185f, -0.003795f, -0.016623f, -0.007505f, -0.000550f, 0.015487f, -0.039211f, -0.064156f, 0.039542f, -0.006322f, -0.038790f, 0.018568f, 0.041936f, 0.036298f, -0.074941f, -0.064756f, 0.016028f, -0.030147f, 0.007543f, 0.036478f, -0.020019f, -0.014791f, 0.060371f, 0.016299f, -0.008553f, -0.019364f, -0.017300f, 0.022583f, -0.013741f, -0.002793f, -0.001916f, -0.024751f, -0.009655f, -0.041105f, -0.054695f, 0.019353f, 0.029642f, -0.034586f, 0.025043f, 0.017096f, -0.012049f, -0.024037f, 0.003534f, 0.042990f, 0.024683f, 0.007634f, -0.043305f, -0.048405f, -0.023672f, 0.012910f, 0.053892f, -0.040636f, -0.021597f, -0.018548f, 0.032122f, 0.086940f, 0.022894f, -0.085287f, -0.019077f, -0.010150f, 0.043580f, 0.000858f, 0.022499f, -0.011250f, -0.020354f, -0.018995f, -0.048375f, 0.044814f, 0.047461f, 0.019060f, 0.050188f, -0.015890f, 0.032406f, -0.015213f, -0.036488f, -0.040344f, -0.043148f, 0.007476f, -0.080651f, 0.084287f, -0.004121f, -0.032179f, -0.046693f, -0.038209f, -0.002726f, -0.025061f, -0.007685f, - -0.044426f, -0.027512f, -0.078846f, -0.022053f, -0.051987f, 0.018979f, -0.018535f, 0.015186f, 0.017539f, 0.018780f, -0.013122f, 0.043372f, -0.009990f, 0.031383f, 0.001061f, 0.007453f, -0.002563f, 0.013581f, -0.006829f, -0.017567f, 0.003478f, 0.004879f, 0.016106f, -0.026160f, -0.009196f, 0.006612f, -0.025776f, -0.000033f, 0.009325f, -0.032198f, -0.014142f, 0.007556f, -0.004546f, -0.024690f, -0.038083f, -0.022933f, 0.013794f, -0.007335f, 0.017361f, 0.004100f, 0.000599f, 0.025677f, 0.001716f, 0.022074f, 0.008517f, 0.013722f, 0.051659f, 0.030900f, -0.014607f, 0.007794f, 0.065210f, 0.048916f, 0.018649f, 0.009577f, 0.030646f, 0.027733f, -0.044416f, -0.064016f, 0.021658f, 0.049780f, 0.071325f, 0.000260f, -0.016064f, -0.044747f, -0.026291f, 0.029846f, -0.000940f, -0.038234f, -0.076855f, -0.076929f, 0.016102f, -0.023256f, 0.042983f, -0.088619f, -0.029283f, 0.017007f, 0.012665f, 0.016637f, -0.028053f, 0.012642f, -0.002436f, -0.016820f, -0.003353f, -0.041714f, 0.038237f, 0.047018f, 0.035058f, -0.056100f, -0.029915f, -0.001561f, 0.018911f, 0.027877f, 0.030051f, 0.023900f, -0.006352f, -0.004209f, - -0.007600f, 0.039750f, 0.110886f, 0.069820f, -0.057772f, -0.057031f, -0.036135f, -0.073404f, 0.086194f, 0.045758f, -0.026728f, -0.076142f, -0.072746f, 0.082494f, 0.050880f, 0.010855f, 0.063648f, -0.066345f, -0.007314f, 0.003873f, -0.017033f, 0.006222f, -0.024633f, -0.067121f, 0.016619f, -0.051360f, 0.068379f, 0.064422f, -0.024679f, -0.011722f, 0.000748f, 0.007185f, 0.072776f, 0.074230f, -0.118059f, -0.066083f, -0.037934f, 0.014657f, 0.033178f, 0.031875f, -0.045735f, -0.049280f, -0.057944f, -0.007394f, 0.060108f, 0.001119f, 0.011976f, -0.013935f, -0.064086f, 0.014550f, -0.026859f, -0.033773f, 0.014672f, 0.112052f, 0.037990f, -0.021252f, -0.028734f, -0.027139f, -0.022173f, 0.029245f, 0.035103f, 0.040303f, -0.007247f, 0.025914f, -0.039678f, 0.009351f, 0.014544f, 0.017835f, -0.014242f, 0.007466f, 0.033265f, -0.008886f, -0.009336f, -0.005839f, 0.032848f, 0.021005f, 0.051104f, 0.012555f, -0.018062f, -0.014020f, 0.018996f, 0.062761f, 0.051461f, 0.010384f, -0.037718f, -0.046871f, -0.014861f, -0.011534f, 0.011158f, -0.023191f, 0.043423f, -0.071041f, 0.061891f, 0.091249f, 0.099055f, -0.111717f, - 0.020515f, -0.003550f, -0.009594f, 0.047227f, -0.020168f, -0.033244f, 0.032739f, 0.016600f, 0.067899f, -0.007023f, -0.053752f, 0.001516f, -0.024523f, 0.040001f, -0.061757f, -0.021995f, -0.029014f, -0.041284f, 0.056412f, -0.041381f, -0.005840f, 0.038699f, 0.022574f, -0.013839f, -0.021546f, -0.057957f, 0.007507f, 0.075988f, 0.046416f, -0.003440f, 0.022691f, -0.017349f, 0.062248f, -0.042103f, 0.028786f, -0.023326f, 0.038697f, 0.064015f, -0.014201f, -0.041908f, 0.020661f, -0.057085f, 0.094280f, 0.010832f, -0.049916f, -0.017342f, -0.077918f, 0.009716f, 0.111818f, -0.020586f, -0.065644f, -0.046166f, 0.068598f, 0.020201f, -0.035860f, -0.002093f, 0.017765f, 0.038163f, 0.094258f, -0.077084f, 0.034336f, 0.076882f, -0.011567f, -0.091504f, -0.088189f, -0.052018f, 0.154827f, -0.113527f, 0.038495f, -0.119561f, -0.057172f, 0.248736f, 0.024097f, -0.108939f, -0.104197f, -0.120634f, 0.151883f, 0.019190f, -0.028529f, -0.120897f, -0.028783f, 0.037292f, 0.122964f, -0.044405f, 0.013546f, -0.053503f, 0.018442f, 0.074164f, 0.045684f, -0.067146f, 0.031702f, 0.011802f, 0.029125f, 0.025216f, -0.067527f, 0.001850f, - -0.015844f, -0.026123f, 0.013680f, -0.025363f, -0.049684f, 0.018644f, -0.014456f, 0.064441f, 0.009956f, -0.060331f, -0.067966f, -0.022310f, 0.002211f, 0.051797f, 0.039736f, 0.008602f, -0.031510f, 0.012855f, -0.000950f, -0.026009f, 0.002207f, 0.032671f, 0.029738f, 0.006545f, -0.049883f, 0.011838f, 0.020087f, 0.031148f, 0.028815f, 0.019747f, 0.040543f, -0.104954f, 0.018372f, -0.094300f, 0.041609f, 0.044559f, 0.088024f, 0.038943f, 0.020170f, 0.023008f, -0.027463f, -0.067339f, -0.046846f, -0.044232f, 0.018854f, 0.010938f, -0.011495f, 0.040220f, 0.062071f, -0.027821f, -0.039033f, 0.043089f, 0.007640f, -0.057484f, -0.013243f, 0.025977f, -0.047421f, -0.008416f, 0.010439f, 0.024082f, 0.012829f, 0.034076f, 0.058467f, 0.010282f, -0.037335f, -0.004361f, 0.011238f, -0.029684f, -0.013278f, 0.027295f, -0.020809f, -0.037573f, 0.052149f, -0.012648f, -0.012958f, -0.020826f, -0.020542f, 0.033764f, 0.008587f, 0.007669f, 0.045003f, -0.021589f, -0.034822f, -0.002085f, 0.003321f, -0.014823f, 0.011486f, -0.002519f, -0.012421f, -0.002310f, -0.043903f, 0.009715f, 0.008564f, -0.007535f, 0.023614f, 0.015892f, - 0.008236f, 0.010497f, -0.045342f, 0.053579f, -0.020120f, -0.019491f, 0.016412f, -0.049151f, 0.015952f, -0.036830f, 0.004253f, -0.029155f, 0.009421f, 0.012738f, 0.019843f, 0.001690f, 0.017599f, 0.026494f, -0.010283f, -0.006087f, 0.014722f, -0.000991f, -0.009370f, 0.008009f, 0.001858f, -0.006219f, -0.009427f, -0.008639f, -0.005668f, 0.019092f, -0.018364f, 0.018514f, 0.001264f, 0.004943f, 0.009297f, 0.005440f, 0.013550f, -0.000863f, -0.000382f, -0.008403f, -0.001842f, -0.011542f, 0.023062f, 0.001576f, -0.010356f, -0.017000f, -0.005526f, 0.008818f, -0.016504f, 0.021747f, -0.010629f, -0.027917f, 0.001576f, 0.011646f, -0.001613f, -0.000956f, 0.002851f, -0.013285f, -0.048676f, 0.078932f, -0.003980f, 0.044724f, -0.040398f, 0.005110f, -0.007231f, 0.014189f, 0.012845f, 0.024010f, -0.012111f, 0.017691f, -0.010840f, 0.009785f, -0.001655f, 0.007757f, 0.019120f, -0.002275f, 0.029595f, -0.011772f, 0.022387f, 0.001245f, -0.000838f, -0.008266f, 0.014375f, -0.011292f, 0.012997f, -0.007520f, 0.001011f, -0.006228f, 0.007168f, -0.005074f, 0.016884f, -0.005170f, -0.011639f, 0.026949f, -0.018481f, 0.014119f, - 0.011432f, 0.004197f, 0.013148f, -0.016421f, -0.011325f, 0.012399f, 0.011661f, -0.007194f, -0.001426f, 0.013216f, -0.001056f, -0.018285f, 0.008196f, -0.009266f, 0.009562f, 0.012831f, 0.006149f, 0.004427f, 0.004267f, -0.019692f, 0.009780f, 0.005613f, -0.005832f, 0.007273f, -0.009166f, 0.004553f, -0.004495f, -0.000853f, -0.002358f, 0.006936f, 0.013420f, -0.018373f, 0.016568f, -0.003210f, -0.006356f, 0.009489f, -0.012684f, 0.006116f, 0.009168f, -0.002191f, -0.004515f, 0.006344f, -0.002379f, 0.003739f, -0.001590f, -0.006525f, -0.000877f, 0.007078f, -0.001734f, 0.002753f, -0.001314f, -0.004783f, 0.003251f, 0.002869f, 0.005107f, -0.006951f, 0.005737f, -0.000461f, -0.002744f, 0.006626f, -0.007245f, 0.011557f, 0.006017f, -0.004314f, 0.011918f, -0.000895f, -0.004508f, 0.000475f, -0.004502f, 0.007045f, -0.007561f, 0.008078f, 0.003413f, 0.004347f, 0.002188f, -0.004645f, 0.004056f, 0.001815f, 0.001079f, 0.000731f, 0.000487f, -0.001897f, 0.002287f, -0.004866f, 0.006077f, 0.002354f, -0.005383f, 0.019464f, -0.066607f, -0.207300f, -0.030610f, 0.100458f, 0.051886f, 0.244380f, 0.045320f, 0.052433f, - 0.032932f, -0.066018f, -0.092939f, -0.066246f, -0.119098f, -0.102363f, -0.058146f, -0.023929f, 0.067907f, 0.185560f, 0.147130f, 0.126721f, 0.071948f, -0.057300f, -0.093166f, -0.068578f, -0.128334f, -0.121545f, -0.037406f, -0.017192f, -0.028518f, 0.046910f, 0.073412f, 0.048529f, 0.089567f, 0.069210f, 0.021032f, 0.063647f, 0.012808f, -0.009653f, 0.005680f, -0.038636f, -0.101411f, -0.086207f, -0.073317f, -0.102769f, -0.043178f, 0.029794f, 0.020393f, 0.065519f, 0.074173f, 0.064836f, 0.066517f, 0.067964f, 0.042977f, 0.042046f, 0.004412f, -0.038047f, -0.070942f, -0.048475f, -0.066796f, -0.088201f, -0.043562f, -0.040568f, -0.033093f, 0.012270f, 0.033178f, 0.031761f, 0.062013f, 0.077576f, 0.037418f, 0.054630f, 0.046594f, -0.013183f, 0.005230f, 0.020850f, -0.026028f, -0.023583f, -0.041637f, -0.074690f, -0.074986f, -0.059582f, -0.061693f, -0.012264f, 0.025703f, 0.017088f, 0.048827f, 0.073306f, 0.057778f, 0.053338f, 0.054845f, 0.036530f, 0.011940f, 0.003290f, -0.017182f, -0.032205f, -0.034579f, -0.051463f, -0.065037f, -0.069224f, -0.059592f, -0.053548f, -0.030624f, 0.006716f, 0.033590f, 0.076933f, - 0.101853f, 0.089334f, 0.074072f, 0.062795f, 0.036302f, 0.007450f, -0.031555f, -0.064948f, -0.088493f, -0.092756f, -0.102223f, -0.075459f, -0.031516f, -0.008107f, 0.021317f, 0.060646f, 0.078398f, 0.084539f, 0.087129f, 0.072774f, 0.030853f, -0.002384f, -0.022577f, -0.049700f, -0.064539f, -0.060687f, -0.053857f, -0.038905f, -0.015924f, 0.001854f, 0.021422f, 0.027689f, 0.021350f, 0.023352f, 0.018637f, 0.012638f, 0.009950f, 0.010186f, 0.003415f, 0.003355f, -0.000877f, -0.005242f, -0.006216f, -0.005552f, -0.007994f, -0.009540f, -0.010060f, -0.008812f, -0.007435f, -0.005041f, -0.001467f, 0.001725f, 0.001781f, 0.001125f, 0.000764f} - }, - { - {-0.006625f, 0.005005f, 0.003148f, -0.006536f, -0.001152f, 0.008345f, 0.002475f, 0.002060f, 0.004601f, -0.001089f, 0.001258f, -0.002171f, -0.008729f, -0.003430f, -0.000435f, -0.001926f, 0.002507f, -0.002702f, -0.000849f, -0.007393f, -0.000012f, 0.001275f, -0.005223f, -0.001136f, -0.006593f, -0.002345f, -0.002104f, -0.007977f, -0.003668f, 0.002539f, 0.003470f, 0.008940f, 0.005286f, 0.011421f, -0.001249f, -0.001863f, 0.001663f, -0.003941f, 0.009919f, 0.000584f, 0.004678f, 0.007872f, 0.001367f, -0.003190f, 0.003206f, -0.004209f, -0.005612f, -0.001409f, -0.002438f, -0.003102f, -0.010353f, -0.003349f, 0.000027f, 0.001607f, 0.003060f, 0.000856f, 0.005229f, -0.005872f, 0.004610f, -0.000047f, 0.001126f, 0.003270f, -0.004108f, -0.009145f, -0.003966f, 0.003880f, 0.005679f, 0.004321f, 0.000334f, 0.004406f, 0.003316f, 0.005995f, 0.002985f, 0.002584f, -0.003999f, 0.000301f, -0.000677f, -0.000805f, -0.003412f, -0.004182f, -0.001840f, -0.000973f, -0.000417f, -0.003225f, -0.000009f, 0.000455f, 0.001220f, 0.000294f, 0.002276f, -0.001256f, 0.001014f, -0.002019f, -0.003085f, 0.001506f, -0.000486f, -0.000078f, - 0.002073f, 0.001478f, 0.001810f, 0.000131f, 0.000132f, -0.001763f, 0.001002f, 0.000328f, 0.000574f, -0.000259f, 0.002819f, -0.000614f, 0.000104f, -0.001232f, -0.001056f, -0.001385f, 0.001164f, -0.000935f, -0.002677f, -0.004789f, 0.004554f, -0.007365f, -0.004526f, 0.011863f, -0.001921f, 0.010488f, -0.005364f, 0.001021f, 0.005188f, 0.002310f, 0.000348f, -0.007038f, -0.009985f, -0.010416f, 0.001123f, 0.000271f, -0.002948f, 0.001417f, -0.009221f, 0.018372f, 0.002078f, -0.010214f, 0.002720f, -0.005349f, -0.005828f, 0.005484f, 0.007790f, -0.000112f, 0.001754f, 0.003724f, -0.000563f, 0.000044f, 0.006116f, -0.003348f, -0.001494f, 0.000371f, 0.011137f, -0.000216f, -0.001302f, -0.004204f, -0.006579f, 0.003436f, -0.001623f, -0.006749f, -0.003051f, -0.008126f, 0.001091f, -0.007370f, 0.000167f, -0.005580f, -0.001845f, -0.004907f, -0.010222f, -0.004186f, -0.000642f, 0.009656f, 0.001420f, -0.002787f, 0.005262f, 0.008842f, 0.001334f, -0.012030f, 0.005544f, -0.000027f, 0.002250f, 0.003959f, -0.002798f, 0.007634f, -0.003805f, -0.006806f, -0.007101f, -0.012572f, 0.001176f, -0.004289f, -0.004464f, -0.005662f, - -0.005937f, -0.000339f, -0.006476f, 0.002056f, -0.001012f, -0.003674f, -0.001363f, -0.004151f, 0.000088f, -0.000179f, -0.004763f, -0.001977f, 0.001931f, -0.000690f, 0.000308f, 0.001072f, 0.000447f, 0.000819f, 0.000605f, -0.001292f, -0.004265f, -0.000766f, -0.001601f, 0.001204f, -0.000546f, 0.000505f, -0.000817f, 0.000037f, -0.000066f, -0.000923f, -0.002678f, -0.002198f, -0.000364f, -0.000969f, -0.001033f, -0.000862f, -0.002007f, -0.000741f, -0.009224f, 0.015442f, -0.003867f, -0.014003f, 0.001085f, 0.004803f, 0.000458f, 0.004428f, 0.003616f, -0.011081f, 0.003981f, -0.002564f, -0.000431f, 0.000475f, -0.002010f, 0.008500f, -0.002598f, -0.005479f, -0.000461f, 0.006799f, 0.004285f, 0.002542f, 0.004004f, 0.016447f, 0.004356f, -0.005606f, 0.007438f, -0.006849f, 0.002300f, -0.005521f, 0.015459f, 0.002435f, -0.005004f, -0.002998f, -0.005017f, -0.001719f, 0.010262f, -0.008149f, -0.006874f, -0.002074f, 0.008502f, 0.004890f, -0.007829f, 0.002244f, 0.001786f, -0.004568f, 0.000242f, -0.016790f, 0.005610f, -0.003851f, -0.003198f, -0.010638f, 0.016172f, 0.000924f, -0.008417f, -0.006606f, -0.008261f, 0.000650f, - -0.001778f, 0.000915f, -0.000045f, -0.009684f, 0.012802f, -0.007220f, -0.006627f, 0.005075f, 0.001372f, 0.005040f, -0.003590f, -0.000748f, -0.007875f, 0.000721f, 0.001722f, -0.010001f, -0.007466f, 0.000739f, -0.006970f, 0.002522f, -0.006234f, -0.001760f, -0.001758f, 0.004457f, -0.008052f, -0.008367f, -0.001711f, -0.001327f, -0.001998f, -0.000539f, -0.003608f, -0.000915f, -0.002626f, -0.002166f, -0.001702f, -0.002610f, -0.003156f, -0.000286f, -0.004238f, 0.001125f, -0.002812f, -0.000011f, 0.000270f, -0.001020f, -0.001596f, -0.000220f, -0.001124f, 0.002187f, -0.000333f, -0.001848f, -0.000109f, -0.003266f, -0.000640f, -0.002003f, 0.000161f, 0.000439f, -0.002240f, 0.013401f, 0.000416f, 0.002899f, -0.011085f, 0.003409f, 0.006369f, 0.004649f, -0.000464f, -0.005559f, 0.014412f, 0.002505f, -0.002871f, 0.006912f, 0.005648f, -0.006737f, 0.008831f, -0.005937f, 0.014563f, 0.002065f, 0.012998f, -0.001418f, 0.002294f, -0.005097f, -0.014715f, 0.001593f, 0.000302f, 0.000505f, -0.002543f, 0.003029f, 0.007771f, -0.001950f, -0.007557f, -0.005003f, -0.010749f, -0.002973f, -0.005293f, -0.005686f, 0.000991f, 0.003705f, - 0.005839f, -0.006912f, 0.004824f, -0.004626f, -0.005748f, -0.000776f, 0.004936f, 0.000925f, 0.001225f, -0.010749f, -0.010370f, -0.001966f, -0.003075f, -0.007859f, 0.017129f, 0.007951f, -0.001082f, 0.003303f, 0.006885f, -0.017279f, -0.008741f, 0.011591f, -0.006460f, 0.010872f, 0.002468f, -0.002263f, -0.011595f, -0.008557f, 0.013791f, 0.007308f, 0.013040f, -0.013693f, -0.000949f, -0.009496f, -0.000757f, 0.003379f, -0.005062f, 0.001615f, 0.001016f, -0.008524f, 0.007661f, 0.000860f, 0.001161f, -0.001388f, -0.015185f, 0.001652f, -0.003655f, -0.004777f, -0.004752f, -0.000917f, 0.002642f, -0.002444f, 0.001178f, -0.005339f, -0.001131f, -0.002444f, 0.003415f, -0.000655f, -0.000411f, -0.001730f, 0.000123f, -0.001808f, 0.001167f, -0.003012f, -0.001445f, 0.001001f, -0.000859f, -0.000184f, -0.000190f, -0.000019f, 0.001404f, 0.000880f, -0.000251f, -0.002111f, -0.002200f, -0.002289f, 0.001979f, 0.000908f, 0.002885f, 0.001521f, 0.001170f, -0.022686f, 0.001085f, -0.003019f, 0.005994f, -0.013777f, 0.004251f, -0.004727f, 0.022696f, -0.006175f, -0.011938f, -0.004451f, -0.010033f, 0.002967f, 0.008353f, -0.002827f, - 0.015830f, 0.001507f, -0.004822f, 0.003717f, 0.001828f, 0.004026f, -0.005766f, -0.001125f, 0.005821f, 0.009230f, 0.003591f, -0.001999f, 0.004379f, -0.008491f, -0.002721f, 0.011639f, 0.008304f, 0.013689f, 0.009697f, -0.000367f, -0.007145f, -0.014879f, 0.010065f, -0.001749f, -0.010863f, 0.005445f, -0.002951f, -0.016651f, 0.000322f, -0.013906f, -0.001202f, 0.012307f, -0.002223f, -0.009398f, -0.004373f, 0.011747f, -0.010412f, -0.017002f, 0.017008f, -0.003366f, -0.004268f, 0.003872f, 0.002066f, 0.001887f, 0.004010f, 0.003984f, 0.002173f, -0.012568f, -0.004826f, 0.009460f, -0.001401f, -0.003827f, 0.002801f, 0.016339f, -0.008460f, -0.009291f, -0.004277f, 0.006607f, 0.003330f, -0.014998f, -0.006702f, -0.005252f, -0.006577f, 0.004741f, -0.000977f, -0.001266f, -0.005618f, -0.004519f, -0.011849f, -0.006907f, 0.002742f, 0.000247f, 0.001778f, -0.000616f, 0.006875f, 0.007067f, 0.001172f, 0.002491f, -0.003708f, 0.000688f, 0.000260f, 0.002804f, -0.004544f, -0.002182f, 0.000473f, -0.000036f, 0.002001f, -0.000228f, -0.002613f, 0.002449f, 0.000886f, -0.005088f, -0.001044f, 0.001290f, 0.000813f, 0.000702f, - -0.001315f, 0.000515f, -0.002481f, -0.002519f, -0.002128f, 0.001111f, -0.001127f, -0.001359f, -0.000428f, -0.019841f, -0.000474f, 0.005242f, 0.018999f, 0.019638f, -0.006399f, 0.009755f, -0.012721f, 0.004117f, 0.008317f, 0.012598f, -0.003745f, 0.018921f, -0.003627f, 0.016042f, -0.008855f, 0.013434f, -0.006839f, -0.022470f, -0.005156f, 0.005553f, -0.007804f, 0.008610f, -0.004921f, -0.005433f, 0.002359f, -0.024624f, -0.008016f, -0.000554f, -0.004344f, -0.001525f, -0.011952f, -0.004150f, -0.004313f, 0.003862f, 0.024980f, 0.014395f, -0.014648f, 0.007921f, 0.019959f, 0.004923f, -0.007109f, 0.004949f, -0.005368f, -0.006012f, 0.014344f, 0.009992f, -0.010112f, -0.001393f, 0.010202f, 0.021450f, -0.007000f, 0.011650f, 0.031828f, 0.013689f, -0.014787f, 0.005903f, 0.003628f, -0.017817f, 0.002581f, -0.014729f, 0.006483f, -0.016046f, -0.003854f, 0.000630f, 0.007491f, -0.010482f, -0.002972f, -0.005211f, -0.009579f, 0.012248f, 0.010467f, -0.000605f, -0.007044f, 0.001875f, 0.001795f, 0.001715f, 0.002886f, 0.009099f, 0.001716f, -0.012149f, -0.000286f, 0.014720f, 0.000397f, 0.003294f, 0.002907f, 0.004454f, - -0.004659f, -0.002154f, -0.007449f, -0.003153f, -0.006859f, -0.000573f, 0.003995f, -0.000891f, -0.003906f, 0.002156f, -0.000832f, 0.000848f, -0.002138f, -0.001442f, 0.002696f, -0.000206f, 0.006517f, 0.001608f, -0.001442f, 0.003468f, -0.000121f, -0.001540f, -0.002513f, -0.003339f, 0.001425f, -0.001763f, -0.000934f, 0.001722f, -0.000201f, 0.003081f, 0.000150f, -0.004011f, 0.008729f, -0.004275f, -0.019986f, 0.004660f, -0.016048f, 0.002637f, -0.005292f, 0.020841f, -0.010522f, 0.002975f, 0.005510f, 0.002103f, 0.007588f, -0.003018f, 0.022806f, 0.001825f, -0.014728f, -0.002707f, -0.010851f, -0.001705f, -0.003507f, -0.010153f, -0.012764f, -0.003245f, -0.008208f, -0.003854f, 0.014602f, 0.005458f, -0.012282f, 0.004847f, -0.014675f, -0.002746f, 0.010734f, -0.020033f, -0.017690f, 0.010128f, 0.009505f, 0.004953f, -0.000575f, -0.012150f, 0.004857f, -0.005971f, -0.011491f, -0.005281f, 0.000646f, 0.003686f, 0.019085f, -0.007477f, -0.002138f, 0.001050f, 0.008908f, 0.004723f, -0.006588f, -0.008483f, -0.015271f, -0.004624f, -0.003374f, -0.008368f, -0.009793f, 0.006290f, 0.012750f, -0.000020f, -0.008132f, 0.014147f, - 0.002722f, -0.006920f, 0.001743f, -0.002021f, -0.001823f, -0.004815f, -0.002741f, 0.009201f, -0.007274f, -0.010873f, -0.006287f, 0.005759f, -0.008437f, 0.014954f, 0.006685f, -0.002418f, -0.006113f, -0.006892f, 0.004244f, 0.009309f, 0.018982f, -0.005436f, 0.009718f, 0.000373f, -0.000030f, 0.001090f, 0.003053f, -0.003444f, 0.000093f, 0.002398f, 0.004000f, -0.002451f, 0.002801f, -0.002096f, 0.009204f, 0.003568f, 0.006923f, 0.000141f, 0.004707f, -0.000191f, 0.004180f, -0.000768f, -0.000372f, 0.004926f, 0.001850f, 0.000655f, 0.002587f, 0.000637f, 0.004818f, -0.003499f, 0.001137f, 0.003354f, 0.004430f, 0.003879f, -0.001458f, -0.004816f, -0.000066f, 0.003144f, 0.000681f, 0.000632f, 0.003983f, 0.010361f, 0.019768f, -0.014744f, -0.000515f, 0.013461f, -0.006441f, -0.009663f, 0.012380f, -0.019533f, -0.001192f, 0.003609f, -0.002539f, -0.007288f, -0.008596f, -0.004138f, 0.003383f, -0.001052f, 0.009354f, 0.004708f, -0.003123f, -0.007446f, -0.005428f, 0.015387f, 0.000607f, -0.018820f, 0.008778f, -0.011907f, -0.011662f, 0.007146f, 0.013559f, 0.013812f, 0.010493f, -0.000339f, 0.007094f, 0.004817f, - 0.006698f, -0.006174f, -0.000304f, -0.005568f, -0.013540f, 0.005690f, -0.003490f, -0.000748f, -0.002980f, 0.001312f, -0.002231f, 0.014959f, 0.027851f, 0.004580f, -0.004819f, -0.000088f, -0.019879f, 0.019294f, -0.013551f, -0.008807f, -0.013040f, -0.015996f, 0.027075f, 0.001474f, -0.015032f, -0.005455f, 0.018686f, 0.009623f, -0.014144f, -0.010586f, 0.021418f, 0.001723f, 0.002223f, 0.027672f, -0.013207f, 0.007597f, -0.009915f, -0.027475f, 0.012923f, 0.013220f, 0.002224f, -0.015865f, -0.002210f, -0.003451f, 0.003300f, -0.006889f, 0.010075f, 0.006187f, -0.021702f, 0.009215f, 0.010428f, 0.013258f, 0.002316f, -0.011623f, 0.019447f, 0.003286f, -0.001700f, -0.001504f, -0.006485f, -0.006863f, -0.002432f, 0.001215f, 0.005894f, -0.000029f, 0.000510f, -0.000641f, -0.005190f, 0.002180f, 0.002387f, 0.001018f, -0.002361f, -0.001460f, 0.003961f, 0.001382f, 0.004507f, -0.002942f, 0.001093f, -0.006833f, 0.000812f, 0.006399f, -0.008572f, 0.001166f, -0.006706f, 0.007826f, -0.003229f, -0.000215f, -0.005210f, -0.000068f, 0.004593f, -0.000582f, 0.006248f, -0.000022f, 0.009333f, 0.011936f, 0.022155f, 0.020287f, - -0.000845f, 0.017293f, 0.007751f, 0.017636f, 0.017035f, -0.028407f, 0.010245f, -0.009210f, -0.012311f, -0.008983f, -0.002717f, -0.018123f, -0.003828f, 0.004401f, -0.015509f, -0.031785f, 0.007227f, -0.002258f, -0.028650f, -0.021023f, -0.018781f, -0.010494f, 0.000984f, -0.005395f, 0.006760f, -0.003796f, 0.011340f, 0.022171f, -0.012740f, 0.007530f, -0.005030f, -0.010183f, -0.007433f, 0.001338f, -0.002212f, -0.000934f, 0.016496f, -0.000699f, 0.016630f, 0.021578f, 0.006418f, 0.009282f, 0.014262f, -0.001887f, 0.002862f, -0.021336f, 0.019901f, -0.017404f, -0.006151f, -0.005556f, 0.001737f, -0.004822f, -0.016622f, -0.014637f, -0.032086f, 0.029033f, -0.032776f, -0.031758f, 0.005340f, 0.030448f, 0.010781f, -0.003950f, -0.007689f, 0.013996f, -0.015401f, 0.017510f, -0.005144f, 0.002216f, 0.001780f, -0.011644f, 0.012184f, -0.013754f, -0.011251f, -0.001333f, 0.004373f, -0.013140f, -0.002097f, 0.007033f, -0.001084f, -0.003618f, 0.009358f, -0.006234f, -0.011828f, -0.002739f, 0.005907f, -0.007840f, -0.004612f, -0.005377f, -0.001238f, 0.003524f, -0.002578f, 0.001036f, -0.002005f, -0.004317f, 0.001172f, -0.002790f, - 0.002681f, -0.002915f, 0.003904f, -0.001231f, 0.007328f, -0.001100f, 0.002803f, 0.003983f, -0.002613f, -0.005036f, -0.000580f, -0.001270f, -0.000348f, -0.001590f, 0.003375f, 0.000127f, 0.004381f, -0.004026f, 0.001510f, -0.008577f, 0.000323f, 0.000312f, -0.003188f, 0.002529f, 0.013295f, 0.017320f, 0.017313f, 0.018846f, 0.044421f, 0.019958f, 0.025391f, -0.012536f, 0.041118f, -0.023465f, 0.001137f, 0.009075f, -0.000179f, -0.015452f, 0.005142f, -0.004261f, -0.035039f, 0.013296f, -0.008819f, 0.003779f, -0.003274f, -0.011597f, 0.000032f, 0.010440f, -0.014143f, -0.007331f, -0.002196f, 0.008260f, -0.021368f, 0.013565f, 0.005126f, -0.019578f, -0.001519f, 0.008010f, -0.017744f, 0.006672f, -0.021282f, 0.009849f, -0.001813f, -0.006870f, -0.000813f, -0.013892f, 0.017906f, 0.021163f, -0.020142f, -0.011499f, 0.009159f, -0.007159f, 0.005642f, 0.005122f, 0.001372f, 0.000700f, 0.024413f, -0.006132f, -0.016290f, 0.015129f, -0.000605f, -0.012815f, -0.010765f, -0.020249f, 0.003926f, 0.005552f, 0.010153f, 0.009755f, -0.009351f, -0.015727f, 0.008831f, 0.004428f, 0.030511f, 0.003236f, -0.003764f, 0.000792f, - 0.002055f, -0.008978f, -0.004009f, -0.011261f, 0.012508f, 0.007241f, 0.008152f, -0.002372f, -0.019477f, -0.017751f, -0.005809f, -0.001560f, -0.006986f, -0.012296f, 0.003482f, -0.005374f, 0.008063f, 0.001434f, -0.001288f, 0.005023f, 0.005204f, 0.008279f, 0.007757f, 0.006256f, -0.000035f, -0.001844f, 0.002219f, 0.005569f, 0.004305f, -0.002464f, -0.002333f, -0.001550f, 0.001431f, -0.000004f, -0.001520f, 0.000110f, -0.009582f, 0.001191f, 0.006280f, 0.004817f, -0.007464f, -0.005367f, 0.010730f, 0.005750f, 0.010641f, 0.004213f, -0.007757f, 0.007394f, -0.001887f, -0.005863f, 0.001156f, -0.008373f, -0.004597f, -0.002125f, 0.003222f, -0.001671f, -0.023995f, -0.026966f, 0.044971f, 0.031356f, 0.040202f, 0.002558f, -0.025817f, 0.009084f, 0.020976f, 0.014931f, -0.006595f, -0.016339f, -0.004816f, -0.006013f, -0.007935f, -0.014069f, -0.005652f, -0.011819f, 0.029976f, 0.004782f, 0.004940f, 0.000216f, 0.001736f, 0.003173f, -0.011098f, 0.019836f, 0.011195f, -0.001196f, 0.007205f, -0.002840f, 0.020417f, 0.003753f, -0.001822f, -0.033438f, -0.002486f, 0.002087f, 0.003172f, -0.006273f, 0.004168f, -0.015846f, - 0.027119f, 0.021965f, 0.021199f, 0.018501f, -0.014571f, -0.020170f, 0.015454f, 0.004754f, 0.007550f, -0.001339f, -0.023479f, -0.016986f, 0.001343f, -0.013245f, 0.000144f, -0.011126f, -0.004848f, 0.014066f, 0.004468f, -0.010061f, 0.003586f, -0.025955f, 0.000783f, -0.043995f, -0.022363f, -0.041567f, 0.035871f, 0.032330f, 0.034508f, 0.041825f, 0.020249f, -0.006932f, -0.018568f, -0.005640f, -0.001038f, 0.005996f, 0.033131f, -0.010956f, -0.025192f, 0.019200f, -0.016037f, 0.008357f, -0.003681f, -0.003633f, 0.007762f, -0.007476f, -0.013631f, -0.003864f, -0.016781f, -0.003569f, -0.015090f, -0.003477f, 0.002103f, -0.001342f, -0.001829f, -0.004109f, -0.005273f, -0.010427f, -0.000169f, 0.005453f, 0.000842f, -0.005259f, 0.001822f, 0.009085f, -0.001238f, 0.006069f, 0.003323f, 0.003586f, 0.002544f, -0.012055f, 0.010531f, -0.004671f, -0.003835f, 0.007059f, 0.002427f, 0.007806f, 0.000786f, -0.010040f, -0.001876f, 0.000199f, 0.001731f, -0.006153f, -0.015958f, -0.021473f, 0.018929f, 0.024562f, -0.012068f, 0.022805f, 0.003214f, -0.009688f, 0.009170f, -0.033061f, -0.010260f, 0.009321f, -0.010536f, -0.020276f, - -0.038213f, 0.018770f, -0.016422f, 0.004417f, 0.024749f, 0.005938f, 0.028858f, 0.022076f, 0.012549f, 0.004736f, -0.017046f, -0.005005f, -0.008925f, 0.001559f, 0.016071f, 0.008376f, 0.003316f, 0.013720f, 0.039237f, -0.002051f, -0.033375f, -0.014657f, 0.005391f, 0.008010f, -0.001913f, 0.000826f, 0.003158f, -0.014238f, 0.000875f, -0.031414f, 0.007064f, -0.032863f, -0.011984f, -0.025448f, 0.012528f, -0.012696f, -0.020881f, 0.031860f, 0.008935f, 0.002596f, -0.014341f, -0.019116f, 0.004772f, 0.007574f, 0.002807f, 0.010381f, -0.016292f, 0.035818f, -0.043493f, 0.011313f, -0.018129f, -0.026401f, -0.014791f, 0.022796f, 0.006870f, -0.024750f, 0.017484f, -0.019710f, 0.048310f, -0.004504f, -0.005303f, -0.023501f, 0.002813f, -0.031351f, -0.016819f, 0.041823f, -0.016836f, -0.018995f, -0.012403f, 0.012505f, 0.001572f, 0.017727f, 0.008837f, 0.009267f, 0.012922f, 0.007022f, -0.001185f, 0.001334f, 0.006164f, 0.002640f, -0.003416f, 0.010384f, -0.003261f, -0.003619f, -0.007825f, -0.007029f, -0.003157f, 0.003832f, -0.006160f, 0.000454f, 0.003014f, -0.002543f, 0.002629f, 0.000486f, 0.010249f, 0.005370f, - -0.000012f, -0.002091f, 0.000019f, -0.000746f, 0.006125f, -0.005445f, 0.005557f, -0.001537f, 0.002461f, 0.008585f, -0.002717f, 0.000449f, -0.001183f, -0.004321f, 0.010517f, -0.001481f, 0.045440f, 0.046759f, 0.044104f, 0.009411f, -0.011828f, -0.007378f, -0.028415f, 0.023073f, 0.000678f, 0.013539f, -0.008503f, 0.004352f, -0.010391f, -0.007994f, -0.016431f, 0.008877f, -0.017109f, 0.028095f, -0.073325f, -0.021349f, 0.000525f, -0.022186f, 0.015759f, -0.022804f, 0.004690f, -0.008811f, 0.023060f, 0.004105f, 0.022198f, 0.001611f, -0.005241f, -0.000354f, 0.008125f, -0.025686f, -0.018457f, -0.019980f, -0.002830f, 0.025006f, -0.049321f, 0.017116f, 0.042889f, 0.005276f, -0.031559f, -0.001240f, -0.026581f, -0.025476f, 0.017641f, -0.003335f, -0.021716f, 0.012073f, 0.001802f, -0.008092f, -0.012272f, 0.007023f, 0.017827f, 0.010835f, -0.025224f, -0.018411f, 0.014421f, 0.021745f, -0.017761f, -0.023463f, 0.011560f, 0.024363f, -0.029632f, -0.001024f, -0.026456f, -0.036302f, 0.043178f, -0.007188f, 0.006665f, -0.008103f, 0.026759f, -0.006314f, 0.006546f, -0.014388f, 0.023275f, 0.012915f, 0.021414f, 0.024761f, - -0.024685f, -0.027244f, -0.011105f, -0.005222f, -0.016363f, -0.040991f, 0.004512f, 0.002229f, -0.000027f, -0.003021f, -0.006659f, -0.005516f, 0.011772f, -0.001037f, -0.005087f, 0.010874f, -0.011996f, -0.006382f, 0.004450f, 0.021354f, -0.006486f, -0.006595f, 0.001043f, -0.002701f, 0.007377f, -0.002586f, -0.001192f, -0.003761f, -0.006005f, -0.015001f, -0.021527f, 0.003807f, -0.001526f, -0.016400f, -0.008203f, 0.004315f, -0.005716f, -0.018580f, -0.010344f, -0.001249f, -0.003236f, 0.001482f, 0.005279f, 0.002216f, -0.000042f, 0.015230f, 0.005257f, 0.023972f, -0.008911f, -0.001189f, -0.035562f, -0.016820f, -0.008538f, -0.030226f, -0.043212f, -0.008450f, -0.014753f, 0.039805f, 0.011629f, 0.059413f, 0.010349f, -0.017663f, 0.007442f, 0.010899f, -0.049409f, 0.002341f, 0.042499f, 0.026833f, -0.028981f, 0.003451f, 0.021013f, -0.039770f, -0.006766f, -0.020137f, 0.016248f, -0.015857f, 0.010557f, 0.002213f, -0.008216f, 0.001679f, -0.000543f, -0.013098f, 0.012957f, -0.027167f, -0.010872f, -0.011929f, -0.033973f, -0.007505f, -0.004856f, 0.000069f, 0.001977f, -0.009611f, -0.010998f, 0.060693f, 0.017967f, -0.024231f, - -0.043726f, -0.016178f, 0.003960f, 0.043727f, -0.011150f, -0.006243f, -0.025148f, -0.007086f, -0.017827f, 0.035752f, -0.029916f, 0.031836f, 0.040555f, -0.041947f, 0.026916f, 0.009818f, -0.018035f, -0.016186f, 0.009581f, 0.018651f, -0.090871f, -0.012529f, -0.000626f, -0.012981f, 0.023357f, -0.012809f, -0.068048f, -0.026896f, -0.020173f, -0.031155f, -0.030257f, 0.004620f, 0.005339f, -0.017951f, -0.015860f, -0.028817f, 0.002408f, -0.011120f, 0.001906f, -0.012925f, -0.014794f, -0.016900f, 0.003232f, -0.004001f, 0.009334f, -0.014747f, 0.006336f, -0.002476f, -0.014845f, -0.030642f, -0.008004f, -0.002534f, 0.009147f, -0.005002f, -0.040273f, 0.007339f, 0.018739f, 0.006886f, -0.001420f, -0.014772f, 0.013622f, -0.002836f, -0.005110f, -0.024874f, -0.004629f, -0.009164f, 0.019355f, -0.003927f, 0.002668f, -0.000789f, 0.003757f, 0.011702f, -0.009731f, -0.000184f, 0.000134f, -0.005351f, 0.000545f, 0.004465f, -0.028984f, -0.025434f, -0.009866f, -0.020777f, -0.014344f, -0.006518f, -0.013090f, -0.016828f, -0.013098f, 0.009969f, 0.059834f, -0.002086f, -0.070317f, -0.039497f, -0.043602f, -0.008429f, -0.024215f, -0.001323f, - -0.035800f, 0.058036f, 0.034487f, -0.006580f, 0.045707f, 0.001017f, 0.049307f, 0.011523f, -0.028735f, -0.039300f, -0.024708f, -0.031787f, -0.014189f, 0.007304f, 0.021209f, -0.007349f, 0.006861f, -0.026356f, 0.004323f, -0.037858f, -0.003494f, -0.002571f, 0.012766f, -0.014504f, 0.059905f, 0.007294f, -0.001642f, 0.039344f, -0.015530f, -0.028711f, -0.016626f, 0.023911f, -0.001917f, -0.016534f, 0.006643f, -0.000737f, 0.051007f, 0.012071f, 0.000133f, -0.020349f, -0.030821f, -0.078381f, 0.005040f, -0.062396f, 0.031333f, 0.105474f, -0.075772f, -0.016812f, 0.017215f, -0.013673f, -0.013302f, -0.021867f, 0.017801f, -0.022445f, -0.073249f, -0.020145f, -0.073027f, -0.015966f, -0.002048f, -0.046519f, -0.006387f, -0.066658f, 0.028735f, -0.007325f, -0.041701f, 0.102096f, 0.008122f, 0.041197f, 0.035303f, 0.055985f, -0.034676f, -0.003083f, -0.020834f, -0.008356f, -0.014034f, 0.026172f, 0.017305f, 0.023423f, -0.049768f, -0.010849f, -0.026974f, -0.035944f, -0.029202f, -0.018873f, -0.003707f, 0.018708f, 0.016411f, 0.010353f, 0.014538f, -0.004843f, 0.004880f, 0.027093f, -0.004901f, 0.026786f, 0.008441f, -0.024910f, - -0.006286f, 0.007686f, -0.010090f, -0.005001f, 0.032848f, -0.000406f, -0.009551f, 0.035493f, -0.016522f, -0.003503f, -0.029624f, -0.008273f, -0.020548f, 0.014765f, -0.015607f, -0.008133f, -0.005681f, 0.005010f, -0.006684f, 0.013188f, 0.000782f, 0.013654f, 0.004562f, -0.006590f, -0.022185f, -0.123700f, -0.013205f, -0.031878f, -0.034851f, 0.044582f, 0.035307f, -0.043585f, -0.034505f, 0.084367f, -0.009928f, 0.027130f, 0.004047f, -0.004788f, -0.010091f, -0.009574f, -0.027832f, -0.000671f, 0.009469f, 0.014804f, 0.009934f, 0.029915f, -0.024102f, -0.000953f, -0.023493f, -0.014196f, 0.009089f, 0.042591f, 0.027329f, 0.037560f, 0.033749f, -0.008032f, 0.012031f, 0.020025f, -0.000233f, -0.035234f, -0.006621f, 0.047849f, -0.008911f, -0.069341f, -0.030643f, 0.007139f, -0.058680f, -0.025692f, -0.060124f, -0.041571f, -0.037671f, 0.054869f, 0.037575f, -0.012476f, 0.037614f, 0.014099f, 0.053167f, 0.035415f, 0.016934f, -0.094472f, -0.021227f, 0.003732f, -0.082842f, -0.060929f, -0.023443f, -0.016582f, -0.096980f, 0.020331f, 0.053270f, 0.071200f, 0.085714f, -0.029448f, -0.056241f, -0.001162f, -0.056736f, -0.042586f, - -0.078697f, -0.087831f, -0.061860f, -0.052510f, 0.057605f, 0.001944f, 0.011400f, -0.053413f, -0.055595f, -0.050259f, -0.005187f, 0.075193f, 0.095974f, 0.001908f, -0.035544f, -0.027808f, -0.039045f, -0.101709f, -0.045384f, -0.045715f, -0.012693f, -0.004629f, -0.023189f, 0.025654f, -0.000400f, -0.008709f, -0.036300f, -0.047801f, -0.024865f, -0.027357f, -0.041768f, -0.010123f, -0.010895f, -0.005004f, -0.011478f, -0.019949f, 0.024730f, 0.014487f, -0.002976f, -0.023875f, 0.016186f, 0.026344f, 0.001705f, -0.024490f, -0.012679f, 0.018115f, 0.004874f, -0.006274f, -0.022851f, 0.018084f, -0.004890f, -0.008416f, 0.001872f, 0.013790f, 0.003494f, -0.005375f, 0.002003f, 0.010449f, -0.037910f, -0.092075f, 0.036341f, 0.004769f, -0.062487f, 0.059005f, 0.029521f, 0.018401f, -0.013316f, -0.055865f, -0.013700f, 0.001994f, 0.055188f, 0.073069f, 0.004761f, 0.019995f, 0.005236f, 0.002598f, -0.002879f, 0.010155f, -0.029872f, 0.102728f, 0.025189f, -0.033135f, -0.032846f, -0.014594f, 0.005146f, 0.050343f, -0.023585f, -0.007324f, 0.000678f, 0.025598f, -0.023636f, 0.013600f, 0.002420f, -0.005412f, -0.083851f, -0.026273f, - 0.027884f, 0.044056f, 0.016353f, -0.009230f, -0.023594f, -0.055645f, -0.005271f, 0.009316f, -0.012422f, 0.001149f, -0.013698f, -0.035832f, 0.037159f, -0.008212f, 0.013892f, -0.038347f, -0.007124f, 0.098606f, 0.008373f, -0.010798f, 0.012498f, 0.012968f, 0.010304f, 0.049692f, -0.017136f, -0.022331f, 0.038048f, -0.004100f, 0.023019f, 0.013776f, 0.033339f, -0.012376f, -0.035474f, 0.018594f, -0.015741f, 0.002981f, 0.140347f, 0.134057f, 0.061409f, -0.011877f, -0.005645f, 0.017009f, 0.064325f, 0.029220f, -0.017481f, -0.002037f, -0.007013f, -0.035525f, -0.036473f, 0.020787f, 0.011767f, 0.005425f, 0.032886f, -0.004158f, -0.016182f, 0.018768f, 0.009351f, 0.027677f, -0.038740f, -0.032711f, -0.039359f, 0.006114f, -0.016842f, 0.002328f, -0.006652f, 0.014809f, 0.018056f, 0.034318f, 0.021484f, -0.036365f, -0.025213f, 0.013103f, -0.020736f, -0.012745f, 0.004482f, 0.011869f, -0.013344f, -0.035803f, -0.002261f, 0.001255f, -0.001318f, 0.015908f, 0.006049f, -0.028911f, 0.010772f, 0.046770f, 0.055652f, 0.040065f, 0.047817f, 0.032836f, 0.043362f, -0.011170f, -0.000521f, 0.035734f, 0.066211f, 0.007157f, - -0.074069f, -0.020964f, 0.013922f, 0.008725f, -0.019332f, 0.052369f, 0.024966f, 0.019147f, -0.020070f, 0.061618f, -0.005910f, -0.000427f, -0.019203f, 0.031930f, 0.020385f, -0.050716f, -0.073245f, -0.021892f, 0.009821f, 0.002129f, -0.015723f, -0.067360f, -0.008659f, 0.021365f, 0.003163f, -0.023990f, -0.011177f, -0.021650f, -0.027261f, 0.013374f, 0.016494f, -0.043937f, -0.049103f, -0.018348f, -0.060404f, 0.013801f, 0.049004f, -0.046885f, 0.047027f, -0.025173f, -0.029229f, -0.052407f, -0.072193f, -0.081007f, -0.076721f, -0.040566f, -0.002147f, 0.026132f, 0.010955f, 0.025991f, -0.041481f, -0.090175f, -0.036798f, -0.086779f, -0.150342f, -0.058741f, 0.117305f, 0.202267f, 0.117784f, -0.052466f, -0.042422f, -0.184128f, -0.165362f, 0.111186f, 0.017720f, 0.146770f, 0.152397f, 0.158231f, 0.051993f, -0.066479f, -0.081616f, -0.091193f, -0.103590f, -0.017215f, 0.099086f, 0.168601f, 0.052670f, 0.015282f, -0.009843f, -0.087828f, -0.127088f, -0.086901f, 0.014307f, 0.115528f, 0.053143f, 0.073879f, 0.060259f, 0.020175f, -0.046848f, -0.052495f, 0.000143f, -0.030345f, 0.007607f, 0.055008f, 0.059340f, 0.042327f, - 0.006992f, 0.020108f, -0.001057f, -0.041896f, 0.006276f, 0.012917f, -0.008161f, 0.003648f, -0.013159f, 0.080692f, 0.046607f, 0.049963f, 0.030031f, -0.032180f, -0.075842f, -0.107837f, 0.013679f, 0.033048f, 0.068481f, 0.067597f, 0.089290f, 0.040942f, -0.069779f, -0.088041f, -0.104891f, -0.021849f, -0.002338f, 0.051856f, 0.029812f, 0.013603f, 0.027801f, -0.055346f, -0.154021f, -0.105763f, -0.095902f, -0.025701f, 0.009590f, 0.030558f, -0.011884f, -0.025075f, -0.037511f, -0.006608f, 0.014233f, -0.046518f, 0.065133f, 0.031317f, 0.057831f, -0.127168f, 0.028802f, 0.017215f, -0.039154f, 0.028537f, -0.029308f, -0.014414f, -0.008787f, -0.018151f, 0.054716f, 0.100973f, -0.029392f, 0.020328f, -0.014137f, 0.024230f, 0.051244f, -0.015653f, -0.009458f, -0.027893f, 0.014650f, -0.017674f, -0.055789f, 0.040715f, 0.068529f, -0.008968f, -0.036080f, -0.032860f, -0.072464f, -0.019823f, 0.054666f, 0.037343f, 0.018930f, -0.079529f, -0.046412f, -0.034603f, 0.070270f, 0.061307f, 0.053419f, -0.155342f, -0.103724f, -0.012421f, 0.076639f, 0.164353f, 0.000405f, -0.197236f, -0.072780f, 0.006804f, 0.066312f, -0.005218f, - 0.036268f, 0.027861f, -0.086521f, -0.037522f, -0.024152f, -0.051456f, 0.003273f, -0.096829f, 0.014870f, 0.038744f, -0.117700f, -0.074822f, -0.036955f, -0.014696f, 0.129520f, -0.000427f, -0.199765f, 0.019526f, 0.027692f, 0.030828f, 0.078127f, 0.037039f, -0.085615f, 0.004713f, -0.003727f, 0.171032f, 0.119872f, -0.099557f, 0.090674f, -0.052835f, 0.035764f, 0.094714f, 0.033351f, -0.051165f, 0.046783f, -0.020124f, 0.011593f, 0.033247f, -0.004072f, -0.034403f, 0.063926f, -0.040866f, 0.046675f, -0.021497f, 0.024808f, -0.007075f, 0.051261f, -0.017460f, 0.040120f, -0.070372f, -0.012982f, -0.000058f, -0.010074f, 0.023683f, 0.043468f, -0.044372f, 0.090396f, -0.034822f, -0.032205f, -0.061275f, 0.044683f, 0.096799f, 0.018063f, -0.125323f, 0.009297f, -0.027403f, 0.060455f, 0.031244f, 0.026707f, -0.049690f, -0.004513f, -0.031206f, 0.029534f, -0.012013f, -0.021365f, -0.006232f, 0.040342f, -0.008757f, -0.026720f, -0.029971f, 0.022296f, 0.005001f, 0.021137f, -0.012570f, -0.000762f, -0.022594f, -0.003183f, -0.003547f, 0.009934f, 0.005187f, 0.023871f, 0.044015f, -0.105174f, 0.014919f, -0.077226f, 0.014063f, - 0.065553f, 0.057956f, 0.018976f, -0.037588f, 0.007520f, -0.022340f, -0.005532f, -0.027718f, -0.020481f, 0.014224f, 0.003827f, -0.040346f, -0.004651f, 0.020975f, -0.004489f, 0.002358f, 0.007594f, -0.025741f, -0.025492f, -0.000679f, 0.016856f, 0.002228f, -0.041024f, 0.003410f, 0.021028f, 0.006596f, 0.004882f, 0.042897f, -0.004737f, -0.011452f, 0.015373f, 0.016418f, -0.029031f, -0.032193f, 0.023854f, 0.004607f, -0.024722f, 0.016583f, 0.007177f, 0.008029f, -0.017298f, 0.006954f, 0.019439f, 0.002335f, -0.024339f, 0.032994f, -0.004019f, -0.037012f, 0.001106f, 0.028943f, 0.009017f, -0.024225f, 0.022023f, 0.007291f, -0.033768f, 0.013871f, 0.001728f, 0.034459f, -0.031250f, 0.002804f, 0.023738f, -0.054711f, 0.001737f, 0.023611f, -0.000918f, 0.016363f, -0.009105f, -0.035026f, 0.004641f, -0.037062f, 0.034776f, 0.017956f, 0.009798f, -0.013775f, -0.014530f, 0.028733f, -0.024776f, 0.025640f, 0.028159f, -0.040283f, -0.013083f, 0.001724f, 0.031181f, 0.000488f, -0.018089f, 0.011553f, -0.021907f, -0.001312f, 0.003165f, 0.018416f, 0.001253f, 0.003030f, -0.011324f, 0.019169f, -0.006422f, -0.022362f, - 0.020334f, -0.009029f, 0.008766f, -0.005063f, 0.014660f, 0.018531f, -0.021283f, 0.003728f, -0.011537f, 0.005020f, -0.011723f, 0.041205f, -0.011653f, -0.023105f, 0.018580f, -0.010402f, -0.003508f, -0.011749f, 0.012144f, 0.011229f, -0.016672f, 0.009338f, 0.016215f, -0.008383f, 0.001071f, -0.022979f, -0.052039f, 0.085341f, 0.012067f, 0.038610f, -0.033179f, 0.014774f, -0.007162f, 0.010351f, 0.009364f, -0.014200f, 0.005776f, 0.015686f, -0.008949f, 0.034078f, 0.001589f, 0.001183f, 0.011630f, 0.011202f, -0.001200f, -0.008583f, 0.014592f, -0.002163f, -0.009957f, -0.001966f, 0.014666f, -0.015650f, 0.003452f, 0.007231f, -0.019952f, 0.025151f, -0.004887f, -0.011950f, 0.038548f, -0.015711f, -0.022532f, 0.017785f, 0.009883f, -0.010492f, 0.016799f, 0.013473f, -0.004504f, -0.005282f, -0.002852f, 0.005144f, 0.009736f, 0.005749f, 0.000091f, -0.006504f, 0.019961f, -0.020953f, 0.019150f, 0.003106f, -0.002143f, 0.005437f, 0.006194f, 0.006301f, 0.001043f, -0.018633f, 0.005458f, 0.016323f, -0.011325f, 0.000087f, 0.000211f, 0.012468f, -0.001039f, -0.004648f, 0.018826f, -0.009320f, 0.010209f, -0.019152f, - -0.006926f, 0.018833f, -0.017563f, 0.018112f, -0.004440f, 0.011974f, 0.014666f, -0.016246f, -0.005338f, 0.020423f, -0.016705f, -0.000753f, 0.002364f, 0.006274f, 0.001753f, -0.002173f, 0.000992f, 0.001651f, 0.009608f, -0.007858f, 0.002310f, 0.006101f, -0.000351f, -0.004004f, 0.001293f, 0.003635f, -0.000556f, 0.001335f, -0.003281f, 0.004348f, 0.006095f, -0.010080f, -0.001367f, 0.017788f, -0.008292f, 0.005168f, -0.001042f, 0.010190f, 0.003115f, -0.005445f, 0.001393f, -0.000978f, -0.005616f, -0.003963f, 0.021097f, -0.003427f, -0.004513f, 0.003101f, 0.002590f, -0.001507f, 0.004696f, 0.008699f, 0.000543f, 0.002347f, 0.001068f, -0.001717f, 0.001557f, 0.002632f, -0.003697f, 0.002878f, 0.000016f, 0.019856f, -0.070468f, -0.225166f, -0.011522f, 0.121246f, 0.054382f, 0.258364f, 0.021980f, 0.054513f, 0.002212f, -0.075422f, -0.094988f, -0.064362f, -0.115743f, -0.081002f, -0.050961f, 0.001777f, 0.088273f, 0.173938f, 0.127998f, 0.111385f, 0.036245f, -0.060641f, -0.089026f, -0.080056f, -0.094333f, -0.104627f, -0.042434f, -0.020120f, -0.009188f, 0.050951f, 0.067672f, 0.050999f, 0.094627f, 0.061057f, - 0.022632f, 0.063451f, 0.001440f, -0.027681f, -0.018295f, -0.057115f, -0.116994f, -0.071178f, -0.068507f, -0.069900f, 0.003616f, 0.032437f, 0.022447f, 0.085863f, 0.070454f, 0.048489f, 0.069298f, 0.073628f, 0.020866f, 0.022008f, -0.007875f, -0.063588f, -0.088266f, -0.067535f, -0.088465f, -0.063000f, -0.021980f, -0.015668f, 0.005443f, 0.048055f, 0.037693f, 0.033918f, 0.067998f, 0.056100f, 0.041320f, 0.070117f, 0.019249f, -0.014528f, -0.002905f, -0.028305f, -0.061022f, -0.035610f, -0.077198f, -0.097706f, -0.057516f, -0.048693f, -0.021089f, 0.056515f, 0.076468f, 0.071165f, 0.082268f, 0.067547f, 0.038498f, 0.036955f, 0.018007f, -0.008106f, -0.020897f, -0.039402f, -0.057988f, -0.058230f, -0.065629f, -0.069089f, -0.058928f, -0.020258f, -0.006939f, 0.023030f, 0.059300f, 0.065820f, 0.065319f, 0.076112f, 0.060709f, 0.045264f, 0.037827f, 0.012224f, -0.029447f, -0.052713f, -0.085528f, -0.109450f, -0.102270f, -0.081287f, -0.040771f, 0.010145f, 0.054880f, 0.075077f, 0.086689f, 0.090106f, 0.077975f, 0.054871f, 0.028150f, -0.018179f, -0.044269f, -0.058833f, -0.067946f, -0.059747f, -0.044748f, -0.031156f, - -0.012741f, 0.014045f, 0.018985f, 0.025538f, 0.029719f, 0.026124f, 0.021056f, 0.016497f, 0.011347f, 0.009634f, 0.004452f, -0.003667f, -0.005652f, -0.006129f, -0.009131f, -0.010399f, -0.013026f, -0.015639f, -0.016897f, -0.013914f, -0.010305f, -0.005734f, 0.000142f, 0.008219f, 0.011113f, 0.008551f, 0.005297f, 0.003626f, 0.003020f}, - {-0.005147f, 0.001241f, 0.006039f, -0.000524f, 0.000548f, -0.008937f, -0.004491f, 0.001329f, 0.011865f, -0.007639f, 0.002484f, -0.012307f, 0.012649f, 0.000842f, 0.004641f, -0.001444f, 0.002012f, -0.002363f, -0.004330f, -0.010696f, 0.004543f, -0.010724f, -0.005005f, -0.006044f, 0.006106f, 0.004858f, 0.002347f, 0.005063f, 0.009538f, 0.000639f, -0.008630f, 0.005704f, 0.000945f, -0.000388f, 0.004678f, -0.001698f, -0.003118f, -0.012618f, 0.002070f, -0.003599f, 0.002785f, 0.005333f, -0.006837f, -0.002706f, 0.006266f, 0.001987f, 0.000764f, -0.006411f, 0.016254f, 0.009810f, 0.001614f, 0.007882f, 0.006480f, 0.006293f, -0.014809f, 0.000959f, -0.001413f, -0.003894f, 0.003667f, 0.002497f, -0.002351f, -0.002734f, -0.000767f, -0.004401f, 0.004409f, -0.001636f, 0.008665f, -0.000278f, -0.002174f, -0.004055f, -0.007521f, -0.001338f, 0.005850f, -0.000208f, 0.001365f, 0.006891f, 0.001904f, 0.007964f, -0.000123f, 0.001248f, -0.000781f, 0.008560f, 0.007593f, 0.007683f, 0.001698f, 0.000041f, 0.003433f, -0.000120f, 0.001087f, 0.000212f, 0.000423f, -0.000585f, -0.002326f, -0.001953f, -0.000400f, -0.002244f, - 0.001129f, 0.001215f, -0.000940f, 0.002549f, -0.000945f, -0.000672f, -0.000472f, 0.001079f, 0.000327f, 0.002287f, 0.000235f, 0.000087f, 0.000223f, 0.002951f, 0.001467f, -0.000164f, -0.000734f, 0.000191f, -0.000363f, 0.000765f, 0.003042f, 0.000705f, 0.003867f, 0.013453f, -0.006514f, 0.004496f, -0.003704f, -0.005824f, -0.002385f, -0.004032f, 0.007352f, -0.006063f, -0.011252f, -0.002872f, 0.002973f, -0.009381f, -0.005663f, 0.010601f, 0.018319f, -0.003084f, 0.007008f, -0.006277f, -0.006601f, -0.000291f, 0.001941f, -0.000804f, -0.000178f, 0.006797f, -0.011599f, 0.003790f, -0.000844f, -0.002432f, -0.009774f, 0.000853f, 0.000242f, 0.005515f, 0.001665f, -0.007659f, 0.010117f, -0.008040f, 0.009441f, -0.001060f, 0.001726f, 0.003832f, -0.001092f, -0.004718f, 0.007388f, 0.001809f, 0.009866f, 0.001497f, -0.008665f, 0.015744f, 0.012539f, -0.004369f, -0.001264f, -0.003038f, -0.010924f, -0.005924f, -0.001781f, -0.001891f, 0.004443f, -0.006032f, 0.000509f, 0.004309f, 0.000045f, -0.000175f, -0.000671f, -0.001045f, -0.005948f, 0.009511f, 0.000338f, -0.000219f, -0.002970f, -0.001074f, -0.008702f, -0.007783f, - 0.002608f, 0.006341f, -0.000761f, -0.001665f, 0.000035f, -0.000083f, -0.004432f, 0.008514f, 0.001214f, 0.002804f, -0.002170f, 0.002308f, 0.001513f, -0.000376f, -0.000101f, -0.000398f, 0.000174f, 0.001998f, -0.001064f, 0.001256f, 0.001430f, -0.000291f, -0.000281f, 0.001031f, 0.002348f, 0.002009f, -0.001390f, 0.000536f, 0.000773f, -0.001159f, -0.000562f, 0.003170f, -0.000375f, -0.000192f, -0.002434f, -0.002346f, -0.003779f, -0.001468f, -0.014112f, 0.017170f, -0.003857f, -0.002120f, 0.012240f, -0.004913f, 0.006266f, 0.027318f, -0.003385f, 0.000726f, -0.010583f, -0.008560f, -0.013160f, 0.007481f, -0.005494f, 0.003608f, 0.007099f, -0.008319f, -0.007127f, -0.005245f, 0.000489f, 0.002610f, -0.010257f, -0.004073f, 0.004337f, 0.003717f, -0.004130f, -0.001744f, 0.006103f, -0.006496f, 0.000897f, -0.003273f, -0.001260f, -0.004550f, 0.003702f, -0.004182f, 0.001586f, 0.003549f, -0.001780f, 0.011433f, 0.000383f, -0.001653f, -0.008620f, 0.000926f, 0.012219f, 0.001613f, 0.004057f, -0.011365f, -0.016202f, -0.005940f, -0.013953f, -0.012323f, -0.000424f, -0.005369f, -0.000583f, -0.014930f, 0.012591f, -0.013829f, - 0.001917f, 0.009327f, -0.008606f, -0.014445f, -0.010313f, -0.003104f, 0.009433f, 0.008373f, 0.012659f, -0.007599f, -0.006696f, -0.005370f, -0.004625f, 0.009144f, 0.002277f, -0.003904f, -0.002143f, 0.004308f, 0.004903f, 0.001434f, 0.002208f, 0.003118f, -0.000791f, -0.005393f, -0.000957f, -0.003598f, 0.001238f, 0.000378f, 0.001075f, 0.000978f, 0.000190f, 0.002151f, 0.000210f, 0.002522f, 0.000171f, -0.002035f, 0.002569f, -0.003147f, -0.002084f, 0.000546f, -0.000889f, 0.002587f, -0.001697f, -0.001288f, -0.000610f, 0.000282f, -0.001122f, -0.001914f, 0.001626f, -0.000651f, 0.001181f, -0.001626f, -0.001567f, -0.001912f, -0.002208f, -0.001411f, -0.002015f, 0.014940f, 0.001551f, -0.006009f, 0.000845f, -0.004974f, -0.001110f, 0.010456f, 0.017535f, -0.005997f, -0.006141f, -0.015914f, 0.002010f, 0.003996f, 0.009050f, -0.006001f, 0.009758f, 0.001548f, 0.015030f, -0.012064f, 0.001926f, -0.022782f, -0.002518f, 0.002725f, -0.005579f, -0.005122f, -0.002024f, 0.008401f, -0.006890f, -0.011973f, 0.003385f, -0.017568f, -0.003846f, -0.008436f, 0.003860f, -0.001865f, 0.005928f, 0.000789f, -0.013415f, -0.014463f, - 0.000378f, 0.007717f, 0.014307f, -0.002835f, -0.005850f, 0.012011f, -0.013254f, -0.007185f, 0.006364f, 0.005719f, 0.009459f, -0.009035f, 0.000313f, 0.003685f, -0.005734f, -0.001905f, 0.005574f, -0.008195f, 0.010676f, -0.004633f, -0.002018f, -0.011396f, -0.009522f, 0.004613f, -0.000054f, 0.000245f, -0.001645f, -0.006979f, 0.006598f, -0.004374f, 0.008211f, -0.000108f, -0.010939f, -0.011406f, 0.004152f, -0.005717f, 0.002009f, -0.016247f, -0.015589f, -0.002440f, 0.014604f, 0.000148f, -0.003056f, 0.000775f, 0.002073f, 0.001612f, -0.000710f, 0.002388f, -0.007673f, 0.001478f, 0.001247f, 0.002371f, 0.002899f, 0.003321f, 0.001678f, -0.004220f, 0.000269f, 0.003837f, 0.001698f, 0.001083f, -0.002177f, -0.002546f, 0.000562f, 0.000064f, -0.000924f, 0.003618f, -0.000119f, -0.000172f, -0.002508f, 0.004503f, 0.003598f, -0.000136f, 0.000269f, -0.002093f, 0.001223f, 0.001468f, 0.000562f, 0.000290f, 0.001403f, -0.001874f, 0.008999f, -0.024294f, 0.005697f, -0.010527f, 0.008998f, 0.010273f, -0.011458f, -0.021296f, 0.003050f, -0.002805f, 0.013573f, -0.008079f, 0.019633f, -0.008203f, 0.013009f, -0.015984f, - -0.005888f, 0.006738f, 0.009686f, 0.002741f, -0.000017f, -0.009791f, -0.001240f, -0.007695f, -0.009619f, 0.005403f, -0.008202f, 0.003269f, 0.001947f, 0.004019f, -0.004640f, 0.009153f, -0.001658f, 0.007883f, -0.001717f, -0.014978f, -0.002452f, -0.004765f, 0.001572f, 0.015033f, 0.001000f, -0.001252f, -0.000725f, -0.006040f, 0.005244f, -0.005692f, 0.007975f, 0.008605f, 0.003169f, 0.003333f, 0.015166f, -0.003703f, -0.002671f, -0.012049f, 0.008669f, 0.007632f, 0.001660f, 0.001994f, 0.001652f, 0.000671f, 0.004486f, 0.009244f, 0.006216f, 0.003550f, 0.003420f, -0.002305f, 0.012072f, 0.004135f, -0.002407f, -0.009185f, 0.004755f, -0.002699f, 0.017599f, 0.009992f, 0.002287f, -0.008041f, -0.002942f, 0.013400f, -0.005113f, 0.001795f, 0.007821f, -0.004262f, -0.005301f, -0.010559f, 0.001426f, 0.003926f, -0.000759f, 0.005151f, -0.004071f, -0.001507f, -0.003155f, 0.003793f, -0.000240f, -0.001126f, -0.005004f, 0.001276f, 0.001388f, 0.003111f, 0.003687f, -0.001160f, 0.000681f, 0.004039f, -0.000222f, 0.004098f, -0.000197f, 0.001283f, 0.006027f, 0.001295f, 0.006193f, -0.000397f, -0.001249f, -0.000315f, - -0.000448f, 0.000274f, 0.000519f, -0.004538f, 0.001796f, 0.003762f, 0.000472f, 0.001560f, -0.001024f, -0.031332f, -0.017006f, 0.006330f, -0.006095f, 0.012644f, 0.012616f, 0.019024f, 0.007889f, 0.007712f, 0.004715f, -0.022832f, -0.005087f, -0.003137f, 0.002078f, -0.002267f, 0.007141f, 0.005074f, -0.008759f, -0.006997f, 0.005898f, 0.011149f, 0.014068f, 0.012123f, 0.015976f, -0.008726f, -0.008698f, -0.011578f, 0.012325f, -0.007100f, 0.010188f, -0.002562f, -0.000502f, -0.010846f, -0.006478f, -0.006202f, 0.009257f, 0.011383f, 0.002035f, 0.011378f, 0.016305f, -0.006466f, 0.004143f, 0.019106f, -0.009582f, 0.006201f, 0.006506f, 0.000715f, 0.014392f, 0.018406f, 0.014025f, 0.031925f, 0.005958f, -0.004539f, -0.005886f, -0.005481f, -0.000320f, 0.005611f, 0.009708f, -0.001777f, -0.003102f, -0.003391f, -0.008531f, 0.003580f, 0.004650f, 0.008259f, -0.019907f, -0.002753f, 0.005067f, 0.013205f, 0.009247f, -0.017046f, -0.012587f, 0.003195f, 0.003210f, 0.013774f, -0.012125f, 0.000742f, -0.001202f, 0.001434f, -0.017263f, -0.004707f, -0.005929f, -0.004228f, -0.007079f, -0.003019f, 0.000571f, 0.006602f, - 0.000013f, 0.000337f, 0.002615f, 0.003136f, -0.006576f, -0.001085f, 0.000521f, -0.000016f, 0.002387f, -0.002325f, -0.004287f, -0.002976f, -0.003266f, 0.004650f, -0.004490f, -0.002230f, -0.005172f, 0.001249f, -0.001085f, 0.003283f, -0.004731f, 0.001938f, -0.001581f, 0.001900f, 0.001814f, 0.000271f, 0.004159f, -0.003988f, 0.002067f, 0.002197f, 0.000722f, 0.004732f, 0.007616f, 0.015199f, -0.001912f, 0.003145f, 0.013001f, 0.019067f, 0.010758f, -0.020937f, 0.000118f, -0.022279f, -0.015788f, -0.009540f, -0.001807f, -0.013612f, 0.016362f, 0.006087f, 0.009705f, -0.027725f, -0.001944f, 0.018224f, 0.009290f, -0.008097f, -0.011629f, -0.007077f, 0.007135f, -0.021196f, -0.001191f, -0.013601f, 0.020961f, -0.002698f, -0.006066f, 0.002287f, -0.000698f, -0.003527f, 0.003740f, -0.005467f, 0.009760f, 0.006967f, 0.014006f, -0.000974f, 0.000760f, 0.021607f, -0.006770f, 0.014484f, -0.002296f, -0.002471f, 0.038001f, 0.004586f, -0.004024f, -0.008507f, -0.029314f, 0.003161f, -0.030045f, -0.004997f, 0.031727f, -0.008874f, -0.006116f, -0.021949f, -0.006414f, 0.000853f, -0.011793f, 0.006435f, -0.001109f, -0.016066f, - 0.017187f, 0.006207f, 0.005623f, 0.004792f, -0.011900f, 0.013172f, -0.020425f, 0.005995f, 0.007899f, 0.000940f, -0.002672f, -0.008205f, -0.006470f, -0.008358f, -0.002669f, 0.006878f, 0.008784f, -0.002125f, -0.007118f, -0.004153f, 0.009787f, 0.004086f, 0.018699f, -0.000241f, 0.001445f, 0.007686f, -0.000738f, -0.003349f, -0.002549f, -0.002267f, -0.002023f, -0.002986f, 0.002229f, -0.003421f, -0.000099f, 0.003901f, 0.001433f, 0.003977f, 0.003783f, 0.003108f, 0.000372f, 0.005733f, 0.004110f, 0.002533f, 0.001766f, 0.001811f, -0.005851f, -0.004891f, 0.004307f, 0.000718f, -0.003595f, 0.000757f, -0.004093f, 0.001307f, 0.004752f, 0.001836f, -0.000761f, 0.001850f, 0.004081f, 0.001027f, -0.003242f, 0.001878f, 0.012545f, -0.024759f, 0.010927f, -0.008623f, -0.012432f, -0.011844f, 0.009650f, 0.012281f, 0.007235f, 0.021168f, 0.015665f, 0.003305f, 0.006496f, -0.016284f, 0.003516f, 0.007584f, 0.016460f, 0.003324f, -0.007633f, 0.006121f, 0.007785f, -0.014579f, 0.002334f, -0.014959f, 0.011987f, 0.010934f, 0.014032f, -0.013294f, 0.008411f, 0.015007f, -0.006526f, 0.003999f, 0.019873f, -0.000435f, - -0.012006f, -0.009536f, 0.004575f, -0.003090f, -0.012204f, -0.004929f, 0.000421f, 0.003057f, 0.006917f, -0.008372f, 0.013931f, 0.008521f, -0.002952f, 0.016753f, -0.001856f, 0.006456f, 0.021933f, -0.022941f, 0.042836f, -0.019462f, 0.006056f, 0.013024f, -0.004256f, -0.002214f, 0.005594f, 0.029048f, -0.001380f, -0.003834f, -0.000665f, -0.006694f, 0.014230f, 0.015906f, -0.004843f, 0.006898f, 0.005794f, 0.005296f, 0.009835f, 0.012560f, 0.001221f, 0.013569f, 0.003089f, -0.011352f, -0.017524f, 0.004398f, 0.001946f, 0.008291f, 0.003671f, 0.026897f, -0.002497f, 0.015094f, 0.012243f, -0.008124f, -0.015032f, -0.001625f, 0.001929f, 0.004114f, -0.003934f, 0.007040f, 0.003440f, -0.006403f, -0.001594f, -0.006107f, -0.002103f, 0.004063f, -0.001811f, 0.005922f, -0.001257f, 0.002225f, 0.001680f, -0.002519f, 0.003256f, 0.003654f, -0.005117f, 0.003728f, 0.002580f, 0.001272f, 0.001462f, -0.000029f, 0.001232f, 0.006554f, 0.002193f, -0.002112f, 0.001356f, 0.001915f, 0.003365f, 0.004096f, -0.001012f, -0.004269f, -0.001082f, -0.003711f, -0.002704f, 0.004885f, 0.014084f, 0.018575f, 0.011383f, -0.019906f, - 0.037909f, -0.012031f, 0.007108f, -0.027959f, 0.010983f, -0.024732f, 0.018995f, 0.001909f, -0.005413f, -0.014020f, 0.017945f, 0.002353f, 0.011405f, 0.011838f, 0.005984f, -0.020828f, 0.010496f, -0.012628f, -0.002432f, 0.009319f, 0.010062f, 0.002322f, -0.003998f, -0.020859f, 0.002763f, 0.019127f, 0.002002f, 0.012369f, 0.013736f, -0.021771f, 0.011823f, -0.011086f, -0.011061f, 0.016003f, 0.017610f, 0.009200f, 0.009838f, 0.002742f, 0.009420f, -0.022425f, -0.010160f, -0.007177f, 0.000473f, 0.023824f, 0.011271f, 0.009428f, -0.001942f, 0.010465f, -0.000718f, 0.026249f, 0.009507f, 0.009947f, 0.003824f, -0.001482f, -0.039058f, 0.014395f, 0.008986f, -0.003607f, -0.002960f, -0.029028f, 0.000055f, -0.011099f, 0.006717f, 0.025269f, -0.004470f, -0.014467f, 0.029239f, -0.001320f, 0.016406f, -0.009820f, -0.000144f, -0.018380f, -0.001954f, 0.000364f, -0.032106f, -0.009460f, -0.005761f, -0.014308f, -0.006917f, -0.002799f, 0.001726f, 0.015978f, 0.000891f, -0.000354f, -0.003378f, -0.008200f, -0.001628f, 0.001510f, -0.003339f, 0.001173f, 0.000072f, 0.004318f, -0.007798f, -0.002895f, -0.001336f, -0.006828f, - 0.000030f, -0.004405f, -0.003167f, -0.002192f, -0.005923f, -0.002797f, 0.006145f, -0.002110f, 0.000779f, -0.001708f, 0.006673f, -0.000240f, 0.002798f, -0.004508f, -0.010754f, -0.003052f, -0.000876f, 0.004559f, 0.001428f, 0.006459f, -0.000874f, -0.001919f, 0.004947f, -0.006570f, 0.007970f, -0.000140f, 0.024946f, -0.021376f, 0.003187f, 0.009113f, 0.011320f, -0.037146f, 0.024757f, 0.006963f, -0.026391f, -0.016855f, 0.014496f, 0.033217f, -0.011614f, -0.005965f, -0.022842f, 0.047529f, 0.018499f, 0.003016f, 0.007968f, -0.024865f, -0.016080f, -0.000988f, 0.002131f, 0.024681f, 0.005400f, 0.019041f, 0.021399f, -0.000873f, 0.001383f, 0.014921f, -0.003859f, -0.015797f, -0.015103f, -0.003801f, 0.021184f, -0.011358f, 0.026783f, -0.012342f, 0.039303f, 0.017508f, 0.031710f, -0.008520f, 0.005177f, 0.025456f, -0.019721f, 0.011893f, 0.011518f, 0.010825f, -0.011272f, 0.013577f, 0.003328f, 0.004362f, 0.011600f, 0.024203f, 0.020362f, -0.020567f, -0.004772f, 0.010658f, -0.020056f, -0.012731f, -0.005262f, -0.041107f, 0.011058f, -0.020302f, -0.012708f, 0.004004f, -0.005057f, 0.014118f, 0.026269f, 0.016842f, - 0.010644f, -0.014134f, -0.003308f, -0.000835f, -0.027802f, 0.005113f, 0.002401f, 0.034436f, 0.007440f, 0.007760f, -0.007427f, 0.026606f, -0.000210f, -0.000747f, 0.000107f, -0.008639f, -0.003931f, 0.001124f, -0.001565f, -0.009369f, 0.000884f, -0.002408f, 0.001712f, -0.011181f, -0.012116f, -0.003985f, 0.009682f, -0.001609f, 0.003774f, 0.003658f, 0.002994f, -0.000803f, -0.002564f, -0.003359f, -0.006722f, -0.011230f, 0.003852f, 0.000574f, -0.002751f, -0.013272f, 0.009760f, 0.006637f, 0.003770f, -0.001118f, 0.000815f, -0.004539f, 0.003313f, -0.002411f, -0.004380f, 0.001525f, 0.005636f, 0.003393f, -0.003526f, -0.000890f, -0.001449f, 0.004133f, -0.029670f, -0.043771f, 0.023642f, -0.017833f, 0.019376f, 0.006332f, 0.009361f, 0.011480f, -0.029429f, -0.053480f, 0.004694f, 0.007728f, 0.030086f, -0.029710f, -0.032619f, 0.028111f, -0.011279f, 0.012790f, -0.006199f, 0.006700f, 0.004399f, 0.007421f, -0.014898f, 0.007178f, -0.002206f, -0.004631f, 0.018503f, 0.006955f, -0.002746f, -0.024102f, -0.003372f, -0.000666f, -0.004527f, -0.001123f, -0.013143f, -0.031966f, -0.014313f, 0.023523f, -0.010100f, 0.011620f, - -0.018240f, 0.013481f, 0.006821f, -0.000196f, -0.009243f, -0.039640f, 0.021827f, 0.021349f, 0.027266f, -0.019095f, -0.008238f, 0.037279f, 0.032770f, 0.015262f, 0.006942f, 0.021102f, 0.007605f, 0.018972f, -0.010283f, 0.016492f, -0.031523f, -0.001916f, 0.008609f, -0.008088f, 0.037194f, 0.001542f, 0.020265f, -0.012088f, -0.020233f, 0.043256f, -0.000893f, 0.017232f, -0.005883f, 0.000713f, -0.050942f, -0.004168f, 0.010617f, -0.019481f, 0.023730f, 0.018253f, 0.004276f, -0.010269f, -0.038870f, -0.000702f, -0.008068f, 0.009765f, 0.011539f, 0.002094f, -0.004926f, 0.009234f, 0.000181f, 0.004610f, -0.002685f, -0.011551f, -0.004514f, -0.010530f, 0.018467f, 0.005897f, -0.000632f, -0.000229f, 0.002083f, 0.017451f, -0.003256f, -0.003970f, 0.002394f, -0.001180f, -0.000066f, 0.007935f, 0.003937f, 0.007158f, -0.005294f, -0.000460f, -0.008307f, 0.001755f, -0.000193f, 0.007505f, 0.006965f, -0.007877f, 0.012707f, 0.013485f, -0.010710f, 0.001034f, -0.021924f, -0.028725f, -0.008334f, -0.006722f, -0.049195f, -0.046147f, -0.012084f, 0.000233f, 0.034750f, 0.028270f, 0.027979f, -0.010808f, -0.004487f, -0.006992f, - 0.029873f, 0.012841f, -0.012521f, -0.002208f, -0.009967f, 0.021609f, 0.016775f, -0.012458f, -0.017451f, -0.016016f, -0.032723f, 0.013681f, 0.000923f, 0.000938f, 0.007155f, -0.004884f, 0.012424f, 0.046043f, -0.026192f, 0.013890f, 0.002758f, -0.017731f, -0.010149f, -0.021055f, 0.007999f, -0.009351f, -0.010572f, 0.023848f, 0.002940f, -0.007938f, 0.024080f, -0.003260f, -0.010613f, 0.008390f, 0.017573f, -0.009652f, 0.018885f, 0.033910f, 0.032705f, -0.022330f, -0.000296f, 0.008183f, 0.018437f, -0.028281f, -0.005881f, -0.007798f, 0.035275f, 0.015044f, -0.003786f, -0.021427f, -0.023782f, -0.021140f, 0.031862f, 0.026391f, -0.050431f, -0.042070f, -0.031902f, -0.022461f, 0.007631f, -0.020255f, 0.012333f, 0.003385f, 0.005026f, -0.040561f, -0.012988f, 0.036717f, 0.028323f, -0.012267f, -0.026022f, 0.025374f, 0.013307f, -0.003022f, 0.000446f, -0.003205f, -0.006150f, 0.014437f, -0.012897f, 0.003185f, 0.002241f, -0.000505f, -0.009310f, -0.017009f, 0.003321f, 0.013886f, -0.001329f, 0.001560f, -0.005924f, 0.013193f, 0.014430f, 0.001456f, -0.001876f, 0.004895f, -0.000482f, 0.005864f, 0.006313f, 0.009112f, - -0.012136f, -0.001125f, 0.004497f, 0.000048f, -0.007514f, 0.002079f, 0.015305f, 0.014259f, -0.005370f, 0.010942f, -0.016622f, 0.004236f, -0.005332f, -0.004563f, -0.006627f, -0.010349f, 0.040573f, 0.031957f, 0.019794f, 0.002990f, -0.026677f, -0.013906f, -0.004211f, 0.010831f, 0.016783f, -0.023617f, 0.006012f, 0.001363f, -0.020196f, -0.009605f, 0.016078f, -0.012041f, 0.012755f, 0.005437f, 0.015019f, -0.018859f, -0.000193f, -0.041990f, 0.006160f, -0.053083f, 0.021675f, 0.021436f, -0.020703f, 0.024216f, 0.028876f, 0.000746f, 0.008128f, -0.034267f, 0.020017f, 0.001900f, -0.014313f, 0.018406f, -0.004508f, 0.000152f, -0.000469f, 0.002155f, 0.035554f, -0.004147f, -0.000202f, 0.043679f, -0.000589f, -0.020348f, -0.058011f, -0.047705f, 0.052728f, 0.032800f, 0.012876f, 0.013179f, -0.022280f, -0.044723f, -0.022061f, 0.006925f, -0.017284f, 0.034728f, -0.002027f, 0.004493f, 0.037458f, -0.007864f, -0.011847f, -0.008603f, -0.023860f, -0.040394f, -0.032123f, 0.090823f, -0.044347f, -0.020155f, 0.025934f, -0.046226f, -0.033350f, 0.032845f, 0.046107f, 0.015089f, -0.008589f, 0.054294f, 0.026132f, -0.043962f, - -0.015369f, -0.024622f, -0.024034f, 0.049344f, 0.003407f, -0.033139f, -0.022962f, -0.025831f, 0.007047f, -0.005459f, 0.014916f, -0.000534f, -0.007795f, -0.012205f, 0.000928f, 0.013535f, -0.007562f, 0.006164f, -0.007374f, 0.006656f, 0.006019f, 0.018911f, -0.007628f, -0.002956f, 0.016176f, 0.001130f, 0.008170f, 0.008350f, 0.011484f, 0.002013f, -0.007039f, -0.004021f, -0.001960f, -0.002925f, 0.006954f, -0.002407f, -0.007870f, 0.015195f, 0.015684f, -0.008965f, 0.003837f, -0.010183f, 0.003397f, 0.003538f, 0.009586f, -0.002689f, -0.001203f, -0.005137f, 0.004826f, 0.011183f, -0.037266f, -0.027481f, -0.019150f, -0.034096f, -0.002992f, 0.032475f, -0.002259f, 0.006750f, 0.016031f, 0.010670f, -0.027429f, -0.013233f, -0.022652f, -0.012087f, 0.029254f, -0.008822f, -0.003093f, -0.003911f, 0.017773f, 0.017724f, 0.052726f, 0.008475f, 0.038836f, -0.002176f, 0.013165f, -0.021017f, -0.015806f, 0.013974f, -0.026767f, -0.029770f, 0.001068f, 0.009495f, -0.015236f, 0.012347f, -0.017853f, 0.005563f, -0.047119f, 0.026440f, 0.014835f, 0.021641f, 0.002773f, -0.019108f, -0.039465f, -0.014021f, -0.003440f, 0.032695f, - -0.024753f, -0.014617f, 0.009196f, 0.074660f, -0.020527f, 0.075897f, -0.046422f, 0.018449f, -0.017064f, 0.033352f, -0.013110f, 0.057603f, -0.054018f, 0.082458f, -0.007708f, 0.017024f, 0.035735f, -0.061008f, 0.054550f, -0.065171f, 0.044120f, -0.106244f, 0.057721f, -0.054579f, 0.048514f, -0.071229f, 0.062766f, 0.002188f, 0.040712f, 0.017663f, -0.033173f, 0.028995f, -0.023733f, 0.072117f, -0.032742f, 0.011931f, -0.042914f, 0.011711f, -0.002807f, 0.007964f, -0.015304f, 0.020064f, -0.019674f, 0.014232f, -0.006928f, 0.004628f, 0.006131f, 0.006426f, 0.008411f, -0.004845f, -0.011296f, -0.009161f, -0.010823f, -0.024947f, 0.014502f, 0.003753f, -0.017126f, -0.007945f, -0.005140f, 0.011179f, -0.019075f, 0.018232f, -0.014601f, 0.003668f, -0.007810f, 0.008887f, 0.002998f, -0.000136f, 0.027658f, -0.024438f, 0.014981f, -0.023613f, 0.035651f, -0.006749f, 0.034827f, -0.013685f, 0.010892f, 0.015749f, 0.005282f, 0.005444f, -0.000019f, 0.016683f, -0.024862f, 0.027279f, -0.018965f, 0.017955f, -0.032725f, -0.029647f, 0.034531f, 0.059559f, -0.049319f, 0.075499f, -0.004371f, 0.000005f, -0.002891f, 0.013125f, - -0.022452f, -0.016485f, -0.033643f, -0.007504f, 0.001085f, 0.000098f, -0.000172f, 0.029697f, 0.005082f, 0.032557f, 0.031842f, -0.020225f, 0.011716f, 0.067878f, 0.022163f, 0.014566f, 0.010171f, -0.058814f, 0.002990f, -0.009502f, -0.007387f, -0.053932f, -0.011430f, 0.031060f, 0.008745f, 0.010359f, 0.015581f, 0.039345f, 0.010232f, -0.012077f, -0.004052f, -0.003336f, 0.014713f, -0.026692f, -0.016489f, 0.040633f, 0.025150f, 0.018952f, 0.031331f, 0.023229f, -0.013691f, -0.006787f, -0.046834f, -0.020494f, 0.018995f, 0.015081f, 0.035291f, -0.025400f, -0.012729f, -0.008865f, 0.025927f, 0.015274f, 0.023268f, 0.009699f, -0.018516f, -0.017064f, 0.058370f, -0.017793f, -0.056827f, 0.013205f, 0.041008f, 0.028227f, -0.000810f, -0.004826f, 0.005007f, 0.009496f, 0.005738f, 0.052277f, -0.062925f, -0.053581f, 0.006167f, 0.021295f, -0.027130f, -0.013861f, 0.004494f, -0.021188f, 0.010002f, -0.010298f, -0.002771f, 0.005724f, -0.004174f, -0.014189f, 0.000434f, 0.012009f, -0.007751f, 0.000249f, -0.020916f, -0.003504f, -0.018421f, 0.013605f, -0.005940f, 0.012494f, -0.007581f, 0.007869f, 0.003077f, 0.010580f, - 0.016158f, -0.016358f, -0.007558f, -0.004761f, 0.012698f, -0.007837f, -0.015090f, -0.027183f, -0.000260f, -0.010743f, -0.004261f, 0.004361f, 0.002557f, 0.000988f, 0.005185f, 0.009183f, -0.001958f, 0.027837f, 0.003207f, -0.001975f, -0.021579f, 0.003949f, -0.004153f, -0.000943f, -0.023121f, -0.119406f, 0.033019f, -0.014534f, -0.007567f, 0.029314f, -0.020230f, 0.031455f, -0.004220f, -0.051735f, -0.009425f, 0.005049f, 0.018180f, 0.023130f, 0.005390f, -0.036657f, 0.036308f, -0.014221f, -0.003293f, -0.022521f, -0.010128f, 0.019482f, -0.003883f, 0.017381f, 0.029276f, -0.006757f, -0.037790f, 0.008406f, 0.041485f, -0.038601f, 0.014214f, 0.032220f, -0.005852f, -0.025525f, -0.047662f, -0.032141f, 0.033629f, 0.086198f, -0.026532f, -0.034356f, 0.097097f, -0.006322f, -0.013978f, 0.069902f, 0.040688f, 0.034745f, 0.028060f, 0.011540f, -0.020544f, 0.035526f, 0.033067f, 0.022809f, 0.010548f, -0.064228f, 0.040132f, 0.035548f, -0.067838f, -0.039204f, -0.024376f, -0.018971f, -0.018692f, 0.074056f, 0.036956f, -0.042296f, 0.039562f, -0.015638f, -0.039584f, 0.017269f, 0.020131f, -0.017456f, -0.016782f, -0.062063f, - 0.006975f, 0.010637f, 0.045411f, 0.021790f, 0.005614f, 0.038008f, -0.030188f, 0.078592f, -0.083523f, -0.097388f, 0.068762f, -0.042014f, -0.002622f, 0.048270f, -0.030413f, -0.020891f, -0.006033f, -0.005714f, 0.005979f, 0.029626f, 0.014512f, -0.024206f, -0.001509f, 0.011553f, -0.002923f, 0.016471f, -0.000679f, 0.009117f, 0.001747f, -0.012839f, 0.006872f, 0.026286f, 0.018054f, -0.001125f, 0.003479f, 0.017582f, -0.002863f, -0.002072f, 0.004413f, 0.040690f, 0.020832f, -0.006519f, 0.008847f, -0.036060f, -0.001628f, 0.009529f, -0.016664f, -0.022357f, 0.021048f, -0.009664f, -0.000680f, 0.021698f, -0.018892f, 0.008346f, -0.003280f, -0.005394f, 0.026860f, -0.015231f, -0.031929f, -0.130108f, 0.039801f, 0.073137f, -0.045607f, -0.009632f, -0.035504f, 0.075251f, 0.050549f, 0.031672f, -0.006187f, -0.026552f, 0.005246f, 0.030223f, 0.013981f, -0.013301f, -0.003060f, 0.041407f, -0.002913f, -0.015506f, -0.055903f, -0.026606f, 0.046832f, 0.027142f, -0.029833f, 0.023564f, -0.021654f, -0.006998f, 0.013920f, 0.013040f, -0.013120f, 0.008350f, -0.049039f, 0.013788f, 0.065855f, -0.008593f, -0.013061f, -0.065106f, - -0.039205f, 0.031279f, -0.051391f, -0.028022f, 0.011514f, 0.012812f, -0.016036f, 0.042325f, 0.039942f, -0.041555f, 0.015230f, 0.022829f, 0.066343f, 0.060752f, -0.009853f, 0.019730f, -0.001841f, 0.069487f, 0.030077f, 0.028052f, 0.065826f, -0.029709f, -0.043375f, -0.022323f, -0.055467f, 0.046365f, 0.021744f, 0.022538f, 0.011864f, 0.078831f, -0.052576f, -0.012444f, 0.033521f, -0.018893f, 0.037224f, -0.002036f, 0.004140f, 0.017211f, -0.045951f, -0.069531f, 0.008481f, 0.013119f, 0.075973f, 0.057773f, 0.001144f, -0.056466f, -0.009153f, -0.061654f, -0.000621f, -0.002172f, -0.017521f, -0.015968f, 0.008065f, -0.005540f, -0.004904f, -0.015810f, -0.010412f, -0.014070f, -0.008541f, 0.001894f, -0.016747f, -0.015259f, -0.002801f, 0.015099f, 0.007527f, -0.020205f, 0.017843f, -0.010355f, 0.033375f, -0.010784f, -0.030270f, -0.011223f, 0.014591f, -0.009532f, -0.023050f, 0.025722f, -0.005925f, -0.023929f, -0.037007f, 0.005430f, -0.006242f, 0.004077f, 0.007751f, -0.014327f, -0.012407f, -0.032336f, -0.007495f, -0.008718f, 0.001883f, 0.005709f, 0.011442f, 0.010022f, -0.024842f, 0.030442f, 0.051564f, 0.045045f, - 0.046394f, 0.059658f, -0.033970f, 0.047043f, -0.091227f, -0.039720f, 0.034836f, 0.008468f, 0.067011f, 0.030740f, 0.057177f, -0.024539f, 0.007751f, -0.049200f, 0.033768f, 0.055654f, 0.050601f, 0.005331f, 0.035920f, -0.087577f, -0.056999f, 0.054777f, 0.016072f, -0.054487f, -0.028091f, 0.006955f, 0.080742f, 0.025135f, -0.032600f, -0.041109f, 0.008381f, -0.011815f, 0.049723f, 0.053756f, -0.005116f, -0.008435f, 0.010792f, -0.014919f, 0.064248f, 0.018677f, -0.015042f, 0.013168f, -0.030346f, -0.017847f, -0.143442f, -0.048558f, 0.025746f, -0.022212f, -0.021346f, -0.000453f, -0.025763f, -0.025692f, 0.065955f, 0.044285f, -0.033011f, 0.060268f, 0.124550f, 0.025826f, 0.088753f, 0.012494f, 0.018143f, 0.065254f, 0.043075f, -0.034776f, -0.039589f, -0.069665f, -0.043326f, -0.004354f, -0.068841f, 0.025803f, -0.008181f, -0.066536f, -0.047770f, -0.047539f, -0.059920f, -0.036197f, -0.024013f, -0.031691f, 0.009558f, 0.057217f, 0.069673f, 0.036921f, -0.007130f, -0.050484f, -0.006370f, 0.002242f, 0.004421f, -0.024452f, -0.004326f, -0.016424f, 0.013682f, 0.019870f, 0.002258f, 0.014630f, -0.000378f, -0.009574f, - 0.016710f, -0.017664f, 0.002341f, 0.016113f, 0.034142f, 0.004984f, -0.000254f, 0.023287f, 0.009786f, 0.061949f, -0.015395f, -0.049838f, -0.002540f, 0.034173f, 0.006078f, -0.013322f, -0.015252f, -0.040445f, -0.038535f, -0.021507f, -0.015327f, -0.006754f, -0.023133f, -0.033091f, -0.035554f, -0.019134f, -0.002866f, 0.005275f, 0.047119f, 0.034474f, -0.012640f, 0.055218f, 0.097466f, 0.067844f, 0.047458f, 0.030070f, 0.018621f, -0.023546f, -0.015548f, -0.023476f, -0.021704f, -0.000847f, 0.057124f, -0.005855f, 0.048577f, -0.030865f, 0.013199f, -0.106631f, 0.030484f, -0.015906f, 0.055338f, -0.013332f, -0.063634f, 0.064683f, -0.023824f, 0.010199f, 0.036976f, 0.027737f, 0.059257f, -0.008637f, 0.009336f, -0.010855f, 0.067512f, -0.013911f, 0.013125f, 0.047114f, -0.053502f, 0.046463f, -0.013096f, 0.028564f, 0.045120f, -0.011677f, 0.010450f, 0.007850f, 0.005038f, -0.014057f, 0.020357f, 0.019707f, -0.007434f, -0.025905f, -0.004392f, -0.030258f, -0.009561f, -0.005448f, 0.025540f, -0.012482f, -0.048289f, -0.031707f, 0.051834f, 0.052352f, -0.048621f, -0.040697f, 0.061979f, 0.072763f, -0.027487f, -0.006729f, - 0.052575f, 0.002555f, 0.027276f, 0.038379f, -0.087099f, -0.025430f, -0.005478f, 0.085313f, 0.008252f, -0.005564f, -0.082978f, 0.017040f, 0.033249f, 0.021964f, 0.003435f, 0.022938f, 0.009097f, 0.012074f, 0.106852f, -0.002778f, 0.006043f, 0.063134f, -0.037074f, 0.042119f, 0.008239f, 0.031908f, 0.020931f, -0.047762f, -0.015477f, 0.057921f, 0.038453f, 0.022511f, -0.013182f, 0.020591f, 0.010458f, 0.000507f, 0.008061f, 0.015157f, -0.006552f, 0.025564f, -0.016036f, -0.003875f, 0.026252f, 0.015822f, 0.005656f, -0.053586f, 0.005285f, 0.027319f, -0.019920f, 0.010109f, -0.047679f, -0.029901f, 0.034182f, 0.017014f, 0.028176f, 0.024832f, -0.018758f, -0.052060f, -0.014290f, 0.018689f, 0.046286f, 0.028550f, -0.006437f, -0.009456f, -0.015726f, 0.038450f, -0.000332f, -0.006878f, -0.015043f, 0.020739f, 0.008796f, -0.007481f, -0.037951f, -0.023465f, 0.024581f, 0.024977f, 0.017565f, -0.025548f, -0.036684f, 0.019389f, 0.049093f, 0.023615f, 0.003585f, -0.023588f, -0.005694f, 0.012311f, -0.000434f, 0.001901f, 0.002856f, -0.005002f, -0.011256f, 0.061482f, -0.104279f, -0.007253f, -0.088235f, -0.081790f, - 0.020487f, 0.017175f, 0.014917f, 0.001991f, 0.077707f, 0.044245f, 0.100062f, 0.109494f, -0.012094f, -0.053951f, 0.011408f, -0.014705f, -0.010045f, 0.023662f, 0.010580f, -0.008866f, -0.050459f, -0.055246f, 0.059755f, 0.027531f, -0.006813f, 0.009060f, 0.009712f, 0.005385f, 0.011008f, -0.005762f, -0.014308f, -0.081668f, 0.001797f, 0.046664f, -0.013710f, -0.063000f, -0.020601f, 0.051438f, -0.095714f, -0.033103f, 0.060569f, 0.036449f, 0.072333f, -0.002291f, 0.005322f, -0.066876f, -0.067256f, -0.085021f, 0.071464f, 0.100871f, -0.133084f, -0.066600f, -0.006885f, 0.067371f, -0.052735f, -0.008875f, 0.122216f, 0.049399f, 0.031086f, 0.080545f, 0.059175f, 0.088440f, -0.031924f, 0.087922f, -0.013308f, -0.069517f, -0.101639f, -0.024188f, 0.039129f, -0.080960f, -0.015638f, 0.017013f, -0.016861f, -0.028745f, 0.017365f, 0.015209f, -0.055282f, 0.040953f, 0.020397f, 0.059671f, -0.014269f, -0.059231f, 0.073570f, 0.014432f, -0.066689f, -0.000036f, -0.015352f, 0.027458f, -0.029397f, -0.030818f, -0.015368f, -0.003551f, -0.000735f, -0.023486f, -0.027658f, 0.021211f, -0.028859f, -0.000708f, -0.028510f, 0.015350f, - 0.027599f, 0.003833f, 0.041139f, 0.027570f, -0.040878f, -0.015819f, 0.000308f, -0.037530f, 0.006501f, -0.006770f, 0.015023f, -0.010269f, 0.013289f, 0.035258f, 0.000427f, 0.006387f, -0.024754f, 0.037951f, 0.024825f, -0.027755f, -0.007643f, 0.026904f, 0.026166f, -0.004353f, -0.039218f, -0.005694f, -0.077324f, 0.059457f, -0.005108f, 0.018136f, 0.022976f, 0.022242f, 0.000670f, -0.026107f, 0.042154f, 0.010516f, 0.040687f, -0.008838f, -0.086497f, -0.007923f, 0.024896f, -0.028492f, -0.031705f, -0.019447f, -0.029228f, 0.035140f, -0.009109f, -0.030800f, -0.001807f, 0.032686f, -0.044092f, 0.030771f, -0.015337f, 0.016340f, -0.043435f, -0.010877f, 0.017524f, -0.003788f, -0.004056f, 0.005293f, 0.024294f, -0.004373f, -0.003992f, -0.030370f, 0.015061f, -0.008377f, 0.004832f, 0.009324f, 0.003149f, 0.022419f, -0.032931f, -0.025177f, 0.034419f, 0.029660f, -0.041339f, 0.019651f, -0.033413f, 0.038456f, -0.032283f, 0.014477f, 0.009913f, -0.027358f, 0.060495f, 0.005837f, -0.067365f, 0.030990f, 0.008127f, -0.052128f, 0.029198f, -0.019166f, 0.031100f, -0.045199f, 0.023151f, -0.047875f, 0.021938f, 0.033992f, - -0.030831f, 0.017632f, -0.032757f, 0.001105f, 0.001094f, 0.003091f, -0.021528f, 0.000384f, 0.016381f, -0.000952f, -0.029569f, 0.022272f, -0.018529f, -0.039821f, 0.017137f, -0.017697f, 0.008663f, 0.018497f, -0.014082f, -0.008539f, 0.003331f, -0.002642f, 0.012028f, -0.006342f, -0.004392f, 0.010704f, 0.013645f, 0.004556f, -0.013721f, -0.008220f, 0.013178f, 0.007860f, -0.031051f, 0.028322f, -0.004067f, -0.010637f, 0.003956f, -0.002252f, 0.006706f, 0.015179f, -0.003754f, 0.028774f, -0.008501f, -0.012555f, -0.014037f, -0.005666f, 0.002773f, -0.013649f, 0.003632f, -0.004655f, -0.005547f, 0.003448f, 0.004660f, -0.005693f, -0.000129f, -0.001629f, -0.006021f, 0.005862f, 0.003961f, -0.006682f, 0.018012f, 0.038617f, -0.017628f, -0.206704f, -0.373995f, -0.123498f, -0.289581f, -0.286461f, 0.156174f, 0.033446f, 0.216722f, 0.488154f, 0.439969f, 0.360973f, 0.440603f, 0.270119f, 0.061316f, 0.085799f, -0.061285f, -0.324961f, -0.321177f, -0.240027f, -0.312042f, -0.213567f, -0.043257f, -0.143750f, -0.198812f, -0.085590f, -0.023782f, -0.102735f, -0.048243f, -0.000803f, -0.050768f, -0.091304f, 0.020676f, 0.081163f, - -0.025857f, 0.112159f, 0.166901f, 0.005302f, 0.033202f, 0.225292f, 0.112265f, 0.002591f, 0.211174f, 0.172922f, -0.039065f, 0.082536f, 0.197238f, -0.002508f, 0.017237f, 0.277902f, 0.149807f, 0.063027f, 0.335741f, 0.369898f, 0.182476f, 0.350739f, 0.435821f, 0.115215f, 0.059518f, 0.178240f, -0.069620f, -0.209103f, -0.121585f, -0.272455f, -0.484326f, -0.483215f, -0.548812f, -0.731184f, -0.736582f, -0.706680f, -0.723192f, -0.646882f, -0.554583f, -0.443939f, -0.290693f, -0.147320f, 0.072513f, 0.321037f, 0.422874f, 0.515930f, 0.698246f, 0.614282f, 0.549035f, 0.613342f, 0.452849f, 0.212002f, 0.248860f, 0.281244f, 0.104262f, 0.136066f, 0.281494f, 0.138665f, 0.026511f, 0.121241f, 0.109003f, -0.061265f, 0.000226f, 0.075983f, -0.111283f, -0.141916f, 0.032490f, -0.028065f, -0.046331f, 0.157076f, 0.134700f, 0.014209f, 0.122439f, 0.177756f, 0.031224f, -0.013237f, 0.009943f, -0.181776f, -0.329184f, -0.343646f, -0.438814f, -0.552043f, -0.523405f, -0.468011f, -0.426661f, -0.380236f, -0.279442f, -0.264826f, -0.289650f, -0.193693f, -0.063475f, 0.017640f, 0.071444f, 0.190000f, 0.227349f, 0.257519f, - 0.461124f, 0.537802f, 0.496705f, 0.458484f, 0.364995f, 0.231271f, 0.197783f, 0.168539f, 0.102917f, 0.073684f, 0.067664f, 0.027072f, -0.006517f, -0.009208f, -0.019947f, -0.040694f, -0.050921f, -0.041722f, -0.057807f, -0.078598f, -0.075995f, -0.073647f, -0.083311f, -0.079173f, -0.060201f, -0.048258f, -0.035726f, -0.029050f, -0.027559f} - }, - { - {-0.015794f, 0.001746f, 0.010395f, 0.003553f, 0.006774f, -0.009882f, -0.005415f, 0.000446f, -0.001751f, 0.002647f, 0.008233f, -0.019798f, -0.000139f, 0.006507f, 0.003909f, 0.005998f, -0.005732f, -0.008002f, 0.008653f, -0.000147f, 0.002412f, 0.005393f, 0.007160f, 0.002640f, 0.001494f, 0.006439f, -0.000951f, -0.002063f, -0.005565f, 0.002997f, -0.001566f, -0.000907f, -0.002889f, 0.003700f, 0.009419f, 0.000038f, -0.001957f, 0.004431f, -0.006025f, -0.009017f, -0.004983f, -0.001829f, -0.005847f, 0.000525f, -0.001352f, 0.003784f, -0.003648f, 0.001050f, -0.007316f, -0.000706f, -0.006016f, -0.000289f, -0.002755f, -0.002378f, 0.003063f, -0.003473f, -0.000353f, 0.004950f, -0.002603f, 0.005904f, 0.007157f, 0.000519f, 0.009674f, -0.004949f, -0.000330f, 0.004624f, -0.001673f, 0.003120f, 0.004397f, 0.002375f, -0.005088f, 0.002002f, 0.002329f, 0.001636f, 0.000310f, -0.004256f, 0.005646f, -0.001524f, 0.002698f, -0.000930f, -0.001169f, 0.000355f, -0.005874f, -0.000486f, -0.004564f, -0.002129f, -0.000200f, -0.000797f, -0.000156f, -0.000456f, -0.002453f, 0.002919f, 0.000342f, 0.000817f, 0.000205f, 0.001630f, - -0.000995f, 0.002059f, -0.000151f, 0.000876f, -0.000337f, -0.000898f, 0.001162f, 0.000112f, -0.000344f, -0.000026f, 0.001640f, 0.000351f, -0.000286f, 0.001011f, 0.000532f, -0.000212f, 0.026251f, -0.007436f, 0.002515f, -0.005746f, -0.000484f, -0.002412f, 0.003009f, 0.002020f, 0.008990f, 0.002747f, 0.001559f, 0.003467f, -0.002197f, -0.018175f, -0.017390f, -0.005452f, 0.002304f, 0.005295f, -0.004426f, 0.000966f, -0.005666f, -0.002040f, 0.000265f, 0.003053f, -0.007726f, -0.008417f, -0.002501f, -0.000562f, 0.004506f, 0.001462f, -0.001906f, -0.006085f, 0.001047f, -0.003364f, 0.000148f, 0.004212f, -0.006168f, 0.002924f, 0.005437f, -0.004293f, -0.011304f, -0.002974f, 0.004077f, -0.000701f, 0.003306f, -0.000580f, 0.002858f, -0.000554f, 0.003143f, 0.000588f, -0.010554f, 0.002043f, 0.004281f, -0.001693f, 0.002893f, 0.000466f, -0.000636f, -0.002115f, 0.000079f, -0.006230f, -0.000580f, -0.001731f, -0.007858f, -0.001348f, -0.000274f, 0.006926f, -0.006907f, 0.011411f, 0.013277f, 0.010443f, -0.004568f, -0.002153f, -0.002446f, 0.005048f, -0.001956f, -0.002900f, 0.003146f, -0.007564f, -0.006879f, 0.000809f, - 0.006046f, -0.000218f, -0.003105f, -0.006768f, -0.004007f, -0.005166f, -0.002738f, -0.004769f, 0.001744f, -0.002868f, -0.000787f, -0.003008f, -0.001592f, 0.000137f, 0.001554f, 0.000107f, 0.001600f, -0.001123f, 0.000096f, 0.001262f, 0.000650f, 0.000990f, 0.001005f, 0.000578f, -0.001275f, 0.001265f, -0.024789f, -0.000161f, -0.003823f, 0.001710f, -0.000856f, -0.012834f, -0.002455f, -0.002711f, 0.004011f, 0.006235f, -0.008592f, 0.006860f, -0.002188f, 0.004725f, 0.004748f, -0.002587f, 0.010320f, 0.000623f, 0.000458f, -0.001799f, 0.001793f, -0.002570f, 0.001905f, -0.002887f, 0.000385f, -0.006751f, 0.000725f, 0.007426f, 0.000001f, 0.003123f, 0.007831f, -0.007708f, -0.008113f, 0.003378f, -0.003684f, 0.006255f, -0.006335f, -0.001922f, -0.013247f, -0.010225f, -0.008852f, 0.003854f, 0.001143f, 0.004699f, -0.004812f, -0.003439f, -0.000999f, 0.008303f, -0.009197f, 0.003787f, 0.001606f, 0.000672f, 0.004666f, -0.003223f, -0.004212f, -0.005549f, 0.003384f, 0.001786f, -0.008135f, -0.008983f, -0.010428f, -0.000318f, -0.002238f, 0.003384f, -0.000471f, -0.001985f, 0.000980f, 0.001388f, 0.004670f, -0.012482f, - 0.001547f, 0.007083f, 0.010537f, 0.010800f, 0.008942f, -0.001591f, -0.006586f, 0.009678f, 0.002966f, 0.001865f, -0.004835f, 0.002784f, 0.002009f, 0.000278f, -0.001193f, -0.002885f, -0.000416f, 0.003298f, -0.002555f, -0.004256f, -0.001725f, -0.001843f, 0.000723f, -0.000374f, -0.001023f, 0.002872f, 0.000241f, 0.003672f, -0.000332f, 0.001043f, 0.002482f, 0.002300f, 0.001821f, 0.001291f, -0.001459f, -0.001652f, -0.000515f, 0.001442f, -0.000270f, 0.001408f, -0.000988f, 0.002478f, 0.002115f, -0.002198f, 0.000150f, 0.000151f, -0.003538f, 0.002666f, -0.014475f, 0.008990f, -0.007671f, 0.010713f, 0.013950f, 0.008697f, -0.000148f, 0.004142f, 0.000955f, 0.011425f, -0.006224f, -0.006252f, 0.003281f, -0.001735f, 0.004687f, 0.008794f, -0.012552f, 0.003999f, 0.011285f, 0.005323f, -0.000807f, -0.000088f, 0.001375f, -0.005237f, -0.000075f, -0.004948f, -0.006900f, -0.001799f, 0.010693f, -0.004006f, 0.004972f, -0.003700f, -0.006520f, 0.012800f, -0.011148f, 0.008595f, 0.009402f, 0.001863f, 0.005963f, -0.008260f, -0.002256f, -0.003269f, -0.002604f, 0.005969f, 0.001809f, -0.008884f, 0.001452f, -0.000857f, - 0.001690f, -0.001915f, 0.003206f, 0.003076f, 0.010663f, -0.011151f, 0.005375f, 0.004244f, -0.001122f, 0.004216f, 0.001180f, 0.006561f, 0.006139f, 0.003892f, -0.003603f, 0.005228f, 0.009229f, -0.000232f, 0.005409f, -0.003906f, 0.010941f, 0.011293f, 0.012395f, -0.003563f, -0.008682f, 0.002803f, -0.001211f, 0.004422f, 0.003190f, -0.000048f, -0.000659f, -0.012419f, -0.003251f, -0.002881f, -0.000985f, -0.002547f, -0.003730f, 0.004265f, 0.001632f, 0.001347f, 0.004997f, -0.000297f, 0.005053f, 0.003193f, 0.001634f, -0.000708f, 0.000867f, -0.001107f, -0.002125f, 0.001497f, 0.000374f, 0.002451f, -0.000742f, 0.000590f, -0.000169f, -0.001652f, 0.002749f, -0.000104f, -0.002371f, 0.000966f, 0.002226f, 0.000261f, -0.003086f, 0.000768f, -0.001431f, 0.004234f, 0.003094f, 0.003087f, -0.000355f, 0.000955f, 0.002409f, 0.000249f, 0.001236f, 0.020307f, -0.001861f, -0.006341f, 0.019317f, -0.007628f, 0.008681f, -0.004642f, -0.018446f, 0.003294f, -0.005298f, 0.000587f, 0.022136f, -0.008564f, -0.010459f, 0.000852f, 0.011647f, -0.018709f, -0.006924f, 0.014040f, -0.004913f, 0.004537f, 0.006662f, -0.005008f, - 0.006067f, -0.003915f, -0.006454f, 0.001304f, -0.001796f, -0.002277f, -0.002368f, 0.007821f, -0.006237f, 0.015232f, 0.003834f, 0.000325f, -0.008700f, -0.002596f, 0.009354f, -0.010696f, 0.002316f, 0.003698f, -0.001627f, -0.014914f, 0.010241f, 0.002705f, 0.002553f, 0.001314f, -0.002008f, 0.007685f, -0.004519f, 0.010510f, 0.006039f, -0.004101f, -0.018117f, 0.008073f, 0.004927f, -0.000464f, -0.005091f, 0.004375f, 0.011785f, 0.011898f, -0.001246f, 0.007032f, -0.010651f, 0.007768f, -0.001835f, -0.003714f, 0.004699f, 0.009197f, -0.006406f, 0.009103f, 0.001701f, -0.003877f, -0.003153f, 0.007420f, -0.006161f, 0.017647f, -0.009022f, 0.007290f, -0.006037f, 0.001563f, -0.005386f, 0.007043f, -0.006266f, 0.000288f, 0.004104f, -0.001254f, 0.000848f, -0.005490f, -0.001784f, -0.000783f, 0.000108f, 0.001457f, -0.002294f, 0.003033f, -0.000225f, -0.002174f, 0.003207f, -0.006303f, -0.006239f, -0.003650f, 0.000193f, -0.000661f, -0.001178f, 0.000138f, -0.004224f, 0.005235f, 0.000431f, -0.000395f, 0.003792f, -0.003085f, -0.000520f, 0.004120f, 0.001888f, 0.001410f, 0.006734f, 0.006037f, 0.019075f, 0.002528f, - -0.004801f, -0.024364f, 0.007548f, 0.013842f, 0.008288f, 0.005421f, -0.002042f, 0.007051f, 0.026540f, -0.003211f, 0.012274f, 0.001214f, 0.006875f, 0.002627f, 0.000505f, 0.005333f, -0.002199f, -0.011318f, -0.003147f, -0.008410f, -0.002171f, -0.011868f, 0.004309f, 0.000364f, 0.013939f, 0.002744f, -0.006451f, 0.004617f, -0.001951f, -0.003385f, 0.008943f, 0.003221f, 0.006690f, 0.003912f, -0.003829f, -0.015506f, 0.000985f, 0.009052f, -0.000591f, -0.002955f, 0.004078f, -0.008181f, -0.003464f, -0.014440f, -0.017892f, 0.009314f, 0.010365f, 0.008104f, -0.002506f, -0.002911f, 0.000163f, -0.000269f, 0.005317f, -0.000877f, 0.005821f, 0.005228f, -0.000142f, 0.005388f, -0.004947f, 0.001482f, -0.002595f, 0.003216f, 0.003925f, 0.016878f, 0.000081f, 0.013821f, -0.005137f, -0.014118f, -0.001248f, -0.001862f, -0.005347f, 0.011345f, -0.000861f, 0.004725f, 0.001094f, -0.007998f, -0.009642f, -0.003355f, -0.002001f, 0.001153f, 0.010013f, 0.003348f, 0.001119f, 0.004292f, 0.006735f, -0.002739f, 0.005097f, -0.000510f, 0.004349f, 0.002779f, 0.001150f, 0.006038f, -0.000570f, 0.003567f, 0.002063f, 0.001889f, - -0.001009f, -0.001479f, -0.003392f, -0.001482f, 0.003576f, 0.005477f, -0.001247f, 0.000566f, -0.002942f, -0.000340f, 0.000301f, -0.002907f, 0.002236f, -0.005556f, 0.000316f, -0.000180f, 0.000082f, 0.008777f, -0.021629f, -0.000712f, 0.022024f, 0.030280f, -0.012587f, 0.003398f, 0.004803f, -0.010524f, -0.006144f, 0.001186f, -0.008783f, -0.009151f, 0.021191f, 0.002958f, -0.014071f, -0.002249f, -0.009188f, -0.005236f, 0.013777f, -0.004344f, -0.006126f, 0.012505f, 0.007716f, 0.012634f, -0.005387f, 0.002593f, 0.012323f, 0.000534f, -0.007428f, 0.003369f, -0.001092f, 0.001528f, -0.015645f, -0.010664f, 0.004651f, -0.001126f, 0.003699f, -0.014404f, 0.006735f, 0.005246f, 0.003344f, -0.025382f, -0.014872f, -0.006449f, -0.003193f, 0.003585f, -0.011114f, -0.007443f, 0.002463f, 0.019415f, 0.012787f, 0.006860f, -0.003468f, -0.002162f, -0.007375f, 0.005585f, -0.002153f, -0.014414f, -0.011011f, -0.001363f, -0.000243f, 0.020332f, 0.011264f, -0.010126f, -0.011288f, 0.014043f, 0.002799f, -0.008534f, 0.000071f, 0.012595f, 0.004781f, 0.000330f, -0.016461f, 0.018071f, -0.006386f, 0.012030f, 0.015834f, 0.016621f, - 0.001471f, -0.006206f, -0.005007f, 0.008512f, 0.009815f, -0.008642f, 0.006902f, 0.009253f, 0.006580f, -0.002902f, -0.002206f, 0.001257f, 0.005659f, 0.004567f, -0.004913f, -0.007686f, -0.007166f, 0.003475f, -0.003435f, -0.002334f, -0.004970f, -0.001065f, -0.003560f, 0.001764f, -0.002936f, 0.002116f, 0.001747f, -0.000661f, 0.000015f, 0.004000f, -0.002968f, -0.006158f, -0.001086f, 0.005494f, -0.003352f, -0.003099f, -0.003171f, -0.002366f, -0.000386f, -0.000216f, -0.003744f, -0.000210f, -0.002722f, -0.001431f, 0.001050f, 0.003631f, -0.002440f, -0.000214f, -0.000783f, -0.001767f, 0.003430f, 0.004161f, -0.005866f, 0.008976f, -0.011464f, 0.013098f, -0.001200f, -0.003540f, 0.006965f, -0.013216f, 0.004515f, 0.007207f, 0.001448f, 0.005038f, 0.006239f, -0.003569f, 0.014592f, -0.006859f, -0.024902f, -0.014807f, -0.003276f, 0.000985f, -0.005276f, -0.010629f, -0.011636f, -0.007887f, 0.024461f, -0.006778f, -0.001930f, 0.003543f, -0.005084f, 0.002933f, 0.020067f, -0.009641f, 0.009525f, -0.006244f, -0.012900f, 0.011573f, 0.008349f, 0.005348f, 0.017985f, 0.000421f, 0.008471f, -0.000768f, 0.002148f, -0.000685f, - -0.005907f, 0.003983f, -0.001367f, 0.013048f, 0.002606f, -0.008955f, -0.002307f, -0.002568f, -0.000613f, -0.014609f, 0.005885f, -0.014402f, 0.003511f, 0.019433f, -0.012653f, -0.024240f, 0.005638f, 0.003388f, 0.011134f, -0.004894f, -0.000219f, 0.011382f, -0.006998f, 0.005592f, 0.008381f, 0.002378f, -0.005082f, 0.011240f, 0.002429f, 0.014426f, 0.003068f, -0.008910f, -0.008459f, 0.009386f, 0.015746f, 0.005565f, -0.000132f, -0.012908f, -0.002601f, -0.004128f, 0.009350f, 0.002399f, -0.017663f, 0.002821f, 0.004712f, 0.001336f, 0.001812f, 0.006913f, -0.003085f, 0.002942f, -0.004801f, 0.003070f, 0.002790f, 0.002263f, 0.003649f, 0.001629f, 0.002425f, 0.002240f, -0.004056f, 0.001383f, -0.001212f, -0.000593f, 0.004043f, 0.001734f, 0.002272f, 0.004571f, -0.001331f, -0.014134f, 0.001423f, -0.000893f, 0.001100f, -0.001230f, -0.000814f, 0.004021f, 0.002666f, -0.002224f, -0.002620f, -0.019393f, 0.044543f, -0.010482f, 0.019977f, 0.001819f, 0.008302f, 0.005986f, -0.000182f, -0.025069f, 0.021210f, -0.031237f, 0.010021f, 0.007408f, 0.028028f, -0.013240f, 0.012593f, -0.019901f, 0.012882f, -0.006489f, - -0.021423f, -0.010308f, 0.004960f, 0.005394f, 0.007732f, 0.003893f, 0.011151f, 0.007269f, 0.016939f, -0.005353f, -0.014000f, -0.012634f, 0.004821f, -0.000235f, -0.006951f, 0.011298f, 0.004898f, -0.002421f, 0.006717f, 0.014003f, -0.001370f, 0.003557f, -0.002177f, 0.006877f, 0.004029f, -0.018134f, -0.007920f, -0.023732f, -0.005514f, -0.004110f, -0.000619f, 0.011251f, 0.010027f, 0.001406f, -0.006600f, -0.000229f, -0.003629f, -0.005714f, 0.003083f, 0.033157f, 0.002918f, -0.000831f, 0.010499f, -0.000902f, 0.012040f, -0.005306f, 0.000080f, -0.008004f, 0.033290f, 0.007760f, -0.013795f, -0.015806f, -0.010569f, 0.001197f, -0.000782f, -0.021449f, 0.001122f, 0.004289f, 0.001396f, 0.023171f, -0.006108f, 0.003309f, -0.014501f, -0.004851f, -0.039293f, -0.006905f, 0.001979f, 0.001377f, -0.015131f, 0.003820f, -0.007304f, 0.004795f, 0.002230f, -0.007260f, -0.000930f, 0.005028f, 0.007917f, 0.014684f, 0.003854f, -0.005523f, -0.005119f, -0.012053f, -0.004677f, 0.000983f, 0.001945f, -0.006992f, -0.002665f, 0.006322f, 0.002251f, -0.001921f, -0.001685f, -0.005221f, -0.004786f, -0.002445f, 0.001320f, -0.010070f, - -0.007060f, 0.001712f, 0.003935f, -0.000106f, -0.002595f, 0.002314f, 0.008102f, 0.001212f, 0.000620f, -0.000838f, -0.003598f, 0.000093f, -0.011649f, 0.023428f, 0.002111f, 0.019520f, 0.011883f, 0.019145f, 0.006478f, -0.019181f, 0.018998f, -0.012240f, 0.032800f, -0.021043f, -0.006165f, -0.029143f, -0.006088f, -0.003003f, 0.013089f, -0.013503f, 0.019165f, 0.015487f, -0.009182f, 0.001185f, 0.021899f, 0.030809f, -0.009705f, 0.000875f, -0.003936f, 0.009725f, 0.000218f, -0.003492f, 0.004523f, 0.008517f, -0.014570f, 0.011137f, 0.002164f, 0.012754f, 0.004893f, 0.002031f, -0.024935f, -0.003940f, 0.029061f, -0.003372f, 0.009762f, 0.022333f, 0.006470f, -0.001629f, -0.007711f, -0.010145f, -0.006086f, 0.001115f, -0.009487f, -0.005622f, 0.016856f, 0.015641f, 0.004920f, 0.025911f, 0.017189f, -0.005308f, -0.002539f, 0.003633f, 0.006017f, -0.007791f, -0.020547f, 0.026942f, 0.011845f, -0.005411f, 0.024591f, 0.025787f, 0.028649f, 0.012514f, 0.004336f, -0.010284f, 0.000738f, -0.014430f, -0.011643f, -0.007320f, -0.028709f, 0.011628f, -0.003638f, 0.024588f, -0.005811f, -0.019152f, -0.003630f, 0.001938f, - -0.002864f, -0.025580f, 0.004092f, 0.006939f, 0.011672f, 0.012463f, -0.008694f, 0.004070f, -0.005947f, -0.016607f, 0.003254f, 0.006549f, -0.001315f, -0.004853f, -0.012635f, 0.013295f, 0.007421f, -0.011698f, -0.013414f, -0.007408f, 0.007620f, -0.001284f, -0.003856f, 0.003650f, -0.006005f, 0.003780f, -0.001595f, 0.002359f, 0.005703f, -0.008448f, -0.004053f, 0.003890f, -0.001903f, 0.000224f, 0.017023f, 0.005675f, 0.001040f, -0.001093f, 0.003956f, -0.005626f, -0.003355f, -0.000488f, 0.005475f, 0.025513f, 0.001453f, 0.004616f, -0.003894f, 0.002056f, -0.003333f, -0.038799f, 0.004439f, -0.000435f, -0.007015f, -0.002951f, -0.019090f, 0.021785f, 0.022359f, 0.024989f, -0.040701f, 0.013060f, 0.008363f, 0.000952f, 0.040053f, 0.016394f, -0.019987f, -0.002395f, 0.039546f, 0.004604f, 0.007025f, 0.008008f, -0.011669f, 0.006540f, 0.008126f, 0.024509f, 0.012443f, -0.018872f, -0.030954f, 0.011624f, 0.007301f, -0.015661f, -0.002960f, 0.001428f, -0.019038f, 0.002088f, 0.023183f, 0.009805f, 0.012985f, 0.018771f, 0.030512f, 0.002804f, 0.026873f, 0.005228f, -0.010700f, -0.001642f, -0.015936f, -0.008422f, - 0.006645f, 0.009015f, 0.006953f, 0.013425f, -0.019154f, -0.008748f, 0.034263f, -0.002637f, -0.007381f, -0.019258f, 0.016243f, 0.014624f, 0.005089f, 0.006046f, -0.000279f, 0.009340f, -0.014917f, 0.024364f, -0.012347f, -0.014726f, -0.011915f, -0.008304f, 0.033177f, 0.008820f, 0.006902f, -0.036247f, -0.019867f, -0.029828f, 0.002151f, -0.003325f, -0.002950f, -0.028315f, -0.039134f, -0.001291f, 0.017566f, -0.009833f, 0.004996f, -0.002752f, -0.002694f, 0.009634f, -0.013640f, -0.006031f, -0.006228f, 0.011662f, 0.001954f, -0.008935f, -0.000154f, -0.001626f, -0.000237f, -0.004366f, -0.008219f, 0.001807f, 0.013067f, -0.006611f, -0.004314f, -0.008636f, -0.003833f, -0.006131f, -0.002899f, 0.005465f, -0.001945f, 0.008786f, -0.003003f, -0.002236f, -0.005206f, -0.004128f, 0.013743f, -0.001711f, -0.000940f, -0.006807f, -0.001059f, 0.007824f, 0.002213f, -0.010321f, 0.002248f, 0.000443f, 0.002894f, 0.036084f, 0.042466f, -0.011000f, 0.011856f, -0.003204f, -0.012551f, 0.002366f, -0.028620f, -0.017712f, -0.001360f, -0.005834f, 0.056985f, -0.025782f, 0.007204f, -0.036366f, -0.005434f, 0.022051f, -0.009410f, -0.020280f, - -0.021290f, -0.007835f, 0.008630f, 0.011194f, -0.001525f, -0.001901f, -0.023917f, 0.005533f, 0.016563f, 0.008336f, 0.010114f, 0.002968f, 0.003622f, -0.013980f, -0.004657f, 0.009243f, 0.003315f, -0.000101f, 0.000948f, -0.016847f, 0.007367f, -0.017726f, -0.002966f, -0.000543f, 0.005029f, -0.019674f, -0.002122f, 0.009526f, 0.013959f, -0.022407f, -0.011816f, 0.039564f, -0.015339f, -0.031337f, 0.026162f, -0.025513f, -0.008123f, -0.011335f, -0.004672f, -0.019608f, -0.013649f, -0.004188f, -0.019775f, -0.028161f, 0.045160f, 0.024888f, 0.020067f, 0.013716f, -0.017693f, -0.006963f, -0.011970f, 0.012631f, -0.021416f, 0.015007f, -0.011481f, 0.006401f, 0.015058f, 0.009800f, 0.002966f, -0.029003f, 0.028223f, -0.034630f, -0.009173f, -0.033577f, -0.013707f, 0.021952f, -0.001395f, 0.012413f, 0.025225f, 0.007961f, -0.002687f, 0.004840f, -0.008966f, 0.000395f, -0.002813f, -0.009681f, 0.011330f, -0.004083f, -0.005416f, 0.012985f, 0.006825f, -0.003578f, 0.000780f, 0.000494f, 0.001969f, -0.006010f, 0.005589f, 0.001683f, 0.002960f, -0.007173f, 0.004706f, -0.003393f, 0.012297f, -0.005675f, 0.008657f, -0.002776f, - -0.004448f, 0.013033f, -0.008917f, -0.003951f, -0.007990f, 0.005177f, 0.012895f, 0.005873f, -0.003831f, 0.006022f, -0.005370f, 0.006154f, 0.008937f, -0.009962f, -0.023798f, -0.001884f, 0.059742f, -0.026889f, 0.025927f, -0.053558f, 0.014627f, -0.034078f, -0.006454f, 0.018868f, -0.001773f, 0.012061f, 0.019775f, 0.015751f, -0.023405f, 0.017298f, 0.003508f, 0.012758f, -0.005094f, 0.017741f, 0.016463f, -0.003753f, 0.003394f, 0.010618f, 0.012024f, -0.017288f, -0.005972f, -0.025162f, -0.003175f, 0.021956f, 0.000520f, -0.010618f, 0.002202f, 0.008038f, 0.001472f, -0.009245f, -0.017928f, 0.004410f, -0.012147f, 0.011411f, -0.011481f, 0.042421f, -0.004069f, -0.023282f, -0.026193f, 0.005748f, -0.014419f, 0.013258f, -0.029369f, -0.023064f, -0.029837f, 0.006706f, -0.025215f, -0.006134f, -0.036152f, 0.025636f, 0.005194f, 0.017203f, 0.010600f, -0.039040f, 0.002880f, -0.003619f, -0.014677f, -0.021881f, -0.006060f, -0.018654f, -0.023466f, -0.013025f, 0.010704f, 0.015244f, 0.022268f, -0.013055f, 0.003005f, 0.009554f, -0.032808f, 0.014856f, -0.022522f, -0.002186f, 0.018300f, 0.007698f, 0.007310f, 0.003278f, - 0.037729f, -0.021846f, -0.008115f, -0.008408f, 0.009784f, -0.032465f, 0.002409f, -0.002778f, -0.000479f, 0.020823f, 0.012018f, 0.010219f, 0.003580f, -0.008032f, 0.001102f, -0.004065f, 0.015075f, -0.006046f, -0.002157f, -0.008760f, 0.017108f, 0.006772f, -0.006274f, 0.004585f, -0.015535f, 0.010385f, 0.005165f, 0.008134f, 0.001118f, -0.003231f, 0.009480f, 0.017466f, 0.005773f, -0.008742f, -0.011945f, -0.004955f, 0.004223f, -0.012104f, -0.002975f, -0.018319f, -0.013493f, -0.007320f, -0.000277f, -0.010157f, 0.007016f, -0.008043f, 0.017517f, -0.014211f, -0.000583f, -0.000259f, -0.049756f, -0.014306f, 0.056098f, 0.049652f, 0.027957f, -0.023844f, 0.024659f, 0.037169f, -0.024390f, 0.032851f, -0.026262f, 0.030342f, 0.007255f, -0.001896f, 0.010088f, -0.000521f, 0.016033f, -0.023743f, -0.006654f, -0.010643f, 0.012246f, -0.022507f, -0.020200f, 0.031952f, -0.002932f, -0.006511f, 0.003143f, -0.030638f, -0.000547f, 0.049603f, 0.027122f, 0.005748f, -0.000330f, 0.010663f, 0.046958f, 0.020099f, 0.000858f, 0.008007f, -0.012811f, -0.005446f, -0.011006f, 0.020228f, -0.010281f, 0.013547f, 0.002684f, 0.024137f, - -0.028318f, -0.000489f, -0.001560f, 0.000841f, -0.007872f, 0.013515f, 0.021734f, -0.004981f, -0.005983f, 0.021880f, 0.002658f, 0.002801f, 0.049508f, 0.007861f, 0.000836f, -0.022515f, 0.010150f, -0.016724f, 0.023021f, -0.026336f, -0.023244f, 0.003676f, -0.022892f, -0.024572f, -0.037477f, 0.010173f, -0.012389f, 0.019511f, -0.006202f, 0.011043f, -0.054813f, 0.011285f, -0.018415f, -0.033287f, 0.017569f, 0.023104f, 0.012256f, 0.007197f, 0.004381f, 0.009729f, 0.014907f, -0.007054f, -0.008311f, -0.010064f, -0.000442f, -0.011046f, 0.007166f, 0.001515f, -0.015669f, -0.010926f, 0.009339f, 0.005478f, 0.000952f, 0.016300f, -0.005446f, -0.001652f, -0.012699f, -0.002699f, 0.000336f, 0.006777f, 0.004516f, -0.010836f, -0.006395f, -0.002971f, -0.012850f, -0.002443f, -0.012047f, 0.004988f, 0.003615f, 0.014661f, 0.010258f, -0.001008f, -0.005635f, 0.000020f, 0.000389f, -0.004152f, -0.000609f, -0.015267f, -0.002421f, 0.006278f, 0.007093f, 0.001952f, -0.002269f, 0.014743f, 0.002768f, 0.041585f, -0.064002f, 0.026849f, 0.027988f, -0.045500f, -0.004644f, -0.038988f, -0.012868f, -0.035003f, -0.015833f, 0.040028f, - -0.013710f, -0.002938f, -0.028158f, -0.005471f, 0.006460f, -0.041740f, -0.001633f, 0.026646f, -0.051533f, 0.001879f, -0.035189f, -0.019008f, 0.000698f, 0.003779f, -0.023308f, -0.018734f, -0.019532f, -0.005647f, -0.016794f, -0.001101f, 0.008933f, -0.005087f, 0.013063f, -0.025159f, -0.016035f, 0.033556f, -0.015720f, 0.018160f, -0.019992f, 0.018894f, 0.017306f, 0.002928f, 0.004612f, 0.017595f, 0.000827f, 0.025084f, 0.031775f, -0.006022f, 0.004700f, 0.047189f, 0.002799f, 0.024233f, -0.001711f, -0.018826f, -0.037234f, 0.006219f, 0.025852f, -0.041114f, 0.000538f, -0.024192f, -0.012694f, -0.053306f, 0.023017f, 0.035111f, -0.009190f, 0.016897f, -0.008628f, 0.038185f, 0.042307f, -0.003444f, -0.041893f, -0.040750f, 0.058057f, -0.045263f, 0.016938f, 0.006657f, 0.006034f, 0.043389f, -0.018494f, 0.070717f, -0.001179f, -0.016101f, -0.018441f, -0.012820f, 0.011322f, -0.004491f, -0.005395f, -0.000486f, 0.018285f, -0.004598f, -0.011488f, 0.015264f, -0.005514f, 0.007670f, -0.014063f, -0.008549f, 0.013391f, 0.000973f, 0.020008f, -0.006658f, 0.008525f, -0.014775f, -0.004190f, -0.020198f, 0.004182f, 0.008145f, - 0.010006f, 0.001877f, 0.010280f, 0.000917f, -0.003124f, 0.010849f, -0.017037f, 0.011225f, -0.014447f, -0.005228f, 0.008805f, -0.017842f, -0.004467f, -0.010268f, -0.029805f, -0.008062f, 0.001985f, 0.010710f, -0.014544f, -0.007664f, -0.012786f, -0.004247f, 0.003156f, 0.011733f, 0.069500f, 0.078326f, -0.004630f, -0.059078f, 0.058345f, -0.064588f, 0.009098f, 0.027386f, 0.006784f, -0.006916f, -0.029804f, 0.033553f, -0.015028f, -0.012028f, -0.030351f, -0.017654f, -0.009468f, -0.037882f, -0.020849f, -0.016933f, -0.009481f, -0.006227f, 0.026299f, -0.000387f, 0.022730f, 0.000167f, -0.009836f, -0.033182f, -0.036358f, -0.009182f, -0.001335f, -0.000490f, -0.005528f, -0.013592f, -0.015713f, 0.017391f, 0.041859f, -0.022751f, 0.014412f, -0.014206f, -0.014649f, 0.016632f, -0.016228f, -0.026274f, 0.058768f, -0.006493f, 0.005395f, 0.002883f, -0.032852f, -0.007224f, -0.006899f, 0.016648f, -0.042438f, -0.018792f, 0.044870f, 0.007216f, -0.019092f, 0.024390f, 0.045602f, -0.025947f, -0.032138f, 0.016689f, -0.027246f, 0.000441f, -0.050983f, 0.016454f, 0.043327f, -0.004436f, 0.022591f, 0.013199f, 0.007565f, 0.049718f, - 0.015589f, -0.000220f, 0.028651f, -0.004160f, -0.003993f, 0.017548f, 0.018783f, -0.072101f, 0.006572f, -0.031355f, 0.025477f, -0.001172f, 0.000959f, 0.017939f, -0.005449f, -0.006882f, -0.009508f, 0.009666f, 0.003659f, -0.007045f, 0.009608f, -0.010309f, 0.001023f, -0.005467f, -0.013940f, 0.006411f, -0.006992f, 0.015597f, 0.008548f, -0.000238f, 0.000048f, 0.004300f, -0.004159f, 0.009247f, 0.004501f, 0.002910f, 0.003746f, -0.002586f, 0.003392f, -0.006206f, -0.012110f, -0.006604f, -0.003162f, 0.001695f, -0.015746f, 0.012829f, 0.008575f, 0.000671f, 0.004650f, -0.010526f, 0.014714f, 0.001832f, -0.008778f, 0.005388f, 0.006337f, -0.018804f, -0.003922f, 0.001926f, -0.001535f, 0.000306f, 0.003416f, 0.002396f, -0.095306f, -0.066752f, 0.027872f, -0.028275f, -0.026644f, -0.081070f, -0.023383f, 0.017315f, 0.006722f, -0.015950f, -0.045071f, -0.000557f, 0.022887f, -0.001648f, 0.003134f, 0.023710f, 0.042090f, -0.036457f, 0.095786f, -0.024620f, -0.031763f, -0.009653f, -0.005348f, 0.000460f, -0.037864f, 0.000892f, -0.006638f, 0.020254f, -0.012764f, 0.028655f, -0.011820f, -0.024338f, 0.010025f, 0.011829f, - -0.021724f, 0.023775f, -0.072903f, 0.000604f, -0.005803f, 0.029135f, 0.035229f, -0.025475f, 0.032855f, -0.012579f, 0.009420f, -0.015672f, -0.005230f, -0.009631f, 0.026295f, -0.003497f, 0.034610f, 0.054036f, -0.046984f, -0.013129f, 0.025385f, -0.031665f, 0.019203f, -0.035974f, -0.019832f, -0.017905f, -0.021056f, -0.036726f, -0.018820f, 0.017124f, 0.013997f, 0.028180f, 0.036579f, 0.026568f, -0.044286f, 0.005535f, 0.008206f, 0.010538f, 0.008957f, 0.028307f, -0.013855f, -0.029963f, 0.017150f, -0.007810f, -0.023411f, 0.004552f, -0.040110f, -0.016620f, -0.034941f, 0.003171f, 0.020593f, -0.012757f, 0.019792f, 0.010591f, -0.001197f, -0.007625f, -0.000592f, -0.031178f, -0.011692f, 0.010273f, 0.005178f, 0.006753f, 0.002145f, 0.003444f, 0.002771f, 0.009622f, 0.002610f, -0.020969f, -0.002948f, 0.003084f, -0.002132f, 0.005335f, -0.009608f, -0.008835f, -0.020470f, 0.005176f, 0.018050f, -0.020615f, -0.014473f, 0.010462f, -0.005242f, -0.021041f, 0.013755f, -0.010306f, -0.008441f, 0.012418f, -0.001000f, -0.004039f, -0.006469f, -0.009425f, -0.012480f, -0.013269f, -0.003472f, -0.011318f, -0.006760f, -0.005904f, - 0.008921f, -0.000778f, 0.013311f, -0.019820f, -0.064922f, 0.048994f, -0.083106f, 0.058402f, -0.008380f, -0.037176f, -0.031723f, -0.035409f, -0.023982f, -0.018671f, 0.001776f, 0.042813f, -0.003478f, -0.035904f, 0.038123f, 0.054033f, -0.082948f, -0.022159f, 0.005772f, -0.006874f, -0.012952f, -0.004167f, -0.011522f, -0.014755f, -0.024125f, 0.030754f, -0.010807f, -0.023043f, -0.039480f, -0.039243f, 0.038629f, 0.010044f, -0.007093f, -0.004297f, 0.000015f, -0.008677f, -0.010545f, 0.008490f, -0.034737f, 0.018887f, 0.039485f, 0.029466f, 0.018375f, 0.037693f, 0.043870f, -0.025269f, 0.009328f, -0.036359f, 0.039244f, -0.022519f, -0.006492f, -0.000271f, -0.057319f, 0.018539f, 0.047132f, 0.007972f, -0.019426f, -0.015826f, 0.061628f, -0.024898f, -0.026669f, 0.017233f, -0.062943f, -0.007428f, -0.031245f, 0.001272f, -0.061548f, 0.025624f, 0.010644f, 0.025110f, -0.099841f, -0.085674f, 0.013944f, -0.029996f, -0.020113f, -0.012484f, -0.066885f, 0.022033f, -0.039564f, -0.043194f, 0.032464f, -0.029102f, -0.017174f, 0.013773f, -0.007054f, -0.013152f, -0.002458f, -0.003721f, 0.013942f, -0.033061f, -0.015605f, -0.031904f, - 0.000025f, -0.014079f, 0.006346f, -0.004666f, -0.025178f, -0.010418f, 0.008819f, -0.001749f, 0.001779f, 0.006601f, -0.027566f, 0.003395f, -0.034917f, 0.015948f, 0.005258f, -0.025443f, 0.008033f, -0.030241f, -0.006524f, -0.011154f, 0.002235f, 0.015829f, -0.011913f, 0.016382f, -0.008835f, 0.027984f, -0.012889f, 0.017532f, -0.009880f, -0.003267f, -0.000919f, -0.003565f, 0.005698f, -0.003054f, -0.000022f, -0.002454f, -0.006395f, -0.000095f, 0.010090f, -0.002978f, -0.004353f, -0.003674f, 0.003227f, -0.003738f, -0.003795f, -0.002860f, -0.001803f, 0.000700f, -0.001797f, -0.001400f, -0.001607f, -0.003624f, -0.001504f, 0.001738f, -0.000079f, 0.006110f, 0.073975f, -0.101856f, 0.104533f, 0.031038f, -0.003081f, 0.009055f, -0.074728f, 0.015996f, 0.035734f, -0.012739f, 0.089098f, -0.024780f, 0.038778f, -0.030724f, 0.098104f, -0.003003f, -0.012748f, -0.036829f, -0.013261f, 0.014797f, -0.009447f, 0.040164f, 0.031157f, -0.009835f, 0.003034f, -0.037866f, 0.015044f, 0.039798f, 0.040118f, -0.042723f, 0.018498f, -0.007999f, 0.042803f, -0.010938f, 0.027951f, -0.025065f, -0.019752f, -0.057168f, 0.004233f, -0.036014f, - -0.053725f, 0.077281f, -0.033716f, -0.006197f, -0.014330f, -0.017836f, 0.010657f, 0.006930f, 0.027392f, -0.012234f, 0.041928f, 0.004504f, 0.075873f, 0.029639f, 0.083952f, 0.071740f, -0.006876f, 0.048170f, 0.036550f, -0.011922f, 0.042955f, 0.058745f, -0.024778f, -0.057439f, 0.033234f, 0.022050f, 0.047690f, 0.025020f, -0.004526f, 0.000045f, -0.061940f, -0.005260f, -0.018168f, -0.021899f, 0.082691f, -0.008819f, -0.000820f, 0.103215f, 0.068676f, 0.037599f, 0.045899f, 0.024245f, 0.003003f, 0.012412f, 0.059572f, 0.001422f, -0.015552f, 0.018362f, 0.050057f, 0.024245f, 0.028549f, 0.014827f, 0.034642f, -0.001108f, 0.009993f, 0.013651f, 0.024260f, 0.009040f, 0.006174f, 0.005117f, 0.002763f, 0.020396f, 0.029470f, 0.013329f, 0.038942f, 0.003633f, 0.024036f, 0.024674f, 0.043898f, 0.000172f, 0.030050f, 0.027526f, 0.005700f, 0.023367f, 0.001252f, 0.005896f, -0.007431f, 0.010199f, 0.012206f, 0.006978f, 0.006321f, 0.002553f, -0.005249f, 0.002228f, 0.010276f, -0.004441f, 0.005581f, 0.020975f, -0.004400f, 0.031791f, -0.071480f, 0.137238f, -0.018617f, -0.015274f, -0.008751f, 0.099843f, - -0.061311f, 0.050075f, -0.067126f, 0.063600f, 0.012884f, -0.012418f, 0.001639f, 0.037243f, -0.015994f, 0.034719f, -0.016124f, -0.000331f, 0.070161f, 0.021485f, -0.017938f, -0.000307f, 0.017537f, 0.013717f, -0.068005f, 0.018088f, -0.024747f, -0.006255f, -0.035813f, 0.034580f, 0.033009f, 0.005027f, 0.015682f, 0.058436f, -0.019369f, -0.093354f, 0.022362f, 0.060885f, -0.023579f, -0.061466f, 0.016375f, 0.043521f, 0.014898f, -0.000186f, -0.073306f, -0.035464f, -0.043348f, 0.040535f, 0.016693f, 0.041748f, -0.088241f, 0.005342f, -0.016135f, -0.098019f, -0.025133f, 0.014007f, 0.044449f, 0.061140f, -0.032518f, 0.114511f, 0.022612f, 0.001562f, -0.023437f, -0.046837f, -0.031812f, 0.021186f, -0.052964f, 0.107844f, -0.034378f, 0.003928f, 0.064435f, -0.042777f, 0.039467f, -0.041818f, -0.023265f, 0.089296f, -0.045140f, 0.058325f, 0.054737f, 0.019104f, 0.025165f, -0.078536f, -0.008898f, -0.004788f, -0.026797f, 0.035937f, 0.033539f, 0.012672f, 0.010556f, 0.034911f, -0.007994f, 0.013127f, -0.003781f, 0.009838f, -0.014806f, 0.011807f, -0.002094f, 0.009816f, 0.008862f, 0.001459f, -0.025957f, -0.005479f, - 0.004255f, -0.010499f, -0.002509f, 0.017935f, 0.011153f, 0.030190f, -0.013503f, 0.005508f, -0.050430f, -0.044060f, -0.005491f, -0.003754f, 0.031192f, 0.021732f, -0.013752f, -0.011890f, -0.040011f, -0.001338f, 0.014872f, -0.007820f, 0.000770f, 0.008495f, -0.011998f, 0.007889f, -0.029210f, 0.000400f, -0.009206f, -0.013107f, 0.020762f, -0.080691f, 0.046035f, 0.029453f, 0.046044f, -0.018398f, -0.013105f, 0.018641f, 0.000111f, 0.005297f, 0.001700f, 0.009093f, 0.002152f, -0.012705f, 0.059563f, -0.013921f, -0.041112f, 0.017358f, -0.001108f, -0.036196f, 0.012568f, 0.008342f, 0.024564f, -0.016712f, -0.027405f, 0.029411f, -0.023699f, -0.003260f, -0.007081f, 0.024133f, -0.041705f, 0.014193f, -0.025885f, 0.021087f, -0.036743f, 0.013011f, -0.012343f, 0.006278f, 0.080437f, -0.055386f, 0.010457f, 0.017659f, -0.049912f, 0.018047f, 0.022959f, -0.037017f, -0.007734f, -0.014216f, 0.066894f, 0.005574f, -0.077442f, 0.046281f, -0.062607f, 0.011311f, 0.032362f, -0.030105f, 0.037022f, -0.044913f, -0.037004f, 0.050817f, -0.008686f, 0.021550f, -0.076300f, 0.014203f, 0.016457f, -0.004135f, -0.011795f, -0.000724f, - 0.030924f, 0.001076f, -0.101457f, 0.061350f, -0.006418f, 0.023502f, -0.026673f, -0.031113f, 0.096695f, -0.002679f, -0.061892f, 0.005254f, 0.031208f, 0.007030f, -0.094077f, 0.003236f, 0.087211f, -0.016085f, -0.040385f, 0.009439f, 0.042174f, -0.005756f, 0.000115f, -0.007551f, -0.004390f, 0.005911f, -0.015294f, -0.009051f, 0.028629f, -0.012578f, -0.000811f, -0.016997f, 0.016783f, 0.025432f, -0.004613f, -0.003987f, 0.027055f, 0.008723f, -0.018634f, -0.004579f, 0.011645f, 0.007660f, -0.015832f, 0.008322f, 0.018610f, -0.015704f, 0.003979f, 0.004509f, 0.011986f, -0.029106f, 0.001821f, 0.017989f, 0.006830f, -0.020334f, 0.001118f, 0.014110f, 0.002338f, -0.015138f, -0.010118f, 0.038158f, -0.013250f, -0.199444f, -0.424355f, -0.169316f, -0.319495f, -0.389120f, 0.137805f, -0.001597f, 0.141345f, 0.537615f, 0.469506f, 0.267086f, 0.514492f, 0.286862f, 0.032368f, 0.177750f, 0.109350f, -0.194681f, -0.137618f, -0.040588f, -0.215793f, -0.260956f, -0.086919f, -0.132190f, -0.206588f, -0.052003f, -0.009489f, -0.263034f, -0.181274f, -0.027586f, -0.159927f, -0.207016f, -0.060439f, -0.101679f, -0.225049f, -0.043341f, - 0.022736f, -0.126287f, -0.096336f, 0.094931f, -0.034386f, -0.135426f, 0.028219f, 0.089363f, -0.066905f, 0.054718f, 0.196772f, -0.029118f, -0.052722f, 0.194725f, 0.103870f, -0.048877f, 0.323533f, 0.439819f, 0.273695f, 0.463777f, 0.693863f, 0.533694f, 0.507882f, 0.742260f, 0.643457f, 0.473544f, 0.581050f, 0.528199f, 0.335954f, 0.297159f, 0.159864f, -0.055420f, -0.232052f, -0.415095f, -0.589653f, -0.701664f, -0.879748f, -0.939935f, -0.991156f, -1.122854f, -1.122060f, -0.848078f, -0.867799f, -0.790320f, -0.355994f, -0.275494f, -0.267950f, 0.118657f, 0.226578f, 0.004782f, 0.236157f, 0.327784f, 0.112149f, 0.156196f, 0.307401f, 0.229737f, 0.133736f, 0.216973f, 0.268660f, 0.114152f, 0.167238f, 0.333440f, 0.198278f, 0.130527f, 0.307283f, 0.230436f, 0.093025f, 0.199701f, 0.228157f, 0.029283f, 0.117815f, 0.274657f, 0.157462f, 0.188930f, 0.387213f, 0.364269f, 0.383872f, 0.497068f, 0.500559f, 0.401536f, 0.379795f, 0.324163f, 0.197938f, 0.142726f, 0.075936f, -0.011900f, -0.078181f, -0.211934f, -0.289544f, -0.391358f, -0.521464f, -0.580657f, -0.656066f, -0.763698f, -0.727281f, -0.653239f, - -0.576915f, -0.421855f, -0.276582f, -0.146732f, -0.054147f, 0.022660f, 0.048169f, 0.058921f, 0.076058f, 0.080560f, 0.068103f, 0.072660f, 0.080289f, 0.077719f, 0.087095f, 0.112465f, 0.126145f, 0.134377f, 0.149375f, 0.152491f, 0.150510f, 0.143710f, 0.107506f, 0.067336f, 0.043131f, 0.036376f, 0.036406f}, - {-0.013341f, 0.000386f, 0.010605f, 0.007285f, 0.007329f, 0.004608f, 0.002910f, -0.004182f, 0.000159f, -0.004759f, 0.011346f, 0.006942f, 0.002724f, 0.001640f, 0.001638f, -0.000144f, -0.003590f, 0.005569f, 0.007806f, 0.007499f, 0.004596f, -0.005719f, -0.008243f, -0.009028f, -0.008566f, -0.000908f, 0.004472f, -0.008827f, 0.007359f, -0.001783f, 0.012864f, -0.002154f, 0.008173f, 0.000098f, -0.010670f, 0.003043f, -0.001374f, 0.008621f, 0.000596f, -0.001019f, -0.004354f, -0.007319f, 0.000658f, 0.004115f, -0.009369f, -0.012821f, 0.008948f, -0.007431f, -0.006838f, -0.006465f, 0.005043f, -0.005102f, 0.002145f, -0.002287f, -0.000632f, -0.007555f, -0.002279f, -0.005143f, -0.007502f, 0.002461f, 0.005821f, -0.002171f, -0.008253f, -0.001619f, -0.001685f, -0.004149f, -0.007135f, -0.000558f, -0.005804f, -0.006841f, -0.001237f, 0.000466f, 0.001607f, -0.002322f, 0.001003f, -0.001272f, -0.009647f, -0.002134f, 0.001187f, -0.002670f, -0.002477f, -0.003030f, 0.003084f, -0.003699f, 0.003176f, -0.000267f, 0.000548f, 0.001217f, -0.002362f, 0.002317f, 0.000019f, -0.001293f, 0.000573f, -0.000636f, -0.002006f, 0.000325f, - 0.001500f, -0.001034f, -0.000878f, -0.000097f, 0.002425f, 0.001094f, 0.000340f, 0.000373f, 0.001307f, 0.000885f, 0.001519f, 0.000430f, 0.001955f, -0.001632f, -0.000720f, -0.000739f, 0.025123f, -0.008780f, -0.005748f, -0.007827f, -0.005378f, 0.000586f, -0.016812f, 0.002838f, -0.008341f, -0.016459f, -0.003517f, 0.014107f, -0.010146f, 0.002751f, -0.001198f, 0.004733f, 0.007126f, 0.007624f, 0.012322f, -0.002639f, -0.007061f, 0.003143f, 0.002976f, -0.005660f, -0.000818f, -0.003825f, -0.002489f, 0.001515f, -0.006469f, -0.004044f, -0.000941f, -0.008144f, -0.009559f, 0.004884f, 0.007390f, -0.004383f, -0.010985f, -0.001926f, -0.002576f, 0.001555f, 0.008875f, 0.000587f, -0.003677f, -0.000591f, 0.011882f, 0.001481f, -0.007271f, -0.007011f, 0.003076f, 0.002250f, 0.009484f, 0.005385f, -0.000622f, -0.009055f, 0.000507f, -0.000533f, 0.007784f, -0.008334f, -0.002799f, 0.004578f, 0.009047f, -0.002551f, 0.000804f, -0.006853f, -0.003848f, 0.004200f, 0.000261f, 0.000885f, 0.002457f, -0.002665f, 0.003295f, 0.000976f, 0.004031f, 0.002479f, 0.001559f, 0.015729f, 0.004819f, -0.000645f, -0.002120f, -0.004637f, - 0.006746f, 0.004185f, 0.007291f, 0.005192f, 0.001830f, 0.001933f, -0.001522f, 0.001444f, -0.002945f, -0.003146f, -0.002414f, 0.000826f, -0.001113f, -0.000770f, -0.000476f, 0.002538f, 0.000421f, 0.003317f, 0.000314f, -0.001051f, -0.000414f, -0.000318f, -0.000458f, 0.001081f, 0.000780f, 0.001341f, -0.018430f, -0.004322f, -0.008691f, 0.008456f, 0.002150f, 0.000218f, 0.006018f, -0.003550f, -0.014243f, -0.007501f, 0.009489f, -0.000500f, 0.009775f, -0.000708f, -0.005508f, 0.010836f, 0.004081f, 0.023732f, -0.004446f, 0.010315f, 0.001520f, -0.011151f, 0.002832f, -0.009468f, 0.006164f, 0.002198f, 0.002437f, -0.010119f, 0.005094f, -0.001745f, -0.003564f, 0.004184f, 0.016163f, 0.006025f, -0.000072f, -0.012931f, 0.011254f, -0.002344f, 0.000071f, 0.007972f, -0.011763f, -0.002180f, 0.008149f, -0.004796f, -0.004184f, -0.013278f, -0.014505f, -0.001082f, 0.008820f, 0.005204f, -0.005806f, -0.000138f, 0.005753f, 0.007204f, 0.002881f, -0.001452f, -0.002777f, -0.012722f, 0.006016f, 0.015879f, 0.007232f, -0.004551f, -0.002216f, 0.005041f, 0.007586f, -0.000574f, -0.002342f, 0.001909f, -0.010470f, -0.001923f, - -0.007332f, -0.003415f, -0.000661f, -0.004495f, 0.012103f, 0.010554f, -0.003128f, 0.005305f, 0.003930f, -0.001998f, -0.007122f, 0.001699f, -0.005509f, -0.002076f, 0.001648f, -0.007110f, -0.001505f, 0.000727f, -0.002054f, 0.002041f, 0.003065f, -0.004544f, -0.001621f, -0.000289f, 0.000322f, -0.003563f, 0.000957f, -0.001643f, 0.002705f, -0.003159f, 0.002988f, -0.002157f, 0.000728f, 0.000498f, -0.001537f, 0.001210f, 0.000542f, -0.001145f, 0.001054f, 0.001178f, 0.001215f, -0.002343f, -0.001097f, 0.000058f, -0.003325f, 0.000446f, 0.001981f, -0.000653f, -0.013862f, 0.015490f, -0.013345f, 0.014146f, -0.000130f, -0.011274f, -0.026595f, -0.010471f, -0.007631f, 0.003990f, 0.013947f, 0.010920f, -0.003353f, -0.002130f, -0.003237f, -0.007622f, -0.002192f, -0.008566f, 0.002947f, 0.003166f, 0.005291f, 0.008779f, 0.005207f, 0.016786f, 0.000061f, 0.003401f, -0.005899f, -0.001368f, -0.003991f, 0.006179f, 0.001876f, -0.007786f, -0.011274f, 0.000482f, -0.008090f, 0.001035f, 0.007685f, -0.012751f, 0.009016f, -0.021467f, -0.005895f, -0.015917f, 0.002752f, -0.000957f, 0.000299f, -0.006222f, -0.008394f, 0.003007f, - 0.007651f, 0.005488f, 0.002051f, -0.012780f, 0.003948f, -0.008816f, -0.003328f, -0.002507f, -0.017414f, -0.006780f, 0.005276f, 0.006791f, -0.000551f, -0.011984f, 0.002123f, 0.004610f, -0.002272f, -0.002344f, 0.001499f, 0.010520f, 0.003818f, -0.002299f, -0.003301f, 0.001900f, -0.024824f, 0.001848f, 0.006371f, 0.005980f, 0.017598f, 0.002487f, -0.009769f, 0.011077f, -0.003792f, 0.001719f, 0.003939f, 0.003712f, -0.002472f, -0.008135f, 0.000529f, 0.004876f, 0.004664f, 0.007515f, -0.002271f, -0.002383f, 0.001369f, -0.001363f, -0.000877f, 0.001245f, -0.002058f, 0.000758f, 0.001774f, -0.000968f, -0.003941f, -0.003017f, -0.000093f, 0.000525f, 0.001114f, -0.001866f, 0.003855f, -0.001927f, -0.001034f, 0.002499f, 0.002916f, -0.000783f, -0.004374f, -0.002285f, 0.001827f, -0.002206f, -0.001150f, -0.001322f, 0.001012f, 0.003501f, -0.000584f, 0.017713f, -0.004584f, 0.000185f, 0.011663f, -0.006120f, -0.005722f, 0.017473f, -0.013432f, -0.031690f, -0.020821f, -0.012294f, 0.018932f, 0.008017f, 0.002565f, -0.018384f, 0.019319f, -0.008430f, 0.005369f, -0.005087f, 0.007548f, 0.009264f, -0.000834f, 0.000170f, - -0.000239f, -0.003220f, -0.010090f, -0.008154f, -0.002529f, 0.000985f, 0.008735f, 0.004919f, 0.013682f, 0.006496f, -0.006067f, -0.003272f, 0.012171f, -0.008882f, 0.014949f, -0.012083f, 0.003163f, 0.006523f, 0.004191f, -0.009813f, 0.013170f, -0.001362f, 0.014156f, 0.018673f, 0.002807f, -0.007561f, -0.007328f, 0.007851f, -0.009081f, -0.019120f, -0.004976f, 0.003926f, -0.012288f, 0.006901f, 0.005595f, -0.004134f, -0.007664f, -0.003319f, -0.002969f, 0.003590f, -0.001530f, -0.010802f, -0.004143f, 0.018443f, 0.014832f, 0.007937f, -0.022122f, -0.021752f, -0.011897f, 0.020716f, 0.010488f, -0.001714f, 0.002848f, -0.010341f, 0.013093f, -0.000674f, -0.010268f, -0.003635f, 0.001315f, -0.001093f, -0.005169f, -0.000832f, -0.004103f, -0.002232f, 0.003848f, 0.005653f, -0.003402f, -0.000142f, 0.000471f, 0.000882f, 0.000783f, -0.005781f, 0.006511f, -0.000537f, -0.006550f, -0.003933f, -0.000943f, -0.002107f, 0.000074f, -0.000555f, -0.000853f, -0.000760f, 0.001518f, 0.000246f, -0.003039f, -0.000272f, 0.001119f, -0.000808f, -0.004700f, -0.003247f, -0.004388f, -0.001598f, 0.003076f, 0.008917f, 0.013132f, -0.000735f, - 0.005062f, -0.020670f, -0.006977f, 0.003375f, 0.007069f, -0.025635f, -0.002839f, 0.011024f, -0.007722f, -0.016683f, 0.010388f, -0.019404f, -0.014229f, -0.007701f, 0.001695f, -0.007054f, -0.004788f, -0.000645f, 0.014413f, -0.012262f, 0.003197f, -0.003900f, -0.005093f, -0.010326f, -0.002849f, -0.015067f, -0.004486f, -0.000467f, 0.002870f, -0.010543f, -0.002224f, -0.006661f, 0.000953f, -0.003412f, -0.004670f, 0.002737f, 0.011858f, 0.002988f, -0.006183f, 0.005868f, -0.009058f, -0.002278f, 0.003469f, -0.003476f, 0.005908f, -0.001959f, -0.000669f, -0.041774f, 0.002770f, -0.014500f, 0.007065f, 0.006007f, 0.009221f, -0.023007f, -0.023440f, 0.003132f, 0.000818f, 0.005443f, 0.000153f, 0.012460f, -0.005067f, 0.006758f, 0.008409f, -0.004040f, 0.019614f, -0.006170f, -0.012773f, -0.002755f, -0.010573f, -0.000400f, -0.020918f, 0.000276f, 0.010346f, 0.004815f, 0.015612f, -0.004360f, -0.004275f, 0.006862f, -0.008258f, 0.001922f, 0.005080f, 0.010046f, -0.005402f, 0.005749f, -0.008196f, 0.001589f, 0.000322f, 0.001052f, -0.004042f, -0.001957f, -0.003014f, 0.003183f, -0.003749f, -0.005989f, -0.000126f, -0.002845f, - -0.003726f, -0.001371f, -0.002920f, -0.001306f, -0.001838f, 0.001670f, -0.002921f, 0.001657f, -0.005894f, -0.000663f, -0.003529f, -0.001531f, 0.000470f, 0.000361f, -0.000838f, -0.002852f, 0.000257f, 0.016164f, -0.032600f, 0.008728f, 0.001390f, 0.009048f, 0.013122f, 0.002376f, -0.012646f, -0.027773f, 0.001978f, -0.011230f, 0.021091f, -0.008592f, 0.004351f, 0.001530f, 0.004505f, 0.015910f, -0.007030f, -0.000491f, -0.007384f, -0.004163f, 0.004156f, -0.004018f, 0.014930f, 0.011119f, 0.003189f, -0.003170f, 0.000205f, 0.009994f, -0.001030f, 0.004824f, -0.000231f, -0.008241f, 0.007283f, -0.002119f, -0.006172f, 0.008827f, 0.014953f, 0.000041f, 0.005846f, 0.001047f, -0.009924f, -0.006189f, 0.018157f, -0.008771f, 0.008684f, 0.013226f, -0.017550f, 0.012518f, 0.006693f, 0.006355f, -0.007793f, 0.012837f, 0.003695f, -0.002219f, 0.016417f, 0.000607f, -0.000205f, -0.007695f, -0.004388f, -0.000008f, -0.007192f, -0.017564f, -0.004631f, 0.017939f, 0.013520f, 0.014759f, -0.001659f, -0.015565f, 0.006448f, 0.018819f, -0.003526f, -0.013327f, -0.000695f, -0.009416f, -0.002431f, -0.001563f, 0.014640f, -0.001404f, - 0.007509f, -0.001928f, 0.000666f, -0.010330f, 0.002715f, -0.001778f, 0.004035f, 0.004014f, -0.007133f, 0.004833f, -0.011280f, 0.001109f, 0.004038f, 0.000296f, -0.002925f, -0.000194f, 0.002216f, -0.007805f, -0.001460f, -0.007345f, 0.002267f, -0.004644f, -0.002943f, -0.004500f, -0.007555f, -0.004970f, -0.001952f, 0.001090f, -0.002329f, -0.000184f, 0.002364f, 0.000798f, -0.001993f, -0.001400f, -0.002280f, 0.004321f, 0.000124f, 0.001561f, 0.002780f, 0.001740f, 0.001949f, -0.001010f, 0.003668f, -0.000560f, 0.000065f, 0.001536f, -0.001469f, -0.002029f, 0.000946f, 0.003891f, -0.015481f, -0.004569f, -0.024958f, -0.007300f, -0.014479f, -0.017072f, -0.016188f, -0.005737f, 0.021767f, 0.023687f, 0.032637f, 0.007295f, -0.012461f, -0.007670f, 0.027013f, -0.000107f, -0.006309f, 0.020694f, -0.002177f, 0.000897f, -0.032352f, 0.014620f, 0.008125f, -0.021589f, 0.029895f, -0.004174f, 0.013423f, -0.003639f, 0.007011f, 0.013286f, 0.000015f, 0.023494f, 0.008997f, 0.006661f, -0.002737f, -0.008344f, 0.002240f, 0.014230f, -0.003836f, 0.004220f, 0.006654f, 0.018849f, -0.000899f, -0.005718f, 0.012141f, -0.014292f, - -0.008990f, 0.006448f, 0.020799f, -0.009239f, -0.011175f, -0.003533f, 0.017137f, 0.000145f, 0.002409f, -0.006420f, -0.002947f, 0.006143f, 0.009031f, 0.000789f, -0.007417f, -0.023737f, 0.002798f, 0.006978f, 0.022571f, 0.006552f, -0.001838f, 0.017336f, 0.030984f, -0.006397f, 0.010845f, 0.007305f, 0.012828f, -0.002511f, -0.010916f, 0.006377f, -0.025717f, -0.007001f, -0.003913f, -0.008349f, -0.005213f, 0.013370f, 0.004603f, -0.016651f, -0.009835f, 0.000463f, -0.005450f, -0.000607f, -0.012749f, -0.000400f, -0.004379f, -0.003220f, -0.001767f, 0.001267f, -0.003563f, -0.000898f, -0.001746f, 0.002715f, -0.001015f, 0.002490f, -0.003496f, -0.000116f, 0.000523f, 0.001147f, 0.005151f, 0.000144f, -0.001997f, 0.004811f, 0.007035f, -0.000576f, -0.004339f, -0.002742f, -0.006106f, -0.005339f, 0.007305f, -0.001255f, 0.001962f, 0.002671f, 0.002580f, 0.002411f, -0.005624f, 0.002731f, -0.002050f, -0.028256f, 0.039568f, -0.019949f, 0.008983f, -0.001465f, -0.013648f, 0.030160f, 0.007102f, 0.003743f, -0.031879f, 0.008274f, -0.012715f, -0.014510f, 0.003542f, -0.014163f, 0.016128f, 0.009761f, -0.002711f, 0.003233f, - -0.007811f, -0.003528f, -0.011585f, -0.007449f, -0.013914f, -0.021486f, -0.005294f, -0.015034f, -0.004036f, 0.008180f, -0.006076f, -0.008093f, 0.017015f, 0.010693f, 0.017077f, -0.014001f, -0.001579f, -0.002813f, -0.015381f, 0.000152f, -0.008178f, -0.038290f, 0.003353f, 0.000692f, -0.005921f, 0.013286f, -0.001387f, 0.014657f, 0.012418f, 0.004583f, 0.023038f, 0.020497f, -0.020239f, -0.005548f, 0.000170f, -0.000748f, 0.007205f, 0.002756f, 0.019588f, -0.004183f, 0.031286f, -0.000042f, -0.018449f, -0.014973f, 0.002396f, 0.005646f, 0.006401f, 0.022741f, 0.005975f, 0.005693f, 0.021378f, 0.028466f, 0.001166f, -0.017465f, -0.016540f, -0.001566f, -0.005549f, -0.004035f, 0.036778f, 0.002637f, -0.016704f, 0.011949f, -0.014625f, 0.013982f, 0.002309f, -0.002903f, -0.004373f, -0.011236f, 0.003128f, 0.003719f, -0.001665f, 0.003288f, 0.006204f, 0.003453f, 0.004228f, -0.001652f, -0.001563f, 0.000406f, -0.002056f, -0.001734f, 0.004169f, 0.001647f, 0.002958f, 0.003719f, 0.006593f, 0.000373f, -0.003096f, 0.006136f, 0.003490f, 0.001184f, 0.001403f, -0.001272f, 0.000932f, -0.000234f, 0.006567f, 0.010247f, - -0.005533f, 0.004889f, -0.001213f, 0.004261f, 0.000554f, 0.000908f, 0.008741f, -0.000456f, 0.000847f, 0.000750f, 0.007181f, 0.004766f, 0.005254f, 0.023736f, 0.001819f, 0.015996f, -0.017510f, 0.007829f, 0.001401f, -0.001303f, 0.010564f, 0.025098f, -0.006928f, -0.002285f, 0.023108f, -0.030569f, -0.017040f, -0.013354f, -0.035016f, 0.006872f, -0.011109f, -0.004941f, 0.004198f, -0.023904f, 0.026177f, 0.019738f, 0.027806f, 0.012468f, -0.017323f, 0.001624f, 0.001103f, 0.020796f, -0.003856f, -0.000688f, -0.000819f, -0.012941f, 0.001029f, -0.007620f, 0.011626f, -0.013731f, -0.005194f, -0.004648f, -0.005936f, -0.016081f, 0.007545f, -0.023574f, -0.003603f, -0.001688f, 0.014785f, 0.008728f, 0.001964f, 0.000223f, -0.004132f, 0.001691f, 0.000219f, 0.012246f, 0.002837f, 0.003528f, -0.001968f, -0.036898f, -0.017147f, 0.004242f, 0.015276f, 0.018286f, -0.028885f, 0.019293f, 0.005733f, -0.011407f, 0.002777f, 0.006220f, -0.006847f, 0.027946f, 0.000260f, 0.005334f, -0.006599f, -0.039012f, -0.013372f, -0.017783f, -0.004623f, 0.000688f, -0.010816f, 0.005582f, 0.008301f, -0.008032f, -0.001672f, 0.025043f, - 0.000708f, 0.012748f, -0.015373f, 0.001919f, -0.000250f, 0.014404f, 0.012745f, 0.009161f, -0.003471f, 0.002960f, 0.010465f, 0.006337f, -0.000461f, 0.011013f, 0.010709f, 0.011695f, 0.001523f, 0.004450f, 0.004018f, 0.001890f, -0.001517f, -0.001515f, 0.010120f, 0.001894f, -0.005337f, 0.000892f, -0.000776f, 0.005559f, -0.003883f, 0.001759f, 0.005280f, -0.004122f, 0.008207f, 0.002831f, -0.001121f, 0.000676f, -0.007084f, 0.005206f, 0.005262f, -0.000856f, -0.001571f, -0.004351f, -0.005867f, 0.036123f, 0.005741f, 0.014591f, -0.021786f, -0.019727f, 0.011316f, 0.018740f, 0.002178f, -0.006655f, 0.034665f, 0.010894f, 0.000116f, -0.009627f, 0.007527f, -0.002709f, -0.003862f, -0.001313f, -0.005990f, 0.001598f, -0.011567f, -0.027533f, 0.009039f, 0.002807f, 0.008361f, 0.002710f, 0.015265f, 0.004634f, -0.016486f, -0.033515f, 0.000848f, 0.002484f, -0.002716f, -0.029333f, -0.014328f, -0.004434f, 0.008187f, -0.006424f, 0.003260f, -0.025663f, 0.001227f, -0.005754f, 0.000143f, 0.002543f, 0.007096f, -0.002793f, -0.024145f, -0.022218f, -0.013847f, 0.009291f, 0.006870f, -0.005944f, -0.005029f, -0.038712f, - -0.021908f, -0.000815f, -0.037740f, 0.034685f, -0.035634f, -0.009820f, -0.023080f, 0.037201f, 0.011921f, -0.026272f, 0.013173f, -0.003085f, 0.014058f, -0.022393f, -0.007422f, 0.000932f, 0.015128f, -0.021263f, -0.008505f, -0.007258f, -0.021595f, 0.001486f, 0.014312f, -0.002750f, -0.003982f, 0.025766f, -0.040925f, 0.032163f, -0.005363f, 0.006755f, -0.018468f, 0.012897f, -0.002092f, 0.010264f, -0.009381f, 0.000473f, 0.008158f, 0.008839f, -0.002582f, -0.004536f, 0.000027f, 0.000856f, 0.001052f, -0.003067f, 0.010061f, 0.010526f, 0.007449f, 0.001887f, 0.007552f, -0.000783f, 0.009289f, -0.003498f, 0.001690f, -0.000471f, -0.003525f, -0.003657f, 0.000625f, -0.007755f, -0.009315f, -0.002773f, -0.000595f, 0.009342f, -0.000585f, -0.001618f, -0.002593f, -0.006574f, 0.004559f, -0.002167f, -0.003410f, -0.002418f, 0.004841f, -0.001112f, -0.010557f, -0.001501f, 0.003734f, 0.000799f, -0.001018f, 0.031729f, 0.069527f, -0.009465f, -0.021817f, -0.020451f, -0.018064f, -0.025876f, 0.004155f, -0.043980f, -0.000491f, -0.034027f, -0.015787f, 0.010339f, 0.021179f, 0.012094f, -0.015375f, -0.002213f, 0.020140f, -0.001508f, - 0.023261f, -0.014048f, -0.014179f, -0.012528f, 0.010908f, -0.008297f, -0.010787f, 0.003626f, -0.012910f, -0.013153f, 0.015727f, 0.037299f, 0.013998f, 0.015883f, 0.006963f, -0.022156f, -0.005351f, -0.018002f, -0.017032f, -0.002807f, -0.003195f, -0.014173f, -0.022635f, -0.045317f, -0.004364f, -0.016530f, 0.005712f, -0.008470f, 0.016787f, 0.015580f, 0.008764f, 0.016313f, 0.011412f, -0.001857f, 0.031502f, 0.045044f, 0.010645f, -0.053005f, 0.010612f, -0.009593f, -0.031128f, 0.004198f, 0.014979f, 0.007405f, 0.001186f, 0.014418f, -0.001036f, -0.025312f, 0.001372f, 0.011835f, -0.025427f, -0.013376f, -0.023837f, -0.043977f, 0.034349f, 0.004668f, -0.002740f, 0.023997f, 0.018636f, 0.001242f, 0.001213f, 0.023719f, -0.032560f, -0.014188f, 0.003455f, 0.017474f, 0.014652f, 0.022492f, 0.016090f, -0.013434f, -0.007921f, -0.003037f, -0.005320f, -0.002008f, -0.003419f, -0.006556f, -0.008671f, -0.013238f, -0.013452f, -0.009561f, -0.005256f, -0.001484f, 0.006355f, -0.003640f, -0.002878f, -0.015149f, -0.010513f, 0.001510f, 0.007735f, 0.005408f, 0.003074f, 0.003139f, 0.002069f, -0.002170f, -0.007908f, -0.003795f, - -0.005010f, -0.004326f, 0.001296f, -0.008351f, 0.001519f, -0.005965f, 0.006098f, -0.000750f, -0.002384f, -0.005713f, 0.005004f, -0.005256f, -0.001867f, 0.010446f, -0.004537f, -0.000360f, 0.051348f, -0.037997f, 0.044387f, -0.003705f, -0.005311f, -0.022575f, -0.008329f, -0.022427f, -0.019053f, 0.023718f, -0.021066f, 0.012269f, 0.053233f, 0.019803f, -0.007863f, -0.023998f, -0.020137f, 0.023757f, -0.019380f, -0.032822f, -0.013502f, 0.003390f, 0.003165f, -0.037474f, 0.002690f, -0.011352f, 0.019589f, -0.011822f, -0.000516f, 0.004373f, 0.055984f, -0.013504f, -0.017836f, 0.027170f, -0.021567f, 0.032634f, -0.019027f, 0.023904f, 0.004043f, -0.017216f, -0.015742f, 0.030338f, -0.039103f, 0.029849f, -0.016834f, 0.003089f, -0.009334f, 0.016322f, -0.013501f, -0.006881f, -0.000498f, -0.012025f, 0.057098f, -0.016376f, 0.038973f, 0.015140f, 0.017889f, -0.000244f, 0.014764f, 0.025014f, 0.028019f, -0.007654f, -0.027131f, 0.000174f, 0.023137f, 0.009340f, -0.004108f, -0.034127f, 0.045676f, -0.009534f, -0.030207f, -0.008350f, -0.018525f, 0.014311f, 0.019718f, 0.000825f, 0.033055f, -0.008911f, 0.016951f, -0.037542f, - -0.006646f, -0.040060f, -0.012492f, -0.014642f, -0.000922f, 0.002249f, -0.007742f, 0.014335f, 0.004685f, -0.010795f, -0.018467f, -0.013670f, -0.003988f, -0.001690f, -0.009269f, -0.001966f, -0.003297f, 0.011344f, -0.003377f, 0.000505f, -0.004318f, -0.017334f, -0.005275f, -0.006954f, 0.002103f, -0.002869f, -0.009777f, -0.015139f, 0.005977f, -0.010227f, 0.004702f, 0.006752f, -0.010643f, -0.025965f, -0.006244f, -0.004053f, -0.006970f, -0.009254f, 0.001022f, -0.004317f, 0.002754f, 0.003067f, -0.011850f, -0.001512f, -0.011931f, 0.011043f, 0.006719f, -0.006216f, 0.002931f, -0.010380f, -0.058193f, -0.024833f, 0.035736f, -0.007037f, -0.014601f, 0.041536f, 0.004007f, -0.021536f, 0.015776f, 0.022627f, 0.019200f, 0.003029f, -0.035782f, -0.014760f, 0.005511f, 0.005330f, 0.018764f, 0.012432f, 0.021162f, -0.018252f, -0.014402f, 0.007139f, -0.004921f, 0.017361f, -0.033629f, -0.005650f, -0.036378f, -0.011727f, 0.006650f, -0.004969f, -0.004518f, 0.039029f, 0.008179f, -0.028833f, -0.004321f, 0.002371f, -0.029452f, -0.003950f, 0.001514f, 0.017790f, 0.044887f, -0.015858f, 0.015053f, -0.024969f, 0.003839f, -0.014674f, - -0.018875f, 0.018309f, 0.039269f, -0.031026f, 0.003076f, 0.034955f, -0.015696f, -0.003190f, -0.013034f, 0.022887f, 0.005587f, -0.028361f, -0.000276f, -0.009893f, -0.009143f, -0.002802f, -0.013877f, 0.021176f, -0.050128f, 0.010653f, 0.004278f, -0.021094f, 0.028192f, 0.043141f, 0.030518f, 0.082164f, 0.024986f, -0.021058f, -0.029107f, -0.024109f, -0.013100f, 0.030167f, -0.010809f, 0.041886f, 0.003913f, 0.051002f, -0.060542f, -0.038869f, 0.018325f, -0.009956f, -0.006206f, 0.024461f, -0.016446f, -0.001882f, 0.026079f, 0.011592f, 0.019362f, 0.028495f, 0.022325f, -0.004832f, 0.009151f, -0.017439f, 0.000684f, -0.000684f, -0.012179f, -0.013400f, 0.008976f, -0.018461f, -0.001521f, 0.027879f, 0.002597f, -0.016675f, -0.021702f, 0.004023f, -0.027282f, -0.010087f, 0.029462f, 0.015258f, -0.004763f, -0.006765f, 0.005711f, -0.005483f, -0.009234f, 0.001947f, -0.006730f, -0.010491f, -0.001753f, -0.014396f, 0.010201f, 0.008784f, 0.009770f, -0.005381f, -0.003791f, 0.006183f, 0.015079f, 0.041146f, -0.095427f, -0.003508f, 0.054885f, -0.072428f, -0.003005f, 0.014607f, -0.074822f, 0.033936f, 0.009474f, 0.060509f, - -0.005702f, 0.021574f, 0.018071f, -0.065814f, -0.054424f, -0.021022f, -0.004985f, -0.032798f, -0.040371f, -0.021236f, 0.037922f, 0.026653f, 0.023103f, 0.002716f, 0.004561f, 0.012164f, 0.002656f, -0.047715f, -0.017644f, -0.061335f, -0.019361f, 0.034731f, 0.010577f, 0.023552f, 0.077815f, 0.020429f, 0.029611f, -0.000947f, 0.015836f, 0.068520f, 0.051652f, 0.014583f, 0.034003f, 0.031181f, 0.068425f, 0.056214f, -0.073863f, 0.046733f, -0.003813f, 0.044734f, 0.045599f, 0.019122f, 0.082088f, 0.072486f, -0.039451f, 0.036007f, -0.000156f, 0.034326f, -0.059365f, 0.006087f, 0.006825f, 0.002497f, -0.013142f, 0.038117f, 0.041363f, -0.039441f, -0.013056f, -0.023061f, 0.014795f, -0.032655f, -0.040479f, 0.038674f, 0.065919f, 0.024298f, 0.068589f, -0.019403f, 0.093060f, 0.090982f, 0.025767f, 0.047828f, -0.013484f, -0.023581f, 0.021739f, 0.021283f, 0.010593f, 0.007444f, 0.005967f, 0.012460f, -0.012519f, -0.023180f, -0.016359f, -0.043737f, -0.045690f, -0.018386f, 0.021889f, -0.000372f, 0.019351f, 0.003545f, 0.011945f, 0.028202f, 0.034743f, -0.010921f, 0.016159f, -0.001465f, -0.013788f, -0.011590f, - -0.009683f, -0.028774f, -0.012908f, 0.000635f, -0.024623f, -0.008709f, -0.022120f, -0.012310f, 0.005293f, 0.031643f, -0.014429f, 0.011474f, 0.009320f, -0.005196f, 0.017826f, 0.010277f, 0.013715f, 0.000484f, 0.023539f, 0.014925f, 0.010510f, -0.009155f, -0.013547f, -0.030390f, 0.044622f, 0.080134f, -0.010712f, -0.109075f, -0.034666f, 0.011269f, -0.008291f, -0.017995f, -0.023721f, 0.000485f, -0.062209f, -0.037355f, -0.051593f, -0.008269f, -0.014857f, 0.017400f, -0.036718f, -0.010551f, 0.010319f, 0.017444f, -0.000081f, 0.019390f, 0.038115f, 0.007880f, 0.054844f, -0.035015f, 0.013522f, 0.002252f, 0.052368f, 0.013683f, -0.009759f, -0.052291f, 0.035226f, -0.008974f, 0.047855f, -0.039772f, -0.031132f, -0.030127f, -0.015586f, -0.048208f, -0.006130f, -0.008325f, -0.044878f, 0.025024f, 0.052235f, -0.024994f, 0.008222f, -0.067113f, 0.065112f, -0.020347f, -0.034547f, 0.029480f, 0.026388f, -0.038375f, 0.003983f, -0.023912f, 0.009100f, -0.017510f, 0.081453f, -0.002958f, -0.006239f, -0.019885f, 0.143307f, 0.003679f, -0.018630f, 0.061135f, 0.049789f, -0.051784f, 0.041213f, -0.063455f, -0.034508f, -0.066316f, - 0.051490f, -0.045633f, 0.025283f, 0.034868f, 0.028587f, -0.058802f, 0.075094f, -0.013387f, -0.096361f, -0.110890f, -0.042808f, -0.013652f, -0.031305f, 0.025842f, 0.026391f, 0.043859f, 0.008134f, 0.003811f, -0.032013f, 0.033122f, 0.052977f, 0.076220f, 0.021076f, -0.021889f, 0.008430f, 0.064840f, 0.011835f, -0.035868f, -0.007815f, 0.069182f, 0.016947f, -0.041023f, -0.009532f, 0.034096f, 0.020861f, 0.031030f, 0.022079f, 0.043749f, 0.001519f, 0.023973f, 0.009741f, 0.030906f, 0.015899f, 0.049202f, 0.017631f, 0.031018f, -0.004853f, 0.009607f, 0.003611f, -0.003869f, 0.014468f, -0.004592f, 0.018414f, 0.030536f, 0.006044f, 0.017622f, 0.003685f, 0.022964f, -0.051074f, -0.012480f, 0.042032f, -0.030672f, -0.146775f, 0.010583f, 0.094488f, -0.056947f, -0.037935f, 0.075884f, -0.055048f, -0.003500f, -0.015558f, 0.072832f, -0.124836f, 0.069923f, 0.041571f, -0.035189f, 0.013164f, 0.068307f, 0.048853f, -0.023831f, 0.028014f, 0.012580f, -0.018902f, 0.032151f, -0.000552f, 0.019513f, 0.029679f, -0.012547f, 0.007285f, -0.003139f, 0.014241f, -0.018035f, -0.014399f, -0.001115f, 0.025512f, -0.074052f, - -0.036510f, 0.036888f, -0.008150f, -0.049092f, -0.057846f, 0.010079f, 0.072377f, -0.031292f, -0.045936f, 0.035526f, 0.054045f, -0.011754f, 0.013739f, -0.009494f, 0.050363f, -0.027221f, 0.075420f, -0.010153f, 0.000355f, 0.041232f, 0.001091f, 0.009505f, -0.053201f, 0.083971f, -0.043174f, -0.052566f, 0.040099f, -0.055664f, -0.018168f, 0.009418f, 0.028004f, 0.077576f, -0.027282f, 0.048372f, -0.009607f, 0.025324f, -0.131128f, -0.100487f, -0.018203f, -0.039171f, 0.020322f, 0.018156f, 0.050145f, -0.007874f, -0.010188f, 0.059497f, -0.064882f, -0.001445f, 0.041953f, 0.041157f, -0.014874f, 0.045855f, 0.006073f, -0.009774f, 0.000067f, -0.010184f, 0.044227f, -0.024409f, -0.002185f, 0.042804f, 0.010156f, -0.009716f, 0.017206f, -0.021270f, 0.005820f, -0.001630f, 0.001079f, 0.017290f, 0.008450f, -0.024337f, -0.005205f, 0.007519f, -0.018556f, -0.027789f, -0.000002f, 0.020296f, 0.036106f, -0.030181f, 0.035296f, 0.011919f, -0.034487f, 0.028902f, 0.033525f, -0.016714f, -0.039099f, 0.036301f, -0.017627f, 0.006664f, 0.020441f, -0.019950f, -0.051888f, 0.017066f, 0.014519f, -0.029010f, -0.026921f, 0.001980f, - 0.020242f, -0.023035f, -0.011015f, -0.049379f, -0.023382f, 0.035541f, -0.061493f, 0.059442f, -0.052419f, -0.065647f, 0.036511f, -0.031950f, -0.021729f, 0.037314f, -0.028746f, 0.031095f, -0.022696f, 0.014233f, 0.073090f, -0.066217f, -0.005200f, -0.010488f, 0.061492f, 0.007923f, 0.005377f, -0.059332f, -0.055746f, -0.020106f, -0.016628f, -0.009058f, -0.018309f, 0.010462f, 0.002737f, -0.006498f, 0.008676f, 0.012806f, 0.005871f, 0.009833f, -0.011870f, 0.028477f, -0.019302f, 0.027227f, -0.052877f, 0.001373f, -0.042934f, -0.055491f, -0.032949f, 0.072650f, -0.032039f, -0.032665f, -0.024434f, 0.016319f, -0.015097f, 0.032058f, 0.046896f, -0.050248f, 0.044023f, 0.007478f, -0.069301f, -0.034950f, 0.141641f, 0.073237f, -0.108290f, -0.020797f, 0.067930f, -0.035230f, -0.039868f, 0.027044f, -0.034532f, -0.074987f, 0.052933f, 0.023870f, -0.101813f, 0.041177f, 0.050775f, -0.060074f, -0.039860f, 0.059933f, -0.015347f, -0.046012f, 0.009835f, 0.029468f, -0.073950f, 0.013361f, 0.012401f, 0.020564f, -0.056594f, -0.017233f, -0.005459f, -0.018526f, -0.004464f, 0.003063f, 0.005616f, -0.034871f, 0.004777f, 0.050016f, - 0.016899f, 0.002585f, 0.016029f, -0.001496f, -0.009059f, -0.028433f, -0.009300f, -0.015683f, -0.021121f, -0.048266f, 0.012008f, -0.027822f, -0.008263f, 0.057833f, -0.052440f, -0.034444f, 0.042357f, -0.031798f, -0.012065f, -0.014135f, 0.018661f, -0.034403f, -0.013031f, 0.053248f, 0.027769f, -0.026980f, 0.029512f, 0.016328f, -0.023251f, -0.014911f, 0.072561f, -0.059271f, -0.046371f, 0.077415f, -0.001254f, -0.062988f, 0.007716f, 0.037755f, -0.037743f, -0.078496f, 0.051079f, 0.005722f, -0.087150f, 0.014139f, 0.023208f, -0.063733f, -0.002239f, 0.041597f, -0.012684f, -0.028767f, 0.021366f, 0.016959f, -0.044307f, -0.005168f, 0.031093f, 0.089721f, 0.126905f, -0.050178f, 0.142017f, -0.010768f, -0.038357f, -0.029578f, -0.047541f, -0.003635f, 0.024192f, 0.083931f, 0.003282f, 0.026123f, -0.020808f, -0.071661f, 0.001767f, 0.003030f, 0.047893f, 0.009410f, -0.054060f, 0.101651f, -0.042858f, 0.019301f, 0.045902f, -0.050083f, -0.040583f, -0.071637f, -0.031166f, 0.044876f, 0.055823f, 0.068881f, -0.025492f, -0.167225f, 0.037524f, 0.087896f, 0.112544f, 0.096815f, -0.001150f, -0.047602f, -0.059127f, 0.020658f, - 0.057539f, -0.036120f, -0.019003f, -0.148111f, -0.090686f, 0.080203f, 0.134587f, 0.027938f, -0.003419f, -0.032214f, -0.058503f, -0.013381f, 0.037508f, -0.051611f, 0.020617f, -0.006996f, 0.085142f, -0.003238f, 0.033341f, -0.165661f, -0.020885f, 0.002444f, 0.102206f, 0.079453f, -0.001944f, -0.049333f, -0.013534f, 0.121764f, 0.055027f, -0.142004f, -0.176273f, -0.068486f, 0.035627f, 0.274371f, 0.029763f, -0.047153f, 0.037880f, -0.072899f, 0.194769f, 0.059854f, -0.154820f, -0.096488f, -0.019180f, 0.137889f, 0.020777f, -0.056774f, -0.052914f, -0.048588f, 0.039270f, 0.074471f, 0.037233f, -0.079234f, -0.006490f, -0.026922f, 0.065927f, -0.006644f, 0.039926f, -0.013488f, -0.016634f, -0.052371f, 0.020739f, -0.015690f, -0.005502f, 0.041634f, -0.064470f, 0.038292f, -0.009623f, -0.009328f, 0.000420f, 0.030372f, 0.064214f, 0.032932f, 0.004483f, -0.012104f, 0.013699f, -0.000000f, 0.026140f, 0.009127f, 0.028830f, 0.007711f, 0.007381f, -0.031902f, 0.015206f, 0.017717f, 0.011798f, 0.000831f, 0.009726f, 0.006651f, 0.028542f, 0.014045f, -0.022956f, 0.058475f, -0.067251f, 0.002149f, -0.027012f, 0.015608f, - -0.041614f, 0.039180f, 0.010900f, -0.022157f, -0.041967f, -0.020616f, -0.007892f, 0.012285f, -0.057295f, 0.013279f, -0.028012f, -0.010903f, -0.044836f, -0.021126f, 0.036529f, -0.038294f, -0.013442f, -0.005239f, 0.017920f, 0.012076f, -0.014811f, 0.020661f, -0.032764f, -0.002589f, 0.000535f, 0.017683f, -0.021408f, 0.031275f, 0.023477f, -0.023752f, -0.027370f, -0.010502f, 0.044607f, -0.031986f, 0.014204f, 0.033037f, 0.007539f, -0.032175f, -0.012145f, 0.013865f, -0.020016f, 0.015010f, 0.001663f, 0.007265f, -0.029524f, 0.006255f, -0.023963f, -0.001046f, 0.022697f, 0.028386f, 0.022324f, -0.016418f, 0.021319f, 0.002668f, -0.026184f, -0.003925f, 0.000190f, 0.031572f, -0.008401f, 0.006650f, 0.027731f, -0.005932f, -0.035466f, 0.049934f, -0.019991f, 0.029528f, 0.021989f, 0.005068f, 0.007317f, -0.021136f, -0.025550f, 0.034376f, 0.005675f, 0.030233f, 0.009578f, 0.016445f, 0.008856f, -0.001018f, -0.001117f, -0.026539f, 0.003485f, 0.006997f, 0.009845f, 0.010368f, -0.002746f, 0.012083f, 0.002635f, -0.001710f, 0.003905f, 0.001419f, 0.013168f, -0.003593f, 0.010409f, -0.012316f, -0.002504f, -0.000180f, - 0.001581f, -0.007023f, -0.003257f, 0.023184f, 0.015371f, -0.004185f, -0.016084f, -0.019155f, -0.006357f, -0.007874f, 0.022070f, 0.001908f, -0.005764f, -0.014387f, -0.006571f, 0.001740f, -0.011029f, 0.024381f, 0.003013f, -0.010295f, 0.004946f, -0.000760f, -0.003719f, 0.006658f, -0.006458f, 0.021093f, -0.019355f, 0.014379f, -0.018797f, -0.054238f, 0.101659f, 0.009295f, 0.005629f, -0.040965f, 0.023643f, -0.003386f, 0.026741f, 0.020391f, 0.031284f, 0.003515f, 0.008032f, -0.017484f, 0.005139f, 0.028669f, -0.002721f, 0.015721f, -0.002405f, 0.005056f, 0.006411f, 0.011674f, -0.012035f, 0.021722f, -0.014659f, 0.002068f, -0.002291f, 0.007422f, -0.001849f, 0.004434f, 0.016546f, 0.018140f, -0.008639f, 0.008052f, 0.003607f, -0.003955f, -0.007672f, 0.024134f, -0.007307f, 0.005177f, -0.006755f, 0.012665f, 0.000011f, -0.011433f, 0.024260f, -0.014935f, -0.005113f, 0.006503f, -0.011282f, -0.006787f, -0.003442f, 0.001100f, -0.004262f, 0.000511f, -0.002226f, -0.006144f, 0.008309f, -0.015453f, 0.009908f, 0.006766f, -0.005227f, 0.010430f, -0.007738f, 0.012336f, -0.006191f, 0.002471f, 0.002499f, -0.007225f, - 0.012146f, 0.000146f, 0.001790f, -0.003664f, 0.016321f, -0.019100f, 0.020633f, -0.014389f, 0.002587f, 0.003681f, -0.000441f, 0.003947f, -0.003140f, 0.012027f, -0.011017f, 0.000953f, 0.010345f, -0.012135f, 0.007861f, 0.007128f, -0.001666f, 0.001688f, 0.007111f, 0.003481f, -0.003081f, 0.004811f, 0.001415f, -0.001403f, 0.001112f, 0.004247f, 0.000637f, -0.004996f, 0.001568f, 0.002301f, -0.002491f, 0.006138f, -0.001147f, 0.005078f, -0.002988f, 0.000990f, 0.004029f, -0.002338f, 0.000796f, 0.002844f, -0.003668f, 0.006715f, -0.000454f, 0.003414f, -0.000667f, 0.007059f, -0.002259f, 0.001009f, 0.006621f, -0.005464f, 0.007633f, -0.004115f, 0.003419f, -0.004237f, 0.007502f, 0.019470f, -0.092675f, -0.230794f, 0.035923f, 0.175847f, 0.163388f, 0.283403f, -0.072274f, -0.075816f, -0.192883f, -0.263385f, -0.054261f, 0.095296f, 0.101993f, 0.192019f, 0.104346f, 0.008262f, -0.049801f, -0.134007f, -0.095231f, -0.016430f, -0.014859f, 0.047785f, 0.044364f, 0.025635f, 0.016409f, 0.012897f, -0.007008f, -0.032919f, -0.002494f, 0.038062f, 0.000353f, 0.008019f, -0.002116f, -0.028520f, -0.021780f, -0.048515f, - -0.047473f, 0.021563f, 0.019961f, 0.044099f, 0.067128f, 0.050245f, 0.024618f, 0.008878f, -0.072318f, -0.051206f, -0.039540f, -0.039698f, -0.044197f, 0.009235f, 0.028309f, 0.049074f, 0.062782f, 0.051863f, 0.011387f, -0.006144f, -0.041510f, -0.042478f, -0.025150f, -0.012314f, 0.004161f, 0.006977f, 0.014150f, 0.001218f, -0.013494f, 0.004586f, -0.021590f, 0.011292f, 0.018522f, 0.002090f, 0.036987f, 0.044576f, 0.013894f, -0.008501f, -0.048966f, -0.064656f, -0.025922f, -0.011955f, -0.007437f, 0.032844f, 0.025580f, -0.006738f, 0.028998f, 0.031326f, 0.017657f, 0.021630f, -0.011889f, -0.023335f, -0.018620f, -0.026843f, -0.021163f, -0.003997f, -0.020310f, -0.008124f, 0.001226f, 0.016332f, 0.023255f, 0.033321f, 0.028930f, 0.026503f, 0.021207f, -0.011020f, -0.024901f, -0.042046f, -0.051638f, -0.030177f, -0.022346f, 0.002852f, 0.024797f, 0.036307f, 0.042284f, 0.033269f, 0.030823f, 0.019725f, -0.026021f, -0.046712f, -0.041989f, -0.020673f, -0.005910f, -0.001984f, 0.003273f, 0.017745f, 0.015812f, 0.007432f, 0.003688f, 0.014503f, 0.008386f, 0.012606f, 0.003650f, -0.019620f, -0.021346f, -0.014201f, - -0.005584f, 0.006635f, 0.004859f, -0.007168f, -0.003907f, 0.006593f, 0.003574f, 0.002793f, 0.009007f, 0.014227f, 0.006596f, 0.000224f, -0.007140f, -0.008394f, -0.006949f, -0.008627f, -0.011085f, -0.008566f, -0.000854f, 0.005780f, 0.008011f, 0.009306f, 0.007544f, 0.002291f, 0.000112f, 0.000180f, 0.000436f} - }, - { - {-0.010872f, -0.000147f, 0.002381f, 0.001806f, 0.007759f, 0.001020f, -0.000950f, -0.005003f, 0.011403f, 0.007043f, 0.000372f, -0.001405f, 0.011327f, 0.003845f, -0.003618f, -0.009934f, 0.006340f, -0.002862f, 0.004924f, -0.009455f, 0.000611f, -0.002262f, -0.007023f, -0.001907f, -0.003533f, -0.001310f, 0.000540f, 0.000044f, -0.005120f, -0.003148f, -0.000812f, -0.000990f, -0.003183f, 0.003408f, -0.000326f, -0.003412f, 0.006076f, -0.010108f, -0.004791f, 0.004820f, -0.006065f, 0.000831f, -0.003764f, -0.005552f, 0.003775f, 0.003420f, -0.002974f, 0.003789f, 0.007313f, 0.004110f, -0.003789f, -0.004442f, 0.000802f, 0.001432f, -0.004468f, 0.004837f, 0.008066f, -0.006883f, -0.002194f, 0.003963f, 0.002973f, -0.001644f, -0.002101f, -0.003364f, 0.004447f, 0.001346f, -0.005321f, 0.006050f, 0.002953f, -0.004981f, -0.003725f, 0.006362f, -0.004800f, -0.006146f, -0.011566f, -0.010067f, 0.005482f, 0.006328f, 0.000514f, 0.002775f, -0.001093f, 0.002270f, -0.004280f, 0.006492f, -0.000535f, 0.003001f, -0.002973f, 0.001671f, -0.002707f, -0.002126f, 0.000109f, 0.004157f, -0.000913f, -0.001068f, -0.001858f, 0.000613f, - -0.001402f, 0.000280f, 0.000495f, -0.000868f, -0.001004f, 0.000125f, -0.000047f, -0.000345f, -0.001102f, 0.000556f, -0.000401f, 0.014515f, -0.001393f, -0.002930f, -0.005941f, 0.009291f, -0.004944f, -0.000527f, -0.007547f, -0.008053f, -0.010128f, -0.004765f, 0.007945f, -0.008220f, -0.003073f, -0.002892f, 0.002755f, -0.002047f, -0.011284f, 0.005882f, 0.002828f, 0.021940f, -0.002240f, 0.010265f, -0.002046f, -0.000542f, -0.000993f, 0.001134f, -0.004625f, 0.008497f, -0.002231f, -0.001711f, -0.005127f, -0.000939f, -0.001833f, 0.013167f, 0.002445f, -0.001332f, -0.012339f, -0.001261f, -0.002373f, 0.003723f, -0.007842f, -0.002171f, 0.002123f, 0.001770f, -0.002169f, -0.001324f, -0.004873f, -0.001835f, -0.005857f, -0.002636f, 0.011369f, -0.003346f, 0.003600f, 0.006347f, -0.001536f, -0.006179f, -0.008108f, 0.002106f, 0.001903f, 0.002449f, 0.005040f, 0.005974f, 0.004920f, 0.002844f, -0.002253f, -0.002185f, -0.002607f, -0.011415f, -0.002730f, -0.001161f, 0.005529f, 0.004714f, -0.002821f, -0.000277f, 0.006073f, -0.006333f, 0.002496f, 0.000181f, -0.001582f, -0.003664f, -0.005582f, -0.000069f, 0.003322f, 0.003359f, - 0.003539f, -0.001479f, 0.001455f, -0.001322f, 0.000296f, 0.004978f, 0.002019f, 0.000386f, 0.000043f, -0.000759f, -0.000118f, 0.000318f, 0.000991f, -0.000632f, -0.000695f, 0.002160f, 0.001107f, 0.002200f, 0.002255f, 0.000463f, 0.001253f, -0.000323f, 0.000363f, 0.000164f, -0.001009f, -0.002555f, -0.000465f, -0.019239f, -0.004701f, -0.000391f, -0.004120f, -0.002861f, 0.006724f, -0.013520f, -0.011333f, -0.006642f, -0.004433f, 0.001908f, 0.015169f, -0.003312f, -0.000047f, 0.001810f, -0.010901f, -0.002866f, -0.009107f, -0.001426f, 0.016066f, -0.001261f, -0.007842f, -0.005109f, 0.000185f, 0.003261f, 0.003204f, -0.004533f, -0.020390f, -0.009772f, -0.002745f, -0.007885f, 0.000706f, 0.000348f, 0.008232f, -0.005347f, 0.007309f, 0.001768f, -0.003791f, -0.010932f, -0.009157f, 0.012613f, -0.010461f, 0.006921f, 0.002011f, -0.006715f, -0.002529f, -0.005998f, -0.004311f, 0.005930f, -0.011234f, 0.005781f, 0.001953f, -0.000198f, 0.001862f, 0.000769f, -0.001136f, 0.000234f, -0.005702f, -0.007811f, 0.000541f, -0.002391f, -0.005773f, -0.002341f, -0.008917f, 0.010332f, 0.007068f, 0.001774f, 0.008454f, 0.000992f, - -0.003619f, 0.010500f, -0.005565f, -0.003494f, -0.003588f, 0.007990f, -0.007829f, 0.003464f, 0.005610f, 0.000305f, 0.003470f, 0.008704f, 0.003180f, -0.000272f, 0.000540f, 0.001849f, 0.001437f, -0.001725f, -0.001055f, 0.000103f, -0.000459f, 0.002792f, 0.001349f, 0.002953f, 0.002190f, 0.000840f, -0.002679f, -0.003135f, 0.001881f, -0.000114f, -0.000189f, 0.002859f, -0.002005f, -0.001594f, -0.000056f, 0.000685f, 0.000931f, -0.000285f, -0.003226f, 0.002676f, 0.000709f, -0.012928f, 0.015852f, 0.017987f, 0.004932f, 0.004844f, -0.005141f, 0.008396f, 0.004211f, -0.010499f, 0.003298f, 0.006783f, -0.012553f, -0.010950f, 0.011038f, -0.009591f, -0.001385f, -0.006174f, 0.011125f, 0.002450f, -0.001261f, -0.004066f, -0.000071f, -0.007179f, 0.006704f, -0.003569f, 0.004066f, -0.001706f, -0.000044f, 0.007261f, 0.002858f, 0.001048f, -0.002785f, 0.007117f, 0.004517f, 0.002142f, -0.000592f, 0.007362f, -0.000554f, 0.001374f, -0.004606f, 0.008968f, 0.002028f, 0.003597f, 0.006560f, -0.017911f, -0.005808f, -0.003504f, -0.006403f, -0.006213f, 0.001845f, 0.010048f, -0.004298f, -0.002637f, -0.005457f, -0.002418f, - 0.002191f, 0.004442f, -0.012324f, -0.000705f, 0.004344f, 0.000541f, -0.000949f, 0.005406f, 0.003527f, -0.011539f, -0.003208f, -0.002480f, 0.007198f, -0.007575f, 0.010155f, 0.010992f, 0.005766f, 0.002302f, -0.005074f, -0.000228f, 0.000908f, 0.007364f, -0.001932f, 0.000924f, 0.000912f, 0.001152f, 0.010853f, 0.001226f, 0.011563f, 0.004302f, 0.000198f, -0.005480f, -0.003130f, 0.004770f, -0.000940f, 0.000037f, 0.000489f, 0.000328f, 0.001082f, 0.004856f, 0.001402f, 0.001924f, 0.000214f, 0.001860f, -0.003814f, -0.000283f, 0.001244f, 0.001575f, -0.000956f, -0.000574f, 0.000054f, 0.001572f, -0.001116f, -0.000803f, 0.001636f, 0.001589f, 0.002940f, 0.001392f, 0.002723f, -0.001558f, 0.000243f, 0.000360f, -0.001033f, 0.002589f, 0.019897f, -0.003709f, -0.000297f, 0.007258f, 0.004695f, 0.003511f, 0.006702f, 0.017671f, -0.004946f, -0.001634f, -0.017051f, 0.000326f, -0.014654f, -0.018583f, 0.000648f, 0.007903f, -0.024001f, 0.008133f, 0.007833f, 0.004293f, -0.007298f, -0.005767f, -0.007958f, -0.003023f, 0.000447f, 0.000498f, 0.007614f, 0.010069f, -0.001395f, -0.009926f, -0.006034f, 0.007453f, - -0.010675f, -0.005311f, -0.009025f, 0.001939f, -0.014576f, 0.007251f, 0.001137f, -0.000990f, 0.002327f, -0.000473f, -0.003347f, 0.000009f, 0.009360f, -0.010825f, 0.013091f, -0.009956f, -0.001176f, 0.002414f, -0.006617f, -0.005398f, 0.005113f, 0.002524f, -0.002106f, -0.005063f, 0.009765f, 0.004078f, -0.006835f, -0.013661f, 0.001567f, 0.003160f, 0.007976f, -0.000333f, -0.003553f, 0.000689f, 0.004216f, -0.003253f, 0.018979f, -0.006358f, -0.003109f, -0.013552f, -0.009000f, 0.021434f, 0.008680f, -0.004762f, -0.001249f, -0.007452f, -0.008367f, -0.000666f, 0.002958f, 0.000570f, -0.004075f, 0.004629f, 0.002521f, 0.006415f, -0.000707f, -0.004638f, 0.001843f, 0.000192f, -0.002147f, 0.001878f, 0.001779f, -0.000485f, 0.000804f, 0.002537f, 0.000804f, -0.000600f, -0.001960f, 0.001065f, 0.000630f, -0.001790f, 0.003488f, 0.002976f, 0.000927f, -0.001748f, -0.004554f, 0.000328f, -0.000394f, -0.000170f, 0.001957f, -0.002227f, 0.001415f, 0.002377f, -0.001458f, 0.005482f, 0.012819f, -0.017123f, -0.010116f, 0.011974f, -0.008973f, -0.009556f, -0.010491f, -0.012542f, 0.009013f, -0.003171f, -0.000374f, -0.002888f, - 0.000470f, -0.013955f, -0.002787f, 0.006381f, 0.006979f, 0.001583f, -0.007369f, -0.010712f, -0.008889f, -0.011304f, 0.002289f, 0.013473f, 0.001813f, 0.004355f, 0.004617f, 0.004490f, -0.007926f, 0.008299f, 0.005165f, -0.005941f, -0.004777f, -0.018303f, 0.002811f, 0.004074f, -0.014372f, -0.001152f, 0.004416f, -0.002710f, 0.001773f, -0.001310f, -0.015419f, 0.013096f, -0.014365f, 0.011278f, 0.000605f, 0.005675f, -0.016168f, -0.009061f, -0.014478f, -0.011432f, 0.002104f, -0.004090f, -0.005147f, -0.006454f, -0.000050f, 0.007180f, -0.013397f, -0.000252f, 0.003883f, -0.004350f, -0.014937f, -0.009376f, -0.003131f, 0.002788f, 0.007241f, 0.003121f, -0.012304f, 0.013098f, -0.004238f, -0.002896f, 0.013039f, -0.017145f, -0.005641f, -0.003442f, -0.003068f, 0.020455f, -0.007482f, -0.000381f, -0.007764f, -0.006458f, 0.003709f, 0.002789f, -0.000483f, 0.002160f, -0.001653f, -0.002922f, 0.003809f, 0.000020f, 0.001545f, 0.001605f, 0.004931f, -0.001974f, 0.001422f, 0.001067f, 0.000322f, 0.001265f, -0.005654f, 0.007304f, 0.006642f, -0.002308f, -0.001171f, 0.001010f, -0.000987f, 0.001224f, 0.000192f, -0.000549f, - -0.002731f, 0.001628f, -0.001422f, 0.000610f, 0.006462f, 0.004106f, 0.003461f, -0.002705f, 0.004603f, 0.001811f, -0.001895f, 0.002070f, 0.000680f, 0.001522f, 0.026487f, -0.023465f, -0.012331f, -0.015607f, 0.011409f, 0.004343f, -0.007929f, 0.005396f, -0.000044f, 0.015786f, 0.001070f, 0.000231f, -0.015077f, 0.010774f, 0.017434f, 0.018270f, 0.015217f, -0.008370f, -0.001209f, 0.002404f, -0.009591f, -0.006555f, 0.002629f, 0.001165f, -0.013856f, -0.006769f, -0.005787f, 0.006879f, -0.000964f, -0.010470f, -0.004753f, 0.003528f, 0.008474f, 0.001099f, -0.002824f, 0.000198f, -0.007305f, -0.000144f, -0.000359f, 0.001205f, -0.015846f, 0.009379f, 0.011084f, 0.002331f, 0.005768f, 0.006608f, -0.012803f, 0.018550f, 0.016758f, 0.003155f, -0.011381f, 0.006686f, -0.003950f, -0.016989f, -0.004220f, -0.005297f, -0.000133f, 0.001146f, -0.000190f, -0.010221f, -0.009079f, -0.021121f, -0.017552f, 0.000356f, 0.010870f, -0.009611f, 0.004667f, 0.001501f, -0.006414f, -0.017180f, -0.001560f, 0.010233f, -0.006551f, 0.009198f, 0.018017f, 0.005553f, -0.007207f, 0.010430f, 0.000134f, -0.000949f, 0.005057f, 0.008152f, - -0.000521f, -0.001256f, 0.002406f, 0.005315f, -0.002672f, -0.011488f, 0.000864f, -0.000182f, 0.001429f, 0.001592f, 0.004095f, 0.008663f, -0.002851f, -0.001347f, 0.006636f, 0.005994f, 0.001463f, 0.001001f, -0.003928f, 0.008360f, 0.001139f, -0.000397f, 0.005136f, 0.001697f, 0.002014f, 0.000991f, 0.004658f, 0.004107f, 0.004638f, 0.007412f, 0.000805f, 0.004489f, 0.000846f, 0.004982f, 0.002528f, 0.002899f, 0.002114f, 0.004729f, 0.004267f, -0.025140f, 0.002691f, -0.009370f, -0.033682f, -0.025909f, 0.006517f, 0.000266f, -0.005779f, 0.006034f, 0.016251f, -0.002554f, 0.009754f, 0.008634f, 0.005042f, -0.002561f, -0.008737f, 0.007190f, -0.007435f, 0.000928f, -0.006377f, 0.010161f, 0.018587f, -0.016654f, -0.004761f, 0.001060f, 0.006785f, 0.001826f, -0.005149f, -0.003006f, -0.006167f, -0.000455f, -0.007643f, 0.009830f, 0.002206f, -0.011701f, 0.013102f, -0.013055f, -0.004134f, 0.016046f, 0.014170f, 0.011937f, -0.013551f, -0.008903f, -0.012134f, 0.014153f, 0.019202f, -0.000259f, -0.003917f, 0.015218f, -0.022326f, 0.002779f, 0.006048f, -0.002135f, -0.018752f, 0.016944f, 0.005978f, 0.008625f, - 0.015930f, 0.000872f, -0.022635f, 0.005984f, 0.009364f, -0.005779f, -0.001639f, 0.015666f, -0.016158f, -0.015185f, -0.013079f, 0.001618f, 0.020208f, 0.010927f, -0.002858f, 0.023107f, -0.030652f, -0.011298f, 0.000415f, 0.014802f, 0.006933f, -0.004409f, -0.024349f, -0.003780f, -0.009736f, 0.002747f, 0.009337f, 0.023809f, 0.004110f, -0.006684f, 0.003172f, -0.004018f, -0.001524f, -0.007834f, 0.000096f, -0.006450f, 0.002283f, 0.006517f, 0.003742f, 0.006002f, 0.006810f, 0.002174f, 0.001516f, 0.000085f, 0.001268f, -0.003228f, -0.003337f, 0.000340f, 0.007189f, 0.002723f, -0.000793f, 0.001298f, 0.002944f, 0.005753f, 0.000846f, -0.001872f, 0.001062f, -0.001828f, 0.004683f, -0.008463f, -0.005063f, -0.003719f, 0.005425f, 0.004650f, -0.027083f, 0.027424f, 0.011161f, -0.000644f, -0.002760f, 0.002329f, 0.004733f, 0.014869f, -0.002790f, 0.001664f, -0.004722f, -0.003403f, 0.008402f, 0.004341f, 0.009751f, 0.004304f, 0.005642f, -0.018492f, -0.007646f, 0.031094f, 0.003176f, 0.009259f, 0.013085f, 0.004926f, -0.010501f, -0.019510f, 0.006112f, -0.008127f, 0.000765f, 0.006894f, -0.009693f, -0.011412f, - 0.013962f, 0.016375f, -0.008489f, -0.006032f, 0.012696f, -0.015543f, 0.006846f, -0.011958f, 0.005423f, -0.011573f, 0.016858f, 0.002365f, -0.002200f, 0.005940f, 0.028942f, 0.007994f, 0.011228f, -0.003247f, 0.001498f, 0.004945f, 0.021379f, -0.001835f, 0.030628f, 0.000924f, 0.014565f, -0.000515f, 0.027649f, 0.009792f, 0.020640f, 0.015658f, -0.003457f, -0.009233f, -0.002474f, -0.010550f, -0.011635f, 0.016206f, -0.003256f, -0.006322f, 0.002527f, 0.000243f, -0.008272f, -0.004030f, 0.002535f, 0.007255f, 0.002016f, -0.013854f, -0.013724f, -0.007132f, -0.014012f, -0.000365f, -0.000290f, -0.004119f, 0.003889f, -0.000276f, 0.005704f, -0.000836f, -0.005713f, 0.001182f, -0.002411f, -0.010562f, -0.006659f, 0.001511f, 0.014133f, -0.005955f, 0.005235f, -0.001596f, -0.000149f, 0.006551f, -0.004911f, 0.002227f, 0.003213f, -0.003589f, -0.002446f, -0.001765f, -0.004041f, 0.001992f, -0.005054f, -0.006596f, -0.002512f, -0.007147f, 0.008964f, -0.002517f, 0.000550f, -0.000771f, -0.000530f, 0.000948f, -0.002964f, 0.001323f, 0.002272f, 0.001164f, 0.003657f, 0.004848f, 0.000864f, 0.003613f, -0.002696f, -0.007733f, - 0.001548f, -0.002143f, 0.003247f, -0.003164f, 0.031777f, -0.008347f, -0.000283f, -0.039172f, -0.001399f, 0.020928f, -0.010967f, 0.018184f, -0.024924f, 0.003611f, 0.002492f, -0.000729f, -0.033050f, -0.001498f, -0.055063f, 0.002588f, -0.006087f, -0.023066f, -0.004039f, 0.003079f, -0.012100f, 0.002084f, 0.013895f, 0.002128f, -0.012625f, 0.002328f, -0.003927f, 0.012195f, -0.013576f, 0.000775f, 0.017625f, 0.003964f, 0.001432f, -0.002648f, 0.013498f, -0.008724f, 0.001387f, -0.000069f, 0.010350f, 0.001993f, -0.018614f, -0.009910f, -0.013141f, 0.015347f, -0.034838f, 0.016829f, 0.013811f, 0.011884f, 0.006605f, 0.002581f, -0.015274f, 0.010842f, -0.022602f, -0.005356f, -0.004785f, -0.004691f, -0.001043f, 0.001418f, 0.007199f, -0.017361f, -0.006862f, 0.029260f, 0.012218f, -0.010681f, -0.012456f, 0.003177f, -0.005205f, 0.008917f, -0.006002f, -0.001810f, -0.009525f, 0.026536f, 0.013466f, -0.009112f, 0.001609f, -0.013519f, 0.003081f, -0.010206f, -0.003582f, 0.010538f, 0.009776f, -0.003066f, 0.019312f, -0.007609f, 0.009551f, -0.012689f, 0.013465f, 0.001977f, -0.007928f, -0.010684f, -0.015966f, 0.004035f, - -0.001812f, 0.007250f, -0.002101f, -0.004699f, 0.002853f, 0.002974f, 0.004745f, 0.003884f, 0.008810f, -0.000336f, 0.002785f, -0.006854f, 0.005469f, -0.004920f, -0.002550f, -0.003690f, -0.000805f, -0.008725f, -0.001578f, 0.003415f, 0.007807f, -0.007498f, -0.003704f, -0.005417f, 0.005329f, 0.004172f, -0.003550f, -0.000676f, -0.005917f, 0.004494f, 0.020169f, 0.020379f, 0.011832f, 0.010566f, -0.009906f, 0.011753f, 0.019591f, -0.014551f, -0.000519f, -0.037766f, 0.021641f, 0.014768f, -0.005379f, 0.008750f, -0.002428f, 0.003020f, 0.013475f, -0.008456f, 0.021077f, -0.019003f, 0.001836f, 0.023732f, 0.010397f, 0.001461f, 0.018320f, -0.006478f, 0.008419f, 0.004830f, 0.009818f, 0.016216f, -0.009576f, -0.001941f, 0.029912f, 0.014954f, -0.000649f, 0.004130f, -0.020257f, 0.027524f, -0.023166f, -0.001459f, 0.024107f, 0.007482f, 0.025954f, -0.016284f, 0.004168f, -0.001053f, -0.006343f, 0.003482f, -0.025058f, -0.017582f, 0.023632f, -0.011767f, -0.005054f, -0.007991f, -0.026648f, 0.018929f, -0.006277f, -0.004416f, -0.011803f, 0.011644f, 0.027092f, -0.021354f, -0.004340f, 0.018260f, -0.020051f, -0.008752f, - 0.016324f, 0.022763f, -0.037624f, -0.010040f, -0.003222f, 0.016056f, -0.000563f, 0.018751f, -0.004548f, -0.013744f, 0.000920f, 0.009979f, 0.024307f, 0.012251f, -0.016325f, -0.000855f, 0.011963f, -0.024229f, -0.014824f, -0.004643f, -0.012400f, -0.012620f, -0.001476f, 0.011490f, -0.010865f, 0.002685f, 0.011990f, 0.003323f, 0.002157f, 0.008372f, -0.002063f, 0.005387f, 0.005218f, 0.005098f, 0.002946f, -0.000965f, -0.007284f, -0.002497f, -0.002018f, -0.006659f, -0.002992f, 0.001020f, 0.000870f, -0.001010f, 0.001056f, 0.007320f, -0.006032f, -0.001975f, -0.004476f, 0.003498f, 0.003461f, -0.001459f, -0.004993f, -0.011106f, 0.005608f, 0.004201f, 0.007225f, 0.001947f, 0.001779f, -0.000811f, -0.006867f, 0.002749f, -0.002748f, -0.003183f, -0.001984f, 0.019694f, 0.041734f, 0.008068f, -0.024668f, -0.008792f, 0.008195f, -0.054739f, 0.001730f, 0.000335f, -0.008568f, -0.002686f, 0.025290f, -0.041313f, 0.009090f, 0.019314f, -0.015190f, 0.017117f, 0.031934f, 0.007917f, -0.029501f, 0.007988f, -0.007425f, -0.000535f, -0.028917f, -0.008736f, 0.026388f, -0.002964f, 0.024197f, -0.006368f, -0.008472f, 0.003959f, - -0.020464f, -0.011510f, -0.014729f, -0.010930f, -0.008045f, 0.019739f, -0.021801f, 0.003545f, 0.038112f, 0.025724f, 0.008602f, -0.038735f, 0.006448f, 0.025414f, 0.010646f, 0.001511f, -0.013804f, -0.016820f, -0.041341f, -0.028568f, 0.005919f, -0.014138f, -0.014124f, -0.000816f, 0.017681f, 0.012513f, -0.012419f, 0.000542f, 0.025152f, -0.009679f, -0.004240f, 0.001141f, 0.033064f, 0.001256f, -0.001645f, 0.016807f, 0.005282f, -0.037613f, 0.010569f, 0.010894f, -0.000164f, -0.031150f, 0.013167f, 0.018245f, -0.013669f, -0.009767f, -0.025518f, 0.006799f, -0.009350f, 0.009668f, 0.004887f, -0.006018f, -0.010797f, 0.007049f, 0.003269f, 0.010885f, -0.005381f, 0.016978f, 0.006046f, -0.011655f, 0.001446f, -0.000608f, -0.015953f, 0.000297f, 0.001348f, -0.000059f, -0.000273f, -0.008439f, -0.007241f, -0.003402f, -0.000141f, 0.010642f, 0.003598f, 0.005563f, 0.008690f, -0.003944f, -0.005042f, 0.004088f, -0.008254f, -0.007470f, -0.000232f, -0.000420f, 0.002683f, -0.002474f, 0.001975f, 0.005235f, 0.005673f, 0.000690f, -0.003208f, -0.000800f, -0.000332f, -0.000944f, 0.000172f, -0.001389f, 0.000780f, -0.000192f, - 0.007373f, -0.004169f, -0.005082f, 0.013215f, 0.009595f, -0.001276f, 0.003813f, -0.012280f, 0.043152f, 0.002402f, -0.008664f, -0.000560f, 0.019095f, -0.009153f, 0.005292f, -0.004600f, 0.004542f, 0.016383f, -0.029757f, 0.031518f, 0.035694f, 0.010077f, 0.015134f, -0.012036f, 0.020265f, 0.046992f, 0.001578f, -0.005327f, -0.008590f, 0.020036f, -0.007021f, -0.011306f, -0.003897f, 0.007142f, -0.023313f, 0.010461f, -0.020524f, 0.023617f, 0.005431f, 0.023783f, -0.014810f, 0.021684f, 0.006520f, 0.028365f, 0.004772f, 0.006023f, -0.010046f, 0.017690f, 0.004504f, -0.005525f, 0.025516f, -0.009840f, -0.018025f, 0.036036f, 0.028781f, 0.010670f, 0.027210f, 0.039425f, 0.047788f, -0.014761f, -0.014858f, -0.016758f, 0.006061f, -0.021832f, 0.025942f, -0.003122f, -0.002261f, -0.036598f, 0.008620f, 0.041691f, 0.042484f, -0.001561f, -0.005450f, -0.029008f, 0.000561f, 0.027704f, -0.014000f, -0.017151f, 0.015734f, 0.002537f, -0.014959f, 0.005432f, -0.002338f, -0.009115f, -0.001968f, -0.007805f, -0.000207f, 0.016113f, 0.012033f, -0.003176f, 0.002981f, -0.003788f, -0.015895f, -0.020779f, -0.003773f, 0.010487f, - 0.004329f, 0.014805f, -0.002845f, -0.013780f, -0.003673f, 0.015349f, -0.007049f, 0.008773f, 0.014178f, -0.014051f, -0.003638f, -0.001289f, 0.003722f, -0.000676f, 0.009512f, 0.006962f, 0.003524f, -0.014006f, 0.003704f, 0.007803f, 0.002479f, 0.003258f, 0.005231f, -0.012420f, -0.005704f, 0.000093f, -0.000501f, -0.006552f, -0.016092f, -0.005182f, 0.001578f, 0.008495f, 0.002004f, -0.006575f, -0.007600f, -0.056588f, -0.039578f, 0.020610f, 0.007924f, -0.029731f, 0.002927f, 0.012948f, -0.027114f, -0.017119f, -0.011767f, 0.032031f, 0.014293f, 0.010143f, -0.010359f, -0.008005f, -0.008259f, -0.020188f, -0.026861f, -0.047239f, 0.024409f, 0.020863f, -0.010110f, 0.053030f, 0.025435f, 0.050913f, 0.034932f, 0.003123f, -0.016458f, 0.013389f, 0.006172f, 0.023081f, 0.026583f, 0.029342f, -0.004333f, -0.005326f, 0.012475f, -0.013469f, -0.003175f, -0.011889f, -0.022132f, -0.036380f, -0.010647f, 0.036759f, -0.009223f, -0.014878f, -0.020966f, 0.014537f, 0.022269f, 0.014726f, 0.001397f, 0.021601f, 0.042323f, -0.025434f, -0.011603f, -0.019612f, -0.014186f, -0.040996f, -0.010053f, 0.010179f, -0.018648f, -0.014694f, - -0.047100f, -0.067142f, 0.007288f, -0.044291f, -0.069510f, -0.050411f, -0.021194f, 0.044807f, 0.015495f, 0.027282f, 0.020528f, -0.046460f, -0.019594f, 0.003842f, 0.023171f, -0.023166f, -0.027326f, -0.026536f, -0.008252f, 0.013611f, -0.015727f, -0.057873f, -0.036364f, -0.008475f, -0.011735f, -0.004328f, -0.008602f, 0.032410f, 0.029704f, 0.030647f, 0.031402f, 0.010281f, -0.000300f, 0.011636f, 0.003267f, -0.001170f, 0.009263f, -0.026183f, -0.010075f, 0.011109f, 0.015201f, -0.000884f, -0.008492f, -0.009585f, 0.003802f, -0.014343f, -0.020601f, 0.018730f, -0.015352f, -0.007959f, 0.001690f, -0.018090f, -0.016900f, -0.030731f, -0.011932f, -0.007368f, 0.002164f, 0.025319f, -0.006567f, -0.003977f, -0.008093f, 0.012816f, -0.006869f, 0.000507f, 0.012427f, 0.000808f, -0.008778f, 0.005514f, 0.012399f, -0.007811f, -0.001858f, -0.000595f, 0.006565f, -0.107417f, -0.016865f, 0.034514f, -0.036571f, 0.015001f, -0.014255f, -0.058281f, -0.018163f, 0.062385f, 0.078574f, -0.041737f, 0.001449f, -0.014390f, -0.064129f, -0.051080f, -0.048266f, -0.051516f, -0.027549f, -0.033652f, -0.002797f, 0.010977f, -0.008988f, 0.013101f, - 0.012079f, -0.021115f, -0.005804f, -0.028965f, 0.012110f, -0.045586f, -0.041071f, 0.009795f, 0.007030f, -0.012464f, -0.015095f, 0.035668f, -0.010581f, 0.049550f, 0.010905f, 0.045923f, -0.031204f, 0.019958f, 0.012921f, 0.055634f, 0.029686f, 0.019454f, 0.005234f, 0.008350f, -0.006700f, 0.016283f, 0.022844f, -0.018107f, -0.025251f, 0.038899f, -0.005513f, -0.049030f, -0.094008f, -0.113024f, -0.081549f, 0.013384f, -0.000281f, -0.105270f, 0.034009f, 0.017756f, 0.026165f, -0.036008f, 0.004385f, 0.012207f, 0.004512f, 0.053773f, 0.054794f, 0.109694f, 0.036314f, -0.058773f, -0.075421f, -0.046427f, -0.041759f, -0.048290f, -0.043003f, -0.001702f, 0.023221f, 0.031323f, -0.020535f, 0.041299f, -0.035849f, -0.049934f, -0.038917f, -0.025928f, -0.019587f, -0.039085f, 0.024074f, -0.002952f, 0.023011f, 0.017611f, 0.002408f, 0.040522f, -0.021696f, -0.009626f, -0.040912f, 0.013376f, 0.021311f, -0.003700f, -0.004003f, 0.011965f, -0.039321f, 0.001109f, -0.014248f, 0.007116f, -0.019165f, -0.027096f, 0.015812f, -0.001122f, -0.011542f, -0.004600f, 0.018649f, -0.015365f, 0.009432f, -0.014333f, 0.010797f, 0.009386f, - -0.005954f, -0.014240f, 0.008289f, 0.009180f, -0.029171f, 0.011567f, -0.007789f, -0.008860f, -0.009308f, 0.005766f, -0.019116f, -0.008752f, 0.060267f, -0.016122f, -0.113780f, -0.032538f, 0.093754f, -0.012992f, 0.020958f, 0.013338f, 0.017564f, 0.032800f, 0.026949f, 0.009355f, -0.018487f, -0.006924f, 0.004745f, -0.020294f, -0.004618f, 0.034386f, -0.030708f, -0.018388f, -0.030776f, -0.007443f, 0.005438f, 0.003916f, 0.008313f, 0.016050f, -0.023357f, 0.020893f, 0.051453f, -0.000973f, -0.029791f, 0.002689f, -0.019432f, -0.006801f, 0.030602f, -0.032150f, 0.003809f, 0.010104f, 0.037400f, 0.053860f, -0.034087f, -0.019601f, 0.021078f, 0.002839f, 0.006097f, 0.006219f, -0.022526f, -0.058116f, -0.010164f, -0.027069f, 0.053068f, -0.100385f, -0.065756f, -0.027194f, -0.010708f, 0.028964f, 0.006308f, -0.035457f, -0.005733f, -0.040846f, -0.043846f, -0.015813f, -0.031634f, 0.005784f, 0.026411f, 0.120618f, 0.022609f, -0.017965f, -0.077373f, -0.063852f, 0.019185f, -0.001994f, -0.072608f, 0.039294f, 0.039382f, -0.074161f, -0.001125f, 0.019236f, 0.021672f, 0.079880f, 0.035380f, 0.016647f, -0.078718f, -0.040789f, - -0.054226f, 0.049553f, -0.004711f, -0.016324f, -0.008535f, 0.015413f, 0.052630f, 0.044350f, -0.023092f, -0.046950f, -0.068180f, 0.016535f, 0.040841f, -0.014384f, -0.006690f, 0.035593f, 0.020741f, 0.031005f, 0.008223f, 0.010976f, -0.026024f, -0.007998f, -0.012104f, 0.013329f, 0.014416f, -0.003835f, -0.005727f, -0.004082f, 0.019326f, 0.021094f, -0.030655f, 0.017846f, 0.014077f, 0.025512f, -0.016024f, -0.011612f, 0.016567f, 0.005515f, -0.021983f, -0.002536f, 0.026855f, 0.004801f, -0.019012f, -0.039910f, -0.135071f, 0.019152f, 0.020840f, -0.004591f, -0.002282f, -0.010521f, -0.038959f, 0.015122f, -0.008669f, 0.068710f, -0.071160f, -0.014639f, 0.072411f, -0.003491f, -0.049169f, -0.006182f, 0.042662f, 0.051891f, 0.031826f, -0.009514f, 0.037099f, -0.028334f, 0.025008f, -0.011614f, -0.009810f, -0.024546f, 0.040646f, 0.027594f, -0.026832f, -0.012456f, -0.004086f, 0.041212f, -0.004112f, 0.004196f, -0.026806f, 0.027697f, 0.017904f, -0.030888f, 0.055419f, 0.002267f, -0.050270f, 0.043972f, -0.054597f, -0.028913f, 0.049270f, -0.105896f, -0.067583f, 0.057208f, -0.036735f, 0.042347f, -0.067234f, 0.014693f, - 0.024327f, -0.037079f, 0.001160f, -0.003154f, -0.069389f, -0.016298f, 0.071150f, 0.075110f, -0.085997f, -0.028722f, 0.025919f, -0.069007f, 0.088518f, 0.088643f, 0.012483f, -0.127506f, -0.067043f, 0.135056f, -0.071733f, -0.014519f, 0.109503f, -0.064654f, -0.131627f, -0.029739f, 0.118424f, -0.025797f, -0.086857f, -0.021535f, -0.158364f, -0.007463f, 0.127872f, -0.046925f, -0.128049f, -0.013229f, -0.036120f, -0.017458f, 0.037835f, -0.004781f, -0.001712f, -0.046809f, -0.030682f, -0.015071f, 0.051020f, -0.065248f, 0.003001f, 0.010225f, -0.020564f, 0.002084f, 0.060769f, -0.039216f, -0.049213f, -0.006693f, 0.016988f, 0.038048f, -0.015403f, 0.019052f, 0.028963f, 0.003150f, -0.044446f, -0.023805f, 0.000822f, -0.035466f, -0.017326f, 0.067316f, -0.025653f, -0.066047f, -0.017837f, 0.038230f, 0.015716f, -0.005165f, 0.008365f, -0.059739f, -0.034517f, 0.045188f, 0.067035f, 0.007988f, -0.050007f, -0.024498f, 0.001977f, 0.017633f, 0.033519f, -0.019672f, -0.074646f, -0.070449f, -0.002155f, -0.088781f, -0.026442f, -0.038046f, -0.035765f, -0.027185f, 0.057098f, -0.006796f, -0.018676f, -0.024725f, 0.010933f, -0.031490f, - -0.073933f, 0.056569f, 0.017678f, 0.048810f, 0.015167f, 0.050503f, -0.020544f, -0.031940f, 0.011033f, -0.053737f, 0.041137f, -0.048703f, -0.010482f, 0.031399f, -0.036901f, -0.008140f, -0.022517f, -0.058847f, 0.008535f, -0.044520f, -0.032125f, -0.038885f, -0.028815f, -0.017968f, -0.039475f, 0.006564f, 0.043175f, -0.029737f, -0.010753f, 0.005043f, 0.039761f, -0.018559f, 0.013899f, -0.041365f, 0.066404f, 0.020577f, 0.028307f, 0.017997f, 0.063672f, -0.004020f, -0.075480f, 0.016336f, 0.026999f, -0.021133f, -0.000550f, 0.039352f, -0.052605f, -0.052079f, -0.061006f, 0.052210f, 0.015217f, -0.074847f, 0.028769f, -0.049455f, -0.009955f, -0.069838f, 0.030499f, 0.049333f, 0.009909f, -0.077323f, 0.042994f, 0.035678f, -0.010205f, -0.067961f, 0.017949f, -0.041042f, -0.014386f, -0.003045f, -0.021097f, 0.033523f, -0.030718f, -0.055100f, 0.026927f, -0.012348f, 0.022704f, -0.000361f, -0.002477f, -0.000408f, -0.015371f, -0.017175f, 0.011191f, 0.049093f, -0.006432f, -0.069414f, -0.019659f, 0.028863f, -0.034766f, -0.014627f, 0.032833f, -0.012560f, -0.005275f, -0.027745f, 0.053926f, 0.031980f, -0.016556f, 0.024493f, - -0.004868f, 0.011024f, 0.043628f, -0.007971f, -0.039205f, 0.016205f, 0.024665f, -0.019902f, 0.031270f, -0.005087f, 0.019076f, 0.002338f, -0.014955f, 0.026644f, 0.038086f, -0.022048f, -0.041290f, 0.016042f, 0.024445f, -0.019964f, -0.004658f, 0.023360f, 0.007443f, 0.065779f, 0.123501f, -0.029616f, 0.061282f, 0.012000f, -0.029085f, -0.055073f, -0.032081f, 0.071884f, -0.023458f, 0.013430f, 0.027930f, -0.007156f, 0.066242f, -0.009636f, 0.051998f, 0.054383f, -0.066561f, 0.034442f, -0.017385f, 0.001726f, 0.024499f, 0.020389f, -0.002211f, 0.010940f, 0.019839f, 0.066569f, 0.068388f, 0.052838f, -0.038530f, -0.013037f, -0.090775f, -0.002611f, 0.021508f, 0.041128f, 0.009510f, -0.075015f, 0.032976f, -0.044968f, 0.058360f, -0.052519f, -0.036784f, 0.003953f, -0.044026f, -0.007408f, -0.025400f, 0.089915f, -0.049012f, -0.023857f, -0.094031f, -0.030440f, -0.049349f, 0.132998f, 0.080793f, -0.027822f, -0.089451f, -0.095774f, -0.056984f, 0.066257f, 0.086259f, 0.043901f, 0.012746f, -0.114947f, -0.053431f, 0.038033f, 0.032341f, 0.005203f, 0.041675f, -0.023691f, -0.075771f, 0.036077f, -0.128565f, 0.140064f, - -0.013062f, -0.090196f, 0.210386f, 0.030390f, 0.073221f, 0.126306f, -0.208832f, -0.150244f, 0.041691f, -0.012176f, 0.031937f, 0.045966f, -0.130557f, -0.009435f, 0.026356f, 0.002863f, 0.109377f, 0.008002f, -0.057276f, -0.005738f, 0.058787f, -0.033876f, 0.025679f, 0.030465f, 0.001191f, -0.023668f, 0.028743f, -0.075763f, 0.058011f, -0.014576f, -0.024231f, 0.033013f, 0.008699f, 0.002594f, 0.034347f, -0.007857f, 0.020558f, -0.003946f, 0.013178f, -0.009658f, -0.039973f, 0.024504f, 0.016834f, 0.023188f, -0.000283f, 0.000952f, 0.015647f, 0.009010f, 0.006034f, 0.046758f, 0.051569f, 0.003241f, 0.033766f, -0.031543f, 0.004730f, -0.020620f, 0.039049f, 0.035979f, 0.005436f, -0.010048f, -0.023594f, -0.054880f, 0.004525f, -0.054683f, 0.037013f, -0.077255f, 0.047830f, -0.031786f, 0.078486f, -0.035384f, -0.003646f, 0.044726f, 0.007954f, 0.003943f, -0.020230f, -0.017494f, 0.002043f, -0.030029f, 0.033116f, -0.003828f, 0.035165f, -0.027537f, -0.027186f, 0.009293f, 0.001384f, -0.027913f, 0.017617f, -0.003478f, 0.015374f, -0.008533f, -0.007562f, 0.014749f, -0.014029f, -0.001085f, 0.010951f, -0.005638f, - -0.006700f, 0.055751f, -0.003833f, -0.018578f, -0.009981f, 0.026516f, -0.002424f, -0.030256f, 0.016093f, 0.032666f, 0.006577f, 0.000865f, -0.019297f, 0.006936f, -0.015631f, 0.015031f, 0.039582f, -0.013961f, 0.018092f, -0.014828f, -0.004463f, -0.016249f, -0.007748f, 0.010550f, 0.012791f, -0.023027f, 0.013928f, 0.004254f, -0.002959f, -0.023017f, 0.003951f, 0.008532f, -0.017167f, 0.024989f, 0.020838f, -0.041667f, 0.010654f, -0.038231f, -0.043630f, 0.030125f, -0.015551f, 0.036361f, 0.019701f, 0.001241f, 0.018529f, -0.005642f, -0.022525f, -0.005227f, 0.001322f, 0.025395f, -0.011412f, 0.007891f, 0.010371f, -0.014346f, -0.002669f, 0.008930f, -0.004412f, -0.002635f, 0.014578f, 0.000001f, 0.005571f, -0.011867f, 0.004997f, -0.001060f, -0.012449f, 0.023694f, 0.002037f, 0.019378f, -0.009413f, 0.015950f, -0.007929f, 0.001298f, -0.012411f, 0.010733f, -0.006047f, 0.023482f, -0.007289f, 0.022221f, -0.022675f, 0.005220f, 0.001453f, -0.004548f, 0.000747f, 0.002981f, 0.017475f, -0.000553f, -0.020633f, 0.013842f, -0.011647f, 0.002424f, 0.012449f, -0.012528f, 0.021791f, -0.045377f, 0.096115f, 0.018204f, - 0.023680f, -0.012130f, 0.008873f, -0.002717f, 0.018285f, 0.005814f, 0.041020f, 0.002888f, -0.022110f, 0.013550f, -0.014393f, 0.006382f, 0.008480f, -0.018712f, 0.001095f, 0.004606f, -0.020202f, 0.018585f, 0.004853f, -0.008260f, 0.025000f, -0.008826f, 0.009944f, -0.007541f, 0.004744f, 0.004823f, 0.002383f, -0.003054f, -0.007254f, -0.003323f, 0.003594f, 0.000693f, -0.004039f, -0.012031f, 0.009151f, -0.008054f, 0.004623f, 0.008032f, -0.008171f, 0.001840f, -0.007623f, 0.002302f, -0.012159f, -0.019817f, 0.020667f, -0.010954f, -0.005207f, 0.008805f, 0.004130f, -0.003424f, 0.002457f, 0.017752f, -0.019357f, 0.008516f, -0.007221f, 0.015392f, -0.016249f, 0.009405f, 0.004709f, -0.002796f, 0.003703f, 0.000479f, 0.000342f, 0.007583f, -0.010232f, 0.005926f, 0.005252f, -0.002711f, -0.000893f, 0.013472f, -0.001938f, 0.004654f, -0.015400f, 0.021033f, -0.016112f, -0.000149f, 0.010595f, -0.009348f, 0.007271f, 0.002440f, 0.002648f, -0.009778f, 0.008099f, 0.008399f, -0.005089f, 0.003387f, 0.004246f, -0.006937f, 0.002600f, 0.003566f, -0.001401f, 0.007389f, 0.000446f, -0.000059f, -0.000661f, 0.006644f, - 0.005164f, -0.004044f, 0.005806f, -0.002818f, 0.002669f, 0.002984f, -0.000591f, 0.008239f, -0.003544f, 0.000168f, 0.005311f, -0.006319f, 0.000635f, -0.000543f, -0.004426f, 0.000754f, 0.004766f, -0.001265f, -0.003701f, 0.008209f, -0.005056f, 0.018169f, -0.085318f, -0.211811f, 0.045761f, 0.176141f, 0.119073f, 0.248437f, -0.081247f, -0.069457f, -0.142926f, -0.228440f, -0.022571f, 0.071204f, 0.093868f, 0.122498f, 0.061767f, 0.006775f, -0.020017f, -0.052964f, -0.075531f, -0.011445f, -0.020168f, 0.007439f, 0.017351f, -0.000900f, 0.004369f, 0.009133f, 0.004065f, 0.029915f, 0.035536f, 0.022075f, -0.004060f, 0.004102f, -0.026273f, -0.055161f, -0.058765f, -0.028828f, -0.038538f, 0.031746f, 0.058540f, 0.062108f, 0.068212f, 0.037367f, -0.011010f, -0.026939f, -0.050102f, -0.052960f, -0.036773f, -0.020714f, -0.002359f, 0.013359f, 0.025737f, 0.027591f, 0.023245f, 0.019992f, -0.003408f, 0.005362f, -0.005889f, 0.002636f, -0.004417f, -0.002755f, -0.001560f, -0.018794f, -0.019643f, -0.014273f, -0.029623f, 0.000018f, -0.005548f, 0.003715f, 0.050488f, 0.066438f, 0.022479f, 0.022499f, -0.018185f, -0.036552f, - -0.025203f, -0.044009f, -0.035276f, 0.012426f, -0.002980f, -0.021349f, 0.016447f, 0.017530f, 0.020996f, 0.049718f, 0.020764f, 0.021793f, 0.005496f, -0.026815f, -0.026330f, -0.021640f, -0.023510f, -0.029890f, -0.025420f, -0.015222f, 0.004779f, 0.033189f, 0.050156f, 0.046853f, 0.019099f, 0.009437f, -0.012120f, -0.022738f, -0.020321f, -0.022538f, -0.025886f, -0.011924f, -0.010716f, -0.000929f, 0.008875f, 0.006694f, 0.020308f, 0.026764f, 0.019505f, 0.013177f, 0.004775f, -0.001739f, -0.012576f, -0.013179f, -0.020352f, -0.023095f, -0.017985f, -0.016211f, -0.003951f, 0.017159f, 0.025872f, 0.027664f, 0.024779f, 0.009978f, 0.004716f, -0.012431f, -0.019465f, -0.010533f, -0.014339f, -0.019795f, -0.014752f, 0.002645f, 0.013588f, 0.012514f, 0.007260f, 0.007931f, 0.007420f, 0.005456f, 0.001834f, -0.001491f, -0.001901f, -0.005353f, -0.006562f, -0.006374f, -0.007128f, -0.008736f, -0.004519f, 0.003454f, 0.006645f, 0.007334f, 0.004841f, 0.002075f, 0.000634f, 0.000526f, 0.000558f}, - {-0.011968f, 0.001523f, 0.003811f, 0.003691f, 0.018853f, 0.005127f, 0.003987f, -0.005577f, 0.000728f, -0.009551f, 0.002249f, 0.008786f, -0.004447f, 0.000426f, -0.001847f, -0.004698f, -0.007569f, 0.005856f, -0.012665f, -0.006388f, -0.006354f, 0.006879f, 0.007534f, 0.003974f, 0.001807f, 0.005459f, 0.004508f, 0.009012f, -0.003123f, 0.003160f, 0.005607f, 0.001197f, 0.001851f, -0.006559f, -0.002824f, -0.002738f, -0.002466f, 0.006096f, -0.011650f, 0.001958f, -0.004033f, 0.012224f, 0.000298f, -0.002190f, -0.003058f, -0.005026f, -0.001671f, -0.005246f, -0.015367f, -0.004856f, -0.003004f, -0.002473f, -0.003442f, 0.001600f, -0.002875f, -0.000713f, -0.000985f, 0.005394f, 0.002413f, -0.000685f, 0.003444f, -0.003000f, 0.006605f, -0.004313f, -0.007151f, 0.006925f, 0.007253f, -0.003120f, -0.006868f, 0.000672f, 0.003771f, 0.002854f, 0.003278f, -0.003242f, 0.000045f, 0.002670f, 0.003590f, 0.001578f, -0.000981f, 0.000451f, 0.004461f, 0.008599f, 0.004162f, -0.001048f, -0.000099f, -0.002023f, -0.002148f, 0.001807f, -0.002830f, 0.001756f, 0.002124f, -0.000820f, -0.000276f, 0.000950f, 0.000828f, -0.000851f, - 0.000719f, 0.000503f, -0.003940f, 0.000638f, 0.000311f, 0.001236f, 0.000705f, -0.001496f, 0.001429f, 0.001140f, -0.000099f, 0.017054f, -0.003188f, -0.001630f, 0.001833f, 0.004707f, -0.012563f, 0.007827f, -0.014912f, -0.000671f, -0.007217f, -0.001060f, -0.004769f, -0.001125f, -0.001159f, 0.007498f, -0.006315f, 0.008121f, -0.008461f, -0.009245f, 0.003923f, 0.012411f, -0.014624f, -0.004061f, -0.007071f, 0.000105f, -0.003676f, 0.003957f, 0.005252f, 0.002655f, 0.005350f, -0.008499f, 0.000315f, 0.011934f, 0.004693f, 0.001522f, -0.008656f, -0.012371f, -0.007440f, 0.001901f, -0.006324f, -0.003572f, 0.002424f, 0.008038f, -0.007236f, -0.007132f, 0.002898f, -0.005214f, 0.009235f, 0.003094f, -0.000943f, 0.006510f, 0.006187f, -0.000005f, 0.010379f, 0.005134f, 0.003255f, 0.002751f, 0.006807f, 0.010708f, -0.007043f, 0.002049f, 0.002949f, -0.007525f, 0.000677f, 0.006117f, -0.002372f, 0.015464f, -0.004768f, -0.004101f, -0.003212f, 0.005704f, 0.007875f, -0.010026f, -0.004078f, 0.002732f, -0.001813f, 0.002464f, 0.000976f, -0.004393f, 0.001968f, 0.000940f, -0.003230f, -0.005314f, 0.002197f, 0.001492f, - 0.004882f, 0.000411f, 0.001511f, 0.002239f, -0.000212f, -0.001595f, 0.003580f, 0.000214f, -0.000009f, 0.003080f, -0.001665f, 0.001492f, 0.004114f, -0.000346f, -0.000883f, 0.000778f, -0.000609f, 0.001269f, -0.002512f, -0.000789f, -0.001167f, 0.000167f, -0.000378f, 0.001608f, 0.000175f, -0.001574f, 0.000075f, -0.021921f, -0.003564f, -0.004901f, -0.003921f, -0.001980f, -0.002698f, 0.011634f, 0.013912f, -0.003201f, 0.011349f, 0.004316f, -0.006300f, 0.002942f, -0.009539f, 0.001659f, 0.001999f, -0.012823f, -0.001911f, 0.001967f, 0.002221f, 0.008832f, -0.001721f, 0.007668f, -0.005171f, -0.009843f, -0.010384f, -0.002991f, -0.005262f, -0.007889f, 0.008125f, -0.003217f, -0.001590f, -0.001451f, 0.001685f, 0.004405f, -0.012576f, 0.000022f, 0.001737f, -0.005981f, 0.014953f, 0.001144f, -0.003707f, -0.003273f, 0.015967f, -0.001171f, 0.002015f, 0.009425f, 0.000266f, 0.005749f, 0.002235f, 0.000505f, 0.008805f, -0.000080f, -0.006185f, 0.007887f, 0.004233f, 0.005056f, 0.007162f, 0.002342f, -0.005840f, 0.004119f, 0.005875f, 0.005687f, 0.008821f, 0.000022f, -0.008194f, -0.006572f, 0.010347f, 0.014388f, - -0.013173f, 0.002612f, -0.003495f, -0.002352f, 0.003009f, 0.005474f, 0.005273f, -0.004242f, -0.001705f, -0.004101f, -0.006800f, -0.005968f, -0.002192f, -0.003807f, -0.005846f, 0.001296f, -0.001604f, 0.002179f, 0.001873f, -0.001848f, 0.001036f, 0.000321f, -0.004752f, 0.001563f, -0.003217f, -0.005795f, 0.000374f, -0.001736f, -0.002432f, -0.002625f, -0.000748f, 0.001002f, -0.000889f, 0.001620f, -0.001119f, -0.001985f, -0.002682f, -0.002509f, -0.001074f, 0.000399f, 0.001891f, -0.016105f, 0.017208f, 0.015944f, 0.012024f, -0.008353f, 0.009404f, 0.016966f, -0.004243f, 0.013264f, 0.005003f, 0.002012f, -0.002044f, 0.014623f, 0.006919f, -0.003394f, -0.010454f, 0.006098f, -0.004322f, -0.005574f, 0.005932f, 0.007012f, 0.003081f, -0.010369f, 0.001703f, 0.009361f, -0.004538f, 0.003193f, -0.020433f, 0.002974f, -0.001631f, 0.009881f, 0.002424f, -0.004213f, -0.006152f, 0.012638f, -0.010841f, 0.000910f, -0.008754f, 0.001056f, -0.002673f, 0.007075f, -0.001457f, -0.002264f, -0.010731f, -0.002544f, -0.001884f, 0.013371f, 0.000675f, -0.012167f, -0.000442f, -0.000640f, 0.004180f, 0.006413f, -0.005421f, 0.000059f, - -0.006920f, 0.007430f, -0.001615f, 0.008973f, -0.004816f, 0.013342f, 0.006614f, -0.014647f, 0.015566f, -0.002206f, -0.010746f, 0.001868f, 0.014223f, 0.002927f, 0.002192f, -0.011461f, -0.000748f, -0.004417f, -0.006214f, -0.005985f, 0.000549f, 0.005462f, 0.007002f, 0.003845f, 0.003827f, -0.004448f, 0.003378f, -0.003849f, -0.000444f, -0.000167f, -0.001797f, -0.000706f, 0.004046f, -0.006352f, 0.001741f, -0.000582f, 0.000560f, 0.002192f, 0.001746f, -0.000129f, 0.002779f, 0.000348f, -0.004211f, -0.004514f, 0.002676f, 0.001278f, -0.000185f, -0.002965f, -0.000597f, 0.000771f, -0.000409f, -0.001270f, -0.002937f, 0.001896f, -0.000053f, -0.001782f, 0.002032f, -0.001171f, -0.000808f, -0.002296f, -0.001445f, -0.000837f, -0.002971f, 0.002133f, 0.018517f, -0.006438f, -0.013489f, -0.000749f, -0.020206f, -0.000072f, -0.017370f, -0.006072f, 0.011858f, -0.012407f, -0.013685f, 0.004035f, 0.001082f, 0.001172f, -0.003245f, -0.004518f, -0.009920f, 0.006631f, -0.019364f, -0.005989f, 0.001908f, 0.011924f, 0.000655f, 0.012099f, 0.004269f, 0.026643f, 0.010174f, -0.000328f, 0.001125f, 0.012665f, -0.003087f, -0.003852f, - -0.002439f, 0.002062f, -0.008464f, -0.004225f, -0.014235f, -0.001037f, -0.006568f, -0.003950f, 0.017420f, 0.000241f, 0.010879f, -0.004422f, 0.004406f, -0.001145f, 0.006469f, -0.002223f, 0.006018f, -0.006043f, -0.007486f, -0.001237f, 0.002048f, -0.007543f, -0.007557f, 0.000623f, 0.003806f, 0.008081f, -0.001224f, -0.003834f, -0.001709f, 0.007667f, 0.013079f, 0.000686f, -0.009001f, -0.012834f, 0.000128f, 0.003478f, 0.001285f, 0.017427f, -0.011003f, -0.000631f, 0.007764f, -0.002927f, -0.009226f, 0.012272f, 0.005581f, 0.002149f, -0.006150f, -0.006612f, -0.010998f, -0.004324f, -0.001231f, -0.005711f, -0.002900f, -0.004952f, 0.000877f, 0.001235f, 0.002677f, 0.000315f, 0.000751f, -0.006138f, -0.003218f, -0.006578f, -0.002334f, -0.001925f, -0.005046f, -0.003204f, 0.001655f, -0.000615f, -0.002169f, -0.000601f, 0.001560f, -0.004131f, 0.001991f, -0.002989f, -0.000400f, -0.001266f, -0.002301f, -0.000820f, -0.000118f, 0.001813f, -0.002953f, -0.004327f, 0.002160f, 0.001122f, 0.016567f, -0.012773f, -0.002622f, 0.001024f, -0.001019f, -0.000508f, -0.010516f, -0.008111f, -0.001160f, 0.006924f, 0.002505f, 0.002757f, - 0.002905f, 0.007277f, -0.001526f, 0.006651f, 0.005401f, -0.017300f, -0.006652f, -0.020298f, 0.005235f, -0.007178f, 0.010175f, -0.006609f, -0.008963f, -0.006605f, 0.005281f, -0.013547f, -0.011240f, 0.015640f, -0.008584f, 0.016961f, -0.004037f, 0.005067f, -0.006005f, -0.011508f, 0.012609f, -0.009770f, -0.010924f, -0.001148f, -0.005947f, -0.012876f, -0.009883f, -0.016222f, 0.000658f, 0.010333f, 0.005974f, -0.006343f, 0.017948f, 0.006522f, -0.006605f, -0.008406f, -0.012997f, 0.000503f, -0.004873f, -0.009154f, -0.004587f, -0.003922f, -0.006404f, 0.003353f, 0.014364f, -0.000938f, 0.000942f, -0.009800f, 0.004571f, 0.004794f, -0.008465f, -0.006793f, 0.003437f, 0.017391f, 0.006962f, -0.004407f, -0.002310f, -0.003745f, -0.017980f, -0.014233f, -0.011935f, 0.012420f, 0.013287f, -0.002008f, -0.006202f, 0.005730f, -0.003957f, 0.005021f, -0.002641f, 0.002336f, 0.000419f, 0.000183f, -0.005826f, 0.003826f, -0.003405f, -0.002530f, -0.000911f, 0.003414f, 0.002627f, -0.000427f, -0.004862f, 0.003013f, -0.000701f, 0.002191f, -0.001642f, -0.001164f, -0.004290f, -0.001959f, -0.000150f, -0.000609f, 0.000841f, 0.000752f, - -0.000539f, 0.000652f, -0.003556f, 0.001523f, 0.000362f, 0.000437f, -0.001279f, 0.004348f, 0.002830f, -0.000269f, -0.001736f, 0.000356f, -0.002699f, 0.004927f, 0.023847f, -0.004498f, -0.000028f, -0.003897f, 0.015529f, 0.014722f, 0.005096f, -0.024500f, -0.004059f, -0.029760f, 0.017649f, 0.007463f, 0.000516f, 0.030766f, 0.014570f, -0.002682f, -0.013751f, 0.012694f, -0.005867f, 0.003167f, 0.004335f, 0.002022f, 0.010108f, -0.008930f, 0.017259f, 0.006580f, 0.001713f, -0.005190f, -0.008725f, 0.011709f, 0.009888f, -0.001871f, 0.006445f, -0.014637f, 0.002793f, -0.019553f, 0.008030f, 0.001132f, 0.010035f, -0.016051f, 0.003383f, -0.005223f, 0.003602f, 0.018324f, 0.015551f, 0.000762f, 0.004535f, -0.011340f, 0.014996f, 0.000455f, 0.031856f, 0.033651f, -0.004410f, -0.008936f, -0.009105f, -0.007246f, -0.019437f, -0.005419f, -0.025400f, 0.001575f, -0.002071f, -0.001382f, -0.005133f, 0.008978f, 0.015109f, 0.023618f, 0.021980f, 0.016918f, -0.027698f, -0.019765f, -0.000806f, 0.001431f, 0.029186f, -0.020470f, 0.015713f, -0.001055f, -0.005814f, -0.002966f, -0.000645f, -0.005728f, -0.016060f, -0.010509f, - -0.002968f, 0.004761f, 0.001587f, -0.000363f, -0.004325f, 0.002587f, -0.005642f, -0.000510f, -0.002963f, 0.006224f, 0.006973f, -0.001621f, -0.001232f, 0.006477f, 0.004984f, 0.000874f, -0.000872f, 0.002408f, 0.000496f, 0.001017f, -0.001174f, 0.002828f, -0.000134f, -0.001570f, -0.002511f, 0.000867f, 0.002843f, 0.004174f, 0.008974f, 0.006974f, -0.003283f, 0.000891f, -0.006233f, -0.001135f, 0.002912f, -0.000459f, -0.001165f, 0.000232f, 0.001379f, -0.008601f, 0.017131f, 0.003697f, -0.012615f, -0.006964f, 0.032154f, 0.031620f, 0.035436f, -0.003454f, -0.001469f, -0.006005f, 0.005985f, 0.017350f, 0.019961f, 0.005813f, -0.008533f, -0.017022f, -0.034643f, 0.010311f, -0.020481f, -0.004472f, -0.002057f, -0.004410f, 0.002379f, -0.001005f, -0.006322f, -0.000735f, -0.020057f, -0.007933f, 0.001255f, -0.003689f, -0.022416f, -0.009445f, 0.001976f, 0.016356f, -0.004559f, 0.000503f, -0.017830f, -0.006001f, 0.000276f, 0.011878f, -0.007196f, 0.007316f, -0.019929f, -0.005535f, 0.004717f, 0.007618f, -0.005410f, 0.026880f, -0.005447f, -0.003372f, -0.013908f, -0.004580f, 0.010885f, 0.003711f, -0.001151f, 0.014037f, - 0.019477f, 0.022661f, -0.003910f, -0.011301f, -0.012766f, 0.000210f, 0.002763f, 0.005336f, -0.009034f, 0.007327f, 0.009721f, 0.008133f, 0.007996f, 0.022657f, 0.015359f, 0.010136f, -0.001125f, 0.005115f, -0.022443f, -0.004202f, 0.002465f, 0.011558f, 0.018342f, -0.003440f, -0.010209f, 0.003235f, 0.006379f, -0.005253f, 0.009449f, 0.007524f, 0.010209f, 0.001585f, 0.004520f, -0.000467f, -0.000703f, -0.007303f, 0.005825f, -0.002273f, 0.003863f, 0.003356f, 0.001166f, 0.005374f, 0.000579f, 0.008642f, 0.006203f, 0.003915f, 0.002545f, 0.002439f, 0.000131f, -0.001106f, 0.000812f, -0.003595f, -0.000143f, -0.004498f, -0.007135f, -0.002880f, 0.001617f, 0.001271f, 0.003270f, -0.001483f, 0.002193f, -0.002981f, 0.001482f, 0.003827f, -0.032790f, 0.040925f, -0.001098f, 0.006065f, 0.022403f, 0.000455f, -0.007790f, 0.001233f, -0.039825f, -0.024202f, -0.011355f, 0.006437f, -0.007808f, 0.004623f, -0.018602f, 0.012979f, -0.006471f, -0.000102f, 0.024645f, -0.023918f, -0.015922f, 0.023096f, -0.007178f, -0.033659f, 0.002428f, -0.020724f, 0.004333f, -0.001652f, 0.012669f, 0.005518f, 0.006402f, 0.002648f, - -0.004043f, 0.015074f, -0.001643f, 0.019345f, 0.011804f, -0.006770f, -0.011533f, -0.010756f, 0.005269f, -0.005244f, 0.005300f, 0.003810f, 0.011363f, 0.003394f, -0.021270f, 0.001342f, 0.007254f, -0.007275f, 0.000922f, -0.014598f, -0.003245f, 0.001382f, 0.000975f, 0.033800f, -0.005875f, 0.024043f, 0.028681f, -0.007799f, 0.015358f, -0.004632f, -0.000834f, -0.015861f, 0.010138f, 0.024473f, 0.017050f, 0.003877f, 0.006704f, 0.015204f, -0.000982f, 0.012617f, -0.005095f, -0.006909f, -0.012166f, 0.006726f, 0.031158f, 0.007060f, -0.004028f, 0.002563f, -0.021909f, -0.007320f, 0.000521f, 0.020713f, 0.015046f, 0.006592f, 0.013359f, -0.003746f, 0.013120f, -0.000051f, 0.008252f, 0.001128f, -0.000644f, -0.001493f, 0.009143f, -0.000890f, -0.005773f, -0.003463f, -0.002300f, -0.001314f, -0.002334f, -0.004519f, 0.006595f, -0.004193f, -0.005733f, -0.001571f, -0.007527f, -0.005078f, -0.006429f, -0.003590f, -0.004497f, -0.005660f, 0.001928f, 0.001436f, 0.002431f, 0.002141f, -0.003429f, -0.001680f, -0.005944f, -0.007635f, -0.000732f, -0.004207f, 0.002488f, -0.001967f, 0.000622f, 0.003872f, 0.003920f, 0.002828f, - 0.006759f, -0.001729f, -0.000650f, 0.005273f, 0.039189f, 0.005705f, 0.009772f, -0.009263f, -0.004698f, 0.026621f, -0.017569f, -0.004050f, -0.034576f, 0.032396f, 0.016915f, 0.002344f, -0.011751f, -0.032621f, 0.003297f, -0.008669f, 0.003991f, -0.036577f, 0.013045f, 0.019345f, -0.021273f, -0.005068f, 0.003173f, 0.002272f, 0.007068f, 0.021001f, 0.025805f, 0.000107f, -0.000065f, 0.004865f, 0.000975f, -0.015620f, -0.017909f, -0.011827f, -0.023598f, -0.011572f, 0.020085f, 0.009392f, -0.007530f, -0.009921f, -0.006602f, -0.041415f, 0.008992f, 0.009998f, -0.019423f, 0.031806f, 0.001122f, 0.023736f, -0.008551f, 0.015414f, -0.005092f, -0.020454f, 0.001831f, 0.018923f, -0.010431f, 0.010413f, 0.012095f, 0.033791f, 0.009321f, 0.010657f, 0.032317f, 0.018517f, 0.012223f, -0.044683f, 0.009237f, 0.006911f, 0.008652f, 0.000978f, -0.018288f, 0.032498f, -0.024123f, 0.018568f, 0.019354f, -0.029116f, -0.006414f, 0.040010f, -0.035613f, 0.006111f, -0.008377f, -0.003775f, -0.012858f, 0.015626f, -0.006709f, -0.013201f, -0.011387f, 0.007032f, 0.015067f, -0.014027f, 0.017503f, -0.014477f, -0.006419f, 0.020048f, - 0.007304f, -0.001564f, -0.008836f, -0.009262f, -0.000306f, -0.003623f, -0.015245f, -0.001660f, -0.003290f, -0.004167f, -0.001439f, 0.012087f, -0.001076f, -0.010972f, 0.000968f, 0.004779f, 0.011390f, 0.007262f, 0.009037f, -0.003554f, 0.004742f, -0.006500f, 0.000263f, -0.002140f, 0.004724f, 0.009638f, -0.007110f, 0.004496f, 0.004440f, -0.000396f, 0.002561f, 0.002081f, -0.021163f, -0.031609f, -0.014283f, -0.013543f, -0.042225f, 0.027736f, 0.003830f, 0.029651f, 0.001122f, 0.003772f, -0.015010f, -0.008065f, 0.014128f, -0.001674f, 0.014630f, -0.015678f, -0.005430f, 0.002176f, -0.007444f, -0.012929f, 0.017561f, -0.019048f, 0.021036f, -0.008104f, 0.006442f, -0.005198f, -0.015287f, -0.013727f, 0.005717f, -0.005306f, -0.000761f, 0.010629f, 0.042704f, 0.002591f, -0.006139f, -0.015127f, 0.005629f, 0.034442f, -0.007024f, -0.006218f, -0.020941f, -0.007530f, 0.002336f, -0.019749f, -0.007621f, -0.027961f, 0.017090f, -0.034117f, -0.061387f, -0.006851f, 0.001376f, 0.028527f, -0.030590f, 0.027375f, 0.017572f, -0.014723f, -0.028909f, -0.004991f, 0.004102f, 0.007835f, 0.000469f, 0.017154f, -0.012317f, -0.004848f, - -0.060571f, -0.008467f, 0.061426f, 0.005623f, -0.010961f, -0.008670f, -0.032673f, 0.023734f, -0.010864f, -0.009565f, -0.008464f, -0.005059f, -0.014442f, -0.021118f, 0.005683f, 0.011512f, -0.001132f, 0.008686f, -0.017978f, -0.032361f, -0.001658f, -0.017239f, -0.005330f, 0.000195f, -0.017162f, 0.003488f, -0.012647f, -0.021820f, -0.016349f, -0.008104f, 0.006432f, 0.009436f, -0.002346f, -0.025741f, -0.006822f, 0.001230f, -0.012969f, -0.005940f, -0.001538f, -0.012002f, -0.007297f, 0.002733f, -0.000984f, -0.009518f, -0.004114f, 0.003813f, 0.001083f, -0.012531f, -0.005294f, -0.000117f, 0.010732f, 0.012031f, 0.002872f, -0.004145f, -0.004989f, -0.001860f, 0.007888f, -0.002200f, -0.001278f, 0.000260f, 0.002692f, -0.010591f, 0.009030f, -0.002493f, 0.005942f, 0.029095f, 0.026020f, -0.007946f, -0.010257f, -0.002260f, -0.041056f, 0.027531f, -0.025865f, -0.021248f, -0.016448f, 0.010548f, 0.004423f, 0.025557f, 0.003322f, -0.013516f, -0.015946f, -0.016432f, 0.013240f, -0.006138f, -0.008761f, 0.023394f, 0.025996f, 0.009077f, -0.017152f, 0.021587f, 0.034507f, -0.012803f, -0.007312f, 0.030008f, 0.007831f, 0.006249f, - -0.019175f, 0.000271f, 0.028419f, -0.041349f, 0.028861f, -0.005934f, 0.004063f, 0.017506f, 0.020923f, 0.000138f, 0.010533f, -0.019308f, -0.015861f, 0.011100f, 0.039620f, 0.010896f, 0.009779f, 0.015266f, -0.019767f, 0.004509f, 0.017662f, 0.010463f, -0.003144f, 0.014432f, 0.008901f, -0.023338f, 0.019358f, -0.022735f, 0.005312f, 0.017203f, -0.018212f, 0.014292f, -0.022256f, -0.008569f, 0.004203f, 0.001156f, 0.014398f, -0.008821f, 0.012359f, -0.009025f, 0.001816f, 0.004922f, -0.004088f, -0.008832f, -0.018011f, 0.048692f, 0.005232f, 0.014845f, -0.021013f, -0.048977f, 0.034863f, -0.033188f, -0.014502f, 0.000144f, -0.007715f, -0.004698f, -0.002896f, -0.013526f, 0.008657f, 0.007302f, 0.003741f, -0.012473f, 0.015843f, 0.012509f, -0.005302f, -0.005107f, 0.004664f, -0.004137f, 0.004384f, -0.004175f, 0.016785f, 0.006501f, 0.001547f, 0.012233f, 0.012545f, -0.006974f, 0.000038f, 0.006339f, 0.008699f, 0.003893f, 0.004136f, -0.007590f, -0.010415f, 0.008672f, 0.010785f, 0.016009f, -0.002230f, -0.013940f, -0.002089f, 0.001697f, 0.006980f, -0.021621f, 0.008212f, -0.006958f, -0.003305f, 0.005500f, - 0.005061f, -0.005040f, 0.007537f, 0.001037f, 0.005963f, -0.003113f, 0.014377f, -0.027069f, 0.028908f, -0.010473f, -0.028344f, -0.036789f, -0.010203f, -0.003630f, 0.021809f, -0.032369f, -0.005106f, -0.003694f, 0.017208f, 0.032404f, 0.026869f, 0.016768f, 0.002674f, -0.008152f, -0.004855f, -0.003196f, 0.022851f, 0.018784f, -0.004259f, 0.003076f, -0.004812f, 0.014743f, -0.035159f, 0.021183f, 0.011753f, 0.016608f, 0.005745f, 0.003921f, 0.030575f, -0.011873f, -0.025744f, 0.000262f, -0.008369f, 0.001892f, -0.035763f, -0.019765f, -0.001951f, 0.030144f, -0.020124f, -0.006295f, 0.005108f, -0.001095f, 0.001045f, 0.029627f, 0.012059f, -0.004462f, 0.002783f, 0.014554f, 0.009720f, 0.034497f, -0.009924f, 0.015819f, 0.017686f, 0.009467f, -0.005374f, 0.005740f, -0.037225f, 0.016112f, -0.006793f, 0.001812f, -0.008380f, -0.020487f, -0.027475f, 0.005742f, -0.012989f, -0.037494f, 0.009249f, -0.031841f, -0.023287f, -0.005418f, -0.047950f, -0.029083f, 0.007443f, 0.020659f, -0.023826f, 0.005298f, 0.002155f, 0.055452f, 0.052742f, 0.049648f, -0.001258f, 0.002888f, -0.025815f, -0.015615f, 0.020928f, -0.011078f, - -0.007084f, 0.003522f, -0.006377f, 0.011723f, -0.013997f, -0.006988f, -0.000266f, 0.004516f, -0.008303f, 0.010760f, 0.010974f, 0.000590f, -0.004308f, 0.003057f, 0.010740f, -0.008381f, -0.010930f, -0.002755f, 0.009699f, -0.012642f, 0.021871f, 0.012527f, -0.000702f, 0.009912f, -0.003151f, -0.008832f, -0.013924f, -0.007595f, -0.012307f, -0.006706f, 0.007707f, 0.001435f, 0.022111f, -0.004934f, -0.006625f, -0.048781f, -0.053973f, 0.032211f, 0.028953f, 0.009754f, 0.031368f, 0.052482f, 0.014979f, -0.019930f, 0.016989f, -0.007905f, -0.014725f, 0.024027f, 0.001798f, -0.021415f, 0.013251f, 0.017307f, 0.004059f, 0.006121f, 0.001390f, 0.002712f, 0.048077f, -0.000988f, 0.010353f, 0.004519f, 0.029864f, 0.001799f, 0.047694f, -0.000182f, -0.020881f, 0.038129f, 0.007864f, -0.016804f, -0.005872f, 0.020205f, -0.004100f, -0.000317f, 0.015863f, -0.028922f, 0.028976f, -0.006071f, -0.042244f, -0.011820f, 0.004234f, -0.042280f, -0.004663f, -0.004389f, 0.018687f, 0.018015f, 0.031912f, -0.022295f, 0.004942f, 0.005093f, 0.006707f, 0.013631f, -0.020184f, -0.022820f, 0.012068f, -0.000538f, 0.024420f, 0.019810f, - 0.006206f, 0.050850f, -0.008383f, -0.007786f, -0.034649f, 0.051883f, 0.009261f, 0.036010f, 0.022130f, -0.057843f, 0.008398f, 0.005292f, 0.035575f, -0.018789f, 0.015225f, 0.000354f, -0.015292f, -0.001886f, -0.012338f, 0.028610f, -0.054656f, -0.006628f, -0.003826f, 0.000245f, 0.002582f, 0.008824f, 0.013507f, -0.000170f, 0.025386f, -0.000965f, -0.003515f, -0.008093f, -0.005148f, 0.001658f, -0.008688f, 0.003001f, -0.002295f, 0.007653f, 0.005457f, -0.002587f, 0.002217f, -0.002944f, -0.015171f, -0.000812f, 0.000866f, 0.003888f, -0.015498f, 0.008364f, -0.003109f, 0.008784f, 0.007031f, 0.012404f, -0.012537f, 0.014492f, -0.007771f, 0.004684f, 0.010554f, 0.009450f, -0.003143f, 0.000337f, -0.005601f, 0.008179f, -0.000388f, 0.003984f, -0.000095f, -0.001699f, 0.021179f, 0.011809f, 0.000395f, 0.009762f, 0.003024f, 0.010139f, 0.031944f, -0.067485f, 0.040060f, 0.040762f, -0.017407f, 0.009687f, 0.005656f, 0.011030f, 0.000267f, 0.032456f, -0.023681f, -0.005109f, -0.025406f, -0.000208f, -0.014371f, 0.002293f, 0.006794f, -0.037010f, 0.016621f, 0.040232f, -0.027712f, -0.026506f, -0.027117f, 0.053567f, - -0.023441f, -0.013125f, 0.004935f, -0.018325f, -0.055543f, 0.009782f, 0.040233f, -0.055285f, -0.025118f, 0.019144f, 0.029620f, 0.008090f, -0.008473f, 0.012845f, -0.019689f, -0.009158f, -0.001092f, 0.027434f, -0.037709f, -0.029887f, 0.021175f, 0.034452f, 0.013473f, -0.042939f, -0.013994f, 0.001121f, -0.002074f, -0.007416f, 0.022363f, -0.006609f, 0.033796f, -0.027514f, -0.006104f, 0.000019f, -0.031663f, 0.020086f, -0.036847f, -0.025201f, 0.011634f, -0.016356f, 0.035634f, 0.051757f, 0.030391f, -0.034091f, 0.018008f, -0.009961f, -0.010345f, -0.024029f, -0.007613f, -0.039219f, 0.029961f, 0.022237f, 0.010592f, 0.001293f, -0.018705f, -0.010324f, 0.012047f, -0.040925f, 0.033019f, -0.007706f, -0.005754f, 0.017466f, 0.002979f, 0.015923f, -0.004584f, -0.002340f, -0.014129f, -0.003906f, 0.001228f, 0.002952f, -0.011107f, -0.003708f, -0.005351f, -0.003798f, 0.018509f, 0.002143f, -0.000408f, -0.008738f, 0.007460f, 0.007584f, -0.006712f, 0.004276f, 0.008426f, 0.002091f, 0.014256f, -0.004950f, -0.010208f, 0.002269f, -0.016581f, 0.008713f, 0.006042f, 0.002329f, -0.000612f, 0.006769f, -0.001501f, 0.010932f, - 0.003338f, 0.007851f, -0.013139f, -0.003710f, 0.012057f, 0.000906f, 0.004853f, 0.006459f, -0.012256f, 0.002014f, 0.012391f, 0.039156f, 0.065289f, -0.000498f, -0.049479f, 0.010448f, -0.059035f, 0.010079f, 0.026766f, 0.012569f, 0.003525f, 0.035447f, 0.026198f, -0.001613f, -0.005444f, -0.048804f, -0.026325f, 0.000698f, -0.022868f, 0.066050f, -0.012093f, -0.015006f, -0.028567f, 0.003533f, 0.024812f, 0.017365f, -0.000946f, 0.012752f, 0.019318f, -0.029333f, 0.009989f, 0.056671f, 0.020033f, -0.038931f, -0.027474f, 0.018389f, -0.019286f, -0.002650f, 0.013766f, -0.008644f, -0.032159f, -0.007689f, 0.003851f, 0.054000f, -0.011741f, 0.011982f, -0.014422f, -0.043667f, 0.007590f, 0.054785f, -0.014789f, -0.032870f, 0.009526f, -0.020136f, 0.013368f, -0.011512f, -0.013420f, 0.037649f, -0.009679f, -0.004309f, 0.018380f, -0.032468f, 0.011674f, 0.039846f, -0.016533f, 0.003418f, -0.023399f, 0.070074f, -0.012784f, 0.008350f, 0.022715f, -0.016286f, -0.003928f, -0.018720f, 0.009802f, -0.021153f, -0.017867f, -0.016688f, 0.026825f, -0.036443f, 0.005330f, -0.005402f, -0.010885f, 0.028317f, 0.000623f, -0.009681f, - -0.012041f, 0.001474f, 0.010622f, 0.008262f, -0.016234f, -0.002961f, 0.000723f, -0.004537f, -0.020086f, -0.012085f, -0.003660f, 0.004771f, 0.001611f, 0.001606f, 0.002807f, 0.016341f, -0.016516f, 0.017179f, 0.003391f, 0.004950f, 0.001151f, 0.013616f, -0.007735f, 0.022369f, -0.004930f, -0.000369f, 0.017154f, 0.022469f, -0.011780f, 0.014680f, -0.007362f, 0.004903f, -0.013059f, 0.011342f, 0.009542f, -0.019436f, -0.000984f, -0.007797f, -0.002675f, -0.009739f, 0.007002f, -0.011979f, 0.010732f, -0.019022f, -0.108109f, -0.037872f, -0.001950f, 0.034561f, -0.018122f, -0.054103f, -0.020378f, -0.007917f, 0.026515f, 0.006910f, -0.007218f, -0.026750f, 0.028272f, 0.050198f, -0.022776f, 0.037951f, 0.009525f, -0.071833f, 0.026810f, 0.033737f, -0.011828f, -0.029202f, -0.005468f, 0.044291f, 0.047262f, -0.003901f, -0.035823f, 0.002517f, -0.004082f, -0.004620f, -0.029852f, 0.007397f, 0.013634f, -0.047364f, 0.032714f, 0.027814f, -0.033404f, 0.006210f, -0.037477f, 0.013296f, 0.091635f, -0.081844f, 0.084723f, 0.038345f, 0.003843f, 0.051832f, 0.025768f, -0.052969f, 0.031877f, -0.039822f, -0.008917f, 0.043568f, - 0.002063f, 0.012506f, -0.022231f, -0.038778f, 0.118078f, -0.027703f, 0.001737f, 0.046547f, -0.022438f, 0.009114f, 0.003587f, 0.028775f, 0.066535f, 0.063230f, 0.059848f, 0.003769f, -0.001132f, -0.009580f, 0.003075f, -0.016119f, 0.004528f, 0.050794f, -0.013404f, -0.017563f, 0.005114f, 0.007066f, 0.029504f, 0.034368f, 0.009827f, 0.009671f, 0.024429f, 0.010409f, -0.018583f, 0.006126f, -0.009566f, -0.027527f, -0.012340f, 0.014541f, -0.020736f, -0.029885f, -0.022686f, -0.000996f, 0.002788f, -0.017111f, 0.008855f, 0.019469f, 0.003068f, -0.006233f, -0.001109f, -0.021823f, 0.025972f, -0.003760f, -0.005600f, 0.018003f, -0.014787f, 0.012258f, -0.011055f, -0.008835f, 0.030563f, -0.000051f, -0.022593f, 0.028976f, -0.017702f, 0.017494f, 0.008227f, -0.011284f, 0.008770f, -0.003925f, 0.021124f, -0.009588f, 0.007414f, 0.001105f, 0.001825f, -0.002170f, 0.022483f, -0.011448f, -0.002565f, -0.001555f, 0.004056f, -0.003188f, 0.009844f, 0.027669f, -0.007321f, -0.079779f, 0.036232f, -0.057965f, 0.081494f, 0.009601f, -0.070866f, 0.015965f, 0.000635f, 0.033252f, 0.015706f, -0.017183f, 0.060312f, 0.014688f, - 0.003076f, 0.040234f, -0.032179f, -0.044807f, 0.001480f, 0.023400f, 0.081289f, -0.011476f, 0.000231f, -0.008557f, 0.058595f, 0.006332f, -0.046497f, -0.027548f, 0.008836f, -0.005202f, 0.025961f, -0.045264f, 0.021753f, 0.007322f, 0.013426f, -0.004101f, -0.017629f, 0.010227f, 0.018213f, 0.000119f, 0.054460f, -0.087814f, 0.007716f, -0.031022f, -0.019187f, -0.011400f, -0.064108f, -0.093312f, -0.096452f, -0.070242f, 0.007501f, 0.000265f, -0.055918f, -0.000549f, -0.010140f, 0.005936f, -0.034674f, -0.089926f, 0.088580f, -0.001695f, -0.013006f, 0.017920f, -0.087742f, -0.006151f, -0.021792f, 0.016359f, 0.025866f, 0.120450f, 0.089939f, -0.010209f, -0.001029f, -0.002982f, 0.023762f, 0.036315f, 0.022201f, 0.016486f, -0.003297f, -0.014715f, -0.085347f, 0.015978f, -0.001678f, -0.033483f, -0.014854f, 0.055638f, -0.007758f, -0.010358f, 0.026729f, -0.002442f, 0.029314f, -0.011559f, 0.014771f, -0.001830f, -0.006010f, 0.020436f, 0.025316f, -0.011721f, 0.003647f, 0.010955f, -0.004612f, 0.005041f, 0.001412f, -0.000547f, 0.017332f, -0.007554f, -0.008641f, 0.014000f, -0.016531f, 0.021801f, 0.000004f, 0.011665f, - 0.018512f, -0.009506f, 0.004695f, 0.015723f, -0.003702f, -0.010820f, -0.003743f, 0.001494f, -0.002756f, 0.004066f, -0.021553f, -0.001704f, -0.017033f, 0.017762f, 0.002866f, 0.011839f, 0.008814f, -0.002950f, 0.000722f, -0.001559f, 0.008451f, 0.010888f, 0.009441f, -0.022649f, 0.109770f, -0.104521f, 0.018059f, -0.020022f, 0.004187f, 0.044420f, -0.032182f, 0.011210f, 0.001809f, -0.113090f, 0.002933f, -0.012558f, 0.005623f, 0.013239f, -0.050465f, -0.018710f, -0.083625f, -0.021432f, -0.003968f, 0.004736f, -0.031582f, -0.023670f, -0.036364f, -0.015048f, 0.036308f, 0.008051f, 0.073215f, 0.018064f, -0.024612f, -0.025769f, 0.045030f, -0.049801f, 0.086100f, -0.067022f, 0.019677f, -0.054038f, 0.001225f, 0.051904f, -0.093867f, 0.088706f, 0.015743f, 0.010410f, -0.064425f, -0.012723f, -0.012133f, 0.000184f, 0.031079f, 0.031092f, 0.039092f, -0.074322f, -0.001769f, -0.029111f, -0.025271f, -0.028494f, -0.040051f, -0.027593f, 0.001523f, 0.042870f, -0.045458f, 0.012470f, -0.083795f, -0.027883f, 0.021348f, 0.025191f, 0.004667f, -0.095270f, -0.051532f, -0.033815f, -0.048505f, -0.040076f, 0.003523f, -0.031526f, - 0.050944f, 0.015464f, 0.025604f, -0.017402f, -0.026176f, 0.085366f, -0.028396f, 0.023114f, -0.016951f, 0.006860f, 0.064124f, 0.008803f, 0.011726f, -0.035573f, 0.036525f, 0.021359f, -0.014834f, 0.034004f, -0.025137f, 0.009570f, -0.009196f, 0.023117f, 0.004791f, -0.007352f, 0.012617f, 0.029381f, -0.009722f, 0.009603f, 0.010588f, 0.009010f, -0.003208f, 0.008143f, -0.003902f, 0.020282f, -0.006354f, 0.003644f, 0.019171f, -0.003594f, -0.007078f, 0.006160f, 0.008473f, -0.012670f, -0.002574f, -0.035793f, 0.022972f, 0.015816f, 0.000465f, -0.019685f, -0.007863f, 0.002165f, 0.007920f, 0.027949f, -0.004153f, -0.007155f, 0.009984f, 0.007480f, -0.003755f, 0.028291f, 0.005681f, -0.033595f, 0.009300f, 0.034044f, 0.047696f, -0.088330f, 0.135970f, -0.101449f, -0.010224f, -0.061011f, 0.012643f, 0.001831f, -0.036672f, -0.052120f, 0.062075f, 0.041861f, 0.019852f, -0.026368f, 0.027680f, 0.008920f, 0.058644f, -0.045514f, -0.029881f, 0.036606f, 0.060946f, -0.076621f, 0.031644f, -0.002301f, 0.037152f, -0.027342f, 0.011216f, -0.033725f, 0.007518f, -0.063577f, 0.021482f, 0.069088f, -0.001818f, -0.004845f, - 0.085786f, 0.015287f, -0.038870f, -0.082916f, 0.071742f, -0.037254f, 0.032614f, -0.030178f, 0.085671f, 0.038003f, -0.008903f, 0.009166f, -0.048852f, 0.006990f, 0.021680f, -0.023424f, 0.024269f, -0.102713f, 0.040928f, 0.093910f, 0.073594f, -0.040085f, -0.041523f, -0.041824f, 0.047808f, 0.004211f, -0.014519f, 0.004212f, 0.121262f, -0.058546f, -0.027016f, 0.047146f, -0.039728f, -0.108670f, 0.046825f, 0.024758f, -0.077425f, 0.044104f, 0.075998f, 0.066968f, -0.019830f, -0.029412f, -0.052635f, 0.028870f, -0.032278f, -0.020652f, 0.048966f, 0.033328f, 0.015519f, 0.042847f, 0.024533f, -0.016109f, -0.014764f, -0.054514f, 0.013370f, -0.022715f, 0.019581f, -0.020008f, 0.039708f, 0.027334f, 0.006565f, -0.007041f, 0.037796f, -0.020043f, -0.002282f, 0.005093f, 0.014891f, 0.008905f, 0.017802f, 0.016045f, 0.001908f, -0.008718f, -0.004713f, 0.013497f, 0.007623f, 0.005570f, 0.002469f, 0.021083f, 0.068046f, -0.001809f, -0.004664f, 0.010289f, -0.022747f, 0.008508f, 0.024938f, -0.034542f, 0.015974f, 0.018148f, -0.012604f, -0.009570f, 0.016548f, 0.009074f, -0.019332f, -0.087430f, 0.046632f, -0.005171f, - 0.012142f, -0.032089f, 0.027942f, 0.000518f, 0.015322f, 0.004572f, 0.005074f, -0.018296f, 0.013918f, 0.047198f, -0.060370f, 0.051792f, -0.008852f, -0.031994f, 0.010692f, -0.021811f, 0.014078f, -0.022350f, -0.018223f, 0.015208f, -0.048112f, -0.005100f, 0.064194f, -0.092781f, 0.026185f, 0.004237f, -0.015429f, -0.028656f, -0.033596f, -0.022099f, 0.067388f, -0.055634f, -0.007843f, 0.021536f, -0.056207f, 0.014062f, 0.031025f, 0.020437f, 0.010710f, 0.009495f, -0.031631f, 0.024758f, -0.082696f, 0.000897f, 0.072687f, -0.030602f, -0.007983f, -0.016557f, -0.020283f, -0.000872f, -0.058447f, 0.030777f, 0.023766f, -0.048795f, 0.045703f, 0.012351f, -0.055047f, 0.022407f, -0.010497f, 0.039754f, 0.035196f, -0.051756f, 0.018214f, 0.056750f, -0.053519f, 0.029736f, -0.038021f, 0.029790f, 0.035231f, -0.055003f, 0.031070f, -0.004336f, -0.028626f, 0.041272f, 0.002528f, -0.066106f, 0.020539f, 0.028806f, 0.009183f, -0.018698f, 0.003559f, 0.049369f, -0.022643f, -0.047007f, 0.049962f, -0.002542f, 0.004174f, -0.002610f, -0.005820f, 0.030033f, -0.022315f, -0.011373f, 0.022028f, 0.007791f, -0.004843f, -0.022795f, - 0.033386f, -0.012990f, -0.021075f, 0.001299f, 0.017825f, -0.010834f, -0.007468f, -0.005660f, 0.026251f, -0.020583f, -0.009824f, 0.001321f, 0.014535f, -0.012909f, 0.010607f, -0.001038f, 0.026109f, -0.016701f, 0.004677f, 0.001564f, 0.003168f, 0.044870f, -0.015607f, -0.198215f, -0.436910f, -0.171812f, -0.289616f, -0.395274f, 0.152581f, 0.055748f, 0.132066f, 0.593700f, 0.494953f, 0.327030f, 0.510133f, 0.347351f, 0.043343f, 0.087996f, 0.064316f, -0.268843f, -0.172681f, -0.118327f, -0.307860f, -0.314285f, -0.085536f, -0.086463f, -0.194581f, -0.056680f, -0.040370f, -0.234803f, -0.201615f, -0.064259f, -0.110074f, -0.221678f, -0.052681f, -0.035689f, -0.173254f, -0.018482f, 0.123704f, -0.051064f, -0.040848f, 0.181689f, 0.112204f, -0.071635f, 0.161203f, 0.264671f, 0.031165f, 0.149654f, 0.324449f, 0.159570f, 0.083338f, 0.349824f, 0.256277f, 0.191057f, 0.424394f, 0.573489f, 0.454026f, 0.526990f, 0.682395f, 0.446247f, 0.292730f, 0.383364f, 0.247652f, -0.066689f, -0.015039f, -0.167490f, -0.417786f, -0.591425f, -0.636369f, -0.852434f, -0.969938f, -1.029890f, -0.996240f, -0.957358f, -0.951830f, -0.794754f, - -0.607901f, -0.570375f, -0.371663f, 0.031538f, 0.160057f, 0.207077f, 0.624050f, 0.612434f, 0.422938f, 0.622205f, 0.570427f, 0.310240f, 0.301554f, 0.397390f, 0.241042f, 0.114277f, 0.278441f, 0.284011f, 0.128481f, 0.229757f, 0.346069f, 0.229952f, 0.137516f, 0.294596f, 0.244284f, 0.050237f, 0.150206f, 0.216972f, 0.025543f, 0.042259f, 0.237369f, 0.145671f, 0.079078f, 0.251482f, 0.249334f, 0.091816f, 0.198900f, 0.171828f, -0.043170f, -0.122414f, -0.126897f, -0.293807f, -0.398192f, -0.393268f, -0.454069f, -0.500762f, -0.519297f, -0.508481f, -0.521601f, -0.580279f, -0.600304f, -0.574445f, -0.640849f, -0.548826f, -0.373733f, -0.285945f, -0.097316f, 0.165611f, 0.346888f, 0.507801f, 0.655718f, 0.666493f, 0.570764f, 0.518145f, 0.425676f, 0.321882f, 0.259478f, 0.217868f, 0.175933f, 0.137005f, 0.124075f, 0.114340f, 0.084049f, 0.069875f, 0.061516f, 0.029737f, -0.006509f, -0.029541f, -0.064277f, -0.097353f, -0.102401f, -0.081711f, -0.060102f, -0.044858f, -0.039543f} - }, - { - {-0.007421f, 0.004520f, 0.007240f, -0.002552f, 0.006434f, -0.001045f, 0.006791f, 0.003417f, -0.001493f, -0.002659f, 0.006879f, 0.000582f, 0.001372f, -0.007819f, -0.001254f, -0.000562f, -0.000349f, 0.010692f, 0.005223f, -0.000389f, -0.008021f, -0.005832f, -0.003451f, 0.000980f, -0.000184f, 0.002317f, 0.004915f, 0.001498f, 0.001813f, -0.008094f, -0.001246f, -0.007878f, 0.000316f, -0.004356f, 0.005159f, 0.005153f, -0.002056f, -0.004250f, 0.005393f, 0.001156f, -0.002025f, -0.007283f, -0.000990f, -0.004671f, 0.001307f, 0.004456f, -0.007392f, -0.003606f, -0.001237f, -0.002890f, 0.018863f, 0.004495f, 0.010889f, 0.000794f, 0.003571f, -0.000080f, -0.005453f, -0.005055f, -0.006438f, 0.003042f, -0.005312f, 0.003821f, 0.000117f, 0.004664f, 0.004767f, 0.011584f, 0.003492f, -0.000959f, -0.000590f, -0.006879f, 0.011215f, 0.010323f, 0.001801f, 0.003184f, 0.002920f, 0.003195f, -0.000659f, -0.005759f, 0.001710f, 0.003332f, -0.002170f, 0.000964f, -0.001779f, -0.005264f, 0.002499f, -0.004391f, -0.002989f, -0.001368f, 0.000342f, -0.001965f, -0.002140f, -0.002503f, -0.000064f, -0.000140f, -0.000404f, 0.000504f, - -0.000889f, 0.001673f, -0.000944f, -0.001567f, -0.000164f, 0.002099f, 0.000778f, -0.000864f, -0.002838f, -0.000836f, 0.002599f, 0.000172f, 0.001164f, 0.001030f, 0.026068f, -0.006168f, -0.005454f, -0.002118f, -0.005164f, 0.001196f, -0.012395f, 0.000966f, 0.002467f, 0.000630f, 0.008422f, 0.000964f, -0.001741f, -0.007443f, 0.004764f, -0.010492f, -0.009046f, 0.003265f, -0.004413f, -0.002110f, -0.001565f, 0.001748f, 0.007070f, 0.009677f, 0.000726f, -0.001502f, 0.011503f, 0.004147f, -0.000671f, 0.000419f, -0.004703f, 0.000145f, 0.012626f, 0.000005f, -0.005870f, -0.004747f, -0.001365f, 0.004284f, -0.005845f, -0.007203f, -0.007359f, -0.006020f, 0.005761f, -0.005664f, 0.002154f, -0.006882f, 0.002420f, 0.008331f, 0.000543f, 0.005920f, -0.002519f, -0.004698f, -0.002326f, 0.004107f, -0.000252f, 0.006356f, 0.009295f, 0.001363f, -0.002814f, -0.004810f, -0.000244f, -0.000712f, 0.000424f, 0.000295f, -0.008199f, -0.000866f, -0.003833f, -0.004170f, 0.003970f, 0.000842f, 0.002547f, 0.003018f, -0.009756f, -0.005437f, 0.004040f, -0.001825f, 0.007205f, 0.001309f, 0.006070f, -0.001242f, -0.001552f, -0.001678f, - -0.003535f, -0.000829f, -0.003893f, -0.001565f, 0.000108f, 0.005684f, -0.001375f, -0.000128f, -0.000987f, 0.001801f, -0.000053f, 0.002191f, 0.000435f, -0.000479f, -0.001438f, 0.001765f, -0.002794f, 0.000013f, 0.000143f, -0.001586f, 0.001306f, 0.001672f, -0.002360f, 0.000790f, -0.001167f, 0.001016f, 0.000984f, -0.000007f, 0.001672f, 0.000179f, -0.000874f, -0.018612f, -0.009196f, -0.004034f, -0.012731f, -0.004436f, -0.012223f, 0.003552f, -0.001108f, -0.007629f, -0.008792f, -0.001342f, -0.007189f, -0.000212f, 0.005907f, -0.000488f, -0.010917f, -0.004080f, 0.000123f, -0.004297f, -0.003564f, 0.003107f, 0.010213f, 0.013096f, -0.002155f, -0.003551f, 0.007342f, 0.008349f, -0.002654f, -0.001990f, -0.001710f, -0.005970f, 0.001767f, 0.002692f, -0.005377f, -0.004044f, -0.001281f, 0.005024f, 0.011180f, 0.000690f, -0.003816f, -0.000038f, -0.005693f, -0.002129f, -0.009030f, -0.004276f, -0.004028f, -0.014266f, -0.001549f, -0.006500f, -0.004519f, -0.015658f, 0.009655f, -0.006842f, -0.006064f, 0.002732f, -0.001008f, -0.001170f, 0.002009f, -0.013018f, -0.003406f, -0.004696f, -0.001064f, -0.007537f, -0.001058f, -0.003575f, - 0.003405f, 0.004458f, -0.004257f, -0.002301f, -0.006235f, 0.002152f, -0.000959f, -0.001314f, -0.000012f, -0.009653f, -0.000257f, -0.008729f, 0.001304f, -0.000636f, -0.002763f, 0.002515f, 0.010528f, 0.004984f, -0.002509f, 0.000527f, -0.001870f, -0.004151f, 0.000384f, 0.001588f, -0.002086f, -0.000342f, -0.002578f, 0.000023f, -0.001074f, -0.003228f, 0.001261f, 0.001181f, -0.003371f, -0.001616f, 0.000894f, -0.001454f, 0.000441f, -0.002234f, -0.001721f, -0.001824f, -0.003148f, -0.003442f, -0.000276f, 0.000817f, -0.001745f, -0.002097f, -0.000015f, -0.001017f, -0.000443f, -0.001155f, -0.000033f, -0.000677f, -0.001153f, -0.002851f, 0.001494f, -0.001038f, -0.001356f, -0.001412f, -0.034422f, -0.002704f, -0.016958f, 0.015260f, -0.008821f, 0.027456f, -0.017538f, 0.017314f, -0.015542f, -0.000920f, -0.000209f, -0.011977f, 0.009354f, 0.000359f, -0.004444f, 0.002827f, -0.003885f, -0.001555f, -0.011655f, -0.000092f, -0.008787f, 0.006999f, 0.002472f, 0.008564f, -0.004981f, 0.012769f, 0.011510f, -0.011124f, 0.003170f, -0.009456f, 0.010119f, 0.000110f, -0.007009f, 0.000608f, -0.000954f, -0.000348f, 0.007438f, 0.001102f, - -0.010958f, 0.004555f, 0.007957f, -0.000507f, 0.009390f, -0.004332f, 0.007665f, -0.011389f, -0.005759f, 0.007496f, -0.006515f, 0.001908f, 0.010110f, -0.009145f, 0.014917f, 0.005896f, -0.014642f, 0.003585f, -0.014103f, 0.005104f, 0.007937f, 0.005346f, 0.007644f, 0.010940f, 0.003736f, -0.001331f, -0.000833f, 0.000737f, 0.003510f, 0.007866f, -0.002664f, 0.014852f, 0.002928f, 0.010181f, 0.005574f, 0.002966f, 0.000781f, 0.010214f, 0.001894f, 0.002544f, -0.005792f, -0.007949f, 0.004118f, 0.005516f, 0.000658f, 0.008782f, -0.000979f, -0.000060f, -0.001561f, 0.010426f, 0.003213f, -0.003714f, 0.002428f, 0.001786f, 0.001567f, 0.003559f, 0.000612f, 0.006491f, -0.000947f, 0.002241f, 0.001296f, 0.002487f, -0.001569f, 0.001244f, 0.000685f, 0.000153f, 0.000649f, -0.002202f, -0.001916f, 0.000827f, -0.002375f, -0.001084f, -0.002580f, 0.001701f, 0.000038f, 0.022749f, 0.000128f, -0.006191f, -0.002075f, -0.008485f, -0.010130f, 0.016613f, -0.003224f, -0.002419f, 0.015248f, -0.001181f, -0.002942f, 0.006742f, 0.011867f, 0.003384f, 0.005897f, -0.000305f, -0.012944f, -0.003433f, 0.009739f, -0.014761f, - -0.014611f, -0.005484f, 0.003210f, -0.010411f, -0.006246f, 0.000202f, -0.001449f, 0.010220f, -0.003933f, -0.002249f, 0.010794f, 0.014991f, -0.012986f, 0.003390f, -0.003086f, 0.005464f, 0.001509f, -0.005779f, -0.001242f, 0.006228f, 0.009580f, -0.002580f, -0.013482f, -0.003051f, -0.001174f, -0.003576f, -0.006720f, 0.000965f, -0.000839f, 0.002445f, -0.001842f, 0.001862f, 0.012633f, -0.009345f, 0.001227f, -0.007122f, -0.005741f, -0.009784f, -0.002925f, -0.005661f, -0.013481f, -0.000503f, 0.000945f, -0.005276f, -0.001015f, -0.005584f, 0.005229f, 0.006539f, -0.001011f, 0.001931f, -0.004842f, -0.001372f, 0.016323f, -0.002181f, -0.006739f, -0.022158f, -0.010058f, -0.000318f, -0.007543f, 0.005080f, -0.002126f, 0.001875f, -0.000006f, -0.004479f, -0.000821f, 0.006414f, -0.005426f, 0.001234f, -0.001517f, 0.000592f, 0.000031f, -0.004670f, -0.003414f, -0.001988f, -0.003560f, -0.000752f, -0.005646f, -0.001219f, -0.003195f, 0.000587f, -0.002224f, -0.000773f, -0.003037f, -0.003331f, -0.003218f, -0.000872f, -0.000330f, 0.001118f, 0.000849f, -0.000488f, 0.000938f, 0.000709f, -0.000161f, 0.003118f, 0.002758f, -0.000088f, - 0.001641f, -0.001352f, -0.001704f, 0.000344f, 0.029490f, 0.033140f, 0.006308f, -0.012053f, 0.007551f, 0.013069f, 0.013109f, 0.007399f, 0.009904f, 0.004438f, 0.016212f, -0.001636f, -0.001978f, -0.006602f, 0.010181f, -0.005956f, -0.014259f, -0.019652f, 0.002275f, -0.009419f, -0.008102f, 0.006966f, -0.002052f, -0.005218f, 0.016568f, -0.001175f, 0.020580f, 0.000232f, -0.008104f, -0.005543f, 0.007239f, 0.004807f, -0.004024f, -0.016263f, 0.023507f, 0.013592f, 0.000166f, 0.012746f, 0.007633f, 0.008296f, -0.007665f, 0.009365f, 0.004806f, 0.001901f, -0.002798f, -0.004168f, -0.010313f, -0.014585f, 0.004175f, 0.007098f, -0.011338f, 0.004598f, 0.009883f, 0.014697f, 0.003936f, 0.013281f, 0.006207f, 0.011320f, -0.016533f, 0.004963f, 0.001590f, 0.003368f, 0.000484f, -0.001099f, 0.007114f, 0.006440f, 0.006294f, 0.009087f, -0.002917f, 0.004435f, 0.002675f, 0.013058f, 0.016020f, -0.008022f, -0.009368f, 0.001471f, -0.003773f, -0.008430f, 0.003635f, 0.008872f, -0.005370f, 0.003786f, -0.015865f, -0.011667f, 0.002786f, -0.008037f, -0.003719f, -0.002565f, -0.007160f, 0.000076f, -0.000009f, 0.000972f, - -0.000084f, 0.003222f, 0.003848f, -0.000197f, 0.001991f, 0.000709f, 0.002936f, 0.003078f, 0.000135f, 0.000284f, -0.000097f, 0.003361f, 0.001770f, 0.001885f, 0.004180f, -0.000645f, -0.001983f, 0.003138f, -0.000784f, 0.000054f, 0.004787f, 0.002956f, 0.004538f, 0.006136f, 0.001049f, 0.002790f, 0.001738f, 0.004089f, 0.027083f, 0.008566f, 0.011963f, -0.009899f, 0.003932f, -0.024505f, 0.001328f, -0.017699f, 0.013424f, 0.009041f, -0.007454f, 0.011311f, 0.006426f, -0.011975f, -0.002969f, 0.017365f, -0.000559f, 0.011967f, -0.003264f, 0.002427f, 0.013840f, -0.017175f, -0.001320f, 0.002850f, 0.005062f, 0.001186f, 0.005568f, 0.000762f, 0.016781f, -0.007738f, -0.004819f, -0.005028f, 0.012688f, 0.001655f, -0.005957f, 0.007749f, 0.021394f, -0.014891f, 0.002644f, 0.002929f, -0.001300f, 0.008688f, -0.004328f, 0.016397f, 0.005491f, 0.004193f, -0.013405f, -0.001270f, -0.003559f, 0.007640f, 0.005692f, 0.008250f, -0.009213f, -0.005943f, 0.007775f, -0.015981f, -0.009003f, 0.003715f, 0.017247f, 0.010540f, 0.015249f, -0.016568f, -0.005291f, -0.016836f, -0.004404f, 0.005217f, -0.001468f, -0.015876f, - 0.002069f, -0.009693f, -0.000168f, -0.017377f, -0.021202f, -0.008550f, -0.015315f, 0.000976f, 0.005367f, 0.003146f, -0.006575f, 0.008552f, 0.013531f, 0.003917f, 0.003963f, 0.007919f, -0.002499f, -0.012897f, -0.000841f, -0.008833f, 0.004634f, 0.001613f, -0.000930f, 0.002550f, 0.001161f, -0.009405f, -0.004932f, -0.002578f, 0.004723f, 0.000828f, -0.003408f, -0.001005f, -0.000357f, -0.001249f, 0.000722f, -0.001792f, -0.000956f, 0.000825f, 0.004284f, 0.001264f, 0.001340f, 0.001148f, -0.000927f, 0.001453f, 0.002830f, 0.001673f, 0.003705f, 0.001309f, 0.001876f, 0.000407f, 0.002913f, -0.004483f, -0.031929f, -0.028794f, -0.020721f, 0.006284f, 0.006364f, 0.023859f, -0.010590f, 0.022658f, -0.009307f, -0.037473f, -0.003374f, -0.003520f, -0.014527f, -0.024260f, -0.008890f, -0.000571f, -0.014978f, -0.000171f, -0.023021f, 0.001637f, -0.024267f, 0.013824f, -0.006149f, 0.010058f, -0.004806f, -0.000478f, -0.007584f, -0.008791f, 0.014898f, 0.002882f, -0.004418f, 0.016913f, 0.001836f, 0.002677f, 0.005761f, 0.015559f, 0.013647f, 0.010401f, 0.000193f, -0.018541f, -0.002003f, 0.008820f, 0.002616f, 0.011268f, - -0.005512f, 0.004986f, -0.027222f, 0.008518f, 0.016283f, -0.020621f, 0.012011f, 0.004162f, 0.019273f, 0.014742f, -0.000141f, -0.005188f, -0.000588f, 0.013068f, 0.006365f, -0.017402f, -0.014215f, -0.024034f, -0.011723f, -0.016164f, -0.003778f, -0.019981f, -0.004375f, -0.006766f, 0.020129f, -0.009555f, 0.009874f, -0.005356f, -0.003110f, -0.006710f, -0.014163f, -0.007599f, -0.004655f, -0.004775f, 0.012610f, -0.038462f, -0.008332f, 0.017824f, 0.000663f, 0.003325f, 0.009438f, 0.018048f, -0.011566f, 0.002050f, 0.004655f, -0.000969f, -0.000347f, -0.002787f, 0.004797f, 0.007387f, -0.003464f, 0.000481f, -0.000915f, 0.008265f, -0.003298f, -0.000386f, 0.008271f, 0.001593f, 0.002790f, 0.003774f, 0.003781f, -0.001533f, 0.000518f, -0.002407f, -0.003480f, -0.002008f, -0.006019f, 0.001537f, 0.003619f, 0.002490f, 0.001330f, -0.007726f, -0.000172f, -0.001158f, -0.000559f, -0.003704f, 0.001901f, 0.003239f, -0.002038f, -0.000522f, 0.003805f, 0.004108f, -0.041933f, 0.032485f, -0.008928f, 0.019277f, 0.011287f, -0.000605f, -0.027680f, 0.022115f, 0.003156f, -0.001762f, 0.014027f, 0.009994f, -0.011339f, -0.000033f, - 0.023798f, 0.008002f, -0.010519f, 0.016931f, -0.009027f, -0.007230f, -0.004913f, 0.005536f, 0.000264f, -0.002914f, 0.002424f, 0.007343f, 0.006579f, 0.006763f, -0.017259f, 0.010900f, -0.014316f, 0.019819f, -0.012097f, 0.019726f, 0.006441f, 0.002008f, -0.019072f, -0.019383f, -0.006337f, -0.006369f, 0.022922f, 0.006577f, 0.018358f, 0.007777f, -0.016153f, 0.000753f, -0.003579f, 0.007946f, 0.000571f, 0.007011f, -0.001912f, -0.010829f, -0.006293f, 0.011693f, 0.028999f, 0.020947f, 0.002457f, 0.007278f, -0.001983f, -0.003929f, 0.014925f, 0.012550f, -0.005205f, 0.018410f, 0.025909f, 0.036193f, 0.000874f, -0.020562f, -0.024812f, 0.008807f, 0.004621f, -0.000925f, 0.006369f, 0.000247f, -0.007879f, -0.000806f, 0.021904f, -0.003847f, -0.009418f, 0.038946f, 0.009916f, -0.006441f, 0.011530f, 0.000395f, -0.000288f, -0.001093f, -0.006034f, -0.000739f, 0.011933f, 0.005995f, -0.003659f, -0.005545f, 0.008415f, 0.006848f, -0.000406f, 0.015911f, 0.004708f, 0.003122f, 0.001870f, 0.007230f, 0.002889f, 0.006785f, 0.004746f, 0.002478f, 0.001507f, 0.008513f, 0.004825f, 0.004619f, 0.001435f, 0.008455f, - -0.000846f, 0.003423f, 0.005164f, 0.003616f, -0.000418f, 0.009433f, 0.010844f, 0.003466f, -0.001429f, 0.011249f, 0.001164f, -0.004872f, -0.000558f, 0.008292f, 0.000779f, -0.000413f, -0.001339f, -0.001184f, 0.000788f, 0.002384f, 0.005617f, 0.019561f, -0.028556f, 0.024074f, 0.009921f, -0.019496f, 0.045732f, 0.006894f, -0.023292f, 0.005431f, 0.012772f, 0.001243f, 0.009242f, 0.032819f, -0.031311f, 0.020497f, -0.012625f, 0.018183f, -0.006855f, 0.003901f, -0.028984f, 0.004964f, -0.003076f, 0.011704f, -0.011056f, 0.001648f, 0.002319f, 0.000326f, -0.016964f, 0.016390f, 0.001823f, -0.001757f, 0.007819f, -0.003252f, 0.007711f, -0.004049f, 0.023192f, 0.018220f, 0.022963f, 0.022733f, -0.003548f, 0.007945f, 0.009980f, 0.001009f, -0.011800f, 0.016071f, -0.018912f, 0.005880f, 0.019050f, -0.011247f, 0.010171f, -0.021126f, 0.006911f, -0.001856f, -0.004854f, -0.001844f, 0.001796f, 0.006502f, 0.006465f, 0.022216f, -0.014402f, -0.000742f, 0.014919f, 0.031658f, -0.027894f, 0.007161f, -0.006695f, 0.009589f, -0.004953f, 0.046238f, -0.028273f, 0.010112f, -0.015652f, -0.008865f, 0.004368f, 0.004779f, - 0.002802f, -0.040549f, -0.021093f, 0.033372f, 0.018587f, -0.003758f, -0.017824f, -0.021020f, -0.008026f, 0.007382f, -0.022235f, -0.012388f, 0.011372f, 0.006096f, -0.000162f, -0.000755f, -0.015454f, 0.002827f, -0.004272f, -0.006067f, 0.007535f, -0.004009f, -0.004532f, -0.001998f, -0.013452f, 0.004525f, -0.003227f, -0.004846f, -0.004662f, 0.006101f, -0.006290f, 0.007463f, -0.000829f, -0.002165f, 0.002999f, 0.002494f, 0.010286f, -0.010428f, -0.001778f, -0.008004f, -0.001251f, 0.004692f, 0.004168f, 0.012714f, -0.003833f, 0.006874f, 0.002040f, -0.005068f, 0.021342f, -0.028185f, -0.006019f, 0.039744f, -0.011994f, -0.000843f, 0.021269f, 0.004960f, 0.013106f, -0.029743f, 0.028441f, 0.001810f, 0.002079f, -0.007585f, -0.017916f, -0.002505f, -0.002816f, -0.019180f, -0.011598f, 0.021175f, -0.006798f, 0.004030f, -0.010469f, -0.046700f, 0.015744f, 0.002078f, -0.014465f, 0.008868f, 0.018019f, -0.001736f, 0.001944f, -0.003691f, 0.004492f, 0.012206f, 0.003844f, 0.019639f, 0.013423f, 0.003040f, 0.017150f, -0.013904f, -0.013710f, -0.019484f, 0.007288f, 0.011199f, 0.003212f, -0.030882f, 0.008687f, -0.026392f, - 0.038123f, -0.009093f, 0.013510f, 0.032536f, -0.012900f, 0.020659f, 0.005105f, 0.022496f, 0.009013f, -0.010912f, -0.033503f, -0.024039f, -0.018772f, -0.002614f, -0.019704f, -0.003957f, -0.017234f, -0.011179f, 0.033566f, 0.007258f, -0.014409f, -0.012763f, 0.006715f, 0.012464f, -0.002994f, 0.004850f, -0.061228f, 0.024589f, 0.004093f, -0.019646f, -0.024189f, -0.006317f, -0.040466f, 0.004336f, 0.020000f, 0.002196f, -0.017434f, 0.010702f, 0.008959f, -0.014283f, 0.007060f, 0.004227f, -0.003639f, 0.000457f, -0.009216f, 0.002386f, 0.003092f, 0.002350f, -0.011988f, -0.006531f, 0.004808f, -0.007473f, 0.001636f, -0.004517f, -0.002963f, 0.002858f, 0.009950f, -0.012735f, 0.004351f, 0.009883f, -0.011934f, -0.011168f, 0.001388f, -0.010250f, 0.002273f, -0.006809f, 0.006985f, 0.003819f, -0.011952f, 0.006647f, -0.007879f, -0.005056f, 0.008108f, 0.001893f, 0.018351f, 0.005704f, -0.000112f, -0.001159f, 0.001363f, -0.004834f, 0.013224f, -0.037922f, -0.046470f, 0.027838f, -0.022899f, -0.026622f, -0.007719f, 0.017423f, 0.036024f, -0.023952f, 0.001780f, 0.017086f, -0.005345f, -0.007641f, 0.009147f, 0.005917f, - 0.027034f, 0.008966f, -0.026331f, -0.001131f, -0.013443f, -0.001037f, -0.015719f, -0.020629f, 0.002980f, 0.020370f, -0.001681f, 0.009012f, -0.017186f, 0.004854f, 0.020099f, 0.015582f, 0.002199f, 0.001466f, 0.012490f, 0.011887f, 0.007480f, 0.018413f, -0.023658f, 0.025589f, 0.018326f, 0.006192f, -0.019590f, 0.001282f, 0.014765f, -0.015489f, 0.017183f, -0.012330f, 0.019486f, -0.005400f, 0.025500f, -0.040533f, 0.042668f, 0.009892f, 0.040224f, 0.002446f, -0.008757f, -0.002988f, 0.014399f, 0.000792f, -0.033955f, 0.001150f, -0.002602f, -0.035193f, 0.010856f, 0.024704f, -0.033442f, 0.027508f, -0.029467f, 0.008929f, 0.011074f, 0.005880f, -0.036825f, -0.017865f, -0.018192f, 0.003329f, 0.002500f, -0.021587f, -0.031573f, 0.005916f, -0.027798f, 0.018593f, -0.013541f, -0.007445f, 0.009246f, -0.017429f, -0.013502f, -0.017881f, -0.007496f, -0.010076f, 0.000315f, -0.014355f, -0.010754f, -0.013123f, -0.019278f, -0.009533f, -0.004213f, -0.004571f, -0.005051f, -0.005829f, -0.003931f, -0.009353f, -0.010167f, 0.006303f, -0.012125f, -0.006760f, -0.003282f, 0.008903f, -0.004716f, 0.000006f, -0.015424f, -0.011254f, - -0.005190f, -0.000587f, -0.003686f, -0.013288f, -0.002032f, -0.001422f, 0.010319f, 0.006484f, -0.008782f, -0.008334f, 0.001493f, -0.004600f, 0.007552f, -0.004678f, 0.003941f, -0.008354f, -0.021449f, 0.032491f, 0.006557f, 0.021382f, 0.020725f, 0.005817f, -0.016003f, 0.003526f, 0.054844f, -0.037726f, 0.009075f, -0.006642f, -0.020600f, 0.001218f, 0.007364f, 0.008844f, -0.000262f, 0.000126f, -0.010807f, -0.015851f, -0.024659f, -0.012472f, 0.018629f, -0.015634f, -0.024775f, 0.014239f, -0.008878f, 0.005457f, -0.003277f, 0.011064f, -0.010545f, 0.023328f, -0.008415f, 0.002519f, -0.000525f, 0.002461f, 0.021508f, 0.007310f, -0.009977f, 0.011460f, -0.009130f, 0.017614f, -0.010591f, 0.007222f, -0.025209f, -0.018437f, -0.013499f, 0.004401f, -0.012591f, -0.022002f, 0.009274f, 0.016301f, 0.004795f, -0.011705f, 0.007546f, 0.011513f, 0.013106f, 0.035249f, 0.048665f, 0.066096f, -0.006676f, 0.010535f, 0.016033f, 0.009342f, 0.009005f, 0.010623f, -0.013419f, 0.026228f, -0.003587f, 0.034241f, 0.042380f, 0.030999f, 0.012710f, 0.017450f, 0.005996f, 0.059109f, 0.017173f, -0.010823f, -0.009182f, -0.008403f, - -0.003187f, -0.003805f, 0.003361f, -0.004719f, -0.010808f, 0.009886f, -0.017241f, 0.005202f, -0.003686f, 0.005489f, -0.008410f, -0.006954f, -0.005143f, 0.013404f, -0.012722f, -0.012554f, -0.000587f, 0.005527f, -0.006223f, -0.016117f, -0.004994f, 0.000929f, -0.007286f, 0.008608f, 0.016724f, -0.009306f, -0.000635f, 0.003474f, -0.001197f, 0.005495f, 0.009932f, -0.004411f, -0.010785f, -0.001846f, 0.005973f, -0.005474f, 0.015306f, 0.017646f, 0.011307f, -0.005011f, -0.011353f, -0.001517f, 0.017829f, 0.002028f, 0.000126f, 0.007768f, 0.003049f, -0.000092f, -0.002251f, 0.004373f, 0.005045f, -0.011604f, -0.000515f, 0.065981f, 0.052806f, -0.023063f, -0.010643f, -0.027503f, 0.015782f, 0.007694f, 0.032270f, -0.005715f, -0.014073f, -0.006356f, -0.021026f, 0.004705f, 0.000726f, 0.030480f, -0.011502f, 0.011357f, -0.041135f, 0.022606f, -0.003310f, 0.015910f, -0.000294f, 0.014420f, 0.002363f, -0.023366f, -0.012159f, -0.020042f, -0.015325f, 0.016888f, 0.040592f, 0.017738f, -0.004951f, -0.012609f, -0.000665f, -0.003408f, 0.010035f, 0.013769f, -0.026148f, -0.000494f, -0.009198f, -0.008686f, -0.028390f, -0.021800f, - -0.045932f, 0.000872f, -0.002436f, 0.016540f, -0.013868f, 0.029395f, -0.022447f, -0.009782f, 0.058624f, 0.058241f, -0.040398f, 0.009036f, 0.033598f, -0.019539f, -0.009505f, 0.017412f, -0.006649f, -0.024546f, 0.065202f, -0.016216f, -0.099473f, 0.033103f, -0.001450f, -0.051126f, 0.038990f, 0.041881f, -0.015012f, 0.029347f, 0.037024f, -0.017511f, 0.001118f, 0.023681f, -0.025770f, 0.010792f, 0.020310f, -0.036524f, -0.005247f, -0.011980f, 0.001780f, -0.013302f, -0.000016f, 0.005238f, -0.015706f, 0.012590f, -0.018182f, -0.008150f, 0.008501f, 0.017816f, -0.010449f, 0.001138f, 0.003302f, -0.002529f, 0.005758f, -0.012789f, 0.018758f, -0.009525f, 0.019819f, 0.019614f, -0.000751f, 0.001165f, 0.012915f, -0.009497f, 0.002565f, -0.000347f, 0.016237f, -0.012210f, 0.009714f, 0.003242f, -0.039066f, 0.007686f, -0.005164f, -0.007080f, 0.001760f, -0.000883f, 0.003799f, -0.021658f, 0.002630f, -0.005474f, -0.019682f, 0.003545f, 0.032766f, -0.030930f, 0.009866f, 0.018437f, -0.027011f, 0.000133f, 0.014139f, -0.024826f, -0.012383f, 0.004482f, 0.011431f, 0.021784f, 0.010505f, -0.017923f, -0.003474f, 0.016066f, - -0.018840f, 0.018497f, -0.009497f, -0.024069f, 0.021274f, 0.010894f, 0.010475f, -0.006185f, -0.006247f, -0.008671f, -0.001417f, 0.017857f, -0.037614f, 0.018344f, -0.001046f, 0.030940f, -0.019934f, -0.000165f, -0.024723f, 0.010417f, -0.040070f, 0.004165f, 0.001504f, -0.016069f, -0.012266f, 0.006146f, -0.027069f, -0.046541f, 0.027784f, -0.002845f, 0.008166f, -0.027633f, 0.016521f, -0.004687f, 0.017773f, 0.019078f, 0.009330f, -0.019572f, 0.015702f, -0.009524f, -0.004500f, -0.036048f, 0.004889f, -0.025736f, -0.028197f, -0.041032f, -0.016997f, 0.006258f, 0.011040f, -0.042350f, -0.021061f, 0.001994f, -0.015332f, -0.056783f, -0.045079f, -0.046346f, -0.009820f, -0.027823f, 0.024137f, 0.034094f, 0.009155f, -0.034345f, -0.039773f, -0.046351f, -0.004586f, -0.003705f, 0.024853f, -0.022532f, -0.038686f, -0.019181f, -0.025863f, 0.008395f, 0.000185f, 0.008783f, 0.004294f, -0.012995f, 0.002434f, 0.009049f, -0.010231f, -0.004530f, -0.008716f, -0.005647f, -0.006385f, -0.012649f, -0.000878f, 0.014842f, 0.000212f, 0.004067f, 0.004133f, -0.003024f, 0.011124f, -0.007819f, 0.017366f, 0.015458f, -0.006566f, -0.014639f, - -0.001014f, -0.005874f, -0.008264f, -0.009366f, -0.008252f, 0.012333f, 0.000258f, 0.011588f, -0.012826f, -0.014018f, -0.002789f, 0.006190f, -0.022068f, 0.003310f, 0.001884f, -0.016375f, 0.003187f, -0.013562f, -0.028739f, 0.017081f, -0.007090f, 0.001724f, -0.005021f, 0.002521f, -0.014842f, -0.004261f, -0.028834f, 0.050152f, 0.055732f, -0.013183f, 0.037639f, -0.010450f, -0.014473f, -0.014383f, 0.036660f, -0.031582f, -0.007071f, -0.014919f, 0.058035f, 0.002413f, 0.021386f, 0.007832f, -0.005159f, 0.029081f, 0.016412f, 0.023857f, 0.007723f, -0.003416f, -0.009826f, 0.022845f, -0.003465f, -0.021882f, 0.027952f, -0.000483f, 0.024523f, -0.026793f, 0.019194f, 0.006980f, -0.027207f, -0.020973f, 0.050585f, 0.032906f, -0.002746f, 0.018295f, 0.015404f, -0.031676f, -0.020600f, 0.010846f, 0.008405f, 0.022617f, 0.003158f, 0.005178f, 0.009105f, 0.027539f, 0.011614f, 0.007270f, -0.026781f, 0.075424f, 0.050857f, 0.006068f, -0.033403f, 0.017086f, -0.010969f, 0.009633f, -0.007327f, 0.016371f, -0.010648f, 0.002812f, 0.041890f, -0.028459f, -0.013438f, -0.038344f, 0.011219f, -0.010243f, -0.006348f, 0.035567f, - 0.011555f, 0.004741f, 0.003488f, -0.014311f, -0.028353f, 0.021081f, 0.000411f, 0.000650f, 0.022836f, 0.022445f, -0.001322f, -0.016123f, -0.018505f, 0.036731f, -0.003350f, -0.001937f, -0.006644f, 0.027653f, -0.001750f, -0.019019f, 0.013052f, 0.010373f, 0.017678f, 0.007994f, 0.006556f, 0.025539f, -0.004704f, -0.009137f, 0.009353f, -0.000510f, 0.001535f, 0.002346f, 0.012170f, -0.006453f, 0.000459f, -0.008264f, 0.003282f, 0.012301f, -0.005146f, 0.002969f, 0.015869f, -0.005350f, 0.003834f, 0.011192f, 0.001331f, -0.002986f, -0.023088f, 0.015404f, -0.012664f, 0.010098f, -0.015226f, -0.003453f, 0.006972f, -0.009972f, -0.003364f, 0.022511f, 0.016984f, 0.001909f, -0.002878f, 0.021018f, 0.004821f, 0.010009f, 0.009977f, 0.004676f, -0.003136f, 0.008988f, -0.018086f, -0.039203f, 0.101946f, -0.114330f, -0.013196f, -0.060151f, 0.073941f, 0.019969f, 0.013071f, -0.028674f, 0.006956f, -0.023383f, 0.066238f, -0.011594f, -0.004219f, 0.006899f, -0.003251f, -0.025773f, 0.009928f, 0.015174f, 0.020053f, -0.044561f, -0.023439f, -0.022878f, 0.009198f, -0.013386f, -0.012009f, -0.001284f, -0.000392f, 0.029488f, - -0.015112f, 0.001619f, 0.022178f, -0.002591f, -0.029466f, 0.003886f, 0.023336f, -0.002609f, -0.046463f, 0.034927f, 0.004186f, 0.000831f, -0.000064f, -0.019419f, 0.015332f, -0.085799f, -0.060044f, -0.008172f, -0.021503f, 0.004123f, 0.006577f, -0.040057f, 0.063324f, -0.024857f, 0.087234f, -0.012079f, -0.030557f, 0.030123f, 0.004982f, 0.026920f, 0.040383f, 0.013075f, -0.041518f, -0.011232f, 0.046620f, 0.108542f, 0.003573f, -0.027391f, 0.045095f, 0.004208f, 0.053187f, 0.008924f, 0.072009f, -0.018270f, -0.002925f, -0.001609f, 0.016785f, 0.002832f, 0.027634f, 0.050987f, 0.002952f, -0.010342f, -0.009091f, 0.016505f, -0.013812f, -0.005525f, 0.032977f, 0.024551f, 0.003552f, -0.005768f, -0.012553f, -0.013580f, -0.008661f, -0.010956f, 0.023721f, -0.014304f, -0.010382f, 0.012249f, 0.004119f, -0.004069f, 0.010535f, 0.012614f, -0.006901f, 0.010899f, 0.016769f, -0.008266f, 0.000946f, -0.023477f, 0.030111f, 0.000371f, 0.024169f, 0.002151f, -0.025615f, 0.000705f, 0.002414f, 0.007233f, 0.002483f, 0.000561f, -0.022076f, -0.019642f, -0.001483f, -0.011172f, 0.015828f, 0.006505f, -0.007751f, -0.000127f, - 0.012366f, 0.003230f, -0.007639f, 0.001372f, 0.008849f, 0.000770f, -0.004779f, 0.004147f, 0.148822f, 0.045960f, 0.016181f, -0.005026f, -0.016334f, -0.021751f, 0.048378f, 0.044312f, -0.051767f, 0.030187f, 0.022868f, 0.004902f, -0.015846f, -0.027720f, -0.070481f, -0.026720f, 0.022139f, 0.006874f, -0.022873f, 0.041945f, -0.014066f, 0.016715f, 0.016669f, -0.010691f, -0.010225f, 0.043777f, 0.000865f, -0.017297f, 0.027322f, -0.024559f, 0.053982f, -0.027084f, -0.016465f, -0.003438f, 0.020868f, 0.010749f, 0.054600f, -0.017384f, -0.033147f, -0.012177f, 0.014207f, 0.003261f, 0.029108f, 0.007563f, 0.002270f, -0.012485f, 0.023392f, 0.102542f, 0.043496f, -0.038841f, 0.032747f, -0.020635f, -0.031617f, 0.024880f, -0.001469f, 0.006861f, -0.002416f, 0.017759f, -0.027663f, -0.042108f, -0.110475f, -0.029563f, 0.038915f, -0.015137f, -0.038180f, 0.015929f, -0.009201f, 0.015855f, -0.044511f, -0.039268f, -0.018631f, 0.015975f, 0.017133f, 0.051913f, 0.008818f, -0.004334f, -0.041556f, -0.058836f, -0.007683f, -0.026816f, 0.004625f, 0.020324f, -0.028195f, -0.029183f, -0.006598f, -0.036152f, -0.059684f, -0.020374f, - -0.016204f, -0.032350f, -0.007856f, 0.016891f, -0.017003f, -0.009426f, -0.019481f, -0.005140f, -0.042674f, -0.027598f, -0.027358f, 0.000038f, 0.003419f, 0.014525f, -0.024096f, 0.012541f, -0.032328f, 0.000581f, -0.019247f, -0.003189f, 0.009347f, -0.010600f, 0.014444f, -0.042622f, -0.008832f, 0.013463f, 0.005427f, 0.012303f, -0.005865f, -0.012237f, 0.019940f, -0.004890f, -0.004832f, 0.013469f, -0.021494f, -0.017468f, -0.003671f, 0.003076f, -0.028349f, -0.014081f, -0.015729f, -0.009349f, -0.002983f, -0.001274f, 0.001729f, -0.013450f, 0.000612f, -0.023257f, 0.033160f, -0.026393f, 0.091142f, 0.076532f, 0.035908f, -0.020766f, -0.031923f, 0.054744f, 0.046939f, -0.061240f, -0.012315f, -0.037466f, 0.052888f, -0.008788f, -0.074695f, -0.032451f, 0.026829f, 0.046982f, -0.086372f, 0.034912f, -0.059747f, 0.022391f, -0.035208f, -0.008953f, 0.041817f, -0.013818f, 0.006518f, 0.026823f, 0.055666f, -0.036092f, -0.060755f, 0.013878f, -0.004624f, 0.006876f, 0.057055f, 0.014579f, 0.042621f, -0.053541f, -0.009765f, 0.017520f, -0.047833f, 0.078694f, -0.008991f, 0.047268f, -0.006402f, -0.010742f, 0.038711f, 0.038825f, - -0.022010f, 0.086669f, -0.020074f, -0.037299f, 0.041834f, 0.074521f, 0.004370f, 0.013755f, 0.003757f, 0.033051f, -0.034763f, 0.026582f, 0.112810f, 0.052149f, -0.003366f, 0.049546f, 0.060783f, -0.044566f, -0.137667f, 0.010798f, 0.083271f, 0.094313f, 0.025859f, -0.008678f, -0.040456f, 0.049164f, 0.103926f, 0.048848f, 0.025458f, -0.101260f, 0.019345f, -0.057166f, -0.035726f, -0.089202f, 0.076357f, 0.017055f, -0.026124f, -0.035183f, 0.026948f, -0.025278f, 0.014663f, 0.010748f, 0.013674f, -0.032687f, -0.006922f, -0.003569f, 0.017896f, -0.010866f, 0.015153f, 0.013707f, -0.014994f, -0.009169f, 0.020985f, 0.001553f, 0.022515f, -0.008844f, 0.008453f, -0.013985f, 0.008078f, 0.042936f, 0.008095f, 0.008658f, -0.005232f, -0.044633f, -0.022851f, -0.027240f, 0.015115f, 0.077333f, 0.072231f, 0.066048f, -0.004992f, -0.046565f, -0.044799f, -0.020474f, 0.030384f, 0.034746f, -0.002432f, -0.014813f, -0.024208f, -0.034368f, 0.009405f, 0.020782f, 0.016515f, 0.016506f, 0.012151f, 0.001347f, 0.062995f, -0.125437f, 0.095299f, 0.019600f, -0.057662f, 0.000566f, 0.053164f, -0.035802f, 0.001224f, 0.029433f, - -0.037567f, 0.002964f, -0.033800f, -0.021468f, 0.035068f, -0.030583f, -0.017613f, -0.064014f, 0.027289f, 0.061839f, 0.017081f, -0.028078f, -0.047730f, -0.007746f, 0.035189f, 0.019080f, -0.040850f, -0.001240f, 0.048307f, -0.006609f, 0.002886f, -0.016774f, -0.012377f, 0.114340f, -0.055419f, -0.014168f, -0.013253f, 0.019101f, 0.052676f, -0.056665f, -0.032258f, 0.075202f, -0.009449f, -0.004962f, -0.090727f, -0.074656f, 0.030601f, 0.050546f, 0.027071f, -0.092438f, 0.062653f, -0.001803f, -0.014794f, 0.013123f, -0.066704f, -0.018396f, -0.009274f, -0.032816f, 0.058657f, -0.046460f, -0.026510f, -0.049943f, -0.029576f, -0.065819f, 0.019036f, -0.102860f, -0.029637f, 0.011979f, -0.052014f, 0.012577f, 0.027609f, 0.012439f, -0.001619f, -0.018481f, -0.037868f, 0.054352f, -0.012733f, -0.005291f, -0.020511f, 0.032905f, 0.065014f, 0.009882f, -0.090141f, 0.007851f, -0.040722f, 0.005939f, 0.007222f, -0.016272f, 0.005170f, -0.026694f, -0.010094f, -0.002247f, -0.021326f, 0.000400f, -0.006914f, 0.015701f, 0.012824f, -0.004846f, 0.005872f, 0.029223f, -0.014363f, -0.010428f, 0.028622f, -0.021604f, 0.018574f, -0.010440f, - -0.011310f, 0.002290f, -0.013964f, -0.006034f, 0.016863f, -0.035286f, 0.009345f, 0.008454f, 0.011784f, 0.025484f, -0.019206f, 0.003195f, 0.017550f, 0.007069f, -0.007882f, -0.016531f, -0.004769f, -0.003835f, -0.001030f, -0.016923f, 0.003644f, -0.002754f, -0.071860f, 0.043824f, -0.001184f, 0.056682f, -0.011500f, 0.058626f, 0.007475f, -0.007313f, 0.026294f, 0.068002f, 0.032637f, 0.017550f, 0.013700f, 0.008830f, 0.026828f, -0.033986f, -0.002634f, -0.025447f, -0.026762f, 0.041890f, 0.026098f, 0.016132f, -0.011876f, -0.010326f, -0.004816f, 0.043803f, 0.006812f, -0.019159f, -0.031428f, -0.001280f, -0.007338f, 0.032981f, 0.005118f, 0.027607f, 0.051686f, -0.014215f, -0.130492f, 0.008730f, 0.106278f, 0.011222f, -0.077742f, -0.009944f, 0.030118f, 0.023686f, 0.041829f, 0.038042f, -0.002972f, -0.024516f, -0.025127f, 0.033303f, -0.020058f, 0.003816f, 0.011745f, -0.135541f, -0.023389f, -0.025995f, 0.021665f, 0.106681f, -0.001824f, 0.008633f, -0.024614f, 0.007309f, 0.022112f, 0.044779f, 0.023486f, -0.026384f, -0.013777f, -0.065812f, -0.003865f, 0.045307f, -0.019848f, -0.009375f, 0.016802f, 0.046013f, - 0.037405f, -0.009904f, -0.046678f, 0.000295f, 0.017222f, 0.005220f, -0.030970f, 0.003847f, 0.003911f, -0.002358f, -0.026716f, -0.034818f, 0.030374f, 0.024822f, -0.001115f, -0.005455f, -0.026120f, 0.020821f, 0.008766f, 0.004736f, 0.008253f, 0.006632f, 0.012228f, 0.000769f, -0.028940f, 0.016265f, 0.000975f, -0.001831f, 0.001845f, 0.007734f, 0.003873f, -0.003955f, 0.000137f, 0.001122f, -0.009358f, -0.005655f, -0.040058f, 0.006317f, 0.028653f, -0.020012f, 0.010371f, -0.032609f, 0.018588f, 0.008478f, -0.004610f, -0.009039f, -0.003040f, -0.003229f, 0.004112f, -0.007191f, 0.036487f, -0.004508f, -0.214414f, -0.403075f, -0.162144f, -0.272890f, -0.313610f, 0.194619f, 0.067858f, 0.178798f, 0.538112f, 0.352155f, 0.284086f, 0.425919f, 0.212474f, 0.013514f, 0.168270f, 0.041742f, -0.170824f, -0.120063f, -0.136191f, -0.312503f, -0.253958f, -0.109841f, -0.227441f, -0.250548f, -0.103793f, -0.154296f, -0.258764f, -0.133813f, 0.019690f, -0.162776f, -0.149073f, 0.032592f, -0.032539f, -0.148455f, 0.165788f, 0.108207f, -0.124833f, 0.122999f, 0.186618f, 0.028102f, 0.106551f, 0.375404f, 0.178049f, 0.112383f, - 0.441516f, 0.309393f, 0.178912f, 0.435353f, 0.583579f, 0.361288f, 0.523263f, 0.677995f, 0.484290f, 0.321184f, 0.423281f, 0.222775f, -0.216164f, -0.142359f, -0.285416f, -0.664324f, -0.666290f, -0.674731f, -1.018542f, -1.005603f, -1.010484f, -1.052519f, -0.993834f, -0.966629f, -0.761146f, -0.609198f, -0.460908f, -0.190017f, 0.055460f, 0.147467f, 0.375563f, 0.652913f, 0.552991f, 0.741616f, 1.054446f, 0.886441f, 0.827678f, 1.008003f, 0.746515f, 0.382930f, 0.414784f, 0.389349f, 0.145797f, 0.103869f, 0.208687f, 0.077123f, -0.018712f, 0.069799f, 0.024516f, -0.145540f, -0.130304f, -0.078529f, -0.260346f, -0.298821f, -0.130731f, -0.227397f, -0.313201f, -0.129454f, -0.083501f, -0.170732f, -0.002874f, 0.054816f, -0.056753f, -0.008707f, -0.041990f, -0.238944f, -0.344345f, -0.385754f, -0.481941f, -0.567170f, -0.509275f, -0.465417f, -0.433583f, -0.325399f, -0.207459f, -0.147681f, -0.027179f, 0.114634f, 0.178183f, 0.258602f, 0.425824f, 0.517842f, 0.603846f, 0.647283f, 0.613128f, 0.546617f, 0.418021f, 0.285864f, 0.159457f, 0.022286f, -0.027186f, -0.046115f, -0.075241f, -0.084670f, -0.086381f, -0.099991f, - -0.106186f, -0.095822f, -0.086290f, -0.095753f, -0.102771f, -0.097821f, -0.102681f, -0.111933f, -0.107625f, -0.101584f, -0.078251f, -0.046440f, -0.028979f, -0.007332f, 0.009120f, 0.007347f, 0.003072f, 0.000817f}, - {-0.012942f, -0.001200f, 0.012109f, -0.010826f, 0.004172f, -0.018233f, 0.000179f, -0.006606f, 0.007318f, -0.006167f, 0.001657f, -0.004187f, -0.007634f, -0.001971f, -0.000739f, 0.005521f, 0.006916f, -0.006585f, -0.011469f, 0.005991f, 0.002037f, 0.004184f, 0.002519f, 0.004732f, -0.006650f, -0.004999f, 0.001178f, -0.001281f, 0.005962f, 0.004288f, -0.005089f, -0.001109f, 0.004541f, 0.008430f, 0.005187f, 0.000048f, -0.006642f, 0.003546f, -0.001152f, -0.003548f, 0.004648f, 0.001998f, -0.006102f, -0.005114f, -0.004148f, 0.003384f, -0.005979f, -0.003227f, 0.004995f, 0.001911f, -0.000197f, -0.006264f, 0.002281f, -0.005389f, -0.013858f, 0.001344f, -0.004730f, -0.008954f, 0.004085f, -0.002566f, -0.002570f, -0.003087f, 0.000174f, 0.006781f, 0.004083f, 0.002269f, 0.003086f, 0.005112f, -0.010442f, 0.005404f, -0.004165f, -0.004031f, -0.002323f, 0.003432f, 0.000646f, 0.007287f, 0.010630f, 0.004128f, 0.000807f, 0.001179f, -0.000176f, 0.006778f, -0.002894f, -0.000278f, 0.003313f, 0.000208f, -0.002836f, -0.002919f, 0.000951f, -0.000110f, -0.003199f, -0.001628f, 0.000984f, -0.000197f, -0.000437f, -0.001300f, - -0.001590f, 0.001026f, 0.000669f, 0.001115f, -0.000482f, 0.000368f, -0.000338f, -0.002984f, -0.001152f, 0.001312f, 0.002348f, -0.001361f, -0.001576f, 0.000501f, 0.027683f, -0.002312f, 0.005093f, 0.006110f, -0.002810f, 0.002890f, 0.011042f, -0.008571f, -0.001497f, 0.003172f, -0.004251f, -0.000820f, 0.008118f, -0.002594f, -0.001802f, -0.000541f, 0.003161f, -0.001527f, 0.003922f, -0.002715f, -0.002666f, -0.001219f, -0.006255f, -0.010705f, -0.001996f, -0.003421f, -0.001414f, 0.006336f, -0.011335f, 0.013983f, 0.000110f, 0.000262f, 0.000506f, 0.002655f, -0.000311f, -0.005350f, 0.000872f, 0.004322f, 0.010565f, 0.000543f, -0.000050f, -0.001588f, -0.003526f, 0.007022f, 0.003355f, -0.002543f, 0.003894f, -0.006963f, 0.001220f, 0.002242f, -0.005251f, -0.018128f, -0.005650f, -0.000440f, -0.001037f, -0.000851f, -0.001566f, -0.002298f, -0.001284f, -0.003437f, 0.004478f, 0.013381f, 0.007608f, 0.000597f, 0.000009f, -0.000347f, 0.004707f, -0.002724f, -0.012156f, -0.000412f, -0.006314f, 0.004005f, -0.007168f, 0.004083f, -0.017557f, -0.000102f, -0.002469f, 0.005982f, 0.009625f, -0.001462f, -0.002245f, 0.001446f, - -0.000002f, 0.005160f, 0.001930f, 0.000868f, 0.007020f, -0.005140f, -0.000638f, 0.000890f, 0.002539f, 0.000015f, 0.002589f, 0.000144f, 0.001673f, 0.000746f, -0.000294f, 0.000522f, -0.000582f, -0.000075f, 0.001512f, 0.002218f, 0.000313f, -0.000609f, -0.000818f, 0.000291f, -0.000335f, 0.001255f, 0.000950f, 0.000610f, -0.000363f, 0.000229f, 0.000899f, -0.024358f, -0.023488f, -0.008840f, -0.003479f, -0.003352f, 0.000020f, 0.005940f, 0.001418f, 0.004825f, -0.011030f, 0.005455f, 0.006873f, 0.006642f, 0.007789f, -0.006026f, 0.001675f, 0.018328f, -0.011336f, -0.000400f, -0.008075f, -0.011712f, -0.001401f, -0.000832f, 0.010155f, -0.004925f, 0.001069f, -0.008748f, 0.005609f, 0.003503f, 0.004404f, -0.019611f, 0.003025f, -0.003587f, -0.006878f, -0.001852f, -0.000094f, -0.014550f, -0.009420f, -0.008125f, -0.000653f, 0.012157f, 0.004218f, 0.004027f, 0.005843f, -0.005439f, 0.003440f, -0.004880f, 0.010396f, 0.015992f, -0.001496f, -0.001471f, 0.004550f, 0.001119f, 0.004139f, 0.008986f, -0.004213f, 0.009297f, -0.001452f, -0.000286f, 0.005505f, 0.007530f, -0.002846f, -0.010878f, -0.010003f, 0.003865f, - -0.001364f, -0.001869f, -0.004406f, 0.004938f, -0.008328f, 0.003096f, 0.006252f, 0.010553f, -0.006131f, 0.010119f, 0.006615f, 0.003291f, 0.005064f, 0.001221f, -0.001707f, -0.006817f, 0.004857f, -0.003208f, -0.006358f, -0.008042f, 0.003343f, -0.002651f, 0.004857f, 0.000852f, -0.003089f, -0.003754f, -0.001907f, 0.001599f, -0.001976f, -0.000708f, -0.002542f, -0.001128f, -0.000144f, 0.002473f, 0.001310f, -0.000080f, 0.001446f, 0.004875f, -0.000460f, 0.000013f, 0.002859f, -0.001540f, 0.000813f, -0.001074f, -0.000822f, 0.001402f, 0.002062f, 0.002062f, 0.001333f, -0.000031f, -0.000628f, 0.001521f, 0.000737f, 0.003337f, 0.004011f, -0.003184f, -0.000316f, 0.001755f, -0.026709f, 0.011460f, -0.011994f, 0.021337f, -0.019999f, 0.015590f, 0.007916f, -0.008349f, -0.010417f, -0.005831f, 0.004018f, 0.003611f, -0.005654f, 0.012554f, -0.004605f, -0.012134f, -0.002523f, 0.012987f, 0.008889f, -0.013276f, 0.002053f, -0.001725f, -0.013892f, -0.005801f, -0.008955f, -0.002151f, -0.010648f, -0.002886f, -0.004473f, -0.014664f, -0.005256f, 0.007338f, 0.010579f, -0.002123f, -0.012557f, -0.002601f, 0.008818f, -0.002795f, - 0.000263f, 0.000534f, 0.000155f, -0.012507f, -0.000412f, -0.001559f, -0.003197f, -0.000654f, 0.002155f, -0.008976f, 0.005048f, -0.009606f, -0.000248f, -0.000134f, 0.000160f, 0.007007f, 0.000109f, -0.003358f, 0.002847f, 0.004838f, 0.011658f, 0.005272f, 0.002623f, -0.003455f, -0.007289f, -0.006902f, -0.002880f, -0.007532f, -0.005398f, 0.004334f, 0.007621f, -0.005699f, -0.009468f, -0.006518f, 0.002959f, 0.001587f, -0.008882f, -0.003098f, 0.001070f, -0.007497f, -0.003452f, 0.000969f, 0.002248f, 0.002962f, -0.003466f, -0.004169f, -0.005680f, 0.000156f, -0.000721f, -0.002224f, 0.001716f, -0.001916f, -0.000670f, -0.004360f, -0.000993f, -0.001501f, 0.003751f, 0.001814f, -0.001572f, 0.001804f, -0.000260f, 0.000537f, -0.001876f, 0.000167f, -0.001127f, -0.000137f, -0.001566f, -0.002915f, 0.002034f, -0.000243f, -0.002770f, -0.001758f, -0.000296f, -0.002547f, -0.002942f, 0.032686f, 0.013069f, -0.002068f, 0.007492f, -0.005118f, 0.018366f, 0.007838f, 0.032995f, 0.000745f, -0.031717f, 0.008287f, 0.019404f, -0.011347f, 0.003485f, 0.013419f, -0.010112f, 0.009505f, -0.008181f, -0.001659f, -0.010112f, -0.009585f, - -0.002981f, 0.002846f, -0.000962f, 0.004554f, -0.004283f, 0.014253f, -0.008342f, 0.004139f, 0.002692f, 0.009331f, -0.016729f, -0.008609f, -0.006545f, -0.001828f, -0.005870f, 0.001750f, 0.010348f, 0.007493f, 0.016383f, -0.002216f, -0.001132f, -0.009117f, -0.002977f, 0.010464f, -0.009965f, 0.008676f, -0.009319f, -0.003767f, 0.015036f, 0.021792f, 0.015559f, 0.002905f, -0.011332f, 0.008186f, 0.006009f, -0.005878f, 0.012647f, -0.008106f, 0.002546f, 0.002185f, -0.022923f, -0.000001f, -0.021727f, -0.008567f, 0.003533f, -0.005559f, -0.010343f, -0.008675f, 0.001873f, 0.015179f, 0.003787f, -0.005901f, -0.007549f, -0.006471f, 0.001555f, 0.002648f, 0.007207f, -0.011114f, -0.010167f, 0.000926f, -0.001927f, 0.000910f, -0.002895f, -0.001451f, -0.001785f, -0.000743f, 0.003432f, 0.001118f, 0.001594f, -0.001232f, -0.002327f, -0.002056f, 0.000700f, 0.006221f, 0.002020f, 0.004594f, 0.001408f, -0.006587f, 0.005186f, 0.002584f, 0.000964f, 0.001274f, 0.003004f, -0.000412f, 0.002590f, 0.000782f, -0.000047f, -0.001854f, -0.001563f, -0.002665f, 0.000881f, 0.003137f, -0.000542f, -0.001108f, -0.001599f, -0.009415f, - -0.001090f, -0.000885f, 0.000330f, -0.001219f, 0.020236f, 0.040957f, -0.017802f, -0.013224f, -0.003566f, -0.004790f, 0.014290f, -0.013609f, -0.024808f, -0.008592f, 0.001757f, -0.006067f, 0.007150f, 0.003385f, 0.012392f, 0.005199f, -0.004937f, 0.017812f, 0.016703f, -0.007680f, 0.001229f, -0.011472f, -0.001935f, 0.000642f, -0.007056f, -0.001363f, 0.012467f, 0.017879f, 0.000730f, 0.002950f, 0.007365f, 0.004710f, 0.002887f, 0.001231f, -0.006751f, -0.012830f, 0.001491f, -0.018459f, 0.000678f, 0.004250f, -0.005874f, 0.007262f, -0.004667f, -0.010202f, -0.000786f, 0.009948f, 0.004409f, -0.004447f, 0.030171f, -0.000081f, 0.009739f, -0.017948f, -0.003994f, 0.012326f, -0.005763f, -0.013287f, 0.007829f, -0.015572f, -0.013964f, 0.003191f, 0.017117f, -0.013994f, -0.007869f, -0.004129f, 0.000716f, -0.006332f, -0.006313f, 0.023094f, 0.013506f, -0.002081f, 0.001289f, -0.010857f, -0.007783f, -0.004409f, 0.006942f, 0.009138f, 0.000802f, 0.007329f, 0.004733f, -0.001472f, 0.006796f, -0.006234f, 0.023050f, 0.013074f, 0.002542f, 0.000752f, 0.002126f, -0.003882f, -0.001489f, -0.003864f, -0.004092f, -0.000108f, - -0.000149f, -0.003718f, 0.001991f, -0.005617f, -0.001696f, 0.004408f, -0.001576f, 0.004518f, 0.002570f, 0.004276f, 0.000180f, 0.002958f, 0.003359f, 0.003065f, 0.000579f, 0.005075f, 0.001665f, 0.000727f, -0.003655f, 0.000392f, -0.001354f, -0.000026f, 0.000252f, 0.001847f, -0.000244f, 0.001687f, -0.003485f, -0.000117f, 0.016164f, -0.029109f, -0.003957f, -0.021875f, -0.012478f, -0.019821f, -0.005080f, -0.003084f, -0.003017f, -0.007649f, 0.008792f, -0.027909f, 0.014285f, -0.009549f, 0.008479f, 0.003679f, 0.011588f, 0.000607f, 0.004785f, -0.011277f, -0.004802f, 0.005160f, -0.011223f, -0.008164f, 0.013660f, 0.003734f, 0.006169f, 0.005460f, -0.001434f, 0.003642f, 0.020353f, -0.007348f, 0.001933f, -0.009230f, 0.016364f, -0.009939f, -0.036443f, 0.011237f, 0.005705f, 0.015291f, 0.008262f, 0.021087f, -0.014289f, -0.005689f, 0.012729f, -0.005333f, -0.012220f, -0.005797f, 0.006615f, -0.017728f, 0.017469f, -0.000644f, 0.011638f, -0.014970f, -0.006575f, -0.005452f, -0.016215f, -0.003323f, -0.012895f, -0.005894f, 0.001355f, 0.018631f, 0.015004f, -0.001716f, -0.022889f, -0.013059f, -0.004226f, 0.018098f, - 0.014972f, 0.010898f, 0.010083f, -0.006436f, -0.026492f, -0.006790f, -0.000790f, 0.006187f, -0.008377f, -0.002617f, 0.013532f, -0.002602f, 0.015997f, 0.000190f, 0.011078f, 0.004235f, 0.000518f, -0.004099f, -0.000442f, 0.006028f, 0.001595f, -0.002820f, 0.000534f, -0.007323f, -0.001273f, -0.000429f, -0.009805f, -0.005869f, -0.006274f, -0.003060f, 0.001915f, -0.003943f, 0.001567f, -0.005282f, -0.000705f, -0.001550f, -0.002881f, 0.004283f, 0.002057f, -0.000910f, -0.006681f, -0.002588f, 0.002641f, 0.004364f, 0.000057f, -0.006484f, -0.003451f, 0.001468f, 0.003323f, 0.000922f, 0.001597f, 0.000492f, -0.038306f, -0.046237f, -0.026205f, 0.018708f, 0.001342f, -0.008780f, -0.009936f, -0.014900f, -0.001733f, 0.004804f, -0.025865f, -0.002642f, 0.016057f, -0.010102f, -0.007224f, 0.017943f, 0.004602f, -0.012135f, 0.004405f, -0.011749f, 0.026729f, -0.008867f, -0.006556f, 0.008520f, -0.014147f, -0.008948f, -0.008362f, 0.004374f, -0.009870f, -0.003815f, 0.004349f, 0.003073f, -0.031732f, 0.013945f, 0.013609f, -0.009270f, 0.024303f, 0.009226f, 0.002187f, 0.023279f, 0.013242f, 0.004018f, 0.003144f, 0.025185f, - -0.002665f, -0.004491f, -0.001844f, 0.015413f, 0.008584f, -0.023138f, 0.008775f, 0.007036f, -0.000299f, -0.012398f, -0.037202f, 0.016203f, -0.002565f, -0.009286f, -0.023374f, -0.013275f, 0.014164f, -0.003181f, -0.006891f, -0.015630f, -0.030271f, 0.002911f, -0.004289f, -0.016144f, -0.006850f, -0.028645f, -0.004665f, -0.006543f, -0.005496f, -0.001353f, 0.010125f, 0.021761f, 0.009287f, -0.007452f, -0.015750f, 0.005945f, 0.001006f, 0.009006f, 0.005658f, -0.003659f, 0.006590f, 0.002310f, -0.000804f, -0.008612f, 0.000702f, -0.013938f, -0.000901f, -0.003162f, 0.002222f, -0.005463f, 0.006458f, 0.003725f, -0.001590f, -0.001258f, -0.001378f, 0.000817f, -0.003190f, -0.000928f, 0.003701f, -0.001609f, -0.001424f, 0.007017f, -0.002857f, -0.001953f, 0.005692f, -0.004532f, 0.003427f, -0.011681f, -0.007548f, -0.004371f, -0.006172f, -0.000743f, -0.006129f, -0.008258f, -0.006090f, -0.001841f, -0.001276f, 0.002627f, -0.000302f, -0.005094f, 0.002879f, 0.000961f, -0.039431f, 0.031735f, 0.001788f, 0.016224f, -0.002887f, -0.001312f, 0.002995f, 0.017526f, 0.001748f, -0.002169f, -0.023808f, 0.008491f, -0.002597f, -0.018396f, - 0.004834f, -0.012015f, -0.009225f, 0.034179f, 0.009737f, 0.010534f, -0.007347f, 0.012252f, 0.014801f, 0.014295f, -0.008257f, 0.012484f, 0.006504f, -0.014367f, 0.009407f, -0.013972f, -0.004796f, 0.008955f, 0.004274f, -0.001428f, -0.007721f, -0.007274f, 0.022765f, -0.006590f, -0.009932f, -0.006366f, 0.004691f, 0.004961f, -0.010806f, -0.018305f, -0.001282f, -0.019643f, -0.002266f, -0.017709f, -0.006633f, -0.004188f, 0.003550f, -0.009015f, -0.015285f, 0.019413f, -0.007946f, -0.021337f, 0.013733f, 0.022813f, -0.010957f, -0.007285f, 0.011620f, 0.008394f, 0.022685f, 0.014634f, 0.002383f, -0.000198f, -0.023128f, 0.005630f, 0.022365f, 0.017923f, -0.015703f, 0.017089f, 0.018592f, -0.012342f, -0.034381f, -0.011109f, -0.030779f, 0.005215f, 0.017853f, 0.008959f, 0.002273f, -0.009258f, -0.012367f, -0.001376f, 0.001768f, 0.005382f, -0.002680f, 0.010126f, -0.004386f, -0.003547f, 0.004117f, 0.010720f, -0.015600f, -0.002082f, -0.001833f, -0.004794f, 0.000281f, 0.004316f, -0.000709f, -0.000487f, -0.002306f, -0.000304f, -0.002326f, 0.000887f, -0.000008f, -0.000335f, 0.001702f, 0.005597f, -0.004647f, -0.002787f, - 0.003413f, 0.003597f, 0.011991f, -0.001143f, 0.005150f, 0.004649f, -0.004830f, 0.004203f, 0.002136f, -0.004418f, 0.001405f, 0.001741f, 0.001648f, 0.004785f, 0.010538f, 0.002195f, -0.003172f, 0.006883f, -0.001860f, -0.003835f, 0.000880f, 0.007722f, -0.062732f, 0.030263f, 0.008672f, -0.002819f, 0.042549f, -0.002366f, 0.021609f, -0.018817f, -0.004294f, 0.003485f, 0.000417f, 0.024381f, 0.015565f, -0.032782f, 0.020707f, 0.001691f, 0.012494f, -0.029515f, -0.001008f, 0.017273f, -0.028957f, 0.036558f, 0.010020f, -0.000254f, -0.012859f, 0.002313f, 0.015928f, -0.025980f, 0.002561f, 0.006806f, 0.004772f, -0.015968f, -0.005810f, 0.015370f, 0.008775f, -0.001505f, 0.002421f, -0.010459f, -0.017961f, 0.007627f, -0.030471f, -0.001139f, 0.044030f, 0.042963f, -0.013557f, 0.005440f, -0.001731f, 0.012389f, 0.030978f, 0.002723f, 0.014894f, 0.005024f, -0.016050f, -0.001092f, -0.002951f, -0.046402f, -0.020874f, 0.028922f, 0.001466f, 0.009003f, -0.011104f, -0.002732f, 0.010374f, 0.014065f, -0.001138f, 0.035964f, 0.000647f, 0.028078f, 0.003610f, 0.006016f, 0.003779f, -0.018181f, -0.022865f, 0.028433f, - 0.006685f, -0.014649f, 0.020673f, -0.016717f, 0.001650f, 0.017505f, 0.002942f, -0.004336f, 0.008220f, -0.007353f, -0.007050f, 0.008821f, 0.012056f, 0.000968f, -0.015893f, -0.007591f, -0.017132f, -0.006047f, 0.004383f, 0.005671f, 0.002898f, -0.006562f, -0.003018f, -0.012297f, 0.009073f, -0.000034f, -0.004902f, -0.002156f, 0.003879f, 0.002202f, 0.011224f, 0.010071f, 0.006554f, 0.006591f, 0.002302f, 0.008026f, -0.005199f, 0.003761f, 0.004347f, 0.004173f, -0.004529f, 0.008110f, 0.004313f, -0.001060f, -0.001343f, -0.001949f, -0.001880f, -0.003514f, 0.021058f, -0.045817f, 0.018408f, 0.028867f, -0.003997f, 0.008586f, 0.012987f, -0.007007f, -0.004440f, 0.017815f, -0.006715f, 0.027034f, -0.025736f, 0.014064f, 0.033415f, -0.035813f, 0.001444f, -0.017032f, 0.021104f, 0.008911f, 0.017502f, -0.018121f, -0.014165f, -0.000205f, 0.045156f, 0.000524f, 0.022842f, -0.010133f, 0.001374f, -0.003104f, -0.004024f, -0.020044f, -0.000787f, -0.005620f, 0.009188f, -0.008945f, -0.013019f, -0.010918f, -0.000844f, -0.003799f, 0.020388f, 0.003518f, -0.011300f, -0.010223f, -0.010406f, -0.003792f, -0.004969f, 0.033319f, - 0.001429f, 0.016741f, 0.001122f, -0.007987f, -0.007315f, 0.027716f, 0.020642f, -0.007961f, -0.026125f, 0.014755f, 0.010110f, -0.057515f, 0.003311f, 0.032482f, 0.031628f, 0.007404f, 0.025142f, -0.034690f, 0.056842f, 0.005013f, 0.010849f, 0.011278f, 0.027094f, -0.002102f, -0.024362f, -0.007367f, -0.028779f, 0.032733f, -0.014502f, -0.009660f, 0.028493f, -0.000823f, -0.011273f, -0.008653f, -0.021512f, 0.020372f, -0.035084f, -0.005105f, 0.003320f, -0.000817f, 0.004933f, -0.007226f, -0.015095f, -0.009531f, 0.004616f, 0.003900f, -0.007169f, 0.001874f, -0.006843f, -0.007262f, -0.005464f, 0.006493f, 0.003297f, -0.008247f, 0.007664f, 0.001631f, -0.010180f, 0.004645f, -0.001929f, -0.003487f, -0.007792f, -0.008680f, 0.001573f, 0.004329f, 0.018045f, -0.007869f, 0.010646f, 0.001401f, -0.003721f, -0.001217f, -0.002248f, -0.004690f, 0.002659f, -0.000418f, -0.005524f, -0.001709f, -0.003870f, 0.001564f, 0.003546f, 0.003077f, 0.017322f, -0.034221f, -0.027408f, 0.024052f, 0.020204f, 0.049683f, -0.017853f, -0.013445f, -0.009128f, 0.009170f, -0.021424f, -0.002795f, 0.008054f, -0.001732f, 0.026594f, 0.017041f, - -0.021727f, 0.001699f, 0.006045f, 0.015259f, -0.024712f, 0.025453f, -0.000678f, 0.011138f, -0.004586f, -0.011974f, -0.025913f, 0.008813f, -0.004696f, -0.011080f, 0.004914f, -0.016005f, -0.015567f, -0.003692f, 0.007798f, 0.030886f, -0.046611f, -0.028306f, -0.025259f, -0.028351f, -0.008225f, 0.032035f, -0.019357f, -0.001146f, 0.031534f, -0.004932f, -0.014602f, -0.027831f, -0.007705f, -0.012144f, -0.057279f, -0.044521f, -0.012757f, 0.009729f, -0.005716f, 0.009699f, -0.012936f, -0.009399f, 0.026804f, 0.016079f, -0.028782f, -0.014997f, -0.032182f, -0.012959f, 0.002341f, 0.012493f, -0.005994f, 0.003143f, -0.027502f, -0.022058f, -0.020161f, -0.000835f, 0.004369f, 0.001442f, -0.026045f, 0.000568f, 0.034376f, 0.014680f, 0.039281f, -0.031436f, 0.048070f, 0.004008f, -0.030342f, -0.005271f, 0.001105f, 0.008214f, -0.005329f, 0.012897f, -0.018666f, 0.008457f, -0.016565f, 0.007413f, 0.010842f, -0.003776f, 0.024476f, -0.002338f, 0.005560f, -0.006945f, -0.009227f, -0.005312f, 0.000436f, 0.005332f, -0.009744f, -0.001949f, 0.002902f, -0.002369f, 0.009238f, -0.003110f, -0.005035f, -0.016249f, 0.006799f, 0.000766f, - 0.008101f, 0.003302f, -0.005629f, -0.015303f, 0.004590f, -0.019491f, 0.004624f, -0.005253f, -0.001053f, 0.001799f, -0.004392f, 0.001270f, 0.002778f, 0.013117f, 0.004982f, -0.006028f, -0.024444f, 0.004657f, -0.002694f, 0.056252f, 0.006129f, 0.027078f, -0.023476f, -0.015971f, -0.005776f, -0.026534f, -0.016837f, -0.025632f, -0.011911f, -0.016624f, 0.030533f, 0.007640f, 0.007707f, 0.031433f, -0.000835f, -0.001832f, 0.014222f, 0.028278f, 0.044278f, 0.032333f, -0.006639f, -0.012053f, -0.050965f, 0.014013f, 0.015996f, 0.006183f, -0.031771f, 0.036717f, 0.014680f, 0.021555f, -0.006005f, 0.002003f, 0.020914f, 0.045869f, 0.044739f, 0.025738f, 0.005442f, 0.047690f, 0.001273f, -0.014296f, 0.015534f, 0.028898f, 0.023558f, 0.042884f, 0.022729f, 0.000907f, 0.005216f, -0.025966f, 0.011286f, -0.064817f, -0.011050f, -0.006567f, 0.014414f, 0.050839f, 0.028698f, 0.007440f, 0.037044f, -0.026932f, -0.024292f, 0.005160f, -0.062794f, -0.015101f, 0.002661f, 0.011975f, 0.014631f, 0.016539f, -0.003707f, 0.027499f, 0.003527f, 0.014173f, 0.051020f, -0.031468f, -0.016231f, -0.008775f, 0.009790f, -0.006088f, - -0.048001f, -0.009204f, 0.032872f, -0.002506f, 0.041670f, -0.022452f, 0.001230f, 0.017071f, -0.003943f, 0.004687f, -0.017271f, -0.008649f, -0.013390f, -0.009143f, -0.014866f, -0.012432f, 0.003337f, 0.002398f, -0.029912f, -0.014115f, -0.016818f, -0.004701f, 0.005607f, 0.008869f, -0.013299f, -0.000761f, 0.004086f, -0.021319f, 0.003214f, -0.008714f, -0.013756f, -0.007479f, 0.001145f, 0.004916f, -0.009419f, -0.002653f, -0.014446f, -0.001414f, -0.003833f, -0.004996f, -0.010526f, -0.015831f, 0.003983f, 0.004851f, -0.008424f, -0.006219f, -0.006174f, -0.005049f, 0.002860f, 0.009925f, 0.002935f, 0.002901f, -0.043286f, -0.013577f, 0.007978f, 0.032893f, 0.060344f, -0.024128f, 0.001154f, 0.010053f, -0.010959f, 0.055939f, 0.009992f, -0.027416f, 0.049021f, -0.009995f, -0.016330f, 0.035120f, -0.031694f, -0.018491f, 0.002226f, 0.003167f, 0.004450f, 0.023039f, 0.012359f, 0.018716f, -0.005613f, 0.009975f, 0.028137f, 0.001812f, 0.019211f, 0.003610f, 0.000820f, 0.031097f, -0.040401f, -0.014613f, -0.013649f, 0.027081f, -0.020558f, -0.005265f, -0.012080f, 0.026821f, -0.011263f, 0.059546f, 0.043552f, -0.040406f, - 0.019922f, -0.048570f, 0.007062f, 0.017681f, 0.009547f, 0.010616f, -0.061950f, -0.011941f, -0.059746f, 0.008030f, 0.005010f, 0.007388f, -0.009374f, -0.010751f, 0.028687f, -0.051569f, 0.017841f, -0.022277f, -0.097243f, -0.036347f, -0.031779f, 0.016109f, -0.014105f, 0.014899f, 0.048777f, 0.052020f, 0.029485f, 0.027415f, 0.025430f, 0.007471f, -0.038628f, 0.040725f, 0.000136f, -0.044852f, -0.035700f, -0.056392f, -0.074759f, -0.038494f, -0.007510f, 0.059944f, 0.021638f, 0.003741f, 0.022993f, -0.018186f, -0.000365f, 0.011610f, 0.009627f, -0.004721f, 0.008832f, 0.002932f, 0.006144f, 0.002607f, -0.018443f, 0.015026f, 0.009970f, 0.007432f, 0.003028f, -0.009570f, 0.005307f, -0.014278f, -0.005080f, -0.022234f, 0.018656f, 0.014149f, -0.003020f, 0.002132f, 0.014935f, 0.023740f, -0.010584f, -0.022958f, -0.006945f, 0.018883f, -0.004120f, -0.013663f, 0.020115f, -0.001631f, -0.011609f, 0.013953f, 0.005603f, 0.001011f, -0.003400f, -0.000408f, -0.009854f, 0.006872f, -0.006271f, -0.002738f, 0.014419f, -0.077926f, -0.036612f, -0.027553f, 0.013505f, -0.059624f, 0.020337f, -0.035948f, 0.049352f, -0.059297f, - -0.074993f, -0.016837f, -0.011446f, 0.057470f, 0.027693f, 0.025177f, -0.015685f, 0.006030f, -0.036732f, -0.029691f, 0.005994f, 0.011455f, -0.047130f, -0.043910f, -0.030993f, -0.004609f, 0.022667f, 0.016092f, -0.033307f, -0.041854f, -0.024559f, -0.025018f, -0.056446f, -0.032928f, 0.023945f, -0.016267f, -0.001074f, -0.008420f, 0.017386f, 0.027999f, -0.008272f, -0.084215f, 0.034524f, 0.069087f, 0.025335f, -0.002260f, -0.084465f, -0.020707f, 0.035849f, -0.011139f, 0.092928f, -0.010704f, -0.076173f, 0.011759f, -0.013419f, 0.005558f, 0.001381f, -0.015785f, 0.019568f, 0.024412f, -0.080329f, -0.021938f, 0.003673f, 0.027540f, -0.015500f, -0.041230f, 0.035441f, 0.002969f, -0.027712f, -0.080007f, -0.092752f, -0.048026f, -0.006590f, 0.006161f, 0.073026f, 0.103529f, 0.052957f, 0.040249f, 0.017144f, -0.061001f, 0.021353f, -0.000849f, -0.032281f, -0.009639f, -0.100217f, -0.021499f, -0.001344f, 0.000238f, 0.002825f, 0.042907f, 0.015610f, 0.012450f, -0.018552f, -0.006214f, 0.037029f, -0.026194f, -0.001116f, -0.002051f, 0.006617f, -0.019556f, -0.032092f, -0.035595f, 0.014891f, -0.016850f, -0.006418f, 0.020110f, - 0.000055f, 0.002882f, -0.027475f, 0.008626f, 0.007971f, 0.004213f, -0.022738f, -0.011595f, -0.015214f, -0.023591f, 0.002427f, -0.013868f, 0.024253f, 0.009357f, -0.017716f, 0.002827f, -0.006999f, 0.016808f, -0.024116f, -0.003500f, -0.001724f, 0.011827f, 0.010318f, 0.005240f, 0.012610f, -0.000611f, 0.006353f, 0.140002f, 0.128588f, -0.054347f, 0.066684f, 0.059059f, -0.016675f, -0.010082f, -0.030755f, -0.016692f, -0.036140f, -0.025462f, 0.106694f, -0.005899f, 0.062151f, 0.000654f, 0.003009f, 0.000719f, -0.042133f, 0.009930f, 0.008720f, -0.092698f, 0.013791f, 0.022288f, -0.048703f, -0.010323f, -0.015004f, -0.006791f, 0.013722f, -0.002920f, 0.002852f, 0.040608f, 0.016570f, -0.020020f, 0.012611f, 0.064816f, 0.001126f, 0.029762f, -0.001546f, 0.024244f, -0.035774f, -0.043482f, -0.024158f, -0.079664f, 0.021331f, 0.008681f, -0.035237f, -0.096769f, -0.062991f, -0.090491f, 0.065840f, -0.047102f, 0.010354f, 0.016043f, 0.015036f, 0.012298f, 0.070269f, -0.067761f, 0.000504f, -0.038096f, 0.074388f, -0.166881f, 0.034307f, 0.012610f, 0.053424f, 0.048231f, 0.000378f, -0.015654f, -0.025362f, -0.007652f, - -0.048277f, 0.035260f, 0.098294f, -0.007768f, 0.020411f, 0.061661f, -0.043110f, 0.024307f, 0.030359f, -0.054819f, -0.037634f, -0.101394f, 0.083889f, -0.016585f, -0.073580f, 0.049157f, -0.012227f, 0.031992f, -0.002095f, 0.027679f, 0.004931f, -0.022012f, 0.034835f, 0.032879f, 0.005550f, 0.018681f, 0.031698f, 0.018395f, -0.021057f, -0.009477f, -0.020562f, -0.009536f, 0.026740f, 0.050502f, -0.002090f, -0.009812f, -0.001954f, 0.032260f, -0.051407f, 0.029120f, -0.013862f, 0.068411f, 0.013760f, -0.041455f, -0.008227f, 0.030080f, -0.015900f, -0.022010f, -0.015980f, -0.012942f, -0.015711f, 0.016232f, 0.012013f, 0.043469f, -0.036719f, 0.001706f, -0.004142f, 0.023475f, 0.001666f, -0.003731f, 0.014398f, 0.016739f, 0.013490f, 0.027967f, 0.003666f, 0.032314f, -0.048605f, -0.046088f, 0.056914f, -0.116019f, 0.079947f, -0.047866f, -0.033462f, -0.021059f, 0.007255f, -0.033615f, -0.026176f, 0.036339f, -0.011197f, -0.079361f, 0.027340f, -0.004890f, 0.014010f, -0.017892f, 0.070499f, -0.057574f, 0.002419f, 0.029253f, -0.020009f, 0.022155f, -0.046991f, 0.003851f, -0.040438f, -0.020482f, 0.043921f, 0.005634f, - 0.017586f, -0.024970f, 0.042459f, -0.012231f, -0.019849f, 0.016305f, -0.026037f, -0.021639f, -0.013922f, -0.014291f, -0.043883f, -0.058719f, -0.016369f, 0.032654f, 0.000504f, -0.018346f, -0.058672f, 0.002318f, -0.046374f, -0.003025f, 0.018669f, -0.045807f, -0.011295f, 0.033853f, 0.034290f, 0.024981f, -0.056937f, -0.026869f, 0.039258f, 0.012871f, -0.001088f, 0.031898f, -0.186870f, -0.043137f, -0.020822f, -0.084798f, 0.008378f, 0.023437f, -0.004958f, 0.015782f, 0.040098f, -0.022982f, -0.039694f, 0.010249f, -0.036031f, -0.010798f, 0.038940f, 0.061832f, -0.023358f, -0.074353f, -0.044901f, 0.004965f, -0.039689f, 0.006357f, -0.030774f, -0.028965f, 0.007829f, -0.059528f, 0.000784f, -0.037089f, -0.011363f, -0.020248f, 0.008448f, 0.015255f, -0.005826f, -0.036793f, 0.008285f, -0.002267f, -0.023219f, 0.029112f, -0.001095f, -0.027034f, -0.009249f, -0.006925f, -0.010139f, -0.018656f, 0.010396f, -0.017007f, 0.014302f, 0.019827f, -0.007518f, 0.002525f, -0.011281f, -0.025531f, -0.036283f, 0.006837f, 0.005108f, 0.017260f, -0.041998f, 0.009237f, 0.000127f, -0.026902f, 0.021350f, -0.010879f, 0.015405f, 0.034816f, - -0.076370f, 0.015990f, 0.011222f, 0.022773f, -0.012294f, -0.007257f, 0.025846f, 0.001428f, 0.125310f, -0.016094f, -0.034944f, 0.004581f, -0.014184f, 0.061994f, 0.011493f, -0.005459f, 0.058833f, 0.059720f, 0.019449f, 0.022994f, 0.032623f, -0.074028f, -0.041088f, 0.061075f, -0.008633f, -0.060797f, -0.030952f, -0.027687f, 0.041494f, 0.022208f, -0.022541f, -0.087713f, 0.026922f, 0.013567f, 0.011308f, 0.014208f, -0.010878f, 0.008724f, -0.065987f, 0.058554f, 0.040430f, 0.021505f, -0.033244f, -0.028086f, -0.000484f, 0.029253f, -0.006797f, 0.030432f, 0.012943f, -0.069375f, -0.031193f, 0.010826f, -0.070114f, 0.004025f, 0.012914f, -0.061433f, -0.086836f, -0.012191f, 0.025649f, -0.050315f, -0.105368f, -0.046026f, -0.027920f, 0.068053f, -0.041831f, 0.076814f, -0.016303f, 0.003582f, 0.032384f, 0.004480f, -0.118048f, -0.007844f, 0.004442f, 0.054934f, -0.105124f, -0.144617f, 0.010003f, -0.009411f, -0.092661f, 0.052063f, 0.024029f, -0.003415f, -0.000782f, 0.085165f, -0.122298f, 0.100038f, 0.020658f, 0.013452f, 0.040062f, -0.043774f, -0.040212f, -0.007519f, 0.018422f, -0.024841f, -0.002303f, 0.051448f, - -0.043974f, -0.034741f, 0.044928f, -0.025539f, -0.013263f, 0.019196f, 0.012045f, -0.050723f, 0.025461f, -0.016855f, -0.005094f, 0.018218f, 0.017222f, -0.053999f, -0.009284f, -0.041920f, 0.023137f, 0.033097f, 0.001717f, -0.069489f, 0.048955f, -0.011788f, -0.001570f, 0.030180f, -0.007962f, -0.025090f, -0.005048f, 0.039814f, -0.059944f, 0.041005f, 0.001763f, -0.004122f, 0.014485f, 0.008236f, -0.037671f, 0.017573f, -0.000625f, 0.002125f, -0.048963f, 0.033770f, -0.032215f, 0.037249f, 0.005053f, -0.043978f, 0.003209f, 0.006033f, -0.013192f, 0.006532f, 0.058915f, 0.023099f, 0.138647f, -0.057967f, -0.060469f, -0.025016f, -0.002187f, 0.131684f, -0.017994f, 0.109085f, -0.076108f, -0.029839f, 0.046350f, -0.082946f, -0.027130f, -0.078039f, 0.013214f, 0.079647f, -0.108980f, -0.039898f, -0.009021f, 0.033305f, -0.000545f, 0.012312f, 0.030670f, -0.007567f, -0.068920f, -0.063863f, 0.003625f, 0.045364f, 0.121904f, -0.026832f, 0.033370f, -0.034810f, 0.060402f, 0.002178f, 0.007451f, -0.016660f, -0.071271f, 0.002516f, 0.066574f, -0.011217f, -0.003422f, -0.024530f, -0.062102f, 0.082543f, 0.031829f, 0.055125f, - 0.074083f, -0.003460f, 0.004798f, 0.045875f, -0.117133f, 0.040817f, -0.058896f, 0.139399f, -0.012650f, 0.013887f, 0.021402f, -0.040431f, -0.040502f, 0.014186f, -0.058704f, 0.088541f, -0.051138f, -0.064895f, -0.065345f, 0.092583f, 0.031849f, 0.053740f, -0.011379f, 0.053691f, 0.054753f, -0.055110f, -0.015445f, -0.051093f, -0.026538f, 0.096497f, 0.068705f, 0.009271f, 0.019199f, -0.145466f, 0.100431f, 0.131448f, 0.015606f, -0.010266f, -0.024392f, -0.077907f, 0.113770f, -0.006256f, 0.008181f, -0.021931f, 0.003804f, -0.049039f, 0.106528f, -0.024936f, 0.052194f, 0.008638f, -0.017868f, -0.005771f, 0.102643f, -0.056013f, 0.050854f, 0.017216f, -0.042794f, 0.006452f, -0.013385f, 0.028629f, 0.008673f, 0.041837f, -0.016662f, 0.004839f, 0.008366f, 0.000048f, 0.041549f, 0.070708f, -0.021050f, -0.003012f, 0.008615f, 0.039126f, 0.011622f, -0.053350f, -0.035588f, 0.076576f, 0.015416f, 0.037891f, -0.073901f, -0.088875f, 0.083338f, 0.055604f, 0.026447f, -0.005648f, -0.068726f, -0.000756f, 0.012288f, -0.103395f, 0.070737f, -0.073532f, 0.008932f, -0.033883f, 0.027301f, -0.002854f, 0.038901f, -0.006258f, - -0.033649f, 0.057959f, -0.020352f, -0.008107f, 0.008916f, -0.024329f, -0.021143f, 0.066914f, -0.015788f, -0.009187f, -0.007835f, -0.003432f, 0.030701f, -0.023406f, 0.007231f, -0.017125f, 0.015325f, -0.014950f, -0.011402f, -0.035884f, 0.052490f, -0.032413f, 0.017404f, 0.008432f, 0.036364f, -0.040847f, 0.009137f, -0.016695f, 0.041248f, 0.005434f, 0.003270f, 0.032665f, 0.009715f, -0.054088f, -0.008016f, -0.009253f, 0.015017f, 0.023718f, 0.019785f, -0.049164f, 0.021043f, -0.037131f, 0.026255f, -0.021152f, 0.005559f, -0.012122f, 0.025916f, -0.010118f, 0.007485f, -0.054993f, 0.012969f, 0.026774f, -0.025262f, 0.025062f, 0.003376f, 0.009249f, 0.015544f, -0.022136f, 0.037987f, 0.015071f, -0.002192f, -0.011910f, 0.018429f, -0.011525f, 0.034448f, -0.028821f, -0.008679f, -0.027425f, 0.035668f, -0.035284f, 0.032391f, -0.029397f, 0.039402f, -0.033490f, 0.020630f, -0.033014f, 0.028964f, -0.002178f, 0.002947f, -0.009480f, 0.001498f, -0.005660f, -0.005176f, -0.010069f, 0.017182f, 0.006879f, -0.002447f, 0.005785f, -0.005334f, -0.009177f, 0.017253f, 0.002804f, 0.006503f, -0.011060f, 0.000625f, 0.017458f, - -0.020031f, -0.004718f, 0.011529f, 0.000416f, -0.006033f, -0.012696f, 0.031308f, -0.009766f, -0.015899f, 0.008337f, 0.002750f, -0.004814f, 0.003267f, -0.001634f, 0.002975f, -0.005173f, 0.004421f, -0.009079f, 0.015312f, -0.012582f, 0.017669f, 0.007940f, -0.043085f, 0.086971f, 0.007233f, 0.010913f, -0.034825f, -0.025660f, -0.055277f, 0.037008f, -0.015537f, -0.011314f, -0.024049f, -0.000979f, -0.021447f, -0.002703f, -0.002874f, 0.009671f, 0.010810f, -0.001746f, -0.002621f, -0.015750f, 0.014585f, 0.013638f, -0.013082f, 0.006093f, -0.029629f, 0.011738f, 0.005689f, -0.005228f, -0.004656f, -0.009920f, 0.009353f, 0.002023f, -0.021124f, -0.005709f, -0.006244f, -0.017529f, 0.028599f, 0.002956f, -0.018383f, 0.002751f, -0.007250f, 0.024929f, -0.008739f, -0.011731f, 0.004771f, -0.014953f, 0.029082f, 0.000791f, -0.016196f, 0.004568f, -0.006646f, 0.014211f, -0.018464f, -0.003694f, 0.005989f, -0.006730f, 0.012733f, -0.007340f, 0.003633f, 0.005766f, -0.016665f, 0.002277f, 0.016409f, -0.025245f, -0.001732f, 0.007605f, -0.023468f, 0.042571f, -0.039063f, 0.019419f, 0.006972f, -0.022310f, 0.043979f, -0.030015f, - 0.006995f, 0.005586f, -0.018711f, 0.014487f, -0.007692f, -0.014412f, 0.013975f, -0.017163f, 0.011064f, -0.007904f, -0.005884f, 0.012631f, -0.010615f, 0.004041f, -0.004351f, -0.000157f, 0.002393f, -0.005789f, 0.002628f, -0.000345f, -0.005701f, 0.011946f, -0.010269f, 0.008898f, 0.000255f, -0.008399f, 0.008113f, -0.014797f, -0.001502f, 0.003871f, -0.002510f, -0.002058f, 0.002009f, -0.007701f, 0.009337f, -0.004794f, -0.003424f, 0.000984f, 0.000902f, -0.006010f, -0.000982f, -0.003478f, 0.003179f, 0.004711f, -0.006836f, 0.005888f, -0.006529f, -0.001266f, 0.006166f, -0.004673f, 0.020324f, -0.093170f, -0.215098f, 0.056455f, 0.199125f, 0.168356f, 0.225905f, -0.111348f, -0.144298f, -0.217006f, -0.221800f, 0.015274f, 0.165390f, 0.182606f, 0.200034f, 0.066541f, -0.043509f, -0.158666f, -0.262704f, -0.143913f, 0.066854f, 0.103570f, 0.175241f, 0.132848f, 0.036311f, -0.023510f, -0.055323f, -0.131570f, -0.085247f, -0.081108f, -0.014848f, 0.069383f, 0.106335f, 0.056002f, 0.070999f, 0.035941f, -0.039958f, -0.006194f, -0.085480f, -0.118986f, -0.020338f, -0.027714f, 0.021023f, 0.112351f, 0.064743f, 0.055798f, - 0.016500f, -0.042012f, -0.043281f, -0.037269f, -0.061613f, -0.016095f, 0.002765f, 0.026498f, 0.032287f, 0.053769f, 0.015348f, -0.001836f, -0.027085f, -0.049955f, -0.004244f, 0.018059f, 0.018517f, 0.031552f, -0.007997f, -0.025059f, -0.012016f, -0.025093f, -0.019693f, 0.005410f, 0.014208f, 0.040399f, 0.034254f, 0.032739f, 0.001936f, -0.017499f, -0.065515f, -0.060906f, -0.024795f, 0.003951f, 0.050695f, 0.054372f, 0.022461f, 0.023080f, -0.002530f, -0.043773f, -0.026768f, -0.003123f, -0.010221f, 0.002393f, 0.004664f, 0.010575f, 0.008853f, -0.005628f, -0.014251f, 0.008496f, 0.013259f, 0.010866f, 0.011316f, -0.000995f, -0.008183f, -0.005101f, -0.022186f, -0.009131f, -0.012218f, -0.020898f, 0.012440f, 0.030408f, 0.035507f, 0.011761f, 0.012846f, -0.006885f, -0.008231f, -0.031743f, -0.047117f, -0.018185f, 0.005463f, 0.014752f, 0.018393f, 0.038695f, 0.036047f, 0.017444f, -0.014199f, -0.030285f, -0.034079f, -0.031986f, -0.023570f, -0.001620f, 0.028771f, 0.044395f, 0.035299f, 0.010190f, -0.016667f, -0.020152f, -0.019996f, -0.011676f, -0.007575f, -0.008782f, 0.008804f, 0.020289f, 0.015094f, 0.003186f, - -0.002527f, -0.001637f, -0.005110f, -0.006020f, -0.008297f, -0.003786f, 0.005035f, 0.004001f, 0.002673f, 0.002685f, 0.002606f, 0.001782f, -0.003517f, -0.003687f, -0.000575f, 0.000225f, -0.000056f, -0.000117f} - }, - { - {-0.010320f, -0.009100f, 0.011321f, -0.002316f, 0.009039f, 0.002637f, 0.013444f, -0.003134f, -0.006956f, -0.004792f, 0.008213f, 0.000228f, -0.002991f, -0.000797f, 0.009287f, -0.002474f, 0.001684f, 0.003258f, -0.006243f, -0.004751f, -0.002037f, 0.001712f, -0.006480f, 0.001645f, 0.001311f, -0.007506f, -0.002446f, -0.004492f, 0.000627f, -0.003283f, 0.001192f, 0.012236f, 0.006266f, -0.003584f, 0.000572f, -0.005817f, 0.004450f, -0.001569f, 0.007221f, -0.015015f, -0.001661f, 0.002316f, -0.005357f, 0.000955f, 0.007260f, 0.005546f, -0.006773f, -0.005005f, -0.005449f, -0.001017f, -0.004322f, -0.002194f, -0.006613f, 0.002509f, -0.000605f, -0.007636f, -0.003976f, -0.003089f, -0.000412f, 0.001563f, -0.001694f, -0.000802f, 0.003251f, 0.001288f, -0.003629f, 0.001875f, 0.008094f, -0.004182f, -0.001109f, -0.008748f, -0.003363f, -0.000692f, 0.003583f, -0.003707f, 0.001017f, 0.001459f, 0.001180f, 0.002804f, -0.006784f, -0.000242f, -0.003839f, 0.003184f, -0.002470f, -0.006527f, -0.001887f, -0.000223f, -0.000148f, -0.002895f, -0.003062f, 0.003149f, -0.001464f, -0.000604f, 0.001139f, 0.001830f, 0.000054f, -0.000448f, - 0.000327f, 0.001079f, 0.000040f, -0.000745f, 0.001413f, 0.000237f, -0.001294f, -0.001179f, 0.001318f, -0.000505f, 0.000458f, -0.000889f, 0.001188f, -0.001152f, -0.000762f, -0.000213f, -0.000276f, 0.000403f, 0.014044f, -0.005234f, 0.004579f, 0.011744f, -0.009502f, -0.010722f, -0.001561f, -0.002670f, -0.000111f, 0.005986f, 0.003349f, -0.014912f, 0.002353f, -0.008553f, -0.011757f, -0.000752f, 0.004343f, 0.004679f, -0.003819f, -0.000493f, -0.001234f, 0.006417f, -0.001303f, 0.005277f, -0.002438f, 0.000618f, 0.001184f, 0.001609f, -0.007432f, 0.003142f, 0.005799f, -0.002703f, 0.007383f, -0.004071f, -0.000772f, -0.009188f, 0.006564f, 0.001650f, -0.002396f, -0.007125f, -0.007030f, -0.003205f, -0.002380f, 0.003569f, -0.000745f, 0.003082f, 0.003082f, -0.006321f, 0.003974f, -0.008492f, 0.003074f, 0.004947f, 0.009411f, 0.009030f, -0.007746f, 0.003859f, -0.000461f, -0.002056f, 0.005526f, -0.004188f, -0.004962f, -0.003761f, 0.004513f, 0.002230f, 0.005872f, -0.005800f, 0.008823f, -0.002849f, -0.000406f, 0.002647f, 0.001495f, 0.005154f, -0.003861f, 0.007343f, 0.009310f, 0.016220f, 0.007572f, 0.005159f, - -0.009538f, -0.001753f, -0.006210f, -0.004524f, 0.005936f, -0.000775f, 0.007325f, 0.002975f, -0.000535f, -0.001457f, -0.001220f, 0.004204f, -0.003141f, 0.003352f, 0.004013f, -0.003133f, 0.001945f, 0.001449f, 0.000468f, 0.002395f, -0.001435f, -0.000446f, -0.003092f, -0.017182f, -0.018490f, 0.002111f, -0.001514f, 0.004401f, 0.004108f, 0.012217f, 0.005529f, 0.005838f, 0.002961f, -0.005970f, 0.002310f, 0.015434f, -0.010304f, -0.001151f, 0.000485f, 0.012392f, 0.007460f, 0.001733f, 0.005503f, -0.000972f, 0.004254f, 0.005717f, 0.012705f, 0.007043f, 0.007140f, 0.003840f, 0.003069f, 0.006197f, 0.002258f, -0.008838f, 0.005448f, 0.007318f, -0.002583f, 0.005325f, 0.007032f, -0.002434f, 0.002227f, 0.008774f, 0.003259f, -0.002097f, 0.003170f, 0.008955f, -0.000434f, -0.000082f, -0.001738f, 0.002470f, 0.008402f, -0.002458f, -0.004697f, 0.002438f, -0.002875f, 0.004445f, 0.005285f, -0.006218f, 0.001368f, -0.004010f, 0.000353f, 0.002573f, 0.007078f, 0.005821f, -0.014802f, -0.000012f, 0.007293f, -0.003755f, -0.006152f, 0.000854f, 0.001166f, 0.007326f, -0.000580f, -0.015802f, -0.006887f, 0.005147f, - -0.004369f, 0.007478f, -0.002042f, 0.000064f, 0.001924f, 0.009373f, 0.005895f, 0.003989f, -0.004781f, 0.007703f, -0.000889f, 0.004728f, 0.002343f, 0.000954f, 0.001640f, 0.001625f, -0.000088f, -0.001204f, 0.001060f, -0.000640f, -0.003806f, -0.001603f, -0.001547f, -0.000463f, -0.000853f, 0.000011f, -0.001128f, -0.002752f, 0.001412f, 0.000609f, -0.001380f, 0.000339f, 0.002643f, 0.001934f, 0.000935f, -0.000347f, -0.000408f, -0.000255f, -0.000109f, 0.002496f, -0.031272f, 0.004404f, 0.003249f, 0.014613f, -0.000547f, 0.011414f, 0.005866f, 0.002921f, -0.018319f, 0.000043f, -0.000262f, -0.014210f, 0.002298f, 0.010653f, 0.002040f, -0.000188f, -0.001324f, -0.005659f, -0.006490f, 0.002921f, 0.004215f, -0.000487f, 0.002818f, 0.003287f, 0.012797f, 0.001482f, 0.005677f, 0.005983f, -0.006687f, 0.001466f, -0.001564f, -0.001832f, -0.000841f, 0.004725f, -0.000714f, -0.003185f, -0.005109f, -0.003048f, 0.001653f, -0.009080f, -0.006452f, 0.003852f, -0.007227f, 0.002385f, -0.011880f, -0.014219f, -0.003623f, 0.017628f, -0.004647f, -0.001020f, 0.010401f, 0.003502f, 0.000774f, 0.011137f, -0.001569f, 0.001262f, - -0.001405f, 0.003279f, 0.007150f, -0.002777f, -0.011113f, 0.007122f, -0.006478f, -0.012319f, -0.004914f, -0.003432f, -0.000012f, 0.004557f, 0.013362f, 0.000111f, -0.000134f, -0.005209f, -0.000496f, 0.007904f, -0.003729f, -0.004055f, 0.009529f, -0.008030f, -0.000620f, 0.004382f, -0.009747f, -0.001888f, -0.003380f, -0.003276f, 0.001087f, -0.005199f, -0.007354f, 0.000474f, 0.004561f, -0.002099f, -0.003175f, -0.004145f, -0.004212f, -0.000568f, 0.003039f, 0.001390f, -0.000416f, -0.001212f, -0.003278f, 0.000176f, -0.001098f, -0.003981f, -0.005886f, -0.005002f, -0.000070f, -0.000625f, 0.002378f, -0.003887f, -0.000188f, -0.000550f, 0.001893f, -0.000286f, 0.000813f, 0.027881f, 0.000927f, -0.001678f, -0.010555f, -0.006067f, 0.014720f, -0.005940f, 0.011496f, 0.009893f, -0.011203f, -0.001815f, 0.008626f, -0.006267f, -0.003014f, -0.002923f, -0.004050f, 0.001861f, 0.003109f, 0.000541f, 0.005397f, -0.002433f, 0.000866f, 0.002042f, -0.002231f, -0.005261f, -0.005476f, -0.006200f, 0.000520f, 0.007268f, 0.003185f, -0.006121f, 0.000601f, 0.002879f, 0.013871f, -0.004081f, 0.012421f, -0.011263f, 0.005142f, 0.008954f, - -0.005859f, -0.003575f, -0.011473f, 0.005457f, -0.000076f, -0.008055f, 0.008046f, -0.009992f, 0.011276f, -0.000589f, 0.015943f, 0.003681f, 0.001779f, 0.003873f, 0.006668f, 0.003559f, -0.005090f, 0.007871f, -0.001409f, -0.008345f, -0.013047f, -0.003540f, 0.005612f, -0.006539f, -0.004205f, 0.005140f, -0.007270f, 0.014396f, -0.013763f, -0.000040f, 0.009302f, -0.007865f, -0.003072f, -0.014472f, -0.001022f, -0.005654f, -0.003116f, -0.004327f, 0.012611f, 0.004961f, 0.001345f, 0.000542f, 0.010890f, 0.001097f, -0.000860f, 0.008699f, 0.007209f, 0.006530f, 0.013515f, -0.002842f, 0.001384f, -0.003761f, 0.003872f, 0.004459f, 0.000979f, 0.001325f, -0.002194f, -0.000063f, -0.003136f, -0.001576f, 0.000390f, 0.001245f, 0.002217f, -0.001030f, -0.000389f, 0.004348f, 0.002089f, -0.001586f, 0.008416f, -0.000427f, -0.001990f, -0.003393f, -0.002156f, 0.003083f, -0.002778f, 0.000315f, -0.000262f, -0.002895f, 0.001376f, 0.000921f, -0.000707f, 0.002140f, 0.002289f, -0.002191f, 0.002373f, 0.013457f, 0.023816f, -0.006949f, -0.010353f, 0.002739f, -0.004219f, 0.006576f, 0.021685f, 0.000145f, -0.004973f, 0.006889f, - 0.003747f, 0.006428f, 0.003909f, -0.011783f, 0.000462f, -0.010515f, 0.005890f, 0.005103f, 0.003125f, 0.019825f, -0.000923f, 0.014783f, -0.000363f, -0.000352f, 0.004523f, -0.000112f, 0.015574f, 0.002069f, 0.009818f, -0.003604f, 0.013291f, -0.005968f, 0.007102f, 0.026283f, -0.004266f, -0.006621f, 0.018553f, 0.003909f, 0.012099f, -0.000284f, -0.011484f, 0.003601f, -0.006611f, 0.007950f, -0.013842f, -0.001845f, -0.007177f, 0.007838f, -0.001142f, 0.001625f, 0.014346f, -0.006944f, -0.014350f, 0.004040f, -0.001205f, -0.000668f, 0.011675f, 0.002261f, 0.001695f, -0.005238f, -0.009425f, -0.010021f, -0.003316f, -0.008272f, -0.006218f, 0.008587f, -0.004279f, -0.000806f, -0.003095f, 0.001019f, 0.000086f, 0.007666f, 0.004832f, -0.008759f, -0.012614f, -0.002950f, 0.000449f, 0.003499f, -0.003407f, -0.003097f, 0.010448f, 0.005942f, 0.005170f, 0.001521f, -0.008426f, -0.003906f, 0.004633f, 0.000210f, -0.002749f, 0.003717f, -0.001117f, 0.002271f, -0.002703f, 0.000234f, -0.001526f, -0.004797f, -0.005651f, -0.001503f, -0.004993f, 0.001348f, -0.000693f, 0.000509f, 0.003518f, -0.000909f, -0.002648f, 0.004265f, - 0.000978f, 0.002725f, 0.001653f, 0.000279f, -0.001518f, 0.002113f, -0.000462f, -0.000474f, -0.000089f, -0.000453f, 0.000253f, -0.000865f, 0.001257f, 0.002707f, -0.003231f, 0.000906f, -0.003821f, 0.000612f, -0.001809f, 0.032670f, -0.017148f, 0.011464f, 0.000448f, 0.005651f, -0.007889f, -0.006183f, -0.003593f, 0.007103f, 0.009151f, 0.001944f, -0.005013f, -0.009499f, 0.004967f, 0.009031f, -0.001765f, 0.002834f, -0.004831f, 0.009845f, 0.003651f, -0.018508f, -0.006075f, 0.005953f, -0.001076f, -0.007870f, -0.000368f, 0.008414f, -0.006175f, 0.002852f, -0.012028f, 0.007016f, 0.015223f, -0.006306f, 0.016102f, 0.000539f, -0.002927f, 0.010715f, -0.000458f, 0.000819f, 0.009704f, -0.020956f, 0.003151f, 0.006341f, 0.008917f, 0.006013f, 0.006967f, -0.009411f, -0.007283f, -0.000340f, 0.003345f, -0.010192f, 0.003369f, 0.009882f, 0.008888f, 0.003278f, 0.027128f, -0.008557f, -0.003397f, -0.012292f, -0.005258f, -0.008063f, -0.011286f, 0.013964f, 0.005835f, 0.013638f, -0.002131f, -0.021859f, 0.012722f, -0.007726f, 0.006993f, 0.006250f, 0.003055f, 0.003755f, -0.017249f, 0.020430f, 0.004467f, -0.009491f, - -0.016552f, -0.010391f, -0.010368f, 0.001435f, 0.008458f, -0.007725f, 0.000648f, 0.005183f, 0.004444f, -0.000008f, -0.003590f, 0.000833f, -0.000359f, 0.003210f, 0.003443f, 0.003679f, 0.002578f, 0.002426f, 0.001278f, -0.006037f, -0.005397f, 0.000245f, -0.001981f, 0.001952f, 0.002460f, -0.002816f, 0.003924f, -0.000969f, 0.001435f, 0.003223f, 0.001404f, 0.002497f, 0.000753f, -0.006421f, -0.000439f, -0.000104f, 0.002264f, 0.001644f, 0.000782f, -0.001468f, -0.001720f, 0.003443f, -0.001008f, 0.008414f, 0.001461f, 0.003627f, -0.039157f, -0.032963f, -0.030391f, 0.006781f, 0.006242f, 0.002544f, 0.001364f, -0.002170f, -0.002367f, 0.000813f, -0.005184f, -0.011028f, -0.007666f, -0.019305f, -0.008528f, -0.009371f, 0.011537f, -0.014839f, -0.006569f, -0.008401f, 0.002490f, 0.000168f, -0.003851f, 0.004327f, -0.001289f, -0.015407f, -0.000313f, 0.014135f, 0.001826f, -0.013744f, -0.012149f, 0.005308f, -0.004914f, 0.011863f, 0.008342f, -0.012986f, 0.012817f, 0.020232f, -0.016964f, -0.017376f, -0.009293f, 0.006382f, 0.016084f, -0.011460f, -0.011850f, 0.006085f, -0.006843f, 0.001251f, -0.001525f, -0.001477f, - -0.018454f, 0.003524f, 0.011171f, -0.005737f, 0.006396f, -0.009177f, -0.010912f, -0.010833f, -0.005362f, -0.018661f, 0.031958f, -0.006777f, -0.002158f, 0.005580f, 0.003476f, 0.006807f, 0.004352f, 0.009970f, 0.004552f, 0.008656f, 0.019780f, -0.025531f, 0.017863f, -0.006091f, -0.004855f, -0.000878f, -0.028495f, -0.001305f, 0.008719f, 0.000790f, 0.001123f, 0.007961f, 0.002913f, -0.000707f, 0.004737f, -0.009634f, 0.011153f, -0.004033f, -0.006494f, 0.006054f, -0.003950f, -0.003564f, 0.001141f, 0.004941f, -0.003814f, -0.006049f, 0.002057f, 0.004796f, 0.000188f, -0.002056f, -0.005273f, -0.002900f, 0.000727f, -0.007456f, -0.004982f, -0.002603f, 0.003555f, -0.001688f, 0.000267f, 0.003929f, 0.000067f, -0.007428f, -0.001692f, -0.006326f, -0.005625f, -0.005307f, -0.003276f, -0.005863f, 0.004963f, -0.001754f, 0.000326f, 0.010644f, -0.002124f, -0.003248f, -0.002881f, 0.005756f, 0.001444f, -0.001984f, -0.038506f, 0.029514f, 0.007820f, 0.006433f, -0.007129f, 0.028888f, -0.004547f, 0.013610f, -0.000041f, 0.012245f, -0.017194f, 0.006804f, 0.006746f, 0.002629f, -0.008459f, 0.025713f, -0.006972f, 0.007836f, - 0.005917f, 0.026686f, -0.018007f, -0.001175f, 0.007425f, -0.004645f, -0.013213f, 0.007970f, -0.012428f, 0.003210f, 0.003405f, -0.014601f, 0.005651f, 0.001190f, 0.000736f, 0.029349f, 0.018356f, -0.002465f, -0.012010f, -0.009395f, 0.006554f, -0.001570f, -0.017602f, 0.004988f, -0.001546f, 0.005176f, 0.013259f, 0.019517f, -0.013406f, 0.013268f, 0.006651f, -0.008812f, 0.006348f, 0.005097f, -0.013865f, -0.007515f, -0.008692f, 0.013967f, -0.015111f, -0.012850f, -0.034637f, -0.025397f, 0.007038f, -0.004784f, -0.004981f, -0.013361f, -0.026875f, 0.010292f, 0.002072f, -0.000813f, 0.013168f, 0.011194f, 0.015837f, 0.009383f, 0.003833f, -0.000475f, 0.002535f, 0.017877f, -0.013219f, 0.024488f, -0.009009f, -0.006968f, -0.022386f, 0.003551f, -0.004109f, -0.011433f, -0.002020f, 0.002708f, -0.005630f, 0.006504f, -0.002703f, 0.000265f, -0.002752f, -0.000909f, -0.002363f, -0.000561f, 0.004049f, 0.006400f, 0.000519f, 0.005281f, -0.005969f, -0.004264f, -0.003024f, 0.002189f, 0.004611f, -0.006107f, -0.002288f, -0.002857f, 0.000897f, -0.003417f, 0.002745f, -0.000634f, 0.002390f, 0.004031f, 0.000068f, -0.006510f, - 0.009184f, 0.008799f, 0.003678f, 0.000040f, -0.003961f, -0.000271f, -0.002062f, -0.000980f, 0.010387f, -0.046543f, 0.043063f, 0.030934f, -0.012615f, -0.010650f, 0.011629f, 0.000106f, 0.001060f, 0.020552f, 0.014547f, 0.000599f, -0.003025f, 0.008278f, -0.004774f, -0.002972f, 0.005803f, -0.009209f, 0.011573f, 0.007932f, -0.009611f, 0.012476f, -0.001335f, 0.003367f, -0.000900f, -0.020510f, -0.001136f, 0.014936f, 0.015486f, 0.006079f, 0.006640f, 0.008304f, -0.009546f, -0.012083f, 0.005232f, 0.009308f, -0.000377f, -0.004660f, -0.010528f, 0.004388f, -0.003079f, 0.013194f, 0.015538f, -0.001725f, 0.017910f, -0.009300f, 0.019959f, 0.010817f, 0.024053f, 0.001747f, 0.003526f, -0.006909f, -0.009806f, -0.001849f, 0.018466f, 0.030141f, 0.001844f, 0.022978f, -0.009882f, -0.022014f, 0.002967f, 0.008335f, -0.019237f, 0.020089f, -0.006614f, 0.007114f, -0.042402f, -0.018227f, -0.000250f, -0.010174f, 0.008242f, 0.014053f, 0.029496f, 0.006164f, 0.000251f, -0.014409f, -0.025576f, 0.006637f, 0.001137f, -0.021463f, 0.008846f, 0.004682f, -0.015475f, -0.004377f, 0.003747f, 0.017016f, 0.000426f, 0.005167f, - 0.005240f, 0.008885f, 0.007312f, -0.014341f, 0.005163f, -0.000221f, -0.002813f, 0.000349f, -0.000661f, -0.002270f, 0.006162f, 0.005820f, -0.005944f, -0.002432f, -0.000033f, 0.004168f, -0.002245f, 0.005930f, 0.000932f, 0.004332f, 0.003883f, -0.004642f, 0.003585f, 0.004344f, 0.011140f, 0.001051f, 0.006390f, 0.006981f, 0.001772f, 0.008189f, 0.003017f, 0.004247f, 0.001934f, 0.001075f, 0.003014f, 0.009615f, -0.004024f, -0.008767f, 0.002218f, 0.011461f, -0.018087f, 0.031060f, -0.013327f, 0.003734f, 0.023218f, 0.024028f, -0.001774f, -0.013806f, -0.007404f, -0.007321f, 0.001782f, -0.017847f, -0.014157f, 0.014949f, 0.003757f, 0.009611f, 0.011714f, 0.013844f, -0.006189f, 0.008981f, -0.003393f, 0.010754f, 0.044796f, 0.010551f, -0.021592f, 0.020972f, 0.024086f, 0.001050f, -0.003971f, 0.001273f, -0.011912f, -0.016423f, -0.008594f, 0.024561f, 0.016498f, 0.013601f, 0.020892f, 0.004235f, -0.003596f, -0.009603f, -0.026529f, 0.012296f, 0.013997f, 0.007770f, -0.004202f, -0.003285f, -0.009151f, 0.003691f, 0.021601f, 0.014884f, -0.024747f, 0.016349f, -0.020864f, 0.021999f, 0.004698f, 0.008236f, - 0.009837f, -0.003681f, -0.011792f, -0.003589f, 0.008858f, 0.038062f, -0.006059f, 0.019012f, -0.008453f, -0.017213f, 0.020212f, 0.018192f, 0.004619f, 0.004161f, 0.018330f, 0.006410f, 0.001082f, -0.002091f, -0.011651f, -0.003595f, -0.017093f, 0.005490f, -0.013270f, -0.006646f, 0.026978f, -0.001429f, 0.000736f, 0.000533f, 0.012446f, -0.004068f, 0.003716f, 0.008233f, 0.012534f, 0.013544f, 0.011300f, 0.004423f, 0.005939f, 0.006191f, 0.011355f, -0.001759f, -0.009058f, 0.012826f, 0.005103f, 0.007070f, 0.007797f, 0.000325f, -0.000899f, 0.000799f, -0.005652f, 0.003521f, 0.012174f, 0.001363f, 0.001569f, -0.002565f, -0.004513f, 0.010159f, 0.010941f, 0.002118f, 0.019389f, -0.002410f, 0.008372f, 0.014829f, 0.000958f, 0.004114f, -0.002137f, -0.005684f, 0.001540f, 0.003219f, 0.005382f, 0.010679f, 0.004673f, 0.008000f, 0.002989f, 0.001916f, 0.011139f, 0.015842f, -0.007995f, 0.016101f, 0.020569f, -0.023590f, 0.015888f, 0.009194f, -0.005702f, 0.001471f, 0.010931f, -0.009872f, -0.020839f, 0.031305f, 0.006767f, 0.005995f, 0.005851f, 0.018582f, 0.005416f, -0.018700f, 0.019979f, -0.026817f, - -0.031329f, 0.002786f, 0.003770f, -0.017300f, -0.005670f, -0.051240f, -0.036280f, -0.027322f, -0.009231f, -0.028109f, -0.013841f, 0.010662f, -0.025269f, 0.017734f, 0.016312f, -0.020582f, 0.026577f, 0.014178f, -0.005198f, -0.002674f, -0.013752f, 0.000597f, -0.024558f, 0.053895f, 0.015761f, 0.008399f, -0.026899f, 0.006553f, -0.008304f, 0.035740f, -0.007187f, -0.000931f, -0.032617f, 0.031921f, 0.002138f, 0.012502f, 0.010362f, 0.018617f, 0.010554f, -0.007228f, 0.010675f, -0.015896f, 0.016138f, -0.005834f, 0.009513f, -0.025446f, 0.057634f, 0.008792f, -0.026716f, 0.014501f, 0.016836f, 0.013156f, 0.019619f, 0.016739f, -0.025945f, 0.020693f, -0.000508f, 0.016687f, -0.013124f, 0.004960f, -0.033386f, 0.014047f, 0.014565f, 0.004226f, -0.008006f, -0.025260f, -0.001625f, 0.017291f, -0.022409f, -0.003061f, -0.002635f, -0.000108f, 0.006874f, 0.005203f, -0.005037f, 0.009716f, -0.000548f, -0.004763f, 0.007699f, 0.005906f, -0.006998f, -0.005661f, -0.014626f, -0.000918f, -0.013605f, 0.008185f, 0.002309f, 0.001367f, 0.010743f, 0.016524f, 0.010502f, 0.007774f, 0.005280f, -0.005879f, -0.002271f, 0.000170f, - -0.010609f, -0.008791f, -0.002410f, -0.003561f, 0.005787f, 0.013419f, 0.004273f, 0.008488f, -0.001893f, -0.000166f, -0.041657f, 0.011692f, -0.005702f, -0.004048f, 0.024737f, -0.004543f, -0.004211f, 0.002408f, 0.022148f, -0.005758f, 0.012920f, -0.010804f, -0.012743f, -0.016284f, -0.020652f, 0.035894f, 0.018715f, 0.013032f, -0.011267f, -0.032852f, -0.040324f, 0.019431f, 0.013384f, -0.014296f, 0.009617f, -0.009709f, 0.000967f, 0.035729f, 0.015605f, -0.010103f, 0.019268f, -0.006480f, 0.010002f, -0.011872f, 0.012095f, -0.026348f, -0.038760f, -0.015037f, -0.017287f, -0.002911f, 0.045373f, -0.036900f, 0.021361f, 0.012303f, 0.009278f, -0.008127f, 0.017864f, 0.008010f, -0.035452f, -0.045063f, -0.016045f, -0.020531f, 0.051075f, 0.037064f, -0.012363f, -0.022732f, -0.001893f, -0.023327f, -0.004933f, 0.037222f, 0.034435f, 0.019582f, -0.030365f, 0.006612f, -0.023719f, 0.037322f, 0.017704f, -0.003885f, 0.000133f, 0.012606f, -0.022015f, 0.005011f, 0.032882f, 0.017924f, -0.029743f, 0.032381f, -0.016493f, 0.019380f, 0.051307f, 0.019658f, -0.012081f, -0.015121f, 0.043910f, 0.004918f, -0.002676f, -0.019869f, - 0.007736f, -0.009323f, 0.002825f, -0.005787f, -0.001037f, -0.001215f, -0.021872f, 0.002849f, -0.002725f, -0.006144f, 0.009617f, -0.001603f, -0.007739f, 0.001490f, -0.004601f, 0.001315f, -0.005711f, -0.008418f, 0.007577f, -0.009341f, -0.006045f, 0.004581f, 0.011414f, -0.000461f, 0.008059f, 0.006760f, -0.001523f, 0.000079f, -0.011002f, 0.001623f, 0.003718f, -0.009198f, 0.012486f, 0.006286f, -0.007628f, -0.004991f, -0.005328f, -0.002245f, -0.012287f, 0.007392f, 0.011633f, 0.000666f, -0.009152f, -0.005176f, 0.006038f, -0.002517f, 0.005803f, 0.008348f, 0.000584f, 0.003168f, -0.033096f, -0.012958f, 0.055449f, 0.025678f, 0.031958f, 0.007806f, -0.046051f, 0.014246f, -0.037360f, 0.024591f, 0.069300f, 0.024647f, 0.043485f, -0.019558f, 0.012566f, 0.020210f, -0.002072f, 0.005227f, -0.017761f, 0.004548f, 0.027262f, 0.001457f, -0.007249f, -0.024581f, 0.013559f, 0.010183f, -0.025050f, 0.013099f, -0.009502f, 0.019208f, 0.027406f, 0.029142f, 0.035100f, 0.003552f, -0.027188f, 0.007391f, 0.016595f, -0.000273f, 0.047784f, 0.004238f, -0.054882f, -0.034414f, 0.015643f, -0.013933f, -0.064774f, 0.002391f, - 0.027640f, 0.010233f, 0.002919f, -0.005854f, 0.034153f, -0.026774f, -0.033226f, -0.006379f, -0.011882f, -0.032320f, -0.001774f, 0.002414f, -0.018828f, -0.027821f, -0.017045f, 0.001422f, 0.004057f, -0.040207f, 0.012045f, -0.016733f, 0.009811f, 0.046524f, -0.006324f, -0.016101f, 0.032407f, -0.005576f, 0.026986f, -0.025479f, 0.017435f, 0.001200f, -0.029533f, -0.032939f, 0.059584f, 0.005862f, 0.008068f, 0.002889f, 0.000086f, 0.059785f, 0.048817f, 0.015491f, -0.004468f, 0.023489f, -0.011446f, 0.008068f, 0.013986f, -0.002504f, 0.018373f, 0.007970f, 0.005374f, -0.027123f, 0.016218f, 0.008772f, -0.001496f, 0.002561f, -0.009179f, 0.007927f, 0.021107f, -0.003394f, -0.006807f, -0.011599f, -0.012729f, 0.012776f, 0.014990f, 0.000914f, 0.000105f, -0.011419f, -0.012330f, 0.002322f, -0.017724f, 0.002638f, -0.005864f, 0.018745f, 0.006688f, 0.000924f, -0.011692f, -0.020426f, -0.004618f, -0.009846f, -0.013778f, 0.008113f, 0.008349f, 0.016108f, 0.046884f, 0.006094f, -0.064207f, -0.029042f, 0.039844f, -0.057425f, 0.032639f, -0.054345f, 0.004422f, -0.008677f, -0.078600f, -0.010354f, 0.035386f, 0.072348f, - 0.023046f, -0.010506f, 0.017568f, -0.027743f, -0.009301f, -0.063107f, -0.003508f, -0.042861f, -0.006171f, -0.009381f, -0.029624f, -0.031431f, -0.010438f, 0.018071f, -0.028471f, 0.019627f, 0.036133f, -0.037233f, 0.013503f, 0.012030f, 0.006396f, -0.039624f, -0.006050f, -0.000406f, -0.041512f, 0.010831f, 0.052879f, -0.004010f, -0.076767f, 0.027194f, -0.046367f, -0.118365f, 0.033383f, -0.048948f, -0.060876f, 0.003249f, -0.027876f, 0.008456f, 0.020927f, -0.011659f, 0.031171f, -0.026048f, 0.027229f, -0.021491f, -0.052975f, 0.000318f, 0.037907f, 0.036348f, -0.068837f, 0.010135f, -0.008233f, -0.051237f, -0.013706f, -0.012689f, 0.089172f, 0.044527f, 0.052309f, 0.023840f, 0.022750f, 0.055193f, 0.079277f, -0.018090f, -0.037560f, -0.040979f, 0.007197f, -0.050914f, -0.015667f, 0.026370f, 0.042827f, 0.006026f, 0.003890f, 0.037193f, -0.008609f, -0.021094f, -0.028706f, 0.022411f, 0.025413f, 0.024972f, 0.005830f, 0.028646f, 0.011878f, -0.017559f, -0.003901f, -0.017007f, 0.026123f, 0.004225f, -0.003054f, -0.029292f, 0.008889f, 0.023484f, 0.002578f, 0.000449f, 0.022941f, -0.018306f, -0.012248f, 0.012702f, - 0.001295f, -0.009236f, -0.017636f, -0.005627f, 0.026995f, -0.001300f, -0.059768f, -0.005546f, -0.001478f, -0.013688f, -0.011654f, -0.015781f, -0.009676f, 0.013036f, 0.011657f, 0.006946f, 0.004138f, -0.009814f, -0.012399f, 0.103780f, 0.112191f, -0.065862f, -0.026093f, 0.050089f, -0.022725f, 0.020204f, -0.031256f, 0.009349f, -0.032114f, -0.060152f, 0.081958f, 0.011949f, 0.025738f, 0.021078f, 0.007675f, 0.010765f, 0.002463f, 0.016608f, 0.020365f, -0.058206f, -0.047985f, -0.042041f, -0.039690f, -0.029734f, -0.018739f, -0.015533f, -0.031205f, -0.017680f, -0.026446f, 0.030073f, 0.022868f, 0.011563f, -0.014573f, 0.006110f, -0.061585f, -0.030944f, 0.016754f, -0.055970f, -0.005173f, 0.027242f, 0.048321f, 0.007082f, 0.009366f, -0.020672f, -0.036141f, -0.042630f, 0.034249f, -0.004635f, 0.033908f, -0.119527f, 0.007468f, -0.013897f, 0.013764f, 0.073086f, 0.008979f, 0.012199f, 0.008250f, -0.021407f, -0.024615f, 0.000673f, -0.004856f, -0.067104f, 0.014404f, -0.024610f, 0.060200f, 0.004017f, -0.065944f, -0.089771f, -0.055775f, -0.011332f, -0.063039f, -0.061734f, -0.038299f, 0.043545f, -0.011273f, -0.042514f, - -0.057324f, 0.047915f, -0.006157f, 0.028355f, -0.032248f, 0.017401f, 0.047246f, -0.031367f, -0.045481f, -0.019103f, -0.023480f, 0.049411f, 0.010422f, -0.021661f, 0.019478f, 0.014500f, 0.043006f, 0.026689f, 0.012528f, -0.038176f, -0.038043f, -0.008361f, 0.004477f, -0.009985f, 0.006902f, 0.026488f, -0.005771f, -0.002216f, -0.019303f, -0.014151f, -0.010515f, -0.020093f, -0.003762f, 0.008273f, 0.012187f, 0.062456f, 0.004212f, -0.015637f, -0.004918f, 0.008376f, 0.019572f, -0.001107f, 0.030963f, 0.012985f, 0.071417f, 0.011084f, -0.000471f, 0.002641f, 0.013130f, -0.019763f, -0.030702f, 0.116891f, -0.067756f, 0.044390f, 0.082837f, -0.039682f, 0.011799f, 0.066207f, -0.083665f, 0.003415f, 0.009497f, 0.040835f, -0.093836f, 0.005307f, 0.006450f, 0.030981f, -0.040877f, 0.000612f, 0.016959f, -0.055167f, 0.008353f, -0.004102f, -0.010199f, 0.030525f, -0.009010f, -0.008239f, 0.012991f, -0.007142f, -0.009270f, 0.029950f, -0.027755f, 0.008337f, -0.011359f, 0.007737f, -0.017734f, -0.009788f, -0.021658f, 0.000430f, 0.004375f, 0.058523f, 0.019552f, 0.028507f, -0.005769f, 0.000794f, 0.043422f, -0.001696f, - -0.016239f, 0.024416f, 0.018029f, -0.019367f, -0.056529f, 0.052080f, -0.056339f, 0.009397f, 0.027256f, 0.035762f, -0.055441f, 0.059544f, 0.095576f, -0.052007f, -0.096842f, 0.129985f, 0.046038f, -0.063933f, 0.029804f, -0.061536f, -0.076466f, -0.038021f, -0.013848f, -0.079860f, 0.064969f, -0.111395f, 0.033683f, 0.053460f, -0.044127f, -0.148978f, 0.141279f, -0.024337f, -0.036206f, 0.094244f, -0.093556f, 0.048653f, 0.080434f, -0.023846f, -0.021838f, 0.025145f, 0.027748f, -0.014835f, 0.010123f, 0.008462f, 0.025628f, -0.012318f, -0.009067f, 0.028716f, 0.000118f, 0.006626f, -0.002830f, 0.005597f, 0.022966f, 0.017105f, -0.002904f, -0.020080f, 0.033571f, 0.036365f, -0.006642f, -0.030767f, -0.003105f, 0.015577f, 0.003504f, 0.022524f, 0.000301f, 0.019751f, 0.008444f, 0.028841f, 0.021302f, 0.024284f, -0.035421f, 0.009471f, -0.000495f, 0.001773f, 0.000333f, -0.021404f, -0.038278f, 0.056648f, -0.008897f, -0.051707f, 0.019119f, 0.012994f, 0.005632f, -0.008202f, -0.035775f, -0.028384f, 0.064856f, -0.042913f, -0.034329f, -0.068453f, -0.031562f, 0.040546f, 0.031449f, -0.018329f, -0.022836f, 0.021553f, - 0.053785f, -0.023242f, 0.040555f, 0.048567f, -0.034619f, -0.005056f, 0.029638f, -0.007796f, -0.000268f, -0.009929f, 0.002475f, -0.049811f, 0.013496f, -0.011128f, 0.001555f, 0.011871f, -0.010128f, 0.010152f, -0.020759f, -0.041741f, -0.019832f, -0.072600f, 0.008940f, -0.000264f, -0.010944f, 0.013342f, 0.006782f, -0.004831f, -0.016650f, 0.029036f, 0.045922f, -0.048495f, 0.070629f, -0.008083f, 0.009325f, 0.010149f, 0.062421f, 0.028597f, 0.045646f, -0.057535f, -0.014360f, -0.010875f, 0.081412f, -0.076183f, -0.026106f, 0.037092f, -0.002855f, -0.087958f, 0.005842f, -0.018225f, -0.015133f, 0.040012f, 0.043855f, 0.002989f, -0.033100f, 0.070894f, -0.030010f, 0.118293f, 0.001464f, -0.055026f, -0.000173f, -0.009633f, -0.062250f, 0.118851f, 0.023810f, -0.017833f, -0.140904f, -0.070461f, 0.039584f, -0.051923f, -0.046739f, 0.055054f, -0.206495f, 0.005119f, 0.040599f, 0.029781f, -0.016773f, 0.057967f, -0.035590f, -0.004689f, 0.000205f, 0.030156f, -0.008653f, 0.006099f, 0.041078f, -0.002949f, -0.010428f, -0.013095f, -0.014850f, -0.000727f, 0.004567f, -0.002813f, -0.006271f, 0.026511f, -0.037259f, -0.008417f, - 0.004394f, 0.006145f, -0.022327f, -0.037778f, -0.009624f, -0.011638f, -0.005420f, -0.003199f, 0.007285f, -0.041893f, 0.003203f, 0.031687f, -0.019781f, 0.024223f, 0.018600f, -0.018275f, 0.001139f, -0.013384f, 0.005289f, 0.008898f, -0.019496f, 0.054795f, -0.026602f, -0.024572f, -0.031716f, 0.026523f, 0.035981f, 0.021964f, 0.089422f, -0.017183f, 0.020280f, -0.008527f, -0.046106f, 0.023151f, -0.029377f, -0.016536f, 0.018460f, 0.040129f, -0.042267f, 0.046233f, 0.005334f, -0.002298f, 0.094225f, -0.019102f, -0.010446f, 0.070640f, -0.045124f, 0.062407f, 0.026937f, -0.014752f, 0.024897f, 0.026308f, 0.058214f, 0.060541f, 0.017597f, -0.049094f, 0.102828f, -0.103109f, 0.003490f, 0.093891f, -0.050508f, 0.020821f, -0.011131f, -0.012127f, -0.108727f, 0.073874f, 0.019541f, 0.032815f, 0.034638f, -0.022554f, -0.054121f, -0.040664f, -0.032979f, 0.005186f, 0.103325f, 0.000734f, 0.081043f, -0.026926f, -0.062368f, 0.003464f, 0.023307f, -0.051195f, 0.083163f, 0.033860f, 0.040868f, 0.082162f, 0.053184f, -0.087844f, 0.033523f, -0.126015f, -0.155715f, 0.003292f, 0.131129f, 0.082261f, 0.010611f, -0.092737f, - -0.331353f, -0.060897f, 0.102463f, 0.117109f, 0.165935f, -0.008406f, -0.210432f, -0.118674f, -0.109622f, 0.168271f, 0.128602f, -0.023193f, -0.084090f, -0.049178f, -0.102261f, -0.013028f, 0.131747f, -0.012759f, 0.030820f, 0.022028f, -0.021603f, -0.047700f, 0.071803f, -0.029111f, 0.040059f, 0.029396f, -0.002724f, -0.066651f, 0.091438f, -0.036028f, -0.017264f, 0.026506f, 0.023727f, -0.049459f, 0.000826f, -0.015478f, -0.018671f, 0.006339f, -0.001778f, 0.036650f, -0.065392f, 0.034693f, -0.078700f, -0.012400f, -0.013120f, 0.093613f, 0.002789f, 0.025436f, -0.057107f, 0.029907f, -0.021469f, 0.041401f, 0.049469f, -0.023872f, -0.056800f, 0.020523f, 0.014720f, 0.047938f, 0.013443f, -0.081234f, 0.068225f, -0.051076f, -0.008836f, -0.033073f, 0.031710f, -0.037152f, -0.001581f, -0.003907f, -0.010079f, 0.007624f, 0.034937f, -0.036903f, 0.016238f, 0.002897f, -0.008544f, 0.000515f, 0.024637f, -0.031195f, -0.008534f, -0.004572f, 0.051169f, -0.051818f, 0.013742f, -0.022709f, 0.033907f, -0.037831f, -0.010763f, 0.012973f, -0.007329f, 0.007183f, -0.024476f, -0.004328f, 0.022129f, -0.006721f, 0.008548f, 0.007024f, - 0.004628f, 0.027689f, -0.025652f, 0.017376f, 0.019960f, 0.024722f, -0.003476f, -0.057329f, 0.007339f, 0.006830f, 0.023347f, 0.021353f, -0.004188f, 0.005744f, -0.009676f, -0.026044f, -0.004457f, 0.011982f, -0.004936f, 0.034862f, -0.028378f, -0.009351f, -0.056605f, 0.016934f, 0.006087f, -0.008884f, 0.012612f, 0.011083f, -0.000848f, -0.029181f, 0.009072f, 0.028601f, -0.005599f, -0.004115f, 0.011182f, -0.011473f, 0.021280f, -0.013102f, 0.003574f, -0.026774f, 0.012646f, 0.005132f, -0.004321f, -0.007282f, 0.015481f, -0.007370f, -0.011331f, -0.016112f, 0.016841f, -0.000610f, -0.008555f, -0.003542f, 0.016753f, -0.006573f, 0.007361f, -0.009239f, -0.005702f, -0.000785f, 0.000518f, -0.000077f, -0.009346f, 0.001117f, 0.000193f, -0.007687f, 0.007870f, -0.007285f, 0.021886f, 0.003611f, 0.002841f, -0.030321f, 0.008485f, -0.000478f, -0.012262f, 0.013934f, 0.025689f, -0.018560f, -0.004333f, -0.000559f, -0.013584f, 0.020618f, -0.003530f, 0.003092f, -0.013625f, 0.007236f, -0.003024f, 0.002700f, -0.008762f, -0.046267f, 0.112342f, 0.030662f, 0.027794f, -0.014797f, -0.035904f, -0.034531f, 0.009863f, 0.021860f, - 0.003483f, -0.001222f, -0.000078f, -0.016343f, -0.002945f, 0.007949f, -0.004310f, 0.003461f, -0.001719f, -0.016367f, -0.000820f, 0.008210f, 0.012860f, -0.011367f, 0.003182f, 0.008291f, -0.016348f, 0.026957f, -0.016292f, -0.014164f, -0.014121f, 0.003754f, 0.007887f, 0.012553f, -0.013587f, 0.017484f, -0.025047f, 0.016699f, 0.014840f, -0.010952f, -0.001119f, -0.000710f, -0.002862f, 0.013039f, -0.013923f, 0.004158f, -0.004439f, -0.017946f, 0.025578f, -0.014186f, -0.000467f, -0.010483f, -0.003294f, 0.017918f, -0.023248f, 0.009570f, 0.006462f, -0.010058f, 0.008557f, -0.019743f, 0.005768f, 0.008363f, -0.014736f, 0.000463f, 0.007929f, -0.013527f, 0.013697f, -0.018713f, 0.005228f, 0.019406f, -0.028237f, 0.008243f, -0.010791f, 0.002068f, 0.011091f, -0.008311f, -0.004324f, 0.002120f, 0.002411f, -0.001561f, 0.007922f, -0.005901f, -0.005215f, 0.004003f, -0.004665f, 0.002673f, -0.001808f, 0.003474f, 0.003111f, -0.004418f, 0.002264f, -0.000719f, 0.004079f, -0.003614f, -0.001088f, 0.002921f, 0.000057f, -0.002019f, -0.006600f, 0.004317f, 0.004315f, -0.000817f, -0.004580f, 0.004497f, -0.000269f, -0.001866f, - 0.004408f, -0.009172f, -0.001954f, 0.005468f, -0.006800f, 0.009992f, -0.006074f, 0.000650f, 0.016205f, -0.004538f, 0.011652f, -0.006465f, -0.000725f, 0.013143f, -0.009148f, 0.016812f, -0.086799f, -0.203621f, 0.057606f, 0.199284f, 0.137047f, 0.216704f, -0.120684f, -0.128460f, -0.175157f, -0.202756f, 0.004333f, 0.156398f, 0.161585f, 0.168699f, 0.033103f, -0.055778f, -0.110656f, -0.158816f, -0.134609f, 0.010461f, 0.104533f, 0.123993f, 0.111566f, 0.026676f, -0.030854f, -0.019282f, -0.087150f, -0.097480f, -0.041133f, -0.002680f, 0.037468f, 0.082153f, 0.040123f, 0.029783f, 0.041143f, -0.020581f, -0.048898f, -0.008031f, -0.078162f, -0.036686f, 0.000841f, 0.012375f, 0.059536f, 0.069317f, 0.006134f, -0.010538f, -0.006534f, -0.051205f, -0.013885f, -0.000749f, -0.010668f, 0.017683f, 0.034247f, -0.007341f, -0.002739f, -0.013484f, -0.021418f, 0.004355f, 0.002093f, -0.002371f, 0.038644f, 0.026140f, 0.009649f, -0.001021f, -0.036487f, -0.052758f, -0.041715f, 0.002974f, 0.039216f, 0.033650f, 0.044185f, 0.005977f, 0.001126f, 0.010018f, -0.054891f, -0.031266f, -0.025825f, -0.004728f, 0.042075f, 0.009484f, - 0.014100f, 0.039239f, -0.022692f, -0.033014f, -0.007702f, -0.005667f, 0.012151f, 0.014123f, 0.004404f, 0.007869f, 0.003437f, -0.020280f, -0.021001f, -0.005151f, -0.000031f, 0.015050f, 0.021805f, 0.007129f, -0.003108f, -0.004773f, -0.006236f, 0.005436f, -0.006150f, -0.025775f, -0.004065f, 0.006039f, 0.011907f, 0.025603f, 0.006221f, -0.005345f, -0.012340f, -0.021106f, -0.004632f, 0.002098f, 0.006851f, 0.012031f, 0.015044f, 0.011841f, -0.006100f, -0.018287f, -0.019268f, -0.016821f, -0.001943f, 0.008340f, 0.009243f, 0.024745f, 0.025411f, 0.012378f, -0.005501f, -0.031272f, -0.033072f, -0.015336f, -0.011594f, 0.011675f, 0.030861f, 0.022869f, 0.009893f, 0.000132f, -0.002447f, -0.004014f, -0.009422f, -0.015502f, -0.014897f, -0.006334f, 0.002246f, 0.006532f, 0.010442f, 0.015147f, 0.014493f, 0.005686f, -0.005294f, -0.011670f, -0.012142f, -0.007793f, -0.001710f, 0.001194f, 0.001018f, 0.000329f, 0.000141f}, - {-0.008192f, -0.005439f, 0.002300f, -0.002093f, -0.002582f, -0.003986f, 0.000979f, 0.007943f, -0.002541f, 0.000040f, 0.000817f, 0.013597f, -0.000262f, 0.002610f, -0.005584f, -0.003874f, -0.001383f, -0.003648f, -0.003925f, -0.003679f, -0.002502f, -0.003495f, -0.004624f, 0.003905f, 0.006463f, -0.003537f, 0.000987f, 0.000275f, -0.007326f, 0.000220f, -0.000159f, -0.005188f, 0.009817f, -0.005001f, 0.005583f, 0.002142f, -0.001503f, -0.005617f, -0.005201f, 0.005063f, -0.002625f, -0.001886f, -0.007752f, -0.001960f, -0.000719f, -0.003642f, 0.010351f, -0.002245f, -0.000651f, 0.004342f, -0.000755f, -0.008609f, -0.004432f, -0.007587f, -0.005108f, 0.011817f, -0.003318f, 0.013140f, -0.000056f, -0.000526f, -0.002382f, 0.001546f, 0.000549f, -0.007785f, -0.008320f, 0.006076f, 0.000687f, 0.004137f, -0.000561f, 0.004815f, 0.002941f, -0.007542f, -0.000053f, 0.002538f, 0.004075f, 0.000009f, 0.003439f, 0.006290f, -0.008361f, 0.002226f, 0.002146f, -0.004162f, -0.000005f, 0.001922f, 0.005994f, 0.003972f, -0.004184f, -0.001243f, -0.000231f, 0.001426f, 0.001904f, 0.001475f, 0.001566f, -0.001075f, 0.000812f, -0.002252f, - -0.001461f, -0.000011f, 0.003051f, 0.001367f, -0.000094f, -0.000196f, -0.002074f, 0.001240f, -0.000162f, -0.000684f, -0.000180f, 0.001107f, 0.000455f, 0.000802f, 0.001966f, -0.000630f, 0.000863f, 0.002393f, 0.017987f, -0.001348f, -0.002116f, -0.004543f, -0.009756f, -0.012047f, -0.011018f, 0.001286f, 0.009916f, 0.003505f, 0.013222f, 0.004579f, -0.005927f, 0.001645f, -0.015628f, -0.013228f, 0.006221f, -0.004614f, 0.008742f, -0.000763f, -0.006918f, -0.003420f, 0.017312f, 0.003905f, 0.007348f, -0.000282f, 0.005638f, -0.002525f, -0.002072f, 0.003468f, -0.002330f, -0.007490f, -0.000507f, 0.002810f, -0.000830f, -0.000403f, 0.011030f, 0.006842f, -0.011755f, 0.000319f, -0.007439f, 0.012489f, 0.007405f, 0.000569f, -0.004370f, -0.004495f, 0.005774f, 0.003242f, 0.009333f, -0.008572f, 0.014786f, 0.018129f, -0.004931f, 0.017665f, 0.000025f, 0.009281f, 0.005789f, -0.003209f, 0.003103f, 0.014168f, -0.001602f, -0.009480f, 0.008210f, 0.002682f, -0.000055f, -0.001048f, -0.001627f, 0.000653f, 0.008290f, -0.005246f, 0.003044f, 0.002258f, 0.004413f, -0.006783f, 0.007818f, 0.001847f, -0.000636f, 0.002505f, - 0.001180f, 0.000802f, -0.000281f, 0.001803f, 0.004615f, -0.003174f, 0.001890f, 0.001258f, 0.001969f, -0.002894f, 0.000256f, -0.004672f, 0.000868f, 0.002261f, -0.002680f, -0.001699f, 0.000673f, 0.001346f, 0.001581f, 0.000471f, 0.001443f, 0.000040f, 0.000069f, -0.015575f, -0.012184f, 0.003783f, -0.006911f, 0.004871f, -0.008628f, -0.012251f, -0.011317f, 0.001534f, -0.008460f, 0.007678f, 0.005633f, -0.010879f, -0.002254f, 0.004369f, 0.001013f, 0.005382f, -0.003215f, 0.005569f, 0.006896f, -0.009664f, 0.003061f, 0.003123f, -0.007742f, 0.004496f, 0.000780f, -0.009160f, 0.006754f, 0.006481f, -0.003253f, 0.007085f, 0.001013f, 0.005773f, 0.005261f, 0.002155f, -0.003436f, -0.000901f, -0.010936f, -0.003345f, -0.005439f, 0.005704f, 0.006055f, 0.002340f, -0.017514f, 0.003293f, 0.007377f, -0.004011f, 0.012310f, -0.010121f, -0.013357f, 0.000964f, -0.003963f, 0.004217f, -0.009535f, 0.017334f, -0.000913f, -0.005876f, 0.001705f, 0.000160f, 0.009905f, -0.000623f, -0.005773f, -0.000444f, -0.003918f, -0.005405f, -0.006762f, 0.003120f, -0.012226f, 0.001193f, 0.000452f, 0.003527f, 0.008179f, 0.002623f, - 0.005822f, 0.008942f, -0.006155f, -0.001156f, 0.002020f, -0.007778f, 0.005274f, -0.002699f, 0.004496f, 0.003507f, -0.002380f, -0.001897f, 0.006616f, -0.002221f, -0.006016f, 0.000776f, -0.000631f, -0.000305f, -0.003242f, 0.004730f, -0.003702f, 0.001747f, 0.001811f, 0.002368f, -0.000950f, -0.001088f, 0.000301f, -0.001937f, 0.000733f, -0.001357f, 0.000126f, -0.000878f, -0.001806f, 0.002264f, -0.000914f, 0.000422f, -0.000315f, 0.000053f, 0.000042f, 0.000326f, -0.037450f, -0.000836f, -0.004771f, 0.025998f, 0.000348f, 0.001355f, 0.005367f, -0.003886f, 0.012983f, 0.003028f, -0.014353f, -0.007829f, -0.016800f, 0.002709f, -0.001393f, -0.005924f, -0.005029f, -0.006307f, -0.004104f, 0.020168f, -0.009623f, -0.004875f, -0.005552f, -0.015788f, -0.000901f, -0.004059f, 0.005071f, 0.007475f, -0.002764f, -0.000347f, 0.004305f, -0.005011f, -0.001540f, -0.002273f, -0.005871f, 0.005990f, 0.012332f, -0.001753f, -0.002321f, 0.009692f, -0.013394f, 0.008294f, -0.010743f, -0.021434f, -0.013665f, -0.021349f, -0.003452f, -0.012281f, -0.008320f, 0.001971f, 0.008184f, 0.004022f, 0.005783f, -0.003361f, 0.007066f, -0.009212f, - -0.002254f, 0.007401f, -0.000259f, 0.010374f, -0.004658f, 0.003028f, -0.007670f, -0.005871f, 0.005300f, -0.013138f, 0.003237f, 0.009442f, -0.012787f, 0.001075f, -0.003545f, -0.006055f, -0.008460f, -0.007654f, -0.002680f, -0.003482f, 0.001779f, 0.008826f, -0.004574f, 0.002633f, -0.007774f, -0.008288f, -0.006556f, 0.002889f, 0.004110f, 0.000957f, -0.002194f, -0.002538f, -0.003592f, 0.001697f, -0.003075f, -0.002716f, -0.001359f, -0.002533f, -0.000494f, 0.000283f, -0.004299f, -0.001125f, -0.000684f, -0.003277f, -0.000999f, -0.001555f, -0.000177f, -0.000695f, -0.005801f, 0.000533f, 0.002171f, -0.001220f, -0.002398f, -0.000381f, 0.003293f, 0.001648f, -0.001550f, 0.023815f, 0.000129f, -0.013326f, -0.012813f, -0.004407f, -0.009356f, -0.003617f, -0.007045f, 0.001802f, 0.001119f, -0.010537f, -0.006225f, -0.011570f, 0.021862f, 0.009273f, 0.001982f, -0.001255f, 0.011836f, -0.017736f, -0.000322f, -0.000385f, -0.011244f, -0.014922f, 0.013305f, 0.000266f, 0.009478f, -0.014964f, -0.006595f, -0.005213f, 0.005148f, -0.000530f, 0.006339f, -0.010316f, 0.003064f, 0.004234f, -0.011228f, -0.010736f, -0.009780f, 0.002341f, - -0.003264f, -0.002990f, 0.009374f, -0.002745f, 0.000979f, 0.000199f, -0.001932f, -0.010639f, -0.006574f, -0.001195f, -0.016103f, -0.010438f, -0.008520f, 0.004503f, 0.002993f, 0.006454f, -0.001663f, 0.002854f, -0.000261f, -0.001588f, 0.007377f, -0.005734f, 0.012910f, 0.001884f, 0.003847f, -0.001648f, -0.004381f, 0.005241f, 0.003927f, 0.010337f, -0.003193f, 0.001685f, 0.006171f, -0.003623f, 0.000028f, -0.013474f, 0.006286f, -0.010349f, 0.006511f, -0.007623f, -0.007613f, -0.014524f, -0.002961f, 0.003809f, 0.001494f, -0.002359f, 0.003296f, 0.001590f, 0.006569f, 0.001206f, -0.002146f, 0.005971f, 0.003080f, -0.005082f, 0.001156f, -0.004105f, 0.004476f, -0.001724f, 0.000655f, -0.001022f, -0.000656f, -0.003592f, -0.000266f, 0.000358f, 0.000576f, -0.002038f, 0.001613f, -0.002982f, 0.001101f, -0.000411f, -0.001704f, -0.002615f, 0.000584f, -0.001698f, 0.003800f, 0.001287f, -0.001197f, -0.001551f, -0.001741f, 0.003250f, 0.001895f, 0.003121f, 0.000143f, 0.000520f, 0.001370f, 0.028038f, 0.026535f, 0.019778f, -0.006850f, 0.007172f, 0.009947f, 0.005793f, 0.005560f, -0.010010f, -0.008762f, -0.013066f, - 0.011402f, -0.012268f, -0.001626f, -0.008957f, 0.015166f, -0.017093f, -0.012809f, -0.006445f, -0.002879f, -0.009469f, -0.014194f, 0.003887f, 0.000594f, 0.000698f, -0.017183f, -0.009513f, 0.004300f, 0.003445f, 0.004684f, -0.004746f, -0.006924f, 0.000409f, 0.004967f, 0.006418f, -0.004956f, 0.006097f, -0.009206f, -0.002531f, -0.022302f, 0.007984f, 0.002498f, -0.003945f, -0.004367f, -0.016460f, -0.007633f, 0.001921f, -0.004137f, -0.023066f, 0.012195f, 0.004968f, -0.000210f, -0.006333f, -0.005000f, -0.009843f, 0.002775f, -0.003587f, 0.006413f, -0.001589f, -0.003493f, -0.013187f, -0.002725f, -0.001458f, -0.007392f, 0.014168f, -0.010596f, 0.000040f, 0.008288f, -0.003728f, -0.011448f, -0.006473f, 0.009440f, 0.013839f, 0.006696f, -0.001232f, -0.000643f, 0.007245f, -0.015324f, 0.005986f, -0.001832f, -0.000899f, 0.000464f, 0.003086f, -0.001108f, -0.000797f, 0.000514f, -0.003122f, -0.009360f, -0.002632f, -0.003035f, 0.002608f, 0.001691f, 0.000883f, -0.003786f, -0.002027f, -0.004336f, -0.005199f, -0.001514f, -0.000366f, 0.005751f, 0.000395f, 0.000552f, 0.000568f, -0.002368f, -0.001396f, 0.002495f, -0.003338f, - -0.000769f, 0.000907f, 0.001453f, -0.003953f, -0.000236f, -0.000514f, 0.001935f, -0.002892f, -0.000936f, -0.001780f, -0.002926f, -0.005982f, -0.002960f, -0.000465f, -0.002823f, -0.000179f, -0.000003f, -0.000466f, -0.003509f, 0.034126f, 0.011482f, -0.004922f, -0.003921f, 0.012021f, -0.022968f, -0.004274f, 0.018692f, 0.009408f, -0.012946f, -0.000225f, -0.008770f, 0.003665f, 0.014382f, 0.035279f, 0.011667f, 0.027495f, -0.009676f, -0.001968f, -0.026647f, 0.009130f, -0.007749f, 0.007588f, -0.011653f, -0.000538f, 0.001160f, -0.004081f, 0.009611f, -0.004211f, 0.004604f, 0.011874f, -0.009008f, 0.005406f, 0.015083f, -0.004019f, 0.005059f, 0.000106f, 0.006073f, 0.008338f, 0.008493f, -0.045181f, 0.016570f, -0.005139f, -0.021190f, -0.003610f, 0.012956f, 0.004058f, -0.016371f, 0.008935f, 0.012915f, -0.026563f, 0.002143f, -0.007425f, 0.015688f, 0.003686f, 0.012957f, -0.003063f, -0.009336f, -0.018618f, 0.001141f, -0.011218f, 0.035338f, 0.006641f, -0.005821f, 0.011893f, 0.001469f, 0.011513f, -0.027832f, -0.003549f, 0.004272f, 0.008736f, 0.002025f, -0.012896f, -0.002077f, 0.004872f, 0.012348f, 0.010564f, - -0.008664f, 0.000352f, 0.012143f, -0.000410f, 0.005697f, -0.004124f, -0.002135f, 0.008662f, 0.000788f, -0.000543f, -0.001211f, 0.000554f, 0.004138f, -0.003907f, -0.001836f, -0.000389f, 0.003200f, 0.003281f, -0.000471f, -0.000997f, 0.008361f, -0.002554f, -0.001506f, -0.004314f, 0.000522f, 0.002413f, -0.002279f, 0.000284f, 0.002519f, 0.003566f, -0.003079f, -0.001242f, -0.005068f, 0.000500f, 0.003864f, -0.001762f, 0.000648f, 0.001954f, 0.001956f, 0.006918f, 0.000776f, 0.003455f, -0.000307f, -0.002817f, 0.004328f, 0.001218f, -0.040425f, -0.044335f, -0.015175f, -0.003448f, 0.000823f, 0.009437f, -0.018933f, 0.005991f, 0.022334f, -0.012794f, 0.011890f, 0.015475f, -0.010767f, 0.000351f, -0.005243f, 0.018925f, 0.026372f, -0.012611f, -0.014886f, 0.013284f, 0.001277f, -0.012637f, 0.005995f, 0.000237f, 0.003306f, 0.003798f, -0.006770f, -0.004904f, -0.028179f, -0.001420f, -0.008061f, -0.000618f, -0.000836f, 0.019190f, 0.005686f, -0.034358f, 0.000575f, 0.016617f, -0.018811f, 0.004987f, 0.020227f, -0.004414f, 0.007119f, 0.000447f, -0.005310f, -0.013032f, 0.026004f, 0.021924f, -0.016646f, 0.008754f, - -0.006193f, -0.000823f, 0.008091f, -0.005734f, 0.006785f, -0.010257f, -0.001178f, 0.022013f, -0.006245f, 0.004691f, 0.010373f, -0.007459f, -0.018063f, -0.000729f, 0.006197f, 0.003254f, -0.008683f, 0.001193f, 0.004864f, 0.007861f, 0.016062f, 0.009991f, 0.017675f, 0.009393f, 0.003412f, 0.008272f, -0.002907f, 0.015996f, -0.000527f, -0.012549f, -0.016969f, 0.002135f, 0.005503f, -0.002918f, 0.012679f, -0.006504f, -0.006856f, 0.005094f, -0.001605f, 0.001410f, 0.000638f, -0.007792f, -0.001103f, -0.004675f, 0.005760f, 0.002639f, 0.004630f, 0.009104f, 0.001121f, -0.003153f, -0.013140f, -0.000959f, 0.003039f, -0.003303f, -0.001366f, 0.001377f, -0.002934f, 0.002857f, 0.002908f, 0.000426f, -0.003107f, -0.002153f, 0.006416f, -0.000855f, 0.003006f, 0.001651f, 0.002068f, -0.004552f, -0.004895f, -0.002825f, 0.001107f, 0.002270f, 0.003834f, 0.002912f, 0.001869f, 0.001853f, 0.004821f, -0.001207f, -0.043529f, 0.048609f, -0.002797f, 0.031285f, 0.002409f, -0.018108f, -0.005410f, -0.010473f, -0.012706f, -0.001624f, 0.000894f, 0.022645f, -0.003552f, 0.015574f, -0.015602f, -0.000782f, 0.003888f, 0.003634f, - 0.001811f, 0.019696f, 0.019626f, 0.007218f, 0.003162f, -0.002414f, -0.003773f, -0.001060f, -0.003216f, -0.032659f, -0.011107f, 0.015154f, 0.009798f, -0.003573f, 0.001722f, -0.015412f, 0.007903f, -0.018915f, 0.004221f, 0.030265f, 0.003350f, 0.006639f, -0.025030f, 0.013495f, 0.011769f, 0.003315f, -0.016766f, -0.007273f, -0.007774f, 0.001478f, -0.015040f, 0.015553f, 0.018960f, 0.011500f, -0.001586f, 0.028401f, 0.010123f, 0.041521f, 0.016278f, -0.010959f, 0.034597f, 0.000899f, -0.012481f, 0.025099f, -0.003965f, 0.008373f, 0.015848f, -0.011234f, -0.009620f, 0.023235f, 0.024946f, 0.014808f, -0.020033f, 0.007794f, -0.000080f, -0.009165f, -0.016431f, 0.012426f, 0.022096f, 0.013433f, 0.032031f, 0.004556f, -0.006912f, -0.006953f, -0.019543f, -0.007293f, 0.012312f, 0.002072f, -0.003476f, 0.000959f, -0.012142f, -0.008410f, 0.001849f, 0.003333f, -0.000281f, 0.013398f, 0.010565f, 0.004831f, 0.000557f, 0.004073f, 0.006394f, 0.003439f, -0.005983f, -0.002258f, 0.001932f, -0.001182f, -0.001967f, 0.005790f, 0.000639f, -0.001332f, 0.004611f, 0.001950f, 0.001572f, 0.002005f, -0.003902f, 0.001285f, - 0.011694f, -0.004972f, 0.007424f, 0.003667f, 0.000446f, -0.004922f, -0.005638f, -0.002671f, 0.010692f, -0.023405f, 0.031075f, -0.009002f, -0.020459f, 0.006824f, 0.013496f, -0.013573f, -0.006905f, -0.028646f, 0.011959f, -0.010509f, -0.003492f, -0.026257f, -0.011577f, -0.008910f, -0.004532f, -0.011841f, 0.006150f, -0.005315f, -0.006512f, 0.006174f, 0.008626f, 0.015287f, 0.014932f, -0.006479f, -0.005466f, -0.021151f, 0.008285f, 0.000410f, 0.013871f, 0.003829f, 0.003676f, -0.004789f, 0.005516f, -0.013217f, -0.011260f, 0.006231f, 0.003112f, 0.006326f, -0.025867f, 0.008646f, 0.016814f, -0.000047f, -0.022795f, -0.023721f, -0.018565f, -0.054710f, 0.007662f, -0.006292f, 0.026409f, -0.012950f, 0.021925f, 0.007079f, 0.001417f, 0.028389f, 0.004237f, -0.003257f, 0.020302f, 0.007571f, -0.027897f, -0.013798f, 0.003229f, -0.008843f, -0.015880f, -0.009572f, 0.035747f, 0.016519f, -0.016975f, -0.002018f, -0.009581f, -0.004601f, 0.005135f, 0.025353f, 0.000354f, -0.006759f, 0.033386f, -0.011964f, -0.030537f, -0.028990f, -0.034546f, -0.006074f, 0.002523f, -0.000856f, -0.006172f, -0.004167f, -0.014839f, -0.002847f, - 0.004194f, -0.004518f, -0.004475f, 0.002960f, 0.002701f, -0.021598f, -0.009020f, -0.016901f, 0.000691f, -0.005688f, -0.005612f, -0.009018f, -0.002960f, 0.002489f, 0.013030f, 0.000200f, 0.016007f, 0.008001f, 0.011725f, 0.001324f, 0.005460f, -0.005462f, 0.010681f, 0.000002f, -0.007887f, -0.011531f, 0.006570f, 0.001131f, 0.003587f, -0.002963f, 0.002014f, -0.003583f, 0.003624f, -0.001243f, 0.004318f, -0.000857f, -0.002005f, 0.002929f, -0.000712f, 0.013652f, -0.022416f, -0.005579f, -0.005956f, -0.002873f, -0.001495f, 0.059818f, 0.009850f, 0.021919f, -0.010533f, 0.019154f, 0.038561f, -0.032915f, 0.050075f, 0.029730f, -0.013318f, 0.000532f, 0.003092f, -0.017898f, -0.030106f, 0.002163f, -0.017433f, -0.026825f, -0.012010f, 0.002483f, 0.000096f, -0.003215f, -0.012049f, -0.001929f, -0.011731f, -0.000723f, -0.013572f, -0.000895f, 0.009378f, -0.021050f, 0.011665f, 0.017916f, -0.013823f, -0.012783f, 0.009236f, 0.007055f, -0.001167f, 0.053753f, 0.004774f, 0.035871f, -0.025668f, -0.002380f, -0.031132f, -0.022767f, 0.005551f, -0.022833f, -0.031474f, -0.020892f, -0.023897f, -0.005099f, -0.006338f, -0.026456f, - -0.028850f, 0.037821f, 0.005954f, 0.002499f, -0.005074f, 0.019658f, 0.010875f, 0.023687f, -0.002303f, 0.022399f, -0.012416f, 0.005211f, -0.041622f, 0.034171f, 0.016487f, 0.002815f, -0.022846f, -0.001582f, 0.010362f, 0.002314f, 0.004012f, 0.016960f, 0.023481f, -0.018016f, -0.023323f, -0.015220f, -0.003626f, -0.000235f, 0.002584f, -0.013563f, 0.001594f, 0.004089f, 0.009692f, 0.012723f, -0.001561f, -0.007601f, 0.013120f, 0.006632f, -0.009745f, -0.000505f, 0.004757f, -0.005671f, -0.010301f, 0.002038f, -0.003477f, -0.003228f, -0.000289f, -0.004352f, 0.012029f, -0.012483f, 0.006993f, -0.000179f, 0.013304f, -0.013682f, -0.003338f, 0.002519f, -0.003491f, -0.005093f, -0.002201f, -0.010799f, -0.012056f, -0.002090f, 0.001298f, 0.003767f, 0.004416f, -0.008001f, 0.008351f, 0.006496f, -0.004911f, 0.007644f, -0.001427f, 0.004484f, 0.000405f, 0.004445f, -0.003317f, 0.029033f, -0.011950f, -0.009756f, 0.032421f, -0.027421f, -0.020928f, -0.005183f, -0.016663f, -0.002723f, -0.032640f, 0.007231f, -0.020127f, 0.015314f, 0.002093f, 0.005173f, 0.018538f, 0.005277f, 0.013060f, 0.017977f, 0.017057f, 0.014076f, - 0.023932f, 0.002774f, 0.016241f, 0.014555f, -0.017609f, 0.030245f, 0.007342f, 0.013938f, -0.016448f, 0.023584f, 0.010578f, 0.016536f, 0.004119f, 0.005845f, -0.003163f, -0.021914f, 0.005462f, 0.012257f, 0.014458f, 0.015810f, 0.003322f, -0.026634f, -0.016886f, 0.019006f, 0.010288f, 0.004254f, -0.010193f, 0.013127f, -0.009757f, -0.026698f, 0.038956f, 0.023762f, 0.017331f, -0.015128f, -0.007510f, -0.019915f, -0.061877f, -0.001966f, -0.008739f, 0.007878f, -0.014546f, -0.015605f, -0.027358f, 0.004719f, 0.008613f, 0.034469f, -0.027387f, 0.010959f, 0.000381f, 0.015817f, -0.024132f, -0.029559f, -0.018075f, 0.018937f, 0.005677f, 0.005859f, 0.009987f, -0.008182f, 0.003243f, 0.022215f, 0.007806f, 0.011205f, 0.014108f, -0.005782f, -0.005321f, -0.009446f, 0.000096f, 0.009658f, 0.011947f, 0.000361f, 0.004872f, 0.002348f, 0.001822f, 0.009071f, -0.005807f, -0.004960f, -0.008136f, -0.004585f, -0.008417f, -0.000347f, -0.012713f, -0.005162f, -0.013434f, -0.000835f, -0.008143f, -0.002388f, -0.001977f, -0.004699f, 0.003674f, -0.003415f, -0.017222f, -0.002650f, 0.006683f, 0.007371f, 0.013915f, -0.002200f, - -0.008518f, 0.003891f, -0.003458f, -0.012537f, 0.011301f, 0.009588f, 0.009153f, 0.021635f, 0.014078f, -0.001315f, -0.049731f, 0.028834f, 0.030676f, -0.014994f, 0.026185f, 0.009125f, -0.041913f, -0.007261f, 0.055490f, -0.007689f, -0.036616f, -0.005569f, -0.003357f, -0.031786f, 0.022566f, 0.004838f, -0.015940f, 0.024315f, 0.016194f, 0.057236f, 0.033621f, 0.001082f, 0.004386f, 0.054013f, -0.013613f, 0.013821f, -0.021794f, -0.031439f, -0.009243f, -0.021291f, 0.005037f, -0.001362f, 0.011043f, -0.001434f, -0.003664f, -0.008891f, 0.042617f, 0.002273f, -0.033229f, -0.026303f, -0.005840f, -0.006657f, -0.000994f, 0.014076f, 0.038916f, 0.024973f, 0.008383f, -0.023264f, 0.030318f, 0.055272f, -0.011437f, 0.025239f, 0.023600f, 0.066559f, 0.012820f, 0.012893f, 0.020263f, 0.028518f, 0.015881f, -0.022509f, -0.021681f, 0.015522f, -0.040451f, -0.024226f, -0.028930f, 0.027904f, 0.024393f, 0.017170f, -0.006395f, 0.020649f, 0.042771f, -0.023995f, 0.034114f, 0.034039f, -0.004325f, 0.033469f, -0.030978f, -0.013478f, -0.010663f, 0.069813f, -0.033717f, 0.034470f, 0.021591f, 0.012897f, 0.009940f, -0.030452f, - -0.002821f, -0.023874f, 0.026210f, 0.025016f, -0.000160f, 0.002164f, -0.012187f, 0.018800f, -0.006994f, 0.002201f, 0.007190f, 0.007928f, 0.000181f, 0.011628f, -0.007529f, -0.003801f, -0.002856f, -0.007348f, 0.003750f, 0.007185f, -0.005497f, 0.003505f, 0.008236f, 0.014502f, 0.002406f, -0.012579f, 0.005750f, -0.013663f, 0.002766f, 0.013128f, 0.008526f, 0.013869f, -0.002084f, 0.022105f, -0.008339f, 0.016442f, -0.003950f, -0.004735f, -0.002605f, 0.001360f, 0.017716f, -0.012235f, 0.008632f, 0.000100f, 0.008742f, -0.009861f, 0.002963f, 0.004699f, -0.004486f, 0.023458f, 0.011095f, 0.038143f, 0.067992f, 0.007346f, -0.006982f, 0.007253f, -0.003596f, -0.011124f, 0.002073f, 0.007164f, -0.016537f, -0.022036f, 0.007559f, -0.011404f, -0.006209f, 0.017393f, -0.000806f, 0.034094f, -0.017838f, 0.033431f, 0.016439f, 0.003380f, -0.019297f, 0.006402f, 0.033312f, 0.009740f, -0.016834f, 0.006692f, -0.003960f, 0.001065f, 0.019592f, -0.026927f, -0.014254f, 0.030338f, 0.000702f, -0.007317f, 0.026284f, -0.001145f, 0.009341f, 0.006118f, -0.025037f, -0.045587f, -0.009627f, 0.016041f, 0.029385f, 0.006517f, - -0.022441f, 0.029467f, -0.009532f, 0.059595f, -0.030017f, 0.040170f, -0.023294f, 0.014509f, 0.034349f, -0.050448f, -0.052295f, -0.000135f, -0.014756f, 0.013758f, 0.016762f, 0.002643f, -0.007644f, -0.030732f, 0.020946f, -0.004235f, 0.037236f, 0.017063f, 0.034676f, 0.009715f, 0.020207f, -0.008167f, 0.026634f, 0.009887f, -0.015849f, 0.003527f, -0.000406f, -0.076285f, -0.002223f, 0.013788f, 0.018571f, 0.032709f, 0.027504f, -0.008626f, 0.002344f, -0.005359f, 0.005167f, 0.000318f, -0.008491f, -0.019961f, 0.008844f, -0.011498f, 0.026580f, 0.003489f, 0.005199f, 0.013416f, 0.007740f, -0.007982f, 0.007676f, 0.019633f, 0.016887f, -0.005357f, -0.003052f, 0.003163f, -0.004078f, -0.002374f, -0.012006f, -0.001759f, -0.025161f, -0.003077f, 0.008633f, -0.020561f, 0.014565f, -0.015405f, -0.012862f, 0.004216f, -0.013083f, 0.013775f, 0.005164f, -0.004540f, 0.008685f, -0.000530f, -0.001448f, 0.006065f, 0.018470f, -0.012351f, 0.002867f, 0.003275f, 0.044315f, 0.057326f, -0.012553f, -0.002247f, 0.020195f, 0.075846f, 0.002087f, -0.044904f, -0.018000f, 0.009106f, 0.008589f, -0.014210f, 0.014459f, -0.010267f, - 0.023464f, -0.038079f, 0.001951f, 0.023695f, -0.015945f, -0.017183f, 0.003257f, -0.037634f, -0.011650f, -0.012264f, -0.059959f, -0.050587f, -0.029372f, 0.022074f, 0.025919f, -0.004559f, -0.042694f, 0.004799f, 0.001446f, -0.001506f, 0.008474f, -0.021401f, 0.051105f, -0.014604f, 0.006445f, 0.056707f, -0.049710f, 0.023941f, 0.008316f, -0.017305f, 0.020542f, -0.013402f, -0.040326f, 0.000846f, 0.034735f, -0.015567f, -0.025368f, 0.014516f, 0.004610f, 0.033212f, 0.000167f, -0.051156f, 0.004011f, -0.030237f, 0.050329f, -0.018273f, 0.007536f, 0.012413f, 0.005957f, -0.007224f, -0.032820f, 0.013685f, 0.034241f, 0.009993f, 0.035330f, -0.051863f, -0.028655f, -0.008531f, -0.000561f, 0.005607f, -0.040136f, 0.035876f, -0.005026f, -0.038143f, -0.012832f, 0.024161f, 0.022361f, -0.021112f, -0.029453f, 0.029012f, -0.023468f, -0.014612f, -0.000644f, -0.003563f, -0.003298f, -0.001864f, -0.008648f, -0.001588f, 0.014443f, -0.003270f, 0.013264f, -0.015281f, 0.010519f, 0.014003f, -0.003856f, 0.007585f, 0.002172f, -0.002782f, 0.000083f, 0.001953f, 0.024800f, 0.001366f, -0.004862f, 0.002191f, 0.005439f, -0.012363f, - 0.004365f, -0.015826f, -0.001356f, 0.018482f, -0.006697f, -0.014401f, -0.005443f, 0.008342f, 0.000192f, 0.000704f, 0.010784f, 0.000969f, -0.014593f, -0.007441f, 0.026370f, 0.019426f, -0.006442f, -0.001018f, -0.039321f, 0.057894f, 0.001686f, -0.099059f, 0.039732f, -0.013584f, 0.007759f, 0.010149f, 0.013341f, 0.024364f, 0.008904f, -0.017904f, -0.004299f, 0.024536f, 0.016599f, -0.019639f, -0.001019f, -0.015574f, -0.008061f, -0.048636f, -0.006178f, 0.023465f, 0.029126f, 0.006578f, -0.011514f, 0.032266f, -0.033166f, 0.036760f, -0.021126f, -0.011846f, 0.004408f, -0.011356f, 0.009821f, -0.029255f, -0.039519f, -0.044221f, -0.014138f, 0.022959f, -0.008824f, 0.000264f, 0.026983f, 0.007526f, 0.004737f, -0.000806f, 0.000942f, -0.009282f, 0.000388f, 0.029092f, 0.017909f, 0.030699f, 0.026026f, 0.030798f, 0.020952f, -0.018246f, -0.011642f, 0.007598f, -0.001939f, -0.035302f, 0.023785f, -0.006354f, -0.033376f, 0.041961f, -0.000457f, 0.006857f, -0.001152f, -0.015204f, -0.005020f, 0.017648f, 0.025513f, 0.021257f, 0.000659f, 0.013037f, -0.042764f, -0.006030f, -0.015238f, 0.023321f, 0.008038f, -0.011875f, - -0.013605f, 0.053909f, -0.016421f, -0.018404f, -0.005840f, 0.008735f, -0.013342f, -0.035444f, -0.002013f, -0.006030f, -0.019192f, 0.033317f, 0.006772f, 0.012574f, -0.010243f, -0.001727f, 0.007724f, 0.002053f, 0.009758f, 0.010607f, -0.003488f, 0.006528f, -0.006440f, 0.007392f, 0.002753f, -0.005823f, -0.004500f, 0.005493f, 0.007604f, 0.002144f, -0.006819f, -0.005547f, -0.006141f, -0.004422f, 0.000093f, 0.003874f, -0.005581f, -0.006604f, 0.001510f, -0.000455f, -0.001281f, 0.005852f, -0.002794f, 0.009229f, 0.002681f, 0.026882f, -0.002371f, -0.003277f, -0.006021f, -0.011538f, -0.015081f, 0.134734f, -0.132627f, -0.006793f, -0.144184f, -0.022446f, -0.054935f, -0.006823f, 0.034981f, -0.018011f, -0.040040f, 0.062685f, -0.017182f, -0.011104f, 0.001896f, 0.019214f, -0.002434f, 0.052072f, 0.034388f, 0.020569f, -0.031025f, 0.001898f, -0.021229f, -0.021558f, -0.014503f, 0.000619f, -0.006781f, -0.005934f, -0.017613f, -0.004042f, 0.028670f, 0.003390f, 0.018904f, 0.018910f, -0.001741f, 0.025298f, 0.036902f, 0.001820f, -0.007814f, -0.019540f, -0.023346f, 0.009074f, 0.009922f, -0.019370f, 0.031237f, -0.041741f, - -0.042261f, 0.004454f, -0.014931f, 0.022303f, -0.039198f, 0.016452f, -0.075180f, -0.040142f, -0.060229f, -0.005400f, -0.029838f, -0.002885f, -0.018296f, -0.022749f, -0.019830f, -0.001998f, 0.004869f, -0.058840f, 0.006472f, -0.013049f, 0.006518f, 0.000058f, -0.027314f, -0.047909f, 0.032778f, -0.028915f, -0.005327f, 0.029300f, -0.003192f, -0.009468f, 0.019328f, 0.024251f, -0.005243f, 0.024157f, 0.015765f, 0.029236f, 0.016054f, 0.029588f, 0.013928f, -0.017874f, -0.005102f, -0.015771f, 0.000529f, -0.013094f, 0.002577f, 0.010589f, 0.015090f, 0.016516f, -0.007594f, 0.007566f, 0.005411f, 0.010763f, -0.002769f, -0.004387f, 0.005565f, 0.012946f, 0.001573f, 0.002860f, 0.014341f, 0.007241f, 0.014771f, -0.002324f, 0.000539f, -0.001734f, 0.007134f, 0.010141f, -0.002021f, -0.017365f, 0.009279f, -0.003055f, 0.003523f, -0.005577f, 0.002257f, -0.005065f, -0.002667f, 0.000720f, -0.014437f, 0.000055f, 0.019482f, -0.012429f, -0.013042f, 0.001516f, 0.006580f, 0.006656f, 0.002206f, -0.012858f, 0.109891f, 0.055504f, 0.027164f, -0.025818f, -0.013069f, -0.056427f, 0.013185f, 0.046370f, -0.008321f, -0.010261f, - 0.075542f, -0.012810f, -0.016057f, 0.037709f, 0.055460f, 0.010107f, 0.056548f, -0.013387f, 0.008740f, 0.033653f, 0.037896f, 0.059525f, 0.048215f, -0.001905f, -0.020694f, 0.018316f, 0.022023f, 0.020897f, 0.025786f, 0.044673f, 0.022094f, 0.056649f, -0.021215f, -0.000885f, 0.016896f, 0.015814f, 0.047956f, 0.028193f, 0.051353f, -0.036068f, -0.011056f, 0.020902f, -0.039043f, 0.032519f, 0.032878f, 0.031653f, 0.013680f, -0.039228f, -0.014107f, 0.076141f, 0.019883f, 0.051529f, 0.042676f, 0.046927f, -0.009096f, 0.062003f, 0.096544f, 0.033709f, 0.008870f, 0.068043f, 0.046974f, -0.025371f, -0.015626f, -0.032060f, -0.025765f, 0.028981f, 0.033333f, 0.003453f, -0.027479f, 0.001161f, -0.024547f, -0.000579f, -0.010805f, 0.016845f, -0.058187f, -0.006104f, 0.006183f, -0.029058f, 0.022612f, 0.004516f, -0.018021f, 0.016189f, -0.036569f, -0.023379f, -0.040555f, -0.013080f, -0.019462f, 0.014976f, 0.004685f, -0.018412f, 0.004480f, 0.027199f, 0.008034f, -0.008179f, -0.016035f, -0.024625f, -0.009588f, 0.008888f, -0.035509f, -0.016078f, -0.002937f, 0.029171f, 0.009696f, -0.011639f, 0.006064f, -0.018686f, - -0.005208f, -0.005388f, -0.015878f, -0.009758f, 0.026791f, -0.005676f, -0.001894f, -0.006037f, 0.006299f, 0.017604f, 0.012131f, 0.015146f, 0.036855f, 0.000517f, 0.029672f, 0.001851f, 0.002937f, 0.019104f, 0.015828f, -0.024080f, -0.014381f, -0.001497f, 0.005540f, 0.003016f, -0.000015f, -0.034869f, 0.016883f, -0.041980f, 0.072718f, 0.103331f, 0.060073f, -0.026910f, -0.057205f, -0.021306f, 0.051004f, -0.015521f, -0.042694f, 0.076908f, -0.053783f, 0.045782f, 0.025809f, -0.061048f, -0.025379f, -0.006746f, -0.100384f, 0.003599f, 0.011303f, -0.048697f, 0.098487f, -0.034303f, 0.091466f, -0.069070f, 0.010010f, 0.003994f, 0.066845f, 0.098286f, -0.008283f, 0.033095f, 0.046467f, -0.055009f, 0.036498f, -0.074315f, -0.020488f, 0.139922f, -0.008009f, -0.039184f, -0.007678f, -0.079024f, 0.003317f, -0.025209f, 0.087765f, 0.032917f, 0.040833f, -0.013956f, -0.023249f, -0.044227f, -0.040483f, 0.009679f, 0.005589f, -0.000290f, 0.058476f, -0.014723f, 0.011166f, -0.061212f, -0.031440f, 0.040005f, -0.090362f, -0.036174f, -0.027146f, -0.031449f, 0.084460f, 0.005593f, 0.091260f, 0.064826f, 0.029152f, 0.034412f, - -0.020360f, -0.048771f, 0.040941f, -0.066182f, -0.039974f, 0.080343f, 0.024704f, -0.049351f, -0.080275f, -0.049270f, -0.057081f, 0.045333f, -0.049245f, 0.024987f, -0.035515f, -0.003757f, -0.030469f, 0.031956f, 0.019202f, 0.002181f, -0.026390f, -0.005623f, -0.018156f, 0.004681f, -0.035932f, -0.025790f, -0.013399f, 0.007203f, 0.020402f, -0.001500f, -0.014492f, -0.021381f, -0.033332f, -0.024841f, 0.021583f, 0.028324f, -0.008917f, 0.019261f, 0.041150f, 0.018667f, -0.037677f, -0.012070f, -0.013661f, 0.023074f, -0.022859f, -0.016194f, -0.005145f, 0.007877f, -0.030117f, -0.042117f, -0.028906f, -0.010782f, 0.017243f, -0.001588f, 0.004176f, -0.006880f, 0.023511f, 0.006153f, 0.065970f, -0.108958f, 0.116300f, -0.002730f, 0.009126f, -0.037024f, 0.093948f, 0.022187f, 0.060569f, 0.022988f, -0.039394f, 0.013662f, 0.033725f, -0.057229f, 0.040338f, 0.000868f, 0.026828f, -0.076454f, -0.005789f, 0.018929f, 0.070716f, -0.029279f, -0.057992f, -0.002415f, 0.070333f, 0.037152f, -0.026611f, -0.060345f, -0.002794f, 0.050776f, 0.006818f, 0.003656f, 0.014233f, 0.036947f, 0.093163f, -0.130934f, -0.021421f, 0.012789f, - 0.073094f, 0.016442f, -0.039512f, -0.009715f, 0.027975f, 0.066839f, -0.006530f, 0.003368f, -0.125483f, 0.036514f, 0.019861f, 0.034411f, -0.090985f, 0.080780f, 0.069672f, 0.026273f, -0.041038f, -0.004070f, -0.045429f, 0.034252f, 0.059705f, 0.025085f, 0.028061f, -0.005061f, 0.045315f, -0.065582f, 0.062524f, -0.018314f, -0.021994f, 0.073362f, 0.060576f, 0.004033f, -0.022578f, -0.060069f, 0.044324f, 0.048397f, -0.128713f, -0.010083f, 0.074392f, 0.018613f, -0.000578f, -0.045979f, -0.019606f, 0.126190f, -0.009411f, -0.042975f, -0.005212f, -0.023110f, -0.027801f, 0.042055f, -0.035191f, 0.012928f, 0.019387f, 0.025716f, -0.017451f, 0.002645f, -0.017721f, -0.021450f, -0.014131f, 0.019447f, 0.019613f, -0.019626f, -0.003684f, 0.009788f, -0.015422f, 0.038265f, -0.036355f, 0.009672f, -0.006320f, -0.011741f, 0.013826f, 0.063289f, 0.004421f, 0.000245f, -0.009864f, -0.022109f, 0.000380f, 0.034515f, 0.008475f, -0.001466f, -0.006385f, -0.016056f, 0.029561f, -0.007423f, -0.001428f, -0.017052f, 0.017076f, -0.097133f, 0.047828f, 0.009436f, 0.030558f, 0.036786f, 0.053389f, 0.019115f, 0.017372f, -0.025036f, - 0.027685f, 0.005327f, 0.063323f, -0.006962f, -0.018481f, 0.049803f, 0.038347f, -0.008037f, 0.003630f, -0.020882f, 0.001016f, 0.015975f, -0.004516f, -0.012357f, 0.028619f, -0.022207f, 0.003295f, 0.038530f, -0.007866f, 0.022360f, -0.038579f, -0.007659f, 0.005619f, -0.015766f, -0.005795f, 0.004748f, 0.028301f, -0.006811f, -0.046183f, 0.002112f, 0.093410f, 0.019547f, -0.049910f, 0.015335f, -0.050885f, -0.034893f, -0.026024f, -0.006921f, 0.059841f, -0.006172f, -0.046731f, 0.096208f, -0.103242f, 0.017902f, 0.106528f, 0.011487f, 0.075072f, -0.056639f, -0.105607f, 0.034561f, 0.004253f, 0.084922f, 0.005106f, -0.047440f, 0.039940f, -0.010406f, -0.008144f, -0.020013f, -0.002721f, -0.029414f, 0.015516f, 0.004422f, 0.023322f, -0.035979f, -0.030488f, -0.012117f, 0.038259f, 0.048563f, -0.015376f, 0.025992f, -0.003135f, 0.040704f, 0.029359f, -0.050519f, 0.041369f, -0.010101f, 0.006802f, -0.008296f, -0.014996f, 0.000159f, 0.000576f, 0.005846f, -0.003067f, 0.004618f, 0.004473f, 0.003236f, 0.006674f, -0.016408f, 0.001703f, 0.009701f, -0.013159f, -0.001458f, 0.009805f, -0.008608f, 0.012601f, 0.013316f, - -0.018261f, 0.023462f, 0.010298f, 0.024290f, -0.004415f, 0.011459f, 0.020189f, -0.036099f, 0.000482f, 0.011529f, 0.022224f, -0.012673f, -0.008723f, -0.012177f, -0.008106f, 0.041269f, -0.018879f, -0.198359f, -0.454772f, -0.180704f, -0.274016f, -0.400895f, 0.214368f, 0.058701f, 0.123047f, 0.569092f, 0.438548f, 0.255471f, 0.468413f, 0.349251f, 0.059117f, 0.114926f, 0.095592f, -0.223102f, -0.190921f, -0.093996f, -0.340683f, -0.325938f, -0.125180f, -0.167869f, -0.236532f, -0.099438f, -0.085379f, -0.240899f, -0.201022f, -0.017480f, -0.114784f, -0.195488f, -0.067485f, 0.061235f, -0.142002f, 0.041720f, 0.209827f, -0.016887f, -0.030767f, 0.284940f, 0.227650f, -0.010851f, 0.333327f, 0.386059f, 0.156566f, 0.362661f, 0.509533f, 0.303460f, 0.263835f, 0.611272f, 0.488006f, 0.366429f, 0.434915f, 0.576649f, 0.205973f, 0.081037f, 0.241295f, -0.191609f, -0.547770f, -0.397631f, -0.605760f, -0.981053f, -0.878396f, -0.932653f, -1.084023f, -1.105269f, -0.952714f, -0.830145f, -0.832054f, -0.585572f, -0.259411f, -0.176328f, -0.027012f, 0.282722f, 0.520917f, 0.525341f, 0.652962f, 0.939038f, 0.821290f, 0.750167f, - 1.037605f, 0.824013f, 0.465926f, 0.679515f, 0.476158f, 0.184016f, 0.167075f, 0.218857f, 0.022319f, -0.070385f, 0.042369f, 0.005284f, -0.154425f, -0.083130f, 0.013425f, -0.123736f, -0.227691f, -0.110192f, -0.156293f, -0.332232f, -0.209062f, -0.081682f, -0.247810f, -0.167429f, 0.033145f, -0.079676f, -0.115821f, 0.055716f, -0.068579f, -0.273779f, -0.209171f, -0.335830f, -0.566164f, -0.534045f, -0.511285f, -0.532028f, -0.466800f, -0.314614f, -0.245065f, -0.148489f, -0.028618f, 0.123723f, 0.221301f, 0.338515f, 0.428406f, 0.531015f, 0.553684f, 0.586103f, 0.654309f, 0.619517f, 0.569224f, 0.537309f, 0.356927f, 0.124772f, 0.012386f, -0.054136f, -0.151744f, -0.180295f, -0.156015f, -0.177570f, -0.197831f, -0.175482f, -0.175621f, -0.173389f, -0.144685f, -0.142426f, -0.147556f, -0.143501f, -0.123306f, -0.102567f, -0.084419f, -0.053044f, -0.024985f, 0.005979f, 0.018668f, 0.024489f, 0.017908f, 0.010913f, 0.007588f} - }, - { - {-0.015949f, 0.009434f, -0.012132f, 0.001472f, -0.005142f, -0.001607f, 0.004718f, -0.007524f, -0.013668f, -0.003497f, 0.001154f, -0.007839f, -0.004520f, 0.006625f, -0.003935f, 0.003063f, -0.017114f, -0.001474f, 0.011575f, 0.006162f, -0.019147f, -0.006600f, -0.005025f, -0.005093f, 0.006464f, -0.002801f, -0.009974f, -0.006273f, -0.007131f, -0.007266f, 0.012614f, 0.003936f, 0.008124f, -0.005275f, 0.010672f, 0.009692f, 0.006913f, -0.003850f, -0.009059f, -0.007126f, 0.000752f, 0.001797f, 0.014519f, 0.005138f, 0.002763f, -0.006850f, 0.001578f, 0.000617f, 0.001661f, 0.005744f, 0.003409f, -0.009870f, -0.008382f, -0.004343f, 0.005307f, 0.001225f, -0.001857f, -0.010551f, -0.003221f, 0.004123f, 0.004775f, -0.004265f, -0.001607f, 0.000223f, 0.005057f, -0.001103f, -0.005576f, -0.000007f, 0.000807f, -0.007205f, 0.015314f, 0.000949f, -0.010387f, -0.000031f, -0.001597f, 0.009814f, 0.000795f, 0.006636f, 0.009191f, 0.003427f, -0.000621f, 0.000425f, -0.003330f, -0.002196f, -0.002211f, 0.005814f, -0.001873f, -0.000778f, -0.002625f, 0.001989f, 0.000715f, -0.001158f, -0.000229f, -0.001552f, 0.000319f, -0.000251f, - 0.001198f, 0.001157f, 0.001965f, -0.010515f, -0.009515f, 0.010805f, 0.009911f, -0.008004f, 0.005971f, 0.000605f, 0.003082f, -0.026302f, 0.010185f, -0.003903f, -0.017957f, -0.023420f, 0.000642f, 0.016947f, 0.001035f, 0.010991f, 0.000422f, -0.021180f, -0.007300f, 0.002452f, 0.007425f, -0.003722f, -0.001799f, -0.008911f, 0.001197f, -0.001610f, 0.014991f, 0.007623f, 0.003198f, 0.002699f, 0.004085f, 0.005212f, 0.013670f, 0.008288f, -0.012047f, -0.001011f, 0.002821f, 0.002933f, -0.014332f, 0.004682f, -0.004251f, -0.009061f, -0.002553f, -0.000369f, 0.009831f, 0.002539f, -0.005470f, 0.009957f, 0.015510f, -0.003267f, -0.005863f, 0.003764f, -0.001095f, 0.008490f, 0.008652f, 0.006781f, -0.010346f, -0.007868f, 0.007445f, -0.003118f, -0.002588f, -0.007927f, 0.000874f, -0.011782f, 0.007042f, 0.006354f, 0.008331f, 0.002160f, 0.009680f, -0.010439f, -0.006559f, 0.013604f, 0.000723f, 0.005060f, 0.016049f, 0.006223f, 0.001590f, -0.006433f, 0.009419f, 0.001158f, -0.004761f, 0.002718f, -0.011328f, 0.000352f, -0.001184f, 0.001720f, 0.003055f, -0.001263f, -0.005042f, -0.002738f, -0.000813f, 0.002504f, - 0.002325f, 0.000816f, -0.001387f, 0.001419f, 0.003211f, 0.000601f, -0.001051f, 0.013413f, 0.001209f, 0.005208f, -0.011247f, -0.009550f, 0.005507f, -0.002631f, -0.004097f, -0.005213f, -0.004872f, 0.004091f, -0.013017f, -0.007455f, -0.016081f, -0.019329f, -0.003555f, 0.016131f, 0.010414f, -0.006484f, -0.001786f, -0.002216f, -0.003723f, -0.013916f, 0.010068f, -0.003477f, -0.003553f, 0.000903f, 0.006591f, -0.003119f, 0.000611f, -0.000461f, 0.009533f, -0.008765f, 0.009563f, 0.005225f, 0.011460f, -0.003879f, 0.008873f, 0.003951f, -0.005440f, 0.007992f, -0.005378f, 0.004609f, 0.008504f, -0.006376f, 0.008930f, -0.005296f, -0.004259f, -0.001327f, -0.002603f, 0.004499f, -0.002562f, -0.006751f, 0.002752f, -0.005859f, 0.001320f, 0.000816f, 0.000947f, 0.013436f, 0.002639f, -0.003070f, 0.000107f, -0.005488f, -0.007647f, 0.003983f, -0.001818f, 0.012825f, 0.013096f, 0.005312f, -0.003595f, -0.002004f, -0.000061f, -0.005137f, -0.005925f, 0.006602f, 0.010387f, 0.000345f, -0.001094f, 0.006380f, 0.006904f, -0.000887f, 0.002461f, 0.002217f, -0.004961f, 0.004747f, -0.000873f, 0.006808f, -0.003338f, -0.001294f, - -0.000223f, -0.002824f, -0.000275f, 0.004960f, -0.001050f, 0.001505f, 0.001487f, -0.003499f, 0.001133f, -0.000640f, -0.000671f, 0.001417f, 0.001333f, -0.002241f, 0.002592f, -0.000866f, -0.001062f, 0.000186f, -0.000251f, -0.000423f, -0.002007f, -0.001520f, 0.025522f, -0.010833f, 0.010449f, -0.013048f, -0.010979f, 0.000029f, -0.003066f, -0.002795f, 0.003535f, -0.005502f, 0.011022f, 0.010756f, 0.009209f, -0.002794f, -0.001231f, -0.004832f, -0.011818f, 0.001822f, -0.007111f, -0.001330f, 0.001266f, -0.003968f, 0.006691f, 0.002523f, -0.000834f, -0.019481f, -0.008153f, -0.012284f, 0.000432f, -0.008042f, -0.012366f, -0.005423f, -0.006846f, -0.007557f, 0.012253f, -0.009828f, 0.008628f, 0.000738f, -0.003514f, 0.004837f, 0.004137f, -0.008810f, -0.002440f, 0.000171f, 0.009455f, -0.000913f, -0.012998f, -0.016462f, -0.017157f, 0.004448f, -0.006287f, 0.000369f, -0.001388f, 0.002471f, 0.005758f, 0.009514f, -0.006608f, -0.003488f, 0.003103f, 0.003270f, 0.001188f, 0.011936f, -0.006711f, 0.007381f, -0.013747f, 0.026880f, 0.003273f, -0.002862f, 0.005194f, 0.002574f, 0.005108f, -0.007471f, -0.001349f, 0.002044f, - -0.000861f, -0.001605f, -0.013597f, -0.004505f, -0.009251f, -0.002738f, -0.001111f, -0.006640f, -0.006530f, 0.004838f, 0.005609f, 0.001730f, 0.001078f, -0.000608f, 0.004735f, 0.002815f, 0.005441f, -0.002724f, 0.000453f, 0.000187f, 0.004998f, -0.001998f, -0.000325f, -0.000286f, 0.000532f, -0.003957f, 0.000951f, -0.002856f, 0.001425f, 0.002034f, -0.000981f, -0.003323f, 0.000642f, 0.001062f, -0.001061f, -0.001122f, -0.003629f, 0.000985f, -0.000447f, -0.001803f, 0.002250f, 0.002655f, -0.000358f, -0.012410f, 0.001904f, 0.002405f, 0.000917f, -0.001887f, -0.007394f, 0.004539f, 0.003651f, -0.011202f, 0.013347f, -0.016448f, 0.020487f, -0.001915f, 0.006896f, 0.003094f, -0.000329f, -0.002112f, 0.004285f, 0.019204f, 0.021534f, -0.004027f, 0.003949f, -0.002502f, -0.002957f, 0.002925f, 0.004641f, 0.014788f, -0.001778f, 0.004538f, -0.007353f, 0.008145f, 0.001879f, 0.011677f, 0.005706f, 0.010943f, -0.015568f, 0.006687f, 0.005799f, -0.004846f, -0.000071f, 0.011874f, 0.000144f, 0.001008f, 0.003681f, 0.007258f, -0.002340f, -0.000935f, 0.022838f, 0.010909f, 0.002110f, 0.002157f, -0.004659f, 0.010414f, - -0.013649f, -0.020054f, -0.024287f, -0.001414f, 0.012914f, -0.000308f, 0.006486f, 0.017420f, 0.006945f, -0.002983f, -0.006003f, 0.009328f, -0.001701f, 0.022375f, 0.010111f, 0.003392f, 0.003209f, -0.012079f, 0.002679f, 0.009271f, -0.004584f, -0.013611f, 0.002499f, 0.005014f, -0.000504f, -0.004672f, -0.001655f, 0.002417f, -0.004358f, 0.002663f, 0.002629f, 0.002414f, -0.000793f, 0.002773f, -0.004276f, -0.003982f, -0.001250f, -0.002496f, 0.001488f, -0.003997f, 0.002452f, 0.004096f, 0.002724f, 0.003111f, 0.003117f, 0.001043f, 0.002031f, -0.005544f, -0.004668f, -0.001685f, -0.002409f, -0.002854f, -0.000524f, 0.001976f, 0.001130f, -0.000114f, 0.003614f, 0.002004f, -0.000186f, 0.004541f, 0.002850f, -0.029679f, 0.003213f, -0.002216f, 0.020408f, -0.015226f, 0.008974f, -0.031427f, 0.012413f, -0.002938f, -0.016002f, -0.017584f, -0.012291f, 0.009425f, 0.007371f, 0.023909f, 0.003203f, 0.007986f, 0.022890f, -0.003939f, -0.016593f, 0.002531f, -0.012776f, 0.003168f, 0.018673f, 0.003501f, -0.005186f, -0.002183f, -0.003526f, 0.005516f, 0.007259f, -0.001499f, 0.004867f, 0.009639f, -0.005950f, 0.003078f, - -0.011224f, -0.000837f, -0.014057f, -0.002175f, 0.001971f, -0.006651f, 0.010455f, 0.007144f, 0.008918f, 0.017717f, 0.001181f, 0.021434f, 0.016434f, 0.007958f, -0.011076f, 0.024575f, 0.010614f, 0.004346f, 0.021561f, -0.002325f, 0.000536f, 0.001825f, 0.007193f, -0.004453f, -0.006226f, -0.014706f, -0.014206f, -0.011608f, 0.000186f, -0.009154f, 0.018929f, -0.011348f, 0.007866f, 0.011807f, -0.006555f, 0.000630f, -0.005348f, -0.003141f, -0.018477f, -0.021200f, 0.009770f, -0.003680f, -0.007054f, -0.006275f, 0.001882f, 0.002500f, 0.001505f, 0.004171f, -0.007344f, 0.017369f, 0.001296f, 0.005233f, -0.003483f, 0.000977f, 0.005245f, -0.008450f, 0.002932f, 0.000334f, 0.003007f, 0.003941f, 0.000061f, 0.003079f, 0.006015f, 0.000018f, 0.001797f, 0.004275f, 0.004804f, 0.006143f, -0.000167f, 0.001054f, -0.003050f, -0.000875f, 0.000411f, -0.001468f, -0.004349f, 0.000315f, -0.001181f, -0.001925f, 0.000592f, 0.024925f, 0.001005f, 0.000358f, -0.002243f, -0.004804f, 0.004525f, 0.001090f, -0.012632f, -0.016205f, -0.021981f, -0.011493f, -0.023001f, -0.014607f, -0.007798f, -0.017009f, -0.010734f, -0.007410f, - -0.008812f, -0.023013f, 0.015879f, 0.009963f, 0.000643f, 0.008389f, 0.003888f, -0.006358f, 0.028696f, 0.001807f, -0.009838f, -0.005152f, -0.019354f, -0.008307f, 0.021386f, 0.001079f, -0.017835f, -0.017848f, 0.002669f, -0.018067f, 0.005865f, 0.006388f, -0.014042f, 0.000596f, 0.004472f, 0.001038f, 0.021055f, 0.006323f, -0.009519f, 0.002156f, -0.011425f, 0.010631f, 0.001576f, 0.004727f, -0.025599f, 0.017736f, -0.008751f, 0.007410f, 0.000666f, 0.003467f, 0.004287f, 0.000695f, -0.007402f, -0.000558f, -0.009949f, 0.000054f, -0.020161f, -0.000079f, -0.021754f, 0.028814f, -0.004817f, 0.018344f, -0.013387f, -0.006265f, -0.002812f, -0.013864f, -0.007679f, 0.011277f, -0.000321f, -0.000398f, 0.008418f, 0.010842f, 0.001817f, 0.017684f, 0.015366f, 0.021262f, 0.011393f, 0.004545f, 0.002679f, 0.009673f, 0.005238f, 0.003242f, 0.004013f, 0.002219f, 0.004826f, -0.001298f, 0.007826f, 0.001388f, -0.000399f, -0.001587f, 0.006121f, 0.002490f, 0.004387f, 0.002191f, -0.002727f, 0.002099f, 0.002482f, 0.002038f, -0.004557f, 0.008937f, 0.004902f, -0.000818f, -0.006682f, -0.000698f, -0.000911f, -0.004836f, - 0.001892f, 0.000934f, 0.005176f, -0.004114f, -0.009263f, -0.012770f, -0.000066f, 0.009373f, -0.024514f, -0.000020f, -0.010604f, -0.008491f, 0.017338f, -0.028273f, -0.026708f, 0.006947f, 0.035583f, 0.000902f, 0.003373f, 0.002727f, -0.005437f, 0.019481f, 0.018914f, 0.010923f, 0.005357f, -0.005143f, -0.028946f, 0.017141f, 0.000134f, -0.023192f, -0.007492f, 0.005365f, -0.001184f, 0.000183f, 0.002357f, -0.005594f, -0.022839f, -0.001298f, 0.000921f, -0.004185f, -0.009550f, 0.006837f, 0.019786f, -0.025556f, 0.015879f, -0.009590f, -0.004824f, 0.001504f, 0.012597f, 0.041491f, -0.026856f, -0.006780f, 0.002621f, -0.002677f, -0.004927f, 0.001356f, -0.010305f, 0.003565f, -0.009308f, 0.028519f, 0.009799f, 0.005329f, 0.007860f, -0.006049f, -0.001662f, 0.015087f, -0.002389f, 0.006547f, -0.012574f, 0.021888f, 0.000959f, -0.015527f, 0.030624f, -0.019543f, 0.014092f, 0.004000f, 0.006943f, 0.022262f, -0.008897f, 0.009467f, -0.001100f, 0.000023f, 0.002671f, -0.001514f, -0.015056f, -0.007990f, -0.000983f, -0.006671f, -0.002376f, -0.003646f, -0.009242f, -0.009452f, -0.007097f, 0.004372f, -0.008095f, 0.004632f, - -0.002175f, -0.000354f, -0.007105f, -0.004873f, -0.005246f, 0.004145f, -0.009804f, 0.000959f, 0.000932f, 0.005919f, 0.009283f, -0.003671f, -0.001785f, -0.008396f, -0.007166f, 0.000476f, -0.006306f, 0.001745f, -0.001182f, -0.005594f, 0.000089f, -0.001714f, 0.002517f, 0.003322f, -0.002352f, 0.030376f, 0.002390f, 0.007934f, 0.009024f, -0.005063f, -0.017460f, -0.013685f, 0.002117f, 0.030388f, 0.017232f, 0.003759f, -0.027141f, 0.003936f, -0.014920f, 0.000112f, 0.030401f, 0.029245f, 0.014778f, 0.019776f, -0.017805f, -0.036884f, -0.019310f, -0.026576f, 0.014766f, -0.000239f, -0.004481f, -0.000076f, -0.020116f, -0.005951f, 0.006242f, -0.003756f, -0.007635f, -0.007414f, 0.021544f, -0.001364f, 0.005872f, -0.006091f, 0.014129f, 0.003022f, -0.008132f, -0.017092f, -0.013140f, 0.039005f, -0.001666f, -0.008781f, 0.012464f, -0.022238f, 0.006996f, -0.012713f, -0.038902f, -0.008696f, -0.005052f, 0.011813f, 0.004523f, 0.010383f, 0.003296f, 0.015435f, 0.000587f, 0.001108f, 0.008533f, -0.037993f, -0.006000f, -0.010177f, -0.002708f, 0.003734f, 0.021848f, 0.024169f, 0.008704f, -0.006272f, -0.016630f, -0.021813f, - -0.007331f, -0.012815f, 0.002761f, -0.006351f, -0.006809f, -0.015007f, 0.022526f, 0.016278f, 0.006603f, 0.020758f, -0.004926f, 0.008319f, 0.012707f, -0.008040f, 0.007570f, -0.005161f, 0.001660f, 0.007605f, -0.002296f, -0.004957f, -0.002079f, -0.002713f, -0.001965f, -0.000121f, 0.000513f, 0.007540f, 0.000304f, 0.000949f, 0.002302f, -0.004102f, -0.011510f, 0.000522f, -0.002682f, -0.001436f, -0.002082f, -0.006714f, -0.000768f, 0.002319f, 0.010240f, 0.008478f, -0.004750f, 0.001245f, 0.006738f, -0.001362f, 0.001552f, -0.002356f, 0.001546f, 0.006531f, 0.000814f, 0.007161f, -0.043999f, -0.028777f, -0.006685f, -0.010498f, 0.022436f, 0.015403f, -0.003712f, 0.038657f, -0.039125f, -0.009143f, -0.014783f, 0.041293f, 0.019797f, -0.013604f, 0.015207f, 0.005772f, -0.016108f, 0.028513f, -0.031498f, 0.015559f, -0.014519f, 0.002439f, 0.003407f, -0.010526f, 0.027532f, -0.019387f, 0.016898f, -0.008085f, -0.040564f, -0.006744f, 0.028299f, -0.017163f, -0.027702f, 0.000362f, -0.003473f, -0.041434f, -0.007765f, 0.016604f, 0.007028f, 0.022075f, 0.016225f, -0.004693f, 0.039821f, -0.009546f, -0.012287f, -0.019606f, - -0.018262f, -0.017658f, 0.010919f, 0.014867f, -0.012842f, -0.014477f, 0.004756f, -0.012558f, 0.016689f, -0.004610f, 0.009052f, -0.006793f, -0.010373f, -0.007959f, -0.000244f, -0.023452f, 0.006335f, 0.016901f, -0.003967f, 0.007307f, 0.010147f, 0.012000f, 0.021631f, -0.015495f, 0.006951f, 0.016875f, -0.002187f, -0.035954f, -0.038280f, 0.004213f, -0.003647f, 0.002844f, -0.014015f, -0.005817f, 0.002813f, -0.013860f, -0.025156f, -0.007682f, 0.018975f, 0.015404f, -0.007569f, -0.003060f, 0.005838f, 0.005213f, -0.002997f, -0.006102f, 0.000455f, -0.000796f, -0.009887f, -0.003653f, 0.010513f, -0.003010f, 0.008449f, 0.001540f, -0.002621f, -0.005157f, 0.006792f, 0.006707f, 0.007861f, 0.000964f, -0.004394f, 0.004583f, -0.011765f, -0.007040f, 0.005826f, 0.002742f, 0.005004f, 0.009206f, -0.004664f, 0.001936f, 0.003627f, 0.004511f, 0.000887f, -0.005339f, -0.007701f, 0.003501f, -0.004176f, -0.002532f, 0.031769f, -0.019652f, -0.049898f, 0.000464f, 0.036021f, 0.045894f, 0.008801f, -0.016590f, -0.012357f, 0.004932f, -0.007872f, -0.006973f, 0.020342f, 0.020586f, -0.009689f, 0.019871f, -0.024603f, -0.002812f, - 0.018257f, -0.008532f, 0.022049f, 0.010468f, -0.002715f, -0.029693f, 0.011754f, -0.006775f, -0.006802f, 0.001761f, -0.001920f, -0.002963f, 0.041374f, -0.019962f, 0.021277f, 0.035402f, 0.024729f, 0.013060f, 0.000788f, -0.023038f, 0.023598f, -0.012807f, 0.022503f, -0.012292f, 0.005465f, -0.024237f, -0.004359f, -0.022898f, -0.014820f, 0.003700f, -0.021145f, -0.005757f, -0.007131f, -0.000695f, 0.019517f, -0.022370f, -0.019029f, -0.006897f, -0.010764f, -0.004396f, -0.018851f, -0.024672f, -0.030715f, 0.003318f, 0.024519f, -0.001499f, -0.014930f, 0.002757f, 0.005549f, 0.019343f, -0.020684f, -0.011903f, -0.006317f, -0.000366f, 0.014802f, 0.000426f, 0.004460f, -0.014376f, -0.005627f, 0.007764f, 0.029581f, 0.013238f, 0.020591f, 0.023589f, 0.030897f, 0.012036f, -0.003624f, -0.010497f, 0.007929f, 0.009603f, 0.013956f, 0.006019f, 0.001839f, 0.000315f, 0.019008f, 0.006912f, -0.006257f, 0.001783f, 0.010932f, 0.004499f, 0.003108f, -0.006448f, -0.006012f, -0.004396f, -0.008592f, 0.000958f, 0.009345f, 0.008706f, 0.002487f, -0.004621f, 0.012808f, 0.007366f, 0.016061f, 0.008392f, 0.001137f, 0.010667f, - 0.000823f, -0.007650f, 0.012507f, 0.000266f, -0.000887f, -0.004143f, 0.003065f, -0.002467f, 0.000502f, 0.010690f, -0.084133f, -0.039993f, 0.028068f, -0.068698f, -0.047624f, -0.003067f, -0.028032f, -0.019214f, 0.020962f, 0.023984f, 0.007341f, -0.004397f, 0.008679f, 0.068621f, -0.008416f, 0.010991f, 0.026405f, 0.030118f, -0.031297f, -0.016218f, -0.014828f, 0.025353f, 0.027641f, 0.013916f, 0.005078f, 0.025923f, -0.007623f, -0.012947f, 0.018173f, 0.035079f, 0.002482f, 0.011361f, 0.035632f, 0.026334f, 0.021426f, -0.015959f, 0.006737f, 0.010844f, -0.000086f, -0.000539f, 0.022862f, -0.007452f, -0.000380f, -0.002261f, 0.015259f, 0.000629f, -0.025048f, -0.016691f, 0.004995f, -0.033919f, 0.025719f, -0.007484f, 0.056853f, 0.002334f, 0.031167f, 0.006258f, -0.001394f, -0.018270f, -0.000916f, 0.007367f, -0.024091f, -0.012305f, -0.028139f, -0.003472f, 0.014334f, 0.019664f, -0.008588f, -0.045646f, 0.016518f, -0.007181f, 0.015549f, -0.016309f, -0.019644f, 0.014448f, -0.029682f, -0.022575f, 0.044082f, 0.000757f, 0.020263f, -0.004062f, -0.019187f, 0.005409f, 0.025926f, 0.006437f, 0.020598f, -0.033396f, - -0.001748f, -0.002164f, -0.005641f, -0.028692f, 0.028029f, -0.016659f, 0.001966f, -0.003171f, 0.003293f, -0.010565f, -0.001151f, 0.006027f, 0.008510f, -0.007009f, 0.018311f, -0.004420f, -0.006006f, -0.010668f, -0.009329f, -0.009187f, 0.008733f, -0.003455f, -0.006638f, -0.002603f, 0.002213f, -0.006956f, 0.012749f, -0.003721f, 0.014442f, -0.009004f, 0.006051f, 0.002388f, 0.005682f, 0.009577f, 0.001776f, 0.034149f, -0.015523f, -0.039443f, 0.016966f, -0.020587f, 0.008671f, -0.000497f, -0.019612f, 0.036350f, -0.048538f, -0.001979f, -0.058600f, 0.001457f, 0.047435f, 0.066327f, 0.031414f, -0.011361f, 0.030702f, -0.002302f, -0.004199f, 0.003321f, -0.005142f, 0.016328f, -0.001957f, -0.031007f, 0.001879f, -0.043099f, 0.015249f, -0.013323f, -0.009549f, 0.028942f, -0.000517f, -0.033137f, -0.036999f, 0.008617f, 0.005195f, -0.018452f, -0.015313f, 0.027787f, -0.040108f, -0.000196f, -0.008026f, 0.014204f, -0.010702f, -0.008697f, -0.032062f, -0.013646f, -0.014103f, -0.005980f, 0.023269f, -0.027472f, 0.009991f, -0.003332f, -0.004670f, 0.003629f, 0.010092f, -0.046518f, -0.004848f, 0.006331f, -0.004004f, 0.017240f, - -0.014552f, -0.020544f, -0.009267f, -0.052055f, -0.022857f, -0.022682f, 0.001207f, 0.022255f, 0.033598f, -0.015815f, 0.025456f, -0.043401f, 0.069730f, 0.004798f, -0.012373f, 0.036439f, -0.043057f, 0.036573f, 0.016469f, -0.009748f, 0.000894f, 0.012222f, 0.001107f, 0.005867f, 0.033432f, -0.014208f, 0.014350f, -0.007681f, 0.010426f, 0.016633f, 0.016502f, 0.020014f, -0.006732f, 0.016881f, 0.004133f, 0.002562f, -0.002635f, -0.022390f, 0.001019f, -0.015876f, 0.007503f, 0.010366f, -0.003274f, -0.002454f, 0.003175f, 0.002310f, 0.011403f, 0.005222f, -0.007934f, 0.012214f, 0.000046f, 0.001480f, 0.015243f, 0.010328f, 0.006234f, 0.027346f, -0.022201f, 0.000223f, 0.010222f, 0.000087f, -0.017373f, 0.004339f, -0.010946f, -0.010510f, 0.042545f, 0.002271f, -0.030636f, -0.000831f, -0.004761f, 0.019654f, 0.012909f, -0.018750f, 0.021340f, 0.000245f, -0.048128f, -0.052403f, -0.005140f, -0.015889f, 0.012907f, -0.002392f, -0.018585f, -0.047248f, -0.041216f, 0.022263f, -0.035086f, -0.007992f, 0.002091f, 0.010919f, 0.002497f, 0.033436f, 0.002701f, -0.017125f, 0.022389f, -0.003136f, 0.003182f, 0.020631f, - -0.027481f, -0.001942f, 0.005833f, -0.028083f, 0.016842f, 0.023068f, 0.010023f, 0.020512f, 0.010694f, 0.031848f, 0.008641f, 0.023148f, -0.032813f, -0.010358f, -0.005309f, -0.044063f, -0.000322f, -0.004889f, 0.018303f, -0.003078f, 0.020995f, -0.003649f, -0.025575f, -0.017492f, -0.001394f, -0.040759f, 0.017737f, 0.000991f, -0.007968f, 0.023627f, 0.014977f, 0.019606f, 0.020408f, 0.006142f, -0.002528f, 0.017108f, -0.055153f, 0.016586f, 0.006872f, 0.024543f, -0.009804f, -0.039011f, 0.024430f, -0.005993f, 0.042033f, -0.062202f, -0.022163f, -0.043594f, 0.029696f, -0.012790f, -0.040019f, -0.044661f, -0.029401f, -0.013290f, 0.014149f, 0.011074f, -0.012274f, -0.012764f, -0.006698f, -0.000903f, -0.013545f, -0.005215f, 0.022685f, 0.003434f, -0.002214f, 0.006586f, 0.004932f, 0.004083f, 0.012303f, -0.009651f, -0.012710f, -0.000401f, -0.022055f, -0.000079f, -0.007761f, -0.003216f, -0.014243f, -0.003904f, -0.019424f, -0.017434f, 0.021967f, -0.012349f, -0.000811f, 0.007341f, 0.010576f, -0.001915f, 0.018441f, -0.015400f, -0.004972f, 0.007593f, -0.018097f, -0.004992f, 0.021172f, 0.007581f, 0.004746f, -0.007262f, - -0.010932f, 0.008171f, 0.029169f, 0.027043f, 0.098929f, 0.074747f, 0.010132f, 0.021671f, 0.006285f, 0.057427f, 0.001591f, 0.027950f, -0.026074f, 0.068012f, -0.026929f, 0.061677f, -0.002757f, 0.039394f, -0.004567f, 0.027797f, -0.027637f, 0.006650f, 0.013916f, -0.015179f, -0.004932f, -0.008166f, -0.006354f, 0.018378f, 0.000475f, -0.015903f, -0.021834f, -0.033039f, -0.041940f, -0.020219f, -0.007025f, 0.000222f, 0.013260f, -0.035406f, 0.015046f, -0.019504f, -0.029972f, -0.006287f, -0.021882f, 0.009979f, -0.005285f, -0.046070f, -0.010885f, -0.023449f, -0.027667f, -0.029174f, 0.026523f, 0.035285f, -0.073830f, 0.016711f, 0.006647f, 0.020701f, 0.007407f, -0.009378f, 0.044799f, 0.025093f, 0.023487f, -0.061914f, -0.027587f, -0.000878f, 0.015346f, 0.051142f, 0.002019f, -0.006995f, 0.002583f, 0.043309f, 0.039076f, -0.037005f, 0.041811f, 0.003013f, 0.009474f, -0.007139f, 0.024584f, -0.052721f, -0.018326f, 0.054162f, -0.008214f, -0.003620f, -0.020779f, 0.036079f, 0.023757f, -0.018806f, -0.031537f, -0.005564f, -0.001239f, 0.003105f, 0.000596f, -0.006885f, -0.029386f, -0.010214f, 0.023137f, 0.030045f, - 0.018833f, -0.016788f, -0.004277f, -0.005007f, -0.014142f, 0.004498f, 0.004906f, 0.013808f, -0.002931f, -0.009996f, 0.008863f, 0.003227f, 0.005398f, 0.027158f, 0.003849f, -0.007757f, -0.010240f, 0.004535f, 0.009946f, 0.021101f, 0.004417f, -0.020853f, -0.010909f, -0.015707f, 0.006309f, 0.007744f, -0.016961f, -0.036624f, 0.011934f, -0.003175f, -0.005981f, -0.012934f, -0.022295f, 0.026644f, -0.011261f, 0.023150f, 0.036295f, -0.042103f, 0.012403f, -0.024278f, 0.068843f, -0.041584f, 0.038673f, 0.035599f, -0.014261f, -0.065315f, -0.038225f, -0.004797f, -0.017756f, -0.002453f, -0.030223f, -0.047727f, -0.063317f, -0.036521f, -0.042333f, 0.017519f, -0.036282f, 0.014366f, 0.003735f, -0.004643f, -0.004218f, -0.029985f, -0.009624f, -0.030791f, 0.008363f, 0.026500f, 0.034894f, 0.000105f, -0.010461f, -0.031600f, -0.007919f, 0.002548f, -0.018984f, 0.004728f, -0.025989f, -0.017154f, -0.004158f, -0.025847f, 0.019508f, -0.022895f, -0.066470f, 0.001891f, -0.002549f, -0.022346f, 0.027608f, 0.021460f, 0.031530f, 0.011724f, 0.024703f, 0.050424f, 0.008077f, -0.051307f, -0.012079f, 0.023293f, -0.011657f, -0.042753f, - 0.023069f, 0.032842f, 0.010770f, -0.000825f, -0.057534f, 0.050367f, -0.002924f, 0.040997f, -0.035010f, 0.041521f, 0.102728f, -0.009739f, -0.003447f, -0.051025f, 0.026668f, -0.041624f, 0.034123f, 0.016968f, -0.023055f, -0.005669f, -0.056218f, 0.012221f, -0.030873f, -0.000148f, 0.020979f, 0.020863f, -0.001235f, -0.015043f, -0.012914f, 0.014687f, 0.037259f, -0.018959f, -0.003406f, 0.005153f, -0.016903f, -0.005440f, -0.005647f, 0.007263f, -0.002279f, 0.015187f, -0.007701f, -0.018762f, -0.010499f, 0.004814f, 0.013827f, -0.018589f, -0.006025f, -0.000954f, 0.002022f, 0.012639f, 0.002438f, -0.005192f, 0.004313f, -0.031102f, -0.017861f, -0.002536f, -0.003227f, 0.005653f, 0.001371f, 0.001804f, -0.000987f, -0.005922f, 0.015115f, -0.001498f, 0.011165f, -0.001421f, -0.003756f, -0.011904f, -0.008119f, -0.081031f, 0.027691f, -0.106323f, 0.070431f, 0.025314f, -0.018069f, 0.075068f, -0.007081f, -0.038018f, 0.066576f, -0.025442f, -0.003505f, 0.014205f, 0.023358f, 0.061592f, 0.002612f, -0.004836f, 0.043481f, 0.018582f, 0.036529f, 0.044765f, 0.033177f, 0.003238f, 0.023219f, 0.003845f, -0.002226f, -0.024222f, - 0.015724f, 0.023598f, 0.005749f, -0.001197f, -0.026266f, 0.012868f, -0.024603f, 0.029944f, 0.029420f, 0.005330f, 0.034741f, -0.021108f, 0.022965f, 0.036181f, 0.023009f, -0.048244f, -0.052042f, 0.061510f, -0.005856f, 0.038577f, 0.059560f, 0.001681f, 0.000138f, -0.005914f, 0.011775f, 0.034651f, 0.032727f, 0.003701f, 0.027198f, 0.000314f, -0.030869f, -0.038323f, -0.057142f, 0.001315f, -0.023162f, 0.001134f, 0.032500f, 0.030687f, -0.053457f, 0.004916f, 0.020826f, -0.046620f, 0.007857f, 0.065642f, -0.028270f, -0.032248f, 0.035109f, -0.037342f, 0.008727f, -0.010249f, 0.068541f, -0.019569f, 0.042350f, -0.020642f, 0.035596f, -0.002989f, 0.013246f, 0.028774f, -0.044720f, -0.013270f, 0.017068f, -0.029279f, 0.021749f, -0.026238f, -0.007354f, -0.014656f, -0.013687f, 0.002290f, -0.007354f, -0.011824f, 0.007170f, 0.020739f, -0.010255f, 0.005944f, 0.007429f, -0.017288f, 0.003117f, 0.002799f, -0.004555f, -0.012109f, -0.005170f, -0.009262f, -0.028761f, -0.011024f, 0.006152f, -0.037356f, 0.013649f, -0.018952f, 0.014549f, -0.008393f, -0.003679f, -0.026075f, -0.013860f, 0.000723f, 0.007290f, -0.011288f, - -0.025851f, 0.004707f, 0.001726f, 0.014264f, 0.005915f, 0.000439f, 0.016753f, 0.013879f, 0.001382f, 0.007702f, -0.037235f, 0.008230f, -0.043127f, 0.088475f, 0.021671f, -0.047352f, 0.017944f, -0.011052f, -0.042140f, -0.049676f, -0.050381f, 0.014822f, -0.002518f, 0.044333f, 0.065838f, 0.031571f, 0.015928f, -0.008073f, 0.021846f, 0.001993f, -0.082928f, 0.036255f, 0.086080f, -0.056485f, -0.059279f, -0.051298f, -0.072450f, 0.052259f, -0.071340f, 0.031971f, 0.000426f, -0.009055f, -0.000503f, -0.023303f, -0.027623f, 0.035243f, -0.073392f, 0.075258f, 0.043227f, 0.009855f, -0.048305f, -0.036631f, -0.032010f, 0.006592f, 0.012548f, -0.031394f, -0.004375f, -0.023230f, 0.051873f, 0.023359f, -0.009433f, -0.001756f, 0.021295f, 0.004610f, 0.024314f, -0.042654f, -0.016880f, -0.004265f, -0.007587f, -0.039698f, -0.027862f, 0.023260f, -0.075187f, -0.044530f, 0.005652f, 0.087610f, 0.042310f, -0.026981f, -0.001866f, -0.066991f, 0.032417f, 0.101643f, 0.003534f, -0.022145f, -0.015381f, -0.048357f, 0.062683f, -0.020427f, -0.024309f, -0.002367f, 0.037132f, 0.023104f, -0.032322f, -0.029355f, -0.010453f, 0.032500f, - -0.008796f, 0.009324f, -0.002609f, -0.026293f, -0.008485f, 0.041237f, 0.023729f, 0.003113f, -0.019310f, -0.003369f, -0.002962f, 0.032082f, 0.026332f, 0.012891f, 0.011879f, -0.038708f, 0.014663f, 0.013519f, -0.005771f, 0.008401f, -0.006027f, -0.005808f, -0.033641f, -0.003892f, -0.001731f, -0.005085f, -0.010735f, 0.008690f, 0.012335f, 0.006145f, -0.039544f, -0.034368f, -0.016759f, -0.000452f, 0.002426f, -0.040241f, 0.014254f, 0.049806f, 0.010140f, -0.014261f, 0.000980f, 0.007423f, 0.000203f, -0.000069f, -0.041384f, -0.028563f, -0.082556f, 0.017834f, -0.060875f, -0.090927f, 0.021151f, 0.050016f, 0.012176f, 0.013307f, -0.038592f, -0.048216f, -0.012665f, -0.071356f, -0.035168f, 0.018431f, -0.059764f, 0.093696f, 0.018090f, -0.023226f, 0.019996f, -0.045145f, -0.089093f, -0.029986f, -0.068187f, 0.010629f, 0.019674f, -0.025110f, -0.048557f, -0.024694f, -0.030035f, 0.025917f, -0.035678f, -0.013115f, -0.004806f, 0.039998f, -0.029255f, -0.005480f, -0.013792f, 0.010093f, 0.016580f, 0.002886f, -0.012221f, 0.041271f, 0.053981f, 0.034486f, -0.027964f, -0.022909f, -0.079926f, -0.044531f, -0.018441f, 0.020944f, - 0.133704f, -0.023053f, 0.001351f, 0.059457f, -0.005639f, 0.025227f, -0.030693f, -0.031880f, -0.025876f, 0.028124f, -0.075844f, 0.000404f, -0.010263f, -0.001131f, 0.065188f, -0.028935f, 0.098802f, 0.008602f, 0.074813f, -0.095826f, -0.028940f, 0.027519f, -0.002150f, -0.041667f, -0.035226f, 0.077489f, -0.080290f, -0.066179f, 0.095009f, 0.016639f, 0.082456f, -0.032998f, -0.005765f, -0.005884f, 0.026359f, 0.011251f, -0.007850f, 0.028037f, 0.027950f, -0.001647f, 0.013004f, 0.008775f, 0.002714f, -0.009900f, -0.018088f, -0.004163f, -0.012061f, -0.015887f, 0.014432f, 0.008455f, -0.013648f, 0.009506f, -0.029489f, -0.002955f, 0.020367f, 0.035978f, -0.003163f, -0.022775f, -0.001994f, -0.025909f, 0.014520f, 0.024730f, -0.017550f, -0.014242f, 0.013643f, 0.016498f, -0.037197f, 0.013202f, 0.001359f, 0.024089f, -0.015975f, -0.016181f, -0.000450f, 0.007660f, 0.010951f, -0.041523f, 0.006481f, -0.017563f, 0.032691f, -0.011438f, -0.004933f, -0.082201f, 0.039102f, 0.060263f, -0.043764f, -0.035985f, -0.012321f, -0.039525f, -0.047602f, 0.012665f, 0.014043f, 0.036920f, 0.001600f, 0.032254f, 0.057444f, 0.059922f, - 0.039771f, 0.013723f, -0.043996f, 0.004270f, 0.022843f, 0.030278f, 0.046605f, 0.000433f, -0.024153f, -0.035171f, -0.013281f, 0.047217f, -0.019417f, 0.018527f, 0.041067f, 0.003971f, 0.080710f, 0.009225f, -0.051532f, 0.044444f, 0.043968f, 0.012595f, 0.018957f, 0.040711f, 0.006520f, 0.003361f, -0.047286f, 0.102051f, -0.108891f, -0.080161f, -0.092885f, -0.030866f, 0.019230f, -0.054723f, 0.028064f, 0.060802f, -0.018054f, 0.005840f, 0.053741f, 0.017029f, -0.058191f, -0.020350f, -0.045028f, -0.006608f, 0.003380f, 0.002809f, 0.051973f, 0.050909f, -0.011709f, -0.013063f, 0.032665f, 0.078467f, 0.013686f, 0.064518f, -0.054524f, 0.057323f, -0.025188f, 0.018868f, -0.011459f, -0.036895f, -0.025487f, -0.006027f, 0.026083f, 0.015731f, 0.064222f, -0.083268f, 0.042315f, -0.033098f, -0.020461f, -0.016432f, 0.030809f, -0.014893f, -0.002836f, 0.006422f, -0.033251f, 0.020581f, -0.016247f, -0.001418f, -0.025229f, 0.007512f, -0.005068f, 0.000799f, -0.028417f, 0.003899f, -0.002563f, 0.005349f, -0.002736f, -0.031379f, 0.012445f, -0.018035f, -0.016042f, -0.007695f, 0.023186f, 0.026406f, 0.029657f, -0.025794f, - 0.050948f, -0.038764f, -0.011513f, 0.002483f, -0.004091f, -0.028783f, -0.015175f, -0.002093f, -0.021189f, 0.005607f, -0.001683f, -0.001407f, -0.002454f, -0.021505f, 0.002788f, -0.004021f, -0.046487f, -0.093536f, -0.094146f, -0.068136f, 0.013992f, 0.174922f, 0.044214f, -0.024119f, -0.052877f, -0.126387f, -0.177780f, 0.040147f, 0.073641f, 0.088402f, -0.018594f, 0.007669f, -0.052126f, -0.090689f, 0.026157f, 0.016475f, 0.029518f, 0.004273f, -0.076056f, -0.023232f, 0.018590f, -0.015284f, -0.002996f, -0.014383f, 0.099111f, 0.087035f, 0.058688f, -0.005362f, -0.042535f, -0.072240f, -0.047819f, -0.043225f, 0.067703f, -0.011209f, 0.049543f, 0.022413f, 0.023205f, -0.030446f, -0.164670f, -0.113368f, 0.055993f, -0.089203f, -0.030440f, 0.190007f, 0.130646f, 0.098175f, -0.074402f, 0.053779f, -0.051529f, 0.003785f, 0.003783f, 0.027591f, 0.080602f, 0.142052f, -0.054370f, -0.005047f, -0.093642f, -0.075649f, -0.123932f, 0.013472f, -0.005103f, -0.133434f, -0.031954f, 0.085986f, 0.032144f, 0.060024f, 0.081348f, 0.146576f, -0.106737f, -0.064049f, 0.008498f, -0.087114f, -0.011207f, 0.048756f, 0.114182f, 0.058066f, - 0.017852f, -0.069630f, -0.066761f, 0.045122f, -0.018987f, 0.067313f, 0.059184f, -0.015932f, 0.027135f, 0.010926f, -0.011344f, -0.022342f, -0.012992f, -0.008399f, 0.020135f, 0.005874f, -0.000469f, 0.007044f, -0.002039f, 0.009762f, 0.000315f, 0.042629f, 0.035059f, 0.055553f, 0.010055f, -0.030440f, -0.064152f, -0.052398f, 0.021410f, 0.049930f, 0.057195f, -0.007096f, -0.036439f, -0.147624f, -0.075831f, -0.069844f, 0.001752f, 0.007562f, 0.015171f, -0.000444f, 0.011083f, -0.016640f, 0.000008f, -0.024663f, -0.022040f, 0.031326f, 0.027655f, 0.016114f, 0.016280f, 0.008230f, 0.003788f, 0.043330f, -0.070261f, -0.232704f, -0.216543f, -0.124283f, -0.135165f, -0.033678f, 0.224208f, 0.113939f, 0.230674f, 0.204713f, 0.320849f, 0.229166f, 0.197121f, 0.031842f, -0.085531f, -0.193386f, -0.309932f, -0.263180f, -0.265074f, -0.138506f, -0.066488f, -0.015570f, 0.002238f, 0.007673f, 0.054754f, 0.073199f, 0.184495f, 0.112087f, 0.217720f, 0.141874f, 0.186632f, 0.067577f, 0.180333f, 0.062705f, 0.044130f, 0.042739f, -0.010711f, -0.050554f, -0.122050f, -0.140791f, -0.261484f, -0.179066f, -0.331353f, -0.262102f, - -0.402167f, -0.238368f, -0.189195f, -0.045581f, 0.110525f, 0.058856f, 0.009934f, 0.110406f, 0.235826f, 0.315103f, 0.413032f, 0.492411f, 0.421274f, 0.307830f, 0.383779f, 0.316737f, 0.177505f, 0.079913f, -0.019692f, -0.131952f, -0.305488f, -0.362737f, -0.485894f, -0.627235f, -0.725990f, -0.655043f, -0.577414f, -0.410847f, -0.280587f, 0.086045f, 0.270586f, 0.329908f, 0.507880f, 0.424163f, 0.529662f, 0.556768f, 0.546060f, 0.629623f, 0.413234f, 0.107448f, -0.104066f, -0.201662f, -0.249751f, -0.161599f, -0.233906f, -0.200411f, -0.234098f, -0.316656f, -0.320430f, -0.372895f, -0.220911f, -0.171848f, -0.146649f, -0.081833f, -0.005044f, 0.022103f, 0.090516f, 0.246019f, 0.259060f, 0.368024f, 0.320192f, 0.420889f, 0.309344f, 0.206865f, 0.213257f, 0.081432f, -0.056075f, -0.091262f, -0.405984f, -0.523181f, -0.487361f, -0.429882f, -0.251888f, -0.197509f, -0.108200f, 0.009526f, 0.109542f, 0.167268f, 0.227143f, 0.271422f, 0.322529f, 0.306463f, 0.289496f, 0.255079f, 0.142338f, -0.000567f, -0.072406f, -0.168279f, -0.176298f, -0.150816f, -0.123358f, -0.128319f, -0.130115f, -0.102088f, -0.073510f, -0.043437f, - -0.018375f, -0.016628f, -0.012075f, 0.003653f, -0.012774f, -0.014846f, 0.017627f, 0.041846f, 0.046475f, 0.030613f, 0.021475f, 0.035935f, 0.043311f, 0.031792f, 0.028928f, 0.026921f, 0.016867f, 0.011463f, 0.009708f}, - {-0.022382f, 0.008214f, -0.012780f, 0.006803f, -0.007245f, -0.014779f, -0.025478f, 0.004400f, 0.000678f, 0.006315f, 0.005545f, -0.001848f, -0.001942f, 0.001843f, 0.015282f, -0.010980f, -0.019535f, 0.006374f, -0.008126f, -0.013117f, 0.000154f, -0.002024f, 0.007981f, 0.002794f, 0.005671f, -0.005939f, -0.001532f, -0.003922f, 0.013006f, -0.003649f, -0.005366f, -0.004741f, -0.002384f, -0.003244f, -0.005331f, -0.004724f, -0.003298f, 0.002505f, 0.001031f, 0.001625f, 0.000368f, 0.003319f, 0.005474f, 0.002731f, -0.005023f, -0.014861f, -0.000227f, -0.010362f, 0.001413f, -0.000788f, -0.004760f, 0.006518f, 0.000369f, -0.000046f, -0.014800f, -0.006106f, 0.001890f, -0.001247f, 0.005060f, 0.000282f, 0.004494f, -0.004368f, 0.001816f, -0.001948f, 0.008999f, -0.003314f, 0.004699f, -0.008221f, -0.008172f, -0.010324f, 0.000425f, -0.002524f, -0.003067f, -0.000029f, -0.003658f, -0.000161f, -0.004252f, 0.000788f, 0.000101f, -0.001854f, -0.006525f, 0.000546f, 0.000586f, 0.003609f, 0.003179f, -0.000065f, 0.003392f, -0.000465f, -0.002782f, -0.000987f, -0.001359f, 0.001259f, -0.000112f, 0.000094f, 0.001876f, 0.001328f, - -0.000334f, 0.001690f, -0.001280f, -0.016016f, -0.003346f, -0.002140f, -0.004575f, -0.002087f, -0.005506f, 0.005251f, -0.002210f, -0.001898f, -0.000508f, 0.000080f, -0.000377f, -0.003881f, 0.014099f, 0.009074f, 0.014737f, -0.006956f, 0.014666f, -0.008751f, -0.006183f, 0.005701f, 0.016245f, -0.000384f, -0.009955f, -0.014621f, -0.010558f, -0.002041f, 0.011555f, 0.004547f, 0.003861f, 0.005140f, -0.005187f, 0.007894f, 0.000929f, 0.005895f, -0.002967f, -0.013318f, 0.003536f, -0.009220f, -0.006391f, -0.006472f, -0.001626f, -0.016901f, -0.000874f, 0.000785f, -0.007151f, 0.015765f, -0.003090f, -0.005110f, -0.006441f, -0.000167f, 0.001638f, -0.006768f, 0.000127f, -0.008298f, -0.003227f, 0.000223f, -0.003527f, 0.011339f, 0.000241f, -0.003059f, 0.006244f, 0.004074f, 0.010394f, 0.004223f, 0.012516f, 0.003113f, 0.010210f, -0.011779f, 0.002939f, 0.009423f, -0.003346f, -0.008409f, -0.011713f, -0.000219f, -0.001036f, -0.002306f, 0.002721f, 0.003421f, -0.002592f, 0.009043f, -0.007903f, 0.003015f, 0.003016f, -0.005769f, 0.004086f, 0.000970f, -0.004376f, 0.002289f, -0.001213f, 0.000918f, -0.004115f, 0.001259f, - 0.000346f, 0.000766f, -0.000597f, -0.000249f, 0.001808f, 0.000542f, 0.003475f, 0.018138f, -0.008159f, -0.006265f, 0.001864f, -0.003975f, -0.002946f, 0.009127f, -0.007006f, 0.008792f, 0.004059f, 0.000252f, 0.004510f, -0.005790f, -0.005525f, -0.010202f, -0.011009f, 0.014634f, 0.006938f, 0.005191f, 0.007841f, -0.005030f, -0.003353f, -0.003682f, 0.018450f, -0.007049f, 0.020189f, -0.000606f, -0.005079f, -0.004775f, -0.010620f, -0.011396f, -0.013873f, -0.000782f, -0.003461f, 0.002599f, 0.013495f, -0.001064f, -0.006260f, -0.018674f, 0.000697f, 0.014988f, 0.021918f, -0.010179f, 0.005689f, 0.004119f, -0.005525f, -0.004859f, 0.005746f, 0.020818f, -0.004908f, 0.003358f, -0.001741f, -0.002929f, -0.001906f, 0.010041f, 0.014384f, -0.010766f, -0.005863f, 0.004552f, 0.018847f, 0.003244f, 0.013358f, -0.010782f, -0.010066f, -0.000447f, -0.001639f, 0.003922f, 0.002888f, -0.000134f, 0.001209f, 0.002063f, -0.004873f, 0.002399f, 0.006118f, 0.004790f, -0.003658f, 0.012141f, -0.003040f, 0.007675f, -0.003924f, -0.004029f, 0.004542f, 0.003919f, 0.004108f, 0.001038f, 0.004282f, 0.000936f, -0.006228f, -0.004126f, - 0.001240f, -0.000179f, 0.002327f, -0.001053f, 0.003465f, -0.000029f, 0.001944f, -0.001740f, -0.000326f, -0.000041f, -0.000897f, -0.002044f, -0.000179f, -0.001197f, -0.000314f, -0.001464f, -0.001344f, 0.003528f, -0.000031f, -0.001505f, 0.003707f, 0.000202f, 0.029583f, -0.020574f, -0.004657f, -0.008630f, 0.002182f, 0.007777f, 0.014133f, -0.014408f, 0.009642f, -0.003864f, -0.015247f, -0.024562f, -0.005152f, -0.010511f, 0.001587f, -0.002463f, -0.010479f, -0.005406f, 0.005547f, 0.005905f, 0.018947f, 0.010474f, 0.009566f, 0.000881f, 0.002874f, -0.010014f, -0.006851f, 0.015232f, 0.011600f, 0.007865f, 0.003547f, 0.007253f, 0.001425f, -0.000041f, -0.012967f, -0.018235f, 0.011981f, -0.004937f, -0.012355f, -0.005918f, -0.007823f, 0.006390f, -0.006908f, 0.015314f, 0.003406f, -0.008974f, -0.004479f, -0.006894f, -0.006048f, 0.007438f, 0.011168f, -0.001060f, 0.007478f, -0.005682f, -0.006395f, -0.000041f, 0.001378f, -0.006049f, -0.002472f, 0.008816f, -0.000045f, -0.003753f, -0.004529f, 0.004768f, 0.005251f, -0.000764f, 0.006378f, 0.000832f, -0.004777f, 0.015298f, -0.002343f, 0.001620f, 0.000588f, -0.018590f, - 0.007074f, 0.005738f, 0.009459f, 0.006194f, -0.006934f, -0.001619f, -0.016860f, -0.007749f, -0.015486f, -0.005694f, -0.007030f, -0.000007f, 0.001304f, -0.010173f, 0.000283f, -0.002508f, -0.000131f, 0.004241f, -0.001693f, -0.001931f, -0.000500f, -0.002863f, 0.000335f, -0.001492f, 0.000991f, -0.001786f, -0.003936f, -0.001964f, -0.001125f, -0.006385f, -0.000746f, -0.000357f, 0.001137f, -0.000457f, 0.000603f, -0.000409f, -0.000023f, -0.003442f, -0.004550f, 0.000377f, -0.000816f, -0.002015f, 0.000640f, -0.020138f, 0.005365f, 0.000350f, -0.005871f, -0.010967f, 0.004777f, -0.010474f, -0.001814f, 0.018483f, 0.027926f, 0.013824f, 0.015410f, -0.001006f, -0.007585f, 0.011625f, 0.010412f, 0.004479f, 0.005619f, 0.013836f, -0.001893f, 0.010100f, 0.009789f, 0.014352f, 0.013750f, -0.011020f, 0.009256f, -0.000582f, 0.003326f, -0.010258f, 0.003286f, -0.001254f, 0.009429f, -0.003470f, -0.002523f, -0.007203f, 0.006890f, -0.011244f, -0.009138f, 0.001056f, 0.009892f, 0.005481f, -0.005791f, -0.002923f, -0.001714f, -0.003766f, 0.006014f, -0.013556f, 0.012699f, 0.000075f, 0.015771f, -0.022114f, 0.001668f, -0.019903f, - -0.006229f, -0.006252f, 0.005561f, -0.001962f, -0.004472f, 0.004533f, 0.001749f, 0.005535f, 0.008747f, 0.014342f, -0.001673f, -0.011279f, 0.002542f, 0.019280f, 0.003996f, -0.005408f, -0.001316f, 0.011941f, -0.006142f, 0.007321f, -0.005931f, -0.020321f, 0.011911f, 0.012676f, 0.011714f, -0.009972f, -0.015089f, -0.010803f, 0.012946f, -0.001240f, -0.001881f, 0.009244f, 0.003451f, 0.002390f, 0.001652f, -0.000498f, 0.003627f, 0.004889f, -0.001497f, -0.002446f, 0.002762f, 0.000429f, -0.000811f, 0.001758f, -0.002479f, 0.000891f, 0.004219f, -0.001563f, 0.004427f, -0.001674f, -0.003134f, 0.001680f, -0.000010f, 0.000173f, 0.002283f, 0.001837f, 0.002317f, 0.001905f, 0.001688f, 0.000032f, 0.002239f, -0.030559f, 0.000469f, -0.006816f, 0.002761f, -0.017139f, 0.002040f, 0.002769f, 0.022608f, -0.018181f, 0.000185f, -0.024372f, 0.005498f, -0.014751f, -0.003623f, 0.000835f, -0.008002f, 0.006970f, 0.003075f, -0.012794f, 0.000200f, -0.000258f, 0.011738f, -0.007761f, 0.018931f, -0.000298f, -0.016468f, -0.008460f, 0.020152f, -0.002014f, 0.008051f, 0.005298f, -0.003359f, 0.011993f, -0.013381f, -0.012715f, - -0.009858f, 0.001303f, -0.012814f, 0.013518f, -0.007513f, 0.008642f, -0.012406f, -0.000227f, -0.015068f, 0.009804f, 0.001306f, 0.011759f, 0.010564f, -0.010111f, 0.019881f, 0.016882f, 0.016005f, 0.003082f, 0.016808f, 0.013736f, -0.014286f, 0.012163f, 0.005842f, 0.001039f, -0.013261f, 0.006016f, -0.011286f, 0.011089f, -0.004856f, -0.008991f, -0.001089f, 0.016588f, 0.005932f, -0.019306f, 0.018308f, -0.001611f, -0.006481f, -0.011079f, 0.018651f, 0.016033f, -0.013907f, 0.013657f, -0.000997f, -0.016684f, 0.000205f, -0.009531f, -0.005169f, 0.009004f, -0.007986f, 0.006394f, -0.000664f, 0.002765f, -0.003821f, 0.004838f, -0.000678f, -0.000634f, -0.001098f, -0.001962f, 0.001769f, 0.000833f, -0.004627f, 0.001523f, 0.002325f, -0.000140f, 0.001738f, 0.001887f, -0.004339f, 0.000798f, -0.000505f, -0.000054f, -0.003654f, 0.001157f, -0.001485f, -0.002373f, -0.004867f, 0.005472f, 0.001197f, -0.002821f, -0.000732f, 0.043555f, 0.007410f, -0.001728f, -0.015007f, -0.028200f, 0.007210f, -0.004145f, -0.041398f, 0.036336f, -0.017591f, -0.026267f, 0.005561f, -0.001667f, 0.004903f, -0.001685f, 0.007050f, 0.010488f, - 0.000147f, -0.000655f, -0.021153f, -0.001744f, -0.002000f, 0.024966f, -0.004549f, 0.000664f, 0.009192f, -0.004362f, -0.003064f, -0.010136f, 0.021315f, -0.015968f, 0.015404f, -0.003781f, -0.012758f, 0.002409f, -0.014264f, -0.007236f, -0.023171f, 0.004104f, 0.010651f, -0.006247f, -0.011556f, -0.009132f, 0.014021f, -0.021705f, -0.005129f, -0.010692f, -0.000294f, -0.003091f, 0.002839f, -0.018825f, 0.018373f, -0.025711f, -0.017589f, 0.007008f, 0.003118f, -0.000949f, 0.006885f, -0.013321f, -0.019197f, 0.002410f, -0.005212f, -0.000850f, 0.009442f, -0.011452f, 0.008561f, 0.005982f, 0.021201f, -0.005839f, 0.003054f, -0.001599f, 0.000320f, 0.029414f, 0.002477f, 0.029124f, -0.007008f, -0.010888f, 0.003331f, -0.014925f, -0.001318f, 0.014905f, 0.001213f, -0.017367f, -0.015220f, 0.004315f, -0.001601f, 0.000110f, 0.014951f, 0.001207f, -0.002788f, 0.006249f, -0.000831f, -0.000555f, -0.006955f, 0.002633f, 0.003288f, -0.003455f, -0.000073f, -0.001671f, 0.005790f, -0.002554f, -0.001143f, 0.003018f, 0.000793f, 0.001857f, -0.000520f, 0.003363f, -0.001058f, 0.000080f, 0.001791f, -0.003589f, 0.004571f, -0.002810f, - 0.001714f, 0.003886f, 0.002112f, 0.003678f, 0.001027f, -0.032104f, -0.004340f, -0.006651f, -0.026074f, -0.044780f, 0.013608f, 0.023026f, -0.016510f, -0.008013f, 0.012955f, -0.004960f, 0.027649f, -0.003241f, -0.015009f, -0.008994f, -0.041749f, 0.013923f, 0.004542f, -0.003927f, -0.029371f, 0.006774f, -0.016404f, -0.004415f, -0.014419f, -0.007432f, 0.020613f, -0.020056f, 0.008441f, -0.029633f, 0.018742f, 0.003641f, 0.000225f, -0.008636f, 0.002079f, -0.003975f, -0.016647f, -0.031189f, 0.005879f, -0.000064f, 0.006503f, 0.012911f, -0.007700f, -0.002604f, -0.020137f, -0.010393f, -0.005505f, 0.008353f, 0.005572f, 0.014625f, 0.023374f, 0.018290f, 0.009312f, 0.013931f, 0.004113f, 0.014526f, 0.013009f, -0.012932f, 0.014924f, 0.016935f, -0.003659f, 0.022717f, -0.002536f, 0.026672f, -0.012003f, -0.028862f, -0.004860f, 0.018253f, 0.020034f, 0.023113f, -0.004640f, -0.040229f, -0.004194f, -0.002223f, 0.001359f, -0.001445f, -0.010033f, 0.005672f, -0.029449f, 0.022717f, 0.014217f, 0.013744f, -0.015500f, -0.014568f, -0.003363f, 0.008401f, -0.001205f, -0.016284f, -0.000025f, -0.007994f, -0.013346f, -0.005370f, - -0.002352f, -0.006383f, 0.000419f, -0.005406f, 0.002496f, -0.003400f, -0.001996f, 0.004156f, 0.000621f, 0.001856f, -0.002278f, -0.005862f, -0.006601f, 0.004418f, -0.005303f, -0.000251f, -0.002053f, 0.002692f, -0.002273f, -0.001381f, -0.002254f, 0.006670f, 0.003383f, 0.001993f, -0.002284f, 0.042743f, -0.009394f, -0.010254f, 0.014258f, 0.023019f, -0.001648f, 0.010719f, 0.026649f, 0.019261f, -0.043748f, -0.040188f, 0.000328f, -0.003853f, 0.005895f, -0.017956f, -0.031919f, 0.007591f, 0.025583f, 0.016917f, -0.018533f, 0.030114f, 0.024314f, 0.022844f, -0.038354f, 0.010873f, 0.020101f, 0.001049f, 0.003049f, 0.017136f, 0.039494f, -0.007619f, -0.018072f, 0.012002f, 0.008941f, -0.005364f, 0.021338f, 0.031899f, 0.005937f, 0.033046f, 0.014420f, -0.024771f, 0.002776f, 0.027408f, -0.002977f, -0.011226f, 0.014166f, 0.002311f, 0.005374f, 0.028767f, 0.018434f, 0.009802f, 0.003385f, -0.033353f, -0.034026f, -0.002821f, 0.005361f, 0.008904f, -0.010521f, -0.001457f, -0.008821f, 0.003009f, 0.004210f, -0.012710f, 0.004791f, -0.007794f, -0.002018f, -0.010796f, 0.001185f, 0.021268f, -0.012601f, -0.030663f, - -0.004833f, -0.026076f, 0.005709f, -0.009288f, -0.000723f, -0.003474f, 0.012280f, -0.004581f, 0.008877f, -0.000084f, 0.007604f, 0.003650f, -0.003606f, -0.004129f, -0.005377f, -0.015106f, 0.005453f, 0.002011f, 0.003731f, 0.000546f, -0.011776f, 0.005928f, -0.009230f, -0.007662f, -0.002743f, -0.009850f, -0.002163f, -0.003189f, -0.003774f, -0.003066f, 0.006345f, -0.002794f, 0.004199f, -0.000349f, 0.003358f, 0.000665f, 0.008209f, -0.003528f, 0.002148f, -0.006642f, -0.001804f, -0.005687f, -0.005359f, -0.001032f, -0.003984f, 0.012826f, 0.005267f, 0.000546f, -0.001900f, -0.001731f, -0.071686f, -0.044835f, -0.013800f, 0.012654f, -0.004702f, -0.018133f, 0.002862f, -0.017682f, 0.049634f, -0.020563f, 0.031719f, 0.048985f, 0.026394f, 0.023962f, -0.019643f, 0.017134f, -0.009930f, -0.023218f, 0.019554f, 0.022907f, 0.015046f, 0.032870f, -0.000176f, -0.002092f, -0.015065f, -0.015402f, -0.013244f, -0.021073f, -0.020568f, -0.014213f, 0.007337f, 0.002407f, -0.000588f, -0.013405f, -0.007508f, -0.020465f, 0.007956f, -0.017734f, -0.016175f, -0.007450f, 0.007992f, -0.000514f, -0.011054f, -0.029618f, 0.003082f, -0.009066f, - 0.010161f, -0.034863f, -0.027089f, 0.029769f, -0.005041f, -0.006279f, -0.014406f, -0.009012f, 0.022206f, 0.006891f, -0.005126f, 0.011961f, -0.003830f, 0.012463f, 0.009810f, 0.014284f, -0.011016f, -0.017837f, -0.044240f, 0.002585f, -0.042923f, -0.003347f, -0.036406f, -0.005653f, 0.033540f, -0.004760f, 0.005561f, -0.024724f, -0.010970f, -0.012987f, 0.002248f, -0.016050f, -0.009535f, 0.014840f, 0.018542f, -0.002451f, -0.002421f, 0.001684f, -0.009174f, 0.002744f, -0.001481f, -0.009005f, -0.003991f, -0.007777f, -0.003373f, -0.004632f, -0.020211f, 0.002950f, -0.003816f, -0.003049f, 0.000703f, -0.005881f, -0.006903f, -0.014050f, -0.003697f, -0.008336f, -0.009894f, -0.002245f, -0.012328f, -0.005985f, 0.001420f, -0.007892f, -0.009137f, 0.000582f, -0.007731f, 0.001913f, 0.002260f, 0.008001f, -0.005677f, 0.005448f, 0.002270f, -0.008227f, -0.003473f, -0.002344f, -0.004141f, 0.001069f, -0.002271f, -0.002728f, 0.049130f, 0.000943f, -0.035602f, -0.030207f, 0.030825f, 0.024144f, -0.022785f, -0.022046f, 0.041341f, 0.026229f, 0.001524f, -0.024580f, 0.002975f, -0.010367f, 0.019620f, -0.015280f, 0.002351f, -0.006509f, - -0.004490f, 0.042681f, -0.006017f, -0.011706f, 0.007960f, 0.007204f, 0.012816f, 0.013131f, 0.001491f, -0.016946f, 0.012813f, 0.006382f, 0.014679f, 0.032978f, 0.015186f, -0.047689f, -0.013574f, -0.007852f, -0.036388f, 0.014015f, -0.006273f, 0.000647f, -0.020255f, 0.017066f, -0.007835f, 0.003178f, -0.026352f, 0.017806f, -0.021453f, 0.001656f, 0.021270f, -0.003521f, 0.022437f, -0.017587f, 0.027969f, -0.035891f, 0.017938f, 0.000277f, -0.012814f, 0.046659f, 0.012554f, -0.009865f, -0.027827f, 0.012001f, -0.005658f, 0.003708f, -0.004161f, 0.016974f, 0.025611f, 0.034251f, -0.021689f, 0.015313f, -0.008548f, 0.030614f, 0.011363f, 0.004242f, -0.002748f, 0.018288f, 0.003377f, -0.012386f, 0.015071f, -0.010814f, -0.017921f, -0.007972f, -0.024403f, 0.000147f, -0.027348f, -0.002506f, -0.018401f, 0.020971f, -0.006617f, 0.013415f, -0.014713f, 0.000372f, -0.008198f, 0.012644f, -0.003981f, -0.001422f, -0.008116f, 0.004139f, -0.006064f, -0.010123f, -0.005620f, 0.004089f, -0.009476f, 0.005606f, -0.007488f, 0.003356f, -0.004814f, -0.004982f, -0.004809f, -0.010786f, -0.006054f, 0.000040f, -0.007610f, -0.007233f, - 0.009857f, 0.008235f, 0.004701f, -0.005138f, -0.012312f, -0.001556f, 0.005502f, -0.000688f, -0.009528f, -0.005986f, -0.071788f, -0.046590f, 0.038214f, -0.028528f, -0.026784f, 0.014534f, 0.033423f, -0.055814f, -0.009494f, 0.012956f, 0.003314f, -0.029272f, -0.043721f, 0.081331f, -0.035446f, 0.010811f, -0.040264f, 0.021776f, -0.014194f, 0.037884f, 0.033647f, 0.003153f, 0.005755f, -0.045599f, -0.000312f, 0.021161f, -0.018618f, -0.027297f, 0.021235f, 0.005813f, 0.022917f, 0.018142f, -0.004092f, 0.007461f, -0.005342f, -0.003154f, 0.033919f, -0.029307f, -0.017306f, 0.027135f, -0.001353f, -0.022188f, 0.028775f, -0.001141f, -0.006601f, -0.019860f, -0.008876f, 0.010446f, -0.015529f, -0.002005f, 0.009995f, -0.019707f, -0.020142f, -0.013224f, 0.014497f, -0.042471f, 0.019964f, -0.002187f, 0.039956f, -0.037985f, 0.012362f, -0.028948f, 0.010411f, -0.017481f, -0.022155f, 0.035959f, -0.020188f, -0.009067f, -0.019654f, 0.015404f, -0.022454f, 0.012930f, -0.007748f, 0.026233f, 0.026991f, -0.003658f, -0.042501f, 0.016668f, 0.017456f, -0.002278f, -0.001506f, -0.024419f, -0.016868f, -0.004262f, -0.020987f, -0.016999f, - -0.006047f, -0.000746f, -0.010516f, -0.014020f, 0.015610f, 0.005036f, -0.009973f, -0.008474f, -0.010184f, -0.010877f, 0.011326f, 0.003983f, 0.002634f, -0.016224f, -0.006226f, 0.013494f, -0.008111f, -0.010053f, 0.006330f, -0.007269f, -0.000059f, 0.004758f, 0.007905f, -0.003522f, -0.013320f, 0.002395f, 0.007796f, -0.017911f, 0.000322f, 0.004334f, 0.000342f, -0.009558f, -0.005389f, 0.000206f, -0.004264f, 0.035950f, 0.017466f, -0.040483f, 0.013795f, 0.043551f, -0.003851f, 0.000099f, 0.020086f, -0.013026f, 0.030522f, 0.027637f, -0.036555f, -0.022404f, -0.006757f, 0.019301f, 0.034850f, 0.006198f, 0.018505f, 0.039367f, 0.029431f, -0.041396f, -0.004480f, 0.065793f, 0.016208f, -0.004372f, -0.007808f, -0.012368f, -0.019366f, 0.005814f, 0.016076f, 0.017979f, 0.016673f, -0.011749f, -0.028142f, 0.007572f, -0.014660f, 0.015450f, 0.045357f, -0.012051f, -0.045654f, 0.054603f, -0.016512f, -0.030044f, 0.044152f, -0.007947f, -0.013249f, -0.047300f, -0.008589f, 0.019596f, 0.009259f, -0.010252f, -0.020059f, 0.018317f, 0.001863f, -0.021895f, 0.018712f, -0.004365f, 0.043056f, -0.031719f, 0.004407f, -0.006167f, - 0.049334f, 0.016883f, -0.070331f, 0.022056f, -0.029455f, -0.012282f, -0.025218f, 0.030420f, 0.100406f, 0.036763f, 0.005717f, 0.023302f, 0.029138f, -0.037029f, -0.015856f, -0.010389f, -0.021300f, -0.012761f, -0.023566f, 0.022169f, -0.051767f, -0.013640f, 0.004515f, 0.006220f, -0.017078f, 0.003263f, 0.008940f, -0.005003f, -0.006724f, 0.017615f, 0.003052f, 0.011779f, 0.009566f, -0.010534f, 0.002809f, 0.008739f, 0.003118f, 0.007320f, -0.005502f, 0.004516f, -0.010238f, 0.001399f, -0.003255f, -0.009537f, -0.005285f, -0.002114f, 0.015507f, 0.000937f, 0.003847f, 0.000709f, -0.003518f, -0.003166f, 0.001070f, -0.001339f, -0.014849f, -0.001699f, 0.002094f, -0.003399f, -0.011522f, -0.026165f, -0.009812f, -0.007888f, 0.015154f, -0.002618f, 0.003085f, -0.015207f, -0.053090f, -0.022519f, 0.003759f, -0.021482f, -0.066856f, 0.058198f, -0.011044f, 0.026299f, 0.005053f, -0.030583f, -0.052728f, -0.050787f, 0.057201f, 0.034898f, 0.013204f, -0.020008f, -0.038092f, -0.028486f, -0.045253f, -0.011528f, 0.017008f, -0.006929f, 0.003798f, 0.007365f, -0.007353f, -0.023366f, -0.022501f, -0.038422f, -0.013747f, -0.007275f, - 0.019042f, 0.013365f, 0.020925f, -0.010202f, -0.017177f, -0.007095f, 0.027322f, 0.004018f, 0.024197f, -0.080463f, -0.018915f, 0.000038f, 0.017763f, -0.025570f, -0.001060f, -0.029617f, 0.023395f, 0.020690f, 0.003992f, 0.099725f, 0.001641f, 0.031275f, 0.041032f, 0.001939f, 0.013290f, 0.000786f, -0.007114f, -0.011809f, 0.020700f, 0.030482f, 0.039692f, -0.000718f, -0.007442f, 0.002899f, 0.026088f, 0.023846f, 0.000884f, 0.019367f, 0.016611f, 0.013096f, -0.005271f, 0.039156f, -0.011213f, 0.050196f, -0.049409f, -0.024534f, -0.060779f, -0.018754f, 0.010895f, 0.001649f, -0.015740f, 0.003437f, -0.000196f, 0.027409f, -0.005513f, 0.032803f, -0.014924f, -0.011938f, -0.016400f, 0.008603f, 0.018336f, -0.002808f, -0.008909f, -0.009728f, 0.011318f, 0.000332f, 0.038040f, -0.005867f, -0.002612f, 0.006985f, 0.010679f, 0.015840f, -0.013154f, -0.001015f, 0.005099f, 0.007899f, -0.018158f, 0.006472f, 0.006926f, 0.023482f, -0.023084f, 0.013281f, 0.008803f, -0.009681f, 0.019799f, -0.011014f, -0.013565f, 0.000236f, -0.004600f, 0.010300f, 0.005083f, -0.007989f, -0.000241f, 0.008491f, 0.001942f, 0.020479f, - -0.000948f, 0.013447f, 0.037791f, -0.006968f, 0.001666f, 0.009953f, -0.051718f, 0.002169f, 0.007422f, 0.032556f, 0.049664f, -0.042266f, 0.009364f, -0.026646f, 0.035401f, 0.032095f, 0.004066f, 0.061616f, 0.019224f, 0.024540f, -0.022454f, -0.003608f, -0.039323f, 0.061563f, -0.035770f, 0.009624f, 0.037673f, -0.008959f, -0.024217f, 0.019028f, -0.005530f, 0.009630f, 0.040446f, 0.001055f, -0.012809f, -0.003718f, 0.007595f, -0.001270f, -0.023977f, 0.017777f, -0.002279f, -0.006799f, 0.069051f, -0.053044f, 0.049964f, 0.032256f, 0.062348f, 0.025406f, -0.044048f, 0.034116f, 0.000710f, 0.031704f, 0.082101f, -0.059192f, -0.024511f, -0.007605f, 0.001616f, 0.055821f, -0.033086f, 0.002921f, -0.035531f, 0.002809f, 0.062945f, -0.007071f, 0.065321f, 0.018425f, 0.011191f, 0.029708f, -0.039866f, -0.006580f, 0.028734f, 0.040661f, -0.066003f, -0.002333f, -0.056549f, 0.025367f, -0.029395f, -0.000952f, 0.013408f, 0.018451f, 0.001427f, -0.020102f, -0.016009f, -0.061834f, -0.007014f, -0.043922f, 0.035665f, 0.003109f, -0.002760f, 0.027778f, 0.001576f, -0.000119f, 0.026680f, 0.019925f, 0.013425f, 0.000352f, - -0.008969f, 0.012600f, -0.020876f, -0.001538f, -0.014316f, 0.014355f, 0.014932f, -0.012603f, -0.002414f, -0.026819f, 0.011920f, -0.001645f, -0.000011f, -0.000712f, -0.026042f, -0.031385f, -0.010379f, 0.010180f, 0.023832f, 0.012134f, 0.010761f, -0.003775f, 0.019963f, 0.013898f, -0.000868f, -0.010141f, 0.017369f, -0.024716f, -0.006943f, 0.005168f, 0.027996f, 0.023151f, 0.005020f, -0.011261f, -0.039986f, 0.011232f, -0.069971f, -0.061669f, 0.000891f, 0.000832f, -0.039169f, 0.031764f, 0.009184f, -0.010713f, -0.036349f, 0.049389f, -0.011540f, 0.073528f, -0.010769f, 0.015776f, 0.026526f, -0.035905f, -0.011986f, 0.011123f, -0.042725f, -0.024148f, -0.037369f, 0.031948f, -0.029946f, -0.008263f, -0.009859f, 0.027629f, -0.025254f, -0.042746f, -0.059451f, -0.001913f, 0.049364f, 0.002767f, -0.027284f, -0.011805f, -0.034533f, -0.011773f, 0.000244f, 0.020377f, -0.038888f, -0.004583f, -0.008515f, -0.027940f, -0.038222f, 0.001569f, 0.006329f, 0.024424f, 0.008410f, 0.042152f, 0.011714f, 0.053257f, -0.022385f, 0.043920f, -0.011322f, -0.034791f, -0.009056f, 0.071592f, -0.031097f, 0.032466f, -0.022810f, 0.052444f, - -0.027948f, 0.017497f, 0.033417f, -0.002301f, -0.013850f, 0.006078f, -0.019132f, 0.047650f, -0.044000f, -0.016884f, 0.047834f, -0.006216f, -0.039984f, 0.001562f, 0.036560f, 0.020014f, 0.036564f, -0.037285f, -0.031440f, -0.020292f, -0.004075f, 0.035746f, 0.043614f, -0.077586f, 0.004070f, 0.022015f, -0.042408f, 0.006649f, 0.026764f, 0.020492f, 0.019634f, 0.018828f, 0.012820f, -0.006270f, 0.001412f, 0.014340f, 0.016444f, 0.013037f, 0.033005f, -0.010383f, 0.017356f, 0.006968f, 0.035732f, 0.020899f, -0.027573f, -0.035241f, 0.011113f, 0.037159f, -0.010676f, -0.010774f, -0.023900f, -0.041136f, 0.004710f, -0.035166f, -0.010912f, 0.007574f, -0.023135f, 0.021208f, 0.006205f, -0.007630f, -0.019099f, -0.004080f, -0.019797f, -0.002020f, 0.011036f, 0.004796f, 0.003145f, -0.003877f, -0.004825f, -0.066349f, 0.073166f, -0.024184f, 0.062319f, -0.012846f, 0.050085f, 0.004341f, -0.015495f, -0.034008f, -0.024018f, -0.004360f, 0.000885f, 0.036861f, -0.013840f, -0.002661f, 0.010665f, -0.033231f, 0.054077f, 0.020329f, 0.002154f, -0.044210f, 0.030600f, 0.016228f, -0.035273f, 0.034849f, 0.003172f, -0.005229f, - 0.008893f, -0.000848f, 0.045679f, -0.010193f, -0.057081f, 0.062089f, -0.031743f, -0.004778f, 0.046130f, -0.020049f, -0.009904f, -0.027229f, 0.072724f, -0.032273f, -0.008827f, -0.045142f, -0.008680f, 0.005799f, 0.065020f, -0.030125f, 0.012347f, 0.020929f, 0.038714f, -0.009881f, -0.041025f, 0.045116f, 0.027345f, 0.036680f, -0.017641f, -0.008449f, 0.004726f, 0.040616f, -0.022240f, -0.047035f, -0.052673f, 0.028404f, -0.036853f, 0.009753f, 0.039592f, 0.036920f, -0.025668f, -0.008541f, 0.053245f, -0.084413f, -0.001887f, 0.011996f, 0.029420f, -0.003619f, -0.030802f, -0.005864f, 0.048568f, -0.009099f, 0.099603f, 0.039243f, -0.028338f, -0.003526f, 0.003053f, -0.011665f, -0.035906f, -0.043815f, -0.032193f, 0.027994f, -0.020802f, -0.008247f, -0.000721f, 0.043719f, 0.018929f, -0.014701f, 0.019276f, 0.014341f, -0.000469f, 0.006725f, 0.008184f, -0.000184f, 0.006150f, 0.044781f, 0.036728f, 0.035715f, 0.024234f, 0.003752f, -0.021744f, 0.012161f, -0.016960f, 0.021666f, -0.026157f, 0.028942f, 0.041879f, 0.014251f, 0.053013f, 0.057394f, 0.023278f, -0.000155f, 0.030075f, 0.010683f, -0.005314f, -0.017770f, - 0.031260f, -0.007708f, -0.024742f, 0.000068f, 0.015226f, -0.006714f, 0.013275f, 0.024880f, 0.009444f, 0.025386f, -0.014153f, -0.016146f, -0.093703f, 0.031915f, 0.018244f, 0.083569f, 0.073230f, -0.010828f, -0.027030f, -0.086105f, 0.002538f, 0.028841f, -0.036854f, 0.028172f, 0.050441f, 0.049075f, -0.022717f, 0.059075f, 0.052809f, 0.002566f, -0.031834f, -0.034089f, 0.053925f, 0.046152f, -0.065472f, -0.089247f, 0.118744f, 0.006244f, -0.008369f, 0.015681f, 0.008836f, 0.044146f, 0.043826f, -0.017494f, -0.014935f, 0.061974f, 0.029468f, -0.010941f, -0.041068f, 0.025080f, 0.005012f, 0.003485f, 0.022100f, 0.003251f, -0.001863f, -0.024521f, 0.013932f, -0.007216f, -0.030173f, 0.055734f, -0.088329f, 0.061855f, 0.051250f, -0.083530f, -0.005739f, 0.042896f, 0.010867f, 0.048917f, -0.011320f, 0.007062f, 0.044712f, -0.005663f, 0.022882f, -0.041068f, -0.065299f, 0.184342f, -0.075209f, -0.105670f, -0.023051f, 0.205277f, 0.088646f, -0.087176f, -0.019670f, 0.036441f, 0.025160f, -0.001640f, -0.052668f, 0.077326f, 0.043266f, 0.032573f, 0.007743f, -0.103852f, -0.016953f, 0.017170f, 0.031130f, -0.042520f, - -0.070572f, 0.006469f, 0.022509f, 0.010005f, -0.033222f, -0.035107f, 0.017163f, 0.009733f, 0.025800f, -0.004529f, -0.008424f, -0.002350f, 0.027565f, 0.035025f, 0.024228f, -0.052184f, -0.020068f, 0.037193f, 0.027468f, -0.026188f, 0.000325f, 0.030364f, 0.053784f, 0.021134f, -0.028018f, -0.038040f, -0.049760f, 0.023805f, -0.015756f, 0.022153f, -0.042012f, 0.023956f, 0.012571f, 0.026963f, -0.019087f, -0.010016f, -0.033654f, -0.014225f, 0.033778f, 0.006334f, -0.027522f, 0.015574f, 0.050909f, 0.013435f, -0.036619f, -0.023114f, 0.046112f, 0.079855f, 0.005579f, 0.132623f, -0.058805f, -0.022616f, 0.076964f, 0.003800f, -0.004332f, -0.039578f, -0.079005f, 0.065681f, -0.041138f, -0.044844f, 0.034154f, -0.049780f, 0.024780f, -0.047203f, -0.052198f, -0.008821f, 0.011550f, 0.007398f, -0.012206f, 0.062825f, 0.015868f, 0.038304f, 0.018528f, 0.001059f, 0.001112f, -0.028402f, -0.060198f, 0.019282f, 0.060317f, -0.049167f, 0.042172f, -0.050121f, -0.005064f, -0.002775f, -0.077343f, 0.055140f, -0.026702f, 0.021455f, 0.001681f, -0.022839f, 0.001488f, -0.056085f, 0.057742f, -0.040618f, 0.019412f, -0.065293f, - -0.039481f, -0.085635f, 0.032518f, -0.040063f, -0.044822f, -0.036435f, -0.018522f, -0.000012f, 0.091285f, 0.032520f, 0.045240f, -0.012538f, -0.042405f, -0.053987f, 0.014446f, 0.003218f, -0.092650f, -0.043316f, -0.163076f, -0.076962f, -0.062940f, -0.009593f, -0.075035f, -0.062086f, -0.013434f, 0.059630f, 0.068328f, -0.055558f, -0.069873f, -0.080722f, 0.040789f, 0.096228f, 0.005132f, 0.077357f, 0.002203f, 0.046658f, 0.019013f, 0.005510f, 0.022804f, 0.008151f, -0.001628f, -0.028138f, 0.040259f, 0.032907f, 0.018029f, -0.033594f, -0.012999f, -0.004647f, 0.017392f, 0.017831f, -0.006391f, 0.019365f, -0.008373f, -0.022665f, -0.038937f, 0.004664f, 0.054794f, 0.019421f, -0.006199f, 0.015148f, -0.017334f, 0.028988f, -0.010435f, 0.037958f, 0.037284f, 0.004111f, -0.039578f, 0.006349f, 0.009156f, 0.043039f, 0.010828f, 0.048948f, -0.032687f, -0.020579f, 0.045687f, 0.046790f, 0.012853f, -0.012599f, -0.008319f, -0.046900f, -0.021913f, -0.093383f, 0.021989f, 0.032974f, -0.080859f, 0.044822f, 0.008932f, -0.023462f, 0.004838f, -0.022865f, -0.002261f, 0.017403f, 0.023606f, 0.041381f, -0.048706f, 0.004742f, - 0.056162f, -0.006241f, -0.026774f, 0.050509f, -0.022199f, 0.003538f, -0.029910f, -0.012140f, -0.059723f, 0.015569f, 0.001439f, 0.033742f, -0.023570f, 0.002503f, 0.041953f, -0.019860f, 0.000671f, 0.043291f, -0.084985f, 0.005528f, -0.097288f, -0.030951f, -0.065179f, 0.052034f, 0.018396f, -0.003818f, 0.021827f, -0.019092f, 0.023813f, 0.066130f, 0.017783f, 0.102674f, -0.057219f, -0.065642f, 0.060480f, 0.016466f, -0.044395f, -0.041672f, -0.017023f, 0.037914f, -0.036451f, -0.001407f, -0.031527f, -0.040698f, 0.023871f, 0.029882f, -0.060691f, -0.035281f, 0.052140f, -0.000927f, 0.018392f, -0.011309f, 0.028561f, 0.012686f, 0.052629f, -0.030675f, -0.022793f, 0.013348f, 0.012108f, -0.015233f, -0.055068f, -0.040251f, -0.043579f, 0.058250f, -0.027122f, -0.045108f, 0.013032f, -0.011812f, -0.014908f, -0.029742f, 0.011162f, 0.013319f, -0.005001f, -0.008859f, -0.016234f, -0.027413f, -0.004859f, -0.006231f, -0.020048f, 0.000715f, -0.009857f, -0.018817f, 0.011330f, -0.011113f, 0.010417f, -0.010966f, -0.009378f, 0.027493f, -0.010996f, 0.012985f, 0.009542f, -0.026224f, 0.011602f, 0.003450f, -0.010693f, -0.031799f, - 0.043111f, 0.028377f, -0.012359f, 0.006682f, -0.021361f, -0.016178f, 0.013057f, -0.000400f, -0.027415f, 0.009533f, -0.011059f, 0.024763f, -0.006771f, -0.004628f, 0.004630f, 0.011532f, -0.063054f, -0.127599f, -0.063727f, -0.024228f, 0.055947f, 0.072881f, -0.139275f, 0.024127f, -0.055242f, -0.075480f, -0.015382f, 0.087352f, 0.055924f, 0.047662f, -0.029938f, -0.033560f, -0.040066f, 0.044085f, 0.031200f, 0.067986f, 0.009013f, -0.088192f, -0.034417f, 0.066383f, -0.010035f, 0.019503f, 0.059570f, -0.028367f, -0.040979f, -0.064513f, -0.064478f, 0.000432f, 0.042293f, 0.090977f, 0.067521f, 0.044672f, 0.018457f, -0.093037f, -0.098957f, 0.034671f, -0.068216f, 0.016158f, 0.087530f, 0.034744f, 0.006110f, -0.044080f, -0.078878f, -0.013559f, -0.033881f, 0.026524f, 0.020852f, 0.014811f, 0.054952f, -0.008562f, -0.010394f, 0.014361f, 0.039943f, 0.064395f, 0.066961f, 0.022589f, 0.059657f, 0.019935f, 0.021570f, -0.013146f, -0.066355f, -0.026216f, -0.028651f, -0.054676f, 0.041335f, 0.038325f, 0.028801f, 0.028324f, -0.012442f, -0.065647f, 0.011101f, 0.019467f, -0.000785f, 0.043505f, 0.028319f, 0.022742f, - -0.004931f, 0.002865f, 0.006683f, 0.044783f, 0.045519f, 0.034219f, 0.010244f, -0.008443f, -0.032938f, -0.006312f, 0.019648f, 0.005473f, -0.009539f, -0.000349f, -0.026101f, -0.012468f, -0.014976f, -0.017538f, 0.013981f, 0.048874f, 0.024411f, -0.009190f, -0.004646f, -0.036908f, -0.003481f, 0.012632f, 0.025085f, 0.027290f, -0.008369f, -0.011979f, -0.056839f, -0.033266f, -0.007961f, 0.000151f, 0.023283f, 0.018856f, -0.010944f, -0.014037f, 0.009579f, 0.003369f, 0.006240f, 0.013793f, -0.015634f, -0.005984f, -0.002873f, 0.009058f, 0.015547f, 0.001163f, -0.005010f, -0.004578f, -0.023585f, 0.039474f, -0.112413f, -0.226147f, -0.116772f, 0.021830f, 0.088209f, 0.215084f, 0.210435f, 0.087623f, 0.089502f, 0.064231f, 0.003428f, -0.107239f, -0.181646f, -0.273697f, -0.081736f, -0.114546f, -0.019986f, 0.111586f, 0.198981f, 0.167269f, 0.147733f, 0.081374f, -0.001873f, -0.052191f, -0.069949f, -0.015031f, -0.121105f, -0.096220f, -0.091377f, -0.059930f, -0.049168f, -0.022872f, -0.004329f, 0.041614f, 0.098114f, 0.100993f, 0.099311f, 0.072658f, 0.094612f, 0.050127f, 0.054109f, -0.017775f, -0.003971f, -0.044730f, - -0.117278f, -0.169931f, -0.205241f, -0.099491f, -0.040024f, 0.031876f, -0.005289f, 0.021620f, 0.047729f, 0.062342f, 0.133150f, 0.153456f, 0.203468f, 0.129718f, 0.013116f, 0.059247f, -0.030726f, -0.112430f, -0.098284f, -0.195718f, -0.228251f, -0.170703f, -0.105475f, -0.045419f, -0.035741f, 0.082086f, 0.092806f, 0.257370f, 0.210826f, 0.154187f, 0.151035f, 0.072280f, -0.009207f, -0.102319f, -0.147844f, -0.108006f, -0.129449f, -0.177849f, -0.084427f, 0.004857f, -0.017360f, 0.004997f, 0.077763f, 0.108280f, 0.080093f, 0.041711f, 0.040498f, 0.068978f, 0.029501f, -0.005181f, -0.008243f, -0.033908f, -0.005669f, -0.030261f, -0.079626f, -0.042174f, -0.059370f, -0.096551f, -0.016948f, -0.016803f, 0.077179f, 0.070231f, 0.042363f, 0.075563f, 0.130945f, 0.093617f, -0.022931f, -0.015858f, -0.063073f, -0.056250f, -0.131721f, -0.136737f, -0.066051f, -0.027962f, 0.011425f, 0.046310f, 0.054982f, 0.081767f, 0.093317f, 0.090064f, 0.094746f, 0.024092f, -0.009560f, -0.050438f, -0.061449f, -0.081330f, -0.089872f, -0.090358f, -0.038813f, 0.020201f, 0.027171f, 0.039164f, 0.041110f, 0.028424f, 0.030490f, 0.031748f, - 0.010341f, 0.007421f, -0.010486f, -0.011239f, 0.019397f, -0.012832f, -0.031007f, 0.001906f, 0.007310f, -0.003752f, -0.009013f, -0.012802f, 0.001342f, -0.002205f, -0.012790f, -0.002648f, 0.001367f, 0.000123f, -0.000143f} - }, - { - {-0.008477f, -0.013211f, -0.009609f, 0.003730f, -0.001463f, -0.022610f, -0.012845f, -0.000988f, 0.003229f, -0.006959f, 0.002377f, -0.008396f, 0.001635f, -0.006069f, 0.015860f, -0.012931f, -0.005680f, -0.005688f, 0.010104f, 0.006978f, 0.016146f, 0.004260f, 0.003351f, -0.007390f, 0.007615f, 0.000969f, 0.002059f, -0.000904f, 0.006109f, 0.008382f, 0.000618f, 0.008355f, 0.007925f, -0.003862f, 0.004428f, -0.004720f, -0.005268f, 0.000588f, -0.004307f, 0.002688f, -0.006752f, -0.012211f, 0.003282f, 0.004359f, -0.003042f, 0.003397f, -0.005843f, 0.005497f, 0.007476f, -0.012897f, 0.002505f, -0.000713f, 0.004839f, 0.004147f, 0.000664f, -0.012729f, -0.003831f, -0.005594f, 0.004207f, -0.000150f, 0.001265f, -0.004086f, 0.002343f, -0.006529f, 0.000299f, 0.007085f, 0.004506f, 0.000480f, -0.003638f, 0.002346f, -0.010428f, -0.005845f, -0.007665f, 0.001387f, 0.001299f, -0.000650f, 0.010986f, 0.000054f, 0.009575f, 0.000140f, 0.001002f, 0.000897f, -0.000047f, -0.005194f, 0.003884f, -0.000314f, 0.001916f, -0.001111f, 0.001231f, 0.001822f, -0.000717f, -0.001812f, -0.000717f, -0.000544f, -0.000560f, -0.000301f, - -0.002798f, 0.000482f, 0.002876f, 0.001666f, 0.000028f, 0.000326f, -0.000788f, -0.001263f, 0.001217f, -0.026098f, -0.000831f, 0.001375f, 0.000369f, 0.004281f, -0.009216f, 0.006759f, 0.003792f, -0.004840f, -0.015558f, 0.010223f, 0.010483f, -0.002476f, 0.008722f, 0.006296f, -0.008629f, 0.017123f, 0.003558f, -0.007760f, 0.009195f, 0.000656f, 0.008591f, 0.001257f, -0.014933f, 0.005664f, -0.002842f, -0.005529f, -0.005808f, -0.004537f, 0.009755f, 0.007567f, 0.000598f, 0.007918f, 0.002853f, -0.007495f, -0.009287f, -0.000851f, -0.002183f, 0.003985f, 0.002696f, -0.007297f, 0.001725f, 0.003792f, 0.003572f, -0.006416f, -0.005392f, -0.008499f, -0.002997f, -0.002123f, 0.001689f, -0.002084f, 0.011388f, 0.004878f, -0.001781f, -0.005782f, 0.002123f, 0.004745f, 0.002445f, 0.012276f, -0.002062f, 0.006183f, -0.000744f, -0.004039f, -0.007474f, 0.005259f, -0.001704f, -0.003460f, 0.007187f, -0.002223f, 0.002383f, -0.001610f, -0.001506f, -0.008288f, 0.001805f, -0.002350f, 0.009729f, 0.012058f, -0.007272f, -0.007380f, -0.005200f, 0.002030f, -0.004668f, -0.002375f, -0.003017f, -0.002999f, -0.003256f, 0.001931f, - 0.004480f, -0.000292f, 0.001149f, 0.001341f, -0.000484f, 0.000144f, -0.002211f, -0.004928f, -0.007729f, -0.017762f, -0.010618f, -0.003879f, 0.012724f, 0.001615f, 0.002361f, 0.007774f, 0.002088f, 0.003331f, -0.018607f, -0.017100f, -0.010894f, -0.002891f, -0.000086f, 0.007833f, -0.005598f, 0.006119f, -0.003207f, -0.011514f, 0.003566f, -0.001724f, -0.007875f, -0.000171f, 0.010998f, 0.015973f, 0.007245f, -0.007381f, 0.004283f, 0.000467f, 0.011530f, -0.000098f, -0.009207f, -0.000360f, -0.005380f, 0.011310f, 0.004952f, 0.005281f, 0.011480f, -0.002031f, 0.000829f, 0.015381f, 0.013470f, -0.000550f, -0.000072f, 0.001018f, -0.000863f, 0.004063f, 0.001122f, -0.011279f, -0.014930f, -0.005305f, -0.001902f, 0.000010f, -0.004953f, -0.016664f, -0.001774f, 0.004573f, -0.009065f, -0.004453f, -0.005907f, -0.005074f, 0.001756f, 0.002098f, 0.005480f, -0.011624f, -0.009282f, 0.008906f, -0.003789f, -0.002058f, 0.001838f, -0.000723f, 0.005823f, -0.011195f, 0.004418f, 0.004107f, -0.004441f, -0.004286f, 0.004452f, -0.004909f, 0.007101f, -0.002823f, 0.000062f, -0.000032f, -0.002805f, 0.001379f, 0.005248f, 0.002891f, - 0.000591f, 0.003163f, 0.000900f, -0.001483f, -0.002869f, -0.001602f, -0.001655f, 0.000624f, 0.000801f, -0.000507f, -0.000422f, 0.000757f, -0.000259f, 0.023739f, -0.009109f, -0.007217f, -0.001155f, 0.000407f, -0.008877f, 0.000080f, -0.006211f, 0.011419f, -0.002794f, -0.014120f, -0.019666f, -0.005050f, -0.013027f, 0.018153f, 0.001474f, 0.012882f, 0.010852f, -0.017213f, -0.000969f, 0.007226f, 0.005226f, 0.009151f, 0.001703f, -0.001108f, -0.001562f, 0.004293f, -0.005706f, 0.006574f, 0.003630f, -0.006139f, 0.003798f, 0.000280f, 0.004435f, 0.009871f, -0.005330f, 0.003922f, -0.000631f, 0.005640f, 0.004853f, -0.002020f, 0.006689f, -0.001895f, 0.005818f, -0.004446f, 0.005306f, -0.013942f, -0.005927f, -0.005091f, 0.003922f, 0.012058f, -0.008857f, -0.005853f, -0.003269f, 0.000735f, -0.004048f, -0.005342f, -0.002830f, 0.004883f, 0.003956f, 0.006974f, -0.002314f, 0.003975f, -0.004108f, -0.004329f, -0.000406f, -0.002601f, 0.004826f, -0.000064f, -0.007284f, 0.004097f, -0.004253f, -0.007170f, -0.002663f, -0.004460f, 0.003154f, -0.005232f, -0.014200f, -0.002012f, -0.006139f, -0.006051f, 0.003080f, -0.003918f, - -0.008548f, -0.001739f, 0.001808f, -0.000613f, 0.000515f, -0.000084f, -0.005368f, 0.000172f, 0.002834f, -0.002030f, -0.002244f, 0.000570f, -0.000109f, 0.001026f, 0.000911f, 0.002786f, 0.000810f, -0.002418f, 0.001606f, -0.000429f, -0.000858f, -0.000935f, -0.002403f, -0.002253f, -0.002451f, 0.004035f, 0.006231f, -0.002406f, 0.009446f, -0.014751f, 0.006632f, -0.008805f, -0.009722f, 0.014319f, 0.005344f, -0.016831f, 0.001783f, 0.000138f, 0.005111f, -0.012102f, -0.007738f, -0.001026f, -0.009801f, -0.017889f, -0.017325f, -0.011417f, -0.017290f, 0.007479f, -0.001776f, 0.002667f, 0.009412f, -0.015171f, 0.010055f, -0.004259f, 0.004724f, 0.003133f, -0.001516f, 0.001613f, -0.002168f, -0.002146f, -0.009884f, -0.005898f, 0.012986f, -0.004735f, -0.010743f, -0.009871f, -0.000934f, -0.004410f, 0.004067f, -0.009433f, -0.014644f, 0.002290f, 0.013668f, -0.002031f, 0.008295f, -0.004674f, 0.004533f, -0.007284f, 0.005586f, 0.002321f, -0.010006f, 0.014789f, 0.002648f, -0.003059f, 0.003464f, 0.013603f, 0.012527f, 0.006620f, -0.001325f, -0.015083f, -0.002541f, -0.012566f, 0.003642f, -0.002728f, 0.002112f, 0.002223f, - 0.003523f, -0.011420f, -0.000088f, -0.000816f, 0.005539f, 0.011743f, -0.014650f, 0.001983f, -0.004289f, -0.013693f, -0.001550f, 0.004036f, -0.001402f, -0.000306f, -0.001317f, 0.004541f, 0.000886f, -0.003960f, -0.002732f, -0.002860f, -0.001757f, -0.004721f, 0.000162f, -0.000377f, 0.002655f, -0.005697f, -0.004015f, -0.000423f, -0.000767f, -0.000696f, 0.000259f, -0.000426f, 0.000914f, -0.002061f, -0.002148f, -0.000541f, -0.000366f, -0.001497f, -0.000390f, -0.000395f, 0.002537f, 0.002379f, -0.000049f, 0.000070f, -0.002650f, -0.004278f, -0.001534f, 0.000227f, -0.016801f, -0.016097f, -0.010457f, -0.017728f, -0.021008f, -0.020028f, 0.008486f, 0.009268f, -0.012883f, -0.003413f, -0.011663f, -0.019038f, 0.010192f, -0.004998f, -0.016510f, 0.005663f, -0.001123f, 0.000828f, 0.001679f, 0.005592f, 0.001842f, -0.000613f, 0.004256f, 0.005693f, -0.009492f, -0.009149f, -0.002454f, -0.011152f, -0.000785f, -0.011887f, -0.020518f, -0.001662f, 0.012431f, -0.014896f, -0.011386f, 0.008015f, -0.007834f, 0.000889f, 0.003167f, -0.007703f, -0.006168f, -0.006542f, -0.022105f, -0.009638f, 0.004759f, -0.006387f, -0.007320f, -0.014005f, - 0.006232f, 0.012370f, -0.004492f, 0.019112f, -0.010615f, -0.005085f, -0.000081f, -0.004711f, -0.016210f, -0.001227f, 0.003719f, -0.000622f, -0.003410f, -0.014246f, -0.002330f, 0.013846f, 0.007029f, 0.004018f, 0.007232f, 0.005074f, -0.003667f, 0.026558f, -0.008375f, -0.010447f, -0.009855f, -0.011921f, 0.004704f, 0.015045f, 0.010342f, 0.001061f, -0.002460f, -0.007749f, -0.002735f, -0.000332f, -0.003586f, 0.000541f, -0.004811f, 0.001753f, 0.011105f, 0.007077f, -0.005454f, -0.001268f, -0.001975f, 0.003898f, -0.002300f, 0.004251f, -0.004614f, -0.002442f, 0.000694f, 0.000771f, -0.001146f, 0.001368f, -0.002664f, 0.002763f, 0.000115f, 0.002150f, 0.001871f, 0.001232f, -0.001297f, -0.002259f, -0.000551f, -0.002282f, 0.029931f, 0.020388f, -0.000846f, 0.018626f, -0.001479f, 0.002794f, 0.003631f, -0.010063f, 0.016995f, 0.000260f, 0.015004f, 0.014379f, -0.011485f, 0.018653f, 0.000366f, -0.014092f, -0.023290f, 0.021411f, 0.010423f, 0.021271f, -0.017690f, 0.012247f, 0.006681f, -0.019501f, -0.019251f, -0.011381f, -0.005412f, 0.020494f, -0.019381f, 0.017292f, -0.001595f, -0.001877f, 0.012489f, 0.011758f, - 0.016028f, 0.005914f, -0.008651f, 0.007837f, 0.015069f, -0.009053f, 0.015066f, 0.022836f, 0.009767f, 0.013867f, 0.005818f, 0.003936f, 0.003956f, 0.000610f, -0.012348f, 0.004609f, 0.001331f, 0.000930f, 0.010534f, -0.007377f, 0.006315f, 0.007003f, -0.002958f, 0.019918f, -0.011601f, -0.007081f, -0.004421f, 0.017203f, -0.003052f, 0.014208f, 0.007258f, 0.009605f, 0.008694f, 0.001674f, -0.024215f, -0.003764f, -0.019395f, -0.010573f, 0.025389f, 0.013207f, -0.011209f, -0.000679f, -0.013836f, -0.012464f, -0.006410f, 0.021046f, 0.001972f, 0.007245f, 0.004207f, -0.003295f, 0.004422f, 0.007536f, 0.013298f, -0.003739f, 0.007826f, 0.005552f, 0.004892f, -0.004543f, -0.002768f, 0.002084f, -0.002226f, -0.000115f, 0.003724f, 0.004863f, 0.002156f, 0.002098f, 0.006001f, 0.005731f, 0.002281f, 0.000160f, 0.002959f, -0.001243f, 0.005121f, 0.007586f, 0.003760f, 0.000199f, 0.008492f, -0.026146f, 0.016632f, 0.015969f, 0.047117f, 0.001919f, 0.004144f, -0.002290f, -0.006383f, -0.003006f, 0.015983f, 0.014566f, 0.012705f, 0.018352f, 0.007487f, 0.028943f, 0.008520f, -0.011386f, 0.002827f, 0.025230f, - 0.010005f, 0.002609f, 0.003973f, -0.012894f, -0.018564f, 0.011989f, -0.009194f, -0.018195f, -0.038580f, -0.000569f, 0.015422f, -0.001138f, 0.009114f, -0.013339f, -0.007035f, -0.004961f, 0.002933f, -0.004199f, -0.011539f, -0.005618f, -0.031071f, -0.008088f, -0.026368f, 0.002261f, -0.013883f, 0.010643f, -0.015117f, 0.005797f, -0.014533f, -0.005032f, -0.000890f, 0.000466f, 0.002275f, 0.002976f, -0.019264f, 0.009350f, -0.002885f, 0.004298f, -0.010059f, 0.000290f, 0.015417f, 0.006219f, 0.021300f, 0.011938f, -0.006480f, -0.001245f, -0.004373f, -0.002160f, -0.004980f, -0.006763f, -0.000318f, 0.008749f, 0.005672f, 0.006506f, 0.004193f, -0.030433f, 0.020116f, 0.019737f, -0.007364f, 0.011308f, 0.008862f, -0.016082f, 0.007786f, 0.004835f, 0.001060f, -0.003408f, 0.002851f, 0.010407f, -0.009097f, 0.006070f, -0.002526f, 0.000536f, -0.000652f, 0.002302f, 0.005626f, -0.004642f, -0.002015f, 0.007729f, -0.005396f, 0.000396f, 0.000325f, 0.002937f, -0.003488f, -0.006457f, 0.004048f, 0.000261f, -0.001924f, -0.001926f, 0.001085f, -0.000226f, 0.003796f, 0.004281f, 0.004905f, 0.000072f, -0.004998f, 0.050712f, - 0.018284f, -0.008466f, 0.025051f, -0.016446f, 0.017474f, 0.011622f, -0.023860f, 0.005094f, -0.030016f, 0.000617f, -0.010192f, -0.021138f, 0.011324f, 0.000386f, 0.008672f, 0.012401f, 0.015397f, 0.024689f, 0.010324f, -0.001752f, -0.006353f, -0.016806f, -0.030251f, 0.010746f, 0.011890f, 0.003294f, -0.010539f, 0.016366f, 0.002168f, 0.017291f, 0.010318f, -0.031577f, -0.011951f, 0.004257f, -0.023199f, 0.001201f, -0.001625f, -0.004411f, 0.006885f, 0.005136f, -0.005431f, 0.023288f, -0.013405f, 0.000926f, 0.013105f, -0.011474f, 0.009019f, -0.005008f, -0.014067f, 0.009471f, -0.000057f, -0.001822f, 0.013474f, 0.008880f, 0.000562f, -0.006962f, 0.027831f, 0.001245f, 0.015689f, 0.001577f, -0.008576f, -0.009622f, -0.023197f, -0.008988f, 0.009801f, -0.000610f, 0.008379f, -0.002628f, -0.018049f, 0.007254f, 0.006084f, -0.026580f, 0.007830f, 0.013725f, -0.006998f, 0.014639f, 0.003551f, -0.015080f, -0.015255f, 0.017453f, -0.000237f, -0.034903f, 0.004494f, 0.003781f, 0.001616f, -0.003531f, 0.002206f, -0.004777f, 0.001027f, 0.010450f, -0.003040f, 0.001694f, 0.002786f, 0.003103f, -0.008632f, 0.002681f, - -0.002978f, 0.002451f, 0.006663f, 0.006896f, 0.005126f, 0.002413f, -0.005597f, 0.002652f, -0.000325f, -0.000493f, 0.002518f, -0.006408f, 0.000109f, 0.004444f, 0.006240f, -0.003988f, -0.002253f, -0.007509f, 0.001537f, 0.007951f, -0.007578f, 0.003210f, 0.002996f, -0.052684f, -0.017490f, 0.055060f, 0.015289f, 0.008792f, -0.008285f, -0.001482f, -0.008460f, 0.011230f, -0.017798f, 0.024070f, 0.013776f, 0.011285f, 0.011602f, -0.008527f, -0.000829f, -0.000993f, 0.007748f, 0.016200f, -0.024373f, -0.014473f, -0.007781f, 0.018523f, 0.006698f, 0.010331f, 0.011130f, -0.002546f, -0.017470f, 0.005727f, 0.001376f, 0.033630f, 0.026481f, 0.006953f, 0.020113f, 0.001092f, -0.009679f, 0.004161f, -0.002767f, -0.004622f, 0.012971f, 0.015922f, 0.013128f, 0.032537f, 0.015738f, 0.012760f, 0.014312f, -0.014769f, -0.024162f, -0.011349f, 0.011042f, -0.020628f, -0.010181f, 0.020034f, 0.021393f, 0.011714f, -0.009645f, 0.018902f, -0.007425f, 0.002053f, 0.004551f, 0.010854f, -0.005537f, -0.011806f, 0.006786f, -0.010648f, -0.033326f, 0.001441f, 0.010813f, -0.018190f, 0.002403f, -0.003286f, -0.004686f, -0.003337f, - -0.010765f, 0.027128f, -0.002804f, 0.015504f, -0.038876f, -0.037015f, -0.031313f, -0.014302f, 0.003222f, 0.003800f, -0.000990f, 0.002137f, -0.000631f, -0.008273f, 0.004089f, -0.009094f, -0.002646f, -0.003991f, 0.009521f, 0.001500f, 0.003465f, -0.007306f, -0.001316f, -0.006504f, -0.002325f, 0.005152f, 0.008230f, 0.008797f, 0.008490f, -0.000125f, -0.005629f, 0.004595f, 0.007484f, 0.004605f, 0.007452f, 0.002588f, -0.000674f, 0.003127f, 0.001098f, 0.001524f, -0.002197f, -0.005095f, 0.006025f, 0.006682f, -0.002174f, -0.001927f, -0.001448f, -0.001126f, 0.027113f, 0.042637f, -0.062846f, -0.008920f, 0.003724f, -0.000508f, -0.007554f, -0.015696f, 0.017180f, -0.020140f, -0.031986f, -0.003283f, 0.031184f, -0.004501f, -0.018273f, 0.005763f, -0.025555f, -0.013899f, 0.000987f, 0.016355f, -0.026786f, 0.002941f, 0.029172f, 0.029931f, 0.000749f, 0.010580f, 0.026144f, -0.014998f, -0.023413f, -0.032717f, 0.003138f, -0.032613f, -0.006993f, 0.013689f, 0.012870f, -0.028862f, -0.027238f, -0.016568f, 0.011684f, -0.007690f, -0.005116f, -0.007601f, 0.025959f, -0.038650f, -0.011331f, 0.005980f, -0.020861f, -0.007213f, - 0.000037f, -0.024395f, 0.001096f, 0.009992f, -0.001363f, 0.031913f, -0.002199f, -0.012968f, 0.002675f, -0.001647f, -0.010528f, 0.006098f, 0.015683f, -0.014576f, 0.022380f, -0.011105f, -0.041773f, 0.001929f, -0.016328f, -0.008969f, -0.001199f, -0.004497f, -0.055098f, -0.009276f, 0.025200f, 0.021765f, 0.015207f, 0.032835f, 0.033439f, -0.045334f, -0.005131f, 0.002892f, 0.009375f, -0.013193f, -0.022605f, -0.000451f, 0.010185f, 0.012050f, 0.010276f, 0.008021f, 0.003790f, 0.006466f, -0.012151f, 0.000044f, 0.007175f, -0.003834f, -0.002862f, 0.001326f, 0.002286f, 0.006504f, -0.007287f, 0.001310f, -0.002995f, 0.003038f, 0.004173f, -0.009689f, 0.001312f, -0.001008f, -0.006731f, 0.002815f, -0.001618f, 0.001256f, 0.000206f, -0.000178f, -0.008495f, 0.004276f, 0.000484f, 0.002226f, -0.005701f, -0.004206f, -0.003821f, -0.003550f, -0.060114f, 0.016755f, -0.011206f, 0.020461f, -0.019258f, -0.000228f, 0.031401f, -0.010538f, 0.044627f, 0.010244f, 0.008576f, -0.019224f, 0.008419f, 0.022112f, -0.013669f, -0.002796f, 0.028851f, 0.018588f, 0.021709f, 0.003051f, -0.033417f, 0.021210f, -0.021586f, -0.002036f, - -0.013023f, 0.003285f, -0.016621f, 0.009637f, -0.004352f, 0.009392f, 0.008938f, 0.015955f, 0.016176f, 0.017957f, -0.021334f, 0.005075f, 0.034016f, 0.007252f, -0.006133f, -0.006839f, -0.017113f, -0.013795f, -0.000092f, 0.001250f, 0.006107f, 0.028631f, 0.002450f, 0.015794f, 0.015294f, -0.001082f, -0.007317f, -0.006969f, 0.025972f, -0.030355f, -0.006622f, -0.026862f, -0.022150f, -0.006218f, 0.000167f, -0.045070f, 0.011697f, -0.014169f, 0.027584f, -0.005717f, 0.001184f, 0.019157f, 0.003899f, 0.046279f, 0.038204f, 0.055126f, 0.020828f, 0.002343f, -0.006428f, -0.005589f, -0.009321f, -0.002703f, -0.011082f, -0.030346f, 0.020535f, 0.025165f, 0.011967f, -0.004103f, 0.002782f, -0.021369f, -0.029110f, 0.013518f, 0.003562f, 0.004032f, -0.009411f, -0.003997f, -0.010210f, -0.005487f, 0.008879f, 0.002976f, 0.011649f, -0.000748f, 0.002529f, -0.006683f, 0.008094f, -0.024068f, -0.006451f, -0.000823f, -0.001065f, -0.004506f, 0.004128f, 0.001128f, 0.001440f, -0.001637f, -0.005993f, -0.001152f, -0.002574f, -0.001583f, 0.007376f, 0.000923f, 0.000792f, -0.004921f, 0.001466f, 0.001238f, -0.000536f, -0.010714f, - -0.007975f, -0.017605f, 0.023743f, -0.006931f, -0.005170f, 0.055384f, -0.011408f, -0.012159f, 0.061579f, -0.000858f, 0.035045f, 0.025869f, 0.002073f, 0.014524f, -0.008259f, 0.011394f, 0.010694f, 0.006802f, 0.008680f, 0.028471f, -0.019611f, 0.034306f, -0.018880f, -0.000562f, 0.007027f, -0.004613f, -0.024865f, -0.022190f, -0.000663f, -0.036034f, -0.011524f, -0.039366f, -0.002722f, -0.023377f, -0.017514f, -0.012791f, -0.011258f, 0.005898f, -0.031688f, 0.036794f, 0.005764f, -0.023860f, -0.017840f, -0.001112f, -0.004633f, -0.005826f, 0.009505f, 0.005073f, 0.036150f, 0.004174f, -0.000419f, -0.018450f, 0.003038f, 0.007515f, -0.001364f, -0.019683f, -0.008546f, 0.022714f, 0.024735f, -0.001443f, -0.021027f, 0.008621f, -0.004147f, 0.032297f, 0.035937f, -0.014015f, -0.009308f, -0.006618f, 0.004076f, -0.013784f, 0.014525f, -0.044713f, -0.004205f, 0.052899f, -0.047715f, -0.023493f, -0.011061f, 0.003449f, 0.004220f, 0.006332f, -0.004321f, 0.014180f, -0.008460f, -0.002365f, 0.025744f, -0.004037f, 0.018658f, -0.012612f, 0.018796f, -0.016439f, 0.012874f, 0.010508f, 0.025553f, -0.000519f, -0.004323f, 0.010803f, - 0.016821f, 0.001506f, -0.004028f, -0.002636f, 0.001712f, -0.009131f, -0.002785f, 0.008616f, 0.011354f, 0.003580f, -0.003680f, 0.011031f, -0.008613f, 0.009064f, 0.007569f, 0.008271f, 0.004554f, 0.000304f, -0.013429f, 0.013506f, 0.007983f, 0.006253f, 0.002966f, 0.006373f, 0.011815f, 0.002721f, -0.009269f, 0.004627f, -0.007554f, -0.005819f, 0.009779f, -0.002378f, 0.008466f, 0.009177f, -0.003581f, -0.006673f, 0.003776f, -0.032220f, -0.017657f, -0.005040f, 0.024936f, 0.030057f, 0.020600f, -0.019126f, -0.049087f, 0.084982f, 0.021379f, -0.053332f, -0.053509f, -0.008017f, 0.012958f, 0.036195f, -0.046553f, -0.008218f, 0.008693f, -0.000673f, -0.006695f, 0.048701f, 0.010450f, -0.028590f, 0.015266f, 0.002010f, -0.001367f, 0.025640f, -0.004678f, 0.014012f, -0.031741f, -0.010754f, 0.055776f, 0.020603f, 0.043984f, 0.013879f, 0.039766f, 0.006951f, -0.014606f, 0.027958f, 0.025483f, 0.039939f, 0.019669f, -0.045111f, -0.017105f, 0.009752f, 0.023316f, -0.018124f, 0.006878f, -0.017464f, -0.029167f, 0.002943f, -0.003372f, -0.017459f, 0.013569f, 0.018892f, 0.016408f, 0.011979f, 0.011249f, -0.008610f, - 0.030188f, -0.000249f, -0.029993f, -0.021789f, 0.027151f, 0.014709f, -0.047106f, 0.020474f, 0.008363f, 0.015133f, -0.041160f, -0.028148f, 0.026467f, 0.040873f, 0.023114f, -0.009204f, -0.044016f, 0.009946f, -0.001947f, 0.037520f, -0.012532f, -0.050481f, 0.021153f, 0.029424f, -0.011158f, 0.030624f, 0.025218f, 0.010379f, -0.020157f, 0.002626f, -0.000266f, 0.005873f, 0.002210f, -0.001388f, -0.010725f, -0.004528f, -0.013461f, -0.001417f, -0.002660f, 0.007012f, -0.008223f, -0.004956f, -0.002763f, -0.006186f, -0.003761f, -0.003301f, -0.003759f, 0.015615f, 0.004703f, 0.000159f, 0.015216f, -0.003809f, -0.014357f, -0.009671f, -0.007695f, -0.006237f, 0.000660f, -0.010501f, 0.004396f, 0.006333f, 0.005378f, 0.003973f, -0.013790f, -0.005395f, 0.011570f, 0.009510f, -0.001428f, 0.020299f, 0.039647f, 0.015284f, 0.041856f, 0.007018f, 0.019204f, 0.014305f, 0.069720f, 0.094859f, 0.007422f, 0.018987f, -0.060364f, -0.019179f, 0.036521f, -0.030760f, 0.071814f, -0.014287f, 0.011325f, 0.019346f, 0.042060f, 0.023329f, -0.010014f, -0.030467f, -0.035708f, -0.011784f, -0.005870f, -0.044781f, -0.021222f, -0.017819f, - 0.028737f, -0.016665f, 0.008560f, -0.028722f, 0.003828f, -0.011295f, -0.041903f, 0.043549f, 0.030208f, 0.035057f, 0.015444f, -0.021387f, -0.020705f, -0.048780f, 0.000901f, -0.043971f, -0.013356f, -0.003757f, 0.005797f, 0.022485f, 0.017743f, -0.014292f, -0.010125f, 0.018620f, 0.041185f, 0.011036f, 0.015747f, 0.030032f, -0.038306f, 0.027111f, -0.021759f, -0.020145f, -0.038676f, -0.016983f, 0.017686f, 0.014916f, 0.002465f, 0.045178f, -0.009901f, -0.016816f, 0.006926f, 0.011785f, 0.062116f, -0.020483f, 0.024901f, 0.024483f, -0.059713f, 0.000016f, 0.007461f, -0.013212f, -0.008800f, 0.020590f, -0.011851f, 0.001702f, 0.025301f, 0.013021f, -0.036749f, -0.044164f, -0.042594f, -0.019996f, -0.015855f, 0.035465f, 0.030963f, -0.008548f, -0.013538f, 0.001760f, 0.003931f, 0.023376f, -0.002644f, -0.007387f, 0.014532f, -0.002728f, -0.002424f, -0.006197f, 0.010526f, 0.014383f, -0.007654f, 0.013767f, 0.013010f, 0.013315f, 0.002351f, -0.005669f, 0.011771f, -0.008162f, 0.007052f, 0.014995f, 0.001106f, 0.008941f, 0.012005f, -0.020395f, -0.000890f, 0.009923f, 0.011097f, 0.014947f, 0.001759f, 0.013382f, - 0.000705f, 0.000862f, -0.004600f, 0.007684f, 0.011253f, 0.059425f, -0.014095f, 0.008686f, -0.026574f, -0.007613f, -0.035425f, 0.028147f, -0.050967f, 0.002342f, -0.041041f, 0.008121f, 0.017572f, 0.006377f, -0.024566f, 0.084186f, -0.005916f, -0.011326f, 0.007644f, -0.047915f, 0.002749f, -0.032376f, 0.001112f, 0.009098f, -0.009708f, -0.001104f, 0.019826f, -0.017594f, 0.000755f, 0.025478f, 0.002080f, 0.006446f, -0.041232f, 0.005249f, -0.003489f, -0.002572f, -0.010448f, -0.051149f, -0.028472f, 0.012639f, 0.004177f, 0.022709f, -0.059274f, 0.006462f, -0.055167f, 0.027969f, -0.037628f, -0.060181f, 0.030468f, 0.055486f, 0.009558f, 0.027292f, -0.041570f, 0.041157f, -0.010215f, 0.006144f, -0.025502f, 0.034280f, 0.013799f, 0.035596f, 0.011166f, 0.043189f, -0.039139f, 0.007473f, 0.002147f, -0.006709f, -0.031038f, -0.025301f, -0.029175f, 0.033096f, -0.008834f, 0.044980f, -0.027971f, -0.021455f, 0.005016f, 0.005991f, -0.025024f, 0.012985f, -0.014731f, -0.058589f, 0.025724f, 0.038812f, 0.064422f, 0.022537f, 0.045686f, -0.026421f, 0.000049f, -0.029788f, 0.048941f, 0.016508f, -0.009427f, -0.019522f, - 0.023210f, -0.016751f, -0.004760f, 0.002476f, -0.014828f, -0.024950f, -0.016678f, -0.011833f, -0.009969f, -0.033227f, -0.014516f, -0.027699f, 0.021274f, -0.005297f, 0.012609f, 0.024849f, 0.006482f, -0.018856f, -0.001903f, -0.018871f, -0.008194f, -0.028194f, -0.015672f, -0.029843f, -0.005334f, 0.048817f, 0.009843f, -0.003773f, 0.010841f, 0.014611f, -0.028386f, -0.013031f, -0.001785f, -0.003833f, -0.011868f, 0.012355f, -0.005720f, -0.043273f, -0.003882f, -0.009998f, -0.098361f, 0.012074f, -0.031423f, 0.091016f, -0.017132f, -0.045970f, 0.018275f, -0.002644f, -0.045797f, -0.007851f, 0.007622f, -0.027589f, 0.068717f, 0.009739f, 0.006592f, 0.031162f, -0.038645f, -0.059506f, -0.036661f, 0.083837f, -0.006694f, -0.017874f, 0.055421f, 0.031211f, -0.026435f, -0.026336f, -0.014809f, 0.066438f, 0.009322f, -0.016299f, -0.026009f, -0.012639f, -0.051947f, 0.034960f, -0.006052f, 0.014114f, 0.033417f, -0.011912f, -0.053798f, -0.006688f, 0.069382f, -0.003081f, -0.017304f, 0.033330f, -0.015193f, 0.041384f, 0.027243f, -0.003635f, -0.051266f, -0.026237f, -0.007028f, -0.047570f, -0.027843f, -0.027451f, 0.003722f, -0.006621f, - 0.040066f, -0.027975f, -0.009661f, -0.000265f, 0.103005f, 0.035718f, -0.017726f, 0.020768f, 0.012152f, -0.006134f, 0.052314f, 0.025361f, -0.019790f, 0.008132f, 0.042298f, 0.047717f, -0.029155f, -0.020874f, -0.069939f, -0.056222f, 0.031976f, -0.021034f, 0.034519f, -0.000995f, -0.041116f, 0.010012f, -0.003247f, 0.013007f, -0.027354f, -0.020924f, 0.038733f, 0.009751f, 0.005145f, -0.003883f, -0.004516f, 0.025678f, -0.012332f, 0.013209f, -0.006572f, 0.016010f, 0.032542f, 0.008616f, -0.023508f, 0.003845f, -0.009030f, 0.017697f, 0.014645f, 0.004824f, 0.021185f, 0.032907f, -0.012932f, 0.026541f, -0.002570f, -0.035288f, -0.009118f, 0.001103f, -0.019717f, 0.007917f, 0.025688f, -0.000507f, -0.013000f, 0.001571f, -0.004804f, 0.033480f, 0.028723f, 0.002909f, 0.013596f, 0.017245f, 0.009022f, 0.022363f, -0.028707f, -0.021377f, 0.010275f, 0.005765f, -0.006101f, -0.002553f, -0.004726f, -0.010740f, -0.010589f, -0.111164f, 0.038147f, -0.023810f, 0.059134f, 0.060123f, -0.034874f, 0.028379f, -0.059540f, -0.089399f, 0.002168f, -0.062881f, 0.008251f, -0.007892f, 0.048617f, -0.036132f, 0.034684f, 0.029750f, - 0.048762f, -0.074287f, 0.008089f, -0.045475f, -0.041667f, 0.004483f, -0.053786f, -0.034709f, 0.048795f, -0.014271f, 0.018522f, 0.056972f, -0.011316f, 0.018746f, -0.046973f, 0.005383f, -0.051790f, 0.047985f, -0.042932f, -0.028520f, -0.031693f, 0.053529f, 0.042908f, -0.030755f, 0.058676f, 0.038847f, -0.012417f, 0.058221f, -0.003248f, -0.061627f, -0.017028f, -0.007273f, -0.048012f, 0.010806f, -0.101583f, 0.010186f, -0.025843f, -0.048763f, -0.039371f, 0.045403f, -0.027120f, 0.094142f, 0.069967f, -0.105261f, 0.000048f, -0.002754f, 0.005056f, 0.048656f, -0.082630f, -0.057635f, 0.056852f, -0.047373f, -0.059185f, -0.068169f, 0.004623f, 0.140003f, 0.069609f, -0.065154f, -0.040993f, 0.005677f, 0.050989f, 0.019485f, -0.068093f, 0.010131f, -0.045475f, -0.026744f, -0.002372f, -0.008202f, 0.002677f, 0.044941f, 0.010679f, 0.026650f, 0.017726f, -0.052407f, 0.014142f, 0.023529f, -0.007344f, -0.018885f, 0.002834f, -0.044720f, 0.039879f, 0.014458f, 0.010954f, -0.059313f, 0.009970f, 0.030601f, 0.008706f, -0.014010f, -0.011021f, 0.026306f, -0.043203f, -0.002785f, -0.032199f, -0.017846f, 0.042479f, -0.044814f, - -0.001758f, 0.026719f, -0.022413f, 0.020950f, 0.025521f, 0.006629f, 0.003890f, 0.018683f, 0.006181f, -0.023844f, 0.034901f, -0.026868f, -0.020971f, -0.012192f, -0.036703f, -0.012682f, -0.034393f, -0.032969f, 0.011998f, 0.051605f, -0.059088f, 0.028396f, -0.098664f, -0.015528f, -0.038947f, -0.033998f, 0.050855f, -0.067630f, -0.105126f, 0.060074f, 0.090779f, 0.021426f, -0.018692f, -0.084069f, 0.004722f, 0.031828f, 0.031662f, -0.014732f, -0.034339f, 0.003417f, -0.009203f, -0.011659f, 0.009643f, -0.013022f, -0.028940f, -0.055286f, 0.005928f, -0.033555f, 0.007140f, -0.030150f, -0.063207f, 0.037934f, 0.027431f, 0.046814f, 0.000654f, 0.050696f, 0.027774f, 0.007047f, -0.017701f, -0.026945f, -0.043865f, -0.031220f, -0.018267f, 0.011507f, 0.028493f, -0.020444f, -0.010711f, -0.071517f, 0.065497f, 0.078232f, 0.042825f, -0.040779f, 0.041046f, -0.055456f, -0.001910f, 0.012080f, -0.121055f, 0.009279f, 0.010902f, 0.056219f, -0.072649f, 0.091961f, 0.035303f, -0.066697f, -0.038529f, 0.027410f, -0.012539f, -0.048964f, -0.060482f, -0.064521f, -0.088396f, 0.063951f, -0.028487f, 0.009750f, -0.134642f, -0.053560f, - 0.007303f, 0.001112f, 0.029753f, -0.021643f, 0.004510f, 0.022493f, 0.023080f, -0.064186f, -0.015568f, 0.010086f, 0.034502f, 0.025408f, -0.006417f, -0.024815f, -0.011382f, -0.005578f, 0.032148f, 0.005377f, -0.021600f, -0.002703f, -0.016991f, -0.006447f, 0.029659f, 0.013812f, -0.016040f, 0.032447f, -0.033423f, -0.019218f, -0.025172f, 0.031392f, -0.013462f, 0.003661f, -0.015426f, 0.013684f, -0.046142f, 0.006629f, 0.018021f, 0.007092f, -0.008818f, -0.019804f, -0.017886f, -0.023148f, 0.022052f, 0.004931f, -0.008518f, -0.026467f, 0.026535f, 0.001552f, 0.001136f, 0.003925f, -0.046961f, -0.022597f, -0.031027f, 0.003956f, -0.016113f, -0.009669f, -0.091649f, -0.012443f, 0.033008f, -0.043151f, -0.040269f, 0.037511f, 0.037956f, 0.007563f, -0.036427f, -0.123876f, -0.018510f, 0.024000f, 0.014409f, 0.053453f, -0.001525f, 0.031006f, -0.008428f, -0.000950f, -0.015941f, 0.002155f, 0.032362f, 0.003629f, 0.000946f, 0.031665f, -0.008896f, -0.007814f, -0.042229f, -0.003991f, -0.007155f, -0.004810f, 0.006752f, 0.025258f, 0.034219f, -0.006921f, -0.000455f, 0.027098f, -0.006635f, -0.052513f, -0.004092f, -0.046623f, - 0.006275f, 0.006254f, -0.061520f, 0.044161f, -0.084583f, 0.018746f, 0.022598f, -0.036934f, -0.003144f, 0.108940f, -0.031421f, 0.036739f, -0.023588f, 0.019423f, -0.082230f, 0.008755f, 0.047191f, -0.001323f, 0.040625f, -0.009636f, 0.003672f, -0.002691f, 0.052068f, -0.033937f, -0.041388f, 0.046748f, -0.043866f, -0.053357f, -0.001366f, -0.085206f, 0.056155f, 0.047261f, -0.017773f, 0.018250f, 0.007141f, -0.000500f, -0.073300f, -0.011933f, -0.006302f, 0.031995f, 0.011228f, -0.030575f, 0.028027f, -0.002049f, -0.037761f, -0.025034f, -0.023799f, 0.004953f, 0.004187f, -0.004997f, -0.001678f, 0.023235f, -0.023759f, -0.006532f, 0.015102f, -0.024363f, -0.014078f, 0.018873f, -0.025960f, 0.001727f, 0.021309f, 0.001480f, -0.007150f, 0.009746f, -0.001783f, 0.002304f, 0.018452f, -0.006970f, -0.006837f, -0.014702f, 0.005521f, -0.009233f, -0.009894f, 0.008627f, 0.009671f, -0.020712f, 0.002415f, -0.019325f, 0.017874f, -0.022014f, 0.011387f, -0.000004f, -0.004944f, 0.002377f, -0.005838f, -0.002418f, -0.001883f, -0.045345f, -0.136788f, -0.064387f, -0.021547f, 0.044479f, 0.100500f, -0.092358f, 0.019999f, -0.026836f, - -0.093142f, -0.013158f, 0.083404f, 0.022352f, 0.068680f, -0.058230f, 0.017129f, -0.020240f, 0.003916f, 0.040511f, 0.006727f, 0.021966f, -0.013300f, -0.118609f, 0.034993f, 0.005725f, -0.050449f, 0.051557f, 0.039285f, -0.035901f, 0.036305f, 0.004300f, -0.038735f, 0.011762f, -0.023988f, 0.074056f, 0.008958f, 0.029961f, 0.001297f, -0.076096f, -0.061043f, -0.020569f, -0.045270f, 0.049450f, 0.070963f, 0.073065f, 0.058697f, -0.020390f, 0.008070f, -0.059787f, -0.009156f, -0.006034f, -0.025299f, -0.031512f, 0.004935f, 0.005760f, -0.082289f, -0.024067f, -0.032271f, -0.002265f, 0.036625f, -0.040423f, -0.009496f, 0.014204f, -0.000088f, 0.042281f, -0.047029f, -0.001909f, -0.053256f, -0.027894f, -0.039423f, 0.021616f, 0.013917f, 0.042240f, -0.005918f, -0.004393f, -0.050229f, -0.015002f, -0.023972f, -0.006300f, 0.020896f, 0.028928f, 0.059205f, -0.038142f, 0.010578f, -0.033049f, 0.011609f, 0.022268f, 0.005946f, -0.018192f, -0.007720f, -0.006395f, -0.007728f, -0.002703f, 0.015393f, 0.016504f, -0.005008f, -0.001951f, -0.008272f, -0.011715f, 0.007301f, 0.016426f, 0.005227f, 0.001823f, 0.004096f, -0.013868f, - -0.016512f, -0.015111f, 0.024591f, -0.000715f, 0.016887f, 0.014246f, -0.002780f, -0.019463f, -0.021278f, 0.003102f, 0.005422f, -0.016152f, -0.005594f, -0.014059f, 0.009952f, -0.010190f, 0.003100f, 0.002946f, 0.010406f, -0.005502f, -0.006868f, 0.002651f, 0.003458f, 0.035520f, -0.057500f, -0.226750f, -0.119596f, 0.024483f, 0.095318f, 0.213397f, 0.163020f, 0.091835f, 0.030876f, 0.047889f, -0.015260f, -0.089787f, -0.173664f, -0.230975f, -0.058491f, -0.066958f, 0.003408f, 0.112470f, 0.160386f, 0.107574f, 0.143693f, 0.033081f, 0.030400f, -0.016828f, -0.072803f, -0.082384f, -0.066684f, -0.070793f, -0.087596f, -0.070189f, -0.030079f, -0.004516f, -0.001154f, 0.056096f, 0.072716f, 0.139180f, 0.065687f, 0.021654f, 0.057064f, 0.088827f, 0.028234f, 0.016952f, -0.071757f, -0.098103f, -0.160429f, -0.074100f, -0.084188f, -0.060860f, -0.036321f, -0.028436f, 0.011778f, 0.019759f, 0.067320f, 0.138051f, 0.110956f, 0.121202f, 0.089629f, 0.109962f, 0.081710f, -0.066132f, -0.060750f, -0.152793f, -0.118469f, -0.086605f, -0.194732f, -0.150514f, -0.092215f, 0.007320f, 0.117842f, 0.112447f, 0.132726f, 0.166136f, - 0.141916f, 0.076526f, 0.092062f, 0.003681f, -0.036237f, -0.097434f, -0.141674f, -0.142106f, -0.117444f, -0.070458f, -0.015365f, 0.020281f, 0.034131f, 0.039456f, 0.065527f, 0.047511f, 0.076672f, 0.048680f, 0.019043f, 0.012608f, -0.003139f, -0.007500f, -0.002032f, -0.053098f, -0.037334f, -0.007440f, -0.024927f, -0.063430f, -0.018055f, -0.022719f, -0.023852f, -0.004317f, 0.047234f, 0.089823f, 0.074182f, 0.007932f, 0.072904f, 0.051641f, -0.009840f, -0.060120f, -0.095598f, -0.088546f, -0.040414f, -0.043797f, -0.027733f, -0.015134f, 0.025004f, 0.055715f, 0.076832f, 0.087766f, 0.062847f, 0.024808f, 0.026731f, -0.016684f, -0.048214f, -0.080638f, -0.072657f, -0.031919f, -0.003550f, -0.023539f, -0.008044f, 0.023347f, 0.029196f, 0.030596f, 0.028668f, 0.007583f, 0.011745f, 0.018701f, -0.003557f, -0.016711f, 0.000197f, 0.006129f, -0.012697f, -0.013741f, -0.002277f, 0.005599f, 0.003718f, -0.008548f, -0.004716f, 0.004309f, 0.001632f, -0.005942f, -0.007926f, -0.003263f, 0.000861f, -0.000134f, -0.000168f}, - {-0.002911f, -0.004136f, -0.007931f, 0.004600f, 0.007370f, 0.013094f, 0.003518f, -0.009232f, -0.016407f, 0.003534f, -0.007678f, 0.000630f, 0.005118f, 0.001980f, 0.013230f, -0.010984f, -0.002727f, -0.001512f, -0.000896f, -0.009432f, 0.005771f, 0.002436f, 0.001183f, 0.000234f, -0.004624f, -0.003555f, -0.003358f, -0.001093f, 0.000432f, 0.002198f, -0.003496f, 0.005031f, 0.011839f, -0.000397f, 0.005243f, -0.008433f, -0.004915f, -0.010089f, -0.004891f, 0.010681f, 0.000481f, -0.002199f, 0.001871f, 0.011333f, 0.001192f, 0.005692f, -0.001465f, -0.005340f, -0.001702f, 0.006464f, -0.005600f, 0.010153f, 0.006228f, 0.011450f, 0.005626f, 0.000717f, -0.003543f, -0.007613f, -0.004247f, -0.006619f, -0.001054f, -0.004833f, 0.001872f, 0.000414f, -0.002634f, 0.001671f, -0.002269f, 0.004092f, -0.001064f, -0.001138f, 0.005754f, -0.000583f, -0.000455f, 0.000768f, -0.005651f, 0.002550f, -0.004148f, -0.006621f, -0.003855f, -0.002913f, 0.002835f, -0.000548f, -0.000506f, -0.007507f, -0.001295f, 0.001957f, 0.001430f, -0.002981f, 0.000234f, -0.002946f, 0.001272f, 0.002111f, 0.001522f, 0.000597f, -0.000570f, -0.001195f, - 0.000296f, -0.002315f, -0.001306f, 0.000518f, 0.000294f, 0.001038f, 0.000950f, 0.000937f, 0.000152f, -0.022863f, -0.005182f, 0.009372f, 0.001638f, 0.012779f, 0.006812f, -0.010526f, 0.002768f, -0.000232f, 0.004180f, -0.003771f, -0.017561f, 0.010130f, 0.006199f, 0.011608f, 0.014502f, 0.012493f, 0.004370f, 0.000167f, -0.017894f, -0.001846f, 0.008200f, -0.008156f, -0.007088f, -0.018676f, -0.001267f, -0.003126f, -0.002174f, -0.004755f, 0.002199f, -0.011149f, 0.005070f, -0.001957f, 0.004703f, 0.001387f, -0.007509f, 0.005782f, 0.004811f, 0.012951f, -0.001523f, -0.010376f, -0.005375f, 0.005614f, 0.002242f, -0.002597f, 0.000521f, 0.004133f, 0.000521f, -0.007582f, -0.000089f, 0.001596f, -0.000825f, 0.000480f, -0.004803f, -0.002098f, -0.006390f, -0.001312f, 0.007826f, 0.002804f, -0.002700f, 0.003352f, -0.001040f, -0.000404f, 0.001170f, -0.009103f, -0.000858f, -0.000451f, 0.005070f, 0.009858f, -0.002937f, -0.000993f, -0.006381f, -0.004923f, 0.002494f, 0.011218f, -0.009950f, -0.001552f, 0.002524f, -0.000537f, -0.002721f, -0.000171f, -0.002653f, 0.003655f, 0.003808f, 0.002030f, 0.006207f, -0.002960f, - -0.001944f, -0.000634f, 0.001438f, -0.001421f, 0.000231f, 0.001014f, 0.000860f, -0.000736f, -0.002650f, 0.001956f, -0.002639f, 0.012643f, 0.004745f, 0.004273f, -0.004240f, 0.000333f, 0.001189f, 0.001212f, -0.021709f, -0.011739f, -0.000984f, -0.005400f, -0.006719f, -0.000333f, -0.005657f, -0.022091f, 0.013167f, 0.003030f, 0.005960f, -0.002322f, 0.004535f, -0.005838f, 0.000280f, 0.000798f, 0.011383f, -0.004044f, -0.002398f, -0.001899f, -0.001924f, -0.001817f, -0.000806f, 0.012340f, -0.002389f, -0.000181f, -0.007026f, -0.000391f, -0.003392f, 0.004012f, 0.002029f, -0.011949f, 0.009269f, -0.012095f, -0.000231f, 0.010611f, -0.001519f, 0.000398f, 0.000809f, -0.000244f, -0.007412f, -0.005267f, 0.012181f, 0.007044f, -0.015095f, -0.008067f, 0.002389f, -0.008863f, -0.006431f, 0.006461f, -0.010864f, 0.002112f, 0.002632f, 0.006213f, 0.012974f, 0.009946f, 0.006085f, 0.004648f, -0.008839f, -0.009216f, -0.007891f, 0.002565f, 0.011290f, 0.004364f, -0.001936f, -0.005042f, 0.003702f, -0.004262f, -0.001858f, 0.002630f, -0.004185f, -0.006344f, -0.000853f, 0.005086f, -0.000921f, -0.004330f, 0.000577f, 0.000042f, - 0.004956f, 0.002064f, 0.004578f, 0.001043f, -0.002098f, -0.002152f, -0.001721f, -0.000899f, -0.000575f, 0.001472f, 0.002880f, 0.003422f, 0.003600f, 0.016594f, -0.004063f, -0.004241f, -0.004974f, 0.004680f, -0.005565f, 0.008114f, -0.015740f, -0.002017f, 0.011676f, 0.006113f, -0.011838f, 0.008759f, 0.014378f, 0.013569f, 0.008653f, 0.001659f, -0.000540f, -0.008875f, -0.011445f, 0.004854f, -0.001101f, 0.011471f, -0.000901f, 0.006859f, -0.007150f, -0.004758f, -0.003837f, 0.001135f, 0.003654f, -0.000651f, -0.013977f, 0.002947f, 0.004840f, 0.003515f, 0.006024f, 0.003695f, -0.007586f, -0.018677f, -0.006015f, 0.002733f, 0.003600f, 0.000877f, -0.000803f, 0.003541f, -0.007664f, -0.000128f, -0.013917f, 0.006501f, -0.014359f, -0.003789f, -0.006090f, -0.009450f, 0.006891f, 0.003045f, 0.002921f, -0.008252f, -0.004014f, -0.002431f, -0.008276f, 0.000780f, -0.000705f, 0.004418f, -0.003549f, -0.006969f, -0.005320f, -0.016529f, 0.005247f, 0.001912f, 0.007096f, 0.010465f, 0.013367f, 0.005215f, -0.005270f, -0.007877f, -0.003719f, 0.007261f, 0.007244f, -0.008209f, 0.008948f, 0.000378f, -0.005821f, 0.012902f, - -0.002504f, 0.002908f, 0.002188f, 0.003784f, -0.000232f, -0.002885f, 0.000836f, 0.004008f, 0.001439f, -0.000637f, 0.004343f, -0.002277f, -0.001783f, -0.003154f, 0.001489f, 0.000390f, -0.001613f, 0.002374f, -0.002304f, -0.004154f, -0.001742f, 0.003147f, -0.000758f, -0.000725f, 0.001135f, 0.008308f, 0.007676f, -0.001316f, 0.005436f, -0.016031f, 0.001907f, -0.007652f, 0.000862f, 0.002397f, -0.010063f, 0.003689f, 0.029534f, 0.003234f, -0.002585f, -0.016606f, 0.023781f, -0.000045f, 0.010003f, 0.001189f, -0.000471f, -0.012904f, 0.012565f, 0.003226f, -0.006905f, 0.001647f, 0.000976f, -0.005148f, 0.005097f, 0.013223f, -0.003818f, 0.014061f, -0.004133f, 0.006018f, -0.000195f, 0.009274f, 0.008263f, 0.009235f, 0.000130f, -0.005025f, 0.007260f, -0.005296f, 0.006398f, -0.001818f, 0.006450f, 0.006248f, 0.006012f, -0.000775f, -0.001812f, 0.002402f, -0.005166f, -0.007507f, -0.019167f, 0.012546f, -0.012383f, 0.008682f, 0.001137f, 0.003657f, -0.002211f, -0.022892f, -0.004930f, -0.006179f, -0.011125f, 0.001518f, 0.006967f, -0.014704f, -0.004625f, 0.006639f, 0.001252f, 0.010404f, 0.018186f, -0.000494f, - -0.004889f, -0.004341f, -0.018849f, 0.005792f, 0.003679f, -0.004218f, 0.001018f, 0.007498f, 0.007716f, 0.002230f, 0.001988f, 0.005429f, 0.000652f, -0.000829f, 0.008124f, 0.004774f, -0.004423f, 0.008288f, 0.006084f, 0.008137f, 0.002527f, -0.001381f, 0.000614f, -0.000525f, -0.000518f, -0.003001f, 0.001093f, -0.001820f, 0.001917f, -0.002301f, 0.003824f, 0.001369f, 0.000396f, 0.003150f, 0.000310f, -0.000946f, 0.000919f, -0.000671f, -0.000240f, -0.001071f, 0.003809f, 0.002323f, 0.000808f, 0.002704f, -0.000818f, 0.004298f, 0.000596f, 0.001385f, -0.008373f, -0.010114f, -0.000981f, 0.005448f, -0.003240f, -0.004879f, -0.007374f, 0.002158f, 0.013409f, 0.006020f, 0.002108f, -0.030481f, -0.013998f, -0.004242f, 0.006233f, -0.003631f, 0.010310f, 0.034805f, 0.010817f, -0.012765f, 0.001980f, -0.015103f, -0.004906f, 0.010608f, -0.012043f, -0.003042f, 0.015514f, 0.003762f, -0.003894f, 0.002224f, 0.008771f, -0.005262f, 0.004249f, 0.004633f, 0.004550f, -0.008617f, 0.003939f, -0.004023f, -0.004944f, -0.012739f, -0.004975f, -0.007439f, -0.014219f, 0.006236f, 0.000483f, -0.000948f, 0.014342f, 0.010497f, - 0.003672f, 0.011539f, 0.000063f, -0.014576f, 0.012283f, -0.001374f, -0.010002f, -0.007866f, -0.014519f, 0.000677f, 0.017472f, 0.001212f, -0.007702f, 0.007445f, -0.013023f, -0.008131f, 0.006731f, -0.010515f, -0.014024f, -0.007345f, -0.004425f, 0.007921f, -0.012392f, -0.003809f, -0.005771f, 0.015944f, 0.002292f, -0.005509f, 0.007809f, -0.004766f, -0.005812f, 0.000918f, 0.012611f, -0.002357f, 0.000833f, 0.006996f, 0.003994f, -0.016090f, -0.000616f, 0.009836f, 0.004670f, 0.005737f, -0.001313f, -0.003114f, 0.007223f, -0.004299f, 0.001245f, -0.003523f, 0.002059f, 0.002723f, 0.003734f, -0.008155f, 0.000048f, 0.000855f, 0.002055f, 0.000503f, 0.000087f, 0.003822f, -0.000716f, -0.000726f, -0.003602f, 0.002809f, 0.010595f, 0.007651f, -0.019786f, 0.018755f, -0.007078f, 0.001720f, -0.008654f, 0.016061f, -0.002289f, -0.010839f, -0.035324f, -0.004723f, 0.018318f, 0.004528f, -0.027541f, 0.012539f, -0.000028f, -0.005650f, -0.008838f, -0.007167f, -0.002728f, -0.016389f, -0.002771f, 0.013227f, 0.017231f, 0.020502f, 0.012446f, 0.018694f, -0.006137f, 0.014722f, 0.007095f, -0.029095f, -0.000693f, 0.007556f, - 0.010322f, 0.005024f, -0.010034f, 0.000557f, -0.002100f, 0.010250f, -0.017439f, -0.006283f, 0.012953f, -0.004294f, 0.007281f, 0.003811f, -0.011618f, -0.012915f, -0.006666f, -0.019344f, -0.005507f, -0.005954f, 0.007931f, 0.002860f, -0.011186f, -0.002588f, -0.023881f, -0.006039f, 0.009745f, -0.006999f, -0.023598f, -0.000375f, 0.013398f, -0.028650f, 0.008300f, 0.004739f, 0.009096f, -0.013599f, -0.006314f, -0.012928f, 0.000996f, -0.003903f, -0.014620f, -0.003876f, -0.002461f, 0.008760f, 0.004958f, 0.021374f, 0.001357f, 0.000193f, 0.003411f, -0.001659f, -0.010849f, 0.013495f, 0.004716f, -0.005611f, 0.011857f, 0.002110f, -0.005895f, 0.001912f, -0.000371f, 0.007168f, 0.001653f, 0.001370f, 0.004492f, -0.003893f, 0.000163f, -0.004178f, -0.000010f, -0.003342f, 0.003300f, -0.001399f, 0.001430f, 0.003989f, 0.000576f, -0.002628f, 0.003760f, 0.000876f, 0.004002f, 0.001013f, -0.001155f, -0.021898f, 0.004923f, 0.017601f, 0.022670f, 0.016905f, 0.017264f, 0.006690f, -0.011919f, 0.012104f, 0.020953f, -0.030928f, 0.015563f, 0.015564f, -0.033139f, -0.008667f, 0.008183f, 0.035809f, -0.002757f, -0.002239f, - -0.008492f, -0.009987f, 0.044291f, 0.021981f, 0.006187f, 0.005573f, 0.022987f, -0.000382f, -0.003463f, -0.008544f, 0.003461f, -0.019870f, -0.017944f, -0.004066f, 0.005593f, 0.013357f, 0.006072f, 0.003061f, -0.006757f, 0.001327f, -0.014590f, 0.006121f, -0.021638f, 0.021264f, -0.002352f, -0.010534f, -0.012431f, -0.014170f, -0.021832f, 0.003820f, -0.021133f, -0.007071f, 0.014541f, -0.003330f, -0.007226f, -0.006919f, -0.003368f, -0.018047f, -0.012553f, -0.008109f, -0.007693f, -0.004086f, 0.006670f, 0.003759f, 0.001119f, 0.001011f, -0.015972f, 0.027571f, 0.015836f, 0.000432f, -0.002010f, 0.036250f, -0.004350f, -0.006208f, -0.008872f, -0.018300f, -0.005011f, 0.012150f, 0.011655f, -0.001744f, 0.014179f, -0.028110f, 0.008343f, -0.010694f, 0.002712f, 0.010884f, -0.003760f, -0.000205f, 0.001779f, 0.000968f, 0.003492f, -0.004384f, 0.005261f, 0.006790f, -0.006324f, 0.002657f, 0.003567f, 0.004443f, 0.011522f, -0.008611f, -0.000777f, 0.001261f, -0.000203f, 0.002735f, 0.001289f, 0.002854f, 0.003638f, -0.003103f, 0.002341f, -0.000942f, 0.000289f, -0.006130f, -0.001324f, -0.001415f, 0.005257f, 0.040783f, - 0.013930f, 0.008630f, 0.019795f, -0.022339f, -0.013442f, 0.012780f, 0.013594f, 0.030272f, 0.004381f, 0.008444f, -0.020379f, -0.001163f, 0.010058f, -0.026714f, -0.008620f, 0.010745f, -0.008934f, 0.000371f, 0.007309f, 0.019804f, -0.006717f, 0.007760f, 0.004035f, 0.004383f, 0.016865f, 0.014735f, 0.017974f, -0.014135f, -0.009497f, 0.019523f, -0.024757f, -0.008188f, -0.008231f, -0.001634f, -0.006729f, -0.015784f, 0.015346f, -0.000531f, -0.017097f, 0.000826f, -0.006765f, -0.017756f, -0.022189f, -0.012302f, -0.013323f, 0.026182f, -0.008387f, -0.006649f, -0.015558f, -0.001276f, -0.007947f, 0.004057f, 0.030806f, -0.005776f, -0.010150f, 0.005258f, -0.001887f, 0.017807f, -0.020720f, 0.034972f, 0.006955f, -0.033650f, -0.024519f, 0.008872f, -0.022707f, 0.000368f, -0.024309f, 0.000107f, 0.005128f, -0.003109f, 0.026140f, 0.032829f, -0.015672f, 0.003974f, -0.006497f, -0.024307f, -0.009135f, -0.013244f, -0.015914f, -0.003660f, 0.011872f, -0.008261f, -0.018745f, 0.012356f, 0.000748f, -0.010138f, -0.008616f, 0.004062f, 0.006869f, -0.003031f, -0.002024f, -0.009549f, 0.000449f, -0.008819f, -0.001836f, -0.004426f, - 0.006069f, 0.006914f, 0.001589f, -0.008759f, 0.000859f, 0.000544f, 0.005570f, -0.000146f, -0.002242f, 0.000450f, -0.011049f, -0.001229f, -0.006267f, -0.004418f, 0.000772f, 0.002449f, -0.005848f, 0.004455f, -0.003439f, -0.003169f, 0.007367f, -0.003005f, -0.007354f, -0.035587f, 0.013658f, 0.074054f, -0.012638f, -0.000696f, -0.032204f, -0.013458f, 0.022100f, -0.003040f, 0.042537f, 0.025614f, 0.023677f, 0.000318f, 0.018307f, -0.034533f, 0.031716f, 0.016514f, 0.001652f, 0.004283f, -0.019955f, 0.008897f, -0.000142f, 0.032332f, 0.018106f, 0.021598f, -0.007642f, 0.002249f, 0.005752f, -0.021453f, -0.017283f, -0.007782f, 0.010028f, 0.037691f, -0.010252f, -0.012508f, -0.012626f, -0.006987f, 0.005031f, -0.023701f, -0.006777f, -0.001413f, -0.012621f, -0.025096f, -0.005187f, -0.031879f, -0.011502f, 0.019027f, -0.022133f, -0.009566f, -0.004241f, 0.001971f, -0.035962f, -0.021595f, -0.004559f, -0.003591f, -0.006743f, 0.022964f, 0.010169f, 0.001705f, 0.013894f, 0.023655f, -0.014286f, -0.005781f, -0.019541f, 0.009173f, -0.015334f, 0.013406f, 0.015312f, 0.018423f, 0.033257f, 0.009604f, -0.024756f, -0.003831f, - 0.055631f, 0.018301f, 0.031349f, 0.015274f, 0.009635f, -0.001907f, 0.003956f, -0.012888f, -0.016613f, 0.007816f, 0.005698f, -0.016415f, 0.004601f, 0.011896f, 0.010699f, -0.015746f, 0.012695f, 0.004528f, 0.009197f, 0.010742f, 0.000094f, 0.005328f, 0.008897f, 0.003866f, 0.010416f, -0.000757f, 0.002384f, -0.002948f, -0.006756f, 0.001778f, 0.009116f, 0.001621f, -0.003726f, 0.014718f, 0.009380f, 0.008150f, 0.000493f, -0.001442f, -0.002194f, -0.000071f, 0.000669f, -0.002040f, 0.005244f, 0.004269f, 0.004168f, 0.004706f, 0.002400f, -0.007363f, 0.038151f, 0.041809f, -0.042148f, 0.010368f, 0.030970f, 0.018726f, -0.011736f, -0.022408f, -0.019388f, 0.043577f, 0.003596f, 0.016419f, 0.022863f, -0.012969f, 0.006469f, 0.009598f, -0.026626f, -0.028281f, 0.023041f, 0.007865f, -0.041212f, -0.009477f, 0.053619f, 0.025742f, -0.000088f, -0.030536f, 0.010049f, 0.008084f, 0.032610f, 0.010816f, -0.015878f, 0.021376f, 0.003789f, -0.008935f, -0.003086f, -0.006408f, -0.025416f, -0.011976f, 0.003905f, 0.004434f, -0.030344f, -0.032714f, -0.019384f, -0.009353f, -0.036040f, 0.021472f, -0.002250f, -0.025551f, - 0.004884f, 0.000663f, -0.011106f, -0.003046f, 0.007739f, -0.000148f, 0.008145f, 0.009514f, 0.014523f, -0.014191f, -0.016915f, 0.022409f, 0.045307f, 0.020580f, 0.012369f, 0.033116f, -0.006207f, 0.018077f, 0.044033f, 0.027000f, 0.004139f, 0.004989f, -0.013781f, -0.026885f, 0.026190f, -0.025606f, 0.011526f, -0.010212f, 0.008000f, -0.033540f, 0.016109f, -0.000365f, -0.011006f, -0.006266f, 0.019091f, -0.018049f, -0.009138f, -0.004620f, 0.002890f, -0.000368f, 0.005638f, -0.007117f, -0.000926f, -0.012870f, -0.003298f, -0.000688f, 0.002362f, -0.003810f, 0.004462f, -0.004785f, 0.003867f, -0.004277f, 0.014638f, 0.004652f, -0.003784f, -0.006742f, 0.005532f, 0.000684f, 0.005073f, 0.004674f, -0.003515f, 0.004217f, 0.005384f, -0.003543f, 0.001406f, 0.006736f, -0.002023f, 0.002432f, 0.007326f, 0.007785f, 0.013394f, -0.008605f, -0.039558f, 0.011099f, -0.019073f, -0.008799f, -0.014743f, -0.002490f, 0.033859f, 0.033532f, -0.067852f, 0.020986f, 0.021531f, -0.021087f, -0.034521f, -0.045016f, 0.007937f, -0.013235f, 0.008329f, -0.015723f, -0.012360f, -0.007323f, 0.041997f, 0.010619f, -0.003661f, -0.000742f, - -0.006694f, -0.012576f, 0.010620f, 0.006964f, -0.000200f, 0.016825f, 0.003659f, -0.003580f, 0.005999f, 0.015266f, 0.043343f, 0.004331f, 0.005333f, -0.021449f, -0.009173f, -0.010171f, -0.010788f, -0.001345f, -0.003614f, 0.014324f, 0.020732f, 0.000949f, 0.023952f, -0.005602f, -0.004056f, -0.004948f, -0.002675f, -0.042056f, 0.047381f, 0.001181f, 0.003352f, -0.003529f, -0.012324f, 0.012534f, -0.003254f, 0.019194f, 0.001085f, -0.018442f, 0.004975f, 0.020351f, -0.014514f, 0.018896f, 0.004602f, -0.029023f, -0.004953f, -0.006245f, -0.052708f, -0.018044f, 0.013472f, 0.013569f, -0.021539f, -0.012431f, 0.012578f, 0.001704f, 0.035223f, -0.028113f, 0.012783f, 0.015680f, -0.002281f, 0.013707f, 0.012771f, 0.015543f, 0.006001f, 0.006892f, 0.006303f, 0.005120f, -0.002346f, -0.002923f, -0.009098f, 0.003579f, 0.013164f, 0.002294f, -0.009659f, -0.003810f, -0.005458f, 0.003068f, -0.004232f, -0.003635f, -0.006434f, 0.008469f, 0.004835f, 0.005757f, 0.000622f, -0.015398f, 0.006126f, -0.015650f, 0.001195f, 0.002430f, 0.005500f, -0.007460f, -0.003569f, -0.002379f, 0.005047f, 0.009266f, 0.004221f, 0.003864f, - 0.001311f, -0.011055f, 0.034452f, 0.009851f, 0.010544f, -0.025426f, 0.018774f, -0.010243f, 0.017882f, -0.014250f, 0.023092f, -0.021242f, -0.017349f, 0.031785f, 0.003853f, 0.008041f, -0.019127f, -0.042626f, -0.004201f, 0.012303f, 0.003167f, 0.018120f, -0.015322f, 0.002239f, -0.000352f, -0.031858f, -0.023027f, 0.010390f, -0.036000f, -0.023606f, 0.011278f, 0.000036f, -0.037640f, -0.005475f, -0.018838f, 0.023775f, 0.014166f, 0.004198f, -0.008907f, -0.023592f, -0.050067f, 0.017485f, -0.022526f, 0.027198f, -0.008418f, -0.009240f, -0.004803f, -0.013354f, 0.007414f, 0.007038f, -0.040068f, -0.017719f, 0.039079f, 0.034223f, -0.035652f, 0.045966f, 0.002194f, 0.033816f, -0.008323f, -0.008262f, -0.004470f, -0.013511f, 0.017440f, -0.013318f, -0.037404f, -0.019884f, 0.044018f, -0.010026f, -0.009086f, -0.002599f, 0.013500f, 0.008645f, 0.022140f, -0.050928f, 0.014793f, 0.034453f, 0.027057f, -0.011269f, -0.003047f, -0.011096f, -0.023197f, 0.002450f, 0.020911f, 0.032621f, -0.020328f, -0.020542f, -0.023280f, -0.002507f, -0.003972f, 0.001984f, -0.011275f, 0.005567f, 0.005566f, -0.004079f, -0.001826f, -0.005125f, - -0.010289f, 0.009656f, 0.000005f, 0.001309f, -0.015516f, -0.013077f, -0.003643f, -0.016904f, -0.006718f, -0.008576f, 0.001657f, -0.006132f, -0.000191f, 0.012675f, -0.005433f, 0.005167f, -0.000397f, -0.012217f, 0.002132f, -0.006267f, -0.001789f, 0.004961f, 0.011062f, 0.001386f, 0.004503f, 0.010337f, 0.010253f, 0.013698f, -0.004656f, -0.004002f, -0.002772f, 0.014048f, -0.002460f, -0.023276f, -0.001556f, 0.023827f, 0.018487f, -0.018025f, -0.030698f, -0.025756f, -0.015138f, -0.029845f, -0.001683f, 0.014093f, 0.032714f, -0.005689f, -0.001588f, -0.054818f, 0.032797f, 0.040852f, -0.006508f, -0.022243f, -0.022610f, -0.014013f, 0.061494f, -0.037486f, -0.000163f, -0.004442f, 0.016575f, -0.002776f, 0.070843f, 0.001710f, -0.038608f, -0.010172f, -0.036694f, 0.047831f, 0.041567f, -0.033593f, 0.039098f, 0.009791f, 0.031465f, 0.011773f, -0.059208f, 0.018549f, 0.031612f, -0.040990f, -0.011417f, -0.046508f, -0.023287f, 0.001608f, -0.042890f, -0.036555f, -0.001096f, -0.029615f, -0.000471f, 0.010416f, -0.010660f, -0.029372f, 0.024062f, 0.021874f, -0.048427f, -0.036960f, 0.020159f, 0.008541f, 0.012933f, 0.024536f, - 0.031976f, -0.011772f, -0.017456f, -0.000977f, -0.011339f, -0.000591f, -0.003662f, -0.016202f, 0.006373f, -0.067119f, 0.022810f, 0.032690f, -0.034706f, -0.028505f, 0.021586f, -0.021817f, -0.019879f, -0.009406f, 0.012046f, 0.001755f, 0.041596f, 0.000372f, 0.024273f, -0.002339f, -0.017046f, 0.009100f, 0.012498f, 0.013104f, -0.011024f, 0.000351f, 0.001279f, -0.001461f, -0.007102f, -0.016551f, 0.010911f, 0.017584f, -0.009032f, -0.029180f, 0.007392f, 0.002603f, 0.030950f, -0.002889f, -0.012183f, 0.009672f, 0.003397f, 0.015597f, -0.000070f, -0.009361f, 0.000178f, 0.012747f, 0.009376f, 0.003258f, -0.003382f, 0.002499f, -0.005817f, -0.004742f, -0.014609f, 0.007418f, 0.006924f, -0.009839f, 0.004770f, 0.004518f, 0.002628f, -0.001558f, -0.004943f, 0.001404f, -0.014007f, 0.015611f, 0.037881f, 0.070725f, 0.111310f, 0.003843f, -0.044273f, -0.057148f, -0.013025f, 0.002793f, -0.013265f, 0.054310f, 0.040835f, 0.028414f, 0.047249f, 0.034540f, 0.027993f, 0.002359f, 0.022645f, -0.028300f, 0.040984f, 0.047358f, 0.003648f, 0.049252f, -0.019608f, 0.004511f, 0.011769f, -0.044956f, -0.030107f, -0.010263f, - -0.026585f, -0.031352f, -0.004263f, 0.050617f, -0.000219f, -0.009136f, 0.006700f, 0.011240f, -0.006332f, -0.067383f, -0.008850f, 0.018309f, -0.009568f, -0.020265f, 0.008837f, 0.026819f, 0.047088f, 0.012059f, 0.024225f, 0.033565f, 0.041111f, -0.055590f, -0.038496f, 0.022655f, -0.015874f, 0.072012f, -0.006964f, 0.062002f, -0.049080f, 0.029885f, 0.050526f, 0.002487f, 0.008609f, 0.030629f, -0.053695f, -0.024575f, 0.001892f, 0.031536f, 0.001356f, 0.036214f, 0.014927f, 0.013999f, 0.036775f, 0.013719f, -0.004325f, -0.014664f, -0.042392f, -0.009300f, 0.002981f, 0.012009f, 0.001356f, 0.001577f, 0.001452f, -0.022741f, 0.012661f, 0.008808f, 0.020757f, -0.006329f, 0.015737f, 0.025567f, 0.015301f, 0.006959f, 0.000415f, -0.002323f, 0.005752f, -0.007965f, 0.005600f, -0.007583f, 0.000748f, 0.005791f, 0.005573f, -0.006628f, 0.011687f, 0.011506f, 0.014113f, 0.002188f, 0.001577f, 0.006360f, -0.004392f, 0.009947f, -0.006434f, 0.010040f, 0.022005f, -0.001951f, -0.003640f, 0.002312f, 0.019196f, -0.010843f, 0.004893f, -0.001576f, -0.002292f, -0.002894f, 0.003052f, 0.005818f, 0.008902f, 0.007054f, - 0.006904f, 0.017992f, -0.011733f, 0.021226f, -0.009554f, 0.079981f, 0.027006f, 0.028464f, 0.058470f, -0.003674f, 0.012847f, 0.025783f, 0.037770f, -0.040800f, -0.032616f, -0.013529f, -0.035830f, -0.005803f, -0.048337f, 0.025733f, 0.039622f, 0.029105f, 0.039353f, -0.025546f, -0.013932f, 0.030552f, 0.023856f, -0.015794f, 0.039904f, 0.024220f, -0.008468f, -0.047527f, 0.027313f, 0.029846f, -0.023885f, -0.003081f, 0.014624f, 0.007489f, -0.038209f, 0.045257f, 0.012536f, 0.048538f, 0.026790f, 0.019348f, -0.025476f, 0.022926f, -0.013247f, 0.073680f, -0.057023f, 0.006840f, 0.022699f, -0.010426f, -0.036587f, 0.024266f, 0.023930f, -0.004064f, 0.023558f, -0.021801f, 0.060291f, -0.027150f, 0.016370f, 0.013463f, -0.037223f, -0.015949f, -0.051642f, 0.022715f, 0.015972f, -0.038436f, 0.036981f, 0.031524f, -0.026255f, 0.022731f, -0.002229f, 0.060964f, 0.020450f, -0.029838f, -0.021516f, -0.021246f, 0.019742f, -0.012209f, 0.016936f, -0.007327f, 0.004271f, 0.020661f, 0.013503f, 0.010496f, -0.019220f, 0.052400f, 0.006472f, -0.019828f, -0.028872f, 0.025480f, 0.013228f, 0.024058f, -0.012841f, 0.007261f, - 0.019569f, 0.039560f, 0.010717f, -0.006194f, 0.033427f, -0.008567f, -0.008739f, -0.004388f, 0.003944f, 0.009055f, -0.018797f, -0.016929f, 0.008181f, -0.014621f, -0.008284f, 0.002035f, -0.006374f, -0.001897f, -0.001775f, -0.014388f, 0.010890f, 0.005966f, -0.027372f, 0.006871f, -0.020271f, -0.013000f, -0.005940f, 0.010388f, 0.006262f, 0.019415f, 0.009236f, -0.000550f, 0.006250f, 0.007135f, 0.009019f, 0.000744f, 0.003084f, 0.004432f, 0.017231f, -0.005401f, -0.070886f, 0.030895f, -0.060537f, 0.061667f, 0.074182f, -0.004470f, 0.012587f, -0.061204f, -0.001017f, -0.014053f, 0.005740f, 0.034795f, 0.035678f, -0.011195f, 0.018288f, 0.028852f, 0.004210f, 0.011836f, 0.008030f, 0.011683f, -0.008121f, 0.042306f, -0.006408f, 0.009259f, -0.024294f, 0.047687f, 0.009998f, -0.004950f, -0.002008f, 0.042897f, 0.016175f, 0.020045f, 0.047478f, -0.011065f, -0.030001f, 0.058427f, -0.062897f, -0.027348f, -0.011233f, 0.013522f, 0.040985f, 0.009307f, -0.017383f, -0.017774f, -0.030562f, -0.000905f, -0.005880f, 0.011762f, 0.065965f, 0.064232f, 0.040605f, 0.057945f, -0.005652f, 0.087375f, -0.029601f, 0.024257f, - -0.021110f, 0.001943f, 0.027247f, -0.013597f, 0.002957f, -0.026379f, -0.034183f, 0.000508f, -0.021569f, 0.017850f, -0.029202f, 0.043215f, -0.032763f, -0.052423f, -0.021902f, -0.013465f, -0.004955f, 0.063045f, -0.038282f, -0.008779f, -0.005586f, -0.039574f, -0.010191f, 0.023070f, 0.049374f, -0.004345f, -0.002346f, 0.001949f, -0.016439f, -0.033981f, 0.001201f, -0.001437f, -0.005360f, -0.003482f, -0.000170f, -0.019595f, 0.015654f, -0.016761f, 0.019382f, -0.007689f, -0.015161f, -0.016372f, 0.003885f, 0.015639f, -0.011115f, -0.013998f, -0.005137f, 0.012997f, 0.014122f, -0.010213f, 0.006552f, 0.008723f, 0.004940f, 0.008706f, -0.008317f, -0.007237f, 0.003851f, 0.000994f, 0.008850f, -0.010933f, 0.007764f, 0.014468f, -0.000766f, -0.004528f, -0.007504f, 0.012707f, -0.025572f, -0.011823f, 0.025018f, -0.015020f, -0.001891f, -0.003810f, 0.004756f, -0.015421f, 0.011220f, -0.004768f, 0.023060f, 0.019995f, 0.000329f, -0.024842f, 0.109064f, 0.151431f, 0.046435f, 0.118050f, -0.025845f, -0.082081f, -0.057534f, -0.040204f, 0.019913f, 0.021723f, -0.027374f, -0.044076f, 0.038201f, 0.051404f, 0.030013f, 0.051286f, - 0.039531f, 0.009784f, 0.015717f, 0.007767f, -0.002587f, -0.033710f, 0.014865f, -0.039950f, 0.028146f, 0.000280f, -0.037440f, 0.043394f, 0.026205f, 0.020769f, 0.074879f, 0.046062f, -0.021517f, -0.014445f, -0.027007f, -0.031946f, -0.039184f, -0.015431f, 0.001500f, -0.030945f, -0.009658f, 0.064730f, 0.098113f, 0.072328f, 0.009845f, 0.049365f, 0.052589f, 0.080495f, 0.036801f, -0.042645f, -0.070089f, -0.043669f, -0.044746f, 0.026450f, 0.022150f, -0.095731f, -0.065725f, -0.016901f, 0.040301f, 0.087125f, -0.065315f, -0.002579f, -0.056700f, -0.007355f, 0.071147f, -0.039199f, 0.026764f, -0.056865f, -0.009349f, -0.016994f, 0.047951f, -0.053306f, -0.030456f, 0.000860f, 0.021125f, -0.043282f, 0.099286f, -0.023418f, -0.001645f, 0.056484f, -0.024918f, 0.042456f, -0.013643f, -0.035118f, -0.027376f, 0.016471f, 0.001520f, 0.014033f, 0.008699f, -0.031371f, 0.000745f, -0.013281f, 0.037936f, 0.022215f, 0.006588f, 0.020723f, 0.023578f, 0.001237f, -0.000448f, -0.007628f, -0.023887f, 0.048420f, -0.015168f, 0.010062f, 0.000221f, -0.028241f, 0.000954f, 0.002948f, -0.009067f, -0.018629f, -0.004217f, -0.011009f, - 0.002476f, 0.007053f, -0.008461f, 0.001461f, 0.032849f, 0.023409f, -0.004494f, -0.005529f, 0.031094f, -0.013352f, -0.004225f, -0.026714f, -0.038390f, -0.014567f, -0.010356f, -0.004543f, -0.010755f, -0.043290f, -0.083644f, 0.009779f, 0.046028f, -0.038964f, 0.071514f, -0.029075f, 0.028241f, -0.009996f, -0.083336f, -0.042956f, -0.004331f, -0.049289f, -0.112375f, -0.031891f, 0.040147f, 0.061720f, -0.030635f, -0.048460f, -0.100287f, -0.030217f, 0.029254f, -0.020378f, -0.029247f, -0.050198f, 0.011545f, -0.011736f, -0.008670f, -0.009850f, 0.019972f, 0.039652f, -0.031489f, 0.030528f, 0.026255f, -0.032124f, -0.091493f, 0.006923f, 0.007189f, 0.023022f, 0.010819f, 0.059174f, 0.005849f, -0.091296f, 0.000427f, -0.100492f, -0.000624f, 0.034126f, 0.041685f, -0.008323f, 0.005397f, 0.045859f, -0.024426f, -0.018285f, -0.031428f, 0.029465f, 0.021756f, -0.014997f, 0.035724f, -0.011793f, 0.014983f, 0.016063f, 0.058559f, 0.007190f, -0.020921f, -0.063437f, -0.021725f, 0.031936f, 0.028197f, 0.049206f, 0.072575f, 0.125095f, 0.062532f, 0.029576f, -0.032832f, -0.126970f, -0.034690f, -0.018931f, 0.096491f, -0.016937f, - 0.005945f, -0.001140f, -0.030532f, 0.003409f, 0.028254f, 0.012766f, -0.000724f, 0.000619f, 0.000474f, -0.000604f, 0.046785f, -0.017701f, -0.013985f, -0.016346f, 0.032455f, 0.011616f, 0.016415f, -0.013613f, -0.039946f, 0.012316f, 0.016888f, -0.019049f, -0.002678f, 0.009284f, -0.002282f, 0.002207f, -0.007068f, -0.058340f, -0.018804f, -0.005534f, 0.026394f, 0.040379f, 0.004969f, -0.035319f, -0.033460f, 0.014368f, 0.005656f, -0.004144f, -0.005591f, 0.000893f, -0.003453f, -0.002713f, 0.030812f, -0.034785f, 0.004430f, -0.030059f, 0.030855f, -0.017943f, 0.000837f, -0.042856f, -0.006351f, 0.027038f, -0.008560f, 0.014047f, -0.023764f, 0.006600f, -0.081541f, -0.024918f, 0.056450f, -0.028011f, -0.023546f, -0.006158f, -0.018429f, -0.065376f, -0.072725f, -0.106256f, -0.033685f, 0.000095f, -0.008397f, 0.069371f, 0.018933f, 0.090645f, 0.055799f, 0.028005f, -0.012868f, -0.033627f, -0.006448f, 0.127171f, 0.007703f, 0.036593f, 0.020473f, -0.016061f, 0.063203f, -0.026538f, 0.050973f, -0.055969f, -0.005767f, -0.040353f, 0.047953f, -0.067934f, -0.014510f, 0.020666f, 0.021151f, 0.021711f, -0.059528f, 0.042138f, - -0.068104f, 0.013727f, -0.033481f, -0.022838f, 0.067326f, 0.003937f, 0.004214f, 0.023197f, -0.025870f, -0.001563f, 0.017425f, -0.082433f, 0.001991f, 0.018955f, -0.012219f, 0.053028f, -0.023985f, -0.010424f, 0.089036f, -0.033857f, -0.074520f, 0.000155f, -0.028298f, 0.005978f, -0.005870f, -0.003939f, -0.059868f, 0.031844f, -0.009960f, -0.081345f, 0.048695f, -0.100739f, 0.019301f, -0.023111f, -0.040138f, -0.063685f, -0.008471f, 0.017208f, 0.029022f, 0.002584f, 0.023447f, 0.029358f, -0.035032f, 0.061345f, -0.014471f, 0.016387f, -0.001097f, 0.029272f, -0.001616f, -0.003325f, -0.010257f, 0.017304f, -0.036955f, -0.004750f, 0.011711f, 0.007918f, -0.014547f, -0.000253f, -0.016252f, -0.021254f, 0.010634f, 0.008675f, 0.015845f, 0.010324f, -0.004937f, 0.012447f, 0.036181f, -0.018074f, -0.019295f, 0.006340f, -0.002094f, 0.007118f, 0.026749f, -0.003898f, 0.014431f, 0.013758f, 0.013664f, -0.018408f, -0.022353f, -0.005483f, -0.002098f, -0.023123f, -0.001644f, -0.004610f, 0.009438f, -0.025257f, 0.007226f, -0.035250f, -0.124304f, -0.127739f, -0.109051f, -0.054984f, 0.225378f, 0.070572f, -0.028198f, -0.029432f, - -0.111598f, -0.236249f, -0.026702f, 0.063381f, 0.079106f, 0.033935f, -0.036458f, -0.027314f, -0.069745f, -0.076792f, 0.057508f, -0.055369f, 0.141988f, 0.106417f, -0.165964f, 0.053441f, 0.021583f, -0.034941f, 0.012676f, 0.118821f, 0.016819f, 0.081896f, 0.162707f, -0.035717f, -0.134042f, 0.006025f, -0.023072f, -0.124957f, -0.034271f, 0.059978f, -0.005763f, 0.073886f, 0.119515f, 0.010424f, -0.104142f, -0.203613f, -0.174875f, -0.156344f, -0.016703f, 0.150926f, 0.042801f, 0.040055f, 0.022427f, -0.041409f, -0.204126f, -0.127825f, -0.065605f, -0.025162f, 0.012184f, 0.045751f, 0.044426f, 0.057170f, 0.058591f, 0.072924f, -0.088135f, -0.031938f, -0.072227f, -0.006428f, -0.078970f, 0.048600f, 0.048557f, 0.099868f, 0.110957f, 0.052831f, 0.001391f, -0.029986f, -0.020832f, -0.137472f, -0.109458f, 0.095551f, 0.149704f, 0.101832f, 0.119574f, -0.029152f, -0.053789f, -0.108854f, -0.062035f, 0.031733f, 0.000016f, 0.007092f, 0.033471f, 0.010986f, 0.008287f, -0.026635f, -0.035114f, -0.017598f, -0.026575f, 0.000644f, 0.026230f, 0.007179f, 0.010041f, -0.006358f, 0.015221f, -0.029018f, 0.019026f, -0.008884f, - -0.026876f, -0.026472f, -0.008120f, -0.043818f, -0.013605f, -0.026897f, 0.027388f, 0.030873f, 0.014866f, 0.011785f, -0.028568f, -0.058433f, -0.057789f, 0.015058f, -0.005617f, 0.025931f, 0.022823f, 0.012044f, -0.042164f, -0.021570f, -0.040155f, -0.061810f, 0.018293f, 0.042728f, -0.016524f, -0.226811f, -0.253925f, -0.172748f, -0.177688f, -0.047666f, 0.198477f, 0.133598f, 0.214166f, 0.238583f, 0.362532f, 0.240684f, 0.249076f, 0.160618f, -0.012691f, -0.179658f, -0.310446f, -0.366586f, -0.318307f, -0.251108f, -0.181837f, -0.044220f, -0.009637f, -0.026552f, 0.008794f, 0.078524f, 0.129436f, 0.179843f, 0.156214f, 0.213212f, 0.205830f, 0.266247f, 0.243377f, 0.068187f, 0.163206f, -0.035826f, 0.044302f, 0.032683f, 0.008786f, -0.022949f, -0.238114f, -0.285569f, -0.365186f, -0.428101f, -0.389447f, -0.216485f, -0.192638f, -0.158356f, -0.198510f, -0.229421f, -0.049623f, 0.055770f, 0.143328f, 0.210521f, 0.304611f, 0.364287f, 0.467479f, 0.617345f, 0.599182f, 0.455223f, 0.368984f, 0.307287f, 0.162096f, 0.258016f, -0.105338f, -0.210895f, -0.504688f, -0.577491f, -0.718246f, -0.689687f, -0.631185f, -0.597784f, - -0.577846f, -0.355669f, -0.220874f, -0.120086f, 0.321649f, 0.328123f, 0.501281f, 0.644527f, 0.558311f, 0.504751f, 0.510096f, 0.401110f, 0.305293f, 0.167904f, 0.021406f, -0.002726f, -0.095402f, -0.115352f, -0.167769f, -0.216601f, -0.298028f, -0.321519f, -0.293372f, -0.337408f, -0.261499f, -0.239500f, -0.226790f, -0.198609f, -0.103268f, -0.020458f, 0.104655f, 0.217388f, 0.203219f, 0.317900f, 0.350543f, 0.387434f, 0.456530f, 0.369958f, 0.215082f, 0.107703f, -0.066644f, -0.168663f, -0.169670f, -0.326170f, -0.303126f, -0.413731f, -0.330464f, -0.342958f, -0.221335f, -0.230397f, -0.135825f, -0.017401f, 0.115086f, 0.174568f, 0.306778f, 0.358350f, 0.346615f, 0.337822f, 0.327954f, 0.252898f, 0.088927f, -0.058198f, -0.084830f, -0.109163f, -0.121794f, -0.136902f, -0.163123f, -0.150598f, -0.112571f, -0.120995f, -0.110585f, -0.095146f, -0.069474f, -0.030835f, -0.022092f, -0.015661f, 0.003355f, 0.020054f, 0.012604f, 0.018728f, 0.047881f, 0.057591f, 0.051324f, 0.034162f, 0.023304f, 0.017519f, 0.016969f} - }, - { - {0.024972f, 0.002931f, -0.010883f, 0.003851f, -0.006848f, 0.001910f, -0.004429f, -0.002761f, -0.005952f, 0.004374f, 0.007482f, 0.002236f, 0.002394f, -0.013486f, 0.002761f, 0.000334f, 0.004320f, 0.005279f, 0.002938f, 0.007899f, -0.001552f, -0.004266f, 0.000919f, 0.009422f, 0.000154f, -0.007043f, -0.000623f, 0.008038f, 0.004409f, 0.000957f, 0.000175f, 0.002337f, -0.000105f, 0.000710f, 0.001635f, -0.000148f, -0.002735f, -0.000230f, 0.000170f, 0.003223f, -0.004548f, -0.010827f, 0.008171f, 0.008166f, 0.007146f, 0.006705f, -0.000237f, 0.003708f, 0.006405f, -0.006522f, -0.001387f, -0.000065f, -0.008715f, 0.002102f, 0.000756f, 0.008096f, 0.000938f, 0.004587f, 0.000246f, 0.010153f, 0.005212f, -0.001360f, 0.007170f, 0.004379f, -0.002175f, -0.008091f, 0.002168f, 0.002252f, -0.002050f, 0.000726f, -0.004541f, -0.001108f, 0.004314f, 0.003036f, 0.003606f, 0.008393f, -0.001254f, -0.002499f, 0.001253f, 0.005037f, 0.011492f, -0.006573f, 0.003155f, 0.003186f, 0.003437f, -0.000230f, -0.000639f, 0.003625f, -0.001835f, 0.000207f, 0.001793f, -0.002029f, -0.000243f, 0.000434f, 0.000724f, -0.001286f, - -0.001981f, 0.001440f, -0.000387f, 0.000372f, -0.000642f, 0.002190f, -0.000133f, 0.002585f, -0.000459f, 0.021112f, -0.014079f, 0.004774f, 0.011894f, 0.002793f, 0.008390f, 0.010151f, -0.009188f, 0.001950f, -0.000818f, 0.003958f, -0.011654f, -0.009258f, -0.001703f, 0.009093f, 0.012335f, -0.004707f, -0.004049f, 0.005911f, -0.009966f, -0.013357f, -0.002439f, -0.015711f, 0.005412f, 0.005222f, 0.001454f, -0.009761f, -0.009906f, 0.003537f, -0.005753f, 0.001346f, -0.000262f, 0.010360f, 0.010967f, 0.009876f, -0.001574f, 0.006920f, -0.010788f, 0.004708f, -0.006348f, -0.000589f, 0.000606f, 0.008449f, -0.009092f, -0.008109f, 0.000095f, 0.011113f, 0.004617f, 0.004337f, -0.006700f, 0.003759f, 0.002789f, -0.003286f, -0.013862f, -0.002263f, -0.004680f, -0.006116f, -0.005463f, 0.006360f, -0.005813f, -0.001903f, 0.001483f, 0.003943f, 0.010014f, -0.003840f, -0.000200f, -0.007544f, -0.003610f, 0.001543f, -0.010391f, -0.000664f, 0.002888f, 0.007116f, -0.002225f, -0.005428f, -0.002691f, -0.010880f, 0.005185f, 0.003163f, 0.000675f, -0.000908f, -0.009339f, 0.003840f, 0.000825f, -0.003369f, 0.003463f, -0.001362f, - 0.000882f, 0.003086f, 0.000360f, 0.000618f, 0.003674f, 0.001587f, 0.000803f, 0.000068f, 0.002959f, 0.001041f, -0.000490f, 0.001168f, 0.001761f, -0.007454f, -0.013502f, -0.003372f, 0.002316f, -0.004170f, -0.006838f, -0.003794f, -0.013460f, -0.007585f, 0.014212f, -0.000580f, -0.006312f, 0.007530f, -0.011400f, -0.002620f, -0.014217f, -0.002964f, -0.011206f, -0.005866f, 0.013144f, 0.000679f, -0.002689f, -0.014853f, -0.009268f, -0.003361f, -0.006371f, 0.002500f, -0.007914f, 0.000762f, 0.004904f, 0.015723f, 0.007707f, 0.005890f, 0.006803f, 0.012726f, -0.010713f, -0.000136f, -0.003216f, -0.008262f, 0.003397f, -0.001698f, -0.003222f, -0.008647f, 0.004496f, 0.009069f, 0.000945f, -0.006604f, -0.004232f, 0.023231f, 0.000094f, -0.006687f, -0.009306f, -0.013944f, -0.018575f, -0.002326f, -0.009633f, 0.002223f, -0.001889f, 0.005182f, 0.000963f, 0.002503f, -0.008536f, 0.001270f, 0.001394f, 0.011240f, 0.003799f, -0.008418f, 0.000471f, -0.002622f, -0.002500f, -0.002011f, 0.004019f, 0.006025f, 0.005904f, -0.005514f, -0.005366f, 0.003380f, 0.001606f, 0.002210f, 0.002432f, -0.002147f, -0.008238f, -0.009676f, - -0.001144f, 0.001743f, -0.002309f, 0.001005f, 0.000067f, -0.001315f, -0.002040f, -0.003034f, -0.001178f, -0.000584f, -0.001822f, -0.003371f, 0.000286f, 0.001097f, -0.001823f, 0.000639f, -0.001604f, 0.000317f, -0.002007f, -0.001007f, 0.000396f, 0.000527f, -0.002419f, 0.000359f, -0.000921f, -0.004349f, 0.000451f, -0.001530f, 0.002442f, -0.032469f, 0.012862f, -0.005802f, 0.005441f, -0.013433f, -0.005403f, -0.010516f, -0.009615f, 0.000661f, -0.003021f, -0.006587f, 0.016554f, 0.004295f, -0.001524f, -0.010028f, -0.003163f, 0.004660f, -0.011483f, -0.006079f, -0.010936f, -0.006086f, 0.015823f, 0.001547f, 0.010554f, -0.001002f, -0.000097f, -0.002649f, 0.002998f, 0.002929f, -0.008380f, 0.000111f, 0.002521f, 0.004737f, 0.017167f, -0.008963f, -0.010392f, -0.002050f, 0.018987f, 0.005981f, 0.020206f, 0.001795f, 0.001865f, -0.003562f, 0.009982f, -0.001724f, 0.014715f, -0.001486f, -0.001710f, -0.002635f, -0.006120f, 0.006264f, 0.001899f, -0.005238f, 0.004278f, 0.005554f, 0.010215f, -0.005891f, -0.000517f, -0.001819f, 0.009097f, -0.003704f, -0.001535f, -0.003410f, -0.002330f, 0.002206f, -0.002982f, 0.001074f, - 0.001534f, -0.002206f, 0.002249f, -0.015053f, 0.001441f, 0.009812f, 0.003433f, 0.013136f, 0.001061f, 0.001413f, 0.003155f, 0.008378f, 0.013379f, -0.008832f, 0.001280f, -0.000675f, 0.003155f, -0.000396f, -0.000340f, 0.004035f, 0.008672f, 0.003364f, 0.004251f, 0.000494f, -0.001514f, -0.002233f, 0.001170f, 0.004427f, -0.001549f, 0.002029f, 0.002002f, 0.002113f, -0.000091f, 0.000933f, 0.003682f, -0.000612f, 0.000963f, -0.000105f, 0.004249f, 0.002519f, -0.001390f, -0.000212f, 0.004571f, 0.002385f, -0.001386f, 0.003408f, 0.001861f, -0.006951f, -0.003430f, -0.000148f, -0.016054f, -0.002683f, 0.000151f, -0.007991f, -0.028413f, -0.006890f, -0.006127f, -0.012382f, -0.002416f, -0.003185f, 0.017793f, -0.006173f, 0.013457f, 0.006303f, 0.009707f, -0.018270f, -0.008208f, -0.018462f, -0.017151f, -0.000015f, 0.003229f, 0.010740f, -0.005179f, -0.008072f, -0.004961f, -0.012487f, 0.002673f, 0.005680f, 0.006538f, 0.004023f, -0.003783f, 0.004649f, -0.008329f, 0.000895f, -0.015025f, 0.005422f, -0.003873f, 0.002053f, 0.003314f, 0.005609f, 0.005994f, -0.005748f, 0.000229f, 0.014549f, -0.007798f, 0.007048f, - 0.007407f, -0.000491f, 0.004437f, 0.007153f, -0.002952f, 0.002812f, 0.007058f, 0.000378f, 0.012444f, -0.006525f, -0.008609f, -0.004178f, 0.004071f, -0.000046f, -0.016536f, -0.008403f, -0.018321f, -0.019958f, -0.003396f, 0.005384f, -0.016253f, 0.007235f, -0.002638f, -0.000301f, -0.005564f, 0.005432f, -0.009669f, -0.001562f, -0.003378f, -0.013664f, -0.012031f, -0.004002f, 0.007148f, 0.000215f, 0.006130f, -0.002595f, 0.003968f, 0.003158f, -0.007552f, 0.000026f, -0.001496f, 0.004256f, -0.005091f, -0.008538f, -0.002785f, 0.001143f, -0.000006f, -0.003298f, 0.001451f, -0.002053f, -0.000774f, 0.001341f, -0.000453f, 0.000078f, -0.000175f, -0.001954f, -0.000423f, -0.001897f, -0.001258f, -0.001232f, -0.000043f, 0.000861f, 0.000104f, 0.002406f, 0.000932f, -0.001190f, 0.009174f, -0.026446f, -0.001275f, 0.008217f, 0.005186f, -0.014037f, -0.001709f, -0.008932f, 0.002299f, 0.002682f, 0.001920f, -0.015331f, -0.020522f, -0.013990f, 0.002404f, -0.011184f, 0.012242f, 0.003873f, -0.019759f, 0.014278f, 0.012523f, 0.009905f, 0.008876f, -0.009822f, 0.016099f, 0.004249f, -0.000115f, -0.006265f, 0.005445f, 0.009643f, - -0.008831f, -0.012980f, 0.004811f, -0.004898f, -0.016076f, -0.002149f, -0.015512f, -0.005660f, 0.028123f, -0.007501f, -0.012622f, -0.015670f, 0.000889f, 0.002561f, 0.011199f, 0.004454f, -0.010279f, 0.009365f, -0.001180f, -0.008089f, -0.010687f, -0.011370f, 0.017338f, 0.007749f, 0.010933f, -0.008253f, -0.011277f, 0.005098f, 0.002821f, -0.011628f, -0.000570f, -0.007131f, 0.011216f, -0.002162f, 0.001017f, -0.013741f, 0.008792f, 0.007342f, -0.007797f, -0.005034f, -0.004832f, 0.015549f, 0.000205f, 0.002280f, -0.004475f, 0.010654f, -0.010867f, -0.018516f, -0.008243f, 0.001600f, -0.003529f, 0.010080f, -0.002056f, -0.001173f, -0.010775f, -0.005708f, 0.004691f, 0.000605f, -0.007664f, -0.005032f, 0.006572f, 0.003520f, -0.002068f, 0.000268f, 0.000113f, -0.000020f, -0.002100f, 0.002824f, 0.001278f, 0.004401f, 0.000718f, 0.000744f, 0.000171f, 0.001890f, -0.000891f, 0.002739f, -0.003616f, 0.003763f, -0.014200f, -0.000624f, 0.003497f, -0.003567f, -0.011353f, -0.016845f, -0.013498f, 0.013573f, 0.001572f, 0.016641f, 0.019871f, 0.019293f, 0.002918f, 0.026486f, 0.006352f, -0.002953f, 0.012248f, 0.009345f, - 0.024481f, 0.003521f, 0.014075f, -0.019332f, 0.031805f, 0.023393f, 0.011311f, -0.009663f, -0.007656f, 0.011484f, 0.002655f, 0.008237f, -0.004726f, 0.013710f, -0.004092f, -0.003568f, 0.012345f, 0.010017f, -0.012554f, 0.008453f, -0.003351f, 0.013353f, 0.014524f, -0.028474f, -0.005237f, 0.017549f, 0.005308f, 0.009556f, 0.007543f, 0.017377f, -0.008377f, 0.006972f, 0.000347f, -0.014630f, -0.007112f, -0.000400f, 0.003076f, -0.021482f, -0.001792f, 0.013592f, -0.010704f, 0.022814f, 0.017129f, -0.006886f, -0.000165f, 0.004380f, 0.008596f, 0.013324f, -0.005117f, -0.004295f, 0.021624f, -0.005092f, -0.000399f, 0.009402f, 0.000490f, 0.012634f, 0.010103f, 0.004163f, 0.007000f, 0.007288f, 0.006993f, 0.003225f, 0.003005f, -0.002995f, -0.004982f, -0.002106f, -0.004532f, -0.000532f, -0.003147f, 0.002402f, 0.002219f, -0.004564f, -0.003553f, -0.000535f, 0.003546f, 0.007068f, 0.005960f, 0.003353f, 0.000740f, 0.003519f, -0.006005f, -0.002733f, -0.003191f, 0.001359f, -0.002291f, 0.003158f, -0.006988f, 0.000781f, -0.000045f, 0.006106f, 0.002518f, 0.000313f, 0.001139f, 0.006329f, 0.002023f, -0.005441f, - 0.001894f, -0.000492f, 0.001566f, 0.055313f, -0.028928f, 0.004033f, 0.022811f, -0.002193f, 0.000829f, 0.030188f, 0.033103f, 0.003930f, -0.002511f, 0.006963f, -0.001576f, 0.007480f, 0.009527f, -0.012098f, -0.003687f, 0.019540f, 0.017279f, -0.008065f, -0.015704f, -0.016826f, -0.017427f, -0.009433f, 0.014544f, -0.011179f, 0.006399f, 0.000769f, -0.020365f, -0.001387f, -0.013521f, -0.001646f, 0.005891f, 0.008934f, -0.026416f, -0.012456f, -0.021022f, -0.006568f, 0.031972f, 0.004574f, -0.002826f, 0.002808f, -0.002840f, 0.001545f, 0.009486f, 0.005500f, 0.015998f, -0.000890f, 0.011973f, 0.007059f, -0.011048f, 0.007012f, -0.016844f, 0.000441f, -0.016917f, -0.017751f, 0.006768f, -0.019528f, 0.008274f, -0.000268f, 0.010004f, 0.007854f, 0.007239f, -0.010448f, 0.012211f, -0.017718f, -0.000285f, -0.008189f, -0.002669f, 0.022143f, 0.000883f, 0.011059f, 0.011095f, -0.002306f, -0.004123f, 0.008531f, -0.018248f, 0.007297f, 0.017557f, -0.026053f, -0.019006f, -0.005357f, 0.013306f, -0.001275f, -0.015872f, 0.005981f, -0.002219f, 0.006801f, -0.005769f, 0.002050f, -0.003225f, 0.011418f, -0.002018f, 0.010494f, - 0.005963f, 0.009795f, 0.003545f, 0.002675f, -0.005046f, 0.006613f, 0.003112f, -0.000287f, 0.004065f, 0.003319f, -0.001766f, 0.004915f, 0.004063f, -0.002487f, -0.002451f, -0.008566f, -0.001604f, -0.004920f, 0.000002f, -0.000279f, -0.002700f, 0.004307f, -0.001314f, 0.002497f, 0.001122f, 0.008807f, -0.006822f, -0.033023f, 0.006147f, 0.007977f, -0.022306f, 0.010076f, -0.000147f, 0.023382f, -0.006169f, -0.011896f, 0.009901f, -0.028908f, -0.009937f, 0.024371f, 0.010701f, -0.014848f, -0.035690f, 0.015880f, -0.004959f, 0.008714f, -0.022766f, -0.030204f, -0.020474f, 0.026098f, 0.002153f, 0.014386f, -0.002497f, -0.013857f, -0.020510f, 0.009655f, -0.005459f, -0.017891f, -0.020868f, 0.001482f, -0.018625f, -0.014368f, -0.007805f, -0.003721f, -0.020179f, 0.011282f, 0.013525f, 0.018231f, -0.008717f, 0.016200f, -0.013057f, 0.025658f, -0.004758f, -0.001411f, 0.019600f, 0.010035f, -0.004827f, -0.013203f, -0.006572f, 0.018863f, 0.004394f, -0.014089f, 0.006738f, 0.020039f, 0.019008f, 0.008121f, -0.023180f, -0.025665f, -0.002269f, 0.004939f, 0.001618f, -0.018487f, 0.005553f, 0.020318f, 0.005920f, -0.008719f, - -0.032792f, 0.008732f, -0.014253f, -0.032052f, 0.001026f, 0.001670f, -0.018064f, 0.025978f, -0.001856f, -0.010742f, -0.035457f, -0.000259f, -0.010418f, -0.001688f, 0.013346f, -0.007984f, -0.013545f, -0.000950f, 0.003079f, 0.003177f, -0.010734f, -0.010945f, -0.010806f, 0.003961f, -0.009325f, 0.000553f, -0.001665f, 0.001492f, -0.002578f, 0.002587f, 0.004790f, 0.004205f, 0.005472f, 0.002665f, 0.009820f, 0.012427f, 0.000723f, 0.003633f, 0.002308f, -0.004891f, -0.001336f, -0.003992f, 0.001546f, 0.001333f, 0.000754f, -0.012136f, 0.001450f, -0.001062f, -0.004395f, -0.000611f, -0.003949f, 0.003616f, -0.004831f, -0.005124f, -0.040859f, 0.025658f, 0.019795f, 0.021792f, 0.003117f, 0.023031f, 0.002367f, -0.014719f, -0.017029f, 0.002617f, 0.018493f, -0.012694f, 0.004337f, -0.027511f, 0.018951f, 0.020098f, -0.010041f, -0.005635f, 0.004695f, 0.022008f, 0.016080f, -0.011277f, -0.010063f, 0.015076f, -0.017936f, 0.006309f, -0.024546f, 0.000052f, -0.007170f, -0.032933f, -0.033962f, 0.006711f, 0.019786f, 0.009220f, -0.028970f, -0.015586f, 0.022391f, -0.024552f, -0.010087f, 0.019883f, -0.005174f, 0.024831f, - -0.008529f, -0.017135f, 0.006669f, -0.024972f, 0.029071f, -0.002944f, 0.005296f, -0.013401f, -0.006691f, -0.001042f, -0.026933f, -0.016425f, 0.002361f, -0.004264f, 0.002889f, -0.008637f, -0.028591f, 0.005566f, -0.023639f, 0.010794f, -0.005818f, 0.017364f, -0.028529f, 0.013093f, 0.005102f, -0.008004f, 0.021593f, -0.002529f, -0.014523f, -0.028043f, -0.003615f, 0.006382f, -0.022580f, 0.017001f, -0.015197f, 0.011094f, -0.029791f, -0.030481f, 0.014765f, 0.011796f, -0.012075f, -0.009483f, 0.009921f, 0.006805f, -0.006340f, -0.005305f, -0.008079f, -0.010484f, -0.000803f, -0.016950f, -0.001640f, -0.002338f, 0.001452f, 0.004867f, -0.002999f, 0.004919f, -0.003129f, -0.000944f, -0.009077f, -0.004470f, -0.002346f, -0.001092f, 0.013809f, -0.003944f, -0.001751f, 0.007983f, -0.008362f, 0.006001f, 0.003568f, -0.003216f, -0.001904f, -0.008493f, -0.007777f, -0.000271f, -0.004480f, -0.005422f, 0.013371f, -0.012946f, 0.004463f, 0.015918f, 0.023467f, -0.006152f, 0.002621f, -0.008274f, -0.031290f, -0.006635f, -0.006689f, 0.013657f, -0.027489f, -0.000022f, -0.015858f, 0.017128f, -0.019233f, -0.026166f, 0.017448f, 0.008081f, - 0.011347f, 0.036201f, -0.005963f, -0.010284f, 0.010185f, -0.023062f, -0.027002f, 0.002307f, 0.034561f, 0.010604f, 0.019394f, -0.013704f, -0.016992f, -0.027396f, 0.005472f, 0.035204f, -0.015758f, 0.018452f, 0.004190f, 0.027402f, -0.041793f, -0.013168f, -0.000734f, 0.005019f, 0.023750f, 0.011591f, -0.031867f, -0.008500f, -0.014814f, -0.001138f, -0.036692f, -0.005634f, -0.013240f, 0.002664f, -0.019339f, -0.001146f, 0.004423f, -0.053359f, 0.006074f, -0.016631f, 0.003225f, -0.021029f, -0.001217f, 0.013308f, 0.006655f, -0.007048f, -0.006849f, -0.028055f, 0.028291f, 0.027416f, 0.008914f, 0.006962f, -0.024557f, 0.037543f, 0.012937f, 0.019440f, -0.007440f, -0.058653f, 0.022848f, -0.001833f, 0.044051f, 0.041648f, 0.012991f, -0.005134f, 0.018177f, 0.001163f, 0.015905f, 0.001063f, 0.001739f, -0.010205f, 0.004884f, -0.009300f, -0.005182f, -0.002436f, 0.019141f, -0.000054f, 0.001059f, 0.005168f, -0.001327f, -0.010160f, -0.005454f, 0.002007f, 0.007693f, -0.003435f, 0.003772f, -0.005854f, 0.008006f, -0.006131f, -0.009930f, -0.004738f, -0.001539f, 0.004847f, 0.001653f, -0.001839f, -0.001834f, -0.001882f, - 0.012570f, -0.002496f, 0.000600f, 0.002385f, 0.006199f, 0.050692f, 0.017896f, 0.034704f, -0.033612f, 0.007853f, 0.035386f, -0.010592f, -0.012707f, 0.005031f, -0.021828f, 0.016726f, 0.004264f, -0.025499f, -0.033398f, -0.002479f, 0.028391f, -0.000701f, -0.002250f, 0.018586f, -0.027668f, -0.007026f, -0.022770f, 0.012842f, -0.038828f, 0.000673f, -0.008274f, 0.014167f, -0.040554f, -0.028011f, -0.017701f, 0.011928f, 0.013098f, 0.009074f, -0.013131f, 0.009895f, -0.009760f, 0.012066f, -0.008000f, -0.003524f, -0.002759f, -0.011367f, 0.007758f, 0.017994f, 0.010731f, 0.018114f, -0.001453f, -0.017511f, 0.002536f, -0.017436f, 0.046569f, -0.011731f, -0.045737f, -0.014230f, 0.012548f, 0.039789f, -0.039758f, -0.016378f, -0.002557f, 0.025595f, 0.001674f, -0.056287f, -0.006878f, 0.026020f, 0.053714f, 0.002018f, 0.037406f, 0.053867f, -0.003969f, 0.017360f, 0.025476f, -0.007012f, 0.045919f, -0.006137f, 0.055444f, 0.008853f, -0.015185f, -0.048023f, -0.030061f, 0.000387f, 0.014491f, 0.006932f, -0.007275f, -0.009310f, -0.014893f, -0.020353f, -0.018073f, 0.022068f, 0.006486f, -0.000241f, -0.031555f, -0.003543f, - 0.001202f, -0.005741f, -0.017928f, 0.004715f, 0.009551f, -0.002696f, -0.009272f, -0.006769f, -0.017564f, -0.010606f, -0.005136f, 0.011113f, -0.002134f, -0.009562f, 0.009646f, -0.013748f, 0.009941f, 0.010016f, -0.008587f, -0.016669f, 0.015293f, 0.022678f, 0.003511f, 0.000713f, 0.001420f, 0.013220f, -0.003896f, -0.015767f, 0.001904f, 0.015318f, 0.012721f, -0.015657f, -0.013262f, 0.002455f, 0.002557f, 0.000237f, 0.004578f, -0.002441f, 0.021347f, 0.025832f, -0.044202f, -0.043002f, 0.011455f, -0.010000f, 0.001417f, -0.017088f, 0.040233f, -0.018002f, -0.011479f, 0.014005f, 0.010124f, 0.000430f, -0.018307f, -0.013403f, -0.022291f, 0.009052f, -0.001230f, -0.010769f, -0.001718f, 0.026757f, 0.040184f, -0.043343f, -0.002704f, -0.042281f, -0.004442f, -0.010898f, 0.042023f, -0.017674f, -0.016864f, -0.008109f, 0.025602f, 0.008522f, 0.007114f, 0.010750f, 0.010287f, -0.007536f, 0.000573f, -0.005449f, 0.006889f, -0.004964f, 0.039347f, -0.010186f, 0.010497f, 0.027702f, -0.014330f, -0.031694f, 0.007137f, 0.010866f, -0.011091f, -0.012124f, -0.002578f, 0.006578f, 0.020000f, -0.027139f, 0.036519f, 0.053642f, - 0.036084f, -0.014991f, -0.021605f, -0.049569f, -0.063951f, -0.023507f, -0.000162f, -0.011533f, -0.003162f, -0.007241f, 0.015395f, -0.001278f, -0.024646f, 0.013038f, -0.010865f, -0.002307f, 0.023588f, 0.039244f, -0.009505f, 0.011064f, -0.006804f, 0.002196f, 0.035779f, 0.018075f, 0.030616f, 0.031116f, -0.024731f, -0.007592f, -0.005588f, 0.000930f, -0.000467f, 0.011106f, 0.000869f, 0.006826f, 0.031402f, 0.001350f, 0.014733f, -0.006586f, -0.006754f, -0.012771f, -0.003816f, 0.001870f, 0.014377f, -0.003910f, -0.011735f, -0.005532f, 0.006994f, -0.004880f, -0.002522f, -0.003627f, 0.004476f, 0.001178f, -0.004457f, -0.002437f, 0.003354f, 0.001634f, 0.001797f, 0.018098f, -0.007223f, 0.000497f, 0.002516f, 0.000312f, -0.009777f, 0.004606f, 0.005810f, 0.011577f, -0.022757f, 0.043163f, 0.019447f, 0.024584f, 0.036869f, 0.056935f, -0.021791f, 0.029494f, -0.058497f, -0.007142f, -0.026208f, -0.057474f, 0.023350f, 0.013697f, 0.017585f, 0.007766f, 0.022870f, 0.007032f, -0.041355f, 0.034947f, 0.061670f, -0.009148f, -0.009856f, 0.015160f, 0.006177f, -0.012799f, -0.054875f, 0.004572f, 0.000246f, -0.004923f, - 0.000793f, 0.018760f, -0.039220f, 0.008574f, 0.011201f, -0.008006f, -0.022604f, -0.010971f, -0.025199f, 0.025780f, -0.056343f, -0.008105f, -0.036225f, 0.020215f, 0.008194f, 0.020499f, -0.007137f, 0.005635f, -0.014379f, 0.034582f, 0.010428f, 0.028402f, -0.025737f, 0.027919f, -0.000595f, -0.027192f, 0.056354f, -0.009261f, 0.006932f, 0.038109f, -0.036515f, 0.042708f, 0.025513f, -0.033342f, 0.014132f, -0.012701f, 0.018768f, -0.046219f, 0.033869f, 0.004873f, 0.011920f, -0.004268f, 0.010987f, -0.037518f, 0.023966f, 0.042769f, -0.084791f, 0.008747f, 0.081837f, -0.052763f, -0.016938f, 0.005858f, 0.039902f, 0.028363f, 0.009860f, 0.024792f, -0.011133f, 0.014983f, -0.006184f, -0.018013f, 0.008974f, -0.003964f, -0.003023f, 0.015469f, 0.022342f, -0.001830f, -0.008661f, -0.007361f, 0.006624f, 0.014325f, -0.018875f, -0.006994f, -0.012912f, -0.007958f, -0.016877f, 0.016985f, 0.022333f, -0.004619f, 0.010290f, -0.006262f, 0.004189f, 0.014296f, 0.016050f, -0.018374f, 0.001587f, 0.006932f, -0.009678f, 0.014775f, 0.000774f, -0.000198f, 0.013316f, 0.006896f, -0.015973f, -0.013281f, 0.004566f, 0.002233f, - -0.004810f, 0.002827f, 0.034248f, -0.020890f, -0.025137f, -0.000894f, -0.024072f, -0.010993f, -0.063433f, -0.054148f, -0.007581f, -0.031103f, -0.037341f, -0.026940f, 0.016401f, -0.009650f, -0.018974f, -0.030347f, 0.027813f, 0.001794f, -0.045851f, -0.007291f, -0.000402f, -0.021834f, -0.006990f, 0.018480f, 0.013188f, -0.003288f, 0.000018f, 0.000798f, -0.011627f, 0.009687f, 0.021188f, -0.008067f, -0.005250f, 0.032706f, -0.061719f, -0.010089f, 0.017165f, 0.065585f, -0.027345f, -0.017085f, -0.024655f, -0.033364f, 0.014362f, 0.069606f, 0.012767f, 0.043100f, 0.008739f, -0.007133f, -0.003814f, -0.005200f, -0.033786f, 0.007325f, 0.007429f, -0.027403f, 0.005885f, 0.054370f, -0.009006f, -0.016816f, 0.008942f, -0.019569f, -0.004666f, 0.047964f, 0.070768f, 0.019122f, 0.042409f, 0.049208f, -0.017661f, -0.020582f, 0.005420f, -0.016286f, 0.002607f, -0.048716f, -0.000629f, -0.037963f, 0.011344f, 0.007908f, 0.022923f, -0.039516f, -0.014966f, -0.013484f, -0.015684f, -0.012377f, -0.014061f, 0.022000f, 0.004533f, 0.028360f, -0.007413f, 0.010815f, 0.028140f, -0.005203f, 0.000788f, -0.004104f, -0.011476f, -0.009042f, - -0.001762f, -0.006827f, -0.010571f, -0.000162f, 0.004069f, -0.005338f, 0.001686f, 0.013266f, -0.013510f, -0.012064f, 0.000684f, 0.009958f, 0.004924f, -0.006351f, -0.019912f, -0.019114f, -0.002578f, 0.004533f, -0.011910f, -0.006466f, 0.003896f, -0.003918f, 0.001831f, 0.001452f, 0.013228f, 0.004577f, 0.003189f, -0.014688f, 0.016094f, -0.006802f, 0.050497f, 0.057030f, -0.022731f, 0.128893f, -0.017591f, 0.003058f, -0.023722f, 0.015273f, -0.009973f, 0.015075f, 0.033183f, 0.009482f, -0.030741f, -0.016645f, -0.032125f, -0.000427f, -0.021776f, -0.039821f, 0.005469f, 0.026016f, -0.004268f, 0.007648f, 0.012411f, 0.015301f, -0.000118f, -0.011413f, -0.014932f, 0.007756f, 0.000021f, -0.019800f, 0.007935f, 0.055469f, 0.039254f, 0.022351f, -0.046826f, 0.033820f, 0.026484f, -0.012277f, -0.014199f, -0.014262f, -0.018651f, -0.007982f, 0.015351f, -0.033891f, 0.003387f, 0.004335f, 0.020537f, 0.052878f, 0.010334f, 0.011038f, 0.003014f, -0.006221f, -0.010535f, 0.022986f, -0.013731f, 0.053393f, 0.017296f, -0.005059f, 0.023499f, 0.004530f, -0.035768f, -0.025750f, 0.030458f, 0.035027f, 0.013144f, -0.008649f, - 0.023396f, 0.025082f, 0.035774f, 0.069667f, 0.007642f, -0.019914f, -0.035593f, -0.023807f, 0.018262f, 0.004021f, 0.006046f, -0.003221f, 0.024669f, 0.002688f, -0.002775f, -0.032386f, -0.015798f, 0.033911f, 0.038149f, -0.013431f, -0.025559f, -0.030693f, -0.008697f, 0.016610f, 0.010628f, 0.003134f, -0.010181f, 0.002771f, 0.000233f, -0.013537f, 0.000379f, -0.030010f, -0.007570f, -0.001052f, 0.021873f, -0.003793f, -0.006267f, 0.000263f, 0.017803f, -0.010392f, 0.012845f, -0.006419f, -0.013844f, 0.012350f, 0.017615f, 0.011259f, 0.012555f, -0.001460f, 0.013427f, 0.024985f, 0.011172f, 0.010741f, 0.007451f, -0.009057f, -0.003821f, 0.000814f, -0.001879f, 0.007601f, -0.006665f, 0.012333f, 0.016104f, 0.009448f, 0.001507f, -0.011840f, 0.005081f, 0.004497f, 0.013078f, 0.020895f, -0.020001f, 0.092100f, -0.013689f, 0.003916f, 0.010214f, -0.006945f, -0.001275f, 0.023106f, -0.017118f, -0.020238f, -0.010620f, 0.029818f, 0.026627f, -0.071154f, 0.013745f, 0.012226f, 0.029138f, -0.018152f, -0.028076f, -0.026698f, 0.020387f, 0.018503f, -0.028685f, -0.015599f, -0.011763f, 0.048012f, 0.024132f, 0.013581f, - -0.009265f, -0.049499f, 0.014091f, 0.012633f, 0.025616f, -0.006000f, 0.013629f, -0.013609f, 0.004869f, -0.042947f, 0.017937f, 0.017814f, 0.000663f, -0.010503f, -0.027010f, -0.053426f, 0.034805f, -0.022382f, 0.017911f, 0.018562f, 0.030753f, 0.004514f, -0.032646f, 0.054623f, 0.010682f, -0.052915f, -0.024634f, 0.032077f, 0.007598f, 0.041923f, 0.017645f, 0.007154f, -0.037866f, -0.018432f, 0.021176f, -0.065602f, 0.070996f, -0.050375f, 0.002891f, 0.042913f, -0.011428f, 0.084764f, 0.012673f, 0.015655f, -0.030570f, 0.098709f, 0.010272f, 0.064356f, -0.043428f, -0.019060f, -0.013657f, 0.025365f, -0.002635f, -0.009560f, 0.044641f, -0.036449f, 0.043056f, -0.050645f, 0.011042f, 0.005686f, 0.009366f, -0.009394f, 0.037963f, -0.004040f, 0.019377f, 0.017571f, 0.025234f, 0.014862f, 0.007449f, 0.018189f, 0.019722f, 0.001260f, 0.007295f, 0.002761f, -0.013213f, 0.017442f, 0.000597f, 0.012184f, 0.023865f, 0.012531f, 0.001608f, -0.000598f, 0.018295f, 0.020194f, 0.009885f, -0.010534f, 0.039939f, -0.001187f, -0.007892f, -0.007152f, 0.025664f, -0.018813f, 0.008966f, -0.003679f, 0.013828f, 0.001476f, - 0.005780f, 0.008163f, -0.005392f, -0.003759f, 0.003963f, 0.008247f, 0.006671f, 0.008600f, 0.010322f, -0.011421f, 0.032305f, 0.075925f, 0.025210f, 0.047676f, 0.060780f, -0.002615f, 0.069701f, -0.053721f, -0.019234f, -0.020238f, -0.017755f, 0.007435f, 0.011392f, -0.004633f, -0.023713f, -0.046229f, 0.044336f, 0.041788f, 0.017769f, 0.037732f, -0.061890f, -0.053673f, 0.018106f, 0.025532f, -0.028589f, -0.040279f, 0.025727f, -0.012774f, -0.057667f, -0.021323f, -0.010945f, 0.028431f, -0.053008f, 0.029239f, 0.019996f, 0.023132f, -0.024760f, -0.001629f, -0.024485f, -0.010936f, -0.070607f, -0.017385f, 0.034337f, -0.112176f, -0.035415f, -0.004466f, -0.002428f, 0.003697f, -0.067301f, -0.016954f, -0.101397f, -0.008649f, 0.020146f, -0.029095f, -0.031659f, -0.013339f, 0.030628f, -0.010523f, -0.036491f, -0.041943f, -0.105784f, -0.037979f, 0.049672f, -0.047094f, -0.071159f, 0.059439f, -0.018625f, -0.080369f, 0.024353f, 0.072129f, -0.038580f, -0.017804f, 0.008883f, -0.052810f, 0.065328f, 0.028664f, 0.041869f, -0.022122f, -0.004491f, 0.021154f, 0.062237f, 0.028635f, 0.009933f, -0.020200f, -0.004191f, 0.070148f, - 0.007008f, 0.010650f, -0.005024f, -0.041880f, -0.018287f, 0.032741f, -0.000567f, 0.001718f, -0.006561f, -0.037480f, -0.002638f, 0.015661f, -0.022829f, 0.026907f, -0.035299f, -0.023189f, 0.007507f, -0.012887f, 0.018653f, 0.007039f, -0.032081f, 0.012816f, 0.016455f, 0.008268f, 0.006405f, -0.013586f, 0.007988f, -0.000809f, -0.007627f, -0.023410f, 0.011675f, 0.008799f, -0.002377f, 0.016757f, -0.025112f, 0.002315f, -0.024018f, 0.000092f, 0.006784f, -0.009197f, -0.003871f, -0.001824f, 0.009973f, 0.000780f, 0.088654f, 0.122201f, -0.018029f, -0.002833f, -0.046566f, -0.046869f, -0.081446f, 0.035856f, -0.013054f, 0.122054f, -0.024641f, -0.051502f, -0.072014f, 0.005115f, 0.023623f, -0.026090f, 0.023797f, 0.080087f, -0.030480f, -0.013266f, -0.054416f, -0.024328f, 0.054493f, 0.062634f, -0.061350f, -0.016820f, 0.032758f, -0.012633f, 0.014973f, -0.017790f, 0.078678f, 0.063168f, 0.133506f, 0.044016f, 0.059526f, -0.025328f, 0.042926f, 0.090462f, 0.029960f, -0.004954f, 0.021772f, -0.002259f, 0.059316f, 0.031344f, 0.086109f, 0.024786f, -0.085149f, 0.030968f, 0.034063f, 0.071601f, -0.038794f, -0.032994f, - 0.041912f, 0.045262f, -0.020339f, 0.071966f, -0.024035f, 0.029950f, -0.077390f, 0.050289f, -0.017456f, 0.027913f, 0.028787f, 0.063183f, 0.055029f, -0.042300f, -0.043990f, -0.013711f, 0.066410f, 0.066926f, -0.024005f, -0.036008f, -0.069554f, -0.007297f, 0.050641f, 0.057046f, 0.038497f, -0.015747f, -0.045668f, -0.043420f, -0.006551f, 0.031373f, -0.029449f, 0.043458f, 0.011677f, 0.030551f, 0.006445f, -0.014568f, 0.035049f, 0.022067f, -0.003918f, -0.013763f, 0.011821f, 0.029433f, -0.040506f, 0.017429f, 0.022115f, 0.028681f, 0.016628f, 0.040287f, -0.011846f, 0.014573f, -0.017328f, -0.026666f, 0.017032f, 0.033976f, 0.030689f, 0.045413f, 0.000864f, -0.000092f, 0.014809f, 0.012405f, 0.081451f, 0.015813f, -0.002050f, -0.034608f, 0.001540f, 0.051615f, 0.027408f, 0.039933f, 0.024427f, -0.000818f, 0.002086f, -0.008607f, 0.001047f, 0.049535f, 0.042293f, 0.004472f, 0.016683f, -0.004852f, -0.006727f, 0.001886f, 0.022200f, 0.015825f, 0.015201f, -0.010682f, -0.009041f, 0.011853f, 0.003049f, -0.029611f, -0.098279f, 0.007009f, 0.150961f, 0.090199f, -0.020905f, -0.220947f, -0.031464f, -0.022370f, - 0.017440f, -0.025090f, 0.004342f, 0.023109f, -0.008285f, 0.010001f, -0.047925f, 0.030754f, 0.037126f, 0.068352f, -0.049218f, -0.062382f, 0.064756f, 0.102284f, 0.025971f, -0.045435f, -0.060349f, -0.013000f, 0.015415f, 0.005732f, 0.016373f, 0.000389f, 0.022714f, 0.009067f, 0.066973f, -0.021327f, -0.091484f, -0.039740f, 0.029701f, 0.010789f, -0.031497f, -0.040140f, 0.005558f, 0.043239f, 0.077023f, 0.070467f, -0.001286f, 0.001172f, 0.029138f, -0.027260f, -0.078901f, 0.024036f, -0.049125f, 0.095006f, 0.104465f, -0.002131f, 0.029692f, 0.014882f, 0.021056f, -0.046104f, -0.006350f, 0.099054f, -0.037036f, 0.000882f, -0.134317f, -0.017923f, 0.015551f, 0.031104f, 0.029648f, 0.027833f, -0.032983f, -0.021000f, 0.061307f, 0.089178f, -0.015376f, -0.003907f, 0.009052f, 0.035873f, 0.043943f, -0.020298f, 0.015063f, -0.048622f, -0.056912f, 0.005813f, 0.016168f, 0.021171f, -0.006554f, -0.009040f, -0.010401f, -0.012410f, 0.039641f, -0.000303f, -0.006864f, -0.020691f, -0.001148f, 0.024124f, 0.022445f, -0.011828f, 0.030525f, 0.006787f, 0.046189f, 0.003674f, 0.008605f, 0.001409f, -0.015515f, -0.013798f, - -0.007491f, -0.010759f, -0.002562f, -0.013891f, -0.009055f, 0.003367f, 0.038543f, 0.042841f, 0.013335f, 0.022181f, 0.008979f, 0.007651f, 0.037715f, -0.026977f, 0.028779f, 0.009979f, 0.046830f, -0.012595f, 0.012666f, 0.008308f, -0.018200f, 0.014442f, -0.008345f, 0.014736f, -0.004637f, 0.025302f, -0.008404f, -0.016177f, 0.013276f, 0.005291f, 0.006801f, 0.009794f, 0.006991f, 0.017832f, 0.004114f, 0.006455f, 0.003914f, 0.006033f, 0.006931f, 0.005095f, 0.012422f, 0.008186f, 0.001885f, 0.001203f, 0.003176f, 0.011065f, 0.008959f, 0.008250f, 0.010203f, -0.011708f, -0.099537f, -0.041292f, 0.079254f, 0.087399f, 0.082958f, 0.112603f, 0.019165f, -0.048706f, -0.149012f, -0.113107f, -0.021503f, 0.031382f, 0.094068f, 0.102457f, 0.048274f, 0.002160f, -0.050205f, -0.043356f, -0.019455f, 0.031923f, 0.087757f, 0.049907f, -0.011891f, 0.003112f, -0.007472f, -0.048427f, -0.066452f, -0.054222f, 0.009841f, 0.080990f, 0.060568f, 0.121831f, 0.078942f, 0.078440f, 0.110114f, -0.032230f, -0.076679f, -0.086878f, -0.115681f, -0.142049f, -0.053985f, -0.016789f, 0.041781f, 0.078158f, 0.112506f, 0.105497f, - 0.085321f, 0.054235f, 0.108037f, -0.021234f, -0.069036f, -0.003229f, -0.017939f, 0.028700f, 0.032341f, 0.129500f, 0.112582f, -0.042046f, 0.019774f, -0.029442f, -0.087113f, -0.025534f, 0.022454f, -0.052103f, 0.079933f, -0.032205f, 0.026190f, 0.006888f, -0.009762f, 0.069671f, 0.096154f, 0.077192f, 0.053680f, -0.040157f, -0.098463f, -0.111307f, 0.031156f, -0.046900f, 0.007930f, -0.005314f, 0.062199f, 0.009871f, 0.034906f, -0.029991f, -0.069245f, -0.063579f, -0.100578f, -0.086806f, 0.036201f, 0.020825f, 0.049609f, 0.075783f, 0.058224f, 0.002314f, -0.045330f, -0.071861f, -0.098284f, -0.053324f, -0.025668f, -0.035856f, 0.015343f, -0.013002f, -0.012095f, -0.011521f, -0.030408f, 0.000314f, -0.013952f, -0.019649f, -0.024327f, -0.014940f, -0.003968f, 0.015616f, -0.029280f, -0.017780f, 0.041552f, 0.004159f, -0.222520f, -0.234203f, -0.243610f, -0.249698f, -0.329950f, -0.035806f, -0.093332f, -0.022576f, 0.030829f, 0.150327f, 0.170836f, 0.176647f, 0.247251f, 0.341804f, 0.327505f, 0.321876f, 0.258607f, 0.186807f, 0.135746f, 0.040840f, -0.155939f, -0.074797f, -0.092124f, -0.057017f, -0.187280f, -0.031032f, - -0.077504f, -0.085344f, -0.154964f, -0.119058f, -0.121147f, -0.109721f, -0.114639f, -0.201457f, -0.178411f, -0.105239f, -0.095172f, -0.119540f, -0.165661f, -0.025115f, -0.145057f, -0.274953f, -0.235609f, -0.206825f, -0.109020f, -0.140481f, -0.025059f, -0.284584f, -0.126004f, -0.126006f, -0.058218f, -0.042402f, -0.146532f, 0.006593f, -0.146808f, -0.017636f, 0.022937f, 0.068930f, 0.006222f, 0.070844f, 0.105664f, 0.166155f, 0.177056f, 0.243618f, 0.159170f, 0.382231f, 0.241524f, 0.444894f, 0.302449f, 0.443221f, 0.514019f, 0.610416f, 0.501359f, 0.504827f, 0.568877f, 0.510524f, 0.518411f, 0.504615f, 0.437480f, 0.253233f, 0.202313f, 0.142871f, 0.104158f, 0.121982f, 0.181857f, 0.100378f, -0.036819f, -0.063084f, -0.072908f, -0.125213f, -0.162633f, -0.198217f, -0.182622f, -0.300092f, -0.290791f, -0.299418f, -0.362835f, -0.319416f, -0.403046f, -0.356776f, -0.418772f, -0.429987f, -0.405158f, -0.446967f, -0.404279f, -0.451332f, -0.358307f, -0.350959f, -0.290963f, -0.310434f, -0.320107f, -0.224889f, -0.201470f, -0.153801f, -0.078341f, 0.026640f, 0.085905f, 0.075473f, 0.096153f, 0.086246f, 0.097203f, 0.111847f, - 0.159486f, 0.191824f, 0.173252f, 0.156089f, 0.190557f, 0.177570f, 0.219173f, 0.199804f, 0.145945f, 0.133140f, 0.115604f, 0.102153f, 0.064259f, 0.049145f, 0.045518f, 0.029038f, 0.031555f, 0.013021f, 0.020615f, 0.018404f, 0.012527f, 0.018469f, 0.013294f, 0.008353f, 0.003073f, -0.006444f, -0.000925f, 0.000163f, -0.019177f, -0.029965f, -0.017185f, -0.013525f, -0.012390f, -0.008534f, -0.006057f, -0.005530f}, - {0.031749f, 0.004210f, -0.010404f, 0.004958f, 0.005622f, 0.001958f, -0.013180f, 0.006046f, 0.009380f, -0.010065f, -0.003006f, -0.012336f, -0.002700f, -0.005230f, -0.004512f, -0.001759f, 0.000700f, -0.000408f, 0.001273f, 0.004464f, -0.005489f, 0.002483f, -0.012642f, 0.004378f, 0.007796f, 0.001677f, -0.003312f, -0.010243f, 0.006725f, -0.004488f, 0.010866f, 0.009277f, -0.000383f, -0.004288f, 0.008862f, 0.010333f, 0.008311f, 0.008408f, 0.002101f, -0.006413f, 0.002032f, 0.007954f, -0.003314f, -0.006702f, 0.006053f, 0.009586f, -0.004187f, 0.005014f, -0.010874f, -0.000881f, -0.009537f, 0.006535f, -0.012699f, -0.003417f, -0.002356f, 0.004369f, 0.006351f, 0.004507f, -0.000351f, -0.006723f, 0.000837f, -0.009307f, -0.006142f, 0.001722f, -0.001143f, -0.005605f, 0.003084f, 0.003174f, 0.000814f, 0.005900f, -0.005227f, 0.002548f, -0.007064f, -0.002793f, -0.002998f, 0.003914f, -0.003657f, -0.007475f, -0.003345f, -0.002776f, 0.010319f, 0.008875f, 0.002262f, -0.004690f, 0.000625f, -0.000534f, 0.001816f, 0.003572f, 0.000670f, 0.000215f, 0.000643f, -0.000132f, 0.000167f, -0.001311f, 0.001046f, -0.003932f, - 0.000202f, -0.000287f, 0.001643f, 0.000865f, -0.001201f, -0.001713f, 0.000376f, 0.000726f, 0.000770f, 0.018102f, -0.018241f, 0.000693f, 0.000324f, -0.004617f, -0.005473f, -0.005830f, 0.001891f, -0.010279f, -0.010139f, 0.001435f, 0.004928f, -0.000375f, 0.005841f, 0.004552f, -0.005573f, 0.002300f, -0.020006f, -0.004893f, -0.004469f, -0.004654f, -0.006304f, -0.006955f, -0.017631f, -0.013698f, 0.001886f, 0.004132f, -0.000942f, 0.009552f, 0.007642f, 0.003217f, -0.003391f, -0.001898f, 0.008952f, -0.003449f, 0.001117f, -0.001297f, -0.009386f, 0.003151f, -0.003136f, -0.006393f, -0.002463f, 0.007689f, 0.018570f, -0.007069f, 0.002084f, 0.004526f, -0.003420f, 0.005853f, 0.002625f, -0.006476f, 0.003795f, -0.015327f, -0.007087f, 0.000183f, 0.006288f, 0.009753f, -0.005957f, -0.002759f, -0.000652f, -0.022217f, 0.003813f, 0.011504f, 0.000636f, 0.001681f, 0.006304f, -0.003605f, 0.009832f, 0.013248f, -0.001658f, 0.003774f, 0.007972f, 0.007565f, 0.001518f, 0.000426f, -0.003674f, -0.005298f, -0.003300f, 0.002357f, -0.005037f, 0.011066f, 0.007445f, -0.000235f, -0.005385f, -0.002756f, 0.006385f, 0.007500f, - -0.003730f, 0.005823f, -0.003521f, 0.001592f, -0.003590f, -0.002175f, -0.002455f, 0.000709f, 0.000186f, 0.000441f, 0.000514f, -0.000402f, -0.001182f, -0.004793f, -0.015628f, 0.003616f, 0.000567f, -0.015116f, 0.002310f, 0.008467f, 0.012460f, 0.003200f, -0.008971f, 0.021124f, -0.002840f, -0.004163f, 0.009926f, -0.006139f, -0.005983f, 0.001016f, -0.007719f, 0.009415f, 0.009407f, -0.003809f, -0.014218f, -0.007024f, 0.007068f, -0.009151f, 0.020092f, 0.017343f, -0.013869f, -0.016964f, 0.000602f, 0.003173f, -0.016148f, -0.001057f, 0.006665f, 0.004527f, -0.007908f, -0.004597f, 0.018523f, -0.001967f, 0.012748f, -0.001266f, -0.004148f, -0.004308f, -0.009548f, 0.001662f, -0.001362f, 0.009997f, -0.008539f, 0.002314f, -0.002243f, 0.001858f, -0.005032f, -0.000660f, 0.008428f, 0.006704f, -0.010567f, 0.016455f, 0.001354f, -0.000074f, -0.000267f, -0.001507f, 0.004459f, -0.002267f, -0.014735f, -0.002090f, -0.007783f, 0.012832f, 0.005371f, 0.000336f, 0.015757f, -0.008718f, 0.010539f, 0.010370f, 0.000949f, -0.007668f, -0.001572f, -0.001631f, -0.000171f, -0.002181f, -0.003183f, 0.004361f, 0.004615f, -0.006964f, - 0.003337f, -0.000410f, 0.004884f, 0.004319f, -0.001431f, 0.000677f, -0.002164f, -0.003271f, 0.002331f, -0.003010f, -0.002546f, 0.001293f, 0.003301f, -0.003040f, -0.002272f, -0.003957f, -0.001703f, 0.002383f, -0.001516f, -0.000575f, 0.000043f, 0.001210f, -0.002199f, -0.001245f, 0.003045f, 0.001015f, -0.000654f, -0.000958f, -0.003438f, -0.037659f, 0.008639f, 0.002012f, 0.026825f, -0.001458f, 0.010777f, -0.014440f, 0.003102f, -0.010823f, -0.002594f, -0.005308f, -0.001710f, 0.004921f, -0.002906f, 0.004595f, 0.009040f, 0.006898f, 0.025470f, 0.017572f, -0.011569f, 0.005832f, -0.000624f, 0.004693f, 0.003003f, -0.003261f, -0.025313f, 0.006400f, -0.001296f, -0.000256f, 0.009604f, -0.001517f, -0.007063f, -0.004920f, -0.001198f, -0.007870f, -0.004228f, -0.020236f, -0.004748f, 0.000522f, -0.007147f, -0.001280f, 0.008381f, 0.011987f, -0.003883f, 0.014815f, -0.011094f, 0.002429f, 0.005062f, 0.001930f, -0.003444f, -0.007817f, 0.005518f, -0.001974f, 0.003397f, -0.005812f, -0.008256f, 0.001527f, 0.004801f, -0.008344f, 0.007942f, -0.005706f, 0.018919f, 0.020065f, -0.006109f, 0.007317f, 0.007705f, -0.001055f, - -0.002609f, -0.002709f, -0.024533f, 0.010238f, 0.009963f, 0.000289f, -0.004134f, -0.010258f, 0.001071f, -0.003021f, -0.012505f, -0.028012f, 0.001831f, -0.006955f, 0.007175f, -0.000015f, -0.000121f, -0.004691f, -0.003174f, -0.005286f, -0.000533f, 0.002857f, -0.003663f, 0.004250f, -0.004509f, -0.002622f, -0.001910f, -0.001134f, 0.002278f, 0.001888f, -0.001529f, 0.000865f, 0.000617f, 0.001521f, 0.002485f, 0.001916f, -0.001326f, -0.002985f, 0.002091f, -0.001269f, -0.002233f, 0.000800f, 0.000706f, -0.001325f, 0.001542f, 0.002519f, 0.000846f, -0.008060f, -0.012306f, 0.012284f, 0.006999f, -0.001070f, 0.014198f, -0.007612f, 0.012737f, -0.014344f, -0.013771f, 0.006707f, -0.021976f, -0.007783f, 0.005545f, 0.013382f, 0.017487f, -0.003050f, 0.013053f, -0.000451f, 0.012432f, 0.004599f, 0.002021f, -0.002043f, 0.000681f, 0.012408f, -0.005913f, -0.001303f, 0.002257f, 0.001079f, -0.012224f, -0.001519f, -0.006632f, 0.025277f, -0.012082f, -0.012242f, -0.002974f, 0.011915f, 0.011987f, 0.010297f, 0.013771f, -0.002381f, 0.002529f, -0.003052f, -0.006837f, 0.005216f, -0.000618f, -0.001300f, -0.007819f, 0.019828f, - 0.012223f, -0.006123f, 0.003776f, 0.005863f, -0.010458f, 0.002225f, 0.007703f, -0.001947f, 0.014867f, -0.006000f, -0.001932f, -0.016160f, -0.006101f, -0.013739f, 0.000611f, 0.018962f, -0.007464f, 0.005358f, 0.003245f, 0.000659f, -0.005178f, -0.001751f, 0.000165f, -0.004629f, 0.009099f, -0.009350f, -0.004416f, -0.000826f, 0.019984f, 0.003171f, -0.000125f, 0.006318f, -0.005448f, -0.014992f, 0.003713f, 0.001516f, -0.002395f, 0.001092f, 0.003677f, -0.000987f, 0.000751f, 0.007295f, 0.001373f, -0.000581f, 0.001726f, 0.000111f, -0.000985f, -0.001737f, 0.006758f, -0.000327f, 0.000558f, -0.006184f, 0.003744f, 0.000961f, 0.003727f, -0.000912f, -0.002557f, -0.000759f, 0.001886f, 0.003068f, 0.001970f, -0.005040f, 0.000234f, 0.003575f, -0.001121f, -0.006359f, -0.004122f, -0.035498f, 0.025750f, 0.002715f, -0.013058f, -0.031351f, -0.003120f, 0.000799f, -0.018548f, -0.001671f, 0.008641f, 0.007365f, 0.000681f, -0.005360f, 0.006841f, 0.022414f, 0.022737f, -0.009738f, -0.010687f, -0.024652f, 0.004929f, -0.004442f, 0.023951f, -0.009757f, -0.000529f, -0.005617f, 0.009015f, -0.002684f, -0.024550f, 0.008066f, - -0.001152f, -0.014546f, 0.000014f, 0.002302f, -0.001993f, -0.002475f, -0.010091f, -0.014046f, 0.008541f, 0.002118f, 0.011170f, -0.009704f, 0.018801f, 0.008929f, -0.003884f, -0.016651f, -0.003308f, 0.006028f, 0.018387f, 0.005711f, -0.010400f, -0.004735f, 0.008544f, 0.005525f, -0.005342f, -0.002599f, 0.009006f, 0.007386f, 0.009507f, 0.018230f, 0.020334f, 0.009948f, 0.010826f, 0.012513f, -0.007323f, 0.001827f, -0.013463f, 0.013474f, 0.002120f, 0.006816f, -0.009618f, -0.014938f, 0.003415f, -0.019100f, -0.006890f, -0.008321f, 0.014031f, 0.014725f, 0.015395f, 0.004064f, -0.004367f, -0.004862f, 0.014381f, 0.002943f, -0.002014f, 0.003640f, -0.004534f, 0.009205f, 0.000475f, -0.000120f, 0.003017f, 0.003790f, -0.001432f, 0.007549f, -0.000006f, 0.001294f, -0.003615f, -0.002156f, 0.002074f, 0.005895f, -0.000362f, 0.002150f, 0.003402f, 0.001979f, 0.001133f, -0.001753f, 0.002812f, -0.002333f, -0.012769f, -0.000758f, 0.023889f, 0.014688f, 0.020196f, 0.003844f, -0.022100f, -0.007284f, 0.023456f, -0.006765f, -0.014864f, -0.015482f, -0.015248f, -0.016128f, 0.008867f, 0.009015f, 0.005783f, 0.005302f, - 0.005470f, 0.022572f, -0.002794f, 0.009798f, -0.019389f, -0.021810f, 0.014603f, -0.000774f, -0.011910f, 0.000856f, -0.030391f, -0.009920f, -0.010243f, 0.003735f, -0.001075f, -0.002803f, -0.021384f, -0.013991f, 0.002364f, 0.014766f, 0.023981f, -0.009512f, -0.009421f, 0.012786f, -0.016483f, -0.001179f, -0.000852f, 0.005517f, 0.010485f, 0.008566f, 0.016617f, -0.008923f, 0.024096f, 0.011377f, -0.026064f, 0.013020f, -0.014494f, -0.017275f, -0.014387f, -0.020898f, 0.018905f, 0.004450f, -0.022295f, 0.002553f, 0.004686f, 0.002071f, 0.003514f, -0.004080f, 0.015674f, -0.009099f, 0.012045f, -0.019380f, 0.014686f, -0.009831f, -0.008978f, 0.001921f, 0.006508f, -0.000751f, 0.010605f, 0.030437f, -0.002573f, -0.016315f, 0.009625f, 0.019949f, 0.001575f, -0.002163f, -0.015829f, -0.006893f, 0.014672f, -0.002492f, -0.001007f, 0.000506f, 0.002950f, -0.004114f, -0.002380f, -0.000359f, 0.004320f, -0.002506f, -0.000536f, -0.002880f, 0.008270f, -0.006067f, 0.001264f, -0.005702f, -0.007148f, 0.001884f, 0.002286f, -0.002227f, 0.001100f, -0.002066f, -0.001577f, -0.000448f, -0.000818f, -0.000172f, -0.003034f, -0.001781f, - 0.008490f, -0.000438f, 0.000049f, 0.049526f, -0.044644f, 0.020649f, 0.021546f, -0.020066f, -0.003621f, 0.029629f, 0.010743f, 0.018818f, 0.005628f, -0.006519f, 0.044573f, -0.001790f, -0.008339f, -0.000048f, 0.000152f, 0.021395f, 0.033530f, 0.012694f, -0.000229f, 0.000674f, 0.005035f, 0.011520f, -0.000158f, 0.006113f, -0.023432f, 0.011095f, 0.018270f, -0.003831f, 0.007454f, 0.000002f, 0.003397f, -0.015107f, -0.011784f, 0.000851f, -0.000515f, 0.020689f, 0.010224f, 0.008558f, -0.008710f, -0.010716f, -0.010700f, 0.011909f, 0.017314f, 0.000146f, -0.005561f, 0.033807f, 0.017516f, 0.022591f, -0.012171f, -0.025225f, -0.004798f, -0.026416f, -0.017374f, -0.007959f, -0.011009f, -0.001518f, 0.019780f, -0.006257f, 0.000769f, -0.016176f, -0.017265f, 0.019702f, -0.000988f, 0.009190f, 0.009845f, -0.010278f, 0.018936f, 0.004929f, 0.001704f, -0.006577f, -0.012669f, 0.014859f, -0.004546f, -0.026310f, 0.015217f, 0.012853f, 0.015911f, 0.007173f, -0.018529f, -0.003886f, 0.001734f, -0.019351f, 0.011065f, 0.011100f, -0.001805f, 0.008382f, 0.007012f, 0.007492f, -0.001811f, 0.011841f, 0.001766f, -0.000467f, - -0.006001f, 0.002942f, -0.000117f, 0.009433f, 0.002036f, -0.000263f, 0.001931f, -0.000091f, 0.006940f, -0.002953f, -0.000855f, -0.004598f, 0.002357f, -0.001226f, -0.003602f, 0.000784f, 0.000970f, -0.001369f, 0.001073f, 0.007642f, 0.005769f, -0.003304f, -0.002155f, -0.004930f, 0.001282f, -0.001062f, -0.000662f, -0.034615f, 0.004255f, 0.011428f, -0.017002f, 0.014180f, -0.029377f, 0.006711f, 0.008961f, -0.003866f, -0.011633f, -0.014929f, -0.017406f, -0.029474f, 0.003766f, 0.033521f, -0.011024f, 0.016169f, 0.008993f, 0.024929f, 0.013248f, -0.009419f, -0.021399f, 0.011031f, -0.005396f, -0.007609f, -0.022175f, -0.003314f, -0.002969f, -0.008849f, -0.009488f, -0.005100f, -0.015575f, -0.020478f, 0.023905f, -0.002344f, -0.013845f, 0.018747f, 0.006637f, -0.016351f, 0.002483f, -0.001200f, 0.010691f, -0.021727f, 0.006153f, 0.007470f, -0.032057f, 0.010720f, 0.010516f, -0.016523f, 0.004790f, 0.001252f, -0.005150f, 0.011858f, 0.001144f, -0.002237f, 0.001467f, 0.008033f, 0.021700f, 0.017231f, 0.022144f, 0.015259f, 0.007927f, -0.005719f, 0.032939f, -0.008360f, -0.016791f, 0.036473f, 0.002484f, 0.022043f, - 0.004793f, -0.007069f, -0.033806f, -0.031294f, -0.007727f, 0.001980f, -0.012319f, -0.005992f, -0.009662f, 0.021520f, -0.018796f, -0.005489f, -0.003153f, 0.005254f, -0.018345f, 0.013277f, -0.001411f, 0.004199f, -0.001537f, -0.007134f, -0.011922f, -0.008030f, -0.009380f, -0.007635f, -0.002226f, 0.001220f, -0.005751f, -0.004113f, -0.003190f, 0.007871f, -0.009109f, -0.008053f, -0.006538f, -0.007754f, -0.000284f, 0.006316f, -0.002757f, -0.003091f, 0.004560f, 0.001110f, -0.002248f, 0.003090f, -0.005685f, -0.006288f, 0.004862f, -0.007333f, -0.011778f, 0.004159f, 0.010630f, -0.005626f, 0.001186f, 0.007114f, -0.002391f, -0.005847f, -0.057632f, 0.028190f, 0.049653f, 0.003449f, -0.028179f, 0.012841f, -0.005205f, -0.001975f, 0.008140f, 0.004795f, 0.012782f, -0.015041f, 0.001736f, 0.044484f, 0.034187f, 0.029885f, -0.032635f, -0.001399f, 0.008019f, 0.017059f, -0.015659f, -0.017557f, -0.004469f, 0.005613f, 0.015466f, 0.007669f, -0.041969f, -0.047653f, 0.014822f, -0.001593f, 0.026846f, 0.027499f, -0.017753f, 0.022757f, 0.018334f, 0.024309f, -0.001656f, -0.014515f, -0.015090f, 0.011612f, -0.015981f, -0.006142f, - -0.000005f, -0.000698f, 0.014554f, 0.030914f, 0.017393f, -0.008475f, -0.007296f, -0.015321f, -0.003902f, 0.001357f, 0.008371f, -0.003304f, -0.005447f, 0.015196f, 0.009575f, -0.023360f, -0.000310f, 0.000965f, 0.028078f, -0.014132f, -0.016116f, -0.030619f, -0.010389f, 0.005242f, 0.002054f, 0.015814f, -0.003408f, 0.003957f, -0.013690f, -0.020345f, -0.018448f, -0.018642f, -0.010722f, 0.008897f, -0.038414f, 0.004588f, -0.005379f, -0.006029f, -0.008121f, 0.007599f, 0.021045f, 0.015328f, 0.002439f, -0.003445f, -0.019514f, -0.006226f, -0.001797f, -0.003970f, 0.012895f, 0.006581f, 0.003938f, 0.002838f, 0.006705f, 0.007823f, -0.002988f, -0.003272f, 0.000200f, -0.003544f, 0.000684f, 0.000862f, 0.002577f, 0.004300f, -0.012480f, 0.001927f, -0.001613f, 0.009470f, 0.002573f, -0.012556f, -0.000699f, -0.007950f, -0.006090f, -0.003135f, -0.002803f, -0.003336f, -0.001584f, 0.007098f, 0.006502f, 0.005482f, 0.009392f, 0.029043f, 0.002373f, 0.025202f, -0.003449f, 0.032713f, 0.016320f, 0.025509f, 0.015680f, 0.007432f, -0.012633f, -0.001278f, -0.007907f, 0.017484f, 0.005150f, 0.015355f, -0.014661f, -0.002564f, - 0.027128f, -0.033440f, -0.018691f, 0.026065f, -0.044109f, -0.019447f, 0.003290f, -0.008420f, -0.021840f, 0.044423f, -0.007939f, 0.030686f, 0.012312f, -0.026733f, -0.004090f, -0.010054f, -0.032322f, -0.041986f, 0.033537f, -0.000305f, -0.012217f, 0.008296f, 0.000611f, -0.005574f, 0.012214f, 0.004793f, -0.004329f, -0.015445f, 0.002966f, 0.031682f, 0.026862f, -0.022156f, 0.008793f, 0.001740f, 0.025061f, -0.011408f, 0.016986f, -0.036022f, -0.008718f, 0.024596f, 0.008265f, -0.008245f, 0.029354f, -0.009337f, 0.020580f, -0.039991f, -0.046111f, -0.016625f, 0.000905f, -0.032668f, 0.035304f, 0.024913f, 0.035865f, -0.016442f, -0.012100f, -0.012436f, 0.001868f, -0.018187f, -0.000186f, -0.027797f, -0.025230f, 0.001156f, 0.007119f, 0.025755f, 0.012183f, -0.002712f, -0.009489f, 0.008106f, 0.014878f, 0.009750f, 0.005954f, -0.009156f, 0.010760f, 0.009606f, 0.012126f, 0.008977f, 0.006572f, 0.009716f, -0.013329f, 0.011248f, -0.008060f, -0.004092f, 0.017639f, 0.015588f, 0.010489f, -0.001854f, 0.000637f, -0.004707f, 0.009050f, 0.002838f, -0.003702f, 0.004912f, 0.009181f, 0.001387f, 0.007139f, 0.006934f, - -0.009179f, 0.003051f, -0.006936f, -0.002029f, 0.002184f, 0.040214f, 0.028919f, 0.045315f, -0.040244f, -0.030249f, -0.068941f, 0.029705f, -0.007676f, -0.058913f, -0.011427f, 0.005589f, 0.008677f, -0.022014f, 0.023982f, 0.020261f, 0.002275f, -0.000267f, 0.003744f, -0.009762f, -0.020514f, 0.004521f, -0.011667f, -0.019199f, -0.000252f, 0.044662f, 0.001386f, -0.006780f, -0.035716f, 0.015066f, 0.028203f, -0.014593f, -0.043094f, -0.007819f, 0.014525f, 0.005151f, -0.009148f, 0.009390f, 0.003069f, 0.015500f, -0.004358f, 0.025565f, 0.039071f, 0.014780f, -0.025980f, 0.029445f, 0.013258f, -0.033277f, -0.035412f, 0.038491f, 0.018616f, -0.014991f, -0.017280f, -0.000856f, -0.031388f, 0.022975f, 0.030269f, -0.000722f, 0.001706f, 0.007621f, -0.003877f, 0.033126f, 0.011138f, 0.008611f, -0.013737f, 0.005352f, 0.011186f, 0.040907f, -0.009821f, 0.015674f, -0.031695f, -0.036104f, 0.032192f, -0.004859f, -0.003011f, 0.003324f, 0.030685f, 0.000671f, -0.001445f, 0.019363f, -0.009268f, 0.003858f, 0.017771f, 0.021688f, -0.010375f, -0.013517f, -0.029116f, -0.014369f, 0.009509f, -0.012870f, 0.010133f, -0.000330f, - 0.010753f, -0.005832f, 0.007930f, 0.001637f, -0.004487f, 0.003488f, 0.016277f, 0.004004f, 0.016203f, 0.004877f, -0.010260f, 0.000647f, 0.006759f, 0.005596f, -0.010069f, -0.009241f, -0.009809f, -0.004225f, -0.007708f, -0.007555f, -0.011979f, -0.005176f, 0.006663f, 0.004217f, -0.001227f, -0.001973f, 0.003639f, -0.007981f, -0.000202f, 0.010216f, -0.002896f, -0.001691f, -0.004940f, -0.004189f, -0.002162f, -0.015215f, -0.002144f, -0.005927f, -0.006524f, -0.009507f, -0.013537f, -0.046658f, -0.003847f, -0.030529f, -0.061930f, -0.063827f, -0.027590f, -0.048734f, -0.022096f, -0.007874f, 0.008753f, 0.027254f, 0.030406f, 0.003113f, -0.016453f, 0.032749f, -0.016652f, 0.016141f, -0.061144f, -0.006016f, -0.041946f, -0.028154f, 0.028410f, 0.019945f, 0.019407f, 0.006452f, 0.040912f, -0.004138f, -0.002561f, -0.029472f, -0.010217f, -0.005938f, -0.020059f, -0.020260f, -0.050245f, -0.019761f, -0.005549f, -0.008105f, -0.031087f, 0.027487f, 0.010947f, 0.016399f, -0.013687f, -0.005274f, -0.076248f, -0.021981f, -0.021017f, 0.017653f, 0.039077f, -0.024080f, -0.003693f, -0.044427f, -0.003208f, 0.022858f, -0.007281f, -0.015007f, - 0.009994f, 0.032785f, 0.055952f, 0.011757f, 0.001774f, -0.003098f, -0.015011f, -0.022402f, 0.014962f, -0.014763f, 0.050753f, 0.009977f, 0.021852f, 0.103500f, -0.020600f, -0.017621f, -0.026149f, -0.036284f, -0.004923f, 0.035356f, 0.015916f, 0.005053f, 0.011766f, -0.014957f, -0.011595f, -0.031581f, -0.007562f, 0.017752f, -0.002900f, -0.006985f, -0.002965f, -0.007365f, 0.003721f, -0.001166f, 0.006884f, 0.006975f, 0.007117f, 0.009339f, 0.010227f, 0.026363f, 0.016096f, -0.009773f, 0.015346f, -0.000410f, 0.000980f, 0.011028f, -0.012755f, 0.000240f, -0.014716f, -0.008902f, -0.020143f, -0.014964f, -0.021009f, -0.017438f, -0.011681f, 0.023037f, -0.014337f, -0.008094f, -0.016911f, 0.001055f, 0.005026f, -0.003660f, 0.006945f, 0.002793f, -0.000426f, -0.014292f, -0.051798f, 0.029384f, 0.048443f, -0.028681f, 0.001444f, 0.010852f, -0.016771f, -0.004056f, -0.036247f, -0.000775f, -0.020349f, 0.052590f, -0.000050f, -0.009960f, 0.042200f, -0.010770f, 0.012234f, -0.048508f, 0.025094f, 0.007453f, 0.032710f, -0.015341f, 0.024343f, 0.043018f, 0.046216f, 0.025917f, 0.041655f, 0.021318f, -0.006701f, 0.040486f, - -0.019690f, -0.026751f, -0.008621f, 0.016218f, 0.027421f, -0.066046f, -0.004578f, -0.042720f, 0.033774f, 0.015264f, -0.000917f, 0.011586f, 0.047326f, 0.001968f, 0.042228f, 0.018006f, 0.063990f, 0.005700f, -0.007376f, 0.027997f, 0.009195f, -0.032732f, 0.006945f, -0.003875f, -0.043904f, 0.030687f, -0.026512f, -0.042842f, -0.087553f, 0.006725f, -0.010862f, 0.051382f, -0.028735f, 0.068783f, 0.022648f, -0.001223f, -0.010605f, 0.026784f, 0.028246f, -0.050438f, -0.021586f, -0.037293f, 0.012904f, -0.016869f, 0.037750f, 0.011960f, 0.012652f, 0.018207f, -0.008774f, 0.003172f, -0.013304f, -0.004675f, 0.001004f, -0.005058f, -0.038971f, 0.015299f, -0.000123f, 0.011457f, 0.000328f, -0.011534f, 0.001201f, 0.015835f, -0.025940f, 0.022250f, -0.009534f, -0.000141f, 0.002495f, -0.021816f, -0.001898f, 0.013070f, 0.006613f, -0.015692f, -0.006495f, -0.003849f, -0.018358f, 0.006083f, -0.005255f, 0.026629f, -0.021442f, 0.009443f, 0.018582f, 0.006605f, -0.007924f, -0.005927f, 0.009027f, 0.004371f, 0.005595f, -0.004802f, 0.009361f, -0.028627f, 0.007627f, 0.006788f, 0.012258f, -0.008734f, -0.013367f, 0.000953f, - 0.011999f, 0.001605f, 0.033265f, -0.022242f, -0.024888f, -0.024485f, 0.031989f, 0.016596f, 0.041655f, 0.011564f, 0.128870f, -0.038273f, 0.000693f, 0.000970f, 0.059987f, 0.024840f, 0.027775f, -0.039350f, 0.017282f, -0.015515f, 0.001114f, -0.018201f, 0.004006f, 0.043357f, -0.011409f, 0.013753f, 0.083779f, 0.026302f, -0.037945f, -0.044428f, 0.005168f, 0.054640f, 0.028495f, 0.010387f, -0.021141f, 0.046516f, 0.007897f, -0.006898f, -0.051112f, 0.015630f, -0.008121f, 0.022032f, -0.046399f, -0.028317f, 0.002419f, -0.011799f, 0.006107f, -0.043262f, -0.001492f, -0.026387f, 0.012261f, 0.038367f, 0.030667f, 0.010042f, -0.059365f, 0.000506f, 0.005870f, -0.053492f, -0.047779f, -0.031659f, -0.026122f, -0.026074f, 0.042345f, 0.009679f, -0.001211f, 0.027616f, 0.044030f, 0.011755f, 0.038133f, 0.001040f, 0.025247f, 0.168371f, -0.038415f, 0.027750f, 0.019329f, -0.029577f, 0.006268f, -0.112177f, 0.002262f, 0.055716f, 0.014584f, -0.030856f, 0.042894f, 0.010348f, 0.016320f, -0.027983f, -0.006351f, -0.023905f, 0.008408f, 0.002095f, 0.002136f, 0.009619f, -0.034757f, 0.012882f, -0.019063f, -0.013858f, - -0.047589f, 0.011828f, 0.010942f, 0.009503f, 0.012267f, 0.059589f, 0.009008f, 0.006390f, 0.006853f, 0.004678f, 0.035623f, 0.004201f, 0.015052f, 0.012473f, 0.027181f, 0.010939f, -0.001615f, -0.006002f, -0.004925f, 0.004525f, 0.017247f, 0.020584f, 0.006105f, -0.031259f, -0.014347f, -0.006917f, -0.006911f, -0.010325f, -0.032641f, -0.007929f, 0.025086f, 0.068172f, -0.031690f, -0.001613f, -0.045729f, -0.033210f, 0.010835f, 0.029884f, -0.037831f, 0.045189f, 0.018954f, -0.059280f, 0.036489f, -0.023992f, -0.029358f, -0.002435f, -0.035507f, 0.008378f, -0.015886f, 0.045863f, -0.026397f, -0.002066f, 0.025255f, -0.088478f, 0.012699f, 0.027496f, -0.026687f, 0.021824f, -0.053455f, 0.053489f, 0.005869f, 0.009239f, -0.101172f, 0.091368f, 0.039193f, 0.030027f, 0.002038f, -0.057672f, 0.052927f, -0.003344f, -0.026185f, 0.093438f, -0.018573f, -0.040981f, -0.021581f, 0.011317f, 0.027058f, 0.025629f, 0.006843f, -0.015710f, -0.109948f, -0.012384f, 0.027541f, 0.001644f, 0.040408f, -0.057689f, 0.059611f, 0.006091f, 0.020176f, -0.058636f, -0.016931f, 0.009488f, 0.075972f, -0.031543f, 0.017776f, -0.054321f, - 0.048115f, 0.026995f, 0.045408f, -0.017455f, 0.020138f, 0.007887f, -0.059390f, -0.056700f, 0.031237f, 0.025549f, 0.048435f, 0.010420f, 0.062152f, -0.093565f, -0.122465f, 0.019611f, -0.025819f, 0.069268f, -0.045132f, -0.009728f, 0.008004f, -0.052106f, 0.002605f, -0.031084f, 0.027150f, 0.038528f, 0.003867f, 0.031272f, 0.034370f, 0.010263f, -0.031003f, -0.015606f, 0.055278f, 0.028821f, 0.007193f, 0.009732f, -0.016553f, 0.001393f, 0.033664f, 0.018934f, -0.027217f, -0.015322f, 0.031324f, -0.004350f, 0.019526f, 0.019692f, -0.012021f, -0.015904f, -0.016136f, 0.000226f, 0.016724f, 0.007660f, 0.021389f, 0.030740f, 0.002536f, -0.000864f, 0.025018f, 0.001659f, 0.005047f, 0.008022f, -0.010437f, 0.008682f, -0.018267f, 0.010537f, 0.003774f, 0.000550f, 0.007686f, -0.009112f, -0.085617f, 0.077965f, -0.016901f, -0.018911f, -0.030509f, -0.008963f, -0.067522f, -0.126031f, 0.043447f, 0.036102f, -0.005603f, -0.026035f, -0.051368f, -0.008542f, -0.015964f, -0.027353f, 0.049591f, -0.112714f, -0.048182f, -0.059533f, -0.017777f, -0.085834f, -0.007945f, -0.012979f, -0.003113f, -0.014424f, -0.017431f, 0.013767f, - -0.000883f, -0.038014f, -0.011922f, -0.000908f, -0.051981f, -0.027799f, -0.015354f, 0.003748f, 0.039968f, -0.020561f, 0.080137f, -0.041918f, -0.006023f, 0.033676f, -0.035768f, 0.021710f, 0.004545f, -0.054972f, -0.082216f, -0.020174f, 0.020984f, 0.074953f, 0.032511f, -0.057448f, -0.024304f, -0.164892f, -0.055183f, -0.011905f, 0.034687f, 0.089526f, -0.004747f, -0.095920f, 0.005333f, 0.052087f, -0.019165f, -0.004540f, 0.055236f, 0.058125f, 0.133370f, -0.147365f, -0.028567f, 0.020885f, 0.037299f, -0.046514f, -0.055217f, -0.078799f, -0.078227f, -0.043766f, -0.036367f, -0.010246f, -0.005592f, -0.091038f, -0.037725f, -0.033366f, 0.033710f, -0.017182f, -0.008965f, 0.082002f, 0.062115f, 0.004986f, -0.011704f, -0.003757f, -0.050644f, -0.002250f, 0.018054f, -0.036592f, -0.019597f, 0.006941f, 0.023147f, -0.015509f, -0.017926f, -0.012130f, 0.025829f, -0.017082f, 0.027067f, 0.001940f, 0.027954f, 0.019862f, 0.020152f, -0.015387f, 0.010207f, -0.038355f, 0.019808f, -0.005039f, 0.011685f, -0.033911f, -0.026252f, -0.003798f, 0.008782f, -0.019089f, 0.000518f, -0.042984f, -0.007517f, -0.005150f, 0.018430f, 0.022777f, - -0.027340f, 0.056144f, 0.001196f, 0.020842f, 0.012522f, 0.040681f, 0.040802f, -0.001966f, 0.025968f, -0.048649f, 0.011389f, -0.019842f, -0.117168f, 0.026189f, -0.020265f, 0.034291f, -0.032592f, -0.033526f, 0.002194f, -0.049162f, 0.008039f, -0.049566f, -0.001298f, -0.008845f, -0.019642f, 0.023474f, -0.037121f, -0.048245f, -0.044149f, -0.056608f, -0.009767f, -0.006404f, 0.062143f, 0.013588f, -0.045941f, -0.068008f, 0.008545f, -0.001665f, 0.015775f, -0.013432f, 0.037501f, -0.044793f, -0.018085f, -0.062812f, -0.040441f, -0.018218f, 0.001690f, -0.026644f, 0.064815f, -0.023007f, -0.056132f, 0.017099f, 0.067281f, 0.048903f, 0.019650f, -0.048072f, -0.031579f, -0.005088f, 0.061048f, 0.117469f, -0.001482f, 0.022962f, -0.022973f, -0.115335f, -0.025698f, 0.010276f, 0.043026f, 0.098079f, -0.054823f, -0.066818f, 0.038697f, 0.018379f, -0.023537f, 0.002940f, -0.037014f, 0.022453f, -0.097731f, -0.011367f, 0.005183f, 0.023484f, -0.059080f, 0.067550f, -0.095588f, -0.108489f, -0.100416f, 0.050360f, -0.020915f, 0.095213f, -0.133310f, -0.058042f, 0.010297f, 0.135608f, -0.011270f, -0.024277f, -0.075038f, -0.027449f, - -0.009081f, 0.065359f, -0.005901f, -0.000379f, 0.003570f, 0.011289f, 0.000962f, -0.001049f, -0.028597f, -0.024154f, 0.030905f, 0.013725f, 0.003468f, -0.071136f, 0.017505f, -0.018329f, -0.008718f, -0.036839f, 0.001353f, -0.003334f, -0.007026f, -0.083673f, 0.007439f, -0.018529f, -0.009870f, -0.007261f, 0.013894f, -0.000291f, 0.004891f, -0.000574f, 0.000221f, -0.000268f, 0.000108f, -0.030507f, -0.006183f, -0.019626f, -0.017117f, 0.014572f, 0.014897f, -0.024463f, 0.000674f, -0.017423f, 0.022525f, -0.008413f, 0.069562f, 0.021342f, -0.123912f, -0.021894f, -0.085463f, 0.038301f, 0.007245f, -0.170423f, 0.011726f, -0.052352f, -0.110384f, -0.085836f, -0.125983f, 0.078166f, -0.038370f, -0.099109f, -0.044510f, 0.032390f, -0.059054f, -0.050916f, -0.039734f, -0.023506f, -0.043814f, -0.043472f, -0.080418f, -0.058105f, -0.110364f, -0.062154f, -0.056074f, -0.018371f, -0.051897f, -0.010457f, -0.024185f, -0.001261f, 0.004413f, 0.014962f, 0.031187f, -0.030227f, 0.025987f, 0.003409f, 0.056986f, 0.025010f, 0.035698f, 0.036071f, -0.103358f, -0.026940f, 0.083516f, -0.013967f, -0.051240f, -0.057803f, -0.042729f, 0.033657f, - 0.134634f, -0.008580f, -0.001663f, -0.089752f, -0.091549f, -0.019062f, 0.019351f, 0.080634f, -0.005133f, 0.073528f, 0.027505f, -0.088154f, 0.160161f, 0.003410f, 0.124734f, 0.000665f, -0.031298f, 0.067107f, -0.089045f, -0.115255f, -0.073636f, -0.255734f, -0.154928f, -0.050597f, 0.117826f, 0.072355f, -0.102258f, -0.067237f, -0.156519f, 0.078232f, 0.104416f, -0.079871f, -0.079731f, 0.018804f, 0.069198f, 0.098105f, 0.027959f, 0.056412f, -0.051551f, -0.028343f, -0.038690f, -0.059378f, -0.023824f, -0.005097f, 0.006452f, 0.002741f, -0.031872f, 0.005388f, 0.023016f, 0.007562f, -0.004334f, -0.023380f, -0.015156f, -0.026687f, -0.009150f, -0.039573f, -0.007612f, 0.024792f, -0.037785f, -0.062706f, -0.008234f, -0.041070f, -0.027123f, -0.004630f, -0.052118f, -0.040840f, -0.009617f, 0.025671f, 0.027523f, 0.029586f, 0.000601f, -0.022475f, -0.002519f, 0.009731f, -0.012230f, 0.039674f, 0.003317f, 0.029302f, 0.003225f, 0.000130f, 0.030646f, 0.022777f, 0.034293f, 0.070988f, 0.046337f, 0.053022f, 0.046004f, -0.043528f, -0.105703f, 0.122929f, 0.117548f, -0.074333f, -0.096450f, -0.000448f, 0.105474f, -0.011432f, - -0.006124f, -0.032858f, 0.092231f, -0.010222f, -0.024617f, -0.002241f, 0.025471f, 0.047361f, 0.001267f, -0.035550f, -0.040474f, 0.056920f, 0.004223f, -0.024447f, -0.060868f, 0.034620f, 0.019092f, -0.006906f, -0.047978f, 0.015102f, 0.020636f, 0.017151f, -0.030350f, -0.018190f, 0.005352f, 0.046974f, -0.013821f, 0.016887f, -0.069084f, -0.019199f, 0.000100f, 0.045516f, -0.096165f, -0.017152f, 0.009342f, 0.069238f, -0.033279f, 0.010761f, -0.049147f, 0.006728f, 0.020324f, -0.033764f, -0.025781f, -0.003974f, 0.011225f, 0.021141f, -0.021937f, 0.001517f, -0.085717f, 0.046411f, -0.014351f, 0.080317f, -0.049805f, 0.035854f, -0.033908f, 0.037277f, 0.006931f, 0.025014f, 0.021140f, -0.062329f, 0.070506f, 0.013985f, 0.040661f, -0.068795f, 0.019095f, -0.017468f, 0.010903f, -0.019581f, 0.002692f, -0.004724f, 0.009342f, 0.023428f, -0.003718f, -0.027473f, -0.016414f, 0.007079f, -0.003759f, 0.001774f, -0.010771f, -0.026761f, 0.008932f, 0.007169f, -0.008375f, -0.007543f, -0.000561f, -0.008360f, 0.001198f, -0.014536f, -0.000531f, -0.007079f, 0.011980f, 0.007078f, -0.005064f, -0.010780f, 0.003678f, 0.000339f, - -0.009585f, 0.006997f, -0.029481f, -0.000226f, -0.003520f, 0.013140f, -0.000566f, 0.033928f, -0.022565f, -0.022832f, -0.007862f, 0.017929f, -0.024428f, 0.036390f, -0.030622f, 0.015458f, -0.015053f, 0.033175f, -0.029733f, 0.036496f, -0.020795f, 0.028540f, -0.025834f, 0.044344f, -0.041792f, 0.032119f, -0.009679f, 0.024177f, -0.022537f, 0.023757f, -0.025505f, 0.026795f, -0.025652f, 0.021497f, -0.017145f, 0.023752f, -0.018382f, 0.019811f, -0.018228f, 0.005776f, -0.005939f, 0.011937f, -0.008862f, 0.009644f, -0.007594f, 0.007536f, -0.004940f, 0.009866f, -0.036048f, -0.080117f, -0.106523f, 0.077635f, 0.051501f, -0.060768f, -0.086573f, -0.042447f, 0.040051f, 0.020982f, 0.053286f, 0.057346f, 0.011224f, -0.028978f, -0.008454f, 0.020034f, -0.019753f, -0.001660f, 0.011856f, 0.003210f, 0.032110f, 0.022411f, 0.009727f, -0.028961f, -0.001083f, -0.017954f, 0.018630f, -0.030343f, -0.026254f, 0.021946f, -0.007001f, -0.012384f, -0.012118f, -0.021114f, -0.028878f, 0.002154f, 0.023578f, 0.021463f, 0.018038f, -0.006911f, -0.023811f, -0.020738f, -0.014466f, 0.025660f, 0.034977f, -0.016361f, -0.024451f, -0.010634f, - 0.029025f, 0.014935f, 0.038831f, -0.027507f, -0.010442f, 0.015285f, -0.007321f, 0.001222f, -0.004163f, 0.013726f, 0.008263f, 0.011077f, 0.002336f, -0.026325f, 0.010873f, 0.004832f, -0.000974f, 0.020293f, -0.010570f, -0.005250f, 0.003511f, -0.003801f, 0.002607f, -0.007657f, 0.034468f, 0.008619f, -0.002791f, 0.032798f, 0.032895f, -0.033479f, -0.050627f, -0.018594f, -0.034676f, 0.000999f, 0.022931f, 0.006517f, -0.020742f, -0.025054f, -0.006677f, -0.004862f, 0.019927f, 0.009481f, 0.012419f, 0.018638f, 0.011393f, -0.010447f, 0.011536f, 0.008154f, -0.024371f, -0.032687f, 0.009778f, -0.008641f, 0.016246f, 0.011900f, -0.017915f, -0.004816f, -0.006088f, -0.006591f, -0.020817f, -0.011444f, -0.001298f, 0.006554f, 0.009937f, 0.027659f, -0.013786f, -0.010334f, 0.007089f, -0.006450f, 0.036523f, -0.088720f, -0.233572f, -0.085866f, 0.041896f, 0.121509f, 0.256637f, 0.171733f, 0.044203f, 0.065085f, -0.034293f, -0.104465f, -0.173477f, -0.150948f, -0.119999f, -0.034615f, 0.004624f, 0.083483f, 0.092054f, 0.195935f, 0.095134f, 0.062713f, -0.004912f, -0.041780f, -0.094305f, -0.048988f, -0.076254f, -0.087965f, - -0.054142f, -0.045352f, -0.003371f, 0.024486f, 0.073322f, 0.045301f, 0.052635f, 0.047814f, 0.048363f, 0.072701f, 0.006292f, 0.050365f, -0.009329f, -0.022644f, -0.061354f, -0.036590f, -0.091506f, -0.134747f, -0.117700f, 0.001365f, -0.020004f, 0.036922f, 0.063312f, 0.034683f, 0.097653f, 0.085228f, 0.123418f, 0.070218f, 0.083709f, 0.004117f, 0.004138f, -0.066016f, -0.107792f, -0.126020f, -0.151230f, -0.099447f, -0.123586f, -0.010427f, -0.000466f, 0.059471f, 0.062438f, 0.149380f, 0.117397f, 0.166866f, 0.067769f, 0.077994f, 0.032570f, -0.000739f, -0.099561f, -0.162488f, -0.108753f, -0.129820f, -0.080826f, -0.087919f, -0.008181f, 0.013552f, 0.051897f, 0.068003f, 0.092228f, 0.094066f, 0.090527f, 0.059210f, 0.064835f, 0.016827f, -0.011708f, -0.022310f, -0.072938f, -0.066585f, -0.087332f, -0.061793f, -0.087300f, -0.066603f, -0.006909f, 0.015546f, 0.046082f, 0.069454f, 0.062043f, 0.063845f, 0.105318f, 0.038066f, 0.064320f, 0.049290f, -0.066344f, -0.120215f, -0.052060f, -0.106009f, -0.066766f, -0.036415f, -0.007538f, 0.009379f, 0.033779f, 0.061077f, 0.042588f, 0.065708f, 0.041779f, 0.035741f, - 0.014472f, -0.004106f, -0.038187f, -0.012633f, -0.017898f, -0.067123f, -0.062625f, -0.017357f, -0.007059f, 0.003473f, 0.022056f, 0.025675f, 0.032704f, 0.026010f, 0.025855f, 0.009588f, 0.008724f, -0.000494f, -0.014676f, -0.007435f, -0.005390f, -0.015113f, -0.023948f, -0.008361f, -0.012079f, -0.014281f, -0.001866f, 0.005924f, 0.006823f, 0.009928f, 0.011066f, 0.010288f, 0.004310f, 0.001968f, 0.001330f, 0.001369f} - }, - { - {0.014252f, 0.001519f, -0.003851f, -0.004029f, 0.002484f, -0.006883f, -0.000100f, -0.013414f, 0.009628f, 0.012208f, 0.008530f, 0.012014f, -0.014405f, 0.001171f, 0.003302f, -0.005134f, -0.003951f, -0.003509f, -0.016872f, -0.002835f, 0.010042f, -0.017274f, -0.014036f, 0.008179f, 0.007415f, -0.011098f, -0.003866f, 0.007355f, 0.000949f, 0.008941f, 0.003836f, 0.009313f, -0.005837f, 0.001786f, 0.001298f, -0.002468f, 0.004342f, 0.003412f, 0.006326f, 0.002657f, -0.002782f, 0.000611f, 0.007067f, -0.001904f, -0.003202f, -0.001190f, -0.008528f, -0.018836f, 0.011210f, 0.005442f, -0.005886f, 0.008270f, -0.003301f, 0.000919f, -0.000281f, 0.003845f, -0.004963f, -0.001289f, 0.011141f, -0.010480f, -0.004195f, 0.003645f, 0.001827f, -0.001619f, -0.000508f, 0.004883f, 0.000567f, 0.004323f, -0.007463f, 0.007606f, 0.003921f, -0.009738f, 0.007769f, 0.000691f, 0.002821f, -0.001161f, -0.002887f, -0.011367f, -0.003509f, -0.000849f, 0.005853f, -0.001499f, 0.004789f, -0.002856f, 0.000577f, 0.001426f, 0.000582f, 0.003393f, -0.000596f, 0.000236f, -0.000405f, -0.002301f, -0.001040f, 0.000454f, -0.001227f, 0.000164f, - -0.000047f, -0.000522f, 0.003119f, 0.003129f, 0.001637f, 0.001305f, 0.001143f, 0.000405f, 0.000022f, 0.000419f, 0.000181f, -0.000472f, -0.001378f, -0.001559f, 0.022253f, -0.012816f, 0.003898f, -0.014164f, 0.001692f, 0.003300f, -0.014279f, -0.018053f, 0.004496f, -0.019586f, 0.004304f, -0.005116f, -0.001362f, -0.012017f, -0.001751f, -0.013493f, -0.006941f, 0.000043f, -0.014274f, 0.015147f, 0.005327f, -0.023669f, 0.002237f, -0.001315f, -0.004295f, -0.010139f, 0.005078f, 0.012262f, 0.000234f, -0.000917f, 0.011511f, -0.006782f, 0.000137f, -0.004322f, 0.007625f, -0.008957f, 0.002613f, 0.010756f, -0.009385f, 0.009404f, 0.003301f, 0.010173f, -0.000886f, 0.002296f, -0.001554f, -0.004318f, 0.013334f, -0.016582f, 0.003810f, -0.007350f, -0.003197f, -0.002180f, -0.006044f, -0.004479f, -0.013218f, -0.008320f, -0.002077f, 0.008577f, -0.000746f, 0.003206f, 0.012019f, -0.000305f, -0.010448f, -0.001367f, 0.000363f, 0.003239f, -0.005108f, -0.000011f, -0.010277f, 0.000190f, -0.004194f, 0.003363f, 0.005319f, 0.007818f, 0.002781f, -0.004459f, -0.005780f, 0.007673f, -0.002594f, -0.003559f, 0.001422f, 0.004253f, - 0.008858f, 0.001050f, 0.002531f, -0.000611f, 0.005187f, -0.001043f, -0.004138f, -0.002140f, -0.002056f, -0.000219f, 0.003513f, 0.000657f, -0.000249f, -0.001907f, 0.003403f, -0.000040f, -0.001296f, -0.000990f, -0.000890f, -0.001028f, 0.001610f, -0.000717f, -0.000185f, -0.002008f, -0.005358f, -0.018434f, -0.000218f, -0.011110f, -0.003506f, -0.001812f, -0.012956f, -0.001776f, -0.003018f, 0.006427f, 0.015110f, 0.015195f, 0.001807f, -0.006499f, 0.006077f, -0.014724f, -0.002105f, -0.005637f, 0.005132f, -0.021941f, 0.007746f, 0.003711f, -0.000801f, -0.006317f, -0.009457f, -0.004328f, -0.007802f, -0.006717f, 0.004104f, -0.001474f, -0.008409f, -0.002459f, 0.001703f, 0.014318f, -0.000553f, -0.014478f, 0.001133f, 0.006225f, -0.000181f, -0.004562f, 0.001201f, 0.005442f, -0.015726f, -0.001231f, -0.006838f, 0.011041f, 0.006727f, 0.001866f, -0.014538f, 0.001637f, 0.005600f, 0.008908f, 0.008342f, -0.009562f, -0.004493f, 0.000427f, -0.002986f, -0.003002f, 0.007771f, -0.004828f, 0.004757f, 0.001299f, -0.006109f, -0.001384f, -0.008393f, 0.010106f, 0.003798f, -0.009996f, -0.006890f, 0.001682f, 0.005302f, -0.007931f, - -0.009996f, -0.001706f, 0.000497f, -0.006653f, 0.001431f, -0.002733f, 0.003374f, -0.006341f, 0.009423f, 0.005044f, 0.007104f, 0.002027f, 0.000938f, 0.006388f, 0.008647f, 0.001006f, 0.002458f, -0.000828f, 0.001231f, 0.000145f, -0.000359f, 0.000964f, 0.000729f, 0.001001f, -0.001364f, 0.000048f, 0.000666f, -0.000484f, 0.000154f, 0.002880f, -0.001675f, 0.000656f, -0.002006f, -0.001610f, -0.001344f, 0.000296f, 0.001094f, 0.000735f, 0.000102f, -0.001868f, -0.001235f, -0.031374f, 0.010128f, 0.009057f, 0.015175f, -0.003954f, 0.009524f, -0.027063f, -0.007412f, 0.008461f, 0.000988f, -0.013395f, -0.003504f, -0.004469f, -0.023714f, -0.009619f, 0.002383f, -0.001105f, -0.016914f, 0.010535f, 0.014975f, -0.015418f, 0.011667f, -0.020186f, -0.006883f, -0.001828f, 0.006919f, -0.000128f, -0.008203f, 0.005514f, 0.002732f, -0.001367f, 0.008985f, -0.004382f, -0.005834f, -0.001832f, -0.003343f, -0.005989f, 0.008836f, -0.006833f, 0.002481f, 0.006617f, -0.001381f, -0.005296f, -0.009935f, -0.001224f, -0.007099f, -0.002181f, -0.008254f, -0.002247f, 0.018259f, 0.000351f, 0.011089f, -0.010232f, 0.009299f, -0.002940f, - -0.014979f, -0.008842f, 0.008241f, -0.005457f, -0.007635f, 0.005434f, -0.008972f, 0.007418f, 0.001967f, -0.002773f, 0.009696f, 0.008763f, 0.003843f, -0.009677f, -0.010963f, -0.000780f, 0.014514f, 0.002869f, 0.002171f, -0.008271f, 0.002114f, 0.005205f, -0.011134f, -0.004085f, 0.003573f, 0.007729f, 0.003810f, 0.006540f, -0.000406f, 0.000043f, 0.002381f, 0.000290f, -0.001284f, 0.000378f, -0.000985f, -0.001420f, -0.004947f, -0.003944f, 0.001160f, -0.002379f, -0.001443f, 0.001638f, 0.000710f, 0.001195f, -0.000345f, 0.001996f, -0.001338f, 0.000084f, -0.001765f, 0.000008f, -0.002134f, 0.001039f, 0.000323f, 0.001428f, -0.002773f, -0.016854f, -0.016025f, -0.010617f, 0.001904f, -0.002765f, 0.006460f, -0.005856f, -0.000064f, 0.001082f, -0.004836f, -0.001883f, 0.003946f, -0.004795f, 0.018589f, -0.012320f, 0.008567f, -0.003290f, -0.001355f, -0.008769f, -0.002469f, -0.001281f, 0.013530f, -0.009377f, 0.001138f, 0.002555f, -0.013431f, -0.008245f, -0.009201f, -0.007836f, -0.015558f, -0.005418f, 0.005484f, 0.010410f, 0.006566f, -0.012442f, -0.017513f, -0.003915f, 0.000449f, -0.008962f, 0.001542f, -0.006118f, - -0.009178f, -0.021663f, -0.010931f, -0.015211f, 0.008629f, -0.004001f, 0.006995f, -0.008776f, -0.021122f, -0.011244f, 0.000953f, -0.004375f, -0.006990f, -0.003230f, -0.008371f, 0.011144f, 0.000919f, 0.006450f, 0.008664f, 0.002126f, -0.000452f, -0.007386f, 0.000234f, 0.009420f, -0.001732f, -0.007134f, -0.009853f, 0.015563f, -0.013116f, -0.018277f, -0.012936f, -0.007490f, -0.010194f, 0.011296f, 0.018082f, -0.014578f, -0.010083f, 0.002140f, 0.008725f, 0.013456f, 0.010624f, 0.008273f, 0.008161f, -0.003016f, -0.003699f, -0.004215f, -0.004362f, 0.003261f, -0.002708f, 0.000819f, -0.003284f, -0.005233f, -0.002187f, -0.003795f, 0.002626f, -0.002405f, -0.004672f, -0.002768f, -0.002736f, -0.004696f, -0.005181f, -0.003277f, -0.001374f, 0.000927f, 0.000830f, 0.002305f, 0.000219f, -0.007998f, 0.000852f, -0.001307f, -0.003267f, 0.000841f, -0.001468f, -0.002479f, -0.005269f, -0.004363f, 0.000060f, -0.000076f, -0.001826f, -0.002091f, -0.000081f, 0.004301f, -0.034423f, 0.010615f, -0.002447f, 0.006085f, 0.018863f, 0.007403f, -0.004684f, 0.006383f, -0.014218f, 0.008778f, 0.010291f, -0.018755f, -0.004022f, -0.009499f, - 0.010559f, 0.009196f, 0.014334f, 0.016641f, -0.021646f, -0.011147f, 0.003548f, 0.018576f, -0.007067f, 0.008635f, -0.020696f, -0.006251f, -0.007270f, -0.004391f, -0.012537f, 0.003099f, -0.020491f, 0.014183f, -0.004038f, -0.003636f, 0.010347f, -0.000620f, 0.002349f, 0.011014f, 0.000282f, 0.009016f, 0.006023f, -0.002552f, -0.003571f, -0.001217f, -0.014393f, -0.010537f, -0.013153f, -0.000828f, 0.027292f, 0.006345f, 0.005264f, -0.000638f, -0.003832f, -0.000225f, 0.016302f, -0.003486f, 0.005089f, -0.031484f, 0.028957f, -0.007017f, -0.005194f, 0.001670f, 0.017728f, 0.006464f, -0.002990f, -0.010792f, 0.031028f, -0.005981f, -0.000397f, 0.009953f, -0.007885f, -0.000044f, 0.004431f, -0.006988f, 0.006112f, 0.006096f, 0.025619f, -0.012754f, -0.016081f, -0.002945f, 0.007653f, -0.009643f, 0.002130f, 0.006638f, 0.002098f, -0.005630f, 0.002519f, 0.006807f, -0.004311f, 0.000619f, -0.007359f, -0.002294f, -0.002180f, -0.005981f, 0.007848f, -0.005688f, -0.004856f, 0.003608f, -0.000251f, -0.006745f, -0.000634f, 0.001647f, 0.002883f, 0.000346f, 0.003396f, -0.002435f, -0.002118f, -0.001981f, 0.002273f, -0.002482f, - 0.004059f, 0.000465f, -0.001748f, 0.001888f, 0.004239f, -0.000095f, -0.001956f, 0.014898f, 0.008358f, 0.016579f, -0.006628f, -0.003938f, 0.009556f, -0.015287f, 0.013771f, 0.015715f, -0.007866f, -0.001317f, -0.024679f, 0.001178f, 0.008506f, 0.006885f, -0.005219f, -0.016788f, -0.034066f, 0.000557f, -0.005783f, -0.016164f, 0.003783f, 0.010880f, -0.014784f, -0.006296f, -0.016125f, 0.008173f, 0.000937f, -0.002394f, -0.005354f, -0.006988f, 0.017409f, 0.020308f, 0.007907f, 0.009681f, -0.004511f, -0.010183f, 0.028319f, 0.007049f, -0.004814f, -0.016614f, 0.012266f, 0.000521f, 0.016290f, -0.001425f, 0.020128f, 0.010074f, 0.014090f, 0.011919f, 0.006083f, 0.015673f, 0.019558f, -0.000548f, 0.003628f, -0.006228f, -0.000187f, 0.010680f, 0.004480f, 0.005815f, -0.017267f, -0.006331f, -0.003629f, -0.015035f, -0.014373f, -0.009464f, 0.008080f, 0.016629f, 0.021739f, 0.028438f, 0.006349f, 0.002504f, 0.022923f, -0.009109f, -0.017237f, -0.005992f, -0.008716f, 0.014844f, 0.012141f, 0.004664f, -0.016320f, -0.004430f, 0.002950f, 0.002398f, -0.003145f, -0.007510f, 0.002346f, 0.001950f, 0.009499f, -0.002240f, - -0.005188f, 0.001125f, 0.001884f, 0.002349f, 0.000227f, 0.000169f, 0.001929f, 0.004368f, -0.003008f, -0.002946f, 0.000343f, -0.000335f, -0.004240f, -0.000947f, -0.005423f, 0.006036f, 0.001992f, -0.004078f, -0.000109f, 0.004111f, -0.002062f, -0.000313f, -0.003190f, 0.001851f, 0.002210f, -0.001386f, 0.005267f, 0.004003f, 0.026315f, -0.024920f, -0.011710f, -0.003333f, 0.010091f, -0.023311f, 0.014767f, -0.022966f, 0.011327f, -0.000054f, 0.012017f, 0.019021f, -0.007764f, 0.017374f, 0.018997f, 0.018065f, -0.010446f, 0.015241f, -0.016377f, -0.013052f, -0.002016f, -0.010083f, -0.000146f, -0.008668f, 0.014929f, -0.011022f, 0.003295f, -0.010881f, -0.019123f, -0.008900f, -0.004018f, 0.023148f, -0.019380f, 0.018237f, 0.008031f, -0.026840f, 0.030821f, 0.007612f, 0.003449f, 0.021661f, 0.003854f, 0.000998f, -0.012244f, -0.000037f, -0.006833f, 0.024697f, 0.010430f, 0.017320f, -0.006727f, -0.004055f, 0.011916f, 0.020577f, -0.021472f, 0.021323f, 0.003900f, -0.003433f, -0.003996f, -0.020207f, 0.009764f, -0.009520f, 0.004129f, 0.000930f, -0.018335f, 0.006226f, 0.015541f, -0.014078f, 0.009861f, 0.006485f, - 0.021749f, 0.002343f, -0.001459f, 0.013228f, 0.019021f, 0.001579f, -0.010901f, 0.012799f, -0.014713f, -0.007636f, 0.003933f, -0.005929f, 0.003980f, -0.004747f, 0.001897f, 0.008253f, 0.006012f, -0.005975f, 0.005254f, -0.003060f, 0.004236f, -0.004185f, 0.013244f, 0.001368f, 0.012645f, -0.001485f, 0.003172f, -0.002639f, -0.001094f, -0.004003f, 0.008014f, 0.003398f, -0.006602f, 0.006937f, 0.008030f, -0.000856f, -0.001104f, 0.004934f, -0.000350f, -0.000383f, 0.006684f, -0.000172f, 0.001640f, 0.004349f, 0.002821f, -0.001005f, 0.005103f, -0.004192f, -0.000781f, 0.001018f, 0.001377f, 0.001170f, -0.000293f, -0.000570f, -0.005091f, 0.002452f, 0.007557f, -0.021243f, -0.015197f, 0.023118f, -0.029603f, 0.007468f, -0.015754f, 0.017601f, -0.018803f, 0.028748f, 0.009977f, 0.002787f, -0.024926f, 0.012716f, 0.021129f, 0.005584f, -0.012805f, -0.008332f, -0.007321f, 0.019604f, 0.010681f, -0.027354f, 0.003891f, -0.019353f, -0.001044f, 0.002216f, -0.016516f, 0.021685f, 0.021793f, -0.009884f, 0.004800f, 0.014765f, -0.018006f, -0.002747f, -0.005523f, -0.014937f, 0.031787f, -0.011548f, -0.007072f, -0.016000f, - -0.026682f, -0.004245f, 0.000528f, -0.009239f, 0.004004f, -0.022118f, 0.001985f, 0.001552f, -0.004395f, 0.017467f, -0.003605f, -0.013606f, 0.007118f, -0.000022f, -0.010134f, 0.008716f, 0.037690f, -0.007545f, 0.009008f, 0.002040f, -0.025526f, -0.004172f, 0.022865f, 0.010273f, 0.022701f, -0.002335f, 0.013148f, -0.018059f, 0.008153f, 0.007962f, 0.002722f, -0.015352f, 0.014239f, 0.004999f, -0.039732f, 0.003089f, -0.007126f, 0.026599f, -0.010154f, 0.020650f, 0.019205f, 0.015371f, -0.001838f, 0.005890f, 0.000974f, 0.001536f, -0.002520f, -0.004400f, 0.010471f, 0.004181f, -0.000064f, -0.006914f, -0.009561f, -0.002263f, 0.004213f, 0.006735f, 0.004923f, 0.008646f, 0.000393f, -0.002363f, -0.003485f, -0.002810f, 0.003228f, 0.005161f, -0.000381f, 0.004067f, 0.002782f, 0.000733f, 0.003853f, -0.000743f, 0.004027f, -0.006528f, -0.007936f, -0.010617f, -0.000389f, 0.004793f, 0.002306f, -0.005004f, -0.001687f, -0.003515f, -0.003730f, 0.006442f, 0.002107f, 0.002849f, -0.046490f, 0.052570f, 0.006200f, 0.020752f, -0.038140f, 0.020826f, 0.027100f, -0.031229f, 0.011902f, 0.015467f, 0.011965f, -0.020178f, - 0.002650f, 0.003566f, -0.006811f, 0.011787f, 0.024275f, -0.019483f, -0.016215f, -0.005927f, 0.020578f, 0.017800f, 0.025166f, -0.001209f, 0.010630f, -0.018748f, -0.004913f, -0.004867f, 0.004115f, 0.011835f, 0.032166f, 0.019158f, 0.011693f, 0.006122f, -0.001068f, 0.015372f, -0.005690f, -0.027597f, -0.005362f, 0.008120f, 0.008814f, -0.016149f, -0.012236f, -0.020001f, 0.003862f, -0.001584f, 0.007022f, -0.013110f, 0.023483f, 0.022964f, -0.019883f, 0.047276f, 0.002166f, -0.004339f, -0.000271f, -0.009836f, -0.002130f, -0.003022f, -0.019118f, 0.000322f, 0.000056f, 0.012554f, -0.039781f, 0.009750f, -0.014102f, 0.028901f, 0.034895f, 0.015110f, 0.014497f, 0.006525f, 0.002328f, 0.031509f, -0.005912f, -0.023292f, 0.019935f, -0.010488f, 0.005343f, 0.015568f, 0.028382f, 0.003993f, 0.002798f, -0.022719f, -0.000991f, 0.006652f, 0.018014f, -0.007825f, 0.009784f, 0.004724f, -0.006900f, 0.018302f, 0.003085f, 0.008208f, -0.005335f, -0.001683f, -0.005287f, 0.000898f, 0.002101f, -0.002785f, -0.000163f, 0.005516f, -0.003047f, 0.005590f, 0.003758f, -0.003893f, -0.000419f, 0.002600f, -0.001653f, 0.000450f, - -0.003754f, -0.012337f, -0.003553f, -0.001873f, 0.012897f, 0.015979f, 0.001562f, 0.002358f, -0.004596f, -0.005335f, 0.001338f, 0.001752f, -0.006687f, -0.005178f, -0.003479f, -0.003014f, 0.004281f, -0.007387f, -0.000366f, -0.005426f, 0.019119f, 0.003660f, -0.013314f, 0.012396f, 0.018605f, 0.016160f, 0.010198f, 0.019279f, -0.023461f, -0.014969f, 0.002603f, -0.021225f, -0.005304f, -0.003624f, 0.004657f, -0.005516f, -0.013790f, -0.017328f, -0.010429f, 0.008445f, 0.014511f, -0.025573f, 0.005340f, -0.002749f, -0.000746f, -0.030799f, -0.027662f, -0.004889f, -0.021473f, 0.010023f, -0.024479f, 0.001490f, 0.012987f, 0.018703f, -0.016719f, 0.022240f, 0.005619f, -0.002288f, -0.005003f, 0.033024f, -0.009307f, -0.001721f, -0.026682f, -0.015026f, 0.021598f, -0.001723f, 0.008123f, -0.025668f, -0.028114f, -0.007731f, -0.015905f, -0.002823f, 0.001133f, -0.010408f, -0.013350f, 0.007821f, -0.012401f, 0.001022f, -0.018232f, -0.009866f, -0.000561f, -0.029949f, 0.002653f, 0.019619f, 0.003650f, 0.010281f, 0.021323f, 0.036670f, -0.035538f, 0.006411f, -0.021969f, -0.021303f, -0.011996f, -0.016197f, -0.010485f, -0.009575f, - 0.035824f, 0.019734f, 0.019781f, 0.004097f, 0.005734f, -0.026011f, 0.001161f, -0.009180f, 0.004047f, -0.011308f, 0.015792f, 0.020967f, 0.001943f, -0.009530f, -0.006567f, -0.017948f, 0.001516f, 0.011005f, 0.005991f, -0.004355f, 0.011256f, 0.005468f, 0.011921f, -0.002598f, -0.002328f, 0.001965f, 0.007712f, -0.005004f, 0.003222f, -0.007354f, -0.010332f, 0.007375f, 0.002532f, 0.001517f, 0.001517f, -0.013914f, -0.008404f, -0.000072f, 0.010563f, -0.009006f, 0.005221f, -0.012067f, -0.004172f, -0.001927f, 0.004139f, 0.002904f, -0.003735f, -0.002942f, -0.016187f, 0.036910f, 0.039135f, 0.043005f, -0.032161f, 0.002242f, 0.023139f, 0.018204f, -0.018837f, -0.035926f, -0.004286f, -0.005439f, -0.028296f, -0.016392f, 0.053367f, 0.004114f, 0.003537f, 0.019921f, -0.002437f, 0.008466f, -0.007493f, -0.021308f, 0.013856f, 0.011596f, -0.028842f, -0.040909f, -0.031754f, -0.025225f, -0.024066f, 0.002216f, 0.006841f, 0.012062f, -0.016048f, 0.015522f, 0.003616f, -0.007895f, -0.016978f, -0.000647f, 0.000814f, -0.026096f, -0.020494f, 0.002908f, -0.004828f, 0.003473f, -0.015893f, 0.012667f, 0.003838f, -0.014921f, - -0.031966f, -0.012665f, -0.010878f, -0.042421f, -0.013480f, 0.003877f, 0.020794f, -0.002110f, 0.024647f, -0.004460f, -0.002221f, -0.036165f, -0.007806f, 0.014097f, 0.006629f, -0.060459f, 0.017168f, 0.005146f, -0.016971f, -0.010322f, -0.017698f, -0.019905f, -0.000931f, 0.000830f, -0.019289f, -0.006256f, 0.012083f, 0.017524f, 0.027589f, -0.021283f, 0.000875f, 0.015570f, -0.000844f, -0.046251f, -0.036942f, -0.000507f, -0.009879f, 0.011479f, -0.000479f, -0.011437f, -0.016670f, 0.007549f, -0.004900f, 0.006851f, 0.018735f, -0.000589f, -0.009472f, -0.015807f, -0.028996f, -0.009924f, 0.001623f, -0.004853f, -0.005004f, 0.001818f, 0.001754f, 0.012758f, -0.006712f, 0.001272f, 0.004688f, 0.002475f, -0.010563f, 0.001137f, -0.002783f, -0.025176f, 0.002433f, -0.009355f, -0.011470f, 0.004016f, 0.002957f, -0.007666f, -0.002520f, 0.008991f, 0.002503f, 0.002353f, -0.009407f, -0.010566f, -0.003825f, -0.000840f, 0.000424f, 0.006398f, 0.014799f, -0.012554f, 0.042015f, -0.035959f, -0.022138f, -0.007311f, -0.067989f, -0.035516f, -0.000187f, -0.043343f, 0.033653f, -0.015246f, -0.014047f, 0.003848f, 0.077062f, 0.037184f, - 0.002381f, 0.015817f, -0.003586f, -0.020692f, -0.002063f, -0.032011f, -0.023165f, 0.011006f, 0.011179f, 0.013815f, -0.022246f, 0.028478f, 0.017431f, 0.032220f, -0.032763f, 0.005249f, 0.047762f, 0.004450f, 0.001950f, 0.009409f, -0.045818f, 0.011674f, -0.011587f, 0.007514f, -0.018457f, -0.043273f, -0.002661f, 0.017454f, 0.021289f, 0.005489f, -0.006771f, 0.003113f, -0.001999f, 0.014302f, -0.032679f, -0.047563f, 0.008484f, -0.017384f, 0.028354f, -0.011391f, -0.011835f, 0.037025f, 0.008320f, 0.015900f, 0.002935f, -0.031374f, -0.012878f, -0.003791f, 0.016883f, 0.048844f, 0.037597f, -0.011275f, -0.043248f, -0.000942f, -0.005003f, 0.015956f, -0.026679f, -0.033443f, -0.018994f, 0.015757f, -0.033873f, -0.005342f, -0.028428f, 0.000118f, 0.022843f, -0.000761f, -0.042592f, -0.009422f, 0.005609f, 0.011130f, 0.005269f, -0.026598f, -0.017923f, -0.028462f, 0.004366f, -0.006029f, -0.012375f, -0.009548f, -0.012368f, 0.002333f, -0.005179f, -0.011859f, -0.003377f, 0.008245f, -0.000080f, -0.000461f, -0.014472f, -0.000426f, -0.001388f, -0.009274f, 0.000728f, 0.017663f, 0.005902f, 0.003141f, -0.018309f, 0.007013f, - -0.002054f, -0.002204f, 0.002829f, -0.000532f, -0.000400f, -0.003859f, -0.010917f, -0.012234f, -0.009998f, 0.012207f, 0.010709f, -0.005112f, -0.027180f, -0.010166f, -0.010116f, -0.002344f, -0.077320f, 0.029891f, 0.024533f, -0.011324f, -0.051093f, -0.011251f, -0.019664f, -0.020697f, 0.022581f, 0.027894f, -0.002819f, 0.007651f, -0.058053f, 0.020499f, -0.072667f, -0.018358f, -0.006267f, 0.014525f, 0.036635f, 0.058147f, 0.024169f, -0.033591f, 0.007878f, 0.040640f, 0.005462f, 0.012395f, 0.022091f, -0.034143f, -0.013129f, -0.005351f, 0.010440f, -0.024041f, -0.012886f, -0.007259f, -0.018020f, -0.013757f, 0.024755f, 0.024267f, 0.006299f, 0.002061f, 0.041860f, -0.007815f, 0.019595f, -0.047192f, 0.031412f, 0.009006f, -0.042740f, 0.004422f, 0.013817f, -0.040214f, -0.005101f, -0.039329f, 0.013272f, 0.016633f, 0.017792f, -0.026464f, -0.002171f, 0.026516f, -0.021951f, 0.000359f, -0.003445f, 0.043738f, -0.025751f, 0.032236f, 0.016426f, -0.040657f, 0.035861f, -0.029922f, 0.023124f, 0.030357f, -0.030487f, 0.017324f, -0.025991f, -0.032444f, -0.048852f, -0.040813f, -0.044659f, -0.010646f, 0.008125f, -0.013433f, - 0.039303f, 0.040725f, -0.017059f, 0.035897f, -0.005357f, -0.007506f, 0.045731f, -0.010092f, -0.030403f, 0.021307f, -0.004436f, -0.023809f, -0.018206f, 0.018073f, 0.003357f, 0.009393f, 0.014427f, 0.002575f, 0.011901f, 0.018182f, -0.004673f, 0.020381f, 0.014152f, 0.010192f, 0.011735f, 0.001749f, 0.007282f, 0.017327f, 0.014107f, 0.017566f, 0.002816f, 0.014594f, -0.002514f, 0.001060f, 0.012895f, -0.006234f, -0.022581f, 0.010841f, 0.003866f, 0.000076f, 0.000705f, 0.010352f, -0.019946f, 0.010412f, 0.014450f, 0.011579f, -0.013128f, 0.012705f, -0.061099f, -0.028814f, -0.029995f, 0.053710f, 0.001757f, 0.020165f, -0.008580f, 0.076109f, 0.012126f, -0.050602f, 0.003848f, 0.055960f, -0.020545f, 0.012576f, -0.009091f, 0.004983f, -0.032498f, -0.043869f, 0.069951f, 0.049840f, -0.018999f, 0.038289f, 0.015116f, 0.049763f, 0.056539f, -0.016347f, -0.013203f, 0.050312f, 0.036894f, 0.004221f, -0.015749f, -0.024793f, -0.026053f, 0.023368f, 0.044353f, 0.020939f, -0.007971f, 0.029878f, -0.015544f, 0.028364f, -0.012531f, 0.041297f, 0.073011f, 0.055656f, -0.059293f, 0.027268f, -0.010033f, -0.024067f, - -0.000702f, 0.020812f, 0.020071f, 0.133305f, -0.013371f, -0.001279f, -0.021606f, -0.023532f, 0.026018f, 0.048225f, -0.011711f, 0.036684f, 0.031310f, -0.004091f, 0.001184f, -0.025825f, 0.026481f, 0.022290f, 0.070932f, 0.072154f, 0.087586f, 0.036446f, -0.022276f, -0.018027f, -0.040153f, 0.039351f, -0.059424f, 0.043116f, -0.055776f, 0.032898f, -0.019633f, -0.033516f, 0.024345f, -0.090350f, -0.071465f, 0.013095f, 0.014108f, -0.025815f, -0.025032f, 0.042229f, 0.021077f, -0.038740f, 0.005820f, -0.008786f, -0.021188f, 0.007001f, 0.010927f, 0.003364f, 0.011072f, 0.012997f, 0.022834f, -0.010507f, 0.004495f, -0.012716f, -0.022555f, -0.013772f, 0.005467f, 0.002005f, 0.031297f, 0.006709f, -0.007505f, -0.025283f, 0.004072f, -0.010002f, -0.008091f, -0.011228f, 0.008797f, 0.018876f, 0.006733f, 0.016387f, 0.013765f, 0.021654f, -0.009035f, 0.016505f, 0.002240f, 0.004834f, -0.001420f, 0.001444f, -0.012647f, 0.015222f, 0.036328f, 0.019493f, -0.003766f, -0.004010f, 0.028887f, 0.024214f, -0.022260f, 0.007148f, 0.014553f, -0.011161f, 0.041785f, 0.009439f, -0.097950f, 0.022463f, 0.012831f, -0.072866f, - 0.004289f, -0.012504f, 0.003017f, 0.026685f, -0.003543f, -0.067350f, -0.011970f, -0.021478f, -0.003786f, 0.047665f, 0.057222f, -0.032593f, -0.008227f, -0.027362f, 0.014076f, -0.051615f, -0.100098f, -0.035881f, -0.030247f, 0.005229f, 0.001617f, 0.045482f, -0.068444f, 0.032569f, -0.015945f, -0.007598f, 0.028064f, 0.013163f, 0.047541f, 0.010808f, 0.018274f, 0.050864f, -0.058218f, 0.072541f, 0.057575f, 0.030004f, 0.053994f, -0.021042f, 0.020460f, -0.050685f, -0.010150f, -0.025540f, 0.044707f, -0.039746f, 0.009498f, -0.085288f, -0.105783f, 0.070508f, -0.003361f, 0.045472f, -0.032204f, 0.030081f, -0.021081f, 0.006482f, -0.012147f, -0.069311f, -0.022021f, -0.046355f, -0.022115f, 0.025011f, 0.102526f, 0.036589f, -0.090750f, -0.020567f, 0.023816f, -0.021061f, -0.013754f, -0.059924f, -0.031157f, 0.046176f, -0.017527f, 0.011133f, 0.008876f, -0.037369f, 0.023375f, -0.005510f, 0.001582f, -0.076631f, -0.022549f, -0.001687f, -0.035257f, -0.019910f, 0.002632f, -0.051877f, 0.005123f, 0.011543f, -0.042226f, -0.033047f, -0.059507f, -0.044202f, -0.004432f, -0.024506f, -0.012053f, 0.001427f, -0.017306f, -0.016783f, - -0.007315f, -0.026202f, -0.012916f, 0.003306f, 0.017402f, -0.023117f, -0.008650f, -0.039541f, 0.013537f, 0.009646f, 0.022802f, -0.016406f, 0.023717f, -0.051144f, -0.003483f, -0.000065f, -0.004062f, 0.007745f, -0.008792f, 0.005349f, -0.024211f, -0.024941f, 0.007173f, 0.006162f, -0.060045f, 0.031908f, 0.031879f, 0.056481f, -0.027323f, 0.020798f, -0.031428f, -0.036561f, 0.016539f, 0.074948f, 0.121366f, -0.007405f, -0.007861f, 0.002696f, -0.002514f, -0.053861f, 0.084982f, 0.040878f, 0.045290f, 0.034915f, -0.024376f, 0.029584f, -0.047621f, -0.068677f, -0.011703f, 0.051670f, 0.033694f, -0.024488f, -0.015716f, -0.003283f, 0.041874f, 0.001892f, 0.030573f, 0.029902f, 0.049551f, 0.016585f, -0.030884f, -0.029374f, 0.028410f, -0.033085f, -0.024583f, 0.014740f, 0.054410f, 0.050112f, -0.056946f, -0.044078f, 0.029648f, 0.035262f, 0.106790f, -0.024640f, -0.057867f, -0.060060f, 0.051200f, -0.038401f, 0.048319f, 0.054524f, 0.109883f, 0.232887f, -0.051865f, -0.029578f, -0.087047f, -0.138790f, -0.044100f, -0.069853f, 0.008207f, 0.096642f, -0.013999f, 0.051218f, 0.073132f, 0.047883f, -0.026762f, -0.085945f, - -0.140669f, 0.078708f, -0.005337f, 0.089513f, -0.045763f, -0.122087f, 0.042840f, -0.072330f, -0.096210f, -0.049435f, -0.030478f, 0.030776f, 0.030483f, 0.054995f, -0.003875f, -0.026680f, -0.004035f, -0.002194f, -0.049670f, -0.048295f, 0.024827f, -0.017075f, 0.049517f, 0.044949f, -0.021242f, 0.044749f, -0.035004f, 0.001009f, 0.044312f, 0.004758f, -0.068393f, 0.018325f, -0.034325f, -0.006006f, -0.010875f, -0.009199f, -0.050351f, -0.041419f, 0.008301f, 0.060021f, 0.064590f, -0.060258f, -0.006870f, 0.073282f, 0.070437f, 0.000083f, 0.015075f, -0.066372f, -0.034949f, 0.009822f, 0.039067f, -0.057384f, 0.014968f, 0.044677f, 0.022754f, 0.016892f, 0.005389f, 0.028166f, -0.047001f, 0.008745f, -0.042845f, -0.118152f, 0.029745f, -0.049367f, 0.049036f, 0.007210f, 0.027377f, 0.023998f, -0.108090f, -0.076577f, -0.037934f, -0.023815f, -0.025131f, -0.044175f, -0.013747f, -0.073390f, -0.046753f, 0.035303f, -0.047796f, 0.090956f, -0.067681f, 0.006963f, 0.018738f, -0.007193f, 0.007991f, -0.003903f, 0.021724f, -0.021093f, -0.022747f, -0.003935f, 0.016274f, -0.002864f, 0.038997f, -0.036818f, 0.008293f, 0.057000f, - 0.018249f, 0.008548f, 0.029007f, 0.003598f, -0.023237f, -0.014791f, 0.046234f, 0.010373f, -0.073129f, -0.032416f, -0.059343f, -0.027008f, 0.078593f, 0.073306f, -0.075751f, -0.008379f, -0.086126f, -0.020754f, -0.007184f, 0.019857f, 0.043145f, -0.070536f, 0.047026f, -0.060051f, -0.010188f, -0.040685f, 0.090490f, -0.018302f, 0.063814f, 0.059712f, 0.132866f, -0.061225f, 0.054776f, 0.008918f, 0.052041f, 0.018181f, 0.039693f, -0.066601f, -0.061212f, 0.088779f, 0.004290f, -0.003352f, -0.062916f, 0.071677f, -0.024312f, 0.036769f, -0.066223f, 0.139090f, -0.074579f, 0.077373f, -0.093369f, 0.036860f, -0.070392f, 0.038847f, -0.064861f, 0.048036f, -0.041108f, 0.028212f, -0.022982f, 0.015532f, -0.034995f, -0.021606f, -0.016617f, -0.004370f, 0.012264f, 0.002140f, 0.009868f, 0.000798f, 0.009690f, -0.005294f, -0.017935f, -0.028266f, 0.012697f, 0.014025f, 0.003945f, 0.012845f, -0.010688f, 0.004994f, -0.008505f, 0.005249f, 0.047679f, -0.012097f, -0.034486f, 0.004803f, -0.019622f, -0.036686f, 0.011449f, -0.020068f, 0.014418f, -0.016843f, 0.011937f, -0.032072f, 0.012759f, -0.041448f, 0.057931f, 0.008914f, - -0.106552f, -0.046931f, -0.066047f, 0.003594f, -0.015501f, -0.143856f, -0.065371f, -0.037769f, -0.076682f, -0.047784f, -0.144968f, -0.122388f, -0.022421f, 0.051958f, -0.079918f, -0.047808f, -0.011880f, -0.068102f, -0.015862f, -0.005719f, -0.065920f, -0.017803f, 0.013126f, 0.002939f, -0.087396f, -0.049864f, -0.049995f, -0.027926f, -0.031166f, -0.009230f, -0.060788f, 0.050057f, 0.032510f, 0.071597f, 0.104286f, 0.090645f, 0.022887f, 0.095851f, 0.038201f, 0.016772f, -0.043133f, 0.033314f, 0.034666f, 0.027323f, -0.011544f, -0.033370f, -0.015673f, 0.023678f, 0.042397f, 0.219569f, 0.029430f, 0.044891f, 0.031930f, 0.089521f, 0.034412f, 0.078566f, 0.143426f, -0.069872f, -0.141293f, 0.017052f, 0.089572f, 0.160294f, 0.070826f, -0.139368f, 0.018328f, -0.035150f, 0.202389f, 0.148752f, 0.181016f, 0.165909f, -0.145079f, -0.095934f, 0.118139f, 0.141901f, -0.042060f, -0.083389f, -0.100499f, 0.224070f, 0.149085f, -0.010292f, -0.193897f, 0.045676f, -0.007962f, -0.043689f, 0.052706f, 0.013627f, -0.017476f, -0.042250f, -0.001378f, 0.029668f, 0.082862f, 0.058509f, -0.050412f, -0.020932f, -0.014004f, -0.011605f, - 0.046482f, 0.033308f, 0.035890f, -0.000507f, 0.018913f, 0.075878f, 0.051397f, 0.009699f, 0.029972f, -0.022246f, 0.037550f, 0.048507f, 0.064350f, 0.081984f, 0.064034f, 0.048541f, -0.000304f, -0.012604f, -0.017826f, -0.007032f, -0.037870f, -0.021784f, -0.018582f, -0.047312f, -0.060484f, -0.069184f, -0.117799f, -0.067775f, -0.044301f, -0.071859f, -0.131025f, -0.091992f, -0.077575f, -0.090808f, -0.107367f, -0.113794f, -0.039433f, -0.044653f, -0.062577f, -0.036070f, -0.039314f, -0.027002f, -0.036964f, -0.036501f, -0.035666f, -0.035289f, -0.104105f, 0.167007f, 0.134841f, -0.116665f, 0.026081f, -0.002642f, 0.018769f, -0.004482f, -0.011559f, 0.043059f, -0.043224f, 0.042065f, -0.017147f, 0.000232f, 0.016564f, 0.013621f, 0.014938f, -0.000035f, -0.024543f, -0.015561f, 0.026789f, -0.021976f, -0.002914f, 0.026008f, -0.014236f, -0.014660f, -0.020687f, -0.037545f, -0.037967f, 0.027824f, -0.013948f, 0.010468f, -0.023957f, 0.004931f, -0.050657f, -0.008931f, 0.013636f, 0.032694f, -0.020867f, 0.007303f, 0.022045f, 0.035811f, -0.008780f, 0.029700f, -0.024200f, 0.094121f, -0.035155f, 0.032633f, 0.004009f, 0.018610f, - -0.017921f, 0.025180f, -0.010332f, 0.067194f, -0.011295f, 0.021036f, -0.047105f, 0.061704f, -0.032691f, -0.002155f, -0.009509f, 0.009294f, -0.018770f, 0.037232f, -0.042993f, 0.035023f, -0.039465f, 0.051000f, -0.053432f, 0.064579f, -0.043189f, -0.022604f, -0.027301f, -0.013018f, 0.001974f, -0.041778f, 0.026901f, -0.024577f, 0.023496f, 0.002404f, 0.032692f, 0.013022f, 0.022380f, 0.041087f, 0.016824f, -0.013616f, 0.010209f, 0.010426f, -0.006541f, 0.007806f, -0.013488f, 0.015202f, -0.007946f, 0.000608f, -0.013275f, 0.029141f, -0.029116f, 0.003234f, -0.003458f, 0.023784f, -0.005341f, 0.005404f, -0.006369f, 0.009976f, -0.014375f, 0.010989f, -0.012478f, -0.005286f, 0.020785f, 0.020469f, -0.007070f, -0.019017f, 0.011624f, 0.018266f, 0.017531f, -0.016290f, 0.013323f, -0.010961f, 0.009640f, 0.003612f, 0.002836f, -0.017427f, 0.018276f, -0.006232f, -0.024631f, 0.020340f, 0.016719f, -0.014360f, -0.004781f, -0.002109f, 0.003334f, -0.013761f, 0.019336f, -0.018185f, 0.005456f, -0.019940f, 0.017323f, -0.013926f, 0.014483f, -0.010818f, 0.018164f, -0.020616f, 0.022226f, -0.020206f, 0.009547f, -0.016431f, - 0.016340f, -0.019016f, 0.014753f, -0.011325f, 0.019331f, -0.021929f, 0.022680f, -0.019251f, -0.040948f, -0.084613f, -0.093099f, 0.079144f, 0.019993f, -0.024505f, -0.126165f, -0.050717f, 0.070274f, 0.014325f, 0.050750f, 0.056612f, -0.020457f, -0.035583f, 0.001657f, 0.013414f, 0.010385f, 0.009384f, -0.022347f, -0.016402f, -0.012431f, 0.000059f, 0.034090f, 0.018443f, -0.001704f, 0.007675f, -0.009891f, -0.016508f, -0.010602f, -0.008642f, 0.000550f, 0.010084f, -0.007832f, 0.013014f, 0.013588f, -0.046327f, -0.020666f, -0.020495f, 0.024653f, 0.017222f, -0.001649f, -0.021557f, -0.029261f, 0.025422f, 0.005509f, 0.017054f, 0.023603f, -0.042948f, -0.028709f, 0.007861f, 0.034495f, 0.017496f, -0.049007f, -0.030107f, -0.039839f, -0.018923f, 0.010104f, 0.009001f, -0.016485f, 0.018000f, -0.007514f, -0.017111f, 0.007529f, 0.016411f, -0.012375f, 0.003931f, -0.000625f, -0.015279f, -0.001554f, -0.005374f, -0.034866f, -0.035010f, -0.002321f, -0.037347f, -0.028206f, 0.001227f, 0.011170f, -0.008104f, 0.041078f, 0.030516f, 0.017178f, 0.001360f, -0.004132f, -0.018295f, 0.022671f, 0.011264f, 0.013150f, 0.012953f, - -0.011739f, -0.004781f, -0.001058f, 0.006645f, -0.021803f, -0.026220f, -0.003813f, 0.011687f, 0.001525f, 0.014769f, 0.010031f, -0.013607f, 0.004329f, 0.008191f, 0.005497f, -0.004284f, 0.014475f, -0.018126f, -0.011081f, 0.033769f, 0.019128f, -0.020531f, -0.015733f, -0.010365f, -0.018642f, 0.020590f, -0.000877f, 0.003115f, 0.009184f, 0.006265f, -0.000406f, -0.000570f, -0.013940f, 0.008985f, 0.005060f, 0.012275f, -0.006970f, -0.001756f, 0.007643f, 0.032850f, -0.081694f, -0.222703f, -0.084618f, 0.050787f, 0.107345f, 0.253070f, 0.148766f, 0.040512f, 0.053019f, -0.043771f, -0.081831f, -0.179134f, -0.120772f, -0.092573f, -0.030258f, 0.036810f, 0.098685f, 0.076724f, 0.095804f, 0.092582f, 0.062770f, -0.021070f, -0.072958f, -0.063143f, -0.064905f, -0.052139f, -0.075249f, 0.023212f, -0.047556f, 0.003585f, 0.035064f, 0.064804f, 0.036576f, 0.060668f, 0.079940f, 0.001593f, 0.023872f, 0.001870f, -0.001202f, -0.044548f, -0.005883f, -0.039627f, -0.077524f, -0.122324f, -0.068163f, -0.037244f, 0.009899f, 0.009427f, 0.072812f, 0.101141f, 0.097168f, 0.115736f, 0.016856f, 0.075995f, 0.030097f, -0.006724f, - -0.071123f, -0.069591f, -0.094600f, -0.124103f, -0.084674f, -0.096137f, -0.060937f, 0.000488f, 0.029855f, 0.069295f, 0.111757f, 0.164711f, 0.131898f, 0.119612f, 0.064716f, -0.024526f, -0.024355f, -0.064479f, -0.137437f, -0.105468f, -0.173680f, -0.114072f, -0.050588f, -0.038378f, 0.054288f, 0.104405f, 0.142894f, 0.100996f, 0.077233f, 0.047095f, 0.053532f, 0.047195f, -0.007524f, -0.053958f, -0.051613f, -0.081251f, -0.090099f, -0.071543f, -0.049063f, -0.045447f, -0.043368f, 0.020030f, 0.042222f, 0.074914f, 0.088687f, 0.072937f, 0.063921f, 0.036666f, 0.001252f, 0.002030f, 0.008233f, -0.053718f, -0.091469f, -0.037278f, -0.079892f, -0.090338f, -0.003094f, 0.022823f, 0.050412f, 0.052378f, 0.033309f, 0.055350f, 0.032000f, 0.044324f, -0.009366f, -0.000733f, -0.038774f, -0.023085f, -0.020633f, -0.025411f, -0.029408f, -0.023459f, 0.003831f, -0.009651f, -0.000028f, 0.027076f, 0.037195f, 0.023689f, 0.020349f, -0.004969f, -0.006645f, -0.000142f, -0.000684f, -0.011175f, -0.013588f, -0.002040f, -0.008126f, -0.007949f, -0.005068f, 0.000332f, -0.008575f, -0.002637f, 0.016111f, 0.005882f, 0.007048f, 0.010590f, - 0.007471f, 0.002264f, 0.000367f, -0.001858f, -0.002210f, -0.001332f, -0.000878f}, - {0.015042f, 0.009628f, 0.000264f, 0.000504f, 0.011849f, 0.002948f, -0.005897f, 0.004024f, 0.007887f, -0.004000f, -0.006537f, -0.023512f, 0.001258f, -0.007913f, 0.015702f, -0.007796f, 0.007877f, 0.006336f, -0.000811f, 0.005119f, 0.008694f, 0.002361f, 0.002040f, -0.004296f, -0.005151f, -0.004012f, -0.006492f, 0.005656f, 0.003396f, -0.003086f, 0.005126f, -0.003550f, -0.005182f, -0.006228f, -0.002978f, -0.004926f, 0.000440f, 0.000057f, -0.000891f, 0.010731f, -0.006195f, 0.008772f, -0.003150f, -0.002264f, 0.005935f, -0.003686f, 0.001877f, -0.003689f, 0.006508f, -0.001944f, -0.018336f, 0.005428f, 0.000682f, 0.002217f, 0.009282f, 0.004736f, 0.000710f, -0.002139f, -0.006031f, 0.015683f, -0.008270f, 0.006069f, 0.003252f, -0.006557f, 0.006675f, 0.002894f, -0.007632f, 0.006040f, -0.007871f, 0.000395f, -0.000759f, 0.006875f, 0.001206f, 0.007186f, -0.002729f, -0.016299f, -0.003403f, -0.003989f, -0.007640f, -0.006983f, -0.006768f, 0.005525f, 0.002546f, 0.001882f, 0.003485f, 0.003314f, 0.000762f, 0.001524f, -0.001815f, 0.001047f, -0.001313f, -0.000738f, -0.003869f, -0.000150f, -0.001219f, 0.002901f, - -0.000193f, -0.001054f, -0.000503f, 0.000211f, -0.001948f, 0.000594f, -0.000783f, 0.000998f, -0.000543f, 0.000089f, -0.002252f, -0.000415f, -0.002839f, -0.001944f, 0.028570f, -0.014160f, 0.001546f, -0.000897f, -0.000875f, 0.006467f, -0.005187f, -0.020586f, -0.018973f, 0.008867f, -0.006030f, -0.001801f, 0.004793f, 0.001002f, 0.004731f, 0.005278f, -0.009062f, 0.004820f, 0.003318f, -0.006443f, 0.007435f, 0.011213f, -0.007403f, -0.002476f, 0.000511f, -0.012219f, -0.005547f, 0.001162f, 0.014477f, -0.002409f, -0.000872f, -0.012176f, 0.007109f, -0.000063f, -0.010918f, -0.004713f, 0.003718f, -0.001721f, 0.002051f, -0.009468f, -0.000287f, 0.000564f, -0.003890f, 0.009960f, 0.002478f, 0.002175f, 0.009631f, -0.001089f, 0.012527f, -0.004313f, -0.016070f, 0.006384f, 0.006201f, -0.005718f, -0.002522f, -0.002047f, 0.001922f, 0.000631f, 0.004397f, -0.003752f, 0.002888f, -0.008817f, -0.000455f, 0.005650f, -0.008414f, -0.001067f, 0.004851f, 0.001475f, -0.004429f, 0.002789f, -0.003368f, 0.000820f, 0.008135f, 0.002865f, -0.011323f, 0.013603f, 0.005080f, 0.004959f, -0.001224f, 0.007799f, 0.008693f, -0.003868f, - -0.000593f, 0.001869f, 0.002200f, 0.002679f, 0.003643f, -0.000436f, 0.000259f, 0.002692f, -0.000437f, 0.000339f, 0.001683f, 0.004210f, -0.000725f, 0.004289f, -0.000203f, 0.000995f, 0.002185f, 0.000531f, -0.001296f, -0.000407f, 0.001484f, 0.001427f, -0.000288f, -0.001988f, -0.006987f, -0.016763f, -0.002070f, 0.001721f, 0.018343f, -0.007093f, 0.015710f, 0.003885f, -0.000617f, 0.000906f, 0.014046f, -0.003357f, -0.003944f, -0.004159f, 0.009875f, 0.020150f, 0.005216f, -0.014013f, -0.019002f, -0.026987f, 0.003446f, -0.007100f, -0.011399f, -0.006279f, -0.017630f, -0.000150f, -0.008227f, 0.001258f, 0.008343f, 0.008811f, -0.010089f, -0.009023f, -0.006449f, 0.001063f, -0.014974f, -0.001686f, 0.004545f, -0.006803f, -0.002540f, 0.001506f, 0.005918f, -0.008423f, 0.002099f, 0.019624f, -0.000901f, -0.001011f, -0.007339f, 0.008142f, -0.003737f, 0.000671f, 0.006169f, 0.008099f, 0.012022f, -0.001984f, 0.001701f, -0.003696f, -0.000249f, -0.002117f, 0.001515f, 0.018863f, -0.021095f, 0.000424f, 0.003996f, 0.011129f, -0.004735f, -0.005602f, -0.001324f, -0.005290f, 0.015019f, -0.008363f, -0.019893f, -0.001409f, - -0.005999f, -0.008328f, 0.004827f, -0.019637f, 0.007153f, -0.002130f, -0.005534f, 0.000365f, 0.013752f, -0.004131f, -0.005299f, -0.005368f, 0.006544f, -0.006250f, -0.001782f, 0.001146f, -0.000661f, 0.002367f, 0.000126f, 0.000914f, 0.004015f, 0.000317f, 0.000979f, -0.001042f, 0.003208f, 0.000714f, -0.000754f, -0.003737f, -0.002100f, -0.000289f, -0.002054f, 0.003826f, 0.002236f, -0.002188f, 0.002761f, 0.000290f, 0.000325f, -0.002028f, 0.000967f, -0.000886f, -0.000010f, -0.030749f, 0.011486f, -0.009617f, 0.012890f, -0.011583f, -0.001052f, 0.008926f, -0.017787f, -0.003052f, 0.005421f, -0.004838f, 0.025910f, -0.010869f, -0.003288f, -0.010368f, -0.008679f, 0.013320f, 0.014800f, 0.005738f, -0.017453f, -0.021048f, 0.019461f, 0.003274f, -0.019744f, 0.007381f, 0.000712f, 0.009348f, -0.005868f, 0.008921f, -0.011823f, 0.005769f, 0.019040f, 0.007890f, 0.008143f, 0.004343f, 0.000312f, -0.004835f, 0.003958f, 0.001505f, -0.013031f, 0.000238f, -0.004152f, -0.009533f, -0.009565f, -0.003598f, 0.007500f, -0.013688f, 0.001838f, -0.009894f, -0.001054f, -0.001488f, 0.004488f, 0.008164f, 0.017181f, 0.006113f, - -0.000142f, 0.007435f, -0.009249f, -0.013509f, -0.000288f, 0.003193f, 0.001359f, 0.016404f, -0.003774f, -0.001958f, -0.005285f, -0.002271f, 0.002273f, 0.007994f, -0.002213f, 0.003371f, -0.008177f, 0.013293f, -0.003535f, -0.004575f, -0.003119f, 0.004346f, -0.007252f, 0.000282f, 0.008125f, -0.000524f, -0.002418f, 0.001272f, 0.006437f, 0.005190f, -0.001086f, 0.004198f, -0.003594f, 0.002684f, -0.002205f, 0.001088f, 0.004581f, -0.001570f, 0.001912f, 0.002058f, -0.003260f, 0.003269f, 0.001872f, 0.000791f, -0.001449f, -0.002809f, -0.000779f, 0.003655f, 0.002285f, -0.001159f, 0.001344f, -0.000604f, 0.005761f, -0.000438f, -0.001731f, -0.015341f, -0.003556f, -0.009947f, -0.000989f, 0.020445f, 0.013079f, 0.009147f, -0.001522f, -0.017939f, 0.002538f, -0.011793f, -0.019015f, -0.006293f, 0.013738f, -0.010728f, -0.016858f, 0.004441f, 0.001480f, -0.008384f, 0.001835f, 0.009640f, 0.002677f, -0.022482f, -0.006350f, 0.014174f, 0.016693f, 0.008338f, -0.018626f, -0.006741f, 0.008531f, -0.003152f, -0.003987f, 0.001237f, 0.006275f, 0.001032f, 0.002337f, 0.019171f, 0.000065f, 0.011607f, 0.009004f, -0.000121f, - -0.008593f, -0.000186f, -0.005058f, 0.011440f, -0.006500f, -0.010864f, 0.000052f, 0.017933f, 0.001032f, 0.017815f, 0.009615f, 0.001750f, 0.011521f, -0.001914f, 0.024726f, 0.002017f, 0.012245f, 0.013945f, 0.001314f, -0.011488f, -0.001741f, -0.013749f, 0.007055f, -0.009847f, -0.005511f, -0.009078f, -0.005978f, -0.004346f, 0.004544f, 0.001550f, 0.006828f, -0.000262f, -0.007846f, -0.006829f, 0.002580f, 0.012742f, -0.003749f, 0.003166f, -0.013637f, 0.004345f, 0.011819f, 0.018134f, -0.006222f, -0.001332f, 0.003017f, -0.006214f, -0.000455f, 0.005996f, -0.001817f, 0.011002f, 0.000739f, 0.002515f, 0.000289f, 0.000536f, 0.004066f, -0.002666f, -0.001728f, -0.001417f, -0.000814f, 0.001121f, 0.001372f, -0.002059f, 0.001808f, -0.000622f, -0.002184f, -0.002663f, 0.000914f, -0.002529f, -0.001663f, -0.003173f, 0.001553f, 0.002206f, -0.000456f, 0.006199f, -0.004015f, 0.001094f, -0.000436f, -0.003513f, 0.005898f, -0.001703f, -0.000838f, 0.018626f, -0.027849f, -0.005138f, 0.023315f, -0.011587f, 0.004260f, -0.018008f, 0.007924f, 0.032796f, -0.004441f, 0.001720f, -0.001389f, -0.023196f, 0.001871f, -0.001494f, - 0.034813f, -0.011004f, -0.001704f, 0.015199f, -0.009595f, 0.021557f, -0.014547f, -0.002196f, -0.021994f, 0.024847f, 0.000345f, -0.009811f, 0.000319f, 0.009086f, -0.011560f, 0.017264f, -0.001835f, 0.015296f, -0.000105f, 0.007999f, -0.024036f, -0.015502f, -0.011210f, -0.003635f, 0.014500f, -0.021820f, 0.011656f, 0.008967f, 0.003049f, -0.009056f, -0.013127f, 0.029922f, 0.005963f, -0.003435f, 0.011634f, -0.010624f, 0.006314f, -0.014132f, -0.013827f, -0.005810f, -0.009278f, 0.032312f, 0.009679f, -0.006473f, -0.009599f, -0.012388f, 0.010190f, 0.008355f, 0.003078f, -0.011433f, -0.001371f, -0.004663f, 0.013845f, 0.001198f, 0.011204f, -0.026180f, 0.014233f, -0.002346f, 0.000725f, -0.002964f, 0.004621f, -0.011591f, -0.005336f, -0.018179f, -0.005904f, 0.006530f, 0.011083f, 0.011622f, 0.004352f, 0.004194f, 0.002759f, -0.006550f, 0.003898f, 0.002593f, -0.000448f, -0.004417f, -0.007201f, 0.003794f, 0.003646f, -0.005601f, 0.002889f, 0.000320f, -0.004527f, 0.002923f, 0.000868f, -0.002026f, -0.001044f, 0.000215f, 0.000924f, -0.003437f, 0.002375f, 0.001218f, -0.005215f, -0.001302f, -0.002659f, 0.000354f, - 0.003740f, 0.002465f, -0.000516f, 0.000082f, -0.002399f, 0.000286f, -0.002211f, 0.011789f, 0.005802f, 0.009715f, 0.002871f, 0.000105f, -0.003705f, -0.014925f, -0.004650f, -0.009632f, 0.005857f, -0.000575f, 0.022409f, -0.018864f, -0.024294f, -0.006166f, 0.007528f, -0.007609f, -0.005910f, 0.019046f, 0.003789f, -0.010592f, -0.012198f, -0.012649f, 0.020825f, -0.010578f, 0.014057f, -0.006867f, 0.015384f, -0.015465f, 0.003334f, 0.023632f, 0.008054f, -0.032366f, 0.007373f, 0.000650f, -0.004201f, -0.002955f, 0.003248f, -0.003941f, 0.003067f, -0.005355f, 0.002517f, -0.001397f, -0.014504f, 0.014369f, 0.014756f, -0.004509f, 0.016354f, -0.014104f, -0.002503f, -0.004127f, -0.006751f, 0.017993f, -0.013091f, -0.023152f, -0.013001f, 0.004249f, -0.018887f, -0.017615f, -0.008838f, -0.006008f, -0.012126f, -0.001094f, 0.015352f, 0.016164f, 0.002411f, 0.017433f, 0.005402f, 0.002263f, 0.013203f, -0.014294f, -0.002573f, -0.000084f, -0.011748f, -0.000204f, -0.011383f, 0.013594f, -0.004007f, -0.002586f, 0.011304f, -0.002175f, -0.003656f, -0.002441f, 0.013511f, -0.001749f, 0.004669f, -0.013313f, -0.004764f, 0.007310f, - -0.008653f, 0.000542f, 0.000168f, 0.001382f, -0.006611f, -0.004606f, -0.003512f, 0.000127f, -0.003654f, -0.004349f, 0.001293f, -0.000738f, -0.003906f, -0.001768f, 0.000431f, -0.000492f, -0.001264f, -0.001387f, -0.002276f, 0.000619f, -0.007170f, -0.005027f, -0.004851f, -0.004821f, -0.000007f, -0.000351f, -0.001752f, 0.001646f, 0.036000f, -0.017780f, -0.017115f, 0.011591f, 0.029258f, 0.005687f, 0.026351f, 0.015039f, 0.023932f, 0.010602f, -0.004477f, -0.010869f, 0.008571f, -0.017891f, -0.013609f, 0.019970f, 0.016705f, 0.041733f, -0.001076f, 0.005805f, -0.015459f, 0.016118f, 0.007303f, -0.018604f, -0.004410f, 0.023635f, -0.000077f, -0.026045f, -0.010519f, -0.014700f, -0.004987f, 0.014525f, 0.013345f, -0.009880f, -0.004787f, 0.018118f, -0.017555f, 0.008062f, 0.015273f, 0.018246f, -0.009735f, 0.015706f, -0.006629f, -0.023723f, 0.008390f, 0.021774f, -0.005811f, 0.006287f, 0.005333f, -0.007381f, 0.002679f, 0.006525f, -0.006748f, 0.002429f, 0.017657f, -0.010383f, -0.005463f, 0.016275f, -0.003466f, -0.003288f, -0.026960f, -0.009552f, -0.016266f, -0.026781f, -0.018006f, 0.013445f, -0.008745f, -0.011449f, - 0.023241f, 0.023202f, -0.005819f, 0.024954f, 0.010049f, 0.016394f, -0.004557f, -0.012905f, 0.010838f, -0.013383f, -0.026680f, -0.016104f, -0.006816f, 0.013188f, 0.006143f, 0.022108f, 0.003967f, -0.004771f, -0.003518f, -0.000015f, 0.003904f, -0.006880f, 0.000514f, -0.004001f, -0.000508f, 0.003875f, -0.000598f, 0.000615f, 0.007230f, -0.002607f, -0.001217f, 0.007100f, -0.005148f, -0.002688f, -0.003381f, 0.002089f, -0.003778f, 0.002580f, 0.001677f, 0.001093f, 0.003832f, 0.004765f, 0.002266f, 0.008613f, 0.001153f, 0.005879f, 0.002109f, 0.004411f, 0.005198f, -0.004500f, 0.004161f, 0.004326f, -0.003034f, -0.001007f, -0.000334f, -0.006287f, 0.001922f, -0.018175f, -0.019443f, 0.026336f, -0.004386f, 0.060164f, -0.024777f, -0.011651f, -0.001380f, 0.014681f, -0.008386f, -0.008195f, -0.024783f, -0.028680f, 0.012958f, 0.002490f, 0.039599f, 0.012827f, -0.004034f, -0.004521f, 0.026308f, 0.026848f, -0.022175f, 0.016114f, -0.021181f, 0.005570f, -0.009115f, -0.010927f, -0.006491f, 0.004507f, -0.003433f, 0.013941f, 0.007006f, 0.015600f, -0.001928f, -0.007454f, -0.014634f, -0.002844f, 0.017075f, 0.001519f, - -0.022639f, -0.002860f, 0.005537f, -0.009687f, 0.017976f, 0.015158f, 0.003182f, 0.005267f, -0.049455f, -0.018964f, 0.017322f, -0.001169f, 0.027805f, 0.007742f, 0.031339f, -0.003527f, -0.016902f, 0.016706f, -0.009434f, 0.011392f, 0.002072f, 0.045598f, 0.037760f, 0.004441f, 0.010718f, -0.006229f, 0.015047f, 0.015897f, 0.017254f, 0.018584f, 0.030303f, -0.000569f, 0.005487f, -0.011612f, -0.010045f, 0.009459f, -0.014085f, -0.035099f, -0.025952f, -0.000628f, 0.021859f, -0.011018f, -0.019773f, -0.011419f, -0.010629f, -0.001209f, -0.023615f, -0.000975f, 0.004477f, -0.000184f, -0.003112f, -0.002356f, 0.002540f, 0.005090f, -0.000560f, 0.003829f, -0.017604f, -0.010879f, -0.005560f, -0.012576f, 0.001204f, -0.004564f, -0.007215f, -0.004951f, -0.002883f, 0.007128f, 0.003029f, -0.006760f, 0.002303f, 0.015807f, 0.008261f, -0.003388f, -0.005541f, -0.007257f, -0.004086f, -0.005860f, -0.012278f, 0.004508f, -0.004663f, -0.001043f, 0.009119f, 0.002895f, -0.001657f, 0.001685f, -0.052257f, 0.041185f, -0.001213f, 0.004660f, -0.014497f, 0.023079f, -0.049617f, -0.031814f, -0.010052f, -0.012762f, -0.001231f, -0.044487f, - 0.008673f, 0.000885f, -0.001225f, -0.020330f, -0.020695f, 0.008383f, 0.028302f, 0.004364f, -0.037842f, -0.008220f, -0.030991f, 0.024434f, 0.015755f, 0.001206f, -0.013738f, -0.006507f, -0.007028f, 0.020133f, -0.002903f, -0.000429f, -0.004394f, -0.027415f, 0.014209f, 0.019184f, -0.011511f, -0.006152f, 0.014912f, -0.029837f, -0.021756f, -0.032915f, -0.011173f, 0.008259f, -0.021007f, -0.010037f, -0.000915f, -0.034083f, 0.010391f, 0.021002f, 0.037183f, 0.005343f, -0.003713f, 0.002272f, -0.024487f, -0.019202f, 0.028465f, -0.002044f, -0.010845f, -0.006742f, -0.043624f, -0.023410f, 0.008520f, -0.009224f, -0.005100f, -0.003412f, 0.028519f, -0.004960f, -0.027128f, 0.002165f, 0.021116f, -0.000554f, -0.013311f, -0.000272f, 0.001450f, -0.011214f, -0.019024f, 0.014932f, -0.034970f, -0.017311f, -0.000267f, 0.016894f, -0.021375f, 0.013512f, 0.008950f, 0.012311f, 0.013118f, -0.013428f, -0.003397f, 0.016099f, 0.003079f, -0.009845f, 0.009237f, 0.013325f, -0.012457f, 0.004631f, 0.011954f, 0.011290f, 0.017735f, 0.001199f, -0.005417f, -0.003027f, 0.002913f, 0.000246f, 0.007801f, 0.006575f, 0.000610f, -0.001607f, - -0.005655f, -0.001919f, 0.003913f, 0.007929f, -0.013097f, 0.001708f, -0.002476f, 0.005447f, 0.012665f, 0.000649f, 0.008877f, -0.004702f, 0.005906f, 0.007264f, 0.010689f, 0.008344f, 0.010435f, -0.000739f, 0.006007f, -0.001884f, 0.005106f, 0.027683f, 0.025424f, 0.009250f, 0.043056f, -0.019197f, -0.008937f, 0.007012f, -0.011230f, -0.003277f, 0.014090f, 0.046135f, -0.007397f, 0.009409f, -0.000246f, -0.002787f, -0.000719f, 0.050880f, -0.024588f, 0.026429f, -0.000227f, -0.033278f, 0.011095f, -0.033010f, -0.020161f, 0.019168f, -0.017371f, 0.013583f, 0.000779f, 0.001897f, 0.022830f, 0.018317f, -0.027334f, -0.030972f, -0.023273f, -0.007742f, 0.008936f, 0.009043f, 0.003409f, 0.006229f, -0.037241f, 0.005798f, -0.019966f, -0.046895f, 0.032058f, -0.009161f, 0.030151f, 0.032246f, 0.001924f, 0.012103f, -0.017105f, -0.020830f, -0.036930f, 0.008589f, 0.033987f, 0.006073f, -0.014819f, 0.002097f, -0.007422f, 0.005288f, -0.019851f, -0.016217f, -0.019820f, 0.003526f, -0.002333f, -0.006407f, 0.021940f, 0.019745f, 0.011922f, 0.031926f, 0.003677f, -0.033396f, 0.043370f, -0.031516f, -0.009631f, -0.007832f, - -0.008260f, 0.036355f, -0.005686f, -0.051834f, 0.044291f, -0.017159f, -0.010453f, 0.012208f, 0.011331f, 0.034146f, 0.021867f, 0.014355f, 0.016770f, 0.015150f, 0.011512f, 0.000758f, 0.014436f, 0.017303f, 0.004709f, 0.000341f, 0.018568f, -0.003161f, 0.002293f, -0.016814f, -0.003911f, -0.005280f, -0.008636f, 0.001528f, -0.001201f, 0.011223f, 0.008256f, 0.003419f, -0.001207f, 0.005469f, 0.002488f, 0.004019f, 0.007681f, -0.002195f, -0.002680f, 0.001691f, -0.002631f, 0.005699f, 0.002810f, 0.002727f, 0.004637f, 0.002674f, 0.017225f, 0.012559f, 0.003771f, 0.039436f, 0.044571f, 0.010417f, -0.083769f, 0.003040f, 0.023718f, -0.027643f, 0.016897f, 0.033549f, 0.001703f, 0.009137f, 0.021226f, 0.016305f, 0.006384f, 0.030158f, 0.006913f, -0.004142f, 0.056682f, 0.021098f, 0.007500f, 0.024508f, -0.018591f, 0.030056f, -0.020910f, -0.001791f, -0.002243f, -0.006893f, -0.030896f, 0.010449f, -0.021810f, 0.040367f, -0.003435f, -0.007887f, 0.059439f, 0.007958f, 0.008845f, 0.019765f, 0.002420f, 0.011408f, -0.013106f, -0.025796f, -0.002739f, 0.017469f, -0.030383f, 0.035534f, 0.032261f, 0.023685f, - 0.006420f, 0.014114f, -0.020914f, -0.021934f, -0.034607f, -0.015363f, -0.018562f, -0.017889f, 0.008534f, -0.003358f, -0.033868f, -0.015109f, 0.030264f, -0.000488f, -0.027886f, 0.015982f, -0.001293f, -0.019151f, -0.045429f, 0.003209f, -0.068988f, 0.040290f, -0.023300f, 0.036648f, 0.002062f, 0.010238f, 0.001490f, -0.013588f, 0.018721f, 0.061961f, 0.005989f, 0.017677f, -0.010526f, -0.048255f, 0.004590f, -0.005189f, 0.035641f, 0.020582f, -0.007993f, -0.001686f, -0.006984f, -0.003795f, 0.012347f, -0.013795f, 0.011619f, -0.001606f, -0.011795f, -0.012209f, 0.013400f, -0.014958f, -0.014387f, -0.020745f, -0.003825f, -0.014910f, 0.005074f, 0.013084f, 0.001277f, -0.003757f, -0.009288f, 0.019095f, -0.017482f, 0.004727f, 0.002740f, 0.001630f, -0.010069f, 0.007616f, 0.019219f, -0.000808f, -0.008871f, -0.002258f, 0.017601f, 0.017800f, -0.013757f, 0.017044f, -0.000725f, -0.004423f, 0.003238f, -0.001072f, 0.019389f, 0.004912f, 0.023097f, 0.017182f, 0.045651f, -0.062795f, 0.024741f, -0.036784f, 0.031322f, -0.015623f, -0.026405f, -0.007585f, -0.030409f, -0.012796f, -0.006822f, 0.010948f, 0.013945f, -0.008889f, - 0.043828f, -0.002091f, -0.007610f, -0.005919f, -0.039804f, -0.004429f, 0.000105f, -0.033476f, 0.010664f, -0.028554f, -0.036019f, -0.011674f, 0.021585f, -0.059582f, -0.040487f, -0.027059f, 0.002995f, -0.041793f, -0.035530f, -0.028775f, -0.014504f, -0.011703f, -0.005557f, -0.028269f, 0.030081f, 0.005108f, -0.003017f, -0.021119f, -0.021735f, 0.040716f, -0.035570f, -0.024341f, 0.010630f, 0.010800f, 0.014570f, -0.020689f, -0.028758f, -0.012183f, -0.005412f, 0.013274f, -0.020680f, -0.008341f, -0.008517f, -0.024666f, -0.042017f, -0.053073f, 0.050052f, -0.054991f, -0.003143f, 0.003826f, -0.009674f, -0.010219f, -0.049199f, 0.018960f, -0.011867f, -0.051574f, -0.001268f, -0.011369f, 0.048398f, 0.011954f, 0.034418f, 0.032786f, -0.009871f, 0.012811f, -0.005486f, -0.009416f, 0.024190f, -0.006173f, 0.013865f, -0.018645f, 0.001369f, -0.018776f, 0.015918f, 0.012482f, 0.002204f, 0.011425f, -0.004973f, -0.001803f, 0.012064f, 0.005785f, -0.011937f, 0.008767f, 0.019724f, -0.003064f, 0.004502f, -0.010778f, -0.025402f, -0.002671f, -0.002290f, -0.000847f, -0.017648f, -0.003816f, 0.002762f, -0.002539f, -0.009428f, 0.012027f, - -0.002250f, -0.006766f, -0.020551f, -0.020724f, 0.000268f, 0.011429f, 0.006680f, 0.004451f, -0.001418f, 0.015001f, 0.016944f, -0.007551f, 0.003643f, 0.004187f, -0.001139f, 0.005148f, -0.055872f, 0.064638f, 0.010236f, 0.006519f, -0.011208f, 0.032818f, 0.000405f, 0.054038f, -0.014736f, 0.037068f, 0.019985f, -0.053304f, 0.023104f, 0.008731f, 0.025306f, -0.004374f, -0.014193f, -0.021247f, -0.007810f, 0.026008f, 0.057292f, 0.006032f, -0.008367f, -0.036278f, 0.013691f, -0.039237f, -0.006195f, 0.039529f, -0.035738f, 0.000018f, 0.002525f, -0.006213f, -0.013481f, -0.015250f, 0.063505f, -0.013762f, -0.015581f, -0.007746f, 0.014415f, 0.021248f, 0.007999f, 0.001000f, -0.012922f, -0.000242f, 0.009520f, 0.038518f, -0.008838f, 0.055128f, 0.032275f, 0.016385f, -0.013250f, 0.048042f, 0.054685f, -0.004562f, -0.014461f, -0.002926f, -0.017748f, 0.005379f, -0.017572f, 0.027512f, 0.009426f, 0.039663f, 0.030731f, -0.048717f, -0.054781f, 0.065679f, 0.048895f, 0.007692f, -0.009255f, -0.026149f, -0.036059f, -0.014189f, 0.037073f, -0.034910f, -0.037635f, -0.005384f, -0.010107f, -0.060375f, -0.013360f, 0.013312f, - -0.023280f, 0.003153f, -0.000063f, 0.003118f, 0.005001f, 0.009947f, -0.017674f, -0.011041f, -0.018161f, -0.006703f, 0.000042f, 0.002618f, -0.009843f, -0.004836f, -0.001625f, -0.029853f, -0.009760f, -0.014271f, -0.006397f, -0.000898f, 0.002797f, 0.001125f, 0.005157f, -0.002030f, 0.001285f, -0.015779f, 0.009202f, -0.013607f, -0.015369f, 0.010952f, 0.004971f, -0.028047f, -0.002811f, -0.008876f, 0.014008f, 0.026452f, 0.000818f, -0.022835f, 0.018458f, -0.005340f, 0.005025f, 0.006203f, -0.007087f, -0.005486f, 0.001953f, -0.012305f, -0.015692f, 0.028580f, -0.023483f, -0.007631f, -0.004970f, 0.005623f, 0.000866f, -0.035274f, -0.102153f, 0.051137f, -0.049140f, 0.019989f, 0.072844f, 0.011106f, -0.030569f, 0.021010f, 0.025370f, -0.010624f, -0.023131f, -0.004817f, -0.050333f, 0.016592f, -0.052314f, -0.031773f, 0.020967f, 0.002150f, 0.009027f, -0.047263f, -0.009645f, -0.034121f, -0.028986f, -0.042098f, -0.014716f, 0.014401f, -0.025093f, -0.025453f, 0.024697f, 0.003404f, -0.002106f, 0.007851f, -0.048437f, -0.002993f, -0.037678f, 0.032222f, 0.008859f, -0.092156f, 0.023175f, 0.049368f, -0.010588f, 0.029444f, - 0.024754f, 0.016717f, 0.013378f, 0.047148f, 0.036938f, 0.001346f, -0.033791f, -0.007155f, 0.037332f, 0.024235f, -0.031324f, 0.002233f, -0.036585f, -0.011796f, 0.002421f, 0.026487f, 0.035444f, -0.065198f, -0.051590f, -0.028871f, 0.005438f, -0.019399f, -0.007219f, 0.060614f, 0.009923f, 0.014333f, 0.047169f, -0.019190f, 0.009688f, -0.012075f, 0.048262f, -0.024626f, 0.001916f, 0.004791f, 0.035736f, -0.010000f, -0.003862f, 0.013075f, 0.014628f, -0.001893f, 0.007108f, 0.023352f, 0.000866f, -0.000763f, -0.001027f, 0.022737f, -0.011608f, -0.007404f, 0.005403f, 0.009821f, 0.006608f, 0.002972f, 0.010653f, -0.005025f, -0.000044f, -0.010456f, -0.000388f, -0.007789f, -0.001249f, -0.010714f, 0.017353f, -0.013207f, -0.019463f, 0.018218f, 0.011864f, 0.012529f, -0.013782f, -0.017618f, -0.000141f, -0.031565f, -0.008785f, -0.016293f, -0.016664f, 0.006361f, -0.000342f, -0.016872f, 0.005483f, 0.006793f, -0.002042f, -0.010008f, -0.009803f, 0.007260f, 0.004346f, 0.014968f, 0.033763f, 0.032628f, -0.057095f, 0.011853f, -0.012348f, -0.015081f, -0.013313f, 0.038171f, 0.020262f, -0.027994f, -0.015975f, 0.029102f, - -0.052503f, 0.002882f, 0.019040f, 0.029152f, -0.006270f, 0.006374f, -0.061251f, -0.000332f, -0.027150f, 0.020372f, 0.007499f, 0.033869f, -0.053861f, -0.027266f, -0.007853f, 0.006532f, -0.004651f, 0.010403f, 0.003838f, 0.029254f, 0.055340f, -0.035158f, -0.045275f, 0.011811f, -0.047178f, -0.014027f, 0.019759f, -0.034414f, -0.033310f, 0.002661f, 0.020539f, 0.028689f, 0.020461f, -0.012997f, -0.002876f, -0.060194f, -0.040475f, 0.053200f, -0.036980f, 0.071855f, -0.030488f, 0.014523f, 0.010583f, -0.000703f, -0.052857f, 0.066147f, -0.030819f, -0.006423f, -0.011858f, 0.025735f, 0.049994f, -0.050650f, -0.028645f, 0.059125f, -0.043792f, -0.000250f, -0.016472f, 0.011945f, 0.068709f, 0.000213f, -0.004944f, -0.042631f, 0.052596f, -0.017285f, 0.013770f, 0.017169f, -0.033062f, -0.040214f, 0.004053f, 0.022896f, -0.011835f, 0.011638f, -0.094808f, -0.044488f, -0.013429f, -0.048630f, -0.023700f, 0.007888f, 0.031657f, -0.006839f, -0.008447f, -0.024973f, 0.000860f, -0.002577f, -0.017883f, -0.006463f, 0.011340f, 0.000707f, 0.015131f, 0.006759f, 0.014364f, -0.018903f, -0.002398f, -0.004152f, 0.019909f, 0.015300f, - -0.011485f, 0.035780f, 0.013588f, -0.014761f, 0.022168f, 0.005730f, -0.001826f, -0.011679f, 0.008620f, -0.008529f, -0.007380f, 0.015822f, 0.001754f, -0.007372f, -0.005941f, 0.013202f, -0.003323f, 0.011900f, -0.002341f, 0.021886f, 0.005082f, 0.002908f, 0.003237f, 0.033071f, -0.037062f, 0.010722f, 0.031280f, 0.030910f, 0.069784f, -0.043871f, 0.064133f, -0.010959f, -0.041472f, -0.040619f, 0.010832f, 0.026936f, -0.018151f, -0.008259f, -0.028438f, -0.011570f, 0.054405f, -0.037879f, -0.003200f, 0.043741f, -0.013707f, 0.026212f, -0.017006f, -0.008017f, 0.046454f, -0.001371f, 0.002711f, 0.044738f, 0.031194f, 0.011142f, -0.005113f, 0.037818f, 0.051652f, -0.052019f, 0.048568f, -0.045927f, 0.024802f, -0.033093f, 0.007350f, 0.039960f, 0.013974f, -0.090014f, 0.040448f, 0.025835f, 0.000097f, 0.045957f, -0.071231f, -0.013631f, 0.049116f, 0.041661f, 0.007343f, 0.065355f, -0.034248f, 0.000947f, -0.007914f, -0.009883f, 0.028376f, 0.011732f, 0.049253f, 0.040859f, -0.030079f, 0.027163f, -0.056209f, -0.017388f, 0.004978f, -0.002727f, -0.003948f, -0.009061f, -0.088209f, -0.048782f, -0.068020f, -0.046359f, - 0.051388f, -0.031537f, -0.007205f, 0.005943f, 0.083850f, -0.019828f, -0.028884f, 0.067035f, 0.041470f, -0.001846f, 0.054671f, 0.008314f, 0.010764f, -0.025248f, 0.000611f, -0.021111f, -0.021875f, -0.011468f, 0.018089f, -0.021354f, -0.010667f, 0.010427f, 0.004532f, 0.016819f, -0.006170f, -0.002787f, 0.022214f, 0.012639f, 0.001859f, -0.017127f, -0.013266f, -0.002118f, -0.004742f, 0.012905f, 0.022200f, -0.001606f, 0.004452f, 0.004996f, -0.008133f, 0.053812f, 0.017264f, 0.003810f, 0.002811f, -0.017621f, 0.014974f, -0.031480f, -0.001663f, 0.027067f, -0.001207f, -0.007215f, 0.020353f, 0.011203f, 0.006736f, -0.000530f, -0.016815f, 0.011608f, 0.013477f, 0.004139f, -0.022240f, 0.021447f, 0.055045f, -0.030399f, 0.021235f, 0.027170f, -0.039688f, 0.005082f, -0.048809f, 0.018552f, -0.005232f, -0.026015f, 0.038633f, 0.001128f, 0.060272f, -0.003708f, -0.045153f, 0.076308f, -0.013745f, 0.007607f, 0.010506f, -0.071637f, 0.021536f, 0.061648f, 0.021958f, -0.026814f, -0.046933f, 0.004875f, 0.011408f, 0.052720f, 0.033973f, -0.017195f, -0.010289f, -0.041084f, 0.000361f, 0.059655f, -0.081120f, 0.024609f, - 0.056658f, -0.051002f, 0.018685f, 0.005298f, 0.019622f, 0.059679f, 0.019896f, 0.023036f, -0.011084f, -0.058595f, 0.060641f, -0.011260f, -0.031051f, 0.127229f, 0.062567f, 0.032465f, 0.005538f, 0.002893f, -0.059901f, -0.049084f, -0.022298f, 0.037410f, -0.001300f, -0.034728f, -0.024555f, 0.047189f, -0.028851f, 0.032507f, 0.018407f, -0.023289f, 0.034682f, 0.015911f, -0.050434f, -0.025162f, -0.029604f, 0.008313f, 0.031509f, -0.063029f, 0.020689f, -0.064583f, -0.081659f, -0.051312f, 0.078241f, -0.027056f, 0.016139f, -0.018295f, -0.027236f, -0.003898f, -0.032458f, -0.022442f, -0.017309f, 0.004003f, -0.031121f, 0.003666f, 0.018139f, -0.000017f, -0.027411f, -0.020303f, 0.009493f, 0.003100f, 0.034692f, 0.004670f, -0.040092f, -0.015540f, -0.023019f, 0.032863f, -0.006778f, -0.013285f, -0.031765f, -0.000401f, 0.018905f, 0.008681f, 0.021549f, -0.010973f, -0.003682f, 0.006411f, 0.021939f, 0.014062f, -0.000747f, -0.012515f, 0.016292f, -0.015326f, -0.001744f, 0.008914f, -0.014429f, -0.000380f, 0.024524f, -0.000801f, 0.004422f, -0.027142f, -0.019260f, -0.020655f, 0.012118f, -0.021976f, 0.078078f, 0.130083f, - -0.021540f, -0.004224f, -0.106436f, -0.035661f, -0.078216f, -0.052138f, 0.072779f, 0.005248f, 0.019899f, -0.060234f, 0.019730f, -0.052881f, -0.119059f, 0.017475f, 0.057477f, -0.004637f, 0.007610f, 0.061763f, -0.081552f, 0.093414f, 0.046731f, 0.029219f, -0.046033f, 0.062832f, 0.121217f, -0.023971f, 0.037637f, 0.091965f, 0.077828f, 0.136991f, 0.030003f, 0.049236f, 0.037517f, 0.033418f, 0.117867f, -0.030508f, -0.013682f, 0.043434f, 0.026051f, -0.012682f, 0.064987f, 0.003996f, 0.013952f, -0.038272f, -0.104674f, 0.004181f, 0.070435f, 0.010776f, 0.042826f, -0.075691f, 0.005115f, -0.100682f, 0.000612f, -0.108209f, 0.007897f, 0.076094f, -0.009182f, -0.032179f, -0.102818f, 0.135398f, 0.025068f, 0.009196f, 0.140607f, -0.001565f, -0.031513f, -0.023528f, 0.007760f, 0.028153f, -0.007203f, 0.000624f, -0.010566f, -0.073961f, 0.044473f, 0.017182f, -0.045868f, -0.028340f, 0.037257f, -0.044639f, -0.076894f, -0.037690f, 0.017431f, 0.074193f, -0.076973f, 0.061784f, -0.002508f, 0.033006f, -0.013028f, 0.026952f, -0.018080f, -0.002637f, 0.007206f, 0.007620f, 0.025341f, 0.022607f, 0.005135f, 0.047408f, - -0.002010f, 0.019496f, 0.025387f, 0.014576f, 0.011347f, 0.011320f, 0.041319f, 0.030456f, 0.015125f, -0.016001f, -0.006329f, 0.035487f, -0.046907f, 0.018203f, -0.027870f, 0.006749f, -0.010193f, 0.031998f, 0.037261f, 0.075017f, 0.042251f, 0.070759f, 0.040868f, 0.014813f, 0.074670f, 0.077117f, 0.073730f, 0.042008f, -0.012403f, 0.043959f, 0.049011f, 0.030000f, 0.058940f, 0.044209f, 0.000183f, 0.013328f, 0.010184f, 0.009600f, 0.017366f, 0.012429f, -0.014950f, -0.015226f, 0.000801f, 0.012267f, -0.003589f, -0.040803f, -0.135672f, 0.006848f, 0.184060f, 0.027010f, -0.037124f, -0.035232f, -0.083323f, -0.054441f, 0.002900f, 0.114977f, 0.020634f, -0.076370f, -0.005066f, 0.031495f, 0.008001f, 0.002529f, -0.007056f, 0.020180f, -0.054229f, -0.020323f, 0.028525f, 0.063774f, 0.064694f, -0.060319f, -0.022657f, 0.004812f, 0.009188f, 0.016339f, -0.068941f, 0.006892f, 0.012046f, -0.018161f, 0.050776f, -0.000364f, 0.058505f, 0.087134f, 0.042398f, 0.018170f, 0.038670f, -0.049218f, 0.045679f, -0.039725f, 0.067949f, 0.118712f, 0.039899f, -0.063902f, -0.054370f, 0.053892f, 0.020532f, 0.101216f, - 0.076916f, 0.023380f, -0.017981f, -0.022498f, 0.004122f, 0.005435f, -0.034129f, 0.039467f, 0.035472f, 0.006722f, 0.092418f, 0.062697f, -0.007255f, 0.044754f, 0.050843f, 0.023351f, 0.050877f, 0.002296f, -0.085593f, -0.010586f, -0.019647f, -0.019924f, 0.100068f, 0.045651f, 0.017364f, 0.078702f, 0.047884f, 0.050214f, 0.062870f, 0.021374f, -0.061328f, -0.031023f, -0.000034f, -0.001004f, -0.020665f, -0.018304f, -0.036559f, 0.023779f, 0.016829f, 0.036996f, -0.015742f, 0.041265f, 0.013168f, 0.042720f, 0.030181f, -0.009361f, -0.020097f, 0.006477f, 0.013214f, 0.000481f, 0.006633f, 0.031299f, 0.004798f, 0.048923f, 0.067232f, 0.018817f, -0.003670f, 0.004870f, 0.048888f, 0.010895f, -0.012994f, -0.012435f, 0.039093f, -0.001886f, -0.009592f, -0.007169f, 0.014265f, 0.026405f, 0.054626f, -0.027670f, 0.006306f, -0.017932f, 0.006456f, 0.002128f, 0.045080f, -0.023003f, 0.023396f, 0.026027f, 0.017755f, -0.019505f, 0.008312f, 0.030276f, 0.006174f, 0.000889f, 0.031674f, 0.003998f, 0.020113f, 0.011053f, 0.005455f, -0.005677f, 0.007871f, -0.004125f, 0.009342f, 0.002075f, 0.009854f, 0.001679f, - 0.017073f, 0.003960f, 0.008687f, 0.002954f, 0.013350f, 0.002564f, 0.013962f, 0.002972f, -0.000980f, -0.027114f, -0.129342f, -0.028023f, 0.072057f, 0.038915f, 0.157756f, 0.008537f, -0.023004f, -0.070842f, -0.138668f, -0.152268f, -0.025469f, 0.065514f, 0.073595f, 0.047170f, -0.077012f, -0.101651f, -0.000872f, -0.012523f, 0.040376f, 0.105887f, 0.053773f, -0.010023f, -0.063729f, -0.086277f, -0.054386f, 0.003466f, -0.053295f, 0.020624f, -0.044653f, -0.021994f, 0.070378f, 0.058381f, 0.051706f, 0.020278f, -0.072892f, -0.020273f, -0.069761f, -0.053428f, -0.028280f, 0.040968f, -0.008108f, 0.043518f, 0.106748f, 0.111789f, -0.047074f, 0.012875f, -0.083001f, -0.056416f, -0.039913f, -0.007136f, 0.014866f, 0.064860f, 0.068587f, 0.095387f, 0.067182f, 0.024387f, -0.047842f, -0.043446f, -0.011087f, 0.030707f, -0.078564f, 0.005737f, 0.090322f, 0.072675f, -0.019787f, 0.098473f, 0.087046f, 0.049643f, 0.090975f, -0.173873f, 0.040508f, -0.049359f, -0.054541f, 0.029955f, -0.029715f, -0.002393f, 0.174491f, 0.148575f, 0.051620f, -0.045734f, -0.005129f, -0.069659f, -0.014810f, -0.093711f, -0.034458f, -0.015634f, - 0.035037f, 0.115095f, 0.059005f, 0.024261f, 0.019225f, -0.018354f, -0.058985f, -0.074101f, -0.001136f, -0.048853f, 0.037883f, -0.004085f, -0.001712f, 0.044288f, 0.034565f, 0.013813f, 0.035804f, 0.013417f, 0.056747f, -0.040466f, -0.002447f, -0.044631f, 0.016983f, -0.038780f, -0.037508f, 0.006516f, -0.012587f, 0.031289f, 0.053290f, 0.003655f, -0.052987f, -0.085750f, -0.027876f, -0.049577f, 0.003717f, 0.022674f, 0.038687f, -0.032950f, -0.013940f, 0.043922f, 0.003786f, -0.223460f, -0.253377f, -0.272436f, -0.275268f, -0.373245f, -0.022117f, -0.133665f, -0.043178f, 0.049561f, 0.124783f, 0.175092f, 0.180573f, 0.368993f, 0.395621f, 0.322124f, 0.239603f, 0.253850f, 0.242020f, 0.093368f, -0.035956f, -0.166189f, -0.166554f, -0.255561f, -0.083034f, -0.138435f, -0.103250f, -0.009534f, -0.216979f, -0.062278f, -0.193800f, -0.052605f, -0.222693f, -0.209842f, -0.096902f, -0.173215f, -0.017655f, -0.087400f, -0.080879f, -0.129480f, -0.085765f, -0.195594f, -0.138336f, -0.073355f, -0.067351f, -0.103383f, -0.063400f, -0.007433f, -0.083756f, 0.028409f, 0.125294f, -0.097376f, 0.148211f, 0.089002f, 0.197818f, 0.198851f, - 0.173504f, 0.214095f, 0.180761f, 0.298556f, 0.296422f, 0.236548f, 0.316286f, 0.271367f, 0.414220f, 0.408050f, 0.480678f, 0.374270f, 0.402698f, 0.438981f, 0.396401f, 0.474126f, 0.351226f, 0.513394f, 0.410189f, 0.156520f, 0.200582f, 0.053056f, 0.079464f, -0.277466f, -0.233016f, -0.259958f, -0.276877f, -0.291749f, -0.377180f, -0.354953f, -0.390362f, -0.428441f, -0.503904f, -0.420979f, -0.385658f, -0.428485f, -0.467517f, -0.557198f, -0.447132f, -0.494885f, -0.498354f, -0.377917f, -0.426297f, -0.245768f, -0.305325f, -0.208759f, -0.194057f, -0.102562f, -0.075199f, -0.106202f, -0.018434f, 0.050336f, 0.241971f, 0.229554f, 0.166433f, 0.188470f, 0.202450f, 0.274796f, 0.281172f, 0.304399f, 0.320721f, 0.276123f, 0.280233f, 0.206182f, 0.291563f, 0.298491f, 0.227063f, 0.159989f, 0.123195f, 0.179355f, 0.177060f, 0.138126f, 0.082407f, 0.045841f, 0.069324f, -0.018169f, 0.009033f, -0.032706f, -0.026455f, -0.132490f, -0.121834f, -0.088461f, -0.061817f, -0.080751f, -0.062516f, -0.029686f, -0.025136f, -0.032194f, -0.060541f, -0.055091f, -0.028240f, -0.035578f, -0.024448f, -0.019988f, 0.002779f, 0.009119f, - 0.000590f, -0.008130f, -0.002561f, 0.000811f, -0.001943f, -0.001991f, -0.001969f} - }, - { - {-0.005288f, 0.009776f, -0.000395f, 0.004012f, 0.001553f, -0.008552f, -0.006433f, 0.002231f, -0.005796f, -0.008599f, 0.004903f, -0.001018f, 0.001279f, -0.004936f, 0.003625f, 0.000350f, -0.007620f, -0.000346f, 0.008790f, 0.007144f, -0.005472f, -0.009639f, -0.008786f, 0.001293f, -0.002027f, -0.001722f, -0.007478f, 0.008134f, -0.002167f, 0.002292f, -0.003413f, -0.002070f, -0.000750f, 0.003085f, -0.002216f, -0.004282f, -0.016411f, 0.005580f, -0.001251f, 0.005303f, 0.003142f, 0.002229f, -0.000431f, 0.010939f, 0.002048f, 0.002186f, 0.001519f, -0.005597f, -0.003587f, -0.000519f, 0.000796f, -0.005603f, -0.001334f, 0.002181f, -0.000779f, -0.005294f, -0.002796f, 0.000195f, 0.005169f, -0.008106f, -0.011004f, -0.013626f, 0.004816f, 0.007807f, 0.000781f, 0.006457f, 0.004729f, 0.000907f, -0.012500f, -0.000325f, -0.003278f, -0.004382f, 0.000207f, 0.000698f, 0.005166f, -0.001115f, 0.007356f, 0.005215f, -0.002340f, -0.007481f, -0.003649f, -0.001336f, 0.001900f, 0.000572f, 0.002404f, 0.002803f, 0.005133f, -0.000109f, -0.000503f, -0.002422f, -0.002109f, -0.002005f, -0.000904f, -0.004174f, -0.001983f, -0.002360f, - 0.001287f, -0.000276f, -0.000537f, -0.001283f, 0.001945f, -0.002938f, 0.005896f, 0.007712f, -0.001795f, -0.000118f, -0.011066f, 0.009842f, -0.012673f, 0.004875f, 0.021301f, -0.004583f, -0.007953f, 0.001194f, 0.011105f, 0.001166f, -0.003183f, -0.001559f, -0.003208f, -0.002034f, -0.010038f, -0.003919f, 0.004918f, -0.007973f, -0.004570f, 0.000435f, -0.000463f, 0.008775f, -0.005389f, 0.001626f, -0.002099f, 0.001905f, -0.001139f, -0.005151f, 0.009715f, 0.016542f, 0.004174f, -0.000959f, -0.003125f, 0.017904f, 0.000815f, -0.007509f, 0.000482f, -0.013378f, 0.000030f, 0.006961f, -0.010275f, -0.001317f, 0.002183f, -0.008206f, -0.002482f, 0.009424f, 0.001328f, -0.001026f, 0.009092f, -0.006071f, -0.009592f, 0.005409f, 0.003582f, -0.006700f, -0.003328f, -0.007172f, -0.008405f, -0.009041f, -0.005007f, -0.005174f, 0.007310f, 0.005196f, 0.001425f, -0.000217f, -0.005088f, 0.004697f, -0.001109f, -0.003476f, 0.006194f, 0.006845f, -0.004898f, -0.000986f, -0.002320f, -0.003129f, 0.000956f, 0.007844f, -0.003971f, 0.001751f, 0.007480f, 0.004942f, -0.001722f, 0.001891f, -0.001313f, -0.000214f, 0.003169f, -0.000457f, - 0.000047f, 0.003225f, -0.003458f, 0.001395f, 0.000709f, -0.001113f, -0.003186f, 0.002433f, 0.000279f, -0.001429f, 0.000749f, 0.000344f, -0.001142f, 0.000358f, -0.000585f, -0.001066f, -0.001860f, 0.010891f, -0.015877f, -0.010482f, -0.003781f, -0.002310f, 0.000536f, 0.002042f, -0.015140f, 0.010513f, -0.004783f, 0.003435f, 0.002166f, 0.003499f, 0.006611f, -0.000048f, -0.002193f, -0.005039f, 0.010896f, -0.000862f, 0.007082f, 0.013458f, -0.002923f, 0.011443f, 0.009759f, -0.008463f, 0.005654f, 0.005723f, 0.006138f, -0.014933f, -0.001488f, 0.000892f, -0.004697f, -0.009393f, 0.000142f, 0.010958f, -0.002577f, -0.004695f, -0.003690f, 0.003351f, 0.010157f, 0.005017f, -0.005196f, -0.000087f, -0.004286f, 0.000430f, -0.001367f, -0.005065f, 0.009485f, -0.012266f, -0.010139f, -0.009310f, 0.002874f, -0.001310f, -0.000340f, -0.011444f, -0.012088f, 0.002942f, -0.000260f, 0.000682f, -0.001197f, -0.000644f, -0.009025f, -0.005340f, -0.009867f, 0.001931f, 0.008446f, -0.002636f, 0.007494f, 0.001403f, 0.006662f, -0.014404f, 0.000056f, 0.002079f, -0.004811f, -0.002175f, 0.001918f, -0.005134f, -0.000637f, 0.003771f, - 0.004069f, -0.003197f, -0.009640f, 0.008480f, 0.001324f, 0.000206f, -0.002135f, -0.001233f, -0.007720f, 0.000339f, 0.000526f, -0.001359f, 0.001386f, 0.000248f, -0.002728f, 0.001162f, 0.001243f, -0.000779f, -0.001116f, -0.000385f, -0.000466f, -0.000522f, 0.000419f, 0.004060f, 0.000062f, -0.001220f, 0.003355f, 0.001499f, -0.000271f, -0.001121f, -0.000339f, -0.005440f, 0.001342f, -0.001092f, 0.009348f, 0.014869f, 0.000943f, -0.005654f, -0.012644f, 0.005786f, 0.003755f, 0.003509f, 0.015751f, -0.010297f, 0.000364f, 0.001919f, -0.002855f, -0.005151f, 0.002330f, 0.000994f, 0.009495f, 0.020949f, -0.001844f, 0.003627f, 0.008760f, -0.003797f, 0.007814f, 0.013617f, -0.009501f, -0.000353f, -0.003540f, -0.000195f, 0.006075f, -0.010604f, 0.011460f, 0.002558f, 0.000135f, 0.006044f, -0.000992f, 0.008368f, -0.004533f, -0.001923f, -0.002353f, 0.013144f, 0.006127f, 0.008373f, -0.001584f, 0.006900f, -0.012751f, 0.014747f, -0.005705f, 0.005803f, -0.013423f, 0.005423f, 0.009750f, 0.017973f, 0.006601f, 0.003362f, -0.011820f, -0.004522f, 0.003269f, -0.008944f, -0.010643f, -0.002519f, 0.021233f, 0.024591f, - 0.004719f, 0.005791f, -0.007010f, -0.003109f, 0.013752f, 0.002688f, 0.006025f, -0.000825f, 0.004190f, 0.003691f, -0.001812f, 0.003150f, -0.002006f, 0.002376f, 0.001663f, 0.008691f, 0.007073f, -0.010899f, 0.009723f, -0.003184f, 0.005003f, -0.003429f, 0.003679f, -0.002893f, -0.004048f, -0.000071f, -0.006466f, 0.001021f, 0.004744f, 0.001083f, 0.002450f, -0.002294f, -0.002854f, -0.001469f, 0.001191f, 0.000208f, 0.001088f, -0.000415f, 0.000757f, -0.001825f, 0.000689f, 0.000702f, 0.003457f, 0.000208f, 0.002357f, -0.001103f, 0.002112f, 0.010371f, 0.000292f, 0.001296f, 0.014550f, -0.012249f, -0.014420f, 0.022486f, -0.005819f, -0.003594f, 0.014705f, 0.008804f, 0.001093f, -0.025786f, 0.027871f, -0.005096f, -0.003513f, -0.002919f, -0.001509f, 0.001116f, 0.001732f, 0.008722f, 0.013009f, 0.008573f, -0.001854f, 0.014594f, 0.009265f, 0.004697f, 0.003939f, -0.005354f, 0.006673f, -0.010472f, 0.008389f, -0.001587f, 0.003523f, -0.008862f, -0.012879f, 0.001670f, -0.001612f, 0.004747f, 0.007802f, -0.003816f, -0.012324f, -0.007187f, 0.003064f, -0.014799f, 0.009606f, 0.002997f, -0.023600f, 0.010698f, - 0.001663f, 0.006129f, 0.001563f, 0.003698f, 0.004046f, -0.000939f, -0.006629f, -0.005759f, -0.016089f, -0.011820f, -0.006543f, -0.008206f, -0.001775f, 0.000994f, -0.011762f, -0.016673f, -0.002446f, 0.010900f, 0.018770f, -0.000919f, -0.012416f, 0.002109f, -0.019552f, 0.001384f, -0.001284f, -0.007671f, 0.016596f, 0.015592f, 0.005294f, -0.000560f, -0.003938f, -0.001138f, -0.008627f, 0.004127f, 0.015921f, 0.008522f, 0.013170f, 0.002687f, -0.005915f, 0.006138f, 0.003236f, -0.000402f, 0.001322f, 0.000754f, 0.000454f, 0.002872f, 0.002988f, 0.002849f, -0.000817f, 0.004972f, 0.001406f, 0.009779f, 0.003875f, 0.002647f, 0.000531f, 0.000872f, 0.002643f, -0.000667f, 0.004643f, 0.001716f, 0.001843f, -0.002573f, 0.005758f, 0.001451f, -0.001952f, -0.000819f, -0.025305f, 0.013097f, -0.004820f, -0.008994f, -0.007131f, -0.008603f, -0.012024f, 0.023216f, -0.029536f, 0.006985f, 0.007153f, 0.009685f, 0.014452f, 0.002389f, 0.004024f, 0.005455f, 0.003923f, 0.003027f, 0.004904f, 0.012725f, 0.002305f, -0.006977f, -0.000003f, -0.001209f, -0.009087f, -0.008210f, 0.004222f, 0.008533f, 0.009171f, 0.001262f, - 0.006541f, -0.015375f, -0.001782f, -0.000200f, -0.000840f, -0.014568f, -0.008732f, -0.005233f, 0.009542f, 0.008577f, -0.000146f, -0.015946f, 0.000092f, -0.008628f, -0.006186f, -0.003119f, -0.004294f, 0.010048f, 0.013647f, 0.004163f, 0.014196f, -0.022694f, -0.015868f, 0.007576f, 0.004638f, 0.000792f, 0.003004f, 0.001506f, -0.007365f, -0.014267f, -0.009873f, 0.007594f, -0.006399f, 0.011602f, 0.011403f, -0.004136f, 0.010805f, -0.017174f, -0.008504f, -0.004817f, -0.005804f, 0.001278f, 0.031313f, -0.004481f, 0.008854f, -0.004976f, -0.004536f, -0.003169f, 0.006643f, 0.007146f, -0.000833f, 0.005773f, 0.003927f, -0.009747f, 0.002690f, 0.000770f, 0.004189f, 0.000933f, 0.000510f, -0.004903f, 0.003152f, -0.000182f, 0.003194f, 0.001046f, 0.001651f, -0.000888f, -0.001874f, 0.000958f, -0.002858f, -0.004088f, 0.001392f, -0.002227f, -0.003539f, -0.001021f, 0.001053f, 0.001421f, 0.001391f, 0.001558f, -0.000211f, 0.001126f, 0.002211f, 0.001875f, 0.000616f, 0.000566f, -0.000740f, -0.001161f, 0.002062f, 0.025913f, -0.004965f, 0.000723f, 0.010922f, -0.024638f, 0.016962f, 0.008610f, -0.013880f, 0.015440f, - 0.017273f, 0.005809f, -0.026602f, 0.016472f, 0.000732f, -0.002495f, 0.013491f, 0.014572f, -0.000810f, -0.004283f, 0.000441f, -0.010315f, 0.009683f, -0.005633f, -0.009827f, -0.020692f, 0.004853f, -0.022492f, 0.006060f, -0.005501f, -0.002501f, 0.006506f, -0.018323f, -0.007520f, 0.015265f, -0.001317f, -0.007102f, 0.009347f, 0.000637f, -0.007989f, 0.006924f, 0.002519f, 0.000696f, -0.003417f, 0.005285f, -0.011150f, -0.001153f, -0.016290f, 0.015445f, 0.015439f, -0.019184f, 0.012848f, -0.013681f, -0.005157f, 0.013277f, 0.018555f, -0.001327f, -0.009222f, 0.005624f, -0.001151f, 0.002692f, -0.022648f, -0.017900f, 0.003593f, 0.003235f, -0.004886f, -0.004639f, 0.005893f, -0.000680f, -0.008018f, 0.009600f, -0.009245f, 0.003265f, 0.006947f, -0.001568f, 0.010887f, -0.010878f, 0.011009f, -0.000057f, 0.017507f, -0.005981f, 0.005325f, 0.009894f, 0.001132f, -0.006253f, -0.001771f, -0.000632f, 0.005145f, -0.001695f, -0.008217f, 0.006958f, 0.001522f, -0.003434f, 0.003081f, -0.002304f, -0.000090f, -0.003222f, -0.000914f, 0.002389f, -0.002743f, 0.001794f, 0.004811f, -0.002469f, 0.001182f, 0.000351f, -0.001575f, - 0.003053f, 0.000827f, 0.002601f, -0.003851f, 0.001589f, -0.003943f, -0.004509f, 0.001700f, -0.000704f, 0.001855f, 0.001926f, 0.000587f, 0.007166f, 0.003122f, -0.009432f, 0.018181f, -0.006228f, 0.008845f, -0.018363f, -0.001304f, -0.004850f, -0.016671f, 0.000577f, 0.011771f, 0.020923f, 0.027376f, -0.015598f, -0.000440f, -0.019441f, -0.001457f, -0.012383f, 0.011049f, -0.011595f, -0.022925f, 0.001480f, -0.014694f, -0.001381f, 0.019003f, -0.011273f, -0.011246f, 0.020392f, 0.000627f, 0.003500f, -0.002137f, -0.011999f, 0.005090f, 0.004347f, 0.024576f, -0.016966f, 0.012051f, -0.014390f, 0.003582f, 0.004767f, -0.014198f, -0.008745f, 0.023599f, 0.006449f, -0.017562f, -0.004540f, -0.006429f, -0.014102f, -0.000599f, 0.023131f, 0.012389f, 0.016094f, 0.003675f, 0.006431f, -0.021122f, -0.003062f, 0.026849f, 0.002120f, -0.016695f, 0.008923f, 0.008873f, -0.012256f, -0.010672f, -0.005912f, -0.027594f, -0.004263f, 0.008187f, 0.013623f, 0.024217f, -0.006079f, -0.013258f, -0.003842f, -0.008255f, 0.019658f, -0.007323f, -0.017178f, -0.011707f, -0.005081f, -0.002351f, -0.005329f, -0.009932f, 0.021402f, -0.012279f, - -0.001500f, 0.001969f, 0.001015f, 0.006983f, 0.004350f, -0.006315f, -0.008479f, 0.006355f, 0.007631f, 0.008071f, -0.001859f, 0.003647f, -0.002249f, -0.001343f, 0.003602f, -0.000802f, -0.003766f, 0.003799f, 0.001774f, -0.000118f, -0.002470f, -0.000832f, -0.006269f, 0.000575f, -0.001564f, -0.005390f, -0.002759f, 0.002439f, 0.002120f, 0.000092f, 0.002491f, 0.011780f, -0.040896f, -0.028189f, -0.018069f, 0.002157f, -0.034266f, 0.005121f, 0.025471f, 0.008428f, 0.026226f, -0.014074f, -0.006491f, -0.002849f, -0.013632f, -0.005102f, -0.020464f, 0.036371f, 0.020765f, 0.014500f, -0.030729f, -0.005940f, -0.009891f, -0.019994f, 0.006914f, -0.002105f, 0.006483f, -0.024834f, -0.001710f, -0.002226f, -0.017836f, 0.010374f, 0.002951f, 0.018225f, 0.007329f, -0.015242f, 0.024010f, -0.011355f, 0.009743f, 0.005057f, -0.000205f, 0.019001f, 0.017657f, 0.004455f, -0.022917f, 0.027951f, -0.014154f, 0.020041f, 0.009133f, -0.010372f, -0.011539f, 0.022473f, 0.003294f, -0.002620f, 0.005846f, -0.018985f, -0.006810f, 0.010947f, -0.001594f, 0.019873f, -0.011495f, -0.017969f, 0.007360f, 0.005084f, 0.000605f, 0.019764f, - 0.008512f, 0.004018f, -0.012617f, 0.014383f, 0.005634f, -0.011026f, -0.001524f, -0.001184f, -0.006346f, -0.004612f, -0.005353f, 0.008651f, 0.021701f, 0.036583f, 0.016994f, -0.006172f, 0.001849f, -0.008399f, 0.008409f, 0.011256f, -0.000187f, -0.009348f, -0.005506f, -0.012202f, 0.007517f, -0.006667f, 0.001778f, -0.005765f, -0.001588f, 0.008117f, -0.000974f, 0.000879f, -0.007436f, 0.007938f, -0.004200f, -0.003563f, 0.004350f, -0.007302f, 0.007990f, -0.005595f, 0.004273f, -0.003955f, -0.000757f, 0.001791f, -0.005459f, -0.003877f, -0.002400f, -0.008883f, -0.008931f, -0.003917f, -0.000479f, -0.003148f, 0.007054f, 0.006519f, 0.003802f, -0.025822f, 0.034713f, 0.014394f, 0.039695f, -0.017795f, -0.021314f, 0.037827f, 0.001286f, -0.003896f, 0.008299f, 0.002911f, 0.022150f, 0.029511f, 0.003859f, -0.027390f, -0.043874f, 0.006176f, -0.012102f, 0.002698f, 0.001255f, -0.018977f, -0.001202f, 0.023928f, 0.019563f, 0.015394f, 0.030798f, -0.006930f, 0.026098f, -0.018299f, 0.023114f, 0.007626f, 0.017912f, -0.011973f, 0.031544f, 0.018178f, 0.023038f, -0.036513f, -0.000161f, 0.033270f, 0.018943f, 0.006067f, - -0.007870f, 0.050034f, 0.021124f, -0.019574f, -0.012069f, 0.012228f, -0.019058f, -0.001822f, -0.009140f, 0.002614f, 0.042006f, 0.044014f, 0.031956f, 0.011767f, 0.000386f, 0.016594f, -0.014579f, -0.003649f, 0.018036f, -0.018629f, 0.044480f, 0.027761f, 0.021841f, 0.008642f, -0.001693f, -0.020955f, 0.026418f, 0.001000f, 0.023047f, -0.010246f, 0.008968f, -0.014774f, -0.008473f, -0.000337f, 0.011635f, -0.017385f, 0.041414f, 0.017885f, -0.004530f, -0.020238f, -0.038983f, 0.019241f, 0.003443f, -0.012638f, -0.001169f, 0.004883f, -0.009088f, 0.005719f, 0.015085f, -0.002555f, -0.005151f, 0.000524f, -0.003162f, -0.003830f, 0.003432f, -0.004658f, -0.003423f, -0.006402f, 0.006779f, 0.003901f, -0.009769f, 0.005562f, 0.006316f, 0.006147f, -0.000175f, -0.002849f, -0.001079f, -0.000025f, 0.003281f, -0.000788f, 0.002431f, -0.005754f, 0.009578f, -0.011950f, 0.000220f, 0.004184f, 0.010735f, 0.042814f, -0.002576f, -0.021270f, -0.009629f, -0.016694f, -0.000709f, -0.026737f, 0.006843f, -0.023053f, 0.012933f, 0.002872f, -0.006271f, -0.018165f, -0.021665f, -0.032834f, -0.034026f, -0.010174f, 0.029389f, -0.002298f, - -0.019284f, 0.007835f, -0.018392f, 0.013962f, -0.015723f, 0.027495f, -0.028419f, 0.006527f, -0.020179f, -0.020686f, -0.003851f, 0.003398f, -0.006078f, 0.012923f, -0.040872f, 0.016324f, 0.003856f, -0.009939f, -0.002901f, -0.002818f, -0.020269f, -0.032486f, -0.034778f, 0.024853f, 0.012264f, -0.013683f, 0.021529f, 0.000575f, -0.009098f, -0.025651f, -0.053737f, -0.044301f, 0.024941f, -0.007847f, 0.000480f, -0.005436f, -0.002608f, -0.002690f, -0.036427f, 0.013684f, -0.043018f, -0.023038f, 0.001881f, -0.001488f, -0.009271f, -0.005915f, -0.005812f, 0.044136f, -0.013796f, -0.014588f, -0.012110f, 0.046181f, -0.008457f, -0.018765f, 0.029259f, -0.023196f, -0.014758f, -0.019147f, -0.016104f, -0.059919f, 0.011861f, 0.009400f, -0.020137f, -0.003081f, 0.013851f, -0.007977f, -0.005496f, -0.011324f, -0.010335f, -0.001634f, -0.005468f, -0.005489f, 0.020730f, -0.001923f, -0.002370f, 0.013744f, 0.016464f, -0.008412f, -0.006143f, -0.001575f, -0.003057f, 0.004016f, -0.010254f, 0.000926f, 0.001047f, 0.001663f, -0.006148f, -0.007662f, -0.003175f, 0.006565f, -0.002894f, -0.005764f, -0.000882f, 0.004065f, -0.013181f, -0.002314f, - 0.007283f, 0.000229f, -0.005321f, 0.006758f, -0.004658f, 0.005958f, -0.000137f, 0.005681f, 0.006225f, 0.006217f, -0.011529f, -0.001433f, -0.063313f, -0.047809f, -0.027350f, 0.055278f, -0.002817f, -0.009215f, -0.006755f, -0.004360f, -0.018218f, 0.019563f, 0.015123f, 0.049473f, -0.045659f, -0.008902f, 0.014060f, -0.033400f, -0.013367f, -0.011818f, 0.056988f, -0.000836f, 0.013136f, 0.029008f, 0.002624f, 0.027918f, -0.030148f, -0.037894f, -0.025359f, -0.006976f, -0.006447f, 0.004521f, 0.017807f, -0.000878f, -0.031920f, -0.022026f, -0.001636f, -0.017043f, -0.035810f, 0.031958f, -0.005345f, -0.017864f, -0.000228f, 0.010259f, 0.010151f, 0.005967f, -0.016184f, 0.003256f, -0.033300f, -0.014583f, -0.049384f, 0.023200f, 0.014917f, -0.005846f, -0.015507f, 0.018247f, -0.024607f, -0.006294f, 0.053272f, -0.005618f, 0.045147f, 0.020188f, 0.012104f, -0.011832f, -0.056706f, -0.023594f, -0.010909f, -0.030540f, -0.022829f, -0.014565f, 0.025380f, -0.011617f, 0.000578f, -0.022802f, 0.048351f, -0.017305f, 0.019944f, 0.013513f, -0.032991f, -0.013294f, 0.007275f, 0.030552f, 0.055818f, 0.046416f, 0.020120f, -0.003192f, - 0.019165f, 0.000117f, 0.001667f, -0.010974f, 0.005640f, -0.011345f, -0.007869f, -0.000239f, 0.003287f, -0.006865f, -0.009068f, -0.016385f, -0.013023f, 0.006909f, 0.005367f, 0.005622f, -0.006023f, -0.002574f, -0.032484f, -0.000682f, -0.014980f, -0.007110f, 0.005885f, 0.004432f, 0.001879f, 0.013348f, 0.000334f, -0.001984f, 0.001340f, -0.005512f, -0.023569f, -0.002334f, -0.013396f, 0.006605f, -0.011887f, -0.013058f, 0.001515f, 0.014915f, 0.006859f, -0.004415f, -0.008802f, -0.008289f, -0.003868f, 0.007936f, 0.002124f, -0.003793f, 0.032873f, -0.001521f, -0.018615f, 0.020307f, 0.011667f, 0.068679f, 0.002450f, 0.000855f, 0.024275f, -0.030837f, -0.021252f, -0.006031f, 0.005743f, 0.011223f, -0.008212f, 0.029151f, -0.017710f, 0.004178f, 0.027401f, 0.012436f, 0.010230f, 0.010273f, -0.020039f, 0.003979f, -0.000486f, -0.009685f, 0.004305f, -0.014445f, -0.025888f, -0.013398f, 0.002189f, -0.025427f, 0.033267f, -0.002215f, 0.003459f, -0.004338f, 0.022947f, 0.025932f, -0.004704f, -0.018762f, -0.001583f, -0.005829f, 0.030502f, 0.039167f, -0.027510f, -0.018782f, -0.013819f, 0.009987f, 0.029104f, -0.025609f, - 0.008835f, -0.000874f, 0.006268f, -0.013186f, -0.017809f, 0.005918f, 0.019280f, 0.003823f, -0.023356f, 0.021623f, 0.062902f, -0.020006f, 0.011901f, -0.004440f, 0.005087f, 0.024486f, 0.007093f, 0.028817f, 0.024108f, -0.005994f, 0.036819f, 0.066750f, 0.002959f, -0.024293f, 0.065350f, -0.001025f, 0.062501f, -0.021261f, -0.030173f, 0.028968f, 0.011356f, 0.043712f, -0.006764f, 0.061450f, 0.019626f, 0.014444f, -0.018010f, 0.029235f, 0.003694f, 0.003153f, 0.007132f, 0.023916f, 0.005310f, 0.027276f, 0.003629f, 0.006953f, 0.001275f, 0.004306f, 0.004682f, 0.008875f, -0.002384f, 0.009919f, 0.023120f, 0.009771f, 0.010787f, 0.003467f, 0.006484f, -0.012422f, 0.011506f, 0.004529f, 0.005481f, 0.008423f, 0.004735f, -0.000558f, 0.000242f, 0.006628f, -0.005974f, 0.002457f, 0.000719f, 0.005925f, 0.016661f, 0.006090f, -0.000104f, -0.007973f, 0.008994f, 0.001731f, 0.002504f, -0.001285f, 0.008801f, 0.005128f, 0.012809f, -0.043058f, -0.013885f, 0.067229f, 0.011257f, -0.031040f, 0.009270f, -0.023512f, 0.008728f, 0.012901f, -0.005437f, -0.035548f, -0.013352f, -0.053149f, 0.022090f, 0.018249f, - -0.020408f, 0.019794f, 0.030906f, 0.006361f, -0.008257f, -0.031041f, 0.007120f, 0.049687f, -0.023727f, 0.029823f, 0.028514f, 0.004508f, 0.021463f, 0.019862f, 0.000975f, 0.024769f, 0.016567f, -0.047306f, -0.006650f, -0.019060f, 0.048406f, 0.032076f, -0.033670f, 0.020759f, -0.003821f, 0.025533f, 0.080684f, -0.007611f, -0.013578f, 0.008073f, 0.072624f, 0.029810f, -0.004403f, 0.009298f, 0.013207f, 0.041906f, 0.037029f, -0.025269f, 0.044440f, 0.020377f, 0.041201f, -0.029116f, 0.004481f, 0.008276f, 0.008816f, 0.025458f, 0.037814f, -0.024550f, -0.019474f, 0.029929f, 0.015004f, -0.010143f, -0.010634f, 0.000122f, 0.045375f, -0.085446f, 0.020173f, -0.030368f, -0.022390f, 0.004140f, -0.029241f, -0.027187f, -0.003875f, -0.046714f, 0.033777f, -0.009914f, 0.035685f, -0.001264f, 0.031220f, -0.020565f, 0.012581f, 0.000779f, 0.010357f, -0.000937f, -0.011988f, 0.009472f, 0.006687f, 0.007572f, 0.015250f, -0.007400f, 0.007734f, 0.010524f, -0.008712f, 0.000844f, 0.014573f, 0.005429f, -0.007800f, 0.016259f, -0.010651f, 0.002217f, 0.008484f, -0.010391f, -0.007842f, 0.003353f, 0.003265f, 0.018134f, - 0.015000f, 0.010778f, 0.005462f, -0.001680f, 0.011704f, 0.002683f, 0.005165f, 0.005213f, 0.009714f, 0.011858f, -0.009775f, -0.008128f, -0.015820f, 0.012530f, 0.004943f, 0.001072f, 0.003947f, -0.016662f, -0.015969f, 0.011169f, 0.014536f, 0.015350f, -0.018907f, -0.022580f, -0.058448f, 0.002776f, -0.032594f, 0.053366f, 0.006555f, -0.013706f, -0.007857f, 0.032079f, 0.009260f, 0.052019f, 0.021000f, -0.013342f, 0.002214f, 0.011092f, 0.023685f, 0.039173f, -0.043614f, -0.037669f, -0.007874f, 0.065791f, -0.020166f, 0.008523f, 0.018788f, 0.028911f, 0.034956f, 0.050046f, 0.043167f, 0.003940f, -0.010211f, 0.046752f, 0.003688f, -0.029546f, 0.015868f, -0.027400f, 0.019974f, 0.005117f, -0.024484f, 0.022622f, 0.087722f, 0.048979f, -0.030881f, -0.023287f, -0.003113f, -0.024163f, -0.024022f, -0.020679f, 0.015131f, -0.011714f, -0.020427f, 0.004715f, 0.024198f, 0.014567f, 0.008079f, 0.034593f, 0.009322f, -0.008186f, 0.036459f, 0.030789f, -0.026203f, 0.018000f, -0.029590f, -0.023037f, -0.026226f, 0.000080f, -0.063468f, -0.018666f, 0.044314f, 0.032791f, -0.015043f, 0.022068f, -0.005255f, 0.001724f, - -0.038977f, 0.008933f, 0.023521f, 0.037373f, 0.021010f, 0.024803f, 0.013597f, 0.011950f, -0.016592f, -0.014543f, -0.017653f, 0.010094f, -0.003765f, 0.001536f, 0.007601f, 0.007927f, -0.000754f, 0.019386f, -0.006005f, -0.008363f, -0.009147f, 0.013631f, -0.017639f, -0.007068f, -0.021769f, -0.001083f, 0.004324f, -0.009331f, 0.000879f, -0.005131f, 0.013636f, -0.002543f, -0.028730f, 0.000506f, -0.001958f, 0.008636f, 0.011261f, 0.003707f, 0.012793f, -0.000751f, 0.020792f, 0.004307f, -0.001642f, -0.000506f, 0.002269f, 0.000927f, 0.001056f, -0.023863f, 0.019733f, 0.015930f, -0.030308f, -0.012953f, -0.065904f, -0.005244f, 0.054970f, 0.000691f, -0.040268f, 0.006523f, 0.001895f, -0.027025f, 0.036645f, 0.021218f, -0.014718f, 0.010466f, 0.016613f, 0.022658f, 0.012580f, 0.003957f, -0.016261f, 0.008905f, 0.013046f, 0.035057f, 0.052345f, -0.014339f, -0.035227f, -0.018523f, 0.009991f, 0.010927f, 0.043080f, -0.016440f, -0.033735f, -0.026258f, -0.026991f, 0.052144f, 0.095531f, 0.034720f, 0.004796f, 0.104818f, 0.006305f, 0.043470f, 0.024795f, -0.008799f, -0.021970f, 0.018648f, -0.029746f, -0.019812f, - 0.021245f, 0.001447f, -0.063138f, -0.065384f, -0.016357f, 0.027334f, -0.034115f, -0.042784f, -0.023559f, -0.031673f, -0.026079f, 0.022112f, -0.018161f, -0.048515f, 0.021824f, 0.001929f, -0.014144f, 0.011366f, -0.010933f, 0.024480f, 0.098328f, -0.060222f, 0.049571f, -0.068473f, -0.038829f, -0.022694f, -0.015494f, 0.038082f, 0.015387f, 0.018266f, -0.007396f, 0.021161f, 0.044129f, 0.011044f, 0.001035f, 0.000579f, -0.012801f, 0.006074f, 0.012100f, 0.035360f, -0.002124f, -0.017516f, -0.002614f, 0.027012f, 0.017364f, -0.007630f, 0.010246f, 0.012261f, -0.009747f, -0.000335f, -0.004168f, 0.033896f, 0.012284f, 0.016072f, 0.011932f, 0.009700f, -0.013954f, -0.009891f, -0.002193f, 0.008702f, -0.017075f, 0.002513f, -0.016840f, -0.011618f, 0.002749f, 0.001806f, -0.019355f, 0.018996f, 0.025955f, -0.002540f, -0.003303f, 0.015789f, 0.000233f, -0.006778f, 0.022976f, -0.009424f, 0.015945f, 0.001488f, 0.053224f, 0.034231f, 0.030863f, 0.045330f, -0.052897f, 0.020345f, -0.055404f, -0.002221f, 0.072413f, 0.064401f, 0.027454f, 0.001001f, 0.012531f, 0.008183f, -0.020765f, 0.016784f, 0.020851f, -0.091242f, - 0.005595f, 0.013416f, 0.027749f, -0.033434f, -0.051375f, 0.037689f, 0.017832f, 0.009592f, -0.021958f, 0.044703f, -0.006278f, 0.034751f, 0.028876f, -0.003440f, 0.004412f, -0.010092f, 0.035193f, -0.020875f, 0.010747f, 0.021178f, -0.001840f, 0.044976f, 0.026043f, -0.002511f, 0.023078f, 0.026224f, -0.001346f, -0.020291f, -0.068437f, -0.012613f, 0.007319f, -0.040523f, 0.003929f, 0.032354f, -0.062189f, -0.027586f, 0.009554f, -0.026726f, -0.004317f, 0.032841f, 0.001919f, -0.023207f, -0.030291f, 0.013511f, 0.013170f, -0.062866f, -0.020951f, -0.005202f, 0.000279f, 0.039518f, 0.019370f, 0.004439f, 0.069023f, -0.008672f, -0.002218f, 0.002749f, -0.039342f, 0.037308f, 0.000338f, 0.061210f, -0.023698f, -0.010203f, 0.018429f, 0.009273f, -0.052131f, 0.001730f, -0.007178f, -0.020833f, -0.016832f, 0.006555f, 0.002188f, -0.014686f, -0.001281f, -0.009109f, -0.006421f, 0.001936f, -0.022283f, 0.006476f, 0.003095f, -0.003079f, 0.008569f, 0.002389f, -0.014697f, 0.003049f, 0.004250f, 0.003963f, -0.014217f, 0.020869f, 0.004127f, 0.027140f, -0.019943f, 0.002579f, -0.016799f, -0.005885f, -0.003062f, -0.029931f, - 0.006414f, 0.002849f, -0.001220f, -0.003994f, -0.005383f, 0.011179f, -0.013480f, -0.010359f, 0.013092f, 0.017534f, -0.017334f, -0.064582f, -0.056287f, 0.010315f, -0.028969f, -0.009066f, -0.043371f, -0.054030f, -0.056848f, -0.037356f, 0.040564f, 0.055371f, 0.001494f, -0.045570f, 0.003629f, 0.002144f, 0.000631f, 0.021062f, 0.035350f, 0.035349f, 0.000902f, -0.022881f, -0.056713f, -0.032511f, -0.049641f, -0.010637f, 0.000241f, 0.004216f, 0.005155f, 0.007013f, 0.013710f, 0.017764f, 0.033456f, -0.052455f, 0.023065f, 0.009201f, 0.011612f, 0.028182f, 0.049814f, 0.055928f, -0.032179f, 0.024939f, -0.044488f, -0.013878f, -0.040367f, -0.003913f, -0.015724f, 0.092961f, 0.032991f, 0.066976f, 0.002834f, -0.035892f, -0.015419f, 0.042901f, 0.046419f, -0.027250f, 0.085744f, -0.035894f, 0.005355f, 0.003793f, 0.014896f, 0.031515f, 0.095383f, -0.006653f, 0.023359f, 0.053132f, 0.012131f, -0.042064f, 0.026745f, 0.097612f, -0.017812f, -0.023596f, -0.057560f, -0.004777f, 0.036003f, 0.022242f, 0.003021f, -0.055240f, -0.041865f, 0.007052f, -0.043686f, 0.013177f, 0.001933f, -0.054993f, -0.006237f, 0.005685f, - -0.008651f, 0.039755f, 0.037316f, 0.000849f, -0.010898f, -0.023678f, 0.025832f, -0.010936f, 0.044895f, -0.010214f, 0.000581f, 0.030781f, 0.030867f, 0.043956f, 0.033931f, -0.024768f, -0.009725f, 0.005946f, -0.008212f, 0.003031f, -0.018908f, -0.018138f, -0.018414f, 0.009657f, -0.022551f, -0.026222f, 0.015574f, 0.020397f, 0.001831f, -0.022515f, 0.014353f, 0.008059f, -0.005566f, -0.005683f, -0.015362f, -0.000237f, 0.008760f, -0.003805f, -0.013736f, -0.017793f, -0.003414f, -0.011653f, 0.014676f, 0.008341f, -0.007619f, -0.009854f, 0.018783f, 0.086671f, -0.004549f, -0.000539f, 0.036737f, 0.007091f, -0.119726f, -0.037664f, 0.084918f, 0.028222f, -0.025003f, -0.047723f, -0.006761f, -0.031547f, 0.043754f, 0.022711f, 0.008159f, -0.025311f, -0.056716f, 0.012098f, -0.097643f, -0.011978f, 0.047643f, 0.065074f, -0.007595f, -0.055361f, -0.037745f, -0.114249f, 0.033446f, -0.019884f, 0.044647f, 0.033745f, -0.032530f, -0.023677f, -0.101410f, -0.076171f, 0.039551f, 0.107924f, 0.043040f, 0.051232f, -0.036047f, -0.064244f, -0.061675f, -0.025880f, 0.091696f, 0.123572f, 0.064396f, -0.143746f, -0.052761f, -0.110165f, - -0.058962f, 0.136458f, 0.033196f, 0.030223f, -0.018210f, -0.131511f, -0.107727f, -0.108064f, -0.020168f, 0.010428f, 0.067998f, -0.025320f, 0.051708f, -0.104298f, 0.064735f, 0.025892f, 0.007823f, 0.131039f, 0.008338f, -0.012151f, -0.006350f, -0.177872f, -0.054414f, -0.012118f, 0.055934f, 0.029175f, 0.025529f, 0.078453f, -0.083985f, 0.005376f, -0.055601f, 0.060520f, 0.043660f, 0.004165f, 0.012016f, 0.012870f, -0.009984f, 0.035986f, 0.019227f, 0.009547f, 0.030589f, -0.020930f, -0.039156f, 0.009483f, 0.027975f, 0.042577f, 0.035030f, 0.023152f, -0.029417f, -0.047583f, -0.066739f, -0.005968f, 0.004697f, 0.053939f, 0.066779f, -0.010068f, -0.050982f, -0.087507f, -0.042086f, 0.006241f, 0.066807f, 0.107369f, 0.027897f, -0.105027f, -0.107889f, -0.110034f, -0.001293f, 0.089770f, 0.078942f, 0.083400f, -0.028102f, -0.040606f, -0.078369f, -0.078992f, 0.028861f, 0.053424f, 0.069533f, 0.035374f, -0.055308f, -0.052133f, -0.029612f, -0.008220f, 0.064510f, 0.034301f, 0.010561f, -0.002883f, -0.039754f, -0.028531f, -0.006038f, 0.007951f, -0.051391f, 0.098622f, 0.042326f, 0.045204f, -0.122174f, 0.024497f, - -0.170190f, -0.037625f, -0.000513f, 0.024025f, 0.009743f, -0.109088f, 0.059022f, -0.030301f, -0.019701f, -0.020600f, -0.023268f, -0.026814f, -0.033801f, 0.071316f, -0.020508f, -0.061454f, 0.019506f, -0.017472f, 0.007425f, 0.034334f, -0.069377f, -0.024904f, -0.004363f, 0.028954f, 0.002890f, 0.078458f, -0.006774f, -0.045055f, 0.103623f, -0.087884f, 0.051201f, -0.081509f, -0.027026f, 0.039612f, -0.066229f, 0.004735f, 0.047835f, -0.025118f, -0.005814f, -0.005023f, 0.061622f, 0.094091f, 0.054383f, -0.031784f, -0.013159f, -0.014814f, 0.005858f, 0.030166f, -0.012602f, -0.018823f, 0.018199f, 0.009622f, -0.170886f, -0.006961f, -0.006447f, 0.024773f, 0.021090f, 0.001033f, 0.000140f, 0.048500f, -0.053892f, -0.013893f, -0.005385f, 0.036944f, -0.137241f, -0.019298f, 0.123740f, -0.031831f, -0.050143f, -0.000527f, 0.093593f, -0.017336f, -0.022621f, 0.025467f, -0.037102f, -0.038713f, 0.057728f, 0.089627f, -0.032699f, -0.045648f, 0.015244f, 0.026835f, -0.014445f, -0.048115f, -0.001260f, 0.006920f, -0.010027f, -0.007046f, -0.015295f, -0.020972f, 0.009565f, 0.000641f, -0.019513f, -0.003504f, -0.001035f, -0.000733f, - -0.018021f, 0.010182f, -0.024034f, -0.025167f, -0.015047f, -0.015383f, 0.022950f, -0.003402f, -0.005259f, -0.000548f, -0.013638f, 0.019238f, -0.025541f, 0.007268f, 0.000337f, 0.001822f, 0.017066f, -0.000808f, -0.030640f, 0.003491f, -0.008401f, 0.005704f, 0.003711f, -0.027187f, 0.042432f, -0.011254f, -0.004502f, -0.004076f, 0.003480f, 0.010914f, -0.001464f, -0.009963f, -0.022765f, -0.041557f, -0.125027f, -0.102708f, 0.089755f, 0.076513f, 0.007001f, 0.081743f, -0.089613f, -0.005444f, -0.172778f, -0.061545f, -0.030827f, 0.083290f, 0.075802f, 0.046359f, -0.069729f, -0.024165f, -0.003336f, -0.033390f, 0.016097f, 0.029951f, 0.038963f, 0.052139f, -0.040257f, 0.029105f, -0.074930f, -0.047499f, -0.012107f, -0.016146f, 0.001697f, 0.049139f, -0.059219f, 0.050628f, -0.023058f, -0.033006f, -0.013310f, 0.004535f, -0.074270f, -0.001883f, -0.067268f, -0.025254f, -0.026300f, -0.063913f, 0.087264f, 0.039965f, 0.019604f, 0.021169f, -0.017213f, -0.089523f, -0.132591f, -0.077563f, -0.078090f, 0.052589f, 0.012359f, 0.056702f, 0.079134f, 0.065205f, -0.021687f, 0.015479f, -0.045956f, -0.035328f, -0.042003f, 0.032534f, - -0.044501f, -0.002331f, -0.042482f, -0.043898f, -0.027722f, 0.051332f, -0.041752f, -0.011907f, 0.003943f, -0.006134f, -0.060109f, -0.064658f, -0.039314f, -0.023310f, -0.087079f, -0.051889f, 0.012902f, 0.052086f, 0.054353f, 0.069408f, -0.004782f, -0.056952f, -0.073747f, -0.056749f, 0.028598f, 0.009036f, -0.009357f, 0.033685f, 0.085556f, 0.022592f, 0.022648f, -0.021894f, -0.016525f, -0.028429f, -0.017481f, -0.009286f, -0.027577f, -0.006503f, 0.032303f, -0.007173f, -0.014652f, -0.026622f, -0.029629f, -0.033281f, -0.010117f, 0.015993f, -0.009149f, 0.006778f, 0.003723f, -0.059803f, 0.006173f, -0.028571f, 0.024690f, 0.047861f, -0.024456f, 0.033037f, -0.004514f, 0.007993f, 0.000822f, -0.047295f, -0.007818f, -0.015452f, -0.012577f, 0.043052f, -0.027456f, -0.186219f, -0.252401f, -0.238497f, -0.226844f, -0.271955f, -0.045485f, -0.075187f, 0.048280f, 0.076965f, 0.243561f, 0.156475f, 0.206492f, 0.284566f, 0.312888f, 0.213615f, 0.271829f, 0.154735f, 0.072132f, -0.010854f, -0.051030f, -0.069331f, -0.114757f, -0.112634f, -0.155654f, -0.065806f, -0.057258f, -0.146436f, -0.109346f, -0.104699f, -0.119082f, -0.193754f, - -0.131974f, -0.101587f, -0.081590f, -0.149109f, -0.020782f, -0.044648f, -0.061999f, -0.144390f, -0.133372f, -0.109943f, -0.094010f, -0.068249f, -0.027760f, -0.091784f, 0.026582f, 0.047671f, -0.071860f, 0.080617f, 0.111961f, 0.107585f, 0.195229f, 0.158664f, 0.122219f, 0.134520f, 0.135339f, 0.134312f, 0.205304f, 0.231027f, 0.227031f, 0.155387f, 0.244862f, 0.241798f, 0.251908f, 0.256168f, 0.290874f, 0.258210f, 0.272652f, 0.361795f, 0.184574f, 0.186398f, 0.188916f, 0.176055f, -0.008285f, 0.080469f, 0.101207f, -0.057899f, -0.031222f, -0.099833f, -0.183200f, -0.165777f, -0.175096f, -0.315409f, -0.231549f, -0.140778f, -0.246707f, -0.261083f, -0.215610f, -0.229635f, -0.227481f, -0.273048f, -0.250365f, -0.252662f, -0.236616f, -0.220670f, -0.201378f, -0.186289f, -0.186682f, -0.154981f, -0.130736f, -0.206620f, -0.031597f, -0.092848f, -0.106848f, -0.023980f, -0.013269f, -0.104523f, -0.013284f, -0.040307f, -0.015033f, 0.038660f, 0.046270f, 0.121532f, 0.072069f, 0.101625f, 0.112625f, 0.122649f, 0.111250f, 0.155381f, 0.151522f, 0.161391f, 0.150542f, 0.180696f, 0.185490f, 0.182178f, 0.147263f, 0.190493f, - 0.200058f, 0.155346f, 0.104665f, 0.101449f, 0.061446f, 0.053326f, 0.014509f, -0.006362f, -0.006027f, -0.032861f, -0.029664f, -0.022541f, -0.013109f, -0.029180f, -0.031515f, -0.029154f, -0.013646f, -0.029152f, -0.037362f, -0.021682f, -0.007412f, -0.025508f, -0.035189f, -0.028119f, -0.023837f, -0.037304f, -0.037951f, -0.028523f, -0.018317f, -0.015898f, -0.014920f}, - {-0.011750f, 0.014856f, -0.001147f, 0.005983f, 0.003010f, 0.007047f, -0.012611f, -0.006811f, 0.008090f, 0.003912f, 0.000082f, -0.007015f, 0.001429f, -0.019566f, -0.012601f, -0.000686f, -0.007514f, -0.008498f, 0.003480f, 0.015281f, 0.002558f, 0.011635f, -0.002704f, 0.011498f, -0.006877f, -0.006138f, -0.000774f, -0.010391f, 0.002053f, 0.005155f, -0.003761f, -0.000259f, 0.002687f, 0.000481f, 0.004677f, -0.000565f, -0.011122f, 0.003968f, -0.006898f, -0.005203f, 0.003110f, -0.006855f, -0.010380f, 0.010307f, -0.010891f, 0.009808f, 0.009156f, 0.006024f, -0.000508f, -0.012779f, -0.007445f, 0.001423f, -0.002429f, 0.016414f, -0.010078f, 0.003980f, -0.001319f, 0.002155f, -0.012457f, -0.020781f, -0.003688f, -0.006253f, -0.006954f, -0.001654f, 0.008748f, -0.001924f, -0.009388f, 0.008191f, 0.003462f, -0.004185f, 0.006833f, -0.001363f, 0.002030f, -0.009580f, -0.000817f, -0.002410f, -0.000186f, 0.003636f, -0.004408f, 0.002940f, -0.008776f, 0.005876f, -0.001406f, 0.000600f, -0.003232f, -0.002919f, -0.000006f, 0.003558f, 0.001269f, -0.000153f, 0.001333f, -0.000093f, -0.005309f, 0.001493f, 0.000380f, 0.003281f, - -0.000582f, 0.000086f, -0.000065f, 0.000049f, -0.000387f, -0.001916f, 0.007975f, 0.007954f, 0.001127f, 0.014345f, -0.000163f, 0.006194f, 0.007709f, -0.000094f, -0.007001f, 0.000732f, -0.009947f, -0.012741f, -0.004836f, -0.014519f, -0.014985f, -0.004882f, 0.009850f, -0.003524f, -0.003413f, -0.007806f, -0.001975f, -0.013647f, 0.006668f, -0.003825f, 0.003368f, 0.008186f, 0.002777f, -0.002877f, 0.005629f, 0.005335f, -0.006660f, 0.004622f, 0.000614f, 0.001232f, 0.004991f, -0.011906f, -0.005137f, 0.008427f, -0.005406f, -0.000398f, -0.003439f, 0.009353f, -0.011991f, -0.001002f, -0.010043f, 0.006507f, -0.000597f, -0.000741f, 0.009073f, -0.003926f, -0.004360f, -0.003140f, -0.008480f, 0.000602f, -0.003841f, -0.000678f, 0.000561f, 0.005768f, 0.005864f, 0.001971f, -0.002605f, -0.010014f, -0.016376f, -0.005081f, -0.001138f, -0.004051f, 0.008802f, -0.003555f, -0.005049f, 0.007023f, -0.004526f, -0.007028f, 0.015541f, -0.003381f, -0.008693f, -0.000785f, 0.001427f, -0.002608f, 0.007666f, -0.000997f, -0.006852f, 0.000098f, 0.000301f, -0.001480f, -0.002064f, 0.006095f, 0.001377f, 0.000859f, -0.003637f, 0.000757f, - -0.001108f, 0.000411f, 0.002378f, -0.000535f, 0.001348f, 0.002828f, 0.000357f, -0.000574f, -0.000610f, 0.001198f, -0.003455f, -0.001292f, -0.000691f, -0.001595f, 0.001437f, 0.001191f, -0.000567f, 0.016649f, -0.010586f, -0.004991f, -0.007660f, 0.006186f, 0.001199f, -0.000742f, 0.012010f, 0.002893f, 0.003521f, -0.017399f, 0.003213f, -0.008109f, -0.009443f, -0.012265f, -0.000197f, 0.000457f, 0.014581f, -0.011897f, 0.005518f, -0.004980f, 0.018028f, -0.006483f, -0.005968f, 0.012842f, -0.004900f, 0.004445f, 0.001939f, -0.000832f, 0.002123f, -0.008580f, 0.001401f, 0.000426f, 0.003641f, 0.016962f, 0.005908f, 0.001604f, -0.007230f, 0.005950f, -0.013162f, -0.003631f, -0.002518f, 0.007234f, 0.006167f, 0.010259f, 0.006717f, -0.007651f, -0.011285f, -0.004901f, 0.008628f, -0.001033f, 0.004481f, -0.001789f, -0.001242f, 0.017249f, 0.004067f, -0.001280f, -0.020554f, -0.009142f, 0.000539f, 0.007180f, 0.011004f, 0.015507f, 0.008674f, -0.003709f, 0.002780f, -0.003762f, -0.005255f, 0.011136f, -0.006993f, 0.011465f, 0.000527f, -0.010292f, 0.003727f, -0.005288f, 0.008930f, -0.007630f, -0.000872f, 0.007790f, - 0.008908f, -0.008895f, -0.003420f, -0.001648f, -0.003653f, 0.005397f, -0.001196f, -0.003783f, 0.002478f, 0.001328f, 0.001365f, 0.001540f, 0.002162f, 0.001205f, 0.001294f, 0.000610f, -0.000639f, -0.000741f, -0.003302f, 0.005179f, -0.000196f, 0.000346f, 0.000593f, 0.000117f, 0.000822f, 0.002784f, 0.002674f, -0.000083f, -0.000697f, 0.003462f, 0.002610f, 0.002085f, 0.008730f, -0.002091f, -0.001463f, -0.003222f, -0.010219f, 0.000397f, 0.007339f, 0.007311f, 0.013676f, 0.006269f, -0.017960f, -0.015002f, -0.013019f, 0.000538f, -0.002206f, 0.000953f, -0.007093f, -0.004407f, -0.001104f, 0.005452f, -0.000074f, -0.011507f, 0.012433f, -0.001777f, -0.011553f, 0.002365f, 0.002728f, -0.000237f, -0.001110f, 0.004998f, 0.006583f, -0.004121f, 0.010062f, 0.000499f, 0.005895f, -0.013724f, 0.009762f, 0.003472f, 0.005629f, -0.009446f, -0.001038f, 0.006905f, 0.005909f, 0.014987f, -0.000561f, -0.020698f, -0.005662f, -0.009915f, 0.004849f, 0.003352f, -0.000859f, -0.005527f, 0.001579f, -0.008489f, -0.003009f, -0.015457f, -0.009099f, -0.000522f, 0.008605f, 0.009604f, -0.006937f, -0.005938f, -0.006079f, 0.009871f, - -0.003372f, -0.001217f, -0.014845f, 0.008944f, -0.014652f, -0.005089f, -0.000640f, -0.003099f, -0.003983f, 0.015583f, -0.001331f, -0.003624f, -0.004176f, 0.003091f, -0.009398f, 0.001080f, -0.016295f, -0.013096f, 0.004767f, -0.004573f, -0.002438f, 0.005820f, -0.002955f, 0.007765f, 0.001526f, 0.003566f, 0.005464f, -0.001463f, 0.002637f, 0.001782f, 0.001005f, -0.001150f, 0.001994f, 0.000807f, 0.000488f, -0.001214f, -0.001287f, 0.000317f, -0.004778f, -0.000091f, 0.002989f, 0.000716f, -0.000190f, 0.000566f, -0.002935f, -0.000949f, 0.001783f, -0.000878f, 0.004156f, -0.005401f, 0.007648f, -0.006150f, 0.000006f, 0.010556f, 0.019220f, 0.013297f, 0.002854f, -0.015049f, -0.011292f, 0.004039f, -0.002584f, -0.009651f, -0.003169f, -0.012432f, -0.005346f, 0.024980f, 0.002887f, -0.002661f, -0.004654f, 0.000015f, -0.005814f, -0.004020f, 0.016889f, -0.017526f, -0.002068f, 0.001731f, -0.003750f, 0.004400f, 0.010215f, -0.004694f, -0.005771f, 0.002584f, -0.007179f, -0.007004f, -0.016297f, -0.006036f, 0.004389f, -0.014589f, -0.002446f, 0.007240f, 0.010990f, 0.003911f, -0.022886f, -0.006905f, 0.004598f, 0.011536f, - -0.008979f, 0.019908f, -0.002321f, -0.010104f, -0.005638f, -0.004310f, -0.007868f, 0.010822f, -0.008095f, -0.002159f, -0.010690f, -0.008386f, -0.003925f, -0.008528f, 0.011442f, -0.004212f, -0.022943f, 0.008762f, 0.015391f, 0.000205f, 0.005561f, -0.027882f, 0.021757f, 0.000394f, -0.018284f, 0.001844f, -0.012352f, -0.002620f, 0.001928f, -0.013270f, -0.015571f, 0.010339f, 0.004830f, -0.013482f, -0.000929f, 0.000334f, -0.008350f, -0.001057f, -0.003093f, 0.002072f, -0.007413f, -0.003825f, -0.001477f, -0.003692f, -0.001889f, -0.005450f, 0.001771f, -0.000371f, 0.002782f, -0.005926f, 0.001375f, 0.003329f, -0.000102f, -0.003375f, 0.002147f, -0.003277f, 0.003085f, 0.002517f, -0.002527f, 0.002454f, -0.000485f, -0.001744f, -0.000832f, 0.000844f, 0.001166f, 0.000698f, -0.020632f, 0.004657f, -0.015187f, 0.016241f, 0.004146f, -0.006171f, -0.012255f, -0.021483f, -0.009328f, -0.015551f, 0.005391f, 0.030070f, 0.005151f, -0.007787f, -0.000430f, -0.004096f, -0.004598f, -0.013516f, -0.008875f, -0.013916f, 0.003813f, -0.001022f, 0.003100f, -0.004852f, 0.002355f, -0.014707f, -0.000969f, 0.003399f, -0.009976f, -0.003664f, - 0.001310f, -0.005437f, 0.001493f, -0.005003f, 0.022242f, -0.027098f, -0.004782f, 0.002225f, 0.007347f, -0.002775f, -0.011093f, -0.016612f, -0.011750f, 0.008947f, -0.002323f, 0.009923f, -0.008393f, 0.025737f, 0.003425f, -0.004966f, -0.000196f, -0.015256f, -0.019475f, -0.009847f, 0.007467f, -0.016655f, -0.000949f, 0.019601f, -0.000482f, -0.009258f, -0.018525f, -0.031414f, 0.001372f, 0.016138f, -0.004397f, 0.018516f, -0.001606f, -0.005789f, -0.011539f, -0.010260f, 0.001874f, 0.007356f, -0.005854f, 0.026845f, 0.008183f, -0.008615f, 0.004206f, -0.011027f, 0.004130f, 0.005077f, -0.003614f, 0.005819f, 0.010955f, 0.004624f, 0.000580f, -0.007205f, -0.019650f, 0.001327f, -0.004405f, -0.001989f, -0.002934f, 0.001419f, 0.000501f, -0.000259f, -0.008644f, 0.001375f, -0.004926f, 0.001637f, -0.004852f, -0.001639f, -0.001211f, -0.000455f, -0.000372f, -0.000955f, -0.003464f, -0.003172f, -0.003802f, -0.005704f, -0.005992f, -0.002541f, 0.000383f, 0.001595f, -0.003111f, -0.000098f, 0.000257f, 0.000589f, -0.002350f, 0.017643f, -0.007749f, -0.020407f, -0.005582f, -0.015242f, -0.007933f, -0.006624f, 0.021616f, -0.005435f, - -0.007236f, -0.009128f, 0.013898f, 0.012480f, 0.011034f, 0.030483f, 0.031950f, 0.014783f, 0.019864f, -0.007489f, -0.009180f, 0.013199f, 0.019601f, -0.008519f, 0.008624f, 0.006037f, -0.017003f, -0.016121f, 0.009524f, -0.002375f, -0.000196f, -0.016088f, -0.020403f, -0.004874f, -0.016536f, 0.018718f, 0.035033f, 0.007218f, 0.013837f, 0.004012f, -0.004102f, 0.012497f, -0.023903f, -0.006407f, 0.004994f, 0.013317f, -0.007859f, -0.019331f, 0.028228f, -0.000066f, -0.008646f, -0.006906f, 0.011594f, -0.003470f, 0.010338f, -0.007064f, 0.016214f, -0.001366f, -0.000406f, 0.020000f, 0.006237f, 0.009223f, 0.003613f, -0.003055f, 0.014961f, -0.022767f, -0.009113f, 0.008514f, 0.025771f, -0.015669f, -0.001809f, -0.003197f, -0.003617f, -0.010737f, -0.002354f, -0.005571f, -0.007373f, -0.001054f, 0.001742f, 0.007281f, -0.003017f, 0.020679f, 0.007544f, -0.011866f, -0.002855f, 0.001550f, 0.007902f, 0.002800f, -0.003581f, -0.007156f, -0.001556f, 0.004576f, -0.004601f, -0.004027f, -0.003520f, 0.004247f, 0.002648f, 0.004195f, 0.002189f, -0.003800f, -0.001505f, 0.000133f, -0.003839f, -0.000654f, 0.003010f, 0.001873f, - -0.000473f, -0.004260f, 0.005648f, -0.000761f, 0.003516f, -0.002370f, 0.001725f, -0.004950f, -0.000480f, -0.000714f, 0.000239f, -0.003294f, 0.012772f, -0.012498f, -0.004837f, 0.011532f, -0.008951f, 0.005001f, 0.008696f, -0.017061f, -0.018204f, 0.005224f, 0.014000f, -0.004729f, 0.012782f, -0.009255f, -0.004069f, 0.024317f, -0.027514f, 0.016629f, -0.007810f, 0.000219f, 0.000776f, 0.030022f, -0.006637f, 0.005948f, 0.009575f, 0.016551f, 0.009704f, 0.014502f, -0.002372f, -0.002307f, 0.004763f, 0.002352f, 0.002445f, -0.014461f, 0.022544f, -0.030001f, -0.006577f, -0.007882f, 0.016804f, -0.003360f, 0.020471f, -0.000918f, 0.001960f, -0.035703f, -0.009772f, 0.021801f, 0.037057f, -0.000315f, -0.018346f, -0.015459f, 0.015238f, 0.012255f, 0.009228f, 0.008750f, -0.015723f, -0.007187f, -0.009090f, 0.004836f, 0.000701f, -0.009655f, 0.005732f, 0.005000f, -0.004488f, -0.004931f, -0.021529f, -0.005658f, -0.007881f, 0.030841f, 0.002852f, 0.005836f, 0.011711f, 0.000954f, -0.024097f, 0.001232f, -0.014496f, 0.012075f, 0.028802f, -0.015226f, 0.008926f, -0.004360f, -0.014906f, 0.007252f, -0.012491f, -0.002135f, - 0.005251f, 0.003901f, 0.006614f, 0.002811f, -0.001016f, -0.005442f, 0.006258f, 0.013519f, 0.002293f, 0.006714f, 0.011121f, 0.004969f, 0.012570f, -0.003761f, 0.011890f, 0.000624f, 0.000302f, 0.002614f, 0.001350f, 0.003438f, -0.000341f, -0.005805f, -0.003224f, 0.000278f, 0.003199f, 0.003371f, -0.002261f, 0.005777f, 0.005469f, -0.004563f, 0.007724f, 0.013009f, -0.022385f, -0.008618f, -0.008422f, 0.004255f, -0.001291f, 0.033299f, -0.004187f, 0.001156f, 0.021139f, -0.018863f, -0.013696f, -0.017686f, -0.018511f, -0.004503f, -0.000683f, 0.008302f, 0.035621f, -0.003280f, -0.020508f, 0.036870f, 0.000604f, 0.010298f, 0.025212f, 0.017363f, 0.023529f, -0.006185f, 0.018587f, -0.012036f, 0.024632f, 0.021507f, -0.005844f, 0.011189f, -0.009919f, -0.009244f, 0.009301f, 0.028155f, 0.012693f, 0.011104f, 0.003989f, -0.009043f, -0.015584f, -0.015906f, 0.002569f, 0.019335f, -0.011288f, -0.013636f, -0.016688f, -0.006394f, -0.033075f, -0.007820f, 0.006335f, -0.024367f, 0.011745f, 0.001658f, -0.011092f, -0.028616f, -0.019088f, -0.000045f, -0.037865f, 0.011787f, 0.008376f, -0.000928f, 0.010544f, 0.006767f, - -0.003700f, -0.019821f, -0.011955f, -0.002325f, -0.012503f, 0.011551f, -0.013102f, 0.031243f, -0.021117f, 0.001001f, 0.013762f, 0.001094f, -0.009445f, -0.036306f, 0.006299f, 0.017605f, 0.004289f, 0.000904f, 0.019619f, 0.010689f, -0.011253f, -0.000130f, -0.001313f, 0.001321f, -0.000805f, -0.006407f, -0.012751f, -0.003964f, -0.013775f, 0.000611f, 0.003441f, 0.001518f, -0.003570f, -0.007289f, -0.003302f, -0.004927f, 0.005980f, 0.001625f, 0.007825f, 0.005394f, 0.004494f, 0.001536f, -0.000648f, -0.002908f, -0.002424f, -0.006439f, 0.002873f, 0.000200f, 0.002862f, -0.003229f, -0.000416f, -0.005441f, 0.000333f, -0.004310f, 0.001613f, -0.046225f, 0.016240f, 0.021118f, 0.037146f, -0.000101f, -0.027583f, 0.007796f, 0.013295f, -0.028552f, -0.029699f, -0.018552f, -0.000730f, 0.015873f, -0.000816f, -0.011620f, -0.000604f, -0.010165f, -0.006849f, -0.018398f, 0.030753f, 0.024037f, 0.009047f, -0.037687f, -0.011294f, 0.006087f, -0.002141f, -0.008373f, 0.047738f, 0.017514f, 0.015005f, 0.014077f, 0.022663f, 0.017028f, 0.004148f, 0.017828f, -0.001206f, -0.029601f, 0.016044f, -0.030450f, 0.009323f, -0.030145f, - 0.025501f, -0.007945f, 0.030790f, -0.016761f, 0.007490f, -0.013549f, 0.011105f, 0.018044f, 0.046993f, 0.009972f, -0.059733f, -0.003124f, -0.008304f, 0.012872f, 0.026117f, -0.005241f, -0.011593f, 0.019230f, -0.003380f, -0.009375f, 0.025727f, 0.001678f, -0.001130f, 0.001354f, 0.011024f, 0.020621f, 0.016301f, -0.017628f, -0.013133f, -0.011102f, -0.017925f, 0.004258f, -0.001650f, 0.020391f, 0.014627f, -0.027385f, -0.006610f, -0.015466f, 0.013325f, -0.007499f, -0.007323f, 0.004865f, 0.000900f, -0.010511f, 0.009076f, 0.002276f, 0.001514f, -0.001496f, 0.005163f, 0.005409f, 0.000856f, -0.015466f, 0.004343f, 0.002784f, -0.001993f, -0.002667f, -0.005163f, 0.000274f, -0.006909f, 0.003281f, 0.007796f, -0.002294f, -0.002317f, 0.007729f, 0.001194f, -0.007051f, -0.005471f, -0.001203f, 0.003722f, -0.003024f, -0.000748f, -0.004302f, 0.001170f, -0.002847f, 0.000029f, 0.007439f, -0.004932f, 0.050323f, -0.019099f, -0.033569f, -0.010701f, 0.013088f, -0.008317f, 0.024175f, 0.034983f, -0.014098f, 0.032082f, 0.020642f, 0.016116f, -0.005322f, -0.003893f, -0.006487f, 0.031118f, 0.005678f, 0.003728f, -0.018147f, - 0.007868f, -0.009491f, -0.000819f, -0.029960f, 0.020267f, -0.027493f, 0.000101f, -0.019396f, 0.032460f, -0.016617f, 0.000700f, 0.032083f, 0.024373f, 0.016481f, -0.001989f, -0.012753f, 0.014893f, -0.000480f, -0.002910f, -0.041000f, -0.012199f, -0.024769f, -0.020141f, -0.015711f, -0.007429f, 0.021302f, 0.013366f, 0.012419f, 0.000026f, 0.031357f, -0.016640f, 0.033182f, 0.029156f, 0.031299f, 0.054742f, -0.021184f, -0.016551f, 0.024070f, 0.004507f, -0.021262f, 0.033020f, -0.010884f, -0.015983f, 0.010711f, -0.004116f, -0.011475f, -0.009489f, 0.014179f, -0.019196f, 0.008675f, -0.011906f, 0.030333f, -0.012944f, 0.000454f, 0.008827f, 0.022110f, 0.030048f, 0.002384f, -0.026308f, -0.028573f, 0.009294f, -0.019048f, -0.061292f, -0.032276f, 0.009734f, -0.000729f, 0.017676f, 0.002224f, -0.010086f, -0.001207f, -0.005875f, 0.002556f, -0.010672f, -0.004725f, -0.007341f, -0.003122f, 0.000789f, -0.001378f, -0.019182f, -0.005086f, -0.012583f, -0.011321f, -0.008893f, 0.003823f, -0.000942f, 0.000707f, -0.013987f, -0.009788f, -0.000581f, -0.000613f, 0.002658f, 0.007099f, 0.005839f, 0.004293f, -0.010087f, 0.000395f, - 0.002221f, -0.013063f, 0.004500f, 0.000662f, 0.005571f, 0.002457f, 0.007124f, 0.003942f, -0.003013f, 0.005968f, -0.004727f, -0.003590f, -0.046957f, -0.039694f, -0.001922f, 0.008335f, -0.027104f, 0.001198f, 0.002394f, 0.043644f, -0.028476f, -0.032579f, 0.010552f, -0.013734f, -0.000058f, -0.023808f, 0.022668f, -0.024189f, -0.032404f, -0.019610f, 0.037437f, -0.025551f, -0.020873f, -0.004819f, 0.015196f, -0.011209f, -0.026863f, 0.008319f, -0.010883f, 0.000144f, 0.012216f, -0.035440f, -0.002676f, 0.019605f, 0.031524f, -0.004806f, 0.048190f, 0.021115f, -0.005499f, 0.002126f, 0.021913f, -0.009044f, -0.019604f, 0.003701f, 0.026103f, 0.002892f, 0.012529f, 0.000568f, -0.021385f, 0.007372f, -0.046941f, 0.004253f, 0.002546f, -0.005998f, -0.027650f, -0.025116f, 0.003043f, -0.011467f, -0.018986f, -0.012733f, -0.015286f, 0.017946f, -0.030918f, -0.017664f, -0.008919f, 0.013431f, -0.018194f, 0.037887f, -0.005712f, -0.031879f, -0.002766f, -0.018987f, -0.050548f, -0.015137f, 0.003340f, -0.001559f, -0.032841f, -0.017553f, -0.007502f, 0.007464f, -0.019521f, -0.009707f, 0.032389f, -0.011546f, -0.044222f, -0.015576f, - 0.005717f, 0.003365f, 0.014524f, 0.012272f, 0.009162f, -0.010292f, -0.012854f, -0.003080f, -0.008984f, 0.006436f, 0.001937f, -0.005687f, 0.009456f, 0.003928f, 0.005555f, -0.003839f, 0.004550f, 0.003401f, -0.000036f, -0.001899f, -0.003283f, -0.004120f, 0.000072f, 0.002550f, -0.015727f, 0.003354f, -0.009054f, 0.010088f, 0.003731f, -0.011641f, -0.010306f, -0.000913f, -0.008160f, -0.001208f, 0.003308f, -0.002962f, -0.005513f, -0.008638f, -0.006566f, 0.004532f, 0.001671f, -0.009782f, 0.003637f, 0.001003f, -0.006513f, -0.005546f, 0.035853f, 0.032045f, 0.009609f, 0.065598f, -0.012183f, -0.022912f, -0.020528f, -0.009614f, -0.035334f, 0.047746f, -0.028597f, -0.010438f, -0.023162f, -0.011950f, -0.010885f, 0.005637f, -0.033602f, 0.000528f, 0.000394f, -0.004632f, 0.009560f, -0.035523f, -0.009016f, 0.024375f, -0.024181f, 0.001334f, -0.031294f, 0.030055f, 0.000195f, -0.053376f, -0.027680f, -0.009662f, -0.001125f, 0.014849f, -0.032398f, -0.018174f, 0.022287f, -0.003801f, 0.015404f, 0.014151f, 0.013990f, -0.019449f, 0.002204f, 0.023619f, 0.008765f, -0.044061f, 0.028449f, 0.020520f, -0.023775f, 0.067688f, - -0.001150f, -0.048570f, 0.013530f, 0.015356f, -0.000989f, 0.036128f, -0.010975f, -0.060341f, 0.017126f, 0.008663f, 0.018197f, 0.021429f, -0.027466f, 0.043674f, 0.016564f, 0.013589f, -0.010243f, 0.066135f, -0.004930f, 0.001150f, 0.045279f, -0.007701f, 0.020742f, 0.035731f, 0.012407f, 0.005338f, -0.008407f, 0.017179f, 0.000914f, 0.030212f, -0.013090f, 0.029409f, 0.027157f, 0.001654f, 0.026877f, 0.015984f, 0.021459f, -0.010827f, 0.000140f, 0.024409f, 0.017803f, 0.013115f, 0.008077f, 0.008357f, -0.015887f, -0.001882f, 0.001014f, -0.007516f, 0.001254f, -0.002725f, -0.006658f, 0.014145f, -0.014271f, -0.002749f, -0.013991f, 0.012327f, -0.005802f, 0.014772f, -0.012313f, 0.002060f, -0.008489f, -0.012434f, 0.008930f, -0.004744f, -0.000023f, -0.012136f, -0.017723f, -0.013376f, 0.014252f, 0.001334f, -0.005428f, 0.001470f, 0.017678f, 0.012593f, -0.004924f, 0.006107f, 0.000571f, -0.004875f, 0.018290f, 0.000634f, 0.013213f, -0.046805f, -0.045939f, 0.094207f, 0.030382f, -0.058862f, -0.029609f, -0.027007f, -0.053908f, -0.004018f, -0.028459f, 0.039231f, -0.022205f, 0.000181f, 0.048928f, 0.001040f, - 0.008110f, -0.036060f, 0.045108f, 0.033624f, -0.000614f, -0.010900f, -0.003548f, -0.028037f, 0.002098f, 0.003549f, 0.005692f, -0.038522f, -0.005641f, -0.002240f, -0.011627f, -0.008586f, -0.026583f, 0.025140f, 0.049785f, 0.059839f, -0.004913f, -0.024253f, -0.010153f, -0.012406f, -0.008428f, -0.036741f, 0.012457f, 0.014346f, 0.013134f, -0.038286f, -0.051138f, 0.055225f, 0.020816f, 0.030927f, 0.040074f, 0.037617f, -0.016354f, -0.025725f, 0.036257f, -0.036946f, 0.018695f, -0.027652f, -0.021261f, -0.012335f, 0.043145f, -0.014320f, 0.008727f, 0.014852f, -0.007927f, -0.034930f, 0.072175f, -0.043667f, 0.004429f, 0.052330f, -0.047420f, -0.021420f, 0.005512f, 0.019156f, 0.053730f, 0.009660f, -0.031260f, 0.000918f, 0.006494f, -0.007279f, -0.013165f, 0.007778f, -0.021917f, 0.016784f, -0.018156f, -0.025358f, 0.013631f, 0.007749f, 0.019289f, 0.008764f, -0.000782f, -0.008759f, 0.002110f, 0.005479f, 0.005897f, 0.020774f, -0.001275f, 0.002934f, 0.012786f, -0.030588f, 0.004327f, -0.013740f, 0.003283f, 0.003497f, -0.005039f, -0.011526f, -0.014471f, -0.003433f, -0.014524f, 0.005750f, 0.007747f, 0.017804f, - -0.001654f, -0.011766f, 0.011202f, 0.013824f, 0.008258f, 0.008490f, -0.022163f, 0.000870f, 0.005462f, -0.005371f, 0.018883f, -0.007020f, 0.001325f, 0.002126f, 0.017426f, -0.008257f, 0.005139f, 0.024448f, -0.015739f, 0.015314f, 0.062728f, 0.037784f, -0.005724f, -0.040261f, 0.004156f, 0.064326f, 0.051208f, 0.010743f, -0.051015f, -0.019682f, -0.044051f, -0.003336f, 0.034380f, 0.042482f, -0.003175f, 0.016114f, 0.050502f, 0.053750f, 0.083434f, 0.083987f, -0.042018f, 0.018233f, -0.045369f, -0.008251f, -0.036790f, -0.013254f, 0.028909f, -0.006540f, 0.012625f, 0.011331f, -0.026158f, -0.019178f, 0.021259f, 0.023708f, 0.030778f, 0.021859f, -0.001098f, 0.022537f, 0.033977f, -0.018076f, 0.017179f, 0.020014f, 0.005921f, 0.019544f, 0.065058f, -0.048996f, -0.042187f, -0.009547f, 0.040178f, 0.038494f, -0.022967f, -0.000356f, 0.061754f, 0.049928f, -0.035088f, -0.023428f, 0.021182f, -0.042845f, 0.011839f, -0.020654f, -0.038866f, 0.012470f, -0.045656f, 0.047297f, 0.017339f, 0.052399f, -0.022100f, -0.030767f, -0.059342f, -0.012909f, 0.019300f, -0.052022f, -0.044503f, -0.024415f, 0.023143f, 0.013657f, - 0.010853f, -0.022970f, 0.009859f, -0.016468f, 0.006228f, 0.048158f, -0.020613f, 0.005565f, -0.027447f, 0.020615f, -0.011364f, -0.023098f, 0.016147f, 0.022412f, -0.012615f, -0.006597f, -0.007508f, 0.016055f, 0.035900f, -0.011655f, -0.024289f, 0.000395f, -0.000540f, -0.009101f, -0.003945f, -0.033685f, 0.004545f, -0.017972f, -0.008097f, 0.011996f, -0.011064f, -0.006128f, -0.001112f, -0.009467f, 0.014661f, -0.014910f, -0.023374f, -0.021243f, -0.017888f, 0.018682f, 0.009793f, -0.004513f, 0.008205f, 0.005420f, -0.015208f, -0.016646f, 0.005967f, -0.029357f, 0.024770f, 0.063113f, -0.004057f, -0.019523f, 0.040532f, 0.008343f, -0.002315f, -0.060067f, 0.052792f, -0.026037f, -0.057062f, -0.019384f, 0.003889f, 0.065815f, 0.006331f, 0.047167f, 0.019146f, -0.055835f, -0.012114f, -0.049464f, 0.007972f, -0.049305f, -0.035432f, -0.021163f, 0.002513f, 0.010380f, -0.038193f, 0.037523f, -0.012075f, 0.022806f, 0.024537f, 0.024265f, 0.045541f, 0.083025f, 0.048745f, -0.015834f, -0.040806f, -0.001420f, 0.087443f, 0.054466f, -0.029733f, 0.043525f, -0.016736f, 0.053164f, -0.026377f, 0.005169f, -0.019739f, -0.009802f, - -0.002947f, -0.014930f, 0.131405f, -0.024986f, -0.036231f, -0.041911f, -0.058918f, -0.022675f, -0.045404f, -0.002020f, 0.050801f, -0.020217f, 0.015025f, -0.016901f, -0.025882f, 0.046192f, -0.012820f, 0.077813f, 0.014444f, 0.062244f, -0.076002f, 0.031323f, 0.133587f, 0.048611f, -0.074466f, 0.044359f, 0.040640f, 0.002461f, 0.008646f, -0.022818f, 0.025472f, 0.117261f, 0.062380f, 0.026330f, 0.035592f, -0.036658f, 0.067891f, -0.007079f, 0.010464f, 0.010789f, 0.016788f, 0.007893f, 0.044671f, -0.036855f, -0.009169f, 0.003240f, 0.056942f, -0.009575f, 0.013995f, 0.065940f, -0.005146f, -0.036642f, -0.008437f, 0.024272f, 0.004045f, -0.015473f, -0.037130f, 0.021667f, 0.015557f, -0.025555f, -0.014991f, 0.017787f, -0.031402f, -0.026115f, 0.008556f, 0.013142f, -0.000057f, 0.009149f, 0.006235f, 0.010691f, -0.011471f, 0.011182f, -0.006961f, -0.009323f, 0.010323f, 0.004471f, 0.014263f, 0.002210f, 0.091285f, 0.042595f, 0.010136f, -0.002913f, -0.099757f, 0.046400f, 0.062583f, -0.045215f, -0.032881f, 0.077275f, 0.050418f, -0.062061f, -0.065808f, 0.002180f, -0.038476f, 0.016584f, 0.006343f, 0.015816f, - -0.061839f, 0.015994f, -0.012030f, -0.030966f, 0.054927f, -0.004005f, -0.009145f, 0.018280f, 0.046071f, 0.041197f, 0.028336f, -0.053110f, 0.001176f, -0.026031f, -0.056362f, 0.020323f, 0.015998f, 0.034502f, -0.011872f, -0.026543f, 0.072208f, -0.052062f, 0.022933f, 0.024798f, 0.020455f, 0.015214f, -0.008890f, 0.042359f, -0.039471f, -0.068619f, -0.011384f, -0.078568f, 0.068793f, 0.041888f, 0.067515f, -0.005785f, 0.013382f, -0.054775f, 0.056731f, 0.071026f, 0.025738f, -0.030733f, -0.079873f, -0.018792f, -0.105409f, 0.001152f, -0.019514f, -0.072004f, -0.060593f, 0.027376f, 0.004597f, 0.043594f, -0.033904f, 0.050027f, 0.042643f, -0.060366f, 0.012862f, -0.036263f, -0.009947f, -0.054607f, 0.007064f, 0.157034f, 0.039490f, 0.045703f, 0.057915f, 0.025218f, -0.044515f, -0.006690f, -0.000434f, 0.036824f, -0.008374f, 0.037843f, -0.017194f, -0.024260f, 0.001150f, -0.003272f, -0.043949f, 0.037376f, -0.006799f, -0.011450f, -0.013473f, -0.031577f, 0.004680f, -0.015251f, -0.019527f, -0.029412f, -0.022392f, 0.013374f, -0.016101f, 0.013073f, 0.015923f, -0.011702f, -0.018160f, -0.025525f, 0.011638f, -0.005177f, - 0.010860f, 0.037309f, 0.023960f, -0.001130f, -0.002870f, 0.011471f, 0.024045f, -0.024201f, 0.021248f, -0.024402f, -0.010283f, -0.062411f, 0.028139f, 0.021600f, -0.029125f, 0.010959f, -0.014781f, -0.094118f, -0.024583f, 0.024048f, -0.010554f, 0.011078f, -0.052288f, 0.069504f, -0.090172f, 0.007824f, -0.065942f, 0.046807f, 0.051296f, 0.017301f, 0.042992f, 0.005437f, -0.043347f, 0.075401f, -0.034447f, 0.008611f, 0.001558f, -0.042207f, 0.071253f, 0.005694f, 0.018776f, 0.016305f, 0.022511f, 0.012586f, 0.053485f, 0.063393f, 0.021531f, 0.073941f, -0.063123f, -0.004048f, 0.000450f, 0.094327f, -0.017448f, 0.075388f, 0.042045f, 0.103283f, 0.020591f, -0.022356f, -0.032217f, 0.041581f, -0.076130f, 0.073161f, -0.043148f, -0.024877f, -0.011666f, 0.015482f, 0.055239f, -0.011913f, -0.098831f, -0.026684f, 0.161327f, 0.012835f, -0.100804f, 0.025949f, -0.066594f, 0.020867f, 0.158959f, -0.042668f, -0.042898f, 0.110938f, -0.118203f, 0.060892f, 0.027728f, 0.036807f, 0.103702f, 0.066214f, -0.091254f, 0.113905f, 0.074937f, 0.004379f, 0.120981f, -0.048525f, -0.015934f, 0.088183f, 0.058135f, 0.011433f, - 0.024094f, 0.000910f, -0.000480f, 0.011568f, 0.030652f, -0.026005f, 0.032363f, 0.033516f, -0.026273f, 0.015136f, 0.022786f, -0.037650f, -0.002793f, 0.015564f, -0.002809f, 0.008455f, 0.049966f, 0.001915f, 0.033580f, -0.016170f, 0.001318f, 0.024885f, -0.014007f, -0.011242f, -0.031360f, 0.006690f, 0.030366f, 0.020844f, 0.028666f, -0.050675f, 0.029969f, 0.035089f, 0.016369f, 0.007150f, 0.015056f, -0.001154f, 0.031892f, 0.056347f, 0.014574f, 0.027844f, 0.026307f, -0.011465f, -0.013329f, 0.027521f, 0.040123f, 0.054541f, 0.103982f, 0.051776f, -0.049859f, 0.066497f, 0.019930f, 0.059994f, -0.017282f, -0.111047f, 0.112909f, 0.098050f, 0.060248f, 0.185111f, -0.017265f, -0.155298f, -0.080299f, -0.073282f, 0.164174f, 0.120702f, 0.029180f, -0.010412f, -0.030006f, -0.108559f, -0.051582f, -0.035147f, -0.062403f, 0.167116f, 0.135548f, 0.188485f, 0.003498f, -0.215505f, -0.335706f, -0.163646f, 0.187043f, 0.252487f, 0.257751f, 0.103997f, -0.213655f, -0.392435f, -0.240710f, -0.121362f, 0.181108f, 0.308064f, 0.174886f, 0.095261f, 0.025450f, -0.138725f, -0.186651f, -0.139496f, -0.010526f, 0.108495f, - 0.219552f, 0.262673f, 0.046681f, 0.051579f, -0.208288f, -0.344995f, -0.184078f, 0.172355f, 0.288862f, 0.274111f, 0.171004f, -0.100115f, -0.335815f, -0.217121f, -0.281600f, 0.001428f, 0.191172f, 0.206989f, 0.103572f, -0.081571f, -0.176815f, -0.156293f, -0.123902f, 0.037185f, 0.117749f, 0.083333f, 0.238225f, 0.086647f, -0.053338f, -0.140215f, -0.052328f, 0.159443f, 0.231892f, 0.079025f, -0.009136f, -0.141152f, -0.028932f, -0.031082f, 0.091457f, 0.035597f, -0.023522f, -0.097133f, -0.029624f, 0.006498f, -0.016002f, -0.028354f, -0.006677f, 0.024391f, 0.049333f, 0.085085f, 0.040128f, -0.081270f, -0.073899f, -0.067557f, 0.016153f, 0.089688f, 0.097714f, 0.046909f, 0.010040f, -0.061187f, -0.027547f, -0.121293f, -0.109228f, -0.007720f, 0.031715f, 0.136898f, 0.202662f, 0.079096f, -0.071401f, -0.165559f, -0.209417f, -0.085564f, 0.163221f, 0.272700f, 0.185046f, 0.058719f, -0.136526f, -0.219047f, -0.109218f, 0.001847f, 0.039555f, 0.042535f, 0.093458f, 0.050695f, 0.020050f, -0.053549f, -0.120388f, -0.087259f, 0.011646f, -0.023407f, -0.060251f, 0.069727f, 0.010105f, -0.100807f, 0.013095f, -0.026171f, - -0.040360f, 0.030445f, -0.030870f, -0.012253f, -0.053796f, 0.003230f, -0.020398f, -0.040215f, 0.016422f, -0.004444f, 0.013823f, 0.006653f, 0.033859f, -0.032786f, -0.010723f, 0.010275f, 0.004057f, 0.015706f, -0.013619f, 0.033922f, -0.023377f, 0.023425f, 0.011507f, -0.010744f, -0.024549f, -0.010591f, -0.046387f, 0.051241f, -0.004090f, 0.001953f, -0.008322f, -0.011934f, 0.003390f, -0.001240f, 0.001921f, 0.019969f, 0.012384f, -0.000334f, 0.029259f, -0.024495f, 0.009486f, -0.023253f, 0.026394f, 0.015950f, -0.018760f, 0.013888f, -0.023038f, -0.026507f, -0.020942f, -0.041005f, -0.003788f, 0.031190f, -0.027567f, -0.055871f, -0.037745f, 0.003517f, 0.034842f, 0.000847f, 0.026141f, -0.053196f, -0.013386f, -0.006091f, -0.004243f, -0.052040f, -0.012477f, 0.001813f, 0.008180f, -0.018627f, 0.054889f, 0.021908f, -0.017077f, 0.050100f, -0.004502f, -0.089623f, -0.003294f, -0.013076f, -0.007633f, 0.017230f, 0.011773f, 0.023750f, -0.027609f, 0.038432f, -0.065485f, 0.018911f, 0.012029f, -0.002901f, 0.000368f, -0.004431f, -0.004164f, 0.021921f, -0.003776f, 0.003723f, -0.009552f, -0.001179f, -0.018959f, 0.004714f, - 0.000489f, 0.038228f, 0.000019f, 0.016793f, -0.017394f, 0.001885f, -0.008574f, -0.023000f, 0.007375f, -0.000867f, -0.010930f, 0.027124f, -0.004883f, -0.007446f, -0.010783f, 0.019782f, -0.007313f, -0.038452f, 0.008162f, -0.007928f, 0.012124f, -0.016638f, 0.002058f, -0.005149f, -0.022932f, 0.021003f, -0.020247f, 0.014293f, -0.019325f, 0.009900f, -0.001448f, -0.007926f, -0.054442f, -0.089327f, -0.140335f, 0.005158f, 0.115860f, -0.044277f, -0.071071f, -0.075966f, -0.071780f, 0.015034f, 0.014924f, 0.133542f, -0.019290f, -0.019126f, -0.059372f, 0.006697f, 0.018099f, 0.042080f, -0.044623f, 0.022660f, -0.032446f, 0.052319f, 0.016701f, 0.017159f, 0.006325f, -0.032498f, -0.017666f, -0.021169f, -0.006970f, 0.018959f, -0.019583f, -0.017254f, 0.036907f, -0.033648f, -0.020977f, 0.030496f, -0.028979f, -0.010647f, -0.024872f, -0.040623f, 0.014394f, 0.026674f, 0.004930f, 0.025130f, -0.038189f, -0.009732f, -0.001105f, 0.022158f, 0.027473f, 0.033999f, 0.002405f, -0.003578f, -0.057448f, -0.059081f, -0.021821f, -0.019179f, -0.012902f, 0.027087f, 0.037174f, 0.052423f, 0.005809f, -0.023991f, 0.052612f, -0.037626f, - -0.016781f, 0.023352f, -0.016449f, 0.069001f, 0.003537f, -0.011574f, 0.011721f, -0.025305f, 0.020051f, 0.047765f, 0.039227f, -0.014244f, 0.014856f, -0.046580f, -0.030329f, -0.017351f, -0.011460f, 0.034371f, -0.004449f, 0.033548f, 0.008968f, -0.011229f, 0.004065f, 0.005888f, -0.040282f, 0.023819f, -0.029812f, 0.018373f, -0.013674f, -0.008596f, -0.002080f, 0.021788f, -0.020919f, 0.002398f, 0.003715f, 0.018979f, 0.033704f, -0.017390f, -0.005008f, -0.027050f, -0.010749f, 0.008973f, -0.010518f, 0.007059f, -0.008218f, -0.011288f, -0.018587f, -0.029580f, -0.016088f, 0.026304f, -0.010446f, 0.012754f, -0.019151f, -0.004850f, -0.001508f, -0.006500f, -0.017167f, -0.008185f, 0.001968f, -0.002467f, 0.000263f, -0.000454f, -0.025982f, 0.036575f, -0.090420f, -0.211368f, -0.161532f, -0.018644f, 0.069922f, 0.182362f, 0.153947f, 0.147005f, 0.150095f, 0.099079f, 0.041702f, -0.054096f, -0.096013f, -0.183177f, -0.135029f, -0.132622f, -0.132295f, -0.082235f, 0.079742f, 0.107571f, 0.157978f, 0.121372f, 0.101587f, 0.033582f, 0.067736f, -0.015213f, -0.017641f, -0.021253f, -0.037182f, -0.069328f, -0.056932f, -0.116797f, - -0.042663f, -0.092744f, -0.044323f, -0.021884f, 0.030280f, 0.006150f, 0.043369f, 0.010136f, 0.060780f, 0.044860f, 0.073545f, 0.098021f, 0.121526f, 0.077907f, 0.052141f, 0.086551f, 0.006534f, -0.029320f, -0.106940f, -0.125128f, -0.172431f, -0.153455f, -0.143736f, -0.054897f, -0.094400f, -0.049198f, 0.005608f, 0.026107f, 0.060648f, 0.116166f, 0.123490f, 0.138353f, 0.208612f, 0.117684f, 0.159776f, 0.111068f, 0.025088f, -0.016836f, -0.065763f, -0.166931f, -0.182936f, -0.173825f, -0.193241f, -0.141587f, -0.099091f, -0.079193f, -0.021943f, 0.040805f, 0.067898f, 0.086712f, 0.128533f, 0.136901f, 0.143776f, 0.136213f, 0.084580f, 0.059388f, 0.027911f, 0.003261f, -0.000604f, -0.040890f, -0.067406f, -0.096864f, -0.115661f, -0.122326f, -0.116178f, -0.081274f, -0.036846f, -0.032632f, -0.012663f, 0.021933f, 0.057491f, 0.072149f, 0.136003f, 0.096275f, 0.075613f, 0.076031f, 0.027112f, -0.002959f, -0.019914f, -0.023977f, -0.025912f, -0.065901f, -0.059604f, -0.042718f, -0.045216f, -0.032695f, 0.004113f, 0.010448f, 0.012827f, -0.007814f, 0.021444f, 0.000776f, 0.025415f, 0.026630f, 0.008430f, -0.009015f, - -0.001335f, 0.005821f, 0.003428f, 0.004235f, 0.011911f, 0.002768f, -0.006342f, -0.019124f, -0.004636f, 0.004359f, -0.000714f, 0.011876f, 0.009076f, -0.002015f, -0.001966f, -0.008177f, -0.006682f, -0.004432f, -0.003074f, -0.003653f, 0.002603f, -0.002224f, -0.001733f, -0.000508f, -0.004054f, -0.005399f, 0.000514f, 0.001086f, 0.001652f, 0.001186f, 0.000798f} - }, - { - {-0.017318f, 0.013452f, 0.000685f, 0.006191f, 0.006143f, 0.017404f, 0.008199f, -0.006398f, -0.008086f, -0.011289f, 0.008127f, -0.009873f, -0.007173f, 0.001639f, 0.002513f, 0.001094f, 0.010220f, -0.003309f, 0.009554f, -0.002419f, 0.008578f, -0.008080f, 0.003775f, -0.003557f, -0.008636f, -0.000589f, -0.016492f, 0.002499f, 0.004074f, 0.007406f, -0.006011f, -0.000076f, 0.006465f, -0.004722f, 0.007259f, 0.006835f, -0.004071f, 0.004914f, -0.005463f, -0.002531f, -0.004034f, -0.005904f, -0.007506f, 0.006758f, 0.009974f, -0.007431f, 0.004437f, 0.008023f, 0.006497f, 0.009818f, 0.001251f, -0.001454f, 0.005726f, 0.004349f, -0.010341f, -0.000378f, 0.001218f, 0.000677f, 0.003308f, 0.006732f, 0.001525f, 0.002451f, -0.003577f, -0.002261f, 0.004772f, 0.006688f, 0.003739f, -0.003522f, -0.006170f, 0.006894f, -0.005568f, -0.001802f, 0.003869f, -0.001149f, -0.000234f, 0.002944f, 0.000712f, 0.000198f, 0.006254f, -0.006095f, 0.004663f, 0.002539f, 0.003063f, 0.005769f, -0.002303f, -0.000660f, -0.001932f, -0.000801f, 0.000253f, 0.002827f, -0.002225f, -0.000403f, -0.001533f, -0.000887f, 0.000108f, -0.000217f, - -0.000888f, -0.000635f, 0.000648f, 0.000837f, -0.000005f, -0.000364f, -0.000612f, 0.000092f, -0.000187f, 0.000097f, -0.000884f, -0.000201f, 0.000908f, -0.001991f, 0.006860f, -0.003643f, 0.005025f, 0.000477f, -0.000430f, -0.013985f, 0.002240f, 0.011905f, -0.007316f, 0.004917f, -0.014851f, -0.015026f, -0.004955f, -0.012219f, -0.010667f, -0.001609f, 0.002198f, 0.008389f, 0.001331f, -0.004047f, 0.001896f, 0.005709f, -0.007389f, 0.010229f, -0.006937f, -0.007501f, 0.008665f, -0.004317f, 0.009983f, 0.012691f, 0.001754f, -0.009158f, 0.006403f, 0.004185f, 0.002564f, -0.004661f, -0.003381f, 0.005330f, 0.004448f, 0.000905f, -0.010353f, -0.002987f, -0.009564f, 0.008634f, -0.008633f, -0.005628f, 0.006352f, 0.000301f, 0.005513f, 0.001580f, 0.002113f, 0.009398f, 0.001586f, 0.010541f, -0.013593f, -0.006975f, -0.003146f, 0.006736f, 0.009518f, 0.010886f, 0.014804f, 0.001611f, -0.004224f, -0.001414f, -0.001993f, -0.000450f, -0.009630f, -0.004211f, -0.004193f, -0.001167f, 0.001480f, -0.007802f, -0.004629f, -0.001757f, -0.003331f, -0.006099f, 0.007328f, -0.007332f, -0.002509f, 0.004891f, -0.012579f, 0.003807f, - 0.006846f, 0.007610f, 0.003993f, 0.002212f, 0.004548f, -0.002224f, -0.004885f, -0.001221f, 0.001305f, -0.000515f, 0.001305f, 0.000250f, -0.001366f, 0.000107f, -0.001964f, -0.002287f, 0.002789f, 0.001271f, -0.000270f, -0.000009f, -0.000033f, 0.002138f, 0.000976f, -0.000816f, -0.000881f, -0.000852f, 0.000146f, 0.001586f, -0.001878f, -0.000298f, -0.000118f, -0.000330f, 0.001023f, -0.000034f, -0.000770f, 0.015925f, -0.011762f, -0.004398f, -0.002298f, 0.009801f, 0.008851f, -0.008882f, -0.000785f, -0.016509f, -0.003584f, 0.020073f, 0.007582f, -0.008040f, 0.014424f, 0.004723f, 0.005566f, 0.001495f, -0.004798f, -0.015755f, 0.002150f, -0.007081f, -0.004467f, -0.002858f, -0.009587f, -0.003378f, -0.007414f, 0.005222f, -0.003339f, -0.004331f, 0.009035f, -0.016958f, 0.015657f, -0.005482f, 0.002252f, -0.005292f, 0.004908f, -0.000607f, -0.001531f, -0.000394f, 0.006681f, 0.000356f, 0.004234f, -0.006044f, 0.011735f, -0.009078f, 0.013660f, 0.002930f, -0.001322f, -0.007606f, -0.008927f, 0.018555f, 0.003221f, -0.017343f, 0.017789f, 0.016769f, -0.009067f, -0.003306f, 0.005282f, -0.006830f, -0.001253f, -0.004199f, - 0.004228f, 0.010706f, -0.006474f, 0.002468f, -0.004844f, -0.004421f, 0.001772f, 0.014403f, -0.013163f, 0.008025f, -0.013568f, -0.010423f, -0.009795f, -0.001707f, 0.000286f, 0.000018f, 0.008240f, 0.012754f, 0.003337f, 0.003114f, 0.006230f, 0.005066f, 0.002797f, 0.003185f, 0.003740f, -0.001355f, 0.004024f, -0.001812f, -0.003934f, 0.006798f, -0.000333f, 0.000957f, -0.001224f, -0.001987f, -0.001174f, 0.000068f, 0.002869f, -0.000702f, 0.000646f, 0.000311f, -0.002547f, 0.000047f, 0.001412f, 0.001827f, -0.000208f, 0.001601f, 0.004541f, -0.006094f, 0.000737f, -0.012038f, 0.011600f, -0.016921f, 0.000722f, 0.017788f, -0.032133f, 0.022490f, 0.009034f, -0.008492f, 0.007133f, -0.000583f, 0.019617f, -0.001969f, -0.016086f, -0.011218f, 0.006652f, 0.007653f, 0.002263f, 0.000617f, 0.008393f, 0.002570f, 0.001459f, 0.011352f, 0.004709f, 0.003311f, 0.008220f, 0.005933f, 0.027948f, -0.007559f, 0.007517f, -0.000301f, -0.004462f, 0.007329f, 0.004603f, 0.002932f, 0.003649f, -0.004457f, -0.007594f, 0.000617f, 0.000105f, 0.000506f, 0.004148f, 0.008606f, -0.008550f, -0.009098f, 0.004097f, -0.002096f, - -0.003402f, -0.005402f, 0.011454f, -0.008022f, 0.016501f, 0.007808f, 0.000849f, 0.003958f, 0.001509f, 0.004591f, 0.020935f, 0.017596f, 0.001459f, 0.001104f, 0.004129f, -0.004069f, 0.007920f, -0.001597f, 0.007157f, 0.002283f, 0.000593f, 0.000131f, -0.008739f, 0.008622f, 0.006642f, -0.001775f, -0.004961f, 0.000831f, 0.008324f, 0.000929f, -0.002151f, 0.000596f, -0.006047f, 0.004617f, 0.001842f, 0.005849f, -0.001363f, 0.001830f, 0.002556f, 0.002523f, 0.002168f, 0.003569f, 0.001795f, 0.001669f, -0.007389f, -0.000297f, 0.003113f, 0.004383f, -0.002418f, 0.002897f, 0.002705f, 0.002409f, 0.002720f, 0.001236f, 0.002147f, 0.002621f, 0.002944f, 0.000592f, 0.001243f, 0.000953f, 0.001450f, 0.000558f, 0.000896f, 0.001881f, 0.000855f, -0.000171f, -0.001484f, -0.002026f, 0.004151f, -0.001864f, 0.009068f, 0.000246f, 0.010462f, -0.003951f, 0.009285f, -0.006954f, 0.019371f, -0.014746f, -0.005468f, -0.007021f, 0.019975f, 0.011308f, 0.007376f, 0.012678f, -0.011380f, -0.002285f, 0.018439f, 0.010460f, 0.008683f, 0.008952f, 0.004820f, 0.006157f, -0.002051f, 0.017656f, -0.001776f, -0.008098f, - -0.005978f, 0.006203f, -0.006593f, 0.004060f, -0.016618f, 0.006196f, -0.003138f, 0.000346f, -0.017858f, 0.007745f, -0.003783f, 0.016839f, -0.002683f, 0.005341f, 0.004677f, -0.007073f, -0.001699f, 0.007679f, 0.001118f, 0.005271f, -0.003729f, 0.009344f, 0.013291f, 0.001687f, -0.009163f, 0.003556f, 0.009367f, 0.006664f, 0.001298f, -0.006312f, -0.012937f, 0.010910f, -0.014411f, -0.006117f, 0.008189f, -0.019193f, -0.004327f, 0.011919f, -0.008799f, 0.002512f, 0.000239f, -0.001073f, -0.002494f, 0.004851f, -0.009500f, 0.000537f, -0.015912f, -0.008271f, -0.021774f, 0.001658f, -0.006051f, 0.000487f, -0.004154f, -0.000674f, -0.005477f, 0.005014f, 0.004871f, 0.001939f, -0.003370f, 0.004629f, -0.000439f, 0.001810f, -0.006213f, 0.001612f, 0.001378f, 0.002024f, 0.001469f, 0.004331f, -0.000468f, 0.004886f, -0.002049f, -0.000322f, 0.003483f, 0.004586f, 0.000807f, 0.002539f, -0.002854f, -0.001112f, -0.000739f, -0.001141f, -0.002022f, 0.001427f, 0.003670f, 0.000977f, 0.003868f, -0.003576f, -0.002049f, -0.002004f, -0.004865f, -0.005698f, 0.005226f, -0.035321f, 0.006163f, -0.011143f, -0.006492f, 0.008079f, - 0.006109f, 0.004296f, 0.001510f, -0.025954f, -0.002786f, 0.008065f, -0.013991f, -0.003665f, -0.019123f, -0.009721f, 0.004186f, -0.002281f, -0.017620f, 0.018262f, 0.010955f, -0.005607f, 0.001889f, 0.014365f, -0.009383f, 0.003848f, -0.006456f, -0.010049f, -0.006948f, -0.018162f, -0.006885f, 0.013668f, 0.006332f, 0.017470f, -0.008977f, -0.028637f, -0.012500f, 0.006972f, -0.009322f, -0.018677f, -0.003300f, -0.003539f, 0.016875f, 0.008648f, -0.020013f, 0.013219f, -0.014218f, -0.000909f, -0.010321f, -0.009840f, -0.009472f, -0.022035f, -0.013182f, 0.001534f, 0.013948f, 0.021228f, 0.013477f, 0.003883f, 0.008309f, -0.009833f, -0.016492f, -0.010176f, 0.010138f, -0.005103f, 0.010948f, -0.003479f, -0.010554f, -0.000632f, 0.000764f, -0.005123f, -0.011870f, 0.000606f, 0.008607f, -0.028687f, -0.019069f, 0.026541f, -0.008846f, 0.000419f, -0.014891f, 0.006917f, 0.003761f, -0.001854f, -0.001336f, 0.009631f, 0.007018f, 0.002069f, -0.003246f, -0.003765f, -0.000861f, -0.004191f, 0.002095f, 0.002742f, -0.005837f, -0.002971f, 0.001891f, 0.000507f, -0.000196f, 0.001543f, 0.005344f, -0.006051f, -0.002927f, -0.010957f, - -0.004613f, -0.001763f, -0.002233f, 0.000407f, 0.001330f, 0.002937f, 0.000008f, 0.003805f, -0.004896f, -0.003501f, 0.000618f, 0.000815f, 0.001362f, 0.013494f, -0.000379f, 0.006829f, -0.009255f, 0.006788f, -0.012648f, -0.000890f, 0.021965f, -0.010349f, 0.020750f, 0.021046f, 0.025938f, 0.006496f, 0.010380f, 0.022379f, 0.017514f, 0.012900f, -0.017343f, 0.002269f, 0.005487f, 0.015014f, -0.002951f, -0.012855f, 0.016662f, 0.016905f, -0.004787f, 0.011269f, -0.005602f, -0.005869f, 0.010598f, 0.009164f, -0.001277f, 0.010872f, 0.000964f, -0.017729f, -0.014180f, 0.015367f, 0.022275f, -0.001731f, -0.007702f, 0.004724f, 0.000694f, -0.010592f, -0.019892f, 0.010412f, -0.018809f, -0.009139f, 0.014401f, 0.003070f, 0.012742f, 0.000566f, 0.020396f, 0.002854f, 0.022397f, -0.026016f, 0.023635f, -0.004565f, -0.000878f, 0.007139f, 0.012503f, -0.009994f, -0.021531f, -0.006093f, 0.019783f, -0.003824f, -0.023040f, -0.013604f, -0.014106f, 0.003845f, 0.008376f, -0.020064f, 0.010189f, 0.011646f, 0.020901f, 0.006449f, 0.006608f, 0.000098f, 0.005909f, 0.001107f, 0.004632f, 0.003187f, -0.015178f, -0.001662f, - 0.007290f, 0.005118f, 0.012358f, -0.008045f, -0.002443f, -0.000104f, 0.001040f, 0.005910f, 0.000797f, 0.004888f, 0.002010f, -0.002325f, -0.001008f, 0.004661f, 0.004288f, 0.001672f, 0.004670f, 0.001330f, 0.002074f, 0.006147f, 0.000095f, -0.003247f, -0.001685f, 0.001379f, 0.002996f, -0.000376f, -0.001407f, 0.004978f, 0.002556f, 0.001139f, -0.005051f, -0.001588f, -0.002888f, -0.002482f, -0.000234f, 0.005317f, 0.000295f, 0.005061f, 0.007010f, 0.022452f, 0.002891f, 0.009387f, 0.026689f, 0.028768f, 0.008583f, 0.007253f, -0.021240f, -0.010705f, 0.023494f, -0.017409f, 0.024010f, 0.006809f, -0.000091f, -0.004745f, -0.008388f, -0.013831f, 0.002547f, 0.010680f, -0.025819f, -0.011644f, -0.010981f, 0.005783f, 0.005187f, 0.005715f, 0.000797f, 0.004446f, -0.000946f, 0.007846f, 0.006322f, -0.006784f, -0.012116f, -0.022259f, 0.003929f, -0.011993f, 0.020148f, 0.000882f, -0.011200f, -0.013972f, -0.004306f, 0.009439f, -0.017544f, 0.011053f, -0.005879f, 0.003702f, -0.000219f, -0.012400f, 0.012383f, 0.015786f, -0.010782f, 0.013300f, 0.003749f, -0.000919f, 0.037625f, -0.009370f, -0.024445f, 0.004732f, - 0.009155f, -0.005999f, 0.002009f, -0.010517f, 0.025531f, 0.014983f, -0.002572f, -0.005349f, 0.018117f, 0.017469f, -0.003672f, -0.014665f, -0.010785f, 0.035691f, -0.003320f, -0.004764f, -0.014388f, -0.009172f, -0.002913f, 0.003600f, -0.003772f, -0.009319f, 0.015266f, -0.004704f, 0.018124f, 0.005424f, -0.005789f, -0.001854f, 0.003193f, 0.000055f, -0.003177f, -0.003016f, 0.006340f, -0.007924f, -0.002053f, -0.002004f, 0.010436f, 0.001132f, -0.002361f, -0.000094f, -0.005431f, -0.004824f, -0.000742f, 0.001237f, 0.010936f, -0.002411f, 0.006449f, 0.002683f, -0.003667f, 0.002446f, 0.000364f, -0.005150f, 0.004024f, -0.002468f, 0.005589f, -0.000361f, -0.005905f, -0.004078f, -0.003415f, -0.004101f, -0.000168f, -0.001158f, -0.001939f, 0.002181f, 0.001921f, 0.003291f, 0.009172f, -0.019709f, -0.005642f, -0.006264f, 0.001543f, 0.008266f, 0.019253f, 0.016819f, -0.027107f, 0.000536f, 0.003085f, -0.002819f, -0.008155f, -0.018694f, -0.001999f, 0.006197f, 0.010967f, 0.008915f, -0.017183f, -0.003059f, -0.021758f, 0.020220f, 0.000792f, -0.002095f, 0.009658f, -0.009730f, -0.001868f, -0.023152f, 0.003768f, -0.013854f, - 0.009404f, -0.001884f, -0.003974f, -0.007884f, -0.015428f, -0.014974f, -0.001883f, -0.018451f, -0.030067f, -0.005651f, -0.013772f, -0.028868f, -0.002468f, -0.002560f, -0.015884f, 0.010231f, 0.015674f, -0.002051f, 0.007396f, -0.002081f, -0.002647f, 0.004200f, 0.004522f, -0.023399f, -0.007024f, 0.012698f, -0.011387f, 0.027796f, 0.004881f, 0.007351f, -0.018152f, -0.000262f, -0.008287f, -0.018449f, -0.002121f, 0.025796f, 0.011839f, 0.019580f, 0.010755f, -0.008659f, -0.021042f, -0.032708f, 0.021726f, 0.022360f, -0.002851f, 0.011514f, -0.025613f, 0.012093f, 0.010239f, 0.018193f, 0.002573f, -0.021854f, -0.002983f, -0.020376f, -0.007225f, 0.001605f, -0.006776f, 0.004224f, -0.004705f, -0.006815f, -0.001943f, 0.001884f, -0.001204f, -0.002282f, 0.005783f, -0.001942f, 0.002120f, -0.014811f, 0.000063f, -0.001289f, -0.002539f, -0.006762f, -0.003050f, 0.004346f, -0.006420f, -0.007299f, -0.002815f, -0.002677f, -0.003199f, -0.000114f, -0.001986f, -0.008070f, -0.006670f, -0.004067f, 0.002027f, 0.002586f, 0.004449f, 0.002140f, 0.004060f, 0.001385f, -0.006015f, 0.001080f, -0.001195f, -0.003644f, 0.001895f, -0.006791f, - 0.002598f, -0.003723f, -0.050496f, -0.012635f, 0.040151f, 0.013418f, 0.016378f, -0.010465f, 0.016542f, 0.027991f, 0.002061f, -0.004721f, -0.046632f, -0.010890f, -0.002186f, 0.026726f, 0.007530f, 0.010707f, -0.034933f, -0.009421f, -0.012986f, -0.008334f, 0.021728f, -0.012275f, -0.004246f, 0.003750f, 0.006228f, -0.011052f, -0.004814f, 0.005592f, -0.009752f, 0.021336f, -0.023930f, 0.002574f, 0.015789f, -0.020540f, 0.016851f, 0.028604f, 0.033348f, 0.015983f, 0.016328f, 0.021855f, -0.014989f, -0.027544f, 0.010999f, 0.011932f, 0.018212f, 0.014444f, -0.031083f, -0.008883f, 0.016362f, 0.009410f, 0.005963f, 0.019482f, 0.004404f, 0.022697f, -0.008437f, -0.004940f, 0.013030f, 0.011984f, 0.003649f, -0.020073f, -0.010686f, -0.021561f, -0.024617f, -0.001480f, -0.026926f, 0.001381f, -0.015667f, 0.001069f, -0.014248f, -0.008480f, -0.034593f, 0.023828f, 0.006321f, -0.005207f, -0.006187f, -0.003958f, 0.004649f, -0.012872f, -0.001778f, -0.030188f, -0.016489f, 0.010411f, 0.013647f, 0.005536f, 0.004592f, 0.001095f, -0.015782f, 0.007147f, 0.007230f, 0.005521f, -0.015080f, 0.003357f, 0.000600f, -0.012114f, - -0.004044f, 0.001989f, 0.001904f, -0.006298f, -0.009014f, 0.002862f, -0.004427f, -0.005645f, -0.001363f, 0.001186f, -0.001118f, -0.000807f, 0.003067f, -0.002938f, 0.004267f, -0.000864f, 0.006084f, -0.002832f, 0.005436f, 0.008371f, -0.006041f, 0.004597f, 0.000418f, 0.003149f, -0.003725f, -0.000522f, 0.004916f, 0.003789f, -0.007443f, 0.003790f, 0.003904f, 0.031657f, -0.015446f, -0.013218f, -0.011719f, 0.021793f, 0.027666f, -0.017396f, 0.044408f, 0.009312f, -0.019019f, 0.022723f, 0.006456f, -0.018531f, -0.021783f, -0.017581f, -0.001454f, -0.009452f, -0.006502f, -0.029009f, 0.011584f, 0.012048f, 0.040036f, 0.005402f, -0.006885f, -0.018116f, -0.018998f, 0.004771f, -0.002293f, -0.025379f, 0.004442f, -0.009432f, 0.001163f, 0.019545f, -0.015200f, 0.025858f, -0.022783f, -0.019130f, -0.001349f, -0.029764f, -0.035631f, 0.005740f, -0.004137f, -0.041087f, 0.002780f, 0.000439f, -0.019599f, 0.010223f, -0.009553f, 0.005148f, -0.027808f, -0.045334f, 0.029679f, -0.027752f, 0.046014f, 0.025119f, -0.032999f, -0.004258f, -0.033438f, -0.009036f, -0.004299f, 0.013814f, -0.012090f, 0.021103f, 0.026584f, 0.025270f, - -0.018339f, -0.014925f, 0.002295f, -0.022437f, -0.002165f, -0.007339f, -0.029639f, 0.017641f, 0.013017f, -0.015779f, 0.023193f, -0.034604f, -0.003400f, 0.002047f, -0.009135f, -0.005853f, 0.029955f, 0.022166f, 0.014688f, -0.001833f, -0.015767f, -0.012725f, -0.011908f, 0.005183f, 0.004753f, -0.000973f, 0.003313f, -0.000929f, -0.001479f, 0.000623f, -0.001353f, 0.001201f, 0.005899f, -0.007147f, 0.002753f, -0.000515f, 0.006500f, -0.003852f, -0.000783f, 0.003809f, 0.008717f, 0.003495f, 0.007017f, -0.008476f, -0.009350f, 0.004402f, -0.006260f, 0.001494f, -0.000135f, -0.009875f, -0.005612f, -0.005889f, 0.000008f, 0.003248f, 0.002835f, 0.001996f, 0.002220f, -0.026913f, -0.020467f, 0.013429f, 0.016268f, 0.017984f, 0.030402f, -0.011196f, 0.055934f, -0.001713f, -0.028936f, 0.012669f, 0.027582f, 0.007590f, 0.014505f, -0.012214f, -0.030991f, 0.046683f, 0.025918f, 0.019164f, 0.009079f, -0.016091f, 0.015046f, 0.038898f, -0.014250f, 0.008395f, -0.000360f, 0.008246f, 0.006720f, 0.027742f, -0.007939f, 0.009485f, -0.009736f, 0.008495f, -0.002600f, -0.001405f, 0.017218f, 0.003738f, -0.034270f, -0.022931f, - -0.032111f, -0.021941f, -0.017013f, -0.008387f, -0.024571f, -0.013841f, -0.012043f, -0.021254f, -0.014784f, 0.009513f, -0.022233f, -0.007591f, -0.017248f, 0.041467f, 0.021096f, 0.036115f, -0.032575f, -0.002965f, -0.029759f, -0.006200f, 0.033465f, 0.018483f, 0.039417f, 0.018875f, 0.024418f, -0.025773f, 0.011750f, 0.011590f, 0.036509f, 0.037120f, 0.011144f, 0.033598f, -0.028781f, -0.013667f, 0.021538f, -0.075557f, 0.001420f, 0.012552f, 0.001639f, 0.018902f, 0.012190f, 0.042787f, -0.003245f, -0.005782f, 0.046287f, 0.014087f, -0.004046f, -0.020582f, -0.000360f, 0.000479f, 0.037943f, 0.005154f, 0.001082f, 0.003187f, 0.007720f, 0.011940f, -0.002054f, -0.002024f, 0.012287f, 0.006004f, 0.004040f, 0.006592f, 0.008937f, 0.006996f, -0.000393f, 0.001639f, 0.001274f, 0.012785f, -0.002176f, 0.006815f, 0.012272f, 0.009147f, 0.013684f, -0.005812f, -0.004458f, 0.003385f, 0.004480f, -0.004440f, 0.000454f, 0.008009f, 0.012713f, -0.000620f, 0.003845f, 0.032560f, 0.021159f, -0.021374f, 0.041636f, 0.024688f, -0.002125f, -0.010440f, -0.005253f, 0.024968f, 0.061521f, 0.032825f, 0.008837f, 0.002513f, - 0.020209f, -0.005003f, 0.049668f, 0.028015f, 0.031024f, 0.001192f, -0.015815f, 0.010452f, 0.003741f, -0.026498f, -0.006509f, -0.001754f, -0.006239f, -0.007621f, 0.010089f, 0.005402f, -0.021666f, -0.010487f, -0.038287f, -0.004028f, -0.011898f, -0.049373f, -0.022121f, 0.001395f, 0.018447f, -0.025462f, 0.031719f, -0.008889f, -0.007567f, -0.004426f, -0.007736f, 0.022957f, -0.015517f, 0.016012f, -0.050513f, 0.015520f, 0.022046f, 0.016887f, 0.033670f, -0.033362f, 0.028834f, -0.029963f, -0.022281f, 0.024822f, -0.014608f, -0.004562f, 0.020945f, -0.033969f, 0.030022f, 0.047983f, -0.000973f, -0.007123f, 0.061391f, -0.013352f, 0.011828f, 0.034470f, -0.073771f, -0.037909f, 0.002518f, 0.002105f, 0.010022f, 0.017605f, 0.035905f, 0.021440f, -0.028203f, -0.022758f, -0.006682f, -0.008217f, -0.038099f, -0.003878f, -0.007581f, 0.009242f, -0.039808f, 0.000290f, -0.011983f, 0.016028f, -0.005993f, 0.020452f, 0.005558f, 0.000004f, -0.011775f, -0.008841f, -0.011070f, -0.011931f, -0.008979f, 0.007932f, -0.024188f, 0.017169f, -0.002862f, 0.009475f, 0.000617f, -0.001740f, -0.016501f, 0.008882f, -0.011710f, 0.002804f, - -0.012442f, -0.007003f, -0.000054f, -0.005718f, -0.014279f, 0.000858f, -0.004453f, 0.001379f, -0.009709f, -0.010952f, -0.011422f, 0.001864f, 0.002492f, 0.014300f, 0.015528f, -0.000330f, 0.000388f, -0.011236f, -0.058615f, -0.035298f, 0.042980f, 0.042735f, 0.004502f, -0.010238f, 0.036225f, -0.058795f, -0.031613f, -0.063608f, 0.027673f, 0.007604f, 0.002717f, 0.012210f, -0.028999f, 0.014530f, 0.019995f, 0.026250f, 0.044552f, 0.045795f, 0.038450f, -0.001660f, 0.008612f, 0.000402f, -0.016888f, -0.003571f, -0.014119f, -0.007339f, 0.053110f, -0.012531f, -0.049042f, -0.012471f, -0.010179f, 0.004273f, 0.076567f, -0.027827f, -0.027602f, 0.025844f, -0.041640f, 0.014252f, -0.046194f, 0.060087f, 0.016893f, -0.001797f, 0.015325f, -0.023340f, -0.029512f, 0.041129f, -0.050281f, -0.040190f, -0.036169f, 0.009875f, 0.014946f, 0.018645f, -0.033568f, 0.034188f, -0.010725f, 0.002459f, 0.052738f, -0.003739f, -0.009119f, 0.015435f, 0.042534f, -0.027750f, 0.070624f, 0.002494f, -0.081669f, -0.010052f, -0.003272f, -0.027360f, -0.007992f, -0.000151f, -0.007770f, -0.022372f, -0.018849f, 0.039978f, 0.026739f, -0.010016f, - 0.025868f, -0.046974f, 0.012996f, 0.020849f, 0.012910f, 0.001374f, 0.024901f, -0.004272f, -0.001265f, 0.009236f, 0.024336f, -0.010288f, -0.010844f, -0.008500f, 0.000965f, 0.009111f, -0.004883f, -0.019466f, -0.020934f, 0.000871f, -0.009918f, 0.007057f, -0.000422f, 0.004934f, 0.010852f, -0.013667f, -0.009107f, 0.023197f, -0.005573f, 0.004066f, -0.001980f, 0.000458f, -0.008155f, -0.009044f, -0.004683f, -0.003146f, -0.012601f, 0.005835f, 0.011158f, 0.006186f, -0.000414f, 0.000883f, 0.004920f, -0.009707f, 0.001980f, 0.010686f, -0.001301f, 0.009137f, -0.005500f, -0.017133f, -0.023166f, 0.000347f, 0.010169f, -0.016508f, -0.007505f, 0.077843f, 0.046149f, -0.062697f, -0.050649f, 0.062663f, 0.059741f, 0.037394f, 0.042948f, -0.074655f, -0.016350f, -0.020554f, 0.019752f, 0.007288f, -0.030106f, -0.055134f, -0.083517f, 0.024481f, 0.022103f, 0.006515f, 0.023034f, -0.011381f, -0.004145f, -0.019799f, 0.016644f, 0.028958f, 0.026015f, 0.006817f, 0.034548f, 0.011097f, -0.003853f, -0.014032f, -0.050742f, -0.002700f, -0.021315f, -0.017682f, 0.017725f, -0.054467f, 0.004941f, 0.002228f, -0.025370f, 0.022286f, - 0.020460f, 0.010113f, -0.036610f, -0.034086f, -0.089833f, -0.022853f, 0.000699f, -0.028772f, 0.005137f, 0.019017f, 0.018977f, 0.050296f, 0.024731f, -0.022183f, -0.015508f, -0.033378f, 0.042344f, -0.017750f, 0.073246f, 0.061181f, 0.017013f, -0.039051f, 0.080862f, 0.037201f, -0.032670f, 0.005039f, 0.040660f, 0.094029f, -0.038782f, -0.071828f, -0.037008f, 0.001013f, -0.025852f, 0.011369f, 0.025989f, 0.021673f, -0.018797f, -0.029359f, -0.016175f, -0.024431f, -0.026794f, 0.007483f, 0.029276f, 0.023362f, 0.013195f, 0.011654f, 0.004327f, 0.019654f, 0.002736f, 0.003183f, 0.028627f, 0.022415f, -0.001235f, -0.009354f, 0.006529f, -0.014853f, 0.015962f, -0.005644f, 0.016338f, -0.008310f, 0.006588f, 0.004271f, 0.010827f, 0.013865f, 0.008238f, 0.006459f, -0.013397f, -0.026540f, 0.003233f, -0.013469f, -0.006745f, 0.008019f, 0.002487f, -0.003921f, -0.005065f, 0.019190f, 0.006412f, 0.025958f, -0.008235f, 0.013887f, 0.014049f, -0.017655f, 0.018446f, 0.000967f, -0.014748f, 0.031206f, 0.011233f, -0.010719f, -0.030016f, 0.025406f, -0.050965f, -0.047124f, -0.016870f, 0.036799f, -0.020858f, -0.026721f, - -0.000104f, 0.042379f, 0.004626f, 0.043788f, -0.014426f, 0.052828f, 0.006253f, 0.028389f, -0.018279f, -0.012161f, 0.016848f, -0.054122f, -0.014948f, 0.020683f, -0.009474f, -0.007098f, -0.043493f, -0.041071f, 0.019400f, -0.024963f, -0.017847f, 0.034096f, 0.046681f, -0.006590f, 0.030791f, -0.054684f, 0.003612f, -0.014661f, 0.071603f, -0.029159f, 0.024028f, 0.043990f, 0.041899f, 0.012463f, -0.028737f, 0.018807f, 0.013589f, 0.012965f, 0.023351f, -0.069938f, 0.130024f, 0.041815f, -0.011051f, 0.007195f, 0.014900f, 0.036398f, -0.009645f, 0.028114f, 0.075991f, -0.003910f, -0.093131f, 0.039494f, 0.032923f, -0.032792f, 0.044323f, -0.009253f, -0.019198f, -0.049704f, 0.097296f, -0.049466f, 0.108286f, -0.070611f, 0.027089f, -0.000923f, 0.117613f, 0.052452f, -0.049674f, 0.048524f, 0.002518f, -0.030668f, 0.023975f, 0.004122f, 0.011024f, 0.026700f, 0.011585f, -0.029644f, -0.007407f, 0.036233f, 0.010012f, 0.020723f, -0.016025f, 0.022855f, -0.037381f, 0.014557f, -0.001700f, -0.011707f, 0.023951f, -0.012552f, -0.006924f, 0.017447f, -0.002453f, 0.003050f, -0.002555f, 0.028985f, -0.018210f, 0.028299f, - -0.015976f, 0.026220f, 0.036366f, 0.013886f, 0.010168f, 0.020407f, -0.004753f, -0.013604f, -0.013341f, 0.017682f, 0.006364f, -0.002313f, 0.000174f, -0.003936f, -0.025407f, -0.019312f, -0.003595f, 0.001347f, -0.015741f, 0.088721f, 0.010369f, 0.048050f, 0.024375f, -0.049216f, 0.002783f, 0.028786f, -0.009019f, -0.042891f, -0.008449f, -0.093236f, -0.026317f, -0.034893f, -0.020345f, 0.020045f, -0.003022f, 0.033029f, -0.016621f, 0.003357f, 0.032106f, -0.029139f, 0.002803f, 0.018243f, -0.002152f, -0.031944f, -0.000391f, -0.022017f, 0.063809f, -0.011486f, 0.036828f, 0.005789f, -0.000990f, 0.065554f, 0.047017f, -0.029193f, -0.034385f, 0.016455f, 0.029386f, 0.035884f, 0.043437f, -0.001032f, 0.015053f, 0.041357f, -0.002683f, -0.016947f, 0.012585f, 0.001238f, -0.037298f, -0.001057f, 0.023824f, -0.036478f, -0.049321f, -0.004836f, -0.003436f, -0.005449f, -0.016887f, -0.017856f, -0.058709f, -0.000235f, 0.056632f, 0.017407f, 0.031265f, 0.018594f, -0.008211f, -0.075411f, -0.055725f, 0.014649f, 0.048120f, 0.015722f, 0.024027f, 0.098654f, 0.102030f, 0.086663f, -0.007505f, 0.042993f, -0.028145f, -0.073063f, - -0.122180f, 0.020984f, 0.014335f, -0.005568f, 0.016218f, -0.038587f, 0.007566f, -0.009505f, 0.043861f, -0.003483f, 0.035069f, -0.044169f, 0.020966f, -0.054208f, -0.011228f, 0.022710f, 0.003123f, -0.027659f, 0.005685f, -0.022802f, -0.025338f, -0.010591f, 0.005690f, 0.020543f, 0.025868f, 0.034968f, -0.009295f, -0.002021f, 0.008218f, -0.009746f, 0.010415f, -0.036492f, -0.031911f, -0.021710f, -0.029936f, -0.028136f, -0.030568f, 0.019150f, 0.013102f, -0.005081f, -0.020401f, -0.029798f, 0.017074f, 0.000172f, 0.027514f, -0.007115f, 0.024259f, 0.018457f, 0.000142f, 0.007860f, 0.029243f, -0.036372f, -0.035046f, 0.020663f, -0.004114f, -0.026905f, -0.057325f, 0.017195f, -0.034116f, 0.017705f, -0.014448f, -0.040238f, -0.012006f, 0.000475f, 0.020976f, -0.016565f, 0.011010f, -0.059382f, 0.056955f, -0.125278f, -0.011921f, -0.030723f, -0.025131f, 0.017676f, 0.072838f, 0.012388f, 0.026877f, -0.061278f, 0.014620f, 0.023702f, 0.050290f, -0.024978f, -0.039426f, -0.027030f, -0.012902f, -0.001058f, -0.000354f, 0.030835f, 0.022549f, -0.016829f, -0.090319f, -0.042372f, -0.073311f, 0.009469f, 0.131300f, -0.091488f, - -0.035854f, -0.013309f, 0.076199f, -0.024333f, 0.032649f, -0.023205f, 0.037119f, -0.013480f, -0.021281f, -0.045944f, 0.024943f, -0.053387f, 0.051034f, 0.091714f, 0.012439f, -0.015785f, -0.016195f, 0.076245f, 0.020757f, 0.000290f, 0.040584f, 0.014039f, 0.015177f, -0.013510f, 0.087831f, -0.135838f, 0.099862f, -0.082375f, 0.040367f, 0.098828f, -0.077704f, 0.159636f, 0.108880f, -0.039650f, -0.012784f, 0.110118f, 0.040623f, -0.009323f, 0.072638f, 0.065431f, -0.082975f, 0.113603f, -0.067305f, 0.021083f, 0.022358f, -0.029113f, 0.022503f, 0.037854f, -0.021956f, -0.040114f, 0.014166f, -0.021112f, 0.010341f, 0.010547f, -0.010528f, -0.031189f, 0.013667f, 0.012651f, -0.012419f, 0.014708f, 0.011729f, -0.024855f, 0.064553f, 0.008074f, 0.002126f, 0.002493f, -0.012114f, 0.010902f, 0.009394f, 0.004534f, -0.019969f, 0.011970f, 0.003732f, -0.007904f, -0.017410f, 0.040554f, -0.014095f, 0.033219f, 0.037352f, -0.002496f, -0.012730f, 0.010874f, 0.009798f, 0.015415f, 0.044857f, 0.039154f, -0.033212f, 0.017080f, -0.013012f, -0.000728f, 0.019817f, -0.003044f, 0.092673f, 0.088361f, -0.074892f, 0.073639f, - 0.067744f, -0.063105f, -0.095482f, -0.141154f, 0.033191f, 0.212701f, 0.087481f, 0.000689f, 0.044048f, -0.202746f, -0.083665f, -0.006887f, 0.031144f, 0.153080f, 0.149659f, 0.026122f, -0.057445f, -0.112181f, -0.065782f, 0.007956f, 0.048431f, 0.073372f, 0.117691f, 0.071303f, -0.094567f, -0.223515f, -0.182319f, -0.017575f, 0.203189f, 0.221265f, 0.139696f, 0.043010f, -0.046792f, -0.089802f, -0.136177f, -0.077328f, -0.082798f, 0.162901f, 0.135312f, 0.085832f, 0.075721f, -0.114545f, -0.160980f, -0.186483f, -0.167304f, 0.064893f, 0.226748f, 0.279557f, 0.094416f, -0.084132f, -0.198684f, -0.237913f, -0.064824f, 0.038823f, 0.024652f, 0.149617f, 0.058529f, -0.055873f, -0.033403f, -0.114326f, -0.025071f, -0.130766f, 0.056815f, 0.156091f, 0.291023f, -0.017180f, -0.155654f, -0.337554f, -0.013267f, -0.113788f, -0.012204f, 0.162569f, 0.032039f, -0.014341f, -0.072375f, -0.151747f, -0.099908f, 0.073687f, 0.117981f, 0.039410f, -0.020735f, -0.051311f, -0.062237f, 0.061108f, 0.069447f, 0.043574f, 0.037122f, 0.017253f, 0.034595f, -0.002751f, 0.003144f, -0.033194f, -0.015819f, 0.004482f, 0.087619f, 0.077419f, - -0.004153f, -0.032269f, -0.008734f, -0.077708f, -0.052849f, -0.001313f, 0.029715f, 0.081738f, 0.062234f, 0.045026f, 0.003808f, -0.108459f, -0.098604f, -0.065825f, 0.025524f, 0.106107f, 0.203890f, 0.125816f, -0.094446f, -0.168708f, -0.150045f, -0.059486f, 0.003937f, 0.140699f, 0.175622f, 0.132186f, 0.022748f, -0.103531f, -0.237651f, -0.148540f, 0.047919f, 0.148262f, 0.167815f, 0.050194f, -0.025070f, -0.064255f, -0.077785f, 0.001317f, -0.019485f, 0.095631f, 0.055908f, -0.008534f, 0.020272f, 0.010267f, -0.068254f, -0.007221f, -0.005620f, 0.007335f, 0.002052f, 0.005351f, -0.025003f, -0.010080f, -0.009268f, -0.006388f, -0.011410f, 0.040689f, -0.014724f, 0.017413f, -0.030776f, -0.003213f, 0.012619f, -0.001576f, -0.009390f, 0.070345f, 0.009697f, -0.040026f, -0.046416f, 0.009617f, 0.009695f, -0.027382f, 0.007510f, 0.035259f, 0.018337f, 0.033175f, -0.034146f, 0.010177f, -0.001251f, 0.007856f, -0.024047f, 0.004414f, 0.026592f, 0.037553f, 0.009507f, -0.009981f, 0.011019f, 0.004097f, -0.008822f, 0.025541f, -0.038022f, 0.008401f, -0.061907f, -0.019556f, 0.025519f, -0.021187f, -0.024904f, 0.033447f, - -0.021496f, -0.057953f, -0.044744f, 0.039393f, -0.004980f, -0.008063f, 0.009063f, 0.019845f, 0.050133f, -0.032937f, -0.042653f, 0.001582f, -0.005892f, 0.033737f, 0.000209f, 0.019622f, 0.009047f, -0.003611f, 0.052076f, -0.068149f, -0.009995f, -0.009850f, -0.039924f, 0.009944f, 0.022271f, 0.000713f, -0.023804f, 0.010264f, -0.005416f, 0.006493f, -0.020593f, 0.014790f, -0.001127f, 0.002163f, -0.001886f, -0.005329f, 0.026367f, -0.026876f, 0.001993f, -0.004851f, -0.009633f, -0.008814f, 0.003008f, -0.011825f, 0.012041f, 0.015234f, -0.016271f, -0.004440f, -0.006284f, 0.013916f, 0.015699f, -0.008310f, 0.019370f, 0.001554f, -0.002909f, -0.013490f, 0.013931f, 0.004481f, -0.005676f, -0.022085f, 0.010126f, -0.020084f, 0.012559f, -0.011045f, -0.009680f, 0.017559f, 0.017801f, -0.024932f, 0.002793f, -0.006185f, -0.024166f, 0.007316f, -0.014196f, 0.015256f, -0.013997f, -0.056045f, -0.061808f, -0.147023f, 0.042492f, 0.042031f, -0.003006f, -0.123945f, -0.080134f, -0.011801f, -0.020346f, 0.082800f, 0.055847f, 0.026855f, -0.054884f, -0.022661f, -0.014561f, 0.051841f, 0.005673f, -0.014793f, -0.032226f, 0.021249f, - 0.009419f, 0.025782f, -0.001441f, -0.010554f, -0.013208f, -0.029681f, -0.014842f, -0.017969f, 0.049509f, 0.026464f, 0.005802f, 0.007412f, -0.032654f, -0.001765f, 0.003933f, 0.045209f, -0.003302f, 0.021063f, -0.016842f, -0.011730f, 0.009181f, -0.018658f, 0.012284f, 0.005394f, 0.013214f, 0.044100f, -0.003898f, 0.038698f, -0.000548f, 0.024845f, -0.019269f, 0.001616f, -0.028318f, -0.036631f, -0.038557f, -0.032989f, 0.010826f, 0.005701f, 0.002802f, -0.048573f, 0.023956f, -0.042279f, -0.004805f, 0.002182f, -0.026508f, -0.028690f, -0.015176f, 0.000507f, -0.050506f, -0.034166f, 0.031327f, -0.015255f, 0.029164f, 0.004627f, -0.008129f, -0.027308f, -0.031544f, -0.002062f, 0.044686f, 0.055402f, -0.013837f, -0.005690f, -0.020874f, -0.027790f, -0.019204f, 0.017655f, 0.009360f, 0.006785f, 0.017308f, -0.003441f, -0.011518f, 0.012000f, 0.006592f, 0.009986f, 0.015139f, -0.008514f, 0.005084f, -0.001692f, 0.000323f, -0.011567f, 0.020013f, 0.006342f, 0.004542f, -0.006021f, 0.002875f, -0.000437f, 0.031214f, 0.003980f, 0.009344f, -0.017526f, 0.001155f, -0.011348f, 0.020422f, 0.001413f, 0.000294f, -0.007197f, - 0.004729f, -0.002352f, 0.000244f, 0.009789f, 0.000915f, 0.012830f, -0.008737f, 0.004170f, 0.001340f, -0.016440f, -0.000900f, 0.009405f, 0.003605f, -0.003382f, 0.033056f, -0.071065f, -0.176229f, -0.168918f, -0.025624f, 0.051103f, 0.169986f, 0.146897f, 0.138487f, 0.148750f, 0.082825f, 0.020043f, -0.075075f, -0.075441f, -0.156782f, -0.121760f, -0.106737f, -0.067715f, -0.085163f, 0.117327f, 0.096544f, 0.127051f, 0.073298f, 0.103845f, -0.003733f, 0.027355f, -0.016648f, -0.040506f, -0.023135f, -0.048432f, -0.056305f, -0.056124f, -0.055326f, -0.065541f, -0.047942f, -0.038970f, -0.004378f, 0.010324f, 0.092152f, 0.077304f, 0.040788f, 0.043779f, 0.060811f, 0.056394f, 0.027212f, 0.131122f, 0.017110f, 0.001714f, 0.024659f, -0.048983f, -0.150384f, -0.043045f, -0.120536f, -0.129346f, -0.136592f, -0.096674f, -0.086027f, 0.004295f, 0.071454f, 0.072821f, 0.089024f, 0.161812f, 0.116538f, 0.142000f, 0.139639f, 0.089037f, 0.095824f, 0.032684f, -0.033619f, -0.109338f, -0.143365f, -0.163908f, -0.106540f, -0.147109f, -0.123528f, -0.141251f, -0.082334f, -0.009859f, 0.038775f, 0.114272f, 0.109147f, 0.110710f, - 0.184471f, 0.128450f, 0.152503f, 0.094919f, 0.015875f, -0.017926f, -0.046092f, -0.076353f, -0.085392f, -0.090602f, -0.088168f, -0.101778f, -0.087115f, -0.063842f, -0.039114f, -0.020344f, -0.015271f, 0.044118f, 0.042027f, 0.059073f, 0.095613f, 0.107596f, 0.068348f, 0.082191f, 0.050797f, -0.003183f, -0.022289f, -0.049702f, -0.062001f, -0.053297f, -0.045900f, -0.055710f, -0.020282f, -0.013857f, 0.001296f, 0.015630f, 0.017513f, 0.004308f, 0.002426f, 0.015298f, -0.002211f, -0.013522f, 0.012356f, 0.007176f, 0.008817f, 0.013498f, 0.004067f, 0.003498f, 0.008306f, 0.018802f, 0.016252f, 0.007283f, 0.001587f, -0.004347f, -0.016176f, -0.012473f, -0.014722f, -0.013014f, -0.005137f, -0.010124f, -0.008673f, -0.005064f, -0.003862f, -0.005597f, -0.001544f, 0.005774f, 0.005904f, 0.007069f, 0.011723f, 0.007457f, 0.005274f, 0.006603f, 0.001728f, 0.001194f, 0.000630f, 0.000011f, 0.000049f, 0.000121f}, - {-0.008237f, 0.013810f, 0.004811f, -0.002529f, 0.003495f, 0.004431f, 0.008280f, 0.013830f, -0.006657f, 0.004585f, -0.005673f, -0.004416f, 0.002769f, 0.000018f, 0.001145f, -0.009788f, -0.004760f, 0.003432f, 0.006883f, -0.000934f, 0.005798f, -0.010495f, -0.009309f, 0.005838f, 0.003732f, 0.001594f, 0.004248f, -0.003594f, 0.007498f, 0.008390f, 0.008148f, 0.011687f, -0.006503f, -0.005380f, 0.000407f, 0.001471f, -0.011233f, -0.000725f, -0.000985f, 0.003066f, 0.001093f, -0.007037f, -0.001741f, 0.009542f, -0.005117f, 0.001857f, -0.005868f, 0.002791f, 0.002942f, 0.001896f, -0.008736f, 0.007027f, 0.000633f, 0.001571f, -0.001213f, -0.002886f, -0.003630f, -0.005969f, 0.012649f, -0.002248f, -0.002344f, -0.002856f, 0.005612f, 0.001295f, -0.011983f, 0.003025f, -0.005479f, -0.008233f, 0.004838f, -0.005096f, -0.012971f, 0.005154f, 0.001892f, 0.000551f, -0.011953f, -0.014501f, -0.005926f, -0.007156f, 0.006706f, -0.001964f, -0.000028f, -0.003293f, -0.003926f, -0.003276f, 0.000090f, 0.005916f, 0.001070f, -0.002664f, -0.000225f, -0.002783f, -0.001238f, 0.002615f, 0.000791f, -0.002523f, -0.003401f, -0.001191f, - -0.001400f, 0.001288f, -0.000859f, 0.000475f, 0.000471f, 0.001406f, 0.000362f, 0.002022f, -0.000859f, 0.000465f, -0.000475f, 0.001420f, -0.000092f, 0.001302f, 0.008097f, 0.000964f, 0.000699f, 0.007204f, -0.010750f, 0.001801f, -0.008970f, -0.011356f, 0.003279f, 0.010655f, -0.006585f, 0.005059f, -0.004955f, -0.002394f, 0.002151f, 0.000537f, -0.005269f, -0.015659f, -0.015548f, 0.000281f, -0.003933f, -0.000140f, 0.008141f, 0.001306f, 0.009966f, 0.013461f, -0.007088f, 0.011625f, 0.001459f, 0.011800f, 0.000752f, 0.014002f, 0.001790f, -0.007832f, -0.002147f, 0.000790f, 0.006385f, -0.001724f, -0.002097f, 0.001392f, 0.004847f, -0.005817f, -0.000346f, -0.001794f, 0.004289f, 0.005219f, 0.000296f, -0.005300f, -0.000368f, -0.000958f, 0.003071f, 0.005481f, 0.009824f, -0.003422f, 0.006378f, -0.002868f, -0.008533f, -0.007623f, -0.005148f, 0.004836f, 0.005253f, -0.002882f, 0.008500f, 0.000283f, 0.003093f, 0.000446f, 0.010334f, 0.006850f, 0.007618f, 0.003095f, 0.004491f, 0.002771f, 0.004168f, 0.008441f, -0.001779f, -0.000431f, 0.011927f, 0.002397f, 0.000356f, 0.002484f, -0.004419f, 0.000667f, - 0.003528f, -0.000264f, -0.011124f, 0.003496f, 0.001197f, -0.001783f, -0.003853f, 0.002579f, 0.000774f, 0.006070f, -0.002227f, -0.001099f, -0.002309f, -0.001883f, 0.001546f, 0.000444f, 0.002444f, 0.001153f, 0.000575f, -0.002188f, -0.001726f, -0.001022f, -0.001067f, 0.000958f, -0.002883f, 0.002554f, -0.001029f, 0.000757f, -0.000689f, -0.001031f, -0.001596f, 0.000986f, -0.001285f, -0.000976f, -0.003141f, 0.011966f, -0.012386f, -0.008375f, -0.006892f, -0.010046f, 0.003072f, 0.004212f, -0.008092f, 0.001776f, 0.016381f, -0.012074f, 0.008269f, 0.014110f, 0.013960f, -0.008743f, -0.002446f, 0.006871f, 0.001259f, 0.002072f, -0.006375f, 0.003371f, -0.021432f, 0.016687f, 0.026208f, 0.004568f, 0.008783f, -0.004356f, -0.000424f, 0.013871f, -0.007401f, -0.016941f, -0.002868f, 0.000167f, -0.000112f, -0.013702f, 0.000949f, 0.003303f, -0.016243f, -0.007689f, 0.007454f, 0.002464f, -0.005813f, -0.001583f, 0.005555f, -0.007978f, 0.016706f, 0.005145f, 0.000724f, -0.010841f, -0.001112f, 0.005697f, -0.003700f, 0.000273f, -0.003888f, -0.000301f, -0.001648f, -0.008703f, 0.000494f, -0.008420f, 0.012534f, -0.012236f, - -0.008131f, -0.002808f, -0.014593f, 0.009668f, -0.007870f, -0.020341f, -0.003765f, -0.008822f, 0.002435f, 0.009226f, -0.009503f, 0.001092f, -0.006465f, 0.006527f, 0.000877f, -0.006778f, 0.005704f, -0.007337f, -0.009625f, 0.010594f, -0.006935f, 0.002966f, 0.000223f, 0.000887f, 0.003696f, -0.002191f, -0.003296f, -0.003724f, -0.005875f, 0.001876f, -0.008287f, 0.000390f, -0.001705f, 0.002514f, -0.002489f, -0.000283f, -0.000022f, 0.000141f, -0.004414f, 0.003845f, 0.000157f, 0.000661f, -0.002393f, -0.001739f, -0.001801f, -0.000202f, 0.002605f, -0.009446f, 0.006033f, -0.000273f, -0.001850f, 0.007161f, -0.006776f, -0.023807f, -0.004649f, -0.001461f, 0.010408f, 0.014742f, 0.013058f, 0.006284f, -0.005124f, -0.001600f, -0.014681f, -0.012442f, 0.004299f, 0.016751f, -0.004793f, 0.017160f, 0.010915f, -0.010579f, 0.005692f, -0.001621f, 0.005952f, -0.011824f, -0.007980f, 0.001959f, 0.008546f, -0.001073f, 0.005095f, 0.007127f, -0.013377f, -0.002676f, -0.006172f, -0.018207f, 0.011328f, 0.001816f, 0.004114f, 0.007909f, 0.014447f, 0.005051f, 0.000678f, 0.011347f, -0.002650f, -0.005782f, 0.011654f, -0.006122f, - 0.019696f, 0.009094f, 0.007831f, 0.000429f, -0.005668f, -0.006872f, 0.009653f, 0.013143f, -0.009756f, 0.002393f, 0.012526f, -0.002203f, 0.004070f, 0.027704f, -0.008377f, -0.003310f, 0.005375f, -0.013853f, -0.000568f, 0.002510f, -0.006195f, 0.006769f, -0.004490f, 0.004185f, 0.013732f, 0.000510f, -0.003173f, -0.009326f, -0.000780f, -0.011589f, 0.004904f, -0.004282f, -0.005722f, -0.002351f, 0.002195f, -0.003311f, -0.003362f, -0.002786f, 0.000619f, 0.004313f, 0.003155f, 0.000905f, -0.001004f, -0.001263f, -0.000999f, -0.000609f, -0.001944f, -0.003386f, -0.000679f, -0.001025f, 0.001792f, 0.000045f, 0.000893f, -0.003423f, 0.001449f, 0.001865f, -0.001313f, -0.002993f, -0.001146f, -0.003140f, -0.001699f, -0.001376f, 0.002328f, 0.000298f, -0.000524f, -0.000200f, 0.000528f, -0.004745f, -0.000942f, 0.001715f, -0.005947f, -0.033968f, -0.002641f, -0.000599f, -0.006695f, -0.010452f, -0.003337f, 0.018413f, -0.012839f, -0.019281f, 0.007415f, -0.007762f, 0.002904f, 0.003571f, 0.012406f, -0.008260f, -0.002394f, 0.002530f, 0.011546f, -0.005227f, -0.007360f, -0.002131f, -0.006313f, 0.008525f, 0.015544f, 0.007867f, - 0.000275f, -0.001162f, -0.008691f, -0.000418f, 0.024379f, 0.004377f, -0.002872f, 0.028122f, -0.001536f, 0.020943f, -0.006154f, 0.000278f, 0.014280f, 0.004403f, 0.003658f, 0.005156f, 0.002624f, 0.007888f, 0.004676f, -0.013194f, 0.024877f, 0.015140f, 0.020455f, 0.013727f, 0.009114f, -0.013426f, 0.006134f, 0.007001f, 0.001193f, -0.008191f, 0.023112f, 0.014008f, 0.020896f, 0.003803f, -0.003982f, -0.005003f, 0.015431f, -0.007338f, -0.015615f, 0.018664f, 0.005964f, -0.010083f, -0.005752f, 0.001032f, -0.004609f, 0.001927f, -0.001997f, 0.002731f, -0.006278f, -0.001652f, -0.014764f, 0.005843f, -0.001675f, -0.000274f, 0.005651f, -0.001722f, -0.002629f, 0.008896f, -0.000415f, 0.006938f, 0.009308f, 0.007610f, 0.004996f, 0.004918f, 0.002100f, 0.002924f, 0.000215f, -0.001777f, -0.001570f, 0.004130f, -0.000954f, -0.002335f, -0.002385f, 0.002029f, -0.002712f, -0.000625f, -0.000395f, 0.005123f, 0.002265f, 0.003708f, -0.003175f, 0.001191f, -0.002509f, -0.000815f, 0.003636f, -0.000334f, -0.001220f, -0.000975f, -0.000722f, -0.008545f, -0.001136f, -0.022247f, -0.008718f, -0.024892f, -0.017016f, 0.001943f, - -0.016123f, -0.012671f, 0.001625f, -0.002748f, 0.016852f, -0.011033f, 0.018665f, 0.022859f, 0.002461f, -0.019241f, -0.013466f, 0.020541f, -0.010250f, -0.005497f, 0.011597f, -0.014875f, -0.026451f, 0.010748f, 0.023073f, -0.011708f, 0.005995f, -0.000334f, 0.010141f, -0.027636f, 0.005667f, -0.011048f, 0.006840f, 0.000652f, -0.011493f, 0.019427f, 0.008980f, 0.008258f, 0.025890f, 0.012094f, 0.005465f, 0.014681f, 0.003068f, 0.004816f, 0.007497f, 0.002547f, 0.001320f, 0.004073f, 0.003663f, 0.029414f, 0.016637f, 0.000023f, 0.024749f, 0.015499f, 0.018308f, 0.028483f, -0.014369f, -0.012037f, 0.025020f, -0.008587f, -0.000812f, -0.014688f, -0.006106f, 0.008929f, 0.013344f, -0.011175f, -0.001179f, 0.003827f, -0.003037f, 0.006930f, -0.011767f, -0.002163f, -0.013633f, 0.026853f, -0.008507f, 0.014695f, -0.004009f, -0.007087f, 0.019845f, 0.003518f, -0.005617f, 0.006467f, -0.002284f, 0.000622f, -0.005419f, 0.007509f, -0.001248f, 0.002739f, 0.008134f, 0.004631f, 0.002543f, 0.004550f, 0.000510f, -0.000666f, 0.003363f, 0.000862f, -0.005292f, 0.001222f, -0.000978f, -0.002505f, 0.005111f, 0.000038f, - 0.002586f, 0.002064f, -0.000938f, 0.000982f, -0.003029f, 0.000702f, -0.002750f, 0.000281f, -0.001016f, 0.003605f, 0.001135f, 0.003100f, 0.001014f, 0.008482f, -0.009049f, 0.002923f, 0.001316f, 0.002897f, -0.012997f, 0.016917f, 0.009831f, 0.022982f, 0.004466f, -0.003108f, -0.025918f, -0.013861f, -0.009703f, 0.006625f, -0.013453f, -0.022453f, -0.006233f, 0.005757f, 0.002523f, -0.025075f, 0.020379f, 0.001567f, -0.001497f, -0.021360f, -0.012259f, 0.005039f, 0.002665f, -0.023732f, -0.007348f, 0.008673f, 0.000996f, 0.002393f, 0.012201f, 0.014209f, 0.008341f, -0.003676f, 0.007205f, 0.002214f, -0.008471f, -0.017569f, 0.030311f, -0.007602f, -0.014693f, 0.000285f, 0.007558f, 0.009777f, 0.022681f, 0.003714f, -0.000357f, -0.008512f, -0.000197f, 0.012542f, -0.001528f, 0.015672f, 0.030110f, 0.002516f, -0.006454f, 0.000901f, 0.025936f, 0.032346f, -0.016060f, 0.004504f, 0.004587f, 0.017482f, 0.009317f, 0.003072f, 0.005454f, -0.012898f, 0.008103f, 0.008329f, 0.008410f, -0.005584f, 0.000556f, 0.006337f, 0.009717f, -0.001377f, 0.003394f, 0.002209f, -0.010859f, 0.005260f, 0.000606f, -0.009889f, - -0.007082f, 0.010445f, -0.004608f, 0.007219f, -0.010407f, -0.008047f, -0.003485f, 0.002359f, -0.000063f, 0.009417f, 0.004416f, 0.001665f, 0.000568f, 0.004693f, 0.004466f, 0.001341f, -0.007864f, 0.000316f, -0.003237f, 0.001244f, -0.002408f, -0.001980f, 0.000020f, -0.000839f, -0.001014f, -0.002754f, -0.007691f, -0.002212f, 0.000976f, -0.005309f, -0.003226f, -0.003383f, 0.000274f, -0.003389f, -0.005374f, -0.001338f, 0.002752f, 0.004200f, -0.008360f, 0.011979f, -0.010548f, -0.019194f, 0.013417f, -0.001492f, -0.004617f, 0.005149f, 0.011433f, -0.032251f, 0.002064f, 0.024856f, -0.002801f, 0.044656f, 0.021381f, -0.013533f, -0.009915f, -0.004098f, -0.012800f, -0.005639f, 0.019979f, -0.007576f, -0.006451f, 0.020028f, 0.016266f, 0.005430f, 0.009360f, 0.018727f, 0.012413f, 0.014037f, -0.010148f, -0.006904f, 0.017774f, -0.003388f, 0.016096f, 0.000194f, -0.019062f, -0.012211f, 0.005253f, 0.015218f, -0.020741f, 0.001395f, -0.011041f, 0.005925f, -0.012629f, 0.017786f, 0.017711f, -0.017122f, -0.001763f, 0.005133f, -0.000488f, -0.023186f, -0.010372f, 0.004099f, 0.015513f, 0.025519f, 0.008709f, -0.018720f, - -0.004085f, -0.004472f, -0.002141f, 0.016095f, 0.002608f, 0.012921f, -0.019189f, 0.008760f, 0.001381f, -0.015153f, 0.018150f, 0.007802f, -0.002377f, -0.003935f, 0.003188f, -0.000561f, -0.015511f, 0.011855f, -0.003541f, 0.007119f, -0.012042f, -0.021281f, -0.011808f, 0.005189f, 0.009612f, 0.000356f, 0.005334f, 0.019343f, 0.000257f, -0.004784f, 0.012141f, -0.003611f, 0.011431f, 0.000804f, 0.003750f, -0.009627f, 0.001054f, 0.000393f, 0.005273f, 0.005876f, 0.008115f, 0.005262f, -0.001931f, -0.002218f, -0.003697f, 0.009701f, -0.004423f, 0.005124f, 0.001094f, 0.003150f, 0.003971f, 0.005501f, 0.002410f, -0.001685f, 0.004871f, 0.002047f, 0.001664f, -0.001699f, 0.006535f, 0.003226f, 0.001409f, -0.006286f, 0.002393f, -0.002378f, -0.000021f, 0.004576f, 0.020725f, -0.025328f, -0.003946f, -0.008023f, 0.026172f, -0.011549f, 0.021582f, -0.006602f, 0.020154f, 0.027294f, -0.011956f, 0.008681f, -0.006819f, 0.015593f, -0.005788f, 0.013001f, 0.010807f, 0.010196f, -0.002211f, 0.010719f, -0.005257f, -0.013384f, -0.006381f, 0.015169f, -0.017525f, 0.002895f, 0.000036f, 0.013526f, 0.027270f, -0.024756f, - 0.000975f, 0.024460f, -0.000496f, 0.022373f, 0.003140f, 0.009892f, -0.002973f, -0.001780f, 0.006108f, -0.034237f, 0.003481f, -0.000715f, -0.013568f, 0.009197f, 0.005721f, 0.025036f, 0.012499f, -0.002367f, 0.047433f, 0.011905f, -0.024856f, 0.006709f, 0.002484f, 0.016642f, -0.010663f, 0.003283f, 0.014054f, 0.001210f, 0.008592f, -0.002379f, -0.027167f, -0.027801f, 0.000134f, -0.009328f, 0.022499f, -0.037822f, 0.048840f, -0.000182f, 0.027222f, 0.031159f, 0.007536f, -0.008124f, -0.006138f, -0.014485f, -0.019263f, -0.001553f, 0.006294f, -0.004801f, 0.009819f, -0.006425f, -0.015506f, -0.009730f, -0.007814f, 0.002900f, -0.002386f, 0.001813f, 0.010486f, 0.005347f, 0.004992f, 0.003922f, -0.004325f, -0.005270f, 0.000342f, -0.001044f, 0.003022f, 0.000806f, 0.001233f, 0.003382f, 0.006084f, 0.003706f, -0.012065f, 0.002295f, -0.002268f, 0.008884f, 0.008882f, 0.005219f, -0.000809f, -0.002487f, 0.003488f, 0.002858f, -0.004270f, -0.004423f, -0.001115f, -0.002999f, 0.000847f, -0.003211f, -0.005855f, 0.002412f, 0.009768f, -0.002442f, 0.003932f, -0.007419f, 0.000962f, 0.004393f, 0.004474f, -0.000149f, - 0.002867f, 0.006370f, -0.045202f, -0.003287f, 0.015256f, 0.002435f, -0.017041f, -0.041984f, -0.000120f, 0.004692f, -0.007450f, -0.001846f, -0.012440f, 0.006400f, -0.010375f, 0.021484f, 0.007507f, -0.012949f, -0.016184f, -0.027627f, 0.020510f, -0.008874f, 0.001302f, 0.026753f, 0.036804f, 0.022417f, -0.003537f, 0.001848f, -0.025422f, -0.010908f, -0.010288f, 0.006718f, -0.036024f, 0.009307f, 0.009704f, 0.001980f, -0.018573f, 0.017657f, 0.027470f, -0.004517f, -0.000590f, 0.003147f, -0.016111f, -0.016987f, 0.009631f, 0.006602f, 0.020752f, -0.022995f, 0.024782f, -0.013169f, 0.013611f, -0.021290f, -0.016868f, -0.008453f, -0.000653f, -0.002569f, 0.008976f, -0.004631f, -0.037231f, -0.027889f, -0.007946f, 0.000942f, -0.037332f, 0.000474f, 0.018297f, -0.009894f, -0.004415f, 0.005602f, 0.015540f, -0.032787f, 0.016620f, -0.005796f, -0.005043f, -0.000192f, 0.013262f, 0.016684f, -0.019795f, -0.010070f, -0.013351f, -0.006449f, -0.004904f, 0.009696f, 0.003098f, -0.011890f, -0.005458f, -0.009121f, 0.006183f, 0.021754f, 0.014211f, -0.000128f, -0.000769f, -0.012166f, 0.000320f, -0.007435f, 0.010103f, -0.001869f, - 0.017727f, 0.005965f, 0.006088f, -0.006420f, 0.000223f, 0.000213f, -0.014452f, 0.015266f, 0.000984f, -0.002688f, 0.007797f, -0.002811f, -0.002580f, -0.000716f, 0.001006f, -0.012386f, 0.005282f, 0.007567f, 0.007831f, -0.001275f, -0.003109f, 0.002736f, 0.004345f, -0.004418f, -0.002819f, 0.004418f, -0.009624f, 0.001064f, -0.000429f, 0.008882f, -0.000880f, 0.040510f, 0.000989f, -0.008213f, 0.031508f, -0.006877f, -0.012806f, -0.003381f, -0.002891f, 0.039080f, 0.044689f, -0.005805f, 0.009514f, 0.011401f, -0.005699f, -0.021202f, 0.010454f, 0.041562f, 0.031698f, 0.027115f, -0.009831f, 0.011763f, 0.022318f, -0.028937f, -0.021560f, 0.025315f, -0.012900f, -0.014148f, -0.000968f, 0.031645f, -0.004756f, 0.029134f, 0.001918f, 0.026148f, -0.015632f, 0.035920f, 0.010925f, -0.011102f, -0.018304f, 0.006588f, -0.025899f, 0.003147f, -0.030733f, -0.010448f, -0.011022f, 0.017635f, -0.017596f, 0.029032f, -0.035489f, -0.061363f, 0.038374f, 0.017217f, -0.007544f, 0.000368f, 0.042325f, 0.019921f, 0.003363f, -0.011061f, 0.009143f, -0.004879f, 0.000507f, -0.027454f, -0.027905f, 0.016474f, -0.009371f, 0.009127f, - 0.052544f, -0.013694f, 0.011299f, -0.034252f, 0.040598f, -0.013535f, -0.018144f, -0.008632f, -0.005684f, 0.017014f, -0.034422f, 0.028834f, -0.033740f, 0.024386f, -0.017378f, -0.023458f, 0.023457f, -0.000953f, 0.007676f, -0.009471f, 0.013866f, -0.007553f, -0.010633f, -0.004681f, -0.016111f, 0.011150f, -0.000548f, -0.010412f, -0.004478f, 0.003980f, 0.017138f, 0.003320f, 0.002421f, 0.004650f, -0.000463f, -0.002860f, 0.008680f, -0.004833f, 0.003902f, 0.003706f, -0.004499f, -0.001191f, -0.001040f, 0.012396f, 0.010727f, -0.003894f, -0.006014f, -0.012821f, -0.000298f, -0.002562f, -0.001913f, -0.002031f, 0.000320f, 0.011886f, 0.003483f, -0.001353f, 0.014841f, -0.046053f, -0.034233f, -0.033193f, 0.046334f, 0.001549f, 0.019886f, 0.011845f, -0.040822f, -0.035696f, 0.023994f, -0.063684f, 0.018605f, 0.018904f, -0.004094f, -0.025345f, -0.023304f, 0.039663f, -0.021337f, -0.002813f, -0.006674f, -0.020573f, 0.030173f, 0.009598f, 0.027299f, 0.015866f, 0.018835f, -0.005984f, 0.030652f, -0.002834f, -0.020046f, -0.023619f, -0.005434f, 0.013289f, -0.017895f, 0.023788f, 0.015283f, -0.017958f, -0.064467f, -0.005430f, - -0.005295f, -0.001611f, 0.046845f, 0.001047f, -0.036691f, -0.021786f, -0.022435f, 0.019220f, -0.014140f, -0.030573f, -0.034099f, -0.021232f, -0.016579f, -0.076034f, 0.001827f, 0.009465f, 0.024979f, -0.039726f, 0.013007f, -0.032828f, -0.026837f, -0.009209f, 0.031787f, 0.008109f, 0.029505f, 0.055682f, 0.016772f, 0.012763f, 0.036338f, -0.028342f, -0.003605f, -0.013473f, -0.015527f, 0.029083f, 0.026930f, 0.042733f, 0.021028f, -0.039177f, -0.026065f, 0.030724f, -0.046237f, -0.050978f, -0.016003f, 0.037099f, 0.005905f, -0.009106f, 0.025337f, 0.020631f, -0.000196f, 0.005865f, 0.021488f, -0.014080f, 0.012721f, -0.010386f, -0.001959f, -0.010822f, -0.001985f, 0.002797f, 0.015060f, -0.009580f, -0.012053f, -0.000064f, 0.008509f, 0.002680f, 0.007740f, -0.001238f, -0.012048f, -0.002925f, -0.007972f, 0.000591f, -0.006657f, -0.001351f, -0.000921f, -0.013622f, 0.011042f, 0.001645f, 0.011239f, 0.014057f, 0.019508f, -0.007354f, -0.010342f, -0.000866f, 0.001906f, 0.022440f, -0.019692f, -0.041740f, 0.012151f, -0.000067f, -0.000287f, 0.002094f, 0.006421f, 0.009508f, 0.019069f, 0.006564f, 0.016130f, 0.009129f, - 0.019013f, 0.048460f, 0.002091f, -0.061953f, -0.022396f, 0.016340f, 0.001097f, -0.012488f, -0.039675f, -0.025947f, 0.008923f, 0.033045f, 0.013081f, -0.030628f, 0.017115f, 0.013691f, -0.034733f, -0.006167f, -0.043064f, 0.034636f, -0.017686f, -0.022235f, 0.031991f, -0.030100f, 0.008974f, 0.066207f, -0.007286f, 0.011153f, 0.019833f, 0.000324f, 0.009997f, -0.038104f, 0.009790f, 0.007238f, 0.006649f, 0.086819f, 0.058900f, -0.006025f, -0.029735f, -0.019525f, 0.027548f, 0.031916f, -0.034231f, -0.018886f, -0.046077f, 0.074150f, 0.020714f, 0.008946f, -0.011500f, -0.007640f, -0.016073f, -0.008709f, 0.053402f, -0.013795f, 0.014710f, 0.053363f, 0.009254f, -0.014554f, -0.038975f, 0.001404f, 0.016064f, -0.078665f, 0.017520f, 0.009033f, 0.054370f, 0.037309f, 0.029123f, 0.048642f, 0.027582f, -0.009176f, 0.005046f, 0.017215f, -0.005181f, 0.002745f, -0.003154f, 0.008054f, 0.004515f, 0.045478f, -0.001058f, 0.018912f, -0.007712f, 0.018284f, -0.001277f, 0.024278f, 0.005278f, 0.007063f, 0.021949f, -0.001363f, 0.009217f, 0.015067f, 0.000570f, 0.012264f, 0.016907f, 0.007788f, 0.013509f, 0.019900f, - 0.011359f, -0.006847f, -0.001255f, 0.004729f, 0.004933f, 0.000608f, -0.007666f, 0.004319f, 0.005245f, 0.002755f, 0.010495f, -0.000999f, 0.016382f, 0.009278f, -0.006528f, 0.017362f, -0.002186f, -0.010997f, -0.050519f, -0.007229f, 0.034851f, 0.019542f, -0.056594f, -0.074630f, 0.008617f, 0.050674f, 0.020523f, 0.030971f, -0.017564f, 0.023921f, 0.004049f, 0.000642f, -0.027051f, -0.009689f, -0.042146f, 0.062665f, 0.021049f, -0.050873f, -0.034855f, 0.022774f, 0.002472f, 0.012551f, -0.015172f, 0.031254f, 0.018320f, 0.021511f, 0.041080f, 0.036324f, 0.007555f, 0.035511f, -0.018626f, 0.020379f, -0.000023f, 0.024771f, 0.011468f, -0.005977f, -0.014857f, 0.017084f, -0.022100f, 0.058428f, -0.015610f, -0.011091f, 0.012092f, 0.028859f, 0.028684f, -0.019403f, 0.050471f, 0.049851f, 0.029143f, 0.012017f, 0.004314f, -0.016119f, -0.037791f, -0.064961f, -0.010403f, 0.022995f, -0.001251f, 0.028152f, 0.030936f, 0.032901f, 0.011657f, 0.018281f, 0.107926f, -0.053098f, -0.022965f, 0.010548f, 0.021006f, -0.002869f, -0.083934f, 0.019587f, -0.012881f, 0.012443f, 0.015128f, 0.037101f, 0.007697f, 0.000440f, - -0.033593f, 0.034879f, -0.012323f, 0.004842f, 0.030985f, 0.013727f, -0.032530f, -0.007340f, -0.018156f, -0.006552f, -0.013867f, 0.002027f, 0.001590f, 0.012919f, -0.002859f, 0.015811f, 0.016140f, 0.020586f, 0.000116f, -0.000531f, -0.012373f, -0.006086f, -0.016669f, -0.011869f, -0.004720f, 0.021843f, 0.007484f, -0.003936f, 0.001876f, -0.009173f, 0.003595f, 0.019057f, 0.022303f, -0.004861f, -0.019841f, -0.000888f, 0.001641f, 0.008934f, -0.005176f, 0.005990f, -0.009189f, 0.014261f, -0.027890f, 0.002265f, -0.008253f, -0.010633f, 0.000446f, 0.004960f, -0.017797f, 0.008132f, -0.003005f, 0.008018f, -0.009447f, -0.016614f, 0.006359f, 0.028234f, 0.027792f, -0.015285f, -0.020802f, 0.006220f, -0.019988f, -0.064090f, 0.066313f, -0.019313f, 0.018664f, 0.006174f, 0.055625f, 0.044362f, 0.027889f, -0.026481f, -0.004355f, 0.038067f, 0.020208f, 0.044798f, 0.119329f, -0.007346f, -0.047000f, -0.012217f, 0.035692f, -0.005284f, -0.055519f, 0.084910f, 0.044000f, -0.029880f, -0.046480f, -0.005691f, 0.010448f, -0.014734f, 0.033728f, 0.028688f, 0.033094f, 0.063402f, 0.010627f, 0.017945f, 0.011342f, -0.024496f, - -0.058962f, 0.034720f, -0.040118f, -0.030102f, 0.046565f, 0.024447f, 0.026271f, 0.013826f, 0.009602f, -0.002620f, -0.058226f, -0.051649f, 0.000975f, 0.030970f, -0.038491f, 0.036520f, -0.017071f, -0.043134f, 0.013628f, 0.037942f, -0.006996f, 0.007346f, 0.037639f, 0.037137f, 0.038509f, 0.002890f, -0.023492f, 0.021999f, 0.091491f, 0.011086f, 0.037208f, 0.052317f, 0.002559f, -0.016517f, -0.045974f, -0.018539f, -0.072455f, -0.024795f, -0.018135f, -0.008887f, 0.016471f, 0.002868f, -0.003293f, -0.020774f, -0.013721f, -0.012044f, 0.017901f, -0.018582f, -0.003725f, -0.016388f, 0.005355f, -0.010391f, -0.017853f, 0.000760f, -0.025696f, -0.009009f, 0.000438f, -0.023159f, -0.004390f, -0.020172f, -0.011680f, 0.002283f, -0.037106f, -0.003546f, 0.001740f, -0.000370f, 0.017531f, -0.023575f, -0.007782f, 0.025368f, 0.000493f, -0.009936f, -0.001100f, -0.008484f, 0.004877f, -0.010844f, -0.008230f, 0.012644f, -0.000870f, 0.000892f, 0.033841f, 0.027897f, 0.000988f, -0.021832f, -0.032375f, -0.057420f, 0.010593f, 0.035741f, 0.048782f, -0.040946f, -0.043676f, 0.054213f, 0.024508f, -0.001835f, -0.005182f, -0.022086f, - 0.010557f, -0.010147f, -0.023069f, 0.025009f, 0.030429f, 0.021140f, 0.002284f, -0.004118f, -0.016593f, 0.003898f, 0.012938f, 0.007936f, -0.018784f, -0.067062f, 0.015292f, -0.015046f, -0.019941f, 0.004009f, -0.008444f, 0.005909f, -0.066840f, 0.031548f, 0.024789f, -0.048053f, 0.034074f, 0.045162f, 0.037833f, -0.009820f, 0.006559f, -0.005745f, 0.024759f, -0.005277f, 0.000120f, 0.120212f, -0.035764f, 0.010238f, -0.031903f, -0.018404f, 0.067995f, 0.025049f, 0.023390f, 0.043599f, -0.054907f, -0.045400f, 0.068365f, -0.042850f, 0.035016f, 0.043271f, 0.004365f, 0.011742f, 0.016616f, 0.077535f, -0.026013f, -0.029242f, -0.070663f, -0.014922f, -0.030293f, 0.024290f, -0.044131f, 0.075367f, 0.041108f, 0.046144f, 0.022834f, 0.040367f, 0.021265f, 0.071960f, 0.017880f, 0.034772f, 0.026564f, -0.034948f, -0.016638f, -0.013342f, 0.006494f, 0.004372f, 0.035342f, 0.015606f, 0.000197f, -0.001354f, 0.008235f, 0.003567f, -0.013436f, -0.026554f, -0.014115f, -0.019861f, 0.025574f, -0.008626f, -0.014244f, 0.008490f, -0.005392f, 0.031608f, 0.014674f, -0.005261f, 0.017777f, -0.019833f, 0.009877f, 0.016072f, - -0.005493f, 0.030629f, 0.031162f, 0.021009f, -0.014322f, 0.025915f, 0.014925f, -0.024926f, -0.004661f, 0.002945f, -0.015071f, 0.002040f, 0.022311f, -0.025080f, -0.029158f, 0.013267f, 0.006021f, -0.002499f, -0.019278f, 0.049657f, -0.028699f, 0.026278f, 0.084362f, 0.041921f, 0.031952f, -0.047075f, 0.013335f, 0.047016f, -0.040065f, 0.066541f, 0.023891f, 0.035630f, 0.031900f, -0.020387f, 0.033044f, 0.028472f, 0.012026f, 0.065972f, 0.050023f, -0.003724f, -0.112706f, -0.013157f, 0.052468f, 0.050620f, 0.052031f, 0.012526f, 0.029079f, 0.002640f, 0.014682f, -0.003661f, -0.034842f, 0.072301f, -0.001797f, 0.068896f, 0.031086f, 0.049745f, -0.069373f, 0.047221f, 0.023581f, 0.021307f, -0.018115f, 0.016476f, -0.012847f, 0.015735f, 0.069253f, 0.027690f, 0.090331f, 0.004587f, 0.020054f, 0.052864f, -0.010552f, 0.083022f, 0.040947f, 0.007417f, -0.054793f, -0.034156f, 0.030318f, 0.003647f, -0.009061f, 0.001997f, -0.009280f, 0.006698f, -0.039911f, 0.026935f, -0.042507f, -0.063217f, -0.023666f, -0.003338f, -0.021121f, -0.016130f, 0.053799f, -0.006195f, 0.048998f, -0.046377f, 0.053831f, 0.007449f, - -0.059484f, 0.059167f, 0.049256f, -0.018206f, -0.008280f, 0.014308f, 0.025877f, 0.016839f, -0.002469f, -0.026787f, 0.017055f, -0.011428f, -0.001718f, 0.034243f, -0.006949f, -0.005337f, -0.027505f, -0.007103f, 0.007603f, 0.005567f, -0.001854f, 0.025814f, 0.022635f, -0.017622f, 0.006116f, -0.000172f, 0.000937f, 0.023767f, 0.007180f, -0.025376f, 0.017247f, -0.021670f, 0.011109f, -0.017481f, -0.007126f, -0.005373f, -0.004033f, 0.003256f, 0.004907f, 0.003375f, 0.001326f, -0.004840f, 0.004279f, -0.012079f, 0.008491f, 0.010020f, -0.002136f, -0.009867f, 0.007463f, -0.002059f, 0.012687f, -0.006936f, -0.006172f, -0.017541f, -0.000842f, -0.015556f, -0.050301f, -0.048089f, -0.019352f, -0.020830f, 0.038936f, -0.062965f, -0.078459f, -0.085306f, -0.103034f, 0.046034f, 0.050543f, -0.002943f, -0.008310f, -0.000322f, -0.024530f, 0.005970f, 0.012780f, -0.021724f, 0.070114f, 0.066067f, 0.043144f, 0.047262f, -0.043553f, 0.028920f, 0.002352f, 0.034440f, -0.013612f, -0.017746f, -0.064381f, 0.057563f, -0.058182f, -0.070429f, -0.018550f, -0.014796f, 0.075534f, -0.041533f, 0.010112f, -0.039205f, -0.011014f, 0.072870f, - 0.013467f, 0.023054f, 0.036031f, 0.066923f, 0.004068f, -0.007495f, -0.081810f, -0.015091f, -0.006605f, -0.002324f, 0.044747f, 0.024082f, 0.152204f, 0.007625f, -0.004755f, -0.050499f, -0.004108f, 0.060526f, 0.055472f, -0.005002f, -0.026807f, -0.075224f, 0.018751f, 0.047623f, -0.024436f, -0.054859f, -0.023282f, 0.046936f, -0.014367f, 0.034453f, -0.109024f, -0.060993f, -0.087155f, -0.023584f, 0.034981f, 0.018579f, -0.037968f, -0.036243f, -0.042662f, 0.017115f, 0.089797f, 0.027175f, -0.000385f, -0.031866f, -0.002577f, -0.024825f, -0.006776f, 0.010614f, 0.010623f, -0.028585f, -0.012904f, -0.002569f, 0.019496f, -0.048581f, -0.033031f, -0.011361f, 0.023895f, -0.003342f, 0.031436f, 0.010033f, 0.003736f, -0.010996f, -0.005389f, -0.021887f, -0.004595f, -0.032972f, -0.007291f, 0.036163f, 0.013050f, 0.016450f, -0.025212f, -0.045591f, 0.022620f, 0.021365f, -0.013135f, -0.000055f, -0.018724f, -0.003547f, 0.005778f, -0.002511f, 0.017144f, 0.010548f, 0.011253f, 0.021628f, 0.012131f, 0.017069f, 0.018597f, -0.003731f, 0.014963f, 0.007910f, -0.012468f, -0.030453f, -0.015801f, 0.074057f, 0.002429f, 0.000432f, - 0.131094f, 0.012980f, -0.097083f, -0.074550f, 0.091928f, 0.081603f, 0.005194f, -0.064663f, -0.080318f, -0.046063f, 0.016055f, 0.079384f, 0.070789f, 0.047423f, -0.028793f, 0.009398f, -0.028920f, 0.025989f, 0.060288f, 0.092919f, 0.101528f, -0.012591f, -0.053966f, -0.085476f, -0.127734f, -0.001215f, 0.068474f, 0.277294f, -0.035930f, -0.014673f, -0.133658f, -0.055293f, 0.011607f, 0.032117f, 0.165286f, 0.119156f, 0.073869f, -0.083700f, -0.047139f, -0.081777f, -0.004599f, 0.138315f, 0.128044f, 0.155884f, -0.042719f, -0.153224f, -0.111373f, -0.154712f, 0.039020f, 0.142211f, 0.125149f, 0.230464f, -0.109764f, -0.133693f, -0.117081f, -0.019446f, 0.102098f, 0.135910f, 0.190065f, 0.086064f, -0.039691f, -0.073776f, 0.017697f, -0.005551f, 0.054224f, 0.152010f, -0.033216f, 0.094497f, -0.033506f, -0.087334f, 0.001473f, 0.013724f, 0.082473f, 0.003980f, -0.007453f, 0.007902f, -0.021344f, -0.075532f, 0.031745f, -0.010361f, 0.025974f, -0.021325f, -0.062023f, -0.015032f, -0.014478f, 0.007067f, 0.041531f, 0.005813f, -0.011743f, 0.015930f, -0.014905f, -0.019346f, -0.003444f, 0.060277f, 0.015497f, 0.055353f, - -0.003842f, 0.006347f, -0.015624f, 0.007236f, 0.006566f, 0.011206f, 0.042924f, 0.073946f, -0.001984f, -0.019933f, -0.067498f, -0.089341f, 0.003735f, 0.005427f, 0.108382f, 0.069800f, 0.011929f, -0.037417f, -0.152221f, -0.085738f, -0.012926f, 0.069077f, 0.135110f, 0.070113f, -0.040622f, -0.050242f, -0.157816f, -0.058603f, 0.075546f, 0.138940f, 0.112281f, 0.007400f, -0.071328f, -0.080809f, -0.007852f, -0.002759f, 0.065735f, -0.011942f, -0.067815f, 0.088635f, -0.020696f, 0.104675f, -0.096622f, 0.000987f, -0.042285f, -0.100371f, 0.073211f, -0.052786f, 0.067765f, -0.053981f, -0.020877f, -0.005018f, 0.034836f, 0.007601f, -0.038533f, -0.020709f, -0.001776f, 0.054084f, -0.050583f, 0.062066f, 0.044582f, -0.034188f, 0.007695f, -0.042873f, -0.042993f, 0.072298f, -0.071661f, -0.036327f, 0.048076f, 0.110557f, -0.000886f, 0.014729f, -0.010253f, -0.048801f, -0.013655f, 0.044944f, -0.015759f, -0.073509f, 0.010281f, -0.016317f, -0.012467f, 0.021768f, -0.066819f, 0.033300f, -0.000267f, 0.022704f, 0.051394f, -0.116710f, -0.086187f, -0.028911f, -0.002661f, 0.119436f, -0.063600f, 0.043042f, 0.094136f, -0.052081f, - -0.030619f, -0.003648f, 0.051043f, 0.074056f, -0.040742f, 0.021133f, -0.015026f, 0.029086f, 0.115908f, -0.043445f, -0.130721f, 0.027409f, 0.059822f, 0.015169f, -0.069872f, 0.043177f, 0.018266f, 0.043345f, -0.013701f, -0.002375f, -0.048808f, -0.039165f, 0.028710f, 0.006887f, -0.052013f, 0.014859f, 0.035924f, -0.017847f, -0.000267f, -0.058113f, 0.008458f, -0.014772f, -0.063422f, -0.002624f, 0.028381f, 0.024190f, 0.010244f, -0.002137f, 0.015730f, -0.043784f, -0.010689f, 0.014903f, -0.020997f, 0.032834f, -0.020253f, -0.008949f, -0.019146f, -0.000428f, -0.020398f, 0.031370f, 0.005845f, -0.025692f, -0.021543f, -0.001543f, -0.000856f, 0.052043f, -0.018294f, 0.018096f, -0.009473f, -0.001561f, 0.011542f, -0.023283f, -0.020029f, 0.002881f, -0.044400f, -0.012940f, 0.013126f, -0.038476f, 0.001880f, -0.007666f, -0.013007f, 0.007495f, 0.024856f, -0.000683f, 0.003747f, -0.013917f, -0.009034f, -0.134905f, -0.042815f, 0.057914f, 0.079289f, 0.065839f, -0.067291f, 0.021454f, -0.187853f, -0.122157f, -0.103808f, -0.016535f, 0.087899f, 0.056570f, -0.004005f, -0.041306f, -0.051047f, 0.024884f, -0.031261f, -0.003198f, - 0.067172f, 0.018310f, 0.003077f, -0.066594f, -0.032134f, -0.006788f, -0.031599f, 0.020342f, -0.005642f, 0.036096f, -0.009549f, -0.000367f, -0.011914f, -0.002148f, -0.008689f, -0.038013f, -0.028866f, -0.063801f, -0.045143f, 0.032596f, 0.062362f, 0.068054f, 0.037774f, 0.059314f, -0.009101f, 0.050477f, -0.011863f, -0.023058f, -0.079743f, -0.003018f, -0.044081f, 0.034168f, 0.012984f, 0.100835f, -0.081430f, 0.028974f, 0.056424f, -0.031048f, -0.043307f, -0.024981f, -0.020229f, -0.020576f, 0.007238f, 0.071669f, 0.045926f, -0.018973f, -0.002751f, 0.051482f, -0.059530f, -0.065587f, 0.027064f, -0.076138f, -0.058791f, -0.051062f, 0.006314f, 0.024905f, 0.029535f, 0.088653f, 0.060062f, -0.009429f, 0.044689f, -0.025590f, 0.001727f, 0.011244f, 0.033098f, 0.053898f, 0.057950f, 0.041049f, 0.033812f, 0.027472f, 0.002262f, -0.074149f, -0.021114f, -0.038182f, -0.009682f, 0.043644f, -0.001945f, 0.006813f, -0.016262f, -0.032870f, 0.003623f, -0.016115f, -0.013583f, -0.035804f, 0.015854f, 0.027326f, -0.012101f, 0.010707f, 0.023908f, 0.013479f, 0.015570f, 0.003033f, 0.015328f, -0.010352f, 0.010524f, -0.004716f, - -0.019013f, 0.014787f, 0.018098f, -0.014591f, -0.021866f, 0.002245f, -0.014792f, -0.025095f, 0.019576f, 0.021473f, 0.008194f, 0.027578f, -0.002508f, -0.024752f, 0.042782f, -0.017575f, -0.161115f, -0.238003f, -0.292118f, -0.230868f, -0.344293f, -0.061108f, -0.125919f, 0.037801f, 0.071957f, 0.248747f, 0.145168f, 0.257691f, 0.262031f, 0.358838f, 0.261849f, 0.266199f, 0.196004f, 0.008165f, -0.057148f, -0.104226f, -0.064208f, -0.214762f, -0.146862f, -0.117020f, -0.119592f, -0.118332f, -0.118111f, -0.114640f, -0.123692f, -0.135705f, -0.101234f, -0.157745f, -0.129051f, -0.112493f, -0.050663f, -0.132592f, -0.041151f, 0.048427f, -0.098585f, -0.047752f, 0.026195f, 0.021340f, -0.083499f, 0.069139f, 0.088908f, 0.112672f, 0.152907f, 0.155444f, -0.012468f, 0.092332f, 0.150302f, 0.213441f, 0.168156f, 0.336346f, 0.315854f, 0.278970f, 0.225984f, 0.286220f, 0.141962f, 0.227834f, 0.277352f, 0.213579f, 0.136472f, 0.231658f, 0.074984f, 0.077678f, 0.142196f, 0.142697f, 0.101228f, 0.029212f, 0.082700f, -0.027833f, 0.004684f, 0.072407f, -0.082952f, -0.208024f, -0.310843f, -0.122941f, -0.425479f, -0.372147f, - -0.327394f, -0.378488f, -0.421138f, -0.352969f, -0.305631f, -0.294770f, -0.203314f, -0.267186f, -0.137354f, -0.169710f, -0.180477f, -0.273459f, -0.221109f, -0.159429f, -0.130706f, -0.110587f, -0.103775f, -0.065028f, 0.025525f, -0.000414f, -0.006504f, 0.076855f, 0.160518f, 0.133980f, 0.135550f, 0.216433f, 0.184883f, 0.192303f, 0.244019f, 0.230291f, 0.195759f, 0.186387f, 0.223400f, 0.190393f, 0.184389f, 0.195917f, 0.203063f, 0.172919f, 0.150959f, 0.139144f, 0.129804f, 0.170025f, 0.133090f, 0.100084f, 0.104340f, 0.078301f, 0.045414f, -0.026972f, -0.056563f, -0.073633f, -0.132445f, -0.112967f, -0.117381f, -0.139271f, -0.147678f, -0.135457f, -0.088667f, -0.098971f, -0.090010f, -0.091014f, -0.047272f, -0.051838f, -0.062948f, -0.042553f, -0.013963f, -0.015065f, -0.029420f, -0.017985f, 0.001851f, -0.009709f, -0.014410f, -0.010791f, -0.000557f, -0.000743f, -0.000813f, 0.000744f, 0.001311f, 0.000232f} - } -}; -const float CRendBin_Combined_BRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][2819]={ - { - {0.009763f, 0.004826f, -0.006570f, 0.009881f, -0.005791f, -0.002002f, 0.000151f, -0.003400f, -0.003805f, -0.007681f, 0.001838f, 0.011624f, 0.001194f, 0.002073f, 0.004945f, 0.001187f, -0.004128f, -0.001297f, -0.002453f, -0.002488f, 0.007055f, 0.001924f, 0.000928f, -0.002418f, 0.001304f, -0.000306f, -0.002679f, -0.004405f, 0.006838f, 0.005246f, 0.000978f, -0.001469f, 0.007930f, -0.011047f, -0.004108f, 0.004685f, -0.004570f, 0.009484f, 0.000974f, 0.006690f, 0.000864f, 0.000762f, 0.004341f, -0.003817f, -0.001583f, -0.000144f, -0.000106f, -0.002982f, -0.002374f, 0.004178f, -0.000209f, -0.010189f, 0.009547f, -0.001355f, 0.001625f, -0.008609f, 0.004085f, -0.003819f, 0.003384f, 0.000247f, -0.000296f, -0.003242f, -0.000332f, -0.004984f, 0.005131f, -0.009678f, -0.001093f, 0.007056f, -0.005603f, 0.002624f, 0.010545f, 0.003199f, 0.001057f, -0.005259f, 0.000556f, 0.002804f, -0.001992f, 0.003516f, -0.002220f, -0.001537f, -0.002978f, 0.003182f, -0.003473f, -0.005549f, 0.001757f, 0.000922f, -0.001396f, 0.006788f, -0.001729f, -0.001473f, -0.001665f, 0.002253f, 0.002466f, -0.000178f, 0.000264f, 0.001227f, - -0.001368f, 0.001216f, -0.002631f, -0.001082f, -0.000443f, -0.000548f, -0.001426f, -0.000049f, -0.000095f, -0.000291f, -0.000845f, -0.000062f, -0.001432f, 0.000753f, -0.000730f, 0.001637f, -0.001088f, 0.001220f, 0.001645f, 0.020362f, 0.003762f, -0.002850f, 0.006224f, -0.003076f, -0.002546f, -0.003260f, -0.001325f, -0.007645f, 0.010824f, 0.006253f, 0.004673f, 0.005031f, 0.004786f, -0.005016f, -0.006759f, 0.009111f, -0.001958f, -0.007069f, -0.013458f, 0.002204f, -0.003984f, 0.004224f, 0.000085f, -0.001142f, -0.003012f, 0.004236f, -0.004986f, -0.002520f, 0.006652f, 0.012636f, 0.003292f, 0.005749f, 0.001096f, 0.006355f, -0.001316f, 0.006761f, 0.004266f, 0.000764f, 0.003782f, 0.000336f, 0.001111f, 0.000348f, 0.009236f, 0.001956f, 0.002430f, -0.002087f, 0.001368f, -0.000655f, -0.001292f, 0.007494f, 0.008579f, -0.003085f, -0.003158f, 0.001729f, 0.007895f, -0.012851f, -0.000674f, -0.003491f, -0.009512f, -0.003872f, 0.001323f, -0.004056f, 0.004228f, 0.003425f, 0.000283f, -0.005801f, 0.002699f, -0.001237f, -0.005548f, 0.007116f, -0.009823f, -0.004645f, -0.010477f, -0.005187f, -0.001489f, 0.001558f, - 0.010569f, -0.004571f, -0.002756f, 0.003266f, -0.001669f, -0.002516f, 0.005005f, -0.000831f, -0.000208f, -0.002289f, -0.003546f, -0.004398f, -0.001175f, 0.003732f, 0.001485f, 0.001813f, 0.001731f, 0.001323f, 0.000131f, -0.000627f, -0.000274f, 0.000296f, 0.002634f, 0.001281f, 0.001386f, -0.000905f, 0.000215f, 0.000903f, 0.000745f, -0.000002f, 0.000168f, 0.000006f, -0.000203f, -0.000366f, -0.001846f, -0.001419f, -0.000960f, 0.001017f, 0.000852f, -0.000416f, 0.006145f, 0.002721f, -0.012411f, -0.001154f, 0.001828f, 0.008837f, -0.002669f, -0.015367f, 0.012384f, -0.014519f, 0.000761f, -0.006326f, -0.005048f, -0.015396f, -0.010259f, -0.005988f, -0.003900f, 0.006378f, 0.002140f, -0.010124f, 0.001428f, -0.005399f, 0.000068f, -0.000324f, 0.004173f, 0.000890f, -0.004445f, 0.000761f, 0.001075f, 0.002531f, -0.003146f, -0.002130f, -0.000951f, -0.004987f, -0.007643f, 0.010372f, 0.004779f, 0.001441f, -0.001438f, 0.008843f, 0.007597f, -0.008643f, 0.002416f, 0.000871f, -0.001673f, -0.005018f, 0.001130f, -0.008930f, 0.001998f, -0.001664f, -0.007349f, 0.009094f, 0.000132f, -0.000660f, 0.011308f, -0.009801f, - 0.008889f, 0.003335f, -0.001349f, -0.007251f, 0.002094f, -0.001011f, -0.007736f, -0.006382f, 0.000030f, -0.002771f, -0.003491f, -0.010612f, 0.000463f, 0.002317f, 0.004963f, -0.003051f, 0.004613f, 0.001455f, -0.001919f, -0.001444f, -0.006332f, 0.005483f, 0.001077f, 0.000839f, -0.010499f, 0.005528f, -0.000958f, 0.000786f, -0.005446f, 0.000210f, -0.009651f, 0.001210f, 0.002011f, 0.001338f, -0.000879f, 0.000989f, -0.000239f, 0.000115f, -0.001727f, 0.000571f, -0.000554f, 0.002161f, 0.001152f, 0.000926f, 0.001895f, 0.000078f, 0.000608f, 0.002012f, 0.001118f, -0.001308f, -0.000615f, 0.003166f, -0.001165f, 0.000670f, -0.001136f, 0.001217f, -0.003641f, -0.000836f, -0.001160f, 0.001522f, -0.000714f, -0.022861f, -0.021660f, 0.008398f, 0.014326f, 0.008683f, -0.019512f, 0.013897f, -0.004725f, -0.001770f, 0.001222f, -0.009028f, -0.006866f, 0.016395f, -0.000236f, -0.000020f, 0.001238f, -0.000383f, 0.005343f, -0.008144f, 0.004943f, -0.004311f, 0.004430f, 0.007510f, -0.004980f, -0.001341f, 0.004340f, -0.001243f, 0.007816f, -0.002430f, 0.003393f, 0.000686f, -0.000803f, 0.000661f, -0.006673f, -0.009267f, - 0.008749f, 0.001150f, -0.001692f, 0.000080f, -0.008698f, -0.010815f, -0.000307f, 0.000212f, 0.005630f, -0.010054f, -0.008579f, -0.001827f, -0.017877f, 0.006941f, -0.001414f, 0.003648f, -0.001379f, -0.004301f, 0.002728f, 0.022899f, 0.012704f, 0.006647f, -0.006868f, 0.009026f, -0.000109f, -0.011759f, 0.000028f, -0.012274f, 0.010425f, 0.001438f, 0.001226f, -0.006993f, 0.000059f, 0.007138f, 0.002607f, 0.001427f, 0.000887f, 0.000798f, 0.007659f, 0.005346f, 0.000976f, 0.005208f, 0.003087f, 0.004159f, 0.011213f, 0.004658f, 0.005511f, -0.005204f, 0.004206f, 0.003143f, -0.001356f, 0.008845f, 0.002672f, -0.000027f, -0.000810f, 0.002640f, 0.004690f, 0.000574f, -0.000075f, -0.001749f, 0.001115f, 0.003880f, 0.002126f, -0.000887f, 0.000364f, -0.003192f, 0.000896f, 0.000800f, -0.001443f, 0.000307f, -0.000220f, -0.000064f, 0.002151f, -0.000423f, 0.002245f, 0.003113f, 0.001100f, -0.001834f, -0.003546f, 0.000575f, -0.002245f, 0.001694f, 0.001506f, -0.002241f, 0.000890f, -0.032844f, -0.002500f, -0.007901f, -0.001149f, -0.005490f, -0.018632f, -0.000794f, -0.005012f, -0.007682f, -0.017467f, -0.002155f, - 0.012401f, -0.008668f, 0.008157f, -0.001446f, 0.011501f, -0.003899f, 0.009344f, -0.003082f, -0.009255f, -0.002485f, 0.000993f, -0.004061f, -0.008322f, -0.006688f, -0.008181f, 0.000262f, -0.007465f, 0.002718f, 0.000879f, 0.000744f, 0.003529f, -0.005617f, -0.007521f, 0.010846f, -0.000992f, 0.003214f, 0.000110f, -0.008521f, -0.005406f, -0.006017f, 0.000290f, -0.004321f, 0.007561f, 0.007685f, 0.001267f, -0.010438f, -0.003423f, 0.019189f, 0.004772f, -0.008123f, -0.006462f, -0.004115f, -0.007118f, -0.003765f, 0.014991f, 0.009120f, -0.010890f, 0.006656f, 0.008841f, 0.013053f, -0.003373f, 0.005303f, -0.000806f, 0.000111f, -0.005291f, -0.010877f, -0.001972f, 0.008017f, 0.000821f, 0.015532f, 0.011020f, 0.000733f, 0.003604f, 0.013100f, -0.010441f, -0.004787f, -0.003083f, -0.006432f, 0.004615f, 0.002027f, 0.002115f, -0.005638f, 0.003824f, -0.004097f, 0.004239f, -0.008015f, -0.000377f, -0.000743f, -0.003147f, -0.000197f, -0.000690f, 0.003935f, 0.001074f, 0.000882f, -0.003437f, -0.002324f, -0.001110f, -0.003237f, -0.000140f, -0.004669f, -0.002719f, 0.000189f, -0.000365f, 0.002909f, -0.001987f, 0.000796f, - -0.000962f, 0.001583f, 0.001142f, 0.004025f, -0.003328f, 0.042097f, 0.028257f, -0.008700f, -0.001586f, 0.000109f, -0.001146f, -0.004810f, 0.005880f, 0.014416f, 0.012167f, 0.006323f, -0.022083f, -0.009809f, 0.002840f, 0.001288f, 0.009385f, -0.016618f, 0.003361f, 0.022546f, 0.015172f, -0.002582f, 0.005406f, -0.001974f, -0.007610f, -0.010386f, 0.000580f, -0.008849f, -0.005167f, 0.002599f, 0.006999f, -0.006484f, -0.012088f, -0.005739f, 0.002078f, 0.011107f, 0.015501f, -0.002945f, -0.016394f, -0.003463f, -0.005863f, -0.016443f, -0.000993f, -0.000492f, -0.007897f, 0.002726f, 0.004429f, 0.009619f, -0.013800f, 0.005642f, 0.007112f, 0.001557f, -0.013346f, -0.009906f, 0.004541f, 0.000589f, 0.003459f, -0.001450f, -0.001311f, -0.000458f, -0.007402f, 0.003650f, 0.003856f, -0.005161f, 0.009254f, 0.010959f, 0.014973f, 0.003600f, 0.001114f, 0.014117f, 0.022999f, 0.003678f, 0.003140f, 0.003925f, 0.013521f, 0.001536f, 0.007997f, 0.022718f, 0.006731f, 0.004188f, 0.000618f, -0.004288f, -0.019423f, 0.002599f, -0.000531f, -0.003152f, -0.003728f, 0.002389f, -0.002708f, 0.004799f, 0.002119f, -0.002568f, - -0.001431f, -0.000657f, 0.003899f, 0.002493f, -0.001100f, -0.000756f, 0.002647f, 0.005770f, 0.000024f, -0.001448f, 0.001995f, 0.000220f, -0.002717f, -0.005368f, 0.003874f, -0.005055f, 0.003059f, 0.002134f, 0.003726f, -0.000254f, -0.000651f, 0.000077f, 0.001198f, -0.007051f, 0.000176f, 0.001027f, -0.000698f, 0.022154f, 0.000490f, 0.004617f, 0.005389f, 0.010684f, -0.004165f, 0.006804f, -0.005756f, -0.003672f, -0.018250f, 0.007284f, 0.012474f, -0.011292f, 0.009469f, -0.004673f, -0.015989f, 0.016658f, 0.009894f, -0.002967f, 0.010004f, 0.019508f, 0.013689f, -0.010062f, -0.005596f, 0.009834f, 0.003136f, -0.002221f, 0.007601f, 0.006949f, 0.010162f, 0.000642f, -0.004407f, -0.008699f, -0.015419f, -0.000507f, -0.012793f, 0.001579f, -0.004146f, 0.007164f, -0.010167f, -0.023455f, 0.005192f, -0.005818f, 0.010859f, 0.002729f, 0.000883f, -0.006492f, -0.013784f, -0.011595f, -0.001060f, -0.001187f, -0.010385f, 0.014674f, 0.019022f, 0.019709f, 0.008005f, -0.014114f, -0.001204f, 0.018674f, 0.001836f, -0.003221f, 0.008734f, -0.002444f, -0.004668f, -0.017729f, 0.009806f, 0.005136f, 0.025733f, 0.011877f, - -0.017417f, 0.005861f, 0.006601f, -0.001849f, -0.000282f, 0.006236f, -0.004209f, 0.001430f, -0.007443f, -0.018386f, 0.016657f, 0.003040f, 0.009945f, 0.004799f, -0.008627f, 0.014068f, -0.003082f, 0.003353f, 0.000800f, -0.003111f, 0.000579f, 0.000431f, 0.001161f, 0.007361f, 0.002480f, 0.001406f, 0.000678f, -0.002514f, -0.002916f, -0.003844f, -0.002229f, 0.002539f, -0.001174f, -0.000192f, -0.001423f, 0.002327f, -0.002108f, -0.001125f, 0.000270f, -0.000280f, 0.001035f, -0.004053f, 0.004761f, -0.001982f, 0.004196f, 0.001371f, -0.002117f, -0.002673f, 0.005904f, -0.005346f, 0.004751f, -0.001295f, -0.006824f, -0.011383f, -0.003071f, -0.002906f, -0.019650f, 0.000986f, 0.002413f, 0.009838f, -0.003715f, -0.008465f, 0.003528f, 0.001077f, 0.004652f, 0.000159f, 0.010678f, 0.004294f, 0.007376f, 0.001266f, -0.000822f, 0.006354f, 0.003716f, -0.019340f, -0.005977f, -0.027651f, 0.001256f, -0.005146f, 0.003199f, 0.004917f, 0.000374f, 0.013235f, 0.003368f, 0.018892f, 0.002324f, -0.022425f, 0.000461f, -0.009012f, -0.003709f, -0.001047f, -0.003362f, -0.001134f, -0.017788f, 0.003893f, -0.008561f, 0.021455f, - -0.022245f, 0.012369f, -0.004829f, -0.018985f, -0.003550f, -0.013342f, -0.002870f, -0.004046f, -0.020216f, 0.005829f, 0.006203f, -0.003679f, -0.003338f, -0.001265f, 0.007166f, -0.016038f, 0.000418f, 0.015092f, 0.002794f, 0.020985f, 0.034234f, 0.014169f, -0.030983f, -0.041336f, 0.020078f, 0.009019f, 0.030908f, -0.006369f, 0.014839f, 0.003200f, 0.014738f, 0.020650f, 0.026566f, -0.014081f, 0.007674f, 0.019791f, -0.016161f, 0.003047f, -0.002062f, -0.001997f, 0.001505f, 0.014144f, -0.002132f, 0.004858f, -0.009120f, 0.003347f, -0.007027f, -0.007395f, -0.003262f, -0.006170f, 0.001045f, -0.003621f, -0.010415f, -0.000345f, 0.006946f, 0.004350f, -0.001918f, -0.001890f, -0.001528f, 0.000195f, 0.003247f, 0.003432f, -0.002672f, -0.004025f, -0.001776f, 0.006046f, -0.001441f, 0.005860f, 0.000949f, 0.000904f, -0.001446f, 0.001460f, 0.001752f, 0.000543f, 0.001639f, 0.000337f, -0.004905f, -0.004753f, -0.003092f, 0.001600f, 0.005021f, -0.006967f, -0.004638f, -0.002156f, 0.002952f, -0.003241f, -0.037832f, 0.028247f, 0.005249f, -0.005034f, -0.000503f, -0.017184f, -0.014002f, 0.014724f, -0.003909f, -0.004851f, - 0.015367f, -0.011424f, -0.012191f, 0.000642f, 0.015287f, 0.006439f, -0.004841f, 0.000413f, -0.008636f, -0.001213f, 0.001279f, 0.008123f, 0.000445f, -0.019393f, -0.019154f, 0.004289f, -0.002488f, 0.004599f, -0.001833f, 0.007694f, 0.015047f, 0.027842f, -0.000341f, 0.017255f, -0.004158f, 0.004841f, 0.012026f, -0.011648f, 0.022869f, -0.003322f, -0.014043f, -0.020041f, -0.003711f, -0.016638f, -0.020805f, -0.005845f, 0.009753f, -0.006525f, -0.016132f, 0.008055f, 0.011700f, 0.018038f, 0.023503f, -0.019133f, 0.007395f, -0.005378f, -0.017412f, 0.006516f, -0.019475f, -0.003668f, -0.031879f, 0.012729f, -0.009413f, 0.004687f, -0.005624f, 0.004994f, -0.034277f, -0.034365f, -0.020676f, -0.008104f, 0.019198f, -0.018509f, 0.036308f, -0.012790f, 0.003763f, -0.003401f, 0.006913f, -0.003331f, -0.025398f, 0.003677f, 0.003172f, 0.006957f, 0.006129f, 0.002976f, 0.010105f, -0.005706f, -0.008576f, 0.000016f, 0.000608f, -0.008561f, 0.004095f, -0.011012f, 0.006443f, 0.003674f, 0.005269f, -0.001632f, 0.000247f, -0.003374f, -0.008257f, -0.006190f, -0.003244f, -0.003849f, 0.005898f, -0.003819f, -0.010012f, 0.003540f, - 0.004653f, -0.001902f, 0.007234f, -0.000596f, -0.001780f, -0.000049f, 0.001929f, -0.003000f, -0.002636f, 0.003698f, 0.005350f, 0.003777f, 0.002017f, -0.007477f, -0.005027f, -0.001622f, -0.005602f, 0.002199f, 0.000894f, -0.000070f, -0.004983f, 0.031777f, 0.002058f, 0.011874f, 0.008615f, 0.003174f, 0.018831f, 0.002376f, -0.025900f, 0.012376f, 0.003938f, 0.011807f, -0.000991f, -0.019522f, 0.027843f, 0.014750f, 0.011550f, -0.002820f, -0.008194f, 0.003352f, -0.001825f, -0.015538f, 0.010121f, 0.006717f, -0.008336f, 0.010896f, 0.017787f, 0.000247f, 0.006817f, 0.017291f, -0.018877f, 0.004348f, -0.006232f, 0.007628f, -0.035677f, 0.010719f, 0.017455f, -0.006268f, 0.004789f, 0.017054f, 0.009442f, 0.000027f, 0.005909f, -0.018212f, 0.004817f, -0.010828f, 0.001000f, 0.004941f, 0.003039f, -0.008467f, 0.034556f, -0.006454f, -0.006319f, -0.008316f, -0.029779f, -0.012463f, -0.018170f, -0.021590f, -0.003902f, 0.029228f, 0.032620f, -0.003515f, 0.010215f, 0.012643f, -0.026883f, -0.009095f, 0.022208f, 0.017828f, -0.010556f, -0.007951f, -0.026472f, -0.009035f, -0.009889f, -0.013231f, -0.014843f, 0.003635f, - -0.027009f, 0.004099f, 0.025757f, 0.035316f, 0.011199f, -0.010898f, -0.000524f, 0.018543f, -0.006416f, -0.013286f, 0.001465f, -0.002058f, -0.005452f, -0.009058f, 0.001492f, -0.001303f, 0.004448f, 0.005238f, 0.003501f, -0.003505f, 0.001870f, 0.002592f, 0.002582f, -0.000933f, -0.004993f, -0.011852f, 0.003482f, -0.001149f, -0.004435f, 0.008216f, 0.002943f, 0.004409f, -0.004627f, 0.006902f, -0.004973f, -0.004451f, -0.005626f, 0.005367f, 0.001397f, 0.003836f, 0.008832f, -0.001221f, -0.004192f, -0.002873f, 0.004552f, 0.001443f, -0.000132f, -0.000270f, 0.001435f, 0.000731f, -0.000251f, -0.002247f, 0.004625f, 0.005346f, 0.007447f, -0.002924f, -0.010066f, 0.006291f, 0.001700f, -0.013404f, -0.019826f, -0.021354f, -0.008491f, -0.020877f, -0.008637f, -0.008467f, 0.000381f, -0.019858f, 0.004499f, 0.008365f, 0.000985f, -0.022664f, 0.007118f, -0.028116f, 0.008765f, 0.015718f, 0.000525f, 0.024424f, 0.000824f, -0.007237f, -0.004366f, 0.016487f, -0.005827f, 0.022686f, 0.008167f, -0.007802f, -0.007656f, 0.004032f, -0.011434f, -0.006192f, 0.000979f, 0.021474f, -0.000585f, 0.011379f, 0.006582f, 0.002004f, - 0.015182f, -0.006677f, -0.013627f, 0.006180f, -0.009710f, -0.004508f, -0.026760f, 0.015244f, -0.009290f, -0.007879f, -0.005282f, -0.029602f, 0.035692f, 0.009299f, -0.004048f, 0.015558f, 0.005249f, 0.007624f, -0.015530f, -0.023538f, -0.026697f, -0.012882f, 0.001605f, -0.027065f, 0.010344f, 0.019806f, -0.030268f, -0.011014f, 0.011396f, -0.013913f, 0.007578f, 0.033992f, 0.001307f, -0.005364f, -0.008777f, 0.007775f, -0.018186f, 0.012176f, 0.006739f, -0.016490f, 0.005690f, 0.011941f, -0.006467f, -0.019546f, -0.016581f, -0.008672f, -0.000378f, 0.005525f, 0.004850f, 0.003824f, -0.003167f, -0.004782f, -0.002181f, 0.004488f, 0.000504f, -0.002638f, -0.010851f, -0.013117f, -0.003351f, 0.001058f, -0.009195f, -0.011214f, -0.007566f, -0.004627f, -0.004050f, -0.009817f, -0.008302f, -0.004477f, -0.005901f, -0.012571f, 0.002516f, 0.012097f, -0.000902f, -0.000968f, -0.004480f, -0.003460f, 0.004295f, -0.004330f, 0.001228f, -0.009873f, 0.000695f, -0.002751f, -0.005062f, 0.000138f, -0.004722f, 0.003287f, 0.005020f, -0.004054f, 0.007421f, -0.004781f, -0.001580f, -0.004946f, -0.000028f, 0.000972f, 0.021754f, 0.053626f, - 0.056697f, 0.016941f, 0.035263f, -0.024177f, -0.024062f, -0.005802f, -0.003369f, 0.001891f, 0.008186f, 0.017885f, 0.032668f, 0.010491f, 0.030257f, 0.003173f, 0.009329f, 0.004317f, -0.008044f, 0.013547f, -0.000100f, 0.005303f, 0.002587f, -0.015456f, -0.001628f, -0.008370f, -0.016299f, -0.010495f, 0.000542f, 0.001481f, -0.021698f, -0.009231f, 0.027982f, 0.019777f, 0.014688f, 0.023274f, -0.014240f, -0.000028f, -0.039966f, 0.001688f, 0.034869f, -0.006933f, -0.006575f, 0.003966f, -0.003397f, 0.026864f, -0.001832f, -0.004704f, 0.021180f, -0.025083f, -0.040006f, -0.016453f, 0.003936f, -0.021886f, 0.016373f, 0.022247f, -0.031422f, -0.012229f, 0.000612f, -0.000796f, -0.045231f, -0.029234f, 0.014969f, 0.006098f, -0.003046f, 0.014467f, -0.019523f, -0.012416f, -0.027775f, 0.006485f, 0.009430f, 0.002126f, 0.002343f, -0.018918f, -0.030643f, 0.025462f, -0.041803f, 0.012116f, -0.015053f, 0.040086f, 0.004616f, 0.016584f, -0.011061f, -0.016141f, 0.012140f, 0.005221f, 0.018521f, -0.017428f, -0.002648f, 0.012021f, -0.000340f, -0.009757f, -0.008414f, -0.009597f, 0.001385f, 0.009186f, 0.010854f, -0.011827f, - -0.004328f, -0.002120f, -0.014924f, -0.005719f, 0.003329f, -0.001926f, 0.001881f, -0.008322f, -0.013015f, -0.002163f, 0.000893f, 0.010384f, 0.003847f, -0.006807f, 0.008766f, 0.001168f, 0.004747f, -0.015176f, 0.003638f, -0.009158f, 0.007678f, 0.001083f, 0.008103f, 0.011774f, 0.004321f, -0.008665f, -0.016212f, 0.005038f, 0.006272f, -0.052489f, -0.037749f, 0.026148f, -0.005445f, 0.047546f, -0.011585f, 0.039143f, -0.031484f, 0.000948f, 0.014079f, -0.003119f, 0.001703f, 0.004598f, -0.002439f, -0.023633f, 0.008305f, 0.008892f, 0.010359f, 0.011778f, -0.007256f, 0.019426f, -0.017639f, -0.013035f, -0.010078f, 0.027324f, -0.015070f, -0.005083f, 0.002462f, -0.000570f, -0.014175f, 0.012184f, -0.015818f, -0.018843f, -0.035508f, 0.003241f, 0.006521f, -0.024123f, -0.011245f, 0.011620f, -0.004873f, 0.006210f, 0.001939f, 0.028052f, 0.001962f, 0.021113f, 0.009425f, 0.000909f, 0.016928f, 0.003844f, 0.005870f, -0.031818f, 0.032779f, 0.011607f, 0.025685f, -0.015603f, 0.006827f, -0.017077f, 0.026646f, 0.020209f, 0.032507f, 0.005182f, -0.008499f, -0.023620f, -0.001457f, 0.004166f, -0.020092f, 0.028560f, - 0.004620f, 0.004442f, 0.030770f, 0.006882f, -0.009200f, -0.012280f, -0.000983f, 0.018283f, 0.022087f, -0.007176f, 0.027541f, -0.032929f, -0.034478f, -0.015098f, 0.008045f, -0.010518f, 0.015072f, -0.003752f, 0.008106f, 0.026364f, -0.001144f, 0.013086f, -0.010946f, -0.010039f, 0.011562f, -0.001016f, 0.018526f, -0.005716f, -0.000082f, -0.005678f, -0.011381f, 0.002314f, -0.006679f, -0.002675f, 0.007663f, 0.002588f, -0.010336f, -0.009517f, 0.005602f, 0.013994f, 0.014578f, -0.001473f, 0.011953f, 0.012909f, -0.018052f, 0.008442f, 0.017186f, 0.013460f, 0.007661f, -0.013533f, -0.016318f, -0.017097f, -0.017152f, -0.017108f, 0.001506f, -0.005978f, -0.002319f, 0.001927f, -0.012515f, 0.008934f, 0.008194f, -0.006491f, 0.009738f, 0.003422f, 0.004655f, -0.011993f, 0.024190f, -0.057049f, -0.002593f, 0.029730f, -0.018988f, -0.006334f, 0.021919f, -0.023743f, -0.048229f, 0.009612f, 0.008223f, 0.007501f, -0.006264f, -0.028508f, 0.007239f, 0.008144f, 0.002194f, 0.015883f, -0.051089f, 0.023510f, -0.011828f, 0.012262f, -0.029083f, 0.023763f, -0.036811f, -0.023488f, 0.014380f, -0.009596f, -0.004222f, -0.027960f, - 0.022099f, 0.029065f, 0.000003f, 0.003313f, -0.013251f, 0.043571f, 0.010877f, 0.011951f, -0.007798f, -0.037525f, -0.007984f, 0.020890f, -0.003671f, 0.031216f, 0.000384f, -0.011150f, 0.007635f, -0.002044f, 0.019645f, -0.037090f, -0.004352f, -0.028408f, 0.031029f, -0.011346f, 0.010512f, -0.000705f, -0.000933f, -0.033573f, -0.011675f, 0.029817f, 0.009654f, 0.002837f, -0.008739f, 0.001069f, 0.003987f, -0.043042f, -0.044566f, 0.047886f, -0.020947f, -0.051558f, 0.021296f, 0.024693f, -0.041448f, -0.054302f, -0.037815f, -0.036310f, 0.006747f, 0.014750f, -0.004303f, -0.034877f, -0.000869f, -0.018547f, -0.008571f, -0.025203f, -0.001134f, 0.002833f, 0.002858f, -0.004805f, 0.024422f, -0.012808f, 0.009800f, -0.010822f, -0.000226f, 0.006916f, -0.005807f, -0.000627f, -0.013916f, 0.019158f, -0.004042f, 0.006945f, -0.010089f, -0.014900f, -0.002784f, 0.007740f, 0.008846f, 0.003019f, -0.014453f, 0.009183f, -0.001715f, -0.011544f, 0.012091f, -0.017663f, -0.003162f, -0.010760f, 0.018579f, -0.007541f, -0.019636f, 0.009198f, -0.007489f, -0.008208f, -0.026216f, -0.000929f, 0.006488f, 0.022889f, 0.009676f, -0.012710f, - -0.006250f, 0.002744f, -0.003050f, -0.006494f, 0.004677f, -0.000464f, -0.004553f, -0.004434f, -0.001183f, 0.022822f, -0.031766f, -0.016974f, -0.033193f, -0.002556f, 0.006202f, -0.043461f, 0.006525f, -0.021016f, 0.060580f, 0.003682f, -0.055498f, -0.012169f, 0.026124f, 0.016768f, 0.012463f, 0.028163f, 0.027291f, -0.039204f, -0.010675f, -0.014877f, 0.036647f, -0.012605f, 0.042876f, 0.000417f, -0.025659f, -0.019509f, -0.039406f, -0.044044f, 0.002059f, 0.005665f, -0.007875f, -0.022458f, -0.010374f, 0.003490f, 0.006446f, 0.015778f, -0.022397f, 0.011561f, -0.026235f, -0.029616f, 0.005252f, -0.005918f, -0.008661f, -0.030900f, -0.030435f, -0.013823f, -0.009849f, 0.043195f, 0.003294f, 0.014868f, 0.023321f, -0.000204f, 0.052992f, 0.022286f, -0.018551f, 0.003314f, 0.026950f, -0.010244f, 0.034296f, -0.008640f, 0.003699f, 0.002979f, -0.048175f, -0.048029f, 0.006479f, 0.034540f, 0.000019f, -0.010021f, -0.053823f, 0.003991f, 0.017428f, 0.011976f, -0.018948f, -0.014265f, -0.011286f, 0.007069f, -0.023670f, 0.056983f, 0.031082f, 0.035166f, 0.006134f, -0.039244f, 0.013750f, 0.018747f, 0.055435f, 0.013531f, - 0.005005f, 0.023135f, 0.008898f, -0.008589f, -0.000226f, 0.017861f, -0.002344f, 0.002930f, 0.004852f, -0.013681f, -0.010739f, 0.017383f, -0.000265f, -0.013003f, 0.016946f, -0.010397f, -0.004812f, -0.007833f, -0.008902f, 0.016297f, -0.010898f, -0.003978f, 0.007589f, -0.016378f, 0.006379f, -0.000980f, -0.010430f, 0.021294f, -0.008224f, 0.000559f, -0.027199f, 0.016714f, -0.008826f, -0.006342f, -0.017802f, -0.023679f, 0.003092f, -0.009225f, 0.016312f, -0.000012f, 0.009378f, 0.007056f, -0.000355f, -0.009557f, -0.000458f, -0.026399f, -0.024087f, 0.050858f, -0.015778f, -0.018823f, -0.002710f, -0.014006f, -0.034658f, 0.000753f, 0.023923f, -0.059409f, -0.001061f, 0.015431f, 0.018920f, -0.020253f, 0.013417f, -0.034012f, 0.002557f, -0.008771f, 0.010581f, -0.030463f, 0.018899f, -0.051878f, 0.008429f, 0.001432f, 0.029313f, 0.027654f, 0.013675f, -0.019375f, 0.021512f, -0.006317f, 0.024036f, -0.026271f, 0.004054f, 0.030766f, 0.024283f, -0.014445f, 0.004904f, 0.000772f, -0.006931f, 0.014923f, -0.005920f, -0.017916f, -0.020085f, 0.014227f, -0.036191f, 0.023819f, 0.005433f, -0.038683f, 0.036301f, 0.034870f, - 0.032675f, 0.011831f, -0.017204f, 0.042201f, 0.004918f, 0.018125f, -0.026084f, -0.022511f, -0.025017f, 0.007697f, 0.009457f, 0.015107f, -0.035038f, 0.003363f, 0.025446f, -0.066941f, 0.002311f, -0.022003f, 0.041733f, 0.027020f, 0.020845f, -0.005953f, 0.027578f, -0.026277f, -0.001615f, -0.018310f, -0.040485f, -0.001730f, -0.037309f, -0.031045f, 0.017883f, 0.049401f, -0.046743f, -0.011075f, -0.008771f, 0.049590f, -0.012562f, 0.021660f, -0.014530f, -0.008769f, -0.002210f, 0.017502f, -0.010697f, -0.004394f, 0.001108f, 0.011898f, 0.008478f, 0.006221f, -0.006960f, 0.001741f, 0.004831f, 0.024511f, -0.019820f, 0.020437f, -0.004838f, 0.014924f, -0.000352f, 0.003899f, 0.004838f, 0.009354f, -0.013273f, -0.003017f, -0.002906f, -0.016102f, -0.014718f, -0.014305f, 0.009415f, 0.007799f, -0.003360f, -0.006495f, -0.008695f, -0.011323f, -0.007402f, 0.000797f, -0.005455f, -0.000262f, 0.014322f, -0.000497f, -0.027600f, 0.012566f, -0.016368f, -0.002581f, 0.044219f, 0.009597f, 0.022390f, -0.063714f, 0.029534f, -0.035613f, 0.048237f, -0.004746f, 0.018755f, 0.036654f, -0.039525f, 0.070493f, 0.050453f, 0.038191f, - -0.017368f, 0.010394f, 0.048193f, -0.011972f, -0.015605f, -0.011112f, -0.002641f, -0.036313f, 0.009552f, -0.019244f, -0.044349f, 0.042998f, 0.014050f, 0.011945f, 0.005241f, 0.010107f, 0.016450f, 0.045261f, 0.009334f, -0.027925f, -0.002547f, -0.028983f, 0.005623f, 0.004412f, -0.051460f, -0.001982f, 0.027775f, 0.002240f, -0.003836f, -0.015452f, 0.054371f, 0.011450f, 0.023056f, 0.012222f, -0.029618f, -0.020823f, -0.016269f, 0.034109f, 0.019829f, -0.006568f, 0.020383f, -0.002804f, -0.037332f, 0.036265f, 0.004198f, 0.041539f, 0.004379f, 0.004479f, 0.000625f, -0.054608f, 0.007278f, 0.001688f, 0.005869f, 0.034330f, -0.013685f, 0.053893f, -0.081748f, -0.014244f, 0.060604f, -0.024389f, 0.019905f, -0.027524f, -0.043622f, -0.034722f, 0.024970f, -0.023654f, 0.023263f, -0.037319f, -0.008268f, 0.006579f, -0.009480f, -0.014514f, -0.004985f, -0.004163f, 0.016155f, 0.038038f, 0.003751f, 0.022684f, -0.007572f, -0.003495f, 0.027306f, -0.003732f, -0.008119f, 0.007909f, -0.014030f, 0.012538f, 0.023735f, -0.015737f, -0.002717f, -0.005950f, 0.004128f, 0.004812f, 0.011117f, 0.042982f, -0.008021f, 0.015352f, - 0.000494f, 0.010583f, 0.015230f, 0.008122f, 0.002116f, 0.024098f, 0.025402f, -0.006815f, -0.003900f, 0.010977f, 0.005282f, 0.009560f, -0.033349f, -0.002352f, 0.031096f, -0.006637f, 0.006216f, 0.012732f, -0.002060f, 0.032399f, 0.011428f, -0.066026f, -0.078991f, -0.006983f, -0.037021f, 0.005011f, 0.022497f, -0.031617f, 0.009234f, -0.048291f, 0.021015f, -0.026600f, -0.132016f, -0.008505f, 0.080555f, -0.034723f, -0.014916f, 0.080927f, -0.018977f, 0.004361f, 0.096977f, -0.023205f, 0.021459f, 0.009065f, -0.014140f, 0.078079f, -0.062849f, -0.008120f, -0.001692f, -0.011064f, -0.012625f, -0.012874f, -0.001532f, 0.025430f, -0.014279f, -0.042607f, 0.000519f, 0.000851f, 0.012631f, 0.015533f, 0.002863f, 0.035064f, -0.001295f, 0.016136f, -0.009521f, -0.042273f, 0.029522f, -0.005190f, -0.043465f, 0.001671f, 0.025166f, 0.076911f, 0.038972f, 0.064657f, 0.001430f, 0.015922f, 0.030936f, 0.007296f, -0.003697f, 0.060446f, -0.003106f, -0.023543f, 0.070839f, 0.012370f, 0.012592f, 0.000518f, -0.009894f, 0.040438f, 0.000078f, -0.023502f, -0.026452f, -0.005482f, -0.005157f, 0.061227f, -0.041423f, 0.005380f, - 0.007982f, -0.010863f, 0.071990f, 0.000622f, -0.045876f, 0.007743f, 0.023602f, -0.033753f, -0.001504f, 0.034448f, 0.028522f, -0.017340f, 0.002855f, -0.019598f, 0.016715f, -0.005254f, 0.002411f, -0.019282f, 0.018109f, 0.000276f, -0.001820f, -0.028037f, 0.011777f, 0.009647f, -0.018149f, 0.001499f, 0.006815f, -0.009400f, -0.006068f, 0.021768f, 0.003571f, 0.012176f, -0.007784f, 0.006447f, 0.037794f, -0.034043f, -0.015357f, -0.011098f, 0.040865f, 0.015262f, 0.021741f, -0.024444f, -0.022212f, -0.009000f, -0.002461f, -0.029656f, -0.033209f, 0.040275f, 0.016475f, -0.023377f, -0.021670f, -0.013241f, 0.000050f, -0.023162f, -0.020177f, 0.000530f, 0.006512f, 0.015464f, -0.003603f, -0.007206f, 0.003955f, 0.044871f, 0.036233f, -0.074052f, -0.036167f, 0.056851f, -0.010450f, -0.055515f, -0.000487f, 0.001096f, 0.020112f, 0.060115f, 0.053531f, -0.033015f, 0.009922f, -0.007547f, 0.000488f, -0.000634f, -0.034639f, 0.052124f, -0.015488f, -0.034312f, 0.012191f, -0.024661f, 0.029670f, 0.002501f, 0.042188f, -0.013099f, -0.040011f, -0.036273f, 0.031964f, -0.015493f, 0.041611f, -0.011285f, 0.026954f, -0.027480f, - -0.021272f, -0.013133f, 0.002980f, -0.034468f, 0.008420f, 0.001691f, 0.000559f, 0.033445f, -0.000394f, 0.011086f, -0.023330f, 0.016511f, -0.036817f, 0.039270f, -0.035420f, 0.023286f, 0.011894f, 0.032987f, -0.055432f, 0.001754f, 0.004653f, -0.016891f, -0.040058f, -0.067979f, -0.011368f, -0.058031f, -0.022277f, -0.046470f, -0.021600f, -0.084810f, -0.026331f, 0.038267f, 0.048629f, 0.026332f, 0.028302f, -0.004727f, 0.030750f, -0.060472f, -0.013811f, 0.009206f, 0.038944f, 0.010595f, -0.082983f, -0.003430f, -0.036491f, -0.024438f, 0.096986f, 0.065040f, -0.046011f, -0.018880f, -0.032315f, 0.010653f, -0.085520f, 0.005094f, 0.017826f, -0.024602f, -0.025386f, 0.015391f, 0.004980f, 0.000663f, -0.016433f, -0.014576f, -0.014076f, -0.014416f, 0.026674f, 0.024323f, -0.001762f, -0.007022f, -0.026332f, -0.030369f, -0.006431f, -0.007731f, 0.010160f, 0.025939f, -0.050981f, -0.004030f, 0.025489f, -0.000273f, 0.032622f, -0.011562f, -0.031277f, 0.016714f, 0.035261f, 0.017658f, -0.021214f, 0.002421f, 0.032629f, -0.041751f, -0.029638f, 0.054950f, 0.003005f, -0.002080f, -0.005641f, 0.008548f, 0.012671f, 0.016553f, - -0.006976f, -0.013627f, -0.097628f, 0.028567f, 0.015205f, -0.051275f, 0.020149f, 0.019152f, -0.037379f, -0.028542f, 0.043719f, 0.005523f, 0.023233f, -0.011706f, 0.028859f, -0.009142f, -0.004693f, 0.022903f, 0.010921f, 0.007568f, 0.000517f, -0.015330f, -0.026603f, -0.016058f, 0.041327f, -0.014524f, -0.036064f, 0.061193f, 0.037636f, 0.004928f, 0.027761f, 0.008372f, -0.031693f, -0.093219f, 0.038094f, -0.003009f, -0.050560f, 0.042448f, -0.004612f, -0.067909f, -0.057352f, -0.029623f, 0.044517f, 0.018050f, 0.046146f, 0.058459f, 0.017286f, -0.047003f, 0.014780f, 0.017098f, -0.060170f, -0.009542f, 0.033692f, -0.018585f, -0.065553f, -0.049464f, -0.079879f, -0.050670f, -0.011664f, 0.050570f, 0.072820f, 0.035339f, -0.004959f, 0.050430f, -0.012671f, -0.122968f, -0.097795f, 0.021664f, -0.049332f, -0.058160f, 0.083564f, 0.011296f, -0.112687f, -0.086767f, 0.029616f, 0.005466f, 0.019169f, 0.042140f, 0.100728f, 0.058114f, -0.008549f, 0.112564f, 0.035736f, -0.117462f, 0.001004f, -0.024778f, 0.060853f, 0.018631f, -0.038690f, 0.019280f, -0.029045f, -0.016861f, -0.025265f, 0.038676f, -0.007091f, 0.028396f, - 0.023489f, 0.030734f, -0.006778f, -0.029981f, -0.009859f, 0.021376f, -0.013090f, 0.018061f, 0.011362f, 0.013165f, -0.026377f, 0.003675f, 0.010704f, 0.001073f, 0.047485f, -0.001063f, 0.021113f, 0.005242f, -0.007829f, 0.025967f, 0.006147f, -0.003154f, 0.028241f, -0.012838f, -0.004274f, 0.017943f, 0.007124f, -0.001977f, -0.011411f, -0.015266f, 0.001849f, -0.017614f, -0.013620f, 0.010645f, 0.013608f, 0.092404f, 0.089382f, -0.027976f, 0.031039f, -0.036510f, 0.022299f, 0.001447f, 0.012849f, -0.043547f, 0.003360f, -0.037163f, -0.033484f, 0.000590f, -0.077203f, 0.002179f, -0.032925f, 0.008873f, 0.022547f, -0.000306f, 0.026139f, -0.037590f, 0.057311f, -0.028088f, -0.001155f, 0.040035f, -0.037543f, 0.014936f, 0.028530f, 0.035564f, 0.004931f, 0.013059f, 0.008575f, -0.055027f, -0.030973f, -0.008583f, 0.008009f, 0.008922f, -0.008407f, 0.037094f, -0.012019f, -0.000118f, -0.007188f, -0.015504f, 0.012802f, 0.007709f, -0.043978f, 0.013296f, -0.035382f, 0.010046f, -0.084743f, -0.003687f, -0.002305f, 0.000222f, 0.034332f, -0.013522f, -0.031025f, -0.013365f, 0.031521f, 0.000305f, -0.081919f, 0.114748f, - -0.010197f, -0.021461f, 0.024716f, -0.004584f, -0.017028f, -0.021028f, -0.022971f, -0.024105f, 0.078224f, -0.029924f, -0.045634f, 0.039274f, 0.003595f, -0.061493f, -0.014807f, 0.026272f, 0.020383f, -0.020007f, 0.042099f, -0.007061f, -0.011804f, 0.039524f, -0.029010f, -0.026070f, 0.049282f, -0.021507f, -0.008022f, -0.002305f, 0.020772f, 0.010525f, -0.000708f, -0.003089f, 0.001036f, 0.009749f, -0.010358f, -0.000387f, 0.009503f, 0.010666f, 0.012108f, -0.029984f, 0.007646f, 0.015693f, -0.029713f, 0.002867f, 0.006001f, -0.004877f, -0.012134f, 0.012290f, 0.003207f, -0.010309f, 0.001532f, -0.000649f, -0.005156f, -0.036844f, 0.020962f, -0.021658f, 0.006494f, 0.006657f, -0.033840f, -0.001523f, 0.001472f, 0.000148f, -0.000652f, -0.011023f, -0.001836f, 0.009888f, -0.001545f, -0.072586f, -0.107567f, -0.103111f, 0.228437f, 0.189876f, 0.215850f, 0.488305f, 0.127567f, -0.122178f, 0.038432f, -0.391412f, -0.415290f, -0.102628f, -0.261056f, -0.201625f, 0.123281f, -0.064041f, 0.025584f, 0.311162f, 0.154253f, 0.230674f, 0.442700f, 0.295266f, 0.077032f, 0.064306f, -0.130653f, -0.403059f, -0.308189f, -0.235682f, - -0.476458f, -0.192643f, 0.011301f, -0.084223f, -0.038068f, 0.241059f, 0.063773f, 0.032459f, 0.298323f, 0.037066f, 0.071250f, 0.424080f, 0.311577f, 0.197450f, 0.400716f, 0.199757f, -0.070494f, -0.005988f, -0.127014f, -0.624376f, -0.545060f, -0.440241f, -0.684428f, -0.521333f, -0.184891f, -0.246963f, 0.055539f, 0.475215f, 0.424202f, 0.587394f, 0.741393f, 0.551785f, 0.430169f, 0.418602f, 0.231369f, -0.078447f, -0.149510f, -0.340607f, -0.486475f, -0.477657f, -0.414102f, -0.474187f, -0.485424f, -0.390214f, -0.218500f, -0.158348f, 0.058520f, 0.371539f, 0.535607f, 0.764897f, 0.860173f, 0.513460f, 0.124230f, -0.073992f, -0.519084f, -0.493899f, -0.376592f, -0.292721f, -0.109399f, 0.054255f, 0.039877f, 0.052168f, 0.065318f, 0.030170f, 0.076996f, 0.108601f, 0.080243f, 0.131240f, 0.074065f, -0.034757f, -0.042350f, -0.117770f, -0.214542f, -0.059716f, -0.068114f, -0.078299f, 0.065425f, 0.055980f, -0.074059f, -0.094941f, -0.175354f, -0.285276f, -0.120947f, 0.159996f, 0.273548f, 0.532502f, 0.642740f, 0.436360f, 0.269884f, 0.070656f, -0.244208f, -0.356191f, -0.402866f, -0.470650f, -0.442619f, -0.340352f, - -0.276505f, -0.229417f, -0.140510f, -0.037888f, 0.114358f, 0.404628f, 0.566067f, 0.501938f, 0.359618f, 0.220305f, 0.044583f, -0.092457f, -0.138875f, -0.175045f, -0.126414f, -0.038056f, -0.011547f, -0.041284f, -0.064633f, -0.100537f, -0.157002f, -0.202540f, -0.196351f, -0.198117f, -0.120746f, 0.005950f, 0.056511f, 0.112177f, 0.147845f, 0.132421f, 0.076330f, 0.028348f, 0.008473f, 0.002222f, 0.001551f}, - {0.016671f, -0.002219f, 0.001353f, 0.013061f, -0.001661f, -0.000641f, -0.003788f, 0.014250f, 0.000860f, 0.006911f, 0.004244f, 0.004169f, -0.005871f, 0.002927f, -0.009106f, -0.001030f, 0.007097f, 0.001398f, 0.004164f, 0.006626f, -0.011252f, -0.007911f, 0.002700f, -0.000600f, 0.008381f, 0.005052f, -0.000418f, -0.004684f, -0.002906f, -0.005786f, -0.000900f, -0.000810f, -0.000848f, 0.001547f, 0.002200f, -0.005043f, 0.008396f, -0.001973f, -0.001296f, 0.002819f, -0.010675f, -0.002514f, 0.004635f, 0.001587f, 0.010556f, -0.000089f, -0.000762f, 0.002010f, 0.000728f, 0.004339f, 0.007310f, 0.009233f, -0.000529f, -0.001010f, 0.000175f, -0.005394f, -0.006772f, 0.003689f, 0.006061f, -0.004305f, -0.004072f, -0.002810f, 0.007726f, 0.004492f, -0.001059f, 0.001147f, -0.009102f, -0.002680f, 0.004736f, 0.003867f, 0.006735f, -0.009848f, 0.002224f, 0.003644f, -0.002041f, 0.006845f, -0.000445f, 0.005958f, 0.002863f, 0.001874f, 0.007633f, 0.003727f, 0.001924f, -0.000001f, 0.000896f, -0.001884f, 0.000636f, 0.000997f, -0.000608f, -0.002778f, 0.001334f, 0.001255f, -0.002016f, -0.000348f, -0.001364f, 0.001351f, - 0.002186f, 0.000021f, -0.000292f, -0.000192f, -0.002048f, 0.000930f, -0.000733f, 0.001622f, 0.000784f, 0.000449f, 0.000346f, -0.000981f, 0.000534f, 0.000178f, 0.000850f, -0.001690f, -0.000791f, -0.000431f, 0.000200f, 0.021638f, 0.006032f, -0.005027f, 0.011119f, -0.005432f, 0.011572f, -0.003882f, -0.005186f, 0.005802f, 0.010827f, -0.000382f, -0.005259f, 0.002825f, 0.002326f, -0.000490f, -0.015259f, 0.003544f, 0.004558f, 0.001184f, 0.009642f, 0.012843f, 0.006988f, 0.012648f, 0.008700f, 0.007692f, -0.001990f, 0.008548f, 0.004212f, -0.006548f, 0.002515f, 0.003931f, -0.008308f, -0.010683f, -0.001557f, 0.004164f, 0.000247f, -0.003874f, -0.005067f, -0.005045f, -0.002404f, 0.005717f, 0.011600f, 0.009728f, 0.003769f, 0.007468f, -0.012004f, 0.000740f, -0.002995f, 0.000096f, -0.013788f, 0.005127f, -0.001241f, -0.003291f, -0.000445f, -0.003784f, -0.006765f, -0.004836f, 0.004965f, 0.001152f, 0.003833f, -0.005071f, 0.009569f, 0.002425f, -0.010863f, 0.004523f, 0.001496f, 0.003043f, 0.006114f, 0.001819f, 0.011133f, -0.003519f, 0.001318f, -0.012875f, 0.002559f, 0.001244f, 0.000481f, 0.000309f, - -0.002311f, 0.009166f, -0.002686f, -0.004250f, 0.007066f, -0.007189f, -0.003394f, -0.002961f, -0.001219f, -0.003343f, 0.002444f, 0.000630f, 0.001335f, -0.000076f, -0.000193f, 0.000139f, -0.001188f, 0.000812f, 0.001334f, -0.000441f, -0.000434f, -0.000036f, -0.002251f, -0.003858f, 0.001566f, 0.000506f, -0.002933f, -0.000374f, -0.000203f, -0.000634f, -0.003577f, 0.000990f, 0.000122f, -0.000079f, 0.000396f, 0.000690f, 0.000546f, -0.001364f, 0.000091f, -0.002513f, 0.001206f, -0.004521f, -0.004291f, -0.001559f, 0.004155f, -0.007557f, 0.002292f, -0.014800f, 0.002873f, 0.002643f, -0.001589f, 0.010357f, 0.000784f, -0.001294f, 0.001062f, 0.005426f, -0.008877f, 0.001159f, 0.002873f, 0.005619f, -0.012678f, -0.006606f, -0.004711f, 0.004568f, 0.002037f, -0.004140f, -0.012813f, 0.003012f, -0.012745f, -0.000911f, 0.005223f, -0.002506f, 0.004006f, -0.002345f, 0.008783f, 0.012729f, 0.006908f, -0.006774f, 0.001364f, 0.009618f, 0.006134f, -0.006145f, 0.005176f, 0.001386f, -0.009907f, 0.003403f, 0.013896f, 0.006341f, 0.004738f, 0.015247f, 0.001496f, -0.005954f, -0.011643f, -0.000635f, -0.006484f, -0.008039f, - -0.003634f, 0.008330f, -0.007904f, 0.002679f, -0.004670f, -0.004600f, 0.009968f, -0.001411f, 0.001752f, 0.007731f, 0.010817f, -0.004871f, -0.009702f, 0.012377f, 0.009710f, 0.006000f, 0.000702f, -0.007631f, 0.001321f, 0.009756f, -0.009894f, 0.002930f, -0.006405f, -0.000338f, 0.006236f, -0.005857f, -0.000199f, -0.011161f, -0.002790f, -0.001092f, 0.001801f, -0.000708f, -0.004054f, -0.000619f, 0.002236f, -0.003381f, -0.000719f, 0.001392f, 0.001390f, 0.000827f, 0.001036f, -0.000290f, -0.000679f, -0.004477f, 0.002469f, -0.000361f, 0.002540f, -0.001808f, -0.002740f, 0.000894f, 0.002417f, -0.001625f, 0.002151f, -0.000467f, -0.000002f, -0.000304f, -0.000319f, 0.002300f, -0.001279f, 0.000819f, -0.001292f, -0.029090f, -0.010609f, -0.004503f, 0.015930f, -0.006062f, -0.002361f, -0.009422f, -0.007920f, -0.001384f, -0.020930f, 0.011723f, 0.003913f, -0.000620f, -0.007712f, 0.011543f, -0.003224f, 0.005851f, -0.004652f, 0.003688f, 0.007409f, -0.009237f, 0.001008f, 0.010149f, 0.005783f, 0.004076f, 0.010913f, 0.009709f, -0.006067f, -0.007803f, -0.009673f, -0.000179f, -0.012729f, 0.003031f, -0.016824f, -0.003245f, - 0.012461f, 0.006516f, -0.004236f, -0.001328f, -0.012645f, 0.005749f, -0.005382f, 0.011170f, -0.006399f, -0.011492f, -0.002314f, -0.004744f, -0.009386f, 0.003642f, -0.002115f, -0.006015f, -0.006071f, -0.020345f, 0.002827f, -0.006109f, -0.015021f, -0.004019f, 0.009342f, 0.004757f, -0.007744f, 0.006430f, 0.008331f, 0.007989f, 0.003023f, -0.010403f, -0.001680f, -0.002315f, 0.007255f, -0.007312f, -0.002753f, 0.003787f, 0.003909f, -0.011384f, -0.013496f, -0.024343f, -0.004106f, -0.014140f, 0.004712f, -0.000550f, -0.003317f, 0.007155f, -0.001451f, -0.003259f, 0.003183f, 0.004880f, 0.004754f, 0.003647f, 0.008537f, -0.003618f, -0.002915f, -0.002289f, 0.001312f, 0.000427f, -0.001858f, 0.002336f, 0.003432f, -0.000747f, 0.000861f, -0.001483f, -0.001853f, -0.000358f, -0.001177f, 0.000352f, 0.000813f, 0.000102f, -0.002059f, 0.000333f, -0.001362f, -0.000550f, 0.001295f, 0.002733f, -0.001133f, 0.003274f, 0.004069f, 0.000630f, -0.001070f, -0.003460f, -0.000612f, 0.002332f, 0.001638f, -0.025258f, -0.010152f, -0.004498f, -0.007527f, 0.008638f, 0.011214f, 0.010637f, -0.021155f, -0.015739f, 0.006036f, 0.025757f, - 0.015173f, 0.000014f, 0.003623f, 0.007355f, -0.009289f, 0.006128f, -0.008616f, 0.006213f, 0.009097f, 0.001432f, 0.007291f, 0.002308f, -0.000558f, 0.003824f, 0.002212f, -0.006881f, -0.008783f, 0.012087f, 0.004847f, -0.008801f, 0.008597f, -0.004796f, -0.000941f, 0.020763f, -0.009956f, 0.011758f, 0.023150f, 0.009476f, -0.001376f, 0.000900f, -0.008420f, 0.010853f, -0.011134f, -0.006055f, -0.018680f, 0.003512f, 0.014310f, -0.000360f, -0.013240f, -0.004700f, -0.018749f, -0.009495f, -0.003528f, -0.026592f, -0.014526f, -0.002635f, 0.002760f, -0.011649f, 0.005839f, -0.003095f, -0.009251f, 0.009941f, 0.029329f, 0.002720f, 0.014919f, 0.010149f, 0.008746f, -0.009322f, 0.003849f, -0.015873f, 0.001628f, 0.004537f, 0.003489f, -0.006182f, 0.000077f, -0.016122f, -0.005675f, -0.005675f, -0.001212f, 0.007794f, 0.008316f, -0.000407f, 0.003195f, 0.004527f, -0.002373f, -0.001795f, -0.001554f, 0.001469f, 0.000116f, 0.001088f, 0.000808f, 0.002529f, -0.001435f, -0.000131f, -0.003935f, -0.000523f, -0.000674f, 0.002710f, 0.001503f, -0.001745f, -0.002407f, -0.002303f, -0.002266f, -0.000792f, -0.002767f, 0.000908f, - 0.004880f, -0.003982f, -0.000589f, 0.001636f, 0.002740f, 0.039319f, 0.025151f, -0.013770f, 0.005253f, 0.012530f, -0.005063f, 0.007092f, -0.002287f, 0.011675f, 0.006126f, 0.003610f, 0.010943f, 0.005898f, 0.005505f, -0.003542f, -0.026254f, 0.012470f, -0.004322f, -0.006205f, 0.020862f, 0.012613f, 0.007327f, 0.009350f, 0.007262f, 0.005074f, -0.003867f, 0.002875f, 0.001020f, -0.006957f, 0.005646f, 0.008756f, -0.014733f, 0.002665f, -0.009473f, 0.006943f, 0.008434f, -0.023503f, -0.000206f, -0.027934f, 0.000654f, 0.003274f, 0.002531f, 0.007380f, 0.019102f, -0.002508f, -0.009634f, -0.005002f, -0.005091f, -0.007490f, 0.005623f, 0.005672f, 0.002006f, -0.003275f, -0.003229f, 0.018197f, -0.005929f, -0.003878f, -0.009870f, 0.016140f, -0.002310f, 0.013531f, -0.006292f, 0.014473f, -0.013962f, -0.029918f, -0.008663f, 0.001657f, 0.006185f, 0.009841f, -0.009835f, -0.007660f, 0.004243f, 0.002473f, -0.004469f, -0.007959f, 0.018747f, -0.007481f, 0.017842f, 0.004458f, 0.012656f, 0.004705f, 0.009266f, 0.007456f, -0.003029f, -0.001419f, 0.003742f, -0.000745f, 0.009807f, 0.000028f, -0.003028f, 0.000657f, - -0.010641f, -0.002366f, -0.002337f, 0.000524f, -0.003448f, -0.001613f, -0.001053f, -0.000488f, -0.001083f, -0.005901f, -0.004436f, 0.001143f, 0.000555f, -0.006599f, -0.000220f, 0.000699f, 0.001100f, 0.002355f, 0.001266f, 0.006015f, 0.000441f, -0.002359f, -0.000092f, -0.001099f, -0.002739f, -0.003673f, -0.001192f, 0.018428f, -0.007005f, -0.012347f, -0.000511f, 0.001889f, -0.017507f, -0.013797f, -0.004328f, 0.004708f, -0.002574f, 0.022728f, 0.013724f, 0.000528f, 0.021809f, 0.007774f, 0.006405f, -0.018741f, 0.017538f, -0.003360f, -0.004365f, -0.015826f, -0.007085f, 0.013881f, 0.013819f, -0.004028f, 0.009170f, -0.019023f, -0.002644f, 0.012611f, 0.009586f, -0.007180f, -0.013427f, -0.007656f, -0.008296f, -0.010480f, -0.008622f, 0.001953f, -0.014121f, -0.001484f, 0.019524f, -0.009523f, 0.002255f, -0.000866f, -0.004495f, 0.007481f, -0.003118f, 0.012623f, 0.000010f, 0.017854f, -0.004629f, -0.011479f, 0.006496f, -0.009103f, -0.008891f, -0.009107f, -0.025562f, 0.002814f, 0.010556f, 0.015055f, 0.010943f, 0.019830f, -0.002074f, -0.007850f, 0.011526f, -0.014370f, 0.003274f, 0.002026f, -0.002166f, 0.012779f, - 0.012051f, -0.003289f, -0.015468f, 0.002905f, -0.008010f, -0.014880f, -0.013660f, 0.007320f, 0.013150f, 0.008078f, -0.028589f, 0.006241f, 0.002993f, -0.001618f, 0.013415f, 0.007068f, 0.010966f, 0.003965f, -0.001124f, 0.014251f, 0.001887f, 0.006358f, 0.005194f, 0.000929f, -0.006553f, 0.000841f, -0.003683f, -0.008172f, 0.001448f, 0.002190f, 0.003707f, -0.001181f, 0.000957f, 0.000659f, 0.000630f, 0.002594f, 0.001769f, 0.001712f, -0.000377f, -0.005267f, 0.003474f, -0.002280f, -0.002338f, -0.002144f, -0.003660f, 0.006297f, 0.007326f, 0.006028f, 0.002449f, 0.000425f, 0.000987f, -0.001785f, 0.004795f, -0.022483f, -0.013162f, 0.002375f, -0.012843f, -0.033279f, 0.025222f, -0.000551f, -0.001653f, 0.003197f, 0.001998f, -0.022009f, 0.015401f, -0.022945f, 0.002053f, 0.010504f, -0.003011f, 0.003833f, 0.003712f, -0.024683f, -0.008303f, -0.010990f, -0.002274f, 0.005084f, -0.008102f, -0.005132f, -0.000988f, -0.001431f, 0.002278f, 0.010358f, 0.005550f, 0.022248f, -0.008047f, 0.030530f, -0.002118f, 0.000861f, -0.019926f, -0.002925f, 0.014843f, -0.002907f, -0.030656f, 0.012427f, 0.014281f, -0.009086f, - 0.007565f, -0.011416f, 0.021279f, 0.011809f, -0.000584f, -0.001203f, -0.013623f, -0.008653f, -0.014910f, 0.014037f, 0.013819f, 0.006124f, 0.001594f, 0.006358f, -0.012016f, -0.031595f, -0.011556f, 0.011164f, 0.004884f, -0.023410f, 0.000614f, 0.002852f, 0.003236f, -0.011182f, 0.008099f, 0.016767f, 0.008634f, 0.000439f, 0.006775f, 0.011574f, -0.006460f, 0.017191f, 0.000287f, -0.000344f, -0.016916f, -0.021511f, 0.013911f, -0.006472f, 0.006906f, 0.007152f, -0.001169f, -0.004503f, -0.004733f, -0.003481f, 0.002205f, -0.005180f, 0.007010f, 0.001774f, -0.001955f, 0.001943f, -0.002512f, 0.000445f, -0.008860f, 0.002386f, 0.000663f, -0.001362f, -0.004956f, 0.001838f, -0.004393f, -0.000048f, 0.001362f, -0.000704f, -0.002901f, 0.000152f, -0.002914f, 0.010898f, 0.008070f, 0.003255f, -0.001312f, -0.000689f, -0.003161f, 0.000295f, -0.001297f, 0.007069f, -0.002382f, -0.000667f, 0.006429f, 0.001781f, 0.002628f, 0.005034f, -0.003449f, -0.001541f, 0.004767f, 0.003212f, -0.001484f, -0.000480f, -0.035002f, 0.018790f, -0.004715f, 0.006868f, -0.010312f, -0.005753f, 0.014823f, -0.017151f, 0.016660f, -0.010406f, - -0.019834f, 0.008930f, -0.010657f, 0.042341f, 0.006369f, -0.014924f, -0.020553f, -0.003796f, -0.025505f, -0.011846f, -0.027476f, -0.001721f, 0.018470f, -0.013157f, 0.011416f, 0.018479f, -0.017168f, -0.000049f, -0.020049f, 0.011169f, 0.004023f, -0.000852f, 0.011903f, -0.012654f, -0.017977f, -0.015348f, 0.001096f, 0.003279f, 0.015197f, -0.021934f, 0.015578f, 0.002916f, -0.032164f, -0.017850f, -0.025952f, -0.010807f, 0.009928f, -0.008896f, -0.008630f, -0.049621f, -0.000985f, -0.011002f, -0.004486f, -0.031881f, -0.011007f, -0.004338f, 0.002504f, 0.025745f, 0.023637f, 0.019820f, 0.011531f, 0.024809f, -0.026817f, 0.020791f, 0.002954f, 0.009617f, 0.007083f, -0.019335f, 0.029886f, 0.018353f, 0.011814f, -0.013264f, -0.017571f, -0.012828f, 0.017368f, 0.001844f, 0.000120f, 0.009233f, 0.004573f, 0.009715f, -0.008644f, 0.026070f, 0.013821f, -0.002965f, -0.004235f, 0.005729f, 0.005338f, 0.003046f, -0.001525f, -0.001756f, 0.002482f, -0.000570f, -0.000415f, -0.011024f, 0.000687f, -0.006439f, 0.000440f, 0.003297f, 0.001251f, -0.000820f, 0.000102f, 0.001990f, 0.001943f, -0.010504f, -0.002692f, 0.003495f, - -0.002945f, -0.004208f, -0.000196f, 0.001218f, 0.001757f, 0.001834f, -0.001448f, -0.002317f, 0.001851f, -0.004689f, -0.007611f, -0.002120f, -0.001841f, -0.002689f, 0.001485f, -0.000785f, 0.006916f, 0.003020f, -0.002684f, 0.002823f, -0.001529f, 0.013271f, 0.024630f, 0.026681f, 0.010917f, 0.018665f, 0.015123f, 0.009027f, -0.004886f, 0.001993f, -0.007287f, 0.000615f, -0.002518f, -0.016135f, 0.020532f, 0.032571f, 0.012980f, -0.008924f, 0.014597f, 0.013872f, -0.000578f, 0.008611f, -0.015381f, -0.029638f, -0.019725f, -0.013499f, 0.008558f, -0.003601f, -0.015498f, 0.011558f, -0.005341f, -0.013865f, -0.000195f, 0.023990f, 0.012074f, 0.017770f, 0.006204f, 0.013078f, 0.014516f, -0.003345f, 0.013291f, -0.005196f, -0.015260f, 0.006412f, -0.017669f, 0.006568f, 0.006984f, -0.025953f, -0.016888f, 0.010622f, 0.026840f, -0.013947f, 0.018691f, 0.026127f, -0.021653f, 0.000878f, 0.023795f, 0.002563f, -0.008758f, -0.002023f, -0.012276f, -0.021387f, 0.000208f, -0.006505f, -0.011267f, 0.014665f, 0.000679f, -0.024482f, 0.031285f, -0.012980f, 0.025359f, -0.030108f, -0.020634f, 0.014660f, -0.018567f, 0.010180f, - -0.012513f, -0.009119f, -0.017451f, -0.010689f, -0.014225f, -0.035551f, 0.005766f, 0.021627f, -0.010104f, -0.001682f, 0.014948f, 0.015969f, 0.011295f, -0.002327f, -0.001407f, -0.009296f, -0.002998f, -0.004146f, -0.004935f, 0.003704f, -0.001103f, -0.003497f, 0.005068f, 0.004574f, -0.002367f, -0.000609f, -0.006512f, 0.002634f, -0.005755f, -0.010337f, -0.000885f, 0.009339f, -0.000098f, -0.005494f, -0.001600f, 0.015523f, 0.007665f, 0.000357f, -0.004914f, -0.005885f, -0.004372f, 0.000762f, 0.000866f, -0.004981f, -0.002013f, -0.000022f, 0.001625f, 0.006045f, 0.001263f, 0.009654f, 0.005687f, 0.006848f, 0.002450f, 0.002938f, -0.001716f, 0.000784f, -0.022430f, 0.014484f, -0.009760f, -0.023836f, 0.034453f, 0.018067f, -0.024495f, 0.017570f, 0.015505f, 0.004865f, 0.029021f, -0.059465f, 0.004184f, 0.024912f, 0.008315f, 0.002557f, 0.025960f, 0.001375f, 0.014153f, -0.034230f, -0.004799f, 0.009780f, 0.000305f, -0.016950f, 0.006617f, 0.014285f, 0.006597f, 0.006962f, 0.018299f, 0.015710f, 0.024363f, 0.019630f, -0.007697f, -0.007498f, 0.018820f, -0.011284f, 0.013159f, -0.021091f, -0.011808f, -0.027088f, - -0.012660f, 0.015539f, 0.005148f, -0.005952f, 0.022442f, -0.026408f, -0.036342f, -0.058213f, 0.018044f, 0.020634f, 0.015713f, 0.012784f, -0.013979f, 0.009711f, -0.008180f, 0.022529f, 0.058966f, -0.008818f, -0.012633f, -0.025335f, -0.008332f, 0.022533f, -0.015262f, 0.013080f, 0.021630f, 0.003948f, -0.000662f, -0.016788f, -0.005151f, 0.008532f, -0.041151f, -0.037456f, 0.003617f, 0.005507f, -0.014731f, 0.021158f, 0.015678f, 0.030286f, 0.048214f, 0.019669f, -0.011451f, -0.005514f, 0.010010f, 0.000113f, -0.026920f, 0.013077f, 0.010988f, 0.009920f, 0.002941f, 0.012823f, -0.000741f, 0.007271f, 0.005494f, 0.004224f, -0.006322f, 0.000883f, -0.000883f, -0.000453f, 0.009640f, 0.003323f, -0.000434f, 0.005560f, -0.010896f, 0.003421f, 0.001607f, -0.000950f, 0.010147f, 0.002463f, -0.003369f, -0.001384f, -0.006783f, 0.018942f, 0.000907f, 0.003581f, 0.007452f, -0.002333f, -0.003111f, 0.010845f, -0.011665f, 0.010790f, -0.008631f, 0.009016f, -0.000941f, -0.000322f, -0.002367f, 0.003920f, -0.002106f, 0.009310f, -0.007689f, -0.002589f, 0.002350f, -0.001213f, -0.002898f, -0.005168f, 0.006088f, 0.088737f, - 0.050044f, 0.032037f, -0.008266f, -0.008942f, -0.001185f, -0.007460f, -0.009203f, -0.013658f, -0.016650f, -0.028350f, 0.001179f, -0.001915f, 0.006870f, 0.012500f, 0.023554f, 0.035842f, -0.004854f, -0.046406f, -0.018256f, 0.040012f, -0.006297f, 0.015057f, -0.005243f, -0.000572f, 0.026517f, 0.009308f, 0.020119f, 0.011979f, -0.000906f, -0.001099f, -0.000447f, 0.013527f, 0.017081f, -0.006555f, -0.026267f, 0.034406f, 0.024512f, 0.017568f, 0.006357f, 0.009001f, -0.013998f, -0.025856f, 0.035690f, 0.020060f, 0.009136f, -0.016487f, -0.018527f, -0.025796f, -0.016020f, -0.004499f, -0.016273f, 0.009084f, -0.033205f, 0.004691f, 0.024383f, -0.015799f, 0.008555f, 0.001590f, 0.003513f, -0.037711f, 0.013331f, -0.016130f, 0.027522f, -0.060631f, 0.010351f, -0.015763f, -0.020584f, 0.005141f, -0.012450f, 0.012607f, 0.011771f, -0.039460f, 0.000358f, 0.027780f, 0.004065f, 0.008228f, 0.017330f, 0.007217f, 0.028792f, 0.011890f, 0.006034f, 0.002049f, -0.004258f, 0.018707f, -0.036800f, -0.000584f, -0.002216f, -0.003256f, 0.001375f, -0.000941f, -0.000351f, -0.003081f, -0.005475f, -0.006949f, 0.011358f, 0.009685f, - -0.005095f, -0.000706f, -0.017657f, 0.001841f, -0.001168f, -0.017245f, -0.000150f, -0.025634f, -0.019633f, 0.008790f, 0.003210f, 0.013667f, -0.015367f, 0.006690f, 0.013260f, 0.003055f, -0.000640f, 0.003570f, 0.007079f, 0.000716f, -0.003903f, 0.014227f, 0.000037f, 0.004705f, -0.008350f, -0.006109f, 0.005808f, 0.008574f, 0.001433f, -0.054407f, -0.028051f, 0.004091f, -0.047937f, 0.011043f, 0.034681f, -0.016659f, 0.042172f, 0.049609f, 0.006238f, 0.024816f, 0.030492f, 0.013764f, -0.029387f, 0.019193f, 0.023251f, -0.001088f, 0.005827f, 0.016510f, 0.014480f, 0.035027f, 0.005899f, -0.013422f, 0.022257f, 0.008064f, -0.003542f, 0.000566f, 0.014897f, -0.020383f, -0.009316f, -0.008594f, 0.012416f, 0.006531f, -0.028902f, 0.008569f, 0.024008f, 0.000697f, 0.028950f, -0.027399f, -0.051935f, 0.004198f, 0.023194f, 0.035238f, 0.032560f, 0.016897f, 0.015409f, 0.012459f, -0.035317f, -0.010262f, -0.001555f, 0.026489f, 0.041719f, -0.014397f, 0.008921f, -0.015336f, 0.009804f, 0.006697f, 0.025361f, 0.039455f, -0.015277f, -0.017221f, -0.003519f, 0.021638f, 0.027647f, 0.038885f, 0.000867f, -0.041930f, - -0.039678f, -0.006417f, 0.005034f, 0.000169f, -0.018240f, 0.000454f, -0.047825f, -0.030769f, -0.028300f, -0.032069f, 0.013596f, 0.004968f, 0.038368f, 0.030776f, 0.011497f, -0.018348f, -0.018448f, -0.017055f, -0.015615f, -0.026637f, 0.012490f, 0.008393f, 0.004843f, 0.017975f, 0.019852f, 0.000149f, 0.016923f, 0.003531f, 0.018077f, -0.006288f, 0.014976f, -0.004785f, -0.001463f, 0.004507f, -0.005638f, 0.025245f, 0.011260f, 0.015000f, 0.006670f, 0.017982f, 0.003921f, 0.008637f, 0.025651f, 0.022356f, 0.011859f, -0.001413f, -0.009977f, -0.008443f, -0.018317f, -0.010208f, -0.012060f, -0.007119f, -0.011130f, -0.013351f, -0.007834f, 0.007799f, 0.017061f, 0.004778f, -0.004126f, 0.000641f, -0.002645f, 0.010732f, 0.012576f, 0.010527f, -0.001220f, 0.004736f, 0.023079f, -0.050984f, 0.004642f, -0.010237f, 0.027942f, -0.015013f, -0.002298f, 0.008570f, 0.021168f, -0.028500f, -0.047837f, -0.008386f, -0.018735f, 0.001266f, -0.021581f, 0.012640f, 0.012572f, 0.001173f, -0.025809f, 0.016039f, 0.001623f, 0.043049f, -0.006883f, 0.023533f, -0.019931f, 0.044457f, 0.012849f, 0.027706f, 0.018673f, 0.030233f, - 0.044606f, -0.010978f, 0.017308f, -0.031318f, 0.032907f, 0.031882f, -0.000745f, 0.010283f, 0.032222f, -0.020747f, -0.019935f, -0.003410f, 0.064872f, 0.010425f, -0.018154f, 0.032092f, 0.004204f, 0.024580f, 0.035510f, 0.010226f, -0.002420f, 0.003209f, 0.005524f, 0.023303f, -0.008225f, 0.024997f, -0.017379f, 0.024394f, -0.013611f, 0.055237f, -0.008078f, 0.047475f, -0.043232f, -0.047598f, 0.065982f, -0.055436f, -0.029617f, 0.002058f, -0.017844f, -0.034484f, 0.030119f, -0.004206f, -0.042579f, -0.020316f, -0.021895f, -0.062763f, -0.023257f, 0.007519f, 0.014008f, -0.048479f, -0.012388f, 0.029076f, -0.005910f, 0.016605f, 0.028830f, -0.020867f, -0.004777f, 0.004477f, 0.018795f, 0.013306f, 0.014162f, -0.004926f, -0.002800f, 0.011422f, -0.001091f, -0.008029f, 0.006337f, 0.013195f, 0.002476f, 0.009082f, -0.000359f, -0.008964f, -0.000107f, 0.012124f, 0.004603f, -0.006632f, -0.015708f, -0.009748f, 0.018218f, -0.008731f, -0.024702f, 0.005535f, -0.014219f, -0.027128f, -0.000077f, 0.009753f, 0.000850f, -0.007290f, -0.002084f, 0.007010f, -0.005715f, -0.000005f, 0.009535f, -0.000896f, -0.004586f, -0.006145f, - 0.017266f, 0.032951f, 0.001718f, -0.012134f, -0.009844f, -0.005835f, -0.015839f, -0.003789f, -0.006698f, 0.006555f, -0.042696f, -0.028533f, 0.008368f, -0.055895f, -0.032539f, -0.038833f, -0.039438f, 0.048162f, -0.001107f, 0.001680f, 0.014432f, -0.014008f, -0.061345f, -0.045926f, -0.044912f, -0.091754f, 0.006755f, 0.010487f, 0.039802f, 0.023262f, 0.013889f, 0.019881f, 0.013882f, 0.004389f, -0.028819f, -0.042474f, -0.024355f, 0.033211f, -0.004008f, -0.024779f, -0.009867f, 0.032556f, -0.039004f, -0.025146f, -0.040060f, -0.019857f, -0.003224f, -0.038456f, 0.014598f, -0.031892f, 0.034945f, 0.024541f, -0.005143f, 0.024225f, -0.023362f, -0.048331f, 0.021480f, 0.028554f, -0.024790f, -0.055469f, 0.042262f, -0.003360f, 0.030698f, 0.025809f, -0.079389f, -0.056332f, 0.000849f, -0.012627f, 0.052212f, -0.029449f, -0.034074f, -0.008915f, 0.019481f, 0.003269f, -0.004447f, -0.017720f, 0.069261f, -0.033438f, -0.055743f, -0.075495f, 0.054790f, -0.012603f, -0.062088f, 0.029520f, 0.030035f, 0.018000f, 0.063209f, 0.067629f, 0.069404f, 0.029981f, -0.015231f, -0.005867f, -0.010265f, 0.023395f, -0.043714f, 0.028893f, - 0.005872f, 0.006073f, 0.021993f, 0.021361f, -0.017751f, 0.027221f, -0.020443f, 0.009479f, -0.029221f, -0.016346f, -0.011041f, -0.014795f, -0.005627f, -0.015965f, -0.003608f, 0.012056f, 0.031708f, 0.036940f, 0.002055f, 0.029145f, -0.016474f, 0.004833f, 0.017376f, 0.002989f, -0.031007f, 0.004624f, 0.008319f, -0.007979f, -0.022867f, -0.014226f, -0.013827f, 0.038460f, 0.024062f, 0.013029f, 0.018364f, 0.032632f, -0.004362f, -0.036948f, -0.023120f, -0.020830f, -0.026499f, -0.034206f, 0.006884f, -0.028502f, -0.050907f, -0.011649f, -0.010470f, 0.008442f, -0.051033f, -0.019445f, 0.022836f, 0.038829f, 0.077151f, 0.013373f, 0.040042f, 0.020338f, 0.018988f, -0.017142f, -0.006354f, -0.014529f, -0.043349f, -0.049547f, -0.071080f, -0.025037f, -0.064105f, -0.024347f, -0.033885f, -0.011818f, 0.033399f, 0.008959f, 0.022506f, 0.040661f, -0.000635f, 0.027652f, 0.007184f, 0.001946f, -0.001618f, -0.004733f, -0.054213f, 0.020035f, -0.007385f, -0.059915f, -0.038144f, 0.018206f, -0.039509f, -0.014349f, 0.013414f, 0.044430f, 0.052549f, 0.019062f, -0.011792f, 0.007857f, 0.034936f, 0.019603f, 0.006795f, -0.000539f, - -0.106196f, -0.020762f, 0.022606f, 0.027274f, 0.009951f, -0.003536f, -0.036298f, 0.025157f, -0.032465f, -0.023426f, -0.006986f, 0.006959f, -0.018389f, -0.055856f, 0.029361f, -0.006742f, 0.069327f, 0.027120f, 0.023192f, 0.027391f, 0.050758f, 0.116017f, 0.001002f, 0.002418f, -0.005624f, -0.033976f, 0.019765f, -0.023445f, 0.083256f, -0.007052f, -0.030926f, -0.026700f, 0.034729f, -0.045173f, -0.031573f, -0.005597f, 0.071088f, 0.002803f, 0.033499f, 0.053494f, 0.009924f, 0.043375f, 0.031787f, -0.005567f, 0.029075f, 0.032767f, 0.000264f, -0.021776f, -0.024673f, 0.007031f, 0.007386f, 0.027525f, 0.016631f, -0.000832f, -0.004901f, 0.005156f, 0.010222f, -0.019841f, -0.005053f, -0.004636f, -0.003493f, -0.031321f, 0.019073f, -0.022660f, 0.007176f, -0.004376f, -0.014581f, 0.004092f, 0.037652f, 0.033938f, -0.000794f, -0.002022f, -0.025368f, -0.009783f, -0.025224f, -0.003419f, -0.029217f, -0.040207f, 0.010976f, 0.028187f, 0.001045f, 0.001763f, 0.058622f, -0.007600f, 0.010315f, -0.064199f, -0.022264f, 0.076041f, -0.050831f, -0.013396f, -0.044075f, -0.128629f, -0.018731f, 0.039909f, 0.032242f, 0.006601f, - 0.008974f, -0.006647f, 0.071872f, -0.077572f, -0.000481f, -0.022112f, -0.052487f, -0.043787f, -0.006981f, 0.015097f, 0.012559f, 0.017726f, 0.046243f, 0.030570f, -0.033475f, -0.033331f, 0.092395f, 0.076126f, -0.006535f, 0.009161f, -0.010624f, 0.024999f, -0.000811f, 0.054403f, 0.019259f, 0.029043f, 0.007649f, 0.004457f, -0.096440f, 0.040052f, -0.004590f, -0.055038f, -0.028618f, 0.005732f, -0.015367f, -0.054782f, 0.052513f, -0.009108f, -0.039651f, -0.007957f, 0.005309f, 0.047192f, 0.052117f, 0.040219f, 0.014957f, 0.047057f, 0.049566f, -0.037368f, -0.041560f, -0.026053f, -0.007194f, 0.048738f, 0.064407f, 0.011331f, 0.022911f, 0.062417f, 0.036902f, -0.058130f, 0.042629f, 0.015884f, -0.013324f, 0.002499f, 0.119187f, -0.079044f, 0.060502f, 0.070022f, -0.070783f, -0.003933f, -0.046181f, -0.014567f, -0.101480f, 0.029229f, 0.044165f, -0.060641f, 0.036184f, -0.052455f, -0.038523f, 0.046158f, -0.029174f, -0.004101f, -0.017756f, 0.002368f, -0.025816f, 0.007913f, 0.011116f, -0.019043f, -0.027638f, -0.002016f, -0.029979f, 0.038645f, 0.006357f, -0.036115f, 0.007339f, -0.006008f, -0.020257f, -0.018940f, - 0.011852f, 0.024630f, 0.030236f, 0.012689f, -0.028371f, 0.071027f, -0.013760f, 0.007084f, -0.005240f, -0.037580f, 0.013704f, 0.020483f, -0.019723f, 0.030254f, 0.007059f, 0.022576f, -0.005965f, -0.036420f, 0.011573f, 0.054476f, -0.035106f, -0.051055f, -0.082637f, 0.016319f, -0.015810f, -0.026410f, -0.033413f, 0.018242f, -0.020272f, -0.009650f, 0.054388f, -0.017081f, -0.003033f, -0.042769f, 0.003502f, 0.027092f, -0.059727f, -0.037856f, -0.035725f, -0.017728f, 0.021758f, -0.080719f, -0.044797f, -0.116432f, 0.020256f, -0.001331f, -0.029513f, -0.013118f, -0.017144f, 0.024692f, 0.037368f, -0.041465f, 0.001585f, -0.014583f, -0.013952f, -0.072810f, 0.016013f, 0.055599f, 0.014785f, 0.042020f, 0.052997f, 0.047279f, -0.063658f, -0.019655f, -0.019198f, -0.030004f, 0.053630f, -0.054942f, -0.031535f, 0.001747f, 0.077863f, 0.017407f, -0.027274f, 0.078240f, -0.044043f, -0.041590f, 0.093587f, 0.089404f, 0.008696f, 0.022652f, -0.025403f, -0.085031f, -0.026054f, 0.085340f, -0.041378f, 0.077335f, -0.027882f, -0.122132f, -0.032082f, -0.057190f, 0.065139f, 0.000456f, 0.014676f, 0.058171f, -0.009202f, 0.047945f, - -0.062623f, -0.074064f, 0.057006f, -0.014942f, -0.124468f, 0.076852f, -0.039531f, 0.020899f, 0.025410f, -0.043672f, 0.082828f, -0.056535f, 0.030158f, -0.000947f, 0.022195f, 0.083657f, -0.021078f, -0.026524f, 0.003474f, -0.017497f, -0.022497f, -0.018978f, 0.009796f, 0.018775f, 0.004955f, -0.012058f, 0.010920f, -0.039922f, 0.036302f, 0.025098f, 0.020629f, 0.007955f, 0.000683f, -0.018683f, -0.019821f, -0.019433f, 0.017403f, 0.032680f, -0.031530f, 0.028340f, 0.066612f, 0.022172f, -0.056043f, 0.005465f, 0.021241f, -0.021036f, -0.036796f, 0.035175f, -0.031062f, -0.000725f, -0.002166f, -0.033833f, -0.042935f, -0.000453f, 0.025445f, -0.014456f, 0.057546f, -0.019085f, -0.036912f, 0.026269f, 0.022292f, 0.043050f, 0.003216f, -0.077554f, 0.045750f, 0.052723f, -0.064070f, 0.035023f, -0.000339f, -0.023209f, -0.027400f, -0.092474f, -0.040764f, 0.032454f, 0.005879f, 0.084808f, -0.068095f, -0.038559f, 0.015993f, -0.009402f, 0.054450f, -0.075634f, 0.000150f, 0.007738f, -0.063822f, 0.063880f, 0.035120f, 0.019487f, -0.029873f, 0.043748f, -0.051695f, 0.028623f, 0.022371f, 0.013466f, -0.003564f, -0.028927f, - 0.012131f, 0.058128f, -0.030428f, -0.011114f, 0.011512f, -0.045491f, 0.046576f, 0.001846f, 0.012323f, -0.062327f, 0.033807f, 0.008302f, 0.011603f, -0.146295f, 0.020247f, -0.041535f, 0.068578f, 0.056722f, 0.060301f, 0.030827f, -0.118847f, -0.020787f, 0.025703f, 0.002664f, 0.008099f, 0.083970f, -0.012301f, -0.050329f, -0.060335f, 0.002601f, -0.067125f, -0.058925f, -0.052129f, 0.025382f, -0.098007f, 0.069998f, 0.133773f, -0.034820f, -0.015778f, -0.104034f, -0.022479f, 0.040168f, 0.024913f, -0.034433f, -0.006845f, -0.125876f, -0.044014f, 0.126922f, 0.054241f, -0.039015f, 0.037397f, -0.071243f, -0.052510f, 0.014286f, 0.003196f, 0.008899f, -0.048086f, -0.016472f, -0.009745f, 0.000328f, -0.069858f, 0.015519f, -0.008569f, -0.021633f, 0.009835f, 0.029468f, -0.037894f, -0.018789f, -0.005503f, 0.014297f, -0.028964f, -0.007405f, -0.004528f, -0.027394f, 0.000984f, -0.051130f, 0.068037f, 0.022297f, -0.017072f, -0.006274f, -0.019211f, -0.002227f, 0.043926f, 0.013544f, -0.007331f, 0.023225f, -0.013356f, -0.063651f, 0.003661f, 0.003596f, 0.014293f, 0.029191f, -0.016101f, -0.011401f, 0.028786f, 0.034586f, - 0.015234f, -0.030223f, -0.095496f, 0.025952f, -0.041877f, -0.028499f, 0.029008f, -0.023395f, -0.033585f, 0.026575f, -0.044158f, -0.002721f, -0.050336f, 0.072676f, 0.001275f, -0.053153f, -0.015694f, 0.001200f, -0.005345f, 0.016879f, -0.035499f, -0.024621f, 0.007969f, 0.014606f, 0.008529f, 0.007080f, 0.027586f, -0.032021f, -0.012270f, -0.073585f, 0.027289f, 0.006794f, -0.022453f, 0.053009f, 0.029055f, -0.021895f, 0.081305f, 0.017874f, -0.051084f, 0.038413f, 0.006693f, 0.024922f, 0.053699f, -0.005213f, -0.013121f, 0.008147f, 0.044276f, 0.024729f, 0.001049f, -0.004803f, 0.047371f, -0.004509f, -0.054886f, -0.009836f, 0.010223f, 0.043061f, -0.019159f, 0.074370f, 0.082652f, -0.052801f, 0.043211f, 0.092400f, -0.024939f, 0.140496f, 0.079672f, -0.035714f, -0.031943f, -0.053540f, -0.059939f, -0.034424f, 0.018932f, -0.010982f, -0.010516f, -0.002341f, -0.008986f, -0.098970f, -0.037983f, -0.097728f, 0.022952f, 0.086657f, -0.032435f, -0.005797f, -0.047231f, 0.023094f, 0.006082f, 0.016274f, 0.024515f, 0.072606f, -0.003417f, 0.032696f, 0.034185f, -0.055464f, 0.002543f, -0.000659f, 0.012191f, 0.023492f, - -0.002914f, -0.013545f, 0.023044f, -0.003931f, -0.012439f, 0.002336f, -0.022547f, -0.006030f, 0.016963f, 0.002572f, -0.009559f, -0.053147f, 0.002914f, -0.024813f, -0.001761f, -0.021013f, 0.044175f, -0.015357f, 0.021664f, 0.025837f, -0.020724f, 0.031297f, 0.020702f, -0.000317f, -0.011105f, -0.020739f, 0.005198f, -0.002951f, -0.011252f, -0.002709f, 0.022101f, -0.017569f, 0.009749f, -0.006815f, 0.016008f, 0.124291f, 0.032942f, -0.044625f, 0.005073f, -0.058571f, -0.007563f, 0.020441f, -0.024180f, -0.031154f, -0.034547f, -0.013201f, 0.013452f, -0.007709f, -0.011015f, 0.015753f, 0.009242f, 0.021376f, -0.021979f, -0.013921f, 0.016080f, -0.005766f, 0.002988f, -0.032352f, 0.022076f, -0.037862f, 0.018312f, 0.012479f, -0.008001f, -0.001707f, 0.001546f, -0.021972f, 0.003849f, 0.004475f, -0.017344f, 0.031645f, -0.016852f, 0.007666f, 0.000351f, 0.001111f, 0.016175f, -0.015598f, -0.024088f, -0.007274f, 0.036758f, -0.027112f, 0.018107f, -0.049728f, -0.029397f, 0.009479f, -0.010561f, -0.000751f, -0.003086f, -0.029909f, 0.031982f, 0.025434f, 0.002525f, -0.021875f, -0.000871f, -0.013273f, 0.006759f, -0.016574f, - -0.000305f, -0.015899f, 0.012197f, -0.004327f, 0.003352f, 0.040344f, -0.033817f, -0.002807f, 0.006285f, 0.002571f, -0.007143f, 0.001080f, -0.015907f, 0.001054f, -0.013289f, 0.008425f, 0.016144f, -0.024236f, -0.019989f, 0.011837f, 0.001778f, -0.005612f, -0.019028f, 0.008508f, 0.002850f, -0.000635f, -0.004119f, 0.000371f, -0.004159f, 0.013649f, -0.008675f, -0.002270f, 0.006531f, -0.004284f, -0.000445f, 0.011008f, -0.006925f, -0.004491f, -0.002479f, 0.002551f, 0.011418f, -0.003526f, -0.012227f, 0.001035f, -0.007764f, 0.029264f, -0.011395f, 0.003865f, 0.006934f, -0.007047f, 0.023431f, -0.002994f, -0.019717f, 0.007526f, -0.011116f, 0.014604f, 0.007348f, -0.002812f, -0.000879f, -0.004945f, -0.005110f, 0.014469f, -0.008953f, -0.003847f, -0.001149f, -0.011888f, 0.016209f, -0.059631f, -0.088158f, 0.061438f, 0.282308f, 0.123681f, 0.129386f, -0.000827f, -0.261314f, -0.189126f, -0.098394f, -0.205926f, 0.099976f, 0.122882f, 0.063865f, 0.266350f, 0.119747f, -0.011530f, 0.088310f, -0.172299f, -0.219752f, -0.125384f, -0.153955f, -0.033139f, 0.118999f, 0.121939f, 0.051030f, 0.204822f, 0.101609f, -0.014175f, - 0.098469f, -0.090566f, -0.155556f, -0.089109f, -0.117035f, -0.183536f, 0.067588f, -0.001478f, -0.065968f, 0.197880f, 0.119029f, 0.067167f, 0.202390f, 0.049117f, -0.102881f, 0.099894f, -0.146667f, -0.166945f, -0.034286f, -0.175592f, -0.178460f, 0.070784f, -0.029596f, 0.043390f, 0.224819f, 0.154344f, 0.160272f, 0.151591f, 0.018264f, -0.084505f, -0.098123f, -0.163779f, -0.215416f, -0.112597f, -0.061465f, -0.044213f, 0.082113f, 0.128563f, 0.120292f, 0.170860f, 0.153882f, -0.023378f, -0.027341f, -0.027297f, -0.158250f, -0.047018f, -0.078008f, -0.117087f, 0.026146f, 0.048617f, 0.007660f, 0.109956f, 0.048728f, 0.001457f, 0.068438f, -0.052304f, -0.058270f, 0.002088f, -0.037924f, -0.011401f, 0.028484f, -0.005394f, 0.031641f, 0.042990f, -0.023524f, 0.033944f, 0.013470f, -0.050773f, 0.004743f, -0.023911f, -0.097587f, -0.000799f, -0.024886f, -0.040981f, 0.093976f, 0.028814f, 0.035240f, 0.124195f, 0.048904f, 0.036926f, 0.027121f, -0.060584f, -0.089693f, -0.082353f, -0.139566f, -0.113334f, -0.050853f, 0.005559f, 0.062712f, 0.144287f, 0.151925f, 0.140365f, 0.123621f, 0.077223f, -0.030424f, -0.086635f, - -0.174556f, -0.220259f, -0.170706f, -0.101514f, -0.036057f, 0.094137f, 0.172532f, 0.199253f, 0.203308f, 0.099085f, -0.024019f, -0.065708f, -0.081959f, -0.104886f, -0.076246f, -0.077385f, -0.063134f, -0.007723f, 0.020122f, 0.033231f, 0.054904f, 0.059901f, 0.054342f, 0.050691f, 0.028112f, 0.009877f, -0.005506f, -0.023450f, -0.037672f, -0.032073f, -0.020393f, -0.006436f, -0.001998f, 0.001574f, -0.001046f} - }, - { - {0.008957f, 0.005154f, -0.008124f, -0.001854f, -0.003005f, -0.000260f, 0.012161f, 0.000699f, -0.005208f, 0.006412f, 0.001303f, 0.000656f, 0.002136f, 0.001348f, 0.000104f, 0.009152f, 0.005154f, -0.006192f, -0.002392f, -0.000710f, -0.002181f, 0.002568f, 0.003901f, 0.002625f, -0.002658f, -0.003955f, 0.001516f, -0.007968f, -0.003630f, 0.005986f, 0.000520f, 0.004820f, 0.002460f, -0.003887f, 0.002939f, 0.000053f, -0.003439f, 0.008405f, -0.005630f, -0.002643f, 0.001066f, 0.002892f, -0.003852f, -0.001010f, -0.005529f, -0.010929f, 0.010217f, -0.002050f, -0.005708f, 0.000603f, 0.009392f, 0.000010f, 0.003629f, -0.004672f, -0.002741f, -0.001927f, 0.002880f, -0.003695f, 0.007509f, 0.001188f, 0.006774f, -0.009847f, 0.004157f, -0.002559f, 0.001637f, 0.004183f, -0.001708f, -0.001097f, -0.007286f, 0.000051f, 0.003924f, 0.000893f, -0.002038f, -0.000343f, 0.003491f, -0.001853f, -0.001950f, 0.005519f, -0.002529f, 0.001752f, -0.001061f, -0.000331f, -0.006804f, -0.002791f, -0.001865f, 0.002479f, -0.000522f, -0.003028f, -0.000536f, -0.000617f, -0.001924f, 0.001807f, -0.002300f, 0.000150f, 0.000496f, 0.001162f, - 0.001826f, -0.000807f, -0.001663f, 0.001729f, 0.000330f, -0.001246f, 0.000207f, 0.002946f, -0.000417f, -0.000285f, 0.001158f, 0.000102f, 0.000372f, 0.000478f, -0.000925f, -0.001596f, -0.000939f, 0.001261f, -0.000325f, 0.000142f, 0.000592f, -0.000855f, 0.000792f, 0.000020f, -0.000550f, 0.025675f, 0.008802f, -0.002032f, 0.006952f, 0.000355f, 0.012668f, 0.007960f, -0.001777f, 0.006513f, 0.011375f, 0.014878f, -0.008782f, -0.008595f, 0.003656f, -0.003468f, -0.002874f, 0.010639f, 0.008599f, 0.008190f, 0.005847f, 0.001101f, -0.000335f, -0.003715f, 0.004060f, 0.002835f, 0.013554f, 0.001371f, -0.000293f, -0.005995f, 0.002822f, 0.003969f, -0.000772f, -0.001848f, -0.002120f, 0.003675f, -0.000537f, -0.002186f, -0.004963f, 0.005263f, -0.001766f, -0.001782f, 0.007485f, 0.010618f, -0.002738f, -0.001303f, 0.006141f, 0.005494f, 0.009729f, 0.006026f, 0.002674f, 0.001000f, 0.008284f, 0.004686f, -0.011420f, 0.000010f, 0.003506f, -0.006582f, 0.000172f, 0.001074f, -0.008147f, 0.004147f, -0.003956f, 0.006107f, -0.001317f, -0.001057f, 0.003287f, 0.001055f, -0.005620f, -0.000504f, 0.003121f, -0.001107f, - -0.001391f, -0.001634f, 0.000606f, 0.006498f, 0.001147f, -0.006549f, -0.001557f, 0.001536f, -0.001953f, -0.000836f, 0.009617f, -0.001952f, 0.001169f, -0.001131f, -0.002461f, 0.002171f, 0.003577f, -0.000931f, 0.001625f, 0.001748f, -0.001783f, 0.000846f, 0.001600f, 0.000370f, -0.001187f, -0.003382f, -0.001051f, -0.002037f, -0.000947f, -0.000250f, 0.001071f, -0.000632f, 0.001289f, 0.000703f, -0.000295f, 0.008883f, -0.000692f, -0.016768f, -0.007806f, -0.003253f, -0.003629f, -0.009127f, -0.008384f, -0.005264f, 0.009088f, -0.009985f, -0.004663f, -0.004741f, 0.001828f, 0.015162f, -0.002276f, -0.001202f, 0.003708f, 0.008679f, -0.013268f, -0.002162f, 0.002708f, -0.005855f, 0.004685f, 0.007421f, -0.008181f, -0.000502f, 0.001055f, -0.004754f, -0.012042f, 0.002099f, -0.005070f, 0.001637f, -0.004668f, 0.006897f, -0.008314f, -0.007757f, -0.019112f, -0.005147f, 0.006573f, -0.001061f, -0.007333f, -0.003608f, -0.000922f, -0.007681f, 0.000388f, -0.001289f, 0.005282f, 0.004184f, -0.001979f, 0.000247f, -0.001955f, -0.008108f, 0.009911f, 0.001735f, 0.006699f, -0.002451f, 0.000025f, 0.001752f, 0.002899f, 0.007686f, - -0.002459f, -0.001845f, 0.002271f, -0.000207f, 0.008381f, 0.004489f, -0.007245f, -0.002865f, -0.001807f, -0.011461f, -0.001289f, -0.001073f, 0.006825f, -0.004385f, 0.006220f, 0.001081f, -0.000217f, -0.000626f, -0.001095f, -0.001226f, 0.001327f, -0.004616f, 0.002151f, -0.002656f, 0.002338f, 0.002008f, 0.000900f, 0.000587f, 0.006681f, 0.004917f, -0.001227f, 0.006097f, -0.000826f, -0.002033f, -0.001932f, 0.001206f, -0.000435f, 0.004179f, -0.001077f, 0.002616f, 0.002111f, -0.000353f, 0.001770f, 0.000016f, 0.001854f, 0.001851f, 0.000537f, 0.000648f, 0.002007f, 0.001357f, -0.002745f, -0.001492f, -0.000289f, 0.003400f, 0.003765f, 0.000031f, -0.000400f, 0.002065f, -0.036890f, -0.011556f, -0.003257f, -0.002985f, -0.003080f, 0.014236f, -0.013135f, 0.006318f, -0.003060f, 0.002886f, -0.003747f, -0.003060f, -0.010572f, 0.001725f, -0.003848f, 0.000788f, -0.015349f, 0.000295f, -0.001558f, -0.002766f, -0.000234f, 0.002871f, 0.002345f, -0.001472f, -0.001033f, -0.006177f, 0.001921f, -0.004963f, 0.003275f, -0.000025f, 0.002801f, 0.009574f, -0.002487f, -0.011013f, -0.004676f, -0.012893f, 0.001809f, 0.002299f, - -0.001138f, 0.002207f, -0.004466f, 0.004290f, 0.002249f, -0.005724f, 0.000526f, -0.015496f, -0.003264f, -0.010372f, 0.005700f, 0.010210f, -0.008977f, -0.000730f, 0.002975f, 0.001547f, -0.014720f, 0.002440f, 0.007632f, -0.007111f, -0.003329f, -0.016868f, 0.005764f, -0.002460f, 0.007012f, 0.012455f, 0.007165f, -0.010054f, 0.002179f, 0.002348f, 0.000607f, -0.011176f, 0.002939f, -0.004778f, 0.007486f, -0.003025f, -0.000296f, 0.003462f, 0.003094f, 0.008754f, 0.010053f, 0.006807f, -0.000435f, 0.002504f, 0.006022f, 0.002987f, -0.005806f, -0.001233f, -0.003845f, -0.003964f, 0.001880f, -0.000189f, 0.001048f, 0.000079f, -0.001080f, -0.000348f, 0.003688f, -0.001199f, -0.001084f, 0.000088f, -0.000920f, -0.002658f, 0.003362f, 0.000112f, 0.001650f, 0.003939f, -0.000382f, 0.000428f, -0.002996f, 0.001994f, 0.001496f, 0.000309f, -0.003007f, 0.001024f, 0.000167f, -0.022757f, 0.002443f, 0.004162f, -0.008254f, -0.000936f, 0.022255f, 0.017419f, 0.009344f, -0.002417f, -0.004119f, 0.011186f, 0.006901f, 0.003636f, 0.004143f, -0.008881f, 0.003002f, 0.000945f, 0.010435f, -0.009942f, -0.004643f, -0.001835f, - 0.001260f, -0.001973f, -0.011623f, -0.007762f, -0.008197f, -0.009539f, 0.005266f, 0.006526f, 0.004088f, 0.002937f, 0.000152f, 0.002872f, -0.001510f, -0.001172f, 0.000678f, -0.003422f, -0.001055f, 0.005141f, 0.003898f, -0.007784f, -0.008818f, -0.000744f, -0.008844f, 0.005337f, -0.002719f, -0.014795f, 0.001748f, 0.007631f, 0.010665f, 0.007482f, 0.000371f, 0.007073f, -0.010652f, -0.003340f, -0.004781f, -0.000676f, 0.000706f, 0.004824f, -0.003695f, -0.009651f, 0.011793f, -0.010674f, -0.005182f, 0.007380f, 0.017070f, 0.004105f, 0.003348f, -0.016643f, 0.018034f, 0.002219f, 0.012560f, 0.019451f, -0.004313f, 0.002125f, 0.002229f, -0.007885f, 0.016034f, 0.003814f, -0.005297f, 0.004485f, -0.002277f, 0.007979f, -0.013242f, -0.006993f, -0.013531f, -0.002573f, -0.006017f, 0.005462f, -0.003453f, 0.002351f, -0.006358f, -0.001575f, -0.001265f, -0.004018f, -0.000303f, -0.001483f, 0.001631f, -0.000251f, -0.001797f, -0.000894f, -0.000828f, 0.003237f, 0.000833f, -0.002392f, -0.005526f, 0.003115f, 0.003021f, 0.000600f, -0.000034f, -0.000052f, -0.002311f, 0.001010f, -0.001556f, 0.003372f, 0.000593f, 0.001914f, - -0.001944f, -0.002176f, -0.004395f, 0.034528f, 0.024324f, -0.008672f, -0.012673f, 0.019174f, 0.012502f, 0.020181f, 0.029639f, -0.014932f, 0.010285f, 0.004971f, 0.008621f, 0.003893f, 0.005189f, 0.012289f, 0.003072f, 0.012549f, 0.000436f, -0.007962f, 0.003385f, -0.002544f, 0.004244f, -0.001451f, 0.023016f, 0.003921f, 0.005089f, 0.003154f, 0.000930f, 0.008084f, 0.003439f, 0.000508f, -0.001461f, 0.005796f, -0.004430f, 0.011038f, -0.008563f, 0.013282f, -0.006245f, 0.008047f, 0.004205f, 0.004932f, 0.003898f, 0.019482f, 0.014876f, 0.000968f, -0.004178f, -0.010509f, 0.011531f, -0.012818f, 0.003234f, -0.005588f, 0.005676f, 0.012207f, 0.001471f, -0.020347f, -0.016535f, 0.001740f, -0.010287f, -0.011129f, -0.006435f, -0.012838f, 0.004592f, 0.022333f, 0.011193f, -0.008188f, 0.000516f, 0.002599f, -0.005847f, -0.006552f, -0.001090f, 0.010976f, 0.012178f, -0.012905f, 0.006120f, 0.014317f, 0.002841f, 0.004721f, 0.006895f, 0.011157f, -0.001929f, -0.007596f, 0.002953f, -0.003265f, -0.000662f, -0.007290f, 0.006735f, 0.010543f, 0.001598f, 0.001893f, 0.001442f, -0.007383f, -0.001088f, -0.000122f, - -0.000842f, 0.000749f, -0.001184f, 0.001216f, 0.000883f, 0.003610f, 0.000355f, -0.000067f, 0.000308f, 0.002317f, 0.003956f, 0.002073f, 0.004189f, 0.002300f, 0.000742f, 0.001234f, -0.000934f, -0.006888f, -0.007172f, 0.001441f, 0.005211f, 0.001336f, -0.001609f, 0.001270f, -0.000966f, 0.003305f, -0.002695f, -0.002452f, -0.004518f, 0.001936f, 0.015120f, 0.002982f, 0.021928f, -0.001853f, -0.000346f, -0.007221f, -0.005981f, 0.007473f, 0.016576f, -0.004770f, 0.004336f, 0.001286f, 0.017968f, 0.007563f, -0.008481f, -0.007661f, 0.001106f, 0.003887f, 0.016324f, 0.016184f, 0.024406f, 0.004558f, 0.006741f, -0.004184f, 0.009911f, 0.011462f, -0.004473f, -0.005500f, 0.008730f, -0.006628f, -0.009441f, 0.008936f, 0.002595f, -0.010728f, -0.013377f, 0.020381f, 0.010093f, -0.000542f, 0.012858f, 0.002668f, -0.009125f, 0.019372f, -0.004560f, 0.000741f, -0.000521f, 0.005148f, -0.007054f, 0.005151f, -0.007063f, 0.005021f, -0.006563f, 0.006056f, -0.005374f, 0.008184f, -0.006763f, -0.006649f, 0.017862f, -0.022241f, 0.001221f, 0.002845f, -0.007740f, 0.001688f, -0.025231f, -0.012192f, 0.012009f, -0.009852f, - 0.007368f, -0.002482f, 0.004963f, 0.002393f, 0.004254f, 0.002859f, -0.011449f, 0.006355f, -0.006663f, -0.000550f, -0.014533f, -0.007649f, -0.003651f, -0.003250f, 0.004121f, 0.013903f, 0.007907f, -0.010794f, 0.004245f, 0.002386f, 0.000090f, -0.005062f, 0.000748f, -0.000764f, 0.002684f, 0.001521f, -0.002799f, -0.003482f, -0.001460f, -0.000776f, -0.002120f, 0.008180f, 0.001476f, -0.002756f, -0.001692f, 0.002174f, -0.003234f, 0.000628f, 0.001608f, 0.000399f, 0.000455f, -0.008057f, -0.003360f, -0.001777f, 0.001292f, -0.002012f, -0.000303f, 0.005610f, -0.017828f, -0.015457f, -0.000002f, 0.006635f, 0.012593f, -0.014639f, 0.004264f, -0.013158f, 0.010899f, 0.008258f, -0.017958f, -0.003777f, 0.002007f, -0.021177f, -0.011952f, 0.012832f, -0.001593f, -0.000952f, 0.003122f, -0.001367f, -0.022055f, 0.020204f, 0.001383f, -0.014368f, -0.006896f, 0.002660f, -0.001773f, -0.013809f, -0.004044f, -0.007948f, 0.002377f, -0.000719f, -0.004302f, 0.004391f, -0.019098f, -0.008555f, 0.005053f, 0.025068f, -0.004101f, -0.014770f, -0.010332f, -0.008235f, 0.017181f, -0.018218f, -0.003538f, -0.001284f, -0.019343f, -0.024251f, - 0.006067f, -0.016814f, -0.002564f, 0.002494f, 0.012885f, 0.007132f, 0.001158f, 0.002758f, 0.015367f, -0.006597f, -0.004649f, 0.022609f, -0.014990f, 0.011776f, -0.005066f, -0.005654f, -0.002182f, -0.002730f, 0.024258f, 0.000565f, 0.009509f, -0.024837f, -0.017899f, 0.000611f, -0.003474f, 0.027769f, 0.001028f, 0.018940f, 0.008104f, 0.023685f, 0.014494f, -0.003571f, -0.016341f, -0.006175f, 0.011212f, 0.004849f, 0.007617f, -0.009122f, -0.010170f, -0.002830f, -0.003332f, 0.004929f, -0.002406f, -0.006635f, -0.001068f, -0.001594f, 0.000074f, -0.000792f, 0.001034f, -0.002690f, -0.003545f, 0.004550f, -0.000192f, 0.000319f, -0.001129f, -0.001971f, -0.001434f, 0.001265f, 0.003984f, -0.004005f, 0.001045f, -0.002441f, -0.003541f, 0.002645f, -0.000962f, -0.003380f, -0.003873f, -0.000733f, 0.003891f, 0.000440f, 0.000611f, 0.001473f, 0.006919f, -0.005691f, -0.004653f, -0.002868f, 0.000674f, 0.002803f, -0.029704f, 0.002813f, -0.002911f, 0.020287f, 0.002367f, -0.021609f, 0.025735f, 0.008231f, -0.015097f, -0.033171f, -0.013791f, 0.032667f, 0.001633f, -0.004209f, -0.005470f, 0.003316f, 0.001087f, 0.010038f, - 0.005353f, 0.010759f, -0.002340f, 0.019258f, -0.009963f, -0.022813f, 0.000972f, 0.001005f, -0.005412f, -0.000876f, 0.008538f, -0.005892f, -0.003473f, -0.002029f, 0.018209f, 0.014087f, 0.007324f, -0.001384f, -0.024776f, -0.000516f, -0.001284f, -0.001069f, -0.004109f, -0.000434f, -0.010835f, -0.020246f, -0.003156f, 0.013876f, 0.013540f, -0.005117f, 0.014547f, -0.004715f, 0.006293f, 0.015952f, 0.015297f, -0.033762f, 0.011590f, 0.012154f, 0.005068f, -0.008244f, -0.029569f, 0.017934f, 0.010619f, 0.005723f, -0.010532f, -0.005914f, -0.011928f, 0.006621f, -0.013234f, -0.002471f, 0.000266f, 0.012070f, -0.007462f, 0.006144f, 0.003376f, -0.021641f, -0.002945f, -0.014465f, 0.023749f, 0.010999f, -0.027819f, -0.005907f, 0.022122f, 0.011006f, -0.011428f, -0.005725f, -0.012626f, -0.004275f, 0.006650f, -0.003863f, -0.001470f, -0.004830f, -0.006026f, -0.010584f, 0.002120f, 0.000847f, -0.003333f, -0.001066f, 0.005505f, 0.003676f, -0.006613f, -0.002355f, 0.004997f, -0.001284f, 0.003844f, -0.004391f, -0.002977f, -0.000840f, 0.001083f, 0.005706f, -0.005943f, -0.004263f, 0.003142f, -0.006824f, -0.000439f, -0.004803f, - 0.003035f, -0.003805f, 0.006681f, -0.002287f, -0.001068f, -0.003346f, 0.004303f, 0.002868f, 0.007604f, 0.002368f, 0.018340f, 0.022855f, 0.023005f, 0.017972f, 0.022551f, -0.028424f, -0.018939f, -0.009679f, -0.009511f, -0.013511f, -0.010729f, -0.022779f, -0.008019f, 0.001739f, 0.013467f, 0.000174f, -0.013382f, -0.000431f, 0.013452f, 0.000851f, -0.011586f, -0.005145f, 0.030895f, 0.003200f, 0.011461f, 0.003765f, 0.012621f, 0.002793f, 0.003926f, -0.018986f, 0.010430f, 0.000880f, 0.004166f, -0.019915f, 0.006683f, -0.030675f, -0.000282f, -0.009601f, 0.007370f, -0.002676f, -0.022802f, -0.000403f, -0.022700f, 0.004247f, -0.018914f, 0.017144f, -0.009942f, 0.026871f, 0.000542f, -0.000366f, 0.013179f, 0.003020f, -0.004537f, -0.003814f, 0.005151f, -0.009023f, 0.006009f, 0.016614f, 0.008132f, -0.012166f, -0.006737f, 0.035470f, 0.002396f, 0.028311f, -0.026464f, -0.005399f, -0.003088f, 0.020617f, -0.023137f, 0.003317f, 0.010611f, -0.022607f, 0.015531f, -0.014170f, 0.003827f, 0.022145f, 0.002057f, 0.012507f, 0.005553f, 0.028904f, 0.012150f, -0.011893f, -0.009754f, -0.011460f, 0.001404f, 0.001158f, - 0.011783f, -0.007160f, -0.001719f, 0.007961f, 0.000208f, 0.006146f, 0.007952f, 0.001190f, -0.007042f, 0.008014f, 0.005759f, -0.000753f, 0.002115f, 0.002699f, -0.003318f, -0.002382f, -0.009844f, 0.006331f, -0.004917f, -0.004248f, -0.002246f, -0.004931f, 0.004243f, -0.003369f, -0.001539f, -0.005296f, -0.001704f, -0.001222f, 0.006252f, 0.004718f, -0.000643f, -0.001121f, -0.000827f, 0.003725f, 0.004132f, 0.003948f, 0.008117f, -0.001060f, -0.008717f, -0.028542f, 0.004255f, 0.027941f, 0.020798f, 0.022844f, -0.007634f, -0.005793f, 0.005641f, -0.003891f, 0.028138f, 0.009504f, 0.013371f, 0.023828f, -0.001786f, 0.008962f, -0.016207f, 0.023732f, 0.011759f, -0.005890f, -0.014586f, -0.013433f, 0.015807f, -0.027399f, 0.010650f, 0.015879f, -0.011560f, -0.015269f, -0.008846f, 0.014813f, 0.005422f, -0.005504f, -0.010165f, 0.000263f, -0.017040f, -0.025389f, 0.004516f, -0.024368f, -0.036539f, -0.004517f, 0.001274f, 0.036957f, -0.016059f, -0.012520f, 0.016280f, 0.027241f, 0.027053f, 0.014549f, -0.001822f, 0.006365f, -0.011908f, 0.002153f, -0.012480f, 0.030441f, 0.026622f, 0.017432f, -0.001436f, -0.031028f, - -0.000402f, -0.026496f, 0.029062f, 0.022790f, 0.013905f, -0.021993f, 0.017939f, 0.010387f, 0.012336f, -0.004086f, -0.018937f, -0.013547f, -0.015211f, 0.005103f, -0.021280f, -0.038424f, 0.007249f, 0.026099f, 0.013478f, 0.025622f, -0.008132f, -0.007034f, 0.025521f, 0.008632f, 0.003137f, 0.017203f, 0.005321f, 0.000506f, 0.014433f, 0.009322f, -0.001764f, 0.006765f, 0.006027f, 0.003889f, -0.005313f, -0.008498f, -0.011641f, 0.002994f, 0.006807f, 0.004189f, 0.014504f, 0.000367f, 0.010201f, -0.003384f, 0.003909f, 0.008408f, 0.000692f, -0.003898f, -0.002785f, -0.012440f, -0.011136f, 0.003704f, 0.002202f, 0.004903f, 0.012467f, 0.001873f, 0.009346f, -0.003780f, -0.002690f, 0.001651f, -0.010047f, -0.007544f, -0.003308f, -0.008095f, 0.003254f, -0.002730f, 0.002520f, 0.007167f, 0.009591f, 0.014255f, 0.023592f, 0.049709f, 0.022567f, 0.017120f, 0.016607f, -0.031347f, -0.004550f, -0.011696f, 0.039915f, -0.040603f, -0.037853f, 0.010570f, 0.026157f, -0.001100f, 0.031919f, 0.028301f, -0.001071f, 0.010656f, -0.018672f, -0.014071f, 0.030351f, -0.012241f, 0.020944f, 0.006917f, -0.013084f, -0.007381f, - -0.005642f, -0.007024f, -0.013668f, 0.011274f, 0.012750f, 0.010022f, 0.001252f, -0.016016f, -0.019795f, 0.025572f, -0.025284f, 0.019708f, 0.002124f, -0.031910f, 0.016140f, 0.029612f, -0.000348f, -0.008568f, -0.003551f, 0.002024f, 0.001984f, 0.020068f, -0.000825f, -0.015816f, -0.006174f, 0.017011f, -0.031515f, 0.007247f, -0.005082f, 0.025403f, 0.027486f, 0.017766f, 0.021564f, 0.027652f, 0.020413f, 0.006911f, -0.018020f, -0.021002f, 0.010172f, 0.013268f, -0.000762f, 0.011434f, 0.016406f, 0.042360f, -0.023931f, 0.026644f, -0.015836f, -0.010694f, 0.029656f, 0.004051f, -0.017372f, -0.015763f, -0.016014f, -0.026838f, -0.008809f, -0.013345f, 0.021334f, 0.000079f, -0.016688f, 0.008814f, 0.006069f, -0.004045f, 0.010115f, -0.020575f, 0.013350f, 0.000419f, -0.001689f, -0.002606f, 0.011369f, 0.001489f, 0.003134f, 0.011220f, -0.004664f, 0.001461f, 0.008707f, -0.013338f, 0.009273f, 0.000076f, 0.003566f, -0.006213f, 0.007424f, -0.003026f, 0.001024f, 0.009499f, 0.000205f, -0.002855f, 0.002704f, 0.006256f, 0.008626f, 0.013674f, 0.011673f, 0.003741f, -0.006393f, -0.005906f, -0.019953f, 0.003976f, - -0.016599f, -0.005426f, -0.007155f, -0.007366f, 0.008061f, -0.033324f, -0.005943f, 0.019385f, -0.023919f, 0.000756f, -0.015046f, -0.026325f, 0.038291f, 0.032725f, 0.027371f, 0.012968f, 0.007140f, 0.010766f, 0.028114f, 0.015523f, 0.028823f, -0.010674f, 0.024143f, -0.018187f, 0.029238f, 0.039257f, 0.024626f, 0.019622f, 0.010002f, 0.020268f, 0.020430f, -0.006071f, 0.040645f, 0.009755f, -0.024501f, 0.011625f, -0.024806f, -0.017068f, -0.005078f, -0.038595f, 0.000670f, -0.008230f, -0.010458f, -0.018764f, -0.009751f, -0.005391f, -0.001198f, -0.003808f, 0.001682f, 0.001613f, -0.022145f, -0.014631f, 0.004597f, -0.011699f, 0.009207f, 0.038009f, -0.019157f, -0.001547f, -0.003606f, 0.001405f, -0.018163f, 0.009792f, -0.008722f, 0.029423f, 0.006268f, 0.017575f, 0.027521f, 0.004699f, -0.001821f, -0.018146f, -0.040395f, 0.005336f, 0.030080f, 0.021832f, -0.005685f, -0.026923f, 0.022692f, 0.002393f, 0.013672f, -0.034468f, -0.024743f, -0.022696f, -0.034180f, -0.021161f, -0.025006f, 0.011654f, 0.003703f, 0.008756f, 0.011414f, 0.015787f, -0.007715f, 0.016070f, 0.018270f, 0.000583f, 0.009823f, -0.005856f, - -0.012128f, -0.012478f, -0.013131f, -0.005247f, -0.009575f, -0.000574f, 0.002885f, -0.001254f, 0.000863f, 0.002448f, -0.011115f, -0.010260f, -0.017598f, -0.006013f, -0.004089f, -0.009770f, 0.003857f, 0.001477f, -0.005210f, -0.015894f, -0.007336f, -0.005853f, -0.004124f, 0.013296f, 0.004037f, -0.005776f, -0.007363f, -0.002653f, -0.019123f, 0.005235f, -0.003920f, 0.009892f, 0.001095f, -0.005988f, -0.011297f, 0.011774f, 0.016734f, -0.057130f, -0.036651f, -0.017358f, 0.040815f, 0.029814f, -0.022179f, 0.025561f, 0.022980f, 0.019694f, 0.019190f, -0.019111f, 0.001929f, 0.011160f, -0.019099f, -0.057538f, -0.010539f, -0.015908f, -0.035340f, 0.003277f, -0.012065f, -0.008953f, 0.010792f, 0.006516f, -0.007866f, 0.001791f, 0.027001f, 0.028980f, -0.053109f, 0.012730f, 0.002709f, 0.024676f, 0.008372f, 0.001449f, -0.033065f, 0.010209f, -0.008468f, -0.009073f, -0.022730f, -0.016801f, 0.042573f, -0.019199f, -0.000742f, 0.005192f, -0.011222f, 0.047188f, 0.022379f, -0.020829f, -0.012640f, -0.036702f, -0.005275f, 0.035332f, 0.010377f, 0.010783f, -0.011511f, 0.021642f, -0.005014f, -0.009140f, 0.019858f, -0.011582f, - 0.032892f, -0.007565f, 0.024525f, -0.049698f, -0.016812f, 0.028722f, 0.007100f, -0.004423f, 0.008118f, -0.054988f, -0.025994f, 0.008556f, -0.021915f, 0.008605f, 0.002342f, 0.006308f, 0.033939f, -0.012475f, 0.013766f, -0.002488f, -0.027372f, -0.004582f, 0.020944f, 0.030337f, -0.000834f, -0.012430f, -0.023169f, 0.000848f, -0.032397f, -0.010380f, 0.002967f, 0.038500f, 0.034318f, 0.004885f, 0.014514f, 0.004525f, -0.005557f, 0.019206f, 0.014501f, -0.007284f, 0.015905f, 0.012134f, 0.006483f, -0.012925f, -0.000738f, -0.006568f, 0.011668f, 0.008300f, 0.010405f, -0.000563f, -0.015409f, 0.014996f, 0.000869f, -0.006958f, -0.014991f, -0.000410f, -0.001022f, -0.014012f, 0.010270f, -0.010083f, -0.016361f, 0.019079f, -0.007268f, -0.005961f, -0.008154f, 0.004568f, 0.002897f, 0.015415f, 0.003536f, -0.002129f, 0.006460f, 0.009737f, -0.016551f, 0.005101f, 0.011153f, -0.025692f, -0.070820f, -0.006860f, -0.007878f, -0.008552f, 0.011711f, -0.029370f, 0.056846f, -0.011056f, 0.003209f, 0.061073f, -0.072144f, -0.008405f, -0.013564f, -0.007780f, -0.082751f, 0.003813f, -0.012252f, -0.016979f, 0.028942f, -0.029503f, - 0.005031f, 0.004607f, 0.014116f, -0.003494f, -0.029791f, 0.019926f, -0.019366f, 0.042476f, -0.006873f, -0.050047f, -0.003044f, -0.002554f, -0.024239f, -0.050431f, 0.022803f, 0.024307f, -0.040920f, 0.032946f, -0.036963f, -0.030093f, -0.017418f, 0.002340f, 0.003533f, 0.004647f, 0.024456f, -0.005490f, -0.022337f, -0.054957f, 0.011500f, -0.073966f, -0.038325f, -0.026069f, -0.058047f, -0.035628f, -0.016415f, -0.004575f, -0.027025f, 0.040832f, 0.043458f, 0.008565f, -0.012544f, 0.046507f, 0.021840f, -0.006433f, -0.010311f, 0.033191f, 0.025624f, -0.012696f, 0.045629f, -0.039008f, -0.019090f, 0.048434f, 0.023644f, 0.068347f, -0.037527f, -0.043698f, 0.011406f, -0.033490f, 0.035296f, 0.002695f, 0.012517f, 0.064886f, -0.036000f, -0.040040f, -0.013992f, 0.012626f, 0.015407f, 0.015525f, 0.017240f, 0.018013f, -0.019940f, 0.006935f, 0.003471f, -0.002553f, -0.001986f, -0.014723f, -0.010484f, 0.018113f, -0.020462f, -0.002187f, 0.004574f, -0.011218f, 0.002958f, -0.011489f, -0.000391f, -0.002293f, 0.004678f, -0.017867f, 0.008857f, 0.019613f, 0.006502f, 0.003793f, 0.023335f, 0.015668f, -0.001285f, -0.023448f, - 0.020658f, 0.003881f, -0.007375f, -0.017846f, 0.021416f, 0.001829f, 0.000954f, 0.011500f, 0.016650f, -0.022449f, 0.011216f, 0.005446f, -0.014827f, -0.007695f, -0.023897f, 0.015405f, -0.003234f, -0.026166f, -0.013628f, 0.006958f, 0.055360f, 0.031944f, -0.005508f, 0.075597f, -0.009033f, 0.031181f, -0.035927f, 0.044223f, 0.041108f, -0.003539f, -0.033619f, 0.003745f, 0.011683f, -0.018353f, 0.019327f, -0.026889f, -0.000782f, -0.008106f, -0.009241f, -0.030587f, -0.022875f, -0.013794f, -0.002219f, -0.009753f, -0.024542f, 0.036187f, 0.024348f, 0.006900f, -0.010376f, 0.006360f, 0.034301f, 0.016532f, 0.025127f, 0.016241f, -0.019249f, -0.029077f, 0.058891f, -0.007523f, -0.032655f, -0.013260f, -0.014191f, -0.007504f, 0.042552f, 0.002075f, -0.033300f, -0.012378f, -0.082356f, -0.019978f, -0.009892f, 0.050809f, 0.034658f, -0.099520f, -0.043227f, -0.024028f, -0.000759f, 0.005250f, -0.040074f, 0.029569f, 0.015442f, 0.025767f, 0.049799f, -0.065196f, 0.063797f, 0.046225f, -0.021029f, -0.043700f, 0.002581f, -0.010714f, 0.016833f, 0.058542f, -0.030407f, -0.033545f, 0.047332f, -0.055733f, -0.062852f, -0.024987f, - 0.006230f, -0.017704f, -0.068846f, -0.027529f, -0.022373f, 0.001293f, 0.003602f, -0.019422f, -0.001539f, 0.003189f, 0.000680f, 0.006077f, -0.043547f, -0.015030f, -0.014512f, 0.003013f, 0.012007f, -0.003006f, -0.013997f, -0.007868f, 0.004507f, 0.022363f, 0.023574f, -0.003087f, -0.020652f, -0.005143f, 0.030037f, 0.001992f, -0.007917f, 0.006482f, -0.040939f, -0.011836f, -0.019340f, 0.002897f, 0.007017f, -0.039452f, -0.040443f, 0.010263f, 0.035114f, -0.014910f, 0.022981f, 0.007284f, -0.011330f, -0.003119f, 0.009339f, 0.007235f, -0.003310f, 0.007187f, 0.052112f, 0.007196f, 0.019493f, -0.040642f, -0.064589f, 0.093259f, 0.046468f, 0.004387f, 0.005953f, -0.020790f, -0.054971f, 0.019388f, -0.004422f, 0.047160f, 0.010356f, 0.017600f, 0.051381f, 0.028657f, -0.000740f, -0.005345f, 0.008552f, -0.031270f, -0.026004f, -0.033258f, -0.018808f, 0.031078f, -0.008633f, 0.002102f, 0.038513f, -0.006500f, 0.016802f, -0.053580f, -0.048437f, -0.032607f, 0.027737f, 0.011496f, -0.001959f, 0.012924f, -0.017258f, -0.048170f, 0.060818f, -0.057799f, 0.026521f, 0.027686f, 0.021512f, 0.009820f, 0.036748f, -0.023687f, - -0.059453f, 0.043951f, 0.124047f, -0.021769f, 0.059905f, -0.072163f, -0.039207f, 0.044818f, 0.025954f, -0.066990f, -0.019122f, -0.005537f, 0.058060f, -0.014368f, -0.006538f, -0.091137f, -0.058888f, -0.020843f, -0.067254f, 0.056153f, 0.059474f, 0.094357f, -0.083703f, 0.035998f, 0.010199f, -0.046287f, -0.002932f, -0.002082f, -0.096678f, 0.068883f, -0.028905f, 0.032587f, -0.010174f, 0.005472f, 0.130203f, -0.035126f, 0.044978f, 0.030039f, -0.031910f, 0.057001f, -0.000392f, -0.010822f, 0.003152f, 0.014813f, 0.036418f, 0.022637f, 0.014280f, -0.001144f, 0.034437f, -0.032459f, -0.016430f, 0.002909f, 0.008329f, 0.016318f, -0.009324f, 0.028278f, 0.003385f, 0.012672f, -0.005891f, 0.021487f, -0.002223f, -0.031000f, 0.017495f, -0.038116f, -0.023102f, -0.008685f, 0.015956f, -0.003853f, 0.019126f, 0.045089f, 0.068753f, 0.050246f, 0.013242f, 0.032436f, -0.019097f, 0.016658f, -0.001726f, -0.001082f, -0.003515f, 0.007048f, -0.014936f, 0.019353f, -0.018407f, -0.083125f, -0.047130f, -0.001718f, -0.012589f, -0.027861f, 0.010101f, 0.026801f, 0.002781f, -0.029446f, -0.001478f, -0.028228f, 0.076450f, -0.023484f, - 0.001759f, 0.057947f, -0.003249f, -0.059454f, -0.041353f, -0.040639f, -0.017993f, -0.021639f, 0.063695f, 0.006596f, 0.010515f, 0.031740f, -0.017444f, -0.017779f, -0.010689f, -0.018124f, -0.038828f, -0.009130f, 0.073013f, 0.023554f, 0.017365f, -0.048518f, 0.017914f, 0.003799f, -0.034540f, -0.004036f, -0.017300f, 0.079212f, -0.062637f, -0.054089f, -0.019043f, 0.009879f, -0.018647f, 0.002413f, 0.021407f, -0.041241f, -0.011057f, 0.067102f, -0.054051f, 0.009496f, -0.013527f, -0.032874f, -0.057329f, -0.043826f, 0.002151f, -0.079864f, -0.096547f, 0.022920f, 0.019808f, 0.015505f, -0.086269f, 0.066637f, 0.080981f, -0.027492f, -0.023419f, 0.005046f, -0.003348f, -0.018255f, -0.044811f, 0.032479f, 0.122185f, 0.031707f, -0.030163f, 0.000586f, 0.019418f, 0.040748f, 0.011057f, -0.072302f, -0.064454f, 0.069839f, -0.013358f, -0.028594f, -0.042102f, 0.014490f, 0.079860f, 0.024441f, -0.025234f, 0.014706f, -0.003089f, -0.014235f, -0.006975f, -0.004289f, 0.035340f, 0.019515f, -0.012004f, -0.019564f, 0.015999f, 0.009255f, -0.002964f, -0.008110f, 0.012934f, -0.018925f, 0.011746f, 0.030594f, -0.002814f, -0.016965f, - -0.005088f, -0.010934f, -0.018532f, -0.034315f, 0.005002f, 0.026136f, -0.017505f, -0.021658f, 0.010683f, -0.027026f, 0.000160f, -0.043943f, 0.021081f, 0.027334f, 0.069955f, -0.022310f, -0.009529f, -0.029008f, -0.029714f, 0.008351f, 0.015414f, 0.029058f, -0.003505f, -0.006343f, -0.029334f, 0.011750f, 0.007223f, 0.008754f, 0.018503f, 0.021286f, -0.026427f, -0.069767f, 0.019325f, 0.027253f, -0.103287f, 0.056581f, 0.002475f, -0.029451f, 0.009949f, 0.037693f, -0.053353f, 0.032971f, -0.049537f, 0.013382f, -0.002821f, -0.025001f, -0.013830f, -0.006774f, -0.036450f, 0.026151f, 0.022955f, -0.001069f, 0.012691f, 0.001587f, 0.020318f, 0.026412f, 0.025622f, 0.037883f, 0.032627f, -0.020143f, 0.005149f, -0.041338f, 0.043905f, -0.033890f, 0.010815f, -0.006531f, 0.009020f, 0.002150f, -0.031221f, 0.028478f, -0.015780f, -0.030256f, 0.063571f, -0.050789f, 0.015349f, -0.014639f, -0.025149f, 0.025632f, -0.006514f, 0.007617f, 0.039654f, -0.047799f, 0.002037f, -0.058567f, -0.115325f, -0.002922f, 0.036884f, -0.013839f, 0.148471f, 0.030235f, -0.057877f, 0.016332f, -0.080786f, 0.028125f, 0.057974f, 0.068396f, - -0.023401f, -0.013447f, -0.089823f, -0.103041f, -0.008570f, -0.064222f, 0.015329f, -0.004011f, -0.055991f, -0.013086f, -0.027674f, -0.061350f, 0.050412f, 0.099032f, -0.027676f, 0.007042f, 0.021456f, -0.026194f, 0.030726f, 0.039087f, -0.027010f, 0.004600f, 0.000197f, -0.049213f, 0.024715f, 0.004230f, 0.015064f, 0.018106f, -0.034722f, 0.013711f, -0.018376f, -0.027862f, -0.031553f, 0.026995f, -0.019543f, 0.011154f, -0.030499f, -0.010946f, -0.001990f, -0.037223f, 0.036650f, -0.023556f, 0.007408f, 0.011263f, -0.034681f, -0.005557f, 0.026905f, -0.003058f, 0.003914f, 0.006090f, -0.010067f, 0.016598f, 0.034700f, -0.004011f, 0.020193f, 0.023831f, -0.029485f, -0.055993f, 0.019077f, 0.008003f, 0.032501f, 0.038990f, -0.050666f, -0.049683f, 0.008807f, -0.073590f, 0.015131f, -0.005305f, -0.042969f, 0.019373f, -0.027914f, -0.018765f, -0.034685f, 0.017728f, -0.037766f, 0.048379f, -0.005173f, 0.017955f, -0.011173f, 0.064967f, -0.017667f, 0.035713f, -0.000613f, 0.042567f, -0.011889f, -0.021384f, 0.013852f, -0.024209f, -0.025685f, 0.003568f, 0.048333f, 0.031177f, -0.032935f, 0.035249f, -0.024705f, -0.037723f, - 0.010652f, 0.051809f, -0.019903f, -0.020983f, 0.027658f, 0.012510f, -0.025767f, 0.002987f, 0.035191f, -0.014569f, -0.033853f, 0.018552f, 0.014117f, 0.021735f, 0.039636f, 0.008423f, -0.023905f, -0.007751f, 0.087066f, 0.091566f, -0.025263f, -0.075616f, 0.058101f, -0.025202f, 0.016406f, 0.008364f, 0.098053f, 0.013607f, -0.050852f, -0.018460f, -0.012298f, 0.002899f, 0.015208f, 0.023806f, 0.031901f, -0.037700f, 0.012206f, 0.008763f, 0.056885f, -0.014019f, 0.040100f, 0.043246f, 0.023913f, 0.020716f, 0.012486f, 0.034481f, -0.032811f, 0.037096f, 0.047055f, 0.034076f, 0.005818f, -0.066372f, -0.009850f, -0.042733f, 0.002097f, 0.029028f, 0.009799f, -0.014466f, -0.023271f, -0.013479f, -0.003609f, -0.001479f, 0.012331f, -0.013570f, 0.003875f, -0.001209f, -0.010306f, 0.020507f, 0.008043f, -0.017940f, -0.008433f, -0.004426f, 0.024917f, 0.000234f, 0.005231f, -0.023594f, -0.016907f, -0.031375f, -0.014724f, -0.001669f, -0.002838f, 0.000697f, -0.005343f, -0.028078f, 0.007489f, -0.009408f, -0.004462f, 0.004498f, -0.007724f, -0.000107f, -0.024374f, -0.005550f, 0.001237f, 0.000694f, 0.000735f, -0.005952f, - -0.005975f, -0.001828f, -0.009515f, -0.013492f, 0.103720f, 0.043080f, -0.046302f, 0.010892f, -0.048388f, -0.026835f, -0.002973f, 0.017265f, -0.007414f, 0.037489f, -0.044719f, -0.001782f, 0.018164f, -0.001896f, 0.018877f, -0.003069f, 0.006869f, 0.003949f, -0.031937f, -0.010529f, 0.008875f, -0.030535f, -0.029988f, 0.002175f, 0.008205f, -0.021824f, 0.015742f, 0.014450f, -0.008647f, -0.015538f, -0.002026f, 0.002908f, -0.004910f, 0.012363f, 0.003674f, 0.009659f, -0.012910f, -0.006024f, 0.024044f, -0.000360f, 0.001628f, 0.011042f, -0.007218f, 0.012258f, -0.011646f, -0.022772f, -0.014125f, 0.022748f, -0.017955f, -0.013886f, 0.001862f, -0.018593f, -0.019245f, 0.027758f, -0.027561f, 0.044098f, 0.010194f, -0.020093f, 0.019922f, 0.002715f, -0.032516f, 0.002507f, -0.005448f, -0.006156f, 0.016111f, -0.000881f, -0.018884f, 0.037460f, -0.022232f, -0.009185f, 0.020059f, 0.005920f, -0.007772f, 0.000598f, 0.006537f, -0.001005f, -0.001112f, -0.004288f, 0.009187f, 0.015344f, -0.000118f, -0.026599f, 0.019265f, -0.013902f, -0.001535f, 0.022062f, -0.000984f, -0.007243f, -0.000422f, -0.019768f, 0.009881f, 0.006334f, - -0.001657f, 0.000051f, 0.008415f, -0.019259f, 0.001881f, -0.006849f, 0.002411f, 0.007433f, 0.002514f, -0.008405f, 0.019024f, -0.028529f, 0.004199f, 0.002948f, -0.001489f, 0.003107f, -0.003631f, -0.016274f, 0.018044f, -0.008516f, 0.013038f, -0.000169f, -0.001532f, 0.016139f, 0.006686f, -0.014206f, 0.005739f, -0.007350f, -0.005502f, 0.002794f, 0.010978f, 0.010269f, -0.003655f, -0.014027f, 0.007507f, -0.008144f, -0.062538f, -0.075206f, 0.063432f, 0.256890f, 0.100519f, 0.117856f, 0.001619f, -0.240515f, -0.177107f, -0.092588f, -0.141128f, 0.063333f, 0.121575f, 0.050131f, 0.214906f, 0.121602f, -0.008052f, 0.050517f, -0.108605f, -0.219157f, -0.087427f, -0.152215f, -0.024295f, 0.105483f, 0.088892f, 0.080451f, 0.133978f, 0.082660f, 0.022772f, 0.036819f, -0.009925f, -0.155929f, -0.068869f, -0.056142f, -0.215427f, 0.039996f, 0.028306f, -0.095660f, 0.155273f, 0.153633f, -0.005179f, 0.194377f, 0.095623f, -0.090239f, 0.060372f, -0.089711f, -0.186731f, -0.014781f, -0.112766f, -0.163426f, 0.028961f, 0.017530f, -0.009686f, 0.152460f, 0.147051f, 0.087823f, 0.130914f, 0.079562f, -0.050797f, -0.057295f, - -0.101878f, -0.174692f, -0.128853f, -0.061477f, -0.057573f, 0.031397f, 0.098773f, 0.067500f, 0.108513f, 0.163771f, 0.063802f, -0.021477f, -0.020377f, -0.113199f, -0.091342f, 0.008444f, -0.104862f, -0.047607f, 0.057076f, 0.014101f, 0.071424f, 0.057412f, -0.029101f, 0.019184f, -0.005761f, -0.039041f, 0.008794f, -0.017390f, -0.017533f, 0.036279f, 0.012716f, 0.015409f, 0.048360f, -0.027609f, -0.010579f, 0.026273f, -0.035757f, -0.029395f, 0.013845f, -0.085945f, -0.014121f, 0.029641f, -0.069150f, 0.034087f, 0.043547f, 0.004760f, 0.109045f, 0.103657f, 0.024047f, 0.042180f, -0.029972f, -0.092328f, -0.046129f, -0.122923f, -0.139469f, -0.079078f, -0.033426f, 0.026701f, 0.133573f, 0.154601f, 0.162073f, 0.143875f, 0.082390f, -0.017625f, -0.089962f, -0.142717f, -0.199087f, -0.170387f, -0.093493f, -0.024013f, 0.080935f, 0.144724f, 0.144592f, 0.129207f, 0.084328f, -0.015257f, -0.025241f, -0.040827f, -0.061691f, -0.043854f, -0.038289f, -0.045626f, -0.024071f, -0.012222f, -0.010065f, 0.010202f, 0.028290f, 0.036998f, 0.048388f, 0.044559f, 0.035706f, 0.016673f, 0.004294f, -0.014880f, -0.019821f, -0.021536f, - -0.012019f, -0.006727f, 0.000043f, -0.001458f}, - {0.001000f, 0.006407f, -0.008711f, -0.007089f, -0.001217f, 0.006868f, 0.010120f, -0.004765f, 0.005910f, -0.003272f, -0.008428f, -0.002310f, -0.004711f, 0.002771f, -0.001160f, -0.004072f, 0.003734f, 0.005669f, 0.001270f, 0.006853f, -0.012556f, -0.013566f, -0.008717f, 0.001264f, -0.000034f, -0.002318f, 0.000654f, 0.004143f, -0.001357f, 0.005594f, 0.004620f, -0.005925f, 0.002255f, -0.000442f, 0.007242f, 0.006681f, 0.002518f, -0.007095f, 0.004652f, -0.004226f, 0.002365f, 0.004659f, -0.011341f, 0.012393f, 0.018195f, 0.002385f, 0.008244f, -0.006697f, -0.001356f, -0.006287f, -0.003271f, 0.005641f, -0.001887f, -0.006502f, -0.001728f, -0.004092f, 0.003132f, -0.003991f, -0.003635f, 0.000369f, 0.003323f, -0.003308f, -0.003743f, -0.001616f, 0.006461f, 0.005826f, -0.004924f, -0.001805f, -0.005818f, 0.001344f, 0.007676f, 0.002140f, -0.002817f, -0.003664f, 0.002885f, -0.001026f, -0.005238f, -0.001905f, -0.003539f, -0.000502f, -0.001900f, 0.003043f, 0.002838f, 0.001534f, -0.001687f, -0.002313f, 0.005172f, -0.000695f, 0.001403f, 0.002694f, -0.000777f, -0.000065f, -0.001079f, 0.001587f, 0.000204f, 0.000405f, - -0.001521f, 0.000222f, -0.000486f, -0.001497f, 0.000068f, -0.000225f, 0.001112f, 0.002736f, -0.001522f, 0.000644f, -0.000301f, 0.001337f, 0.001619f, -0.000384f, -0.000676f, -0.000331f, -0.000091f, -0.001445f, -0.000618f, 0.000663f, -0.000565f, 0.000288f, -0.000040f, 0.001225f, 0.000256f, 0.027993f, 0.012883f, -0.000972f, 0.005860f, 0.005320f, -0.006716f, -0.003295f, 0.007761f, 0.003528f, 0.008446f, -0.006146f, 0.012283f, 0.004611f, -0.012131f, 0.009618f, 0.000505f, -0.000225f, -0.006407f, 0.007035f, -0.013118f, -0.011257f, -0.002421f, -0.004008f, -0.002189f, -0.004027f, 0.001505f, -0.002449f, -0.005465f, -0.003951f, 0.004545f, -0.004989f, 0.003168f, 0.002000f, 0.001258f, -0.005507f, 0.007691f, -0.016152f, -0.002862f, -0.000103f, -0.002854f, -0.002044f, 0.001364f, 0.002996f, -0.005206f, 0.004099f, -0.006304f, 0.005984f, 0.001868f, 0.001294f, 0.006157f, -0.004389f, -0.001088f, 0.002486f, 0.009651f, 0.002375f, 0.004025f, -0.002259f, -0.008448f, -0.011769f, 0.002118f, 0.006348f, 0.008280f, -0.003441f, -0.013176f, 0.001923f, -0.005415f, -0.003694f, -0.003086f, 0.003608f, 0.000336f, 0.012805f, - -0.000432f, 0.004287f, 0.002467f, -0.001980f, -0.003395f, -0.003619f, -0.013467f, -0.003980f, -0.002247f, -0.001865f, -0.002623f, 0.002454f, 0.006664f, 0.001834f, 0.006318f, -0.000115f, -0.000661f, -0.002083f, 0.001694f, 0.002278f, -0.000701f, -0.002646f, 0.002200f, -0.001387f, 0.000828f, -0.001185f, 0.001113f, -0.001978f, -0.001254f, 0.001769f, 0.000526f, 0.000974f, -0.000762f, 0.000577f, -0.001297f, 0.015061f, 0.003529f, -0.012754f, -0.014423f, 0.003940f, -0.004374f, -0.011987f, 0.013617f, -0.006690f, -0.002187f, -0.001873f, 0.010689f, 0.002224f, -0.006135f, 0.007458f, -0.005755f, 0.011282f, -0.015575f, -0.010320f, 0.012482f, -0.012995f, -0.013060f, -0.005277f, 0.010676f, 0.004643f, 0.005135f, -0.001264f, 0.009572f, 0.005753f, -0.000946f, -0.012598f, 0.003446f, -0.003515f, 0.004571f, 0.003976f, 0.003472f, 0.010904f, 0.002972f, -0.010777f, 0.001035f, 0.007473f, 0.011047f, 0.003691f, -0.005978f, -0.001441f, -0.008839f, 0.003784f, -0.015716f, -0.000632f, 0.017076f, 0.000898f, 0.001877f, -0.008748f, -0.010758f, 0.001646f, 0.002414f, 0.012510f, -0.002671f, 0.001066f, 0.001375f, -0.001863f, - 0.001346f, 0.004152f, 0.000805f, 0.008800f, -0.002328f, 0.005843f, 0.000930f, 0.001575f, 0.001125f, 0.010329f, 0.000499f, -0.001446f, 0.001979f, -0.002208f, -0.006918f, -0.003724f, -0.007133f, -0.000166f, 0.013086f, 0.002731f, -0.004183f, -0.001459f, -0.007350f, 0.004230f, -0.005736f, -0.004078f, 0.001494f, 0.000225f, 0.000520f, -0.003343f, -0.004662f, -0.000969f, 0.001263f, -0.001581f, 0.002813f, -0.000287f, 0.000086f, 0.002684f, 0.001761f, 0.002705f, 0.002315f, -0.000007f, 0.000980f, -0.002154f, 0.000222f, -0.001907f, -0.001974f, 0.001487f, 0.001851f, 0.003110f, 0.002343f, -0.001459f, -0.000273f, 0.001665f, -0.001084f, -0.002316f, 0.001447f, 0.000377f, -0.034626f, -0.022715f, -0.004934f, 0.003709f, 0.005639f, 0.000523f, 0.000012f, -0.013307f, -0.000759f, -0.002950f, -0.002157f, 0.000226f, -0.003310f, -0.001592f, -0.009734f, 0.005018f, -0.020547f, -0.007601f, 0.001912f, -0.004205f, -0.006234f, -0.003675f, -0.011661f, -0.006014f, -0.004805f, -0.005634f, 0.002663f, -0.009148f, -0.004924f, 0.011184f, 0.007406f, 0.000695f, 0.005476f, 0.003906f, -0.003611f, -0.007603f, 0.004549f, 0.016735f, - 0.001981f, 0.002044f, -0.006545f, -0.005980f, 0.005018f, -0.014447f, -0.007578f, 0.015888f, -0.014498f, 0.004348f, -0.003395f, -0.007407f, 0.003453f, 0.001021f, -0.003973f, 0.000893f, 0.002532f, -0.005098f, 0.000132f, -0.001049f, 0.009923f, 0.008679f, 0.001375f, 0.002305f, 0.004353f, -0.000334f, -0.001831f, -0.003438f, -0.020149f, 0.009758f, 0.006201f, -0.005552f, -0.000132f, -0.008509f, -0.002216f, 0.001168f, -0.006104f, 0.002774f, -0.007424f, -0.004215f, -0.008657f, -0.013009f, 0.008628f, -0.002500f, 0.000476f, -0.010998f, -0.002646f, 0.001391f, 0.001913f, -0.002917f, -0.000411f, -0.000630f, -0.002931f, -0.005700f, 0.001004f, -0.002937f, 0.002542f, -0.000473f, -0.001333f, -0.001188f, -0.000495f, 0.002758f, 0.000584f, -0.004222f, 0.000898f, -0.001283f, -0.000246f, 0.001334f, 0.000734f, -0.001111f, 0.001098f, -0.003316f, 0.001876f, -0.003015f, -0.000828f, -0.029965f, 0.004614f, 0.007031f, -0.001894f, -0.002625f, -0.016598f, -0.006788f, 0.004543f, -0.014815f, -0.014207f, 0.002902f, -0.013516f, -0.006953f, -0.000356f, -0.008153f, 0.004589f, -0.006427f, 0.010119f, -0.005347f, -0.003527f, 0.003199f, - 0.007070f, 0.013110f, 0.008175f, -0.014612f, -0.000814f, -0.001085f, 0.007181f, 0.010803f, 0.018333f, -0.008159f, -0.007242f, 0.009514f, -0.010056f, 0.002326f, 0.002850f, 0.015509f, 0.005655f, 0.008656f, -0.011575f, -0.005104f, -0.015793f, 0.012466f, 0.013019f, 0.015005f, -0.000275f, -0.003229f, -0.010096f, -0.002110f, 0.010047f, -0.004681f, -0.006521f, -0.005969f, -0.007940f, 0.001706f, 0.001809f, 0.002367f, -0.010853f, -0.000145f, -0.010636f, -0.000573f, -0.001637f, 0.004313f, 0.003673f, -0.003249f, -0.004861f, -0.013416f, -0.000844f, -0.001075f, 0.008206f, -0.005182f, 0.013676f, -0.007833f, 0.001647f, 0.006369f, 0.012416f, -0.009656f, 0.002820f, 0.006542f, -0.011289f, 0.005620f, -0.000073f, 0.013815f, 0.004535f, 0.003092f, 0.008419f, -0.000861f, 0.002250f, 0.006531f, 0.002565f, 0.000069f, -0.002494f, 0.000106f, 0.002673f, -0.000894f, 0.003416f, 0.005349f, 0.004294f, -0.002028f, 0.002343f, 0.000337f, -0.001540f, 0.002139f, 0.002730f, -0.000005f, 0.001200f, 0.003422f, 0.002426f, 0.002759f, 0.001231f, -0.001349f, -0.002324f, 0.002637f, -0.002489f, 0.002625f, -0.001480f, 0.000190f, - 0.003200f, 0.002508f, -0.000888f, 0.037072f, 0.031805f, -0.001155f, 0.000957f, 0.016528f, 0.002267f, 0.008088f, -0.004950f, 0.009066f, -0.006986f, 0.016685f, 0.005726f, 0.000012f, 0.003418f, 0.001151f, 0.021147f, 0.014259f, -0.013849f, -0.011556f, 0.004502f, 0.002218f, -0.004433f, -0.003027f, 0.002689f, 0.010118f, 0.007534f, 0.004608f, 0.001094f, 0.005331f, -0.003523f, -0.000300f, 0.011653f, -0.012817f, 0.005144f, 0.015529f, 0.011673f, 0.021120f, -0.002074f, -0.003241f, -0.001837f, 0.001308f, -0.006743f, 0.022952f, 0.021069f, 0.015022f, -0.006999f, -0.002125f, 0.008963f, 0.007268f, -0.006424f, 0.001404f, 0.012061f, -0.004540f, -0.005639f, 0.007636f, -0.022333f, -0.002632f, 0.001241f, 0.003249f, -0.007556f, -0.014642f, 0.005968f, 0.009949f, -0.011875f, -0.004465f, -0.012914f, 0.004772f, 0.000912f, -0.002762f, -0.002774f, -0.011316f, 0.018887f, -0.005020f, 0.002544f, -0.019258f, -0.004557f, -0.009225f, 0.022459f, -0.004020f, -0.003081f, 0.009942f, 0.004627f, -0.000124f, -0.007163f, 0.006583f, -0.004712f, -0.006759f, 0.010415f, 0.009628f, -0.000143f, 0.005985f, 0.000223f, -0.002839f, - 0.005528f, -0.000937f, 0.002160f, -0.001872f, -0.002434f, -0.000702f, 0.004302f, -0.003277f, -0.002432f, -0.000232f, -0.003255f, 0.001070f, -0.002934f, -0.001794f, 0.000284f, -0.000635f, 0.004275f, 0.000030f, 0.001258f, 0.002618f, 0.002745f, 0.000614f, 0.001423f, 0.002139f, 0.005697f, 0.000964f, 0.005370f, 0.000786f, 0.002663f, 0.003781f, 0.024407f, -0.000930f, 0.015419f, 0.021105f, -0.011152f, -0.025952f, 0.001077f, 0.019770f, -0.015302f, 0.013887f, -0.004141f, -0.018778f, -0.008688f, 0.018945f, -0.018505f, -0.016310f, 0.011879f, -0.018863f, 0.006277f, 0.009016f, 0.007394f, -0.005344f, 0.011422f, 0.003234f, 0.002136f, 0.007365f, -0.012069f, 0.016442f, 0.008077f, 0.007144f, -0.003404f, -0.001827f, 0.030622f, -0.010721f, 0.001891f, 0.007978f, 0.015404f, -0.020946f, -0.017258f, -0.016063f, 0.000608f, 0.001189f, -0.001087f, 0.009749f, 0.003022f, 0.017401f, 0.006992f, 0.010197f, -0.001651f, 0.001363f, -0.008615f, 0.015550f, -0.007055f, 0.015337f, -0.008379f, -0.013236f, 0.022810f, 0.018532f, -0.026258f, -0.023171f, -0.015241f, -0.011917f, 0.008250f, 0.001301f, -0.005328f, 0.012068f, - 0.013306f, -0.015993f, 0.009398f, -0.001305f, -0.032011f, -0.010584f, -0.016147f, -0.014649f, 0.005529f, -0.004996f, 0.010497f, -0.002436f, 0.001567f, 0.019126f, 0.019484f, -0.001827f, 0.005116f, -0.001716f, 0.003022f, 0.002737f, -0.006607f, 0.005469f, 0.001590f, -0.000271f, 0.016439f, 0.004922f, -0.000130f, 0.000470f, -0.002951f, 0.004838f, -0.000551f, 0.003176f, -0.003573f, -0.000221f, -0.003768f, 0.000976f, 0.004269f, 0.001324f, -0.000026f, -0.000541f, 0.003733f, 0.002386f, -0.002380f, 0.000297f, -0.000117f, 0.000536f, 0.001889f, 0.000810f, -0.013917f, -0.019393f, 0.011623f, -0.011125f, -0.008255f, -0.006887f, -0.022648f, -0.002313f, 0.010048f, -0.006049f, -0.001405f, -0.008189f, 0.018591f, 0.002950f, 0.011829f, 0.009135f, -0.015047f, 0.015498f, 0.023054f, -0.006993f, -0.009462f, 0.002569f, -0.004040f, 0.010057f, -0.028580f, 0.011029f, 0.024703f, -0.003194f, -0.008118f, -0.006952f, 0.010732f, 0.022250f, -0.005276f, 0.005695f, -0.009903f, 0.015279f, -0.018304f, -0.006901f, 0.003540f, -0.002750f, -0.014204f, 0.026238f, 0.018409f, 0.013913f, -0.005829f, -0.019568f, -0.002433f, -0.027845f, - 0.004823f, -0.001912f, -0.000900f, -0.000459f, -0.004222f, 0.015285f, 0.012832f, -0.019300f, 0.010860f, -0.011502f, 0.016071f, -0.001341f, -0.003257f, -0.001198f, -0.017020f, -0.003113f, -0.015526f, -0.034241f, -0.001558f, 0.004167f, 0.002720f, -0.013053f, -0.000441f, -0.003628f, -0.025674f, 0.000672f, 0.022313f, -0.013940f, 0.005849f, 0.007436f, -0.002816f, 0.001742f, -0.006588f, -0.003745f, 0.005252f, 0.006512f, 0.007011f, -0.001611f, -0.004461f, -0.001541f, -0.004795f, 0.004107f, 0.001952f, -0.003883f, -0.001151f, -0.003555f, -0.004039f, -0.000362f, -0.003627f, -0.005363f, 0.003436f, -0.000974f, -0.004222f, 0.003549f, -0.002949f, 0.002961f, 0.004268f, 0.001979f, 0.004104f, 0.003076f, -0.000017f, 0.002920f, 0.009237f, 0.004634f, -0.004547f, -0.002947f, -0.005224f, 0.000221f, -0.006768f, 0.003804f, -0.000363f, 0.005472f, -0.001360f, 0.004314f, -0.000666f, -0.002680f, 0.008731f, 0.004405f, -0.035975f, 0.002400f, 0.021192f, 0.011361f, -0.016320f, -0.013515f, 0.026532f, 0.005964f, 0.006068f, -0.005337f, 0.006966f, -0.000405f, -0.017519f, -0.004738f, -0.018407f, 0.008637f, -0.010911f, -0.001822f, - -0.017931f, -0.020132f, -0.026749f, 0.016689f, 0.011492f, -0.008758f, -0.009449f, 0.007421f, -0.024552f, -0.002387f, 0.001997f, 0.005831f, 0.010989f, 0.005167f, 0.000832f, -0.008676f, 0.003731f, -0.007978f, 0.006654f, -0.007658f, 0.004442f, 0.002154f, -0.007681f, -0.010289f, -0.019210f, -0.012898f, 0.005034f, -0.033152f, -0.008863f, 0.017986f, 0.009779f, -0.004114f, 0.043246f, -0.006372f, 0.020108f, 0.019622f, -0.031281f, 0.001918f, -0.004037f, -0.026668f, -0.013745f, -0.014735f, 0.000600f, 0.002979f, 0.029928f, -0.004923f, 0.003001f, 0.020066f, 0.015115f, -0.003650f, 0.020248f, -0.009663f, -0.007245f, -0.013565f, -0.017688f, -0.026080f, -0.009725f, 0.014685f, -0.028131f, -0.014543f, 0.021985f, 0.015807f, -0.009387f, 0.019849f, -0.008752f, -0.001499f, -0.000748f, 0.009488f, -0.006107f, 0.009456f, -0.005842f, 0.008074f, -0.002225f, 0.003269f, -0.003700f, 0.006513f, 0.006503f, 0.002643f, -0.000970f, 0.007368f, -0.004685f, -0.005591f, 0.005995f, -0.001745f, 0.006530f, 0.004540f, 0.003320f, 0.004193f, 0.002779f, 0.001116f, -0.010738f, -0.002121f, 0.000060f, 0.002936f, -0.002735f, -0.004711f, - -0.003680f, -0.010538f, 0.004127f, -0.000317f, 0.006756f, 0.003616f, 0.006583f, 0.004778f, 0.001538f, 0.002125f, 0.024777f, -0.004263f, 0.007960f, -0.012067f, 0.007113f, 0.010474f, -0.006393f, 0.008971f, -0.013785f, -0.015031f, 0.022996f, 0.012630f, 0.014845f, 0.018448f, -0.000101f, -0.015027f, 0.019866f, -0.017322f, -0.023402f, 0.000428f, 0.021936f, -0.003056f, -0.019013f, 0.002698f, 0.025820f, -0.003619f, 0.007090f, 0.002607f, 0.036227f, 0.002400f, 0.007755f, 0.017988f, -0.002271f, -0.009135f, -0.017351f, 0.002574f, -0.002402f, -0.016555f, 0.000550f, -0.009699f, 0.006660f, 0.024694f, 0.000254f, -0.014677f, -0.004383f, -0.013596f, -0.007300f, -0.001995f, -0.005785f, 0.003472f, -0.018302f, 0.019819f, -0.010374f, 0.033379f, -0.008361f, -0.023979f, 0.001400f, 0.001337f, 0.011810f, 0.005202f, 0.006402f, -0.024590f, -0.020049f, 0.014682f, -0.020877f, -0.028932f, 0.008382f, 0.005965f, -0.006586f, 0.031661f, -0.025579f, -0.035300f, 0.013313f, -0.024039f, 0.002364f, 0.003548f, 0.000732f, -0.023101f, -0.014147f, -0.030102f, 0.010438f, -0.002835f, -0.001626f, -0.004460f, -0.013449f, -0.005845f, - -0.010189f, -0.004828f, -0.003921f, 0.011807f, -0.008797f, 0.009129f, 0.003295f, 0.009422f, 0.001597f, 0.001441f, -0.012309f, -0.004254f, 0.003423f, -0.003717f, -0.013436f, 0.002935f, -0.002122f, -0.004991f, -0.004683f, 0.004583f, -0.005354f, 0.006094f, -0.003034f, 0.007343f, -0.001280f, 0.003893f, -0.006968f, -0.006604f, -0.000151f, 0.000839f, -0.002431f, 0.010962f, -0.009221f, -0.008530f, -0.005749f, 0.005495f, 0.005684f, -0.006837f, 0.001645f, -0.019432f, 0.010839f, 0.000967f, 0.026488f, 0.027530f, 0.040043f, 0.018103f, 0.008615f, 0.005428f, 0.013306f, -0.013669f, 0.015360f, -0.024150f, 0.011865f, -0.002463f, -0.001880f, -0.046195f, -0.017675f, -0.007672f, 0.015852f, -0.002076f, 0.003965f, 0.004892f, 0.004337f, -0.023660f, 0.024528f, -0.001026f, 0.010076f, 0.000708f, 0.022902f, -0.024546f, 0.017143f, -0.012118f, -0.000433f, 0.018329f, -0.020778f, -0.009454f, -0.022657f, -0.009179f, -0.025248f, 0.023028f, 0.017147f, 0.030972f, -0.001382f, 0.007250f, -0.028162f, 0.006344f, -0.029203f, 0.028410f, 0.008207f, -0.004738f, 0.027143f, 0.027452f, 0.014220f, -0.016526f, -0.024381f, -0.035415f, - -0.001434f, -0.012607f, -0.017667f, 0.019055f, -0.005146f, 0.044510f, -0.032927f, -0.012160f, 0.025632f, -0.026717f, -0.010459f, 0.006024f, 0.000587f, -0.003989f, -0.025427f, 0.011553f, 0.004457f, -0.014007f, 0.012754f, 0.026783f, -0.023007f, 0.025848f, 0.032430f, -0.009790f, -0.017012f, 0.013202f, -0.013035f, 0.012189f, 0.007968f, -0.013645f, -0.010439f, -0.002798f, -0.004115f, 0.018843f, 0.006489f, -0.003330f, -0.009112f, -0.015163f, -0.008424f, 0.004653f, -0.009542f, 0.004499f, 0.009213f, 0.005745f, -0.006395f, 0.004845f, -0.005223f, 0.007124f, 0.004776f, 0.007962f, 0.004958f, 0.000269f, -0.008429f, 0.005456f, 0.008540f, -0.008673f, 0.000406f, 0.002859f, 0.003211f, 0.007218f, 0.000718f, -0.001046f, 0.008113f, 0.009811f, 0.001980f, -0.004620f, -0.007698f, -0.000287f, 0.006900f, 0.008366f, 0.005866f, 0.041474f, -0.009440f, 0.005805f, -0.002177f, -0.013741f, 0.018667f, -0.006879f, 0.006941f, 0.002172f, 0.026718f, -0.008463f, 0.031148f, 0.000452f, 0.015524f, 0.013681f, -0.002419f, -0.010158f, -0.030266f, 0.014312f, 0.031575f, 0.001579f, -0.000182f, 0.021810f, 0.018598f, -0.001428f, - 0.003456f, 0.037464f, 0.023549f, -0.006892f, 0.008201f, 0.024597f, -0.006202f, -0.027440f, 0.000672f, -0.019954f, -0.003114f, -0.012689f, 0.001174f, -0.037927f, -0.011284f, -0.013890f, 0.000647f, 0.007803f, 0.007968f, 0.036674f, 0.040659f, 0.021325f, -0.028132f, -0.016715f, 0.022846f, 0.031939f, 0.006771f, -0.029408f, -0.004826f, -0.007066f, -0.030555f, -0.019417f, -0.023142f, 0.028128f, -0.010586f, 0.003739f, -0.028771f, 0.041684f, 0.030838f, -0.003613f, 0.012731f, 0.069277f, -0.003545f, -0.014381f, -0.026725f, -0.001769f, 0.018411f, 0.014453f, -0.010785f, 0.020768f, 0.041495f, -0.017964f, 0.026447f, -0.012240f, 0.008622f, -0.016852f, -0.009110f, -0.014569f, -0.018910f, -0.009876f, 0.012277f, -0.000238f, -0.004214f, 0.002815f, 0.005048f, 0.022208f, -0.002564f, 0.002027f, -0.000350f, -0.010570f, -0.001215f, -0.003922f, 0.001979f, 0.008840f, -0.005975f, -0.003015f, -0.007384f, -0.003692f, 0.002431f, 0.002512f, -0.002753f, -0.015055f, -0.013946f, -0.005001f, -0.017152f, -0.015137f, -0.002846f, 0.012917f, 0.011532f, 0.009798f, 0.002110f, -0.002630f, 0.000441f, 0.005316f, 0.004533f, -0.002146f, - 0.003062f, 0.001996f, 0.021084f, 0.001691f, -0.013155f, -0.018137f, -0.029737f, 0.038705f, -0.024188f, 0.029121f, -0.021223f, -0.032439f, 0.001814f, 0.040096f, 0.026224f, -0.030155f, -0.019723f, 0.006600f, 0.006187f, 0.013359f, -0.002126f, 0.026630f, 0.014577f, 0.035185f, -0.012721f, -0.006258f, -0.001037f, -0.007191f, -0.033987f, -0.025534f, -0.007688f, 0.035365f, 0.007633f, 0.002476f, 0.001408f, -0.033588f, -0.037670f, -0.029602f, 0.015315f, 0.016945f, -0.012762f, -0.008884f, 0.003492f, 0.003763f, -0.020013f, 0.005475f, 0.037815f, 0.006255f, 0.023750f, 0.022826f, 0.016826f, 0.040046f, 0.058157f, 0.018689f, 0.001168f, 0.007990f, 0.023057f, -0.012468f, -0.006287f, 0.015038f, -0.005076f, 0.007869f, -0.005214f, 0.024671f, 0.009025f, 0.017362f, -0.004787f, -0.007048f, 0.012863f, 0.033080f, -0.002301f, -0.027828f, 0.017695f, -0.043333f, -0.049678f, -0.017455f, 0.025894f, -0.017040f, -0.049133f, -0.030526f, -0.012412f, 0.017572f, 0.012400f, -0.027058f, 0.047918f, -0.015791f, -0.033401f, 0.008321f, 0.013189f, -0.011457f, 0.016717f, -0.017732f, -0.006705f, 0.005749f, 0.004588f, -0.009543f, - 0.008540f, 0.001127f, 0.015172f, -0.008826f, -0.017954f, -0.010986f, 0.003091f, -0.004485f, -0.003573f, -0.001941f, 0.000200f, -0.001970f, 0.012305f, -0.002628f, 0.002093f, -0.005493f, 0.005699f, 0.009570f, 0.002023f, 0.009146f, 0.003057f, -0.015627f, -0.006622f, -0.000504f, -0.012994f, -0.015963f, 0.007437f, 0.010239f, -0.008421f, -0.017004f, -0.018037f, 0.006788f, 0.003017f, -0.001397f, 0.011658f, -0.007370f, 0.015665f, -0.069447f, 0.003697f, 0.035253f, -0.006557f, -0.008223f, 0.042689f, -0.022888f, -0.023753f, -0.030152f, -0.010090f, -0.010167f, -0.020201f, 0.005996f, 0.009710f, 0.016509f, 0.011550f, -0.009627f, -0.007716f, -0.003379f, -0.008638f, 0.002891f, 0.007949f, 0.034833f, -0.015027f, -0.045067f, 0.023997f, 0.000213f, -0.001446f, -0.037482f, 0.016599f, 0.007299f, -0.004010f, 0.042738f, -0.012359f, 0.004662f, -0.004093f, 0.018855f, 0.022589f, -0.024983f, -0.002600f, -0.014012f, -0.001774f, 0.012790f, -0.009603f, 0.019578f, -0.030664f, -0.025470f, -0.016270f, -0.027214f, -0.004887f, 0.002480f, 0.004066f, -0.038067f, -0.025181f, 0.018124f, 0.030548f, -0.014580f, -0.017334f, 0.016142f, - -0.035002f, -0.031586f, -0.030735f, 0.033592f, -0.056869f, 0.018404f, -0.003236f, -0.033465f, -0.010856f, 0.028222f, 0.071894f, -0.009682f, -0.020100f, 0.023732f, 0.055077f, 0.019827f, -0.012676f, -0.013440f, -0.002742f, 0.015095f, -0.001251f, 0.007018f, 0.032692f, 0.002114f, -0.012526f, -0.023300f, 0.019060f, -0.027482f, -0.018934f, -0.013719f, 0.009465f, -0.011381f, -0.020100f, -0.012655f, -0.012322f, -0.000256f, -0.014892f, 0.004942f, -0.011595f, -0.001113f, -0.003959f, 0.013851f, -0.010794f, -0.008409f, -0.021873f, -0.006573f, -0.004088f, -0.007421f, 0.020307f, -0.015295f, -0.019692f, -0.001394f, -0.017314f, -0.015764f, -0.007387f, 0.002149f, 0.015152f, -0.002192f, -0.006843f, -0.003153f, -0.010456f, 0.007011f, -0.020838f, -0.001977f, 0.021013f, 0.009914f, 0.013658f, -0.005588f, 0.005014f, 0.006593f, -0.005382f, -0.008319f, -0.011886f, 0.003890f, 0.009975f, -0.004402f, -0.038846f, -0.062601f, -0.003405f, 0.071238f, -0.011234f, -0.005380f, -0.047059f, -0.003835f, -0.002960f, 0.004653f, 0.015829f, 0.001880f, 0.013187f, 0.000658f, -0.000596f, -0.033954f, 0.004970f, 0.030365f, -0.020525f, 0.037725f, - -0.015858f, -0.002636f, -0.033540f, 0.021301f, -0.016636f, -0.011194f, -0.038737f, -0.052999f, 0.027064f, -0.026018f, -0.025199f, 0.008959f, 0.005536f, -0.011641f, 0.002712f, 0.029560f, -0.008742f, -0.028772f, -0.017582f, -0.036763f, -0.004370f, 0.010142f, 0.025346f, 0.004893f, -0.007349f, -0.006536f, -0.015029f, 0.008468f, 0.026307f, 0.004061f, -0.016351f, 0.029561f, -0.028518f, 0.002786f, -0.049194f, -0.014784f, -0.009601f, 0.060433f, -0.038330f, 0.012130f, -0.012429f, 0.007702f, -0.007040f, -0.007053f, 0.001201f, 0.024419f, 0.007508f, -0.045072f, 0.049277f, 0.014780f, 0.017605f, 0.006094f, -0.019624f, -0.015275f, -0.005619f, 0.005954f, -0.001091f, 0.009564f, -0.026640f, -0.028031f, -0.004533f, 0.013243f, 0.029928f, -0.018827f, 0.025380f, -0.006537f, 0.009883f, -0.020359f, 0.011420f, -0.033001f, 0.036571f, 0.001298f, 0.004054f, 0.011701f, 0.016476f, 0.001288f, -0.022869f, -0.011343f, 0.006119f, -0.021992f, 0.005834f, 0.009848f, 0.009102f, -0.013223f, -0.008062f, 0.021584f, 0.003942f, -0.022615f, -0.003287f, 0.018662f, -0.007252f, -0.027752f, 0.030920f, -0.008798f, 0.011882f, -0.005612f, - -0.009021f, -0.014978f, 0.009408f, 0.002248f, 0.009782f, 0.001110f, 0.016506f, 0.001580f, 0.011814f, -0.006215f, 0.000637f, 0.007093f, -0.004433f, -0.007003f, -0.031020f, -0.017934f, 0.066114f, -0.007918f, 0.005479f, -0.034112f, 0.030839f, -0.017502f, 0.022701f, -0.017664f, 0.039930f, 0.004364f, 0.004051f, -0.019041f, -0.015916f, 0.023682f, 0.051761f, -0.021155f, -0.031574f, 0.015300f, -0.012440f, 0.034578f, 0.043132f, 0.021721f, -0.006489f, 0.027146f, -0.017739f, -0.016029f, 0.036237f, 0.050373f, -0.055846f, 0.005066f, 0.008330f, 0.009954f, -0.018899f, -0.000813f, 0.022549f, -0.055937f, 0.016964f, 0.033496f, 0.012414f, -0.024597f, -0.006943f, 0.041020f, 0.033177f, 0.011551f, -0.019067f, -0.024377f, -0.048851f, 0.070217f, 0.012619f, 0.036362f, -0.005213f, -0.014306f, 0.007806f, 0.021393f, 0.000658f, -0.000585f, -0.056777f, 0.009337f, 0.053554f, -0.009024f, 0.051318f, -0.030243f, -0.013833f, -0.020919f, 0.011964f, 0.048833f, -0.015216f, -0.000838f, 0.043662f, 0.053891f, -0.017407f, -0.038407f, -0.034778f, -0.029739f, -0.014128f, -0.012228f, 0.030667f, -0.036986f, 0.020447f, 0.023721f, - -0.008556f, 0.003247f, 0.024024f, -0.004058f, -0.013882f, 0.015068f, 0.010193f, 0.008321f, 0.022078f, 0.005475f, -0.004010f, 0.020653f, 0.007089f, 0.009097f, 0.010084f, -0.002819f, 0.001119f, -0.003932f, 0.008578f, -0.036197f, -0.010347f, 0.002198f, -0.007312f, 0.015001f, -0.027803f, -0.002477f, 0.000179f, 0.010476f, -0.000835f, 0.016266f, 0.010677f, -0.006775f, 0.021928f, 0.011963f, -0.007900f, 0.016652f, 0.017083f, 0.000862f, -0.011396f, 0.009124f, 0.016605f, 0.010933f, -0.002754f, -0.015524f, -0.008151f, 0.004982f, 0.002300f, 0.003348f, 0.026369f, 0.019397f, 0.046537f, -0.014077f, 0.033705f, -0.017839f, -0.007114f, 0.031325f, -0.001055f, 0.042698f, -0.051537f, 0.032289f, 0.005886f, 0.014339f, -0.020733f, 0.015627f, 0.038445f, 0.074759f, -0.017217f, 0.018979f, -0.001057f, -0.049633f, 0.045475f, 0.004581f, 0.017766f, -0.009098f, -0.023247f, -0.008667f, -0.001930f, -0.019295f, -0.012135f, 0.063433f, 0.004400f, 0.024358f, -0.018212f, 0.044935f, 0.000198f, 0.021761f, 0.009166f, -0.026399f, -0.005679f, -0.016320f, 0.000414f, 0.008043f, 0.053121f, 0.026977f, 0.002159f, 0.006206f, - -0.001980f, -0.004536f, 0.008619f, 0.005181f, 0.033210f, 0.026990f, 0.013539f, -0.015999f, 0.023010f, 0.048497f, -0.046095f, 0.042476f, 0.006691f, 0.012639f, -0.046342f, -0.022130f, -0.058199f, -0.047037f, -0.009436f, 0.030996f, 0.025841f, -0.080679f, -0.000816f, -0.036538f, 0.018821f, 0.080019f, 0.040045f, -0.051941f, 0.027964f, -0.021556f, -0.026931f, 0.043919f, 0.022051f, -0.023083f, -0.012996f, 0.038581f, 0.031551f, 0.017061f, 0.049186f, -0.013750f, 0.030020f, 0.026339f, -0.031970f, 0.043804f, 0.011744f, 0.050894f, 0.015230f, -0.005229f, 0.029804f, -0.003625f, 0.007440f, -0.036570f, 0.026679f, -0.018108f, 0.013655f, -0.013623f, 0.005753f, 0.016168f, 0.040399f, 0.010136f, 0.024347f, 0.005680f, 0.007414f, -0.014065f, -0.003578f, -0.005458f, 0.002785f, 0.019846f, 0.016960f, 0.030159f, 0.010823f, -0.004445f, 0.004331f, -0.007992f, -0.004685f, -0.031785f, -0.005848f, 0.006912f, 0.009162f, 0.025789f, 0.023080f, 0.020919f, 0.026131f, -0.067552f, -0.103699f, -0.027198f, -0.011670f, -0.025754f, 0.005769f, 0.034853f, -0.036554f, 0.052644f, 0.019321f, -0.076258f, -0.058386f, -0.011878f, - 0.041629f, 0.001321f, 0.003495f, -0.008149f, -0.024111f, -0.073848f, 0.003041f, -0.062081f, -0.051259f, 0.024932f, 0.019964f, 0.017980f, -0.008654f, -0.024218f, 0.055827f, 0.033236f, -0.023676f, -0.048496f, 0.036866f, 0.018394f, 0.008696f, -0.022948f, -0.056504f, 0.021246f, -0.026517f, 0.008228f, -0.048126f, 0.058263f, 0.001476f, -0.023711f, 0.005737f, 0.014455f, 0.048298f, 0.029893f, -0.012336f, -0.002707f, 0.016936f, 0.016426f, 0.018632f, -0.011298f, -0.075470f, -0.059695f, 0.012046f, -0.008496f, 0.044231f, -0.008807f, -0.018923f, -0.053612f, 0.061926f, 0.023402f, -0.043081f, -0.044850f, 0.063526f, 0.059143f, -0.000579f, 0.043286f, -0.005785f, 0.001131f, -0.017993f, -0.011347f, -0.034051f, 0.041688f, -0.007730f, -0.009942f, -0.018173f, 0.016953f, -0.053604f, 0.024912f, -0.015658f, -0.010503f, 0.038169f, -0.001255f, 0.006082f, 0.009147f, 0.035043f, 0.017458f, -0.014218f, 0.025531f, -0.007690f, 0.030910f, 0.012444f, -0.035664f, 0.008804f, -0.018337f, 0.016768f, -0.014968f, 0.000416f, -0.023852f, -0.011970f, 0.012403f, -0.023112f, 0.009394f, 0.007972f, 0.009663f, -0.020658f, -0.015267f, - -0.026598f, -0.023792f, 0.031105f, -0.011658f, 0.020092f, 0.012174f, -0.019009f, -0.003135f, -0.016623f, 0.000229f, -0.010541f, 0.038853f, 0.033149f, 0.022007f, 0.030963f, -0.008044f, -0.034364f, -0.039797f, -0.005637f, 0.011474f, 0.057268f, 0.034548f, -0.013223f, -0.011135f, -0.015435f, -0.028958f, -0.001769f, 0.012520f, 0.005786f, 0.036378f, 0.003564f, -0.025639f, -0.065873f, 0.103868f, 0.002618f, -0.080343f, -0.006081f, -0.029909f, 0.013587f, 0.039863f, 0.036209f, -0.044699f, -0.071729f, 0.012252f, -0.034331f, 0.010941f, -0.006995f, 0.031626f, -0.010383f, 0.004525f, 0.018789f, -0.029303f, -0.035933f, 0.003797f, 0.009432f, 0.031314f, -0.000718f, -0.050099f, 0.032953f, -0.027942f, 0.025898f, -0.024286f, -0.016534f, -0.002735f, -0.007951f, -0.053861f, 0.010118f, 0.015049f, -0.052076f, 0.022028f, -0.020468f, 0.010433f, -0.017377f, 0.050312f, 0.039175f, -0.050732f, -0.026929f, 0.034650f, 0.043417f, -0.051913f, 0.068532f, 0.004446f, 0.055182f, 0.040095f, 0.065118f, -0.020144f, -0.027639f, 0.014623f, -0.054038f, 0.008253f, 0.006826f, 0.094883f, -0.029420f, -0.089191f, 0.150566f, -0.071141f, - -0.054728f, 0.086809f, 0.039207f, -0.050651f, 0.084346f, 0.009387f, -0.068710f, 0.085443f, 0.010310f, 0.007649f, -0.014942f, 0.012551f, 0.056689f, -0.013873f, -0.019783f, -0.029523f, 0.042202f, -0.015385f, -0.010846f, -0.005944f, -0.017073f, -0.018217f, -0.026513f, 0.025329f, -0.003832f, -0.002388f, -0.009653f, -0.006555f, 0.003132f, -0.011460f, -0.019964f, 0.002502f, -0.016180f, -0.029860f, -0.031135f, 0.038532f, -0.016881f, 0.003544f, 0.035479f, -0.017178f, -0.016464f, 0.002462f, 0.017510f, 0.007550f, 0.007356f, 0.034196f, -0.021327f, 0.004898f, -0.015779f, -0.009787f, -0.007070f, 0.056585f, 0.027896f, -0.009272f, 0.007822f, -0.030092f, 0.009375f, -0.027548f, -0.017328f, 0.013212f, -0.007553f, -0.056790f, 0.034664f, 0.014207f, -0.010851f, -0.093609f, 0.013056f, 0.027918f, -0.070036f, 0.032008f, 0.018688f, -0.024689f, -0.006876f, -0.001316f, -0.017061f, -0.005722f, -0.009936f, -0.031347f, 0.001022f, -0.015666f, -0.003293f, -0.007740f, 0.015390f, 0.055816f, 0.046930f, -0.043153f, -0.004597f, 0.058751f, -0.010131f, -0.011069f, -0.059963f, 0.006929f, 0.019920f, -0.009851f, 0.051428f, 0.122845f, - -0.041141f, -0.051777f, 0.087657f, -0.005835f, -0.046969f, 0.054591f, 0.036132f, -0.028297f, -0.042165f, -0.052343f, 0.016175f, 0.028118f, -0.023115f, 0.082450f, 0.053989f, -0.102762f, -0.098427f, 0.057556f, -0.046205f, -0.060082f, 0.078228f, 0.012606f, 0.104647f, 0.050169f, -0.012426f, -0.013986f, -0.075096f, -0.058687f, 0.171745f, 0.047417f, -0.036543f, -0.082923f, 0.002569f, -0.033744f, -0.073862f, -0.011481f, 0.087101f, 0.037012f, 0.001376f, 0.071556f, 0.062762f, -0.019726f, -0.079298f, 0.012423f, 0.048000f, -0.019673f, -0.018315f, 0.099699f, 0.057577f, 0.009989f, -0.010155f, -0.051128f, -0.049895f, -0.012870f, 0.047754f, 0.019215f, -0.018935f, -0.009036f, -0.021958f, 0.018757f, -0.013989f, -0.019094f, -0.012021f, -0.002276f, 0.014618f, 0.019276f, 0.017393f, 0.007230f, -0.045180f, -0.015823f, -0.008523f, 0.017295f, -0.017301f, 0.003252f, -0.004283f, 0.042007f, -0.026593f, -0.018695f, 0.043737f, 0.012197f, -0.021417f, 0.034218f, -0.011397f, 0.010087f, 0.003209f, 0.007894f, -0.025595f, -0.006933f, 0.036155f, 0.035018f, 0.015055f, -0.013699f, 0.009917f, -0.015745f, -0.012184f, -0.009628f, - 0.019317f, -0.029077f, -0.005500f, 0.023353f, 0.093124f, 0.077307f, -0.020572f, 0.054907f, 0.005831f, -0.042831f, 0.027513f, 0.046885f, 0.015863f, 0.020213f, -0.061390f, -0.012644f, 0.007383f, 0.012343f, -0.008892f, -0.053640f, -0.019107f, 0.019190f, -0.012858f, -0.005805f, -0.045108f, 0.069405f, 0.008890f, -0.057487f, 0.032683f, 0.081501f, -0.041933f, -0.024681f, 0.012142f, 0.026786f, -0.026127f, -0.051547f, 0.044297f, 0.074095f, -0.005739f, -0.029351f, 0.009857f, 0.020861f, 0.034039f, 0.047402f, 0.003352f, 0.086419f, -0.001714f, -0.096606f, 0.000979f, -0.011035f, 0.031684f, -0.010273f, -0.078509f, -0.002360f, -0.033775f, -0.033397f, 0.047503f, 0.024666f, 0.027198f, 0.033770f, -0.070330f, -0.037097f, -0.012151f, -0.001129f, 0.028741f, 0.000810f, -0.014180f, 0.001800f, -0.023912f, -0.048285f, 0.004917f, 0.074620f, -0.038205f, 0.006940f, -0.029631f, -0.021582f, 0.051416f, -0.063109f, -0.000442f, 0.027461f, -0.021994f, 0.010137f, 0.008113f, 0.015471f, 0.018401f, -0.033429f, -0.039546f, 0.066779f, -0.013656f, -0.021928f, 0.034773f, -0.034579f, 0.021807f, 0.004101f, -0.013859f, 0.010339f, - 0.029261f, -0.005725f, 0.004192f, -0.014507f, 0.007248f, 0.001584f, -0.001647f, -0.012985f, 0.016117f, 0.007690f, -0.001311f, -0.001597f, 0.013567f, 0.010797f, -0.012082f, -0.022533f, 0.012469f, -0.001607f, 0.006491f, 0.001025f, -0.005491f, 0.011215f, 0.000611f, 0.009252f, -0.003401f, -0.002098f, -0.006183f, 0.001514f, 0.011058f, -0.002713f, 0.027135f, -0.011210f, -0.007842f, 0.000907f, -0.011388f, 0.007128f, -0.080510f, -0.115491f, -0.102131f, 0.205442f, 0.196113f, 0.195720f, 0.552552f, 0.196311f, -0.022749f, 0.036365f, -0.382052f, -0.465382f, -0.156345f, -0.261137f, -0.361876f, 0.046536f, -0.020068f, -0.060560f, 0.398572f, 0.243270f, 0.101645f, 0.622390f, 0.293871f, 0.054328f, 0.283814f, -0.067307f, -0.338580f, -0.324287f, -0.308900f, -0.428151f, -0.419142f, -0.098448f, -0.151255f, -0.246826f, 0.288292f, 0.132728f, -0.103721f, 0.416231f, 0.134534f, -0.048883f, 0.470713f, 0.428781f, 0.098871f, 0.444966f, 0.451598f, -0.017320f, 0.112226f, 0.051110f, -0.434426f, -0.504439f, -0.375560f, -0.710138f, -0.672402f, -0.403909f, -0.539308f, -0.405788f, 0.046121f, 0.333618f, 0.378714f, 0.813520f, - 0.739799f, 0.652238f, 0.702877f, 0.518345f, 0.263329f, 0.080382f, -0.056853f, -0.395940f, -0.477217f, -0.511002f, -0.575758f, -0.546403f, -0.465616f, -0.300983f, -0.218504f, -0.213814f, 0.041031f, 0.129659f, 0.254777f, 0.605463f, 0.628945f, 0.429950f, 0.537557f, 0.227234f, -0.073977f, -0.177895f, -0.275398f, -0.377711f, -0.273357f, -0.182919f, -0.181871f, -0.062742f, -0.016884f, 0.001562f, 0.097170f, 0.123163f, 0.117576f, 0.179756f, 0.113433f, 0.073254f, 0.090937f, -0.053543f, -0.049283f, 0.015322f, -0.145408f, -0.103061f, -0.037662f, -0.140699f, -0.086613f, -0.009700f, -0.141355f, -0.149580f, -0.099028f, -0.146771f, -0.096043f, 0.110666f, 0.207056f, 0.328873f, 0.485363f, 0.452733f, 0.387790f, 0.364282f, 0.197378f, -0.060051f, -0.302543f, -0.536194f, -0.636418f, -0.574216f, -0.464536f, -0.350892f, -0.164195f, 0.052837f, 0.208811f, 0.292450f, 0.315993f, 0.278708f, 0.249180f, 0.231517f, 0.233790f, 0.162606f, 0.077700f, 0.036015f, -0.019143f, -0.065578f, -0.058700f, -0.106877f, -0.114473f, -0.080750f, -0.059453f, -0.079311f, -0.075018f, -0.096653f, -0.108201f, -0.100722f, -0.068209f, -0.032261f, - 0.013400f, 0.020041f, 0.014214f, 0.000959f} - }, - { - {-0.006839f, 0.025744f, 0.013624f, 0.011354f, 0.006323f, -0.002728f, -0.000811f, -0.002637f, -0.005362f, -0.007433f, -0.005263f, -0.007596f, -0.003214f, 0.007232f, 0.002463f, -0.000378f, -0.000010f, 0.004741f, 0.002204f, -0.003000f, -0.003231f, -0.002432f, -0.013423f, 0.005563f, 0.001405f, 0.000130f, -0.002771f, 0.001742f, 0.000235f, -0.003710f, 0.001935f, 0.004912f, -0.000021f, -0.006129f, -0.001562f, -0.002650f, -0.002854f, 0.000755f, 0.005904f, -0.001530f, 0.001393f, -0.007017f, 0.004503f, -0.008670f, 0.005523f, 0.001223f, 0.000326f, 0.000066f, 0.005494f, -0.006656f, -0.004943f, -0.009071f, 0.002404f, 0.001629f, 0.000443f, 0.005175f, -0.005599f, 0.001206f, -0.000771f, 0.000147f, -0.004086f, 0.003590f, 0.001634f, -0.003011f, 0.005583f, -0.008921f, 0.004077f, -0.004871f, 0.009077f, 0.004134f, 0.001587f, 0.000644f, -0.001830f, -0.011131f, 0.008461f, -0.002677f, -0.000294f, 0.001447f, 0.002349f, 0.002013f, 0.002222f, 0.002672f, -0.000831f, 0.000770f, -0.001262f, 0.002607f, -0.000218f, 0.001478f, -0.003402f, 0.001136f, -0.000558f, 0.000721f, 0.001318f, 0.003608f, -0.000238f, -0.000636f, - 0.001192f, 0.001416f, -0.001504f, 0.001855f, -0.002253f, 0.001810f, 0.000351f, 0.001609f, 0.000083f, 0.001031f, -0.000621f, 0.000393f, 0.001377f, 0.000680f, -0.000285f, 0.001058f, -0.000287f, 0.024601f, 0.011721f, 0.016061f, 0.004401f, 0.005463f, -0.000932f, 0.006285f, 0.000661f, 0.005586f, -0.004117f, 0.010891f, -0.002762f, -0.012447f, -0.003410f, 0.000253f, 0.000686f, -0.003954f, 0.009547f, 0.000525f, 0.003731f, 0.009220f, 0.004518f, 0.000102f, -0.000009f, 0.002194f, -0.008410f, -0.005570f, 0.003348f, 0.004009f, -0.003057f, 0.000874f, 0.004119f, -0.008352f, 0.011774f, -0.001214f, 0.001739f, -0.001874f, 0.004375f, 0.006065f, 0.000309f, -0.006389f, -0.006506f, 0.012761f, 0.000289f, -0.003740f, -0.000537f, 0.007346f, 0.005441f, -0.003809f, -0.005122f, -0.011273f, -0.003494f, -0.004631f, 0.000471f, -0.004184f, 0.001008f, -0.010954f, -0.004470f, 0.001257f, -0.004459f, 0.002396f, 0.004414f, -0.002231f, -0.000294f, 0.002059f, -0.002780f, 0.004295f, -0.000316f, 0.005407f, 0.000067f, -0.001879f, -0.006296f, 0.000699f, -0.007809f, 0.002442f, 0.000143f, 0.004407f, 0.000080f, 0.004526f, - 0.005851f, 0.004970f, 0.000190f, -0.003253f, -0.000247f, -0.001200f, 0.006458f, -0.001757f, 0.000828f, 0.004114f, 0.004320f, -0.000318f, 0.002436f, 0.000855f, 0.002226f, -0.000928f, 0.002695f, -0.001038f, 0.003973f, 0.000893f, 0.000760f, -0.000345f, 0.000356f, 0.000386f, 0.005203f, -0.016608f, -0.005352f, -0.003798f, 0.002897f, 0.003254f, -0.011338f, -0.005111f, -0.002240f, 0.002699f, 0.006042f, 0.001875f, 0.008281f, -0.006851f, -0.009858f, 0.002834f, 0.000346f, -0.001796f, -0.006748f, 0.021902f, -0.001131f, 0.005809f, 0.001322f, 0.000659f, -0.000480f, -0.003403f, -0.008323f, -0.006568f, -0.002035f, 0.005578f, -0.004643f, 0.011456f, -0.003873f, -0.001095f, -0.009395f, -0.011223f, -0.000950f, -0.007167f, -0.003957f, 0.015247f, -0.008332f, -0.002338f, -0.008088f, 0.002946f, 0.000403f, -0.002963f, -0.008499f, -0.001647f, 0.000089f, -0.009691f, 0.001159f, -0.005227f, 0.007753f, 0.005062f, -0.004432f, -0.002393f, -0.002440f, 0.002346f, -0.000401f, 0.006119f, -0.003155f, -0.004060f, -0.004122f, 0.013903f, 0.012600f, -0.004340f, -0.012089f, 0.001619f, 0.003774f, -0.000412f, 0.003587f, -0.005055f, - 0.001019f, -0.005859f, 0.004194f, 0.000295f, 0.013403f, 0.008222f, 0.012745f, -0.011601f, 0.005045f, 0.007724f, 0.000331f, 0.005855f, 0.004271f, 0.000851f, 0.008782f, -0.001634f, -0.000893f, 0.002215f, 0.001254f, -0.003619f, 0.003529f, -0.002779f, -0.002317f, -0.000274f, 0.000932f, -0.000420f, 0.001370f, -0.002084f, 0.001070f, -0.000291f, 0.000320f, 0.001105f, 0.001658f, 0.000739f, 0.001915f, 0.001719f, -0.001282f, -0.001793f, 0.001439f, 0.000480f, -0.003091f, -0.001317f, 0.002587f, -0.001575f, -0.054568f, -0.008837f, -0.015724f, -0.017840f, 0.004801f, -0.006038f, -0.015511f, -0.012858f, 0.002159f, -0.012667f, 0.001806f, 0.018889f, -0.004687f, 0.008109f, 0.006154f, 0.015928f, 0.004151f, -0.011092f, 0.002557f, 0.017313f, -0.008066f, 0.008621f, -0.012756f, -0.011638f, 0.003837f, 0.004970f, 0.013627f, 0.000804f, -0.008321f, 0.007905f, -0.005573f, 0.006068f, -0.000674f, 0.008592f, -0.007248f, -0.004716f, -0.008087f, 0.000113f, 0.001513f, -0.003174f, 0.006278f, -0.014323f, 0.001887f, 0.014462f, 0.003175f, -0.004090f, 0.005613f, -0.007381f, -0.003698f, -0.018084f, -0.005310f, -0.000591f, - 0.002885f, 0.000316f, 0.009777f, -0.014517f, 0.001469f, -0.001983f, 0.007378f, 0.003925f, -0.002748f, 0.010362f, -0.009015f, -0.001210f, -0.007220f, -0.013948f, -0.005813f, -0.003199f, -0.003876f, 0.010512f, -0.009328f, -0.015069f, 0.000671f, 0.004955f, -0.001433f, -0.004336f, 0.005268f, 0.005782f, -0.004136f, -0.003387f, -0.005778f, -0.002404f, 0.012228f, -0.005620f, 0.006785f, -0.001987f, -0.000117f, -0.001098f, -0.000311f, -0.006271f, 0.001641f, -0.003746f, -0.000078f, -0.000425f, -0.000801f, 0.000171f, -0.001340f, -0.001948f, -0.001821f, -0.000507f, 0.000729f, -0.001192f, 0.002134f, 0.000922f, -0.027104f, 0.015445f, 0.017498f, -0.000989f, 0.009841f, 0.004413f, 0.020662f, 0.027359f, 0.003571f, 0.003547f, 0.007915f, 0.003366f, 0.004609f, -0.003933f, 0.005476f, -0.004555f, 0.007255f, 0.008346f, -0.023420f, 0.012127f, -0.002522f, -0.004389f, -0.007211f, -0.009545f, 0.003888f, 0.006633f, 0.010736f, 0.002048f, 0.001867f, -0.013746f, 0.000646f, -0.004040f, -0.004533f, -0.002070f, 0.001876f, 0.000751f, -0.001007f, 0.013435f, -0.000661f, -0.004513f, 0.004491f, -0.005278f, 0.006944f, 0.009063f, - 0.010220f, 0.005250f, 0.001152f, -0.005713f, 0.011409f, 0.003570f, 0.001564f, 0.001146f, 0.001529f, 0.000775f, -0.006552f, -0.009319f, 0.008448f, -0.008691f, 0.008093f, 0.007312f, 0.005432f, -0.001246f, -0.006083f, 0.005458f, 0.007189f, 0.015840f, 0.007360f, 0.005943f, 0.003745f, -0.015608f, -0.004765f, 0.001849f, -0.002525f, 0.006628f, -0.013454f, 0.000612f, 0.004462f, -0.012668f, -0.001176f, 0.004158f, -0.003046f, 0.001544f, -0.007381f, 0.002715f, 0.000952f, -0.003227f, 0.005811f, 0.003342f, 0.000229f, 0.006295f, -0.002891f, -0.002888f, -0.000648f, 0.001244f, 0.002595f, 0.009579f, 0.001566f, 0.003216f, 0.002264f, -0.000170f, 0.002092f, -0.001675f, -0.001854f, -0.002680f, 0.001681f, -0.001513f, -0.001262f, 0.001001f, 0.000998f, -0.001271f, 0.003245f, -0.002007f, 0.002257f, 0.002020f, -0.001000f, 0.003081f, 0.000874f, 0.001258f, 0.001540f, 0.000117f, 0.000294f, 0.003591f, -0.000318f, 0.050347f, 0.015185f, 0.003722f, 0.009851f, 0.025168f, 0.010145f, 0.030348f, 0.007437f, -0.006697f, -0.002176f, -0.002548f, -0.002896f, 0.008233f, 0.013009f, -0.006048f, 0.002795f, 0.009064f, - -0.003370f, -0.012619f, 0.010025f, -0.001192f, 0.004767f, -0.004302f, -0.006330f, 0.010309f, 0.002407f, -0.000953f, -0.002933f, -0.011498f, -0.005682f, 0.006218f, 0.001564f, -0.003960f, -0.002013f, 0.001734f, 0.004330f, 0.011555f, 0.003658f, -0.010663f, -0.002441f, 0.000681f, -0.003343f, 0.003826f, 0.005487f, -0.010747f, -0.012959f, -0.000762f, 0.003258f, -0.001385f, 0.010026f, -0.018492f, -0.003916f, -0.008394f, -0.010392f, -0.001153f, -0.000794f, 0.002719f, 0.009910f, -0.000110f, 0.001501f, 0.003186f, -0.001589f, 0.013187f, 0.008436f, -0.010851f, -0.009495f, 0.007221f, 0.016003f, -0.001399f, -0.007470f, 0.015756f, 0.008353f, 0.003638f, -0.006923f, -0.007542f, 0.007808f, 0.000383f, 0.005909f, -0.003592f, -0.011443f, -0.006337f, -0.007785f, -0.004965f, 0.004536f, -0.006414f, 0.000891f, 0.002705f, -0.002287f, 0.002622f, 0.001936f, 0.002228f, 0.001338f, -0.004162f, 0.002304f, -0.001336f, -0.002168f, -0.001036f, 0.003093f, 0.002380f, 0.000419f, -0.003584f, 0.003166f, -0.001441f, 0.005460f, -0.000895f, 0.000759f, -0.005238f, -0.006677f, 0.002183f, -0.006285f, -0.001268f, -0.000965f, -0.003605f, - -0.001704f, 0.000717f, -0.005643f, -0.002407f, -0.000572f, 0.000573f, -0.001178f, 0.003922f, 0.000564f, -0.001564f, 0.024705f, 0.012002f, 0.022245f, -0.007505f, 0.000178f, -0.005658f, 0.022411f, -0.023059f, -0.003280f, 0.005906f, -0.004423f, -0.004567f, 0.007499f, -0.002592f, -0.007115f, 0.019666f, 0.011109f, 0.002265f, 0.033221f, -0.009081f, -0.002220f, -0.007035f, 0.000245f, 0.005487f, -0.008586f, -0.001105f, -0.004461f, 0.012680f, -0.010732f, 0.002853f, 0.000736f, -0.003371f, 0.001147f, 0.007453f, 0.005072f, -0.010091f, -0.017608f, 0.000413f, 0.003611f, 0.014569f, 0.017089f, 0.017018f, 0.001541f, -0.009815f, 0.012235f, -0.029707f, -0.004899f, -0.011669f, -0.017300f, 0.012092f, -0.003989f, -0.005602f, 0.009418f, -0.003426f, -0.005076f, 0.025919f, 0.000297f, -0.007652f, 0.009016f, 0.000694f, 0.006858f, 0.005059f, 0.003369f, 0.015702f, -0.009428f, -0.005779f, 0.000910f, -0.013485f, -0.000121f, 0.002549f, -0.003435f, 0.004623f, 0.007749f, 0.016511f, -0.006244f, 0.005505f, 0.014248f, 0.008660f, 0.004211f, 0.002693f, -0.004930f, -0.010426f, 0.005318f, 0.007955f, -0.001753f, 0.000798f, - -0.001669f, -0.001331f, -0.005957f, 0.001165f, -0.001841f, 0.001021f, -0.005566f, -0.002791f, -0.000005f, -0.000970f, 0.005113f, 0.002237f, -0.000005f, -0.007139f, -0.003265f, 0.003549f, -0.004196f, -0.000072f, 0.002721f, 0.002805f, -0.004855f, 0.004490f, 0.003466f, 0.001155f, 0.004589f, 0.004170f, -0.008309f, -0.001471f, -0.003224f, 0.002249f, 0.004433f, 0.005462f, -0.001189f, -0.003041f, 0.000661f, -0.001651f, -0.038519f, -0.057906f, -0.009755f, 0.002858f, -0.000998f, 0.001590f, -0.002703f, -0.011622f, -0.006536f, -0.009266f, -0.002484f, 0.009403f, 0.011237f, -0.010205f, -0.015030f, 0.012850f, 0.002671f, -0.008264f, 0.000679f, -0.001378f, -0.009162f, -0.007698f, 0.021365f, 0.010867f, -0.011474f, 0.005832f, 0.002425f, 0.009136f, -0.011131f, 0.012400f, -0.012381f, 0.008523f, 0.005580f, -0.002622f, -0.005770f, 0.005506f, -0.023091f, -0.011464f, 0.014163f, 0.022794f, 0.012661f, -0.015950f, 0.000386f, -0.011309f, 0.015167f, 0.003138f, 0.003943f, 0.001081f, -0.012477f, 0.006069f, 0.018555f, 0.002100f, 0.014032f, 0.009932f, 0.006435f, 0.010730f, 0.022760f, -0.006304f, -0.022884f, 0.011111f, - 0.000081f, -0.005415f, 0.001184f, 0.019695f, -0.008024f, -0.013672f, 0.006730f, -0.003613f, -0.002311f, -0.005169f, -0.003055f, -0.006146f, -0.010683f, -0.005370f, 0.013223f, -0.017979f, -0.011264f, -0.006624f, -0.012896f, -0.012560f, -0.000723f, 0.007822f, -0.011819f, -0.000201f, -0.004350f, -0.004990f, -0.010642f, -0.006736f, -0.012224f, -0.000641f, -0.009386f, -0.000714f, -0.000186f, 0.008639f, 0.006185f, -0.004354f, -0.004617f, -0.006248f, -0.001832f, -0.004414f, -0.004166f, 0.005248f, -0.008281f, 0.003181f, 0.000810f, -0.005296f, 0.000672f, -0.003457f, 0.002116f, -0.001777f, -0.006734f, -0.008339f, 0.000034f, 0.002225f, 0.003589f, -0.001559f, 0.001596f, 0.002673f, 0.000128f, -0.004339f, -0.000459f, -0.005566f, 0.000725f, 0.002629f, 0.002561f, -0.022271f, -0.014511f, 0.003764f, 0.003568f, 0.029698f, -0.025958f, -0.017759f, -0.010024f, -0.004905f, -0.003217f, 0.009608f, 0.009284f, -0.013741f, 0.014129f, -0.003269f, 0.006409f, -0.009895f, 0.021062f, -0.004089f, -0.007928f, 0.013618f, 0.009824f, 0.007925f, -0.014315f, -0.013467f, 0.017831f, -0.009328f, 0.005268f, 0.004364f, -0.006449f, 0.015156f, - 0.004621f, -0.000009f, 0.003381f, 0.011127f, 0.014288f, 0.004404f, -0.012674f, 0.002959f, -0.018092f, 0.010813f, 0.004743f, -0.020271f, 0.014399f, 0.003351f, -0.010521f, 0.018576f, 0.005933f, -0.005026f, 0.010860f, -0.001677f, 0.020539f, -0.004685f, -0.005103f, -0.004343f, -0.002652f, 0.026688f, 0.005671f, 0.000462f, 0.007299f, -0.022419f, -0.013967f, -0.015234f, 0.001712f, 0.014200f, 0.001934f, 0.017611f, -0.022714f, -0.009359f, -0.014395f, -0.013385f, 0.033260f, -0.003380f, 0.011919f, 0.008514f, -0.007068f, -0.001667f, -0.004566f, 0.002514f, 0.001813f, 0.009065f, 0.005594f, 0.018158f, -0.009726f, 0.001505f, -0.003037f, 0.003943f, -0.000058f, -0.000360f, 0.000014f, -0.003878f, -0.017075f, 0.006378f, 0.004072f, 0.002536f, -0.004482f, -0.001622f, -0.002129f, -0.009578f, -0.000536f, -0.003436f, -0.006146f, 0.003472f, -0.005174f, 0.002226f, 0.003140f, 0.002395f, 0.004008f, -0.006673f, -0.003545f, -0.004527f, -0.004018f, 0.002375f, 0.004845f, 0.002779f, -0.001490f, -0.000920f, -0.001098f, -0.002094f, 0.007008f, -0.002401f, 0.005016f, 0.003059f, -0.001787f, 0.002059f, -0.001272f, -0.000021f, - 0.001825f, 0.001830f, -0.030054f, 0.009371f, -0.012898f, 0.007301f, -0.009016f, 0.024274f, 0.004114f, -0.017045f, 0.002698f, -0.017376f, 0.014102f, 0.026833f, -0.022878f, 0.015104f, 0.005622f, -0.000694f, 0.011095f, 0.028604f, -0.010923f, -0.000051f, 0.008779f, -0.031276f, 0.001858f, 0.014198f, -0.008662f, 0.010172f, 0.011126f, -0.005722f, 0.028078f, -0.013999f, -0.025343f, -0.010931f, 0.003087f, 0.000662f, -0.005161f, -0.010956f, 0.007680f, 0.007068f, 0.000046f, -0.017879f, -0.004158f, -0.004539f, 0.011974f, -0.007836f, 0.047077f, -0.005926f, 0.006773f, -0.002173f, -0.001960f, -0.022832f, 0.002384f, 0.016921f, 0.013736f, 0.045873f, -0.004891f, -0.004446f, -0.009459f, -0.001813f, -0.012872f, -0.000981f, 0.018442f, -0.009797f, -0.001857f, 0.003331f, 0.004386f, 0.018087f, 0.014764f, 0.004163f, 0.035562f, -0.006717f, -0.032847f, -0.032929f, -0.023177f, -0.004781f, 0.010438f, -0.003245f, -0.008597f, 0.015672f, -0.000905f, 0.013917f, -0.008526f, -0.001626f, 0.011349f, 0.009592f, -0.003433f, -0.003359f, 0.001205f, 0.002942f, -0.003603f, -0.007684f, -0.011001f, -0.003721f, -0.004644f, -0.001387f, - -0.007827f, 0.005899f, -0.002315f, 0.001778f, -0.003936f, -0.005660f, 0.007649f, 0.003412f, -0.003823f, -0.001042f, -0.003123f, -0.003374f, 0.003370f, -0.002098f, -0.003703f, -0.007474f, 0.005969f, 0.002352f, -0.003155f, -0.005658f, -0.007476f, -0.001401f, -0.005121f, -0.005225f, 0.006422f, -0.003754f, 0.001327f, 0.000271f, -0.002679f, 0.002747f, 0.001307f, -0.001018f, -0.001339f, -0.001653f, 0.053509f, -0.038564f, -0.029254f, -0.009360f, -0.018484f, -0.021140f, 0.025957f, 0.010531f, 0.005206f, -0.008156f, -0.005175f, 0.031495f, -0.009137f, -0.013232f, -0.037662f, -0.005433f, -0.000906f, 0.017795f, 0.006589f, -0.007642f, 0.002349f, 0.015606f, 0.007079f, 0.009767f, 0.024148f, 0.030298f, 0.008425f, -0.011263f, 0.007825f, -0.018168f, 0.012491f, 0.010231f, -0.006484f, 0.000630f, -0.014070f, 0.005706f, 0.000396f, -0.027302f, 0.026635f, -0.002383f, -0.012379f, 0.016442f, -0.025261f, -0.005836f, 0.027811f, 0.015866f, -0.000348f, 0.001046f, -0.035002f, 0.012292f, 0.019561f, 0.011162f, 0.006500f, -0.001915f, -0.025837f, -0.075924f, -0.006059f, 0.015478f, 0.021335f, -0.001949f, -0.022271f, 0.037509f, - -0.017378f, 0.017119f, 0.028395f, 0.023399f, 0.004349f, 0.028306f, 0.003217f, 0.010088f, 0.005987f, 0.017176f, 0.003374f, 0.005448f, 0.036051f, -0.012097f, -0.007883f, 0.030480f, 0.015887f, 0.008258f, -0.012606f, 0.003050f, 0.024789f, -0.002709f, 0.019859f, 0.004548f, 0.004313f, 0.012491f, -0.006752f, -0.000638f, 0.001304f, -0.001338f, -0.005639f, 0.009721f, 0.004497f, -0.013604f, 0.007414f, 0.005026f, 0.007134f, 0.003493f, -0.003947f, -0.000065f, -0.004379f, -0.005027f, 0.005945f, 0.007575f, 0.003113f, 0.004559f, -0.004118f, -0.004020f, -0.002770f, -0.004932f, -0.006468f, -0.009649f, 0.001304f, -0.006230f, 0.004457f, -0.002358f, 0.002540f, -0.008942f, -0.005939f, -0.001987f, -0.003026f, -0.002754f, -0.004174f, 0.000995f, 0.008335f, 0.008709f, 0.003158f, 0.000541f, -0.005143f, 0.006834f, 0.026733f, 0.025427f, -0.006727f, -0.013034f, -0.002535f, -0.007692f, 0.029250f, 0.019013f, -0.051086f, -0.005605f, 0.004090f, -0.023964f, 0.009425f, -0.034954f, 0.026465f, 0.006419f, -0.004213f, 0.014499f, 0.007106f, -0.007361f, -0.011853f, -0.008581f, 0.037390f, 0.001495f, -0.000421f, 0.008287f, - -0.005214f, 0.015020f, 0.044059f, 0.018000f, -0.006605f, -0.007817f, -0.006650f, 0.025596f, 0.008938f, 0.025917f, 0.017764f, 0.012930f, 0.007292f, -0.011294f, -0.012604f, 0.011560f, -0.026434f, 0.004483f, -0.014138f, -0.011660f, 0.000687f, 0.018122f, 0.002331f, 0.001458f, 0.006280f, -0.005702f, 0.030099f, 0.039329f, 0.044776f, -0.000212f, 0.020307f, -0.026715f, 0.010079f, 0.015482f, -0.012497f, 0.022902f, -0.018574f, -0.036589f, 0.004604f, -0.019172f, -0.003133f, 0.001733f, -0.019712f, 0.004901f, 0.026324f, -0.016144f, -0.016044f, 0.013412f, 0.024358f, -0.001080f, -0.009351f, 0.022678f, 0.001725f, 0.005099f, -0.015861f, -0.003188f, -0.001369f, 0.018730f, -0.009791f, 0.001558f, -0.004704f, 0.004142f, -0.000679f, 0.003672f, 0.004417f, 0.003379f, -0.000304f, 0.001901f, 0.003737f, 0.005322f, -0.004614f, -0.008411f, -0.001886f, -0.001199f, -0.008238f, -0.009528f, -0.001117f, -0.004339f, 0.006478f, -0.006412f, 0.004817f, 0.009163f, -0.001057f, -0.014907f, -0.002055f, 0.003052f, -0.005802f, -0.006965f, 0.000484f, 0.004295f, 0.022811f, 0.007933f, 0.006618f, -0.000575f, -0.000062f, -0.001864f, - 0.006206f, -0.001507f, 0.006636f, 0.019768f, 0.017206f, -0.002127f, -0.001715f, -0.003166f, 0.000203f, -0.031863f, 0.057983f, 0.003621f, 0.015106f, 0.044263f, -0.016333f, 0.004488f, -0.008412f, 0.011643f, -0.012734f, 0.012747f, -0.031140f, -0.037012f, -0.001088f, -0.021934f, -0.001633f, -0.002078f, -0.002440f, -0.006280f, 0.002410f, -0.010283f, 0.009284f, -0.029423f, -0.011705f, -0.039682f, -0.001959f, 0.009074f, 0.019067f, 0.042809f, 0.023796f, 0.007388f, 0.005518f, 0.012285f, 0.009546f, 0.007216f, 0.017352f, 0.018122f, -0.005701f, -0.036240f, -0.035865f, -0.024640f, -0.014662f, 0.003595f, 0.012173f, -0.013276f, -0.020994f, -0.036759f, 0.001129f, -0.014042f, 0.033616f, -0.014959f, 0.008501f, -0.025505f, -0.012235f, -0.004466f, -0.010413f, -0.049285f, -0.051277f, 0.014094f, 0.005334f, 0.001345f, 0.026412f, 0.015042f, 0.021219f, 0.017053f, -0.031910f, -0.006942f, 0.060101f, -0.011094f, -0.022618f, 0.008848f, -0.013120f, 0.006161f, -0.036954f, 0.015041f, -0.016902f, 0.002566f, -0.002343f, 0.024392f, 0.001540f, 0.009811f, -0.020977f, 0.004046f, -0.011783f, -0.005300f, -0.014354f, -0.010887f, - 0.007665f, 0.008536f, -0.019160f, -0.006401f, 0.001509f, 0.003717f, 0.004910f, 0.002629f, -0.007353f, 0.008519f, 0.003601f, 0.002994f, -0.000877f, -0.000432f, 0.002780f, 0.008652f, -0.009034f, 0.008748f, -0.002156f, -0.000159f, -0.003125f, 0.005625f, -0.005250f, -0.002993f, 0.007729f, -0.014119f, -0.000143f, 0.002971f, -0.008552f, -0.002802f, -0.019879f, 0.014615f, 0.017163f, -0.000939f, 0.004176f, 0.004758f, 0.005965f, -0.008686f, 0.009649f, 0.006318f, 0.007574f, -0.006232f, 0.004222f, 0.006000f, 0.008776f, 0.034399f, 0.026207f, 0.003416f, 0.027845f, -0.005214f, -0.011320f, 0.015237f, -0.021183f, -0.041492f, -0.061958f, 0.005194f, 0.001378f, 0.023972f, 0.017586f, -0.023118f, -0.011764f, -0.060585f, -0.004003f, -0.028219f, 0.006649f, -0.014204f, -0.006714f, -0.011662f, -0.004429f, -0.004726f, -0.020982f, -0.009472f, -0.024464f, 0.019561f, -0.004867f, 0.016739f, 0.043460f, -0.022928f, 0.012543f, -0.003565f, -0.010725f, 0.011180f, -0.023174f, -0.039498f, 0.019005f, 0.009276f, 0.018902f, 0.011795f, -0.082691f, -0.037558f, 0.011063f, -0.027541f, -0.002302f, -0.023531f, 0.034654f, 0.041703f, - -0.002017f, 0.046098f, 0.006528f, 0.020940f, -0.006066f, -0.001527f, -0.025766f, 0.016331f, 0.033345f, 0.007221f, 0.055510f, 0.001311f, 0.007654f, -0.016296f, -0.024382f, 0.032847f, 0.052091f, 0.018179f, 0.010124f, 0.005132f, 0.019705f, 0.001700f, 0.003773f, -0.048741f, -0.035743f, -0.003702f, 0.002605f, 0.006460f, 0.036654f, 0.039414f, -0.007255f, 0.002589f, -0.013527f, 0.008207f, -0.025242f, 0.000646f, -0.026714f, -0.022634f, 0.011687f, -0.000660f, 0.002943f, -0.015027f, 0.009647f, 0.011799f, 0.007937f, 0.011949f, 0.014111f, 0.001224f, -0.008010f, 0.006191f, -0.010942f, -0.002671f, -0.006753f, -0.016037f, -0.004607f, -0.008871f, -0.007142f, 0.013309f, 0.007350f, -0.004743f, -0.010547f, -0.015883f, -0.010403f, 0.010718f, -0.010557f, -0.001044f, 0.000848f, 0.007336f, -0.014989f, -0.011970f, 0.005308f, 0.018611f, 0.011860f, 0.004790f, -0.000030f, -0.011195f, -0.001371f, -0.006806f, -0.012980f, 0.022166f, -0.032445f, -0.015987f, -0.060619f, -0.075537f, -0.056012f, -0.025572f, 0.017130f, -0.000484f, -0.013285f, -0.027591f, 0.000060f, 0.049862f, 0.024415f, -0.043594f, -0.007174f, -0.009001f, - -0.030812f, -0.005481f, 0.002282f, 0.021003f, 0.015464f, -0.032515f, 0.023386f, -0.018360f, 0.009933f, -0.017101f, 0.005195f, -0.024903f, -0.009307f, 0.012372f, -0.045024f, -0.008581f, -0.016969f, 0.014821f, -0.011199f, -0.041577f, 0.048963f, 0.047240f, 0.000652f, -0.019034f, 0.026678f, -0.063725f, -0.019967f, 0.019040f, -0.021447f, -0.013501f, -0.001636f, -0.020560f, 0.004097f, -0.005254f, -0.042738f, 0.018404f, -0.005437f, -0.013080f, -0.014614f, -0.011228f, -0.002665f, -0.011640f, -0.018115f, 0.035540f, -0.016878f, -0.016696f, 0.016883f, -0.000376f, 0.058219f, -0.011571f, -0.036074f, 0.020716f, -0.018834f, -0.015926f, -0.028142f, 0.019611f, 0.035911f, -0.069954f, 0.005509f, 0.059221f, -0.009608f, -0.003568f, -0.023382f, 0.040409f, -0.002841f, -0.021808f, -0.002906f, -0.020465f, -0.016504f, 0.029311f, -0.017531f, -0.001363f, -0.009726f, -0.012092f, -0.020486f, 0.008786f, 0.006863f, 0.010803f, -0.002434f, -0.016400f, -0.011326f, 0.000727f, 0.002909f, -0.025036f, -0.007204f, -0.016057f, 0.025050f, -0.008236f, 0.001798f, 0.003701f, 0.003109f, 0.002800f, -0.020349f, 0.013886f, 0.000698f, -0.007629f, - 0.018278f, 0.002980f, 0.023913f, -0.004080f, 0.027629f, 0.006565f, 0.011161f, 0.013689f, -0.017863f, -0.011620f, 0.008747f, -0.014531f, -0.011462f, 0.004549f, 0.000084f, -0.010151f, -0.024147f, 0.012004f, -0.047802f, 0.095496f, 0.068115f, -0.001296f, -0.018206f, 0.015160f, -0.057249f, 0.000962f, 0.071273f, -0.012549f, -0.024759f, 0.001186f, 0.080783f, -0.011542f, 0.017754f, -0.017152f, -0.036498f, -0.029508f, -0.007439f, -0.013462f, 0.014921f, 0.020689f, 0.001165f, -0.030350f, -0.042508f, -0.039102f, -0.006268f, -0.008552f, -0.021054f, 0.019837f, 0.016073f, -0.017048f, -0.020807f, -0.022715f, 0.012902f, 0.004545f, 0.015846f, 0.040459f, -0.000146f, -0.034356f, 0.023513f, 0.009347f, 0.008015f, 0.002583f, -0.000530f, -0.016478f, 0.029997f, 0.015445f, -0.011833f, -0.014113f, -0.009333f, -0.038998f, 0.010946f, 0.028879f, 0.008864f, -0.027242f, 0.032252f, 0.023727f, 0.013440f, 0.003783f, -0.016691f, 0.009044f, -0.055661f, 0.008954f, -0.003294f, 0.050048f, -0.017711f, -0.024417f, 0.010763f, -0.012615f, -0.000848f, -0.035733f, -0.006322f, -0.009379f, 0.048578f, -0.031166f, -0.058444f, -0.037950f, - -0.076004f, 0.015256f, -0.015293f, -0.004750f, -0.040458f, -0.025650f, -0.067134f, -0.029519f, -0.023323f, -0.003152f, 0.016761f, -0.021411f, -0.003560f, -0.003765f, -0.003177f, -0.005638f, 0.014702f, -0.024905f, 0.011242f, -0.009553f, -0.019395f, 0.003438f, -0.005396f, 0.018504f, 0.009646f, 0.000789f, -0.009576f, 0.023800f, 0.022110f, 0.013616f, -0.008143f, -0.011191f, -0.011241f, -0.010181f, 0.024835f, 0.040585f, 0.005027f, 0.037351f, 0.040836f, 0.014031f, 0.001057f, -0.035673f, -0.003534f, 0.007322f, 0.005659f, -0.002818f, -0.009589f, -0.030062f, -0.000327f, 0.021219f, 0.003686f, -0.022378f, -0.005461f, -0.016643f, 0.091126f, 0.003176f, 0.015449f, -0.015566f, -0.029380f, -0.040460f, -0.012861f, 0.010891f, 0.026954f, 0.021578f, -0.018855f, -0.000542f, -0.039678f, -0.015074f, 0.014715f, -0.034171f, -0.017733f, -0.013225f, 0.049320f, 0.025118f, 0.027303f, 0.025027f, -0.028035f, 0.004776f, 0.010641f, 0.011125f, -0.002400f, 0.032594f, -0.006942f, 0.014100f, 0.025958f, 0.009372f, 0.007444f, 0.021206f, 0.030064f, -0.017983f, -0.034652f, 0.022916f, -0.003487f, -0.000357f, -0.036653f, -0.034868f, - 0.008207f, -0.017682f, -0.013097f, 0.029741f, -0.030854f, 0.039483f, 0.026075f, -0.018227f, 0.021314f, -0.023913f, -0.023347f, -0.029080f, 0.041535f, -0.029431f, 0.013257f, 0.012106f, -0.047062f, 0.003988f, 0.005709f, -0.037842f, -0.064130f, -0.058041f, 0.042120f, -0.043755f, -0.000600f, -0.039398f, -0.008799f, -0.028321f, -0.002172f, 0.017464f, 0.011159f, -0.028820f, 0.029470f, 0.033535f, 0.071320f, 0.018115f, -0.047774f, 0.016369f, -0.029377f, 0.015442f, -0.042032f, 0.022087f, -0.017968f, 0.002661f, -0.008595f, 0.016733f, -0.005170f, -0.017626f, -0.040388f, -0.040792f, 0.004495f, 0.003385f, 0.025510f, -0.018684f, -0.001746f, 0.039302f, 0.011256f, 0.027090f, 0.008344f, -0.007719f, -0.003079f, -0.009974f, -0.026692f, 0.009048f, -0.032203f, -0.019497f, 0.006839f, 0.026125f, -0.035175f, 0.019038f, 0.003569f, 0.024672f, -0.008652f, 0.013584f, 0.025312f, 0.027472f, 0.028026f, -0.013344f, 0.013590f, 0.021422f, 0.023529f, 0.004108f, 0.013963f, 0.006866f, -0.011011f, 0.043138f, 0.020017f, 0.021489f, -0.018304f, 0.001640f, -0.039920f, -0.000634f, 0.006706f, 0.007801f, -0.035207f, -0.036627f, - -0.057985f, 0.040285f, 0.004116f, 0.013877f, -0.009554f, 0.021374f, -0.015896f, -0.015572f, 0.011967f, 0.030704f, 0.007163f, 0.020215f, 0.062401f, -0.008970f, -0.037709f, -0.079993f, -0.011427f, -0.030861f, -0.015249f, -0.018987f, -0.037219f, -0.026110f, -0.055584f, -0.006360f, -0.000887f, 0.019550f, 0.057588f, -0.047855f, -0.018490f, -0.007780f, 0.018853f, 0.020521f, 0.057063f, 0.007887f, -0.065199f, -0.014843f, 0.013369f, 0.051125f, 0.013383f, -0.078819f, -0.031657f, 0.071615f, 0.006516f, 0.071447f, -0.041934f, 0.002470f, 0.005599f, 0.043324f, -0.003992f, 0.039445f, 0.059195f, 0.008558f, 0.050231f, 0.035402f, 0.008557f, 0.069715f, 0.059451f, 0.019478f, 0.092686f, 0.071362f, 0.044682f, -0.074835f, -0.004797f, 0.029635f, 0.017165f, -0.000643f, -0.054317f, -0.064810f, -0.033548f, -0.092865f, -0.014596f, -0.068990f, -0.026285f, -0.017545f, -0.099551f, -0.094318f, -0.065662f, 0.032791f, 0.001182f, -0.021576f, -0.000997f, -0.006888f, -0.001822f, -0.018102f, -0.009549f, 0.023502f, 0.009467f, 0.004338f, -0.002906f, 0.004014f, -0.004278f, 0.014704f, -0.002141f, -0.024545f, 0.043564f, 0.007346f, - 0.010735f, -0.012492f, 0.002435f, -0.001150f, 0.023032f, -0.000793f, 0.013598f, -0.007414f, -0.023274f, 0.009887f, 0.018741f, 0.048291f, 0.042988f, 0.003245f, 0.000040f, 0.031000f, 0.015706f, 0.036149f, 0.030195f, -0.009019f, 0.034768f, 0.019632f, 0.007488f, 0.021995f, 0.014527f, -0.011699f, -0.004902f, -0.026863f, 0.017432f, -0.023910f, -0.010169f, 0.013601f, -0.051617f, 0.055097f, -0.023900f, 0.036094f, 0.017565f, -0.046156f, 0.006707f, 0.028833f, -0.018341f, -0.048213f, 0.031822f, -0.012986f, 0.027190f, -0.016101f, 0.006799f, 0.011291f, -0.029947f, -0.003393f, -0.013312f, -0.000502f, -0.048884f, -0.038137f, 0.047152f, 0.002317f, 0.018950f, -0.037217f, 0.038514f, 0.034756f, -0.026250f, 0.022207f, -0.038015f, -0.007953f, -0.021390f, 0.027628f, 0.067117f, -0.000993f, 0.081481f, -0.020469f, -0.004134f, 0.004132f, 0.008123f, -0.005343f, -0.046332f, 0.080428f, 0.052026f, -0.005971f, 0.043655f, 0.034644f, 0.045323f, -0.016986f, -0.001319f, -0.081117f, 0.036550f, 0.038707f, -0.010882f, -0.013560f, 0.050690f, 0.027322f, 0.026587f, 0.063832f, 0.010307f, -0.032181f, -0.039608f, 0.012326f, - -0.012656f, -0.046415f, 0.038452f, -0.053828f, 0.001989f, 0.012504f, -0.038931f, -0.059826f, -0.041355f, -0.014883f, 0.003944f, 0.049158f, 0.032269f, 0.016033f, -0.092811f, -0.025481f, 0.055314f, -0.003907f, -0.020506f, 0.016967f, -0.050478f, -0.030706f, 0.041754f, 0.000332f, 0.000216f, -0.017264f, -0.000123f, 0.026184f, -0.008347f, -0.018344f, 0.014161f, -0.005976f, -0.036037f, -0.018804f, 0.003105f, -0.002100f, -0.002588f, 0.001144f, -0.016041f, 0.000610f, -0.024881f, -0.032332f, 0.004031f, -0.002473f, -0.054550f, -0.005502f, -0.033199f, -0.018341f, -0.006425f, 0.008783f, 0.009478f, 0.030286f, -0.027794f, -0.018050f, 0.005587f, 0.029528f, -0.030721f, -0.031847f, 0.045242f, -0.006534f, -0.002981f, -0.008133f, -0.000700f, -0.018552f, 0.007729f, 0.021973f, 0.011348f, 0.019199f, 0.000923f, 0.007567f, 0.000065f, 0.003242f, -0.068514f, 0.038899f, 0.060813f, -0.001330f, 0.070061f, 0.020982f, -0.060580f, -0.037574f, -0.004639f, -0.021304f, -0.036791f, 0.038883f, 0.045838f, -0.004585f, 0.031950f, 0.042660f, -0.033677f, 0.030036f, 0.051516f, -0.003307f, -0.069201f, 0.027060f, -0.001810f, -0.013947f, - 0.019305f, 0.052194f, -0.016559f, -0.026569f, 0.013026f, -0.023153f, -0.029900f, -0.002288f, 0.046215f, 0.039113f, -0.065189f, 0.020599f, 0.028179f, -0.044094f, -0.027850f, 0.052805f, -0.014211f, -0.077258f, -0.009618f, 0.064622f, -0.020910f, -0.111540f, 0.117043f, -0.033409f, -0.013211f, -0.057757f, 0.075731f, 0.024412f, -0.025716f, 0.054727f, -0.031985f, -0.024297f, -0.013781f, 0.140339f, 0.047223f, -0.058987f, -0.051715f, 0.053730f, -0.012143f, 0.078291f, 0.001803f, 0.058723f, -0.080692f, 0.064610f, 0.112026f, 0.010390f, -0.011631f, -0.019829f, -0.019099f, -0.044717f, 0.105737f, 0.070658f, -0.062619f, 0.017532f, -0.065834f, -0.011501f, 0.007566f, 0.013651f, 0.009735f, 0.019389f, 0.002280f, -0.072770f, 0.034420f, 0.004268f, -0.007084f, -0.001732f, 0.033847f, -0.014644f, 0.007865f, -0.010771f, 0.017787f, -0.007046f, 0.004953f, -0.011775f, 0.022292f, 0.000703f, -0.003890f, 0.012238f, 0.018017f, -0.039923f, 0.005316f, 0.024866f, 0.010048f, -0.028820f, 0.015823f, 0.044848f, -0.043582f, -0.068669f, 0.013992f, 0.008330f, 0.027358f, 0.026113f, -0.003065f, -0.062046f, -0.020382f, 0.016751f, - 0.009119f, 0.017237f, -0.008772f, 0.002424f, -0.001922f, -0.020823f, 0.018596f, -0.016329f, 0.050372f, 0.115200f, 0.022271f, -0.044548f, -0.010616f, -0.010927f, 0.020202f, 0.017335f, -0.035975f, -0.051294f, 0.013680f, -0.043408f, 0.008629f, -0.027022f, -0.031083f, -0.006758f, 0.005256f, 0.014723f, -0.034644f, -0.013994f, -0.013742f, -0.043111f, 0.036147f, -0.013563f, 0.002321f, -0.006399f, -0.028767f, 0.011407f, 0.008083f, 0.000999f, -0.006221f, 0.000319f, -0.001061f, -0.017005f, -0.036594f, 0.015645f, -0.018169f, 0.015868f, 0.011150f, -0.036572f, -0.029613f, -0.003365f, -0.004260f, -0.004169f, -0.007863f, 0.029811f, -0.020630f, 0.003051f, -0.038843f, 0.033163f, -0.038056f, -0.020141f, 0.018922f, 0.000537f, -0.030498f, 0.024252f, -0.041005f, 0.003131f, 0.012353f, -0.001077f, 0.004495f, 0.019664f, 0.009338f, -0.042245f, 0.021399f, 0.003018f, -0.025484f, 0.036268f, 0.014297f, -0.040085f, -0.004370f, -0.031954f, -0.004189f, 0.013053f, 0.010745f, -0.040804f, 0.052042f, -0.027464f, -0.015078f, 0.028994f, 0.019252f, 0.004790f, 0.019375f, -0.001553f, 0.027100f, -0.011978f, 0.005592f, -0.003283f, - 0.013150f, 0.010304f, -0.007706f, -0.009306f, 0.010477f, -0.012897f, 0.001454f, 0.002347f, 0.001802f, -0.007527f, 0.001371f, -0.007009f, -0.011643f, -0.006251f, -0.012671f, -0.000541f, 0.009687f, 0.016850f, 0.006323f, 0.002137f, 0.008955f, 0.011101f, -0.015090f, 0.023608f, 0.006277f, -0.000556f, -0.015300f, -0.008580f, 0.007485f, 0.018740f, -0.003464f, -0.000164f, -0.008957f, 0.003280f, 0.002823f, -0.007400f, -0.010212f, -0.008960f, -0.023969f, -0.008543f, -0.069148f, -0.086330f, -0.031656f, 0.260818f, 0.208748f, 0.138445f, 0.252441f, -0.100236f, -0.238829f, -0.076549f, -0.386005f, -0.150398f, 0.010923f, -0.090443f, 0.177047f, 0.241896f, 0.039568f, 0.153796f, 0.264084f, 0.005816f, 0.072796f, -0.017122f, -0.310374f, -0.256711f, -0.194028f, -0.192663f, -0.094971f, 0.147341f, 0.079142f, 0.114044f, 0.324170f, 0.137589f, 0.020126f, 0.194206f, 0.090232f, -0.111063f, 0.037868f, -0.093146f, -0.314556f, -0.075588f, -0.164357f, -0.323944f, -0.053874f, 0.007606f, -0.079197f, 0.219345f, 0.253036f, 0.099916f, 0.297543f, 0.301232f, 0.056183f, 0.116184f, 0.052210f, -0.190269f, -0.213444f, -0.199654f, - -0.359349f, -0.317424f, -0.121042f, -0.147375f, 0.031055f, 0.192561f, 0.263496f, 0.217861f, 0.336592f, 0.249822f, 0.133983f, 0.018615f, -0.042063f, -0.194107f, -0.236557f, -0.174586f, -0.207869f, -0.173264f, -0.007649f, -0.009762f, 0.039357f, 0.187031f, 0.090075f, 0.114257f, 0.179091f, -0.003741f, -0.055903f, -0.029620f, -0.112426f, -0.064253f, -0.037762f, -0.041482f, 0.045906f, 0.094692f, 0.036625f, 0.052394f, 0.059565f, -0.043580f, -0.015643f, -0.018599f, -0.114707f, 0.015717f, 0.047726f, -0.124267f, -0.001655f, -0.011615f, -0.125450f, 0.046432f, 0.020997f, -0.142069f, 0.089459f, 0.133357f, 0.031232f, 0.268836f, 0.167181f, -0.003626f, 0.142993f, 0.025515f, -0.182117f, -0.151400f, -0.237112f, -0.336437f, -0.252600f, -0.164616f, -0.088587f, 0.114316f, 0.248439f, 0.291118f, 0.362648f, 0.355257f, 0.251471f, 0.055188f, -0.027041f, -0.181187f, -0.330079f, -0.321106f, -0.285327f, -0.239839f, -0.052033f, 0.025199f, 0.041203f, 0.164198f, 0.174608f, 0.121000f, 0.124680f, 0.096655f, 0.041778f, 0.058983f, 0.042726f, -0.011092f, -0.022313f, -0.052497f, -0.104861f, -0.113731f, -0.112529f, -0.113930f, - -0.085341f, -0.017130f, 0.008478f, 0.030067f, 0.036100f, 0.020430f, 0.008192f, 0.002036f}, - {-0.009431f, 0.029314f, 0.011241f, 0.007123f, 0.002320f, -0.006218f, 0.000085f, 0.005619f, 0.010585f, 0.000141f, 0.001033f, 0.000614f, -0.003867f, 0.001025f, 0.003598f, -0.000729f, 0.003514f, 0.005404f, 0.007217f, 0.003021f, 0.002967f, 0.003791f, 0.003378f, -0.006636f, 0.006730f, 0.012614f, -0.005978f, 0.003576f, 0.001991f, 0.003511f, 0.000660f, 0.007461f, -0.004860f, -0.001752f, -0.004373f, 0.004297f, 0.012528f, -0.002128f, 0.006084f, -0.000189f, -0.002820f, -0.010339f, 0.003870f, -0.005368f, 0.004765f, 0.002386f, 0.005322f, -0.000618f, -0.003186f, 0.001652f, -0.002192f, 0.007142f, 0.000935f, -0.005709f, 0.007285f, -0.001624f, 0.005688f, 0.004350f, -0.000221f, 0.004173f, 0.008211f, -0.002344f, -0.002866f, -0.002365f, 0.004090f, -0.003392f, -0.004416f, 0.005066f, 0.000068f, 0.003387f, -0.005456f, 0.008029f, 0.000486f, -0.002317f, -0.000939f, -0.000938f, 0.003221f, -0.003068f, -0.004835f, 0.002816f, 0.004340f, 0.004057f, -0.003834f, -0.005784f, 0.002314f, -0.000251f, -0.000679f, -0.002261f, -0.002092f, 0.002821f, -0.000745f, -0.000475f, -0.001775f, -0.002163f, 0.000422f, -0.001572f, - 0.000658f, 0.000387f, 0.002130f, 0.001420f, -0.000630f, 0.000704f, 0.001214f, -0.001344f, -0.000531f, 0.000019f, -0.000583f, -0.001045f, 0.000741f, 0.001996f, 0.001180f, 0.001474f, 0.000030f, 0.022772f, 0.017871f, 0.008957f, 0.001317f, -0.003384f, 0.010363f, -0.006073f, -0.006493f, -0.001513f, -0.011352f, 0.006849f, 0.000476f, -0.004734f, 0.002707f, 0.006581f, 0.011359f, -0.005284f, 0.006560f, 0.014713f, -0.004186f, 0.000077f, 0.003397f, 0.007634f, -0.001909f, 0.008319f, 0.005931f, 0.008416f, 0.001969f, 0.006420f, -0.006538f, 0.011226f, -0.001318f, 0.010830f, 0.005414f, -0.001229f, 0.001380f, -0.001832f, -0.000220f, -0.003961f, -0.001822f, -0.004886f, -0.003543f, 0.003750f, -0.000985f, -0.010557f, -0.002327f, 0.001075f, -0.000259f, -0.005910f, -0.006028f, -0.003120f, -0.002587f, 0.008184f, -0.003258f, -0.009080f, -0.012033f, -0.013333f, -0.004548f, -0.005899f, -0.000441f, 0.002001f, 0.006454f, -0.008739f, -0.003911f, 0.000968f, -0.000844f, -0.003945f, 0.001003f, -0.009197f, -0.000828f, -0.010831f, 0.005796f, -0.005922f, -0.002825f, 0.007421f, -0.001053f, 0.005077f, 0.001516f, 0.001814f, - 0.005824f, 0.001388f, -0.004625f, -0.002192f, 0.000497f, -0.004603f, 0.002453f, 0.004570f, 0.002281f, -0.003619f, 0.002709f, 0.003812f, 0.000789f, 0.002039f, -0.001104f, -0.002152f, -0.001431f, -0.002152f, 0.001522f, -0.000276f, 0.001398f, -0.001808f, -0.001266f, 0.001427f, 0.012068f, -0.026164f, -0.007037f, -0.013250f, -0.002474f, 0.000003f, 0.014401f, -0.006998f, -0.023472f, -0.008253f, -0.000610f, 0.008947f, 0.002775f, -0.008689f, -0.020379f, -0.005226f, 0.005573f, -0.002267f, 0.011463f, 0.000468f, 0.005018f, -0.001116f, -0.009049f, -0.009817f, 0.005920f, 0.007254f, 0.000841f, 0.002370f, -0.000365f, 0.004446f, 0.001021f, -0.012076f, 0.000640f, 0.017069f, 0.002291f, -0.004206f, -0.001575f, -0.004497f, 0.001043f, -0.003874f, -0.007405f, 0.011442f, -0.003547f, -0.004717f, 0.010358f, -0.005382f, -0.009191f, 0.000459f, 0.000065f, 0.000338f, -0.013256f, 0.010821f, -0.004104f, -0.000215f, 0.009952f, 0.009088f, -0.014211f, -0.003562f, 0.002761f, 0.003498f, -0.001249f, 0.007836f, 0.002157f, 0.003917f, 0.005411f, 0.000857f, 0.004327f, 0.006576f, 0.001435f, 0.000091f, 0.006101f, -0.016166f, - -0.003577f, 0.000463f, 0.008281f, 0.004641f, -0.001980f, -0.001583f, 0.006028f, 0.005657f, -0.006450f, -0.000864f, -0.002285f, 0.000259f, 0.003576f, 0.004592f, 0.000925f, 0.005661f, -0.000545f, -0.003949f, -0.001876f, 0.000516f, 0.000438f, 0.000599f, -0.001486f, 0.003967f, -0.000778f, 0.001471f, -0.000571f, -0.001705f, 0.001173f, 0.000017f, -0.000749f, -0.001383f, 0.000349f, -0.001296f, -0.000199f, -0.002382f, -0.001869f, 0.000581f, -0.000345f, -0.001845f, -0.003758f, -0.001310f, 0.000858f, 0.003282f, -0.051986f, -0.020650f, -0.010391f, -0.014873f, 0.004772f, -0.005200f, -0.004863f, -0.000706f, 0.006704f, -0.006055f, -0.006994f, -0.010432f, 0.002203f, 0.009210f, 0.002200f, -0.007178f, -0.008685f, 0.002548f, 0.007882f, 0.007095f, -0.009890f, -0.014843f, 0.001243f, -0.013882f, 0.007485f, -0.000174f, 0.005263f, -0.000471f, 0.005083f, -0.005513f, -0.002151f, 0.014352f, -0.017334f, 0.007955f, 0.004206f, 0.001873f, -0.006063f, 0.003779f, 0.008735f, 0.002213f, -0.010508f, 0.002066f, -0.006617f, 0.005124f, -0.014391f, -0.000631f, -0.013024f, 0.010050f, -0.000940f, -0.002690f, -0.003600f, 0.005498f, - -0.021947f, 0.010106f, -0.006231f, -0.013447f, 0.005483f, 0.010680f, 0.012303f, 0.007094f, 0.002737f, -0.000939f, 0.001587f, -0.001178f, 0.007992f, -0.004552f, 0.002367f, 0.006104f, 0.015349f, 0.002355f, 0.000447f, -0.010989f, 0.007110f, -0.005497f, 0.001392f, 0.000239f, 0.008242f, -0.007245f, 0.000573f, 0.007370f, -0.000510f, -0.008883f, -0.011995f, 0.009979f, 0.000997f, 0.001822f, 0.005218f, -0.001104f, 0.002619f, 0.002107f, 0.000082f, 0.001755f, -0.000691f, 0.000246f, 0.002855f, 0.002444f, 0.002817f, -0.004464f, 0.001895f, -0.003365f, -0.001276f, -0.002843f, 0.002770f, -0.003218f, -0.029642f, 0.014523f, 0.023101f, 0.004516f, 0.001803f, 0.012876f, 0.004315f, 0.003954f, 0.007005f, 0.000988f, 0.007330f, 0.007419f, -0.005994f, -0.001074f, 0.000977f, -0.007245f, -0.004531f, -0.000073f, 0.003548f, -0.004265f, 0.024021f, 0.012798f, -0.003536f, 0.001741f, 0.007609f, 0.009636f, 0.010949f, -0.004575f, 0.007702f, 0.009022f, 0.000479f, 0.002646f, 0.002567f, 0.005146f, 0.003688f, 0.002281f, 0.005055f, 0.004874f, -0.010433f, -0.008023f, -0.016048f, 0.001752f, -0.005703f, -0.007990f, - 0.008213f, -0.002325f, 0.005160f, -0.019829f, 0.021828f, -0.001569f, -0.010422f, -0.001912f, 0.017298f, 0.012556f, -0.002790f, 0.000466f, 0.008362f, -0.003973f, 0.003581f, -0.006372f, -0.013668f, 0.001623f, 0.001249f, -0.010946f, -0.004364f, -0.010790f, 0.001903f, 0.004009f, 0.002417f, -0.005238f, -0.009576f, -0.014539f, -0.017367f, -0.012455f, -0.004885f, 0.001011f, -0.004244f, 0.001703f, 0.005735f, 0.005125f, -0.007233f, -0.000761f, -0.007886f, 0.002882f, -0.002764f, 0.002270f, -0.000128f, -0.003200f, 0.002274f, 0.002637f, -0.002337f, -0.001081f, -0.003036f, 0.004075f, -0.004842f, 0.001060f, 0.001522f, 0.001439f, -0.000510f, -0.001111f, 0.001008f, 0.002171f, 0.002138f, 0.001779f, 0.001337f, 0.001832f, 0.000578f, 0.003475f, -0.000817f, 0.003850f, -0.002413f, 0.001224f, -0.000731f, -0.000975f, -0.002775f, -0.002122f, -0.001852f, -0.002487f, 0.000968f, -0.001995f, -0.000285f, 0.001839f, 0.000594f, 0.054604f, 0.014480f, 0.004050f, -0.002024f, 0.032911f, 0.003863f, 0.015637f, 0.003228f, 0.010400f, 0.017143f, 0.006048f, -0.009515f, 0.010114f, 0.011784f, 0.001857f, -0.000860f, 0.002512f, - 0.021571f, 0.001490f, -0.007372f, -0.013122f, -0.003853f, -0.000404f, -0.014984f, 0.002505f, 0.004446f, 0.008589f, 0.003663f, 0.006059f, 0.016520f, -0.005171f, -0.002629f, 0.010138f, -0.001591f, -0.004491f, -0.000861f, -0.014791f, 0.009552f, 0.006243f, 0.000333f, 0.009490f, -0.004759f, -0.012959f, -0.027981f, -0.010262f, 0.010322f, 0.011401f, 0.000349f, 0.007995f, -0.007914f, -0.008603f, 0.022746f, -0.013194f, 0.010299f, -0.011622f, 0.002406f, -0.016933f, -0.017772f, 0.019243f, -0.007381f, -0.006954f, 0.026560f, 0.001976f, -0.003011f, -0.012516f, 0.009719f, 0.015326f, 0.000721f, -0.008305f, -0.015689f, -0.002490f, 0.011349f, -0.003676f, 0.003823f, -0.006953f, 0.005567f, -0.002670f, 0.001774f, 0.012090f, -0.013127f, 0.004052f, -0.003749f, 0.000768f, 0.001459f, -0.001552f, 0.013963f, 0.004339f, 0.002008f, -0.004215f, 0.000087f, -0.003353f, 0.005846f, -0.002917f, 0.004621f, 0.004638f, -0.004988f, -0.000037f, -0.000856f, -0.003262f, 0.006590f, 0.001048f, 0.003042f, 0.000173f, -0.002428f, 0.001269f, -0.000051f, 0.000037f, 0.001823f, 0.002864f, 0.001014f, 0.003780f, 0.001130f, -0.000393f, - 0.002083f, 0.001376f, -0.001603f, 0.000364f, -0.000750f, 0.000738f, 0.003355f, 0.003724f, 0.000516f, -0.000471f, 0.027735f, 0.009322f, 0.022976f, -0.014039f, 0.004576f, 0.012972f, -0.017596f, -0.005910f, -0.006895f, 0.001925f, -0.008908f, -0.005312f, 0.013607f, -0.004048f, -0.002602f, -0.000863f, 0.017036f, -0.006130f, -0.007945f, 0.018336f, 0.002919f, -0.012784f, 0.005404f, -0.002718f, 0.002883f, 0.007000f, -0.010489f, -0.002303f, -0.007892f, -0.013988f, 0.001678f, 0.000467f, 0.002641f, -0.013761f, -0.014490f, 0.005704f, -0.001296f, 0.005555f, -0.000629f, 0.008029f, 0.002282f, -0.000250f, -0.009277f, -0.008826f, 0.002425f, 0.009018f, 0.004273f, -0.002491f, 0.026106f, 0.006325f, 0.004416f, 0.012004f, 0.004340f, 0.008956f, 0.008939f, 0.006003f, 0.003550f, 0.004627f, -0.003869f, -0.001954f, 0.001919f, -0.010993f, 0.002864f, -0.017785f, 0.004813f, -0.011737f, 0.009197f, -0.006555f, 0.005016f, -0.002207f, -0.008757f, 0.003025f, -0.002375f, 0.009444f, -0.008217f, 0.025088f, 0.020974f, 0.009820f, -0.018088f, 0.005760f, 0.007918f, -0.007585f, 0.003240f, 0.002328f, 0.012165f, 0.011745f, - 0.004795f, -0.000164f, -0.001764f, -0.002406f, -0.007213f, 0.010951f, -0.000919f, -0.001215f, -0.000069f, -0.003025f, 0.001080f, 0.003716f, -0.003090f, 0.005748f, -0.002260f, -0.004563f, -0.004981f, -0.000082f, 0.003215f, 0.003320f, -0.001008f, -0.001076f, -0.003962f, -0.001573f, 0.001911f, -0.004532f, 0.005029f, 0.005410f, -0.003510f, 0.001040f, -0.004412f, -0.001331f, 0.000597f, 0.001817f, -0.003398f, 0.005726f, -0.034464f, -0.066318f, -0.002828f, -0.013291f, 0.011505f, -0.003419f, -0.018359f, -0.001780f, -0.014866f, -0.016399f, -0.014054f, 0.021689f, 0.011265f, -0.014485f, -0.008323f, 0.016508f, 0.009565f, 0.014733f, -0.010129f, 0.009530f, -0.008982f, -0.009078f, -0.002790f, -0.003964f, -0.028037f, 0.007667f, 0.016034f, 0.006903f, -0.016660f, -0.003827f, 0.002976f, 0.004280f, -0.014857f, -0.003308f, -0.021330f, 0.004720f, -0.010099f, -0.000937f, -0.007414f, 0.004096f, 0.022876f, -0.002451f, -0.004215f, 0.011462f, 0.016735f, -0.010089f, 0.004592f, 0.006329f, -0.014049f, 0.007562f, 0.007072f, -0.016525f, 0.002644f, 0.010726f, -0.002484f, -0.017399f, -0.010930f, -0.011214f, 0.015872f, 0.006157f, - 0.015546f, -0.009140f, -0.017848f, 0.004276f, 0.008990f, -0.003776f, -0.012755f, 0.008552f, 0.012589f, 0.011908f, -0.014628f, -0.007601f, -0.002980f, 0.023785f, -0.004970f, 0.014216f, 0.004248f, -0.016666f, -0.013531f, -0.002554f, 0.009407f, -0.015787f, -0.000846f, -0.002896f, 0.008805f, -0.001852f, 0.019734f, 0.002516f, -0.004393f, -0.005807f, -0.004868f, -0.005598f, -0.003557f, -0.001856f, 0.001921f, 0.000017f, -0.002187f, -0.007130f, -0.000573f, -0.006929f, -0.002935f, 0.002948f, -0.002315f, 0.001216f, -0.001896f, -0.005215f, 0.003337f, -0.000777f, 0.008556f, -0.001558f, -0.006678f, -0.004721f, 0.002841f, -0.001199f, 0.000466f, -0.001820f, -0.004224f, 0.001585f, 0.004889f, -0.004098f, -0.001140f, 0.006518f, 0.003163f, -0.003867f, 0.005325f, -0.033927f, -0.000032f, 0.000939f, 0.019566f, 0.004739f, -0.007801f, 0.011571f, -0.005560f, 0.005062f, -0.018375f, -0.005411f, -0.011639f, -0.006465f, -0.023233f, -0.008827f, -0.013870f, 0.032045f, 0.018431f, 0.019528f, -0.022789f, -0.019529f, -0.009328f, 0.010915f, -0.001028f, -0.000269f, 0.000683f, 0.006548f, -0.001535f, 0.009298f, -0.013248f, -0.011413f, - -0.000193f, -0.003257f, -0.016347f, -0.016501f, -0.013148f, -0.009575f, -0.007077f, -0.006588f, -0.020715f, 0.009493f, 0.025469f, -0.005546f, 0.011962f, 0.016316f, -0.011931f, 0.014116f, 0.009007f, 0.003332f, 0.023268f, -0.001145f, 0.019497f, 0.007181f, 0.002569f, -0.018296f, 0.007384f, 0.008978f, -0.004729f, 0.026708f, 0.021413f, 0.004113f, -0.007856f, -0.013381f, 0.007827f, -0.013156f, 0.005415f, -0.000311f, 0.015935f, -0.000091f, -0.023452f, 0.001644f, -0.009164f, -0.003811f, -0.017536f, 0.020587f, 0.010844f, 0.007423f, 0.005049f, 0.022981f, -0.006493f, -0.024214f, -0.003640f, 0.015116f, 0.000566f, -0.012509f, -0.003052f, 0.001655f, -0.005224f, 0.002869f, 0.007460f, -0.000150f, 0.000389f, -0.001634f, 0.002533f, -0.000485f, 0.008958f, 0.002599f, 0.002785f, -0.002162f, 0.003569f, 0.004554f, 0.008152f, -0.006801f, 0.004588f, 0.004523f, 0.000110f, 0.001353f, 0.008212f, 0.004349f, 0.002253f, -0.004990f, 0.007006f, -0.002115f, -0.003795f, -0.004727f, -0.000132f, -0.012110f, 0.007759f, 0.003747f, 0.001551f, -0.005793f, 0.006864f, 0.006588f, 0.012066f, 0.007314f, 0.002202f, 0.001948f, - 0.000790f, 0.009751f, -0.030714f, 0.013842f, 0.010150f, 0.013131f, -0.014351f, -0.025470f, 0.007362f, 0.007637f, 0.001259f, -0.021481f, 0.020510f, 0.005877f, -0.010979f, -0.018921f, 0.008509f, -0.008379f, 0.032845f, 0.038262f, 0.005624f, -0.006145f, -0.014315f, 0.021718f, -0.024770f, -0.008875f, 0.030494f, 0.007571f, -0.005974f, -0.016532f, -0.015254f, -0.008625f, 0.000499f, -0.020215f, 0.004508f, 0.021490f, -0.002784f, 0.008058f, -0.015816f, -0.014427f, -0.004932f, -0.011933f, 0.031214f, -0.011503f, 0.013988f, 0.011521f, 0.012634f, 0.003321f, 0.006178f, -0.021710f, -0.021800f, -0.020876f, -0.004708f, 0.015615f, 0.035987f, -0.014556f, -0.026105f, -0.006051f, -0.012065f, 0.006639f, 0.005527f, 0.020040f, -0.012331f, -0.000290f, -0.016318f, -0.003128f, 0.028801f, -0.003724f, -0.015795f, 0.020624f, 0.006697f, 0.003307f, 0.010774f, -0.023200f, 0.003463f, -0.007879f, 0.002164f, 0.010570f, 0.025305f, 0.007066f, -0.029579f, 0.010749f, 0.002500f, -0.004610f, -0.012378f, 0.000542f, -0.003230f, -0.001645f, -0.000882f, 0.004131f, 0.006710f, 0.008141f, 0.002618f, 0.000524f, -0.004855f, 0.001510f, - -0.001573f, 0.005835f, -0.010111f, 0.003714f, 0.003797f, -0.000249f, 0.000780f, 0.001647f, -0.007684f, -0.000238f, -0.005136f, 0.008223f, 0.007557f, 0.001871f, 0.009095f, -0.003631f, 0.001158f, 0.006991f, -0.001601f, 0.005532f, 0.001246f, 0.005118f, 0.001609f, -0.011687f, -0.000842f, -0.004203f, -0.000794f, 0.001543f, 0.000551f, -0.004148f, 0.000254f, -0.004880f, -0.000142f, -0.002396f, 0.049847f, -0.021629f, -0.017074f, -0.005133f, 0.010444f, -0.029134f, 0.011613f, -0.007820f, 0.014664f, -0.013045f, -0.006057f, 0.018170f, 0.013344f, 0.005171f, -0.009204f, -0.003251f, 0.024701f, 0.024439f, -0.005161f, 0.021343f, -0.006278f, 0.031358f, -0.014739f, -0.007652f, 0.005518f, 0.032844f, 0.023857f, 0.007966f, -0.017691f, -0.001200f, -0.036548f, -0.005478f, 0.005582f, 0.016787f, 0.019416f, 0.034599f, 0.008943f, -0.000612f, -0.001793f, -0.013256f, -0.022850f, -0.001618f, -0.019838f, 0.014266f, 0.004342f, 0.022051f, 0.012137f, -0.007524f, 0.021716f, -0.026012f, 0.011625f, -0.005802f, 0.001746f, -0.004527f, 0.027672f, 0.016293f, 0.007820f, 0.004951f, -0.050627f, -0.008044f, 0.029796f, 0.015103f, - 0.001712f, -0.000955f, 0.001372f, 0.024125f, 0.010096f, -0.038200f, -0.012603f, -0.014756f, 0.003425f, 0.000794f, -0.038084f, 0.001453f, -0.035611f, -0.023545f, -0.003230f, -0.015275f, -0.016668f, 0.022129f, 0.027834f, -0.003047f, -0.013753f, -0.001533f, 0.008444f, -0.003470f, 0.007183f, 0.011422f, -0.001076f, 0.012693f, 0.018496f, -0.005997f, -0.010534f, 0.001693f, -0.004578f, 0.005612f, 0.003527f, -0.002971f, -0.002751f, 0.000216f, 0.000133f, 0.005240f, -0.000714f, -0.006444f, 0.001164f, 0.006322f, 0.002218f, 0.005615f, -0.005046f, 0.008530f, -0.000142f, -0.003172f, 0.001965f, -0.005433f, 0.002033f, -0.010867f, -0.007085f, -0.008507f, 0.004247f, 0.000397f, -0.008197f, -0.001625f, 0.006772f, 0.004526f, 0.005860f, -0.003985f, 0.003169f, 0.000050f, -0.001468f, -0.010385f, -0.005457f, -0.011008f, 0.018087f, 0.035231f, -0.008918f, -0.014329f, 0.001972f, 0.013633f, 0.007762f, -0.021539f, -0.001406f, -0.017448f, -0.001024f, -0.023751f, -0.002690f, -0.020412f, 0.000867f, 0.021164f, 0.001568f, 0.046710f, -0.019700f, -0.009358f, -0.016766f, 0.019088f, 0.030997f, -0.024858f, -0.008447f, -0.038574f, - 0.007150f, -0.000262f, 0.010441f, 0.009586f, -0.021751f, -0.012759f, 0.016778f, -0.006256f, -0.004902f, -0.020939f, 0.042258f, -0.005566f, -0.045485f, 0.012858f, -0.012078f, -0.013369f, 0.016196f, 0.012829f, -0.013236f, -0.014324f, -0.004513f, -0.026082f, -0.015881f, 0.008886f, 0.005738f, 0.009269f, -0.008124f, -0.018791f, -0.022123f, -0.021881f, 0.018076f, -0.032209f, 0.000379f, 0.008019f, -0.010132f, 0.001069f, -0.000346f, -0.004166f, -0.025855f, -0.004522f, -0.010592f, 0.016612f, 0.020797f, -0.003633f, 0.032408f, -0.001599f, -0.000475f, -0.009718f, -0.002221f, 0.047071f, 0.004394f, -0.020869f, -0.008586f, 0.018472f, 0.013414f, -0.025715f, 0.000382f, 0.003977f, -0.017766f, 0.014961f, 0.003304f, 0.016715f, 0.002397f, 0.002773f, 0.002378f, 0.001555f, 0.007026f, 0.010172f, 0.000731f, 0.005232f, 0.015775f, 0.001511f, -0.005837f, 0.003046f, 0.007492f, -0.005778f, -0.001888f, 0.001182f, -0.007638f, 0.007192f, 0.006226f, 0.008270f, 0.001411f, -0.008403f, 0.001832f, -0.002696f, 0.001265f, -0.001546f, -0.001781f, 0.001043f, -0.005050f, 0.007199f, -0.003761f, -0.004502f, -0.005988f, 0.014270f, - -0.000046f, -0.014886f, 0.010898f, 0.008964f, 0.003565f, -0.000712f, 0.008290f, 0.006692f, -0.017072f, -0.022626f, 0.057293f, -0.014661f, -0.005147f, 0.005201f, 0.024360f, 0.017682f, -0.037386f, -0.015111f, -0.035526f, 0.007862f, 0.001914f, -0.010866f, -0.039097f, 0.001704f, -0.018321f, 0.008182f, 0.008455f, 0.019760f, 0.000867f, 0.014404f, 0.067306f, 0.014738f, 0.016695f, -0.010514f, -0.003889f, 0.029522f, -0.002716f, 0.002387f, 0.007662f, 0.001993f, -0.004475f, -0.015326f, 0.027019f, -0.028771f, 0.011852f, -0.042804f, -0.013205f, -0.019999f, -0.026621f, -0.022684f, -0.000207f, -0.046780f, -0.016105f, 0.006479f, 0.026650f, 0.015474f, -0.046181f, 0.026142f, 0.017192f, 0.019061f, -0.029391f, 0.021520f, -0.013881f, -0.033465f, -0.011574f, -0.033299f, 0.016113f, 0.039883f, 0.009908f, -0.003793f, -0.026180f, 0.021100f, -0.027873f, 0.041643f, -0.007856f, -0.004469f, -0.025203f, -0.027394f, 0.003946f, 0.032519f, 0.010627f, -0.022363f, -0.009145f, 0.005451f, -0.004686f, -0.008952f, 0.021258f, 0.010996f, -0.009971f, 0.027519f, -0.002271f, -0.039069f, 0.048947f, 0.026064f, 0.020149f, 0.009242f, - -0.006619f, -0.002416f, -0.004100f, 0.014625f, 0.003310f, 0.002145f, 0.032215f, 0.012579f, 0.000566f, 0.001535f, 0.004570f, 0.016823f, -0.013497f, 0.009483f, 0.000919f, 0.003166f, 0.003078f, 0.010833f, 0.005296f, 0.000667f, 0.018154f, 0.013888f, 0.001207f, -0.006355f, -0.006458f, -0.002388f, 0.014859f, 0.007432f, 0.008339f, 0.008011f, 0.009883f, -0.012299f, 0.012291f, -0.003271f, -0.003286f, 0.011386f, 0.017857f, -0.002604f, -0.004975f, -0.000120f, 0.016995f, 0.019578f, 0.007490f, 0.012061f, 0.009244f, 0.031489f, 0.005871f, -0.020123f, 0.009114f, -0.005805f, 0.009392f, 0.034539f, -0.048591f, -0.021983f, -0.039071f, 0.022244f, -0.007878f, 0.003894f, -0.012900f, 0.028200f, -0.027704f, -0.027872f, -0.012723f, -0.006448f, -0.019953f, -0.034510f, -0.016694f, 0.006549f, 0.022698f, -0.031750f, 0.020979f, -0.011908f, 0.002511f, 0.041292f, 0.031551f, -0.000457f, 0.016628f, 0.008043f, -0.006563f, -0.004912f, -0.055969f, 0.007833f, -0.005680f, 0.005585f, 0.010902f, -0.004329f, 0.001526f, 0.056618f, -0.050766f, 0.004845f, 0.061255f, 0.008057f, 0.016918f, -0.023959f, -0.006559f, 0.032084f, - 0.056233f, 0.002907f, 0.049869f, -0.019389f, 0.045115f, -0.015801f, 0.033394f, 0.033918f, -0.008382f, 0.066050f, -0.010985f, -0.002750f, -0.019604f, -0.029787f, -0.031608f, -0.014465f, -0.018973f, -0.045888f, -0.021437f, -0.009713f, 0.016985f, 0.016830f, 0.002154f, -0.023561f, -0.003941f, -0.006638f, 0.029537f, 0.009186f, -0.015401f, 0.025322f, 0.005696f, -0.003117f, -0.003570f, -0.018411f, -0.002835f, -0.007317f, 0.007708f, -0.018644f, -0.008916f, -0.013004f, -0.012940f, 0.023540f, 0.009089f, -0.007815f, 0.007109f, -0.006017f, 0.004498f, -0.014171f, 0.021095f, 0.000990f, 0.005916f, -0.000563f, -0.014226f, 0.013013f, -0.001733f, 0.004768f, 0.014984f, 0.010371f, 0.006383f, 0.001150f, -0.022134f, 0.010545f, -0.008490f, -0.001053f, 0.019034f, -0.000455f, 0.007048f, 0.004516f, 0.009088f, 0.012750f, -0.004626f, -0.010384f, -0.006850f, -0.008334f, 0.003960f, 0.011425f, 0.019594f, 0.011255f, -0.022906f, -0.002985f, -0.025094f, -0.021216f, -0.072760f, -0.051439f, -0.036602f, -0.003451f, 0.049214f, -0.032185f, -0.004203f, -0.024726f, -0.036088f, -0.029609f, -0.036866f, -0.038157f, -0.015265f, -0.045066f, - -0.049349f, -0.042650f, 0.012036f, -0.029400f, -0.015543f, -0.036690f, 0.035046f, 0.057696f, 0.004906f, -0.006485f, -0.020361f, 0.004866f, -0.003669f, -0.001372f, -0.004702f, 0.018273f, 0.003742f, 0.039389f, -0.034294f, 0.003138f, -0.029184f, 0.059794f, 0.014561f, -0.034853f, 0.027419f, -0.024940f, 0.022262f, -0.033534f, 0.019672f, 0.003024f, -0.020216f, 0.018221f, -0.031942f, -0.010515f, 0.010056f, 0.032739f, 0.014200f, 0.058007f, -0.013031f, -0.037195f, 0.003463f, -0.010524f, 0.004367f, -0.024605f, -0.021464f, -0.039706f, 0.005007f, -0.042222f, -0.008540f, -0.006501f, -0.037152f, 0.024925f, 0.031387f, -0.018156f, -0.002021f, -0.054480f, 0.062747f, 0.076255f, 0.012174f, -0.029920f, 0.010374f, 0.067120f, -0.031466f, -0.014155f, -0.035885f, -0.020773f, -0.039388f, 0.016290f, -0.001911f, -0.022086f, 0.017168f, -0.022124f, 0.009236f, -0.013723f, -0.006381f, 0.009226f, 0.004762f, -0.000053f, -0.014771f, -0.002824f, 0.012911f, 0.007657f, -0.024617f, 0.019549f, -0.017158f, 0.009074f, 0.011221f, -0.007627f, -0.014495f, 0.007897f, -0.011730f, 0.009702f, 0.006885f, -0.015176f, 0.005572f, -0.001957f, - 0.005871f, -0.008997f, -0.024834f, 0.006879f, 0.004301f, -0.010075f, 0.006382f, -0.009015f, 0.017620f, -0.000164f, 0.007174f, 0.002143f, 0.022907f, 0.003156f, -0.030842f, 0.017459f, 0.011378f, 0.005353f, -0.058631f, 0.107311f, 0.040619f, -0.008815f, -0.032334f, -0.009033f, -0.034341f, 0.036926f, 0.093121f, 0.002016f, -0.061761f, -0.028281f, 0.033602f, 0.012485f, -0.012283f, 0.044369f, -0.008571f, 0.005566f, 0.025457f, -0.002683f, -0.025605f, -0.008352f, 0.020969f, -0.026848f, -0.024395f, -0.009915f, 0.008730f, 0.001325f, -0.004642f, -0.011274f, 0.019759f, 0.002052f, 0.029242f, 0.023083f, -0.030118f, 0.014804f, 0.035940f, 0.020106f, -0.027834f, 0.010760f, 0.005978f, 0.024238f, 0.000626f, 0.008451f, 0.006541f, 0.009997f, 0.050668f, 0.047951f, 0.029720f, 0.064991f, -0.032014f, 0.033504f, -0.038571f, 0.024626f, -0.000426f, 0.022506f, 0.028223f, 0.009101f, 0.007341f, 0.034268f, 0.015929f, -0.009120f, 0.021752f, 0.000134f, 0.029176f, -0.030936f, -0.017691f, 0.002702f, 0.070333f, -0.048516f, 0.004693f, -0.061008f, -0.007251f, 0.007097f, 0.024038f, -0.029675f, -0.005871f, -0.030583f, - 0.007917f, 0.037751f, -0.023143f, -0.054545f, -0.011635f, -0.005347f, -0.014825f, 0.013269f, 0.009483f, -0.015421f, 0.005445f, -0.013189f, -0.012927f, 0.012261f, -0.001976f, -0.007342f, -0.024668f, 0.013406f, -0.001073f, -0.015588f, -0.012529f, 0.011677f, 0.033183f, 0.003248f, -0.009555f, -0.004391f, 0.012068f, 0.029838f, 0.005921f, 0.002613f, 0.024817f, -0.000704f, 0.006731f, -0.002294f, -0.004922f, -0.001122f, 0.008978f, 0.014136f, 0.008448f, -0.003975f, -0.005310f, 0.012597f, 0.008928f, -0.018689f, 0.017742f, 0.004828f, 0.034506f, -0.008581f, 0.008737f, 0.020813f, -0.014295f, -0.008729f, 0.011680f, -0.019611f, 0.089841f, 0.007364f, 0.006512f, -0.019779f, -0.012596f, 0.014856f, 0.013725f, 0.008192f, 0.034666f, 0.014444f, -0.014614f, 0.018306f, 0.036989f, -0.001550f, 0.040552f, -0.004015f, 0.019696f, -0.041360f, 0.074809f, -0.011225f, -0.008762f, 0.012452f, -0.056617f, -0.014665f, -0.027255f, 0.039803f, 0.021927f, 0.022489f, -0.026446f, 0.009529f, 0.009553f, -0.035323f, 0.009773f, 0.030034f, 0.025638f, 0.008709f, -0.008712f, 0.003500f, -0.016955f, 0.056746f, 0.008606f, 0.025584f, - 0.020961f, 0.030560f, -0.050608f, -0.004166f, -0.015241f, 0.009313f, -0.018776f, -0.022319f, 0.041937f, -0.040107f, 0.030739f, -0.025508f, 0.032359f, -0.007435f, -0.033871f, -0.003373f, -0.050904f, 0.031376f, 0.029227f, 0.035211f, -0.105293f, 0.030209f, 0.019032f, -0.032541f, -0.021662f, -0.030268f, 0.054271f, -0.077738f, 0.046590f, 0.108908f, 0.002105f, -0.052251f, -0.020848f, 0.031478f, 0.064059f, 0.017514f, -0.021824f, -0.047102f, -0.078834f, -0.006521f, -0.000404f, 0.031175f, -0.023555f, -0.010798f, -0.018034f, 0.053927f, 0.003542f, -0.001706f, -0.015419f, 0.011130f, 0.003192f, -0.000166f, 0.002229f, -0.000696f, 0.010248f, 0.034373f, 0.042231f, 0.022137f, -0.006162f, -0.003482f, 0.016881f, 0.004168f, -0.010250f, 0.004922f, -0.016574f, -0.010158f, -0.020218f, -0.029705f, -0.062164f, -0.024688f, 0.009794f, 0.003029f, 0.035290f, -0.024963f, -0.017521f, 0.044963f, 0.016949f, -0.011664f, -0.018283f, 0.014648f, -0.004258f, -0.017138f, 0.044780f, 0.005247f, -0.001789f, -0.013915f, 0.001644f, -0.017677f, -0.023553f, 0.014807f, -0.050692f, 0.007045f, -0.030243f, 0.045775f, 0.004188f, 0.012071f, - -0.025433f, 0.019972f, -0.006463f, -0.019255f, 0.009644f, -0.019795f, -0.010409f, -0.016878f, -0.040354f, -0.024399f, 0.031213f, 0.024558f, 0.020302f, 0.020827f, -0.048993f, -0.015077f, 0.010732f, -0.015338f, 0.030150f, 0.020042f, 0.002652f, 0.017031f, 0.050544f, -0.015524f, -0.050121f, 0.096356f, -0.041548f, -0.054866f, 0.060870f, -0.029699f, -0.016318f, 0.012789f, 0.031623f, -0.036740f, -0.010551f, 0.003096f, -0.022957f, 0.125678f, -0.000302f, -0.021226f, -0.007174f, 0.000559f, 0.032238f, -0.062404f, -0.046214f, -0.026948f, -0.023917f, -0.002686f, -0.052446f, -0.000640f, -0.003868f, 0.019057f, 0.080843f, 0.080209f, -0.030381f, 0.061884f, -0.060313f, -0.055077f, 0.033931f, 0.050002f, -0.016325f, 0.013474f, 0.007444f, 0.034121f, 0.043949f, -0.000426f, 0.003881f, 0.055960f, -0.049375f, -0.100618f, -0.010055f, -0.040376f, 0.023386f, 0.046704f, -0.003535f, -0.032097f, 0.065402f, 0.018613f, 0.014105f, -0.017804f, -0.051581f, -0.030027f, 0.006898f, -0.023294f, 0.031506f, -0.003157f, -0.017731f, -0.003147f, -0.020209f, -0.022478f, 0.031342f, -0.010089f, 0.013435f, -0.022480f, 0.033325f, -0.003195f, - -0.000581f, 0.020132f, 0.032042f, -0.003775f, -0.005018f, -0.021427f, 0.004115f, -0.018476f, -0.015053f, -0.013127f, -0.003892f, -0.031937f, 0.001463f, -0.014736f, -0.003880f, -0.032020f, 0.010716f, 0.036137f, 0.015444f, -0.022685f, -0.044656f, -0.003800f, -0.002532f, 0.024537f, -0.060663f, -0.013146f, 0.016312f, -0.013064f, 0.030732f, -0.000816f, 0.019367f, 0.004691f, -0.036506f, 0.039452f, 0.000376f, 0.024174f, -0.024954f, -0.037934f, 0.035224f, -0.037553f, 0.011525f, -0.008531f, 0.033090f, 0.000334f, 0.007141f, -0.019872f, 0.006179f, -0.013986f, -0.049346f, -0.038588f, 0.016254f, -0.002820f, -0.001552f, 0.008277f, 0.036323f, -0.016165f, -0.011497f, -0.030504f, 0.012942f, 0.011563f, -0.004136f, -0.005777f, -0.082745f, 0.004085f, 0.022782f, -0.029138f, 0.020108f, -0.045319f, -0.009003f, 0.003363f, 0.028115f, 0.036458f, 0.003900f, -0.016865f, 0.010988f, 0.065395f, 0.056246f, 0.056813f, -0.003091f, -0.004800f, 0.011505f, 0.007153f, -0.026512f, 0.017171f, 0.070775f, -0.050498f, -0.017183f, -0.014365f, -0.000498f, 0.003086f, 0.008597f, -0.037456f, -0.058378f, -0.021298f, -0.004158f, 0.116592f, - 0.058343f, 0.039835f, -0.006191f, -0.009800f, -0.030385f, 0.050913f, 0.006556f, 0.032718f, -0.012747f, -0.015324f, -0.024261f, -0.020388f, -0.086716f, -0.037705f, -0.046157f, 0.035982f, -0.004179f, -0.016416f, -0.003559f, -0.034928f, -0.017356f, 0.037674f, 0.055333f, -0.008456f, 0.048685f, 0.027013f, 0.019893f, 0.003305f, 0.022610f, 0.029961f, 0.024092f, -0.006036f, -0.002452f, 0.000642f, 0.032897f, -0.026509f, -0.035369f, -0.016449f, 0.017637f, -0.002993f, -0.025151f, -0.015575f, -0.025196f, 0.014543f, -0.006402f, 0.030941f, 0.060398f, 0.011692f, 0.036900f, 0.049314f, 0.023034f, 0.030649f, 0.014458f, 0.009831f, 0.012676f, -0.022356f, 0.031471f, -0.026539f, -0.018789f, 0.007248f, 0.001866f, -0.018921f, 0.008888f, 0.017616f, 0.031607f, 0.013358f, -0.038141f, 0.020559f, 0.014829f, 0.004079f, 0.016446f, -0.010027f, -0.079572f, 0.044738f, 0.038845f, -0.002020f, 0.063949f, 0.028940f, -0.043921f, -0.043019f, 0.018540f, -0.017604f, -0.039215f, 0.002638f, 0.003648f, 0.017586f, -0.009940f, 0.022914f, -0.005902f, 0.021701f, 0.027327f, -0.025341f, -0.103099f, 0.055348f, -0.015780f, -0.032117f, - 0.023184f, 0.036599f, 0.001042f, -0.068981f, -0.009301f, -0.002684f, -0.071342f, -0.044268f, 0.037208f, -0.010710f, -0.029133f, -0.024330f, 0.015843f, -0.069090f, -0.049354f, 0.093610f, -0.008204f, -0.054121f, 0.021016f, 0.050919f, 0.021542f, -0.076712f, 0.109619f, 0.044560f, -0.067956f, 0.037780f, 0.049428f, 0.008072f, -0.046101f, 0.047756f, 0.052951f, 0.032484f, -0.042508f, 0.040086f, 0.074266f, 0.004157f, 0.075026f, 0.093241f, -0.050058f, -0.029569f, -0.034928f, 0.088106f, 0.055803f, -0.038076f, 0.021238f, -0.022973f, -0.056200f, 0.048311f, 0.109474f, 0.015959f, -0.033197f, -0.027437f, 0.065688f, -0.006047f, -0.073980f, -0.052699f, 0.013218f, -0.002632f, 0.060897f, -0.010792f, 0.047001f, -0.091594f, -0.014245f, 0.003767f, 0.015568f, -0.018994f, 0.019291f, -0.000771f, 0.001718f, 0.010607f, 0.002445f, -0.023876f, 0.007121f, -0.011322f, 0.014647f, 0.005880f, -0.033523f, 0.029266f, 0.009384f, -0.027741f, -0.019980f, 0.005357f, -0.024227f, 0.004778f, 0.021931f, 0.024292f, 0.003336f, -0.022744f, -0.007511f, 0.007523f, -0.031334f, 0.018261f, 0.023025f, 0.007534f, 0.001831f, 0.023121f, - 0.008372f, -0.010391f, 0.011187f, -0.008383f, 0.001849f, -0.015977f, 0.009991f, 0.036982f, 0.064708f, 0.103699f, 0.041932f, -0.043131f, -0.015772f, -0.036191f, 0.022187f, -0.017646f, 0.028567f, 0.018722f, -0.047573f, 0.024175f, -0.048476f, -0.016424f, 0.000477f, -0.017932f, 0.002825f, 0.025282f, 0.019924f, 0.001342f, -0.038617f, 0.008678f, 0.031209f, -0.011825f, 0.004737f, -0.014065f, -0.045174f, 0.045791f, -0.027239f, 0.031702f, -0.046520f, -0.027526f, -0.006456f, -0.038323f, -0.011261f, 0.038904f, -0.037832f, 0.051299f, 0.003455f, 0.041837f, 0.016641f, -0.020841f, -0.055990f, 0.046037f, 0.028680f, 0.019176f, 0.011950f, 0.047468f, -0.035028f, -0.017866f, -0.020211f, 0.014848f, 0.017956f, -0.004638f, -0.044164f, -0.001990f, -0.005974f, -0.044729f, -0.017594f, 0.007098f, 0.012273f, 0.035343f, -0.004043f, -0.031409f, 0.042097f, -0.008043f, -0.007097f, 0.050473f, 0.024177f, -0.041329f, 0.013607f, -0.025306f, 0.016265f, -0.013239f, 0.019954f, -0.035678f, 0.020217f, -0.012328f, 0.039802f, 0.006861f, 0.015434f, -0.013355f, 0.000153f, -0.028931f, 0.011875f, 0.001959f, 0.001569f, -0.000679f, - 0.008585f, -0.011611f, -0.010579f, -0.001325f, 0.004996f, -0.003170f, 0.007918f, -0.014673f, -0.002523f, 0.011407f, -0.002414f, -0.000452f, -0.002048f, 0.000384f, 0.001031f, -0.023193f, 0.004771f, 0.018768f, 0.000750f, -0.002626f, -0.004635f, -0.002191f, -0.016897f, 0.001346f, -0.003911f, -0.002047f, -0.008560f, -0.014174f, -0.002769f, 0.014114f, -0.007635f, -0.004177f, 0.007026f, 0.003088f, 0.011200f, -0.010543f, -0.003606f, -0.001480f, -0.007967f, -0.012323f, -0.076850f, -0.090521f, -0.048479f, 0.268574f, 0.236102f, 0.142890f, 0.313292f, -0.066759f, -0.235338f, -0.082743f, -0.443705f, -0.232592f, -0.004577f, -0.114830f, 0.158712f, 0.290874f, 0.040849f, 0.170924f, 0.333269f, 0.055945f, 0.116320f, 0.011138f, -0.342220f, -0.285904f, -0.252416f, -0.278087f, -0.168509f, 0.138081f, 0.058565f, 0.138257f, 0.360217f, 0.217060f, 0.056320f, 0.267237f, 0.122111f, -0.163700f, 0.089064f, -0.119462f, -0.313314f, -0.038648f, -0.193651f, -0.356230f, -0.160604f, -0.036961f, -0.186658f, 0.208425f, 0.224396f, 0.106187f, 0.357297f, 0.403536f, 0.153281f, 0.199553f, 0.188434f, -0.209907f, -0.136611f, -0.268442f, - -0.419249f, -0.385730f, -0.247140f, -0.248310f, -0.071094f, 0.161280f, 0.208924f, 0.278989f, 0.393332f, 0.353135f, 0.206627f, 0.150703f, 0.027369f, -0.163634f, -0.237676f, -0.174341f, -0.226281f, -0.279752f, -0.094457f, -0.105617f, -0.051071f, 0.174552f, 0.121209f, 0.128984f, 0.271814f, 0.069320f, -0.011649f, 0.044834f, -0.074707f, -0.117356f, -0.064969f, -0.118590f, -0.035231f, 0.076107f, 0.029361f, 0.041957f, 0.096622f, -0.022559f, 0.020545f, 0.052512f, -0.088117f, -0.008813f, 0.111861f, -0.105331f, 0.009682f, 0.017753f, -0.209570f, -0.010608f, -0.003472f, -0.250921f, 0.020672f, 0.088486f, -0.031557f, 0.258666f, 0.235625f, 0.043161f, 0.252115f, 0.124160f, -0.010188f, 0.041904f, -0.066982f, -0.270961f, -0.281743f, -0.349375f, -0.396985f, -0.200310f, -0.031595f, 0.080714f, 0.250580f, 0.415360f, 0.476980f, 0.379173f, 0.281324f, 0.128541f, -0.051373f, -0.157795f, -0.346702f, -0.435036f, -0.319499f, -0.256749f, -0.243660f, 0.016175f, 0.121460f, 0.147900f, 0.242618f, 0.216148f, 0.143419f, 0.140582f, 0.102297f, 0.033270f, 0.042203f, 0.001044f, -0.073620f, -0.084969f, -0.106837f, -0.137669f, - -0.119599f, -0.080359f, -0.046544f, -0.003850f, 0.026200f, 0.015073f, 0.009636f, 0.000465f} - }, - { - {-0.000983f, 0.012034f, -0.001255f, 0.003665f, -0.002216f, 0.016058f, -0.006321f, -0.001542f, -0.000590f, 0.002001f, -0.002856f, 0.007361f, -0.001293f, -0.004943f, -0.000902f, 0.010059f, 0.000722f, -0.005074f, 0.004688f, 0.003483f, 0.006592f, 0.002720f, -0.005063f, -0.003322f, 0.011205f, 0.001572f, -0.002901f, -0.002212f, -0.002315f, 0.002216f, 0.002364f, -0.001440f, -0.014327f, -0.003573f, 0.000662f, 0.009878f, 0.003500f, -0.001218f, -0.000070f, -0.005690f, 0.007832f, -0.008024f, -0.010708f, 0.001387f, 0.000074f, -0.003614f, -0.002490f, -0.002980f, 0.001497f, 0.000975f, 0.000911f, -0.003737f, 0.009293f, 0.000286f, 0.012465f, -0.002013f, -0.005986f, 0.002739f, -0.000697f, 0.001785f, 0.002868f, 0.006314f, 0.004263f, -0.001618f, -0.003465f, -0.002927f, 0.008074f, -0.008259f, 0.000287f, 0.000228f, -0.001485f, -0.007086f, 0.006209f, -0.003576f, 0.000789f, 0.005415f, -0.003855f, -0.005125f, -0.004293f, 0.005490f, -0.000544f, -0.001723f, -0.001565f, 0.000171f, -0.001069f, -0.002244f, 0.002692f, 0.002785f, 0.002004f, 0.001261f, 0.000660f, 0.003808f, 0.000578f, -0.000096f, 0.000765f, -0.000392f, - 0.000097f, -0.000902f, -0.000515f, -0.000477f, 0.002541f, 0.000603f, -0.001768f, 0.002196f, -0.004770f, 0.004171f, 0.002469f, -0.005560f, -0.003098f, -0.000406f, 0.000495f, -0.000262f, -0.000850f, -0.002800f, 0.005036f, 0.001007f, -0.002205f, -0.002929f, -0.000175f, 0.010502f, -0.001489f, -0.004884f, 0.006680f, -0.002572f, -0.006335f, -0.000602f, 0.005340f, 0.004047f, -0.003481f, 0.000988f, -0.004345f, 0.002560f, 0.002435f, -0.002021f, 0.005333f, -0.001418f, -0.009697f, 0.001843f, 0.004987f, 0.004727f, 0.000632f, -0.000668f, -0.007038f, -0.002314f, -0.000951f, -0.003022f, 0.006302f, 0.008941f, 0.004112f, -0.012075f, 0.004076f, 0.014326f, 0.005876f, -0.000644f, -0.000124f, 0.006628f, -0.003281f, 0.002207f, -0.006048f, -0.005389f, 0.005495f, 0.006300f, 0.002982f, 0.001728f, 0.001074f, 0.001311f, 0.002919f, 0.000618f, -0.000597f, -0.002095f, 0.001466f, -0.004184f, -0.000832f, -0.001771f, -0.008692f, -0.004273f, 0.001781f, 0.003277f, 0.002625f, 0.005916f, 0.004588f, 0.004923f, 0.006974f, -0.004415f, -0.002855f, -0.001243f, 0.002191f, 0.002620f, 0.004100f, -0.000836f, -0.001423f, -0.000733f, - 0.002489f, -0.001788f, 0.002249f, 0.000619f, -0.000990f, -0.000723f, 0.000718f, -0.000379f, 0.001355f, 0.000617f, 0.000185f, -0.000535f, 0.000732f, 0.000740f, -0.000344f, 0.001164f, 0.000242f, 0.000321f, -0.000957f, 0.000239f, -0.000299f, 0.000064f, 0.001429f, 0.000205f, 0.000583f, 0.000579f, 0.008295f, -0.000581f, 0.003419f, -0.005342f, -0.007983f, -0.004981f, 0.004330f, -0.003623f, -0.003711f, -0.003930f, -0.005275f, 0.005077f, 0.000705f, 0.003726f, -0.001654f, 0.001099f, -0.010837f, -0.006955f, -0.004956f, 0.006946f, 0.001310f, 0.001548f, 0.003781f, -0.003831f, -0.001965f, -0.000862f, 0.001237f, -0.008203f, -0.001602f, -0.005534f, -0.006052f, 0.000350f, -0.005342f, 0.003579f, 0.003351f, 0.014308f, -0.003579f, 0.007277f, -0.004861f, 0.003008f, -0.003343f, 0.000749f, 0.012492f, 0.002007f, 0.005401f, -0.005927f, 0.003793f, -0.005332f, -0.002554f, -0.000826f, 0.007928f, -0.003924f, -0.002065f, -0.007074f, -0.003779f, -0.008353f, -0.001143f, 0.007892f, 0.001866f, 0.000585f, 0.001347f, 0.007235f, -0.007156f, -0.012518f, 0.002879f, 0.003937f, -0.008192f, -0.000604f, 0.001077f, -0.002029f, - 0.003279f, 0.009782f, 0.002027f, -0.002490f, 0.000206f, -0.003489f, 0.000631f, 0.000591f, -0.002812f, -0.000845f, -0.000905f, -0.003961f, -0.000946f, -0.002263f, 0.000824f, -0.000863f, -0.001571f, 0.003234f, -0.000626f, -0.003192f, 0.001355f, -0.002275f, 0.000090f, -0.002461f, -0.003586f, 0.002079f, -0.000656f, -0.000261f, 0.001133f, 0.001520f, 0.000457f, 0.003315f, -0.001581f, -0.000279f, 0.000554f, -0.001195f, -0.000511f, -0.000377f, -0.001653f, -0.000867f, 0.002730f, 0.000912f, 0.003890f, 0.000477f, 0.001747f, -0.001543f, 0.004604f, -0.012781f, 0.002134f, -0.004475f, -0.009399f, -0.006808f, 0.003836f, -0.001887f, -0.000421f, 0.009326f, 0.003114f, -0.001305f, 0.000832f, 0.007931f, -0.003716f, 0.005855f, -0.002640f, 0.001749f, -0.008376f, -0.001483f, 0.005710f, -0.001915f, 0.007089f, 0.007928f, 0.002631f, 0.004995f, 0.010406f, -0.002429f, -0.014602f, 0.003327f, -0.006485f, 0.000457f, -0.017889f, 0.000490f, 0.005774f, -0.003590f, 0.006711f, 0.000951f, -0.006437f, 0.002325f, -0.013446f, -0.008617f, -0.003260f, -0.003308f, -0.011153f, 0.005669f, 0.006225f, 0.000367f, 0.005796f, 0.000446f, - 0.001594f, -0.003622f, 0.005259f, 0.003987f, -0.002061f, 0.012340f, -0.002290f, 0.010195f, 0.008762f, -0.000501f, -0.001388f, 0.000027f, 0.002829f, 0.004165f, 0.001362f, 0.004662f, 0.001587f, 0.001584f, 0.013687f, 0.005212f, -0.005928f, -0.002741f, -0.000047f, -0.003289f, 0.002061f, -0.002380f, 0.013807f, 0.002300f, 0.006506f, -0.004947f, 0.005626f, -0.000062f, -0.002678f, 0.001183f, -0.004420f, -0.002904f, -0.000727f, -0.003201f, -0.001931f, -0.001939f, 0.001727f, -0.003004f, -0.000663f, -0.002116f, -0.001052f, -0.001031f, 0.003824f, -0.001614f, 0.002013f, -0.000544f, -0.003180f, -0.000537f, 0.002033f, 0.000799f, 0.000395f, 0.001238f, -0.001904f, 0.001665f, 0.001136f, 0.000975f, 0.001910f, -0.001074f, 0.000489f, -0.003151f, -0.000180f, 0.002415f, 0.002214f, 0.000524f, 0.000455f, 0.000301f, 0.001819f, -0.024377f, 0.000080f, -0.000059f, 0.006256f, 0.010717f, 0.003759f, -0.005380f, -0.008911f, -0.001410f, 0.011593f, -0.002186f, -0.002209f, -0.008576f, -0.000199f, -0.003560f, 0.008585f, 0.010218f, -0.017514f, 0.011444f, 0.007301f, -0.006626f, -0.001421f, -0.009169f, 0.000058f, -0.002756f, - 0.000219f, 0.006035f, 0.011649f, -0.004358f, 0.002693f, -0.003034f, -0.003985f, 0.004339f, 0.008039f, 0.005434f, -0.005050f, -0.008277f, 0.005780f, 0.004026f, -0.002985f, -0.001494f, 0.001013f, -0.010672f, 0.003886f, 0.003248f, -0.004278f, -0.007131f, 0.002763f, -0.005415f, 0.009505f, 0.004198f, -0.016690f, 0.007634f, -0.007148f, -0.018366f, -0.005330f, -0.001358f, 0.003688f, -0.007522f, -0.000350f, 0.004072f, -0.008119f, -0.007981f, -0.008356f, -0.002539f, 0.002092f, 0.017465f, 0.002743f, 0.003336f, -0.003756f, -0.009100f, 0.011885f, -0.003587f, -0.013959f, 0.000710f, -0.014089f, 0.001085f, -0.001368f, -0.005113f, -0.015434f, 0.004727f, 0.000206f, -0.003370f, 0.003769f, 0.009385f, 0.004291f, -0.001753f, -0.001603f, -0.000021f, 0.005101f, 0.000852f, 0.001244f, 0.002899f, 0.004966f, -0.000405f, -0.002341f, -0.002951f, -0.003093f, 0.001223f, -0.000254f, -0.002399f, -0.002490f, 0.002290f, 0.002165f, 0.004380f, 0.000899f, -0.000069f, -0.000267f, 0.001659f, -0.000783f, -0.000041f, -0.000715f, 0.002784f, -0.000339f, 0.001504f, -0.000431f, 0.015187f, 0.004055f, 0.003299f, 0.006622f, 0.009559f, - -0.002138f, 0.023348f, -0.003424f, 0.016705f, -0.019731f, 0.006783f, 0.011485f, -0.004174f, 0.001575f, -0.005554f, -0.000560f, 0.008992f, 0.016390f, -0.004659f, -0.008187f, -0.002414f, 0.007622f, 0.001615f, 0.016666f, 0.007882f, -0.001832f, 0.002383f, -0.000152f, -0.007826f, 0.001523f, -0.001762f, -0.002450f, 0.007277f, 0.009557f, -0.015150f, 0.017443f, -0.013323f, -0.007266f, 0.002950f, -0.005418f, 0.008779f, 0.000197f, -0.005078f, 0.012313f, 0.017280f, -0.012920f, -0.002349f, -0.001290f, 0.005336f, -0.012235f, -0.020127f, -0.009410f, -0.006170f, 0.005884f, -0.013966f, -0.008083f, -0.001647f, 0.014411f, 0.009060f, -0.010101f, 0.007172f, 0.003790f, -0.005507f, -0.008308f, -0.001335f, -0.005127f, -0.005928f, 0.000564f, -0.003952f, 0.010765f, -0.008199f, -0.001742f, 0.009123f, -0.007291f, 0.009861f, 0.011780f, 0.001586f, -0.001262f, 0.001015f, -0.014642f, -0.012987f, -0.003279f, 0.008114f, 0.000310f, -0.005704f, 0.005338f, 0.011972f, -0.008040f, -0.003749f, 0.003224f, -0.001105f, -0.005727f, -0.000053f, 0.001495f, -0.005533f, 0.000254f, -0.001541f, 0.002426f, 0.000708f, 0.004295f, 0.000580f, - 0.003361f, -0.002191f, -0.000947f, 0.000137f, 0.000348f, -0.000250f, 0.003004f, 0.001283f, 0.003511f, 0.003374f, 0.000288f, 0.000991f, -0.000563f, 0.002291f, 0.003491f, -0.001765f, 0.008900f, 0.007235f, 0.009722f, -0.009392f, -0.012426f, -0.006718f, 0.008441f, 0.000381f, 0.034950f, -0.002672f, -0.000868f, -0.008455f, -0.015809f, -0.023234f, -0.005139f, 0.007630f, 0.012278f, -0.007705f, -0.014882f, 0.001886f, 0.000119f, 0.014858f, -0.005002f, -0.006155f, 0.018384f, -0.010076f, 0.001184f, -0.014240f, 0.009076f, -0.002899f, 0.000058f, -0.003210f, -0.021624f, -0.013617f, 0.001135f, 0.011934f, 0.008004f, 0.000917f, -0.022406f, 0.014810f, -0.009063f, -0.009297f, -0.009676f, -0.012865f, -0.002020f, 0.012111f, -0.009939f, -0.010992f, 0.007500f, -0.003635f, 0.004301f, 0.022346f, -0.009798f, 0.000421f, 0.001099f, 0.009452f, -0.006648f, -0.006139f, -0.003112f, 0.014176f, -0.003226f, -0.007579f, -0.001339f, 0.011039f, 0.014413f, -0.014384f, -0.016299f, -0.005605f, -0.002426f, -0.005520f, 0.003448f, -0.011500f, -0.004055f, -0.010859f, -0.021530f, -0.008569f, -0.004985f, 0.002793f, -0.019801f, -0.005557f, - 0.000295f, 0.013931f, 0.000409f, -0.012248f, -0.000240f, -0.000584f, -0.003736f, -0.006812f, 0.000298f, 0.002809f, -0.001295f, 0.002061f, 0.001965f, -0.002765f, 0.004023f, -0.001741f, -0.004018f, 0.004293f, 0.005352f, -0.002397f, -0.005136f, -0.000238f, -0.001010f, 0.000821f, 0.004286f, 0.001523f, 0.000078f, 0.002943f, -0.001631f, -0.002661f, -0.002065f, -0.002912f, 0.004185f, -0.011406f, 0.009667f, 0.011813f, -0.008688f, -0.010516f, -0.008895f, 0.004820f, -0.000900f, 0.017119f, 0.029810f, -0.016729f, 0.001100f, -0.000688f, -0.002086f, 0.002787f, 0.008620f, -0.024474f, 0.021981f, -0.017243f, -0.008547f, 0.022144f, -0.005131f, -0.010571f, 0.007324f, 0.008192f, 0.000484f, -0.001223f, -0.017092f, 0.010678f, -0.002448f, 0.003719f, -0.011318f, 0.014111f, -0.001306f, -0.023546f, -0.025169f, 0.008425f, -0.004629f, -0.012977f, 0.006364f, -0.001061f, 0.038957f, 0.006556f, -0.007142f, -0.011586f, -0.022995f, -0.008132f, 0.004447f, -0.005575f, 0.017931f, -0.003780f, -0.026780f, -0.002572f, 0.018388f, -0.008021f, 0.002396f, 0.015922f, 0.010724f, -0.009003f, -0.001702f, 0.012899f, 0.017188f, -0.007825f, - 0.003346f, 0.002480f, -0.008315f, 0.003753f, -0.003840f, -0.001126f, 0.002546f, -0.003976f, -0.004865f, -0.016555f, -0.018157f, -0.015302f, 0.015272f, 0.008571f, 0.009941f, 0.004244f, 0.000095f, 0.006134f, -0.013256f, -0.007281f, -0.018544f, 0.009231f, -0.002365f, -0.002521f, -0.003793f, -0.002723f, -0.009475f, -0.005570f, 0.001908f, -0.003801f, 0.000540f, 0.000755f, 0.000634f, 0.003679f, 0.000440f, 0.004407f, -0.000511f, 0.003262f, -0.004338f, 0.002514f, -0.006490f, 0.000592f, -0.003103f, 0.005430f, 0.000223f, -0.003360f, -0.001047f, 0.001752f, -0.002816f, -0.003083f, -0.007586f, -0.007525f, -0.004239f, 0.007762f, 0.000471f, 0.002777f, 0.004802f, -0.019972f, 0.007575f, -0.021560f, 0.000835f, 0.007850f, -0.003487f, -0.016134f, -0.007594f, -0.003289f, 0.014448f, 0.011480f, -0.008605f, -0.008904f, 0.015406f, 0.006431f, -0.008926f, -0.009627f, -0.007514f, -0.001017f, 0.014897f, -0.002526f, 0.001351f, -0.000828f, -0.000184f, 0.019142f, 0.009485f, 0.012832f, -0.000900f, -0.000917f, 0.006602f, -0.009875f, -0.016661f, 0.013637f, 0.021908f, -0.014791f, 0.018834f, -0.005494f, -0.001908f, -0.008411f, - 0.009706f, 0.000634f, -0.010544f, 0.006462f, 0.017811f, 0.013978f, 0.006438f, -0.013331f, -0.005483f, -0.027034f, 0.004502f, 0.014158f, -0.008702f, -0.002121f, -0.010718f, 0.002862f, -0.006379f, 0.010570f, -0.006683f, 0.003567f, 0.012551f, 0.007218f, 0.023643f, 0.012431f, 0.008000f, 0.015187f, -0.012678f, 0.022764f, 0.007032f, 0.013870f, -0.004527f, -0.015565f, -0.024115f, -0.004504f, -0.004038f, -0.006215f, -0.005652f, 0.009070f, -0.016573f, 0.025172f, -0.004290f, -0.020196f, 0.011573f, 0.018842f, 0.007796f, 0.002514f, 0.003934f, 0.007137f, 0.002402f, -0.004054f, 0.004838f, -0.003702f, -0.000043f, 0.007984f, -0.000006f, -0.000184f, 0.008640f, 0.001351f, 0.004747f, -0.000599f, -0.004019f, 0.001437f, 0.000873f, -0.003315f, 0.002716f, 0.003661f, 0.000965f, -0.002318f, 0.002105f, 0.000858f, 0.006703f, 0.001619f, -0.001186f, 0.004373f, -0.005689f, 0.001828f, 0.001338f, -0.006078f, -0.009077f, -0.002387f, -0.003529f, -0.002177f, -0.004479f, -0.003016f, -0.001861f, -0.000605f, 0.011190f, -0.023811f, 0.017514f, 0.006064f, -0.003599f, 0.025849f, 0.020003f, -0.032825f, -0.021979f, 0.020712f, - 0.035554f, -0.003283f, 0.005254f, -0.003026f, -0.004478f, -0.003552f, -0.001466f, 0.009000f, 0.005362f, 0.021488f, 0.005301f, 0.020563f, 0.005819f, 0.008950f, -0.002782f, -0.011617f, 0.004999f, 0.001613f, -0.009472f, 0.015743f, 0.001631f, 0.006317f, 0.003689f, -0.003251f, -0.014586f, 0.001907f, -0.016549f, -0.005583f, -0.019154f, -0.012815f, -0.007740f, 0.016113f, 0.002313f, 0.007942f, 0.019730f, -0.008521f, -0.001636f, 0.002324f, 0.007094f, 0.002142f, 0.000495f, -0.005529f, 0.014609f, 0.032176f, 0.015488f, -0.025604f, -0.018247f, -0.018948f, 0.022228f, -0.003366f, -0.020573f, 0.012022f, -0.011528f, -0.001257f, -0.003361f, -0.001429f, -0.001580f, 0.000705f, 0.019487f, 0.032207f, 0.012183f, 0.027739f, 0.017793f, 0.008997f, 0.003616f, 0.006989f, -0.008926f, 0.029524f, 0.009559f, -0.015489f, -0.020737f, 0.009160f, 0.006825f, -0.005683f, 0.014796f, 0.027918f, 0.006443f, -0.010782f, 0.017396f, -0.001632f, -0.012792f, 0.002653f, 0.009755f, 0.001584f, -0.001694f, 0.001106f, 0.005357f, 0.009411f, 0.004179f, 0.004167f, 0.001070f, 0.006138f, -0.002604f, -0.001213f, -0.003624f, -0.001048f, - 0.012879f, -0.006849f, 0.004767f, -0.002030f, 0.003072f, 0.000302f, -0.003434f, 0.001907f, 0.004566f, 0.005594f, -0.002663f, 0.002283f, -0.005199f, -0.000159f, 0.002588f, -0.009326f, 0.003955f, -0.013318f, 0.003715f, 0.032026f, 0.006120f, 0.011247f, -0.010275f, 0.008207f, -0.015777f, -0.027908f, 0.000647f, 0.014845f, 0.004456f, 0.011909f, 0.016821f, 0.018447f, 0.001102f, -0.020258f, -0.017158f, -0.026818f, -0.041433f, -0.000782f, -0.004988f, 0.018261f, 0.013623f, -0.015616f, -0.008666f, 0.010684f, 0.021679f, -0.027187f, -0.017499f, -0.005277f, -0.014856f, -0.010187f, -0.005550f, 0.008331f, 0.016835f, 0.000696f, -0.010221f, -0.012623f, 0.017012f, -0.013648f, -0.005718f, -0.000469f, 0.023945f, -0.001745f, 0.001967f, -0.037648f, -0.002836f, 0.009112f, 0.019314f, 0.025032f, 0.005411f, -0.024275f, 0.011428f, 0.000418f, 0.011374f, 0.015734f, 0.002663f, 0.007872f, 0.018159f, 0.031654f, -0.021093f, -0.008408f, -0.001855f, 0.009645f, 0.033759f, 0.014138f, 0.011279f, 0.018858f, -0.006496f, -0.011230f, -0.020263f, -0.025605f, -0.015148f, -0.001066f, 0.016385f, 0.037507f, -0.023438f, -0.017305f, - -0.002403f, 0.036778f, -0.020630f, -0.012057f, -0.018426f, -0.003466f, -0.016514f, 0.005211f, 0.003157f, 0.008698f, 0.019582f, 0.003541f, 0.012546f, -0.008209f, -0.008065f, -0.010503f, 0.000851f, -0.005337f, -0.012206f, -0.011025f, -0.005339f, -0.002955f, -0.002528f, 0.012374f, -0.009314f, -0.002886f, -0.003501f, 0.008831f, 0.002251f, 0.006418f, -0.004193f, -0.004318f, 0.008915f, 0.002894f, 0.002366f, -0.007503f, 0.011486f, -0.005857f, -0.000294f, -0.004108f, 0.003663f, -0.004258f, 0.001210f, 0.007493f, 0.009136f, 0.016674f, 0.009421f, 0.023489f, -0.027782f, -0.019828f, -0.003094f, 0.040768f, 0.016484f, 0.001035f, 0.022059f, -0.013731f, 0.033100f, -0.007767f, -0.029056f, -0.005627f, -0.028874f, 0.023484f, 0.014031f, 0.009221f, 0.009144f, 0.000555f, -0.009259f, 0.011379f, 0.016921f, 0.008535f, -0.005894f, 0.015173f, 0.020267f, 0.018165f, -0.002259f, -0.015733f, 0.027462f, 0.006485f, -0.001676f, -0.004585f, 0.003305f, -0.017892f, 0.017823f, -0.003347f, -0.004935f, -0.022810f, -0.012423f, -0.014070f, 0.032038f, 0.011450f, 0.000350f, 0.004259f, 0.016565f, 0.023817f, 0.012147f, -0.030719f, - 0.028006f, -0.003264f, 0.016206f, 0.006943f, 0.024613f, -0.005601f, -0.032181f, 0.010144f, -0.001453f, 0.013371f, -0.005698f, -0.013118f, 0.011999f, -0.005081f, 0.008151f, 0.040596f, -0.004898f, -0.018606f, 0.000127f, 0.005395f, -0.019643f, 0.032737f, -0.014497f, -0.019636f, 0.028868f, -0.016708f, 0.014746f, 0.002028f, -0.020841f, -0.014763f, -0.020844f, 0.006679f, 0.017563f, -0.010332f, 0.010206f, 0.019504f, -0.010712f, 0.013798f, -0.004385f, 0.023070f, -0.008067f, 0.006975f, 0.007572f, -0.006175f, 0.000179f, 0.001036f, -0.010314f, -0.001199f, 0.009611f, -0.014450f, -0.002708f, 0.010902f, 0.005620f, 0.000506f, -0.008809f, 0.004649f, -0.002268f, 0.003811f, -0.009209f, -0.008863f, -0.004927f, 0.002136f, 0.002476f, -0.010698f, -0.006650f, 0.010432f, 0.001520f, 0.004692f, -0.010909f, 0.005322f, 0.001177f, -0.004782f, 0.002423f, 0.001828f, 0.003825f, -0.005649f, 0.000676f, -0.002616f, -0.000372f, -0.011628f, 0.008701f, -0.026831f, -0.005816f, 0.014456f, 0.002893f, -0.026240f, 0.006477f, -0.009197f, 0.018866f, 0.004691f, 0.009446f, -0.043829f, 0.012954f, 0.000833f, 0.016566f, 0.028286f, - 0.001040f, -0.003559f, 0.001897f, -0.014246f, 0.028230f, -0.027263f, 0.008414f, 0.017265f, 0.011327f, 0.015899f, -0.007725f, -0.013139f, -0.015737f, -0.028218f, 0.010710f, 0.004302f, 0.015960f, 0.029971f, -0.011796f, 0.025699f, 0.013509f, -0.024794f, -0.014603f, -0.000388f, 0.002210f, 0.001317f, -0.000725f, 0.012710f, 0.021560f, 0.020410f, 0.008125f, -0.051803f, 0.012300f, 0.015375f, 0.014815f, -0.034145f, 0.020132f, -0.017539f, 0.017396f, 0.002120f, 0.008938f, -0.004668f, 0.012908f, -0.004169f, 0.043492f, 0.021114f, -0.020253f, 0.002433f, -0.055915f, 0.009260f, -0.016887f, -0.016801f, 0.014974f, 0.011136f, -0.028399f, -0.055134f, 0.034252f, 0.021426f, -0.052323f, 0.020212f, -0.012301f, 0.019797f, -0.004947f, 0.004765f, 0.007485f, 0.000566f, -0.035470f, -0.012994f, -0.005679f, 0.011087f, -0.000966f, -0.008774f, 0.014013f, -0.018592f, -0.007998f, 0.019412f, -0.002332f, -0.001630f, 0.006074f, 0.004095f, 0.006938f, 0.003539f, -0.011059f, 0.004376f, -0.016214f, 0.009731f, -0.007486f, 0.005601f, 0.003431f, -0.004034f, -0.003063f, -0.002696f, -0.006229f, 0.002960f, -0.009632f, -0.001307f, - -0.008275f, -0.005471f, -0.013191f, 0.006539f, -0.004451f, -0.003170f, -0.007912f, 0.003456f, 0.005468f, 0.004279f, 0.002613f, 0.001391f, 0.001074f, 0.004894f, -0.001083f, 0.005303f, 0.003501f, 0.012116f, -0.007160f, -0.006425f, -0.011206f, 0.020340f, -0.015534f, 0.000172f, 0.003022f, 0.052217f, -0.007099f, 0.037712f, 0.009287f, 0.028403f, 0.001805f, 0.008128f, 0.009223f, 0.050348f, 0.050437f, -0.026037f, -0.023805f, 0.028825f, -0.036534f, 0.000045f, 0.009884f, -0.036410f, 0.020746f, 0.002951f, -0.002906f, -0.006600f, -0.011101f, 0.004417f, 0.003931f, 0.006856f, -0.022380f, 0.000211f, -0.005459f, -0.029405f, 0.015022f, 0.020532f, -0.032882f, -0.024453f, -0.012021f, 0.017763f, 0.017227f, 0.016518f, -0.001772f, -0.006639f, 0.015468f, 0.052429f, 0.028249f, -0.010285f, -0.006824f, -0.007111f, 0.035376f, -0.028257f, 0.013071f, 0.007529f, -0.044117f, -0.018255f, -0.001983f, 0.006036f, -0.037392f, 0.025786f, 0.016775f, 0.007535f, 0.007122f, 0.017891f, -0.035410f, -0.004264f, -0.029372f, 0.001330f, 0.018238f, 0.030697f, 0.018889f, -0.019385f, -0.010315f, -0.001522f, 0.001034f, -0.022276f, - 0.049874f, -0.003948f, 0.006645f, -0.011747f, 0.017114f, -0.003786f, 0.010013f, -0.004510f, 0.006229f, 0.004698f, 0.010862f, -0.001265f, 0.000197f, -0.004066f, 0.002588f, -0.000773f, -0.002793f, 0.014705f, -0.004374f, -0.010858f, -0.000610f, -0.001224f, 0.007542f, -0.011070f, 0.002543f, -0.009185f, -0.014372f, 0.008868f, -0.002650f, -0.009852f, 0.000824f, -0.000215f, 0.001734f, -0.008680f, 0.011524f, 0.002955f, 0.014146f, -0.017481f, -0.001176f, 0.008150f, -0.004368f, -0.014207f, -0.000224f, 0.015228f, 0.006933f, -0.004704f, 0.024055f, 0.037299f, -0.002598f, 0.002426f, -0.023102f, 0.001941f, -0.001018f, -0.016514f, -0.027587f, -0.005296f, -0.012774f, -0.020673f, -0.015113f, 0.023377f, -0.019816f, 0.016953f, -0.005973f, -0.004732f, 0.032740f, -0.022668f, -0.012647f, 0.005001f, 0.013207f, 0.001920f, -0.043316f, -0.026628f, 0.004955f, -0.006990f, 0.007027f, -0.006074f, -0.013596f, 0.027600f, 0.005915f, -0.002401f, -0.011342f, -0.062313f, 0.037410f, -0.011292f, -0.000679f, -0.005328f, 0.002382f, 0.017832f, -0.010375f, -0.017023f, -0.029074f, -0.002770f, 0.012838f, -0.017978f, -0.023037f, 0.009469f, - 0.036579f, -0.006241f, 0.034019f, 0.025016f, -0.024900f, 0.045767f, 0.030277f, -0.030235f, -0.046664f, -0.013454f, -0.020336f, 0.002467f, -0.014785f, -0.003660f, 0.022354f, -0.039053f, 0.019116f, -0.006375f, -0.021923f, -0.024520f, -0.024456f, -0.029672f, 0.006179f, 0.017758f, -0.015921f, 0.025389f, -0.003304f, -0.014870f, -0.030565f, 0.000467f, -0.003423f, 0.011788f, 0.036486f, -0.013223f, -0.027638f, -0.009679f, 0.000810f, 0.009350f, 0.024972f, 0.006537f, -0.003087f, -0.020491f, -0.000149f, 0.000736f, 0.009294f, 0.003835f, 0.000058f, 0.006871f, 0.010237f, -0.007696f, 0.012779f, -0.007389f, 0.005858f, 0.014798f, 0.013376f, 0.000786f, -0.020888f, -0.008617f, 0.003197f, 0.005128f, -0.014516f, 0.023561f, -0.014284f, 0.010754f, 0.012771f, -0.009709f, 0.001292f, 0.002564f, -0.005504f, -0.020027f, 0.004277f, 0.008951f, 0.001619f, 0.016774f, 0.011753f, -0.011456f, -0.039542f, 0.071956f, 0.101266f, -0.009770f, 0.012338f, 0.006503f, 0.024527f, 0.049106f, -0.046872f, 0.000565f, 0.008120f, 0.000933f, -0.016905f, 0.002537f, -0.020885f, 0.024653f, 0.060324f, -0.012731f, 0.001295f, 0.003449f, - 0.018273f, 0.001684f, 0.007082f, 0.023209f, -0.046483f, -0.003455f, 0.045602f, 0.046867f, -0.054768f, -0.011611f, 0.007874f, 0.007722f, 0.016296f, 0.041254f, 0.011598f, 0.083201f, 0.013841f, 0.025686f, 0.012249f, -0.013054f, -0.017268f, -0.000979f, -0.058386f, -0.083961f, -0.028442f, -0.027237f, -0.087500f, 0.013714f, -0.002095f, -0.048846f, -0.023860f, -0.081839f, -0.008969f, -0.011251f, 0.055776f, -0.054650f, 0.034086f, -0.037337f, -0.003063f, -0.024548f, -0.019410f, 0.021968f, 0.050119f, -0.038621f, -0.014520f, -0.003484f, -0.011460f, -0.004080f, 0.021128f, 0.040223f, 0.042901f, -0.030611f, 0.086313f, 0.057932f, 0.007522f, -0.032723f, -0.071062f, -0.016096f, -0.026465f, -0.019371f, 0.004666f, 0.022835f, -0.014933f, 0.008532f, 0.026780f, 0.004373f, -0.008529f, 0.027256f, 0.018112f, 0.009363f, 0.011926f, 0.028615f, 0.028815f, 0.000251f, 0.002336f, 0.011591f, 0.010788f, -0.004679f, -0.008616f, -0.004909f, 0.005252f, -0.000678f, -0.003657f, 0.001836f, -0.005762f, 0.004020f, 0.018783f, -0.000774f, 0.006614f, 0.022996f, -0.006024f, -0.008190f, -0.008807f, -0.000933f, -0.012769f, -0.002523f, - 0.010866f, -0.005924f, -0.003503f, 0.002249f, 0.000058f, 0.002009f, -0.001829f, 0.009087f, -0.006136f, -0.006273f, 0.014853f, 0.010579f, -0.011614f, -0.000541f, -0.006223f, -0.036161f, 0.066247f, 0.110277f, -0.025902f, -0.005616f, 0.019645f, 0.049385f, 0.016689f, -0.028636f, 0.018034f, -0.024451f, 0.006443f, 0.015657f, -0.005819f, -0.032986f, 0.010047f, 0.035215f, -0.008654f, -0.050248f, 0.039495f, -0.011474f, 0.032266f, -0.011811f, -0.007820f, -0.012321f, -0.020221f, -0.000716f, 0.035838f, 0.020051f, 0.006050f, 0.028984f, -0.013567f, -0.011327f, 0.011156f, -0.015300f, 0.020141f, 0.011782f, 0.030732f, 0.052519f, 0.046072f, -0.032918f, -0.061379f, -0.022333f, -0.003693f, 0.048313f, -0.018266f, 0.008718f, 0.019605f, -0.018941f, -0.028182f, -0.045219f, -0.046417f, 0.036883f, 0.039347f, -0.031103f, -0.111987f, 0.009453f, -0.007700f, -0.015195f, 0.008916f, -0.010998f, -0.044802f, -0.020819f, -0.010347f, -0.031075f, -0.013170f, 0.047954f, 0.018302f, 0.027735f, -0.010572f, -0.015404f, -0.009913f, 0.026768f, 0.004691f, 0.005202f, 0.023061f, 0.066463f, -0.005541f, -0.009490f, -0.033207f, -0.031392f, - -0.045944f, -0.004721f, 0.026387f, 0.018093f, -0.018601f, 0.014083f, -0.008455f, -0.010706f, -0.019009f, -0.017257f, 0.016215f, -0.013292f, 0.015829f, 0.007602f, 0.009057f, -0.009584f, -0.014138f, 0.016541f, 0.010330f, -0.003760f, 0.012548f, -0.016657f, 0.007413f, -0.001981f, 0.010390f, -0.005276f, -0.009420f, -0.005142f, -0.004530f, 0.011773f, 0.005943f, -0.000165f, -0.011639f, -0.002443f, 0.024161f, -0.016717f, -0.000148f, -0.016214f, 0.020777f, -0.010632f, -0.004307f, -0.014925f, 0.002497f, -0.006138f, 0.002498f, 0.017795f, 0.017782f, 0.004072f, 0.000578f, -0.006199f, -0.023452f, -0.003489f, -0.019336f, 0.010270f, -0.027495f, -0.045728f, -0.009647f, -0.007833f, 0.008749f, -0.015756f, 0.035374f, -0.021083f, -0.071071f, -0.038926f, 0.025057f, -0.033876f, 0.040022f, 0.035206f, -0.015313f, -0.005614f, 0.005497f, -0.021997f, 0.000469f, 0.011386f, -0.002743f, 0.006097f, 0.050605f, 0.041654f, -0.010797f, -0.066776f, -0.050107f, 0.003538f, 0.035637f, -0.026970f, -0.011121f, -0.031655f, -0.039904f, 0.003489f, -0.010993f, -0.047436f, -0.051049f, -0.075652f, 0.030707f, 0.010175f, 0.002030f, 0.043282f, - 0.058738f, -0.002520f, -0.043266f, -0.033353f, -0.034929f, -0.020176f, -0.012143f, 0.013049f, 0.022950f, -0.020395f, -0.031781f, -0.039431f, 0.021121f, 0.018058f, -0.038198f, -0.036941f, -0.014428f, -0.006633f, -0.022177f, 0.013679f, 0.094929f, 0.056586f, 0.110809f, 0.036721f, -0.058481f, 0.068621f, -0.002765f, -0.035487f, 0.003645f, -0.033424f, -0.072273f, -0.030225f, 0.016830f, 0.034341f, -0.007979f, 0.031617f, 0.018568f, 0.070139f, 0.076947f, 0.062946f, 0.021109f, -0.017988f, -0.010996f, -0.010656f, 0.013506f, 0.017617f, -0.026577f, -0.010117f, 0.004503f, 0.057148f, -0.007917f, 0.004711f, -0.006182f, 0.020514f, 0.020948f, 0.024288f, -0.001201f, 0.000232f, 0.000440f, 0.005084f, -0.002225f, 0.003219f, -0.020904f, -0.006952f, -0.007156f, -0.019858f, -0.020260f, -0.009621f, 0.007351f, 0.024016f, -0.015701f, 0.003409f, 0.008503f, 0.027325f, 0.037325f, 0.025309f, 0.023852f, 0.026334f, 0.005852f, -0.010234f, -0.020566f, -0.029861f, -0.036864f, -0.029274f, -0.017166f, -0.035223f, -0.035574f, -0.014016f, -0.006301f, 0.065893f, -0.037418f, 0.004297f, 0.019381f, -0.008315f, -0.048838f, 0.049399f, - 0.047200f, -0.027157f, -0.037337f, 0.005100f, 0.065356f, -0.034277f, 0.018648f, 0.041856f, 0.012845f, -0.015775f, -0.031184f, -0.020532f, 0.014535f, -0.004989f, 0.011091f, -0.018326f, 0.012245f, -0.040568f, 0.059375f, -0.005764f, 0.013382f, -0.002831f, -0.074713f, 0.023269f, -0.020634f, 0.038526f, 0.023292f, 0.041165f, -0.016018f, -0.072140f, 0.051851f, 0.023275f, -0.024441f, -0.044926f, 0.037196f, 0.019855f, 0.039552f, 0.039817f, -0.034687f, 0.015958f, 0.041738f, -0.061116f, 0.056048f, 0.027508f, -0.001698f, 0.017762f, -0.031596f, 0.070067f, -0.007827f, 0.046097f, 0.020791f, 0.081366f, -0.005634f, -0.014317f, 0.011539f, 0.033074f, 0.022058f, 0.023007f, 0.082309f, 0.004784f, 0.020175f, 0.048015f, -0.031706f, 0.032934f, 0.003974f, -0.054740f, 0.020434f, -0.018480f, 0.061929f, -0.045611f, -0.054681f, -0.057030f, 0.048741f, 0.079855f, -0.025439f, 0.020288f, -0.094155f, 0.008931f, 0.004608f, -0.003654f, -0.044059f, 0.007322f, 0.018742f, -0.014628f, -0.012064f, -0.011905f, 0.029917f, 0.013934f, -0.018760f, -0.020372f, -0.011653f, -0.004860f, -0.005831f, 0.008497f, -0.032415f, -0.019543f, - 0.017336f, 0.007058f, 0.006218f, 0.000971f, 0.014949f, -0.002611f, -0.001646f, -0.019161f, 0.025670f, 0.031842f, -0.013566f, -0.049759f, -0.033485f, -0.000448f, 0.000145f, 0.009441f, 0.002605f, -0.015755f, -0.024327f, -0.013502f, 0.009307f, 0.014252f, 0.039916f, 0.013366f, 0.002187f, 0.000562f, -0.029577f, -0.006203f, 0.030959f, 0.018117f, -0.120909f, 0.006640f, -0.014839f, 0.003779f, 0.093553f, 0.077061f, 0.110793f, 0.058549f, -0.029515f, -0.022561f, -0.045961f, -0.061199f, 0.021506f, 0.005385f, 0.016031f, 0.019478f, -0.017879f, 0.027878f, 0.047214f, 0.008701f, -0.012700f, -0.016002f, -0.033520f, -0.022250f, -0.020278f, 0.009245f, 0.015006f, -0.048067f, -0.028484f, -0.006628f, 0.032203f, -0.014558f, 0.020723f, 0.025806f, -0.068355f, -0.067302f, 0.012717f, 0.019506f, 0.014937f, -0.050805f, -0.023410f, -0.045634f, -0.022140f, -0.020896f, 0.043951f, -0.057841f, -0.080582f, -0.030281f, 0.015917f, 0.013686f, -0.062169f, -0.049885f, -0.039259f, -0.029702f, 0.033503f, 0.047299f, 0.002070f, -0.016083f, -0.019722f, -0.010984f, -0.010549f, -0.021392f, -0.069012f, 0.022665f, 0.051725f, 0.047055f, - 0.014579f, 0.064275f, 0.086872f, -0.007596f, -0.011264f, 0.066553f, -0.016207f, -0.040545f, -0.091667f, -0.031222f, 0.012388f, -0.050289f, -0.033739f, 0.023513f, -0.008325f, 0.032613f, 0.057018f, -0.034805f, -0.054053f, -0.017903f, -0.023253f, -0.013436f, -0.014748f, -0.014566f, 0.005970f, 0.008239f, 0.006567f, 0.011576f, -0.019493f, 0.016866f, -0.026887f, -0.003264f, 0.016532f, 0.022261f, -0.024042f, -0.033432f, 0.018993f, -0.007662f, 0.001111f, -0.023356f, 0.027414f, -0.016192f, -0.005934f, -0.006484f, 0.025358f, -0.021643f, 0.027518f, -0.012345f, -0.013050f, 0.018225f, 0.004682f, 0.014500f, -0.011691f, 0.001217f, 0.005270f, 0.029735f, -0.003647f, 0.007000f, 0.079369f, 0.027887f, 0.006401f, 0.029006f, -0.032934f, 0.002170f, -0.016841f, -0.024562f, 0.014650f, 0.005825f, -0.020570f, -0.034097f, -0.019663f, -0.031648f, -0.025819f, 0.010430f, -0.019936f, -0.009650f, 0.014847f, -0.009788f, 0.003320f, -0.010896f, 0.039416f, -0.030810f, 0.032302f, 0.011818f, 0.003584f, -0.029796f, -0.012935f, 0.023902f, 0.009591f, -0.000468f, 0.018967f, -0.003301f, -0.007975f, -0.012152f, -0.010399f, -0.008117f, - 0.003481f, -0.000075f, 0.003909f, -0.034912f, 0.018296f, -0.014550f, -0.013821f, 0.012289f, 0.008265f, 0.004664f, -0.006721f, 0.024646f, 0.021014f, -0.030541f, 0.027288f, -0.003747f, 0.018466f, 0.037072f, -0.007903f, 0.020107f, 0.018920f, -0.018302f, -0.013258f, -0.024423f, 0.002038f, 0.004309f, -0.039466f, 0.016314f, 0.005800f, 0.030696f, -0.012224f, -0.069629f, 0.043541f, 0.002742f, 0.001091f, 0.000991f, -0.030960f, -0.009633f, -0.008296f, -0.010318f, -0.045048f, 0.025641f, 0.012657f, 0.027647f, -0.020186f, 0.012218f, -0.022624f, -0.020372f, 0.000734f, 0.017580f, 0.013914f, 0.000546f, -0.002789f, -0.006210f, 0.001334f, -0.010207f, -0.002342f, 0.029812f, -0.012309f, 0.005991f, 0.002996f, 0.008525f, -0.018482f, 0.019872f, -0.000973f, -0.003688f, 0.004394f, -0.001891f, 0.004282f, 0.006708f, -0.016851f, -0.002211f, 0.000030f, -0.003042f, -0.003311f, 0.009144f, -0.010876f, 0.013308f, 0.018956f, 0.007325f, -0.012280f, -0.000535f, -0.002796f, -0.011122f, 0.013736f, -0.003831f, 0.007368f, -0.040940f, -0.115896f, -0.172578f, 0.036293f, 0.135465f, 0.005703f, 0.370960f, 0.342116f, 0.234898f, - 0.404212f, 0.310830f, 0.042352f, 0.006608f, -0.041880f, -0.296417f, -0.302215f, -0.229880f, -0.395870f, -0.369271f, -0.105517f, -0.123250f, -0.124513f, 0.029550f, 0.074978f, -0.061859f, -0.020578f, 0.118688f, 0.075664f, -0.004124f, 0.088323f, 0.061184f, 0.004634f, 0.073880f, 0.175048f, 0.115100f, 0.040144f, 0.179312f, 0.132754f, 0.010350f, 0.154123f, 0.208890f, 0.050167f, 0.022609f, 0.213119f, 0.058367f, -0.082979f, 0.107299f, 0.164160f, -0.083897f, 0.038346f, 0.229439f, 0.021795f, 0.037911f, 0.276989f, 0.217682f, 0.018384f, 0.172719f, 0.229086f, -0.079549f, -0.047137f, 0.065186f, -0.187417f, -0.313122f, -0.211329f, -0.345296f, -0.512926f, -0.471124f, -0.526955f, -0.671169f, -0.708180f, -0.626480f, -0.662043f, -0.623547f, -0.468169f, -0.373939f, -0.194777f, -0.048576f, 0.110108f, 0.384060f, 0.446984f, 0.485273f, 0.752987f, 0.736162f, 0.494250f, 0.636368f, 0.497283f, 0.197777f, 0.218611f, 0.309146f, 0.151191f, 0.098502f, 0.230987f, 0.164737f, -0.001056f, 0.078892f, 0.179492f, 0.044669f, 0.012399f, 0.133750f, 0.030799f, -0.139557f, 0.044959f, 0.109523f, -0.032225f, 0.098059f, - 0.261389f, 0.103389f, 0.058585f, 0.230055f, 0.125435f, -0.045520f, 0.026659f, -0.059858f, -0.276351f, -0.338432f, -0.336275f, -0.423989f, -0.478946f, -0.396251f, -0.380962f, -0.434352f, -0.392035f, -0.324221f, -0.373407f, -0.341858f, -0.230492f, -0.183543f, -0.175757f, -0.072643f, 0.040874f, 0.048861f, 0.155287f, 0.262841f, 0.276421f, 0.273273f, 0.308792f, 0.285204f, 0.203592f, 0.172427f, 0.153389f, 0.105381f, 0.085696f, 0.105797f, 0.093664f, 0.062624f, 0.065071f, 0.071356f, 0.059524f, 0.057886f, 0.074784f, 0.065060f, 0.043208f, 0.031964f, 0.023129f, -0.010026f, -0.020698f, -0.020894f, -0.020117f, -0.009408f, -0.002847f}, - {0.006995f, 0.009644f, -0.005667f, 0.000385f, 0.000319f, -0.006929f, 0.009254f, -0.003701f, -0.003609f, 0.002632f, -0.009536f, -0.004290f, 0.010232f, 0.002311f, -0.004163f, 0.007257f, 0.002256f, 0.001544f, -0.001492f, 0.003533f, -0.000056f, -0.012246f, -0.000579f, -0.004552f, -0.000544f, -0.000278f, -0.011708f, 0.000170f, -0.007525f, 0.000398f, 0.001188f, 0.005219f, 0.006259f, 0.002053f, 0.001558f, 0.001138f, 0.005408f, -0.002969f, 0.001852f, 0.000335f, 0.000853f, 0.001119f, -0.001618f, 0.004819f, 0.007225f, -0.013881f, 0.006450f, -0.003636f, -0.008339f, -0.005344f, 0.010649f, 0.005330f, -0.003590f, 0.006038f, 0.001764f, -0.003822f, 0.003756f, 0.000075f, 0.000000f, 0.000553f, 0.000733f, -0.001451f, 0.000087f, 0.000783f, -0.000609f, 0.004571f, -0.002839f, -0.006412f, -0.006203f, -0.000041f, 0.002094f, -0.000396f, 0.000304f, 0.003497f, -0.001373f, 0.006141f, -0.006484f, -0.001938f, 0.005003f, 0.005393f, -0.003703f, 0.006080f, 0.002145f, -0.001574f, -0.004097f, -0.001902f, -0.001746f, -0.001634f, -0.001618f, -0.000808f, -0.000226f, -0.000892f, -0.001705f, 0.000524f, 0.001234f, -0.002440f, - -0.000632f, -0.000783f, 0.001275f, -0.002121f, -0.000478f, 0.000306f, 0.005155f, 0.000370f, -0.004109f, 0.002569f, -0.002213f, -0.003295f, 0.000811f, -0.006932f, -0.000828f, -0.005198f, 0.001820f, 0.003230f, 0.003116f, 0.002466f, -0.005405f, -0.000394f, -0.004479f, 0.004782f, -0.009241f, -0.005258f, 0.004662f, -0.010142f, -0.001146f, -0.000684f, 0.002581f, 0.002207f, 0.004975f, 0.010494f, 0.004845f, -0.001328f, -0.000040f, -0.003780f, -0.002936f, -0.018583f, -0.017098f, -0.001164f, 0.012643f, -0.003163f, 0.010097f, 0.000863f, 0.002881f, -0.003164f, -0.014379f, 0.007410f, 0.002266f, -0.004346f, 0.003531f, -0.007640f, -0.001560f, 0.004293f, 0.001892f, 0.013452f, -0.009256f, 0.008153f, -0.004248f, -0.010636f, -0.004940f, -0.002917f, -0.002926f, 0.003736f, 0.003160f, -0.008579f, -0.003828f, -0.004895f, -0.001831f, 0.008241f, 0.008807f, 0.009465f, -0.006964f, 0.001168f, -0.004372f, -0.000590f, -0.003679f, -0.004695f, -0.005693f, -0.006394f, 0.003511f, 0.000990f, -0.000993f, -0.002330f, 0.000833f, 0.003580f, -0.003666f, -0.003220f, -0.001649f, 0.004103f, -0.001436f, -0.000790f, -0.001803f, -0.002087f, - -0.000526f, 0.000895f, -0.000060f, -0.000350f, 0.000679f, 0.000899f, -0.000274f, -0.000400f, 0.002625f, -0.002079f, -0.001320f, 0.001008f, -0.001281f, 0.002031f, -0.001284f, -0.001413f, -0.000289f, -0.000259f, 0.001269f, -0.000669f, -0.000648f, 0.000761f, 0.000160f, -0.002070f, 0.000665f, 0.000483f, 0.006908f, -0.006545f, -0.008447f, -0.007337f, 0.000219f, -0.002906f, -0.002335f, -0.005808f, 0.001263f, -0.006487f, -0.000463f, -0.002677f, 0.009942f, -0.006406f, -0.007001f, -0.015648f, -0.020286f, -0.004924f, -0.009039f, -0.008334f, -0.001979f, 0.004188f, -0.005144f, -0.012192f, 0.007561f, -0.017677f, 0.005318f, -0.002982f, -0.003163f, 0.011405f, 0.008066f, 0.004209f, 0.001594f, -0.001984f, -0.001804f, -0.004312f, 0.001864f, 0.007734f, -0.006221f, 0.007333f, 0.006809f, 0.001957f, 0.001028f, 0.003042f, 0.005224f, -0.011503f, -0.004956f, 0.010933f, -0.008462f, 0.000698f, -0.000141f, 0.006681f, -0.000807f, -0.002569f, 0.001302f, 0.011344f, 0.006328f, 0.003938f, 0.003704f, 0.006315f, -0.009992f, 0.007733f, -0.008147f, 0.007160f, 0.004771f, -0.002144f, -0.001393f, -0.003430f, -0.004448f, -0.007321f, - -0.000323f, -0.002296f, -0.005773f, -0.006461f, -0.003578f, -0.003764f, -0.000602f, -0.000448f, -0.001717f, 0.008613f, -0.003510f, -0.001629f, -0.005811f, 0.005967f, 0.000086f, -0.001335f, 0.001325f, -0.002526f, -0.004172f, 0.000082f, 0.002440f, -0.000296f, -0.000356f, -0.002755f, 0.000847f, -0.000917f, -0.002413f, 0.000151f, 0.000608f, 0.001350f, -0.000254f, 0.000883f, 0.000810f, 0.002016f, 0.000761f, -0.002220f, 0.000154f, 0.001134f, -0.000262f, -0.001948f, -0.001155f, 0.002834f, 0.001531f, -0.001542f, -0.000611f, -0.000617f, 0.004071f, -0.010753f, -0.000257f, -0.005046f, -0.009876f, -0.004593f, -0.001838f, -0.006886f, -0.002326f, -0.006353f, -0.002479f, 0.005003f, 0.006731f, -0.011158f, -0.006348f, 0.003655f, -0.002223f, -0.012191f, 0.008109f, 0.014521f, 0.003044f, -0.003421f, -0.006789f, 0.001606f, 0.007013f, 0.013136f, -0.006680f, -0.002783f, -0.008422f, -0.006753f, 0.007260f, 0.007288f, -0.010222f, 0.006004f, -0.003268f, -0.006521f, 0.010328f, -0.000027f, 0.005632f, -0.014149f, 0.000973f, -0.009073f, 0.002051f, -0.011272f, -0.007080f, -0.001842f, -0.002634f, 0.023510f, 0.007460f, 0.006096f, - 0.004586f, -0.017504f, 0.009785f, 0.006810f, -0.003869f, -0.000440f, 0.007629f, -0.001084f, 0.008061f, 0.009335f, 0.009281f, -0.005385f, 0.000677f, -0.003006f, 0.004938f, -0.004413f, -0.004671f, 0.003074f, -0.004388f, 0.002073f, 0.002902f, 0.000161f, 0.005464f, 0.002169f, -0.010385f, -0.001255f, -0.001328f, 0.003263f, -0.011771f, -0.003782f, -0.002992f, 0.008297f, -0.002533f, -0.001379f, -0.006366f, -0.001682f, 0.000408f, -0.000598f, -0.002970f, 0.000086f, -0.001931f, 0.002146f, 0.000751f, 0.000019f, 0.000337f, 0.000792f, -0.001531f, -0.004377f, 0.002311f, 0.000980f, -0.002528f, 0.001216f, -0.001387f, 0.000524f, 0.000531f, 0.001571f, -0.000362f, -0.000525f, -0.001110f, 0.001006f, -0.001822f, 0.001711f, -0.002072f, -0.000105f, -0.000181f, 0.001366f, -0.001380f, -0.000529f, -0.002000f, -0.001147f, -0.001847f, -0.014548f, -0.008119f, 0.005956f, -0.006375f, 0.017073f, 0.007506f, 0.016715f, -0.000260f, -0.008166f, -0.008711f, -0.011725f, 0.017837f, -0.004368f, 0.008146f, 0.009117f, 0.001880f, 0.006420f, 0.005816f, 0.005679f, 0.002253f, -0.011779f, -0.000680f, -0.004550f, -0.001773f, 0.008083f, - -0.000741f, -0.000719f, 0.005622f, 0.003560f, 0.005823f, -0.005117f, -0.018594f, -0.011084f, -0.007050f, 0.013688f, -0.012376f, -0.003739f, 0.008371f, -0.000941f, 0.001548f, -0.010369f, 0.017983f, 0.000985f, -0.007021f, 0.014214f, -0.008743f, 0.022017f, 0.011363f, -0.004965f, 0.002536f, -0.006268f, -0.004300f, -0.020276f, 0.007175f, -0.009234f, -0.001448f, -0.000788f, -0.004451f, 0.008697f, -0.003402f, -0.008848f, -0.008640f, 0.002016f, -0.007895f, -0.008677f, 0.004950f, 0.000777f, 0.006250f, -0.003383f, -0.018521f, 0.006405f, 0.008039f, 0.010359f, -0.009968f, -0.011198f, 0.001454f, 0.018364f, 0.002949f, -0.009473f, -0.004352f, -0.001593f, 0.005029f, 0.000935f, 0.005356f, -0.005381f, -0.002050f, -0.001042f, -0.006641f, -0.005417f, 0.008157f, -0.001337f, 0.003200f, -0.000685f, -0.002323f, -0.005167f, -0.000498f, 0.000232f, 0.002030f, -0.000940f, 0.001888f, -0.001314f, -0.004221f, -0.001661f, -0.000581f, -0.000062f, -0.000760f, 0.003215f, 0.000185f, 0.003479f, -0.001155f, -0.000204f, -0.000529f, -0.003702f, -0.000005f, 0.001987f, 0.001946f, 0.014687f, -0.013514f, 0.006749f, 0.017239f, -0.012429f, - 0.003410f, -0.006984f, -0.013554f, 0.020059f, 0.007493f, 0.018643f, 0.017165f, 0.002533f, -0.013703f, -0.008371f, 0.007104f, -0.000873f, 0.002959f, -0.014799f, 0.001545f, -0.026311f, -0.011073f, -0.020519f, 0.012658f, -0.011648f, -0.000430f, 0.003805f, -0.003405f, -0.005294f, 0.006222f, 0.006275f, 0.018201f, -0.002510f, -0.004052f, -0.013918f, -0.011923f, 0.011662f, 0.002492f, 0.004042f, 0.021770f, -0.006558f, 0.000141f, 0.011626f, -0.005215f, 0.005394f, 0.003982f, 0.011636f, 0.010428f, -0.007195f, -0.001145f, -0.014751f, 0.015371f, -0.010062f, -0.013358f, -0.012799f, 0.008113f, -0.004723f, -0.007047f, 0.015184f, -0.004730f, 0.015738f, -0.009675f, -0.007310f, -0.002020f, 0.010323f, 0.013322f, -0.000969f, -0.014413f, 0.005247f, -0.009218f, 0.018790f, 0.003873f, 0.011058f, -0.015096f, -0.006615f, 0.004027f, -0.003822f, 0.009075f, 0.001389f, -0.005149f, 0.005486f, 0.012032f, 0.017040f, 0.013097f, 0.000247f, -0.003088f, -0.000155f, 0.002821f, 0.000314f, -0.002960f, 0.002045f, -0.002495f, -0.000364f, 0.004833f, 0.000307f, -0.002397f, 0.005240f, -0.001676f, -0.002714f, 0.001343f, 0.001866f, - -0.000109f, -0.003214f, 0.001187f, -0.002199f, 0.000454f, -0.004391f, -0.005491f, 0.001415f, 0.002057f, -0.000114f, 0.004241f, -0.001495f, 0.001914f, 0.008687f, -0.022997f, 0.008000f, 0.006871f, 0.004559f, -0.017379f, 0.013260f, 0.021948f, -0.021409f, 0.008175f, -0.013178f, 0.008649f, 0.001129f, 0.007774f, -0.006371f, -0.000449f, 0.005016f, -0.014522f, -0.007252f, -0.006242f, 0.011486f, 0.012133f, -0.004007f, 0.005716f, -0.002994f, 0.008974f, 0.011381f, 0.004480f, 0.003415f, -0.011544f, -0.004377f, -0.014424f, -0.016044f, -0.011170f, 0.001042f, -0.005333f, -0.000782f, -0.006666f, -0.015977f, -0.005378f, 0.003213f, 0.001470f, -0.001005f, 0.024154f, -0.019568f, 0.007225f, -0.009766f, -0.002794f, -0.006101f, -0.006127f, 0.010217f, -0.006100f, 0.000744f, -0.007394f, -0.004988f, -0.008987f, 0.012271f, -0.011304f, 0.010059f, -0.002614f, 0.010048f, -0.000900f, 0.001486f, -0.001030f, 0.009710f, 0.005652f, -0.000326f, 0.020948f, 0.000789f, -0.010474f, 0.005470f, -0.009420f, -0.011630f, -0.013951f, 0.013536f, 0.004817f, 0.012053f, 0.012348f, 0.014417f, 0.008513f, -0.001787f, -0.002581f, -0.002659f, - 0.013926f, -0.002091f, 0.015612f, 0.003280f, -0.000657f, -0.002429f, 0.005361f, 0.007898f, 0.002087f, 0.003217f, 0.001104f, -0.001106f, 0.001562f, -0.002671f, 0.004203f, 0.000141f, 0.003606f, -0.001119f, 0.003422f, -0.000418f, -0.005444f, 0.002651f, 0.003758f, -0.000057f, 0.003058f, -0.001016f, 0.000178f, -0.003207f, 0.002641f, -0.000809f, 0.001295f, 0.005731f, 0.005778f, -0.024193f, -0.001923f, 0.003131f, -0.005603f, -0.019056f, 0.021787f, -0.001420f, 0.000794f, 0.018507f, -0.005192f, -0.019074f, 0.006709f, 0.012479f, 0.023631f, -0.001532f, 0.009976f, 0.002033f, -0.020832f, -0.006129f, -0.010841f, 0.010585f, 0.006018f, 0.005524f, -0.007812f, -0.001436f, -0.000901f, 0.001892f, -0.007062f, 0.009857f, 0.002714f, -0.008390f, 0.012190f, 0.001709f, -0.013697f, -0.011495f, 0.003168f, 0.014768f, 0.013241f, -0.018540f, 0.036215f, -0.001812f, 0.000656f, 0.009957f, -0.001468f, -0.004773f, -0.000352f, 0.023281f, -0.011685f, 0.011508f, -0.002837f, 0.016113f, 0.004835f, 0.014441f, -0.005519f, -0.011380f, 0.007999f, 0.012347f, -0.006155f, -0.013831f, -0.015046f, -0.013244f, -0.006009f, -0.002682f, - 0.013761f, 0.000333f, 0.011959f, -0.001446f, -0.003969f, 0.011879f, -0.010389f, -0.020050f, -0.005345f, -0.012804f, -0.012063f, -0.022294f, 0.016617f, 0.014501f, 0.005954f, -0.034570f, 0.008119f, 0.007279f, -0.002593f, -0.001016f, -0.012064f, 0.016516f, 0.008454f, 0.006539f, 0.004036f, 0.015168f, -0.001323f, -0.001087f, 0.001118f, -0.000156f, 0.003523f, 0.001720f, 0.000068f, 0.004649f, -0.002802f, -0.000629f, -0.003579f, 0.001038f, 0.001202f, 0.005122f, -0.003585f, -0.000563f, -0.001410f, 0.003946f, -0.001830f, 0.001467f, 0.002334f, 0.003158f, -0.002742f, 0.007579f, -0.000021f, -0.000233f, -0.002793f, 0.002958f, -0.004751f, 0.001673f, 0.000194f, -0.006940f, -0.001629f, -0.001152f, -0.013783f, -0.000931f, 0.001074f, 0.010039f, -0.014505f, 0.000736f, -0.002224f, -0.006055f, -0.030131f, -0.003651f, 0.014254f, 0.011000f, 0.014606f, 0.001688f, -0.016181f, 0.042807f, 0.018034f, 0.029113f, 0.003069f, -0.012749f, -0.005057f, -0.004137f, -0.018136f, -0.001147f, -0.007095f, 0.009122f, 0.000089f, 0.000942f, -0.005781f, -0.007772f, -0.015324f, 0.005178f, 0.001561f, 0.000756f, 0.007978f, -0.000656f, - 0.003417f, -0.001533f, -0.013302f, -0.010368f, 0.008134f, 0.000049f, 0.019505f, -0.024579f, 0.019732f, 0.012070f, -0.008616f, -0.017770f, -0.027695f, 0.005873f, 0.021975f, -0.011211f, 0.021275f, -0.001661f, -0.000877f, 0.004879f, -0.006155f, -0.024635f, 0.003031f, 0.011655f, 0.005271f, -0.010696f, -0.002724f, -0.006707f, 0.005529f, 0.011957f, -0.000544f, 0.003060f, -0.001538f, 0.011514f, -0.005067f, -0.003919f, 0.007937f, -0.006797f, 0.018194f, -0.004828f, -0.009082f, 0.006743f, -0.016301f, -0.008352f, 0.000232f, 0.006499f, -0.007010f, 0.003061f, -0.002488f, 0.003624f, 0.000221f, 0.004304f, 0.003826f, -0.001451f, 0.002329f, -0.007759f, 0.004318f, -0.001051f, -0.010386f, -0.003640f, -0.002864f, -0.006311f, 0.000110f, 0.001836f, -0.004795f, -0.003508f, -0.000115f, -0.006649f, 0.000597f, 0.001706f, -0.001330f, -0.007038f, 0.000750f, -0.000105f, -0.005197f, 0.002192f, 0.004062f, -0.004328f, -0.000150f, 0.001266f, 0.000557f, 0.002051f, 0.006352f, 0.005171f, -0.005195f, -0.004281f, 0.004771f, -0.033133f, 0.023707f, 0.021374f, 0.025243f, -0.008160f, -0.022510f, 0.007851f, 0.009052f, -0.033715f, - -0.030607f, 0.029603f, 0.003245f, -0.014557f, 0.011229f, -0.021094f, -0.023910f, 0.003339f, 0.062288f, 0.028852f, 0.011563f, -0.016995f, 0.000281f, -0.006110f, 0.000492f, -0.007179f, -0.003462f, -0.007965f, 0.002244f, 0.017657f, 0.003518f, 0.021787f, -0.008660f, -0.007322f, 0.004004f, 0.015202f, -0.002920f, -0.002280f, -0.032569f, -0.001462f, -0.018343f, -0.001056f, 0.025254f, 0.017940f, -0.006677f, 0.017534f, 0.035044f, -0.016762f, 0.010122f, 0.028956f, -0.021320f, 0.030610f, -0.002558f, 0.012551f, -0.007276f, 0.001226f, -0.004148f, 0.004193f, 0.007112f, 0.030367f, -0.011665f, -0.003904f, 0.007913f, -0.014246f, 0.008948f, 0.004640f, -0.008165f, -0.013880f, 0.029978f, -0.002044f, -0.016463f, -0.005500f, 0.018590f, -0.007874f, 0.012619f, -0.000135f, 0.000908f, -0.019826f, -0.021532f, -0.010405f, -0.018366f, -0.016645f, -0.017994f, -0.001138f, -0.004288f, 0.008719f, -0.001130f, 0.001549f, -0.001641f, 0.010986f, 0.007014f, 0.000765f, -0.013640f, 0.000481f, -0.002553f, -0.010168f, -0.002899f, -0.005243f, 0.005332f, 0.002017f, -0.006934f, -0.002334f, -0.005317f, -0.004182f, -0.000489f, 0.003800f, - 0.003721f, 0.003888f, 0.006678f, -0.004109f, 0.000849f, 0.004188f, -0.002903f, -0.004001f, 0.004906f, -0.006907f, -0.002717f, -0.002122f, 0.003094f, 0.001324f, 0.004969f, 0.000868f, 0.000510f, -0.001951f, -0.004991f, 0.040415f, 0.007240f, 0.005727f, -0.021033f, -0.012167f, 0.001048f, 0.004676f, 0.008167f, 0.009396f, -0.040093f, 0.001833f, 0.002518f, 0.028975f, 0.004619f, 0.007391f, -0.002766f, 0.026363f, -0.043053f, 0.001351f, 0.022034f, -0.025609f, 0.006401f, 0.005057f, 0.020749f, 0.004113f, 0.002199f, -0.007016f, 0.000657f, -0.021980f, 0.007446f, -0.005463f, 0.003890f, 0.006023f, -0.003781f, -0.016661f, 0.006102f, -0.013143f, -0.022943f, 0.012986f, -0.012977f, 0.008557f, -0.021572f, -0.013553f, -0.002292f, -0.006646f, 0.005138f, -0.009120f, 0.023625f, -0.000229f, 0.022526f, -0.023747f, -0.020122f, -0.006406f, 0.000320f, -0.000349f, -0.007005f, 0.020332f, 0.016554f, 0.042355f, -0.006802f, 0.027112f, -0.015865f, -0.002663f, 0.008147f, -0.032056f, 0.036637f, -0.000926f, 0.022808f, -0.000845f, -0.032002f, -0.019228f, 0.013461f, -0.042763f, 0.022291f, 0.006214f, 0.032541f, 0.041085f, - 0.005332f, -0.030354f, -0.023013f, -0.009424f, 0.023364f, -0.002794f, -0.005663f, 0.001350f, -0.008569f, 0.001301f, -0.006272f, -0.009162f, -0.003188f, -0.014774f, -0.000729f, 0.000719f, -0.006880f, -0.006137f, -0.008396f, -0.005937f, -0.002880f, 0.003772f, 0.007136f, 0.002697f, -0.001184f, 0.006560f, -0.004472f, -0.002449f, 0.001521f, 0.003488f, 0.004167f, -0.004127f, 0.005273f, -0.005390f, -0.002545f, -0.007886f, -0.013842f, 0.008601f, 0.001486f, -0.007835f, -0.007924f, -0.001490f, -0.010987f, 0.001529f, 0.000117f, 0.008191f, 0.020519f, 0.031783f, 0.010877f, -0.013073f, 0.029979f, -0.032206f, -0.003511f, -0.009854f, 0.003843f, 0.025825f, -0.023459f, 0.058131f, 0.007548f, 0.014442f, -0.017263f, -0.023371f, 0.007945f, 0.000252f, 0.049179f, -0.007024f, -0.017244f, -0.028147f, -0.019165f, 0.013802f, 0.008666f, 0.008095f, -0.003715f, -0.027705f, -0.042962f, 0.003265f, -0.025960f, 0.034390f, 0.004328f, 0.027940f, -0.017380f, 0.011718f, -0.011292f, 0.014509f, 0.040120f, -0.006624f, -0.004407f, -0.006019f, 0.010370f, 0.013454f, 0.006745f, 0.003017f, 0.004019f, 0.017546f, 0.015580f, -0.008986f, - -0.013957f, -0.012368f, -0.013976f, 0.046115f, 0.018051f, -0.026937f, 0.020693f, -0.006072f, -0.022224f, -0.015787f, 0.008007f, 0.016928f, -0.031623f, -0.041032f, 0.004468f, -0.018281f, 0.053874f, 0.028129f, -0.009392f, -0.006061f, 0.011319f, 0.024433f, 0.006115f, -0.004050f, -0.007295f, -0.037190f, -0.001865f, -0.009042f, -0.040583f, 0.015416f, 0.025369f, -0.004047f, 0.012650f, 0.007156f, 0.025879f, -0.014191f, -0.003952f, 0.009432f, -0.004168f, -0.011634f, -0.013364f, -0.000256f, -0.008114f, -0.019641f, -0.004181f, -0.008994f, 0.008485f, -0.003727f, -0.011014f, 0.007669f, 0.002910f, 0.001201f, -0.006865f, 0.007654f, 0.001969f, -0.012282f, 0.004204f, 0.005043f, -0.005892f, -0.017095f, -0.008581f, -0.003032f, -0.001962f, -0.000094f, -0.006596f, -0.000740f, -0.004919f, 0.002510f, 0.001940f, -0.003254f, 0.000689f, -0.000133f, -0.005246f, -0.010537f, -0.001504f, 0.002416f, 0.006106f, 0.003270f, -0.008146f, -0.005102f, 0.001917f, -0.015130f, -0.025692f, 0.014841f, -0.008634f, 0.022417f, 0.009973f, -0.023859f, -0.010312f, -0.011969f, 0.005015f, -0.032210f, 0.021792f, 0.030899f, -0.012660f, 0.019356f, - -0.004820f, -0.008226f, 0.014767f, -0.022495f, 0.013971f, 0.025144f, 0.006714f, 0.043207f, 0.020732f, -0.017779f, 0.018234f, 0.008031f, 0.016007f, 0.000979f, 0.022986f, 0.020335f, 0.030842f, 0.011909f, -0.012285f, -0.014298f, -0.019346f, -0.001592f, 0.047923f, 0.001265f, 0.020178f, -0.030031f, 0.062652f, -0.018395f, -0.049396f, -0.023036f, 0.039494f, 0.003379f, -0.005694f, -0.005196f, -0.003080f, 0.029796f, -0.021883f, 0.017358f, -0.004589f, 0.037456f, 0.056667f, 0.029506f, 0.027228f, -0.019960f, 0.032146f, 0.019788f, 0.019019f, 0.022228f, 0.032143f, -0.006479f, -0.056631f, -0.035961f, -0.041194f, 0.010893f, 0.014421f, 0.011961f, -0.009706f, 0.019350f, 0.049651f, 0.003753f, 0.003681f, 0.012409f, -0.002985f, -0.043462f, -0.047223f, -0.015827f, 0.009155f, 0.005279f, -0.002195f, -0.026627f, 0.006652f, 0.001601f, 0.002028f, 0.014394f, -0.003306f, 0.009253f, 0.002886f, 0.017707f, -0.004578f, 0.011920f, -0.009406f, 0.002369f, 0.001639f, 0.020510f, 0.009098f, 0.020476f, 0.002086f, 0.010571f, -0.003804f, 0.002564f, 0.008465f, -0.005298f, -0.013333f, 0.003326f, -0.008026f, -0.014509f, - -0.011867f, -0.002929f, -0.003396f, 0.019996f, 0.003931f, 0.000255f, -0.006176f, 0.003388f, -0.000085f, -0.006790f, -0.008245f, -0.005583f, 0.004273f, 0.012899f, -0.001780f, 0.001484f, 0.001404f, 0.005969f, 0.003790f, -0.012911f, 0.008201f, 0.020786f, 0.024340f, 0.008841f, 0.011414f, 0.019011f, -0.014989f, 0.044171f, 0.017381f, 0.008562f, -0.012628f, -0.033832f, -0.013692f, 0.018500f, -0.001872f, -0.047957f, 0.064586f, -0.022664f, -0.012695f, 0.019940f, 0.000946f, -0.006422f, 0.004650f, -0.012518f, -0.015204f, -0.003285f, -0.035191f, 0.008721f, -0.037816f, 0.001070f, -0.029986f, -0.033703f, -0.006801f, -0.007153f, -0.007433f, -0.024651f, 0.010788f, 0.026432f, 0.007046f, 0.020243f, -0.035104f, 0.034597f, 0.062968f, 0.006540f, -0.025340f, 0.039380f, -0.032327f, -0.051135f, 0.085121f, -0.008721f, 0.006004f, -0.005914f, -0.038123f, 0.029394f, -0.034565f, 0.014957f, 0.051993f, -0.001028f, 0.071426f, -0.055762f, 0.053795f, 0.015702f, -0.035411f, -0.018523f, 0.006703f, -0.033976f, -0.016983f, 0.037872f, -0.037177f, 0.024666f, -0.025016f, 0.013691f, 0.039508f, -0.086834f, -0.038323f, 0.040001f, - -0.074581f, 0.026350f, 0.023064f, 0.042644f, 0.037653f, 0.016983f, -0.003080f, 0.025034f, 0.037347f, -0.040600f, 0.040528f, -0.000747f, 0.013991f, -0.002130f, 0.012682f, 0.003299f, -0.007768f, 0.002810f, -0.011834f, -0.003858f, 0.002995f, -0.002091f, -0.020482f, 0.012876f, -0.003656f, 0.016768f, 0.009983f, -0.014458f, 0.011376f, 0.013995f, 0.010112f, 0.004219f, 0.007224f, 0.004397f, 0.009220f, -0.028367f, 0.015869f, -0.003704f, -0.007785f, 0.020172f, -0.016232f, -0.013154f, 0.006744f, -0.016752f, -0.013698f, -0.016508f, 0.009135f, -0.025026f, -0.074692f, -0.019438f, 0.024470f, 0.057665f, -0.018372f, 0.029118f, 0.000791f, 0.013756f, 0.029861f, 0.019347f, 0.051720f, -0.013370f, 0.002179f, 0.014223f, -0.045851f, -0.029462f, -0.013688f, -0.014810f, 0.010516f, 0.000797f, 0.003855f, -0.023869f, -0.003984f, -0.031605f, -0.025746f, 0.012386f, 0.063869f, 0.036786f, -0.016833f, -0.020431f, 0.030423f, 0.036513f, -0.021766f, 0.009657f, 0.028045f, -0.011094f, 0.061088f, 0.020827f, 0.008945f, -0.047123f, 0.029059f, 0.006011f, 0.022891f, -0.004807f, 0.005883f, -0.007748f, -0.010196f, -0.074317f, - 0.019674f, 0.051457f, 0.025367f, 0.006920f, -0.001478f, 0.025970f, -0.041861f, -0.077202f, 0.005707f, 0.102455f, 0.024606f, 0.081290f, 0.076991f, 0.001071f, 0.006682f, -0.048945f, -0.043925f, -0.004634f, -0.037688f, 0.051342f, -0.111839f, 0.021176f, -0.041929f, -0.089230f, 0.019789f, 0.041850f, 0.089214f, 0.008065f, 0.004410f, -0.056824f, 0.018530f, 0.026938f, -0.039823f, -0.003649f, 0.002757f, 0.041779f, -0.011243f, -0.026542f, 0.063083f, 0.013440f, -0.022633f, -0.000735f, -0.036619f, 0.004903f, -0.034666f, -0.006900f, -0.001263f, -0.016823f, 0.005186f, -0.013571f, -0.014583f, -0.007838f, -0.000237f, -0.006809f, 0.011607f, 0.032829f, -0.001940f, 0.000486f, 0.012107f, -0.029517f, -0.018004f, -0.003452f, 0.008867f, 0.009483f, -0.025905f, -0.014484f, 0.020382f, 0.012200f, 0.007022f, 0.005063f, 0.021523f, -0.000696f, 0.000251f, 0.002354f, -0.014739f, 0.002775f, -0.019382f, 0.054456f, 0.095565f, 0.002332f, 0.026243f, 0.017052f, -0.049949f, -0.014361f, 0.050191f, 0.015619f, 0.022234f, -0.012688f, 0.014721f, 0.008383f, -0.017543f, 0.000650f, 0.026136f, 0.027368f, 0.033721f, -0.014956f, - -0.003941f, -0.074243f, -0.069339f, 0.009452f, -0.042802f, 0.001352f, 0.037471f, 0.008889f, 0.004621f, -0.013011f, -0.008126f, 0.023785f, 0.058540f, -0.042528f, -0.024159f, -0.005674f, -0.041026f, -0.003145f, -0.039534f, -0.012490f, -0.041981f, 0.037110f, -0.050911f, -0.004304f, 0.009381f, 0.024608f, 0.089525f, 0.118993f, 0.031036f, -0.031473f, -0.063376f, -0.005758f, -0.043291f, -0.017214f, -0.067416f, 0.009967f, 0.065371f, 0.047938f, 0.039307f, 0.004555f, 0.009669f, 0.066642f, 0.065058f, 0.047514f, -0.003709f, 0.029935f, 0.011306f, 0.014715f, -0.076703f, 0.023041f, 0.008710f, -0.017890f, 0.046569f, 0.062806f, -0.008552f, -0.001224f, -0.030720f, -0.131538f, -0.002342f, 0.038700f, -0.018886f, 0.090787f, 0.064808f, -0.030191f, 0.006216f, -0.033643f, 0.022825f, 0.006116f, -0.011987f, -0.020200f, -0.008945f, -0.002025f, 0.014330f, 0.017416f, 0.027108f, 0.000593f, -0.016001f, -0.035197f, 0.002239f, -0.016689f, 0.013577f, -0.015758f, -0.021160f, -0.005485f, -0.005340f, 0.015698f, 0.006849f, -0.006176f, 0.008553f, 0.004432f, 0.006832f, 0.001398f, -0.011936f, -0.019517f, -0.009594f, 0.007144f, - 0.016428f, -0.001569f, 0.013438f, -0.000328f, -0.019182f, -0.020343f, 0.005839f, -0.024859f, -0.013688f, -0.000107f, -0.010634f, -0.003185f, 0.007175f, 0.009963f, -0.008987f, -0.023210f, 0.059460f, 0.042429f, -0.028358f, 0.028739f, 0.044163f, 0.005003f, -0.055368f, -0.066053f, 0.061697f, 0.021029f, 0.014259f, 0.048610f, 0.001060f, -0.021138f, 0.052132f, 0.013767f, -0.039589f, -0.020054f, -0.014369f, 0.017628f, 0.001072f, -0.023668f, 0.009132f, -0.026185f, -0.002665f, -0.011798f, -0.012788f, 0.035560f, 0.066194f, -0.022516f, 0.013702f, 0.031246f, -0.015554f, -0.013291f, 0.012761f, 0.037747f, 0.012022f, -0.028910f, -0.036688f, -0.044062f, 0.023622f, 0.024901f, 0.060074f, -0.028438f, -0.027043f, 0.021159f, 0.035771f, 0.056092f, -0.001643f, -0.103761f, -0.022277f, 0.033527f, 0.033330f, 0.015081f, -0.020335f, -0.000719f, -0.041577f, 0.006296f, -0.018007f, 0.043212f, 0.061793f, -0.018648f, 0.001294f, -0.036179f, -0.039324f, -0.015105f, -0.079571f, -0.015951f, -0.040490f, 0.035300f, -0.032420f, 0.036616f, 0.045295f, -0.091963f, -0.007751f, -0.038887f, 0.039343f, -0.016176f, 0.013828f, -0.028580f, - 0.004600f, -0.024341f, 0.027077f, 0.030274f, 0.052134f, 0.050432f, 0.024895f, 0.048522f, 0.022429f, 0.002913f, 0.025574f, 0.016524f, -0.007316f, 0.021613f, -0.024061f, 0.011585f, -0.012345f, 0.010032f, -0.030311f, 0.017937f, 0.000066f, 0.014208f, -0.022347f, -0.012643f, 0.014359f, -0.005811f, -0.007555f, 0.026032f, -0.020591f, -0.004710f, 0.020981f, 0.010413f, -0.014265f, -0.004480f, 0.008485f, 0.048038f, 0.025692f, 0.020938f, 0.028200f, 0.001916f, 0.030664f, 0.010366f, 0.009290f, 0.016090f, -0.000122f, 0.025827f, 0.007017f, -0.044455f, -0.020919f, -0.011883f, -0.021844f, -0.030178f, -0.049907f, -0.011313f, -0.027764f, -0.050624f, -0.076489f, 0.037417f, 0.039608f, 0.023357f, -0.051109f, -0.069560f, -0.053413f, -0.030285f, 0.012541f, -0.002271f, -0.067748f, -0.040426f, -0.046425f, 0.065799f, 0.020484f, 0.028696f, -0.020680f, -0.037370f, 0.083376f, 0.020681f, 0.026020f, -0.015880f, 0.004959f, 0.024719f, -0.017027f, 0.019670f, -0.006116f, 0.039858f, 0.056199f, 0.002586f, -0.045299f, -0.036263f, 0.044529f, 0.030629f, 0.039013f, 0.011416f, 0.009817f, -0.019926f, -0.008765f, 0.006625f, - 0.027282f, 0.059032f, -0.000446f, -0.109560f, -0.101692f, 0.001696f, -0.024804f, 0.066110f, 0.067076f, -0.074297f, -0.050298f, -0.031078f, 0.092870f, 0.082956f, -0.044708f, 0.013512f, -0.058568f, -0.056209f, 0.034545f, -0.025670f, 0.000468f, -0.008327f, -0.040592f, 0.029447f, 0.029991f, 0.024141f, 0.094111f, -0.068479f, -0.018381f, -0.005968f, 0.024251f, 0.008077f, 0.038830f, -0.137078f, -0.079755f, 0.029246f, 0.043344f, 0.043099f, 0.012296f, -0.044897f, -0.046206f, 0.001339f, 0.027659f, 0.080045f, 0.019552f, -0.025883f, 0.008381f, -0.050878f, 0.032176f, 0.028415f, 0.001864f, 0.045144f, 0.095677f, 0.023550f, -0.069774f, -0.036069f, -0.004699f, 0.008727f, 0.046357f, 0.040753f, 0.019269f, -0.020384f, -0.008305f, -0.013803f, -0.016249f, 0.042252f, -0.004573f, 0.004583f, -0.016203f, 0.041032f, -0.018321f, -0.006943f, -0.000685f, 0.035753f, 0.015695f, 0.013275f, -0.006985f, -0.043062f, -0.015297f, 0.015170f, 0.035507f, 0.006967f, -0.048274f, -0.066695f, -0.055867f, -0.000384f, 0.008754f, 0.011434f, 0.007393f, 0.092063f, -0.061119f, 0.057441f, 0.057310f, 0.036584f, -0.133364f, -0.053590f, - 0.044801f, -0.036286f, 0.025967f, -0.009542f, -0.055328f, 0.035489f, 0.010794f, 0.010573f, -0.024393f, -0.088361f, -0.008262f, -0.002700f, 0.000452f, -0.012617f, -0.064257f, 0.048121f, -0.039662f, 0.082187f, -0.008558f, -0.007188f, 0.040157f, 0.029809f, -0.039177f, -0.003647f, -0.029626f, 0.043914f, 0.069298f, 0.052651f, -0.058226f, 0.013081f, -0.038923f, 0.035205f, -0.033792f, -0.013925f, 0.005897f, -0.002972f, 0.037724f, -0.034540f, -0.080891f, 0.020838f, -0.028850f, 0.030256f, 0.031725f, -0.102535f, -0.017269f, -0.019557f, 0.003875f, 0.113541f, -0.030480f, -0.082631f, -0.021823f, 0.072165f, 0.034783f, -0.044750f, -0.014551f, 0.044767f, -0.000051f, 0.055269f, -0.082994f, -0.043910f, 0.050164f, -0.052185f, -0.126610f, -0.037392f, -0.017139f, 0.144641f, -0.039324f, -0.074729f, 0.039899f, -0.086210f, 0.227572f, 0.021537f, -0.211166f, -0.056263f, -0.037175f, 0.149988f, 0.081336f, -0.094291f, -0.049632f, -0.001225f, 0.110987f, 0.088394f, -0.013645f, -0.069503f, 0.027378f, -0.023514f, 0.100111f, -0.009679f, -0.050077f, -0.041577f, 0.065628f, -0.052414f, 0.034073f, -0.100367f, -0.000319f, -0.003845f, - -0.005715f, -0.005893f, 0.021229f, -0.055565f, 0.053939f, 0.004465f, 0.039597f, 0.001594f, -0.063257f, -0.048690f, 0.036234f, 0.042720f, 0.067240f, 0.025052f, -0.006718f, -0.043816f, 0.005969f, 0.010903f, -0.011445f, 0.002873f, 0.044113f, 0.006848f, -0.001964f, -0.050123f, 0.009763f, 0.035605f, 0.013273f, 0.001468f, -0.014545f, -0.036048f, -0.122102f, 0.034254f, -0.001971f, 0.041739f, 0.100926f, 0.032384f, 0.013877f, -0.056874f, -0.023635f, -0.056839f, -0.068134f, -0.022782f, 0.013361f, 0.038959f, 0.051484f, -0.005744f, 0.029931f, 0.036324f, -0.031642f, -0.064058f, 0.033918f, 0.012227f, -0.052117f, -0.017676f, 0.049441f, -0.016812f, -0.005578f, 0.045300f, 0.025339f, 0.020151f, 0.006262f, 0.025762f, -0.024680f, -0.059508f, -0.025933f, 0.016985f, -0.024439f, -0.014049f, 0.021760f, 0.001482f, -0.041981f, 0.043729f, 0.009389f, -0.038817f, 0.004929f, -0.009356f, 0.037568f, 0.020957f, -0.015230f, 0.017686f, -0.023237f, -0.052171f, 0.006945f, 0.012716f, -0.004793f, 0.000138f, 0.010993f, -0.022784f, 0.007160f, -0.019508f, 0.011671f, 0.037246f, -0.003997f, 0.016287f, 0.017169f, -0.014386f, - 0.000884f, -0.035524f, 0.012113f, 0.020970f, -0.064619f, 0.037498f, -0.040320f, 0.012710f, 0.001824f, -0.000179f, 0.017748f, 0.007214f, 0.042101f, 0.007698f, 0.011871f, -0.006085f, 0.021516f, -0.022655f, -0.014967f, 0.005226f, 0.003563f, -0.019824f, 0.007092f, -0.001767f, -0.005820f, -0.011450f, 0.004036f, -0.002257f, 0.022755f, -0.005843f, 0.002664f, 0.016337f, -0.011527f, 0.011351f, -0.007127f, 0.003984f, -0.011538f, -0.010005f, -0.011525f, -0.003012f, -0.005224f, 0.008628f, 0.006082f, -0.026737f, -0.007389f, -0.007812f, 0.018537f, -0.011034f, 0.006878f, 0.003198f, -0.029872f, 0.009910f, 0.019243f, 0.001269f, -0.007352f, 0.003223f, -0.008853f, -0.004413f, 0.098837f, -0.003598f, -0.003289f, -0.027444f, -0.026994f, 0.020346f, -0.001200f, 0.017614f, 0.000303f, -0.009659f, -0.013070f, 0.006699f, -0.018293f, 0.018542f, -0.017229f, 0.027016f, -0.021871f, 0.015743f, -0.018516f, -0.004120f, -0.003005f, -0.017221f, -0.013192f, 0.003895f, -0.007801f, -0.005438f, -0.000160f, -0.012949f, 0.001685f, -0.002572f, 0.004100f, -0.003045f, 0.007524f, -0.025961f, 0.023619f, -0.008888f, -0.007778f, 0.017923f, - -0.014414f, 0.000960f, -0.017995f, -0.015738f, 0.011428f, 0.010092f, -0.012652f, -0.008161f, 0.005062f, -0.000817f, -0.022000f, 0.005624f, 0.003843f, -0.000021f, 0.014410f, -0.005357f, -0.006221f, -0.005931f, -0.015027f, -0.004088f, 0.015727f, -0.016752f, 0.004298f, -0.008126f, -0.002076f, 0.001066f, -0.005107f, 0.003686f, 0.000080f, 0.010999f, -0.016011f, -0.001390f, 0.010320f, -0.020665f, 0.012026f, -0.009313f, 0.000129f, 0.009432f, -0.004588f, -0.009421f, 0.004252f, -0.001677f, -0.002708f, -0.000706f, -0.006731f, -0.000177f, 0.006972f, -0.000465f, -0.003288f, 0.001212f, -0.005833f, 0.004020f, 0.002936f, 0.001708f, -0.004711f, -0.001419f, 0.006041f, -0.007740f, 0.007709f, -0.003544f, 0.003350f, 0.008570f, -0.010335f, 0.002457f, 0.000690f, -0.013040f, 0.002365f, -0.004162f, 0.005362f, -0.001859f, 0.000387f, 0.007885f, -0.005213f, 0.001506f, -0.008394f, 0.001431f, 0.001204f, -0.002105f, -0.002031f, -0.001019f, -0.003031f, 0.000581f, -0.001536f, 0.000332f, 0.005804f, -0.008508f, 0.003710f, -0.046413f, -0.078364f, 0.029057f, 0.250978f, 0.062778f, 0.138384f, -0.005476f, -0.134827f, -0.043825f, - -0.132679f, -0.113395f, -0.040105f, -0.027377f, -0.009303f, 0.075112f, 0.100916f, 0.133401f, 0.168544f, 0.072702f, -0.043234f, -0.078172f, -0.165638f, -0.157481f, -0.064250f, -0.052685f, -0.035148f, 0.067909f, 0.092635f, 0.055323f, 0.085876f, 0.102994f, 0.034790f, 0.028166f, 0.019173f, -0.053538f, -0.024686f, -0.038373f, -0.083472f, -0.046133f, -0.062049f, -0.091918f, -0.050072f, 0.011259f, 0.009719f, 0.051164f, 0.124291f, 0.084982f, 0.070711f, 0.068887f, 0.021121f, 0.004980f, -0.007195f, -0.035934f, -0.051219f, -0.064793f, -0.092575f, -0.081859f, -0.045828f, -0.014461f, -0.031355f, 0.025666f, 0.047795f, 0.040600f, 0.070134f, 0.078203f, 0.050159f, 0.045432f, 0.044394f, -0.007062f, -0.021979f, -0.011099f, -0.063905f, -0.052944f, -0.013657f, -0.052406f, -0.056083f, -0.035545f, -0.050464f, -0.024570f, 0.014221f, 0.032044f, 0.058026f, 0.093135f, 0.057675f, 0.053483f, 0.059150f, 0.021822f, -0.007227f, -0.010940f, -0.032026f, -0.052816f, -0.054892f, -0.052288f, -0.057399f, -0.039914f, -0.036797f, -0.030545f, -0.012735f, 0.014172f, 0.035167f, 0.054658f, 0.082481f, 0.086922f, 0.084661f, 0.071980f, - 0.022616f, -0.018928f, -0.038864f, -0.062364f, -0.082598f, -0.093195f, -0.093138f, -0.073719f, -0.041723f, -0.010056f, 0.025282f, 0.076193f, 0.084657f, 0.084896f, 0.088821f, 0.073496f, 0.038436f, 0.012143f, -0.021185f, -0.059601f, -0.083458f, -0.073571f, -0.068976f, -0.054290f, -0.025521f, 0.002077f, 0.019953f, 0.040828f, 0.046085f, 0.045542f, 0.035997f, 0.016269f, 0.007218f, 0.002760f, -0.007138f, -0.008029f, -0.008278f, -0.010653f, -0.013359f, -0.010319f, -0.014733f, -0.009967f, -0.008525f, -0.005920f, -0.007543f, -0.002851f, -0.001730f, 0.003087f, 0.003135f, 0.007069f, 0.005689f, 0.005383f, 0.000642f, 0.001581f, -0.000869f} - }, - { - {0.005807f, 0.005797f, -0.005219f, -0.000924f, 0.008310f, 0.002729f, -0.004297f, 0.000896f, -0.004747f, -0.004229f, -0.003398f, -0.007449f, -0.002585f, 0.004541f, -0.000364f, 0.002515f, -0.001253f, -0.002112f, -0.002062f, -0.000905f, 0.006263f, -0.003956f, 0.000394f, -0.000283f, 0.000277f, 0.004969f, -0.000160f, 0.003418f, 0.010898f, 0.008495f, 0.008547f, 0.004427f, 0.001943f, -0.001379f, -0.010067f, 0.004135f, -0.003754f, 0.006460f, 0.002297f, -0.003419f, 0.003046f, -0.004497f, -0.008725f, -0.002691f, -0.003369f, -0.008268f, 0.000358f, -0.001016f, -0.001176f, -0.003873f, 0.000533f, 0.008629f, 0.003833f, 0.005865f, -0.000085f, 0.003607f, -0.003366f, -0.000243f, 0.004520f, -0.003728f, 0.003030f, -0.004622f, -0.004912f, 0.000501f, 0.010166f, 0.006693f, 0.003908f, -0.001976f, 0.001706f, 0.001090f, 0.000596f, -0.001833f, -0.003893f, -0.005965f, -0.004318f, 0.000136f, -0.003696f, -0.001851f, -0.003980f, 0.001322f, 0.000616f, 0.002064f, -0.001168f, 0.001698f, 0.002408f, 0.001974f, 0.000266f, 0.001240f, -0.000908f, -0.000994f, -0.000024f, -0.002483f, 0.002625f, 0.002149f, -0.000243f, 0.002715f, - 0.000808f, 0.000547f, -0.001218f, -0.000772f, -0.001559f, 0.000522f, 0.000886f, -0.000028f, -0.000486f, 0.000938f, -0.000593f, -0.002304f, -0.000644f, -0.001542f, -0.000085f, 0.000452f, 0.000577f, -0.002413f, 0.000440f, 0.003725f, 0.001915f, -0.006435f, 0.015197f, -0.000330f, 0.000916f, -0.001612f, -0.008029f, 0.005930f, -0.004191f, -0.004015f, -0.009357f, -0.007212f, -0.003037f, 0.005801f, 0.008344f, -0.001697f, 0.004932f, -0.001929f, 0.009051f, 0.009393f, -0.018776f, 0.003428f, 0.000080f, -0.001848f, 0.006340f, 0.009978f, -0.003093f, -0.001467f, 0.000191f, -0.000626f, -0.004781f, 0.003914f, -0.004820f, -0.003812f, -0.000402f, 0.004991f, -0.002845f, -0.010570f, -0.004706f, -0.007191f, 0.000826f, 0.000622f, -0.009386f, -0.001130f, -0.004105f, 0.001926f, -0.000295f, -0.001434f, 0.002287f, -0.003144f, 0.003163f, -0.005045f, 0.004911f, 0.007191f, 0.011060f, 0.004577f, -0.004858f, 0.003946f, 0.004630f, -0.001766f, -0.012558f, 0.000793f, 0.006512f, -0.005065f, 0.003747f, -0.007299f, -0.000101f, -0.004669f, -0.012759f, -0.003911f, -0.006682f, 0.003199f, 0.004715f, -0.004330f, 0.002010f, -0.002054f, - 0.005992f, 0.000439f, 0.003501f, 0.005004f, -0.002169f, 0.002044f, 0.000999f, 0.002090f, 0.004315f, -0.001055f, 0.001445f, 0.005382f, 0.003060f, 0.000688f, 0.003214f, 0.000535f, 0.001377f, -0.000275f, -0.000096f, -0.002995f, 0.001547f, 0.001810f, 0.002435f, 0.001626f, 0.000529f, 0.000737f, 0.000054f, 0.000878f, -0.000413f, -0.000884f, -0.000257f, 0.001934f, 0.001653f, 0.000453f, 0.001478f, 0.000291f, 0.001713f, 0.001428f, 0.012423f, 0.003422f, -0.016925f, 0.006019f, 0.008656f, 0.003183f, -0.001487f, 0.004422f, -0.010643f, 0.001511f, 0.004688f, -0.002370f, 0.004532f, -0.000717f, 0.005526f, 0.001346f, -0.007194f, 0.004512f, 0.006531f, 0.006481f, -0.001908f, 0.003098f, 0.003517f, 0.002461f, -0.019165f, 0.002689f, -0.008172f, -0.002411f, -0.002735f, 0.004470f, 0.002045f, -0.015621f, -0.005653f, -0.003501f, -0.002993f, 0.006350f, -0.005845f, -0.010933f, 0.002669f, 0.005064f, 0.003129f, -0.010879f, -0.005143f, 0.003481f, -0.010296f, -0.000833f, -0.011374f, 0.001662f, 0.005534f, -0.005820f, -0.001800f, 0.006486f, 0.008237f, -0.019288f, -0.001457f, -0.005362f, 0.005809f, 0.002386f, - 0.000930f, 0.001662f, -0.005462f, 0.004905f, 0.004215f, -0.014981f, 0.011470f, -0.001549f, 0.002797f, -0.007648f, -0.003230f, -0.006470f, -0.000841f, 0.001676f, -0.006032f, -0.008330f, 0.007351f, -0.002691f, 0.003007f, -0.000422f, -0.001543f, 0.002133f, 0.002470f, -0.003046f, -0.007738f, 0.004278f, 0.003846f, 0.000979f, 0.001762f, -0.000252f, 0.000540f, 0.001275f, -0.000103f, 0.001270f, 0.000851f, -0.000184f, 0.002917f, 0.000411f, 0.002223f, 0.002685f, 0.000108f, 0.003790f, -0.000150f, 0.000731f, 0.000977f, 0.001691f, 0.001320f, 0.001879f, -0.002893f, 0.001278f, -0.001342f, 0.000560f, 0.001212f, 0.000909f, 0.002186f, -0.000785f, -0.000726f, -0.008125f, -0.007624f, -0.006341f, -0.004018f, 0.012630f, -0.004412f, 0.001716f, -0.010262f, 0.010877f, 0.000731f, -0.007385f, -0.001940f, 0.006298f, -0.013141f, 0.004453f, -0.003876f, 0.002954f, 0.002125f, -0.006026f, -0.004268f, -0.015642f, -0.004205f, -0.017616f, 0.002283f, 0.003960f, -0.001886f, -0.002403f, -0.001606f, 0.002650f, -0.006888f, -0.012560f, -0.005830f, -0.004626f, -0.001935f, 0.004600f, -0.002889f, 0.007464f, 0.003322f, 0.005718f, - -0.007777f, -0.000448f, -0.000383f, -0.006516f, 0.001809f, 0.005117f, -0.000507f, -0.003255f, -0.007624f, -0.007064f, 0.004752f, 0.007094f, -0.000229f, 0.014057f, 0.011159f, -0.010088f, -0.002564f, 0.000015f, -0.010633f, -0.012178f, 0.018389f, -0.000312f, 0.000506f, 0.005755f, -0.011685f, -0.003857f, -0.007570f, 0.018146f, 0.004907f, 0.000930f, -0.014459f, -0.011495f, 0.001544f, -0.004745f, 0.009384f, -0.004828f, -0.000103f, 0.002560f, -0.005675f, 0.002046f, 0.005664f, -0.008521f, 0.000094f, -0.013580f, 0.001481f, 0.005094f, -0.003919f, 0.001969f, 0.001630f, 0.006640f, -0.000954f, 0.001056f, -0.001314f, -0.000270f, 0.002880f, 0.002947f, 0.002765f, -0.002061f, 0.000884f, -0.000145f, 0.001241f, 0.000080f, 0.001216f, -0.001993f, 0.004282f, 0.000026f, 0.001228f, 0.000637f, 0.001352f, 0.000995f, 0.001237f, -0.001153f, -0.001111f, -0.000978f, 0.000944f, 0.002863f, 0.003385f, 0.000591f, 0.001535f, -0.002802f, -0.021213f, 0.010620f, 0.006019f, 0.010829f, -0.005806f, 0.005938f, 0.006211f, 0.011129f, 0.002642f, -0.021173f, 0.005297f, 0.000919f, 0.008426f, 0.015379f, 0.000816f, 0.006683f, - 0.005857f, -0.012677f, 0.004463f, 0.001181f, 0.001764f, -0.003441f, -0.001755f, 0.007877f, 0.005224f, 0.000326f, -0.007752f, -0.000088f, -0.003695f, -0.004011f, 0.012696f, 0.005868f, -0.000525f, -0.001694f, -0.015326f, -0.013148f, -0.015056f, 0.004013f, 0.004079f, -0.015609f, 0.001116f, 0.001062f, -0.015465f, 0.000977f, 0.002397f, -0.002065f, 0.017791f, -0.002189f, -0.008733f, -0.002196f, 0.010220f, -0.000842f, -0.015836f, 0.017218f, 0.008926f, -0.010951f, 0.008385f, 0.001671f, 0.001616f, -0.000283f, 0.000972f, -0.004253f, -0.007950f, -0.007528f, 0.013767f, -0.000913f, -0.004013f, -0.000639f, 0.009903f, -0.009168f, -0.016190f, 0.000581f, 0.003694f, 0.003038f, -0.014151f, -0.007331f, 0.005456f, -0.001273f, 0.007919f, 0.003017f, -0.002509f, -0.002366f, -0.002158f, -0.001125f, 0.000280f, 0.012578f, 0.007334f, 0.004548f, 0.004029f, 0.004862f, 0.007328f, -0.003499f, -0.001166f, -0.003967f, -0.001205f, 0.001394f, 0.000365f, -0.002196f, -0.003540f, 0.003697f, 0.000567f, 0.001667f, -0.000058f, -0.002262f, 0.000811f, 0.001953f, -0.004473f, -0.000761f, 0.003584f, 0.000774f, 0.000213f, -0.001645f, - -0.000492f, -0.001070f, -0.001942f, 0.000479f, 0.001817f, 0.001449f, -0.001310f, 0.001478f, 0.000128f, 0.006352f, 0.024526f, 0.007254f, 0.019677f, -0.021645f, 0.000863f, -0.010707f, 0.000377f, 0.007133f, 0.008303f, -0.011142f, 0.004882f, -0.006472f, -0.005660f, -0.007758f, -0.012518f, -0.001883f, -0.029527f, -0.000323f, 0.009792f, -0.001345f, -0.001982f, 0.003209f, -0.015478f, 0.005417f, -0.014760f, -0.004710f, 0.015260f, 0.003045f, 0.005286f, 0.000321f, 0.004511f, 0.012949f, 0.011780f, 0.022591f, 0.011784f, -0.017155f, -0.001399f, 0.019026f, -0.002642f, -0.013992f, -0.002094f, 0.001730f, -0.006348f, 0.012736f, 0.009495f, -0.011013f, -0.003178f, 0.012213f, 0.013068f, -0.004681f, -0.008260f, 0.020634f, -0.008490f, -0.027901f, -0.018801f, 0.006105f, -0.028001f, -0.000594f, -0.008362f, 0.000103f, -0.002573f, -0.007869f, 0.010529f, 0.002969f, -0.002713f, -0.009195f, 0.008047f, -0.005522f, 0.014893f, 0.010123f, -0.004031f, -0.009886f, 0.002147f, 0.003855f, 0.001414f, 0.000526f, 0.003545f, -0.002083f, -0.010896f, -0.003196f, 0.015246f, -0.001791f, -0.006156f, -0.001675f, -0.003164f, -0.007893f, - -0.007607f, -0.004265f, -0.003638f, 0.000875f, -0.000038f, 0.007594f, -0.000632f, -0.002776f, 0.001103f, 0.002699f, -0.001798f, 0.001565f, -0.002589f, 0.005155f, -0.000133f, 0.003156f, 0.000509f, -0.005011f, -0.000472f, -0.000567f, -0.005203f, -0.001439f, -0.003153f, 0.002360f, 0.000189f, -0.000832f, 0.001833f, 0.000783f, -0.000491f, 0.000910f, -0.005823f, 0.001249f, 0.001705f, -0.023892f, 0.011341f, -0.002103f, 0.006075f, 0.007924f, 0.012958f, 0.002904f, -0.011310f, 0.015436f, -0.005696f, 0.006874f, -0.006851f, 0.005729f, -0.000995f, -0.028066f, -0.005760f, -0.004797f, -0.003248f, 0.001928f, -0.006685f, -0.004629f, 0.003810f, 0.006167f, 0.002184f, 0.015171f, 0.007056f, -0.014652f, -0.001020f, 0.000039f, -0.008194f, 0.017453f, -0.010371f, -0.010078f, 0.018432f, 0.019355f, -0.002340f, -0.000219f, -0.011977f, 0.004352f, 0.002686f, -0.006273f, 0.003280f, 0.011991f, 0.007470f, 0.014418f, -0.003515f, -0.011308f, 0.007109f, 0.001690f, 0.003532f, -0.013480f, -0.006918f, -0.007917f, 0.003250f, 0.007727f, 0.002897f, 0.002073f, 0.013917f, 0.016602f, 0.002548f, -0.007881f, 0.009517f, 0.007744f, - -0.011628f, 0.001640f, 0.002100f, -0.001332f, 0.001437f, -0.000261f, 0.009979f, -0.001077f, -0.007669f, 0.003952f, 0.013132f, 0.005812f, 0.007739f, 0.016190f, -0.010966f, 0.001977f, -0.003686f, 0.015364f, 0.008866f, 0.016455f, -0.007851f, -0.002100f, 0.002804f, -0.005841f, 0.000924f, 0.001625f, -0.001798f, 0.000020f, 0.003880f, 0.004408f, -0.001583f, 0.002412f, 0.001777f, 0.005715f, 0.005103f, -0.000669f, -0.000358f, -0.002560f, 0.000798f, -0.002578f, 0.001431f, -0.004545f, 0.004581f, -0.000066f, -0.001679f, -0.000059f, -0.000312f, 0.000191f, -0.001536f, -0.003535f, 0.005091f, -0.000616f, 0.000903f, -0.005597f, -0.004531f, -0.001227f, 0.004895f, -0.000498f, -0.000442f, 0.000486f, -0.000483f, 0.010008f, -0.020765f, -0.012369f, 0.008211f, -0.004814f, -0.019398f, 0.009890f, -0.010166f, -0.008807f, 0.012458f, -0.003749f, -0.004170f, -0.003058f, 0.003188f, 0.009294f, 0.004770f, 0.005020f, 0.005084f, -0.007662f, -0.004642f, -0.001562f, 0.011221f, 0.005841f, -0.019822f, 0.006346f, 0.006137f, -0.008254f, 0.018583f, 0.017127f, 0.009159f, 0.000708f, -0.006795f, -0.004334f, 0.000968f, -0.005758f, - -0.006993f, -0.011416f, 0.001634f, -0.013040f, 0.009470f, 0.003702f, 0.000085f, 0.002123f, 0.004983f, 0.004390f, 0.010140f, 0.015925f, -0.006048f, -0.025092f, -0.004416f, -0.017070f, 0.005871f, 0.002429f, -0.022798f, 0.008319f, -0.009590f, 0.028651f, 0.009457f, -0.017947f, -0.000651f, 0.018253f, 0.009450f, -0.014847f, -0.008915f, 0.019095f, 0.010894f, -0.013146f, 0.016220f, -0.013493f, -0.017921f, 0.002837f, -0.027117f, 0.016416f, 0.017547f, -0.003961f, -0.016338f, -0.002850f, 0.006370f, 0.003390f, 0.002693f, 0.001720f, 0.012563f, -0.017629f, 0.005662f, 0.019804f, 0.000292f, 0.000763f, -0.017415f, 0.008731f, 0.004815f, -0.015957f, -0.004044f, -0.008013f, -0.003879f, 0.000720f, 0.004976f, 0.004106f, 0.000525f, -0.004739f, 0.000447f, -0.005083f, 0.002098f, 0.003173f, -0.000706f, -0.002410f, -0.001776f, 0.003255f, 0.000955f, -0.000919f, -0.002757f, -0.005069f, -0.000641f, -0.004946f, 0.010013f, -0.009336f, -0.000081f, -0.000900f, 0.003803f, 0.002705f, -0.005494f, 0.001760f, -0.001744f, 0.008665f, -0.001138f, 0.002526f, 0.000189f, -0.004815f, -0.000552f, 0.005492f, -0.000059f, -0.016245f, - -0.011999f, 0.000384f, -0.019506f, 0.000058f, -0.045863f, -0.014436f, -0.005273f, -0.025062f, -0.008777f, -0.005249f, -0.010989f, -0.008495f, 0.005982f, -0.012081f, -0.022935f, 0.006107f, 0.014394f, -0.023428f, -0.006476f, 0.007219f, 0.011761f, 0.020208f, 0.012903f, 0.011903f, 0.013060f, 0.004720f, 0.023146f, -0.013775f, -0.005894f, 0.004899f, -0.011452f, 0.004356f, 0.006561f, 0.012114f, 0.001594f, 0.019810f, 0.004164f, 0.004882f, 0.013681f, -0.006048f, -0.011729f, 0.000207f, -0.017982f, -0.011504f, -0.020756f, -0.000874f, -0.000954f, -0.027294f, 0.009841f, -0.012369f, 0.005586f, -0.025781f, 0.003086f, -0.019513f, 0.029106f, 0.001455f, -0.025943f, 0.031124f, 0.038135f, 0.010698f, -0.012783f, -0.009482f, 0.009895f, -0.003333f, -0.001260f, 0.011254f, -0.018213f, 0.011851f, -0.018811f, 0.009944f, -0.007502f, -0.010615f, 0.004480f, 0.009986f, -0.005442f, -0.000599f, 0.011734f, 0.003056f, -0.005804f, 0.006585f, -0.002913f, -0.010788f, 0.001402f, 0.010028f, -0.001947f, -0.004001f, 0.003980f, 0.002896f, 0.008175f, 0.001611f, 0.000263f, 0.003500f, -0.002767f, 0.005681f, 0.001424f, 0.004699f, - 0.001616f, 0.003726f, 0.003017f, 0.003033f, 0.002443f, -0.003540f, 0.003921f, -0.004751f, -0.004401f, 0.000392f, 0.002563f, 0.000813f, 0.001270f, 0.002797f, 0.001846f, 0.000182f, -0.001557f, -0.003585f, 0.000013f, -0.003768f, 0.009921f, -0.004982f, 0.008937f, 0.013486f, 0.001986f, 0.012446f, -0.007038f, 0.019455f, -0.015129f, -0.014092f, -0.037074f, -0.008243f, -0.019225f, -0.045235f, 0.011346f, -0.026088f, -0.015842f, -0.021037f, 0.005770f, -0.040754f, 0.010894f, 0.003304f, -0.007829f, -0.000932f, -0.011723f, -0.004167f, 0.009763f, -0.013913f, -0.009903f, 0.000503f, 0.007440f, -0.012177f, -0.000949f, 0.013894f, -0.022363f, -0.005213f, 0.013039f, -0.012452f, -0.000766f, 0.000073f, -0.003543f, 0.018851f, -0.016531f, 0.011177f, -0.007524f, 0.015325f, 0.016209f, -0.016546f, -0.022042f, 0.020574f, -0.002234f, 0.004446f, 0.005386f, 0.001808f, -0.004734f, 0.011566f, -0.006297f, -0.025533f, 0.006647f, 0.005145f, -0.022082f, -0.002514f, -0.007905f, 0.013224f, 0.016154f, 0.007952f, 0.002724f, -0.006403f, -0.015687f, 0.016006f, 0.009928f, 0.014311f, -0.000985f, -0.022659f, -0.005285f, -0.003458f, - -0.009866f, -0.005622f, -0.002632f, 0.006486f, 0.010081f, -0.008781f, -0.007415f, -0.022514f, -0.010657f, 0.004290f, 0.009283f, 0.002459f, -0.001891f, 0.010246f, 0.009718f, 0.005760f, 0.011930f, -0.003705f, 0.009362f, 0.004193f, 0.006413f, 0.001033f, 0.000108f, -0.006240f, -0.004701f, -0.001180f, 0.003043f, -0.001518f, -0.005232f, -0.006651f, -0.000172f, -0.001132f, 0.001438f, -0.004538f, 0.001116f, -0.005403f, 0.001742f, 0.008916f, 0.002093f, -0.005179f, -0.005205f, 0.011360f, 0.006569f, -0.001455f, -0.000609f, -0.014471f, -0.001549f, -0.000213f, -0.012128f, 0.000269f, -0.004864f, -0.003831f, 0.003000f, 0.003757f, 0.001017f, -0.001446f, -0.011147f, 0.055062f, 0.031795f, 0.002119f, -0.017479f, -0.041694f, -0.005084f, 0.019387f, -0.009131f, -0.016845f, -0.031262f, -0.001827f, -0.006748f, 0.001010f, -0.010726f, 0.010026f, -0.000177f, 0.027217f, 0.010789f, -0.011470f, -0.000812f, -0.004950f, 0.002060f, -0.005707f, 0.005635f, 0.016842f, -0.019826f, 0.003762f, -0.011951f, 0.007803f, -0.008516f, -0.014524f, -0.028249f, -0.002355f, 0.016155f, 0.005345f, -0.003538f, 0.005890f, -0.002104f, 0.015344f, - 0.024381f, -0.008585f, -0.005569f, -0.028330f, -0.030643f, 0.008395f, 0.004536f, -0.013030f, -0.011212f, -0.025519f, -0.017498f, 0.010004f, -0.003309f, -0.000029f, 0.001287f, -0.002047f, 0.011619f, 0.006575f, -0.020954f, 0.000800f, -0.019097f, -0.001738f, -0.010305f, -0.006006f, 0.020266f, 0.041716f, 0.068841f, 0.002517f, 0.022141f, -0.020851f, -0.026464f, -0.037257f, -0.001964f, -0.000205f, 0.007534f, 0.007801f, -0.005088f, -0.047076f, 0.019507f, -0.008067f, -0.006490f, 0.002880f, -0.012325f, 0.001341f, -0.006702f, -0.019225f, 0.000240f, -0.007741f, 0.000181f, 0.001834f, 0.000734f, 0.013519f, 0.001975f, 0.001474f, -0.000731f, 0.000487f, -0.000568f, 0.005763f, 0.012820f, 0.003716f, -0.000452f, 0.002667f, 0.011625f, 0.000244f, 0.000150f, 0.004301f, -0.003845f, 0.001371f, -0.010621f, 0.003563f, 0.005567f, -0.010059f, 0.010222f, 0.000546f, 0.000896f, -0.003027f, -0.011105f, -0.003650f, 0.004990f, -0.000016f, -0.001117f, -0.002842f, 0.000400f, 0.020157f, 0.033546f, -0.016580f, 0.000042f, 0.006474f, -0.027399f, 0.000276f, -0.017698f, -0.017108f, 0.025769f, -0.007569f, -0.006497f, -0.013841f, - 0.029596f, 0.026050f, -0.000031f, 0.042784f, 0.004787f, 0.013376f, 0.009387f, -0.011902f, -0.013992f, -0.022240f, -0.011750f, 0.005233f, 0.000180f, 0.019183f, 0.001463f, -0.002073f, -0.003521f, 0.013560f, -0.019604f, -0.047814f, -0.016801f, 0.014124f, 0.004391f, -0.003913f, -0.014285f, 0.000866f, -0.023047f, -0.003442f, -0.021001f, -0.001434f, -0.002662f, -0.014758f, 0.014123f, 0.007049f, 0.026859f, -0.022203f, 0.041628f, 0.011200f, -0.008146f, -0.014733f, -0.007613f, 0.006578f, 0.023995f, -0.007384f, 0.013711f, -0.021225f, 0.017120f, -0.019274f, -0.021749f, 0.021416f, -0.031087f, 0.020359f, 0.017050f, 0.033035f, -0.033670f, 0.025566f, -0.003236f, 0.022793f, 0.008850f, -0.035326f, -0.006231f, -0.008293f, 0.009805f, -0.018741f, 0.055582f, -0.002729f, -0.019692f, 0.007899f, 0.025659f, 0.017472f, 0.011990f, 0.013284f, -0.001810f, 0.006332f, -0.002332f, -0.007367f, -0.004750f, 0.001967f, -0.000305f, -0.007308f, 0.002041f, -0.002143f, -0.011345f, -0.002339f, -0.004372f, 0.004753f, 0.005888f, 0.003248f, -0.001623f, 0.010990f, -0.001850f, 0.006086f, 0.002364f, 0.007779f, 0.002852f, -0.003918f, - -0.004960f, 0.001341f, -0.000657f, 0.005367f, -0.002247f, 0.000523f, 0.004472f, -0.002744f, 0.007713f, -0.003673f, -0.004381f, 0.002187f, -0.003307f, 0.008149f, 0.002861f, -0.002372f, 0.002396f, -0.023260f, -0.031201f, -0.063899f, -0.019626f, -0.037524f, 0.010446f, -0.001715f, -0.012797f, -0.018589f, -0.017706f, -0.015997f, -0.017345f, -0.016985f, 0.001758f, -0.013851f, -0.002517f, -0.030094f, -0.046179f, 0.056521f, -0.017651f, 0.030615f, -0.005890f, 0.007885f, 0.009726f, 0.016489f, 0.010855f, -0.002916f, -0.000969f, -0.024447f, -0.005566f, -0.005846f, -0.016464f, -0.025642f, 0.009950f, -0.002932f, 0.036139f, -0.025106f, 0.000610f, 0.050015f, -0.012124f, -0.041653f, -0.013480f, 0.001595f, -0.018918f, 0.029235f, 0.013398f, -0.016150f, 0.011817f, 0.015673f, -0.009771f, -0.000390f, 0.007839f, 0.019514f, -0.000805f, -0.019366f, -0.019067f, 0.023364f, 0.016681f, -0.012399f, -0.026800f, 0.016966f, 0.019645f, -0.017698f, -0.024129f, 0.016758f, -0.030578f, 0.058247f, 0.012455f, -0.004864f, 0.002282f, 0.014171f, 0.003120f, -0.010376f, 0.000842f, 0.004086f, 0.020846f, -0.013857f, 0.004087f, -0.041570f, - -0.037451f, -0.004292f, 0.002115f, -0.004195f, -0.018240f, 0.013070f, 0.030715f, -0.000988f, 0.007780f, -0.003026f, 0.006465f, 0.009190f, 0.010996f, -0.012058f, 0.013244f, -0.006320f, -0.003690f, 0.008719f, 0.016329f, -0.005007f, -0.016667f, 0.004563f, -0.001669f, 0.002607f, -0.001652f, -0.009018f, -0.002614f, -0.009320f, -0.005832f, -0.011469f, 0.011484f, 0.011753f, -0.007309f, -0.000185f, 0.014162f, 0.004371f, -0.006235f, 0.002823f, 0.017776f, 0.011622f, 0.012769f, 0.012858f, 0.011349f, 0.004094f, 0.016270f, 0.008490f, 0.006672f, 0.005911f, 0.015394f, -0.024052f, 0.000052f, 0.008893f, 0.006840f, -0.015763f, 0.037980f, 0.026779f, 0.054671f, 0.030193f, 0.020359f, 0.007911f, -0.047815f, -0.003949f, 0.006521f, -0.028196f, -0.007500f, 0.054056f, 0.004158f, -0.031387f, -0.030918f, 0.027981f, -0.042606f, -0.011103f, 0.001881f, 0.011363f, 0.004905f, -0.008186f, 0.013846f, -0.019306f, -0.000025f, -0.003964f, -0.012115f, -0.002747f, -0.008432f, -0.027910f, 0.014669f, -0.024207f, 0.014150f, 0.012512f, 0.016469f, 0.002882f, 0.010916f, -0.010196f, 0.044992f, 0.005915f, -0.047778f, -0.042141f, - 0.003856f, 0.018714f, 0.036569f, -0.012209f, -0.028702f, -0.012879f, -0.003803f, 0.003958f, 0.021474f, 0.004496f, -0.016943f, 0.049297f, -0.060666f, -0.010295f, 0.011483f, -0.042407f, -0.021863f, -0.011315f, 0.006234f, -0.068600f, -0.032389f, 0.048745f, -0.018571f, 0.014067f, -0.015928f, -0.055456f, -0.020913f, 0.026340f, -0.008173f, 0.010104f, 0.016894f, 0.034657f, -0.016671f, 0.003579f, -0.010473f, 0.021588f, 0.009870f, 0.009130f, 0.001343f, -0.001163f, 0.000511f, 0.018749f, 0.009703f, 0.010961f, -0.003034f, -0.000744f, 0.006963f, -0.013096f, -0.011799f, 0.004757f, 0.021948f, 0.010012f, 0.008455f, -0.021878f, 0.012554f, 0.039949f, -0.000331f, -0.000803f, -0.015612f, 0.010545f, 0.001644f, -0.009764f, -0.012720f, 0.001295f, 0.011771f, 0.013591f, 0.009942f, -0.012895f, 0.008193f, -0.008801f, 0.009317f, -0.016519f, -0.009074f, -0.003709f, -0.008701f, -0.010935f, -0.003435f, -0.026661f, -0.025118f, 0.003577f, -0.002062f, -0.004636f, 0.008573f, -0.000850f, -0.002708f, -0.000328f, 0.008479f, 0.028358f, -0.012507f, -0.087647f, -0.023466f, 0.005507f, 0.023962f, 0.024669f, 0.021179f, 0.022593f, - 0.038996f, 0.071988f, -0.041622f, 0.030460f, -0.011067f, -0.000776f, -0.011216f, -0.058168f, -0.044556f, -0.007845f, -0.003348f, 0.013090f, 0.022314f, 0.030590f, -0.010160f, -0.000520f, -0.016187f, 0.000600f, -0.003460f, 0.000168f, 0.030369f, 0.017074f, 0.009681f, 0.024335f, 0.027595f, -0.049133f, 0.023909f, -0.028369f, -0.037246f, -0.010375f, 0.022940f, 0.007232f, -0.025373f, 0.008591f, 0.002327f, 0.018100f, -0.002353f, -0.047760f, -0.035189f, -0.039540f, -0.040442f, 0.005619f, 0.032276f, -0.005771f, 0.118692f, -0.077652f, -0.059485f, 0.036319f, -0.011175f, -0.023576f, -0.008724f, -0.006181f, 0.000652f, -0.072753f, 0.007059f, -0.005043f, 0.009394f, 0.056196f, -0.004557f, 0.019839f, 0.020951f, 0.026936f, 0.091195f, -0.033836f, 0.115487f, 0.032563f, -0.003799f, 0.015537f, 0.006024f, -0.047464f, -0.042927f, -0.000525f, -0.011017f, 0.006200f, 0.017301f, 0.014506f, -0.008917f, -0.040673f, -0.034376f, 0.013732f, -0.023411f, 0.015049f, 0.015515f, 0.036477f, 0.034489f, 0.032488f, 0.005581f, 0.011503f, -0.001183f, -0.001320f, 0.023058f, -0.003652f, -0.002802f, 0.007891f, -0.035113f, -0.007895f, - 0.013795f, 0.000274f, -0.004211f, 0.022223f, 0.007560f, -0.031720f, 0.021348f, -0.017600f, -0.025746f, -0.013632f, -0.008498f, 0.006534f, 0.009647f, 0.011230f, -0.014110f, 0.016090f, 0.005869f, 0.010481f, 0.003651f, 0.013699f, -0.006296f, 0.008434f, -0.021522f, -0.003951f, -0.052482f, 0.019124f, 0.083798f, 0.002460f, 0.087448f, 0.046268f, -0.005458f, -0.033781f, 0.098631f, 0.014876f, -0.016819f, 0.012826f, -0.022707f, -0.006589f, -0.003603f, -0.006033f, 0.012239f, 0.027611f, 0.018958f, 0.003673f, 0.012415f, -0.019808f, -0.019462f, 0.006021f, -0.006145f, 0.032505f, 0.034920f, 0.022443f, -0.009376f, 0.002241f, -0.043160f, -0.026862f, -0.008302f, -0.029383f, -0.046683f, -0.027577f, 0.021694f, -0.026901f, -0.082086f, -0.037779f, 0.024554f, -0.033009f, -0.023710f, 0.001169f, -0.006440f, 0.038437f, 0.056074f, 0.074270f, -0.039794f, 0.021115f, -0.001034f, 0.002438f, -0.016466f, -0.049126f, -0.098524f, -0.064547f, 0.033521f, -0.065407f, -0.034817f, 0.017842f, 0.032710f, -0.024229f, 0.036947f, 0.107489f, 0.022095f, 0.020827f, -0.081794f, -0.108958f, -0.024145f, -0.033923f, -0.058690f, -0.016603f, - -0.049127f, 0.034667f, 0.019175f, 0.097435f, 0.039608f, -0.011295f, -0.020278f, -0.033859f, 0.022470f, 0.044268f, 0.087698f, 0.061730f, -0.043071f, -0.089206f, -0.044147f, -0.028477f, -0.053377f, -0.009874f, 0.044383f, 0.021538f, 0.055031f, 0.002350f, 0.038941f, 0.015717f, -0.013502f, -0.016714f, -0.019756f, 0.010696f, 0.023528f, 0.005953f, 0.030793f, 0.039159f, 0.023043f, 0.027893f, 0.012197f, 0.042287f, 0.036551f, 0.001437f, -0.001503f, 0.018473f, 0.041324f, -0.004250f, -0.011999f, -0.006436f, 0.035117f, 0.010885f, 0.000936f, -0.010815f, 0.021647f, 0.017067f, -0.006310f, 0.014133f, 0.016944f, 0.008639f, -0.004723f, 0.003740f, 0.011867f, 0.001398f, -0.021354f, 0.044901f, 0.089044f, -0.047530f, 0.067413f, 0.054111f, -0.009119f, -0.014091f, -0.030710f, 0.009006f, 0.060069f, 0.044571f, 0.070508f, -0.031127f, -0.014426f, -0.014775f, -0.004833f, -0.019391f, 0.018101f, -0.023746f, 0.051597f, 0.021769f, -0.086029f, -0.037297f, 0.000231f, 0.012479f, 0.036426f, -0.018031f, -0.032866f, 0.009218f, 0.009583f, -0.014142f, -0.016487f, 0.009212f, -0.024823f, -0.037668f, -0.017413f, 0.080207f, - 0.032886f, 0.013246f, -0.041401f, -0.013634f, -0.035204f, 0.019878f, 0.038608f, 0.012750f, 0.002107f, 0.022691f, -0.014190f, 0.051039f, 0.028734f, 0.002656f, 0.016613f, -0.002284f, 0.101468f, 0.020669f, -0.043864f, 0.016201f, 0.017167f, 0.009772f, 0.022634f, 0.000968f, -0.041870f, 0.048752f, 0.010395f, 0.008060f, 0.018847f, 0.008585f, -0.000486f, -0.030810f, 0.034721f, 0.039668f, 0.020304f, 0.114519f, 0.081284f, -0.044430f, -0.089050f, -0.062401f, -0.006472f, 0.007395f, -0.009427f, -0.075722f, -0.037758f, -0.027054f, -0.031380f, -0.031226f, 0.027700f, 0.021674f, -0.008239f, 0.004410f, -0.007063f, -0.042511f, 0.011899f, -0.008033f, -0.002591f, -0.043541f, -0.041916f, -0.007712f, 0.017435f, 0.020481f, 0.002333f, 0.021857f, 0.009228f, 0.027632f, 0.003837f, 0.005391f, -0.047440f, -0.028242f, 0.019958f, 0.005349f, -0.013239f, 0.024659f, 0.010384f, 0.004309f, -0.022858f, 0.021905f, 0.030116f, 0.021181f, 0.021849f, 0.027649f, -0.006184f, 0.030654f, 0.061455f, 0.048470f, 0.010928f, 0.006715f, -0.007876f, -0.010720f, -0.031605f, -0.039951f, 0.010509f, -0.004392f, -0.016650f, -0.104061f, - -0.013662f, 0.025814f, 0.029099f, -0.023974f, 0.036382f, 0.011077f, -0.015045f, -0.039213f, 0.008352f, -0.009846f, -0.058220f, -0.018909f, -0.020900f, 0.003758f, -0.080079f, -0.062928f, -0.011025f, 0.038602f, -0.005673f, -0.012709f, -0.048638f, 0.000300f, 0.040868f, 0.001273f, -0.029098f, -0.017239f, -0.006635f, -0.016939f, 0.009784f, 0.012966f, -0.041317f, -0.046295f, 0.006601f, -0.002349f, 0.009295f, 0.074325f, -0.046462f, -0.005565f, -0.003439f, -0.074014f, -0.022631f, -0.054379f, -0.008974f, -0.005320f, 0.051232f, 0.057578f, 0.070886f, 0.019670f, 0.011487f, -0.027960f, -0.063222f, 0.001710f, 0.024768f, -0.022531f, 0.087141f, 0.204501f, 0.196513f, 0.027967f, -0.126916f, -0.116692f, -0.046175f, -0.073687f, 0.241166f, 0.148831f, 0.093239f, 0.121386f, -0.002750f, -0.065621f, -0.173162f, -0.111279f, -0.043603f, -0.010058f, 0.068619f, 0.139659f, 0.124273f, -0.015696f, -0.104286f, -0.063477f, -0.094540f, -0.074473f, 0.012173f, 0.100915f, 0.147433f, 0.056669f, -0.008996f, 0.007481f, -0.057886f, -0.068152f, -0.067944f, 0.022593f, 0.009446f, 0.016685f, 0.058560f, 0.031051f, -0.007106f, -0.038961f, - -0.034178f, -0.022591f, -0.053420f, -0.011170f, 0.022007f, -0.020215f, 0.000230f, -0.007875f, 0.035159f, 0.026644f, -0.049802f, -0.030938f, -0.099460f, -0.079746f, -0.071464f, 0.044314f, 0.078323f, 0.029622f, 0.019374f, -0.029496f, -0.052177f, -0.154784f, -0.115266f, -0.069081f, 0.011973f, 0.042173f, 0.026180f, 0.005758f, -0.057916f, -0.047946f, -0.090946f, -0.149369f, -0.059793f, 0.016702f, 0.042263f, 0.075564f, 0.034005f, -0.000630f, -0.043149f, -0.016018f, -0.029062f, 0.053703f, -0.052531f, 0.060576f, 0.012454f, 0.006053f, -0.096439f, -0.032152f, 0.086181f, -0.057866f, 0.024413f, -0.000597f, -0.018434f, 0.025664f, 0.010689f, 0.044888f, 0.072895f, -0.042865f, -0.055531f, 0.014158f, -0.033445f, 0.044492f, -0.058053f, -0.031633f, -0.036360f, 0.003763f, -0.009148f, -0.034803f, 0.016448f, 0.068032f, -0.052888f, -0.060160f, -0.043072f, -0.014386f, -0.011966f, 0.091546f, 0.006542f, -0.003267f, -0.089735f, -0.023882f, 0.009401f, 0.076838f, 0.034475f, -0.014203f, -0.129771f, -0.093974f, 0.089503f, 0.096238f, 0.094306f, -0.043216f, -0.217083f, -0.043222f, 0.098473f, 0.081365f, 0.013020f, -0.025399f, - 0.014364f, -0.088107f, -0.051932f, 0.029624f, -0.025434f, 0.026814f, -0.015683f, 0.003572f, 0.092635f, -0.068578f, -0.035695f, 0.076474f, 0.060584f, 0.115394f, 0.049283f, -0.154025f, 0.048558f, 0.166432f, 0.036112f, 0.084296f, 0.021568f, -0.046679f, -0.001055f, 0.105934f, 0.073123f, 0.140680f, -0.184454f, 0.025344f, -0.000881f, -0.020869f, 0.073588f, 0.001003f, -0.095703f, 0.008220f, -0.003844f, -0.020060f, 0.014547f, -0.000770f, -0.058399f, 0.051035f, -0.023895f, -0.001848f, 0.003012f, -0.014382f, 0.002981f, 0.007256f, -0.015894f, -0.021862f, -0.031606f, -0.047543f, 0.046677f, -0.002878f, 0.017479f, 0.038774f, -0.044440f, 0.020760f, -0.001169f, -0.082362f, 0.000864f, 0.024619f, 0.088666f, -0.024119f, -0.121841f, -0.015387f, 0.059086f, 0.014663f, 0.052346f, -0.041544f, -0.033370f, -0.045696f, 0.021381f, -0.009078f, 0.032433f, -0.048357f, 0.024421f, 0.010596f, 0.015217f, -0.053754f, 0.006538f, 0.009675f, 0.038265f, -0.016345f, 0.009191f, -0.033477f, 0.013202f, -0.020714f, 0.033285f, -0.007579f, 0.027064f, -0.009956f, 0.012317f, -0.108557f, 0.012267f, 0.019414f, 0.010347f, 0.107031f, - 0.018028f, -0.008034f, -0.068334f, -0.011683f, -0.006727f, -0.016012f, -0.000687f, -0.012935f, 0.027378f, 0.012778f, -0.020151f, -0.003453f, 0.042494f, 0.000131f, -0.002401f, 0.004514f, -0.010650f, -0.018244f, 0.023840f, 0.021086f, 0.015994f, -0.026576f, 0.013957f, 0.039761f, 0.015581f, -0.002286f, 0.025635f, -0.004672f, -0.030448f, 0.008046f, 0.007699f, -0.024518f, -0.026660f, 0.026541f, 0.025832f, -0.025520f, 0.016336f, 0.015786f, -0.000242f, -0.009298f, 0.000173f, 0.020177f, -0.001132f, -0.022544f, 0.011714f, 0.013745f, -0.041884f, 0.010702f, 0.030941f, 0.010122f, -0.027238f, 0.004235f, 0.019197f, -0.035273f, 0.009563f, 0.016520f, 0.006960f, -0.009180f, -0.033643f, 0.039574f, -0.042862f, -0.003792f, 0.041213f, 0.000662f, -0.007128f, 0.000900f, -0.038768f, 0.017142f, -0.000589f, 0.022125f, 0.040983f, -0.018565f, -0.002970f, -0.023709f, 0.031340f, -0.006583f, -0.003524f, 0.032139f, -0.042004f, -0.018475f, 0.023290f, 0.019007f, 0.008327f, -0.034152f, 0.011782f, -0.007517f, -0.002166f, 0.016356f, 0.012424f, 0.002329f, -0.008712f, -0.004387f, 0.001564f, 0.009247f, -0.029824f, 0.021697f, - 0.004410f, -0.004159f, 0.008392f, -0.003924f, 0.018833f, -0.028052f, -0.005101f, 0.000561f, 0.001629f, 0.002780f, 0.012955f, 0.008572f, -0.047634f, 0.025161f, -0.005106f, -0.005554f, -0.002001f, 0.009671f, 0.013001f, -0.011818f, -0.004782f, 0.022135f, -0.018971f, -0.002451f, -0.014517f, 0.010516f, 0.100308f, 0.008798f, -0.012242f, -0.033545f, -0.022295f, 0.011752f, -0.014950f, 0.012936f, -0.019954f, -0.001589f, 0.015893f, -0.008992f, 0.007472f, 0.007319f, -0.027809f, 0.007678f, -0.009110f, -0.006059f, -0.022920f, 0.006463f, -0.006494f, -0.014459f, -0.006743f, 0.011070f, -0.010007f, -0.009911f, 0.014137f, -0.015714f, 0.007947f, 0.013440f, -0.027865f, 0.027457f, -0.006959f, -0.032783f, 0.017388f, 0.017293f, -0.015290f, 0.005306f, 0.009914f, -0.013854f, -0.012406f, 0.000074f, 0.001845f, 0.008918f, -0.004511f, -0.001698f, -0.013793f, 0.012636f, -0.010806f, -0.003506f, 0.015869f, -0.019187f, 0.005527f, -0.003497f, 0.000049f, -0.009047f, -0.012370f, -0.005061f, 0.021576f, -0.014778f, -0.005622f, 0.003463f, 0.004585f, 0.000595f, -0.013077f, 0.009931f, -0.005861f, -0.011315f, -0.000322f, -0.020720f, - 0.030254f, -0.013391f, 0.006132f, 0.006653f, -0.006221f, 0.010467f, -0.017994f, -0.014703f, 0.018424f, -0.009074f, -0.012480f, 0.012315f, -0.000819f, 0.003419f, -0.008315f, 0.002173f, -0.001834f, 0.005620f, -0.006630f, -0.005216f, 0.006993f, -0.004076f, -0.004828f, -0.001322f, 0.004421f, -0.002890f, -0.000390f, -0.002349f, 0.001190f, 0.004182f, -0.005882f, -0.005959f, 0.017348f, -0.005118f, -0.006181f, 0.005415f, -0.001965f, 0.005034f, -0.013879f, 0.000927f, -0.002286f, -0.000433f, -0.003655f, 0.016247f, 0.000247f, -0.014298f, 0.004720f, 0.001582f, -0.000577f, 0.000126f, 0.006364f, -0.004076f, -0.004068f, -0.001807f, -0.003662f, -0.001853f, 0.001844f, -0.004463f, -0.000052f, 0.001357f, -0.000562f, -0.049806f, -0.081434f, 0.037239f, 0.280845f, 0.043089f, 0.140272f, -0.032898f, -0.142824f, -0.051826f, -0.139194f, -0.091551f, -0.029166f, -0.015251f, 0.006527f, 0.082689f, 0.099247f, 0.137978f, 0.136877f, 0.043573f, -0.054248f, -0.087598f, -0.160905f, -0.123142f, -0.064903f, -0.025197f, -0.016543f, 0.049690f, 0.083233f, 0.064430f, 0.087702f, 0.085127f, 0.031264f, 0.027617f, 0.010310f, -0.062242f, - -0.023234f, -0.053513f, -0.092779f, -0.055997f, -0.054244f, -0.080315f, -0.017207f, 0.037577f, 0.028435f, 0.081986f, 0.107310f, 0.055944f, 0.071445f, 0.053872f, -0.007670f, -0.002317f, -0.005149f, -0.057749f, -0.071270f, -0.063433f, -0.095694f, -0.081394f, -0.028903f, -0.004758f, 0.011442f, 0.066343f, 0.060924f, 0.058859f, 0.073992f, 0.055363f, 0.018900f, 0.034995f, 0.019054f, -0.021551f, -0.010408f, -0.039858f, -0.084042f, -0.050448f, -0.047744f, -0.066071f, -0.031977f, -0.021163f, -0.037293f, 0.031435f, 0.059294f, 0.068638f, 0.109326f, 0.103157f, 0.043397f, 0.025620f, -0.001582f, -0.037376f, -0.044525f, -0.045765f, -0.066801f, -0.061028f, -0.056203f, -0.051378f, -0.032268f, -0.012750f, -0.000261f, 0.025027f, 0.058500f, 0.073120f, 0.067834f, 0.082050f, 0.056653f, 0.027545f, 0.011456f, -0.009529f, -0.042283f, -0.047557f, -0.066486f, -0.086510f, -0.087402f, -0.069301f, -0.058082f, -0.008827f, 0.034403f, 0.077399f, 0.103558f, 0.112295f, 0.086529f, 0.056491f, 0.024812f, -0.006801f, -0.043729f, -0.063753f, -0.086364f, -0.085523f, -0.061462f, -0.040211f, -0.012518f, 0.015438f, 0.030545f, 0.040811f, - 0.050824f, 0.044042f, 0.027208f, 0.023202f, 0.007909f, -0.000687f, -0.008576f, -0.010723f, -0.014199f, -0.013619f, -0.019867f, -0.016029f, -0.012979f, -0.010594f, -0.010968f, -0.007149f, -0.007377f, -0.001911f, 0.002202f, 0.009753f, 0.011182f, 0.015755f, 0.015405f, 0.014618f, 0.004749f, 0.001465f, -0.002053f, 0.000335f, -0.001275f}, - {-0.002126f, 0.011493f, -0.006458f, 0.001924f, -0.009600f, 0.002688f, 0.001081f, 0.014649f, -0.008772f, 0.000029f, -0.004614f, 0.007342f, 0.007498f, -0.004782f, -0.000909f, -0.004110f, -0.002356f, -0.004804f, -0.005980f, 0.004414f, 0.001445f, -0.003911f, 0.008180f, 0.007447f, 0.012729f, -0.000376f, 0.004823f, 0.002532f, -0.000209f, -0.011497f, 0.002995f, 0.004791f, -0.004535f, 0.002878f, -0.003342f, -0.003896f, -0.006306f, 0.003280f, 0.008128f, 0.000845f, 0.009484f, -0.003863f, -0.000801f, 0.009565f, 0.005008f, 0.000780f, -0.000111f, 0.009087f, 0.013646f, -0.010131f, 0.002281f, -0.003491f, -0.001563f, -0.015774f, -0.005594f, 0.006395f, -0.004894f, 0.004436f, 0.002053f, -0.002304f, -0.003819f, 0.002250f, -0.001300f, 0.004941f, 0.002683f, 0.002312f, 0.002534f, -0.008177f, 0.000324f, -0.003921f, 0.005056f, 0.008382f, 0.005880f, -0.001170f, 0.009074f, 0.000081f, 0.003859f, -0.001178f, -0.001995f, 0.000509f, 0.004561f, 0.005261f, -0.001693f, -0.003548f, -0.007358f, -0.000925f, -0.003234f, -0.003464f, -0.001947f, -0.002942f, -0.002104f, -0.003469f, -0.001812f, -0.000055f, -0.000025f, 0.000114f, - 0.002933f, -0.001980f, 0.001545f, -0.000692f, -0.001393f, 0.000117f, 0.001357f, 0.000527f, 0.001086f, 0.000041f, -0.000952f, 0.000060f, 0.001387f, 0.000494f, -0.001979f, -0.001512f, -0.000051f, 0.000066f, 0.000840f, 0.000167f, 0.001519f, -0.001961f, 0.006842f, -0.008387f, -0.008773f, 0.000332f, -0.011815f, 0.002169f, -0.003720f, 0.005742f, -0.003165f, -0.009372f, 0.001066f, 0.009188f, -0.001404f, 0.000317f, 0.012793f, 0.016080f, -0.006939f, -0.007378f, -0.002097f, -0.011953f, 0.005107f, 0.001092f, 0.002980f, -0.004203f, 0.006382f, -0.008328f, -0.001517f, 0.005704f, -0.004687f, -0.001708f, 0.000874f, 0.010362f, 0.000667f, 0.007498f, -0.009881f, 0.009709f, -0.001058f, 0.001405f, 0.006285f, -0.005422f, 0.005244f, -0.002461f, -0.002509f, 0.004518f, 0.005960f, -0.001008f, 0.003409f, -0.013104f, 0.007926f, 0.007694f, -0.013892f, -0.012227f, -0.003454f, -0.010140f, -0.002842f, 0.003870f, 0.002523f, 0.003695f, 0.000213f, -0.003378f, 0.008549f, -0.002861f, 0.000313f, -0.003415f, 0.002014f, -0.005174f, 0.007274f, 0.001786f, -0.005597f, -0.003126f, -0.002216f, -0.003241f, -0.002871f, 0.007370f, - 0.009652f, -0.000456f, -0.001968f, 0.000379f, 0.003091f, -0.002004f, 0.006743f, 0.003833f, -0.002756f, -0.000514f, -0.001722f, 0.002936f, -0.002827f, -0.000075f, -0.000746f, 0.000452f, 0.001068f, -0.000161f, -0.000829f, 0.001834f, -0.001416f, -0.000465f, 0.000379f, 0.001226f, 0.000096f, -0.002442f, -0.001690f, 0.000479f, -0.001613f, -0.001345f, 0.001618f, -0.000851f, -0.002993f, -0.001920f, -0.002408f, -0.000632f, 0.000381f, 0.002886f, 0.020666f, 0.003948f, -0.007642f, 0.009581f, 0.001220f, -0.006505f, 0.018877f, -0.012667f, -0.018145f, -0.010634f, -0.011002f, -0.003704f, 0.005369f, 0.006622f, -0.006271f, 0.009530f, -0.011957f, -0.006520f, -0.001446f, 0.003964f, 0.002983f, -0.003643f, -0.004699f, 0.010662f, 0.002053f, -0.000727f, -0.005977f, 0.007959f, -0.005821f, -0.001347f, -0.000012f, -0.000675f, -0.000836f, 0.003099f, 0.001656f, -0.001642f, 0.006646f, -0.003134f, 0.004052f, -0.000286f, -0.010841f, -0.004254f, -0.004330f, 0.011529f, -0.006391f, -0.007772f, -0.014079f, -0.016451f, -0.003006f, 0.000837f, -0.006569f, 0.012484f, 0.001686f, 0.006706f, -0.005042f, 0.010806f, 0.004609f, -0.006266f, - 0.017426f, -0.007896f, -0.008437f, 0.001349f, 0.010923f, 0.016012f, 0.011339f, 0.003754f, -0.005577f, -0.012602f, 0.005021f, -0.000155f, 0.012419f, 0.004994f, -0.003549f, -0.000430f, 0.006333f, 0.005087f, 0.000093f, -0.001187f, 0.000522f, -0.002481f, -0.005231f, -0.000495f, 0.001647f, 0.001296f, 0.004522f, -0.000161f, 0.002742f, -0.000960f, 0.002164f, -0.000551f, 0.000413f, -0.000466f, -0.003061f, 0.000287f, -0.000558f, -0.003926f, 0.003154f, -0.000725f, 0.001932f, -0.001067f, -0.002110f, 0.000292f, 0.000375f, -0.000153f, -0.001380f, 0.001454f, 0.000584f, -0.001038f, -0.000317f, -0.003021f, 0.000392f, -0.001705f, 0.001523f, -0.000568f, 0.003266f, -0.001476f, -0.019517f, 0.003033f, -0.007068f, 0.004512f, 0.001348f, 0.014030f, -0.018048f, -0.010351f, -0.013233f, 0.007090f, 0.005960f, 0.008515f, -0.009423f, 0.003239f, -0.002759f, 0.001184f, -0.014707f, -0.012615f, -0.009182f, -0.009175f, 0.014974f, -0.006029f, -0.001730f, -0.000292f, 0.005146f, -0.002398f, -0.015628f, 0.006595f, -0.006176f, -0.002072f, 0.007329f, 0.005434f, 0.008404f, 0.000517f, 0.004527f, -0.011017f, -0.004476f, 0.009841f, - 0.016450f, 0.009590f, -0.000639f, -0.012529f, 0.008993f, -0.004051f, -0.010729f, 0.014906f, 0.004508f, 0.005116f, -0.009106f, -0.005372f, 0.005201f, -0.003394f, -0.005034f, 0.007859f, -0.006126f, 0.002724f, 0.000475f, -0.010418f, -0.002123f, -0.006899f, 0.011013f, 0.005551f, -0.001431f, 0.001851f, -0.004939f, 0.006461f, 0.001172f, -0.000198f, 0.002010f, -0.012464f, -0.006399f, 0.007016f, 0.003480f, -0.002043f, -0.001516f, -0.008865f, 0.014609f, 0.017960f, 0.010015f, -0.008249f, 0.007460f, 0.001260f, 0.006381f, -0.002750f, 0.005261f, -0.003960f, 0.003438f, 0.006557f, 0.003631f, 0.003140f, 0.002476f, 0.000119f, -0.002121f, -0.000747f, 0.006528f, 0.000327f, 0.000518f, -0.002426f, -0.000372f, 0.001342f, 0.003961f, -0.000492f, 0.004639f, 0.000740f, 0.000206f, -0.000176f, 0.003782f, 0.004532f, -0.001894f, -0.000875f, -0.000422f, 0.000700f, 0.003334f, -0.000192f, 0.000964f, 0.000238f, 0.000866f, -0.001635f, -0.029517f, 0.009848f, 0.001498f, 0.007342f, 0.007951f, -0.005764f, -0.020875f, 0.016088f, 0.006835f, 0.015830f, -0.002910f, 0.008392f, -0.000164f, -0.005697f, -0.000391f, -0.014755f, - 0.018056f, 0.004123f, 0.001712f, -0.009293f, -0.005338f, -0.006294f, 0.005395f, -0.008287f, 0.013829f, 0.000608f, 0.004762f, 0.007704f, 0.004259f, -0.000887f, 0.004467f, 0.004267f, -0.003229f, 0.003591f, -0.015372f, 0.003998f, 0.007011f, 0.007173f, 0.013809f, 0.004795f, -0.009218f, 0.004623f, -0.004643f, 0.009391f, 0.001824f, 0.006834f, 0.010515f, 0.001723f, -0.002295f, 0.008238f, -0.005662f, -0.008951f, -0.003302f, 0.005747f, 0.014573f, -0.003453f, 0.000926f, 0.000261f, 0.001752f, 0.002861f, 0.006113f, 0.002073f, -0.003820f, -0.000687f, -0.005156f, 0.003752f, 0.001222f, -0.009231f, -0.008114f, 0.003244f, 0.005140f, 0.005141f, 0.009166f, -0.014097f, -0.007569f, -0.010276f, 0.012108f, -0.005332f, -0.007486f, 0.003919f, -0.006898f, -0.010048f, -0.003611f, 0.000281f, 0.010780f, -0.003803f, 0.003502f, -0.004283f, -0.002489f, -0.000625f, 0.003304f, 0.001424f, -0.001921f, -0.001633f, 0.002093f, 0.005344f, 0.001841f, 0.003081f, -0.001451f, -0.001016f, 0.003660f, -0.000144f, 0.000285f, 0.001362f, -0.002489f, 0.004774f, -0.001452f, -0.000333f, -0.002193f, -0.006088f, -0.000903f, -0.001341f, - -0.000407f, -0.000068f, -0.002243f, 0.000240f, 0.005502f, -0.001362f, -0.000478f, -0.001041f, -0.001967f, 0.007283f, 0.029978f, 0.015906f, 0.014243f, 0.020767f, 0.005652f, 0.003794f, -0.012700f, -0.000416f, -0.023751f, -0.004279f, 0.009052f, 0.006569f, 0.004225f, 0.005496f, 0.006542f, -0.005127f, -0.003470f, 0.013619f, 0.012284f, 0.010536f, -0.000793f, 0.001479f, -0.016959f, -0.014694f, -0.005558f, 0.010740f, 0.003483f, -0.002228f, 0.005841f, -0.009882f, 0.000944f, -0.005098f, 0.011822f, 0.009279f, 0.020757f, -0.002059f, 0.007837f, 0.006522f, -0.003329f, -0.010880f, 0.019530f, -0.011350f, -0.002565f, 0.008840f, 0.000434f, 0.005025f, 0.014084f, -0.004494f, 0.005260f, -0.013608f, -0.029079f, -0.016134f, -0.009641f, -0.003907f, 0.001360f, -0.001161f, -0.007489f, -0.015636f, -0.003246f, -0.011227f, 0.003461f, -0.000259f, 0.001399f, -0.017633f, -0.008015f, 0.011433f, 0.003961f, -0.000686f, -0.019535f, -0.017688f, 0.010542f, 0.001894f, 0.006423f, -0.012959f, -0.010329f, 0.000697f, -0.005263f, -0.011055f, -0.007846f, 0.006214f, -0.002385f, 0.002864f, 0.000832f, 0.007771f, 0.005706f, 0.002670f, - -0.003937f, 0.002105f, -0.000693f, -0.004704f, -0.004633f, 0.004475f, -0.001899f, 0.001329f, -0.002992f, -0.004539f, -0.000780f, -0.000357f, 0.004050f, -0.000440f, -0.003920f, 0.001074f, 0.001525f, 0.004476f, 0.000888f, 0.001089f, -0.001878f, 0.005602f, -0.002111f, 0.006377f, -0.003496f, 0.004735f, -0.004161f, 0.000748f, 0.002484f, 0.000239f, -0.000293f, 0.001043f, -0.000946f, -0.001660f, -0.015158f, 0.011469f, -0.006737f, -0.000569f, -0.039466f, -0.009331f, -0.014584f, -0.009662f, 0.001615f, 0.013022f, -0.002584f, 0.017222f, 0.009139f, -0.001031f, -0.016965f, -0.007042f, 0.025277f, 0.004212f, -0.015109f, -0.011066f, -0.004980f, 0.011831f, -0.009221f, 0.000127f, 0.008161f, 0.012873f, 0.014556f, -0.015959f, 0.010744f, 0.001438f, 0.003050f, 0.004539f, 0.005907f, 0.005112f, 0.014594f, 0.000385f, 0.004440f, -0.012794f, 0.017883f, -0.008996f, -0.004197f, 0.002985f, -0.014823f, 0.018333f, -0.002894f, -0.035889f, -0.011848f, -0.028821f, 0.001772f, -0.000441f, -0.008692f, 0.039035f, -0.006821f, -0.019361f, -0.006550f, -0.004779f, 0.017959f, -0.002483f, 0.008573f, 0.010499f, -0.007317f, 0.013378f, - 0.018509f, -0.009425f, 0.007053f, -0.016468f, 0.008030f, -0.005922f, -0.004636f, 0.018968f, -0.006942f, -0.001842f, -0.008434f, 0.000481f, 0.000334f, 0.007222f, 0.010735f, 0.011343f, -0.003020f, -0.003246f, 0.000459f, 0.014700f, 0.006992f, 0.007633f, 0.000306f, -0.012040f, 0.004840f, -0.005856f, -0.006530f, -0.003610f, -0.000108f, -0.000351f, 0.000793f, 0.002659f, 0.002819f, -0.000719f, 0.008012f, 0.001285f, 0.003510f, 0.001382f, 0.001596f, -0.002246f, 0.002135f, 0.000803f, -0.002350f, -0.003509f, -0.002260f, -0.006029f, -0.004695f, 0.004147f, 0.003361f, -0.005102f, 0.001410f, -0.000278f, 0.001454f, 0.005761f, 0.001246f, -0.002251f, 0.000650f, 0.001861f, 0.000153f, -0.004653f, 0.002089f, 0.017942f, -0.025054f, 0.005003f, 0.005128f, -0.007937f, 0.003370f, 0.018882f, 0.020247f, 0.007506f, 0.007246f, 0.009653f, -0.015654f, -0.002727f, -0.016714f, -0.000354f, 0.010691f, 0.006761f, -0.003512f, -0.013231f, -0.004276f, 0.008938f, -0.017325f, 0.000588f, -0.001226f, 0.007999f, 0.016523f, 0.001562f, -0.008885f, -0.006782f, 0.017681f, -0.011355f, -0.005466f, 0.010168f, -0.006309f, -0.020884f, - -0.007547f, 0.004754f, 0.003554f, -0.008349f, 0.001978f, 0.010881f, 0.007532f, 0.010496f, -0.001207f, 0.007915f, 0.015043f, -0.006614f, 0.007510f, 0.006463f, -0.010236f, 0.022284f, -0.021378f, 0.012776f, 0.005657f, -0.029751f, 0.028523f, -0.018418f, 0.004088f, -0.003277f, 0.022774f, -0.009634f, -0.016070f, -0.003413f, 0.000189f, 0.004141f, 0.017512f, -0.014824f, -0.000678f, 0.001082f, 0.001075f, -0.002648f, 0.005225f, -0.012047f, -0.001714f, -0.008583f, -0.016014f, -0.017781f, 0.009658f, 0.007808f, 0.007486f, 0.000207f, 0.011339f, -0.005163f, -0.012963f, 0.003428f, -0.023007f, -0.019202f, -0.003553f, 0.005685f, -0.000127f, -0.003514f, -0.002909f, 0.002817f, -0.012559f, -0.004159f, -0.002587f, -0.001992f, 0.005940f, -0.000542f, 0.001045f, 0.000553f, -0.004072f, 0.002158f, -0.004585f, 0.000438f, 0.002301f, -0.004964f, -0.000998f, 0.004381f, -0.003257f, 0.000129f, -0.002260f, -0.000084f, 0.001666f, 0.000269f, -0.006847f, -0.000970f, -0.000009f, -0.000214f, -0.001112f, -0.004101f, -0.007049f, -0.001568f, -0.000361f, -0.000837f, 0.005874f, 0.004454f, -0.019965f, 0.015827f, -0.045750f, 0.025045f, - -0.018213f, -0.012517f, -0.022371f, 0.002452f, -0.002693f, 0.003867f, 0.015959f, -0.013490f, -0.005172f, 0.012650f, 0.011614f, -0.003915f, 0.004510f, -0.006265f, -0.020972f, -0.002125f, 0.005263f, -0.010879f, 0.016895f, 0.002701f, -0.001987f, -0.010206f, -0.009901f, 0.002128f, 0.026041f, 0.000903f, -0.003674f, 0.006935f, -0.022535f, -0.004102f, 0.008217f, -0.015480f, 0.021880f, 0.013682f, -0.000797f, -0.006934f, -0.007345f, -0.008673f, -0.014983f, -0.018742f, 0.015549f, 0.000913f, 0.027630f, 0.002268f, -0.001440f, -0.012665f, 0.002294f, -0.005112f, 0.006203f, -0.000631f, -0.017419f, -0.013867f, -0.017750f, -0.030146f, -0.004164f, 0.026113f, -0.025205f, -0.001797f, -0.026392f, 0.003969f, 0.007439f, 0.005892f, 0.018842f, -0.002316f, -0.027130f, 0.019231f, -0.001880f, -0.013378f, -0.010943f, -0.023695f, -0.008022f, -0.018075f, 0.009786f, -0.027625f, -0.004556f, 0.010524f, -0.000200f, 0.001847f, 0.013108f, 0.006434f, 0.015742f, -0.000172f, -0.008501f, -0.003598f, -0.005821f, -0.000525f, 0.005820f, -0.001838f, 0.001031f, 0.000566f, 0.000644f, -0.004802f, -0.006653f, 0.003974f, -0.004654f, 0.001807f, - 0.000860f, -0.001182f, 0.002105f, 0.000471f, 0.000896f, 0.009223f, 0.001732f, -0.000786f, 0.001825f, 0.002761f, 0.002121f, -0.004986f, -0.000691f, -0.010244f, 0.003792f, 0.004955f, 0.007877f, 0.002591f, 0.002737f, -0.000386f, -0.005033f, 0.002818f, -0.000187f, 0.019590f, -0.007126f, 0.017414f, -0.016986f, -0.009103f, 0.012023f, 0.003774f, -0.022945f, 0.001438f, 0.030022f, -0.034544f, 0.002116f, 0.016067f, 0.038850f, -0.016620f, -0.009777f, -0.004289f, 0.030107f, 0.029435f, -0.031067f, -0.001501f, -0.023844f, -0.011496f, 0.015684f, 0.015648f, 0.020628f, 0.011629f, -0.003977f, 0.014407f, -0.017754f, -0.009654f, -0.001691f, -0.002770f, -0.025739f, 0.002266f, -0.000487f, 0.034167f, -0.005181f, 0.016832f, 0.004175f, 0.009974f, 0.022999f, -0.013868f, -0.006070f, -0.033774f, 0.023370f, -0.029765f, -0.005180f, 0.006831f, -0.003914f, -0.017190f, -0.004207f, 0.004883f, -0.012117f, 0.003354f, -0.001887f, -0.002599f, -0.037837f, -0.026874f, 0.001992f, -0.019481f, -0.026531f, 0.004926f, -0.024519f, 0.007860f, 0.016149f, -0.014452f, 0.027654f, 0.005800f, 0.017792f, 0.018981f, 0.004987f, -0.014041f, - -0.016555f, -0.020726f, 0.010790f, -0.021505f, 0.013080f, 0.015601f, 0.021602f, 0.003830f, -0.015167f, -0.009787f, 0.000558f, 0.002122f, -0.028364f, -0.000656f, -0.018319f, -0.003091f, -0.005084f, 0.001201f, -0.013372f, 0.001828f, -0.002951f, -0.000142f, -0.008630f, -0.006343f, 0.002249f, 0.014278f, 0.001655f, -0.001300f, 0.002088f, -0.001964f, -0.005107f, -0.005118f, -0.005536f, -0.002439f, -0.006597f, 0.007406f, 0.005539f, -0.000435f, -0.005422f, 0.008791f, 0.013244f, -0.002832f, -0.002079f, -0.003014f, -0.001140f, -0.000363f, 0.003417f, -0.004881f, 0.005400f, 0.004900f, 0.003521f, -0.004638f, -0.000490f, 0.002805f, 0.004034f, 0.009085f, -0.018281f, 0.047302f, 0.019829f, 0.008155f, 0.024440f, -0.009370f, 0.005203f, -0.025208f, -0.032321f, 0.020372f, 0.041728f, 0.012357f, -0.000119f, -0.041200f, 0.049751f, 0.007145f, 0.006192f, 0.007091f, 0.001917f, 0.008947f, 0.002911f, -0.007151f, -0.000232f, 0.012511f, -0.007627f, 0.015731f, 0.003101f, -0.012444f, -0.017148f, -0.004733f, 0.015804f, -0.004340f, 0.005206f, -0.007144f, -0.006245f, 0.000238f, 0.044639f, 0.007185f, 0.006515f, 0.005996f, - 0.003828f, 0.026690f, -0.009889f, 0.007664f, -0.017199f, 0.031806f, 0.044398f, 0.011536f, -0.002495f, -0.015800f, 0.046387f, 0.021756f, 0.000739f, -0.017943f, 0.006830f, -0.010769f, -0.001609f, -0.020581f, -0.007677f, -0.013737f, -0.018812f, 0.030482f, -0.009101f, 0.022462f, 0.004759f, -0.017532f, -0.000217f, -0.037508f, 0.035689f, -0.002590f, -0.017014f, -0.013324f, -0.021697f, -0.026788f, -0.014615f, 0.041481f, -0.012897f, 0.014943f, 0.018876f, -0.016765f, -0.015923f, -0.029929f, 0.004540f, 0.020180f, 0.006954f, 0.019297f, -0.004425f, -0.003809f, 0.000889f, 0.005490f, -0.008211f, 0.002313f, -0.014888f, 0.004853f, -0.000678f, 0.016934f, 0.011952f, -0.009141f, 0.000933f, -0.000489f, 0.010078f, -0.003408f, -0.013403f, 0.002990f, -0.000414f, -0.001073f, 0.004986f, 0.000941f, -0.002102f, -0.006704f, -0.007524f, -0.001428f, -0.001799f, 0.007985f, -0.000308f, 0.008010f, -0.010968f, 0.002674f, 0.008265f, -0.015526f, -0.011340f, 0.004121f, -0.004949f, 0.011678f, 0.014023f, -0.010442f, -0.011100f, 0.044099f, 0.043231f, 0.053406f, 0.032136f, 0.010606f, -0.013585f, -0.014099f, 0.007987f, 0.015516f, - 0.018977f, -0.028377f, -0.000844f, -0.003378f, 0.014232f, 0.011247f, -0.019700f, -0.024282f, -0.000099f, -0.009197f, 0.023147f, 0.027250f, -0.000016f, 0.014448f, 0.004750f, 0.005779f, 0.031459f, -0.019210f, -0.025474f, 0.020093f, -0.033359f, 0.002889f, -0.010284f, 0.018417f, 0.009391f, 0.000346f, 0.021528f, 0.019773f, -0.017975f, 0.022403f, -0.000053f, -0.009577f, 0.005295f, 0.024337f, -0.009410f, 0.010415f, 0.018037f, 0.008171f, -0.038883f, -0.022474f, 0.003827f, 0.002061f, -0.026437f, -0.018055f, 0.008777f, 0.012585f, 0.010688f, -0.036009f, -0.025160f, -0.025057f, -0.001992f, 0.015618f, 0.022764f, -0.057207f, -0.042053f, 0.007004f, 0.008789f, 0.033054f, 0.011650f, 0.012126f, 0.024059f, -0.002584f, -0.006178f, -0.008728f, 0.059070f, 0.020428f, -0.009324f, -0.030906f, 0.028239f, 0.018456f, -0.009240f, -0.008392f, 0.004357f, -0.008502f, 0.015082f, -0.005443f, -0.003234f, 0.008887f, -0.002204f, -0.003538f, -0.004660f, 0.009333f, 0.024212f, 0.000174f, 0.001719f, 0.000852f, 0.010526f, 0.013528f, -0.003453f, -0.008510f, 0.003653f, -0.000791f, 0.002717f, 0.001589f, 0.002066f, -0.011482f, - -0.006278f, 0.008142f, 0.000816f, -0.004671f, 0.003961f, 0.011330f, 0.008807f, -0.015193f, -0.003426f, -0.010100f, -0.009742f, 0.007214f, -0.011630f, 0.004558f, -0.006280f, 0.011287f, -0.013458f, -0.018767f, -0.036312f, -0.035352f, -0.029050f, 0.011207f, -0.003738f, 0.016393f, -0.032030f, -0.005287f, 0.001500f, -0.012367f, -0.014987f, 0.026036f, -0.009973f, 0.005266f, -0.000392f, 0.001805f, -0.026115f, -0.009619f, -0.022331f, 0.002964f, 0.002953f, 0.005796f, 0.061753f, -0.024063f, 0.017059f, 0.025987f, -0.013189f, -0.012457f, -0.018679f, -0.003783f, 0.028849f, -0.029439f, 0.020156f, -0.001938f, -0.004900f, 0.002698f, 0.002962f, 0.015806f, 0.001782f, -0.031231f, 0.023889f, -0.019458f, -0.044805f, -0.036281f, -0.018165f, 0.060650f, 0.051476f, -0.027986f, -0.008045f, -0.038417f, -0.032045f, -0.012666f, 0.037483f, 0.000966f, 0.025857f, 0.013501f, -0.017617f, 0.019694f, -0.013410f, -0.039986f, -0.003376f, -0.024250f, -0.004930f, -0.013000f, 0.078924f, 0.000712f, -0.065309f, 0.051275f, -0.020683f, -0.014574f, 0.051829f, 0.052653f, 0.000188f, -0.023072f, 0.010289f, 0.012869f, -0.070919f, -0.030531f, - 0.001898f, -0.010440f, 0.037155f, 0.015710f, -0.053795f, -0.008065f, -0.004302f, 0.024384f, 0.015538f, 0.010609f, 0.009666f, -0.011218f, 0.001938f, 0.004269f, 0.022537f, -0.002800f, 0.003117f, 0.004411f, 0.003867f, 0.013229f, 0.006297f, 0.000294f, -0.015357f, 0.019457f, -0.001742f, -0.000097f, 0.000926f, 0.000020f, -0.008288f, -0.012965f, -0.008861f, 0.001760f, -0.003185f, 0.005661f, -0.000861f, -0.005747f, 0.006210f, 0.014357f, -0.019084f, -0.006215f, -0.005808f, -0.002742f, 0.005468f, -0.000372f, -0.005439f, -0.010772f, -0.004016f, -0.002784f, 0.009730f, -0.031409f, -0.019529f, 0.009548f, 0.007455f, 0.017087f, 0.053771f, 0.009279f, -0.001363f, 0.012590f, 0.002823f, -0.022346f, -0.013719f, 0.012057f, 0.002784f, 0.043910f, 0.010385f, -0.002721f, 0.015901f, 0.023583f, 0.023909f, 0.025730f, 0.001411f, -0.018020f, -0.004983f, -0.041185f, -0.005577f, -0.046505f, 0.025974f, -0.028294f, -0.010937f, 0.000158f, 0.037695f, -0.021817f, 0.020987f, -0.015315f, 0.012728f, -0.019212f, 0.024069f, 0.036360f, 0.002503f, -0.007658f, -0.019526f, -0.028166f, 0.015803f, 0.018097f, 0.046106f, -0.006217f, - 0.002339f, 0.020333f, 0.073831f, -0.017194f, 0.011090f, -0.011916f, -0.041079f, 0.028892f, -0.005859f, 0.020555f, -0.002523f, 0.005121f, -0.024739f, 0.068363f, -0.102454f, 0.075475f, -0.117559f, 0.050731f, -0.060633f, 0.018889f, -0.047539f, 0.017170f, 0.031555f, -0.007494f, 0.023452f, -0.012011f, 0.085789f, -0.051980f, 0.056967f, -0.088202f, 0.044541f, -0.034565f, 0.042852f, -0.028742f, -0.031143f, -0.015209f, -0.007877f, 0.021667f, -0.005919f, -0.003782f, 0.002166f, 0.001356f, -0.011011f, 0.015421f, -0.016614f, 0.016296f, -0.012006f, 0.005009f, -0.019108f, -0.010675f, -0.014117f, 0.002554f, -0.012980f, 0.016091f, 0.017147f, -0.016226f, -0.000258f, 0.006518f, 0.015737f, -0.002360f, 0.005644f, 0.012909f, -0.012083f, 0.021335f, -0.005931f, 0.028212f, -0.016807f, 0.033792f, -0.024096f, 0.008701f, -0.001981f, 0.018851f, 0.015638f, -0.002987f, 0.009156f, -0.026027f, 0.029676f, -0.020386f, 0.007212f, -0.020715f, 0.015001f, -0.027635f, 0.009496f, -0.002327f, -0.010131f, 0.010448f, 0.026151f, 0.020887f, 0.082811f, -0.057588f, 0.024164f, 0.015124f, -0.049570f, -0.001394f, -0.009666f, -0.014130f, - -0.025422f, -0.001383f, 0.003031f, 0.032914f, 0.012380f, 0.017219f, 0.024849f, 0.020022f, 0.000854f, 0.027443f, -0.031554f, -0.004574f, 0.038260f, 0.004239f, -0.052246f, -0.012048f, -0.068402f, -0.012820f, 0.012062f, -0.012709f, -0.015858f, -0.002995f, 0.061356f, 0.015469f, 0.004807f, 0.007468f, 0.015447f, -0.004632f, -0.035014f, -0.010770f, -0.003782f, 0.006514f, -0.007983f, -0.016424f, 0.044466f, 0.023863f, -0.009049f, -0.002120f, -0.009411f, -0.040112f, -0.032798f, -0.024060f, -0.019870f, 0.044749f, 0.010903f, 0.016511f, -0.026853f, -0.026205f, 0.008548f, 0.018210f, 0.016926f, -0.007589f, -0.005181f, -0.030427f, -0.019976f, 0.026552f, 0.001324f, -0.073636f, 0.026023f, 0.040161f, 0.012980f, -0.032097f, -0.019614f, -0.015997f, 0.005401f, -0.023113f, 0.011531f, -0.054204f, -0.072314f, 0.029969f, 0.026251f, -0.014492f, -0.026511f, 0.020310f, -0.011804f, 0.005249f, 0.006411f, -0.010685f, 0.011712f, -0.006625f, -0.006697f, -0.003939f, 0.017529f, -0.012404f, -0.003545f, -0.013569f, -0.000080f, 0.001124f, 0.011754f, 0.012048f, -0.001248f, 0.007095f, -0.008454f, 0.014081f, -0.009717f, 0.011501f, - -0.026546f, -0.012143f, -0.003576f, 0.007686f, -0.008615f, -0.017395f, -0.013240f, 0.006343f, 0.013823f, -0.000524f, 0.017832f, 0.004978f, 0.007104f, 0.001084f, 0.011636f, -0.006542f, 0.011122f, -0.002670f, -0.021875f, -0.016893f, -0.006394f, 0.009994f, -0.012272f, 0.007264f, -0.068285f, 0.059770f, 0.072739f, -0.006846f, 0.052884f, 0.002117f, 0.008075f, 0.023004f, -0.046729f, 0.016954f, 0.034569f, 0.034082f, 0.014305f, 0.010532f, -0.033793f, 0.024677f, 0.014527f, -0.020533f, 0.010899f, -0.004112f, 0.040280f, 0.011073f, 0.010290f, 0.023778f, -0.009572f, -0.027479f, 0.007912f, 0.051295f, -0.018411f, -0.010027f, 0.046341f, -0.017072f, -0.020767f, -0.016928f, 0.015943f, 0.059597f, 0.082910f, -0.005196f, -0.053823f, 0.081316f, 0.027993f, -0.053612f, 0.060650f, 0.023203f, -0.015070f, -0.015591f, -0.022776f, -0.037784f, -0.002166f, 0.019804f, -0.032409f, -0.021231f, -0.068438f, -0.009314f, 0.039813f, -0.082904f, -0.044911f, 0.013075f, 0.013351f, 0.016340f, 0.050273f, 0.044489f, -0.073675f, 0.000599f, 0.002815f, -0.052141f, 0.014551f, 0.024803f, -0.026756f, -0.019097f, -0.022592f, 0.015106f, - 0.057888f, 0.018116f, 0.030104f, -0.039588f, 0.020172f, -0.044824f, 0.003920f, -0.030145f, -0.122471f, 0.093667f, 0.024071f, -0.034184f, 0.063403f, -0.021875f, -0.028891f, 0.017056f, 0.012957f, 0.016313f, 0.024792f, 0.010027f, -0.024906f, -0.007910f, 0.024323f, -0.000800f, 0.009359f, 0.003922f, -0.003994f, 0.005971f, -0.010925f, 0.008090f, 0.022725f, 0.008204f, -0.013410f, -0.009921f, 0.006938f, -0.006086f, -0.012167f, 0.004637f, 0.014177f, 0.008239f, -0.042359f, -0.012811f, -0.031196f, -0.016186f, 0.018182f, -0.013909f, -0.017437f, 0.016596f, 0.010723f, -0.018285f, 0.023226f, -0.017155f, -0.007507f, 0.008342f, -0.013465f, 0.015268f, -0.006792f, -0.025131f, -0.038859f, 0.044777f, 0.148460f, -0.047399f, 0.001308f, 0.011408f, 0.067031f, 0.059428f, -0.019451f, -0.025803f, -0.037439f, 0.001594f, 0.028393f, -0.000946f, -0.019141f, -0.019687f, 0.026794f, -0.014621f, -0.036015f, -0.032197f, -0.006504f, 0.054553f, 0.038264f, -0.043384f, 0.002915f, 0.000789f, -0.018916f, 0.021505f, 0.007957f, -0.015483f, -0.005111f, -0.012178f, -0.005818f, 0.069639f, -0.025934f, -0.046252f, -0.032374f, -0.026289f, - 0.061587f, 0.001702f, -0.014282f, 0.056710f, 0.038983f, 0.015494f, 0.028858f, 0.055764f, -0.033920f, 0.008595f, 0.054255f, 0.031720f, 0.041447f, -0.047092f, -0.013280f, -0.001766f, 0.019849f, 0.018699f, -0.044579f, 0.004246f, -0.058567f, -0.088082f, -0.004654f, -0.023310f, 0.040888f, 0.045473f, -0.011943f, -0.003622f, 0.009221f, -0.032036f, -0.085325f, 0.057402f, -0.041358f, 0.008863f, -0.015938f, -0.028864f, -0.016760f, -0.033470f, -0.067649f, 0.039921f, 0.035518f, 0.043107f, 0.008295f, -0.053765f, -0.094449f, -0.028058f, -0.026157f, -0.011576f, 0.029807f, -0.019342f, -0.004766f, 0.005673f, 0.003959f, -0.015051f, -0.006920f, -0.012098f, 0.001406f, -0.005410f, 0.009922f, -0.005961f, -0.007394f, 0.010915f, 0.014178f, 0.011246f, -0.022922f, 0.007439f, 0.001218f, -0.002109f, 0.000186f, -0.050240f, 0.002337f, 0.006893f, 0.007285f, -0.033124f, 0.021421f, -0.004799f, -0.027654f, -0.022589f, 0.013253f, 0.017647f, -0.003445f, 0.010452f, -0.017124f, -0.012013f, -0.011729f, 0.001273f, 0.020349f, 0.005121f, 0.019416f, -0.000563f, 0.008887f, -0.029256f, -0.004740f, 0.007041f, 0.003872f, -0.023207f, - -0.007033f, -0.072904f, -0.041792f, -0.033990f, -0.085829f, 0.099101f, -0.002272f, 0.052195f, -0.011911f, 0.002594f, -0.059821f, -0.032720f, -0.030866f, 0.006905f, 0.046873f, -0.002159f, -0.048805f, -0.036512f, -0.069767f, -0.077680f, 0.066615f, 0.024563f, -0.060457f, -0.018780f, 0.029829f, 0.055458f, 0.007772f, -0.068862f, -0.041860f, 0.013552f, 0.019260f, 0.017072f, 0.040191f, -0.042825f, -0.040621f, -0.006261f, -0.014416f, 0.005648f, 0.011970f, -0.082752f, -0.015247f, -0.057726f, -0.036954f, -0.076982f, -0.029172f, 0.105391f, 0.018180f, 0.003303f, 0.025860f, 0.026109f, 0.008261f, 0.078308f, 0.062023f, -0.020538f, 0.021073f, 0.105817f, -0.027727f, -0.024762f, -0.025279f, -0.078894f, -0.003038f, -0.043216f, -0.097948f, -0.102772f, -0.053855f, -0.053076f, 0.024002f, -0.039762f, 0.003477f, 0.020789f, -0.069795f, -0.025627f, 0.000445f, -0.000350f, 0.018021f, 0.045592f, 0.030353f, 0.054986f, 0.074540f, 0.054023f, -0.006658f, -0.039419f, -0.057101f, -0.004912f, 0.023634f, 0.006911f, -0.008034f, -0.000763f, 0.016191f, 0.013027f, 0.035109f, -0.004002f, 0.005598f, 0.000573f, -0.011699f, 0.011427f, - 0.001815f, -0.005707f, 0.030002f, 0.012925f, 0.006811f, -0.028177f, 0.018923f, -0.010151f, 0.014271f, -0.026746f, -0.074053f, -0.003536f, 0.029240f, -0.005593f, -0.039308f, -0.025298f, -0.028768f, -0.021767f, 0.009381f, 0.012839f, 0.014684f, 0.003932f, -0.002632f, 0.010941f, 0.028979f, 0.048293f, 0.045693f, 0.056730f, 0.048643f, -0.004750f, 0.032707f, 0.073998f, 0.005258f, -0.032640f, -0.046422f, -0.046858f, -0.063634f, -0.051799f, -0.024745f, -0.027884f, -0.003893f, 0.065606f, -0.042890f, 0.012960f, -0.049675f, -0.016843f, -0.054173f, 0.006958f, 0.065713f, -0.001511f, 0.040615f, -0.081242f, 0.071420f, 0.023935f, -0.014635f, 0.056610f, 0.007938f, 0.025754f, -0.022641f, -0.026724f, -0.000508f, 0.017346f, 0.013294f, -0.056727f, 0.052080f, -0.062864f, 0.007703f, 0.017596f, -0.021341f, 0.037057f, -0.039074f, -0.022196f, -0.004314f, -0.013941f, -0.019780f, -0.004364f, 0.008386f, -0.029027f, -0.034215f, -0.011084f, -0.005987f, -0.008398f, 0.020792f, 0.011301f, 0.008473f, -0.041505f, 0.011047f, 0.050504f, 0.066946f, -0.049382f, -0.024881f, 0.056926f, 0.077849f, -0.047196f, -0.029190f, 0.032833f, - 0.013780f, -0.037482f, 0.031124f, -0.088049f, -0.017340f, 0.035888f, 0.070391f, 0.009166f, -0.043665f, -0.039479f, 0.010685f, 0.084371f, 0.007355f, 0.012656f, 0.002532f, 0.028005f, -0.005404f, 0.062708f, -0.000686f, -0.069354f, 0.043777f, -0.045247f, -0.013878f, 0.019212f, -0.026485f, 0.006350f, -0.056468f, -0.021026f, 0.052362f, 0.024138f, -0.023459f, -0.033516f, -0.018349f, 0.004408f, -0.027223f, -0.008187f, -0.006002f, -0.016653f, -0.010229f, -0.008019f, -0.035345f, 0.022428f, -0.013210f, -0.015642f, -0.051196f, -0.012864f, 0.037661f, -0.026006f, -0.014382f, -0.013526f, -0.029238f, 0.056368f, 0.023117f, 0.002238f, -0.001849f, -0.031199f, -0.046865f, 0.003092f, 0.041923f, 0.034509f, 0.011547f, -0.035141f, -0.020597f, -0.015630f, 0.020453f, 0.003865f, -0.031346f, -0.007635f, 0.002037f, 0.012499f, -0.027881f, -0.018620f, -0.016446f, 0.043868f, 0.022422f, 0.002988f, -0.027081f, -0.023306f, 0.024515f, 0.052731f, -0.000527f, -0.022443f, -0.032346f, -0.010794f, 0.014620f, 0.001334f, -0.007454f, 0.002058f, -0.006453f, -0.004779f, 0.004979f, -0.105863f, -0.029621f, 0.018084f, -0.036006f, 0.104892f, - 0.076415f, 0.050450f, 0.026443f, 0.070815f, 0.049629f, 0.016772f, 0.033706f, -0.082966f, -0.111978f, -0.015378f, 0.000754f, -0.028591f, 0.014623f, -0.005187f, -0.029490f, -0.036476f, -0.030193f, 0.058022f, 0.050041f, -0.040172f, -0.005509f, -0.005470f, -0.010457f, -0.014185f, -0.021346f, -0.030370f, -0.043072f, -0.008009f, 0.075156f, -0.023981f, -0.042258f, -0.019866f, 0.070521f, -0.032928f, -0.032885f, 0.109811f, 0.038692f, 0.018633f, -0.026986f, -0.060052f, -0.042373f, -0.061946f, 0.016494f, 0.051465f, 0.138163f, -0.121468f, -0.051902f, 0.071590f, 0.098554f, 0.017459f, -0.006104f, 0.127118f, 0.060566f, -0.039830f, 0.040208f, -0.014399f, 0.000271f, -0.087671f, -0.044529f, -0.030496f, -0.144270f, -0.060889f, -0.023403f, 0.077802f, -0.042111f, -0.024056f, 0.057720f, -0.003627f, -0.007817f, 0.014075f, 0.040593f, -0.039139f, 0.028668f, 0.044293f, 0.000919f, -0.008160f, -0.081451f, 0.037767f, 0.029086f, -0.093809f, -0.006867f, 0.010413f, 0.006048f, -0.007771f, -0.041791f, 0.011351f, 0.007060f, 0.011975f, -0.006634f, -0.011836f, 0.030053f, 0.006653f, -0.006294f, 0.020970f, 0.008582f, 0.055505f, - -0.007580f, 0.018365f, 0.003483f, -0.043658f, -0.038252f, 0.027085f, -0.021297f, 0.016560f, 0.020636f, 0.013044f, 0.012741f, 0.000605f, 0.036525f, -0.011419f, -0.009150f, -0.014172f, 0.010482f, 0.028701f, -0.042854f, -0.015701f, 0.020581f, 0.009809f, -0.024279f, -0.043467f, -0.011174f, 0.012251f, 0.091814f, 0.033713f, -0.007667f, 0.023831f, -0.004661f, -0.008480f, -0.033842f, 0.016256f, 0.014015f, -0.026676f, -0.013005f, -0.097121f, -0.003953f, 0.040017f, -0.009383f, -0.040492f, 0.017732f, -0.009086f, 0.043705f, 0.008747f, -0.021169f, -0.000325f, 0.046788f, -0.026622f, 0.007530f, 0.016912f, -0.014233f, -0.000402f, -0.025309f, 0.051672f, -0.003101f, 0.007698f, 0.000829f, 0.024976f, -0.011304f, -0.009716f, -0.016148f, 0.010335f, 0.019419f, -0.008502f, 0.023069f, -0.009981f, 0.014216f, -0.024229f, -0.019090f, 0.029429f, 0.037737f, -0.048746f, 0.002281f, 0.000073f, 0.004572f, 0.015374f, -0.030671f, 0.047063f, -0.042145f, 0.037881f, 0.005305f, -0.065792f, -0.003585f, 0.051365f, -0.066973f, 0.031968f, 0.000295f, 0.008666f, -0.016078f, -0.010021f, 0.013538f, -0.019418f, 0.068595f, -0.050732f, - 0.007589f, -0.013606f, -0.006152f, 0.016928f, 0.000964f, -0.008316f, -0.001572f, 0.020753f, -0.000644f, -0.023793f, 0.006711f, 0.012092f, -0.039846f, 0.031011f, 0.013998f, 0.001470f, 0.028585f, -0.010454f, -0.008840f, 0.013466f, 0.006247f, 0.008544f, 0.004861f, -0.007878f, 0.016138f, 0.006955f, 0.001197f, -0.017427f, -0.002878f, 0.008522f, 0.015468f, -0.026455f, 0.013847f, 0.016490f, -0.023385f, 0.011098f, 0.003432f, 0.003986f, 0.012342f, -0.006955f, 0.002757f, -0.004359f, -0.033921f, -0.000510f, -0.008203f, 0.014818f, -0.009556f, 0.005658f, 0.003720f, -0.001399f, 0.004523f, 0.008585f, -0.005623f, 0.000008f, 0.001526f, -0.000244f, 0.002451f, 0.010308f, -0.010519f, 0.009658f, -0.007684f, -0.048940f, -0.138185f, -0.197370f, 0.066372f, 0.175533f, 0.038758f, 0.486518f, 0.400696f, 0.270736f, 0.458173f, 0.238667f, -0.016278f, -0.057163f, -0.180899f, -0.417714f, -0.344947f, -0.335486f, -0.466528f, -0.344912f, -0.101288f, -0.074698f, -0.012211f, 0.162345f, 0.075587f, -0.020167f, 0.102982f, 0.170327f, 0.083412f, 0.079811f, 0.155017f, 0.092355f, 0.071230f, 0.140456f, 0.220550f, 0.091829f, - 0.129473f, 0.207023f, 0.035535f, 0.014056f, 0.182930f, 0.108175f, -0.070128f, 0.088214f, 0.113675f, -0.118610f, -0.035385f, 0.131097f, -0.026405f, -0.078469f, 0.169341f, 0.089769f, -0.105051f, 0.090894f, 0.120560f, -0.160769f, -0.150498f, -0.064279f, -0.388264f, -0.515209f, -0.323133f, -0.455471f, -0.607134f, -0.423065f, -0.432947f, -0.559777f, -0.442663f, -0.306948f, -0.332812f, -0.198911f, 0.019010f, 0.124269f, 0.270123f, 0.441974f, 0.550919f, 0.678408f, 0.753754f, 0.823449f, 0.873157f, 0.784075f, 0.616558f, 0.569576f, 0.365097f, 0.110387f, 0.086709f, -0.058344f, -0.280318f, -0.220164f, -0.093426f, -0.208561f, -0.214424f, -0.045259f, -0.151049f, -0.289523f, -0.174844f, -0.126786f, -0.258976f, -0.220490f, -0.077907f, -0.195946f, -0.232790f, -0.018551f, -0.011621f, -0.104862f, 0.041663f, 0.024310f, -0.168790f, -0.125114f, -0.072618f, -0.240305f, -0.331107f, -0.270749f, -0.369819f, -0.458732f, -0.340311f, -0.273308f, -0.259242f, -0.113472f, 0.053175f, 0.137997f, 0.204730f, 0.282693f, 0.319020f, 0.286144f, 0.373073f, 0.478291f, 0.495797f, 0.463034f, 0.471564f, 0.454831f, 0.369279f, 0.416968f, - 0.376471f, 0.161857f, 0.021299f, -0.092382f, -0.203603f, -0.215223f, -0.177448f, -0.209600f, -0.204905f, -0.177372f, -0.174991f, -0.186551f, -0.153207f, -0.136814f, -0.130616f, -0.123318f, -0.095005f, -0.089971f, -0.093262f, -0.073794f, -0.048225f, -0.043355f, -0.027645f, -0.002970f, 0.011458f, 0.011913f, 0.014353f, 0.005395f, 0.003308f} - }, - { - {0.007552f, 0.018077f, 0.000306f, 0.000741f, -0.008639f, -0.006916f, 0.005212f, 0.003185f, 0.000467f, 0.007373f, -0.011144f, -0.003792f, 0.018044f, 0.001219f, 0.003508f, -0.004760f, -0.006105f, 0.008476f, 0.007088f, -0.002989f, 0.006976f, 0.000283f, 0.001127f, -0.006900f, 0.002465f, -0.006284f, -0.004907f, -0.006173f, 0.002081f, 0.000234f, -0.002021f, -0.000708f, 0.002093f, 0.005354f, -0.002583f, -0.009829f, 0.000152f, -0.007011f, -0.008961f, -0.002360f, 0.004015f, -0.001390f, 0.003582f, 0.002272f, 0.003282f, -0.001424f, -0.001277f, -0.001696f, -0.001466f, 0.003008f, -0.000123f, 0.006199f, -0.000854f, 0.007679f, 0.001261f, 0.001728f, 0.007300f, 0.002596f, 0.001856f, 0.009456f, -0.003868f, 0.003120f, -0.003310f, -0.006706f, 0.006126f, -0.002231f, -0.000002f, 0.002258f, -0.001143f, -0.005570f, -0.001735f, 0.003992f, -0.002613f, -0.000151f, -0.005419f, 0.002598f, 0.000339f, -0.003611f, 0.000414f, -0.005756f, 0.000841f, -0.005521f, -0.000519f, -0.000083f, -0.000764f, 0.003182f, 0.001514f, 0.000831f, 0.001729f, -0.000607f, 0.003193f, 0.002331f, -0.000291f, 0.000714f, 0.000690f, -0.000121f, - 0.000087f, 0.001067f, -0.001380f, 0.000738f, -0.001756f, 0.001474f, 0.000129f, -0.000272f, -0.000107f, 0.001221f, 0.000282f, -0.001127f, 0.000357f, -0.000059f, -0.000685f, -0.001702f, -0.023724f, -0.012320f, -0.005544f, -0.005150f, -0.000025f, 0.000059f, 0.001761f, 0.000334f, -0.001333f, -0.009722f, -0.004412f, -0.009963f, -0.015603f, -0.013035f, 0.007353f, 0.009070f, 0.009175f, -0.003620f, -0.001091f, -0.001038f, -0.002054f, 0.003376f, 0.001408f, -0.003323f, -0.007074f, 0.005089f, 0.004343f, 0.006359f, 0.001660f, -0.002145f, -0.003876f, 0.001802f, 0.003034f, -0.000728f, 0.006459f, -0.003148f, -0.000187f, 0.006278f, -0.004813f, -0.007633f, 0.000602f, 0.010550f, 0.002419f, 0.002332f, 0.001471f, 0.000089f, 0.001346f, -0.001636f, 0.001871f, -0.008341f, 0.001353f, 0.008650f, -0.001989f, 0.000125f, 0.000851f, -0.002956f, -0.001660f, -0.001203f, -0.001415f, -0.002318f, 0.005286f, -0.004971f, 0.005188f, 0.004423f, 0.009710f, -0.000677f, 0.005455f, 0.012404f, -0.002297f, -0.010002f, -0.011216f, -0.000543f, -0.001473f, 0.000601f, -0.009521f, 0.002756f, -0.006686f, -0.004972f, 0.002278f, 0.006939f, - -0.002865f, -0.005302f, -0.006350f, -0.001243f, -0.000704f, 0.001744f, 0.000553f, 0.003986f, 0.002353f, -0.000226f, 0.002007f, 0.000576f, 0.003930f, 0.002974f, 0.001865f, 0.000851f, 0.000852f, -0.000696f, 0.002627f, 0.000121f, 0.000783f, -0.000329f, 0.000049f, -0.001993f, -0.000008f, -0.000390f, 0.016484f, 0.013006f, 0.005529f, 0.006669f, -0.004304f, 0.003020f, 0.011398f, 0.005603f, 0.012276f, -0.004764f, 0.004949f, 0.007056f, -0.000356f, 0.009042f, -0.004670f, 0.005662f, 0.001027f, -0.005746f, -0.001468f, -0.001065f, -0.000362f, -0.001612f, 0.000673f, -0.002871f, 0.000905f, -0.002094f, 0.011228f, -0.002559f, -0.000621f, -0.000005f, -0.005068f, -0.014253f, 0.008122f, -0.003363f, 0.003135f, -0.005646f, -0.005367f, -0.006042f, -0.004023f, 0.003734f, 0.010771f, 0.008522f, 0.003577f, -0.000590f, -0.002316f, 0.003441f, 0.007741f, -0.001698f, -0.002544f, 0.009612f, -0.004251f, 0.004613f, -0.004782f, -0.003728f, -0.002293f, 0.003590f, 0.003797f, -0.006719f, -0.004639f, 0.000203f, 0.007205f, 0.009354f, 0.005065f, 0.007294f, -0.001003f, 0.006834f, 0.002679f, 0.007176f, -0.004032f, 0.002887f, - 0.016377f, 0.007648f, 0.006950f, -0.001667f, -0.004607f, -0.011156f, 0.006483f, 0.002805f, -0.004609f, -0.004615f, -0.001519f, 0.003420f, -0.003393f, -0.001555f, -0.003054f, 0.000114f, 0.002344f, -0.000985f, -0.004598f, 0.001341f, 0.001586f, 0.002650f, 0.002725f, 0.000382f, 0.003859f, 0.001910f, 0.001604f, 0.001202f, -0.001264f, 0.002731f, 0.000253f, -0.000000f, -0.001323f, -0.002007f, -0.002209f, 0.000547f, 0.001586f, 0.000664f, 0.000102f, 0.000498f, -0.000133f, 0.002454f, -0.003344f, -0.000788f, 0.001012f, -0.001328f, 0.001337f, 0.005131f, 0.018936f, 0.002699f, 0.006872f, 0.013718f, 0.000260f, -0.007839f, -0.003363f, -0.002352f, 0.000541f, -0.004938f, -0.013462f, 0.005406f, 0.000454f, 0.000294f, 0.005627f, -0.008927f, -0.004126f, 0.014064f, -0.003446f, -0.005307f, -0.008331f, 0.000289f, -0.007872f, -0.001311f, -0.002627f, -0.002365f, 0.001010f, 0.011365f, -0.000366f, -0.003562f, 0.003333f, -0.009029f, 0.012117f, -0.001541f, -0.002725f, 0.015153f, -0.008728f, 0.000724f, -0.010314f, -0.004712f, 0.000878f, 0.000485f, 0.003965f, 0.004786f, -0.009203f, 0.002745f, 0.003857f, 0.003143f, - 0.000883f, 0.004350f, 0.003154f, 0.006350f, -0.005826f, -0.003107f, 0.011955f, -0.004968f, 0.004569f, 0.001146f, 0.003435f, 0.003094f, -0.001017f, -0.004045f, -0.000627f, 0.008452f, -0.005027f, -0.000552f, -0.002672f, 0.001964f, 0.007539f, -0.004229f, -0.009404f, -0.018158f, 0.001135f, -0.000741f, -0.001564f, 0.000080f, -0.006986f, -0.004886f, -0.010132f, -0.003983f, 0.005044f, -0.000161f, 0.003139f, -0.001196f, 0.006312f, 0.004382f, -0.000058f, 0.003287f, -0.000253f, -0.000382f, 0.002192f, -0.003932f, -0.002104f, -0.003189f, -0.000020f, -0.003809f, 0.002280f, -0.000127f, 0.001089f, -0.001407f, -0.001223f, -0.000149f, -0.001371f, 0.000892f, 0.001444f, -0.003525f, 0.001695f, 0.001447f, 0.000840f, -0.003360f, 0.001797f, 0.001212f, 0.003199f, 0.003378f, -0.000295f, -0.001147f, -0.001751f, 0.001695f, -0.000878f, -0.000604f, 0.000642f, -0.008067f, -0.020422f, 0.010389f, -0.006805f, -0.011434f, 0.000391f, -0.021585f, 0.004552f, 0.006769f, -0.002530f, 0.015991f, -0.006210f, -0.018973f, 0.004444f, 0.007378f, -0.006789f, -0.013386f, 0.022952f, -0.001323f, -0.001523f, 0.005995f, -0.005250f, -0.002832f, - 0.002215f, -0.011179f, 0.006483f, -0.001075f, 0.003119f, -0.002244f, 0.010655f, -0.002608f, 0.005909f, 0.005445f, -0.010814f, -0.005110f, -0.006159f, 0.011214f, -0.005668f, -0.003193f, 0.008282f, -0.002820f, -0.006417f, 0.005007f, 0.015313f, -0.007735f, 0.007389f, -0.007995f, 0.010018f, -0.005491f, 0.005212f, 0.001142f, -0.005611f, -0.015710f, 0.008707f, 0.011510f, -0.001208f, -0.003526f, 0.006412f, 0.008100f, 0.007617f, -0.010781f, -0.001380f, -0.009499f, -0.001021f, 0.003488f, -0.006842f, 0.002687f, 0.007404f, -0.007919f, -0.000304f, 0.001644f, -0.007806f, -0.005500f, 0.007063f, -0.005044f, 0.005558f, -0.003251f, -0.009986f, 0.002098f, -0.009685f, 0.002570f, -0.003739f, 0.003430f, -0.010652f, 0.009797f, -0.008056f, 0.001074f, -0.007497f, -0.000175f, -0.000566f, 0.002063f, -0.000888f, 0.000018f, -0.002415f, 0.002625f, -0.007242f, 0.002564f, -0.005949f, -0.004647f, 0.000036f, 0.004354f, 0.001945f, 0.000851f, 0.001245f, 0.000328f, 0.002470f, 0.005523f, -0.004686f, 0.004599f, -0.003058f, -0.000569f, 0.002812f, 0.002354f, -0.003347f, 0.000013f, -0.008193f, 0.010351f, -0.011403f, -0.011350f, - -0.019411f, 0.008161f, 0.020544f, 0.003104f, -0.003670f, -0.001796f, -0.003444f, 0.017858f, -0.010711f, -0.009792f, -0.002297f, -0.010793f, -0.003297f, -0.011724f, -0.005041f, -0.008235f, -0.016245f, -0.004583f, -0.003571f, -0.000590f, -0.001771f, 0.004201f, 0.009716f, 0.003447f, 0.004820f, -0.014955f, 0.001869f, -0.000259f, -0.004660f, 0.005168f, 0.002784f, -0.004371f, -0.001905f, -0.010649f, -0.011771f, -0.001736f, 0.013098f, -0.003845f, -0.006700f, -0.001452f, -0.004336f, -0.009196f, 0.000182f, -0.009601f, 0.019647f, 0.016539f, 0.004311f, -0.005063f, -0.004564f, 0.001725f, 0.002985f, 0.003383f, 0.003265f, -0.001199f, 0.007336f, -0.006931f, 0.003265f, -0.006097f, 0.000224f, -0.000073f, 0.004136f, 0.002867f, 0.009244f, -0.003990f, -0.005618f, -0.005159f, -0.021269f, 0.000665f, 0.004480f, -0.002152f, 0.007766f, 0.003343f, -0.006369f, 0.001856f, -0.011142f, -0.004156f, 0.000972f, 0.008569f, 0.003695f, 0.011725f, 0.002401f, -0.001402f, 0.000115f, 0.004348f, -0.004807f, -0.000611f, 0.001168f, -0.002010f, 0.003048f, -0.004201f, 0.002258f, -0.003199f, -0.002567f, -0.000518f, -0.003540f, -0.003514f, - -0.004342f, -0.002309f, -0.001230f, 0.003303f, 0.002797f, -0.003250f, -0.004599f, -0.001408f, -0.003504f, 0.002478f, -0.003914f, 0.001961f, -0.002252f, -0.000643f, 0.004022f, 0.000290f, 0.003375f, -0.020058f, 0.003248f, 0.020450f, 0.019274f, -0.020715f, -0.018908f, 0.004885f, -0.015047f, -0.007992f, 0.002152f, -0.001057f, -0.006159f, 0.015518f, 0.006856f, -0.021883f, -0.001800f, 0.001297f, -0.000233f, 0.013973f, 0.005166f, -0.010171f, 0.014685f, 0.005480f, 0.001899f, -0.007896f, -0.008443f, 0.006292f, -0.005433f, -0.014825f, -0.002748f, -0.001938f, -0.006671f, -0.008849f, -0.012005f, 0.012723f, 0.000843f, 0.001879f, -0.008334f, 0.000204f, 0.008973f, -0.007117f, -0.015094f, -0.015245f, 0.015945f, 0.003595f, 0.015048f, -0.002406f, 0.004271f, 0.011126f, 0.022584f, 0.007310f, -0.002903f, -0.011556f, -0.005026f, -0.005760f, 0.003377f, 0.001227f, -0.009079f, -0.003660f, 0.013102f, 0.009301f, 0.017823f, 0.008377f, -0.012439f, -0.011835f, 0.014733f, 0.007873f, -0.007850f, 0.000092f, 0.015176f, 0.001194f, -0.000929f, -0.011840f, 0.013012f, 0.009809f, -0.002405f, 0.018218f, -0.002803f, -0.005246f, - -0.019117f, -0.002510f, 0.000869f, 0.010142f, -0.013223f, -0.000808f, 0.005777f, -0.003204f, -0.009540f, -0.008865f, -0.001286f, -0.000878f, -0.001821f, -0.011083f, -0.009899f, -0.005807f, 0.003447f, -0.000202f, -0.004608f, -0.001507f, -0.000708f, 0.000988f, 0.000824f, 0.001660f, -0.001042f, 0.003749f, -0.003175f, -0.000764f, -0.000010f, -0.002193f, -0.007436f, 0.000504f, 0.004156f, -0.001315f, -0.006581f, 0.000573f, -0.001666f, 0.002326f, 0.000274f, -0.000800f, -0.000685f, 0.002149f, -0.001105f, 0.003961f, 0.001931f, -0.000104f, -0.003692f, 0.002685f, -0.002935f, 0.002713f, 0.003340f, -0.008213f, 0.003251f, -0.003073f, -0.001656f, 0.010047f, -0.016741f, 0.010065f, -0.010977f, 0.001979f, 0.008776f, -0.000116f, -0.004464f, 0.003280f, -0.011496f, 0.000457f, -0.008955f, -0.025985f, -0.007955f, 0.010988f, 0.007104f, 0.003998f, -0.006330f, 0.005293f, 0.002363f, 0.027729f, 0.004750f, -0.009409f, 0.010303f, 0.002014f, 0.002178f, 0.018426f, -0.005340f, -0.005217f, 0.006389f, -0.013034f, 0.015614f, 0.014417f, -0.000377f, 0.008142f, -0.003081f, -0.007993f, -0.001083f, -0.010038f, 0.000793f, -0.009830f, - 0.003779f, -0.000171f, 0.002781f, 0.001098f, -0.016859f, -0.003494f, -0.002218f, 0.000901f, -0.008522f, 0.003635f, 0.003680f, -0.003262f, 0.022121f, -0.009718f, -0.019761f, 0.011732f, 0.019338f, 0.004369f, 0.004961f, -0.008594f, 0.016585f, -0.005709f, 0.002747f, 0.007442f, 0.002132f, -0.007573f, 0.007887f, 0.003406f, 0.000903f, -0.000083f, -0.015247f, -0.005399f, 0.007411f, 0.013470f, -0.005280f, -0.010016f, -0.013876f, -0.004537f, 0.004609f, 0.002524f, 0.006873f, -0.017085f, 0.003169f, 0.011465f, 0.001472f, -0.000685f, 0.004362f, -0.003580f, -0.001977f, -0.000495f, -0.000964f, 0.006009f, -0.001732f, 0.001900f, -0.001829f, -0.001264f, -0.001351f, -0.004376f, -0.002490f, 0.002057f, -0.003091f, 0.004138f, -0.000691f, -0.000757f, -0.002038f, -0.002461f, -0.012982f, 0.001213f, 0.006896f, -0.000354f, 0.002387f, -0.001251f, 0.004265f, 0.001442f, -0.002564f, -0.002991f, 0.002377f, 0.056604f, -0.015511f, 0.000341f, -0.005712f, -0.003621f, -0.012614f, -0.000286f, -0.033170f, 0.017224f, -0.011926f, -0.000843f, 0.019187f, 0.009475f, -0.012746f, -0.013676f, -0.005127f, -0.011696f, 0.010542f, -0.027442f, - 0.005053f, 0.011353f, 0.015683f, 0.003075f, 0.004664f, 0.000619f, 0.002541f, -0.003643f, -0.008643f, -0.025090f, -0.003725f, 0.003157f, 0.011510f, -0.009057f, 0.011097f, 0.004311f, -0.004591f, -0.001641f, 0.008586f, -0.009113f, -0.008616f, -0.004978f, -0.006594f, -0.001015f, -0.022229f, -0.010425f, -0.005334f, -0.000665f, 0.017548f, 0.003888f, 0.016738f, 0.005730f, -0.000810f, -0.010588f, 0.001243f, 0.000993f, 0.002513f, 0.005754f, 0.023474f, 0.002696f, -0.022065f, 0.005630f, -0.008682f, -0.000671f, -0.008354f, -0.009355f, -0.004407f, 0.008949f, 0.005779f, -0.039059f, -0.014689f, -0.011666f, 0.007333f, -0.001743f, -0.008431f, -0.005439f, 0.021956f, -0.009109f, 0.016855f, -0.016006f, -0.012043f, -0.017328f, -0.009477f, -0.018416f, -0.002937f, 0.024432f, 0.005665f, -0.003032f, 0.002858f, 0.010340f, -0.000286f, 0.012763f, -0.007308f, 0.004869f, 0.007102f, 0.008630f, 0.003360f, -0.001624f, -0.017083f, -0.006392f, -0.008818f, 0.000035f, 0.005418f, 0.004664f, -0.003532f, -0.001319f, 0.007076f, 0.002885f, -0.005708f, -0.002452f, -0.004035f, -0.001836f, 0.000210f, 0.003597f, -0.003087f, -0.003022f, - 0.009016f, 0.007593f, 0.002321f, -0.001188f, 0.003192f, 0.006190f, 0.000352f, -0.005699f, -0.000667f, -0.005815f, 0.001341f, -0.005234f, 0.002904f, -0.008737f, -0.009501f, 0.007094f, -0.017657f, 0.001039f, -0.041277f, 0.010001f, -0.013479f, 0.003984f, -0.014011f, -0.030543f, -0.004638f, -0.007146f, 0.021703f, 0.009127f, 0.007857f, -0.000777f, 0.028788f, -0.021631f, 0.005343f, 0.008115f, 0.022262f, -0.025608f, -0.014513f, -0.005105f, 0.002189f, -0.001753f, -0.007179f, -0.002415f, 0.007750f, -0.013805f, 0.002899f, 0.008106f, -0.001489f, 0.001075f, -0.011020f, -0.012759f, -0.007785f, 0.034310f, 0.000408f, -0.008381f, 0.013457f, -0.008278f, -0.017178f, -0.014183f, -0.009262f, -0.002507f, 0.006197f, 0.001249f, 0.001296f, 0.019049f, 0.017542f, -0.003166f, 0.006325f, 0.004190f, -0.021914f, -0.015136f, -0.000840f, -0.001776f, -0.005649f, -0.015039f, 0.018582f, 0.022289f, -0.018159f, 0.012032f, 0.011430f, -0.003580f, -0.017346f, -0.028210f, -0.027213f, -0.021090f, -0.012291f, -0.024343f, 0.002350f, -0.019927f, 0.012082f, 0.010754f, 0.001912f, 0.000241f, -0.033876f, 0.002228f, 0.000773f, 0.002510f, - -0.017293f, 0.005862f, 0.019472f, 0.002608f, 0.005049f, -0.015397f, -0.009400f, -0.001881f, -0.016087f, 0.003792f, 0.010254f, -0.004781f, -0.005878f, -0.007446f, 0.006464f, 0.010309f, -0.017868f, -0.009850f, -0.000733f, 0.012043f, 0.004615f, -0.005225f, 0.004382f, -0.000611f, -0.000032f, 0.005432f, -0.003301f, 0.006996f, -0.007830f, -0.002791f, 0.006007f, 0.005112f, -0.001815f, 0.013536f, 0.001040f, -0.008436f, -0.007016f, -0.001179f, -0.005745f, -0.005321f, 0.000908f, 0.003848f, -0.002330f, -0.016825f, -0.014301f, -0.009753f, -0.011214f, -0.003426f, -0.025341f, 0.001184f, 0.027447f, -0.009653f, 0.014400f, -0.005748f, 0.027362f, 0.023333f, 0.009486f, -0.028515f, -0.007476f, 0.038201f, -0.010019f, 0.028328f, 0.004269f, -0.027082f, -0.013914f, 0.031999f, 0.000516f, -0.021465f, 0.000330f, -0.018298f, -0.002697f, 0.006513f, 0.002449f, -0.003643f, -0.032043f, -0.028284f, 0.007639f, 0.020503f, -0.018379f, -0.001585f, 0.007811f, -0.001350f, 0.002957f, 0.034043f, 0.006093f, 0.004973f, 0.002777f, 0.011264f, -0.015233f, -0.010660f, -0.007899f, -0.035848f, -0.012335f, -0.013446f, -0.009447f, 0.009476f, - 0.006167f, -0.002258f, -0.003727f, -0.014178f, -0.021649f, 0.028069f, -0.006195f, -0.024649f, -0.011698f, 0.005021f, 0.018654f, -0.014891f, -0.004806f, -0.015806f, -0.003108f, -0.018887f, -0.003774f, -0.004022f, -0.038100f, 0.003487f, -0.012919f, 0.026304f, -0.006903f, -0.021372f, -0.040397f, -0.026555f, -0.005143f, 0.003344f, 0.014029f, -0.010417f, -0.009636f, -0.021943f, 0.019992f, 0.033953f, 0.003502f, -0.004025f, 0.011471f, -0.008869f, 0.012698f, -0.009576f, -0.004703f, 0.004371f, 0.009701f, 0.007047f, -0.011926f, 0.000413f, 0.002415f, -0.000157f, -0.000902f, -0.002981f, 0.003160f, 0.012054f, -0.005098f, -0.010599f, -0.000501f, -0.002378f, 0.005489f, -0.000088f, 0.011692f, 0.000812f, 0.004263f, 0.000412f, -0.007204f, 0.001881f, -0.002892f, 0.012581f, 0.000721f, -0.008025f, -0.001525f, -0.001954f, 0.008418f, 0.000825f, -0.009219f, -0.001429f, 0.006496f, -0.003015f, 0.001593f, 0.013106f, -0.046400f, -0.023748f, -0.015943f, -0.025432f, -0.013562f, -0.010432f, -0.026305f, 0.027641f, -0.007990f, 0.041740f, -0.021067f, -0.031567f, -0.006116f, -0.021207f, 0.035974f, -0.012418f, -0.018947f, -0.008824f, - 0.009656f, 0.018239f, 0.015713f, -0.003840f, -0.004208f, -0.008286f, 0.003975f, 0.029597f, -0.000779f, 0.002782f, -0.009535f, -0.003790f, -0.015515f, -0.005122f, 0.006894f, 0.005056f, -0.012826f, 0.000567f, -0.018984f, 0.003761f, -0.005667f, -0.005735f, 0.007765f, 0.003561f, -0.008837f, -0.003598f, 0.016239f, 0.006047f, -0.013435f, -0.017745f, 0.029535f, -0.001464f, -0.047012f, 0.024401f, -0.005208f, -0.020041f, 0.009482f, -0.002969f, 0.002165f, -0.004653f, 0.016364f, 0.006247f, 0.001685f, 0.045089f, 0.044600f, -0.015823f, 0.004879f, -0.033610f, -0.007113f, -0.006538f, 0.014248f, -0.005229f, 0.002325f, 0.013665f, -0.010132f, 0.025695f, -0.010894f, 0.002728f, -0.034933f, 0.014402f, -0.009084f, -0.024573f, 0.012295f, -0.005777f, 0.049212f, 0.011594f, 0.009391f, 0.018078f, 0.002049f, -0.017304f, -0.001356f, -0.007215f, -0.004211f, 0.004796f, -0.006079f, 0.009885f, 0.006160f, -0.007661f, 0.012554f, 0.006963f, -0.008211f, -0.002307f, 0.000768f, 0.001117f, -0.003358f, 0.002524f, 0.004416f, -0.001342f, -0.003668f, 0.000696f, 0.003930f, 0.002149f, 0.002983f, -0.008081f, 0.008055f, -0.016017f, - 0.014101f, -0.009489f, -0.005422f, -0.001257f, 0.007366f, 0.010300f, 0.002834f, -0.012223f, 0.000146f, -0.005055f, -0.002859f, 0.002684f, -0.011536f, -0.021215f, 0.006213f, 0.055829f, -0.041843f, -0.013374f, -0.026452f, -0.017585f, 0.021224f, -0.024056f, 0.051306f, -0.005973f, 0.015745f, 0.002883f, 0.012543f, -0.031801f, 0.005941f, 0.008404f, -0.002251f, -0.004745f, -0.002694f, 0.009457f, -0.019462f, -0.011819f, -0.002672f, -0.005494f, -0.024081f, -0.021433f, -0.005662f, -0.009887f, 0.029309f, -0.007563f, -0.013753f, -0.009960f, 0.010137f, -0.014957f, -0.006261f, -0.025923f, 0.012251f, -0.009877f, 0.010806f, -0.009148f, 0.013715f, -0.006912f, -0.044712f, -0.022778f, 0.006696f, -0.003452f, -0.002663f, -0.013933f, -0.026601f, -0.001495f, 0.011826f, 0.007940f, -0.005995f, 0.008832f, 0.013791f, 0.042515f, -0.018156f, 0.020161f, -0.047744f, 0.003048f, 0.007080f, -0.005646f, -0.013677f, 0.009729f, 0.001850f, 0.002248f, 0.010787f, 0.033799f, 0.022961f, 0.017335f, -0.009009f, -0.010867f, 0.016755f, -0.020325f, 0.005051f, 0.017114f, -0.012066f, 0.042272f, -0.000614f, 0.013138f, -0.011491f, 0.024390f, - -0.023157f, -0.022818f, 0.000776f, 0.008573f, -0.010449f, -0.002539f, 0.026414f, 0.000260f, 0.024050f, 0.008797f, -0.003692f, -0.003786f, -0.013689f, -0.001095f, -0.000707f, 0.006789f, -0.000874f, -0.011012f, 0.001929f, 0.004962f, 0.013635f, -0.019882f, 0.003442f, -0.010090f, 0.004210f, 0.011360f, -0.003881f, -0.000309f, -0.010378f, 0.003423f, 0.003880f, -0.006727f, -0.023945f, -0.014994f, -0.009464f, 0.004648f, -0.012655f, -0.007189f, -0.008488f, -0.007605f, 0.004816f, 0.009253f, -0.000265f, 0.007677f, 0.002948f, 0.004090f, 0.001402f, -0.017314f, 0.014689f, -0.012779f, 0.022423f, 0.066077f, 0.046809f, -0.012574f, -0.029303f, -0.019856f, 0.040119f, -0.047682f, 0.002553f, -0.012088f, -0.011694f, 0.019497f, -0.034952f, 0.004660f, -0.017881f, -0.000442f, -0.024321f, -0.018763f, 0.002835f, 0.001273f, 0.000977f, -0.023486f, 0.037439f, 0.007586f, -0.016752f, 0.006790f, -0.004949f, 0.003291f, 0.055820f, 0.017639f, -0.015586f, -0.013712f, 0.002708f, 0.017323f, 0.004670f, -0.041733f, -0.010278f, -0.028848f, -0.009638f, -0.013501f, 0.014097f, -0.007774f, -0.003967f, -0.000268f, -0.001440f, -0.020454f, - -0.023765f, 0.015491f, -0.009004f, 0.004203f, -0.001119f, 0.020792f, -0.016878f, -0.012053f, 0.005285f, 0.008697f, -0.022344f, 0.024953f, -0.015631f, -0.036364f, -0.033925f, -0.012109f, -0.009741f, -0.014694f, -0.007606f, -0.051702f, 0.018254f, -0.024524f, -0.007792f, -0.020470f, 0.028669f, 0.009332f, 0.013715f, 0.000008f, -0.004407f, -0.024993f, -0.007571f, 0.033788f, -0.027813f, 0.040941f, 0.031236f, 0.011008f, -0.007377f, 0.001447f, -0.005787f, 0.005917f, -0.018091f, -0.014504f, -0.009032f, 0.002535f, -0.002484f, 0.002641f, 0.007630f, -0.013088f, -0.003278f, 0.013273f, 0.013769f, -0.005367f, 0.008554f, -0.007266f, -0.011822f, -0.005152f, -0.003730f, 0.008818f, 0.002321f, 0.003364f, -0.011699f, -0.007574f, 0.003986f, -0.004244f, 0.003702f, 0.004949f, 0.008242f, 0.016479f, 0.006469f, 0.009298f, -0.011084f, -0.006233f, -0.003847f, 0.004947f, -0.005436f, 0.002344f, -0.005042f, 0.002452f, 0.016557f, 0.008002f, 0.004424f, -0.003033f, 0.010374f, 0.003487f, -0.004461f, -0.065192f, -0.008065f, 0.043435f, -0.053257f, -0.021186f, -0.001283f, -0.016280f, 0.019320f, -0.011043f, 0.060219f, -0.006002f, - -0.013082f, -0.009910f, -0.002653f, 0.017705f, -0.011957f, -0.011544f, 0.049141f, -0.035914f, -0.004371f, 0.011534f, -0.007951f, 0.030846f, 0.017343f, -0.002033f, -0.003853f, 0.013165f, 0.017471f, 0.019132f, 0.015589f, 0.032643f, 0.010365f, 0.014120f, 0.008464f, -0.010421f, 0.054417f, 0.006988f, 0.010157f, 0.013895f, 0.008093f, 0.039428f, -0.002818f, 0.009841f, 0.013529f, 0.011502f, 0.006404f, 0.026065f, -0.015364f, -0.012233f, 0.025781f, -0.004599f, -0.026072f, -0.006548f, -0.045569f, -0.015349f, -0.008771f, 0.043256f, -0.040840f, -0.005141f, 0.001743f, -0.001265f, -0.002379f, 0.025560f, 0.069620f, -0.012026f, 0.008704f, 0.008094f, 0.010531f, 0.033357f, -0.036045f, -0.036850f, -0.033640f, 0.059435f, 0.004358f, -0.022191f, 0.054428f, -0.020650f, 0.047448f, -0.025445f, 0.018186f, 0.002124f, -0.063174f, -0.009064f, -0.015819f, 0.018201f, -0.001339f, -0.005330f, 0.000376f, 0.011480f, -0.001726f, -0.019043f, 0.010290f, 0.000389f, -0.008967f, -0.000073f, -0.016836f, 0.022701f, -0.002463f, 0.008216f, -0.010758f, -0.009588f, -0.009621f, -0.012731f, -0.001239f, 0.000464f, 0.021529f, -0.000879f, - 0.002360f, -0.008538f, 0.002380f, -0.020347f, 0.006484f, -0.019610f, -0.003671f, -0.004173f, -0.017616f, 0.009409f, -0.013951f, -0.013926f, 0.003064f, -0.019458f, 0.005991f, 0.015697f, 0.014569f, -0.007281f, -0.006889f, 0.003837f, 0.005906f, 0.013654f, 0.017319f, 0.038621f, 0.003519f, -0.038923f, -0.114456f, 0.022932f, -0.027487f, -0.044245f, 0.049590f, -0.029698f, -0.015280f, -0.043571f, 0.011321f, -0.008618f, -0.042566f, -0.013780f, -0.025269f, 0.011952f, -0.023400f, 0.001202f, 0.009145f, 0.019211f, 0.009770f, 0.032498f, 0.005138f, -0.000166f, -0.003338f, -0.027238f, -0.020933f, -0.019374f, 0.015764f, 0.024315f, 0.011309f, 0.008691f, -0.000663f, 0.009438f, 0.019049f, 0.044399f, -0.020953f, -0.011599f, 0.007811f, -0.020062f, 0.021368f, 0.004714f, -0.019362f, 0.045188f, 0.016509f, -0.037890f, 0.015041f, -0.036445f, 0.004365f, 0.007060f, 0.019273f, -0.010299f, -0.012298f, 0.057436f, 0.022326f, -0.024579f, 0.015018f, 0.030425f, -0.023485f, -0.049922f, 0.027821f, -0.003933f, -0.000517f, 0.004197f, 0.012234f, 0.077695f, -0.007158f, 0.009799f, 0.014934f, -0.000154f, 0.017905f, 0.010520f, - -0.041107f, 0.008837f, -0.021835f, -0.019053f, -0.011455f, 0.009486f, -0.066426f, -0.007996f, 0.020845f, 0.003391f, 0.033147f, -0.024199f, 0.023508f, -0.015773f, -0.006865f, -0.008837f, 0.010582f, 0.004703f, -0.008046f, 0.000164f, 0.000087f, -0.011685f, 0.009509f, -0.014777f, 0.015753f, 0.002195f, 0.011007f, 0.009380f, -0.006615f, -0.005431f, 0.002853f, -0.004046f, 0.002386f, 0.003729f, -0.006419f, -0.002263f, -0.007392f, -0.005168f, -0.004813f, -0.013237f, 0.000363f, 0.001953f, 0.007871f, -0.004205f, 0.007586f, 0.018193f, -0.009375f, 0.003054f, -0.009407f, 0.004872f, 0.005858f, -0.015157f, 0.000270f, 0.004982f, -0.014298f, -0.007077f, 0.012642f, 0.000205f, 0.002600f, 0.002861f, 0.000579f, -0.035409f, -0.040747f, 0.087396f, 0.018696f, -0.005649f, -0.010520f, 0.019711f, 0.078988f, 0.036228f, 0.009461f, -0.002290f, 0.026490f, 0.065954f, 0.016426f, 0.022737f, 0.020583f, 0.047022f, -0.030301f, 0.030455f, 0.013556f, -0.090295f, 0.026765f, -0.012773f, 0.026789f, -0.028121f, 0.021256f, 0.014095f, 0.028069f, -0.000228f, 0.011920f, 0.004392f, -0.025601f, 0.012770f, 0.025428f, -0.021321f, - 0.012793f, -0.020704f, -0.012426f, 0.064728f, 0.006641f, 0.057309f, -0.040761f, 0.017843f, -0.002063f, -0.008211f, -0.001258f, -0.004990f, 0.008932f, 0.021001f, 0.014599f, -0.001605f, 0.032776f, -0.052214f, -0.049185f, 0.035690f, -0.027984f, -0.007227f, -0.006534f, -0.033771f, 0.017041f, -0.008910f, 0.009627f, 0.005224f, 0.055499f, 0.026930f, 0.029255f, 0.010967f, 0.007863f, -0.050473f, -0.011602f, 0.024808f, -0.000462f, 0.000618f, -0.000039f, -0.016206f, -0.043890f, 0.008386f, 0.004061f, -0.032878f, 0.004645f, -0.015808f, -0.012989f, 0.013777f, 0.009284f, 0.049776f, -0.007144f, 0.012642f, 0.011889f, -0.009610f, -0.012877f, -0.001424f, -0.012243f, -0.004741f, 0.029318f, 0.012230f, 0.005287f, 0.001435f, -0.000570f, 0.000668f, -0.000401f, -0.001783f, -0.019948f, -0.006126f, 0.012133f, -0.003523f, 0.001190f, -0.007430f, -0.010096f, -0.004151f, 0.003194f, 0.023758f, -0.015908f, -0.015392f, 0.013962f, 0.006812f, -0.017868f, 0.012520f, 0.007540f, -0.012700f, 0.015858f, 0.001255f, -0.009585f, -0.004509f, -0.006660f, -0.003063f, -0.003112f, 0.007830f, 0.003926f, 0.003877f, 0.008995f, 0.013086f, - 0.009713f, -0.002635f, 0.022689f, -0.079222f, 0.067586f, -0.028487f, 0.013354f, 0.043732f, -0.063330f, -0.001654f, -0.005089f, 0.015436f, 0.024129f, 0.027524f, 0.047810f, 0.008017f, -0.030117f, 0.016837f, 0.050897f, -0.071715f, -0.041776f, 0.048170f, 0.002899f, -0.000371f, 0.002706f, 0.004126f, -0.000866f, -0.001239f, 0.025056f, 0.015103f, -0.034010f, 0.002187f, -0.009255f, 0.059903f, 0.036666f, -0.012250f, 0.004061f, 0.007198f, 0.007891f, -0.000402f, 0.022212f, 0.002177f, 0.017168f, 0.061136f, 0.008882f, 0.006431f, -0.008806f, 0.015689f, -0.057711f, -0.025196f, -0.024006f, -0.002618f, 0.006588f, -0.051330f, 0.020572f, -0.045562f, 0.015740f, 0.047189f, -0.010028f, -0.042532f, -0.022525f, 0.017558f, -0.008079f, -0.086851f, 0.023949f, -0.060627f, -0.013037f, -0.007565f, 0.002142f, -0.024326f, 0.006288f, 0.030565f, -0.025031f, -0.057615f, -0.086458f, 0.067603f, 0.020635f, -0.010621f, 0.019346f, -0.020482f, 0.020670f, 0.037487f, -0.038953f, 0.067206f, 0.009274f, -0.007164f, 0.031229f, 0.017717f, -0.010830f, 0.017351f, 0.001271f, 0.018730f, -0.018228f, -0.009711f, 0.005059f, 0.013533f, - 0.023323f, 0.006931f, 0.021023f, -0.013921f, 0.011933f, 0.021842f, 0.019385f, -0.003252f, 0.017647f, -0.018969f, 0.007512f, 0.001789f, 0.008120f, 0.036418f, -0.024335f, 0.014474f, 0.001981f, -0.001389f, 0.028424f, 0.007760f, 0.037058f, -0.004889f, 0.018305f, 0.004842f, 0.014440f, 0.004128f, -0.007623f, 0.011086f, -0.019152f, 0.016523f, -0.007098f, 0.013680f, -0.003284f, 0.003664f, -0.001554f, 0.002747f, -0.000276f, 0.014323f, -0.003275f, -0.003574f, -0.001948f, 0.006100f, -0.000715f, -0.001606f, 0.000670f, 0.002980f, 0.002052f, 0.002473f, -0.001796f, 0.002471f, -0.002108f, 0.002335f, 0.001641f, 0.002613f, -0.004965f, 0.096578f, -0.103926f, 0.042017f, 0.052840f, -0.065110f, -0.020089f, -0.035051f, -0.019312f, 0.095892f, -0.043169f, 0.068054f, -0.031945f, -0.009158f, -0.017303f, 0.022311f, 0.008320f, -0.082912f, -0.015858f, -0.021940f, 0.035547f, 0.001875f, 0.014765f, 0.028878f, -0.040772f, -0.007461f, -0.026167f, 0.014593f, 0.033470f, 0.021108f, -0.052654f, -0.008995f, 0.010079f, 0.007150f, -0.003685f, -0.024475f, -0.010604f, -0.047010f, -0.009069f, -0.006365f, 0.043021f, -0.038329f, - 0.094447f, 0.021123f, -0.028149f, 0.042099f, 0.001073f, 0.054613f, 0.029270f, 0.051850f, 0.012266f, 0.047398f, 0.038057f, 0.046384f, 0.048252f, 0.007678f, 0.046683f, -0.059970f, -0.010781f, 0.012961f, -0.040094f, -0.006580f, 0.024628f, -0.046440f, -0.068833f, 0.027847f, 0.044112f, 0.001751f, 0.009931f, -0.047590f, -0.013205f, -0.039748f, -0.001851f, 0.046158f, 0.003524f, 0.085941f, 0.038558f, -0.021254f, 0.090085f, 0.048172f, -0.026839f, -0.009946f, -0.019229f, -0.028295f, -0.018402f, 0.022537f, -0.013045f, -0.044024f, 0.007138f, 0.031550f, 0.001023f, -0.014157f, -0.011805f, -0.008828f, -0.015056f, -0.026488f, 0.004626f, -0.005781f, -0.003649f, -0.020320f, -0.001996f, -0.006843f, 0.009059f, 0.015325f, -0.004576f, 0.003469f, -0.006033f, -0.015706f, 0.010495f, -0.003800f, -0.012612f, -0.030130f, 0.014210f, -0.041719f, -0.005946f, -0.028727f, -0.017912f, -0.023236f, -0.006202f, -0.003124f, -0.008692f, -0.016046f, -0.008251f, -0.018381f, -0.003559f, -0.001517f, -0.001464f, -0.012080f, 0.019402f, -0.014709f, 0.009184f, -0.134939f, 0.123038f, -0.027912f, -0.040786f, -0.035959f, 0.085288f, -0.064715f, - -0.010259f, -0.018586f, -0.000565f, 0.045644f, -0.050684f, -0.004671f, 0.020391f, -0.015364f, -0.006520f, 0.001158f, -0.028567f, 0.040804f, 0.002685f, -0.066804f, -0.016463f, -0.016258f, 0.004501f, -0.073214f, -0.000238f, 0.008601f, -0.014131f, 0.000514f, 0.020371f, 0.045006f, -0.018289f, -0.011517f, 0.010039f, -0.030334f, -0.093690f, 0.008024f, 0.075097f, -0.038229f, -0.057509f, 0.003859f, 0.060669f, -0.028250f, -0.017574f, -0.078168f, -0.012267f, 0.001468f, 0.056047f, 0.025690f, 0.007484f, -0.058979f, -0.033285f, 0.046208f, -0.055205f, 0.019511f, 0.092295f, 0.051901f, 0.071649f, -0.034504f, 0.041907f, 0.026385f, -0.079567f, -0.029445f, -0.042598f, -0.010606f, 0.047319f, -0.002264f, 0.051145f, 0.041261f, -0.079070f, 0.088418f, -0.053562f, -0.000257f, 0.004782f, -0.040663f, 0.087613f, -0.005939f, -0.020068f, 0.070137f, -0.056841f, -0.009888f, -0.081197f, -0.027792f, 0.037404f, -0.011634f, 0.033858f, 0.036118f, -0.008227f, -0.014312f, 0.006350f, -0.020008f, -0.022889f, -0.006533f, -0.016809f, -0.010274f, -0.013587f, 0.005779f, -0.016940f, 0.003308f, -0.021416f, -0.021333f, -0.018732f, 0.015789f, - -0.010991f, -0.001952f, 0.011167f, 0.002622f, -0.003744f, -0.023291f, -0.036115f, -0.023441f, -0.047131f, 0.034701f, 0.014547f, 0.030031f, 0.010949f, -0.025719f, -0.026007f, -0.013718f, -0.003544f, 0.038141f, -0.007871f, -0.000264f, 0.005202f, -0.006161f, -0.006169f, -0.003298f, -0.014254f, 0.026559f, -0.016671f, 0.034079f, -0.000176f, 0.080417f, 0.057072f, 0.008411f, -0.015387f, -0.041778f, 0.024474f, -0.003282f, -0.003727f, -0.002654f, -0.001371f, 0.000177f, -0.015963f, 0.020250f, -0.000384f, -0.071764f, 0.018039f, 0.006432f, -0.024792f, 0.000948f, 0.031039f, -0.010456f, 0.002113f, -0.051894f, 0.037826f, -0.018466f, -0.005558f, -0.005233f, 0.021552f, -0.028124f, -0.000999f, 0.006396f, 0.000897f, 0.005943f, -0.013297f, 0.038434f, -0.020098f, 0.067750f, -0.041640f, -0.044448f, 0.041939f, -0.046966f, 0.002524f, 0.035014f, -0.032369f, -0.014475f, 0.018728f, 0.021800f, 0.028937f, -0.103351f, 0.032982f, -0.000983f, -0.023567f, 0.065536f, -0.032812f, 0.004021f, 0.000418f, -0.055653f, 0.071411f, -0.003403f, -0.003027f, -0.037499f, -0.006677f, 0.058830f, -0.013629f, -0.002216f, 0.002431f, 0.016961f, - 0.009874f, -0.072654f, 0.035920f, 0.064739f, -0.033912f, 0.025938f, -0.050576f, 0.084872f, 0.003919f, -0.079214f, 0.001171f, 0.044187f, -0.004363f, -0.049210f, -0.010975f, 0.115636f, -0.017908f, -0.047632f, 0.008110f, 0.051013f, -0.013095f, -0.015945f, -0.005904f, -0.002263f, 0.003096f, 0.002302f, -0.012863f, 0.033676f, -0.005359f, -0.007912f, 0.001986f, 0.011503f, 0.028316f, -0.008424f, -0.013684f, 0.015546f, 0.003604f, -0.026097f, -0.009439f, 0.014008f, 0.003303f, -0.010902f, -0.005766f, 0.022499f, -0.020358f, -0.004115f, 0.003601f, 0.003239f, -0.019220f, -0.007799f, 0.025098f, -0.001352f, -0.017895f, -0.007615f, 0.018218f, -0.005324f, -0.013413f, -0.011465f, 0.015933f, -0.045099f, -0.149482f, -0.226614f, 0.015290f, 0.195996f, 0.003087f, 0.512756f, 0.464781f, 0.278253f, 0.536568f, 0.352054f, -0.058136f, 0.020366f, -0.068809f, -0.422378f, -0.239828f, -0.185862f, -0.412530f, -0.339270f, -0.100055f, -0.199164f, -0.228699f, -0.018637f, 0.013650f, -0.096749f, 0.021251f, 0.087534f, -0.111747f, -0.095009f, 0.149845f, 0.030654f, -0.036262f, 0.104562f, 0.140353f, -0.000177f, 0.143965f, 0.243653f, - 0.087363f, 0.066832f, 0.248454f, 0.167915f, 0.020343f, 0.182381f, 0.269142f, 0.118222f, 0.137646f, 0.306668f, 0.116510f, 0.041853f, 0.292951f, 0.288288f, 0.089155f, 0.347226f, 0.493838f, 0.184067f, 0.202761f, 0.344318f, 0.105095f, -0.111484f, 0.019802f, -0.114514f, -0.414853f, -0.395754f, -0.422600f, -0.678989f, -0.733859f, -0.784840f, -0.928142f, -0.971019f, -0.948387f, -0.923100f, -0.812624f, -0.729338f, -0.596309f, -0.394042f, -0.281196f, -0.097143f, 0.268073f, 0.434737f, 0.429483f, 0.795226f, 0.848073f, 0.660042f, 0.804393f, 0.842573f, 0.452384f, 0.471889f, 0.578726f, 0.280891f, 0.227249f, 0.375517f, 0.272549f, 0.127946f, 0.177408f, 0.237393f, 0.101047f, 0.082355f, 0.238594f, 0.125991f, -0.021624f, 0.130593f, 0.102106f, -0.074591f, 0.010399f, 0.093961f, -0.062012f, -0.027208f, 0.176419f, 0.069614f, 0.006696f, 0.169567f, 0.111547f, -0.016779f, 0.009220f, -0.074436f, -0.249732f, -0.340026f, -0.375796f, -0.493061f, -0.527310f, -0.526973f, -0.570600f, -0.576145f, -0.603146f, -0.605173f, -0.553032f, -0.549495f, -0.461063f, -0.356306f, -0.282023f, -0.118233f, 0.102660f, 0.220242f, - 0.367838f, 0.459937f, 0.487368f, 0.464364f, 0.423833f, 0.359710f, 0.292163f, 0.254092f, 0.222374f, 0.181837f, 0.163934f, 0.158788f, 0.144731f, 0.135148f, 0.141296f, 0.131086f, 0.109369f, 0.092388f, 0.071787f, 0.039073f, 0.014936f, -0.023538f, -0.052515f, -0.052787f, -0.033977f, -0.016373f, -0.003910f}, - {0.005473f, 0.017776f, 0.003983f, 0.002579f, -0.004035f, -0.001472f, -0.008775f, -0.000378f, -0.002241f, 0.006581f, 0.005838f, -0.005886f, -0.004232f, -0.003557f, -0.003370f, -0.004192f, 0.000460f, 0.005237f, -0.004162f, -0.004476f, -0.014653f, -0.010791f, -0.007927f, -0.000372f, 0.000789f, 0.010745f, -0.005921f, 0.005325f, 0.003295f, 0.002737f, 0.000646f, -0.008028f, 0.002058f, -0.017115f, 0.002088f, 0.000528f, 0.000808f, -0.001175f, -0.010554f, -0.004812f, -0.009098f, 0.000558f, 0.000586f, -0.005503f, -0.014128f, 0.009712f, -0.000682f, -0.008270f, -0.000039f, 0.005511f, 0.001200f, -0.002853f, 0.002008f, -0.004710f, -0.002031f, -0.004445f, 0.003422f, -0.004731f, 0.006661f, 0.005386f, -0.001069f, -0.009414f, 0.000492f, 0.001299f, -0.000837f, -0.003451f, 0.002384f, 0.001673f, -0.002147f, 0.005086f, 0.005541f, 0.003823f, 0.000366f, 0.000024f, 0.001772f, -0.005113f, 0.000709f, 0.007869f, 0.000920f, 0.001504f, 0.001457f, 0.005815f, 0.002235f, 0.001828f, 0.005219f, -0.001289f, 0.004109f, -0.001607f, 0.002682f, 0.001883f, -0.000716f, 0.001114f, 0.001515f, -0.000464f, 0.001917f, 0.002938f, - 0.000702f, 0.000063f, 0.002083f, 0.002769f, 0.002212f, -0.000333f, 0.000841f, 0.000908f, 0.001081f, 0.000318f, 0.000175f, -0.000214f, -0.000691f, -0.002188f, 0.001426f, 0.000160f, -0.018896f, -0.021209f, -0.001506f, -0.008383f, 0.006478f, -0.010390f, 0.002611f, 0.004811f, -0.007086f, 0.005799f, 0.021224f, 0.001198f, -0.001953f, 0.011641f, 0.001577f, 0.011689f, 0.000181f, 0.005341f, -0.008353f, -0.011061f, -0.000599f, 0.004212f, -0.007698f, -0.002467f, -0.000781f, -0.002160f, 0.002108f, -0.002250f, -0.004066f, 0.003860f, -0.001917f, -0.001599f, 0.008338f, 0.011906f, -0.003708f, -0.006377f, 0.002367f, 0.009533f, 0.003612f, 0.012214f, 0.000510f, -0.001696f, -0.000314f, 0.010903f, 0.000699f, -0.007765f, -0.004277f, 0.008566f, 0.006197f, 0.006670f, 0.001808f, -0.004216f, -0.008795f, 0.001765f, 0.004138f, 0.005164f, -0.001896f, -0.004579f, 0.009506f, 0.006417f, -0.001579f, -0.005288f, 0.000317f, -0.003669f, 0.009908f, 0.003076f, 0.001816f, 0.003205f, 0.001106f, 0.002099f, 0.006087f, 0.001122f, 0.006115f, -0.001138f, 0.009748f, 0.001244f, -0.009649f, -0.003763f, -0.003363f, 0.004848f, - 0.005956f, -0.000901f, 0.001590f, -0.006690f, -0.002457f, -0.006226f, -0.001913f, -0.004036f, -0.003496f, -0.001415f, 0.002045f, 0.000156f, 0.000054f, 0.000332f, 0.002696f, 0.000496f, 0.000612f, -0.000268f, -0.002897f, -0.000750f, 0.000150f, -0.000214f, 0.001168f, 0.000515f, 0.000499f, -0.001030f, 0.011136f, 0.007810f, 0.011726f, 0.012209f, -0.002927f, 0.006119f, -0.002617f, -0.006914f, -0.000645f, 0.018085f, 0.007915f, 0.004043f, 0.006433f, -0.007531f, 0.012889f, 0.005536f, 0.008636f, -0.002538f, -0.014309f, 0.006025f, -0.022326f, 0.004542f, -0.005703f, 0.004501f, 0.003518f, -0.000407f, -0.007686f, 0.001868f, 0.005014f, -0.002973f, 0.004702f, 0.011335f, -0.000813f, -0.009369f, -0.012792f, 0.002014f, 0.005717f, -0.011758f, 0.006547f, -0.011049f, -0.007221f, 0.008052f, -0.004670f, -0.009337f, -0.004561f, -0.006582f, 0.010334f, 0.014208f, 0.008036f, -0.005087f, 0.000061f, 0.007597f, 0.004527f, -0.000626f, -0.005801f, -0.002738f, -0.005091f, 0.005419f, 0.017550f, -0.000124f, -0.009520f, -0.007501f, 0.004071f, 0.001444f, -0.003568f, -0.010377f, -0.000193f, -0.008887f, -0.003497f, 0.001415f, - -0.001526f, 0.007077f, 0.001319f, 0.008883f, 0.010322f, -0.009043f, -0.003334f, 0.000519f, -0.007068f, -0.008471f, -0.001357f, 0.000053f, -0.005192f, 0.004986f, -0.004718f, -0.000577f, 0.003928f, 0.000801f, 0.000282f, 0.003892f, -0.004772f, -0.001640f, 0.001130f, 0.001804f, -0.002161f, 0.001557f, 0.000847f, 0.001758f, -0.000266f, -0.000030f, 0.001790f, -0.002430f, 0.003121f, -0.002434f, 0.001528f, 0.000485f, -0.000693f, -0.000186f, 0.001389f, -0.000998f, -0.001625f, -0.002751f, 0.001724f, -0.002019f, 0.000758f, 0.002635f, -0.000362f, -0.001677f, 0.024915f, -0.006694f, 0.002429f, 0.003557f, -0.016434f, -0.014003f, 0.000365f, 0.016284f, 0.012424f, 0.019684f, 0.006493f, -0.005556f, -0.008470f, 0.001451f, -0.004862f, 0.003880f, 0.001881f, 0.006651f, 0.012228f, 0.003895f, 0.009016f, -0.000254f, 0.005346f, -0.005426f, -0.011390f, -0.005970f, -0.008718f, 0.000118f, -0.002434f, 0.002658f, -0.013876f, -0.006928f, -0.001857f, 0.005134f, -0.006859f, 0.014378f, -0.016202f, 0.003476f, -0.010203f, -0.008276f, 0.004711f, 0.004128f, 0.013872f, -0.001541f, 0.003506f, -0.003961f, 0.009716f, 0.010268f, - 0.002855f, -0.002214f, -0.010440f, -0.001449f, 0.003603f, -0.008005f, 0.008023f, -0.008812f, 0.003780f, 0.014566f, 0.012209f, 0.000179f, -0.004705f, 0.002281f, 0.014563f, -0.001821f, 0.003580f, 0.002262f, 0.011900f, 0.000117f, -0.003178f, -0.007392f, 0.005189f, -0.011139f, 0.004053f, 0.023165f, 0.005694f, 0.010907f, 0.001080f, -0.015329f, 0.005540f, 0.002845f, -0.006050f, 0.006252f, -0.001944f, -0.001671f, -0.007647f, 0.003193f, 0.007519f, 0.003356f, 0.001444f, -0.003496f, -0.007527f, 0.001736f, -0.001501f, -0.001176f, 0.000482f, -0.000385f, -0.001426f, 0.002421f, -0.002569f, -0.002338f, -0.002214f, 0.003408f, 0.001362f, 0.002681f, -0.001518f, 0.002472f, 0.000135f, -0.002447f, 0.002617f, 0.001425f, -0.002173f, -0.004148f, -0.001516f, 0.003404f, 0.000208f, -0.000903f, 0.001709f, 0.001543f, 0.003700f, -0.000180f, -0.001457f, -0.009084f, -0.015538f, 0.007838f, -0.011079f, -0.011422f, 0.002354f, -0.005536f, -0.036553f, 0.003542f, 0.005648f, 0.033458f, 0.010841f, 0.002477f, -0.015189f, 0.013942f, 0.006047f, -0.006074f, 0.007313f, -0.001272f, 0.012166f, -0.007344f, -0.003760f, -0.002476f, - -0.003223f, -0.005045f, -0.002177f, 0.008633f, 0.007567f, 0.013065f, 0.004684f, 0.006406f, -0.000120f, -0.008516f, -0.009188f, 0.012374f, -0.006767f, 0.002743f, -0.001101f, -0.008754f, 0.012577f, -0.002109f, -0.005426f, 0.002178f, 0.009161f, -0.006096f, 0.013901f, -0.017610f, -0.014543f, -0.017860f, 0.004340f, -0.010068f, -0.015258f, -0.003532f, 0.014295f, -0.006069f, 0.004301f, 0.008452f, -0.006125f, -0.008077f, 0.000665f, 0.001295f, 0.004792f, 0.000851f, -0.004441f, -0.000537f, 0.018414f, 0.007781f, -0.007489f, -0.023186f, -0.018492f, 0.006739f, 0.021902f, 0.018380f, -0.014350f, 0.000338f, -0.009360f, 0.004117f, 0.003644f, -0.015726f, -0.001244f, 0.003077f, 0.001837f, -0.004294f, 0.000939f, 0.000905f, 0.000478f, 0.005286f, 0.004870f, -0.003173f, -0.003828f, 0.002571f, -0.001862f, 0.001181f, -0.005478f, 0.002205f, 0.001634f, -0.008782f, -0.001971f, 0.001834f, 0.001323f, 0.000674f, 0.001713f, -0.000587f, 0.000632f, 0.000598f, 0.000864f, -0.003241f, -0.000453f, 0.001070f, -0.001024f, -0.003930f, -0.001948f, 0.000468f, 0.000597f, 0.004162f, -0.006531f, 0.010830f, -0.018207f, -0.003030f, - -0.022563f, -0.006537f, 0.003345f, 0.007953f, -0.020567f, -0.005039f, 0.014087f, -0.001616f, -0.020586f, 0.010753f, -0.006590f, -0.011690f, 0.006449f, 0.010887f, 0.002444f, 0.002348f, 0.003722f, 0.014198f, -0.006699f, -0.005778f, 0.003689f, -0.006911f, -0.003567f, 0.000271f, -0.000795f, 0.000553f, 0.011313f, 0.005886f, -0.001316f, -0.000909f, 0.006611f, 0.002854f, 0.008120f, -0.000628f, 0.009167f, 0.009781f, 0.003868f, -0.010518f, 0.001531f, -0.001411f, -0.007536f, 0.010272f, -0.005783f, 0.004344f, -0.007001f, -0.002503f, -0.025210f, 0.002376f, 0.020465f, 0.001875f, 0.021756f, -0.003949f, -0.004890f, -0.022338f, 0.026288f, 0.012449f, 0.014979f, 0.002515f, 0.012278f, -0.000079f, -0.000096f, 0.010305f, -0.005989f, 0.003766f, -0.000042f, -0.025062f, 0.005764f, -0.005837f, 0.006638f, -0.003730f, 0.005991f, 0.023369f, 0.007032f, 0.006197f, -0.000283f, -0.014108f, 0.010627f, -0.005699f, 0.002132f, 0.005382f, 0.007007f, -0.007750f, -0.002060f, -0.003182f, -0.004220f, 0.004596f, -0.002654f, -0.001992f, -0.003315f, 0.000579f, 0.000851f, 0.000386f, -0.006522f, 0.002650f, 0.001131f, -0.001431f, - 0.001882f, 0.000942f, 0.001641f, 0.001390f, 0.003099f, 0.000057f, 0.000660f, -0.000370f, -0.001499f, 0.003932f, -0.000735f, 0.005530f, 0.000855f, 0.002316f, -0.001696f, 0.003053f, 0.001016f, -0.028948f, -0.000955f, 0.021761f, -0.004770f, 0.012879f, -0.013890f, -0.009584f, -0.025007f, 0.014275f, 0.007411f, 0.016575f, 0.007749f, -0.008184f, 0.013976f, -0.003546f, 0.013372f, -0.008819f, -0.008145f, 0.001000f, -0.002990f, 0.011568f, 0.002430f, 0.009752f, 0.010923f, -0.006563f, -0.005583f, -0.003884f, 0.007194f, -0.001503f, -0.004643f, 0.001460f, -0.009836f, 0.005058f, 0.003484f, -0.005202f, 0.007279f, 0.012758f, -0.005115f, -0.005831f, -0.001541f, -0.009688f, -0.004690f, 0.014666f, 0.002000f, -0.009133f, 0.017868f, -0.019676f, 0.003114f, 0.010490f, -0.004495f, -0.006501f, -0.001441f, 0.008356f, -0.014983f, 0.007476f, -0.006078f, -0.012908f, -0.009638f, -0.007815f, 0.000294f, -0.003714f, -0.008191f, 0.003501f, 0.022194f, 0.012199f, -0.002993f, -0.007665f, -0.021427f, 0.002226f, 0.011953f, -0.007041f, -0.023681f, 0.000585f, -0.003683f, 0.001139f, 0.003033f, 0.010826f, -0.000591f, -0.005589f, - -0.002056f, -0.008716f, -0.005060f, -0.004153f, 0.006585f, -0.005435f, 0.006116f, -0.012701f, 0.001126f, -0.005864f, -0.003800f, 0.007631f, -0.003599f, -0.003693f, -0.004350f, 0.001510f, -0.008006f, -0.003292f, -0.001784f, -0.000380f, 0.001805f, -0.005799f, 0.001700f, -0.004614f, 0.002591f, 0.002939f, 0.006721f, 0.001180f, 0.002482f, 0.003431f, 0.002759f, -0.001970f, 0.001161f, 0.000351f, 0.005025f, 0.002796f, -0.000421f, 0.002898f, -0.000161f, 0.000198f, -0.001944f, 0.000243f, 0.000103f, -0.003562f, 0.001125f, -0.002478f, -0.001765f, 0.000190f, 0.002711f, -0.000798f, 0.009631f, -0.004242f, 0.002450f, 0.014236f, 0.000925f, 0.016678f, 0.018079f, 0.040343f, 0.027512f, 0.016871f, -0.004289f, -0.021371f, -0.007456f, 0.019578f, 0.008464f, -0.020643f, 0.015400f, -0.003604f, -0.010247f, -0.012634f, 0.001879f, 0.034878f, -0.023648f, 0.025221f, 0.009837f, -0.005438f, 0.008277f, -0.006823f, 0.018042f, -0.006935f, 0.009525f, 0.001894f, -0.012538f, -0.008780f, -0.012216f, 0.000463f, 0.010313f, -0.002989f, -0.006894f, 0.006646f, 0.000847f, -0.002091f, -0.023608f, 0.007136f, -0.013232f, -0.010010f, - 0.006496f, 0.015547f, -0.011501f, -0.016550f, 0.000573f, 0.014035f, 0.001144f, -0.009438f, -0.003531f, -0.005621f, 0.006388f, 0.004662f, -0.005443f, -0.008921f, -0.013409f, 0.008279f, 0.021472f, 0.013160f, 0.006773f, -0.012473f, 0.006450f, 0.013596f, -0.015278f, -0.019937f, 0.003475f, -0.016462f, -0.007885f, -0.032270f, 0.000405f, -0.022161f, -0.011555f, 0.005957f, -0.002795f, -0.002134f, 0.009800f, 0.001668f, -0.018090f, -0.012543f, 0.008142f, -0.002505f, 0.000977f, -0.005629f, 0.000523f, 0.005278f, -0.000797f, 0.003498f, 0.003512f, 0.000723f, 0.000323f, 0.002596f, 0.003029f, 0.002016f, 0.000229f, 0.000625f, -0.001833f, 0.004775f, 0.000117f, 0.004395f, -0.000794f, -0.002926f, 0.001415f, 0.004091f, -0.005141f, -0.007543f, -0.003856f, -0.001092f, -0.002372f, 0.008577f, 0.003219f, -0.002699f, 0.003803f, -0.002173f, 0.000564f, -0.006912f, -0.000631f, 0.000502f, -0.003176f, 0.044143f, 0.000988f, -0.017279f, 0.019457f, -0.021283f, 0.024632f, 0.001998f, -0.015005f, -0.025696f, -0.006229f, 0.012610f, -0.020433f, 0.018134f, -0.002897f, 0.011692f, 0.013920f, -0.011949f, -0.004977f, -0.007190f, - -0.009525f, -0.003699f, -0.008899f, 0.001487f, -0.010876f, 0.011316f, 0.007140f, 0.009499f, 0.019256f, 0.009920f, -0.002877f, 0.022979f, 0.011705f, 0.004251f, -0.012335f, -0.013439f, 0.006886f, -0.010286f, 0.002362f, 0.007268f, -0.015347f, 0.013143f, 0.034995f, 0.002677f, 0.024887f, 0.011793f, 0.012038f, 0.017782f, 0.001030f, 0.009429f, 0.009942f, -0.022647f, -0.015373f, 0.015642f, 0.001040f, 0.014764f, 0.002621f, 0.015500f, -0.002508f, 0.005584f, 0.003849f, -0.032445f, -0.002143f, 0.008354f, 0.021712f, 0.004864f, 0.019042f, 0.001952f, -0.004495f, 0.006266f, 0.008542f, -0.018202f, -0.030813f, -0.016241f, 0.004234f, 0.007605f, 0.001028f, 0.022636f, 0.007971f, -0.035421f, 0.009020f, -0.005118f, 0.000187f, 0.010225f, -0.014227f, -0.000458f, -0.007666f, 0.006554f, 0.009165f, 0.000589f, 0.001979f, 0.006665f, 0.000270f, -0.000026f, -0.003071f, -0.003362f, 0.001206f, 0.000709f, 0.000228f, 0.005578f, 0.004020f, 0.001438f, 0.003337f, 0.002196f, 0.000159f, -0.005383f, 0.004348f, 0.003605f, -0.002126f, -0.000422f, -0.000739f, 0.000324f, 0.003187f, 0.002696f, 0.008419f, -0.006991f, - -0.001985f, 0.003221f, -0.001701f, 0.004482f, -0.003478f, 0.007449f, -0.001721f, -0.002165f, 0.001081f, 0.004307f, 0.003038f, -0.000945f, -0.000433f, -0.021294f, -0.001945f, -0.018947f, -0.009053f, 0.008139f, -0.009731f, 0.004407f, 0.006418f, -0.011303f, -0.028482f, 0.009246f, -0.028218f, -0.032212f, 0.006939f, -0.015762f, 0.014194f, 0.020515f, -0.005298f, 0.023916f, -0.005839f, 0.023632f, 0.031909f, 0.000209f, 0.001802f, -0.032143f, -0.006196f, 0.003685f, 0.005444f, -0.003592f, -0.021376f, 0.001673f, -0.018115f, 0.002489f, -0.004947f, 0.005103f, -0.007010f, -0.011750f, 0.002626f, -0.001934f, -0.006668f, 0.007776f, 0.000672f, -0.004733f, 0.023032f, 0.008780f, 0.017272f, -0.010769f, 0.003118f, -0.009049f, 0.006532f, -0.001869f, 0.009013f, -0.002852f, -0.006934f, -0.008668f, -0.020530f, -0.011871f, 0.032916f, 0.013555f, 0.021805f, -0.025126f, 0.005257f, 0.018923f, -0.016030f, 0.000343f, 0.012160f, -0.006431f, 0.012203f, 0.001952f, -0.022187f, -0.005550f, -0.034114f, -0.004012f, 0.013658f, 0.007297f, 0.022779f, 0.002786f, 0.015107f, 0.016390f, 0.005552f, -0.000814f, 0.029535f, 0.002709f, - 0.000699f, -0.004874f, -0.003000f, 0.015884f, 0.009110f, 0.015204f, -0.001859f, -0.002876f, -0.003918f, 0.011168f, 0.002147f, -0.002065f, 0.002877f, 0.007737f, -0.001886f, -0.004197f, -0.008804f, 0.000540f, -0.007048f, -0.002845f, -0.006030f, 0.005236f, -0.000823f, -0.009933f, -0.002011f, 0.001014f, 0.000614f, -0.000235f, -0.004956f, 0.007198f, -0.005763f, 0.002043f, 0.002465f, -0.007408f, -0.001591f, -0.004854f, 0.000880f, 0.006438f, -0.005646f, -0.004173f, -0.003581f, -0.003051f, 0.003260f, -0.020766f, -0.018910f, -0.019659f, -0.029155f, 0.019942f, 0.012583f, 0.001951f, -0.019693f, 0.017791f, -0.000379f, -0.024407f, -0.020330f, -0.006846f, -0.005236f, -0.015572f, -0.006431f, -0.009169f, -0.008146f, -0.005661f, -0.022972f, 0.011541f, 0.013084f, -0.001029f, -0.002354f, -0.003999f, -0.008643f, -0.026861f, -0.029705f, 0.001048f, 0.012543f, -0.007637f, -0.018394f, -0.010052f, 0.013565f, 0.010300f, 0.000418f, -0.005539f, -0.008054f, -0.007762f, 0.017213f, -0.008761f, 0.012020f, -0.008284f, 0.000097f, -0.029242f, -0.006668f, -0.002185f, 0.021904f, 0.006224f, -0.005467f, -0.016390f, -0.011761f, -0.022993f, - 0.037031f, -0.017036f, 0.035152f, 0.004636f, -0.015556f, 0.023495f, 0.022730f, 0.039894f, -0.039302f, 0.016265f, 0.006195f, 0.005371f, -0.008045f, -0.011103f, 0.016944f, 0.009034f, -0.003275f, -0.018205f, 0.020038f, -0.010588f, 0.021562f, 0.018164f, 0.016798f, -0.015403f, 0.033465f, -0.024855f, 0.013565f, 0.021876f, -0.012880f, 0.002816f, 0.000286f, 0.019016f, -0.005377f, 0.008500f, -0.010223f, 0.020311f, -0.000998f, 0.003636f, -0.011970f, 0.009319f, -0.001007f, 0.009609f, -0.003136f, 0.012921f, 0.005902f, 0.004133f, -0.007964f, 0.002509f, -0.006736f, 0.000449f, -0.005799f, -0.007210f, -0.001866f, -0.006360f, -0.004700f, -0.000609f, -0.003685f, -0.006339f, 0.003984f, 0.005421f, 0.007440f, 0.001908f, -0.007778f, 0.000770f, -0.005397f, 0.005051f, 0.001639f, -0.003533f, 0.000522f, 0.003553f, 0.001636f, -0.008196f, 0.001161f, 0.008375f, 0.002793f, -0.001231f, 0.001916f, 0.031520f, -0.052807f, -0.057096f, -0.035567f, -0.006152f, -0.024741f, 0.015130f, -0.020318f, 0.001943f, 0.010394f, -0.001695f, 0.037655f, 0.026848f, 0.009743f, -0.011154f, -0.008178f, 0.026069f, -0.004212f, 0.003898f, - -0.010567f, -0.023582f, 0.000247f, 0.009315f, 0.006459f, -0.013039f, 0.011528f, 0.001456f, -0.001347f, 0.022061f, 0.030786f, 0.002030f, -0.019389f, -0.008594f, -0.037359f, -0.014716f, -0.009528f, -0.011440f, 0.001867f, 0.006399f, -0.013474f, -0.005629f, -0.018917f, 0.020398f, 0.024852f, 0.020399f, 0.023216f, 0.017945f, 0.030328f, 0.003522f, 0.010518f, 0.006983f, -0.005310f, 0.011446f, 0.018141f, -0.018218f, -0.062180f, -0.014698f, 0.020873f, -0.032489f, 0.016628f, 0.020179f, 0.007523f, -0.010018f, 0.001720f, -0.007957f, -0.024881f, -0.007014f, 0.016448f, -0.020226f, -0.016794f, 0.005813f, -0.013609f, 0.040382f, 0.041429f, -0.015500f, 0.026727f, 0.006806f, -0.003764f, -0.018292f, 0.012848f, -0.024602f, -0.020026f, 0.021956f, 0.016890f, 0.011519f, -0.001438f, -0.002370f, -0.029586f, -0.021595f, -0.003798f, -0.006994f, -0.005421f, -0.004683f, -0.008679f, -0.007521f, -0.008087f, -0.004346f, 0.001179f, 0.006770f, 0.005639f, 0.009050f, -0.000695f, -0.004674f, -0.004368f, -0.003283f, 0.013485f, 0.012200f, 0.006514f, -0.001408f, -0.000784f, -0.003120f, -0.004951f, -0.008057f, -0.003385f, 0.001151f, - -0.002255f, 0.005158f, -0.002828f, 0.001774f, 0.002626f, 0.002029f, 0.005157f, -0.006238f, -0.000081f, 0.000936f, 0.004365f, -0.007468f, 0.012381f, -0.005404f, -0.003122f, 0.050812f, -0.042754f, -0.000887f, 0.007341f, -0.041089f, -0.012018f, -0.017407f, 0.006259f, -0.012621f, 0.035661f, 0.004462f, -0.000356f, 0.044288f, -0.002429f, -0.039508f, -0.031481f, -0.019472f, 0.015298f, -0.002459f, -0.038079f, 0.009603f, 0.010712f, 0.019870f, -0.022620f, 0.011333f, 0.019394f, 0.016598f, 0.013585f, -0.004871f, 0.023161f, 0.024707f, 0.008514f, -0.055798f, 0.040706f, -0.020169f, 0.015741f, -0.004301f, -0.005672f, 0.010386f, -0.024519f, -0.014337f, 0.026219f, -0.012222f, -0.003305f, 0.023335f, -0.026322f, 0.023465f, -0.009079f, 0.021760f, -0.029005f, 0.038539f, -0.017168f, 0.059786f, -0.007759f, 0.003453f, 0.015575f, -0.013635f, -0.009756f, -0.007653f, 0.005017f, -0.003437f, -0.030130f, -0.038371f, -0.010372f, 0.021689f, -0.011256f, -0.014192f, -0.038585f, 0.017446f, 0.004139f, -0.053323f, -0.000614f, 0.000291f, 0.007976f, 0.026798f, -0.018323f, 0.008073f, -0.023578f, -0.021219f, -0.031327f, -0.031871f, - -0.005405f, -0.018841f, 0.022913f, -0.004260f, 0.022386f, -0.011312f, 0.012830f, -0.002276f, -0.014040f, -0.020282f, -0.002094f, 0.001845f, 0.009850f, -0.005230f, 0.004439f, 0.001412f, 0.008095f, -0.001333f, -0.010320f, -0.002076f, -0.015708f, -0.001298f, 0.002761f, 0.002950f, 0.001082f, -0.006606f, -0.007523f, 0.008152f, 0.004234f, -0.003229f, 0.010128f, -0.013111f, -0.016467f, -0.000929f, 0.014984f, -0.000289f, 0.004478f, 0.005207f, 0.010311f, -0.000053f, 0.011517f, -0.009892f, 0.003835f, 0.001580f, 0.009402f, 0.014907f, -0.009507f, 0.001809f, -0.002084f, 0.001833f, 0.019329f, 0.059360f, 0.029209f, -0.017717f, 0.040458f, 0.013687f, -0.026256f, 0.010304f, 0.026062f, -0.003779f, -0.009201f, -0.035994f, -0.010075f, 0.022683f, 0.014394f, 0.010953f, 0.006360f, -0.006240f, -0.014787f, -0.033949f, 0.018015f, -0.011369f, 0.008870f, -0.025991f, -0.014451f, -0.000342f, -0.004260f, 0.034003f, 0.009949f, 0.005690f, 0.025592f, 0.012706f, -0.039219f, -0.004238f, 0.014078f, -0.006989f, 0.000621f, 0.033613f, 0.010767f, 0.038973f, -0.022681f, -0.013856f, -0.006523f, -0.014083f, 0.014984f, -0.014691f, - 0.028929f, 0.029315f, -0.012917f, -0.027969f, 0.047252f, -0.024059f, -0.010022f, -0.005338f, 0.013960f, 0.007576f, -0.026615f, -0.007540f, 0.016769f, -0.012224f, 0.021315f, -0.009800f, 0.030268f, -0.015443f, 0.006716f, 0.046884f, -0.001088f, 0.033141f, 0.056601f, 0.007552f, 0.027720f, -0.014021f, -0.068412f, -0.045882f, -0.009008f, -0.002532f, 0.038649f, -0.000872f, 0.012831f, 0.003694f, -0.009790f, -0.031227f, -0.070591f, 0.053720f, 0.003546f, 0.001987f, 0.017302f, 0.008725f, -0.017317f, 0.039828f, 0.001842f, 0.008743f, -0.000620f, 0.003080f, -0.034875f, -0.012478f, -0.023034f, -0.013391f, -0.001246f, -0.012480f, -0.013059f, 0.008512f, -0.002934f, -0.008446f, 0.025306f, -0.004286f, -0.025972f, -0.018029f, 0.006382f, 0.001736f, -0.007609f, 0.039836f, 0.011779f, -0.012694f, -0.015322f, 0.004572f, -0.003638f, -0.007671f, 0.001190f, 0.004118f, -0.008955f, 0.009846f, -0.000387f, 0.014003f, 0.017430f, 0.003947f, -0.001725f, -0.004761f, 0.011671f, 0.011911f, 0.010193f, -0.077011f, -0.018549f, 0.080650f, -0.030989f, -0.034405f, 0.071050f, -0.045485f, 0.040025f, 0.053707f, 0.021132f, 0.007528f, - -0.040693f, 0.015748f, -0.071353f, -0.034957f, 0.015621f, 0.037301f, 0.004218f, 0.008777f, 0.027077f, 0.072404f, 0.048837f, 0.015496f, 0.002757f, 0.000179f, 0.008109f, 0.006237f, -0.027914f, 0.000886f, 0.017968f, 0.022881f, 0.096436f, 0.054604f, 0.037252f, 0.069878f, 0.028570f, -0.009620f, 0.021062f, -0.000959f, 0.066816f, 0.024485f, -0.005248f, -0.010733f, 0.028053f, -0.003897f, 0.032196f, -0.098947f, 0.004530f, 0.034626f, -0.001799f, 0.041835f, -0.015219f, 0.011384f, 0.022345f, -0.092047f, -0.035448f, -0.006784f, -0.029308f, -0.037842f, -0.044837f, 0.042762f, -0.027286f, 0.008936f, -0.008095f, 0.042937f, -0.069124f, -0.018554f, -0.009405f, 0.022354f, 0.000083f, -0.005854f, 0.051665f, 0.089921f, -0.000007f, 0.028369f, -0.016475f, 0.008098f, 0.062984f, -0.065916f, -0.039043f, -0.055066f, -0.069745f, -0.005548f, -0.002314f, -0.027077f, -0.029282f, -0.027567f, -0.026269f, -0.033898f, -0.049575f, -0.021239f, -0.031963f, -0.019264f, 0.009270f, 0.044673f, 0.014623f, 0.007304f, 0.007172f, -0.003735f, 0.010371f, 0.004918f, -0.030739f, -0.027546f, -0.007548f, -0.039070f, -0.015214f, -0.016867f, - -0.013072f, -0.015003f, 0.018753f, -0.013813f, 0.001716f, 0.003340f, 0.008446f, 0.022509f, 0.033972f, 0.000254f, -0.007798f, 0.024863f, -0.011675f, 0.016077f, 0.006548f, 0.004008f, -0.005882f, 0.005048f, 0.003713f, -0.013612f, -0.018192f, -0.019742f, -0.002171f, 0.042483f, 0.036196f, -0.034035f, -0.123395f, -0.021583f, 0.049700f, 0.012033f, -0.014311f, -0.009285f, 0.003205f, -0.016555f, -0.023130f, 0.027482f, 0.019598f, 0.056235f, 0.019722f, 0.033971f, -0.013177f, 0.074695f, 0.012845f, 0.047507f, -0.007196f, 0.068940f, -0.026571f, 0.045062f, -0.044031f, 0.000810f, 0.004274f, 0.032321f, -0.013091f, -0.023360f, -0.058051f, 0.032479f, 0.003701f, 0.007014f, -0.028327f, -0.051149f, -0.003675f, 0.006450f, -0.006864f, 0.016282f, 0.032729f, 0.005494f, 0.023265f, 0.085356f, -0.036212f, 0.008991f, -0.028450f, 0.044322f, 0.037560f, -0.042097f, 0.039746f, 0.046393f, -0.033261f, 0.012152f, 0.010352f, 0.032304f, 0.015268f, 0.065127f, 0.019926f, -0.022425f, 0.003449f, 0.084031f, 0.026049f, -0.095000f, 0.027769f, 0.017608f, -0.082602f, -0.022342f, -0.026726f, -0.057556f, 0.003802f, 0.036355f, - 0.038912f, -0.022802f, 0.070290f, -0.017674f, -0.031048f, -0.015304f, 0.037012f, -0.138185f, -0.017280f, 0.002530f, 0.111537f, 0.015338f, 0.094530f, 0.046079f, 0.066258f, -0.001361f, 0.022542f, -0.012245f, 0.056117f, 0.057741f, 0.051075f, -0.011921f, -0.034496f, -0.013481f, 0.056093f, -0.006117f, -0.037079f, -0.015489f, 0.066528f, 0.009829f, -0.041775f, -0.013689f, 0.060016f, 0.017745f, 0.024877f, -0.000292f, 0.022562f, -0.016693f, -0.001370f, -0.000780f, 0.009691f, -0.001084f, 0.010504f, -0.007848f, -0.019689f, -0.022619f, -0.028418f, -0.003207f, -0.020764f, 0.000514f, -0.003779f, -0.007541f, 0.019911f, -0.022242f, -0.009373f, -0.022048f, -0.008406f, -0.040900f, -0.030894f, 0.042374f, 0.000743f, -0.076071f, 0.061680f, 0.133080f, 0.008862f, -0.073779f, 0.114621f, -0.025689f, -0.001714f, 0.016514f, 0.064994f, -0.037237f, 0.002750f, 0.130374f, -0.064592f, 0.031179f, 0.043839f, 0.042268f, -0.057771f, -0.005645f, 0.010319f, -0.028113f, 0.004909f, 0.013760f, -0.023498f, 0.023303f, -0.039827f, -0.011096f, -0.015958f, -0.002816f, -0.023917f, -0.020719f, -0.007736f, 0.012743f, -0.043428f, -0.040374f, - 0.060997f, 0.011284f, -0.038228f, -0.009803f, 0.036279f, 0.088299f, -0.007688f, -0.042731f, 0.045950f, 0.067775f, -0.019633f, -0.004792f, 0.001752f, 0.024686f, 0.000183f, 0.000295f, 0.030717f, -0.074384f, 0.051193f, -0.042811f, 0.000550f, -0.060780f, 0.034249f, -0.004535f, -0.091144f, 0.045230f, -0.006506f, -0.035025f, 0.061509f, 0.007476f, 0.060820f, -0.051196f, -0.019701f, -0.020534f, -0.047584f, -0.073590f, -0.097679f, 0.083157f, 0.033894f, 0.061285f, 0.056281f, 0.035083f, 0.013587f, -0.034868f, 0.053293f, -0.026228f, -0.022428f, 0.072406f, 0.024095f, -0.013318f, -0.006471f, 0.022260f, -0.051141f, 0.013449f, -0.020210f, 0.034137f, -0.013009f, -0.021585f, 0.032311f, 0.005775f, -0.038016f, 0.003357f, -0.018015f, -0.010292f, 0.008042f, -0.007994f, 0.006954f, -0.001769f, -0.027387f, -0.013528f, 0.011840f, -0.008792f, -0.017276f, 0.017444f, 0.026935f, 0.026797f, -0.021287f, -0.008371f, 0.030962f, -0.052195f, 0.015750f, 0.019604f, -0.022536f, -0.051853f, 0.026243f, 0.003648f, -0.023578f, 0.016705f, -0.025241f, -0.040264f, 0.010652f, 0.036859f, -0.030226f, -0.012630f, 0.012861f, 0.032237f, - -0.008785f, -0.003553f, 0.001735f, -0.021852f, 0.072163f, -0.029414f, 0.021377f, 0.016633f, -0.074850f, 0.067239f, 0.023529f, -0.019309f, 0.057777f, 0.004753f, 0.003846f, 0.028165f, -0.025118f, 0.073645f, -0.059220f, -0.031790f, 0.027465f, 0.025286f, 0.012518f, -0.055165f, -0.033556f, -0.061464f, 0.033859f, 0.008017f, 0.030918f, -0.000089f, 0.033204f, 0.013273f, 0.011071f, 0.001178f, 0.028286f, -0.012958f, 0.015533f, -0.028219f, 0.020942f, -0.026106f, -0.000325f, -0.034414f, -0.024425f, 0.001227f, -0.030560f, 0.014042f, 0.072445f, 0.017118f, -0.054530f, 0.028138f, 0.021692f, 0.038234f, 0.000934f, 0.063734f, -0.055160f, 0.008136f, 0.025367f, -0.053358f, -0.012559f, 0.106783f, 0.060101f, -0.142043f, -0.060373f, 0.075058f, -0.020792f, -0.067592f, 0.026300f, -0.007247f, -0.052114f, 0.037680f, 0.064216f, -0.087767f, 0.017028f, 0.077193f, -0.052846f, -0.047611f, 0.063173f, 0.008071f, -0.052511f, 0.008827f, 0.040943f, -0.046111f, -0.006666f, 0.049554f, -0.007690f, -0.022806f, -0.036195f, 0.045263f, -0.012468f, 0.024992f, 0.005557f, 0.025378f, -0.018177f, 0.016214f, 0.045788f, 0.017642f, - -0.034470f, 0.002171f, -0.024799f, -0.017125f, -0.034751f, -0.003759f, -0.009623f, -0.003106f, -0.023537f, 0.022872f, 0.019794f, -0.008761f, 0.052293f, -0.014102f, -0.056675f, 0.066828f, -0.008567f, -0.013627f, 0.011894f, 0.022874f, 0.002591f, -0.007091f, 0.056442f, 0.030516f, -0.040690f, 0.002532f, 0.015591f, -0.029965f, -0.024687f, 0.040355f, -0.021936f, -0.079173f, 0.074703f, 0.008670f, -0.076981f, -0.003210f, 0.039433f, -0.029651f, -0.064896f, 0.035992f, 0.048619f, -0.080116f, 0.010827f, 0.058502f, -0.035751f, -0.007182f, 0.064317f, -0.005913f, -0.027542f, 0.014187f, 0.026585f, -0.036829f, -0.010781f, 0.037125f, -0.009814f, 0.061760f, -0.134354f, -0.010475f, -0.023077f, -0.151157f, -0.026061f, -0.047209f, 0.015587f, 0.025006f, 0.045322f, -0.020679f, -0.057797f, -0.022993f, -0.083776f, 0.010505f, 0.031133f, 0.016698f, 0.014286f, -0.068882f, 0.042614f, 0.005814f, -0.080945f, 0.058943f, -0.087105f, -0.036780f, -0.032135f, 0.023084f, 0.064519f, 0.073034f, -0.005181f, -0.017400f, -0.141474f, 0.060357f, 0.145022f, 0.051776f, 0.004198f, -0.079957f, -0.115154f, -0.048427f, -0.008907f, 0.059858f, - -0.071786f, -0.044177f, -0.073767f, -0.024541f, 0.135544f, 0.144433f, -0.024399f, -0.067679f, -0.056776f, -0.031458f, -0.014434f, 0.072392f, -0.033858f, 0.021150f, 0.016147f, 0.047919f, -0.012470f, -0.033508f, -0.083885f, -0.037505f, 0.130081f, 0.054608f, 0.086881f, -0.079558f, -0.042806f, -0.037224f, 0.088768f, 0.001101f, -0.141989f, -0.138547f, 0.078134f, 0.132243f, 0.223883f, 0.038333f, -0.188398f, 0.031028f, -0.049056f, 0.063746f, 0.063050f, -0.232658f, -0.072998f, 0.044685f, 0.123270f, 0.029097f, -0.117061f, -0.027088f, -0.010762f, 0.068021f, 0.059666f, 0.015037f, -0.093509f, -0.015425f, 0.021877f, 0.041552f, 0.022137f, -0.025285f, 0.005227f, -0.052960f, -0.005432f, -0.001508f, 0.051834f, -0.035270f, 0.068746f, -0.043698f, 0.020541f, 0.038556f, -0.014850f, 0.031878f, 0.030097f, 0.052367f, 0.004098f, -0.026332f, -0.029134f, 0.004166f, 0.004020f, 0.008347f, 0.007009f, -0.002383f, -0.002063f, -0.019802f, -0.018704f, -0.004653f, 0.035039f, -0.009238f, 0.002522f, -0.007615f, 0.012820f, 0.001902f, 0.020324f, -0.067704f, 0.057694f, -0.060331f, -0.013888f, 0.002845f, 0.014786f, -0.010919f, - 0.013193f, 0.024260f, -0.039937f, -0.033171f, -0.001413f, 0.009478f, 0.024544f, -0.027861f, 0.003334f, 0.022273f, -0.017534f, 0.014096f, -0.009434f, 0.067017f, -0.001633f, -0.009505f, 0.037522f, 0.021453f, 0.033265f, -0.016654f, 0.020989f, -0.006385f, -0.001610f, 0.028518f, 0.019213f, 0.005176f, 0.007659f, 0.038276f, -0.035926f, -0.010124f, 0.003070f, 0.051463f, -0.001520f, -0.010960f, 0.046681f, -0.011530f, -0.021303f, -0.019987f, 0.038554f, -0.008793f, 0.016438f, 0.011027f, 0.005263f, -0.013260f, 0.006339f, 0.015842f, 0.004690f, 0.044882f, 0.021288f, 0.013151f, -0.019931f, -0.002326f, 0.016185f, -0.031062f, 0.010671f, 0.012631f, 0.031938f, 0.001045f, -0.004619f, 0.019094f, 0.003338f, -0.036131f, 0.040607f, 0.013260f, -0.010403f, 0.034969f, -0.024070f, -0.002257f, -0.018160f, -0.014586f, 0.033036f, 0.025379f, -0.003114f, 0.013031f, -0.020973f, 0.005367f, -0.028009f, -0.001925f, -0.025723f, 0.006238f, 0.015293f, 0.006542f, 0.002190f, -0.004718f, -0.004270f, 0.005453f, -0.015727f, 0.005035f, -0.007299f, 0.007769f, -0.010668f, -0.002749f, -0.009946f, -0.010867f, 0.004734f, -0.001292f, - -0.001660f, -0.003547f, 0.015120f, 0.006927f, -0.021202f, -0.020450f, -0.015377f, 0.005213f, 0.005708f, 0.016228f, 0.008248f, -0.018764f, -0.003833f, -0.006579f, 0.016993f, -0.003709f, 0.018393f, 0.008814f, -0.016797f, 0.000919f, 0.007628f, -0.008223f, 0.011380f, -0.006438f, 0.012986f, -0.008984f, -0.004122f, 0.005359f, -0.008864f, 0.107095f, 0.008556f, -0.039488f, -0.032815f, 0.005369f, 0.024139f, -0.001427f, 0.022031f, -0.008358f, -0.005982f, -0.029635f, -0.006591f, -0.020739f, 0.032981f, -0.020625f, -0.001746f, -0.013005f, -0.006219f, -0.007612f, 0.003562f, -0.021917f, 0.003315f, -0.009419f, -0.015530f, 0.004591f, -0.002515f, 0.001291f, -0.004238f, 0.007785f, 0.003686f, -0.018320f, -0.011845f, 0.000039f, -0.012498f, -0.010786f, 0.009074f, -0.002922f, -0.018812f, 0.001302f, -0.010475f, 0.008061f, -0.027767f, 0.013918f, -0.012085f, -0.020993f, 0.006372f, -0.009591f, -0.010938f, 0.002905f, -0.000204f, 0.001367f, -0.004636f, 0.004714f, -0.008502f, 0.009441f, -0.005840f, 0.001053f, 0.015450f, -0.011105f, 0.005177f, -0.002880f, -0.001651f, 0.004280f, -0.012797f, 0.011697f, -0.013451f, 0.011680f, - -0.002816f, -0.000494f, -0.008614f, 0.011049f, -0.012920f, 0.000925f, 0.004557f, -0.016899f, 0.016928f, -0.010257f, 0.007182f, -0.007746f, 0.006862f, -0.005947f, -0.007504f, 0.012677f, -0.007903f, -0.001463f, 0.012372f, -0.007893f, -0.000119f, 0.001130f, 0.001955f, -0.008731f, 0.000701f, -0.000677f, -0.003866f, -0.002361f, 0.002120f, -0.002652f, -0.004767f, -0.002235f, 0.005390f, -0.004797f, 0.004038f, -0.001258f, -0.000571f, -0.001438f, -0.003663f, 0.003593f, -0.002477f, -0.002724f, 0.003700f, -0.003716f, 0.002925f, 0.001529f, -0.002343f, 0.000748f, -0.000611f, 0.001202f, -0.007481f, 0.007347f, -0.007695f, 0.001516f, -0.001143f, -0.003835f, 0.001020f, -0.002021f, 0.005227f, -0.051473f, -0.083223f, 0.088220f, 0.306289f, 0.058822f, 0.091873f, -0.188610f, -0.262493f, -0.109521f, -0.137513f, 0.106184f, 0.245877f, 0.141527f, 0.094835f, 0.009605f, -0.135710f, -0.119919f, -0.120163f, -0.048987f, 0.067946f, 0.058184f, 0.061910f, 0.055880f, -0.002014f, -0.008925f, -0.014390f, -0.019234f, -0.028614f, -0.003737f, 0.037459f, -0.003232f, -0.022023f, -0.008457f, -0.031745f, -0.017647f, -0.005669f, -0.007739f, - 0.060200f, 0.056250f, 0.033025f, 0.035756f, 0.001646f, -0.043483f, -0.044644f, -0.081441f, -0.054523f, 0.007615f, 0.006465f, 0.016788f, 0.047940f, 0.068697f, 0.040952f, 0.034674f, -0.001778f, -0.038673f, -0.054225f, -0.046483f, -0.039334f, 0.005760f, 0.013742f, 0.025274f, 0.017139f, 0.011700f, 0.002288f, -0.013973f, 0.005327f, 0.001541f, 0.005690f, 0.034250f, -0.003419f, 0.015272f, 0.015267f, -0.025155f, -0.048155f, -0.049147f, -0.044727f, 0.012015f, 0.036237f, 0.026646f, 0.039670f, 0.035395f, -0.012055f, 0.009054f, 0.021511f, -0.013819f, -0.013408f, -0.030465f, -0.039802f, -0.015145f, -0.009608f, -0.003890f, 0.016473f, 0.008047f, 0.008768f, 0.026884f, 0.025073f, 0.026471f, 0.014697f, 0.006930f, -0.013424f, -0.016048f, -0.040912f, -0.044315f, -0.031874f, -0.022922f, 0.009765f, 0.029350f, 0.036332f, 0.049389f, 0.034819f, 0.022680f, 0.000041f, -0.014970f, -0.024322f, -0.050511f, -0.054143f, -0.018724f, 0.009332f, 0.026062f, 0.020271f, 0.018239f, 0.020291f, 0.015187f, -0.001292f, -0.003501f, 0.001884f, 0.000898f, -0.009229f, -0.007666f, -0.027502f, -0.017506f, -0.001044f, 0.010226f, - 0.013125f, 0.011013f, -0.004334f, -0.000055f, 0.009614f, 0.008209f, 0.000328f, 0.005854f, 0.004520f, -0.002699f, -0.013060f, -0.011052f, -0.011327f, -0.002052f, -0.003143f, 0.000322f, 0.002158f, 0.011912f, 0.012402f, 0.011776f, 0.004800f, 0.003328f, -0.004566f, -0.003270f, -0.003263f, 0.000555f, -0.001313f} - }, - { - {0.004058f, 0.011758f, 0.000993f, 0.007867f, -0.001811f, -0.001158f, -0.004253f, 0.008388f, 0.005298f, -0.004945f, -0.006519f, 0.004220f, -0.001670f, -0.010017f, -0.011604f, 0.002738f, 0.000564f, -0.003925f, -0.003967f, -0.007815f, 0.004968f, -0.009191f, 0.002333f, -0.000918f, 0.002063f, 0.000742f, 0.001950f, -0.004138f, -0.000619f, 0.001614f, 0.002620f, -0.000956f, 0.003209f, 0.002342f, -0.004093f, 0.003055f, -0.002485f, -0.007841f, 0.011092f, -0.002151f, 0.000484f, 0.002632f, -0.001416f, 0.006113f, 0.007813f, -0.001698f, 0.002917f, 0.005873f, 0.000471f, -0.006270f, -0.004812f, 0.001551f, 0.003701f, -0.001915f, 0.002011f, 0.007211f, -0.006392f, -0.005755f, 0.005980f, 0.001125f, -0.002411f, -0.003895f, -0.000198f, 0.001353f, 0.004528f, -0.007314f, 0.003556f, 0.001838f, -0.005723f, -0.006175f, 0.005220f, -0.003369f, -0.007575f, -0.003242f, -0.000744f, 0.011367f, 0.013114f, -0.001154f, 0.002145f, -0.001656f, 0.001983f, -0.002187f, 0.003454f, 0.002107f, -0.002211f, -0.000747f, -0.002346f, 0.001108f, -0.003115f, 0.002882f, 0.002542f, 0.000573f, -0.003643f, 0.000413f, -0.000217f, 0.001555f, - -0.000978f, 0.002421f, -0.001312f, 0.000421f, 0.000108f, 0.001499f, -0.000387f, 0.000513f, 0.000390f, 0.001549f, -0.000129f, -0.014467f, -0.006246f, -0.009983f, 0.006543f, -0.004846f, -0.006772f, -0.004598f, -0.006073f, -0.001216f, 0.002244f, 0.010931f, 0.001890f, -0.005854f, 0.009236f, 0.000352f, 0.009520f, -0.009158f, 0.014743f, 0.006831f, 0.015993f, -0.002880f, -0.005445f, -0.001110f, -0.008802f, -0.000760f, -0.000630f, -0.003200f, 0.002988f, 0.000284f, -0.006991f, -0.001707f, -0.000029f, 0.002152f, 0.006935f, 0.001588f, -0.010453f, -0.008716f, -0.003306f, 0.005856f, 0.000385f, 0.000275f, -0.005302f, 0.008687f, -0.000243f, 0.000623f, -0.003759f, 0.001094f, -0.002274f, 0.004551f, -0.001488f, 0.014490f, 0.000115f, -0.001926f, 0.005489f, -0.003680f, -0.006536f, -0.002719f, 0.004904f, 0.008736f, 0.001442f, 0.005343f, 0.001309f, 0.000886f, -0.004619f, -0.004520f, -0.007393f, -0.000350f, -0.007664f, 0.001880f, 0.006218f, 0.006630f, 0.004661f, -0.002391f, -0.003406f, 0.005949f, -0.004254f, -0.001794f, 0.003714f, -0.003434f, -0.000616f, -0.001798f, 0.003844f, 0.006843f, 0.003527f, 0.001989f, - -0.001754f, -0.000797f, 0.001222f, -0.000711f, 0.004582f, 0.000755f, -0.002262f, -0.001357f, -0.001048f, -0.000337f, 0.000627f, 0.000545f, 0.000056f, -0.000740f, 0.002114f, 0.001327f, 0.000086f, 0.000799f, -0.001682f, -0.001086f, -0.001347f, -0.001579f, -0.000571f, -0.001766f, -0.001727f, -0.000398f, 0.002164f, 0.010111f, 0.010939f, 0.005775f, 0.000018f, 0.008919f, -0.004806f, -0.007589f, 0.007407f, 0.007686f, 0.009769f, 0.014357f, 0.001400f, -0.009147f, 0.005358f, -0.008724f, -0.000527f, 0.002919f, 0.002158f, 0.015990f, 0.001334f, -0.012875f, -0.000518f, 0.002298f, 0.005491f, -0.000930f, -0.004286f, -0.014175f, -0.002696f, 0.012030f, 0.004252f, 0.007912f, 0.009362f, 0.007702f, 0.002243f, -0.001341f, 0.008333f, -0.010530f, -0.000225f, -0.007159f, 0.019309f, -0.001042f, 0.000635f, 0.008552f, -0.007029f, -0.001121f, 0.003101f, -0.001078f, 0.011554f, -0.001770f, 0.003556f, 0.010965f, -0.002040f, 0.003438f, 0.001003f, -0.000531f, -0.000018f, -0.001443f, -0.003080f, 0.004739f, 0.006453f, -0.001541f, 0.006423f, 0.002309f, 0.012622f, 0.014326f, -0.000678f, 0.003830f, 0.002454f, -0.007236f, - 0.007184f, -0.001772f, -0.005952f, 0.002526f, 0.007075f, 0.001975f, -0.001747f, 0.012695f, -0.001727f, 0.003447f, 0.003886f, 0.001880f, -0.006372f, -0.000374f, -0.001243f, 0.001024f, -0.003332f, -0.000703f, 0.000457f, 0.001348f, 0.001430f, 0.002336f, -0.000754f, 0.001142f, -0.003096f, -0.002148f, -0.003856f, 0.002987f, 0.001054f, -0.000584f, 0.001253f, -0.000541f, -0.003156f, 0.002024f, 0.000372f, 0.001466f, -0.000925f, -0.001127f, 0.000623f, 0.003774f, -0.003858f, 0.015984f, 0.015623f, -0.006138f, -0.008976f, -0.007806f, -0.005394f, 0.004044f, -0.017122f, -0.001632f, 0.002348f, -0.008148f, -0.015170f, 0.014749f, -0.003201f, -0.003655f, 0.002331f, 0.006829f, 0.006016f, -0.007451f, -0.003009f, -0.000245f, -0.000842f, 0.003601f, 0.005154f, -0.002782f, 0.006345f, -0.004698f, 0.009742f, -0.001092f, 0.000375f, -0.004916f, 0.005137f, 0.001989f, -0.001506f, -0.004893f, 0.002348f, -0.002737f, -0.004377f, -0.003567f, 0.000858f, 0.003314f, -0.009248f, 0.000894f, -0.017438f, -0.009972f, 0.006260f, -0.002519f, 0.002076f, 0.004000f, 0.011471f, -0.003585f, -0.005784f, -0.000290f, 0.000363f, 0.004943f, - 0.004645f, -0.005256f, -0.002359f, 0.012794f, 0.000490f, 0.002056f, 0.001085f, 0.005763f, -0.010563f, 0.000482f, 0.005364f, 0.009977f, 0.002076f, 0.004362f, 0.014990f, -0.003555f, -0.001399f, -0.007978f, 0.000119f, 0.002599f, 0.005258f, 0.000120f, -0.003217f, 0.004712f, -0.000379f, 0.008453f, 0.000097f, -0.000197f, 0.001040f, -0.010390f, -0.005405f, -0.006095f, 0.005885f, -0.000890f, -0.001674f, 0.000018f, 0.000798f, -0.000302f, 0.003105f, -0.000859f, -0.001725f, -0.002198f, -0.001109f, -0.003160f, -0.002094f, 0.002556f, 0.000184f, -0.000795f, -0.001622f, 0.000860f, 0.000683f, 0.000310f, -0.001419f, 0.002807f, 0.001200f, 0.001801f, -0.000361f, -0.000078f, -0.001855f, -0.001988f, 0.001418f, -0.000909f, 0.001903f, 0.002524f, -0.010122f, -0.015846f, 0.006802f, -0.005174f, 0.000325f, -0.008158f, 0.006355f, -0.018292f, -0.014991f, -0.017250f, -0.005781f, -0.003652f, -0.012014f, 0.006157f, 0.016524f, -0.012133f, 0.002579f, 0.019376f, -0.004447f, -0.005271f, -0.008876f, 0.001588f, -0.000017f, 0.008596f, 0.002840f, 0.006184f, 0.004358f, -0.006287f, -0.012269f, -0.005839f, 0.007382f, -0.004155f, - -0.007492f, 0.001918f, 0.003141f, 0.002438f, 0.001595f, 0.016874f, -0.007925f, 0.009195f, -0.004359f, 0.004626f, -0.004875f, 0.014043f, -0.010408f, 0.005743f, -0.000829f, -0.008317f, 0.007800f, -0.003076f, -0.002728f, 0.008380f, 0.004479f, -0.000703f, -0.003663f, 0.007618f, 0.003777f, -0.007805f, -0.009342f, 0.006431f, 0.010393f, 0.005850f, 0.000266f, -0.004498f, 0.000551f, 0.006625f, -0.002827f, 0.008004f, -0.001858f, -0.016262f, 0.000535f, -0.007136f, 0.023193f, 0.008102f, -0.013167f, -0.007418f, -0.002583f, -0.005962f, 0.005995f, 0.005804f, 0.004410f, -0.002834f, 0.005098f, 0.004099f, 0.001455f, -0.000970f, -0.006793f, 0.001353f, 0.002357f, -0.001941f, 0.001582f, 0.002374f, -0.000897f, -0.000284f, 0.001511f, -0.000430f, -0.002009f, -0.001688f, 0.000176f, 0.001781f, -0.001833f, 0.001685f, 0.001997f, -0.002549f, -0.003243f, -0.004102f, 0.000144f, 0.002440f, -0.001104f, 0.002167f, -0.001752f, -0.000168f, 0.001658f, -0.001166f, 0.000702f, 0.006077f, -0.013485f, -0.016445f, 0.014169f, -0.002953f, -0.013418f, 0.001215f, -0.003452f, 0.013855f, 0.006852f, -0.003399f, 0.002568f, -0.000577f, - -0.002043f, -0.002343f, 0.016000f, 0.003250f, 0.000875f, -0.010791f, -0.004971f, -0.002429f, 0.005623f, 0.007151f, 0.021540f, 0.000668f, 0.000730f, -0.000530f, 0.001488f, -0.009332f, 0.000451f, 0.004041f, -0.011742f, -0.008178f, -0.007596f, -0.000836f, 0.015752f, -0.012665f, 0.002203f, 0.007311f, 0.003136f, -0.005854f, 0.006572f, -0.015841f, 0.013080f, -0.002700f, 0.000022f, 0.007216f, -0.008056f, -0.009338f, -0.014653f, 0.003235f, -0.004782f, 0.014023f, 0.004849f, 0.000465f, 0.002665f, 0.004349f, 0.010920f, -0.004702f, -0.002385f, 0.011506f, -0.002326f, -0.006379f, -0.000226f, 0.011513f, 0.011562f, 0.010648f, 0.005714f, -0.006902f, 0.006775f, 0.009641f, -0.011247f, 0.014517f, -0.008799f, -0.008128f, 0.013070f, 0.001475f, 0.018853f, -0.000141f, -0.010571f, 0.004750f, -0.004706f, 0.012581f, 0.005964f, 0.003533f, 0.000847f, 0.004372f, -0.002199f, 0.007938f, 0.002738f, 0.003206f, 0.002372f, 0.004682f, -0.000367f, -0.000306f, 0.003596f, -0.000056f, 0.002640f, -0.001332f, 0.004352f, 0.008974f, -0.005180f, -0.002303f, 0.001567f, 0.001189f, 0.000570f, 0.002336f, -0.000451f, 0.000785f, - 0.001827f, 0.004433f, 0.000316f, 0.008265f, 0.001950f, 0.001024f, -0.003685f, 0.000999f, 0.002708f, -0.003616f, 0.000800f, 0.001676f, -0.000224f, 0.001117f, -0.029522f, -0.019450f, 0.005230f, 0.009484f, 0.020186f, -0.012302f, 0.010832f, 0.002018f, 0.011408f, -0.000582f, -0.005327f, -0.006934f, 0.007043f, 0.020914f, 0.001764f, -0.001831f, -0.019957f, -0.016690f, 0.000102f, -0.012267f, -0.007225f, 0.000717f, 0.002508f, -0.012572f, -0.003772f, 0.003056f, 0.007377f, 0.003946f, -0.008144f, -0.000018f, 0.009378f, 0.007653f, 0.001578f, -0.007705f, 0.001416f, -0.004709f, 0.002264f, 0.002646f, 0.004295f, -0.005928f, 0.007443f, 0.018229f, -0.001864f, -0.001342f, 0.003523f, -0.010138f, 0.004783f, 0.014687f, -0.014471f, -0.017036f, -0.008835f, 0.001433f, -0.022096f, 0.000572f, 0.000620f, 0.003108f, 0.000203f, -0.000297f, -0.010497f, -0.005622f, -0.006822f, -0.000899f, 0.015014f, 0.022214f, 0.000617f, 0.001494f, 0.010812f, -0.004500f, -0.001866f, 0.005059f, 0.024946f, 0.003192f, 0.008960f, 0.017565f, 0.003192f, -0.011333f, 0.004708f, 0.005280f, -0.005261f, 0.005434f, 0.004499f, -0.001128f, - -0.005440f, 0.002603f, 0.001585f, -0.001131f, -0.009287f, 0.004138f, 0.008502f, 0.003235f, 0.006192f, 0.003514f, 0.007475f, -0.001567f, -0.002821f, 0.006945f, 0.005714f, -0.001720f, -0.000392f, -0.002003f, 0.004919f, 0.005405f, -0.004322f, 0.005371f, 0.001421f, 0.000717f, 0.001328f, 0.002947f, 0.003982f, 0.000583f, 0.003479f, -0.002296f, -0.001267f, 0.000048f, -0.000629f, 0.001493f, -0.002327f, 0.000420f, -0.000702f, 0.001092f, -0.003134f, 0.015276f, 0.009445f, -0.013940f, -0.000693f, 0.030221f, 0.026538f, 0.005733f, 0.015974f, 0.019972f, 0.004934f, -0.000171f, 0.012964f, -0.005780f, 0.000070f, -0.011716f, 0.009601f, -0.000692f, 0.000407f, 0.004477f, 0.005077f, 0.016502f, -0.013890f, -0.012491f, 0.012453f, 0.002676f, 0.005645f, -0.009728f, 0.001699f, -0.003333f, 0.006367f, 0.000201f, 0.008967f, 0.008993f, -0.009129f, 0.007631f, 0.006202f, -0.010304f, 0.026621f, 0.004772f, 0.005111f, -0.020617f, -0.006740f, -0.001564f, 0.017219f, 0.016239f, -0.001745f, -0.017684f, 0.011514f, -0.015364f, -0.004911f, 0.013647f, -0.000503f, -0.010867f, 0.013117f, 0.016728f, -0.004348f, 0.005706f, - -0.006807f, -0.023210f, 0.000019f, 0.015047f, -0.006990f, -0.007873f, 0.009713f, -0.011081f, -0.017101f, 0.004320f, 0.011391f, 0.021081f, 0.010875f, -0.015621f, 0.006459f, -0.018369f, -0.021893f, 0.020187f, 0.009319f, 0.007450f, -0.013653f, -0.014501f, -0.002323f, 0.015241f, 0.004922f, 0.021732f, 0.009467f, 0.005558f, -0.023121f, 0.003814f, -0.006535f, 0.000971f, -0.005497f, 0.004881f, 0.001315f, 0.005888f, 0.009583f, 0.005165f, 0.000735f, 0.004378f, -0.003958f, -0.001802f, -0.004031f, 0.000032f, -0.003783f, -0.001002f, 0.001307f, 0.007333f, 0.001136f, -0.002940f, -0.001430f, 0.002398f, 0.000191f, -0.000570f, -0.007527f, 0.000482f, -0.003915f, 0.001476f, -0.005393f, -0.005720f, 0.003722f, 0.004637f, 0.007097f, -0.007040f, 0.031260f, 0.020053f, -0.013550f, -0.003712f, -0.000516f, 0.005466f, 0.004409f, -0.001980f, -0.012221f, 0.002955f, -0.008379f, 0.012996f, 0.000405f, 0.005003f, -0.004254f, -0.001944f, -0.012755f, -0.006800f, 0.026871f, 0.008872f, -0.016389f, 0.007744f, -0.016010f, -0.011320f, -0.025042f, 0.010872f, 0.000415f, 0.000373f, 0.005929f, -0.000712f, -0.011358f, 0.018860f, - 0.010797f, -0.004189f, -0.019028f, 0.019026f, -0.013065f, 0.005001f, -0.000496f, 0.006214f, 0.003757f, 0.012079f, 0.013960f, -0.003289f, 0.007729f, 0.022098f, 0.002835f, -0.006974f, -0.006336f, -0.003948f, 0.003434f, 0.014740f, -0.004063f, 0.005972f, 0.001160f, -0.013565f, 0.000517f, -0.003365f, 0.006599f, -0.020387f, -0.000344f, -0.033965f, -0.020572f, -0.018966f, -0.004792f, -0.018742f, 0.012578f, -0.004710f, -0.015485f, -0.004200f, -0.001740f, -0.012577f, -0.005447f, -0.000481f, 0.001260f, -0.007559f, -0.016269f, -0.016332f, 0.000879f, -0.003576f, 0.003982f, 0.009102f, -0.001455f, 0.004536f, 0.002279f, -0.000111f, -0.000266f, -0.008913f, -0.000378f, -0.000219f, -0.007125f, -0.000623f, 0.006720f, 0.012875f, -0.002230f, -0.006212f, 0.004843f, -0.008031f, 0.006768f, -0.006711f, -0.002484f, 0.001251f, -0.004854f, -0.006035f, -0.000031f, -0.003781f, 0.000942f, -0.001433f, -0.006026f, 0.002935f, -0.000235f, 0.007496f, 0.005084f, -0.005351f, 0.004560f, -0.003006f, 0.004243f, -0.002474f, 0.002889f, 0.002611f, 0.002070f, 0.000116f, 0.003034f, -0.003554f, -0.001866f, -0.003946f, -0.007856f, 0.001001f, - 0.002884f, -0.000862f, 0.001739f, -0.006225f, -0.021293f, -0.026768f, -0.012523f, -0.017818f, 0.046137f, -0.022339f, 0.010560f, -0.021097f, -0.005918f, 0.002217f, -0.003279f, -0.031435f, -0.000524f, -0.014941f, 0.001250f, 0.037008f, -0.011711f, 0.015525f, 0.020507f, 0.007356f, 0.008417f, 0.022255f, 0.006760f, -0.008674f, 0.006462f, 0.008721f, 0.009528f, 0.003980f, -0.004495f, 0.025901f, 0.001121f, -0.002091f, -0.004209f, 0.007017f, -0.002083f, -0.009028f, 0.008898f, -0.003348f, 0.006419f, -0.025108f, 0.001176f, -0.004862f, 0.022835f, -0.008973f, 0.007453f, 0.034034f, -0.002841f, 0.000701f, -0.008186f, -0.014083f, -0.000685f, -0.002321f, -0.014277f, 0.018073f, -0.003777f, 0.013110f, 0.001511f, 0.012380f, -0.007077f, -0.001350f, 0.027328f, 0.013302f, -0.021025f, -0.011078f, 0.005869f, 0.006529f, 0.003343f, 0.005788f, -0.006073f, 0.007688f, 0.010082f, 0.022594f, -0.028943f, 0.001733f, -0.012326f, 0.005907f, -0.000442f, 0.003307f, 0.010772f, 0.015516f, -0.010292f, 0.010958f, -0.007434f, -0.005112f, -0.004123f, -0.003886f, 0.008820f, -0.019772f, -0.003821f, -0.009134f, 0.011391f, 0.009152f, - 0.003964f, 0.004709f, -0.006570f, 0.007559f, 0.003519f, 0.005440f, -0.000731f, 0.004313f, -0.005830f, -0.003304f, -0.007325f, -0.000626f, -0.001172f, -0.006617f, -0.000087f, -0.000689f, -0.001757f, -0.000092f, 0.007842f, 0.004805f, -0.004316f, -0.007077f, 0.003692f, 0.002681f, 0.008987f, -0.006936f, 0.000541f, -0.002502f, 0.004031f, 0.004584f, -0.003771f, -0.007136f, -0.015273f, -0.013532f, -0.014776f, 0.016012f, -0.030909f, -0.008991f, -0.019393f, 0.009715f, 0.031896f, -0.017297f, 0.000873f, 0.001017f, -0.006329f, 0.012439f, -0.010356f, 0.005069f, -0.003258f, -0.013048f, 0.028454f, 0.001537f, -0.009359f, 0.000526f, -0.004228f, -0.012500f, 0.009898f, -0.009549f, 0.009290f, -0.017937f, -0.008441f, 0.012294f, 0.008896f, -0.030047f, -0.005459f, -0.025569f, 0.007616f, -0.004187f, -0.024741f, 0.030233f, -0.008458f, -0.000476f, -0.022887f, -0.024954f, 0.001432f, -0.022487f, -0.002976f, -0.019413f, -0.016691f, 0.019831f, 0.002161f, -0.025285f, 0.008320f, -0.022620f, 0.020251f, 0.007435f, -0.009833f, 0.000886f, 0.006508f, 0.021398f, -0.016477f, -0.023195f, 0.023575f, -0.016357f, -0.009393f, 0.012466f, - 0.017799f, -0.032918f, -0.016247f, 0.018887f, 0.013963f, 0.007391f, -0.001730f, 0.002432f, -0.023724f, 0.008256f, 0.007912f, 0.013194f, -0.004176f, -0.024997f, -0.018198f, 0.008989f, -0.021657f, -0.018860f, 0.007994f, -0.001152f, 0.000298f, 0.008012f, 0.018294f, 0.000128f, -0.000766f, 0.017138f, 0.001585f, -0.002672f, 0.002921f, -0.002222f, -0.003463f, 0.003771f, -0.004478f, -0.003063f, -0.008597f, -0.008132f, -0.005869f, 0.001612f, -0.004883f, 0.000171f, 0.003484f, 0.002873f, -0.000475f, -0.000004f, 0.003729f, -0.004213f, -0.006819f, 0.002154f, -0.000222f, 0.006620f, -0.006282f, -0.001694f, -0.007122f, 0.008374f, 0.008737f, 0.001987f, -0.000433f, -0.005288f, -0.002184f, -0.007478f, 0.000653f, 0.001331f, -0.004246f, 0.001426f, 0.001729f, 0.015709f, -0.024244f, -0.039527f, -0.031925f, 0.014384f, -0.038170f, -0.001846f, 0.028895f, -0.002561f, 0.002054f, 0.020749f, -0.013798f, -0.011737f, 0.045934f, -0.018202f, 0.010727f, 0.017488f, -0.003274f, -0.041665f, -0.003496f, 0.004395f, -0.010507f, -0.005775f, -0.009728f, 0.038876f, 0.000340f, 0.000441f, -0.001948f, -0.028004f, 0.005091f, -0.016124f, - -0.008138f, 0.001744f, 0.004646f, 0.008299f, 0.022537f, 0.005015f, -0.005858f, 0.044420f, 0.004635f, -0.010986f, -0.040660f, -0.005928f, 0.029753f, -0.006467f, -0.018684f, -0.024998f, -0.022063f, -0.018802f, -0.011877f, 0.031597f, 0.012239f, 0.001817f, 0.017513f, 0.026398f, 0.014673f, -0.005750f, -0.004682f, 0.027286f, -0.005438f, -0.008368f, 0.007875f, 0.020866f, 0.002920f, -0.021442f, 0.004877f, -0.002164f, -0.032106f, -0.002422f, 0.025451f, -0.012633f, -0.014792f, -0.003587f, 0.034234f, -0.027292f, -0.005529f, -0.015229f, 0.015605f, 0.009089f, 0.007200f, 0.010967f, -0.004554f, -0.005882f, 0.011553f, 0.009268f, 0.006354f, -0.001873f, 0.001374f, 0.007294f, -0.020207f, -0.003725f, 0.002582f, -0.010433f, 0.000211f, 0.011015f, -0.001173f, 0.002033f, -0.004389f, -0.001257f, 0.005981f, 0.007780f, 0.011623f, 0.006558f, -0.002013f, 0.004151f, -0.006733f, -0.008519f, 0.002387f, -0.001672f, -0.006979f, 0.007704f, 0.004049f, 0.005827f, 0.001190f, 0.002820f, 0.005944f, 0.003313f, -0.001778f, -0.004290f, -0.001173f, 0.002425f, -0.000030f, 0.002458f, 0.000462f, 0.003049f, 0.001813f, 0.005220f, - 0.000629f, -0.005026f, 0.011056f, 0.009074f, -0.008577f, -0.002897f, -0.004126f, 0.032345f, 0.003243f, -0.028873f, -0.001077f, 0.008675f, -0.001051f, -0.013155f, 0.012528f, -0.009729f, 0.025706f, -0.019769f, 0.017663f, 0.038640f, -0.010457f, -0.010274f, -0.009110f, -0.008020f, 0.034479f, -0.025538f, -0.028091f, -0.021412f, 0.007821f, -0.011161f, -0.018084f, -0.008297f, 0.012385f, -0.017310f, 0.009586f, 0.002296f, 0.013528f, 0.020113f, 0.002472f, -0.002541f, -0.003857f, 0.019827f, -0.005102f, 0.007025f, -0.024269f, -0.000187f, -0.008643f, 0.019335f, -0.025790f, 0.021210f, -0.008909f, -0.013263f, 0.021326f, 0.036980f, -0.020767f, 0.010548f, -0.004584f, 0.007528f, -0.055474f, -0.043954f, -0.026681f, 0.003881f, -0.016924f, 0.007345f, 0.001815f, -0.020576f, -0.016273f, 0.001826f, 0.044230f, 0.010461f, -0.027549f, -0.041165f, -0.021730f, -0.015175f, 0.027112f, -0.018747f, -0.026827f, 0.006467f, 0.005905f, -0.024779f, -0.001546f, -0.000363f, -0.012295f, -0.002778f, -0.000635f, -0.000982f, 0.012169f, 0.003051f, -0.014247f, -0.012602f, -0.006935f, -0.018193f, -0.009915f, 0.003105f, 0.020590f, 0.003534f, - 0.003887f, -0.005869f, -0.016836f, -0.002522f, 0.013859f, -0.000561f, -0.007807f, 0.012807f, -0.019198f, -0.009351f, 0.002942f, 0.003161f, -0.000267f, 0.002252f, 0.001411f, -0.006384f, -0.013419f, -0.004723f, 0.010341f, -0.005853f, -0.004735f, -0.005257f, -0.011964f, -0.013173f, 0.005046f, -0.004640f, -0.002841f, -0.012394f, 0.003170f, 0.008381f, 0.010028f, -0.000271f, -0.005911f, -0.006830f, 0.007251f, 0.006606f, 0.055551f, 0.036440f, -0.009604f, 0.003749f, 0.035919f, -0.014115f, 0.001173f, 0.015539f, 0.038884f, 0.022936f, -0.006856f, -0.008590f, -0.013540f, 0.003598f, -0.007496f, 0.000701f, 0.000903f, 0.041115f, 0.067758f, -0.003874f, 0.046709f, 0.029661f, 0.005957f, 0.007442f, -0.033462f, -0.032989f, -0.003871f, 0.008870f, -0.002498f, 0.008220f, -0.012567f, -0.024675f, -0.041926f, -0.003495f, -0.027024f, -0.022654f, -0.015197f, -0.023454f, -0.017051f, -0.000828f, 0.038689f, -0.001135f, -0.029606f, -0.002382f, 0.008246f, 0.028919f, -0.009194f, -0.007218f, -0.017745f, 0.013177f, -0.052995f, -0.047387f, -0.023004f, -0.023591f, -0.025546f, -0.015307f, 0.016682f, -0.021267f, -0.029779f, -0.024813f, - -0.044460f, 0.022805f, 0.011983f, -0.039270f, 0.020006f, 0.039861f, 0.077777f, 0.043101f, -0.000678f, 0.014327f, -0.045059f, -0.018264f, 0.023956f, 0.020505f, -0.011698f, -0.030263f, 0.003744f, 0.006460f, 0.027385f, -0.003421f, -0.028546f, -0.004866f, 0.044967f, 0.028950f, 0.032495f, 0.026108f, 0.045354f, 0.043002f, 0.012654f, 0.011757f, -0.010266f, -0.017941f, -0.005253f, -0.001481f, -0.015658f, 0.000039f, -0.018063f, -0.013204f, 0.020457f, 0.009285f, -0.005867f, -0.017876f, -0.007091f, -0.002055f, -0.000527f, -0.019909f, 0.019702f, 0.000350f, -0.016977f, 0.010117f, -0.010561f, -0.008571f, -0.002807f, 0.006338f, 0.027269f, 0.013564f, 0.032674f, 0.000242f, -0.006734f, 0.003861f, 0.012315f, 0.008478f, -0.004482f, 0.017477f, 0.000595f, -0.005502f, 0.002331f, 0.014490f, -0.007325f, -0.005964f, 0.005117f, -0.001100f, -0.057748f, -0.005209f, 0.092137f, -0.006513f, 0.003050f, 0.023321f, -0.034059f, 0.019174f, 0.065216f, 0.060733f, -0.061443f, -0.058342f, -0.000372f, -0.063319f, -0.024424f, 0.000110f, 0.006956f, 0.023373f, 0.034503f, 0.030977f, 0.054020f, 0.013035f, 0.021020f, 0.021855f, - -0.009623f, -0.003718f, 0.005492f, 0.007341f, 0.015630f, -0.029039f, 0.064959f, 0.028211f, 0.030076f, -0.005557f, 0.065957f, 0.008373f, 0.039560f, 0.016721f, 0.012035f, -0.015527f, -0.010662f, 0.033985f, 0.012510f, 0.015852f, -0.036229f, -0.019000f, -0.030350f, -0.017317f, -0.022232f, -0.000021f, -0.043778f, -0.046872f, -0.003314f, -0.018016f, -0.089136f, -0.065857f, -0.060276f, 0.017076f, 0.063948f, 0.083639f, -0.046791f, 0.057672f, 0.088997f, 0.015325f, 0.006936f, -0.005682f, 0.061029f, 0.004726f, 0.055140f, 0.024012f, 0.025461f, -0.037183f, -0.123741f, -0.097463f, -0.022701f, -0.003328f, 0.001909f, 0.004308f, 0.044773f, 0.042966f, 0.036704f, -0.023360f, 0.002252f, -0.012230f, -0.064211f, 0.006340f, 0.004271f, 0.031812f, 0.004146f, 0.046812f, 0.041575f, 0.010388f, 0.036044f, -0.015737f, 0.024126f, -0.022300f, -0.025792f, -0.009364f, 0.009020f, 0.040590f, -0.010077f, -0.011684f, 0.005093f, -0.020393f, -0.010817f, 0.020405f, -0.006825f, 0.014008f, -0.026672f, 0.034718f, 0.009597f, 0.000061f, -0.003436f, 0.026601f, -0.007666f, 0.001542f, 0.003326f, -0.000901f, 0.017204f, -0.013606f, - -0.007870f, -0.000597f, 0.016447f, -0.026620f, 0.002333f, 0.008883f, -0.013968f, 0.001476f, 0.003558f, 0.002744f, -0.007001f, 0.045172f, -0.010145f, -0.080768f, -0.007395f, 0.129357f, 0.023333f, -0.023806f, 0.033018f, -0.010303f, 0.021399f, -0.009961f, -0.014260f, -0.042120f, -0.016255f, -0.004248f, -0.007385f, -0.019965f, 0.030246f, -0.027187f, -0.029901f, -0.001643f, 0.004456f, 0.027431f, 0.011878f, 0.007839f, 0.011255f, -0.010626f, -0.000039f, 0.040772f, -0.020897f, -0.047687f, -0.009911f, 0.004642f, -0.016524f, 0.034013f, -0.017842f, -0.010892f, 0.028024f, 0.008387f, 0.021093f, -0.049272f, -0.056260f, 0.019058f, -0.011084f, -0.018594f, -0.024256f, -0.029122f, -0.061923f, 0.000631f, -0.005686f, 0.021048f, -0.039749f, -0.081835f, 0.061376f, 0.017449f, 0.057674f, 0.006942f, -0.018980f, -0.016953f, 0.014807f, -0.030494f, 0.047773f, 0.010065f, 0.057396f, 0.040756f, 0.085355f, -0.007963f, -0.082528f, -0.063429f, -0.036642f, 0.047824f, 0.047261f, -0.035645f, 0.037467f, 0.075396f, -0.044432f, -0.006305f, 0.080220f, 0.013019f, 0.061546f, -0.008693f, -0.031929f, -0.083286f, -0.032896f, 0.009935f, - 0.053132f, 0.047100f, -0.027867f, 0.023891f, 0.021678f, 0.044688f, 0.014911f, -0.043625f, -0.052507f, -0.020116f, 0.035700f, 0.077006f, -0.002291f, -0.006484f, 0.039479f, 0.021414f, 0.003264f, -0.006213f, -0.017131f, -0.020320f, -0.017073f, 0.013435f, 0.007644f, 0.024621f, -0.010540f, -0.002468f, 0.001940f, 0.015015f, 0.018543f, -0.023921f, 0.000057f, 0.027765f, -0.003486f, -0.007685f, -0.030814f, 0.022409f, -0.000420f, -0.012795f, -0.009719f, 0.030902f, -0.001813f, -0.019365f, -0.010884f, -0.068042f, 0.070546f, 0.095724f, 0.016669f, 0.004346f, 0.021258f, -0.014612f, 0.041758f, 0.023360f, 0.043638f, -0.008853f, -0.046115f, 0.102416f, 0.000571f, -0.038511f, 0.004717f, 0.069246f, 0.031689f, 0.013567f, -0.043909f, 0.004742f, -0.023524f, -0.017176f, 0.006836f, -0.032669f, 0.002724f, 0.008759f, 0.039330f, -0.055928f, -0.009556f, -0.006734f, 0.033205f, -0.012681f, -0.020700f, -0.019692f, -0.000319f, 0.021156f, -0.043530f, 0.003125f, 0.011390f, -0.088982f, 0.012189f, -0.024158f, -0.062759f, 0.041155f, -0.046411f, -0.081325f, 0.107214f, -0.000910f, 0.006118f, -0.008547f, -0.029946f, 0.064662f, - -0.045916f, -0.004402f, 0.009526f, -0.029664f, -0.002544f, 0.081720f, 0.042179f, -0.072299f, -0.078246f, 0.076918f, -0.036920f, 0.044756f, 0.073800f, -0.066516f, -0.114408f, -0.079236f, 0.131722f, -0.007993f, -0.103618f, 0.094390f, -0.069162f, -0.131367f, -0.002294f, 0.112936f, -0.005129f, -0.136339f, -0.002199f, -0.046037f, 0.000982f, 0.167633f, -0.025893f, -0.123820f, 0.017650f, 0.065533f, 0.001100f, 0.076670f, 0.004171f, 0.001264f, -0.024657f, 0.002861f, 0.017269f, 0.061823f, -0.013322f, -0.017040f, 0.061131f, -0.008516f, 0.014304f, 0.042765f, -0.007748f, -0.063019f, 0.040539f, 0.029346f, 0.047535f, -0.015197f, -0.001525f, 0.016707f, -0.014220f, -0.046501f, -0.020773f, 0.018696f, 0.001003f, -0.009444f, 0.060372f, -0.002193f, -0.068136f, 0.015437f, 0.054824f, 0.031684f, -0.024037f, 0.002652f, -0.027488f, -0.015435f, 0.066559f, 0.055863f, -0.015185f, -0.064896f, -0.021210f, 0.026062f, 0.021020f, 0.017149f, -0.012738f, -0.002802f, -0.045145f, 0.069381f, -0.013442f, 0.020440f, 0.045486f, 0.031235f, 0.034619f, 0.081757f, 0.036374f, -0.021184f, 0.013679f, 0.019458f, 0.027579f, -0.030858f, - 0.080093f, 0.074181f, 0.011047f, 0.025070f, -0.017781f, -0.000991f, -0.080559f, 0.036346f, -0.042259f, 0.027962f, -0.002720f, -0.030779f, 0.044570f, -0.018459f, -0.032237f, 0.016655f, -0.045767f, 0.029815f, 0.001908f, -0.009774f, 0.013399f, 0.018264f, 0.029374f, 0.028508f, 0.028639f, 0.083188f, -0.007667f, 0.008202f, 0.027205f, 0.055728f, -0.004969f, 0.014100f, 0.000823f, 0.043371f, 0.053246f, -0.018129f, 0.013292f, -0.003319f, -0.007956f, -0.097140f, 0.008341f, 0.040014f, -0.022346f, -0.024509f, 0.021957f, -0.041049f, -0.058965f, 0.004336f, 0.034499f, 0.070061f, -0.090594f, 0.033946f, -0.003998f, -0.003541f, 0.001091f, 0.034706f, 0.077184f, 0.000374f, -0.055133f, 0.017528f, 0.062769f, -0.034620f, -0.048415f, 0.003762f, 0.027928f, -0.027315f, 0.049857f, -0.010560f, 0.038484f, 0.002296f, -0.036985f, 0.045357f, 0.037971f, 0.005339f, 0.030104f, -0.017577f, 0.019065f, -0.010017f, 0.010416f, 0.014160f, 0.045496f, -0.010516f, -0.053589f, -0.008004f, 0.063615f, 0.003855f, -0.007287f, 0.054893f, 0.012391f, -0.001272f, 0.014168f, 0.037781f, 0.058400f, -0.038035f, 0.014945f, 0.006889f, - -0.002023f, 0.027331f, -0.007519f, -0.043005f, 0.014541f, 0.039058f, -0.016402f, 0.009466f, 0.014379f, -0.013999f, 0.016341f, -0.027702f, 0.019789f, 0.016133f, -0.022526f, -0.051282f, 0.022238f, 0.027646f, -0.012492f, -0.019311f, 0.027494f, -0.002987f, -0.015452f, 0.043238f, -0.082144f, -0.064982f, -0.000603f, -0.099968f, -0.033590f, -0.037344f, 0.077104f, -0.002779f, -0.027793f, 0.034670f, -0.017527f, 0.018971f, 0.005534f, -0.038504f, 0.045851f, -0.103014f, -0.009203f, 0.005676f, -0.025102f, 0.018349f, 0.005090f, -0.020536f, -0.003134f, 0.002476f, 0.026328f, 0.001020f, -0.029532f, -0.099953f, -0.072001f, -0.055767f, -0.026965f, 0.061114f, -0.011979f, 0.001806f, -0.099052f, 0.006953f, -0.006430f, -0.013987f, 0.003646f, -0.096755f, 0.052053f, -0.047223f, 0.024223f, -0.019613f, 0.066058f, -0.036272f, -0.062981f, -0.031010f, -0.000042f, 0.047079f, 0.087192f, 0.090608f, -0.111880f, -0.083628f, -0.056870f, 0.038294f, 0.092850f, 0.111303f, -0.018977f, -0.028498f, -0.097860f, -0.036924f, 0.088087f, 0.053079f, -0.000536f, -0.000397f, -0.001569f, -0.083535f, 0.056135f, -0.017102f, 0.054202f, 0.129568f, - -0.144674f, 0.175596f, 0.050254f, -0.095710f, 0.027205f, -0.191494f, -0.186220f, 0.137489f, 0.059367f, 0.013240f, 0.041671f, -0.071079f, -0.033419f, 0.128133f, -0.004327f, 0.086072f, -0.007911f, -0.069777f, -0.022087f, 0.076016f, -0.024811f, -0.001975f, 0.025360f, -0.006416f, -0.043895f, 0.024517f, -0.035519f, 0.016447f, 0.049277f, -0.050852f, 0.048553f, 0.015867f, -0.005796f, 0.017931f, -0.002296f, -0.011585f, 0.008625f, -0.017740f, 0.009685f, -0.036108f, 0.032559f, 0.033110f, 0.007470f, 0.000999f, -0.010374f, 0.016946f, 0.006940f, 0.006735f, 0.017208f, 0.031910f, -0.038920f, -0.013449f, -0.036061f, -0.028119f, 0.003668f, 0.001432f, 0.032394f, -0.041042f, -0.030672f, -0.039529f, -0.024200f, -0.010552f, -0.082967f, 0.068584f, -0.041119f, 0.042074f, 0.022419f, 0.026458f, 0.015756f, -0.053332f, 0.058138f, -0.008888f, -0.020621f, -0.019310f, -0.022886f, 0.017507f, -0.011971f, 0.025019f, 0.015151f, -0.003594f, -0.005969f, -0.044701f, 0.025916f, 0.010236f, -0.011304f, 0.009603f, 0.023535f, -0.006969f, 0.013402f, -0.022867f, 0.026771f, -0.010234f, 0.003530f, 0.010539f, 0.011448f, -0.012177f, - 0.041213f, -0.001911f, -0.038516f, -0.002875f, 0.017935f, 0.008477f, -0.029437f, 0.014053f, 0.034527f, -0.006787f, -0.016599f, -0.016640f, -0.002145f, 0.009157f, -0.004056f, 0.040099f, -0.027073f, -0.010725f, -0.009545f, -0.020620f, -0.001610f, -0.006509f, 0.014926f, 0.010408f, -0.016598f, -0.002825f, 0.015648f, -0.016642f, -0.008294f, -0.005178f, 0.025099f, -0.015749f, 0.010826f, 0.016502f, -0.038622f, -0.015886f, 0.012513f, -0.040675f, 0.061379f, 0.016112f, 0.019605f, 0.028009f, -0.017827f, -0.000732f, -0.005200f, -0.028079f, 0.005692f, 0.008946f, 0.022474f, -0.004670f, -0.009313f, 0.013415f, -0.014043f, -0.006035f, 0.013511f, -0.000063f, -0.003203f, 0.011128f, 0.003553f, -0.007443f, -0.000238f, -0.008192f, 0.017971f, -0.017108f, 0.027223f, 0.001026f, 0.006062f, -0.011493f, -0.000933f, -0.004286f, -0.008404f, -0.004624f, 0.006538f, 0.003118f, 0.007891f, -0.000303f, -0.006314f, -0.004422f, -0.020939f, 0.021101f, -0.016799f, 0.009497f, -0.003932f, 0.012287f, -0.006863f, -0.019713f, 0.001384f, 0.010095f, -0.016008f, 0.024064f, -0.019095f, 0.010499f, -0.007244f, 0.095946f, 0.012486f, -0.032495f, - -0.025268f, -0.018909f, -0.001859f, -0.003072f, 0.002075f, -0.002599f, -0.003742f, -0.054234f, 0.001146f, -0.010787f, -0.012563f, 0.006902f, -0.021341f, -0.009649f, 0.009839f, -0.014835f, 0.004188f, 0.016855f, -0.022800f, 0.014365f, -0.008466f, -0.012055f, -0.001971f, -0.012056f, 0.005607f, -0.011186f, -0.006017f, -0.013183f, -0.002619f, -0.000164f, -0.000347f, -0.007902f, -0.008284f, 0.002536f, 0.004288f, -0.009450f, 0.012805f, -0.015769f, -0.001439f, -0.006262f, -0.002051f, -0.002921f, -0.012585f, 0.017253f, 0.010521f, -0.017198f, 0.020959f, -0.002074f, 0.004448f, -0.009420f, 0.020112f, -0.020061f, 0.001487f, 0.001800f, 0.005299f, -0.003252f, -0.005236f, 0.015109f, -0.009993f, 0.002317f, 0.000779f, -0.002974f, 0.004790f, -0.006452f, -0.000923f, 0.008488f, -0.004235f, -0.003739f, 0.009503f, -0.003608f, -0.004163f, -0.008734f, 0.004587f, 0.004434f, -0.019595f, 0.023563f, -0.013244f, 0.005417f, 0.001609f, 0.000436f, -0.007594f, 0.003360f, 0.009644f, -0.007037f, -0.003631f, 0.005291f, -0.007214f, -0.000338f, 0.005907f, -0.002308f, 0.002353f, 0.001415f, -0.005346f, 0.001061f, 0.000691f, 0.004935f, - -0.008681f, 0.000847f, -0.000979f, -0.003290f, 0.003629f, -0.004137f, 0.002090f, -0.002632f, -0.007593f, 0.004387f, -0.006582f, -0.003651f, 0.002444f, -0.003987f, 0.001528f, 0.003963f, 0.000426f, -0.005608f, 0.006106f, -0.001032f, -0.003757f, -0.046882f, -0.076276f, 0.085179f, 0.286472f, 0.029157f, 0.065804f, -0.155847f, -0.238325f, -0.059885f, -0.124476f, 0.097009f, 0.199726f, 0.105253f, 0.066592f, -0.014920f, -0.077446f, -0.076179f, -0.057293f, -0.053207f, 0.019050f, 0.034077f, 0.019737f, 0.036679f, 0.004896f, 0.002944f, 0.014523f, 0.004166f, 0.016482f, 0.013113f, -0.009727f, -0.036476f, -0.026945f, -0.032147f, -0.043377f, -0.022920f, 0.024528f, 0.031613f, 0.058719f, 0.082888f, 0.030084f, 0.012014f, -0.027478f, -0.065669f, -0.063522f, -0.044373f, -0.030762f, 0.006340f, 0.024526f, 0.035195f, 0.037574f, 0.031659f, 0.021389f, 0.002510f, -0.002439f, -0.020849f, -0.014371f, -0.009184f, -0.010389f, -0.004039f, -0.011748f, -0.003364f, -0.013941f, -0.013639f, 0.005117f, -0.001066f, 0.018202f, 0.029864f, 0.017783f, 0.044402f, 0.039577f, -0.018974f, -0.038908f, -0.039000f, -0.058060f, -0.016323f, - -0.013929f, -0.003087f, 0.035829f, 0.031932f, -0.005567f, 0.027775f, 0.034650f, 0.011781f, 0.024228f, -0.002124f, -0.027849f, -0.020183f, -0.047852f, -0.030121f, -0.011302f, -0.002926f, -0.003492f, 0.008703f, 0.022672f, 0.035918f, 0.045295f, 0.038344f, 0.012829f, -0.020828f, -0.034170f, -0.032683f, -0.036481f, -0.016326f, -0.009246f, -0.003705f, 0.008120f, 0.018096f, 0.014350f, 0.025286f, 0.013808f, 0.016642f, 0.015083f, 0.000220f, -0.012430f, -0.016189f, -0.020352f, -0.019943f, -0.017820f, -0.009374f, -0.009814f, 0.005808f, 0.010312f, 0.020822f, 0.030081f, 0.029120f, 0.011065f, 0.002159f, -0.016523f, -0.019996f, -0.023682f, -0.023645f, -0.006949f, -0.000927f, -0.004563f, 0.005823f, 0.018474f, 0.024220f, 0.011905f, 0.002817f, -0.001298f, 0.000528f, -0.004861f, -0.005265f, -0.009110f, -0.005405f, -0.006938f, -0.004693f, -0.003039f, 0.000341f, 0.000003f, 0.005605f, 0.010353f, 0.011171f, 0.004990f, 0.002204f, -0.002870f, -0.001447f, -0.002179f, 0.000445f, -0.001016f}, - {0.007429f, 0.012093f, 0.003175f, 0.010678f, 0.000184f, -0.011008f, -0.007593f, -0.008016f, -0.001247f, -0.005503f, 0.012912f, -0.009651f, -0.002453f, -0.004379f, -0.001543f, -0.007739f, 0.007448f, -0.004561f, -0.003574f, 0.006269f, 0.010389f, 0.011760f, 0.001814f, -0.000835f, 0.002448f, 0.000630f, 0.001663f, -0.005311f, -0.005722f, 0.002808f, -0.005187f, -0.005191f, -0.006962f, -0.007316f, 0.002239f, -0.004842f, 0.006487f, -0.008076f, -0.001094f, 0.003578f, 0.003400f, 0.003003f, -0.012534f, -0.002240f, -0.006949f, -0.001198f, -0.002912f, -0.007636f, -0.000149f, 0.009145f, 0.002788f, 0.004450f, 0.004210f, 0.004952f, 0.000639f, 0.006209f, 0.003907f, 0.006928f, -0.003900f, 0.004631f, -0.002258f, 0.003205f, 0.000379f, -0.006361f, 0.007476f, 0.008458f, -0.004508f, -0.005643f, 0.002506f, 0.007776f, 0.001866f, 0.002093f, -0.002581f, -0.000488f, 0.004222f, 0.002651f, 0.000695f, -0.001513f, 0.000531f, 0.003574f, 0.004340f, -0.000500f, -0.006730f, -0.004106f, -0.002257f, -0.002849f, 0.001582f, -0.000621f, -0.000599f, 0.003230f, -0.002348f, -0.000767f, 0.000001f, 0.000589f, -0.001587f, -0.000435f, - 0.000253f, -0.002533f, -0.000280f, 0.003166f, -0.000451f, 0.001687f, -0.002260f, 0.001339f, 0.000683f, -0.000130f, -0.001481f, -0.018892f, -0.004963f, -0.008522f, 0.006252f, -0.017711f, 0.003880f, -0.007808f, -0.004126f, 0.002509f, 0.000348f, 0.001977f, 0.002644f, 0.001993f, 0.007681f, -0.003421f, 0.000799f, -0.000781f, -0.009357f, 0.006889f, 0.011511f, -0.009378f, -0.008804f, 0.006681f, 0.001713f, 0.008249f, 0.002610f, 0.011083f, -0.001546f, 0.003731f, -0.005877f, -0.001794f, 0.011299f, 0.000897f, -0.007382f, -0.009105f, -0.009835f, 0.000410f, 0.008134f, 0.004126f, -0.000060f, 0.009257f, 0.007378f, 0.000284f, -0.007581f, 0.011840f, 0.003018f, 0.009130f, 0.009282f, -0.001632f, 0.005912f, 0.006987f, -0.000854f, 0.004126f, 0.004788f, -0.004614f, 0.000946f, -0.001435f, 0.004550f, -0.010415f, -0.006669f, 0.003355f, -0.006448f, -0.002490f, 0.008921f, -0.003618f, 0.004900f, -0.002097f, -0.014014f, 0.002359f, -0.000071f, 0.007359f, -0.011542f, -0.006209f, 0.005213f, 0.001316f, -0.001112f, 0.002974f, -0.005442f, 0.001578f, 0.001385f, -0.001667f, -0.003431f, 0.004717f, 0.004288f, 0.002966f, - 0.000537f, -0.001778f, 0.001139f, -0.001317f, -0.002079f, 0.001553f, 0.001334f, -0.002815f, 0.002029f, -0.001574f, -0.001197f, 0.002533f, -0.001822f, -0.003746f, -0.000057f, -0.001397f, -0.000459f, -0.001775f, -0.001951f, 0.000784f, -0.000146f, 0.001141f, -0.000010f, 0.001120f, -0.002761f, 0.000802f, -0.000804f, 0.011882f, 0.012544f, 0.005519f, 0.009278f, 0.007246f, 0.012563f, 0.014319f, -0.005328f, -0.001538f, 0.004819f, -0.014307f, -0.000481f, -0.004718f, -0.002732f, 0.006549f, -0.008331f, -0.000976f, 0.010583f, 0.001955f, 0.006783f, -0.003358f, -0.002456f, -0.003567f, -0.013456f, -0.002206f, 0.000912f, 0.007114f, -0.002167f, 0.012243f, 0.004822f, -0.002117f, 0.004892f, 0.002536f, 0.006289f, -0.004552f, -0.000954f, 0.014296f, -0.001917f, 0.013506f, 0.006336f, -0.005930f, 0.001414f, 0.011893f, 0.006189f, -0.007850f, 0.010839f, -0.002979f, 0.000728f, 0.000560f, -0.002196f, 0.002077f, 0.001198f, -0.009810f, 0.006249f, 0.004568f, -0.000854f, 0.000351f, -0.002197f, -0.008863f, -0.000000f, 0.004974f, -0.001025f, -0.001050f, -0.005976f, -0.013031f, -0.004489f, 0.004843f, 0.010920f, -0.016615f, - -0.008871f, 0.003100f, -0.007265f, 0.004250f, -0.000353f, -0.000082f, -0.010014f, -0.007591f, -0.004461f, -0.006497f, -0.003224f, 0.000363f, 0.001102f, -0.002333f, 0.003744f, 0.002993f, 0.000591f, 0.002758f, -0.003064f, -0.001130f, 0.000049f, -0.004481f, -0.001007f, 0.000439f, -0.005709f, 0.002379f, 0.001341f, -0.001093f, 0.000133f, 0.001181f, 0.002695f, 0.000303f, 0.000349f, 0.000043f, -0.002802f, -0.000355f, -0.000877f, 0.002022f, 0.001363f, 0.002768f, -0.002010f, 0.017509f, 0.018702f, -0.003771f, -0.007772f, -0.008584f, 0.017935f, -0.015563f, 0.000473f, -0.002574f, -0.007187f, -0.009868f, 0.003544f, -0.002741f, -0.013335f, -0.016326f, 0.000669f, -0.001264f, -0.008458f, 0.003042f, 0.004566f, -0.006026f, -0.008971f, -0.008456f, 0.011948f, -0.012877f, -0.001499f, -0.015041f, 0.000228f, 0.008321f, 0.002900f, 0.001397f, -0.008363f, -0.008128f, 0.007419f, -0.005718f, -0.008548f, 0.001038f, -0.003076f, 0.005235f, 0.000161f, 0.002099f, -0.008522f, -0.003199f, -0.002364f, 0.008209f, 0.005702f, 0.005701f, -0.016927f, 0.002662f, 0.004790f, 0.003855f, 0.004844f, -0.004866f, -0.003037f, 0.000587f, - 0.003500f, 0.006698f, -0.001107f, 0.004419f, -0.004857f, 0.013095f, -0.023731f, 0.008340f, 0.000737f, -0.012675f, -0.000485f, 0.013976f, -0.004175f, -0.006578f, -0.012696f, -0.004319f, 0.001052f, -0.003558f, 0.000045f, 0.005725f, 0.007363f, 0.006089f, -0.001748f, -0.001020f, -0.007444f, -0.001541f, -0.001863f, -0.003788f, 0.001097f, -0.001544f, -0.001429f, 0.003042f, -0.003737f, -0.001763f, 0.003720f, -0.001835f, 0.002422f, -0.000565f, -0.001455f, -0.001324f, -0.000955f, -0.005498f, -0.003377f, 0.002388f, 0.002751f, -0.002611f, -0.002053f, -0.001777f, 0.002078f, -0.001299f, -0.000733f, -0.002159f, 0.001464f, 0.001499f, -0.002517f, 0.001028f, -0.000313f, -0.002341f, -0.000506f, -0.001326f, 0.001559f, -0.000778f, 0.002295f, 0.003177f, -0.008307f, -0.026351f, 0.004820f, -0.012026f, 0.002647f, 0.002180f, -0.001509f, 0.018663f, 0.001048f, -0.011978f, 0.015977f, 0.007668f, 0.005494f, -0.002426f, 0.003320f, -0.004888f, 0.012526f, -0.002106f, 0.001435f, 0.018823f, 0.018411f, 0.007845f, 0.008436f, 0.008075f, 0.009168f, 0.006083f, -0.018179f, -0.005714f, -0.000249f, -0.004817f, -0.015475f, -0.001742f, - -0.003669f, -0.004128f, -0.008315f, -0.000200f, -0.002443f, 0.013275f, -0.004278f, 0.023306f, -0.000147f, 0.001925f, -0.004334f, -0.003425f, 0.000168f, -0.000718f, -0.001881f, -0.004130f, -0.002750f, -0.011490f, 0.002770f, 0.001825f, -0.001383f, -0.005966f, 0.007971f, 0.005866f, 0.006905f, -0.002483f, -0.005034f, 0.000083f, 0.006011f, 0.006483f, -0.005286f, -0.015000f, -0.007662f, 0.001560f, 0.012431f, -0.001778f, 0.010156f, -0.008148f, -0.011786f, 0.008720f, -0.004146f, -0.009710f, 0.005571f, 0.005793f, -0.010859f, -0.008618f, -0.011948f, -0.004020f, -0.004145f, 0.006774f, -0.003770f, 0.002017f, -0.000813f, 0.004493f, 0.002771f, 0.002457f, -0.002301f, -0.001341f, -0.006252f, -0.003184f, -0.001713f, -0.000147f, 0.002689f, -0.000602f, 0.000126f, 0.005076f, 0.001946f, -0.000329f, -0.000017f, 0.003232f, -0.002249f, 0.000817f, 0.000880f, -0.001828f, 0.001918f, -0.001632f, 0.001234f, 0.000944f, 0.001385f, -0.001022f, -0.003940f, 0.003656f, -0.006580f, 0.009679f, -0.011463f, -0.012535f, 0.006033f, -0.003591f, -0.001049f, -0.006581f, -0.003762f, 0.006427f, 0.009135f, 0.004762f, -0.002054f, 0.001399f, - -0.001029f, -0.002082f, -0.008607f, 0.002937f, -0.023297f, -0.006759f, -0.007374f, 0.006475f, 0.008086f, 0.000699f, 0.004053f, -0.014519f, 0.004048f, 0.002274f, 0.004031f, -0.013085f, 0.024853f, -0.001083f, 0.004684f, 0.003287f, -0.011631f, 0.001885f, -0.016711f, 0.010823f, -0.003498f, -0.014018f, 0.002918f, 0.001115f, -0.006968f, 0.000806f, 0.001620f, 0.011145f, 0.020066f, 0.008693f, -0.003963f, 0.006514f, 0.008290f, -0.018556f, -0.006755f, -0.008479f, 0.005256f, 0.004298f, -0.003012f, 0.002988f, 0.006556f, 0.004168f, 0.008421f, 0.015631f, 0.000441f, -0.005761f, -0.001523f, -0.000625f, 0.012321f, -0.008767f, 0.000123f, 0.005688f, 0.016588f, 0.000098f, -0.010912f, -0.010685f, -0.000878f, -0.013132f, -0.001718f, 0.005021f, 0.020296f, 0.017447f, -0.001961f, -0.009220f, 0.007520f, 0.000580f, 0.002240f, 0.001910f, -0.000638f, 0.002576f, -0.000650f, -0.002536f, 0.002261f, 0.002924f, -0.002806f, 0.004087f, 0.003821f, 0.003690f, -0.001017f, -0.002974f, 0.002394f, 0.003284f, -0.000498f, 0.000980f, -0.002497f, 0.000406f, -0.000524f, 0.004760f, 0.001753f, 0.002972f, 0.002304f, 0.000743f, - 0.001546f, -0.000021f, 0.001869f, 0.004256f, 0.000894f, 0.001748f, 0.003038f, 0.004139f, -0.001985f, -0.001040f, 0.000988f, 0.001231f, 0.003117f, 0.004861f, -0.024268f, -0.006602f, -0.009021f, 0.010382f, 0.000298f, -0.004980f, -0.031184f, -0.004101f, -0.004235f, 0.012905f, 0.030746f, -0.008868f, 0.020631f, 0.003568f, -0.018296f, -0.018610f, 0.003163f, 0.004738f, -0.010666f, 0.011677f, -0.008446f, 0.009411f, -0.011667f, 0.005617f, 0.003927f, -0.011016f, -0.009347f, -0.007073f, 0.003592f, 0.012063f, -0.015790f, 0.000590f, -0.016599f, -0.000919f, -0.006356f, 0.004034f, 0.011999f, 0.001272f, -0.005289f, -0.004617f, 0.012994f, -0.000037f, 0.019843f, 0.006118f, -0.007573f, -0.007221f, -0.005831f, 0.002853f, 0.012428f, -0.000256f, 0.020644f, -0.036873f, -0.027258f, -0.022004f, -0.005155f, -0.018768f, 0.001155f, -0.007064f, 0.006614f, 0.016749f, 0.002945f, 0.006933f, 0.010678f, 0.017729f, 0.009054f, 0.002714f, -0.012290f, -0.030523f, -0.032229f, 0.017264f, 0.001106f, 0.021915f, -0.015672f, -0.011236f, 0.009542f, -0.022593f, 0.000388f, -0.008070f, -0.000912f, -0.014571f, 0.000515f, 0.004862f, - 0.013106f, 0.002380f, 0.002073f, -0.004201f, 0.004689f, -0.000962f, 0.001514f, 0.003677f, 0.005906f, 0.007675f, -0.002136f, -0.003223f, 0.005536f, 0.002830f, -0.002179f, -0.004047f, 0.000801f, -0.000675f, -0.000538f, -0.001714f, 0.000818f, 0.000059f, -0.002242f, -0.000747f, 0.002250f, 0.004151f, 0.003288f, 0.002852f, 0.001448f, -0.009358f, -0.005190f, -0.003579f, -0.003364f, 0.005028f, -0.000815f, -0.001550f, 0.000010f, 0.001434f, 0.000339f, 0.014619f, 0.006387f, -0.011645f, -0.000318f, 0.027837f, 0.023599f, -0.002181f, -0.020398f, -0.034418f, -0.003927f, -0.012082f, 0.012312f, -0.010314f, -0.010153f, -0.038976f, -0.016724f, -0.034910f, 0.012885f, -0.001141f, -0.008507f, 0.009304f, -0.001222f, 0.000215f, 0.002530f, -0.011203f, 0.000991f, -0.012869f, -0.002285f, 0.007826f, 0.005822f, -0.013126f, 0.004734f, 0.013410f, 0.021822f, -0.003295f, -0.003049f, -0.007251f, 0.001245f, 0.011337f, 0.016088f, -0.002299f, 0.002383f, -0.003457f, -0.002780f, 0.019173f, 0.013952f, 0.000575f, 0.014391f, 0.004180f, -0.017618f, 0.003343f, -0.001764f, 0.022821f, 0.008925f, 0.002890f, 0.011018f, 0.014814f, - 0.004087f, -0.012999f, -0.022280f, -0.005127f, 0.004666f, 0.011980f, 0.006124f, 0.000767f, 0.004687f, 0.017707f, 0.003914f, 0.005774f, 0.008165f, 0.004781f, -0.011349f, -0.012827f, -0.011147f, -0.012670f, -0.011601f, 0.019685f, 0.002790f, 0.015208f, -0.013330f, -0.011759f, -0.002247f, 0.012715f, -0.007924f, 0.006785f, 0.003905f, 0.002046f, -0.006727f, -0.004264f, -0.006214f, -0.004244f, -0.007085f, 0.002853f, 0.002313f, -0.001921f, 0.004690f, -0.003058f, 0.002220f, -0.001222f, 0.000532f, 0.002153f, -0.006269f, -0.003887f, -0.006291f, -0.004066f, -0.007668f, -0.002190f, -0.006355f, -0.003033f, -0.003676f, -0.004833f, -0.000299f, 0.005593f, 0.001839f, 0.002344f, -0.001979f, -0.000524f, -0.000679f, -0.001309f, 0.004361f, -0.002036f, 0.048824f, 0.010699f, -0.015047f, 0.008724f, -0.008755f, -0.028940f, -0.005840f, -0.028388f, -0.015534f, 0.014703f, 0.019621f, 0.007581f, 0.004088f, 0.001672f, 0.003693f, 0.018593f, -0.013106f, 0.026301f, -0.016893f, -0.017275f, 0.021095f, 0.009343f, -0.033722f, 0.014837f, 0.008795f, 0.010765f, 0.022483f, 0.011040f, 0.016778f, -0.001096f, 0.009196f, -0.005269f, - 0.014372f, 0.003756f, 0.003255f, 0.009492f, -0.018850f, -0.010275f, -0.005610f, 0.012269f, 0.005572f, 0.004430f, 0.009987f, 0.002877f, 0.003722f, -0.017199f, 0.000455f, 0.018720f, -0.003062f, 0.002359f, 0.002656f, 0.002471f, 0.022633f, 0.008672f, 0.030349f, 0.007007f, -0.003962f, 0.028633f, -0.024245f, -0.003111f, -0.003556f, -0.009718f, -0.001906f, 0.006077f, 0.028648f, 0.002815f, -0.005658f, -0.010897f, 0.006208f, -0.011461f, -0.004585f, -0.007336f, -0.015129f, -0.002376f, 0.004521f, 0.024328f, -0.001633f, -0.023275f, -0.006093f, -0.013923f, -0.006655f, 0.017030f, 0.014035f, 0.015963f, -0.012210f, 0.002743f, -0.013625f, -0.001990f, -0.004351f, -0.008324f, -0.004322f, -0.011462f, -0.006339f, -0.002036f, -0.004536f, -0.015081f, -0.005593f, -0.004222f, -0.002670f, -0.003296f, -0.004909f, 0.000830f, -0.002132f, -0.011824f, -0.000178f, -0.005605f, -0.003015f, -0.000836f, 0.000301f, 0.002291f, 0.000052f, 0.005561f, 0.005724f, 0.001101f, 0.001393f, -0.003657f, -0.002914f, -0.000705f, -0.003608f, 0.005704f, 0.003733f, 0.005372f, 0.005356f, 0.002309f, 0.007325f, 0.004756f, 0.002192f, 0.003405f, - -0.000463f, -0.002594f, 0.005335f, 0.007169f, -0.017501f, -0.027163f, -0.009708f, -0.026745f, 0.019228f, -0.022830f, -0.016676f, -0.013475f, 0.012181f, 0.030446f, -0.030891f, -0.011063f, -0.034823f, 0.009925f, 0.004945f, 0.003202f, -0.009951f, 0.002652f, 0.039364f, -0.020631f, -0.003377f, 0.014805f, 0.010237f, 0.007709f, 0.013897f, 0.009131f, -0.012849f, -0.021913f, -0.004005f, -0.012171f, -0.016409f, -0.020238f, 0.000398f, -0.004781f, 0.005040f, 0.025887f, 0.016514f, -0.014660f, -0.007804f, -0.001710f, -0.007458f, 0.006278f, 0.049452f, -0.016841f, 0.034519f, 0.010709f, 0.005864f, -0.002339f, -0.005509f, 0.005744f, -0.018839f, 0.008969f, 0.026884f, 0.001051f, 0.004356f, 0.021373f, 0.013998f, 0.008219f, -0.018018f, 0.015047f, -0.010715f, -0.016204f, -0.043537f, -0.013810f, 0.028406f, -0.016196f, 0.007417f, -0.030779f, 0.022038f, -0.011641f, -0.012023f, 0.019106f, -0.030530f, -0.022707f, 0.034740f, -0.024790f, -0.023197f, 0.013832f, -0.015891f, 0.003152f, 0.000126f, 0.009853f, -0.025031f, 0.007829f, 0.000728f, 0.024969f, -0.018563f, 0.006155f, -0.002576f, -0.014220f, 0.018627f, 0.003706f, - -0.015379f, -0.011253f, -0.010575f, 0.001586f, 0.000027f, -0.007823f, 0.000274f, 0.009642f, -0.000746f, 0.006823f, 0.007785f, 0.006090f, -0.013845f, 0.007698f, 0.007148f, 0.011135f, -0.000220f, 0.000796f, -0.010054f, -0.004067f, -0.004919f, -0.005269f, 0.002396f, -0.001188f, 0.006530f, -0.009220f, -0.005747f, 0.003453f, -0.008847f, -0.007520f, 0.003223f, -0.019716f, -0.014699f, -0.002000f, 0.022412f, -0.010623f, 0.039396f, 0.036696f, 0.007187f, 0.011746f, -0.021347f, 0.002628f, -0.017296f, 0.027536f, -0.005562f, 0.008098f, -0.013212f, -0.008541f, 0.004633f, 0.003687f, -0.012698f, 0.021082f, -0.006039f, 0.004438f, 0.007808f, -0.013882f, 0.005162f, -0.017705f, -0.000003f, 0.009983f, 0.011945f, 0.000218f, 0.015814f, 0.019999f, -0.001595f, -0.037665f, -0.006424f, -0.011205f, 0.026807f, -0.022797f, -0.028321f, -0.020220f, -0.013580f, 0.003820f, -0.016101f, -0.012660f, -0.008162f, -0.002418f, 0.004835f, -0.055211f, 0.034674f, 0.027012f, 0.039545f, -0.012727f, 0.006243f, 0.026461f, -0.025541f, -0.023670f, 0.004528f, 0.017239f, 0.011276f, -0.003123f, 0.005217f, -0.014058f, -0.016732f, -0.021319f, - -0.006371f, 0.073144f, 0.005738f, -0.040767f, -0.007428f, -0.022407f, 0.013813f, 0.010800f, -0.025354f, 0.005239f, -0.007907f, 0.001919f, -0.012611f, 0.015515f, 0.015796f, -0.002551f, -0.008308f, -0.009788f, -0.032115f, 0.009445f, 0.004942f, -0.001463f, 0.012972f, -0.006549f, 0.001891f, 0.004934f, -0.015364f, 0.005616f, 0.008818f, 0.020724f, 0.010883f, 0.001113f, -0.018236f, -0.000065f, 0.016161f, 0.000763f, -0.000266f, 0.012079f, -0.000017f, 0.003989f, 0.011824f, 0.010048f, -0.002164f, 0.005402f, 0.009947f, 0.009250f, -0.004829f, 0.003921f, 0.011985f, 0.014858f, 0.010817f, -0.000568f, -0.008261f, -0.002049f, 0.000001f, 0.009200f, -0.000385f, -0.002965f, 0.000267f, 0.003205f, -0.006303f, 0.003219f, 0.005475f, -0.006044f, 0.003350f, -0.010592f, -0.020973f, -0.040481f, 0.003270f, -0.033818f, 0.015928f, 0.005453f, -0.027221f, 0.015353f, 0.017664f, 0.024624f, 0.007121f, 0.009731f, -0.028251f, -0.000578f, -0.005635f, 0.026299f, 0.012241f, 0.001148f, 0.024599f, 0.027398f, -0.003304f, -0.013145f, 0.003130f, 0.033788f, -0.022015f, -0.017457f, 0.017416f, 0.009494f, -0.022395f, -0.004997f, - -0.020723f, 0.038641f, -0.033007f, 0.009129f, 0.020558f, -0.012487f, 0.018894f, 0.006763f, -0.009442f, -0.010081f, -0.010162f, -0.015805f, 0.021631f, 0.029105f, 0.005805f, -0.022445f, 0.002303f, -0.024786f, -0.009440f, 0.015997f, -0.003083f, -0.012367f, -0.009045f, 0.004023f, -0.032901f, 0.000879f, -0.003480f, -0.019078f, 0.025636f, -0.025412f, -0.001743f, -0.005970f, -0.018742f, 0.019666f, -0.001608f, 0.011305f, -0.009553f, -0.002123f, -0.001165f, -0.012161f, 0.009186f, -0.011224f, -0.002090f, -0.011058f, 0.029645f, 0.012561f, -0.035297f, -0.007950f, -0.058134f, 0.033314f, -0.000137f, -0.026416f, 0.023440f, 0.002300f, 0.003440f, 0.008345f, 0.000380f, 0.013209f, 0.016417f, 0.003452f, -0.004303f, 0.008795f, 0.017658f, -0.010388f, -0.006268f, 0.006897f, 0.002530f, 0.004069f, 0.005182f, 0.008678f, 0.012028f, -0.008173f, 0.006269f, 0.003504f, -0.009548f, -0.009031f, 0.007635f, 0.001279f, -0.001001f, -0.006694f, -0.005798f, -0.010730f, 0.010294f, 0.010304f, 0.001785f, -0.007285f, -0.021923f, 0.000134f, 0.001972f, 0.006798f, -0.014081f, 0.001206f, 0.011130f, -0.006447f, 0.012879f, 0.005470f, - -0.000851f, 0.003221f, 0.007005f, 0.000257f, 0.002547f, 0.003523f, 0.008610f, 0.035430f, 0.001335f, -0.026976f, -0.011596f, 0.015933f, 0.025807f, 0.027659f, 0.000994f, -0.006509f, 0.038888f, 0.016915f, 0.043222f, 0.005250f, 0.003665f, -0.020842f, -0.008572f, -0.012370f, 0.011530f, 0.006229f, 0.023376f, -0.026822f, 0.001810f, -0.015980f, 0.014338f, -0.023257f, 0.008820f, 0.025681f, -0.003876f, -0.000821f, -0.013445f, 0.003598f, -0.013533f, -0.046232f, 0.006335f, -0.007152f, 0.003202f, -0.020684f, -0.004546f, 0.017977f, 0.034859f, -0.003675f, -0.012677f, 0.020239f, 0.009528f, 0.004892f, 0.023991f, 0.008305f, -0.012833f, -0.006182f, 0.015483f, -0.002185f, 0.014131f, -0.016932f, -0.015066f, 0.005178f, -0.014159f, -0.027130f, -0.012538f, -0.030892f, -0.006905f, 0.010367f, -0.024258f, -0.003508f, -0.027859f, -0.012201f, -0.000214f, 0.010935f, -0.033197f, 0.014502f, 0.002451f, -0.019755f, 0.024717f, -0.008824f, 0.006539f, 0.043823f, 0.049616f, 0.003185f, 0.017443f, 0.036288f, 0.043393f, 0.043074f, -0.004254f, -0.028719f, -0.044031f, -0.016003f, -0.029194f, 0.027566f, -0.005942f, -0.012999f, - 0.007049f, -0.000707f, 0.003003f, -0.000515f, -0.013054f, 0.014011f, 0.003950f, 0.005262f, 0.001010f, 0.018944f, -0.010600f, -0.000185f, -0.005822f, 0.013153f, -0.012197f, -0.005166f, -0.001300f, 0.018719f, -0.004879f, 0.011323f, 0.015412f, -0.014114f, -0.003036f, -0.005938f, -0.016026f, -0.006428f, -0.003678f, 0.006970f, 0.000548f, 0.021942f, 0.005937f, 0.014875f, -0.001409f, -0.014027f, 0.003939f, 0.000437f, 0.059299f, 0.068596f, 0.003307f, 0.022153f, 0.020675f, -0.002620f, -0.049437f, -0.001043f, -0.002252f, -0.018389f, 0.013587f, 0.013114f, -0.027037f, 0.014834f, 0.018457f, 0.003348f, -0.007401f, 0.010429f, -0.007110f, 0.035050f, -0.006251f, -0.016052f, -0.000050f, 0.008141f, -0.003553f, -0.002068f, -0.000899f, -0.055260f, 0.015747f, -0.001044f, -0.038600f, -0.015679f, 0.006362f, -0.003392f, -0.026388f, 0.009284f, -0.031094f, -0.002580f, 0.002768f, -0.049272f, -0.009113f, 0.021438f, -0.016142f, 0.002511f, 0.030954f, 0.019333f, 0.023621f, 0.007636f, -0.013699f, -0.022907f, 0.023510f, -0.012062f, 0.013063f, -0.021754f, -0.011715f, 0.015974f, 0.026440f, 0.004117f, 0.031722f, -0.021220f, - 0.027413f, -0.023195f, -0.028423f, -0.019922f, 0.027324f, 0.029061f, -0.026885f, 0.014010f, -0.073825f, -0.006506f, 0.021401f, 0.007061f, -0.011778f, -0.029109f, 0.013280f, -0.041231f, 0.006463f, -0.021147f, 0.019432f, -0.031786f, -0.020652f, 0.032339f, 0.000503f, 0.016377f, 0.003430f, 0.014310f, -0.007441f, 0.006060f, -0.003854f, -0.023741f, -0.004558f, -0.010933f, 0.007254f, -0.007475f, 0.004052f, 0.001225f, 0.003780f, 0.002202f, -0.005497f, -0.007014f, 0.000806f, -0.014906f, 0.005210f, 0.004604f, 0.008515f, -0.009437f, 0.008456f, 0.008364f, 0.005109f, 0.007242f, 0.004900f, -0.010141f, 0.000902f, 0.005397f, -0.007923f, 0.014290f, -0.001464f, -0.005084f, -0.008190f, 0.000260f, 0.001044f, 0.006988f, -0.005287f, 0.006651f, -0.005114f, 0.015039f, 0.006255f, -0.012026f, -0.003424f, -0.002720f, -0.006037f, -0.004851f, -0.053983f, 0.003973f, 0.066842f, -0.045189f, -0.004228f, -0.003924f, 0.003571f, -0.017883f, 0.008554f, -0.028510f, -0.029167f, -0.009637f, -0.007953f, 0.007049f, -0.007324f, 0.015199f, -0.021860f, 0.000715f, 0.043004f, -0.035239f, -0.031072f, -0.007551f, 0.037634f, 0.005244f, - -0.047079f, 0.020038f, -0.017457f, -0.020162f, 0.004701f, 0.064724f, -0.036402f, -0.020323f, 0.046107f, 0.034116f, 0.002989f, -0.019081f, 0.001285f, -0.007110f, -0.014617f, 0.013165f, 0.012058f, -0.007872f, -0.037328f, 0.047819f, 0.022491f, 0.009028f, -0.050823f, -0.007812f, 0.015815f, 0.017565f, -0.006305f, 0.026708f, -0.004297f, 0.009064f, -0.011639f, -0.030654f, 0.019976f, -0.021881f, 0.013127f, 0.006771f, -0.026821f, 0.050663f, 0.007814f, 0.036478f, 0.036619f, 0.006504f, -0.055050f, -0.010589f, 0.000537f, -0.021892f, -0.011079f, 0.002065f, -0.001744f, 0.023901f, 0.044969f, -0.013006f, -0.004387f, -0.019851f, -0.008852f, 0.018670f, -0.012599f, 0.010847f, 0.033436f, -0.029232f, 0.033234f, -0.006533f, 0.009994f, -0.012638f, -0.006769f, -0.010609f, 0.001443f, 0.006203f, 0.007339f, -0.005560f, 0.000186f, 0.007584f, 0.004324f, 0.017566f, 0.008246f, -0.008865f, 0.000756f, 0.001603f, 0.016026f, -0.008878f, 0.004665f, 0.007404f, 0.002501f, -0.000624f, 0.000568f, -0.020897f, 0.010272f, -0.007691f, 0.010057f, 0.013114f, 0.001763f, -0.002117f, 0.006671f, -0.000684f, 0.005107f, 0.001738f, - -0.002175f, -0.007716f, -0.007850f, 0.015585f, 0.002666f, -0.003643f, 0.004376f, -0.009695f, -0.001824f, 0.015890f, 0.020844f, 0.002878f, -0.019186f, -0.096028f, 0.006308f, -0.025025f, 0.003311f, 0.048140f, 0.004594f, -0.009231f, 0.008763f, 0.001907f, -0.032625f, -0.035157f, -0.031720f, -0.030392f, 0.039621f, -0.007878f, 0.047291f, 0.004259f, -0.044680f, -0.001508f, 0.004927f, 0.038341f, 0.007536f, -0.006120f, -0.007610f, 0.011001f, -0.024060f, -0.009149f, 0.042331f, -0.008561f, -0.054976f, -0.041919f, 0.025092f, -0.005385f, -0.011428f, 0.012712f, -0.003946f, -0.028245f, 0.008539f, 0.016715f, 0.038116f, -0.007599f, -0.031643f, 0.000517f, -0.039909f, 0.015441f, 0.045179f, -0.007145f, -0.055450f, 0.017546f, -0.000635f, 0.003211f, 0.013366f, -0.017373f, 0.034127f, 0.002656f, -0.023022f, 0.018000f, -0.012464f, -0.007608f, 0.048766f, -0.024881f, -0.008386f, -0.008100f, 0.030727f, 0.012448f, -0.053935f, 0.027468f, -0.043462f, -0.010269f, -0.023447f, 0.005710f, -0.014297f, -0.013076f, -0.004481f, 0.024878f, -0.008043f, -0.015160f, 0.029327f, -0.016987f, 0.030107f, -0.000050f, -0.015885f, -0.009458f, - 0.007504f, 0.008396f, 0.005983f, -0.017977f, -0.005965f, 0.004561f, -0.000989f, -0.011718f, 0.000291f, 0.011282f, 0.017211f, 0.007280f, 0.008872f, 0.001525f, 0.016925f, -0.009438f, 0.005526f, 0.013481f, -0.005029f, 0.001804f, 0.005495f, -0.003211f, 0.002719f, 0.005421f, -0.016490f, 0.014111f, 0.006021f, -0.016516f, -0.013580f, 0.001102f, -0.019512f, 0.001842f, -0.014354f, 0.018829f, -0.033710f, 0.000065f, -0.007057f, 0.003699f, -0.008693f, 0.010689f, -0.005519f, 0.005055f, 0.003909f, -0.046917f, 0.009606f, 0.077449f, 0.050455f, 0.023073f, -0.038431f, 0.028793f, 0.036417f, 0.053873f, 0.026026f, 0.006362f, 0.001917f, 0.033749f, 0.058271f, -0.013155f, -0.007094f, 0.032992f, -0.065228f, 0.023735f, 0.058210f, -0.012073f, -0.020150f, 0.015104f, 0.045202f, 0.036393f, -0.024320f, -0.041692f, -0.002435f, 0.020968f, -0.007046f, 0.005050f, 0.000693f, 0.048894f, -0.027896f, 0.031323f, 0.047329f, -0.018931f, -0.005688f, 0.033393f, -0.004968f, 0.117090f, -0.049061f, 0.021085f, 0.080189f, -0.046148f, 0.015175f, 0.005368f, -0.064921f, -0.002011f, 0.012191f, -0.028648f, 0.063620f, 0.004816f, - -0.008658f, 0.004952f, -0.026358f, 0.087146f, 0.024117f, -0.069833f, 0.067483f, -0.028158f, 0.002598f, 0.020691f, 0.025135f, 0.044737f, 0.021918f, -0.012069f, -0.043543f, -0.058718f, -0.021925f, -0.023528f, -0.003906f, -0.018008f, 0.037061f, -0.022442f, -0.038793f, 0.004378f, 0.010902f, 0.007951f, 0.014332f, -0.022013f, -0.021321f, -0.013010f, -0.014044f, -0.046272f, -0.019400f, -0.015733f, -0.031809f, -0.015340f, 0.011626f, -0.013566f, -0.029807f, -0.001398f, 0.011848f, 0.020183f, -0.004550f, 0.009519f, 0.022138f, -0.001217f, -0.014687f, -0.000878f, -0.008821f, 0.012260f, 0.017716f, -0.024488f, 0.021814f, -0.012662f, 0.000504f, 0.003294f, -0.011146f, 0.022734f, 0.009005f, -0.031803f, 0.019874f, 0.003034f, -0.011052f, 0.023590f, -0.026496f, 0.010803f, -0.004721f, 0.011565f, -0.006086f, -0.007381f, 0.004780f, -0.004313f, -0.002392f, 0.008349f, -0.004505f, -0.018189f, 0.008828f, -0.001627f, 0.005939f, -0.000728f, 0.015669f, 0.019182f, -0.090132f, 0.052504f, 0.002349f, 0.031745f, 0.052255f, -0.086391f, 0.019715f, 0.044490f, 0.010034f, 0.033202f, -0.033321f, 0.036549f, 0.010609f, -0.033856f, - 0.000455f, -0.021331f, -0.063323f, 0.034747f, 0.019661f, 0.057879f, -0.032062f, -0.042365f, -0.014877f, 0.013595f, -0.008875f, -0.071716f, -0.035473f, 0.022079f, -0.005426f, 0.010759f, -0.030358f, -0.009359f, 0.023788f, -0.020198f, -0.010183f, -0.030599f, -0.007261f, 0.011188f, -0.034029f, 0.003612f, -0.074216f, -0.060957f, 0.018750f, -0.063408f, 0.005416f, -0.066339f, -0.046643f, -0.031981f, 0.031111f, 0.062008f, 0.076160f, -0.018006f, 0.033772f, 0.041410f, 0.019891f, 0.017989f, -0.029744f, 0.084991f, 0.086437f, -0.058774f, 0.058863f, -0.046223f, 0.029542f, 0.061008f, 0.057721f, 0.070685f, 0.084048f, 0.059814f, -0.067174f, -0.047477f, -0.000662f, 0.001790f, 0.025178f, -0.015835f, -0.013047f, -0.040024f, -0.022423f, -0.059432f, 0.012923f, 0.050160f, -0.020369f, 0.012409f, 0.052050f, 0.024763f, -0.035930f, 0.040283f, -0.002639f, 0.014354f, -0.004094f, -0.006915f, 0.011413f, -0.012444f, 0.017590f, 0.015183f, -0.013490f, -0.015923f, 0.015156f, -0.010785f, 0.000368f, 0.000685f, -0.001437f, 0.004588f, 0.001342f, -0.021256f, 0.019812f, -0.008893f, 0.009379f, 0.011710f, -0.008153f, 0.012599f, - -0.015516f, -0.011008f, 0.009980f, -0.012067f, -0.016022f, -0.006757f, 0.006108f, -0.005960f, 0.003725f, -0.014074f, 0.000306f, 0.005525f, 0.012982f, 0.020016f, -0.004897f, 0.011394f, -0.013288f, 0.000276f, -0.002643f, 0.006258f, 0.004341f, -0.000906f, -0.010338f, 0.111522f, -0.081633f, -0.041530f, 0.043969f, -0.026173f, 0.042001f, -0.032746f, -0.036535f, 0.012334f, -0.086337f, -0.003908f, 0.058034f, -0.014015f, 0.029822f, -0.049520f, -0.012183f, -0.019556f, 0.001955f, 0.061911f, 0.018712f, 0.013754f, -0.011065f, 0.033980f, 0.010920f, 0.084589f, 0.020796f, 0.049381f, 0.003501f, -0.038630f, -0.036538f, 0.049216f, -0.023956f, 0.022753f, -0.000495f, -0.063544f, 0.045786f, -0.056619f, 0.109911f, -0.081964f, 0.050003f, 0.044769f, -0.047074f, -0.039566f, -0.029237f, 0.040578f, -0.003127f, 0.042465f, -0.000564f, 0.005518f, -0.075201f, -0.040423f, 0.017459f, -0.036978f, 0.012200f, -0.022563f, 0.022044f, 0.012507f, 0.057695f, -0.034345f, -0.011858f, -0.014670f, -0.028345f, 0.078237f, 0.014445f, 0.007327f, -0.072952f, -0.023658f, 0.039162f, 0.023098f, 0.024923f, 0.067754f, 0.043339f, 0.059907f, - 0.069140f, -0.002072f, 0.030585f, -0.028835f, 0.091980f, 0.006871f, -0.015258f, 0.033482f, -0.007930f, 0.070573f, 0.001213f, -0.014287f, -0.014661f, 0.008397f, 0.049593f, -0.037742f, 0.025582f, -0.012063f, -0.004160f, 0.014663f, 0.009790f, 0.019256f, -0.012234f, 0.012505f, 0.023091f, -0.006175f, -0.008926f, 0.015611f, -0.002669f, -0.002557f, -0.001887f, 0.004122f, 0.002441f, 0.007451f, -0.016992f, 0.021985f, -0.013163f, -0.007329f, -0.003719f, 0.013387f, -0.019235f, 0.001796f, -0.013818f, 0.018336f, 0.033289f, -0.011345f, -0.009441f, -0.004604f, 0.022789f, 0.011139f, 0.023804f, -0.002101f, -0.014160f, 0.010799f, 0.011311f, -0.003625f, 0.011194f, 0.008722f, -0.032844f, 0.004854f, 0.037070f, -0.005206f, -0.168332f, 0.117026f, -0.072522f, -0.050716f, 0.001302f, 0.024060f, 0.030278f, 0.005500f, -0.026871f, 0.091133f, 0.046283f, 0.012791f, -0.045478f, 0.029951f, -0.001429f, 0.034044f, -0.043405f, -0.029999f, 0.023437f, 0.068178f, -0.077927f, 0.003293f, 0.025459f, 0.008405f, -0.019051f, -0.011438f, -0.009663f, 0.003250f, -0.003787f, 0.017750f, 0.086023f, 0.005655f, -0.038601f, 0.057857f, - -0.013279f, -0.055672f, -0.071795f, 0.068706f, 0.022637f, -0.009386f, 0.025757f, 0.015995f, 0.057275f, -0.077281f, -0.007974f, -0.039231f, -0.010952f, 0.044409f, -0.032388f, 0.017399f, -0.037377f, 0.018313f, 0.118579f, 0.009107f, -0.067465f, -0.075868f, -0.004427f, 0.036360f, 0.035811f, -0.030325f, 0.007640f, 0.057730f, -0.023892f, -0.111334f, 0.063853f, -0.038298f, -0.063110f, 0.027972f, 0.106018f, -0.072910f, 0.053576f, 0.073843f, 0.025728f, -0.063714f, -0.052967f, -0.032688f, 0.026918f, 0.023179f, -0.021709f, 0.066287f, 0.032660f, -0.004024f, -0.001513f, 0.004103f, -0.054834f, -0.020968f, -0.038676f, 0.020254f, 0.018285f, 0.013263f, 0.018486f, 0.013675f, 0.041191f, -0.020241f, -0.009431f, 0.007917f, 0.000687f, -0.031326f, 0.027709f, -0.001094f, 0.017607f, -0.007761f, 0.013440f, -0.020148f, -0.005553f, -0.012120f, 0.019822f, 0.003715f, 0.004659f, 0.000617f, 0.012279f, 0.029943f, -0.011021f, -0.056964f, 0.005513f, -0.028103f, -0.004624f, 0.017084f, -0.023215f, -0.015657f, 0.033363f, -0.030283f, -0.005745f, 0.000263f, 0.016607f, -0.032438f, 0.003411f, 0.097262f, 0.031185f, 0.007031f, - -0.007705f, 0.015941f, 0.026572f, -0.008043f, 0.012067f, -0.014016f, -0.000756f, -0.010948f, 0.044769f, -0.050318f, -0.006339f, 0.031065f, -0.071363f, 0.023509f, -0.017881f, 0.005943f, -0.008897f, -0.019193f, 0.012034f, -0.004862f, -0.029426f, 0.078122f, -0.059772f, -0.016044f, 0.054428f, -0.034678f, -0.006004f, -0.010530f, 0.011505f, 0.055047f, 0.003635f, -0.052528f, 0.072214f, -0.038749f, 0.025348f, 0.045963f, 0.019621f, -0.016364f, 0.003427f, -0.039420f, 0.009187f, -0.023648f, -0.019643f, 0.098098f, -0.023249f, -0.038304f, 0.012119f, -0.017585f, 0.022576f, -0.014588f, 0.024847f, 0.063321f, -0.035090f, 0.021341f, 0.047358f, -0.055790f, 0.025238f, 0.031234f, 0.013450f, 0.038950f, -0.044329f, -0.010963f, 0.066466f, -0.045706f, -0.010780f, 0.019710f, -0.019343f, 0.064531f, -0.064126f, 0.011369f, 0.022324f, -0.028794f, 0.021699f, 0.025016f, -0.061098f, 0.022110f, 0.050994f, 0.000011f, -0.016105f, -0.001864f, 0.032591f, -0.006285f, -0.057412f, 0.046766f, 0.021311f, -0.024390f, 0.008869f, -0.013181f, 0.019891f, -0.007413f, -0.026031f, 0.030523f, 0.001065f, -0.005929f, -0.022710f, 0.021393f, - 0.003350f, -0.028871f, 0.009930f, 0.020344f, -0.004682f, -0.009043f, 0.003713f, 0.018858f, -0.003302f, -0.018352f, 0.018784f, 0.013299f, 0.001770f, -0.000344f, 0.015610f, 0.003741f, 0.005091f, -0.021912f, 0.028046f, -0.015144f, 0.029953f, -0.054583f, -0.147069f, -0.231299f, 0.021111f, 0.221556f, 0.018314f, 0.501569f, 0.517857f, 0.257846f, 0.542173f, 0.361620f, -0.074732f, -0.007583f, -0.118933f, -0.434827f, -0.381559f, -0.235791f, -0.444094f, -0.347565f, -0.100713f, -0.217638f, -0.182043f, 0.065083f, 0.109843f, -0.052464f, 0.029157f, 0.098123f, -0.074614f, -0.043488f, 0.138203f, 0.122750f, 0.014709f, 0.137171f, 0.233753f, 0.078516f, 0.169330f, 0.319515f, 0.153910f, 0.081558f, 0.286497f, 0.239543f, 0.032713f, 0.172283f, 0.335669f, 0.067101f, 0.079768f, 0.271267f, 0.117491f, -0.028380f, 0.192187f, 0.181372f, -0.015836f, 0.160264f, 0.206745f, -0.002490f, -0.149625f, -0.069278f, -0.352904f, -0.583719f, -0.518941f, -0.553496f, -0.845752f, -0.759688f, -0.710741f, -0.864744f, -0.840053f, -0.689108f, -0.621188f, -0.558855f, -0.323137f, -0.123796f, 0.110477f, 0.234127f, 0.447637f, 0.666939f, - 0.728107f, 0.810900f, 1.057906f, 1.043998f, 0.821686f, 0.898741f, 0.794792f, 0.329442f, 0.358991f, 0.305142f, -0.011874f, -0.048917f, 0.089148f, -0.011394f, -0.135376f, 0.018563f, 0.092716f, -0.087557f, -0.034093f, 0.082008f, -0.041823f, -0.172260f, -0.056148f, -0.045886f, -0.249629f, -0.176687f, -0.046796f, -0.195637f, -0.221595f, -0.014388f, -0.077862f, -0.224190f, -0.107117f, -0.100868f, -0.315508f, -0.299167f, -0.270911f, -0.489372f, -0.529035f, -0.441027f, -0.470369f, -0.507699f, -0.363303f, -0.309743f, -0.268534f, -0.194147f, -0.103861f, -0.046080f, -0.011384f, 0.042471f, 0.175745f, 0.239379f, 0.368553f, 0.600005f, 0.678490f, 0.750495f, 0.876548f, 0.856700f, 0.755161f, 0.643957f, 0.452968f, 0.197610f, 0.053316f, -0.040684f, -0.138055f, -0.162889f, -0.159486f, -0.161158f, -0.164436f, -0.152670f, -0.136756f, -0.147401f, -0.150168f, -0.140723f, -0.150471f, -0.164408f, -0.153986f, -0.143525f, -0.131423f, -0.094664f, -0.043980f, -0.010207f, 0.002737f, 0.003902f, 0.000883f} - }, - { - {0.003031f, 0.012017f, -0.005986f, 0.003317f, -0.001243f, 0.000684f, 0.000563f, -0.004865f, -0.005516f, 0.003597f, -0.001010f, -0.004436f, -0.005656f, -0.003495f, 0.004980f, -0.000533f, 0.006685f, 0.001392f, -0.008487f, -0.008776f, -0.006224f, 0.002543f, 0.002165f, 0.004529f, -0.000681f, 0.005185f, -0.003977f, -0.000750f, -0.009178f, -0.001426f, -0.001713f, 0.001879f, 0.003451f, 0.003449f, 0.006776f, -0.003390f, -0.004539f, 0.003651f, 0.002068f, -0.004440f, -0.004514f, 0.000195f, 0.003152f, 0.001494f, 0.007524f, -0.002881f, -0.002386f, 0.008511f, 0.002607f, 0.015971f, 0.006796f, -0.004508f, -0.000154f, -0.009864f, 0.000184f, -0.011241f, -0.000740f, -0.004219f, 0.007752f, 0.000796f, 0.004161f, 0.005656f, 0.003073f, 0.005422f, 0.003622f, 0.000750f, -0.009413f, -0.001070f, -0.004718f, 0.006466f, 0.009473f, -0.006668f, -0.004730f, -0.002881f, -0.003835f, -0.005039f, -0.008070f, -0.001857f, 0.002420f, -0.004781f, -0.003933f, -0.001700f, -0.006634f, 0.000746f, -0.001334f, -0.004503f, 0.001431f, 0.000215f, -0.000026f, -0.002229f, 0.000396f, 0.000393f, 0.002467f, -0.000709f, 0.001592f, -0.000843f, - 0.001152f, -0.000344f, -0.001490f, 0.000383f, 0.001939f, 0.000304f, -0.001738f, -0.001813f, -0.000183f, 0.003280f, 0.000767f, -0.000664f, 0.000533f, -0.000995f, -0.018872f, -0.020175f, -0.001603f, -0.005786f, 0.000777f, -0.004378f, -0.001189f, 0.011226f, -0.002007f, 0.006035f, -0.002774f, -0.005396f, -0.007458f, 0.001370f, -0.001542f, -0.008908f, 0.010269f, 0.003085f, 0.000706f, 0.005474f, 0.005223f, 0.008467f, 0.005965f, -0.000562f, -0.006300f, 0.005882f, 0.001371f, -0.008493f, -0.003752f, -0.003830f, -0.002544f, 0.007592f, -0.002600f, -0.012952f, -0.004386f, -0.001481f, 0.002705f, -0.004026f, -0.008427f, 0.000275f, -0.000822f, 0.009790f, 0.001451f, -0.000079f, 0.003577f, -0.000225f, 0.013210f, -0.002279f, 0.001216f, -0.002920f, -0.005241f, 0.000005f, 0.005673f, 0.002565f, 0.001548f, 0.005361f, -0.004918f, -0.008196f, -0.005862f, -0.001180f, 0.001079f, -0.001912f, 0.000235f, -0.006152f, -0.001362f, 0.003224f, -0.001962f, 0.006417f, 0.003349f, -0.000362f, 0.001191f, -0.006017f, -0.005124f, 0.009958f, 0.002263f, 0.004242f, 0.002889f, -0.001770f, -0.000585f, -0.007563f, 0.000534f, -0.004321f, - 0.001857f, -0.001473f, 0.001926f, 0.002053f, 0.005856f, -0.000608f, -0.002047f, 0.000346f, 0.001255f, 0.000785f, 0.000210f, 0.000208f, -0.001764f, -0.001387f, 0.000711f, -0.000636f, -0.001520f, 0.002381f, -0.001204f, 0.001224f, 0.001811f, -0.001713f, -0.000511f, 0.001371f, -0.000517f, 0.002457f, -0.001477f, 0.001221f, -0.001177f, -0.000854f, -0.003069f, 0.002825f, 0.013047f, -0.000722f, 0.006695f, 0.003932f, 0.008928f, 0.010940f, -0.002487f, 0.000890f, 0.006747f, 0.006649f, 0.004462f, 0.012516f, 0.002550f, -0.004110f, 0.000555f, 0.010947f, 0.003868f, 0.005160f, 0.009516f, 0.012764f, 0.008445f, -0.002923f, -0.008751f, 0.006141f, 0.004211f, -0.005094f, -0.008453f, 0.000429f, -0.004934f, 0.002221f, 0.003246f, -0.003125f, -0.004217f, 0.004214f, 0.003366f, 0.007509f, -0.005049f, -0.010340f, -0.005163f, -0.004505f, -0.006863f, -0.002434f, -0.007840f, 0.004640f, -0.010733f, 0.004551f, 0.000914f, 0.002418f, -0.004774f, 0.010183f, 0.007815f, -0.007318f, 0.009004f, 0.003312f, -0.001335f, 0.002890f, -0.006531f, -0.002166f, 0.006155f, 0.002107f, 0.002577f, 0.001529f, 0.007351f, 0.002894f, - 0.009089f, -0.004553f, -0.000553f, -0.000682f, 0.003525f, 0.005173f, -0.002104f, 0.003409f, -0.004779f, 0.002318f, 0.003189f, 0.002775f, 0.009972f, 0.000270f, 0.007440f, 0.008243f, 0.004678f, -0.007703f, -0.001466f, -0.001289f, -0.001995f, 0.000573f, 0.004221f, -0.001860f, 0.000125f, -0.000422f, 0.000477f, 0.001427f, -0.001248f, 0.001695f, 0.002907f, -0.002149f, -0.001096f, 0.002661f, 0.000090f, -0.000085f, -0.000149f, -0.001692f, 0.000685f, -0.000881f, 0.000220f, 0.002032f, 0.003500f, 0.000037f, -0.000485f, 0.001655f, 0.001348f, 0.000440f, 0.000805f, 0.000560f, 0.000851f, -0.000249f, -0.000496f, 0.001441f, 0.001894f, -0.001881f, 0.000991f, -0.000755f, 0.036080f, 0.000301f, 0.031947f, 0.002573f, 0.020234f, -0.004341f, -0.003484f, 0.005546f, -0.015104f, 0.016519f, -0.009389f, 0.011086f, 0.008168f, -0.006031f, 0.004821f, -0.000428f, 0.000612f, -0.002775f, 0.004592f, 0.006544f, 0.008090f, 0.013361f, 0.003250f, 0.004281f, -0.000525f, 0.015713f, -0.018022f, 0.000467f, -0.001386f, 0.004354f, 0.007637f, -0.009446f, 0.003617f, 0.004313f, 0.002190f, 0.006310f, 0.003383f, -0.007278f, - 0.003470f, 0.014077f, -0.002649f, 0.004336f, -0.002389f, -0.002142f, -0.000694f, -0.010038f, 0.015519f, -0.000196f, 0.001485f, 0.011671f, -0.001665f, 0.000946f, 0.014385f, -0.021106f, 0.005768f, -0.000345f, 0.006288f, 0.017175f, 0.005065f, 0.004194f, 0.005886f, -0.001799f, -0.004839f, -0.003181f, 0.004130f, 0.001624f, 0.009135f, -0.003262f, 0.007495f, 0.003590f, -0.002643f, 0.001620f, -0.006112f, -0.003851f, 0.000731f, -0.001700f, -0.008415f, -0.005227f, -0.008609f, 0.005128f, 0.007456f, -0.001952f, 0.002239f, -0.001687f, -0.005757f, -0.000154f, 0.003031f, 0.003233f, -0.010263f, -0.000328f, 0.000853f, -0.001467f, 0.000477f, -0.001995f, 0.000109f, -0.002149f, -0.004996f, 0.000010f, -0.003341f, -0.002503f, -0.004147f, 0.000288f, -0.004058f, -0.001114f, -0.003939f, -0.002807f, -0.000222f, -0.001271f, -0.002143f, -0.000097f, 0.000419f, 0.001985f, -0.002156f, -0.014399f, -0.017746f, -0.007009f, -0.002686f, -0.006613f, 0.014160f, 0.006085f, -0.011348f, 0.012647f, -0.001795f, -0.009183f, 0.002722f, 0.005521f, -0.005155f, -0.008391f, -0.007608f, -0.015975f, -0.008105f, 0.006930f, -0.010172f, -0.016222f, - 0.004549f, 0.006596f, 0.001274f, -0.005954f, 0.012139f, 0.001527f, 0.011221f, -0.000683f, -0.002628f, 0.006452f, 0.010627f, -0.015145f, -0.007266f, 0.004157f, -0.003443f, 0.003740f, -0.009964f, -0.000699f, 0.002628f, 0.003617f, -0.008514f, -0.015381f, -0.004388f, 0.004520f, -0.002660f, -0.001917f, 0.000882f, 0.005005f, -0.001580f, 0.002790f, -0.005249f, 0.008961f, -0.011787f, -0.008744f, -0.003128f, -0.008565f, -0.002638f, -0.002295f, 0.003360f, -0.006276f, 0.004698f, 0.009729f, -0.000907f, 0.002307f, 0.002547f, 0.004684f, 0.009406f, -0.003573f, -0.001890f, -0.001766f, -0.004004f, 0.009894f, -0.004086f, -0.017145f, -0.011044f, -0.007225f, 0.016426f, 0.000321f, 0.009389f, 0.004379f, 0.001353f, 0.002594f, -0.001224f, -0.000332f, 0.007862f, -0.002602f, -0.001896f, 0.002612f, -0.001479f, 0.001319f, -0.003647f, -0.002117f, 0.001731f, -0.000439f, 0.001912f, -0.000470f, 0.001089f, 0.003024f, 0.002044f, 0.002830f, -0.000078f, 0.001985f, -0.000529f, 0.002900f, 0.003033f, 0.005136f, 0.003085f, 0.004087f, 0.000856f, 0.002744f, 0.002216f, 0.001720f, 0.002309f, 0.003396f, -0.001621f, 0.000310f, - -0.000761f, -0.001377f, 0.001278f, 0.002028f, -0.004118f, -0.015590f, -0.036245f, -0.003374f, 0.002511f, 0.000396f, -0.011751f, -0.005194f, -0.013336f, -0.003427f, -0.015729f, -0.018006f, -0.014079f, -0.003252f, -0.009326f, -0.020292f, -0.012705f, 0.004220f, 0.006285f, -0.005593f, 0.012219f, 0.006778f, -0.004518f, 0.015086f, 0.003229f, 0.001266f, 0.002425f, -0.020601f, -0.000755f, 0.003456f, 0.007769f, -0.006460f, -0.005740f, 0.012311f, 0.023910f, -0.017861f, 0.006439f, -0.005237f, -0.000920f, -0.015738f, -0.001385f, -0.000154f, -0.008035f, -0.010173f, -0.007403f, -0.008650f, -0.004615f, 0.005186f, 0.017558f, -0.008173f, 0.006589f, 0.011889f, 0.010743f, -0.003597f, 0.001222f, -0.003815f, -0.003401f, -0.016154f, -0.008003f, 0.009200f, -0.005827f, 0.002019f, -0.005562f, 0.004653f, 0.002465f, -0.001756f, -0.000602f, -0.007521f, -0.006216f, 0.001450f, -0.002237f, 0.003355f, -0.019137f, -0.020225f, -0.002166f, -0.002930f, -0.008688f, -0.000013f, 0.006442f, -0.009925f, -0.007648f, -0.008457f, -0.014721f, 0.010457f, -0.001050f, -0.002172f, 0.004022f, -0.000539f, 0.003612f, 0.006915f, 0.002409f, 0.003861f, - 0.002209f, 0.005093f, -0.001487f, 0.000950f, 0.000846f, 0.001197f, 0.001701f, -0.001271f, -0.001224f, 0.000330f, 0.001592f, 0.002003f, -0.001212f, 0.001652f, -0.001777f, -0.003414f, 0.001924f, 0.001417f, -0.001329f, 0.004579f, 0.002095f, 0.000357f, 0.001794f, -0.002689f, -0.002917f, -0.000722f, -0.001522f, -0.001180f, -0.022508f, -0.004434f, -0.027103f, -0.006079f, -0.019200f, -0.002295f, 0.003625f, 0.004887f, 0.020853f, -0.013009f, 0.004671f, 0.005626f, -0.011301f, -0.005108f, 0.016782f, 0.001777f, -0.004888f, 0.002105f, -0.013801f, 0.012531f, -0.017687f, -0.005848f, 0.007905f, 0.004909f, -0.001829f, 0.003021f, -0.003482f, 0.005796f, -0.007539f, -0.013297f, 0.000921f, 0.006431f, 0.005280f, -0.010634f, 0.002963f, 0.011948f, -0.012273f, -0.015578f, 0.012431f, -0.010624f, 0.008122f, -0.007647f, 0.004539f, -0.000317f, -0.011037f, -0.014386f, -0.008841f, 0.003916f, -0.000558f, 0.005371f, -0.007497f, -0.007332f, -0.018344f, 0.009570f, -0.013144f, -0.006021f, 0.007166f, 0.016292f, -0.002097f, -0.003386f, -0.024018f, -0.018941f, -0.006295f, -0.006754f, 0.009056f, -0.002565f, -0.014063f, -0.002261f, - 0.000761f, -0.007837f, -0.001908f, -0.016824f, 0.011225f, 0.004351f, 0.014151f, 0.017256f, 0.009115f, 0.000702f, 0.007536f, 0.015392f, -0.001264f, -0.003557f, -0.001036f, -0.004716f, -0.015289f, 0.000846f, 0.001149f, 0.003290f, 0.008220f, -0.003343f, 0.001831f, -0.000016f, -0.006003f, -0.003269f, 0.005617f, 0.005377f, 0.005114f, -0.003931f, 0.001556f, 0.002112f, 0.001964f, 0.001876f, 0.002262f, 0.000730f, 0.004281f, 0.004223f, 0.002901f, -0.000868f, 0.001985f, -0.000735f, 0.001706f, 0.003045f, 0.001106f, 0.001222f, 0.000096f, -0.001065f, -0.000933f, -0.000071f, -0.002636f, -0.001244f, 0.013369f, 0.007007f, 0.038825f, 0.018783f, 0.025153f, -0.007783f, -0.000957f, -0.000420f, -0.038293f, 0.002007f, 0.016548f, -0.007593f, -0.002952f, 0.001311f, 0.024170f, -0.004098f, 0.014012f, -0.002872f, 0.013420f, 0.007354f, 0.016569f, 0.023254f, 0.003013f, 0.015523f, -0.004790f, 0.013433f, -0.001801f, 0.024885f, 0.013265f, -0.000429f, 0.014184f, 0.011427f, -0.004176f, 0.010907f, 0.006589f, 0.009416f, -0.007437f, -0.005992f, -0.020106f, -0.001246f, 0.014279f, 0.002730f, 0.001829f, -0.004699f, - -0.007514f, -0.006024f, -0.006624f, 0.035017f, -0.022523f, 0.008914f, 0.010654f, 0.006017f, 0.003037f, -0.013471f, -0.017880f, -0.004599f, -0.002659f, -0.000854f, -0.030987f, -0.015400f, -0.015928f, 0.000733f, -0.000730f, 0.009184f, -0.001016f, 0.008154f, 0.010985f, 0.019815f, 0.003644f, -0.005148f, 0.006674f, -0.012533f, 0.003413f, -0.009205f, 0.003333f, 0.007638f, 0.004335f, 0.012600f, -0.008550f, -0.009753f, 0.045469f, 0.006180f, 0.008239f, 0.005704f, 0.015420f, -0.010981f, -0.005671f, 0.009660f, -0.001152f, -0.000327f, 0.001763f, 0.003134f, 0.008887f, -0.004494f, -0.000711f, 0.001611f, 0.005100f, 0.001098f, -0.004738f, 0.008558f, 0.000283f, -0.002121f, 0.000157f, -0.001086f, -0.004667f, -0.004421f, -0.002074f, -0.004910f, -0.000060f, -0.001985f, 0.002051f, 0.006087f, -0.000627f, -0.000712f, -0.006867f, -0.001544f, 0.003309f, -0.000866f, 0.000347f, 0.000511f, 0.005300f, -0.002901f, -0.000869f, 0.001601f, 0.001955f, -0.006072f, 0.059482f, 0.006414f, 0.008850f, 0.006735f, -0.003733f, -0.024086f, 0.016261f, 0.017233f, -0.009657f, 0.007577f, 0.007715f, -0.014409f, -0.002047f, 0.014224f, - 0.008115f, -0.025411f, 0.006463f, -0.006821f, -0.013069f, -0.000137f, 0.007467f, 0.002202f, -0.000261f, -0.000291f, 0.010994f, -0.003244f, 0.006196f, -0.019704f, 0.007972f, -0.001829f, 0.007829f, 0.004727f, -0.003632f, 0.014421f, -0.019354f, -0.008095f, -0.019112f, 0.016883f, 0.007879f, 0.027391f, 0.013426f, 0.000179f, 0.005837f, -0.021734f, -0.000182f, 0.006705f, 0.007025f, 0.006986f, 0.001476f, 0.004170f, -0.005817f, 0.006569f, 0.019502f, 0.026554f, 0.011370f, -0.011637f, -0.006578f, -0.002380f, -0.005177f, 0.010099f, 0.013279f, -0.008866f, 0.007861f, 0.015011f, 0.004515f, -0.019878f, -0.039931f, -0.019358f, 0.008030f, 0.017855f, -0.007517f, 0.005632f, -0.001499f, -0.003274f, -0.000128f, 0.018645f, 0.003358f, -0.014628f, 0.024695f, 0.011605f, -0.028602f, 0.001779f, -0.003426f, -0.008742f, -0.003192f, -0.003872f, -0.000002f, 0.010411f, 0.004192f, -0.007215f, -0.004078f, 0.006386f, 0.010691f, -0.004217f, 0.008142f, 0.002639f, -0.006620f, -0.001165f, 0.001097f, 0.000835f, -0.001207f, 0.001156f, -0.003257f, -0.001815f, 0.002418f, 0.001280f, -0.002880f, -0.002533f, 0.000249f, -0.001395f, - -0.004807f, 0.003682f, -0.001629f, -0.001880f, 0.001459f, 0.005762f, -0.005375f, -0.007937f, 0.000024f, -0.000546f, -0.012572f, -0.001459f, 0.003260f, 0.000741f, -0.007540f, -0.000145f, -0.002711f, 0.003236f, 0.001924f, 0.004795f, 0.003281f, -0.036389f, 0.010853f, 0.017442f, -0.019643f, 0.012752f, 0.021206f, -0.051833f, 0.011112f, 0.002358f, 0.011294f, -0.019243f, 0.029244f, -0.040862f, -0.000474f, -0.002788f, -0.003473f, -0.004054f, -0.012054f, -0.015348f, -0.002661f, 0.014854f, 0.001388f, 0.000568f, -0.007943f, 0.010508f, -0.001736f, -0.004897f, 0.007680f, 0.018308f, -0.012149f, 0.013256f, -0.002501f, 0.008122f, 0.003860f, 0.012469f, 0.018718f, -0.004164f, 0.004835f, -0.024207f, -0.012345f, -0.004839f, -0.009364f, -0.022022f, 0.002271f, -0.007883f, -0.014583f, 0.021563f, -0.020128f, -0.006446f, -0.009557f, -0.010587f, 0.014462f, -0.016325f, 0.009153f, -0.005549f, 0.014864f, -0.007657f, 0.016290f, -0.021409f, -0.006280f, 0.003066f, 0.019753f, -0.034716f, -0.013321f, 0.001593f, -0.000140f, -0.005919f, 0.013797f, -0.017843f, -0.035739f, 0.008048f, -0.031404f, 0.016179f, -0.011333f, 0.000443f, - -0.032830f, -0.012431f, 0.035019f, 0.020268f, -0.026691f, -0.021800f, -0.018971f, 0.001465f, 0.010461f, -0.004251f, -0.012082f, 0.023270f, 0.007944f, -0.003651f, -0.005232f, -0.008220f, -0.002044f, 0.009368f, -0.008664f, 0.010046f, -0.001413f, -0.006294f, 0.000936f, -0.004714f, 0.003244f, 0.008559f, -0.005165f, 0.004022f, 0.005664f, 0.004647f, -0.001040f, 0.009894f, -0.009343f, 0.009369f, -0.002872f, 0.008297f, -0.010824f, -0.005001f, 0.001203f, 0.001128f, 0.010491f, 0.004101f, 0.006154f, -0.003217f, -0.006607f, 0.004049f, -0.012375f, -0.000706f, -0.026962f, -0.011574f, 0.033968f, 0.001429f, -0.028010f, 0.026366f, -0.012342f, 0.001746f, -0.029208f, 0.004483f, 0.011586f, -0.025781f, -0.006290f, -0.023043f, -0.000159f, 0.001452f, -0.007759f, -0.006410f, 0.022489f, 0.003443f, -0.015228f, 0.003802f, -0.032631f, 0.019594f, 0.031099f, -0.010076f, 0.012989f, 0.022039f, -0.001645f, -0.004526f, 0.002716f, 0.002658f, 0.012924f, 0.002184f, 0.002989f, 0.006763f, -0.018242f, -0.001336f, -0.020971f, -0.021451f, -0.008790f, 0.008986f, 0.012725f, -0.000694f, -0.025232f, 0.004951f, 0.006616f, 0.012394f, - 0.026976f, -0.027681f, 0.040483f, -0.033593f, 0.001479f, -0.006785f, -0.005822f, -0.016256f, -0.031157f, -0.042050f, -0.016307f, -0.004832f, 0.010700f, -0.003209f, 0.001737f, 0.006165f, -0.000315f, 0.029581f, 0.013995f, -0.030389f, -0.004749f, -0.000640f, 0.019369f, -0.021010f, 0.001389f, -0.042323f, 0.007912f, 0.033030f, -0.029557f, -0.011620f, 0.004170f, -0.000343f, 0.008251f, 0.046292f, 0.000677f, -0.006133f, 0.002393f, 0.023557f, -0.016030f, 0.006292f, 0.008600f, -0.003523f, -0.001734f, -0.000335f, -0.000645f, 0.010472f, -0.003458f, -0.002436f, -0.009113f, 0.015259f, -0.003340f, 0.004473f, 0.001509f, 0.002664f, 0.003787f, 0.011087f, -0.007770f, -0.002017f, 0.011745f, -0.008577f, -0.012084f, 0.009908f, 0.000444f, 0.004820f, 0.006662f, 0.003746f, 0.012144f, -0.009511f, 0.005628f, 0.006701f, -0.004264f, 0.017203f, 0.005869f, 0.010509f, 0.003815f, -0.010422f, -0.003845f, -0.001801f, -0.001862f, -0.001882f, -0.017342f, -0.035178f, 0.042048f, 0.017965f, -0.020607f, 0.027299f, 0.027314f, 0.038798f, -0.014312f, -0.013394f, 0.028316f, -0.004163f, -0.005607f, 0.009875f, 0.012588f, 0.005031f, - 0.006019f, -0.038589f, -0.004103f, 0.000124f, 0.000318f, 0.002141f, -0.004370f, 0.016377f, 0.031735f, 0.003226f, 0.002163f, -0.000528f, 0.001510f, 0.029250f, 0.007758f, -0.002047f, -0.006395f, 0.007500f, 0.006457f, -0.004573f, 0.003344f, -0.016670f, -0.003496f, 0.025438f, -0.025246f, -0.012251f, -0.021775f, 0.028421f, -0.026050f, 0.013061f, -0.010678f, 0.008369f, -0.005678f, 0.006751f, -0.020938f, 0.004800f, 0.031551f, -0.020771f, 0.001628f, -0.055106f, -0.002477f, -0.019468f, 0.001464f, -0.051436f, -0.002306f, -0.002535f, -0.015899f, -0.011056f, 0.041954f, -0.045071f, 0.007481f, -0.012192f, -0.016854f, 0.012110f, -0.015291f, -0.035216f, -0.024737f, 0.003399f, 0.001811f, 0.007247f, -0.017492f, -0.023725f, 0.013446f, 0.001113f, 0.002583f, 0.015758f, -0.026341f, 0.019665f, -0.019180f, -0.009012f, -0.008283f, 0.004642f, 0.000614f, 0.005577f, -0.003468f, -0.006759f, 0.001566f, -0.003871f, 0.005459f, 0.012205f, 0.007064f, 0.004449f, 0.003380f, 0.003249f, 0.003159f, -0.001400f, 0.013244f, 0.002441f, -0.002662f, 0.009861f, 0.010117f, 0.003725f, -0.005794f, -0.000680f, -0.008403f, 0.013179f, - 0.004592f, 0.010569f, -0.005367f, 0.010844f, 0.009642f, 0.014228f, 0.006918f, -0.004207f, -0.007656f, 0.011923f, 0.002296f, 0.010285f, 0.002206f, 0.002644f, 0.002579f, 0.002932f, 0.035269f, 0.012416f, -0.004658f, 0.007635f, -0.017667f, -0.018603f, -0.015263f, 0.034374f, -0.030702f, -0.038148f, 0.018297f, -0.035490f, 0.013192f, 0.001420f, 0.009702f, -0.015835f, -0.003815f, -0.019283f, -0.008184f, -0.014870f, 0.007212f, 0.017725f, 0.012208f, -0.028633f, 0.033382f, 0.004111f, 0.011677f, 0.003115f, 0.016086f, -0.003384f, 0.015453f, 0.003859f, -0.006871f, 0.009926f, 0.003611f, 0.013132f, 0.009005f, -0.021703f, 0.008765f, -0.006308f, 0.006160f, -0.004359f, -0.008101f, -0.006659f, -0.015270f, 0.014327f, 0.015270f, 0.016030f, -0.002969f, 0.029261f, 0.034880f, 0.014033f, 0.004579f, 0.015908f, 0.036152f, 0.017922f, 0.039436f, 0.025412f, 0.029399f, -0.031505f, -0.031792f, 0.006550f, -0.006450f, -0.008479f, 0.002483f, -0.015836f, 0.013224f, 0.009970f, 0.006217f, 0.030104f, -0.007055f, -0.019346f, -0.016279f, -0.014286f, 0.003492f, -0.006773f, -0.064477f, -0.027973f, -0.025099f, -0.009044f, - -0.013037f, -0.006697f, -0.009787f, -0.018230f, 0.000665f, -0.010928f, -0.010548f, 0.004353f, -0.010583f, -0.003244f, -0.016265f, 0.001041f, 0.000836f, -0.002482f, -0.023175f, 0.009654f, -0.000081f, 0.001208f, -0.017439f, 0.005376f, 0.006171f, 0.006837f, 0.001883f, 0.020349f, -0.013095f, -0.004852f, 0.004105f, 0.002359f, -0.001502f, 0.008487f, -0.009284f, -0.007699f, -0.001717f, 0.014510f, -0.001506f, 0.010609f, 0.011850f, -0.002369f, -0.014982f, -0.013196f, -0.001662f, 0.015157f, 0.001109f, -0.010510f, 0.001468f, -0.002147f, -0.007337f, -0.005228f, -0.002369f, 0.001074f, -0.011221f, -0.009256f, 0.028680f, 0.019479f, -0.062808f, -0.046389f, -0.014445f, -0.000606f, 0.020701f, -0.008637f, -0.001473f, -0.050009f, 0.007081f, -0.026207f, 0.018706f, -0.003668f, 0.024783f, -0.021282f, -0.005282f, -0.025253f, 0.004383f, 0.020498f, -0.009828f, 0.005929f, -0.014418f, 0.001000f, -0.033745f, -0.009456f, -0.001613f, 0.002321f, 0.025050f, 0.032458f, 0.001151f, -0.030036f, -0.021025f, -0.009803f, 0.003092f, -0.008050f, 0.009543f, -0.034525f, -0.010646f, -0.004878f, -0.008897f, -0.019483f, -0.004500f, -0.009085f, - 0.023435f, 0.033773f, 0.022949f, 0.008173f, 0.014036f, 0.014027f, -0.016336f, 0.056524f, 0.034452f, -0.044975f, -0.038655f, 0.041449f, -0.032730f, -0.019172f, 0.006484f, 0.004353f, -0.031766f, 0.030566f, 0.002071f, -0.096375f, 0.025790f, 0.060014f, -0.041674f, 0.041250f, 0.055682f, -0.018850f, -0.005692f, 0.029371f, -0.034654f, -0.023352f, 0.011662f, -0.019275f, -0.021646f, 0.024834f, -0.042059f, -0.013198f, 0.005485f, 0.000574f, 0.002465f, -0.004467f, 0.015510f, -0.011448f, 0.006669f, 0.001847f, -0.011127f, 0.021868f, 0.011456f, -0.001172f, -0.014164f, 0.016759f, -0.010748f, 0.012825f, -0.011447f, 0.015695f, 0.001727f, 0.002882f, 0.016414f, -0.013156f, -0.014197f, 0.003819f, -0.013097f, -0.008573f, -0.000588f, 0.000919f, -0.008715f, -0.016249f, 0.007496f, -0.037491f, -0.000001f, 0.016533f, -0.013647f, 0.009524f, -0.004179f, 0.004524f, -0.015495f, -0.000154f, 0.008488f, -0.007788f, 0.005557f, 0.032675f, -0.014795f, -0.014465f, 0.032666f, -0.024180f, -0.003974f, 0.026907f, -0.019597f, -0.012396f, 0.020599f, 0.012720f, 0.013509f, -0.003333f, -0.020223f, -0.016145f, 0.019014f, -0.015185f, - -0.001445f, 0.005667f, -0.028597f, 0.018589f, 0.015128f, -0.011562f, -0.009408f, -0.022295f, 0.000539f, -0.013795f, 0.019206f, -0.031307f, 0.002316f, 0.011996f, -0.001738f, -0.014898f, -0.032523f, -0.007308f, -0.014196f, -0.003165f, -0.025191f, 0.034234f, -0.033527f, 0.005845f, -0.012248f, 0.008599f, -0.047452f, 0.048802f, 0.009187f, 0.004865f, -0.019631f, 0.011113f, 0.007853f, 0.002116f, 0.004337f, -0.008739f, -0.037478f, -0.006500f, -0.016289f, -0.023993f, -0.032222f, -0.011617f, -0.008213f, -0.031929f, -0.012333f, -0.001528f, 0.021920f, 0.010120f, -0.029011f, -0.025286f, 0.015421f, -0.006679f, -0.036799f, -0.015873f, 0.008870f, 0.030117f, 0.029849f, 0.030425f, 0.048527f, -0.009430f, -0.033158f, -0.031623f, -0.002158f, 0.021298f, 0.037751f, 0.016955f, 0.007983f, -0.038756f, 0.021597f, 0.008006f, 0.036805f, 0.025583f, 0.016576f, 0.012560f, -0.000180f, 0.003167f, 0.021573f, -0.005294f, 0.001321f, 0.003724f, 0.006079f, 0.007346f, 0.006782f, 0.010374f, 0.025903f, 0.008070f, 0.001656f, 0.008834f, -0.000901f, 0.008223f, 0.002132f, 0.001371f, 0.015937f, -0.019891f, -0.014329f, -0.005405f, - 0.007005f, -0.010176f, 0.006124f, -0.004564f, 0.020076f, 0.000551f, 0.003023f, -0.010897f, -0.013676f, 0.000928f, 0.011493f, -0.011484f, -0.001712f, 0.013574f, -0.011857f, -0.000914f, 0.006006f, -0.020042f, 0.023649f, 0.012712f, -0.004828f, 0.005518f, -0.001454f, -0.000533f, -0.006374f, 0.013396f, 0.022623f, 0.061227f, -0.054004f, -0.001561f, -0.021549f, -0.028568f, -0.017149f, 0.028019f, -0.015378f, -0.016630f, 0.014299f, 0.036084f, 0.022651f, -0.027071f, 0.017436f, -0.028406f, 0.020833f, 0.001186f, -0.003268f, -0.013728f, -0.021268f, -0.017062f, 0.003521f, 0.003927f, -0.033598f, 0.021314f, 0.003437f, -0.002979f, -0.012807f, -0.014174f, 0.023729f, -0.032482f, -0.001621f, 0.035473f, 0.041551f, -0.037253f, -0.002585f, -0.007341f, -0.024266f, -0.031183f, 0.034109f, 0.007875f, 0.021648f, -0.006611f, 0.002560f, -0.002854f, 0.021549f, -0.008326f, 0.001070f, -0.026699f, 0.038349f, 0.032186f, -0.046985f, -0.057179f, -0.012255f, 0.000823f, -0.018973f, 0.002068f, -0.014131f, 0.004542f, -0.029202f, 0.030999f, -0.037513f, -0.032585f, -0.012337f, 0.005592f, 0.025690f, -0.013289f, 0.037278f, 0.004153f, - -0.013481f, -0.012564f, -0.009941f, -0.023312f, 0.022663f, 0.017264f, -0.006320f, 0.014648f, 0.011176f, -0.018167f, -0.018548f, -0.015345f, 0.028859f, 0.007955f, -0.020876f, 0.003059f, 0.008044f, 0.010201f, -0.031070f, 0.016386f, 0.012229f, 0.006454f, -0.000455f, -0.008044f, 0.003991f, -0.008844f, -0.027659f, 0.006418f, -0.003795f, -0.004269f, -0.003356f, 0.003464f, -0.008477f, -0.009750f, -0.000705f, -0.003032f, 0.013623f, -0.006536f, -0.003952f, 0.008766f, -0.003809f, -0.012132f, 0.010734f, -0.012077f, -0.004344f, -0.021652f, 0.011920f, 0.003300f, -0.003330f, 0.004916f, -0.010214f, 0.020979f, -0.001381f, 0.004378f, 0.022525f, 0.017209f, -0.006368f, -0.006362f, 0.010802f, 0.007135f, -0.007842f, 0.005421f, -0.007195f, -0.005490f, -0.001437f, 0.006186f, -0.082865f, 0.122767f, -0.084348f, -0.021576f, 0.022213f, 0.066278f, 0.053880f, -0.019938f, -0.021576f, 0.003463f, 0.003077f, 0.034143f, 0.012609f, -0.045328f, 0.013584f, -0.009868f, -0.015898f, 0.004350f, 0.018521f, -0.000357f, -0.033920f, -0.030022f, 0.015839f, 0.012818f, 0.020975f, -0.011596f, 0.025964f, 0.005924f, 0.030452f, -0.003293f, - -0.010375f, 0.022394f, -0.002714f, -0.024225f, 0.004212f, 0.027837f, -0.001184f, -0.032083f, 0.015873f, 0.037045f, -0.034257f, 0.013378f, -0.036799f, 0.014419f, -0.046503f, -0.030550f, 0.051258f, 0.047616f, 0.022475f, 0.062054f, -0.011918f, 0.074109f, 0.027644f, 0.028477f, 0.039930f, -0.067424f, 0.056763f, 0.019209f, 0.022993f, 0.026018f, 0.006318f, -0.033005f, 0.005414f, 0.062501f, 0.071448f, -0.001027f, -0.080739f, 0.039539f, 0.002271f, 0.016713f, -0.002710f, 0.001723f, -0.017512f, -0.061115f, 0.012401f, -0.010328f, 0.013832f, -0.011564f, 0.030284f, -0.034460f, -0.036600f, -0.026059f, 0.005466f, -0.011369f, -0.016383f, 0.019419f, 0.007898f, -0.026541f, -0.027679f, -0.022264f, -0.016214f, -0.003207f, -0.004168f, 0.014249f, -0.000180f, -0.022818f, 0.018056f, 0.003223f, -0.005302f, 0.000672f, 0.009059f, -0.011560f, -0.005233f, 0.010845f, -0.019437f, -0.008747f, -0.013164f, 0.011226f, 0.014912f, -0.016951f, 0.005395f, -0.044859f, 0.001401f, 0.001813f, 0.002998f, -0.009072f, -0.007751f, -0.020464f, -0.014456f, 0.009798f, 0.007236f, 0.009374f, 0.016284f, -0.015226f, 0.001983f, 0.005619f, - 0.004776f, -0.014941f, 0.000928f, 0.003213f, 0.000363f, -0.012352f, -0.000820f, 0.081324f, -0.003119f, -0.096436f, -0.048938f, -0.056714f, -0.021838f, 0.000645f, 0.031740f, -0.082175f, -0.018563f, 0.013098f, -0.038500f, -0.044040f, -0.040371f, -0.043965f, -0.007244f, 0.048846f, 0.024870f, -0.019154f, 0.023255f, 0.009743f, -0.022460f, 0.025275f, -0.028335f, -0.006092f, 0.011588f, 0.016775f, -0.056136f, 0.028265f, -0.027711f, 0.016173f, -0.011197f, -0.044813f, 0.012291f, 0.014108f, 0.006742f, 0.007528f, -0.018889f, -0.063679f, 0.002358f, 0.013306f, 0.013660f, 0.000764f, 0.007710f, -0.026373f, -0.000576f, -0.002149f, 0.057676f, -0.008815f, -0.095574f, -0.042961f, -0.010641f, -0.079082f, 0.017731f, -0.024110f, -0.020511f, -0.038089f, -0.017400f, -0.056932f, -0.056187f, -0.068483f, -0.007156f, 0.072186f, 0.009566f, -0.045620f, 0.020672f, 0.000662f, -0.005430f, -0.025660f, -0.036469f, 0.015166f, 0.029319f, 0.022625f, 0.011888f, -0.013675f, -0.058856f, -0.041702f, -0.059260f, 0.008637f, 0.005992f, -0.002081f, 0.020455f, -0.031023f, -0.037966f, -0.005324f, -0.014424f, -0.038339f, 0.007780f, 0.022000f, - 0.002445f, 0.008014f, 0.036191f, -0.006693f, -0.008301f, -0.006367f, 0.001728f, -0.013286f, -0.008047f, 0.016367f, 0.024423f, 0.027413f, 0.017768f, -0.007712f, 0.000455f, 0.004187f, -0.012297f, 0.025356f, -0.011263f, 0.037047f, -0.013923f, 0.017319f, -0.018607f, -0.005083f, 0.036849f, 0.012368f, 0.004262f, -0.000338f, -0.015709f, 0.014702f, 0.002284f, -0.018543f, 0.007343f, -0.015899f, -0.021204f, 0.005661f, 0.005035f, -0.012677f, -0.013175f, 0.012676f, -0.000362f, 0.017894f, 0.002831f, 0.012118f, -0.007811f, 0.005223f, 0.003993f, 0.053071f, -0.005838f, 0.042437f, 0.055868f, -0.047313f, -0.058176f, -0.062278f, 0.016758f, 0.021138f, -0.084164f, -0.049447f, 0.002244f, 0.001913f, 0.026069f, -0.099044f, 0.011096f, 0.022260f, 0.068896f, -0.079444f, 0.009918f, 0.012425f, -0.009263f, 0.043009f, -0.024482f, 0.075759f, -0.003613f, 0.006204f, 0.023590f, 0.029109f, -0.028241f, -0.062129f, 0.036495f, 0.042982f, 0.010629f, 0.054523f, 0.011283f, -0.007513f, -0.019978f, -0.047075f, 0.072677f, -0.032756f, 0.068918f, 0.026470f, -0.004425f, 0.019705f, -0.028246f, 0.036428f, 0.037152f, -0.025979f, - 0.027804f, 0.013376f, -0.070945f, 0.051710f, 0.053787f, -0.007173f, -0.035834f, 0.006457f, -0.001073f, 0.001877f, -0.012184f, 0.098156f, -0.001118f, -0.057659f, -0.031330f, 0.010758f, -0.081840f, -0.108591f, 0.015568f, 0.134908f, 0.030683f, -0.009961f, -0.085640f, -0.022332f, -0.013553f, 0.091828f, -0.062266f, -0.040799f, -0.151094f, -0.022382f, -0.026962f, -0.036166f, -0.027628f, 0.055458f, 0.060489f, -0.059749f, -0.022158f, 0.019236f, 0.009187f, -0.011210f, 0.025430f, -0.010790f, -0.017782f, -0.019023f, 0.022090f, 0.008088f, 0.007873f, -0.007890f, 0.021722f, -0.021669f, -0.006177f, 0.017916f, 0.009520f, -0.001521f, 0.000304f, -0.016234f, 0.008881f, -0.010869f, 0.040578f, -0.011072f, -0.020189f, -0.017845f, -0.032441f, -0.011719f, 0.027281f, 0.029087f, 0.081431f, 0.030219f, -0.007736f, -0.061360f, -0.083098f, -0.039817f, 0.002698f, 0.034320f, 0.029438f, -0.022779f, -0.032137f, -0.017318f, -0.012240f, 0.020729f, 0.037942f, 0.007824f, 0.003680f, -0.004772f, -0.011305f, -0.011183f, -0.134865f, 0.039154f, 0.065275f, -0.086858f, -0.007425f, 0.048685f, -0.020569f, -0.039084f, 0.035314f, -0.037712f, - -0.020218f, 0.002859f, -0.027937f, 0.045787f, -0.015011f, -0.020931f, -0.007559f, 0.024185f, 0.083297f, -0.012922f, -0.037723f, -0.042638f, 0.015807f, 0.039588f, 0.024133f, -0.037690f, -0.005483f, 0.045055f, 0.001668f, -0.034168f, 0.011769f, -0.030503f, 0.077068f, -0.034694f, -0.082575f, 0.028616f, -0.013524f, 0.039564f, -0.055176f, -0.054775f, 0.055371f, -0.004494f, -0.070749f, -0.037919f, -0.067581f, 0.087993f, 0.042907f, 0.023664f, -0.092349f, 0.016400f, 0.038742f, -0.065171f, 0.004280f, -0.046853f, -0.034991f, 0.036225f, -0.031064f, 0.041581f, -0.025583f, -0.056661f, -0.012307f, -0.014145f, -0.007910f, 0.019288f, 0.007237f, -0.035473f, 0.110213f, -0.013692f, 0.049160f, 0.049694f, 0.030880f, -0.015170f, 0.012055f, -0.025149f, 0.062212f, 0.014953f, -0.015068f, 0.007110f, 0.026721f, 0.042547f, -0.010150f, -0.093439f, -0.005823f, 0.028718f, -0.008765f, 0.048854f, -0.020343f, 0.016623f, -0.006993f, 0.000916f, 0.020754f, 0.004527f, 0.012823f, 0.024703f, 0.015356f, 0.028732f, -0.006523f, 0.009047f, 0.015880f, 0.001588f, -0.029472f, 0.035421f, -0.014441f, -0.000244f, 0.005989f, -0.018404f, - 0.009663f, 0.001364f, -0.004350f, 0.024453f, -0.010856f, 0.001330f, 0.036446f, -0.000895f, 0.020468f, -0.018153f, -0.010987f, 0.018915f, -0.004209f, -0.013962f, -0.018522f, 0.000417f, 0.002897f, 0.003934f, -0.005992f, 0.004028f, 0.011539f, -0.004673f, 0.097570f, 0.020355f, 0.042106f, -0.003329f, 0.009957f, 0.015770f, -0.035871f, 0.015943f, 0.033868f, 0.000604f, -0.041233f, -0.021631f, -0.030666f, -0.012172f, -0.041324f, -0.039340f, 0.004659f, -0.031301f, 0.046042f, 0.015287f, -0.011099f, -0.033275f, -0.016400f, -0.010755f, 0.024662f, -0.007419f, -0.039101f, -0.031743f, 0.007810f, 0.008627f, 0.021931f, 0.008735f, -0.008875f, 0.010628f, -0.034141f, -0.102712f, 0.003986f, 0.125296f, -0.003989f, -0.090560f, -0.015094f, 0.059802f, 0.016241f, 0.010025f, -0.002010f, -0.039153f, -0.049517f, -0.029095f, 0.010867f, -0.002695f, -0.045829f, 0.017135f, -0.091836f, -0.016033f, 0.084409f, 0.025288f, 0.108678f, -0.013986f, -0.043359f, -0.012630f, -0.009941f, 0.029556f, 0.006007f, -0.000446f, -0.059802f, -0.029537f, -0.028781f, -0.003634f, 0.068663f, -0.008894f, -0.017223f, 0.023095f, 0.027606f, 0.004870f, - -0.037077f, -0.056927f, -0.004496f, 0.023634f, -0.002903f, -0.028045f, -0.007643f, 0.016439f, -0.012418f, -0.010287f, -0.019127f, 0.035039f, 0.036180f, -0.017936f, -0.009987f, -0.016441f, 0.014499f, 0.021996f, -0.010358f, 0.003563f, -0.004195f, -0.002554f, -0.007195f, -0.026957f, 0.002650f, 0.016112f, -0.016988f, 0.004565f, -0.004369f, 0.001703f, -0.015249f, -0.004540f, -0.006632f, -0.009285f, -0.011660f, -0.011121f, -0.003663f, 0.049435f, -0.024669f, 0.000773f, -0.009937f, 0.003178f, 0.026721f, -0.017802f, -0.002929f, -0.004745f, 0.008181f, -0.000771f, 0.007414f, -0.013552f, -0.043171f, -0.144375f, -0.222360f, 0.052273f, 0.199479f, 0.062624f, 0.487611f, 0.458819f, 0.204428f, 0.473100f, 0.200180f, -0.086074f, -0.001192f, -0.142615f, -0.389207f, -0.212877f, -0.203691f, -0.399397f, -0.290366f, -0.167156f, -0.251186f, -0.169320f, 0.037023f, -0.014939f, -0.080219f, 0.095037f, 0.089318f, -0.000661f, 0.095736f, 0.258977f, 0.109074f, 0.048547f, 0.248405f, 0.221769f, 0.074829f, 0.264238f, 0.323893f, -0.000814f, 0.191968f, 0.326000f, 0.123810f, 0.130144f, 0.332872f, 0.198420f, -0.026108f, 0.259302f, - 0.182444f, -0.071107f, 0.102134f, 0.206180f, -0.092251f, -0.164220f, -0.036814f, -0.346707f, -0.581270f, -0.563271f, -0.625726f, -1.001658f, -0.866514f, -0.715360f, -0.926421f, -0.794822f, -0.510352f, -0.605542f, -0.462344f, -0.128386f, -0.041171f, 0.195494f, 0.364744f, 0.600649f, 0.805387f, 0.877962f, 1.024662f, 1.112340f, 1.039608f, 0.984164f, 1.044645f, 0.794230f, 0.630174f, 0.747032f, 0.407789f, 0.064716f, 0.094243f, -0.151435f, -0.552153f, -0.464150f, -0.343011f, -0.495610f, -0.506269f, -0.316379f, -0.359504f, -0.453919f, -0.332308f, -0.302755f, -0.426533f, -0.383254f, -0.249605f, -0.318060f, -0.341036f, -0.112226f, -0.107436f, -0.201904f, -0.021281f, 0.075952f, -0.057759f, 0.010167f, 0.075912f, -0.109339f, -0.140686f, -0.134140f, -0.292477f, -0.323546f, -0.226237f, -0.170644f, -0.124064f, 0.041057f, 0.197702f, 0.268255f, 0.381031f, 0.487777f, 0.509941f, 0.540362f, 0.598248f, 0.566790f, 0.515682f, 0.536524f, 0.486262f, 0.360798f, 0.247529f, 0.063928f, -0.096958f, -0.248161f, -0.360048f, -0.403971f, -0.425017f, -0.380076f, -0.291161f, -0.255944f, -0.215568f, -0.177357f, -0.152950f, -0.135737f, - -0.102010f, -0.080437f, -0.073900f, -0.073093f, -0.051707f, -0.040916f, -0.033194f, -0.015331f, 0.010235f, 0.031010f, 0.059291f, 0.059421f, 0.057100f, 0.050854f, 0.032928f, 0.012507f, 0.007024f, 0.000373f}, - {-0.001031f, 0.020775f, -0.010300f, 0.000820f, -0.006145f, -0.000472f, 0.008781f, 0.004167f, 0.005509f, -0.004806f, 0.006824f, -0.007055f, 0.007661f, 0.003830f, 0.009233f, 0.003900f, -0.001758f, -0.010426f, 0.011212f, 0.007732f, 0.002841f, 0.001320f, 0.001038f, -0.004430f, -0.005079f, 0.005801f, 0.003548f, 0.003791f, 0.005562f, -0.005657f, -0.000442f, 0.005227f, 0.006181f, -0.000805f, -0.004628f, -0.008777f, 0.000021f, 0.001642f, -0.005319f, 0.001988f, 0.001399f, -0.007911f, -0.004294f, -0.000600f, 0.004005f, 0.000093f, -0.003873f, 0.007392f, 0.001360f, -0.002496f, -0.005490f, -0.001214f, 0.000627f, -0.010330f, 0.004748f, 0.006479f, -0.003618f, 0.008296f, 0.006765f, -0.001071f, 0.005590f, 0.003326f, 0.010951f, 0.003465f, 0.002024f, -0.001700f, 0.004104f, -0.008824f, 0.001104f, 0.004246f, -0.004412f, 0.004860f, 0.005811f, 0.006435f, 0.003970f, 0.008454f, -0.001852f, -0.005115f, -0.002703f, -0.002156f, 0.001078f, -0.001940f, -0.006603f, 0.003124f, -0.003140f, -0.003439f, -0.004025f, 0.001530f, -0.000051f, -0.002002f, -0.001638f, 0.002630f, 0.000146f, -0.000285f, -0.000752f, -0.000241f, - 0.001182f, 0.001772f, -0.000335f, -0.000085f, -0.001539f, 0.000436f, -0.002730f, 0.000276f, 0.001739f, 0.002393f, -0.001745f, -0.001776f, 0.000358f, 0.001568f, -0.019711f, -0.013786f, -0.001963f, -0.008876f, -0.007597f, 0.003739f, -0.011226f, -0.010823f, 0.003114f, -0.004902f, -0.004400f, 0.004507f, -0.003546f, -0.007666f, -0.000839f, -0.000578f, -0.002171f, -0.003506f, -0.002075f, -0.008792f, -0.000553f, -0.006340f, -0.004593f, -0.000239f, 0.007858f, -0.001744f, 0.011358f, -0.005904f, 0.006821f, 0.007846f, -0.008815f, 0.003074f, -0.002239f, 0.001711f, -0.006244f, 0.003094f, 0.004024f, 0.006055f, -0.003118f, -0.007388f, -0.002585f, -0.004049f, 0.002355f, 0.002876f, -0.008978f, -0.001121f, -0.006170f, -0.004939f, 0.001669f, -0.007336f, -0.011777f, -0.002194f, 0.011534f, 0.002567f, 0.004026f, 0.000642f, 0.002638f, 0.001594f, 0.004234f, 0.004581f, 0.012936f, 0.000988f, -0.005775f, -0.007416f, -0.001617f, -0.003521f, -0.000978f, -0.015014f, 0.003096f, -0.001047f, 0.004778f, -0.001987f, 0.001312f, -0.003564f, -0.001784f, 0.014740f, 0.002928f, 0.013519f, -0.004604f, -0.002434f, 0.001006f, 0.003866f, - 0.001283f, 0.004604f, -0.004515f, 0.004998f, -0.005260f, -0.003214f, 0.002655f, 0.001972f, -0.000224f, 0.000269f, 0.000080f, -0.001099f, 0.000339f, -0.001962f, -0.000216f, -0.000651f, -0.000359f, 0.000912f, 0.000990f, -0.001068f, -0.001938f, -0.001143f, 0.000092f, 0.000115f, 0.000290f, 0.000673f, -0.000827f, -0.000828f, -0.000842f, 0.000250f, -0.000345f, 0.001090f, 0.016001f, 0.018501f, 0.014192f, 0.010580f, 0.014920f, 0.006087f, 0.006469f, -0.001338f, 0.004219f, 0.015755f, 0.001651f, 0.004822f, -0.005874f, -0.003873f, 0.012027f, -0.008065f, -0.014777f, 0.004486f, -0.012351f, 0.010658f, 0.002479f, 0.012784f, -0.004093f, -0.000780f, -0.003176f, 0.004215f, 0.005080f, -0.000160f, -0.012583f, -0.002570f, 0.010725f, -0.007139f, 0.004819f, 0.002865f, -0.002455f, -0.003076f, 0.011921f, 0.009029f, 0.020818f, 0.008362f, 0.001700f, 0.005009f, -0.001794f, 0.001282f, 0.006536f, 0.003930f, 0.017738f, -0.007597f, -0.005103f, 0.001251f, 0.004544f, -0.002786f, 0.008204f, -0.007704f, 0.001567f, -0.000497f, -0.005958f, 0.001853f, 0.001750f, -0.008020f, -0.010898f, -0.006715f, 0.008568f, 0.004176f, - 0.000001f, -0.000692f, 0.006457f, 0.000497f, 0.002117f, 0.011265f, 0.005520f, -0.002680f, -0.001829f, 0.010014f, -0.008717f, 0.001153f, -0.007862f, -0.003520f, -0.010151f, 0.002757f, -0.002142f, -0.005995f, -0.003966f, 0.005869f, 0.003581f, 0.001049f, 0.003410f, -0.005617f, -0.000981f, -0.000479f, 0.004314f, 0.000126f, 0.000272f, 0.000804f, 0.001261f, 0.003201f, 0.003553f, 0.002833f, 0.000181f, 0.001514f, 0.003212f, 0.000183f, -0.002994f, 0.002735f, -0.001539f, -0.000585f, 0.000627f, -0.000498f, 0.002349f, 0.002171f, 0.001049f, -0.000005f, -0.000869f, -0.000861f, 0.000987f, 0.001367f, 0.000460f, 0.002087f, -0.004262f, -0.002699f, 0.002075f, -0.000149f, 0.034813f, -0.000618f, 0.017055f, -0.003094f, -0.002668f, 0.018291f, -0.017908f, -0.006206f, -0.001397f, 0.009032f, 0.006275f, -0.003841f, 0.003482f, 0.001685f, -0.016224f, 0.004095f, 0.008673f, 0.007697f, -0.018186f, -0.006404f, 0.002043f, -0.013049f, -0.003596f, 0.000983f, 0.000576f, 0.001758f, -0.002018f, 0.008287f, -0.005889f, 0.006585f, 0.013613f, 0.013595f, -0.003976f, -0.007834f, -0.001417f, 0.015314f, -0.000901f, -0.000853f, - 0.000089f, 0.001478f, -0.007997f, 0.001329f, 0.006426f, 0.000932f, 0.001501f, 0.006141f, -0.004126f, 0.004120f, 0.002382f, -0.001731f, 0.010749f, 0.001015f, 0.008537f, 0.001646f, -0.002914f, 0.003692f, 0.005690f, 0.004891f, -0.000294f, -0.008491f, -0.007725f, -0.010215f, -0.004573f, -0.000420f, -0.000041f, -0.001253f, 0.007502f, 0.006426f, -0.004967f, -0.010031f, 0.000262f, 0.005097f, 0.006163f, -0.006171f, -0.001196f, 0.005803f, -0.000591f, -0.000899f, 0.007755f, 0.003575f, 0.003638f, -0.003007f, -0.002586f, -0.000561f, 0.003298f, 0.004929f, 0.000037f, 0.003704f, 0.001291f, 0.000210f, 0.000653f, 0.001157f, 0.004593f, 0.003400f, 0.005177f, -0.002787f, 0.002392f, 0.000234f, 0.000570f, -0.000893f, 0.000452f, 0.000650f, 0.000132f, 0.000549f, -0.000966f, 0.002376f, 0.002362f, -0.002438f, 0.000497f, 0.001255f, 0.001437f, -0.000908f, 0.004755f, -0.009356f, -0.025957f, -0.006806f, -0.008788f, 0.001634f, 0.004330f, -0.004475f, -0.005199f, -0.049042f, 0.000981f, 0.015665f, -0.011435f, -0.018411f, 0.013719f, -0.020829f, -0.003147f, -0.009374f, -0.010918f, -0.006877f, -0.006862f, 0.000632f, - 0.008311f, -0.001636f, 0.004627f, -0.005415f, 0.006263f, -0.004931f, -0.007439f, 0.003144f, -0.002798f, -0.011842f, -0.014976f, 0.007019f, 0.000698f, 0.006927f, 0.002147f, 0.015662f, 0.002218f, 0.005343f, -0.007605f, -0.013291f, -0.003831f, -0.006670f, 0.013123f, -0.006276f, 0.000328f, 0.003270f, -0.006539f, 0.018231f, 0.012159f, 0.000118f, -0.014652f, -0.018717f, -0.006317f, 0.006035f, -0.016768f, -0.000567f, -0.008163f, -0.016094f, 0.001469f, -0.025118f, -0.005535f, -0.002806f, -0.009298f, 0.016640f, -0.001048f, -0.002794f, -0.000284f, 0.010368f, 0.013412f, 0.003885f, -0.013444f, -0.004495f, -0.003408f, 0.007088f, 0.003384f, 0.004006f, -0.007554f, -0.009773f, 0.007545f, 0.004996f, 0.001894f, 0.002391f, -0.000474f, 0.004166f, 0.001199f, 0.006352f, 0.001845f, 0.001369f, -0.000548f, -0.000335f, 0.001040f, 0.004047f, 0.005975f, 0.003525f, -0.001456f, 0.002240f, -0.007461f, 0.003722f, 0.004452f, -0.001388f, -0.000618f, 0.001237f, -0.001677f, -0.000602f, -0.000405f, -0.002430f, -0.002405f, -0.001447f, -0.000701f, 0.001278f, 0.002976f, -0.000589f, -0.003432f, -0.000145f, -0.004852f, 0.001538f, - 0.006686f, 0.002746f, 0.003955f, 0.002675f, 0.010391f, -0.028031f, -0.041317f, 0.005015f, -0.009467f, 0.009153f, -0.011600f, -0.020566f, 0.000466f, 0.018807f, 0.003810f, 0.011520f, 0.009194f, 0.007109f, 0.004542f, -0.006661f, 0.005007f, 0.012486f, -0.019677f, -0.009238f, -0.006575f, -0.004443f, 0.007151f, -0.001657f, 0.002433f, 0.012965f, 0.011286f, -0.004635f, -0.011114f, 0.002571f, -0.006241f, -0.004751f, -0.010772f, -0.007476f, -0.016383f, 0.003921f, -0.006145f, -0.000141f, 0.014489f, -0.002906f, 0.002754f, 0.003838f, -0.010442f, 0.008756f, 0.008627f, 0.012108f, -0.010638f, 0.019118f, -0.003131f, -0.013977f, -0.011827f, -0.015289f, 0.014239f, -0.005379f, -0.016258f, 0.004943f, -0.002508f, -0.011446f, 0.012192f, 0.016389f, -0.005656f, -0.013674f, 0.010157f, 0.003227f, 0.007966f, -0.001182f, 0.022044f, 0.012960f, -0.012848f, -0.006374f, -0.006054f, -0.005006f, 0.007374f, 0.010093f, 0.013096f, -0.000017f, 0.001754f, 0.005026f, -0.005166f, 0.004781f, -0.001401f, 0.008456f, 0.012038f, -0.016282f, -0.007238f, -0.008207f, -0.005081f, -0.008385f, -0.000606f, -0.005943f, 0.002794f, -0.000360f, - -0.000472f, -0.000732f, 0.002239f, -0.004046f, 0.010251f, -0.001312f, 0.004411f, 0.001496f, 0.002190f, -0.002032f, 0.000477f, 0.000233f, 0.000688f, -0.003486f, 0.000813f, -0.002286f, -0.003472f, -0.005424f, -0.001482f, -0.000376f, -0.000780f, 0.000145f, 0.000757f, -0.001148f, -0.000600f, -0.002079f, -0.001741f, 0.003138f, -0.038582f, -0.000026f, -0.007008f, 0.002558f, -0.000070f, 0.014559f, 0.010678f, 0.015080f, -0.002445f, 0.020570f, -0.009559f, 0.013989f, 0.017124f, 0.003159f, 0.017068f, 0.003689f, 0.004439f, -0.004781f, -0.001742f, -0.007171f, 0.013533f, -0.000831f, -0.001536f, 0.019064f, 0.011517f, 0.000187f, 0.005140f, -0.001613f, -0.000635f, 0.012402f, -0.007081f, -0.012251f, -0.000007f, -0.001691f, 0.006299f, -0.034662f, 0.020856f, 0.022501f, 0.008883f, 0.004387f, 0.000601f, -0.011015f, -0.023117f, 0.015284f, -0.009314f, -0.010506f, -0.007036f, 0.013719f, -0.009650f, 0.008467f, 0.008591f, -0.008206f, -0.005435f, -0.019963f, 0.009199f, -0.012984f, 0.007713f, 0.001293f, 0.006907f, 0.012143f, 0.019384f, 0.008317f, -0.008937f, -0.021316f, -0.003755f, 0.013046f, 0.021360f, 0.016034f, - -0.003236f, -0.004239f, -0.013730f, -0.022831f, -0.002417f, 0.015790f, 0.007048f, 0.004977f, -0.005067f, 0.020955f, -0.000715f, 0.007043f, 0.002028f, -0.004071f, 0.001980f, -0.010717f, -0.005214f, -0.005431f, 0.003561f, -0.002711f, -0.007649f, -0.004535f, -0.005287f, -0.005740f, 0.002282f, -0.008159f, -0.003391f, 0.001537f, 0.001396f, 0.006258f, 0.000327f, 0.000860f, 0.001072f, -0.001741f, 0.005124f, -0.001656f, 0.005828f, 0.002072f, -0.001685f, -0.004527f, -0.000248f, 0.005590f, 0.003992f, -0.000756f, -0.005504f, -0.001496f, 0.004836f, 0.004299f, 0.000601f, -0.001048f, -0.000683f, -0.003383f, 0.003717f, 0.014762f, 0.050423f, 0.027558f, -0.002427f, 0.004900f, 0.004506f, 0.011231f, 0.019959f, -0.002660f, 0.003954f, 0.033859f, 0.003488f, -0.001340f, 0.020391f, 0.014330f, -0.013996f, 0.008514f, 0.002089f, 0.013712f, 0.009392f, -0.023289f, 0.017885f, -0.010707f, -0.001491f, 0.002148f, 0.014013f, 0.002642f, 0.003837f, 0.010757f, 0.012235f, -0.011479f, 0.012567f, 0.037403f, -0.006518f, 0.017100f, 0.017458f, -0.009133f, 0.013705f, 0.003747f, -0.008910f, -0.009574f, 0.006676f, -0.008545f, - -0.023123f, -0.002871f, -0.001034f, 0.002509f, -0.029615f, -0.007120f, 0.009165f, -0.018646f, -0.012594f, -0.030792f, 0.010261f, 0.014338f, -0.021102f, -0.007428f, -0.010164f, 0.022484f, 0.000569f, -0.012697f, -0.008939f, -0.014155f, 0.007184f, 0.018824f, -0.013291f, 0.007311f, -0.005645f, 0.009120f, 0.021184f, 0.008981f, 0.016688f, 0.017039f, 0.021149f, 0.003314f, -0.011853f, -0.011758f, 0.008476f, 0.013468f, 0.001931f, 0.009068f, -0.009488f, 0.003852f, -0.001172f, -0.002887f, -0.009966f, 0.001420f, -0.004434f, 0.000620f, 0.008075f, 0.003472f, 0.003390f, 0.002780f, 0.008915f, -0.005512f, 0.000292f, -0.001466f, 0.002629f, -0.001023f, 0.000271f, 0.003844f, 0.000972f, -0.003131f, 0.004747f, -0.001033f, -0.006919f, 0.004289f, -0.004960f, -0.003928f, -0.005144f, -0.010314f, 0.005522f, -0.002365f, 0.004659f, -0.000550f, -0.001041f, 0.001375f, 0.007606f, 0.005159f, 0.006775f, 0.003176f, -0.000172f, 0.002792f, 0.007811f, -0.003233f, 0.051833f, 0.013948f, 0.002101f, -0.002904f, -0.007519f, 0.000413f, 0.009693f, -0.006201f, -0.011997f, -0.017650f, 0.001323f, 0.012767f, -0.015801f, 0.007863f, - 0.010365f, -0.004350f, 0.034979f, 0.012474f, -0.008729f, -0.005873f, -0.002650f, 0.012674f, -0.005202f, -0.011566f, -0.012869f, 0.008153f, -0.028063f, 0.001100f, -0.007942f, -0.010132f, 0.008936f, 0.002098f, -0.010317f, -0.006231f, -0.009918f, 0.014107f, -0.004662f, -0.022083f, -0.002746f, 0.000631f, 0.001603f, -0.012755f, -0.018171f, 0.001836f, -0.003448f, -0.002334f, 0.006090f, -0.003713f, 0.016901f, 0.003634f, 0.010052f, -0.010703f, 0.024631f, 0.007307f, -0.012414f, 0.016486f, 0.031176f, -0.008834f, -0.007771f, 0.016150f, 0.014693f, 0.006300f, 0.008905f, -0.019142f, -0.005235f, -0.020706f, 0.006039f, 0.019707f, 0.008752f, -0.024297f, -0.005073f, 0.007903f, -0.024262f, -0.037735f, -0.003390f, 0.001409f, 0.010657f, 0.034579f, 0.002638f, -0.003751f, -0.010861f, -0.007975f, 0.005277f, 0.008895f, 0.007209f, -0.000359f, 0.003761f, 0.000507f, -0.007722f, 0.004887f, 0.005816f, -0.009513f, -0.009388f, 0.010623f, -0.003627f, 0.006318f, 0.004533f, 0.003275f, -0.002764f, 0.002425f, -0.000397f, 0.003798f, 0.000741f, 0.005678f, 0.000005f, 0.005039f, 0.003252f, 0.001275f, -0.004622f, 0.010295f, - 0.003067f, 0.009417f, -0.002094f, -0.002894f, 0.003211f, -0.005991f, -0.001211f, 0.004585f, -0.005974f, 0.001693f, 0.003193f, 0.002251f, 0.002032f, 0.005139f, -0.002111f, -0.008803f, -0.000286f, -0.000745f, -0.009716f, 0.001605f, -0.004174f, -0.040228f, 0.018914f, 0.053473f, -0.021995f, 0.037529f, -0.008490f, -0.008087f, -0.011757f, -0.019386f, 0.014370f, 0.000552f, 0.009805f, 0.009719f, -0.035139f, 0.000468f, 0.016315f, -0.014236f, -0.007561f, -0.022118f, 0.039113f, -0.024411f, 0.019282f, 0.018230f, -0.023335f, -0.009595f, -0.008166f, 0.016430f, -0.018675f, -0.007597f, 0.018944f, -0.003297f, -0.005111f, -0.009233f, 0.023114f, 0.004091f, -0.003773f, -0.009504f, 0.000585f, -0.017596f, 0.019053f, -0.002250f, 0.008752f, 0.047594f, 0.031912f, -0.027381f, -0.019403f, 0.007490f, -0.002489f, 0.019921f, -0.010958f, -0.016048f, -0.005722f, -0.029844f, -0.011537f, -0.003529f, -0.022939f, -0.013089f, 0.050857f, 0.012151f, 0.000176f, -0.002481f, -0.000564f, 0.014989f, 0.017919f, -0.003761f, 0.017702f, 0.001442f, -0.009718f, 0.001938f, -0.027131f, -0.002020f, -0.025138f, -0.013554f, 0.015164f, 0.022228f, - -0.033333f, 0.013559f, -0.008532f, -0.010556f, 0.016170f, -0.002337f, -0.015332f, -0.000842f, -0.005997f, -0.011991f, 0.006187f, 0.004501f, -0.008370f, -0.020653f, -0.009946f, -0.002025f, -0.001609f, 0.016414f, 0.004884f, 0.004153f, -0.008877f, 0.000222f, -0.003637f, 0.008848f, 0.009845f, -0.005157f, 0.004228f, 0.007495f, 0.008107f, 0.006443f, 0.009216f, -0.003526f, 0.000681f, -0.006194f, 0.000546f, -0.007227f, -0.003870f, 0.002943f, -0.001989f, -0.005791f, -0.001358f, 0.003301f, -0.009766f, -0.004669f, -0.005274f, -0.002774f, -0.003698f, -0.004278f, -0.042601f, 0.007229f, 0.039609f, -0.010486f, -0.010045f, 0.008459f, -0.012231f, -0.010111f, 0.011212f, -0.001588f, -0.002177f, -0.000588f, -0.026798f, 0.045451f, -0.048384f, -0.004777f, -0.001062f, 0.016477f, 0.010032f, 0.000474f, -0.018339f, -0.013341f, 0.005842f, 0.035458f, -0.002845f, -0.015816f, -0.010680f, -0.025383f, -0.001673f, -0.014964f, -0.011754f, -0.005335f, 0.007967f, -0.000978f, 0.001234f, -0.017239f, 0.003488f, 0.004716f, 0.010983f, 0.008957f, 0.011059f, -0.023352f, 0.000156f, -0.004881f, 0.015307f, 0.003720f, 0.031004f, 0.006544f, - -0.007114f, 0.002589f, -0.016781f, -0.000275f, 0.013574f, 0.017297f, -0.026512f, -0.020757f, -0.001874f, 0.027573f, -0.043310f, 0.011242f, 0.050137f, 0.027383f, -0.013319f, 0.004482f, -0.026839f, 0.011207f, 0.024814f, -0.042486f, 0.009551f, -0.020775f, -0.005742f, -0.057546f, 0.000386f, -0.024327f, 0.022473f, 0.001401f, -0.026575f, 0.017593f, -0.001605f, -0.034545f, -0.004487f, -0.021896f, 0.014302f, -0.012260f, -0.017863f, 0.024333f, -0.004616f, 0.004204f, -0.008039f, -0.010742f, -0.002785f, 0.010326f, 0.007938f, -0.006007f, -0.001365f, 0.000315f, -0.005937f, 0.003677f, 0.006065f, 0.008527f, -0.008624f, 0.003328f, 0.004762f, -0.010507f, 0.000779f, 0.004448f, -0.007320f, 0.000599f, -0.004693f, 0.011376f, 0.006288f, 0.013871f, -0.006497f, -0.005341f, 0.004815f, -0.013444f, -0.001285f, -0.003944f, -0.001960f, -0.000813f, 0.002964f, -0.007595f, 0.000616f, -0.001116f, 0.002752f, 0.002453f, 0.000608f, -0.007665f, -0.011608f, -0.032340f, 0.051165f, 0.015047f, 0.026761f, -0.030142f, -0.034015f, -0.006037f, 0.008948f, -0.009215f, -0.004603f, 0.017432f, 0.004658f, 0.005597f, 0.015121f, -0.037419f, - -0.004188f, 0.000767f, 0.009515f, -0.025942f, 0.003379f, 0.004729f, -0.018302f, -0.009798f, -0.025189f, -0.018617f, -0.000205f, 0.008336f, -0.020402f, 0.001786f, -0.009290f, -0.017810f, 0.006945f, 0.000213f, 0.014352f, -0.039687f, -0.041790f, 0.008896f, -0.003672f, 0.015893f, 0.034884f, 0.004113f, -0.022107f, 0.031459f, -0.015688f, -0.029203f, -0.022742f, -0.009504f, 0.002396f, -0.031033f, -0.012170f, 0.030799f, 0.041497f, 0.017680f, 0.011533f, 0.008790f, -0.004934f, 0.026613f, 0.014861f, -0.030873f, -0.017021f, 0.000243f, 0.002956f, 0.029105f, 0.018525f, 0.004711f, -0.004610f, -0.003547f, -0.014400f, 0.019324f, 0.014977f, 0.033566f, 0.007512f, 0.009798f, 0.003919f, 0.060237f, 0.006666f, 0.023344f, -0.025088f, 0.002157f, 0.022722f, -0.054565f, 0.004299f, 0.007215f, 0.015193f, -0.005669f, 0.007990f, -0.007144f, -0.002040f, 0.009345f, -0.004726f, 0.028901f, -0.011815f, 0.016882f, -0.004675f, -0.010299f, -0.005718f, -0.011142f, 0.000092f, 0.004486f, 0.005447f, -0.002358f, -0.005827f, 0.012007f, -0.003864f, 0.008013f, -0.004550f, -0.004685f, -0.009065f, 0.008990f, 0.009621f, 0.002029f, - 0.000664f, -0.007488f, -0.013070f, 0.005860f, -0.001418f, 0.000291f, 0.014873f, -0.004407f, 0.012981f, -0.002194f, 0.007441f, 0.005122f, 0.009902f, 0.002156f, -0.009840f, -0.001967f, 0.034505f, 0.002299f, 0.042877f, -0.001542f, -0.019945f, -0.021706f, -0.040591f, 0.007301f, -0.017260f, -0.001245f, 0.003219f, 0.014394f, 0.020917f, 0.035621f, 0.036806f, -0.005863f, 0.032736f, -0.002586f, -0.003120f, 0.012341f, 0.027545f, 0.011968f, 0.007525f, -0.044375f, -0.022969f, -0.036109f, 0.017977f, 0.035909f, 0.006745f, -0.015699f, 0.024911f, 0.036022f, -0.005145f, 0.005486f, -0.008715f, 0.030267f, 0.025435f, 0.021676f, -0.013154f, -0.023048f, -0.003898f, -0.006071f, -0.051271f, 0.008782f, 0.006732f, 0.004429f, -0.013221f, -0.006890f, -0.057146f, -0.020253f, -0.051889f, -0.009155f, -0.038919f, -0.020160f, 0.037061f, 0.009787f, 0.039060f, 0.002505f, -0.032414f, -0.015758f, -0.033717f, -0.064067f, 0.008800f, -0.039626f, -0.011764f, 0.037642f, 0.015517f, 0.014763f, 0.002887f, -0.007243f, -0.002982f, 0.007361f, -0.027761f, 0.022040f, -0.047202f, -0.048479f, -0.002904f, -0.004159f, -0.006264f, -0.035607f, - -0.008303f, 0.047070f, -0.002779f, 0.002955f, -0.012757f, -0.040669f, 0.020500f, -0.027320f, -0.010966f, -0.027192f, -0.017074f, -0.012657f, -0.008907f, -0.009731f, -0.006266f, 0.000756f, 0.004642f, -0.025416f, -0.011194f, 0.005062f, 0.004385f, 0.014429f, 0.006497f, -0.008344f, -0.010951f, 0.009487f, -0.017447f, -0.002452f, 0.005164f, -0.013057f, 0.004016f, 0.004198f, 0.009444f, -0.008858f, -0.003319f, -0.004639f, -0.000872f, 0.006583f, -0.003951f, -0.000375f, -0.005241f, 0.010360f, 0.013883f, -0.004432f, -0.002427f, 0.003994f, 0.004556f, 0.009032f, 0.012287f, 0.002492f, -0.002278f, -0.002793f, 0.020168f, 0.040633f, 0.035366f, 0.038104f, -0.021961f, -0.038225f, 0.029399f, -0.017373f, 0.030385f, 0.009134f, -0.048811f, 0.012312f, 0.009093f, -0.054951f, 0.029549f, -0.025018f, -0.025585f, 0.015042f, 0.016725f, 0.002676f, 0.019853f, 0.001556f, 0.000992f, -0.012839f, -0.007445f, 0.012130f, -0.007634f, -0.018791f, 0.001267f, -0.035361f, 0.012805f, -0.044967f, -0.027377f, 0.001749f, 0.017874f, -0.006071f, -0.018618f, 0.007065f, 0.014100f, 0.010571f, 0.000833f, 0.036358f, -0.083369f, -0.018847f, - -0.022827f, -0.027604f, 0.036180f, -0.029073f, -0.003980f, -0.067160f, -0.018805f, -0.007893f, 0.003516f, 0.044945f, -0.010811f, 0.005773f, -0.027071f, 0.022850f, -0.033685f, -0.021718f, 0.017524f, -0.077978f, 0.011378f, 0.041849f, 0.054225f, 0.041522f, 0.026231f, 0.061080f, 0.033682f, -0.000609f, -0.015067f, -0.015528f, -0.023566f, -0.052439f, -0.005686f, 0.005044f, -0.074330f, -0.029283f, -0.022462f, -0.016642f, 0.023813f, 0.062425f, 0.072778f, 0.048341f, -0.024402f, 0.020035f, -0.015725f, -0.003255f, 0.016492f, 0.011361f, -0.006329f, 0.004103f, 0.005439f, -0.001277f, 0.002523f, -0.011263f, 0.006565f, 0.020614f, -0.009595f, 0.002918f, -0.018004f, 0.004626f, -0.008426f, -0.001025f, -0.000873f, 0.015988f, 0.027990f, -0.009822f, 0.001767f, 0.007028f, 0.011407f, -0.016700f, -0.026178f, 0.000730f, 0.020404f, 0.006167f, -0.016694f, 0.015896f, 0.008246f, -0.016723f, 0.011911f, 0.007865f, -0.006521f, -0.004939f, -0.001800f, -0.002892f, 0.003088f, 0.006646f, -0.005943f, 0.011726f, -0.071581f, 0.000097f, 0.011946f, 0.050196f, -0.016342f, 0.023200f, 0.021110f, 0.011105f, 0.011524f, -0.078302f, - 0.061740f, 0.033624f, 0.076496f, 0.028062f, -0.003339f, -0.028482f, -0.018076f, -0.017862f, -0.027748f, 0.019719f, 0.014510f, -0.028220f, -0.032048f, 0.016836f, 0.022902f, 0.039877f, 0.011135f, -0.024929f, -0.037154f, 0.007747f, 0.006197f, 0.002442f, 0.004355f, 0.070847f, 0.023915f, 0.013427f, 0.023251f, 0.025530f, 0.028764f, 0.000506f, -0.045177f, 0.031528f, 0.098846f, -0.010299f, -0.027754f, -0.060447f, -0.013143f, 0.079628f, 0.009130f, 0.032820f, 0.010846f, -0.110606f, 0.022543f, 0.019573f, 0.002079f, 0.011092f, -0.007976f, 0.001428f, 0.022255f, -0.059700f, -0.024942f, 0.050135f, 0.018419f, 0.006608f, -0.045044f, 0.031655f, 0.011546f, -0.040650f, -0.044095f, -0.029720f, 0.039734f, 0.082985f, 0.077208f, 0.085070f, 0.086289f, 0.003077f, -0.038970f, -0.032133f, -0.076157f, -0.025245f, 0.023557f, -0.061898f, -0.000959f, -0.050528f, 0.000257f, 0.066905f, 0.025819f, 0.027294f, 0.033000f, 0.020412f, -0.020996f, -0.007305f, -0.025799f, 0.036120f, -0.022626f, -0.020048f, 0.006112f, -0.004769f, -0.013683f, -0.024748f, -0.007562f, 0.024391f, 0.022959f, -0.011538f, 0.035783f, -0.002272f, - 0.000354f, -0.017074f, 0.004778f, 0.018149f, -0.005345f, -0.014917f, -0.014485f, 0.008710f, -0.008311f, 0.019823f, 0.012276f, 0.015903f, 0.023541f, -0.025408f, 0.005595f, 0.001411f, 0.010389f, -0.005889f, -0.011309f, 0.021007f, 0.004465f, 0.016979f, -0.010373f, 0.005667f, -0.015334f, -0.005647f, 0.034471f, 0.073210f, -0.147344f, -0.050634f, 0.010454f, -0.084503f, -0.079394f, -0.032925f, -0.048592f, 0.006459f, -0.036033f, 0.093805f, -0.010830f, -0.031820f, -0.014278f, -0.069943f, -0.020632f, -0.056224f, -0.024811f, 0.011114f, -0.074849f, -0.011275f, 0.056294f, -0.046816f, -0.014742f, 0.017645f, -0.001221f, 0.025040f, 0.004078f, 0.001249f, 0.020419f, 0.009095f, -0.037646f, -0.005696f, 0.031764f, -0.015330f, -0.046656f, -0.013823f, -0.056379f, -0.026095f, -0.098069f, 0.010710f, -0.067093f, 0.033204f, 0.010916f, -0.023013f, -0.086605f, 0.009208f, -0.010029f, 0.106894f, 0.041076f, 0.003246f, 0.056419f, 0.026155f, -0.000356f, 0.047916f, -0.055855f, -0.024819f, 0.003229f, 0.042545f, -0.046411f, -0.026321f, 0.152211f, -0.013312f, 0.078425f, -0.060497f, -0.001013f, -0.042836f, 0.032419f, -0.014346f, - 0.051058f, 0.082850f, 0.001315f, -0.056517f, 0.048682f, -0.060294f, -0.028796f, 0.021957f, -0.064716f, -0.041482f, -0.021203f, 0.047620f, 0.087735f, -0.104170f, 0.087964f, 0.018991f, 0.025138f, 0.011033f, 0.011649f, 0.010696f, -0.013925f, 0.017294f, 0.045187f, -0.022004f, 0.007271f, -0.003253f, 0.005210f, -0.048643f, -0.009757f, -0.014012f, 0.014266f, 0.016693f, 0.048354f, -0.029389f, -0.018570f, -0.022612f, 0.033323f, -0.042243f, 0.009720f, 0.017385f, 0.014028f, 0.017536f, -0.072499f, -0.015737f, 0.025122f, -0.010987f, -0.031405f, -0.002651f, 0.007728f, 0.003209f, 0.029675f, 0.016809f, 0.023413f, -0.022744f, -0.022266f, 0.025925f, 0.006488f, 0.017926f, -0.016864f, 0.018053f, 0.010610f, 0.004655f, 0.005487f, -0.005233f, -0.008137f, 0.001915f, -0.055285f, 0.114250f, -0.065657f, 0.042017f, 0.037436f, -0.059444f, 0.032558f, 0.017959f, 0.012794f, -0.010564f, 0.045082f, 0.023332f, -0.057502f, 0.040735f, 0.047331f, 0.009212f, 0.007953f, 0.028661f, -0.000843f, -0.057130f, 0.074133f, -0.042405f, 0.016688f, -0.031548f, -0.007387f, 0.009300f, -0.014031f, 0.060455f, 0.013464f, -0.008042f, - -0.014689f, -0.003219f, 0.011703f, -0.061632f, 0.019363f, -0.031988f, -0.021735f, -0.014853f, -0.000317f, -0.030294f, -0.014554f, 0.007249f, 0.063731f, 0.000589f, -0.013601f, -0.040833f, 0.016811f, 0.011137f, 0.001681f, 0.049494f, -0.012287f, -0.005289f, 0.058789f, 0.018437f, 0.003201f, -0.057076f, -0.030047f, 0.036618f, 0.020301f, -0.053484f, 0.001439f, -0.121372f, -0.060318f, 0.108541f, -0.025749f, 0.058644f, 0.076726f, 0.021762f, 0.012804f, 0.034712f, -0.015184f, -0.042727f, 0.022546f, 0.007011f, -0.003098f, 0.048882f, 0.031545f, -0.035395f, -0.084989f, -0.017685f, 0.034125f, 0.010824f, -0.002425f, 0.027274f, -0.032362f, 0.047312f, -0.023660f, 0.017600f, 0.021759f, 0.009543f, 0.032166f, 0.024549f, 0.039072f, 0.004314f, -0.010700f, 0.014128f, 0.037849f, -0.010208f, 0.033077f, 0.019941f, -0.022148f, 0.006593f, 0.017359f, 0.011829f, 0.006882f, 0.023887f, 0.019665f, 0.008653f, 0.039694f, -0.012901f, 0.004148f, -0.005959f, -0.003045f, -0.010375f, 0.035183f, 0.029307f, 0.023198f, -0.011306f, 0.004079f, 0.041839f, -0.011375f, 0.030632f, 0.027221f, -0.000083f, 0.047750f, -0.043711f, - 0.005746f, 0.065924f, 0.008086f, 0.018581f, -0.014102f, 0.046369f, 0.008634f, 0.064852f, -0.020018f, -0.108398f, 0.018432f, -0.013083f, 0.037336f, 0.011394f, -0.036749f, 0.019023f, 0.022373f, -0.041925f, -0.046002f, -0.030827f, -0.076813f, -0.077342f, 0.053192f, -0.012365f, -0.079440f, -0.024402f, 0.008130f, 0.026237f, 0.025147f, -0.048711f, -0.052776f, 0.005133f, 0.073393f, -0.035169f, 0.028309f, -0.049454f, 0.017525f, -0.055786f, 0.036254f, 0.038245f, -0.027365f, -0.057413f, -0.039509f, -0.006456f, 0.022452f, -0.024681f, -0.016292f, -0.020559f, -0.073033f, -0.063119f, 0.032984f, -0.053002f, -0.010913f, 0.018805f, -0.043812f, -0.070663f, 0.026858f, 0.036991f, -0.004838f, -0.085056f, 0.037910f, 0.033304f, 0.107377f, 0.000446f, 0.028100f, 0.020995f, -0.046041f, 0.017537f, -0.014402f, -0.092951f, -0.014367f, 0.056748f, 0.013376f, -0.047044f, -0.116730f, 0.073588f, 0.093956f, -0.028023f, 0.075963f, 0.088556f, 0.004406f, 0.003968f, 0.069854f, -0.045397f, 0.003350f, 0.117237f, -0.086632f, 0.050245f, -0.074237f, -0.020371f, -0.006203f, 0.050469f, -0.017321f, 0.007305f, 0.028153f, -0.000916f, - -0.065735f, 0.072191f, -0.013285f, -0.008494f, 0.010920f, 0.030139f, -0.049461f, 0.021566f, 0.012505f, -0.007445f, 0.014844f, 0.017553f, -0.045853f, -0.006191f, 0.010475f, 0.024003f, 0.049694f, -0.004206f, -0.043939f, 0.022255f, 0.051007f, -0.040722f, 0.049747f, -0.023642f, -0.005495f, -0.017545f, 0.056120f, -0.038918f, 0.013163f, 0.035199f, -0.024528f, 0.008855f, 0.006012f, -0.032432f, 0.006901f, 0.014031f, -0.006376f, -0.024614f, 0.015815f, 0.020486f, -0.011679f, 0.040709f, -0.061370f, 0.015115f, 0.017605f, 0.000894f, 0.003433f, 0.042028f, -0.009443f, 0.023576f, -0.048800f, -0.154522f, 0.041787f, -0.017859f, 0.115415f, -0.039730f, -0.025342f, -0.046375f, -0.132183f, 0.060423f, -0.077022f, -0.045093f, 0.002374f, -0.000217f, 0.101995f, -0.073021f, -0.051054f, 0.067091f, 0.040006f, 0.034944f, -0.012634f, 0.033383f, -0.023613f, -0.033707f, -0.030931f, 0.078681f, 0.065544f, 0.102316f, -0.032536f, -0.038404f, 0.001860f, -0.006842f, 0.037647f, -0.061729f, 0.013273f, -0.064878f, 0.034675f, 0.063476f, 0.021879f, -0.052423f, 0.035734f, -0.046224f, 0.103972f, 0.052830f, 0.014773f, 0.013921f, - -0.015987f, -0.081564f, 0.046120f, -0.110614f, 0.023160f, 0.020519f, 0.054079f, 0.042804f, -0.095420f, 0.028741f, -0.060081f, -0.035760f, 0.026078f, -0.009530f, 0.035710f, 0.022782f, -0.087233f, 0.035649f, 0.080283f, 0.106009f, -0.030692f, 0.031310f, -0.043221f, 0.074401f, -0.105648f, -0.005598f, -0.019178f, 0.033378f, 0.069643f, 0.099886f, -0.079877f, 0.019917f, -0.106913f, 0.068785f, 0.141055f, -0.035801f, -0.095978f, -0.007720f, -0.072363f, 0.092574f, 0.023588f, -0.047250f, -0.013275f, 0.005394f, -0.015733f, 0.066126f, 0.024994f, -0.037336f, 0.035676f, -0.052872f, 0.003546f, 0.049646f, -0.010257f, -0.060938f, 0.067692f, -0.097244f, 0.028299f, -0.014647f, 0.038988f, -0.002409f, 0.024259f, -0.022383f, -0.011899f, 0.009945f, 0.008649f, 0.010373f, 0.046247f, -0.047144f, -0.039548f, 0.002259f, 0.010755f, -0.010843f, -0.049122f, -0.035940f, 0.072207f, 0.019513f, -0.031944f, -0.036888f, -0.082191f, 0.098606f, 0.077239f, -0.029956f, -0.026302f, -0.057385f, 0.002285f, 0.073707f, -0.121385f, 0.086680f, -0.011231f, -0.003413f, 0.028843f, 0.024145f, 0.034343f, 0.009498f, 0.016828f, -0.042774f, - 0.040601f, 0.011008f, -0.043458f, 0.029293f, -0.017220f, -0.000803f, 0.039702f, 0.022817f, -0.061870f, 0.034703f, -0.029214f, 0.051508f, -0.037475f, 0.012940f, -0.019084f, 0.023900f, -0.018181f, 0.010914f, -0.027136f, 0.059254f, -0.005110f, 0.001480f, 0.017827f, 0.019767f, -0.029924f, -0.006415f, 0.013747f, 0.019660f, 0.018266f, -0.021037f, 0.007715f, 0.000711f, -0.060150f, -0.005179f, 0.015855f, 0.022035f, 0.009870f, 0.014062f, -0.054079f, 0.008475f, -0.002934f, 0.005304f, 0.012723f, -0.010923f, 0.012048f, 0.008880f, 0.005361f, -0.013308f, -0.012018f, -0.004371f, 0.063105f, -0.022283f, 0.012763f, 0.023177f, -0.012903f, 0.022044f, -0.025005f, 0.021237f, 0.011387f, -0.017108f, -0.025155f, 0.015793f, -0.015354f, 0.012344f, -0.022596f, -0.019932f, -0.008785f, 0.028692f, -0.007195f, 0.002587f, 0.006031f, -0.002284f, 0.007131f, -0.023073f, 0.017558f, -0.014957f, 0.038269f, -0.035571f, 0.016762f, -0.021300f, 0.019142f, -0.017431f, 0.015352f, 0.000233f, 0.025914f, -0.022446f, 0.012210f, -0.011578f, 0.001493f, 0.004356f, 0.015348f, -0.016171f, 0.003919f, -0.017435f, 0.024564f, -0.020648f, - -0.005546f, 0.012171f, 0.005189f, -0.010169f, -0.002833f, 0.013772f, 0.009349f, -0.033915f, 0.018980f, 0.001494f, 0.000317f, -0.003736f, 0.006936f, -0.004385f, 0.003712f, -0.002784f, 0.004485f, 0.000959f, 0.008908f, -0.009713f, 0.024218f, -0.030819f, 0.096578f, -0.006981f, -0.031249f, -0.047700f, -0.021656f, -0.026787f, 0.035051f, 0.020236f, -0.025451f, 0.002097f, 0.003019f, 0.011417f, 0.001587f, 0.024230f, 0.008387f, 0.019077f, -0.006539f, -0.000717f, -0.005721f, 0.008926f, 0.020722f, -0.019261f, -0.000113f, -0.009549f, 0.000685f, 0.025217f, -0.014315f, 0.002428f, -0.006465f, 0.009915f, 0.005142f, -0.013888f, -0.005129f, 0.014828f, -0.004561f, 0.024198f, 0.017242f, -0.025323f, 0.008110f, 0.005326f, 0.013270f, 0.005573f, -0.023898f, 0.016141f, -0.004474f, 0.015696f, 0.012587f, -0.028569f, 0.007828f, 0.000046f, 0.006423f, -0.003223f, -0.012535f, 0.020304f, -0.005003f, 0.009194f, 0.000484f, -0.006150f, 0.009414f, -0.012187f, -0.001710f, 0.016925f, -0.011662f, -0.014031f, 0.028276f, -0.018304f, 0.026378f, -0.002792f, -0.021378f, 0.043685f, -0.040157f, 0.034863f, -0.012385f, -0.020968f, - 0.022107f, -0.020602f, 0.006085f, 0.007078f, -0.020125f, 0.016893f, -0.003632f, -0.001346f, 0.010808f, -0.014038f, 0.018294f, -0.005982f, -0.001420f, 0.004460f, -0.003136f, 0.006378f, -0.003079f, 0.000982f, 0.005326f, -0.005209f, 0.008522f, -0.001054f, -0.004879f, 0.010444f, -0.016298f, 0.008594f, -0.007259f, -0.003403f, 0.010133f, 0.000788f, -0.003081f, 0.005207f, -0.003887f, 0.005168f, 0.002645f, -0.007610f, 0.005030f, 0.000960f, -0.001739f, -0.001354f, 0.004539f, 0.000914f, 0.008403f, -0.006717f, 0.002369f, 0.001011f, -0.004795f, 0.009271f, -0.002739f, -0.001557f, -0.047306f, -0.081142f, 0.102355f, 0.293207f, 0.046342f, 0.028416f, -0.214370f, -0.265014f, -0.084947f, -0.052099f, 0.179234f, 0.273425f, 0.140667f, 0.040770f, -0.092066f, -0.197830f, -0.180487f, -0.151145f, 0.011916f, 0.226517f, 0.189400f, 0.108643f, 0.036835f, -0.096937f, -0.125790f, -0.099859f, -0.096581f, -0.034037f, 0.045714f, 0.062915f, 0.130053f, 0.093163f, 0.022534f, -0.031544f, -0.018635f, -0.104728f, -0.050958f, -0.052920f, -0.071772f, 0.042696f, 0.080386f, 0.046543f, 0.117058f, 0.031126f, -0.027891f, -0.044983f, - -0.077950f, -0.061530f, -0.009713f, -0.019014f, 0.023838f, 0.048490f, 0.043110f, 0.030880f, 0.020944f, -0.010632f, -0.042832f, -0.030210f, -0.035635f, 0.011479f, 0.041408f, 0.013713f, 0.010118f, -0.017977f, -0.037266f, -0.006926f, -0.000161f, -0.000509f, 0.030052f, 0.027017f, 0.030123f, 0.011956f, -0.010476f, -0.032331f, -0.046963f, -0.047952f, -0.031285f, 0.033302f, 0.049167f, 0.061120f, 0.042169f, -0.010590f, -0.023957f, -0.025310f, -0.050331f, -0.022161f, 0.018272f, 0.009700f, 0.009034f, 0.014693f, 0.006969f, 0.005658f, -0.007855f, -0.010048f, 0.007864f, 0.017495f, -0.000435f, -0.001472f, -0.012089f, -0.016497f, -0.008664f, -0.010007f, -0.005970f, 0.012981f, -0.002348f, 0.027110f, 0.033357f, 0.019363f, -0.011639f, -0.018946f, -0.021344f, -0.026849f, -0.019718f, -0.026571f, 0.014178f, 0.036708f, 0.033391f, 0.019845f, 0.020834f, 0.007951f, -0.020606f, -0.040141f, -0.041168f, -0.020846f, -0.004297f, 0.013050f, 0.029249f, 0.043066f, 0.035251f, 0.006691f, -0.022769f, -0.037818f, -0.027793f, -0.009167f, 0.000231f, 0.010401f, 0.006563f, 0.016272f, 0.020732f, 0.006194f, -0.009014f, -0.012223f, - -0.006915f, -0.005084f, -0.005010f, -0.001387f, 0.001462f, 0.009676f, 0.005820f, 0.000693f, -0.000119f, -0.000576f, -0.001858f, -0.004215f, -0.004414f, 0.001334f, 0.001359f, 0.000827f, -0.000331f, 0.000400f} - }, - { - {-0.005343f, 0.020366f, 0.002374f, 0.005529f, 0.001946f, 0.002922f, -0.004913f, -0.012293f, -0.002380f, 0.006525f, 0.002318f, -0.006075f, -0.000860f, 0.004995f, -0.001288f, -0.007318f, 0.002209f, -0.008438f, -0.005245f, -0.000243f, 0.002323f, -0.002386f, -0.001915f, 0.005261f, -0.007297f, -0.000155f, 0.000921f, 0.003546f, 0.002792f, 0.002703f, 0.008906f, 0.004042f, -0.011082f, -0.002807f, -0.005042f, 0.001420f, -0.000294f, -0.000821f, -0.006982f, -0.009075f, 0.012036f, -0.005544f, 0.002937f, 0.003521f, 0.003010f, -0.011414f, -0.006505f, -0.002979f, 0.001252f, -0.000881f, -0.000366f, -0.001036f, 0.001917f, 0.004372f, -0.005986f, -0.000002f, 0.003194f, 0.003742f, 0.004441f, 0.001651f, 0.000072f, 0.004320f, 0.001519f, -0.001860f, -0.000560f, 0.007006f, -0.005203f, -0.005484f, -0.002975f, -0.002196f, 0.005966f, 0.003540f, 0.001412f, -0.002226f, 0.005748f, -0.002563f, 0.002973f, -0.006805f, -0.000662f, 0.000527f, 0.001403f, 0.001415f, -0.005511f, 0.001489f, 0.003878f, 0.001959f, 0.000645f, -0.000495f, 0.005077f, 0.002425f, -0.000528f, 0.003263f, 0.001925f, 0.000847f, -0.000761f, 0.001094f, - 0.000862f, 0.000708f, -0.000987f, 0.001239f, 0.000335f, -0.001026f, -0.000830f, 0.001763f, 0.000372f, -0.000174f, 0.000005f, 0.000068f, 0.000279f, -0.001646f, 0.001160f, -0.000463f, 0.000907f, -0.001296f, -0.011577f, -0.006970f, 0.004932f, -0.011325f, -0.016014f, 0.003115f, 0.001376f, 0.001976f, 0.002341f, 0.002255f, -0.013767f, -0.002248f, 0.003998f, -0.008729f, 0.009173f, 0.008918f, 0.007652f, -0.003094f, 0.000703f, 0.002072f, 0.005860f, 0.001337f, -0.000199f, 0.001154f, -0.003984f, 0.003699f, -0.001439f, -0.001450f, -0.001873f, 0.011312f, -0.006749f, 0.003916f, -0.004260f, -0.003668f, -0.003826f, 0.003002f, 0.006186f, -0.006601f, -0.003292f, -0.003576f, 0.004527f, 0.004264f, 0.006878f, 0.004676f, 0.000918f, 0.006028f, -0.005134f, 0.003624f, 0.001377f, 0.001575f, 0.012623f, 0.002987f, 0.006241f, -0.010359f, -0.002798f, 0.004273f, -0.005184f, 0.004916f, -0.002241f, -0.003812f, 0.001349f, 0.007576f, 0.005108f, 0.003495f, -0.001854f, 0.001552f, 0.005645f, -0.006831f, 0.009011f, -0.001228f, 0.007385f, -0.003000f, 0.006093f, 0.007276f, 0.006126f, -0.003421f, -0.009090f, -0.013416f, - -0.009064f, 0.000876f, -0.004756f, 0.008864f, 0.001469f, 0.001389f, 0.002370f, -0.006325f, -0.001960f, -0.002845f, 0.003182f, -0.001711f, -0.001219f, 0.003905f, -0.004769f, -0.001683f, 0.001887f, -0.002646f, 0.000219f, -0.002953f, -0.002361f, -0.001870f, -0.000531f, -0.003149f, 0.019453f, 0.013978f, 0.011453f, 0.009532f, 0.010742f, 0.004538f, -0.000847f, -0.000237f, -0.003989f, -0.001189f, 0.014133f, -0.006168f, -0.006358f, 0.009753f, 0.007240f, 0.009377f, -0.006554f, 0.002840f, -0.002478f, 0.002120f, 0.004178f, 0.005855f, 0.000857f, -0.004272f, -0.003175f, -0.005497f, -0.001964f, -0.003396f, -0.010024f, -0.001214f, 0.008441f, -0.006568f, -0.001143f, 0.003123f, -0.005164f, -0.004676f, 0.004775f, -0.002576f, -0.006695f, -0.003585f, 0.003816f, -0.005718f, -0.007365f, -0.003355f, -0.002186f, 0.002490f, -0.005138f, -0.010645f, 0.000757f, -0.001749f, -0.001489f, 0.003092f, -0.008739f, -0.004249f, 0.000164f, -0.003639f, 0.004823f, -0.001213f, 0.002084f, -0.015677f, -0.004752f, 0.008901f, -0.003493f, -0.008621f, 0.002581f, 0.001554f, 0.002442f, -0.003192f, -0.012438f, -0.005624f, 0.014013f, 0.000981f, - 0.005171f, 0.002992f, -0.002002f, 0.004300f, 0.005846f, 0.002486f, -0.002887f, -0.006667f, -0.000002f, 0.001707f, -0.005063f, 0.002334f, -0.006565f, -0.000634f, -0.004182f, -0.002010f, -0.005540f, -0.001014f, -0.003161f, -0.003986f, -0.003097f, 0.000662f, -0.001370f, 0.000765f, -0.001503f, 0.000604f, -0.002786f, 0.002057f, 0.001093f, -0.000714f, -0.000499f, 0.002663f, -0.000045f, -0.000878f, -0.002474f, -0.001218f, -0.001113f, -0.000125f, 0.000255f, 0.000127f, 0.027586f, 0.016947f, 0.016041f, 0.000295f, 0.001613f, 0.001291f, -0.006558f, -0.014595f, -0.005501f, 0.011035f, -0.008317f, 0.005001f, 0.014925f, 0.001211f, -0.004703f, -0.001857f, -0.002996f, -0.001573f, 0.006052f, 0.008577f, 0.000333f, 0.002532f, 0.003526f, 0.005592f, 0.000366f, -0.007842f, 0.002450f, -0.012640f, -0.003778f, -0.001597f, -0.003484f, -0.002298f, 0.001610f, -0.003027f, -0.006601f, -0.005175f, -0.002353f, 0.000542f, -0.002811f, -0.007674f, 0.009154f, -0.003430f, 0.000703f, -0.002381f, -0.005936f, 0.007470f, 0.020872f, 0.005000f, -0.007203f, 0.012293f, 0.002862f, -0.003827f, 0.003798f, -0.002168f, -0.007978f, -0.000004f, - -0.003318f, 0.003067f, -0.006905f, -0.012081f, 0.000520f, 0.001952f, -0.014551f, 0.004310f, 0.003065f, 0.008103f, 0.004678f, 0.010725f, -0.003607f, -0.007331f, -0.004228f, -0.002321f, 0.005294f, -0.001979f, -0.009341f, 0.006341f, -0.004534f, -0.008597f, 0.005871f, -0.008588f, -0.004627f, 0.002635f, -0.003044f, 0.002893f, -0.001994f, -0.003582f, 0.002869f, 0.007176f, -0.001635f, -0.003626f, -0.001258f, -0.000068f, 0.002574f, 0.005025f, 0.001499f, -0.001547f, -0.001862f, -0.001926f, -0.000586f, 0.001144f, -0.003650f, -0.001353f, -0.001054f, 0.005515f, 0.002866f, 0.003884f, -0.000635f, 0.000245f, 0.003082f, 0.001990f, 0.001502f, -0.000234f, 0.000541f, -0.014195f, -0.022437f, -0.006889f, -0.011226f, 0.016077f, -0.003669f, -0.001968f, 0.006021f, -0.014841f, -0.010456f, 0.008907f, -0.007190f, -0.006678f, -0.000369f, -0.000607f, 0.001583f, 0.005868f, -0.002467f, 0.002670f, -0.003868f, -0.002878f, -0.000274f, -0.002547f, -0.006502f, -0.000585f, -0.001396f, 0.006791f, 0.006878f, 0.006031f, -0.008054f, 0.003739f, 0.002730f, 0.011265f, -0.005676f, -0.000421f, -0.003860f, -0.008621f, 0.012279f, -0.011647f, - -0.005714f, -0.004536f, 0.002901f, 0.010186f, -0.009424f, 0.010537f, -0.001136f, 0.005680f, 0.008790f, 0.001425f, 0.006779f, -0.012546f, 0.002775f, -0.004732f, 0.000660f, -0.013288f, 0.000263f, -0.004580f, -0.011884f, -0.009141f, 0.000729f, 0.008780f, 0.000478f, -0.006398f, 0.010012f, -0.003433f, 0.005803f, -0.000786f, -0.012332f, 0.017287f, -0.010770f, -0.002137f, -0.006118f, 0.004323f, 0.007037f, 0.004651f, 0.006494f, 0.014000f, 0.010703f, -0.001780f, 0.002255f, 0.006615f, 0.004188f, -0.004975f, 0.007132f, 0.005546f, -0.001023f, 0.003157f, -0.006950f, -0.009609f, -0.001004f, -0.003090f, 0.005428f, -0.005628f, -0.001148f, -0.005409f, -0.001228f, -0.002478f, -0.000782f, 0.001637f, 0.002034f, 0.001120f, -0.000214f, -0.001349f, 0.003273f, 0.001665f, -0.003330f, 0.002442f, 0.000184f, -0.008313f, -0.000718f, -0.002980f, 0.004789f, -0.001255f, -0.000537f, 0.001756f, -0.000887f, 0.001676f, 0.003762f, -0.000230f, 0.002450f, 0.002607f, -0.000475f, 0.000987f, 0.005295f, 0.006048f, -0.015886f, -0.022655f, 0.002548f, 0.001907f, 0.001283f, 0.014612f, -0.004719f, -0.015892f, 0.001696f, 0.001862f, - -0.004182f, -0.000902f, -0.013968f, -0.002747f, 0.001761f, 0.002095f, 0.015670f, -0.002721f, 0.014046f, -0.003370f, -0.003596f, 0.001194f, -0.013893f, 0.005963f, -0.005220f, 0.008502f, -0.002319f, -0.003556f, -0.005143f, -0.002501f, 0.000526f, -0.010378f, 0.018026f, -0.012443f, -0.020204f, 0.006080f, 0.000962f, -0.014180f, -0.004167f, -0.027241f, 0.000505f, -0.009680f, -0.000097f, -0.010512f, -0.008519f, 0.001515f, 0.001005f, 0.004735f, -0.008588f, 0.006924f, -0.009695f, -0.018794f, 0.002284f, 0.005253f, -0.005667f, 0.006211f, -0.003188f, -0.010410f, -0.009163f, -0.012665f, -0.005989f, -0.001312f, 0.002126f, -0.003760f, 0.011836f, 0.000080f, -0.003637f, 0.001068f, 0.000758f, 0.002498f, 0.001881f, 0.001430f, -0.011267f, -0.010533f, 0.002290f, 0.007543f, 0.004476f, 0.001288f, -0.002449f, 0.009360f, 0.005169f, -0.004292f, -0.003156f, -0.010374f, -0.004259f, 0.004701f, 0.002238f, -0.005631f, 0.002335f, -0.001532f, -0.001639f, -0.002612f, -0.003251f, -0.001084f, -0.004303f, -0.003239f, 0.001828f, 0.000918f, 0.002637f, 0.004535f, 0.000388f, 0.003987f, 0.000228f, -0.002531f, 0.003752f, 0.002391f, - -0.000722f, 0.000607f, -0.002099f, -0.002064f, -0.000031f, 0.000257f, -0.002356f, 0.000176f, -0.000703f, -0.000042f, 0.000000f, -0.000448f, 0.002447f, -0.003823f, -0.000599f, -0.001088f, 0.000220f, 0.001423f, 0.002505f, -0.034983f, -0.008828f, 0.001423f, -0.008976f, -0.006499f, -0.011220f, 0.002915f, 0.003884f, 0.007996f, -0.006061f, -0.007442f, -0.008497f, 0.004248f, 0.009371f, -0.004666f, -0.004077f, -0.002374f, -0.001495f, 0.004491f, -0.019572f, -0.004799f, 0.010986f, 0.003619f, -0.005765f, 0.002111f, 0.009727f, -0.000939f, -0.002538f, 0.003440f, -0.000660f, 0.023988f, -0.010356f, 0.005884f, 0.001886f, -0.010073f, 0.003279f, 0.002275f, -0.011524f, 0.008128f, -0.016357f, -0.001566f, 0.014400f, 0.003194f, -0.000458f, -0.003020f, -0.011192f, -0.009613f, 0.002537f, 0.006228f, -0.004234f, 0.003043f, 0.011930f, 0.005949f, -0.005001f, 0.007394f, -0.010651f, -0.024961f, -0.003336f, -0.010953f, 0.006919f, -0.007010f, 0.017714f, 0.008902f, -0.000843f, -0.002894f, -0.023029f, 0.007274f, 0.008769f, -0.007038f, 0.014036f, -0.010904f, 0.004269f, -0.018286f, 0.008475f, 0.006441f, -0.020864f, -0.013246f, - -0.004292f, 0.005171f, 0.006910f, 0.015215f, -0.002121f, -0.000710f, 0.009851f, 0.002312f, 0.000042f, -0.004376f, 0.002251f, 0.002313f, 0.002957f, 0.003262f, 0.000803f, -0.000375f, -0.001899f, -0.002128f, -0.005624f, -0.004641f, 0.003744f, 0.002688f, 0.001929f, 0.004680f, -0.001881f, 0.002278f, 0.002370f, -0.001148f, 0.004004f, -0.000499f, -0.000032f, -0.000917f, -0.004519f, -0.000952f, 0.005216f, 0.001210f, 0.003877f, -0.001399f, 0.001432f, -0.002009f, 0.006204f, 0.000631f, 0.005207f, 0.002336f, -0.002533f, 0.001399f, 0.008793f, 0.014766f, 0.034164f, 0.036427f, 0.007319f, 0.010917f, 0.000119f, 0.005207f, 0.000343f, 0.003845f, -0.009731f, 0.004529f, -0.006046f, 0.008077f, 0.007655f, 0.018760f, 0.002905f, -0.003786f, 0.011768f, 0.008486f, 0.014151f, 0.000706f, 0.008808f, 0.005122f, -0.004351f, 0.004408f, 0.021056f, 0.003355f, -0.009078f, -0.004894f, 0.015584f, 0.009637f, 0.007501f, 0.014487f, -0.011132f, 0.004352f, 0.017268f, -0.017193f, -0.020547f, 0.006798f, 0.011026f, 0.017927f, -0.007762f, -0.013373f, 0.010854f, 0.003937f, -0.001621f, 0.006742f, -0.002714f, -0.001636f, - -0.000098f, 0.025512f, -0.009223f, 0.005173f, -0.006152f, -0.003953f, -0.003004f, 0.013302f, -0.001760f, 0.029690f, 0.014240f, -0.014257f, 0.016595f, 0.003617f, 0.007736f, 0.003566f, 0.003606f, 0.004045f, -0.005435f, 0.010015f, -0.023487f, -0.006209f, 0.010749f, -0.023926f, 0.008192f, -0.019335f, 0.004541f, 0.021332f, 0.005276f, -0.000149f, 0.005864f, 0.002026f, -0.005744f, 0.001433f, -0.006105f, 0.000695f, 0.004917f, -0.014386f, 0.008239f, -0.002625f, -0.003422f, 0.000957f, 0.004460f, -0.003784f, -0.005733f, 0.001920f, 0.005181f, -0.002755f, -0.004851f, -0.004790f, -0.002806f, 0.001977f, -0.003428f, -0.003088f, 0.003226f, 0.004490f, 0.002105f, -0.002408f, 0.002937f, -0.002152f, -0.007414f, -0.003377f, -0.000121f, -0.003797f, 0.002108f, 0.001506f, 0.003095f, 0.005016f, 0.007390f, -0.003534f, 0.010426f, -0.003690f, -0.006110f, -0.002115f, 0.003689f, 0.000760f, -0.006213f, -0.004066f, 0.056326f, 0.009822f, 0.008845f, -0.016481f, 0.024274f, -0.008051f, -0.001081f, -0.006369f, 0.001332f, -0.015775f, -0.001219f, 0.007491f, 0.001754f, -0.012846f, 0.016010f, -0.003834f, -0.008345f, 0.002351f, - 0.005001f, -0.016542f, -0.023322f, 0.009707f, -0.009648f, -0.013718f, 0.002679f, -0.000026f, -0.007099f, 0.012189f, -0.012259f, 0.004086f, 0.011784f, -0.002039f, 0.017183f, 0.005478f, -0.021839f, -0.022741f, -0.009778f, 0.001536f, 0.004121f, -0.017956f, 0.006485f, 0.006618f, 0.003399f, 0.005862f, 0.007925f, -0.018663f, -0.009373f, 0.005499f, -0.020911f, -0.007486f, -0.000527f, -0.021557f, -0.011614f, -0.007325f, 0.004354f, -0.011006f, -0.023536f, -0.011074f, -0.012589f, 0.027314f, 0.013132f, -0.002147f, 0.003703f, -0.007221f, 0.021633f, 0.026071f, 0.002897f, 0.017502f, 0.012681f, 0.005100f, 0.003110f, -0.009973f, -0.002206f, -0.008799f, 0.012602f, -0.016536f, 0.000542f, -0.003921f, -0.025519f, -0.007649f, -0.003694f, 0.013920f, -0.012637f, 0.007018f, 0.005942f, 0.002672f, 0.001317f, 0.006079f, -0.006110f, 0.004866f, -0.003689f, 0.005394f, -0.001361f, 0.007943f, 0.002292f, 0.000747f, -0.004139f, -0.001461f, -0.009972f, 0.005410f, -0.001391f, 0.008536f, -0.008138f, 0.000053f, -0.000848f, 0.005116f, -0.000894f, 0.004578f, 0.001910f, 0.002523f, 0.002400f, 0.001341f, -0.005453f, 0.006369f, - 0.008016f, -0.004012f, -0.005781f, -0.006704f, -0.002809f, -0.000376f, -0.002435f, 0.000755f, -0.038426f, 0.025943f, 0.041640f, -0.031234f, -0.018603f, 0.008580f, 0.007471f, -0.006336f, 0.013683f, 0.003722f, -0.011642f, -0.014225f, -0.000291f, -0.004569f, -0.010157f, 0.005203f, -0.004668f, 0.000670f, 0.011520f, -0.015488f, 0.003267f, 0.002085f, -0.009195f, 0.001328f, -0.014606f, 0.002864f, 0.021459f, 0.010954f, -0.002140f, -0.006880f, -0.001749f, -0.012231f, -0.013025f, 0.006430f, 0.010862f, -0.003405f, -0.005990f, -0.004254f, 0.006504f, 0.010832f, 0.005206f, 0.019830f, -0.010643f, 0.008177f, -0.005119f, 0.001979f, 0.012379f, -0.004415f, -0.003888f, -0.023543f, -0.003590f, -0.018221f, 0.009203f, 0.006302f, 0.023503f, -0.020086f, -0.007391f, -0.019439f, -0.032028f, -0.005347f, 0.013403f, -0.022101f, 0.004941f, -0.002412f, -0.016125f, -0.019006f, -0.023979f, 0.032281f, 0.001248f, 0.019191f, 0.014108f, 0.016311f, -0.007331f, -0.021399f, -0.016201f, -0.020022f, 0.007046f, 0.015779f, -0.014994f, 0.007145f, 0.016816f, -0.011306f, 0.001959f, 0.013659f, 0.015673f, 0.003813f, -0.005564f, 0.006760f, - -0.002765f, 0.003637f, -0.016630f, -0.001466f, 0.006436f, -0.005594f, 0.002175f, 0.001101f, 0.000754f, 0.003796f, 0.006321f, -0.006527f, -0.002318f, 0.003897f, 0.005636f, 0.001645f, 0.002758f, 0.005544f, -0.001141f, 0.005986f, -0.004941f, 0.004126f, 0.006016f, 0.006746f, 0.000776f, -0.002444f, 0.005243f, -0.004160f, 0.001326f, -0.000878f, -0.003577f, -0.001704f, -0.003528f, -0.000882f, 0.001707f, -0.004318f, -0.012144f, 0.004383f, 0.006683f, -0.030059f, 0.021713f, -0.002735f, -0.011273f, 0.018595f, 0.006567f, -0.018109f, -0.025932f, -0.010019f, 0.000067f, 0.000529f, 0.001241f, -0.009245f, 0.029461f, 0.012210f, 0.008892f, 0.006801f, 0.009254f, -0.008971f, 0.002216f, 0.005854f, 0.004292f, 0.026472f, 0.002741f, -0.039455f, 0.004839f, 0.016416f, -0.014738f, -0.022184f, -0.004719f, -0.012047f, -0.007140f, 0.001845f, 0.027872f, 0.016706f, -0.002853f, -0.000642f, -0.008438f, -0.024432f, -0.008290f, -0.020181f, 0.014379f, 0.019709f, 0.000224f, -0.010948f, -0.004018f, -0.004526f, 0.009008f, 0.012550f, 0.013285f, -0.030775f, 0.005908f, 0.001067f, 0.002690f, 0.021406f, -0.012516f, 0.008770f, - -0.011424f, -0.008205f, 0.002231f, 0.014013f, 0.025179f, -0.003989f, -0.016329f, 0.005290f, -0.029373f, 0.023454f, 0.012629f, -0.002890f, -0.012148f, 0.006351f, -0.006803f, -0.014473f, -0.012072f, -0.013118f, -0.006290f, -0.002739f, 0.000872f, 0.012436f, -0.009502f, 0.034170f, 0.001420f, -0.005163f, 0.001957f, 0.010216f, 0.000459f, -0.000359f, 0.011074f, 0.007655f, 0.005713f, 0.000459f, -0.005371f, -0.004120f, -0.001277f, -0.000717f, -0.004954f, -0.013813f, 0.007339f, 0.007019f, -0.005232f, 0.001983f, -0.007685f, -0.005683f, -0.002651f, -0.001430f, -0.000192f, 0.012298f, -0.002506f, -0.003745f, -0.001971f, -0.000621f, 0.007519f, 0.013700f, -0.004427f, 0.007729f, -0.002044f, -0.008398f, 0.009856f, -0.009100f, -0.007426f, -0.004801f, -0.007494f, 0.001726f, 0.005819f, 0.003085f, 0.005967f, 0.000222f, -0.002197f, -0.000414f, -0.006056f, 0.003794f, -0.003456f, -0.013018f, -0.003185f, 0.014419f, -0.025835f, -0.007331f, 0.016726f, -0.021002f, -0.002155f, -0.002085f, -0.002797f, -0.024461f, 0.024320f, 0.010546f, -0.016926f, -0.002909f, -0.007254f, -0.006199f, -0.037172f, -0.005211f, -0.016979f, -0.041958f, - 0.008976f, 0.006500f, -0.019079f, -0.015778f, -0.022485f, -0.025601f, 0.021838f, 0.012326f, 0.022990f, 0.000824f, 0.048232f, 0.002278f, 0.025199f, 0.034672f, -0.004005f, 0.010608f, 0.035721f, -0.024044f, 0.011026f, -0.014484f, 0.024578f, -0.007705f, 0.047854f, 0.021750f, -0.014881f, -0.022483f, 0.003748f, 0.011103f, 0.019968f, 0.005376f, -0.017292f, -0.003979f, 0.015853f, 0.035563f, -0.014837f, 0.023854f, -0.008674f, 0.014562f, -0.027824f, 0.010999f, -0.015122f, 0.011018f, 0.001831f, 0.003676f, -0.005039f, 0.021984f, 0.030694f, -0.055740f, 0.016932f, 0.011621f, 0.008300f, -0.010163f, 0.007355f, -0.039989f, 0.003429f, 0.000718f, -0.006217f, -0.015274f, -0.013261f, -0.013211f, -0.003831f, 0.028538f, -0.016416f, -0.009645f, -0.023101f, 0.000850f, 0.020523f, -0.010265f, -0.011452f, 0.015890f, -0.000565f, 0.011542f, 0.002573f, -0.002814f, 0.000292f, 0.005098f, -0.011031f, 0.005603f, 0.002238f, -0.009487f, -0.007942f, -0.004635f, 0.002792f, 0.006441f, 0.006629f, 0.019345f, -0.002040f, 0.014655f, 0.007209f, 0.004782f, -0.009653f, -0.002997f, -0.014582f, -0.006579f, -0.002422f, -0.004880f, - -0.006918f, 0.008118f, 0.004711f, 0.009697f, 0.012426f, 0.002340f, -0.002795f, -0.001567f, -0.007931f, 0.004837f, 0.027791f, 0.029536f, -0.006442f, 0.030710f, -0.001576f, -0.006405f, 0.002427f, 0.017268f, -0.006465f, -0.007821f, -0.003586f, -0.021828f, 0.003585f, -0.006255f, 0.034388f, 0.022636f, -0.016389f, -0.017365f, -0.032645f, -0.011952f, 0.023710f, 0.042711f, -0.019436f, 0.013194f, 0.002863f, 0.005621f, 0.023270f, 0.016653f, -0.033444f, 0.006644f, -0.011938f, -0.006797f, -0.013795f, -0.007541f, -0.014559f, -0.032238f, 0.005653f, 0.021558f, 0.008270f, 0.050494f, -0.012269f, -0.006965f, 0.035088f, -0.012792f, -0.001950f, -0.007831f, 0.009301f, -0.038532f, -0.024722f, 0.013386f, 0.028830f, 0.042000f, 0.050142f, -0.036847f, -0.019107f, -0.001938f, 0.016780f, -0.001658f, 0.056894f, 0.015827f, 0.008513f, -0.044141f, 0.003074f, 0.000318f, 0.021354f, 0.027847f, -0.020744f, -0.006886f, 0.008717f, -0.009053f, 0.000011f, 0.031640f, 0.011429f, -0.031288f, 0.008177f, 0.016499f, -0.015009f, 0.049208f, -0.017005f, -0.026317f, -0.036926f, 0.027304f, -0.005897f, -0.031007f, -0.024562f, -0.005631f, - -0.001129f, -0.012339f, 0.000753f, -0.013433f, 0.002634f, -0.018702f, 0.001330f, 0.009136f, -0.006427f, 0.007195f, 0.001455f, -0.011311f, 0.001292f, -0.000179f, -0.002142f, 0.001206f, -0.007650f, 0.009290f, 0.000128f, -0.004743f, 0.010661f, 0.010787f, 0.000526f, -0.002977f, 0.004792f, -0.010167f, -0.004182f, -0.008169f, -0.001491f, 0.008391f, -0.006558f, 0.003672f, 0.008327f, -0.015292f, -0.005412f, -0.003153f, 0.002581f, -0.002891f, 0.006654f, 0.014807f, -0.004117f, -0.008852f, -0.004246f, 0.009562f, 0.002788f, 0.000900f, 0.007742f, -0.004445f, -0.003101f, -0.002791f, 0.006841f, 0.058331f, 0.027670f, -0.015324f, -0.004913f, -0.053820f, 0.004212f, 0.014248f, 0.003778f, 0.080286f, -0.010124f, -0.006074f, -0.035236f, -0.030467f, 0.012540f, -0.024911f, -0.015185f, -0.016705f, -0.011205f, 0.019950f, -0.012988f, -0.022902f, -0.019718f, 0.001794f, 0.020171f, -0.025900f, 0.005883f, 0.011719f, 0.002649f, 0.028972f, -0.003309f, 0.002280f, -0.029386f, -0.041433f, -0.017008f, 0.018996f, -0.022803f, 0.005554f, -0.019135f, -0.072339f, -0.038892f, 0.021695f, 0.001614f, -0.041448f, 0.006457f, 0.057757f, - -0.002601f, -0.001490f, -0.022481f, 0.012645f, -0.024814f, -0.044591f, 0.001194f, 0.006789f, -0.017236f, 0.008575f, 0.016860f, -0.004121f, -0.014511f, 0.012048f, 0.015688f, 0.028991f, -0.016595f, 0.021793f, 0.027988f, 0.011780f, 0.048620f, 0.005471f, -0.030100f, 0.035422f, 0.002223f, 0.005954f, -0.006364f, -0.007095f, 0.021964f, -0.021611f, -0.003011f, 0.053893f, 0.042342f, -0.026103f, 0.027143f, -0.007765f, 0.050091f, 0.021104f, -0.017216f, -0.039869f, -0.001618f, -0.014546f, -0.017205f, 0.011314f, -0.015486f, -0.000414f, -0.003863f, -0.013891f, -0.023236f, -0.004512f, 0.019930f, -0.021222f, 0.000266f, -0.013152f, 0.002185f, 0.008410f, -0.008453f, -0.024833f, -0.004224f, -0.011713f, 0.015343f, 0.009267f, -0.005892f, -0.016400f, -0.006662f, -0.017648f, 0.010868f, -0.008621f, 0.005996f, 0.007063f, 0.010377f, 0.008223f, -0.013582f, -0.009670f, -0.015279f, 0.004689f, 0.010164f, 0.001411f, 0.020021f, 0.021114f, 0.011634f, 0.008653f, -0.041907f, -0.044476f, -0.053132f, 0.073243f, -0.040553f, 0.009623f, -0.002246f, -0.023304f, 0.037196f, -0.043754f, 0.018923f, 0.077884f, 0.047947f, 0.011100f, - -0.063157f, -0.003576f, -0.041671f, -0.021169f, -0.038053f, -0.003646f, 0.010816f, -0.006883f, 0.029924f, -0.014417f, 0.004977f, 0.014760f, 0.041820f, 0.005784f, 0.005774f, 0.050583f, -0.033322f, -0.004759f, 0.022324f, -0.009802f, -0.025844f, -0.017213f, 0.025504f, -0.022274f, 0.010696f, 0.043288f, -0.012060f, -0.078161f, -0.004775f, 0.019509f, -0.095956f, 0.057854f, 0.044648f, -0.036451f, 0.059507f, 0.040282f, 0.026554f, 0.061677f, 0.001327f, 0.031660f, 0.003656f, 0.003677f, 0.022237f, -0.039309f, 0.039151f, 0.053114f, 0.040928f, -0.042318f, -0.008268f, 0.058378f, -0.028379f, 0.046269f, 0.042496f, 0.099260f, 0.059930f, 0.003321f, 0.006872f, -0.012946f, 0.012462f, 0.017202f, -0.057593f, -0.082520f, -0.028707f, 0.007054f, 0.003074f, -0.011964f, 0.064489f, 0.030280f, 0.012149f, -0.028486f, 0.025572f, -0.020228f, -0.025476f, -0.013150f, 0.029195f, 0.033873f, 0.006560f, -0.006268f, -0.006552f, 0.000869f, -0.039956f, -0.009616f, -0.010320f, 0.012766f, 0.007424f, -0.020897f, -0.015797f, -0.001139f, 0.031497f, -0.008954f, -0.012141f, 0.000655f, -0.012574f, -0.032104f, 0.015974f, -0.007075f, - -0.012489f, -0.018915f, 0.000110f, 0.010397f, 0.002085f, -0.056956f, -0.003218f, 0.027745f, -0.004248f, 0.000897f, 0.004669f, 0.007878f, 0.023799f, 0.018701f, 0.000831f, -0.000505f, -0.009141f, -0.003196f, 0.044722f, 0.055321f, -0.108540f, -0.099392f, 0.043350f, -0.028564f, -0.031302f, -0.013030f, -0.037828f, 0.013441f, -0.061279f, 0.077374f, 0.029089f, -0.032237f, -0.000693f, -0.031534f, -0.023718f, -0.025417f, -0.029101f, -0.018857f, -0.073918f, -0.066413f, -0.012390f, -0.015079f, 0.004225f, 0.006315f, 0.012851f, -0.004659f, 0.009428f, 0.012386f, 0.032888f, 0.036433f, -0.013742f, -0.018395f, -0.021573f, -0.018285f, -0.041833f, 0.062264f, -0.021990f, 0.015197f, 0.046221f, 0.043710f, -0.016591f, -0.018707f, -0.034834f, -0.022856f, -0.028605f, 0.047858f, 0.005088f, 0.005916f, -0.059220f, -0.020990f, 0.085568f, -0.008291f, 0.079662f, -0.016088f, -0.029868f, -0.018822f, -0.033763f, -0.034555f, -0.006359f, 0.000386f, -0.047541f, 0.003996f, 0.022694f, -0.001922f, 0.017832f, -0.109686f, -0.044350f, -0.030708f, 0.058226f, -0.013919f, 0.009565f, 0.019899f, 0.091420f, 0.025943f, -0.008452f, -0.009316f, - 0.078718f, 0.047561f, 0.011591f, 0.015362f, -0.004055f, 0.062519f, -0.026086f, -0.035655f, 0.019250f, 0.029384f, 0.052160f, 0.048549f, -0.028479f, 0.032947f, 0.024620f, 0.026550f, 0.007874f, -0.018987f, -0.037521f, -0.031840f, 0.019805f, 0.027477f, 0.014653f, 0.009876f, 0.032424f, -0.003206f, -0.009009f, -0.001865f, -0.002737f, 0.016893f, 0.010118f, 0.022047f, 0.038524f, 0.027209f, 0.044072f, 0.011897f, -0.039701f, 0.012578f, 0.010559f, 0.034461f, -0.000689f, 0.027001f, 0.011487f, 0.025965f, 0.000561f, -0.049892f, -0.006487f, -0.010977f, -0.003391f, -0.057345f, 0.119110f, -0.038461f, -0.023909f, 0.070588f, -0.044746f, -0.067564f, 0.062671f, -0.090950f, -0.026301f, 0.021442f, 0.015621f, -0.063441f, -0.024880f, 0.054459f, 0.000355f, -0.010731f, -0.035415f, 0.042745f, -0.042398f, 0.002812f, 0.033654f, -0.011227f, 0.030901f, 0.000222f, -0.015255f, 0.010352f, 0.007345f, -0.018421f, 0.029383f, -0.016163f, -0.006547f, 0.008777f, -0.000575f, 0.001830f, -0.005514f, 0.008726f, 0.018649f, 0.030145f, 0.043392f, 0.021286f, -0.017917f, -0.004996f, -0.027518f, 0.025443f, -0.009150f, -0.039760f, - 0.009342f, 0.000171f, -0.022651f, -0.054353f, 0.038279f, 0.002906f, -0.025153f, 0.061451f, 0.003538f, -0.019009f, -0.011082f, 0.091015f, -0.085129f, -0.091634f, 0.055886f, 0.087241f, -0.160943f, 0.000798f, -0.059574f, -0.054076f, -0.023941f, 0.058579f, -0.045237f, 0.077520f, -0.010970f, -0.001899f, 0.104158f, -0.029396f, -0.080635f, 0.100138f, 0.117926f, -0.114513f, 0.128024f, -0.043124f, 0.003155f, 0.105853f, -0.035422f, -0.040486f, 0.029022f, 0.028465f, -0.013612f, -0.005329f, 0.019642f, 0.003933f, 0.002506f, -0.025169f, 0.034808f, 0.000227f, -0.002278f, 0.000693f, 0.004671f, 0.015755f, 0.009512f, -0.012668f, -0.013885f, 0.014675f, 0.034707f, -0.030017f, -0.027863f, -0.007447f, 0.036342f, -0.001229f, 0.019411f, -0.005219f, 0.008089f, 0.000203f, 0.008278f, -0.004084f, -0.006392f, -0.042880f, -0.018045f, 0.010835f, -0.015526f, -0.004249f, -0.015277f, -0.023120f, 0.036277f, 0.022777f, -0.063183f, 0.025313f, 0.032736f, -0.006317f, -0.000277f, -0.022137f, 0.032400f, 0.070874f, -0.033128f, -0.044900f, -0.012343f, 0.011250f, 0.072036f, 0.053810f, -0.018808f, -0.005732f, 0.022495f, 0.058620f, - -0.019526f, -0.003284f, 0.035953f, -0.046075f, -0.039618f, 0.031587f, -0.021036f, -0.015695f, -0.019373f, -0.001743f, -0.031918f, 0.002561f, 0.021880f, -0.013409f, 0.016896f, -0.015010f, -0.009442f, -0.009453f, -0.044148f, 0.006608f, -0.017886f, 0.027100f, 0.057784f, 0.003231f, 0.028791f, 0.023935f, 0.002192f, 0.010970f, 0.018072f, 0.061371f, -0.043402f, 0.029684f, 0.026044f, -0.031354f, 0.020997f, 0.020516f, 0.006509f, -0.027821f, -0.055755f, -0.056316f, 0.018571f, 0.020263f, -0.021304f, -0.094149f, 0.076584f, -0.025750f, -0.041287f, -0.023795f, 0.077038f, -0.036205f, 0.084247f, 0.000045f, 0.028288f, -0.079278f, 0.074953f, -0.034310f, 0.033198f, -0.010114f, -0.108541f, -0.034170f, 0.021361f, -0.067008f, 0.068917f, 0.007432f, -0.099514f, -0.111855f, -0.057583f, 0.077796f, 0.019197f, -0.069428f, 0.084657f, -0.091041f, -0.004494f, 0.164447f, 0.024597f, 0.009366f, 0.016342f, 0.012483f, -0.043167f, 0.044961f, 0.003327f, 0.022983f, -0.028975f, 0.043218f, -0.023875f, -0.022738f, -0.019072f, -0.002409f, -0.001195f, 0.013100f, -0.004344f, -0.006340f, 0.008475f, -0.015045f, -0.031151f, 0.028344f, - -0.010467f, -0.004861f, -0.036965f, 0.016898f, 0.008202f, 0.016038f, 0.004385f, 0.018504f, -0.013724f, 0.004369f, 0.051122f, -0.005946f, 0.000532f, 0.027106f, -0.029065f, -0.006119f, 0.001494f, -0.002908f, 0.019881f, -0.020566f, 0.022321f, -0.007808f, -0.057816f, 0.003736f, -0.015120f, 0.016997f, -0.019244f, 0.022361f, -0.035900f, -0.068619f, 0.000289f, -0.072891f, 0.020012f, -0.006514f, -0.013036f, 0.024346f, 0.040265f, -0.025843f, 0.005785f, 0.044223f, -0.034668f, 0.059989f, -0.007999f, -0.066041f, 0.056646f, -0.027267f, -0.012108f, 0.050415f, -0.064608f, 0.017017f, 0.001107f, 0.023431f, -0.010140f, -0.023737f, -0.098607f, 0.022604f, -0.040691f, -0.099078f, 0.119763f, -0.080633f, -0.033569f, -0.016021f, -0.027247f, -0.060864f, 0.034163f, 0.082631f, -0.051133f, 0.023183f, -0.074179f, -0.041985f, -0.042257f, 0.037337f, 0.006745f, 0.108433f, -0.018637f, -0.009060f, -0.032333f, -0.093558f, 0.000128f, 0.045469f, -0.034554f, 0.038166f, 0.045936f, -0.038757f, 0.003893f, -0.033052f, -0.138167f, -0.072503f, -0.042506f, -0.145214f, 0.092842f, 0.122263f, 0.057538f, -0.123129f, -0.098939f, -0.220876f, - 0.031964f, 0.262570f, 0.121486f, 0.046387f, -0.069000f, -0.242265f, -0.055000f, 0.056084f, 0.165619f, 0.166051f, -0.112818f, -0.095462f, -0.044304f, 0.021670f, 0.011466f, 0.180391f, 0.003058f, -0.021986f, 0.014710f, -0.017883f, -0.044021f, 0.063461f, 0.011418f, -0.013608f, 0.035143f, -0.028772f, -0.049102f, 0.034832f, 0.030166f, -0.083659f, 0.056372f, -0.012516f, -0.018409f, -0.044573f, 0.047348f, -0.045037f, 0.054189f, -0.026652f, 0.055464f, -0.065379f, 0.026175f, -0.018273f, 0.000880f, 0.047268f, 0.077321f, 0.021907f, -0.028723f, -0.020426f, -0.004808f, 0.042733f, -0.006824f, 0.061447f, -0.048050f, -0.037822f, 0.017686f, 0.060915f, 0.007165f, 0.037139f, -0.103956f, 0.075413f, -0.014800f, -0.016509f, 0.001872f, 0.033964f, 0.000644f, -0.006508f, 0.025132f, 0.008641f, 0.008371f, 0.040066f, -0.025391f, -0.000283f, 0.020806f, -0.007255f, -0.003782f, 0.025262f, -0.023457f, -0.005694f, 0.007105f, 0.039710f, -0.026255f, -0.018639f, 0.022230f, -0.001056f, 0.012478f, -0.039348f, 0.051600f, -0.012309f, 0.017411f, -0.011288f, 0.006645f, 0.028109f, 0.012372f, -0.006621f, 0.024189f, -0.009234f, - 0.024448f, -0.019294f, -0.001447f, 0.025210f, -0.005821f, -0.010530f, -0.050951f, 0.005127f, 0.039371f, 0.004078f, 0.018449f, -0.025839f, -0.008192f, -0.015497f, -0.016209f, -0.006705f, 0.028479f, -0.010464f, 0.017352f, -0.022515f, -0.026829f, -0.011582f, 0.006369f, 0.052016f, -0.019991f, 0.023611f, 0.001556f, 0.005102f, -0.025474f, 0.013832f, 0.027032f, 0.001370f, -0.024628f, 0.018938f, -0.016414f, 0.012664f, -0.010018f, -0.007339f, -0.009585f, 0.003435f, 0.018959f, -0.009652f, -0.004875f, 0.008673f, -0.001143f, -0.014510f, -0.003093f, 0.014050f, 0.012002f, -0.012598f, 0.002113f, 0.012829f, 0.000525f, -0.007970f, 0.002076f, -0.012680f, 0.009408f, -0.000885f, 0.004804f, -0.005815f, 0.002444f, 0.008132f, -0.004124f, 0.009546f, 0.001833f, 0.008698f, 0.006701f, -0.014314f, -0.014445f, -0.004984f, 0.025218f, -0.016158f, 0.017515f, 0.013938f, -0.010265f, -0.026144f, 0.019732f, -0.016817f, 0.022296f, -0.002171f, -0.003724f, -0.009266f, 0.003697f, 0.003631f, -0.001380f, -0.003060f, 0.001869f, 0.098955f, 0.019685f, -0.053078f, -0.037654f, -0.058621f, -0.018549f, 0.011244f, 0.031150f, -0.009754f, - -0.012544f, -0.010869f, -0.010406f, -0.009908f, 0.014258f, -0.007258f, -0.001952f, -0.003173f, -0.010272f, -0.002502f, 0.015672f, 0.002198f, -0.004481f, -0.015666f, 0.017982f, -0.023309f, 0.013722f, -0.008353f, -0.022790f, 0.000052f, 0.010458f, 0.011663f, 0.009213f, -0.013539f, 0.003059f, -0.004375f, -0.007334f, 0.027452f, -0.024434f, -0.004521f, -0.000938f, -0.001745f, 0.002639f, -0.004151f, -0.014323f, 0.012055f, -0.022734f, 0.021688f, -0.003118f, -0.015328f, 0.005345f, -0.007935f, 0.019416f, -0.011370f, -0.006765f, 0.020828f, -0.018639f, 0.006455f, -0.008879f, -0.002115f, 0.016101f, -0.011496f, -0.004462f, 0.014303f, -0.009767f, 0.003723f, 0.001569f, -0.011714f, 0.028452f, -0.024823f, -0.002019f, 0.010864f, -0.006204f, 0.018071f, -0.008122f, -0.004049f, 0.004841f, 0.005934f, -0.001854f, 0.003971f, -0.001503f, -0.008076f, 0.007305f, -0.000049f, 0.000807f, 0.003909f, -0.000412f, 0.005618f, -0.005604f, 0.001623f, 0.001242f, 0.001236f, -0.000598f, -0.003564f, 0.004733f, -0.000700f, -0.001115f, -0.003381f, 0.004197f, 0.006634f, -0.002155f, -0.003445f, 0.002185f, 0.003866f, -0.004806f, 0.004036f, - -0.003600f, -0.003223f, 0.010778f, -0.001661f, 0.004044f, 0.005599f, -0.007280f, 0.018131f, -0.005859f, -0.000975f, -0.000813f, -0.010500f, 0.010945f, -0.006792f, -0.010758f, -0.046850f, -0.070402f, 0.092275f, 0.287858f, 0.024648f, 0.025062f, -0.196236f, -0.248225f, -0.051718f, -0.052574f, 0.146219f, 0.248871f, 0.127710f, 0.024587f, -0.090046f, -0.175216f, -0.123678f, -0.088425f, -0.004587f, 0.121251f, 0.177180f, 0.095755f, 0.021943f, -0.062117f, -0.110414f, -0.061825f, -0.059484f, -0.055709f, 0.035214f, 0.072193f, 0.071154f, 0.071684f, 0.017237f, -0.031071f, -0.012749f, -0.047225f, -0.073929f, -0.008188f, -0.022043f, -0.014917f, 0.066759f, 0.038575f, 0.055773f, 0.033829f, -0.025281f, -0.060833f, -0.014648f, -0.039538f, -0.006104f, 0.027659f, 0.008480f, 0.014946f, 0.030173f, -0.015290f, -0.021399f, -0.004924f, -0.012571f, 0.012179f, 0.019484f, 0.001060f, 0.024052f, 0.014272f, -0.025239f, -0.024281f, -0.038691f, -0.033089f, 0.001476f, 0.039927f, 0.060522f, 0.029154f, 0.007661f, -0.014064f, -0.040502f, -0.006948f, -0.045669f, -0.028021f, 0.021514f, 0.016876f, 0.051167f, 0.017238f, -0.013013f, - 0.015077f, -0.026516f, -0.046022f, 0.008109f, 0.011674f, 0.015439f, 0.014265f, -0.002873f, -0.005751f, -0.004396f, -0.019136f, -0.014660f, 0.010037f, 0.015621f, 0.015705f, 0.015940f, -0.004416f, -0.015398f, -0.010210f, -0.005910f, 0.000407f, -0.000317f, -0.017424f, 0.004465f, 0.021938f, 0.011842f, 0.013651f, -0.004064f, -0.022082f, -0.012826f, -0.013039f, 0.005099f, 0.015479f, 0.010215f, 0.009560f, 0.004140f, -0.003168f, -0.016748f, -0.022071f, -0.010101f, 0.001340f, 0.013636f, 0.021746f, 0.013319f, 0.013396f, 0.008458f, -0.013860f, -0.025697f, -0.032994f, -0.021388f, 0.009194f, 0.018457f, 0.023937f, 0.033222f, 0.010066f, -0.010005f, -0.016845f, -0.013658f, -0.010169f, -0.009592f, -0.009776f, -0.002875f, 0.007341f, 0.014590f, 0.012818f, 0.010056f, 0.006927f, 0.001490f, -0.009461f, -0.016307f, -0.015792f, -0.008083f, -0.000509f, 0.005885f, 0.005922f, 0.003451f, 0.000632f, 0.000498f, -0.000173f}, - {0.002348f, 0.006368f, 0.005018f, -0.001687f, 0.003852f, 0.001794f, 0.011038f, -0.001952f, -0.000264f, 0.001356f, 0.008087f, -0.001625f, -0.008375f, -0.003941f, -0.008038f, 0.001932f, -0.002842f, -0.000709f, -0.000989f, 0.001913f, 0.000809f, 0.001602f, 0.004705f, 0.008555f, -0.003788f, -0.002150f, 0.001746f, -0.004093f, -0.000529f, 0.006665f, -0.003610f, 0.008247f, 0.000885f, -0.003013f, 0.005534f, -0.007552f, -0.001893f, -0.005274f, 0.007377f, -0.000260f, -0.002680f, -0.002039f, 0.000121f, 0.006785f, 0.000309f, 0.008175f, 0.003190f, -0.006796f, 0.005504f, -0.002995f, -0.005011f, -0.004164f, 0.005656f, -0.001214f, 0.017952f, 0.001860f, 0.004539f, 0.003219f, -0.008317f, 0.000083f, -0.001198f, 0.002145f, -0.004708f, -0.003246f, 0.009371f, 0.007610f, 0.000726f, 0.003140f, -0.000822f, 0.004722f, -0.007671f, 0.000748f, 0.005818f, 0.003609f, 0.000621f, -0.000631f, 0.004155f, -0.006571f, -0.002981f, 0.006924f, -0.004544f, 0.001447f, 0.003418f, 0.004082f, 0.001294f, -0.005258f, -0.003455f, 0.002723f, 0.000636f, 0.002700f, -0.000802f, 0.000756f, -0.002583f, -0.000177f, -0.001274f, -0.000797f, - 0.001513f, 0.002836f, 0.001230f, -0.001692f, -0.000623f, -0.001153f, 0.000698f, 0.001726f, -0.001015f, 0.001268f, 0.000970f, 0.001798f, -0.000239f, 0.002163f, -0.000868f, 0.000525f, 0.001360f, 0.001691f, -0.013665f, -0.012346f, -0.007671f, -0.006998f, -0.006051f, 0.002319f, 0.008636f, 0.017581f, 0.003383f, 0.004532f, -0.000025f, -0.012555f, -0.005242f, -0.004664f, -0.011264f, 0.017547f, 0.004678f, 0.006970f, 0.004833f, -0.003880f, 0.001803f, 0.016802f, 0.006723f, -0.003951f, -0.000306f, -0.004073f, 0.000372f, -0.007773f, 0.004698f, -0.002448f, -0.003463f, 0.000671f, 0.008951f, 0.000951f, 0.003139f, 0.005603f, 0.007766f, -0.013860f, 0.000207f, 0.003534f, 0.008100f, 0.012416f, -0.006871f, -0.001386f, -0.003311f, 0.010361f, 0.005637f, 0.006688f, -0.001069f, 0.003112f, 0.020727f, -0.013050f, 0.002660f, 0.001240f, -0.008697f, 0.003745f, -0.012165f, -0.001618f, 0.003177f, -0.002616f, -0.018360f, 0.005189f, 0.001321f, -0.004948f, -0.005051f, -0.000822f, -0.002716f, 0.006247f, -0.005784f, -0.002554f, 0.001869f, -0.000162f, -0.005623f, -0.000241f, 0.004715f, -0.007673f, 0.000746f, -0.002068f, - -0.001784f, -0.002364f, -0.001292f, 0.001212f, -0.004426f, -0.003349f, 0.000737f, -0.002653f, -0.003483f, -0.003620f, -0.001179f, -0.002391f, 0.004547f, -0.003902f, -0.001035f, 0.000672f, 0.002328f, -0.000220f, 0.000236f, -0.001333f, 0.000357f, -0.002321f, 0.001864f, -0.003330f, 0.018464f, 0.001703f, 0.006573f, -0.000700f, -0.005058f, 0.000469f, 0.012947f, 0.006737f, 0.008324f, 0.013536f, -0.006034f, 0.000204f, 0.012990f, 0.004248f, 0.005657f, 0.000811f, 0.001520f, 0.007729f, -0.007026f, -0.001978f, 0.009633f, -0.006554f, 0.003708f, 0.005600f, -0.004239f, 0.004133f, 0.012944f, -0.006116f, 0.004719f, 0.001100f, 0.000409f, 0.000232f, -0.002815f, -0.008833f, -0.002858f, -0.007391f, -0.000889f, 0.003184f, 0.006139f, 0.006667f, -0.001296f, -0.011098f, -0.001133f, 0.016364f, -0.006157f, 0.003357f, -0.003043f, -0.017081f, 0.009896f, 0.002585f, 0.007314f, -0.001177f, 0.008344f, 0.008323f, -0.014720f, 0.005897f, 0.000308f, 0.005540f, -0.001221f, -0.010159f, -0.000632f, -0.001369f, -0.002027f, -0.001854f, 0.006380f, 0.000046f, 0.001123f, 0.013325f, 0.002412f, 0.010611f, 0.000183f, 0.001105f, - 0.001859f, -0.005694f, -0.009258f, 0.006314f, -0.007047f, 0.004181f, 0.002392f, -0.000270f, 0.004174f, -0.004508f, -0.002782f, 0.003003f, -0.000017f, -0.008697f, 0.002663f, 0.001129f, 0.000968f, -0.001687f, 0.003640f, 0.000455f, -0.001695f, 0.004337f, -0.001144f, -0.000275f, -0.003711f, 0.001356f, -0.001942f, 0.000703f, -0.000153f, -0.000430f, 0.000666f, -0.001251f, 0.002110f, 0.000622f, -0.001087f, 0.000756f, -0.000727f, 0.000343f, -0.000293f, -0.001317f, 0.030346f, 0.017074f, 0.025962f, 0.008446f, -0.010795f, 0.005534f, -0.004849f, 0.000748f, 0.002496f, -0.022134f, -0.005934f, -0.006084f, 0.005689f, 0.008719f, -0.003620f, -0.000496f, 0.002892f, 0.000715f, 0.015818f, -0.001736f, -0.016660f, 0.005426f, -0.009649f, 0.007397f, 0.008388f, 0.006733f, 0.009777f, -0.002353f, -0.003435f, 0.003990f, -0.002983f, -0.003860f, 0.002786f, -0.002577f, 0.005850f, 0.008442f, -0.003687f, -0.012798f, 0.004083f, -0.012449f, -0.008062f, -0.001568f, -0.025942f, 0.000252f, -0.004416f, 0.010153f, 0.009645f, 0.004678f, 0.015822f, 0.015960f, 0.007029f, 0.003549f, -0.001201f, 0.000769f, 0.000855f, -0.007250f, - 0.014773f, -0.001988f, 0.005107f, -0.004712f, -0.005696f, -0.002052f, -0.008514f, 0.007455f, -0.003963f, -0.003150f, 0.014486f, -0.012123f, -0.003761f, 0.003060f, -0.005598f, -0.001701f, -0.000493f, 0.005073f, 0.005966f, 0.004016f, 0.010303f, -0.003411f, -0.002861f, -0.001526f, -0.006557f, 0.003418f, 0.006603f, 0.009101f, -0.000208f, -0.001405f, -0.001976f, 0.000087f, 0.001933f, 0.001899f, -0.002774f, 0.003009f, -0.000071f, 0.002162f, 0.001828f, -0.000397f, -0.000750f, 0.003893f, -0.001160f, 0.001953f, 0.001584f, 0.001794f, 0.001594f, -0.001150f, 0.001443f, 0.006593f, -0.000517f, 0.000301f, 0.000754f, 0.004859f, 0.000853f, -0.001124f, -0.003501f, -0.011560f, -0.026610f, -0.009519f, -0.002764f, 0.003766f, -0.003286f, 0.008038f, -0.001750f, 0.012989f, -0.011699f, 0.006855f, -0.002871f, 0.023910f, 0.010075f, -0.005299f, -0.010225f, 0.005474f, -0.014562f, -0.007888f, 0.005674f, -0.005230f, -0.008666f, 0.016501f, 0.006964f, -0.001051f, -0.007606f, -0.010464f, 0.007087f, 0.005304f, 0.005308f, -0.000564f, -0.002516f, -0.006514f, 0.009828f, -0.012858f, -0.005395f, -0.000714f, 0.009131f, 0.006807f, - -0.000575f, 0.009860f, 0.001339f, -0.004803f, 0.002114f, -0.004785f, -0.004763f, -0.005757f, 0.007121f, -0.005296f, -0.000077f, 0.009162f, 0.013980f, 0.014076f, 0.005921f, 0.004896f, -0.000822f, 0.007909f, -0.003128f, 0.011436f, -0.001900f, 0.007239f, 0.005808f, -0.004915f, 0.000714f, -0.005371f, 0.005755f, 0.004768f, 0.002096f, -0.001938f, -0.009609f, 0.006729f, -0.010467f, -0.001418f, -0.011335f, 0.004076f, -0.000711f, -0.001235f, 0.002323f, -0.009872f, 0.000595f, 0.002406f, 0.015965f, 0.005006f, 0.002816f, 0.003626f, 0.006327f, 0.002597f, 0.003364f, -0.004836f, 0.003714f, 0.002569f, -0.006313f, -0.000670f, 0.000523f, 0.001259f, 0.002949f, -0.003322f, 0.002236f, -0.002195f, 0.000629f, -0.000517f, 0.004183f, 0.000296f, 0.000693f, 0.000357f, 0.001538f, -0.000956f, 0.003817f, -0.002104f, 0.001556f, 0.001284f, 0.003689f, 0.001539f, 0.005045f, -0.003629f, 0.002005f, -0.000950f, 0.005788f, 0.002022f, 0.002195f, -0.000845f, -0.000579f, 0.000316f, -0.000884f, -0.003766f, -0.012385f, -0.026109f, -0.021027f, 0.001283f, -0.017964f, -0.008892f, -0.025454f, -0.013597f, -0.015509f, 0.006146f, - -0.008280f, -0.011071f, -0.003766f, 0.000570f, -0.006540f, -0.024778f, 0.006655f, -0.004414f, 0.002495f, -0.011239f, 0.011174f, 0.004097f, 0.000260f, -0.010006f, -0.004432f, 0.012619f, 0.008639f, 0.000517f, -0.001882f, -0.008541f, 0.005300f, 0.002700f, 0.005487f, -0.010219f, -0.000946f, -0.008312f, -0.007414f, -0.008134f, 0.000838f, 0.016352f, -0.013384f, 0.000234f, -0.012752f, 0.001250f, 0.005929f, 0.007385f, -0.013449f, 0.013462f, 0.016405f, -0.005472f, -0.003915f, -0.002928f, -0.000660f, 0.005154f, 0.006611f, 0.001575f, 0.004492f, -0.008069f, -0.001573f, -0.003041f, 0.014104f, -0.004495f, 0.015609f, -0.000474f, -0.004821f, 0.012395f, -0.001328f, -0.007537f, 0.002638f, 0.013433f, 0.015530f, -0.001249f, -0.004904f, -0.008558f, 0.005325f, -0.011397f, -0.001161f, 0.007485f, -0.005837f, 0.003322f, -0.000445f, -0.000161f, -0.004706f, 0.000009f, -0.003662f, -0.005756f, -0.000631f, 0.004691f, 0.002475f, 0.004671f, -0.002196f, -0.001645f, -0.003882f, 0.001390f, -0.003153f, 0.004863f, 0.002455f, 0.006834f, 0.000581f, -0.001725f, -0.000697f, -0.001337f, -0.002541f, 0.003071f, -0.002262f, -0.001362f, - 0.001211f, 0.000956f, -0.003516f, -0.001304f, 0.000814f, -0.000007f, -0.001993f, -0.003424f, -0.000317f, -0.003168f, -0.002225f, -0.001396f, 0.003876f, -0.000411f, 0.001256f, 0.001080f, 0.000037f, -0.002509f, -0.000855f, -0.020203f, -0.019987f, -0.023211f, 0.006868f, -0.018808f, -0.007749f, 0.017974f, 0.008850f, -0.020408f, -0.001308f, 0.000148f, 0.009007f, 0.013260f, 0.022800f, -0.006201f, -0.008110f, -0.022403f, -0.027374f, -0.016262f, -0.005455f, 0.011138f, -0.011065f, 0.005334f, -0.015743f, 0.016385f, -0.011796f, 0.013148f, -0.006053f, 0.001799f, 0.003515f, -0.002705f, -0.011631f, 0.018490f, -0.015935f, -0.000865f, -0.008466f, 0.002211f, -0.009875f, 0.002230f, -0.040018f, 0.000588f, 0.018746f, -0.023930f, 0.005539f, 0.016241f, 0.005947f, -0.012497f, -0.001288f, 0.019561f, -0.024093f, -0.000153f, 0.010003f, 0.009426f, 0.009411f, -0.003567f, -0.003395f, -0.015721f, -0.007655f, 0.006335f, 0.010787f, 0.016921f, 0.020845f, -0.030608f, 0.011730f, -0.009293f, 0.002354f, -0.021605f, -0.008634f, 0.017646f, 0.004449f, 0.002355f, -0.011702f, -0.000068f, 0.011557f, 0.008239f, 0.005226f, -0.010741f, - -0.006763f, 0.011013f, -0.002820f, -0.004785f, -0.002272f, -0.007931f, 0.006819f, -0.001382f, -0.006071f, -0.002463f, -0.001996f, 0.001512f, -0.003876f, -0.004355f, 0.001609f, 0.001425f, 0.001844f, -0.002523f, -0.003406f, 0.002932f, -0.002127f, -0.008203f, -0.000575f, -0.002514f, 0.005054f, -0.003864f, 0.000397f, 0.000285f, 0.002109f, -0.005181f, -0.002705f, -0.001944f, 0.000687f, 0.005272f, -0.000482f, -0.001399f, 0.003469f, -0.000057f, 0.003415f, -0.001662f, -0.003457f, -0.001485f, -0.005966f, 0.001258f, 0.000105f, -0.004387f, 0.002440f, 0.023901f, 0.040019f, 0.022176f, 0.026104f, 0.003910f, 0.009302f, 0.034993f, -0.001047f, 0.000992f, 0.024042f, -0.011786f, 0.000108f, 0.006843f, 0.012011f, 0.019736f, -0.016056f, -0.023022f, 0.012712f, 0.006978f, -0.013284f, 0.002807f, 0.008243f, -0.005168f, 0.004759f, -0.012417f, -0.002743f, -0.014493f, 0.004496f, 0.015690f, 0.004947f, 0.013739f, 0.010713f, 0.011172f, -0.027260f, 0.001386f, 0.031848f, -0.003828f, -0.000512f, 0.029586f, -0.003849f, -0.001090f, 0.004446f, -0.003947f, -0.000813f, 0.016361f, 0.025820f, -0.025347f, -0.004068f, 0.005015f, - -0.007711f, 0.011914f, -0.003965f, 0.001142f, 0.001935f, -0.005549f, 0.022739f, -0.002935f, -0.008203f, 0.008472f, -0.008508f, -0.014176f, 0.004939f, 0.015431f, 0.005901f, -0.001740f, 0.003190f, 0.014767f, 0.007784f, 0.013229f, 0.004056f, 0.001632f, -0.000092f, -0.013010f, -0.002631f, -0.010194f, -0.002271f, -0.004286f, -0.023091f, -0.010034f, 0.001552f, 0.014924f, -0.006077f, 0.005768f, -0.003910f, -0.012244f, 0.005491f, 0.001329f, -0.003835f, 0.001923f, -0.007398f, 0.000376f, 0.001912f, 0.004579f, 0.006572f, -0.001554f, 0.004255f, -0.005613f, -0.008268f, -0.009956f, -0.000998f, 0.009023f, -0.001571f, -0.000702f, 0.003069f, 0.000501f, 0.001052f, 0.004863f, -0.002296f, -0.000890f, -0.002594f, 0.006992f, 0.000219f, -0.001029f, 0.000877f, -0.001758f, -0.003667f, -0.004464f, 0.001905f, 0.003977f, 0.004997f, 0.002736f, 0.002015f, -0.000861f, -0.000262f, 0.000086f, -0.001557f, -0.006863f, 0.067447f, 0.009351f, -0.001439f, -0.000408f, -0.032369f, -0.009469f, 0.003126f, -0.007550f, 0.014284f, 0.006284f, 0.023152f, -0.002947f, 0.000038f, -0.004994f, -0.009785f, 0.015532f, 0.002922f, 0.005943f, - 0.008723f, 0.012160f, -0.011433f, -0.011515f, -0.013308f, -0.009262f, -0.007623f, -0.003341f, -0.018283f, -0.003587f, 0.029530f, 0.013922f, -0.005616f, -0.001995f, -0.003470f, 0.002466f, 0.010461f, -0.005114f, 0.042199f, -0.007334f, -0.001148f, -0.019152f, 0.007655f, 0.018411f, -0.003165f, -0.014092f, -0.001828f, 0.007093f, 0.014133f, 0.006106f, 0.019867f, 0.029676f, 0.009668f, -0.000630f, 0.017628f, 0.014403f, 0.005385f, 0.011133f, -0.036988f, 0.008588f, 0.000978f, -0.032726f, 0.012023f, -0.000763f, -0.014101f, 0.009229f, -0.014954f, -0.014548f, 0.017359f, 0.013662f, -0.007710f, -0.028953f, -0.013105f, 0.006965f, -0.016645f, -0.003385f, 0.007282f, 0.028459f, -0.004611f, 0.005764f, -0.014826f, -0.031241f, -0.016781f, -0.014962f, -0.006782f, 0.014948f, 0.002046f, -0.010353f, -0.003140f, -0.006446f, -0.006303f, 0.009573f, 0.007954f, 0.003093f, 0.006794f, 0.008084f, -0.006776f, -0.004952f, -0.005033f, 0.001117f, -0.005520f, -0.008177f, -0.007962f, 0.003500f, -0.002696f, -0.001137f, 0.001137f, 0.002994f, -0.006760f, 0.003888f, -0.001450f, -0.000768f, -0.002991f, -0.001046f, -0.004248f, 0.010719f, - -0.006579f, -0.002243f, 0.001902f, -0.006792f, -0.006590f, -0.004964f, 0.000418f, 0.005487f, -0.035747f, 0.022513f, -0.004142f, -0.023097f, -0.000915f, 0.020941f, -0.023959f, -0.005090f, -0.019317f, 0.012768f, 0.004154f, -0.007155f, -0.008225f, -0.003009f, 0.012863f, 0.009786f, 0.005525f, 0.013325f, 0.011748f, 0.001137f, 0.014187f, 0.016212f, 0.006734f, 0.008939f, -0.016591f, -0.008195f, -0.011552f, 0.010185f, 0.013384f, 0.004695f, 0.004140f, -0.007963f, -0.005771f, -0.004920f, -0.004281f, -0.014190f, 0.012899f, 0.002858f, 0.000838f, -0.015185f, -0.004505f, 0.023841f, -0.017248f, -0.018522f, -0.028230f, 0.009738f, -0.021174f, 0.030602f, 0.035550f, 0.024364f, 0.014336f, 0.001234f, 0.027787f, -0.014835f, 0.021838f, -0.002992f, -0.015583f, 0.000997f, 0.001271f, -0.033591f, -0.014884f, 0.012383f, 0.001908f, -0.005831f, 0.005044f, 0.027868f, 0.019169f, -0.032404f, -0.008163f, -0.000669f, -0.000867f, 0.009099f, 0.013704f, -0.000851f, -0.025861f, 0.010192f, -0.015016f, -0.048147f, -0.013970f, -0.009969f, 0.014858f, 0.023990f, 0.008153f, 0.000985f, 0.001215f, 0.000507f, 0.002138f, 0.017017f, - 0.000040f, 0.002336f, 0.002197f, 0.008481f, -0.015276f, -0.001041f, 0.004663f, 0.011144f, 0.013681f, 0.004620f, 0.008114f, 0.011902f, 0.015981f, 0.020402f, 0.007858f, 0.009980f, 0.010063f, 0.000271f, -0.000963f, -0.003982f, -0.002568f, -0.000137f, 0.004188f, -0.012312f, -0.003007f, 0.006789f, 0.011292f, -0.001461f, 0.003155f, -0.001798f, 0.004732f, -0.000174f, 0.007237f, -0.001425f, 0.006939f, -0.005437f, 0.008892f, -0.000083f, 0.008398f, -0.029980f, 0.002988f, 0.003334f, 0.018752f, 0.004039f, 0.047910f, 0.007625f, -0.019774f, -0.006400f, -0.016650f, 0.030273f, -0.038840f, -0.003473f, 0.026846f, -0.058670f, -0.023155f, -0.019802f, -0.020512f, -0.038916f, 0.003677f, -0.006826f, -0.016691f, -0.002132f, 0.018405f, 0.002311f, 0.002439f, -0.011484f, 0.004561f, -0.003890f, 0.004533f, 0.000017f, 0.002908f, 0.015002f, -0.003649f, -0.000936f, 0.030527f, -0.019753f, -0.003980f, 0.005268f, 0.026293f, -0.013813f, 0.037544f, -0.011374f, -0.015171f, -0.032152f, -0.041831f, -0.012211f, -0.031136f, 0.015180f, -0.009450f, -0.023383f, 0.003189f, 0.003770f, 0.017219f, 0.014560f, 0.006085f, -0.002966f, - 0.053135f, 0.029402f, -0.003359f, 0.005177f, 0.018194f, 0.013598f, 0.008835f, -0.007202f, -0.001041f, -0.009542f, -0.012392f, -0.011467f, 0.008006f, 0.041436f, -0.028978f, -0.007103f, -0.016505f, 0.029859f, -0.007873f, 0.009249f, -0.004266f, 0.014017f, -0.032822f, -0.024552f, -0.008481f, 0.013943f, 0.004416f, 0.012039f, -0.007266f, 0.007425f, 0.011229f, 0.009861f, 0.004673f, -0.001963f, -0.014007f, 0.008811f, 0.003283f, -0.011886f, -0.008346f, 0.007434f, -0.007826f, -0.005924f, -0.000260f, 0.008005f, -0.007457f, 0.009647f, -0.006056f, 0.013782f, -0.007689f, 0.001542f, 0.004793f, 0.002507f, -0.006663f, -0.012594f, 0.009742f, -0.003783f, -0.002853f, -0.000984f, -0.001335f, -0.003981f, 0.009236f, 0.011556f, 0.007995f, 0.007071f, -0.001403f, 0.004079f, 0.013233f, -0.007149f, 0.005211f, 0.002304f, -0.000346f, 0.002922f, -0.000893f, 0.000718f, -0.004832f, -0.023885f, -0.022960f, 0.012946f, -0.010295f, -0.043007f, 0.021295f, -0.012811f, 0.017004f, -0.012359f, 0.021403f, 0.014602f, 0.017792f, 0.028540f, 0.004601f, 0.024155f, 0.009676f, 0.006266f, 0.016353f, 0.005692f, 0.004462f, 0.001212f, - -0.000717f, -0.015284f, 0.013621f, -0.031076f, 0.013581f, 0.003302f, -0.008954f, -0.016721f, -0.000479f, 0.012086f, -0.013937f, -0.005748f, -0.020821f, -0.007991f, -0.025622f, 0.001683f, 0.014038f, -0.000190f, -0.003358f, -0.016165f, -0.028286f, -0.020438f, 0.022035f, 0.007448f, -0.009243f, -0.016145f, -0.004017f, -0.001213f, -0.027655f, 0.023471f, 0.021240f, -0.027108f, -0.026473f, -0.043220f, -0.006633f, -0.051727f, 0.013925f, 0.020291f, 0.010582f, -0.003120f, -0.006656f, -0.005237f, 0.021233f, 0.021627f, 0.024775f, -0.016035f, -0.012890f, 0.016726f, -0.007205f, -0.007606f, -0.030431f, 0.013639f, 0.024793f, 0.028581f, -0.006739f, 0.015725f, -0.008785f, 0.004835f, 0.015516f, 0.008187f, -0.010998f, 0.005315f, -0.018801f, -0.011249f, -0.007821f, 0.002967f, 0.007884f, 0.006979f, -0.007472f, -0.006627f, -0.002809f, -0.008216f, -0.001697f, -0.011387f, -0.014468f, -0.007370f, -0.006052f, -0.004214f, -0.001960f, -0.003982f, -0.005775f, 0.001485f, -0.000302f, 0.008596f, -0.002932f, 0.010922f, -0.002851f, 0.008775f, 0.000540f, -0.004569f, 0.002141f, 0.021860f, 0.006653f, 0.011280f, -0.005016f, -0.008460f, - 0.001742f, 0.008138f, -0.007583f, 0.015948f, 0.015709f, 0.004800f, 0.007357f, 0.003581f, -0.018051f, -0.009180f, 0.041322f, 0.047888f, -0.018977f, -0.001001f, 0.012843f, -0.038622f, -0.007242f, 0.048178f, 0.001617f, -0.052338f, 0.005692f, 0.016178f, -0.001315f, 0.018278f, 0.042987f, -0.017586f, 0.038850f, 0.021151f, 0.033154f, 0.009378f, -0.025475f, -0.027023f, 0.021669f, -0.024515f, -0.038650f, -0.011146f, -0.045911f, 0.010164f, -0.003124f, 0.016357f, 0.013968f, 0.010084f, 0.005148f, -0.001781f, 0.001264f, 0.023380f, 0.011355f, -0.044906f, -0.005286f, 0.015132f, 0.028894f, 0.016181f, 0.035803f, 0.032379f, 0.025291f, -0.011896f, -0.004333f, 0.006764f, 0.065204f, -0.027240f, 0.004772f, 0.013892f, 0.025575f, -0.010473f, -0.036255f, -0.007538f, -0.009143f, -0.021759f, -0.040096f, -0.043716f, 0.012023f, -0.024489f, -0.018537f, 0.011401f, 0.034483f, 0.042551f, 0.000807f, -0.002332f, -0.000512f, 0.032702f, -0.022129f, -0.011238f, 0.038628f, -0.042027f, 0.004677f, -0.033186f, -0.022303f, 0.002556f, 0.044795f, -0.007190f, -0.030629f, 0.040025f, -0.040884f, 0.001745f, -0.049356f, -0.004271f, - -0.006190f, 0.014625f, 0.027468f, -0.020236f, -0.011545f, -0.014279f, 0.003707f, 0.001107f, -0.015280f, 0.008781f, -0.004511f, -0.004220f, -0.006509f, -0.005168f, -0.018093f, 0.004183f, -0.008706f, 0.006530f, 0.004904f, -0.001207f, -0.003985f, 0.011117f, 0.000027f, 0.000286f, -0.021336f, 0.003325f, -0.001797f, -0.000581f, 0.019948f, 0.002134f, 0.005653f, -0.008183f, 0.003247f, -0.004662f, -0.011579f, 0.005234f, -0.023628f, 0.008043f, -0.008128f, 0.017877f, -0.014048f, -0.001755f, 0.003300f, -0.001810f, -0.003651f, -0.007198f, 0.013191f, -0.008522f, 0.014361f, -0.004905f, 0.008479f, 0.022479f, -0.026419f, -0.059151f, -0.013956f, -0.020640f, -0.019489f, -0.012238f, 0.002747f, -0.020282f, -0.017155f, 0.005643f, 0.013178f, -0.012743f, 0.031314f, -0.003417f, 0.020979f, -0.010618f, -0.001250f, 0.018044f, -0.025814f, -0.016186f, -0.008789f, 0.026928f, -0.006502f, -0.029625f, -0.011183f, 0.004444f, -0.014359f, 0.012264f, -0.019850f, -0.019985f, 0.029001f, 0.008398f, -0.022990f, 0.013928f, -0.002777f, -0.018145f, -0.001764f, -0.030066f, -0.025835f, 0.005094f, 0.045029f, 0.018127f, 0.014027f, -0.036125f, - 0.027798f, -0.003226f, 0.021296f, -0.012611f, -0.025134f, 0.012187f, -0.046356f, 0.038686f, -0.062761f, -0.039805f, 0.014530f, 0.034520f, 0.002670f, 0.041340f, -0.018104f, 0.010820f, -0.028715f, 0.038778f, 0.012472f, 0.028833f, 0.013284f, 0.006750f, -0.009114f, -0.009698f, -0.018956f, -0.006646f, -0.001140f, -0.033471f, -0.019973f, 0.002900f, -0.050696f, 0.002826f, 0.056927f, 0.016945f, 0.020500f, 0.005456f, -0.025829f, -0.019467f, -0.005269f, -0.006259f, -0.001837f, -0.010065f, -0.013589f, 0.011315f, 0.007444f, 0.010265f, 0.016082f, -0.016272f, 0.010556f, -0.006197f, -0.008778f, -0.006650f, 0.014321f, -0.004868f, -0.015628f, -0.023694f, -0.000165f, -0.014276f, -0.006713f, -0.014635f, -0.004061f, -0.009603f, -0.005760f, 0.022260f, -0.012172f, 0.005073f, 0.006904f, -0.017901f, 0.020393f, 0.000168f, 0.012193f, 0.016042f, -0.007472f, 0.007923f, 0.003598f, -0.000742f, 0.004962f, 0.013423f, -0.007794f, -0.007637f, 0.012377f, 0.001041f, 0.009840f, -0.044453f, -0.041457f, 0.004092f, 0.017087f, -0.020962f, -0.093790f, -0.019605f, -0.000479f, 0.012259f, -0.031724f, 0.002743f, -0.017689f, -0.003688f, - -0.025274f, -0.028222f, 0.025072f, -0.027445f, -0.033673f, -0.005695f, -0.023568f, -0.025921f, 0.008928f, -0.037655f, -0.012461f, 0.022720f, 0.052034f, 0.042025f, -0.002004f, -0.025639f, 0.008997f, 0.037827f, -0.001744f, 0.025157f, -0.007217f, 0.031690f, 0.017823f, -0.032552f, 0.051812f, -0.039488f, -0.020849f, 0.034872f, -0.038421f, 0.011597f, -0.008823f, -0.028922f, 0.003417f, 0.043835f, -0.009087f, -0.025766f, 0.016424f, 0.021510f, -0.000607f, 0.008903f, -0.063031f, 0.015223f, 0.002650f, 0.031807f, 0.015416f, -0.027653f, 0.027482f, -0.014733f, -0.002375f, -0.025628f, 0.013638f, 0.036941f, -0.007589f, -0.007309f, -0.037841f, -0.053550f, 0.030489f, -0.003874f, 0.024571f, -0.029286f, 0.022312f, 0.017808f, -0.038087f, 0.002199f, 0.033964f, 0.019386f, -0.017766f, -0.030642f, 0.027785f, 0.004526f, -0.023781f, 0.022601f, 0.003766f, 0.010077f, 0.002722f, 0.009365f, 0.001795f, 0.025253f, 0.000392f, 0.008696f, -0.001667f, 0.001050f, 0.022466f, -0.007225f, 0.000601f, 0.005102f, -0.005833f, 0.004094f, 0.002053f, 0.015490f, -0.000752f, -0.017235f, -0.002077f, 0.002196f, -0.010210f, -0.003052f, - 0.001150f, -0.006882f, 0.023263f, -0.005476f, -0.013277f, 0.001477f, 0.014816f, 0.006948f, -0.000749f, 0.008423f, 0.001225f, -0.009662f, -0.001176f, 0.024401f, 0.016694f, -0.016499f, -0.012050f, 0.003526f, 0.035352f, 0.035468f, -0.095639f, 0.036058f, 0.048476f, -0.012336f, 0.033721f, -0.000341f, 0.017475f, -0.007764f, -0.019670f, -0.012704f, 0.020338f, 0.004799f, -0.027631f, -0.017947f, -0.002559f, -0.012958f, -0.007079f, -0.002969f, 0.059155f, 0.011894f, 0.013095f, -0.036600f, 0.025468f, -0.026062f, 0.000380f, 0.004584f, -0.040000f, 0.018678f, -0.014833f, 0.002085f, -0.016199f, -0.028915f, 0.000781f, 0.019194f, 0.054813f, 0.019716f, 0.005691f, 0.033909f, 0.014348f, -0.004093f, 0.005565f, 0.000855f, 0.009564f, 0.005556f, 0.037177f, 0.016275f, 0.011232f, 0.006136f, -0.004776f, -0.011558f, -0.036617f, -0.030735f, 0.004260f, -0.004394f, -0.022596f, 0.003209f, 0.027450f, -0.041887f, 0.040459f, 0.010429f, -0.014915f, -0.001682f, -0.010846f, -0.003358f, 0.024502f, 0.010718f, 0.007975f, -0.028463f, -0.005800f, -0.038903f, -0.012014f, 0.010834f, 0.014210f, 0.014174f, -0.016860f, -0.013524f, - 0.030136f, -0.003555f, -0.048884f, 0.007022f, -0.000909f, -0.000533f, -0.028874f, 0.009460f, 0.021561f, -0.002980f, 0.031042f, 0.020943f, -0.010468f, -0.000575f, -0.013496f, 0.016776f, -0.001475f, 0.005529f, 0.002520f, -0.007063f, -0.005932f, -0.001295f, -0.006149f, 0.006804f, -0.013417f, -0.001313f, 0.000756f, 0.007237f, -0.006935f, -0.008029f, -0.009595f, 0.000522f, -0.002372f, 0.005330f, 0.003028f, -0.000283f, -0.006014f, 0.006470f, 0.004850f, 0.000955f, 0.007037f, 0.001290f, 0.005017f, 0.004688f, 0.006673f, -0.001861f, -0.024563f, -0.000928f, -0.007043f, -0.085000f, 0.131732f, -0.130244f, -0.058902f, -0.029763f, -0.008891f, 0.076197f, 0.022391f, 0.085301f, 0.021299f, -0.017442f, 0.067208f, 0.029081f, -0.022758f, 0.031507f, 0.028514f, 0.015945f, 0.026677f, 0.025873f, -0.023070f, -0.037249f, -0.026526f, 0.004292f, -0.024395f, 0.012864f, 0.007639f, 0.016680f, -0.002613f, 0.011524f, 0.003882f, 0.041874f, 0.009916f, 0.003928f, 0.012874f, -0.009782f, -0.000610f, 0.014766f, -0.026304f, -0.037391f, -0.025434f, -0.021764f, 0.003691f, 0.011063f, -0.026378f, -0.004313f, -0.015886f, -0.064812f, - 0.032598f, -0.011737f, 0.016481f, -0.034105f, -0.011612f, -0.031594f, -0.043297f, 0.016316f, 0.011434f, 0.042069f, -0.001853f, 0.037062f, -0.015742f, 0.031040f, 0.003623f, 0.044314f, -0.031449f, 0.027408f, 0.032919f, 0.018207f, 0.019079f, 0.001590f, -0.013509f, 0.051894f, 0.034704f, -0.003476f, 0.062597f, 0.014973f, 0.007292f, 0.026786f, 0.040335f, 0.000457f, 0.018522f, 0.023281f, 0.010610f, 0.010147f, -0.004728f, 0.002019f, -0.036660f, -0.009410f, -0.004987f, 0.005775f, 0.007634f, 0.007193f, 0.024293f, 0.010711f, 0.012359f, -0.009593f, -0.001387f, 0.009508f, 0.000959f, 0.000738f, -0.008759f, 0.009943f, 0.008432f, 0.004747f, -0.006851f, 0.012648f, -0.001995f, 0.002189f, -0.009929f, -0.009246f, -0.003742f, 0.000920f, 0.001070f, -0.006091f, -0.020200f, 0.004574f, 0.004309f, -0.005557f, -0.001071f, -0.005271f, 0.001460f, -0.007486f, 0.004902f, -0.007217f, 0.000247f, 0.017940f, -0.005193f, -0.018018f, 0.011563f, 0.008291f, 0.007014f, -0.004441f, -0.002446f, 0.080423f, 0.006968f, -0.048450f, -0.071172f, -0.037757f, -0.029691f, 0.009550f, 0.058937f, -0.000977f, -0.024899f, 0.052703f, - 0.004361f, -0.042599f, 0.038338f, 0.041565f, -0.007594f, -0.000787f, -0.004010f, -0.037710f, 0.041928f, 0.002356f, 0.023821f, -0.013300f, -0.033514f, -0.058639f, 0.010711f, 0.007400f, 0.009098f, -0.008279f, 0.018462f, -0.019501f, -0.000203f, -0.037583f, -0.046798f, 0.016444f, -0.005896f, 0.014905f, -0.006734f, -0.017373f, -0.042371f, -0.065815f, 0.033786f, -0.036780f, 0.015129f, 0.031656f, -0.002181f, -0.016943f, -0.032281f, -0.023285f, 0.075819f, 0.017225f, -0.003419f, 0.009852f, -0.009975f, -0.030633f, -0.010017f, 0.043948f, -0.042455f, -0.071487f, -0.024939f, -0.022689f, -0.100142f, -0.078265f, -0.042112f, -0.043522f, 0.010792f, -0.000451f, -0.034829f, -0.066822f, -0.026411f, -0.031577f, -0.022652f, -0.018274f, -0.013433f, -0.039965f, -0.038290f, 0.030317f, -0.034002f, 0.002165f, 0.005189f, -0.041872f, -0.007310f, -0.030550f, -0.038274f, -0.009281f, -0.006213f, 0.017799f, 0.007498f, 0.023930f, -0.024441f, 0.006332f, 0.014098f, -0.000060f, -0.032885f, -0.018575f, -0.022054f, -0.002088f, 0.010775f, -0.011130f, -0.015986f, 0.028608f, 0.017031f, 0.020616f, -0.033617f, 0.005813f, -0.016340f, -0.001777f, - 0.001461f, 0.003463f, -0.003993f, 0.034115f, 0.002720f, -0.005860f, 0.004342f, 0.012047f, 0.017208f, 0.014257f, -0.002203f, 0.020295f, -0.014464f, -0.007578f, -0.006203f, -0.026184f, -0.000705f, -0.007872f, -0.033828f, -0.028164f, 0.004946f, 0.001613f, -0.000518f, -0.008478f, -0.007411f, 0.055260f, -0.006569f, 0.052643f, 0.077913f, -0.014353f, -0.084588f, -0.081845f, -0.017723f, 0.039263f, 0.005263f, -0.064229f, 0.050315f, -0.010975f, -0.042236f, 0.051775f, -0.097414f, -0.020418f, 0.000307f, -0.017198f, -0.015123f, 0.118011f, -0.049673f, 0.110592f, -0.005710f, 0.023302f, -0.008433f, -0.043626f, 0.070553f, 0.018846f, 0.073364f, -0.050398f, -0.050000f, 0.016135f, -0.080487f, -0.023971f, -0.013186f, -0.055708f, 0.115719f, -0.010040f, -0.120692f, -0.001763f, -0.053992f, 0.015751f, 0.029304f, 0.048332f, 0.038848f, -0.047473f, -0.030112f, -0.073905f, -0.022037f, -0.034190f, 0.031333f, 0.021029f, -0.004394f, 0.021885f, -0.015191f, -0.052404f, -0.021885f, -0.061167f, 0.062411f, -0.047274f, -0.033131f, 0.056463f, 0.012932f, 0.095398f, 0.045802f, 0.008441f, 0.049905f, -0.067306f, -0.025570f, -0.069495f, - -0.068047f, -0.010310f, -0.010252f, -0.084803f, 0.087143f, -0.015278f, -0.068352f, -0.101021f, 0.006221f, -0.019927f, 0.073711f, -0.004575f, 0.003446f, 0.010108f, -0.013684f, 0.014215f, 0.016279f, 0.034958f, -0.023700f, -0.023315f, -0.015416f, 0.001223f, -0.004656f, -0.004708f, -0.022405f, 0.024736f, 0.014802f, 0.029474f, -0.007278f, -0.015684f, -0.013957f, -0.005022f, 0.005117f, 0.039417f, 0.041331f, -0.006633f, 0.001927f, 0.022828f, -0.006681f, -0.052093f, -0.025733f, 0.003423f, 0.006832f, -0.003947f, -0.033659f, 0.011827f, -0.004297f, -0.007773f, -0.038485f, 0.015098f, 0.012593f, 0.045600f, 0.007132f, 0.011342f, -0.002539f, 0.018838f, 0.002993f, -0.010696f, -0.157769f, 0.081510f, 0.018647f, -0.033952f, -0.025795f, 0.050399f, 0.027556f, -0.030347f, -0.008445f, -0.074106f, -0.031200f, 0.031669f, -0.064306f, 0.002587f, 0.011357f, -0.019474f, -0.042950f, -0.029069f, 0.057452f, 0.023278f, -0.011744f, -0.082687f, 0.027871f, 0.052262f, 0.029907f, -0.063990f, -0.042909f, 0.000418f, 0.069619f, 0.006374f, -0.017074f, 0.011156f, 0.002065f, 0.035829f, -0.093205f, -0.080303f, 0.099406f, 0.015620f, - 0.041478f, -0.094559f, 0.020451f, -0.004089f, 0.069258f, -0.062084f, -0.012087f, -0.094783f, 0.033042f, 0.068643f, 0.015877f, -0.041994f, 0.027040f, 0.099549f, -0.044689f, -0.047173f, -0.037340f, 0.014343f, 0.003985f, 0.087369f, -0.026181f, 0.006918f, -0.047141f, 0.015662f, -0.051676f, -0.001440f, 0.032934f, -0.064110f, 0.061409f, 0.018951f, -0.044846f, -0.069360f, -0.042410f, -0.003231f, 0.061963f, -0.112040f, -0.024596f, 0.101970f, 0.013275f, -0.045537f, -0.021676f, -0.032012f, 0.095643f, -0.010268f, -0.100472f, -0.011301f, -0.000150f, -0.024374f, 0.040816f, -0.006633f, -0.014176f, 0.031447f, -0.002900f, -0.020175f, -0.026408f, -0.002327f, -0.023293f, 0.007493f, 0.016954f, 0.023005f, -0.020275f, -0.014389f, 0.020793f, -0.013199f, 0.019692f, -0.009982f, -0.020206f, 0.028113f, -0.015217f, 0.025384f, 0.034148f, 0.002752f, -0.049651f, -0.002820f, -0.029616f, 0.012877f, 0.018259f, 0.012546f, -0.034701f, 0.000954f, -0.026211f, 0.025081f, -0.007393f, -0.014370f, -0.010024f, 0.005947f, 0.008368f, 0.104286f, 0.053247f, 0.024267f, 0.023999f, 0.025314f, -0.016675f, -0.016104f, -0.035254f, 0.004729f, - 0.011202f, 0.009504f, -0.002201f, -0.059595f, 0.028551f, 0.012077f, -0.041779f, -0.035014f, -0.018191f, -0.020333f, 0.015362f, -0.015102f, -0.017818f, 0.005483f, -0.001618f, -0.031458f, 0.040616f, -0.028902f, -0.009626f, -0.030041f, -0.027743f, 0.020217f, -0.011917f, -0.003613f, 0.010096f, 0.013342f, -0.003490f, -0.040083f, 0.009490f, 0.063556f, 0.013323f, -0.098623f, -0.006426f, -0.021073f, -0.030947f, 0.021297f, 0.022185f, 0.051711f, 0.024530f, -0.064159f, 0.069915f, -0.016905f, -0.048721f, 0.146382f, -0.029557f, -0.012022f, -0.048277f, -0.115536f, 0.052988f, 0.059399f, 0.019305f, 0.022724f, -0.099306f, 0.029314f, -0.007878f, -0.023551f, -0.017582f, 0.004457f, -0.009538f, 0.016010f, 0.018781f, 0.004590f, -0.014804f, -0.027896f, 0.030003f, 0.038284f, 0.052554f, -0.025532f, -0.005403f, 0.011683f, -0.007804f, 0.028087f, -0.068125f, 0.007094f, 0.012002f, -0.031402f, 0.005244f, -0.026077f, 0.010396f, 0.000985f, 0.008341f, -0.003893f, 0.001872f, 0.003125f, -0.001375f, -0.000414f, -0.009059f, -0.006557f, 0.018198f, -0.009554f, -0.000663f, 0.013956f, 0.003016f, 0.001116f, 0.022273f, -0.017835f, - 0.013668f, 0.016479f, -0.000936f, -0.002691f, -0.018766f, 0.015758f, -0.035131f, -0.009368f, 0.023061f, 0.007152f, -0.009508f, -0.023297f, 0.007316f, -0.005016f, 0.028712f, -0.058831f, -0.141937f, -0.239180f, 0.019166f, 0.243897f, 0.023079f, 0.518107f, 0.522984f, 0.190146f, 0.524829f, 0.304648f, -0.088781f, -0.008070f, -0.047818f, -0.397697f, -0.330154f, -0.231353f, -0.413332f, -0.394342f, -0.112828f, -0.248094f, -0.216603f, 0.049290f, 0.068854f, -0.053264f, 0.076525f, 0.113039f, -0.000456f, 0.008241f, 0.224245f, 0.150098f, 0.056876f, 0.166339f, 0.310264f, 0.146523f, 0.170880f, 0.384515f, 0.151725f, 0.069438f, 0.331989f, 0.320674f, 0.013761f, 0.205248f, 0.362196f, 0.001069f, 0.091738f, 0.215274f, -0.008738f, -0.175277f, 0.086690f, -0.036275f, -0.338343f, -0.314845f, -0.289938f, -0.562535f, -0.832397f, -0.578894f, -0.809885f, -1.078273f, -0.761467f, -0.616577f, -0.834321f, -0.532344f, -0.256711f, -0.246777f, -0.047299f, 0.248831f, 0.500935f, 0.567925f, 0.759267f, 1.034058f, 1.015367f, 0.961258f, 1.082026f, 1.081117f, 0.882190f, 0.710818f, 0.760393f, 0.505955f, 0.179460f, 0.241351f, - 0.058701f, -0.443528f, -0.285866f, -0.301417f, -0.619889f, -0.522872f, -0.376663f, -0.440183f, -0.510167f, -0.316934f, -0.277660f, -0.385261f, -0.318570f, -0.164973f, -0.265146f, -0.348178f, -0.210017f, -0.147563f, -0.276908f, -0.155737f, 0.035857f, -0.086301f, -0.099403f, 0.111080f, -0.004453f, -0.140042f, -0.018521f, -0.088134f, -0.317523f, -0.220325f, -0.167297f, -0.293895f, -0.132187f, 0.073322f, 0.140175f, 0.260351f, 0.432589f, 0.503807f, 0.527904f, 0.592827f, 0.630337f, 0.621475f, 0.572207f, 0.533234f, 0.452033f, 0.359886f, 0.219959f, 0.165356f, 0.018603f, -0.141650f, -0.248591f, -0.396133f, -0.570266f, -0.553786f, -0.472488f, -0.427510f, -0.372036f, -0.254468f, -0.215697f, -0.192117f, -0.140173f, -0.092185f, -0.083834f, -0.036115f, -0.024264f, -0.017373f, -0.003801f, 0.030033f, 0.050725f, 0.067396f, 0.078476f, 0.092364f, 0.085115f, 0.076594f, 0.046140f, 0.031854f, 0.006745f, 0.007675f, -0.002778f} - }, - { - {0.019095f, -0.000790f, -0.001011f, 0.006083f, -0.002474f, 0.006948f, -0.003677f, -0.008916f, 0.003142f, 0.008958f, 0.001328f, -0.001390f, 0.011901f, 0.000405f, 0.000497f, -0.004058f, -0.002258f, 0.018540f, 0.002584f, -0.012583f, -0.009302f, 0.013077f, -0.001187f, 0.013561f, 0.000956f, -0.002576f, -0.001272f, 0.010243f, 0.002031f, 0.021502f, 0.009472f, 0.005921f, -0.001154f, 0.004778f, 0.009730f, -0.002390f, -0.007246f, -0.009104f, -0.001742f, 0.008212f, 0.007063f, 0.010956f, 0.003080f, -0.006123f, -0.006368f, -0.002650f, 0.004578f, -0.001465f, 0.002519f, -0.001245f, -0.009747f, -0.007523f, 0.002986f, 0.007121f, 0.004383f, -0.003524f, -0.004021f, -0.000269f, 0.010632f, 0.005411f, -0.001165f, -0.002376f, 0.004930f, 0.003329f, 0.002116f, -0.005419f, 0.002727f, 0.005099f, -0.000654f, 0.007787f, 0.009188f, -0.016046f, 0.005895f, 0.003282f, 0.010476f, 0.003163f, 0.000834f, 0.004783f, -0.002123f, -0.007480f, -0.002780f, -0.004506f, -0.001504f, -0.000927f, 0.004556f, -0.000229f, -0.003647f, 0.000057f, 0.000537f, 0.002722f, -0.002369f, 0.000443f, -0.000459f, 0.000974f, 0.001392f, 0.000975f, - 0.001797f, 0.000182f, 0.001110f, 0.005368f, 0.008358f, 0.018064f, -0.014683f, 0.003306f, -0.003223f, 0.000205f, -0.018867f, 0.001893f, 0.011351f, -0.016785f, -0.003478f, 0.011211f, 0.029759f, 0.004263f, -0.000200f, 0.002114f, -0.018636f, -0.000603f, 0.013742f, 0.012193f, 0.000338f, -0.000390f, 0.001135f, 0.006399f, 0.010722f, 0.011294f, 0.012215f, -0.005457f, 0.002645f, -0.000745f, 0.004714f, 0.001318f, 0.003042f, -0.018915f, -0.005177f, 0.002948f, 0.001552f, -0.010462f, -0.000328f, 0.007135f, -0.008313f, 0.006569f, 0.006073f, 0.011195f, 0.005252f, -0.004283f, 0.005598f, 0.012512f, -0.006998f, -0.011302f, 0.003802f, 0.002620f, 0.002218f, 0.005930f, -0.004999f, -0.009139f, -0.013609f, 0.010999f, -0.002014f, -0.002577f, -0.004419f, 0.004827f, -0.000156f, 0.007133f, 0.014117f, 0.002854f, 0.000973f, -0.000760f, -0.003391f, -0.011002f, 0.017124f, 0.004210f, -0.002027f, 0.008843f, -0.001374f, -0.010142f, -0.008901f, -0.001981f, 0.003383f, -0.014791f, 0.001236f, -0.008769f, -0.001638f, 0.004513f, -0.000239f, 0.002373f, -0.002628f, -0.004837f, -0.001008f, 0.002444f, 0.003371f, 0.002483f, - -0.000495f, -0.001484f, -0.000067f, 0.002417f, -0.001254f, -0.002463f, -0.001819f, -0.008856f, -0.007687f, -0.009608f, -0.013653f, 0.007642f, -0.000178f, -0.006523f, -0.002598f, -0.003334f, 0.002962f, -0.005419f, -0.009375f, 0.002133f, -0.006097f, 0.016013f, 0.021284f, 0.016834f, -0.011649f, -0.000448f, -0.000770f, 0.004503f, -0.006467f, 0.013207f, 0.008280f, -0.001884f, 0.006394f, 0.010017f, 0.000809f, 0.002429f, 0.003494f, 0.009733f, -0.000932f, 0.003622f, 0.011645f, 0.001188f, -0.000134f, -0.005085f, 0.008379f, -0.012654f, 0.005112f, -0.001769f, -0.002602f, 0.008438f, -0.008150f, -0.001026f, 0.000287f, -0.010998f, 0.004571f, -0.002215f, 0.005096f, -0.000351f, -0.004755f, 0.003346f, 0.003501f, -0.000575f, 0.009775f, -0.000693f, 0.011277f, -0.000163f, -0.007495f, -0.003330f, 0.000434f, -0.005112f, 0.010057f, 0.005254f, 0.008634f, 0.009797f, -0.004278f, -0.009685f, -0.006331f, -0.000004f, -0.001796f, -0.002058f, 0.007982f, 0.010077f, -0.001503f, -0.005508f, 0.003507f, 0.002757f, -0.003854f, -0.005255f, 0.001811f, -0.007552f, 0.001848f, -0.000135f, -0.000233f, -0.002014f, -0.007155f, 0.001630f, - -0.002815f, 0.000308f, 0.003209f, 0.000012f, -0.003653f, 0.001849f, -0.005011f, -0.000075f, 0.000327f, -0.001136f, 0.000426f, 0.000979f, -0.002738f, 0.000066f, 0.000340f, -0.003232f, 0.000694f, -0.000958f, -0.000195f, -0.001689f, -0.000041f, 0.000929f, -0.028150f, -0.006645f, -0.008763f, -0.015233f, 0.005197f, 0.003982f, -0.001808f, 0.007075f, -0.000973f, 0.005970f, 0.008448f, -0.003716f, -0.009839f, -0.012416f, -0.004726f, -0.011563f, 0.000914f, 0.001273f, -0.005027f, 0.006557f, -0.005650f, 0.003515f, -0.002578f, -0.006599f, -0.017520f, -0.006825f, 0.001568f, 0.002752f, 0.004612f, -0.006521f, 0.004659f, 0.007042f, 0.002337f, 0.015986f, 0.003983f, -0.000413f, 0.012385f, -0.008754f, 0.007155f, 0.001173f, -0.004161f, -0.005929f, 0.007988f, 0.001070f, 0.002527f, -0.018880f, -0.003478f, -0.006242f, 0.018968f, 0.008125f, 0.006833f, 0.007693f, 0.008708f, 0.006886f, 0.009656f, -0.005113f, -0.002070f, 0.005914f, 0.009485f, -0.001281f, 0.011077f, -0.005968f, 0.002423f, -0.002409f, 0.009382f, 0.014046f, -0.021953f, 0.005747f, -0.005433f, 0.000695f, -0.010359f, -0.005332f, 0.001728f, -0.003152f, - -0.004453f, -0.008796f, -0.003967f, 0.004128f, -0.000219f, 0.009388f, -0.000997f, 0.003613f, 0.008138f, 0.012935f, -0.000494f, 0.003408f, -0.001526f, 0.006014f, 0.000955f, 0.002919f, -0.004031f, -0.001427f, 0.000416f, 0.002740f, -0.001809f, -0.002951f, 0.000128f, 0.000147f, -0.002289f, 0.000329f, 0.001299f, 0.000037f, 0.003757f, -0.001677f, -0.001783f, 0.000411f, 0.003270f, -0.001351f, 0.000053f, -0.001215f, 0.001938f, 0.003010f, -0.000446f, 0.002878f, 0.003147f, -0.000791f, -0.001390f, 0.010990f, 0.006748f, 0.003984f, -0.002086f, 0.000904f, 0.001200f, 0.014195f, -0.011269f, 0.014240f, -0.001885f, 0.007761f, 0.014601f, -0.009135f, 0.011315f, -0.007068f, 0.005811f, 0.002214f, 0.017166f, 0.007591f, -0.009545f, -0.015723f, 0.003592f, -0.011787f, 0.009709f, -0.002414f, 0.012650f, -0.009414f, -0.001521f, -0.007537f, 0.004370f, 0.002814f, 0.003627f, -0.000937f, -0.001332f, -0.013721f, -0.006009f, 0.011297f, -0.008983f, -0.001819f, 0.007353f, 0.000357f, -0.007029f, 0.002308f, 0.000649f, -0.001568f, -0.006091f, 0.012352f, 0.003952f, -0.017559f, -0.007913f, -0.014172f, -0.002465f, -0.012528f, - -0.021611f, -0.004911f, 0.009460f, 0.026666f, 0.005848f, 0.002220f, 0.012580f, -0.000311f, -0.009807f, -0.008571f, 0.007036f, 0.002758f, 0.004760f, 0.007717f, -0.018826f, -0.004607f, -0.017313f, -0.003779f, 0.004894f, -0.006840f, -0.015998f, 0.001658f, 0.006974f, -0.003392f, -0.005924f, -0.002785f, 0.002826f, -0.002340f, -0.000632f, 0.003558f, -0.002157f, -0.002324f, -0.003190f, -0.002303f, -0.007297f, 0.002685f, -0.001867f, 0.003442f, -0.001195f, 0.002043f, 0.004688f, 0.000720f, -0.001201f, -0.000361f, -0.003863f, -0.002521f, -0.006148f, -0.005558f, 0.000918f, 0.000762f, 0.000059f, 0.002300f, 0.003692f, 0.002633f, 0.000063f, 0.002410f, 0.002020f, -0.001593f, 0.001489f, 0.001585f, -0.003168f, 0.030640f, 0.007293f, 0.022185f, -0.010402f, -0.001443f, -0.007401f, -0.001708f, 0.023570f, -0.020107f, 0.006747f, 0.002283f, 0.030867f, 0.016437f, 0.020483f, 0.003743f, -0.005097f, 0.009669f, -0.006741f, -0.025593f, 0.004866f, 0.001456f, 0.003000f, 0.020171f, 0.001915f, -0.011851f, -0.001048f, 0.000531f, 0.006394f, 0.006982f, -0.000609f, -0.002641f, 0.008230f, -0.009642f, -0.002661f, -0.004882f, - -0.002479f, 0.002490f, 0.000365f, 0.017769f, 0.002554f, 0.013953f, 0.016078f, 0.004453f, 0.014180f, -0.001051f, 0.004689f, 0.008625f, -0.009317f, -0.013903f, 0.001737f, 0.014005f, -0.022379f, 0.006661f, -0.017175f, -0.016039f, -0.009848f, -0.004445f, -0.015114f, -0.014628f, -0.015497f, -0.007940f, -0.003865f, 0.010398f, 0.000242f, 0.012458f, 0.001875f, -0.010258f, 0.015697f, -0.016330f, -0.006207f, -0.006759f, -0.006721f, -0.008656f, -0.011415f, 0.016305f, 0.012671f, -0.007125f, 0.006216f, 0.005134f, 0.012874f, 0.000053f, 0.009295f, -0.004572f, 0.011687f, 0.005914f, -0.006918f, 0.000404f, -0.006252f, 0.007456f, -0.007132f, 0.000796f, 0.005746f, 0.000445f, 0.004393f, -0.001248f, 0.000696f, 0.003072f, -0.001041f, -0.003122f, 0.002892f, -0.000831f, 0.000491f, -0.006009f, -0.005006f, -0.004792f, -0.003771f, -0.000621f, -0.002113f, -0.004148f, -0.000206f, 0.000886f, -0.001971f, 0.000505f, -0.000156f, -0.016441f, -0.016735f, -0.009697f, -0.010310f, -0.005351f, -0.004299f, -0.019740f, -0.016036f, -0.013382f, -0.002152f, -0.001066f, -0.002584f, 0.013859f, 0.001300f, 0.007202f, 0.010477f, 0.012451f, - 0.001860f, 0.024249f, 0.030159f, -0.000534f, 0.008674f, 0.006916f, -0.003758f, 0.013319f, 0.007088f, -0.027092f, -0.000993f, -0.009315f, 0.001488f, 0.021110f, 0.008279f, -0.021647f, -0.005860f, 0.009761f, 0.009510f, 0.001418f, 0.027741f, -0.011442f, 0.011134f, 0.011443f, 0.012308f, 0.007341f, 0.014351f, -0.024404f, 0.008884f, -0.009472f, 0.014461f, 0.000628f, 0.006179f, -0.018301f, 0.013411f, 0.009865f, -0.002464f, 0.009555f, -0.001679f, 0.002729f, -0.000272f, -0.009505f, 0.002402f, -0.006046f, 0.005911f, -0.007479f, 0.009321f, 0.003047f, 0.023482f, 0.017715f, -0.005653f, 0.006385f, -0.019539f, 0.017015f, -0.005417f, 0.010470f, 0.018183f, 0.018054f, 0.000738f, 0.018439f, 0.012567f, 0.008768f, 0.009199f, 0.016951f, 0.001557f, 0.003731f, -0.013887f, -0.002299f, -0.004073f, 0.003254f, -0.010054f, 0.001580f, -0.007362f, 0.002348f, -0.007335f, 0.002301f, -0.002779f, -0.004416f, -0.004384f, 0.003074f, 0.000178f, -0.002179f, -0.001837f, -0.005756f, -0.002031f, 0.001131f, -0.001843f, -0.004123f, 0.000487f, 0.004474f, -0.010192f, -0.006119f, -0.005690f, 0.004156f, -0.006308f, 0.003890f, - -0.000102f, 0.002278f, -0.005252f, -0.007422f, -0.001843f, 0.001490f, 0.015914f, -0.014180f, -0.003772f, 0.012747f, -0.006825f, 0.021808f, -0.007003f, -0.015356f, 0.028885f, 0.039363f, 0.008687f, -0.015503f, 0.010806f, -0.008165f, 0.016098f, 0.009423f, -0.003585f, -0.016447f, -0.010837f, -0.027984f, 0.007268f, 0.011957f, -0.024771f, -0.002926f, 0.014292f, 0.003760f, -0.001268f, 0.000600f, -0.003099f, -0.013366f, 0.003179f, 0.016601f, 0.000604f, 0.003597f, 0.005929f, 0.023509f, -0.015559f, -0.000413f, 0.016996f, -0.015599f, 0.022853f, 0.001216f, 0.032149f, -0.026793f, -0.024249f, 0.013325f, 0.001113f, -0.003189f, 0.006847f, -0.002188f, 0.008891f, 0.005541f, 0.017840f, 0.017110f, -0.014197f, 0.002617f, -0.009308f, -0.005531f, 0.010642f, -0.001297f, -0.005605f, -0.002349f, 0.000424f, 0.016074f, -0.030714f, 0.023382f, -0.007401f, -0.010385f, 0.017230f, -0.013937f, 0.013795f, -0.018766f, -0.010656f, -0.003445f, -0.014061f, -0.004784f, -0.009956f, -0.015595f, -0.010628f, 0.003466f, -0.003659f, -0.003710f, -0.000323f, -0.007235f, -0.002425f, -0.001032f, 0.009599f, -0.000447f, 0.001308f, 0.003958f, - -0.004188f, -0.001542f, -0.003563f, 0.002408f, 0.004640f, 0.001355f, -0.002059f, 0.011453f, -0.000043f, 0.008513f, -0.009292f, -0.005875f, -0.005564f, -0.003865f, 0.004236f, 0.002176f, 0.000197f, 0.006691f, -0.005052f, 0.005124f, 0.001885f, 0.004772f, 0.002547f, 0.000729f, -0.005946f, -0.019502f, -0.014851f, -0.006552f, -0.013926f, -0.021259f, -0.004443f, 0.007705f, 0.026104f, 0.004216f, -0.015719f, -0.029185f, -0.006063f, 0.009024f, -0.005077f, 0.031292f, 0.009877f, -0.011100f, -0.022123f, -0.027703f, -0.052406f, -0.004305f, -0.005760f, 0.020063f, 0.014887f, -0.010764f, 0.001390f, -0.008334f, -0.004511f, 0.018828f, -0.000470f, 0.000979f, -0.002270f, 0.021364f, 0.003650f, -0.006440f, -0.001035f, -0.000814f, 0.005816f, -0.019485f, -0.006102f, -0.007677f, 0.030823f, 0.007159f, -0.032358f, 0.008332f, -0.016779f, -0.009482f, 0.004800f, -0.030163f, 0.009410f, 0.021708f, 0.019302f, 0.015007f, 0.003702f, 0.006050f, -0.000942f, 0.003180f, -0.018975f, 0.006885f, -0.029726f, -0.005733f, 0.017079f, 0.006209f, 0.017497f, 0.017203f, 0.014276f, -0.009767f, -0.021928f, -0.019234f, -0.014820f, 0.004806f, - 0.005986f, 0.010147f, 0.010150f, 0.002171f, 0.006799f, 0.021461f, 0.030129f, -0.007242f, 0.010769f, -0.007514f, -0.008043f, 0.009171f, -0.013152f, -0.004700f, 0.000596f, -0.008403f, 0.007885f, -0.007307f, -0.006276f, -0.003527f, 0.001940f, -0.001949f, 0.004325f, 0.000034f, 0.006233f, -0.001503f, -0.003681f, -0.001775f, -0.003601f, -0.009554f, 0.002611f, 0.005062f, -0.000391f, 0.003310f, -0.000849f, 0.004545f, 0.008833f, 0.008348f, 0.006610f, -0.006780f, -0.003336f, 0.006408f, -0.001890f, -0.002639f, 0.000688f, -0.001141f, 0.006576f, -0.001524f, -0.000290f, -0.001059f, 0.015350f, 0.027139f, 0.031456f, 0.022724f, 0.038883f, -0.018207f, 0.027637f, -0.023690f, -0.018551f, 0.020443f, 0.026170f, 0.030872f, -0.031875f, -0.000211f, 0.008044f, -0.023648f, 0.011196f, -0.010415f, -0.016727f, 0.019049f, -0.024819f, 0.026904f, -0.025513f, 0.025200f, -0.018311f, -0.006788f, -0.001671f, -0.033420f, -0.004628f, 0.036761f, -0.009407f, -0.026348f, 0.005633f, 0.017042f, -0.019175f, 0.009453f, 0.039801f, 0.021348f, 0.008061f, 0.017552f, -0.021047f, 0.014001f, -0.012642f, -0.036314f, -0.010995f, -0.009546f, - 0.002693f, 0.016374f, 0.020313f, -0.009066f, -0.015895f, 0.014401f, 0.000101f, 0.011003f, 0.006917f, -0.005987f, 0.001979f, -0.014504f, 0.002190f, 0.004499f, -0.000200f, 0.004642f, 0.032730f, -0.004150f, 0.003228f, 0.009267f, 0.001940f, 0.003928f, -0.016667f, -0.018324f, 0.012643f, -0.021796f, -0.029491f, -0.031021f, 0.024022f, 0.015461f, 0.004608f, -0.001781f, -0.003603f, 0.011373f, -0.001848f, -0.008784f, 0.010987f, 0.030167f, 0.020434f, -0.008121f, -0.005184f, 0.009261f, 0.005382f, -0.002244f, -0.004841f, 0.003303f, 0.004225f, -0.001395f, 0.001192f, 0.016312f, 0.003883f, 0.002222f, 0.006388f, -0.005479f, 0.001144f, 0.005098f, 0.010900f, -0.001192f, 0.000725f, -0.010854f, 0.003409f, -0.005720f, -0.004140f, 0.011048f, 0.008918f, 0.000434f, 0.006972f, -0.006231f, -0.003009f, 0.003206f, -0.000013f, -0.003386f, -0.006255f, -0.006834f, 0.004182f, 0.001750f, -0.002986f, 0.003660f, -0.025214f, -0.039964f, 0.014208f, 0.051966f, 0.025403f, -0.009711f, -0.040190f, -0.013929f, 0.002541f, 0.005634f, -0.007825f, 0.019748f, 0.013287f, -0.014566f, -0.007567f, -0.001930f, -0.026594f, 0.036955f, - -0.016835f, 0.013183f, -0.003096f, -0.008677f, -0.032394f, 0.010640f, 0.006717f, -0.004008f, 0.003907f, 0.014537f, -0.005296f, 0.036145f, -0.008092f, -0.005476f, 0.030117f, -0.003327f, -0.021625f, -0.019299f, -0.037355f, 0.005175f, -0.008293f, -0.011564f, -0.008143f, -0.027361f, -0.011475f, -0.025619f, 0.002744f, -0.022542f, 0.020419f, -0.012718f, -0.000414f, 0.006401f, 0.002543f, 0.011845f, -0.010839f, -0.027676f, 0.012084f, -0.003136f, 0.006914f, -0.006141f, -0.002782f, 0.000885f, 0.026732f, 0.040036f, 0.010883f, -0.012480f, 0.013842f, 0.014582f, 0.015910f, -0.006457f, -0.013328f, 0.020458f, 0.009690f, 0.027317f, 0.006381f, 0.007357f, 0.000822f, 0.008275f, 0.024580f, 0.033577f, 0.016537f, 0.005746f, 0.012646f, 0.005389f, -0.006932f, -0.022847f, -0.014478f, 0.002706f, 0.011193f, 0.001851f, -0.000496f, -0.008493f, -0.003101f, 0.004810f, 0.003287f, -0.018032f, -0.003344f, 0.004199f, -0.000658f, -0.008926f, -0.007444f, -0.009989f, 0.002027f, -0.001672f, 0.007003f, 0.012958f, 0.007682f, 0.000533f, -0.004150f, 0.007973f, 0.009589f, 0.000745f, 0.003297f, -0.012546f, -0.000326f, -0.004173f, - -0.012834f, 0.002850f, 0.002512f, -0.011477f, -0.001042f, -0.002597f, 0.004529f, -0.004385f, 0.011069f, 0.000179f, 0.015146f, 0.077258f, 0.002239f, -0.021044f, 0.064870f, 0.032401f, 0.028890f, 0.055853f, 0.056222f, 0.015712f, 0.018155f, 0.013762f, 0.061074f, 0.002832f, -0.021001f, 0.025913f, 0.006012f, -0.024002f, -0.026259f, 0.023039f, 0.023048f, 0.043300f, -0.003848f, 0.002851f, 0.001016f, 0.005655f, -0.025479f, 0.028839f, 0.020721f, 0.008630f, -0.019691f, 0.030538f, -0.008920f, -0.001967f, -0.040554f, -0.009287f, -0.002663f, -0.002944f, -0.021181f, 0.013815f, -0.019670f, -0.011852f, -0.011339f, 0.005500f, -0.013490f, -0.019230f, -0.025724f, 0.027295f, -0.019473f, 0.029050f, 0.013446f, 0.023793f, 0.007901f, -0.024932f, -0.000801f, -0.039867f, -0.017867f, -0.021901f, 0.008688f, -0.027805f, -0.014547f, -0.005363f, 0.000592f, 0.028076f, 0.003332f, -0.004842f, -0.045192f, 0.017663f, 0.015767f, -0.001470f, -0.000103f, -0.023450f, 0.017978f, 0.001521f, -0.019492f, 0.053524f, 0.012411f, -0.007435f, -0.000376f, -0.022149f, 0.003875f, 0.026602f, -0.006881f, -0.002663f, -0.029716f, -0.018188f, - 0.011146f, -0.004637f, -0.013981f, 0.017058f, 0.010965f, -0.018300f, 0.016155f, -0.006634f, 0.005297f, -0.006433f, 0.015821f, 0.002897f, -0.002188f, -0.000030f, 0.004030f, -0.021974f, 0.000495f, -0.008417f, 0.006639f, 0.006897f, 0.010781f, -0.009311f, 0.007938f, 0.005292f, 0.004878f, 0.007411f, 0.009574f, -0.001166f, 0.007441f, -0.010847f, 0.018453f, -0.008730f, 0.015657f, -0.011151f, 0.007085f, -0.023616f, -0.043310f, 0.013301f, 0.013044f, -0.013401f, 0.028191f, -0.031172f, 0.033860f, -0.024427f, -0.014227f, 0.010899f, 0.007836f, 0.087389f, 0.034146f, 0.013091f, -0.054535f, -0.001451f, -0.012944f, -0.028905f, -0.008399f, -0.010565f, -0.009568f, -0.003236f, -0.045351f, -0.000873f, -0.017159f, 0.000562f, 0.022078f, -0.024057f, 0.028650f, -0.009393f, -0.031709f, -0.028290f, 0.022697f, 0.017411f, -0.007092f, -0.015620f, 0.028950f, -0.015622f, -0.014754f, 0.022754f, -0.000650f, 0.007001f, -0.023444f, -0.000792f, -0.013784f, 0.029185f, -0.004400f, 0.041866f, -0.015660f, 0.006290f, 0.012617f, -0.001199f, 0.001602f, 0.012770f, -0.026995f, -0.004332f, 0.034406f, 0.002787f, 0.009445f, -0.000324f, - -0.027898f, 0.011921f, -0.019474f, 0.009913f, 0.030080f, 0.039016f, 0.042558f, 0.044797f, -0.009664f, 0.015717f, -0.000357f, 0.024035f, 0.054304f, -0.059647f, 0.046370f, -0.027581f, 0.012466f, 0.037265f, -0.023515f, 0.002389f, 0.011711f, 0.010153f, -0.002777f, 0.025932f, -0.010046f, -0.008219f, 0.010981f, -0.006238f, 0.025006f, -0.003724f, 0.009487f, -0.020164f, -0.003261f, -0.000621f, -0.016214f, -0.006847f, -0.020455f, 0.000193f, 0.005939f, 0.001967f, 0.022752f, -0.007528f, 0.001558f, 0.002426f, 0.009689f, 0.002348f, 0.009775f, -0.013503f, 0.010170f, 0.003083f, -0.000537f, 0.007190f, 0.009977f, -0.011365f, 0.010366f, -0.021823f, -0.019207f, 0.013395f, -0.006406f, -0.015498f, -0.002170f, 0.006279f, -0.009875f, 0.017490f, -0.020780f, -0.046239f, -0.008818f, 0.009156f, 0.000779f, 0.010642f, -0.034093f, -0.004807f, -0.006880f, -0.048875f, -0.037584f, 0.019210f, 0.020348f, 0.009195f, 0.014063f, -0.025101f, -0.012122f, -0.017839f, 0.053372f, 0.012634f, 0.001575f, 0.039747f, 0.023058f, 0.019911f, 0.018152f, 0.015538f, -0.028032f, 0.020075f, 0.008283f, -0.008790f, 0.015965f, -0.014328f, - -0.013939f, 0.027680f, -0.012030f, 0.017391f, 0.036792f, 0.001146f, 0.007089f, -0.000788f, 0.002430f, -0.008132f, -0.021511f, -0.027361f, -0.044215f, 0.018002f, -0.037450f, 0.013942f, 0.014618f, 0.018731f, 0.000154f, 0.001016f, -0.005227f, -0.028974f, -0.013671f, 0.014521f, -0.009985f, 0.014988f, 0.036776f, -0.011433f, 0.028134f, 0.012755f, 0.003132f, -0.001736f, -0.010023f, -0.026846f, -0.001122f, -0.036233f, -0.012537f, 0.038541f, -0.020667f, 0.006000f, -0.063806f, 0.030144f, -0.011821f, 0.009616f, -0.049238f, -0.043940f, 0.004134f, 0.011602f, 0.022519f, -0.050973f, -0.005390f, 0.000490f, 0.034630f, 0.028225f, 0.032049f, -0.010378f, 0.000668f, 0.004711f, 0.016753f, 0.003833f, 0.009208f, 0.026335f, 0.015033f, -0.010269f, 0.009600f, 0.002416f, 0.001881f, -0.000748f, -0.005646f, -0.022052f, 0.007670f, -0.010773f, 0.003256f, 0.008489f, -0.000294f, 0.001764f, -0.000311f, 0.008504f, -0.005415f, 0.035540f, 0.009690f, -0.001603f, 0.019914f, 0.011874f, 0.001644f, 0.005779f, -0.000624f, -0.016157f, 0.020934f, -0.007077f, 0.002804f, 0.024830f, 0.013903f, -0.008041f, 0.000085f, -0.010211f, - 0.016486f, 0.011198f, 0.013777f, 0.012638f, 0.037861f, -0.089946f, -0.022378f, -0.053346f, 0.017872f, -0.047888f, -0.016319f, -0.054298f, 0.014385f, -0.028221f, -0.021992f, -0.004459f, -0.046473f, -0.016634f, -0.049777f, -0.024847f, -0.057603f, 0.012582f, -0.053306f, -0.020806f, -0.027781f, -0.015268f, -0.014768f, -0.012208f, -0.050885f, -0.028796f, -0.038751f, -0.019596f, -0.011311f, 0.022102f, -0.003337f, 0.016551f, -0.031723f, -0.004932f, 0.001662f, -0.036160f, 0.006877f, -0.002341f, 0.002933f, 0.009734f, -0.036959f, -0.001871f, 0.013435f, -0.004342f, 0.015166f, 0.030780f, 0.055247f, -0.045794f, 0.002697f, 0.061774f, 0.000170f, 0.030432f, -0.021702f, 0.038364f, 0.006852f, -0.008892f, -0.051302f, -0.029922f, 0.042388f, 0.026458f, 0.041394f, 0.001739f, -0.029058f, 0.010796f, 0.014895f, 0.029903f, -0.055756f, 0.000622f, 0.010450f, -0.030500f, -0.010329f, -0.013057f, -0.018718f, -0.044380f, 0.068901f, -0.012449f, -0.022240f, -0.013931f, 0.014230f, 0.016790f, -0.039054f, -0.036012f, -0.001501f, 0.011772f, 0.001751f, 0.000348f, -0.007657f, -0.012939f, -0.000216f, 0.034987f, 0.021494f, 0.000003f, - -0.028663f, -0.019581f, 0.003184f, -0.010814f, 0.007558f, 0.009405f, 0.004658f, -0.002789f, -0.014780f, 0.006267f, 0.007311f, -0.003858f, 0.011080f, -0.006220f, -0.025415f, -0.011852f, -0.001440f, 0.007605f, -0.001870f, -0.007957f, -0.037169f, -0.014654f, -0.008485f, 0.003026f, 0.004709f, -0.015865f, -0.028762f, 0.011493f, 0.017363f, -0.015083f, 0.000759f, -0.013240f, 0.014650f, -0.004624f, -0.025652f, 0.038439f, -0.064829f, -0.000598f, -0.012929f, 0.028066f, -0.014353f, -0.039817f, 0.034745f, -0.069956f, -0.060496f, -0.049771f, 0.028472f, -0.014758f, 0.001494f, -0.027115f, -0.025844f, -0.029997f, 0.016781f, 0.014696f, 0.048715f, 0.023047f, 0.009768f, 0.045526f, -0.012202f, 0.016547f, -0.016508f, 0.014275f, 0.008111f, 0.027145f, 0.043675f, 0.022929f, -0.009226f, -0.026729f, -0.016097f, -0.005419f, 0.024473f, -0.008064f, 0.006739f, 0.000976f, -0.011427f, 0.023303f, -0.001600f, 0.019136f, 0.014046f, -0.037249f, 0.030623f, 0.056538f, 0.008669f, 0.047297f, 0.045616f, 0.020780f, 0.015010f, 0.000135f, 0.024034f, -0.015032f, -0.055096f, -0.017872f, 0.040667f, 0.000418f, -0.020356f, 0.021037f, - 0.057810f, -0.013222f, 0.004284f, -0.041934f, 0.041164f, 0.037053f, -0.002851f, 0.011927f, -0.019091f, 0.095114f, -0.059849f, -0.051821f, -0.049074f, 0.004147f, 0.001571f, -0.014397f, 0.042234f, -0.059552f, -0.001189f, -0.038067f, 0.014379f, 0.016867f, -0.002854f, 0.041320f, 0.009350f, -0.003503f, -0.022553f, -0.000279f, 0.010255f, 0.030104f, -0.020819f, -0.026572f, 0.010900f, -0.015838f, -0.004348f, 0.003675f, 0.007040f, 0.002452f, -0.000012f, -0.002000f, -0.025170f, 0.002364f, 0.005810f, 0.017152f, -0.014974f, -0.008403f, 0.009496f, 0.004542f, 0.006548f, 0.000573f, -0.016520f, -0.001884f, -0.018728f, -0.014161f, 0.018464f, 0.009414f, 0.010314f, 0.007244f, -0.000827f, 0.003559f, -0.005248f, 0.011232f, 0.001358f, -0.005154f, -0.001291f, -0.016375f, -0.006317f, -0.010914f, 0.006380f, 0.103992f, -0.022923f, 0.057922f, 0.099927f, -0.034083f, 0.047911f, 0.021133f, -0.062933f, 0.057448f, 0.008740f, -0.027580f, 0.042401f, 0.017995f, 0.039840f, -0.000409f, -0.033592f, 0.031718f, 0.010952f, 0.000095f, 0.010031f, -0.009694f, -0.035531f, -0.021272f, -0.017001f, -0.030842f, -0.022815f, -0.005898f, - 0.023674f, -0.021253f, -0.012697f, -0.030377f, 0.006446f, 0.002530f, 0.004882f, 0.041536f, -0.024872f, 0.009964f, -0.023071f, -0.013117f, 0.023913f, -0.019133f, -0.042655f, -0.054914f, 0.063205f, 0.028005f, -0.015632f, 0.043492f, -0.040013f, -0.035147f, -0.021283f, -0.003574f, 0.006449f, 0.000238f, -0.037235f, -0.027482f, -0.029102f, -0.064176f, -0.039996f, -0.034603f, 0.012448f, 0.021452f, -0.001697f, 0.037169f, 0.007150f, -0.038420f, -0.033012f, 0.050169f, -0.042988f, 0.005984f, 0.044101f, -0.005872f, -0.075683f, 0.052841f, -0.027844f, 0.008306f, 0.003522f, 0.043687f, -0.010416f, -0.017023f, -0.002102f, -0.025330f, 0.013284f, -0.043539f, 0.014873f, -0.055926f, -0.035527f, 0.021314f, -0.023469f, -0.007068f, -0.002893f, -0.033321f, 0.011013f, -0.019578f, 0.016023f, -0.005323f, -0.000413f, 0.001410f, 0.020818f, -0.015171f, -0.011638f, 0.003338f, -0.020684f, -0.009529f, 0.003411f, -0.013953f, -0.014405f, -0.010372f, -0.005980f, -0.016232f, -0.008643f, 0.022177f, -0.018022f, 0.008369f, 0.013851f, -0.003608f, 0.014803f, -0.019673f, 0.002442f, -0.013928f, 0.028595f, 0.004973f, 0.010499f, -0.020128f, - 0.025174f, 0.016742f, 0.019362f, 0.007695f, 0.002797f, 0.005746f, 0.014205f, -0.013926f, 0.001877f, -0.050279f, 0.030130f, -0.014071f, 0.050998f, 0.035390f, -0.081610f, -0.010018f, 0.008615f, -0.049414f, -0.008129f, -0.007889f, 0.060198f, 0.043710f, 0.040203f, 0.050371f, -0.001911f, -0.034911f, -0.027250f, -0.027747f, 0.001281f, -0.077619f, 0.009296f, 0.066868f, -0.060814f, -0.109477f, 0.011116f, -0.040841f, 0.080862f, -0.000342f, 0.002593f, 0.054448f, -0.024928f, 0.011336f, -0.002585f, -0.014555f, 0.047042f, -0.013416f, 0.023757f, 0.079387f, -0.058381f, -0.033098f, -0.053222f, 0.026615f, 0.004312f, 0.053192f, -0.030516f, 0.021048f, 0.002718f, 0.048451f, 0.028337f, -0.023477f, -0.015844f, 0.018413f, -0.008867f, -0.002019f, -0.034259f, -0.033527f, 0.017520f, -0.007391f, -0.010074f, -0.019021f, 0.043579f, -0.016482f, -0.017737f, 0.073467f, 0.078257f, 0.050903f, -0.066828f, -0.005822f, -0.021132f, 0.025985f, 0.097480f, -0.012273f, -0.074625f, -0.004800f, -0.030861f, 0.043919f, 0.019417f, -0.049821f, 0.026071f, 0.019433f, 0.025423f, -0.048081f, -0.017559f, 0.003621f, 0.042416f, 0.002672f, - -0.007085f, 0.007029f, -0.014843f, 0.003391f, 0.042377f, 0.020719f, -0.017985f, -0.021306f, -0.005092f, 0.013439f, 0.016795f, 0.022515f, -0.021532f, -0.008088f, -0.039260f, -0.008195f, 0.024432f, -0.024514f, -0.004114f, -0.015159f, -0.014291f, -0.023046f, -0.005091f, 0.015616f, -0.003782f, -0.001727f, 0.003646f, 0.009913f, -0.010630f, -0.029432f, -0.030729f, 0.018281f, 0.013846f, 0.025569f, -0.013113f, 0.018725f, 0.054863f, 0.002765f, -0.033302f, -0.005452f, 0.002695f, -0.003119f, -0.020950f, -0.047945f, 0.007242f, -0.039356f, 0.036248f, 0.020783f, -0.038398f, 0.065490f, 0.099383f, 0.002765f, -0.004574f, -0.034047f, -0.034336f, 0.005731f, 0.005786f, -0.016814f, 0.089901f, -0.008165f, 0.067068f, 0.053640f, -0.067639f, -0.002202f, -0.022641f, -0.072487f, 0.018319f, 0.016708f, 0.039610f, 0.067687f, -0.002000f, -0.019441f, 0.022343f, 0.024486f, 0.053399f, 0.022254f, 0.004943f, 0.043821f, 0.046268f, 0.015809f, -0.010587f, 0.040175f, 0.017993f, 0.048297f, 0.010403f, 0.013855f, 0.030316f, 0.051156f, -0.008520f, -0.040742f, -0.046942f, -0.015438f, -0.016306f, 0.080521f, 0.044212f, 0.124349f, - -0.005783f, -0.062851f, 0.055250f, -0.019070f, -0.021480f, -0.018925f, -0.042331f, 0.006137f, 0.023792f, -0.001034f, -0.023714f, 0.088312f, -0.017651f, 0.104233f, -0.028576f, 0.056037f, 0.004913f, -0.017740f, -0.056947f, -0.081428f, 0.076240f, -0.007495f, -0.013026f, -0.023482f, 0.070851f, -0.000149f, -0.074358f, 0.136204f, 0.042854f, 0.014725f, -0.015656f, -0.057351f, 0.028659f, 0.001410f, 0.028846f, -0.026735f, 0.020572f, 0.010226f, -0.012876f, -0.019798f, 0.003516f, -0.023905f, -0.011165f, -0.027139f, 0.003139f, -0.004904f, -0.000377f, 0.008779f, 0.022247f, -0.022834f, 0.008691f, -0.011248f, -0.000706f, 0.029735f, 0.019915f, -0.010903f, -0.037497f, -0.001404f, -0.002271f, 0.004771f, 0.034151f, -0.022407f, -0.013178f, 0.008366f, 0.021395f, -0.031380f, 0.001997f, 0.020295f, -0.000567f, -0.002644f, -0.032633f, 0.016616f, -0.001147f, 0.015103f, -0.034113f, 0.003587f, 0.014276f, 0.011119f, 0.016671f, -0.032885f, -0.034445f, 0.022337f, 0.092375f, -0.054895f, -0.035330f, 0.007505f, 0.016641f, -0.010447f, 0.065353f, 0.050936f, 0.051397f, 0.017390f, 0.025347f, 0.043289f, 0.026668f, -0.015649f, - -0.025844f, -0.058082f, -0.009470f, 0.031958f, 0.010858f, 0.006930f, -0.021717f, -0.054929f, -0.016119f, -0.007673f, 0.055971f, 0.000815f, -0.006773f, 0.042550f, -0.006830f, 0.011805f, 0.008992f, -0.094612f, 0.024200f, 0.025622f, -0.016616f, -0.040417f, 0.007619f, -0.053331f, -0.027252f, -0.081712f, 0.024648f, -0.068213f, -0.135412f, 0.015771f, -0.001930f, 0.095364f, -0.003353f, 0.032434f, 0.078613f, -0.012835f, -0.020477f, 0.035024f, -0.000772f, -0.068604f, -0.024070f, 0.009084f, 0.011360f, 0.050719f, 0.021013f, 0.045172f, 0.039009f, -0.028046f, -0.021105f, 0.019281f, 0.057441f, -0.023893f, -0.012136f, -0.052751f, -0.036537f, 0.014077f, -0.071365f, 0.020730f, -0.080147f, 0.015273f, -0.021190f, 0.056897f, -0.024899f, 0.040346f, -0.085891f, -0.017430f, 0.011646f, -0.051015f, 0.012826f, 0.009104f, 0.008745f, -0.038467f, 0.020149f, -0.037666f, 0.010680f, -0.002832f, -0.016150f, -0.006841f, -0.003866f, 0.012118f, -0.013235f, -0.005961f, -0.010633f, 0.024608f, -0.016068f, 0.014404f, -0.036327f, 0.019144f, -0.002191f, -0.002855f, 0.005105f, 0.035165f, 0.012115f, 0.015063f, -0.042099f, 0.005532f, - -0.017320f, -0.051820f, 0.020741f, -0.016562f, -0.013302f, -0.019110f, 0.019231f, -0.009288f, 0.009219f, 0.010938f, -0.005124f, 0.002336f, -0.012834f, 0.003706f, 0.010504f, -0.002434f, -0.001691f, -0.019765f, 0.072589f, 0.077367f, 0.180809f, 0.021312f, -0.101191f, -0.075978f, -0.055925f, -0.064555f, 0.126566f, 0.168923f, 0.057282f, -0.016113f, -0.053110f, 0.001883f, -0.064277f, 0.070760f, 0.066908f, 0.019856f, 0.009700f, -0.041901f, -0.006057f, 0.077865f, 0.018166f, 0.031289f, 0.026370f, 0.081706f, 0.068750f, -0.026490f, -0.060743f, -0.080310f, -0.054126f, -0.008045f, 0.022393f, 0.073456f, 0.044061f, -0.015323f, 0.039815f, -0.055741f, -0.018973f, -0.125355f, -0.019797f, 0.123398f, 0.095369f, -0.019195f, 0.250029f, 0.078439f, 0.007336f, -0.137076f, -0.023360f, -0.011754f, -0.032158f, 0.035021f, 0.019439f, 0.029675f, 0.052474f, -0.111853f, -0.120498f, -0.060537f, -0.081292f, -0.011596f, 0.027529f, 0.101215f, -0.060537f, 0.037035f, 0.157745f, 0.078872f, 0.027459f, 0.044235f, 0.032185f, -0.095278f, -0.157715f, 0.080675f, -0.039025f, 0.034743f, 0.084442f, 0.093448f, 0.008232f, -0.056498f, - -0.074480f, -0.060697f, 0.065264f, 0.037760f, 0.011352f, 0.065181f, -0.064993f, -0.011279f, -0.010441f, -0.028748f, -0.033662f, -0.002863f, -0.001010f, 0.021148f, 0.006515f, -0.009321f, 0.000127f, -0.000819f, 0.001022f, 0.005580f, 0.012011f, 0.018825f, -0.018904f, -0.025721f, -0.088335f, -0.048304f, -0.043713f, 0.052092f, 0.030742f, 0.018614f, -0.072363f, -0.070772f, -0.114118f, -0.031122f, 0.044684f, 0.057270f, 0.074421f, 0.029223f, 0.021655f, 0.008672f, 0.007055f, -0.002168f, 0.016563f, -0.004037f, 0.053222f, 0.037778f, 0.007387f, 0.000375f, 0.000161f, -0.009232f, -0.000349f, -0.038457f, -0.165541f, -0.039445f, 0.092284f, 0.176712f, 0.155687f, 0.373256f, 0.195359f, 0.132561f, 0.116635f, 0.053087f, -0.020873f, -0.188551f, -0.236703f, -0.353119f, -0.270416f, -0.277399f, -0.105532f, 0.001404f, 0.106242f, 0.197655f, 0.163054f, 0.168517f, 0.116145f, 0.158562f, 0.124120f, 0.175561f, 0.083609f, 0.065492f, 0.031323f, -0.045109f, -0.069424f, -0.106330f, -0.064283f, -0.231010f, -0.097572f, -0.218643f, -0.157754f, -0.250251f, -0.148763f, -0.232937f, -0.082718f, -0.115443f, -0.037579f, 0.017901f, - 0.118303f, 0.310213f, 0.295392f, 0.413894f, 0.280146f, 0.191134f, 0.248147f, 0.338938f, 0.298272f, 0.250552f, 0.174820f, 0.021156f, -0.169400f, -0.168138f, -0.208471f, -0.396763f, -0.438060f, -0.477119f, -0.476472f, -0.523169f, -0.452493f, -0.381139f, -0.336163f, -0.218847f, 0.025224f, 0.249170f, 0.433328f, 0.572828f, 0.713996f, 0.794505f, 0.553876f, 0.528282f, 0.342832f, 0.207782f, 0.196309f, -0.011638f, -0.064784f, -0.304204f, -0.583212f, -0.628058f, -0.509907f, -0.394053f, -0.232184f, -0.187789f, -0.191308f, -0.105423f, -0.164287f, -0.066369f, -0.018234f, 0.126350f, 0.239674f, 0.197000f, 0.256200f, 0.275462f, 0.293726f, 0.259547f, 0.346274f, 0.257473f, 0.210864f, 0.109091f, 0.022414f, -0.058306f, -0.268206f, -0.237405f, -0.318417f, -0.422038f, -0.382509f, -0.438311f, -0.450635f, -0.131222f, 0.014758f, 0.229208f, 0.280336f, 0.298759f, 0.346533f, 0.362148f, 0.307051f, 0.267287f, 0.204812f, 0.155522f, 0.056172f, -0.039806f, -0.119426f, -0.215171f, -0.316481f, -0.296218f, -0.264675f, -0.197723f, -0.093227f, -0.040770f, -0.019498f, -0.011357f, 0.029165f, 0.061253f, 0.073917f, 0.079862f, - 0.065641f, 0.052875f, 0.056920f, 0.046689f, 0.034522f, 0.063773f, 0.071031f, 0.054793f, 0.026045f, 0.013525f, 0.020838f, 0.027059f, 0.006411f, -0.001161f, -0.002481f, -0.007501f, -0.011974f, -0.004983f, -0.003283f}, - {0.024074f, 0.001085f, 0.004053f, 0.003381f, -0.009811f, -0.005067f, 0.013338f, 0.023226f, 0.003744f, 0.012381f, -0.005017f, 0.002354f, -0.000638f, 0.010487f, -0.008297f, -0.018913f, 0.007657f, 0.008875f, -0.011034f, 0.012811f, 0.006303f, 0.011688f, 0.003696f, 0.002791f, -0.005097f, -0.001619f, 0.000611f, 0.007795f, 0.000704f, -0.011704f, 0.000517f, -0.000936f, 0.002536f, -0.001620f, 0.002089f, 0.002823f, 0.006984f, 0.005079f, 0.001668f, 0.002196f, 0.000693f, 0.003436f, -0.003609f, -0.005835f, -0.012982f, 0.002517f, 0.002852f, 0.001059f, 0.009941f, -0.003514f, 0.007724f, 0.002143f, -0.003090f, -0.006124f, -0.003975f, 0.013934f, 0.002975f, 0.007777f, 0.001287f, 0.003069f, -0.002683f, 0.000479f, 0.000922f, 0.004006f, -0.001215f, -0.005188f, -0.002821f, -0.010802f, 0.001187f, 0.002110f, 0.009224f, -0.002970f, 0.007046f, -0.001233f, 0.004606f, 0.000078f, 0.004146f, 0.003228f, 0.001922f, -0.001738f, 0.004768f, 0.006600f, 0.004592f, 0.004306f, -0.000175f, 0.000923f, 0.001053f, -0.003661f, 0.001505f, 0.000809f, 0.003182f, 0.001640f, 0.001292f, 0.001691f, 0.002265f, -0.001315f, - 0.001354f, -0.001010f, -0.000166f, 0.008924f, 0.008618f, 0.003933f, 0.003524f, 0.004705f, 0.005697f, 0.008424f, -0.003677f, 0.008741f, 0.000095f, 0.009340f, -0.002052f, 0.016631f, 0.005650f, 0.005490f, -0.011343f, -0.001598f, -0.002576f, -0.014761f, 0.008058f, 0.006784f, -0.004664f, -0.019335f, -0.008806f, -0.002916f, 0.009411f, 0.012941f, 0.008163f, -0.005195f, 0.002758f, -0.008302f, 0.000386f, 0.000701f, -0.006754f, -0.003376f, -0.017490f, 0.001424f, -0.002203f, -0.007338f, 0.000750f, 0.000988f, -0.002382f, -0.000575f, 0.016719f, -0.004044f, 0.013615f, 0.002631f, -0.010549f, 0.000759f, 0.001008f, 0.007641f, -0.003458f, 0.002151f, 0.001798f, 0.000564f, 0.010416f, 0.003598f, 0.010693f, 0.007855f, -0.005520f, 0.009743f, 0.004734f, 0.007107f, 0.000647f, 0.002304f, -0.002527f, -0.004675f, -0.008848f, -0.010891f, 0.011288f, -0.011315f, -0.008737f, -0.009365f, 0.005202f, 0.004697f, 0.002049f, 0.002019f, 0.006599f, -0.004306f, 0.004958f, -0.003260f, -0.004554f, 0.007207f, -0.006701f, 0.001089f, 0.003353f, -0.005650f, 0.001321f, 0.000778f, -0.000913f, -0.000917f, -0.000535f, 0.003762f, - -0.001288f, 0.001378f, -0.001728f, 0.002879f, -0.000859f, 0.001594f, -0.002065f, -0.015076f, -0.014017f, 0.003019f, 0.000280f, -0.003040f, 0.008401f, -0.001107f, -0.001461f, 0.008716f, -0.009598f, 0.001878f, -0.008378f, -0.005429f, -0.003024f, 0.000090f, 0.014247f, 0.016178f, -0.007515f, 0.006338f, -0.011654f, -0.001117f, -0.004562f, 0.015718f, -0.004648f, -0.000893f, 0.001646f, -0.022139f, -0.003850f, -0.010934f, -0.003603f, -0.002715f, 0.008247f, 0.010954f, 0.004489f, 0.014806f, -0.001895f, -0.006743f, -0.006841f, 0.008551f, 0.022222f, 0.015534f, -0.008665f, -0.010133f, 0.011119f, -0.009971f, 0.001902f, 0.003548f, 0.018211f, -0.006699f, -0.008966f, 0.001987f, -0.005559f, 0.003485f, 0.004648f, 0.011577f, -0.012666f, -0.008218f, 0.007444f, 0.013986f, -0.001273f, -0.006487f, -0.008224f, -0.019765f, 0.007521f, -0.000032f, 0.005913f, 0.000928f, 0.000536f, -0.003105f, 0.003653f, -0.005044f, 0.003158f, 0.004275f, 0.004335f, -0.007014f, 0.005183f, -0.001282f, -0.004898f, 0.000478f, -0.010352f, 0.006512f, 0.001013f, 0.000829f, -0.004093f, -0.001413f, -0.003457f, -0.007235f, -0.005462f, 0.003856f, - 0.000397f, 0.001564f, -0.001312f, 0.000514f, -0.000368f, -0.002065f, -0.001592f, -0.003019f, 0.000360f, -0.001730f, -0.001251f, -0.000419f, 0.000729f, -0.000529f, 0.001042f, -0.000552f, 0.003691f, 0.001414f, -0.002059f, 0.002482f, 0.001550f, -0.002838f, -0.036658f, -0.012079f, -0.001942f, 0.006247f, 0.004198f, 0.009111f, -0.017516f, -0.005256f, -0.000806f, -0.018172f, -0.012987f, 0.004543f, 0.010966f, 0.006425f, 0.012101f, -0.001572f, 0.006940f, 0.016113f, 0.014219f, 0.013356f, 0.007690f, -0.005189f, -0.004132f, -0.008325f, -0.003701f, -0.008365f, 0.017195f, 0.007973f, -0.002677f, -0.007674f, -0.004688f, -0.007837f, -0.011387f, -0.012292f, -0.015423f, 0.009229f, 0.006608f, -0.017129f, 0.003987f, -0.000956f, 0.011748f, 0.001732f, 0.005762f, 0.007566f, -0.016183f, -0.002597f, -0.000638f, 0.002049f, 0.008424f, 0.012767f, -0.005198f, -0.001961f, -0.003825f, -0.010264f, 0.003075f, 0.001924f, -0.001121f, -0.002883f, 0.009702f, 0.000420f, -0.005440f, -0.001940f, 0.004573f, 0.006117f, -0.002568f, -0.000401f, 0.001579f, -0.008959f, 0.006504f, -0.000809f, -0.013331f, 0.001399f, -0.016260f, 0.002445f, - 0.011993f, -0.004155f, -0.000543f, -0.018337f, -0.008943f, -0.013662f, -0.008267f, -0.001264f, -0.001459f, 0.008257f, 0.001577f, 0.009716f, -0.005979f, 0.003173f, 0.005293f, 0.001632f, 0.005207f, 0.000453f, -0.003602f, 0.001881f, -0.001643f, 0.001529f, 0.000098f, 0.000535f, -0.000724f, -0.002673f, -0.000980f, 0.002047f, -0.002465f, 0.001475f, 0.004115f, 0.001946f, 0.001021f, -0.000084f, 0.000081f, -0.001079f, -0.001678f, -0.002900f, 0.001950f, 0.002459f, -0.001639f, 0.001541f, -0.001729f, 0.020116f, 0.007600f, 0.003394f, -0.005014f, 0.014819f, 0.005764f, 0.008373f, 0.023509f, 0.025434f, 0.000992f, -0.004136f, -0.009000f, -0.013833f, 0.005100f, 0.010050f, -0.005180f, -0.001035f, 0.001461f, -0.002424f, -0.008097f, 0.009537f, -0.009305f, 0.004401f, -0.026900f, -0.003888f, -0.006527f, -0.006541f, -0.013277f, -0.002775f, -0.001692f, 0.000207f, -0.006789f, -0.009740f, -0.007644f, 0.001069f, -0.005053f, -0.010332f, 0.006214f, 0.008883f, 0.000760f, -0.008475f, -0.009481f, 0.003500f, -0.007292f, 0.008378f, -0.010438f, 0.006757f, 0.002480f, -0.000124f, -0.014887f, -0.013813f, 0.003241f, -0.010007f, - 0.016288f, 0.002909f, 0.013674f, -0.007060f, 0.013764f, 0.002681f, 0.008874f, 0.003014f, 0.008410f, -0.007703f, -0.010993f, -0.000218f, 0.017688f, -0.001718f, -0.011857f, -0.006298f, 0.007729f, -0.004929f, -0.006763f, 0.001798f, -0.018925f, 0.012814f, 0.015456f, -0.000952f, -0.013125f, -0.016593f, -0.000480f, 0.013975f, 0.010117f, -0.007900f, 0.010746f, 0.001126f, -0.001534f, -0.002079f, -0.001083f, -0.000889f, 0.002976f, -0.004675f, -0.004028f, 0.000369f, 0.001624f, -0.003511f, 0.001308f, -0.001640f, -0.000471f, 0.003717f, -0.001467f, -0.000796f, 0.000622f, -0.005843f, 0.003122f, 0.000784f, 0.000558f, 0.001363f, 0.001876f, -0.000245f, 0.000520f, -0.001140f, -0.001112f, -0.000871f, -0.000653f, 0.028933f, 0.005930f, 0.015906f, -0.006236f, 0.011923f, 0.008874f, 0.018554f, -0.013707f, -0.009769f, -0.003121f, 0.001105f, 0.013196f, -0.006159f, 0.020023f, -0.001454f, 0.011390f, 0.009852f, -0.005571f, 0.004074f, 0.011541f, 0.010688f, 0.002751f, 0.002981f, 0.010516f, -0.021651f, 0.003569f, 0.016813f, 0.013132f, -0.011687f, 0.014660f, -0.017254f, 0.010524f, -0.015215f, -0.007678f, -0.003976f, - 0.015902f, -0.003221f, 0.016650f, 0.003715f, 0.003598f, 0.000840f, -0.000548f, 0.006597f, 0.009776f, 0.021682f, 0.003418f, 0.018713f, -0.009191f, 0.013681f, 0.018011f, -0.000558f, -0.003220f, -0.006486f, 0.006970f, -0.025714f, -0.002128f, 0.002543f, -0.009625f, -0.015256f, -0.000851f, -0.000963f, -0.002056f, 0.006745f, -0.015708f, 0.007957f, 0.006938f, 0.009997f, -0.024773f, 0.008540f, 0.005966f, -0.014640f, -0.001715f, 0.008086f, 0.018245f, -0.023096f, -0.002857f, 0.001785f, -0.021833f, -0.001910f, 0.003215f, -0.006048f, 0.014360f, -0.003193f, 0.001254f, 0.004058f, -0.002509f, -0.000698f, -0.000975f, 0.002587f, -0.005649f, 0.000875f, -0.002929f, 0.001769f, 0.000520f, -0.003183f, -0.000348f, 0.004009f, -0.001758f, -0.000756f, 0.000102f, -0.004576f, -0.001751f, 0.000947f, -0.001770f, -0.002057f, -0.000660f, 0.000935f, -0.002557f, -0.001026f, 0.003230f, 0.004407f, -0.005595f, -0.000086f, 0.000916f, -0.025711f, -0.031512f, -0.025231f, -0.022786f, -0.000783f, 0.016053f, -0.033261f, 0.023677f, 0.015300f, -0.037345f, 0.023508f, 0.009981f, 0.008031f, 0.003712f, 0.003599f, 0.008463f, -0.005889f, - -0.006084f, -0.012296f, -0.000352f, 0.014308f, 0.012128f, 0.007037f, -0.021257f, 0.014512f, -0.015189f, 0.000391f, -0.013355f, 0.016658f, -0.008827f, -0.006927f, 0.005282f, -0.025041f, 0.002512f, -0.008315f, -0.007465f, -0.002697f, 0.001805f, 0.024572f, -0.011589f, -0.003798f, -0.009351f, 0.018679f, -0.011367f, -0.006167f, 0.005779f, 0.005593f, 0.005288f, 0.006587f, -0.007754f, 0.008989f, 0.002312f, -0.020556f, 0.028218f, 0.011183f, 0.004567f, 0.002902f, -0.000135f, -0.013185f, 0.016153f, 0.013485f, 0.005659f, 0.018056f, 0.001934f, 0.007920f, 0.018200f, 0.009217f, 0.003919f, -0.012593f, 0.014996f, -0.006637f, 0.028644f, -0.003181f, 0.000763f, -0.007880f, -0.030046f, 0.003859f, -0.007287f, -0.003646f, 0.015419f, -0.001387f, -0.016301f, -0.009365f, 0.013252f, 0.011006f, 0.001728f, 0.012764f, 0.003384f, -0.009534f, 0.004479f, -0.001004f, -0.003164f, -0.002725f, 0.001041f, 0.007504f, -0.003601f, 0.000833f, 0.001346f, 0.004169f, 0.001619f, -0.003573f, 0.005555f, 0.000692f, 0.001476f, -0.000452f, 0.001433f, 0.000562f, -0.002181f, 0.003053f, -0.002204f, 0.002488f, 0.002046f, -0.001760f, - 0.006258f, -0.000994f, 0.001539f, -0.002277f, -0.001425f, 0.018368f, 0.012497f, -0.002117f, -0.011529f, 0.030176f, 0.047954f, -0.006329f, -0.006677f, 0.023201f, 0.005625f, 0.007654f, 0.006135f, -0.034548f, 0.003785f, -0.022340f, 0.017851f, 0.025484f, -0.006712f, -0.012313f, 0.004140f, 0.016138f, -0.009715f, 0.019494f, -0.007681f, 0.037627f, -0.011034f, 0.007274f, -0.001877f, 0.010204f, 0.026777f, -0.010134f, 0.002606f, -0.002379f, 0.007718f, -0.009956f, -0.004839f, 0.015246f, 0.032849f, 0.002732f, 0.024036f, -0.008933f, 0.003277f, -0.004548f, 0.007982f, 0.017580f, 0.026198f, 0.020440f, 0.019389f, 0.020188f, 0.012734f, -0.003716f, 0.003066f, -0.002808f, 0.000454f, 0.003988f, -0.013186f, -0.003811f, 0.021089f, -0.018607f, 0.007344f, -0.008200f, -0.004957f, -0.009688f, -0.038345f, 0.004248f, 0.020695f, 0.013105f, -0.004787f, -0.018191f, -0.044192f, -0.007144f, 0.017890f, -0.003748f, 0.007018f, -0.013791f, 0.010195f, -0.012722f, 0.011583f, 0.024984f, -0.011058f, -0.013567f, -0.025043f, 0.007496f, 0.003007f, 0.004064f, -0.019819f, 0.001389f, 0.000039f, -0.006015f, 0.001055f, 0.009278f, - 0.000326f, 0.006367f, 0.002754f, 0.004111f, 0.004982f, -0.000912f, 0.007884f, 0.001870f, 0.000716f, -0.001692f, -0.002687f, -0.002235f, 0.007501f, 0.002528f, -0.000366f, 0.005068f, 0.002575f, 0.003649f, -0.000818f, 0.004190f, 0.005033f, 0.006938f, -0.003031f, 0.000712f, -0.002959f, -0.033144f, -0.026043f, 0.003233f, 0.015618f, -0.014994f, -0.009548f, 0.001757f, -0.007808f, -0.049534f, -0.042419f, 0.018402f, 0.017282f, 0.002994f, 0.002695f, -0.018233f, 0.028504f, 0.034267f, 0.021404f, -0.017899f, 0.016754f, 0.022450f, -0.003337f, -0.028808f, -0.012747f, 0.039475f, -0.011583f, 0.003834f, 0.002598f, 0.022119f, -0.017668f, -0.031955f, 0.007096f, 0.014487f, -0.007635f, 0.009224f, 0.020808f, -0.010137f, -0.007727f, -0.001068f, -0.044251f, -0.013003f, 0.015485f, -0.008574f, -0.029502f, 0.005248f, -0.000591f, -0.009473f, 0.006102f, -0.002934f, -0.027959f, -0.023997f, -0.041947f, -0.033627f, 0.006738f, 0.014642f, 0.001582f, -0.010155f, -0.013862f, 0.000221f, -0.009413f, 0.008867f, -0.020042f, 0.000565f, -0.006963f, -0.005970f, -0.006648f, -0.001953f, 0.008125f, -0.009328f, -0.040220f, 0.005950f, - -0.005604f, 0.009866f, 0.011305f, 0.000642f, 0.007924f, 0.009252f, 0.003203f, -0.002430f, 0.005155f, -0.005866f, 0.002503f, -0.012724f, -0.006443f, -0.005772f, -0.006693f, 0.002754f, 0.011381f, -0.005946f, 0.002003f, -0.014445f, 0.001901f, -0.001549f, -0.010364f, 0.004523f, -0.003124f, 0.002569f, 0.004611f, 0.002383f, 0.002204f, 0.008919f, 0.002239f, 0.001063f, 0.003282f, -0.000089f, 0.001511f, 0.001138f, -0.002305f, -0.006946f, -0.001080f, -0.007030f, 0.003550f, -0.005375f, 0.008041f, -0.000029f, 0.011402f, 0.005010f, -0.006402f, -0.004532f, -0.003354f, -0.000521f, 0.016120f, 0.051744f, 0.045991f, 0.035924f, -0.003826f, 0.035121f, 0.011404f, 0.049018f, 0.020777f, -0.001012f, 0.059824f, -0.012456f, -0.003121f, -0.038095f, -0.010037f, -0.000784f, -0.026852f, 0.016069f, 0.024015f, -0.007816f, -0.000329f, -0.021638f, -0.037081f, -0.021900f, -0.028271f, -0.008269f, -0.017078f, -0.005398f, -0.002686f, 0.016970f, 0.004313f, -0.003561f, -0.015283f, -0.005307f, -0.010203f, 0.005395f, 0.000399f, -0.015180f, 0.008001f, 0.010032f, 0.003975f, -0.011746f, -0.015382f, 0.005090f, 0.014206f, -0.002073f, - -0.000537f, -0.027237f, 0.048753f, 0.008129f, -0.009281f, -0.001386f, 0.004317f, 0.020813f, 0.017711f, -0.018403f, 0.010327f, -0.007238f, 0.002203f, -0.003165f, -0.004649f, -0.027944f, -0.024897f, -0.033452f, 0.005029f, -0.001481f, -0.007078f, 0.020864f, -0.006700f, 0.059058f, -0.005868f, -0.003288f, -0.014614f, -0.006611f, 0.007629f, 0.010070f, 0.007098f, -0.000606f, 0.025402f, 0.018138f, -0.003825f, -0.012431f, 0.003310f, -0.007464f, -0.000099f, 0.002271f, -0.008268f, -0.002835f, 0.000144f, -0.002885f, 0.003925f, -0.010215f, 0.005921f, 0.011126f, -0.003532f, 0.005768f, -0.003567f, -0.002924f, -0.004643f, 0.001706f, 0.006143f, -0.002807f, 0.008273f, 0.001429f, 0.002846f, 0.011415f, 0.004868f, -0.001703f, 0.012028f, 0.005314f, 0.008296f, 0.010794f, 0.008311f, 0.000762f, -0.000177f, 0.007943f, -0.007619f, 0.000072f, 0.004788f, 0.002531f, 0.005497f, 0.005062f, 0.002654f, 0.006545f, -0.031832f, -0.044664f, -0.025278f, 0.033671f, 0.026006f, -0.022711f, -0.024058f, 0.036086f, 0.021329f, -0.022441f, -0.031281f, -0.004882f, 0.004921f, 0.003611f, 0.004027f, -0.017881f, 0.018527f, -0.013301f, - 0.036612f, -0.005601f, -0.026366f, 0.006187f, 0.009093f, -0.000098f, 0.002462f, -0.011332f, -0.017274f, -0.000825f, 0.014666f, -0.009105f, 0.011081f, -0.018073f, -0.048927f, -0.039299f, 0.024578f, -0.030593f, 0.024230f, 0.007269f, 0.002502f, -0.010176f, 0.014079f, 0.004713f, -0.004221f, -0.006963f, 0.006394f, 0.014866f, -0.013724f, 0.041170f, -0.010750f, 0.013898f, -0.012773f, 0.003689f, -0.003862f, -0.016043f, 0.039297f, -0.030986f, 0.042782f, -0.001500f, -0.021847f, -0.032571f, 0.016296f, 0.005908f, 0.005027f, 0.001978f, 0.017159f, 0.011821f, 0.015513f, -0.033534f, -0.010574f, 0.000959f, 0.000068f, 0.008538f, -0.025849f, -0.012276f, -0.008804f, -0.004301f, -0.032265f, -0.006444f, -0.011129f, -0.035777f, -0.002402f, -0.020261f, 0.004733f, -0.009474f, 0.002217f, 0.004688f, 0.015191f, 0.009353f, -0.006512f, -0.000937f, -0.013697f, 0.007332f, -0.001464f, 0.006372f, -0.015998f, 0.000915f, -0.006751f, 0.003807f, -0.014800f, 0.002869f, 0.002668f, 0.000779f, -0.003752f, 0.005051f, -0.008952f, 0.006447f, -0.013642f, 0.005063f, -0.009956f, 0.004625f, 0.001857f, 0.006460f, -0.005475f, 0.016448f, - 0.005813f, 0.000304f, -0.010521f, -0.008093f, -0.002207f, 0.010996f, -0.002914f, -0.005305f, -0.005775f, 0.007546f, 0.006585f, 0.076853f, 0.025608f, -0.017119f, 0.039447f, 0.036777f, -0.019046f, -0.024218f, 0.059319f, -0.005317f, 0.013012f, -0.035208f, 0.086359f, 0.003008f, -0.024248f, 0.012530f, 0.004265f, 0.041938f, 0.000666f, 0.052965f, -0.038146f, 0.000792f, -0.041667f, 0.003177f, 0.029170f, 0.001326f, -0.025565f, 0.036080f, 0.019224f, 0.010594f, 0.008610f, -0.012672f, -0.012268f, 0.003235f, -0.018135f, 0.023592f, -0.021189f, -0.028178f, 0.024716f, 0.009336f, -0.032726f, 0.017637f, 0.002027f, -0.023792f, -0.013425f, -0.008012f, 0.012336f, -0.002895f, -0.014426f, 0.017315f, -0.021229f, -0.008471f, -0.007385f, 0.029038f, -0.019302f, 0.013968f, 0.022223f, 0.010238f, -0.013418f, -0.027373f, 0.017088f, -0.023433f, 0.031312f, -0.039827f, 0.052148f, -0.015646f, -0.007563f, -0.007600f, 0.023624f, -0.001886f, 0.008432f, 0.014076f, 0.008356f, 0.020072f, -0.019999f, -0.037832f, 0.002404f, 0.031800f, -0.021594f, -0.010310f, -0.022566f, -0.013596f, 0.005627f, -0.002421f, -0.006684f, 0.013621f, - 0.009690f, 0.007091f, -0.003795f, 0.020867f, 0.012636f, -0.010038f, -0.005455f, 0.003915f, 0.000828f, 0.017614f, 0.011020f, -0.001710f, -0.006128f, -0.004798f, 0.019188f, 0.001535f, -0.010329f, 0.012076f, 0.003368f, 0.000229f, 0.009963f, 0.004384f, -0.002169f, -0.010817f, 0.002577f, 0.012516f, -0.009884f, -0.002688f, 0.014236f, -0.001266f, -0.003404f, -0.004008f, 0.008232f, 0.001334f, -0.000157f, -0.004197f, -0.045603f, -0.006035f, 0.042377f, -0.012614f, -0.025849f, 0.011284f, -0.011944f, -0.002583f, 0.019415f, -0.045961f, -0.026449f, 0.017332f, 0.023855f, 0.031716f, -0.001895f, -0.006351f, 0.013280f, -0.003390f, -0.044749f, -0.031200f, 0.053459f, -0.004322f, -0.046120f, -0.027288f, -0.018329f, -0.015667f, 0.004707f, 0.015333f, 0.001236f, -0.008043f, -0.022815f, -0.035773f, 0.005175f, 0.004452f, -0.000846f, 0.028761f, -0.019412f, -0.055950f, 0.022986f, 0.016123f, -0.064636f, 0.038583f, -0.010116f, -0.033099f, -0.026657f, -0.002696f, 0.037426f, 0.008605f, -0.011850f, -0.013652f, 0.010984f, 0.019216f, -0.026977f, 0.020732f, 0.003794f, 0.015214f, -0.011444f, -0.028723f, 0.025695f, -0.000145f, - 0.028767f, -0.088252f, 0.011610f, 0.013376f, -0.012600f, 0.024251f, 0.028837f, 0.083476f, 0.002795f, -0.055465f, -0.025052f, -0.014638f, -0.053281f, -0.052921f, 0.003163f, -0.030134f, 0.000815f, -0.020084f, 0.020151f, -0.020431f, -0.019473f, 0.035137f, 0.009099f, -0.001367f, -0.001514f, 0.020561f, -0.003951f, -0.002229f, 0.012432f, 0.009705f, -0.007193f, 0.006591f, -0.018456f, -0.004299f, 0.005693f, -0.003699f, -0.005057f, -0.009225f, -0.009253f, -0.005086f, -0.011511f, 0.004675f, -0.014745f, 0.003179f, -0.002196f, 0.014130f, -0.002924f, -0.007528f, -0.005885f, -0.008653f, -0.008731f, -0.002538f, -0.005972f, -0.011226f, -0.007807f, 0.008093f, -0.010603f, -0.005752f, -0.019304f, 0.006036f, 0.008372f, 0.020338f, 0.005042f, -0.002658f, 0.001098f, -0.038388f, 0.006108f, 0.023699f, 0.021085f, -0.034067f, 0.060636f, 0.042294f, -0.019500f, 0.025300f, -0.049164f, -0.010891f, -0.016505f, 0.077567f, 0.049645f, -0.018454f, -0.029635f, -0.036189f, -0.008089f, 0.002074f, 0.014205f, 0.052046f, 0.011025f, 0.008862f, 0.011213f, 0.001461f, -0.017200f, 0.002118f, -0.003290f, 0.024002f, 0.032317f, 0.041054f, - 0.026663f, 0.017432f, -0.004072f, -0.007543f, 0.006486f, 0.037229f, 0.005854f, 0.006644f, -0.037839f, -0.019172f, 0.063823f, 0.025968f, 0.019175f, 0.000529f, 0.038237f, 0.020491f, 0.080596f, -0.004455f, 0.083100f, 0.005967f, -0.025790f, 0.026968f, -0.022450f, -0.016719f, -0.002934f, -0.015270f, 0.000929f, 0.015504f, 0.033264f, 0.005861f, -0.007061f, -0.036332f, 0.011773f, 0.003098f, 0.024050f, -0.028471f, 0.007649f, -0.012520f, 0.004343f, -0.036231f, 0.018488f, -0.031864f, -0.003840f, -0.043405f, -0.059801f, -0.009869f, -0.009302f, 0.049401f, 0.013330f, -0.001407f, 0.009288f, 0.015505f, 0.019263f, 0.003392f, -0.000677f, 0.000943f, -0.034624f, 0.011145f, 0.000557f, 0.032487f, -0.013062f, -0.001410f, -0.008580f, 0.023149f, 0.004643f, 0.021170f, -0.000181f, -0.024188f, 0.011959f, -0.001060f, 0.008139f, -0.018321f, -0.008317f, 0.004677f, 0.005188f, -0.013545f, 0.001395f, 0.012883f, 0.007938f, -0.011867f, -0.013400f, 0.024019f, -0.023839f, 0.010244f, -0.007307f, -0.019206f, 0.006249f, 0.004768f, 0.006300f, 0.008429f, -0.008864f, -0.000798f, 0.011471f, 0.001267f, 0.008004f, -0.003008f, - -0.009062f, -0.008927f, -0.020280f, -0.031094f, 0.009510f, -0.035665f, -0.000019f, 0.042943f, 0.013545f, 0.036591f, -0.042530f, -0.019739f, 0.020909f, 0.004178f, 0.060966f, -0.031076f, 0.036474f, -0.013901f, -0.018402f, -0.045527f, -0.017601f, -0.024533f, 0.030490f, 0.006993f, -0.040417f, 0.050558f, -0.026163f, -0.024516f, 0.004958f, 0.019614f, -0.014779f, 0.034922f, -0.016971f, -0.024510f, -0.012524f, 0.011500f, -0.004253f, -0.006839f, 0.003826f, 0.034802f, -0.023659f, 0.063819f, -0.024809f, -0.000977f, 0.059293f, -0.012054f, 0.010456f, -0.080993f, 0.003612f, 0.014297f, -0.018230f, 0.035505f, -0.064844f, -0.079500f, 0.030131f, -0.014241f, 0.043893f, -0.032921f, -0.030922f, 0.003368f, -0.010166f, 0.067283f, -0.008202f, -0.003259f, 0.015037f, -0.062830f, 0.003575f, -0.063491f, -0.025361f, 0.003475f, 0.015137f, -0.079225f, -0.035285f, -0.009880f, -0.003857f, 0.025413f, -0.033913f, 0.040300f, -0.016622f, 0.004373f, -0.051939f, -0.002806f, -0.045889f, 0.017164f, 0.009937f, 0.033981f, 0.043538f, -0.016395f, 0.028555f, 0.003689f, -0.009337f, 0.014422f, 0.009137f, -0.014191f, -0.014185f, -0.025273f, - -0.000891f, -0.015106f, -0.015596f, 0.005236f, -0.003662f, 0.021462f, -0.029031f, -0.005239f, -0.018239f, 0.007031f, 0.010621f, -0.010272f, -0.001310f, -0.015644f, -0.015395f, 0.017169f, 0.028514f, 0.031854f, 0.006638f, 0.001891f, -0.008551f, 0.005897f, 0.005369f, -0.012292f, -0.019212f, 0.006421f, -0.010078f, -0.014325f, 0.021751f, 0.014911f, 0.012746f, -0.020003f, -0.022807f, -0.048934f, 0.039902f, -0.034980f, -0.010044f, 0.032040f, 0.073206f, -0.020664f, 0.060004f, 0.021554f, 0.015495f, -0.027653f, 0.066476f, 0.010689f, 0.031034f, 0.003183f, -0.038946f, 0.014475f, -0.039108f, -0.038667f, 0.024369f, -0.038517f, -0.008324f, -0.008779f, 0.039420f, 0.003693f, -0.013173f, 0.013079f, 0.017564f, -0.007791f, -0.037089f, -0.008385f, 0.028610f, 0.069510f, 0.015985f, -0.038642f, 0.004329f, -0.007152f, 0.016623f, 0.021336f, 0.035112f, -0.015173f, 0.000835f, 0.023044f, 0.005260f, -0.000856f, 0.046300f, 0.042130f, 0.049793f, 0.017502f, 0.041837f, 0.006056f, 0.025089f, -0.019356f, -0.003528f, 0.005886f, -0.038930f, 0.003267f, 0.065783f, -0.008031f, -0.014467f, 0.014181f, -0.001044f, 0.018027f, - -0.039268f, 0.052200f, -0.032627f, -0.014212f, -0.008995f, 0.002982f, 0.006015f, 0.006995f, -0.057109f, 0.072243f, -0.015706f, -0.022696f, -0.008643f, 0.061391f, -0.007083f, 0.013030f, -0.048440f, -0.033303f, 0.000843f, 0.025730f, 0.023218f, 0.039364f, -0.062909f, -0.019340f, 0.059922f, -0.021270f, 0.006471f, 0.051727f, 0.012079f, 0.011556f, -0.003523f, 0.002074f, -0.019815f, -0.001226f, 0.004725f, 0.014974f, -0.009073f, 0.012512f, -0.022848f, -0.012440f, 0.001027f, -0.006112f, -0.004108f, -0.052432f, -0.041052f, 0.003619f, 0.026307f, -0.024615f, -0.042818f, -0.017143f, -0.035221f, 0.010068f, 0.001266f, -0.013143f, 0.033245f, -0.009414f, 0.013404f, 0.015587f, -0.018563f, -0.012648f, -0.003372f, 0.004344f, -0.001685f, 0.025540f, -0.000726f, 0.001820f, -0.012610f, -0.002551f, -0.019653f, 0.117547f, -0.006900f, 0.023543f, -0.000981f, -0.012112f, 0.003323f, -0.054404f, -0.023208f, -0.016745f, 0.021147f, 0.015063f, 0.026610f, 0.003019f, -0.028607f, 0.029959f, -0.024296f, 0.034544f, 0.025449f, -0.028004f, -0.029971f, 0.003539f, 0.042298f, -0.043392f, 0.018169f, 0.019957f, -0.024768f, 0.011005f, - -0.003196f, 0.015114f, -0.001919f, -0.063247f, 0.035463f, 0.021763f, -0.053267f, 0.064249f, -0.034063f, -0.008207f, -0.021085f, 0.051862f, -0.010280f, -0.044153f, -0.000074f, 0.000653f, 0.042894f, 0.043598f, 0.002908f, -0.033639f, 0.048916f, -0.007899f, 0.008659f, -0.062027f, 0.048872f, 0.019923f, 0.002983f, -0.035577f, -0.026923f, -0.003771f, 0.017039f, -0.028579f, -0.051079f, -0.021735f, 0.040448f, 0.025072f, -0.005915f, 0.065619f, 0.003979f, -0.010596f, -0.047223f, 0.057927f, -0.053695f, -0.017281f, 0.059170f, 0.018762f, 0.007751f, -0.022125f, 0.009277f, 0.058363f, 0.013037f, 0.025664f, 0.036997f, -0.095181f, -0.020763f, -0.015690f, -0.007768f, -0.039373f, -0.006875f, -0.004514f, 0.058046f, 0.015877f, 0.004063f, 0.029632f, 0.041532f, 0.029188f, -0.020336f, 0.011267f, 0.024937f, -0.004669f, 0.009764f, 0.010932f, 0.013421f, 0.008817f, 0.041331f, 0.022541f, 0.002782f, -0.011678f, -0.018292f, -0.035310f, 0.005439f, 0.000360f, 0.009885f, 0.012028f, 0.005837f, 0.062253f, -0.008205f, 0.022755f, 0.013723f, -0.016471f, -0.048819f, -0.007554f, -0.017862f, -0.030195f, -0.032652f, 0.006122f, - -0.005088f, -0.039395f, 0.000508f, 0.015644f, -0.003541f, -0.003417f, 0.014330f, -0.009320f, -0.030040f, -0.047135f, 0.001495f, -0.052768f, 0.049356f, 0.077127f, 0.035807f, 0.043871f, -0.067346f, -0.060034f, -0.047185f, 0.004500f, 0.083448f, -0.015493f, 0.031001f, 0.054231f, 0.027317f, -0.030028f, 0.001751f, 0.039575f, -0.051174f, -0.042787f, -0.036717f, 0.041467f, 0.028898f, -0.053675f, -0.075747f, 0.102570f, 0.063250f, -0.073292f, 0.033077f, -0.008657f, 0.030297f, 0.003146f, -0.022214f, -0.050944f, 0.046362f, -0.001356f, -0.037759f, -0.056533f, 0.014372f, 0.013083f, -0.014329f, 0.001388f, -0.005292f, -0.027956f, -0.012306f, -0.014781f, 0.026118f, -0.049560f, 0.054486f, -0.037423f, 0.001948f, 0.085721f, -0.082866f, -0.020101f, 0.078099f, 0.005596f, 0.018219f, -0.011714f, -0.024542f, 0.024429f, -0.009163f, -0.034561f, 0.004394f, -0.078690f, 0.133186f, -0.013201f, -0.147073f, 0.055539f, 0.144883f, 0.085459f, -0.179298f, -0.052210f, 0.033795f, 0.012880f, -0.027406f, -0.041394f, 0.022239f, 0.054698f, -0.067552f, -0.018676f, -0.117770f, -0.020351f, 0.040494f, 0.014774f, -0.036089f, -0.058924f, - 0.023023f, 0.051564f, -0.001244f, -0.015941f, -0.028365f, 0.040983f, 0.024236f, 0.016649f, -0.003606f, -0.012401f, 0.004732f, 0.022890f, 0.017650f, -0.004198f, -0.047300f, -0.029386f, 0.048893f, 0.020999f, -0.025440f, -0.017160f, 0.035029f, 0.011757f, -0.005084f, -0.071523f, -0.032954f, -0.035672f, 0.039975f, 0.010999f, 0.008606f, -0.007430f, 0.000843f, 0.039048f, -0.008115f, -0.006940f, -0.034263f, 0.006760f, -0.011204f, 0.054523f, 0.011392f, -0.012198f, 0.006451f, 0.055046f, -0.007346f, -0.037164f, 0.008553f, 0.036581f, 0.085434f, -0.035787f, 0.027837f, -0.045173f, -0.119821f, 0.064721f, -0.030186f, -0.065484f, -0.045435f, -0.066943f, 0.032114f, 0.022409f, -0.090161f, 0.057963f, -0.031440f, -0.002171f, -0.001123f, -0.046162f, 0.035662f, 0.035667f, 0.031329f, -0.002848f, 0.040991f, 0.021564f, -0.024909f, 0.002400f, -0.051433f, -0.018478f, -0.045638f, -0.031663f, -0.002279f, 0.074273f, -0.061955f, -0.013065f, -0.013391f, -0.055315f, 0.032479f, -0.062411f, 0.032372f, 0.028284f, -0.042528f, 0.033664f, -0.068337f, 0.019797f, -0.059425f, 0.038710f, -0.022302f, -0.031193f, -0.032608f, -0.048197f, - -0.013117f, 0.024566f, 0.042115f, -0.048918f, 0.032754f, 0.018594f, 0.051299f, 0.063384f, 0.036545f, -0.052294f, -0.024469f, -0.098527f, -0.025046f, -0.028456f, 0.032746f, -0.115020f, -0.021961f, -0.068319f, -0.006054f, 0.068980f, 0.063170f, 0.041814f, 0.014617f, 0.092810f, 0.101286f, 0.090493f, -0.031133f, -0.040344f, 0.034189f, 0.088591f, 0.163262f, 0.012040f, 0.038125f, 0.020160f, -0.008880f, 0.030439f, -0.029587f, 0.018048f, -0.007796f, -0.000191f, -0.019122f, 0.030883f, 0.035305f, -0.012130f, -0.029463f, -0.021996f, 0.026704f, 0.012122f, 0.030300f, -0.016457f, 0.011651f, -0.005803f, -0.013661f, -0.008464f, 0.030085f, 0.060022f, 0.028401f, -0.030771f, 0.015600f, -0.010479f, 0.021235f, 0.009823f, 0.010409f, 0.029481f, -0.019018f, -0.039119f, 0.003088f, 0.030507f, 0.023549f, 0.008394f, -0.006068f, -0.013317f, -0.054262f, 0.053367f, 0.014661f, -0.012273f, -0.056411f, -0.012906f, -0.038821f, 0.019506f, -0.018878f, 0.013907f, 0.106861f, -0.063105f, 0.039811f, 0.048828f, -0.022734f, 0.004596f, 0.018411f, -0.005802f, 0.051705f, 0.002824f, 0.037366f, -0.047929f, -0.007043f, 0.041958f, - 0.006642f, -0.065101f, 0.041986f, -0.025921f, -0.021494f, -0.024784f, -0.006735f, -0.024176f, 0.024478f, 0.034687f, 0.016571f, -0.005927f, -0.018423f, 0.030098f, -0.010048f, -0.047827f, 0.038974f, -0.080820f, -0.020656f, -0.016581f, -0.018053f, 0.046237f, 0.050255f, 0.090694f, -0.026859f, 0.038831f, -0.001714f, 0.017531f, 0.059141f, -0.004288f, 0.006076f, -0.039583f, -0.125111f, 0.061845f, 0.011630f, -0.060240f, -0.041579f, 0.006124f, 0.032361f, -0.005727f, -0.035648f, 0.018365f, -0.036547f, 0.047717f, 0.026332f, -0.020785f, -0.043784f, 0.086478f, 0.009230f, 0.004597f, -0.008215f, 0.011993f, 0.005823f, 0.003774f, -0.029362f, -0.061458f, 0.016706f, -0.009004f, -0.022163f, -0.056646f, -0.014226f, -0.001686f, 0.050224f, 0.020825f, -0.063941f, 0.037092f, 0.006320f, -0.002437f, -0.007357f, 0.020679f, 0.026226f, -0.005279f, -0.012194f, -0.004542f, -0.011558f, 0.009766f, 0.015462f, -0.000731f, 0.008738f, 0.017656f, -0.006835f, 0.025505f, 0.010557f, 0.007803f, 0.013118f, -0.007242f, 0.031682f, 0.005352f, -0.007083f, 0.020833f, -0.025563f, 0.008074f, 0.014220f, -0.006042f, -0.011111f, 0.028752f, - 0.041209f, -0.037229f, -0.007194f, -0.013165f, -0.013049f, 0.014774f, 0.012554f, -0.023424f, 0.012617f, 0.010303f, 0.008948f, 0.010784f, -0.021274f, 0.014896f, -0.001917f, 0.008745f, -0.006923f, 0.005972f, 0.118911f, 0.060648f, 0.119655f, -0.110491f, 0.009554f, 0.057432f, -0.022277f, 0.065416f, 0.126252f, 0.069282f, 0.004026f, -0.034019f, -0.035080f, 0.006545f, 0.054717f, 0.058594f, 0.013313f, -0.000147f, -0.087136f, -0.017960f, 0.085931f, 0.028429f, -0.023969f, 0.047459f, -0.040377f, -0.056481f, -0.015515f, -0.003771f, 0.066438f, 0.086773f, 0.077954f, 0.029537f, -0.030222f, -0.046458f, -0.086188f, -0.085701f, 0.074645f, 0.031305f, 0.006117f, 0.115284f, 0.006984f, -0.035300f, -0.047177f, -0.047933f, 0.023316f, 0.049254f, 0.039199f, 0.075621f, 0.005370f, 0.054413f, -0.003568f, -0.009780f, 0.027565f, 0.050380f, 0.036855f, 0.032017f, -0.028737f, -0.010886f, -0.022666f, -0.051102f, -0.040942f, -0.074475f, -0.024928f, 0.019967f, -0.012227f, 0.054182f, 0.065135f, -0.001061f, 0.000618f, -0.026668f, -0.047612f, 0.009823f, 0.062939f, -0.003626f, 0.034837f, 0.015280f, -0.004569f, -0.019716f, - -0.009065f, 0.005761f, 0.021977f, 0.017135f, -0.016818f, -0.035230f, -0.043551f, -0.040866f, -0.015833f, 0.016607f, -0.004250f, -0.025679f, -0.013137f, -0.017816f, -0.015061f, 0.008437f, -0.002271f, 0.024137f, 0.034531f, 0.007763f, -0.041975f, -0.021569f, -0.025143f, -0.005696f, 0.028332f, 0.006854f, 0.006976f, -0.034316f, -0.032511f, -0.037041f, -0.019019f, 0.032377f, 0.022053f, 0.027954f, 0.015017f, -0.013486f, -0.016717f, 0.011886f, 0.010732f, -0.002858f, 0.007280f, -0.014133f, -0.011391f, 0.008461f, 0.005929f, 0.011707f, -0.006813f, -0.014039f, -0.006483f, -0.010745f, -0.002031f, -0.063164f, -0.123185f, 0.048606f, 0.200874f, 0.204245f, 0.172882f, 0.125268f, -0.077322f, -0.088180f, -0.095292f, -0.126731f, -0.193939f, -0.156231f, -0.135704f, 0.062990f, 0.145763f, 0.108407f, 0.234429f, 0.181190f, 0.094462f, -0.034872f, -0.063208f, -0.157617f, -0.123066f, -0.121848f, -0.024938f, -0.074670f, -0.060659f, 0.018060f, 0.032952f, 0.066384f, 0.066613f, 0.091417f, 0.090662f, 0.116989f, 0.068205f, 0.029990f, -0.017072f, -0.019789f, -0.051536f, -0.077940f, -0.094130f, -0.115043f, -0.075383f, -0.141293f, - -0.094171f, -0.070672f, 0.070646f, 0.134020f, 0.144506f, 0.099972f, 0.068080f, 0.106698f, 0.081607f, 0.102398f, 0.080438f, 0.028180f, -0.038096f, -0.179431f, -0.126933f, -0.129365f, -0.200754f, -0.125953f, -0.109040f, -0.105806f, 0.038361f, 0.106329f, 0.168852f, 0.139039f, 0.198516f, 0.178172f, 0.174201f, 0.124187f, -0.067908f, -0.061460f, -0.139600f, -0.184568f, -0.203382f, -0.166815f, -0.080136f, -0.022812f, -0.042239f, 0.054915f, 0.145354f, 0.102458f, 0.069163f, 0.116570f, 0.097935f, 0.034942f, -0.023218f, -0.023387f, -0.007709f, -0.028672f, -0.078429f, -0.049318f, -0.056088f, -0.030360f, -0.025251f, -0.058456f, -0.021772f, 0.019958f, -0.019728f, 0.064457f, 0.085099f, 0.093509f, 0.098914f, 0.006014f, 0.029393f, 0.028758f, -0.008652f, -0.135913f, -0.108504f, -0.084817f, -0.075782f, -0.059713f, -0.056656f, 0.062291f, 0.093131f, 0.101236f, 0.096878f, 0.079836f, 0.054674f, 0.049182f, -0.000986f, -0.014880f, -0.078747f, -0.106216f, -0.095140f, -0.079411f, -0.050754f, -0.033145f, 0.003545f, 0.047454f, 0.096582f, 0.072208f, 0.045836f, 0.033064f, 0.008821f, -0.001022f, -0.000310f, -0.019750f, - -0.025628f, -0.021343f, -0.025085f, 0.005387f, -0.009736f, -0.034471f, 0.003959f, 0.015582f, -0.006601f, -0.009174f, -0.007624f, 0.003133f, 0.005732f, -0.007803f, 0.001490f, 0.008673f, 0.002502f, 0.000940f, 0.000034f} - }, - { - {-0.006192f, 0.006233f, 0.005383f, 0.011961f, -0.016344f, 0.003472f, 0.010816f, 0.019685f, -0.002106f, 0.011068f, -0.000443f, 0.010044f, 0.002462f, 0.015432f, -0.000290f, -0.005075f, 0.010451f, 0.014785f, 0.014081f, 0.008243f, 0.002291f, -0.005784f, -0.004492f, 0.001334f, 0.007197f, -0.003707f, 0.003358f, 0.000822f, 0.008179f, -0.004010f, -0.000203f, 0.001968f, -0.009709f, -0.005726f, -0.002837f, -0.010234f, 0.002460f, -0.002942f, -0.000059f, -0.001457f, -0.008433f, 0.006511f, 0.010117f, -0.002164f, 0.000840f, 0.000849f, -0.001581f, 0.010625f, -0.012959f, -0.000123f, 0.005407f, 0.001355f, 0.001748f, -0.003208f, -0.010727f, -0.002839f, 0.004218f, 0.004858f, 0.005535f, -0.001071f, 0.000224f, -0.000024f, 0.002216f, -0.001925f, 0.011303f, 0.000216f, -0.000955f, -0.007486f, 0.001036f, -0.005392f, -0.004041f, 0.004341f, 0.004881f, 0.011510f, 0.000449f, 0.011314f, 0.001337f, 0.001128f, 0.000808f, -0.006147f, 0.000413f, -0.002259f, -0.003030f, 0.001122f, 0.003696f, -0.002422f, 0.001517f, -0.002503f, 0.002943f, -0.003146f, -0.000898f, -0.001674f, 0.001721f, -0.001087f, 0.001610f, -0.001474f, - 0.001890f, 0.003127f, 0.001662f, -0.001709f, -0.000383f, -0.000939f, -0.000748f, 0.000805f, 0.000737f, 0.012926f, 0.020968f, 0.002802f, 0.010439f, -0.003792f, 0.006201f, 0.008089f, -0.002488f, -0.006493f, 0.010995f, 0.018957f, -0.003717f, 0.002101f, 0.007337f, -0.009082f, 0.005653f, 0.008091f, -0.016575f, 0.004659f, 0.001621f, -0.003733f, 0.000004f, -0.017265f, 0.000705f, 0.004832f, -0.008204f, 0.001515f, 0.000292f, 0.011054f, 0.007901f, -0.004155f, -0.001179f, -0.001054f, -0.011750f, -0.007906f, 0.001295f, 0.004744f, 0.001065f, 0.005271f, -0.007762f, 0.001169f, 0.003880f, 0.000798f, -0.007186f, -0.005267f, -0.001591f, 0.002498f, 0.005818f, 0.006012f, 0.004015f, 0.007019f, 0.006876f, -0.007719f, -0.002359f, 0.000309f, 0.009773f, -0.001491f, 0.007013f, -0.004615f, -0.004770f, -0.001481f, -0.008778f, -0.004056f, 0.001802f, 0.005120f, -0.007492f, 0.007332f, -0.002073f, -0.002194f, -0.001462f, -0.002975f, -0.003788f, 0.001513f, 0.005708f, 0.002124f, 0.009527f, -0.013217f, -0.010650f, -0.002350f, 0.003950f, -0.000145f, -0.002170f, 0.002016f, 0.000299f, 0.002446f, 0.004022f, 0.006729f, - 0.000123f, -0.000401f, 0.001597f, -0.000629f, -0.000095f, 0.001034f, -0.003073f, -0.001656f, -0.006378f, 0.002517f, 0.012185f, 0.017168f, 0.009994f, -0.004345f, 0.007403f, -0.004526f, -0.003005f, -0.014724f, -0.011680f, 0.005279f, 0.011278f, 0.010991f, 0.011497f, 0.002541f, 0.000641f, 0.007090f, -0.009456f, 0.009516f, 0.007744f, 0.000695f, 0.006655f, 0.017021f, 0.011612f, 0.003231f, -0.012223f, 0.000339f, 0.004137f, 0.002625f, 0.002041f, -0.013432f, 0.003233f, 0.002452f, 0.008999f, 0.009894f, -0.003094f, 0.006348f, -0.004806f, -0.005374f, 0.007236f, 0.004077f, -0.012823f, -0.012171f, -0.005306f, -0.006847f, -0.005065f, -0.005443f, -0.014818f, -0.013444f, -0.001199f, 0.004828f, -0.000070f, -0.001436f, -0.009981f, 0.001313f, 0.011880f, -0.003349f, -0.003734f, 0.004450f, -0.000010f, 0.008562f, 0.004327f, 0.004365f, -0.005523f, -0.006854f, 0.012754f, 0.005809f, -0.005088f, 0.008373f, -0.001106f, 0.006522f, -0.005523f, 0.001009f, 0.009417f, -0.003595f, -0.003038f, 0.006759f, 0.000841f, 0.002678f, 0.004047f, -0.004704f, 0.005285f, -0.002224f, 0.004331f, 0.004328f, 0.003375f, -0.003028f, - 0.001108f, -0.001523f, -0.002545f, -0.003295f, 0.000189f, 0.000360f, 0.002132f, 0.001794f, 0.000500f, -0.000199f, 0.001674f, 0.000488f, 0.001166f, -0.023761f, -0.013971f, -0.004391f, 0.004512f, -0.009804f, 0.002995f, -0.002695f, 0.006843f, -0.001676f, -0.013290f, -0.010593f, 0.009207f, 0.007512f, 0.019034f, 0.016786f, -0.002549f, 0.012139f, -0.018289f, -0.002996f, 0.014223f, 0.004265f, 0.003301f, -0.001895f, -0.005975f, -0.002808f, 0.001967f, -0.001654f, -0.000556f, 0.007175f, -0.008971f, 0.001978f, 0.003257f, -0.000239f, 0.005659f, -0.006189f, -0.005057f, 0.003233f, -0.003935f, 0.005037f, -0.010032f, 0.001637f, -0.006030f, -0.002396f, -0.006716f, -0.005048f, -0.007629f, -0.011328f, 0.006917f, -0.000102f, 0.011799f, -0.011075f, -0.009469f, -0.000109f, 0.002249f, -0.001329f, -0.002285f, 0.000748f, 0.007099f, 0.003374f, 0.001515f, -0.004893f, -0.004706f, -0.002694f, -0.008841f, 0.001367f, -0.002306f, 0.000998f, -0.000437f, -0.009535f, -0.000820f, -0.000792f, -0.010081f, 0.000238f, -0.001922f, 0.001128f, -0.001722f, -0.011241f, 0.000985f, 0.004991f, -0.002253f, 0.007356f, 0.002018f, -0.004002f, - 0.003088f, 0.007719f, 0.002525f, 0.001294f, 0.001726f, -0.001692f, 0.000933f, 0.006027f, -0.000508f, -0.001012f, 0.002202f, 0.002447f, 0.000930f, 0.001963f, 0.000396f, 0.000794f, -0.004101f, 0.000400f, -0.000363f, -0.002044f, -0.001502f, -0.001520f, -0.002114f, 0.000264f, -0.001745f, 0.008253f, -0.012686f, 0.005160f, -0.014188f, -0.002484f, 0.000772f, -0.010531f, 0.009979f, 0.007553f, -0.021104f, -0.002147f, 0.003627f, -0.001962f, -0.009198f, -0.012423f, 0.002625f, -0.006257f, -0.010270f, -0.005104f, 0.006186f, 0.005424f, 0.015076f, 0.019523f, -0.001640f, 0.017444f, -0.010649f, 0.006853f, 0.007661f, -0.001566f, 0.007546f, -0.004311f, 0.000218f, -0.001157f, -0.003541f, -0.001887f, -0.003972f, 0.014521f, -0.000762f, -0.010865f, -0.002537f, 0.007258f, 0.004580f, 0.005797f, 0.001214f, -0.005097f, 0.010679f, 0.021622f, 0.001401f, 0.002151f, 0.001319f, -0.001646f, 0.003478f, -0.001491f, 0.012421f, -0.009499f, 0.011882f, 0.008165f, -0.007475f, 0.003815f, 0.007752f, 0.005235f, -0.008971f, -0.009806f, -0.019251f, -0.003200f, -0.001785f, 0.002401f, 0.007494f, -0.001863f, 0.004891f, -0.001690f, - -0.005093f, -0.005159f, 0.009994f, -0.002325f, 0.010597f, -0.015643f, -0.006124f, 0.003530f, -0.009860f, 0.002516f, 0.010655f, 0.000954f, -0.000052f, 0.000725f, 0.002291f, 0.001404f, -0.005968f, -0.001976f, -0.000955f, 0.000813f, -0.001044f, 0.001890f, 0.002746f, 0.001344f, -0.001717f, -0.004090f, 0.004425f, 0.001635f, 0.001732f, 0.001085f, 0.001296f, 0.000251f, 0.000126f, -0.002016f, 0.001851f, 0.000793f, 0.000730f, 0.000244f, 0.001941f, 0.001216f, 0.002323f, -0.002767f, -0.001629f, -0.003236f, -0.002926f, -0.000865f, 0.002323f, -0.001928f, 0.000218f, 0.005607f, 0.002482f, 0.000285f, 0.007534f, 0.021865f, 0.025771f, -0.006691f, -0.000599f, 0.005434f, -0.003902f, 0.016697f, 0.016287f, -0.010255f, 0.015965f, 0.012557f, 0.004829f, 0.007284f, 0.006501f, 0.003331f, -0.001411f, 0.001166f, 0.002134f, -0.008810f, -0.010796f, 0.002832f, -0.003032f, -0.000132f, 0.001850f, -0.009530f, 0.009602f, 0.019311f, -0.000620f, -0.011586f, 0.018863f, 0.002295f, 0.000559f, 0.007411f, -0.003338f, -0.005665f, 0.002724f, -0.007105f, 0.002809f, 0.019277f, 0.008234f, -0.000147f, 0.006864f, 0.010473f, - 0.027182f, -0.004459f, 0.011709f, -0.002346f, -0.011867f, 0.007765f, 0.000667f, -0.003947f, 0.005312f, 0.016672f, 0.004239f, 0.002951f, -0.000292f, 0.006667f, 0.024039f, 0.010785f, 0.002958f, 0.002427f, 0.006285f, -0.006965f, 0.012265f, -0.003198f, -0.023906f, 0.002886f, -0.002624f, 0.014346f, 0.016850f, 0.007300f, -0.007308f, -0.006596f, -0.006248f, -0.000873f, 0.005184f, 0.000470f, 0.003480f, 0.002404f, 0.003648f, 0.010762f, 0.004576f, -0.008588f, -0.003812f, 0.001155f, 0.002882f, 0.000517f, -0.000320f, 0.000287f, -0.004808f, 0.004934f, 0.001057f, 0.000969f, 0.000421f, 0.000966f, 0.000336f, 0.003677f, -0.001644f, 0.002666f, -0.002844f, -0.000849f, -0.004417f, 0.000810f, -0.001785f, -0.000289f, 0.001440f, -0.029027f, -0.003347f, -0.012277f, -0.014652f, -0.003792f, -0.010472f, 0.000567f, 0.008860f, -0.013594f, 0.014078f, -0.030157f, 0.004216f, -0.008876f, -0.016188f, -0.021547f, 0.022483f, 0.011340f, 0.001370f, -0.019083f, -0.012613f, 0.007230f, -0.024963f, -0.017319f, 0.005822f, 0.005361f, 0.025186f, -0.003202f, 0.002021f, 0.018802f, -0.011220f, 0.018471f, 0.006227f, 0.006820f, - -0.003667f, -0.010995f, -0.001378f, 0.015397f, -0.008341f, 0.001386f, 0.019156f, -0.006938f, -0.005748f, -0.009224f, -0.011500f, -0.009793f, -0.007479f, -0.015449f, -0.001971f, 0.004753f, -0.005390f, 0.003503f, -0.005156f, -0.007864f, 0.010746f, -0.013782f, 0.008369f, -0.011702f, -0.014920f, 0.000807f, 0.012172f, 0.000884f, -0.003735f, 0.004940f, -0.009966f, -0.004911f, -0.013940f, -0.024677f, -0.011746f, 0.003611f, -0.007550f, 0.028376f, 0.011213f, -0.019657f, -0.009991f, -0.002841f, -0.007155f, 0.009172f, 0.019149f, 0.012692f, -0.009314f, 0.008965f, -0.011037f, 0.006714f, 0.000972f, 0.008988f, -0.009770f, -0.002222f, 0.000850f, -0.004203f, -0.008330f, -0.006871f, 0.001286f, -0.000365f, -0.001939f, 0.004459f, 0.001675f, 0.000772f, -0.002749f, 0.002706f, -0.000533f, -0.002047f, -0.006041f, -0.000041f, -0.003093f, 0.000626f, 0.002718f, -0.001897f, -0.006704f, -0.000684f, -0.002826f, 0.031503f, 0.020495f, 0.021559f, -0.006320f, -0.030644f, -0.002479f, -0.015705f, 0.003892f, 0.006781f, 0.016438f, -0.007755f, 0.007181f, -0.012614f, 0.002101f, -0.011129f, -0.028529f, -0.015386f, 0.010847f, -0.010420f, - -0.022618f, -0.021250f, -0.019780f, -0.030845f, 0.003785f, -0.010822f, -0.023506f, -0.021136f, 0.003656f, 0.029643f, -0.004016f, -0.004979f, -0.009970f, -0.018019f, 0.003665f, -0.007187f, 0.001922f, -0.022471f, 0.001385f, -0.023405f, 0.003216f, -0.001925f, 0.012516f, 0.009713f, 0.010410f, 0.005355f, -0.000933f, 0.008664f, -0.005785f, 0.017063f, 0.004758f, 0.008631f, 0.005140f, -0.005599f, 0.006037f, 0.017197f, -0.002292f, 0.009603f, -0.002488f, 0.027055f, 0.003442f, 0.010163f, 0.001281f, -0.015177f, -0.011653f, 0.000534f, -0.005420f, 0.003500f, -0.003967f, 0.008971f, 0.007958f, 0.010429f, -0.004831f, 0.005953f, -0.020798f, 0.011058f, 0.030318f, -0.014627f, -0.003116f, 0.008082f, -0.017511f, -0.001180f, 0.010905f, -0.006844f, -0.001114f, -0.003610f, 0.009485f, -0.009738f, -0.002350f, 0.002671f, -0.005474f, 0.002672f, -0.001912f, 0.004044f, -0.005064f, -0.005005f, 0.005589f, -0.002494f, -0.005559f, 0.003956f, -0.002202f, 0.000156f, -0.007844f, 0.006027f, 0.001998f, -0.001259f, -0.001304f, 0.003454f, 0.001209f, 0.003351f, 0.002409f, 0.000636f, -0.003358f, -0.005874f, -0.001727f, -0.015177f, - -0.044175f, -0.007263f, -0.015454f, -0.023181f, 0.012450f, -0.044282f, -0.005806f, -0.015727f, -0.008644f, 0.012837f, -0.014170f, 0.018784f, 0.016104f, 0.002612f, 0.014515f, 0.001327f, 0.007644f, -0.011519f, -0.020452f, -0.022416f, -0.012624f, -0.020541f, 0.015974f, 0.021047f, -0.000969f, -0.011040f, 0.006001f, 0.006090f, -0.007805f, 0.001576f, -0.035122f, -0.018509f, 0.016233f, -0.008908f, 0.000404f, 0.016025f, -0.001590f, 0.009924f, 0.008396f, -0.004536f, 0.009617f, -0.000088f, -0.018759f, 0.020830f, -0.014699f, 0.001028f, 0.001075f, -0.011454f, 0.007572f, 0.012429f, -0.007389f, 0.014197f, 0.001522f, -0.001082f, -0.013028f, 0.016035f, -0.000160f, -0.012948f, -0.004366f, -0.025963f, -0.010970f, -0.014813f, -0.001945f, 0.017892f, 0.005092f, -0.001677f, 0.000232f, -0.016795f, 0.003719f, 0.012957f, -0.017028f, 0.000998f, 0.025917f, -0.010672f, 0.002489f, 0.001992f, -0.018528f, -0.011088f, 0.011760f, 0.009922f, -0.030109f, 0.006078f, 0.022419f, -0.000089f, 0.002628f, 0.000157f, 0.005364f, -0.001692f, 0.014135f, -0.003225f, -0.000639f, 0.001841f, 0.002676f, -0.006411f, 0.001584f, 0.005022f, - 0.001494f, 0.008457f, 0.003053f, -0.000155f, -0.003141f, -0.006616f, -0.001963f, 0.003182f, -0.004155f, 0.003011f, -0.004259f, -0.000094f, 0.005803f, 0.003166f, -0.004156f, -0.005557f, 0.000255f, 0.000220f, 0.012398f, -0.004985f, 0.000985f, 0.006838f, 0.002719f, 0.006681f, 0.078588f, 0.017488f, -0.010310f, -0.015768f, -0.001545f, -0.004987f, 0.013910f, -0.003105f, 0.011753f, 0.022287f, -0.009018f, 0.001121f, -0.014781f, -0.010100f, 0.004708f, -0.002434f, 0.011419f, -0.022033f, -0.012951f, 0.010400f, 0.022041f, 0.014578f, -0.000729f, 0.005232f, -0.005458f, -0.013268f, 0.009543f, 0.017261f, 0.018050f, 0.021845f, -0.018145f, -0.004285f, -0.010433f, -0.022438f, -0.002893f, 0.001167f, -0.004976f, 0.010316f, 0.013548f, -0.000029f, 0.006655f, -0.004024f, -0.023906f, -0.012973f, -0.031953f, -0.032355f, -0.009511f, 0.010846f, -0.004799f, -0.014326f, 0.027054f, 0.010266f, -0.001175f, -0.025426f, -0.001234f, -0.007824f, -0.018263f, 0.000240f, -0.008396f, -0.011772f, -0.025264f, -0.003214f, -0.009381f, -0.027678f, -0.000083f, 0.021208f, -0.014314f, -0.006731f, 0.007748f, -0.011889f, 0.004661f, -0.011778f, - 0.017178f, -0.005495f, -0.016756f, -0.025857f, -0.042601f, 0.008439f, 0.007107f, 0.032543f, 0.013003f, 0.011306f, -0.000237f, 0.009922f, -0.007730f, 0.010515f, -0.001046f, 0.003752f, 0.005123f, 0.012469f, 0.005596f, 0.000578f, -0.002351f, -0.000535f, 0.004831f, 0.003154f, 0.012803f, 0.010201f, 0.006682f, 0.002296f, -0.002705f, -0.006710f, 0.003637f, 0.008461f, 0.000665f, 0.000643f, -0.001650f, -0.005911f, -0.001121f, -0.000774f, -0.002971f, -0.002022f, -0.004734f, 0.004007f, 0.005604f, -0.005192f, -0.005507f, -0.000163f, -0.000792f, 0.003127f, 0.017680f, -0.062270f, -0.035481f, 0.033012f, -0.008577f, 0.002123f, -0.017104f, 0.014404f, -0.005900f, -0.024025f, 0.011553f, 0.033373f, 0.004291f, -0.029197f, 0.008249f, -0.006355f, -0.006669f, 0.019217f, 0.019938f, -0.002684f, -0.004041f, 0.042024f, 0.009404f, -0.006037f, -0.025810f, 0.011442f, -0.037022f, -0.030476f, -0.028077f, 0.011405f, -0.005298f, -0.003005f, 0.024159f, 0.009637f, -0.024505f, -0.020485f, 0.005353f, 0.023853f, 0.008182f, -0.002714f, 0.001374f, 0.015907f, -0.011470f, -0.025890f, 0.033815f, -0.009923f, 0.003526f, 0.013656f, - 0.002126f, 0.004693f, 0.034774f, 0.000614f, 0.022157f, 0.001011f, -0.023275f, 0.003382f, 0.004991f, -0.004817f, 0.004455f, 0.015828f, -0.011765f, -0.003567f, 0.004056f, -0.046031f, 0.012223f, 0.009422f, -0.000258f, 0.011055f, 0.008616f, -0.017077f, 0.008102f, 0.063236f, 0.027184f, 0.015626f, 0.004586f, 0.015361f, -0.048615f, -0.023043f, 0.024602f, 0.000986f, -0.000227f, -0.018653f, 0.016439f, 0.019901f, 0.016661f, 0.002777f, 0.003489f, -0.006677f, 0.000263f, -0.011569f, -0.004209f, 0.009128f, -0.002067f, -0.005837f, 0.004738f, 0.000367f, 0.004545f, -0.006752f, -0.002871f, 0.002255f, -0.001244f, 0.004598f, -0.008084f, -0.002803f, 0.005726f, -0.006455f, 0.004625f, 0.001667f, 0.000574f, 0.000156f, 0.000028f, -0.005243f, 0.002577f, 0.004790f, -0.002452f, -0.002458f, -0.005627f, 0.002417f, -0.000382f, -0.041753f, 0.029344f, 0.031349f, 0.010149f, 0.017281f, -0.011566f, 0.050054f, -0.005853f, 0.019076f, 0.013104f, -0.023128f, -0.009434f, -0.010688f, 0.029145f, -0.017334f, -0.005340f, 0.018303f, 0.015469f, -0.017038f, -0.004562f, -0.049203f, 0.009250f, -0.005484f, -0.014380f, 0.004226f, - 0.001390f, 0.003599f, 0.004582f, 0.016617f, 0.000742f, 0.018205f, 0.002233f, 0.008857f, -0.004648f, -0.015876f, -0.016830f, 0.031742f, -0.011255f, -0.023043f, -0.019305f, -0.008815f, -0.010592f, 0.013752f, 0.008618f, 0.010583f, 0.014118f, 0.004180f, -0.017350f, 0.009946f, -0.028335f, -0.009330f, -0.024751f, 0.017040f, -0.029888f, -0.021534f, -0.006293f, -0.010124f, 0.009012f, 0.020114f, -0.015948f, 0.018987f, 0.031382f, 0.015515f, 0.030233f, -0.012690f, 0.040562f, 0.003671f, 0.034374f, 0.019423f, 0.004336f, -0.018327f, -0.045949f, -0.031114f, -0.025213f, -0.014384f, -0.014105f, -0.004535f, -0.021363f, 0.016128f, 0.026971f, -0.010372f, -0.020568f, -0.018835f, -0.014828f, -0.028015f, 0.017695f, 0.012738f, -0.007380f, -0.007231f, -0.010814f, 0.001425f, -0.006102f, 0.015079f, 0.000099f, 0.003860f, -0.007988f, -0.006912f, -0.011286f, -0.002096f, -0.013530f, -0.013051f, 0.013428f, -0.000946f, 0.001688f, 0.000330f, 0.004957f, -0.005337f, -0.000452f, -0.008017f, 0.000322f, 0.000047f, -0.000299f, 0.004128f, 0.000489f, -0.006561f, -0.004260f, -0.004708f, 0.001368f, -0.007050f, -0.007629f, -0.009695f, - 0.002671f, 0.023250f, 0.011852f, -0.013229f, 0.039148f, 0.004427f, -0.038206f, 0.047718f, 0.003203f, -0.020322f, 0.016846f, -0.039187f, -0.007497f, -0.024948f, -0.007785f, -0.004414f, -0.007650f, -0.017831f, 0.005005f, -0.033854f, -0.013089f, -0.012202f, -0.045684f, 0.005559f, -0.033128f, -0.023545f, -0.037167f, 0.007470f, -0.028040f, -0.008457f, -0.009284f, 0.000316f, 0.014151f, -0.011388f, 0.019917f, 0.001044f, 0.026426f, -0.006137f, 0.022987f, 0.028967f, -0.034735f, -0.000503f, 0.009334f, 0.021271f, 0.000843f, 0.025574f, 0.008572f, 0.024660f, -0.000503f, -0.018807f, -0.011823f, -0.001790f, 0.015961f, -0.003649f, -0.007320f, -0.001578f, 0.029547f, 0.018668f, -0.007006f, -0.024316f, 0.008174f, 0.013396f, 0.009524f, 0.026211f, -0.035057f, -0.025920f, -0.007396f, 0.002498f, -0.009859f, 0.000309f, -0.010053f, -0.021902f, 0.061547f, -0.030364f, -0.035255f, 0.026358f, 0.015181f, 0.022903f, 0.007035f, 0.008441f, 0.004749f, 0.013405f, -0.012623f, 0.035377f, -0.006166f, 0.008703f, -0.006818f, 0.004766f, 0.002136f, -0.001902f, 0.022549f, 0.002858f, 0.001987f, -0.022180f, 0.010075f, 0.003360f, - -0.003247f, -0.018056f, -0.001839f, -0.003705f, 0.000492f, -0.005724f, 0.016248f, 0.003793f, 0.004551f, -0.013038f, 0.008945f, -0.006176f, 0.001832f, 0.007867f, -0.000312f, -0.003829f, -0.004186f, -0.011597f, 0.006781f, 0.011932f, -0.005646f, -0.001279f, -0.004187f, 0.001806f, -0.006738f, -0.015624f, -0.004722f, -0.000491f, -0.010713f, 0.011157f, -0.000950f, -0.001479f, 0.003775f, -0.010497f, -0.011905f, 0.004887f, -0.008197f, -0.010436f, 0.031020f, 0.022844f, 0.036679f, -0.012212f, -0.009083f, -0.050376f, 0.058493f, 0.026811f, -0.077910f, -0.041698f, 0.024962f, 0.034679f, 0.034885f, -0.022410f, -0.018193f, 0.042212f, 0.010009f, 0.009688f, 0.029262f, 0.023656f, -0.043083f, 0.013201f, 0.018149f, -0.003226f, 0.020325f, 0.003910f, -0.005542f, 0.004213f, -0.014035f, 0.071921f, 0.018822f, 0.009369f, -0.001988f, -0.008894f, -0.004847f, -0.040795f, 0.007809f, 0.011990f, -0.009620f, -0.013375f, -0.066057f, -0.031552f, 0.013807f, 0.011516f, -0.021693f, -0.021200f, -0.003013f, -0.031441f, 0.012985f, 0.011674f, -0.004600f, 0.013134f, 0.026015f, 0.001309f, -0.001383f, -0.008340f, -0.013947f, -0.004547f, - 0.002306f, -0.048675f, -0.006513f, 0.011437f, 0.029647f, -0.052682f, 0.011669f, 0.018887f, -0.004181f, -0.024801f, -0.022429f, 0.039784f, 0.039283f, -0.005750f, -0.024588f, -0.046578f, 0.009769f, 0.018684f, 0.009739f, 0.000777f, -0.050826f, 0.021427f, 0.046183f, -0.015648f, 0.005176f, 0.014525f, -0.019065f, -0.030341f, -0.016091f, 0.004631f, -0.009464f, -0.002409f, -0.014357f, -0.012325f, -0.010503f, -0.004427f, -0.004172f, 0.006180f, -0.001171f, -0.000925f, -0.013095f, 0.005376f, -0.006188f, 0.002803f, 0.000030f, 0.004216f, 0.007829f, 0.009209f, -0.014630f, 0.005850f, -0.011326f, -0.018936f, -0.010028f, 0.002720f, -0.001998f, 0.008277f, -0.001923f, 0.005391f, 0.011094f, 0.000562f, -0.000607f, -0.009817f, -0.005573f, 0.014809f, 0.007417f, -0.006196f, -0.003885f, 0.023175f, -0.017067f, 0.006324f, -0.014223f, -0.012541f, 0.002178f, 0.015711f, 0.031355f, -0.057753f, -0.075371f, -0.052374f, -0.067429f, 0.058555f, -0.039057f, 0.023585f, -0.006604f, -0.047350f, 0.008473f, -0.012837f, -0.017603f, -0.061474f, -0.056336f, -0.042045f, -0.016055f, 0.002223f, -0.032597f, -0.009411f, 0.008611f, 0.026517f, - 0.002100f, -0.016439f, 0.000067f, -0.017580f, 0.025413f, -0.031926f, 0.044184f, 0.038112f, -0.009104f, -0.012071f, -0.052388f, -0.030511f, -0.031857f, 0.003882f, 0.007050f, -0.008489f, 0.042824f, 0.012252f, 0.034717f, 0.006896f, -0.004080f, -0.015692f, 0.031238f, 0.021622f, 0.009816f, -0.031301f, 0.016814f, -0.052972f, -0.005900f, -0.005568f, -0.035183f, -0.005730f, 0.000464f, 0.040623f, 0.026903f, 0.000843f, 0.018792f, -0.000672f, -0.039948f, 0.020445f, 0.005694f, 0.033430f, -0.018844f, -0.038398f, 0.022996f, -0.069063f, -0.015817f, 0.024554f, -0.010334f, -0.010926f, 0.016987f, -0.004423f, -0.013582f, 0.012893f, -0.005712f, -0.044280f, -0.038956f, -0.006365f, 0.018322f, 0.029608f, 0.041591f, 0.041692f, -0.017567f, -0.014048f, 0.008263f, 0.015179f, 0.013682f, 0.005784f, -0.018404f, 0.016356f, 0.000397f, -0.003332f, 0.002192f, 0.010189f, 0.016971f, -0.004815f, 0.002954f, 0.016071f, -0.003589f, -0.000197f, -0.015983f, 0.008169f, -0.003388f, -0.000986f, 0.013403f, -0.002465f, -0.005797f, 0.006099f, -0.018164f, -0.006627f, 0.018761f, 0.005481f, 0.006191f, -0.006426f, -0.004180f, -0.002591f, - -0.014428f, -0.001759f, -0.007958f, 0.011249f, -0.031547f, -0.075343f, -0.007042f, -0.047964f, 0.002928f, -0.035321f, 0.032139f, -0.025222f, -0.002711f, 0.006348f, 0.011976f, 0.038795f, 0.012971f, -0.017533f, 0.041840f, 0.013070f, -0.071319f, 0.011796f, -0.042813f, -0.002986f, 0.008096f, -0.005913f, 0.035135f, -0.010369f, 0.006342f, 0.008972f, 0.003045f, -0.022793f, 0.035655f, -0.020608f, -0.002026f, -0.041701f, -0.000099f, 0.007158f, -0.006676f, -0.014622f, -0.019237f, -0.021750f, 0.054067f, 0.002244f, 0.027956f, -0.048142f, 0.005357f, -0.000530f, 0.016463f, 0.028855f, -0.033255f, 0.058971f, 0.084697f, -0.003799f, 0.008072f, -0.029531f, 0.013452f, 0.019810f, -0.016511f, 0.004298f, 0.015829f, 0.032981f, -0.001224f, 0.002007f, -0.010365f, -0.028564f, -0.043177f, 0.021977f, -0.032432f, -0.013568f, -0.021315f, 0.009399f, 0.028768f, 0.026036f, -0.005350f, 0.009813f, -0.058584f, 0.038622f, -0.007412f, 0.008446f, -0.017379f, 0.037733f, -0.052629f, 0.062537f, 0.045214f, 0.052108f, -0.021312f, -0.001210f, -0.051621f, -0.027807f, -0.019391f, 0.016902f, 0.013956f, -0.042482f, -0.031503f, 0.001202f, - -0.011181f, -0.030999f, -0.000480f, -0.021457f, -0.025877f, -0.009535f, -0.004237f, 0.001959f, -0.017274f, 0.003003f, 0.005229f, 0.025738f, 0.022580f, -0.003600f, 0.021246f, -0.010721f, -0.027634f, -0.015041f, -0.006336f, -0.013711f, -0.002630f, -0.010203f, 0.014795f, 0.004612f, 0.058699f, 0.007802f, -0.021018f, -0.007051f, 0.004689f, -0.031022f, -0.019991f, 0.007333f, 0.000572f, -0.008074f, 0.002402f, -0.000027f, -0.034548f, -0.003598f, 0.021904f, -0.016747f, 0.094617f, 0.027089f, 0.068797f, 0.022020f, -0.071817f, 0.028885f, 0.019891f, -0.023842f, 0.004808f, 0.046410f, 0.001977f, 0.044423f, 0.039215f, -0.046019f, 0.025280f, -0.046038f, -0.031238f, -0.004312f, 0.092585f, 0.028551f, -0.041944f, 0.039567f, 0.025332f, -0.050956f, -0.022630f, -0.003425f, 0.051760f, 0.007729f, -0.047584f, -0.026631f, -0.001608f, -0.012931f, 0.028675f, 0.041622f, -0.015154f, 0.036619f, -0.023673f, -0.031786f, -0.001232f, 0.075364f, 0.006871f, -0.043152f, 0.024459f, -0.001950f, -0.004437f, 0.021157f, -0.049206f, -0.042317f, -0.040402f, 0.029593f, -0.026509f, 0.009607f, 0.012416f, 0.045104f, 0.022127f, 0.046368f, - 0.004788f, -0.001902f, 0.037593f, 0.069380f, 0.041031f, -0.068423f, 0.001276f, 0.006769f, -0.011756f, 0.013331f, 0.018860f, -0.052808f, -0.008132f, 0.010600f, 0.009011f, -0.062914f, -0.059905f, -0.033375f, -0.036466f, 0.062716f, 0.022983f, 0.003037f, 0.027439f, -0.050928f, 0.020900f, 0.014282f, 0.009150f, -0.004371f, -0.011881f, 0.043391f, 0.025787f, -0.017146f, 0.007183f, -0.012888f, 0.028009f, -0.007979f, 0.001755f, 0.006097f, 0.003950f, 0.021214f, -0.003580f, -0.033997f, -0.001694f, 0.006593f, 0.008699f, 0.017770f, -0.005047f, 0.001768f, 0.012869f, -0.026294f, -0.016003f, -0.002255f, -0.048514f, -0.007181f, 0.013030f, -0.003350f, 0.004880f, 0.027811f, -0.004298f, -0.019009f, 0.003740f, 0.006923f, 0.017534f, 0.021631f, -0.021038f, -0.012490f, -0.001797f, -0.017282f, -0.011865f, -0.033349f, -0.040471f, 0.011372f, 0.000154f, -0.017760f, -0.015612f, -0.018124f, -0.036006f, 0.026964f, -0.071948f, 0.052069f, 0.058150f, 0.016122f, 0.063325f, -0.064900f, -0.031775f, -0.017554f, -0.093291f, 0.052566f, 0.005237f, 0.032547f, 0.042753f, 0.041851f, 0.003198f, -0.001297f, 0.042499f, -0.006713f, - -0.050542f, -0.052419f, 0.031706f, -0.059229f, 0.057784f, -0.016576f, 0.012636f, 0.057304f, 0.051621f, -0.025982f, 0.078627f, -0.045590f, 0.005049f, -0.047406f, 0.007619f, -0.016192f, 0.030923f, 0.010542f, -0.033697f, 0.030198f, 0.045824f, 0.067411f, -0.039023f, 0.014432f, 0.041316f, -0.056833f, 0.002561f, -0.022833f, -0.082270f, -0.035356f, 0.021881f, -0.045139f, 0.016014f, -0.037893f, -0.000985f, 0.055369f, -0.026344f, 0.023461f, 0.063709f, 0.045563f, 0.016991f, 0.084818f, -0.132187f, -0.024890f, 0.044024f, -0.005085f, 0.025619f, -0.040908f, -0.071481f, 0.086729f, -0.001337f, -0.043690f, 0.018624f, 0.054884f, 0.136095f, 0.051575f, -0.103098f, -0.056226f, 0.034992f, 0.038086f, 0.016414f, -0.071948f, -0.006380f, 0.015769f, -0.022345f, 0.048568f, 0.017266f, 0.030998f, 0.036794f, 0.027678f, -0.019014f, 0.021367f, -0.057281f, 0.008204f, 0.030400f, -0.003705f, -0.030470f, 0.017680f, -0.018668f, 0.030271f, 0.033344f, -0.014385f, -0.028077f, -0.007571f, 0.061675f, -0.011130f, -0.007452f, -0.024305f, 0.027763f, -0.024140f, -0.015065f, 0.017805f, -0.011787f, 0.058196f, -0.004702f, -0.014525f, - 0.058344f, -0.005336f, 0.013404f, 0.035795f, -0.003034f, -0.003173f, 0.003119f, 0.005222f, -0.027910f, 0.012417f, 0.001155f, -0.040108f, 0.026809f, -0.012527f, 0.051156f, -0.028087f, 0.016139f, 0.004807f, 0.069743f, -0.061314f, -0.005553f, -0.029308f, -0.036337f, 0.055889f, -0.021753f, 0.073383f, -0.007285f, -0.056630f, 0.088033f, 0.127252f, -0.018172f, -0.040660f, -0.061493f, 0.014597f, 0.067597f, 0.013277f, -0.014268f, -0.042201f, 0.009995f, 0.009932f, -0.009368f, 0.010395f, -0.006052f, -0.020764f, -0.021192f, 0.019445f, 0.027743f, -0.002183f, 0.037510f, -0.036268f, 0.076977f, 0.057982f, 0.033394f, -0.002866f, 0.004504f, 0.010906f, -0.040846f, -0.035748f, -0.039602f, -0.020845f, -0.010919f, 0.024604f, 0.021582f, 0.041723f, -0.020293f, -0.005069f, -0.018002f, 0.047470f, 0.092716f, -0.022008f, -0.059845f, -0.038540f, -0.002568f, -0.080938f, 0.062714f, -0.109907f, 0.031527f, 0.046437f, 0.047641f, -0.047968f, 0.010995f, 0.048354f, -0.111376f, -0.052679f, 0.022627f, -0.011882f, -0.055931f, -0.049307f, -0.006596f, -0.025897f, 0.082455f, 0.035341f, -0.030538f, -0.028003f, -0.046175f, 0.126546f, - 0.026952f, 0.066046f, -0.005043f, 0.019191f, 0.023641f, 0.028264f, -0.041761f, -0.005453f, 0.052273f, 0.036113f, 0.021342f, -0.017539f, -0.022953f, -0.000156f, 0.016007f, 0.024098f, 0.016042f, -0.032859f, 0.004222f, 0.000161f, 0.007998f, 0.023362f, 0.023123f, -0.034418f, 0.015416f, -0.021295f, -0.026425f, 0.002507f, 0.026186f, 0.010661f, -0.016743f, 0.003455f, -0.002976f, -0.005128f, -0.014476f, 0.050341f, -0.015725f, -0.000117f, -0.031071f, 0.006841f, -0.012046f, 0.033077f, 0.009897f, -0.007437f, -0.018771f, 0.018664f, 0.014756f, -0.023602f, 0.000582f, -0.038235f, -0.016009f, 0.008621f, 0.014475f, 0.021031f, -0.001413f, -0.047835f, 0.014407f, 0.073407f, 0.002429f, -0.025062f, 0.061623f, 0.043785f, -0.012549f, -0.039652f, -0.059598f, 0.011229f, 0.117767f, 0.025643f, 0.060477f, -0.005497f, 0.005459f, -0.004967f, -0.013628f, -0.000220f, 0.005592f, 0.028251f, 0.009607f, -0.023077f, 0.019767f, -0.020236f, -0.021794f, -0.025132f, 0.000821f, 0.023329f, 0.005321f, 0.018590f, 0.020446f, 0.016070f, -0.016328f, -0.029471f, 0.009460f, -0.020524f, -0.050342f, -0.015295f, 0.011684f, -0.017969f, - 0.059282f, -0.061305f, 0.049839f, -0.016095f, 0.000591f, 0.073049f, -0.011296f, -0.002397f, 0.096121f, -0.015129f, -0.038807f, 0.006636f, -0.033220f, -0.008017f, -0.031352f, 0.106378f, -0.029989f, 0.025316f, -0.025440f, -0.011970f, -0.014415f, 0.017267f, -0.026655f, -0.065966f, 0.029133f, -0.008012f, -0.072407f, 0.037499f, -0.018803f, 0.039917f, 0.091465f, -0.046243f, -0.000747f, -0.005227f, -0.013260f, -0.049731f, -0.008336f, 0.044494f, 0.018329f, 0.027083f, -0.041148f, 0.011724f, 0.007625f, -0.040588f, -0.010615f, 0.008339f, 0.020873f, 0.025101f, 0.002412f, 0.004322f, 0.017063f, -0.004599f, -0.019607f, 0.028361f, -0.011124f, -0.009385f, 0.026661f, 0.002951f, -0.006959f, 0.038643f, -0.002312f, -0.003608f, 0.000641f, 0.012183f, -0.011474f, 0.019176f, -0.014987f, -0.008316f, -0.011777f, 0.009658f, -0.000013f, -0.002106f, 0.006014f, 0.017559f, -0.021361f, 0.004029f, -0.002600f, 0.012402f, 0.004207f, -0.004861f, 0.022689f, -0.014321f, 0.012386f, -0.004547f, 0.006933f, 0.000856f, 0.017063f, -0.026040f, 0.000075f, 0.122449f, 0.062222f, 0.128469f, -0.071842f, -0.018665f, 0.042516f, -0.040183f, - 0.030808f, 0.132155f, 0.031463f, 0.019112f, -0.034730f, -0.032866f, 0.038025f, -0.020025f, 0.053708f, -0.008792f, -0.012055f, -0.015538f, -0.075785f, 0.018297f, 0.091547f, -0.048253f, 0.055442f, 0.048193f, -0.030725f, -0.009312f, 0.038218f, -0.060700f, 0.030497f, -0.004293f, 0.045996f, 0.015514f, -0.037770f, -0.012228f, -0.076191f, -0.039176f, 0.036021f, 0.026956f, 0.059572f, 0.092644f, 0.010090f, 0.001478f, -0.080021f, -0.049010f, -0.047707f, -0.039445f, 0.021198f, -0.032724f, -0.009174f, -0.007514f, 0.024211f, -0.061272f, -0.009712f, 0.031732f, 0.016558f, 0.050521f, -0.006588f, -0.024199f, 0.050428f, -0.009109f, 0.030974f, -0.038707f, -0.023193f, -0.005998f, -0.012762f, 0.024637f, 0.036726f, 0.051671f, 0.014758f, 0.004243f, -0.035543f, -0.010069f, -0.018173f, 0.043259f, 0.000622f, 0.064838f, 0.011415f, 0.048828f, -0.047390f, -0.017072f, -0.000208f, -0.001204f, 0.035501f, -0.005671f, -0.017474f, -0.009618f, 0.008801f, 0.002401f, 0.009305f, 0.016302f, 0.014728f, -0.009048f, -0.010489f, 0.000608f, -0.006171f, 0.013725f, 0.014816f, 0.003379f, -0.012254f, 0.000458f, -0.016097f, -0.006860f, - -0.003481f, 0.027794f, 0.010049f, -0.003733f, 0.007313f, -0.018760f, -0.021996f, -0.015017f, 0.007023f, 0.015194f, -0.013098f, -0.001415f, 0.000258f, 0.011292f, 0.006366f, -0.001871f, 0.012179f, 0.001776f, -0.000614f, -0.012144f, 0.005770f, 0.003378f, -0.004904f, -0.033676f, -0.125775f, 0.003264f, 0.202395f, 0.182518f, 0.171671f, 0.072738f, -0.072908f, -0.101083f, -0.100213f, -0.089628f, -0.164509f, -0.117495f, -0.114507f, 0.088534f, 0.136079f, 0.110969f, 0.177104f, 0.147292f, 0.031268f, -0.006901f, -0.063363f, -0.123523f, -0.073677f, -0.129795f, -0.070448f, -0.043498f, 0.000716f, -0.017417f, 0.032566f, 0.055603f, 0.094650f, 0.059450f, 0.099446f, 0.075591f, 0.079018f, 0.006043f, -0.065020f, -0.029735f, 0.002290f, -0.071175f, -0.093838f, -0.122178f, -0.119961f, -0.085237f, -0.011952f, 0.059433f, 0.023570f, 0.086524f, 0.061338f, 0.098698f, 0.088042f, 0.095697f, 0.111221f, 0.059680f, -0.008503f, -0.018106f, -0.072558f, -0.059570f, -0.195977f, -0.156969f, -0.125633f, -0.098390f, 0.011479f, -0.043050f, 0.002822f, 0.133710f, 0.165380f, 0.226025f, 0.143088f, 0.085816f, 0.058560f, 0.013473f, - -0.086628f, -0.079629f, -0.120785f, -0.156401f, -0.132265f, -0.123620f, -0.057880f, 0.008659f, 0.062567f, 0.102573f, 0.101557f, 0.086168f, 0.054527f, 0.057747f, 0.024937f, 0.015377f, -0.002765f, -0.048252f, -0.041784f, -0.038453f, -0.042518f, -0.022917f, -0.047524f, -0.034291f, 0.011804f, 0.003787f, -0.027615f, 0.014739f, 0.039216f, 0.021964f, 0.044741f, 0.069381f, 0.072531f, 0.031675f, -0.044778f, -0.019704f, -0.006237f, -0.091748f, -0.096392f, -0.084436f, -0.035055f, 0.025746f, 0.041339f, 0.034081f, 0.057954f, 0.065113f, 0.080847f, 0.053223f, 0.033103f, -0.012781f, -0.054115f, -0.055473f, -0.061298f, -0.083026f, -0.058590f, -0.032987f, 0.028284f, 0.044369f, 0.029110f, 0.017155f, 0.052428f, 0.034855f, 0.021570f, 0.004436f, -0.007719f, -0.017292f, 0.001808f, -0.020681f, -0.023797f, -0.009424f, 0.008156f, -0.014592f, -0.010328f, 0.001518f, 0.010905f, 0.000599f, -0.005209f, -0.008015f, 0.008244f, -0.000863f, -0.003639f, -0.008184f, 0.003551f, 0.002458f, 0.005033f, -0.002333f, 0.003005f}, - {0.002045f, -0.002350f, 0.008276f, 0.009304f, 0.004997f, -0.003601f, -0.014059f, -0.012897f, 0.004673f, 0.007399f, -0.002735f, 0.013819f, -0.002680f, 0.008243f, -0.009823f, -0.008665f, 0.003773f, 0.000338f, -0.002554f, 0.003649f, 0.008958f, -0.003907f, 0.001238f, -0.005129f, -0.000518f, 0.000471f, 0.003667f, 0.003413f, 0.004597f, 0.000757f, 0.002734f, 0.010232f, -0.003958f, -0.004797f, -0.005179f, -0.009282f, 0.002661f, -0.001957f, 0.016958f, 0.003292f, -0.001285f, 0.001329f, 0.010285f, -0.000957f, -0.002252f, -0.002631f, -0.006046f, -0.001113f, 0.007906f, -0.001223f, 0.003274f, 0.007998f, -0.002521f, -0.000582f, -0.012883f, -0.007573f, -0.011749f, -0.002303f, -0.003420f, 0.001728f, 0.000630f, 0.001686f, 0.004177f, -0.002821f, 0.002013f, 0.000125f, 0.001026f, 0.001783f, -0.004296f, 0.004046f, -0.001399f, -0.004887f, -0.000632f, -0.004928f, -0.001512f, 0.000454f, -0.007683f, 0.002026f, 0.000334f, 0.005906f, 0.000608f, -0.000109f, -0.003538f, 0.000785f, 0.005880f, 0.002875f, -0.001483f, 0.000650f, 0.001296f, 0.001427f, 0.004481f, 0.000531f, 0.000265f, -0.001093f, -0.000692f, 0.000445f, - 0.000162f, -0.000468f, 0.002952f, 0.001612f, 0.001747f, 0.001248f, 0.000909f, 0.000375f, 0.000879f, 0.009535f, 0.022561f, 0.008881f, 0.005355f, 0.006244f, -0.013223f, -0.001576f, 0.005737f, -0.001813f, 0.002257f, -0.012103f, 0.011901f, 0.016074f, 0.002797f, 0.007170f, -0.003368f, -0.009447f, -0.014585f, -0.016011f, -0.010612f, 0.012657f, -0.011945f, -0.007623f, -0.010106f, 0.003228f, 0.008442f, 0.001571f, 0.001161f, 0.004689f, -0.000457f, 0.002955f, 0.010398f, -0.001477f, 0.008648f, -0.008238f, 0.007892f, 0.005459f, 0.005025f, -0.004349f, -0.013404f, -0.002876f, 0.007704f, 0.004532f, -0.003733f, -0.000468f, 0.002677f, -0.000587f, -0.006459f, -0.001377f, 0.005510f, -0.001904f, 0.000626f, -0.003219f, -0.000692f, 0.000380f, 0.001852f, 0.009461f, 0.003981f, -0.004877f, 0.000836f, 0.000766f, -0.003203f, 0.001710f, -0.004673f, -0.000568f, 0.007706f, 0.002484f, 0.008644f, -0.006182f, -0.005275f, -0.003183f, -0.001349f, 0.004373f, 0.009796f, -0.005661f, -0.007062f, 0.008401f, -0.000777f, -0.000181f, 0.000306f, 0.002887f, 0.002096f, 0.007058f, -0.001978f, 0.003280f, -0.004301f, -0.004060f, - 0.000332f, 0.001894f, -0.000284f, 0.000126f, 0.001639f, 0.001752f, 0.001368f, -0.003662f, 0.004112f, -0.000859f, 0.006606f, 0.002811f, -0.007418f, -0.006988f, -0.007949f, -0.001237f, -0.006489f, -0.013655f, -0.013017f, 0.013446f, -0.000295f, 0.002840f, -0.000101f, 0.008195f, -0.012107f, 0.018000f, 0.015975f, 0.000839f, 0.000852f, 0.000036f, 0.000475f, -0.001765f, 0.006256f, 0.004879f, 0.000396f, -0.010227f, 0.004438f, -0.003165f, 0.004924f, -0.001416f, 0.010910f, -0.002530f, -0.006349f, -0.002866f, -0.001712f, 0.004054f, -0.000068f, 0.006758f, -0.010832f, 0.005852f, 0.001889f, -0.006001f, 0.017047f, -0.002696f, -0.002441f, -0.000347f, -0.000266f, -0.004483f, -0.001451f, 0.009110f, 0.007448f, -0.015965f, -0.007537f, 0.008134f, 0.002339f, -0.003810f, 0.013901f, 0.000520f, 0.003116f, 0.013699f, 0.005652f, 0.010757f, 0.003036f, -0.004115f, -0.005581f, -0.010740f, -0.010418f, 0.001526f, 0.005545f, 0.013332f, 0.000508f, -0.005419f, -0.006796f, 0.002330f, -0.000125f, -0.003708f, 0.004323f, -0.001489f, -0.003418f, 0.003130f, 0.007219f, 0.002353f, -0.003620f, 0.003632f, 0.003760f, 0.004728f, - 0.003025f, 0.000252f, 0.000450f, -0.004459f, -0.000940f, -0.000048f, 0.002292f, 0.001946f, 0.003677f, 0.003570f, 0.002954f, 0.001136f, -0.000290f, -0.018225f, -0.006365f, -0.008862f, 0.008272f, -0.006050f, 0.005370f, -0.006543f, -0.002719f, 0.015472f, 0.007549f, -0.010256f, 0.004673f, 0.014757f, 0.002152f, -0.005163f, -0.010367f, -0.012435f, -0.008540f, -0.012504f, 0.008297f, 0.001896f, 0.004561f, -0.002395f, -0.005672f, -0.005968f, -0.011031f, 0.000579f, -0.000351f, 0.002624f, -0.002697f, -0.010018f, 0.000154f, 0.010711f, -0.002382f, 0.000128f, -0.005344f, -0.010672f, -0.015806f, -0.001356f, 0.011376f, 0.004141f, 0.001190f, -0.005354f, 0.001449f, -0.008569f, -0.002816f, -0.006447f, 0.000813f, 0.001459f, -0.009769f, 0.011021f, -0.006212f, 0.014023f, 0.005296f, 0.001334f, -0.006378f, -0.003343f, 0.003596f, -0.000802f, 0.003402f, 0.007528f, 0.001523f, 0.002987f, -0.008338f, 0.004920f, -0.004195f, 0.012890f, 0.015957f, 0.007324f, 0.010722f, 0.004995f, -0.001643f, -0.011197f, -0.007237f, 0.000924f, 0.008247f, 0.008318f, -0.006660f, 0.000874f, 0.007837f, -0.010255f, 0.010123f, 0.000650f, - -0.005201f, 0.003339f, -0.002186f, -0.000491f, -0.005784f, 0.001135f, 0.001634f, 0.000998f, -0.004641f, 0.001229f, -0.003281f, -0.004351f, -0.001524f, 0.000309f, 0.001917f, -0.002839f, 0.000698f, -0.001231f, -0.004037f, 0.000432f, 0.003321f, 0.001394f, -0.002891f, 0.001869f, -0.002176f, 0.006102f, -0.014716f, 0.001933f, -0.015736f, -0.000070f, 0.002419f, 0.001464f, 0.007108f, 0.000712f, 0.001136f, 0.027845f, -0.003482f, -0.012299f, -0.013253f, 0.013987f, 0.009383f, -0.010552f, 0.002564f, -0.011768f, -0.005030f, 0.000395f, 0.013334f, -0.016512f, 0.004830f, -0.000643f, 0.002649f, -0.001257f, 0.016927f, -0.008742f, 0.004787f, -0.002642f, -0.004457f, 0.002575f, -0.000792f, 0.005075f, -0.005154f, -0.004799f, -0.014287f, 0.002250f, -0.004729f, -0.003073f, 0.001157f, -0.005059f, 0.004245f, -0.008064f, -0.004778f, -0.014193f, -0.000402f, -0.012600f, -0.005295f, -0.014987f, 0.011172f, 0.002276f, -0.004570f, 0.009811f, -0.011334f, -0.000042f, -0.021624f, -0.001149f, 0.007522f, -0.000573f, 0.006455f, 0.013800f, -0.004800f, -0.001920f, 0.017283f, 0.007299f, 0.006699f, 0.010553f, -0.005407f, -0.015913f, - -0.001646f, -0.009516f, 0.007012f, 0.015907f, -0.002810f, 0.004689f, 0.008502f, 0.007145f, -0.000792f, -0.001300f, 0.002022f, 0.000342f, -0.002879f, 0.004318f, 0.003893f, -0.006570f, 0.002262f, 0.005630f, -0.002742f, -0.001967f, -0.009756f, -0.002228f, -0.004064f, -0.001304f, -0.004218f, 0.000922f, -0.000967f, 0.000830f, -0.000367f, 0.000733f, 0.002613f, -0.002826f, 0.001106f, -0.001118f, -0.002869f, -0.000324f, -0.000417f, -0.000819f, 0.000307f, 0.001763f, 0.002876f, -0.002660f, 0.001055f, -0.002236f, 0.000506f, -0.000181f, -0.002987f, -0.001132f, -0.002005f, 0.007866f, 0.008896f, 0.003217f, -0.005355f, 0.003849f, 0.002338f, 0.016937f, -0.002565f, -0.003643f, -0.022835f, -0.006462f, 0.017199f, 0.016772f, 0.010810f, 0.008498f, 0.024476f, 0.001504f, -0.029188f, -0.007497f, -0.004847f, -0.007084f, 0.015592f, -0.002479f, -0.005644f, 0.018144f, 0.002858f, -0.007496f, -0.002578f, 0.007237f, -0.006424f, -0.002557f, 0.002236f, -0.002332f, -0.010155f, -0.004626f, -0.000459f, -0.009845f, -0.004486f, -0.004141f, 0.006884f, -0.004628f, 0.013243f, 0.012844f, 0.001269f, 0.012217f, 0.008599f, -0.005535f, - -0.001861f, -0.004204f, -0.018963f, 0.002124f, 0.003941f, -0.018070f, -0.002572f, -0.005130f, 0.006490f, 0.016491f, 0.002536f, -0.016744f, 0.002483f, -0.006461f, -0.011253f, 0.009123f, -0.002613f, -0.011995f, 0.005464f, 0.004607f, 0.013278f, -0.001065f, -0.001610f, 0.009754f, 0.011575f, 0.012688f, -0.012999f, 0.009197f, -0.001627f, -0.002219f, 0.003466f, 0.013698f, -0.000571f, -0.003664f, 0.004381f, 0.002083f, -0.011574f, -0.001538f, 0.016009f, 0.003516f, -0.000971f, -0.002007f, -0.007148f, 0.005137f, -0.002586f, -0.003280f, 0.000606f, -0.000478f, 0.003760f, -0.000247f, -0.004883f, -0.003557f, 0.006723f, -0.000829f, 0.002702f, -0.003004f, 0.003298f, -0.002481f, -0.001766f, -0.002454f, 0.001764f, 0.003544f, 0.011660f, -0.029881f, 0.012434f, -0.003256f, -0.006816f, -0.006133f, 0.005128f, -0.002831f, -0.017719f, -0.018868f, 0.002308f, 0.029450f, 0.008118f, -0.021411f, 0.004838f, 0.017479f, -0.012563f, 0.002277f, -0.003169f, 0.010427f, -0.000062f, 0.009623f, 0.025761f, 0.018766f, 0.011716f, -0.000427f, -0.002122f, -0.011894f, -0.012747f, 0.005088f, -0.033359f, -0.005265f, 0.015826f, 0.001782f, - -0.001678f, -0.015969f, -0.005689f, -0.000669f, -0.000715f, -0.007754f, -0.016514f, 0.018528f, -0.006390f, -0.004048f, -0.002976f, -0.015297f, -0.017208f, -0.000529f, -0.008393f, 0.001207f, 0.008206f, 0.006287f, 0.006946f, -0.013654f, -0.003541f, -0.006703f, -0.004263f, 0.021991f, -0.002311f, -0.010025f, 0.000714f, 0.028198f, -0.015031f, 0.004748f, 0.020756f, 0.000657f, -0.004758f, -0.010449f, 0.006321f, 0.001208f, 0.014950f, -0.008028f, 0.012651f, 0.010273f, 0.019581f, 0.009484f, 0.014667f, 0.001564f, -0.009594f, 0.002074f, -0.000390f, -0.005528f, 0.008865f, 0.012626f, -0.010460f, 0.006896f, 0.003780f, -0.009399f, 0.001240f, 0.003353f, 0.002643f, 0.003431f, -0.005372f, 0.003063f, -0.005889f, -0.001767f, -0.001627f, 0.000424f, 0.001106f, 0.002546f, 0.003227f, -0.000656f, 0.004833f, -0.000349f, -0.002153f, 0.001684f, 0.003217f, -0.001080f, 0.001953f, -0.005025f, 0.002002f, 0.017178f, 0.024659f, 0.015060f, 0.002516f, -0.005296f, -0.009227f, -0.020487f, -0.005927f, 0.013503f, -0.027857f, -0.011441f, 0.025381f, -0.035178f, -0.006362f, 0.019645f, 0.024690f, -0.002554f, -0.024793f, 0.003416f, - -0.009487f, 0.033141f, 0.014702f, -0.022801f, -0.014666f, -0.003527f, -0.014060f, -0.028690f, -0.014349f, -0.012744f, -0.010383f, -0.023239f, 0.011672f, 0.004097f, 0.014330f, -0.008863f, -0.004295f, -0.020446f, -0.002102f, -0.017744f, 0.001836f, -0.011804f, 0.002598f, 0.006172f, -0.027371f, -0.009009f, -0.010428f, -0.007286f, 0.005884f, 0.005818f, -0.008748f, 0.026948f, -0.001762f, -0.007076f, -0.005074f, 0.002582f, -0.006346f, -0.002250f, 0.010021f, 0.008528f, 0.011220f, 0.014779f, 0.014030f, 0.001091f, 0.009196f, -0.004514f, 0.021026f, 0.022488f, -0.011336f, -0.005908f, 0.013798f, -0.000416f, -0.034154f, 0.001551f, -0.017353f, 0.010565f, 0.010781f, 0.019287f, -0.014663f, 0.008200f, -0.020569f, -0.002016f, 0.011730f, -0.005036f, 0.018331f, -0.004797f, -0.002250f, 0.003668f, 0.001189f, 0.002559f, -0.001229f, 0.001065f, 0.007788f, -0.005797f, -0.001491f, 0.007487f, -0.001167f, 0.005877f, -0.008790f, -0.007642f, 0.005154f, -0.001238f, 0.001609f, 0.000807f, -0.001057f, 0.001343f, -0.005261f, -0.001381f, -0.000921f, -0.002292f, -0.003558f, -0.001241f, 0.002781f, 0.003343f, -0.000172f, -0.018926f, - -0.022901f, -0.011217f, -0.022125f, -0.031572f, 0.022337f, 0.002209f, 0.012499f, -0.017449f, -0.018156f, -0.025039f, -0.016939f, 0.007729f, -0.018571f, -0.016676f, 0.022713f, -0.005688f, 0.001068f, 0.005492f, 0.012975f, -0.010090f, -0.007654f, 0.003746f, -0.006130f, 0.003549f, -0.001157f, -0.011214f, -0.021465f, -0.033598f, 0.011097f, -0.024133f, -0.022134f, 0.001163f, -0.005839f, -0.001552f, -0.012463f, 0.005631f, 0.006395f, -0.027388f, -0.000608f, -0.006015f, -0.010731f, -0.015228f, 0.008647f, 0.001851f, 0.027359f, 0.003264f, -0.015372f, -0.000956f, 0.002529f, 0.011289f, 0.004712f, 0.024271f, -0.002100f, -0.026412f, 0.011289f, -0.005605f, 0.011914f, -0.015793f, 0.003428f, 0.008962f, -0.046717f, -0.022183f, 0.016493f, -0.001435f, -0.005030f, 0.007173f, -0.002394f, 0.029492f, -0.001056f, 0.018678f, 0.016213f, -0.023906f, -0.027762f, 0.001615f, -0.030754f, -0.000707f, -0.001536f, 0.000622f, 0.004450f, 0.019264f, -0.000693f, -0.012098f, 0.011026f, 0.014496f, -0.013549f, 0.002375f, 0.004340f, 0.014582f, -0.007146f, 0.000512f, -0.007246f, 0.004932f, -0.000419f, 0.003088f, 0.004830f, 0.007857f, - 0.007933f, -0.000241f, -0.007660f, 0.000342f, 0.005635f, 0.001775f, 0.001167f, -0.006981f, 0.000741f, -0.006992f, -0.001044f, 0.003785f, -0.001142f, 0.006870f, 0.005083f, -0.000294f, 0.001435f, 0.005563f, -0.005182f, 0.009811f, -0.000221f, -0.004301f, 0.004388f, 0.015944f, 0.065488f, -0.016197f, -0.043927f, -0.004010f, -0.019193f, 0.047496f, 0.003712f, 0.026566f, 0.014436f, -0.008379f, -0.021015f, -0.009527f, -0.022900f, -0.005986f, 0.032065f, -0.035773f, 0.001548f, -0.029200f, 0.007939f, 0.002338f, 0.014256f, 0.003207f, -0.013930f, -0.023679f, -0.027469f, -0.005185f, -0.026947f, -0.021206f, 0.003492f, 0.006207f, 0.020099f, -0.018841f, -0.039089f, -0.008271f, -0.013551f, 0.004623f, -0.018360f, -0.012497f, 0.005675f, -0.009861f, -0.015531f, -0.001129f, 0.001734f, -0.008026f, 0.038161f, -0.007882f, -0.006223f, 0.009568f, 0.009996f, -0.011374f, -0.004773f, 0.028152f, 0.023696f, 0.015476f, 0.029789f, 0.023250f, 0.000083f, 0.009712f, 0.016939f, -0.012613f, -0.011780f, 0.003434f, 0.012217f, 0.019756f, 0.008152f, 0.040129f, 0.004442f, 0.026903f, -0.007596f, -0.015571f, -0.009983f, 0.056971f, - 0.010164f, -0.007410f, -0.006836f, -0.020474f, -0.019546f, -0.014114f, -0.013695f, -0.016389f, 0.006582f, 0.013131f, -0.013920f, 0.004487f, 0.014204f, 0.007040f, -0.012850f, 0.002615f, 0.014488f, -0.003616f, 0.008034f, -0.007214f, -0.001992f, 0.003237f, -0.002416f, -0.001619f, -0.004303f, -0.009214f, -0.001407f, -0.008345f, 0.004454f, 0.006991f, 0.003595f, -0.006957f, 0.009276f, 0.006008f, -0.005089f, -0.006078f, -0.009409f, -0.002804f, -0.002578f, 0.002490f, -0.002033f, 0.004403f, 0.003302f, 0.000827f, -0.000891f, 0.000166f, -0.007500f, 0.003149f, 0.012689f, -0.057639f, -0.020990f, 0.028460f, -0.006554f, -0.029576f, -0.027181f, -0.009537f, 0.031436f, 0.016322f, -0.024748f, 0.013610f, -0.033033f, -0.013934f, -0.003733f, -0.022142f, -0.029648f, 0.024905f, 0.014089f, -0.026901f, -0.009135f, 0.057232f, 0.013602f, -0.025629f, -0.034736f, 0.000492f, 0.019082f, 0.003104f, 0.003470f, -0.040163f, -0.000952f, -0.004603f, -0.028566f, -0.016845f, -0.011398f, -0.023103f, -0.010710f, 0.006651f, 0.001100f, -0.024376f, -0.024141f, 0.003087f, 0.015488f, -0.000418f, 0.020688f, 0.034315f, -0.023953f, 0.021264f, - 0.016225f, 0.006760f, 0.004806f, 0.025872f, 0.008237f, 0.015954f, 0.010836f, 0.014380f, -0.004684f, -0.003113f, 0.029689f, 0.046186f, 0.007798f, -0.010741f, 0.005809f, -0.006639f, -0.017351f, 0.029397f, -0.014226f, -0.024770f, -0.039035f, -0.013459f, -0.045510f, 0.022831f, -0.018484f, -0.007871f, -0.002532f, -0.006558f, -0.016282f, -0.002724f, 0.018299f, -0.020770f, -0.001712f, 0.009607f, -0.005851f, -0.020251f, 0.010296f, 0.001679f, 0.005780f, -0.001326f, -0.002287f, -0.007227f, -0.000678f, -0.003734f, 0.010981f, 0.002886f, 0.003123f, 0.001794f, 0.003670f, 0.000178f, 0.005653f, 0.003782f, 0.009750f, -0.013447f, -0.001462f, 0.001149f, 0.009058f, -0.003655f, 0.007570f, -0.008089f, 0.002933f, 0.002025f, -0.001635f, -0.004457f, 0.007940f, -0.003513f, -0.000490f, 0.004548f, 0.001522f, 0.000487f, -0.010813f, -0.025267f, 0.021472f, 0.012905f, -0.003829f, 0.014379f, 0.010644f, 0.030590f, 0.023541f, -0.049652f, -0.016507f, 0.055269f, -0.043549f, -0.012828f, -0.026390f, 0.039396f, 0.017510f, 0.018176f, 0.007624f, 0.005809f, 0.015741f, 0.041793f, 0.019858f, -0.018345f, -0.000377f, 0.001426f, - -0.001182f, 0.016572f, 0.018568f, 0.002304f, 0.010984f, 0.010556f, -0.009591f, 0.012981f, 0.007762f, 0.025844f, -0.012396f, -0.024765f, -0.021316f, -0.016556f, 0.004909f, -0.002115f, 0.009846f, 0.011233f, 0.011243f, 0.022766f, -0.009966f, 0.004841f, -0.010045f, -0.017670f, -0.007178f, 0.001929f, -0.020423f, 0.026136f, 0.031571f, -0.034266f, 0.011692f, -0.023724f, 0.019410f, -0.003841f, 0.007544f, -0.002563f, -0.018997f, -0.004586f, 0.021845f, -0.017051f, -0.005262f, 0.003906f, -0.035034f, -0.013354f, 0.007337f, -0.027064f, -0.001885f, 0.043387f, 0.021558f, -0.002893f, -0.009927f, 0.034624f, 0.009083f, 0.024941f, -0.007839f, -0.011156f, 0.036118f, -0.012240f, 0.011272f, 0.004828f, 0.005128f, -0.007423f, -0.005452f, -0.006635f, -0.004605f, -0.012144f, -0.007512f, -0.008460f, 0.001212f, 0.007828f, -0.002883f, -0.017063f, -0.005491f, -0.002347f, 0.001924f, -0.000516f, -0.004257f, 0.000080f, 0.004812f, 0.008342f, -0.006661f, -0.000199f, -0.018418f, 0.003120f, -0.002302f, -0.003477f, 0.012416f, -0.000218f, -0.001204f, -0.007330f, 0.007592f, 0.002087f, 0.011245f, -0.003844f, -0.000665f, -0.007546f, - -0.000833f, 0.034499f, -0.002807f, -0.008057f, -0.028675f, 0.001216f, 0.002734f, -0.007737f, -0.000607f, -0.013339f, 0.005045f, -0.041238f, 0.037617f, -0.007638f, -0.013303f, -0.026117f, -0.029439f, -0.003083f, 0.035887f, -0.006548f, 0.009952f, -0.022215f, -0.012800f, -0.006232f, -0.021576f, -0.026096f, 0.023825f, -0.014762f, -0.011982f, 0.021068f, 0.020539f, -0.029078f, 0.010126f, 0.010935f, 0.025151f, 0.020722f, -0.007578f, -0.018421f, -0.011585f, -0.028277f, 0.031070f, 0.020387f, 0.010319f, 0.022111f, -0.022938f, 0.015665f, -0.003325f, 0.014356f, 0.015965f, -0.015072f, -0.001182f, 0.050512f, 0.042383f, -0.032086f, 0.012835f, 0.026202f, -0.020169f, 0.006203f, -0.047247f, 0.014110f, -0.025563f, 0.021087f, -0.014830f, -0.016382f, -0.011548f, 0.056360f, 0.003226f, -0.016478f, 0.005004f, 0.018926f, 0.002495f, 0.011241f, -0.030394f, -0.003503f, 0.050659f, -0.001706f, -0.019895f, -0.031024f, 0.000958f, -0.022975f, 0.014318f, 0.014571f, 0.017707f, -0.031686f, -0.033050f, -0.008863f, 0.005564f, 0.010830f, 0.003451f, 0.000132f, 0.000811f, 0.012008f, -0.008109f, -0.003292f, -0.002511f, -0.005367f, - 0.005937f, 0.004992f, -0.010109f, -0.007002f, -0.015529f, 0.009457f, -0.005696f, 0.004110f, 0.006801f, 0.009957f, 0.007949f, 0.003392f, 0.015601f, 0.000951f, -0.003636f, 0.007431f, -0.011593f, 0.006435f, 0.004490f, 0.003133f, 0.010326f, 0.011024f, 0.002049f, -0.001575f, 0.006525f, 0.000703f, -0.001002f, -0.012247f, -0.015998f, -0.003070f, -0.001235f, -0.002026f, -0.031186f, -0.001618f, -0.003710f, 0.009090f, -0.045282f, -0.020974f, -0.025369f, 0.021396f, -0.010744f, 0.031838f, 0.019418f, 0.040537f, -0.020073f, -0.001702f, -0.031770f, 0.027017f, 0.049297f, -0.015361f, -0.039015f, 0.003807f, -0.007903f, 0.060380f, -0.014788f, -0.023720f, 0.023120f, 0.012670f, 0.009738f, 0.022729f, 0.007846f, -0.075941f, 0.000383f, -0.005117f, 0.029758f, 0.053308f, -0.050265f, 0.001975f, 0.015226f, -0.024184f, -0.004781f, -0.068860f, -0.015467f, 0.035089f, -0.056535f, -0.033922f, -0.017269f, -0.022186f, 0.022709f, -0.013742f, -0.020065f, 0.030323f, 0.009347f, 0.011048f, 0.031401f, 0.003428f, -0.010642f, 0.022239f, 0.032944f, -0.031943f, -0.023668f, 0.048819f, 0.033706f, 0.011320f, 0.015640f, 0.011527f, - -0.021855f, -0.031748f, 0.000087f, 0.000409f, -0.006400f, 0.009987f, -0.019084f, 0.013627f, -0.026479f, 0.010783f, 0.062231f, -0.028917f, -0.023755f, 0.034147f, 0.009973f, -0.011640f, 0.021741f, 0.030012f, 0.022445f, 0.026522f, 0.013277f, -0.013492f, 0.011077f, -0.032748f, 0.017637f, 0.007414f, 0.009387f, -0.016619f, -0.004827f, 0.003473f, -0.001411f, -0.003322f, -0.004850f, 0.010746f, 0.021173f, -0.008222f, -0.020182f, 0.012888f, 0.024467f, 0.012704f, 0.009708f, -0.028807f, 0.017586f, 0.001872f, 0.009580f, -0.004620f, -0.009721f, -0.002302f, 0.014849f, 0.001340f, -0.002575f, -0.012430f, -0.000879f, -0.007248f, -0.003437f, -0.005745f, 0.006688f, 0.013897f, -0.008217f, 0.000550f, 0.008916f, -0.003435f, -0.001383f, -0.007593f, 0.001530f, -0.005088f, -0.005524f, 0.018013f, 0.016267f, 0.026528f, -0.061446f, -0.113488f, -0.052308f, -0.007956f, 0.038627f, 0.002735f, 0.042596f, 0.039349f, -0.011902f, 0.006378f, -0.009640f, -0.021584f, -0.035486f, -0.020652f, -0.025616f, -0.014899f, 0.040466f, -0.052598f, -0.009145f, -0.043838f, -0.054372f, -0.009522f, -0.054874f, -0.044151f, 0.005406f, -0.011551f, - -0.006333f, 0.009985f, 0.048156f, 0.003362f, -0.034947f, 0.001992f, -0.004192f, -0.010515f, -0.045381f, -0.002975f, 0.054094f, 0.005004f, -0.000923f, 0.021917f, 0.042024f, 0.028289f, 0.007350f, -0.017114f, 0.014653f, -0.014376f, -0.038519f, -0.070637f, 0.067194f, -0.008506f, 0.055975f, -0.004713f, 0.000745f, -0.020115f, -0.032344f, 0.059007f, -0.033529f, -0.027244f, -0.002833f, -0.042994f, -0.040394f, 0.033586f, 0.024632f, 0.012928f, -0.004287f, 0.017110f, -0.029828f, 0.011607f, -0.024206f, -0.034170f, -0.037295f, -0.029085f, -0.011992f, 0.028899f, 0.001840f, 0.010387f, -0.017253f, 0.010234f, -0.022574f, 0.016453f, 0.012779f, 0.011723f, -0.007351f, -0.000927f, 0.014561f, -0.003946f, -0.017608f, -0.013270f, -0.017429f, -0.001489f, -0.012862f, -0.002959f, -0.004514f, -0.004666f, 0.005155f, 0.002137f, -0.006912f, 0.003016f, 0.009170f, -0.002380f, -0.005808f, -0.013625f, -0.000089f, -0.009348f, -0.001267f, -0.001481f, -0.006467f, 0.015996f, -0.014953f, -0.013984f, -0.006600f, 0.008523f, -0.013233f, -0.013295f, 0.001939f, -0.011101f, -0.000051f, -0.001922f, 0.006278f, -0.001384f, 0.002133f, -0.008934f, - 0.003674f, -0.018594f, -0.009381f, -0.002734f, -0.039422f, -0.028863f, -0.043747f, -0.000451f, -0.041845f, -0.048590f, -0.008221f, -0.022198f, -0.053369f, -0.073892f, 0.008372f, -0.027959f, 0.013627f, -0.005324f, 0.027708f, 0.062257f, 0.003145f, 0.006452f, -0.031589f, -0.033793f, 0.028141f, 0.015738f, -0.022879f, 0.000138f, 0.018353f, -0.042091f, -0.032398f, -0.002249f, 0.053422f, -0.045910f, 0.000597f, 0.001136f, 0.024585f, -0.039203f, 0.040884f, 0.021519f, 0.011574f, -0.001022f, -0.017053f, -0.045495f, -0.000481f, -0.010846f, 0.016453f, -0.024661f, -0.060453f, 0.049859f, -0.036432f, -0.016173f, -0.002557f, 0.048797f, -0.037082f, 0.017164f, -0.030462f, 0.018938f, -0.011045f, -0.044744f, 0.021425f, -0.057028f, -0.012618f, -0.016310f, 0.019937f, 0.046892f, -0.027095f, 0.017418f, 0.047421f, -0.037889f, 0.006260f, 0.011552f, 0.011137f, 0.014114f, -0.069203f, -0.020618f, -0.011720f, 0.025015f, 0.005231f, -0.000002f, 0.012637f, -0.012053f, 0.027616f, -0.004920f, 0.006288f, -0.026489f, 0.023049f, 0.006045f, -0.042655f, -0.019331f, 0.020088f, 0.025276f, -0.003559f, -0.006252f, -0.016684f, 0.023702f, - 0.002974f, 0.000544f, -0.044365f, 0.007404f, -0.021341f, -0.033421f, -0.010158f, -0.006592f, -0.004322f, -0.019582f, -0.025448f, 0.009337f, -0.005854f, -0.012331f, 0.007333f, -0.002361f, -0.003637f, 0.001692f, -0.006804f, 0.002636f, 0.013746f, -0.025657f, 0.002627f, 0.005094f, -0.008507f, 0.018880f, 0.017390f, 0.019998f, 0.007963f, 0.012167f, -0.012432f, 0.005423f, 0.000673f, 0.005918f, -0.005634f, 0.000507f, -0.000347f, 0.008524f, -0.004997f, -0.011309f, 0.081530f, 0.007891f, 0.034660f, 0.092682f, -0.043137f, -0.024820f, -0.036090f, -0.013971f, 0.043237f, 0.002440f, 0.053167f, 0.013821f, -0.001578f, -0.020096f, 0.040249f, -0.025260f, 0.009400f, -0.017006f, 0.016796f, -0.026738f, 0.030734f, -0.015193f, -0.006803f, -0.017765f, 0.023693f, 0.015655f, -0.025475f, -0.006510f, 0.024925f, 0.007066f, -0.016258f, 0.001272f, -0.020994f, -0.070286f, 0.030589f, -0.037108f, -0.053500f, 0.032855f, 0.014982f, 0.035564f, -0.003130f, -0.035382f, -0.012855f, -0.009749f, 0.021105f, 0.027519f, 0.031239f, 0.051369f, 0.051266f, -0.023022f, 0.007257f, -0.054404f, 0.000760f, -0.039714f, -0.070091f, -0.007288f, - -0.057111f, 0.018224f, -0.045574f, -0.030502f, -0.030122f, -0.043295f, 0.004438f, -0.010542f, 0.003796f, -0.013140f, -0.005246f, -0.004106f, -0.074167f, 0.011520f, 0.011464f, 0.016610f, 0.035847f, -0.007088f, -0.058947f, 0.033889f, -0.038127f, 0.021788f, 0.021964f, 0.047946f, -0.026063f, -0.024326f, -0.015739f, -0.009684f, -0.034182f, 0.013469f, 0.008059f, 0.004068f, -0.008088f, 0.011886f, -0.017005f, 0.017149f, -0.002731f, 0.003377f, 0.005284f, -0.021421f, 0.000016f, 0.008094f, 0.021114f, -0.005713f, -0.012512f, 0.009027f, 0.014661f, 0.017818f, -0.011123f, -0.000030f, 0.010191f, -0.001368f, -0.001822f, -0.006817f, -0.013234f, 0.009300f, -0.000138f, 0.005904f, -0.007344f, -0.001147f, 0.012380f, -0.008233f, -0.012445f, -0.007305f, 0.002088f, -0.005440f, -0.021955f, 0.035418f, -0.008912f, -0.007388f, 0.003184f, 0.006728f, -0.005834f, 0.006465f, 0.008616f, -0.003542f, -0.000877f, -0.004875f, -0.007134f, 0.058026f, 0.108572f, -0.059602f, -0.048141f, -0.084143f, -0.171045f, -0.042360f, -0.017922f, 0.038180f, 0.023105f, -0.014853f, -0.033012f, 0.046679f, 0.057113f, 0.004889f, -0.002765f, 0.000264f, - -0.045129f, -0.026671f, -0.032008f, -0.024640f, -0.047736f, -0.000711f, -0.012062f, -0.005829f, 0.032745f, -0.044892f, 0.035923f, 0.033640f, -0.010521f, 0.017289f, -0.001973f, -0.079832f, -0.056837f, -0.031782f, -0.029056f, -0.013446f, 0.006298f, 0.030683f, 0.009965f, 0.016464f, 0.077025f, 0.069976f, 0.015861f, -0.052108f, -0.027074f, -0.002335f, -0.026757f, -0.049416f, -0.123169f, -0.103574f, -0.046560f, -0.011165f, 0.005084f, 0.026896f, -0.085441f, -0.049301f, 0.044313f, 0.051349f, 0.061734f, -0.056324f, -0.068296f, 0.022195f, -0.041659f, 0.101300f, -0.051095f, -0.005881f, -0.030062f, -0.016319f, 0.014016f, 0.029939f, -0.014938f, -0.040104f, 0.037230f, 0.036054f, -0.008156f, 0.041308f, 0.036767f, -0.080324f, 0.071871f, -0.046585f, 0.000250f, -0.013727f, -0.047970f, -0.013495f, 0.024337f, 0.018097f, -0.003870f, 0.009369f, -0.029239f, 0.000659f, 0.014752f, 0.019844f, 0.031366f, -0.023540f, 0.004798f, -0.006737f, -0.012738f, -0.033324f, -0.004050f, -0.032103f, 0.028351f, -0.005233f, -0.034067f, 0.005425f, -0.039028f, -0.002626f, 0.004757f, -0.009082f, -0.016857f, 0.001144f, 0.003175f, 0.004085f, - 0.012794f, -0.002424f, -0.000556f, 0.022786f, 0.007478f, -0.023000f, -0.026314f, 0.007182f, -0.017440f, -0.037193f, -0.012722f, -0.034988f, 0.011548f, 0.011055f, 0.027529f, 0.003734f, -0.028314f, -0.020319f, 0.020098f, 0.102047f, -0.034013f, 0.032900f, -0.001436f, -0.045417f, 0.007011f, -0.091697f, -0.020657f, 0.019715f, 0.001801f, -0.053375f, 0.031593f, 0.093487f, 0.065576f, -0.028926f, -0.058540f, -0.024925f, 0.006576f, 0.098238f, 0.013213f, 0.002479f, 0.000372f, 0.045425f, 0.046699f, 0.012213f, 0.035702f, 0.028960f, 0.054899f, -0.015643f, 0.006265f, 0.035080f, -0.032017f, -0.048729f, 0.027370f, 0.080605f, 0.017463f, 0.039064f, 0.003739f, 0.023983f, -0.107904f, 0.019970f, -0.004226f, 0.024371f, 0.105771f, 0.042684f, 0.014294f, -0.010506f, 0.047396f, -0.010831f, -0.022240f, 0.016749f, 0.029449f, 0.062252f, -0.020080f, 0.038689f, 0.007036f, 0.010728f, 0.024485f, 0.031495f, -0.000996f, -0.041241f, -0.025603f, 0.009630f, 0.079774f, 0.054642f, 0.042442f, 0.045960f, 0.038475f, -0.011048f, -0.098811f, -0.070991f, -0.135542f, -0.001919f, 0.041310f, 0.077993f, 0.012133f, -0.056941f, - 0.018786f, -0.035256f, 0.011293f, 0.026910f, 0.008135f, -0.016541f, -0.009168f, 0.000240f, -0.007658f, 0.021806f, -0.015001f, -0.039468f, 0.000739f, 0.013061f, 0.017517f, -0.025558f, -0.011584f, -0.047481f, 0.011739f, 0.020552f, -0.018227f, -0.016439f, 0.011843f, -0.009383f, -0.011730f, -0.010356f, -0.036865f, -0.008021f, 0.038003f, 0.023693f, 0.034408f, -0.018678f, -0.038965f, -0.029012f, 0.025274f, 0.019808f, -0.009184f, -0.001874f, -0.002381f, 0.006925f, -0.010969f, 0.022666f, -0.026000f, -0.014862f, 0.001805f, 0.004133f, 0.014967f, -0.032317f, 0.006633f, -0.023802f, 0.062660f, -0.018609f, 0.013663f, -0.020688f, 0.007225f, -0.038852f, -0.016265f, 0.083389f, -0.003397f, -0.039016f, 0.009535f, -0.007578f, -0.031703f, -0.025784f, 0.004644f, 0.043871f, 0.119685f, 0.053466f, 0.106082f, 0.055200f, 0.047112f, 0.044588f, -0.031581f, -0.026722f, -0.030220f, 0.012944f, 0.086920f, 0.027644f, -0.072721f, 0.030995f, -0.078185f, 0.038748f, -0.049611f, -0.010891f, -0.043563f, -0.047126f, -0.002317f, 0.005645f, -0.000767f, -0.058873f, 0.076113f, -0.015860f, 0.028546f, -0.074361f, 0.019716f, -0.017590f, - -0.022879f, 0.037959f, -0.031510f, 0.076310f, 0.008939f, -0.030648f, 0.003843f, -0.023191f, -0.031532f, 0.021179f, -0.052089f, -0.011571f, 0.065219f, -0.014681f, 0.026632f, -0.003951f, -0.047446f, 0.051469f, -0.028066f, -0.108216f, 0.013326f, 0.007657f, -0.000528f, 0.011439f, -0.014957f, -0.021446f, -0.006126f, 0.048347f, -0.092731f, 0.054294f, -0.021939f, -0.013348f, 0.060853f, -0.037966f, 0.017820f, 0.022028f, 0.088388f, 0.030346f, 0.039013f, -0.006743f, 0.052776f, -0.042716f, 0.041839f, 0.006418f, -0.016316f, 0.010764f, 0.002414f, 0.001269f, -0.022960f, -0.006402f, 0.003965f, -0.010203f, -0.017220f, 0.035492f, 0.000484f, -0.003048f, -0.010729f, 0.011521f, -0.014237f, 0.031588f, 0.018506f, 0.016768f, 0.003831f, -0.000623f, -0.003195f, 0.026363f, -0.021650f, -0.028012f, 0.010438f, 0.013601f, -0.001481f, 0.023622f, -0.010510f, -0.005298f, 0.001040f, -0.008668f, -0.026984f, -0.027274f, -0.002721f, 0.008525f, -0.013521f, 0.004193f, 0.008368f, 0.009124f, -0.007446f, -0.001091f, 0.017359f, -0.025375f, -0.045034f, 0.073925f, 0.068874f, 0.239792f, 0.096949f, -0.130644f, -0.061262f, -0.063996f, - -0.100267f, 0.069975f, 0.215709f, 0.086319f, 0.041036f, -0.054041f, -0.014743f, -0.003617f, -0.002407f, 0.103519f, 0.071047f, 0.045175f, 0.155903f, -0.186526f, 0.012289f, 0.097540f, -0.023485f, 0.020075f, 0.102340f, 0.017941f, -0.029023f, 0.055141f, -0.102718f, -0.206358f, -0.019531f, 0.020307f, -0.079873f, -0.009050f, 0.110765f, 0.018679f, 0.006685f, 0.042066f, -0.087141f, -0.177797f, -0.162285f, -0.073896f, 0.053924f, 0.105727f, 0.234323f, 0.058849f, -0.029746f, -0.029415f, -0.063264f, -0.140002f, -0.042362f, 0.102484f, 0.103300f, 0.108189f, 0.105662f, 0.066240f, 0.055119f, 0.015934f, 0.024204f, -0.089962f, -0.055101f, 0.013401f, 0.025355f, 0.046149f, 0.056713f, 0.139161f, 0.036607f, 0.081000f, -0.053137f, -0.052582f, -0.094266f, -0.020527f, -0.072061f, -0.017231f, 0.145237f, 0.186310f, 0.004173f, -0.007552f, -0.115909f, -0.133798f, -0.075234f, -0.031815f, 0.074434f, 0.039567f, -0.008043f, 0.027598f, -0.010207f, -0.019156f, -0.034931f, -0.033161f, -0.004374f, 0.008392f, 0.006926f, 0.040913f, -0.002928f, -0.000925f, -0.020923f, 0.000664f, -0.026061f, -0.008811f, 0.000096f, -0.038503f, - -0.017312f, 0.000767f, -0.010500f, -0.002760f, 0.022500f, 0.019939f, 0.046982f, -0.020757f, -0.008537f, -0.047677f, -0.038569f, -0.029307f, 0.048663f, 0.030814f, 0.015253f, 0.016117f, -0.015115f, -0.042362f, -0.034143f, 0.001471f, -0.024078f, 0.041325f, 0.061379f, -0.015865f, -0.170373f, -0.106176f, 0.062160f, 0.160489f, 0.188230f, 0.389793f, 0.238771f, 0.160973f, 0.143432f, 0.110437f, -0.018659f, -0.169804f, -0.184502f, -0.359977f, -0.381421f, -0.362862f, -0.230865f, -0.081491f, 0.081156f, 0.138433f, 0.232371f, 0.227009f, 0.160437f, 0.157154f, 0.202376f, 0.192921f, 0.174328f, 0.109492f, 0.077224f, 0.066924f, -0.006281f, -0.012441f, -0.222845f, -0.159909f, -0.199335f, -0.242752f, -0.101214f, -0.237077f, -0.190262f, -0.348964f, -0.304217f, -0.216760f, -0.143798f, -0.022196f, 0.181687f, 0.218719f, 0.185442f, 0.196842f, 0.183444f, 0.338254f, 0.441852f, 0.393682f, 0.391710f, 0.344503f, 0.333812f, 0.247084f, 0.248225f, 0.052405f, -0.166680f, -0.348562f, -0.332252f, -0.498488f, -0.414828f, -0.605274f, -0.719689f, -0.640709f, -0.607377f, -0.366622f, -0.254375f, 0.045882f, 0.121140f, 0.283508f, - 0.423010f, 0.650766f, 0.564671f, 0.813885f, 0.704002f, 0.503313f, 0.496057f, 0.224887f, 0.016660f, -0.046063f, -0.176358f, -0.309124f, -0.368192f, -0.441077f, -0.381274f, -0.346505f, -0.333282f, -0.271834f, -0.278976f, -0.230234f, -0.201647f, -0.062353f, -0.042866f, 0.054645f, 0.130095f, 0.148426f, 0.194916f, 0.276120f, 0.335334f, 0.356427f, 0.374168f, 0.273765f, 0.227520f, 0.219479f, 0.081789f, 0.052935f, -0.124404f, -0.298864f, -0.396660f, -0.406972f, -0.454241f, -0.289686f, -0.329137f, -0.220696f, -0.158524f, -0.045087f, 0.078520f, 0.153784f, 0.235626f, 0.243387f, 0.368329f, 0.377122f, 0.363342f, 0.306781f, 0.276258f, 0.108457f, 0.027658f, -0.070726f, -0.157010f, -0.300183f, -0.352209f, -0.294060f, -0.198994f, -0.177297f, -0.123428f, -0.114161f, -0.059607f, -0.009612f, 0.013690f, 0.008045f, 0.052104f, 0.057900f, 0.094101f, 0.078453f, 0.073878f, 0.067391f, 0.078304f, 0.052772f, 0.050564f, 0.055861f, 0.056861f, 0.020775f, 0.006321f, -0.013502f, -0.002813f, -0.008730f, 0.004202f} - }, - { - {-0.009636f, -0.025798f, -0.002176f, -0.004122f, -0.003524f, 0.000383f, -0.004304f, 0.001608f, 0.002528f, 0.010573f, -0.003571f, -0.000425f, -0.009753f, 0.000719f, 0.009802f, 0.000683f, 0.007084f, -0.002091f, 0.002973f, -0.004095f, -0.006160f, 0.000208f, 0.006734f, -0.000864f, -0.008442f, -0.000347f, 0.008170f, 0.002666f, -0.003504f, -0.002915f, -0.000388f, -0.001121f, -0.001913f, 0.000102f, -0.001386f, -0.002807f, -0.000362f, 0.001684f, 0.001140f, -0.000366f, -0.006433f, 0.009567f, 0.013019f, 0.000429f, 0.001512f, -0.005252f, -0.002994f, 0.001046f, -0.006805f, -0.007532f, 0.004506f, -0.006115f, 0.004453f, 0.005794f, 0.005749f, 0.002177f, -0.000876f, 0.001579f, 0.001199f, 0.004367f, -0.009364f, 0.000833f, -0.001213f, -0.006786f, -0.009222f, 0.000299f, 0.004600f, -0.003480f, -0.000492f, -0.001038f, -0.000654f, 0.006532f, 0.003218f, 0.000907f, 0.002541f, -0.002082f, -0.007589f, 0.002989f, 0.001226f, 0.006539f, -0.007802f, -0.005866f, 0.004398f, -0.003444f, -0.001627f, -0.005762f, 0.001314f, -0.003365f, -0.003173f, 0.000130f, -0.002544f, -0.002715f, 0.000760f, -0.001443f, -0.000702f, -0.003096f, - 0.001945f, -0.000335f, 0.000183f, -0.000784f, 0.001589f, -0.000242f, 0.000515f, -0.000503f, -0.000497f, -0.023631f, -0.005584f, 0.009208f, -0.001422f, -0.007267f, 0.002972f, -0.017518f, -0.006888f, -0.002523f, -0.003299f, -0.009051f, -0.009713f, 0.005200f, 0.007823f, 0.006859f, -0.009093f, -0.013178f, 0.001362f, -0.007707f, -0.014226f, 0.003248f, -0.001029f, 0.004012f, 0.015707f, -0.005193f, -0.001806f, -0.009982f, 0.013554f, 0.001080f, 0.006697f, 0.004740f, 0.011105f, 0.005737f, 0.003343f, -0.011129f, -0.001396f, -0.010231f, -0.002959f, 0.000470f, -0.004436f, 0.003467f, 0.002780f, -0.004829f, -0.009646f, 0.006084f, 0.009794f, 0.002813f, -0.004852f, -0.007328f, -0.004684f, 0.002375f, -0.008395f, -0.010458f, -0.003102f, 0.005207f, -0.003012f, 0.002578f, 0.006473f, 0.004182f, -0.005007f, 0.009572f, 0.000746f, 0.008156f, -0.006922f, -0.005716f, -0.003428f, -0.003986f, 0.005578f, -0.003175f, 0.000239f, 0.009664f, 0.003335f, 0.000263f, -0.009220f, 0.002509f, -0.003732f, 0.006786f, 0.009737f, -0.001672f, 0.000727f, -0.004462f, 0.003641f, 0.008671f, -0.003148f, 0.005413f, 0.002370f, 0.001170f, - 0.004379f, 0.001799f, 0.000147f, 0.003579f, 0.001280f, -0.000258f, -0.000044f, 0.001599f, 0.001375f, -0.001573f, 0.001136f, 0.001227f, 0.001765f, -0.004828f, 0.006094f, 0.008424f, 0.003394f, -0.005245f, 0.003664f, -0.002453f, 0.002536f, 0.015828f, 0.009745f, -0.013336f, 0.009058f, -0.007331f, -0.003633f, -0.001915f, 0.000260f, 0.006739f, 0.000246f, 0.018508f, 0.005336f, -0.007081f, -0.004670f, -0.004590f, 0.013015f, 0.003079f, 0.012534f, 0.004129f, 0.008436f, 0.013098f, 0.014998f, 0.005722f, -0.001704f, -0.001488f, 0.002255f, -0.012016f, -0.011201f, 0.003587f, -0.008506f, 0.004839f, 0.002310f, -0.002870f, -0.001265f, 0.003537f, 0.012512f, -0.004095f, -0.004268f, -0.006431f, 0.015986f, -0.002156f, -0.019966f, -0.009946f, -0.007925f, -0.007250f, 0.008228f, 0.007930f, 0.006951f, 0.010436f, 0.004613f, 0.006544f, -0.000307f, -0.000619f, -0.000311f, 0.010495f, 0.003392f, 0.006161f, -0.013904f, 0.000917f, 0.000623f, 0.000760f, 0.000900f, 0.006050f, 0.004215f, 0.001759f, -0.006747f, -0.006694f, 0.003877f, 0.003251f, -0.002000f, -0.000411f, -0.005439f, -0.006882f, -0.005650f, 0.003841f, - 0.006651f, 0.000824f, 0.000367f, 0.002335f, -0.001951f, -0.000234f, -0.001547f, 0.001217f, 0.001160f, 0.000706f, -0.000941f, 0.002012f, 0.003183f, -0.000462f, 0.000299f, 0.000718f, -0.000530f, 0.000857f, -0.001341f, 0.002347f, -0.000002f, -0.000441f, -0.001528f, 0.002075f, -0.004046f, 0.002280f, 0.000644f, 0.001719f, -0.000316f, 0.035122f, 0.007783f, 0.005358f, -0.004197f, -0.002434f, 0.003493f, 0.002461f, 0.009456f, 0.012396f, -0.000481f, 0.018250f, 0.007368f, -0.006436f, -0.005936f, -0.000461f, 0.008822f, -0.001030f, -0.004673f, 0.009658f, 0.001450f, 0.026317f, 0.006986f, 0.005209f, 0.001180f, -0.002543f, 0.001338f, 0.003981f, 0.005202f, -0.001197f, 0.000153f, 0.014119f, 0.002076f, 0.015543f, -0.007717f, -0.007476f, 0.005232f, 0.023339f, 0.006867f, 0.005636f, -0.001918f, -0.010100f, -0.003861f, 0.003152f, 0.000802f, -0.000236f, 0.000965f, -0.014331f, 0.001125f, -0.006309f, 0.005849f, 0.004514f, -0.005543f, 0.003290f, 0.005140f, 0.003371f, -0.006615f, -0.006920f, 0.001765f, 0.002439f, 0.000141f, -0.008895f, 0.002446f, -0.003467f, 0.005826f, -0.000828f, 0.001235f, 0.003612f, - -0.001243f, 0.001993f, -0.003043f, 0.000969f, 0.020621f, 0.002314f, 0.007393f, 0.000238f, -0.005509f, 0.003360f, 0.001359f, 0.006341f, -0.011259f, -0.007949f, 0.004037f, -0.001678f, 0.002483f, -0.002974f, 0.004484f, 0.003635f, 0.000604f, -0.005053f, -0.001762f, -0.006873f, -0.001074f, -0.001585f, 0.004565f, -0.003173f, -0.000687f, 0.000743f, -0.000452f, -0.001657f, -0.001495f, 0.001279f, -0.001596f, -0.002312f, 0.000136f, 0.000081f, 0.001403f, -0.004655f, -0.001640f, 0.001170f, 0.000844f, -0.005067f, -0.001058f, -0.000345f, -0.006333f, -0.000740f, 0.005173f, -0.007745f, -0.001344f, 0.007878f, -0.003991f, -0.012215f, -0.000080f, 0.020156f, -0.001402f, 0.015825f, 0.008099f, 0.021891f, 0.002628f, 0.002049f, 0.007947f, -0.006147f, -0.013071f, -0.017156f, 0.004022f, -0.008730f, 0.020157f, 0.011557f, 0.014231f, -0.002661f, -0.005965f, 0.001808f, 0.003167f, 0.006697f, 0.018856f, 0.002292f, 0.007833f, -0.008604f, 0.005977f, -0.006097f, 0.002537f, -0.003274f, 0.006171f, 0.010847f, 0.001410f, 0.010365f, 0.003735f, 0.005203f, -0.003051f, -0.002468f, 0.013757f, -0.003199f, -0.003525f, 0.010440f, - -0.006300f, -0.000560f, 0.001414f, -0.004532f, -0.006120f, 0.004635f, -0.007010f, -0.001301f, -0.008930f, -0.018855f, -0.002204f, -0.002848f, -0.000585f, -0.019650f, -0.007607f, -0.005985f, -0.005195f, 0.007413f, 0.019278f, -0.004922f, 0.006122f, 0.010151f, -0.002939f, 0.001920f, 0.001600f, 0.001163f, -0.007179f, 0.007719f, -0.009078f, 0.002348f, 0.006311f, 0.018170f, 0.005548f, 0.005384f, 0.001519f, -0.000235f, 0.005343f, -0.006565f, -0.000196f, 0.003748f, 0.001632f, 0.000322f, -0.007502f, 0.004385f, 0.005208f, 0.005384f, -0.001176f, 0.004006f, 0.002025f, 0.001126f, 0.003491f, 0.002105f, 0.000270f, 0.002059f, -0.000679f, 0.001594f, 0.000860f, 0.001340f, 0.001934f, 0.002631f, 0.002944f, 0.002154f, 0.001911f, 0.002334f, -0.001584f, 0.002108f, -0.025561f, 0.002239f, 0.013688f, 0.007249f, -0.014357f, -0.001055f, 0.000634f, 0.003402f, 0.005207f, -0.000800f, -0.011191f, -0.010656f, 0.001611f, 0.018113f, 0.008551f, 0.010749f, 0.018152f, -0.012304f, 0.012933f, 0.024050f, -0.002277f, 0.005434f, -0.013704f, 0.004696f, 0.004840f, -0.011679f, -0.006382f, -0.002508f, 0.005443f, -0.011801f, - -0.015693f, 0.003004f, 0.001604f, -0.013357f, 0.000945f, 0.004244f, -0.002860f, 0.028508f, -0.001762f, -0.020161f, -0.001528f, 0.007000f, 0.015881f, 0.005943f, 0.007025f, -0.012917f, 0.003400f, 0.004115f, -0.011729f, -0.000730f, -0.002159f, 0.019807f, 0.011906f, -0.003257f, -0.007001f, -0.015295f, 0.006390f, 0.006170f, -0.009268f, -0.000284f, 0.003446f, 0.006022f, 0.005927f, -0.007778f, -0.000453f, -0.001678f, 0.018320f, -0.015574f, 0.001674f, -0.004041f, 0.016466f, -0.001179f, -0.004338f, -0.006989f, 0.001839f, -0.007234f, -0.017279f, 0.000491f, 0.012681f, 0.003892f, 0.007848f, 0.002040f, -0.006401f, -0.002421f, -0.003365f, 0.011037f, 0.004103f, -0.002981f, -0.000688f, 0.010023f, 0.007204f, -0.002813f, 0.000791f, 0.001588f, 0.001872f, -0.000183f, 0.003723f, 0.002788f, 0.002162f, 0.000263f, -0.001694f, -0.000634f, 0.000503f, -0.001431f, 0.000182f, -0.001998f, -0.000961f, 0.001641f, 0.009712f, 0.008842f, 0.003107f, -0.006489f, 0.001799f, 0.004232f, 0.029886f, 0.019852f, 0.014847f, 0.021054f, 0.008476f, -0.001828f, 0.002947f, 0.007782f, -0.021296f, 0.010880f, 0.000247f, 0.011697f, - -0.008636f, -0.004356f, -0.013768f, 0.003864f, 0.024031f, -0.023618f, -0.015066f, -0.025109f, 0.012613f, -0.005757f, 0.000698f, -0.011455f, 0.001368f, -0.004300f, -0.011531f, 0.004316f, 0.005487f, -0.017879f, -0.002548f, 0.003173f, -0.004045f, 0.009359f, -0.025970f, -0.012579f, 0.026338f, 0.002592f, -0.000576f, -0.002681f, 0.000824f, -0.013503f, -0.014378f, 0.000776f, -0.020868f, -0.004860f, 0.001984f, 0.005493f, -0.009033f, -0.002124f, 0.025665f, -0.001733f, 0.008942f, 0.019105f, -0.017965f, -0.006278f, 0.004095f, 0.004474f, 0.003340f, -0.005543f, -0.012865f, 0.014574f, -0.001713f, -0.013687f, 0.009917f, -0.002506f, 0.002255f, 0.003763f, -0.007444f, -0.004500f, -0.003204f, -0.005605f, -0.008058f, -0.009627f, -0.009298f, -0.011794f, -0.003644f, -0.005002f, -0.001248f, -0.001543f, -0.000228f, 0.001540f, -0.004917f, -0.003849f, 0.002701f, 0.003271f, 0.005309f, -0.000293f, -0.002258f, -0.006921f, -0.002032f, -0.007998f, -0.005183f, -0.001057f, 0.001510f, -0.000553f, 0.001030f, -0.001992f, -0.001241f, 0.006009f, 0.002260f, 0.004188f, -0.004064f, 0.001114f, 0.000941f, 0.001626f, -0.008183f, 0.000680f, - 0.002408f, 0.000092f, 0.004331f, -0.049578f, -0.027788f, 0.022573f, -0.008798f, -0.010441f, 0.013445f, 0.011964f, -0.021397f, -0.028557f, -0.009358f, -0.010113f, -0.010955f, -0.001795f, -0.019911f, -0.014080f, 0.007054f, 0.000933f, -0.026731f, -0.029116f, -0.016582f, -0.007862f, -0.001660f, 0.015161f, -0.001262f, -0.010769f, 0.008049f, -0.024205f, 0.000551f, -0.000970f, 0.000850f, 0.008686f, 0.004487f, -0.017585f, -0.013553f, 0.010834f, 0.003536f, 0.039804f, 0.009522f, -0.013014f, 0.001587f, 0.001474f, 0.000191f, 0.010650f, 0.001783f, 0.004561f, -0.004296f, -0.008515f, 0.002357f, -0.022589f, -0.004489f, -0.009733f, -0.012288f, 0.002834f, -0.018371f, 0.021337f, -0.002961f, 0.009043f, 0.014875f, 0.004699f, 0.007772f, -0.000769f, -0.010053f, -0.000194f, -0.001505f, -0.011972f, 0.015620f, -0.006342f, 0.027987f, -0.000693f, -0.000893f, 0.001556f, -0.007576f, -0.015043f, 0.004517f, -0.011748f, -0.005113f, 0.016794f, -0.021606f, -0.020736f, 0.013824f, 0.013654f, 0.011236f, -0.017524f, 0.012591f, 0.005629f, 0.007239f, -0.000258f, 0.003032f, 0.003782f, 0.009738f, 0.004556f, 0.002209f, 0.007708f, - -0.001229f, -0.000152f, -0.006315f, -0.004410f, -0.001215f, 0.005359f, -0.006762f, 0.001216f, -0.000988f, -0.003507f, -0.002600f, 0.002008f, -0.008632f, -0.004787f, -0.006498f, -0.000753f, 0.002475f, 0.000311f, 0.005992f, -0.001725f, 0.006280f, 0.000934f, 0.002190f, 0.001406f, 0.004813f, -0.003539f, -0.003402f, 0.010256f, 0.036718f, -0.020423f, 0.017418f, 0.007400f, 0.012949f, -0.005060f, -0.020189f, 0.003040f, -0.005378f, -0.018583f, 0.037886f, -0.002506f, -0.010675f, -0.037287f, 0.022912f, 0.006565f, -0.000530f, -0.013828f, -0.016315f, 0.000599f, 0.038472f, 0.014529f, -0.001616f, -0.003646f, -0.016673f, -0.013323f, 0.011023f, 0.005085f, -0.013069f, -0.008963f, 0.013346f, 0.003516f, -0.000678f, 0.011720f, 0.017692f, 0.002945f, 0.023393f, 0.026817f, 0.016065f, -0.006015f, 0.005751f, 0.002313f, 0.004273f, 0.014049f, -0.019903f, 0.020928f, -0.001570f, -0.010452f, -0.016167f, 0.000217f, 0.013516f, 0.009683f, -0.019060f, 0.004261f, 0.014801f, 0.002409f, -0.013850f, -0.029442f, -0.027033f, 0.007193f, 0.011731f, 0.002103f, -0.010583f, -0.001287f, 0.021308f, -0.009752f, -0.016368f, -0.031110f, - 0.003132f, 0.006154f, -0.023454f, 0.008840f, 0.023102f, -0.010499f, 0.017927f, 0.006382f, -0.021744f, -0.015896f, 0.001488f, 0.022232f, -0.002491f, 0.023348f, -0.004235f, -0.008073f, 0.004698f, 0.011941f, 0.002956f, -0.003896f, -0.006456f, 0.004062f, 0.010300f, 0.008606f, 0.001225f, 0.013887f, 0.002336f, 0.009979f, 0.002234f, 0.013620f, 0.001812f, 0.008431f, -0.000378f, 0.006746f, 0.003359f, -0.003293f, -0.010162f, 0.000902f, -0.011846f, -0.001575f, -0.005006f, 0.001859f, -0.001785f, -0.000407f, -0.010564f, -0.000930f, 0.004535f, -0.004999f, 0.000386f, -0.001192f, 0.000441f, -0.000659f, -0.007739f, 0.001157f, 0.044214f, 0.029519f, 0.006368f, -0.008645f, -0.005055f, -0.005961f, -0.030842f, -0.012091f, -0.000693f, 0.019763f, -0.014342f, -0.007601f, -0.006869f, 0.000587f, 0.031874f, -0.024766f, -0.007008f, -0.001140f, 0.014800f, -0.004988f, -0.018786f, -0.030697f, 0.010762f, -0.021140f, -0.010090f, -0.013103f, -0.014738f, 0.004761f, -0.024541f, -0.011549f, 0.021182f, 0.032409f, 0.001168f, -0.019936f, -0.018273f, 0.029899f, -0.003626f, -0.015879f, 0.030688f, 0.001164f, 0.001600f, 0.001506f, - -0.034109f, 0.013951f, -0.012830f, 0.012482f, 0.011058f, -0.022794f, -0.002810f, -0.023128f, 0.008755f, -0.022427f, -0.004155f, 0.009651f, 0.012550f, -0.007379f, 0.007507f, -0.027264f, 0.018580f, -0.001966f, 0.012578f, 0.010982f, 0.007516f, -0.005931f, -0.006053f, 0.027504f, -0.019223f, 0.013735f, -0.004952f, -0.023138f, -0.014358f, -0.001410f, 0.024273f, -0.013929f, 0.011212f, 0.003440f, -0.007879f, 0.000447f, -0.027689f, 0.034754f, 0.020986f, -0.003967f, -0.009720f, 0.017090f, 0.007061f, -0.004879f, -0.009181f, 0.002032f, -0.006219f, 0.008854f, -0.002116f, 0.004704f, 0.014078f, 0.005268f, 0.011085f, 0.000081f, 0.003748f, 0.001784f, -0.002407f, 0.000394f, -0.001346f, 0.009924f, 0.003592f, 0.013734f, 0.002006f, -0.007572f, 0.009672f, -0.003910f, -0.000569f, 0.007547f, -0.007476f, -0.002308f, -0.004080f, -0.003002f, 0.005884f, 0.003825f, 0.002921f, 0.012768f, -0.004090f, -0.004345f, 0.017400f, 0.003328f, -0.011518f, -0.026423f, -0.001444f, -0.034342f, 0.005912f, 0.003060f, 0.016799f, -0.013715f, -0.003276f, 0.008908f, 0.007415f, 0.009799f, -0.023238f, 0.032867f, 0.023315f, 0.004296f, - 0.017240f, -0.007769f, -0.033103f, 0.007818f, -0.013935f, -0.015506f, 0.015611f, 0.038093f, 0.006677f, -0.010505f, -0.013801f, -0.030553f, 0.000078f, 0.001424f, 0.046997f, -0.018490f, -0.000721f, 0.001410f, -0.001410f, -0.028301f, -0.031920f, 0.025286f, 0.001016f, 0.014372f, -0.004085f, -0.036173f, -0.020810f, 0.002892f, -0.006025f, -0.007649f, -0.010302f, 0.023679f, -0.004970f, 0.015383f, -0.016562f, 0.032982f, -0.038913f, 0.019283f, 0.020232f, 0.012052f, 0.010718f, 0.009766f, 0.030852f, 0.015836f, -0.002196f, 0.006578f, 0.000285f, 0.030448f, 0.045799f, -0.005275f, 0.003703f, -0.013445f, 0.019195f, 0.030724f, -0.020963f, 0.006457f, -0.052893f, 0.034606f, 0.035797f, 0.023850f, 0.033309f, -0.015157f, -0.026475f, -0.001906f, -0.003783f, -0.007844f, -0.005495f, -0.015921f, -0.010985f, -0.005887f, -0.001311f, -0.008905f, 0.005430f, 0.009728f, 0.003880f, -0.014961f, 0.003097f, -0.008312f, -0.008630f, -0.005526f, 0.006364f, 0.005760f, -0.002487f, -0.003726f, -0.001168f, -0.002597f, 0.001771f, -0.014477f, 0.004986f, 0.002095f, 0.009552f, 0.002095f, -0.000439f, -0.000423f, 0.002252f, 0.008202f, - 0.003039f, -0.007494f, 0.006192f, 0.000005f, 0.001089f, -0.038496f, -0.005730f, -0.049244f, -0.025313f, 0.019397f, -0.020204f, -0.043793f, 0.004034f, -0.023609f, 0.001052f, 0.000864f, -0.028134f, -0.026691f, 0.012039f, 0.025807f, 0.007745f, -0.029977f, 0.014309f, -0.033721f, -0.011868f, -0.012414f, 0.010520f, -0.013848f, -0.006360f, 0.016228f, 0.002730f, -0.011088f, -0.024058f, 0.025445f, 0.024615f, 0.032062f, 0.004142f, -0.003550f, 0.001091f, 0.010286f, -0.002467f, 0.013159f, -0.014504f, 0.017298f, -0.006849f, 0.019924f, 0.015919f, 0.012035f, -0.005832f, 0.000846f, -0.031019f, 0.010561f, -0.007847f, 0.023315f, 0.004187f, -0.054130f, 0.008267f, 0.026710f, 0.035850f, -0.020633f, -0.028267f, 0.033787f, 0.015275f, 0.023760f, -0.042350f, 0.020930f, 0.052890f, 0.055788f, 0.003492f, 0.001343f, 0.031676f, -0.021947f, -0.029329f, 0.018767f, -0.032467f, 0.012184f, -0.015156f, -0.012736f, -0.007223f, -0.069783f, -0.040373f, -0.033978f, 0.025009f, 0.009530f, 0.006981f, -0.024781f, -0.010158f, -0.018719f, -0.003620f, -0.010050f, 0.027333f, 0.006527f, -0.010979f, -0.024341f, -0.005503f, 0.015781f, - -0.002600f, -0.006724f, 0.004758f, 0.016518f, -0.005965f, -0.009744f, -0.004767f, -0.003609f, -0.001216f, 0.012847f, 0.012801f, 0.011215f, -0.011422f, 0.014696f, -0.000850f, 0.004205f, 0.016684f, -0.007539f, -0.007684f, 0.014645f, 0.026167f, -0.006142f, -0.008699f, -0.004182f, 0.003040f, -0.004736f, -0.018232f, 0.002924f, 0.013091f, 0.003566f, -0.018368f, -0.017463f, 0.008094f, 0.005918f, -0.001123f, -0.001122f, -0.003340f, -0.012990f, -0.008856f, -0.029033f, -0.055661f, 0.042555f, 0.004484f, 0.014280f, -0.007194f, 0.030135f, 0.000821f, -0.025724f, 0.019916f, 0.008087f, -0.009085f, -0.015529f, -0.012143f, 0.003825f, 0.007288f, 0.026695f, -0.015181f, 0.020949f, 0.006697f, 0.038069f, -0.054606f, -0.014665f, -0.008633f, 0.007033f, 0.022330f, 0.032361f, 0.007377f, -0.026282f, 0.017776f, 0.025462f, 0.021463f, -0.005992f, 0.007509f, 0.001546f, -0.008942f, -0.003670f, 0.001584f, 0.008244f, 0.002998f, 0.018830f, 0.003138f, -0.023741f, 0.022220f, -0.024615f, -0.031399f, 0.004893f, 0.022762f, -0.011046f, -0.008120f, 0.008269f, 0.011129f, 0.019600f, -0.011151f, 0.009299f, 0.044286f, -0.017647f, - -0.046980f, -0.060891f, -0.030739f, -0.041253f, 0.018784f, 0.035827f, 0.022947f, 0.008769f, 0.021588f, 0.012678f, 0.023856f, -0.020371f, 0.026961f, 0.014002f, 0.010965f, 0.028069f, 0.036497f, -0.011325f, -0.008095f, 0.009982f, -0.002350f, 0.032831f, 0.012753f, -0.004990f, 0.005579f, -0.040004f, -0.027950f, 0.005571f, -0.001535f, 0.007143f, 0.002744f, 0.008439f, -0.007439f, 0.021125f, -0.011103f, -0.012849f, -0.012396f, -0.021022f, -0.007594f, -0.004132f, 0.006961f, 0.005654f, -0.003106f, -0.018048f, -0.001007f, 0.006026f, 0.002063f, -0.007218f, 0.004331f, 0.000295f, 0.007039f, -0.007522f, 0.003161f, 0.001505f, 0.008482f, -0.003976f, 0.013027f, -0.007976f, -0.009194f, 0.002808f, -0.001517f, -0.006705f, 0.002207f, 0.009032f, 0.000827f, -0.001309f, 0.055798f, 0.005323f, 0.008814f, -0.011626f, 0.020313f, -0.063798f, -0.028066f, -0.043619f, -0.044889f, 0.017802f, -0.039162f, 0.038524f, 0.043981f, 0.001882f, 0.009597f, -0.006802f, 0.008112f, -0.041728f, 0.017212f, 0.046097f, -0.026205f, -0.053706f, 0.007178f, -0.020217f, -0.017041f, -0.052382f, 0.009144f, 0.019200f, -0.000129f, -0.007128f, - 0.016914f, -0.029880f, -0.004898f, 0.019405f, -0.010637f, -0.026481f, 0.003278f, -0.013225f, 0.027429f, -0.018136f, -0.009987f, 0.025607f, 0.022302f, 0.047295f, 0.006340f, 0.011414f, -0.004279f, 0.012697f, 0.016923f, 0.029221f, -0.008351f, -0.000960f, -0.018091f, 0.038555f, -0.048520f, 0.052208f, 0.001935f, -0.020808f, 0.024537f, -0.018971f, -0.013896f, 0.048023f, -0.069242f, 0.011316f, -0.014549f, 0.013572f, -0.026815f, 0.012962f, 0.027577f, -0.014230f, -0.002463f, -0.007305f, -0.011402f, -0.006145f, 0.051177f, -0.057946f, -0.019714f, 0.097453f, -0.036599f, -0.042991f, 0.042263f, 0.025253f, 0.028239f, -0.024520f, 0.002028f, -0.024371f, -0.013565f, -0.003810f, -0.027762f, 0.006119f, 0.003857f, -0.007240f, 0.010132f, 0.008993f, -0.012520f, -0.023676f, -0.005990f, -0.001972f, 0.009423f, -0.020891f, -0.014570f, 0.000578f, -0.001980f, 0.005305f, 0.013168f, 0.031056f, -0.013994f, -0.000674f, -0.003273f, -0.003211f, 0.009050f, 0.003539f, -0.018325f, -0.013889f, 0.014961f, -0.011979f, 0.005741f, 0.003870f, -0.011096f, 0.004326f, -0.002430f, -0.018826f, -0.015322f, 0.009309f, 0.006242f, -0.002804f, - -0.000183f, 0.011846f, -0.027691f, -0.042851f, 0.004192f, -0.016276f, -0.014468f, -0.024147f, -0.030158f, 0.038020f, 0.016415f, 0.002363f, 0.017903f, 0.045038f, 0.026685f, -0.003153f, 0.009238f, 0.030255f, 0.038726f, -0.034409f, 0.016075f, 0.032322f, 0.014131f, 0.011800f, 0.044716f, 0.021465f, 0.009359f, -0.001432f, 0.020141f, -0.002319f, 0.022786f, 0.018726f, 0.010323f, -0.020996f, 0.039557f, -0.032563f, -0.004029f, 0.049397f, 0.048953f, -0.011726f, -0.043336f, 0.016248f, -0.000630f, 0.042365f, 0.073081f, 0.016242f, -0.011160f, 0.005085f, -0.041885f, -0.005034f, -0.011048f, -0.009095f, 0.000869f, 0.037194f, -0.015970f, 0.016320f, 0.044883f, 0.007530f, -0.041469f, 0.027367f, -0.002096f, 0.017374f, 0.042172f, 0.059263f, -0.016721f, -0.015834f, -0.005069f, -0.047115f, -0.068824f, 0.001787f, -0.031290f, -0.005165f, -0.037939f, -0.003995f, 0.001242f, 0.005074f, 0.028196f, -0.000889f, -0.019603f, -0.032719f, 0.023856f, -0.010161f, 0.020414f, 0.000657f, 0.038009f, 0.013994f, 0.014038f, 0.000046f, -0.011797f, 0.021245f, -0.016267f, -0.018955f, -0.005670f, -0.014276f, -0.005479f, 0.000991f, - 0.001522f, -0.005190f, 0.005859f, 0.008279f, 0.000708f, -0.002251f, 0.011075f, -0.009604f, -0.013466f, 0.008145f, 0.009754f, 0.001851f, -0.011641f, -0.014113f, -0.008164f, 0.011196f, 0.015206f, 0.001895f, -0.002132f, 0.016732f, 0.004622f, 0.007932f, 0.006995f, 0.011935f, 0.003403f, -0.002317f, -0.008877f, 0.004736f, 0.009598f, -0.019825f, 0.046452f, -0.087169f, 0.047944f, -0.036668f, -0.086077f, -0.025398f, -0.021733f, -0.002970f, -0.019896f, 0.010525f, -0.023840f, -0.053202f, -0.032237f, -0.015842f, -0.004906f, 0.006207f, -0.021981f, 0.021550f, 0.041724f, 0.001657f, -0.002657f, 0.011559f, 0.002537f, -0.007676f, -0.015529f, -0.008624f, 0.011276f, 0.012539f, -0.003727f, 0.011933f, 0.051285f, 0.014254f, -0.015014f, -0.050765f, -0.008139f, 0.036090f, -0.043792f, -0.020452f, -0.016683f, 0.000666f, -0.003346f, 0.027761f, -0.009113f, 0.003453f, 0.038025f, 0.013718f, 0.042185f, -0.005790f, -0.019900f, -0.008996f, -0.010806f, -0.010787f, 0.020363f, 0.002359f, 0.013779f, 0.025861f, -0.045183f, 0.006797f, -0.011938f, -0.027979f, -0.021193f, 0.044322f, 0.031850f, 0.001773f, -0.021528f, 0.009100f, - 0.018691f, 0.002110f, 0.012952f, -0.030174f, -0.074953f, -0.034565f, -0.027406f, 0.027655f, 0.002847f, -0.003263f, -0.012602f, 0.005581f, -0.008387f, -0.023499f, -0.024503f, -0.012603f, 0.030438f, 0.023150f, -0.033795f, -0.042117f, -0.016454f, 0.003191f, 0.025804f, 0.010651f, -0.008093f, -0.011112f, -0.008598f, 0.006248f, -0.018663f, 0.003070f, -0.012701f, 0.001354f, 0.019529f, 0.020980f, 0.005630f, -0.010426f, 0.006831f, 0.015211f, -0.000333f, -0.002906f, 0.011217f, -0.014896f, 0.021344f, 0.019297f, 0.007568f, -0.000031f, -0.000684f, -0.001806f, 0.017951f, -0.006629f, -0.009159f, -0.010359f, -0.015007f, -0.014593f, 0.005038f, -0.005159f, 0.006695f, -0.003924f, 0.003473f, 0.011572f, -0.005237f, -0.010424f, -0.015432f, -0.003972f, 0.007569f, -0.010772f, 0.025179f, -0.034404f, 0.041394f, -0.003287f, -0.065431f, 0.013394f, -0.031535f, -0.006494f, -0.004717f, -0.007702f, -0.041645f, 0.013160f, 0.002212f, 0.033080f, -0.071216f, 0.001210f, 0.035175f, 0.004290f, -0.016860f, -0.035995f, -0.002751f, 0.020746f, 0.030817f, -0.025476f, -0.009045f, 0.016677f, 0.035220f, 0.032169f, -0.030909f, -0.006250f, - -0.050151f, 0.023490f, 0.025589f, 0.015866f, -0.014221f, -0.003853f, -0.013569f, -0.005264f, -0.016641f, 0.004914f, 0.036754f, -0.013504f, -0.014314f, -0.012497f, -0.020658f, 0.041676f, 0.035883f, -0.003413f, 0.050483f, -0.002204f, 0.018032f, -0.044373f, 0.036639f, 0.016300f, -0.049850f, -0.016090f, 0.057392f, 0.023815f, 0.015661f, 0.011213f, -0.026787f, -0.021152f, -0.028730f, 0.049776f, -0.025558f, 0.038467f, 0.039891f, -0.045006f, 0.104454f, -0.022270f, 0.064847f, 0.002896f, -0.014485f, -0.027870f, 0.048764f, 0.018827f, -0.037540f, -0.022977f, -0.080862f, 0.032476f, -0.010959f, 0.037334f, -0.049716f, 0.055819f, -0.042566f, 0.016515f, -0.016400f, -0.012734f, 0.036854f, 0.003487f, 0.003589f, 0.020482f, 0.014479f, -0.009340f, 0.024240f, -0.002915f, 0.007235f, -0.016758f, 0.003451f, -0.002271f, -0.010457f, -0.016846f, 0.000783f, -0.018701f, 0.009154f, 0.008088f, -0.004199f, 0.016210f, -0.005627f, -0.009712f, -0.013395f, 0.009562f, 0.002180f, -0.002239f, -0.026644f, 0.012183f, -0.005137f, -0.032319f, -0.010070f, 0.009301f, -0.008940f, -0.016716f, 0.011439f, -0.009069f, 0.009491f, -0.017012f, - 0.008284f, -0.017336f, -0.002760f, -0.002597f, 0.009668f, -0.004077f, 0.001984f, -0.005622f, -0.005710f, 0.025015f, 0.042908f, 0.003558f, -0.035981f, 0.017433f, -0.069487f, -0.018428f, -0.063124f, -0.087315f, 0.003002f, -0.033522f, 0.011260f, -0.006402f, -0.013678f, -0.033164f, -0.022848f, 0.019628f, 0.052633f, -0.043753f, -0.009387f, -0.075444f, -0.066295f, 0.018381f, 0.026601f, -0.041384f, -0.043395f, 0.002827f, 0.009646f, -0.070082f, 0.003766f, 0.001600f, 0.036500f, -0.031404f, 0.001410f, 0.030333f, -0.019677f, -0.036440f, -0.040853f, -0.019663f, -0.037254f, -0.030461f, -0.038893f, 0.054569f, -0.069237f, -0.042854f, 0.062611f, -0.001929f, 0.017656f, -0.052339f, -0.009165f, -0.014875f, 0.001364f, 0.088332f, -0.012537f, -0.001675f, 0.008689f, 0.041410f, 0.000928f, -0.039047f, -0.017368f, -0.028146f, 0.009458f, 0.105660f, 0.020490f, -0.037194f, 0.079542f, 0.057542f, -0.051161f, 0.059344f, 0.097287f, 0.000852f, -0.038068f, 0.066266f, -0.011594f, 0.069711f, 0.062726f, 0.005280f, -0.003362f, -0.018723f, 0.043754f, 0.035657f, 0.020195f, -0.037219f, -0.012504f, -0.024031f, 0.055425f, -0.007051f, - -0.038341f, -0.018615f, -0.038551f, -0.016541f, 0.037848f, 0.004305f, -0.020215f, -0.006826f, -0.024714f, -0.004134f, 0.033791f, -0.016411f, 0.008148f, -0.003419f, -0.032662f, 0.035117f, 0.004013f, 0.014087f, 0.016801f, -0.022652f, 0.006752f, 0.032266f, -0.006025f, 0.001272f, -0.017584f, -0.000072f, 0.002376f, -0.010629f, -0.010043f, 0.006098f, 0.023711f, -0.015398f, 0.009215f, -0.020560f, -0.010078f, 0.001219f, -0.007121f, 0.023572f, -0.009349f, 0.001010f, 0.001971f, 0.008605f, 0.000488f, -0.011267f, 0.049117f, -0.124808f, -0.075416f, -0.081011f, -0.027864f, -0.053879f, 0.067131f, 0.025705f, 0.055044f, -0.007903f, -0.106649f, -0.015956f, 0.017183f, 0.073612f, -0.003113f, 0.017356f, 0.067245f, -0.024836f, -0.048797f, 0.005339f, -0.003316f, 0.085440f, 0.055318f, -0.027411f, -0.038647f, 0.090756f, 0.006341f, 0.045609f, 0.021797f, 0.084704f, 0.072841f, 0.056553f, 0.005953f, -0.047214f, -0.025898f, -0.035978f, 0.070488f, -0.033455f, -0.048125f, -0.025897f, 0.002609f, -0.001639f, 0.031219f, -0.030251f, 0.011268f, -0.142854f, 0.016155f, 0.022575f, 0.023641f, -0.059563f, -0.055424f, 0.017440f, - 0.050563f, -0.061496f, 0.024199f, -0.034830f, -0.027268f, -0.041192f, -0.003584f, 0.044351f, -0.029352f, 0.048701f, -0.012150f, 0.019288f, -0.089121f, -0.057060f, -0.002081f, 0.047797f, 0.033347f, -0.064582f, -0.069822f, -0.032133f, 0.006773f, 0.074613f, 0.030777f, -0.006761f, -0.051932f, -0.059776f, -0.020239f, 0.012965f, 0.052740f, -0.004222f, 0.017652f, 0.035590f, -0.013204f, 0.013127f, -0.034549f, 0.022016f, 0.012667f, -0.021086f, -0.017608f, 0.002361f, 0.027276f, -0.025439f, -0.000715f, 0.043425f, 0.007070f, 0.006767f, 0.000353f, -0.011745f, -0.028847f, 0.007994f, -0.032067f, 0.038613f, 0.033035f, 0.025364f, 0.003327f, -0.002474f, -0.037592f, 0.024598f, -0.007269f, 0.044988f, -0.010340f, -0.049578f, -0.030492f, -0.005604f, 0.049292f, 0.014399f, -0.010028f, -0.004327f, -0.038891f, -0.018310f, -0.015399f, -0.001673f, 0.022547f, 0.021983f, -0.039210f, -0.021160f, -0.023828f, -0.023021f, -0.008154f, 0.008222f, -0.002882f, -0.012770f, -0.023707f, -0.024005f, 0.003782f, -0.000475f, -0.012116f, -0.011905f, 0.022126f, 0.161650f, 0.016336f, -0.086391f, -0.194186f, -0.017673f, 0.115081f, 0.028865f, - 0.050180f, -0.005398f, 0.069983f, -0.011881f, 0.030744f, -0.016342f, 0.039638f, 0.055876f, 0.029807f, -0.027237f, -0.064138f, 0.075338f, 0.085586f, -0.019358f, -0.084837f, -0.051691f, 0.008822f, 0.049298f, 0.016366f, 0.017631f, 0.003097f, 0.012558f, 0.005623f, 0.012448f, -0.016718f, -0.098265f, -0.000621f, 0.060718f, 0.046651f, -0.019342f, 0.004671f, 0.037383f, 0.081805f, 0.050293f, 0.040080f, -0.048224f, -0.033760f, -0.008213f, -0.008955f, -0.073177f, 0.051789f, 0.030839f, 0.053804f, 0.110104f, -0.056665f, -0.036202f, -0.005133f, -0.030390f, -0.026489f, -0.047960f, 0.085245f, -0.051582f, -0.055853f, -0.057200f, -0.020059f, 0.109168f, 0.027820f, 0.042675f, -0.002386f, -0.008901f, -0.025272f, 0.068007f, 0.054691f, -0.027773f, -0.063683f, 0.022319f, -0.008378f, 0.026586f, -0.059709f, -0.022879f, -0.034751f, -0.044837f, 0.027516f, 0.045388f, 0.008370f, 0.002162f, -0.024069f, 0.013843f, -0.009428f, 0.042249f, 0.003316f, -0.013834f, -0.008302f, 0.014427f, 0.026789f, 0.030024f, -0.017154f, 0.018864f, 0.009562f, 0.010063f, -0.001374f, -0.030840f, -0.004125f, -0.024897f, -0.010166f, 0.002098f, - 0.004267f, 0.009260f, 0.009121f, 0.011194f, 0.027397f, 0.041166f, 0.036247f, -0.002574f, -0.008916f, 0.005387f, -0.017737f, 0.023078f, -0.024933f, -0.002188f, 0.020307f, -0.000387f, -0.004910f, -0.039670f, 0.020305f, -0.039563f, 0.013536f, -0.008195f, 0.006483f, -0.002644f, 0.004712f, -0.001009f, -0.025021f, 0.014976f, 0.012563f, -0.001191f, 0.008543f, -0.000525f, 0.007360f, -0.002417f, -0.006374f, -0.000321f, -0.001872f, 0.002314f, -0.001011f, 0.002371f, 0.001287f, -0.007618f, -0.003264f, -0.000784f, 0.006026f, 0.002501f, -0.001571f, -0.004100f, -0.002769f, -0.047289f, 0.004766f, 0.123336f, 0.096071f, 0.014282f, 0.007878f, -0.068009f, -0.129141f, -0.114176f, -0.054973f, 0.092430f, 0.102414f, 0.105057f, 0.059142f, -0.016204f, -0.066802f, -0.062916f, -0.040340f, 0.025907f, 0.041798f, 0.071664f, 0.007115f, -0.055763f, -0.046124f, -0.010887f, -0.046216f, -0.022439f, 0.010639f, 0.074229f, 0.107344f, 0.068567f, 0.033453f, 0.029622f, -0.066601f, -0.008657f, -0.134318f, -0.151314f, -0.093947f, -0.046161f, -0.040981f, 0.069665f, 0.110647f, 0.121495f, 0.110850f, 0.094972f, 0.040003f, 0.005715f, - -0.045874f, -0.013461f, -0.074116f, -0.132749f, -0.010605f, 0.011561f, 0.013152f, 0.043083f, 0.026437f, 0.043718f, -0.147542f, -0.081528f, -0.052566f, -0.086382f, -0.036078f, 0.062697f, -0.037577f, 0.041991f, 0.006156f, -0.039745f, 0.031748f, -0.033329f, 0.035657f, 0.040552f, -0.031226f, -0.064165f, -0.130727f, -0.127623f, -0.094523f, 0.045705f, 0.016546f, -0.018855f, 0.024668f, 0.006155f, 0.000631f, -0.061282f, -0.042407f, -0.113436f, -0.037238f, -0.042256f, -0.004388f, 0.081741f, 0.088302f, 0.012212f, 0.045660f, -0.027998f, -0.060989f, -0.110374f, -0.072151f, -0.068451f, -0.002259f, 0.032849f, 0.019292f, 0.026647f, 0.029520f, -0.020896f, 0.017933f, -0.019747f, 0.018601f, 0.003958f, -0.000575f, -0.004675f, 0.015382f, 0.012842f, 0.029266f, -0.007306f, -0.006790f, 0.026671f, 0.021678f, -0.222005f, -0.113538f, -0.059099f, 0.074740f, 0.017355f, 0.284895f, 0.292032f, 0.220130f, 0.284724f, 0.298311f, 0.271074f, 0.194573f, 0.176653f, 0.195978f, 0.078062f, -0.011625f, -0.121195f, -0.187389f, -0.258915f, -0.251603f, -0.375001f, -0.227579f, -0.147974f, -0.117591f, -0.167149f, -0.087988f, -0.024030f, - -0.125331f, -0.097221f, -0.102781f, -0.023132f, -0.061728f, -0.021874f, -0.083570f, -0.042323f, 0.049795f, 0.051700f, 0.015396f, -0.015307f, 0.054266f, 0.044094f, -0.126445f, 0.026417f, 0.085455f, 0.187295f, 0.137254f, 0.178329f, 0.073060f, 0.070961f, 0.296819f, 0.160900f, 0.303739f, 0.101891f, 0.284868f, 0.196885f, 0.248702f, 0.335678f, 0.317752f, 0.257890f, 0.289349f, 0.321693f, 0.349847f, 0.299040f, 0.344858f, 0.235539f, 0.349802f, 0.281129f, 0.249187f, 0.265982f, 0.145043f, 0.297753f, 0.143904f, 0.087613f, -0.109504f, 0.007474f, -0.161737f, -0.181434f, -0.277971f, -0.327811f, -0.504394f, -0.492155f, -0.465267f, -0.434693f, -0.410138f, -0.346207f, -0.422872f, -0.520031f, -0.513311f, -0.425356f, -0.450734f, -0.423410f, -0.425356f, -0.362574f, -0.395367f, -0.378614f, -0.282872f, -0.311882f, -0.240079f, -0.223702f, -0.206735f, -0.131344f, -0.170347f, -0.038450f, -0.063446f, 0.029524f, 0.039238f, 0.124291f, 0.183077f, 0.192472f, 0.221628f, 0.197403f, 0.296697f, 0.336968f, 0.333264f, 0.385802f, 0.402268f, 0.399224f, 0.303875f, 0.271955f, 0.238068f, 0.221390f, 0.214889f, 0.221298f, - 0.207331f, 0.158562f, 0.101663f, 0.116242f, 0.089243f, 0.070168f, 0.046279f, -0.035160f, -0.046788f, -0.048401f, -0.060196f, -0.072783f, -0.082835f, -0.057441f, -0.064093f, -0.050362f, -0.052182f, -0.044364f, -0.032377f, -0.038020f, -0.031643f, -0.029837f, -0.037579f, -0.033576f, -0.038148f, -0.028839f, -0.023912f, -0.031544f, -0.036839f, -0.012652f, -0.003020f, -0.002551f, -0.000954f, 0.002805f, 0.000016f, 0.001218f}, - {-0.014319f, -0.028270f, -0.004980f, 0.000408f, -0.006512f, -0.013286f, -0.004421f, 0.009792f, -0.015688f, -0.008620f, -0.005211f, -0.003035f, 0.004949f, -0.002204f, 0.005513f, 0.002567f, 0.004826f, -0.000507f, 0.005980f, -0.005204f, 0.000953f, -0.002264f, 0.001112f, 0.015142f, -0.003239f, -0.000895f, -0.007512f, 0.009374f, 0.005774f, 0.004529f, 0.011629f, -0.005921f, -0.003408f, 0.004022f, 0.010411f, -0.002777f, -0.000717f, -0.008384f, -0.009248f, -0.006133f, 0.006568f, -0.008152f, -0.007044f, -0.000847f, 0.009365f, -0.012660f, -0.002720f, -0.010570f, -0.005165f, -0.002995f, 0.001443f, -0.000914f, -0.007623f, 0.009795f, 0.001648f, 0.008820f, -0.003564f, -0.002181f, -0.010949f, -0.000193f, -0.003849f, -0.004078f, 0.006288f, 0.003588f, -0.001971f, 0.003438f, 0.006961f, -0.001939f, 0.002985f, -0.004947f, -0.002894f, -0.001161f, -0.004721f, 0.004231f, 0.001447f, 0.003234f, -0.007481f, 0.005413f, 0.003080f, 0.012149f, 0.007189f, -0.001931f, -0.007696f, -0.000576f, 0.001669f, 0.001008f, 0.002385f, -0.000303f, -0.002610f, 0.000158f, -0.001775f, 0.000068f, -0.002146f, 0.000818f, -0.002087f, -0.000084f, - 0.002328f, 0.000842f, 0.001201f, -0.001435f, -0.001049f, 0.001161f, 0.001601f, 0.000785f, -0.000238f, -0.023263f, -0.008386f, 0.006733f, -0.006188f, -0.002742f, -0.002632f, 0.003192f, -0.001212f, -0.006113f, 0.009673f, 0.008705f, 0.002871f, -0.001058f, 0.004470f, -0.011926f, -0.001776f, -0.011785f, -0.005978f, 0.008748f, -0.001480f, 0.001587f, -0.001218f, -0.001323f, 0.000173f, 0.018269f, 0.016672f, 0.007490f, 0.008889f, 0.010597f, -0.002063f, -0.001184f, -0.003662f, 0.009354f, -0.000932f, -0.003505f, 0.002597f, -0.005399f, 0.003704f, 0.006742f, -0.003453f, 0.007596f, 0.008524f, 0.016706f, -0.006546f, -0.007835f, 0.007119f, -0.004278f, 0.000218f, 0.003545f, -0.009714f, 0.000614f, -0.005092f, -0.005656f, 0.012826f, 0.007580f, 0.009227f, -0.005255f, -0.006990f, 0.004926f, -0.008134f, 0.005728f, 0.024770f, 0.001430f, 0.001684f, 0.005598f, 0.002404f, 0.002314f, 0.014093f, -0.007523f, -0.001931f, 0.002617f, 0.001825f, -0.007002f, -0.005179f, -0.007148f, -0.003422f, -0.002598f, 0.006472f, -0.001081f, 0.006501f, 0.006701f, -0.006716f, -0.007147f, -0.001862f, 0.004548f, 0.006269f, -0.007495f, - -0.001476f, -0.002213f, -0.005179f, -0.000609f, -0.004907f, 0.001294f, -0.000339f, 0.002635f, -0.001509f, 0.001023f, -0.001912f, -0.000464f, -0.001472f, -0.006812f, 0.007375f, 0.011862f, -0.005694f, 0.005866f, 0.018692f, 0.006227f, 0.004280f, -0.013095f, 0.010834f, 0.002822f, -0.016817f, 0.007105f, -0.004719f, -0.010126f, 0.004070f, -0.001433f, 0.003922f, 0.009743f, -0.010263f, -0.010814f, -0.004797f, 0.014635f, 0.000414f, 0.007248f, 0.015186f, -0.022613f, -0.018212f, 0.002933f, 0.011130f, -0.008192f, 0.000724f, 0.015046f, 0.003892f, -0.001976f, -0.004528f, 0.018011f, 0.002215f, -0.004419f, 0.002533f, -0.016392f, 0.001869f, -0.009052f, 0.008346f, 0.001433f, 0.008865f, -0.004484f, -0.002209f, 0.003978f, 0.000279f, 0.001140f, 0.000523f, 0.008473f, 0.006853f, -0.009345f, 0.005351f, 0.007497f, -0.012782f, 0.001502f, -0.005753f, 0.002380f, -0.002921f, -0.009913f, 0.000174f, 0.008506f, 0.007425f, 0.016433f, -0.010178f, 0.012720f, -0.008412f, -0.001716f, 0.007572f, -0.008268f, -0.012277f, -0.004464f, 0.000598f, -0.000796f, -0.000611f, -0.001348f, 0.002454f, 0.005226f, -0.007133f, -0.000111f, - 0.003424f, -0.000676f, 0.002943f, -0.005879f, -0.003345f, -0.002342f, -0.004289f, 0.001247f, -0.000913f, -0.003393f, 0.001872f, 0.001898f, -0.002806f, -0.004344f, -0.000208f, -0.001024f, 0.004483f, -0.000240f, -0.000708f, 0.000800f, 0.000980f, -0.000795f, -0.001315f, 0.002984f, 0.001020f, -0.002416f, -0.001191f, -0.001854f, 0.000293f, 0.037582f, 0.016848f, 0.022766f, -0.001843f, -0.006299f, -0.008210f, -0.008235f, 0.004478f, -0.006917f, 0.010481f, -0.001192f, 0.014383f, 0.000866f, 0.007608f, 0.009440f, 0.007300f, 0.006246f, 0.008277f, -0.027925f, -0.008257f, -0.002631f, -0.005887f, -0.005173f, -0.008791f, -0.019895f, 0.000893f, 0.013618f, -0.008389f, 0.008173f, -0.006738f, -0.009934f, -0.007493f, 0.001122f, -0.006325f, -0.002358f, -0.006486f, -0.000462f, 0.016432f, 0.000865f, 0.007385f, 0.010376f, 0.013509f, -0.006360f, 0.003163f, -0.003035f, -0.010429f, 0.011828f, -0.006628f, -0.000497f, -0.010323f, 0.007531f, -0.000104f, 0.000158f, -0.002852f, -0.004820f, 0.003491f, 0.010564f, -0.004443f, 0.005945f, 0.005641f, 0.004730f, 0.018186f, -0.018322f, -0.007744f, 0.000425f, -0.010087f, -0.013082f, - -0.005190f, -0.016008f, 0.002389f, 0.018723f, -0.012941f, -0.006192f, -0.014778f, 0.000930f, -0.004661f, -0.007089f, -0.017324f, 0.010149f, 0.013273f, 0.005230f, 0.009271f, -0.004743f, 0.001481f, -0.003524f, 0.003836f, 0.000132f, 0.009175f, -0.002412f, 0.003940f, -0.000221f, -0.002369f, 0.003165f, 0.002182f, 0.004175f, 0.003516f, -0.000641f, 0.000828f, 0.002264f, 0.000914f, 0.001757f, -0.000172f, -0.001801f, -0.003339f, 0.001607f, 0.000846f, -0.002319f, 0.001616f, 0.001760f, -0.000584f, 0.000739f, 0.002161f, -0.000717f, -0.001998f, -0.000725f, 0.011680f, 0.016655f, -0.009228f, 0.008657f, -0.007532f, -0.003680f, -0.002989f, -0.020692f, 0.015024f, -0.004407f, -0.002199f, 0.023811f, 0.014833f, 0.015903f, -0.006478f, 0.000575f, 0.002848f, -0.003709f, 0.005310f, -0.012197f, -0.000319f, -0.008358f, 0.009738f, -0.009501f, -0.006516f, -0.001034f, 0.001663f, -0.011724f, 0.002253f, 0.001196f, 0.015349f, 0.000066f, -0.020967f, 0.012039f, 0.011325f, 0.016085f, -0.002560f, 0.004015f, -0.011595f, -0.008793f, -0.003659f, -0.008538f, 0.003336f, 0.002171f, -0.003164f, -0.001323f, 0.008776f, 0.013618f, - -0.018708f, -0.004092f, -0.000007f, -0.007721f, -0.007991f, 0.012314f, -0.009952f, 0.004618f, -0.009767f, -0.012991f, -0.009633f, -0.006443f, 0.004472f, 0.001768f, 0.023141f, -0.003965f, -0.006209f, 0.006850f, -0.006949f, -0.002081f, -0.006169f, 0.006402f, -0.005708f, 0.008265f, -0.004155f, -0.003873f, 0.005717f, 0.013852f, 0.003866f, -0.013096f, 0.000080f, -0.006477f, -0.013232f, 0.003710f, 0.009371f, -0.003158f, 0.002171f, 0.003220f, 0.000465f, -0.001470f, 0.004826f, 0.000053f, -0.005362f, -0.000004f, -0.001929f, -0.001046f, -0.002786f, 0.004356f, -0.001037f, -0.003657f, -0.003866f, 0.000495f, 0.004074f, -0.001870f, -0.000272f, -0.005471f, 0.000512f, 0.000928f, 0.001837f, -0.001030f, -0.004588f, -0.002440f, 0.004036f, -0.001694f, -0.004952f, 0.001955f, -0.028745f, 0.027649f, 0.014841f, -0.016497f, -0.016637f, 0.006821f, 0.021949f, -0.000318f, 0.006439f, 0.025560f, 0.008572f, 0.007695f, -0.004319f, 0.013322f, 0.012176f, 0.014033f, -0.025300f, -0.015540f, -0.015349f, 0.012120f, 0.010458f, 0.013330f, 0.000639f, -0.015444f, 0.006351f, -0.002343f, 0.006989f, -0.022201f, 0.008581f, 0.013450f, - -0.010412f, 0.005817f, 0.010885f, 0.003048f, -0.000323f, 0.002333f, -0.003487f, 0.019436f, 0.013211f, 0.010399f, 0.000393f, 0.006754f, 0.015005f, -0.013392f, -0.007201f, 0.000661f, 0.019840f, 0.012691f, 0.007811f, -0.014943f, 0.000558f, 0.010157f, 0.011852f, -0.004169f, 0.003679f, 0.011570f, 0.014335f, 0.004523f, 0.013256f, 0.005258f, -0.001472f, -0.012227f, -0.000068f, -0.020363f, -0.008331f, -0.009769f, 0.001717f, 0.006714f, -0.011783f, -0.004779f, -0.021524f, 0.009368f, -0.005967f, -0.000157f, 0.011441f, 0.016658f, 0.020144f, 0.002500f, -0.002078f, -0.012489f, -0.003715f, 0.006379f, 0.006894f, -0.013251f, 0.004179f, -0.005963f, 0.004876f, 0.000889f, -0.004456f, 0.000085f, 0.002386f, -0.004200f, 0.001900f, -0.001109f, -0.004996f, -0.002577f, -0.003137f, 0.003163f, 0.003876f, -0.000674f, -0.002890f, 0.002082f, -0.002216f, -0.001605f, -0.003881f, -0.000537f, -0.000817f, -0.004541f, 0.003776f, 0.024357f, 0.007637f, -0.004131f, -0.011038f, -0.028862f, -0.013989f, 0.017712f, -0.006184f, -0.026525f, -0.007065f, -0.004186f, 0.004083f, 0.014708f, 0.022457f, -0.001282f, 0.006634f, -0.005103f, - 0.011210f, -0.012481f, -0.013292f, -0.014307f, -0.025452f, 0.013653f, 0.007797f, -0.021256f, 0.000696f, -0.015512f, -0.005893f, 0.013774f, 0.007820f, 0.011248f, -0.003110f, -0.002912f, -0.003612f, 0.024251f, 0.018898f, 0.020014f, -0.009038f, -0.017047f, 0.013559f, -0.002268f, -0.006005f, 0.017250f, 0.003116f, 0.016971f, -0.000490f, 0.009500f, -0.011856f, -0.000597f, 0.008568f, -0.036293f, -0.005429f, 0.001771f, -0.026537f, 0.006919f, -0.006726f, 0.024832f, 0.015871f, -0.015187f, 0.001253f, 0.022671f, -0.002296f, 0.011557f, -0.007556f, 0.015585f, -0.007188f, 0.003084f, -0.005957f, 0.000388f, 0.010960f, -0.014753f, 0.015981f, 0.008169f, 0.009202f, 0.002605f, 0.021222f, -0.008313f, -0.024162f, 0.004192f, 0.016854f, -0.007952f, -0.014983f, -0.010864f, -0.007622f, 0.017370f, 0.000437f, -0.007453f, 0.000787f, 0.000413f, -0.003313f, -0.003338f, 0.001156f, 0.003335f, -0.001876f, -0.002288f, -0.001197f, 0.003713f, -0.001877f, -0.006544f, 0.001898f, -0.007244f, 0.006686f, 0.004286f, -0.000013f, -0.000756f, 0.001839f, -0.002122f, 0.003006f, 0.000267f, 0.002105f, 0.000368f, 0.000979f, 0.007661f, - 0.002761f, -0.004053f, 0.002250f, -0.058507f, -0.012362f, 0.031373f, -0.025322f, -0.009184f, 0.026673f, 0.010039f, -0.008439f, 0.002818f, -0.022057f, 0.019695f, -0.002481f, -0.035581f, 0.002566f, -0.001866f, 0.013470f, 0.013200f, -0.007049f, -0.027871f, -0.011921f, -0.010641f, 0.000614f, -0.014860f, -0.008144f, -0.018949f, -0.005424f, 0.020662f, -0.016941f, -0.008516f, -0.006498f, -0.011028f, -0.011625f, -0.015809f, 0.010827f, 0.002202f, 0.013460f, 0.002357f, -0.009882f, -0.015317f, -0.015100f, -0.003106f, 0.010104f, 0.014879f, -0.005220f, -0.013536f, 0.014261f, 0.005933f, -0.021272f, -0.023727f, -0.048378f, -0.004267f, -0.015432f, -0.009342f, 0.007214f, 0.007375f, 0.004470f, 0.021765f, -0.002229f, -0.010369f, -0.001271f, -0.011175f, 0.024841f, 0.013202f, -0.004782f, 0.013275f, -0.013913f, 0.006974f, 0.005750f, -0.013619f, -0.005949f, -0.012211f, 0.008789f, 0.006171f, -0.022474f, 0.014875f, 0.022824f, -0.001471f, -0.001047f, -0.023034f, -0.008932f, 0.010178f, -0.007115f, 0.006732f, 0.022631f, -0.007534f, 0.005018f, 0.002308f, 0.001806f, -0.007125f, 0.001381f, -0.001137f, -0.009378f, -0.005656f, - -0.000805f, 0.003378f, 0.000604f, 0.002665f, -0.009780f, 0.001199f, -0.005209f, 0.002527f, -0.005636f, -0.005478f, -0.003291f, -0.000306f, 0.001307f, -0.004180f, 0.001365f, 0.002445f, -0.000520f, 0.001038f, 0.004260f, 0.002395f, -0.007745f, -0.005109f, -0.002371f, 0.000870f, 0.002992f, -0.001207f, 0.003035f, 0.010445f, 0.038804f, -0.018110f, 0.014747f, -0.009486f, -0.000091f, 0.022268f, -0.006419f, -0.009885f, -0.005246f, -0.002048f, 0.003914f, 0.015148f, 0.051132f, -0.002790f, 0.003086f, 0.014212f, 0.003312f, 0.000264f, -0.023919f, -0.024863f, 0.003833f, 0.003431f, -0.015639f, -0.007956f, -0.003607f, 0.014196f, -0.006282f, 0.002777f, -0.000326f, 0.006213f, -0.006404f, 0.029881f, 0.016578f, -0.013922f, 0.016418f, 0.014897f, -0.018067f, 0.003184f, 0.007687f, 0.006006f, -0.005029f, -0.006095f, 0.024860f, -0.021746f, 0.009207f, 0.027529f, -0.009597f, 0.003449f, 0.017618f, -0.001899f, 0.015317f, 0.008461f, 0.000217f, 0.008453f, 0.013136f, 0.018126f, 0.011358f, 0.001499f, -0.000694f, -0.012450f, -0.013842f, 0.000546f, 0.001498f, -0.043370f, 0.028304f, -0.006636f, -0.013462f, -0.015058f, - -0.031862f, -0.035924f, -0.023390f, 0.004386f, 0.017748f, -0.006496f, 0.002150f, -0.002884f, 0.017630f, -0.006582f, -0.014369f, 0.008154f, 0.004191f, -0.005950f, 0.002114f, 0.012075f, -0.011728f, 0.002341f, -0.014898f, -0.004957f, -0.006729f, 0.003567f, -0.001807f, 0.007634f, 0.004654f, 0.001623f, -0.002231f, 0.003889f, 0.005117f, -0.000116f, -0.010839f, 0.006029f, -0.000633f, 0.009177f, 0.008648f, 0.004373f, -0.004522f, 0.007951f, 0.001608f, -0.001248f, -0.000413f, 0.000474f, -0.007320f, 0.007977f, -0.000886f, -0.005274f, 0.007514f, 0.015331f, -0.003204f, -0.003268f, 0.007695f, -0.003100f, -0.005668f, -0.002047f, 0.052518f, 0.052781f, -0.001521f, -0.043632f, 0.008505f, 0.008981f, -0.005039f, 0.011484f, 0.006539f, 0.003865f, -0.000524f, -0.007335f, 0.042607f, 0.007942f, -0.006876f, -0.047421f, -0.026713f, 0.011287f, -0.002968f, -0.016436f, -0.028493f, 0.004063f, 0.004812f, 0.007403f, -0.007115f, -0.031128f, -0.033323f, 0.036200f, 0.034160f, 0.010765f, 0.031371f, -0.026725f, 0.003638f, 0.014166f, -0.005665f, -0.016901f, -0.030600f, -0.015016f, 0.005399f, -0.001179f, -0.014364f, 0.014890f, - 0.000270f, 0.014458f, 0.011617f, 0.000925f, -0.032898f, -0.018990f, -0.015476f, -0.002524f, 0.003377f, 0.004482f, -0.005601f, -0.009175f, 0.002258f, 0.005447f, -0.029418f, -0.007273f, 0.004804f, 0.006752f, -0.013360f, -0.036655f, -0.008596f, -0.009110f, 0.027164f, -0.000917f, 0.012222f, -0.012162f, -0.009339f, -0.016329f, -0.018410f, -0.010640f, 0.002967f, -0.001237f, 0.022804f, -0.013412f, 0.003953f, 0.026502f, -0.001842f, 0.013311f, 0.011793f, 0.025751f, 0.005685f, -0.007293f, -0.013119f, -0.011384f, -0.004519f, 0.015629f, 0.002391f, 0.015755f, 0.008295f, -0.001075f, -0.000423f, 0.000915f, 0.001260f, -0.006808f, -0.008732f, 0.000178f, -0.002168f, -0.000684f, 0.002527f, -0.001536f, 0.001978f, -0.009980f, -0.002367f, 0.006386f, -0.000376f, 0.004099f, -0.017364f, -0.001783f, -0.000711f, -0.003225f, 0.003535f, 0.002872f, 0.002212f, 0.003191f, 0.003947f, -0.007963f, 0.009490f, -0.006103f, 0.022876f, -0.011761f, 0.003997f, -0.008860f, 0.001771f, 0.006012f, -0.014396f, -0.009740f, -0.025701f, -0.028417f, -0.018664f, -0.007308f, -0.001302f, 0.000712f, -0.015725f, -0.014569f, -0.029468f, 0.014178f, - -0.029533f, -0.038005f, 0.024549f, -0.022782f, -0.029002f, 0.027017f, 0.005132f, -0.006089f, 0.028976f, 0.016731f, -0.022514f, 0.020825f, -0.057406f, -0.003873f, -0.014753f, -0.006118f, -0.026989f, 0.047253f, 0.022123f, -0.013823f, 0.006936f, 0.014904f, -0.009889f, 0.016453f, 0.000248f, 0.000746f, -0.013499f, 0.015980f, 0.018392f, 0.024881f, -0.038945f, -0.001334f, -0.000270f, 0.011553f, -0.017658f, -0.006716f, -0.017973f, -0.017642f, 0.030954f, 0.010032f, -0.023190f, 0.011975f, -0.014347f, -0.015192f, -0.024903f, -0.045235f, 0.011819f, 0.029931f, 0.002028f, 0.030150f, 0.040906f, -0.002411f, -0.016760f, -0.038757f, 0.003021f, -0.004945f, 0.002478f, -0.009656f, 0.008010f, -0.017020f, 0.036623f, 0.020302f, 0.032036f, 0.006517f, -0.003952f, -0.009724f, 0.013078f, 0.015145f, 0.006817f, -0.002740f, -0.004584f, 0.001456f, 0.017238f, -0.003019f, 0.007228f, -0.010850f, 0.004694f, -0.017945f, 0.001752f, 0.002238f, -0.007904f, 0.016957f, 0.009803f, -0.004338f, -0.011140f, -0.009730f, -0.003214f, -0.000887f, 0.005444f, -0.011395f, 0.002951f, 0.002056f, -0.000834f, -0.007872f, 0.002987f, -0.017092f, - -0.003462f, -0.004048f, -0.004773f, 0.002964f, -0.000311f, -0.032771f, 0.004391f, -0.073099f, -0.049110f, -0.035205f, 0.019051f, 0.036257f, -0.051715f, 0.011998f, 0.036662f, 0.022645f, -0.000524f, 0.013420f, 0.034567f, -0.015879f, -0.002067f, -0.010070f, 0.001019f, -0.022463f, 0.015969f, 0.000331f, 0.001888f, 0.005900f, 0.046335f, -0.002349f, -0.020444f, -0.019914f, 0.011045f, 0.034111f, -0.013779f, -0.034554f, 0.010255f, 0.034615f, 0.020209f, -0.004675f, 0.016809f, 0.011351f, 0.016195f, 0.003595f, 0.013718f, 0.023478f, -0.002933f, -0.039602f, 0.001983f, 0.012204f, -0.037108f, -0.027098f, 0.036296f, 0.028473f, -0.028028f, -0.018371f, 0.008865f, -0.001888f, 0.017803f, 0.044134f, -0.009491f, -0.008554f, 0.008392f, -0.002293f, 0.016341f, 0.008155f, -0.016093f, -0.012652f, -0.006075f, 0.012918f, 0.011745f, -0.011761f, -0.031993f, -0.005658f, -0.048143f, 0.045538f, 0.007680f, -0.008374f, 0.004334f, 0.018860f, -0.000980f, -0.021176f, 0.007857f, -0.009218f, -0.013727f, 0.010703f, -0.002881f, -0.020957f, -0.034440f, -0.011267f, -0.014045f, 0.028420f, -0.004539f, 0.009365f, 0.005409f, 0.003458f, - -0.002679f, -0.002492f, 0.004434f, -0.007657f, 0.001237f, 0.010278f, -0.001246f, -0.005410f, -0.003088f, -0.023501f, -0.007254f, -0.000652f, -0.004413f, -0.017115f, -0.015353f, -0.006465f, -0.003516f, -0.001559f, -0.005028f, -0.000926f, 0.000284f, 0.012856f, 0.004551f, -0.002138f, -0.005235f, 0.002005f, -0.004631f, -0.003918f, 0.008348f, -0.004229f, -0.009993f, -0.002948f, -0.007532f, 0.000884f, -0.009263f, 0.000246f, 0.006110f, 0.001914f, -0.008889f, -0.002965f, -0.028243f, -0.001222f, 0.004885f, -0.034620f, -0.009098f, 0.026028f, 0.033856f, 0.023961f, 0.063178f, 0.038109f, 0.057248f, 0.021371f, 0.015085f, -0.029580f, 0.032129f, -0.010818f, -0.003621f, -0.023688f, -0.015775f, 0.031044f, -0.010170f, 0.070410f, 0.032757f, 0.020317f, -0.003773f, 0.016280f, -0.011087f, -0.032872f, -0.016633f, -0.020405f, 0.014830f, -0.019241f, -0.000448f, -0.020590f, 0.012038f, 0.028640f, 0.025845f, -0.001709f, 0.037380f, 0.031232f, 0.001447f, -0.010887f, -0.014303f, -0.025634f, -0.008830f, 0.058944f, 0.022843f, 0.067855f, -0.021897f, 0.000333f, -0.002328f, 0.015814f, 0.054441f, 0.018652f, 0.001277f, 0.035005f, - 0.040095f, 0.042369f, -0.003874f, -0.025059f, -0.009245f, -0.006931f, -0.007270f, 0.028082f, 0.019134f, 0.026650f, 0.040652f, -0.025397f, 0.061509f, -0.041361f, -0.077647f, -0.012016f, -0.024264f, 0.015801f, 0.037384f, 0.018313f, -0.021019f, -0.002156f, -0.022823f, -0.017027f, -0.011337f, 0.000272f, 0.030904f, 0.005211f, -0.008854f, 0.004834f, 0.002232f, 0.009271f, 0.009791f, 0.006725f, 0.012032f, 0.003278f, 0.007528f, 0.002769f, 0.008358f, 0.000524f, -0.025105f, -0.009673f, -0.000379f, -0.023344f, 0.002451f, -0.024373f, -0.012931f, -0.014802f, -0.013800f, -0.011558f, -0.008588f, -0.003274f, 0.001279f, 0.006984f, 0.025518f, 0.003471f, -0.016376f, 0.007425f, 0.001377f, 0.023186f, -0.004537f, 0.009999f, -0.000341f, 0.000284f, -0.012601f, 0.002920f, 0.036751f, 0.059756f, -0.029753f, -0.023561f, 0.021494f, -0.018027f, -0.003278f, -0.008576f, 0.008023f, 0.025950f, 0.028141f, 0.041348f, -0.045666f, 0.051026f, -0.018587f, 0.004170f, -0.023771f, 0.020837f, 0.038755f, 0.015291f, 0.007086f, 0.002052f, 0.047214f, 0.010960f, -0.001690f, -0.016340f, -0.007352f, -0.049358f, -0.006705f, -0.024399f, - -0.058667f, 0.004213f, -0.003664f, 0.023099f, -0.061102f, -0.012771f, 0.014148f, 0.021698f, 0.050592f, -0.014825f, 0.014619f, 0.026818f, 0.004016f, -0.007969f, 0.014180f, -0.014404f, -0.003641f, -0.077068f, 0.006510f, -0.033352f, -0.038318f, -0.043403f, 0.016993f, -0.069124f, 0.022308f, -0.026432f, -0.034446f, -0.047293f, 0.041785f, 0.044783f, 0.044582f, 0.008705f, 0.007995f, 0.042003f, -0.058972f, -0.005793f, -0.018341f, 0.023795f, -0.070030f, -0.024059f, -0.007447f, 0.022355f, 0.017511f, 0.014345f, 0.027956f, -0.026115f, 0.010084f, -0.031522f, -0.009529f, -0.018899f, -0.007629f, -0.006426f, 0.000632f, -0.029870f, 0.013409f, 0.018762f, -0.003463f, 0.001320f, -0.014869f, -0.004578f, 0.014139f, -0.019265f, -0.000615f, 0.009477f, -0.024083f, 0.010952f, -0.021603f, 0.000301f, 0.013173f, 0.003230f, -0.017750f, -0.011466f, 0.006562f, -0.009700f, 0.010661f, 0.007689f, 0.012332f, -0.001548f, -0.015575f, 0.029372f, -0.014130f, -0.006947f, -0.019160f, 0.013159f, -0.006665f, 0.001955f, -0.017793f, 0.002450f, -0.021572f, -0.003282f, 0.015454f, -0.004838f, -0.009280f, -0.022292f, 0.002382f, 0.003113f, - -0.003183f, -0.029290f, -0.055293f, -0.000948f, -0.019828f, 0.065375f, 0.013483f, 0.046255f, -0.015287f, 0.063124f, -0.039802f, -0.074253f, 0.016600f, 0.012638f, 0.008304f, -0.036889f, -0.042246f, -0.032916f, 0.012163f, -0.033152f, 0.014421f, -0.017563f, 0.049335f, -0.016102f, -0.007650f, 0.035747f, 0.000936f, -0.088862f, -0.037117f, -0.001152f, 0.058419f, -0.006681f, -0.018544f, -0.050927f, 0.008685f, -0.012527f, -0.044031f, -0.051898f, -0.006185f, 0.009573f, -0.018043f, -0.019727f, -0.052143f, 0.034103f, -0.013048f, 0.012295f, -0.026030f, 0.001202f, 0.015282f, 0.009477f, 0.045754f, 0.000527f, -0.015929f, -0.059598f, -0.021172f, 0.028902f, -0.040973f, -0.020755f, 0.015002f, 0.032896f, 0.025498f, 0.065511f, 0.049825f, 0.001017f, 0.037788f, 0.038933f, 0.013131f, 0.001616f, 0.022637f, -0.019311f, 0.098679f, -0.045333f, -0.107963f, 0.028783f, -0.091909f, -0.003450f, -0.071956f, -0.000389f, 0.087853f, 0.011131f, -0.041969f, 0.014056f, 0.014880f, -0.027251f, -0.022558f, -0.030845f, 0.006664f, -0.009233f, 0.028122f, -0.022116f, 0.018783f, -0.037126f, 0.010377f, -0.001107f, -0.006145f, -0.008320f, - 0.025497f, 0.049009f, 0.015253f, 0.020016f, 0.033741f, 0.010467f, -0.033749f, 0.010010f, -0.012523f, 0.022754f, -0.007033f, -0.010307f, -0.001302f, -0.002080f, -0.009071f, -0.027568f, -0.018239f, -0.012083f, -0.001530f, 0.004201f, -0.002011f, -0.017369f, -0.039744f, -0.024598f, 0.006000f, -0.006736f, -0.000678f, -0.014921f, 0.005382f, 0.029033f, 0.041344f, -0.062665f, -0.041683f, -0.025881f, -0.022002f, 0.025206f, 0.039125f, -0.023008f, 0.002610f, 0.034921f, -0.070684f, 0.005230f, 0.016569f, -0.053319f, 0.027623f, -0.017750f, 0.024370f, 0.009176f, 0.027464f, 0.002983f, -0.034554f, 0.035795f, -0.045035f, -0.009804f, 0.087221f, -0.035781f, 0.031955f, -0.020757f, 0.035913f, 0.032743f, -0.011442f, -0.038250f, 0.040647f, 0.105727f, -0.057928f, 0.015056f, -0.076882f, 0.038897f, 0.023398f, -0.041653f, 0.046150f, 0.004333f, -0.092316f, 0.013253f, 0.004541f, 0.042142f, -0.011304f, -0.006551f, -0.048503f, -0.047224f, -0.024227f, 0.115246f, -0.017593f, 0.058474f, -0.051389f, 0.038437f, 0.018862f, -0.010687f, -0.039505f, -0.007440f, 0.032535f, 0.064716f, -0.023470f, -0.021890f, -0.006848f, 0.012574f, - 0.056443f, -0.014477f, -0.013320f, -0.042060f, 0.012894f, -0.063249f, -0.028052f, 0.044816f, 0.054525f, 0.005930f, -0.004485f, -0.029803f, -0.048441f, -0.140948f, 0.087847f, 0.033137f, 0.050474f, 0.004709f, -0.045736f, 0.050100f, -0.028310f, 0.021032f, 0.030036f, 0.028920f, 0.067835f, -0.001578f, 0.015893f, 0.018434f, -0.007528f, -0.029993f, -0.009777f, 0.049210f, 0.030634f, -0.028091f, -0.005988f, -0.019217f, -0.004762f, 0.022796f, 0.006943f, -0.032834f, -0.020902f, 0.030740f, 0.007349f, -0.010173f, 0.016227f, -0.027834f, -0.016645f, -0.006069f, 0.013692f, 0.021584f, 0.014360f, 0.003839f, 0.017441f, -0.014331f, -0.018264f, 0.002915f, -0.001672f, -0.025067f, 0.003128f, -0.025849f, -0.000815f, -0.015966f, -0.003558f, 0.003574f, -0.012937f, -0.024783f, 0.008477f, -0.059247f, 0.041389f, 0.040516f, -0.080275f, 0.007552f, -0.042175f, 0.004990f, -0.088375f, 0.088608f, 0.077273f, -0.008172f, -0.040316f, -0.014252f, -0.016157f, 0.042857f, -0.044203f, 0.055345f, -0.073895f, -0.043117f, 0.021079f, 0.025898f, 0.006009f, 0.024989f, 0.070401f, 0.019979f, 0.032482f, 0.008333f, 0.033754f, 0.023683f, - -0.015802f, 0.006701f, 0.028589f, -0.002327f, -0.002405f, 0.055871f, 0.025260f, 0.073428f, -0.006724f, 0.041690f, 0.000143f, -0.054337f, 0.055214f, -0.028918f, -0.006165f, 0.016609f, -0.051138f, -0.035014f, 0.019897f, 0.079857f, 0.043887f, 0.028547f, -0.103436f, -0.024558f, -0.072520f, -0.001199f, 0.116063f, 0.075810f, 0.087814f, 0.006339f, -0.085147f, 0.025926f, 0.086431f, 0.017558f, -0.021602f, 0.076312f, 0.008337f, 0.050800f, -0.132444f, -0.110525f, 0.079009f, -0.006357f, -0.035630f, -0.084848f, -0.018319f, -0.032289f, 0.036033f, 0.032681f, 0.039453f, 0.039786f, -0.016690f, 0.011905f, 0.073208f, 0.066883f, 0.070713f, 0.005121f, 0.101600f, 0.049934f, -0.017973f, -0.040996f, 0.000664f, -0.020602f, 0.006081f, 0.050865f, -0.008098f, 0.001459f, 0.037656f, 0.040653f, 0.004043f, -0.000624f, 0.016115f, 0.045100f, 0.016225f, 0.020694f, 0.031310f, 0.010294f, 0.024373f, -0.002033f, -0.013664f, -0.006857f, -0.005187f, 0.001044f, 0.032371f, -0.013250f, 0.005760f, -0.027363f, 0.039166f, 0.018052f, 0.017151f, -0.001386f, 0.019793f, -0.000918f, 0.067075f, 0.016290f, 0.068864f, -0.019563f, - 0.060249f, 0.026648f, 0.008958f, 0.025229f, 0.025966f, 0.028408f, -0.007784f, -0.006392f, 0.041242f, 0.013222f, 0.034566f, -0.076695f, 0.045212f, 0.060324f, 0.004576f, 0.020529f, -0.054663f, 0.042566f, -0.024892f, 0.020327f, 0.001931f, 0.000036f, 0.036063f, -0.011333f, 0.023451f, -0.007734f, -0.043921f, 0.011521f, -0.003120f, 0.048827f, 0.042729f, 0.060751f, 0.020213f, -0.046896f, -0.038642f, 0.039334f, 0.044325f, 0.020318f, 0.003771f, 0.013790f, -0.012297f, -0.038541f, 0.006346f, -0.014470f, 0.053968f, 0.037519f, 0.032847f, 0.042594f, 0.043825f, -0.061124f, 0.066716f, 0.065452f, 0.047999f, -0.033040f, -0.029320f, -0.042638f, 0.058059f, 0.033713f, 0.095495f, -0.058697f, -0.057993f, -0.045011f, -0.084968f, -0.022491f, 0.091205f, 0.014145f, 0.071550f, -0.077077f, -0.082287f, 0.017436f, 0.051709f, -0.072129f, 0.010882f, -0.057551f, 0.022387f, -0.066367f, -0.005586f, 0.030824f, 0.032727f, -0.060410f, 0.023230f, -0.046084f, -0.091209f, -0.003527f, 0.107049f, 0.055135f, 0.043081f, -0.030578f, -0.077397f, 0.116312f, 0.094008f, 0.025997f, -0.105565f, -0.004675f, -0.025230f, 0.074271f, - 0.037659f, 0.045812f, -0.055199f, 0.040454f, -0.025122f, 0.026287f, -0.038453f, 0.012783f, -0.042962f, 0.060542f, -0.012788f, 0.009433f, -0.073717f, 0.020507f, 0.008379f, -0.004027f, -0.017156f, 0.014181f, 0.006840f, 0.006976f, -0.046040f, 0.018350f, 0.045158f, 0.002236f, 0.026771f, 0.022779f, 0.018345f, 0.002380f, 0.008107f, 0.000271f, 0.001456f, 0.001332f, -0.015471f, -0.002341f, 0.013394f, -0.000950f, 0.027825f, 0.023840f, -0.014292f, -0.003265f, 0.012154f, 0.005035f, 0.021108f, -0.042812f, -0.001293f, -0.147437f, -0.030258f, -0.002958f, 0.001731f, 0.052425f, -0.137805f, -0.014867f, 0.062239f, -0.100750f, 0.022786f, -0.022295f, 0.118207f, 0.063439f, -0.072557f, 0.018670f, 0.079425f, 0.008939f, -0.031959f, 0.027068f, 0.018841f, 0.011291f, -0.001823f, -0.007117f, 0.005799f, 0.013843f, 0.026940f, 0.082805f, 0.065249f, 0.072509f, 0.048521f, 0.091096f, 0.043450f, 0.093121f, 0.037472f, 0.082693f, 0.000575f, 0.051654f, 0.045140f, 0.051191f, 0.037934f, -0.002910f, 0.014431f, -0.062055f, -0.038147f, 0.120394f, 0.000847f, -0.047029f, -0.014059f, 0.038317f, 0.062348f, 0.129491f, - -0.018085f, -0.070092f, -0.036367f, -0.051477f, 0.072633f, 0.084638f, 0.093264f, 0.029923f, -0.004136f, 0.064331f, -0.108791f, 0.099102f, 0.036544f, -0.051150f, -0.001708f, -0.167405f, 0.003240f, -0.110414f, -0.154867f, -0.037662f, -0.091343f, -0.038619f, 0.173814f, 0.160001f, 0.149024f, -0.117187f, -0.012862f, -0.012758f, 0.117005f, 0.185279f, -0.041920f, -0.051421f, 0.101486f, 0.105740f, 0.089593f, -0.010081f, -0.015363f, -0.050446f, -0.065129f, 0.010022f, -0.024452f, 0.028978f, 0.043625f, 0.039280f, 0.026002f, 0.003266f, 0.016568f, 0.050042f, 0.007671f, 0.000892f, -0.014785f, 0.003406f, 0.002584f, 0.014039f, 0.009384f, 0.010677f, 0.050352f, -0.003893f, -0.031238f, 0.031887f, 0.036382f, 0.009256f, 0.058584f, 0.014597f, 0.027947f, 0.065482f, 0.086081f, 0.064072f, 0.045711f, 0.019343f, 0.007997f, 0.025872f, 0.058779f, 0.026751f, 0.060284f, 0.045805f, 0.028579f, 0.043127f, 0.014974f, 0.058369f, 0.049827f, 0.041709f, 0.062103f, 0.036634f, 0.011104f, 0.018085f, -0.003926f, -0.040983f, 0.105886f, 0.128672f, -0.106579f, -0.097764f, 0.032888f, 0.112489f, 0.002795f, -0.052732f, - 0.000369f, 0.030522f, 0.033756f, -0.093051f, 0.034590f, -0.012427f, 0.049104f, -0.051095f, -0.024600f, -0.059871f, 0.063191f, -0.008626f, -0.027956f, -0.055982f, 0.040995f, 0.024205f, -0.009712f, -0.047315f, 0.022105f, 0.020948f, 0.011145f, -0.041809f, -0.006063f, -0.002100f, 0.048304f, -0.036441f, -0.008920f, -0.053291f, -0.014067f, 0.018438f, 0.042386f, -0.055448f, -0.021228f, 0.059100f, 0.050541f, -0.015521f, -0.035831f, -0.000219f, -0.018316f, 0.049378f, -0.028290f, -0.015556f, 0.023811f, 0.017945f, 0.030077f, -0.027078f, 0.008475f, -0.037317f, 0.043043f, 0.051068f, 0.024104f, 0.008005f, -0.040042f, 0.045395f, -0.032227f, 0.070251f, -0.051456f, 0.056484f, -0.088595f, 0.059859f, 0.007418f, -0.004994f, -0.062359f, -0.018382f, 0.020116f, -0.015695f, 0.005916f, -0.015163f, 0.017464f, -0.007541f, 0.019556f, -0.019116f, -0.026801f, -0.016681f, 0.018565f, 0.001690f, -0.002488f, -0.004344f, -0.014905f, 0.009526f, 0.021729f, -0.010993f, -0.002978f, 0.001730f, 0.002792f, -0.000775f, 0.003694f, -0.003469f, 0.015654f, 0.000921f, 0.020341f, -0.018231f, 0.003205f, -0.008148f, 0.020510f, -0.021924f, - 0.020186f, -0.022606f, 0.013422f, 0.007369f, 0.025598f, -0.005539f, 0.024192f, -0.021968f, -0.018463f, -0.003059f, 0.039466f, -0.018729f, 0.030295f, -0.010335f, 0.003704f, 0.005138f, 0.021142f, -0.008698f, 0.010332f, 0.005035f, -0.000635f, -0.000566f, 0.006571f, -0.001403f, -0.014800f, 0.028867f, -0.017602f, 0.005664f, -0.014367f, 0.010082f, -0.013715f, 0.015658f, -0.020326f, 0.023623f, -0.019073f, 0.020318f, -0.025596f, 0.023158f, -0.032192f, 0.031050f, -0.020326f, 0.022568f, -0.023891f, 0.024026f, -0.024334f, 0.025087f, -0.022964f, 0.024040f, -0.003417f, -0.022962f, 0.102616f, 0.109204f, -0.064262f, -0.038061f, 0.021650f, 0.104289f, 0.064787f, 0.038864f, 0.037375f, -0.016604f, -0.043644f, -0.013206f, 0.024501f, -0.000376f, -0.010285f, 0.031113f, 0.000536f, 0.021929f, 0.002683f, -0.011663f, -0.039107f, -0.010378f, -0.002295f, 0.002887f, -0.001555f, -0.031771f, 0.035459f, 0.005918f, -0.014285f, -0.000803f, -0.001105f, 0.000499f, 0.022886f, 0.042053f, 0.017926f, 0.004250f, -0.015154f, -0.021771f, -0.005659f, 0.013660f, 0.028178f, 0.037955f, -0.021200f, -0.020930f, 0.004722f, 0.038367f, - 0.017294f, 0.008549f, -0.017354f, -0.034837f, 0.029688f, -0.006137f, 0.000818f, 0.002006f, 0.009550f, 0.009164f, -0.004244f, -0.001285f, -0.022729f, 0.003471f, 0.020003f, -0.009530f, 0.011941f, -0.006731f, -0.016205f, 0.010258f, -0.003098f, 0.005539f, -0.001262f, 0.017390f, 0.011785f, -0.025988f, 0.007633f, 0.001215f, -0.047129f, -0.062619f, 0.001765f, 0.003636f, 0.014232f, 0.038081f, 0.004147f, -0.016815f, -0.016459f, 0.014978f, 0.016361f, 0.024842f, 0.016927f, 0.001026f, 0.007202f, -0.002705f, -0.018930f, -0.007894f, 0.002845f, -0.025976f, -0.024853f, 0.015943f, 0.016937f, -0.000446f, 0.019054f, -0.027110f, -0.004952f, -0.001316f, 0.001309f, -0.008412f, 0.004250f, 0.014572f, 0.020252f, 0.009845f, 0.017048f, -0.010865f, -0.021271f, 0.012395f, 0.001943f, -0.005271f, -0.036276f, -0.135419f, 0.057499f, 0.208843f, 0.192554f, 0.164381f, 0.065562f, -0.155954f, -0.097630f, -0.140202f, -0.157131f, -0.140471f, -0.040931f, 0.030391f, 0.118413f, 0.123371f, 0.147719f, 0.097874f, 0.098678f, 0.002472f, -0.103817f, -0.099117f, -0.122246f, -0.095586f, -0.053245f, -0.003559f, -0.034310f, 0.037187f, - 0.045779f, 0.074282f, 0.081520f, 0.082865f, 0.049321f, 0.004210f, 0.021898f, -0.018205f, 0.011717f, -0.056653f, -0.041247f, -0.052389f, -0.085734f, -0.067949f, -0.052150f, -0.036749f, -0.060974f, 0.008508f, 0.103971f, 0.117575f, 0.065568f, 0.122938f, 0.030414f, 0.071763f, 0.036835f, 0.021115f, -0.030950f, -0.065555f, -0.089967f, -0.126242f, -0.096905f, -0.144022f, -0.059725f, -0.064094f, 0.041287f, 0.041465f, 0.120442f, 0.138927f, 0.123601f, 0.110186f, 0.107599f, 0.067421f, 0.008191f, -0.037640f, -0.115255f, -0.072202f, -0.150532f, -0.128235f, -0.178518f, -0.028831f, -0.016071f, 0.044029f, 0.056369f, 0.101757f, 0.119565f, 0.100176f, 0.089320f, 0.066353f, 0.039022f, 0.005575f, -0.033332f, -0.047833f, -0.064588f, -0.099529f, -0.070059f, -0.086652f, -0.060406f, -0.030883f, -0.009034f, 0.019690f, 0.019020f, 0.095173f, 0.087594f, 0.086949f, 0.067678f, 0.049763f, 0.005820f, 0.030952f, -0.034568f, -0.057079f, -0.044614f, -0.123606f, -0.144263f, -0.027783f, -0.009828f, -0.006210f, 0.070198f, 0.057604f, 0.076622f, 0.053818f, 0.070009f, 0.021429f, 0.018012f, -0.005396f, -0.029827f, -0.038174f, - -0.049499f, -0.054656f, -0.033785f, -0.007048f, -0.042796f, -0.022471f, 0.033984f, 0.048675f, 0.032501f, 0.042168f, 0.028631f, 0.020929f, 0.005303f, -0.003773f, -0.014959f, -0.020870f, -0.016358f, -0.026098f, -0.013855f, -0.005119f, -0.009984f, -0.013247f, 0.002810f, 0.010100f, 0.002006f, 0.015343f, 0.019259f, 0.014616f, 0.009736f, 0.008503f, 0.002560f, -0.001576f, -0.005496f, -0.001396f, -0.002080f, 0.000734f} - }, - { - {-0.009620f, -0.009836f, -0.008129f, 0.002252f, -0.004664f, -0.000752f, -0.001333f, 0.004711f, 0.018830f, -0.005038f, 0.001896f, -0.017939f, -0.009798f, 0.005466f, -0.008528f, -0.006655f, -0.002517f, -0.007580f, -0.002008f, 0.015622f, -0.006711f, -0.010009f, 0.016884f, 0.013513f, -0.004769f, -0.003137f, 0.015455f, 0.004394f, 0.005994f, 0.002981f, 0.000757f, -0.003959f, -0.006513f, 0.006123f, -0.004852f, 0.004575f, 0.001663f, 0.001760f, -0.002163f, -0.005315f, -0.004166f, 0.003771f, -0.004796f, -0.007581f, -0.003416f, -0.003391f, -0.009650f, 0.010918f, 0.016878f, -0.009712f, 0.005509f, 0.000464f, -0.003788f, 0.002672f, -0.000418f, 0.000136f, -0.005651f, 0.010436f, -0.006192f, -0.007653f, 0.008688f, 0.002649f, -0.000454f, -0.000978f, 0.004774f, 0.000300f, -0.000135f, -0.003000f, -0.001503f, 0.009170f, -0.013396f, 0.004557f, 0.002466f, -0.003262f, -0.003202f, -0.004682f, -0.006817f, 0.000049f, 0.006581f, 0.006719f, 0.001960f, -0.000133f, 0.001524f, -0.003740f, 0.004898f, -0.001861f, 0.002883f, -0.002089f, -0.001341f, -0.001013f, -0.001219f, -0.000980f, 0.002262f, -0.000113f, 0.000935f, 0.001361f, - 0.000832f, 0.002342f, 0.002967f, -0.000986f, -0.000681f, -0.001335f, -0.000915f, -0.001893f, -0.000555f, -0.001266f, -0.001031f, -0.001926f, -0.000753f, -0.000225f, -0.029660f, -0.004685f, -0.010836f, -0.002668f, 0.002399f, -0.008088f, -0.018078f, 0.013251f, -0.004438f, 0.003084f, 0.008874f, -0.002822f, -0.000902f, -0.001108f, 0.004087f, -0.003141f, 0.014928f, -0.000623f, 0.011516f, 0.016877f, -0.020260f, 0.004241f, 0.014080f, 0.000963f, 0.002808f, 0.009738f, 0.018010f, 0.002567f, -0.004049f, 0.009056f, -0.002410f, -0.004705f, 0.004062f, 0.003194f, 0.004018f, -0.005084f, 0.018352f, -0.008484f, 0.004631f, 0.006833f, -0.000083f, -0.000912f, -0.008955f, 0.001442f, -0.010376f, 0.008698f, -0.010600f, -0.008157f, 0.005869f, -0.009901f, 0.006776f, -0.006919f, 0.002845f, -0.005591f, 0.003765f, 0.007963f, 0.015635f, 0.004775f, 0.001768f, 0.007584f, 0.000114f, -0.013544f, 0.001791f, 0.003767f, 0.005140f, -0.003433f, 0.000705f, -0.001896f, 0.002566f, 0.007501f, 0.004543f, 0.010260f, 0.003550f, 0.001328f, -0.006281f, -0.003251f, 0.006064f, 0.004683f, -0.006015f, 0.007155f, 0.003515f, 0.007827f, - -0.002468f, -0.001947f, -0.002476f, 0.000306f, -0.001534f, -0.006383f, -0.001173f, 0.000977f, 0.001046f, 0.004016f, 0.000446f, -0.001285f, -0.001566f, 0.001654f, 0.000862f, -0.003165f, -0.000472f, -0.000310f, 0.000018f, 0.001164f, 0.000330f, -0.001517f, -0.000209f, -0.001443f, -0.010830f, 0.008082f, 0.005178f, 0.001695f, 0.010120f, -0.000467f, 0.005651f, 0.013920f, 0.008531f, 0.018231f, 0.003462f, -0.002601f, -0.018638f, 0.003008f, -0.011446f, -0.003729f, 0.001387f, 0.004274f, -0.007185f, 0.000081f, 0.017834f, -0.009064f, -0.000524f, -0.009050f, 0.004301f, 0.000173f, 0.003428f, 0.007384f, 0.008565f, -0.005336f, 0.006416f, 0.006754f, 0.012891f, 0.000576f, -0.012731f, 0.001314f, 0.013668f, -0.001267f, -0.000898f, -0.001814f, 0.009178f, -0.010654f, 0.000864f, 0.007121f, 0.009186f, 0.011128f, -0.004198f, -0.007161f, -0.000964f, 0.015960f, 0.001448f, 0.005811f, -0.012956f, -0.005707f, 0.003103f, 0.002739f, -0.002243f, 0.008488f, -0.000612f, -0.001678f, 0.004694f, -0.008060f, 0.000488f, -0.001210f, 0.005524f, 0.008590f, -0.012584f, -0.002755f, 0.004041f, 0.008467f, -0.005402f, -0.005101f, - 0.003462f, 0.010020f, -0.000902f, 0.006750f, 0.004732f, 0.006919f, 0.002867f, 0.007712f, 0.011528f, 0.000500f, 0.003219f, -0.003141f, 0.004687f, 0.003407f, -0.002215f, -0.005156f, -0.000992f, -0.003642f, 0.001200f, -0.003328f, 0.001454f, -0.001494f, 0.000804f, -0.002694f, 0.000062f, -0.000229f, 0.000566f, -0.001605f, 0.002567f, -0.002415f, -0.001071f, -0.001060f, -0.001319f, 0.000352f, 0.001445f, 0.001535f, 0.000827f, -0.000706f, -0.000546f, -0.001114f, 0.003474f, 0.032246f, 0.015655f, 0.012708f, -0.011991f, -0.002123f, -0.016735f, -0.011965f, 0.017974f, 0.001621f, -0.011306f, -0.005271f, 0.003870f, -0.010718f, -0.000940f, 0.018258f, 0.007335f, -0.000759f, 0.005893f, 0.026775f, -0.017796f, 0.004273f, -0.003308f, -0.008664f, 0.015432f, 0.007821f, 0.008025f, -0.005999f, 0.006935f, 0.008837f, -0.002682f, 0.005670f, -0.001767f, -0.007640f, 0.001631f, 0.002864f, -0.001286f, 0.009063f, 0.002281f, -0.003281f, 0.010077f, -0.004589f, -0.004683f, -0.005818f, 0.002863f, 0.003842f, 0.000777f, 0.007199f, 0.001013f, 0.022659f, 0.001536f, -0.000020f, -0.005218f, -0.004738f, 0.005485f, -0.016877f, - 0.000748f, 0.010111f, 0.008089f, -0.009116f, 0.013405f, 0.000218f, 0.006024f, 0.010663f, -0.002978f, 0.008253f, 0.006462f, -0.002943f, -0.009574f, -0.007357f, 0.006085f, 0.015159f, 0.004377f, -0.006606f, -0.003194f, -0.003748f, 0.010489f, -0.008856f, -0.000453f, 0.008602f, 0.010038f, 0.001371f, 0.001307f, -0.002773f, -0.004132f, 0.000170f, -0.000925f, -0.003520f, -0.000679f, -0.001609f, -0.001695f, -0.002709f, -0.001313f, 0.003537f, 0.002455f, -0.000719f, 0.004642f, 0.001350f, 0.001900f, -0.000603f, 0.001611f, -0.000817f, -0.000359f, -0.000193f, 0.000575f, 0.000563f, 0.001330f, 0.002495f, 0.000678f, 0.000284f, -0.000722f, 0.007764f, 0.002094f, 0.021091f, 0.005289f, 0.012569f, -0.000532f, 0.002783f, 0.003573f, 0.003500f, -0.003452f, 0.012852f, -0.005378f, 0.013906f, -0.006793f, -0.005395f, 0.003693f, -0.009205f, -0.002585f, -0.002904f, 0.003970f, 0.005778f, -0.003636f, -0.013474f, 0.006178f, -0.016290f, -0.006516f, -0.002777f, -0.000318f, -0.002565f, 0.003246f, 0.014576f, 0.008306f, 0.000977f, -0.015107f, -0.014591f, 0.000568f, 0.009825f, -0.005130f, 0.001526f, -0.001796f, -0.006480f, - -0.009680f, 0.000994f, 0.006668f, 0.014056f, 0.012762f, -0.001642f, 0.004146f, -0.017658f, 0.006096f, 0.011708f, 0.013383f, -0.001658f, 0.012208f, 0.002585f, 0.017742f, 0.010442f, 0.003443f, 0.007983f, -0.000744f, -0.004638f, -0.003085f, -0.001811f, 0.011152f, -0.004274f, -0.006226f, -0.007756f, 0.011128f, -0.002701f, -0.019411f, 0.003849f, 0.007404f, 0.010879f, 0.014138f, 0.024092f, -0.010090f, -0.008300f, 0.014287f, 0.015054f, 0.011898f, 0.005070f, -0.002500f, -0.002775f, -0.009413f, -0.010580f, -0.002959f, -0.003841f, 0.003138f, -0.000463f, -0.003100f, -0.000463f, -0.005872f, 0.001222f, -0.000825f, 0.002709f, 0.000323f, -0.004500f, -0.000423f, 0.000434f, -0.000807f, -0.000448f, 0.002044f, 0.003907f, 0.003906f, 0.003211f, 0.000790f, 0.000770f, -0.006051f, 0.000228f, 0.004070f, -0.002755f, 0.002188f, 0.000455f, -0.001787f, -0.001476f, -0.000865f, 0.004057f, 0.002960f, 0.000573f, -0.000510f, 0.002195f, 0.000052f, -0.028013f, 0.013608f, 0.019194f, 0.002592f, 0.015976f, 0.002261f, -0.014322f, -0.001291f, -0.006686f, -0.003466f, 0.014749f, -0.019139f, -0.005358f, 0.006781f, 0.007540f, - 0.017442f, -0.003429f, 0.007584f, -0.027238f, -0.013787f, 0.006969f, 0.016184f, -0.010608f, -0.007539f, -0.011371f, -0.013633f, 0.007169f, -0.001620f, 0.000137f, 0.005181f, 0.002488f, 0.005403f, 0.021131f, -0.012726f, 0.020507f, -0.001068f, 0.004194f, 0.004616f, 0.004458f, -0.006120f, 0.007133f, -0.014444f, -0.002761f, -0.007838f, -0.001531f, -0.010712f, 0.013066f, 0.002376f, 0.036187f, 0.001226f, -0.002319f, -0.009092f, 0.001601f, -0.007603f, 0.018912f, -0.011605f, 0.002506f, -0.021100f, 0.015878f, 0.014681f, -0.017529f, 0.010781f, 0.010878f, 0.004604f, -0.009500f, -0.009589f, 0.015931f, 0.004196f, -0.023057f, 0.011131f, -0.010948f, -0.005859f, 0.005212f, -0.005671f, 0.002060f, 0.004751f, 0.006211f, -0.011914f, -0.029213f, 0.004345f, 0.006551f, -0.000804f, -0.006282f, 0.011625f, -0.004978f, -0.003640f, -0.005413f, 0.007768f, -0.009458f, -0.003631f, -0.005379f, -0.003871f, 0.002370f, -0.003497f, 0.005006f, 0.000836f, -0.008412f, 0.006273f, 0.000802f, -0.004195f, -0.000268f, 0.005668f, 0.001799f, 0.000386f, -0.000758f, -0.001405f, -0.004466f, 0.000496f, 0.001222f, 0.000689f, -0.000463f, - 0.002675f, -0.005054f, 0.000678f, 0.000940f, -0.005479f, -0.005011f, 0.012316f, 0.002374f, -0.000223f, -0.010398f, -0.017439f, 0.006174f, -0.009347f, -0.003782f, 0.016922f, -0.023023f, -0.009566f, -0.016964f, -0.001703f, 0.014542f, -0.001326f, -0.012001f, -0.016628f, -0.018700f, 0.007313f, 0.019779f, -0.005643f, 0.012358f, 0.018630f, -0.005151f, -0.004267f, 0.007286f, 0.010372f, 0.022086f, -0.003175f, 0.012417f, 0.001827f, 0.026261f, 0.019336f, 0.005288f, -0.006156f, 0.002655f, -0.014528f, 0.025497f, 0.005953f, -0.011242f, -0.012454f, 0.014707f, 0.012446f, 0.008943f, 0.006395f, 0.004370f, 0.013229f, -0.005700f, 0.005853f, -0.008727f, 0.001290f, 0.000720f, -0.013226f, -0.017705f, -0.006254f, -0.012503f, 0.008072f, -0.007629f, -0.005642f, -0.019310f, -0.012124f, 0.003711f, -0.006571f, -0.002307f, 0.009315f, 0.019361f, 0.024437f, 0.012700f, 0.010133f, -0.008988f, -0.019843f, 0.000356f, -0.013879f, -0.032120f, 0.000312f, -0.002248f, 0.012018f, 0.008096f, -0.007833f, -0.017891f, -0.009699f, 0.008671f, -0.000395f, -0.001983f, -0.007379f, 0.003975f, 0.004119f, 0.003248f, -0.001874f, -0.010180f, - 0.002184f, 0.001355f, 0.001031f, -0.002291f, -0.001220f, -0.001364f, 0.001309f, -0.004975f, -0.005100f, -0.000524f, 0.000661f, -0.004133f, 0.000401f, -0.000813f, 0.003875f, 0.005144f, -0.005503f, -0.000183f, 0.004056f, -0.000662f, -0.002288f, 0.000956f, 0.000621f, 0.005579f, -0.001687f, 0.003596f, 0.002848f, -0.002370f, -0.037047f, -0.011473f, 0.002045f, 0.018035f, -0.012994f, 0.008791f, 0.005789f, -0.000792f, 0.027206f, -0.003691f, 0.025604f, -0.015125f, 0.007520f, 0.008052f, 0.000321f, -0.023442f, -0.009668f, -0.008787f, -0.026562f, 0.009012f, -0.006607f, 0.005584f, -0.001659f, 0.009580f, -0.000034f, -0.010448f, 0.005545f, -0.017152f, 0.012619f, 0.007328f, 0.029125f, -0.001293f, 0.000881f, 0.026545f, -0.023504f, 0.020594f, 0.025316f, -0.015891f, 0.016305f, -0.006867f, -0.007647f, -0.013347f, 0.003356f, 0.002997f, 0.018005f, 0.011509f, -0.004639f, -0.007566f, -0.015303f, 0.008311f, 0.009550f, -0.017638f, -0.007893f, 0.016342f, -0.028797f, 0.002599f, -0.022244f, 0.012470f, 0.001231f, -0.000530f, 0.006730f, -0.007655f, 0.002560f, 0.026432f, -0.010938f, 0.005698f, 0.012920f, 0.008041f, - 0.001423f, -0.014099f, 0.006188f, 0.005080f, -0.008139f, -0.022784f, 0.000249f, -0.005282f, -0.017970f, 0.013526f, -0.004893f, 0.004923f, -0.000716f, 0.002494f, 0.005725f, 0.005478f, -0.010039f, 0.002454f, -0.001000f, 0.002218f, -0.000801f, 0.006702f, 0.003393f, -0.001753f, -0.001242f, -0.009867f, -0.000382f, -0.006768f, 0.001178f, 0.001040f, 0.007106f, -0.010426f, 0.003858f, 0.005529f, -0.003918f, -0.006497f, 0.002315f, -0.000996f, -0.003792f, 0.003051f, -0.000811f, -0.004079f, 0.001444f, -0.001415f, -0.004637f, -0.001353f, -0.002996f, -0.006281f, 0.002959f, -0.001953f, 0.000594f, -0.003459f, -0.000700f, -0.003534f, 0.001683f, 0.006635f, -0.000861f, -0.015145f, 0.044032f, -0.016374f, 0.008513f, 0.006333f, 0.015682f, 0.004944f, 0.009498f, 0.021997f, -0.017045f, -0.010445f, -0.001441f, 0.030601f, -0.011851f, -0.013022f, -0.015226f, 0.007564f, 0.005066f, 0.016747f, -0.034978f, 0.000331f, 0.000694f, -0.002373f, 0.017909f, -0.004358f, 0.013800f, 0.025683f, -0.018714f, -0.008379f, 0.007274f, -0.014012f, -0.017664f, 0.011847f, -0.016412f, 0.024150f, -0.004169f, -0.024871f, -0.003332f, -0.014283f, - 0.007855f, 0.019696f, -0.000424f, 0.009959f, -0.001264f, 0.003824f, 0.023429f, 0.000715f, 0.016982f, 0.006718f, -0.012793f, 0.013277f, 0.011325f, 0.001560f, 0.009507f, 0.033671f, -0.005628f, -0.015161f, 0.007964f, -0.019187f, 0.001462f, 0.032159f, 0.010887f, 0.005061f, -0.006170f, -0.009233f, -0.006240f, -0.011402f, 0.019361f, -0.012763f, -0.003434f, -0.007964f, 0.021976f, -0.040484f, 0.013806f, 0.014242f, 0.024317f, 0.005757f, 0.001819f, 0.021436f, -0.006104f, -0.009302f, -0.012183f, 0.000284f, -0.010139f, -0.001032f, -0.008728f, 0.007020f, 0.000620f, -0.007771f, -0.008199f, -0.006862f, 0.002575f, 0.008373f, 0.006702f, 0.001430f, 0.000463f, -0.003596f, -0.008872f, -0.002969f, -0.002314f, 0.003628f, 0.003699f, -0.001498f, -0.002210f, 0.001718f, -0.005332f, -0.000033f, -0.005175f, -0.002614f, -0.006803f, -0.009150f, -0.002573f, 0.003109f, 0.010125f, 0.001620f, -0.002850f, -0.002727f, 0.003955f, -0.000995f, 0.009709f, 0.004388f, 0.001668f, 0.001351f, 0.065080f, 0.019422f, -0.011861f, -0.015806f, -0.013315f, 0.047150f, -0.040633f, 0.003234f, 0.015916f, 0.002354f, -0.022029f, -0.004983f, - 0.011060f, -0.002360f, 0.002570f, 0.019559f, -0.020239f, -0.017003f, 0.008347f, 0.025495f, 0.015716f, 0.006585f, -0.012350f, -0.012072f, -0.011620f, -0.013540f, 0.012630f, 0.005016f, 0.018098f, 0.014516f, 0.008274f, -0.019204f, -0.009127f, -0.020458f, -0.004054f, -0.013421f, -0.030898f, -0.005758f, 0.013819f, 0.003071f, -0.014328f, -0.014452f, 0.000374f, 0.007478f, 0.019357f, 0.002461f, 0.009821f, 0.002804f, 0.037395f, -0.032436f, 0.021236f, 0.003982f, -0.033090f, -0.005977f, -0.009966f, -0.008187f, 0.005099f, -0.014488f, 0.008760f, 0.006363f, 0.014837f, -0.018068f, 0.006417f, 0.028943f, 0.013571f, 0.045985f, -0.010269f, -0.001141f, -0.011285f, -0.005780f, 0.001268f, -0.000913f, -0.043584f, 0.019439f, -0.001815f, -0.002550f, 0.011849f, 0.011710f, -0.012343f, -0.018569f, -0.020303f, -0.007549f, 0.014446f, 0.006152f, -0.004722f, -0.011996f, 0.010609f, -0.018865f, 0.009902f, -0.003088f, -0.008524f, -0.010662f, -0.011560f, -0.004173f, -0.003840f, 0.001839f, -0.004815f, -0.003263f, 0.002414f, -0.003461f, -0.003222f, 0.002010f, -0.009445f, -0.004307f, -0.000641f, -0.003214f, -0.005399f, -0.002410f, - -0.009592f, 0.001367f, 0.007211f, 0.009706f, 0.011395f, -0.008256f, -0.010106f, -0.007170f, -0.009137f, 0.000353f, -0.000006f, -0.005605f, -0.006374f, 0.002463f, -0.000837f, 0.006332f, -0.001953f, -0.000455f, 0.004914f, 0.004919f, -0.003939f, -0.021783f, 0.005297f, 0.011852f, -0.000453f, -0.013384f, -0.009288f, -0.028932f, -0.034378f, 0.007138f, -0.015234f, -0.007256f, 0.005064f, -0.000287f, -0.003593f, -0.015341f, -0.007609f, -0.000147f, 0.012079f, 0.012869f, -0.018881f, -0.010834f, 0.011899f, -0.016922f, -0.008306f, -0.027715f, 0.026838f, -0.003492f, 0.024179f, 0.002116f, 0.009074f, 0.025686f, 0.019419f, -0.011404f, 0.005857f, 0.013061f, -0.013712f, -0.005583f, 0.012729f, -0.004719f, -0.030783f, -0.005722f, -0.021567f, 0.031651f, -0.003340f, -0.008401f, -0.018089f, -0.026400f, 0.009468f, 0.005599f, 0.006233f, 0.013029f, 0.000309f, -0.004812f, 0.013636f, 0.003483f, -0.002600f, 0.004797f, -0.007615f, 0.020917f, -0.004937f, 0.013198f, 0.039049f, 0.008708f, 0.007339f, 0.009145f, 0.014411f, -0.033987f, -0.027508f, 0.010474f, -0.030024f, 0.020795f, -0.004237f, 0.023825f, 0.006295f, 0.046450f, - 0.018242f, 0.003163f, -0.013496f, -0.005988f, -0.023885f, -0.001610f, 0.007454f, 0.004666f, 0.005079f, 0.008211f, 0.021198f, -0.008816f, -0.017190f, -0.005976f, -0.004777f, 0.006672f, 0.019235f, 0.006803f, -0.004637f, 0.005546f, 0.005642f, -0.000991f, -0.004446f, -0.011196f, 0.000753f, 0.001262f, -0.005464f, -0.007409f, -0.001412f, -0.011873f, 0.008328f, 0.004728f, -0.005583f, -0.001810f, -0.011794f, -0.005781f, 0.005452f, 0.010322f, -0.005185f, -0.004792f, -0.000218f, -0.009477f, 0.010049f, -0.000476f, 0.007238f, -0.009804f, 0.000004f, -0.010158f, 0.005946f, -0.012054f, -0.002735f, -0.055456f, -0.038837f, 0.014410f, -0.015469f, -0.032073f, -0.048684f, -0.001186f, 0.003883f, -0.009440f, -0.007776f, 0.046433f, 0.012184f, -0.033577f, 0.007026f, -0.020490f, -0.017236f, -0.016639f, -0.029987f, -0.004953f, 0.002765f, -0.041294f, -0.039102f, -0.014855f, 0.006469f, 0.003851f, 0.023692f, 0.020053f, 0.012459f, -0.009942f, -0.000386f, 0.009165f, -0.021178f, -0.011806f, -0.007226f, 0.007014f, -0.019896f, -0.012152f, 0.013598f, 0.008238f, -0.000539f, -0.003053f, -0.003716f, 0.011337f, -0.028651f, -0.016325f, - -0.014106f, 0.019009f, -0.022209f, 0.015099f, 0.025454f, 0.034873f, -0.002319f, 0.010038f, -0.008268f, -0.016634f, -0.021839f, -0.005882f, 0.021531f, 0.008104f, -0.039096f, 0.001737f, 0.040460f, -0.026863f, 0.001308f, -0.005727f, 0.002157f, 0.009627f, 0.020634f, -0.004268f, 0.006556f, 0.024777f, 0.017035f, 0.010919f, -0.018951f, -0.022801f, 0.016670f, -0.016496f, -0.031241f, -0.030001f, 0.032696f, 0.012457f, 0.018061f, 0.007763f, -0.005149f, -0.006292f, 0.015600f, 0.011063f, 0.002941f, 0.015037f, -0.005993f, -0.019682f, -0.010170f, -0.013713f, 0.005516f, 0.019929f, 0.009702f, 0.002423f, 0.011792f, 0.006557f, 0.010995f, -0.002088f, -0.005642f, 0.006781f, -0.002458f, -0.007613f, -0.006494f, 0.005262f, -0.018192f, 0.004015f, 0.010670f, -0.006401f, 0.013200f, 0.009064f, -0.000761f, -0.001425f, 0.012444f, 0.001556f, -0.002878f, -0.007914f, -0.007788f, 0.002192f, 0.006560f, 0.001509f, 0.005282f, -0.007886f, -0.032411f, 0.017885f, -0.026237f, -0.046767f, 0.008437f, -0.028433f, -0.016528f, 0.055264f, 0.003748f, 0.041382f, 0.037226f, -0.007463f, 0.039203f, 0.054263f, 0.038572f, -0.048524f, - -0.006491f, -0.022550f, -0.022863f, -0.013971f, 0.000960f, -0.020001f, 0.042329f, 0.012590f, 0.023221f, -0.019821f, 0.022226f, 0.017132f, 0.005678f, -0.025246f, -0.019666f, 0.040319f, -0.007384f, -0.037591f, -0.002585f, -0.043510f, -0.006302f, 0.012125f, -0.015633f, 0.000989f, -0.035548f, 0.016343f, 0.032174f, 0.017476f, -0.004774f, -0.017395f, -0.006542f, -0.004348f, -0.006077f, -0.016288f, -0.043674f, 0.029526f, 0.016543f, 0.015450f, 0.018432f, -0.024747f, 0.038456f, 0.004895f, -0.011676f, -0.008523f, -0.030752f, -0.013472f, 0.019838f, 0.012375f, 0.032873f, -0.003486f, -0.037772f, -0.066120f, -0.003969f, -0.000396f, 0.000188f, -0.023782f, -0.033427f, -0.006281f, 0.021990f, -0.011564f, -0.013578f, 0.008850f, -0.003067f, 0.033697f, -0.006728f, -0.029825f, -0.010798f, 0.031386f, 0.001903f, 0.006031f, -0.030567f, -0.010747f, -0.005853f, 0.012676f, 0.016199f, -0.007980f, 0.005562f, 0.001327f, 0.012099f, 0.008053f, -0.001348f, 0.005516f, 0.016246f, 0.004061f, -0.000403f, -0.005368f, 0.001728f, 0.010879f, -0.000486f, 0.005562f, 0.018588f, 0.002814f, -0.006557f, -0.013794f, -0.001646f, 0.010105f, - -0.009730f, 0.005185f, -0.004444f, -0.002911f, -0.006528f, -0.008280f, -0.006427f, 0.000175f, 0.011698f, 0.009257f, -0.012678f, -0.023055f, -0.006948f, 0.008652f, 0.002994f, 0.003138f, 0.070553f, 0.044499f, -0.006317f, -0.041094f, 0.008647f, 0.020490f, 0.011806f, 0.029945f, 0.044943f, -0.019832f, 0.003700f, -0.040170f, 0.011374f, 0.003316f, -0.015592f, 0.072389f, 0.027428f, 0.062462f, 0.025780f, 0.016115f, -0.054430f, 0.000844f, 0.030347f, 0.005538f, -0.028981f, 0.012253f, -0.044298f, -0.017286f, 0.003032f, 0.013353f, -0.013279f, -0.008604f, 0.009584f, 0.007835f, 0.003181f, 0.039224f, 0.024346f, 0.006462f, -0.015719f, 0.027018f, -0.017583f, -0.012603f, -0.025843f, -0.008588f, 0.033664f, -0.053204f, -0.000838f, 0.023893f, -0.026573f, -0.008338f, 0.010108f, 0.008993f, 0.049118f, -0.002820f, -0.000578f, -0.022923f, 0.048022f, -0.021389f, 0.006043f, 0.005059f, 0.033245f, -0.007745f, -0.012040f, 0.031686f, -0.053462f, 0.013946f, 0.005094f, -0.022133f, 0.042699f, -0.053384f, -0.006806f, -0.017833f, -0.035888f, -0.017924f, -0.003214f, 0.015225f, 0.033536f, 0.055384f, 0.026979f, 0.036607f, - 0.055690f, -0.022650f, 0.010238f, 0.014041f, -0.023844f, 0.032246f, 0.000606f, -0.042639f, 0.022349f, 0.011861f, -0.015661f, 0.001525f, 0.032913f, 0.024951f, 0.007310f, 0.019700f, 0.005809f, 0.006462f, 0.018050f, -0.003186f, 0.007650f, 0.016216f, -0.003984f, 0.003617f, -0.003006f, -0.000839f, 0.011353f, 0.002337f, 0.001164f, -0.009892f, -0.005987f, -0.006821f, -0.014158f, 0.003167f, -0.007844f, -0.022454f, 0.008601f, 0.013647f, -0.004727f, -0.000123f, 0.005993f, -0.007680f, -0.000335f, 0.023956f, -0.003675f, -0.006535f, -0.015137f, -0.068379f, 0.018946f, 0.003602f, 0.082586f, 0.018862f, 0.015526f, -0.002267f, 0.040280f, 0.010874f, -0.060541f, -0.009294f, 0.064773f, -0.019190f, -0.013639f, 0.005465f, -0.004479f, 0.001472f, -0.011794f, 0.067456f, 0.076740f, -0.041263f, 0.018629f, 0.020664f, 0.011221f, 0.021803f, -0.033776f, -0.046654f, 0.035913f, 0.009872f, -0.025805f, -0.044601f, -0.013390f, -0.015143f, 0.040803f, 0.033352f, 0.018719f, -0.037759f, 0.020771f, -0.016355f, 0.013244f, 0.002278f, 0.017531f, 0.038478f, 0.008856f, -0.085992f, -0.026353f, 0.015811f, -0.034452f, 0.010491f, - 0.036496f, 0.012278f, 0.063551f, -0.021011f, -0.095454f, -0.002189f, -0.038051f, 0.033233f, 0.028830f, -0.010393f, -0.020300f, 0.029518f, -0.045838f, -0.008162f, -0.024765f, 0.021672f, 0.029854f, 0.025516f, 0.027737f, -0.020652f, -0.038842f, -0.115606f, -0.055278f, -0.067266f, 0.010637f, -0.045581f, -0.022097f, -0.009260f, -0.050156f, 0.026919f, -0.090302f, 0.028151f, -0.064935f, -0.047031f, 0.046323f, 0.054741f, -0.016807f, -0.002194f, 0.029648f, 0.038604f, -0.052997f, 0.001178f, 0.008689f, -0.007598f, 0.009361f, 0.028522f, -0.003629f, 0.012628f, -0.002400f, 0.011162f, -0.023427f, -0.012259f, -0.010679f, -0.015399f, -0.003347f, 0.022389f, 0.009297f, 0.020159f, 0.000763f, -0.021262f, -0.019333f, 0.003398f, 0.011744f, -0.004375f, 0.012471f, 0.013036f, 0.031406f, 0.003112f, 0.010810f, 0.003447f, 0.007492f, -0.013798f, -0.004229f, 0.005780f, -0.011228f, 0.000604f, -0.005142f, 0.001355f, 0.005835f, 0.032827f, -0.003012f, -0.019432f, -0.021565f, 0.002163f, -0.001220f, -0.034288f, -0.020107f, 0.014196f, -0.022550f, -0.001111f, -0.000291f, -0.089430f, -0.013154f, 0.059552f, -0.070687f, 0.007137f, - 0.026434f, 0.000956f, 0.018540f, -0.005075f, -0.055994f, -0.004466f, 0.030542f, 0.010484f, 0.045493f, 0.031041f, -0.048028f, -0.051769f, -0.006895f, -0.022273f, -0.007373f, -0.085474f, 0.032061f, 0.034192f, 0.059963f, 0.027476f, 0.054580f, -0.023397f, 0.007501f, 0.056269f, -0.017706f, 0.061219f, 0.016996f, 0.032463f, 0.010916f, -0.015367f, 0.030176f, -0.036883f, 0.001808f, 0.077308f, -0.059893f, 0.005670f, -0.077903f, -0.034949f, -0.056027f, -0.037974f, -0.009820f, 0.004216f, -0.018428f, -0.059268f, -0.010751f, -0.098521f, 0.111353f, 0.039164f, 0.000625f, -0.015009f, -0.026963f, 0.006246f, -0.049062f, 0.009115f, -0.073503f, 0.001724f, 0.003695f, 0.016453f, 0.047023f, 0.067839f, 0.002286f, -0.113738f, -0.052323f, 0.048757f, -0.024867f, -0.022723f, -0.027611f, -0.015137f, 0.056073f, 0.011657f, -0.031596f, 0.023544f, -0.052769f, 0.009147f, -0.010063f, -0.023440f, -0.053279f, -0.030178f, 0.033571f, -0.016075f, -0.012977f, 0.018043f, -0.019879f, -0.006240f, 0.033400f, -0.039264f, -0.026679f, -0.011530f, -0.008282f, 0.041976f, 0.019503f, 0.011320f, 0.024771f, 0.009668f, -0.004251f, 0.019302f, - -0.000572f, 0.014132f, 0.020182f, 0.031561f, -0.012491f, -0.000377f, -0.003701f, 0.023231f, 0.035347f, 0.013036f, -0.008713f, -0.002700f, -0.010973f, -0.025930f, 0.045210f, -0.013471f, 0.023195f, -0.013570f, 0.006995f, -0.014418f, -0.010522f, 0.011436f, 0.020525f, -0.044356f, 0.031424f, 0.050877f, 0.018737f, -0.023238f, -0.030949f, 0.014833f, -0.039955f, 0.063240f, 0.052655f, 0.080149f, -0.057171f, -0.070389f, -0.017705f, -0.001602f, -0.035643f, 0.047149f, 0.057151f, -0.042261f, -0.000179f, -0.075371f, -0.022293f, -0.035677f, -0.068107f, 0.021567f, 0.056148f, 0.034082f, -0.044285f, -0.017102f, 0.005150f, 0.037925f, 0.005629f, -0.002657f, 0.014184f, -0.004181f, -0.019185f, -0.060901f, -0.041407f, 0.015843f, -0.005734f, -0.033068f, 0.035999f, 0.032182f, 0.020398f, -0.062308f, -0.056974f, 0.054017f, 0.032502f, 0.040204f, -0.040675f, -0.103881f, -0.019674f, 0.043997f, 0.043485f, -0.010464f, 0.105240f, -0.012875f, 0.105793f, -0.158865f, -0.197258f, -0.080813f, -0.118850f, 0.001631f, 0.046286f, 0.024631f, 0.128480f, -0.014350f, -0.008439f, 0.024199f, -0.025716f, -0.101126f, -0.090360f, -0.100251f, - 0.080312f, 0.066093f, -0.024928f, -0.006514f, -0.168182f, 0.047138f, -0.002256f, -0.074744f, 0.031082f, 0.048401f, 0.074220f, 0.058593f, 0.026859f, -0.004858f, -0.050041f, 0.001812f, 0.002373f, -0.013664f, -0.021598f, 0.059651f, 0.036462f, 0.023426f, 0.060365f, -0.046250f, 0.011019f, -0.012712f, -0.028991f, 0.038209f, -0.006066f, -0.065796f, -0.000569f, 0.021189f, -0.023836f, 0.031711f, -0.012713f, 0.008726f, -0.014740f, 0.073735f, 0.057207f, 0.068337f, -0.057445f, -0.012689f, 0.070325f, 0.052414f, -0.050067f, -0.030559f, -0.050428f, -0.029342f, 0.041002f, 0.047010f, -0.016501f, -0.004433f, 0.078431f, 0.003619f, 0.007210f, -0.010010f, 0.013953f, 0.013850f, 0.012874f, 0.022594f, -0.076190f, 0.066479f, 0.050865f, 0.020700f, 0.062941f, -0.037032f, 0.023299f, -0.104087f, -0.050074f, 0.027190f, 0.038553f, 0.017476f, 0.013582f, 0.012778f, 0.027070f, -0.012787f, 0.118450f, 0.010507f, 0.073832f, 0.020996f, -0.035349f, 0.089963f, -0.012078f, 0.035225f, 0.002060f, 0.032131f, -0.003220f, -0.002116f, 0.019982f, 0.045049f, 0.013368f, 0.032860f, 0.002510f, -0.006996f, 0.071339f, 0.007913f, - -0.014812f, 0.001038f, -0.005412f, -0.036007f, -0.010065f, 0.019851f, 0.013418f, -0.080473f, -0.019434f, 0.009950f, 0.018752f, 0.083752f, 0.068585f, -0.083208f, -0.045578f, 0.006665f, -0.018207f, 0.092246f, 0.009187f, 0.085068f, -0.059866f, 0.042732f, 0.008814f, 0.004545f, 0.039753f, 0.087434f, 0.057009f, 0.011513f, 0.077613f, 0.030264f, -0.036330f, -0.078289f, 0.068616f, -0.062471f, 0.041535f, -0.082212f, 0.000461f, -0.130274f, 0.135113f, -0.033570f, 0.004727f, -0.091271f, 0.082032f, -0.031980f, 0.025995f, -0.067012f, 0.079226f, -0.041446f, -0.037210f, -0.027246f, -0.049772f, 0.015324f, -0.027892f, 0.023464f, -0.025866f, 0.043231f, -0.048628f, 0.043316f, -0.051203f, 0.028065f, -0.059957f, 0.047776f, -0.020743f, 0.053046f, -0.018615f, 0.027750f, -0.022676f, 0.017873f, -0.025867f, 0.000840f, -0.028270f, 0.032174f, 0.013107f, 0.009050f, -0.011338f, 0.003035f, -0.022611f, 0.017274f, -0.023233f, 0.040625f, -0.033805f, -0.040210f, -0.018216f, 0.016175f, -0.047798f, 0.036758f, -0.011914f, 0.020174f, -0.013700f, 0.011473f, -0.022081f, 0.010234f, -0.011477f, 0.012269f, -0.003782f, -0.130310f, - -0.032561f, -0.010102f, 0.013741f, 0.011698f, -0.081110f, -0.047126f, 0.073301f, -0.028427f, 0.027039f, -0.032436f, 0.007166f, 0.092084f, 0.148425f, 0.010293f, -0.005285f, 0.074554f, 0.032480f, 0.030881f, 0.091892f, 0.002071f, 0.055624f, 0.067502f, 0.064775f, -0.025397f, 0.027986f, 0.058352f, 0.081190f, 0.066483f, 0.099856f, 0.056432f, 0.127522f, 0.135387f, 0.097779f, 0.107954f, 0.073501f, -0.008042f, 0.035962f, 0.019152f, -0.028023f, -0.027613f, 0.021141f, 0.063038f, 0.014270f, 0.002919f, -0.000460f, 0.031162f, 0.093695f, 0.072957f, 0.157423f, 0.031791f, -0.081943f, 0.032674f, 0.001435f, 0.033408f, -0.042188f, 0.062637f, -0.114432f, -0.147340f, 0.041005f, 0.148159f, 0.064250f, 0.029603f, -0.183876f, 0.001061f, 0.069573f, 0.110949f, 0.148786f, -0.063352f, 0.008965f, -0.256936f, -0.169675f, 0.068627f, 0.095961f, -0.143123f, -0.122386f, -0.076163f, 0.140164f, 0.093654f, -0.168350f, -0.217045f, -0.044248f, 0.088317f, -0.104210f, 0.049352f, -0.016316f, -0.037634f, -0.056520f, 0.007658f, 0.021837f, 0.036420f, -0.007008f, -0.089947f, -0.078181f, 0.009432f, -0.024729f, 0.037517f, - 0.004569f, -0.009527f, -0.034743f, -0.022835f, 0.013565f, -0.002254f, -0.075302f, -0.037862f, -0.057188f, -0.029532f, 0.009485f, -0.029145f, -0.021920f, -0.067211f, -0.089672f, -0.122814f, -0.123067f, -0.103645f, -0.088544f, -0.097244f, -0.097054f, -0.074014f, -0.102357f, -0.108092f, -0.092459f, -0.103895f, -0.067769f, -0.018505f, -0.060283f, -0.086915f, -0.058175f, 0.002128f, -0.032487f, -0.017797f, -0.021680f, 0.044142f, 0.046641f, 0.000865f, 0.020185f, 0.023790f, 0.012762f, 0.013132f, -0.001344f, 0.009937f, 0.006606f, -0.049979f, 0.124657f, 0.137316f, -0.154968f, -0.066215f, 0.061613f, -0.044979f, 0.031556f, -0.058545f, 0.053649f, -0.049781f, 0.013688f, -0.001418f, -0.021484f, 0.010570f, 0.004621f, -0.016233f, -0.009103f, -0.040085f, -0.008363f, 0.007078f, 0.006697f, -0.040832f, 0.039456f, -0.037581f, -0.010507f, -0.032789f, 0.005575f, -0.031456f, 0.063194f, -0.002892f, 0.018175f, -0.018076f, 0.018124f, -0.019128f, 0.019418f, 0.035770f, 0.052865f, -0.015461f, 0.019062f, 0.017103f, 0.046647f, -0.029594f, 0.030711f, -0.026594f, 0.055645f, -0.015933f, -0.028611f, 0.015667f, -0.011517f, -0.018035f, - 0.007991f, -0.006530f, 0.024922f, -0.014102f, -0.028814f, -0.031581f, 0.006469f, 0.003937f, -0.051533f, 0.014393f, -0.006481f, -0.007177f, 0.010984f, -0.016912f, -0.007327f, 0.003556f, -0.006768f, 0.005468f, -0.026956f, 0.031730f, -0.093593f, 0.048402f, -0.038902f, 0.061937f, -0.041053f, 0.055229f, 0.001047f, 0.029072f, 0.019803f, 0.023241f, 0.013395f, 0.002191f, 0.012797f, -0.004108f, -0.038346f, -0.010505f, 0.003731f, -0.018392f, -0.005706f, -0.010680f, -0.002387f, 0.000059f, -0.013334f, -0.003483f, 0.007742f, -0.003723f, -0.022985f, 0.024565f, -0.002386f, 0.012014f, -0.024520f, 0.010523f, -0.014288f, 0.008597f, -0.017002f, 0.019739f, -0.025880f, 0.037570f, -0.005251f, 0.003025f, -0.038928f, 0.026105f, 0.000456f, 0.018224f, -0.036727f, 0.007263f, -0.013812f, 0.003364f, -0.005378f, 0.000938f, -0.023086f, 0.009932f, -0.002424f, -0.018964f, 0.004524f, 0.028976f, -0.033217f, -0.000876f, -0.011059f, 0.015499f, -0.022159f, 0.020606f, -0.017002f, 0.002788f, -0.011089f, 0.014600f, -0.003164f, 0.005895f, -0.003775f, 0.006802f, -0.010237f, 0.003473f, -0.002113f, -0.008251f, 0.003285f, 0.001041f, - 0.002795f, -0.003670f, 0.009750f, -0.002627f, 0.002308f, -0.007480f, 0.013788f, -0.018405f, 0.006187f, -0.025270f, 0.118374f, 0.071784f, -0.039027f, -0.044895f, -0.003932f, 0.147082f, 0.061453f, 0.020624f, 0.040716f, -0.035665f, -0.045022f, 0.012547f, 0.028554f, 0.007449f, 0.002591f, -0.015662f, -0.012204f, 0.013840f, 0.014111f, 0.034242f, 0.015240f, -0.018461f, -0.008139f, -0.009128f, -0.018608f, -0.000207f, 0.003283f, 0.009121f, 0.011611f, 0.000355f, -0.004940f, 0.013666f, -0.039479f, -0.015004f, 0.017563f, 0.025182f, 0.031223f, -0.017576f, -0.010226f, -0.018686f, 0.031936f, 0.022092f, -0.006047f, 0.010146f, -0.036909f, -0.031943f, 0.029470f, 0.022918f, 0.007229f, -0.055938f, -0.028759f, 0.002295f, 0.009318f, 0.036812f, 0.026319f, -0.004138f, 0.010824f, 0.013075f, -0.017487f, 0.015982f, 0.017341f, -0.005135f, -0.010672f, 0.010300f, -0.018724f, 0.001747f, -0.003205f, -0.013144f, -0.020059f, 0.027822f, 0.005685f, 0.006156f, 0.038328f, 0.046624f, 0.016504f, 0.037729f, 0.035321f, -0.005588f, -0.009551f, -0.010634f, -0.006823f, 0.014720f, 0.024092f, -0.009371f, 0.007409f, -0.021655f, - -0.007879f, -0.001082f, 0.005135f, -0.011820f, -0.014107f, 0.014564f, 0.027885f, 0.012049f, 0.007727f, 0.011669f, -0.013421f, 0.001077f, 0.013262f, 0.002586f, -0.004181f, 0.003333f, -0.001378f, -0.016265f, 0.033067f, 0.010766f, -0.026479f, -0.025011f, 0.010050f, -0.004968f, 0.026073f, 0.013796f, -0.003348f, 0.009735f, 0.003339f, -0.005405f, -0.001216f, -0.007546f, 0.007632f, 0.011959f, 0.001846f, -0.003141f, -0.010370f, 0.008861f, -0.002065f, -0.042465f, -0.117106f, 0.040564f, 0.215367f, 0.169339f, 0.162175f, 0.051849f, -0.150729f, -0.090426f, -0.133615f, -0.134055f, -0.122150f, -0.042640f, 0.065922f, 0.084939f, 0.133634f, 0.119675f, 0.072119f, 0.012118f, 0.011818f, -0.057891f, -0.091491f, -0.131015f, -0.050326f, -0.035555f, 0.011851f, -0.007368f, 0.066586f, 0.044940f, 0.019190f, 0.088936f, 0.050014f, 0.038081f, -0.007671f, 0.033420f, -0.060282f, -0.045490f, -0.037549f, -0.043936f, -0.057818f, -0.034867f, -0.023010f, -0.058878f, -0.040655f, 0.015677f, 0.086785f, 0.083716f, 0.095152f, 0.074692f, 0.108779f, 0.018842f, 0.027939f, -0.072208f, -0.053386f, -0.045830f, -0.108289f, -0.107905f, - -0.096750f, -0.045744f, -0.056653f, 0.013353f, 0.042137f, 0.060555f, 0.121726f, 0.119517f, 0.114464f, 0.102641f, 0.089893f, 0.019224f, -0.052674f, -0.085932f, -0.153465f, -0.131889f, -0.096115f, -0.131088f, -0.060752f, -0.027331f, 0.005888f, 0.128722f, 0.100960f, 0.148066f, 0.146322f, 0.106880f, 0.030007f, -0.029477f, -0.043619f, -0.050640f, -0.045111f, -0.087078f, -0.107684f, -0.075247f, -0.051350f, -0.045425f, 0.005823f, 0.030341f, 0.048279f, 0.041570f, 0.086800f, 0.094856f, 0.071737f, 0.057053f, 0.009623f, -0.019976f, -0.040789f, -0.066815f, -0.057375f, -0.040699f, -0.064092f, -0.086891f, -0.009088f, 0.005116f, -0.014206f, 0.075015f, 0.099003f, 0.063385f, 0.055703f, 0.004245f, 0.015828f, -0.010195f, -0.017300f, -0.043139f, -0.050710f, -0.033251f, -0.037873f, 0.005534f, -0.015043f, 0.005038f, 0.000875f, 0.034270f, 0.018492f, 0.017777f, 0.032048f, 0.032750f, 0.000204f, -0.008360f, -0.023002f, -0.022891f, -0.006421f, -0.004967f, -0.010993f, -0.010766f, 0.002418f, 0.003138f, -0.002499f, 0.006000f, 0.006444f, 0.006217f, 0.002059f, 0.021662f, 0.008178f, 0.000235f, 0.003860f, 0.000070f, - -0.006743f, -0.005685f, -0.005704f, -0.003118f, -0.001942f, 0.000467f, -0.000715f}, - {-0.006247f, -0.007775f, -0.011480f, 0.003879f, -0.005610f, -0.011332f, -0.007258f, 0.005155f, -0.014317f, -0.007933f, -0.017510f, 0.006085f, 0.007822f, 0.009960f, 0.005430f, -0.006128f, 0.013263f, -0.009081f, 0.002677f, 0.000278f, -0.001911f, -0.009596f, -0.004918f, -0.010554f, 0.000409f, -0.004486f, 0.005906f, 0.003913f, -0.005040f, -0.001609f, -0.001155f, -0.009687f, -0.000409f, -0.002153f, 0.004300f, -0.000172f, 0.008757f, -0.003118f, 0.011081f, -0.004800f, 0.000136f, 0.001785f, -0.008103f, 0.005629f, -0.002492f, -0.003108f, 0.000907f, -0.002190f, 0.004234f, -0.016968f, 0.007852f, 0.010222f, 0.001417f, 0.005811f, 0.003097f, -0.007509f, -0.001068f, -0.008149f, 0.011048f, -0.002933f, -0.007024f, 0.006715f, -0.010306f, 0.000458f, 0.003837f, -0.011575f, 0.001258f, -0.002697f, -0.004550f, 0.004015f, 0.000725f, 0.001092f, -0.005633f, -0.003467f, -0.018791f, -0.002231f, 0.003862f, -0.002922f, 0.000728f, 0.002403f, 0.009746f, 0.008580f, 0.000313f, 0.002926f, 0.001008f, -0.001454f, -0.001575f, -0.002339f, -0.001520f, -0.000630f, -0.002097f, -0.001541f, -0.000272f, 0.001992f, 0.001005f, 0.001406f, - -0.003082f, 0.000184f, -0.000298f, -0.000614f, -0.000404f, 0.000890f, -0.000618f, 0.000304f, -0.001595f, -0.000897f, -0.001447f, 0.000151f, -0.001372f, 0.001943f, -0.026588f, -0.015937f, 0.002921f, -0.008598f, 0.001613f, -0.008871f, -0.015286f, -0.010132f, 0.017288f, 0.010105f, -0.002714f, 0.011757f, 0.002731f, 0.002910f, 0.003261f, -0.005656f, -0.001577f, 0.009562f, -0.007707f, 0.004358f, 0.006926f, -0.007412f, -0.011798f, 0.005422f, -0.009649f, 0.001100f, 0.005485f, 0.014160f, -0.003213f, -0.006783f, -0.005989f, 0.002232f, 0.007659f, -0.010408f, -0.000113f, 0.008622f, 0.003357f, 0.000938f, -0.000594f, -0.000770f, 0.011132f, -0.000391f, 0.010196f, 0.006753f, -0.002620f, 0.006729f, -0.002381f, -0.000573f, -0.001069f, -0.018623f, 0.006434f, 0.010584f, -0.006129f, -0.003442f, 0.002547f, 0.002908f, 0.002971f, 0.001686f, -0.001039f, -0.002214f, 0.000607f, -0.004655f, 0.012752f, -0.005690f, 0.001462f, 0.006979f, 0.005522f, -0.004528f, 0.005021f, 0.001636f, 0.003263f, 0.007050f, 0.006162f, -0.009227f, 0.009574f, 0.010677f, -0.003630f, 0.000223f, -0.000693f, 0.006989f, -0.008523f, -0.004380f, - 0.001848f, 0.001261f, 0.000308f, 0.000505f, -0.001826f, -0.002811f, 0.001695f, -0.001304f, -0.000744f, 0.000544f, 0.002423f, -0.001757f, -0.000438f, 0.000106f, -0.003346f, 0.001190f, -0.001988f, -0.001996f, -0.001613f, 0.001302f, 0.000172f, -0.000904f, -0.002001f, 0.000530f, -0.010436f, 0.013369f, 0.008894f, 0.020731f, -0.003370f, 0.002151f, 0.006460f, -0.010201f, -0.002014f, 0.003949f, -0.004097f, -0.013826f, -0.000735f, 0.001398f, 0.009303f, -0.011185f, -0.027040f, -0.021982f, -0.013410f, 0.005131f, 0.012970f, -0.013066f, 0.007375f, -0.006453f, 0.010036f, 0.007653f, 0.006824f, 0.011853f, 0.006722f, -0.009457f, -0.008578f, 0.001527f, 0.006454f, -0.000590f, 0.000610f, 0.016611f, -0.000068f, 0.002808f, 0.008381f, 0.008678f, 0.001517f, 0.000144f, 0.020719f, -0.001555f, -0.007704f, -0.002445f, 0.004748f, 0.005914f, -0.003955f, 0.010992f, 0.002229f, 0.005846f, -0.007900f, -0.007163f, -0.002667f, -0.004778f, 0.002736f, -0.003817f, 0.012140f, -0.014087f, -0.012423f, 0.014969f, -0.001545f, -0.000762f, -0.017513f, 0.005322f, -0.008477f, 0.009335f, -0.007270f, -0.019575f, -0.000862f, 0.009860f, - -0.008294f, 0.012783f, -0.007750f, 0.005807f, 0.012100f, -0.003566f, 0.005074f, 0.012003f, -0.000776f, -0.009131f, 0.000770f, 0.005780f, 0.002768f, -0.004507f, 0.008386f, 0.000391f, 0.004426f, 0.001494f, 0.001211f, 0.002997f, 0.000581f, -0.001440f, -0.000085f, 0.000260f, 0.001281f, -0.003562f, -0.001721f, -0.001949f, 0.003212f, 0.000198f, 0.003271f, 0.003218f, -0.003182f, 0.000583f, 0.000818f, -0.002031f, -0.001375f, -0.000858f, 0.000598f, -0.001870f, 0.000655f, 0.032323f, 0.007708f, 0.008566f, 0.003785f, -0.007473f, 0.015625f, -0.007426f, -0.004326f, 0.019713f, -0.001412f, 0.015841f, -0.001603f, -0.018255f, 0.006510f, -0.006234f, 0.020144f, 0.010502f, -0.001324f, -0.018030f, -0.012490f, 0.016538f, 0.019762f, -0.023041f, 0.011591f, 0.009153f, 0.006999f, -0.001564f, 0.002307f, 0.001856f, -0.001670f, 0.022696f, -0.000960f, -0.003961f, -0.006201f, -0.007695f, -0.009667f, -0.003274f, -0.000445f, -0.013177f, -0.004597f, 0.003360f, -0.009065f, 0.000446f, 0.000598f, 0.013556f, -0.005036f, 0.000364f, 0.006407f, 0.000475f, 0.013090f, 0.005815f, 0.013607f, 0.006632f, 0.004193f, -0.014377f, - 0.001575f, -0.010669f, -0.009848f, 0.002312f, 0.013873f, -0.000600f, 0.011924f, -0.005030f, -0.008896f, -0.002142f, 0.000636f, 0.003430f, 0.008207f, -0.003822f, -0.000009f, -0.004512f, 0.004612f, 0.003055f, -0.011611f, 0.002214f, 0.002486f, 0.001493f, -0.003225f, 0.012158f, -0.001236f, -0.002444f, 0.001368f, 0.005676f, 0.002575f, -0.004068f, -0.001241f, -0.001681f, -0.002881f, 0.002344f, -0.003456f, 0.005708f, -0.003423f, -0.000739f, 0.000753f, -0.002778f, -0.000731f, 0.003151f, -0.003723f, -0.000914f, -0.004013f, 0.001527f, 0.001745f, 0.003219f, -0.004390f, 0.000832f, -0.001771f, 0.002196f, -0.001472f, -0.005358f, -0.001666f, 0.009143f, 0.006401f, 0.007355f, 0.020834f, 0.010908f, -0.009044f, -0.008078f, -0.022426f, -0.001448f, -0.000497f, -0.011959f, 0.004552f, 0.018008f, 0.002185f, -0.014168f, 0.013172f, 0.012525f, -0.001299f, 0.005016f, 0.012688f, 0.003020f, -0.011514f, -0.001762f, 0.026878f, 0.013235f, 0.002789f, -0.017707f, -0.006333f, 0.016190f, 0.005575f, -0.002394f, 0.009118f, 0.008162f, 0.008539f, -0.000046f, 0.016693f, -0.000127f, -0.002122f, 0.004228f, -0.008268f, -0.010830f, - -0.000530f, 0.001864f, 0.006220f, 0.003434f, -0.010124f, 0.010332f, 0.018105f, 0.009313f, -0.000474f, 0.013461f, -0.015267f, 0.008754f, -0.009085f, 0.009616f, -0.002528f, -0.010968f, -0.000533f, -0.014298f, -0.023437f, -0.008529f, -0.009295f, -0.001106f, -0.000069f, -0.012246f, 0.002414f, -0.003736f, 0.007160f, 0.004744f, 0.008475f, -0.001304f, 0.003433f, -0.011786f, 0.002088f, 0.001919f, 0.016524f, -0.006323f, -0.000479f, -0.005676f, 0.003524f, 0.014876f, 0.007664f, -0.008560f, -0.013726f, 0.004406f, -0.005462f, -0.001836f, 0.007216f, -0.000959f, 0.002459f, 0.001742f, -0.008149f, 0.000450f, -0.006204f, 0.001839f, -0.005889f, -0.003942f, -0.002108f, -0.000186f, -0.000741f, 0.001148f, -0.003746f, -0.000328f, -0.001219f, -0.002968f, -0.002498f, 0.000986f, -0.000600f, -0.001501f, 0.000477f, 0.001486f, 0.004633f, -0.001537f, 0.002743f, -0.001894f, -0.004516f, 0.003488f, -0.004946f, 0.004916f, -0.000373f, -0.003156f, -0.000465f, -0.021940f, -0.014547f, 0.031098f, -0.006822f, -0.006793f, 0.001804f, -0.001064f, 0.033295f, -0.009713f, -0.017994f, 0.000465f, -0.017751f, 0.004447f, 0.014124f, 0.015230f, - 0.004790f, -0.030895f, 0.025402f, -0.019982f, 0.010615f, -0.013652f, -0.010412f, -0.007631f, 0.012677f, 0.013673f, -0.020474f, 0.001646f, 0.008923f, -0.006324f, 0.004085f, 0.006032f, -0.007408f, 0.000972f, -0.016863f, -0.011299f, -0.026021f, 0.015428f, -0.003649f, 0.026246f, -0.012225f, 0.005716f, 0.017500f, -0.004350f, -0.005209f, -0.007727f, 0.020060f, 0.014676f, -0.024647f, 0.007054f, -0.013943f, -0.004655f, -0.005419f, -0.013815f, 0.008307f, 0.004432f, 0.021695f, 0.015296f, -0.027262f, -0.004445f, -0.011712f, 0.015947f, 0.005539f, 0.001392f, -0.015908f, 0.002404f, -0.001676f, 0.013405f, -0.002239f, 0.001697f, -0.018294f, -0.000397f, 0.012986f, -0.011958f, 0.002009f, -0.003760f, -0.003572f, -0.009661f, 0.001946f, -0.001255f, 0.023024f, 0.010172f, 0.010530f, -0.004198f, -0.002573f, -0.003984f, -0.006273f, -0.003349f, 0.005137f, -0.007031f, -0.002242f, -0.006897f, 0.005227f, 0.004403f, -0.003759f, -0.002102f, 0.004861f, -0.006495f, 0.003229f, 0.001003f, -0.001748f, -0.002056f, 0.001748f, -0.000170f, -0.000588f, -0.001238f, 0.004253f, -0.006269f, 0.000839f, 0.000574f, 0.003186f, 0.003448f, - 0.003449f, -0.003180f, 0.000950f, -0.002243f, 0.004607f, 0.001078f, 0.003378f, 0.007565f, -0.008340f, 0.000554f, -0.017599f, -0.002222f, -0.020311f, 0.003159f, -0.005084f, 0.011642f, -0.000817f, 0.009873f, -0.013915f, -0.026228f, 0.005563f, 0.017606f, 0.002304f, -0.002153f, 0.013751f, 0.009227f, -0.021431f, -0.000373f, -0.008081f, 0.027098f, -0.001209f, 0.003128f, 0.002128f, 0.000245f, -0.000853f, -0.009767f, 0.021495f, -0.001862f, -0.030482f, -0.005759f, 0.018464f, -0.011938f, 0.003074f, -0.000525f, 0.002462f, -0.003857f, 0.002934f, -0.005650f, 0.007276f, -0.011734f, 0.011000f, 0.015399f, -0.012118f, -0.003135f, -0.007178f, -0.021272f, 0.008485f, -0.015119f, 0.013102f, -0.013297f, -0.022915f, -0.006313f, 0.013597f, -0.004309f, -0.008196f, 0.009040f, 0.012571f, 0.007140f, 0.013778f, 0.023537f, 0.018991f, -0.001289f, 0.003682f, 0.003153f, -0.012681f, 0.002347f, -0.013260f, -0.014497f, 0.007853f, -0.011077f, 0.003560f, -0.000726f, 0.008278f, 0.008358f, -0.010972f, 0.012644f, -0.003505f, -0.005297f, -0.002371f, 0.008865f, -0.001670f, -0.008346f, -0.005659f, -0.011786f, 0.013348f, -0.006801f, - -0.001785f, 0.002215f, -0.000583f, -0.005049f, -0.004249f, 0.000804f, 0.001741f, 0.000488f, -0.002370f, 0.002989f, 0.002240f, -0.002733f, 0.000208f, 0.001883f, 0.001183f, -0.001710f, -0.000073f, -0.002261f, 0.000805f, -0.003715f, -0.003353f, 0.001924f, 0.000995f, 0.004334f, 0.004835f, 0.000297f, 0.003314f, -0.000079f, -0.030131f, -0.024908f, 0.014462f, 0.027025f, -0.000144f, -0.001388f, 0.004979f, -0.012698f, -0.006390f, -0.030802f, -0.016645f, -0.008580f, -0.000429f, -0.022345f, 0.032118f, 0.006620f, 0.017812f, -0.020350f, -0.024672f, -0.018241f, -0.007328f, 0.005125f, -0.027988f, -0.012252f, 0.012752f, -0.005305f, -0.034012f, -0.011267f, 0.004417f, 0.000581f, 0.020861f, 0.007289f, -0.006748f, -0.015834f, 0.019837f, -0.011371f, -0.001314f, 0.015291f, 0.004311f, -0.016170f, -0.008566f, -0.001041f, -0.027558f, 0.007138f, 0.021177f, -0.009044f, -0.011906f, 0.003348f, -0.014012f, -0.004884f, 0.002623f, -0.008602f, -0.006892f, 0.007470f, -0.010473f, -0.021623f, 0.010687f, -0.012224f, -0.016433f, -0.022160f, -0.011322f, 0.002485f, -0.009065f, 0.003979f, 0.027454f, 0.015827f, -0.003462f, 0.026537f, - 0.026586f, -0.011294f, 0.003615f, 0.007678f, -0.013922f, -0.008707f, -0.029376f, 0.003289f, -0.009467f, -0.023405f, -0.000321f, 0.012746f, 0.021958f, 0.013843f, 0.006396f, 0.002743f, -0.019974f, -0.002210f, -0.004607f, 0.005505f, -0.007591f, -0.000580f, 0.000409f, 0.000008f, 0.004740f, 0.001226f, -0.001853f, 0.004575f, -0.001816f, -0.005972f, 0.005009f, -0.003901f, -0.005668f, 0.001164f, 0.002035f, 0.002198f, 0.000417f, 0.006425f, -0.000649f, 0.004227f, 0.002269f, 0.000784f, 0.001215f, 0.000285f, -0.004769f, 0.001394f, -0.006547f, 0.001843f, -0.010447f, -0.002270f, -0.000466f, -0.006550f, -0.008182f, -0.000739f, -0.008086f, -0.001169f, -0.001721f, -0.018973f, 0.048496f, -0.001809f, 0.029698f, -0.014887f, -0.042641f, 0.012258f, 0.003586f, -0.001574f, -0.020030f, -0.001847f, -0.013218f, 0.033813f, 0.024613f, 0.022166f, 0.016056f, -0.026322f, -0.000229f, 0.003738f, 0.023393f, -0.040015f, -0.004625f, -0.009715f, -0.011797f, 0.006132f, -0.013290f, 0.005257f, 0.008864f, 0.006750f, 0.007069f, 0.009406f, -0.002863f, -0.003841f, -0.019584f, -0.004540f, -0.003053f, 0.019270f, -0.000075f, -0.017432f, - -0.004199f, 0.020960f, -0.002502f, 0.012241f, 0.015515f, -0.011191f, -0.006762f, -0.025734f, -0.015096f, 0.050693f, 0.013250f, 0.022622f, 0.012023f, 0.003044f, 0.001829f, -0.031943f, 0.018927f, 0.003118f, 0.005505f, 0.016479f, 0.017778f, 0.027906f, -0.032062f, -0.013097f, -0.017824f, -0.002129f, 0.004367f, -0.004111f, -0.009036f, -0.005136f, -0.026898f, -0.033605f, -0.021966f, -0.031488f, -0.004169f, -0.020541f, -0.035449f, -0.014843f, 0.011434f, 0.019495f, -0.007434f, -0.030148f, -0.001137f, -0.004458f, 0.007108f, -0.008209f, 0.001889f, 0.017506f, 0.000744f, -0.001168f, -0.001135f, 0.002323f, 0.003007f, -0.005032f, -0.004675f, -0.012054f, -0.013682f, 0.007368f, -0.003790f, 0.006604f, 0.005832f, -0.002114f, 0.003959f, 0.005463f, 0.009755f, 0.007053f, -0.004302f, 0.002254f, 0.012446f, 0.002504f, -0.012664f, -0.010344f, -0.005738f, -0.002542f, 0.000917f, -0.004349f, 0.007198f, 0.008066f, -0.001948f, 0.012124f, 0.001559f, -0.003272f, -0.002607f, 0.002880f, 0.065267f, 0.014766f, -0.009418f, -0.013555f, 0.002097f, -0.020958f, -0.040931f, 0.030116f, 0.000131f, 0.019377f, -0.014664f, 0.014013f, - 0.033501f, -0.003331f, 0.003733f, -0.008456f, 0.029155f, 0.024534f, 0.009518f, -0.039537f, 0.002848f, 0.005792f, 0.024408f, 0.035517f, -0.010509f, -0.007301f, -0.004719f, 0.009502f, 0.012670f, 0.010522f, -0.017998f, 0.008182f, -0.020745f, 0.015816f, 0.021133f, -0.010152f, -0.020987f, 0.013191f, -0.022836f, -0.020905f, -0.000912f, 0.006013f, 0.029671f, 0.003539f, -0.004113f, 0.025262f, -0.004740f, 0.022683f, 0.041966f, 0.021003f, 0.000429f, -0.026736f, -0.002591f, -0.015428f, -0.012511f, 0.026780f, 0.010430f, -0.027120f, -0.000377f, -0.020751f, -0.005307f, 0.035516f, 0.016302f, 0.005116f, 0.015168f, 0.021359f, 0.011041f, -0.028770f, 0.014715f, 0.023862f, 0.008131f, -0.019690f, 0.008006f, 0.002192f, 0.004022f, -0.015431f, 0.023582f, -0.006604f, -0.005776f, 0.028367f, 0.030073f, 0.004355f, 0.008491f, 0.032698f, 0.001833f, 0.016093f, -0.011599f, -0.000451f, 0.018790f, 0.010842f, -0.008470f, 0.009647f, 0.016945f, -0.004723f, 0.000030f, 0.021628f, 0.004380f, 0.009145f, -0.006545f, -0.010974f, -0.003411f, 0.005958f, 0.003043f, 0.004892f, 0.005020f, -0.003666f, -0.003517f, -0.002936f, - 0.001555f, 0.006403f, 0.007752f, -0.005400f, -0.001715f, 0.013431f, 0.001861f, 0.018045f, -0.003393f, 0.004830f, -0.002593f, 0.002210f, 0.008051f, 0.004878f, 0.000534f, -0.000243f, -0.007821f, -0.005516f, -0.004021f, -0.008343f, 0.010422f, 0.009512f, -0.015926f, -0.000738f, -0.020322f, -0.047591f, 0.016409f, -0.018911f, 0.005219f, 0.001768f, 0.033360f, -0.022933f, -0.020405f, -0.008464f, -0.009359f, -0.012211f, 0.024640f, -0.021774f, -0.030912f, 0.009332f, -0.057731f, 0.001797f, -0.010897f, -0.024296f, 0.031011f, -0.001875f, -0.001857f, 0.013177f, -0.012319f, 0.009937f, -0.003134f, -0.034334f, -0.037627f, -0.000247f, 0.007939f, 0.022183f, 0.010651f, -0.002374f, -0.003961f, -0.021530f, -0.010255f, 0.021905f, -0.034015f, 0.047103f, 0.027907f, 0.006429f, 0.034747f, -0.023019f, -0.009899f, -0.021057f, -0.021663f, -0.009218f, 0.015897f, 0.044509f, 0.000443f, -0.022735f, -0.003804f, 0.002338f, -0.002419f, -0.002192f, -0.014023f, 0.012141f, 0.011053f, 0.030080f, -0.000474f, 0.033990f, 0.017501f, 0.009483f, -0.000758f, 0.007409f, -0.050389f, 0.026824f, -0.006323f, -0.029336f, 0.021188f, 0.000183f, - 0.027864f, 0.012528f, -0.046660f, 0.036517f, 0.028469f, -0.024259f, 0.039542f, 0.015391f, 0.029584f, 0.011900f, -0.003942f, -0.001408f, -0.001076f, -0.005278f, -0.010135f, -0.002919f, 0.004536f, -0.010065f, -0.015491f, 0.000392f, -0.010029f, -0.018170f, -0.010791f, -0.013542f, 0.008971f, -0.008220f, 0.010992f, 0.003144f, 0.011223f, 0.005465f, -0.000950f, -0.005600f, 0.002163f, 0.001328f, -0.000546f, 0.001818f, -0.002946f, -0.007356f, 0.004006f, -0.000404f, 0.004835f, 0.005168f, 0.000554f, 0.004420f, 0.002290f, 0.007405f, 0.006486f, -0.010782f, -0.006250f, -0.018031f, -0.013659f, -0.088952f, -0.007257f, 0.053165f, -0.010120f, 0.001848f, 0.045818f, -0.010453f, 0.000149f, 0.005920f, 0.011934f, -0.013619f, 0.011906f, -0.004502f, -0.015818f, 0.015173f, 0.017162f, -0.051865f, 0.005763f, -0.046126f, -0.001658f, -0.023761f, -0.026618f, -0.005469f, -0.008282f, -0.025181f, 0.012356f, 0.004495f, 0.015690f, 0.022236f, -0.032050f, 0.040106f, 0.002348f, -0.036965f, 0.002658f, -0.025425f, -0.013398f, -0.027367f, -0.025595f, -0.010567f, 0.025989f, -0.022430f, 0.012168f, 0.027030f, -0.016429f, -0.028183f, - -0.026700f, -0.038216f, -0.041977f, -0.024088f, -0.012249f, 0.003567f, -0.006702f, 0.011785f, 0.007456f, -0.024308f, -0.002223f, 0.028059f, 0.015501f, -0.040619f, 0.015662f, -0.002771f, -0.011831f, -0.037606f, 0.025198f, -0.013269f, 0.034938f, 0.045076f, 0.000748f, 0.042893f, -0.023834f, 0.025029f, -0.018851f, 0.026891f, 0.033355f, 0.003291f, -0.044896f, -0.001009f, -0.061115f, 0.020021f, 0.012714f, 0.024473f, 0.011007f, -0.023406f, -0.021107f, -0.000005f, -0.014299f, 0.014116f, -0.015434f, -0.000114f, -0.001368f, -0.014515f, -0.012121f, 0.010665f, -0.006286f, -0.016462f, -0.002047f, 0.005690f, 0.012145f, 0.007191f, 0.026857f, -0.002385f, 0.001858f, -0.007671f, 0.018705f, -0.002245f, -0.004595f, 0.017273f, -0.001371f, 0.002996f, 0.003551f, 0.023137f, -0.004088f, -0.008714f, 0.001901f, 0.016149f, 0.014332f, -0.014368f, -0.001896f, 0.010859f, -0.017693f, 0.010175f, -0.003233f, 0.012895f, 0.000281f, -0.014111f, -0.042051f, 0.033908f, -0.080572f, -0.005206f, -0.007363f, -0.007178f, 0.007852f, -0.046897f, 0.003585f, -0.009593f, -0.003651f, 0.020769f, 0.008659f, 0.024231f, -0.018766f, 0.017009f, - -0.008810f, -0.041744f, -0.016351f, -0.030770f, -0.018568f, 0.019509f, -0.035787f, 0.004244f, -0.013097f, -0.027787f, -0.004621f, 0.026212f, -0.035598f, -0.034966f, 0.014353f, 0.020220f, -0.000929f, -0.016811f, 0.019552f, 0.019921f, 0.025223f, 0.021039f, 0.009140f, 0.028983f, 0.035159f, -0.019301f, 0.005434f, -0.017090f, 0.044045f, -0.004095f, -0.030169f, 0.036037f, 0.016219f, 0.008239f, -0.017216f, -0.023645f, 0.005548f, 0.013358f, 0.014153f, -0.001813f, -0.018959f, 0.013926f, -0.022108f, 0.000039f, -0.021823f, 0.067145f, 0.010570f, -0.020098f, 0.055751f, -0.007443f, 0.017119f, -0.015063f, 0.028036f, 0.040906f, -0.025738f, 0.039037f, 0.042200f, 0.054336f, 0.042304f, 0.003260f, 0.031424f, -0.025286f, -0.004813f, 0.005196f, -0.013597f, 0.023566f, 0.001114f, -0.002303f, -0.002412f, -0.007824f, 0.011839f, 0.005212f, 0.033332f, -0.011711f, 0.012304f, -0.008129f, 0.000188f, 0.005473f, 0.009799f, -0.014875f, 0.005141f, 0.013116f, -0.006112f, -0.016625f, -0.003122f, -0.026170f, 0.008685f, 0.006996f, 0.006782f, -0.007573f, 0.004102f, 0.012361f, 0.007396f, -0.004147f, 0.012646f, 0.004774f, - -0.008421f, -0.005204f, -0.002786f, 0.019852f, 0.026985f, 0.013425f, 0.006126f, 0.003851f, 0.009132f, 0.015066f, -0.010933f, -0.005405f, 0.007123f, -0.002785f, 0.001315f, 0.006327f, 0.083275f, 0.021943f, -0.014362f, -0.011992f, 0.019234f, 0.005773f, 0.008114f, -0.001760f, -0.033488f, 0.028269f, -0.076265f, 0.008626f, 0.016572f, -0.003065f, -0.014061f, -0.028876f, -0.013555f, 0.003806f, 0.022421f, 0.034843f, -0.020585f, -0.043991f, -0.035977f, -0.004770f, 0.001162f, -0.025802f, 0.053559f, -0.024741f, -0.016574f, 0.022497f, -0.007713f, 0.004307f, -0.004981f, 0.046413f, 0.007530f, -0.045905f, 0.018145f, 0.006172f, 0.031819f, -0.011108f, 0.003296f, -0.018805f, 0.015721f, 0.007352f, 0.040155f, -0.009519f, 0.018027f, 0.019436f, -0.024547f, -0.026569f, 0.001741f, 0.024788f, -0.047642f, -0.055841f, -0.016698f, -0.022758f, -0.003208f, -0.007845f, 0.005409f, 0.013030f, -0.011560f, 0.002221f, -0.065008f, -0.054774f, 0.043617f, 0.046813f, -0.056333f, -0.042869f, -0.054225f, -0.028003f, -0.022558f, 0.028295f, -0.029686f, -0.051834f, 0.001349f, 0.002524f, -0.032064f, -0.006520f, 0.045208f, -0.006580f, - 0.002342f, 0.014857f, -0.000646f, 0.002851f, -0.002182f, -0.015822f, -0.020115f, -0.000833f, -0.005838f, 0.013295f, -0.002282f, -0.001031f, -0.014611f, 0.007455f, -0.022505f, -0.000317f, 0.006647f, 0.007611f, 0.010561f, 0.012353f, 0.002083f, 0.007073f, -0.005143f, 0.001327f, -0.011542f, 0.004302f, 0.000972f, -0.012680f, 0.012990f, 0.013303f, -0.020828f, 0.001412f, 0.014908f, 0.012579f, 0.023135f, -0.004720f, -0.027261f, 0.007631f, 0.008680f, -0.013282f, 0.008429f, -0.014812f, -0.007181f, -0.002253f, -0.004883f, -0.012603f, 0.004422f, -0.046453f, -0.005653f, -0.011253f, 0.013988f, -0.022013f, -0.005972f, -0.072230f, 0.063962f, 0.041076f, -0.006924f, 0.087677f, -0.008594f, -0.048114f, -0.004414f, 0.019666f, -0.029710f, -0.039248f, -0.008225f, -0.026800f, -0.001240f, 0.007432f, -0.040280f, 0.059117f, 0.001993f, 0.006332f, -0.037160f, -0.010751f, 0.004029f, -0.010663f, 0.009506f, 0.013433f, 0.048638f, 0.008670f, -0.002466f, 0.039248f, 0.032436f, -0.011531f, 0.019137f, -0.024863f, 0.007018f, 0.021932f, 0.021386f, 0.054921f, -0.054333f, 0.033353f, 0.100826f, 0.000681f, 0.016566f, 0.034438f, - 0.003957f, 0.006802f, 0.016301f, 0.012494f, -0.033678f, -0.040216f, -0.014588f, 0.032227f, 0.009638f, -0.041794f, -0.022595f, -0.001899f, -0.020035f, 0.037030f, 0.003415f, 0.028579f, -0.063640f, -0.039509f, 0.018566f, 0.043573f, 0.026746f, 0.017502f, 0.060526f, 0.035263f, -0.025415f, 0.041597f, -0.031411f, -0.006495f, -0.004515f, 0.023336f, -0.004938f, -0.026123f, 0.022596f, 0.009723f, 0.002161f, -0.029952f, 0.020666f, -0.000581f, 0.000401f, -0.013447f, 0.017416f, -0.014349f, -0.011473f, -0.011041f, 0.008300f, -0.011521f, -0.021859f, 0.007178f, 0.001533f, -0.000315f, -0.011899f, -0.002482f, -0.014901f, -0.012931f, -0.011919f, -0.007697f, -0.004602f, -0.005787f, -0.004539f, 0.001914f, 0.000422f, -0.028425f, 0.018960f, 0.007265f, -0.008927f, -0.021097f, -0.029758f, -0.000943f, -0.016213f, -0.011148f, 0.010742f, -0.008077f, 0.018428f, 0.008955f, -0.006506f, 0.002974f, 0.017234f, -0.007999f, -0.002878f, -0.008535f, 0.014521f, 0.003174f, 0.006027f, -0.014970f, 0.029312f, -0.083496f, 0.001256f, -0.000054f, -0.003227f, -0.010156f, 0.038701f, 0.003599f, -0.023119f, -0.041634f, 0.042103f, -0.037393f, - 0.000441f, 0.027834f, 0.021481f, -0.029315f, -0.008518f, -0.047493f, -0.000759f, 0.014144f, 0.016176f, 0.019816f, 0.004555f, -0.030804f, -0.039459f, 0.032394f, 0.015967f, 0.016323f, 0.005714f, 0.016594f, 0.004304f, 0.023940f, -0.042523f, -0.070656f, 0.019132f, -0.010368f, -0.015691f, 0.039970f, -0.007515f, -0.020777f, 0.034455f, 0.033377f, 0.026861f, -0.002200f, -0.018446f, -0.030227f, -0.008483f, -0.040090f, 0.094396f, -0.007785f, 0.033608f, 0.007653f, -0.032148f, 0.026207f, -0.012675f, -0.029938f, 0.029061f, 0.023854f, -0.052872f, 0.036733f, -0.006196f, 0.050836f, -0.051761f, -0.038301f, 0.050930f, -0.001826f, -0.042393f, 0.042929f, -0.016298f, 0.073123f, -0.031581f, -0.024753f, -0.044643f, 0.028207f, 0.004500f, -0.035510f, 0.013600f, -0.046238f, -0.034637f, 0.003337f, 0.029480f, -0.026406f, -0.017019f, -0.052563f, -0.048587f, 0.056483f, -0.007191f, 0.024775f, 0.038723f, 0.053607f, -0.000459f, -0.005111f, -0.004860f, 0.014372f, 0.020682f, 0.004288f, 0.009089f, 0.033128f, 0.013646f, 0.018392f, 0.009988f, 0.008537f, -0.007186f, -0.002742f, 0.019439f, 0.015697f, 0.025707f, -0.012224f, - 0.016673f, 0.018740f, -0.029695f, 0.007690f, 0.006474f, -0.015433f, -0.008863f, 0.000277f, 0.006461f, -0.012478f, 0.020002f, 0.001472f, -0.005649f, -0.005619f, 0.016830f, 0.000995f, 0.004656f, 0.001940f, 0.004088f, 0.004337f, -0.017064f, -0.007723f, 0.011474f, -0.010244f, -0.024101f, 0.062353f, -0.014261f, 0.042248f, -0.066026f, -0.011536f, -0.001573f, -0.078673f, -0.017351f, 0.011466f, 0.038648f, -0.019309f, -0.018498f, 0.001788f, -0.006102f, 0.055349f, -0.005285f, -0.027708f, 0.058600f, -0.007186f, -0.003033f, 0.011153f, -0.023417f, 0.050758f, 0.003356f, -0.010234f, 0.024285f, 0.020904f, -0.027624f, -0.009360f, -0.012798f, 0.039571f, -0.078808f, -0.001219f, -0.015244f, -0.027692f, 0.013557f, -0.028152f, 0.045971f, -0.011888f, -0.056747f, -0.005738f, 0.086408f, -0.052198f, 0.037917f, -0.058207f, -0.016709f, 0.058315f, 0.042589f, -0.031162f, 0.014865f, -0.038040f, -0.050137f, 0.010914f, -0.021970f, 0.022133f, 0.006475f, -0.003286f, 0.008706f, -0.073386f, -0.028627f, -0.037289f, -0.053642f, 0.025252f, -0.020248f, -0.014728f, -0.029647f, -0.052045f, -0.043783f, 0.034733f, -0.006669f, 0.107763f, - 0.019074f, 0.010210f, 0.038622f, 0.067890f, 0.009095f, -0.048470f, 0.059570f, 0.045187f, -0.037658f, 0.010348f, -0.009333f, -0.037466f, -0.029485f, -0.025209f, -0.002631f, -0.022979f, 0.009069f, 0.016160f, 0.005837f, -0.017819f, 0.031895f, 0.005266f, 0.014912f, -0.003972f, -0.005181f, 0.015317f, 0.009503f, -0.014769f, -0.013259f, -0.012710f, 0.014855f, 0.007281f, 0.017886f, 0.018946f, 0.001100f, -0.009569f, 0.014486f, -0.007641f, 0.030637f, 0.014730f, -0.035896f, -0.006762f, -0.026358f, 0.003659f, -0.008342f, -0.012521f, 0.038300f, -0.001598f, -0.011341f, 0.010133f, 0.012335f, -0.013348f, -0.002332f, -0.018521f, 0.008901f, 0.014170f, -0.002168f, -0.005527f, 0.018093f, 0.041343f, -0.024290f, -0.032082f, 0.035970f, -0.056875f, -0.006165f, -0.012055f, 0.003786f, 0.039341f, -0.025568f, 0.043707f, 0.019368f, 0.009616f, 0.013644f, -0.072436f, 0.049392f, 0.008727f, -0.050192f, 0.019422f, -0.053268f, 0.008762f, 0.072559f, -0.009348f, -0.042219f, -0.045822f, 0.019850f, 0.032353f, 0.026905f, 0.013703f, -0.047098f, -0.032963f, -0.014277f, -0.009220f, 0.062043f, -0.039373f, -0.022944f, 0.091331f, - -0.050513f, -0.004296f, 0.036797f, -0.000186f, 0.038738f, -0.005945f, -0.030443f, -0.021048f, -0.055687f, 0.028321f, 0.040354f, -0.060217f, 0.089970f, 0.029481f, -0.067090f, -0.061914f, -0.058299f, -0.070699f, -0.056498f, 0.002624f, 0.028538f, 0.005222f, -0.047013f, -0.018249f, 0.032073f, -0.001143f, -0.029306f, 0.032413f, -0.063437f, 0.003785f, -0.014300f, -0.059290f, -0.054690f, 0.009273f, -0.021531f, 0.041392f, -0.075996f, -0.010538f, -0.026680f, -0.056187f, 0.004191f, 0.089792f, 0.023456f, -0.040102f, 0.019711f, -0.049312f, 0.020260f, -0.020178f, 0.002078f, 0.002450f, 0.025834f, -0.002973f, 0.009052f, 0.031851f, 0.000662f, -0.018010f, -0.007864f, 0.025496f, 0.018526f, 0.011624f, 0.006600f, -0.050757f, -0.004844f, 0.003608f, 0.028600f, 0.013942f, -0.025910f, -0.000701f, 0.003278f, 0.043947f, 0.002734f, 0.013982f, -0.013388f, -0.008889f, 0.006766f, 0.014221f, -0.001568f, -0.013215f, -0.024544f, 0.003461f, -0.009163f, -0.017306f, 0.008661f, -0.012120f, -0.012035f, 0.016934f, -0.013532f, -0.019927f, -0.027164f, -0.024334f, -0.004299f, 0.006981f, 0.000255f, -0.021169f, 0.043746f, -0.109513f, - -0.101285f, -0.087786f, -0.056741f, 0.022960f, -0.023980f, 0.112927f, 0.029811f, -0.012034f, -0.025908f, -0.014244f, 0.031946f, -0.073419f, 0.085967f, 0.113791f, 0.045199f, -0.006833f, 0.089909f, -0.028497f, 0.054362f, 0.103432f, -0.018903f, 0.005757f, 0.019335f, 0.137643f, -0.034925f, -0.008618f, 0.081732f, 0.031093f, 0.026253f, -0.022472f, -0.083891f, 0.005869f, -0.066496f, 0.031802f, -0.082388f, -0.096348f, -0.001189f, -0.005426f, -0.067366f, -0.003468f, -0.032782f, -0.068915f, -0.055196f, -0.089948f, -0.004324f, 0.092032f, -0.029363f, -0.017494f, -0.084786f, -0.045300f, -0.031249f, -0.028962f, 0.028648f, -0.020647f, 0.153006f, -0.036093f, -0.002156f, -0.055742f, 0.115468f, 0.095049f, -0.067152f, 0.077334f, -0.027036f, -0.112037f, -0.020094f, -0.010614f, 0.023579f, -0.025903f, -0.025508f, -0.013911f, -0.045534f, 0.013372f, 0.056271f, -0.066332f, -0.009493f, 0.019496f, 0.011645f, -0.077044f, 0.050267f, 0.035772f, 0.116041f, -0.049138f, 0.031843f, 0.049372f, -0.002901f, 0.013928f, -0.001486f, 0.017446f, -0.012848f, 0.038236f, 0.015991f, 0.031155f, 0.026076f, 0.003050f, 0.026864f, 0.009314f, - -0.009938f, 0.029238f, -0.001590f, 0.005837f, 0.003198f, 0.020841f, 0.014671f, -0.019585f, -0.016132f, -0.025134f, 0.040460f, -0.025935f, 0.006186f, 0.026102f, 0.010624f, 0.046263f, 0.038717f, 0.068308f, 0.045955f, 0.039532f, 0.002893f, 0.026643f, -0.034777f, 0.033969f, 0.024403f, -0.006079f, -0.033366f, -0.061657f, -0.024393f, 0.020421f, -0.034965f, -0.011230f, -0.025234f, -0.060131f, -0.053451f, -0.023358f, -0.039613f, -0.021702f, -0.033978f, -0.041695f, -0.045977f, -0.012111f, -0.012714f, -0.018357f, -0.033488f, -0.033767f, 0.045531f, 0.195491f, 0.021919f, -0.121142f, -0.031034f, -0.042244f, 0.008650f, 0.061680f, 0.108528f, 0.032157f, -0.092328f, -0.000793f, 0.062816f, 0.014770f, 0.000785f, -0.001847f, 0.015986f, -0.007743f, -0.011686f, 0.076451f, 0.046744f, 0.043180f, -0.064610f, -0.040531f, 0.043167f, 0.017966f, 0.025321f, -0.021142f, 0.007616f, 0.085148f, 0.001586f, 0.072384f, 0.037078f, 0.040019f, 0.069294f, 0.011253f, -0.037289f, 0.009733f, -0.042631f, 0.011811f, 0.029215f, 0.008698f, 0.113631f, -0.036802f, -0.073638f, -0.069547f, 0.087757f, 0.041800f, 0.046674f, 0.033265f, - -0.050541f, -0.062001f, -0.038666f, -0.000917f, 0.019059f, -0.012567f, 0.030975f, 0.059561f, -0.004062f, 0.043547f, 0.038378f, -0.057765f, -0.011697f, 0.018105f, -0.027655f, -0.023696f, -0.029006f, -0.096099f, -0.016400f, 0.043422f, 0.003804f, 0.086314f, 0.056798f, -0.039948f, 0.030226f, 0.001760f, -0.028103f, -0.022586f, -0.046906f, -0.103940f, -0.055909f, 0.005593f, 0.002171f, -0.022002f, -0.005987f, -0.009650f, 0.034020f, 0.036450f, 0.018584f, -0.005091f, 0.002979f, 0.027944f, -0.012786f, 0.018016f, -0.046963f, -0.021252f, -0.005723f, 0.026689f, -0.006040f, 0.011293f, 0.017207f, 0.017651f, 0.002782f, 0.046694f, -0.035833f, -0.031713f, -0.032457f, 0.024904f, -0.020767f, -0.033198f, -0.033130f, 0.025173f, -0.010431f, -0.023901f, -0.012187f, 0.019175f, 0.005494f, 0.027529f, -0.043369f, -0.028077f, -0.004157f, -0.001845f, 0.009862f, 0.021569f, -0.008627f, -0.016590f, 0.030971f, -0.014644f, -0.017357f, -0.015515f, 0.030142f, -0.006846f, -0.013822f, 0.009282f, -0.000291f, -0.015034f, 0.001883f, -0.020388f, -0.011481f, -0.008946f, 0.000589f, -0.006286f, 0.006835f, -0.005203f, 0.004701f, -0.002040f, - 0.006303f, -0.011216f, 0.004818f, -0.004902f, 0.005683f, -0.007795f, 0.007347f, -0.012406f, -0.010955f, -0.047332f, 0.005291f, 0.153387f, 0.039434f, 0.064440f, -0.032092f, -0.140043f, -0.071056f, -0.103143f, -0.034798f, 0.069121f, 0.158813f, 0.070747f, 0.017601f, -0.075695f, -0.071254f, 0.049920f, 0.078974f, 0.039037f, 0.095924f, -0.004241f, -0.062853f, -0.092067f, -0.044788f, -0.014368f, 0.071255f, 0.008552f, 0.041170f, 0.036534f, 0.006169f, 0.095076f, 0.066776f, -0.007555f, -0.009160f, -0.088042f, -0.021427f, -0.002085f, 0.001783f, 0.050100f, 0.089854f, 0.054791f, 0.043130f, 0.084168f, 0.048717f, -0.087807f, -0.070434f, -0.022214f, -0.055209f, 0.058314f, 0.039750f, 0.086385f, 0.067459f, 0.076388f, 0.022657f, 0.013346f, -0.062919f, -0.066019f, -0.061786f, 0.021601f, 0.031472f, -0.000357f, -0.008385f, 0.136387f, 0.034589f, -0.009580f, -0.012896f, 0.093336f, -0.099653f, 0.020801f, -0.189751f, -0.042607f, 0.047498f, -0.066552f, 0.061974f, 0.034898f, 0.000984f, 0.136227f, 0.064717f, -0.077598f, -0.153998f, -0.074273f, -0.069743f, -0.038075f, -0.025900f, -0.020082f, 0.067369f, 0.042595f, - 0.090871f, 0.010751f, -0.066848f, -0.046252f, -0.070147f, -0.065494f, -0.064902f, 0.028514f, 0.006114f, 0.028199f, 0.038751f, -0.018446f, 0.035841f, 0.018783f, -0.024983f, -0.003106f, -0.027680f, -0.009097f, -0.059845f, -0.063533f, -0.023710f, -0.027698f, 0.001094f, -0.059530f, 0.031626f, -0.004423f, 0.011000f, 0.016498f, -0.039657f, -0.082301f, -0.074366f, -0.004129f, 0.016303f, 0.016886f, 0.048880f, 0.012041f, -0.024564f, -0.046378f, 0.015357f, 0.010853f, -0.221464f, -0.135362f, -0.073799f, 0.065249f, 0.018635f, 0.302160f, 0.322438f, 0.195941f, 0.357554f, 0.292176f, 0.309272f, 0.214192f, 0.261679f, 0.212247f, 0.003973f, -0.101243f, -0.144247f, -0.138752f, -0.289806f, -0.347936f, -0.363389f, -0.253819f, -0.199475f, -0.078574f, 0.013961f, -0.102791f, 0.062881f, -0.129544f, -0.046743f, -0.008915f, -0.039962f, 0.030660f, -0.118750f, 0.163366f, 0.028018f, 0.148928f, 0.095826f, 0.055668f, 0.039042f, 0.082395f, 0.053845f, 0.084505f, 0.194651f, 0.184826f, 0.147565f, 0.180627f, 0.228739f, 0.208032f, 0.196383f, 0.359893f, 0.126478f, 0.253222f, 0.330242f, 0.226757f, 0.300011f, 0.159132f, - 0.213861f, 0.166959f, 0.200781f, 0.216949f, 0.080649f, 0.140468f, 0.106843f, 0.131472f, 0.127540f, 0.034749f, -0.024549f, -0.137902f, -0.050675f, -0.183984f, -0.160379f, -0.272138f, -0.307624f, -0.310274f, -0.654123f, -0.554366f, -0.594635f, -0.590573f, -0.688473f, -0.697039f, -0.429313f, -0.500271f, -0.371825f, -0.441407f, -0.334903f, -0.317865f, -0.276017f, -0.277721f, -0.158936f, -0.070631f, -0.100867f, -0.102823f, -0.083217f, 0.015846f, 0.133243f, 0.069204f, 0.277028f, 0.237800f, 0.350046f, 0.358916f, 0.332018f, 0.413617f, 0.384094f, 0.443906f, 0.347828f, 0.424700f, 0.450868f, 0.503070f, 0.440841f, 0.262764f, 0.263668f, 0.262443f, 0.267445f, 0.245874f, 0.173714f, 0.161771f, 0.068027f, 0.047439f, -0.005033f, 0.007709f, 0.033532f, -0.091221f, -0.133711f, -0.145631f, -0.089117f, -0.079577f, -0.149017f, -0.174044f, -0.202422f, -0.147373f, -0.187389f, -0.173816f, -0.146069f, -0.157385f, -0.160046f, -0.160443f, -0.041448f, -0.037802f, -0.019486f, -0.036063f, 0.021088f, -0.004977f, -0.003713f, -0.033861f, -0.011852f, 0.011944f, 0.021730f, 0.007507f, 0.030084f, 0.020716f, 0.036278f, 0.001196f, - 0.006179f, -0.004607f, 0.015418f, -0.004623f, 0.007741f, -0.006052f, 0.007177f} - }, - { - {0.010258f, 0.000177f, -0.003781f, -0.000892f, -0.009139f, -0.006321f, 0.004095f, 0.000335f, -0.005747f, 0.007150f, 0.004833f, -0.001585f, 0.000457f, -0.001003f, 0.005798f, -0.008047f, 0.003030f, 0.005977f, 0.005321f, -0.011568f, -0.008066f, -0.005763f, 0.007771f, 0.001846f, 0.002551f, -0.003245f, 0.008287f, 0.003074f, -0.002032f, 0.000187f, -0.002336f, 0.001590f, 0.003116f, -0.001869f, -0.002359f, -0.006980f, 0.007412f, 0.012281f, 0.001474f, 0.007788f, -0.001434f, 0.001541f, 0.002825f, 0.003367f, -0.009326f, 0.000623f, -0.009744f, -0.002276f, -0.001370f, 0.003035f, -0.004910f, -0.000199f, 0.002148f, 0.000944f, -0.005680f, 0.000185f, 0.000654f, 0.004617f, -0.006041f, -0.007630f, -0.001016f, 0.010258f, 0.016527f, -0.000008f, 0.002710f, 0.001106f, -0.003539f, -0.009971f, -0.002527f, 0.006883f, -0.003170f, 0.006856f, 0.002672f, 0.006982f, -0.000384f, 0.002689f, 0.002484f, -0.005972f, -0.008023f, -0.000887f, 0.003024f, 0.004562f, 0.002227f, 0.002016f, 0.001371f, 0.001506f, -0.002757f, -0.004423f, -0.002993f, -0.002428f, -0.001155f, 0.000039f, -0.001660f, -0.000270f, 0.001456f, 0.002322f, - 0.002078f, -0.000376f, 0.000134f, 0.001358f, -0.000047f, -0.001781f, 0.004698f, -0.010364f, -0.002352f, -0.009830f, 0.005683f, 0.000636f, -0.004531f, 0.020952f, -0.008190f, -0.015016f, 0.001143f, 0.006952f, -0.001270f, -0.011301f, -0.003221f, -0.004913f, -0.001853f, -0.005361f, -0.001766f, 0.007769f, -0.000549f, -0.005074f, 0.008912f, 0.001307f, 0.008657f, -0.002308f, -0.002133f, 0.003328f, 0.000219f, 0.003877f, -0.001630f, 0.008170f, 0.013350f, -0.003685f, -0.008989f, -0.006585f, 0.005502f, -0.000021f, -0.020577f, -0.001959f, -0.008205f, -0.003057f, 0.010062f, -0.007035f, -0.005350f, 0.006940f, -0.004549f, -0.000998f, 0.009227f, 0.003181f, -0.007291f, 0.003258f, -0.005254f, -0.012155f, 0.003877f, 0.004762f, -0.009233f, -0.005344f, -0.002674f, -0.003883f, -0.000092f, 0.003950f, 0.006294f, 0.009535f, 0.010662f, -0.002552f, 0.001087f, -0.004216f, 0.004596f, 0.002925f, -0.002375f, 0.004461f, 0.006848f, -0.006551f, -0.003343f, 0.001100f, 0.000128f, 0.002634f, 0.007868f, -0.000999f, -0.002112f, 0.007131f, 0.001044f, -0.004955f, -0.003102f, -0.000381f, -0.003042f, 0.002179f, -0.001265f, -0.002742f, - 0.001117f, -0.003110f, -0.002450f, 0.001537f, -0.003124f, -0.002117f, 0.000087f, 0.002065f, -0.003865f, 0.000440f, -0.000942f, -0.001351f, -0.001865f, -0.000179f, -0.003016f, -0.000862f, -0.002888f, -0.016868f, -0.008567f, 0.005182f, 0.007473f, 0.002911f, 0.008107f, -0.006937f, 0.008485f, 0.010408f, -0.002925f, 0.011518f, -0.001572f, 0.008483f, -0.004034f, 0.000256f, -0.003618f, 0.010849f, 0.004237f, -0.000446f, 0.009698f, -0.005170f, -0.004101f, 0.007091f, -0.016845f, -0.002940f, 0.000923f, -0.003593f, -0.015012f, -0.009179f, 0.006231f, -0.005891f, -0.003913f, 0.000207f, 0.011749f, -0.002831f, -0.008220f, -0.000658f, 0.003025f, 0.006633f, -0.001008f, -0.010662f, -0.006865f, -0.001970f, -0.005456f, 0.001760f, -0.009271f, 0.004593f, -0.008723f, -0.012835f, 0.000412f, 0.004485f, 0.005217f, -0.004115f, -0.002945f, -0.008429f, 0.010889f, 0.006283f, 0.001521f, 0.000098f, -0.000302f, -0.003710f, -0.001980f, 0.003669f, 0.004651f, 0.016415f, -0.001849f, 0.004122f, 0.001081f, -0.000507f, -0.008042f, -0.006127f, 0.011138f, -0.004803f, 0.001097f, 0.002750f, 0.001614f, -0.001764f, 0.008419f, 0.000431f, - 0.000309f, -0.009150f, 0.008829f, 0.004936f, -0.003411f, -0.002048f, -0.000989f, -0.002670f, 0.001221f, 0.006349f, -0.000087f, 0.002511f, 0.001928f, -0.000912f, 0.001477f, 0.003271f, -0.000343f, -0.000015f, 0.001012f, 0.001513f, 0.001318f, 0.001860f, 0.003403f, 0.001254f, -0.002498f, 0.002597f, 0.001213f, -0.001859f, -0.001441f, -0.000319f, 0.000389f, 0.004085f, 0.005028f, 0.004490f, 0.010742f, -0.007126f, -0.010634f, -0.008593f, 0.005385f, 0.011870f, -0.002219f, 0.009090f, -0.008104f, -0.009857f, 0.008130f, -0.004110f, 0.000829f, 0.003025f, 0.010192f, 0.003775f, 0.016191f, -0.007073f, -0.008652f, 0.003771f, -0.004799f, -0.004528f, 0.009172f, -0.014342f, -0.008849f, 0.001425f, -0.002782f, 0.006517f, -0.004876f, 0.001787f, 0.011512f, -0.010739f, 0.008002f, -0.006484f, 0.005181f, -0.006075f, -0.001734f, -0.000988f, 0.011932f, 0.002239f, 0.000417f, -0.008748f, 0.000423f, -0.010407f, 0.003895f, 0.002562f, -0.006956f, -0.000172f, -0.002883f, 0.018011f, 0.002420f, 0.001150f, -0.015639f, -0.009170f, -0.013190f, 0.010296f, -0.006722f, -0.000744f, 0.005426f, 0.022981f, 0.016223f, -0.006488f, - -0.014142f, -0.005889f, -0.012278f, 0.012984f, -0.002492f, -0.003587f, -0.005682f, -0.003769f, -0.001065f, -0.005929f, -0.003931f, -0.000980f, -0.004812f, 0.003468f, -0.003366f, 0.004861f, -0.017873f, 0.001234f, -0.001474f, -0.005631f, -0.002648f, -0.005979f, -0.001201f, -0.009359f, 0.000768f, -0.003863f, -0.000313f, 0.005726f, -0.001801f, -0.001975f, -0.004006f, -0.004422f, -0.001249f, 0.001315f, -0.000249f, -0.000339f, -0.001594f, -0.000642f, -0.001886f, -0.000255f, 0.000460f, 0.001164f, -0.001335f, -0.001523f, -0.002125f, -0.001877f, -0.001626f, -0.002852f, -0.009066f, 0.006515f, -0.009381f, -0.016659f, 0.016995f, 0.007713f, -0.017859f, 0.017860f, -0.002878f, -0.001022f, -0.025090f, 0.014952f, 0.009940f, -0.020258f, 0.006021f, -0.003322f, 0.007671f, 0.001803f, 0.008842f, 0.005707f, 0.002247f, -0.009405f, 0.000868f, 0.003504f, -0.012484f, -0.005283f, -0.014729f, -0.002490f, -0.009161f, -0.004862f, 0.001660f, -0.011488f, -0.004258f, -0.016945f, 0.006411f, 0.001728f, 0.001454f, 0.001535f, -0.007316f, -0.014744f, -0.004628f, 0.005246f, -0.002406f, -0.001235f, 0.015475f, -0.022921f, 0.009643f, 0.011780f, - -0.001710f, 0.000786f, -0.004477f, -0.001768f, -0.007453f, -0.011298f, -0.007746f, -0.008891f, -0.005988f, 0.005751f, 0.003145f, 0.005126f, 0.007743f, -0.001797f, -0.004139f, 0.011110f, 0.021117f, 0.014953f, -0.000325f, -0.017931f, 0.004935f, -0.002707f, 0.002638f, 0.019103f, -0.000131f, 0.019243f, 0.017119f, -0.002298f, -0.005750f, -0.004552f, 0.001334f, 0.001707f, 0.006376f, 0.019512f, 0.005181f, 0.000827f, -0.002010f, -0.012011f, 0.001424f, 0.003775f, -0.004096f, -0.000541f, 0.000605f, -0.000104f, 0.002231f, 0.001748f, 0.001364f, -0.001461f, 0.002344f, 0.002214f, 0.002094f, 0.002452f, -0.006547f, -0.000993f, -0.004707f, 0.001922f, -0.003680f, 0.001599f, -0.001059f, -0.001631f, -0.003938f, 0.000798f, 0.000968f, -0.005669f, -0.001836f, 0.001395f, 0.027068f, 0.006924f, -0.004808f, -0.001310f, 0.008328f, -0.002843f, 0.026221f, -0.002783f, -0.004027f, 0.033226f, 0.000209f, 0.016801f, -0.006245f, 0.000463f, -0.001448f, 0.002736f, -0.004249f, 0.002308f, -0.000519f, -0.000949f, -0.018027f, -0.001724f, -0.004295f, -0.003226f, -0.007512f, 0.011540f, 0.005398f, 0.006867f, -0.010112f, -0.001121f, - -0.015981f, -0.006398f, 0.003003f, -0.001301f, -0.009715f, -0.002994f, 0.005342f, 0.012057f, 0.007298f, -0.003824f, -0.014858f, -0.000522f, 0.004231f, -0.002497f, 0.007873f, 0.005230f, 0.010673f, 0.014711f, -0.004784f, -0.000098f, -0.015867f, -0.019291f, 0.018206f, 0.009773f, -0.000658f, -0.000812f, -0.000603f, -0.007038f, -0.007714f, -0.000154f, 0.014574f, 0.008420f, 0.002646f, 0.017780f, -0.013631f, 0.003994f, -0.011180f, -0.008630f, 0.007651f, 0.007856f, 0.006473f, 0.026782f, -0.000966f, -0.012108f, 0.002104f, -0.011870f, 0.005376f, 0.003120f, 0.009784f, -0.005288f, 0.000156f, 0.001202f, -0.008997f, -0.001613f, 0.006297f, -0.000947f, 0.001633f, -0.003915f, -0.001992f, -0.000594f, 0.004362f, -0.002310f, 0.002756f, -0.004153f, 0.000392f, -0.005369f, 0.001719f, -0.002856f, -0.001835f, 0.000849f, 0.002712f, -0.003327f, 0.003594f, 0.002287f, 0.004386f, 0.000259f, 0.002604f, -0.001130f, 0.001594f, 0.000786f, 0.001613f, -0.001677f, -0.000025f, -0.001571f, -0.000213f, 0.000778f, 0.002276f, -0.014860f, -0.019955f, 0.007748f, -0.018650f, 0.000006f, 0.020760f, -0.021722f, 0.007950f, 0.009752f, - -0.005829f, -0.026811f, 0.000353f, 0.015685f, -0.017349f, 0.010790f, -0.001216f, -0.007688f, -0.022497f, -0.000631f, -0.016232f, 0.002877f, -0.008243f, -0.012645f, -0.015791f, 0.006494f, -0.002242f, -0.000921f, 0.015006f, -0.009079f, 0.012659f, -0.009612f, -0.003851f, 0.019405f, 0.006646f, -0.010346f, 0.007962f, 0.004690f, -0.008980f, 0.004740f, 0.004877f, -0.003436f, -0.003837f, 0.000784f, -0.004330f, -0.005107f, 0.003174f, 0.003561f, 0.026399f, -0.024849f, 0.004017f, 0.001597f, -0.008913f, 0.017884f, 0.010169f, -0.006123f, -0.019277f, 0.001727f, -0.001956f, -0.005806f, -0.012168f, -0.014237f, 0.017382f, 0.011287f, 0.001438f, -0.001725f, 0.009258f, 0.004714f, -0.004214f, 0.007423f, 0.005320f, -0.004809f, 0.018494f, -0.006855f, 0.011312f, -0.007561f, 0.005626f, 0.005831f, 0.004166f, -0.000546f, -0.010297f, 0.009851f, -0.008018f, -0.008327f, -0.005729f, 0.002881f, -0.000022f, 0.001236f, -0.009767f, 0.005321f, 0.004100f, -0.006165f, 0.000633f, -0.000226f, -0.003092f, 0.000599f, -0.002050f, 0.004739f, -0.001366f, 0.000741f, 0.003947f, -0.001775f, -0.003005f, 0.002643f, -0.003425f, 0.002784f, - -0.000618f, -0.000018f, -0.003943f, -0.001743f, -0.000138f, -0.004282f, 0.004241f, 0.002427f, 0.000955f, 0.002840f, -0.000916f, 0.001942f, 0.008807f, -0.020124f, 0.014768f, -0.008423f, -0.003691f, -0.011553f, -0.008287f, 0.007032f, -0.006607f, 0.005751f, 0.022559f, 0.007715f, 0.012405f, -0.028758f, -0.019007f, -0.010251f, -0.006858f, 0.003107f, -0.000112f, 0.004954f, -0.024112f, 0.012911f, 0.005402f, 0.003220f, 0.023042f, 0.000382f, -0.013032f, 0.021606f, 0.008522f, -0.009652f, 0.004433f, -0.012404f, 0.011376f, 0.005347f, 0.015155f, -0.012986f, -0.009199f, 0.003827f, -0.013106f, 0.016540f, -0.015161f, -0.000274f, 0.014720f, 0.013538f, -0.027998f, -0.000801f, 0.001381f, 0.003250f, 0.004643f, 0.030592f, 0.007075f, 0.001905f, -0.009357f, -0.007745f, -0.016535f, -0.008967f, 0.022629f, 0.000540f, -0.026998f, 0.000401f, 0.006259f, -0.015345f, -0.016874f, 0.001998f, -0.010943f, 0.004483f, 0.024798f, 0.012159f, 0.010439f, -0.010180f, -0.026490f, 0.002128f, -0.004531f, 0.012152f, -0.002379f, -0.022199f, -0.002696f, 0.005781f, 0.006116f, 0.005983f, -0.001871f, 0.018780f, 0.003549f, -0.011961f, - 0.015503f, -0.001154f, 0.009278f, -0.000319f, -0.002314f, -0.008076f, 0.011456f, 0.007871f, 0.004480f, -0.005865f, -0.002288f, -0.001549f, -0.003868f, 0.002167f, -0.000025f, -0.004987f, 0.002478f, 0.001500f, -0.002800f, -0.003714f, -0.001545f, -0.002809f, -0.000410f, 0.003475f, -0.003564f, 0.001787f, 0.004381f, 0.005239f, -0.001351f, 0.002230f, -0.002794f, -0.035468f, -0.010548f, 0.010014f, 0.027418f, 0.003897f, 0.014236f, 0.048633f, 0.008118f, 0.008290f, -0.007487f, -0.023330f, 0.013255f, -0.011319f, 0.012217f, -0.002943f, 0.032219f, 0.023444f, -0.012375f, -0.026355f, -0.020909f, 0.015886f, -0.013913f, 0.019476f, 0.008607f, 0.006340f, -0.006690f, -0.002577f, 0.023201f, -0.004579f, 0.020481f, 0.020448f, 0.010615f, 0.014341f, -0.015864f, 0.015531f, 0.008421f, -0.008339f, 0.022677f, -0.009983f, 0.020607f, 0.001539f, 0.002370f, -0.030181f, 0.018232f, 0.001656f, -0.005626f, 0.014900f, -0.020984f, -0.008352f, 0.012651f, 0.010294f, -0.019329f, 0.003116f, -0.012346f, -0.007132f, 0.019244f, 0.002573f, 0.005844f, -0.002035f, -0.022053f, 0.014833f, 0.014141f, 0.000959f, 0.011192f, 0.004993f, - -0.009738f, -0.010291f, -0.000777f, 0.011785f, -0.019962f, -0.000727f, 0.001343f, 0.000865f, -0.000130f, 0.008762f, 0.011573f, 0.023643f, 0.013332f, 0.000782f, -0.033166f, -0.010927f, -0.012378f, -0.001114f, 0.002523f, -0.009335f, -0.019632f, -0.006205f, -0.008809f, 0.005196f, 0.000831f, -0.005613f, 0.002175f, -0.005755f, 0.009229f, -0.003292f, -0.003851f, -0.005428f, 0.000174f, 0.002648f, -0.011772f, 0.007434f, -0.007545f, 0.003092f, -0.001884f, -0.004369f, 0.000284f, -0.007293f, 0.002436f, -0.006578f, -0.004719f, -0.000936f, -0.003723f, -0.003498f, 0.004148f, 0.007009f, 0.004278f, 0.006749f, 0.008858f, -0.001813f, 0.001388f, 0.043848f, 0.012926f, 0.005784f, -0.016203f, -0.039607f, 0.028692f, 0.008873f, -0.026151f, 0.007786f, -0.002755f, 0.006690f, 0.005647f, -0.018999f, -0.040455f, -0.031781f, 0.010805f, 0.024822f, -0.004837f, 0.026065f, -0.012002f, 0.020333f, 0.024951f, 0.033650f, -0.007329f, 0.024864f, -0.021992f, 0.008409f, -0.011949f, 0.002983f, 0.013525f, -0.000590f, -0.007071f, 0.006051f, 0.016961f, -0.012020f, -0.022290f, -0.022678f, 0.047603f, 0.000082f, -0.002248f, -0.021429f, - 0.022144f, 0.007161f, -0.043695f, -0.025380f, 0.009959f, -0.006167f, -0.007629f, 0.017114f, 0.005926f, 0.042408f, 0.023554f, -0.001503f, -0.024506f, -0.024184f, -0.013591f, -0.009940f, -0.027817f, 0.025852f, -0.018978f, 0.020460f, 0.017725f, -0.017694f, -0.022675f, -0.022050f, -0.032050f, 0.007851f, -0.000387f, -0.011564f, -0.014418f, -0.023613f, -0.008308f, -0.023256f, 0.005055f, 0.002830f, -0.007763f, 0.003186f, 0.019231f, -0.048679f, -0.018754f, -0.039721f, 0.020226f, 0.013996f, -0.016897f, -0.005734f, 0.008330f, -0.007477f, -0.000081f, 0.009440f, -0.007207f, -0.015889f, -0.001607f, -0.004564f, -0.004849f, -0.000178f, -0.001901f, -0.006741f, 0.000434f, 0.001430f, 0.008666f, -0.011710f, 0.003282f, 0.006465f, -0.000555f, -0.004834f, -0.007343f, -0.002167f, -0.000973f, 0.001692f, -0.002416f, -0.000618f, -0.004380f, 0.002266f, -0.001647f, -0.007467f, 0.013517f, 0.001405f, 0.004213f, -0.023579f, -0.045452f, -0.010096f, -0.011795f, 0.002520f, -0.010548f, 0.001977f, 0.004806f, -0.004882f, 0.019534f, -0.025167f, -0.007621f, -0.023884f, -0.001155f, -0.011885f, 0.027686f, 0.030950f, 0.024741f, -0.034504f, - 0.024492f, -0.012455f, 0.018606f, -0.007129f, 0.013742f, -0.011448f, -0.014738f, 0.005325f, -0.019043f, 0.012269f, 0.014784f, -0.001825f, 0.008883f, -0.017457f, -0.002190f, 0.029572f, -0.023503f, 0.001130f, -0.006971f, -0.009637f, -0.018949f, -0.001055f, 0.029213f, 0.038496f, -0.024285f, 0.011640f, -0.003049f, -0.023354f, -0.023884f, -0.025652f, -0.011744f, 0.048730f, 0.029416f, -0.009108f, 0.015639f, -0.010343f, 0.013543f, -0.026663f, 0.015652f, -0.000803f, -0.014595f, 0.037092f, 0.019098f, 0.007573f, 0.012100f, 0.010615f, 0.034699f, 0.004600f, -0.029513f, 0.011991f, 0.022444f, 0.017611f, -0.051489f, 0.031403f, -0.021889f, -0.019428f, -0.009668f, 0.003194f, -0.020246f, 0.022218f, 0.049237f, -0.008574f, 0.006985f, 0.025189f, 0.004213f, -0.004136f, 0.005924f, 0.002564f, 0.014302f, 0.012910f, 0.007699f, 0.023626f, 0.012043f, -0.006597f, 0.016005f, 0.009983f, -0.007195f, -0.014403f, 0.008028f, -0.002009f, 0.008695f, -0.004144f, 0.002532f, 0.007129f, 0.002715f, -0.002077f, -0.001876f, 0.003206f, 0.010966f, 0.002390f, -0.002720f, 0.002421f, 0.008392f, -0.003777f, 0.000337f, 0.014301f, - 0.005415f, -0.003852f, 0.007719f, 0.002427f, 0.001958f, 0.005857f, -0.000283f, 0.004821f, -0.002389f, -0.009187f, -0.008443f, 0.007066f, 0.031623f, 0.020818f, 0.085941f, 0.024198f, -0.014521f, 0.005667f, 0.014416f, 0.000502f, 0.028591f, 0.021467f, 0.019788f, -0.025439f, -0.042791f, 0.042885f, -0.024265f, 0.004213f, 0.014727f, 0.047047f, 0.018753f, -0.028245f, 0.025565f, -0.025532f, -0.005387f, -0.035162f, -0.046449f, -0.005038f, 0.012436f, 0.012654f, 0.009248f, 0.011979f, -0.003757f, -0.031677f, -0.011855f, 0.010380f, 0.010662f, -0.016704f, 0.035240f, 0.022563f, -0.021268f, 0.011866f, 0.017499f, 0.007042f, 0.000985f, -0.019395f, -0.002517f, -0.013561f, -0.008180f, 0.002146f, 0.021887f, 0.054843f, -0.014945f, 0.005114f, 0.007970f, 0.020535f, -0.019672f, 0.069475f, -0.006090f, 0.006843f, 0.005700f, -0.031351f, -0.030957f, -0.049689f, -0.021255f, 0.027384f, -0.009648f, 0.013826f, 0.010943f, 0.047831f, 0.007533f, 0.008672f, 0.002426f, 0.037711f, 0.018063f, -0.015624f, 0.034414f, -0.031322f, 0.004942f, 0.031899f, 0.040918f, 0.037834f, 0.014786f, -0.021433f, -0.035194f, -0.015073f, - -0.011318f, -0.025558f, -0.014371f, -0.014514f, -0.004148f, -0.021457f, 0.005339f, -0.007348f, -0.003630f, -0.018707f, -0.002308f, -0.011650f, 0.018445f, 0.001958f, 0.003953f, -0.016651f, -0.003322f, -0.022886f, 0.001489f, 0.009823f, -0.000839f, 0.016778f, 0.010469f, 0.000051f, 0.006825f, -0.003468f, -0.010442f, -0.006064f, -0.004750f, -0.019635f, 0.001706f, 0.003922f, 0.004572f, 0.005852f, -0.009817f, 0.013854f, 0.014911f, 0.006609f, -0.011761f, -0.007856f, -0.004004f, 0.003351f, 0.008186f, 0.004474f, -0.007920f, -0.004051f, -0.009049f, -0.035807f, 0.020168f, 0.009567f, 0.024757f, -0.006665f, -0.054756f, 0.004347f, -0.036742f, -0.032586f, 0.009626f, 0.007767f, 0.015212f, -0.009537f, 0.010930f, -0.001958f, -0.018781f, 0.029807f, -0.004878f, -0.009904f, -0.012018f, -0.020961f, -0.018019f, 0.010832f, -0.022695f, 0.005504f, -0.014555f, -0.009970f, -0.006339f, 0.029252f, -0.005844f, 0.031402f, 0.019543f, -0.008259f, 0.010325f, 0.010858f, 0.022211f, -0.015429f, -0.021177f, 0.003158f, 0.013035f, 0.017135f, 0.029359f, -0.032529f, -0.031670f, 0.013524f, 0.010398f, 0.036353f, -0.018013f, -0.002600f, - 0.017964f, 0.000107f, 0.004980f, -0.006715f, 0.023718f, 0.029892f, 0.013652f, -0.003801f, 0.018708f, 0.062694f, -0.013908f, -0.018295f, 0.023240f, -0.002574f, 0.036584f, 0.008804f, 0.017058f, 0.020639f, -0.006726f, 0.014447f, 0.042350f, -0.011565f, -0.050922f, 0.035813f, 0.010452f, -0.016776f, 0.004879f, -0.077586f, 0.051745f, -0.000516f, 0.032080f, -0.020375f, 0.016738f, 0.002365f, -0.030934f, -0.029486f, -0.004057f, 0.005723f, -0.022860f, 0.000122f, 0.003512f, -0.004200f, -0.007605f, -0.004764f, -0.025004f, -0.004154f, -0.015010f, 0.000215f, -0.007848f, -0.002268f, -0.008989f, 0.015047f, -0.011165f, -0.008524f, -0.016132f, -0.007800f, -0.018407f, -0.003396f, 0.004128f, -0.010243f, -0.001158f, -0.008389f, -0.009151f, -0.009912f, -0.000606f, -0.008206f, -0.006114f, 0.002961f, -0.002633f, 0.008007f, -0.005707f, -0.011759f, -0.012869f, 0.000084f, 0.002233f, -0.008102f, -0.001652f, -0.003647f, 0.003954f, -0.017297f, -0.033169f, -0.001638f, 0.051663f, 0.025360f, -0.066540f, 0.010186f, -0.012006f, 0.005552f, 0.010881f, -0.003475f, -0.034303f, 0.004546f, -0.005308f, 0.029550f, 0.057797f, -0.009809f, - 0.018613f, 0.037832f, -0.001700f, -0.010961f, -0.009774f, 0.014803f, 0.057724f, -0.001456f, -0.003995f, 0.047178f, -0.019303f, 0.012507f, 0.000134f, -0.001081f, -0.012369f, 0.017558f, -0.052953f, 0.001352f, 0.016789f, 0.038403f, 0.041177f, -0.034175f, 0.001461f, 0.036890f, -0.002215f, 0.068928f, -0.025089f, -0.034214f, 0.004697f, 0.050002f, 0.008929f, -0.038884f, -0.018050f, 0.011182f, -0.000079f, 0.021632f, -0.056169f, 0.006627f, 0.002607f, -0.012001f, -0.040712f, -0.036410f, 0.009707f, -0.011223f, -0.002406f, 0.001807f, -0.042363f, -0.044784f, 0.009599f, 0.006776f, -0.044898f, -0.015450f, -0.029129f, 0.026029f, -0.071045f, -0.027128f, 0.023522f, -0.043396f, 0.023830f, -0.011841f, -0.017202f, 0.023433f, -0.007122f, 0.035293f, 0.033811f, 0.007424f, 0.021041f, -0.009615f, 0.004395f, -0.025248f, 0.027311f, -0.019606f, 0.016316f, -0.026434f, 0.019596f, 0.001207f, 0.008822f, -0.002385f, 0.000277f, -0.015225f, 0.018133f, -0.019923f, 0.003582f, 0.002173f, 0.010269f, -0.021844f, 0.011459f, -0.008883f, -0.005939f, 0.006790f, -0.004467f, -0.010281f, 0.014799f, 0.006108f, 0.015808f, 0.006848f, - -0.001455f, -0.007419f, -0.007309f, -0.002025f, 0.003091f, -0.010386f, 0.003823f, -0.007583f, 0.003834f, -0.020891f, -0.010731f, -0.008563f, 0.010879f, 0.012350f, -0.006687f, 0.002779f, -0.002922f, -0.017362f, 0.037571f, 0.000045f, 0.020780f, -0.039221f, -0.002957f, -0.037121f, 0.038930f, 0.017304f, 0.050939f, 0.035970f, -0.018092f, 0.006945f, 0.040234f, 0.020748f, 0.020474f, 0.013212f, -0.034207f, -0.009697f, 0.016794f, 0.002795f, 0.019838f, -0.043513f, -0.032376f, 0.019810f, 0.065284f, 0.008998f, -0.021615f, 0.041364f, 0.011735f, 0.025895f, 0.006799f, 0.005156f, -0.036878f, -0.037425f, 0.000638f, 0.000737f, -0.064561f, 0.005334f, -0.013289f, -0.003206f, 0.020388f, -0.025068f, 0.015402f, 0.050806f, 0.005290f, -0.082522f, -0.059455f, -0.009573f, -0.018326f, -0.020436f, -0.000654f, 0.015158f, 0.013057f, -0.020149f, 0.022862f, 0.021827f, 0.019641f, -0.012670f, 0.016899f, -0.009213f, -0.021544f, -0.004972f, 0.018874f, -0.061562f, -0.014128f, -0.027734f, -0.032204f, -0.012687f, 0.008634f, -0.016265f, -0.001741f, 0.068037f, 0.038584f, -0.025988f, 0.000182f, 0.000883f, -0.011761f, -0.011988f, - 0.005917f, 0.045675f, 0.016603f, 0.007024f, -0.014179f, -0.010131f, -0.023690f, -0.027124f, -0.029099f, -0.006531f, 0.003677f, 0.009146f, -0.010225f, 0.008187f, -0.002469f, -0.006500f, -0.002566f, -0.007651f, -0.025559f, -0.006223f, -0.000282f, -0.006314f, -0.022115f, 0.002934f, -0.008040f, 0.024193f, -0.012204f, 0.008291f, -0.002495f, 0.010076f, -0.000164f, -0.019312f, 0.001617f, 0.023494f, 0.003527f, 0.021151f, -0.005827f, 0.010907f, -0.006758f, 0.006985f, -0.001483f, -0.014284f, -0.006449f, -0.001373f, -0.002618f, -0.002688f, -0.000133f, 0.013937f, 0.026614f, -0.037051f, -0.009458f, -0.015727f, 0.009786f, 0.077344f, 0.012156f, -0.038119f, 0.009996f, 0.034144f, -0.007415f, 0.031900f, 0.040583f, -0.021033f, 0.009531f, 0.020491f, 0.013928f, 0.000873f, -0.006074f, -0.012617f, 0.005980f, 0.024085f, 0.012350f, 0.022493f, -0.033852f, -0.052069f, -0.005622f, 0.023189f, 0.020387f, 0.016642f, -0.006006f, -0.048034f, 0.015383f, 0.010623f, 0.071829f, 0.075582f, 0.017886f, -0.056277f, 0.040615f, -0.021445f, -0.057573f, -0.013460f, -0.068121f, -0.051858f, -0.022962f, -0.024995f, -0.052843f, 0.009179f, - -0.021342f, -0.060438f, -0.055361f, 0.015961f, 0.035825f, -0.005937f, -0.046745f, 0.013857f, 0.001265f, 0.014920f, 0.029309f, 0.028620f, -0.036183f, 0.046596f, 0.031952f, 0.004060f, 0.012805f, 0.032422f, -0.001765f, 0.084810f, -0.060549f, -0.028923f, -0.002098f, -0.069007f, 0.056564f, 0.004127f, 0.071121f, 0.021974f, 0.015860f, -0.003606f, 0.014038f, 0.030168f, 0.001117f, -0.028095f, -0.000520f, -0.014999f, 0.011227f, 0.010866f, 0.020292f, -0.008542f, -0.026062f, -0.000175f, 0.024093f, 0.011429f, -0.015482f, -0.007715f, 0.012644f, -0.017322f, -0.000136f, 0.000373f, 0.022132f, 0.008680f, -0.012144f, -0.005262f, -0.013789f, -0.022248f, -0.019306f, -0.001069f, 0.004182f, -0.011030f, -0.008128f, 0.002588f, -0.011140f, 0.017429f, 0.008484f, -0.000209f, 0.010461f, 0.035201f, -0.013405f, -0.006700f, 0.003963f, 0.009453f, -0.018993f, 0.020632f, -0.006953f, -0.000637f, 0.003522f, 0.015429f, 0.025964f, -0.037701f, 0.009893f, -0.075290f, -0.020404f, -0.004665f, -0.018531f, 0.082659f, 0.026045f, -0.021956f, -0.051938f, -0.026327f, -0.021385f, -0.032897f, -0.024153f, 0.012643f, -0.075820f, -0.016318f, - 0.055633f, -0.006583f, -0.006264f, -0.057919f, 0.055237f, 0.027389f, 0.001231f, -0.021963f, 0.023532f, 0.011687f, -0.013210f, 0.025226f, -0.039162f, -0.010380f, -0.020011f, 0.011233f, -0.009161f, -0.024657f, 0.027986f, -0.021031f, 0.011661f, 0.000816f, -0.038052f, -0.023676f, -0.005957f, -0.047592f, -0.046759f, -0.062568f, -0.016178f, 0.028710f, -0.021037f, -0.011456f, 0.036079f, -0.044030f, -0.036234f, 0.039041f, -0.000343f, -0.002250f, 0.035121f, 0.000526f, -0.030109f, -0.017266f, 0.011832f, 0.025437f, -0.038894f, -0.012193f, 0.047262f, 0.020456f, 0.045603f, 0.023673f, -0.009377f, 0.024057f, -0.001872f, -0.061789f, 0.019382f, -0.046738f, 0.033854f, 0.005950f, 0.012392f, -0.019655f, -0.053500f, 0.011281f, -0.008015f, -0.046368f, -0.018638f, 0.020855f, -0.023589f, 0.001008f, 0.007272f, 0.015198f, -0.015151f, 0.000856f, 0.002211f, -0.003958f, 0.009646f, -0.006914f, 0.005384f, 0.019077f, -0.003561f, 0.006568f, 0.004957f, -0.012295f, 0.003849f, 0.009182f, 0.005157f, -0.009169f, 0.012486f, 0.008743f, -0.000962f, -0.012855f, -0.026432f, 0.005487f, -0.020925f, 0.017019f, -0.021364f, 0.014042f, - 0.017410f, 0.000885f, 0.000966f, 0.000567f, 0.009876f, 0.001608f, -0.009131f, 0.020601f, 0.016381f, -0.008070f, -0.012908f, -0.021507f, 0.056412f, 0.019695f, 0.002082f, 0.006888f, -0.014733f, 0.022367f, 0.034762f, 0.088063f, 0.076916f, 0.006651f, -0.033862f, 0.015665f, 0.044599f, 0.012747f, 0.034535f, 0.024908f, 0.016724f, -0.026102f, -0.033519f, -0.040283f, -0.002808f, 0.014966f, 0.028372f, 0.057209f, 0.030275f, 0.036690f, 0.021335f, 0.034017f, 0.017165f, 0.032768f, -0.021884f, 0.006178f, 0.061850f, -0.001663f, 0.047583f, 0.012612f, 0.038482f, -0.061057f, -0.009930f, -0.017998f, -0.017991f, 0.014240f, 0.023781f, 0.044222f, 0.071541f, 0.059926f, -0.021242f, 0.010642f, -0.079446f, 0.019299f, 0.018294f, 0.069999f, -0.055647f, 0.044271f, -0.014448f, -0.039010f, 0.029894f, 0.009225f, 0.024949f, 0.043849f, -0.014267f, -0.056157f, 0.029066f, -0.036103f, -0.049507f, -0.023532f, 0.066237f, -0.057497f, -0.081613f, -0.041186f, -0.013523f, 0.043047f, -0.004494f, -0.029349f, -0.056328f, -0.042526f, 0.026936f, -0.003848f, -0.001054f, 0.036486f, -0.039743f, 0.011364f, 0.040808f, 0.015895f, - 0.027319f, 0.039526f, -0.026769f, -0.013488f, -0.022624f, 0.030231f, 0.006712f, 0.015566f, 0.011019f, -0.027204f, 0.033785f, 0.008350f, 0.005354f, -0.013327f, -0.049397f, -0.047188f, 0.004703f, -0.022458f, -0.009321f, -0.021302f, -0.018527f, -0.008132f, 0.008704f, -0.000283f, -0.020836f, 0.026606f, 0.022297f, -0.003001f, -0.023652f, 0.003877f, 0.014243f, -0.016902f, -0.007658f, -0.009707f, 0.000197f, 0.011498f, -0.005310f, -0.011684f, -0.009460f, 0.008085f, 0.006764f, 0.012970f, 0.016177f, -0.008482f, 0.009243f, 0.010010f, 0.055335f, -0.017455f, -0.061149f, 0.004291f, -0.025540f, -0.087419f, -0.044216f, 0.114647f, 0.016034f, -0.051780f, -0.056851f, 0.006398f, 0.001015f, 0.023675f, 0.029765f, -0.040104f, -0.026626f, -0.063976f, 0.014895f, -0.023215f, -0.015357f, 0.097745f, 0.020993f, -0.013534f, -0.100899f, -0.006531f, -0.053876f, 0.053384f, 0.065962f, 0.006901f, 0.051319f, -0.060473f, -0.023784f, -0.038215f, -0.009020f, 0.099812f, 0.124329f, 0.019837f, -0.033183f, -0.044422f, -0.089760f, 0.001207f, 0.011617f, 0.108507f, 0.060571f, -0.015884f, -0.178413f, -0.092442f, 0.015366f, -0.017152f, - 0.156717f, 0.052504f, -0.075209f, -0.031317f, -0.134271f, -0.042519f, 0.004735f, 0.087806f, 0.090623f, 0.101716f, 0.004854f, 0.024086f, -0.010692f, 0.008769f, 0.125151f, -0.046199f, 0.091933f, -0.022278f, -0.094386f, -0.028277f, -0.100056f, -0.032157f, 0.131038f, 0.059565f, 0.093567f, -0.031021f, 0.073379f, -0.082160f, -0.013087f, 0.019523f, 0.039118f, 0.077817f, -0.026258f, -0.001699f, 0.004917f, -0.007381f, 0.012033f, 0.020756f, -0.022260f, 0.003384f, -0.023407f, -0.042354f, 0.019048f, 0.034405f, 0.019195f, -0.004472f, -0.025423f, -0.056666f, -0.055796f, -0.029438f, 0.018891f, 0.052147f, 0.029394f, 0.040337f, -0.054849f, -0.071921f, -0.055467f, 0.006229f, 0.063002f, 0.069951f, 0.053748f, -0.032120f, -0.136973f, -0.088039f, 0.002671f, 0.068946f, 0.148855f, 0.057670f, 0.012240f, -0.067781f, -0.089288f, -0.031033f, -0.028412f, 0.078005f, 0.086215f, 0.032223f, -0.005110f, -0.074827f, -0.056118f, 0.017090f, 0.025779f, 0.063444f, 0.030840f, -0.032796f, -0.022947f, -0.039269f, -0.018686f, 0.018429f, 0.016853f, -0.079486f, 0.088155f, 0.000149f, -0.022973f, -0.136964f, -0.036870f, -0.036987f, - -0.061795f, 0.132593f, 0.001421f, 0.059403f, -0.090631f, 0.050321f, 0.042258f, -0.040784f, 0.026538f, -0.007844f, 0.023724f, -0.000021f, 0.067842f, 0.023950f, -0.065805f, 0.039738f, 0.032810f, -0.000234f, 0.045815f, -0.033882f, -0.017373f, 0.057460f, 0.040315f, 0.038259f, 0.019147f, 0.033283f, -0.099174f, 0.086554f, -0.049759f, -0.031718f, 0.018982f, -0.069595f, 0.101655f, -0.028947f, 0.010253f, 0.073321f, 0.002643f, -0.011231f, 0.040000f, 0.040724f, 0.072041f, -0.017631f, -0.066655f, -0.068129f, 0.007695f, -0.024656f, 0.031668f, -0.041246f, -0.019877f, -0.027956f, 0.020516f, -0.127969f, 0.002236f, 0.094843f, 0.026426f, 0.038553f, -0.003422f, -0.010554f, 0.025171f, -0.033866f, -0.038482f, 0.023714f, 0.013369f, -0.041735f, -0.046122f, 0.176115f, -0.018908f, -0.057419f, 0.016167f, 0.082481f, -0.002151f, -0.065199f, 0.026943f, -0.012342f, -0.024498f, 0.053045f, 0.067649f, -0.049544f, -0.080711f, 0.018143f, 0.019597f, -0.018791f, -0.048226f, 0.002269f, 0.024513f, -0.007579f, -0.007738f, -0.003347f, -0.008225f, 0.012830f, 0.014520f, -0.016752f, 0.001933f, 0.007112f, 0.003728f, -0.010134f, - 0.003818f, -0.000699f, -0.022295f, 0.015983f, 0.006984f, 0.031061f, 0.015571f, -0.011990f, 0.012829f, -0.006314f, 0.018467f, -0.001457f, -0.004701f, 0.025308f, -0.006236f, 0.017296f, -0.005026f, -0.020156f, -0.001664f, 0.022768f, -0.006364f, 0.025937f, -0.024632f, 0.032602f, 0.007765f, -0.023668f, 0.009962f, 0.000386f, 0.012111f, -0.004091f, -0.009409f, -0.002505f, 0.025611f, -0.068324f, 0.024333f, 0.107814f, 0.169806f, -0.075080f, 0.055351f, -0.112107f, -0.033038f, -0.068296f, -0.009305f, 0.104343f, 0.110746f, 0.088002f, -0.002752f, -0.070277f, -0.042486f, 0.038263f, 0.002891f, 0.019192f, 0.057891f, -0.001063f, 0.028827f, -0.073667f, -0.018771f, -0.042612f, -0.051878f, 0.028482f, 0.023747f, 0.001607f, 0.051923f, -0.044073f, -0.001560f, 0.011691f, -0.062115f, -0.001716f, 0.004379f, -0.039280f, -0.014805f, 0.014729f, -0.026220f, 0.058510f, -0.019119f, 0.088630f, 0.067048f, -0.043698f, -0.012247f, -0.060742f, -0.069407f, -0.090153f, 0.028845f, 0.041553f, 0.120511f, 0.091893f, 0.042953f, 0.058397f, 0.011200f, -0.066382f, -0.043869f, -0.037191f, -0.045184f, -0.009614f, 0.025303f, -0.002447f, - -0.031049f, 0.008076f, -0.031328f, 0.019688f, 0.044896f, 0.008740f, -0.046836f, 0.036588f, -0.022458f, -0.023858f, -0.046873f, 0.024237f, 0.020781f, 0.010618f, 0.005740f, 0.106223f, 0.081191f, 0.066390f, 0.011265f, -0.015447f, -0.090012f, -0.018880f, -0.009427f, 0.088473f, 0.050691f, 0.023030f, 0.026724f, 0.076617f, -0.012254f, -0.030577f, -0.041453f, -0.034729f, -0.016375f, -0.007820f, 0.006925f, 0.000877f, 0.000488f, 0.039721f, -0.004697f, -0.023826f, -0.014643f, -0.008226f, 0.000755f, 0.019600f, 0.035387f, 0.015452f, -0.004602f, 0.021877f, -0.036868f, 0.014263f, 0.033638f, 0.013672f, 0.066424f, -0.027414f, 0.000282f, 0.011250f, -0.027949f, 0.007112f, -0.044369f, -0.002430f, 0.015262f, 0.000377f, 0.017792f, -0.012803f, -0.184350f, -0.106790f, -0.061480f, 0.105984f, 0.049767f, 0.282069f, 0.265205f, 0.273899f, 0.277180f, 0.296835f, 0.208933f, 0.108960f, 0.158240f, 0.094966f, -0.047194f, -0.087927f, -0.135411f, -0.263548f, -0.237297f, -0.246223f, -0.178332f, -0.180912f, -0.133935f, -0.111195f, -0.058975f, 0.005946f, -0.104187f, -0.053428f, -0.021542f, -0.016563f, -0.056337f, 0.014451f, - 0.070650f, 0.079105f, 0.029611f, 0.093476f, 0.119217f, 0.029421f, 0.023560f, 0.023470f, 0.117154f, 0.121836f, 0.154032f, 0.172171f, 0.150915f, 0.170984f, 0.259996f, 0.105243f, 0.203035f, 0.276753f, 0.178189f, 0.210056f, 0.165392f, 0.082661f, 0.098869f, 0.109081f, 0.097243f, 0.131797f, 0.130125f, 0.080563f, 0.015933f, 0.040016f, 0.076760f, -0.004878f, 0.009058f, -0.036901f, -0.042232f, -0.130691f, -0.058631f, -0.226439f, -0.284257f, -0.227902f, -0.259335f, -0.353236f, -0.340841f, -0.202299f, -0.380732f, -0.345735f, -0.315275f, -0.356920f, -0.300893f, -0.229792f, -0.288318f, -0.212427f, -0.058609f, -0.141107f, -0.174199f, -0.069044f, -0.068730f, -0.056785f, -0.062344f, -0.027874f, 0.017482f, 0.035815f, 0.069888f, 0.090152f, 0.103608f, 0.116440f, 0.120632f, 0.169842f, 0.104385f, 0.200098f, 0.224307f, 0.106678f, 0.208383f, 0.197906f, 0.125869f, 0.151692f, 0.220484f, 0.149757f, 0.248834f, 0.187668f, 0.235977f, 0.165044f, 0.150336f, 0.155562f, 0.145682f, 0.114188f, 0.131107f, 0.113757f, 0.090385f, 0.067868f, 0.066587f, 0.053865f, 0.023825f, -0.016587f, -0.012484f, -0.009354f, - -0.077637f, -0.127255f, -0.121694f, -0.125372f, -0.136017f, -0.126474f, -0.140720f, -0.102217f, -0.105152f, -0.086418f, -0.063171f, -0.049754f, -0.055931f, -0.055690f, -0.041457f, -0.029327f, -0.031470f, -0.042738f, -0.020701f, -0.010020f, -0.022534f, -0.036217f, -0.018511f, -0.012201f, -0.015503f, -0.017286f, 0.002300f, 0.006880f, 0.009664f, 0.001125f, 0.003365f}, - {0.020074f, 0.001053f, -0.001324f, -0.000691f, -0.001576f, -0.010276f, -0.010429f, 0.009985f, 0.002398f, -0.005964f, -0.009108f, -0.004384f, -0.006883f, -0.011866f, 0.015180f, 0.001840f, 0.005499f, 0.007572f, 0.021869f, -0.000558f, 0.003492f, -0.005267f, -0.001945f, -0.004051f, -0.014256f, 0.003183f, -0.004362f, 0.001410f, 0.009907f, -0.003911f, -0.000975f, 0.002158f, 0.001047f, -0.002354f, 0.000462f, -0.013169f, 0.002731f, -0.000316f, -0.004729f, 0.004120f, 0.001887f, -0.008864f, 0.013988f, 0.000491f, 0.002007f, 0.013020f, -0.005060f, -0.005624f, -0.012843f, -0.006504f, 0.008859f, 0.000556f, 0.009443f, -0.004630f, -0.010508f, 0.004567f, -0.009796f, -0.004380f, -0.018901f, 0.007766f, 0.006598f, 0.004027f, 0.005673f, 0.012960f, 0.003347f, -0.005692f, 0.006978f, 0.010764f, -0.007062f, 0.005329f, -0.000060f, -0.002274f, -0.003675f, -0.002902f, 0.007231f, -0.001470f, 0.008026f, -0.004072f, 0.003205f, -0.002514f, 0.002895f, 0.005866f, -0.003215f, 0.002137f, -0.002232f, 0.004740f, 0.003814f, 0.003247f, -0.001671f, 0.001124f, 0.000086f, -0.002644f, 0.001276f, 0.004631f, 0.000773f, 0.001570f, - -0.002787f, 0.001819f, -0.001544f, 0.001077f, -0.002153f, 0.000460f, 0.002681f, -0.007941f, 0.002140f, -0.004915f, -0.010071f, -0.000981f, -0.011896f, -0.014418f, -0.009117f, -0.006905f, -0.015914f, 0.000644f, -0.005752f, -0.003197f, 0.004888f, 0.016951f, 0.001545f, -0.004024f, -0.001950f, 0.002728f, -0.000337f, 0.007043f, 0.012024f, -0.001015f, 0.013502f, -0.001553f, -0.000890f, -0.001616f, 0.007688f, -0.010169f, 0.001578f, 0.001234f, -0.002503f, -0.000579f, -0.006080f, -0.010106f, 0.013880f, -0.004724f, -0.001039f, -0.002475f, 0.006121f, -0.006605f, -0.005691f, 0.002420f, 0.002054f, 0.009700f, -0.006659f, 0.007989f, -0.004674f, -0.007999f, -0.000636f, -0.003305f, 0.002165f, 0.004353f, -0.000180f, 0.005649f, 0.002682f, 0.004118f, -0.005360f, -0.006291f, -0.010430f, -0.007660f, 0.000971f, 0.012446f, 0.001565f, 0.010109f, 0.002617f, -0.005205f, 0.006944f, 0.003301f, -0.007517f, 0.013171f, 0.002189f, -0.012403f, 0.003225f, 0.005622f, 0.001108f, 0.003734f, 0.003219f, -0.008787f, 0.003197f, 0.003078f, 0.002160f, -0.000505f, 0.006462f, 0.002176f, -0.001662f, -0.002122f, -0.000052f, 0.002588f, - -0.000081f, 0.003514f, -0.000117f, 0.000171f, 0.002020f, -0.000840f, -0.001935f, -0.001241f, 0.000343f, -0.001716f, -0.001841f, 0.002262f, -0.000222f, 0.002171f, 0.001901f, -0.000529f, -0.000196f, -0.014763f, -0.013121f, 0.002782f, 0.001476f, 0.010984f, -0.008507f, 0.011299f, -0.005771f, -0.002563f, -0.017800f, -0.001183f, 0.001134f, -0.006146f, -0.001115f, 0.009485f, 0.008934f, 0.013450f, -0.003361f, -0.002114f, 0.008355f, 0.003900f, 0.007494f, -0.018375f, 0.018067f, -0.003971f, -0.000336f, 0.002815f, -0.002305f, -0.000206f, -0.001717f, -0.001319f, 0.011165f, -0.000396f, 0.014686f, -0.002612f, -0.006155f, -0.012366f, 0.001332f, -0.005639f, -0.004985f, 0.008428f, 0.006463f, 0.008815f, 0.000187f, 0.001028f, -0.013208f, -0.009519f, -0.000255f, 0.011850f, 0.004009f, -0.001610f, 0.003875f, -0.005045f, 0.012583f, -0.000755f, -0.011086f, -0.013999f, -0.005091f, 0.015529f, 0.011671f, 0.011977f, 0.005483f, 0.000381f, -0.013174f, -0.005908f, -0.001959f, -0.007709f, 0.007937f, -0.001442f, -0.003767f, 0.006817f, -0.018710f, 0.005505f, -0.002489f, 0.004358f, -0.001533f, -0.005382f, 0.008374f, 0.003149f, - -0.008902f, -0.009425f, 0.004691f, -0.002486f, 0.005484f, 0.001460f, -0.004062f, 0.002848f, 0.003471f, -0.000195f, 0.001307f, -0.000029f, 0.000357f, -0.001599f, -0.000072f, -0.002614f, -0.000015f, -0.002280f, 0.003652f, 0.001995f, -0.002846f, 0.001387f, -0.000757f, 0.000961f, 0.000954f, 0.001271f, -0.002124f, -0.001832f, 0.000627f, 0.001358f, -0.003873f, 0.003723f, -0.004202f, -0.008097f, -0.001338f, -0.006273f, 0.002868f, 0.010150f, 0.003975f, 0.000357f, -0.004141f, -0.023602f, -0.015560f, -0.000513f, 0.006828f, 0.008261f, 0.000472f, 0.001665f, -0.003335f, 0.008190f, 0.003626f, 0.006561f, -0.010293f, 0.009749f, 0.005595f, -0.011096f, 0.004150f, 0.010164f, -0.000564f, 0.003282f, 0.001650f, 0.009216f, -0.007176f, 0.005467f, -0.000943f, -0.001251f, -0.008827f, 0.000532f, 0.009434f, -0.006030f, -0.004369f, -0.008269f, 0.011074f, -0.001091f, 0.002150f, -0.008699f, -0.024782f, -0.007232f, 0.003633f, 0.002277f, 0.009147f, -0.006601f, -0.004078f, -0.003768f, -0.001663f, -0.007973f, 0.000242f, -0.007200f, 0.016228f, 0.005702f, 0.013237f, -0.013422f, -0.002649f, -0.005574f, 0.012403f, -0.003789f, - -0.002295f, -0.010340f, 0.006405f, -0.000225f, -0.006913f, 0.010555f, 0.003267f, 0.001279f, 0.012112f, 0.002582f, -0.010633f, -0.001498f, 0.001280f, -0.002902f, -0.003594f, 0.000065f, -0.009032f, 0.017895f, 0.007373f, 0.002590f, 0.011154f, 0.004830f, 0.004404f, 0.008187f, -0.002355f, 0.006926f, -0.003986f, 0.001182f, 0.000710f, 0.000403f, -0.002079f, 0.001240f, 0.000530f, -0.000672f, -0.001219f, -0.001173f, 0.000853f, -0.000930f, 0.000072f, 0.005926f, 0.000616f, -0.000188f, -0.000108f, -0.000093f, -0.000809f, 0.004700f, 0.001211f, 0.006589f, -0.005248f, 0.004182f, 0.000396f, -0.002713f, 0.011200f, 0.008519f, -0.000863f, -0.015278f, -0.020381f, -0.015756f, 0.005833f, 0.000004f, -0.008803f, -0.002305f, 0.001033f, -0.002013f, 0.022936f, 0.003951f, -0.016571f, -0.004416f, -0.004953f, 0.000824f, -0.007800f, 0.012962f, -0.009695f, -0.012719f, 0.011876f, -0.005005f, 0.003261f, 0.003142f, -0.005432f, -0.014973f, 0.001994f, -0.007986f, -0.007044f, -0.007341f, -0.000914f, 0.011633f, -0.001611f, -0.002655f, 0.017211f, 0.003143f, 0.002635f, -0.022225f, -0.002480f, 0.011827f, 0.013864f, -0.007687f, - 0.003760f, 0.001878f, -0.021917f, -0.002953f, -0.001347f, -0.002256f, 0.005516f, 0.000225f, -0.012299f, 0.001577f, -0.009837f, 0.009400f, -0.003353f, 0.012105f, 0.002411f, -0.013952f, 0.006159f, 0.026099f, -0.010162f, 0.000197f, -0.019489f, 0.004683f, 0.016364f, -0.029398f, 0.004173f, -0.002128f, -0.002565f, 0.007257f, -0.004762f, -0.007710f, 0.013754f, 0.013127f, -0.011414f, -0.001432f, 0.008600f, -0.003891f, 0.002007f, 0.004012f, 0.002524f, 0.000779f, -0.003356f, 0.007289f, -0.000227f, 0.004743f, 0.000169f, 0.006503f, 0.004435f, 0.004077f, -0.000385f, 0.001349f, 0.007272f, 0.000719f, -0.001544f, 0.002496f, 0.002233f, 0.000794f, 0.006031f, -0.003447f, 0.001886f, 0.000891f, -0.001399f, 0.000359f, 0.002143f, 0.001441f, 0.000686f, -0.000666f, 0.019643f, 0.002444f, 0.008809f, 0.013919f, -0.017162f, -0.005267f, -0.013097f, 0.006589f, 0.007600f, 0.015116f, 0.029261f, 0.004607f, -0.022316f, -0.002086f, -0.005610f, -0.002315f, -0.009651f, 0.000036f, -0.001080f, 0.011062f, 0.008806f, 0.003206f, -0.000791f, 0.000443f, -0.003437f, -0.002553f, 0.012674f, -0.004134f, -0.001698f, 0.009472f, - -0.001190f, 0.005581f, -0.000946f, 0.012056f, -0.009205f, -0.018226f, 0.022670f, -0.001336f, 0.005382f, -0.017061f, 0.001257f, -0.005191f, 0.025153f, 0.003963f, 0.011386f, -0.002382f, 0.010097f, 0.006795f, -0.022766f, -0.003589f, -0.012784f, -0.010991f, 0.001534f, 0.016043f, 0.002013f, -0.003224f, 0.024904f, -0.002639f, -0.014075f, -0.010748f, -0.007365f, 0.012223f, 0.037628f, -0.000078f, 0.010441f, 0.002699f, -0.011995f, -0.002634f, 0.000206f, 0.011165f, 0.017105f, 0.001573f, 0.013748f, 0.012266f, -0.022533f, 0.000746f, -0.004027f, -0.000574f, 0.011290f, -0.005040f, 0.002933f, 0.005332f, -0.001738f, -0.011571f, -0.008034f, -0.016901f, 0.004042f, 0.006737f, -0.000853f, 0.002601f, 0.002485f, 0.002054f, -0.000208f, -0.005248f, 0.001109f, 0.002490f, -0.000300f, 0.002306f, -0.002745f, 0.004502f, -0.000392f, 0.002262f, -0.001249f, -0.000810f, -0.002180f, 0.000572f, -0.001173f, 0.000792f, 0.003717f, 0.005978f, 0.004938f, 0.000749f, 0.001287f, 0.003662f, 0.002030f, 0.000115f, 0.002062f, -0.006698f, -0.029061f, 0.006586f, -0.002941f, 0.009966f, 0.006384f, 0.027043f, 0.005438f, -0.005126f, - 0.006476f, 0.020690f, 0.022901f, 0.009451f, 0.016126f, 0.016495f, -0.012811f, -0.009957f, -0.020753f, -0.022424f, 0.002437f, 0.009654f, -0.018975f, -0.013500f, -0.001047f, -0.021947f, -0.018198f, 0.009203f, 0.002933f, -0.009762f, -0.006509f, -0.014407f, 0.011927f, 0.008707f, 0.019624f, 0.037323f, -0.004166f, -0.010613f, -0.004012f, -0.018430f, -0.000243f, -0.014367f, -0.015895f, 0.019111f, 0.002157f, 0.002606f, -0.024616f, 0.025365f, 0.005020f, -0.015844f, -0.005108f, 0.013042f, 0.000850f, 0.002802f, -0.000459f, 0.002096f, 0.007404f, -0.012144f, 0.014183f, 0.000283f, -0.010004f, -0.002818f, -0.017123f, 0.002628f, -0.017580f, -0.015609f, 0.013433f, 0.013867f, -0.013988f, -0.022217f, 0.005619f, -0.010731f, -0.001632f, -0.005949f, 0.007431f, -0.006387f, 0.009816f, 0.003118f, 0.011890f, -0.002737f, 0.008872f, 0.004555f, -0.019945f, -0.007001f, 0.004863f, 0.002584f, 0.000323f, -0.009879f, -0.005591f, -0.002977f, 0.006547f, -0.003837f, -0.003339f, 0.000260f, 0.005237f, 0.004069f, -0.000264f, -0.000314f, -0.005745f, -0.003102f, 0.001062f, -0.001375f, -0.000611f, 0.004657f, 0.000476f, -0.000350f, - -0.004230f, 0.004019f, 0.001258f, -0.001551f, -0.000847f, -0.002843f, -0.000570f, -0.003144f, 0.004232f, -0.001071f, 0.001931f, -0.001250f, -0.011083f, -0.012094f, 0.014612f, -0.004505f, -0.003474f, 0.008459f, -0.012223f, -0.012837f, 0.014730f, 0.019739f, 0.000291f, -0.001206f, 0.006637f, -0.016992f, 0.028934f, -0.017796f, 0.002051f, 0.013861f, -0.006645f, 0.012931f, 0.015581f, 0.005144f, -0.016474f, 0.017688f, -0.002694f, 0.006640f, -0.012930f, -0.002420f, -0.024537f, 0.008410f, -0.014600f, 0.005594f, -0.025252f, 0.014776f, -0.018474f, -0.012879f, 0.010485f, 0.014585f, 0.004861f, 0.001597f, 0.000560f, -0.015862f, -0.014747f, -0.009415f, 0.038293f, 0.021011f, -0.006072f, -0.035552f, -0.005049f, 0.009953f, 0.020640f, -0.011736f, 0.001652f, -0.024590f, -0.008465f, -0.003085f, 0.006362f, 0.003547f, -0.005529f, -0.000498f, 0.010756f, -0.012207f, -0.000681f, -0.013908f, 0.007530f, 0.008995f, 0.026487f, 0.011186f, -0.012870f, 0.005400f, -0.007161f, -0.020079f, -0.002520f, 0.011508f, 0.001659f, 0.032912f, -0.018858f, -0.009276f, 0.005118f, -0.017250f, 0.008798f, 0.002685f, -0.003214f, 0.016688f, - 0.004179f, 0.007335f, 0.000164f, 0.000544f, -0.002574f, 0.008220f, 0.012384f, 0.002917f, -0.003513f, 0.008991f, -0.004672f, 0.002783f, -0.008467f, -0.002905f, 0.000035f, -0.011267f, -0.000139f, -0.004418f, -0.001932f, -0.004409f, -0.007215f, -0.003418f, 0.002558f, 0.002781f, 0.002021f, -0.002415f, -0.000293f, 0.004903f, -0.008126f, 0.000804f, 0.000777f, -0.025277f, -0.003716f, 0.005187f, 0.014922f, 0.007268f, 0.019482f, 0.003553f, -0.023288f, 0.014832f, -0.019701f, -0.021084f, 0.000590f, -0.001909f, 0.016053f, 0.019961f, 0.018357f, 0.026776f, 0.006551f, -0.027607f, 0.030245f, 0.016547f, -0.012208f, 0.023279f, -0.002996f, 0.002857f, -0.020392f, -0.007039f, -0.005870f, -0.009023f, 0.019518f, -0.032738f, -0.007393f, -0.015366f, -0.014618f, 0.002737f, 0.015814f, -0.007446f, -0.018889f, -0.020024f, -0.026100f, -0.026372f, -0.013397f, -0.004456f, 0.011414f, -0.020692f, -0.026852f, -0.015845f, -0.006748f, -0.013149f, -0.008794f, 0.023457f, -0.013141f, 0.002246f, 0.012451f, -0.021199f, -0.012598f, -0.014272f, 0.023087f, -0.009793f, 0.015046f, 0.033089f, -0.003186f, 0.007462f, 0.003255f, -0.010077f, - -0.013250f, -0.009028f, 0.015636f, -0.002278f, 0.017899f, 0.001124f, 0.013520f, 0.003193f, -0.022667f, 0.028160f, -0.012100f, -0.003538f, -0.024081f, 0.014841f, 0.031651f, 0.005390f, -0.004301f, 0.008442f, 0.003692f, -0.020199f, -0.009417f, 0.001243f, -0.004759f, -0.002133f, -0.008694f, -0.008493f, -0.001379f, 0.001552f, 0.001293f, 0.014744f, -0.001672f, 0.001910f, -0.007254f, 0.005628f, 0.000632f, 0.011090f, 0.004827f, 0.005026f, 0.002118f, -0.001289f, -0.004729f, -0.003974f, -0.006578f, -0.001402f, -0.004948f, 0.003349f, 0.001725f, -0.000077f, -0.003440f, -0.002904f, -0.002514f, -0.000979f, 0.001178f, -0.001155f, 0.006081f, 0.046849f, 0.029538f, 0.021497f, -0.015534f, -0.033721f, -0.009103f, 0.020533f, -0.031942f, -0.017402f, 0.000616f, 0.025092f, 0.017982f, 0.014580f, -0.018508f, 0.013968f, -0.004987f, 0.013964f, -0.003662f, 0.036279f, 0.021744f, -0.001789f, -0.033368f, -0.003432f, 0.025288f, 0.021521f, 0.000892f, 0.043979f, 0.019887f, -0.008831f, -0.000021f, 0.003044f, -0.005205f, -0.012273f, -0.016940f, -0.002655f, -0.047555f, 0.013481f, -0.016316f, 0.002269f, -0.001678f, 0.012427f, - 0.017689f, 0.000455f, 0.004706f, -0.021213f, 0.015119f, -0.007704f, 0.031483f, 0.000728f, 0.004495f, -0.076698f, -0.003300f, 0.020472f, 0.010564f, 0.021774f, -0.007466f, -0.021472f, 0.011932f, 0.004171f, -0.017595f, 0.016756f, 0.003396f, -0.016861f, 0.000247f, 0.000728f, 0.005884f, -0.006193f, -0.028079f, -0.028128f, -0.001155f, -0.010117f, 0.009433f, 0.009922f, 0.004173f, 0.010560f, -0.034381f, -0.011783f, 0.001772f, 0.007629f, 0.008303f, -0.013688f, 0.010801f, 0.002523f, -0.004920f, 0.003638f, 0.009744f, -0.006475f, 0.001310f, -0.002089f, 0.004031f, -0.006588f, -0.010304f, -0.003478f, 0.012259f, -0.009267f, 0.001308f, -0.006925f, 0.004912f, -0.002865f, 0.004349f, 0.007065f, -0.000850f, -0.007029f, 0.005754f, -0.001190f, -0.008219f, -0.005245f, 0.002957f, 0.003800f, 0.000454f, -0.003323f, 0.001638f, -0.000671f, 0.005073f, -0.002397f, 0.009832f, -0.003363f, -0.000631f, -0.032367f, -0.052074f, 0.008399f, 0.018025f, 0.018723f, 0.000437f, 0.043273f, -0.030789f, 0.010145f, 0.005915f, -0.008783f, -0.027333f, -0.011516f, -0.015551f, 0.018347f, -0.008069f, -0.016837f, -0.027821f, -0.002580f, - -0.010291f, -0.005324f, -0.020989f, 0.011173f, -0.001332f, -0.009829f, 0.011281f, 0.014369f, 0.017004f, -0.022114f, 0.040355f, 0.002441f, -0.005824f, -0.024812f, -0.023331f, -0.004755f, -0.003083f, -0.024203f, -0.025234f, -0.019367f, 0.016237f, -0.011225f, 0.026940f, 0.008617f, 0.044968f, 0.015422f, 0.017052f, -0.005794f, 0.024097f, -0.004218f, 0.005774f, 0.034170f, -0.010455f, 0.012384f, -0.041148f, -0.052369f, 0.011372f, -0.002496f, -0.033271f, 0.002050f, 0.000775f, -0.045204f, 0.012668f, -0.013333f, -0.008989f, -0.017670f, 0.016997f, -0.016512f, 0.000886f, -0.001846f, 0.008165f, 0.000019f, -0.024787f, 0.014487f, -0.003624f, 0.005753f, -0.031249f, -0.043081f, -0.038389f, 0.002104f, -0.009149f, -0.043622f, -0.009237f, 0.041858f, 0.022015f, 0.009689f, 0.007930f, -0.019384f, 0.000584f, -0.004470f, 0.001817f, -0.006400f, -0.005215f, -0.000250f, -0.000531f, 0.001644f, -0.000116f, -0.013542f, -0.003308f, 0.003541f, -0.002593f, 0.006491f, 0.010627f, 0.008927f, -0.000151f, -0.001524f, -0.004697f, 0.014166f, 0.008120f, 0.009318f, 0.007731f, 0.005703f, -0.001104f, -0.005424f, -0.004910f, 0.011051f, - -0.008615f, 0.006586f, 0.009264f, 0.003625f, 0.004547f, 0.000743f, 0.002706f, -0.007487f, 0.000638f, -0.002167f, -0.006453f, 0.003083f, 0.008386f, 0.031690f, 0.041365f, -0.001136f, 0.011018f, 0.026165f, 0.021449f, -0.002150f, -0.052632f, 0.036085f, -0.003535f, 0.009855f, -0.010716f, 0.018519f, -0.001282f, -0.022741f, 0.006436f, 0.041459f, 0.006365f, -0.027153f, 0.023984f, 0.017157f, 0.011241f, -0.020418f, 0.022072f, 0.016372f, 0.001973f, 0.026353f, -0.010465f, 0.007069f, 0.042449f, 0.030928f, 0.001289f, 0.009794f, 0.020875f, -0.040025f, -0.008027f, -0.002554f, -0.006211f, -0.035075f, 0.009041f, 0.010599f, 0.002082f, -0.027206f, -0.000361f, -0.046570f, 0.002555f, -0.033286f, -0.006516f, 0.017118f, -0.014136f, -0.020163f, -0.016135f, 0.009858f, 0.008194f, -0.018610f, 0.007426f, -0.006740f, 0.023017f, -0.011982f, -0.013434f, 0.011932f, 0.021508f, -0.002108f, 0.009398f, 0.008250f, -0.050799f, -0.001217f, -0.003708f, -0.025969f, 0.002726f, 0.033057f, 0.010122f, -0.009339f, -0.004058f, 0.024141f, 0.016999f, 0.010523f, -0.006818f, 0.038331f, 0.000401f, -0.031913f, 0.004288f, 0.038360f, - 0.019927f, 0.019463f, 0.011536f, 0.002071f, -0.009477f, -0.010893f, 0.006927f, 0.006220f, 0.009117f, 0.014392f, -0.003584f, 0.011361f, 0.006922f, 0.001109f, -0.001974f, -0.001193f, 0.005081f, -0.005212f, -0.002027f, -0.005169f, -0.000149f, -0.002452f, 0.005594f, -0.011600f, 0.001954f, 0.003929f, 0.001210f, 0.008819f, -0.015695f, -0.006555f, 0.002607f, 0.002978f, -0.001616f, 0.009025f, -0.003380f, -0.003028f, -0.004397f, 0.001017f, 0.005764f, 0.006837f, -0.008775f, 0.001267f, 0.003968f, -0.008010f, -0.005141f, -0.004435f, 0.020225f, -0.046566f, 0.019788f, -0.048222f, -0.057211f, -0.037011f, 0.002425f, -0.031579f, 0.030751f, -0.009683f, -0.038464f, -0.001339f, -0.009774f, 0.005186f, 0.007179f, -0.009012f, -0.004956f, 0.025337f, -0.007565f, 0.009643f, -0.013819f, -0.013809f, 0.040390f, -0.013635f, -0.004624f, -0.001250f, 0.009216f, 0.024849f, -0.050683f, -0.003469f, 0.027173f, 0.026175f, 0.024600f, 0.003206f, -0.009163f, 0.052124f, 0.017718f, 0.016398f, 0.020398f, 0.009225f, -0.007321f, 0.000323f, 0.030759f, 0.009891f, -0.021675f, 0.011447f, 0.056613f, -0.029917f, 0.039142f, 0.014293f, - -0.059673f, 0.014415f, 0.040165f, -0.004394f, 0.018101f, -0.000259f, -0.045207f, 0.022847f, 0.056425f, 0.003159f, 0.038396f, -0.023238f, 0.033981f, 0.028032f, -0.000836f, -0.005091f, 0.031203f, 0.016476f, -0.040852f, 0.040916f, -0.010037f, -0.009353f, 0.024920f, -0.012033f, -0.014633f, -0.018264f, 0.006474f, 0.002126f, 0.006912f, -0.001717f, -0.008196f, 0.030748f, -0.027380f, 0.004743f, -0.005591f, -0.008971f, -0.022357f, -0.021298f, 0.012652f, -0.001612f, -0.013740f, -0.018999f, -0.015871f, -0.027068f, -0.019152f, -0.001054f, -0.013232f, -0.007956f, -0.001894f, -0.014023f, 0.005996f, -0.012340f, -0.012672f, -0.003426f, 0.003224f, 0.004530f, -0.006335f, -0.000772f, -0.019888f, 0.007988f, -0.020865f, 0.016031f, -0.005289f, -0.001297f, -0.009106f, -0.004965f, -0.000952f, 0.024001f, 0.012083f, -0.002416f, 0.005785f, 0.016539f, 0.009038f, -0.008984f, -0.004217f, 0.006527f, -0.008128f, 0.013515f, 0.003091f, -0.005125f, -0.018130f, -0.032180f, 0.077282f, 0.038239f, -0.090116f, -0.037148f, 0.009565f, -0.014938f, 0.026034f, 0.030650f, 0.032889f, 0.037622f, -0.023113f, 0.071278f, -0.010727f, 0.001801f, - -0.023330f, 0.026862f, 0.035794f, -0.025793f, -0.029423f, -0.006187f, -0.016945f, 0.003173f, 0.014276f, 0.002211f, -0.018522f, -0.006992f, 0.029353f, -0.002331f, 0.014833f, 0.003592f, 0.035322f, 0.052951f, 0.020083f, -0.025440f, -0.059642f, -0.004988f, -0.010125f, 0.006733f, -0.013804f, 0.019697f, 0.033059f, 0.003012f, -0.012255f, -0.027226f, 0.065206f, 0.057047f, -0.007567f, 0.027870f, -0.015522f, -0.020811f, -0.062814f, 0.034749f, -0.029311f, -0.006726f, -0.001880f, -0.019603f, 0.011002f, 0.038611f, 0.005898f, -0.016993f, 0.018310f, -0.007846f, -0.025932f, 0.039483f, 0.008010f, -0.054641f, 0.070055f, -0.047427f, -0.025426f, 0.027126f, 0.027804f, 0.023337f, 0.000394f, -0.058364f, -0.005028f, 0.005163f, -0.003396f, -0.019154f, 0.011310f, -0.010000f, 0.004134f, 0.007286f, -0.024243f, 0.028042f, 0.019509f, 0.009422f, 0.003762f, -0.011459f, -0.008514f, -0.000536f, 0.009883f, 0.000893f, 0.007623f, -0.004552f, -0.018779f, 0.005706f, -0.027525f, -0.008703f, 0.008754f, -0.008116f, 0.015054f, -0.012739f, -0.001886f, -0.010823f, 0.011995f, 0.001062f, 0.014753f, 0.017165f, 0.011792f, 0.000508f, - -0.012994f, 0.009439f, 0.015957f, -0.003151f, -0.001867f, -0.017093f, -0.007545f, 0.019854f, -0.006787f, 0.013409f, -0.001165f, -0.007463f, 0.007036f, 0.006664f, -0.000410f, -0.011262f, 0.020507f, -0.024867f, 0.002773f, 0.035555f, 0.010544f, -0.048238f, -0.038693f, -0.009262f, 0.060354f, 0.006312f, -0.028984f, -0.077848f, -0.021657f, -0.003534f, 0.018485f, 0.053584f, 0.041050f, -0.005729f, 0.000509f, 0.035252f, 0.028686f, 0.001339f, 0.007866f, -0.105050f, -0.066236f, -0.032274f, -0.051905f, 0.004514f, -0.028953f, 0.046489f, -0.010642f, -0.003643f, -0.000227f, -0.018721f, -0.021377f, 0.033686f, 0.020991f, 0.011924f, -0.004763f, -0.016040f, -0.014367f, 0.016782f, -0.037646f, -0.014105f, 0.006660f, -0.013051f, -0.018334f, 0.015702f, -0.054414f, -0.076140f, 0.018109f, 0.023792f, 0.029551f, -0.044462f, -0.023642f, 0.024621f, 0.009348f, -0.074224f, -0.065191f, 0.003962f, -0.031550f, -0.032636f, 0.012140f, -0.059965f, 0.030431f, -0.023196f, 0.025009f, 0.023999f, -0.014876f, -0.033797f, -0.078099f, -0.027379f, -0.023463f, 0.043840f, -0.037892f, -0.024713f, 0.013367f, 0.044815f, 0.026124f, 0.000251f, - -0.015254f, -0.005019f, 0.013409f, -0.013439f, 0.045289f, -0.028063f, -0.021996f, -0.010630f, -0.003936f, 0.012452f, -0.033363f, 0.019650f, 0.015063f, -0.013976f, -0.023362f, 0.005435f, -0.001354f, 0.022747f, -0.029178f, -0.038059f, -0.009655f, 0.006023f, -0.021055f, -0.003170f, -0.025461f, 0.001102f, 0.006211f, -0.011457f, 0.017765f, -0.004786f, -0.012590f, 0.005518f, -0.008510f, 0.005183f, -0.007251f, -0.026450f, -0.001163f, 0.001942f, 0.025251f, 0.019806f, -0.012154f, 0.000091f, -0.001361f, -0.014933f, -0.019105f, 0.009266f, -0.004854f, 0.030880f, 0.042629f, -0.006877f, -0.057109f, 0.025858f, -0.008473f, -0.023922f, -0.049215f, 0.014679f, 0.021218f, -0.073191f, 0.027753f, 0.025972f, 0.066110f, 0.005948f, -0.016403f, 0.004073f, -0.080608f, -0.023463f, -0.009673f, 0.001046f, 0.014917f, -0.027605f, 0.049628f, 0.019817f, 0.061311f, -0.012286f, 0.053947f, 0.034550f, 0.021410f, 0.049046f, 0.024965f, 0.032367f, 0.041804f, 0.001825f, -0.054432f, -0.051480f, 0.010613f, 0.058942f, 0.042691f, -0.078531f, -0.002151f, -0.013301f, -0.010934f, -0.008243f, -0.054301f, 0.013936f, -0.038651f, 0.034884f, - -0.025822f, 0.078713f, -0.020597f, -0.112924f, -0.011901f, -0.038915f, 0.022567f, 0.016770f, 0.032280f, 0.073288f, 0.016492f, -0.009954f, 0.040246f, -0.023688f, 0.082009f, 0.013787f, 0.054909f, 0.025762f, 0.005120f, -0.020756f, -0.018658f, 0.134402f, 0.000931f, -0.092767f, -0.018521f, 0.074154f, -0.044180f, 0.009735f, -0.020307f, 0.032562f, 0.068220f, 0.039319f, -0.078414f, -0.005060f, -0.077191f, 0.010760f, -0.010522f, -0.045769f, -0.005259f, -0.012362f, -0.020133f, -0.000096f, -0.039455f, -0.043459f, 0.015203f, 0.016452f, -0.002000f, -0.048637f, 0.035324f, -0.043089f, -0.066609f, -0.028408f, 0.016797f, -0.016522f, -0.029586f, -0.038278f, 0.007216f, 0.016241f, -0.034586f, -0.026508f, 0.013067f, -0.015341f, -0.027865f, 0.022969f, 0.018482f, -0.001608f, -0.003319f, 0.001366f, -0.006218f, -0.011422f, -0.012026f, 0.004520f, -0.025689f, 0.015252f, -0.009041f, 0.005829f, -0.032714f, 0.036997f, 0.016022f, -0.076777f, -0.028803f, -0.087189f, 0.013292f, 0.076855f, -0.056630f, -0.053104f, 0.050782f, 0.023875f, -0.086917f, -0.082370f, 0.026411f, 0.004360f, 0.012094f, 0.028042f, -0.003431f, -0.024730f, - -0.012574f, 0.052636f, -0.037684f, 0.064995f, 0.010595f, -0.015219f, 0.013896f, 0.037551f, -0.000123f, -0.011242f, -0.069549f, -0.030524f, 0.007733f, -0.037273f, 0.032174f, 0.048041f, 0.003482f, 0.007956f, -0.049751f, 0.059354f, -0.020827f, -0.026528f, 0.048421f, -0.018593f, 0.000119f, -0.034711f, -0.003507f, -0.024401f, -0.085521f, 0.029370f, -0.009560f, 0.063595f, 0.081579f, -0.001185f, -0.014536f, -0.051684f, -0.016317f, -0.014379f, 0.077633f, -0.073769f, -0.052059f, -0.122284f, 0.002893f, -0.050619f, 0.014069f, 0.042444f, -0.022850f, -0.006370f, 0.083456f, 0.053822f, 0.038079f, 0.006586f, 0.003847f, 0.063330f, -0.068623f, -0.002979f, 0.019533f, -0.008100f, 0.037919f, 0.018188f, 0.161032f, 0.025466f, -0.043946f, -0.002462f, -0.030101f, -0.079342f, -0.031416f, 0.002961f, 0.013513f, -0.015277f, -0.016421f, -0.015016f, -0.056661f, -0.000709f, -0.004634f, -0.030097f, 0.008065f, 0.020218f, -0.048570f, 0.003193f, -0.032941f, 0.012927f, -0.002214f, -0.011442f, -0.006504f, 0.002832f, 0.028681f, 0.016729f, 0.001327f, 0.031737f, -0.019445f, -0.004095f, -0.009225f, 0.029873f, 0.020027f, 0.014225f, - 0.030749f, 0.014309f, -0.021852f, -0.010491f, -0.003532f, 0.015241f, -0.027504f, -0.007070f, 0.000952f, -0.031058f, -0.009599f, 0.005675f, 0.074445f, -0.054685f, 0.018975f, -0.018776f, -0.026542f, -0.025881f, 0.112524f, -0.015093f, 0.055250f, -0.044615f, 0.076780f, -0.026636f, 0.001153f, 0.041352f, 0.044358f, 0.105863f, 0.005085f, 0.017300f, 0.015583f, -0.044981f, 0.054701f, 0.016920f, -0.032076f, 0.053258f, -0.022205f, 0.067080f, 0.051327f, -0.015874f, 0.044676f, 0.002059f, 0.041728f, 0.008371f, 0.070713f, -0.043132f, 0.035350f, -0.071373f, -0.017731f, 0.023968f, 0.076669f, -0.003352f, 0.006356f, 0.032971f, -0.000063f, -0.025784f, -0.091914f, -0.056933f, 0.015967f, -0.039538f, -0.001517f, 0.029116f, -0.080035f, 0.049142f, -0.003267f, 0.058439f, -0.027534f, -0.054606f, -0.009255f, 0.151004f, 0.034564f, -0.137327f, 0.024490f, 0.035011f, 0.008864f, 0.149512f, -0.008717f, -0.110057f, 0.114554f, -0.038479f, -0.007039f, 0.125140f, -0.013107f, 0.082340f, 0.013607f, -0.074282f, 0.003519f, 0.127949f, -0.103997f, 0.054875f, -0.063579f, -0.072037f, 0.053861f, 0.032292f, -0.065589f, -0.024073f, - -0.040575f, -0.022133f, -0.023537f, 0.012069f, -0.039968f, -0.008160f, 0.016574f, -0.041290f, -0.029273f, 0.021711f, -0.048121f, -0.011646f, 0.017669f, 0.006941f, -0.010682f, 0.036688f, -0.015245f, -0.012113f, -0.017071f, -0.032752f, 0.016598f, -0.021020f, -0.023949f, -0.005521f, 0.004866f, 0.048944f, 0.000836f, 0.014077f, -0.039537f, 0.004444f, 0.052227f, -0.009297f, -0.005458f, -0.003733f, 0.003223f, 0.003965f, 0.036721f, -0.018672f, -0.021413f, -0.010653f, -0.033677f, -0.040485f, 0.011651f, -0.019942f, 0.008999f, 0.013328f, -0.005274f, -0.110403f, -0.008387f, 0.017399f, -0.041257f, -0.011691f, -0.115874f, 0.073770f, 0.112787f, -0.049148f, 0.016068f, -0.085370f, -0.250249f, -0.047491f, 0.011744f, 0.127530f, 0.106843f, -0.104074f, -0.093002f, -0.093449f, -0.076979f, -0.053982f, 0.066399f, -0.010981f, 0.146110f, 0.099341f, -0.029225f, -0.120197f, -0.301726f, -0.194869f, 0.013809f, 0.335670f, 0.255193f, 0.047303f, -0.131314f, -0.329217f, -0.337640f, -0.023978f, 0.196919f, 0.304910f, 0.333831f, 0.035043f, -0.107685f, -0.135913f, -0.180901f, -0.162437f, 0.011172f, 0.113456f, 0.210252f, 0.145297f, - 0.115787f, -0.149828f, -0.184240f, -0.216013f, -0.260730f, 0.029940f, 0.313079f, 0.309027f, 0.062997f, -0.110626f, -0.293115f, -0.384056f, -0.129791f, 0.030308f, 0.143349f, 0.351700f, 0.129591f, -0.000225f, -0.193288f, -0.157818f, -0.066386f, 0.080397f, 0.137634f, 0.241585f, 0.063382f, 0.126408f, -0.009833f, -0.161123f, -0.133406f, 0.008007f, 0.155933f, 0.170213f, -0.077035f, -0.147250f, -0.180680f, -0.045012f, 0.029926f, 0.043257f, 0.027953f, -0.090103f, -0.077963f, -0.032134f, 0.058160f, 0.000229f, 0.001244f, 0.013140f, 0.046597f, 0.037606f, 0.029207f, -0.015707f, -0.109870f, -0.073062f, 0.008571f, 0.056989f, 0.105576f, 0.051161f, -0.029413f, -0.069656f, -0.091984f, -0.057639f, -0.036764f, -0.048197f, 0.105888f, 0.110496f, 0.121359f, 0.100694f, -0.046386f, -0.192847f, -0.163313f, -0.088040f, 0.074774f, 0.244135f, 0.236756f, 0.013376f, -0.149039f, -0.233417f, -0.209940f, -0.013601f, 0.117013f, 0.109968f, 0.053630f, 0.048353f, 0.003074f, -0.062589f, -0.074889f, -0.094936f, -0.014010f, 0.088896f, 0.109335f, -0.029740f, 0.053864f, 0.041415f, -0.094987f, 0.001037f, 0.048856f, -0.039245f, - 0.054002f, -0.002193f, -0.009904f, -0.003874f, 0.010883f, 0.041057f, -0.016138f, 0.048382f, 0.032886f, 0.019710f, 0.021881f, 0.016625f, -0.004204f, -0.027679f, 0.045220f, -0.000594f, 0.027585f, -0.016444f, 0.024559f, -0.008435f, -0.003543f, 0.016726f, -0.022398f, -0.023577f, 0.003452f, -0.010122f, 0.036599f, 0.036223f, -0.033192f, 0.016590f, -0.019781f, 0.022799f, 0.000452f, 0.014985f, 0.005659f, 0.019440f, -0.023647f, 0.016422f, -0.027211f, -0.011744f, -0.003803f, -0.003016f, 0.021919f, -0.041412f, -0.008226f, -0.017059f, -0.036949f, -0.003211f, -0.014548f, 0.008887f, 0.035119f, -0.010503f, -0.048797f, 0.007904f, 0.030209f, 0.059101f, -0.002636f, 0.005266f, -0.031872f, -0.024118f, 0.027438f, 0.002561f, -0.010477f, 0.000893f, 0.048140f, 0.021396f, 0.015154f, 0.026090f, 0.044354f, -0.050272f, 0.020031f, -0.008536f, -0.075152f, -0.008695f, 0.058041f, -0.010717f, 0.051631f, -0.002258f, 0.032040f, -0.037949f, 0.023429f, -0.025799f, -0.007747f, 0.050958f, -0.014704f, 0.004740f, 0.000999f, -0.000177f, 0.018540f, -0.000036f, -0.007698f, -0.004292f, -0.001483f, -0.003564f, 0.009241f, 0.014634f, - 0.021251f, 0.002443f, -0.018338f, -0.008207f, -0.023688f, 0.008894f, -0.024559f, 0.013229f, 0.009968f, -0.007553f, 0.013596f, 0.004364f, -0.025472f, 0.000398f, -0.000142f, 0.008075f, -0.043671f, 0.015192f, 0.009546f, 0.003771f, -0.001309f, -0.012074f, 0.014130f, -0.022079f, 0.022087f, -0.001793f, -0.002820f, 0.005914f, -0.010783f, 0.018703f, -0.021212f, 0.005812f, 0.010555f, -0.034650f, 0.088562f, 0.152586f, 0.013041f, -0.099828f, 0.033504f, -0.007518f, 0.123733f, 0.058121f, 0.121629f, -0.011450f, -0.057761f, -0.015731f, 0.027004f, 0.051101f, 0.040022f, -0.022552f, 0.003962f, 0.021689f, 0.015798f, 0.048273f, -0.033717f, 0.008125f, -0.045482f, -0.007394f, 0.000700f, 0.011678f, 0.023788f, 0.005183f, -0.019358f, 0.036958f, -0.003347f, -0.032717f, 0.044669f, -0.007657f, -0.015885f, 0.011811f, -0.006560f, 0.034688f, 0.055464f, 0.001326f, 0.014546f, -0.018667f, -0.011550f, 0.032009f, 0.023287f, 0.026501f, 0.005345f, -0.016862f, -0.034747f, -0.035789f, -0.038773f, 0.031061f, 0.034257f, 0.033460f, 0.050044f, 0.053483f, 0.023233f, 0.002797f, -0.046646f, 0.028621f, -0.004920f, -0.042457f, - 0.052501f, -0.003878f, 0.034560f, 0.018036f, -0.052431f, 0.014506f, -0.015510f, 0.011204f, 0.035620f, 0.006616f, -0.043809f, -0.031211f, -0.025800f, -0.046046f, 0.028122f, -0.002849f, 0.048458f, -0.000519f, 0.007981f, 0.000944f, -0.026043f, -0.016846f, 0.009261f, -0.039507f, 0.012012f, -0.000430f, -0.007594f, 0.014213f, -0.021871f, 0.013335f, 0.008744f, -0.001797f, -0.018512f, 0.024344f, -0.006096f, 0.021591f, -0.036438f, -0.026906f, -0.015816f, -0.014169f, 0.017291f, -0.007289f, -0.004468f, -0.004672f, -0.018222f, -0.009947f, -0.011185f, 0.000010f, 0.033857f, 0.004495f, -0.008568f, -0.000567f, -0.019654f, 0.014321f, -0.010928f, -0.001946f, -0.007483f, 0.016048f, -0.001381f, 0.002112f, -0.003405f, -0.011653f, -0.007903f, -0.053928f, -0.120350f, 0.008092f, 0.166909f, 0.220475f, 0.189432f, 0.130488f, -0.005429f, 0.008017f, -0.096354f, -0.114900f, -0.192755f, -0.145851f, -0.154738f, -0.050291f, 0.013197f, 0.050334f, 0.084873f, 0.210253f, 0.175156f, 0.117766f, 0.038302f, -0.018673f, -0.075929f, -0.056752f, -0.078951f, -0.100688f, -0.055822f, -0.057637f, -0.070680f, -0.033085f, -0.046463f, 0.009750f, - 0.033037f, 0.027531f, 0.089741f, 0.082605f, 0.073536f, 0.047891f, 0.055731f, 0.034867f, 0.066721f, 0.015923f, 0.057747f, 0.002431f, -0.014922f, -0.100676f, -0.043602f, -0.121317f, -0.140758f, -0.157705f, -0.123402f, -0.092935f, -0.032761f, 0.023648f, 0.090699f, 0.096353f, 0.076214f, 0.156421f, 0.127047f, 0.135475f, 0.125761f, 0.117057f, 0.047206f, 0.075652f, -0.030262f, -0.075559f, -0.078909f, -0.186297f, -0.185857f, -0.179874f, -0.191087f, -0.157869f, -0.053754f, -0.026710f, 0.042643f, 0.106587f, 0.116467f, 0.141946f, 0.171333f, 0.152532f, 0.119183f, 0.107968f, 0.079810f, 0.029590f, -0.002774f, -0.064238f, -0.094109f, -0.095270f, -0.108301f, -0.091194f, -0.101864f, -0.106568f, -0.089604f, -0.070148f, -0.034842f, 0.003930f, 0.046545f, 0.089036f, 0.083795f, 0.082219f, 0.097435f, 0.107195f, 0.083398f, 0.083066f, 0.037426f, -0.039341f, -0.028320f, -0.068973f, -0.087161f, -0.073257f, -0.059743f, -0.042485f, -0.052796f, -0.038727f, 0.004901f, 0.010831f, 0.018871f, 0.046838f, 0.041794f, 0.026020f, 0.006819f, 0.017428f, 0.018401f, 0.005013f, 0.023209f, -0.014671f, -0.015454f, -0.013126f, - 0.008961f, -0.003020f, 0.000760f, -0.001714f, -0.002669f, -0.017645f, -0.011616f, -0.005574f, 0.016843f, -0.000677f, 0.007961f, 0.001837f, -0.008613f, -0.011707f, -0.005322f, -0.008485f, 0.002721f, -0.001242f, 0.003175f, 0.000858f, 0.004170f, -0.005234f, 0.004205f, -0.003965f, 0.001143f, 0.000845f, 0.007884f, -0.000970f, 0.004468f, -0.002981f, 0.003164f} - }, - { - {0.019357f, 0.010286f, -0.001158f, 0.006752f, 0.001689f, 0.001541f, -0.021194f, -0.009223f, -0.010498f, 0.008258f, -0.001136f, -0.006887f, 0.007508f, 0.007751f, 0.000509f, 0.007442f, -0.003109f, -0.000256f, -0.000437f, -0.004595f, -0.002392f, -0.010186f, 0.005264f, -0.015060f, 0.006289f, -0.007856f, 0.006412f, 0.011973f, 0.005466f, -0.002282f, -0.003386f, 0.008847f, -0.001427f, 0.000409f, 0.008374f, -0.008973f, -0.000262f, -0.003037f, -0.005167f, 0.001097f, -0.001257f, 0.001853f, 0.008583f, 0.014144f, -0.004495f, 0.000253f, 0.011748f, 0.000891f, 0.003090f, -0.004329f, -0.006584f, -0.000970f, 0.001974f, -0.011100f, -0.002914f, 0.005798f, 0.000754f, 0.002093f, 0.003444f, -0.001595f, -0.003469f, -0.003283f, -0.003891f, 0.004291f, 0.003516f, -0.002048f, -0.006360f, -0.007821f, 0.003864f, 0.000068f, -0.006491f, 0.006847f, -0.001496f, -0.000457f, 0.001044f, 0.001932f, -0.003239f, 0.004095f, -0.004361f, -0.001476f, 0.005358f, -0.003703f, 0.002135f, -0.006267f, -0.004792f, -0.002309f, -0.001552f, -0.000403f, 0.000847f, -0.002529f, -0.003164f, -0.000320f, -0.001802f, 0.000705f, -0.000668f, -0.000576f, - -0.000863f, 0.000667f, 0.000186f, -0.000665f, -0.001292f, -0.000782f, -0.000481f, -0.000122f, -0.000700f, -0.000451f, -0.000988f, 0.000903f, -0.001448f, -0.000899f, -0.006957f, -0.001912f, 0.000055f, -0.006590f, -0.006667f, -0.004000f, 0.015998f, -0.011237f, -0.004620f, -0.007847f, -0.014288f, 0.005336f, 0.002450f, 0.000556f, 0.012266f, 0.011613f, 0.011638f, 0.003758f, -0.002177f, 0.001800f, 0.008773f, -0.003753f, 0.003784f, 0.004432f, -0.010350f, 0.014737f, 0.002859f, 0.004583f, 0.010899f, -0.004193f, -0.010875f, 0.000733f, 0.007386f, -0.005207f, -0.002362f, -0.006942f, 0.007351f, -0.000191f, -0.000749f, -0.012065f, -0.000523f, -0.001468f, 0.007428f, 0.003792f, -0.006616f, 0.013195f, 0.004870f, 0.002744f, 0.004623f, -0.002155f, 0.007399f, -0.002885f, 0.000365f, -0.009213f, -0.011003f, 0.008818f, 0.006907f, 0.012217f, 0.001193f, 0.003294f, -0.009464f, -0.014651f, -0.007192f, -0.004398f, -0.004268f, -0.006771f, -0.005831f, 0.003017f, -0.001697f, 0.004442f, -0.005500f, -0.002110f, 0.002414f, 0.002731f, -0.001654f, 0.007452f, 0.002264f, -0.005602f, 0.011253f, -0.004417f, 0.003461f, 0.014197f, - 0.003028f, 0.001945f, -0.004404f, 0.000195f, -0.004836f, -0.005780f, -0.000932f, 0.003265f, -0.000067f, 0.000417f, 0.000176f, -0.001569f, -0.000503f, 0.000139f, -0.001420f, 0.003327f, 0.002133f, -0.001249f, -0.000308f, 0.000093f, 0.000873f, 0.000469f, -0.002214f, -0.001198f, -0.000534f, 0.000243f, 0.000985f, -0.001033f, -0.001593f, 0.001367f, -0.000820f, 0.001048f, -0.000571f, -0.000884f, -0.001108f, -0.013779f, -0.012835f, 0.007521f, 0.001720f, 0.010535f, -0.016281f, -0.002300f, -0.006468f, 0.001748f, 0.019403f, 0.011069f, -0.016951f, 0.006417f, 0.001620f, -0.007072f, -0.007857f, -0.009618f, -0.015606f, 0.000557f, 0.001885f, -0.005790f, 0.002789f, -0.003337f, 0.000612f, 0.004711f, 0.003655f, 0.010069f, -0.008791f, 0.015853f, -0.009648f, 0.009207f, 0.007321f, -0.005936f, 0.004292f, 0.000770f, 0.006607f, -0.002636f, 0.003463f, 0.006047f, 0.002040f, 0.000943f, -0.002400f, 0.004714f, 0.001437f, -0.002102f, 0.011301f, -0.014740f, 0.001039f, -0.008927f, 0.017780f, 0.006275f, -0.015473f, 0.006030f, 0.020326f, -0.019074f, -0.009071f, 0.002305f, -0.001540f, -0.007228f, 0.006079f, -0.002527f, - 0.013545f, -0.011363f, -0.001105f, -0.003752f, -0.000761f, -0.000680f, 0.013090f, -0.012110f, -0.004000f, -0.001304f, -0.012495f, 0.006761f, 0.005244f, 0.013516f, 0.005521f, 0.011510f, 0.010386f, 0.001718f, -0.004162f, 0.003269f, -0.000345f, -0.001428f, -0.003097f, -0.000282f, -0.004754f, -0.001894f, -0.001059f, -0.006668f, 0.004266f, 0.000371f, -0.004644f, -0.000773f, -0.003762f, 0.000368f, -0.000146f, 0.002588f, -0.000884f, -0.001494f, 0.000335f, -0.002133f, -0.000059f, 0.002237f, 0.000833f, -0.000469f, -0.001494f, 0.006140f, -0.009486f, 0.001205f, -0.005961f, 0.006287f, 0.002240f, -0.009548f, 0.027592f, -0.017553f, 0.005515f, 0.029890f, -0.021135f, 0.009837f, -0.000580f, 0.009775f, -0.002622f, -0.018065f, -0.003983f, 0.014918f, 0.013343f, 0.003699f, -0.000156f, 0.007553f, 0.003675f, 0.000273f, 0.006223f, 0.006281f, -0.005216f, 0.008003f, -0.002249f, 0.012614f, -0.010190f, -0.015685f, 0.003322f, -0.013693f, 0.004701f, 0.000257f, -0.003942f, -0.004383f, -0.006278f, -0.009319f, 0.001785f, 0.003285f, 0.000308f, 0.002370f, 0.002690f, -0.005746f, -0.012048f, 0.009455f, 0.002095f, 0.001551f, - -0.000611f, 0.013894f, 0.002775f, 0.005818f, 0.014660f, -0.009019f, 0.003537f, 0.000587f, 0.004410f, 0.010280f, 0.008037f, -0.013399f, -0.011758f, -0.003027f, -0.006726f, -0.001544f, 0.000461f, -0.005771f, 0.003048f, -0.010715f, 0.000509f, -0.010310f, 0.005082f, 0.005047f, -0.005982f, -0.007843f, 0.000860f, 0.004303f, 0.000788f, -0.009065f, 0.001268f, -0.005190f, 0.003889f, 0.003229f, 0.001444f, -0.001701f, -0.002550f, 0.001802f, -0.000269f, -0.000976f, -0.000064f, -0.002338f, -0.001970f, -0.006221f, -0.001544f, 0.005669f, 0.002479f, -0.001627f, -0.001128f, 0.003958f, -0.001364f, 0.001189f, -0.001755f, 0.000071f, -0.000441f, 0.000212f, -0.002254f, -0.001497f, -0.000860f, -0.000644f, -0.000813f, -0.000938f, 0.000189f, -0.000619f, -0.001423f, -0.001168f, 0.000750f, 0.008712f, -0.003725f, 0.007889f, -0.001488f, 0.003933f, -0.004533f, 0.000540f, -0.002977f, 0.002620f, -0.001433f, -0.017223f, 0.013080f, 0.008393f, 0.021574f, -0.014157f, 0.008834f, -0.017515f, -0.003010f, 0.010684f, 0.011561f, -0.012293f, 0.003517f, -0.014241f, 0.001052f, -0.016698f, 0.005468f, -0.012509f, -0.015524f, -0.013889f, - 0.006971f, -0.011222f, 0.000483f, -0.013161f, 0.001708f, 0.001933f, -0.001987f, -0.009635f, 0.006046f, 0.008457f, 0.005035f, 0.003938f, -0.010301f, 0.005601f, -0.010803f, -0.003416f, 0.006623f, 0.000214f, -0.001502f, -0.002909f, -0.000422f, 0.006851f, -0.007971f, -0.015360f, -0.003252f, 0.004727f, -0.003251f, -0.011389f, -0.011521f, -0.016333f, 0.003899f, -0.004711f, -0.015298f, 0.010933f, -0.009808f, -0.009612f, 0.018471f, -0.006680f, -0.003656f, 0.001511f, -0.003357f, -0.006028f, 0.001483f, -0.010140f, -0.005034f, -0.008531f, -0.006738f, -0.002800f, 0.005494f, 0.013991f, 0.000699f, 0.008409f, 0.000690f, 0.006275f, 0.004347f, 0.011303f, -0.000840f, -0.000254f, 0.001147f, 0.004179f, -0.002319f, 0.000484f, -0.001127f, 0.008266f, -0.000345f, 0.003993f, 0.000573f, 0.001593f, -0.001439f, 0.001848f, -0.005098f, 0.005541f, 0.000101f, 0.000110f, -0.004176f, -0.001052f, -0.005632f, 0.002659f, -0.002897f, 0.001905f, -0.000791f, 0.005590f, -0.002762f, 0.001107f, -0.004910f, -0.003905f, -0.000407f, -0.001698f, 0.001313f, 0.014272f, -0.020560f, 0.003702f, 0.017986f, -0.006672f, 0.019698f, 0.005488f, - 0.001242f, -0.005713f, -0.013757f, -0.009050f, 0.023450f, -0.012598f, -0.000110f, -0.004354f, 0.001832f, 0.014115f, 0.012680f, -0.007685f, 0.018318f, 0.018291f, -0.008624f, -0.004510f, 0.011140f, -0.009413f, -0.008241f, -0.000591f, -0.012658f, -0.000285f, -0.003737f, 0.001633f, 0.021977f, 0.007503f, 0.001185f, -0.010075f, -0.029237f, -0.003563f, 0.016425f, 0.004032f, -0.010959f, 0.008405f, 0.013351f, 0.011666f, 0.014106f, -0.023103f, 0.004668f, 0.001123f, -0.011467f, 0.006216f, -0.010321f, 0.007350f, -0.005824f, 0.009116f, 0.020490f, 0.027085f, 0.017094f, 0.007855f, -0.011238f, -0.003101f, -0.013413f, -0.014098f, -0.002970f, 0.015881f, 0.003905f, 0.000250f, 0.003737f, -0.015545f, 0.004037f, 0.001934f, -0.000143f, -0.007868f, 0.004209f, 0.008507f, -0.008995f, -0.016951f, 0.038604f, 0.004988f, -0.006917f, 0.002382f, 0.004154f, 0.017590f, -0.003544f, 0.004840f, 0.005995f, 0.008731f, -0.006076f, -0.002979f, -0.006560f, 0.003115f, -0.001818f, 0.003435f, 0.003201f, -0.002279f, -0.003592f, 0.006547f, 0.000871f, 0.001731f, -0.001250f, 0.003957f, -0.006793f, -0.004845f, -0.003270f, -0.001205f, - 0.007545f, 0.002779f, 0.005044f, 0.003850f, 0.003954f, 0.000280f, 0.000876f, -0.001680f, -0.004760f, 0.004654f, 0.001121f, 0.001968f, -0.003318f, -0.010635f, -0.002987f, -0.006525f, -0.002481f, 0.004943f, -0.006697f, 0.030446f, -0.002992f, 0.008578f, 0.021869f, 0.002858f, -0.003240f, -0.014304f, 0.008057f, -0.007726f, -0.009631f, -0.028905f, -0.012894f, 0.005806f, -0.001501f, -0.005601f, -0.020826f, 0.007279f, 0.011547f, -0.016436f, -0.008537f, -0.004423f, -0.017143f, 0.006842f, 0.001278f, -0.009107f, -0.007414f, -0.003144f, -0.023177f, -0.008292f, 0.011585f, 0.019308f, -0.014565f, -0.018298f, -0.005239f, -0.001080f, -0.014783f, -0.012220f, 0.004729f, 0.008129f, -0.016199f, 0.032592f, 0.000245f, 0.013249f, -0.007330f, 0.012449f, -0.008345f, 0.003745f, -0.023046f, -0.004882f, 0.009545f, -0.023153f, 0.006458f, -0.005239f, -0.011682f, -0.026290f, -0.000468f, 0.014577f, 0.000333f, -0.027730f, -0.004064f, 0.005033f, 0.011281f, 0.020327f, -0.007351f, 0.009092f, 0.023888f, 0.007921f, 0.003045f, -0.010815f, -0.001904f, -0.006752f, 0.001563f, -0.008046f, 0.001998f, -0.015189f, -0.001851f, 0.011622f, - 0.003488f, 0.002253f, -0.006439f, -0.011778f, 0.006709f, -0.002183f, 0.006921f, -0.002513f, 0.001063f, -0.001535f, -0.003218f, -0.003138f, 0.004566f, 0.001699f, -0.000689f, -0.001560f, 0.000334f, -0.004580f, 0.002334f, -0.004677f, -0.005643f, -0.003680f, 0.002257f, 0.000274f, 0.000224f, -0.004415f, 0.003666f, -0.000557f, -0.002075f, -0.006238f, -0.001756f, 0.000389f, 0.001032f, 0.002528f, 0.006838f, 0.002101f, 0.001751f, 0.003336f, 0.009006f, -0.002950f, -0.008989f, 0.010958f, 0.002010f, -0.016950f, -0.026463f, -0.021726f, -0.027390f, 0.023573f, -0.014292f, -0.003609f, 0.007837f, -0.026057f, -0.010710f, -0.018156f, -0.007976f, -0.005867f, 0.011829f, -0.022846f, -0.012070f, 0.007153f, 0.009087f, 0.013027f, -0.000129f, 0.000339f, -0.003987f, -0.000147f, -0.005272f, 0.003153f, -0.017970f, -0.009814f, -0.015795f, 0.010907f, 0.005543f, 0.008424f, 0.011134f, -0.022049f, -0.001508f, -0.002476f, 0.020034f, -0.007614f, 0.006357f, 0.010760f, -0.004019f, 0.011528f, -0.007554f, 0.012866f, 0.018280f, -0.007232f, -0.001187f, 0.015512f, -0.013290f, 0.021493f, -0.009186f, -0.034478f, 0.005409f, 0.017684f, - -0.006734f, 0.001936f, -0.000530f, 0.013541f, 0.017179f, -0.017479f, -0.007509f, 0.003945f, 0.011846f, -0.020540f, -0.015451f, -0.012516f, 0.024808f, -0.000699f, -0.028333f, -0.006271f, -0.011759f, 0.009591f, 0.001328f, 0.007217f, -0.010610f, 0.017438f, 0.000792f, 0.003036f, 0.005106f, -0.016338f, -0.005480f, 0.001102f, -0.001989f, -0.004195f, -0.004678f, 0.004437f, -0.004455f, -0.004490f, 0.003476f, 0.005072f, 0.002698f, -0.009641f, -0.000820f, -0.003906f, -0.002748f, 0.003851f, 0.003552f, 0.007906f, -0.001065f, -0.004041f, 0.003102f, -0.009059f, -0.001023f, -0.000172f, -0.005811f, 0.000700f, 0.000585f, -0.002316f, 0.001146f, -0.010283f, -0.001822f, -0.001319f, 0.001180f, 0.001207f, 0.004306f, -0.000635f, 0.004831f, 0.002637f, 0.002504f, 0.000234f, -0.015942f, -0.006453f, 0.010950f, 0.004054f, 0.015688f, 0.005381f, 0.007675f, -0.030810f, -0.012073f, 0.012022f, -0.008117f, -0.005813f, -0.010265f, 0.003156f, 0.016052f, 0.004211f, 0.003825f, -0.020642f, -0.006981f, -0.003768f, 0.007652f, 0.018126f, -0.022016f, 0.010379f, -0.017947f, -0.004773f, -0.016510f, 0.002118f, 0.002287f, -0.000842f, - 0.006896f, -0.015416f, -0.004442f, -0.014447f, -0.005941f, 0.000259f, -0.000668f, -0.018143f, 0.010397f, 0.011643f, -0.004340f, 0.013817f, 0.027177f, 0.002784f, 0.020586f, 0.026403f, 0.002076f, 0.000851f, 0.006368f, -0.005555f, 0.008751f, 0.001787f, -0.005783f, -0.008904f, 0.033167f, -0.003454f, 0.019381f, 0.008568f, -0.009782f, -0.011355f, -0.007906f, 0.009264f, -0.007580f, 0.012041f, 0.029213f, 0.014803f, -0.003885f, 0.000465f, -0.024504f, -0.016889f, -0.014951f, 0.022988f, 0.036091f, -0.015853f, -0.000146f, -0.014669f, -0.002425f, 0.022064f, -0.006989f, -0.001353f, -0.034828f, -0.004670f, -0.006354f, -0.003706f, 0.013205f, 0.000924f, 0.002734f, 0.004013f, -0.007001f, 0.005530f, 0.002940f, 0.004926f, -0.004187f, 0.007146f, -0.003462f, -0.000811f, -0.008839f, -0.002104f, 0.007658f, -0.002849f, -0.000250f, -0.001523f, 0.007350f, -0.001894f, -0.005368f, 0.003098f, 0.003251f, 0.001855f, 0.002553f, 0.002695f, -0.002922f, 0.000722f, 0.005177f, 0.008986f, 0.007778f, 0.005036f, 0.002709f, 0.000531f, 0.000654f, -0.005650f, -0.000541f, 0.003533f, -0.003486f, 0.003722f, -0.001305f, 0.001277f, - 0.004860f, -0.002143f, 0.020841f, 0.057787f, 0.025187f, -0.007854f, -0.002006f, -0.010736f, 0.026633f, -0.026682f, -0.015163f, -0.040793f, -0.000470f, 0.020115f, 0.025024f, 0.004507f, -0.009936f, -0.024456f, -0.017897f, 0.018022f, -0.003663f, 0.028624f, -0.000086f, -0.009194f, 0.013506f, 0.004922f, -0.000250f, -0.007119f, 0.018681f, -0.003475f, 0.016137f, -0.000258f, -0.008806f, 0.035216f, -0.008430f, 0.014283f, 0.034612f, 0.012171f, -0.001470f, -0.016923f, -0.003197f, -0.027564f, -0.032300f, 0.007028f, 0.020669f, -0.004966f, 0.002887f, -0.035247f, -0.013414f, 0.020413f, 0.011048f, -0.009138f, 0.006734f, -0.010460f, -0.005089f, -0.016077f, -0.027030f, 0.001626f, -0.006395f, -0.019081f, -0.031197f, -0.026894f, -0.008778f, -0.024705f, 0.011341f, -0.011065f, 0.003892f, 0.003190f, -0.000217f, 0.000588f, -0.004029f, -0.005540f, 0.015962f, 0.031782f, -0.021461f, 0.003877f, -0.009040f, 0.011489f, -0.011997f, -0.000478f, -0.008674f, -0.003908f, 0.029211f, 0.021251f, 0.004753f, -0.003297f, 0.000257f, -0.011966f, 0.004095f, 0.011909f, -0.002309f, -0.010350f, -0.005953f, 0.010311f, -0.012540f, 0.001139f, - 0.005285f, 0.004998f, -0.004440f, -0.003993f, 0.004424f, 0.005618f, -0.004352f, 0.006692f, 0.003822f, 0.005550f, -0.000644f, 0.007329f, -0.000833f, 0.004635f, 0.002228f, 0.002726f, 0.001631f, -0.001621f, 0.008566f, -0.008479f, -0.001317f, 0.001846f, -0.002608f, -0.002157f, -0.004054f, 0.003837f, 0.000278f, -0.007311f, -0.002815f, 0.004772f, -0.005324f, -0.023809f, -0.026934f, 0.006992f, 0.010344f, 0.032324f, -0.027311f, 0.008732f, 0.008402f, -0.045492f, -0.002092f, 0.000340f, -0.038003f, -0.020694f, -0.013426f, 0.009727f, -0.003016f, 0.002327f, -0.010704f, 0.016051f, 0.025227f, 0.013315f, -0.003553f, -0.038570f, -0.016783f, -0.020951f, 0.007870f, 0.002409f, -0.016903f, -0.001272f, 0.013333f, -0.011196f, 0.023012f, -0.020663f, -0.000580f, -0.012027f, -0.038556f, 0.006629f, -0.016393f, -0.018481f, 0.014406f, 0.021360f, -0.023882f, 0.009299f, 0.028260f, -0.009176f, 0.012403f, 0.009723f, -0.006583f, 0.003885f, -0.031300f, 0.047470f, 0.018707f, 0.011271f, 0.045334f, -0.055246f, -0.004111f, -0.007615f, 0.005899f, 0.022595f, 0.023468f, 0.009034f, 0.011209f, 0.029000f, -0.002733f, -0.019659f, - -0.034168f, 0.013270f, -0.012906f, 0.001303f, 0.009279f, -0.006815f, 0.014005f, 0.037137f, -0.022877f, 0.017317f, -0.011080f, -0.010619f, 0.028088f, 0.002138f, 0.008774f, 0.027231f, 0.022486f, -0.009881f, -0.011362f, -0.023956f, -0.006031f, 0.000119f, 0.012506f, 0.013099f, 0.000047f, 0.003106f, 0.001900f, -0.000480f, 0.002630f, 0.003011f, 0.001028f, 0.007393f, -0.003679f, 0.001104f, 0.005341f, 0.002947f, 0.001571f, -0.003330f, 0.007182f, 0.004656f, 0.001110f, -0.004093f, -0.005708f, -0.013589f, 0.008131f, -0.000559f, -0.001206f, 0.004093f, -0.006490f, -0.000802f, 0.004563f, 0.006210f, 0.009415f, 0.005260f, 0.002618f, 0.002566f, -0.000059f, 0.006785f, 0.029727f, 0.034798f, 0.008797f, 0.021438f, -0.013923f, 0.010057f, 0.009948f, -0.057317f, 0.016278f, 0.018480f, 0.003998f, -0.018310f, -0.000335f, -0.035402f, 0.041663f, 0.024979f, -0.012972f, -0.014054f, -0.020572f, -0.010859f, 0.030182f, -0.030512f, -0.017341f, -0.004627f, -0.004975f, -0.006622f, 0.004495f, -0.020220f, -0.020457f, -0.012174f, -0.015726f, -0.004336f, -0.020488f, -0.002889f, -0.013703f, -0.045295f, -0.028743f, -0.011208f, - -0.007042f, 0.006296f, 0.007711f, -0.000273f, 0.001484f, 0.013097f, 0.006470f, 0.006704f, 0.032023f, 0.006653f, 0.010939f, 0.019879f, 0.042964f, 0.036585f, 0.002115f, -0.014456f, -0.027883f, 0.025581f, -0.006090f, 0.069092f, 0.014146f, 0.030994f, -0.003172f, 0.003978f, -0.027230f, -0.001049f, 0.024182f, 0.013900f, 0.018389f, -0.020688f, -0.013484f, -0.026596f, -0.050351f, 0.029270f, -0.044404f, -0.005380f, 0.059116f, 0.004007f, 0.023844f, 0.011328f, 0.017610f, 0.000619f, -0.031524f, 0.031003f, -0.000262f, -0.027814f, -0.024709f, 0.001028f, 0.010006f, 0.020905f, 0.005860f, -0.024358f, 0.001575f, -0.004732f, 0.005260f, -0.009506f, -0.007729f, 0.004473f, 0.004248f, -0.007441f, 0.001052f, -0.002299f, -0.000384f, -0.009836f, -0.003345f, -0.003025f, 0.004970f, -0.002494f, -0.005786f, 0.008190f, -0.004600f, -0.001784f, -0.013812f, -0.014811f, 0.000385f, 0.000553f, -0.005837f, -0.003728f, 0.005270f, 0.003891f, -0.005926f, -0.009819f, -0.000251f, 0.006713f, -0.041041f, 0.012212f, 0.015255f, -0.027281f, -0.021345f, 0.000563f, 0.016750f, 0.040106f, -0.002192f, -0.030683f, -0.031250f, -0.001503f, - -0.017749f, 0.005348f, 0.005517f, -0.034276f, -0.029833f, -0.056084f, -0.016759f, -0.016178f, -0.038424f, -0.025809f, -0.000408f, -0.017676f, -0.011337f, -0.009955f, -0.003285f, -0.037708f, -0.020456f, -0.023138f, -0.011674f, 0.011770f, -0.032336f, 0.002511f, 0.026630f, 0.031990f, -0.007640f, 0.008823f, 0.018086f, -0.031453f, 0.017674f, -0.013571f, 0.027897f, -0.013491f, 0.002402f, -0.014548f, -0.003346f, 0.055790f, -0.011607f, 0.021050f, -0.040869f, -0.006658f, -0.000184f, -0.038554f, 0.035907f, 0.001449f, -0.013365f, 0.025950f, -0.010757f, 0.006721f, 0.050994f, -0.020233f, -0.028154f, 0.019338f, -0.005492f, -0.057406f, 0.023204f, -0.076121f, -0.041036f, 0.030608f, 0.023708f, 0.004942f, 0.016002f, 0.000134f, -0.000554f, -0.057421f, -0.031038f, -0.013495f, 0.005110f, -0.032624f, 0.007895f, 0.004567f, 0.013330f, -0.021295f, 0.001128f, 0.016512f, 0.012379f, 0.009506f, 0.000951f, 0.007827f, -0.018860f, -0.011952f, -0.012779f, -0.003511f, -0.002752f, -0.001643f, 0.014941f, -0.007737f, 0.007765f, 0.015087f, -0.007580f, 0.004668f, -0.012152f, -0.009124f, -0.000732f, 0.003888f, -0.010940f, 0.004727f, - -0.013673f, 0.011843f, -0.004929f, -0.002380f, 0.000338f, 0.010624f, -0.003529f, 0.004243f, -0.009666f, 0.008504f, 0.006264f, 0.019627f, 0.004439f, 0.016119f, -0.016107f, -0.005346f, -0.019129f, -0.009855f, -0.009478f, 0.077216f, 0.042286f, 0.000060f, -0.039755f, 0.020424f, -0.041456f, -0.033729f, 0.006135f, 0.034295f, 0.067806f, -0.010676f, 0.034283f, -0.012266f, 0.024337f, 0.041089f, 0.022989f, 0.026257f, 0.014092f, -0.007711f, -0.033632f, -0.034820f, -0.010530f, -0.032909f, -0.009673f, -0.006061f, -0.007401f, 0.026273f, -0.004478f, -0.067590f, 0.003968f, 0.016272f, 0.015610f, 0.040385f, -0.004170f, -0.080662f, 0.045854f, -0.036118f, 0.011807f, -0.007934f, 0.027131f, 0.039468f, -0.043963f, -0.003123f, -0.021967f, -0.038380f, 0.027751f, -0.019114f, -0.047210f, 0.018477f, 0.027574f, 0.045329f, 0.012018f, -0.007132f, 0.004963f, 0.037098f, -0.029900f, 0.058594f, -0.018441f, -0.016408f, -0.005280f, 0.035678f, -0.037184f, 0.003358f, 0.004537f, -0.103563f, -0.015350f, 0.031968f, -0.014903f, 0.005301f, 0.014370f, 0.007442f, -0.005082f, 0.008349f, 0.035493f, 0.042322f, -0.033576f, 0.012033f, - -0.024598f, -0.004274f, 0.041958f, -0.000976f, -0.004374f, 0.001468f, -0.002844f, -0.021839f, 0.005985f, 0.001369f, -0.012710f, -0.032309f, 0.000423f, -0.007790f, 0.009840f, -0.014974f, -0.013922f, -0.017601f, 0.014825f, 0.003330f, 0.009084f, 0.007212f, 0.000606f, 0.005296f, -0.007151f, -0.014861f, 0.022553f, -0.002374f, -0.010952f, -0.000454f, -0.007900f, -0.005049f, -0.009120f, 0.001045f, 0.002765f, -0.001441f, 0.006238f, 0.016325f, -0.000637f, -0.004119f, -0.006734f, 0.001376f, -0.008371f, -0.004859f, 0.009384f, -0.007320f, -0.006012f, -0.008934f, -0.021774f, -0.012304f, 0.003001f, 0.013953f, -0.011454f, -0.003019f, 0.044255f, 0.029358f, -0.082281f, -0.046778f, 0.056355f, 0.065316f, -0.035108f, -0.011896f, -0.092589f, -0.051177f, 0.013336f, -0.004200f, 0.012313f, -0.049216f, -0.030842f, -0.033730f, 0.049966f, 0.074249f, -0.003615f, 0.020046f, -0.012091f, -0.006503f, -0.000948f, 0.017054f, 0.032170f, 0.007832f, -0.011464f, -0.006156f, -0.007562f, -0.044351f, -0.025163f, -0.045090f, -0.006007f, 0.013942f, -0.018969f, 0.027827f, -0.020617f, -0.007713f, 0.043164f, -0.020924f, 0.024251f, 0.016870f, - -0.007934f, -0.041581f, -0.030124f, -0.024787f, 0.007474f, 0.077763f, 0.013666f, 0.041818f, 0.049254f, 0.038580f, 0.028529f, 0.025569f, -0.042923f, 0.001038f, -0.007048f, 0.057567f, 0.027321f, 0.033675f, 0.060063f, -0.029492f, -0.040454f, 0.014851f, 0.050795f, -0.086112f, -0.001585f, 0.006885f, 0.040029f, -0.069634f, -0.104996f, -0.018654f, 0.029385f, 0.007367f, 0.011869f, 0.032934f, 0.002074f, -0.023253f, -0.034485f, 0.001173f, 0.004705f, 0.006846f, 0.031752f, 0.047141f, 0.022257f, 0.003530f, 0.000140f, -0.000479f, 0.003860f, 0.004773f, -0.011918f, 0.017416f, 0.002146f, -0.015857f, -0.028001f, 0.003504f, -0.011947f, 0.006045f, 0.003034f, -0.002486f, 0.001757f, -0.011552f, 0.012033f, -0.006183f, 0.008074f, -0.012422f, -0.008077f, -0.022191f, -0.021947f, 0.001082f, 0.011535f, -0.009797f, 0.023108f, 0.000661f, 0.006875f, -0.006931f, 0.024699f, 0.002106f, 0.011316f, -0.012187f, -0.006691f, -0.003859f, -0.015379f, -0.002981f, 0.016651f, -0.028801f, 0.022199f, -0.001111f, -0.021131f, -0.037420f, 0.014100f, -0.018241f, -0.036489f, 0.026258f, 0.050655f, 0.015463f, -0.019171f, 0.029980f, - 0.050965f, 0.018738f, 0.010714f, 0.003537f, -0.005382f, 0.023835f, -0.042112f, 0.002462f, -0.060680f, 0.032535f, -0.048908f, -0.004190f, 0.026805f, 0.014581f, -0.027746f, 0.005881f, -0.032148f, 0.066580f, 0.008989f, 0.021570f, 0.035105f, 0.073461f, -0.029967f, 0.023835f, -0.034781f, 0.012674f, 0.026842f, 0.059060f, 0.014363f, -0.012038f, 0.060987f, 0.008160f, -0.003813f, -0.034869f, 0.002757f, 0.037942f, -0.012391f, 0.036473f, -0.044442f, 0.069202f, 0.072252f, -0.086287f, -0.001769f, -0.005444f, 0.019342f, -0.014698f, -0.010823f, 0.037126f, -0.030820f, -0.092038f, 0.001608f, 0.081861f, -0.064066f, 0.032444f, -0.014415f, -0.008169f, -0.038820f, 0.090376f, -0.005321f, 0.014983f, 0.008827f, -0.060741f, 0.079222f, 0.006190f, 0.070518f, -0.138433f, 0.013725f, -0.012978f, -0.041226f, -0.011168f, 0.024857f, -0.032195f, 0.022209f, -0.029010f, -0.018816f, -0.038195f, 0.048816f, -0.018488f, 0.003838f, -0.040726f, 0.002303f, -0.029901f, -0.009685f, 0.013990f, -0.020133f, 0.009723f, 0.001824f, -0.027583f, 0.025526f, -0.011264f, 0.004116f, -0.011753f, 0.023221f, -0.016981f, 0.004102f, 0.001660f, - -0.005779f, 0.030128f, -0.016816f, -0.020954f, -0.011641f, -0.023492f, -0.032299f, -0.016402f, 0.003719f, 0.002145f, -0.023105f, -0.013327f, -0.015341f, -0.022781f, -0.017565f, 0.008024f, 0.005880f, -0.000601f, 0.058531f, 0.006750f, -0.044433f, 0.004330f, -0.090583f, -0.020960f, 0.004793f, -0.017840f, -0.072167f, -0.008276f, -0.047303f, -0.012069f, 0.043793f, 0.009839f, 0.057348f, 0.023435f, 0.021775f, 0.013112f, -0.019291f, 0.045538f, -0.023054f, -0.000766f, 0.021859f, 0.009657f, -0.027882f, 0.022439f, 0.009525f, 0.053932f, 0.022542f, -0.010089f, 0.033019f, -0.026439f, 0.044512f, 0.014844f, -0.048444f, -0.050472f, 0.026130f, 0.032162f, 0.013764f, 0.004900f, -0.023406f, -0.032462f, 0.010039f, -0.031954f, -0.047407f, -0.015052f, -0.007807f, -0.044232f, -0.016043f, 0.015943f, -0.029725f, -0.049841f, 0.014184f, 0.017849f, 0.001981f, -0.006527f, -0.002625f, -0.008871f, 0.017991f, 0.083614f, 0.017406f, -0.003241f, -0.002934f, -0.030221f, -0.047726f, -0.021802f, 0.069503f, 0.073858f, 0.038387f, 0.006544f, 0.067787f, 0.031939f, -0.014997f, -0.094453f, -0.071337f, -0.059497f, -0.111911f, -0.065922f, - 0.016163f, 0.090603f, -0.040102f, 0.030279f, -0.044871f, 0.014208f, -0.003404f, 0.030753f, -0.014340f, -0.005862f, -0.040000f, -0.023713f, -0.009509f, -0.036526f, 0.046215f, -0.007749f, -0.023588f, -0.011951f, 0.005079f, -0.026602f, 0.018998f, 0.013134f, 0.030055f, 0.006221f, 0.008768f, -0.029803f, -0.033708f, -0.004572f, -0.024790f, -0.016504f, -0.028957f, -0.042927f, 0.002637f, -0.011685f, 0.003068f, 0.002420f, 0.032841f, 0.031762f, -0.011643f, -0.007087f, -0.013922f, 0.030655f, 0.021175f, 0.012965f, 0.005302f, -0.007030f, 0.018333f, -0.025421f, -0.009445f, -0.004693f, -0.027932f, -0.055589f, 0.029261f, -0.001682f, -0.017242f, -0.008060f, 0.020939f, 0.038761f, -0.016497f, 0.050003f, -0.057273f, 0.046189f, -0.005735f, 0.061725f, -0.039977f, 0.035551f, -0.059024f, 0.051290f, -0.047666f, -0.020451f, 0.071913f, 0.016284f, 0.057801f, 0.082085f, 0.008643f, -0.006916f, -0.034171f, -0.003024f, 0.052481f, 0.012897f, -0.018324f, -0.058181f, 0.005165f, 0.011174f, 0.027589f, 0.016459f, 0.023013f, 0.013960f, -0.033548f, -0.054148f, -0.022618f, 0.051930f, 0.020256f, 0.166237f, -0.052617f, -0.044726f, - 0.054572f, 0.085233f, 0.018226f, -0.001690f, 0.022788f, 0.005433f, 0.027760f, -0.025342f, 0.010240f, 0.039747f, 0.044493f, 0.029270f, 0.129571f, -0.016602f, -0.016311f, -0.008588f, 0.067059f, 0.039674f, -0.033390f, 0.034751f, -0.000307f, 0.011226f, -0.027386f, 0.059011f, -0.058561f, 0.003964f, 0.091722f, -0.067332f, 0.196400f, -0.090078f, 0.094276f, 0.085855f, -0.083876f, -0.077301f, 0.087742f, 0.003635f, -0.049686f, -0.021389f, 0.048784f, -0.132392f, 0.021415f, -0.015659f, -0.084445f, 0.055647f, -0.065932f, 0.005204f, 0.005785f, -0.026946f, -0.065010f, 0.017803f, -0.004213f, -0.003015f, 0.013607f, -0.013652f, -0.020778f, 0.011763f, 0.028622f, -0.010525f, 0.005227f, 0.021443f, -0.019086f, 0.029861f, 0.024121f, -0.047654f, 0.007947f, -0.026772f, 0.013286f, -0.001906f, 0.005046f, -0.024382f, 0.011329f, 0.006374f, 0.001101f, -0.012225f, 0.038087f, 0.008318f, -0.000044f, 0.035169f, -0.023521f, -0.022689f, 0.005142f, 0.015198f, 0.005220f, 0.016937f, 0.010202f, -0.048996f, -0.023895f, 0.012673f, -0.027244f, 0.042224f, -0.015525f, 0.032346f, 0.043617f, -0.101306f, -0.041933f, 0.061000f, - -0.129026f, -0.081107f, -0.053469f, 0.090127f, 0.194385f, 0.052841f, -0.150970f, -0.034929f, -0.154250f, -0.081634f, 0.127340f, 0.074908f, 0.119778f, 0.064721f, -0.089040f, -0.143375f, -0.107879f, -0.026751f, 0.065308f, 0.072552f, 0.044959f, 0.024050f, -0.036810f, -0.156656f, -0.186729f, -0.041255f, 0.144584f, 0.255564f, 0.174624f, -0.033364f, -0.119283f, -0.173111f, -0.127049f, -0.104118f, 0.001000f, 0.040732f, 0.140831f, 0.148764f, -0.079987f, -0.051247f, -0.186950f, -0.175252f, -0.061914f, 0.016616f, 0.182247f, 0.267166f, 0.119736f, -0.079654f, -0.279721f, -0.208623f, -0.151691f, 0.073110f, 0.160724f, 0.099127f, 0.064043f, 0.053064f, -0.166512f, -0.031368f, -0.094551f, 0.034886f, -0.012302f, 0.098565f, 0.156810f, 0.123149f, -0.144565f, -0.294146f, -0.219699f, 0.023889f, 0.172558f, -0.004837f, 0.238914f, 0.009308f, -0.060296f, -0.072185f, -0.051587f, 0.000086f, 0.172903f, 0.147790f, 0.028241f, -0.059660f, -0.020120f, -0.011471f, 0.091235f, 0.098986f, 0.012962f, 0.003749f, -0.014509f, -0.003218f, -0.018105f, -0.024862f, -0.014991f, -0.009411f, 0.035585f, 0.053269f, 0.045139f, -0.065535f, - -0.072582f, -0.028955f, -0.029453f, -0.029747f, 0.068205f, 0.054275f, 0.071681f, 0.020173f, -0.029166f, -0.053572f, -0.101418f, -0.065907f, 0.044171f, 0.089983f, 0.138315f, 0.093398f, 0.009002f, -0.212064f, -0.184772f, -0.063901f, 0.077601f, 0.118429f, 0.160267f, 0.119402f, -0.008139f, -0.120829f, -0.176000f, -0.171617f, -0.029925f, 0.185680f, 0.194051f, 0.097481f, -0.045100f, -0.129180f, -0.088382f, -0.060849f, 0.006804f, -0.034167f, 0.068281f, 0.021723f, -0.055936f, -0.052115f, -0.000186f, -0.084177f, -0.010801f, 0.012856f, 0.009315f, -0.007016f, 0.001758f, -0.028090f, -0.003901f, -0.003010f, 0.014225f, -0.009478f, 0.038595f, -0.010016f, -0.007861f, -0.010553f, -0.012597f, 0.024609f, 0.006582f, -0.011393f, 0.037360f, 0.002709f, -0.067443f, -0.033172f, 0.018103f, 0.033143f, -0.011547f, 0.004317f, 0.045585f, -0.000817f, 0.005894f, -0.037283f, -0.017176f, 0.011890f, -0.008558f, -0.008043f, -0.005378f, 0.030720f, 0.010620f, -0.011597f, -0.036372f, -0.014020f, -0.002506f, -0.032505f, 0.002744f, -0.037170f, -0.025481f, -0.017137f, -0.033709f, 0.052521f, -0.009814f, -0.023326f, 0.021682f, -0.000061f, - -0.051737f, -0.002703f, 0.050859f, 0.041882f, -0.024240f, 0.032496f, 0.004999f, 0.031016f, -0.034704f, -0.050269f, 0.018970f, 0.022589f, 0.019223f, 0.017309f, -0.019516f, 0.019075f, -0.038144f, 0.025837f, -0.051880f, -0.045002f, 0.033032f, -0.026211f, 0.022404f, 0.031622f, 0.001848f, -0.023942f, 0.007359f, 0.009146f, -0.002480f, -0.001701f, -0.001268f, 0.020699f, -0.017576f, 0.013541f, -0.018353f, 0.024212f, -0.021404f, -0.011143f, 0.008356f, -0.006968f, -0.001219f, 0.009737f, 0.001821f, 0.006599f, 0.017980f, -0.014440f, -0.009209f, 0.010848f, 0.005882f, 0.021357f, -0.017590f, 0.006136f, -0.002544f, -0.012902f, -0.013727f, 0.005696f, 0.002904f, -0.012758f, -0.019887f, 0.005877f, -0.000241f, -0.003352f, 0.011879f, -0.018260f, 0.020958f, 0.006716f, -0.019074f, -0.020389f, 0.016763f, -0.028767f, 0.019376f, -0.002963f, 0.013251f, -0.001179f, 0.004193f, 0.025700f, -0.041116f, 0.082509f, 0.126357f, -0.016669f, -0.046474f, -0.040272f, 0.116514f, 0.052402f, 0.112770f, 0.060535f, 0.000371f, -0.052446f, -0.011461f, 0.028549f, 0.053079f, 0.025123f, -0.024281f, -0.006211f, 0.025472f, 0.037052f, - 0.004820f, 0.008175f, -0.025836f, 0.004568f, -0.012368f, 0.016782f, 0.019237f, 0.049066f, 0.042632f, -0.022734f, 0.003889f, -0.025497f, 0.006796f, 0.022276f, 0.033777f, 0.002281f, -0.015774f, -0.000269f, -0.028665f, 0.023879f, -0.006456f, 0.009721f, 0.022694f, 0.000246f, 0.030163f, -0.014985f, -0.008023f, -0.007252f, -0.030628f, -0.018712f, -0.046818f, -0.009147f, -0.053415f, 0.003412f, -0.018247f, 0.043860f, 0.006754f, 0.012728f, -0.041257f, 0.017247f, 0.000495f, -0.018724f, 0.030589f, -0.016682f, -0.008336f, 0.007257f, 0.020296f, -0.002720f, -0.010816f, 0.068029f, 0.022436f, 0.015490f, 0.025866f, -0.018822f, -0.000707f, -0.006496f, 0.035931f, 0.049318f, 0.047907f, -0.028798f, -0.030913f, -0.004590f, -0.012170f, 0.012129f, 0.032358f, 0.033044f, 0.001685f, 0.018357f, -0.002034f, -0.005479f, 0.011144f, 0.020921f, -0.001821f, 0.016350f, -0.013803f, 0.002634f, 0.000460f, 0.005436f, -0.004597f, 0.018332f, 0.011107f, -0.002403f, -0.005026f, 0.005244f, 0.003536f, 0.019944f, 0.001369f, -0.012504f, -0.012869f, -0.007981f, 0.005972f, 0.006470f, 0.013294f, -0.016337f, 0.002443f, -0.004837f, - 0.010736f, -0.008284f, 0.015057f, -0.005522f, 0.005781f, -0.008854f, -0.006665f, 0.004164f, -0.012656f, -0.000480f, 0.014573f, 0.003022f, -0.005615f, 0.000759f, -0.047168f, -0.102222f, -0.013857f, 0.135170f, 0.208272f, 0.174937f, 0.138155f, -0.009261f, 0.016199f, -0.101450f, -0.115167f, -0.187626f, -0.108097f, -0.118143f, -0.037273f, 0.014936f, 0.081682f, 0.058251f, 0.177880f, 0.154983f, 0.051132f, 0.010894f, -0.027652f, -0.060382f, -0.095641f, -0.034930f, -0.098034f, -0.026027f, -0.047721f, -0.030754f, -0.022902f, 0.005253f, 0.001647f, 0.033326f, 0.048055f, 0.073189f, 0.079171f, 0.095187f, 0.082051f, -0.009786f, 0.007954f, -0.000918f, 0.015391f, -0.046978f, 0.018996f, -0.050218f, -0.125847f, -0.061672f, -0.094202f, -0.158143f, -0.046416f, -0.013655f, -0.064147f, 0.021823f, 0.048635f, 0.110603f, 0.130199f, 0.192329f, 0.121365f, 0.099056f, 0.098320f, 0.061295f, -0.019064f, 0.010110f, -0.096996f, -0.083420f, -0.140466f, -0.166836f, -0.192824f, -0.140272f, -0.108197f, -0.011150f, -0.005249f, 0.015424f, 0.056334f, 0.095506f, 0.171795f, 0.170044f, 0.169155f, 0.135779f, 0.058168f, 0.087652f, - 0.013731f, -0.043804f, -0.066175f, -0.156319f, -0.142278f, -0.125864f, -0.108666f, -0.086884f, -0.052616f, -0.031813f, -0.010900f, 0.007966f, 0.052702f, 0.062626f, 0.082374f, 0.068339f, 0.097644f, 0.088509f, 0.057876f, 0.066758f, 0.044822f, -0.012037f, -0.036134f, -0.041616f, -0.099522f, -0.086199f, -0.077695f, -0.058122f, -0.031691f, -0.001050f, -0.003781f, 0.025584f, 0.039236f, 0.030625f, 0.036409f, 0.023350f, 0.007362f, -0.000621f, 0.010611f, 0.002626f, -0.012121f, 0.013280f, 0.015918f, 0.001271f, 0.008607f, -0.002231f, -0.003445f, 0.001637f, 0.006005f, -0.000062f, -0.013383f, -0.017787f, -0.017476f, -0.020195f, -0.013656f, -0.003918f, -0.004553f, 0.006171f, 0.002538f, 0.001982f, 0.007075f, 0.008196f, 0.006545f, 0.008852f, 0.013615f, 0.011732f, 0.006740f, 0.008187f, 0.002974f, -0.002385f, -0.000607f, -0.003115f, -0.004784f, -0.001720f, -0.002591f, -0.000769f, -0.000979f, 0.000279f}, - {0.013781f, 0.005240f, -0.006918f, -0.001174f, 0.004798f, -0.000848f, 0.005105f, -0.012612f, -0.009000f, -0.002201f, -0.010630f, 0.004455f, -0.002374f, -0.001169f, -0.007185f, -0.003199f, 0.006666f, 0.006670f, -0.002622f, -0.002029f, -0.004438f, -0.010193f, 0.011356f, 0.006763f, 0.000281f, 0.001198f, -0.000636f, 0.000333f, 0.009142f, -0.004639f, 0.001667f, -0.014643f, -0.012022f, -0.003004f, 0.001073f, -0.010204f, -0.001912f, 0.003631f, 0.000861f, 0.000186f, -0.005142f, -0.003939f, 0.009560f, -0.004434f, -0.004106f, -0.001344f, -0.001373f, 0.004223f, -0.002236f, -0.006272f, -0.000244f, 0.005505f, -0.007862f, 0.000341f, -0.008421f, 0.000592f, -0.006175f, 0.009324f, -0.000557f, -0.009822f, -0.001457f, -0.000953f, 0.001142f, -0.014027f, -0.001727f, 0.001168f, -0.009410f, 0.004318f, 0.000170f, -0.010807f, 0.004884f, 0.006646f, -0.005802f, -0.006620f, -0.011914f, 0.006222f, 0.003554f, 0.011023f, 0.005399f, -0.001639f, 0.002101f, -0.001530f, 0.003299f, 0.003505f, 0.007561f, 0.001936f, -0.003359f, -0.000118f, 0.000844f, -0.000249f, 0.004298f, 0.001126f, -0.001548f, -0.002113f, 0.002063f, 0.001690f, - 0.003205f, 0.001627f, 0.001212f, 0.001950f, 0.001715f, 0.000730f, 0.001040f, -0.000207f, -0.000620f, 0.000695f, 0.000402f, 0.000827f, -0.000521f, 0.000976f, -0.000101f, -0.010197f, 0.004600f, -0.012720f, -0.003566f, -0.001767f, -0.006456f, 0.006148f, 0.014226f, -0.005812f, -0.001922f, 0.000688f, -0.005918f, 0.004112f, -0.000914f, -0.004775f, -0.008166f, -0.004310f, 0.012828f, 0.012430f, 0.006950f, 0.014437f, 0.008461f, 0.004608f, 0.013551f, -0.008417f, 0.002961f, 0.005827f, -0.000297f, 0.002363f, -0.004063f, 0.002626f, -0.018819f, 0.000425f, -0.001123f, 0.006810f, -0.004285f, -0.002363f, -0.001343f, 0.005224f, -0.005980f, -0.000934f, 0.001660f, 0.003688f, 0.003532f, -0.000973f, -0.006412f, 0.001236f, 0.002201f, 0.004631f, 0.003443f, 0.005382f, -0.006030f, -0.003532f, -0.001130f, -0.010611f, -0.001291f, 0.002858f, 0.009116f, 0.010246f, -0.001431f, 0.005665f, 0.004164f, -0.000729f, 0.003763f, 0.004555f, 0.006572f, -0.002612f, -0.000118f, -0.004912f, 0.000827f, -0.004227f, 0.002906f, -0.006276f, -0.005992f, 0.003617f, -0.000064f, -0.011754f, -0.001132f, -0.008792f, -0.002422f, -0.001215f, - -0.001516f, -0.011683f, 0.001107f, 0.004178f, -0.003480f, -0.003304f, 0.002003f, 0.001522f, 0.000831f, -0.002280f, -0.006319f, -0.000283f, -0.002777f, 0.002437f, 0.000072f, 0.000211f, -0.000718f, -0.002562f, -0.002904f, -0.003229f, 0.000222f, -0.001372f, 0.001411f, -0.002006f, 0.000803f, 0.000539f, -0.001878f, 0.000006f, -0.002089f, -0.000705f, 0.000116f, 0.000059f, -0.001857f, -0.000401f, -0.000317f, -0.012874f, -0.012175f, 0.004538f, -0.001451f, 0.010115f, 0.010129f, 0.000856f, 0.000215f, 0.019543f, -0.005311f, -0.000445f, 0.016369f, 0.000698f, -0.009518f, -0.013868f, 0.010041f, -0.004045f, 0.000025f, -0.008583f, 0.002627f, -0.006125f, 0.006804f, 0.030507f, -0.011175f, -0.008940f, -0.011041f, -0.011879f, 0.002128f, -0.009684f, -0.024072f, -0.000587f, 0.002359f, 0.000077f, -0.009604f, -0.001992f, 0.007752f, -0.009794f, -0.005842f, 0.014268f, 0.004636f, -0.003611f, -0.003454f, 0.009194f, -0.004610f, 0.006587f, 0.005943f, -0.012991f, -0.008689f, -0.007685f, 0.008447f, -0.006581f, -0.003988f, -0.003569f, -0.004396f, -0.000665f, -0.008839f, 0.000090f, -0.002717f, 0.002186f, -0.001284f, -0.019036f, - 0.008765f, -0.010637f, 0.008332f, 0.001589f, -0.015735f, 0.003198f, 0.010387f, 0.003246f, 0.017348f, -0.007354f, 0.000871f, 0.002055f, 0.003991f, 0.006257f, -0.006967f, 0.002624f, 0.002206f, -0.010115f, 0.013794f, 0.001016f, -0.002070f, 0.005913f, -0.002098f, 0.002659f, -0.002644f, -0.005279f, -0.000477f, -0.003394f, 0.004452f, -0.001174f, 0.000753f, 0.005429f, 0.001760f, 0.002072f, -0.001323f, 0.002956f, 0.000404f, -0.000789f, 0.001824f, 0.003946f, -0.002975f, 0.000259f, -0.003134f, 0.001880f, -0.001109f, 0.005697f, -0.008011f, 0.003733f, 0.004184f, -0.004429f, 0.002062f, -0.002217f, -0.017410f, 0.005329f, 0.016516f, 0.013613f, 0.015496f, 0.002641f, -0.003227f, -0.013281f, -0.006836f, -0.006272f, -0.004889f, 0.013613f, 0.019091f, 0.001309f, -0.001186f, 0.013481f, -0.021856f, 0.000371f, -0.001654f, -0.000456f, -0.007038f, -0.007450f, 0.008131f, 0.009818f, 0.000451f, -0.002261f, 0.004082f, -0.010748f, -0.007950f, 0.008111f, -0.008776f, 0.016983f, 0.015596f, 0.002510f, 0.009659f, 0.007963f, 0.001772f, -0.007061f, 0.002565f, -0.000460f, -0.011902f, 0.011604f, -0.000892f, 0.005381f, - 0.009653f, -0.011395f, -0.004244f, -0.013525f, -0.002891f, 0.002984f, 0.012758f, -0.013036f, -0.004993f, 0.009356f, -0.001840f, -0.008375f, 0.013983f, -0.011618f, -0.024059f, 0.003982f, -0.013485f, -0.006191f, 0.006740f, -0.005952f, 0.001319f, 0.001344f, -0.005757f, 0.010235f, -0.009309f, -0.010836f, -0.012746f, -0.001530f, -0.005443f, 0.000749f, 0.003581f, -0.007990f, 0.002239f, 0.002158f, 0.000735f, -0.003863f, 0.002241f, 0.001580f, 0.005550f, 0.000706f, -0.001582f, -0.003805f, -0.002229f, -0.001749f, -0.000813f, -0.001415f, -0.002143f, 0.000594f, 0.001206f, 0.001457f, 0.000644f, -0.000827f, -0.001683f, -0.000840f, 0.002838f, -0.002845f, -0.002705f, -0.000955f, 0.000077f, -0.000358f, 0.002209f, 0.002325f, 0.002431f, -0.001524f, 0.000957f, 0.000386f, 0.001056f, 0.005292f, -0.002631f, 0.000339f, -0.021910f, 0.004692f, 0.020616f, 0.001690f, 0.003212f, 0.006297f, 0.019312f, 0.002683f, -0.018608f, 0.020665f, 0.009051f, 0.007489f, 0.012547f, 0.010937f, 0.000076f, -0.003819f, 0.011836f, 0.009104f, 0.003090f, -0.008478f, 0.010295f, 0.004898f, 0.015246f, 0.017844f, 0.006765f, -0.004338f, - 0.000403f, -0.000077f, 0.007415f, 0.022642f, 0.013420f, -0.012480f, 0.021863f, 0.000934f, -0.002691f, 0.002949f, -0.016120f, 0.017978f, -0.002384f, 0.000386f, -0.002138f, 0.004633f, -0.002417f, 0.009317f, -0.012997f, 0.018370f, 0.015614f, -0.000515f, -0.002909f, -0.010108f, -0.019388f, -0.006584f, 0.007703f, -0.004443f, -0.007268f, 0.010361f, 0.012082f, -0.008104f, -0.007274f, -0.024799f, -0.008620f, -0.003001f, -0.001204f, -0.027757f, 0.014183f, 0.001636f, -0.016567f, -0.013547f, 0.004580f, -0.006384f, 0.001702f, -0.004035f, 0.000904f, -0.007245f, -0.001604f, -0.006453f, 0.004734f, 0.009378f, -0.002615f, 0.007156f, 0.000852f, -0.002858f, 0.008340f, 0.002985f, 0.000434f, 0.006946f, -0.000779f, -0.003046f, -0.004299f, -0.004783f, -0.005062f, -0.004743f, -0.005920f, -0.004257f, 0.000326f, -0.002312f, -0.005553f, -0.002669f, 0.000586f, -0.001104f, -0.002049f, 0.001281f, 0.002288f, 0.001178f, -0.002518f, -0.003545f, -0.004480f, 0.000573f, -0.004247f, 0.004037f, -0.002319f, -0.002377f, -0.002288f, 0.000171f, -0.001623f, 0.010265f, -0.012965f, -0.000104f, 0.000134f, 0.000481f, 0.020941f, 0.011520f, - -0.000182f, 0.026112f, 0.012061f, 0.023578f, 0.005623f, 0.007989f, 0.025151f, -0.009926f, -0.016763f, -0.010578f, 0.023517f, 0.005785f, -0.013267f, 0.017972f, -0.004909f, -0.010436f, 0.016033f, 0.038096f, -0.009821f, 0.001958f, 0.006081f, 0.007327f, -0.009897f, 0.001311f, 0.020953f, 0.002307f, 0.025765f, -0.005548f, 0.027668f, 0.019641f, 0.006630f, 0.016480f, 0.010394f, -0.009774f, 0.006882f, -0.002451f, -0.002462f, 0.002726f, 0.001881f, -0.001703f, 0.007301f, 0.005149f, 0.017878f, 0.012144f, -0.014942f, 0.005319f, 0.006732f, -0.010926f, 0.000660f, -0.025915f, -0.033723f, 0.013618f, -0.008638f, -0.021917f, -0.004727f, -0.011739f, 0.014528f, 0.003320f, -0.006847f, -0.016502f, 0.013033f, -0.011899f, 0.007952f, -0.013367f, 0.001988f, -0.005290f, 0.020437f, 0.003965f, -0.007975f, 0.008028f, -0.017424f, 0.016034f, 0.002588f, -0.014819f, 0.000687f, -0.001379f, -0.004299f, -0.001625f, 0.002138f, 0.004609f, -0.004358f, 0.007490f, -0.001619f, -0.002691f, -0.003318f, -0.002394f, -0.006452f, -0.000335f, -0.002291f, -0.006063f, -0.002310f, 0.002446f, -0.003878f, 0.004200f, 0.000619f, -0.002024f, - 0.001065f, -0.003953f, -0.000771f, -0.002695f, -0.000358f, 0.000083f, 0.000201f, 0.002270f, 0.002504f, 0.003010f, 0.000134f, 0.001639f, -0.000132f, -0.014757f, 0.001982f, 0.000598f, 0.003916f, -0.008991f, 0.010182f, 0.011248f, -0.001213f, -0.007478f, -0.025912f, -0.022191f, -0.017091f, 0.007995f, 0.002317f, 0.004161f, -0.021242f, 0.013499f, 0.009506f, 0.016792f, -0.018210f, 0.017318f, 0.013291f, -0.010421f, -0.008672f, -0.005244f, 0.017602f, 0.012183f, -0.007731f, 0.001787f, 0.026632f, 0.013538f, 0.006883f, 0.015476f, 0.010614f, 0.004199f, -0.008802f, 0.002046f, 0.001239f, -0.003699f, -0.009771f, 0.023702f, 0.011059f, -0.021954f, 0.014895f, 0.014856f, 0.014753f, 0.011610f, 0.003134f, -0.013659f, 0.000440f, -0.001767f, 0.020645f, 0.002804f, 0.009244f, 0.018792f, -0.003329f, -0.020374f, 0.004572f, 0.011079f, 0.020864f, -0.027703f, -0.015632f, 0.007688f, 0.000328f, 0.002641f, -0.016416f, -0.003986f, -0.015917f, -0.002136f, 0.007624f, -0.005166f, -0.008684f, -0.010523f, 0.004543f, -0.002543f, -0.005253f, -0.013030f, 0.000531f, -0.017474f, -0.000276f, -0.001613f, -0.008849f, -0.009805f, - 0.011330f, -0.003786f, -0.002758f, -0.005512f, -0.010766f, 0.003928f, 0.005271f, 0.003712f, 0.004139f, 0.003064f, -0.005922f, -0.003147f, -0.001764f, -0.001368f, -0.005562f, -0.010439f, -0.004622f, -0.000163f, -0.003521f, -0.000208f, -0.005592f, 0.000599f, -0.003008f, -0.002047f, -0.004048f, -0.004503f, -0.002362f, 0.004724f, -0.003276f, -0.001496f, 0.000753f, 0.001980f, 0.001279f, -0.002132f, 0.003566f, 0.005374f, 0.005369f, -0.001350f, 0.009844f, 0.001279f, -0.017226f, 0.017544f, 0.011277f, -0.005247f, 0.006977f, 0.010568f, -0.011644f, -0.003941f, 0.044900f, -0.001471f, 0.017520f, 0.012245f, -0.037452f, -0.019924f, -0.002093f, -0.001581f, -0.000420f, 0.021276f, 0.004797f, -0.010361f, 0.022013f, 0.013507f, -0.002730f, -0.003616f, 0.007043f, -0.003584f, -0.007747f, -0.016702f, -0.019763f, 0.010946f, -0.004311f, -0.009328f, -0.000937f, -0.030835f, -0.005700f, 0.002033f, 0.017048f, -0.020374f, -0.005856f, 0.002636f, 0.001408f, 0.004442f, 0.001560f, 0.021742f, -0.025295f, -0.008437f, 0.005683f, -0.000826f, -0.014906f, -0.003158f, 0.019776f, 0.016959f, 0.014721f, -0.004045f, -0.025180f, -0.011518f, - 0.009192f, -0.002876f, 0.017008f, -0.000991f, -0.000266f, -0.012584f, -0.007731f, 0.014796f, -0.018029f, 0.012392f, 0.009760f, -0.013050f, -0.006401f, -0.003035f, 0.002174f, -0.014050f, 0.006925f, 0.004866f, -0.006811f, -0.002151f, -0.019077f, 0.006949f, 0.014927f, 0.021205f, 0.001962f, 0.005703f, 0.010155f, 0.003118f, -0.016642f, 0.011509f, -0.003904f, 0.001913f, 0.000166f, -0.005364f, -0.005658f, -0.003081f, 0.007918f, 0.001413f, 0.006640f, -0.000687f, 0.001196f, -0.009287f, -0.003046f, -0.004254f, 0.007169f, -0.000679f, -0.002897f, 0.004906f, -0.003448f, 0.003854f, -0.002144f, 0.000666f, -0.007563f, 0.001847f, -0.001655f, -0.001556f, -0.004799f, 0.001816f, -0.000640f, -0.004301f, -0.007817f, -0.001734f, 0.000936f, -0.003153f, 0.003372f, -0.000782f, -0.033864f, -0.002231f, 0.004786f, 0.022737f, 0.002981f, -0.001057f, 0.013956f, -0.010138f, 0.030120f, -0.030062f, -0.002740f, -0.006532f, 0.005149f, -0.001579f, -0.002314f, 0.007578f, -0.005503f, -0.010294f, -0.006666f, -0.006129f, -0.017838f, -0.002954f, 0.012905f, -0.003044f, -0.007853f, 0.018902f, -0.000163f, 0.022759f, -0.022233f, -0.012918f, - 0.028434f, -0.002983f, -0.001591f, 0.001585f, -0.017684f, -0.002168f, -0.022110f, 0.006421f, -0.026566f, -0.000765f, 0.019980f, -0.006569f, 0.013660f, 0.017702f, 0.010474f, 0.013922f, -0.017922f, 0.017913f, 0.002136f, -0.047144f, -0.007774f, 0.006773f, -0.003707f, -0.005311f, -0.020039f, 0.015842f, -0.017058f, -0.003452f, -0.019363f, -0.018370f, -0.028183f, 0.025202f, 0.000325f, 0.029386f, -0.014519f, 0.022137f, 0.029580f, -0.019398f, 0.024133f, -0.029561f, -0.024383f, -0.026763f, -0.009136f, -0.018872f, 0.006194f, 0.008826f, -0.000876f, -0.003525f, 0.000008f, -0.021170f, 0.001818f, 0.000194f, 0.012369f, 0.004787f, 0.004948f, 0.008644f, 0.005082f, -0.004630f, -0.000009f, -0.008633f, -0.004948f, 0.000198f, 0.003696f, 0.000125f, 0.004157f, -0.002850f, 0.004457f, -0.001315f, 0.002450f, -0.013113f, 0.000990f, 0.004985f, 0.004001f, 0.007273f, -0.003941f, -0.005786f, -0.007477f, -0.000185f, -0.000450f, -0.006129f, -0.006466f, 0.000697f, -0.000870f, 0.001129f, 0.000256f, -0.001940f, 0.003696f, 0.010445f, -0.002333f, -0.002420f, -0.001099f, -0.002826f, 0.009600f, 0.000401f, 0.001359f, -0.003213f, - 0.005801f, -0.006046f, 0.022340f, 0.037306f, 0.005487f, -0.010088f, -0.020108f, 0.012445f, 0.034611f, 0.000198f, 0.010004f, 0.001651f, 0.013880f, 0.009361f, 0.010678f, 0.018659f, -0.022545f, -0.001939f, -0.008307f, 0.029481f, 0.022098f, -0.001225f, 0.034218f, 0.017878f, 0.003168f, -0.032229f, -0.015793f, -0.024614f, -0.011197f, 0.002327f, 0.009337f, -0.008934f, 0.001423f, 0.034521f, -0.006371f, -0.000135f, 0.001904f, 0.035472f, -0.021650f, -0.008941f, -0.008739f, -0.003669f, -0.021182f, 0.024377f, 0.001779f, 0.016291f, -0.025438f, 0.003307f, -0.002651f, -0.015408f, -0.005922f, -0.028401f, 0.008985f, 0.000352f, 0.006074f, -0.003652f, -0.001582f, -0.032946f, -0.011006f, 0.012610f, 0.020951f, -0.006232f, 0.005576f, 0.043359f, -0.002702f, 0.002331f, 0.008124f, 0.019438f, -0.018331f, 0.004039f, 0.022189f, -0.013284f, 0.016162f, 0.004508f, 0.016838f, -0.022426f, -0.011192f, 0.002818f, 0.005206f, 0.011062f, 0.012863f, 0.012006f, -0.008263f, 0.003336f, 0.007634f, 0.014567f, 0.023109f, 0.010461f, -0.010839f, -0.005296f, -0.008514f, 0.003511f, 0.004943f, 0.009823f, 0.009193f, 0.005303f, - 0.009705f, -0.010580f, -0.002014f, -0.010787f, 0.009177f, -0.012329f, 0.012343f, 0.008631f, -0.009145f, 0.005231f, -0.001068f, -0.005823f, 0.001416f, 0.001648f, -0.003266f, 0.002595f, 0.015294f, -0.000678f, 0.000008f, -0.009587f, 0.004837f, -0.000622f, -0.000275f, -0.008724f, 0.008760f, -0.007451f, 0.002750f, 0.003562f, 0.006941f, -0.000972f, -0.003292f, -0.020489f, -0.030886f, 0.008479f, -0.003195f, -0.031445f, 0.008712f, 0.003019f, 0.028514f, 0.024966f, -0.023148f, -0.028060f, 0.006385f, -0.021453f, -0.011103f, 0.000755f, 0.042414f, 0.000478f, -0.005258f, -0.037926f, -0.018815f, -0.003389f, -0.028080f, -0.042963f, 0.029509f, -0.011163f, -0.013415f, -0.002576f, 0.031993f, -0.010085f, 0.003601f, -0.006498f, -0.006288f, -0.018627f, -0.009767f, 0.003011f, -0.044643f, -0.028882f, -0.008162f, -0.016428f, -0.015046f, -0.005324f, -0.017451f, 0.015128f, 0.007078f, 0.004793f, -0.010599f, 0.007616f, -0.064494f, 0.059993f, 0.035368f, -0.006165f, -0.008089f, 0.033721f, 0.002145f, -0.020292f, -0.028684f, -0.003735f, -0.009996f, -0.012055f, -0.017216f, -0.017758f, 0.022212f, 0.020567f, -0.009242f, 0.045257f, - -0.025098f, -0.020753f, -0.018578f, 0.000061f, 0.014905f, -0.053126f, 0.015788f, -0.016829f, 0.027841f, -0.030119f, 0.013294f, -0.002767f, -0.010088f, 0.020733f, -0.038997f, 0.036713f, 0.002183f, -0.000516f, -0.008189f, 0.001062f, -0.000447f, -0.018576f, 0.003735f, -0.005149f, 0.009783f, 0.012353f, -0.011256f, 0.005648f, 0.007984f, 0.017346f, 0.000712f, -0.005664f, -0.000882f, -0.001550f, -0.006811f, 0.005086f, -0.002609f, -0.004155f, 0.004523f, -0.006884f, -0.002103f, 0.001689f, 0.005081f, 0.005961f, -0.013777f, -0.010604f, -0.009105f, 0.001580f, 0.005765f, 0.000009f, 0.003833f, 0.003245f, 0.009379f, 0.004862f, -0.007444f, 0.007009f, 0.001479f, 0.030806f, 0.002494f, 0.071766f, 0.023320f, -0.001417f, 0.003034f, -0.027719f, -0.036005f, 0.044829f, -0.013324f, 0.005107f, 0.059418f, -0.015472f, -0.002931f, -0.012701f, 0.046319f, 0.008939f, -0.019236f, 0.027395f, -0.010021f, 0.040682f, 0.021283f, 0.010141f, 0.005957f, -0.004499f, -0.015640f, -0.005074f, -0.004296f, -0.043602f, -0.011028f, -0.007029f, 0.024045f, -0.013512f, 0.004472f, 0.008011f, -0.031317f, -0.046551f, -0.001741f, 0.040166f, - -0.002766f, 0.035677f, -0.006266f, -0.049912f, -0.019405f, 0.002247f, 0.011221f, 0.008999f, -0.040671f, 0.000314f, -0.011708f, 0.029441f, -0.030206f, 0.037224f, 0.055009f, 0.035691f, -0.011309f, 0.006621f, 0.022135f, -0.007973f, 0.043079f, 0.049912f, 0.043959f, 0.014346f, 0.048210f, -0.001703f, -0.019561f, 0.006186f, -0.025360f, -0.031953f, 0.017305f, -0.013752f, 0.039377f, 0.020331f, 0.010368f, -0.013631f, -0.048714f, -0.044148f, 0.030828f, -0.019593f, -0.039440f, 0.026178f, 0.052338f, 0.031440f, -0.016926f, 0.024943f, 0.015266f, -0.005546f, -0.012505f, 0.014761f, -0.018755f, -0.005767f, -0.002112f, -0.012957f, 0.001590f, -0.002886f, 0.010684f, 0.006421f, -0.002619f, -0.017223f, 0.009425f, 0.008557f, 0.005872f, -0.003832f, 0.000442f, -0.016121f, 0.001174f, -0.000306f, 0.004033f, 0.003606f, 0.000297f, 0.009367f, -0.003440f, 0.013015f, 0.014758f, 0.003684f, 0.011962f, 0.000933f, -0.009679f, -0.022854f, 0.005013f, 0.000365f, 0.004762f, -0.016278f, -0.036211f, 0.021191f, 0.026542f, -0.000422f, 0.012999f, 0.008723f, 0.012865f, 0.010656f, 0.004919f, -0.002890f, 0.006298f, -0.007605f, - 0.013808f, -0.024622f, -0.068588f, -0.027532f, 0.037649f, 0.002171f, -0.011157f, -0.022976f, -0.000091f, 0.031636f, 0.040440f, 0.008610f, -0.024747f, -0.004373f, 0.032366f, -0.039109f, 0.003787f, -0.004873f, 0.028976f, 0.033001f, -0.026396f, 0.050070f, 0.009783f, 0.001994f, 0.070803f, 0.000348f, -0.022104f, 0.024766f, -0.011724f, 0.003532f, -0.015016f, 0.005254f, 0.047097f, 0.005421f, 0.059973f, 0.025269f, -0.052172f, -0.057220f, -0.012398f, 0.014882f, 0.032087f, -0.044368f, -0.015581f, -0.006413f, 0.054015f, 0.049370f, -0.042157f, -0.001630f, -0.025678f, 0.016301f, -0.008785f, 0.056448f, 0.000852f, -0.012395f, 0.037163f, -0.007523f, -0.043691f, -0.022090f, -0.007060f, 0.045529f, -0.040229f, 0.024454f, 0.070826f, 0.033513f, 0.047579f, -0.012670f, 0.019418f, -0.012763f, -0.029241f, -0.028185f, 0.014962f, -0.020023f, -0.001226f, -0.007160f, 0.013034f, -0.000281f, 0.028852f, -0.006400f, -0.013088f, -0.004641f, -0.005624f, 0.007122f, -0.004422f, 0.011121f, -0.019563f, 0.014617f, -0.012889f, -0.005882f, 0.004205f, -0.005106f, -0.005993f, 0.009269f, -0.008500f, -0.003200f, -0.002416f, -0.007054f, - -0.024068f, -0.013565f, -0.002193f, -0.002734f, -0.006994f, -0.009381f, -0.002066f, 0.007335f, -0.004053f, 0.004376f, -0.003560f, -0.000091f, 0.005672f, -0.018454f, 0.002240f, -0.002466f, -0.013872f, -0.032981f, 0.024488f, 0.036962f, 0.030154f, -0.052766f, -0.025717f, 0.033943f, 0.101280f, 0.006565f, 0.021690f, -0.029112f, 0.008782f, -0.001051f, -0.005173f, -0.027306f, 0.007978f, -0.009329f, 0.048384f, 0.039119f, -0.051417f, -0.022169f, 0.053502f, 0.027807f, 0.018958f, 0.006171f, 0.028712f, 0.034412f, 0.010396f, 0.020764f, 0.018292f, -0.024159f, 0.003200f, -0.023644f, -0.011243f, 0.007119f, -0.005170f, 0.004587f, -0.021241f, -0.018171f, 0.014016f, -0.003333f, 0.019493f, 0.016221f, -0.047586f, 0.035761f, 0.006609f, 0.028904f, -0.032262f, 0.018807f, 0.028202f, -0.021636f, -0.036784f, -0.036047f, -0.040693f, -0.039727f, -0.033800f, 0.012596f, 0.059142f, 0.016412f, 0.017931f, 0.028884f, 0.001550f, 0.000150f, -0.023664f, 0.040585f, -0.051020f, -0.100817f, 0.034350f, -0.022459f, 0.003991f, -0.085396f, 0.020848f, 0.028172f, 0.004269f, 0.018037f, 0.014076f, -0.011889f, -0.022456f, -0.033272f, - 0.010398f, 0.008522f, -0.026492f, 0.020005f, -0.010349f, -0.043115f, -0.024503f, 0.000504f, -0.008334f, 0.005686f, 0.002531f, 0.014125f, 0.005651f, 0.003429f, -0.001308f, 0.011452f, -0.006833f, -0.012999f, -0.025470f, -0.013918f, -0.016627f, -0.004511f, -0.009391f, 0.010358f, 0.013672f, 0.011706f, -0.020408f, -0.000502f, -0.008870f, 0.001286f, 0.010996f, 0.004659f, -0.018108f, -0.031451f, -0.003290f, 0.002561f, 0.002215f, -0.010427f, -0.005426f, -0.010944f, -0.002978f, -0.014661f, -0.017232f, 0.012054f, -0.016858f, 0.007984f, 0.002217f, -0.007183f, -0.003868f, 0.011630f, -0.009946f, 0.005244f, -0.011969f, 0.024131f, 0.017388f, 0.023048f, -0.032901f, -0.017112f, -0.004625f, 0.021068f, -0.043908f, 0.073053f, 0.034722f, -0.005987f, 0.039863f, 0.023927f, 0.037989f, -0.019997f, -0.025567f, -0.024867f, 0.046012f, 0.016319f, 0.008311f, 0.041473f, -0.036331f, -0.117653f, -0.007836f, 0.007833f, 0.013996f, -0.066238f, 0.051316f, 0.037292f, -0.071098f, -0.054754f, 0.001754f, 0.029278f, 0.002488f, 0.016623f, 0.037692f, -0.010017f, 0.023404f, -0.034366f, -0.039325f, -0.031373f, -0.040852f, -0.063619f, - 0.017723f, 0.006577f, -0.042701f, 0.056362f, 0.021915f, -0.013783f, -0.013437f, -0.033284f, -0.024923f, -0.057990f, -0.031496f, 0.020617f, 0.051454f, -0.019605f, 0.005162f, 0.021166f, -0.045636f, 0.032932f, 0.044590f, 0.006574f, -0.011427f, 0.038109f, 0.010437f, 0.004293f, -0.027318f, -0.031948f, -0.002343f, 0.056978f, -0.017522f, -0.052574f, -0.000924f, -0.066994f, -0.069790f, -0.072686f, -0.034858f, -0.038350f, -0.024495f, 0.031261f, -0.004392f, 0.028103f, -0.005809f, -0.009279f, -0.026304f, -0.007070f, -0.007754f, 0.015094f, -0.011563f, -0.016811f, -0.003331f, -0.006598f, 0.002463f, -0.024510f, 0.004631f, -0.011300f, -0.009823f, 0.012965f, -0.011754f, -0.003916f, 0.004232f, -0.008728f, 0.019080f, -0.012107f, 0.002844f, 0.030981f, 0.003785f, 0.018099f, -0.006940f, -0.010883f, 0.031388f, 0.004703f, -0.016658f, 0.000607f, 0.000297f, 0.002439f, 0.004435f, -0.008914f, 0.019594f, 0.001190f, -0.001509f, -0.009485f, -0.009872f, -0.025845f, -0.044406f, -0.023408f, -0.023801f, 0.028912f, 0.057165f, 0.021000f, -0.025889f, -0.055060f, 0.059140f, 0.031717f, -0.028323f, -0.015379f, -0.015041f, 0.003285f, - 0.014045f, -0.018200f, 0.030828f, 0.028508f, 0.001769f, -0.019172f, -0.017989f, -0.017105f, -0.002010f, 0.011100f, -0.008425f, -0.018921f, -0.044865f, 0.013909f, 0.039826f, -0.022726f, 0.035241f, 0.001102f, 0.023728f, -0.019611f, 0.026364f, 0.075877f, -0.028198f, 0.033144f, 0.066104f, 0.011489f, -0.011303f, -0.018235f, 0.019340f, 0.001485f, 0.033862f, -0.025659f, 0.090644f, -0.027911f, -0.060456f, 0.014016f, -0.027412f, 0.071616f, 0.023700f, -0.022294f, 0.004361f, -0.043076f, -0.058951f, 0.072729f, 0.008561f, -0.019463f, 0.072026f, -0.037080f, 0.009614f, -0.020900f, 0.041857f, -0.052963f, -0.059293f, -0.042403f, 0.013480f, 0.025715f, 0.047902f, 0.020459f, 0.050614f, 0.079032f, -0.009447f, 0.015998f, -0.010153f, 0.010095f, -0.002249f, 0.003307f, -0.057740f, 0.002294f, -0.079835f, -0.026616f, -0.015519f, 0.014317f, -0.002434f, 0.017679f, -0.006073f, -0.023822f, -0.024899f, -0.005628f, -0.016367f, -0.018325f, -0.031653f, 0.000133f, -0.003055f, 0.024401f, 0.010639f, -0.019528f, 0.018264f, 0.008557f, 0.015127f, 0.019736f, -0.025225f, 0.007295f, -0.010293f, -0.004682f, 0.025919f, -0.008380f, - 0.013083f, 0.017461f, -0.010002f, -0.027579f, -0.013821f, 0.010344f, -0.045351f, -0.014070f, 0.001389f, -0.006254f, -0.009963f, 0.020862f, -0.021221f, -0.023655f, 0.017119f, 0.027988f, -0.012338f, 0.023422f, 0.055652f, -0.008442f, 0.001847f, 0.066191f, 0.007457f, -0.036560f, -0.041959f, -0.037523f, 0.068422f, -0.046060f, 0.027300f, 0.031696f, -0.021662f, 0.006244f, -0.037236f, -0.008853f, 0.030700f, -0.027540f, 0.022247f, -0.009494f, -0.046837f, -0.103787f, -0.008962f, 0.092553f, 0.039246f, 0.009083f, -0.018071f, -0.028423f, -0.004719f, -0.037158f, 0.012280f, -0.052197f, 0.062348f, 0.004113f, 0.007915f, 0.004612f, -0.020448f, -0.062848f, -0.023393f, 0.049622f, -0.040429f, -0.010951f, -0.027817f, 0.021917f, -0.019780f, 0.068852f, -0.010669f, 0.013845f, -0.024751f, -0.065150f, 0.014866f, -0.049843f, -0.010593f, -0.004775f, -0.090062f, -0.076866f, -0.071694f, 0.023575f, -0.012758f, -0.039538f, -0.024868f, -0.025436f, -0.022492f, -0.035319f, -0.022961f, -0.006452f, -0.080751f, 0.022348f, 0.009712f, 0.029625f, -0.017420f, 0.070329f, -0.006777f, 0.013282f, -0.023906f, -0.010087f, 0.038742f, -0.075802f, - 0.032683f, 0.049132f, -0.050121f, -0.033176f, 0.003700f, 0.007696f, -0.012785f, -0.024699f, -0.039108f, -0.002735f, 0.001547f, -0.024237f, 0.021011f, -0.017943f, -0.031018f, -0.017760f, -0.012964f, 0.019794f, 0.000077f, 0.000425f, -0.000087f, 0.014730f, -0.038330f, -0.011400f, -0.004056f, -0.007807f, -0.002066f, 0.000441f, -0.046067f, 0.001264f, -0.014490f, -0.012531f, -0.003383f, -0.021124f, 0.006368f, -0.006141f, 0.004839f, 0.000664f, -0.003432f, -0.005386f, -0.011024f, -0.002097f, -0.008940f, -0.002405f, 0.007149f, -0.010756f, -0.016482f, 0.000361f, -0.003500f, -0.003982f, -0.010076f, -0.019107f, -0.012266f, -0.005022f, -0.001787f, -0.013609f, -0.015877f, 0.028129f, 0.017019f, 0.034038f, -0.012825f, -0.070750f, 0.020410f, 0.001019f, 0.117485f, 0.120244f, 0.014547f, 0.001189f, 0.028331f, 0.014213f, 0.030264f, 0.051897f, 0.019346f, 0.053888f, 0.081423f, -0.020258f, 0.010701f, -0.066857f, -0.009461f, 0.008778f, -0.008625f, -0.019877f, -0.040529f, -0.034081f, 0.018916f, 0.018802f, -0.088841f, 0.063447f, 0.017162f, 0.089528f, -0.005426f, -0.017672f, 0.029292f, -0.006146f, 0.094239f, 0.024047f, - -0.004796f, 0.018178f, 0.018670f, -0.025210f, -0.057502f, -0.045047f, -0.022587f, 0.070400f, 0.000970f, 0.077376f, 0.009535f, 0.075651f, -0.021769f, -0.103925f, -0.038876f, -0.030121f, 0.053872f, 0.006625f, -0.050496f, -0.073146f, -0.051108f, -0.010130f, 0.063261f, -0.054953f, -0.047876f, -0.031506f, 0.056464f, -0.027739f, -0.016410f, -0.072820f, -0.072487f, 0.022947f, 0.012282f, 0.097724f, 0.025135f, -0.010264f, -0.026395f, 0.030698f, 0.031734f, 0.104333f, 0.001918f, -0.033708f, -0.045133f, -0.002831f, -0.004627f, 0.002455f, 0.016241f, 0.015083f, -0.024264f, -0.005419f, 0.007890f, 0.021803f, -0.023301f, -0.018873f, 0.029320f, 0.043215f, 0.020079f, 0.013267f, 0.016798f, -0.018147f, -0.007732f, -0.011413f, -0.002361f, -0.002399f, 0.009494f, 0.000160f, 0.056336f, 0.011850f, -0.002401f, -0.017185f, -0.029561f, 0.028289f, 0.045721f, -0.016524f, 0.000757f, 0.001811f, 0.005724f, 0.026200f, 0.011415f, 0.019469f, 0.019863f, 0.005076f, 0.015462f, 0.005096f, -0.000972f, 0.005117f, -0.013919f, -0.004696f, 0.003416f, -0.008387f, 0.005588f, 0.001554f, 0.071902f, 0.027316f, -0.034946f, 0.067771f, - -0.004207f, -0.133103f, -0.040536f, 0.083970f, 0.093273f, -0.065612f, -0.065705f, -0.066778f, 0.037278f, 0.057137f, 0.114159f, 0.034577f, 0.014740f, -0.065083f, -0.006607f, -0.003990f, 0.025681f, 0.057165f, 0.041498f, 0.003392f, -0.069052f, -0.134124f, -0.035556f, -0.067838f, 0.100949f, 0.106932f, 0.186550f, -0.055832f, -0.179413f, -0.039055f, -0.061638f, 0.139484f, 0.047436f, 0.141469f, 0.036440f, -0.047224f, -0.136692f, -0.092385f, 0.004985f, 0.017066f, 0.153272f, 0.062307f, -0.005318f, -0.126089f, -0.220039f, -0.057480f, 0.004716f, 0.101722f, 0.231548f, 0.050524f, 0.069832f, -0.149144f, -0.228601f, 0.009940f, 0.052523f, 0.182119f, 0.107056f, 0.076570f, -0.042219f, -0.147243f, -0.120476f, -0.001093f, 0.034030f, -0.003080f, 0.091946f, -0.075794f, -0.070973f, -0.017501f, -0.162401f, 0.025489f, 0.007862f, 0.044443f, -0.032580f, -0.065548f, -0.035256f, -0.027628f, -0.074241f, 0.017231f, 0.021828f, -0.023608f, -0.003635f, -0.069581f, 0.010063f, 0.020416f, 0.023101f, 0.032714f, 0.010506f, -0.035484f, 0.012677f, -0.011027f, -0.006004f, 0.005535f, 0.056838f, 0.010067f, -0.001594f, -0.014128f, - -0.042884f, -0.008082f, -0.016980f, 0.017041f, -0.007566f, 0.018878f, 0.012281f, -0.039038f, -0.089140f, -0.043604f, -0.065388f, 0.054148f, 0.054410f, 0.064726f, 0.037222f, -0.082893f, -0.074807f, -0.115771f, -0.027673f, 0.094844f, 0.104791f, 0.102283f, 0.005455f, -0.111626f, -0.083529f, -0.064773f, -0.000855f, 0.168011f, 0.116649f, 0.048065f, -0.089200f, -0.103677f, -0.077674f, 0.039219f, 0.040410f, 0.058766f, 0.031082f, -0.076333f, 0.101439f, -0.002192f, 0.014723f, -0.042696f, -0.096621f, 0.057565f, -0.097298f, 0.103076f, 0.014786f, 0.009220f, 0.021508f, -0.061941f, 0.061198f, 0.006044f, 0.042449f, -0.059393f, 0.020699f, 0.000537f, 0.073500f, -0.029357f, 0.017822f, 0.049242f, -0.056319f, -0.032282f, 0.005042f, -0.051058f, 0.082506f, -0.018564f, -0.034588f, 0.074580f, 0.085262f, -0.022883f, -0.063851f, -0.015590f, -0.056341f, -0.010259f, 0.034056f, -0.005327f, -0.070069f, 0.008380f, 0.036965f, -0.024423f, 0.041750f, -0.034930f, 0.015801f, 0.045370f, -0.018687f, 0.029935f, -0.079766f, -0.079657f, 0.080597f, 0.045311f, 0.124677f, -0.005050f, -0.032379f, 0.106406f, -0.061277f, -0.053884f, - 0.036632f, 0.036015f, 0.059615f, -0.054594f, -0.026809f, 0.016344f, -0.012336f, 0.060360f, -0.048848f, -0.149003f, 0.038061f, 0.083605f, 0.000370f, -0.068936f, 0.012333f, 0.042654f, -0.017428f, -0.017880f, -0.056431f, -0.017772f, -0.046723f, 0.046444f, 0.010479f, -0.032253f, -0.009574f, 0.055429f, -0.039983f, -0.013732f, -0.036220f, -0.003949f, 0.025979f, -0.038705f, 0.019970f, 0.057915f, 0.021302f, -0.000593f, -0.017276f, -0.003023f, -0.022190f, -0.026691f, 0.042794f, -0.018015f, 0.018978f, -0.005914f, -0.023127f, 0.000029f, 0.003893f, 0.004334f, 0.015047f, 0.019427f, -0.034175f, -0.009963f, 0.015724f, 0.014082f, 0.032218f, -0.004208f, -0.029512f, 0.011495f, -0.034231f, 0.016113f, -0.031269f, -0.016931f, -0.000312f, -0.006417f, -0.021253f, 0.046980f, -0.021325f, 0.009759f, 0.019569f, 0.004519f, 0.015158f, 0.031207f, -0.001440f, -0.005442f, 0.000656f, -0.002994f, -0.039264f, -0.024745f, 0.151473f, 0.040988f, 0.042422f, -0.128358f, -0.031541f, -0.100629f, -0.084234f, 0.076068f, 0.080874f, 0.158861f, 0.074041f, -0.021521f, -0.030182f, -0.018715f, 0.050869f, 0.034810f, 0.001720f, 0.077207f, - 0.015748f, -0.030952f, -0.035902f, -0.029583f, 0.056274f, 0.000001f, 0.049305f, 0.022679f, 0.030032f, 0.007322f, -0.011547f, 0.005663f, 0.000344f, 0.007305f, -0.011998f, -0.003216f, 0.016602f, 0.013410f, 0.104937f, 0.083933f, 0.069271f, -0.006017f, 0.019416f, -0.042482f, -0.006368f, -0.026422f, -0.047214f, -0.049911f, 0.015732f, 0.027230f, 0.040299f, 0.048597f, 0.040729f, -0.025077f, -0.063350f, 0.097389f, -0.068911f, -0.030432f, -0.017170f, 0.033450f, 0.004990f, 0.047706f, 0.050304f, 0.043561f, -0.057980f, -0.020950f, 0.008570f, -0.022968f, -0.093895f, 0.063264f, -0.021594f, -0.016964f, 0.036283f, 0.073420f, 0.083799f, 0.060794f, 0.059989f, 0.051410f, -0.054199f, 0.007198f, -0.013489f, -0.016951f, 0.031770f, 0.024874f, 0.033812f, 0.016242f, -0.014724f, -0.027231f, -0.039029f, -0.042697f, -0.085352f, -0.034235f, 0.013125f, -0.004843f, 0.052758f, -0.000029f, -0.023419f, -0.007916f, -0.033737f, 0.013033f, 0.004398f, -0.002463f, -0.000047f, 0.022283f, 0.049433f, -0.005952f, 0.002831f, 0.027085f, 0.002346f, 0.000385f, -0.009445f, -0.003135f, -0.011289f, -0.011151f, 0.003298f, -0.023281f, - 0.010755f, 0.013446f, -0.016839f, -0.025344f, 0.007379f, 0.005208f, -0.008895f, 0.025033f, 0.033822f, -0.004473f, 0.005383f, -0.010794f, -0.033468f, -0.014158f, 0.005895f, -0.195214f, -0.097393f, -0.134050f, 0.096789f, 0.021470f, 0.277208f, 0.286641f, 0.285491f, 0.326370f, 0.321279f, 0.230931f, 0.143617f, 0.180129f, 0.079588f, 0.016832f, -0.151982f, -0.132192f, -0.331897f, -0.290116f, -0.260575f, -0.153436f, -0.193754f, -0.147536f, -0.012167f, -0.047104f, -0.019087f, -0.023220f, 0.001138f, -0.000306f, 0.008746f, 0.037905f, 0.040580f, 0.038856f, 0.114364f, 0.117488f, 0.124403f, 0.088977f, 0.248887f, 0.065151f, 0.104589f, 0.174341f, 0.194222f, 0.072284f, 0.195463f, 0.235359f, 0.185458f, 0.161162f, 0.163727f, 0.018095f, 0.098001f, 0.198096f, 0.195595f, 0.126177f, 0.164132f, 0.143638f, -0.002025f, -0.053092f, -0.037502f, -0.097838f, -0.120879f, -0.015487f, -0.135846f, -0.207020f, -0.161456f, -0.192822f, -0.285316f, -0.130499f, -0.192948f, -0.213721f, -0.302823f, -0.246130f, -0.279274f, -0.318910f, -0.212600f, -0.360605f, -0.426734f, -0.428150f, -0.233116f, -0.289712f, -0.365252f, -0.071763f, - -0.162733f, -0.076302f, -0.041087f, 0.119678f, 0.053131f, 0.175587f, 0.093103f, 0.165861f, 0.157754f, 0.103820f, 0.081700f, 0.128587f, 0.238035f, 0.242331f, 0.243035f, 0.248359f, 0.257924f, 0.313570f, 0.279984f, 0.232555f, 0.285835f, 0.322663f, 0.257734f, 0.193957f, 0.231322f, 0.194732f, 0.125610f, 0.158829f, 0.107224f, 0.053339f, 0.022726f, 0.049033f, 0.014115f, -0.020148f, -0.014161f, -0.025964f, -0.062343f, -0.094567f, -0.094231f, -0.102487f, -0.087836f, -0.109565f, -0.172517f, -0.154967f, -0.178290f, -0.200858f, -0.234201f, -0.233388f, -0.193555f, -0.194227f, -0.159448f, -0.101254f, -0.114372f, -0.077880f, -0.055108f, 0.005580f, -0.001480f, 0.000028f, 0.008599f, 0.034308f, 0.039283f, 0.012924f, 0.030750f, 0.049999f, 0.039235f, 0.017040f, 0.019409f, 0.036693f, 0.020619f, 0.008226f, 0.013541f, 0.019868f, 0.016744f, 0.009773f, 0.008455f, 0.006378f, 0.002691f, 0.000657f} - } -}; -const float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2870]={ {-0.000055f, -0.000016f, -0.000030f, -0.000018f, -0.000046f, -0.000008f, -0.000074f, -0.000017f, -0.000239f, 0.000164f, -0.000016f, 0.000165f, -0.000036f, 0.000073f, 0.000441f, -0.000049f, -0.000525f, -0.000519f, -0.000172f, -0.000319f, 0.000042f, -0.000258f, -0.000703f, 0.000200f, -0.000177f, -0.000125f, 0.000186f, 0.000060f, -0.000237f, -0.000368f, -0.000480f, 0.000065f, -0.000289f, -0.000175f, 0.000101f, -0.000504f, 0.000450f, 0.000472f, -0.000271f, -0.000032f, -0.000174f, -0.000470f, 0.000042f, -0.000423f, -0.000335f, 0.000326f, -0.000217f, 0.000489f, 0.002039f, -0.000885f, 0.000905f, -0.000382f, 0.000324f, -0.000012f, 0.000474f, -0.000204f, 0.000119f, 0.000203f, 0.000244f, 0.000260f, 0.000450f, -0.000109f, 0.000054f, 0.000822f, 0.000616f, -0.001615f, 0.000323f, -0.000206f, 0.000083f, -0.000549f, 0.000365f, -0.000692f, 0.000693f, 0.000575f, 0.000285f, -0.000088f, -0.000216f, -0.000253f, 0.000493f, 0.000452f, -0.000200f, 0.000104f, 0.000849f, -0.000315f, -0.000015f, -0.000287f, 0.000102f, 0.000132f, -0.000021f, -0.000238f, 0.000400f, 0.000062f, -0.000120f, 0.000303f, 0.008189f, -0.000591f, - 0.001141f, -0.000020f, 0.000362f, 0.000158f, 0.000276f, 0.000188f, 0.000784f, -0.000451f, 0.000331f, -0.000160f, 0.000136f, 0.000431f, 0.000671f, 0.000268f, 0.000130f, -0.000322f, 0.000611f, -0.000442f, 0.000233f, -0.000205f, -0.000644f, 0.000067f, 0.000224f, 0.000023f, -0.000201f, 0.000057f, -0.000225f, 0.000423f, -0.000869f, 0.000203f, -0.000201f, 0.000230f, -0.000009f, -0.001218f, -0.000423f, 0.000124f, 0.000193f, 0.000141f, -0.000211f, -0.000275f, -0.000238f, 0.000173f, 0.000472f, -0.000195f, 0.000209f, 0.004940f, -0.005836f, 0.001168f, -0.001401f, 0.000771f, -0.000907f, 0.000713f, -0.001241f, -0.000370f, -0.000765f, -0.000137f, -0.000637f, 0.000059f, 0.001149f, 0.001671f, 0.000701f, 0.000375f, 0.000033f, 0.000528f, 0.001196f, 0.000871f, -0.000541f, -0.000650f, -0.000870f, -0.000411f, -0.000501f, 0.000051f, -0.000079f, -0.000072f, 0.000027f, 0.000259f, -0.000403f, 0.000521f, -0.000531f, -0.000706f, 0.000263f, -0.000005f, 0.000055f, 0.000155f, -0.000491f, -0.000555f, 0.000173f, -0.000335f, -0.000457f, -0.000081f, 0.000067f, 0.000365f, -0.011317f, 0.002256f, -0.000570f, 0.000287f, - 0.000244f, -0.000948f, -0.000427f, 0.000900f, -0.000147f, 0.000077f, 0.001010f, 0.000327f, -0.000386f, -0.000704f, 0.000704f, 0.000061f, -0.000854f, -0.001223f, -0.001770f, 0.000571f, -0.000787f, 0.000182f, -0.000255f, 0.000331f, -0.000181f, 0.000125f, -0.000919f, -0.000907f, -0.000566f, -0.000242f, -0.000572f, 0.000171f, -0.000277f, 0.000323f, 0.001062f, 0.000183f, 0.000185f, 0.000703f, 0.000194f, 0.000163f, -0.000023f, -0.000138f, -0.000701f, -0.000166f, 0.000163f, -0.000129f, -0.000033f, -0.013529f, 0.005063f, -0.001263f, 0.001626f, -0.000794f, 0.001173f, -0.000647f, -0.000183f, -0.001153f, 0.000888f, -0.001365f, 0.000910f, -0.000233f, 0.001273f, -0.001728f, 0.000450f, 0.001612f, 0.000476f, -0.001357f, -0.000476f, -0.000816f, -0.000335f, 0.000516f, 0.000268f, 0.000382f, -0.000208f, -0.000461f, -0.000649f, -0.000637f, -0.000048f, -0.000731f, -0.000122f, -0.000679f, -0.000475f, -0.001889f, -0.000522f, -0.000264f, 0.000111f, 0.000045f, 0.000664f, 0.000282f, 0.000654f, -0.000066f, 0.000760f, 0.000179f, 0.000076f, 0.000188f, 0.001689f, 0.005892f, -0.001625f, 0.002614f, -0.001586f, 0.000684f, - -0.001711f, 0.001347f, -0.000123f, 0.001468f, -0.000117f, -0.000147f, 0.001443f, -0.000238f, -0.000200f, 0.001262f, -0.000616f, -0.001158f, -0.001846f, 0.001640f, -0.000133f, 0.001122f, 0.000131f, 0.000797f, 0.000386f, -0.001071f, 0.000456f, 0.000435f, -0.000072f, 0.000553f, 0.000845f, -0.001065f, 0.000141f, -0.000032f, -0.000090f, -0.000611f, -0.000275f, -0.000598f, 0.000163f, -0.000124f, 0.000462f, 0.001381f, 0.000054f, 0.000700f, -0.000124f, 0.000135f, -0.000148f, 0.000212f, 0.000559f, -0.000254f, 0.017789f, -0.004387f, 0.001691f, -0.000849f, 0.001497f, -0.000654f, 0.001149f, -0.000639f, 0.000395f, -0.001731f, 0.000804f, -0.001653f, 0.001266f, -0.000505f, 0.000374f, -0.000481f, 0.001783f, 0.000245f, 0.000449f, -0.000855f, 0.001165f, -0.000104f, -0.000537f, 0.000992f, -0.000768f, -0.001193f, 0.000031f, -0.000372f, 0.000570f, -0.000005f, -0.000178f, -0.000389f, 0.000174f, -0.000039f, 0.000225f, -0.000821f, 0.000194f, -0.000363f, 0.001282f, -0.000239f, 0.000614f, 0.000116f, 0.000516f, 0.000960f, -0.000659f, 0.000052f, 0.000223f, -0.000327f, 0.000754f, -0.000155f, 0.001499f, -0.009227f, - 0.003644f, -0.002847f, 0.001680f, -0.001418f, 0.000488f, -0.001869f, 0.001214f, -0.000747f, 0.001696f, -0.000189f, 0.000740f, -0.001491f, -0.000629f, -0.000097f, -0.000542f, -0.000506f, 0.001956f, -0.001442f, 0.000249f, 0.000911f, -0.001787f, 0.000460f, 0.000632f, -0.000448f, 0.000615f, 0.000206f, 0.000354f, -0.001138f, -0.000100f, -0.000365f, 0.000702f, -0.000567f, 0.000384f, -0.001343f, -0.000271f, 0.000983f, 0.000475f, 0.000312f, -0.000342f, -0.000202f, -0.001025f, -0.001090f, 0.000593f, 0.000221f, -0.000048f, -0.000160f, -0.000095f, 0.000097f, 0.000096f, -0.000228f, -0.000223f, 0.000135f, 0.000143f, -0.000374f, -0.014916f, 0.004886f, -0.002641f, 0.000678f, -0.000246f, 0.000834f, -0.001117f, 0.001208f, -0.000493f, -0.000420f, -0.000146f, 0.000874f, -0.000470f, -0.000698f, 0.000512f, 0.001681f, -0.000230f, 0.000071f, -0.002815f, 0.000243f, 0.000047f, 0.001374f, -0.000445f, -0.000211f, -0.002152f, -0.000737f, 0.000028f, 0.000041f, 0.000750f, 0.001029f, -0.001626f, -0.001492f, 0.000966f, 0.000243f, -0.001676f, -0.001287f, 0.000632f, 0.000365f, -0.000098f, -0.000049f, -0.000643f, 0.000659f, - -0.000202f, 0.000241f, 0.000087f, -0.000879f, -0.000371f, 0.000470f, -0.001357f, -0.000679f, -0.000271f, 0.000287f, -0.000272f, 0.000024f, -0.000678f, -0.000059f, -0.014890f, 0.006590f, -0.003641f, 0.002766f, -0.002540f, 0.001260f, -0.002891f, 0.000667f, -0.001885f, 0.002976f, -0.001506f, 0.001050f, -0.000184f, 0.000022f, -0.001364f, -0.000389f, -0.000564f, 0.002694f, -0.000512f, 0.001375f, 0.002183f, 0.001253f, 0.000323f, -0.000291f, 0.000524f, -0.000477f, 0.001222f, 0.001181f, 0.000168f, -0.000594f, 0.000208f, 0.000226f, -0.000814f, -0.000366f, 0.000618f, 0.000888f, -0.000670f, -0.000656f, -0.000679f, 0.000045f, -0.000282f, 0.000380f, -0.000655f, 0.000468f, -0.001030f, 0.000304f, -0.000565f, -0.000038f, 0.000105f, -0.000409f, -0.000560f, -0.000712f, -0.000668f, -0.000886f, 0.000111f, -0.000808f, 0.005531f, 0.005748f, -0.002123f, 0.001915f, -0.002331f, 0.000361f, 0.000710f, 0.000064f, -0.000931f, 0.001074f, 0.000276f, 0.002279f, 0.001190f, 0.002573f, -0.000391f, 0.001519f, -0.000410f, 0.000972f, 0.001356f, -0.000179f, -0.001874f, 0.001793f, -0.000193f, 0.000756f, -0.000417f, 0.000001f, - 0.000259f, 0.002192f, 0.000329f, -0.001185f, -0.000400f, 0.000292f, -0.000652f, 0.001654f, 0.000708f, -0.000254f, -0.000426f, -0.000931f, 0.000739f, -0.000912f, 0.000943f, 0.000990f, -0.000725f, 0.000570f, 0.000515f, 0.000267f, -0.000070f, 0.001606f, 0.000994f, 0.001177f, -0.000042f, 0.000147f, 0.000529f, -0.000337f, -0.000129f, -0.000105f, -0.000343f, -0.000004f, 0.000088f, 0.000151f, -0.000282f, -0.000660f, -0.000691f, 0.016813f, -0.006003f, 0.002085f, -0.002806f, 0.001914f, -0.001848f, 0.002460f, -0.000844f, 0.000115f, -0.001845f, 0.003693f, -0.000531f, 0.003328f, 0.000208f, 0.000570f, -0.002230f, 0.000796f, 0.003346f, -0.001029f, -0.002816f, 0.000416f, 0.000120f, 0.001306f, -0.002030f, 0.001664f, -0.000016f, 0.000146f, -0.000176f, -0.001960f, -0.000575f, 0.000327f, -0.002355f, 0.000391f, 0.000960f, 0.000788f, -0.000661f, -0.000187f, -0.000087f, 0.001105f, 0.000334f, -0.000188f, -0.000482f, 0.000861f, 0.000595f, 0.002138f, 0.000553f, -0.000318f, 0.001195f, 0.000479f, -0.000122f, 0.000395f, 0.000907f, 0.000598f, 0.000126f, 0.000144f, -0.000693f, 0.000150f, -0.000067f, 0.000886f, - -0.000091f, 0.000351f, -0.000096f, 0.000315f, 0.005629f, -0.008132f, 0.004872f, -0.003616f, 0.001521f, 0.000550f, -0.000369f, -0.000307f, 0.000967f, -0.002047f, -0.001302f, -0.001060f, -0.000826f, -0.002799f, 0.001418f, -0.002600f, -0.000105f, -0.002080f, 0.000764f, -0.001566f, -0.001234f, -0.000623f, 0.002365f, 0.000332f, 0.002301f, 0.001209f, 0.001577f, 0.002278f, 0.000118f, -0.000289f, -0.000349f, 0.000642f, 0.001750f, -0.000146f, -0.000128f, -0.001169f, 0.000888f, -0.000142f, -0.000699f, 0.000649f, 0.000540f, 0.001828f, 0.000746f, 0.000862f, -0.001295f, -0.000602f, -0.000076f, -0.000240f, 0.000891f, -0.002616f, 0.000565f, -0.000643f, -0.000442f, -0.000811f, -0.000919f, -0.000310f, -0.000909f, 0.000370f, -0.000636f, -0.000104f, -0.001381f, -0.001355f, -0.000001f, -0.017258f, -0.003771f, 0.000791f, -0.003274f, -0.001353f, 0.000139f, -0.000104f, -0.002790f, 0.000798f, -0.002779f, 0.000080f, 0.002235f, -0.000418f, -0.000372f, 0.001226f, 0.000804f, 0.001248f, 0.000073f, 0.001510f, -0.000838f, 0.000427f, 0.001753f, -0.000121f, -0.000110f, -0.001151f, 0.001669f, -0.001295f, -0.000710f, 0.000435f, - 0.000676f, 0.001272f, 0.003932f, -0.001079f, -0.000639f, -0.001697f, 0.000097f, -0.001251f, 0.000299f, -0.000501f, -0.001849f, -0.000118f, 0.002368f, 0.000664f, -0.001594f, -0.000796f, 0.000787f, -0.000970f, -0.001208f, 0.000223f, -0.000569f, 0.000136f, 0.000252f, 0.001487f, 0.000215f, 0.000728f, 0.000394f, -0.001258f, -0.000640f, 0.000783f, 0.000739f, -0.000509f, 0.000442f, -0.000103f, -0.021154f, 0.017460f, -0.006103f, 0.005188f, -0.003822f, 0.002922f, -0.001109f, 0.001861f, -0.002028f, 0.001249f, 0.001457f, 0.002107f, -0.001371f, 0.002551f, 0.001262f, 0.004340f, -0.000679f, 0.000366f, -0.002297f, 0.000583f, -0.000805f, -0.001435f, -0.001779f, -0.002047f, -0.001886f, 0.002814f, -0.000127f, 0.003379f, 0.000877f, 0.000620f, -0.000057f, 0.000431f, -0.001491f, 0.000240f, -0.000544f, 0.000704f, 0.002002f, 0.000359f, 0.000660f, 0.000119f, 0.000209f, -0.001521f, -0.000833f, -0.000058f, -0.000116f, 0.000204f, -0.000464f, -0.001401f, 0.000034f, 0.001505f, -0.000484f, 0.000444f, 0.000438f, -0.001242f, 0.000854f, 0.000368f, 0.000470f, -0.000255f, 0.000142f, -0.000135f, -0.000388f, 0.000111f, - 0.001352f, 0.012327f, -0.001896f, -0.003977f, -0.001382f, -0.000838f, -0.000639f, -0.003504f, -0.001840f, 0.000977f, 0.000601f, 0.001000f, 0.001247f, -0.002355f, 0.000952f, -0.000462f, 0.000847f, 0.003777f, -0.003817f, 0.001320f, 0.001324f, 0.001028f, -0.000983f, -0.002209f, 0.001725f, 0.000514f, 0.001236f, 0.002328f, 0.000007f, 0.003209f, 0.000283f, 0.001492f, 0.000130f, 0.001013f, -0.000876f, 0.001214f, 0.000880f, 0.001159f, -0.000441f, 0.000386f, -0.000086f, 0.001486f, 0.001837f, -0.002713f, 0.003667f, 0.000313f, 0.001029f, 0.000163f, 0.000644f, 0.000713f, -0.000766f, 0.002198f, 0.001192f, 0.000088f, 0.002017f, 0.000859f, -0.001099f, -0.000089f, -0.000733f, -0.000794f, -0.000594f, 0.000369f, -0.000149f, 0.000128f, -0.000041f, -0.002240f, 0.001163f, -0.000885f, 0.000325f, -0.000298f, -0.000123f, -0.000552f, -0.000311f, 0.009770f, 0.000855f, 0.001991f, -0.002527f, -0.000478f, -0.006278f, 0.001502f, -0.000300f, -0.004266f, 0.003579f, -0.001974f, 0.000128f, 0.002627f, 0.001182f, 0.001973f, -0.001509f, 0.000872f, -0.001979f, 0.000040f, -0.001693f, 0.000635f, -0.002573f, 0.003691f, - 0.002663f, 0.002180f, 0.002540f, 0.000567f, -0.000839f, -0.001593f, 0.000719f, 0.002028f, 0.000006f, 0.001383f, -0.000997f, 0.000283f, 0.001343f, 0.000950f, 0.001209f, 0.000088f, 0.000435f, -0.000150f, -0.000860f, 0.000859f, -0.000595f, 0.000403f, 0.000354f, -0.000879f, 0.001202f, -0.001625f, 0.001457f, -0.000761f, 0.001031f, 0.001572f, -0.001914f, 0.000194f, 0.000225f, -0.000781f, -0.001507f, 0.001069f, -0.002446f, -0.001891f, 0.001178f, 0.000497f, 0.000551f, 0.000476f, 0.001528f, 0.001468f, -0.000528f, 0.000207f, 0.000894f, -0.000352f, -0.000003f, 0.015411f, -0.012811f, 0.004347f, -0.003188f, 0.001129f, 0.004004f, 0.003256f, -0.002147f, 0.003904f, 0.002199f, 0.002359f, -0.001615f, 0.001099f, -0.000824f, 0.004635f, 0.001289f, 0.001311f, 0.001795f, 0.001963f, 0.001244f, 0.001342f, -0.003806f, 0.000612f, -0.006880f, -0.002393f, -0.000638f, -0.003941f, 0.000991f, 0.002115f, -0.001486f, -0.002137f, -0.002514f, -0.002414f, -0.001288f, 0.001388f, 0.001095f, -0.003504f, -0.004054f, -0.000311f, -0.002068f, 0.001107f, 0.000901f, 0.000387f, -0.000290f, 0.001919f, -0.001007f, 0.000098f, - -0.000267f, -0.000859f, -0.002604f, 0.002019f, 0.003427f, -0.000463f, -0.000429f, 0.001612f, -0.002415f, 0.002933f, 0.000757f, -0.001486f, -0.000055f, -0.001380f, -0.000581f, -0.000349f, -0.000987f, -0.000264f, -0.000667f, -0.002021f, 0.000527f, 0.000726f, 0.000683f, 0.000720f, 0.000232f, -0.023850f, 0.002367f, -0.002129f, 0.000875f, 0.002430f, 0.001744f, 0.004864f, -0.002001f, -0.000170f, 0.000391f, 0.005823f, 0.002021f, -0.004564f, -0.002983f, 0.002568f, 0.003443f, -0.000866f, -0.001304f, -0.000097f, 0.001587f, 0.003559f, 0.003615f, -0.000054f, -0.006480f, -0.001876f, -0.000672f, -0.000780f, 0.003754f, -0.001729f, 0.002190f, 0.000213f, -0.000416f, -0.003363f, 0.000261f, 0.002673f, -0.004304f, -0.002523f, -0.001017f, -0.000756f, -0.002045f, -0.001707f, -0.004025f, -0.000746f, -0.002732f, 0.000022f, 0.000582f, 0.002892f, -0.001983f, -0.001306f, 0.000241f, -0.000296f, 0.000443f, -0.002503f, 0.000971f, 0.000942f, 0.000303f, 0.000135f, -0.001898f, -0.001720f, -0.000964f, -0.000545f, -0.000159f, -0.003234f, 0.000646f, 0.000934f, -0.001404f, -0.002974f, 0.001175f, -0.000151f, -0.001499f, -0.000301f, - -0.000703f, -0.000503f, 0.001865f, -0.014008f, 0.014866f, -0.002124f, 0.000938f, 0.003502f, 0.004200f, -0.003165f, 0.002022f, 0.000799f, 0.002594f, 0.001757f, 0.003662f, 0.002069f, -0.002480f, -0.004122f, 0.000586f, 0.004361f, 0.008712f, -0.002107f, -0.002959f, 0.002280f, 0.001415f, -0.001667f, -0.004292f, -0.000876f, -0.000863f, -0.003886f, 0.003401f, 0.004048f, 0.000064f, 0.000939f, -0.000080f, 0.003182f, -0.002485f, -0.007704f, 0.003248f, -0.000928f, 0.002577f, 0.001231f, 0.000109f, -0.001911f, -0.002960f, 0.002047f, 0.002427f, 0.001768f, -0.000344f, -0.000162f, 0.002669f, 0.001494f, 0.000823f, -0.001594f, 0.002247f, 0.001872f, -0.000311f, -0.000587f, -0.001302f, 0.001535f, 0.000050f, -0.003804f, 0.003128f, 0.001867f, -0.000708f, 0.000893f, -0.000473f, 0.000098f, -0.000072f, 0.000924f, 0.000246f, 0.001137f, 0.001845f, 0.000982f, -0.000281f, -0.001121f, -0.000737f, 0.002657f, 0.001058f, -0.000503f, -0.000815f, -0.000134f, 0.004188f, 0.000172f, -0.003224f, -0.006604f, 0.001598f, -0.000344f, -0.005449f, 0.001842f, -0.001805f, 0.000255f, -0.002063f, -0.001608f, 0.001718f, 0.004149f, - 0.000512f, 0.005496f, 0.002494f, -0.002766f, -0.003635f, 0.006014f, -0.002607f, -0.000192f, 0.000538f, -0.005644f, -0.000042f, 0.002987f, -0.003275f, -0.000868f, 0.003780f, 0.000240f, 0.001975f, 0.000059f, 0.002489f, -0.000420f, -0.001689f, -0.000226f, 0.003305f, 0.004463f, -0.001463f, 0.000907f, 0.000776f, 0.002977f, -0.001772f, -0.000311f, 0.000580f, -0.000752f, 0.001931f, 0.000874f, 0.000160f, -0.001013f, 0.001545f, 0.001718f, 0.000089f, 0.000085f, 0.001285f, 0.002009f, -0.002412f, -0.000008f, 0.000673f, 0.001103f, -0.001235f, 0.001000f, 0.000495f, 0.000036f, 0.000700f, -0.000762f, 0.000336f, 0.000799f, 0.001666f, 0.002014f, -0.001624f, 0.000184f, 0.031279f, -0.002987f, 0.000540f, 0.001968f, -0.002784f, -0.004826f, -0.002796f, -0.001185f, -0.005491f, -0.005900f, 0.000476f, -0.005223f, -0.002282f, -0.001493f, -0.001268f, 0.003244f, 0.003780f, 0.001210f, 0.007888f, 0.001449f, -0.003870f, 0.006796f, -0.000654f, 0.004819f, -0.001508f, -0.000482f, -0.004436f, 0.000192f, 0.003975f, -0.000113f, -0.001898f, -0.000743f, 0.000430f, -0.000968f, -0.000808f, 0.001547f, -0.003526f, 0.001463f, - 0.000561f, -0.001663f, -0.003343f, -0.002264f, 0.002627f, 0.002581f, 0.003082f, -0.005132f, 0.002923f, 0.000816f, -0.000093f, 0.000255f, 0.000542f, 0.000589f, 0.000700f, -0.000419f, 0.000307f, 0.002744f, -0.000736f, 0.001091f, 0.001310f, -0.001116f, 0.002294f, 0.002608f, 0.000466f, -0.000212f, 0.002425f, 0.001724f, 0.001354f, 0.001629f, -0.001976f, -0.000913f, 0.000499f, -0.000205f, -0.000263f, 0.000150f, 0.001105f, 0.000304f, -0.001914f, -0.018376f, -0.030813f, 0.011131f, -0.000800f, 0.004619f, -0.005408f, 0.000235f, -0.006262f, -0.000830f, -0.009021f, 0.003870f, 0.004134f, -0.000222f, -0.000720f, -0.000134f, 0.000819f, -0.002176f, -0.007694f, 0.014109f, 0.000961f, -0.001834f, 0.004826f, 0.000838f, -0.002574f, 0.006761f, 0.007520f, -0.003264f, 0.004428f, 0.000839f, -0.000981f, -0.007096f, -0.003892f, 0.005499f, -0.002863f, 0.000753f, -0.000402f, 0.003729f, -0.005787f, -0.006512f, 0.000897f, 0.000066f, -0.004404f, 0.002616f, 0.000517f, -0.002766f, 0.001914f, -0.003044f, -0.002533f, 0.001164f, 0.001128f, 0.000127f, -0.000830f, -0.001454f, 0.001774f, 0.002987f, 0.000418f, 0.000915f, - -0.000891f, -0.000904f, 0.002616f, 0.000279f, 0.000568f, -0.002728f, -0.000644f, -0.001835f, 0.001460f, 0.002167f, -0.000004f, 0.001776f, -0.000050f, 0.002379f, -0.001981f, 0.001173f, -0.000052f, -0.000159f, -0.001873f, -0.000064f, -0.001609f, -0.000255f, -0.009906f, 0.029760f, -0.013222f, 0.002227f, 0.001946f, 0.007463f, -0.000949f, 0.004766f, -0.004710f, 0.000292f, -0.009030f, -0.001726f, 0.000043f, 0.003640f, 0.000602f, 0.003749f, -0.002590f, -0.005480f, 0.000707f, -0.008244f, -0.008693f, 0.000257f, -0.002858f, -0.000154f, 0.000741f, 0.001252f, -0.002157f, -0.001434f, -0.003105f, -0.004697f, 0.001892f, 0.002289f, -0.006129f, -0.002764f, -0.007703f, 0.000132f, -0.003404f, 0.002779f, 0.003237f, -0.006334f, 0.000999f, 0.005250f, 0.004713f, -0.002431f, 0.001716f, -0.001792f, -0.000898f, 0.001491f, -0.002874f, -0.000601f, 0.002673f, 0.002105f, 0.001831f, 0.002264f, 0.001199f, -0.000649f, 0.001764f, 0.001183f, -0.001324f, -0.000049f, 0.003600f, -0.000358f, -0.001661f, -0.000507f, 0.001483f, -0.001523f, -0.003688f, -0.000246f, -0.001290f, 0.000963f, 0.000781f, -0.000516f, -0.001496f, -0.002199f, - -0.002601f, 0.002654f, -0.000885f, -0.000082f, -0.000586f, -0.000165f, -0.000328f, -0.024587f, -0.007617f, 0.002768f, -0.003888f, 0.003509f, -0.001623f, 0.000034f, -0.007248f, -0.008707f, -0.001184f, -0.003048f, 0.003644f, 0.001039f, -0.001061f, -0.017996f, 0.009032f, 0.000642f, 0.007871f, 0.009792f, 0.006772f, -0.009408f, -0.002299f, -0.000910f, -0.002351f, 0.002031f, 0.002231f, -0.000161f, -0.003430f, 0.003807f, -0.006366f, -0.003401f, 0.005647f, 0.000292f, -0.002435f, 0.006612f, 0.000146f, 0.006936f, -0.002399f, -0.001108f, 0.000823f, 0.002174f, -0.004967f, -0.003665f, -0.000875f, 0.003908f, -0.001424f, 0.000636f, -0.001565f, 0.002613f, 0.003274f, 0.000638f, 0.000174f, -0.005758f, -0.000601f, 0.002822f, 0.003160f, -0.001801f, 0.003540f, 0.001169f, -0.000980f, 0.000927f, -0.003597f, -0.001122f, -0.002407f, 0.002376f, 0.000372f, -0.000838f, 0.000856f, -0.006141f, 0.000039f, 0.001175f, 0.002942f, 0.000974f, -0.001611f, 0.002850f, 0.000270f, -0.003868f, -0.001762f, -0.001981f, -0.000546f, 0.000822f, 0.015736f, 0.005306f, -0.009468f, -0.001618f, -0.004080f, 0.003295f, -0.005717f, 0.004777f, - -0.001067f, 0.005556f, 0.003858f, 0.006746f, -0.009074f, 0.010907f, -0.006694f, 0.006387f, -0.003664f, 0.003835f, 0.000716f, 0.003259f, -0.005806f, -0.013289f, 0.005161f, 0.009283f, -0.003365f, 0.003823f, -0.004715f, 0.001135f, -0.003097f, 0.009762f, -0.000095f, -0.000936f, 0.002323f, -0.004702f, -0.003293f, -0.002745f, 0.004271f, 0.000072f, -0.001575f, 0.000034f, -0.000843f, 0.006717f, 0.004484f, -0.002472f, 0.002168f, 0.002574f, -0.002777f, -0.001581f, -0.002501f, -0.005038f, -0.000698f, 0.000133f, -0.000686f, -0.001835f, -0.005140f, -0.000184f, 0.007852f, 0.004287f, -0.003279f, 0.004409f, -0.000468f, -0.000049f, 0.003681f, 0.001949f, -0.003743f, 0.001440f, 0.000837f, 0.003893f, 0.004637f, -0.003656f, 0.001674f, 0.002730f, 0.003541f, -0.000289f, -0.000101f, -0.001248f, -0.000645f, 0.002012f, -0.000322f, 0.003638f, -0.000810f, 0.033311f, -0.027211f, -0.004587f, 0.001331f, -0.000553f, -0.007542f, 0.002492f, 0.001938f, 0.010617f, -0.003515f, 0.002063f, 0.008720f, 0.000207f, 0.005232f, 0.017265f, -0.003788f, -0.001157f, -0.009031f, -0.008449f, 0.000356f, 0.002830f, -0.003827f, 0.001610f, - 0.015219f, 0.008790f, 0.001237f, 0.000545f, 0.001212f, 0.008408f, -0.007070f, -0.003146f, -0.000420f, 0.004321f, -0.000704f, 0.001015f, -0.003600f, 0.001317f, -0.006372f, -0.003763f, -0.004824f, 0.000046f, -0.004323f, 0.000996f, -0.007679f, 0.003498f, -0.015316f, -0.003946f, 0.002071f, 0.002792f, -0.000598f, -0.003557f, 0.001158f, 0.000419f, 0.001808f, -0.004216f, 0.001837f, -0.002482f, -0.002790f, -0.006781f, -0.005053f, -0.001518f, -0.000865f, 0.000297f, 0.001122f, 0.002128f, 0.000389f, 0.000998f, -0.004049f, -0.000064f, -0.004937f, -0.000777f, -0.000361f, 0.000094f, 0.001614f, 0.004869f, -0.003091f, -0.001407f, -0.000345f, -0.002656f, -0.004556f, 0.000975f, -0.021140f, -0.014733f, -0.001146f, -0.003034f, 0.010991f, 0.000300f, 0.001984f, -0.013896f, 0.000657f, 0.001838f, 0.000735f, 0.001003f, 0.008288f, -0.010465f, 0.002143f, -0.002284f, -0.007228f, -0.003541f, 0.006557f, -0.002379f, 0.005328f, -0.001904f, 0.003062f, 0.001627f, -0.001175f, -0.000884f, 0.003474f, -0.000541f, -0.000113f, -0.008969f, 0.004344f, 0.003926f, 0.003707f, 0.004278f, -0.008060f, -0.008307f, 0.004734f, 0.007086f, - -0.008662f, 0.003102f, 0.001166f, 0.007364f, 0.004206f, 0.000649f, 0.004925f, -0.002694f, -0.005258f, -0.000847f, -0.010073f, -0.007369f, -0.000891f, -0.000435f, 0.001510f, -0.004835f, 0.001583f, -0.003891f, -0.012890f, -0.003822f, -0.003537f, -0.012705f, -0.000063f, -0.002130f, -0.001562f, 0.001379f, 0.003849f, -0.003785f, 0.002340f, 0.001541f, -0.005796f, -0.003713f, -0.004476f, -0.001003f, -0.001389f, -0.000184f, -0.001901f, 0.002357f, -0.002867f, -0.000773f, -0.002450f, 0.004087f, -0.004687f, 0.002675f, -0.000818f, -0.001083f, 0.000159f, 0.001106f, -0.001173f, -0.013165f, 0.020018f, -0.010526f, -0.004497f, -0.006161f, 0.001575f, 0.001712f, 0.002943f, -0.001281f, 0.008734f, 0.006581f, -0.006288f, -0.011157f, 0.004165f, -0.004194f, 0.010246f, 0.000833f, 0.004371f, 0.005375f, -0.003888f, -0.003775f, 0.013617f, -0.007816f, -0.001891f, -0.003972f, 0.000472f, -0.001642f, 0.001802f, -0.002314f, -0.000913f, -0.010517f, 0.009267f, -0.003244f, -0.000832f, 0.010967f, -0.007523f, -0.009481f, 0.000852f, -0.004302f, -0.006242f, -0.000041f, -0.003203f, 0.002485f, -0.013681f, -0.004543f, -0.003364f, -0.000323f, - 0.004808f, 0.000068f, 0.000951f, 0.002500f, -0.002356f, 0.001913f, 0.003208f, 0.002791f, 0.003043f, -0.001738f, -0.002911f, -0.002520f, 0.003460f, -0.008260f, -0.001823f, -0.001934f, -0.002060f, 0.005431f, -0.003682f, -0.005771f, 0.005850f, 0.001809f, 0.003514f, 0.006979f, -0.002570f, -0.002299f, 0.003417f, -0.003736f, -0.004780f, -0.004360f, 0.002587f, 0.002024f, -0.002609f, 0.002428f, 0.000776f, 0.002860f, 0.000483f, -0.005198f, 0.003474f, -0.001706f, -0.027533f, 0.013750f, 0.014815f, 0.007582f, 0.006884f, -0.004940f, 0.006997f, -0.011906f, 0.000373f, -0.013986f, -0.001855f, -0.006117f, 0.006467f, -0.006699f, -0.005566f, -0.001540f, -0.010266f, 0.002987f, -0.004706f, 0.004501f, -0.009639f, 0.016011f, -0.005297f, 0.007551f, -0.006612f, 0.000620f, -0.006625f, -0.002137f, 0.003602f, 0.010241f, 0.011486f, -0.005798f, 0.000012f, -0.003437f, -0.006115f, -0.004674f, -0.016479f, -0.000428f, 0.002722f, -0.015506f, 0.005999f, 0.003015f, 0.004203f, 0.007367f, 0.004632f, 0.002445f, -0.005233f, -0.001739f, -0.005833f, -0.002983f, 0.003064f, -0.012413f, 0.004842f, 0.002379f, 0.000754f, -0.005890f, - -0.003487f, 0.003133f, 0.009935f, 0.004150f, 0.002540f, -0.003980f, 0.004120f, 0.000530f, -0.004774f, 0.001226f, -0.003465f, -0.005450f, -0.002855f, -0.001328f, -0.004933f, 0.005513f, 0.003113f, 0.004475f, 0.002474f, -0.004130f, 0.001299f, 0.006899f, -0.001419f, 0.006403f, 0.003385f, 0.002329f, 0.004311f, -0.002337f, -0.002656f, 0.001619f, 0.001087f, 0.022785f, -0.015698f, -0.006594f, -0.002015f, -0.000096f, 0.011082f, -0.002127f, 0.003613f, -0.006426f, 0.003415f, -0.004005f, -0.018046f, -0.012417f, -0.004643f, 0.006430f, -0.000800f, -0.009988f, -0.009364f, -0.019685f, -0.006372f, 0.002482f, 0.002628f, 0.000874f, -0.002055f, -0.001194f, -0.006126f, 0.001560f, 0.002526f, 0.003302f, 0.000732f, -0.000936f, -0.002389f, -0.009412f, -0.002426f, -0.002169f, 0.004681f, -0.001020f, -0.007518f, -0.002978f, 0.002129f, -0.008445f, 0.001404f, -0.008708f, 0.004788f, 0.006737f, -0.006479f, -0.012585f, -0.002467f, -0.003986f, -0.005787f, 0.000563f, 0.001092f, 0.001194f, 0.003037f, 0.000116f, -0.004972f, 0.007826f, 0.012172f, -0.005937f, 0.005020f, 0.002002f, 0.005742f, -0.008893f, 0.003289f, 0.001079f, - 0.003107f, -0.012773f, 0.010012f, 0.001175f, 0.001081f, -0.001594f, -0.007326f, 0.001845f, 0.000865f, 0.001738f, 0.002164f, -0.007979f, -0.004250f, 0.001518f, 0.003666f, -0.002053f, -0.000069f, 0.002902f, 0.001105f, -0.001477f, -0.003867f, 0.002706f, 0.037102f, -0.020680f, 0.001932f, -0.002051f, -0.004378f, -0.015425f, -0.000798f, -0.000828f, 0.012614f, 0.005777f, 0.025446f, -0.010079f, 0.001016f, 0.002803f, 0.006125f, -0.002577f, -0.001133f, 0.010322f, -0.006426f, 0.014845f, 0.009029f, -0.020589f, 0.019684f, 0.006942f, -0.007047f, -0.005104f, -0.007690f, -0.004018f, 0.001452f, 0.000915f, -0.005516f, 0.013063f, 0.001714f, -0.006245f, -0.005496f, 0.001282f, -0.006814f, -0.012106f, 0.000158f, 0.007236f, 0.002918f, 0.008797f, -0.004044f, 0.002739f, 0.009459f, 0.013551f, 0.003236f, -0.014021f, 0.004641f, -0.004514f, -0.007692f, 0.002041f, 0.005969f, 0.003407f, -0.001676f, -0.012730f, -0.011108f, 0.015695f, -0.002038f, 0.012128f, 0.001423f, -0.004784f, 0.005980f, -0.010527f, -0.004628f, 0.005067f, -0.001329f, 0.010428f, -0.008360f, -0.016628f, -0.004639f, -0.000824f, -0.005078f, -0.003995f, - 0.010365f, -0.003471f, 0.001927f, -0.009502f, -0.009245f, 0.004523f, 0.002405f, 0.003808f, -0.004015f, 0.003887f, 0.000421f, -0.002230f, -0.000457f, -0.041951f, -0.027308f, 0.009837f, -0.014256f, 0.004368f, -0.007193f, -0.025440f, -0.018860f, 0.033635f, -0.015684f, 0.015111f, 0.008476f, -0.008964f, 0.007728f, -0.005150f, 0.010494f, 0.011643f, -0.000902f, -0.003492f, 0.020100f, -0.006725f, -0.023014f, 0.000228f, -0.009722f, 0.002188f, 0.002022f, 0.013549f, 0.007117f, 0.002702f, 0.006562f, -0.006311f, -0.000143f, 0.014849f, 0.009444f, -0.002853f, 0.003718f, -0.013394f, -0.020622f, -0.015243f, -0.010701f, -0.003111f, -0.003061f, 0.003641f, -0.002059f, -0.005856f, 0.012976f, 0.003302f, -0.010015f, -0.009381f, -0.002810f, 0.003663f, -0.010090f, 0.003819f, 0.012095f, -0.000400f, 0.004436f, -0.008566f, 0.006378f, 0.004599f, 0.001355f, 0.004694f, -0.007556f, -0.011599f, -0.016266f, 0.007937f, 0.006192f, 0.000400f, 0.006144f, 0.001037f, -0.007549f, -0.001714f, 0.000408f, -0.013044f, -0.001329f, -0.020177f, -0.011163f, 0.003187f, -0.005272f, 0.003682f, 0.000315f, -0.002807f, -0.002892f, -0.002042f, - -0.003889f, 0.003391f, -0.000060f, -0.000752f, -0.049993f, 0.017027f, -0.003981f, -0.003287f, 0.008928f, 0.002184f, 0.004978f, 0.021769f, 0.012997f, 0.016437f, 0.008272f, 0.022449f, -0.003948f, -0.021891f, 0.003224f, -0.002474f, -0.009376f, -0.019397f, -0.008456f, 0.016928f, 0.003843f, -0.001191f, 0.003536f, -0.001311f, 0.000240f, 0.014259f, 0.001815f, 0.005276f, -0.002159f, 0.003510f, 0.014229f, -0.003960f, -0.009567f, 0.007203f, -0.016991f, -0.017103f, -0.010975f, -0.002190f, 0.000475f, 0.007044f, 0.016676f, 0.000225f, -0.005750f, -0.016653f, -0.027228f, -0.009618f, -0.003969f, -0.001663f, -0.000177f, 0.010016f, -0.012474f, 0.022441f, 0.011687f, -0.002174f, 0.006476f, -0.008891f, 0.001619f, 0.000146f, 0.010406f, 0.020045f, 0.013557f, -0.011860f, -0.004958f, 0.003321f, -0.001897f, -0.002557f, 0.001045f, -0.006143f, -0.019450f, -0.001511f, -0.003579f, -0.001433f, 0.003062f, -0.007616f, -0.002546f, -0.013317f, -0.001398f, 0.001828f, 0.013923f, 0.006789f, 0.001967f, 0.002209f, 0.003530f, 0.000402f, -0.011755f, 0.002392f, -0.002724f, 0.003109f, -0.001416f, -0.001584f, -0.006424f, 0.000969f, - -0.006770f, 0.020477f, 0.020727f, 0.007141f, 0.013919f, 0.010085f, 0.021742f, -0.018828f, 0.022598f, -0.027237f, -0.004655f, 0.025778f, 0.035288f, 0.007495f, -0.002072f, 0.012956f, -0.010637f, -0.012421f, 0.025574f, 0.004269f, -0.003753f, 0.006360f, 0.020593f, -0.005199f, 0.012695f, -0.003932f, -0.004953f, -0.002278f, 0.009388f, -0.023489f, -0.002719f, 0.011670f, -0.005081f, 0.001382f, -0.008203f, 0.005083f, 0.018910f, -0.017112f, 0.005757f, -0.004947f, 0.006301f, -0.008865f, 0.012765f, 0.001248f, 0.004728f, 0.005281f, -0.020775f, 0.010417f, -0.028994f, -0.005762f, 0.016722f, 0.001960f, -0.010235f, 0.018451f, -0.006119f, -0.010846f, 0.013448f, -0.005279f, -0.003597f, -0.001919f, 0.008202f, -0.001030f, 0.002310f, -0.015759f, 0.005988f, 0.001647f, 0.031360f, -0.023262f, -0.010009f, 0.002951f, -0.005828f, 0.007196f, 0.008990f, -0.011107f, 0.021997f, 0.008316f, 0.000107f, 0.003738f, 0.007508f, -0.003378f, -0.011610f, 0.004821f, -0.005887f, 0.002103f, -0.002194f, 0.005834f, -0.007281f, 0.002433f, 0.000289f, -0.003829f, 0.005228f, -0.001607f, -0.001113f, -0.000408f, 0.041784f, -0.026060f, - 0.001049f, -0.004139f, -0.006928f, 0.000898f, -0.009498f, -0.003991f, -0.030840f, -0.025804f, -0.025701f, 0.008661f, -0.005329f, 0.008560f, -0.005840f, -0.018674f, 0.029896f, 0.020845f, -0.013829f, -0.011609f, -0.016334f, -0.003387f, 0.006430f, 0.009888f, 0.012120f, -0.000816f, 0.009388f, -0.002653f, -0.011772f, -0.014376f, 0.009044f, -0.006528f, 0.027294f, 0.017113f, 0.025177f, 0.003573f, 0.009176f, 0.024794f, 0.017196f, -0.005401f, 0.004555f, -0.001070f, 0.000342f, 0.002656f, -0.011509f, -0.008276f, 0.004479f, -0.014401f, -0.014839f, 0.014429f, 0.016405f, -0.017922f, -0.000560f, 0.031929f, 0.022247f, -0.001109f, -0.010517f, -0.002290f, 0.006637f, 0.006027f, -0.004287f, -0.011848f, 0.014283f, -0.000925f, 0.003520f, 0.010242f, 0.012989f, -0.013538f, 0.005854f, -0.002194f, 0.005416f, -0.021063f, 0.003927f, 0.019076f, -0.018935f, -0.015546f, -0.008053f, 0.008489f, 0.015054f, -0.008458f, 0.008294f, -0.007287f, -0.000720f, 0.000467f, 0.003157f, 0.005660f, -0.002601f, -0.001131f, 0.003443f, 0.003191f, 0.000063f, -0.000397f, 0.002494f, 0.033849f, 0.013052f, -0.004486f, -0.001058f, 0.010637f, - -0.012626f, -0.016436f, 0.014157f, -0.019643f, -0.025434f, 0.006797f, -0.013629f, -0.017590f, -0.009151f, 0.016858f, 0.041329f, 0.017115f, -0.022425f, 0.042314f, 0.004955f, -0.006601f, 0.007669f, -0.024667f, 0.006330f, 0.003436f, -0.017650f, 0.015334f, -0.004708f, 0.003044f, -0.012691f, 0.007180f, -0.011593f, 0.021420f, -0.025290f, -0.009316f, -0.008699f, 0.012091f, 0.013992f, 0.012433f, -0.013411f, 0.003953f, -0.014022f, -0.004030f, 0.007567f, 0.017899f, 0.008320f, -0.008208f, 0.017487f, 0.008896f, 0.014120f, 0.000950f, 0.016450f, -0.007160f, 0.009126f, -0.024939f, 0.028093f, -0.002430f, 0.003971f, -0.007429f, -0.014542f, 0.000749f, 0.009432f, 0.022387f, 0.006655f, -0.026778f, 0.011492f, -0.010836f, 0.022132f, 0.001904f, -0.008347f, 0.004271f, -0.007207f, 0.004594f, -0.015516f, 0.006229f, 0.001564f, 0.001356f, 0.002575f, -0.003057f, 0.001688f, -0.004206f, -0.006455f, 0.008728f, 0.005557f, 0.005028f, -0.011479f, 0.003804f, -0.006188f, 0.005390f, 0.001298f, -0.000725f, 0.002789f, 0.001285f, -0.069152f, 0.003157f, 0.011692f, 0.027320f, 0.009043f, -0.042494f, 0.056852f, 0.020922f, - -0.025891f, 0.009468f, 0.056545f, 0.012807f, -0.013615f, -0.001584f, -0.034111f, 0.017702f, 0.001722f, -0.008615f, 0.005021f, 0.011845f, -0.022089f, 0.011995f, -0.027703f, 0.003075f, -0.025242f, -0.022635f, -0.009603f, 0.010852f, 0.016386f, -0.012307f, 0.014342f, -0.024555f, -0.003458f, 0.027897f, 0.002658f, -0.009855f, -0.003167f, 0.005578f, -0.006335f, -0.018163f, -0.020354f, -0.002546f, -0.009294f, 0.020208f, -0.028045f, 0.029976f, 0.009586f, 0.003994f, -0.009890f, -0.003092f, 0.013880f, -0.010982f, 0.018693f, 0.004807f, 0.016905f, -0.006009f, -0.009671f, -0.029258f, 0.010154f, -0.002770f, -0.030279f, 0.009320f, -0.001972f, 0.018695f, 0.029842f, -0.012360f, 0.006838f, 0.014897f, 0.015727f, 0.003430f, -0.009014f, -0.001550f, -0.036693f, -0.001568f, 0.003419f, 0.009312f, -0.000131f, 0.024944f, 0.005407f, 0.012527f, -0.013833f, -0.009692f, 0.018540f, -0.001644f, -0.003712f, 0.011450f, -0.002554f, -0.002881f, -0.000166f, -0.000351f, 0.001246f, -0.001732f, 0.010350f, 0.085614f, 0.038881f, 0.007884f, 0.013690f, -0.017862f, -0.012073f, -0.004425f, 0.032193f, -0.023260f, 0.003425f, -0.019398f, - -0.053057f, -0.025582f, 0.011853f, -0.013753f, 0.008463f, -0.021184f, -0.001315f, -0.022759f, 0.019046f, -0.023040f, -0.016638f, -0.049258f, -0.009392f, -0.007965f, -0.013128f, 0.025251f, -0.008546f, -0.020713f, 0.006403f, 0.019418f, 0.007055f, 0.006411f, -0.003187f, -0.004411f, -0.013198f, 0.009764f, -0.016918f, -0.004779f, -0.010606f, -0.029490f, 0.004205f, -0.020551f, 0.007942f, 0.002329f, -0.006192f, -0.000945f, -0.021526f, -0.001501f, -0.005085f, 0.030844f, -0.009202f, -0.001031f, 0.012427f, -0.017370f, -0.007816f, 0.031300f, -0.018677f, 0.011779f, 0.000595f, 0.027801f, 0.039702f, -0.002657f, 0.004933f, 0.003675f, 0.013590f, 0.006909f, -0.030690f, 0.002478f, 0.007480f, 0.010432f, -0.013261f, -0.020610f, 0.001911f, 0.005569f, -0.005523f, -0.008041f, -0.032896f, -0.016457f, -0.019011f, 0.000984f, 0.003915f, -0.006498f, -0.009193f, -0.010543f, -0.002714f, -0.005463f, -0.005926f, 0.006465f, -0.003413f, 0.002952f, -0.011961f, 0.000492f, -0.004743f, -0.008498f, 0.001712f, 0.004435f}, - {-0.000064f, -0.000019f, -0.000070f, 0.000004f, -0.000045f, 0.000103f, 0.000068f, -0.000324f, 0.000004f, -0.000211f, -0.000252f, 0.000067f, 0.000210f, 0.000205f, 0.000074f, -0.000463f, -0.000284f, 0.000093f, -0.000145f, 0.000025f, 0.000093f, 0.000121f, 0.000192f, -0.000140f, -0.000156f, -0.000287f, -0.000168f, -0.000000f, -0.000653f, -0.000012f, -0.000065f, -0.000187f, 0.000133f, -0.000371f, -0.000325f, -0.000655f, -0.000092f, -0.000575f, -0.000178f, -0.000012f, 0.000456f, 0.000128f, 0.000346f, -0.000175f, 0.000365f, -0.000094f, 0.000072f, 0.000319f, 0.001951f, -0.001521f, 0.000953f, -0.001201f, 0.000619f, -0.000584f, -0.000576f, -0.000345f, -0.000326f, 0.000356f, 0.000407f, -0.001488f, -0.000078f, 0.000224f, -0.000146f, -0.000246f, -0.000870f, -0.000314f, 0.000626f, 0.000948f, 0.000476f, 0.001492f, 0.000305f, -0.000260f, 0.000308f, 0.000262f, -0.000149f, 0.000491f, 0.001061f, -0.000401f, -0.000008f, 0.000456f, -0.000011f, -0.000097f, -0.000754f, -0.000024f, 0.000387f, 0.000313f, 0.000065f, 0.000027f, -0.000249f, 0.000273f, -0.000025f, 0.000039f, 0.000018f, -0.000253f, 0.007069f, -0.000456f, - 0.000620f, -0.000443f, 0.000460f, -0.000532f, 0.000117f, -0.000127f, -0.000121f, 0.000410f, -0.000369f, -0.001278f, 0.000374f, 0.000137f, 0.000401f, 0.000872f, 0.000468f, 0.000316f, -0.000112f, -0.000739f, -0.000251f, 0.000346f, -0.000097f, -0.000116f, 0.000729f, -0.000915f, -0.000288f, -0.000011f, -0.000153f, -0.000223f, 0.000353f, 0.000387f, 0.000477f, 0.000138f, 0.000173f, -0.000189f, 0.000660f, -0.000025f, 0.000508f, 0.000359f, -0.000113f, -0.000061f, 0.000243f, 0.000010f, -0.000137f, -0.000063f, 0.000012f, 0.005193f, -0.004960f, 0.000779f, -0.001340f, 0.000719f, -0.000090f, 0.000519f, -0.000475f, 0.000934f, -0.000396f, 0.000566f, -0.001184f, 0.000047f, -0.000687f, 0.000197f, -0.000108f, -0.000162f, -0.000318f, -0.000872f, -0.000088f, 0.000103f, -0.000429f, 0.000714f, -0.000322f, -0.000519f, -0.000655f, 0.000392f, -0.000419f, 0.001015f, -0.000106f, 0.000003f, 0.000300f, 0.000004f, 0.000023f, -0.000453f, -0.000380f, -0.000106f, 0.000104f, -0.000174f, -0.000436f, 0.000387f, 0.000279f, 0.000697f, -0.000161f, 0.000229f, -0.000096f, 0.000129f, -0.012182f, 0.001429f, -0.000914f, 0.000026f, - -0.000142f, -0.001022f, 0.001104f, -0.000273f, 0.000098f, 0.000467f, 0.000141f, 0.001280f, -0.000064f, -0.000523f, 0.001535f, 0.000620f, 0.001385f, -0.000029f, -0.001838f, -0.001100f, -0.000887f, 0.000758f, -0.000959f, 0.000080f, -0.000350f, -0.000325f, 0.000110f, 0.000285f, -0.000280f, -0.000577f, -0.000430f, 0.000371f, 0.000418f, 0.000801f, -0.000066f, -0.000112f, -0.000052f, 0.000496f, -0.000558f, 0.000144f, 0.000218f, 0.000367f, -0.000455f, 0.000474f, -0.000552f, -0.000098f, 0.000182f, -0.015385f, 0.005576f, -0.002247f, 0.002579f, -0.001791f, 0.001184f, -0.001941f, 0.001104f, -0.001441f, 0.000558f, 0.001073f, 0.000055f, 0.000412f, 0.000984f, -0.000632f, 0.000708f, -0.000811f, -0.000597f, -0.001790f, 0.001634f, -0.001051f, 0.001096f, 0.000083f, -0.000003f, -0.001717f, -0.000059f, 0.000333f, -0.000241f, -0.000055f, -0.000060f, 0.000719f, -0.000103f, -0.000502f, 0.000546f, 0.000167f, -0.000215f, 0.000038f, 0.000028f, 0.000064f, 0.000317f, -0.000462f, 0.001198f, -0.000094f, -0.000744f, -0.000075f, -0.000403f, -0.000040f, 0.000774f, 0.007013f, -0.001488f, 0.002671f, -0.001202f, 0.000927f, - -0.000972f, 0.003324f, -0.000621f, 0.001780f, -0.000186f, -0.000115f, 0.000464f, 0.000013f, -0.002257f, 0.000531f, -0.000188f, -0.001011f, -0.000231f, 0.000053f, -0.002843f, -0.000065f, 0.000254f, 0.000919f, -0.000004f, -0.000530f, -0.000092f, 0.000994f, 0.000199f, -0.000472f, -0.000943f, 0.001486f, -0.000894f, -0.000022f, -0.001341f, -0.000137f, 0.000024f, 0.000250f, -0.000310f, 0.000374f, 0.000609f, -0.000564f, 0.000488f, -0.000009f, 0.000394f, -0.000008f, 0.000696f, -0.000328f, -0.000183f, 0.000620f, 0.018465f, -0.005382f, 0.000805f, -0.000911f, 0.001216f, 0.000015f, -0.000012f, -0.002481f, 0.001115f, -0.001083f, 0.000763f, 0.000268f, 0.000393f, 0.000803f, 0.001251f, 0.000195f, 0.000438f, -0.002087f, 0.000771f, 0.000775f, -0.001341f, -0.000259f, 0.001419f, 0.000918f, 0.000908f, 0.002010f, 0.001129f, 0.000295f, 0.000538f, -0.000750f, 0.000643f, -0.000178f, 0.001161f, 0.001503f, -0.000206f, 0.000508f, 0.000950f, -0.000396f, 0.000332f, -0.001306f, -0.000346f, 0.001308f, 0.000028f, -0.000917f, -0.000308f, 0.000395f, 0.000975f, -0.000068f, 0.000555f, -0.000007f, 0.001309f, -0.009877f, - 0.004152f, -0.002883f, 0.001876f, -0.001716f, 0.002215f, -0.001449f, 0.000088f, -0.001234f, -0.001519f, -0.002122f, 0.000142f, -0.001262f, 0.000604f, 0.000703f, 0.001592f, -0.002618f, 0.001605f, -0.000630f, 0.002231f, 0.000486f, -0.000139f, 0.000171f, 0.000165f, -0.000534f, -0.000455f, 0.000334f, -0.001073f, 0.000695f, 0.001258f, -0.001725f, -0.000387f, -0.000109f, 0.000683f, -0.000662f, 0.001802f, -0.001894f, 0.000357f, -0.000009f, 0.000105f, -0.000818f, 0.000119f, -0.000516f, 0.000469f, 0.000067f, 0.000082f, -0.000584f, -0.000111f, -0.001204f, -0.000416f, -0.000075f, 0.000253f, 0.000086f, -0.000449f, -0.001522f, -0.015921f, 0.005041f, -0.003263f, -0.000222f, -0.000668f, 0.000991f, -0.002752f, 0.000189f, 0.000868f, 0.000717f, -0.000965f, 0.000539f, -0.001231f, -0.002019f, -0.000791f, 0.000247f, -0.001210f, 0.004215f, 0.000110f, -0.001178f, -0.000390f, -0.001418f, -0.000667f, 0.001283f, 0.000766f, 0.001666f, -0.000158f, 0.000739f, -0.000950f, 0.000381f, -0.000860f, -0.000298f, -0.000506f, 0.000274f, 0.000516f, -0.000275f, -0.000816f, 0.000193f, 0.000299f, 0.001151f, -0.000208f, -0.000433f, - -0.001514f, -0.001240f, -0.000593f, -0.000246f, 0.000278f, 0.000197f, -0.000623f, -0.000263f, 0.000107f, 0.000546f, 0.000282f, 0.000089f, -0.000276f, 0.000555f, -0.015328f, 0.007183f, -0.003396f, 0.003202f, -0.001680f, 0.001894f, 0.000935f, 0.000574f, -0.001750f, 0.000206f, -0.000895f, 0.000254f, -0.002289f, 0.000851f, 0.001422f, 0.000456f, -0.002436f, -0.001211f, -0.001229f, -0.001279f, -0.000841f, 0.001734f, 0.000411f, 0.001219f, 0.000976f, -0.000437f, -0.000106f, -0.001842f, 0.002361f, -0.000681f, -0.000246f, 0.000145f, -0.000514f, -0.000734f, -0.000865f, -0.000202f, -0.001936f, 0.000566f, -0.001030f, 0.000765f, 0.000667f, 0.001101f, -0.000306f, 0.000116f, -0.001259f, 0.000468f, 0.000918f, 0.000215f, -0.000211f, 0.000181f, 0.000717f, 0.001074f, 0.000464f, 0.000998f, 0.000041f, 0.000150f, 0.004975f, 0.006155f, -0.002780f, 0.001649f, -0.000855f, 0.000619f, -0.000661f, 0.000355f, 0.000543f, 0.003014f, -0.001066f, 0.001243f, 0.002833f, -0.000771f, -0.000114f, -0.000477f, 0.000689f, 0.001463f, 0.001501f, 0.001950f, 0.000528f, 0.001660f, -0.000422f, -0.000980f, -0.003318f, 0.000700f, - -0.000502f, -0.001666f, -0.001187f, -0.000056f, -0.000313f, 0.001072f, -0.000152f, -0.001926f, -0.001987f, 0.000536f, -0.001726f, 0.000233f, 0.001053f, -0.001552f, -0.001038f, -0.000659f, 0.000774f, 0.000701f, -0.000049f, -0.000204f, 0.001164f, 0.000249f, -0.000447f, 0.000468f, -0.001001f, 0.000128f, -0.000527f, -0.000754f, -0.000508f, 0.000792f, -0.000402f, 0.000598f, -0.000445f, -0.000968f, 0.000266f, 0.000538f, -0.000339f, 0.017709f, -0.006163f, 0.003344f, -0.002310f, 0.003324f, -0.002342f, 0.002039f, -0.000757f, 0.002071f, 0.000504f, 0.001458f, -0.001693f, 0.001739f, -0.000593f, -0.001443f, -0.000148f, -0.001550f, -0.002474f, -0.001306f, -0.000268f, 0.001257f, -0.001694f, -0.002267f, -0.002777f, -0.000498f, -0.000242f, 0.002224f, 0.001219f, 0.001429f, -0.000975f, 0.001156f, -0.000881f, -0.000866f, -0.000476f, 0.001467f, 0.001267f, 0.000396f, -0.000008f, -0.000052f, 0.000042f, -0.000410f, -0.000230f, 0.001016f, 0.000199f, 0.002498f, -0.000956f, -0.000300f, -0.002080f, 0.001364f, -0.000542f, -0.000323f, -0.000489f, -0.000129f, 0.000123f, -0.000346f, 0.000381f, -0.000557f, 0.000009f, -0.000790f, - -0.000347f, 0.000177f, 0.000816f, -0.000423f, 0.004975f, -0.007600f, 0.004456f, -0.002843f, 0.003461f, -0.000039f, 0.002149f, 0.000607f, -0.003332f, -0.001580f, -0.001123f, 0.000408f, 0.000835f, 0.000467f, 0.003762f, -0.002115f, 0.003006f, 0.000524f, 0.000382f, -0.002056f, -0.000446f, 0.002599f, -0.000171f, -0.002206f, 0.002512f, 0.001919f, 0.000425f, -0.001034f, -0.000817f, -0.000219f, -0.000175f, 0.001165f, -0.000571f, 0.000520f, -0.001407f, -0.000311f, 0.000811f, -0.002028f, 0.000776f, -0.000786f, 0.000726f, -0.000587f, -0.000180f, 0.002394f, 0.001033f, 0.001365f, -0.000106f, 0.000565f, 0.000877f, -0.000179f, -0.000660f, -0.001055f, 0.000361f, 0.000484f, 0.000850f, 0.001030f, 0.000241f, -0.000230f, -0.001059f, -0.000479f, -0.001071f, -0.000954f, 0.000123f, -0.018898f, -0.003853f, -0.000551f, -0.003191f, -0.001350f, 0.002777f, 0.001160f, -0.000866f, -0.000776f, -0.002307f, -0.001548f, -0.001880f, -0.002104f, -0.001752f, -0.001133f, -0.001589f, -0.002675f, -0.002293f, 0.000823f, -0.002327f, 0.000718f, -0.003116f, 0.000058f, -0.001313f, -0.001059f, 0.002638f, -0.000317f, -0.001342f, 0.001688f, - -0.001981f, 0.001787f, 0.000510f, 0.001888f, 0.001277f, -0.000079f, -0.000962f, 0.001989f, -0.000065f, -0.000351f, 0.001812f, -0.000808f, -0.002550f, -0.002882f, -0.000766f, 0.000906f, 0.000568f, -0.000884f, -0.000119f, -0.000821f, 0.000146f, 0.000003f, 0.000112f, 0.001745f, 0.000665f, -0.001323f, -0.000519f, 0.000196f, 0.001095f, 0.000225f, 0.001652f, 0.000427f, -0.000175f, -0.000899f, -0.022179f, 0.019303f, -0.007865f, 0.005356f, -0.005040f, 0.001232f, -0.002476f, 0.003264f, 0.000618f, 0.000378f, -0.001580f, 0.002210f, 0.000450f, -0.003989f, 0.000405f, 0.000584f, -0.002004f, -0.003076f, 0.003037f, 0.003761f, -0.001215f, -0.001000f, 0.000630f, 0.001729f, -0.001017f, 0.003424f, -0.000107f, 0.000861f, -0.002490f, -0.000893f, -0.001483f, 0.002228f, -0.000496f, 0.000478f, 0.000485f, -0.001293f, 0.002169f, 0.002069f, 0.000570f, 0.000704f, 0.002543f, -0.001561f, -0.000409f, -0.000336f, -0.001844f, 0.000385f, -0.001202f, 0.000438f, -0.000055f, 0.000152f, 0.002079f, -0.000093f, -0.000469f, 0.000446f, 0.000112f, 0.001343f, -0.001258f, 0.000462f, -0.000079f, 0.002645f, -0.000790f, -0.000122f, - -0.001043f, 0.014829f, -0.001760f, -0.003067f, -0.000710f, 0.002015f, 0.001052f, 0.000924f, -0.000084f, -0.002033f, 0.000534f, 0.001276f, 0.001441f, -0.000915f, -0.000861f, 0.003012f, 0.001046f, -0.002309f, 0.000526f, 0.003890f, -0.004803f, 0.003252f, 0.000416f, 0.004152f, -0.000248f, 0.000263f, 0.000836f, 0.000861f, 0.002196f, -0.001573f, -0.000579f, 0.000842f, 0.001586f, -0.000586f, -0.000014f, 0.000231f, 0.000393f, 0.001011f, -0.001952f, -0.000014f, 0.001185f, 0.000360f, -0.001061f, -0.000306f, 0.002585f, 0.001914f, 0.000927f, -0.000944f, -0.000683f, 0.000768f, -0.000295f, -0.000594f, 0.000484f, -0.000752f, -0.001194f, 0.002661f, 0.001066f, 0.001723f, 0.000302f, 0.001309f, 0.001071f, 0.001169f, 0.000163f, 0.001408f, 0.000723f, 0.001012f, -0.000757f, 0.000221f, 0.000405f, -0.001130f, 0.000459f, -0.000526f, -0.000075f, 0.007039f, 0.002049f, 0.001702f, -0.001023f, -0.000684f, -0.001902f, -0.001360f, 0.000357f, -0.000744f, -0.000931f, -0.002733f, 0.002341f, 0.001618f, -0.001695f, 0.002918f, -0.002734f, -0.000828f, 0.001235f, -0.002032f, 0.001193f, 0.001895f, 0.002903f, 0.002553f, - 0.002445f, 0.001264f, -0.005129f, 0.000001f, -0.001065f, 0.001030f, -0.000481f, 0.002011f, 0.001378f, -0.000664f, -0.001235f, 0.001319f, -0.000903f, 0.003392f, 0.000016f, 0.001120f, 0.003457f, 0.003291f, -0.002469f, 0.000205f, -0.001621f, -0.002964f, -0.000301f, 0.000551f, -0.000358f, -0.000613f, -0.000296f, 0.000249f, -0.001366f, 0.000177f, -0.001596f, -0.000460f, -0.000169f, 0.000422f, 0.000034f, -0.000953f, -0.000984f, 0.002054f, -0.000704f, 0.000306f, 0.000946f, 0.001130f, -0.000605f, -0.000654f, -0.000276f, -0.001642f, -0.001083f, 0.000164f, 0.000382f, 0.016619f, -0.011686f, 0.004260f, -0.004436f, -0.000338f, -0.003099f, 0.002812f, 0.002794f, 0.000903f, 0.000572f, 0.002642f, 0.007256f, -0.006369f, -0.000881f, -0.001653f, -0.002568f, 0.005629f, 0.004242f, -0.000863f, -0.003850f, 0.001566f, -0.003144f, -0.002514f, -0.004407f, 0.000568f, -0.004513f, -0.001489f, 0.002667f, 0.000388f, -0.001380f, -0.003725f, 0.000012f, -0.000897f, 0.002271f, 0.002087f, 0.000967f, -0.001691f, 0.000260f, -0.000104f, 0.000922f, 0.001801f, -0.001137f, -0.000574f, -0.002016f, 0.003067f, -0.000375f, 0.000455f, - 0.002739f, -0.000562f, -0.000244f, 0.001094f, -0.001369f, -0.000141f, 0.001191f, -0.002030f, 0.000467f, -0.000376f, -0.000173f, -0.002117f, 0.001034f, -0.000453f, 0.000187f, 0.000521f, -0.000778f, 0.001389f, -0.001088f, -0.000283f, -0.002262f, 0.000204f, -0.000310f, 0.000943f, 0.001000f, -0.025902f, 0.003552f, 0.000334f, 0.001790f, -0.002016f, -0.003257f, -0.000042f, 0.002139f, 0.003414f, -0.000237f, 0.005206f, 0.002889f, -0.003566f, -0.003184f, 0.002420f, 0.000415f, -0.002547f, -0.004710f, -0.005399f, -0.003470f, -0.003990f, -0.004463f, 0.000780f, 0.001392f, 0.001161f, -0.003308f, -0.003180f, 0.000461f, -0.000852f, -0.000560f, -0.000442f, -0.002643f, 0.002201f, -0.004536f, -0.001708f, -0.000708f, -0.000183f, 0.001425f, 0.000491f, -0.000330f, 0.002069f, -0.000653f, 0.002063f, 0.001177f, -0.001617f, 0.000239f, 0.003363f, -0.001367f, -0.001366f, 0.000070f, 0.001963f, 0.000495f, -0.001418f, -0.001821f, 0.001640f, 0.000071f, -0.002383f, 0.003238f, 0.003657f, 0.000427f, -0.001059f, 0.000421f, -0.000079f, 0.000762f, 0.001610f, -0.000175f, 0.002141f, 0.001352f, 0.001221f, 0.001063f, 0.000549f, - 0.000883f, -0.001086f, -0.000096f, -0.015846f, 0.013547f, -0.004530f, 0.002895f, -0.000074f, 0.002257f, -0.005485f, 0.002123f, -0.003739f, 0.000019f, -0.002530f, 0.005086f, 0.004327f, 0.001636f, 0.000352f, -0.004178f, -0.002772f, -0.000430f, -0.001680f, 0.004827f, -0.003944f, -0.000156f, -0.001953f, 0.007069f, -0.002246f, 0.000633f, -0.000197f, 0.001219f, 0.000558f, 0.001214f, 0.000894f, -0.001169f, 0.000640f, -0.000284f, 0.002472f, 0.000381f, 0.004683f, 0.002428f, -0.001505f, -0.000317f, -0.000578f, 0.000086f, -0.001781f, -0.001260f, -0.000442f, 0.000835f, 0.005710f, 0.000518f, 0.000388f, -0.001568f, 0.002334f, -0.000865f, -0.001212f, 0.000751f, -0.001177f, 0.000702f, -0.001463f, -0.003196f, 0.001592f, 0.001411f, -0.000436f, 0.003333f, 0.000719f, 0.000789f, 0.001208f, -0.000899f, 0.000405f, 0.001077f, -0.002752f, -0.001302f, -0.000202f, -0.001264f, 0.001282f, 0.001965f, -0.000738f, 0.003372f, 0.002235f, -0.000089f, -0.000914f, -0.000694f, -0.000248f, 0.010332f, -0.000241f, 0.002323f, -0.007036f, -0.001176f, 0.000879f, -0.005678f, 0.000444f, 0.007848f, -0.001378f, 0.000557f, -0.003553f, - -0.004864f, 0.001226f, -0.004445f, 0.006913f, -0.004815f, 0.001651f, 0.001629f, 0.003697f, 0.002874f, -0.000766f, -0.004297f, -0.000508f, -0.000404f, 0.002185f, -0.003015f, -0.000593f, -0.000891f, -0.001442f, -0.001028f, 0.002088f, 0.001282f, 0.005603f, 0.001897f, -0.002102f, 0.002320f, -0.001540f, -0.001619f, 0.001715f, 0.004798f, -0.000703f, -0.002491f, -0.002335f, 0.002546f, -0.000075f, -0.003491f, -0.003220f, 0.001633f, 0.001516f, -0.001455f, -0.002664f, -0.004410f, 0.001203f, 0.001628f, 0.001088f, -0.002495f, 0.001852f, 0.001137f, 0.000763f, -0.000893f, -0.000286f, 0.001351f, -0.003320f, -0.000442f, 0.001439f, 0.001704f, -0.000331f, 0.000824f, 0.000053f, 0.035220f, -0.002214f, 0.001445f, 0.003250f, -0.003055f, -0.001287f, -0.001028f, -0.008264f, 0.005597f, -0.000874f, -0.005116f, 0.001138f, -0.002611f, 0.003050f, 0.002419f, 0.003869f, -0.001342f, 0.005242f, 0.004494f, 0.002884f, -0.004575f, 0.003558f, -0.006285f, -0.003697f, -0.004269f, 0.001725f, -0.003274f, -0.000571f, -0.001100f, -0.004179f, -0.002259f, 0.003576f, -0.002616f, -0.001971f, -0.003990f, 0.001330f, 0.001321f, 0.003033f, - -0.001673f, 0.005201f, 0.001318f, 0.005926f, -0.000652f, 0.001099f, 0.001214f, -0.003231f, 0.002349f, 0.006066f, -0.002055f, -0.000140f, 0.001667f, -0.001728f, -0.002411f, 0.001461f, -0.002403f, -0.001281f, -0.003148f, -0.002052f, 0.002377f, 0.002129f, 0.001438f, 0.002284f, 0.002859f, 0.002729f, 0.004088f, 0.000694f, -0.001179f, 0.002137f, 0.001456f, 0.000012f, -0.000378f, 0.000206f, -0.001494f, -0.000288f, 0.000347f, 0.000409f, -0.000060f, -0.015588f, -0.030559f, 0.011318f, 0.000097f, 0.000612f, -0.003065f, -0.003278f, -0.000747f, 0.001035f, -0.001991f, 0.007963f, -0.003707f, -0.006989f, 0.000396f, 0.000422f, -0.000939f, -0.002477f, 0.005417f, 0.000967f, -0.002466f, 0.002511f, -0.004852f, 0.006098f, -0.003450f, -0.001807f, -0.004197f, 0.006810f, -0.002980f, -0.001013f, -0.004161f, -0.001938f, 0.003680f, -0.001757f, 0.003987f, -0.005217f, -0.006097f, 0.000472f, 0.001024f, 0.001025f, -0.000193f, -0.003169f, 0.000549f, 0.001593f, 0.000773f, 0.003140f, -0.000052f, 0.004939f, 0.000655f, 0.004627f, 0.006060f, 0.001241f, -0.000496f, 0.001121f, -0.003452f, -0.000904f, -0.005742f, -0.005112f, - 0.001455f, 0.001481f, 0.000961f, -0.000384f, -0.001665f, -0.000883f, -0.001430f, -0.000809f, -0.001428f, -0.000004f, -0.000166f, 0.001034f, -0.000388f, -0.000699f, -0.001989f, -0.000184f, -0.002303f, -0.000307f, -0.003045f, -0.000430f, -0.001158f, -0.000367f, -0.010243f, 0.029825f, -0.013612f, 0.006210f, -0.002902f, 0.009460f, -0.001512f, -0.004206f, -0.004387f, 0.002470f, -0.001320f, -0.000583f, 0.000199f, 0.001835f, -0.010048f, -0.004917f, -0.002604f, 0.003969f, 0.003336f, 0.005831f, 0.001055f, -0.000910f, -0.000940f, 0.007001f, -0.009135f, 0.005265f, -0.004402f, -0.000934f, -0.004636f, 0.007232f, 0.002900f, -0.004735f, 0.000616f, -0.002087f, 0.000772f, 0.003056f, -0.013103f, -0.005489f, 0.001070f, 0.004582f, -0.002701f, 0.000950f, 0.003353f, -0.001383f, -0.001484f, -0.000497f, 0.005064f, 0.001982f, 0.000865f, 0.000549f, 0.001951f, 0.005934f, -0.003615f, 0.002704f, -0.008360f, -0.001462f, 0.001883f, 0.004014f, 0.000756f, 0.000566f, 0.000195f, 0.002166f, -0.001635f, 0.000234f, -0.000587f, -0.001986f, -0.001715f, 0.003108f, 0.003043f, -0.001165f, -0.001578f, -0.005217f, -0.002198f, -0.001181f, - -0.000929f, 0.003776f, -0.001444f, -0.001435f, -0.002542f, -0.002314f, -0.000182f, -0.026788f, -0.005789f, 0.002609f, -0.006362f, 0.001588f, 0.001155f, 0.003913f, -0.000031f, 0.007469f, 0.004872f, 0.002694f, -0.002062f, -0.003681f, -0.000202f, 0.007903f, -0.006779f, -0.002595f, -0.005256f, -0.000125f, -0.014346f, -0.011311f, 0.000700f, 0.007006f, 0.009643f, 0.002221f, -0.003525f, 0.003285f, -0.003131f, -0.002091f, -0.002136f, 0.000948f, 0.002517f, 0.000610f, 0.003746f, -0.002858f, -0.005110f, 0.004214f, 0.002765f, 0.008858f, -0.001098f, 0.001438f, -0.001282f, 0.007144f, -0.007450f, -0.003741f, -0.001771f, -0.005651f, 0.003584f, -0.002334f, 0.003008f, -0.006053f, 0.006022f, 0.005848f, 0.005377f, -0.002199f, 0.004766f, 0.000254f, 0.001658f, 0.002797f, 0.001987f, -0.002531f, 0.000436f, -0.000789f, -0.000144f, 0.005497f, 0.002049f, -0.002418f, 0.004448f, -0.000723f, -0.003856f, -0.001276f, -0.000281f, -0.005421f, -0.000220f, 0.002263f, 0.002950f, 0.000471f, -0.000114f, -0.002239f, 0.000822f, 0.001315f, 0.019448f, 0.012657f, -0.003944f, 0.005757f, -0.012875f, 0.009100f, 0.003356f, 0.006856f, - -0.002310f, -0.001691f, -0.007035f, -0.003599f, -0.012046f, -0.002064f, -0.009585f, -0.002894f, -0.005895f, -0.006039f, -0.008140f, 0.003267f, -0.011132f, 0.001525f, 0.004850f, -0.002122f, 0.001546f, -0.004782f, -0.000039f, -0.001477f, -0.001568f, -0.006526f, -0.000860f, 0.000776f, -0.000425f, -0.000989f, -0.003407f, -0.002960f, 0.002040f, 0.002169f, 0.002851f, 0.014199f, -0.005698f, -0.000310f, 0.005762f, -0.001358f, -0.002342f, -0.005423f, 0.001698f, 0.004833f, 0.007980f, 0.002703f, 0.006656f, -0.006471f, -0.009735f, 0.000948f, 0.006410f, 0.003595f, -0.005248f, 0.006134f, -0.004596f, 0.002964f, 0.001236f, 0.005577f, 0.003157f, 0.002058f, 0.003780f, -0.003740f, 0.002416f, 0.002017f, 0.001155f, 0.005478f, 0.001272f, 0.004430f, -0.000643f, -0.001750f, 0.000717f, 0.001065f, 0.000934f, 0.005318f, -0.000832f, -0.002969f, -0.000268f, 0.039181f, -0.025388f, -0.001395f, 0.002923f, 0.000772f, 0.003071f, 0.005353f, -0.001101f, -0.000880f, 0.002994f, -0.004545f, -0.004345f, -0.000727f, 0.003456f, 0.014091f, 0.000574f, 0.004858f, -0.004563f, 0.000269f, -0.013968f, 0.008603f, -0.008456f, -0.012033f, - 0.002777f, 0.003359f, -0.004478f, 0.003998f, 0.001665f, 0.009301f, 0.010293f, -0.001728f, -0.003912f, -0.002952f, -0.015430f, -0.008414f, 0.012061f, 0.003971f, 0.004426f, -0.006966f, -0.007153f, 0.002100f, -0.001403f, -0.006153f, 0.005335f, -0.001181f, -0.003860f, -0.004450f, 0.003014f, -0.003988f, -0.002144f, 0.014149f, -0.008652f, 0.002607f, -0.003117f, 0.003268f, -0.003905f, -0.001611f, -0.010586f, 0.001764f, -0.003932f, -0.002650f, 0.008424f, 0.002020f, 0.002336f, 0.005091f, 0.006105f, 0.001805f, 0.004220f, -0.001908f, -0.000521f, -0.006962f, 0.003155f, 0.005708f, -0.001328f, 0.000354f, -0.000655f, -0.001466f, -0.001805f, 0.000619f, -0.001855f, -0.000859f, -0.024487f, -0.012104f, 0.004432f, -0.001603f, 0.008759f, -0.001344f, -0.002415f, -0.007139f, -0.007984f, 0.004084f, -0.008342f, -0.002950f, -0.004770f, -0.001018f, -0.005028f, -0.003481f, -0.004055f, -0.002134f, -0.005007f, -0.009432f, 0.005273f, -0.018615f, -0.000283f, 0.016482f, 0.003958f, -0.000186f, -0.004619f, 0.001076f, -0.016844f, 0.006818f, 0.004126f, 0.001056f, 0.005970f, 0.008900f, -0.007185f, -0.003841f, -0.007473f, 0.000983f, - 0.000179f, -0.004485f, -0.005087f, -0.005653f, -0.003374f, -0.000361f, 0.003599f, 0.000196f, 0.002938f, 0.001602f, 0.000295f, 0.011394f, 0.002689f, -0.001962f, 0.009044f, -0.004567f, -0.010436f, -0.003297f, -0.001288f, -0.001602f, -0.000740f, -0.003699f, -0.000872f, -0.004585f, -0.001140f, -0.004661f, 0.000398f, 0.002335f, -0.005033f, -0.001529f, -0.002800f, 0.000092f, -0.005101f, -0.006518f, -0.002827f, 0.002476f, 0.004477f, 0.001711f, -0.001551f, -0.000291f, 0.001687f, -0.000945f, -0.001104f, -0.002362f, 0.000980f, 0.002271f, 0.000447f, -0.000226f, -0.002867f, -0.015074f, 0.020182f, -0.010042f, -0.005012f, -0.016592f, 0.012843f, -0.004610f, 0.007540f, 0.000417f, 0.000398f, -0.005073f, 0.010049f, -0.002582f, 0.003226f, 0.002455f, -0.004704f, -0.001630f, -0.001571f, -0.008815f, 0.001675f, 0.001538f, -0.006849f, -0.011422f, -0.007136f, -0.010512f, -0.002618f, 0.005625f, 0.002898f, -0.006206f, -0.006201f, 0.009102f, 0.006223f, -0.007955f, 0.007200f, -0.003986f, 0.006361f, -0.010069f, -0.008000f, -0.007685f, 0.002642f, -0.006810f, 0.004210f, -0.003096f, 0.001737f, -0.001903f, -0.001043f, 0.001539f, - 0.007229f, -0.016011f, -0.002096f, 0.003152f, -0.001533f, -0.004892f, -0.011600f, -0.001061f, 0.010505f, -0.000062f, 0.009093f, 0.006724f, 0.001884f, -0.001339f, 0.006924f, -0.006973f, -0.005769f, 0.004437f, -0.001751f, -0.004340f, 0.002882f, 0.000837f, -0.003456f, -0.004981f, 0.008310f, -0.007840f, -0.004337f, -0.004694f, 0.004681f, 0.000221f, -0.003447f, -0.001919f, 0.002398f, -0.007236f, -0.000066f, 0.001919f, 0.001386f, 0.000156f, -0.002548f, -0.003524f, -0.034641f, 0.012869f, 0.005438f, -0.008735f, 0.004268f, -0.009878f, 0.008841f, 0.007617f, 0.006485f, -0.017768f, 0.010705f, 0.018752f, -0.002626f, 0.006350f, 0.000267f, -0.005888f, -0.007685f, 0.020658f, -0.000309f, -0.001867f, -0.011419f, -0.022547f, -0.012223f, 0.001098f, -0.009994f, 0.008257f, -0.014784f, -0.004949f, -0.008744f, 0.002339f, -0.003442f, -0.011055f, 0.001806f, -0.002593f, 0.007188f, -0.002490f, -0.008689f, -0.003377f, -0.026523f, 0.004686f, -0.000866f, 0.012181f, -0.007541f, -0.008369f, 0.011372f, 0.002335f, 0.001828f, -0.004642f, -0.007143f, 0.002457f, 0.005148f, 0.003698f, -0.001915f, 0.003932f, 0.002123f, 0.000390f, - -0.002376f, -0.002578f, -0.008795f, 0.000606f, -0.003532f, -0.005175f, 0.004527f, 0.002496f, 0.012828f, 0.002612f, -0.008749f, -0.008816f, 0.001856f, -0.005745f, -0.004220f, 0.001355f, -0.004340f, -0.000290f, -0.002035f, -0.002634f, 0.002393f, -0.003529f, 0.001196f, -0.000528f, -0.000756f, -0.001379f, -0.001964f, -0.004313f, -0.005174f, -0.001692f, -0.004468f, 0.028889f, -0.011377f, 0.000199f, 0.001621f, 0.012087f, -0.001530f, -0.002327f, 0.008296f, 0.014242f, -0.009576f, -0.011055f, 0.008657f, -0.001626f, 0.007533f, 0.010913f, 0.009087f, 0.007846f, 0.006287f, 0.007415f, 0.028053f, -0.002346f, 0.002083f, 0.005485f, 0.015484f, -0.003171f, -0.005651f, 0.005990f, -0.000401f, -0.005013f, -0.006208f, -0.005406f, 0.000163f, -0.007037f, 0.010708f, 0.016153f, -0.000822f, -0.003963f, 0.006760f, -0.003880f, 0.009669f, 0.006961f, 0.000265f, -0.008279f, 0.006365f, -0.000590f, -0.002696f, 0.001362f, -0.001114f, 0.018801f, -0.001553f, 0.008215f, -0.004096f, 0.016760f, -0.001524f, 0.001562f, -0.005769f, -0.010079f, 0.008563f, -0.004976f, 0.016888f, 0.003774f, 0.008024f, 0.000140f, 0.000125f, 0.004963f, - 0.001356f, 0.012126f, 0.006787f, 0.002276f, 0.006121f, -0.006981f, 0.002736f, 0.005632f, 0.000679f, -0.001917f, 0.009965f, 0.002544f, -0.003171f, -0.003156f, 0.004046f, -0.001737f, 0.000103f, 0.005679f, -0.001637f, 0.003498f, 0.001460f, -0.002992f, 0.037373f, -0.010780f, 0.003504f, -0.003578f, 0.001659f, 0.004817f, 0.012559f, -0.009744f, 0.005259f, -0.000204f, 0.000673f, 0.006818f, -0.005579f, 0.007290f, -0.019694f, -0.008926f, 0.003294f, 0.007333f, 0.005188f, 0.015662f, -0.015590f, 0.002434f, -0.002339f, -0.021358f, 0.009086f, -0.008308f, -0.005431f, -0.003115f, -0.017543f, 0.005691f, 0.006151f, 0.002728f, -0.009159f, -0.015330f, 0.005995f, -0.009499f, 0.008288f, -0.014688f, 0.000188f, -0.017573f, -0.004332f, -0.011739f, -0.010200f, 0.010384f, 0.016158f, 0.002245f, 0.005933f, -0.007469f, 0.002996f, -0.012526f, 0.005292f, -0.008229f, 0.002258f, 0.011983f, 0.006084f, -0.004229f, 0.007250f, 0.001197f, 0.006275f, -0.005410f, 0.010527f, 0.018024f, 0.000952f, -0.010913f, -0.007559f, -0.004884f, -0.002016f, 0.001146f, 0.008082f, 0.001591f, 0.013137f, -0.000062f, 0.005017f, -0.011965f, - -0.001782f, -0.008644f, -0.001656f, -0.001303f, 0.002685f, -0.010851f, 0.001463f, -0.000846f, 0.003239f, 0.001158f, 0.002017f, 0.001079f, 0.000841f, -0.038108f, -0.031968f, 0.013507f, -0.004010f, 0.015707f, -0.001222f, 0.005140f, -0.019100f, -0.017919f, -0.010897f, 0.005989f, -0.014786f, -0.010201f, -0.004371f, 0.002971f, 0.010816f, 0.003862f, -0.021678f, 0.005846f, 0.012128f, -0.030751f, -0.003665f, 0.001486f, -0.032645f, -0.011200f, 0.014542f, -0.030241f, 0.014820f, 0.015596f, 0.000200f, -0.004362f, -0.001233f, -0.007276f, -0.008027f, 0.005429f, 0.006681f, 0.022687f, -0.013404f, -0.007036f, -0.005634f, -0.010527f, 0.000622f, -0.017973f, -0.004481f, 0.001373f, -0.000507f, -0.005846f, -0.000913f, -0.009898f, -0.002008f, 0.005530f, -0.002472f, -0.006451f, 0.007504f, -0.003512f, -0.007345f, -0.010492f, 0.022339f, -0.000931f, 0.013611f, 0.001798f, 0.005108f, 0.014727f, 0.002130f, 0.010033f, -0.006677f, 0.011149f, 0.008093f, 0.002425f, 0.002927f, 0.002734f, 0.009718f, 0.004430f, 0.001808f, 0.009385f, -0.003985f, 0.001368f, -0.001087f, -0.014659f, 0.006861f, 0.003482f, 0.002007f, -0.008976f, - -0.002554f, 0.001665f, 0.002851f, -0.002583f, -0.061833f, 0.023317f, -0.006832f, -0.027738f, -0.006770f, 0.000698f, -0.007174f, 0.010709f, -0.024015f, 0.011563f, -0.001938f, -0.027615f, -0.019037f, 0.003778f, 0.010963f, 0.010355f, 0.007600f, 0.016257f, 0.004643f, 0.026740f, 0.014640f, 0.031342f, 0.004072f, 0.025459f, -0.019617f, -0.015456f, 0.005267f, 0.002209f, -0.015561f, 0.004347f, 0.003294f, -0.002174f, -0.005935f, 0.015085f, 0.002885f, -0.033307f, -0.014851f, 0.011154f, 0.003841f, -0.007073f, 0.009520f, 0.009707f, 0.015126f, 0.003245f, 0.004486f, 0.002818f, 0.004390f, 0.005514f, -0.011574f, 0.001750f, 0.002124f, -0.024637f, 0.011603f, 0.008534f, 0.010446f, -0.016891f, -0.009802f, 0.012301f, 0.000012f, -0.003286f, -0.002550f, -0.007233f, -0.006385f, 0.000028f, -0.008496f, -0.018945f, 0.006438f, 0.020176f, -0.014200f, 0.001955f, -0.008073f, -0.003291f, -0.005885f, -0.001848f, 0.010405f, 0.002481f, 0.008597f, 0.002489f, -0.009155f, -0.006523f, -0.007436f, -0.004469f, -0.006082f, 0.001438f, -0.003857f, -0.000849f, -0.005821f, 0.001837f, 0.003012f, 0.003292f, -0.001768f, -0.005835f, - 0.000097f, 0.025950f, 0.017542f, 0.012129f, 0.006593f, 0.000803f, -0.006048f, -0.009215f, 0.008134f, -0.025892f, 0.027317f, -0.016931f, 0.004391f, -0.028107f, -0.001040f, 0.026431f, 0.010370f, -0.009367f, 0.016757f, -0.026702f, 0.010653f, 0.004972f, 0.001853f, -0.032880f, -0.009876f, 0.002009f, 0.005274f, 0.021113f, -0.032362f, -0.004376f, -0.010763f, -0.030458f, -0.006700f, 0.007295f, 0.015194f, 0.022821f, 0.017716f, 0.017649f, -0.001531f, -0.011358f, 0.011604f, 0.003506f, -0.007001f, 0.004159f, -0.014903f, 0.023643f, 0.011042f, 0.007994f, -0.012366f, -0.027066f, -0.007266f, 0.000609f, -0.032829f, -0.026530f, -0.007012f, -0.023798f, 0.015244f, 0.005904f, 0.004712f, -0.010967f, -0.011815f, 0.004564f, 0.003273f, 0.001982f, 0.007299f, -0.004591f, 0.005502f, 0.015630f, 0.007059f, 0.002637f, 0.002069f, -0.010326f, -0.008700f, -0.007777f, 0.004495f, -0.002781f, -0.021058f, -0.016820f, -0.001746f, -0.013550f, -0.012051f, -0.003470f, -0.017400f, -0.010917f, -0.002798f, 0.000909f, -0.002558f, -0.001161f, 0.004064f, -0.003345f, -0.001339f, 0.000905f, 0.000536f, -0.005077f, 0.029861f, -0.023299f, - 0.006269f, -0.003295f, -0.003024f, 0.000547f, 0.008262f, -0.014513f, 0.019426f, -0.005605f, 0.013323f, -0.001297f, -0.010810f, 0.020665f, 0.020389f, 0.014590f, -0.006824f, 0.031315f, 0.011598f, -0.035010f, 0.036112f, 0.003298f, -0.000095f, 0.026100f, 0.001161f, -0.011318f, -0.015135f, 0.025762f, -0.016128f, -0.021518f, 0.020853f, 0.018184f, -0.011832f, -0.028618f, 0.011237f, -0.009819f, 0.003989f, -0.020129f, -0.016491f, -0.006834f, 0.019529f, 0.017530f, 0.002331f, 0.016088f, -0.023341f, 0.007540f, -0.006123f, -0.008695f, 0.011215f, 0.001581f, 0.003458f, -0.032689f, -0.008922f, 0.018204f, -0.023342f, -0.006071f, -0.029288f, -0.005451f, -0.010915f, 0.004955f, -0.007045f, 0.003326f, 0.003064f, -0.000992f, 0.002989f, -0.007828f, -0.026003f, -0.004899f, 0.013336f, -0.001756f, 0.009267f, -0.010016f, -0.022807f, -0.004041f, 0.005106f, 0.014557f, 0.003608f, 0.007973f, -0.000783f, 0.003284f, 0.005561f, 0.003362f, -0.007880f, 0.002031f, -0.003185f, 0.003447f, -0.006259f, 0.003779f, 0.001613f, 0.000455f, -0.000637f, -0.005462f, -0.002667f, 0.027055f, 0.002077f, -0.007877f, -0.019391f, -0.000662f, - -0.009271f, 0.007203f, -0.016018f, 0.010176f, 0.006479f, -0.014006f, -0.014366f, 0.021659f, -0.025550f, -0.001008f, 0.016486f, -0.018501f, 0.005953f, 0.021168f, -0.016854f, 0.014516f, 0.010660f, 0.015537f, -0.025588f, 0.022087f, -0.025694f, 0.007734f, -0.019561f, 0.002434f, -0.010009f, 0.017389f, 0.000525f, 0.010640f, 0.005484f, -0.018258f, -0.011137f, -0.025237f, 0.014709f, -0.017098f, 0.014791f, -0.020559f, -0.023407f, -0.039197f, 0.003817f, 0.020564f, -0.003147f, -0.000613f, 0.006497f, 0.017723f, -0.006016f, 0.004751f, -0.021652f, 0.005494f, 0.028743f, -0.002915f, 0.026060f, 0.034091f, -0.000224f, 0.005699f, 0.007010f, -0.014581f, 0.007564f, -0.017663f, -0.000886f, -0.018130f, -0.017564f, 0.001015f, -0.006653f, -0.029780f, 0.020174f, 0.000460f, 0.015009f, -0.017584f, -0.008964f, -0.006739f, 0.007699f, -0.000191f, -0.004640f, -0.004651f, -0.002994f, -0.001165f, 0.001720f, 0.001899f, -0.003527f, 0.004019f, -0.004046f, -0.004052f, -0.002236f, 0.005683f, 0.004263f, 0.004720f, -0.002308f, 0.003551f, -0.061278f, 0.015582f, 0.022986f, 0.006399f, -0.026534f, -0.003860f, 0.043266f, -0.049653f, - -0.001221f, -0.008350f, -0.032454f, -0.008162f, -0.021977f, 0.008102f, 0.008069f, 0.019033f, 0.007745f, -0.025942f, -0.009175f, 0.018762f, -0.029594f, -0.008387f, -0.031652f, 0.027091f, 0.008172f, 0.021199f, 0.036117f, -0.012668f, -0.007558f, -0.005908f, -0.018012f, 0.017344f, -0.008419f, -0.021481f, -0.024079f, -0.004184f, 0.009318f, -0.000628f, 0.004989f, 0.005935f, 0.014102f, -0.006122f, -0.000594f, 0.010462f, -0.009975f, 0.020470f, 0.023301f, 0.021970f, -0.017696f, 0.002436f, -0.005467f, 0.010543f, 0.043895f, 0.032926f, 0.062808f, 0.005040f, 0.024880f, 0.020132f, -0.009452f, -0.002094f, -0.003203f, -0.005788f, 0.008005f, 0.001914f, 0.022669f, 0.017077f, -0.007569f, -0.002242f, -0.013327f, -0.026265f, 0.010670f, -0.000310f, 0.009090f, -0.001844f, -0.018112f, -0.002596f, 0.002837f, -0.010091f, 0.006248f, -0.006409f, -0.008743f, 0.000321f, -0.008761f, 0.000031f, -0.002359f, -0.002119f, 0.000163f, 0.001426f, -0.005434f, 0.000851f, 0.000455f, 0.000042f, 0.002319f, 0.095118f, 0.045863f, 0.016303f, 0.014684f, -0.022672f, 0.014538f, -0.018327f, 0.021799f, 0.017838f, 0.016724f, 0.004228f, - -0.031215f, -0.017507f, 0.033926f, 0.005805f, -0.002028f, -0.007282f, 0.037984f, -0.041305f, -0.017399f, -0.010436f, -0.003136f, -0.029288f, 0.006894f, -0.025325f, -0.014156f, 0.004074f, -0.016055f, 0.023486f, -0.022799f, -0.009917f, -0.005660f, 0.025107f, -0.041941f, -0.008167f, -0.031233f, -0.001001f, -0.000231f, -0.027472f, 0.004408f, 0.021396f, 0.011583f, -0.000617f, -0.012937f, 0.001038f, 0.012853f, -0.017332f, 0.034530f, 0.046932f, -0.003050f, -0.029370f, -0.027644f, 0.019276f, -0.007081f, -0.006473f, 0.040394f, -0.008737f, 0.012829f, -0.001234f, 0.025365f, -0.005228f, 0.003227f, -0.005013f, -0.016220f, -0.045102f, -0.026972f, -0.004350f, -0.012170f, -0.031129f, -0.020495f, 0.011539f, 0.026020f, -0.002282f, -0.003449f, -0.002916f, -0.004293f, 0.014177f, 0.008954f, 0.001916f, -0.008876f, 0.009905f, -0.005889f, -0.020687f, -0.019790f, 0.002428f, 0.013427f, -0.016156f, 0.010462f, -0.001154f, -0.006245f, -0.005476f, 0.000324f, -0.009086f, -0.007026f, 0.000275f, -0.002771f, -0.001462f} -}; -const float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2870]={ {-0.004481f, 0.002514f, -0.001425f, 0.000635f, -0.000793f, 0.000202f, -0.000577f, -0.000144f, 0.000043f, 0.001204f, -0.000761f, 0.000531f, -0.001239f, 0.000940f, -0.001392f, -0.001895f, -0.001655f, 0.000398f, -0.000160f, 0.000274f, 0.000053f, -0.000833f, 0.000504f, 0.000853f, -0.000454f, 0.000677f, -0.000086f, -0.000273f, -0.000558f, -0.000091f, 0.000184f, 0.000458f, -0.000306f, 0.000668f, -0.000248f, 0.000422f, 0.000610f, -0.000419f, -0.000394f, 0.000036f, -0.000404f, 0.000121f, 0.000025f, -0.000176f, 0.000409f, 0.000071f, -0.000165f, 0.001707f, -0.001764f, -0.000327f, -0.000370f, -0.000411f, -0.000125f, -0.000029f, -0.000334f, -0.000244f, 0.000005f, 0.000072f, -0.000244f, 0.000142f, -0.000546f, -0.000163f, -0.000087f, 0.000331f, -0.001876f, -0.000178f, 0.000390f, -0.000180f, -0.000226f, 0.000163f, 0.000038f, 0.000132f, 0.000867f, -0.000418f, -0.000275f, -0.000463f, -0.000084f, 0.000254f, 0.000391f, -0.000397f, -0.000295f, 0.000461f, -0.000421f, -0.000630f, -0.000067f, -0.000172f, 0.000222f, -0.000187f, -0.000177f, 0.000104f, 0.000196f, -0.000388f, 0.000130f, 0.000147f, -0.006023f, -0.004100f, - -0.001658f, -0.001906f, -0.001056f, -0.000999f, -0.000936f, -0.000431f, -0.001130f, -0.000900f, -0.000385f, -0.000702f, -0.000086f, -0.000256f, -0.000602f, -0.000828f, -0.000916f, -0.000367f, -0.000528f, -0.000933f, -0.000115f, -0.001166f, 0.000011f, -0.000092f, -0.000154f, -0.000707f, -0.000114f, -0.000536f, 0.000011f, -0.000690f, -0.000431f, 0.000234f, -0.000498f, 0.000086f, -0.001166f, -0.000219f, 0.000580f, 0.000349f, -0.000014f, -0.000173f, -0.000330f, 0.000093f, 0.000115f, 0.000542f, -0.000318f, -0.000056f, -0.000160f, -0.007922f, -0.000437f, 0.001025f, -0.000022f, 0.000309f, -0.000060f, 0.000013f, -0.000640f, 0.000681f, 0.000261f, 0.000819f, 0.000575f, 0.001674f, 0.001221f, 0.000099f, -0.000665f, -0.000375f, -0.000161f, 0.000317f, -0.000229f, -0.001469f, -0.001329f, -0.000681f, -0.000210f, 0.000069f, 0.000182f, 0.000277f, -0.000058f, 0.000051f, 0.000157f, -0.000305f, -0.000047f, -0.000038f, -0.000913f, 0.000539f, 0.000215f, -0.000096f, -0.000015f, -0.000343f, -0.000509f, 0.000318f, 0.000115f, -0.000325f, 0.000310f, 0.000272f, 0.000379f, -0.000167f, 0.008884f, 0.006243f, 0.001224f, 0.002418f, - 0.000498f, 0.000801f, 0.001968f, 0.001016f, 0.000311f, 0.001187f, 0.000480f, -0.000520f, -0.000261f, 0.000413f, 0.000684f, -0.001204f, -0.000164f, -0.000722f, 0.001602f, 0.000798f, 0.000408f, 0.000798f, 0.000405f, 0.000413f, 0.000018f, -0.000078f, -0.000396f, 0.000628f, 0.000758f, 0.000648f, 0.000807f, 0.000978f, 0.000583f, 0.001429f, 0.000321f, -0.000081f, 0.000507f, 0.000094f, -0.000251f, -0.000113f, -0.000224f, -0.000283f, 0.000005f, 0.000663f, 0.000157f, 0.000109f, 0.000384f, 0.013257f, 0.005638f, 0.001703f, 0.001552f, 0.001084f, 0.000672f, 0.000213f, 0.000052f, 0.001453f, 0.000295f, 0.000805f, 0.001097f, 0.000578f, -0.000076f, -0.000405f, 0.002318f, -0.000211f, -0.001266f, -0.000727f, 0.000577f, 0.000031f, 0.001240f, 0.000405f, 0.000154f, -0.000230f, -0.000575f, -0.000165f, -0.000263f, 0.000542f, -0.000092f, 0.000224f, 0.000057f, 0.000083f, -0.000295f, 0.000439f, 0.001611f, 0.001016f, 0.001071f, 0.000961f, 0.000798f, 0.000433f, 0.000313f, 0.000181f, 0.000529f, -0.000447f, 0.000325f, -0.000212f, 0.004354f, -0.004589f, -0.001404f, -0.001974f, -0.001732f, -0.000924f, - -0.000289f, 0.000653f, -0.000652f, 0.000081f, -0.001715f, 0.000594f, -0.000632f, -0.001532f, 0.000397f, -0.001092f, -0.001484f, -0.001042f, 0.001398f, 0.001073f, -0.000507f, 0.000551f, -0.000986f, 0.000390f, -0.001786f, 0.000103f, 0.000283f, -0.000292f, -0.000426f, 0.000381f, -0.001415f, -0.000629f, 0.000172f, -0.000482f, -0.000424f, -0.000311f, 0.000106f, 0.000158f, 0.000701f, 0.000050f, 0.001215f, -0.000465f, -0.000344f, -0.000377f, -0.000613f, -0.000180f, -0.000311f, 0.000180f, -0.000529f, -0.000797f, -0.015738f, -0.007994f, -0.002855f, -0.002254f, -0.002436f, -0.001543f, -0.002105f, -0.001386f, -0.002293f, -0.000428f, -0.001033f, -0.000277f, 0.000110f, -0.000966f, -0.000258f, 0.000140f, 0.000016f, -0.001463f, -0.000960f, -0.000668f, 0.000140f, -0.001969f, 0.000198f, -0.000899f, -0.001738f, 0.000140f, -0.000021f, 0.000111f, -0.000042f, -0.000624f, -0.000469f, 0.000011f, -0.000131f, -0.000031f, -0.000649f, 0.000012f, 0.000177f, 0.000517f, 0.000201f, -0.000686f, 0.000388f, -0.000685f, 0.000459f, -0.001172f, -0.000793f, 0.000167f, -0.000643f, 0.000024f, -0.000243f, -0.000943f, -0.009307f, 0.004880f, - 0.002055f, 0.000756f, 0.001265f, 0.000229f, 0.000342f, 0.001103f, 0.001243f, 0.000665f, 0.000829f, -0.000633f, -0.000262f, -0.000984f, 0.001193f, 0.000243f, 0.000218f, 0.001618f, 0.000056f, -0.001094f, 0.001933f, -0.001286f, 0.000159f, 0.001589f, -0.000479f, 0.000413f, 0.000209f, -0.000042f, -0.000798f, -0.000196f, 0.000444f, 0.000455f, 0.000080f, -0.000290f, 0.000034f, -0.000569f, 0.001824f, 0.000150f, -0.000026f, -0.000722f, -0.000358f, -0.000469f, -0.000431f, 0.000980f, 0.000946f, -0.000250f, 0.000096f, -0.000068f, 0.000287f, 0.000063f, -0.000060f, -0.000200f, 0.000226f, 0.000142f, -0.000274f, -0.000263f, 0.014014f, 0.005953f, 0.001591f, 0.003214f, 0.001866f, 0.000799f, 0.001399f, 0.001205f, 0.000001f, 0.000879f, 0.001389f, 0.000321f, 0.000001f, 0.000711f, 0.001957f, -0.000663f, -0.000362f, -0.001549f, 0.000392f, 0.001786f, 0.000753f, 0.000083f, -0.001011f, -0.000542f, -0.000436f, 0.001881f, 0.000581f, 0.000984f, 0.000547f, -0.000893f, -0.001441f, 0.001631f, 0.000891f, -0.001002f, -0.000483f, 0.001585f, 0.001330f, -0.000067f, 0.000327f, -0.000166f, 0.000692f, 0.000445f, - -0.000160f, 0.000323f, -0.000565f, -0.000262f, 0.000848f, -0.000450f, -0.000355f, 0.000912f, 0.000773f, 0.000433f, 0.000149f, 0.000190f, 0.000185f, 0.000651f, 0.016574f, 0.003606f, 0.002758f, 0.001228f, 0.001262f, 0.000546f, 0.001299f, 0.001552f, 0.002450f, 0.001519f, -0.000471f, 0.001946f, -0.000380f, 0.000532f, 0.000424f, 0.001649f, 0.002410f, 0.001568f, -0.000426f, 0.002713f, -0.000521f, -0.000266f, -0.001430f, 0.000397f, -0.000432f, 0.000456f, 0.000719f, -0.000804f, -0.001143f, -0.000457f, 0.000213f, -0.000897f, -0.000309f, 0.000430f, 0.000591f, -0.001054f, -0.000921f, -0.000366f, 0.000340f, 0.000008f, 0.000272f, -0.000373f, -0.000019f, -0.000247f, -0.000372f, 0.000449f, -0.000627f, 0.000603f, -0.000672f, -0.000215f, -0.000515f, 0.000124f, -0.000194f, 0.000677f, 0.000284f, -0.000036f, 0.001906f, -0.007339f, -0.002373f, -0.002613f, -0.001706f, 0.000469f, -0.000432f, -0.001562f, 0.000889f, 0.000082f, 0.001096f, -0.000108f, 0.000104f, -0.001703f, -0.001225f, -0.000783f, -0.001260f, 0.000124f, -0.001340f, -0.002547f, 0.000497f, 0.000318f, -0.001201f, -0.000242f, -0.001091f, 0.000246f, - 0.000353f, -0.000191f, -0.002656f, -0.000731f, 0.000157f, -0.000276f, 0.000216f, 0.000731f, -0.001893f, -0.000546f, -0.001187f, 0.000630f, -0.000156f, -0.000081f, 0.001223f, -0.001230f, -0.000094f, 0.000405f, -0.000168f, -0.000392f, 0.000587f, 0.000335f, -0.000757f, -0.000898f, -0.001470f, -0.000203f, -0.001125f, -0.000885f, -0.000485f, -0.000606f, -0.000381f, -0.000153f, -0.000351f, -0.000544f, -0.000764f, -0.000412f, 0.000264f, -0.017218f, -0.005865f, -0.003510f, -0.000911f, -0.001809f, -0.000083f, -0.000971f, -0.001295f, -0.001563f, 0.001947f, 0.000063f, -0.000764f, -0.000168f, -0.002876f, -0.001611f, -0.001409f, 0.002356f, -0.001979f, -0.004140f, 0.000335f, 0.000529f, 0.000317f, -0.001510f, -0.000414f, 0.000896f, -0.001920f, -0.000178f, -0.001958f, -0.000562f, 0.001083f, -0.000917f, 0.000260f, 0.002145f, 0.000226f, -0.000418f, -0.000521f, 0.000599f, 0.000654f, 0.000555f, -0.000638f, -0.000095f, 0.000680f, 0.000959f, 0.000560f, 0.000340f, -0.001795f, 0.000363f, -0.000090f, -0.000883f, -0.000342f, 0.000201f, -0.000245f, -0.000893f, -0.000610f, -0.000927f, -0.000276f, 0.000075f, 0.000132f, -0.000118f, - -0.000667f, -0.000094f, -0.000519f, -0.000016f, -0.011435f, 0.002648f, 0.000174f, -0.001397f, 0.002054f, -0.001297f, -0.000998f, 0.000516f, -0.001928f, -0.001155f, -0.000407f, 0.000802f, -0.001520f, 0.002082f, 0.000049f, -0.000057f, 0.000978f, 0.000970f, 0.001531f, -0.000164f, 0.002107f, 0.003020f, 0.002187f, 0.000689f, 0.001872f, -0.000607f, 0.001191f, -0.001379f, -0.001401f, -0.000589f, 0.000179f, 0.000914f, -0.000734f, -0.001324f, -0.000709f, -0.000034f, 0.000823f, -0.001280f, 0.000929f, 0.000315f, 0.000718f, -0.000328f, -0.001160f, -0.001574f, -0.001863f, 0.000487f, -0.000950f, 0.000507f, -0.001976f, -0.000577f, 0.000898f, -0.001254f, 0.000213f, -0.000882f, 0.000606f, -0.000286f, 0.000589f, 0.000134f, -0.000346f, -0.000035f, -0.000791f, 0.001487f, 0.000635f, 0.007650f, 0.012631f, 0.003665f, 0.003285f, 0.004560f, 0.003697f, 0.000730f, 0.002934f, 0.002611f, 0.001424f, 0.005528f, 0.001321f, 0.000943f, 0.002397f, 0.002219f, 0.001171f, 0.000988f, 0.000588f, 0.000928f, -0.000706f, 0.002798f, -0.000740f, 0.000279f, -0.000870f, 0.001776f, 0.000096f, -0.000446f, 0.001469f, 0.001751f, - 0.000622f, 0.002321f, -0.001628f, -0.002696f, -0.000603f, -0.000147f, 0.000595f, -0.000176f, 0.001175f, -0.001072f, 0.001070f, 0.002339f, 0.001010f, -0.002061f, -0.000421f, 0.001068f, 0.000421f, -0.001004f, 0.001473f, 0.000587f, 0.000875f, 0.000974f, 0.001316f, 0.000440f, -0.000358f, 0.000331f, -0.001176f, -0.000302f, 0.001111f, 0.001020f, -0.000564f, -0.000007f, 0.000278f, -0.000491f, 0.029002f, 0.003003f, -0.000292f, 0.001814f, -0.000055f, 0.002498f, 0.000028f, 0.000686f, 0.000313f, 0.002632f, 0.001220f, -0.001056f, 0.000876f, 0.001273f, 0.000671f, -0.001558f, -0.003281f, -0.001484f, -0.001379f, 0.000602f, -0.002015f, -0.000333f, -0.000129f, 0.000562f, 0.003607f, 0.002026f, 0.000679f, 0.001468f, -0.002247f, -0.000115f, -0.001178f, -0.000428f, -0.000928f, 0.001377f, -0.000519f, 0.002291f, -0.001043f, -0.000386f, -0.001164f, -0.000495f, -0.001681f, -0.000758f, 0.000386f, 0.000391f, -0.000088f, 0.000045f, -0.000922f, 0.000549f, 0.001563f, 0.000153f, -0.000841f, 0.001008f, -0.001381f, 0.000632f, 0.000608f, -0.000108f, -0.000429f, -0.000265f, -0.000060f, -0.000231f, 0.000070f, 0.000966f, - -0.000103f, -0.008442f, -0.010046f, -0.001867f, -0.000560f, -0.000411f, -0.001597f, -0.000660f, 0.003048f, 0.001805f, 0.000643f, 0.000832f, -0.001330f, -0.000266f, 0.002289f, -0.000842f, 0.003725f, -0.002891f, -0.000789f, 0.003038f, -0.000585f, -0.000339f, -0.001765f, 0.002083f, 0.002302f, 0.000045f, 0.002269f, -0.000824f, 0.001007f, -0.000045f, -0.001268f, -0.000198f, -0.001003f, -0.000417f, -0.000650f, 0.001255f, -0.000921f, -0.000217f, -0.001418f, 0.000963f, -0.000736f, 0.002100f, -0.003309f, 0.001394f, 0.001156f, -0.001998f, 0.000044f, -0.001319f, 0.000358f, -0.001501f, 0.000480f, 0.000631f, -0.001908f, -0.000285f, -0.000693f, -0.002840f, -0.001645f, -0.000785f, -0.001411f, -0.000304f, -0.000235f, 0.000159f, -0.001153f, 0.000168f, -0.002232f, 0.000630f, 0.000278f, -0.000766f, 0.000284f, -0.000765f, -0.000203f, -0.000496f, -0.000229f, -0.007420f, -0.004255f, -0.005756f, -0.002955f, -0.003845f, -0.000435f, 0.003711f, -0.003877f, 0.002983f, 0.001903f, -0.002113f, 0.004230f, -0.000669f, 0.000823f, -0.002762f, -0.000298f, -0.001228f, -0.000177f, 0.000018f, 0.001042f, 0.000510f, 0.002207f, 0.004234f, - -0.001147f, 0.000584f, -0.002026f, -0.002115f, -0.001880f, 0.000428f, 0.001759f, -0.000620f, -0.000617f, -0.000562f, -0.001310f, 0.001468f, -0.000463f, -0.000098f, -0.001283f, -0.001008f, -0.000855f, -0.001321f, -0.000114f, -0.000058f, -0.001120f, 0.000732f, -0.001713f, 0.000632f, -0.000996f, -0.000178f, 0.000617f, -0.001263f, 0.001558f, -0.002715f, -0.000848f, 0.000256f, -0.000808f, -0.001449f, 0.000707f, -0.000400f, -0.001634f, 0.002676f, 0.001510f, 0.000370f, 0.000507f, 0.000537f, 0.000653f, -0.001353f, -0.000891f, 0.000344f, -0.000485f, -0.000938f, 0.001007f, -0.020663f, -0.002362f, 0.001673f, -0.001511f, 0.003433f, 0.001587f, -0.004179f, 0.000570f, 0.000708f, -0.001344f, -0.003499f, -0.001293f, -0.000849f, 0.001005f, 0.000256f, -0.003235f, -0.001219f, -0.001723f, -0.003114f, -0.002622f, -0.006109f, -0.003176f, -0.003566f, -0.004327f, 0.003447f, -0.002297f, 0.001264f, 0.002588f, -0.001862f, -0.002931f, -0.001127f, -0.000625f, 0.000709f, 0.001946f, 0.001132f, -0.002426f, -0.003017f, 0.002392f, 0.001497f, 0.001894f, 0.002659f, 0.000394f, -0.000005f, 0.001052f, -0.000120f, -0.001163f, 0.000679f, - -0.000623f, -0.000397f, 0.001569f, 0.003979f, -0.001307f, -0.001980f, 0.000936f, -0.001259f, -0.000109f, 0.002054f, -0.003917f, -0.000047f, -0.001284f, -0.000207f, -0.000071f, 0.000032f, -0.000455f, 0.000793f, -0.001157f, 0.001433f, 0.001561f, 0.000662f, -0.000079f, -0.000002f, -0.001312f, 0.016556f, 0.014438f, 0.003911f, 0.008779f, 0.002429f, 0.005056f, -0.000820f, -0.000802f, 0.002457f, 0.003322f, 0.001764f, -0.005733f, -0.001901f, 0.003574f, 0.004037f, -0.001489f, -0.001946f, 0.000655f, 0.001681f, 0.001909f, 0.000284f, -0.002983f, -0.006407f, -0.002408f, 0.003497f, -0.000311f, 0.003594f, -0.000852f, -0.001144f, 0.000726f, -0.002979f, -0.001727f, -0.001733f, 0.003291f, -0.004104f, -0.002832f, 0.000737f, 0.000686f, -0.001057f, -0.000132f, -0.001177f, 0.001231f, 0.001678f, 0.001439f, 0.003251f, 0.001892f, 0.000055f, -0.002663f, 0.002504f, -0.000239f, 0.001387f, -0.001303f, 0.000968f, 0.001979f, -0.000302f, -0.000533f, -0.001240f, -0.001472f, 0.000901f, 0.000199f, 0.001274f, -0.001274f, 0.001064f, 0.002570f, -0.000541f, -0.001413f, 0.001792f, 0.002328f, -0.000947f, 0.001037f, 0.001167f, - 0.000931f, 0.002225f, 0.001898f, 0.020077f, 0.003747f, -0.003936f, 0.003266f, 0.002107f, -0.003801f, -0.000868f, 0.001947f, 0.000098f, 0.000627f, -0.000331f, -0.000792f, -0.004226f, -0.004106f, 0.001800f, 0.003887f, 0.003982f, -0.003953f, -0.008046f, 0.001125f, -0.000157f, -0.003213f, -0.004134f, -0.000723f, 0.002012f, -0.001414f, 0.003003f, 0.004884f, -0.001870f, -0.001595f, -0.000697f, -0.000724f, -0.000992f, -0.007470f, 0.003861f, 0.003556f, -0.000179f, 0.002292f, -0.002307f, -0.000721f, -0.002103f, 0.003011f, 0.003177f, 0.000357f, -0.000848f, -0.001177f, 0.001751f, 0.000430f, -0.001095f, -0.001896f, -0.000039f, 0.001590f, -0.002467f, -0.001506f, -0.001364f, 0.000407f, 0.000728f, -0.003052f, 0.001508f, 0.003363f, -0.002793f, -0.000039f, -0.000708f, -0.000476f, -0.000068f, 0.000333f, 0.000142f, -0.000198f, 0.000556f, -0.000912f, -0.001846f, -0.002125f, -0.000981f, -0.000522f, -0.001130f, -0.002131f, -0.001604f, -0.000513f, 0.001487f, -0.000718f, -0.005505f, -0.003629f, 0.000518f, 0.004979f, -0.005014f, 0.003560f, 0.001625f, 0.000774f, 0.001012f, 0.000854f, 0.003245f, 0.005258f, 0.000137f, - 0.001579f, 0.000577f, -0.004535f, -0.004119f, 0.004008f, 0.000538f, -0.004686f, 0.002753f, -0.004002f, 0.000651f, 0.004902f, -0.000321f, -0.001350f, 0.005599f, 0.000865f, 0.000375f, 0.000452f, 0.000159f, 0.000496f, -0.002474f, 0.001469f, 0.002252f, 0.003690f, -0.002945f, -0.001465f, 0.000567f, 0.000505f, -0.001355f, -0.002662f, 0.001688f, -0.000977f, 0.001180f, 0.000620f, -0.000931f, -0.000867f, 0.000372f, 0.001674f, -0.001284f, -0.000572f, -0.000293f, 0.000958f, -0.002695f, -0.001263f, 0.001241f, 0.000260f, -0.000914f, -0.000476f, 0.001122f, -0.001142f, 0.000348f, -0.000775f, -0.000194f, 0.000904f, 0.000260f, 0.000526f, -0.002326f, -0.001659f, 0.000616f, -0.021590f, -0.019822f, -0.004433f, -0.009184f, -0.008065f, -0.004568f, -0.001387f, -0.003430f, -0.004131f, 0.002807f, 0.000749f, -0.000959f, 0.004709f, 0.001729f, 0.005658f, 0.004384f, 0.001259f, 0.001756f, 0.002062f, -0.008676f, 0.004088f, -0.000670f, -0.001840f, -0.001625f, -0.005136f, -0.001589f, -0.001785f, 0.004931f, -0.001652f, -0.002945f, -0.001471f, 0.000785f, -0.000647f, -0.000984f, 0.001083f, -0.001304f, -0.000850f, 0.003017f, - -0.002962f, -0.000258f, -0.000961f, 0.005427f, 0.002150f, 0.002170f, -0.004179f, 0.000322f, 0.003712f, -0.001952f, 0.000883f, 0.000018f, 0.000899f, 0.000024f, 0.000308f, -0.000285f, 0.002365f, -0.000309f, -0.000776f, 0.001725f, -0.001229f, 0.000967f, 0.002061f, -0.000966f, -0.001438f, 0.000639f, 0.000786f, -0.001551f, -0.000638f, -0.002862f, -0.002269f, 0.000751f, -0.000262f, -0.000504f, -0.000054f, 0.000377f, -0.000185f, -0.001816f, -0.000856f, -0.013522f, 0.028554f, 0.017910f, 0.005763f, 0.001739f, 0.001972f, 0.002010f, 0.003214f, 0.002800f, 0.006054f, 0.012065f, 0.000699f, 0.001361f, 0.002641f, 0.002461f, 0.003120f, -0.002269f, 0.011739f, 0.008342f, -0.007771f, 0.005736f, 0.001077f, -0.001267f, 0.002829f, 0.007071f, -0.006635f, -0.001906f, 0.000552f, -0.005532f, -0.003752f, -0.003956f, 0.008067f, -0.000366f, -0.001424f, 0.001063f, 0.000453f, -0.002416f, -0.006463f, 0.004480f, 0.003672f, -0.001105f, 0.002006f, 0.004594f, -0.003055f, 0.002500f, 0.000265f, -0.001204f, 0.003638f, 0.003095f, 0.000728f, 0.000415f, 0.000375f, 0.002493f, 0.003530f, 0.000026f, -0.000635f, -0.000038f, - -0.001115f, 0.002471f, 0.000520f, -0.001006f, -0.001234f, -0.000905f, 0.001881f, 0.000868f, 0.004273f, -0.001292f, 0.001528f, -0.000951f, 0.001066f, -0.001744f, -0.000619f, 0.000525f, -0.000948f, -0.001220f, 0.000108f, 0.000207f, 0.000548f, 0.001156f, 0.030926f, -0.010900f, -0.010707f, 0.004849f, 0.001192f, -0.004052f, -0.003568f, -0.005667f, -0.005617f, -0.004108f, -0.003481f, 0.005121f, 0.001194f, 0.000619f, -0.002904f, -0.002535f, -0.009053f, -0.000009f, -0.003578f, -0.006222f, 0.005185f, 0.003449f, 0.001070f, 0.003206f, 0.000901f, -0.001091f, -0.002005f, -0.000169f, -0.001694f, 0.002624f, 0.004444f, -0.004717f, -0.001736f, 0.000069f, 0.002428f, 0.006160f, 0.001855f, 0.008262f, -0.004236f, 0.002608f, 0.006890f, 0.004060f, -0.003428f, -0.001021f, 0.000811f, -0.001746f, 0.002986f, -0.000462f, 0.000180f, 0.004400f, 0.002428f, 0.000706f, 0.000439f, -0.000107f, -0.001821f, -0.000051f, 0.000559f, -0.001974f, -0.001086f, 0.001953f, -0.000727f, -0.003744f, -0.000509f, 0.000114f, -0.000611f, -0.003899f, 0.001057f, 0.000805f, 0.001020f, 0.001092f, -0.000769f, -0.001617f, -0.000506f, -0.000815f, - 0.003219f, 0.001359f, -0.001189f, 0.000886f, -0.000243f, 0.000672f, 0.000098f, 0.009930f, 0.018867f, 0.007414f, 0.005058f, 0.005916f, -0.001715f, 0.001908f, -0.005377f, 0.009387f, 0.003703f, 0.009018f, 0.002704f, 0.003444f, -0.008213f, 0.010281f, 0.015231f, 0.001946f, 0.009879f, -0.001966f, -0.007997f, -0.007914f, 0.007251f, -0.002316f, 0.005792f, 0.001087f, 0.002328f, -0.004421f, 0.004486f, -0.001538f, -0.001587f, 0.007408f, 0.005147f, -0.003854f, 0.006917f, 0.000800f, 0.001273f, -0.001366f, -0.005197f, 0.001475f, 0.000399f, -0.002872f, -0.003270f, 0.003082f, 0.004302f, 0.001437f, -0.001502f, 0.002055f, 0.000175f, 0.004598f, -0.002745f, -0.000371f, -0.004533f, 0.000562f, 0.004454f, 0.003022f, -0.002055f, 0.000016f, 0.001569f, -0.004003f, -0.000297f, -0.002723f, -0.001529f, 0.000873f, 0.001069f, 0.002744f, -0.003181f, 0.001412f, -0.003660f, 0.000353f, 0.004545f, 0.001629f, 0.000898f, -0.002844f, 0.000428f, 0.000376f, -0.004739f, -0.001225f, 0.000552f, 0.000841f, 0.001878f, 0.000797f, -0.000102f, -0.022037f, -0.001202f, -0.004978f, 0.006255f, -0.004766f, 0.005145f, 0.000155f, - 0.004124f, -0.000574f, 0.003557f, -0.011013f, 0.003236f, -0.001294f, -0.003974f, 0.001935f, -0.004840f, 0.002967f, -0.004886f, -0.002579f, -0.010794f, 0.006140f, 0.012924f, -0.005074f, -0.001721f, -0.001479f, -0.002124f, 0.001969f, 0.002558f, 0.003747f, -0.009602f, 0.002866f, -0.005985f, -0.001712f, -0.000345f, 0.004921f, 0.001857f, -0.002474f, 0.001019f, 0.001048f, 0.003498f, 0.003592f, -0.006007f, -0.001973f, 0.000842f, -0.004365f, -0.003916f, -0.000738f, -0.002805f, 0.001184f, 0.003323f, 0.000449f, 0.000555f, -0.000789f, 0.003097f, 0.008432f, 0.004732f, -0.005175f, 0.001020f, 0.001915f, -0.002591f, 0.002974f, 0.000748f, -0.003312f, -0.000340f, 0.003800f, 0.000381f, 0.003638f, -0.004915f, -0.001136f, 0.002911f, 0.000146f, -0.001632f, -0.003396f, -0.000282f, -0.001799f, 0.002786f, -0.000791f, 0.001732f, -0.000833f, -0.000383f, -0.040453f, -0.015181f, 0.008214f, 0.002961f, -0.005196f, 0.005749f, 0.004739f, 0.007590f, -0.001834f, -0.003312f, 0.006631f, 0.000294f, -0.004466f, 0.009031f, -0.010108f, -0.013153f, -0.006214f, -0.007051f, 0.004615f, 0.006650f, -0.000150f, 0.001730f, 0.010471f, - 0.004629f, -0.010604f, -0.004773f, -0.006522f, 0.001974f, -0.009846f, -0.008571f, -0.000518f, 0.001353f, -0.003764f, -0.004098f, -0.005999f, -0.003094f, -0.005488f, -0.005358f, -0.002015f, 0.000489f, -0.001955f, -0.000290f, -0.003698f, -0.000543f, -0.002831f, -0.006231f, 0.013535f, 0.001128f, 0.003211f, -0.005486f, 0.003595f, -0.000322f, 0.001846f, -0.004398f, -0.000165f, -0.000685f, -0.003668f, -0.002273f, -0.001663f, 0.004430f, 0.003226f, 0.003475f, 0.002157f, 0.002703f, -0.000606f, 0.000077f, -0.003172f, -0.000546f, -0.000137f, -0.000211f, 0.004173f, 0.001168f, 0.002455f, 0.002582f, -0.001859f, -0.004452f, 0.001943f, -0.001686f, -0.000781f, 0.001874f, 0.005345f, -0.000543f, 0.021219f, 0.007790f, 0.017098f, 0.002689f, 0.001165f, -0.006842f, 0.002644f, 0.010226f, 0.003868f, 0.000744f, 0.006891f, -0.006146f, -0.002724f, 0.005590f, -0.004230f, 0.001950f, 0.009856f, 0.003167f, 0.001371f, 0.003140f, -0.001759f, 0.004282f, -0.003216f, 0.000119f, 0.001703f, 0.000581f, -0.002473f, -0.002694f, 0.001100f, 0.010129f, -0.003236f, 0.002516f, -0.009288f, -0.004978f, 0.004310f, 0.010672f, -0.008152f, - 0.000077f, 0.005182f, 0.001305f, 0.002001f, -0.006767f, -0.002322f, -0.005847f, -0.010201f, -0.002695f, -0.005651f, -0.006008f, 0.004911f, 0.001956f, 0.001730f, -0.003508f, -0.002106f, -0.000689f, -0.009796f, -0.000913f, 0.005571f, -0.003892f, 0.004481f, 0.009105f, 0.001435f, 0.006033f, 0.004025f, 0.000350f, -0.001764f, 0.005236f, -0.006553f, -0.000302f, -0.000342f, 0.004167f, 0.002067f, 0.003840f, 0.000203f, 0.004258f, -0.000210f, 0.000889f, 0.000705f, 0.004532f, 0.000088f, 0.000055f, 0.004111f, -0.002179f, 0.002583f, 0.000903f, 0.000740f, -0.001303f, 0.025767f, -0.005654f, -0.007917f, 0.001269f, 0.005924f, 0.004823f, 0.004930f, -0.001434f, 0.005318f, 0.001673f, -0.006327f, -0.012654f, 0.008472f, 0.002281f, 0.006128f, 0.003666f, -0.003373f, 0.001495f, -0.004851f, -0.008274f, 0.008595f, -0.005376f, -0.010303f, 0.001103f, -0.001693f, 0.001281f, -0.001029f, -0.001031f, -0.002620f, -0.004071f, 0.003030f, 0.006957f, -0.010044f, 0.009830f, -0.008499f, -0.011072f, 0.001072f, 0.002987f, -0.006263f, 0.004944f, -0.000892f, 0.003143f, -0.005394f, -0.002653f, 0.009158f, 0.003771f, 0.009273f, - 0.002491f, 0.000698f, 0.002981f, -0.000033f, 0.000378f, 0.004855f, -0.000391f, 0.000852f, -0.004304f, -0.002963f, -0.002534f, 0.003417f, -0.003338f, -0.002886f, 0.005562f, -0.000169f, 0.006225f, 0.000938f, -0.004483f, 0.007401f, 0.005800f, -0.000480f, 0.003794f, -0.003803f, -0.006203f, 0.002393f, -0.002251f, -0.004500f, 0.000421f, 0.003950f, 0.005414f, -0.002037f, 0.001713f, 0.002599f, -0.000324f, 0.001109f, -0.005357f, 0.002061f, 0.001901f, -0.002700f, 0.021591f, 0.026307f, -0.004035f, 0.000161f, -0.013238f, -0.001497f, -0.009661f, -0.007224f, -0.002309f, -0.004940f, 0.007447f, 0.000004f, 0.005776f, -0.012354f, 0.010265f, -0.007780f, 0.010483f, 0.000373f, 0.008323f, -0.003008f, 0.010491f, 0.003451f, -0.004999f, 0.002214f, -0.007460f, 0.004948f, -0.004159f, 0.011815f, 0.003518f, 0.007766f, -0.012926f, -0.007401f, -0.003175f, -0.006548f, -0.002746f, -0.004481f, 0.000416f, 0.015971f, -0.007386f, 0.008031f, 0.013532f, 0.001919f, 0.005948f, 0.000080f, -0.003039f, -0.006319f, -0.004824f, 0.000673f, -0.003483f, 0.008172f, -0.005300f, 0.003747f, 0.009882f, -0.001301f, -0.000821f, -0.000792f, - 0.008081f, 0.008740f, 0.002733f, -0.004058f, -0.003562f, -0.002143f, 0.003412f, -0.008007f, 0.001499f, -0.001436f, -0.002209f, 0.000113f, 0.005281f, 0.000472f, 0.007480f, 0.006854f, 0.001353f, 0.001645f, -0.003261f, -0.000163f, 0.007690f, -0.000993f, 0.000451f, 0.003228f, -0.004114f, 0.000079f, -0.004708f, -0.005120f, 0.000738f, 0.000739f, -0.001031f, -0.020502f, -0.018371f, 0.008183f, -0.002437f, 0.010123f, -0.005760f, -0.004755f, -0.006875f, -0.005642f, -0.002609f, -0.016179f, -0.005932f, 0.006231f, 0.008700f, 0.003593f, -0.011273f, -0.003200f, -0.005410f, 0.004785f, 0.016313f, 0.009137f, 0.003990f, 0.000644f, 0.001241f, 0.000853f, 0.002871f, 0.008442f, 0.000691f, 0.002225f, -0.004794f, 0.000404f, -0.006874f, 0.002703f, 0.003372f, 0.006111f, 0.000802f, -0.004156f, -0.002081f, 0.008054f, -0.003727f, 0.003051f, 0.001661f, 0.002933f, 0.010287f, -0.005698f, -0.008666f, 0.003282f, 0.007339f, 0.001955f, 0.007335f, 0.008799f, 0.004257f, 0.006107f, 0.002368f, 0.001330f, 0.004845f, 0.014654f, -0.008127f, 0.000011f, 0.002425f, 0.001319f, -0.006299f, -0.001100f, 0.004889f, -0.000064f, - -0.005649f, 0.002273f, 0.010641f, -0.008625f, 0.002835f, -0.008168f, 0.004752f, 0.003231f, 0.001325f, 0.000333f, -0.003845f, -0.003832f, 0.007490f, 0.004051f, 0.001541f, -0.002268f, 0.005253f, -0.000736f, 0.000033f, -0.003626f, 0.003875f, 0.001448f, -0.041269f, -0.014405f, -0.000926f, -0.004118f, -0.010177f, 0.006217f, 0.008302f, 0.014006f, 0.004603f, 0.008806f, -0.008177f, -0.017255f, 0.008036f, -0.004078f, 0.000432f, -0.009291f, 0.009140f, -0.005489f, -0.000434f, 0.008494f, -0.023539f, 0.002268f, 0.012242f, -0.022847f, -0.006040f, -0.008098f, 0.001105f, 0.000846f, 0.005588f, -0.006358f, 0.007407f, 0.001050f, -0.011978f, -0.006179f, 0.001415f, -0.001544f, -0.005935f, 0.005214f, 0.013925f, 0.002967f, 0.003851f, -0.002244f, -0.003469f, 0.008115f, 0.001481f, -0.004092f, -0.020007f, -0.003199f, 0.002521f, -0.010156f, 0.004814f, 0.004084f, 0.000808f, -0.007853f, -0.007014f, -0.008372f, 0.017955f, 0.004749f, -0.002741f, 0.003460f, -0.015269f, 0.001775f, -0.007150f, -0.008230f, 0.007945f, -0.001377f, 0.000099f, -0.005198f, -0.019103f, 0.002555f, 0.005801f, 0.003334f, -0.001397f, 0.011275f, - 0.000374f, -0.004760f, -0.000759f, -0.007442f, 0.011703f, 0.006352f, 0.003273f, -0.001960f, 0.000795f, 0.003746f, -0.003485f, 0.001451f, 0.001613f, 0.000533f, 0.043790f, 0.011029f, 0.011302f, 0.009602f, -0.002796f, 0.000378f, 0.045032f, 0.013006f, -0.003726f, 0.027509f, -0.015431f, 0.011477f, 0.002412f, 0.007015f, 0.011243f, -0.003476f, -0.007849f, 0.008477f, -0.001542f, -0.027198f, 0.006954f, 0.007053f, 0.005757f, 0.012948f, 0.008202f, 0.008457f, -0.007662f, 0.001689f, -0.007399f, -0.003860f, 0.008061f, 0.002676f, -0.015877f, -0.009480f, -0.013307f, -0.019811f, -0.003034f, 0.004087f, 0.009677f, 0.008354f, 0.007197f, 0.006036f, -0.002934f, 0.010363f, 0.005765f, -0.012611f, -0.004825f, 0.003364f, 0.009498f, 0.000228f, 0.002048f, 0.016723f, -0.002995f, -0.001416f, -0.004333f, -0.000872f, 0.008522f, -0.007278f, 0.000126f, -0.010294f, -0.009147f, -0.005861f, 0.010714f, 0.014725f, -0.004273f, 0.001190f, -0.002838f, -0.009141f, -0.006196f, 0.002375f, -0.010589f, -0.002815f, -0.002830f, -0.006845f, 0.018758f, 0.004110f, 0.006275f, 0.005469f, -0.000544f, 0.000024f, 0.003241f, 0.000985f, - 0.005899f, 0.003718f, 0.000105f, -0.000597f, 0.044544f, 0.026341f, 0.001874f, 0.016732f, 0.012748f, 0.003666f, 0.019290f, 0.005463f, -0.000087f, -0.005979f, -0.004472f, -0.012568f, -0.034179f, -0.002510f, 0.003296f, -0.011634f, -0.006670f, -0.001288f, 0.023819f, 0.007834f, -0.006215f, 0.000273f, 0.001629f, -0.003386f, 0.010027f, -0.001665f, -0.006224f, -0.004196f, -0.005869f, 0.003799f, -0.008611f, -0.020936f, 0.000445f, -0.010913f, -0.016994f, 0.003357f, 0.007285f, 0.010652f, 0.005947f, 0.009432f, -0.006441f, -0.018029f, -0.011816f, -0.016214f, 0.006344f, 0.015261f, 0.012509f, 0.008143f, 0.015169f, 0.000421f, 0.009467f, 0.020674f, -0.017117f, 0.003111f, -0.007746f, 0.000110f, 0.005899f, 0.006186f, 0.010002f, -0.000875f, -0.020915f, -0.016100f, 0.003438f, -0.004530f, -0.005969f, -0.003952f, -0.004592f, -0.014265f, 0.001233f, 0.009718f, -0.001067f, 0.007411f, -0.004466f, -0.000351f, -0.000831f, 0.003721f, 0.014158f, 0.010033f, 0.008619f, -0.008167f, 0.000451f, -0.004902f, 0.000560f, -0.013106f, 0.002620f, 0.002196f, 0.001410f, -0.000245f, -0.001623f, -0.003760f, 0.003265f, 0.000168f, - 0.005910f, 0.010848f, -0.022256f, 0.002756f, -0.017035f, 0.007619f, -0.032524f, -0.000881f, -0.010791f, -0.016775f, 0.030030f, 0.016989f, -0.010714f, -0.026970f, -0.006827f, -0.009837f, -0.023575f, 0.018346f, 0.000978f, -0.016289f, -0.006061f, 0.009427f, -0.015429f, -0.010491f, -0.008107f, -0.018276f, -0.007017f, -0.000365f, -0.014793f, -0.013410f, 0.018832f, -0.007026f, -0.005879f, -0.001732f, -0.004210f, 0.016019f, -0.017743f, -0.008283f, 0.003747f, -0.004720f, -0.000020f, -0.004019f, 0.009236f, -0.016813f, 0.005992f, -0.026885f, 0.002737f, -0.007683f, -0.010738f, 0.028248f, 0.002935f, -0.010431f, 0.005386f, 0.005909f, -0.022799f, 0.015826f, -0.003858f, -0.004902f, -0.001726f, 0.009053f, -0.003770f, 0.000410f, -0.010917f, 0.005948f, 0.007400f, 0.012717f, -0.010976f, -0.028144f, 0.019658f, -0.002244f, 0.008118f, 0.009632f, -0.005829f, 0.005561f, 0.014536f, -0.018554f, 0.000999f, -0.006532f, -0.002018f, -0.019260f, 0.006577f, -0.002989f, 0.000778f, -0.000475f, 0.002555f, -0.003236f, -0.002910f, 0.005311f, -0.004876f, 0.003849f, 0.001133f, -0.003612f, 0.002181f, 0.000599f, -0.042512f, -0.023705f, - 0.005324f, -0.015120f, 0.001833f, -0.010931f, -0.005656f, -0.016026f, -0.011024f, 0.008063f, 0.023885f, 0.025087f, 0.003995f, 0.017699f, -0.012225f, 0.030926f, 0.022712f, -0.018101f, -0.016274f, 0.005116f, 0.005109f, 0.026138f, 0.009492f, 0.016733f, -0.006033f, 0.006701f, -0.003395f, -0.002815f, -0.005539f, 0.024437f, 0.010945f, 0.023406f, 0.021269f, 0.004077f, -0.001254f, -0.010363f, 0.010268f, -0.001237f, -0.021410f, -0.014288f, -0.004070f, -0.011078f, -0.002470f, -0.011385f, -0.009980f, 0.006745f, -0.003022f, -0.007211f, 0.017879f, 0.021058f, -0.012122f, -0.004065f, 0.028743f, 0.011709f, -0.019624f, -0.019312f, -0.006952f, 0.007249f, -0.000911f, -0.003608f, -0.013962f, 0.011780f, 0.003644f, -0.004565f, 0.003284f, 0.003225f, -0.017311f, -0.007647f, 0.001658f, -0.006552f, -0.008399f, -0.009107f, 0.023517f, -0.018437f, -0.016488f, 0.006757f, 0.012076f, 0.017162f, -0.008696f, -0.002809f, 0.001680f, -0.007934f, 0.008236f, -0.001255f, 0.006192f, -0.005187f, -0.002101f, 0.001574f, 0.002427f, -0.002988f, -0.002560f, -0.000251f, -0.003134f, -0.016170f, -0.023757f, -0.020397f, -0.000177f, -0.016048f, - -0.020658f, 0.005338f, -0.001781f, -0.028758f, 0.020546f, 0.003697f, -0.001759f, 0.010279f, 0.031671f, 0.030318f, 0.013044f, -0.037020f, 0.013758f, 0.009888f, -0.036333f, -0.000450f, -0.017546f, -0.008455f, 0.018699f, -0.021906f, 0.012748f, 0.000063f, -0.003789f, -0.007784f, 0.003764f, -0.001755f, 0.006285f, -0.004154f, -0.019460f, 0.018968f, 0.008931f, 0.022704f, -0.002364f, -0.007541f, -0.010948f, 0.009248f, -0.009867f, 0.026808f, 0.005620f, 0.016141f, -0.020824f, 0.016678f, 0.000640f, 0.005968f, -0.013518f, 0.004639f, -0.016054f, -0.002430f, -0.016467f, 0.006837f, 0.011386f, -0.021758f, 0.000886f, -0.017907f, 0.008436f, 0.010756f, 0.010367f, -0.001304f, -0.030903f, 0.000181f, 0.008165f, -0.002540f, 0.013743f, -0.029442f, 0.007589f, -0.012174f, 0.003977f, -0.010293f, 0.002160f, 0.007777f, -0.003318f, 0.000025f, -0.003204f, -0.003706f, 0.001196f, -0.007830f, 0.010037f, 0.002401f, -0.000237f, -0.012560f, -0.001157f, 0.001483f, -0.000889f, 0.005479f, -0.005460f, 0.001371f, -0.000555f, -0.002650f, 0.044506f, 0.053900f, 0.022604f, 0.018769f, -0.031053f, 0.029875f, 0.043472f, -0.047551f, - 0.005732f, 0.030784f, 0.005412f, -0.056707f, -0.005609f, -0.030798f, 0.009982f, 0.011243f, -0.014275f, -0.005637f, 0.010388f, -0.026050f, -0.002024f, -0.010222f, -0.012731f, 0.005054f, -0.019681f, 0.021239f, 0.015213f, 0.027475f, -0.013562f, 0.004474f, -0.002910f, -0.011233f, 0.034777f, -0.000703f, -0.015918f, -0.007569f, 0.007563f, -0.007498f, -0.009030f, -0.010688f, 0.017724f, 0.006541f, 0.024616f, -0.001760f, 0.009066f, 0.032207f, -0.020382f, 0.004258f, -0.013819f, 0.025553f, -0.009981f, 0.011944f, 0.005139f, -0.001038f, -0.009625f, -0.018234f, -0.012252f, 0.005117f, 0.023176f, -0.021762f, 0.019565f, 0.023043f, 0.011657f, 0.026934f, -0.013103f, -0.010735f, 0.017624f, -0.003057f, -0.003198f, -0.024877f, -0.001505f, -0.020527f, 0.004284f, 0.025974f, 0.012818f, 0.006532f, 0.011983f, 0.007077f, -0.011097f, -0.005047f, -0.019430f, 0.022045f, 0.000995f, -0.008777f, 0.005899f, 0.001976f, -0.010179f, 0.005352f, -0.001397f, 0.006317f, -0.000987f, 0.009591f, 0.004665f, -0.020561f, -0.070739f, -0.029435f, -0.050922f, -0.027246f, -0.021880f, 0.011854f, -0.032765f, -0.033147f, -0.016125f, -0.044348f, - -0.014669f, 0.033654f, -0.001235f, 0.001442f, -0.009283f, -0.007770f, -0.004426f, 0.003149f, -0.000768f, -0.029685f, -0.004961f, -0.005792f, 0.042936f, -0.005513f, 0.038145f, 0.003193f, -0.010571f, 0.010059f, 0.031353f, -0.001570f, 0.000072f, -0.012657f, -0.003977f, -0.013292f, 0.007248f, -0.005585f, -0.011628f, 0.005791f, -0.015618f, 0.012522f, 0.012389f, 0.002502f, 0.027393f, -0.012488f, 0.013819f, -0.011675f, 0.015276f, 0.010568f, 0.028861f, 0.004024f, -0.012185f, 0.015707f, -0.002306f, -0.009742f, 0.036720f, -0.002739f, -0.002552f, 0.021352f, 0.006256f, 0.028736f, -0.022697f, -0.021816f, -0.003660f, -0.009447f, -0.003349f, -0.035312f, -0.008376f, 0.012262f, -0.005142f, -0.015198f, -0.025203f, 0.001686f, 0.007236f, -0.012427f, -0.012268f, -0.021611f, -0.008071f, 0.009178f, 0.009091f, 0.019134f, -0.003455f, -0.001767f, -0.001072f, 0.006380f, 0.007244f, 0.001291f, 0.011716f, 0.003328f, 0.000893f, -0.001638f, -0.001573f, 0.008669f, -0.004133f, 0.008565f, 0.009231f, -0.000431f}, - {-0.005154f, 0.002787f, -0.001446f, 0.001705f, -0.001002f, 0.001433f, -0.002977f, 0.000142f, -0.000111f, -0.000330f, 0.000690f, 0.001478f, -0.000045f, -0.000131f, -0.001599f, -0.000630f, 0.000692f, 0.000401f, -0.000180f, 0.000629f, -0.000185f, 0.000223f, -0.000694f, -0.000466f, -0.000466f, -0.000152f, 0.000070f, -0.000340f, -0.000237f, 0.000800f, -0.000454f, 0.000483f, -0.000439f, -0.000068f, -0.000337f, 0.000427f, 0.000158f, 0.000346f, 0.000579f, 0.000719f, 0.000269f, 0.000194f, -0.000057f, 0.000082f, 0.000108f, -0.000130f, 0.000132f, 0.001823f, -0.002086f, -0.000280f, -0.000384f, -0.000519f, 0.000338f, -0.001036f, 0.000352f, -0.000024f, 0.000472f, 0.000414f, -0.000822f, -0.000292f, 0.001254f, -0.000132f, 0.000268f, -0.000233f, 0.000545f, 0.001150f, 0.001330f, 0.000226f, 0.000573f, -0.000020f, -0.001050f, -0.000032f, 0.000114f, -0.000228f, 0.000004f, 0.000578f, -0.000603f, -0.000811f, 0.000353f, -0.000392f, -0.000362f, -0.000569f, -0.000025f, 0.000597f, 0.000150f, -0.000177f, -0.000217f, -0.000239f, -0.000004f, 0.000132f, -0.000320f, 0.000117f, -0.000366f, 0.000220f, -0.005238f, -0.003708f, - -0.001823f, -0.001359f, -0.001056f, -0.001071f, -0.000380f, -0.000790f, -0.000255f, -0.000495f, -0.001302f, 0.000254f, 0.000654f, -0.000104f, 0.000370f, -0.000246f, -0.000679f, -0.000670f, -0.001022f, -0.000344f, 0.000236f, 0.000031f, -0.000579f, 0.000386f, -0.000698f, -0.000679f, 0.000439f, -0.000000f, 0.000014f, 0.000359f, 0.000398f, 0.000108f, -0.000166f, -0.000203f, -0.000277f, 0.000138f, 0.000062f, -0.000358f, 0.000182f, -0.000711f, -0.000316f, -0.000178f, -0.000084f, -0.000508f, -0.000112f, -0.000189f, -0.000021f, -0.007452f, -0.000981f, 0.000557f, 0.000129f, 0.000525f, 0.000077f, -0.000426f, 0.000288f, -0.000332f, -0.000331f, -0.000683f, -0.000544f, 0.000254f, -0.000191f, 0.000458f, -0.000439f, -0.000008f, -0.000424f, 0.000124f, 0.000774f, -0.000213f, 0.000580f, 0.000016f, -0.000498f, -0.000119f, 0.000703f, 0.000329f, 0.000464f, 0.000490f, -0.000694f, 0.000466f, -0.000272f, -0.000073f, -0.000366f, -0.000199f, 0.000227f, 0.000294f, 0.000185f, -0.000187f, 0.000571f, 0.000462f, 0.000306f, -0.000180f, -0.000337f, 0.000036f, -0.000274f, 0.000046f, 0.008773f, 0.006964f, 0.001664f, 0.003111f, - 0.000766f, 0.002404f, 0.001711f, 0.000510f, 0.001723f, 0.000675f, 0.001310f, 0.000552f, -0.000456f, 0.001291f, 0.000932f, -0.000365f, -0.000102f, -0.002427f, -0.000244f, 0.000115f, 0.001492f, 0.000160f, 0.000074f, 0.000745f, 0.000078f, 0.000674f, 0.000644f, 0.000095f, -0.000032f, 0.000235f, 0.001025f, 0.000767f, 0.000669f, -0.000068f, -0.000239f, 0.000039f, 0.000487f, -0.000178f, -0.000029f, 0.000520f, 0.000193f, -0.000259f, 0.000008f, 0.000112f, -0.000493f, 0.000642f, -0.000353f, 0.015448f, 0.005604f, 0.002767f, 0.001580f, 0.001027f, 0.000958f, 0.000984f, 0.001536f, 0.000427f, 0.002530f, 0.000394f, 0.000196f, 0.001146f, -0.000640f, 0.000310f, -0.000307f, -0.000231f, -0.000467f, 0.001697f, 0.000872f, -0.000087f, 0.001219f, -0.000815f, -0.000259f, -0.000254f, 0.001904f, -0.000130f, 0.000660f, 0.000208f, 0.000915f, 0.000220f, -0.000320f, 0.000557f, 0.000616f, -0.000243f, 0.000196f, 0.000325f, 0.000139f, 0.000455f, -0.000163f, 0.000514f, 0.000376f, -0.001187f, 0.000239f, 0.000209f, 0.000205f, 0.000919f, 0.005963f, -0.004425f, -0.001482f, -0.002076f, -0.001209f, -0.001257f, - 0.000860f, -0.000742f, -0.001777f, -0.000514f, -0.002379f, -0.000626f, -0.001011f, -0.002384f, -0.000547f, 0.000464f, -0.001429f, -0.000553f, 0.000268f, -0.001704f, -0.000035f, 0.001827f, 0.000462f, 0.000206f, -0.000830f, -0.000032f, 0.000697f, -0.000055f, -0.000762f, -0.000915f, 0.000905f, -0.000149f, -0.001090f, 0.000032f, -0.000443f, 0.001301f, -0.000005f, 0.000543f, -0.000188f, 0.001112f, -0.000749f, 0.000397f, 0.000192f, 0.000198f, 0.000047f, 0.000223f, -0.000002f, -0.000465f, 0.000757f, 0.000477f, -0.016282f, -0.009141f, -0.001923f, -0.002248f, -0.001621f, -0.001962f, -0.002873f, -0.000222f, 0.000024f, -0.000793f, 0.000653f, -0.000735f, 0.000064f, -0.000049f, -0.000982f, -0.000993f, -0.001671f, -0.000538f, 0.001534f, -0.001488f, -0.000229f, 0.001463f, 0.000860f, -0.000210f, 0.000469f, -0.000195f, -0.001625f, -0.000765f, -0.001347f, -0.000425f, -0.000003f, -0.000314f, 0.000681f, -0.001366f, -0.001149f, -0.000040f, -0.001398f, -0.001029f, -0.001009f, -0.001095f, 0.001084f, -0.000343f, -0.001473f, -0.000453f, 0.000316f, 0.000430f, -0.000546f, -0.000728f, -0.000395f, -0.001349f, -0.010083f, 0.005841f, - 0.002020f, 0.001061f, 0.000859f, 0.000997f, 0.000316f, -0.000942f, 0.000163f, -0.000509f, -0.000300f, 0.001908f, 0.000977f, 0.001662f, 0.001460f, 0.001749f, -0.001466f, 0.000814f, 0.001636f, 0.000410f, 0.001412f, -0.001668f, 0.000231f, -0.000324f, -0.000230f, -0.000542f, 0.000537f, -0.000101f, -0.000079f, 0.001719f, -0.001741f, -0.000361f, 0.000520f, 0.001048f, -0.000530f, 0.000897f, -0.000750f, -0.000938f, 0.001176f, -0.000500f, -0.000155f, -0.000218f, 0.000382f, -0.000023f, 0.000489f, -0.000494f, -0.000341f, -0.000433f, -0.000256f, -0.000359f, 0.000854f, 0.000235f, 0.000209f, -0.000442f, -0.000807f, 0.000196f, 0.014879f, 0.006006f, 0.001349f, 0.003317f, 0.002712f, 0.000452f, 0.001250f, 0.003135f, 0.001527f, -0.000137f, 0.000754f, 0.000339f, -0.000400f, 0.000857f, 0.002819f, 0.000587f, 0.003351f, 0.001536f, -0.002628f, 0.000451f, 0.000170f, 0.000502f, 0.002496f, 0.001310f, 0.001050f, -0.000265f, -0.000302f, -0.000379f, -0.000333f, 0.000327f, -0.000454f, 0.000758f, 0.000321f, 0.001051f, -0.000145f, -0.000328f, 0.000482f, 0.000852f, 0.000568f, -0.000142f, -0.001106f, -0.000543f, - -0.000578f, 0.001018f, 0.000849f, 0.001156f, 0.000744f, 0.000141f, 0.000255f, 0.000985f, 0.000893f, 0.000637f, 0.000193f, 0.000120f, 0.000596f, 0.000512f, 0.016606f, 0.004693f, 0.002123f, 0.002533f, 0.000481f, 0.002446f, -0.000350f, -0.001010f, 0.000002f, 0.000588f, 0.000322f, -0.000130f, 0.000531f, 0.002498f, -0.000319f, -0.001647f, -0.001060f, 0.001185f, 0.000372f, 0.001390f, 0.002339f, 0.001951f, -0.000079f, 0.001285f, -0.001394f, 0.000113f, -0.001070f, 0.001490f, 0.000937f, -0.001777f, 0.001067f, -0.000867f, 0.000179f, -0.000707f, 0.001081f, -0.000682f, 0.001341f, 0.000985f, 0.000886f, 0.001621f, 0.000599f, -0.000070f, -0.000351f, -0.000031f, 0.000280f, 0.001803f, 0.000006f, 0.000016f, 0.000186f, 0.000859f, 0.000648f, 0.000040f, -0.000172f, -0.000295f, -0.000915f, -0.000193f, 0.002348f, -0.007105f, -0.002799f, -0.001204f, -0.001549f, -0.000795f, -0.000545f, 0.000045f, 0.001072f, -0.001092f, -0.001842f, 0.001715f, -0.002226f, -0.002244f, -0.000338f, -0.000570f, 0.001057f, -0.000683f, 0.000015f, -0.002172f, -0.001196f, -0.002608f, -0.002732f, -0.003174f, -0.000369f, 0.000658f, - -0.002110f, -0.000651f, 0.000372f, 0.000167f, 0.000156f, -0.000347f, -0.002091f, -0.001406f, 0.000998f, 0.000294f, -0.000440f, 0.001971f, -0.001303f, -0.000681f, 0.000571f, 0.001182f, 0.001083f, -0.000245f, -0.000247f, 0.000423f, 0.000364f, -0.001390f, 0.000184f, -0.000845f, -0.000289f, 0.000034f, -0.000473f, 0.000005f, 0.000964f, 0.000131f, -0.000123f, 0.000159f, -0.000934f, 0.000540f, 0.000881f, -0.000242f, 0.000024f, -0.018019f, -0.005642f, -0.003423f, -0.001387f, -0.002469f, -0.001931f, -0.000598f, -0.001372f, -0.000604f, -0.001839f, -0.002537f, -0.001776f, -0.000638f, -0.003700f, -0.000914f, -0.001493f, -0.002280f, -0.000257f, 0.000365f, 0.001234f, -0.001344f, -0.001839f, -0.000711f, 0.001548f, 0.001936f, 0.002425f, 0.001266f, -0.000046f, -0.001211f, -0.000520f, -0.000009f, -0.001445f, 0.000590f, 0.001014f, 0.001232f, -0.000834f, -0.000751f, -0.000662f, -0.000357f, -0.000269f, -0.000533f, 0.000990f, -0.000302f, 0.000648f, -0.001261f, -0.002135f, -0.000923f, -0.000064f, 0.001062f, -0.001846f, 0.000600f, -0.000876f, 0.000859f, -0.000892f, 0.000506f, -0.000743f, -0.000058f, -0.000477f, -0.000069f, - 0.000334f, 0.000671f, -0.000450f, -0.000641f, -0.010335f, 0.002755f, 0.000764f, 0.000010f, 0.001809f, -0.001738f, 0.000461f, -0.003998f, -0.001304f, 0.001387f, 0.000980f, 0.002574f, -0.000194f, 0.002807f, -0.001646f, -0.000419f, 0.001338f, -0.002452f, -0.000906f, -0.001446f, 0.002732f, -0.000182f, -0.002281f, 0.001134f, 0.002175f, -0.001953f, -0.001492f, -0.001760f, 0.000495f, -0.000420f, 0.000931f, -0.000683f, -0.000568f, -0.000484f, -0.001075f, 0.001532f, -0.001260f, 0.000284f, 0.000999f, -0.000144f, 0.001156f, -0.000698f, 0.002548f, 0.000365f, -0.000274f, -0.000918f, -0.000908f, 0.000017f, -0.001043f, -0.001275f, -0.000796f, 0.000176f, 0.000858f, -0.000147f, 0.000223f, -0.001118f, -0.001112f, -0.001583f, -0.000639f, -0.000525f, -0.000428f, 0.000415f, 0.000620f, 0.008925f, 0.012845f, 0.004407f, 0.004475f, 0.006064f, 0.004422f, -0.000633f, 0.000911f, -0.000491f, 0.000861f, 0.000733f, 0.001164f, 0.000813f, 0.002240f, 0.000829f, 0.001426f, 0.000419f, 0.004381f, 0.001005f, 0.002181f, 0.001249f, 0.001177f, 0.003404f, 0.000874f, 0.004268f, 0.002277f, -0.000870f, 0.003085f, 0.000789f, - 0.001560f, 0.003013f, 0.000690f, 0.001795f, -0.000837f, -0.000312f, 0.000931f, 0.001356f, -0.001758f, 0.001576f, -0.000979f, -0.002000f, -0.001092f, 0.001659f, 0.002574f, 0.001887f, -0.000271f, 0.000612f, 0.000667f, 0.000933f, 0.001401f, 0.000754f, 0.001573f, 0.000899f, -0.001318f, -0.000039f, 0.001134f, 0.001433f, 0.000525f, 0.000466f, 0.000350f, -0.001420f, -0.000481f, -0.000878f, 0.030895f, 0.002251f, -0.001489f, 0.002405f, -0.001597f, 0.003414f, 0.001130f, 0.003589f, -0.001728f, 0.000276f, 0.000097f, 0.002130f, -0.003807f, 0.000694f, 0.002582f, -0.000595f, -0.000491f, 0.003152f, 0.005142f, -0.002170f, -0.001088f, 0.000554f, 0.002588f, -0.001175f, 0.001713f, 0.000022f, -0.001540f, -0.001418f, -0.001209f, 0.001014f, 0.001630f, 0.001716f, -0.001182f, 0.001901f, -0.001167f, 0.001846f, 0.001809f, -0.000490f, -0.001036f, 0.000603f, -0.001724f, -0.002628f, 0.000681f, -0.001811f, 0.000834f, 0.000136f, 0.000394f, 0.001056f, 0.000097f, 0.001293f, 0.000208f, -0.001793f, 0.000817f, -0.000496f, 0.000955f, -0.001318f, -0.000133f, 0.000165f, 0.001009f, -0.000733f, -0.002094f, -0.000408f, - -0.000839f, -0.010502f, -0.010212f, -0.002306f, 0.000782f, -0.000450f, -0.001551f, -0.001662f, -0.002292f, -0.000609f, 0.001674f, -0.000553f, -0.000591f, -0.002353f, 0.002459f, -0.000151f, -0.002053f, -0.001763f, 0.004272f, -0.003892f, 0.000383f, 0.002834f, -0.000356f, 0.000459f, -0.003768f, 0.001186f, -0.001629f, 0.000886f, -0.002627f, -0.001715f, 0.000405f, 0.000681f, -0.001241f, -0.001376f, 0.000106f, -0.000571f, 0.000162f, -0.001607f, -0.000927f, 0.001657f, -0.000207f, -0.000794f, -0.000498f, 0.002109f, 0.000912f, -0.001220f, -0.001870f, -0.001648f, 0.000526f, -0.000262f, -0.000804f, 0.000169f, 0.000324f, -0.000911f, 0.002492f, 0.001357f, -0.000290f, -0.000205f, -0.000682f, 0.000294f, -0.000762f, -0.000741f, -0.000785f, -0.000156f, -0.001451f, -0.001138f, -0.001939f, 0.000436f, -0.002073f, -0.000083f, -0.000543f, -0.000506f, -0.000136f, -0.004148f, -0.003490f, -0.004269f, -0.003000f, -0.002258f, -0.001435f, 0.000288f, 0.000003f, -0.001114f, -0.000379f, 0.000964f, 0.003710f, -0.003241f, 0.001651f, -0.001117f, -0.001968f, 0.002536f, -0.000173f, 0.000466f, 0.003444f, 0.000454f, 0.001478f, -0.002175f, - -0.000455f, -0.006243f, -0.000657f, 0.001131f, 0.000819f, 0.000494f, 0.000681f, 0.000831f, -0.001322f, -0.001898f, 0.001472f, -0.000203f, 0.001394f, 0.000636f, -0.001582f, 0.001311f, -0.000082f, -0.004434f, -0.003564f, -0.000645f, -0.003371f, 0.000409f, 0.001124f, -0.000270f, -0.000826f, -0.000429f, 0.000207f, -0.001045f, -0.000265f, -0.000234f, -0.000544f, 0.001029f, 0.000335f, 0.000318f, -0.000565f, -0.000479f, 0.001738f, 0.000408f, -0.001047f, 0.001137f, -0.000224f, -0.000818f, -0.001737f, 0.000014f, -0.000927f, -0.000334f, 0.001299f, 0.000979f, 0.001379f, -0.020058f, -0.004573f, 0.000297f, -0.003990f, 0.001612f, 0.000399f, 0.004813f, -0.002252f, 0.000288f, -0.001323f, 0.003227f, -0.006579f, -0.006310f, 0.002659f, -0.003057f, 0.004745f, 0.001719f, -0.003815f, -0.006683f, -0.000153f, -0.001890f, -0.003244f, -0.001328f, 0.000763f, 0.001084f, -0.001567f, 0.005724f, 0.000306f, -0.000568f, -0.002394f, 0.001950f, 0.002168f, 0.002337f, 0.002510f, -0.000310f, -0.001486f, -0.000561f, 0.001484f, -0.000115f, 0.001791f, -0.001683f, -0.000663f, -0.000578f, 0.002075f, 0.001668f, -0.001818f, 0.002361f, - -0.001315f, -0.001641f, 0.000202f, -0.000744f, -0.001562f, 0.001613f, -0.001849f, -0.000243f, 0.000470f, -0.000445f, -0.000753f, 0.000426f, 0.001548f, -0.000957f, 0.001484f, -0.001224f, 0.000996f, -0.000678f, -0.000767f, -0.000477f, 0.000299f, 0.001920f, 0.000347f, 0.001799f, -0.001141f, 0.018397f, 0.016163f, 0.003383f, 0.004321f, -0.000857f, 0.005283f, 0.004238f, 0.005322f, -0.000215f, 0.002141f, 0.001288f, -0.004987f, -0.004222f, 0.002328f, 0.000460f, -0.003568f, -0.003773f, -0.002102f, 0.000249f, 0.002156f, 0.000635f, 0.005063f, 0.004620f, 0.002036f, -0.001059f, -0.001105f, 0.003062f, 0.002876f, 0.000234f, 0.002523f, -0.000802f, 0.003222f, 0.000188f, -0.000669f, 0.004461f, 0.002341f, 0.003660f, 0.002383f, 0.000812f, 0.002588f, 0.001298f, 0.000917f, 0.002381f, -0.001271f, 0.000485f, 0.003181f, -0.000023f, -0.001998f, 0.001881f, 0.001891f, 0.001341f, -0.001393f, -0.000025f, 0.001870f, 0.002776f, -0.001349f, 0.003355f, 0.003857f, -0.000652f, -0.002031f, 0.000367f, 0.000915f, 0.000606f, 0.001715f, 0.000005f, 0.000639f, 0.001308f, -0.000890f, 0.000107f, -0.001281f, -0.000322f, - -0.001741f, -0.001006f, -0.000178f, 0.022313f, 0.001823f, -0.000633f, 0.001580f, 0.001076f, -0.003654f, 0.000957f, 0.001001f, 0.000003f, 0.002384f, 0.003411f, 0.005109f, -0.002275f, -0.002299f, -0.003605f, -0.002909f, 0.003294f, -0.000249f, 0.004756f, -0.001133f, -0.001152f, 0.001972f, 0.004133f, 0.001654f, -0.004147f, 0.003297f, -0.001209f, 0.002640f, -0.001367f, 0.002052f, -0.002496f, 0.001547f, -0.000197f, 0.002407f, 0.000295f, 0.001378f, 0.000739f, -0.004195f, -0.002310f, -0.000379f, -0.000846f, -0.000381f, -0.001307f, 0.002044f, 0.000777f, 0.004352f, -0.000666f, -0.002955f, -0.001725f, -0.000284f, 0.000265f, -0.003288f, 0.001119f, -0.001110f, -0.000142f, -0.000306f, -0.001923f, 0.001771f, 0.003364f, -0.001043f, 0.001734f, 0.000415f, -0.001880f, -0.000165f, -0.001789f, -0.001481f, 0.000306f, -0.002615f, -0.001863f, 0.001112f, -0.000129f, 0.000603f, 0.001810f, -0.002475f, 0.003013f, 0.000309f, -0.001221f, -0.002995f, 0.000875f, -0.001100f, 0.006445f, -0.001539f, -0.006152f, -0.004161f, -0.005546f, 0.005130f, -0.004097f, 0.001137f, 0.006269f, -0.000277f, -0.006358f, 0.000436f, -0.006674f, - 0.005563f, -0.001934f, 0.005545f, 0.000042f, -0.002111f, 0.004776f, 0.000179f, 0.000999f, -0.003588f, -0.004524f, -0.000728f, 0.001604f, 0.000975f, -0.000875f, -0.002091f, 0.002120f, -0.000646f, 0.001587f, 0.002425f, 0.002956f, 0.001363f, 0.001641f, -0.005973f, 0.000511f, -0.001354f, -0.002029f, 0.000819f, 0.002974f, -0.002495f, -0.004574f, -0.002026f, 0.001358f, 0.000523f, -0.004017f, -0.001643f, 0.001894f, 0.002750f, -0.002408f, -0.001577f, -0.001850f, 0.002813f, 0.003750f, 0.000755f, -0.001242f, 0.000423f, 0.002692f, -0.001283f, -0.000090f, -0.001759f, 0.001893f, -0.002201f, -0.000242f, 0.002611f, 0.001579f, -0.000761f, -0.000380f, -0.000065f, -0.000825f, -0.022514f, -0.022810f, -0.003697f, -0.011181f, -0.006940f, -0.003969f, -0.006206f, -0.000756f, 0.004680f, -0.010226f, 0.003734f, -0.002095f, 0.003406f, 0.000588f, 0.002087f, -0.004243f, 0.001075f, -0.000533f, -0.002214f, -0.009381f, -0.001914f, -0.004879f, -0.005966f, -0.000624f, 0.001505f, 0.000315f, -0.002031f, 0.001297f, -0.001928f, -0.000572f, 0.004979f, -0.000108f, -0.001661f, 0.000308f, 0.003257f, 0.004378f, 0.002933f, -0.000000f, - 0.002342f, 0.002707f, -0.000266f, 0.000024f, -0.004873f, 0.001788f, -0.004027f, 0.000752f, 0.003883f, -0.002676f, -0.004876f, 0.001407f, -0.002735f, -0.002617f, 0.000540f, -0.000041f, -0.002310f, 0.001121f, -0.000548f, 0.005253f, 0.002952f, 0.001607f, 0.000651f, 0.001926f, -0.000190f, 0.000579f, -0.002069f, -0.003727f, -0.000613f, 0.000321f, -0.002658f, -0.001847f, -0.001458f, -0.001246f, -0.001504f, 0.000832f, -0.000770f, -0.000228f, -0.001668f, -0.013345f, 0.024830f, 0.019552f, 0.001183f, 0.004006f, 0.001544f, 0.004364f, 0.006569f, 0.001547f, 0.006379f, 0.001191f, -0.006784f, 0.004528f, 0.005374f, 0.001639f, 0.001585f, 0.004079f, 0.005295f, -0.005297f, 0.004412f, -0.002780f, 0.003872f, 0.000617f, -0.003263f, 0.000657f, 0.004384f, 0.002534f, -0.005269f, 0.002567f, -0.002168f, 0.007644f, -0.000658f, 0.001804f, -0.001190f, -0.004894f, 0.004941f, 0.004948f, 0.002337f, 0.001275f, -0.000232f, 0.001791f, 0.005247f, 0.001239f, 0.003750f, 0.000487f, 0.002604f, 0.001439f, -0.000355f, 0.002859f, -0.003448f, -0.005340f, -0.002359f, -0.004070f, -0.003464f, -0.001762f, -0.003557f, 0.004791f, - 0.003395f, 0.000424f, -0.000857f, -0.001697f, -0.000563f, -0.000117f, 0.000036f, 0.000243f, 0.000665f, 0.001006f, 0.000552f, -0.000094f, -0.001262f, -0.001069f, -0.000179f, -0.000095f, -0.000458f, 0.000544f, -0.000554f, 0.002889f, -0.000648f, 0.003792f, 0.033314f, -0.013044f, -0.007067f, 0.001210f, -0.000069f, -0.001648f, -0.009243f, -0.003948f, 0.002370f, -0.000446f, -0.001316f, -0.001806f, 0.001435f, -0.007601f, -0.002161f, 0.003957f, 0.007420f, 0.004045f, 0.003337f, -0.002368f, -0.002237f, -0.004373f, 0.005124f, -0.007202f, -0.001245f, 0.001793f, -0.004736f, 0.001564f, 0.002057f, 0.005811f, -0.008860f, -0.000740f, -0.000143f, -0.001828f, 0.002372f, -0.008209f, -0.004274f, 0.009054f, 0.005969f, 0.001248f, -0.001539f, 0.005411f, -0.001569f, -0.000693f, 0.001022f, 0.004233f, 0.002449f, -0.002606f, 0.000570f, -0.001519f, 0.003478f, -0.005532f, -0.002481f, -0.003348f, -0.003514f, 0.006783f, 0.001873f, 0.000847f, -0.002979f, -0.000245f, -0.001001f, -0.001190f, -0.003124f, 0.000510f, -0.002961f, -0.000122f, 0.001038f, 0.002616f, -0.004500f, -0.003121f, -0.003976f, -0.001213f, 0.002164f, 0.000384f, - 0.002869f, -0.000379f, -0.003695f, -0.000388f, -0.001662f, 0.001730f, -0.000154f, 0.009896f, 0.022791f, 0.003742f, 0.008698f, 0.007856f, 0.007541f, 0.002518f, 0.005639f, 0.003472f, -0.001630f, -0.004625f, -0.002932f, -0.001334f, 0.006459f, -0.005511f, -0.006099f, -0.000416f, -0.000271f, -0.002495f, -0.004666f, 0.013818f, 0.012985f, 0.009770f, 0.000489f, -0.005571f, 0.000999f, 0.000930f, -0.002769f, 0.003184f, 0.002049f, 0.005579f, 0.000662f, 0.002281f, -0.000252f, -0.003832f, 0.006333f, 0.005242f, 0.003792f, -0.000900f, -0.004993f, 0.000313f, -0.000368f, -0.001393f, -0.010214f, 0.007377f, -0.004644f, 0.008507f, 0.000503f, 0.004603f, -0.000957f, 0.005075f, 0.007721f, 0.001543f, -0.003465f, -0.000255f, 0.001433f, -0.002536f, 0.001375f, -0.000983f, -0.003250f, -0.001787f, 0.001092f, -0.000792f, 0.003249f, 0.001146f, -0.005443f, 0.000349f, -0.000730f, -0.005877f, -0.001363f, 0.001200f, -0.002218f, 0.000648f, 0.005009f, 0.002052f, -0.000271f, -0.001725f, -0.001305f, 0.000108f, 0.002196f, -0.000599f, 0.002373f, -0.023931f, -0.003178f, -0.014917f, 0.000168f, 0.002625f, -0.005064f, -0.008724f, - -0.010090f, -0.009567f, -0.005664f, -0.007803f, -0.001913f, -0.000531f, -0.002016f, 0.002504f, -0.001556f, 0.000506f, 0.006124f, 0.002748f, -0.000606f, 0.014487f, -0.003181f, 0.002900f, -0.002119f, 0.001214f, 0.002103f, 0.000769f, -0.000814f, 0.002126f, 0.006785f, 0.002040f, 0.002402f, 0.000759f, 0.002714f, 0.005728f, 0.007897f, 0.002480f, 0.009582f, -0.002567f, -0.008261f, 0.008343f, -0.002646f, -0.001758f, -0.001682f, 0.004716f, 0.007321f, 0.005517f, -0.000141f, -0.001903f, -0.004189f, -0.010682f, 0.006580f, 0.007474f, 0.005291f, -0.006380f, 0.003861f, 0.000995f, -0.000642f, 0.006052f, 0.001023f, 0.004064f, -0.003381f, 0.001982f, -0.004215f, -0.000407f, 0.003657f, -0.001068f, 0.002751f, -0.000582f, -0.001539f, -0.001506f, -0.005134f, 0.000517f, 0.000385f, -0.000044f, 0.000988f, -0.001140f, -0.006333f, 0.000480f, 0.000332f, -0.041877f, -0.018801f, 0.008526f, -0.001637f, -0.001434f, 0.001485f, -0.005246f, -0.004612f, -0.001577f, -0.002086f, -0.007335f, 0.005169f, 0.000564f, 0.010938f, -0.006122f, -0.005265f, -0.008957f, -0.005021f, -0.009225f, 0.000740f, 0.003368f, -0.013779f, 0.008870f, - 0.007627f, -0.001103f, 0.001510f, 0.005775f, 0.000842f, 0.005080f, -0.010447f, -0.010510f, -0.005841f, -0.006898f, -0.005318f, 0.017000f, 0.005530f, -0.003761f, -0.006124f, -0.008727f, 0.004113f, 0.002325f, -0.004153f, 0.003381f, 0.003336f, -0.006161f, 0.000555f, 0.001356f, 0.004818f, -0.005724f, 0.013990f, -0.006156f, -0.004919f, 0.002169f, -0.001535f, -0.000096f, -0.004246f, -0.001612f, 0.000409f, 0.008883f, -0.002794f, 0.012809f, 0.002706f, 0.000815f, 0.001402f, 0.003405f, -0.003882f, -0.001407f, -0.005095f, -0.004115f, -0.003913f, -0.000040f, 0.006879f, -0.004527f, -0.003344f, -0.001929f, -0.002619f, -0.002431f, -0.000332f, -0.001616f, -0.002422f, -0.002121f, 0.006582f, 0.021207f, 0.010855f, 0.006791f, 0.004559f, -0.007416f, 0.000723f, -0.005993f, 0.009385f, -0.000988f, -0.001281f, 0.003235f, 0.002044f, 0.002221f, -0.000310f, 0.003351f, 0.001171f, 0.003536f, -0.002919f, 0.009234f, 0.001216f, -0.000805f, 0.027568f, 0.001536f, -0.002132f, -0.007032f, 0.004084f, -0.006539f, 0.006135f, 0.014895f, -0.001189f, 0.003670f, 0.003641f, -0.007623f, -0.008582f, 0.000284f, 0.000159f, 0.006558f, - -0.004256f, 0.000263f, -0.000474f, 0.004837f, 0.004934f, 0.008304f, 0.003091f, 0.002896f, 0.003408f, 0.000373f, 0.005439f, 0.002568f, -0.010074f, 0.002175f, -0.005204f, -0.012884f, -0.001137f, 0.003653f, 0.000047f, 0.001102f, -0.001735f, 0.000272f, -0.000435f, -0.000045f, 0.001605f, 0.000306f, 0.005860f, -0.003500f, -0.000568f, 0.001169f, 0.001216f, 0.000194f, -0.002278f, 0.004090f, 0.006891f, 0.006795f, 0.001402f, -0.001408f, -0.000712f, 0.002436f, -0.000339f, -0.000824f, -0.000157f, 0.001360f, 0.003175f, -0.000531f, -0.001247f, -0.002255f, -0.001427f, 0.031032f, -0.009047f, -0.003429f, -0.008416f, 0.015617f, 0.005746f, 0.001287f, 0.003162f, -0.002285f, -0.003653f, 0.005494f, 0.000502f, -0.005423f, 0.001395f, -0.007151f, -0.005417f, 0.000350f, -0.007249f, 0.000980f, 0.002356f, -0.005355f, -0.009419f, 0.000892f, 0.000498f, 0.006367f, 0.010454f, 0.007288f, -0.004914f, -0.000080f, 0.006489f, 0.011864f, -0.012436f, 0.004686f, -0.002341f, -0.000209f, -0.005679f, -0.007975f, 0.000671f, 0.007151f, 0.002093f, 0.003199f, 0.004512f, -0.000501f, 0.003011f, -0.000722f, 0.002151f, 0.004586f, - -0.008304f, -0.005818f, 0.012885f, -0.001033f, -0.000409f, -0.002927f, 0.005141f, 0.016682f, 0.004169f, 0.002507f, 0.005405f, -0.004403f, -0.004971f, -0.000007f, -0.003713f, -0.009574f, 0.006147f, 0.000780f, -0.004778f, 0.002616f, 0.001425f, -0.002720f, -0.004501f, 0.006075f, -0.002105f, -0.007275f, 0.003388f, 0.003357f, 0.005128f, -0.005074f, 0.000461f, 0.002206f, -0.000897f, -0.001945f, 0.007691f, -0.000630f, 0.001410f, -0.003434f, -0.000457f, -0.000107f, 0.026496f, 0.025105f, -0.008171f, 0.006850f, 0.002069f, 0.005323f, 0.013470f, -0.001656f, -0.007029f, -0.002461f, 0.026019f, -0.014616f, -0.002777f, -0.007240f, -0.005803f, -0.011841f, 0.013016f, -0.003746f, -0.017680f, -0.013172f, -0.016130f, -0.006179f, 0.014300f, -0.001686f, 0.006756f, -0.002511f, -0.007290f, 0.006388f, 0.001894f, 0.008086f, -0.007760f, 0.007198f, 0.005722f, 0.002966f, 0.003333f, -0.012685f, 0.003682f, -0.010584f, 0.008996f, 0.019013f, 0.005521f, 0.005737f, -0.012056f, 0.017030f, 0.004570f, -0.001733f, -0.002610f, -0.003413f, 0.005347f, 0.008535f, 0.002089f, -0.001941f, -0.000473f, 0.002337f, -0.004088f, -0.002901f, - -0.003933f, -0.003019f, -0.000302f, 0.006261f, -0.004148f, 0.009339f, 0.003367f, 0.005728f, -0.001914f, -0.013303f, -0.008927f, 0.003433f, 0.000922f, -0.003948f, 0.004990f, -0.000218f, -0.000445f, 0.002713f, -0.001864f, 0.003934f, -0.000655f, -0.000427f, 0.001909f, -0.002282f, -0.000397f, -0.002471f, -0.001502f, -0.003108f, 0.002052f, 0.000178f, 0.000664f, -0.024932f, -0.014862f, 0.003570f, 0.001949f, -0.000149f, -0.010969f, 0.006484f, 0.003657f, -0.006627f, -0.017944f, 0.014609f, 0.003571f, 0.005411f, 0.008259f, 0.004852f, -0.002376f, 0.002644f, -0.004543f, 0.012122f, -0.010145f, -0.017551f, -0.000600f, -0.000919f, -0.008326f, -0.019076f, 0.000575f, -0.003966f, -0.010022f, -0.005574f, -0.003153f, 0.004194f, 0.000696f, 0.006923f, 0.013978f, -0.006024f, -0.011587f, 0.003569f, -0.001375f, 0.000062f, 0.005714f, -0.008280f, -0.007507f, -0.001094f, 0.006745f, -0.008952f, 0.007364f, -0.002634f, 0.014216f, -0.002110f, -0.004473f, -0.001754f, 0.000065f, 0.002770f, -0.016287f, 0.002273f, -0.014094f, 0.014328f, 0.000049f, 0.008963f, 0.005375f, -0.005594f, -0.000727f, -0.007390f, 0.003572f, -0.000874f, - 0.002833f, 0.002616f, -0.009702f, -0.001555f, -0.009359f, -0.004209f, 0.004164f, -0.002921f, -0.005744f, 0.002663f, -0.000088f, -0.009771f, -0.004782f, 0.000952f, 0.000332f, -0.004081f, 0.004230f, -0.002252f, -0.002484f, 0.001984f, -0.005825f, 0.002966f, -0.034515f, -0.015936f, -0.005796f, -0.003888f, -0.001051f, 0.003588f, -0.011998f, -0.008662f, 0.003198f, -0.010117f, 0.003194f, -0.011234f, -0.003483f, -0.010864f, -0.013057f, 0.013795f, 0.005757f, 0.002041f, -0.000809f, -0.011458f, -0.019333f, 0.009618f, -0.025361f, 0.009165f, 0.000399f, -0.008176f, 0.001358f, -0.005088f, 0.001964f, 0.017639f, -0.008878f, -0.000989f, -0.019052f, 0.014956f, -0.004410f, 0.006784f, -0.006698f, -0.002289f, -0.001533f, -0.000766f, 0.008899f, 0.003007f, 0.018515f, 0.022183f, -0.002316f, 0.000278f, -0.007336f, 0.000772f, -0.002848f, 0.003420f, 0.007102f, 0.000827f, 0.016107f, 0.004506f, -0.005965f, 0.002520f, 0.003355f, 0.000044f, -0.001116f, 0.000453f, 0.012250f, -0.009177f, -0.018384f, -0.007607f, 0.000292f, 0.004291f, 0.003216f, 0.009201f, -0.000912f, 0.003901f, -0.004645f, -0.007454f, -0.010234f, -0.008245f, - 0.000714f, -0.002679f, 0.005016f, 0.001273f, -0.002807f, -0.001342f, 0.008839f, -0.000196f, 0.004917f, -0.002170f, 0.001695f, -0.002200f, -0.002013f, -0.003383f, 0.044002f, 0.019643f, 0.013575f, 0.005631f, -0.005010f, -0.008003f, -0.013734f, 0.007615f, 0.013165f, 0.005438f, -0.006163f, 0.015536f, 0.008747f, 0.015532f, 0.001055f, -0.011242f, -0.004363f, 0.023323f, -0.024351f, -0.005007f, 0.016100f, -0.009543f, -0.005351f, 0.037667f, -0.004727f, 0.010764f, 0.034156f, -0.005486f, -0.002248f, -0.001003f, 0.004244f, -0.001899f, 0.014808f, 0.009520f, 0.012205f, -0.008646f, -0.020179f, 0.008059f, -0.007963f, 0.009687f, -0.003783f, 0.003513f, 0.014380f, 0.008325f, 0.000841f, 0.006320f, 0.002914f, 0.006085f, 0.013902f, 0.007831f, -0.001485f, 0.013511f, 0.005665f, 0.001921f, 0.003213f, 0.024892f, 0.014934f, 0.000023f, 0.013566f, -0.005993f, 0.017151f, -0.004281f, 0.003780f, -0.004878f, 0.002052f, 0.009822f, -0.005455f, -0.000400f, -0.000975f, 0.003405f, 0.000379f, -0.006447f, 0.000257f, -0.005523f, -0.009860f, 0.001645f, -0.013126f, 0.005096f, 0.008048f, -0.003301f, -0.005621f, -0.003782f, - 0.007050f, 0.002079f, 0.000377f, -0.002955f, 0.056788f, 0.025665f, -0.011502f, 0.004963f, 0.029342f, 0.000692f, 0.021190f, -0.006225f, 0.008382f, 0.017666f, -0.013309f, 0.001610f, 0.030825f, 0.027690f, 0.022538f, 0.007964f, 0.019357f, 0.003261f, 0.016969f, 0.005922f, 0.005135f, -0.010608f, -0.012457f, -0.017716f, -0.035105f, 0.011191f, 0.000416f, -0.009529f, -0.003359f, 0.012148f, -0.007979f, -0.001206f, 0.001371f, 0.006831f, -0.031106f, -0.005031f, 0.022573f, 0.017382f, -0.006281f, 0.011485f, 0.009808f, 0.006362f, -0.003813f, -0.007229f, -0.003140f, -0.004863f, -0.003150f, -0.011489f, -0.009763f, 0.007967f, -0.019381f, 0.006417f, 0.015902f, -0.004714f, -0.011345f, -0.017676f, 0.016584f, -0.000517f, -0.008376f, -0.005473f, -0.003824f, -0.006065f, 0.003493f, -0.002800f, -0.006165f, 0.006301f, 0.025815f, -0.012900f, -0.007759f, 0.003299f, -0.005016f, 0.005961f, 0.000237f, 0.013313f, 0.002572f, -0.001293f, -0.001116f, -0.013824f, -0.006526f, -0.002147f, 0.001178f, 0.001069f, 0.004948f, 0.003059f, 0.000576f, 0.002224f, 0.002572f, 0.008157f, 0.000674f, 0.000226f, -0.005296f, 0.002676f, - 0.003941f, 0.001634f, -0.022438f, -0.006261f, -0.026972f, -0.005867f, -0.026956f, 0.012954f, -0.025684f, 0.013814f, -0.004461f, -0.014870f, -0.004509f, -0.006963f, 0.031396f, 0.004869f, -0.022895f, 0.000437f, -0.014957f, -0.011784f, 0.015458f, -0.017467f, -0.016166f, -0.018231f, 0.027381f, -0.003692f, 0.018070f, -0.027879f, -0.014881f, 0.011089f, -0.013011f, 0.010576f, 0.030309f, 0.019919f, 0.018748f, 0.003213f, -0.003238f, -0.014725f, -0.020954f, -0.001122f, 0.004639f, -0.019400f, 0.000407f, -0.011434f, 0.005596f, 0.008565f, -0.022212f, -0.018853f, -0.034798f, -0.005441f, 0.002379f, -0.014955f, -0.021525f, 0.021194f, 0.001070f, 0.021769f, 0.021350f, -0.002628f, -0.003031f, -0.008680f, 0.012313f, 0.010672f, 0.001530f, 0.005273f, -0.001758f, -0.001096f, 0.010413f, -0.002753f, -0.012215f, -0.009380f, -0.015377f, -0.012909f, -0.004782f, -0.000600f, -0.002120f, -0.019429f, -0.011274f, 0.006324f, 0.001464f, -0.006914f, 0.008354f, -0.001707f, 0.000424f, 0.013134f, 0.010847f, 0.006986f, 0.002764f, 0.008408f, 0.001240f, 0.000219f, 0.003890f, 0.002762f, -0.001856f, 0.000798f, -0.038326f, -0.006605f, - 0.003372f, -0.003536f, 0.000053f, 0.010376f, -0.008491f, 0.009227f, 0.008731f, -0.006050f, 0.011820f, -0.016429f, 0.020590f, 0.014126f, 0.000701f, -0.015133f, 0.001215f, 0.010051f, -0.044783f, 0.009290f, 0.018257f, -0.032069f, 0.013194f, -0.016419f, -0.023530f, -0.021444f, 0.010889f, -0.005361f, -0.033438f, 0.017969f, 0.009610f, -0.020243f, -0.033831f, 0.006845f, 0.003985f, -0.010651f, -0.002465f, -0.017383f, 0.016336f, 0.013495f, 0.023771f, -0.019031f, 0.003094f, -0.025276f, -0.009567f, 0.004360f, -0.016175f, 0.006723f, -0.002012f, -0.012690f, -0.019083f, -0.020621f, 0.030153f, -0.020330f, -0.009619f, -0.007652f, 0.001259f, 0.013854f, 0.008210f, 0.010105f, 0.000098f, 0.011824f, -0.003985f, 0.001891f, -0.005024f, -0.012502f, 0.002460f, 0.026775f, 0.004148f, 0.000616f, -0.000110f, -0.017249f, 0.011215f, 0.018014f, 0.018794f, 0.003757f, 0.001394f, -0.000823f, -0.001508f, 0.002718f, 0.000363f, -0.008582f, -0.000195f, 0.001726f, 0.001255f, 0.000128f, 0.000169f, 0.006648f, -0.002312f, 0.000849f, -0.001685f, 0.000351f, 0.011585f, -0.025449f, -0.013522f, -0.026874f, 0.007652f, -0.004773f, - 0.010668f, -0.007323f, 0.005055f, 0.008798f, -0.008997f, -0.015345f, 0.022898f, -0.006008f, -0.010209f, 0.026603f, -0.005478f, -0.006200f, 0.030405f, -0.017591f, 0.004474f, 0.007443f, 0.002369f, -0.026814f, 0.000086f, -0.003913f, -0.016121f, 0.009215f, -0.012665f, 0.017058f, -0.003008f, 0.018987f, -0.020783f, 0.012918f, -0.036796f, 0.000406f, -0.020079f, 0.022401f, -0.003458f, 0.003061f, -0.003864f, -0.020420f, -0.001490f, 0.017789f, 0.046946f, 0.003464f, 0.002944f, 0.009975f, 0.016039f, -0.002726f, -0.004532f, 0.001465f, -0.000816f, 0.041290f, -0.003754f, 0.006358f, 0.016569f, -0.016096f, -0.027521f, 0.000083f, -0.029086f, -0.003573f, -0.014941f, -0.010711f, -0.005850f, -0.012280f, 0.006889f, 0.010227f, -0.016950f, 0.021366f, 0.017737f, -0.002547f, -0.004418f, -0.017470f, 0.012175f, 0.004319f, 0.011547f, -0.009799f, 0.004760f, -0.001914f, 0.008726f, 0.000995f, 0.008442f, -0.004319f, 0.006183f, -0.001063f, 0.000126f, 0.002052f, 0.009575f, 0.004585f, 0.002913f, -0.003177f, 0.000215f, 0.000863f, 0.044242f, 0.048216f, 0.000336f, -0.014794f, -0.011897f, 0.040382f, -0.026570f, -0.030269f, - 0.031458f, -0.028595f, 0.018366f, 0.005588f, 0.025444f, 0.023474f, 0.015827f, 0.002536f, -0.016093f, -0.013878f, 0.033029f, -0.014058f, -0.001464f, 0.008051f, 0.028131f, 0.040762f, -0.001287f, 0.027841f, -0.022859f, -0.023842f, 0.002646f, -0.008821f, 0.013114f, 0.008322f, -0.020389f, 0.002753f, 0.012887f, 0.033517f, 0.011396f, 0.013723f, 0.012570f, 0.014979f, 0.003823f, -0.001202f, 0.021244f, 0.003721f, 0.016982f, 0.027236f, 0.005652f, -0.011237f, -0.009558f, 0.024547f, 0.006403f, 0.050382f, 0.011733f, 0.019842f, -0.020594f, -0.032353f, -0.003144f, -0.037770f, -0.024221f, -0.008633f, -0.012941f, 0.001391f, -0.001955f, 0.000276f, 0.000488f, -0.028253f, -0.023404f, -0.012371f, -0.024166f, 0.008796f, 0.009562f, -0.007331f, -0.001898f, -0.022425f, -0.003544f, 0.006580f, -0.006407f, -0.001948f, 0.002266f, -0.014163f, 0.005888f, -0.004370f, 0.001670f, 0.002484f, 0.000065f, 0.000944f, 0.003053f, -0.003401f, 0.000513f, 0.003267f, -0.000142f, 0.000763f, 0.000945f, -0.021037f, -0.074026f, -0.030548f, -0.060417f, -0.013550f, -0.021133f, -0.008534f, 0.005490f, -0.019809f, -0.024006f, -0.038365f, - -0.030519f, 0.027258f, -0.004872f, -0.024412f, -0.025958f, 0.005865f, -0.034537f, -0.048705f, 0.008013f, -0.011347f, -0.010463f, -0.010480f, 0.009340f, -0.029039f, 0.030517f, -0.017776f, 0.020717f, -0.014466f, -0.013902f, 0.000316f, 0.016725f, -0.023690f, -0.022640f, 0.012110f, -0.004311f, 0.033404f, -0.014684f, 0.019133f, 0.028780f, 0.013672f, -0.010535f, -0.004820f, -0.003049f, 0.023610f, -0.008334f, 0.015840f, 0.031862f, -0.026837f, -0.046802f, -0.018449f, 0.015820f, 0.019420f, -0.022107f, 0.036264f, -0.011732f, -0.013165f, -0.004432f, -0.004019f, -0.011290f, -0.029439f, -0.012475f, -0.030418f, -0.029136f, -0.018067f, 0.021415f, 0.005020f, -0.005215f, 0.001915f, 0.033137f, 0.031128f, 0.002152f, -0.014470f, 0.005893f, -0.003315f, 0.013612f, 0.004239f, -0.006009f, -0.013786f, -0.001289f, -0.002803f, -0.021865f, -0.005694f, 0.008246f, 0.022588f, -0.010185f, -0.000025f, 0.008581f, -0.012767f, -0.000458f, -0.000932f, 0.000324f, -0.006676f, 0.008426f, 0.000455f, 0.002150f, -0.001106f} -}; - -/********************** Sample Rate = 16000 **********************/ - -const float CRendBin_Combined_BRIR_latency_s_16kHz = 0.000145833328133f; -const int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz = 23; -const uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]={{23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23} }; -const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {40, 40}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][23]={{{77, 76, 77, 77, 77, 76, 77, 76, 77, 76, 77, 77, 77, 78, 76, 76, 77, 77, 77, 77, 77, 76, 80},{77, 76, 77, 77, 77, 76, 77, 76, 77, 76, 77, 77, 77, 78, 76, 76, 77, 77, 77, 77, 77, 76, 80}},{{76, 77, 77, 75, 77, 78, 77, 76, 77, 77, 76, 77, 77, 77, 77, 77, 76, 77, 76, 76, 77, 78, 80},{76, 77, 77, 75, 77, 78, 77, 76, 77, 77, 76, 77, 77, 77, 77, 77, 76, 77, 76, 76, 77, 78, 80}},{{77, 76, 76, 78, 75, 76, 74, 78, 77, 76, 77, 77, 77, 76, 76, 77, 78, 78, 77, 77, 77, 77, 80},{77, 76, 76, 78, 75, 76, 74, 78, 77, 76, 77, 77, 77, 76, 76, 77, 78, 78, 77, 77, 77, 77, 80}},{{76, 76, 76, 76, 77, 77, 76, 78, 77, 77, 77, 77, 78, 78, 77, 77, 77, 77, 77, 78, 77, 78, 80},{76, 76, 76, 76, 77, 77, 76, 78, 77, 77, 77, 77, 78, 78, 77, 77, 77, 77, 77, 78, 77, 78, 80}},{{76, 77, 77, 76, 77, 77, 75, 77, 77, 77, 76, 77, 77, 77, 77, 78, 77, 77, 77, 77, 76, 76, 80},{76, 77, 77, 76, 77, 77, 75, 77, 77, 77, 76, 77, 77, 77, 77, 78, 77, 77, 77, 77, 76, 76, 80}},{{77, 76, 77, 77, 77, 77, 77, 77, 76, 78, 76, 78, 75, 76, 77, 77, 76, 76, 77, 78, 78, 77, 80},{77, 76, 77, 77, 77, 77, 77, 77, 76, 78, 76, 78, 75, 76, 77, 77, 76, 76, 77, 78, 78, 77, 80}},{{77, 77, 75, 76, 76, 77, 77, 77, 77, 77, 77, 75, 77, 76, 76, 76, 77, 77, 76, 77, 76, 77, 80},{77, 77, 75, 76, 76, 77, 77, 77, 77, 77, 77, 75, 77, 76, 76, 76, 77, 77, 76, 77, 76, 77, 80}},{{75, 76, 77, 77, 75, 77, 75, 76, 76, 77, 77, 77, 78, 78, 77, 77, 76, 77, 78, 78, 78, 76, 80},{75, 76, 77, 77, 75, 77, 75, 76, 76, 77, 77, 77, 78, 78, 77, 77, 76, 77, 78, 78, 78, 76, 80}},{{77, 77, 77, 76, 77, 77, 76, 76, 76, 77, 77, 75, 76, 78, 78, 77, 77, 78, 78, 77, 76, 76, 80},{77, 77, 77, 76, 77, 77, 76, 76, 76, 77, 77, 75, 76, 78, 78, 77, 77, 78, 78, 77, 76, 76, 80}},{{76, 75, 76, 76, 77, 77, 77, 77, 77, 77, 74, 78, 77, 78, 78, 77, 76, 77, 77, 77, 77, 76, 80},{76, 75, 76, 76, 77, 77, 77, 77, 77, 77, 74, 78, 77, 78, 78, 77, 76, 77, 77, 77, 77, 76, 80}},{{76, 76, 77, 76, 77, 77, 76, 76, 76, 76, 77, 77, 76, 76, 77, 75, 77, 76, 76, 76, 77, 77, 80},{76, 76, 77, 76, 77, 77, 76, 76, 76, 76, 77, 77, 76, 76, 77, 75, 77, 76, 76, 76, 77, 77, 80}},{{76, 76, 77, 75, 78, 77, 77, 77, 77, 77, 77, 77, 77, 76, 78, 77, 76, 78, 76, 77, 76, 77, 80},{76, 76, 77, 75, 78, 77, 77, 77, 77, 77, 77, 77, 77, 76, 78, 77, 76, 78, 76, 77, 76, 77, 80}},{{76, 77, 77, 76, 76, 77, 77, 75, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 77, 76, 76, 78, 80},{76, 77, 77, 76, 76, 77, 77, 75, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 77, 76, 76, 78, 80}},{{74, 76, 74, 76, 75, 76, 76, 76, 76, 77, 77, 78, 77, 78, 75, 76, 77, 76, 78, 76, 78, 77, 80},{74, 76, 74, 76, 75, 76, 76, 76, 76, 77, 77, 78, 77, 78, 75, 76, 77, 76, 78, 76, 78, 77, 80}},{{76, 77, 77, 77, 76, 78, 77, 76, 75, 77, 77, 77, 76, 78, 77, 78, 78, 78, 77, 76, 77, 75, 80},{76, 77, 77, 77, 76, 78, 77, 76, 75, 77, 77, 77, 76, 78, 77, 78, 78, 78, 77, 76, 77, 75, 80}}}; -const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz = 77; -const float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[15]={0.223532f, 0.226827f, 0.248830f, 0.208782f, 0.220391f, 0.219790f, 0.231187f, 0.248730f, 0.251408f, 0.263698f, 0.243858f, 0.281483f, 0.283080f, 0.261660f, 0.273527f}; -const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]={{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 55, 55, 61, 61, 61, 65, 67, 67, 67, 67, 67, 67, 69, 72, 72, 72, 73, 73, 75, 75, 75, 75, 75, 75, 75, 75, 75, 77},{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 55, 55, 61, 61, 61, 65, 67, 67, 67, 67, 67, 67, 69, 72, 72, 72, 73, 73, 75, 75, 75, 75, 75, 75, 75, 75, 75, 77}}; -const float CRendBin_Combined_BRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][1774]={ - { - {0.010832f, 0.002712f, -0.004173f, 0.000188f, -0.002118f, 0.002726f, 0.010885f, -0.000914f, -0.007116f, -0.010756f, 0.001174f, -0.008083f, -0.002332f, -0.002440f, 0.001864f, 0.005777f, -0.008313f, -0.004040f, -0.002553f, 0.000455f, -0.004910f, -0.008631f, -0.003371f, -0.007258f, -0.003869f, 0.001568f, -0.000354f, -0.003350f, -0.000643f, -0.000920f, 0.000933f, -0.007724f, -0.001925f, 0.003126f, 0.006652f, 0.003422f, -0.000986f, -0.000941f, 0.000320f, -0.007324f, -0.004978f, 0.001622f, 0.000486f, 0.001950f, -0.001956f, 0.001611f, -0.001588f, 0.002919f, -0.001525f, 0.005462f, 0.005550f, -0.000510f, -0.000125f, 0.004259f, 0.001657f, -0.000296f, 0.000411f, -0.008943f, -0.005621f, -0.001358f, 0.003347f, -0.003679f, -0.007892f, -0.004968f, -0.003761f, -0.005550f, 0.003359f, -0.010204f, 0.003130f, 0.010428f, -0.005504f, -0.002617f, -0.005058f, 0.005816f, -0.002310f, -0.006421f, 0.001701f, -0.009205f, 0.009235f, -0.003556f, -0.000119f, 0.008653f, -0.005126f, 0.003328f, -0.000784f, 0.001148f, -0.006096f, -0.012503f, -0.002727f, 0.004827f, -0.003367f, 0.002923f, 0.004129f, 0.003619f, -0.002924f, 0.002040f, - -0.007896f, -0.001437f, 0.001716f, 0.003166f, -0.000481f, -0.000184f, 0.000726f, 0.001899f, -0.006684f, -0.005343f, 0.002006f, 0.004474f, -0.002488f, 0.004692f, 0.008633f, -0.011933f, 0.001419f, -0.005681f, -0.004175f, 0.002728f, -0.001795f, 0.007420f, -0.002599f, 0.006700f, 0.003149f, 0.001171f, -0.000820f, 0.003639f, -0.000148f, -0.000614f, -0.004107f, 0.010858f, -0.007844f, -0.002127f, 0.003367f, 0.004316f, -0.000613f, -0.003470f, 0.001619f, -0.003841f, 0.003699f, 0.000990f, 0.001028f, 0.000119f, -0.001937f, -0.001107f, 0.005025f, -0.014096f, 0.002796f, -0.001594f, -0.008915f, -0.001143f, 0.006375f, 0.003674f, 0.003685f, -0.005967f, 0.004348f, -0.017398f, 0.012247f, -0.006959f, 0.002170f, 0.001696f, -0.000326f, -0.004296f, -0.001011f, -0.010096f, -0.012397f, 0.002466f, -0.002965f, 0.002920f, 0.002952f, 0.009792f, -0.009331f, 0.000528f, 0.006426f, 0.006200f, -0.007716f, -0.008181f, -0.004684f, -0.007203f, -0.000139f, -0.002904f, -0.005772f, -0.004621f, -0.000715f, -0.012553f, -0.012018f, -0.003134f, 0.001492f, -0.001782f, 0.000175f, -0.002117f, 0.001792f, -0.006976f, 0.006378f, -0.003308f, - 0.003281f, -0.001682f, 0.002072f, -0.006462f, 0.001097f, 0.003108f, 0.003892f, 0.001219f, 0.000047f, 0.000846f, -0.002910f, -0.005557f, 0.008629f, 0.006321f, 0.002087f, -0.004483f, 0.010858f, 0.007065f, -0.004372f, 0.006554f, -0.001654f, -0.006902f, -0.002551f, -0.003185f, -0.006420f, 0.002309f, 0.002701f, 0.000716f, -0.005367f, 0.007097f, -0.006979f, 0.003533f, 0.005444f, -0.002855f, -0.001149f, -0.012072f, -0.006967f, -0.012810f, 0.000373f, 0.013930f, 0.006364f, -0.005457f, 0.002356f, 0.001740f, 0.022282f, -0.006678f, 0.006376f, 0.010766f, -0.002109f, 0.009775f, 0.004036f, 0.006602f, -0.008821f, -0.003416f, -0.010329f, -0.004943f, 0.007003f, -0.000369f, -0.004885f, 0.000999f, -0.007208f, -0.000763f, -0.004694f, 0.006419f, -0.002843f, -0.001138f, -0.002545f, 0.003282f, 0.001633f, -0.000181f, -0.000758f, 0.002617f, -0.010802f, -0.008698f, 0.003861f, 0.000684f, -0.000940f, -0.005866f, 0.013113f, 0.003368f, -0.001536f, 0.003907f, 0.005289f, -0.000400f, 0.002701f, 0.000783f, -0.006251f, 0.005351f, -0.007462f, -0.006276f, 0.007039f, -0.008686f, 0.007235f, 0.002582f, -0.005949f, 0.009969f, - 0.005940f, 0.003404f, -0.002649f, 0.008874f, 0.002490f, -0.002092f, -0.002517f, 0.002066f, 0.001412f, -0.002624f, -0.011000f, -0.002703f, -0.001859f, 0.002238f, -0.006249f, 0.007523f, -0.002645f, 0.005501f, -0.006974f, 0.023049f, -0.019580f, -0.017219f, -0.005712f, 0.017590f, -0.002731f, -0.009912f, 0.011974f, -0.008383f, 0.005533f, -0.000691f, -0.013528f, -0.009286f, 0.010980f, -0.007505f, 0.005328f, -0.007819f, 0.007186f, -0.003536f, -0.002271f, -0.001078f, -0.007540f, 0.003641f, 0.005163f, -0.007590f, 0.001608f, -0.003963f, 0.001329f, 0.003155f, -0.001259f, 0.004622f, 0.001285f, 0.003752f, 0.006089f, -0.008217f, -0.006060f, 0.007073f, 0.000228f, 0.005463f, 0.005361f, -0.005250f, -0.007705f, -0.003161f, 0.001206f, 0.009856f, -0.010873f, 0.004344f, -0.012115f, -0.014761f, -0.003509f, -0.008459f, -0.001442f, -0.009986f, -0.018927f, -0.010037f, 0.008784f, 0.008212f, 0.005353f, -0.006252f, 0.018162f, -0.005484f, 0.003142f, -0.009875f, -0.009321f, 0.002682f, 0.000158f, -0.000653f, -0.011718f, -0.003536f, -0.000435f, -0.001927f, -0.002016f, -0.005759f, -0.004816f, 0.002262f, -0.001272f, -0.002112f, - 0.030034f, -0.009616f, 0.014166f, -0.003566f, 0.018986f, -0.003499f, -0.002673f, 0.003299f, 0.004034f, -0.003062f, -0.021320f, 0.002226f, -0.001811f, -0.005658f, -0.000042f, -0.000963f, 0.007982f, -0.002411f, 0.018689f, -0.002392f, 0.002417f, -0.001298f, 0.010755f, -0.002043f, 0.003971f, -0.008608f, 0.000079f, -0.005939f, -0.005728f, -0.001818f, -0.001331f, -0.000004f, 0.007140f, -0.011894f, -0.003000f, 0.003876f, -0.000848f, 0.008005f, 0.002412f, -0.002244f, -0.004846f, -0.005583f, -0.005149f, -0.011022f, 0.004697f, 0.004302f, 0.004704f, -0.019102f, -0.002050f, 0.012933f, 0.008212f, -0.003391f, 0.000219f, -0.006245f, -0.012042f, -0.014161f, 0.014590f, -0.004743f, -0.008166f, -0.005708f, 0.008511f, 0.005259f, 0.001866f, 0.005898f, 0.004047f, 0.005589f, -0.001722f, -0.014348f, -0.002965f, -0.007106f, -0.005026f, 0.008648f, 0.008631f, -0.002555f, 0.013476f, 0.014636f, -0.045502f, 0.023720f, 0.008101f, -0.002889f, -0.002831f, -0.000703f, -0.007649f, -0.013262f, -0.003554f, 0.005270f, 0.018054f, 0.011900f, -0.018092f, -0.004089f, -0.011114f, 0.006221f, -0.001738f, -0.024063f, -0.007733f, 0.013514f, - 0.007962f, 0.004121f, 0.011249f, 0.006584f, -0.002106f, -0.002277f, 0.002710f, -0.009597f, -0.006106f, 0.001318f, 0.009698f, -0.005162f, -0.009758f, -0.013563f, -0.007348f, 0.005741f, 0.019950f, 0.000778f, -0.004513f, 0.003761f, -0.005155f, -0.016071f, 0.000288f, -0.011513f, -0.009434f, -0.010765f, 0.005480f, -0.001194f, -0.015326f, 0.002154f, 0.004634f, 0.005138f, -0.016503f, -0.009179f, -0.006671f, -0.004345f, -0.002540f, -0.006205f, -0.003625f, -0.007851f, -0.016014f, -0.002087f, -0.013713f, -0.015742f, -0.010396f, -0.002903f, 0.001893f, -0.009284f, -0.014380f, 0.004087f, 0.010178f, -0.000331f, -0.002746f, -0.000827f, 0.007192f, -0.011101f, 0.007947f, -0.019134f, 0.006288f, -0.009773f, -0.002283f, 0.001800f, 0.004724f, -0.001352f, 0.008800f, -0.000330f, -0.002700f, -0.026457f, 0.011212f, -0.005334f, -0.006331f, 0.008805f, -0.015871f, -0.021124f, 0.007554f, -0.007682f, -0.010585f, -0.003478f, 0.017721f, 0.011332f, -0.007778f, -0.004394f, 0.007694f, -0.002926f, -0.001941f, 0.002196f, 0.007429f, 0.015254f, 0.008825f, 0.012316f, -0.003030f, -0.000773f, -0.000828f, -0.008484f, 0.000948f, -0.003657f, - 0.019956f, -0.016311f, -0.010617f, -0.008655f, -0.009294f, 0.005029f, 0.001543f, 0.007557f, -0.002633f, -0.010671f, -0.015735f, -0.004082f, -0.019297f, -0.024720f, -0.006521f, 0.000820f, 0.017669f, 0.004020f, -0.016983f, -0.003676f, 0.012669f, -0.005823f, 0.002944f, 0.004719f, 0.006079f, -0.011056f, -0.019436f, -0.007116f, -0.011205f, 0.028392f, 0.000348f, -0.008244f, 0.002799f, 0.005408f, -0.006178f, 0.004361f, 0.000218f, 0.016233f, 0.005320f, -0.000982f, 0.011271f, -0.001731f, -0.013450f, -0.002173f, -0.000985f, 0.013892f, -0.007410f, -0.001400f, -0.003934f, 0.002627f, -0.004007f, 0.001304f, 0.004567f, 0.006874f, 0.009344f, 0.006554f, 0.003038f, 0.024228f, 0.009441f, 0.008368f, -0.000922f, -0.018053f, 0.001298f, -0.014900f, 0.004804f, -0.009857f, 0.002619f, 0.000769f, 0.006034f, 0.029887f, 0.008277f, -0.003716f, 0.010461f, -0.007380f, 0.008895f, -0.004207f, 0.015141f, -0.007339f, -0.000144f, -0.010404f, 0.006865f, 0.012634f, -0.013643f, 0.028524f, -0.006836f, 0.003239f, -0.004343f, -0.006045f, 0.002793f, -0.006805f, -0.023630f, 0.005498f, -0.006062f, 0.000340f, -0.014683f, 0.005216f, - -0.005331f, -0.022236f, -0.011151f, -0.004653f, -0.021578f, 0.014416f, 0.030556f, 0.039829f, -0.035772f, -0.024335f, -0.015271f, 0.004665f, 0.008652f, -0.007386f, 0.004933f, -0.008356f, 0.003264f, 0.021235f, 0.014997f, -0.023769f, 0.038320f, 0.002295f, 0.023101f, 0.009307f, -0.005963f, -0.006307f, 0.021546f, -0.010265f, 0.014215f, 0.017005f, -0.000375f, -0.009469f, 0.002263f, 0.017511f, 0.010710f, 0.009687f, 0.008847f, -0.000024f, 0.004271f, 0.006798f, 0.022076f, 0.015732f, -0.009175f, -0.007931f, 0.000067f, -0.003369f, -0.000516f, -0.009370f, -0.005374f, 0.011537f, 0.019746f, 0.005873f, 0.028903f, -0.006307f, 0.031457f, 0.002579f, 0.015793f, 0.033861f, 0.024983f, 0.008591f, 0.008556f, 0.015902f, -0.001318f, -0.012091f, 0.001856f, 0.014959f, -0.006039f, -0.014117f, 0.002570f, -0.001429f, 0.031900f, 0.024908f, 0.001798f, 0.034610f, -0.000847f, 0.018933f, 0.011804f, 0.015058f, 0.000424f, -0.011037f, 0.017547f, -0.002554f, 0.020243f, 0.012492f, 0.040132f, -0.020752f, -0.000712f, -0.042319f, 0.012171f, -0.021139f, 0.000782f, 0.018622f, -0.003629f, 0.006179f, -0.024180f, -0.017627f, - 0.009119f, -0.014142f, 0.008566f, -0.008345f, 0.002619f, 0.022989f, -0.003670f, -0.020779f, 0.005882f, -0.008412f, 0.021788f, -0.022167f, -0.015812f, 0.009841f, 0.010471f, 0.016470f, 0.000537f, -0.000911f, 0.010164f, -0.005526f, -0.015641f, 0.010390f, -0.006530f, -0.011625f, 0.003537f, 0.012955f, -0.009120f, 0.023682f, 0.008990f, 0.000064f, 0.002705f, 0.012118f, 0.004558f, -0.038009f, 0.015562f, -0.002972f, -0.004532f, -0.005658f, 0.020289f, 0.001242f, 0.021594f, 0.002094f, 0.001406f, 0.003659f, -0.006405f, -0.001086f, 0.010119f, -0.011138f, 0.002314f, 0.036862f, 0.002431f, 0.027559f, 0.001293f, -0.003722f, -0.003625f, -0.015881f, -0.037260f, -0.024774f, 0.011214f, 0.018629f, -0.008096f, 0.029938f, 0.011024f, -0.017710f, -0.012521f, 0.027981f, 0.017250f, 0.019667f, 0.004349f, -0.004682f, -0.000447f, 0.002480f, -0.015923f, 0.000426f, -0.007732f, 0.012530f, 0.025007f, 0.010569f, 0.009513f, 0.028450f, 0.024078f, 0.020360f, 0.002439f, 0.008630f, 0.003148f, -0.002672f, -0.003519f, 0.006060f, -0.000428f, -0.014368f, 0.005211f, 0.017396f, 0.001517f, -0.002874f, 0.006568f, -0.037528f, - 0.014745f, -0.013955f, 0.011429f, 0.014927f, 0.013686f, -0.013069f, 0.009640f, 0.000128f, 0.001388f, 0.024844f, 0.018682f, 0.001868f, 0.010807f, 0.008367f, -0.001423f, -0.011614f, 0.004958f, 0.012964f, 0.001955f, 0.018168f, 0.006691f, 0.016592f, 0.031219f, 0.003182f, 0.013646f, 0.014271f, 0.017560f, 0.000990f, -0.008362f, 0.027133f, -0.008089f, 0.022240f, -0.022444f, -0.018217f, 0.029695f, 0.000321f, 0.011018f, 0.018213f, 0.026162f, 0.033302f, 0.015106f, 0.006198f, -0.013533f, 0.008879f, -0.001271f, -0.026101f, 0.025829f, 0.017119f, -0.021048f, 0.001113f, 0.003566f, -0.026004f, 0.012079f, 0.026482f, 0.016571f, 0.004303f, -0.065736f, -0.041149f, 0.012336f, 0.013077f, 0.025782f, 0.043419f, -0.013085f, -0.007572f, -0.015035f, -0.013653f, -0.017605f, -0.018358f, 0.000373f, 0.006555f, 0.004469f, 0.027308f, 0.000052f, 0.026819f, -0.002594f, 0.008932f, 0.011382f, 0.009276f, 0.019019f, 0.014087f, -0.000340f, 0.017531f, -0.001647f, -0.002467f, -0.011795f, 0.011799f, -0.003168f, -0.026962f, -0.024665f, 0.014221f, -0.005002f, 0.031580f, 0.017269f, 0.020253f, 0.005776f, -0.040198f, - 0.007780f, 0.025015f, -0.005801f, 0.007197f, -0.008150f, 0.004895f, 0.029511f, -0.001174f, 0.024308f, 0.044109f, 0.000210f, -0.016695f, -0.002840f, 0.000460f, -0.030184f, 0.037505f, 0.015294f, -0.004938f, -0.004812f, 0.027221f, 0.010018f, -0.032838f, -0.029700f, 0.010660f, -0.014668f, 0.015849f, 0.008257f, 0.005111f, -0.016204f, -0.023254f, -0.004304f, 0.006052f, 0.001374f, 0.025389f, -0.036400f, 0.004809f, -0.002274f, 0.046377f, -0.054445f, -0.014992f, -0.026357f, -0.000791f, 0.009046f, 0.001780f, 0.037102f, -0.037586f, 0.018299f, -0.004854f, 0.007702f, -0.004271f, 0.020562f, -0.010807f, -0.018375f, -0.001254f, -0.005064f, 0.014574f, -0.000771f, 0.009954f, 0.021799f, -0.004136f, -0.015581f, -0.001831f, 0.024484f, -0.013829f, 0.006192f, 0.005721f, 0.001429f, -0.001868f, 0.024360f, -0.000585f, -0.005654f, -0.039551f, 0.013346f, -0.009543f, -0.024645f, -0.021583f, -0.005264f, -0.023957f, -0.013736f, -0.020756f, 0.010602f, -0.024549f, 0.025455f, -0.022497f, 0.016042f, -0.011449f, 0.030781f, -0.028803f, -0.016245f, -0.004019f, 0.018177f, 0.007570f, 0.000912f, -0.011605f, -0.023099f, 0.002844f, - 0.010181f, 0.034555f, 0.018774f, 0.007899f, -0.018587f, 0.012082f, -0.016335f, -0.019032f, 0.018066f, -0.018441f, 0.010112f, 0.022640f, 0.019578f, -0.004404f, -0.005891f, -0.015514f, 0.027761f, 0.002966f, 0.022202f, 0.032460f, 0.044195f, -0.042713f, 0.034810f, 0.024837f, 0.003100f, 0.018416f, 0.058094f, -0.013854f, -0.014169f, 0.007240f, 0.018506f, 0.025201f, 0.009670f, -0.020011f, 0.026777f, -0.007232f, 0.051560f, 0.000555f, -0.006196f, 0.017884f, 0.015011f, 0.014720f, 0.001447f, 0.048341f, -0.036686f, 0.011220f, 0.001263f, 0.014538f, -0.014169f, -0.030447f, 0.017960f, 0.014331f, 0.014997f, -0.009593f, -0.006644f, 0.040532f, 0.016499f, 0.050476f, 0.006362f, -0.016534f, -0.000069f, 0.012360f, -0.002399f, 0.052179f, -0.004558f, 0.028999f, -0.003120f, 0.046823f, 0.018370f, 0.013489f, -0.009314f, -0.001454f, 0.026757f, 0.001457f, 0.028482f, 0.021108f, 0.025303f, -0.030812f, 0.006574f, 0.022986f, 0.028495f, 0.020443f, 0.016825f, 0.036350f, 0.045891f, -0.034557f, -0.003069f, 0.066951f, -0.015567f, -0.020090f, 0.044348f, 0.056565f, 0.000833f, -0.004861f, -0.033860f, 0.021294f, - 0.044660f, 0.000029f, 0.015862f, -0.033302f, 0.036967f, -0.015693f, -0.008304f, -0.028956f, -0.017389f, 0.066669f, 0.003917f, -0.042982f, -0.017104f, 0.000898f, 0.003344f, -0.003783f, 0.052971f, 0.025370f, -0.000928f, -0.018674f, 0.001424f, 0.015126f, -0.002674f, 0.068245f, 0.017656f, 0.031086f, 0.013709f, -0.013002f, -0.033746f, 0.010702f, 0.003438f, 0.007724f, -0.025087f, -0.001264f, -0.015538f, 0.024124f, 0.004346f, 0.005426f, 0.027528f, -0.019253f, -0.010909f, 0.006304f, 0.005647f, 0.008608f, -0.027308f, -0.023501f, -0.050032f, -0.027043f, 0.007512f, -0.029663f, 0.009563f, -0.021014f, -0.008076f, 0.042661f, 0.018665f, -0.017966f, 0.018334f, 0.006624f, 0.006253f, 0.041409f, 0.000056f, 0.049896f, 0.025429f, -0.017933f, -0.050347f, 0.013020f, 0.017653f, 0.035546f, -0.008147f, -0.037654f, -0.004455f, 0.017271f, 0.014320f, -0.002917f, -0.014231f, 0.029341f, -0.034216f, -0.002874f, 0.050042f, -0.011835f, 0.014315f, 0.004342f, 0.006043f, -0.048587f, 0.038892f, -0.004971f, -0.038721f, -0.023402f, 0.019410f, -0.006828f, 0.009461f, -0.001420f, -0.016313f, -0.013011f, 0.006381f, -0.013079f, - -0.003199f, -0.002004f, -0.055654f, -0.015836f, -0.037426f, 0.006745f, 0.012803f, -0.001838f, -0.016640f, 0.004991f, -0.008110f, 0.020040f, -0.049163f, 0.001585f, 0.008265f, 0.026209f, -0.021517f, 0.024225f, -0.021174f, 0.014671f, 0.004252f, 0.018281f, -0.032076f, 0.007689f, -0.015950f, -0.036109f, 0.021938f, -0.029741f, -0.055270f, 0.005708f, -0.005248f, 0.040981f, -0.021050f, 0.003425f, 0.019961f, 0.026044f, 0.032664f, 0.000522f, -0.011194f, -0.023781f, 0.000674f, 0.012117f, 0.021554f, -0.046744f, 0.048225f, -0.004489f, -0.032483f, -0.028917f, -0.043237f, 0.012364f, 0.010555f, 0.010960f, 0.007702f, 0.037798f, -0.015818f, 0.036091f, -0.042942f, -0.002171f, 0.020532f, -0.010971f, -0.046373f, -0.009049f, -0.066839f, 0.029397f, -0.073668f, 0.040762f, -0.051595f, -0.045150f, 0.010184f, 0.035122f, 0.025546f, -0.026549f, 0.023812f, 0.044707f, 0.006098f, 0.005038f, 0.008757f, 0.002285f, -0.029732f, 0.031547f, -0.058431f, -0.036794f, 0.000847f, -0.005373f, -0.005947f, -0.009351f, -0.016374f, 0.005620f, 0.049259f, 0.011499f, 0.004714f, 0.002988f, -0.026838f, 0.028168f, -0.008006f, -0.053831f, - -0.010651f, -0.000701f, -0.001598f, -0.037379f, -0.027932f, 0.025582f, -0.011811f, 0.045196f, 0.005716f, -0.001723f, -0.041342f, -0.022692f, 0.010829f, 0.004349f, -0.013848f, 0.038548f, -0.035475f, -0.021022f, -0.005249f, -0.004000f, 0.033836f, 0.001473f, 0.039931f, -0.001570f, -0.041256f, 0.007496f, -0.036483f, 0.022084f, -0.010652f, 0.030690f, 0.053394f, -0.094962f, 0.022795f, 0.011666f, 0.005103f, 0.034194f, -0.011076f, 0.005465f, 0.073531f, 0.063213f, -0.022023f, -0.028514f, -0.004645f, -0.053221f, 0.026229f, -0.005708f, 0.007878f, 0.001127f, -0.028708f, 0.073647f, -0.036124f, -0.137452f, -0.023065f, 0.024234f, -0.094101f, -0.018159f, 0.024959f, -0.079412f, 0.007187f, 0.047508f, -0.038845f, 0.047436f, -0.051495f, 0.040452f, 0.049586f, -0.036363f, 0.010825f, -0.007236f, -0.002557f, -0.016680f, -0.024813f, -0.006114f, 0.028930f, -0.023288f, -0.039002f, -0.021320f, -0.032217f, -0.005068f, -0.026190f, -0.005646f, 0.007689f, -0.007243f, 0.027878f, -0.030123f, -0.038846f, 0.025794f, -0.040921f, -0.056187f, -0.074090f, -0.026016f, -0.006063f, 0.011932f, 0.034386f, -0.017806f, 0.012835f, 0.016723f, - -0.017501f, -0.007431f, 0.059235f, -0.043695f, -0.006611f, 0.042593f, 0.008445f, 0.033309f, -0.013981f, 0.011491f, 0.043005f, 0.024025f, -0.008654f, -0.006815f, -0.036546f, 0.011483f, 0.041325f, -0.046975f, -0.022137f, -0.015970f, 0.067134f, 0.045189f, -0.064967f, -0.013601f, 0.057938f, -0.018242f, -0.035812f, -0.026027f, -0.035858f, -0.022037f, 0.058721f, 0.034794f, -0.004429f, 0.025569f, -0.006031f, 0.031280f, -0.019938f, -0.012520f, 0.065508f, -0.028380f, 0.012321f, -0.020256f, -0.006384f, -0.002306f, 0.018493f, 0.051196f, 0.021165f, -0.037677f, -0.009659f, -0.003622f, -0.004505f, 0.027654f, 0.004977f, 0.050987f, -0.014631f, 0.006766f, -0.004355f, 0.012937f, -0.043436f, 0.024034f, -0.039900f, 0.024893f, -0.000823f, 0.037724f, -0.009242f, 0.026913f, -0.012485f, 0.005868f, 0.019008f, -0.021634f, 0.019718f, 0.037061f, 0.053368f, -0.031935f, 0.054730f, 0.017261f, 0.064680f, -0.023410f, 0.013872f, -0.008224f, -0.005574f, -0.018475f, -0.002059f, -0.027891f, -0.100433f, -0.072690f, -0.017339f, -0.010278f, 0.017398f, -0.003136f, 0.026851f, 0.026234f, -0.053149f, -0.019797f, -0.019428f, 0.049498f, - -0.075217f, 0.067901f, -0.021707f, -0.022273f, 0.016454f, 0.030746f, -0.059146f, -0.013162f, -0.000353f, 0.009913f, 0.001768f, -0.003303f, 0.027656f, -0.019258f, 0.002428f, 0.013517f, 0.015600f, 0.022423f, 0.018755f, 0.004912f, -0.032908f, -0.008186f, 0.041919f, -0.043705f, -0.036968f, 0.042810f, 0.014119f, 0.029669f, 0.047728f, 0.073795f, -0.018253f, -0.050118f, 0.063006f, -0.027861f, -0.011836f, 0.064746f, 0.019989f, -0.026559f, -0.070628f, -0.048080f, -0.007922f, -0.027849f, 0.031884f, 0.063653f, 0.032873f, -0.024766f, 0.066779f, 0.020527f, -0.025257f, 0.016406f, 0.074706f, 0.019563f, 0.013949f, -0.018202f, -0.061038f, -0.083429f, -0.065024f, -0.006972f, 0.048421f, 0.012628f, 0.030517f, 0.113331f, 0.056728f, -0.071480f, -0.046729f, 0.028496f, -0.095726f, -0.046056f, 0.082998f, 0.027773f, -0.105678f, -0.090011f, -0.039794f, -0.067781f, -0.061571f, -0.032106f, -0.100637f, 0.074109f, 0.033391f, 0.025659f, 0.031490f, -0.008625f, 0.038076f, 0.031370f, 0.044216f, -0.005514f, 0.059638f, -0.033370f, 0.046003f, -0.013461f, -0.029925f, -0.008302f, -0.050965f, 0.007709f, -0.016687f, 0.021141f, - -0.010485f, -0.018967f, 0.055172f, -0.057682f, 0.041830f, -0.000205f, -0.022497f, -0.008637f, 0.026527f, 0.027682f, 0.022407f, 0.050719f, 0.043308f, -0.026881f, -0.002101f, -0.023962f, 0.026003f, -0.021151f, 0.021268f, 0.024960f, 0.015015f, 0.014491f, 0.013122f, -0.012871f, 0.058677f, -0.004055f, 0.020760f, 0.006325f, 0.029808f, 0.014651f, -0.059769f, 0.004870f, -0.033499f, 0.010420f, 0.034145f, -0.004925f, -0.021617f, -0.024943f, 0.066581f, -0.063803f, -0.045035f, 0.094594f, -0.033188f, 0.024154f, 0.017107f, 0.029723f, -0.005872f, 0.014862f, -0.056563f, 0.003012f, 0.074800f, -0.036395f, -0.013230f, 0.052345f, 0.012193f, -0.049929f, 0.023293f, -0.070180f, -0.257008f, -0.276355f, -0.018995f, -0.162327f, 0.126407f, 0.481837f, 0.204525f, 0.287108f, 0.364389f, -0.149994f, -0.109337f, -0.048478f, -0.345265f, -0.243473f, -0.085693f, -0.376715f, -0.170040f, -0.041240f, -0.160117f, 0.027486f, 0.335938f, 0.305678f, 0.330087f, 0.432214f, 0.255670f, -0.031941f, 0.089278f, -0.106672f, -0.401570f, -0.220717f, -0.167263f, -0.333282f, -0.232979f, 0.004902f, -0.260417f, -0.089899f, 0.045609f, -0.257674f, - -0.138142f, 0.180388f, 0.063038f, 0.196442f, 0.496633f, 0.405009f, 0.323275f, 0.592511f, 0.425195f, -0.013328f, 0.053234f, -0.117484f, -0.545613f, -0.517944f, -0.537888f, -0.828601f, -0.566691f, -0.348893f, -0.345782f, 0.000958f, 0.260105f, 0.299377f, 0.415785f, 0.638892f, 0.586423f, 0.500960f, 0.489710f, 0.286589f, 0.098520f, 0.023999f, -0.026560f, -0.208883f, -0.373671f, -0.445265f, -0.477228f, -0.624737f, -0.476615f, -0.186451f, 0.054341f, 0.053551f}, - {0.016394f, 0.003508f, -0.000366f, -0.002725f, -0.005240f, -0.003985f, 0.004793f, 0.006277f, 0.003167f, 0.005132f, 0.000969f, -0.003613f, -0.000492f, 0.000282f, -0.003748f, -0.003799f, -0.007416f, 0.010633f, -0.004831f, 0.009252f, -0.006533f, -0.008086f, 0.001099f, 0.013007f, -0.000873f, 0.005309f, -0.001478f, 0.003674f, 0.005456f, 0.004156f, 0.006924f, 0.004429f, -0.012967f, 0.000752f, -0.007141f, 0.002178f, -0.003372f, -0.001600f, -0.002531f, 0.000472f, -0.001100f, -0.002449f, 0.000097f, -0.001281f, 0.006619f, 0.001953f, 0.000706f, 0.005540f, 0.005299f, 0.001018f, -0.002933f, -0.002556f, -0.002782f, 0.003073f, -0.000192f, 0.000415f, -0.005086f, 0.013371f, 0.006090f, 0.003227f, -0.002376f, -0.002842f, 0.005882f, 0.001541f, -0.000502f, 0.001817f, -0.002937f, 0.001690f, -0.004191f, 0.000138f, 0.003490f, -0.005721f, -0.003868f, -0.002079f, 0.000276f, 0.000751f, 0.003185f, -0.014805f, 0.006690f, -0.016793f, 0.002901f, 0.000858f, 0.000710f, -0.011572f, -0.004298f, 0.002746f, -0.002775f, 0.003311f, 0.005540f, 0.003180f, -0.000457f, 0.004255f, -0.012994f, -0.000050f, -0.000790f, -0.000673f, - 0.006684f, 0.010247f, -0.011415f, -0.002863f, -0.007032f, -0.002569f, 0.003686f, 0.006910f, 0.000909f, 0.001433f, -0.003006f, -0.004001f, -0.003211f, -0.002629f, -0.005317f, 0.002390f, -0.005350f, -0.003830f, 0.005575f, -0.005346f, 0.003943f, 0.000304f, -0.012782f, -0.004645f, -0.007133f, -0.002048f, 0.005139f, -0.004104f, -0.001286f, -0.004043f, -0.003953f, -0.003032f, 0.005058f, 0.007546f, 0.001318f, 0.004024f, 0.003380f, -0.004599f, -0.008094f, 0.003906f, 0.003451f, -0.002124f, -0.006925f, -0.006108f, 0.005164f, 0.000684f, 0.003904f, 0.001492f, -0.010481f, -0.003830f, -0.003768f, 0.005511f, 0.002637f, -0.010926f, 0.003252f, -0.005894f, -0.000942f, -0.019987f, 0.013961f, -0.009309f, 0.001780f, -0.000834f, -0.003313f, 0.010843f, -0.008709f, -0.005569f, 0.000391f, 0.011457f, -0.003678f, -0.000113f, -0.000798f, 0.009589f, -0.005097f, -0.013976f, -0.002866f, -0.006911f, -0.009798f, 0.000951f, -0.000466f, 0.002266f, 0.006203f, 0.010270f, 0.006353f, 0.001552f, 0.015102f, 0.006390f, 0.000807f, 0.011195f, 0.011360f, -0.000223f, -0.005671f, 0.001104f, 0.005167f, 0.004609f, 0.000186f, -0.001411f, - -0.008322f, -0.006828f, -0.003464f, 0.009225f, 0.003749f, 0.015360f, 0.008488f, 0.000160f, 0.005106f, 0.006776f, 0.002206f, -0.008192f, 0.010019f, -0.002990f, 0.005332f, 0.000546f, 0.003302f, -0.009823f, -0.001533f, -0.002410f, 0.004007f, -0.002221f, -0.003894f, 0.012412f, -0.000596f, -0.007250f, 0.003534f, -0.005136f, 0.005464f, -0.002214f, 0.008679f, 0.008856f, 0.008396f, 0.004523f, -0.007368f, 0.006442f, -0.000309f, 0.007016f, 0.003895f, 0.004409f, 0.000037f, -0.004148f, 0.004075f, 0.001509f, 0.001080f, 0.001874f, -0.016398f, 0.005094f, -0.010544f, 0.001571f, 0.003087f, 0.003379f, -0.004989f, 0.008464f, 0.001089f, -0.003295f, -0.001766f, 0.009916f, 0.006898f, -0.004464f, -0.005921f, -0.004697f, 0.003556f, 0.007028f, -0.004636f, -0.004776f, 0.001041f, -0.018398f, -0.000409f, -0.007881f, -0.003468f, -0.007831f, -0.010598f, -0.001294f, 0.008878f, 0.002529f, -0.008741f, -0.002228f, 0.007510f, 0.002396f, -0.005563f, 0.008999f, -0.004394f, -0.012537f, -0.004236f, 0.007070f, -0.003631f, 0.008374f, 0.015397f, 0.012939f, 0.001222f, -0.000115f, 0.003919f, -0.001878f, -0.010018f, 0.000193f, - 0.002904f, -0.006625f, 0.005007f, -0.013229f, -0.002703f, 0.000985f, -0.006412f, -0.004182f, 0.005044f, 0.011862f, -0.009941f, -0.009279f, 0.005078f, 0.006263f, 0.010111f, 0.003906f, -0.007190f, 0.009239f, 0.007290f, 0.027761f, -0.010473f, -0.004489f, -0.001538f, 0.020074f, -0.001749f, 0.015234f, -0.010691f, 0.013448f, -0.012869f, -0.011276f, 0.002990f, 0.006477f, -0.007506f, -0.001692f, 0.004176f, -0.000807f, 0.005375f, -0.007773f, 0.009427f, 0.003523f, -0.009645f, -0.000185f, 0.004183f, 0.003275f, 0.001986f, 0.018855f, 0.015106f, 0.011817f, 0.000218f, 0.007722f, 0.000926f, 0.002335f, 0.005809f, -0.017091f, -0.002422f, 0.010639f, 0.007047f, 0.008276f, 0.000016f, -0.002944f, 0.004012f, -0.000583f, 0.021272f, -0.003108f, 0.003757f, 0.002179f, 0.001234f, -0.006186f, 0.012837f, -0.001411f, 0.013339f, -0.007235f, -0.007383f, 0.005419f, -0.004847f, -0.017586f, -0.007864f, 0.003447f, -0.001444f, -0.012662f, 0.003735f, -0.000125f, 0.016572f, 0.001222f, 0.001694f, -0.005249f, 0.006259f, 0.005707f, -0.000962f, -0.001335f, 0.014805f, 0.010096f, 0.011091f, -0.007366f, -0.008926f, -0.008525f, - 0.019845f, -0.016425f, -0.000822f, -0.017147f, -0.011458f, -0.006890f, 0.014103f, 0.008201f, -0.020740f, -0.028035f, -0.011154f, 0.009470f, 0.006450f, -0.004447f, 0.008970f, -0.000187f, -0.002904f, 0.000815f, -0.015134f, 0.004139f, -0.002503f, 0.000983f, 0.004000f, 0.000767f, -0.000679f, 0.005918f, 0.004724f, -0.009868f, -0.010326f, 0.010850f, -0.004189f, -0.005576f, 0.006026f, -0.019093f, 0.003767f, 0.003838f, -0.018247f, 0.006255f, 0.017268f, 0.010868f, 0.011566f, 0.002482f, 0.005970f, 0.017123f, 0.002308f, 0.003251f, -0.020644f, 0.010401f, 0.013847f, 0.012173f, 0.001290f, 0.012392f, -0.015126f, 0.013900f, -0.005299f, -0.013688f, -0.022484f, -0.000060f, -0.014813f, -0.010725f, -0.006042f, -0.012731f, -0.033782f, 0.001691f, 0.000132f, -0.000730f, 0.003361f, 0.016341f, 0.004168f, 0.006959f, 0.002254f, -0.010857f, -0.000522f, 0.006340f, 0.002102f, 0.005519f, -0.043936f, 0.021284f, 0.002540f, -0.017218f, 0.003894f, -0.002110f, -0.005242f, -0.003711f, -0.009849f, 0.004919f, -0.005161f, 0.000766f, 0.006070f, 0.005557f, 0.018708f, -0.007905f, -0.018316f, 0.009591f, -0.023164f, -0.010146f, - 0.003524f, 0.002901f, 0.002399f, 0.007176f, 0.008992f, 0.007676f, -0.000380f, 0.010242f, 0.000473f, -0.004426f, 0.013735f, 0.008386f, -0.004453f, 0.008041f, -0.014626f, 0.027002f, 0.000829f, 0.004824f, -0.002754f, -0.023638f, -0.004247f, -0.008944f, -0.008389f, 0.003403f, 0.019310f, 0.000333f, 0.000631f, -0.002723f, -0.005564f, -0.012823f, 0.003815f, -0.002263f, 0.006804f, -0.016072f, 0.005194f, 0.008344f, 0.003560f, -0.011893f, -0.004354f, 0.003043f, 0.001359f, 0.009538f, 0.001719f, 0.033184f, -0.009609f, -0.013983f, -0.016192f, -0.004597f, 0.000214f, 0.012261f, -0.016079f, -0.001374f, -0.006874f, 0.008466f, -0.023166f, 0.001121f, -0.005066f, -0.006189f, 0.019143f, -0.006930f, -0.005319f, 0.003676f, 0.005205f, -0.016490f, -0.016699f, -0.015255f, -0.014456f, -0.023146f, 0.013588f, -0.013766f, 0.003331f, 0.004952f, 0.019859f, -0.003925f, -0.005572f, 0.015565f, 0.003024f, 0.002857f, -0.019603f, -0.012880f, 0.008557f, 0.003537f, 0.006641f, 0.010620f, -0.020652f, -0.000257f, 0.007723f, 0.018520f, -0.000982f, 0.001337f, -0.003664f, -0.000435f, -0.013801f, -0.002896f, -0.004873f, -0.024571f, - -0.002794f, 0.006968f, -0.014732f, 0.005535f, -0.015969f, -0.000471f, -0.011346f, -0.002514f, -0.004193f, 0.001010f, 0.018510f, -0.006013f, -0.000730f, 0.009665f, -0.006597f, 0.005553f, -0.017206f, -0.029070f, -0.016725f, -0.008971f, -0.005190f, 0.002860f, 0.018068f, -0.009206f, 0.003970f, 0.004556f, -0.015046f, 0.004605f, -0.011901f, -0.003744f, 0.005760f, 0.019586f, -0.004258f, -0.000837f, 0.005072f, -0.000057f, -0.018983f, 0.019723f, 0.020672f, -0.005666f, 0.002364f, 0.021680f, -0.021044f, -0.018631f, 0.016671f, -0.003346f, 0.002684f, 0.015244f, -0.002441f, -0.003474f, 0.015147f, -0.026652f, 0.012046f, -0.000662f, 0.005054f, 0.013818f, 0.014102f, -0.014653f, 0.003327f, -0.020342f, 0.006874f, -0.005700f, -0.001812f, -0.013958f, -0.000320f, -0.020263f, 0.002446f, -0.017472f, 0.013096f, -0.005713f, 0.002817f, 0.023235f, 0.010895f, 0.010769f, -0.017616f, 0.003987f, 0.021360f, -0.004280f, -0.029345f, 0.016658f, -0.003214f, 0.003606f, -0.005433f, -0.013102f, 0.020091f, 0.007776f, 0.016457f, 0.004716f, 0.002765f, -0.012501f, -0.016701f, 0.006898f, 0.008498f, 0.009323f, 0.011897f, 0.027049f, - -0.000371f, -0.019733f, -0.012767f, 0.016526f, -0.001726f, -0.016929f, -0.004020f, -0.000513f, -0.004145f, -0.021750f, 0.001047f, 0.003344f, 0.006298f, -0.008026f, 0.013576f, -0.001184f, 0.001990f, 0.015997f, 0.014966f, -0.018975f, 0.021479f, -0.005248f, 0.022736f, -0.019186f, 0.016734f, 0.001554f, -0.002165f, 0.028436f, -0.015386f, 0.001405f, -0.014948f, -0.004656f, 0.043460f, 0.020847f, 0.008934f, 0.006043f, 0.012091f, -0.007297f, -0.000436f, -0.037342f, 0.006503f, -0.001829f, -0.016407f, 0.017492f, 0.012945f, -0.000824f, 0.002779f, -0.021676f, 0.018482f, -0.010257f, 0.019651f, 0.012880f, 0.010311f, -0.015606f, -0.003091f, -0.013153f, 0.018855f, 0.004204f, -0.007392f, 0.033886f, 0.015919f, -0.004057f, 0.001413f, -0.028455f, 0.004424f, 0.001121f, 0.022077f, -0.010260f, -0.029094f, -0.005111f, -0.008295f, -0.005740f, -0.040944f, -0.020378f, -0.043568f, -0.022158f, -0.015742f, 0.004995f, -0.011123f, 0.020354f, 0.002348f, -0.023398f, 0.013955f, -0.015629f, 0.022036f, -0.019644f, -0.015903f, 0.011631f, 0.019925f, 0.019608f, 0.000614f, -0.017788f, -0.013363f, 0.009542f, -0.028256f, -0.033299f, - -0.022524f, -0.004481f, -0.001795f, -0.005594f, 0.006202f, 0.010053f, 0.006642f, -0.001503f, 0.002938f, -0.011635f, 0.005291f, -0.022075f, -0.029967f, -0.000667f, 0.020610f, 0.002250f, -0.009061f, 0.015941f, 0.009064f, 0.015347f, 0.027285f, 0.002031f, -0.010165f, -0.019954f, -0.015930f, 0.006605f, -0.018068f, -0.013403f, 0.002971f, -0.015086f, -0.030537f, -0.017893f, -0.002965f, -0.005328f, 0.005467f, -0.008560f, 0.014800f, 0.002644f, 0.004750f, 0.020264f, -0.004989f, 0.000466f, 0.003767f, -0.020131f, 0.019628f, 0.001117f, -0.020961f, -0.034335f, 0.006611f, 0.000313f, -0.024713f, 0.021854f, 0.014337f, -0.024284f, 0.005632f, 0.017662f, 0.009895f, 0.002402f, 0.015338f, -0.011159f, -0.008787f, -0.002262f, -0.011485f, -0.019015f, 0.023819f, -0.027339f, -0.004953f, 0.005090f, -0.000436f, 0.035218f, -0.038145f, 0.004746f, -0.008289f, -0.007392f, 0.005682f, -0.003066f, 0.004589f, -0.008861f, -0.021904f, 0.017243f, -0.038716f, -0.027789f, 0.018702f, -0.001997f, -0.035369f, 0.016500f, -0.021162f, 0.037715f, 0.006631f, -0.052092f, -0.007624f, 0.003590f, -0.014026f, 0.002796f, 0.007760f, 0.017077f, - 0.014374f, -0.030678f, -0.002437f, 0.001748f, -0.007286f, -0.028188f, -0.005337f, -0.006652f, -0.010466f, -0.009295f, -0.001523f, 0.001009f, 0.021999f, 0.024338f, -0.008972f, 0.012652f, 0.010675f, 0.010531f, 0.024149f, -0.000666f, 0.005704f, -0.030068f, -0.011067f, 0.009268f, -0.006803f, 0.013061f, 0.033629f, 0.004124f, -0.031338f, -0.068591f, -0.001125f, -0.021835f, 0.018263f, -0.013780f, -0.007776f, -0.014298f, -0.037356f, 0.014865f, 0.048056f, 0.001805f, 0.012113f, -0.039386f, 0.007355f, -0.005468f, -0.017684f, 0.003223f, 0.018481f, 0.008502f, 0.015134f, -0.017793f, 0.024659f, 0.012864f, -0.027130f, -0.043195f, -0.000221f, -0.031595f, -0.073943f, -0.046809f, 0.033268f, 0.026633f, 0.043675f, -0.000489f, 0.017175f, 0.003903f, 0.013787f, -0.000973f, 0.008920f, -0.019866f, -0.023220f, -0.014945f, -0.020740f, -0.013986f, -0.014706f, 0.017233f, 0.042284f, 0.008564f, -0.051151f, -0.012883f, 0.009278f, -0.014369f, 0.012874f, -0.030142f, -0.002006f, -0.001814f, 0.002132f, 0.013446f, 0.011332f, 0.001087f, -0.003006f, -0.007541f, 0.012547f, 0.022206f, -0.017980f, -0.029995f, 0.019937f, 0.007998f, - 0.025995f, 0.010293f, 0.037507f, -0.026653f, -0.007984f, 0.022046f, 0.035953f, 0.028934f, 0.019061f, 0.007028f, -0.006328f, 0.000693f, -0.003138f, -0.001568f, 0.013488f, -0.047474f, 0.026042f, -0.005507f, 0.008272f, -0.005040f, 0.036448f, -0.012727f, 0.001414f, -0.009881f, 0.024116f, 0.016263f, -0.036623f, 0.025404f, -0.030535f, -0.004356f, -0.013869f, -0.019430f, 0.018486f, 0.000112f, -0.047825f, -0.006383f, -0.000267f, 0.041501f, -0.044984f, -0.000462f, -0.025345f, -0.072412f, -0.008109f, -0.026329f, -0.057121f, 0.012155f, 0.000123f, -0.010544f, 0.004105f, 0.031649f, -0.001535f, -0.032041f, 0.011691f, 0.002042f, -0.010079f, -0.007134f, -0.005409f, 0.002422f, 0.036108f, -0.007218f, -0.000912f, 0.017026f, 0.012366f, -0.004290f, 0.017658f, 0.016695f, -0.007263f, -0.006584f, -0.013995f, 0.020809f, -0.004418f, -0.033215f, 0.005535f, -0.001240f, 0.012047f, 0.045886f, -0.029639f, -0.046867f, -0.030009f, -0.012846f, 0.006866f, 0.017233f, 0.008713f, 0.035402f, 0.017225f, -0.022687f, -0.013739f, -0.031363f, 0.028500f, 0.018986f, 0.003223f, 0.007640f, -0.018802f, 0.003700f, -0.019953f, 0.036229f, - 0.033628f, 0.004390f, -0.015920f, -0.006594f, 0.003030f, 0.033654f, 0.062052f, 0.041045f, -0.006497f, -0.011051f, 0.000089f, 0.023213f, 0.007627f, 0.022289f, 0.024056f, -0.020112f, -0.002513f, -0.040610f, -0.026240f, 0.016213f, 0.018892f, -0.032425f, -0.000935f, -0.015242f, 0.030101f, -0.026408f, 0.009021f, 0.005811f, 0.055777f, -0.029257f, -0.006205f, -0.030186f, -0.003899f, -0.029780f, -0.024377f, -0.016805f, 0.013702f, -0.032278f, -0.022357f, -0.035379f, -0.006450f, -0.002609f, -0.008379f, -0.014234f, -0.039540f, 0.014438f, -0.026908f, 0.015486f, -0.028372f, 0.042508f, 0.009600f, 0.020829f, -0.004002f, -0.033849f, 0.023484f, 0.014731f, -0.008809f, 0.023093f, 0.031490f, -0.011756f, -0.036172f, -0.018122f, 0.057370f, -0.019590f, 0.002151f, 0.004687f, -0.005112f, 0.015100f, 0.038752f, 0.009512f, 0.018904f, -0.007790f, 0.029074f, 0.003767f, 0.023923f, 0.009418f, 0.011143f, 0.002900f, 0.006669f, 0.046014f, 0.017719f, 0.105263f, -0.056959f, 0.043317f, 0.061054f, -0.010902f, 0.006981f, 0.032673f, -0.014635f, -0.001988f, 0.053501f, 0.022801f, 0.000211f, 0.029316f, -0.000153f, 0.054087f, - 0.060808f, -0.001624f, 0.043319f, 0.042820f, -0.004710f, 0.017782f, -0.047805f, -0.016895f, 0.038420f, 0.001039f, 0.037989f, 0.052995f, 0.044164f, -0.012225f, 0.028252f, -0.049881f, -0.074721f, -0.034392f, -0.028933f, 0.014365f, -0.001400f, 0.015503f, 0.018930f, 0.040588f, 0.032723f, 0.008365f, -0.036065f, -0.007845f, 0.033668f, 0.007491f, -0.018133f, 0.018580f, 0.047071f, -0.009341f, 0.015885f, -0.043230f, 0.018050f, -0.035107f, -0.008965f, -0.023948f, -0.041071f, 0.020457f, 0.002514f, 0.007547f, 0.048494f, -0.031066f, -0.029546f, 0.012627f, 0.050610f, -0.044711f, -0.026084f, 0.011087f, -0.012147f, 0.065688f, 0.053595f, -0.055813f, -0.017734f, -0.045558f, 0.003635f, 0.037219f, -0.018259f, -0.036659f, -0.011400f, -0.004124f, 0.013376f, -0.043214f, 0.012268f, 0.065134f, 0.009803f, -0.056275f, -0.068252f, 0.051796f, -0.063638f, -0.067895f, -0.023503f, 0.008746f, -0.016000f, 0.008158f, 0.002957f, -0.069698f, -0.042358f, -0.053232f, 0.008946f, 0.024081f, 0.005410f, 0.038916f, 0.033599f, 0.050364f, 0.012167f, 0.055397f, 0.021575f, 0.034720f, -0.023286f, -0.010320f, -0.023474f, -0.048047f, - -0.037312f, -0.072634f, -0.046453f, -0.016101f, -0.045830f, 0.006435f, -0.006800f, -0.003492f, 0.011364f, 0.011427f, 0.000897f, 0.031657f, -0.014069f, -0.030058f, 0.034775f, 0.001871f, -0.059399f, -0.024804f, -0.011784f, -0.065896f, -0.055001f, -0.048833f, -0.001936f, 0.021792f, -0.000296f, -0.025658f, -0.009848f, 0.026191f, 0.009611f, 0.063594f, 0.004730f, -0.086339f, -0.036217f, -0.014784f, 0.005924f, 0.013900f, -0.018113f, -0.022025f, 0.023274f, -0.046464f, -0.018025f, -0.036517f, 0.019184f, -0.072884f, -0.057195f, -0.058354f, -0.060921f, 0.006103f, -0.040861f, -0.016772f, -0.064590f, 0.030657f, 0.070266f, 0.004676f, 0.032132f, -0.024957f, -0.018409f, 0.048252f, 0.019380f, 0.048571f, -0.081738f, 0.033952f, 0.060380f, -0.007263f, 0.069743f, -0.038644f, -0.107365f, -0.056973f, -0.000940f, -0.012369f, 0.011744f, -0.040158f, 0.037050f, 0.050379f, -0.046921f, 0.039498f, -0.025498f, -0.033748f, -0.074320f, -0.032822f, -0.042389f, -0.030795f, -0.033652f, 0.031157f, 0.005883f, -0.069682f, -0.084768f, 0.061953f, 0.015815f, 0.020242f, -0.018737f, 0.002057f, -0.021726f, -0.002678f, 0.021370f, 0.026439f, - 0.028948f, 0.068915f, 0.004374f, -0.055882f, 0.072624f, -0.011462f, -0.015810f, -0.036894f, 0.032407f, -0.062331f, -0.035919f, 0.028168f, -0.026878f, -0.050031f, -0.053065f, -0.054808f, -0.006743f, 0.001090f, 0.009567f, -0.021199f, 0.065620f, 0.045657f, 0.000034f, -0.036354f, -0.045470f, -0.065834f, 0.020599f, 0.004454f, -0.004680f, -0.014383f, 0.091447f, -0.003963f, -0.015719f, 0.025372f, 0.027236f, -0.067364f, 0.051912f, 0.034108f, 0.102120f, 0.045441f, 0.003217f, -0.032866f, 0.049169f, 0.000261f, 0.004274f, -0.022108f, 0.044858f, -0.050044f, 0.038065f, 0.037107f, 0.038500f, 0.019543f, -0.013257f, 0.051450f, 0.063496f, -0.011516f, 0.026523f, -0.037645f, 0.063787f, 0.028431f, 0.021624f, -0.038913f, -0.087860f, 0.019095f, -0.026702f, -0.018603f, -0.035519f, -0.043515f, 0.027505f, 0.013904f, -0.021751f, 0.006769f, 0.002241f, -0.022065f, -0.107818f, -0.004892f, -0.022930f, -0.009164f, -0.001766f, 0.077988f, 0.051707f, -0.023316f, 0.019299f, -0.047980f, 0.005194f, 0.039671f, -0.057752f, -0.050829f, -0.044302f, 0.071177f, -0.050266f, 0.016775f, 0.054281f, -0.071919f, -0.070375f, 0.066435f, - 0.049297f, 0.056344f, 0.069805f, 0.029440f, -0.093469f, 0.023828f, 0.024627f, -0.004653f, 0.146412f, -0.011715f, -0.026417f, -0.063368f, -0.063088f, 0.034829f, -0.060265f, 0.040762f, 0.002168f, 0.046653f, -0.014685f, 0.025333f, 0.077791f, 0.009215f, -0.061107f, 0.094245f, 0.024951f, -0.003067f, 0.067806f, 0.035289f, 0.055346f, 0.022740f, -0.075555f, -0.014108f, -0.026603f, 0.039956f, 0.093784f, -0.054631f, 0.017308f, -0.024552f, 0.043141f, 0.049871f, -0.059019f, 0.054593f, -0.046960f, -0.041179f, 0.025016f, 0.045571f, 0.004155f, 0.017367f, 0.035221f, -0.046438f, 0.046210f, 0.006857f, 0.055835f, -0.006080f, -0.012071f, 0.020972f, 0.081485f, -0.032166f, 0.066136f, -0.027524f, 0.014786f, 0.020371f, 0.065896f, -0.000152f, -0.002542f, 0.025735f, 0.098198f, 0.010073f, -0.074231f, -0.002399f, -0.089804f, 0.058444f, 0.001218f, 0.153032f, 0.032755f, -0.039720f, -0.012667f, 0.036944f, -0.032727f, 0.056432f, 0.097305f, 0.070784f, 0.000990f, 0.032559f, 0.041180f, -0.000437f, -0.046980f, -0.001678f, -0.012881f, -0.150932f, 0.093246f, 0.077681f, 0.061042f, 0.021952f, -0.075556f, 0.059982f, - -0.034908f, 0.060946f, -0.053198f, 0.010381f, 0.030070f, -0.026973f, 0.005581f, 0.012268f, -0.013301f, -0.028339f, -0.053548f, 0.085093f, -0.017086f, -0.015725f, -0.026229f, -0.003918f, -0.009667f, 0.028100f, -0.054600f, -0.015646f, -0.033340f, 0.012782f, -0.033446f, 0.034753f, 0.002014f, 0.018131f, -0.036940f, -0.071089f, 0.005794f, -0.051887f, -0.052137f, 0.025117f, -0.039323f, -0.035150f, 0.071834f, -0.025315f, -0.037666f, 0.005417f, -0.038714f, 0.019710f, 0.029073f, -0.007444f, -0.030907f, -0.009775f, 0.022947f, 0.017537f, -0.012195f, -0.001368f, 0.064323f, -0.010784f, -0.034193f, -0.047719f, -0.003340f, -0.020862f, -0.068331f, 0.067642f, 0.027066f, -0.082460f, 0.054672f, -0.003432f, -0.030791f, 0.159266f, 0.093387f, 0.073696f, 0.042734f, 0.023107f, -0.033890f, 0.007034f, 0.021143f, 0.020476f, 0.010405f, 0.072350f, 0.018078f, -0.015808f, -0.033721f, -0.128221f, -0.071311f, 0.124376f, 0.017133f, 0.041792f, 0.023413f, -0.028930f, 0.024289f, 0.036167f, 0.010052f, -0.001947f, -0.028289f, -0.003611f, 0.009776f, -0.012271f, -0.009170f, 0.006788f, 0.015157f, 0.037403f, -0.023415f, 0.016712f, - 0.002781f, 0.030226f, -0.008770f, 0.007371f, 0.010686f, -0.031033f, 0.027915f, 0.006078f, 0.007842f, 0.011354f, 0.011067f, -0.018957f, 0.023339f, -0.016066f, 0.005705f, 0.023071f, -0.010409f, 0.022684f, -0.007869f, 0.028128f, 0.021405f, 0.013775f, -0.031459f, 0.026291f, 0.019462f, 0.016814f, 0.041463f, -0.036880f, -0.002495f, 0.001748f, -0.007421f, 0.014062f, -0.019316f, -0.030073f, 0.022880f, 0.027275f, 0.013229f, -0.000790f, 0.005914f, -0.001116f, 0.013530f, -0.008900f, 0.005693f, -0.021474f, 0.022102f, -0.034638f, 0.035273f, 0.022247f, -0.011810f, 0.002226f, 0.014379f, 0.003902f, 0.012672f, 0.003278f, 0.001030f, 0.002141f, 0.023543f, -0.098202f, -0.228618f, -0.036631f, 0.133471f, 0.121293f, 0.298624f, 0.156033f, -0.080702f, -0.024723f, -0.165795f, -0.280909f, -0.019727f, -0.127615f, -0.018154f, 0.204788f, 0.087017f, 0.158273f, 0.242346f, -0.028084f, -0.036032f, -0.123121f, -0.210201f, -0.166493f, -0.011283f, -0.062375f, -0.024309f, 0.174530f, 0.054641f, 0.113679f, 0.205299f, 0.034136f, -0.001524f, 0.021760f, -0.125987f, -0.189176f, 0.031824f, -0.195454f, -0.129020f, 0.044084f, - -0.020557f, 0.032495f, 0.251349f, 0.029633f, 0.095760f, 0.206710f, -0.042021f, 0.007204f, 0.044890f, -0.197680f, -0.166673f, -0.057726f, -0.227124f, -0.086490f, 0.027601f, 0.042934f, 0.154391f, 0.220462f, 0.154957f, 0.111661f, 0.094727f, -0.035018f, -0.133822f, -0.107030f, -0.165173f, -0.170050f, -0.075287f, -0.041371f, -0.000487f, 0.146936f, 0.170490f, 0.057180f, 0.132906f, 0.043652f, -0.043896f, 0.034991f, -0.092458f, -0.097676f, -0.014884f, -0.016038f} - }, - { - {0.014085f, 0.003015f, -0.003886f, -0.001391f, -0.012989f, -0.006968f, 0.003037f, -0.000664f, -0.000688f, 0.011340f, 0.009528f, 0.002088f, -0.002756f, -0.002327f, -0.006276f, 0.005696f, 0.000631f, -0.003797f, -0.001952f, -0.003632f, -0.001690f, -0.000933f, -0.008573f, -0.007868f, 0.007024f, 0.006528f, 0.002812f, -0.008093f, -0.003750f, -0.001893f, 0.003547f, -0.002993f, -0.004002f, -0.000711f, 0.000351f, 0.001679f, 0.003808f, 0.000765f, 0.005449f, -0.006988f, -0.006472f, -0.008698f, -0.006355f, -0.003515f, 0.000815f, -0.001142f, -0.001206f, -0.003676f, 0.001338f, -0.001025f, 0.000739f, 0.006166f, 0.004616f, -0.002338f, -0.004630f, -0.003376f, 0.001808f, 0.001424f, 0.000608f, -0.000514f, 0.012116f, 0.007436f, 0.001175f, -0.002393f, 0.000596f, -0.007037f, 0.000435f, -0.000466f, 0.001926f, -0.001106f, -0.003904f, 0.006675f, -0.008500f, 0.000402f, 0.000820f, -0.000836f, -0.008431f, 0.008433f, 0.001963f, -0.004904f, -0.002288f, -0.010673f, -0.002996f, 0.008553f, -0.004829f, -0.003591f, 0.002509f, -0.001582f, -0.000519f, 0.000337f, -0.002984f, -0.002467f, 0.010437f, 0.004945f, -0.001479f, 0.000295f, - -0.001765f, -0.003401f, 0.001279f, 0.003564f, 0.005663f, -0.001729f, 0.002053f, 0.002458f, -0.009588f, -0.003130f, -0.000202f, -0.002118f, 0.005584f, 0.000268f, -0.002164f, 0.004929f, -0.004146f, 0.001485f, 0.007870f, -0.004747f, 0.000321f, 0.000795f, 0.005924f, -0.002651f, 0.008241f, -0.012267f, -0.004568f, 0.004893f, -0.002580f, -0.010465f, 0.000512f, 0.001700f, 0.003154f, 0.003119f, -0.001328f, -0.004735f, 0.000133f, -0.004348f, -0.002951f, 0.000777f, 0.004750f, 0.004195f, -0.007050f, 0.005494f, -0.007711f, 0.006119f, 0.000032f, 0.005265f, -0.002640f, -0.005379f, -0.002562f, 0.003244f, -0.001261f, -0.001743f, -0.001779f, 0.004453f, -0.006406f, -0.028480f, 0.009344f, -0.010351f, -0.004133f, -0.008471f, -0.008714f, 0.004955f, -0.002918f, -0.007337f, -0.003966f, 0.010011f, 0.014835f, -0.008105f, -0.003047f, -0.000698f, -0.010725f, -0.010025f, 0.000726f, -0.000983f, 0.006506f, 0.002241f, 0.004836f, -0.004245f, -0.002720f, -0.005508f, 0.001529f, 0.009643f, 0.004124f, 0.001925f, -0.006223f, 0.004755f, 0.001375f, 0.002944f, -0.004080f, 0.000438f, 0.001371f, 0.002243f, -0.005530f, -0.003914f, - 0.001452f, -0.007463f, -0.007788f, 0.003435f, 0.005819f, -0.006473f, -0.003372f, -0.002407f, 0.000422f, 0.006001f, 0.004665f, 0.002205f, 0.000836f, 0.015312f, 0.005889f, -0.004584f, 0.005839f, 0.004413f, -0.004258f, 0.007387f, -0.002716f, -0.001531f, -0.000091f, -0.002824f, 0.006304f, -0.003248f, 0.001622f, 0.004204f, 0.003026f, -0.005225f, 0.002188f, 0.001562f, 0.001108f, -0.001366f, -0.002839f, -0.000403f, 0.008831f, 0.001667f, 0.003866f, 0.021828f, 0.008796f, -0.001355f, 0.001139f, 0.005121f, 0.002753f, -0.001311f, -0.009208f, 0.000458f, 0.008468f, -0.008370f, -0.000794f, -0.015844f, 0.004359f, 0.006671f, 0.000596f, -0.003656f, 0.011858f, 0.008378f, -0.007374f, 0.003800f, 0.000607f, -0.006452f, 0.010602f, 0.005912f, -0.000513f, 0.004375f, 0.010112f, -0.002922f, -0.001886f, 0.000828f, 0.000229f, 0.000403f, 0.002559f, 0.012379f, 0.002632f, 0.001992f, -0.019571f, -0.000872f, 0.001073f, 0.002535f, -0.008760f, 0.002247f, -0.007032f, -0.005349f, -0.007448f, -0.004794f, 0.000219f, 0.002485f, -0.004485f, 0.004853f, -0.011172f, -0.006314f, -0.000524f, 0.000058f, 0.003804f, -0.004331f, - -0.000898f, -0.003895f, 0.002617f, 0.006372f, -0.003572f, 0.000896f, -0.003088f, -0.000342f, 0.009634f, 0.007710f, -0.002928f, 0.007244f, -0.003312f, -0.005711f, -0.007477f, -0.000321f, -0.000844f, 0.034857f, -0.014233f, 0.003467f, -0.000600f, -0.005654f, 0.006084f, 0.010248f, -0.005577f, 0.010972f, 0.000083f, 0.011662f, 0.003698f, 0.004553f, -0.004088f, 0.006909f, 0.003062f, 0.007063f, -0.012805f, 0.007897f, -0.007303f, 0.003185f, -0.006025f, 0.009145f, -0.001644f, 0.009214f, -0.004335f, 0.003849f, -0.002608f, -0.000011f, 0.000297f, -0.000120f, 0.004023f, 0.018427f, 0.001467f, 0.005953f, -0.004200f, -0.007415f, 0.001046f, 0.000954f, 0.001056f, 0.003505f, -0.004958f, 0.012430f, -0.000004f, 0.010578f, 0.001423f, -0.003319f, -0.004555f, -0.013668f, 0.007944f, 0.005698f, -0.006016f, 0.001748f, 0.006671f, 0.004138f, -0.016126f, 0.011229f, 0.000323f, 0.008359f, -0.009261f, -0.009761f, -0.004335f, -0.009385f, -0.000895f, 0.013795f, 0.003737f, -0.003164f, 0.002033f, 0.008765f, -0.000872f, -0.003569f, -0.001150f, -0.003829f, 0.006770f, -0.006320f, 0.001650f, -0.002003f, 0.009023f, -0.020887f, - 0.004346f, -0.006515f, -0.019104f, -0.014665f, 0.007906f, 0.008876f, 0.011571f, -0.005578f, -0.002931f, 0.008074f, 0.003819f, 0.012008f, 0.003880f, -0.001164f, 0.001223f, 0.007740f, 0.014750f, -0.003595f, 0.004292f, 0.000013f, 0.011935f, 0.002954f, -0.000754f, -0.002180f, -0.009152f, -0.013636f, 0.000110f, -0.001750f, 0.004120f, -0.000528f, 0.003209f, 0.002701f, 0.000782f, 0.001177f, 0.002689f, -0.004432f, 0.000451f, 0.006914f, 0.010228f, -0.004712f, 0.001130f, -0.004094f, -0.006031f, 0.008898f, -0.006653f, -0.015894f, -0.006524f, -0.003756f, 0.007701f, 0.001094f, 0.008502f, 0.008362f, -0.004326f, 0.000843f, -0.006908f, -0.000415f, -0.003057f, 0.010672f, -0.012899f, 0.000228f, 0.004126f, -0.012850f, -0.015354f, 0.000923f, 0.004518f, 0.010361f, -0.006876f, -0.015246f, 0.008219f, -0.013918f, 0.017188f, 0.010809f, 0.002798f, 0.008594f, 0.000347f, -0.003371f, -0.046890f, 0.009075f, 0.001866f, -0.023796f, -0.029892f, -0.005223f, -0.023184f, 0.017967f, 0.004815f, -0.014187f, 0.000388f, -0.006870f, 0.001589f, -0.009848f, 0.000737f, -0.001037f, -0.000347f, 0.012510f, -0.005103f, -0.003541f, - -0.005874f, -0.005297f, -0.012715f, -0.008738f, 0.011881f, -0.005596f, 0.007360f, -0.007370f, 0.002949f, -0.000306f, 0.006623f, -0.007676f, 0.004925f, -0.007709f, 0.002743f, -0.003270f, -0.004875f, 0.003938f, -0.011849f, 0.003892f, -0.006203f, -0.002618f, -0.008688f, 0.019638f, 0.009265f, 0.017154f, -0.007847f, 0.006933f, 0.005708f, -0.004030f, 0.002878f, -0.008892f, 0.008641f, 0.018856f, 0.015114f, -0.011196f, -0.003030f, 0.004015f, -0.007852f, -0.005717f, -0.013601f, -0.025845f, -0.008593f, 0.012451f, 0.004748f, -0.006782f, 0.002756f, 0.000794f, -0.006565f, -0.012568f, -0.011596f, 0.008085f, 0.001873f, -0.019151f, 0.003426f, 0.001328f, 0.002087f, -0.017994f, -0.007402f, -0.004526f, 0.013896f, -0.003416f, 0.003414f, -0.013941f, -0.014642f, 0.000977f, 0.004419f, -0.008398f, -0.004839f, -0.007852f, 0.016932f, 0.003996f, -0.005543f, -0.011978f, -0.012030f, -0.011533f, -0.003224f, 0.006018f, 0.016954f, 0.005822f, 0.009592f, -0.007232f, 0.018022f, 0.010642f, 0.003329f, 0.000583f, 0.018505f, -0.010418f, 0.001751f, 0.006267f, 0.012499f, -0.019846f, -0.010353f, 0.009274f, 0.003508f, -0.002351f, - 0.021055f, -0.008774f, 0.005893f, 0.013215f, 0.003861f, 0.002631f, 0.009189f, 0.004286f, 0.004494f, 0.005259f, 0.001862f, 0.005996f, -0.000491f, 0.008596f, -0.002070f, 0.020299f, -0.014579f, 0.016820f, 0.012657f, -0.010654f, 0.012503f, 0.002974f, 0.010556f, 0.011625f, -0.024475f, 0.000016f, -0.001342f, -0.006582f, 0.003452f, -0.005829f, 0.006249f, -0.001953f, 0.014917f, -0.000781f, 0.001926f, 0.007426f, 0.003832f, 0.024475f, -0.006088f, -0.003467f, -0.005614f, 0.017495f, 0.009368f, 0.002104f, 0.006908f, -0.011395f, 0.026104f, 0.008776f, -0.001672f, 0.009957f, 0.012816f, -0.020802f, -0.001022f, 0.005194f, 0.002863f, 0.000180f, 0.018213f, -0.008357f, -0.010371f, 0.024680f, 0.004152f, -0.001556f, -0.001966f, 0.012971f, 0.001468f, -0.001693f, -0.001895f, -0.005788f, 0.006911f, -0.003537f, 0.009064f, 0.006131f, -0.014852f, -0.014488f, 0.002437f, 0.029033f, 0.000290f, 0.006019f, -0.017167f, 0.008914f, 0.012571f, -0.007277f, 0.009539f, 0.011017f, -0.017301f, -0.010952f, -0.001446f, -0.023083f, -0.011416f, -0.013754f, 0.005002f, -0.004676f, -0.004134f, -0.002488f, 0.017371f, -0.022286f, - 0.011040f, 0.004895f, -0.005966f, 0.013670f, -0.007319f, 0.001338f, -0.017189f, -0.000371f, 0.013118f, 0.010209f, 0.023398f, -0.025218f, -0.003848f, -0.027995f, -0.003008f, -0.000526f, -0.002606f, 0.003470f, 0.017064f, -0.017954f, 0.001184f, -0.010793f, 0.032278f, -0.012852f, -0.007108f, 0.028016f, 0.021311f, 0.004371f, -0.037717f, -0.008818f, 0.018241f, 0.001947f, -0.001223f, -0.004947f, -0.002394f, -0.002487f, 0.003310f, 0.006427f, 0.006053f, 0.005631f, 0.034600f, -0.006615f, -0.004272f, 0.000487f, 0.005096f, -0.009674f, 0.006638f, 0.004038f, -0.000589f, -0.010722f, -0.006314f, 0.012664f, 0.013829f, 0.025241f, 0.007064f, -0.009868f, 0.007002f, 0.000020f, 0.007099f, 0.000778f, 0.014540f, -0.011206f, -0.016383f, -0.017418f, 0.012350f, -0.004822f, 0.003216f, 0.004776f, -0.005498f, -0.001048f, 0.030348f, 0.010142f, -0.024017f, 0.017700f, 0.006561f, 0.029793f, -0.014594f, -0.014826f, 0.009634f, 0.015784f, 0.012159f, 0.005749f, -0.001631f, 0.000304f, 0.008896f, -0.010617f, -0.001465f, -0.000902f, 0.014191f, -0.010919f, 0.027267f, -0.003463f, 0.001951f, -0.017389f, -0.010893f, -0.023254f, - -0.019799f, -0.008042f, 0.006546f, 0.006687f, 0.034591f, 0.033495f, -0.004438f, 0.002176f, 0.001046f, -0.000326f, -0.000834f, -0.007637f, -0.023294f, -0.018139f, -0.009477f, 0.007479f, -0.006781f, -0.020511f, -0.006025f, 0.003147f, -0.001851f, -0.031128f, -0.009321f, 0.006105f, -0.003461f, 0.002234f, 0.001780f, 0.008505f, 0.013117f, 0.001509f, -0.010015f, 0.009230f, 0.010046f, 0.006579f, -0.000649f, 0.012687f, -0.026959f, 0.008286f, -0.023887f, 0.028854f, -0.021125f, 0.007396f, -0.022375f, -0.004355f, -0.024953f, -0.013791f, -0.015563f, -0.017407f, 0.011439f, -0.015375f, -0.002856f, 0.004554f, -0.000157f, -0.008464f, -0.005580f, -0.003164f, -0.024167f, 0.000242f, 0.001777f, 0.011536f, -0.037669f, 0.000431f, -0.000644f, 0.017294f, 0.021713f, -0.014748f, -0.008288f, 0.000623f, 0.017109f, -0.031355f, 0.021147f, -0.013796f, -0.007804f, 0.002412f, -0.028018f, 0.004243f, -0.019473f, -0.048377f, -0.020233f, -0.010337f, 0.006686f, 0.011303f, -0.016923f, -0.007194f, -0.020916f, -0.018444f, 0.007460f, -0.016349f, 0.013899f, 0.004995f, 0.009518f, -0.003146f, -0.016865f, 0.025361f, 0.008937f, 0.013661f, - -0.020713f, 0.006838f, 0.001784f, -0.028972f, 0.015441f, 0.009074f, -0.000721f, -0.020075f, -0.009037f, 0.008155f, 0.008100f, -0.001599f, 0.001598f, 0.012334f, -0.015020f, -0.010843f, 0.013989f, -0.032681f, -0.033064f, -0.042012f, -0.011124f, 0.012137f, -0.037914f, -0.031006f, -0.020195f, -0.000373f, 0.010912f, 0.003185f, 0.001589f, -0.000283f, -0.012501f, -0.015213f, -0.036088f, 0.017093f, 0.002876f, 0.040373f, -0.012073f, 0.000347f, -0.027766f, -0.031156f, 0.001525f, 0.019054f, -0.001062f, -0.019794f, 0.010188f, 0.004640f, 0.025456f, 0.002321f, 0.000798f, -0.013942f, -0.005482f, 0.011607f, -0.030681f, -0.051658f, -0.017965f, -0.012826f, -0.043003f, -0.032873f, -0.014541f, 0.024075f, -0.000976f, 0.040560f, 0.008948f, -0.002662f, -0.021160f, 0.008673f, 0.042138f, -0.042172f, -0.037342f, -0.012105f, -0.005118f, -0.026282f, 0.026818f, 0.008012f, 0.015206f, 0.016990f, -0.025462f, -0.002749f, 0.012328f, -0.016556f, 0.033347f, 0.000826f, 0.008793f, -0.008937f, 0.009555f, -0.020731f, -0.010191f, -0.007007f, 0.013801f, 0.005828f, 0.021241f, -0.031548f, 0.004844f, -0.000197f, -0.021492f, 0.025740f, - -0.013216f, -0.037725f, 0.009715f, 0.013440f, 0.005109f, -0.011442f, -0.000263f, -0.015945f, 0.005171f, 0.012498f, 0.008157f, -0.026149f, 0.012911f, -0.006358f, -0.025627f, -0.017480f, -0.032014f, 0.000103f, -0.002196f, -0.001723f, 0.008009f, 0.020639f, 0.030430f, 0.021226f, -0.007537f, -0.020658f, 0.010526f, -0.006374f, 0.001089f, -0.016711f, 0.032522f, 0.020997f, 0.000001f, 0.040259f, -0.022116f, 0.010864f, 0.031645f, 0.016232f, -0.037901f, 0.004987f, 0.000649f, -0.023938f, 0.003724f, -0.053449f, -0.046112f, -0.010982f, -0.000169f, 0.002091f, -0.000917f, -0.018975f, -0.000408f, -0.005395f, 0.017407f, 0.003374f, -0.000801f, 0.003223f, -0.040189f, 0.013975f, 0.007850f, 0.022422f, 0.009631f, 0.009656f, 0.026709f, 0.013039f, 0.004144f, 0.065894f, 0.014456f, 0.025229f, 0.035378f, 0.001422f, 0.025057f, 0.005933f, -0.013374f, 0.015740f, 0.001493f, 0.007368f, -0.013080f, 0.000590f, -0.008356f, 0.005126f, -0.008324f, 0.018032f, 0.002611f, -0.012176f, -0.014067f, 0.001284f, -0.038806f, 0.021977f, 0.015747f, -0.002907f, -0.003170f, 0.007917f, -0.010040f, -0.009824f, -0.012485f, -0.016872f, - 0.013317f, -0.013937f, 0.021756f, 0.023107f, 0.024740f, 0.023856f, -0.005733f, -0.041839f, 0.000864f, 0.013605f, 0.039813f, -0.012908f, -0.001534f, 0.014064f, 0.027189f, 0.034358f, -0.007194f, 0.007436f, 0.034080f, 0.043730f, -0.029467f, -0.030860f, -0.041421f, 0.040752f, -0.002329f, -0.013801f, 0.015258f, 0.015001f, 0.038141f, 0.032303f, 0.003744f, 0.035257f, 0.048996f, 0.015519f, -0.022272f, 0.024757f, -0.020489f, -0.010288f, -0.002835f, -0.013358f, -0.016930f, 0.011959f, -0.007670f, -0.006980f, -0.020806f, 0.053722f, 0.008193f, -0.024958f, 0.001759f, -0.001270f, 0.024775f, 0.026815f, 0.011361f, -0.013471f, 0.026301f, -0.004071f, 0.016906f, -0.044350f, 0.004223f, 0.022247f, -0.018410f, 0.009529f, -0.020161f, -0.015026f, 0.050279f, 0.023071f, 0.016388f, -0.000397f, -0.041243f, -0.007367f, 0.014194f, 0.012438f, 0.008703f, -0.006917f, 0.035952f, -0.020655f, 0.020747f, -0.007774f, 0.014304f, 0.017537f, 0.028819f, 0.040483f, -0.040841f, 0.002963f, 0.023529f, 0.014969f, 0.032341f, 0.034501f, -0.040914f, 0.005316f, -0.010421f, -0.015975f, -0.000424f, -0.015177f, 0.010019f, 0.032470f, - 0.064808f, 0.002664f, -0.031047f, 0.008624f, -0.020756f, 0.013265f, -0.018018f, -0.019603f, 0.058928f, -0.044915f, 0.074006f, 0.045076f, -0.010827f, 0.014671f, 0.035853f, 0.004926f, -0.055602f, 0.021625f, -0.044969f, 0.010456f, 0.004243f, -0.022621f, 0.001209f, -0.003380f, 0.032542f, -0.016503f, -0.001299f, -0.001633f, -0.009465f, 0.067735f, -0.003529f, -0.010686f, 0.009204f, 0.022481f, -0.022769f, -0.049545f, 0.039197f, -0.006725f, -0.002426f, 0.043554f, -0.025372f, -0.007775f, -0.030276f, 0.007632f, -0.020932f, 0.024251f, 0.023683f, 0.046247f, -0.012708f, 0.012380f, 0.032170f, -0.045302f, 0.006313f, -0.029199f, -0.043885f, -0.058149f, -0.029151f, -0.062861f, -0.068592f, -0.010758f, 0.005624f, -0.033866f, -0.034062f, 0.020644f, -0.001177f, -0.021105f, -0.036608f, 0.025929f, -0.018764f, 0.005379f, 0.036209f, -0.067201f, -0.016785f, -0.014980f, 0.031313f, 0.071998f, 0.003372f, -0.019625f, 0.020230f, -0.010082f, -0.030806f, -0.045274f, -0.034495f, 0.036756f, -0.031306f, 0.014423f, 0.034972f, 0.014515f, 0.022208f, -0.043258f, 0.060453f, 0.037708f, 0.032640f, -0.025384f, 0.043096f, -0.005618f, - 0.028233f, 0.018202f, 0.005671f, 0.014925f, 0.020476f, 0.012045f, -0.007975f, -0.011857f, -0.010620f, 0.003417f, -0.030358f, -0.035790f, 0.018607f, 0.007531f, 0.010361f, -0.029736f, 0.006751f, 0.007479f, 0.020309f, 0.030610f, 0.046833f, -0.028472f, 0.006038f, 0.066826f, 0.013423f, 0.005789f, 0.005213f, -0.015702f, 0.003529f, 0.066249f, 0.018133f, 0.042189f, 0.010843f, -0.049084f, -0.021472f, -0.036411f, 0.096711f, 0.037866f, -0.040330f, -0.026290f, -0.036411f, 0.003204f, -0.024952f, -0.056348f, 0.009411f, -0.043488f, 0.057190f, -0.007241f, -0.053721f, 0.062816f, 0.049166f, 0.004687f, -0.019523f, 0.006686f, -0.036608f, 0.040548f, -0.047785f, 0.017608f, -0.007463f, 0.045472f, -0.098125f, -0.067444f, 0.037256f, 0.017546f, 0.012716f, 0.031823f, -0.034328f, -0.043884f, -0.025026f, -0.036221f, 0.018782f, -0.038761f, 0.009779f, 0.024757f, 0.040213f, 0.000870f, 0.033434f, 0.019853f, 0.004259f, -0.011514f, -0.037989f, -0.026065f, 0.019693f, -0.044865f, 0.021099f, 0.005055f, 0.036340f, 0.028869f, -0.015911f, -0.055557f, -0.037842f, -0.003316f, -0.004574f, -0.014553f, 0.036147f, -0.066889f, - -0.007110f, 0.002664f, -0.072241f, -0.000933f, -0.010680f, -0.005068f, 0.005433f, 0.041813f, -0.042250f, -0.109664f, 0.039008f, 0.045967f, 0.024529f, 0.087279f, -0.073324f, -0.007809f, 0.045391f, 0.038120f, -0.047096f, -0.018957f, -0.014960f, 0.069863f, 0.010571f, 0.067076f, -0.096623f, 0.016313f, -0.114817f, -0.063916f, -0.067926f, 0.080361f, 0.021200f, -0.045530f, 0.042119f, 0.009807f, -0.045676f, 0.048542f, -0.061475f, 0.034280f, 0.083970f, 0.031270f, -0.029855f, -0.019284f, 0.011675f, -0.020932f, -0.024891f, -0.002585f, 0.039015f, -0.006344f, 0.007276f, -0.040979f, -0.008622f, 0.057752f, -0.041868f, 0.032211f, 0.074630f, 0.037969f, -0.003354f, -0.013646f, -0.024808f, -0.047151f, -0.035427f, 0.041901f, -0.023786f, 0.039402f, 0.027505f, 0.014050f, 0.001419f, 0.015916f, -0.012376f, -0.059945f, -0.021598f, 0.044413f, 0.033927f, 0.037109f, -0.039076f, 0.067386f, -0.017748f, 0.026853f, -0.049786f, 0.046032f, 0.076607f, -0.014443f, -0.028374f, -0.001685f, 0.001967f, -0.015989f, 0.015980f, 0.035098f, -0.064461f, 0.042972f, 0.039388f, -0.008553f, 0.045775f, 0.026225f, 0.019092f, -0.028299f, - 0.004972f, 0.043376f, -0.089713f, -0.077355f, -0.034038f, 0.022382f, -0.041925f, -0.118343f, 0.049120f, 0.034322f, -0.016470f, -0.019010f, 0.000334f, -0.005973f, -0.040876f, -0.109688f, -0.004426f, -0.002141f, 0.040643f, 0.053909f, 0.001096f, -0.061007f, 0.080535f, -0.022766f, -0.056420f, 0.050335f, -0.008229f, -0.030750f, 0.038854f, 0.010310f, -0.008309f, 0.032756f, -0.045258f, 0.042626f, -0.015461f, 0.001281f, -0.013308f, -0.011372f, -0.063084f, 0.024712f, -0.024237f, 0.009706f, -0.025467f, -0.002294f, -0.019082f, 0.017769f, -0.011332f, 0.067693f, 0.011648f, 0.044176f, -0.017694f, 0.010817f, 0.027656f, -0.012256f, 0.018928f, -0.004203f, 0.033393f, -0.002088f, -0.012014f, 0.053243f, -0.048622f, 0.026301f, 0.035918f, -0.022013f, 0.040666f, -0.025941f, -0.001971f, 0.020776f, -0.017286f, 0.048160f, 0.042517f, 0.008398f, 0.071388f, -0.045555f, -0.104131f, -0.018101f, -0.065139f, -0.042904f, 0.148028f, -0.004828f, 0.043835f, -0.008132f, -0.065760f, -0.002924f, 0.060087f, 0.087684f, 0.050798f, 0.088014f, -0.052516f, -0.016842f, -0.026999f, -0.054797f, 0.026295f, 0.046913f, -0.046932f, 0.059007f, - -0.033631f, 0.009103f, 0.001206f, 0.007112f, -0.043083f, -0.005792f, -0.038793f, -0.032203f, 0.001573f, -0.012079f, -0.028823f, -0.011089f, 0.023798f, -0.024907f, 0.022110f, -0.011263f, 0.063858f, -0.027846f, 0.020313f, 0.004714f, -0.013655f, -0.049001f, -0.016440f, 0.038954f, 0.008824f, -0.011536f, 0.051892f, -0.035987f, -0.035128f, -0.004180f, 0.049821f, -0.042405f, -0.003748f, 0.009392f, 0.015334f, -0.047324f, 0.017043f, 0.017657f, -0.014590f, -0.049510f, 0.003694f, -0.038226f, 0.019527f, 0.009858f, 0.018119f, -0.076100f, -0.029670f, 0.044975f, 0.122061f, -0.052637f, -0.003717f, 0.010657f, -0.016066f, -0.032321f, 0.003578f, 0.100308f, 0.027398f, -0.008759f, -0.003752f, -0.024731f, -0.000673f, -0.018450f, 0.044398f, 0.003805f, -0.017863f, -0.024323f, 0.008967f, 0.020097f, -0.030625f, 0.033556f, 0.020057f, 0.036753f, 0.016364f, 0.045091f, -0.074081f, 0.101338f, 0.015101f, 0.024037f, 0.025305f, -0.021868f, -0.025344f, 0.002196f, -0.008958f, 0.015461f, 0.034287f, -0.045078f, 0.016659f, -0.008552f, 0.013383f, 0.012472f, 0.009202f, 0.027583f, 0.022022f, -0.018552f, 0.019953f, 0.017320f, - -0.014611f, -0.026471f, 0.009875f, -0.008642f, -0.021488f, 0.014897f, 0.012742f, -0.000785f, -0.013507f, 0.001573f, -0.009420f, -0.004170f, 0.002593f, 0.007097f, 0.012094f, -0.019548f, -0.001483f, 0.017683f, -0.005770f, 0.015979f, 0.004501f, 0.011833f, 0.023434f, 0.007534f, -0.020460f, 0.003420f, 0.022531f, -0.010687f, 0.000754f, 0.011133f, -0.033387f, -0.001075f, -0.006753f, -0.031838f, 0.047549f, -0.010528f, 0.000252f, 0.028027f, 0.006900f, -0.019296f, 0.010424f, -0.018426f, -0.001331f, 0.015962f, -0.015378f, -0.005687f, 0.036747f, -0.034901f, 0.007352f, 0.003926f, 0.016405f, -0.015299f, 0.016171f, -0.004846f, 0.019167f, -0.006821f, 0.023609f, -0.098966f, -0.201561f, -0.025806f, 0.126632f, 0.097500f, 0.279449f, 0.134640f, -0.065125f, -0.056680f, -0.132487f, -0.231762f, -0.029367f, -0.089669f, -0.027974f, 0.164127f, 0.104350f, 0.111812f, 0.213116f, -0.007109f, -0.047328f, -0.080036f, -0.211023f, -0.115981f, -0.037631f, -0.038735f, 0.005663f, 0.096470f, 0.074112f, 0.079423f, 0.148563f, 0.087620f, -0.055003f, 0.079912f, -0.083676f, -0.193887f, 0.024542f, -0.129890f, -0.181988f, 0.071515f, - -0.016005f, -0.032932f, 0.222868f, 0.073917f, 0.058885f, 0.193284f, -0.021177f, -0.037007f, 0.058027f, -0.128084f, -0.160875f, -0.042143f, -0.137885f, -0.121628f, 0.025301f, 0.027685f, 0.054704f, 0.169111f, 0.147923f, 0.091372f, 0.105804f, 0.022019f, -0.085083f, -0.089088f, -0.113181f, -0.152452f, -0.073104f, -0.037201f, -0.053618f, 0.048840f, 0.147164f, 0.099735f, 0.094220f, 0.082421f, -0.057406f, 0.005118f, 0.011821f, -0.094694f, -0.026192f, -0.013995f}, - {0.010523f, 0.001233f, -0.009159f, -0.002329f, -0.002385f, -0.001025f, -0.002392f, 0.004557f, 0.010740f, 0.001637f, 0.008729f, 0.003248f, -0.002100f, -0.004759f, 0.004082f, -0.001445f, 0.008632f, 0.006097f, -0.002946f, -0.005422f, -0.006346f, 0.003188f, -0.002123f, 0.000742f, -0.004603f, -0.001929f, -0.001176f, 0.003696f, -0.004506f, 0.003654f, -0.001447f, -0.005044f, 0.006486f, 0.006559f, 0.001073f, 0.002454f, 0.001303f, -0.001286f, -0.004234f, -0.013756f, 0.003805f, -0.004438f, 0.004191f, -0.004394f, -0.005325f, 0.003961f, -0.004692f, 0.002290f, 0.002512f, -0.009690f, 0.000403f, 0.001455f, 0.002411f, -0.003813f, 0.005131f, -0.005090f, -0.003276f, -0.001706f, -0.002315f, 0.003380f, -0.000562f, 0.001633f, 0.002908f, 0.004279f, -0.000754f, -0.004583f, -0.004632f, 0.000302f, -0.009714f, -0.004214f, -0.000897f, 0.008788f, 0.002650f, 0.003527f, 0.002741f, 0.004923f, -0.002073f, 0.004902f, 0.008563f, -0.006586f, -0.005715f, -0.008775f, 0.007741f, 0.003805f, 0.000573f, 0.011506f, -0.001274f, -0.000253f, -0.003666f, -0.002982f, 0.002406f, -0.003214f, -0.006168f, 0.003297f, 0.000866f, 0.009591f, - 0.013137f, -0.003560f, -0.007919f, -0.009718f, -0.000727f, -0.005604f, -0.005419f, -0.003743f, -0.000865f, -0.007765f, 0.007242f, -0.002854f, -0.003024f, -0.005176f, -0.003868f, 0.001298f, 0.008143f, -0.000979f, -0.002533f, 0.002385f, -0.008284f, 0.005985f, -0.005228f, -0.018367f, 0.008891f, 0.005891f, 0.009887f, 0.010302f, 0.001812f, 0.005362f, -0.005627f, 0.001415f, 0.007709f, 0.000480f, -0.000301f, -0.002044f, -0.001271f, 0.004093f, -0.004095f, -0.002936f, -0.000066f, 0.003867f, -0.003639f, -0.004342f, -0.006433f, 0.007616f, 0.002721f, 0.000747f, -0.002349f, -0.008067f, -0.000812f, 0.005527f, 0.002940f, -0.001545f, -0.002417f, 0.005114f, -0.002144f, -0.027383f, 0.014247f, -0.001369f, 0.000378f, 0.004943f, 0.006964f, -0.010213f, -0.001328f, -0.001849f, 0.005782f, 0.002194f, -0.006274f, 0.019442f, -0.002126f, -0.001223f, 0.008615f, 0.007092f, 0.002278f, 0.004917f, 0.015835f, -0.007878f, 0.000447f, -0.004023f, 0.001536f, -0.004904f, 0.000339f, 0.000482f, 0.001724f, -0.008833f, 0.000693f, -0.002132f, -0.003388f, -0.000393f, 0.005468f, -0.003071f, 0.005074f, 0.007486f, -0.013030f, 0.001727f, - -0.005355f, -0.001451f, -0.008070f, 0.003954f, -0.004838f, -0.000836f, -0.002787f, -0.008125f, 0.002968f, -0.005465f, 0.003557f, 0.001994f, -0.004155f, -0.005938f, 0.000026f, 0.005424f, 0.003941f, 0.009889f, 0.004403f, -0.004373f, -0.012434f, -0.000908f, 0.001912f, 0.015299f, -0.005050f, -0.002475f, -0.000480f, -0.003175f, -0.008387f, -0.004058f, -0.007894f, -0.001321f, 0.005698f, -0.001866f, 0.006745f, 0.003974f, 0.002907f, 0.003360f, -0.004609f, 0.020586f, 0.011022f, -0.002621f, -0.007444f, 0.012048f, -0.012753f, -0.001611f, 0.008022f, -0.004895f, -0.003381f, -0.005128f, 0.013787f, -0.004026f, 0.004668f, 0.001731f, 0.004619f, 0.018650f, -0.017514f, 0.006021f, 0.009660f, -0.005398f, -0.016165f, -0.008096f, -0.000554f, 0.001697f, -0.001784f, -0.002377f, 0.007617f, 0.010872f, -0.000245f, -0.006567f, 0.001146f, -0.008490f, 0.003335f, -0.005069f, 0.003844f, 0.011607f, 0.004608f, -0.010244f, 0.000326f, 0.001399f, 0.016949f, 0.003799f, 0.008800f, -0.001586f, 0.004259f, 0.003646f, -0.019098f, 0.001127f, 0.010004f, 0.005167f, 0.011120f, -0.008398f, -0.005021f, -0.008325f, 0.003186f, 0.006855f, - -0.001191f, 0.003001f, 0.001220f, -0.003588f, 0.002483f, -0.002368f, 0.003888f, 0.004165f, 0.000089f, 0.006140f, 0.001788f, 0.000742f, 0.002965f, 0.013420f, 0.003046f, 0.008167f, 0.008640f, 0.041812f, -0.010028f, -0.003261f, -0.005626f, 0.009006f, 0.006265f, 0.014586f, 0.006216f, -0.001523f, 0.007382f, 0.000235f, 0.008190f, 0.003426f, 0.011133f, 0.000720f, 0.009464f, 0.011892f, -0.011949f, 0.002736f, 0.003990f, 0.002560f, 0.002723f, 0.003258f, -0.006784f, 0.000393f, -0.007913f, -0.000860f, 0.000450f, -0.014308f, -0.009201f, 0.004027f, 0.000723f, -0.000186f, 0.006643f, 0.006036f, -0.002176f, -0.012376f, 0.004619f, 0.011666f, 0.008351f, 0.010870f, -0.002017f, 0.005950f, 0.011423f, -0.017423f, 0.006457f, 0.007867f, -0.007800f, 0.010977f, -0.006671f, -0.001540f, 0.001999f, 0.002153f, -0.004914f, 0.005107f, -0.000584f, -0.002079f, -0.005112f, -0.005133f, 0.007101f, 0.005900f, 0.003791f, 0.005725f, 0.010441f, 0.004742f, 0.014138f, -0.003257f, -0.013541f, 0.013562f, 0.003522f, 0.006156f, 0.004242f, -0.003462f, 0.005146f, 0.001357f, 0.002380f, 0.007935f, 0.017481f, -0.021719f, - 0.013133f, 0.002209f, 0.013446f, 0.002594f, -0.008893f, 0.001948f, 0.010124f, -0.013806f, -0.003678f, 0.000861f, -0.015736f, -0.003550f, -0.012331f, -0.007567f, -0.009266f, -0.009674f, 0.002869f, -0.014699f, -0.009808f, -0.011798f, -0.003923f, 0.010392f, 0.002853f, -0.014035f, -0.006386f, -0.014631f, -0.004640f, 0.002679f, 0.019206f, -0.016792f, 0.005533f, -0.004533f, -0.007241f, -0.012552f, -0.000690f, 0.001793f, 0.011761f, 0.006607f, 0.000309f, -0.011306f, -0.020622f, -0.000463f, 0.004227f, 0.014981f, 0.003811f, 0.004759f, -0.012685f, 0.004037f, 0.007918f, 0.000750f, -0.000135f, -0.005902f, -0.007597f, -0.001850f, 0.003786f, 0.001220f, -0.005636f, 0.000442f, -0.014160f, -0.001321f, -0.012308f, 0.007102f, -0.004213f, 0.007266f, -0.012287f, -0.007642f, -0.016223f, -0.000385f, -0.011360f, -0.002225f, 0.001076f, -0.011276f, -0.008454f, 0.005058f, 0.005095f, -0.008884f, -0.051093f, 0.008031f, 0.005660f, -0.014892f, -0.003413f, -0.000265f, 0.000383f, -0.003031f, -0.005001f, -0.003992f, -0.015237f, 0.011410f, -0.007421f, 0.001355f, -0.012682f, -0.004747f, 0.018175f, 0.016249f, -0.010531f, -0.006617f, - 0.000492f, -0.000596f, -0.008625f, -0.010348f, -0.007121f, 0.000866f, 0.000787f, -0.000035f, -0.001016f, 0.003902f, -0.012394f, 0.003518f, 0.000473f, -0.022299f, -0.002572f, -0.006947f, 0.010100f, 0.014249f, 0.002378f, -0.002986f, 0.000804f, -0.013267f, -0.015974f, 0.008200f, 0.016052f, 0.017291f, -0.004636f, 0.002789f, 0.010501f, 0.010220f, -0.005356f, 0.009388f, 0.016226f, -0.001133f, 0.013699f, 0.010985f, -0.013253f, 0.003945f, 0.000990f, 0.014017f, -0.008660f, -0.009906f, 0.008554f, 0.010541f, -0.003169f, 0.000578f, -0.015669f, 0.010800f, -0.008713f, 0.011484f, -0.019615f, 0.001939f, 0.004714f, 0.009364f, 0.000553f, -0.008077f, -0.016634f, -0.020177f, 0.006549f, -0.017876f, 0.021617f, 0.020795f, 0.000193f, -0.029176f, 0.011442f, 0.001213f, -0.005833f, 0.019429f, -0.000391f, -0.017539f, -0.002305f, 0.021170f, -0.027545f, 0.000462f, -0.007264f, -0.021743f, -0.006440f, 0.000007f, -0.004711f, -0.011313f, 0.005784f, -0.009430f, 0.006846f, -0.008082f, -0.014996f, 0.007355f, -0.001617f, 0.010731f, -0.022086f, 0.008447f, 0.016403f, -0.007155f, 0.000835f, 0.016711f, 0.024355f, -0.006954f, - -0.005666f, -0.021321f, 0.000643f, -0.017639f, -0.002010f, -0.012366f, -0.000006f, 0.001393f, 0.009453f, 0.004538f, 0.008574f, -0.006921f, 0.001052f, 0.005433f, -0.001747f, 0.022743f, -0.015938f, -0.007790f, 0.029579f, 0.030163f, -0.006703f, -0.002137f, -0.019800f, -0.009953f, 0.000225f, -0.005471f, -0.013395f, 0.018215f, 0.004865f, -0.004885f, 0.026119f, 0.005185f, -0.013774f, -0.000291f, -0.025599f, -0.012169f, -0.014842f, 0.024345f, -0.006614f, -0.000361f, 0.016711f, -0.004095f, 0.009817f, -0.005517f, -0.021507f, -0.001431f, -0.000132f, -0.004425f, -0.012829f, -0.014147f, 0.007169f, -0.011200f, 0.019576f, -0.006081f, -0.014566f, 0.012247f, 0.024587f, -0.006150f, 0.006705f, -0.006647f, 0.014070f, 0.000354f, -0.030461f, 0.010792f, 0.016444f, 0.001728f, -0.005360f, -0.017478f, 0.014351f, 0.009920f, 0.009087f, 0.002014f, 0.005558f, 0.019783f, -0.014344f, 0.002560f, 0.003377f, -0.010847f, -0.021722f, 0.020322f, 0.010689f, 0.037727f, -0.002509f, 0.016720f, -0.006166f, -0.011678f, 0.001318f, -0.001706f, -0.001280f, -0.003218f, -0.013062f, 0.027150f, -0.000256f, 0.002258f, 0.002860f, -0.003620f, - 0.021161f, 0.002964f, 0.017436f, 0.007897f, 0.001836f, 0.019999f, -0.010832f, -0.022212f, -0.006044f, 0.004151f, 0.001001f, -0.009277f, 0.008700f, -0.006817f, -0.033817f, 0.002274f, 0.003013f, -0.018541f, 0.020792f, -0.031843f, 0.006387f, 0.015687f, 0.022892f, -0.022015f, -0.002305f, 0.016562f, 0.011879f, 0.014272f, 0.003372f, 0.029046f, 0.006235f, 0.012606f, -0.002453f, 0.002622f, 0.012633f, 0.007311f, 0.014431f, 0.002015f, -0.017503f, -0.026141f, 0.015446f, 0.007905f, -0.004069f, 0.004134f, 0.009184f, -0.024404f, 0.001353f, -0.015053f, 0.008616f, 0.000071f, 0.017764f, -0.004386f, 0.008589f, -0.002900f, 0.005490f, 0.003210f, 0.000503f, 0.010291f, 0.013721f, 0.005408f, 0.008491f, -0.018929f, 0.009508f, -0.002570f, -0.033313f, -0.022083f, 0.007258f, -0.024366f, -0.000341f, 0.021827f, -0.013804f, 0.042446f, 0.016515f, -0.007446f, 0.024103f, 0.001970f, -0.005740f, -0.015850f, -0.014873f, -0.022153f, -0.001753f, 0.014383f, -0.014538f, -0.001148f, 0.017082f, 0.007737f, 0.010772f, 0.031346f, 0.006349f, 0.020850f, 0.003119f, 0.004969f, -0.029144f, 0.010433f, 0.006488f, -0.017245f, - -0.000614f, 0.010632f, -0.000233f, 0.007404f, -0.017617f, 0.013468f, -0.001131f, 0.003777f, 0.012665f, -0.023900f, -0.016316f, 0.004063f, -0.000342f, 0.012734f, 0.026798f, -0.002777f, 0.006683f, 0.028479f, -0.010692f, -0.019860f, -0.001113f, 0.020723f, -0.004558f, -0.024702f, 0.001966f, 0.008535f, -0.004759f, -0.008075f, -0.001770f, 0.030717f, -0.005932f, 0.026331f, 0.020317f, 0.023934f, 0.001357f, 0.001368f, 0.014325f, 0.004127f, -0.004987f, 0.004321f, -0.019442f, 0.013850f, 0.024520f, 0.014567f, 0.002048f, 0.012793f, -0.010859f, 0.009542f, -0.010595f, 0.014332f, -0.014028f, -0.000882f, -0.001295f, -0.002325f, 0.043454f, -0.007888f, -0.002738f, -0.005274f, 0.005706f, 0.010443f, 0.022552f, 0.024507f, -0.014915f, 0.004354f, 0.025448f, -0.016819f, -0.019079f, 0.008528f, -0.009039f, 0.008526f, 0.048458f, -0.026821f, 0.001416f, 0.000653f, -0.015850f, -0.003379f, -0.017384f, -0.027178f, -0.020978f, -0.028282f, -0.011118f, 0.002566f, 0.021814f, 0.015889f, 0.005578f, 0.022807f, 0.006672f, 0.013680f, 0.012814f, -0.006982f, 0.019973f, 0.021340f, 0.015235f, -0.030370f, -0.016917f, -0.017898f, - 0.006223f, -0.012583f, 0.000594f, 0.007708f, -0.008836f, -0.021724f, 0.013373f, -0.010730f, 0.004655f, 0.003686f, 0.021246f, -0.023137f, 0.034556f, -0.035108f, 0.035331f, -0.000981f, 0.017717f, -0.018113f, 0.006234f, -0.039232f, -0.021298f, -0.019617f, 0.016916f, 0.006738f, 0.024539f, -0.003502f, 0.000028f, -0.013523f, -0.030526f, 0.018881f, -0.016561f, -0.009903f, 0.014829f, 0.033556f, 0.033950f, 0.014498f, -0.001919f, -0.024135f, 0.013780f, -0.036400f, -0.002294f, -0.021343f, 0.011757f, 0.036218f, -0.035701f, 0.011607f, 0.017415f, -0.024208f, -0.001597f, -0.005569f, 0.013288f, -0.016651f, -0.020958f, 0.002791f, -0.008767f, -0.031659f, -0.027311f, -0.031606f, -0.010212f, 0.017298f, -0.024567f, 0.013164f, -0.033056f, -0.007516f, -0.013774f, -0.012978f, -0.026525f, -0.004191f, -0.010949f, -0.016910f, 0.010276f, -0.018639f, 0.016250f, 0.001728f, 0.012360f, -0.024031f, -0.042648f, -0.005518f, 0.006914f, -0.019330f, -0.014119f, 0.004552f, 0.003858f, -0.022309f, -0.011014f, 0.026382f, 0.012455f, -0.006035f, 0.014250f, 0.038789f, 0.000093f, 0.002870f, 0.002879f, -0.005503f, -0.001967f, 0.003630f, - 0.004253f, -0.034052f, -0.012688f, -0.041113f, -0.013354f, -0.038570f, -0.018069f, -0.000689f, 0.040996f, 0.016907f, -0.021792f, -0.027230f, 0.014762f, 0.030326f, 0.020160f, -0.017833f, 0.024710f, -0.012779f, -0.002558f, -0.047794f, -0.013775f, -0.009112f, -0.005872f, -0.034036f, -0.049049f, 0.011896f, -0.000087f, -0.039787f, 0.009423f, 0.051512f, 0.008002f, 0.001413f, -0.034035f, -0.008890f, 0.001749f, 0.000544f, -0.034888f, 0.022490f, -0.034394f, -0.007092f, 0.007898f, -0.016521f, 0.039066f, -0.032528f, -0.033812f, -0.027193f, 0.037674f, 0.017071f, -0.022533f, -0.019801f, -0.013790f, -0.004008f, -0.012530f, -0.012123f, 0.001253f, 0.014452f, 0.036951f, -0.003889f, 0.015297f, 0.014286f, 0.012773f, -0.024753f, -0.032214f, -0.022113f, 0.025389f, -0.004092f, 0.030981f, 0.011135f, -0.004592f, -0.043145f, -0.036773f, -0.003058f, 0.001700f, -0.024669f, -0.017143f, -0.011164f, -0.013533f, -0.056538f, -0.013913f, -0.013130f, -0.022212f, -0.009176f, -0.015160f, -0.025301f, 0.016759f, 0.036884f, 0.018032f, 0.002176f, 0.019150f, 0.028150f, -0.011695f, 0.009898f, 0.004569f, 0.004149f, -0.003551f, -0.005227f, - 0.016224f, 0.009356f, 0.028765f, -0.005422f, 0.000015f, 0.013401f, 0.058834f, 0.001644f, 0.029283f, 0.044574f, -0.007969f, -0.033327f, -0.001879f, 0.040259f, -0.000780f, -0.025848f, -0.036112f, -0.026584f, 0.038116f, 0.028587f, -0.056005f, 0.021703f, 0.026471f, -0.007321f, 0.020023f, 0.059062f, 0.007536f, 0.015520f, -0.016654f, 0.016054f, -0.017775f, -0.010131f, -0.008120f, 0.007223f, 0.017312f, 0.023288f, -0.000004f, 0.011463f, -0.003218f, -0.000253f, -0.007942f, 0.018042f, 0.055759f, -0.014038f, -0.014185f, 0.022232f, 0.016238f, 0.005214f, -0.035604f, 0.028273f, -0.027806f, 0.020974f, 0.024934f, 0.005877f, 0.008470f, -0.002880f, 0.039250f, 0.031062f, 0.003194f, 0.022106f, -0.011681f, 0.027004f, 0.006801f, 0.030094f, 0.041432f, 0.002935f, 0.012690f, -0.001147f, -0.011268f, 0.002999f, 0.019755f, 0.023033f, -0.033819f, -0.018137f, 0.011658f, 0.044366f, -0.016298f, 0.031099f, 0.020923f, 0.009926f, -0.039660f, 0.010231f, 0.010021f, -0.045824f, 0.033648f, -0.022914f, -0.030335f, -0.058529f, 0.019786f, 0.046182f, -0.013295f, -0.028266f, 0.012763f, 0.052975f, 0.034000f, 0.013887f, - 0.040148f, 0.028859f, -0.010610f, -0.080052f, 0.008954f, 0.039018f, 0.018644f, 0.007859f, -0.035091f, -0.001049f, -0.024256f, 0.004691f, -0.002482f, 0.005621f, 0.011845f, 0.015621f, 0.007046f, -0.044252f, 0.024997f, -0.007163f, 0.007621f, 0.031556f, 0.012728f, 0.004838f, -0.011582f, 0.039299f, -0.001231f, 0.038981f, -0.048843f, -0.015948f, 0.015973f, -0.030202f, -0.024363f, 0.000067f, -0.006046f, -0.024143f, 0.003089f, 0.033886f, -0.000673f, 0.000456f, -0.018202f, -0.041043f, -0.024265f, -0.013251f, 0.016850f, -0.006491f, 0.004491f, -0.021493f, -0.020106f, -0.012639f, 0.031884f, -0.023868f, 0.018767f, 0.009402f, 0.010999f, 0.000723f, -0.031150f, -0.048679f, -0.002703f, 0.027662f, -0.036992f, 0.015243f, -0.031668f, 0.017232f, -0.033350f, -0.005194f, -0.032863f, 0.044571f, -0.042895f, -0.030086f, 0.012378f, 0.003917f, 0.022900f, 0.014246f, -0.010945f, -0.009262f, 0.013334f, -0.066704f, -0.008581f, 0.021296f, 0.005976f, -0.015111f, -0.023157f, 0.003269f, -0.021963f, -0.001102f, -0.034467f, 0.034274f, -0.012264f, 0.021856f, -0.045116f, -0.025107f, 0.000072f, 0.057633f, -0.045254f, -0.002924f, - -0.035193f, -0.027713f, -0.007766f, 0.036561f, -0.007190f, 0.016876f, 0.017637f, -0.017641f, -0.039115f, 0.057813f, 0.025727f, -0.031174f, 0.007370f, 0.005416f, 0.016728f, -0.030232f, 0.029389f, -0.001175f, -0.058065f, 0.007631f, 0.013015f, 0.016688f, -0.047871f, -0.010276f, 0.007396f, 0.044746f, 0.009461f, 0.025676f, -0.062023f, -0.036803f, 0.020709f, 0.001755f, 0.042629f, -0.009220f, -0.005617f, 0.005118f, 0.022385f, 0.021308f, 0.008762f, -0.078257f, 0.024120f, -0.006996f, 0.019887f, 0.045451f, -0.012088f, -0.001031f, -0.047547f, 0.018960f, 0.023577f, -0.022384f, -0.014034f, 0.048215f, 0.071034f, 0.022763f, 0.011535f, -0.014535f, -0.058942f, -0.038845f, -0.013923f, -0.001440f, -0.033928f, 0.025446f, -0.069491f, 0.002507f, -0.042972f, 0.021043f, -0.016439f, -0.047680f, -0.004946f, -0.013444f, -0.017297f, -0.054181f, -0.039727f, 0.010344f, 0.041312f, -0.029048f, 0.051192f, -0.045051f, -0.029843f, 0.008715f, -0.005051f, 0.022822f, -0.015424f, -0.016189f, -0.022166f, -0.006736f, -0.073585f, -0.021701f, 0.001471f, -0.003863f, -0.012766f, -0.029375f, 0.022321f, -0.026043f, 0.038405f, -0.012681f, - -0.005357f, -0.028194f, -0.025886f, -0.048844f, -0.021431f, 0.017343f, 0.007005f, -0.003359f, 0.002901f, -0.017761f, -0.013319f, -0.022726f, -0.018916f, 0.009577f, 0.014310f, 0.006541f, -0.041892f, 0.047867f, 0.006674f, -0.020881f, 0.038709f, 0.027500f, 0.046231f, -0.008561f, 0.027346f, -0.062471f, -0.033060f, -0.058874f, 0.061431f, -0.018921f, -0.040597f, -0.039764f, -0.083993f, -0.035047f, 0.061916f, -0.002859f, -0.027766f, 0.014855f, 0.074460f, 0.095565f, -0.009716f, -0.043121f, -0.010785f, -0.016547f, -0.043783f, 0.018183f, 0.000495f, -0.031588f, 0.091061f, 0.031541f, -0.022528f, -0.063931f, -0.006522f, 0.015107f, 0.015891f, 0.018438f, 0.043016f, -0.012811f, -0.022651f, 0.020485f, -0.080643f, -0.053345f, -0.021832f, -0.005795f, 0.007482f, -0.042587f, -0.039968f, 0.040957f, 0.031431f, -0.025045f, -0.049418f, 0.030644f, -0.000347f, 0.054054f, -0.045237f, -0.009994f, -0.016328f, -0.002611f, -0.036128f, -0.051610f, 0.042043f, -0.031925f, -0.021766f, -0.039364f, -0.010389f, 0.026338f, 0.022961f, -0.015726f, 0.001818f, 0.004830f, 0.031124f, 0.050476f, 0.035269f, -0.064158f, -0.032710f, -0.037991f, - -0.011367f, 0.022140f, 0.006205f, -0.043903f, -0.065118f, 0.053671f, 0.001582f, -0.052693f, -0.089017f, 0.043679f, -0.012967f, 0.023013f, 0.020594f, 0.021920f, 0.002497f, 0.014789f, -0.033078f, -0.017667f, 0.009090f, 0.034252f, 0.042273f, -0.051220f, -0.042918f, 0.124006f, -0.009434f, -0.011500f, -0.018010f, -0.038377f, -0.003738f, 0.045141f, 0.072074f, -0.032339f, -0.019404f, -0.006623f, -0.032057f, -0.007448f, -0.017852f, 0.029126f, -0.028916f, 0.033264f, 0.016043f, -0.010453f, -0.040521f, -0.002259f, -0.016375f, 0.062386f, -0.033303f, -0.000020f, 0.000660f, -0.005302f, 0.028446f, -0.016879f, -0.001732f, 0.013721f, -0.007817f, -0.059217f, 0.031338f, -0.026463f, -0.031101f, -0.006288f, -0.033177f, -0.018618f, -0.060823f, 0.060060f, 0.003539f, -0.038087f, -0.071281f, 0.043258f, -0.041601f, -0.040280f, 0.001630f, -0.031022f, 0.015785f, 0.028085f, 0.083403f, -0.021837f, 0.033612f, -0.005325f, -0.038039f, -0.032053f, -0.007957f, 0.125282f, -0.106743f, -0.006096f, 0.116002f, -0.101802f, -0.036287f, 0.060533f, -0.004858f, -0.044727f, 0.114419f, -0.052017f, -0.016390f, 0.060481f, -0.072153f, 0.068926f, - -0.009206f, -0.039269f, 0.038072f, 0.014809f, -0.004468f, 0.009738f, 0.007079f, -0.005793f, 0.015297f, -0.012114f, -0.016375f, -0.006210f, -0.023528f, -0.019193f, -0.046137f, -0.016231f, 0.043904f, 0.041566f, -0.057871f, 0.022472f, 0.034260f, 0.029134f, -0.007996f, -0.057002f, -0.002999f, -0.026966f, -0.067146f, 0.046356f, 0.113856f, -0.061420f, -0.004440f, 0.081743f, -0.019950f, -0.025601f, 0.066879f, 0.050431f, 0.026197f, -0.023180f, -0.049103f, 0.020120f, -0.018333f, -0.029825f, 0.119369f, 0.088757f, -0.067354f, -0.048645f, 0.065969f, -0.111545f, -0.037237f, -0.029141f, -0.016532f, 0.083763f, 0.056773f, 0.038785f, 0.042117f, -0.130960f, -0.043282f, 0.132636f, 0.078454f, 0.019656f, -0.030022f, 0.049044f, -0.040638f, -0.086416f, -0.056037f, 0.050478f, -0.027803f, -0.000627f, 0.058371f, 0.103819f, -0.003666f, -0.044500f, 0.018027f, 0.051667f, -0.113109f, 0.050477f, 0.001637f, -0.010636f, 0.059586f, -0.008889f, -0.043083f, 0.023270f, 0.021338f, 0.058266f, 0.033516f, -0.029882f, 0.002770f, 0.009900f, 0.040311f, 0.010144f, -0.043995f, -0.000684f, -0.001449f, 0.010256f, -0.040826f, -0.044721f, - 0.067484f, -0.022851f, -0.068193f, 0.036731f, 0.062752f, -0.033591f, -0.010587f, 0.005090f, 0.043425f, -0.049318f, -0.064903f, 0.019193f, 0.057116f, -0.011072f, -0.022530f, -0.012777f, -0.012304f, 0.025327f, 0.011701f, 0.015536f, 0.142172f, 0.008785f, -0.016570f, 0.002915f, 0.005893f, 0.077021f, 0.003932f, -0.026068f, 0.018721f, -0.058505f, -0.033249f, 0.016325f, 0.002052f, 0.066226f, 0.053736f, -0.032751f, -0.007855f, -0.030973f, 0.003635f, 0.024132f, 0.008258f, 0.007875f, 0.025986f, -0.016356f, -0.066372f, 0.017925f, 0.049968f, -0.022026f, 0.045036f, -0.064377f, 0.034796f, 0.018507f, -0.050279f, 0.008006f, 0.008500f, -0.022033f, 0.035526f, -0.077503f, -0.246333f, -0.290766f, -0.029615f, -0.202794f, 0.074387f, 0.481573f, 0.257237f, 0.390458f, 0.411570f, -0.048837f, -0.123547f, 0.031848f, -0.306396f, -0.373475f, -0.118104f, -0.410737f, -0.330674f, 0.079319f, -0.238933f, -0.067603f, 0.464840f, 0.166171f, 0.327535f, 0.568958f, 0.336902f, 0.148970f, 0.112212f, 0.037212f, -0.258731f, -0.320758f, -0.108456f, -0.436824f, -0.437544f, 0.054007f, -0.328087f, -0.269392f, 0.156520f, -0.276046f, - -0.284240f, 0.209026f, 0.082707f, -0.041548f, 0.497022f, 0.465836f, 0.295989f, 0.632666f, 0.595563f, 0.202160f, 0.235419f, 0.183577f, -0.303999f, -0.303979f, -0.384388f, -0.758024f, -0.894930f, -0.643369f, -0.640880f, -0.472231f, 0.015292f, 0.043676f, 0.311361f, 0.539493f, 0.664786f, 0.607021f, 0.704483f, 0.605433f, 0.359743f, 0.245404f, 0.088322f, -0.106947f, -0.250885f, -0.358890f, -0.297171f, -0.433306f, -0.462534f, -0.278542f, -0.133698f, -0.066015f} - }, - { - {-0.000387f, 0.003966f, 0.004430f, 0.012898f, -0.001574f, 0.002067f, 0.001524f, -0.000787f, 0.007292f, 0.005492f, -0.010060f, -0.005690f, -0.009159f, -0.005399f, -0.001026f, -0.006505f, 0.000105f, 0.000704f, 0.000466f, -0.000907f, -0.000582f, -0.008937f, -0.001421f, 0.002066f, 0.003452f, -0.004293f, 0.005535f, 0.001699f, -0.004441f, -0.002937f, 0.001016f, 0.005526f, -0.001841f, -0.001914f, -0.002757f, -0.007439f, 0.001494f, -0.009652f, -0.000804f, -0.004791f, -0.004409f, -0.003184f, 0.002028f, -0.003266f, -0.005482f, -0.003852f, -0.000562f, -0.002800f, -0.007660f, -0.003264f, -0.002159f, -0.001943f, -0.005691f, 0.000797f, -0.002763f, 0.006634f, 0.001325f, -0.007673f, -0.004419f, 0.009380f, -0.002790f, 0.002623f, -0.005097f, 0.002508f, 0.004292f, 0.003953f, -0.006923f, 0.003582f, 0.004978f, 0.003624f, -0.000348f, -0.004138f, -0.002657f, -0.003767f, 0.002586f, -0.001166f, 0.001968f, -0.017090f, -0.020271f, 0.009721f, 0.000125f, 0.014906f, 0.005068f, 0.006342f, 0.003847f, 0.005807f, -0.000696f, -0.000622f, -0.003988f, -0.010478f, -0.006351f, 0.002273f, -0.001054f, -0.002253f, -0.001759f, 0.004966f, - 0.003592f, -0.000320f, 0.004243f, -0.004886f, -0.012046f, 0.003284f, -0.003275f, 0.000928f, -0.006462f, 0.004235f, -0.005417f, -0.002731f, -0.002541f, 0.007877f, -0.002602f, -0.000415f, -0.004107f, -0.001258f, -0.009965f, 0.002817f, -0.002282f, 0.004708f, -0.005137f, 0.000302f, -0.002831f, -0.007722f, 0.001593f, -0.001013f, -0.002800f, 0.003049f, 0.005308f, -0.001521f, -0.004584f, -0.011125f, 0.000133f, -0.006702f, 0.002117f, -0.000115f, -0.005108f, -0.000382f, -0.002749f, -0.001723f, -0.008837f, 0.004885f, -0.007990f, 0.003661f, -0.003818f, -0.004827f, -0.005093f, -0.008540f, 0.003403f, 0.000239f, 0.001005f, 0.004808f, -0.006757f, -0.008895f, 0.003983f, -0.028955f, 0.000000f, -0.003549f, 0.008010f, 0.000496f, 0.003262f, -0.002059f, 0.004120f, 0.001121f, 0.003632f, -0.003000f, 0.019176f, -0.003710f, -0.002397f, -0.007701f, 0.002975f, -0.009371f, -0.002898f, 0.001178f, -0.004524f, 0.000394f, 0.007168f, 0.004449f, 0.002860f, 0.005166f, 0.006954f, -0.007691f, -0.002922f, 0.000369f, 0.004484f, -0.007191f, 0.007741f, -0.005908f, -0.003079f, 0.006634f, -0.000965f, 0.002009f, -0.004633f, 0.006220f, - 0.006012f, 0.006932f, -0.009467f, -0.002249f, 0.010562f, 0.000582f, -0.001418f, -0.001581f, 0.011488f, 0.008183f, 0.008915f, 0.000981f, -0.001920f, -0.001760f, -0.000496f, 0.000672f, 0.001412f, 0.004353f, -0.010847f, 0.000023f, -0.004992f, -0.005406f, -0.000734f, 0.003015f, -0.005575f, 0.002749f, -0.004231f, -0.000268f, -0.001632f, 0.001308f, 0.003941f, 0.005101f, -0.001805f, 0.000472f, -0.002218f, -0.006869f, -0.001573f, 0.010296f, 0.012132f, -0.007861f, 0.001402f, -0.006657f, 0.011150f, 0.002319f, -0.004113f, -0.005996f, -0.005244f, -0.000839f, 0.001730f, 0.003197f, 0.014736f, -0.008215f, -0.000990f, -0.003062f, 0.006007f, -0.015716f, -0.001498f, 0.010571f, 0.000104f, 0.008939f, 0.004198f, 0.007240f, 0.007582f, 0.003468f, -0.000992f, -0.007186f, 0.002909f, -0.001753f, 0.001389f, 0.012332f, 0.003462f, 0.010641f, -0.004939f, -0.002429f, 0.001255f, -0.013428f, 0.002105f, 0.010725f, -0.002530f, 0.001377f, -0.008113f, 0.006952f, 0.000400f, 0.003343f, -0.009654f, 0.006482f, -0.006271f, -0.003340f, -0.006547f, -0.007910f, 0.005516f, 0.002196f, -0.002032f, -0.003731f, -0.003336f, -0.002375f, - -0.001241f, 0.005447f, -0.003863f, -0.007821f, -0.012244f, 0.013017f, 0.010408f, 0.001418f, -0.012018f, 0.005043f, -0.004972f, 0.006393f, -0.002655f, 0.002367f, -0.006023f, -0.003335f, -0.007541f, -0.002354f, 0.005155f, 0.049793f, -0.018495f, 0.022308f, -0.017729f, 0.001521f, 0.005287f, 0.005236f, -0.014642f, -0.004968f, -0.004928f, -0.024499f, -0.000150f, 0.001296f, -0.008850f, -0.001429f, -0.000131f, 0.017516f, 0.003209f, -0.012220f, 0.008887f, 0.009738f, 0.002134f, 0.017755f, -0.013251f, -0.004837f, -0.007110f, 0.003744f, 0.014164f, -0.001040f, 0.000828f, 0.005283f, -0.002622f, 0.006345f, 0.002784f, 0.016239f, -0.002551f, 0.006354f, -0.010756f, 0.009696f, -0.007577f, 0.010824f, -0.000331f, -0.011368f, -0.001856f, 0.016355f, -0.000895f, 0.011052f, 0.006465f, 0.010623f, 0.000737f, -0.008482f, -0.007102f, 0.000127f, -0.005368f, 0.008697f, 0.005506f, -0.008726f, 0.000859f, -0.006840f, 0.011175f, -0.003223f, 0.008839f, 0.010977f, 0.001445f, 0.011306f, -0.001096f, -0.005651f, -0.002547f, -0.007188f, -0.000471f, 0.014831f, -0.010377f, -0.009823f, -0.004907f, 0.004009f, -0.005073f, -0.041562f, - 0.004447f, -0.012300f, -0.008829f, -0.013479f, -0.016333f, 0.006320f, 0.014419f, -0.002270f, 0.005545f, 0.002220f, 0.007353f, 0.001614f, 0.000443f, 0.004426f, -0.008993f, 0.020533f, -0.001178f, -0.012065f, 0.013416f, -0.004201f, 0.005632f, -0.013586f, -0.008523f, -0.009643f, 0.004039f, 0.002459f, 0.010472f, 0.000265f, -0.006685f, 0.001053f, -0.005981f, -0.006504f, -0.007270f, -0.002536f, -0.010078f, -0.005097f, 0.009181f, -0.008689f, -0.000720f, -0.006804f, -0.010684f, -0.004749f, 0.001221f, 0.003357f, 0.006614f, -0.005358f, -0.004983f, 0.006609f, 0.001064f, 0.002472f, 0.001672f, 0.004084f, 0.006142f, -0.010151f, -0.003470f, -0.001055f, -0.014264f, 0.003732f, -0.001062f, 0.008276f, -0.008372f, -0.006401f, -0.007814f, 0.001281f, 0.008785f, 0.006731f, 0.015535f, 0.010304f, -0.009562f, 0.003724f, -0.004270f, 0.007079f, 0.004745f, -0.010824f, -0.053484f, 0.013818f, -0.016426f, -0.013804f, -0.010114f, 0.001095f, -0.003422f, 0.030418f, 0.002390f, 0.006752f, -0.004141f, -0.000575f, -0.013452f, 0.011991f, 0.003031f, -0.002553f, 0.001873f, 0.015858f, -0.008978f, -0.003583f, 0.003144f, 0.000425f, - 0.007633f, -0.007970f, -0.003945f, 0.008403f, 0.002663f, 0.007675f, 0.000308f, -0.009692f, -0.006559f, 0.004276f, -0.001585f, -0.003809f, -0.006304f, -0.004007f, -0.001101f, 0.014908f, 0.003221f, -0.003647f, -0.000428f, 0.000343f, -0.005537f, 0.010484f, 0.007871f, -0.003540f, -0.012694f, 0.002118f, -0.007123f, 0.009893f, 0.007506f, -0.009277f, 0.002390f, -0.011767f, -0.010600f, -0.009436f, -0.011641f, -0.004635f, 0.001354f, -0.007389f, -0.000528f, -0.008080f, -0.007139f, 0.011392f, 0.006678f, -0.011536f, -0.015497f, 0.000537f, 0.010637f, -0.010414f, -0.008550f, 0.009088f, 0.006136f, 0.010479f, -0.027969f, -0.002922f, 0.004529f, 0.013352f, -0.002780f, -0.007265f, 0.003032f, 0.019689f, -0.025160f, 0.005612f, -0.005202f, -0.004843f, -0.011382f, 0.006570f, -0.020164f, -0.013264f, 0.006799f, -0.010699f, 0.006256f, 0.028361f, -0.005135f, 0.011331f, -0.013508f, 0.013576f, -0.003645f, 0.003889f, -0.012102f, 0.005398f, 0.003386f, -0.006693f, 0.002815f, -0.001538f, -0.006214f, -0.000650f, 0.007847f, 0.012065f, -0.009623f, -0.015603f, -0.012152f, -0.011517f, 0.001498f, 0.008784f, 0.023949f, -0.000509f, - 0.016159f, 0.016576f, -0.015558f, 0.011795f, -0.022904f, -0.008634f, 0.001570f, -0.010449f, -0.009405f, 0.006169f, -0.022126f, -0.004603f, 0.015664f, -0.006876f, -0.005643f, 0.001870f, -0.006600f, 0.006175f, -0.006526f, 0.010727f, 0.014288f, -0.004011f, 0.004633f, 0.000487f, -0.013924f, 0.001152f, -0.008880f, -0.006395f, -0.010869f, 0.006333f, 0.005352f, -0.010969f, 0.001865f, 0.005787f, 0.066203f, -0.002903f, -0.025752f, -0.002997f, -0.000816f, 0.002750f, 0.008644f, 0.003623f, -0.002665f, -0.002487f, -0.012758f, -0.006015f, 0.007739f, 0.016287f, -0.012803f, -0.008137f, 0.011157f, 0.001019f, -0.003452f, 0.004432f, -0.000621f, -0.015174f, -0.015115f, 0.021250f, -0.001520f, -0.001294f, -0.003074f, 0.010902f, -0.000369f, 0.001146f, 0.007408f, -0.011630f, 0.012799f, 0.005053f, 0.002510f, 0.004598f, 0.012812f, -0.029719f, -0.012719f, -0.007378f, 0.027788f, 0.003290f, 0.002578f, -0.008674f, -0.008705f, 0.007823f, -0.000678f, 0.009060f, -0.002812f, -0.019374f, 0.002587f, 0.001761f, -0.002301f, 0.008548f, 0.004688f, 0.001726f, 0.015672f, 0.035975f, -0.002359f, -0.004113f, 0.014576f, 0.003098f, - -0.003817f, 0.008273f, 0.029176f, -0.004831f, 0.005966f, 0.008451f, 0.008773f, 0.005112f, 0.007970f, 0.005587f, 0.006788f, -0.011410f, 0.011420f, 0.014922f, -0.005431f, 0.013037f, 0.014563f, -0.019149f, -0.005711f, -0.016314f, 0.015642f, 0.029406f, -0.014437f, -0.003666f, -0.016518f, -0.007439f, -0.019932f, 0.013728f, -0.012222f, -0.005277f, -0.001423f, -0.000247f, -0.007993f, -0.010082f, 0.017626f, -0.016519f, -0.006046f, 0.001407f, 0.012025f, 0.012475f, -0.018621f, -0.005922f, 0.007092f, -0.016446f, 0.009042f, -0.013163f, -0.005167f, 0.004149f, 0.000386f, -0.007464f, -0.001895f, 0.003261f, 0.020790f, 0.001991f, 0.004758f, -0.000588f, -0.017633f, 0.018758f, -0.009383f, -0.015161f, 0.011769f, -0.011012f, -0.011548f, 0.014589f, -0.006713f, 0.001250f, -0.003156f, 0.001322f, 0.020319f, -0.004191f, 0.004778f, -0.018334f, -0.001068f, 0.019614f, 0.004913f, 0.019394f, 0.017709f, -0.006585f, -0.004019f, -0.024460f, 0.004074f, -0.004909f, 0.016111f, 0.018141f, -0.010450f, 0.003746f, -0.033995f, -0.010498f, 0.012088f, -0.012984f, 0.018508f, 0.012209f, -0.014886f, 0.005490f, -0.013912f, -0.001236f, - -0.018896f, 0.031783f, -0.009016f, 0.002474f, -0.009698f, -0.028351f, 0.016769f, 0.006153f, -0.021202f, 0.013632f, -0.009444f, -0.006719f, 0.007686f, 0.030177f, -0.014679f, 0.029179f, -0.000392f, -0.019794f, 0.001014f, 0.007162f, -0.017638f, 0.020095f, -0.010160f, 0.015014f, 0.031743f, 0.003581f, -0.014644f, -0.003625f, -0.001574f, 0.007773f, -0.012459f, -0.006313f, -0.001607f, 0.016149f, -0.005486f, -0.005668f, -0.020628f, -0.000088f, -0.024413f, -0.003869f, 0.027763f, -0.005550f, 0.015814f, 0.002201f, 0.004226f, -0.035596f, 0.000501f, -0.022472f, 0.018717f, 0.033380f, 0.010021f, 0.009054f, 0.001984f, 0.005810f, -0.019040f, 0.007692f, 0.010082f, -0.007380f, -0.002442f, -0.006321f, -0.004857f, 0.015976f, 0.000255f, 0.019262f, 0.054483f, 0.021610f, 0.005428f, -0.016705f, -0.017314f, -0.008627f, 0.011131f, -0.013955f, -0.008288f, 0.055545f, -0.032323f, -0.002282f, -0.016802f, -0.030354f, -0.040077f, 0.009269f, -0.013862f, 0.009909f, -0.038024f, 0.005760f, 0.011521f, 0.010318f, -0.016854f, -0.034922f, -0.027924f, -0.023554f, -0.001248f, -0.014270f, -0.026007f, -0.018205f, -0.010106f, -0.021334f, - -0.015490f, 0.001977f, 0.023683f, -0.002020f, 0.002035f, -0.002252f, -0.023778f, 0.012338f, -0.003590f, 0.002690f, -0.006525f, -0.015995f, 0.010939f, -0.019600f, -0.027178f, 0.021688f, -0.026544f, 0.003705f, -0.001775f, -0.036228f, -0.022458f, 0.012518f, -0.002149f, 0.015705f, -0.012694f, -0.038280f, -0.001633f, 0.000248f, 0.012423f, 0.013836f, 0.033332f, -0.021065f, -0.072984f, -0.025896f, -0.025755f, 0.015258f, -0.047923f, -0.016453f, -0.008977f, -0.043314f, -0.015351f, -0.001150f, -0.009114f, -0.008275f, 0.008534f, -0.011573f, -0.001575f, -0.010582f, 0.009866f, -0.024513f, 0.009559f, 0.021524f, -0.022912f, -0.032214f, 0.013819f, 0.017191f, -0.004745f, -0.005438f, -0.015812f, -0.017184f, 0.042570f, 0.016334f, -0.038622f, 0.014667f, -0.020841f, -0.000863f, -0.018940f, -0.039007f, 0.012224f, -0.019670f, -0.008423f, 0.003036f, 0.001486f, -0.008805f, -0.033782f, -0.019594f, 0.016913f, -0.019283f, -0.000412f, -0.016798f, -0.028214f, -0.009286f, 0.031526f, 0.006872f, 0.005621f, -0.025514f, -0.009228f, -0.003611f, -0.003656f, 0.013251f, 0.013658f, 0.019978f, 0.021819f, -0.008432f, 0.012164f, 0.006757f, - -0.013000f, 0.010343f, -0.021705f, -0.015942f, -0.016491f, 0.009739f, -0.019049f, 0.003844f, -0.028472f, -0.021402f, -0.013224f, 0.032246f, 0.021959f, 0.025476f, 0.023542f, -0.018687f, 0.029603f, 0.004915f, 0.013099f, 0.046001f, -0.009625f, -0.003243f, 0.005669f, -0.015342f, 0.007021f, -0.004250f, -0.027476f, 0.009115f, 0.019573f, -0.018752f, -0.019914f, 0.004296f, 0.020398f, -0.009390f, -0.016504f, -0.037560f, 0.041475f, -0.033639f, 0.042970f, 0.023751f, 0.015928f, 0.008656f, 0.016449f, 0.017943f, 0.016515f, 0.046238f, -0.017156f, 0.002608f, -0.003871f, -0.008806f, -0.002168f, 0.005107f, -0.005114f, 0.008311f, -0.003810f, 0.013954f, 0.011538f, -0.003380f, -0.008922f, -0.047528f, -0.017474f, -0.034691f, -0.002391f, 0.017122f, 0.017207f, 0.004959f, 0.008333f, 0.012690f, 0.010260f, 0.012259f, 0.032598f, 0.049141f, 0.032593f, 0.005907f, -0.007321f, -0.010533f, -0.015346f, 0.016582f, 0.016776f, 0.019036f, -0.015923f, -0.012668f, -0.019536f, -0.004044f, 0.023190f, -0.000804f, 0.027967f, -0.018782f, 0.014356f, 0.008280f, 0.024846f, -0.055943f, -0.040630f, -0.017322f, -0.023517f, -0.023854f, - 0.005140f, -0.010629f, 0.032720f, 0.008675f, -0.040308f, -0.004860f, 0.060095f, -0.022822f, 0.017076f, -0.011469f, 0.022915f, -0.014229f, -0.010875f, -0.001607f, -0.027801f, -0.014333f, 0.021563f, 0.008940f, 0.015702f, 0.042202f, 0.002888f, 0.027912f, 0.041261f, 0.028341f, -0.019808f, -0.043635f, -0.002211f, -0.020514f, 0.045355f, 0.012385f, 0.035278f, -0.006051f, -0.020055f, -0.008033f, -0.021805f, 0.007391f, -0.016936f, 0.001017f, -0.018770f, 0.008449f, -0.013892f, -0.006519f, -0.029687f, -0.029723f, -0.003518f, -0.042171f, 0.021900f, 0.014529f, -0.012955f, 0.020062f, -0.010651f, 0.007159f, 0.022880f, -0.027094f, -0.034694f, 0.004989f, -0.007999f, 0.056189f, 0.023825f, -0.063996f, -0.017458f, -0.018997f, -0.032883f, -0.035513f, -0.070634f, 0.011174f, -0.025523f, -0.007830f, 0.009765f, 0.001278f, 0.014220f, -0.004105f, -0.008476f, -0.054595f, 0.006254f, -0.025619f, 0.006572f, 0.029728f, 0.006735f, 0.019371f, -0.031384f, -0.043750f, 0.009053f, 0.024337f, 0.018403f, 0.007896f, 0.017927f, 0.025039f, 0.035755f, 0.032536f, 0.075273f, 0.049443f, 0.069023f, 0.003735f, -0.014530f, -0.048199f, - -0.014663f, 0.007088f, 0.010330f, -0.012163f, -0.037270f, -0.014130f, 0.059626f, 0.023994f, -0.008955f, 0.017502f, -0.001966f, -0.023127f, -0.007060f, -0.015467f, 0.040507f, -0.004212f, 0.001842f, 0.016643f, 0.000607f, 0.018995f, -0.000759f, 0.027317f, -0.026755f, 0.031611f, 0.006113f, -0.016545f, -0.009776f, -0.018239f, 0.029112f, -0.042416f, -0.044857f, 0.026630f, 0.045856f, 0.000708f, 0.031497f, 0.042493f, -0.050086f, 0.014902f, 0.009612f, -0.004390f, -0.000973f, 0.005616f, -0.019134f, 0.032737f, -0.021514f, -0.018593f, 0.013415f, -0.000259f, -0.004313f, -0.010170f, -0.010918f, 0.002733f, -0.033350f, -0.012198f, 0.025732f, -0.034851f, -0.008117f, -0.024552f, 0.000096f, 0.062414f, -0.021320f, 0.000987f, 0.016622f, -0.003226f, -0.016039f, -0.044829f, 0.038707f, 0.013941f, -0.083862f, 0.014449f, 0.016795f, -0.034227f, -0.081667f, 0.072156f, 0.042890f, 0.022699f, 0.015858f, 0.035512f, -0.082444f, 0.033460f, 0.037613f, 0.015971f, -0.052925f, 0.028976f, 0.052800f, 0.024342f, 0.058231f, 0.021069f, 0.000583f, -0.002659f, -0.002292f, -0.010339f, 0.024346f, 0.041268f, 0.039131f, 0.013457f, - -0.012774f, -0.021132f, 0.004307f, -0.019316f, -0.022754f, 0.022680f, 0.015186f, 0.003851f, -0.022945f, -0.022124f, -0.005652f, -0.019372f, 0.008516f, 0.047128f, -0.009636f, -0.016288f, 0.014914f, 0.007784f, 0.012808f, 0.015737f, -0.005186f, -0.010741f, 0.036768f, 0.024253f, 0.010690f, 0.015651f, -0.005205f, -0.039687f, 0.006505f, 0.023812f, 0.000639f, -0.030275f, 0.035055f, 0.007872f, 0.049520f, -0.000356f, 0.043660f, 0.002445f, -0.020172f, -0.008109f, 0.006053f, 0.064223f, -0.014963f, 0.020171f, 0.008885f, 0.026949f, 0.006915f, -0.006225f, -0.015197f, 0.012264f, 0.076650f, -0.010651f, -0.010323f, -0.051870f, 0.059364f, 0.000268f, 0.052713f, 0.002393f, 0.004770f, -0.045638f, -0.013057f, -0.019964f, 0.037049f, 0.010118f, 0.017202f, 0.010441f, -0.034476f, 0.004527f, 0.004321f, -0.030569f, -0.043635f, -0.045182f, 0.017125f, -0.016255f, 0.043538f, 0.003267f, -0.011739f, -0.010081f, 0.010673f, -0.015472f, 0.004362f, 0.013065f, -0.015981f, 0.010645f, 0.015876f, 0.005513f, 0.005802f, 0.032416f, 0.055194f, -0.009844f, 0.001399f, 0.027414f, 0.023829f, 0.032683f, -0.021951f, -0.008841f, - 0.011609f, -0.031490f, 0.005078f, 0.003204f, -0.040448f, 0.055089f, -0.000662f, 0.027951f, 0.025884f, 0.017012f, -0.030209f, 0.003306f, 0.029689f, -0.022253f, 0.051220f, 0.013627f, -0.015830f, 0.040683f, 0.032731f, 0.021368f, -0.066278f, -0.013998f, 0.015632f, -0.023504f, 0.005577f, -0.038396f, -0.007878f, -0.058186f, -0.015298f, -0.009416f, -0.015613f, -0.064867f, -0.008223f, -0.017476f, 0.070446f, 0.033735f, 0.030111f, 0.023363f, -0.010412f, 0.015999f, 0.036687f, 0.035435f, 0.017823f, -0.034564f, -0.040524f, 0.023445f, -0.002187f, 0.017966f, -0.004227f, 0.041381f, -0.024159f, -0.002152f, -0.005711f, 0.036526f, -0.020697f, 0.061271f, 0.074901f, 0.075887f, 0.008507f, -0.009818f, 0.015810f, -0.005824f, 0.021778f, 0.000464f, 0.003708f, -0.017656f, -0.053891f, -0.015826f, -0.051424f, 0.035327f, 0.034131f, -0.030793f, -0.021469f, -0.030907f, -0.011877f, -0.001571f, 0.079924f, 0.004243f, -0.034477f, -0.038208f, 0.001659f, 0.056244f, 0.029463f, -0.102946f, -0.017534f, -0.015594f, 0.018063f, 0.043027f, -0.042064f, -0.011557f, -0.023479f, 0.015028f, -0.059035f, 0.034160f, -0.006731f, 0.001313f, - 0.021057f, 0.005165f, -0.027460f, 0.064465f, -0.003195f, 0.031603f, 0.069065f, 0.137926f, 0.083637f, -0.001039f, 0.046781f, 0.069385f, 0.088572f, 0.094742f, 0.023602f, 0.051044f, 0.020299f, -0.009680f, -0.026819f, 0.039066f, -0.040685f, 0.078089f, -0.005339f, -0.009376f, 0.004652f, 0.063257f, -0.036193f, -0.002509f, 0.001338f, 0.005365f, 0.024328f, -0.010561f, 0.033667f, 0.015532f, -0.003096f, 0.012120f, 0.006127f, 0.029326f, -0.071696f, -0.018148f, 0.000069f, 0.013234f, -0.005126f, -0.048505f, 0.046428f, 0.003238f, 0.008005f, 0.021925f, -0.033464f, -0.010035f, -0.080167f, 0.027897f, -0.017676f, 0.022095f, 0.061076f, -0.009770f, 0.013692f, -0.000860f, 0.029473f, -0.041778f, -0.064563f, 0.064593f, -0.004780f, 0.012535f, 0.010084f, 0.065512f, 0.042129f, 0.058239f, -0.000952f, -0.058292f, 0.039346f, 0.027675f, -0.016458f, -0.014179f, 0.036988f, 0.003071f, 0.046670f, 0.090007f, 0.060001f, 0.021835f, 0.003225f, 0.070722f, -0.014215f, 0.031153f, 0.044957f, -0.018389f, 0.051833f, 0.050168f, 0.015254f, -0.021069f, -0.024737f, -0.030662f, -0.005348f, -0.003460f, -0.103189f, 0.022922f, - -0.017364f, -0.004733f, 0.079961f, 0.033705f, -0.025337f, -0.020348f, -0.000394f, -0.052848f, -0.063577f, 0.004344f, 0.000650f, -0.036890f, 0.038156f, 0.003404f, -0.036407f, 0.021914f, 0.069403f, -0.010610f, -0.039271f, 0.023524f, -0.022819f, -0.027051f, 0.013585f, 0.054436f, -0.017434f, 0.006507f, 0.016302f, -0.019076f, -0.040680f, -0.029257f, 0.056525f, 0.017509f, -0.053271f, 0.044625f, 0.019745f, -0.039551f, -0.017974f, 0.074630f, -0.023287f, -0.061345f, -0.028445f, 0.099735f, -0.098844f, -0.049305f, 0.062058f, -0.029748f, -0.030062f, -0.098892f, 0.077554f, -0.064431f, 0.024802f, 0.000194f, -0.008569f, -0.111675f, -0.028888f, 0.089653f, 0.062018f, -0.076831f, -0.016435f, -0.035338f, -0.011122f, 0.011372f, 0.024353f, 0.020345f, -0.123840f, 0.066139f, 0.058334f, 0.052275f, 0.005381f, 0.025235f, -0.058867f, -0.060126f, 0.110727f, 0.041244f, -0.084115f, 0.015296f, 0.106476f, 0.033657f, 0.012036f, 0.003449f, 0.008650f, 0.045909f, 0.062852f, -0.013710f, 0.012351f, 0.016544f, -0.009931f, 0.037925f, -0.018970f, -0.004884f, -0.014141f, 0.029189f, 0.022215f, -0.011393f, 0.020515f, -0.027887f, - -0.022125f, 0.029069f, -0.017583f, 0.031885f, -0.020138f, -0.009094f, 0.000334f, 0.017506f, -0.000104f, 0.013058f, 0.006206f, 0.032359f, -0.021999f, -0.004456f, 0.001619f, -0.012683f, 0.032154f, 0.027049f, -0.021162f, -0.007839f, -0.012549f, 0.007180f, -0.027563f, 0.015509f, 0.010063f, 0.014209f, -0.010250f, -0.008761f, 0.036639f, -0.042582f, -0.006053f, 0.017837f, -0.010196f, -0.007853f, 0.019883f, -0.052385f, 0.014036f, -0.019068f, 0.004599f, -0.018684f, 0.046710f, -0.014872f, -0.017909f, 0.018405f, -0.008562f, -0.029708f, 0.059289f, -0.001581f, 0.007928f, -0.012631f, -0.019701f, -0.025441f, 0.032278f, -0.030915f, -0.009979f, 0.026240f, -0.080321f, -0.224455f, -0.184641f, 0.095419f, 0.026374f, 0.220224f, 0.394662f, 0.057369f, 0.123475f, 0.043965f, -0.317289f, -0.101364f, -0.215684f, -0.260450f, 0.005906f, 0.039882f, -0.109394f, 0.155065f, 0.203534f, 0.113520f, 0.325427f, 0.186971f, -0.043382f, -0.079049f, -0.152966f, -0.296623f, -0.234394f, -0.070184f, -0.209147f, -0.030446f, 0.178033f, 0.028468f, 0.040461f, 0.269634f, 0.137036f, 0.084088f, 0.281409f, 0.042095f, -0.079266f, 0.109062f, - -0.149251f, -0.294650f, -0.123898f, -0.248799f, -0.310780f, -0.005912f, -0.065792f, -0.082854f, 0.205106f, 0.225923f, 0.143556f, 0.341585f, 0.275648f, 0.129280f, 0.117099f, 0.067179f, -0.229950f, -0.211832f, -0.267625f, -0.353361f, -0.283130f, -0.120038f, -0.082267f, 0.006631f, 0.202540f, 0.246053f, 0.258287f, 0.247356f, 0.230211f, 0.049736f, 0.006617f, -0.036712f, -0.169894f, -0.186156f, -0.100231f, -0.181902f, -0.041978f, 0.022171f, 0.002014f}, - {-0.001329f, 0.002296f, 0.006628f, 0.008642f, 0.000113f, -0.004743f, 0.006038f, 0.003391f, 0.007143f, 0.008806f, -0.003533f, -0.001013f, -0.007112f, 0.003974f, 0.001243f, -0.002997f, -0.008503f, 0.002850f, 0.004328f, 0.005820f, 0.000336f, -0.008059f, -0.004587f, 0.004665f, -0.005540f, 0.004872f, -0.001200f, 0.001632f, 0.001913f, 0.001833f, -0.008173f, 0.002557f, 0.002996f, -0.005618f, -0.009468f, -0.009054f, 0.000491f, 0.000723f, 0.001863f, -0.000543f, 0.000070f, -0.002627f, 0.004379f, -0.000777f, 0.003823f, -0.005796f, -0.000726f, 0.006083f, 0.011223f, 0.000880f, -0.000236f, 0.001456f, 0.006569f, 0.004245f, -0.008038f, 0.002104f, 0.003937f, 0.002497f, 0.000020f, 0.004284f, 0.003871f, 0.002459f, 0.002503f, 0.001537f, -0.002070f, -0.004696f, 0.006075f, 0.002632f, -0.003753f, -0.000720f, -0.003076f, 0.004070f, -0.000081f, -0.002792f, 0.003409f, 0.002277f, 0.001675f, -0.019901f, -0.024173f, 0.011876f, -0.004587f, 0.010354f, -0.005445f, -0.005593f, -0.010912f, 0.002301f, 0.002089f, -0.000711f, -0.000006f, -0.001438f, -0.008377f, -0.001194f, -0.004861f, -0.005640f, -0.005278f, -0.000448f, - 0.000456f, -0.000665f, -0.001079f, 0.003807f, -0.001280f, -0.012676f, 0.007575f, 0.003566f, -0.004367f, 0.000962f, -0.000255f, -0.000151f, 0.001614f, 0.007688f, -0.004569f, 0.000176f, -0.014180f, 0.006707f, 0.001273f, 0.002857f, 0.004757f, 0.007583f, -0.004513f, -0.003680f, -0.001688f, -0.007401f, 0.000484f, -0.001401f, 0.006037f, -0.003632f, -0.000486f, -0.003776f, -0.003980f, 0.007082f, -0.005660f, -0.003085f, 0.000659f, -0.005475f, 0.004222f, -0.000583f, -0.002411f, 0.004198f, 0.008439f, 0.000110f, -0.000323f, -0.001621f, 0.007239f, -0.007629f, 0.000095f, -0.001597f, 0.003823f, -0.002270f, -0.003235f, 0.007312f, -0.000092f, 0.001044f, -0.002202f, -0.028829f, 0.004607f, 0.003132f, 0.009762f, -0.004169f, 0.002776f, 0.011408f, -0.004775f, 0.002947f, -0.007334f, -0.010604f, 0.003522f, -0.007292f, -0.008334f, -0.008315f, 0.002151f, 0.002854f, -0.014079f, 0.007880f, 0.005082f, -0.002573f, -0.005349f, 0.003001f, -0.001560f, -0.003366f, 0.000688f, 0.004347f, 0.003064f, 0.007078f, 0.001085f, -0.002449f, 0.007186f, -0.004007f, 0.016058f, 0.003465f, 0.009756f, 0.003665f, 0.008509f, 0.003716f, - 0.005747f, 0.003074f, 0.000360f, 0.000104f, 0.012028f, 0.001864f, -0.002380f, 0.000576f, 0.006154f, 0.004602f, 0.000305f, -0.000813f, -0.002970f, 0.001118f, 0.014705f, 0.004067f, 0.006551f, -0.007599f, -0.004222f, -0.008011f, -0.005351f, -0.007800f, 0.005134f, 0.003221f, -0.005294f, -0.003761f, 0.002841f, -0.003945f, 0.003209f, -0.002088f, -0.001718f, -0.005628f, -0.009351f, 0.003258f, -0.014851f, -0.002581f, -0.003766f, 0.016415f, 0.022490f, -0.006460f, 0.006283f, -0.010677f, -0.000262f, 0.000996f, 0.028640f, -0.002554f, -0.007163f, -0.011859f, 0.000605f, 0.008478f, 0.013346f, -0.002580f, -0.016775f, -0.004555f, -0.006198f, -0.004300f, 0.006130f, -0.000879f, 0.011197f, 0.001596f, -0.005832f, -0.013436f, 0.004470f, -0.000897f, 0.003536f, -0.001260f, 0.001886f, 0.007194f, 0.002812f, -0.016969f, 0.002423f, 0.011632f, 0.005835f, 0.001829f, 0.003012f, -0.002329f, 0.008090f, -0.009805f, -0.000666f, 0.008983f, -0.005512f, 0.000517f, 0.014130f, -0.005833f, -0.000304f, -0.004115f, 0.008833f, -0.008339f, -0.006265f, 0.004737f, -0.008892f, -0.003921f, 0.012399f, 0.007751f, -0.010392f, -0.003254f, - -0.001249f, -0.001912f, -0.004537f, 0.004674f, -0.003844f, 0.005301f, 0.000226f, 0.001598f, 0.002286f, 0.010105f, -0.000715f, 0.013640f, 0.006745f, -0.008397f, -0.004254f, -0.003376f, 0.007502f, 0.003398f, -0.000093f, 0.052424f, -0.019996f, 0.010276f, -0.015381f, -0.002002f, 0.000065f, -0.001537f, -0.008373f, 0.003884f, 0.005621f, 0.001033f, -0.006220f, -0.012696f, -0.000928f, 0.007042f, 0.004847f, -0.005829f, -0.009698f, -0.001184f, 0.007782f, 0.014646f, -0.008619f, -0.001532f, -0.006629f, -0.013640f, 0.000989f, -0.007077f, 0.003514f, -0.005351f, 0.009773f, -0.018460f, 0.011670f, -0.001228f, -0.011244f, 0.002188f, 0.004003f, -0.001696f, -0.006209f, -0.000069f, 0.013570f, -0.000950f, 0.001780f, -0.002407f, 0.004845f, 0.002079f, -0.003896f, -0.005700f, -0.012176f, 0.007120f, -0.003025f, -0.003803f, 0.003842f, -0.000304f, -0.020131f, 0.014605f, -0.021645f, -0.012467f, -0.015557f, 0.002857f, -0.002482f, 0.008576f, -0.005653f, 0.004428f, -0.009792f, 0.004018f, -0.003263f, -0.003911f, -0.010889f, 0.005830f, 0.005793f, 0.011713f, -0.004230f, -0.001240f, 0.001595f, -0.003650f, -0.000692f, -0.041691f, - 0.004303f, 0.000454f, -0.003481f, -0.006434f, 0.007373f, -0.005672f, 0.004942f, -0.001525f, 0.000023f, 0.006704f, 0.008888f, -0.005455f, 0.006585f, -0.001955f, -0.003438f, -0.011787f, -0.000435f, -0.015912f, -0.011460f, 0.013801f, 0.005127f, -0.005523f, -0.001801f, -0.001784f, 0.009839f, 0.004927f, -0.004778f, 0.008618f, 0.006058f, 0.003244f, 0.003255f, 0.003518f, 0.006926f, 0.005520f, 0.005925f, 0.015284f, 0.014241f, 0.005747f, 0.001797f, -0.010000f, 0.011022f, -0.014727f, 0.003104f, -0.004391f, 0.011935f, -0.009213f, -0.011157f, 0.019203f, -0.004291f, -0.011027f, -0.009096f, 0.014094f, 0.009288f, -0.000046f, 0.007835f, 0.009986f, 0.005192f, 0.016486f, -0.000698f, -0.003464f, 0.010079f, 0.005136f, 0.000913f, -0.000517f, -0.008586f, 0.004367f, 0.005936f, 0.012772f, 0.006029f, 0.007429f, -0.004893f, -0.008434f, -0.014563f, -0.004775f, -0.056389f, 0.014141f, -0.012672f, -0.018317f, -0.018169f, 0.010014f, -0.013709f, 0.008770f, -0.017022f, 0.008179f, 0.006754f, 0.003960f, -0.017902f, 0.010962f, -0.001091f, 0.006369f, -0.015011f, 0.007176f, 0.015781f, 0.012090f, -0.000468f, -0.006640f, - 0.001402f, -0.004254f, -0.018962f, -0.004281f, -0.009631f, 0.003497f, -0.012321f, 0.009113f, 0.008517f, -0.004363f, -0.001458f, 0.012797f, -0.003994f, 0.008510f, -0.008387f, -0.012214f, 0.004970f, -0.000739f, 0.005155f, 0.015937f, 0.008856f, -0.001117f, -0.029883f, -0.014242f, -0.005206f, 0.003518f, -0.005671f, 0.015360f, -0.026222f, 0.007471f, 0.002050f, -0.000646f, 0.006436f, -0.003596f, 0.010680f, -0.026467f, -0.013682f, 0.009828f, -0.027811f, -0.005124f, 0.010641f, 0.004187f, -0.007500f, -0.017659f, 0.004712f, 0.011247f, 0.006389f, -0.003074f, -0.020429f, -0.001360f, -0.002094f, -0.001565f, -0.025480f, 0.003471f, 0.005038f, 0.021117f, -0.018648f, 0.022987f, 0.007052f, -0.001195f, -0.004524f, -0.001816f, 0.002823f, -0.015769f, -0.002363f, 0.005814f, -0.004584f, -0.009036f, -0.001784f, 0.016021f, -0.015147f, -0.002934f, 0.016865f, 0.000607f, -0.005466f, 0.006172f, -0.006879f, 0.012301f, 0.006114f, 0.000364f, 0.006855f, -0.006329f, -0.009771f, -0.000265f, 0.001849f, 0.009317f, -0.017817f, -0.009679f, -0.007234f, -0.005332f, -0.004457f, -0.005220f, 0.004011f, 0.001431f, 0.002794f, -0.013577f, - -0.013195f, -0.010968f, 0.001742f, -0.017567f, -0.008615f, 0.011383f, -0.005887f, 0.002958f, 0.002666f, 0.000246f, 0.006110f, 0.007046f, 0.007797f, 0.007934f, 0.012444f, -0.001186f, 0.013427f, 0.000023f, 0.007841f, -0.000125f, -0.005270f, 0.000500f, -0.009637f, 0.008464f, -0.011451f, 0.014321f, -0.012780f, 0.001249f, -0.012857f, 0.003356f, -0.012273f, -0.013257f, 0.012850f, 0.021386f, 0.073791f, 0.001966f, -0.019880f, 0.004405f, -0.010303f, 0.030092f, -0.003670f, 0.009268f, 0.003190f, 0.002524f, -0.024407f, -0.011930f, 0.015187f, 0.013546f, -0.019014f, -0.002387f, 0.000444f, 0.019010f, 0.009835f, 0.007952f, 0.018562f, 0.003919f, 0.002193f, 0.016376f, -0.004276f, -0.021975f, 0.004464f, 0.018897f, 0.011519f, -0.005504f, 0.001388f, 0.013558f, 0.008562f, 0.004599f, 0.000371f, -0.011756f, 0.007351f, -0.012881f, 0.002435f, -0.025340f, 0.008002f, 0.009473f, -0.001127f, -0.010945f, 0.017915f, 0.010200f, -0.002476f, 0.014475f, 0.007082f, -0.009713f, 0.021303f, 0.003576f, -0.006164f, 0.006127f, 0.021819f, 0.004689f, 0.000489f, -0.015859f, -0.009094f, 0.003966f, 0.008075f, 0.025282f, - -0.006789f, -0.007750f, 0.003077f, 0.014648f, -0.007342f, -0.008479f, 0.000079f, 0.019122f, 0.013314f, -0.002277f, -0.012285f, 0.001446f, 0.015890f, -0.003874f, 0.031527f, 0.015414f, 0.007748f, -0.026856f, -0.003628f, -0.014103f, 0.025047f, -0.010806f, 0.011197f, 0.001237f, 0.015376f, 0.005315f, 0.001540f, -0.002461f, 0.005759f, -0.008575f, -0.011865f, -0.031742f, -0.023432f, 0.006288f, 0.019345f, 0.025802f, -0.010705f, -0.014435f, -0.012353f, 0.004768f, -0.007083f, -0.002662f, -0.001787f, 0.002331f, 0.003444f, 0.016707f, -0.010257f, 0.000337f, 0.003825f, 0.007428f, -0.009318f, -0.007886f, -0.014964f, -0.011193f, -0.010577f, -0.018601f, -0.044000f, -0.001999f, -0.006310f, -0.020213f, 0.003741f, -0.003665f, -0.024010f, 0.006335f, -0.020393f, 0.003506f, -0.002787f, -0.003299f, 0.009825f, 0.011445f, -0.000664f, -0.021249f, 0.005496f, -0.014033f, -0.013718f, 0.016937f, 0.016796f, 0.017017f, -0.006289f, 0.001103f, 0.002442f, -0.011685f, 0.001480f, -0.006755f, 0.029660f, -0.007108f, -0.002961f, -0.005256f, -0.000088f, -0.020505f, -0.022394f, 0.008552f, -0.028358f, 0.010656f, 0.003534f, 0.030222f, - -0.020185f, -0.011247f, -0.006709f, 0.016278f, -0.015338f, -0.014451f, 0.013242f, 0.009243f, -0.015571f, -0.015299f, -0.015407f, -0.033878f, 0.022340f, 0.021493f, 0.022212f, -0.009209f, 0.006883f, 0.022666f, -0.032401f, 0.000542f, 0.020873f, 0.020120f, 0.008606f, 0.000522f, -0.010614f, 0.002765f, -0.005306f, -0.027189f, 0.003154f, 0.008325f, 0.003677f, 0.019207f, -0.016721f, 0.002541f, -0.030900f, -0.003023f, 0.005493f, -0.015823f, 0.005902f, 0.006080f, 0.013003f, 0.017639f, 0.022491f, -0.003663f, -0.009784f, -0.026794f, -0.020689f, 0.009833f, 0.040230f, -0.011435f, -0.002580f, -0.017523f, -0.010965f, -0.013509f, 0.007817f, 0.010709f, -0.004273f, 0.003100f, -0.031263f, -0.002041f, 0.018965f, -0.014107f, -0.015602f, 0.014431f, -0.007187f, 0.020346f, 0.002261f, -0.009805f, -0.000577f, -0.015708f, -0.009509f, 0.000151f, -0.018406f, 0.040192f, -0.020885f, -0.011103f, -0.001540f, -0.002076f, -0.029765f, 0.001145f, -0.022110f, 0.014731f, -0.040920f, -0.006587f, -0.013575f, 0.012990f, -0.014554f, -0.014648f, -0.034741f, 0.022181f, -0.014715f, 0.008676f, -0.011676f, 0.006106f, 0.017372f, -0.013911f, - -0.023047f, -0.008254f, 0.014512f, 0.030901f, 0.009419f, 0.012483f, 0.000802f, -0.032682f, -0.017858f, -0.017992f, -0.009633f, 0.004768f, 0.028111f, 0.011639f, 0.016020f, 0.014954f, -0.005261f, -0.007592f, -0.010586f, -0.027538f, 0.000566f, -0.019504f, 0.027958f, -0.014123f, 0.018944f, 0.003309f, -0.011375f, 0.005685f, -0.007934f, -0.010057f, -0.016773f, 0.022658f, 0.005114f, 0.038962f, 0.007618f, -0.044285f, -0.011974f, 0.012601f, 0.009921f, 0.005004f, -0.003828f, 0.002423f, 0.043629f, 0.021046f, -0.009265f, 0.003169f, -0.013952f, 0.030787f, -0.003256f, -0.003573f, 0.010481f, -0.031940f, -0.014867f, -0.025362f, 0.014489f, 0.032906f, -0.003705f, -0.001875f, -0.001200f, 0.030552f, 0.009168f, 0.006994f, 0.004862f, 0.003227f, 0.004837f, -0.012646f, 0.001838f, -0.038831f, 0.005070f, -0.018943f, 0.015597f, 0.038816f, -0.005547f, 0.002411f, -0.031425f, 0.040938f, 0.019626f, 0.017129f, -0.005606f, -0.023221f, 0.002287f, -0.008232f, 0.020548f, 0.014592f, -0.019272f, 0.000526f, 0.010626f, 0.007347f, -0.015020f, -0.013427f, 0.060186f, -0.014569f, -0.011025f, 0.012268f, -0.015891f, -0.011789f, - 0.018834f, 0.018346f, 0.000302f, 0.006708f, 0.006427f, -0.024053f, -0.012110f, -0.001607f, 0.007572f, 0.019916f, 0.004665f, 0.004187f, -0.026913f, -0.003209f, 0.007440f, -0.036939f, 0.007574f, -0.010875f, -0.003986f, -0.007555f, 0.010351f, -0.011736f, -0.019885f, -0.022091f, -0.033406f, 0.002948f, -0.013533f, -0.007980f, 0.021397f, -0.009081f, 0.007332f, -0.040074f, 0.001151f, 0.029376f, -0.019105f, -0.019197f, 0.045846f, -0.027353f, 0.007239f, -0.017483f, 0.054066f, 0.011480f, 0.010108f, -0.017243f, -0.020259f, 0.001961f, 0.015583f, -0.016557f, -0.026187f, -0.015701f, -0.038144f, -0.014976f, -0.022285f, -0.000078f, -0.051290f, 0.003567f, 0.028212f, 0.017146f, 0.023139f, -0.015985f, 0.006297f, 0.024725f, -0.002496f, 0.017910f, 0.007092f, 0.027944f, -0.013605f, 0.023294f, 0.019059f, 0.013219f, 0.030876f, -0.017058f, 0.018650f, -0.009345f, -0.010175f, -0.007216f, 0.007379f, -0.058897f, -0.018095f, -0.036620f, 0.043128f, -0.026714f, -0.029274f, -0.006463f, 0.024815f, 0.000666f, -0.009769f, 0.033323f, -0.010821f, -0.010519f, -0.022995f, -0.059455f, 0.004172f, 0.005640f, 0.026208f, -0.024807f, - 0.001604f, -0.015006f, -0.018402f, 0.032124f, -0.004587f, 0.016341f, -0.032593f, -0.033166f, -0.018791f, 0.027289f, -0.000283f, -0.015715f, -0.015174f, 0.001021f, -0.023152f, -0.001193f, 0.028666f, 0.002838f, -0.009963f, 0.014233f, -0.025080f, 0.046896f, 0.029169f, -0.001402f, -0.022889f, -0.025961f, 0.009433f, -0.007409f, -0.003154f, -0.002487f, 0.042886f, -0.022689f, -0.000064f, -0.016169f, 0.015256f, -0.028436f, -0.025776f, -0.050333f, 0.010554f, -0.021224f, -0.028395f, -0.004668f, -0.047453f, -0.024252f, 0.012408f, 0.008603f, -0.007150f, 0.022926f, 0.001539f, 0.028054f, -0.013711f, -0.042013f, -0.006857f, -0.031189f, -0.006339f, -0.010416f, -0.039568f, 0.003574f, 0.031083f, -0.090834f, 0.010705f, -0.001365f, 0.021563f, -0.006059f, -0.028350f, -0.054651f, 0.020586f, -0.008220f, 0.019228f, 0.010054f, -0.006945f, 0.029097f, -0.038925f, 0.052036f, -0.013966f, 0.028129f, 0.062499f, 0.023152f, 0.044373f, 0.015500f, 0.011379f, -0.008292f, 0.023036f, -0.010949f, -0.024786f, -0.035261f, -0.021576f, -0.003284f, 0.018295f, -0.004559f, 0.076500f, 0.062542f, 0.056522f, -0.011412f, 0.001413f, -0.045773f, - 0.036370f, 0.044641f, 0.016121f, 0.043137f, 0.018124f, 0.015374f, 0.016120f, -0.006363f, 0.007205f, 0.012667f, -0.009302f, -0.044202f, -0.026011f, -0.000685f, -0.028575f, -0.034048f, -0.080731f, 0.019001f, 0.015726f, 0.022341f, -0.014202f, -0.004743f, -0.009372f, 0.001431f, -0.024118f, 0.000083f, -0.017968f, 0.023551f, 0.020601f, -0.010990f, -0.014258f, -0.042639f, 0.074742f, -0.022125f, 0.016166f, 0.000608f, 0.006482f, 0.012250f, -0.028375f, 0.036962f, -0.016519f, 0.012941f, 0.010047f, -0.026779f, -0.026123f, -0.004825f, -0.000495f, 0.017211f, 0.079076f, -0.006233f, 0.013501f, 0.002662f, 0.025326f, 0.016530f, 0.019437f, -0.013782f, -0.001906f, 0.006314f, -0.035062f, 0.006977f, -0.029662f, -0.051834f, 0.019971f, 0.000227f, 0.006254f, -0.039370f, -0.087430f, 0.035442f, 0.042454f, 0.022136f, -0.048133f, -0.044701f, -0.088656f, 0.072551f, 0.011220f, 0.012404f, -0.029879f, -0.021716f, -0.094256f, 0.025322f, 0.066529f, 0.019957f, -0.059866f, -0.030311f, 0.009156f, -0.023726f, -0.015149f, 0.026852f, -0.031376f, 0.016634f, 0.014941f, 0.012106f, -0.034861f, 0.011652f, 0.010203f, -0.016794f, - -0.032642f, -0.019294f, -0.012833f, -0.008991f, -0.031152f, -0.027154f, -0.015006f, -0.032338f, 0.024546f, -0.012491f, -0.041315f, -0.014785f, 0.024637f, -0.005855f, -0.028797f, -0.016272f, -0.014930f, -0.000764f, -0.022950f, -0.014214f, -0.037737f, -0.036033f, 0.014532f, -0.013235f, 0.045880f, 0.029893f, 0.002363f, 0.027096f, -0.041300f, 0.025644f, -0.039321f, 0.031798f, -0.006430f, 0.015992f, -0.018209f, 0.057006f, -0.015548f, 0.031703f, -0.009676f, 0.046843f, 0.017328f, 0.011046f, -0.051045f, 0.052570f, 0.039640f, 0.018080f, 0.015985f, -0.038457f, -0.012581f, 0.015392f, 0.017484f, -0.007127f, -0.011732f, -0.057036f, 0.056339f, -0.001882f, 0.029186f, -0.029507f, -0.006766f, -0.004087f, -0.003674f, -0.003529f, 0.034615f, 0.005287f, -0.021166f, 0.024829f, 0.007673f, 0.019190f, 0.029953f, 0.030540f, 0.005519f, -0.017931f, 0.096412f, -0.020705f, 0.075104f, 0.005213f, 0.008406f, -0.035453f, -0.013406f, 0.011455f, 0.038530f, 0.021840f, -0.006976f, 0.033046f, 0.009954f, -0.033842f, 0.010729f, 0.010743f, 0.044219f, 0.003660f, 0.028208f, -0.024244f, 0.004328f, 0.032335f, 0.017802f, 0.028008f, - 0.064403f, 0.053556f, -0.003068f, 0.030517f, 0.000725f, 0.052899f, -0.033335f, 0.037360f, 0.017408f, 0.004266f, 0.032981f, -0.008794f, 0.078251f, -0.006393f, 0.040346f, -0.020250f, -0.018848f, 0.007908f, 0.083347f, 0.032435f, -0.067515f, 0.071656f, 0.004020f, 0.030135f, -0.049325f, 0.026577f, 0.011952f, -0.101316f, 0.051842f, 0.092917f, 0.038031f, -0.025150f, -0.016323f, 0.029137f, 0.078921f, 0.018692f, 0.022074f, 0.014481f, -0.016269f, -0.008067f, -0.029171f, 0.037859f, 0.006479f, 0.025194f, -0.019463f, 0.050344f, -0.016757f, 0.023405f, 0.008759f, 0.010340f, 0.008416f, 0.004205f, -0.051520f, -0.030778f, 0.001532f, 0.004389f, 0.037267f, 0.029245f, -0.041575f, 0.003815f, -0.022207f, -0.022157f, 0.012128f, 0.001872f, -0.013092f, 0.016880f, 0.071199f, -0.047057f, -0.001870f, 0.105322f, -0.062886f, 0.006383f, 0.039992f, -0.020872f, -0.013580f, 0.020548f, 0.037296f, -0.039895f, 0.021147f, -0.071178f, -0.005059f, 0.101530f, 0.007071f, 0.027185f, -0.008291f, 0.054237f, 0.059634f, -0.018233f, 0.001935f, -0.029616f, 0.009605f, -0.022868f, -0.047289f, -0.035750f, -0.056908f, -0.048070f, - 0.070447f, 0.022933f, 0.023385f, 0.084673f, -0.059516f, -0.042402f, 0.015106f, 0.027708f, -0.021094f, 0.009661f, -0.023056f, 0.041514f, 0.032506f, 0.007230f, 0.036826f, 0.113663f, 0.012401f, -0.013014f, -0.029456f, 0.027404f, -0.005754f, 0.060234f, -0.051251f, 0.015272f, -0.002049f, -0.015122f, -0.013659f, -0.005759f, 0.019671f, 0.012946f, 0.013935f, -0.000864f, 0.034434f, 0.007688f, -0.040937f, -0.031654f, -0.002854f, -0.017755f, -0.022780f, 0.007647f, 0.028801f, -0.001725f, -0.004330f, -0.037062f, 0.021102f, -0.004150f, 0.041899f, -0.011469f, -0.075249f, 0.011635f, -0.021008f, -0.009379f, 0.001978f, -0.060245f, -0.031013f, -0.051388f, 0.002860f, -0.001541f, -0.013164f, -0.068693f, -0.026997f, -0.003749f, 0.039122f, 0.043625f, 0.005267f, 0.005727f, 0.022009f, 0.007205f, -0.046854f, 0.045572f, 0.060363f, -0.022507f, 0.010871f, -0.022465f, 0.012602f, 0.002806f, 0.046519f, -0.046759f, -0.034134f, -0.110840f, -0.038443f, 0.032218f, 0.047957f, 0.036387f, 0.031510f, -0.024161f, -0.007820f, 0.027117f, 0.022711f, 0.054457f, 0.022735f, 0.026891f, 0.030951f, 0.012653f, -0.089485f, 0.040161f, - -0.025349f, 0.005163f, 0.066959f, 0.056070f, -0.019500f, -0.007463f, 0.035562f, -0.019248f, -0.019789f, -0.016722f, 0.006717f, -0.004780f, -0.000169f, 0.009223f, -0.004807f, 0.033430f, 0.078744f, -0.030867f, -0.057309f, 0.061027f, -0.043759f, -0.011247f, 0.003085f, 0.075736f, 0.008493f, -0.021393f, 0.024758f, 0.021880f, -0.075049f, -0.021874f, 0.015893f, -0.002042f, -0.033884f, -0.001867f, 0.017920f, -0.113673f, -0.049589f, 0.057515f, -0.052946f, -0.062192f, -0.035119f, 0.046955f, -0.056264f, -0.093664f, 0.098946f, -0.027503f, -0.055020f, -0.003156f, 0.041620f, -0.036157f, -0.058851f, -0.001587f, 0.034167f, -0.003480f, -0.076435f, 0.018867f, 0.004722f, -0.037382f, 0.092559f, 0.080152f, 0.000771f, -0.034484f, -0.056392f, 0.096934f, 0.022089f, 0.014700f, 0.043401f, -0.028236f, -0.085640f, 0.037598f, 0.085084f, 0.050049f, -0.023191f, 0.006061f, -0.092700f, 0.012257f, 0.090996f, 0.050404f, 0.014315f, 0.000719f, -0.014300f, 0.025039f, -0.029606f, 0.075917f, -0.003828f, 0.021624f, 0.029168f, -0.023586f, 0.002807f, -0.001309f, -0.026405f, 0.001811f, 0.012508f, 0.043476f, 0.001655f, -0.023821f, - 0.014614f, 0.035401f, -0.003734f, 0.054975f, -0.039350f, 0.010616f, 0.013737f, 0.015872f, 0.047727f, -0.023086f, 0.005844f, 0.000367f, -0.058138f, 0.010646f, -0.017798f, -0.030581f, 0.015812f, -0.010258f, 0.048908f, 0.036187f, -0.022901f, -0.051454f, 0.027346f, 0.007548f, 0.012584f, 0.032434f, 0.067202f, -0.008673f, 0.015382f, -0.023999f, 0.039367f, 0.029499f, 0.029912f, -0.028410f, 0.044854f, -0.011870f, -0.016862f, -0.034564f, -0.001437f, -0.011619f, 0.057615f, -0.037993f, 0.005026f, 0.017563f, -0.010585f, -0.021098f, 0.079923f, 0.001420f, 0.020885f, -0.001414f, 0.012246f, 0.000812f, 0.025825f, 0.007873f, -0.000599f, 0.029754f, -0.083988f, -0.233402f, -0.221893f, 0.094458f, 0.008146f, 0.210646f, 0.448086f, 0.096902f, 0.179902f, 0.095086f, -0.334425f, -0.150715f, -0.225255f, -0.330749f, -0.023136f, 0.037297f, -0.156539f, 0.136569f, 0.234117f, 0.142298f, 0.403936f, 0.246795f, 0.001378f, -0.039191f, -0.144127f, -0.359385f, -0.290519f, -0.126635f, -0.275190f, -0.082805f, 0.156186f, 0.044775f, 0.039057f, 0.368980f, 0.142481f, 0.088415f, 0.342716f, 0.014301f, -0.017829f, 0.156270f, - -0.079220f, -0.285002f, -0.137353f, -0.284813f, -0.413327f, -0.047805f, -0.187817f, -0.155250f, 0.132161f, 0.254355f, 0.118667f, 0.451045f, 0.361172f, 0.207284f, 0.274481f, 0.090875f, -0.133913f, -0.209096f, -0.275398f, -0.444123f, -0.353560f, -0.239680f, -0.201359f, -0.064677f, 0.155777f, 0.232610f, 0.263157f, 0.349646f, 0.298501f, 0.138309f, 0.055323f, 0.077633f, -0.110385f, -0.176101f, -0.114121f, -0.250248f, -0.135718f, -0.003095f, -0.017737f} - }, - { - {-0.002684f, 0.000038f, 0.004022f, -0.007594f, -0.002239f, -0.004807f, -0.006689f, -0.000587f, 0.008250f, 0.001430f, -0.004459f, -0.004223f, 0.011405f, -0.005154f, 0.001089f, -0.003708f, -0.003806f, -0.005893f, -0.001447f, 0.014284f, 0.000939f, -0.000712f, 0.002677f, 0.003685f, 0.001215f, -0.004622f, 0.007917f, 0.000245f, -0.000277f, -0.003551f, 0.000999f, -0.002685f, 0.001182f, 0.005253f, 0.000387f, -0.000216f, -0.000298f, -0.000373f, -0.001242f, -0.006992f, 0.001633f, 0.005909f, -0.001762f, -0.003447f, 0.005516f, -0.006408f, -0.000491f, -0.002724f, 0.004046f, -0.010331f, 0.003815f, -0.000785f, 0.001553f, -0.002335f, -0.002149f, -0.000285f, -0.002916f, 0.000419f, 0.003121f, 0.002301f, -0.000635f, 0.002037f, 0.009214f, -0.005820f, -0.004625f, 0.000472f, -0.002183f, -0.004383f, 0.001216f, -0.004718f, 0.002588f, -0.005679f, 0.000587f, -0.002892f, -0.004781f, -0.000695f, -0.009260f, -0.003483f, 0.002330f, -0.001621f, -0.005267f, -0.000275f, 0.012684f, -0.006322f, 0.001618f, -0.002606f, 0.000020f, -0.004691f, 0.009187f, -0.004582f, -0.004815f, -0.005541f, 0.010927f, -0.006303f, -0.001489f, -0.002937f, - 0.003214f, 0.005040f, 0.006488f, -0.008802f, 0.000184f, 0.008563f, 0.003971f, 0.001516f, -0.000249f, -0.001005f, 0.004065f, 0.008713f, 0.002327f, -0.011078f, -0.005489f, -0.005946f, 0.009966f, -0.000962f, 0.007675f, -0.004632f, 0.003710f, 0.009736f, -0.004448f, -0.007308f, 0.002901f, -0.002736f, -0.000177f, -0.006555f, -0.002316f, -0.004910f, 0.002206f, -0.008906f, -0.002567f, -0.002310f, 0.000099f, 0.011967f, -0.003516f, -0.001872f, 0.000004f, -0.003231f, -0.000784f, -0.001234f, 0.007770f, 0.003643f, 0.004997f, -0.006399f, 0.005170f, 0.004638f, -0.003615f, 0.001773f, 0.003575f, -0.003490f, -0.003545f, 0.004761f, -0.006679f, 0.004925f, -0.000821f, -0.000101f, -0.000405f, -0.006036f, 0.006094f, 0.000601f, -0.002846f, -0.004154f, -0.001256f, -0.002170f, -0.000152f, -0.005107f, -0.003995f, 0.002710f, -0.000955f, -0.002028f, -0.008884f, -0.001410f, 0.007934f, -0.005567f, -0.001541f, 0.006010f, -0.003700f, -0.006630f, -0.005170f, 0.004080f, -0.000148f, -0.000715f, -0.001444f, -0.006340f, 0.001922f, -0.002854f, -0.001664f, 0.007036f, -0.004094f, -0.009651f, -0.003061f, 0.000499f, 0.002679f, 0.002502f, - 0.000622f, -0.007308f, -0.001890f, -0.008887f, -0.008287f, -0.002158f, 0.008254f, -0.001430f, -0.016945f, -0.000699f, 0.005418f, 0.004968f, -0.003674f, 0.003391f, 0.003375f, 0.000463f, 0.004748f, -0.008855f, -0.006612f, -0.000652f, 0.002379f, 0.000653f, 0.001622f, -0.000677f, 0.002109f, 0.002501f, 0.003225f, -0.000078f, 0.001883f, 0.002606f, -0.001953f, 0.004187f, -0.001130f, -0.007796f, -0.007457f, -0.003166f, -0.000932f, 0.007966f, 0.004602f, 0.011771f, 0.001089f, -0.001971f, -0.001083f, 0.008399f, -0.001876f, 0.004627f, -0.007091f, -0.000528f, 0.000152f, 0.004518f, 0.003325f, 0.007531f, 0.005493f, -0.003509f, -0.006966f, -0.005765f, 0.004477f, -0.002336f, 0.005985f, 0.003730f, 0.001142f, -0.000162f, 0.005057f, 0.003469f, -0.002975f, 0.004017f, -0.007478f, -0.000927f, -0.006893f, -0.006108f, -0.008372f, 0.002721f, 0.005472f, -0.000793f, 0.007447f, -0.005305f, 0.006944f, -0.012996f, 0.005522f, 0.002340f, 0.010191f, 0.002936f, 0.003989f, 0.005312f, 0.000284f, -0.003280f, 0.004156f, 0.008516f, 0.003427f, 0.004134f, -0.000804f, -0.000134f, -0.011425f, -0.000804f, 0.002510f, 0.002282f, - -0.001142f, 0.006348f, 0.012675f, -0.004114f, -0.007993f, 0.005637f, 0.001969f, -0.006316f, 0.000623f, -0.003094f, -0.005426f, 0.000414f, 0.009442f, 0.001670f, 0.003957f, 0.000695f, 0.006554f, 0.006321f, -0.005641f, 0.009522f, -0.003066f, -0.005891f, -0.008876f, 0.002385f, -0.011817f, -0.000472f, 0.001461f, 0.003619f, -0.007469f, 0.005259f, 0.000077f, 0.001413f, 0.003409f, 0.002294f, 0.002910f, -0.010029f, -0.000509f, -0.002004f, -0.006576f, 0.004303f, 0.002167f, 0.001917f, 0.005974f, 0.020784f, -0.001332f, 0.001440f, 0.003078f, 0.005448f, 0.002163f, -0.016329f, 0.003645f, -0.002346f, -0.001761f, 0.009628f, 0.000432f, 0.005037f, 0.006779f, -0.007773f, -0.004452f, -0.001873f, -0.007858f, -0.016659f, 0.000973f, -0.005925f, -0.000873f, -0.000918f, -0.000188f, -0.003378f, -0.008244f, 0.003026f, -0.007877f, -0.001888f, 0.001994f, -0.008272f, 0.009478f, 0.003950f, 0.002837f, -0.002986f, -0.000481f, -0.000634f, 0.002068f, -0.002003f, 0.005008f, -0.006405f, 0.002705f, 0.012234f, 0.009560f, -0.002096f, 0.005040f, -0.003106f, 0.002386f, -0.006734f, 0.000327f, 0.013593f, -0.017364f, 0.000682f, - -0.010717f, 0.005404f, 0.007805f, 0.009546f, -0.001556f, -0.009160f, 0.000161f, 0.009406f, 0.001939f, 0.001764f, -0.007189f, -0.000995f, -0.012531f, 0.016498f, -0.000970f, -0.012777f, 0.013691f, 0.003412f, 0.003982f, -0.000940f, -0.005086f, -0.001668f, -0.006688f, -0.006522f, 0.004968f, 0.007188f, -0.001610f, 0.006779f, -0.005770f, -0.003559f, -0.000156f, 0.009476f, 0.008847f, -0.002578f, -0.005262f, 0.007363f, 0.004537f, 0.000642f, 0.006068f, 0.001438f, -0.007602f, 0.007701f, 0.004599f, -0.000646f, -0.002828f, 0.002075f, -0.008239f, 0.021109f, -0.001411f, -0.000836f, 0.015440f, -0.001520f, -0.010034f, -0.005330f, -0.001556f, 0.003746f, -0.010497f, 0.006757f, 0.001559f, 0.000115f, -0.009692f, -0.007816f, -0.016763f, -0.001579f, 0.006755f, 0.003559f, 0.008222f, -0.005264f, -0.004647f, 0.018813f, -0.006649f, 0.002837f, -0.004514f, -0.008356f, -0.017896f, 0.000116f, -0.007355f, -0.008336f, 0.002918f, -0.010071f, 0.000577f, 0.007454f, 0.004152f, 0.015253f, -0.024599f, 0.016320f, -0.002390f, 0.007342f, -0.004515f, -0.003196f, -0.012827f, 0.012013f, 0.010498f, 0.002964f, -0.011394f, -0.000250f, - -0.006507f, -0.000404f, 0.012297f, 0.008828f, 0.002046f, 0.011942f, 0.000016f, 0.001019f, 0.001300f, 0.000034f, -0.007908f, 0.017678f, -0.001583f, 0.000618f, 0.020155f, -0.012451f, 0.004907f, -0.005681f, -0.001198f, 0.006822f, -0.002646f, -0.009683f, 0.019344f, 0.015548f, -0.000489f, 0.005418f, 0.008111f, 0.021375f, -0.002687f, -0.003176f, -0.011312f, 0.002578f, 0.003911f, -0.011332f, -0.012826f, -0.010566f, 0.013333f, 0.000990f, -0.005677f, 0.009956f, 0.006357f, 0.000881f, -0.003476f, 0.003821f, -0.007628f, -0.000977f, -0.008383f, -0.000815f, 0.006832f, -0.013528f, 0.002586f, -0.001827f, -0.011395f, 0.007724f, -0.004084f, 0.002285f, -0.003607f, -0.001839f, 0.002324f, 0.013313f, 0.014097f, 0.002036f, -0.012961f, -0.002089f, -0.012346f, 0.004597f, 0.030812f, 0.007362f, 0.021191f, 0.007608f, -0.000224f, -0.020574f, -0.005484f, 0.002976f, 0.019041f, -0.009013f, -0.004867f, -0.007897f, 0.001302f, 0.015376f, -0.012118f, 0.007340f, 0.012994f, 0.002656f, 0.004360f, -0.009289f, 0.016147f, -0.003993f, 0.021204f, -0.000605f, -0.007451f, -0.020979f, 0.001734f, -0.000350f, 0.023703f, -0.007847f, - -0.002874f, 0.015093f, -0.000810f, 0.001572f, -0.006038f, -0.016600f, 0.000682f, 0.008715f, -0.012662f, -0.009693f, 0.001215f, -0.019918f, 0.009307f, 0.010027f, -0.004635f, -0.001997f, 0.003941f, 0.010105f, -0.002565f, -0.007626f, -0.002061f, 0.015023f, -0.004056f, -0.003618f, -0.008327f, 0.019430f, 0.018433f, -0.000153f, -0.006847f, 0.001347f, -0.004575f, 0.002981f, 0.004982f, -0.004486f, 0.006646f, -0.012580f, 0.002948f, 0.000683f, -0.013501f, 0.014303f, 0.010926f, 0.001149f, -0.008875f, -0.009944f, -0.004205f, -0.020077f, 0.023973f, 0.018185f, -0.003573f, 0.006967f, 0.002381f, -0.003533f, 0.018212f, -0.001073f, -0.008141f, 0.026993f, -0.028630f, 0.007833f, 0.012624f, 0.000292f, -0.011607f, 0.013083f, 0.002135f, 0.018748f, -0.006935f, -0.001560f, 0.005038f, 0.007748f, 0.001373f, -0.002081f, 0.026804f, 0.011946f, -0.012099f, -0.017985f, 0.012901f, -0.017986f, -0.005287f, -0.020768f, -0.002708f, 0.032231f, 0.013017f, 0.015825f, 0.000105f, -0.016384f, -0.002841f, -0.007760f, -0.003729f, 0.024244f, -0.003804f, -0.025700f, -0.002256f, 0.005630f, -0.016849f, -0.002273f, 0.010502f, 0.008947f, - -0.011505f, -0.005361f, 0.011092f, 0.015672f, -0.004893f, 0.016295f, -0.000318f, 0.004435f, 0.005163f, 0.001771f, 0.005240f, 0.009880f, 0.007889f, 0.009274f, -0.006529f, -0.018669f, -0.023468f, 0.011859f, -0.001302f, 0.011072f, -0.021605f, 0.007984f, 0.006381f, 0.003372f, -0.014077f, -0.011768f, -0.015003f, 0.012018f, 0.006368f, -0.010693f, -0.010632f, 0.015066f, 0.005059f, -0.001024f, -0.008903f, -0.014905f, -0.005924f, 0.006303f, -0.009417f, 0.001326f, -0.017857f, -0.004889f, 0.002364f, 0.006383f, 0.012083f, -0.001720f, 0.007811f, 0.010501f, -0.010238f, -0.024951f, 0.017593f, 0.001010f, -0.003711f, 0.016710f, -0.002255f, 0.000899f, -0.010807f, 0.014747f, -0.008945f, -0.011480f, -0.004272f, 0.012183f, 0.018364f, 0.015478f, 0.005062f, 0.003419f, -0.031446f, 0.014866f, -0.001547f, 0.006533f, -0.010588f, -0.001575f, -0.011875f, -0.003707f, -0.002567f, -0.015705f, -0.007757f, -0.005968f, -0.008441f, 0.017785f, -0.004907f, 0.023015f, -0.002042f, -0.000087f, 0.014475f, 0.017151f, 0.027305f, 0.019916f, 0.000492f, -0.006481f, 0.000105f, 0.002866f, -0.010875f, 0.006920f, -0.006542f, -0.009112f, - -0.034434f, 0.006902f, -0.023883f, -0.014524f, 0.021434f, 0.016554f, -0.039231f, -0.036000f, 0.000602f, 0.014549f, -0.009579f, 0.008767f, -0.013344f, -0.001989f, -0.023016f, -0.006409f, -0.020831f, -0.001991f, -0.006122f, 0.000118f, 0.007205f, 0.005857f, 0.012038f, -0.002072f, -0.011312f, 0.008850f, -0.013374f, -0.005617f, 0.003572f, 0.000351f, 0.006004f, 0.012938f, -0.002682f, 0.001268f, 0.002572f, -0.005826f, -0.001911f, -0.019969f, -0.023689f, -0.022814f, -0.000434f, -0.022917f, 0.007140f, 0.002702f, -0.009348f, -0.010749f, -0.004914f, -0.003952f, -0.002307f, -0.013596f, -0.021593f, -0.001287f, 0.033449f, 0.018585f, -0.005025f, -0.020101f, -0.021049f, 0.023446f, -0.022047f, -0.006960f, -0.004016f, -0.014216f, -0.011138f, -0.014344f, -0.017404f, -0.023503f, -0.032681f, -0.003749f, -0.005086f, -0.003390f, 0.011307f, 0.012100f, 0.003220f, 0.011477f, -0.006145f, 0.002998f, -0.027039f, 0.003974f, 0.014716f, 0.016036f, 0.014792f, 0.006807f, 0.028482f, -0.010116f, -0.019639f, -0.004402f, 0.004163f, -0.003177f, 0.009421f, 0.019478f, 0.037933f, 0.024506f, 0.014223f, 0.018436f, -0.013955f, -0.026563f, - -0.009025f, -0.019605f, 0.023875f, 0.006420f, -0.004568f, -0.015633f, 0.026982f, 0.024047f, -0.008151f, -0.000491f, 0.000177f, -0.012561f, -0.011249f, -0.019482f, 0.006399f, 0.008470f, 0.012022f, -0.018266f, 0.001970f, 0.006999f, -0.008785f, -0.017619f, 0.000681f, 0.012581f, 0.014737f, 0.004024f, -0.037259f, -0.011735f, -0.018384f, 0.009301f, 0.022248f, 0.001705f, -0.020970f, 0.006776f, -0.020271f, 0.013059f, -0.004996f, 0.003729f, -0.014450f, 0.032124f, 0.023633f, -0.005338f, -0.007123f, -0.015155f, -0.001348f, 0.026402f, 0.005353f, 0.032049f, 0.028343f, 0.026408f, 0.013837f, 0.007733f, -0.019094f, -0.007417f, -0.025171f, 0.032719f, -0.015895f, -0.002062f, 0.016032f, 0.026126f, -0.022176f, -0.027364f, -0.023412f, 0.031120f, -0.009360f, 0.021702f, 0.002148f, 0.002997f, 0.048266f, -0.002811f, 0.005778f, -0.017542f, -0.029243f, 0.010691f, -0.002337f, 0.011365f, 0.007937f, 0.000337f, -0.015733f, 0.008040f, 0.009124f, 0.006137f, -0.014733f, 0.014327f, 0.010588f, 0.036505f, -0.013071f, 0.005405f, 0.020632f, 0.021867f, 0.003081f, 0.022110f, -0.002410f, 0.004048f, 0.019232f, 0.017614f, - 0.006189f, -0.003931f, -0.024540f, -0.016903f, 0.018181f, 0.003153f, -0.003763f, -0.001662f, 0.006418f, 0.039938f, 0.000197f, -0.008735f, 0.020855f, -0.004864f, 0.019865f, 0.008329f, 0.054642f, -0.005954f, 0.000827f, 0.004300f, 0.010283f, 0.022422f, -0.000924f, -0.001258f, 0.014175f, -0.019424f, 0.022555f, 0.042030f, 0.013467f, -0.002061f, 0.023054f, -0.001807f, 0.001407f, 0.047925f, -0.021677f, 0.015872f, 0.018789f, 0.001103f, 0.002640f, 0.003492f, 0.007262f, -0.027758f, -0.009267f, 0.016219f, -0.010484f, -0.015231f, -0.014005f, -0.014056f, 0.000360f, 0.016398f, -0.004198f, -0.041403f, -0.001921f, -0.031805f, 0.009801f, 0.011548f, -0.001772f, 0.004700f, -0.015391f, -0.003144f, 0.013999f, -0.039613f, 0.007564f, -0.009733f, 0.019119f, 0.013390f, 0.007338f, 0.000318f, -0.017534f, -0.035825f, -0.004195f, -0.031466f, 0.016218f, -0.001053f, -0.011587f, 0.030455f, 0.013921f, -0.013946f, -0.012666f, -0.007886f, -0.007535f, -0.010141f, -0.019874f, 0.001818f, 0.002048f, 0.044641f, -0.004500f, -0.034108f, -0.003073f, 0.021139f, -0.001508f, -0.018211f, 0.007388f, -0.026833f, 0.013624f, -0.012141f, - 0.007735f, -0.016259f, 0.003152f, -0.027550f, 0.064787f, 0.001057f, 0.043361f, -0.006225f, -0.017320f, 0.010572f, -0.019876f, -0.016936f, 0.021586f, 0.023636f, -0.027705f, -0.062055f, 0.051406f, -0.022422f, -0.021366f, -0.010856f, -0.003691f, -0.029692f, -0.010733f, -0.009303f, -0.025517f, -0.044814f, -0.011237f, 0.000278f, -0.023843f, 0.011092f, -0.010326f, 0.019280f, -0.017230f, -0.007606f, -0.024438f, 0.057295f, 0.048731f, -0.011501f, 0.010765f, 0.033036f, -0.035432f, 0.035241f, -0.014987f, -0.015514f, 0.012843f, 0.004119f, 0.006083f, -0.005896f, -0.007795f, 0.000362f, 0.011612f, 0.009350f, -0.015653f, 0.017306f, -0.016841f, -0.028855f, 0.020540f, 0.017257f, -0.023301f, -0.029869f, -0.033492f, -0.005694f, -0.005360f, 0.008645f, -0.021733f, -0.028353f, -0.013772f, 0.045298f, 0.016487f, 0.014851f, -0.019358f, 0.016930f, 0.024721f, -0.019824f, 0.045818f, 0.007509f, -0.015637f, -0.022173f, 0.012776f, -0.018796f, -0.038015f, 0.008459f, 0.000385f, -0.000137f, 0.022121f, 0.018685f, -0.015949f, 0.002156f, -0.048402f, -0.007303f, -0.018086f, 0.039885f, 0.004317f, 0.004446f, -0.021414f, 0.017764f, - -0.037034f, -0.008548f, -0.021648f, 0.027089f, 0.028503f, 0.025839f, 0.017311f, -0.000326f, 0.023557f, 0.021468f, 0.003368f, -0.004160f, 0.009323f, -0.000002f, -0.024520f, -0.002940f, 0.008900f, -0.018996f, 0.026741f, -0.028258f, 0.022248f, 0.024589f, -0.007463f, -0.005570f, 0.010024f, 0.032834f, 0.024165f, -0.029687f, -0.006955f, -0.007941f, -0.002878f, 0.007428f, -0.014395f, -0.014488f, 0.031634f, 0.000824f, 0.045641f, -0.030201f, -0.029339f, 0.023314f, -0.016165f, 0.008420f, -0.018948f, 0.015568f, 0.016903f, 0.011726f, -0.008166f, -0.026548f, 0.001639f, 0.008829f, -0.023157f, -0.040583f, -0.002567f, 0.003670f, -0.025217f, 0.043782f, -0.006392f, -0.012499f, 0.056705f, 0.054739f, 0.003790f, -0.007774f, -0.003922f, -0.011912f, 0.011102f, -0.029042f, 0.024582f, 0.003188f, -0.018366f, 0.032059f, 0.002057f, 0.005900f, -0.013066f, -0.018681f, -0.048391f, 0.008100f, -0.020985f, -0.010170f, -0.048562f, -0.111814f, 0.036804f, 0.034853f, -0.012955f, 0.007395f, -0.027313f, 0.047537f, 0.030205f, -0.027728f, 0.007243f, 0.006041f, 0.000169f, -0.012749f, -0.009358f, -0.057902f, 0.023755f, 0.027849f, - -0.007082f, -0.000512f, -0.003756f, 0.018578f, -0.014936f, 0.035903f, 0.010241f, -0.043765f, -0.025071f, 0.054442f, 0.035514f, -0.036314f, -0.008988f, -0.013240f, -0.022497f, 0.002908f, -0.009335f, 0.007312f, 0.070797f, 0.018928f, 0.074199f, 0.042185f, 0.047600f, 0.043377f, 0.085535f, -0.006216f, -0.008614f, 0.020026f, -0.006716f, -0.072859f, 0.057941f, -0.026004f, 0.032938f, -0.048414f, -0.038658f, -0.072024f, 0.013474f, -0.007292f, -0.024672f, 0.016638f, -0.034288f, -0.000700f, -0.048702f, -0.048749f, 0.012572f, 0.026954f, -0.039807f, -0.011427f, -0.027993f, -0.038710f, -0.043231f, -0.031710f, 0.021534f, -0.020116f, -0.054388f, 0.072842f, 0.044412f, 0.071775f, -0.015381f, -0.041853f, -0.107606f, 0.044710f, 0.053629f, -0.026190f, -0.012202f, -0.004053f, 0.060879f, 0.000722f, 0.011922f, 0.011858f, -0.016048f, 0.011101f, 0.027573f, -0.007083f, -0.029338f, 0.005684f, 0.051479f, -0.029329f, -0.019050f, 0.010332f, -0.008912f, 0.038364f, -0.011471f, 0.016589f, -0.022004f, -0.025824f, -0.026112f, 0.024686f, -0.009464f, 0.021757f, 0.025217f, -0.008271f, 0.001831f, -0.001177f, -0.023723f, 0.005920f, - -0.021725f, 0.022140f, 0.055782f, 0.093233f, -0.003073f, -0.004151f, -0.042029f, 0.020166f, 0.028963f, -0.002470f, 0.032712f, 0.048153f, 0.018777f, 0.026630f, -0.045856f, -0.027935f, 0.033957f, 0.092747f, -0.019710f, -0.057448f, 0.011667f, -0.020522f, -0.003586f, 0.023405f, -0.002214f, -0.027767f, -0.014927f, -0.015787f, -0.067270f, -0.029966f, -0.002671f, 0.007086f, 0.019187f, -0.008016f, -0.028150f, -0.019741f, 0.002471f, -0.017654f, -0.028521f, 0.012798f, 0.033692f, 0.011136f, 0.017650f, 0.006830f, 0.050856f, -0.016161f, -0.006388f, -0.020131f, 0.011820f, -0.012570f, 0.011229f, 0.057569f, 0.011464f, -0.061347f, -0.014843f, -0.018035f, -0.052221f, 0.033052f, 0.015841f, -0.006272f, 0.007560f, 0.003040f, -0.023301f, -0.000445f, -0.001439f, -0.023568f, -0.006734f, 0.050150f, 0.074375f, 0.034702f, -0.025483f, -0.041083f, 0.019660f, 0.033601f, 0.004219f, 0.026832f, -0.018361f, -0.013303f, 0.028371f, 0.008553f, 0.001012f, -0.062395f, -0.080358f, -0.002836f, -0.046622f, -0.027720f, 0.017829f, 0.067644f, 0.015684f, 0.003219f, -0.018552f, -0.023577f, -0.032747f, -0.029964f, 0.006970f, 0.020438f, - -0.005666f, -0.033638f, -0.052430f, 0.021691f, 0.003501f, -0.029954f, -0.048160f, -0.033850f, -0.052847f, -0.099855f, -0.057284f, -0.008227f, -0.008001f, 0.121932f, -0.009757f, -0.002839f, 0.076077f, 0.010625f, 0.013059f, 0.045416f, -0.009395f, -0.028693f, 0.038304f, -0.053993f, 0.013809f, 0.008767f, -0.023455f, -0.075762f, 0.051786f, 0.015524f, -0.004768f, -0.076694f, 0.020573f, 0.012141f, -0.040495f, 0.007010f, 0.035721f, 0.022122f, 0.010474f, -0.034562f, -0.006994f, -0.012732f, 0.006237f, -0.012832f, 0.003327f, -0.026675f, -0.038676f, 0.042843f, -0.029266f, 0.064964f, -0.039762f, -0.035793f, -0.024338f, -0.045066f, 0.004139f, -0.000520f, 0.068071f, -0.049953f, -0.052889f, 0.027739f, 0.017687f, -0.043546f, -0.058200f, -0.006086f, -0.032664f, 0.038264f, 0.008360f, -0.047969f, 0.031743f, -0.007860f, -0.073968f, 0.049221f, -0.032710f, 0.032250f, -0.054792f, -0.013188f, -0.000911f, -0.022951f, -0.008795f, 0.006632f, 0.070725f, -0.018677f, -0.005478f, -0.020024f, 0.021227f, -0.033182f, 0.027424f, 0.054194f, -0.001411f, 0.054098f, 0.045559f, -0.007965f, 0.091152f, -0.007654f, 0.014454f, -0.007320f, - 0.030851f, 0.075759f, 0.000651f, 0.050941f, -0.101392f, 0.002744f, -0.113977f, -0.038923f, -0.020279f, 0.033253f, 0.103122f, 0.087484f, 0.031510f, 0.051188f, -0.035122f, -0.029768f, 0.003896f, -0.008832f, 0.022965f, 0.006487f, -0.024748f, 0.033789f, 0.050290f, 0.041589f, 0.030763f, 0.025815f, -0.002133f, 0.003566f, -0.018801f, 0.047442f, 0.021439f, -0.010657f, -0.031394f, 0.008684f, 0.018618f, -0.006730f, 0.062358f, 0.065152f, -0.039992f, -0.030013f, -0.000087f, 0.050171f, 0.030708f, 0.006642f, 0.004733f, -0.014095f, -0.025008f, 0.011074f, 0.077834f, -0.034142f, -0.041194f, -0.044894f, 0.039693f, 0.014834f, -0.025826f, -0.039368f, -0.061485f, -0.072818f, 0.005552f, 0.012781f, 0.010412f, -0.018376f, -0.007628f, -0.022469f, 0.011308f, -0.059534f, -0.094978f, -0.045343f, -0.009413f, -0.019904f, -0.039275f, 0.041353f, 0.073489f, -0.022898f, 0.035660f, 0.078504f, 0.050648f, 0.011245f, -0.065153f, -0.004189f, -0.063201f, 0.052016f, -0.005965f, 0.044780f, 0.027364f, 0.001619f, 0.029857f, -0.012250f, -0.002749f, 0.025849f, 0.031465f, 0.005387f, 0.000683f, -0.000388f, -0.027645f, -0.017660f, - 0.008034f, -0.038613f, 0.001553f, -0.014110f, 0.001439f, -0.032629f, 0.006148f, 0.002516f, -0.029821f, 0.025952f, 0.011205f, 0.017787f, -0.037593f, -0.009589f, 0.007596f, -0.001310f, 0.003164f, 0.022504f, 0.005224f, 0.006803f, -0.003985f, -0.007733f, -0.005590f, -0.002419f, 0.014431f, -0.005667f, -0.023952f, 0.020379f, -0.033081f, -0.009773f, -0.011166f, 0.004721f, -0.016079f, -0.018651f, 0.025666f, -0.002523f, -0.025293f, 0.016307f, -0.035391f, 0.029210f, 0.009004f, 0.002053f, 0.029442f, 0.033365f, 0.004577f, 0.009995f, -0.024549f, 0.032348f, -0.015612f, -0.021047f, -0.002084f, 0.005261f, 0.059536f, -0.026436f, -0.044811f, 0.038219f, -0.015345f, 0.037891f, -0.007940f, 0.002047f, -0.018555f, 0.017348f, 0.027202f, -0.017814f, -0.170289f, -0.320998f, -0.116906f, -0.252163f, -0.286958f, 0.065399f, -0.013656f, 0.091089f, 0.362595f, 0.393777f, 0.276623f, 0.396670f, 0.324990f, 0.105557f, 0.111155f, 0.081659f, -0.225077f, -0.231102f, -0.130670f, -0.224347f, -0.242822f, -0.083346f, -0.074399f, -0.204522f, -0.155609f, -0.027747f, -0.093757f, -0.112889f, -0.031156f, -0.086954f, -0.152528f, -0.087407f, - 0.024033f, -0.062187f, -0.077128f, 0.085118f, -0.018299f, -0.084790f, 0.072095f, 0.137808f, -0.035409f, 0.033423f, 0.213449f, 0.028691f, -0.072000f, 0.142867f, 0.123107f, -0.124580f, 0.069291f, 0.158586f, -0.050822f, 0.018336f, 0.273252f, 0.211043f, 0.105167f, 0.387947f, 0.429381f, 0.223336f, 0.396606f, 0.515550f, 0.323212f, 0.309658f, 0.424308f, 0.279953f, 0.179179f, 0.204015f, 0.110233f, -0.095752f, -0.206051f, -0.274731f, -0.490449f, -0.586507f, -0.670406f, -0.735399f, -0.710309f, -0.591944f, -0.279099f, -0.175983f}, - {0.001818f, 0.002056f, 0.003999f, 0.004770f, 0.005359f, 0.003863f, 0.000813f, -0.000185f, -0.003831f, 0.003760f, -0.006051f, -0.004578f, 0.001901f, 0.001685f, -0.005802f, 0.010857f, -0.003356f, 0.003234f, -0.003473f, -0.003151f, 0.002335f, -0.000959f, -0.001879f, -0.001051f, 0.000673f, -0.003444f, -0.001604f, -0.006794f, 0.004090f, 0.003100f, -0.005362f, -0.002356f, -0.002338f, -0.005934f, 0.001897f, 0.001044f, -0.000234f, 0.001354f, 0.002233f, 0.000451f, 0.001939f, 0.006170f, -0.008732f, 0.001668f, -0.001377f, 0.005904f, 0.005052f, -0.004066f, 0.011634f, -0.007137f, -0.007577f, 0.001899f, 0.005189f, 0.003233f, -0.001327f, -0.001699f, -0.001204f, 0.001684f, 0.001931f, -0.000659f, -0.004529f, -0.003784f, -0.002390f, -0.005843f, 0.000760f, 0.003704f, 0.001135f, -0.001350f, -0.000885f, 0.007003f, 0.003098f, 0.002704f, 0.005273f, 0.001929f, 0.001999f, 0.002603f, -0.008114f, 0.006800f, 0.007275f, -0.003401f, 0.007299f, -0.004348f, -0.000931f, 0.009716f, -0.003935f, 0.004645f, 0.002835f, -0.010681f, -0.004813f, 0.008102f, -0.003113f, -0.001488f, 0.005091f, 0.003406f, 0.003633f, 0.001021f, - 0.012421f, 0.002173f, -0.003168f, 0.002838f, -0.004269f, 0.007743f, -0.002196f, -0.004164f, -0.001822f, -0.009978f, -0.003389f, -0.007332f, 0.002438f, -0.000060f, 0.002725f, -0.002894f, 0.004218f, 0.002061f, -0.000456f, 0.001364f, 0.000678f, 0.001050f, 0.001359f, -0.005229f, 0.013258f, 0.002042f, -0.004839f, 0.009914f, -0.002373f, -0.008387f, -0.009312f, 0.009169f, -0.001823f, -0.000619f, 0.005980f, 0.000787f, -0.001588f, 0.004813f, -0.000534f, 0.002848f, 0.000749f, 0.003596f, -0.001838f, 0.003916f, -0.001736f, 0.004640f, 0.006452f, 0.003722f, -0.003879f, -0.003728f, -0.001971f, 0.001999f, -0.004113f, 0.003201f, -0.001977f, 0.004002f, -0.000031f, 0.008536f, 0.001703f, 0.001968f, 0.007167f, 0.000122f, 0.005180f, 0.002485f, -0.000553f, 0.000582f, -0.005546f, 0.002641f, 0.000475f, 0.008778f, 0.003122f, 0.002903f, 0.000418f, 0.002620f, 0.009615f, -0.009019f, 0.005146f, 0.001389f, -0.005957f, -0.002643f, -0.003687f, -0.001178f, -0.003422f, 0.002461f, 0.011088f, 0.007001f, 0.008282f, 0.006599f, 0.011297f, 0.008251f, -0.010239f, -0.018558f, -0.002351f, 0.000892f, -0.004533f, 0.009809f, - -0.000421f, 0.014679f, -0.006857f, -0.006861f, 0.006309f, 0.000350f, 0.000508f, 0.005803f, -0.010736f, 0.002741f, -0.007699f, 0.010132f, 0.005947f, -0.000065f, 0.015381f, 0.000647f, -0.001520f, -0.001964f, -0.002760f, -0.003896f, 0.007244f, 0.003811f, -0.003820f, -0.001347f, -0.010806f, -0.004869f, -0.001494f, 0.011065f, 0.007602f, 0.001131f, 0.005574f, -0.000115f, 0.005929f, -0.000442f, 0.002350f, -0.007120f, 0.006326f, 0.014936f, 0.004073f, 0.000255f, 0.000040f, 0.003913f, 0.003593f, 0.000505f, 0.001976f, 0.003070f, -0.000692f, -0.000730f, 0.003931f, 0.016980f, 0.005346f, 0.013162f, -0.008163f, -0.006669f, -0.003029f, -0.008541f, -0.010029f, -0.004202f, 0.006557f, -0.012157f, -0.002155f, -0.001774f, -0.019024f, 0.003334f, -0.019223f, -0.006602f, -0.003029f, 0.004056f, -0.000489f, 0.003513f, -0.004210f, -0.000573f, -0.013191f, 0.004250f, -0.004769f, -0.007442f, 0.000732f, 0.003152f, -0.001202f, 0.000524f, 0.004768f, 0.009161f, -0.016761f, 0.003991f, 0.000428f, -0.005190f, -0.005819f, -0.001483f, 0.001518f, -0.002614f, -0.010426f, -0.002760f, 0.001882f, 0.004552f, -0.001451f, 0.011499f, - 0.000247f, -0.000031f, 0.004069f, -0.008315f, 0.010506f, 0.002965f, 0.005846f, 0.002279f, 0.004699f, -0.002029f, -0.002091f, 0.002389f, 0.000935f, -0.002777f, -0.004491f, -0.004355f, 0.009156f, 0.010002f, -0.000324f, 0.011031f, 0.000695f, -0.001460f, 0.001361f, 0.000901f, -0.002036f, -0.000134f, -0.007695f, -0.004430f, 0.006905f, 0.008065f, -0.009457f, -0.002301f, 0.003971f, -0.006365f, -0.018109f, 0.004467f, 0.006749f, 0.007833f, -0.004125f, -0.004869f, -0.006423f, 0.009830f, 0.011334f, 0.001862f, 0.004507f, -0.008940f, -0.007116f, 0.008297f, 0.003230f, -0.006736f, 0.011712f, -0.011780f, 0.002008f, 0.001003f, 0.010991f, 0.003892f, -0.002346f, 0.001650f, -0.003713f, 0.005850f, -0.014175f, -0.004379f, -0.020454f, -0.009133f, 0.010468f, -0.001056f, 0.016012f, -0.002379f, -0.013237f, 0.008200f, 0.001922f, -0.005691f, -0.000569f, 0.000368f, -0.005333f, 0.003224f, 0.009592f, 0.010404f, 0.000326f, 0.004738f, -0.000485f, 0.011770f, -0.006253f, 0.004739f, -0.001217f, -0.000889f, 0.000261f, 0.003381f, -0.001505f, 0.014151f, 0.001060f, -0.000436f, -0.003526f, 0.011660f, -0.014765f, -0.001647f, - -0.009860f, -0.010256f, 0.004295f, 0.002535f, 0.022621f, 0.001615f, 0.008618f, -0.018037f, -0.003963f, 0.004547f, -0.009147f, 0.006815f, 0.002318f, 0.002031f, 0.005872f, 0.006723f, 0.015006f, 0.006941f, -0.001832f, 0.005070f, -0.006776f, 0.002583f, 0.006338f, 0.000069f, 0.001689f, 0.006920f, 0.008809f, 0.020587f, 0.004409f, -0.002519f, -0.013288f, -0.000106f, 0.010928f, -0.015815f, 0.002281f, -0.000720f, 0.005601f, -0.007687f, -0.009145f, 0.017902f, -0.010651f, 0.004079f, -0.000222f, -0.010422f, 0.025653f, 0.006990f, 0.013675f, 0.007607f, 0.014906f, -0.002153f, -0.004962f, 0.009705f, -0.008017f, 0.007581f, -0.006304f, 0.004363f, 0.010393f, 0.006015f, -0.004032f, -0.000233f, 0.005492f, -0.008270f, -0.006136f, 0.001055f, -0.000701f, 0.015451f, -0.007904f, -0.013369f, -0.001889f, 0.008339f, 0.012601f, -0.007100f, -0.013436f, -0.001793f, -0.006504f, 0.006059f, -0.024736f, 0.013039f, 0.003368f, -0.006002f, 0.006676f, -0.020298f, -0.017095f, 0.001536f, -0.008781f, 0.018052f, 0.015888f, 0.017022f, -0.012429f, 0.006270f, -0.000423f, 0.016981f, 0.000551f, 0.011846f, 0.004273f, -0.005803f, - -0.016498f, -0.014865f, 0.003860f, -0.019620f, -0.001002f, -0.005038f, -0.009993f, -0.013268f, -0.008214f, -0.000405f, 0.014619f, -0.000453f, 0.005247f, -0.022331f, -0.012936f, -0.002815f, -0.014435f, 0.000465f, 0.012945f, -0.015299f, 0.005362f, -0.000656f, -0.005830f, -0.001846f, -0.003945f, 0.014623f, 0.007325f, 0.007063f, -0.004396f, -0.005043f, 0.019995f, -0.006727f, -0.006448f, -0.017568f, 0.011724f, -0.024752f, 0.002544f, -0.008431f, 0.003012f, 0.008204f, -0.006642f, -0.013414f, -0.008808f, 0.000442f, 0.016846f, -0.009316f, -0.002727f, -0.011920f, -0.009990f, 0.005182f, 0.005350f, 0.013320f, -0.017034f, -0.001011f, 0.003851f, 0.002059f, -0.023531f, 0.004898f, 0.001034f, 0.002617f, -0.031953f, 0.026484f, -0.000425f, -0.001798f, -0.001517f, -0.011257f, 0.002303f, -0.000878f, 0.008977f, -0.009925f, 0.010201f, 0.001891f, -0.007792f, -0.013215f, -0.015750f, 0.006148f, 0.000497f, -0.002641f, 0.000223f, -0.009971f, 0.008509f, 0.005529f, 0.016382f, 0.008749f, 0.006057f, 0.007992f, -0.002919f, -0.010942f, -0.007739f, -0.000951f, -0.005601f, 0.005858f, -0.008949f, -0.014238f, -0.014428f, -0.000805f, - -0.019495f, 0.007012f, 0.009460f, -0.013041f, 0.011148f, -0.015437f, 0.006501f, -0.021993f, 0.002391f, -0.005535f, 0.001201f, -0.007243f, -0.000522f, -0.020724f, -0.003301f, -0.008446f, -0.012010f, -0.005231f, -0.009316f, 0.000871f, -0.008300f, -0.007004f, -0.011849f, 0.003093f, -0.011192f, -0.003165f, 0.018986f, -0.005551f, 0.001244f, 0.003530f, -0.003159f, -0.021269f, -0.020075f, -0.005806f, -0.012639f, 0.001477f, 0.008685f, 0.005857f, -0.019416f, -0.000914f, 0.003237f, -0.018212f, -0.020503f, 0.010765f, -0.020101f, 0.003485f, 0.013229f, -0.010108f, -0.023023f, -0.010288f, 0.000517f, 0.014675f, -0.006146f, 0.026223f, -0.001804f, -0.002647f, -0.015360f, -0.011535f, -0.001720f, 0.004794f, 0.001641f, -0.006159f, -0.004470f, -0.001926f, -0.005556f, -0.012169f, 0.009668f, -0.010245f, -0.005547f, 0.009236f, 0.003277f, -0.017001f, -0.016858f, -0.016704f, 0.014066f, -0.015643f, -0.015468f, 0.024960f, -0.015812f, 0.010420f, -0.001760f, 0.005922f, -0.022837f, 0.009570f, 0.001953f, -0.005002f, -0.000488f, -0.005830f, 0.008282f, 0.004212f, 0.022827f, -0.006960f, -0.003337f, 0.008984f, 0.022229f, 0.004301f, - 0.005300f, -0.011735f, -0.005567f, -0.019302f, -0.002533f, -0.002285f, 0.001132f, 0.010786f, -0.002547f, 0.004762f, 0.023943f, -0.005563f, 0.001036f, -0.004745f, 0.001744f, -0.024499f, -0.022823f, 0.009320f, -0.001783f, 0.011072f, -0.001906f, -0.004961f, -0.007077f, 0.009361f, 0.005714f, -0.005519f, 0.004158f, 0.009526f, -0.005282f, -0.033284f, -0.014576f, -0.006698f, -0.003864f, 0.014565f, -0.026118f, -0.019250f, 0.015733f, 0.009656f, 0.039872f, 0.011071f, 0.009052f, 0.010787f, 0.004898f, -0.007411f, 0.000621f, -0.007802f, 0.012581f, 0.000323f, 0.012704f, 0.000131f, -0.000543f, -0.017852f, 0.008944f, -0.012210f, 0.009089f, -0.002129f, 0.009544f, 0.003536f, 0.012872f, -0.020675f, 0.002219f, -0.014465f, 0.016818f, 0.000664f, -0.017186f, 0.022115f, 0.016507f, 0.010264f, -0.010341f, -0.034756f, 0.009750f, -0.004230f, -0.004366f, 0.016246f, -0.001722f, 0.007162f, 0.016159f, -0.004273f, -0.020665f, -0.000944f, 0.009193f, 0.005129f, -0.005558f, -0.003317f, -0.015107f, 0.004403f, 0.002070f, 0.001726f, -0.002272f, 0.000297f, 0.012910f, -0.010524f, 0.005461f, -0.005519f, 0.009126f, -0.008862f, - -0.036754f, 0.008202f, 0.009688f, 0.038420f, -0.007331f, -0.005515f, 0.018523f, 0.024079f, -0.037719f, -0.021314f, 0.021575f, -0.010332f, 0.001336f, 0.009136f, -0.023783f, -0.052960f, -0.020359f, 0.030936f, 0.024830f, 0.020978f, -0.005557f, 0.011980f, -0.005580f, 0.011063f, -0.010478f, 0.004208f, -0.026315f, 0.007089f, -0.008842f, 0.014299f, 0.014141f, 0.000918f, -0.012045f, 0.013029f, 0.008647f, 0.022164f, -0.001538f, -0.013111f, -0.006001f, -0.033901f, -0.016791f, 0.008748f, -0.001554f, -0.022641f, 0.016332f, 0.021640f, -0.029509f, 0.029518f, -0.002023f, -0.003019f, 0.019194f, 0.003940f, 0.018205f, -0.002194f, 0.007042f, -0.006598f, -0.002702f, 0.008755f, 0.035833f, -0.012804f, 0.023154f, -0.002149f, 0.003001f, 0.007944f, 0.020349f, -0.018565f, 0.003090f, 0.027497f, 0.009548f, -0.014355f, 0.008729f, 0.009239f, 0.003908f, 0.019109f, 0.017517f, -0.002111f, -0.024689f, -0.006609f, 0.024800f, 0.015525f, 0.018647f, -0.012748f, -0.006461f, -0.002464f, -0.002885f, 0.026387f, 0.003269f, -0.028233f, -0.012520f, -0.009049f, 0.017607f, 0.002851f, 0.003700f, 0.014432f, 0.032928f, -0.049498f, - 0.032310f, -0.007153f, -0.005808f, -0.013379f, 0.009632f, 0.009160f, 0.019058f, 0.002118f, 0.018199f, -0.002763f, -0.004740f, 0.004698f, -0.002894f, 0.008289f, 0.016852f, 0.000948f, -0.001036f, 0.020846f, -0.016040f, -0.004168f, 0.005664f, -0.003108f, 0.019691f, -0.024078f, 0.002499f, -0.020856f, 0.003655f, -0.022106f, -0.002377f, -0.000849f, 0.011971f, 0.026459f, -0.015655f, -0.010686f, -0.016162f, -0.002769f, -0.023884f, -0.018005f, -0.015273f, 0.008967f, 0.021413f, -0.001924f, 0.041454f, -0.027785f, 0.037399f, -0.027812f, -0.004092f, 0.008315f, 0.010328f, 0.032563f, 0.023161f, -0.029785f, 0.017381f, -0.014289f, -0.031717f, -0.001599f, -0.022745f, -0.013655f, 0.002072f, 0.033315f, -0.003376f, 0.016142f, 0.031162f, -0.021672f, 0.012998f, -0.036172f, 0.025933f, -0.021242f, -0.009045f, 0.039926f, 0.015272f, 0.042845f, -0.014691f, 0.002730f, -0.015715f, 0.014130f, 0.054387f, 0.015755f, 0.020159f, -0.023726f, -0.002408f, 0.003735f, 0.022565f, 0.020054f, 0.035804f, -0.024528f, -0.006706f, -0.026908f, -0.022207f, 0.004289f, 0.004749f, 0.019819f, -0.014250f, 0.014609f, -0.037074f, 0.027426f, - 0.021774f, 0.011443f, -0.003915f, -0.002280f, 0.005469f, 0.014293f, 0.006845f, 0.005777f, 0.002770f, 0.029538f, 0.026252f, 0.012474f, 0.005174f, -0.018081f, -0.017040f, 0.058365f, 0.005320f, 0.009412f, 0.034519f, 0.016223f, -0.005375f, -0.004178f, 0.023417f, 0.042660f, -0.025449f, -0.009810f, -0.028964f, -0.028281f, 0.043567f, 0.019812f, 0.004881f, -0.005745f, 0.017955f, 0.031581f, 0.024633f, 0.031633f, 0.015033f, -0.011816f, 0.001059f, -0.001687f, 0.011638f, -0.026457f, -0.020011f, -0.007958f, -0.024839f, 0.027059f, -0.003687f, -0.007199f, -0.023758f, -0.004031f, -0.022204f, -0.053432f, 0.008530f, -0.006654f, -0.017581f, 0.012006f, -0.029073f, -0.001708f, -0.016295f, -0.042668f, -0.010678f, -0.018428f, -0.021171f, 0.034306f, -0.010112f, -0.012116f, -0.007226f, -0.000521f, -0.009724f, -0.011740f, -0.003040f, 0.009389f, 0.027749f, 0.022217f, -0.002022f, -0.001181f, -0.049738f, 0.003528f, 0.005329f, 0.020511f, -0.012542f, -0.009380f, 0.072175f, -0.011874f, -0.037425f, -0.034112f, 0.029001f, -0.019525f, 0.007231f, -0.040436f, 0.008663f, -0.010558f, -0.023884f, -0.018022f, -0.048919f, 0.008790f, - 0.011630f, 0.034804f, 0.007846f, -0.016772f, 0.024254f, 0.004563f, 0.022515f, 0.029099f, 0.076995f, 0.022849f, 0.002667f, -0.029450f, -0.037973f, -0.007979f, -0.000340f, -0.003474f, -0.036749f, 0.013971f, 0.028082f, 0.006684f, -0.010287f, -0.031769f, -0.013490f, -0.004642f, 0.010346f, -0.011435f, 0.019571f, -0.009635f, -0.012657f, 0.037367f, 0.019820f, 0.042436f, 0.001100f, -0.012034f, -0.016058f, 0.044938f, -0.037794f, -0.014152f, 0.052870f, -0.031332f, 0.011139f, 0.011017f, 0.014287f, 0.003201f, 0.030119f, -0.009036f, 0.027226f, -0.009915f, 0.006642f, 0.006396f, -0.012667f, 0.019685f, -0.028761f, -0.020637f, -0.018276f, -0.008824f, -0.025354f, -0.048662f, -0.007745f, -0.014562f, 0.008927f, -0.012539f, -0.063458f, 0.017989f, 0.041960f, -0.002351f, -0.007258f, 0.063605f, -0.077334f, -0.017066f, 0.045519f, -0.010786f, 0.035773f, -0.025068f, -0.013783f, 0.011837f, -0.073319f, 0.024339f, -0.023580f, 0.037635f, 0.029829f, -0.039943f, 0.081314f, 0.011724f, 0.006798f, -0.003927f, 0.033996f, -0.056930f, 0.026636f, -0.002418f, -0.005322f, 0.015718f, -0.032467f, 0.052925f, 0.052943f, -0.086409f, - 0.018374f, 0.017285f, 0.004324f, 0.050221f, -0.019756f, -0.060392f, -0.060648f, 0.006893f, 0.009625f, -0.025536f, 0.018187f, -0.032814f, 0.013030f, -0.013780f, 0.034033f, 0.043225f, 0.003207f, 0.041907f, 0.038138f, -0.018108f, 0.001354f, -0.023713f, -0.004607f, -0.003947f, 0.015880f, -0.000393f, -0.002101f, -0.002153f, -0.039889f, -0.060969f, -0.023503f, 0.035215f, 0.027399f, -0.024823f, -0.029265f, 0.020539f, 0.020387f, -0.038713f, 0.022683f, -0.024911f, -0.003118f, 0.034276f, 0.046144f, 0.002860f, -0.024134f, 0.019514f, 0.005430f, 0.030200f, 0.006870f, 0.025725f, 0.025843f, -0.003834f, -0.088333f, 0.013215f, 0.004628f, 0.039697f, -0.011017f, 0.040545f, 0.039426f, -0.021444f, -0.120180f, -0.012970f, 0.007632f, -0.011080f, 0.076529f, 0.081271f, 0.056924f, 0.081013f, -0.016747f, 0.040533f, -0.026890f, 0.056079f, 0.039920f, -0.055580f, 0.081100f, -0.073835f, -0.061524f, -0.056180f, -0.046284f, -0.089462f, 0.021587f, 0.036191f, -0.002675f, 0.048894f, 0.020063f, -0.055500f, -0.012379f, 0.014742f, 0.016463f, 0.018401f, -0.009501f, 0.029332f, 0.004476f, -0.014747f, -0.005743f, 0.012124f, - 0.040354f, 0.052428f, 0.039821f, 0.062397f, -0.055293f, -0.013260f, -0.012751f, -0.056037f, -0.011935f, 0.012897f, 0.005155f, 0.009377f, -0.021257f, -0.023612f, 0.032056f, 0.070098f, -0.029599f, 0.037672f, -0.020485f, 0.012089f, -0.018702f, -0.000444f, -0.050102f, -0.015849f, -0.000720f, -0.069224f, -0.040095f, -0.067596f, -0.057567f, 0.043171f, 0.095986f, 0.078227f, 0.004660f, -0.001048f, 0.002798f, -0.013075f, -0.029539f, -0.109611f, -0.035172f, -0.012297f, 0.012163f, 0.008963f, -0.036961f, -0.023749f, 0.018020f, 0.054307f, 0.033379f, 0.020597f, 0.036619f, 0.060628f, 0.026398f, -0.051358f, 0.048070f, -0.028496f, -0.011179f, 0.037739f, 0.082568f, 0.019781f, 0.102890f, -0.039345f, -0.064266f, 0.039385f, -0.006407f, -0.038970f, 0.018507f, 0.041733f, 0.036263f, -0.075167f, -0.064766f, 0.015779f, -0.030131f, 0.007271f, 0.036521f, -0.020314f, -0.014721f, 0.060053f, 0.016398f, -0.008895f, -0.019236f, -0.017665f, 0.022742f, -0.014131f, -0.002603f, -0.002330f, -0.024528f, -0.010094f, -0.040848f, -0.055160f, 0.019646f, 0.029150f, -0.034256f, 0.024523f, 0.017464f, -0.012598f, -0.023627f, 0.002954f, - 0.043444f, 0.024070f, 0.008134f, -0.043952f, -0.047856f, -0.024357f, 0.013511f, 0.053166f, -0.039979f, -0.022368f, -0.017830f, 0.031301f, 0.087723f, 0.022017f, -0.084433f, -0.020017f, -0.009218f, 0.042566f, 0.001876f, 0.021400f, -0.010136f, -0.021553f, -0.017772f, -0.049697f, 0.046161f, 0.045988f, 0.020549f, 0.048522f, -0.014232f, 0.030487f, -0.013350f, -0.038751f, -0.038223f, -0.045908f, 0.009946f, -0.084179f, 0.087300f, -0.008957f, -0.028060f, -0.052740f, 0.058778f, 0.042474f, 0.012224f, 0.003122f, 0.024225f, 0.021262f, -0.050837f, -0.070506f, 0.015235f, 0.043268f, 0.064897f, -0.006278f, -0.022501f, -0.051313f, -0.032741f, 0.023248f, -0.007405f, -0.044869f, -0.083340f, -0.083602f, 0.009593f, -0.029973f, 0.036446f, -0.095383f, -0.035853f, 0.010191f, 0.006057f, 0.009764f, -0.034703f, 0.005708f, -0.009136f, -0.023821f, -0.010108f, -0.048788f, 0.031419f, 0.039865f, 0.028169f, -0.063339f, -0.036883f, -0.008894f, 0.011853f, 0.020442f, 0.022893f, 0.016353f, -0.013624f, -0.011879f, -0.015000f, 0.031946f, 0.103339f, 0.061870f, -0.065485f, -0.065143f, -0.044037f, -0.081695f, 0.078072f, 0.037270f, - -0.035102f, -0.084848f, -0.081416f, 0.073546f, 0.041860f, 0.001640f, 0.054211f, -0.075854f, -0.017256f, -0.005952f, -0.027597f, -0.003932f, -0.035982f, -0.077577f, 0.004259f, -0.061977f, 0.054680f, 0.054186f, -0.040136f, -0.019138f, -0.017077f, -0.022412f, 0.044120f, -0.070179f, 0.062505f, 0.092193f, 0.099585f, -0.110691f, 0.020962f, -0.002442f, -0.009231f, 0.048417f, -0.019890f, -0.031972f, 0.032932f, 0.017953f, 0.068006f, -0.005588f, -0.053731f, 0.003033f, -0.024588f, 0.041600f, -0.061909f, -0.020315f, -0.029254f, -0.039522f, 0.056084f, -0.039537f, -0.006258f, 0.040624f, 0.022068f, -0.011833f, -0.022142f, -0.055870f, 0.006821f, 0.078155f, 0.045640f, -0.001193f, 0.021825f, -0.015024f, 0.061292f, -0.039700f, 0.027742f, -0.020848f, 0.037565f, 0.066566f, -0.015418f, -0.039287f, 0.019362f, -0.054399f, 0.092903f, 0.013578f, -0.051365f, -0.014544f, -0.079431f, 0.012556f, 0.110254f, -0.017718f, -0.067241f, -0.043289f, 0.066990f, 0.023061f, -0.037446f, 0.000712f, 0.016250f, 0.040859f, 0.092883f, -0.074573f, 0.033207f, 0.079092f, -0.012288f, -0.089769f, -0.088242f, -0.051000f, 0.155871f, -0.113314f, - 0.041259f, -0.113476f, -0.041612f, 0.040193f, -0.105279f, 0.017998f, -0.094601f, 0.041210f, 0.044283f, 0.087600f, 0.038692f, 0.019722f, 0.022783f, -0.027936f, -0.067539f, -0.047343f, -0.044406f, 0.018333f, 0.010790f, -0.012041f, 0.040100f, 0.061500f, -0.027914f, -0.039629f, 0.043023f, 0.007019f, -0.057522f, -0.013890f, 0.025968f, -0.048094f, -0.008396f, 0.009741f, 0.024133f, 0.012104f, 0.034158f, 0.057715f, 0.010396f, -0.038114f, -0.004214f, 0.010432f, -0.029502f, -0.014111f, 0.027512f, -0.021671f, -0.037318f, 0.051259f, -0.012355f, -0.013876f, -0.020491f, -0.021489f, 0.034142f, 0.007611f, 0.008092f, 0.043999f, -0.021117f, -0.035855f, -0.001561f, 0.002261f, -0.014243f, 0.010401f, -0.001878f, -0.013528f, -0.001604f, -0.045028f, 0.010493f, 0.007431f, -0.006678f, 0.022488f, 0.016837f, 0.007144f, 0.011537f, -0.046350f, 0.054719f, -0.020941f, -0.018264f, 0.016024f, -0.047920f, 0.016707f, -0.035958f, 0.008640f, -0.047856f, 0.079735f, -0.003143f, 0.045509f, -0.039544f, 0.005878f, -0.006360f, 0.014939f, 0.013734f, 0.024742f, -0.011204f, 0.018404f, -0.009916f, 0.010480f, -0.000712f, 0.008433f, - 0.020081f, -0.001619f, 0.030576f, -0.011136f, 0.023388f, 0.001861f, 0.000183f, -0.007672f, 0.015417f, -0.010720f, 0.014061f, -0.006972f, 0.002098f, -0.005705f, 0.008279f, -0.004577f, 0.018020f, -0.004700f, -0.010476f, 0.027389f, -0.017290f, 0.014529f, 0.012653f, 0.004573f, 0.014402f, -0.016081f, -0.010036f, 0.012700f, 0.012988f, -0.006936f, -0.000058f, 0.013427f, 0.000357f, -0.018126f, 0.009659f, -0.009165f, 0.011081f, 0.012868f, 0.007731f, 0.004391f, 0.005920f, -0.019812f, 0.011514f, 0.005395f, -0.004004f, 0.006941f, -0.007227f, 0.004084f, -0.002424f, -0.001490f, -0.000126f, 0.006089f, 0.015854f, -0.019492f, 0.019256f, -0.004699f, -0.003341f, 0.007466f, -0.009272f, 0.003263f, 0.012431f, -0.003385f, 0.019973f, -0.066082f, -0.206808f, -0.030069f, 0.100934f, 0.052444f, 0.244841f, 0.045894f, 0.052877f, 0.033523f, -0.065590f, -0.092332f, -0.065834f, -0.118474f, -0.101966f, -0.057505f, -0.023548f, 0.068565f, 0.185925f, 0.147805f, 0.127069f, 0.072641f, -0.056968f, -0.092455f, -0.068262f, -0.127605f, -0.121246f, -0.036659f, -0.016908f, -0.027752f, 0.047177f, 0.074197f, 0.048781f, 0.090372f, - 0.069445f, 0.021856f, 0.063866f, 0.013653f, -0.009449f, 0.006546f, -0.038448f, -0.100523f, -0.086034f, -0.072407f, -0.102612f, -0.042244f, 0.029937f, 0.021351f, 0.065647f, 0.075157f, 0.064950f, 0.067527f, 0.068066f, 0.044016f, 0.042137f, 0.005483f, -0.037965f, -0.069837f, -0.048398f, -0.065653f, -0.088126f, -0.042376f, -0.040488f, -0.031858f, 0.012361f, 0.034471f, 0.031877f, 0.063377f, 0.077735f, 0.038873f, 0.054860f, 0.048165f, -0.012849f, 0.006943f, 0.021269f, -0.024280f, -0.024220f, -0.036967f, -0.033727f, -0.018175f} - }, - { - {0.002918f, 0.005029f, 0.000714f, 0.002853f, 0.006330f, -0.001978f, 0.006738f, 0.001745f, 0.001243f, -0.007809f, -0.001932f, -0.007740f, -0.000934f, 0.007770f, 0.005638f, -0.000557f, 0.003545f, -0.001114f, 0.002949f, -0.000970f, 0.003689f, 0.003121f, 0.003992f, 0.009549f, 0.004008f, -0.007040f, -0.000639f, -0.007973f, 0.004108f, 0.002956f, -0.001205f, 0.000809f, 0.000887f, -0.001728f, -0.002500f, 0.004773f, -0.002182f, 0.001543f, 0.004268f, -0.004246f, 0.007171f, -0.001680f, -0.000003f, 0.003410f, -0.001536f, 0.001121f, 0.000808f, 0.003604f, 0.005625f, 0.000110f, 0.000861f, -0.002056f, -0.000272f, 0.000339f, -0.003171f, -0.003005f, 0.003559f, 0.009655f, -0.000884f, -0.005397f, -0.004841f, 0.003040f, 0.004768f, 0.005496f, 0.003106f, 0.007846f, 0.000459f, 0.005688f, -0.004512f, -0.002993f, 0.003590f, -0.001157f, 0.004790f, -0.000295f, -0.001576f, 0.002565f, -0.006599f, 0.005035f, 0.003170f, -0.006503f, -0.001134f, 0.008382f, 0.002490f, 0.002101f, 0.004612f, -0.001045f, 0.001265f, -0.002123f, -0.008725f, -0.003379f, -0.000435f, -0.001870f, 0.002503f, -0.002642f, -0.000856f, -0.007330f, - -0.000023f, 0.001341f, -0.005238f, -0.001066f, -0.006612f, -0.002270f, -0.002127f, -0.007898f, -0.003695f, 0.002622f, 0.003439f, 0.009026f, 0.005250f, 0.011511f, -0.001288f, -0.001769f, 0.001619f, -0.003843f, 0.009871f, 0.000686f, 0.004626f, 0.007978f, 0.001311f, -0.003080f, 0.003146f, -0.004095f, -0.005677f, -0.001291f, -0.002507f, -0.002980f, -0.010427f, -0.003223f, -0.000051f, 0.001737f, 0.002978f, 0.000989f, 0.005143f, -0.005734f, 0.004520f, 0.000093f, 0.001033f, 0.003412f, -0.004203f, -0.009001f, -0.004062f, 0.004024f, 0.005586f, 0.004462f, 0.000249f, 0.004539f, 0.003250f, 0.006112f, 0.002961f, 0.002663f, -0.003915f, 0.000272f, -0.000241f, -0.004951f, 0.004395f, -0.007530f, -0.004684f, 0.011697f, -0.002076f, 0.010320f, -0.005516f, 0.000850f, 0.005038f, 0.002137f, 0.000201f, -0.007214f, -0.010130f, -0.010594f, 0.000982f, 0.000091f, -0.003087f, 0.001235f, -0.009357f, 0.018188f, 0.001946f, -0.010401f, 0.002591f, -0.005539f, -0.005953f, 0.005291f, 0.007668f, -0.000308f, 0.001636f, 0.003525f, -0.000676f, -0.000158f, 0.006008f, -0.003554f, -0.001597f, 0.000161f, 0.011039f, -0.000430f, - -0.001394f, -0.004423f, -0.006665f, 0.003212f, -0.001702f, -0.006979f, -0.003123f, -0.008363f, 0.001027f, -0.007615f, 0.000112f, -0.005833f, -0.001890f, -0.005170f, -0.010257f, -0.004461f, -0.000665f, 0.009367f, 0.001412f, -0.003093f, 0.005270f, 0.008517f, 0.001361f, -0.012380f, 0.005592f, -0.000408f, 0.002326f, 0.003539f, -0.002689f, 0.007161f, -0.003653f, -0.007351f, -0.006890f, -0.013219f, 0.001470f, -0.005099f, -0.004044f, -0.006708f, -0.009669f, 0.014989f, -0.004304f, -0.014464f, 0.000656f, 0.004333f, 0.000036f, 0.003950f, 0.003201f, -0.011569f, 0.003574f, -0.003062f, -0.000832f, -0.000033f, -0.002404f, 0.007981f, -0.002986f, -0.006009f, -0.000843f, 0.006258f, 0.003910f, 0.001989f, 0.003635f, 0.015881f, 0.003992f, -0.006186f, 0.007081f, -0.007443f, 0.001948f, -0.006130f, 0.015113f, 0.001810f, -0.005345f, -0.003640f, -0.005352f, -0.002379f, 0.009933f, -0.008828f, -0.007197f, -0.002773f, 0.008184f, 0.004168f, -0.008141f, 0.001498f, 0.001480f, -0.005340f, -0.000058f, -0.017589f, 0.005315f, -0.004680f, -0.003487f, -0.011501f, 0.015890f, 0.000024f, -0.008693f, -0.007547f, -0.008530f, -0.000337f, - -0.002041f, -0.000123f, -0.000300f, -0.010781f, 0.012553f, -0.008385f, -0.006869f, 0.003831f, 0.001135f, 0.003701f, -0.003825f, -0.002203f, -0.008117f, -0.000883f, 0.001450f, -0.011808f, -0.007843f, -0.001377f, 0.013389f, 0.000399f, 0.002892f, -0.011107f, 0.003407f, 0.006342f, 0.004651f, -0.000497f, -0.005552f, 0.014373f, 0.002516f, -0.002915f, 0.006928f, 0.005598f, -0.006717f, 0.008775f, -0.005913f, 0.014500f, 0.002093f, 0.012929f, -0.001386f, 0.002217f, -0.005061f, -0.014799f, 0.001632f, 0.000211f, 0.000548f, -0.002642f, 0.003075f, 0.007663f, -0.001901f, -0.007674f, -0.004951f, -0.010876f, -0.002917f, -0.005429f, -0.005628f, 0.000844f, 0.003765f, 0.005681f, -0.006849f, 0.004654f, -0.004561f, -0.005931f, -0.000710f, 0.004739f, 0.000993f, 0.001014f, -0.010680f, -0.010597f, -0.001897f, -0.003320f, -0.007791f, 0.016864f, 0.008017f, -0.001370f, 0.003367f, 0.006572f, -0.017219f, -0.009082f, 0.011645f, -0.006834f, 0.010917f, 0.002055f, -0.002231f, -0.012055f, -0.008544f, 0.013272f, 0.007294f, 0.012446f, -0.013749f, -0.001645f, -0.009623f, -0.001600f, 0.003108f, -0.006126f, 0.000815f, 0.001331f, - -0.022524f, 0.001244f, -0.002855f, 0.006152f, -0.013611f, 0.004408f, -0.004560f, 0.022852f, -0.006005f, -0.011783f, -0.004280f, -0.009879f, 0.003140f, 0.008506f, -0.002652f, 0.015982f, 0.001684f, -0.004670f, 0.003896f, 0.001979f, 0.004208f, -0.005615f, -0.000940f, 0.005971f, 0.009418f, 0.003741f, -0.001809f, 0.004529f, -0.008297f, -0.002571f, 0.011836f, 0.008454f, 0.013890f, 0.009848f, -0.000162f, -0.006994f, -0.014670f, 0.010217f, -0.001535f, -0.010710f, 0.005664f, -0.002797f, -0.016427f, 0.000478f, -0.013675f, -0.001044f, 0.012545f, -0.002062f, -0.009153f, -0.004209f, 0.012001f, -0.010244f, -0.016739f, 0.017181f, -0.003091f, -0.004090f, 0.004160f, 0.002251f, 0.002191f, 0.004204f, 0.004308f, 0.002378f, -0.012219f, -0.004607f, 0.009840f, -0.001164f, -0.003405f, 0.003063f, 0.016821f, -0.008164f, -0.008720f, -0.003931f, 0.007333f, 0.003756f, -0.013911f, -0.006107f, -0.019650f, -0.000280f, 0.005430f, 0.019194f, 0.019824f, -0.006202f, 0.009938f, -0.012521f, 0.004298f, 0.008519f, 0.012776f, -0.003541f, 0.019096f, -0.003422f, 0.016214f, -0.008648f, 0.013602f, -0.006630f, -0.022304f, -0.004945f, - 0.005715f, -0.007592f, 0.008769f, -0.004708f, -0.005278f, 0.002574f, -0.024473f, -0.007799f, -0.000407f, -0.004126f, -0.001382f, -0.011733f, -0.004012f, -0.004093f, 0.003995f, 0.025201f, 0.014523f, -0.014426f, 0.008043f, 0.020182f, 0.005039f, -0.006885f, 0.005058f, -0.005145f, -0.005910f, 0.014567f, 0.010087f, -0.009889f, -0.001306f, 0.010426f, 0.021528f, -0.006777f, 0.011717f, 0.032050f, 0.013745f, -0.014567f, 0.005945f, 0.003846f, -0.017791f, 0.002797f, -0.014721f, 0.006695f, -0.016059f, -0.003647f, 0.000591f, 0.007691f, -0.010553f, -0.002781f, -0.005325f, -0.009401f, 0.012075f, 0.010625f, -0.000870f, -0.006918f, 0.001435f, 0.008229f, -0.004772f, -0.020490f, 0.004167f, -0.016555f, 0.002149f, -0.005801f, 0.020358f, -0.011034f, 0.002497f, 0.004997f, 0.001631f, 0.007074f, -0.003484f, 0.022290f, 0.001365f, -0.015245f, -0.003161f, -0.011368f, -0.002151f, -0.004023f, -0.010592f, -0.013278f, -0.003676f, -0.008721f, -0.004277f, 0.014092f, 0.005044f, -0.012789f, 0.004443f, -0.015178f, -0.003141f, 0.010236f, -0.020417f, -0.018182f, 0.009754f, 0.009020f, 0.004591f, -0.001052f, -0.012501f, 0.004390f, - -0.006309f, -0.011946f, -0.005606f, 0.000204f, 0.003375f, 0.018659f, -0.007772f, -0.002546f, 0.000770f, 0.008521f, 0.004459f, -0.006950f, -0.008730f, -0.015603f, -0.004853f, -0.003671f, -0.008579f, -0.010047f, 0.006097f, 0.012548f, -0.000195f, -0.008271f, 0.013990f, 0.002662f, -0.007063f, 0.001784f, -0.002157f, -0.001648f, -0.004959f, -0.002381f, 0.009017f, -0.006637f, -0.011186f, -0.005172f, 0.005016f, -0.005918f, 0.010531f, 0.019916f, -0.014552f, -0.000389f, 0.013675f, -0.006337f, -0.009427f, 0.012462f, -0.019274f, -0.001133f, 0.003891f, -0.002502f, -0.006984f, -0.008581f, -0.003810f, 0.003375f, -0.000701f, 0.009323f, 0.005083f, -0.003179f, -0.007046f, -0.005508f, 0.015811f, 0.000502f, -0.018370f, 0.008649f, -0.011431f, -0.011817f, 0.007649f, 0.013377f, 0.014342f, 0.010284f, 0.000221f, 0.006857f, 0.005406f, 0.006432f, -0.005553f, -0.000601f, -0.004914f, -0.013868f, 0.006378f, -0.003850f, -0.000024f, -0.003374f, 0.002075f, -0.002661f, 0.015763f, 0.027383f, 0.005428f, -0.005327f, 0.000808f, -0.020429f, 0.020242f, -0.014147f, -0.007801f, -0.013684f, -0.014927f, 0.026379f, 0.002614f, -0.015784f, - -0.004234f, 0.017874f, 0.010938f, -0.015022f, -0.009158f, 0.020468f, 0.003288f, 0.001196f, 0.029411f, -0.014318f, 0.009571f, -0.011113f, -0.025158f, 0.011642f, 0.016124f, 0.000874f, -0.011383f, 0.008644f, 0.011252f, 0.021463f, 0.019606f, -0.001541f, 0.016615f, 0.007052f, 0.016960f, 0.016332f, -0.029080f, 0.009537f, -0.009880f, -0.013023f, -0.009651f, -0.003434f, -0.018789f, -0.004550f, 0.003737f, -0.016236f, -0.032446f, 0.006494f, -0.002917f, -0.029388f, -0.021681f, -0.019525f, -0.011150f, 0.000233f, -0.006050f, 0.006003f, -0.004451f, 0.010576f, 0.021517f, -0.013511f, 0.006877f, -0.005809f, -0.010836f, -0.008221f, 0.000684f, -0.003008f, -0.001589f, 0.015690f, -0.001355f, 0.015813f, 0.020920f, 0.005590f, 0.008622f, 0.013422f, -0.002551f, 0.002009f, -0.022004f, 0.019034f, -0.018077f, -0.007034f, -0.006235f, 0.000836f, -0.005509f, -0.017542f, -0.015334f, -0.033028f, 0.028323f, -0.033743f, -0.032483f, 0.004345f, 0.029704f, 0.009753f, -0.004719f, -0.008755f, 0.013196f, -0.016511f, 0.016666f, -0.006307f, 0.001312f, 0.000555f, -0.012638f, 0.010890f, -0.014915f, -0.012605f, 0.003302f, 0.014052f, - 0.018109f, 0.018054f, 0.019651f, 0.045146f, 0.020779f, 0.026101f, -0.011699f, 0.041812f, -0.022611f, 0.001815f, 0.009946f, 0.000483f, -0.014564f, 0.005788f, -0.003356f, -0.034410f, 0.014219f, -0.008207f, 0.004720f, -0.002679f, -0.010638f, 0.000610f, 0.011418f, -0.013582f, -0.006334f, -0.001653f, 0.009276f, -0.020844f, 0.014601f, 0.005631f, -0.018522f, -0.001034f, 0.009088f, -0.017279f, 0.007772f, -0.020839f, 0.010971f, -0.001392f, -0.005725f, -0.000417f, -0.012723f, 0.018277f, 0.022356f, -0.019798f, -0.010281f, 0.009474f, -0.005915f, 0.005925f, 0.006392f, 0.001619f, 0.001996f, 0.024621f, -0.004809f, -0.016127f, 0.016478f, -0.000491f, -0.011442f, -0.010711f, -0.018852f, 0.003909f, 0.006966f, 0.010048f, 0.011180f, -0.009567f, -0.014306f, 0.008467f, 0.005821f, 0.029940f, 0.004554f, -0.004651f, 0.001937f, 0.000630f, -0.008227f, -0.006525f, -0.023674f, -0.026634f, 0.045280f, 0.031699f, 0.040499f, 0.002911f, -0.025532f, 0.009447f, 0.021249f, 0.015304f, -0.006336f, -0.015957f, -0.004570f, -0.005622f, -0.007703f, -0.013669f, -0.005434f, -0.011411f, 0.030178f, 0.005197f, 0.005127f, 0.000638f, - 0.001907f, 0.003602f, -0.010944f, 0.020271f, 0.011332f, -0.000756f, 0.007324f, -0.002395f, 0.020517f, 0.004202f, -0.001742f, -0.032985f, -0.002427f, 0.002542f, 0.003209f, -0.005817f, 0.004182f, -0.015391f, 0.027108f, 0.022419f, 0.021162f, 0.018953f, -0.014636f, -0.019723f, 0.015359f, 0.005194f, 0.007422f, -0.000909f, -0.023643f, -0.016569f, 0.001139f, -0.012845f, -0.000105f, -0.010747f, -0.005147f, 0.014417f, 0.004109f, -0.009745f, 0.003158f, -0.025684f, 0.000271f, -0.043783f, -0.022981f, -0.041432f, 0.035115f, 0.032360f, 0.033564f, 0.041711f, 0.019026f, -0.007255f, -0.020249f, -0.006283f, -0.003614f, 0.004852f, 0.027538f, -0.015721f, -0.021218f, 0.019149f, 0.024835f, -0.011864f, 0.023097f, 0.003403f, -0.009376f, 0.009343f, -0.032728f, -0.010102f, 0.009676f, -0.010392f, -0.019899f, -0.038082f, 0.019171f, -0.016304f, 0.004843f, 0.024854f, 0.006390f, 0.028951f, 0.022556f, 0.012630f, 0.005245f, -0.016977f, -0.004464f, -0.008866f, 0.002133f, 0.016120f, 0.008985f, 0.003355f, 0.014366f, 0.039267f, -0.001365f, -0.033354f, -0.013928f, 0.005404f, 0.008786f, -0.001907f, 0.001652f, 0.003158f, - -0.013357f, 0.000871f, -0.030473f, 0.007055f, -0.031856f, -0.011996f, -0.024368f, 0.012513f, -0.011535f, -0.020895f, 0.033111f, 0.008922f, 0.003950f, -0.014350f, -0.017644f, 0.004769f, 0.009181f, 0.002813f, 0.012145f, -0.016273f, 0.037770f, -0.043456f, 0.013491f, -0.018069f, -0.023943f, -0.014702f, 0.025611f, 0.006994f, -0.021457f, 0.017643f, -0.015734f, 0.048485f, 0.000574f, -0.005234f, -0.016114f, 0.002016f, 0.045347f, 0.046662f, 0.044014f, 0.009310f, -0.011914f, -0.007482f, -0.028498f, 0.022964f, 0.000599f, 0.013426f, -0.008579f, 0.004235f, -0.010463f, -0.008115f, -0.016500f, 0.008752f, -0.017175f, 0.027965f, -0.073388f, -0.021483f, 0.000466f, -0.022325f, 0.015703f, -0.022949f, 0.004637f, -0.008961f, 0.023010f, 0.003950f, 0.022151f, 0.001450f, -0.005285f, -0.000521f, 0.008083f, -0.025859f, -0.018496f, -0.020160f, -0.002867f, 0.024818f, -0.049355f, 0.016921f, 0.042857f, 0.005072f, -0.031589f, -0.001454f, -0.026610f, -0.025701f, 0.017612f, -0.003572f, -0.021744f, 0.011823f, 0.001773f, -0.008358f, -0.012303f, 0.006739f, 0.017792f, 0.010529f, -0.025265f, -0.018742f, 0.014371f, 0.021383f, - -0.017826f, -0.023865f, 0.011473f, 0.023910f, -0.029754f, -0.001545f, -0.026631f, -0.036916f, 0.042913f, -0.007935f, 0.006240f, -0.009050f, 0.026020f, -0.007579f, 0.005062f, -0.016107f, 0.018788f, -0.011349f, -0.003625f, -0.038003f, -0.019257f, -0.010983f, -0.032663f, -0.045663f, -0.010889f, -0.017210f, 0.037362f, 0.009163f, 0.056966f, 0.007873f, -0.020117f, 0.004954f, 0.008438f, -0.051910f, -0.000129f, 0.039984f, 0.024352f, -0.031513f, 0.000959f, 0.018462f, -0.042276f, -0.009339f, -0.022658f, 0.013653f, -0.018396f, 0.007936f, -0.000345f, -0.010866f, -0.000901f, -0.003224f, -0.015701f, 0.010241f, -0.029797f, -0.013627f, -0.014588f, -0.036771f, -0.010196f, -0.007701f, -0.002659f, -0.000921f, -0.012379f, -0.013954f, 0.057880f, 0.014945f, -0.027093f, -0.046821f, -0.019096f, 0.000782f, 0.040745f, -0.014422f, -0.009297f, -0.028526f, -0.010220f, -0.021326f, 0.032523f, -0.033554f, 0.028498f, 0.036755f, -0.045415f, 0.022927f, 0.006195f, -0.022248f, -0.019999f, 0.005101f, 0.014598f, -0.095673f, -0.016897f, -0.005816f, -0.017786f, 0.017707f, -0.018279f, -0.074171f, -0.033625f, -0.026002f, -0.012862f, 0.010160f, - 0.060116f, -0.001940f, -0.069988f, -0.039394f, -0.043225f, -0.008369f, -0.023789f, -0.001305f, -0.035323f, 0.058012f, 0.035016f, -0.006645f, 0.046290f, 0.000910f, 0.049946f, 0.011376f, -0.028038f, -0.039488f, -0.023951f, -0.032015f, -0.013370f, 0.007035f, 0.022094f, -0.007658f, 0.007815f, -0.026706f, 0.005348f, -0.038247f, -0.002393f, -0.003001f, 0.013946f, -0.014975f, 0.061170f, 0.006783f, -0.000287f, 0.038792f, -0.014079f, -0.029304f, -0.015072f, 0.023277f, -0.000254f, -0.017210f, 0.008425f, -0.001455f, 0.052918f, 0.011311f, 0.002184f, -0.021150f, -0.028615f, -0.079224f, 0.007415f, -0.063281f, 0.033897f, 0.104550f, -0.072998f, -0.017776f, 0.020225f, -0.014673f, -0.010023f, -0.022899f, 0.021388f, -0.023500f, -0.069306f, -0.021213f, -0.068667f, -0.017025f, 0.002804f, -0.047532f, -0.000950f, -0.067549f, 0.034863f, -0.007906f, -0.034817f, 0.102504f, 0.015530f, 0.044020f, -0.022680f, -0.124197f, -0.013700f, -0.032375f, -0.035345f, 0.044084f, 0.034814f, -0.044084f, -0.034997f, 0.083867f, -0.010419f, 0.026630f, 0.003556f, -0.005288f, -0.010581f, -0.010074f, -0.028321f, -0.001171f, 0.008981f, 0.014304f, - 0.009446f, 0.029417f, -0.024589f, -0.001451f, -0.023981f, -0.014691f, 0.008601f, 0.042098f, 0.026840f, 0.037071f, 0.033259f, -0.008517f, 0.011540f, 0.019545f, -0.000725f, -0.035707f, -0.007116f, 0.047384f, -0.009408f, -0.069797f, -0.031143f, 0.006694f, -0.059184f, -0.026123f, -0.060633f, -0.041986f, -0.038185f, 0.054474f, 0.037055f, -0.012847f, 0.037086f, 0.013756f, 0.052631f, 0.035108f, 0.016388f, -0.094737f, -0.021784f, 0.003520f, -0.083412f, -0.061075f, -0.024026f, -0.016647f, -0.097578f, 0.020369f, 0.052659f, 0.071370f, 0.085093f, -0.029109f, -0.056863f, -0.000603f, -0.057333f, -0.041750f, -0.079204f, -0.086684f, -0.062063f, -0.051293f, 0.058779f, -0.035244f, -0.089411f, 0.039011f, 0.007432f, -0.059813f, 0.061667f, 0.032200f, 0.021063f, -0.010630f, -0.053201f, -0.011008f, 0.004660f, 0.057888f, 0.075739f, 0.007470f, 0.022669f, 0.007954f, 0.005278f, -0.000151f, 0.012842f, -0.027133f, 0.105424f, 0.027939f, -0.030429f, -0.030083f, -0.011877f, 0.007922f, 0.053074f, -0.020795f, -0.004578f, 0.003483f, 0.028361f, -0.020816f, 0.016382f, 0.005256f, -0.002609f, -0.080997f, -0.023447f, 0.030754f, - 0.046909f, 0.019242f, -0.006347f, -0.020687f, -0.052729f, -0.002346f, 0.012268f, -0.009479f, 0.004143f, -0.010738f, -0.032793f, 0.040136f, -0.005122f, 0.016884f, -0.035199f, -0.004121f, 0.101818f, 0.011383f, -0.007513f, 0.015509f, 0.016335f, 0.013305f, 0.053156f, -0.014160f, -0.018756f, 0.040975f, -0.000394f, 0.025859f, 0.017645f, 0.036029f, -0.008297f, -0.033043f, 0.022968f, -0.013777f, 0.007833f, 0.141362f, 0.139740f, 0.058518f, 0.029876f, 0.060412f, 0.001237f, -0.079811f, -0.026948f, 0.008235f, 0.002673f, -0.024967f, 0.046246f, 0.019382f, 0.012950f, -0.025606f, 0.055343f, -0.011400f, -0.006783f, -0.024648f, 0.025487f, 0.014983f, -0.057248f, -0.078605f, -0.028519f, 0.004500f, -0.004598f, -0.021005f, -0.074192f, -0.013904f, 0.014422f, -0.002045f, -0.031051f, -0.016350f, -0.028835f, -0.032399f, 0.006057f, 0.011390f, -0.051395f, -0.054174f, -0.025956f, -0.065441f, 0.006034f, 0.044000f, -0.054824f, 0.042056f, -0.033295f, -0.034167f, -0.060728f, -0.077095f, -0.089541f, -0.081587f, -0.049332f, -0.006974f, 0.017114f, 0.006170f, 0.016698f, -0.046220f, -0.099771f, -0.041485f, -0.096709f, -0.154970f, - -0.069043f, 0.112746f, 0.191550f, 0.113306f, -0.063651f, -0.046801f, -0.195848f, -0.169619f, 0.098851f, 0.013617f, 0.133720f, 0.148494f, 0.144346f, 0.048358f, -0.081313f, -0.084854f, -0.106840f, -0.105852f, -0.028356f, -0.008364f, 0.012416f, -0.048211f, 0.063258f, 0.029689f, 0.055898f, -0.128731f, 0.026813f, 0.015719f, -0.041198f, 0.027111f, -0.031405f, -0.015769f, -0.010936f, -0.019434f, 0.052518f, 0.099765f, -0.031638f, 0.019197f, -0.016429f, 0.023179f, 0.048908f, -0.016622f, -0.011836f, -0.028778f, 0.012233f, -0.018472f, -0.058242f, 0.040008f, 0.066043f, -0.009581f, -0.038597f, -0.033376f, -0.075007f, -0.020237f, 0.052102f, 0.037035f, 0.016350f, -0.079727f, -0.049003f, -0.034685f, 0.067676f, 0.061347f, 0.050831f, -0.155174f, -0.106298f, -0.012118f, 0.074092f, 0.164801f, -0.002100f, -0.196634f, -0.075226f, 0.007571f, 0.063947f, -0.004271f, 0.034011f, 0.029004f, -0.088633f, -0.036162f, -0.026075f, -0.049854f, 0.001599f, -0.094949f, 0.013527f, 0.040950f, -0.118600f, -0.072218f, -0.037251f, -0.011577f, 0.130071f, 0.003418f, -0.197981f, 0.024550f, 0.031360f, 0.038287f, 0.084732f, 0.052091f, - 0.043731f, -0.105551f, 0.014728f, -0.077696f, 0.013964f, 0.064990f, 0.057951f, 0.018320f, -0.037497f, 0.006768f, -0.022153f, -0.006379f, -0.027435f, -0.021425f, 0.014606f, 0.002785f, -0.039864f, -0.005794f, 0.021560f, -0.005733f, 0.003048f, 0.006244f, -0.024942f, -0.026950f, 0.000231f, 0.015287f, 0.003253f, -0.042707f, 0.004554f, 0.019225f, 0.007863f, 0.002955f, 0.044294f, -0.006794f, -0.009920f, 0.013181f, 0.018092f, -0.031367f, -0.030370f, 0.021367f, 0.006588f, -0.027370f, 0.018732f, 0.004357f, 0.010358f, -0.020302f, 0.009476f, 0.016237f, 0.005066f, -0.027757f, 0.035951f, -0.007673f, -0.033808f, -0.002808f, 0.032419f, 0.004814f, -0.020446f, 0.017494f, 0.011410f, -0.038667f, 0.018376f, -0.003598f, 0.039408f, -0.037076f, 0.008273f, 0.017313f, -0.048621f, -0.005426f, 0.030464f, -0.009024f, 0.024187f, -0.018473f, -0.025902f, -0.006550f, -0.026081f, 0.020693f, -0.050893f, 0.086476f, 0.013224f, 0.039734f, -0.032010f, 0.015886f, -0.005982f, 0.011452f, 0.010556f, -0.013109f, 0.006979f, 0.016765f, -0.007733f, 0.035147f, 0.002817f, 0.002240f, 0.012871f, 0.012249f, 0.000053f, -0.007548f, - 0.015858f, -0.001139f, -0.008677f, -0.000953f, 0.015960f, -0.014649f, 0.004760f, 0.008220f, -0.018629f, 0.026129f, -0.003549f, -0.010985f, 0.039902f, -0.014757f, -0.021163f, 0.018725f, 0.011270f, -0.009564f, 0.018203f, 0.014387f, -0.003082f, -0.004381f, -0.001412f, 0.006030f, 0.011197f, 0.006620f, 0.001572f, -0.005648f, 0.021464f, -0.020114f, 0.020675f, 0.003928f, -0.000594f, 0.006241f, 0.007767f, 0.007084f, 0.002642f, -0.017870f, 0.007084f, 0.017063f, -0.009673f, 0.000802f, 0.001889f, 0.013155f, 0.000662f, -0.003990f, 0.020544f, -0.008696f, 0.011930f, -0.018564f, -0.005234f, 0.019381f, -0.015979f, 0.018629f, -0.003197f, 0.012532f, 0.019770f, -0.070532f, -0.225272f, -0.011565f, 0.121119f, 0.054361f, 0.258217f, 0.021981f, 0.054344f, 0.002235f, -0.075611f, -0.094942f, -0.064571f, -0.115674f, -0.081231f, -0.050869f, 0.001528f, 0.088389f, 0.173669f, 0.128139f, 0.111097f, 0.036410f, -0.060948f, -0.088836f, -0.080382f, -0.094116f, -0.104972f, -0.042190f, -0.020484f, -0.008916f, 0.050569f, 0.067972f, 0.050599f, 0.094957f, 0.060639f, 0.022993f, 0.063016f, 0.001833f, -0.028132f, -0.017867f, - -0.057581f, -0.116530f, -0.071658f, -0.068005f, -0.070392f, 0.004160f, 0.031934f, 0.023036f, 0.085352f, 0.071092f, 0.047973f, 0.069990f, 0.073112f, 0.021618f, 0.021497f, -0.007054f, -0.064086f, -0.087366f, -0.068009f, -0.087471f, -0.063435f, -0.020870f, -0.016041f, 0.006697f, 0.047776f, 0.039137f, 0.033784f, 0.069701f, 0.056193f, 0.043402f, 0.070577f, 0.021929f, -0.013445f, 0.000837f, -0.026097f, -0.054986f, -0.031575f, -0.053702f, -0.034234f, -0.014690f}, - {-0.000974f, -0.000544f, -0.001053f, 0.007468f, 0.004839f, 0.000821f, -0.002807f, 0.003869f, 0.006696f, -0.002052f, 0.007410f, -0.004715f, -0.001510f, 0.004824f, 0.001644f, -0.008346f, 0.002647f, 0.005176f, -0.011583f, -0.000211f, 0.009561f, -0.005616f, -0.008028f, 0.008018f, -0.006457f, 0.001631f, -0.004731f, 0.000691f, 0.000623f, 0.000710f, -0.000425f, -0.005849f, 0.008387f, -0.003795f, -0.001920f, -0.005160f, -0.005383f, 0.000329f, -0.001152f, -0.003904f, -0.006648f, -0.005349f, 0.010195f, -0.001120f, 0.003981f, 0.002811f, -0.000651f, 0.007783f, 0.002081f, 0.005424f, -0.000607f, -0.004044f, 0.005315f, -0.007496f, -0.004059f, 0.000068f, -0.000799f, 0.000762f, 0.001814f, 0.005628f, -0.001923f, -0.001122f, -0.002282f, 0.001571f, -0.000779f, -0.001392f, 0.003496f, -0.000117f, 0.004366f, -0.000820f, -0.003615f, -0.003065f, -0.000014f, 0.000885f, -0.001373f, 0.001829f, -0.004964f, 0.001424f, 0.006222f, -0.000341f, 0.000731f, -0.008753f, -0.004307f, 0.001512f, 0.012049f, -0.007454f, 0.002670f, -0.012122f, 0.012835f, 0.001028f, 0.004830f, -0.001257f, 0.002202f, -0.002175f, -0.004139f, -0.010507f, - 0.004737f, -0.010532f, -0.004810f, -0.005851f, 0.006305f, 0.005053f, 0.002548f, 0.005260f, 0.009743f, 0.000839f, -0.008422f, 0.005907f, 0.001157f, -0.000182f, 0.004894f, -0.001489f, -0.002897f, -0.012404f, 0.002297f, -0.003382f, 0.003018f, 0.005555f, -0.006597f, -0.002479f, 0.006513f, 0.002220f, 0.001020f, -0.006171f, 0.016520f, 0.010056f, 0.001891f, 0.008137f, 0.006770f, 0.006557f, -0.014505f, 0.001233f, -0.001092f, -0.003608f, 0.004008f, 0.002797f, -0.001987f, -0.002417f, -0.000374f, -0.004065f, 0.004836f, -0.001276f, 0.009135f, 0.000111f, -0.001648f, -0.003630f, -0.006919f, -0.000868f, 0.006563f, 0.000320f, 0.002266f, 0.007467f, 0.003241f, 0.000983f, 0.003262f, 0.000922f, 0.004089f, 0.013668f, -0.006290f, 0.004710f, -0.003478f, -0.005611f, -0.002157f, -0.003820f, 0.007583f, -0.005852f, -0.011018f, -0.002662f, 0.003210f, -0.009171f, -0.005423f, 0.010810f, 0.018562f, -0.002875f, 0.007254f, -0.006069f, -0.006352f, -0.000082f, 0.002195f, -0.000595f, 0.000080f, 0.007007f, -0.011336f, 0.004000f, -0.000577f, -0.002220f, -0.009503f, 0.001066f, 0.000520f, 0.005730f, 0.001948f, -0.007442f, - 0.010406f, -0.007821f, 0.009737f, -0.000837f, 0.002029f, 0.004058f, -0.000782f, -0.004487f, 0.007706f, 0.002045f, 0.010193f, 0.001739f, -0.008329f, 0.015994f, 0.012885f, -0.004110f, -0.000906f, -0.002768f, -0.010554f, -0.005640f, -0.001397f, -0.001590f, 0.004841f, -0.005709f, 0.000923f, 0.004660f, 0.000475f, 0.000215f, -0.000222f, -0.000602f, -0.005479f, 0.010032f, 0.000824f, 0.000428f, -0.002476f, -0.000185f, -0.008238f, -0.005972f, -0.014817f, 0.016466f, -0.004563f, -0.002824f, 0.011532f, -0.005616f, 0.005557f, 0.026616f, -0.004096f, 0.000024f, -0.011295f, -0.009261f, -0.013875f, 0.006779f, -0.006210f, 0.002906f, 0.006381f, -0.009020f, -0.007847f, -0.005947f, -0.000234f, 0.001907f, -0.010983f, -0.004777f, 0.003609f, 0.003011f, -0.004861f, -0.002452f, 0.005369f, -0.007205f, 0.000161f, -0.003985f, -0.001999f, -0.005265f, 0.002959f, -0.004900f, 0.000841f, 0.002828f, -0.002529f, 0.010707f, -0.000369f, -0.002384f, -0.009376f, 0.000190f, 0.011459f, 0.000870f, 0.003294f, -0.012116f, -0.016969f, -0.006699f, -0.014724f, -0.013093f, -0.001199f, -0.006150f, -0.001362f, -0.015725f, 0.011809f, -0.014641f, - 0.001132f, 0.008495f, -0.009395f, -0.015302f, -0.011106f, -0.003991f, 0.008637f, 0.007448f, 0.011861f, -0.008574f, -0.007497f, -0.006413f, -0.005430f, 0.008004f, 0.001466f, -0.005197f, -0.002961f, 0.002744f, 0.014912f, 0.001510f, -0.006023f, 0.000791f, -0.004973f, -0.001177f, 0.010471f, 0.017457f, -0.005967f, -0.006231f, -0.015869f, 0.001908f, 0.004058f, 0.008937f, -0.005922f, 0.009634f, 0.001644f, 0.014896f, -0.011950f, 0.001782f, -0.022649f, -0.002672f, 0.002878f, -0.005742f, -0.004949f, -0.002196f, 0.008595f, -0.007071f, -0.011757f, 0.003196f, -0.017328f, -0.004043f, -0.008172f, 0.003657f, -0.001574f, 0.005717f, 0.001108f, -0.013632f, -0.014115f, 0.000156f, 0.008095f, 0.014080f, -0.002424f, -0.006082f, 0.012458f, -0.013489f, -0.006700f, 0.006127f, 0.006245f, 0.009222f, -0.008464f, 0.000077f, 0.004304f, -0.005968f, -0.001231f, 0.005346f, -0.007462f, 0.010456f, -0.003834f, -0.002226f, -0.010521f, -0.009712f, 0.005576f, -0.000220f, 0.001309f, -0.001777f, -0.005792f, 0.006513f, -0.003035f, 0.008197f, 0.001429f, -0.010846f, -0.009590f, 0.004422f, -0.003451f, 0.002611f, -0.012728f, 0.009837f, - -0.023469f, 0.006547f, -0.009714f, 0.009861f, 0.011075f, -0.010581f, -0.020506f, 0.003941f, -0.002027f, 0.014478f, -0.007312f, 0.020553f, -0.007448f, 0.013944f, -0.015240f, -0.004937f, 0.007471f, 0.010653f, 0.003464f, 0.000967f, -0.009079f, -0.000237f, -0.006995f, -0.008597f, 0.006092f, -0.007160f, 0.003947f, 0.003010f, 0.004686f, -0.003555f, 0.009808f, -0.000550f, 0.008526f, -0.000584f, -0.014346f, -0.001293f, -0.004146f, 0.002759f, 0.015639f, 0.002217f, -0.000659f, 0.000525f, -0.005461f, 0.006530f, -0.005128f, 0.009299f, 0.009154f, 0.004536f, 0.003865f, 0.016579f, -0.003190f, -0.001207f, -0.011556f, 0.010189f, 0.008103f, 0.003245f, 0.002439f, 0.003310f, 0.001088f, 0.006227f, 0.009627f, 0.008054f, 0.003892f, 0.005372f, -0.002012f, 0.014162f, 0.004366f, -0.000146f, -0.009037f, 0.007234f, -0.002664f, 0.020370f, 0.009863f, 0.005464f, -0.008392f, 0.000579f, -0.030843f, -0.016498f, 0.006801f, -0.005569f, 0.013095f, 0.013160f, 0.019456f, 0.008451f, 0.008124f, 0.005295f, -0.022440f, -0.004490f, -0.002766f, 0.002693f, -0.001917f, 0.007773f, 0.005402f, -0.008109f, -0.006691f, 0.006565f, - 0.011431f, 0.014753f, 0.012381f, 0.016679f, -0.008494f, -0.007978f, -0.011372f, 0.013063f, -0.006922f, 0.010945f, -0.002412f, 0.000273f, -0.010727f, -0.005684f, -0.006115f, 0.010070f, 0.011437f, 0.002868f, 0.011397f, 0.017159f, -0.006486f, 0.005017f, 0.019046f, -0.008686f, 0.006098f, 0.007424f, 0.000565f, 0.015334f, 0.018206f, 0.014991f, 0.031669f, 0.006950f, -0.004855f, -0.004867f, -0.005863f, 0.000727f, 0.005155f, 0.010785f, -0.002315f, -0.001992f, -0.004022f, -0.007387f, 0.002842f, 0.005831f, 0.007398f, -0.018685f, -0.003759f, 0.006331f, 0.012022f, 0.010555f, -0.018449f, -0.011241f, 0.001503f, 0.004567f, 0.011668f, 0.007785f, 0.015385f, -0.001761f, 0.003348f, 0.013136f, 0.019289f, 0.010877f, -0.020697f, 0.000221f, -0.022020f, -0.015701f, -0.009261f, -0.001735f, -0.013312f, 0.016419f, 0.006407f, 0.009746f, -0.027384f, -0.001917f, 0.018587f, 0.009302f, -0.007710f, -0.011631f, -0.006666f, 0.007118f, -0.020760f, -0.001221f, -0.013138f, 0.020918f, -0.002208f, -0.006123f, 0.002806f, -0.000768f, -0.002977f, 0.003658f, -0.004884f, 0.009665f, 0.007584f, 0.013900f, -0.000320f, 0.000642f, - 0.022301f, -0.006898f, 0.015221f, -0.002434f, -0.001688f, 0.037855f, 0.005420f, -0.004178f, -0.007617f, -0.029474f, 0.004112f, -0.030209f, -0.003978f, 0.031562f, -0.007777f, -0.006280f, -0.020763f, -0.006572f, 0.002142f, -0.011940f, 0.007845f, -0.001238f, -0.014510f, 0.017089f, 0.007941f, 0.005571f, 0.006753f, -0.011881f, 0.015434f, -0.020295f, 0.008682f, 0.008219f, 0.004291f, -0.001981f, -0.003584f, -0.004583f, 0.002369f, 0.013037f, -0.024269f, 0.011420f, -0.008135f, -0.011938f, -0.011357f, 0.010145f, 0.012766f, 0.007729f, 0.021651f, 0.016159f, 0.003786f, 0.006990f, -0.015805f, 0.004010f, 0.008059f, 0.016954f, 0.003796f, -0.007140f, 0.006590f, 0.008278f, -0.014114f, 0.002825f, -0.014498f, 0.012477f, 0.011390f, 0.014521f, -0.012842f, 0.008897f, 0.015454f, -0.006041f, 0.004439f, 0.020355f, -0.000001f, -0.011528f, -0.009109f, 0.005050f, -0.002671f, -0.011733f, -0.004518f, 0.000888f, 0.003458f, 0.007379f, -0.007982f, 0.014387f, 0.008900f, -0.002503f, 0.017118f, -0.001416f, 0.006807f, 0.022365f, -0.022607f, 0.043256f, -0.019146f, 0.006463f, 0.013318f, -0.003866f, -0.001943f, 0.005965f, - 0.029290f, -0.001033f, -0.003624f, -0.000350f, -0.006520f, 0.014506f, 0.016036f, -0.004620f, 0.006976f, 0.005944f, 0.005310f, 0.009879f, 0.012494f, 0.001092f, 0.013387f, 0.002623f, -0.011687f, 0.014720f, 0.019223f, 0.012006f, -0.019247f, 0.038520f, -0.011361f, 0.007707f, -0.027278f, 0.011568f, -0.024040f, 0.019567f, 0.002611f, -0.004855f, -0.013308f, 0.018489f, 0.003074f, 0.011934f, 0.012568f, 0.006497f, -0.020089f, 0.010994f, -0.011881f, -0.001950f, 0.010074f, 0.010528f, 0.003086f, -0.003549f, -0.020088f, 0.003195f, 0.019905f, 0.002416f, 0.013154f, 0.014132f, -0.020981f, 0.012200f, -0.010290f, -0.010703f, 0.016804f, 0.017948f, 0.010005f, 0.010157f, 0.003552f, 0.009719f, -0.021612f, -0.009882f, -0.006362f, 0.000731f, 0.024640f, 0.011508f, 0.010245f, -0.001724f, 0.011281f, -0.000519f, 0.027063f, 0.009689f, 0.010757f, 0.003992f, -0.000677f, -0.038901f, 0.015193f, 0.009138f, -0.002819f, -0.002804f, -0.028251f, 0.000230f, -0.010338f, 0.006932f, 0.026013f, -0.004178f, -0.013741f, 0.029668f, -0.000607f, 0.017080f, -0.009087f, 0.000969f, -0.017414f, -0.000485f, -0.007391f, 0.007180f, - -0.000993f, 0.024186f, -0.022262f, 0.002457f, 0.008192f, 0.010619f, -0.038102f, 0.024085f, 0.005971f, -0.027036f, -0.017886f, 0.013878f, 0.032147f, -0.012205f, -0.007076f, -0.023406f, 0.046375f, 0.017960f, 0.001817f, 0.007454f, -0.026110f, -0.016567f, -0.002282f, 0.001668f, 0.023336f, 0.004962f, 0.017641f, 0.020986f, -0.002329f, 0.000995f, 0.013404f, -0.004222f, -0.017378f, -0.015441f, -0.005450f, 0.020871f, -0.013080f, 0.026496f, -0.014142f, 0.039042f, 0.015625f, 0.031477f, -0.010493f, 0.004971f, 0.023385f, -0.019897f, 0.009717f, 0.011372f, 0.008533f, -0.011385f, 0.011158f, 0.003250f, 0.001803f, 0.011562f, 0.021487f, 0.020369f, -0.023458f, -0.004713f, 0.007568f, -0.019936f, -0.016047f, -0.005064f, -0.044684f, 0.011355f, -0.024185f, -0.012275f, -0.000242f, -0.004422f, 0.009436f, 0.027229f, 0.011631f, 0.012218f, -0.019951f, -0.000228f, -0.029219f, -0.043323f, 0.024096f, -0.017387f, 0.019834f, 0.006776f, 0.009821f, 0.011921f, -0.028965f, -0.053041f, 0.005162f, 0.008165f, 0.030556f, -0.029276f, -0.032145f, 0.028542f, -0.010800f, 0.013219f, -0.005716f, 0.007128f, 0.004886f, 0.007847f, - -0.014406f, 0.007601f, -0.001710f, -0.004209f, 0.019004f, 0.007374f, -0.002239f, -0.023685f, -0.002860f, -0.000252f, -0.004008f, -0.000711f, -0.012617f, -0.031556f, -0.013782f, 0.023930f, -0.009561f, 0.012024f, -0.017693f, 0.013882f, 0.007375f, 0.000202f, -0.008679f, -0.039245f, 0.022400f, 0.021739f, 0.027849f, -0.018710f, -0.007645f, 0.037658f, 0.033375f, 0.015636f, 0.007559f, 0.021467f, 0.008235f, 0.019328f, -0.009640f, 0.016837f, -0.030865f, -0.001584f, 0.009281f, -0.007773f, 0.037882f, 0.001836f, 0.020968f, -0.011819f, -0.019517f, 0.043494f, -0.000170f, 0.017436f, -0.005167f, 0.000907f, -0.050259f, -0.003751f, 0.011530f, -0.022904f, -0.029695f, -0.009325f, -0.007681f, -0.050197f, -0.047094f, -0.013097f, -0.000702f, 0.033727f, 0.027347f, 0.026944f, -0.011718f, -0.005532f, -0.007889f, 0.028819f, 0.011958f, -0.013586f, -0.003077f, -0.011043f, 0.020754f, 0.015689f, -0.013298f, -0.018547f, -0.016840f, -0.033829f, 0.012873f, -0.000194f, 0.000147f, 0.006028f, -0.005657f, 0.011286f, 0.045289f, -0.027341f, 0.013157f, 0.001598f, -0.018442f, -0.011320f, -0.021743f, 0.006818f, -0.010014f, -0.011765f, - 0.023212f, 0.001735f, -0.008545f, 0.022864f, -0.003835f, -0.011840f, 0.007850f, 0.016334f, -0.010152f, 0.017635f, 0.033454f, 0.031444f, -0.022736f, -0.001567f, 0.007834f, 0.017158f, -0.028564f, -0.007167f, -0.008001f, 0.033987f, 0.014935f, -0.005072f, -0.021417f, -0.025057f, -0.020979f, 0.030615f, 0.026755f, -0.051623f, -0.041418f, -0.032989f, -0.021364f, 0.006754f, -0.018373f, 0.011897f, 0.007009f, 0.005101f, 0.040066f, 0.031415f, 0.019321f, 0.002411f, -0.027116f, -0.014521f, -0.004616f, 0.010179f, 0.016412f, -0.024307f, 0.005673f, 0.000634f, -0.020502f, -0.010374f, 0.015805f, -0.012852f, 0.012515f, 0.004584f, 0.014812f, -0.019757f, -0.000367f, -0.042933f, 0.006018f, -0.054074f, 0.021567f, 0.020396f, -0.020778f, 0.023124f, 0.028835f, -0.000400f, 0.008122f, -0.035471f, 0.020045f, 0.000637f, -0.014248f, 0.017079f, -0.004407f, -0.001242f, -0.000331f, 0.000688f, 0.035731f, -0.005691f, 0.000014f, 0.042052f, -0.000333f, -0.022066f, -0.057712f, -0.049521f, 0.053070f, 0.030877f, 0.013264f, 0.011136f, -0.021846f, -0.046899f, -0.021580f, 0.004598f, -0.016753f, 0.032226f, -0.001448f, 0.001788f, - 0.038085f, -0.010812f, -0.011178f, -0.011847f, -0.023159f, -0.044013f, -0.031411f, 0.086709f, -0.043668f, -0.024962f, 0.026487f, -0.052085f, -0.033138f, 0.025183f, 0.045399f, 0.003601f, -0.011968f, 0.004094f, 0.010459f, -0.038006f, -0.028196f, -0.019899f, -0.034804f, -0.003751f, 0.031775f, -0.003028f, 0.006057f, 0.015251f, 0.009985f, -0.028220f, -0.013911f, -0.023455f, -0.012758f, 0.028439f, -0.009486f, -0.003921f, -0.004568f, 0.016931f, 0.017075f, 0.051868f, 0.007832f, 0.037961f, -0.002811f, 0.012272f, -0.021645f, -0.016718f, 0.013353f, -0.027701f, -0.030383f, 0.000110f, 0.008890f, -0.016219f, 0.011751f, -0.018864f, 0.004975f, -0.048162f, 0.025861f, 0.013758f, 0.021071f, 0.001657f, -0.019668f, -0.040626f, -0.014569f, -0.004650f, 0.032158f, -0.026020f, -0.015141f, 0.007864f, 0.074148f, -0.021935f, 0.075400f, -0.047919f, 0.017969f, -0.018665f, 0.032890f, -0.014837f, 0.057162f, -0.055898f, 0.082041f, -0.009781f, 0.016635f, 0.033416f, -0.061362f, 0.051905f, -0.065480f, 0.041023f, -0.106491f, 0.053952f, -0.054732f, 0.043637f, -0.071225f, 0.055682f, 0.002429f, 0.025910f, -0.032066f, -0.029006f, - 0.035206f, 0.060181f, -0.048627f, 0.076102f, -0.003665f, 0.000587f, -0.002170f, 0.013685f, -0.021719f, -0.015948f, -0.032897f, -0.006993f, 0.001843f, 0.000584f, 0.000596f, 0.030155f, 0.005860f, 0.032986f, 0.032629f, -0.019827f, 0.012511f, 0.068242f, 0.022966f, 0.014895f, 0.010980f, -0.058523f, 0.003804f, -0.009251f, -0.006568f, -0.053726f, -0.010608f, 0.031220f, 0.009569f, 0.010467f, 0.016405f, 0.039398f, 0.011055f, -0.012084f, -0.003232f, -0.003410f, 0.015528f, -0.026839f, -0.015681f, 0.040406f, 0.025948f, 0.018634f, 0.032115f, 0.022810f, -0.012924f, -0.007321f, -0.046088f, -0.021160f, 0.019713f, 0.014263f, 0.035974f, -0.026397f, -0.012091f, -0.010074f, 0.026507f, 0.013807f, 0.023773f, 0.007912f, -0.018113f, -0.019261f, 0.058631f, -0.020536f, -0.056774f, 0.009695f, 0.040731f, 0.023555f, -0.001674f, -0.011503f, 0.002841f, -0.001619f, -0.001279f, 0.016623f, -0.022118f, -0.118373f, 0.033990f, -0.013470f, -0.006626f, 0.030408f, -0.019319f, 0.032580f, -0.003340f, -0.050578f, -0.008576f, 0.006237f, 0.018998f, 0.024350f, 0.006176f, -0.035406f, 0.037063f, -0.012937f, -0.002569f, -0.021204f, - -0.009437f, 0.020833f, -0.003224f, 0.018766f, 0.029902f, -0.005337f, -0.037197f, 0.009861f, 0.042045f, -0.037110f, 0.014740f, 0.033749f, -0.005361f, -0.023958f, -0.047206f, -0.030534f, 0.034049f, 0.087847f, -0.026148f, -0.032664f, 0.097445f, -0.004585f, -0.013669f, 0.071686f, 0.040959f, 0.036579f, 0.028293f, 0.013426f, -0.020350f, 0.037468f, 0.033221f, 0.024811f, 0.010663f, -0.062162f, 0.040206f, 0.037685f, -0.067804f, -0.036991f, -0.024382f, -0.016673f, -0.018738f, 0.076449f, 0.036872f, -0.039795f, 0.039440f, -0.013012f, -0.039744f, 0.020045f, 0.019931f, -0.014494f, -0.017035f, -0.058854f, 0.006619f, 0.014227f, 0.044758f, 0.026246f, 0.003424f, -0.032026f, -0.130165f, 0.039664f, 0.073118f, -0.045788f, -0.009614f, -0.035731f, 0.075304f, 0.050276f, 0.031758f, -0.006510f, -0.026433f, 0.004871f, 0.030372f, 0.013551f, -0.013121f, -0.003547f, 0.041615f, -0.003460f, -0.015270f, -0.056515f, -0.026344f, 0.046153f, 0.027430f, -0.030583f, 0.023876f, -0.022480f, -0.006663f, 0.013013f, 0.013398f, -0.014113f, 0.008730f, -0.050124f, 0.014188f, 0.064672f, -0.008174f, -0.014349f, -0.064669f, -0.040607f, - 0.031734f, -0.052915f, -0.027550f, 0.009856f, 0.013299f, -0.017839f, 0.042827f, 0.037981f, -0.041039f, 0.013094f, 0.023357f, 0.064015f, 0.061292f, -0.012394f, 0.020281f, -0.004621f, 0.070049f, 0.027028f, 0.028624f, 0.062472f, -0.029127f, -0.047078f, -0.021728f, -0.059573f, 0.046975f, 0.017165f, 0.023172f, 0.006727f, 0.079501f, -0.058385f, -0.011707f, 0.026902f, -0.018026f, 0.029636f, -0.000883f, -0.004450f, 0.019089f, -0.053102f, 0.032865f, 0.054022f, 0.047434f, 0.048887f, 0.062013f, -0.031440f, 0.049365f, -0.088660f, -0.037431f, 0.037441f, 0.010724f, 0.069655f, 0.032965f, 0.059860f, -0.022346f, 0.010476f, -0.047037f, 0.036536f, 0.057786f, 0.053412f, 0.007432f, 0.038776f, -0.085507f, -0.054095f, 0.056818f, 0.019025f, -0.052476f, -0.025087f, 0.008938f, 0.083800f, 0.027089f, -0.029486f, -0.039182f, 0.011555f, -0.009916f, 0.052961f, 0.055630f, -0.001812f, -0.006586f, 0.014168f, -0.013093f, 0.067701f, 0.020482f, -0.011506f, 0.014954f, -0.026721f, -0.016075f, -0.139720f, -0.046797f, 0.029576f, -0.020456f, -0.017397f, 0.001305f, -0.021682f, -0.023921f, 0.070186f, 0.046083f, -0.028609f, - 0.062110f, 0.129151f, 0.027741f, 0.093588f, 0.014521f, 0.023261f, 0.067450f, 0.048545f, -0.032321f, -0.033663f, -0.066805f, -0.036779f, -0.000835f, -0.061371f, 0.030466f, 0.000862f, -0.059642f, -0.035085f, -0.034694f, 0.002265f, 0.060283f, -0.002789f, 0.051783f, -0.027845f, 0.016453f, -0.103656f, 0.033785f, -0.012977f, 0.058689f, -0.010447f, -0.060233f, 0.067523f, -0.020373f, 0.012995f, 0.040478f, 0.030489f, 0.062812f, -0.005928f, 0.012944f, -0.008190f, 0.071174f, -0.011289f, 0.016843f, 0.049693f, -0.049728f, 0.049000f, -0.009264f, 0.031058f, 0.049011f, -0.009226f, 0.014403f, 0.010259f, 0.009054f, -0.011690f, 0.024437f, 0.022033f, -0.003287f, -0.023621f, -0.000176f, -0.028014f, -0.005274f, -0.003244f, 0.029901f, -0.010318f, -0.043850f, -0.029582f, 0.056354f, 0.054438f, -0.044017f, -0.038648f, 0.066673f, 0.074777f, -0.022699f, -0.004749f, 0.057464f, 0.004503f, 0.032273f, 0.040297f, -0.081983f, -0.023539f, -0.000231f, 0.087179f, 0.013650f, -0.003721f, -0.077402f, 0.018860f, 0.039049f, 0.023756f, 0.009545f, 0.024678f, 0.015696f, 0.013691f, 0.114402f, -0.001532f, 0.016239f, 0.061932f, - 0.060897f, -0.104794f, -0.007909f, -0.088681f, -0.082517f, 0.020111f, 0.016376f, 0.014610f, 0.001119f, 0.077468f, 0.043300f, 0.099893f, 0.108473f, -0.012195f, -0.055048f, 0.011376f, -0.015880f, -0.010006f, 0.022407f, 0.010689f, -0.010202f, -0.050280f, -0.056665f, 0.060005f, 0.026026f, -0.006491f, 0.007467f, 0.010108f, 0.003701f, 0.011478f, -0.007540f, -0.013763f, -0.083542f, 0.002419f, 0.044688f, -0.013008f, -0.065081f, -0.019819f, 0.049247f, -0.094849f, -0.035409f, 0.061518f, 0.034022f, 0.073371f, -0.004846f, 0.006451f, -0.069567f, -0.066033f, -0.087856f, 0.072786f, 0.097882f, -0.131659f, -0.069754f, -0.005350f, 0.064037f, -0.051085f, -0.012404f, 0.123989f, 0.045655f, 0.032992f, 0.076564f, 0.061225f, 0.084194f, -0.029715f, 0.083377f, -0.010920f, -0.074405f, -0.099044f, -0.029473f, 0.041975f, -0.086710f, -0.012465f, 0.010726f, -0.013201f, -0.035566f, 0.021978f, -0.077599f, 0.059177f, -0.005378f, 0.017851f, 0.022711f, 0.021952f, 0.000411f, -0.026403f, 0.041900f, 0.010216f, 0.040438f, -0.009143f, -0.086741f, -0.008234f, 0.024659f, -0.028809f, -0.031937f, -0.019770f, -0.029454f, 0.034812f, - -0.009329f, -0.031134f, -0.002019f, 0.032345f, -0.044297f, 0.030424f, -0.015535f, 0.015986f, -0.043625f, -0.011238f, 0.017342f, -0.004157f, -0.004227f, 0.004915f, 0.024132f, -0.004760f, -0.004142f, -0.030767f, 0.014923f, -0.008785f, 0.004708f, 0.008904f, 0.003041f, 0.021986f, -0.033022f, -0.025624f, 0.034349f, 0.029196f, -0.041386f, 0.019168f, -0.033433f, 0.037952f, -0.032271f, 0.013947f, 0.009964f, -0.027918f, 0.060592f, 0.005242f, -0.067210f, 0.030353f, 0.008355f, -0.052817f, 0.029520f, -0.019919f, 0.031546f, -0.046032f, 0.023769f, -0.048808f, 0.022804f, 0.032934f, -0.029578f, 0.016429f, -0.030834f, -0.000207f, 0.004421f, 0.002055f, 0.014145f, -0.042098f, -0.231169f, -0.398456f, -0.147947f, -0.314023f, -0.310886f, 0.131760f, 0.009054f, 0.192345f, 0.463806f, 0.415638f, 0.336677f, 0.416329f, 0.245885f, 0.037111f, 0.061639f, -0.085411f, -0.349035f, -0.345209f, -0.264003f, -0.335968f, -0.237430f, -0.067059f, -0.167484f, -0.222475f, -0.109178f, -0.047285f, -0.126158f, -0.071564f, -0.024037f, -0.073881f, -0.114324f, -0.002202f, 0.058386f, -0.048465f, 0.089658f, 0.144601f, -0.016882f, 0.011256f, - 0.203470f, 0.090726f, -0.018813f, 0.190105f, 0.152001f, -0.059587f, 0.062178f, 0.177356f, -0.022207f, -0.001890f, 0.258981f, 0.131575f, 0.045034f, 0.318583f, 0.353022f, 0.166619f, 0.335221f, 0.421561f, 0.101376f, 0.047246f, 0.166506f, -0.079373f, -0.218144f, -0.128078f, -0.277971f, -0.486486f, -0.483974f, -0.545019f, -0.725272f, -0.724235f, -0.690894f, -0.697735f, -0.615231f, -0.506852f, -0.382700f, -0.196101f, 0.001719f, 0.322431f, 0.383469f, 0.258023f} - }, - { - {0.013548f, -0.006997f, 0.003290f, -0.000917f, 0.001273f, -0.001926f, 0.006944f, 0.010525f, -0.005045f, 0.003679f, -0.001194f, 0.003670f, -0.004751f, -0.000556f, 0.002762f, -0.006361f, -0.006367f, 0.002066f, 0.003341f, -0.007454f, 0.003414f, -0.004137f, -0.005592f, 0.000365f, -0.002932f, -0.005570f, -0.007021f, -0.001256f, 0.005896f, -0.001273f, 0.002242f, 0.003896f, 0.002182f, 0.002802f, 0.003312f, 0.002856f, 0.006833f, -0.010079f, 0.002622f, -0.006562f, 0.003667f, 0.007104f, 0.000429f, -0.001520f, -0.006127f, 0.002419f, -0.001036f, 0.001077f, 0.002160f, 0.001185f, -0.002412f, -0.005300f, -0.003939f, -0.006843f, 0.001451f, 0.000007f, 0.000838f, 0.003220f, 0.004436f, 0.001317f, 0.007887f, 0.000451f, -0.004923f, 0.005366f, -0.001514f, -0.001001f, -0.001678f, -0.007289f, 0.006305f, 0.003100f, 0.005528f, -0.006518f, -0.010567f, -0.003182f, 0.004674f, 0.003495f, -0.005450f, -0.015743f, 0.001800f, 0.010441f, 0.003611f, 0.006817f, -0.009820f, -0.005376f, 0.000512f, -0.001715f, 0.002717f, 0.008264f, -0.019725f, -0.000112f, 0.006585f, 0.003932f, 0.006079f, -0.005713f, -0.007917f, 0.008667f, - -0.000057f, 0.002422f, 0.005487f, 0.007165f, 0.002738f, 0.001495f, 0.006542f, -0.000956f, -0.001956f, -0.005574f, 0.003109f, -0.001581f, -0.000790f, -0.002910f, 0.003823f, 0.009393f, 0.000166f, -0.001990f, 0.004564f, -0.006065f, -0.008877f, -0.005030f, -0.001683f, -0.005902f, 0.000678f, -0.001416f, 0.003944f, -0.003722f, 0.001218f, -0.007399f, -0.000529f, -0.006111f, -0.000103f, -0.002863f, -0.002182f, 0.002941f, -0.003266f, -0.000492f, 0.005170f, -0.002761f, 0.006137f, 0.006977f, 0.000768f, 0.009467f, -0.004682f, -0.000569f, 0.004912f, -0.001953f, 0.003432f, 0.004064f, 0.002716f, -0.005494f, 0.002378f, 0.001816f, 0.002052f, -0.000383f, -0.003796f, 0.025978f, -0.007706f, 0.002240f, -0.006014f, -0.000763f, -0.002678f, 0.002728f, 0.001756f, 0.008706f, 0.002485f, 0.001271f, 0.003206f, -0.002488f, -0.018434f, -0.017685f, -0.005708f, 0.002005f, 0.005039f, -0.004729f, 0.000712f, -0.005973f, -0.002293f, -0.000047f, 0.002801f, -0.008043f, -0.008668f, -0.002824f, -0.000812f, 0.004177f, 0.001213f, -0.002242f, -0.006333f, 0.000705f, -0.003612f, -0.000201f, 0.003965f, -0.006526f, 0.002677f, 0.005070f, - -0.004540f, -0.011681f, -0.003220f, 0.003689f, -0.000947f, 0.002906f, -0.000827f, 0.002446f, -0.000801f, 0.002716f, 0.000340f, -0.010997f, 0.001794f, 0.003819f, -0.001944f, 0.002410f, 0.000213f, -0.001144f, -0.002371f, -0.000456f, -0.006490f, -0.001149f, -0.001996f, -0.008466f, -0.001620f, -0.000930f, 0.006645f, -0.007622f, 0.011116f, 0.012487f, 0.010126f, -0.005457f, -0.002506f, -0.003473f, 0.004630f, -0.003198f, -0.003479f, 0.001337f, -0.024600f, 0.000024f, -0.003632f, 0.001894f, -0.000662f, -0.012653f, -0.002258f, -0.002531f, 0.004212f, 0.006414f, -0.008387f, 0.007038f, -0.001978f, 0.004902f, 0.004962f, -0.002410f, 0.010539f, 0.000799f, 0.000682f, -0.001622f, 0.002022f, -0.002393f, 0.002140f, -0.002709f, 0.000627f, -0.006571f, 0.000973f, 0.007607f, 0.000256f, 0.003306f, 0.008094f, -0.007521f, -0.007842f, 0.003567f, -0.003405f, 0.006449f, -0.006046f, -0.001724f, -0.012949f, -0.010021f, -0.008543f, 0.004064f, 0.001463f, 0.004916f, -0.004480f, -0.003213f, -0.000654f, 0.008537f, -0.008838f, 0.004031f, 0.001980f, 0.000929f, 0.005056f, -0.002953f, -0.003804f, -0.005263f, 0.003811f, 0.002089f, - -0.007687f, -0.008659f, -0.009956f, 0.000030f, -0.001740f, 0.003759f, 0.000056f, -0.001578f, 0.001540f, 0.001832f, 0.005267f, -0.011993f, 0.002187f, 0.007628f, 0.011226f, 0.011419f, 0.009680f, -0.000835f, -0.005796f, -0.013152f, 0.010313f, -0.006348f, 0.012037f, 0.015273f, 0.010022f, 0.001177f, 0.005468f, 0.002281f, 0.012753f, -0.004897f, -0.004923f, 0.004610f, -0.000403f, 0.006019f, 0.010129f, -0.011218f, 0.005337f, 0.012621f, 0.006665f, 0.000533f, 0.001258f, 0.002718f, -0.003885f, 0.001273f, -0.003591f, -0.005547f, -0.000435f, 0.012050f, -0.002636f, 0.006335f, -0.002322f, -0.005150f, 0.014187f, -0.009772f, 0.009991f, 0.010786f, 0.003271f, 0.007355f, -0.006841f, -0.000855f, -0.001836f, -0.001193f, 0.007417f, 0.003230f, -0.007419f, 0.002886f, 0.000627f, 0.003137f, -0.000409f, 0.004668f, 0.004607f, 0.012142f, -0.009592f, 0.006873f, 0.005835f, 0.000397f, 0.005845f, 0.002723f, 0.008234f, 0.007711f, 0.005618f, -0.001997f, 0.007017f, 0.010875f, 0.001634f, 0.007104f, -0.001945f, 0.012701f, 0.013375f, 0.014241f, -0.001324f, -0.006707f, 0.005251f, 0.000992f, 0.007134f, 0.006093f, - 0.020275f, -0.001862f, -0.006403f, 0.019346f, -0.007722f, 0.008740f, -0.004767f, -0.018357f, 0.003137f, -0.005179f, 0.000397f, 0.022285f, -0.008787f, -0.010280f, 0.000596f, 0.011857f, -0.019000f, -0.006685f, 0.013714f, -0.004642f, 0.004175f, 0.006963f, -0.005409f, 0.006400f, -0.004355f, -0.006089f, 0.000824f, -0.001398f, -0.002799f, -0.001937f, 0.007256f, -0.005772f, 0.014622f, 0.004333f, -0.000334f, -0.008165f, -0.003305f, 0.009926f, -0.011458f, 0.002926f, 0.002880f, -0.000977f, -0.015792f, 0.010932f, 0.001763f, 0.003288f, 0.000303f, -0.001227f, 0.006599f, -0.003691f, 0.009344f, 0.006919f, -0.005356f, -0.017182f, 0.006719f, 0.005921f, -0.001927f, -0.004033f, 0.002789f, 0.012915f, 0.010171f, -0.000037f, 0.005143f, -0.009353f, 0.005688f, -0.000433f, -0.006026f, 0.006224f, 0.006597f, -0.004728f, 0.006128f, 0.003577f, -0.007371f, -0.000994f, 0.003111f, -0.003538f, 0.011420f, 0.007544f, 0.006850f, 0.019881f, 0.003345f, -0.003998f, -0.023543f, 0.008348f, 0.014667f, 0.009086f, 0.006251f, -0.001247f, 0.007885f, 0.027333f, -0.002371f, 0.013064f, 0.002059f, 0.007663f, 0.003478f, 0.001292f, - 0.006190f, -0.001414f, -0.010455f, -0.002363f, -0.007541f, -0.001388f, -0.010992f, 0.005091f, 0.001248f, 0.014721f, 0.003636f, -0.005670f, 0.005518f, -0.001170f, -0.002475f, 0.009725f, 0.004140f, 0.007473f, 0.004843f, -0.003044f, -0.014564f, 0.001771f, 0.010007f, 0.000197f, -0.001987f, 0.004869f, -0.007198f, -0.002669f, -0.013441f, -0.017093f, 0.010330f, 0.011170f, 0.009140f, -0.001694f, -0.001853f, 0.000983f, 0.000814f, 0.006147f, 0.000232f, 0.006663f, 0.006368f, 0.000715f, 0.006564f, -0.004072f, 0.002700f, -0.001697f, 0.004481f, 0.004852f, 0.018199f, 0.001046f, 0.015207f, -0.004121f, -0.012657f, -0.000159f, -0.000327f, -0.004146f, 0.012869f, 0.000672f, 0.008863f, -0.021527f, -0.000643f, 0.022142f, 0.030333f, -0.012453f, 0.003434f, 0.004953f, -0.010505f, -0.005977f, 0.001188f, -0.008600f, -0.009166f, 0.021390f, 0.002926f, -0.013855f, -0.002299f, -0.008956f, -0.005305f, 0.014026f, -0.004431f, -0.005860f, 0.012399f, 0.008000f, 0.012508f, -0.005086f, 0.002448f, 0.012641f, 0.000368f, -0.007092f, 0.003182f, -0.000738f, 0.001319f, -0.015273f, -0.010896f, 0.005042f, -0.001382f, 0.004110f, - -0.014685f, 0.007165f, 0.004939f, 0.003794f, -0.025718f, -0.014401f, -0.006814f, -0.002700f, 0.003188f, -0.010599f, -0.007874f, 0.003001f, 0.018947f, 0.013349f, 0.006351f, -0.002881f, -0.002715f, -0.006763f, 0.004982f, -0.001515f, -0.015073f, -0.010345f, -0.002087f, 0.000453f, 0.019533f, 0.011991f, -0.011016f, -0.010528f, 0.013039f, 0.003595f, -0.009685f, 0.000904f, 0.011243f, 0.005652f, -0.001325f, -0.015556f, 0.015892f, -0.005474f, 0.008631f, 0.003807f, 0.004538f, -0.005490f, 0.009355f, -0.011089f, 0.013479f, -0.000825f, -0.003158f, 0.007340f, -0.012832f, 0.004890f, 0.007592f, 0.001823f, 0.005426f, 0.006615f, -0.003179f, 0.014969f, -0.006467f, -0.024524f, -0.014411f, -0.002896f, 0.001384f, -0.004894f, -0.010227f, -0.011253f, -0.007480f, 0.024847f, -0.006368f, -0.001541f, 0.003958f, -0.004690f, 0.003353f, 0.020465f, -0.009216f, 0.009928f, -0.005813f, -0.012492f, 0.012011f, 0.008764f, 0.005793f, 0.018408f, 0.000874f, 0.008903f, -0.000307f, 0.002591f, -0.000213f, -0.005451f, 0.004465f, -0.000898f, 0.013544f, 0.003092f, -0.008445f, -0.001801f, -0.002041f, -0.000083f, -0.014063f, 0.006444f, - -0.013832f, 0.004104f, 0.020032f, -0.012016f, -0.023608f, 0.006330f, 0.004064f, 0.011897f, -0.004163f, 0.000640f, 0.012184f, -0.006005f, 0.006493f, 0.009574f, 0.003422f, -0.003556f, 0.012507f, 0.004612f, 0.016067f, -0.018631f, 0.045316f, -0.009732f, 0.020761f, 0.002558f, 0.009096f, 0.006713f, 0.000624f, -0.024354f, 0.022027f, -0.030535f, 0.010848f, 0.008097f, 0.028865f, -0.012563f, 0.013441f, -0.019238f, 0.013741f, -0.005840f, -0.020554f, -0.009674f, 0.005840f, 0.006012f, 0.008624f, 0.004496f, 0.012053f, 0.007855f, 0.017853f, -0.004785f, -0.013074f, -0.012084f, 0.005758f, 0.000295f, -0.006002f, 0.011807f, 0.005860f, -0.001934f, 0.007692f, 0.014467f, -0.000381f, 0.003997f, -0.001174f, 0.007289f, 0.005048f, -0.017750f, -0.006885f, -0.023380f, -0.004463f, -0.003792f, 0.000451f, 0.011531f, 0.011116f, 0.001645f, -0.005491f, -0.000035f, -0.002498f, -0.005571f, 0.004239f, 0.033243f, 0.004100f, -0.000808f, 0.011708f, -0.000951f, 0.013280f, -0.005438f, 0.001351f, -0.008232f, 0.034594f, 0.007422f, -0.012461f, -0.016270f, -0.009216f, 0.000599f, 0.000555f, -0.022134f, 0.002349f, 0.004299f, - 0.001866f, 0.023033f, 0.001742f, 0.019097f, 0.011539f, 0.018694f, 0.006159f, -0.019662f, 0.018703f, -0.012751f, 0.032528f, -0.021586f, -0.006415f, -0.029719f, -0.006316f, -0.003614f, 0.012881f, -0.014150f, 0.018977f, 0.014802f, -0.009351f, 0.000459f, 0.021749f, 0.030041f, -0.009837f, 0.000063f, -0.004050f, 0.008867f, 0.000120f, -0.004399f, 0.004441f, 0.007557f, -0.014637f, 0.010121f, 0.002111f, 0.011679f, 0.004854f, 0.000893f, -0.024961f, -0.005147f, 0.029046f, -0.004652f, 0.009758f, 0.020973f, 0.006476f, -0.003075f, -0.007697f, -0.011685f, -0.006065f, -0.000529f, -0.009462f, -0.007381f, 0.016884f, 0.013755f, 0.004948f, 0.023882f, 0.017214f, -0.007499f, -0.002521f, 0.001256f, 0.006023f, -0.010384f, -0.020560f, 0.024095f, 0.011804f, -0.008564f, 0.024508f, 0.022257f, 0.028503f, 0.008503f, 0.004094f, -0.014936f, 0.000334f, -0.019994f, -0.012355f, -0.014332f, -0.030188f, 0.025154f, 0.001098f, 0.004252f, -0.004246f, 0.001685f, -0.003684f, -0.039177f, 0.004088f, -0.000821f, -0.007366f, -0.003347f, -0.019443f, 0.021377f, 0.022002f, 0.024569f, -0.041063f, 0.012627f, 0.007993f, 0.000503f, - 0.039676f, 0.015929f, -0.020375f, -0.002878f, 0.039147f, 0.004101f, 0.006611f, 0.007485f, -0.012098f, 0.005993f, 0.007677f, 0.023937f, 0.011974f, -0.019471f, -0.031447f, 0.010995f, 0.006780f, -0.016322f, -0.003512f, 0.000732f, -0.019626f, 0.001354f, 0.022556f, 0.009029f, 0.012312f, 0.017950f, 0.029787f, 0.001933f, 0.026089f, 0.004301f, -0.011552f, -0.002631f, -0.016868f, -0.009479f, 0.005622f, 0.007880f, 0.005823f, 0.012202f, -0.020412f, -0.010072f, 0.032852f, -0.004080f, -0.008980f, -0.020843f, 0.014412f, 0.012865f, 0.002962f, 0.004070f, -0.002798f, 0.007074f, -0.017976f, 0.021688f, -0.016205f, -0.018048f, -0.017094f, -0.012849f, 0.025263f, 0.000455f, -0.009608f, 0.035913f, 0.042312f, -0.011189f, 0.011721f, -0.003410f, -0.012668f, 0.002142f, -0.028720f, -0.017954f, -0.001441f, -0.006093f, 0.056923f, -0.026060f, 0.007161f, -0.036661f, -0.005458f, 0.021737f, -0.009414f, -0.020613f, -0.021274f, -0.008186f, 0.008666f, 0.010824f, -0.001467f, -0.002291f, -0.023838f, 0.005122f, 0.016665f, 0.007904f, 0.010239f, 0.002514f, 0.003771f, -0.014458f, -0.004483f, 0.008742f, 0.003515f, -0.000628f, - 0.001176f, -0.017401f, 0.007623f, -0.018308f, -0.002680f, -0.001156f, 0.005347f, -0.020319f, -0.001771f, 0.008846f, 0.014346f, -0.023126f, -0.011391f, 0.038802f, -0.014873f, -0.032147f, 0.026672f, -0.026377f, -0.007565f, -0.012261f, -0.004063f, -0.020606f, -0.012982f, -0.005272f, -0.019045f, -0.029350f, 0.045962f, 0.023569f, 0.020953f, 0.012226f, -0.016708f, -0.008689f, -0.010861f, 0.010556f, -0.020134f, 0.012355f, -0.009915f, 0.002581f, -0.003535f, 0.058082f, -0.028532f, 0.024258f, -0.055193f, 0.012949f, -0.035706f, -0.008141f, 0.017248f, -0.003471f, 0.010448f, 0.018067f, 0.014144f, -0.025124f, 0.015698f, 0.001778f, 0.011165f, -0.006836f, 0.016153f, 0.014710f, -0.005335f, 0.001629f, 0.009041f, 0.010245f, -0.018859f, -0.007764f, -0.026728f, -0.004981f, 0.020394f, -0.001301f, -0.012176f, 0.000366f, 0.006484f, -0.000380f, -0.010796f, -0.019796f, 0.002861f, -0.014032f, 0.009865f, -0.013383f, 0.040876f, -0.005990f, -0.024826f, -0.028132f, 0.004205f, -0.016377f, 0.011714f, -0.031347f, -0.024611f, -0.031835f, 0.005155f, -0.027233f, -0.007691f, -0.038190f, 0.024069f, 0.003136f, 0.015624f, 0.008525f, - -0.040636f, 0.000791f, -0.005241f, -0.016777f, -0.023537f, -0.008162f, -0.020361f, -0.025557f, -0.014805f, 0.008648f, 0.013354f, 0.020290f, -0.015121f, 0.001191f, 0.007184f, -0.034270f, 0.011875f, -0.023097f, -0.049211f, -0.013801f, 0.056683f, 0.050117f, 0.028581f, -0.023418f, 0.025323f, 0.037554f, -0.023687f, 0.033194f, -0.025519f, 0.030643f, 0.008037f, -0.001638f, 0.010911f, -0.000306f, 0.016897f, -0.023573f, -0.005748f, -0.010518f, 0.013193f, -0.022429f, -0.019210f, 0.031983f, -0.001898f, -0.006530f, 0.004223f, -0.030709f, 0.000580f, 0.049480f, 0.028297f, 0.005569f, 0.000895f, 0.010427f, 0.048236f, 0.019804f, 0.002190f, 0.007649f, -0.011421f, -0.005869f, -0.009554f, 0.019736f, -0.008765f, 0.012982f, 0.004271f, 0.023495f, -0.026655f, -0.001212f, 0.000185f, 0.000031f, -0.006035f, 0.012612f, 0.023672f, -0.005983f, -0.003930f, 0.020771f, 0.004842f, 0.001577f, 0.051845f, 0.006514f, 0.003353f, -0.023996f, 0.012887f, -0.018349f, 0.026035f, -0.028114f, -0.019870f, 0.001735f, -0.019026f, -0.026677f, -0.032889f, 0.007913f, -0.006630f, 0.017142f, 0.001812f, 0.008636f, -0.040089f, 0.040178f, - -0.065395f, 0.025427f, 0.026610f, -0.046938f, -0.006008f, -0.040442f, -0.014218f, -0.036473f, -0.017170f, 0.038542f, -0.015034f, -0.004441f, -0.029469f, -0.006992f, 0.005161f, -0.043278f, -0.002920f, 0.025088f, -0.052809f, 0.000302f, -0.036454f, -0.020605f, -0.000556f, 0.002161f, -0.024553f, -0.020373f, -0.020767f, -0.007309f, -0.018020f, -0.002787f, 0.007715f, -0.006798f, 0.011853f, -0.026895f, -0.017240f, 0.031792f, -0.016919f, 0.016367f, -0.021187f, 0.017068f, 0.016113f, 0.001069f, 0.003420f, 0.015699f, -0.000367f, 0.023149f, 0.030576f, -0.008002f, 0.003494f, 0.045160f, 0.001581f, 0.022150f, -0.002945f, -0.020971f, -0.038491f, 0.004003f, 0.024564f, -0.043413f, -0.000792f, -0.026589f, -0.014080f, -0.055822f, 0.021556f, 0.032448f, -0.010753f, 0.014046f, -0.010335f, 0.035089f, 0.040391f, -0.006873f, -0.044126f, -0.044646f, 0.055298f, -0.049793f, 0.013158f, 0.002109f, 0.012103f, 0.069838f, 0.078729f, -0.004325f, -0.058642f, 0.058618f, -0.064119f, 0.009339f, 0.027888f, 0.006992f, -0.006381f, -0.029629f, 0.034122f, -0.014885f, -0.011423f, -0.030242f, -0.017014f, -0.009392f, -0.037207f, -0.020807f, - -0.016222f, -0.009474f, -0.005478f, 0.026270f, 0.000400f, 0.022666f, 0.000994f, -0.009937f, -0.032316f, -0.036497f, -0.008274f, -0.001513f, 0.000462f, -0.005746f, -0.012595f, -0.015973f, 0.018434f, 0.041556f, -0.021659f, 0.014063f, -0.013062f, -0.015045f, 0.017828f, -0.016674f, -0.025021f, 0.058270f, -0.005180f, 0.004840f, 0.004260f, -0.033467f, -0.005779f, -0.007580f, 0.018166f, -0.043190f, -0.017195f, 0.044039f, 0.008898f, -0.020011f, 0.026166f, 0.044584f, -0.024068f, -0.033270f, 0.018683f, -0.028512f, 0.002562f, -0.052410f, 0.018718f, 0.041699f, -0.002014f, 0.020703f, 0.015793f, 0.005317f, 0.052482f, 0.012783f, 0.002633f, 0.024715f, 0.001146f, -0.096543f, -0.068017f, 0.026649f, -0.029555f, -0.027853f, -0.082365f, -0.024579f, 0.016005f, 0.005539f, -0.017276f, -0.046240f, -0.001901f, 0.021731f, -0.003009f, 0.001991f, 0.022331f, 0.040960f, -0.037855f, 0.094669f, -0.026038f, -0.032867f, -0.011092f, -0.006438f, -0.001001f, -0.038941f, -0.000594f, -0.007700f, 0.018743f, -0.013812f, 0.027118f, -0.012853f, -0.025904f, 0.009006f, 0.010232f, -0.022728f, 0.022144f, -0.073891f, -0.001063f, -0.006775f, - 0.027427f, 0.034274f, -0.027226f, 0.031917f, -0.014379f, 0.008499f, -0.017526f, -0.006133f, -0.011546f, 0.025411f, -0.005480f, 0.033745f, 0.051976f, -0.047830f, -0.015277f, 0.024557f, -0.033915f, 0.018393f, -0.038344f, -0.020627f, -0.020417f, -0.021839f, -0.039410f, -0.019601f, 0.014228f, 0.013202f, 0.025015f, 0.035740f, 0.023051f, -0.045232f, 0.001534f, 0.007014f, 0.005816f, 0.007159f, 0.022371f, -0.017481f, 0.011054f, -0.022100f, -0.067155f, 0.046690f, -0.085317f, 0.056073f, -0.010568f, -0.039530f, -0.033889f, -0.037789f, -0.026127f, -0.021076f, -0.000347f, 0.040381f, -0.005581f, -0.038364f, 0.036041f, 0.051545f, -0.085010f, -0.024676f, 0.003731f, -0.009420f, -0.014973f, -0.006743f, -0.013523f, -0.017363f, -0.026107f, 0.028114f, -0.012770f, -0.025715f, -0.041423f, -0.041949f, 0.036704f, 0.007302f, -0.008998f, -0.007075f, -0.001871f, -0.011492f, -0.012412f, 0.005637f, -0.036585f, 0.015994f, 0.037658f, 0.026532f, 0.016567f, 0.034717f, 0.042083f, -0.028289f, 0.007564f, -0.039424f, 0.037503f, -0.025630f, -0.008208f, -0.003429f, -0.059006f, 0.015335f, 0.045478f, 0.004721f, -0.021043f, -0.019122f, - 0.060059f, -0.028236f, -0.028178f, 0.013860f, -0.064372f, -0.010821f, -0.032560f, -0.002116f, -0.062695f, 0.022291f, 0.009769f, 0.021941f, -0.100236f, -0.088405f, 0.014532f, -0.031333f, -0.017136f, 0.009749f, 0.077583f, -0.098184f, 0.108112f, 0.034745f, 0.000470f, 0.012800f, -0.071202f, 0.019782f, 0.039237f, -0.008912f, 0.092580f, -0.020909f, 0.042242f, -0.026806f, 0.101552f, 0.000964f, -0.009314f, -0.032811f, -0.009839f, 0.018870f, -0.006033f, 0.044294f, 0.034565f, -0.005645f, 0.006440f, -0.033613f, 0.018450f, 0.044118f, 0.043528f, -0.038334f, 0.021916f, -0.003535f, 0.046233f, -0.006397f, 0.031398f, -0.020442f, -0.016283f, -0.052457f, 0.007731f, -0.031211f, -0.050193f, 0.082182f, -0.030142f, -0.001191f, -0.010705f, -0.012719f, 0.014344f, 0.012167f, 0.031151f, -0.006870f, 0.045774f, 0.010005f, 0.079824f, 0.035289f, 0.088028f, 0.077550f, -0.002649f, 0.054153f, 0.040961f, -0.005749f, 0.047594f, 0.065127f, -0.019853f, -0.050826f, 0.038529f, 0.028920f, 0.053476f, 0.032180f, 0.001950f, 0.007538f, -0.054421f, 0.002648f, -0.008848f, -0.013299f, 0.096125f, 0.003866f, 0.034463f, 0.033463f, - -0.069782f, 0.138885f, -0.016892f, -0.013653f, -0.007000f, 0.101438f, -0.059534f, 0.051645f, -0.065323f, 0.065146f, 0.014713f, -0.010898f, 0.003494f, 0.038739f, -0.014113f, 0.036192f, -0.014217f, 0.001117f, 0.072092f, 0.022910f, -0.015981f, 0.001096f, 0.019519f, 0.015098f, -0.065999f, 0.019448f, -0.022716f, -0.004915f, -0.033760f, 0.035901f, 0.035085f, 0.006331f, 0.017780f, 0.059723f, -0.017251f, -0.092081f, 0.024499f, 0.062146f, -0.021424f, -0.060215f, 0.018546f, 0.044764f, 0.017082f, 0.001055f, -0.071110f, -0.034223f, -0.041146f, 0.041782f, 0.018899f, 0.043007f, -0.086037f, 0.006621f, -0.013940f, -0.096711f, -0.022956f, 0.015356f, 0.046599f, 0.062545f, -0.030411f, 0.115992f, 0.024659f, 0.003145f, -0.021474f, -0.045118f, -0.029967f, 0.023093f, -0.051286f, 0.110012f, -0.032934f, 0.006478f, 0.065542f, -0.039627f, 0.040086f, -0.037557f, -0.023218f, 0.095934f, -0.032566f, -0.080489f, 0.046272f, 0.029620f, 0.046317f, -0.018266f, -0.012796f, 0.018738f, 0.000456f, 0.005359f, 0.002081f, 0.009120f, 0.002569f, -0.012712f, 0.060018f, -0.013964f, -0.040620f, 0.017281f, -0.000578f, -0.036309f, - 0.013137f, 0.008194f, 0.025172f, -0.016895f, -0.026757f, 0.029193f, -0.023010f, -0.003514f, -0.006350f, 0.023844f, -0.040931f, 0.013868f, -0.025067f, 0.020726f, -0.035879f, 0.012614f, -0.011433f, 0.005846f, 0.081395f, -0.055855f, 0.011466f, 0.017155f, -0.048851f, 0.017507f, 0.024075f, -0.037592f, -0.006561f, -0.014825f, 0.068128f, 0.004931f, -0.076143f, 0.045606f, -0.061240f, 0.010606f, 0.033804f, -0.030838f, 0.038544f, -0.045670f, -0.035393f, 0.050043f, -0.006977f, 0.020766f, -0.074479f, 0.013422f, 0.018408f, -0.004892f, -0.009690f, -0.001426f, 0.033222f, 0.000489f, -0.098905f, 0.060996f, -0.003486f, 0.023654f, -0.023036f, -0.029556f, 0.102458f, 0.005234f, 0.034075f, -0.017315f, -0.203540f, -0.428395f, -0.173420f, -0.323505f, -0.393224f, 0.133832f, -0.005698f, 0.137415f, 0.533525f, 0.465626f, 0.263012f, 0.510669f, 0.282811f, 0.028610f, 0.173729f, 0.105666f, -0.198664f, -0.141220f, -0.044525f, -0.219301f, -0.264839f, -0.090322f, -0.136009f, -0.209874f, -0.055746f, -0.012642f, -0.266690f, -0.184279f, -0.031140f, -0.162765f, -0.210452f, -0.063088f, -0.104980f, -0.227485f, -0.046485f, 0.020542f, - -0.129249f, -0.098254f, 0.092180f, -0.035988f, -0.137931f, 0.026980f, 0.087146f, -0.067722f, 0.052840f, 0.196445f, -0.030594f, -0.052472f, 0.193727f, 0.104804f, -0.049299f, 0.325286f, 0.440098f, 0.276439f, 0.464917f, 0.697823f, 0.535909f, 0.513360f, 0.745839f, 0.650861f, 0.478885f, 0.590955f, 0.535874f, 0.349197f, 0.308019f, 0.177718f, -0.040048f, -0.207534f, -0.392995f, -0.554872f, -0.668770f, -0.827554f, -0.887498f, -0.903782f, -1.015445f, -0.782287f, -0.328791f, -0.239100f}, - {0.015411f, -0.004835f, 0.003598f, 0.002703f, -0.005164f, 0.006210f, 0.004807f, -0.001574f, 0.008486f, -0.000062f, 0.003607f, -0.012048f, 0.004522f, 0.004561f, -0.006273f, 0.012698f, 0.001577f, 0.006213f, -0.000874f, -0.001550f, 0.000757f, 0.008771f, 0.009662f, -0.009656f, -0.003025f, -0.004316f, 0.006311f, -0.003000f, -0.002298f, 0.001390f, -0.005192f, -0.008012f, 0.004325f, -0.007579f, 0.004329f, 0.004266f, 0.004248f, -0.000168f, 0.002384f, -0.000085f, 0.006220f, -0.002180f, 0.000959f, -0.006256f, -0.001556f, -0.011929f, -0.005601f, 0.001504f, 0.004265f, -0.000517f, 0.005970f, -0.000565f, 0.003038f, -0.007430f, 0.002075f, 0.003668f, 0.004347f, 0.001095f, -0.003381f, 0.000296f, -0.001629f, 0.002803f, 0.003272f, 0.001405f, -0.000289f, -0.002635f, -0.001525f, 0.006098f, -0.001585f, 0.002727f, 0.005248f, 0.003306f, -0.002841f, 0.006124f, 0.000130f, 0.001911f, -0.001890f, -0.013352f, 0.000381f, 0.010588f, 0.007286f, 0.007307f, 0.004615f, 0.002884f, -0.004168f, 0.000127f, -0.004740f, 0.011309f, 0.006969f, 0.002682f, 0.001674f, 0.001592f, -0.000103f, -0.003641f, 0.005617f, 0.007751f, - 0.007556f, 0.004537f, -0.005655f, -0.008306f, -0.008955f, -0.008633f, -0.000825f, 0.004401f, -0.008735f, 0.007285f, -0.001681f, 0.012787f, -0.002042f, 0.008092f, 0.000222f, -0.010754f, 0.003179f, -0.001459f, 0.008769f, 0.000508f, -0.000858f, -0.004444f, -0.007142f, 0.000567f, 0.004308f, -0.009462f, -0.012612f, 0.008855f, -0.007203f, -0.006931f, -0.006217f, 0.004951f, -0.004831f, 0.002056f, -0.001991f, -0.000718f, -0.007230f, -0.002360f, -0.004786f, -0.007576f, 0.002856f, 0.005758f, -0.001734f, -0.008303f, -0.001131f, -0.001716f, -0.003599f, -0.007139f, 0.000068f, -0.005769f, -0.006118f, -0.001142f, 0.001316f, 0.001808f, -0.001296f, 0.001423f, 0.000008f, 0.025178f, -0.008730f, -0.005689f, -0.007782f, -0.005314f, 0.000627f, -0.016743f, 0.002875f, -0.008267f, -0.016425f, -0.003437f, 0.014136f, -0.010060f, 0.002776f, -0.001107f, 0.004755f, 0.007224f, 0.007642f, 0.012426f, -0.002625f, -0.006951f, 0.003153f, 0.003093f, -0.005654f, -0.000693f, -0.003822f, -0.002357f, 0.001514f, -0.006328f, -0.004049f, -0.000792f, -0.008153f, -0.009401f, 0.004872f, 0.007557f, -0.004400f, -0.010808f, -0.001947f, -0.002388f, - 0.001530f, 0.009074f, 0.000558f, -0.003466f, -0.000625f, 0.012105f, 0.001442f, -0.007034f, -0.007055f, 0.003328f, 0.002200f, 0.009751f, 0.005329f, -0.000338f, -0.009119f, 0.000808f, -0.000605f, 0.008104f, -0.008416f, -0.002459f, 0.004486f, 0.009408f, -0.002655f, 0.001188f, -0.006972f, -0.003440f, 0.004062f, 0.000694f, 0.000725f, 0.002914f, -0.002854f, 0.003773f, 0.000748f, 0.004521f, 0.002194f, 0.002032f, 0.015335f, 0.004952f, -0.018520f, -0.004415f, -0.008779f, 0.008360f, 0.002065f, 0.000119f, 0.005936f, -0.003653f, -0.014323f, -0.007608f, 0.009410f, -0.000611f, 0.009699f, -0.000822f, -0.005583f, 0.010717f, 0.004008f, 0.023608f, -0.004518f, 0.010186f, 0.001450f, -0.011286f, 0.002762f, -0.009609f, 0.006095f, 0.002051f, 0.002368f, -0.010273f, 0.005025f, -0.001905f, -0.003634f, 0.004016f, 0.016093f, 0.005848f, -0.000143f, -0.013117f, 0.011182f, -0.002540f, -0.000003f, 0.007765f, -0.011840f, -0.002398f, 0.008068f, -0.005028f, -0.004268f, -0.013523f, -0.014595f, -0.001344f, 0.008723f, 0.004924f, -0.005910f, -0.000439f, 0.005639f, 0.006879f, 0.002756f, -0.001805f, -0.002918f, -0.013107f, - 0.005857f, 0.015456f, 0.007050f, -0.005022f, -0.002429f, 0.004512f, 0.007333f, -0.001177f, -0.002650f, 0.001208f, -0.010855f, -0.002760f, -0.007832f, -0.004453f, -0.001350f, -0.005867f, 0.011054f, 0.008503f, -0.004962f, -0.014224f, 0.015127f, -0.013706f, 0.013782f, -0.000490f, -0.011638f, -0.026954f, -0.010835f, -0.007989f, 0.003626f, 0.013591f, 0.010556f, -0.003708f, -0.002495f, -0.003590f, -0.007986f, -0.002543f, -0.008929f, 0.002598f, 0.002803f, 0.004944f, 0.008417f, 0.004863f, 0.016424f, -0.000280f, 0.003041f, -0.006237f, -0.001727f, -0.004326f, 0.005821f, 0.001545f, -0.008143f, -0.011600f, 0.000127f, -0.008411f, 0.000683f, 0.007368f, -0.013101f, 0.008705f, -0.021815f, -0.006200f, -0.016263f, 0.002453f, -0.001299f, 0.000008f, -0.006560f, -0.008677f, 0.002673f, 0.007377f, 0.005159f, 0.001787f, -0.013104f, 0.003695f, -0.009134f, -0.003568f, -0.002817f, -0.017640f, -0.007082f, 0.005065f, 0.006498f, -0.000744f, -0.012267f, 0.001949f, 0.004340f, -0.002424f, -0.002599f, 0.001371f, 0.010283f, 0.003714f, -0.002514f, -0.003382f, 0.001709f, -0.024893f, 0.001683f, 0.006253f, 0.005809f, 0.016687f, - 0.017864f, -0.004444f, 0.000346f, 0.011793f, -0.005949f, -0.005602f, 0.017654f, -0.013324f, -0.031499f, -0.020724f, -0.012093f, 0.019018f, 0.008228f, 0.002639f, -0.018164f, 0.019382f, -0.008200f, 0.005419f, -0.004847f, 0.007586f, 0.009513f, -0.000810f, 0.000429f, -0.000227f, -0.002952f, -0.010092f, -0.007876f, -0.002545f, 0.001272f, 0.008704f, 0.005216f, 0.013635f, 0.006803f, -0.006130f, -0.002956f, 0.012091f, -0.008557f, 0.014852f, -0.011748f, 0.003046f, 0.006867f, 0.004054f, -0.009460f, 0.013012f, -0.001000f, 0.013975f, 0.019045f, 0.002601f, -0.007180f, -0.007560f, 0.008241f, -0.009343f, -0.018721f, -0.005271f, 0.004333f, -0.012619f, 0.007317f, 0.005223f, -0.003711f, -0.008083f, -0.002888f, -0.003442f, 0.004028f, -0.002066f, -0.010356f, -0.004755f, 0.018896f, 0.014127f, 0.008398f, -0.022946f, -0.021279f, -0.012884f, 0.021216f, 0.009262f, -0.001136f, 0.001193f, -0.009185f, 0.002344f, 0.008189f, 0.012395f, -0.001457f, 0.004320f, -0.021388f, -0.007723f, 0.002663f, 0.006318f, -0.026342f, -0.003594f, 0.010322f, -0.008482f, -0.017379f, 0.009624f, -0.020094f, -0.014998f, -0.008386f, 0.000922f, - -0.007733f, -0.005566f, -0.001317f, 0.013631f, -0.012928f, 0.002410f, -0.004560f, -0.005885f, -0.010979f, -0.003645f, -0.015712f, -0.005287f, -0.001105f, 0.002064f, -0.011173f, -0.003035f, -0.007283f, 0.000136f, -0.004024f, -0.005494f, 0.002134f, 0.011028f, 0.002395f, -0.007020f, 0.005285f, -0.009903f, -0.002850f, 0.002615f, -0.004036f, 0.005044f, -0.002505f, -0.001544f, -0.042306f, 0.001881f, -0.015016f, 0.006159f, 0.005508f, 0.008297f, -0.023486f, -0.024389f, 0.002675f, -0.000161f, 0.005012f, -0.000866f, 0.012060f, -0.006139f, 0.006395f, 0.007264f, -0.004359f, 0.018364f, -0.006431f, -0.014182f, -0.002944f, -0.012242f, -0.000497f, -0.023063f, 0.000242f, 0.007114f, 0.016392f, -0.032395f, 0.008977f, 0.001573f, 0.009318f, 0.013282f, 0.002668f, -0.012509f, -0.027460f, 0.002092f, -0.010896f, 0.021181f, -0.008237f, 0.004417f, 0.001906f, 0.004546f, 0.016307f, -0.007015f, -0.000073f, -0.007397f, -0.003725f, 0.004116f, -0.003559f, 0.014862f, 0.011599f, 0.003092f, -0.002669f, 0.000077f, 0.010516f, -0.001189f, 0.005368f, -0.000424f, -0.007676f, 0.007056f, -0.001532f, -0.006436f, 0.009437f, 0.014650f, - 0.000673f, 0.005502f, 0.001702f, -0.010311f, -0.005510f, 0.017723f, -0.008069f, 0.008201f, 0.013954f, -0.018087f, 0.013271f, 0.006097f, 0.007134f, -0.008453f, 0.013643f, 0.002964f, -0.001386f, 0.015608f, 0.001469f, -0.001103f, -0.006803f, -0.005386f, 0.000915f, -0.008306f, -0.016607f, -0.005882f, 0.018931f, 0.012105f, 0.015789f, -0.003276f, -0.014493f, 0.004573f, 0.019939f, -0.005750f, -0.012145f, -0.003433f, -0.008130f, -0.006079f, 0.000003f, -0.015200f, -0.004280f, -0.024685f, -0.007003f, -0.014214f, -0.016768f, -0.015933f, -0.005425f, 0.022013f, 0.024005f, 0.032873f, 0.007618f, -0.012236f, -0.007340f, 0.027227f, 0.000228f, -0.006106f, 0.021034f, -0.001986f, 0.001241f, -0.032173f, 0.014968f, 0.008291f, -0.021237f, 0.030047f, -0.003820f, 0.013561f, -0.003282f, 0.007135f, 0.013645f, 0.000123f, 0.023854f, 0.009089f, 0.007021f, -0.002663f, -0.007983f, 0.002296f, 0.014589f, -0.003798f, 0.004577f, 0.006671f, 0.019203f, -0.000904f, -0.005369f, 0.012113f, -0.013949f, -0.009042f, 0.006784f, 0.020721f, -0.008913f, -0.011280f, -0.003220f, 0.017001f, 0.000444f, 0.002241f, -0.006140f, -0.003150f, - 0.006401f, 0.008791f, 0.001020f, -0.007700f, -0.023540f, 0.002470f, 0.007133f, 0.022193f, 0.006655f, -0.002271f, 0.017373f, 0.030491f, -0.006446f, 0.010288f, 0.007137f, 0.012208f, -0.002862f, -0.011583f, 0.005583f, -0.027563f, 0.040277f, -0.019271f, 0.009710f, -0.000803f, -0.012904f, 0.030808f, 0.007863f, 0.004377f, -0.031098f, 0.008895f, -0.011915f, -0.013903f, 0.004362f, -0.013568f, 0.016970f, 0.010343f, -0.001848f, 0.003803f, -0.006924f, -0.002968f, -0.010675f, -0.006901f, -0.012979f, -0.020948f, -0.004332f, -0.014507f, -0.003047f, 0.008698f, -0.005058f, -0.007584f, 0.018063f, 0.011192f, 0.018158f, -0.013510f, -0.000465f, -0.002329f, -0.014231f, 0.000628f, -0.006989f, -0.037820f, 0.004582f, 0.001156f, -0.004649f, 0.013745f, -0.000070f, 0.015112f, 0.013785f, 0.005035f, 0.024458f, 0.020947f, -0.018764f, -0.005099f, 0.001707f, -0.000298f, 0.008808f, 0.003209f, 0.021261f, -0.003725f, 0.033036f, 0.000425f, -0.016615f, -0.014493f, 0.004319f, 0.006146f, 0.008418f, 0.023268f, 0.008090f, 0.006262f, 0.023585f, 0.029099f, 0.003441f, -0.016727f, -0.014286f, -0.000628f, -0.003620f, -0.002536f, - 0.030188f, 0.024598f, 0.002691f, 0.016850f, -0.016628f, 0.008676f, 0.002295f, -0.000463f, 0.011471f, 0.025933f, -0.006006f, -0.001455f, 0.024044f, -0.029742f, -0.016087f, -0.012530f, -0.034045f, 0.007694f, -0.010119f, -0.004118f, 0.005210f, -0.023081f, 0.027212f, 0.020563f, 0.028866f, 0.013296f, -0.016236f, 0.002457f, 0.002219f, 0.021635f, -0.002708f, 0.000159f, 0.000364f, -0.012084f, 0.002250f, -0.006751f, 0.012888f, -0.012848f, -0.003887f, -0.003748f, -0.004578f, -0.015161f, 0.008958f, -0.022631f, -0.002128f, -0.000717f, 0.016329f, 0.009730f, 0.003585f, 0.001264f, -0.002424f, 0.002777f, 0.002025f, 0.013386f, 0.004756f, 0.004732f, 0.000081f, -0.035615f, -0.014946f, 0.005621f, 0.017656f, 0.019784f, -0.026290f, 0.020943f, 0.008589f, -0.009560f, 0.005962f, 0.008330f, -0.003239f, 0.030423f, 0.004435f, 0.008349f, -0.001616f, -0.035133f, -0.007130f, -0.012293f, 0.003904f, 0.035115f, 0.004739f, 0.013576f, -0.022780f, -0.020748f, 0.010329f, 0.017712f, 0.001199f, -0.007689f, 0.033694f, 0.009854f, -0.000846f, -0.010671f, 0.006575f, -0.003759f, -0.004805f, -0.002367f, -0.006923f, 0.000538f, - -0.012490f, -0.028596f, 0.008128f, 0.001739f, 0.007461f, 0.001639f, 0.014378f, 0.003559f, -0.017360f, -0.034593f, -0.000011f, 0.001403f, -0.003560f, -0.030416f, -0.015155f, -0.005518f, 0.007377f, -0.007509f, 0.002471f, -0.026747f, 0.000458f, -0.006838f, -0.000602f, 0.001462f, 0.006376f, -0.003871f, -0.024836f, -0.023291f, -0.014507f, 0.008225f, 0.006245f, -0.007000f, -0.005613f, -0.039755f, -0.022447f, -0.001841f, -0.038227f, 0.033681f, -0.036060f, -0.010795f, -0.023437f, 0.036263f, 0.011647f, -0.027160f, 0.012998f, -0.003904f, 0.014004f, -0.023117f, -0.007329f, 0.000345f, 0.015405f, -0.021641f, -0.007999f, -0.007288f, -0.020824f, 0.002140f, 0.015221f, 0.000117f, -0.003944f, 0.029952f, 0.067723f, -0.011217f, -0.023648f, -0.022178f, -0.019922f, -0.027580f, 0.002267f, -0.045661f, -0.002408f, -0.035685f, -0.017736f, 0.008702f, 0.019198f, 0.010477f, -0.017389f, -0.003809f, 0.018090f, -0.003085f, 0.021175f, -0.015607f, -0.016303f, -0.014069f, 0.008745f, -0.009822f, -0.012993f, 0.002116f, -0.015159f, -0.014647f, 0.013432f, 0.035818f, 0.011654f, 0.014415f, 0.004568f, -0.023613f, -0.007801f, -0.019449f, - -0.019539f, -0.004245f, -0.005764f, -0.015605f, -0.025270f, -0.046745f, -0.007071f, -0.017956f, 0.002929f, -0.009897f, 0.013919f, 0.014148f, 0.005805f, 0.014872f, 0.008352f, -0.003311f, 0.028329f, 0.043569f, 0.007348f, -0.054508f, 0.007172f, -0.011134f, -0.034731f, 0.002605f, 0.011186f, 0.005741f, -0.002833f, 0.012660f, -0.005330f, -0.027200f, -0.003271f, 0.009764f, -0.030533f, -0.015716f, -0.029605f, -0.046740f, 0.027514f, 0.001151f, -0.001596f, 0.050077f, -0.039199f, 0.043079f, -0.004875f, -0.006658f, -0.023714f, -0.009717f, -0.023537f, -0.020484f, 0.022636f, -0.022542f, 0.011214f, 0.051710f, 0.018773f, -0.009436f, -0.025005f, -0.021763f, 0.022773f, -0.021060f, -0.033785f, -0.015241f, 0.002446f, 0.001364f, -0.038400f, 0.000824f, -0.012263f, 0.017653f, -0.012717f, -0.002526f, 0.003489f, 0.053894f, -0.014376f, -0.020010f, 0.026305f, -0.023832f, 0.031775f, -0.021391f, 0.023048f, 0.001573f, -0.018071f, -0.018328f, 0.029479f, -0.041815f, 0.028982f, -0.019684f, 0.002209f, -0.012337f, 0.015424f, -0.016673f, -0.007805f, -0.003859f, -0.012983f, 0.053524f, -0.017379f, 0.035157f, 0.014079f, 0.013794f, - -0.001382f, 0.010346f, 0.023778f, 0.023218f, -0.009021f, -0.032390f, -0.001368f, 0.017311f, 0.007557f, -0.010650f, -0.036251f, 0.038185f, -0.012173f, -0.039028f, -0.011828f, -0.029403f, 0.009245f, 0.004961f, -0.058765f, -0.025410f, 0.035169f, -0.007618f, -0.015163f, 0.040949f, 0.003449f, -0.022128f, 0.015222f, 0.022031f, 0.018650f, 0.002427f, -0.036327f, -0.015367f, 0.004970f, 0.004717f, 0.018227f, 0.011813f, 0.020629f, -0.018877f, -0.014931f, 0.006507f, -0.005445f, 0.016722f, -0.034149f, -0.006296f, -0.036895f, -0.012380f, 0.006138f, -0.005631f, -0.005027f, 0.038358f, 0.007674f, -0.029514f, -0.004822f, 0.001680f, -0.029949f, -0.004652f, 0.001020f, 0.017076f, 0.044396f, -0.016585f, 0.014565f, -0.025712f, 0.003354f, -0.015434f, -0.019358f, 0.017532f, 0.038788f, -0.031825f, 0.002597f, 0.034132f, -0.016176f, -0.004040f, -0.013514f, 0.022007f, 0.005105f, -0.029277f, -0.000762f, -0.010852f, -0.009635f, -0.003809f, -0.014378f, 0.020110f, -0.050642f, 0.009518f, 0.003746f, -0.022311f, 0.027639f, 0.041830f, 0.029939f, 0.080752f, 0.024390f, -0.022552f, -0.029667f, -0.025599f, -0.013619f, 0.036505f, - -0.100088f, -0.008132f, 0.050202f, -0.077039f, -0.007716f, 0.010006f, -0.079563f, 0.029342f, 0.004699f, 0.055919f, -0.010513f, 0.016984f, 0.013218f, -0.070407f, -0.059323f, -0.025622f, -0.009934f, -0.037408f, -0.045375f, -0.025860f, 0.032859f, 0.022010f, 0.017975f, -0.001950f, -0.000639f, 0.007471f, -0.002621f, -0.052440f, -0.023005f, -0.066098f, -0.024815f, 0.029924f, 0.005023f, 0.018695f, 0.072151f, 0.015514f, 0.023826f, -0.005928f, 0.009918f, 0.063464f, 0.045588f, 0.009442f, 0.027777f, 0.025943f, 0.062019f, 0.050866f, -0.080469f, 0.041260f, -0.010645f, 0.039116f, 0.038514f, 0.013337f, 0.074714f, 0.066509f, -0.047156f, 0.029805f, -0.008244f, 0.027859f, -0.067903f, -0.000696f, -0.002249f, -0.004667f, -0.022866f, 0.030485f, 0.030830f, -0.047662f, -0.024626f, -0.032044f, 0.001828f, -0.042667f, -0.055459f, 0.027192f, 0.047691f, 0.010543f, 0.043803f, -0.036338f, -0.029891f, 0.045062f, 0.080695f, -0.010329f, -0.108449f, -0.034339f, 0.011961f, -0.008018f, -0.017234f, -0.023500f, 0.001318f, -0.062038f, -0.036447f, -0.051471f, -0.007283f, -0.014782f, 0.018467f, -0.036689f, -0.009399f, 0.010304f, - 0.018686f, -0.000139f, 0.020725f, 0.038015f, 0.009313f, 0.054704f, -0.033478f, 0.013344f, 0.003898f, 0.052153f, 0.015444f, -0.010011f, -0.050407f, 0.034940f, -0.006959f, 0.047535f, -0.037618f, -0.031484f, -0.027824f, -0.015969f, -0.045745f, -0.006543f, -0.005689f, -0.045320f, 0.027848f, 0.051764f, -0.021966f, 0.007723f, -0.063861f, 0.064585f, -0.016849f, -0.035102f, 0.033252f, 0.025803f, -0.034295f, 0.003364f, -0.019486f, 0.008442f, -0.012687f, 0.080746f, 0.002324f, -0.007011f, -0.014063f, 0.142442f, 0.010151f, -0.019633f, 0.068407f, 0.048564f, -0.043492f, 0.039608f, -0.053798f, -0.036822f, -0.054697f, 0.047664f, -0.030821f, 0.017288f, -0.032541f, -0.148662f, 0.008733f, 0.092581f, -0.058779f, -0.039862f, 0.074070f, -0.056995f, -0.005297f, -0.017525f, 0.071051f, -0.126824f, 0.068159f, 0.039562f, -0.036937f, 0.011133f, 0.066574f, 0.046800f, -0.025550f, 0.025939f, 0.010875f, -0.021000f, 0.030459f, -0.002672f, 0.017833f, 0.027535f, -0.014215f, 0.005117f, -0.004797f, 0.012050f, -0.019685f, -0.016615f, -0.002757f, 0.023272f, -0.075688f, -0.038775f, 0.035257f, -0.010440f, -0.050720f, -0.060160f, - 0.008451f, 0.070038f, -0.032923f, -0.048300f, 0.033890f, 0.051656f, -0.013401f, 0.011325f, -0.011155f, 0.047926f, -0.028900f, 0.072961f, -0.011859f, -0.002126f, 0.039492f, -0.001409f, 0.007722f, -0.055718f, 0.082132f, -0.045705f, -0.054476f, 0.037560f, -0.057666f, -0.020709f, 0.007300f, 0.025469f, 0.075308f, -0.029802f, 0.045908f, -0.012103f, 0.022607f, -0.133599f, -0.103520f, -0.020692f, -0.042502f, 0.017588f, -0.015312f, -0.053727f, -0.027629f, 0.031141f, -0.065692f, 0.054987f, -0.056572f, -0.070158f, 0.032404f, -0.036519f, -0.025792f, 0.032685f, -0.032765f, 0.026403f, -0.026673f, 0.009475f, 0.069155f, -0.071044f, -0.009095f, -0.015386f, 0.057638f, 0.002950f, 0.001562f, -0.064383f, -0.059522f, -0.025240f, -0.020365f, -0.014278f, -0.022009f, 0.005150f, -0.000925f, -0.011907f, 0.005052f, 0.007294f, 0.002284f, 0.004211f, -0.015420f, 0.022739f, -0.022815f, 0.021364f, -0.056352f, -0.004624f, -0.046372f, -0.061632f, -0.036350f, 0.066352f, -0.035401f, -0.039134f, -0.027758f, 0.009665f, -0.018382f, 0.025200f, 0.043651f, -0.057332f, 0.040817f, 0.000143f, -0.072466f, -0.042567f, 0.138514f, 0.065300f, - -0.111380f, -0.029101f, 0.064871f, -0.043963f, -0.042908f, 0.017801f, -0.037578f, -0.084852f, 0.049830f, 0.013212f, -0.105088f, 0.029445f, 0.047046f, -0.073432f, -0.044851f, 0.043345f, -0.024624f, 0.091827f, 0.128941f, -0.048000f, 0.143982f, -0.008517f, -0.036462f, -0.027254f, -0.045715f, -0.001236f, 0.025949f, 0.086405f, 0.004969f, 0.028673f, -0.019190f, -0.069031f, 0.003316f, 0.005738f, 0.049373f, 0.012200f, -0.052650f, 0.104525f, -0.041519f, 0.022261f, 0.047171f, -0.047036f, -0.039385f, -0.068498f, -0.030040f, 0.048108f, 0.056876f, 0.072209f, -0.024513f, -0.163795f, 0.038428f, 0.091430f, 0.113370f, 0.100458f, -0.000402f, -0.043846f, -0.058460f, 0.024534f, 0.058123f, -0.032118f, -0.018504f, -0.143976f, -0.090277f, 0.084479f, 0.134902f, 0.032365f, -0.003202f, -0.027624f, -0.058390f, -0.008615f, 0.037509f, -0.046653f, 0.020498f, -0.001827f, 0.084889f, 0.002166f, 0.032941f, -0.159993f, -0.021455f, 0.008416f, 0.101440f, 0.085780f, -0.002947f, -0.042581f, -0.014830f, 0.129045f, 0.053352f, -0.134038f, -0.178453f, -0.059571f, 0.032782f, 0.284702f, 0.026446f, -0.035117f, 0.035627f, 0.013451f, - -0.023511f, 0.057841f, -0.067765f, 0.001475f, -0.027485f, 0.014895f, -0.042045f, 0.038429f, 0.010511f, -0.022948f, -0.042313f, -0.021445f, -0.008194f, 0.011416f, -0.057552f, 0.012371f, -0.028223f, -0.011850f, -0.045000f, -0.022113f, 0.036413f, -0.039322f, -0.013509f, -0.006307f, 0.017905f, 0.010966f, -0.014773f, 0.019509f, -0.032672f, -0.003783f, 0.000685f, 0.016445f, -0.021199f, 0.029991f, 0.023748f, -0.025083f, -0.027034f, -0.011881f, 0.045010f, -0.033416f, 0.014679f, 0.031555f, 0.008089f, -0.033713f, -0.011514f, 0.012269f, -0.019300f, 0.013352f, 0.002472f, 0.005541f, -0.028616f, 0.004460f, -0.022948f, -0.002918f, 0.023830f, 0.026430f, 0.023586f, -0.018466f, 0.022725f, 0.000518f, -0.024615f, -0.006189f, 0.001945f, 0.029181f, -0.006431f, 0.004119f, 0.029958f, -0.008614f, -0.032925f, 0.047105f, -0.017051f, 0.026608f, 0.025469f, 0.002343f, 0.011644f, -0.021523f, -0.016385f, -0.053199f, 0.102672f, 0.010360f, 0.006617f, -0.039875f, 0.024606f, -0.002270f, 0.027678f, 0.021534f, 0.032195f, 0.004685f, 0.008917f, -0.016288f, 0.005998f, 0.029892f, -0.001889f, 0.016972f, -0.001599f, 0.006334f, - 0.007190f, 0.012981f, -0.011284f, 0.023059f, -0.013936f, 0.003434f, -0.001597f, 0.008818f, -0.001184f, 0.005862f, 0.017182f, 0.019600f, -0.008034f, 0.009545f, 0.004180f, -0.002428f, -0.007131f, 0.025698f, -0.006801f, 0.006777f, -0.006284f, 0.014305f, 0.000445f, -0.009752f, 0.024655f, -0.013211f, -0.004758f, 0.008273f, -0.010971f, -0.004969f, -0.003177f, 0.002971f, -0.004048f, 0.002439f, -0.002067f, -0.004153f, 0.008409f, -0.013394f, 0.009942f, 0.008901f, -0.005269f, 0.012653f, -0.007867f, 0.014660f, -0.006423f, 0.004916f, 0.002144f, -0.004633f, 0.011634f, 0.002930f, 0.001071f, -0.000615f, 0.015306f, -0.015646f, 0.019147f, -0.010208f, 0.000195f, 0.009367f, 0.019110f, -0.093018f, -0.231172f, 0.035597f, 0.175452f, 0.163079f, 0.282991f, -0.072566f, -0.076245f, -0.193157f, -0.263831f, -0.054517f, 0.094834f, 0.101754f, 0.191540f, 0.104126f, 0.007767f, -0.050003f, -0.134519f, -0.095414f, -0.016958f, -0.015024f, 0.047241f, 0.044217f, 0.025074f, 0.016281f, 0.012321f, -0.007117f, -0.033511f, -0.002583f, 0.037454f, 0.000283f, 0.007396f, -0.002165f, -0.029158f, -0.021808f, -0.049168f, -0.047481f, - 0.020897f, 0.019975f, 0.043419f, 0.067164f, 0.049552f, 0.024676f, 0.008174f, -0.072237f, -0.051921f, -0.039434f, -0.040422f, -0.044065f, 0.008504f, 0.028468f, 0.048339f, 0.062971f, 0.051126f, 0.011607f, -0.006877f, -0.041254f, -0.043201f, -0.024854f, -0.013018f, 0.004504f, 0.006305f, 0.014553f, 0.000597f, -0.013016f, 0.004044f, -0.021007f, 0.010881f, 0.019261f, 0.001900f, 0.037985f, 0.044796f, 0.015386f, -0.007376f, -0.046282f, -0.059850f, -0.015115f, -0.000186f, -0.001366f} - }, - { - {0.013420f, -0.000209f, 0.005181f, 0.005615f, 0.001992f, 0.002040f, 0.002951f, 0.004505f, 0.008385f, 0.003966f, -0.000592f, -0.003196f, 0.000563f, -0.004413f, -0.004280f, 0.000795f, -0.000774f, 0.001794f, -0.000829f, -0.001739f, -0.004675f, 0.006127f, 0.001248f, -0.000221f, -0.008309f, 0.000727f, 0.005836f, 0.008334f, -0.005496f, -0.001211f, -0.001522f, 0.004249f, -0.000613f, -0.000284f, 0.001900f, 0.000669f, -0.001158f, 0.003107f, -0.003384f, 0.001505f, -0.008440f, -0.006124f, 0.002785f, 0.003340f, 0.012023f, -0.004514f, -0.004511f, -0.002546f, 0.004971f, -0.003818f, -0.007079f, -0.004891f, -0.008346f, 0.000921f, -0.005535f, 0.005018f, 0.006468f, 0.001583f, 0.002777f, -0.003821f, 0.002505f, -0.000577f, -0.009330f, 0.010984f, 0.007395f, 0.005305f, 0.001905f, -0.003562f, -0.001580f, 0.004679f, -0.002822f, 0.001426f, 0.000530f, 0.000330f, -0.000813f, -0.002734f, -0.007743f, -0.010960f, -0.000232f, 0.002290f, 0.001724f, 0.007665f, 0.000941f, -0.001047f, -0.005079f, 0.011303f, 0.006971f, 0.000269f, -0.001474f, 0.011222f, 0.003779f, -0.003726f, -0.009996f, 0.006230f, -0.002921f, 0.004811f, - -0.009510f, 0.000495f, -0.002313f, -0.007142f, -0.001953f, -0.003655f, -0.001352f, 0.000415f, 0.000006f, -0.005247f, -0.003181f, -0.000942f, -0.001018f, -0.003316f, 0.003385f, -0.000461f, -0.003430f, 0.005937f, -0.010120f, -0.004933f, 0.004814f, -0.006210f, 0.000832f, -0.003913f, -0.005544f, 0.003622f, 0.003435f, -0.003131f, 0.003812f, 0.007151f, 0.004143f, -0.003956f, -0.004401f, 0.000629f, 0.001484f, -0.004647f, 0.004902f, 0.007879f, -0.006805f, -0.002391f, 0.004056f, 0.002765f, -0.001532f, -0.002323f, -0.003230f, 0.004208f, 0.001509f, -0.005584f, 0.006251f, 0.002657f, -0.004728f, -0.004071f, 0.006694f, -0.005227f, -0.005676f, -0.012158f, -0.009275f, 0.004257f, 0.014873f, -0.001041f, -0.002566f, -0.005595f, 0.009663f, -0.004604f, -0.000148f, -0.007212f, -0.007667f, -0.009799f, -0.004371f, 0.008268f, -0.007819f, -0.002754f, -0.002481f, 0.003068f, -0.001627f, -0.010975f, 0.006310f, 0.003132f, 0.022378f, -0.001940f, 0.010714f, -0.001751f, -0.000082f, -0.000701f, 0.001606f, -0.004338f, 0.008981f, -0.001947f, -0.001214f, -0.004848f, -0.000427f, -0.001557f, 0.013694f, 0.002717f, -0.000789f, -0.012071f, - -0.000700f, -0.002108f, 0.004303f, -0.007580f, -0.001571f, 0.002382f, 0.002392f, -0.001913f, -0.000677f, -0.004620f, -0.001161f, -0.005607f, -0.001933f, 0.011615f, -0.002610f, 0.003843f, 0.007119f, -0.001295f, -0.005366f, -0.007870f, 0.002966f, 0.002138f, 0.003362f, 0.005272f, 0.006950f, 0.005147f, 0.003894f, -0.002031f, -0.001047f, -0.002393f, -0.010169f, -0.002529f, 0.000223f, 0.005707f, 0.006283f, -0.002700f, 0.001562f, -0.019505f, -0.004962f, -0.000661f, -0.004377f, -0.003134f, 0.006472f, -0.013797f, -0.011580f, -0.006922f, -0.004675f, 0.001625f, 0.014933f, -0.003598f, -0.000278f, 0.001521f, -0.011126f, -0.003157f, -0.009325f, -0.001719f, 0.015855f, -0.001556f, -0.008045f, -0.005405f, -0.000011f, 0.002963f, 0.003016f, -0.004833f, -0.020570f, -0.010073f, -0.002916f, -0.008186f, 0.000544f, 0.000047f, 0.008081f, -0.005648f, 0.007169f, 0.001467f, -0.003920f, -0.011233f, -0.009274f, 0.012313f, -0.010565f, 0.006622f, 0.001921f, -0.007012f, -0.002604f, -0.006293f, -0.004369f, 0.005638f, -0.011275f, 0.005493f, 0.001931f, -0.000482f, 0.001860f, 0.000490f, -0.001115f, -0.000039f, -0.005655f, -0.008077f, - 0.000616f, -0.002649f, -0.005666f, -0.002590f, -0.008774f, 0.010094f, 0.007253f, 0.001550f, 0.008689f, 0.000782f, -0.003322f, 0.010309f, -0.005186f, -0.003663f, -0.003086f, 0.007851f, -0.007072f, -0.012786f, 0.015983f, 0.018140f, 0.005052f, 0.005008f, -0.005032f, 0.008571f, 0.004310f, -0.010312f, 0.003387f, 0.006981f, -0.012474f, -0.010740f, 0.011106f, -0.009368f, -0.001327f, -0.005939f, 0.011173f, 0.002699f, -0.001223f, -0.003804f, -0.000043f, -0.006903f, 0.006722f, -0.003280f, 0.004074f, -0.001402f, -0.000045f, 0.007580f, 0.002847f, 0.001383f, -0.002806f, 0.007467f, 0.004486f, 0.002509f, -0.000632f, 0.007746f, -0.000604f, 0.001776f, -0.004666f, 0.009389f, 0.001958f, 0.004038f, 0.006481f, -0.017449f, -0.005897f, -0.003020f, -0.006502f, -0.005706f, 0.001737f, 0.010580f, -0.004416f, -0.002078f, -0.005585f, -0.001831f, 0.002053f, 0.005059f, -0.012470f, -0.000055f, 0.004188f, 0.001228f, -0.001115f, 0.006133f, 0.003352f, -0.010767f, -0.003393f, -0.001656f, 0.007004f, -0.006694f, 0.009952f, 0.011943f, 0.005555f, 0.003338f, -0.005291f, 0.000922f, 0.000697f, 0.019275f, -0.004332f, -0.000919f, - 0.006634f, 0.004074f, 0.002886f, 0.006081f, 0.017044f, -0.005567f, -0.002263f, -0.017672f, -0.000304f, -0.015275f, -0.019216f, 0.000027f, 0.007269f, -0.024623f, 0.007496f, 0.007210f, 0.003653f, -0.007921f, -0.006410f, -0.008583f, -0.003669f, -0.000178f, -0.000152f, 0.006987f, 0.009415f, -0.002023f, -0.010585f, -0.006664f, 0.006789f, -0.011307f, -0.005980f, -0.009659f, 0.001263f, -0.015213f, 0.006569f, 0.000498f, -0.001680f, 0.001685f, -0.001172f, -0.003991f, -0.000699f, 0.008713f, -0.011543f, 0.012441f, -0.010686f, -0.001830f, 0.001671f, -0.007276f, -0.006156f, 0.004450f, 0.001749f, -0.002774f, -0.005857f, 0.009091f, 0.003261f, -0.007514f, -0.014504f, 0.000880f, 0.002286f, 0.007282f, -0.001245f, -0.004257f, -0.000269f, 0.003500f, -0.004269f, 0.018246f, -0.007451f, -0.003866f, -0.014748f, -0.009803f, 0.020086f, 0.007774f, -0.006352f, -0.002531f, -0.002167f, 0.004762f, 0.012122f, -0.017853f, -0.010801f, 0.011234f, -0.009646f, -0.010307f, -0.011152f, -0.013303f, 0.008366f, -0.003941f, -0.001009f, -0.003667f, -0.000150f, -0.014744f, -0.003393f, 0.005584f, 0.006388f, 0.000777f, -0.007945f, -0.011527f, - -0.009448f, -0.012126f, 0.001746f, 0.012643f, 0.001288f, 0.003518f, 0.004110f, 0.003646f, -0.008413f, 0.007448f, 0.004698f, -0.006798f, -0.005223f, -0.019166f, 0.002388f, 0.003205f, -0.014771f, -0.002025f, 0.004042f, -0.003588f, 0.001426f, -0.002192f, -0.015737f, 0.012212f, -0.014651f, 0.010392f, 0.000353f, 0.004788f, -0.016384f, -0.009948f, -0.014654f, -0.012316f, 0.001972f, -0.004971f, -0.005230f, -0.007328f, -0.000080f, 0.006315f, -0.013365f, -0.001104f, 0.003983f, -0.005184f, -0.014758f, -0.010184f, -0.002860f, 0.002018f, 0.007620f, 0.002409f, -0.011796f, 0.012481f, -0.003577f, -0.003327f, 0.013860f, -0.017071f, -0.004921f, 0.027334f, -0.022642f, -0.011459f, -0.014806f, 0.012307f, 0.005122f, -0.007005f, 0.006153f, 0.000907f, 0.016522f, 0.002050f, 0.000946f, -0.014068f, 0.011470f, 0.018473f, 0.018947f, 0.016288f, -0.007711f, -0.000105f, 0.003046f, -0.008452f, -0.005930f, 0.003804f, 0.001774f, -0.012642f, -0.006176f, -0.004534f, 0.007457f, 0.000331f, -0.009906f, -0.003414f, 0.004078f, 0.009860f, 0.001637f, -0.001389f, 0.000724f, -0.005818f, 0.000372f, 0.001184f, 0.001711f, -0.014243f, - 0.009877f, 0.012751f, 0.002822f, 0.007503f, 0.007093f, -0.010993f, 0.019031f, 0.018649f, 0.003635f, -0.009402f, 0.007166f, -0.001874f, -0.016506f, -0.002037f, -0.004807f, 0.002170f, 0.001647f, 0.002248f, -0.009705f, -0.006488f, -0.020583f, -0.014784f, 0.000924f, 0.013844f, -0.009004f, 0.007890f, 0.002161f, -0.002888f, -0.016450f, 0.002354f, 0.011056f, -0.002114f, 0.010147f, 0.023231f, 0.006661f, -0.000519f, -0.024362f, 0.003474f, -0.008597f, -0.032893f, -0.025141f, 0.007313f, 0.001030f, -0.004977f, 0.006794f, 0.017062f, -0.001797f, 0.010572f, 0.009389f, 0.005869f, -0.001809f, -0.007901f, 0.007941f, -0.006589f, 0.001678f, -0.005521f, 0.010909f, 0.019455f, -0.015906f, -0.003881f, 0.001809f, 0.007678f, 0.002575f, -0.004243f, -0.002256f, -0.005246f, 0.000297f, -0.006707f, 0.010585f, 0.003159f, -0.010944f, 0.014072f, -0.012294f, -0.003144f, 0.016812f, 0.015180f, 0.012708f, -0.012519f, -0.008125f, -0.011079f, 0.014937f, 0.020282f, 0.000533f, -0.002809f, 0.016018f, -0.021189f, 0.003589f, 0.007217f, -0.001314f, -0.017547f, 0.017776f, 0.007222f, 0.009469f, 0.017217f, 0.001731f, -0.021302f, - 0.006857f, 0.010750f, -0.004891f, -0.000194f, 0.016570f, -0.014649f, -0.014266f, -0.011497f, 0.002549f, 0.021869f, 0.011862f, -0.001117f, 0.024028f, -0.028858f, -0.010454f, 0.002102f, 0.015117f, -0.026599f, 0.027913f, 0.011639f, -0.000149f, -0.002289f, 0.002829f, 0.005197f, 0.015373f, -0.002334f, 0.002172f, -0.004274f, -0.002891f, 0.008841f, 0.004856f, 0.010180f, 0.004822f, 0.006063f, -0.017972f, -0.007236f, 0.031616f, 0.003575f, 0.009782f, 0.013472f, 0.005450f, -0.010126f, -0.018986f, 0.006474f, -0.007603f, 0.001114f, 0.007417f, -0.009359f, -0.010891f, 0.014281f, 0.016893f, -0.008187f, -0.005516f, 0.012981f, -0.015031f, 0.007112f, -0.011451f, 0.005669f, -0.011071f, 0.017083f, 0.002860f, -0.001997f, 0.006428f, 0.029121f, 0.008474f, 0.011382f, -0.002776f, 0.001623f, 0.005406f, 0.021473f, -0.001386f, 0.030690f, 0.001361f, 0.014589f, -0.000091f, 0.027634f, 0.010202f, 0.020579f, 0.016056f, -0.003569f, -0.008847f, -0.002647f, -0.010171f, -0.011878f, 0.016585f, -0.003590f, -0.005925f, 0.002073f, 0.000692f, -0.008910f, -0.003451f, 0.001548f, 0.008148f, -0.000030f, 0.030956f, -0.009141f, - -0.001132f, -0.039939f, -0.002275f, 0.020188f, -0.011871f, 0.017471f, -0.025855f, 0.002926f, 0.001533f, -0.001386f, -0.034038f, -0.002127f, -0.056079f, 0.001987f, -0.007132f, -0.023638f, -0.005114f, 0.002535f, -0.013206f, 0.001570f, 0.012758f, 0.001645f, -0.013794f, 0.001876f, -0.005129f, 0.011774f, -0.014812f, 0.000386f, 0.016354f, 0.003609f, 0.000124f, -0.002968f, 0.012152f, -0.009008f, 0.000001f, -0.000315f, 0.008923f, 0.001786f, -0.020085f, -0.010076f, -0.014658f, 0.015224f, -0.036403f, 0.016752f, 0.012194f, 0.011855f, 0.004933f, 0.002604f, -0.017005f, 0.010919f, -0.024395f, -0.005218f, -0.006648f, -0.004489f, -0.002980f, 0.001692f, 0.005181f, -0.017008f, -0.008970f, 0.029703f, 0.010010f, -0.010134f, -0.014775f, 0.003845f, -0.007649f, 0.009732f, -0.008588f, -0.000804f, -0.012272f, 0.027805f, 0.010537f, -0.007419f, -0.001523f, -0.010916f, -0.000305f, 0.020586f, 0.020777f, 0.012267f, 0.010945f, -0.009452f, 0.012113f, 0.020063f, -0.014211f, -0.000030f, -0.037447f, 0.022147f, 0.015066f, -0.004856f, 0.009026f, -0.001889f, 0.003274f, 0.014031f, -0.008225f, 0.021650f, -0.018795f, 0.002425f, - 0.023917f, 0.011002f, 0.001621f, 0.018941f, -0.006344f, 0.009055f, 0.004938f, 0.010470f, 0.016296f, -0.008909f, -0.001889f, 0.030594f, 0.014976f, 0.000049f, 0.004122f, -0.019544f, 0.027483f, -0.022438f, -0.001533f, 0.024850f, 0.007374f, 0.026712f, -0.016429f, 0.004941f, -0.001236f, -0.005555f, 0.003258f, -0.024254f, -0.017848f, 0.024452f, -0.012079f, -0.004218f, -0.008350f, -0.025796f, 0.018519f, -0.005408f, -0.004880f, -0.010915f, 0.011121f, 0.027999f, -0.021940f, -0.003411f, 0.017605f, -0.019096f, -0.009483f, 0.017309f, 0.021949f, -0.036599f, -0.010949f, -0.002139f, 0.015040f, 0.000613f, 0.017619f, -0.003173f, 0.019230f, 0.041291f, 0.007582f, -0.025090f, -0.009298f, 0.007795f, -0.055267f, 0.001352f, -0.000214f, -0.008924f, -0.003257f, 0.024956f, -0.041906f, 0.008778f, 0.018699f, -0.015479f, 0.016480f, 0.031669f, 0.007258f, -0.029742f, 0.007306f, -0.007642f, -0.001240f, -0.029110f, -0.009465f, 0.026221f, -0.003717f, 0.024056f, -0.007145f, -0.008586f, 0.003155f, -0.020549f, -0.012340f, -0.014785f, -0.011787f, -0.008071f, 0.018854f, -0.021794f, 0.002631f, 0.038152f, 0.024779f, 0.008677f, - -0.039712f, 0.006560f, 0.024403f, 0.010798f, 0.000464f, -0.013610f, -0.017905f, -0.041101f, -0.029694f, 0.006208f, -0.015306f, -0.013781f, -0.002031f, 0.018084f, 0.011247f, -0.011949f, -0.000779f, 0.025696f, -0.011059f, -0.003610f, -0.000305f, 0.033793f, -0.000261f, -0.000800f, 0.015213f, 0.006268f, -0.039287f, 0.011728f, 0.009146f, 0.001213f, -0.032931f, 0.014820f, 0.016602f, -0.011737f, -0.010055f, -0.012003f, 0.043414f, 0.002692f, -0.008417f, -0.000256f, 0.019325f, -0.008838f, 0.005505f, -0.004275f, 0.004736f, 0.016719f, -0.029582f, 0.031862f, 0.035848f, 0.010430f, 0.015265f, -0.011676f, 0.020373f, 0.047358f, 0.001661f, -0.004956f, -0.008534f, 0.020411f, -0.006993f, -0.010928f, -0.003899f, 0.007522f, -0.023346f, 0.010842f, -0.020592f, 0.023998f, 0.005326f, 0.024163f, -0.014953f, 0.022060f, 0.006336f, 0.028736f, 0.004544f, 0.006388f, -0.010322f, 0.018046f, 0.004176f, -0.005179f, 0.025132f, -0.009507f, -0.018469f, 0.036353f, 0.028272f, 0.010969f, 0.026629f, 0.039702f, 0.047128f, -0.014510f, -0.015605f, -0.016538f, 0.005217f, -0.021647f, 0.024989f, -0.002980f, -0.003336f, -0.036505f, - 0.007406f, 0.041724f, 0.041108f, -0.001598f, -0.007013f, -0.029129f, -0.001225f, 0.027480f, -0.016058f, -0.017501f, 0.013339f, 0.002029f, -0.017783f, 0.004708f, -0.005674f, -0.058374f, -0.041344f, 0.018804f, 0.006179f, -0.031559f, 0.001202f, 0.011100f, -0.028819f, -0.018988f, -0.013452f, 0.030141f, 0.012627f, 0.008231f, -0.012004f, -0.009939f, -0.009884f, -0.022143f, -0.028468f, -0.049216f, 0.022823f, 0.018863f, -0.011677f, 0.051008f, 0.023888f, 0.048868f, 0.033404f, 0.001055f, -0.017966f, 0.011298f, 0.004684f, 0.020966f, 0.025114f, 0.027204f, -0.005781f, -0.007488f, 0.011047f, -0.015655f, -0.004583f, -0.014098f, -0.023521f, -0.038613f, -0.012015f, 0.034502f, -0.010570f, -0.017158f, -0.022293f, 0.012234f, 0.020964f, 0.012402f, 0.000112f, 0.019255f, 0.041059f, -0.027799f, -0.012844f, -0.021995f, -0.015406f, -0.043393f, -0.011251f, 0.007772f, -0.019824f, -0.017106f, -0.048255f, -0.069552f, 0.006153f, -0.046688f, -0.070627f, -0.052779f, -0.022299f, 0.042490f, 0.014393f, 0.025053f, 0.019410f, -0.048541f, -0.020766f, 0.002033f, 0.021873f, 0.004530f, -0.109491f, -0.018862f, 0.032401f, -0.038530f, - 0.012848f, -0.016176f, -0.060474f, -0.020047f, 0.060151f, 0.076727f, -0.044013f, -0.000360f, -0.016709f, -0.065902f, -0.053442f, -0.050002f, -0.053923f, -0.029248f, -0.036104f, -0.004459f, 0.008478f, -0.010613f, 0.010553f, 0.010491f, -0.023712f, -0.007355f, -0.031614f, 0.010596f, -0.048287f, -0.042548f, 0.007039f, 0.005591f, -0.015277f, -0.016497f, 0.032795f, -0.011944f, 0.046616f, 0.009579f, 0.042924f, -0.032490f, 0.016891f, 0.011673f, 0.052495f, 0.028477f, 0.016240f, 0.004064f, 0.005057f, -0.007832f, 0.012906f, 0.021750f, -0.021572f, -0.026307f, 0.035340f, -0.006531f, -0.052688f, -0.094990f, -0.116786f, -0.082498f, 0.009512f, -0.001200f, -0.109255f, 0.033117f, 0.013658f, 0.025292f, -0.040210f, 0.003522f, 0.007924f, 0.003646f, 0.049471f, 0.053911f, 0.105530f, 0.035406f, -0.062353f, -0.076295f, -0.047711f, -0.020250f, -0.009923f, 0.059170f, -0.017328f, -0.114839f, -0.033778f, 0.092734f, -0.014265f, 0.019978f, 0.012032f, 0.016626f, 0.031463f, 0.026054f, 0.007988f, -0.019337f, -0.008320f, 0.003940f, -0.021718f, -0.005376f, 0.032935f, -0.031417f, -0.019865f, -0.031436f, -0.008945f, 0.004830f, - 0.002392f, 0.007759f, 0.014504f, -0.023855f, 0.019327f, 0.051013f, -0.002557f, -0.030170f, 0.001089f, -0.019748f, -0.008414f, 0.030351f, -0.033773f, 0.003627f, 0.008473f, 0.037290f, 0.052226f, -0.034121f, -0.021234f, 0.021124f, 0.001213f, 0.006228f, 0.004607f, -0.022307f, -0.059707f, -0.009849f, -0.028628f, 0.053484f, -0.101901f, -0.065231f, -0.028649f, -0.010067f, 0.027590f, 0.007074f, -0.036723f, -0.004831f, -0.041965f, -0.042795f, -0.016733f, -0.030422f, 0.005141f, 0.027800f, 0.120371f, 0.024188f, -0.017623f, -0.075598f, -0.062567f, 0.021117f, 0.000968f, -0.070820f, 0.045835f, 0.037325f, -0.043088f, -0.138309f, 0.016031f, 0.017539f, -0.007655f, -0.005647f, -0.013531f, -0.042391f, 0.012164f, -0.012171f, 0.065802f, -0.074735f, -0.017499f, 0.068760f, -0.006303f, -0.052901f, -0.008948f, 0.038848f, 0.049170f, 0.027924f, -0.012193f, 0.033104f, -0.030971f, 0.020916f, -0.014211f, -0.014004f, -0.027104f, 0.036344f, 0.025073f, -0.031250f, -0.014941f, -0.008625f, 0.038762f, -0.008782f, 0.001780f, -0.031615f, 0.025313f, 0.012946f, -0.033242f, 0.050300f, -0.000059f, -0.055564f, 0.041674f, -0.060079f, - -0.031187f, 0.043580f, -0.108148f, -0.073498f, 0.054975f, -0.042902f, 0.040130f, -0.073679f, 0.012488f, 0.017570f, -0.039277f, -0.005951f, -0.005351f, -0.076905f, -0.018502f, 0.063165f, 0.072889f, -0.094537f, -0.030974f, 0.016711f, -0.071311f, 0.078484f, 0.086258f, 0.001392f, -0.130021f, -0.079555f, 0.132326f, -0.086299f, -0.017642f, 0.091611f, -0.068656f, -0.156088f, -0.036780f, -0.019201f, -0.074203f, -0.069949f, -0.001737f, -0.088249f, -0.026048f, -0.037481f, -0.035393f, -0.026586f, 0.057451f, -0.006159f, -0.018341f, -0.024050f, 0.011252f, -0.030774f, -0.073627f, 0.057329f, 0.017973f, 0.049615f, 0.015453f, 0.051356f, -0.020265f, -0.031037f, 0.011308f, -0.052780f, 0.041412f, -0.047690f, -0.010206f, 0.032470f, -0.036619f, -0.007006f, -0.022226f, -0.057648f, 0.008840f, -0.043252f, -0.031802f, -0.037544f, -0.028468f, -0.016549f, -0.039099f, 0.008065f, 0.043586f, -0.028149f, -0.010298f, 0.006724f, 0.040269f, -0.016779f, 0.014470f, -0.039478f, 0.067051f, 0.022578f, 0.029044f, 0.020120f, 0.064518f, -0.001763f, -0.074502f, 0.018739f, 0.028137f, -0.018571f, 0.000784f, 0.042091f, -0.051027f, -0.049142f, - -0.059118f, 0.055373f, 0.017506f, -0.071421f, 0.031597f, -0.045712f, -0.006374f, -0.065686f, 0.035205f, 0.054073f, 0.016468f, -0.071542f, 0.053059f, 0.066085f, 0.123797f, -0.029301f, 0.061567f, 0.012325f, -0.028810f, -0.054739f, -0.031818f, 0.072226f, -0.023206f, 0.013779f, 0.028171f, -0.006800f, 0.066472f, -0.009274f, 0.052217f, 0.054750f, -0.066354f, 0.034813f, -0.017189f, 0.002101f, 0.024684f, 0.020766f, -0.002037f, 0.011317f, 0.020004f, 0.066944f, 0.068542f, 0.053210f, -0.038385f, -0.012671f, -0.090639f, -0.002252f, 0.021636f, 0.041476f, 0.009632f, -0.074681f, 0.033092f, -0.044653f, 0.058472f, -0.052227f, -0.036675f, 0.004216f, -0.043917f, -0.007180f, -0.025289f, 0.090099f, -0.048895f, -0.023727f, -0.093906f, -0.030375f, -0.049210f, 0.132981f, 0.080950f, -0.027940f, -0.089269f, -0.096019f, -0.056770f, 0.065850f, 0.086513f, 0.043288f, 0.013052f, -0.115831f, -0.053064f, 0.036788f, 0.032779f, 0.003458f, 0.042190f, -0.026155f, -0.075193f, 0.032520f, -0.128001f, 0.134704f, -0.012828f, -0.098942f, 0.208685f, 0.013875f, 0.005205f, -0.053976f, 0.037667f, -0.076521f, 0.048457f, -0.031023f, - 0.079086f, -0.034592f, -0.003071f, 0.045548f, 0.008503f, 0.004796f, -0.019708f, -0.016609f, 0.002538f, -0.029112f, 0.033584f, -0.002876f, 0.035606f, -0.026549f, -0.026773f, 0.010318f, 0.001768f, -0.026848f, 0.017971f, -0.002371f, 0.015697f, -0.007381f, -0.007271f, 0.015948f, -0.013772f, 0.000166f, 0.011172f, -0.004332f, -0.006517f, 0.057116f, -0.003691f, -0.017149f, -0.009884f, 0.028015f, -0.002374f, -0.028679f, 0.016090f, 0.034327f, 0.006516f, 0.002620f, -0.019424f, 0.008798f, -0.015831f, 0.017011f, 0.039298f, -0.011846f, 0.017711f, -0.012558f, -0.004956f, -0.013799f, -0.008375f, 0.013211f, 0.012003f, -0.020115f, 0.012943f, 0.007468f, -0.004191f, -0.019430f, 0.002404f, 0.012587f, -0.019130f, 0.029647f, 0.018308f, -0.036205f, 0.007317f, -0.031655f, -0.048178f, 0.038304f, -0.022002f, 0.046766f, -0.044322f, 0.097181f, 0.019249f, 0.024758f, -0.011096f, 0.009962f, -0.001693f, 0.019385f, 0.006828f, 0.042132f, 0.003892f, -0.020985f, 0.014544f, -0.013256f, 0.007366f, 0.009631f, -0.017737f, 0.002260f, 0.005571f, -0.019023f, 0.019541f, 0.006047f, -0.007313f, 0.026210f, -0.007889f, 0.011170f, - -0.006614f, 0.005986f, 0.005741f, 0.003643f, -0.002146f, -0.005975f, -0.002423f, 0.004892f, 0.001583f, -0.002719f, -0.011151f, 0.010493f, -0.007184f, 0.005989f, 0.008891f, -0.006779f, 0.002690f, -0.006204f, 0.003140f, -0.010709f, -0.018990f, 0.022149f, -0.010139f, -0.003689f, 0.009608f, 0.005688f, -0.002634f, 0.004059f, 0.018527f, -0.017705f, 0.009274f, -0.005512f, 0.016132f, -0.014473f, 0.010123f, 0.006565f, -0.002103f, 0.005654f, 0.001139f, 0.002412f, 0.008201f, -0.008006f, 0.006489f, 0.007690f, -0.002229f, 0.001863f, 0.013832f, 0.001360f, 0.004820f, -0.010909f, 0.020685f, 0.017873f, -0.085595f, -0.212125f, 0.045502f, 0.175809f, 0.118833f, 0.248087f, -0.081468f, -0.069826f, -0.143128f, -0.228827f, -0.022754f, 0.070799f, 0.093704f, 0.122075f, 0.061622f, 0.006333f, -0.020142f, -0.053424f, -0.075636f, -0.011924f, -0.020252f, 0.006941f, 0.017288f, -0.001416f, 0.004327f, 0.008598f, 0.004045f, 0.029361f, 0.035538f, 0.021502f, -0.004034f, 0.003510f, -0.026224f, -0.055773f, -0.058691f, -0.029459f, -0.038438f, 0.031095f, 0.058666f, 0.061437f, 0.068366f, 0.036676f, -0.010827f, -0.027650f, - -0.049887f, -0.053692f, -0.036524f, -0.021466f, -0.002075f, 0.012587f, 0.026060f, 0.026799f, 0.023611f, 0.019181f, -0.002994f, 0.004533f, -0.005422f, 0.001791f, -0.003887f, -0.003614f, -0.000955f, -0.019662f, -0.018946f, -0.015143f, -0.028809f, -0.000842f, -0.004575f, 0.002887f, 0.051688f, 0.065685f, 0.024037f, 0.021911f, -0.015979f, -0.036729f, -0.021507f, -0.042052f, -0.020942f, 0.004099f, -0.000533f}, - {0.011661f, 0.000092f, 0.015194f, 0.000707f, -0.004832f, -0.001199f, 0.000104f, 0.001400f, 0.007083f, -0.002935f, 0.003623f, -0.007161f, 0.002410f, -0.000752f, 0.004930f, -0.003340f, 0.007122f, 0.001822f, -0.003633f, 0.000512f, -0.007243f, 0.008074f, -0.000753f, -0.001652f, -0.000004f, 0.001191f, 0.001695f, 0.001232f, 0.005961f, -0.010484f, 0.000784f, 0.006613f, 0.001309f, -0.000521f, -0.001165f, -0.000606f, -0.000243f, -0.000867f, -0.010733f, -0.000891f, 0.003172f, -0.003730f, 0.003613f, -0.008412f, 0.000042f, 0.004716f, -0.004945f, 0.009471f, 0.009166f, 0.006836f, 0.005827f, 0.007501f, 0.000927f, 0.003767f, -0.003558f, -0.001509f, -0.006177f, -0.002477f, -0.000342f, -0.005389f, -0.001810f, -0.007661f, 0.001078f, -0.006495f, -0.008498f, 0.001611f, -0.006217f, 0.004699f, 0.000685f, -0.006917f, 0.004759f, 0.003021f, -0.007686f, 0.002296f, 0.000166f, 0.008992f, 0.002643f, -0.011910f, 0.001583f, 0.003866f, 0.003755f, 0.018907f, 0.005193f, 0.004038f, -0.005508f, 0.000777f, -0.009480f, 0.002296f, 0.008860f, -0.004402f, 0.000504f, -0.001804f, -0.004616f, -0.007528f, 0.005941f, -0.012627f, - -0.006300f, -0.006317f, 0.006971f, 0.007569f, 0.004071f, 0.001841f, 0.005560f, 0.004539f, 0.009117f, -0.003094f, 0.003271f, 0.005635f, 0.001312f, 0.001877f, -0.006438f, -0.002800f, -0.002611f, -0.002444f, 0.006229f, -0.011629f, 0.002098f, -0.004014f, 0.012371f, 0.000315f, -0.002036f, -0.003043f, -0.004863f, -0.001659f, -0.005074f, -0.015357f, -0.004674f, -0.002998f, -0.002281f, -0.003439f, 0.001805f, -0.002876f, -0.000496f, -0.000991f, 0.005626f, 0.002401f, -0.000436f, 0.003424f, -0.002733f, 0.006575f, -0.004024f, -0.007195f, 0.007240f, 0.007190f, -0.002774f, -0.006960f, 0.001058f, 0.003635f, 0.003293f, 0.003068f, -0.002723f, -0.000316f, 0.003341f, 0.002768f, 0.017181f, -0.003063f, -0.001500f, 0.001956f, 0.004839f, -0.012442f, 0.007962f, -0.014793f, -0.000534f, -0.007100f, -0.000920f, -0.004655f, -0.000982f, -0.001046f, 0.007644f, -0.006204f, 0.008270f, -0.008352f, -0.009092f, 0.004030f, 0.012568f, -0.014519f, -0.003902f, -0.006968f, 0.000269f, -0.003575f, 0.004125f, 0.005352f, 0.002828f, 0.005448f, -0.008322f, 0.000411f, 0.012116f, 0.004786f, 0.001710f, -0.008564f, -0.012178f, -0.007351f, - 0.002101f, -0.006237f, -0.003365f, 0.002509f, 0.008252f, -0.007154f, -0.006910f, 0.002978f, -0.004984f, 0.009311f, 0.003333f, -0.000870f, 0.006760f, 0.006256f, 0.000256f, 0.010444f, 0.005408f, 0.003315f, 0.003040f, 0.006861f, 0.011013f, -0.006995f, 0.002373f, 0.002989f, -0.007181f, 0.000707f, 0.006487f, -0.002354f, 0.015863f, -0.004766f, -0.003666f, -0.003231f, 0.006183f, 0.007827f, -0.009492f, -0.004171f, 0.003329f, -0.021797f, -0.003438f, -0.004779f, -0.003794f, -0.001860f, -0.002569f, 0.011751f, 0.014042f, -0.003086f, 0.011479f, 0.004429f, -0.006170f, 0.003051f, -0.009408f, 0.001764f, 0.002129f, -0.012721f, -0.001781f, 0.002064f, 0.002351f, 0.008924f, -0.001592f, 0.007756f, -0.005043f, -0.009761f, -0.010258f, -0.002914f, -0.005139f, -0.007819f, 0.008246f, -0.003153f, -0.001472f, -0.001396f, 0.001799f, 0.004452f, -0.012466f, 0.000060f, 0.001841f, -0.005953f, 0.015051f, 0.001161f, -0.003616f, -0.003269f, 0.016050f, -0.001181f, 0.002089f, 0.009399f, 0.000328f, 0.005705f, 0.002284f, 0.000442f, 0.008838f, -0.000166f, -0.006171f, 0.007774f, 0.004226f, 0.004913f, 0.007128f, 0.002164f, - -0.005907f, 0.003898f, 0.005767f, 0.005416f, 0.008663f, -0.000311f, -0.008417f, -0.006982f, 0.010041f, 0.013878f, -0.013593f, 0.001967f, -0.004078f, -0.003192f, 0.002175f, 0.004309f, 0.003963f, -0.016194f, 0.017125f, 0.015849f, 0.011947f, -0.008454f, 0.009332f, 0.016859f, -0.004310f, 0.013149f, 0.004942f, 0.001891f, -0.002100f, 0.014494f, 0.006868f, -0.003531f, -0.010501f, 0.005953f, -0.004365f, -0.005728f, 0.005893f, 0.006849f, 0.003046f, -0.010542f, 0.001672f, 0.009179f, -0.004566f, 0.003000f, -0.020457f, 0.002770f, -0.001652f, 0.009665f, 0.002406f, -0.004441f, -0.006167f, 0.012397f, -0.010853f, 0.000654f, -0.008763f, 0.000785f, -0.002681f, 0.006787f, -0.001462f, -0.002569f, -0.010734f, -0.002869f, -0.001886f, 0.013025f, 0.000674f, -0.012537f, -0.000441f, -0.001036f, 0.004181f, 0.005988f, -0.005418f, -0.000398f, -0.006917f, 0.006936f, -0.001612f, 0.008436f, -0.004813f, 0.012755f, 0.006616f, -0.015294f, 0.015567f, -0.002926f, -0.010746f, 0.001057f, 0.014224f, 0.001997f, 0.002194f, -0.012558f, -0.000742f, -0.005765f, -0.006193f, -0.007773f, 0.000617f, 0.018357f, -0.006597f, -0.013650f, - -0.000907f, -0.020368f, -0.000230f, -0.017534f, -0.006231f, 0.011693f, -0.012566f, -0.013853f, 0.003874f, 0.000912f, 0.001010f, -0.003419f, -0.004682f, -0.010097f, 0.006464f, -0.019545f, -0.006159f, 0.001723f, 0.011751f, 0.000465f, 0.011922f, 0.004075f, 0.026461f, 0.009975f, -0.000515f, 0.000919f, 0.012472f, -0.003299f, -0.004052f, -0.002658f, 0.001853f, -0.008690f, -0.004442f, -0.014470f, -0.001265f, -0.006811f, -0.004190f, 0.017166f, -0.000013f, 0.010614f, -0.004691f, 0.004129f, -0.001432f, 0.006179f, -0.002530f, 0.005714f, -0.006374f, -0.007808f, -0.001595f, 0.001709f, -0.007933f, -0.007918f, 0.000196f, 0.003420f, 0.007609f, -0.001638f, -0.004361f, -0.002156f, 0.007074f, 0.012593f, 0.000011f, -0.009536f, -0.013614f, -0.000467f, 0.002560f, 0.000612f, 0.016320f, -0.011783f, -0.002018f, 0.006826f, -0.004774f, -0.010426f, 0.009467f, 0.003712f, 0.002208f, 0.001174f, 0.016612f, -0.012717f, -0.002580f, 0.001084f, -0.000978f, -0.000442f, -0.010478f, -0.008040f, -0.001124f, 0.007001f, 0.002540f, 0.002840f, 0.002940f, 0.007367f, -0.001492f, 0.006749f, 0.005435f, -0.017195f, -0.006618f, -0.020183f, - 0.005270f, -0.007053f, 0.010211f, -0.006474f, -0.008926f, -0.006459f, 0.005320f, -0.013388f, -0.011199f, 0.015813f, -0.008540f, 0.017147f, -0.003990f, 0.005270f, -0.005954f, -0.011287f, 0.012664f, -0.009530f, -0.010864f, -0.000886f, -0.005881f, -0.012590f, -0.009812f, -0.015910f, 0.000737f, 0.010674f, 0.006060f, -0.005968f, 0.018043f, 0.006934f, -0.006501f, -0.007951f, -0.012882f, 0.001007f, -0.004745f, -0.008592f, -0.004445f, -0.003292f, -0.006246f, 0.004064f, 0.014540f, -0.000127f, 0.001140f, -0.008865f, 0.004796f, 0.005892f, -0.008208f, -0.005472f, 0.003737f, 0.019037f, 0.007327f, -0.002228f, -0.001820f, -0.000473f, -0.016830f, 0.024803f, -0.003550f, 0.000935f, -0.002957f, 0.016499f, 0.015655f, 0.006075f, -0.023575f, -0.003073f, -0.028841f, 0.018643f, 0.008374f, 0.001518f, 0.031669f, 0.015581f, -0.001786f, -0.012732f, 0.013583f, -0.004839f, 0.004048f, 0.005371f, 0.002896f, 0.011153f, -0.008064f, 0.018313f, 0.007438f, 0.002776f, -0.004340f, -0.007653f, 0.012551f, 0.010971f, -0.001037f, 0.007538f, -0.013811f, 0.003896f, -0.018737f, 0.009143f, 0.001940f, 0.011159f, -0.015252f, 0.004519f, - -0.004434f, 0.004749f, 0.019103f, 0.016710f, 0.001530f, 0.005707f, -0.010584f, 0.016180f, 0.001199f, 0.033054f, 0.034381f, -0.003199f, -0.008220f, -0.007880f, -0.006546f, -0.018198f, -0.004737f, -0.024147f, 0.002237f, -0.000805f, -0.000744f, -0.003854f, 0.009588f, 0.016399f, 0.024195f, 0.023277f, 0.017452f, -0.026404f, -0.019285f, 0.000469f, 0.001839f, 0.030394f, -0.020157f, 0.016708f, -0.000810f, -0.005936f, -0.008538f, 0.017214f, 0.003740f, -0.012512f, -0.006941f, 0.032277f, 0.031622f, 0.035580f, -0.003472f, -0.001304f, -0.006044f, 0.006171f, 0.017291f, 0.020168f, 0.005734f, -0.008305f, -0.017122f, -0.034393f, 0.010189f, -0.020209f, -0.004614f, -0.001763f, -0.004574f, 0.002696f, -0.001191f, -0.005982f, -0.000943f, -0.019693f, -0.008165f, 0.001643f, -0.003944f, -0.022003f, -0.009724f, 0.002415f, 0.016052f, -0.004093f, 0.000173f, -0.017336f, -0.006358f, 0.000798f, 0.011494f, -0.006645f, 0.006901f, -0.019346f, -0.005980f, 0.005332f, 0.007140f, -0.004761f, 0.026366f, -0.004763f, -0.003924f, -0.013186f, -0.005173f, 0.011648f, 0.003072f, -0.000344f, 0.013348f, 0.020331f, 0.021913f, -0.003004f, - -0.012115f, -0.011803f, -0.000683f, 0.003791f, 0.004347f, -0.007932f, 0.006216f, 0.010912f, 0.006862f, 0.009300f, 0.021161f, 0.016815f, 0.008294f, 0.000566f, 0.002667f, -0.020236f, -0.007864f, -0.033920f, 0.039793f, -0.002226f, 0.004929f, 0.021276f, -0.000684f, -0.008915f, 0.000089f, -0.040951f, -0.025352f, -0.012481f, 0.005281f, -0.008935f, 0.003461f, -0.019731f, 0.011809f, -0.007602f, -0.001281f, 0.023511f, -0.025107f, -0.017060f, 0.021897f, -0.008320f, -0.034870f, 0.001281f, -0.021948f, 0.003179f, -0.002890f, 0.011508f, 0.004264f, 0.005233f, 0.001376f, -0.005222f, 0.013782f, -0.002832f, 0.018032f, 0.010603f, -0.008107f, -0.012747f, -0.012120f, 0.004041f, -0.006638f, 0.004055f, 0.002382f, 0.010099f, 0.001929f, -0.022556f, -0.000166f, 0.005943f, -0.008831f, -0.000416f, -0.016211f, -0.004615f, -0.000295f, -0.000432f, 0.032048f, -0.007325f, 0.022202f, 0.027181f, -0.009746f, 0.013798f, -0.006707f, -0.002465f, -0.018093f, 0.008419f, 0.022043f, 0.015220f, 0.001190f, 0.004730f, 0.012169f, -0.003153f, 0.009085f, -0.007561f, -0.011225f, -0.015164f, 0.000898f, 0.025919f, 0.038839f, 0.005336f, - 0.009440f, -0.009652f, -0.005011f, 0.026210f, -0.017865f, -0.004482f, -0.034855f, 0.031942f, 0.016653f, 0.001867f, -0.011997f, -0.033122f, 0.003067f, -0.009195f, 0.003776f, -0.037128f, 0.012845f, 0.018766f, -0.021458f, -0.005674f, 0.003002f, 0.001636f, 0.006910f, 0.020333f, 0.025660f, -0.000593f, -0.000198f, 0.004130f, 0.000854f, -0.016391f, -0.018018f, -0.012638f, -0.023696f, -0.012423f, 0.019998f, 0.008497f, -0.007607f, -0.010863f, -0.006670f, -0.042408f, 0.008933f, 0.008951f, -0.019474f, 0.030700f, 0.001079f, 0.022565f, -0.008588f, 0.014172f, -0.005124f, -0.021773f, 0.001803f, 0.017518f, -0.010456f, 0.008911f, 0.012072f, 0.032180f, 0.009299f, 0.008921f, 0.032293f, 0.016636f, 0.012195f, -0.046732f, 0.009205f, 0.004660f, 0.008614f, -0.001519f, -0.018333f, 0.029691f, -0.024170f, 0.015350f, 0.019321f, -0.032923f, -0.006360f, 0.035138f, -0.034535f, 0.001766f, 0.001288f, -0.021961f, -0.032400f, -0.015084f, -0.014332f, -0.043031f, 0.026949f, 0.003020f, 0.028864f, 0.000306f, 0.002985f, -0.015831f, -0.008851f, 0.013301f, -0.002462f, 0.013795f, -0.016467f, -0.006272f, 0.001385f, -0.008294f, - -0.013722f, 0.016702f, -0.019844f, 0.020167f, -0.008903f, 0.005563f, -0.006001f, -0.016179f, -0.014535f, 0.004813f, -0.006119f, -0.001679f, 0.009809f, 0.041771f, 0.001764f, -0.007088f, -0.015962f, 0.004662f, 0.033598f, -0.008011f, -0.007072f, -0.021950f, -0.008395f, 0.001303f, -0.020627f, -0.008680f, -0.028853f, 0.016001f, -0.035025f, -0.062508f, -0.007778f, 0.000218f, 0.027579f, -0.031789f, 0.026403f, 0.016326f, -0.015723f, -0.030208f, -0.006022f, 0.002741f, 0.006767f, -0.000964f, 0.016042f, -0.013834f, -0.006014f, -0.062189f, -0.009699f, 0.059684f, 0.004310f, -0.012853f, -0.010091f, -0.034751f, 0.022169f, -0.013150f, 0.031452f, 0.028376f, -0.005587f, -0.007903f, 0.000102f, -0.038701f, 0.029896f, -0.023509f, -0.018879f, -0.014091f, 0.012921f, 0.006782f, 0.027934f, 0.005684f, -0.011133f, -0.013580f, -0.014044f, 0.015611f, -0.003743f, -0.006384f, 0.025795f, 0.028381f, 0.011486f, -0.014759f, 0.024003f, 0.036909f, -0.010379f, -0.004898f, 0.032440f, 0.010258f, 0.008690f, -0.016732f, 0.002721f, 0.030878f, -0.038890f, 0.031340f, -0.003465f, 0.006564f, 0.019985f, 0.023450f, 0.002627f, 0.013089f, - -0.016809f, -0.013273f, 0.013609f, 0.042245f, 0.013415f, 0.012447f, 0.017793f, -0.017049f, 0.007045f, 0.020436f, 0.013006f, -0.000303f, 0.016981f, 0.011819f, -0.020787f, 0.022368f, -0.020186f, 0.008431f, 0.019743f, -0.014962f, 0.016813f, -0.018844f, -0.006082f, 0.007818f, 0.003582f, 0.018275f, -0.006499f, 0.016588f, -0.006893f, 0.006545f, 0.006680f, 0.001427f, -0.007939f, -0.010965f, 0.046151f, -0.027405f, 0.028623f, -0.010859f, -0.028579f, -0.037224f, -0.010385f, -0.004114f, 0.021680f, -0.032901f, -0.005181f, -0.004275f, 0.017189f, 0.031775f, 0.026906f, 0.016092f, 0.002770f, -0.008876f, -0.004699f, -0.003968f, 0.023069f, 0.017964f, -0.003977f, 0.002209f, -0.004464f, 0.013827f, -0.034742f, 0.020219f, 0.012242f, 0.015595f, 0.006309f, 0.002858f, 0.031218f, -0.012985f, -0.025018f, -0.000900f, -0.007555f, 0.000678f, -0.034856f, -0.021030f, -0.000945f, 0.028826f, -0.019012f, -0.007667f, 0.006334f, -0.002522f, 0.002395f, 0.028143f, 0.013544f, -0.006003f, 0.004415f, 0.012955f, 0.011516f, 0.032838f, -0.007945f, 0.014101f, 0.019872f, 0.007687f, -0.002952f, 0.003900f, -0.034530f, 0.014212f, - -0.003775f, -0.000144f, -0.004972f, -0.022492f, -0.023584f, 0.003704f, -0.008480f, -0.039535f, 0.014587f, -0.033819f, -0.016765f, -0.007178f, -0.039565f, -0.030176f, 0.019313f, -0.046909f, -0.052127f, 0.034110f, 0.030774f, 0.011679f, 0.033162f, 0.054434f, 0.016747f, -0.017951f, 0.018730f, -0.005898f, -0.013010f, 0.026062f, 0.003486f, -0.019351f, 0.014912f, 0.019401f, 0.005691f, 0.008245f, 0.002994f, 0.004867f, 0.049652f, 0.001200f, 0.011898f, 0.006740f, 0.031378f, 0.004055f, 0.049176f, 0.002111f, -0.019432f, 0.040461f, 0.009279f, -0.014432f, -0.004494f, 0.022621f, -0.002761f, 0.002145f, 0.017163f, -0.026411f, 0.030233f, -0.003506f, -0.041033f, -0.009198f, 0.005397f, -0.039596f, -0.003553f, -0.001636f, 0.019741f, 0.020843f, 0.032902f, -0.019383f, 0.005864f, 0.008099f, 0.007552f, 0.016743f, -0.019425f, -0.019586f, 0.012727f, 0.002837f, 0.024966f, 0.023350f, 0.006616f, 0.054588f, -0.008135f, -0.003808f, -0.034603f, 0.056163f, 0.009049f, 0.040679f, 0.021570f, -0.052649f, 0.007334f, 0.011241f, 0.033691f, -0.011649f, 0.011664f, 0.031213f, -0.068165f, 0.039278f, 0.040132f, -0.018239f, - 0.009109f, 0.004774f, 0.010503f, -0.000666f, 0.031981f, -0.024665f, -0.005532f, -0.026442f, -0.000578f, -0.015459f, 0.001976f, 0.005654f, -0.037272f, 0.015428f, 0.040025f, -0.028959f, -0.026656f, -0.028418f, 0.053476f, -0.024798f, -0.013157f, 0.003521f, -0.018296f, -0.057014f, 0.009875f, 0.038702f, -0.055127f, -0.026710f, 0.019370f, 0.027966f, 0.008387f, -0.010191f, 0.013216f, -0.021473f, -0.008710f, -0.002944f, 0.027964f, -0.039631f, -0.029271f, 0.019180f, 0.035160f, 0.011402f, -0.042132f, -0.016143f, 0.002034f, -0.004305f, -0.006388f, 0.020047f, -0.005457f, 0.031391f, -0.026223f, -0.008600f, 0.001463f, -0.034255f, 0.021703f, -0.039536f, -0.023385f, 0.008845f, -0.014309f, 0.032745f, 0.054078f, 0.027409f, -0.031432f, 0.014946f, -0.006871f, -0.013450f, -0.020356f, -0.010677f, -0.034678f, 0.027151f, 0.028345f, 0.011405f, 0.038166f, 0.064305f, -0.001492f, -0.050460f, 0.009448f, -0.060014f, 0.009074f, 0.025786f, 0.011558f, 0.002546f, 0.034430f, 0.025217f, -0.002638f, -0.006427f, -0.049837f, -0.027313f, -0.000343f, -0.023860f, 0.065001f, -0.013091f, -0.016064f, -0.029573f, 0.002466f, 0.023797f, - 0.016289f, -0.001972f, 0.011666f, 0.018279f, -0.030428f, 0.008934f, 0.055566f, 0.018961f, -0.040044f, -0.028566f, 0.017267f, -0.020401f, -0.003781f, 0.012624f, -0.009783f, -0.033331f, -0.008835f, 0.002645f, 0.052849f, -0.012986f, 0.010827f, -0.015713f, -0.044824f, 0.006247f, 0.053629f, -0.016192f, -0.034021f, 0.008055f, -0.021276f, 0.011816f, -0.012636f, -0.015066f, 0.036550f, -0.011435f, -0.005370f, 0.016492f, -0.033475f, 0.009628f, 0.038916f, -0.018774f, 0.002597f, -0.025883f, 0.069410f, -0.015580f, 0.007917f, 0.019504f, -0.016365f, -0.007721f, -0.018230f, 0.005137f, -0.019676f, -0.023517f, -0.018248f, -0.107338f, -0.037096f, -0.001183f, 0.035339f, -0.017358f, -0.053323f, -0.019617f, -0.007135f, 0.027271f, 0.007694f, -0.006466f, -0.025966f, 0.029019f, 0.050983f, -0.022034f, 0.038736f, 0.010261f, -0.071050f, 0.027540f, 0.034519f, -0.011105f, -0.028420f, -0.004751f, 0.045070f, 0.047972f, -0.003124f, -0.035121f, 0.003290f, -0.003388f, -0.003851f, -0.029167f, 0.008161f, 0.014311f, -0.046606f, 0.033381f, 0.028565f, -0.032748f, 0.006953f, -0.036833f, 0.014030f, 0.092268f, -0.081121f, 0.085342f, - 0.039056f, 0.004448f, 0.052529f, 0.026357f, -0.052289f, 0.032448f, -0.039160f, -0.008363f, 0.044210f, 0.002595f, 0.013125f, -0.021721f, -0.038185f, 0.118562f, -0.027139f, 0.002193f, 0.047079f, -0.022013f, 0.009612f, 0.003977f, 0.029238f, 0.066889f, 0.063663f, 0.060165f, 0.004183f, -0.000844f, -0.009148f, 0.003359f, -0.015577f, 0.004902f, 0.051727f, -0.012571f, -0.015060f, 0.028556f, -0.006396f, -0.078929f, 0.037197f, -0.057152f, 0.082501f, 0.010378f, -0.069817f, 0.016707f, 0.001728f, 0.033960f, 0.016845f, -0.016509f, 0.061499f, 0.015330f, 0.004312f, 0.040844f, -0.030892f, -0.044229f, 0.002821f, 0.023947f, 0.082687f, -0.010960f, 0.001689f, -0.008071f, 0.060115f, 0.006788f, -0.044912f, -0.027122f, 0.010491f, -0.004806f, 0.027690f, -0.044897f, 0.023560f, 0.007660f, 0.015317f, -0.003792f, -0.015649f, 0.010508f, 0.020288f, 0.000373f, 0.056638f, -0.087587f, 0.010005f, -0.030822f, -0.016779f, -0.011226f, -0.061570f, -0.093163f, -0.093772f, -0.070116f, 0.010337f, 0.000370f, -0.052911f, -0.000462f, -0.006943f, 0.006010f, -0.031266f, -0.089859f, 0.092225f, -0.001625f, -0.009093f, 0.018010f, - -0.083524f, -0.006018f, -0.017223f, 0.016575f, 0.030845f, 0.120822f, 0.095404f, -0.009545f, 0.005022f, -0.001737f, 0.030534f, 0.038876f, 0.029828f, -0.021005f, 0.111434f, -0.102892f, 0.019745f, -0.018405f, 0.005899f, 0.046030f, -0.030440f, 0.012814f, 0.003586f, -0.111486f, 0.004748f, -0.010952f, 0.007481f, 0.014850f, -0.048559f, -0.017090f, -0.081666f, -0.019800f, -0.001950f, 0.006385f, -0.029500f, -0.022001f, -0.034211f, -0.013356f, 0.038538f, 0.009770f, 0.075529f, 0.019815f, -0.022204f, -0.023983f, 0.047539f, -0.047975f, 0.088719f, -0.065152f, 0.022418f, -0.052119f, 0.004101f, 0.053877f, -0.090844f, 0.090739f, 0.018929f, 0.012508f, -0.061059f, -0.010554f, -0.008568f, 0.002430f, 0.034867f, 0.033422f, 0.043129f, -0.071901f, 0.002547f, -0.026592f, -0.020637f, -0.025869f, -0.035055f, -0.024855f, 0.006934f, 0.045728f, -0.039563f, 0.015456f, -0.077332f, -0.024766f, 0.028489f, 0.028440f, 0.012634f, -0.091894f, -0.042536f, -0.030332f, -0.038186f, -0.036530f, 0.015619f, -0.028010f, 0.065581f, 0.018793f, 0.044187f, -0.013175f, 0.046702f, -0.089391f, 0.135043f, -0.102576f, -0.011084f, -0.062206f, - 0.011852f, 0.000568f, -0.037395f, -0.053452f, 0.061422f, 0.040460f, 0.019269f, -0.027840f, 0.027168f, 0.007375f, 0.058206f, -0.047133f, -0.030243f, 0.034911f, 0.060660f, -0.078395f, 0.031439f, -0.004156f, 0.037030f, -0.029281f, 0.011180f, -0.035752f, 0.007572f, -0.065696f, 0.021630f, 0.066873f, -0.001572f, -0.007160f, 0.086137f, 0.012864f, -0.038410f, -0.085452f, 0.072320f, -0.039911f, 0.033317f, -0.032964f, 0.086509f, 0.035077f, -0.007920f, 0.006089f, -0.047712f, 0.003748f, 0.022992f, -0.026846f, 0.025770f, -0.106333f, 0.042638f, 0.090068f, 0.075536f, -0.044175f, -0.039319f, -0.046194f, 0.050309f, -0.000481f, -0.011676f, -0.000855f, 0.124503f, -0.064055f, -0.023303f, 0.041104f, -0.035442f, -0.115373f, 0.051827f, 0.017201f, -0.071492f, 0.035378f, 0.083225f, 0.056470f, -0.010578f, -0.043213f, -0.088477f, 0.045554f, -0.006186f, 0.011032f, -0.033073f, 0.026801f, -0.000434f, 0.014149f, 0.003653f, 0.003870f, -0.019183f, 0.012682f, 0.046346f, -0.061638f, 0.050973f, -0.010153f, -0.032778f, 0.009358f, -0.022559f, 0.012710f, -0.023062f, -0.019625f, 0.014533f, -0.049549f, -0.005737f, 0.062721f, - -0.093377f, 0.024675f, 0.003683f, -0.016977f, -0.029167f, -0.035184f, -0.022565f, 0.065760f, -0.056052f, -0.009515f, 0.021169f, -0.057923f, 0.013748f, 0.029262f, 0.020179f, 0.008898f, 0.009297f, -0.033496f, 0.024624f, -0.084616f, 0.000834f, 0.070707f, -0.030589f, -0.010026f, -0.016460f, -0.022395f, -0.000681f, -0.060634f, 0.031071f, 0.021497f, -0.048383f, 0.043345f, 0.012899f, -0.057504f, 0.023113f, -0.013063f, 0.040649f, 0.032508f, -0.050630f, 0.015394f, 0.058169f, -0.056478f, 0.031546f, -0.041110f, 0.032156f, 0.032081f, -0.051753f, 0.028173f, 0.000609f, -0.029682f, 0.049131f, 0.013960f, -0.046530f, -0.229101f, -0.467833f, -0.202659f, -0.320526f, -0.426071f, 0.121698f, 0.025014f, 0.101222f, 0.563044f, 0.464164f, 0.296465f, 0.479413f, 0.316894f, 0.012707f, 0.057662f, 0.033783f, -0.299037f, -0.203093f, -0.148361f, -0.338129f, -0.344138f, -0.115640f, -0.116113f, -0.224494f, -0.086101f, -0.070065f, -0.263966f, -0.231058f, -0.093131f, -0.139229f, -0.250221f, -0.081507f, -0.063862f, -0.201701f, -0.046235f, 0.095690f, -0.078340f, -0.068361f, 0.154957f, 0.085268f, -0.097743f, 0.134937f, 0.239281f, - 0.005680f, 0.125097f, 0.299879f, 0.135986f, 0.059849f, 0.327383f, 0.234072f, 0.169973f, 0.403730f, 0.554033f, 0.435232f, 0.509509f, 0.665895f, 0.431195f, 0.279088f, 0.371350f, 0.237630f, -0.074832f, -0.020378f, -0.170581f, -0.416907f, -0.587730f, -0.626955f, -0.839264f, -0.948278f, -1.002784f, -0.955856f, -0.908067f, -0.879758f, -0.704786f, -0.470026f, -0.362649f, 0.038999f, 0.300998f, 0.196537f} - }, - { - {0.021751f, -0.001344f, -0.000264f, 0.002367f, -0.002589f, -0.002741f, -0.001962f, 0.005069f, -0.013051f, 0.004925f, -0.003574f, 0.000009f, 0.000693f, -0.000520f, -0.001667f, 0.000794f, 0.002928f, 0.005473f, -0.002548f, 0.006101f, -0.004929f, -0.005469f, -0.003901f, 0.002747f, -0.005111f, -0.003286f, 0.003947f, 0.000769f, -0.001651f, 0.004862f, -0.001116f, 0.000007f, 0.003177f, 0.001717f, -0.002393f, -0.003334f, -0.003598f, -0.004090f, -0.009305f, 0.002470f, -0.002208f, -0.000736f, 0.014139f, 0.001233f, -0.002869f, 0.008104f, -0.002965f, 0.000140f, -0.003650f, -0.006742f, 0.008367f, -0.002690f, -0.001381f, 0.000095f, -0.005786f, 0.001855f, -0.000254f, 0.004249f, -0.000852f, 0.004260f, 0.001657f, -0.001172f, 0.005120f, -0.000664f, 0.001873f, 0.002498f, -0.000150f, -0.011651f, -0.000134f, -0.001703f, -0.004402f, 0.002948f, -0.000979f, -0.002507f, -0.001387f, -0.007215f, 0.004723f, 0.007449f, -0.002352f, 0.006645f, -0.000848f, 0.007004f, 0.003611f, -0.001277f, -0.002469f, 0.007096f, 0.000768f, 0.001592f, -0.007636f, -0.001032f, -0.000383f, -0.000126f, 0.010867f, 0.005449f, -0.000219f, -0.007794f, - -0.005667f, -0.003222f, 0.001140f, 0.000046f, 0.002471f, 0.005146f, 0.001646f, 0.002045f, -0.007952f, -0.001013f, -0.007743f, 0.000551f, -0.004228f, 0.005394f, 0.005273f, -0.001820f, -0.004139f, 0.005630f, 0.001257f, -0.001788f, -0.007192f, -0.000753f, -0.004591f, 0.001544f, 0.004524f, -0.007155f, -0.003553f, -0.001001f, -0.002852f, 0.019098f, 0.004517f, 0.011123f, 0.000796f, 0.003802f, -0.000100f, -0.005224f, -0.005100f, -0.006213f, 0.002968f, -0.005092f, 0.003715f, 0.000330f, 0.004519f, 0.004971f, 0.011393f, 0.003683f, -0.001207f, -0.000418f, -0.007194f, 0.011359f, 0.009927f, 0.001901f, 0.002693f, 0.002935f, 0.002632f, 0.025704f, -0.006521f, -0.005828f, -0.002462f, -0.005547f, 0.000861f, -0.012788f, 0.000641f, 0.002063f, 0.000313f, 0.008008f, 0.000656f, -0.002166f, -0.007741f, 0.004328f, -0.010781f, -0.009494f, 0.002985f, -0.004872f, -0.002381f, -0.002037f, 0.001487f, 0.006585f, 0.009425f, 0.000228f, -0.001744f, 0.010990f, 0.003914f, -0.001197f, 0.000196f, -0.005246f, -0.000068f, 0.012068f, -0.000197f, -0.006446f, -0.004939f, -0.001958f, 0.004104f, -0.006458f, -0.007372f, -0.007992f, - -0.006177f, 0.005106f, -0.005808f, 0.001475f, -0.007012f, 0.001716f, 0.008215f, -0.000190f, 0.005819f, -0.003282f, -0.004783f, -0.003123f, 0.004041f, -0.001086f, 0.006309f, 0.008419f, 0.001338f, -0.003738f, -0.004810f, -0.001221f, -0.000684f, -0.000617f, 0.000355f, -0.009315f, -0.000769f, -0.005039f, -0.004029f, 0.002651f, 0.001036f, 0.001081f, 0.003278f, -0.011426f, -0.005095f, 0.002049f, -0.001376f, 0.004410f, -0.019464f, -0.010054f, -0.004880f, -0.013595f, -0.005277f, -0.013092f, 0.002717f, -0.001983f, -0.008458f, -0.009673f, -0.002165f, -0.008076f, -0.001030f, 0.005015f, -0.001300f, -0.011816f, -0.004886f, -0.000782f, -0.005098f, -0.004475f, 0.002312f, 0.009296f, 0.012308f, -0.003079f, -0.004333f, 0.006412f, 0.007573f, -0.003591f, -0.002759f, -0.002653f, -0.006732f, 0.000817f, 0.001936f, -0.006335f, -0.004792f, -0.002245f, 0.004282f, 0.010207f, -0.000044f, -0.004796f, -0.000764f, -0.006681f, -0.002847f, -0.010026f, -0.004986f, -0.005032f, -0.014966f, -0.002563f, -0.007192f, -0.005542f, -0.016340f, 0.008623f, -0.007513f, -0.007107f, 0.002073f, -0.002061f, -0.001815f, 0.000945f, -0.013648f, -0.004481f, - -0.005308f, -0.002150f, -0.008129f, -0.002156f, -0.004141f, 0.002295f, 0.003924f, -0.005378f, -0.002791f, -0.007364f, 0.001729f, -0.002093f, -0.001625f, -0.001145f, -0.009729f, -0.001394f, -0.007883f, -0.034236f, -0.002539f, -0.016751f, 0.015405f, -0.008593f, 0.027579f, -0.017289f, 0.017416f, -0.015270f, -0.000838f, 0.000084f, -0.011918f, 0.009669f, 0.000398f, -0.004106f, 0.002843f, -0.003526f, -0.001560f, -0.011273f, -0.000119f, -0.008381f, 0.006950f, 0.002901f, 0.008493f, -0.004528f, 0.012674f, 0.011988f, -0.011243f, 0.003673f, -0.009599f, 0.010648f, -0.000057f, -0.006453f, 0.000415f, -0.000370f, -0.000567f, 0.008050f, 0.000856f, -0.010316f, 0.004281f, 0.008629f, -0.000810f, 0.010094f, -0.004665f, 0.008402f, -0.011754f, -0.004987f, 0.007097f, -0.005706f, 0.001474f, 0.010958f, -0.009617f, 0.015806f, 0.005384f, -0.013709f, 0.003030f, -0.013122f, 0.004502f, 0.008968f, 0.004693f, 0.008732f, 0.010230f, 0.004885f, -0.002103f, 0.000385f, -0.000107f, 0.004808f, 0.006940f, -0.001271f, 0.013828f, 0.004437f, 0.009039f, 0.007236f, 0.001672f, 0.002671f, 0.022336f, -0.000281f, -0.006609f, -0.002480f, - -0.008907f, -0.010531f, 0.016186f, -0.003620f, -0.002850f, 0.014855f, -0.001618f, -0.003331f, 0.006301f, 0.011482f, 0.002937f, 0.005516f, -0.000757f, -0.013321f, -0.003891f, 0.009366f, -0.015226f, -0.014979f, -0.005955f, 0.002846f, -0.010888f, -0.006607f, -0.000282f, -0.001806f, 0.009729f, -0.004286f, -0.002748f, 0.010446f, 0.014485f, -0.013330f, 0.002875f, -0.003425f, 0.004940f, 0.001175f, -0.006312f, -0.001571f, 0.005684f, 0.009256f, -0.003135f, -0.013800f, -0.003618f, -0.001486f, -0.004156f, -0.007025f, 0.000372f, -0.001138f, 0.001837f, -0.002132f, 0.001237f, 0.012351f, -0.009987f, 0.000955f, -0.007784f, -0.006001f, -0.010467f, -0.003173f, -0.006368f, -0.013713f, -0.001235f, 0.000731f, -0.006036f, -0.001206f, -0.006374f, 0.005068f, 0.005719f, -0.001132f, 0.001085f, -0.004903f, -0.002225f, 0.016360f, -0.002951f, -0.006493f, -0.021922f, 0.030264f, 0.033905f, 0.007090f, -0.011296f, 0.008342f, 0.013817f, 0.013907f, 0.008138f, 0.010710f, 0.005168f, 0.017027f, -0.000916f, -0.001156f, -0.005891f, 0.011010f, -0.005255f, -0.013422f, -0.018962f, 0.003120f, -0.008740f, -0.007250f, 0.007635f, -0.001192f, - -0.004560f, 0.017435f, -0.000529f, 0.021455f, 0.000866f, -0.007222f, -0.004922f, 0.008128f, 0.005414f, -0.003128f, -0.015669f, 0.024410f, 0.014171f, 0.001076f, 0.013310f, 0.008549f, 0.008843f, -0.006742f, 0.009894f, 0.005734f, 0.002412f, -0.001864f, -0.003678f, -0.009374f, -0.014117f, 0.005119f, 0.007543f, -0.010390f, 0.005016f, 0.010834f, 0.015087f, 0.004888f, 0.013639f, 0.007158f, 0.011642f, -0.015585f, 0.005244f, 0.002531f, 0.003601f, 0.001412f, -0.000922f, 0.008022f, 0.006550f, 0.007169f, 0.009115f, -0.002096f, 0.004357f, 0.003406f, 0.012843f, 0.016588f, -0.008420f, -0.009147f, 0.027587f, 0.009090f, 0.012449f, -0.009356f, 0.004399f, -0.023942f, 0.001776f, -0.017116f, 0.013854f, 0.009645f, -0.007043f, 0.011935f, 0.006819f, -0.011330f, -0.002594f, 0.018032f, -0.000202f, 0.012656f, -0.002925f, 0.003139f, 0.014161f, -0.016440f, -0.001016f, 0.003608f, 0.005349f, 0.001969f, 0.005837f, 0.001570f, 0.017034f, -0.006903f, -0.004583f, -0.004166f, 0.012907f, 0.002546f, -0.005755f, 0.008669f, 0.021580f, -0.013940f, 0.002814f, 0.003912f, -0.001145f, 0.009705f, -0.004188f, 0.017450f, - 0.005617f, 0.005285f, -0.013291f, -0.000136f, -0.003456f, 0.008818f, 0.005784f, 0.009476f, -0.009128f, -0.004663f, 0.007856f, -0.014644f, -0.008922f, 0.005118f, 0.017333f, 0.012016f, 0.015347f, -0.015008f, -0.005169f, -0.015177f, -0.004243f, 0.006996f, -0.001242f, -0.013948f, 0.002398f, -0.007569f, 0.000334f, -0.014975f, -0.020393f, -0.005700f, -0.013883f, 0.004769f, -0.033109f, -0.029965f, -0.021911f, 0.005123f, 0.005165f, 0.022708f, -0.011798f, 0.021516f, -0.010525f, -0.038605f, -0.004601f, -0.004642f, -0.015764f, -0.025372f, -0.010136f, -0.001673f, -0.016234f, -0.001263f, -0.024286f, 0.000555f, -0.025541f, 0.012753f, -0.007433f, 0.008998f, -0.006098f, -0.001527f, -0.008886f, -0.009828f, 0.013586f, 0.001856f, -0.005739f, 0.015900f, 0.000505f, 0.001676f, 0.004421f, 0.014571f, 0.012298f, 0.009427f, -0.001165f, -0.019501f, -0.003370f, 0.007876f, 0.001240f, 0.010340f, -0.006896f, 0.004075f, -0.028615f, 0.007626f, 0.014883f, -0.021493f, 0.010603f, 0.003312f, 0.017859f, 0.013917f, -0.001560f, -0.005986f, -0.002011f, 0.012301f, 0.004941f, -0.018133f, -0.015639f, -0.024724f, -0.013142f, -0.016805f, - -0.005189f, -0.020561f, -0.005774f, -0.007271f, 0.018750f, -0.009964f, 0.008520f, -0.005641f, -0.004434f, -0.006836f, -0.015469f, -0.007571f, -0.040245f, 0.034146f, -0.007213f, 0.020912f, 0.013030f, 0.001005f, -0.025908f, 0.023701f, 0.004959f, -0.000200f, 0.015861f, 0.011534f, -0.009473f, 0.001484f, 0.025697f, 0.009497f, -0.008585f, 0.018406f, -0.007058f, -0.005776f, -0.002906f, 0.006970f, 0.002310f, -0.001498f, 0.004511f, 0.008740f, 0.008709f, 0.008142f, -0.015085f, 0.012263f, -0.012096f, 0.021166f, -0.009828f, 0.021057f, 0.008762f, 0.003324f, -0.016697f, -0.018081f, -0.003906f, -0.005079f, 0.025414f, 0.007855f, 0.020915f, 0.009044f, -0.013527f, 0.002011f, -0.000879f, 0.009196f, 0.003350f, 0.008255f, 0.000953f, -0.009589f, -0.003335f, 0.012932f, 0.032059f, 0.022187f, 0.005628f, 0.008523f, 0.001311f, -0.002674f, 0.018357f, 0.013821f, -0.001617f, 0.019705f, 0.029676f, 0.037525f, 0.004847f, -0.019173f, -0.020592f, 0.010289f, 0.009143f, 0.000720f, 0.011281f, 0.002233f, -0.002420f, 0.002158f, 0.027874f, 0.019018f, -0.029077f, 0.023509f, 0.009421f, -0.020084f, 0.045251f, 0.006281f, - -0.023754f, 0.004793f, 0.012328f, 0.000579f, 0.008815f, 0.032127f, -0.031722f, 0.019776f, -0.013021f, 0.017431f, -0.007237f, 0.003118f, -0.029353f, 0.004148f, -0.003433f, 0.010853f, -0.011402f, 0.000761f, 0.001983f, -0.000600f, -0.017292f, 0.015423f, 0.001503f, -0.002766f, 0.007504f, -0.004306f, 0.007399f, -0.005150f, 0.022882f, 0.017067f, 0.022652f, 0.021526f, -0.003862f, 0.006680f, 0.009661f, -0.000318f, -0.012128f, 0.014677f, -0.019253f, 0.004414f, 0.018692f, -0.012792f, 0.009790f, -0.022758f, 0.006501f, -0.003582f, -0.005301f, -0.003675f, 0.001303f, 0.004554f, 0.005913f, 0.020136f, -0.015027f, -0.002973f, 0.014200f, 0.029254f, -0.028732f, 0.004555f, -0.007688f, 0.006740f, -0.006150f, 0.043093f, -0.029745f, 0.006593f, -0.017509f, -0.012872f, 0.001950f, 0.000133f, -0.000455f, -0.045044f, 0.020473f, -0.029058f, -0.006884f, 0.038865f, -0.012855f, -0.001728f, 0.020412f, 0.004070f, 0.012252f, -0.030639f, 0.027591f, 0.000906f, 0.001231f, -0.008495f, -0.018761f, -0.003424f, -0.003658f, -0.020108f, -0.012438f, 0.020238f, -0.007635f, 0.003083f, -0.011304f, -0.047659f, 0.014912f, 0.001106f, - -0.015295f, 0.007883f, 0.017191f, -0.002736f, 0.001119f, -0.004708f, 0.003669f, 0.011171f, 0.003024f, 0.018584f, 0.012605f, 0.001963f, 0.016334f, -0.015005f, -0.014523f, -0.020613f, 0.006478f, 0.010039f, 0.002405f, -0.032076f, 0.007884f, -0.027625f, 0.037324f, -0.010370f, 0.012716f, 0.031208f, -0.013689f, 0.019272f, 0.004322f, 0.021042f, 0.008237f, -0.012446f, -0.034270f, -0.025668f, -0.019529f, -0.004355f, -0.020448f, -0.005837f, -0.017963f, -0.013231f, 0.032855f, 0.004984f, -0.015098f, -0.015332f, 0.006052f, 0.009476f, -0.003631f, 0.001213f, -0.061869f, 0.019771f, 0.002833f, 0.011966f, -0.039200f, -0.047708f, 0.026538f, -0.024119f, -0.027945f, -0.008922f, 0.016076f, 0.034836f, -0.025325f, 0.000607f, 0.015684f, -0.006505f, -0.009072f, 0.007999f, 0.004454f, 0.025897f, 0.007470f, -0.027459f, -0.002662f, -0.014563f, -0.002606f, -0.016832f, -0.022237f, 0.001873f, 0.018720f, -0.002784f, 0.007316f, -0.018286f, 0.003110f, 0.019000f, 0.013786f, 0.001100f, -0.000385f, 0.011389f, 0.009977f, 0.006375f, 0.016440f, -0.024769f, 0.023548f, 0.017206f, 0.004076f, -0.020721f, -0.000914f, 0.013619f, - -0.017771f, 0.016020f, -0.014708f, 0.018301f, -0.007881f, 0.024288f, -0.043127f, 0.041424f, 0.007172f, 0.038942f, -0.000412f, -0.010085f, -0.006001f, 0.013014f, -0.002394f, -0.035408f, -0.002229f, -0.004139f, -0.038791f, 0.009213f, 0.020858f, -0.035222f, 0.023381f, -0.031429f, 0.004489f, 0.008856f, 0.001107f, -0.039442f, -0.022923f, -0.021567f, -0.001597f, -0.003439f, -0.021372f, -0.020791f, 0.033149f, 0.007215f, 0.022038f, 0.021383f, 0.006470f, -0.015346f, 0.004175f, 0.055498f, -0.037081f, 0.009726f, -0.006002f, -0.019953f, 0.001852f, 0.008006f, 0.009472f, 0.000374f, 0.000747f, -0.010179f, -0.015239f, -0.024039f, -0.011870f, 0.019239f, -0.015042f, -0.024177f, 0.014821f, -0.008293f, 0.006026f, -0.002706f, 0.011619f, -0.009992f, 0.023868f, -0.007881f, 0.003042f, -0.000013f, 0.002967f, 0.021996f, 0.007796f, -0.009517f, 0.011924f, -0.008701f, 0.018054f, -0.010198f, 0.007636f, -0.024857f, -0.018053f, -0.013193f, 0.004752f, -0.012339f, -0.021687f, 0.009465f, 0.016574f, 0.004915f, -0.011479f, 0.007583f, 0.011686f, 0.013044f, 0.035359f, 0.048487f, 0.066134f, -0.006994f, 0.010489f, 0.015543f, - 0.009196f, 0.008301f, 0.010355f, -0.014393f, 0.025811f, -0.004918f, 0.033639f, 0.040561f, 0.030161f, 0.010172f, 0.016307f, 0.002233f, 0.057521f, 0.009670f, -0.014529f, 0.000835f, 0.067374f, 0.054113f, -0.021627f, -0.009379f, -0.026024f, 0.017003f, 0.009218f, 0.033447f, -0.004146f, -0.012939f, -0.004743f, -0.019937f, 0.006364f, 0.001770f, 0.032186f, -0.010503f, 0.013112f, -0.040183f, 0.024410f, -0.002405f, 0.017765f, 0.000561f, 0.016327f, 0.003168f, -0.021405f, -0.011406f, -0.018025f, -0.014626f, 0.018964f, 0.041236f, 0.019875f, -0.004366f, -0.010409f, -0.000141f, -0.001140f, 0.010494f, 0.016108f, -0.025757f, 0.001919f, -0.008880f, -0.006193f, -0.028149f, -0.019223f, -0.045775f, 0.003540f, -0.002368f, 0.019305f, -0.013898f, 0.032266f, -0.022583f, -0.006797f, 0.058369f, 0.061351f, -0.040783f, 0.012282f, 0.033066f, -0.016143f, -0.010205f, 0.020974f, -0.007542f, -0.020800f, 0.064083f, -0.012263f, -0.100860f, 0.037286f, -0.003167f, -0.046687f, 0.036859f, 0.046600f, -0.017686f, 0.034349f, 0.033598f, -0.012304f, -0.003433f, 0.028622f, -0.031198f, 0.012587f, -0.026345f, -0.013968f, 0.002996f, - 0.009814f, 0.020331f, 0.008856f, -0.019342f, -0.005156f, 0.014681f, -0.020554f, 0.017147f, -0.011243f, -0.025384f, 0.019495f, 0.009614f, 0.008663f, -0.007428f, -0.008092f, -0.009877f, -0.003295f, 0.016690f, -0.039525f, 0.017217f, -0.002991f, 0.029853f, -0.021914f, -0.001210f, -0.026737f, 0.009416f, -0.042120f, 0.003210f, -0.000581f, -0.016976f, -0.014388f, 0.005288f, -0.029228f, -0.047346f, 0.025587f, -0.003594f, 0.005930f, -0.028323f, 0.014244f, -0.005314f, 0.015456f, 0.018519f, 0.006971f, -0.020057f, 0.013300f, -0.009930f, -0.006946f, -0.036365f, 0.002397f, -0.025955f, -0.030737f, -0.041142f, -0.019585f, 0.006273f, 0.008401f, -0.042191f, -0.023752f, 0.002321f, -0.018078f, -0.056255f, -0.047882f, -0.045572f, -0.012685f, -0.026735f, 0.021206f, 0.035599f, 0.006148f, -0.032249f, -0.042881f, -0.043328f, -0.007882f, 0.001094f, 0.020243f, -0.026397f, 0.052548f, 0.058211f, -0.010828f, 0.040161f, -0.008136f, -0.011908f, -0.012109f, 0.039269f, -0.029348f, -0.004417f, -0.012725f, 0.060736f, 0.004567f, 0.024134f, 0.009947f, -0.002364f, 0.031156f, 0.019256f, 0.025893f, 0.010619f, -0.001419f, -0.006879f, - 0.024802f, -0.000464f, -0.019965f, 0.031009f, 0.001395f, 0.027637f, -0.024956f, 0.022368f, 0.008777f, -0.023972f, -0.019217f, 0.053884f, 0.034621f, 0.000621f, 0.019968f, 0.018840f, -0.030045f, -0.017090f, 0.012434f, 0.011991f, 0.024162f, 0.006825f, 0.006679f, 0.012857f, 0.028995f, 0.015456f, 0.008681f, -0.022844f, 0.076789f, 0.054894f, 0.007388f, -0.029260f, 0.018361f, -0.006712f, 0.010863f, -0.002952f, 0.017558f, -0.006147f, 0.003961f, 0.046522f, -0.027342f, -0.008672f, -0.037246f, 0.016115f, -0.009142f, -0.001338f, 0.036714f, 0.016632f, 0.006024f, 0.008505f, -0.012672f, -0.023748f, 0.023805f, -0.016629f, -0.037706f, 0.103364f, -0.112793f, -0.011817f, -0.058573f, 0.075281f, 0.021588f, 0.014374f, -0.027013f, 0.008220f, -0.021680f, 0.067465f, -0.009848f, -0.003029f, 0.008689f, -0.002099f, -0.023939f, 0.011043f, 0.017052f, 0.021131f, -0.042636f, -0.022397f, -0.020908f, 0.010203f, -0.011368f, -0.011040f, 0.000782f, 0.000540f, 0.031603f, -0.014217f, 0.003784f, 0.023037f, -0.000375f, -0.028644f, 0.006154f, 0.024122f, -0.000289f, -0.045715f, 0.037300f, 0.004897f, 0.003259f, 0.000610f, - -0.016936f, 0.015968f, -0.083261f, -0.059446f, -0.005578f, -0.020945f, 0.006772f, 0.007094f, -0.037352f, 0.063799f, -0.022098f, 0.087663f, -0.009268f, -0.030176f, 0.032982f, 0.005310f, 0.029820f, 0.040651f, 0.016008f, -0.041320f, -0.008281f, 0.046732f, 0.111487f, 0.003573f, -0.024488f, 0.044939f, 0.007007f, 0.052796f, 0.011511f, 0.071223f, -0.016099f, -0.004481f, -0.000242f, 0.013259f, 0.002869f, 0.147570f, 0.044653f, 0.014953f, -0.006365f, -0.017542f, -0.023125f, 0.047188f, 0.042901f, -0.052942f, 0.028735f, 0.021706f, 0.003407f, -0.016998f, -0.029264f, -0.071627f, -0.028314f, 0.020997f, 0.005225f, -0.024014f, 0.040236f, -0.015210f, 0.014943f, 0.015518f, -0.012531f, -0.011386f, 0.041864f, -0.000311f, -0.019290f, 0.026128f, -0.026637f, 0.052763f, -0.029255f, -0.017713f, -0.005708f, 0.019584f, 0.008370f, 0.053274f, -0.019880f, -0.034524f, -0.014800f, 0.012771f, 0.000498f, 0.027602f, 0.004646f, 0.000682f, -0.015571f, 0.021708f, 0.099269f, 0.041699f, -0.042323f, 0.030816f, -0.024350f, -0.033708f, 0.020902f, -0.003751f, 0.002583f, -0.004929f, 0.013136f, -0.030459f, -0.047131f, -0.113621f, - -0.035059f, 0.035326f, -0.021202f, -0.042341f, 0.009164f, -0.014128f, 0.008201f, -0.050504f, -0.048106f, -0.026202f, 0.005436f, 0.006987f, 0.038550f, -0.006428f, -0.024757f, -0.061164f, -0.021972f, 0.034449f, -0.025114f, 0.092434f, 0.077804f, 0.037200f, -0.019501f, -0.030632f, 0.055999f, 0.048229f, -0.059996f, -0.011030f, -0.036235f, 0.054167f, -0.007570f, -0.073424f, -0.031249f, 0.028090f, 0.048167f, -0.085123f, 0.036079f, -0.058513f, 0.023536f, -0.033992f, -0.007830f, 0.043013f, -0.012720f, 0.007690f, 0.027893f, 0.056810f, -0.035052f, -0.059643f, 0.014886f, -0.003548f, 0.007847f, 0.058089f, 0.015511f, 0.043607f, -0.052653f, -0.008833f, 0.018358f, -0.046964f, 0.079477f, -0.008195f, 0.047990f, -0.005688f, -0.010091f, 0.039329f, 0.039395f, -0.021502f, 0.087147f, -0.019694f, -0.036928f, 0.042063f, 0.074765f, 0.004422f, 0.013848f, 0.003599f, 0.032960f, -0.035173f, 0.026263f, 0.112095f, 0.051543f, -0.004455f, 0.048565f, 0.059223f, -0.046052f, -0.139826f, 0.008598f, 0.080324f, 0.091033f, 0.021841f, -0.013769f, -0.046004f, 0.040378f, 0.096058f, 0.026437f, 0.007794f, 0.060991f, -0.127381f, - 0.093234f, 0.017718f, -0.059787f, -0.001256f, 0.050979f, -0.037561f, -0.001022f, 0.027737f, -0.039875f, 0.001332f, -0.036169f, -0.023035f, 0.032637f, -0.032085f, -0.020106f, -0.065448f, 0.024731f, 0.060475f, 0.014459f, -0.029372f, -0.050418f, -0.008966f, 0.032434f, 0.017935f, -0.043674f, -0.002306f, 0.045412f, -0.007594f, -0.000082f, -0.017674f, -0.015419f, 0.113530f, -0.058540f, -0.014886f, -0.016455f, 0.018482f, 0.049389f, -0.057180f, -0.035633f, 0.074799f, -0.012918f, -0.005245f, -0.094295f, -0.074812f, 0.026928f, 0.050529f, 0.023285f, -0.092304f, 0.058746f, -0.001503f, -0.018833f, 0.013608f, -0.070888f, -0.017706f, -0.013619f, -0.031892f, 0.054131f, -0.045267f, -0.031242f, -0.048437f, -0.034550f, -0.063942f, 0.013776f, -0.100529f, -0.035251f, 0.014881f, -0.058081f, 0.016232f, 0.020930f, 0.017152f, -0.009192f, -0.012115f, -0.046894f, 0.063853f, -0.023975f, 0.006790f, -0.071758f, 0.043873f, -0.001029f, 0.056677f, -0.011293f, 0.058567f, 0.007733f, -0.007428f, 0.026604f, 0.067831f, 0.032998f, 0.017321f, 0.014111f, 0.008542f, 0.027290f, -0.034335f, -0.002122f, -0.025857f, -0.026199f, 0.041416f, - 0.026712f, 0.015592f, -0.011212f, -0.010932f, -0.004101f, 0.043127f, 0.007578f, -0.019907f, -0.030610f, -0.002102f, -0.006468f, 0.032082f, 0.006040f, 0.026627f, 0.052661f, -0.015280f, -0.129463f, 0.007578f, 0.107361f, 0.009977f, -0.076604f, -0.011287f, 0.031312f, 0.022240f, 0.043080f, 0.036486f, -0.001662f, -0.026189f, -0.023758f, 0.031505f, -0.018628f, 0.001884f, 0.013237f, -0.137619f, -0.021833f, -0.028232f, 0.023285f, 0.104270f, -0.000138f, 0.006028f, -0.022861f, 0.004487f, 0.023932f, 0.041711f, 0.025373f, -0.029738f, -0.011825f, -0.069504f, -0.001853f, 0.041200f, -0.017790f, -0.014025f, 0.018867f, 0.040554f, 0.039281f, -0.017251f, 0.010106f, -0.030885f, -0.240792f, -0.429438f, -0.188509f, -0.299231f, -0.339953f, 0.168310f, 0.041546f, 0.152529f, 0.511839f, 0.325936f, 0.257865f, 0.399761f, 0.186314f, -0.012574f, 0.142185f, 0.015737f, -0.196823f, -0.145973f, -0.162090f, -0.338305f, -0.279741f, -0.135519f, -0.253092f, -0.276085f, -0.129292f, -0.179675f, -0.284090f, -0.159012f, -0.005439f, -0.187772f, -0.173976f, 0.007826f, -0.057185f, -0.172958f, 0.141435f, 0.084002f, -0.148849f, 0.099135f, - 0.162988f, 0.004630f, 0.083368f, 0.352382f, 0.155384f, 0.089883f, 0.419455f, 0.287502f, 0.157559f, 0.414177f, 0.563062f, 0.340957f, 0.503743f, 0.658674f, 0.465968f, 0.303083f, 0.406418f, 0.206165f, -0.231230f, -0.157120f, -0.298233f, -0.676755f, -0.676240f, -0.684163f, -1.024754f, -1.011077f, -1.011680f, -1.052600f, -0.988040f, -0.959040f, -0.745086f, -0.590007f, -0.428513f, -0.151438f, 0.117942f, 0.226351f, 0.521703f, 0.785957f, 0.557523f, 0.409130f}, - {0.023532f, 0.002482f, 0.004373f, 0.007645f, -0.010314f, -0.002805f, -0.005886f, -0.001249f, -0.002683f, -0.006388f, -0.000719f, -0.000947f, -0.006281f, 0.007830f, -0.005144f, -0.003243f, -0.000530f, -0.002877f, 0.006772f, -0.003076f, -0.004820f, 0.002004f, 0.002484f, 0.007150f, -0.000722f, 0.001520f, -0.004581f, -0.000902f, 0.000521f, 0.002130f, 0.000485f, -0.000192f, 0.007349f, -0.004303f, 0.001656f, 0.000445f, -0.004555f, -0.010538f, -0.004225f, 0.002260f, 0.003681f, 0.003798f, -0.010297f, 0.008021f, -0.003968f, -0.004321f, 0.004323f, 0.001737f, -0.009056f, 0.003479f, -0.009267f, -0.002719f, 0.003919f, -0.007238f, -0.002884f, 0.006243f, -0.002342f, -0.004110f, -0.005291f, -0.010321f, 0.007995f, 0.002852f, -0.003287f, -0.003163f, -0.006960f, -0.007903f, -0.009066f, -0.001970f, -0.005979f, -0.000097f, -0.000415f, -0.000505f, 0.000569f, -0.000573f, -0.005788f, -0.013216f, -0.001484f, 0.011844f, -0.011118f, 0.003915f, -0.018534f, -0.000068f, -0.006916f, 0.007079f, -0.006487f, 0.001427f, -0.004515f, -0.007855f, -0.002310f, -0.000951f, 0.005173f, 0.006714f, -0.006943f, -0.011662f, 0.005623f, 0.001853f, - 0.003806f, 0.002344f, 0.004343f, -0.006815f, -0.005399f, 0.001023f, -0.001692f, 0.005817f, 0.003865f, -0.005224f, -0.001545f, 0.004417f, 0.007982f, 0.005074f, -0.000414f, -0.006744f, 0.003070f, -0.001242f, -0.004039f, 0.004569f, 0.001492f, -0.006169f, -0.005637f, -0.004202f, 0.002842f, -0.006020f, -0.003788f, 0.004968f, 0.001330f, -0.000210f, -0.006868f, 0.002283f, -0.006018f, -0.013840f, 0.000688f, -0.004695f, -0.009641f, 0.004136f, -0.003287f, -0.002501f, -0.003847f, 0.000261f, 0.005976f, 0.004188f, 0.001410f, 0.003209f, 0.004190f, -0.010302f, 0.004404f, -0.004011f, -0.005128f, -0.002164f, 0.002205f, 0.000785f, 0.005867f, 0.027662f, -0.002339f, 0.005079f, 0.006077f, -0.002817f, 0.002850f, 0.011041f, -0.008617f, -0.001491f, 0.003120f, -0.004238f, -0.000879f, 0.008138f, -0.002658f, -0.001774f, -0.000612f, 0.003196f, -0.001604f, 0.003965f, -0.002798f, -0.002616f, -0.001308f, -0.006197f, -0.010800f, -0.001930f, -0.003522f, -0.001339f, 0.006228f, -0.011252f, 0.013870f, 0.000202f, 0.000142f, 0.000608f, 0.002529f, -0.000200f, -0.005482f, 0.000993f, 0.004184f, 0.010697f, 0.000399f, 0.000094f, - -0.001738f, -0.003370f, 0.006867f, 0.003523f, -0.002705f, 0.004075f, -0.007130f, 0.001415f, 0.002069f, -0.005040f, -0.018307f, -0.005423f, -0.000623f, -0.000792f, -0.001039f, -0.001301f, -0.002491f, -0.000997f, -0.003634f, 0.004789f, 0.013180f, 0.007947f, 0.000394f, 0.000379f, -0.000552f, 0.005114f, -0.002931f, -0.011704f, -0.000622f, -0.005803f, 0.003787f, -0.006572f, 0.003834f, -0.016801f, -0.000489f, -0.000908f, -0.024123f, -0.023256f, -0.008602f, -0.003250f, -0.003111f, 0.000246f, 0.006185f, 0.001641f, 0.005075f, -0.010809f, 0.005708f, 0.007091f, 0.006899f, 0.008005f, -0.005763f, 0.001888f, 0.018595f, -0.011125f, -0.000128f, -0.007866f, -0.011434f, -0.001194f, -0.000548f, 0.010360f, -0.004636f, 0.001272f, -0.008452f, 0.005810f, 0.003806f, 0.004602f, -0.019301f, 0.003221f, -0.003268f, -0.006684f, -0.001525f, 0.000097f, -0.014214f, -0.009232f, -0.007780f, -0.000468f, 0.012513f, 0.004401f, 0.004395f, 0.006021f, -0.005059f, 0.003614f, -0.004486f, 0.010565f, 0.016400f, -0.001333f, -0.001047f, 0.004706f, 0.001561f, 0.004286f, 0.009446f, -0.004076f, 0.009778f, -0.001328f, 0.000218f, 0.005612f, - 0.008059f, -0.002761f, -0.010322f, -0.009946f, 0.004451f, -0.001344f, -0.001251f, -0.004438f, 0.005588f, -0.008435f, 0.003778f, 0.006033f, 0.011253f, -0.006542f, 0.010796f, 0.005817f, 0.003708f, -0.026716f, 0.011457f, -0.012005f, 0.021338f, -0.020014f, 0.015596f, 0.007899f, -0.008338f, -0.010437f, -0.005815f, 0.003995f, 0.003633f, -0.005680f, 0.012582f, -0.004633f, -0.012099f, -0.002554f, 0.013028f, 0.008856f, -0.013227f, 0.002019f, -0.001667f, -0.013928f, -0.005735f, -0.008993f, -0.002076f, -0.010686f, -0.002801f, -0.004512f, -0.014568f, -0.005297f, 0.007446f, 0.010538f, -0.002003f, -0.012600f, -0.002467f, 0.008775f, -0.002647f, 0.000219f, 0.000699f, 0.000112f, -0.012325f, -0.000456f, -0.001358f, -0.003242f, -0.000431f, 0.002110f, -0.008731f, 0.005002f, -0.009334f, -0.000294f, 0.000166f, 0.000112f, 0.007340f, 0.000060f, -0.002988f, 0.002797f, 0.005250f, 0.011605f, 0.005732f, 0.002566f, -0.002938f, -0.007351f, -0.006318f, -0.002951f, -0.006866f, -0.005480f, 0.005101f, 0.007521f, -0.004804f, -0.009595f, -0.005450f, 0.002788f, 0.002899f, -0.009137f, 0.033385f, 0.013760f, -0.001361f, 0.008176f, - -0.004403f, 0.019043f, 0.008561f, 0.033665f, 0.001476f, -0.031054f, 0.009027f, 0.020062f, -0.010597f, 0.004136f, 0.014178f, -0.009467f, 0.010274f, -0.007542f, -0.000880f, -0.009479f, -0.008795f, -0.002354f, 0.003648f, -0.000340f, 0.005368f, -0.003666f, 0.015080f, -0.007730f, 0.004978f, 0.003298f, 0.010185f, -0.016127f, -0.007740f, -0.005947f, -0.000943f, -0.005277f, 0.002652f, 0.010937f, 0.008414f, 0.016968f, -0.001276f, -0.000550f, -0.008156f, -0.002398f, 0.011448f, -0.009389f, 0.009685f, -0.008745f, -0.002730f, 0.015608f, 0.022860f, 0.016130f, 0.004006f, -0.010761f, 0.009325f, 0.006581f, -0.004696f, 0.013220f, -0.006874f, 0.003123f, 0.003474f, -0.022339f, 0.001354f, -0.021135f, -0.007133f, 0.004137f, -0.004027f, -0.009721f, -0.007022f, 0.002519f, 0.016989f, 0.004468f, -0.003882f, -0.006823f, -0.004167f, 0.002322f, 0.005039f, 0.020590f, 0.041323f, -0.017459f, -0.012847f, -0.003235f, -0.004401f, 0.014611f, -0.013208f, -0.024498f, -0.008178f, 0.002056f, -0.005641f, 0.007439f, 0.003824f, 0.012671f, 0.005652f, -0.004669f, 0.018278f, 0.016961f, -0.007200f, 0.001477f, -0.010978f, -0.001697f, - 0.001151f, -0.006828f, -0.000839f, 0.012686f, 0.018419f, 0.000940f, 0.003507f, 0.007565f, 0.005284f, 0.003079f, 0.001822f, -0.006568f, -0.012220f, 0.001665f, -0.017829f, 0.000844f, 0.004901f, -0.005716f, 0.007934f, -0.004518f, -0.009507f, -0.000644f, 0.010667f, 0.004544f, -0.003702f, 0.030300f, 0.000693f, 0.009863f, -0.017143f, -0.003875f, 0.013164f, -0.005648f, -0.012411f, 0.007942f, -0.014653f, -0.013851f, 0.004158f, 0.017232f, -0.012971f, -0.007747f, -0.003039f, 0.000849f, -0.005160f, -0.006159f, 0.024371f, 0.013693f, -0.000663f, 0.001534f, -0.009237f, -0.007432f, -0.002466f, 0.007520f, 0.015965f, -0.029304f, -0.004159f, -0.022067f, -0.012683f, -0.020008f, -0.005288f, -0.003268f, -0.003229f, -0.007829f, 0.008577f, -0.028085f, 0.014067f, -0.009721f, 0.008258f, 0.003511f, 0.011364f, 0.000444f, 0.004559f, -0.011436f, -0.005031f, 0.005006f, -0.011454f, -0.008314f, 0.013426f, 0.003589f, 0.005932f, 0.005320f, -0.001672f, 0.003507f, 0.020113f, -0.007478f, 0.001691f, -0.009354f, 0.016120f, -0.010057f, -0.036688f, 0.011125f, 0.005459f, 0.015184f, 0.008016f, 0.020987f, -0.014537f, -0.005782f, - 0.012482f, -0.005420f, -0.012467f, -0.005876f, 0.006369f, -0.017799f, 0.017225f, -0.000707f, 0.011396f, -0.015025f, -0.006815f, -0.005498f, -0.016450f, -0.003360f, -0.013124f, -0.005921f, 0.001133f, 0.018613f, 0.014793f, -0.001724f, -0.023087f, -0.013059f, -0.004404f, 0.018104f, 0.014823f, 0.010902f, 0.009981f, -0.006451f, -0.026508f, -0.006874f, -0.000592f, 0.005850f, -0.039312f, -0.047250f, -0.027203f, 0.017687f, 0.000352f, -0.009809f, -0.010919f, -0.015936f, -0.002708f, 0.003760f, -0.026832f, -0.003695f, 0.015097f, -0.011163f, -0.008175f, 0.016874f, 0.003659f, -0.013213f, 0.003470f, -0.012836f, 0.025803f, -0.009964f, -0.007475f, 0.007415f, -0.015057f, -0.010063f, -0.009262f, 0.003248f, -0.010761f, -0.004952f, 0.003467f, 0.001925f, -0.032603f, 0.012785f, 0.012749f, -0.010443f, 0.023454f, 0.008040f, 0.001350f, 0.022079f, 0.012418f, 0.002803f, 0.002334f, 0.023952f, -0.003460f, -0.005742f, -0.002623f, 0.014143f, 0.007823f, -0.024431f, 0.008035f, 0.005720f, -0.001016f, -0.013742f, -0.037892f, 0.014828f, -0.003225f, -0.010696f, -0.023997f, -0.014727f, 0.013585f, -0.004681f, -0.007415f, -0.017188f, - -0.030726f, 0.001281f, -0.004652f, -0.017863f, -0.007086f, -0.030477f, -0.004717f, -0.008525f, -0.005261f, -0.003537f, 0.010858f, 0.019300f, -0.039251f, 0.031888f, 0.001994f, 0.016352f, -0.002654f, -0.001209f, 0.003255f, 0.017603f, 0.002035f, -0.002116f, -0.023493f, 0.008519f, -0.002254f, -0.018393f, 0.005205f, -0.012038f, -0.008823f, 0.034132f, 0.010169f, 0.010462f, -0.006884f, 0.012154f, 0.015296f, 0.014172f, -0.007730f, 0.012335f, 0.007066f, -0.014542f, 0.010003f, -0.014173f, -0.004163f, 0.008728f, 0.004944f, -0.001682f, -0.007012f, -0.007556f, 0.023515f, -0.006900f, -0.009140f, -0.006705f, 0.005528f, 0.004592f, -0.009923f, -0.018704f, -0.000350f, -0.020074f, -0.001282f, -0.018172f, -0.005595f, -0.004685f, 0.004646f, -0.009548f, -0.014128f, 0.018842f, -0.006723f, -0.021947f, 0.015026f, 0.022160f, -0.009589f, -0.007984f, 0.013068f, 0.007645f, 0.024219f, 0.013830f, 0.004010f, -0.001064f, -0.021401f, 0.004693f, 0.024196f, 0.016903f, -0.013763f, 0.015962f, 0.020635f, -0.013615f, -0.032253f, -0.012650f, -0.028102f, 0.008259f, -0.062202f, 0.030808f, 0.009195f, -0.002267f, 0.043063f, -0.001808f, - 0.022116f, -0.018251f, -0.003796f, 0.004058f, 0.000906f, 0.024961f, 0.016045f, -0.032195f, 0.021177f, 0.002284f, 0.012954f, -0.028914f, -0.000559f, 0.017881f, -0.028519f, 0.037173f, 0.010445f, 0.000369f, -0.012447f, 0.002943f, 0.016326f, -0.025342f, 0.002944f, 0.007452f, 0.005138f, -0.015314f, -0.005462f, 0.016033f, 0.009103f, -0.000833f, 0.002727f, -0.009776f, -0.017680f, 0.008319f, -0.030216f, -0.000436f, 0.044255f, 0.043679f, -0.013366f, 0.006167f, -0.001579f, 0.013131f, 0.031087f, 0.003480f, 0.014952f, 0.005797f, -0.016051f, -0.000299f, -0.003020f, -0.045588f, -0.021025f, 0.029761f, 0.001218f, 0.009871f, -0.011471f, -0.001828f, 0.009860f, 0.015014f, -0.001837f, 0.036972f, -0.000292f, 0.029170f, 0.002352f, 0.007237f, 0.002077f, -0.016734f, -0.025220f, 0.030362f, 0.003302f, -0.011499f, 0.021689f, -0.045174f, 0.019027f, 0.029522f, -0.003392f, 0.009252f, 0.013579f, -0.006330f, -0.003863f, 0.018501f, -0.006153f, 0.027730f, -0.025190f, 0.014768f, 0.033944f, -0.035100f, 0.001956f, -0.016311f, 0.021597f, 0.009639f, 0.017976f, -0.017386f, -0.013710f, 0.000536f, 0.045589f, 0.001270f, - 0.023253f, -0.009382f, 0.001761f, -0.002349f, -0.003661f, -0.019284f, -0.000450f, -0.004858f, 0.009497f, -0.008181f, -0.012739f, -0.010152f, -0.000594f, -0.003033f, 0.020605f, 0.004283f, -0.011119f, -0.009458f, -0.010262f, -0.003029f, -0.004865f, 0.034078f, 0.001489f, 0.017495f, 0.001135f, -0.007238f, -0.007352f, 0.028459f, 0.020549f, -0.007225f, -0.026280f, 0.015484f, 0.009889f, -0.056795f, 0.003016f, 0.033196f, 0.031250f, 0.008115f, 0.024673f, -0.033974f, 0.056269f, 0.005749f, 0.010161f, 0.012066f, 0.026282f, -0.001189f, -0.025290f, -0.006159f, -0.029725f, 0.034715f, -0.014367f, 0.017062f, -0.034443f, -0.027705f, 0.023869f, 0.019870f, 0.049539f, -0.018223f, -0.013548f, -0.009534f, 0.009110f, -0.021865f, -0.002812f, 0.007578f, -0.001705f, 0.026084f, 0.017115f, -0.022272f, 0.001821f, 0.005466f, 0.015431f, -0.025325f, 0.025676f, -0.001325f, 0.011416f, -0.005267f, -0.011639f, -0.026628f, 0.009207f, -0.005447f, -0.010623f, 0.004128f, -0.015482f, -0.016388f, -0.003097f, 0.006941f, 0.031555f, -0.047504f, -0.027556f, -0.026190f, -0.027515f, -0.009194f, 0.032963f, -0.020365f, -0.000118f, 0.030486f, - -0.003795f, -0.015692f, -0.026576f, -0.008839f, -0.010759f, -0.058458f, -0.042992f, -0.013983f, 0.011417f, -0.006992f, 0.011567f, -0.014265f, -0.007329f, 0.025419f, 0.018380f, -0.030229f, -0.012430f, -0.033695f, -0.010080f, 0.000756f, 0.015740f, -0.007660f, 0.006833f, -0.029258f, -0.017826f, -0.022015f, 0.004071f, 0.002420f, 0.007185f, -0.028004f, 0.007250f, 0.033242f, 0.018464f, -0.024581f, 0.004503f, -0.002816f, 0.056079f, 0.006020f, 0.026884f, -0.023574f, -0.016188f, -0.005865f, -0.026776f, -0.016919f, -0.025901f, -0.011988f, -0.016923f, 0.030460f, 0.007309f, 0.007635f, 0.031068f, -0.000908f, -0.002234f, 0.014146f, 0.027837f, 0.044196f, 0.031849f, -0.006730f, -0.012582f, -0.051067f, 0.013435f, 0.015881f, 0.005553f, -0.031904f, 0.036029f, 0.014527f, 0.020807f, -0.006182f, 0.001189f, 0.020707f, 0.044984f, 0.044499f, 0.024777f, 0.005163f, 0.046645f, 0.000950f, -0.015432f, 0.015161f, 0.027664f, 0.023126f, 0.041542f, 0.022230f, -0.000553f, 0.004641f, -0.027558f, 0.010621f, -0.066554f, -0.011817f, -0.008467f, 0.013528f, 0.048755f, 0.027673f, 0.005149f, 0.035856f, -0.029462f, -0.025674f, - 0.002351f, -0.064408f, -0.018240f, 0.000764f, 0.008435f, 0.012384f, 0.012496f, -0.006394f, 0.022795f, 0.000275f, 0.008521f, 0.047057f, -0.038735f, -0.020513f, -0.019596f, -0.042835f, -0.013091f, 0.008393f, 0.033417f, 0.060723f, -0.023568f, 0.001497f, 0.010650f, -0.010652f, 0.056574f, 0.010263f, -0.026744f, 0.049256f, -0.009284f, -0.016131f, 0.035869f, -0.031531f, -0.017701f, 0.002352f, 0.003997f, 0.004539f, 0.023910f, 0.012410f, 0.019630f, -0.005599f, 0.010932f, 0.028113f, 0.002815f, 0.019148f, 0.004658f, 0.000717f, 0.032193f, -0.040544f, -0.013468f, -0.013832f, 0.028277f, -0.020783f, -0.004015f, -0.012348f, 0.028127f, -0.011574f, 0.060911f, 0.043195f, -0.038979f, 0.019520f, -0.047078f, 0.006613f, 0.019243f, 0.009050f, 0.012253f, -0.062498f, -0.010223f, -0.060345f, 0.009834f, 0.004358f, 0.009287f, -0.010081f, -0.008748f, 0.027925f, -0.049449f, 0.017020f, -0.020025f, -0.098123f, -0.033943f, -0.032719f, 0.018692f, -0.015105f, 0.017699f, 0.047718f, 0.055094f, 0.028369f, 0.030854f, 0.024255f, 0.011429f, -0.039916f, 0.045388f, -0.002298f, 0.016817f, -0.075512f, -0.034227f, -0.025122f, - 0.015877f, -0.057174f, 0.022699f, -0.033477f, 0.051705f, -0.056804f, -0.072648f, -0.014319f, -0.009108f, 0.060015f, 0.030026f, 0.027750f, -0.013355f, 0.008634f, -0.034404f, -0.027054f, 0.008321f, 0.014129f, -0.044802f, -0.041196f, -0.028663f, -0.001854f, 0.025000f, 0.018893f, -0.030968f, -0.039003f, -0.022214f, -0.022113f, -0.054093f, -0.029964f, 0.026307f, -0.013241f, 0.001299f, -0.005325f, 0.019771f, 0.031169f, -0.005874f, -0.080962f, 0.036938f, 0.072430f, 0.027764f, 0.001184f, -0.082019f, -0.017153f, 0.038311f, -0.007462f, 0.095407f, -0.006890f, -0.073678f, 0.015727f, -0.010911f, 0.009702f, 0.003899f, -0.011440f, 0.022089f, 0.028989f, -0.077818f, -0.017089f, 0.006155f, 0.032714f, -0.013078f, -0.035662f, 0.037751f, 0.009027f, -0.025608f, -0.073320f, -0.091028f, -0.040496f, -0.005608f, 0.014887f, 0.072336f, 0.114018f, 0.045977f, 0.005181f, 0.138866f, 0.127380f, -0.055447f, 0.065440f, 0.057994f, -0.017956f, -0.011111f, -0.032073f, -0.017685f, -0.037496f, -0.026419f, 0.105300f, -0.006819f, 0.060717f, -0.000229f, 0.001534f, -0.000126f, -0.043649f, 0.009124f, 0.007160f, -0.093465f, 0.012187f, - 0.021562f, -0.050354f, -0.011007f, -0.016702f, -0.007432f, 0.011973f, -0.003516f, 0.001051f, 0.040060f, 0.014713f, -0.020519f, 0.010695f, 0.064368f, -0.000852f, 0.029369f, -0.003591f, 0.023910f, -0.037890f, -0.043753f, -0.026351f, -0.079868f, 0.019054f, 0.008549f, -0.037605f, -0.096823f, -0.065459f, -0.090458f, 0.063261f, -0.046974f, 0.007650f, 0.016276f, 0.012192f, 0.012649f, 0.067264f, -0.067277f, -0.002690f, -0.037461f, 0.070973f, -0.166072f, 0.030625f, 0.013620f, 0.049412f, 0.049475f, -0.004054f, -0.014139f, -0.030347f, -0.005829f, -0.054026f, 0.037403f, 0.091424f, -0.005444f, 0.011761f, 0.063050f, -0.043087f, -0.040591f, 0.062456f, -0.110538f, 0.085516f, -0.042399f, -0.027862f, -0.015602f, 0.012890f, -0.028164f, -0.020503f, 0.041787f, -0.005481f, -0.073913f, 0.033102f, 0.000562f, 0.019823f, -0.012431f, 0.076367f, -0.052099f, 0.008346f, 0.034744f, -0.014018f, 0.027667f, -0.040930f, 0.009390f, -0.034302f, -0.014910f, 0.050138f, 0.011243f, 0.023890f, -0.019318f, 0.048858f, -0.006528f, -0.013349f, 0.022066f, -0.019428f, -0.015812f, -0.007193f, -0.008389f, -0.037025f, -0.052733f, -0.009372f, - 0.038736f, 0.007653f, -0.012154f, -0.051358f, 0.008633f, -0.038879f, 0.003432f, 0.026364f, -0.039188f, -0.003383f, 0.040656f, 0.042445f, 0.031998f, -0.048513f, -0.019604f, 0.047983f, 0.020425f, 0.007979f, 0.039795f, -0.177416f, -0.034829f, -0.010920f, -0.075989f, 0.018804f, 0.032868f, 0.006096f, 0.026009f, 0.051932f, -0.011695f, -0.026824f, 0.023040f, -0.021539f, 0.004521f, 0.058009f, 0.000314f, 0.124291f, -0.017304f, -0.035867f, 0.003276f, -0.015010f, 0.060592f, 0.010765f, -0.006957f, 0.058204f, 0.058125f, 0.018920f, 0.021300f, 0.032197f, -0.075822f, -0.041409f, 0.059179f, -0.008847f, -0.062798f, -0.031055f, -0.029795f, 0.041505f, 0.019990f, -0.022411f, -0.090045f, 0.027175f, 0.011117f, 0.011689f, 0.011634f, -0.010363f, 0.006021f, -0.065331f, 0.055717f, 0.041235f, 0.018525f, -0.032283f, -0.031217f, 0.000646f, 0.025961f, -0.005489f, 0.026967f, 0.014444f, -0.073025f, -0.029485f, 0.006975f, -0.068180f, -0.000046f, 0.015095f, -0.065746f, -0.084381f, -0.016773f, 0.028407f, -0.055196f, -0.102270f, -0.051247f, -0.024437f, 0.062444f, -0.037906f, 0.070755f, -0.011862f, -0.003007f, 0.037435f, - -0.002745f, -0.112259f, -0.015846f, 0.011148f, 0.045952f, -0.097239f, -0.154872f, 0.019478f, -0.021393f, -0.080887f, 0.037599f, 0.039529f, -0.021726f, 0.022156f, 0.060470f, -0.056993f, 0.012264f, 0.064604f, 0.028879f, 0.144296f, -0.052137f, -0.054857f, -0.019130f, 0.003392f, 0.137628f, -0.012445f, 0.115092f, -0.070586f, -0.023765f, 0.051849f, -0.076800f, -0.021650f, -0.071816f, 0.018678f, 0.085952f, -0.103528f, -0.033505f, -0.003579f, 0.039791f, 0.004893f, 0.018898f, 0.036107f, -0.000873f, -0.063479f, -0.057056f, 0.009075f, 0.052295f, 0.127367f, -0.019769f, 0.038853f, -0.027606f, 0.065911f, 0.009535f, 0.012993f, -0.009137f, -0.065688f, 0.010217f, 0.072206f, -0.003321f, 0.002270f, -0.016423f, -0.056338f, 0.090881f, 0.037679f, 0.063716f, 0.080035f, 0.005411f, 0.010871f, 0.055056f, -0.110914f, 0.050342f, -0.052500f, 0.149310f, -0.006039f, 0.024235f, 0.028278f, -0.029584f, -0.033295f, 0.025606f, -0.051076f, 0.100633f, -0.042959f, -0.052003f, -0.056422f, 0.106450f, 0.041825f, 0.068838f, 0.000193f, 0.070443f, 0.069030f, -0.035835f, 0.004639f, -0.025261f, 0.020381f, 0.012084f, -0.103537f, - 0.070471f, -0.073612f, 0.008605f, -0.033901f, 0.026912f, -0.002810f, 0.038450f, -0.006151f, -0.034162f, 0.058130f, -0.020927f, -0.007873f, 0.008279f, -0.024030f, -0.021843f, 0.067277f, -0.016551f, -0.008758f, -0.008662f, -0.002937f, 0.029811f, -0.022844f, 0.006277f, -0.016496f, 0.014306f, -0.014252f, -0.012486f, -0.035116f, 0.051340f, -0.031575f, 0.016188f, 0.009342f, 0.035080f, -0.039864f, 0.007786f, -0.015637f, 0.039828f, 0.006567f, 0.001781f, 0.033875f, 0.008157f, -0.052800f, -0.009644f, -0.007885f, 0.013319f, 0.025167f, 0.018017f, -0.047632f, 0.019206f, -0.035516f, 0.024351f, -0.019454f, 0.003589f, -0.010340f, 0.023884f, -0.008254f, 0.005399f, -0.053049f, 0.010838f, 0.028791f, -0.027422f, 0.027142f, 0.001213f, 0.011371f, 0.013423f, -0.020008f, 0.035986f, 0.017134f, -0.003929f, -0.010059f, 0.017263f, -0.010238f, 0.034629f, -0.029198f, -0.004532f, -0.027508f, -0.043452f, 0.086600f, 0.006871f, 0.010538f, -0.035182f, -0.026040f, -0.055630f, 0.036623f, -0.015886f, -0.011703f, -0.024393f, -0.001373f, -0.021786f, -0.003101f, -0.003208f, 0.009268f, 0.010480f, -0.002153f, -0.002946f, -0.016162f, - 0.014264f, 0.013222f, -0.013397f, 0.005672f, -0.029940f, 0.011312f, 0.005383f, -0.005658f, -0.004957f, -0.010355f, 0.009057f, 0.001583f, -0.021415f, -0.006153f, -0.006530f, -0.017979f, 0.028318f, 0.002501f, -0.018659f, 0.002290f, -0.007521f, 0.024462f, -0.009005f, -0.012203f, 0.004510f, -0.015432f, 0.028826f, 0.000305f, -0.016446f, 0.004074f, -0.006891f, 0.013709f, -0.018703f, -0.004207f, 0.005756f, -0.007255f, 0.012507f, -0.007879f, 0.003415f, 0.005211f, -0.016873f, 0.001701f, 0.016213f, -0.025848f, -0.001910f, 0.006965f, -0.023617f, 0.041879f, -0.039168f, 0.018649f, 0.006948f, -0.023205f, 0.044116f, -0.031136f, 0.007516f, 0.004011f, 0.019997f, -0.093506f, -0.215416f, 0.056111f, 0.198816f, 0.168002f, 0.225606f, -0.111710f, -0.144588f, -0.217378f, -0.222080f, 0.014894f, 0.165119f, 0.182218f, 0.199773f, 0.066144f, -0.043760f, -0.159071f, -0.262945f, -0.144326f, 0.066623f, 0.103149f, 0.175021f, 0.132419f, 0.036102f, -0.023947f, -0.055521f, -0.132015f, -0.085434f, -0.081561f, -0.015024f, 0.068923f, 0.106172f, 0.055536f, 0.070847f, 0.035469f, -0.040097f, -0.006672f, -0.085606f, -0.119469f, - -0.020450f, -0.028201f, 0.020925f, 0.111861f, 0.064660f, 0.055305f, 0.016433f, -0.042505f, -0.043331f, -0.037760f, -0.061644f, -0.016582f, 0.002753f, 0.026019f, 0.032297f, 0.053303f, 0.015383f, -0.002282f, -0.027022f, -0.050373f, -0.004146f, 0.017684f, 0.018657f, 0.031239f, -0.007802f, -0.025281f, -0.011746f, -0.025172f, -0.019309f, 0.005560f, 0.014780f, 0.040948f, 0.035180f, 0.034066f, 0.003686f, -0.014302f, -0.060203f, -0.041094f, -0.003967f, -0.002504f} - }, - { - {0.020249f, 0.008776f, 0.009484f, 0.000073f, -0.003806f, -0.009247f, -0.003374f, -0.006663f, -0.006940f, 0.001440f, -0.005649f, -0.003511f, -0.000952f, 0.005654f, -0.000415f, 0.001909f, -0.006101f, -0.003127f, -0.007244f, -0.011766f, 0.006374f, 0.004600f, -0.004967f, 0.002559f, -0.003041f, -0.000623f, 0.007413f, -0.004352f, -0.000865f, -0.005601f, -0.003495f, 0.002938f, 0.004028f, 0.005674f, 0.004976f, -0.007998f, 0.001103f, 0.004212f, 0.000127f, 0.006028f, 0.000775f, 0.001878f, -0.006329f, -0.003385f, 0.001092f, -0.001790f, 0.001516f, 0.000503f, -0.003799f, 0.006675f, 0.004629f, -0.008090f, -0.000344f, -0.000441f, 0.002056f, 0.006981f, 0.002837f, -0.007655f, 0.001110f, 0.002649f, -0.005710f, 0.002140f, 0.002646f, -0.001057f, 0.003033f, -0.000809f, -0.001542f, -0.000643f, -0.004581f, -0.000970f, -0.001860f, -0.003502f, -0.000643f, 0.000066f, -0.000563f, -0.001215f, -0.001935f, -0.010394f, -0.009177f, 0.011250f, -0.002396f, 0.008971f, 0.002553f, 0.013378f, -0.003221f, -0.007018f, -0.004881f, 0.008154f, 0.000136f, -0.003046f, -0.000892f, 0.009235f, -0.002571f, 0.001636f, 0.003158f, -0.006287f, - -0.004854f, -0.002077f, 0.001606f, -0.006516f, 0.001536f, 0.001280f, -0.007619f, -0.002473f, -0.004608f, 0.000605f, -0.003403f, 0.001176f, 0.012113f, 0.006255f, -0.003710f, 0.000567f, -0.005948f, 0.004451f, -0.001704f, 0.007230f, -0.015155f, -0.001646f, 0.002171f, -0.005333f, 0.000804f, 0.007292f, 0.005390f, -0.006732f, -0.005168f, -0.005397f, -0.001188f, -0.004260f, -0.002373f, -0.006539f, 0.002319f, -0.000517f, -0.007837f, -0.003873f, -0.003304f, -0.000293f, 0.001331f, -0.001557f, -0.001055f, 0.003409f, 0.001010f, -0.003450f, 0.001565f, 0.008297f, -0.004535f, -0.000881f, -0.009160f, -0.003116f, -0.001189f, 0.003829f, -0.004335f, 0.001174f, 0.000611f, 0.000558f, 0.014554f, -0.004728f, 0.005094f, 0.012246f, -0.008983f, -0.010224f, -0.001037f, -0.002176f, 0.000418f, 0.006477f, 0.003884f, -0.014425f, 0.002893f, -0.008069f, -0.011211f, -0.000271f, 0.004895f, 0.005157f, -0.003261f, -0.000018f, -0.000670f, 0.006889f, -0.000732f, 0.005747f, -0.001859f, 0.001085f, 0.001771f, 0.002074f, -0.006836f, 0.003604f, 0.006402f, -0.002242f, 0.007997f, -0.003612f, -0.000149f, -0.008732f, 0.007198f, 0.002105f, - -0.001751f, -0.006672f, -0.006373f, -0.002753f, -0.001709f, 0.004020f, -0.000061f, 0.003531f, 0.003782f, -0.005872f, 0.004690f, -0.008044f, 0.003809f, 0.005394f, 0.010166f, 0.009477f, -0.006969f, 0.004305f, 0.000339f, -0.001610f, 0.006354f, -0.003741f, -0.004104f, -0.003313f, 0.005406f, 0.002678f, 0.006803f, -0.005352f, 0.009799f, -0.002401f, 0.000620f, 0.003091f, 0.002577f, 0.005588f, -0.002721f, 0.007748f, 0.010480f, 0.016508f, 0.008330f, -0.017160f, -0.018456f, 0.002121f, -0.001468f, 0.004398f, 0.004166f, 0.012201f, 0.005598f, 0.005808f, 0.003042f, -0.006013f, 0.002402f, 0.015377f, -0.010201f, -0.001223f, 0.000599f, 0.012305f, 0.007585f, 0.001630f, 0.005639f, -0.001092f, 0.004402f, 0.005580f, 0.012863f, 0.006888f, 0.007310f, 0.003667f, 0.003250f, 0.006004f, 0.002451f, -0.009051f, 0.005653f, 0.007083f, -0.002366f, 0.005067f, 0.007262f, -0.002717f, 0.002470f, 0.008465f, 0.003515f, -0.002434f, 0.003441f, 0.008588f, -0.000148f, -0.000481f, -0.001436f, 0.002036f, 0.008721f, -0.002930f, -0.004360f, 0.001925f, -0.002518f, 0.003887f, 0.005665f, -0.006826f, 0.001772f, -0.004675f, - 0.000785f, 0.001845f, 0.007543f, 0.005021f, -0.014300f, -0.000893f, 0.007841f, -0.004733f, -0.005550f, -0.000238f, 0.001837f, 0.006093f, 0.000180f, -0.017212f, -0.006005f, 0.003502f, -0.003303f, 0.005507f, -0.000633f, -0.031693f, 0.003988f, 0.002822f, 0.014202f, -0.000979f, 0.011008f, 0.005427f, 0.002519f, -0.018764f, -0.000355f, -0.000713f, -0.014604f, 0.001839f, 0.010262f, 0.001574f, -0.000576f, -0.001798f, -0.006044f, -0.006972f, 0.002538f, 0.003725f, -0.000868f, 0.002319f, 0.002908f, 0.012287f, 0.001104f, 0.005158f, 0.005606f, -0.007217f, 0.001088f, -0.002105f, -0.002210f, -0.001394f, 0.004346f, -0.001280f, -0.003566f, -0.005687f, -0.003432f, 0.001060f, -0.009467f, -0.007060f, 0.003461f, -0.007851f, 0.001988f, -0.012521f, -0.014624f, -0.004282f, 0.017214f, -0.005327f, -0.001444f, 0.009700f, 0.003064f, 0.000049f, 0.010683f, -0.002320f, 0.000788f, -0.002185f, 0.002781f, 0.006337f, -0.003305f, -0.011963f, 0.006557f, -0.007370f, -0.012932f, -0.005855f, -0.004106f, -0.001013f, 0.003801f, 0.012289f, -0.000756f, -0.001301f, -0.006234f, -0.001794f, 0.006632f, -0.005239f, -0.005787f, 0.007274f, - 0.027993f, 0.001036f, -0.001562f, -0.010450f, -0.005947f, 0.014823f, -0.005816f, 0.011596f, 0.010022f, -0.011106f, -0.001681f, 0.008721f, -0.006128f, -0.002921f, -0.002778f, -0.003958f, 0.002011f, 0.003199f, 0.000698f, 0.005486f, -0.002270f, 0.000954f, 0.002212f, -0.002143f, -0.005083f, -0.005388f, -0.006015f, 0.000609f, 0.007462f, 0.003274f, -0.005918f, 0.000692f, 0.003091f, 0.013964f, -0.003859f, 0.012517f, -0.011030f, 0.005241f, 0.009199f, -0.005756f, -0.003318f, -0.011365f, 0.005728f, 0.000038f, -0.007769f, 0.008167f, -0.009691f, 0.011406f, -0.000269f, 0.016083f, 0.004020f, 0.001932f, 0.004233f, 0.006836f, 0.003944f, -0.004905f, 0.008283f, -0.001203f, -0.007902f, -0.012815f, -0.003060f, 0.005876f, -0.006016f, -0.003900f, 0.005714f, -0.006914f, 0.015033f, -0.013341f, 0.000678f, 0.009815f, -0.007039f, -0.002430f, -0.013490f, -0.000179f, -0.004407f, -0.001896f, -0.002268f, 0.013397f, 0.023750f, -0.007004f, -0.010425f, 0.002689f, -0.004297f, 0.006531f, 0.021600f, 0.000105f, -0.005064f, 0.006852f, 0.003647f, 0.006395f, 0.003802f, -0.011812f, 0.000346f, -0.010540f, 0.005764f, 0.005081f, - 0.002990f, 0.019806f, -0.001069f, 0.014768f, -0.000519f, -0.000365f, 0.004355f, -0.000122f, 0.015393f, 0.002061f, 0.009623f, -0.003609f, 0.013082f, -0.005969f, 0.006877f, 0.026284f, -0.004508f, -0.006617f, 0.018293f, 0.003917f, 0.011819f, -0.000273f, -0.011786f, 0.003616f, -0.006936f, 0.007970f, -0.014192f, -0.001821f, -0.007555f, 0.007868f, -0.001551f, 0.001662f, 0.013904f, -0.006898f, -0.014829f, 0.004097f, -0.001725f, -0.000598f, 0.011109f, 0.002348f, 0.001077f, -0.005129f, -0.010102f, -0.009883f, -0.004060f, -0.008096f, -0.007041f, 0.008815f, -0.005193f, -0.000505f, -0.004118f, 0.001429f, -0.001070f, 0.008251f, 0.003511f, -0.007845f, -0.014148f, 0.033373f, -0.016439f, 0.012162f, 0.001164f, 0.006344f, -0.007168f, -0.005495f, -0.002865f, 0.007787f, 0.009886f, 0.002622f, -0.004270f, -0.008824f, 0.005718f, 0.009702f, -0.001006f, 0.003502f, -0.004064f, 0.010509f, 0.004428f, -0.017846f, -0.005289f, 0.006613f, -0.000281f, -0.007213f, 0.000438f, 0.009070f, -0.005358f, 0.003507f, -0.011199f, 0.007670f, 0.016063f, -0.005652f, 0.016955f, 0.001194f, -0.002060f, 0.011370f, 0.000424f, 0.001476f, - 0.010601f, -0.020296f, 0.004065f, 0.007004f, 0.009848f, 0.006681f, 0.007917f, -0.008737f, -0.006313f, 0.000340f, 0.004337f, -0.009503f, 0.004386f, 0.010582f, 0.009931f, 0.003991f, 0.028200f, -0.007828f, -0.002292f, -0.011544f, -0.004117f, -0.007291f, -0.010103f, 0.014766f, 0.007066f, 0.014477f, -0.000842f, -0.020971f, 0.014080f, -0.006773f, 0.008441f, 0.007293f, 0.004625f, 0.004930f, -0.015489f, 0.021824f, 0.006581f, -0.040925f, -0.034721f, -0.032170f, 0.005033f, 0.004452f, 0.000806f, -0.000438f, -0.003899f, -0.004181f, -0.000907f, -0.007011f, -0.012740f, -0.009506f, -0.021008f, -0.010382f, -0.011067f, 0.009669f, -0.016528f, -0.008452f, -0.010082f, 0.000592f, -0.001508f, -0.005765f, 0.002658f, -0.003220f, -0.017071f, -0.002262f, 0.012476f, -0.000142f, -0.015399f, -0.014136f, 0.003657f, -0.006922f, 0.010215f, 0.006311f, -0.014632f, 0.010763f, 0.018588f, -0.019042f, -0.019021f, -0.011398f, 0.004736f, 0.013950f, -0.013108f, -0.014015f, 0.004434f, -0.009041f, -0.000406f, -0.003759f, -0.003142f, -0.020727f, 0.001849f, 0.008854f, -0.007425f, 0.004031f, -0.010883f, -0.013330f, -0.012560f, -0.007842f, - -0.020417f, 0.029409f, -0.008568f, -0.004788f, 0.003744f, 0.000749f, 0.004913f, 0.001508f, 0.008001f, 0.001560f, 0.006588f, 0.016591f, -0.027729f, 0.014393f, -0.008458f, -0.008794f, -0.003438f, -0.038526f, 0.029457f, 0.007838f, 0.006339f, -0.007075f, 0.028755f, -0.004456f, 0.013439f, 0.000088f, 0.012035f, -0.017029f, 0.006555f, 0.006948f, 0.002339f, -0.008220f, 0.025383f, -0.006695f, 0.007464f, 0.006232f, 0.026271f, -0.017655f, -0.001634f, 0.007817f, -0.005148f, -0.012782f, 0.007421f, -0.011958f, 0.002613f, 0.003915f, -0.015247f, 0.006203f, 0.000493f, 0.001330f, 0.028599f, 0.018994f, -0.003270f, -0.011328f, -0.010258f, 0.007282f, -0.002493f, -0.016826f, 0.004001f, -0.000720f, 0.004121f, 0.014137f, 0.018390f, -0.012473f, 0.012064f, 0.007642f, -0.010099f, 0.007401f, 0.003720f, -0.012747f, -0.008990f, -0.007503f, 0.012384f, -0.013844f, -0.014554f, -0.033285f, -0.027236f, 0.008485f, -0.006779f, -0.003426f, -0.015538f, -0.025196f, 0.007897f, 0.003897f, -0.003478f, 0.015171f, 0.008181f, 0.018063f, 0.005889f, 0.006354f, -0.004702f, 0.005467f, 0.012263f, -0.009989f, 0.011168f, -0.045756f, - 0.043837f, 0.031727f, -0.011847f, -0.009851f, 0.012392f, 0.000912f, 0.001817f, 0.021365f, 0.015299f, 0.001420f, -0.002278f, 0.009106f, -0.004033f, -0.002136f, 0.006538f, -0.008365f, 0.012304f, 0.008785f, -0.008886f, 0.013338f, -0.000616f, 0.004239f, -0.000186f, -0.019627f, -0.000427f, 0.015829f, 0.016189f, 0.006984f, 0.007337f, 0.009220f, -0.008855f, -0.011154f, 0.005917f, 0.010251f, 0.000303f, -0.003702f, -0.009856f, 0.005363f, -0.002414f, 0.014187f, 0.016195f, -0.000713f, 0.018560f, -0.008267f, 0.020599f, 0.011874f, 0.024683f, 0.002830f, 0.004144f, -0.005796f, -0.009201f, -0.000703f, 0.019056f, 0.031326f, 0.002417f, 0.024207f, -0.009330f, -0.020733f, 0.003496f, 0.009678f, -0.018738f, 0.021508f, -0.006150f, 0.008627f, -0.041982f, -0.016594f, 0.000118f, -0.008381f, 0.008548f, 0.016068f, 0.029743f, 0.008509f, 0.000525f, -0.011537f, -0.024001f, 0.013326f, -0.016209f, 0.032913f, -0.011434f, 0.005576f, 0.025125f, 0.025860f, 0.000149f, -0.011984f, -0.005465f, -0.005509f, 0.003739f, -0.016042f, -0.012181f, 0.016746f, 0.005753f, 0.011402f, 0.013731f, 0.015630f, -0.004151f, 0.010762f, - -0.001332f, 0.012531f, 0.046882f, 0.012326f, -0.019479f, 0.022745f, 0.026226f, 0.002823f, -0.001802f, 0.003048f, -0.009711f, -0.014646f, -0.006359f, 0.026343f, 0.018769f, 0.015389f, 0.023202f, 0.006031f, -0.001244f, -0.007797f, -0.024132f, 0.014115f, 0.016444f, 0.009604f, -0.001702f, -0.001432f, -0.006591f, 0.005567f, 0.024227f, 0.016787f, -0.022048f, 0.018284f, -0.018082f, 0.023973f, 0.007574f, 0.010256f, 0.012822f, -0.001605f, -0.008680f, -0.001445f, 0.012122f, 0.040288f, -0.002610f, 0.021342f, -0.004772f, -0.014753f, 0.024196f, 0.020822f, 0.009017f, 0.007019f, 0.023336f, 0.009593f, 0.007080f, 0.001604f, 0.016092f, -0.007714f, 0.016321f, 0.020880f, -0.023400f, 0.016229f, 0.009354f, -0.005331f, 0.001601f, 0.011333f, -0.009773f, -0.020407f, 0.031373f, 0.007230f, 0.006031f, 0.006345f, 0.018587f, 0.005941f, -0.018727f, 0.020536f, -0.026877f, -0.030739f, 0.002692f, 0.004391f, -0.017428f, -0.005015f, -0.051402f, -0.035592f, -0.027521f, -0.008508f, -0.028345f, -0.013083f, 0.010388f, -0.024475f, 0.017419f, 0.017142f, -0.020938f, 0.027444f, 0.013779f, -0.004293f, -0.003118f, -0.012807f, - 0.000105f, -0.023573f, 0.053352f, 0.016788f, 0.007801f, -0.025830f, 0.005897f, -0.007191f, 0.035022f, -0.006029f, -0.001718f, -0.031412f, 0.031060f, 0.003391f, 0.011557f, 0.011665f, 0.017580f, 0.011908f, -0.008371f, 0.012083f, -0.017160f, 0.017600f, -0.007240f, 0.011030f, -0.027022f, 0.059207f, 0.007006f, -0.025088f, 0.012451f, 0.018517f, 0.010753f, 0.021348f, 0.013822f, -0.024167f, -0.039683f, 0.013673f, -0.003734f, -0.002060f, 0.026700f, -0.002547f, -0.002254f, 0.004412f, 0.024101f, -0.003745f, 0.014869f, -0.008782f, -0.010797f, -0.014251f, -0.018709f, 0.037939f, 0.020656f, 0.015089f, -0.009328f, -0.030782f, -0.038385f, 0.021516f, 0.015322f, -0.012195f, 0.011554f, -0.007592f, 0.002904f, 0.037864f, 0.017544f, -0.007948f, 0.021208f, -0.004305f, 0.011943f, -0.009674f, 0.014039f, -0.024125f, -0.036813f, -0.012788f, -0.015336f, -0.000632f, 0.047328f, -0.034589f, 0.023321f, 0.014648f, 0.011244f, -0.005744f, 0.019837f, 0.010436f, -0.033471f, -0.042591f, -0.014056f, -0.018007f, 0.053073f, 0.039645f, -0.010353f, -0.020085f, 0.000130f, -0.020607f, -0.002895f, 0.040026f, 0.036490f, 0.022483f, - -0.028288f, 0.009625f, -0.021613f, 0.040468f, 0.019851f, -0.000580f, 0.002343f, 0.016107f, -0.019691f, 0.008762f, 0.035448f, 0.022019f, -0.026483f, 0.037037f, -0.009236f, 0.021669f, -0.031679f, -0.011497f, 0.056823f, 0.027183f, 0.033291f, 0.009357f, -0.044759f, 0.015845f, -0.036108f, 0.026238f, 0.070514f, 0.026345f, 0.044660f, -0.017809f, 0.013703f, 0.022013f, -0.000972f, 0.007087f, -0.016698f, 0.006465f, 0.028290f, 0.003435f, -0.006258f, -0.022539f, 0.014516f, 0.012291f, -0.024128f, 0.015277f, -0.008615f, 0.021459f, 0.028260f, 0.031471f, 0.035920f, 0.005963f, -0.026400f, 0.009891f, 0.017350f, 0.002319f, 0.048507f, 0.006931f, -0.054190f, -0.031614f, 0.016305f, -0.011017f, -0.064141f, 0.005433f, 0.028245f, 0.013413f, 0.003497f, -0.002523f, 0.034707f, -0.023275f, -0.032694f, -0.002693f, -0.011367f, -0.028425f, -0.001272f, 0.006547f, -0.018332f, -0.023413f, -0.016543f, 0.006151f, 0.004579f, -0.035097f, 0.012612f, -0.011160f, 0.010461f, 0.052679f, -0.005525f, -0.009190f, 0.033479f, 0.002381f, 0.028599f, -0.015944f, 0.020354f, 0.013576f, -0.020929f, -0.006785f, 0.046135f, 0.005354f, - -0.064963f, -0.029773f, 0.039080f, -0.058147f, 0.031869f, -0.055056f, 0.003647f, -0.009377f, -0.079379f, -0.011043f, 0.034603f, 0.071672f, 0.022260f, -0.011169f, 0.016780f, -0.028393f, -0.010090f, -0.063743f, -0.004297f, -0.043482f, -0.006958f, -0.009987f, -0.030410f, -0.032021f, -0.011220f, 0.017497f, -0.029249f, 0.019069f, 0.035362f, -0.037774f, 0.012739f, 0.011506f, 0.005640f, -0.040131f, -0.006795f, -0.000895f, -0.042246f, 0.010359f, 0.052159f, -0.004466f, -0.077471f, 0.026754f, -0.047054f, -0.118790f, 0.032715f, -0.049361f, -0.061522f, 0.002848f, -0.028499f, 0.008062f, 0.020330f, -0.012051f, 0.030601f, -0.026444f, 0.026687f, -0.021900f, -0.053486f, -0.000117f, 0.037426f, 0.035870f, -0.069290f, 0.009587f, -0.008662f, -0.051894f, -0.014123f, -0.013515f, 0.088747f, 0.043434f, 0.051835f, 0.022310f, 0.022143f, 0.052889f, 0.078353f, -0.021983f, -0.039210f, -0.015252f, 0.100881f, 0.109385f, -0.068805f, -0.028851f, 0.047103f, -0.025434f, 0.017175f, -0.033914f, 0.006278f, -0.034719f, -0.063264f, 0.079407f, 0.008797f, 0.023244f, 0.017886f, 0.005239f, 0.007535f, 0.000087f, 0.013339f, 0.018052f, - -0.061512f, -0.050233f, -0.045384f, -0.041870f, -0.033114f, -0.020847f, -0.018949f, -0.033239f, -0.021132f, -0.028401f, 0.026586f, 0.020995f, 0.008040f, -0.016359f, 0.002553f, -0.063278f, -0.034535f, 0.015159f, -0.059594f, -0.006664f, 0.023584f, 0.046941f, 0.003391f, 0.008106f, -0.024395f, -0.037272f, -0.046384f, 0.033258f, -0.008418f, 0.033069f, -0.123338f, 0.006796f, -0.017734f, 0.013275f, 0.069228f, 0.008696f, 0.008325f, 0.008196f, -0.025290f, -0.024407f, -0.003207f, -0.004345f, -0.070961f, 0.015269f, -0.028413f, 0.061490f, 0.000323f, -0.064132f, -0.093257f, -0.053304f, -0.014413f, -0.059720f, -0.063967f, -0.033990f, 0.043278f, -0.008975f, -0.016753f, -0.027821f, 0.120032f, -0.065000f, 0.047665f, 0.085469f, -0.036269f, 0.014309f, 0.069761f, -0.081275f, 0.007114f, 0.011769f, 0.044685f, -0.091682f, 0.009313f, 0.008487f, 0.035148f, -0.038955f, 0.004946f, 0.018765f, -0.050659f, 0.010045f, 0.000588f, -0.008622f, 0.035405f, -0.007548f, -0.003158f, 0.014338f, -0.001852f, -0.008039f, 0.035463f, -0.026640f, 0.014085f, -0.010362f, 0.013736f, -0.016856f, -0.003523f, -0.020899f, 0.006981f, 0.005011f, - 0.065381f, 0.020065f, 0.035697f, -0.005383f, 0.008344f, 0.043680f, 0.006246f, -0.016114f, 0.032789f, 0.018019f, -0.010518f, -0.056679f, 0.061458f, -0.056633f, 0.019368f, 0.026813f, 0.046404f, -0.056039f, 0.070952f, 0.094815f, -0.039710f, -0.097775f, 0.143324f, 0.044920f, -0.049346f, 0.028481f, -0.045422f, -0.078027f, -0.019983f, -0.015709f, -0.059293f, 0.062672f, -0.087281f, 0.030600f, 0.083212f, -0.048965f, -0.104672f, 0.111537f, -0.027091f, 0.066181f, -0.041653f, -0.032972f, -0.067226f, -0.030174f, 0.041739f, 0.032869f, -0.017170f, -0.021385f, 0.022677f, 0.055267f, -0.022152f, 0.042067f, 0.049621f, -0.033076f, -0.004038f, 0.031212f, -0.006816f, 0.001336f, -0.008987f, 0.004110f, -0.048907f, 0.015161f, -0.010264f, 0.003251f, 0.012695f, -0.008402f, 0.010934f, -0.019002f, -0.041001f, -0.018044f, -0.071903f, 0.010758f, 0.000389f, -0.009095f, 0.013950f, 0.008662f, -0.004269f, -0.014738f, 0.029552f, 0.047865f, -0.048026f, 0.072604f, -0.007662f, 0.011332f, 0.010522f, 0.064461f, 0.028923f, 0.047719f, -0.057254f, -0.012253f, -0.010637f, 0.083553f, -0.075984f, -0.023928f, 0.037260f, -0.000640f, - -0.087811f, 0.008097f, -0.018081f, -0.012834f, 0.040179f, 0.046206f, 0.003221f, -0.030684f, 0.071260f, -0.027505f, 0.118911f, 0.004109f, -0.053947f, 0.002731f, -0.007680f, -0.058766f, 0.122656f, 0.029059f, -0.009249f, -0.101965f, 0.028453f, 0.037975f, 0.023831f, 0.091479f, -0.015379f, 0.022402f, -0.006786f, -0.043918f, 0.024828f, -0.027122f, -0.014923f, 0.020783f, 0.041678f, -0.039875f, 0.047717f, 0.007797f, -0.000881f, 0.096762f, -0.017753f, -0.007832f, 0.071920f, -0.042431f, 0.063617f, 0.029712f, -0.013614f, 0.027758f, 0.027370f, 0.061166f, 0.061525f, 0.020644f, -0.048191f, 0.105975f, -0.102290f, 0.006745f, 0.094622f, -0.047139f, 0.021459f, -0.007639f, -0.011587f, -0.105102f, 0.074312f, 0.023310f, 0.033142f, 0.038566f, -0.022345f, -0.050020f, -0.040581f, -0.028685f, 0.005132f, 0.107834f, 0.000531f, 0.085795f, -0.027292f, -0.057339f, 0.002919f, 0.028655f, -0.051940f, 0.088884f, 0.032891f, 0.047029f, 0.080939f, 0.059878f, -0.089357f, 0.040874f, -0.127865f, -0.147535f, 0.001045f, 0.140396f, 0.079537f, 0.021368f, -0.096050f, -0.318409f, -0.064971f, 0.118986f, 0.111901f, 0.189645f, - -0.017495f, 0.013457f, -0.081176f, 0.068197f, -0.050975f, -0.008907f, -0.032928f, 0.031596f, -0.036963f, -0.001737f, -0.003673f, -0.010279f, 0.007903f, 0.034694f, -0.036579f, 0.015953f, 0.003268f, -0.008873f, 0.000933f, 0.024265f, -0.030729f, -0.008950f, -0.004057f, 0.050709f, -0.051253f, 0.013237f, -0.022094f, 0.033356f, -0.037163f, -0.011360f, 0.013694f, -0.007973f, 0.007959f, -0.025168f, -0.003495f, 0.021388f, -0.005829f, 0.007756f, 0.007977f, 0.003785f, 0.028705f, -0.026549f, 0.018459f, 0.019008f, 0.025874f, -0.004486f, -0.056104f, 0.006268f, 0.008133f, 0.022212f, 0.022738f, -0.005391f, 0.007217f, -0.010952f, -0.024475f, -0.005813f, 0.013656f, -0.006379f, 0.036652f, -0.029921f, -0.007430f, -0.058261f, 0.019006f, 0.004298f, -0.006631f, 0.010657f, 0.013557f, -0.003017f, -0.026415f, 0.006605f, 0.031777f, -0.008525f, -0.000283f, 0.007436f, -0.006364f, 0.015628f, -0.004338f, -0.046033f, 0.112572f, 0.030901f, 0.028019f, -0.014553f, -0.035683f, -0.034282f, 0.010080f, 0.022114f, 0.003696f, -0.000963f, 0.000130f, -0.016078f, -0.002740f, 0.008220f, -0.004109f, 0.003737f, -0.001522f, -0.016084f, - -0.000627f, 0.008499f, 0.013050f, -0.011072f, 0.003368f, 0.008593f, -0.016165f, 0.027266f, -0.016112f, -0.013847f, -0.013944f, 0.004078f, 0.008060f, 0.012886f, -0.013417f, 0.017825f, -0.024880f, 0.017049f, 0.015005f, -0.010593f, -0.000957f, -0.000340f, -0.002703f, 0.013420f, -0.013767f, 0.004551f, -0.004284f, -0.017540f, 0.025730f, -0.013767f, -0.000317f, -0.010050f, -0.003146f, 0.018368f, -0.023102f, 0.010037f, 0.006606f, -0.009571f, 0.008700f, -0.019234f, 0.005909f, 0.008897f, -0.014598f, 0.001026f, 0.008064f, -0.012932f, 0.013827f, -0.018080f, 0.005350f, 0.020084f, -0.028130f, 0.008971f, -0.010713f, 0.002848f, 0.011112f, -0.007505f, -0.004375f, 0.016571f, -0.087039f, -0.203864f, 0.057367f, 0.199040f, 0.136809f, 0.216459f, -0.120920f, -0.128706f, -0.175392f, -0.203003f, 0.004100f, 0.156150f, 0.161353f, 0.168451f, 0.032873f, -0.056027f, -0.110884f, -0.159066f, -0.134835f, 0.010211f, 0.104308f, 0.123741f, 0.111343f, 0.026424f, -0.031075f, -0.019534f, -0.087369f, -0.097732f, -0.041350f, -0.002932f, 0.037254f, 0.081902f, 0.039910f, 0.029532f, 0.040933f, -0.020831f, -0.049105f, -0.008279f, - -0.078366f, -0.036933f, 0.000640f, 0.012130f, 0.059339f, 0.069074f, 0.005941f, -0.010777f, -0.006723f, -0.051441f, -0.014068f, -0.000979f, -0.010845f, 0.017460f, 0.034078f, -0.007556f, -0.002898f, -0.013689f, -0.021564f, 0.004163f, 0.001963f, -0.002545f, 0.038535f, 0.025989f, 0.009572f, -0.001139f, -0.036519f, -0.052829f, -0.041680f, 0.002974f, 0.039363f, 0.033767f, 0.044535f, 0.006306f, 0.001904f, 0.010811f, -0.052897f, -0.028637f, -0.013606f, 0.000698f, 0.002378f}, - {0.020349f, 0.012716f, 0.004800f, -0.000581f, 0.010379f, 0.000762f, 0.000153f, -0.002023f, 0.004059f, 0.008144f, 0.001153f, -0.005362f, 0.007314f, 0.005394f, -0.003062f, 0.000762f, 0.001721f, -0.005434f, -0.003180f, 0.003653f, 0.001179f, 0.007023f, -0.004192f, 0.004185f, -0.005769f, -0.000256f, 0.001542f, -0.005767f, 0.001799f, -0.002682f, 0.005277f, -0.007022f, 0.009761f, -0.001358f, -0.005192f, -0.009347f, 0.003408f, 0.007683f, -0.002749f, 0.001684f, -0.004166f, 0.001969f, 0.005531f, -0.000275f, -0.001935f, -0.001960f, -0.001885f, 0.004686f, -0.004653f, -0.004184f, 0.001251f, 0.002229f, 0.003360f, 0.000406f, -0.003560f, 0.009993f, 0.001182f, 0.001271f, 0.006133f, -0.001918f, 0.002930f, -0.000058f, -0.001757f, -0.000949f, -0.000830f, 0.003408f, 0.006774f, -0.001137f, 0.001716f, 0.001159f, 0.008373f, -0.001620f, -0.003091f, -0.001748f, -0.002791f, -0.003812f, -0.000723f, -0.007978f, -0.005220f, 0.002510f, -0.001869f, -0.002377f, -0.003756f, 0.001180f, 0.008179f, -0.002344f, 0.000282f, 0.001010f, 0.013845f, -0.000072f, 0.002865f, -0.005397f, -0.003612f, -0.001200f, -0.003378f, -0.003745f, - -0.003401f, -0.002324f, -0.003209f, -0.004449f, 0.004200f, 0.006636f, -0.003233f, 0.001159f, 0.000588f, -0.007155f, 0.000544f, 0.000010f, -0.004854f, 0.009985f, -0.004655f, 0.005752f, 0.002500f, -0.001334f, -0.005246f, -0.005031f, 0.005449f, -0.002455f, -0.001486f, -0.007580f, -0.001543f, -0.000544f, -0.003208f, 0.010529f, -0.001792f, -0.000468f, 0.004816f, -0.000567f, -0.008113f, -0.004238f, -0.007066f, -0.004906f, 0.012365f, -0.003105f, 0.013718f, 0.000168f, 0.000086f, -0.002143f, 0.002195f, 0.000806f, -0.007093f, -0.008042f, 0.006817f, 0.000993f, 0.004934f, -0.000220f, 0.005678f, 0.003326f, -0.006605f, 0.000389f, 0.003558f, 0.004582f, 0.001096f, 0.003863f, 0.018380f, -0.000954f, -0.001724f, -0.004147f, -0.009365f, -0.011651f, -0.010629f, 0.001683f, 0.010303f, 0.003904f, 0.013607f, 0.004979f, -0.005543f, 0.002046f, -0.015246f, -0.012826f, 0.006600f, -0.004211f, 0.009119f, -0.000359f, -0.006543f, -0.003016f, 0.017684f, 0.004310f, 0.007718f, 0.000123f, 0.006004f, -0.002119f, -0.001709f, 0.003875f, -0.001970f, -0.007083f, -0.000151f, 0.003217f, -0.000479f, 0.000004f, 0.011376f, 0.007249f, - -0.011414f, 0.000726f, -0.007105f, 0.012896f, 0.007733f, 0.000975f, -0.004050f, -0.004090f, 0.006086f, 0.003645f, 0.009634f, -0.008172f, 0.015075f, 0.018526f, -0.004655f, 0.018057f, 0.000285f, 0.009668f, 0.006029f, -0.002830f, 0.003321f, 0.014537f, -0.001412f, -0.009125f, 0.008366f, 0.003019f, 0.000057f, -0.000737f, -0.001572f, 0.000926f, 0.008268f, -0.005029f, 0.002910f, 0.002384f, 0.004107f, -0.006815f, 0.007201f, 0.001469f, -0.001980f, -0.015978f, -0.012579f, 0.003373f, -0.007298f, 0.004452f, -0.009007f, -0.012679f, -0.011688f, 0.001099f, -0.008823f, 0.007235f, 0.005278f, -0.011331f, -0.002602f, 0.003908f, 0.000672f, 0.004913f, -0.003548f, 0.005091f, 0.006571f, -0.010151f, 0.002744f, 0.002627f, -0.008053f, 0.003991f, 0.000477f, -0.009675f, 0.006458f, 0.005956f, -0.003541f, 0.006550f, 0.000733f, 0.005229f, 0.004987f, 0.001600f, -0.003703f, -0.001466f, -0.011196f, -0.003921f, -0.005692f, 0.005117f, 0.005808f, 0.001741f, -0.017756f, 0.002683f, 0.007141f, -0.004634f, 0.012079f, -0.010757f, -0.013583f, 0.000314f, -0.004186f, 0.003553f, -0.009757f, 0.016656f, -0.001135f, -0.006570f, - 0.001482f, -0.000551f, 0.009676f, -0.001351f, -0.006010f, -0.001192f, -0.004171f, -0.006175f, -0.007038f, 0.002326f, -0.012537f, 0.000369f, 0.000086f, 0.002665f, 0.007726f, 0.001702f, 0.005221f, 0.007900f, -0.007047f, -0.038459f, -0.001855f, -0.005770f, 0.024969f, -0.000643f, 0.000316f, 0.004386f, -0.004935f, 0.012011f, 0.001969f, -0.015317f, -0.008899f, -0.017755f, 0.001627f, -0.002339f, -0.007017f, -0.005966f, -0.007412f, -0.005033f, 0.019051f, -0.010544f, -0.006005f, -0.006465f, -0.016931f, -0.001805f, -0.005216f, 0.004174f, 0.006303f, -0.003653f, -0.001533f, 0.003425f, -0.006213f, -0.002413f, -0.003492f, -0.006736f, 0.004754f, 0.011475f, -0.003007f, -0.003171f, 0.008418f, -0.014236f, 0.006999f, -0.011578f, -0.022751f, -0.014493f, -0.022690f, -0.004272f, -0.013647f, -0.009133f, 0.000576f, 0.007377f, 0.002597f, 0.004983f, -0.004820f, 0.006271f, -0.010709f, -0.003043f, 0.005862f, -0.001043f, 0.008787f, -0.005439f, 0.001386f, -0.008449f, -0.007577f, 0.004519f, -0.014923f, 0.002451f, 0.007560f, -0.013585f, -0.000931f, -0.004369f, -0.008232f, -0.009341f, -0.010087f, -0.003704f, -0.006381f, 0.000053f, - 0.024088f, 0.000381f, -0.013033f, -0.012582f, -0.004092f, -0.009145f, -0.003280f, -0.006853f, 0.002161f, 0.001290f, -0.010155f, -0.006072f, -0.011164f, 0.021996f, 0.009703f, 0.002096f, -0.000799f, 0.011931f, -0.017255f, -0.000245f, 0.000123f, -0.011185f, -0.014387f, 0.013346f, 0.000829f, 0.009501f, -0.014371f, -0.006590f, -0.004590f, 0.005135f, 0.000125f, 0.006309f, -0.009628f, 0.003015f, 0.004957f, -0.011294f, -0.009977f, -0.009863f, 0.003139f, -0.003365f, -0.002151f, 0.009256f, -0.001863f, 0.000844f, 0.001126f, -0.002083f, -0.009663f, -0.006742f, -0.000166f, -0.016287f, -0.009352f, -0.008720f, 0.005651f, 0.002778f, 0.007669f, -0.001891f, 0.004143f, -0.000503f, -0.000215f, 0.007124f, -0.004268f, 0.012648f, 0.003458f, 0.003579f, 0.000051f, -0.004649f, 0.007087f, 0.003666f, 0.012364f, -0.003435f, 0.003942f, 0.005968f, -0.001050f, -0.000100f, -0.010405f, 0.006306f, -0.005946f, 0.027633f, 0.026134f, 0.019369f, -0.007246f, 0.006758f, 0.009554f, 0.005375f, 0.005171f, -0.010432f, -0.009147f, -0.013494f, 0.011021f, -0.012701f, -0.002003f, -0.009396f, 0.014793f, -0.017538f, -0.013179f, -0.006896f, - -0.003245f, -0.009928f, -0.014557f, 0.003420f, 0.000235f, 0.000224f, -0.017538f, -0.009996f, 0.003950f, 0.002953f, 0.004339f, -0.005248f, -0.007264f, -0.000104f, 0.004632f, 0.005892f, -0.005285f, 0.005558f, -0.009529f, -0.003084f, -0.022618f, 0.007416f, 0.002190f, -0.004530f, -0.004667f, -0.017066f, -0.007924f, 0.001295f, -0.004416f, -0.023716f, 0.011929f, 0.004290f, -0.000462f, -0.007042f, -0.005234f, -0.010588f, 0.002562f, -0.004373f, 0.006225f, -0.002423f, -0.003652f, -0.014079f, -0.002847f, -0.002419f, -0.007468f, 0.013122f, -0.010614f, -0.001114f, 0.008349f, -0.005023f, -0.011279f, -0.007964f, 0.009770f, 0.012058f, 0.007291f, -0.003493f, 0.000499f, 0.033923f, 0.011275f, -0.005121f, -0.004134f, 0.011826f, -0.023185f, -0.004465f, 0.018469f, 0.009220f, -0.013175f, -0.000410f, -0.009005f, 0.003483f, 0.014141f, 0.035099f, 0.011420f, 0.027317f, -0.009930f, -0.002144f, -0.026908f, 0.008956f, -0.008017f, 0.007414f, -0.011930f, -0.000712f, 0.000876f, -0.004255f, 0.009318f, -0.004385f, 0.004302f, 0.011699f, -0.009320f, 0.005230f, 0.014762f, -0.004197f, 0.004727f, -0.000075f, 0.005730f, 0.008153f, - 0.008139f, -0.045370f, 0.016203f, -0.005334f, -0.021569f, -0.003812f, 0.012564f, 0.003848f, -0.016778f, 0.008715f, 0.012494f, -0.026795f, 0.001706f, -0.007671f, 0.015234f, 0.003423f, 0.012486f, -0.003346f, -0.009826f, -0.018925f, 0.000630f, -0.011555f, 0.034806f, 0.006268f, -0.006377f, 0.011473f, 0.000888f, 0.011035f, -0.028440f, -0.004106f, 0.003635f, 0.008069f, 0.001360f, -0.013731f, -0.002761f, 0.003723f, 0.011696f, -0.040812f, -0.044724f, -0.015561f, -0.003838f, 0.000438f, 0.009045f, -0.019317f, 0.005597f, 0.021951f, -0.013191f, 0.011507f, 0.015075f, -0.011150f, -0.000052f, -0.005625f, 0.018518f, 0.025990f, -0.013022f, -0.015269f, 0.012868f, 0.000893f, -0.013057f, 0.005611f, -0.000189f, 0.002921f, 0.003366f, -0.007156f, -0.005342f, -0.028567f, -0.001866f, -0.008450f, -0.001072f, -0.001227f, 0.018726f, 0.005293f, -0.034831f, 0.000180f, 0.016132f, -0.019208f, 0.004490f, 0.019828f, -0.004926f, 0.006717f, -0.000081f, -0.005715f, -0.013578f, 0.025596f, 0.021357f, -0.017058f, 0.008163f, -0.006609f, -0.001440f, 0.007670f, -0.006383f, 0.006360f, -0.010942f, -0.001608f, 0.021285f, -0.006680f, - 0.003912f, 0.009932f, -0.008301f, -0.018509f, -0.001647f, 0.005746f, 0.002239f, -0.009137f, 0.000052f, 0.004408f, 0.006549f, 0.015613f, 0.008435f, 0.017248f, 0.007449f, 0.003050f, 0.005590f, -0.042199f, 0.049941f, -0.001469f, 0.032618f, 0.003736f, -0.016772f, -0.004085f, -0.009135f, -0.011384f, -0.000284f, 0.002214f, 0.023987f, -0.002234f, 0.016919f, -0.014286f, 0.000565f, 0.005202f, 0.004985f, 0.003122f, 0.021050f, 0.020933f, 0.008576f, 0.004465f, -0.001052f, -0.002475f, 0.000307f, -0.001923f, -0.031287f, -0.009819f, 0.016530f, 0.011080f, -0.002191f, 0.002995f, -0.014023f, 0.009168f, -0.017518f, 0.005475f, 0.031669f, 0.004593f, 0.008052f, -0.023801f, 0.014918f, 0.012981f, 0.004749f, -0.015574f, -0.005828f, -0.006605f, 0.002937f, -0.013898f, 0.017026f, 0.020068f, 0.012988f, -0.000517f, 0.029907f, 0.011143f, 0.043046f, 0.017240f, -0.009413f, 0.035486f, 0.002469f, -0.011682f, 0.026693f, -0.003281f, 0.009993f, 0.016383f, -0.009588f, -0.009283f, 0.024902f, 0.025012f, 0.016485f, -0.020357f, 0.009448f, -0.001001f, -0.007634f, -0.018364f, 0.013465f, 0.018415f, 0.012207f, -0.021862f, - 0.032563f, -0.007430f, -0.018996f, 0.008424f, 0.014933f, -0.011942f, -0.005492f, -0.026984f, 0.013348f, -0.008816f, -0.002127f, -0.024531f, -0.010235f, -0.007149f, -0.003212f, -0.010046f, 0.007449f, -0.003483f, -0.005235f, 0.008044f, 0.009883f, 0.017196f, 0.016169f, -0.004529f, -0.004249f, -0.019158f, 0.009483f, 0.002447f, 0.015051f, 0.005912f, 0.004837f, -0.002657f, 0.006659f, -0.011035f, -0.010134f, 0.008466f, 0.004221f, 0.008618f, -0.024774f, 0.010996f, 0.017891f, 0.002365f, -0.021734f, -0.021243f, -0.017520f, -0.052163f, 0.008692f, -0.003672f, 0.027424f, -0.010253f, 0.022925f, 0.009858f, 0.002400f, 0.031256f, 0.005203f, -0.000296f, 0.021250f, 0.010631f, -0.026970f, -0.010632f, 0.004130f, -0.005566f, -0.015011f, -0.006179f, 0.036571f, 0.020026f, -0.016216f, 0.001593f, -0.008926f, -0.000926f, 0.005606f, 0.028961f, 0.000436f, -0.003753f, 0.031746f, 0.014957f, -0.021085f, -0.004299f, -0.004599f, -0.001617f, -0.000111f, 0.061049f, 0.011262f, 0.023127f, -0.009092f, 0.020339f, 0.040032f, -0.031753f, 0.051577f, 0.030869f, -0.011784f, 0.001649f, 0.004660f, -0.016803f, -0.028503f, 0.003236f, - -0.015794f, -0.025774f, -0.010334f, 0.003511f, 0.001813f, -0.002209f, -0.010290f, -0.000946f, -0.009928f, 0.000237f, -0.011722f, 0.000043f, 0.011279f, -0.020137f, 0.013618f, 0.018805f, -0.011813f, -0.011921f, 0.011307f, 0.007891f, 0.000969f, 0.054560f, 0.006980f, 0.036648f, -0.023386f, -0.001636f, -0.028766f, -0.022059f, 0.008007f, -0.022165f, -0.028917f, -0.020268f, -0.021229f, -0.004526f, -0.003545f, -0.025942f, -0.025917f, 0.038263f, 0.009049f, 0.002854f, -0.001794f, 0.019904f, 0.014375f, 0.023791f, 0.001460f, 0.022310f, -0.008328f, 0.004847f, -0.037115f, 0.033389f, 0.021568f, 0.001328f, -0.016897f, -0.004459f, 0.026484f, -0.014482f, -0.012324f, 0.029904f, -0.030007f, -0.023431f, -0.007790f, -0.019152f, -0.005352f, -0.035117f, 0.004578f, -0.022593f, 0.012637f, -0.000364f, 0.002469f, 0.016090f, 0.002545f, 0.010619f, 0.015216f, 0.014621f, 0.011284f, 0.021501f, -0.000052f, 0.013812f, 0.011694f, -0.020036f, 0.027346f, 0.004914f, 0.010998f, -0.018878f, 0.020602f, 0.008144f, 0.013508f, 0.001678f, 0.002769f, -0.005613f, -0.025043f, 0.003002f, 0.009072f, 0.011984f, 0.012565f, 0.000830f, - -0.029945f, -0.019399f, 0.015625f, 0.007750f, 0.000796f, -0.012762f, 0.009585f, -0.012362f, -0.030333f, 0.036309f, 0.020025f, 0.014633f, -0.018979f, -0.010269f, -0.023894f, -0.064709f, -0.006090f, -0.011660f, 0.003587f, -0.017576f, -0.020089f, -0.030524f, 0.000004f, 0.005272f, 0.029475f, -0.030958f, 0.005613f, -0.003507f, 0.010011f, -0.028486f, -0.036008f, -0.023188f, 0.011494f, -0.000919f, -0.047961f, 0.030557f, 0.032494f, -0.013318f, 0.028051f, 0.010754f, -0.039998f, -0.005680f, 0.057454f, -0.006155f, -0.034603f, -0.004083f, -0.001293f, -0.030347f, 0.024682f, 0.006228f, -0.013772f, 0.025656f, 0.018415f, 0.058527f, 0.035898f, 0.002323f, 0.006720f, 0.055201f, -0.011220f, 0.014957f, -0.019340f, -0.030358f, -0.006726f, -0.020265f, 0.007620f, -0.000393f, 0.013694f, -0.000525f, -0.000940f, -0.008044f, 0.045416f, 0.003056f, -0.030349f, -0.025586f, -0.002875f, -0.006011f, 0.002062f, 0.014648f, 0.042069f, 0.025467f, 0.011641f, -0.022853f, 0.033690f, 0.055594f, -0.007941f, 0.025465f, 0.027232f, 0.066683f, 0.016604f, 0.012905f, 0.024216f, 0.028408f, 0.020027f, -0.022755f, -0.017316f, 0.015126f, - -0.035831f, -0.024791f, -0.024005f, 0.027149f, 0.029686f, 0.016198f, -0.000639f, 0.019434f, 0.049131f, -0.025465f, 0.041320f, 0.032381f, 0.004230f, 0.032209f, -0.018875f, -0.005259f, 0.011545f, 0.038639f, 0.068396f, 0.007887f, -0.006624f, 0.007840f, -0.003285f, -0.010490f, 0.002337f, 0.007844f, -0.016320f, -0.021310f, 0.007728f, -0.010631f, -0.006088f, 0.018213f, -0.000735f, 0.034962f, -0.017817f, 0.034348f, 0.016409f, 0.004346f, -0.019380f, 0.007418f, 0.033176f, 0.010807f, -0.017025f, 0.007811f, -0.004208f, 0.002237f, 0.019286f, -0.025700f, -0.014620f, 0.031622f, 0.000272f, -0.005975f, 0.025789f, 0.000257f, 0.008778f, 0.007581f, -0.025671f, -0.044060f, -0.010335f, 0.017636f, 0.028599f, 0.008181f, -0.023310f, 0.031204f, -0.010490f, 0.061409f, -0.031067f, 0.042064f, -0.024445f, 0.016489f, 0.033091f, -0.048378f, -0.053668f, 0.002031f, -0.016254f, 0.016029f, 0.015128f, 0.005026f, -0.009426f, -0.028225f, 0.019003f, -0.001590f, 0.035119f, 0.019868f, 0.032375f, 0.012717f, 0.017722f, -0.004893f, 0.023998f, 0.013632f, -0.018479f, 0.008517f, -0.002369f, -0.052750f, 0.041880f, 0.054895f, - -0.014992f, -0.004676f, 0.017751f, 0.073419f, -0.000363f, -0.047329f, -0.020455f, 0.006681f, 0.006127f, -0.016636f, 0.011989f, -0.012693f, 0.020986f, -0.040507f, -0.000535f, 0.021263f, -0.018441f, -0.019619f, 0.000751f, -0.040076f, -0.014166f, -0.014714f, -0.062486f, -0.053045f, -0.031910f, 0.019606f, 0.023368f, -0.007039f, -0.045258f, 0.002305f, -0.001132f, -0.004016f, 0.005881f, -0.023931f, 0.048497f, -0.017155f, 0.003822f, 0.054131f, -0.052351f, 0.021336f, 0.005658f, -0.019942f, 0.017866f, -0.016077f, -0.043022f, -0.001873f, 0.032019f, -0.018337f, -0.028106f, 0.011687f, 0.001848f, 0.030315f, -0.002619f, -0.054132f, 0.001199f, -0.033308f, 0.047490f, -0.021456f, 0.004667f, 0.009094f, 0.003056f, -0.010707f, -0.035757f, 0.009999f, 0.031262f, 0.006053f, 0.032300f, -0.056128f, -0.031758f, -0.013216f, -0.003788f, 0.000391f, -0.043670f, 0.030225f, -0.010077f, -0.038827f, 0.058338f, 0.002230f, -0.098666f, 0.040326f, -0.013241f, 0.008404f, 0.010442f, 0.014036f, 0.024606f, 0.009650f, -0.017713f, -0.003501f, 0.024676f, 0.017449f, -0.019551f, -0.000116f, -0.015539f, -0.007104f, -0.048656f, -0.005167f, - 0.023391f, 0.030192f, 0.006448f, -0.010391f, 0.032079f, -0.031986f, 0.036515f, -0.019887f, -0.012151f, 0.005707f, -0.011723f, 0.011182f, -0.029686f, -0.038094f, -0.044718f, -0.012646f, 0.022393f, -0.007263f, -0.000373f, 0.028615f, 0.006814f, 0.006443f, -0.001596f, 0.002725f, -0.010155f, 0.002252f, 0.028132f, 0.019858f, 0.029647f, 0.028066f, 0.029647f, 0.023088f, -0.019503f, -0.009404f, 0.006226f, 0.000407f, -0.036797f, 0.026250f, -0.007985f, -0.030782f, 0.040180f, 0.002278f, 0.004910f, 0.001742f, -0.017334f, -0.001947f, 0.015312f, 0.028794f, 0.018692f, 0.004187f, 0.010234f, -0.038938f, -0.009026f, -0.011078f, 0.020536f, 0.011620f, -0.011387f, -0.014921f, 0.134877f, -0.132455f, -0.006654f, -0.143998f, -0.022311f, -0.054733f, -0.006688f, 0.035201f, -0.017875f, -0.039799f, 0.062825f, -0.016918f, -0.010958f, 0.002185f, 0.019368f, -0.002115f, 0.052237f, 0.034738f, 0.020747f, -0.030640f, 0.002093f, -0.020807f, -0.021344f, -0.014039f, 0.000856f, -0.006272f, -0.005670f, -0.017055f, -0.003749f, 0.029282f, 0.003717f, 0.019576f, 0.019275f, -0.001005f, 0.025707f, 0.037709f, 0.002279f, -0.006929f, - -0.019026f, -0.022376f, 0.009650f, 0.010988f, -0.018724f, 0.032407f, -0.041016f, -0.040974f, 0.005269f, -0.013514f, 0.023220f, -0.037635f, 0.017486f, -0.073453f, -0.038976f, -0.058315f, -0.004080f, -0.027710f, -0.001386f, -0.015923f, -0.021041f, -0.017170f, -0.000042f, 0.007866f, -0.056586f, 0.009873f, -0.010431f, 0.010408f, 0.003134f, -0.022819f, -0.044241f, 0.038034f, -0.024436f, 0.000904f, 0.035003f, 0.004268f, -0.000790f, 0.026626f, -0.010571f, 0.112135f, 0.057833f, 0.029362f, -0.023451f, -0.010920f, -0.054023f, 0.015283f, 0.048808f, -0.006277f, -0.007791f, 0.077528f, -0.010310f, -0.014131f, 0.040238f, 0.057322f, 0.012661f, 0.058342f, -0.010808f, 0.010463f, 0.036253f, 0.039543f, 0.062145f, 0.049782f, 0.000733f, -0.019212f, 0.020971f, 0.023415f, 0.023566f, 0.027082f, 0.047354f, 0.023287f, 0.059340f, -0.020131f, 0.001814f, 0.017864f, 0.018519f, 0.048799f, 0.030901f, 0.052062f, -0.033358f, -0.010492f, 0.023611f, -0.038634f, 0.035225f, 0.033117f, 0.034354f, 0.013737f, -0.036535f, -0.014251f, 0.078825f, 0.019519f, 0.054202f, 0.042069f, 0.049587f, -0.009972f, 0.064649f, 0.095367f, - 0.036341f, 0.007353f, 0.070663f, 0.045071f, -0.022759f, -0.017976f, -0.029448f, -0.028640f, 0.031608f, 0.029828f, 0.006123f, -0.031766f, 0.003922f, -0.029853f, 0.002358f, -0.017555f, 0.020085f, -0.067364f, -0.002959f, -0.009016f, -0.035445f, 0.016421f, -0.042672f, 0.072368f, 0.102521f, 0.059832f, -0.027841f, -0.057338f, -0.022361f, 0.050978f, -0.016703f, -0.042616f, 0.075596f, -0.053602f, 0.044336f, 0.026092f, -0.062631f, -0.024996f, -0.008471f, -0.099901f, 0.001728f, 0.011884f, -0.050720f, 0.099165f, -0.036483f, 0.092240f, -0.071412f, 0.010879f, 0.001482f, 0.067808f, 0.095598f, -0.007228f, 0.030223f, 0.047614f, -0.058074f, 0.037733f, -0.077583f, -0.019165f, 0.136441f, -0.006600f, -0.042890f, -0.006184f, -0.082967f, 0.004891f, -0.029405f, 0.089417f, 0.028451f, 0.042558f, -0.018710f, -0.021457f, -0.049291f, -0.038630f, 0.004279f, 0.007493f, -0.006054f, 0.060418f, -0.020887f, 0.013130f, -0.067815f, -0.029479f, 0.032913f, -0.088436f, -0.043813f, -0.025302f, -0.039712f, 0.086149f, -0.003390f, 0.092682f, 0.054994f, 0.030117f, 0.023547f, -0.020203f, -0.060963f, 0.039545f, -0.080311f, -0.045028f, - 0.061008f, 0.066673f, -0.108215f, 0.116961f, -0.001948f, 0.009744f, -0.036204f, 0.094522f, 0.023045f, 0.061096f, 0.023882f, -0.038915f, 0.014592f, 0.034154f, -0.056264f, 0.040715f, 0.001868f, 0.027150f, -0.075420f, -0.005523f, 0.019997f, 0.070921f, -0.028178f, -0.057850f, -0.001281f, 0.070407f, 0.038319f, -0.026608f, -0.059144f, -0.002866f, 0.052011f, 0.006665f, 0.004925f, 0.013994f, 0.038251f, 0.092831f, -0.129595f, -0.021852f, 0.014165f, 0.072556f, 0.017856f, -0.040168f, -0.008261f, 0.027192f, 0.068335f, -0.007453f, 0.004909f, -0.126560f, 0.038103f, 0.018613f, 0.036053f, -0.092424f, 0.082481f, 0.068017f, 0.028041f, -0.042937f, -0.002226f, -0.047609f, 0.036185f, 0.057199f, 0.027127f, 0.025170f, -0.002885f, 0.041964f, -0.063236f, 0.058609f, -0.015741f, -0.026616f, 0.076250f, 0.055033f, 0.007383f, -0.029376f, -0.055983f, 0.035687f, 0.053788f, -0.140387f, -0.001928f, -0.094626f, 0.050376f, 0.011902f, 0.033148f, 0.039211f, 0.056024f, 0.021500f, 0.020052f, -0.022690f, 0.030411f, 0.007635f, 0.066095f, -0.004692f, -0.015660f, 0.052036f, 0.041217f, -0.005842f, 0.006552f, -0.018723f, - 0.003992f, 0.018098f, -0.001485f, -0.010271f, 0.031708f, -0.020156f, 0.006443f, 0.040545f, -0.004656f, 0.024340f, -0.035303f, -0.005716f, 0.008963f, -0.013858f, -0.002378f, 0.006621f, 0.031794f, -0.004973f, -0.042610f, 0.003914f, 0.097069f, 0.021313f, -0.046159f, 0.017066f, -0.047036f, -0.033198f, -0.022069f, -0.005262f, 0.063912f, -0.004549f, -0.042534f, 0.097795f, -0.098905f, 0.019452f, 0.111019f, 0.013000f, 0.079736f, -0.055163f, -0.100744f, 0.036000f, 0.009344f, 0.086326f, 0.010466f, -0.046070f, 0.045626f, -0.009064f, -0.002054f, -0.018691f, 0.003893f, -0.028089f, 0.022850f, 0.005805f, 0.031729f, -0.034386f, -0.020248f, -0.009804f, 0.052314f, 0.020563f, -0.039536f, -0.219107f, -0.475374f, -0.201489f, -0.294556f, -0.421711f, 0.193896f, 0.037861f, 0.102650f, 0.548234f, 0.418233f, 0.234601f, 0.448188f, 0.328377f, 0.038991f, 0.094055f, 0.075573f, -0.243962f, -0.210822f, -0.114836f, -0.360455f, -0.346748f, -0.144812f, -0.188640f, -0.256010f, -0.120158f, -0.104688f, -0.261555f, -0.220145f, -0.038056f, -0.133702f, -0.215969f, -0.086176f, 0.040869f, -0.160442f, 0.021491f, 0.191668f, -0.036953f, - -0.048611f, 0.265068f, 0.210160f, -0.030494f, 0.316239f, 0.366689f, 0.139936f, 0.343616f, 0.493428f, 0.284804f, 0.248338f, 0.593082f, 0.473217f, 0.348802f, 0.420961f, 0.559709f, 0.193013f, 0.064940f, 0.229533f, -0.206658f, -0.558066f, -0.411359f, -0.614235f, -0.993089f, -0.884557f, -0.942476f, -1.087174f, -1.112119f, -0.951825f, -0.832858f, -0.825504f, -0.582218f, -0.244430f, -0.163321f, 0.001863f, 0.313772f, 0.578457f, 0.611424f, 0.730503f, 0.614709f, 0.402061f} - }, - { - {-0.000246f, -0.000125f, 0.000592f, -0.012374f, 0.002214f, -0.000343f, 0.000393f, -0.007583f, 0.002277f, -0.013588f, -0.007281f, 0.003431f, -0.002907f, 0.004367f, 0.007197f, -0.004373f, 0.005096f, -0.006870f, -0.000749f, 0.006236f, -0.001860f, 0.003853f, -0.010508f, 0.001281f, -0.000024f, 0.003145f, -0.002468f, 0.003660f, -0.005238f, -0.002844f, 0.003683f, -0.009042f, 0.002679f, 0.002601f, -0.002939f, -0.004941f, 0.013041f, -0.003018f, 0.003506f, -0.005229f, -0.001820f, 0.001758f, -0.010830f, -0.007003f, -0.005797f, -0.004128f, -0.005221f, -0.005334f, -0.000098f, 0.000268f, -0.005093f, 0.001782f, 0.000363f, 0.005152f, -0.004259f, -0.002033f, -0.000488f, 0.002273f, -0.002616f, -0.007328f, 0.007933f, 0.006107f, 0.003430f, -0.002293f, 0.003225f, 0.000714f, 0.004980f, -0.006074f, -0.011528f, -0.009813f, 0.001294f, -0.006024f, 0.004277f, 0.009353f, 0.002070f, 0.006179f, -0.016268f, 0.009110f, -0.012446f, 0.001143f, -0.005450f, -0.001941f, 0.004415f, -0.007863f, -0.013966f, -0.003841f, 0.000862f, -0.008188f, -0.004806f, 0.006271f, -0.004216f, 0.002705f, -0.017389f, -0.001837f, 0.011307f, 0.005793f, - -0.019409f, -0.006973f, -0.005281f, -0.005472f, 0.006214f, -0.003185f, -0.010217f, -0.006661f, -0.007367f, -0.007659f, 0.012386f, 0.003537f, 0.007903f, -0.005679f, 0.010459f, 0.009283f, 0.006707f, -0.004265f, -0.009256f, -0.007547f, 0.000563f, 0.001370f, 0.014340f, 0.004705f, 0.002593f, -0.007290f, 0.001418f, 0.000171f, 0.001512f, 0.005291f, 0.003270f, -0.010331f, -0.008510f, -0.004812f, 0.005191f, 0.000746f, -0.001962f, -0.011040f, -0.003314f, 0.003623f, 0.004693f, -0.004778f, -0.001677f, -0.000306f, 0.004995f, -0.001652f, -0.005632f, -0.000581f, 0.000748f, -0.007812f, 0.015237f, 0.000291f, -0.010521f, -0.000774f, -0.001889f, -0.010345f, -0.009354f, 0.010985f, 0.010062f, -0.007815f, 0.006114f, 0.000804f, 0.003215f, -0.026094f, 0.010309f, -0.003686f, -0.017843f, -0.023193f, 0.000748f, 0.017183f, 0.001131f, 0.011237f, 0.000507f, -0.020924f, -0.007223f, 0.002718f, 0.007491f, -0.003446f, -0.001743f, -0.008625f, 0.001243f, -0.001313f, 0.015026f, 0.007931f, 0.003223f, 0.003017f, 0.004098f, 0.005542f, 0.013672f, 0.008629f, -0.012057f, -0.000658f, 0.002799f, 0.003298f, -0.014367f, 0.005060f, - -0.004299f, -0.008671f, -0.002615f, 0.000035f, 0.009754f, 0.002958f, -0.005563f, 0.010390f, 0.015400f, -0.002818f, -0.005991f, 0.004229f, -0.001243f, 0.008972f, 0.008482f, 0.007282f, -0.010541f, -0.007348f, 0.007221f, -0.002576f, -0.002846f, -0.007362f, 0.000574f, -0.011192f, 0.006689f, 0.006974f, 0.007910f, 0.002814f, 0.009161f, -0.009741f, -0.007226f, 0.014362f, -0.000198f, 0.005920f, 0.014573f, 0.013126f, 0.000929f, 0.004914f, -0.011521f, -0.009851f, 0.005240f, -0.002939f, -0.004358f, -0.005529f, -0.005126f, 0.003768f, -0.013265f, -0.007785f, -0.016323f, -0.019667f, -0.003790f, 0.015785f, 0.010185f, -0.006838f, -0.002008f, -0.002579f, -0.003938f, -0.014289f, 0.009860f, -0.003859f, -0.003754f, 0.000511f, 0.006397f, -0.003522f, 0.000424f, -0.000875f, 0.009354f, -0.009191f, 0.009391f, 0.004786f, 0.011296f, -0.004330f, 0.008717f, 0.003485f, -0.005587f, 0.007510f, -0.005517f, 0.004110f, 0.008375f, -0.006893f, 0.008811f, -0.005833f, -0.004369f, -0.001887f, -0.002702f, 0.003915f, -0.002649f, -0.007363f, 0.002676f, -0.006502f, 0.001257f, 0.000139f, 0.000897f, 0.012719f, 0.002604f, -0.003833f, - 0.000088f, -0.006304f, -0.007650f, 0.003103f, -0.001804f, 0.011869f, 0.013127f, 0.004260f, -0.003548f, -0.003178f, -0.000004f, -0.006475f, -0.005871f, 0.005026f, 0.010384f, 0.025694f, -0.010668f, 0.010628f, -0.012889f, -0.010793f, 0.000182f, -0.002872f, -0.002647f, 0.003736f, -0.005360f, 0.011232f, 0.010893f, 0.009428f, -0.002662f, -0.001003f, -0.004705f, -0.011580f, 0.001946f, -0.006862f, -0.001211f, 0.001525f, -0.003853f, 0.006961f, 0.002635f, -0.000552f, -0.019373f, -0.007858f, -0.012178f, 0.000741f, -0.007939f, -0.012043f, -0.005323f, -0.006509f, -0.007458f, 0.012607f, -0.009731f, 0.008999f, 0.000833f, -0.003125f, 0.004931f, 0.004546f, -0.008715f, -0.002010f, 0.000265f, 0.009909f, -0.000819f, -0.012520f, -0.016367f, -0.016652f, 0.004544f, -0.005751f, 0.000467f, -0.000819f, 0.002571f, 0.006365f, 0.009616f, -0.005959f, -0.003382f, 0.003799f, 0.003380f, 0.001940f, 0.012050f, -0.005894f, 0.007499f, -0.012851f, 0.027003f, 0.004266f, -0.002736f, 0.006313f, 0.002701f, 0.006397f, -0.007353f, 0.000195f, 0.002129f, 0.001116f, -0.001644f, -0.010470f, -0.012201f, 0.002110f, 0.002617f, 0.001120f, - -0.001673f, -0.007194f, 0.004755f, 0.003848f, -0.010985f, 0.013540f, -0.016229f, 0.020675f, -0.001695f, 0.007080f, 0.003314f, -0.000150f, -0.001891f, 0.004459f, 0.019425f, 0.021702f, -0.003806f, 0.004112f, -0.002282f, -0.002801f, 0.003145f, 0.004791f, 0.015006f, -0.001636f, 0.004754f, -0.007219f, 0.008359f, 0.002005f, 0.011888f, 0.005822f, 0.011151f, -0.015462f, 0.006891f, 0.005895f, -0.004646f, 0.000014f, 0.012069f, 0.000217f, 0.001197f, 0.003740f, 0.007440f, -0.002295f, -0.000761f, 0.022866f, 0.011073f, 0.002121f, 0.002311f, -0.004667f, 0.010554f, -0.013679f, -0.019928f, -0.024340f, -0.001305f, 0.012834f, -0.000219f, 0.006376f, 0.017485f, 0.006801f, -0.002948f, -0.006185f, 0.009327f, -0.001927f, 0.022329f, 0.009834f, 0.003287f, 0.002872f, -0.012265f, 0.002273f, 0.008960f, -0.005066f, -0.014156f, 0.001968f, 0.003572f, -0.028590f, 0.004311f, -0.001136f, 0.021516f, -0.014154f, 0.010093f, -0.030363f, 0.013542f, -0.001882f, -0.014861f, -0.016534f, -0.011138f, 0.010468f, 0.008537f, 0.024947f, 0.004382f, 0.009019f, 0.024084f, -0.002911f, -0.015384f, 0.003555f, -0.011552f, 0.004188f, - 0.019914f, 0.004519f, -0.003927f, -0.001167f, -0.002249f, 0.006530f, 0.008556f, -0.000486f, 0.006185f, 0.010653f, -0.004610f, 0.004093f, -0.009860f, 0.000181f, -0.012668f, -0.001153f, 0.003388f, -0.005625f, 0.011901f, 0.008178f, 0.010396f, 0.018760f, 0.002693f, 0.022487f, 0.017983f, 0.009025f, -0.009486f, 0.025658f, 0.012249f, 0.005449f, 0.023247f, -0.001197f, 0.002277f, 0.002984f, 0.008997f, -0.003257f, -0.004350f, -0.013463f, -0.012247f, -0.010306f, 0.002242f, -0.007776f, 0.021103f, -0.009869f, 0.010184f, 0.013424f, -0.004053f, 0.002444f, -0.002597f, -0.001023f, -0.015357f, -0.018552f, 0.013535f, 0.000273f, 0.024932f, 0.001027f, 0.000352f, -0.002205f, -0.004823f, 0.004579f, 0.001059f, -0.012560f, -0.016248f, -0.021891f, -0.011548f, -0.022892f, -0.014671f, -0.007668f, -0.017082f, -0.010584f, -0.007491f, -0.008640f, -0.023102f, 0.016075f, 0.009868f, 0.000863f, 0.008289f, 0.004134f, -0.006462f, 0.028968f, 0.001700f, -0.009537f, -0.005262f, -0.019024f, -0.008417f, 0.021748f, 0.000970f, -0.017440f, -0.017955f, 0.003099f, -0.018169f, 0.006333f, 0.006293f, -0.013534f, 0.000509f, 0.005022f, - 0.000963f, 0.021651f, 0.006263f, -0.008875f, 0.002114f, -0.010728f, 0.010612f, 0.002331f, 0.004735f, -0.024782f, 0.017777f, -0.007866f, 0.007492f, 0.001626f, 0.003599f, 0.005330f, 0.000887f, -0.006265f, -0.000292f, -0.008705f, 0.000412f, -0.018793f, 0.000395f, -0.020239f, 0.029437f, -0.003121f, 0.019163f, -0.011460f, -0.005178f, -0.000568f, -0.012390f, -0.004945f, 0.013368f, 0.003375f, 0.003016f, -0.012912f, -0.000228f, 0.009250f, -0.024697f, -0.000124f, -0.010808f, -0.008576f, 0.017113f, -0.028340f, -0.026955f, 0.006898f, 0.035313f, 0.000871f, 0.003079f, 0.002714f, -0.005756f, 0.019485f, 0.018570f, 0.010945f, 0.004986f, -0.005104f, -0.029345f, 0.017197f, -0.000294f, -0.023119f, -0.007950f, 0.005455f, -0.001674f, 0.000290f, 0.001833f, -0.005470f, -0.023400f, -0.001157f, 0.000322f, -0.004027f, -0.010189f, 0.007013f, 0.019103f, -0.025363f, 0.015149f, -0.009379f, -0.005604f, 0.001733f, 0.011762f, 0.041738f, -0.027751f, -0.006515f, 0.001660f, -0.002392f, -0.005961f, 0.001660f, -0.011420f, 0.003889f, -0.010513f, 0.028865f, 0.008490f, 0.005696f, 0.006435f, -0.005659f, -0.003224f, 0.015502f, - -0.004111f, 0.006988f, -0.014488f, 0.022357f, -0.001189f, -0.015025f, 0.028181f, -0.019003f, 0.011265f, 0.004585f, 0.003584f, 0.022908f, -0.013060f, 0.010191f, -0.006774f, 0.000462f, 0.030387f, 0.002409f, 0.007938f, 0.009052f, -0.005067f, -0.017423f, -0.013696f, 0.002163f, 0.030370f, 0.017288f, 0.003734f, -0.027074f, 0.003904f, -0.014842f, 0.000073f, 0.030491f, 0.029201f, 0.014879f, 0.019726f, -0.017691f, -0.036941f, -0.019182f, -0.026639f, 0.014908f, -0.000307f, -0.004324f, -0.000150f, -0.019942f, -0.006031f, 0.006433f, -0.003842f, -0.007426f, -0.007506f, 0.021774f, -0.001461f, 0.006123f, -0.006195f, 0.014404f, 0.002912f, -0.007832f, -0.017208f, -0.012813f, 0.038882f, -0.001309f, -0.008911f, 0.012854f, -0.022377f, 0.007422f, -0.012860f, -0.038436f, -0.008852f, -0.004543f, 0.011647f, 0.005081f, 0.010205f, 0.003909f, 0.015244f, 0.001262f, 0.000902f, 0.009280f, -0.038217f, -0.005171f, -0.010422f, -0.001783f, 0.003464f, 0.022885f, 0.023869f, 0.009877f, -0.006608f, -0.015293f, -0.022191f, -0.005790f, -0.013231f, 0.004555f, -0.006744f, -0.004735f, -0.014417f, -0.043059f, -0.027851f, -0.005730f, - -0.009584f, 0.023405f, 0.016305f, -0.002727f, 0.039548f, -0.038123f, -0.008263f, -0.013763f, 0.042163f, 0.020835f, -0.012745f, 0.016265f, 0.006622f, -0.015028f, 0.029354f, -0.030396f, 0.016392f, -0.013393f, 0.003265f, 0.004559f, -0.009708f, 0.028710f, -0.018576f, 0.018106f, -0.007281f, -0.039325f, -0.005947f, 0.029572f, -0.016372f, -0.026393f, 0.001147f, -0.002124f, -0.040655f, -0.006374f, 0.017379f, 0.008465f, 0.022844f, 0.017712f, -0.003929f, 0.041363f, -0.008788f, -0.010685f, -0.018853f, -0.016593f, -0.016910f, 0.012661f, 0.015609f, -0.011017f, -0.013741f, 0.006675f, -0.011829f, 0.018712f, -0.003889f, 0.011196f, -0.006081f, -0.008089f, -0.007259f, 0.002204f, -0.022766f, 0.008977f, 0.017569f, -0.001088f, 0.007950f, 0.013320f, 0.012610f, 0.025185f, -0.014933f, 0.011021f, 0.017358f, 0.002638f, -0.035611f, 0.033851f, -0.017562f, -0.047822f, 0.002564f, 0.038093f, 0.048005f, 0.010869f, -0.014465f, -0.010289f, 0.007072f, -0.005804f, -0.004815f, 0.022414f, 0.022763f, -0.007613f, 0.022070f, -0.022520f, -0.000590f, 0.020348f, -0.006283f, 0.024151f, 0.012745f, -0.000600f, -0.027384f, 0.013885f, - -0.004431f, -0.004652f, 0.004142f, 0.000250f, -0.000541f, 0.043568f, -0.017495f, 0.023499f, 0.037919f, 0.026981f, 0.015630f, 0.003076f, -0.020408f, 0.025924f, -0.010112f, 0.024874f, -0.009526f, 0.007885f, -0.021392f, -0.001882f, -0.019965f, -0.012280f, 0.006730f, -0.018534f, -0.002618f, -0.004440f, 0.002567f, 0.022300f, -0.018969f, -0.016140f, -0.003338f, -0.007755f, -0.000655f, -0.015701f, -0.020719f, -0.027401f, 0.007520f, 0.028028f, 0.003002f, -0.011188f, 0.007623f, 0.009577f, 0.024668f, -0.016295f, -0.005981f, -0.001456f, 0.006381f, 0.020325f, 0.008423f, 0.011059f, -0.004051f, 0.004123f, 0.024830f, -0.084627f, -0.040478f, 0.027564f, -0.069174f, -0.048139f, -0.003535f, -0.028558f, -0.019674f, 0.020425f, 0.023530f, 0.006793f, -0.004844f, 0.008118f, 0.068179f, -0.008990f, 0.010554f, 0.025819f, 0.029686f, -0.031898f, -0.016647f, -0.015442f, 0.024926f, 0.027013f, 0.013490f, 0.004435f, 0.025497f, -0.008281f, -0.013375f, 0.017499f, 0.034649f, 0.001792f, 0.010927f, 0.034926f, 0.025894f, 0.020704f, -0.016407f, 0.005998f, 0.010386f, -0.000841f, -0.001010f, 0.022090f, -0.007938f, -0.001169f, - -0.002767f, 0.014455f, 0.000101f, -0.025869f, -0.017245f, 0.004160f, -0.034506f, 0.024870f, -0.008109f, 0.055993f, 0.001663f, 0.030298f, 0.005533f, -0.002268f, -0.019060f, -0.001788f, 0.006500f, -0.024953f, -0.013267f, -0.028977f, -0.004548f, 0.013540f, 0.018446f, -0.009305f, -0.047042f, 0.015930f, -0.008804f, 0.015189f, -0.018225f, -0.019581f, 0.012149f, -0.028709f, -0.025275f, 0.047693f, 0.035262f, -0.014408f, -0.038331f, 0.018085f, -0.019475f, 0.009797f, 0.000616f, -0.018478f, 0.037467f, -0.047394f, -0.000857f, -0.057445f, 0.002586f, 0.048604f, 0.067465f, 0.032598f, -0.010214f, 0.031904f, -0.001143f, -0.002977f, 0.004495f, -0.003897f, 0.017518f, -0.000687f, -0.029800f, 0.003178f, -0.041872f, 0.016579f, -0.012072f, -0.008183f, 0.030217f, 0.000888f, -0.031834f, -0.035551f, 0.009951f, 0.006693f, -0.017083f, -0.013762f, 0.029194f, -0.038496f, 0.001253f, -0.006346f, 0.015699f, -0.008946f, -0.007149f, -0.030220f, -0.012041f, -0.012163f, -0.004311f, 0.025319f, -0.025730f, 0.012169f, -0.001509f, -0.002344f, 0.005545f, 0.012588f, -0.044497f, -0.002150f, 0.008474f, -0.001067f, 0.019524f, -0.011326f, - -0.018094f, -0.005684f, -0.049406f, -0.018826f, -0.019789f, 0.005818f, 0.025455f, 0.038991f, -0.012206f, 0.031963f, -0.039205f, 0.077980f, 0.010003f, -0.000857f, 0.044853f, -0.014264f, 0.042723f, 0.002455f, -0.030463f, -0.000642f, -0.004593f, 0.019848f, 0.013072f, -0.018550f, 0.021498f, 0.000450f, -0.047976f, -0.052192f, -0.004994f, -0.015671f, 0.013047f, -0.002167f, -0.018450f, -0.047016f, -0.041087f, 0.022502f, -0.034964f, -0.007746f, 0.002206f, 0.011173f, 0.002603f, 0.033699f, 0.002800f, -0.016853f, 0.022479f, -0.002854f, 0.003262f, 0.020923f, -0.027412f, -0.001638f, 0.005890f, -0.027766f, 0.016885f, 0.023398f, 0.010052f, 0.020856f, 0.010705f, 0.032208f, 0.008632f, 0.023525f, -0.032844f, -0.009962f, -0.005367f, -0.043646f, -0.000410f, -0.004449f, 0.018179f, -0.002613f, 0.020828f, -0.003156f, -0.025793f, -0.016968f, -0.001675f, -0.040201f, 0.017380f, 0.001587f, -0.008421f, 0.024264f, 0.014401f, 0.020289f, 0.019674f, 0.006870f, -0.003473f, 0.017881f, -0.056392f, 0.017392f, 0.005203f, 0.025340f, -0.012154f, -0.038349f, 0.020791f, -0.006023f, 0.033770f, -0.055268f, 0.029152f, 0.027033f, - 0.098902f, 0.074745f, 0.010096f, 0.021676f, 0.006238f, 0.057437f, 0.001533f, 0.027966f, -0.026144f, 0.068033f, -0.027013f, 0.061701f, -0.002855f, 0.039422f, -0.004682f, 0.027828f, -0.027768f, 0.006684f, 0.013766f, -0.015144f, -0.005101f, -0.008129f, -0.006544f, 0.018415f, 0.000262f, -0.015866f, -0.022072f, -0.033003f, -0.042206f, -0.020184f, -0.007320f, 0.000254f, 0.012933f, -0.035377f, 0.014683f, -0.019479f, -0.030373f, -0.006266f, -0.022325f, 0.009994f, -0.005776f, -0.046062f, -0.011428f, -0.023449f, -0.028267f, -0.029184f, 0.025857f, 0.035264f, -0.074569f, 0.016677f, 0.005824f, 0.020650f, 0.006489f, -0.009448f, 0.043770f, 0.024999f, 0.022326f, -0.062037f, -0.028904f, -0.001040f, 0.013837f, 0.050931f, 0.000268f, -0.007271f, 0.000520f, 0.042942f, 0.036588f, -0.037504f, 0.038703f, 0.002307f, 0.005361f, -0.008202f, 0.018492f, -0.054479f, -0.030659f, 0.023624f, -0.014275f, 0.020124f, 0.033284f, -0.045136f, 0.009395f, -0.027318f, 0.065836f, -0.044634f, 0.035666f, 0.032540f, -0.017269f, -0.068385f, -0.041235f, -0.007879f, -0.020770f, -0.005547f, -0.033243f, -0.050835f, -0.066344f, -0.039644f, - -0.045369f, 0.014380f, -0.039330f, 0.011209f, 0.000674f, -0.007818f, -0.007295f, -0.033180f, -0.012722f, -0.034008f, 0.005243f, 0.023260f, 0.031747f, -0.003159f, -0.013639f, -0.034892f, -0.011134f, -0.000772f, -0.022240f, 0.001376f, -0.029294f, -0.020540f, -0.007521f, -0.029271f, 0.016079f, -0.026360f, -0.069978f, -0.001619f, -0.006148f, -0.025906f, 0.023899f, 0.017843f, 0.027692f, 0.008043f, 0.020708f, 0.046670f, 0.003892f, -0.055146f, -0.016497f, 0.019356f, -0.016367f, -0.046807f, 0.017985f, 0.028645f, 0.005200f, -0.005199f, -0.063759f, 0.045763f, -0.010069f, 0.036086f, -0.043532f, 0.036163f, 0.091928f, -0.015829f, -0.018891f, -0.080452f, 0.028206f, -0.105681f, 0.070882f, 0.026017f, -0.017685f, 0.075831f, -0.006765f, -0.037197f, 0.066822f, -0.024562f, -0.003331f, 0.015141f, 0.023458f, 0.062585f, 0.002636f, -0.003787f, 0.043426f, 0.019685f, 0.036392f, 0.045923f, 0.032955f, 0.004449f, 0.022909f, 0.005109f, -0.002627f, -0.022905f, 0.015227f, 0.024967f, 0.005152f, 0.000224f, -0.026969f, 0.014340f, -0.025417f, 0.031466f, 0.028490f, 0.006903f, 0.033687f, -0.019485f, 0.021779f, 0.037853f, - 0.021684f, -0.046524f, -0.053518f, 0.063279f, -0.007493f, 0.040393f, 0.057748f, 0.003544f, -0.001863f, -0.004006f, 0.009565f, 0.036603f, 0.030287f, 0.005695f, 0.024503f, 0.002347f, -0.033851f, -0.036253f, -0.060451f, 0.003416f, -0.026848f, 0.003259f, 0.028371f, 0.032826f, -0.058115f, 0.007053f, 0.015514f, -0.044512f, 0.001707f, 0.067671f, -0.035557f, -0.030409f, 0.026131f, -0.036025f, -0.003292f, -0.011727f, 0.006683f, -0.038233f, 0.007190f, -0.044104f, 0.087414f, 0.020714f, -0.048435f, 0.017007f, -0.012157f, -0.043057f, -0.050802f, -0.051279f, 0.013673f, -0.003397f, 0.043162f, 0.064977f, 0.030378f, 0.015084f, -0.009288f, 0.021019f, 0.000756f, -0.083738f, 0.034996f, 0.085284f, -0.057766f, -0.060061f, -0.052601f, -0.073219f, 0.050935f, -0.072098f, 0.030625f, -0.000323f, -0.010421f, -0.001244f, -0.024690f, -0.028358f, 0.033836f, -0.074125f, 0.073832f, 0.042494f, 0.008410f, -0.049042f, -0.038093f, -0.032756f, 0.005115f, 0.011789f, -0.032885f, -0.005154f, -0.024731f, 0.051066f, 0.021850f, -0.010277f, -0.003267f, 0.020402f, 0.003101f, 0.023357f, -0.044151f, -0.017918f, -0.005739f, -0.008732f, - -0.041134f, -0.029142f, 0.021886f, -0.076644f, -0.045806f, 0.003961f, 0.086487f, 0.040310f, -0.027854f, -0.004288f, -0.067434f, 0.029401f, 0.102016f, -0.000359f, -0.019908f, -0.020692f, -0.039244f, -0.001683f, -0.043022f, -0.030152f, -0.084217f, 0.016271f, -0.062558f, -0.092463f, 0.019447f, 0.048509f, 0.010452f, 0.011830f, -0.040335f, -0.049663f, -0.014426f, -0.072770f, -0.036945f, 0.017051f, -0.061557f, 0.092351f, 0.016282f, -0.024535f, 0.018176f, -0.046415f, -0.090925f, -0.031216f, -0.070029f, 0.009441f, 0.017824f, -0.026254f, -0.050413f, -0.025792f, -0.031895f, 0.024868f, -0.037540f, -0.014113f, -0.006667f, 0.039055f, -0.031112f, -0.006365f, -0.015641f, 0.009269f, 0.014744f, 0.002127f, -0.014038f, 0.040581f, 0.052189f, 0.033870f, -0.029723f, -0.023444f, -0.081642f, -0.044980f, -0.020102f, 0.020588f, 0.132115f, -0.023307f, -0.000146f, 0.059315f, -0.007016f, 0.025208f, -0.031915f, -0.031761f, -0.026892f, 0.028400f, -0.076584f, 0.000859f, -0.010622f, -0.000466f, 0.065366f, -0.028013f, 0.099770f, 0.009853f, 0.077005f, -0.094108f, -0.024697f, 0.030085f, 0.005918f, -0.035508f, -0.006029f, -0.083344f, - 0.038051f, 0.059070f, -0.044771f, -0.037231f, -0.013286f, -0.040824f, -0.048528f, 0.011309f, 0.013154f, 0.035505f, 0.000747f, 0.030778f, 0.056625f, 0.058382f, 0.038983f, 0.012116f, -0.044755f, 0.002594f, 0.022110f, 0.028529f, 0.045897f, -0.001392f, -0.024839f, -0.037075f, -0.013948f, 0.045230f, -0.020067f, 0.016453f, 0.040429f, 0.001805f, 0.080083f, 0.006962f, -0.052154f, 0.042079f, 0.043349f, 0.010122f, 0.018336f, 0.038124f, 0.005891f, 0.000653f, -0.047927f, 0.099213f, -0.109551f, -0.083137f, -0.093570f, -0.033990f, 0.018512f, -0.058006f, 0.027304f, 0.057345f, -0.018866f, 0.002195f, 0.052866f, 0.013178f, -0.059142f, -0.024429f, -0.046071f, -0.010941f, 0.002229f, -0.001809f, 0.050695f, 0.045964f, -0.013133f, -0.018387f, 0.031077f, 0.072694f, 0.011927f, 0.058194f, -0.056428f, 0.050294f, -0.027105f, 0.010866f, -0.012839f, -0.046461f, -0.023097f, -0.046223f, -0.093253f, -0.093899f, -0.067832f, 0.014221f, 0.175248f, 0.044428f, -0.023770f, -0.052679f, -0.126013f, -0.177596f, 0.040548f, 0.073813f, 0.088830f, -0.018434f, 0.008127f, -0.051977f, -0.090200f, 0.026296f, 0.016998f, 0.029649f, - 0.004831f, -0.075934f, -0.022636f, 0.018705f, -0.014649f, -0.002887f, -0.013704f, 0.099215f, 0.087760f, 0.058788f, -0.004589f, -0.042439f, -0.071415f, -0.047726f, -0.042344f, 0.067795f, -0.010268f, 0.049634f, 0.023419f, 0.023297f, -0.029369f, -0.164577f, -0.112216f, 0.056088f, -0.087969f, -0.030342f, 0.191331f, 0.130748f, 0.099595f, -0.074296f, 0.055307f, -0.051419f, 0.005430f, 0.003898f, 0.029365f, 0.080722f, 0.143968f, -0.054247f, -0.002972f, -0.093517f, -0.073398f, -0.123808f, 0.015918f, -0.004985f, -0.130773f, -0.031853f, 0.088879f, 0.032213f, 0.063155f, 0.081359f, 0.149908f, -0.106830f, -0.060699f, 0.008212f, -0.084681f, 0.034899f, -0.078727f, -0.241100f, -0.225043f, -0.132642f, -0.143697f, -0.041999f, 0.215644f, 0.105658f, 0.222078f, 0.196473f, 0.312222f, 0.220969f, 0.188464f, 0.023691f, -0.094219f, -0.201490f, -0.318650f, -0.271234f, -0.273821f, -0.146508f, -0.075264f, -0.023515f, -0.006568f, -0.000212f, 0.045919f, 0.065379f, 0.175631f, 0.104336f, 0.208826f, 0.134198f, 0.177710f, 0.059982f, 0.171382f, 0.055200f, 0.035150f, 0.035331f, -0.019721f, -0.057854f, -0.131089f, -0.147972f, - -0.270552f, -0.186114f, -0.340449f, -0.268998f, -0.411291f, -0.245094f, -0.198345f, -0.052111f, 0.101350f, 0.052551f, 0.000737f, 0.104366f, 0.226611f, 0.309376f, 0.403805f, 0.487058f, 0.412043f, 0.302934f, 0.374559f, 0.312407f, 0.168317f, 0.076303f, -0.028816f, -0.134624f, -0.314492f, -0.364143f, -0.494686f, -0.626851f, -0.734404f, -0.651958f, -0.585112f, -0.403252f, -0.286759f, 0.102712f, 0.269038f, 0.375690f, 0.469566f, 0.298396f, 0.198381f}, - {0.008274f, -0.003285f, 0.004846f, -0.012740f, -0.001221f, -0.004851f, 0.006044f, 0.001098f, -0.005217f, 0.007805f, -0.006884f, -0.001734f, 0.006210f, -0.002438f, 0.002703f, -0.010549f, -0.001854f, -0.001329f, -0.011036f, 0.001401f, 0.000151f, -0.000373f, 0.003080f, -0.005560f, 0.001310f, -0.002029f, -0.000708f, 0.011497f, -0.001256f, -0.007934f, -0.003791f, 0.000763f, 0.002716f, -0.007655f, 0.001994f, -0.005791f, -0.000128f, -0.002228f, -0.003490f, 0.006315f, 0.006160f, -0.004409f, 0.008160f, 0.008300f, -0.010337f, -0.001738f, -0.001092f, -0.009697f, -0.004175f, -0.006715f, -0.007642f, 0.001699f, 0.001843f, -0.000955f, 0.000874f, 0.003636f, 0.003931f, -0.002167f, 0.001250f, 0.003518f, 0.009760f, 0.005613f, 0.004378f, -0.004932f, 0.000434f, -0.002756f, 0.006093f, -0.006917f, -0.004986f, 0.005359f, -0.003193f, 0.005810f, -0.006740f, -0.003320f, -0.002268f, -0.004094f, -0.022622f, 0.007968f, -0.013016f, 0.006553f, -0.007475f, -0.015034f, -0.025701f, 0.004140f, 0.000460f, 0.006052f, 0.005334f, -0.002115f, -0.002146f, 0.001572f, 0.015085f, -0.011255f, -0.019723f, 0.006096f, -0.008306f, -0.013397f, - -0.000018f, -0.002307f, 0.007818f, 0.002508f, 0.005519f, -0.006227f, -0.001673f, -0.004213f, 0.012876f, -0.003941f, -0.005484f, -0.005035f, -0.002489f, -0.003539f, -0.005421f, -0.005021f, -0.003373f, 0.002208f, 0.000973f, 0.001328f, 0.000327f, 0.003021f, 0.005454f, 0.002435f, -0.005021f, -0.015157f, -0.000201f, -0.010655f, 0.001466f, -0.001080f, -0.004677f, 0.006230f, 0.000486f, -0.000329f, -0.014643f, -0.006384f, 0.002090f, -0.001517f, 0.005313f, 0.000022f, 0.004808f, -0.004614f, 0.002202f, -0.002178f, 0.009474f, -0.003520f, 0.005285f, -0.008394f, -0.007444f, -0.010448f, 0.001343f, -0.002573f, -0.001877f, 0.000052f, -0.002042f, -0.016047f, -0.003386f, -0.002162f, -0.004624f, -0.002100f, -0.005564f, 0.005246f, -0.002277f, -0.001893f, -0.000584f, 0.000093f, -0.000462f, -0.003858f, 0.014005f, 0.009106f, 0.014634f, -0.006915f, 0.014554f, -0.008701f, -0.006304f, 0.005760f, 0.016114f, -0.000315f, -0.010095f, -0.014542f, -0.010707f, -0.001952f, 0.011396f, 0.004645f, 0.003693f, 0.005248f, -0.005366f, 0.008013f, 0.000740f, 0.006024f, -0.003165f, -0.013178f, 0.003328f, -0.009068f, -0.006609f, -0.006310f, - -0.001854f, -0.016727f, -0.001112f, 0.000971f, -0.007400f, 0.015965f, -0.003348f, -0.004897f, -0.006710f, 0.000060f, 0.001360f, -0.006526f, -0.000161f, -0.008039f, -0.003524f, 0.000500f, -0.003833f, 0.011635f, -0.000073f, -0.002741f, 0.005924f, 0.004417f, 0.010070f, 0.004596f, 0.012192f, 0.003522f, 0.009891f, -0.011322f, 0.002634f, 0.009947f, -0.003621f, -0.007778f, -0.011925f, 0.000628f, -0.001098f, 0.018140f, -0.008155f, -0.006267f, 0.001872f, -0.003979f, -0.002936f, 0.009120f, -0.006994f, 0.008781f, 0.004074f, 0.000238f, 0.004527f, -0.005808f, -0.005505f, -0.010224f, -0.010987f, 0.014607f, 0.006963f, 0.005160f, 0.007868f, -0.005066f, -0.003324f, -0.003723f, 0.018481f, -0.007096f, 0.020223f, -0.000659f, -0.005043f, -0.004834f, -0.010581f, -0.011462f, -0.013832f, -0.000856f, -0.003417f, 0.002516f, 0.013541f, -0.001156f, -0.006211f, -0.018776f, 0.000748f, 0.014874f, 0.021972f, -0.010306f, 0.005746f, 0.003978f, -0.005465f, -0.005016f, 0.005808f, 0.020643f, -0.004842f, 0.003161f, -0.001672f, -0.003149f, -0.001834f, 0.009793f, 0.014459f, -0.011047f, -0.005785f, 0.004233f, 0.018927f, 0.002878f, - 0.013440f, -0.011205f, -0.009983f, -0.000940f, -0.001559f, 0.003338f, 0.002961f, -0.000839f, 0.001267f, 0.001189f, -0.004849f, 0.001269f, 0.006063f, 0.003212f, -0.003934f, 0.029189f, -0.020967f, -0.005051f, -0.009024f, 0.001786f, 0.007383f, 0.013736f, -0.014804f, 0.009243f, -0.004261f, -0.015648f, -0.024961f, -0.005557f, -0.010913f, 0.001179f, -0.002868f, -0.010891f, -0.005815f, 0.005130f, 0.005491f, 0.018525f, 0.010056f, 0.009138f, 0.000457f, 0.002439f, -0.010445f, -0.007292f, 0.014793f, 0.011151f, 0.007419f, 0.003089f, 0.006797f, 0.000958f, -0.000507f, -0.013445f, -0.018713f, 0.011492f, -0.005427f, -0.012857f, -0.006423f, -0.008339f, 0.005869f, -0.007439f, 0.014775f, 0.002858f, -0.009534f, -0.005047f, -0.007476f, -0.006637f, 0.006830f, 0.010555f, -0.001698f, 0.006838f, -0.006355f, -0.007065f, -0.000754f, 0.000672f, -0.006809f, -0.003220f, 0.007999f, -0.000843f, -0.004638f, -0.005386f, 0.003800f, 0.004320f, -0.001838f, 0.005352f, -0.000381f, -0.005931f, 0.013894f, -0.003681f, -0.000062f, -0.001043f, -0.020729f, 0.004880f, 0.002672f, 0.005412f, -0.019484f, 0.006023f, 0.001001f, -0.005209f, - -0.010320f, 0.005443f, -0.009830f, -0.001144f, 0.019124f, 0.028601f, 0.014462f, 0.016090f, -0.000371f, -0.006900f, 0.012257f, 0.011103f, 0.005108f, 0.006315f, 0.014462f, -0.001191f, 0.010723f, 0.010497f, 0.014972f, 0.014465f, -0.010403f, 0.009979f, 0.000032f, 0.004057f, -0.009647f, 0.004026f, -0.000648f, 0.010179f, -0.002867f, -0.001763f, -0.006604f, 0.007661f, -0.010649f, -0.008355f, 0.001646f, 0.010689f, 0.006066f, -0.004980f, -0.002343f, -0.000886f, -0.003194f, 0.006860f, -0.012991f, 0.013564f, 0.000632f, 0.016659f, -0.021567f, 0.002581f, -0.019367f, -0.005289f, -0.005730f, 0.006533f, -0.001456f, -0.003464f, 0.005020f, 0.002798f, 0.005998f, 0.009843f, 0.014772f, -0.000521f, -0.010889f, 0.003758f, 0.019614f, 0.005287f, -0.005153f, 0.000063f, 0.012074f, -0.004667f, 0.007249f, -0.004376f, -0.020814f, 0.013365f, 0.010908f, -0.030717f, 0.000323f, -0.006985f, 0.002626f, -0.017320f, 0.001916f, 0.002576f, 0.022495f, -0.018387f, 0.000083f, -0.024590f, 0.005407f, -0.014982f, -0.003704f, 0.000591f, -0.008073f, 0.006712f, 0.003014f, -0.013066f, 0.000150f, -0.000544f, 0.011698f, -0.008062f, - 0.018900f, -0.000614f, -0.016490f, -0.008791f, 0.020140f, -0.002361f, 0.008049f, 0.004934f, -0.003351f, 0.011612f, -0.013365f, -0.013115f, -0.009832f, 0.000884f, -0.012779f, 0.013079f, -0.007469f, 0.008182f, -0.012354f, -0.000708f, -0.015008f, 0.009299f, 0.001375f, 0.011230f, 0.010641f, -0.010666f, 0.019965f, 0.016298f, 0.016097f, 0.002468f, 0.016906f, 0.013089f, -0.014181f, 0.011480f, 0.005952f, 0.000316f, -0.013146f, 0.005247f, -0.011167f, 0.010269f, -0.004734f, -0.009872f, -0.000967f, 0.015633f, 0.006052f, -0.020356f, 0.018420f, -0.002793f, -0.006387f, -0.012469f, 0.018703f, 0.014224f, -0.014012f, 0.010231f, 0.044373f, 0.008232f, -0.000914f, -0.014180f, -0.027389f, 0.008043f, -0.003336f, -0.040560f, 0.037144f, -0.016746f, -0.025460f, 0.006414f, -0.000861f, 0.005764f, -0.000880f, 0.007921f, 0.011295f, 0.001029f, 0.000153f, -0.020260f, -0.000935f, -0.001095f, 0.025778f, -0.003632f, 0.001479f, 0.010125f, -0.003544f, -0.002115f, -0.009314f, 0.022281f, -0.015140f, 0.016389f, -0.002946f, -0.011753f, 0.003250f, -0.013236f, -0.006387f, -0.022118f, 0.004962f, 0.011732f, -0.005378f, -0.010446f, - -0.008252f, 0.015165f, -0.020813f, -0.003948f, -0.009784f, 0.000928f, -0.002167f, 0.004106f, -0.017883f, 0.019692f, -0.024747f, -0.016213f, 0.007995f, 0.004559f, 0.000067f, 0.008401f, -0.012273f, -0.017594f, 0.003497f, -0.003507f, 0.000283f, 0.011267f, -0.010261f, 0.010533f, 0.007246f, 0.023355f, -0.004480f, 0.005444f, -0.000108f, 0.003039f, 0.031109f, 0.005707f, 0.031190f, -0.002738f, -0.007645f, -0.033030f, -0.005251f, -0.007593f, -0.026970f, -0.045737f, 0.012726f, 0.022053f, -0.017377f, -0.009003f, 0.012102f, -0.005967f, 0.026810f, -0.004266f, -0.015834f, -0.010037f, -0.042559f, 0.012861f, 0.003746f, -0.005010f, -0.030153f, 0.005671f, -0.017171f, -0.005541f, -0.015172f, -0.008581f, 0.019875f, -0.021230f, 0.007717f, -0.030834f, 0.018034f, 0.002412f, -0.000468f, -0.009895f, 0.001403f, -0.005267f, -0.017306f, -0.032517f, 0.005238f, -0.001430f, 0.005879f, 0.011503f, -0.008304f, -0.004058f, -0.020721f, -0.011897f, -0.006068f, 0.006792f, 0.005032f, 0.013000f, 0.022859f, 0.016595f, 0.008823f, 0.012155f, 0.003653f, 0.012658f, 0.012581f, -0.014907f, 0.014531f, 0.014834f, -0.004012f, 0.020467f, - -0.002843f, 0.024244f, -0.012256f, -0.031509f, -0.005047f, 0.015332f, 0.019931f, 0.019837f, -0.004632f, -0.043981f, -0.004024f, -0.006652f, 0.001797f, -0.006927f, -0.009021f, -0.001779f, 0.042749f, -0.009409f, -0.010228f, 0.014223f, 0.023063f, -0.001704f, 0.010782f, 0.026570f, 0.019342f, -0.043849f, -0.040090f, 0.000203f, -0.003738f, 0.005745f, -0.017824f, -0.032095f, 0.007738f, 0.025381f, 0.017080f, -0.018763f, 0.030292f, 0.024055f, 0.023037f, -0.038642f, 0.011080f, 0.019781f, 0.001270f, 0.002696f, 0.017370f, 0.039107f, -0.007371f, -0.018495f, 0.012262f, 0.008480f, -0.005091f, 0.020837f, 0.032184f, 0.005394f, 0.033343f, 0.013832f, -0.024462f, 0.002140f, 0.027729f, -0.003664f, -0.010894f, 0.013425f, 0.002655f, 0.004575f, 0.029122f, 0.017572f, 0.010169f, 0.002455f, -0.032974f, -0.035031f, -0.002428f, 0.004275f, 0.009312f, -0.011697f, -0.001032f, -0.010098f, 0.003455f, 0.002819f, -0.012238f, 0.003269f, -0.007286f, -0.003694f, -0.010240f, -0.000674f, 0.021896f, -0.014688f, -0.029923f, -0.007221f, -0.025149f, 0.002891f, -0.008004f, -0.004223f, -0.001295f, -0.074018f, -0.047155f, -0.016145f, - 0.010345f, -0.007060f, -0.020431f, 0.000490f, -0.019971f, 0.047248f, -0.022843f, 0.029317f, 0.046713f, 0.023975f, 0.021698f, -0.022079f, 0.014876f, -0.012384f, -0.025470f, 0.017081f, 0.020660f, 0.012552f, 0.030628f, -0.002691f, -0.004331f, -0.017603f, -0.017640f, -0.015806f, -0.023309f, -0.023155f, -0.016448f, 0.004723f, 0.000171f, -0.003231f, -0.015643f, -0.010180f, -0.022706f, 0.005252f, -0.019979f, -0.018913f, -0.009702f, 0.005218f, -0.002773f, -0.013867f, -0.031887f, 0.000228f, -0.011346f, 0.007262f, -0.037158f, -0.030035f, 0.027457f, -0.008039f, -0.008610f, -0.017459f, -0.011366f, 0.019092f, 0.004510f, -0.008306f, 0.009550f, -0.007081f, 0.010017f, 0.006481f, 0.011799f, -0.014428f, -0.020366f, -0.047743f, 0.000008f, -0.046522f, -0.005971f, -0.040102f, -0.008314f, 0.029762f, -0.007424f, 0.001751f, -0.027271f, 0.050015f, 0.001786f, -0.034677f, -0.029404f, 0.031790f, 0.024904f, -0.021781f, -0.021329f, 0.042384f, 0.026902f, 0.002606f, -0.023953f, 0.004095f, -0.009785f, 0.020778f, -0.014745f, 0.003546f, -0.006022f, -0.003258f, 0.043118f, -0.004748f, -0.011319f, 0.009265f, 0.007539f, 0.014157f, - 0.013412f, 0.002868f, -0.016721f, 0.014225f, 0.006548f, 0.016126f, 0.033084f, 0.016667f, -0.047646f, -0.012060f, -0.007875f, -0.034841f, 0.013923f, -0.004693f, 0.000483f, -0.018645f, 0.016825f, -0.006195f, 0.002856f, -0.024685f, 0.017398f, -0.019761f, 0.001155f, 0.022985f, -0.004120f, 0.024170f, -0.018293f, 0.029717f, -0.036714f, 0.019694f, -0.000673f, -0.011059f, 0.045567f, 0.014298f, -0.011114f, -0.026109f, 0.010576f, -0.003988f, 0.002079f, -0.002569f, 0.015108f, 0.027082f, 0.032104f, -0.020407f, 0.012822f, -0.007568f, 0.027685f, 0.011837f, 0.000717f, -0.003226f, 0.013799f, -0.000000f, -0.018085f, -0.071184f, -0.045955f, 0.038788f, -0.027862f, -0.026239f, 0.015231f, 0.033939f, -0.055085f, -0.009008f, 0.013718f, 0.003772f, -0.028476f, -0.043292f, 0.082160f, -0.035045f, 0.011675f, -0.039891f, 0.022676f, -0.013848f, 0.038821f, 0.033964f, 0.004129f, 0.006044f, -0.044584f, -0.000051f, 0.022217f, -0.018384f, -0.026198f, 0.021441f, 0.006955f, 0.023095f, 0.019331f, -0.003941f, 0.008698f, -0.005220f, -0.001867f, 0.034013f, -0.027967f, -0.017241f, 0.028531f, -0.001317f, -0.020733f, 0.028782f, - 0.000376f, -0.006623f, -0.018275f, -0.008928f, 0.012102f, -0.015611f, -0.000272f, 0.009881f, -0.017889f, -0.020287f, -0.011315f, 0.014320f, -0.040461f, 0.019755f, -0.000066f, 0.039713f, -0.035739f, 0.012085f, -0.026561f, 0.010099f, -0.014932f, -0.022503f, 0.038696f, -0.020572f, -0.006107f, -0.020071f, 0.018634f, -0.022896f, 0.016491f, -0.008184f, 0.030202f, 0.026692f, 0.000766f, -0.041147f, 0.034512f, 0.016042f, -0.041937f, 0.012384f, 0.042080f, -0.005250f, -0.001393f, 0.018695f, -0.014539f, 0.029139f, 0.026101f, -0.037931f, -0.023966f, -0.008129f, 0.017710f, 0.033481f, 0.004577f, 0.017137f, 0.037712f, 0.028062f, -0.043087f, -0.005852f, 0.064063f, 0.014833f, -0.006145f, -0.009190f, -0.014187f, -0.020756f, 0.003946f, 0.014676f, 0.016057f, 0.015260f, -0.013731f, -0.029571f, 0.005527f, -0.016107f, 0.013334f, 0.043889f, -0.014244f, -0.047147f, 0.052325f, -0.018033f, -0.032414f, 0.042598f, -0.010420f, -0.014841f, -0.049887f, -0.010224f, 0.016882f, 0.007574f, -0.013109f, -0.021803f, 0.015301f, 0.000052f, -0.025093f, 0.016822f, -0.007770f, 0.041072f, -0.035364f, 0.002312f, -0.010090f, 0.047104f, - 0.012633f, -0.072727f, 0.017414f, -0.032061f, -0.017401f, -0.028100f, 0.024710f, 0.097148f, 0.030300f, 0.001905f, 0.015846f, 0.024402f, -0.045854f, -0.022605f, -0.021500f, -0.033961f, 0.002941f, -0.015362f, -0.053222f, -0.022685f, 0.003638f, -0.021660f, -0.066964f, 0.058009f, -0.011140f, 0.026100f, 0.004970f, -0.030792f, -0.052797f, -0.051006f, 0.057147f, 0.034668f, 0.013165f, -0.020249f, -0.038116f, -0.028737f, -0.045260f, -0.011790f, 0.017018f, -0.007201f, 0.003826f, 0.007082f, -0.007306f, -0.023661f, -0.022434f, -0.038729f, -0.013659f, -0.007594f, 0.019153f, 0.013033f, 0.021060f, -0.010548f, -0.017017f, -0.007455f, 0.027508f, 0.003642f, 0.024413f, -0.080856f, -0.018669f, -0.000372f, 0.018043f, -0.026000f, -0.000745f, -0.030069f, 0.023750f, 0.020215f, 0.004389f, 0.099224f, 0.002084f, 0.030746f, 0.041526f, 0.001378f, 0.013841f, 0.000190f, -0.006501f, -0.012444f, 0.021384f, 0.029804f, 0.040457f, -0.001442f, -0.006581f, 0.002127f, 0.027063f, 0.023028f, 0.002001f, 0.018514f, 0.017915f, 0.012240f, -0.003705f, 0.038385f, -0.009259f, 0.049721f, -0.047090f, -0.023533f, 0.040593f, -0.004172f, - 0.004473f, 0.012743f, -0.048906f, 0.004953f, 0.010239f, 0.035334f, 0.052485f, -0.039494f, 0.012189f, -0.023881f, 0.038230f, 0.034854f, 0.006898f, 0.064367f, 0.022059f, 0.027284f, -0.019617f, -0.000871f, -0.036484f, 0.064292f, -0.032931f, 0.012346f, 0.040513f, -0.006245f, -0.021378f, 0.021734f, -0.002693f, 0.012327f, 0.043280f, 0.003743f, -0.009979f, -0.001039f, 0.010419f, 0.001399f, -0.021161f, 0.020437f, 0.000527f, -0.004151f, 0.071844f, -0.050407f, 0.052742f, 0.034880f, 0.065107f, 0.028017f, -0.041312f, 0.036712f, 0.003417f, 0.034283f, 0.084773f, -0.056633f, -0.021882f, -0.005068f, 0.004193f, 0.058332f, -0.030573f, 0.005399f, -0.033100f, 0.005248f, 0.065275f, -0.004683f, 0.067522f, 0.020745f, 0.013224f, 0.031936f, -0.038058f, -0.004485f, 0.030230f, 0.042552f, -0.064965f, -0.000776f, -0.056242f, 0.026306f, -0.030480f, -0.001408f, 0.008272f, -0.012818f, -0.041485f, 0.009618f, -0.071413f, -0.063340f, -0.000494f, -0.000897f, -0.040496f, 0.029978f, 0.007915f, -0.012557f, -0.037560f, 0.047487f, -0.012693f, 0.071567f, -0.011864f, 0.013756f, 0.025490f, -0.037984f, -0.012963f, 0.008983f, - -0.043642f, -0.026349f, -0.038226f, 0.029685f, -0.030743f, -0.010588f, -0.010595f, 0.025240f, -0.025928f, -0.045199f, -0.060063f, -0.004433f, 0.048815f, 0.000180f, -0.027769f, -0.014461f, -0.034954f, -0.014500f, -0.000112f, 0.017577f, -0.039179f, -0.007459f, -0.008739f, -0.030895f, -0.038380f, -0.001468f, 0.006239f, 0.021301f, 0.008387f, 0.038938f, 0.011757f, 0.049945f, -0.022274f, 0.040502f, -0.011146f, -0.038325f, -0.008817f, 0.067928f, -0.030798f, 0.028653f, -0.022455f, 0.048455f, -0.027547f, 0.013293f, 0.033852f, -0.006781f, -0.013402f, 0.001219f, -0.018708f, 0.042229f, -0.043671f, -0.023238f, 0.047908f, -0.014409f, -0.040668f, -0.064035f, 0.075437f, -0.021824f, 0.064546f, -0.010437f, 0.052272f, 0.006800f, -0.013348f, -0.031498f, -0.021909f, -0.001796f, 0.002957f, 0.039481f, -0.011803f, 0.000018f, 0.012668f, -0.030490f, 0.056047f, 0.023134f, 0.004092f, -0.041338f, 0.032508f, 0.019172f, -0.033395f, 0.037868f, 0.005022f, -0.002132f, 0.010716f, 0.002333f, 0.047476f, -0.006924f, -0.055309f, 0.065451f, -0.029995f, -0.001317f, 0.047856f, -0.016481f, -0.008199f, -0.023548f, 0.074409f, -0.028469f, - -0.007162f, -0.041207f, -0.007033f, 0.009876f, 0.066650f, -0.025893f, 0.013961f, 0.025329f, 0.040313f, -0.005295f, -0.039440f, 0.049908f, 0.028916f, 0.041700f, -0.016083f, -0.003173f, 0.006271f, 0.046183f, -0.020711f, -0.041132f, -0.051161f, 0.034696f, -0.035363f, 0.016509f, 0.041052f, 0.044242f, -0.024250f, -0.000503f, 0.054600f, -0.075418f, -0.000624f, 0.022394f, 0.030576f, 0.009252f, -0.029483f, 0.014202f, 0.026392f, -0.013127f, -0.015161f, -0.092657f, 0.032877f, 0.019309f, 0.084508f, 0.074314f, -0.009913f, -0.025928f, -0.085215f, 0.003657f, 0.029704f, -0.035719f, 0.029008f, 0.051592f, 0.049883f, -0.021551f, 0.059853f, 0.053989f, 0.003314f, -0.030640f, -0.033375f, 0.055132f, 0.046832f, -0.064253f, -0.088603f, 0.119975f, 0.006851f, -0.007127f, 0.016247f, 0.010087f, 0.044671f, 0.045086f, -0.017015f, -0.013667f, 0.062405f, 0.030743f, -0.010561f, -0.039787f, 0.025404f, 0.006297f, 0.003750f, 0.023389f, 0.003451f, -0.000572f, -0.024391f, 0.015222f, -0.007162f, -0.028885f, 0.055702f, -0.087045f, 0.061729f, 0.052526f, -0.083763f, -0.004472f, 0.042542f, 0.012119f, 0.048424f, -0.010088f, - 0.006407f, 0.045917f, -0.006510f, 0.024053f, -0.042151f, -0.064176f, 0.182967f, -0.074150f, -0.107422f, -0.022083f, 0.203020f, 0.089485f, -0.090136f, -0.019014f, 0.032509f, 0.025592f, -0.006074f, 0.009460f, -0.040546f, -0.027134f, 0.042234f, 0.075791f, 0.001752f, 0.128517f, -0.062579f, -0.026763f, 0.073245f, -0.000387f, -0.007993f, -0.043803f, -0.082605f, 0.061420f, -0.044676f, -0.049139f, 0.030682f, -0.054109f, 0.021377f, -0.051563f, -0.055527f, -0.013212f, 0.008297f, 0.002980f, -0.015377f, 0.058379f, 0.012782f, 0.033834f, 0.015534f, -0.003433f, -0.001785f, -0.032913f, -0.062991f, 0.014755f, 0.057635f, -0.053708f, 0.039611f, -0.054671f, -0.007496f, -0.007330f, -0.079635f, 0.050585f, -0.028841f, 0.016906f, -0.000290f, -0.027374f, -0.000299f, -0.060597f, 0.056160f, -0.045096f, 0.018057f, -0.069722f, -0.040580f, -0.089998f, 0.031707f, -0.044337f, -0.045303f, -0.040590f, -0.018622f, -0.004010f, 0.091628f, 0.028734f, 0.046109f, -0.016037f, -0.040905f, -0.057092f, 0.016721f, 0.000672f, -0.089398f, -0.045038f, -0.158548f, -0.077383f, -0.056633f, -0.007664f, -0.065707f, -0.052792f, -0.022591f, -0.094204f, - 0.021454f, 0.032010f, -0.081251f, 0.043715f, 0.008683f, -0.024713f, 0.004733f, -0.024262f, -0.002221f, 0.015858f, 0.023793f, 0.039686f, -0.048370f, 0.002896f, 0.056648f, -0.008242f, -0.026134f, 0.048350f, -0.021402f, 0.001218f, -0.028953f, -0.014626f, -0.058602f, 0.012913f, 0.002730f, 0.030909f, -0.022105f, -0.000511f, 0.043598f, -0.023062f, 0.002503f, 0.039892f, -0.082958f, 0.001924f, -0.095058f, -0.034770f, -0.062737f, 0.047988f, 0.021063f, -0.008103f, 0.024730f, -0.023631f, 0.026967f, 0.061320f, 0.021206f, 0.097574f, -0.053509f, -0.071056f, 0.064501f, 0.010712f, -0.040036f, -0.047798f, -0.012295f, 0.031378f, -0.031315f, -0.008399f, -0.025936f, -0.048203f, 0.029975f, 0.021793f, -0.054000f, -0.044043f, 0.059512f, -0.010480f, 0.026572f, -0.021809f, 0.037725f, 0.001023f, 0.063033f, -0.043816f, -0.010734f, -0.001754f, 0.026582f, -0.033097f, -0.036896f, -0.062604f, -0.127158f, -0.063266f, -0.023798f, 0.056419f, 0.073302f, -0.138791f, 0.024538f, -0.054747f, -0.075078f, -0.014875f, 0.087747f, 0.056443f, 0.048048f, -0.029405f, -0.033182f, -0.039520f, 0.044456f, 0.031759f, 0.068350f, 0.009586f, - -0.087835f, -0.033829f, 0.066733f, -0.009432f, 0.019847f, 0.060189f, -0.028028f, -0.040344f, -0.064179f, -0.063826f, 0.000761f, 0.042962f, 0.091301f, 0.068207f, 0.044992f, 0.019163f, -0.092719f, -0.098232f, 0.034985f, -0.067471f, 0.016471f, 0.088296f, 0.035055f, 0.006898f, -0.043770f, -0.078066f, -0.013249f, -0.033046f, 0.026835f, 0.021712f, 0.015122f, 0.055839f, -0.008248f, -0.009480f, 0.014678f, 0.040887f, 0.064715f, 0.067936f, 0.022915f, 0.060663f, 0.020266f, 0.022610f, -0.012808f, -0.065282f, -0.025871f, -0.027546f, -0.054324f, 0.042465f, 0.038685f, 0.029936f, 0.028691f, -0.011369f, -0.065262f, 0.011861f, 0.020065f, 0.042206f, -0.109679f, -0.223418f, -0.114036f, 0.024556f, 0.090946f, 0.217806f, 0.213173f, 0.090342f, 0.092241f, 0.066945f, 0.006167f, -0.104531f, -0.178908f, -0.270994f, -0.078999f, -0.111848f, -0.017251f, 0.114277f, 0.201714f, 0.169952f, 0.150462f, 0.084050f, 0.000852f, -0.049523f, -0.067230f, -0.012373f, -0.118392f, -0.093571f, -0.088673f, -0.057293f, -0.046474f, -0.020247f, -0.001646f, 0.044225f, 0.100783f, 0.103589f, 0.101963f, 0.075238f, 0.097244f, 0.052688f, - 0.056717f, -0.015235f, -0.001391f, -0.042213f, -0.114733f, -0.167442f, -0.202739f, -0.097034f, -0.037574f, 0.034296f, -0.002903f, 0.023996f, 0.050035f, 0.064665f, 0.135355f, 0.155714f, 0.205545f, 0.131895f, 0.015025f, 0.061320f, -0.029039f, -0.110496f, -0.096900f, -0.193973f, -0.227290f, -0.169230f, -0.105135f, -0.044357f, -0.036357f, 0.082473f, 0.090592f, 0.256514f, 0.205581f, 0.150538f, 0.138277f, 0.056630f, -0.051997f, -0.066059f, -0.040091f} - }, - { - {0.018235f, -0.003472f, 0.005490f, -0.000571f, 0.007113f, 0.008802f, 0.006134f, 0.011158f, -0.006845f, 0.012061f, -0.004063f, 0.001631f, -0.011202f, 0.000524f, -0.011671f, 0.002543f, 0.002049f, 0.000973f, 0.000325f, 0.004340f, -0.006223f, -0.007391f, 0.006076f, -0.000559f, 0.004647f, 0.002762f, -0.001027f, -0.005085f, 0.000972f, 0.009242f, 0.005653f, 0.002995f, 0.003590f, 0.002764f, 0.001017f, 0.003343f, -0.000734f, 0.000448f, -0.000733f, 0.010487f, -0.002163f, 0.005451f, -0.003895f, 0.004636f, 0.012323f, -0.003269f, 0.011536f, 0.001765f, -0.004865f, 0.003436f, 0.005153f, -0.001661f, -0.002003f, 0.000326f, 0.008742f, -0.002760f, 0.002791f, -0.001620f, 0.005558f, 0.002326f, 0.007581f, -0.002523f, -0.000523f, 0.002931f, -0.003002f, -0.006192f, 0.001175f, -0.002024f, -0.000788f, -0.002434f, 0.004980f, 0.000794f, 0.003142f, -0.001468f, 0.006725f, 0.003439f, -0.008512f, -0.013235f, -0.009654f, 0.003716f, -0.001518f, -0.022613f, -0.012911f, -0.000980f, 0.003154f, -0.006940f, 0.002291f, -0.008365f, 0.001540f, -0.006027f, 0.015754f, -0.012877f, -0.005796f, -0.005622f, 0.009978f, 0.007056f, - 0.016012f, 0.004350f, 0.003207f, -0.007286f, 0.007460f, 0.001086f, 0.001895f, -0.000773f, 0.005935f, 0.008527f, 0.000434f, 0.008514f, 0.007732f, -0.003687f, 0.004225f, -0.004529f, -0.005480f, 0.000795f, -0.004529f, 0.002912f, -0.006984f, -0.011968f, 0.003041f, 0.004620f, -0.003294f, 0.003679f, -0.006104f, 0.005800f, 0.007205f, -0.012571f, 0.002223f, -0.000363f, 0.004547f, 0.004523f, 0.000362f, -0.012325f, -0.004143f, -0.005160f, 0.003885f, 0.000318f, 0.000932f, -0.003580f, 0.002000f, -0.005980f, -0.000054f, 0.007683f, 0.004143f, 0.001137f, -0.004012f, 0.003073f, -0.010815f, -0.005027f, -0.008066f, 0.002329f, 0.000872f, 0.000511f, -0.025739f, -0.000475f, 0.001737f, 0.000722f, 0.004646f, -0.008865f, 0.007128f, 0.004140f, -0.004468f, -0.015213f, 0.010599f, 0.010826f, -0.002096f, 0.009063f, 0.006680f, -0.008290f, 0.017511f, 0.003895f, -0.007367f, 0.009531f, 0.001054f, 0.008925f, 0.001660f, -0.014600f, 0.006072f, -0.002510f, -0.005116f, -0.005477f, -0.004118f, 0.010085f, 0.007992f, 0.000928f, 0.008349f, 0.003182f, -0.007056f, -0.008958f, -0.000405f, -0.001853f, 0.004439f, 0.003027f, - -0.006835f, 0.002057f, 0.004264f, 0.003906f, -0.005935f, -0.005056f, -0.008008f, -0.002658f, -0.001621f, 0.002031f, -0.001570f, 0.011735f, 0.005407f, -0.001429f, -0.005238f, 0.002482f, 0.005305f, 0.002812f, 0.012854f, -0.001685f, 0.006783f, -0.000355f, -0.003414f, -0.007070f, 0.005912f, -0.001281f, -0.002773f, 0.007631f, -0.001493f, 0.002854f, -0.000827f, -0.001009f, -0.007436f, 0.002313f, -0.001413f, 0.010121f, 0.012896f, -0.002187f, -0.004895f, -0.007713f, -0.017720f, -0.010609f, -0.003829f, 0.012726f, 0.001674f, 0.002355f, 0.007841f, 0.002074f, 0.003409f, -0.018628f, -0.017013f, -0.010922f, -0.002794f, -0.000121f, 0.007941f, -0.005640f, 0.006238f, -0.003257f, -0.011384f, 0.003509f, -0.001582f, -0.007939f, -0.000017f, 0.010927f, 0.016141f, 0.007167f, -0.007200f, 0.004198f, 0.000663f, 0.011437f, 0.000113f, -0.009307f, -0.000132f, -0.005487f, 0.011555f, 0.004837f, 0.005545f, 0.011357f, -0.001746f, 0.000699f, 0.015688f, 0.013331f, -0.000219f, -0.000219f, 0.001375f, -0.001018f, 0.004449f, 0.000957f, -0.010861f, -0.015104f, -0.004851f, -0.002087f, 0.000504f, -0.005148f, -0.016125f, -0.001981f, - 0.005164f, -0.009284f, -0.003801f, -0.006139f, -0.004349f, 0.001509f, 0.002910f, 0.005217f, -0.010704f, -0.009564f, 0.009965f, -0.004093f, -0.000809f, 0.001507f, 0.000809f, 0.005454f, -0.009130f, 0.023536f, -0.009314f, -0.007417f, -0.001363f, 0.000209f, -0.009088f, -0.000116f, -0.006426f, 0.011225f, -0.003012f, -0.014312f, -0.019888f, -0.005241f, -0.013254f, 0.017963f, 0.001243f, 0.012694f, 0.010617f, -0.017400f, -0.001209f, 0.007039f, 0.004980f, 0.008964f, 0.001452f, -0.001294f, -0.001819f, 0.004106f, -0.005969f, 0.006387f, 0.003361f, -0.006327f, 0.003522f, 0.000091f, 0.004152f, 0.009681f, -0.005621f, 0.003730f, -0.000929f, 0.005447f, 0.004546f, -0.002216f, 0.006373f, -0.002093f, 0.005493f, -0.004648f, 0.004971f, -0.014148f, -0.006272f, -0.005301f, 0.003567f, 0.011844f, -0.009223f, -0.006072f, -0.003646f, 0.000510f, -0.004435f, -0.005574f, -0.003228f, 0.004644f, 0.003549f, 0.006728f, -0.002729f, 0.003719f, -0.004528f, -0.004594f, -0.000825f, -0.002876f, 0.004417f, -0.000349f, -0.007663f, 0.003803f, -0.004564f, -0.007466f, -0.002817f, -0.004728f, 0.003425f, -0.005108f, 0.003556f, 0.005755f, - -0.002888f, 0.008973f, -0.015236f, 0.006162f, -0.009294f, -0.010190f, 0.013826f, 0.004879f, -0.017327f, 0.001320f, -0.000363f, 0.004650f, -0.012607f, -0.008197f, -0.001536f, -0.010258f, -0.018404f, -0.017780f, -0.011938f, -0.017744f, 0.006952f, -0.002227f, 0.002134f, 0.008962f, -0.015712f, 0.009607f, -0.004807f, 0.004278f, 0.002576f, -0.001961f, 0.001048f, -0.002611f, -0.002721f, -0.010325f, -0.006484f, 0.012547f, -0.005333f, -0.011181f, -0.010482f, -0.001370f, -0.005034f, 0.003634f, -0.010074f, -0.015075f, 0.001632f, 0.013240f, -0.002710f, 0.007870f, -0.005375f, 0.004112f, -0.008011f, 0.005169f, 0.001565f, -0.010418f, 0.013999f, 0.002243f, -0.003890f, 0.003068f, 0.012725f, 0.012142f, 0.005684f, -0.001693f, -0.016090f, -0.002886f, -0.013661f, 0.003329f, -0.003940f, 0.001851f, 0.000849f, 0.003349f, -0.013039f, -0.000098f, -0.002871f, 0.005921f, 0.008341f, -0.017860f, -0.017162f, -0.011511f, -0.018799f, -0.022056f, -0.021104f, 0.007444f, 0.008187f, -0.013919f, -0.004500f, -0.012693f, -0.020130f, 0.009168f, -0.006095f, -0.017527f, 0.004562f, -0.002135f, -0.000278f, 0.000674f, 0.004482f, 0.000843f, - -0.001728f, 0.003264f, 0.004573f, -0.010478f, -0.010272f, -0.003434f, -0.012279f, -0.001758f, -0.013018f, -0.021485f, -0.002796f, 0.011471f, -0.016033f, -0.012340f, 0.006875f, -0.008782f, -0.000254f, 0.002225f, -0.008848f, -0.007104f, -0.007688f, -0.023035f, -0.010785f, 0.003833f, -0.007534f, -0.008242f, -0.015152f, 0.005314f, 0.011224f, -0.005406f, 0.017968f, -0.011528f, -0.006226f, -0.000995f, -0.005847f, -0.017127f, -0.002356f, 0.002797f, -0.001744f, -0.004344f, -0.015357f, -0.003280f, 0.012748f, 0.006052f, 0.002937f, 0.006212f, 0.004013f, -0.004753f, 0.025520f, -0.009571f, -0.011459f, -0.011244f, -0.012916f, 0.002920f, 0.014020f, 0.030357f, 0.020789f, -0.000396f, 0.019002f, -0.001005f, 0.003145f, 0.004130f, -0.009737f, 0.017518f, 0.000560f, 0.015551f, 0.014654f, -0.010913f, 0.018901f, 0.000962f, -0.013870f, -0.022670f, 0.021606f, 0.011067f, 0.021439f, -0.017022f, 0.012387f, 0.007373f, -0.019389f, -0.018535f, -0.011298f, -0.004671f, 0.020548f, -0.018615f, 0.017316f, -0.000804f, -0.001883f, 0.013305f, 0.011720f, 0.016869f, 0.005844f, -0.007785f, 0.007733f, 0.015961f, -0.009190f, 0.015984f, - 0.022663f, 0.010711f, 0.013659f, 0.006789f, 0.003690f, 0.004954f, 0.000325f, -0.011323f, 0.004284f, 0.002384f, 0.000564f, 0.011616f, -0.007787f, 0.007426f, 0.006549f, -0.001817f, 0.019416f, -0.010428f, -0.007631f, -0.003216f, 0.016603f, -0.001812f, 0.013558f, 0.008536f, 0.008904f, 0.010015f, 0.000926f, -0.022840f, -0.004548f, -0.017948f, -0.011363f, 0.026953f, 0.012501f, -0.009395f, -0.000945f, -0.026185f, 0.016600f, 0.015925f, 0.047091f, 0.001868f, 0.004124f, -0.002347f, -0.006397f, -0.003068f, 0.015975f, 0.014498f, 0.012703f, 0.018278f, 0.007491f, 0.028863f, 0.008530f, -0.011471f, 0.002843f, 0.025139f, 0.010026f, 0.002513f, 0.003999f, -0.012995f, -0.018533f, 0.011884f, -0.009158f, -0.018304f, -0.038540f, -0.000682f, 0.015466f, -0.001254f, 0.009162f, -0.013459f, -0.006984f, -0.005083f, 0.002986f, -0.004324f, -0.011483f, -0.005744f, -0.031014f, -0.008214f, -0.026311f, 0.002136f, -0.013827f, 0.010520f, -0.015063f, 0.005677f, -0.014483f, -0.005147f, -0.000847f, 0.000357f, 0.002310f, 0.002877f, -0.019241f, 0.009262f, -0.002877f, 0.004225f, -0.010071f, 0.000237f, 0.015380f, 0.006191f, - 0.021230f, 0.011939f, -0.006592f, -0.001206f, -0.004540f, -0.002073f, -0.005219f, -0.006618f, -0.000652f, 0.008964f, 0.005211f, 0.006796f, 0.003562f, -0.030114f, 0.019294f, 0.051560f, 0.019130f, -0.007615f, 0.025894f, -0.015592f, 0.018315f, 0.012480f, -0.023021f, 0.005956f, -0.029180f, 0.001482f, -0.009357f, -0.020269f, 0.012157f, 0.001260f, 0.009504f, 0.013280f, 0.016227f, 0.025572f, 0.011154f, -0.000863f, -0.005524f, -0.015912f, -0.029423f, 0.011646f, 0.012717f, 0.004200f, -0.009711f, 0.017279f, 0.002996f, 0.018211f, 0.011146f, -0.030648f, -0.011123f, 0.005194f, -0.022369f, 0.002147f, -0.000795f, -0.003455f, 0.007717f, 0.006102f, -0.004596f, 0.024266f, -0.012568f, 0.001917f, 0.013946f, -0.010469f, 0.009864f, -0.003988f, -0.013217f, 0.010508f, 0.000799f, -0.000767f, 0.014337f, 0.009956f, 0.001434f, -0.005863f, 0.028715f, 0.002371f, 0.016585f, 0.002734f, -0.007663f, -0.008431f, -0.022265f, -0.007756f, 0.010758f, 0.000671f, 0.009365f, -0.001288f, -0.017028f, 0.008667f, 0.007143f, -0.025075f, 0.008913f, 0.015346f, -0.005965f, -0.051852f, -0.016638f, 0.055871f, 0.016160f, 0.009583f, - -0.007393f, -0.000711f, -0.007549f, 0.011979f, -0.016867f, 0.024798f, 0.014728f, 0.011992f, 0.012574f, -0.007842f, 0.000163f, -0.000331f, 0.008760f, 0.016840f, -0.023339f, -0.013856f, -0.006727f, 0.019115f, 0.007775f, 0.010898f, 0.012229f, -0.002004f, -0.016348f, 0.006242f, 0.002522f, 0.034118f, 0.027651f, 0.007412f, 0.021310f, 0.001521f, -0.008455f, 0.004558f, -0.001515f, -0.004258f, 0.014253f, 0.016252f, 0.014442f, 0.032829f, 0.017086f, 0.013013f, 0.015698f, -0.014558f, -0.022736f, -0.011183f, 0.012514f, -0.020510f, -0.008659f, 0.020099f, 0.022970f, 0.011721f, -0.008003f, 0.018847f, -0.005708f, 0.001927f, 0.006356f, 0.010649f, -0.003626f, -0.012101f, 0.008829f, -0.011046f, -0.031114f, 0.000921f, 0.013248f, -0.018859f, 0.005151f, -0.004144f, -0.001469f, -0.004455f, -0.006761f, 0.025582f, 0.002849f, 0.012628f, 0.026218f, 0.041770f, -0.063768f, -0.009758f, 0.002774f, -0.001317f, -0.008533f, -0.016476f, 0.016173f, -0.020891f, -0.033021f, -0.004003f, 0.030121f, -0.005191f, -0.019365f, 0.005105f, -0.026675f, -0.014525f, -0.000162f, 0.015762f, -0.027965f, 0.002382f, 0.027963f, 0.029407f, - -0.000491f, 0.010092f, 0.024873f, -0.015448f, -0.024717f, -0.033128f, 0.001801f, -0.032983f, -0.008364f, 0.013363f, 0.011462f, -0.029143f, -0.028683f, -0.016801f, 0.010199f, -0.007872f, -0.006642f, -0.007728f, 0.024389f, -0.038718f, -0.012949f, 0.005975f, -0.022529f, -0.007149f, -0.001687f, -0.024256f, -0.000688f, 0.010215f, -0.003214f, 0.032229f, -0.004126f, -0.012547f, 0.000662f, -0.001106f, -0.012640f, 0.006778f, 0.013453f, -0.013733f, 0.020008f, -0.010065f, -0.044324f, 0.003213f, -0.019112f, -0.007375f, -0.004304f, -0.002486f, -0.058675f, -0.006667f, 0.020845f, 0.025333f, 0.009307f, 0.038329f, 0.022576f, -0.003330f, -0.059918f, 0.016999f, -0.011035f, 0.020728f, -0.019113f, 0.000061f, 0.031519f, -0.010228f, 0.044717f, 0.010575f, 0.008638f, -0.018873f, 0.008450f, 0.022483f, -0.013668f, -0.002407f, 0.028820f, 0.018995f, 0.021645f, 0.003476f, -0.033516f, 0.021651f, -0.021721f, -0.001579f, -0.013196f, 0.003758f, -0.016833f, 0.010123f, -0.004605f, 0.009892f, 0.008641f, 0.016467f, 0.015834f, 0.018480f, -0.021724f, 0.005608f, 0.033575f, 0.007794f, -0.006627f, -0.006290f, -0.017664f, -0.013241f, - -0.000704f, 0.001806f, 0.005430f, 0.029189f, 0.001704f, 0.016349f, 0.014473f, -0.000532f, -0.008219f, -0.006429f, 0.024981f, -0.029829f, -0.007710f, -0.026356f, -0.023343f, -0.005739f, -0.001143f, -0.044627f, 0.010256f, -0.013774f, 0.025998f, -0.005385f, -0.000566f, 0.019406f, 0.001964f, 0.046418f, 0.036065f, 0.055115f, 0.018474f, 0.002120f, -0.008950f, -0.006172f, -0.011641f, -0.016643f, 0.024728f, -0.005991f, -0.004162f, 0.056304f, -0.010376f, -0.011259f, 0.062636f, 0.000022f, 0.036129f, 0.026730f, 0.003184f, 0.015368f, -0.007119f, 0.012220f, 0.011865f, 0.007612f, 0.009882f, 0.029265f, -0.018376f, 0.035085f, -0.017610f, 0.000203f, 0.008334f, -0.003863f, -0.023519f, -0.021452f, 0.000724f, -0.035309f, -0.010094f, -0.038652f, -0.001245f, -0.022674f, -0.015987f, -0.012097f, -0.009678f, 0.006584f, -0.030051f, 0.037473f, 0.007463f, -0.023186f, -0.016073f, -0.000442f, -0.002793f, -0.005158f, 0.011425f, 0.005742f, 0.038159f, 0.004846f, 0.001688f, -0.017772f, 0.005255f, 0.008205f, 0.000976f, -0.018977f, -0.006066f, 0.023443f, 0.027376f, -0.000684f, -0.018199f, 0.009423f, -0.001098f, 0.033157f, - 0.039252f, -0.013076f, -0.005667f, -0.005567f, 0.008129f, -0.012572f, 0.019123f, -0.043259f, 0.001154f, 0.054747f, -0.041171f, -0.020914f, -0.002171f, -0.005958f, 0.004500f, -0.031516f, -0.016923f, -0.004346f, 0.025679f, 0.030739f, 0.021353f, -0.018455f, -0.048326f, 0.085642f, 0.022149f, -0.052684f, -0.052730f, -0.007381f, 0.013744f, 0.036818f, -0.045759f, -0.007608f, 0.009495f, -0.000076f, -0.005885f, 0.049283f, 0.011267f, -0.028022f, 0.016090f, 0.002563f, -0.000536f, 0.026176f, -0.003840f, 0.014533f, -0.030896f, -0.010251f, 0.056627f, 0.021089f, 0.044842f, 0.014346f, 0.040630f, 0.007399f, -0.013735f, 0.028386f, 0.026360f, 0.040346f, 0.020553f, -0.044725f, -0.016215f, 0.010115f, 0.024213f, -0.017785f, 0.007782f, -0.017149f, -0.028255f, 0.003232f, -0.002451f, -0.017195f, 0.014500f, 0.019128f, 0.017351f, 0.012187f, 0.012206f, -0.008430f, 0.031164f, -0.000097f, -0.028993f, -0.021663f, 0.028185f, 0.014812f, -0.046022f, 0.020561f, 0.009522f, 0.015218f, -0.039878f, -0.028034f, 0.027970f, 0.041103f, 0.025016f, -0.008328f, 0.021476f, 0.040850f, 0.016435f, 0.043085f, 0.008143f, 0.020459f, - 0.015404f, 0.071000f, 0.095931f, 0.008729f, 0.020033f, -0.059031f, -0.018160f, 0.037880f, -0.029768f, 0.073199f, -0.013323f, 0.012736f, 0.020282f, 0.043499f, 0.024237f, -0.008549f, -0.029588f, -0.034215f, -0.010934f, -0.004351f, -0.043962f, -0.019675f, -0.017031f, 0.030311f, -0.015908f, 0.010161f, -0.027998f, 0.005457f, -0.010605f, -0.040248f, 0.044202f, 0.031891f, 0.035673f, 0.017153f, -0.020810f, -0.018970f, -0.048245f, 0.002661f, -0.043480f, -0.011572f, -0.003314f, 0.007603f, 0.022877f, 0.019569f, -0.013956f, -0.008282f, 0.018894f, 0.043039f, 0.011242f, 0.017605f, 0.030160f, -0.036451f, 0.027150f, -0.019921f, -0.020209f, -0.036873f, -0.017170f, 0.019426f, 0.014577f, 0.004104f, 0.044648f, -0.008426f, -0.017597f, 0.008135f, 0.010652f, 0.062879f, -0.022155f, 0.024866f, 0.021832f, 0.058972f, -0.014532f, 0.008218f, -0.026997f, -0.008097f, -0.035834f, 0.027647f, -0.051362f, 0.001824f, -0.041423f, 0.007587f, 0.017204f, 0.005824f, -0.024921f, 0.083616f, -0.006259f, -0.011915f, 0.007312f, -0.048523f, 0.002429f, -0.033004f, 0.000802f, 0.008450f, -0.010007f, -0.001772f, 0.019536f, -0.018283f, - 0.000475f, 0.024768f, 0.001808f, 0.005713f, -0.041495f, 0.004494f, -0.003745f, -0.003350f, -0.010697f, -0.051951f, -0.028715f, 0.011813f, 0.003939f, 0.021858f, -0.059506f, 0.005585f, -0.055395f, 0.027067f, -0.037852f, -0.061109f, 0.030248f, 0.054531f, 0.009342f, 0.026309f, -0.041783f, 0.040146f, -0.010422f, 0.005106f, -0.025703f, 0.033214f, 0.013608f, 0.034503f, 0.010991f, 0.042072f, -0.039287f, 0.006334f, 0.002041f, -0.007864f, -0.031072f, -0.026464f, -0.029085f, 0.031944f, -0.008517f, 0.043870f, -0.027215f, -0.022461f, 0.006735f, 0.005215f, -0.020561f, 0.012217f, -0.099204f, 0.011233f, -0.032270f, 0.090178f, -0.017982f, -0.046806f, 0.017421f, -0.003478f, -0.046654f, -0.008683f, 0.006760f, -0.028421f, 0.067850f, 0.008909f, 0.005720f, 0.030333f, -0.039522f, -0.060334f, -0.037544f, 0.083009f, -0.007583f, -0.018702f, 0.054525f, 0.030384f, -0.027339f, -0.027164f, -0.015721f, 0.065609f, 0.008402f, -0.017129f, -0.026938f, -0.013469f, -0.052886f, 0.034128f, -0.007002f, 0.013280f, 0.032457f, -0.012748f, -0.054771f, -0.007527f, 0.068396f, -0.003922f, -0.018304f, 0.032486f, -0.016209f, 0.040536f, - 0.026210f, -0.004487f, -0.052317f, -0.027094f, -0.008099f, -0.048432f, -0.028936f, -0.028319f, 0.002605f, -0.007495f, 0.038922f, -0.028855f, -0.010835f, -0.001152f, 0.101796f, 0.034824f, -0.018974f, 0.019868f, 0.010857f, -0.007036f, 0.050962f, 0.024466f, -0.021219f, 0.007268f, 0.040755f, 0.046946f, -0.030894f, -0.021351f, -0.072107f, -0.055465f, -0.001824f, -0.007850f, -0.007673f, -0.108283f, 0.041079f, -0.020936f, 0.062086f, 0.062993f, -0.031900f, 0.031247f, -0.056542f, -0.086530f, 0.005193f, -0.060008f, 0.011305f, -0.005013f, 0.051705f, -0.033244f, 0.037807f, 0.032649f, 0.051924f, -0.071372f, 0.011293f, -0.042543f, -0.038417f, 0.007438f, -0.050485f, -0.031729f, 0.052151f, -0.011261f, 0.021936f, 0.060016f, -0.007837f, 0.021830f, -0.043424f, 0.008511f, -0.048165f, 0.051165f, -0.039224f, -0.025283f, -0.027894f, 0.056832f, 0.046806f, -0.027378f, 0.062683f, 0.042308f, -0.008290f, 0.061777f, 0.001012f, -0.057963f, -0.012621f, -0.003484f, -0.043440f, 0.014738f, -0.096825f, 0.014285f, -0.020876f, -0.044470f, -0.034164f, 0.049926f, -0.021635f, 0.098940f, 0.075777f, -0.100127f, 0.006245f, 0.002798f, - 0.011724f, 0.054746f, -0.075373f, -0.050822f, 0.064876f, -0.039523f, -0.050099f, -0.058661f, 0.015330f, 0.152723f, -0.011288f, -0.032959f, -0.031614f, 0.013474f, 0.052922f, -0.057569f, 0.029675f, -0.097100f, -0.014284f, -0.037337f, -0.032790f, 0.052514f, -0.066457f, -0.103416f, 0.061213f, 0.092541f, 0.022532f, -0.016874f, -0.082997f, 0.006599f, 0.032867f, 0.033600f, -0.013727f, -0.032336f, 0.004390f, -0.007131f, -0.010719f, 0.011788f, -0.012115f, -0.026718f, -0.054413f, 0.008233f, -0.032716f, 0.009534f, -0.029346f, -0.060716f, 0.038702f, 0.030025f, 0.047545f, 0.003359f, 0.051388f, 0.030601f, 0.007698f, -0.014739f, -0.026337f, -0.040756f, -0.030657f, -0.014996f, 0.012021f, 0.031946f, -0.019984f, -0.007055f, -0.071116f, 0.069383f, 0.078566f, 0.046974f, -0.040519f, 0.045500f, -0.055282f, 0.002901f, 0.012151f, -0.115819f, 0.009229f, 0.016654f, 0.056017f, -0.066255f, 0.091564f, 0.042519f, -0.067353f, -0.030219f, 0.026382f, -0.002684f, -0.050580f, -0.048244f, -0.067259f, -0.071721f, -0.009635f, -0.091601f, -0.012422f, 0.033070f, -0.043143f, -0.040192f, 0.037507f, 0.038047f, 0.007546f, -0.036320f, - -0.123906f, -0.018387f, 0.023958f, 0.014548f, 0.053398f, -0.001369f, 0.030940f, -0.008254f, -0.001029f, -0.015748f, 0.002064f, 0.032574f, 0.003525f, 0.001179f, 0.031548f, -0.008642f, -0.007944f, -0.041953f, -0.004134f, -0.006854f, -0.004967f, 0.007078f, 0.025087f, 0.034573f, -0.007108f, -0.000071f, 0.026895f, -0.006218f, -0.052733f, -0.003641f, -0.046862f, 0.006764f, 0.005995f, -0.060990f, 0.043880f, -0.084006f, 0.018440f, 0.023225f, -0.037269f, -0.002459f, 0.108573f, -0.030671f, 0.036333f, -0.022764f, 0.018971f, -0.081320f, 0.008248f, 0.048203f, -0.001900f, 0.041759f, -0.010301f, 0.004956f, -0.003471f, 0.053542f, -0.034872f, -0.039665f, 0.045599f, -0.041803f, -0.054821f, 0.001190f, -0.087155f, 0.059493f, 0.044498f, -0.013027f, 0.013946f, 0.015041f, -0.008372f, -0.047493f, -0.138937f, -0.066535f, -0.023696f, 0.042332f, 0.098351f, -0.094505f, 0.017850f, -0.028982f, -0.095290f, -0.015303f, 0.081257f, 0.020207f, 0.066534f, -0.060374f, 0.014984f, -0.022382f, 0.001773f, 0.038370f, 0.004586f, 0.019826f, -0.015439f, -0.120748f, 0.032857f, 0.003587f, -0.052581f, 0.049421f, 0.037157f, -0.038036f, - 0.034182f, 0.002167f, -0.040852f, 0.009629f, -0.026099f, 0.071925f, 0.006854f, 0.027831f, -0.000798f, -0.078225f, -0.063128f, -0.022696f, -0.047343f, 0.047323f, 0.068904f, 0.070940f, 0.056654f, -0.022514f, 0.006047f, -0.061910f, -0.011156f, -0.008156f, -0.027272f, -0.033633f, 0.002996f, 0.003640f, -0.084187f, -0.026186f, -0.034119f, -0.004383f, 0.034841f, -0.042539f, -0.011199f, 0.012089f, -0.001683f, 0.040165f, -0.048475f, -0.004027f, -0.054489f, -0.030020f, -0.040330f, 0.019464f, 0.013559f, 0.040012f, -0.005205f, -0.006908f, -0.046665f, -0.019222f, 0.037496f, -0.055585f, -0.224711f, -0.117745f, 0.026583f, 0.097106f, 0.215560f, 0.164744f, 0.094060f, 0.032536f, 0.050177f, -0.013665f, -0.087436f, -0.172136f, -0.228561f, -0.057029f, -0.064480f, 0.004800f, 0.115013f, 0.161708f, 0.110182f, 0.144942f, 0.035757f, 0.031576f, -0.014085f, -0.071704f, -0.079572f, -0.065664f, -0.067910f, -0.086658f, -0.067233f, -0.029227f, -0.001485f, -0.000390f, 0.059203f, 0.073386f, 0.142366f, 0.066259f, 0.024922f, 0.057532f, 0.092180f, 0.028592f, 0.020393f, -0.071518f, -0.094570f, -0.160316f, -0.070472f, -0.084211f, - -0.057132f, -0.036493f, -0.024605f, 0.011441f, 0.023700f, 0.066801f, 0.142106f, 0.110232f, 0.125377f, 0.088673f, 0.114262f, 0.080484f, -0.061704f, -0.062294f, -0.148234f, -0.120399f, -0.081919f, -0.197143f, -0.145716f, -0.095253f, 0.012192f, 0.113942f, 0.117291f, 0.127536f, 0.170682f, 0.134524f, 0.079862f, 0.079730f, -0.000739f, -0.060909f, -0.061511f, -0.035386f}, - {0.015743f, -0.001957f, 0.007460f, -0.002574f, -0.000238f, 0.014217f, -0.007542f, -0.000708f, 0.004007f, -0.001486f, 0.004724f, 0.005419f, -0.012324f, 0.004971f, 0.004639f, 0.002648f, -0.000595f, -0.004016f, 0.008438f, -0.010738f, -0.009087f, -0.001976f, 0.000234f, 0.004376f, -0.009224f, -0.006758f, -0.000981f, -0.005989f, 0.009856f, 0.000526f, -0.004195f, 0.007851f, -0.007178f, 0.000871f, -0.001608f, -0.004228f, -0.000654f, 0.006124f, 0.006216f, 0.003715f, 0.009627f, 0.007999f, -0.000726f, 0.002487f, -0.004048f, 0.010238f, 0.006362f, -0.004515f, 0.001049f, 0.001436f, 0.001012f, -0.006136f, 0.005412f, 0.001894f, -0.000956f, 0.010866f, -0.005802f, -0.006491f, -0.000898f, 0.003323f, 0.000678f, -0.001315f, -0.004057f, -0.002588f, 0.003371f, -0.002920f, -0.000720f, -0.002203f, 0.003531f, -0.001443f, 0.008130f, 0.004019f, -0.005395f, -0.003026f, 0.004578f, -0.005000f, -0.002789f, -0.004011f, -0.007812f, 0.004727f, 0.007487f, 0.013224f, 0.003633f, -0.009099f, -0.016294f, 0.003669f, -0.007568f, 0.000768f, 0.005226f, 0.002120f, 0.013336f, -0.010840f, -0.002623f, -0.001365f, -0.000794f, -0.009282f, - 0.005871f, 0.002589f, 0.001281f, 0.000391f, -0.004528f, -0.003395f, -0.003263f, -0.000929f, 0.000525f, 0.002366f, -0.003405f, 0.005203f, 0.011928f, -0.000221f, 0.005331f, -0.008252f, -0.004829f, -0.009903f, -0.004805f, 0.010872f, 0.000565f, -0.002003f, 0.001954f, 0.011534f, 0.001275f, 0.005900f, -0.001384f, -0.005126f, -0.001620f, 0.006685f, -0.005518f, 0.010382f, 0.006311f, 0.011688f, 0.005710f, 0.000963f, -0.003456f, -0.007355f, -0.004157f, -0.006350f, -0.000959f, -0.004550f, 0.001974f, 0.000713f, -0.002520f, 0.001988f, -0.002140f, 0.004433f, -0.000912f, -0.000768f, 0.005943f, -0.000176f, -0.000206f, 0.001229f, -0.005286f, 0.003074f, -0.022865f, -0.005181f, 0.009368f, 0.001643f, 0.012772f, 0.006820f, -0.010536f, 0.002779f, -0.000245f, 0.004195f, -0.003787f, -0.017542f, 0.010112f, 0.006221f, 0.011587f, 0.014528f, 0.012469f, 0.004400f, 0.000140f, -0.017859f, -0.001875f, 0.008239f, -0.008188f, -0.007043f, -0.018710f, -0.001218f, -0.003163f, -0.002119f, -0.004794f, 0.002259f, -0.011190f, 0.005136f, -0.002000f, 0.004776f, 0.001341f, -0.007430f, 0.005734f, 0.004898f, 0.012900f, -0.001429f, - -0.010429f, -0.005272f, 0.005559f, 0.002354f, -0.002655f, 0.000643f, 0.004073f, 0.000655f, -0.007643f, 0.000058f, 0.001532f, -0.000665f, 0.000414f, -0.004627f, -0.002166f, -0.006197f, -0.001382f, 0.008040f, 0.002733f, -0.002463f, 0.003279f, -0.000773f, -0.000477f, 0.001471f, -0.009175f, -0.000514f, -0.000522f, 0.005470f, 0.009790f, -0.002461f, -0.001053f, -0.005794f, -0.004969f, 0.003267f, 0.011195f, -0.008766f, -0.001593f, 0.000830f, -0.000767f, -0.002678f, 0.001924f, -0.002666f, 0.012610f, 0.004720f, 0.004239f, -0.004263f, 0.000299f, 0.001169f, 0.001177f, -0.021727f, -0.011774f, -0.000999f, -0.005435f, -0.006732f, -0.000367f, -0.005666f, -0.022124f, 0.013161f, 0.002998f, 0.005958f, -0.002354f, 0.004537f, -0.005868f, 0.000286f, 0.000769f, 0.011394f, -0.004071f, -0.002382f, -0.001924f, -0.001904f, -0.001839f, -0.000779f, 0.012321f, -0.002356f, -0.000196f, -0.006988f, -0.000402f, -0.003347f, 0.004006f, 0.002081f, -0.011951f, 0.009328f, -0.012091f, -0.000163f, 0.010621f, -0.001443f, 0.000416f, 0.000893f, -0.000219f, -0.007319f, -0.005233f, 0.012285f, 0.007088f, -0.014981f, -0.008012f, 0.002513f, - -0.008795f, -0.006297f, 0.006544f, -0.010719f, 0.002211f, 0.002784f, 0.006331f, 0.013133f, 0.010083f, 0.006243f, 0.004808f, -0.008695f, -0.009038f, -0.007793f, 0.002745f, 0.011258f, 0.004442f, 0.016665f, -0.003998f, -0.004164f, -0.004915f, 0.004764f, -0.005513f, 0.008205f, -0.015694f, -0.001919f, 0.011717f, 0.006217f, -0.011803f, 0.008871f, 0.014407f, 0.013689f, 0.008678f, 0.001787f, -0.000521f, -0.008739f, -0.011431f, 0.004998f, -0.001093f, 0.011623f, -0.000898f, 0.007021f, -0.007152f, -0.004587f, -0.003844f, 0.001316f, 0.003642f, -0.000459f, -0.013993f, 0.003150f, 0.004819f, 0.003729f, 0.005998f, 0.003922f, -0.007617f, -0.018437f, -0.006050f, 0.002987f, 0.003561f, 0.001146f, -0.000846f, 0.003826f, -0.007712f, 0.000174f, -0.013968f, 0.006822f, -0.014414f, -0.003447f, -0.006148f, -0.009086f, 0.006830f, 0.003434f, 0.002857f, -0.007835f, -0.004080f, -0.001982f, -0.008343f, 0.001264f, -0.000773f, 0.004944f, -0.003618f, -0.006395f, -0.005387f, -0.015896f, 0.005182f, 0.002618f, 0.007034f, 0.011264f, 0.013309f, 0.006143f, -0.005322f, -0.006763f, -0.003739f, 0.008480f, 0.008446f, 0.007813f, - -0.001177f, 0.005572f, -0.015892f, 0.002042f, -0.007511f, 0.000996f, 0.002540f, -0.009930f, 0.003833f, 0.029667f, 0.003380f, -0.002453f, -0.016458f, 0.023913f, 0.000105f, 0.010135f, 0.001341f, -0.000338f, -0.012749f, 0.012698f, 0.003384f, -0.006772f, 0.001808f, 0.001109f, -0.004984f, 0.005232f, 0.013392f, -0.003683f, 0.014233f, -0.003997f, 0.006194f, -0.000058f, 0.009455f, 0.008402f, 0.009422f, 0.000271f, -0.004833f, 0.007404f, -0.005097f, 0.006545f, -0.001613f, 0.006600f, 0.006461f, 0.006166f, -0.000552f, -0.001652f, 0.002635f, -0.005000f, -0.007262f, -0.018994f, 0.012804f, -0.012202f, 0.008956f, 0.001328f, 0.003949f, -0.002006f, -0.022578f, -0.004710f, -0.005839f, -0.010884f, 0.001891f, 0.007234f, -0.014291f, -0.004324f, 0.007105f, 0.001599f, 0.010941f, 0.018599f, 0.000142f, -0.004377f, -0.003554f, -0.018173f, 0.006847f, 0.004688f, -0.002271f, -0.008630f, -0.010373f, -0.001235f, 0.005188f, -0.003492f, -0.005141f, -0.007624f, 0.001895f, 0.013161f, 0.005756f, 0.001863f, -0.030747f, -0.014240f, -0.004509f, 0.005994f, -0.003899f, 0.010074f, 0.034536f, 0.010585f, -0.013035f, 0.001753f, - -0.015375f, -0.005129f, 0.010335f, -0.012261f, -0.003316f, 0.015302f, 0.003486f, -0.004100f, 0.001947f, 0.008571f, -0.005541f, 0.004057f, 0.004353f, 0.004365f, -0.008899f, 0.003763f, -0.004307f, -0.005109f, -0.013025f, -0.005130f, -0.007728f, -0.014362f, 0.005944f, 0.000355f, -0.001244f, 0.014229f, 0.010198f, 0.003577f, 0.011235f, -0.000013f, -0.014886f, 0.012230f, -0.001691f, -0.010029f, -0.008191f, -0.014517f, 0.000341f, 0.017510f, 0.000862f, -0.007622f, 0.007079f, -0.012893f, -0.008520f, 0.006921f, -0.010933f, -0.013758f, -0.007803f, -0.004061f, 0.007402f, -0.011897f, -0.004421f, -0.005088f, 0.015167f, 0.003273f, -0.006667f, 0.010157f, 0.007201f, -0.020212f, 0.018294f, -0.007492f, 0.001248f, -0.009056f, 0.015577f, -0.002677f, -0.011335f, -0.035699f, -0.005230f, 0.017956f, 0.004010f, -0.027889f, 0.012011f, -0.000362f, -0.006190f, -0.009157f, -0.007718f, -0.003032f, -0.016951f, -0.003058f, 0.012653f, 0.016961f, 0.019917f, 0.012194f, 0.018097f, -0.006371f, 0.014113f, 0.006880f, -0.029717f, -0.000887f, 0.006922f, 0.010149f, 0.004376f, -0.010184f, -0.000105f, -0.002226f, 0.009574f, -0.017538f, - -0.006975f, 0.012882f, -0.005002f, 0.007240f, 0.003085f, -0.011627f, -0.013660f, -0.006640f, -0.020111f, -0.005443f, -0.006744f, 0.008036f, 0.002045f, -0.011034f, -0.003434f, -0.023680f, -0.006920f, 0.010002f, -0.007921f, -0.023279f, -0.001346f, 0.013786f, -0.029683f, 0.008765f, 0.003626f, 0.009646f, -0.014818f, -0.005671f, -0.014297f, 0.001734f, -0.005502f, -0.013801f, -0.005864f, -0.001644f, 0.005974f, -0.021036f, 0.005765f, 0.018484f, 0.023493f, 0.017809f, 0.018068f, 0.007615f, -0.011134f, 0.013051f, 0.021719f, -0.029959f, 0.016311f, 0.016556f, -0.032409f, -0.007651f, 0.008896f, 0.036851f, -0.002063f, -0.001172f, -0.007815f, -0.008893f, 0.044950f, 0.023103f, 0.006829f, 0.006724f, 0.023611f, 0.000799f, -0.002857f, -0.007331f, 0.004049f, -0.018623f, -0.017374f, -0.002783f, 0.006144f, 0.014677f, 0.006605f, 0.004421f, -0.006243f, 0.002730f, -0.014096f, 0.007569f, -0.021163f, 0.022760f, -0.001898f, -0.008986f, -0.011998f, -0.012567f, -0.021421f, 0.005483f, -0.020746f, -0.005342f, 0.014904f, -0.001530f, -0.006889f, -0.005041f, -0.003059f, -0.016083f, -0.012275f, -0.006049f, -0.007448f, -0.001919f, - 0.006878f, 0.006046f, 0.001285f, 0.003433f, -0.015853f, 0.030146f, 0.015898f, 0.003181f, -0.002016f, 0.039194f, -0.004441f, -0.003055f, -0.009076f, -0.014974f, -0.005384f, 0.040562f, 0.013718f, 0.008399f, 0.019592f, -0.022580f, -0.013637f, 0.012529f, 0.013408f, 0.030011f, 0.004203f, 0.008173f, -0.020550f, -0.001445f, 0.009896f, -0.027008f, -0.008775f, 0.010440f, -0.009082f, 0.000054f, 0.007168f, 0.019475f, -0.006852f, 0.007419f, 0.003906f, 0.004028f, 0.016743f, 0.014367f, 0.017856f, -0.014518f, -0.009609f, 0.019126f, -0.024865f, -0.008600f, -0.008334f, -0.002062f, -0.006828f, -0.016229f, 0.015249f, -0.000993f, -0.017192f, 0.000346f, -0.006859f, -0.018256f, -0.022281f, -0.012822f, -0.013416f, 0.025641f, -0.008482f, -0.007213f, -0.015656f, -0.001866f, -0.008051f, 0.003440f, 0.030696f, -0.006423f, -0.010269f, 0.004579f, -0.002019f, 0.017092f, -0.020868f, 0.034216f, 0.006786f, -0.034454f, -0.024716f, 0.008013f, -0.022940f, -0.000556f, -0.024587f, -0.000898f, 0.004789f, -0.004216f, 0.025718f, 0.031585f, -0.016215f, 0.002541f, -0.007275f, -0.033476f, 0.015766f, 0.076169f, -0.010533f, 0.001424f, - -0.030100f, -0.011331f, 0.024205f, -0.000907f, 0.044642f, 0.027756f, 0.025783f, 0.002469f, 0.020416f, -0.032371f, 0.033829f, 0.018688f, 0.003770f, 0.006470f, -0.017831f, 0.011099f, 0.001989f, 0.034550f, 0.020245f, 0.023833f, -0.005493f, 0.004504f, 0.007912f, -0.019176f, -0.015111f, -0.005482f, 0.012215f, 0.040017f, -0.008049f, -0.010154f, -0.010405f, -0.004602f, 0.007272f, -0.021281f, -0.004513f, 0.001043f, -0.010333f, -0.022598f, -0.002871f, -0.029336f, -0.009153f, 0.021621f, -0.019750f, -0.006916f, -0.001817f, 0.004682f, -0.033493f, -0.018815f, -0.002038f, -0.000734f, -0.004163f, 0.025909f, 0.012818f, 0.004748f, 0.016622f, 0.026809f, -0.011465f, -0.002500f, -0.016608f, 0.012600f, -0.012267f, 0.017000f, 0.018546f, 0.022208f, 0.036703f, 0.013604f, -0.021024f, 0.000397f, 0.059779f, 0.022703f, 0.036276f, 0.019162f, 0.037599f, 0.041300f, -0.042744f, 0.009901f, 0.030330f, 0.018300f, -0.012421f, -0.022792f, -0.020119f, 0.043234f, 0.002818f, 0.016117f, 0.022037f, -0.013229f, 0.005593f, 0.009379f, -0.027553f, -0.028460f, 0.022061f, 0.007729f, -0.042247f, -0.009572f, 0.052528f, 0.025689f, - -0.001238f, -0.030547f, 0.008837f, 0.008117f, 0.031333f, 0.010893f, -0.017223f, 0.021498f, 0.002373f, -0.008767f, -0.004578f, -0.006192f, -0.026988f, -0.011712f, 0.002247f, 0.004750f, -0.032093f, -0.032346f, -0.021231f, -0.008930f, -0.037993f, 0.021953f, -0.004318f, -0.025009f, 0.002690f, 0.001270f, -0.013439f, -0.002370f, 0.005252f, 0.000602f, 0.005487f, 0.010344f, 0.011671f, -0.013273f, -0.019988f, 0.023423f, 0.041977f, 0.021701f, 0.008739f, 0.034355f, -0.010199f, 0.019452f, 0.039599f, 0.028529f, -0.000857f, 0.006697f, -0.019521f, -0.024968f, 0.019400f, -0.023445f, 0.003090f, -0.007819f, -0.003531f, -0.008661f, -0.039615f, 0.011045f, -0.019130f, -0.008852f, -0.014800f, -0.002542f, 0.033802f, 0.033483f, -0.067909f, 0.020939f, 0.021475f, -0.021131f, -0.034575f, -0.045056f, 0.007884f, -0.013272f, 0.008278f, -0.015756f, -0.012409f, -0.007352f, 0.041950f, 0.010595f, -0.003704f, -0.000761f, -0.006734f, -0.012588f, 0.010584f, 0.006958f, -0.000231f, 0.016826f, 0.003633f, -0.003570f, 0.005979f, 0.015284f, 0.043329f, 0.004359f, 0.005326f, -0.021410f, -0.009173f, -0.010120f, -0.010780f, -0.001280f, - -0.003596f, 0.014404f, 0.020761f, 0.001046f, 0.023992f, -0.005486f, -0.004003f, -0.004809f, -0.002607f, -0.041891f, 0.047466f, 0.001376f, 0.003456f, -0.003298f, -0.012198f, 0.012809f, -0.003102f, 0.019523f, 0.001268f, -0.018045f, 0.005196f, 0.020836f, -0.014245f, 0.019497f, 0.004937f, -0.028263f, -0.004523f, -0.005257f, -0.052126f, -0.016711f, 0.014348f, 0.015463f, -0.019840f, -0.013011f, 0.032479f, 0.007913f, 0.008551f, -0.027348f, 0.016761f, -0.012149f, 0.015848f, -0.016141f, 0.021035f, -0.023119f, -0.019429f, 0.029921f, 0.001747f, 0.006190f, -0.021259f, -0.044464f, -0.006362f, 0.010476f, 0.000976f, 0.016305f, -0.017545f, 0.000435f, -0.002609f, -0.033653f, -0.025321f, 0.008605f, -0.038332f, -0.025381f, 0.008904f, -0.001731f, -0.040060f, -0.007234f, -0.021306f, 0.022025f, 0.011644f, 0.002455f, -0.011487f, -0.025328f, -0.052709f, 0.015757f, -0.025236f, 0.025477f, -0.011203f, -0.010956f, -0.007673f, -0.015063f, 0.004452f, 0.005335f, -0.043133f, -0.019417f, 0.035898f, 0.032530f, -0.038964f, 0.044278f, -0.001267f, 0.032133f, -0.011957f, -0.009941f, -0.008306f, -0.015185f, 0.013366f, -0.014987f, - -0.041766f, -0.021548f, 0.039303f, -0.011684f, -0.014249f, -0.004246f, 0.007749f, 0.007017f, 0.015572f, -0.052508f, 0.006983f, 0.033024f, 0.016964f, 0.023950f, 0.018585f, -0.017876f, -0.030625f, -0.025579f, -0.015088f, -0.029639f, -0.001655f, 0.014328f, 0.032721f, -0.005423f, -0.001601f, -0.054520f, 0.032764f, 0.041183f, -0.006558f, -0.021878f, -0.022677f, -0.013611f, 0.061410f, -0.037046f, -0.000261f, -0.003963f, 0.016463f, -0.002256f, 0.070719f, 0.002273f, -0.038743f, -0.009564f, -0.036838f, 0.048486f, 0.041416f, -0.032888f, 0.038942f, 0.010548f, 0.031306f, 0.012586f, -0.059369f, 0.019420f, 0.031453f, -0.040057f, -0.011572f, -0.045509f, -0.023434f, 0.002678f, -0.043024f, -0.035409f, -0.001213f, -0.028388f, -0.000565f, 0.011731f, -0.010725f, -0.027960f, 0.024035f, 0.023391f, -0.048406f, -0.035327f, 0.020239f, 0.010304f, 0.013091f, 0.026445f, 0.032232f, -0.009697f, -0.017072f, 0.001293f, -0.010787f, 0.001911f, -0.002878f, -0.013415f, 0.007485f, -0.063962f, 0.024426f, 0.036365f, -0.032223f, -0.023998f, 0.025943f, -0.015011f, 0.017496f, 0.039743f, 0.072633f, 0.113148f, 0.005773f, -0.042458f, - -0.055195f, -0.011235f, 0.004769f, -0.011500f, 0.056308f, 0.042575f, 0.030434f, 0.048963f, 0.036583f, 0.029681f, 0.004424f, 0.024306f, -0.026212f, 0.042616f, 0.049470f, 0.005251f, 0.051387f, -0.018035f, 0.006671f, 0.013311f, -0.042772f, -0.028599f, -0.008054f, -0.025110f, -0.029116f, -0.002824f, 0.052880f, 0.001182f, -0.006846f, 0.008062f, 0.013559f, -0.005012f, -0.065033f, -0.007574f, 0.020691f, -0.008338f, -0.017849f, 0.010016f, 0.029272f, 0.048214f, 0.014551f, 0.025294f, 0.036099f, 0.042118f, -0.053011f, -0.037555f, 0.025285f, -0.015005f, 0.074698f, -0.006174f, 0.064751f, -0.048376f, 0.032704f, 0.051136f, 0.005387f, 0.009115f, 0.033624f, -0.053303f, -0.021468f, 0.002158f, 0.034778f, 0.001488f, 0.039623f, 0.014921f, 0.017620f, 0.036646f, 0.017617f, -0.004488f, -0.010413f, 0.078670f, 0.025738f, 0.027109f, 0.057243f, -0.005075f, 0.011661f, 0.024335f, 0.036624f, -0.042295f, -0.033724f, -0.015074f, -0.036902f, -0.007400f, -0.049373f, 0.024084f, 0.038620f, 0.027402f, 0.038385f, -0.027305f, -0.014868f, 0.028735f, 0.022951f, -0.017670f, 0.039029f, 0.022281f, -0.009315f, -0.049529f, - 0.026493f, 0.027778f, -0.024680f, -0.005218f, 0.013853f, 0.005282f, -0.038958f, 0.042975f, 0.011807f, 0.046180f, 0.026080f, 0.016910f, -0.026171f, 0.020405f, -0.013929f, 0.071072f, -0.057693f, 0.004142f, 0.022036f, -0.013218f, -0.037246f, 0.021375f, 0.023270f, -0.007057f, 0.022894f, -0.024902f, 0.059616f, -0.030363f, 0.015677f, 0.010134f, -0.037941f, -0.019399f, -0.052396f, 0.019140f, 0.015171f, -0.042137f, 0.036117f, 0.027699f, -0.027203f, 0.018791f, -0.003288f, 0.056930f, 0.019240f, -0.033914f, -0.022939f, -0.025236f, 0.017995f, -0.015740f, 0.014637f, -0.008442f, -0.068380f, 0.033397f, -0.058026f, 0.064164f, 0.076699f, -0.001978f, 0.015109f, -0.058716f, 0.001509f, -0.011570f, 0.008272f, 0.037273f, 0.038216f, -0.008721f, 0.020832f, 0.031321f, 0.006760f, 0.014300f, 0.010586f, 0.014143f, -0.005558f, 0.044760f, -0.003837f, 0.011709f, -0.021716f, 0.050132f, 0.012585f, -0.002509f, 0.000589f, 0.045333f, 0.018781f, 0.022477f, 0.050096f, -0.008638f, -0.027370f, 0.060850f, -0.060251f, -0.024930f, -0.008571f, 0.015937f, 0.043666f, 0.011719f, -0.014681f, -0.015365f, -0.027835f, 0.001503f, - -0.003124f, 0.014169f, 0.068755f, 0.066640f, 0.043436f, 0.060356f, -0.002771f, 0.089792f, -0.026660f, 0.026685f, -0.018094f, 0.004386f, 0.030357f, -0.011132f, 0.006187f, -0.023880f, -0.030796f, 0.003056f, -0.017971f, 0.020472f, -0.025312f, 0.045950f, -0.028448f, -0.049511f, -0.016933f, -0.010257f, 0.001119f, 0.066801f, -0.030039f, -0.003858f, 0.020069f, 0.017073f, -0.002732f, -0.027698f, 0.105930f, 0.148639f, 0.043224f, 0.115319f, -0.029135f, -0.084752f, -0.060906f, -0.042818f, 0.016455f, 0.019164f, -0.030920f, -0.046582f, 0.034563f, 0.048951f, 0.026278f, 0.048882f, 0.035695f, 0.007427f, 0.011776f, 0.005456f, -0.006638f, -0.035978f, 0.010699f, -0.042175f, 0.023858f, -0.001906f, -0.041855f, 0.041246f, 0.021655f, 0.018657f, 0.070187f, 0.043983f, -0.026360f, -0.016492f, -0.032008f, -0.033966f, -0.044356f, -0.017425f, -0.003852f, -0.032917f, -0.015204f, 0.062777f, 0.092360f, 0.070390f, 0.003868f, 0.047439f, 0.046369f, 0.078574f, 0.030317f, -0.044565f, -0.076860f, -0.045596f, -0.051835f, 0.024508f, 0.014710f, -0.097699f, -0.073557f, -0.018908f, 0.032025f, 0.085062f, -0.074097f, -0.004723f, - -0.066070f, -0.009615f, 0.061083f, -0.041630f, 0.015858f, -0.059562f, -0.021311f, -0.020144f, 0.034608f, -0.057310f, -0.005266f, -0.011518f, -0.043972f, -0.084447f, 0.009139f, 0.045185f, -0.039561f, 0.070632f, -0.029629f, 0.027319f, -0.010505f, -0.084298f, -0.043420f, -0.005334f, -0.049705f, -0.113418f, -0.032259f, 0.039063f, 0.061402f, -0.031762f, -0.048725f, -0.101457f, -0.030427f, 0.028040f, -0.020530f, -0.030506f, -0.050290f, 0.010238f, -0.011764f, -0.010027f, -0.009812f, 0.018563f, 0.039761f, -0.032953f, 0.030713f, 0.024733f, -0.031858f, -0.093077f, 0.007274f, 0.005539f, 0.023466f, 0.009098f, 0.059719f, 0.004051f, -0.090643f, -0.001455f, -0.099721f, -0.002600f, 0.035027f, 0.039607f, -0.007280f, 0.003205f, 0.047061f, -0.026748f, -0.016906f, -0.033896f, 0.031043f, 0.019121f, -0.013191f, 0.032894f, -0.009724f, 0.011925f, 0.018439f, 0.055230f, 0.009933f, -0.024576f, -0.060245f, -0.025777f, 0.035696f, 0.023656f, 0.053718f, 0.067436f, 0.130685f, 0.056713f, 0.036948f, -0.039008f, 0.006861f, -0.081306f, -0.024628f, 0.056660f, -0.027692f, -0.023361f, -0.005808f, -0.018267f, -0.064995f, -0.072586f, - -0.105840f, -0.033566f, 0.000545f, -0.008298f, 0.069858f, 0.019013f, 0.091171f, 0.055861f, 0.028571f, -0.012822f, -0.033018f, -0.006417f, 0.127824f, 0.007721f, 0.037293f, 0.020477f, -0.015312f, 0.063197f, -0.025736f, 0.050957f, -0.055111f, -0.005790f, -0.039436f, 0.047923f, -0.066954f, -0.014545f, 0.021714f, 0.021114f, 0.022831f, -0.059565f, 0.043337f, -0.068138f, 0.015011f, -0.033511f, -0.021460f, 0.067305f, 0.005417f, 0.004203f, 0.024789f, -0.025865f, 0.000155f, 0.017449f, -0.080574f, 0.002039f, 0.020975f, -0.012141f, 0.055233f, -0.023871f, -0.008002f, 0.089195f, -0.031177f, -0.074307f, 0.003150f, -0.028019f, 0.009367f, -0.005508f, -0.000038f, -0.059402f, 0.036442f, -0.009351f, -0.075733f, 0.049525f, -0.093497f, 0.020580f, -0.012734f, -0.037252f, -0.043856f, -0.037166f, -0.126253f, -0.129623f, -0.111031f, -0.056833f, 0.223366f, 0.068757f, -0.030240f, -0.031210f, -0.113669f, -0.237990f, -0.028803f, 0.061679f, 0.076975f, 0.032273f, -0.038618f, -0.028934f, -0.071935f, -0.078368f, 0.055289f, -0.056899f, 0.139740f, 0.104936f, -0.168242f, 0.052010f, 0.019274f, -0.036319f, 0.010337f, 0.117500f, - 0.014448f, 0.080636f, 0.160304f, -0.036914f, -0.136478f, 0.004897f, -0.025543f, -0.126013f, -0.036779f, 0.059001f, -0.008308f, 0.072993f, 0.116930f, 0.009622f, -0.106770f, -0.204317f, -0.177549f, -0.156940f, -0.019426f, 0.150448f, 0.040025f, 0.039706f, 0.019592f, -0.041616f, -0.207025f, -0.127874f, -0.068575f, -0.025033f, 0.009135f, 0.046078f, 0.041290f, 0.057723f, 0.055357f, 0.073736f, -0.091475f, -0.030825f, -0.075680f, -0.004958f, -0.082532f, 0.050507f, 0.044921f, 0.102337f, 0.107378f, 0.056101f, -0.001685f, -0.025295f, -0.021761f, -0.128311f, 0.029311f, -0.030022f, -0.240143f, -0.267502f, -0.185992f, -0.191341f, -0.060819f, 0.184751f, 0.120540f, 0.200369f, 0.225623f, 0.348666f, 0.227829f, 0.235143f, 0.147871f, -0.026688f, -0.192290f, -0.324505f, -0.379097f, -0.332426f, -0.263491f, -0.196013f, -0.056466f, -0.023869f, -0.038653f, -0.005490f, 0.066579f, 0.115103f, 0.168065f, 0.141835f, 0.201614f, 0.191409f, 0.254844f, 0.228919f, 0.056997f, 0.148716f, -0.046782f, 0.029786f, 0.021985f, -0.005747f, -0.033361f, -0.252655f, -0.295662f, -0.379724f, -0.437834f, -0.403966f, -0.225809f, -0.207119f, - -0.167213f, -0.212929f, -0.237735f, -0.063948f, 0.048090f, 0.129139f, 0.203594f, 0.290614f, 0.358266f, 0.453750f, 0.612432f, 0.585828f, 0.451692f, 0.356159f, 0.305522f, 0.150023f, 0.258568f, -0.116313f, -0.207195f, -0.514013f, -0.569319f, -0.724973f, -0.674765f, -0.633527f, -0.571699f, -0.571859f, -0.307912f, -0.194162f, -0.005457f, 0.402584f, 0.315610f, 0.209594f} - }, - { - {-0.012901f, 0.021523f, -0.005750f, 0.003586f, -0.006979f, 0.002754f, -0.015214f, 0.000844f, -0.004535f, 0.005489f, -0.008256f, -0.005958f, -0.001589f, 0.005589f, -0.001142f, -0.000926f, -0.003156f, -0.004308f, -0.010181f, -0.002142f, -0.008497f, -0.004551f, -0.007192f, 0.003227f, -0.001518f, 0.000560f, 0.003628f, 0.002154f, -0.005012f, 0.002316f, -0.001760f, -0.000417f, -0.001872f, -0.001597f, -0.004479f, 0.000328f, -0.008156f, 0.010269f, -0.003097f, -0.002449f, -0.001584f, 0.000650f, -0.000069f, 0.001221f, -0.009504f, 0.000705f, 0.004120f, 0.000328f, 0.001784f, -0.000208f, 0.002152f, 0.007758f, -0.002440f, 0.004782f, 0.005578f, -0.008173f, -0.002568f, -0.001945f, 0.007663f, -0.001435f, 0.002354f, 0.008740f, 0.000059f, -0.002416f, 0.001889f, 0.002565f, 0.002551f, 0.000748f, 0.004485f, 0.000056f, -0.001367f, 0.003680f, -0.003779f, 0.001174f, -0.000202f, -0.006743f, 0.025308f, 0.003267f, -0.010547f, 0.004187f, -0.006513f, 0.002247f, -0.004094f, -0.002424f, -0.005617f, 0.004711f, 0.007815f, 0.002574f, 0.002727f, -0.013148f, 0.003093f, 0.000673f, 0.004651f, 0.005618f, 0.003269f, 0.008239f, - -0.001222f, -0.003925f, 0.001248f, 0.009764f, 0.000481f, -0.006701f, -0.000297f, 0.008381f, 0.004734f, 0.001301f, 0.000497f, 0.002682f, 0.000216f, 0.001057f, 0.001953f, 0.000200f, -0.002420f, 0.000120f, 0.000481f, 0.003576f, -0.004241f, -0.010472f, 0.008473f, 0.008524f, 0.007444f, 0.007066f, 0.000054f, 0.004072f, 0.006689f, -0.006155f, -0.001111f, 0.000307f, -0.008449f, 0.002479f, 0.001011f, 0.008478f, 0.001179f, 0.004975f, 0.000471f, 0.010548f, 0.005418f, -0.000956f, 0.007353f, 0.004792f, -0.002019f, -0.007668f, 0.002291f, 0.002686f, -0.001967f, 0.001172f, -0.004504f, -0.000652f, 0.004305f, 0.003490f, 0.003574f, 0.008772f, 0.021260f, -0.013926f, 0.004916f, 0.012053f, 0.002931f, 0.008554f, 0.010284f, -0.009019f, 0.002079f, -0.000642f, 0.004083f, -0.011472f, -0.009136f, -0.001514f, 0.009212f, 0.012531f, -0.004592f, -0.003846f, 0.006024f, -0.009755f, -0.013247f, -0.002220f, -0.015602f, 0.005639f, 0.005328f, 0.001689f, -0.009655f, -0.009662f, 0.003641f, -0.005500f, 0.001451f, 0.000000f, 0.010465f, 0.011240f, 0.009982f, -0.001290f, 0.007028f, -0.010494f, 0.004818f, -0.006042f, - -0.000475f, 0.000924f, 0.008567f, -0.008762f, -0.007986f, 0.000438f, 0.011244f, 0.004974f, 0.004477f, -0.006328f, 0.003910f, 0.003177f, -0.003122f, -0.013458f, -0.002082f, -0.004259f, -0.005916f, -0.005024f, 0.006585f, -0.005354f, -0.001649f, 0.001962f, 0.004235f, 0.010515f, -0.003500f, 0.000323f, -0.007141f, -0.003066f, 0.002030f, -0.009826f, -0.000060f, 0.003466f, 0.007899f, -0.001652f, -0.004332f, -0.002178f, -0.008819f, -0.008105f, -0.014156f, -0.004020f, 0.001659f, -0.004815f, -0.007499f, -0.004435f, -0.014125f, -0.008223f, 0.013542f, -0.001216f, -0.006987f, 0.006897f, -0.012079f, -0.003251f, -0.014901f, -0.003593f, -0.011896f, -0.006492f, 0.012448f, 0.000055f, -0.003391f, -0.015476f, -0.009977f, -0.003981f, -0.007087f, 0.001881f, -0.008637f, 0.000145f, 0.004173f, 0.015108f, 0.006967f, 0.005276f, 0.006053f, 0.012113f, -0.011473f, -0.000748f, -0.003988f, -0.008873f, 0.002613f, -0.002308f, -0.004019f, -0.009256f, 0.003685f, 0.008461f, 0.000118f, -0.007213f, -0.005077f, 0.022623f, -0.000770f, -0.007296f, -0.010192f, -0.014554f, -0.019486f, -0.002936f, -0.010571f, 0.001610f, -0.002859f, 0.004565f, - -0.000043f, 0.001882f, -0.009585f, 0.000641f, 0.000294f, 0.010600f, 0.002637f, -0.009074f, -0.000769f, -0.003306f, -0.003841f, -0.002739f, 0.002538f, 0.005219f, 0.004214f, -0.006472f, -0.032166f, 0.013156f, -0.005490f, 0.005726f, -0.013112f, -0.005126f, -0.010185f, -0.009346f, 0.001001f, -0.002760f, -0.006237f, 0.016807f, 0.004655f, -0.001278f, -0.009658f, -0.002924f, 0.005041f, -0.011251f, -0.005688f, -0.010710f, -0.005683f, 0.016042f, 0.001961f, 0.010766f, -0.000577f, 0.000110f, -0.002212f, 0.003199f, 0.003379f, -0.008184f, 0.000574f, 0.002713f, 0.005212f, 0.017354f, -0.008475f, -0.010209f, -0.001547f, 0.019167f, 0.006497f, 0.020383f, 0.002326f, 0.002040f, -0.003016f, 0.010156f, -0.001163f, 0.014888f, -0.000909f, -0.001537f, -0.002042f, -0.005945f, 0.006874f, 0.002078f, -0.004612f, 0.004460f, 0.006198f, 0.010405f, -0.005230f, -0.000319f, -0.001140f, 0.009307f, -0.003007f, -0.001311f, -0.002698f, -0.002087f, 0.002932f, -0.002715f, 0.001810f, 0.001832f, -0.001466f, 0.002584f, -0.014326f, 0.001825f, 0.010494f, 0.003878f, 0.013694f, 0.001583f, 0.001656f, 0.004107f, -0.007277f, -0.003754f, - -0.000476f, -0.016375f, -0.003013f, -0.000167f, -0.008323f, -0.028729f, -0.007223f, -0.006440f, -0.012717f, -0.002725f, -0.003520f, 0.017487f, -0.006510f, 0.013154f, 0.005965f, 0.009408f, -0.018608f, -0.008503f, -0.018800f, -0.017442f, -0.000354f, 0.002942f, 0.010402f, -0.005461f, -0.008410f, -0.005238f, -0.012825f, 0.002401f, 0.005343f, 0.006271f, 0.003688f, -0.004044f, 0.004316f, -0.008583f, 0.000563f, -0.015273f, 0.005093f, -0.004115f, 0.001726f, 0.003080f, 0.005286f, 0.005766f, -0.006067f, 0.000010f, 0.014233f, -0.008010f, 0.006739f, 0.007204f, -0.000794f, 0.004243f, 0.006857f, -0.003137f, 0.002525f, 0.006883f, 0.000101f, 0.012279f, -0.006789f, -0.008763f, -0.004426f, 0.003928f, -0.000275f, -0.016668f, -0.008608f, -0.018442f, -0.020131f, -0.003506f, 0.005254f, -0.016352f, 0.007167f, -0.002728f, -0.000271f, -0.005646f, 0.005640f, -0.009731f, -0.000977f, 0.008842f, -0.026790f, -0.001592f, 0.007858f, 0.004882f, -0.014409f, -0.001999f, -0.009318f, 0.002022f, 0.002283f, 0.001658f, -0.015745f, -0.020770f, -0.014418f, 0.002171f, -0.011626f, 0.012023f, 0.003418f, -0.019964f, 0.013808f, 0.012333f, - 0.009420f, 0.008702f, -0.010321f, 0.015940f, 0.003734f, -0.000258f, -0.006796f, 0.005319f, 0.009097f, -0.008940f, -0.013543f, 0.004719f, -0.005477f, -0.016149f, -0.002745f, -0.015567f, -0.006274f, 0.028087f, -0.008132f, -0.012637f, -0.016320f, 0.000895f, 0.001891f, 0.011228f, 0.003765f, -0.010226f, 0.008656f, -0.001103f, -0.008820f, -0.010583f, -0.012122f, 0.017470f, 0.006974f, 0.011096f, -0.009050f, -0.011081f, 0.004278f, 0.003052f, -0.012471f, -0.000301f, -0.007997f, 0.011528f, -0.003047f, 0.001374f, -0.014640f, 0.009199f, 0.006441f, -0.007337f, -0.005914f, -0.004318f, 0.014741f, 0.000766f, 0.001673f, -0.003914f, 0.010659f, -0.010545f, -0.013674f, -0.000105f, 0.004028f, -0.003054f, -0.010816f, -0.016339f, -0.012955f, 0.014072f, 0.002120f, 0.017132f, 0.020423f, 0.019776f, 0.003475f, 0.026961f, 0.006913f, -0.002487f, 0.012813f, 0.009803f, 0.025048f, 0.003969f, 0.014646f, -0.018894f, 0.032378f, 0.023820f, 0.011886f, -0.009247f, -0.007080f, 0.011889f, 0.003233f, 0.008629f, -0.004148f, 0.014090f, -0.003514f, -0.003201f, 0.012922f, 0.010369f, -0.011979f, 0.008791f, -0.002780f, 0.013674f, - 0.015092f, -0.028170f, -0.004674f, 0.017834f, 0.005864f, 0.009821f, 0.008090f, 0.017620f, -0.007841f, 0.007191f, 0.000869f, -0.014437f, -0.006606f, -0.000236f, 0.003562f, -0.021350f, -0.001332f, 0.013686f, -0.010277f, 0.022865f, 0.017516f, -0.006884f, 0.000168f, 0.004321f, 0.008858f, 0.013190f, -0.004952f, -0.004528f, 0.021651f, -0.005458f, -0.000582f, 0.008837f, -0.000049f, 0.011738f, 0.008839f, 0.002583f, 0.003291f, 0.056929f, -0.027295f, 0.005632f, 0.024463f, -0.000610f, 0.002499f, 0.031755f, 0.034792f, 0.005482f, -0.000802f, 0.008501f, 0.000155f, 0.009004f, 0.011279f, -0.010587f, -0.001912f, 0.021037f, 0.019077f, -0.006579f, -0.013881f, -0.015351f, -0.015579f, -0.007969f, 0.016418f, -0.009725f, 0.008302f, 0.002213f, -0.018434f, 0.000048f, -0.011559f, -0.000218f, 0.007885f, 0.010355f, -0.024388f, -0.011041f, -0.018958f, -0.005158f, 0.034072f, 0.005981f, -0.000686f, 0.004212f, -0.000657f, 0.002950f, 0.011714f, 0.006906f, 0.018274f, 0.000520f, 0.014300f, 0.008475f, -0.008666f, 0.008438f, -0.014402f, 0.001881f, -0.014410f, -0.016292f, 0.009345f, -0.018045f, 0.010927f, 0.001248f, - 0.012742f, 0.009414f, 0.010071f, -0.008832f, 0.015146f, -0.016025f, 0.002767f, -0.006391f, 0.000512f, 0.024086f, 0.004205f, 0.013216f, 0.014567f, 0.000178f, -0.000526f, 0.011562f, -0.014712f, 0.011270f, -0.034102f, 0.005096f, 0.006868f, -0.023329f, 0.008939f, -0.001143f, 0.022216f, -0.007136f, -0.013091f, 0.008961f, -0.030134f, -0.010848f, 0.023115f, 0.009817f, -0.016136f, -0.036546f, 0.014561f, -0.005787f, 0.007362f, -0.023566f, -0.031588f, -0.021245f, 0.024679f, 0.001411f, 0.012932f, -0.003209f, -0.015347f, -0.021192f, 0.008127f, -0.006110f, -0.019458f, -0.021489f, -0.000126f, -0.019214f, -0.016019f, -0.008361f, -0.005416f, -0.020702f, 0.009541f, 0.013038f, 0.016440f, -0.009168f, 0.014357f, -0.013470f, 0.023759f, -0.005132f, -0.003370f, 0.019268f, 0.008012f, -0.005115f, -0.015297f, -0.006813f, 0.016693f, 0.004204f, -0.016343f, 0.006602f, 0.017690f, 0.018934f, 0.005667f, -0.023187f, -0.028241f, -0.002200f, 0.002221f, 0.001775f, -0.021374f, 0.005814f, 0.017224f, 0.006306f, -0.012079f, -0.032249f, 0.005012f, -0.013506f, -0.036308f, 0.002041f, -0.003540f, -0.016773f, 0.017720f, -0.042149f, - 0.024346f, 0.018525f, 0.020457f, 0.001869f, 0.021674f, 0.001140f, -0.016098f, -0.018236f, 0.001213f, 0.017307f, -0.014121f, 0.003171f, -0.028963f, 0.017805f, 0.018622f, -0.011166f, -0.007137f, 0.003589f, 0.020480f, 0.014993f, -0.012832f, -0.011130f, 0.013493f, -0.018984f, 0.004696f, -0.025575f, -0.001590f, -0.008179f, -0.034606f, -0.034952f, 0.005005f, 0.018814f, 0.007481f, -0.029923f, -0.017361f, 0.021456f, -0.026364f, -0.011003f, 0.018031f, -0.006073f, 0.022937f, -0.009411f, -0.019074f, 0.005804f, -0.026958f, 0.028223f, -0.004981f, 0.004463f, -0.015493f, -0.007511f, -0.003194f, -0.027740f, -0.018643f, 0.001564f, -0.006556f, 0.002099f, -0.011010f, -0.029379f, 0.003100f, -0.024430f, 0.008220f, -0.006622f, 0.014664f, -0.029359f, 0.010238f, 0.004224f, -0.011053f, 0.020631f, -0.005835f, -0.015636f, -0.031722f, -0.005013f, 0.002081f, -0.024599f, 0.011312f, -0.018684f, -0.006124f, 0.012638f, -0.013617f, 0.003700f, 0.015277f, 0.022674f, -0.006761f, 0.001799f, -0.008851f, -0.032141f, -0.007179f, -0.007570f, 0.013147f, -0.028399f, -0.000499f, -0.016798f, 0.016687f, -0.020202f, -0.026571f, 0.016450f, - 0.007712f, 0.010320f, 0.035871f, -0.007020f, -0.010575f, 0.009099f, -0.023313f, -0.028119f, 0.002098f, 0.033414f, 0.010439f, 0.018216f, -0.013824f, -0.018201f, -0.027469f, 0.004232f, 0.035181f, -0.017031f, 0.018481f, 0.002884f, 0.027486f, -0.043131f, -0.013026f, -0.002107f, 0.005222f, 0.022343f, 0.011859f, -0.033308f, -0.008162f, -0.016292f, -0.000726f, -0.038205f, -0.005142f, -0.014790f, 0.003244f, -0.020925f, -0.000470f, 0.002801f, -0.052579f, 0.004418f, -0.015734f, 0.001539f, -0.020001f, -0.002925f, 0.014485f, 0.004937f, -0.005700f, -0.008552f, -0.026508f, 0.026655f, 0.029198f, 0.007456f, 0.009015f, -0.025547f, 0.039833f, 0.013411f, 0.020277f, 0.051610f, 0.018784f, 0.035651f, -0.032755f, 0.008830f, 0.036213f, -0.009585f, -0.011911f, 0.006068f, -0.021063f, 0.017793f, 0.004997f, -0.024403f, -0.032697f, -0.001352f, 0.029059f, 0.000455f, -0.001617f, 0.019773f, -0.027069f, -0.005808f, -0.022207f, 0.014091f, -0.038302f, 0.001954f, -0.007786f, 0.015479f, -0.040106f, -0.026666f, -0.017295f, 0.013306f, 0.013461f, 0.010485f, -0.012814f, 0.011340f, -0.009491f, 0.013545f, -0.007782f, -0.002009f, - -0.002596f, -0.009817f, 0.007863f, 0.019581f, 0.010773f, 0.019739f, -0.001479f, -0.015849f, 0.002437f, -0.015736f, 0.046388f, -0.009992f, -0.046008f, -0.012454f, 0.012177f, 0.041603f, -0.040241f, -0.014526f, -0.003168f, 0.027482f, 0.000915f, -0.054367f, -0.007809f, 0.027970f, 0.052580f, 0.003989f, 0.036029f, 0.055850f, -0.005645f, 0.019338f, 0.023426f, -0.005066f, 0.043392f, -0.004270f, 0.052307f, 0.010547f, -0.019046f, -0.046316f, 0.021256f, 0.025759f, -0.044313f, -0.043054f, 0.011327f, -0.010032f, 0.001271f, -0.017099f, 0.040069f, -0.017991f, -0.011661f, 0.014038f, 0.009926f, 0.000487f, -0.018521f, -0.013323f, -0.022520f, 0.009158f, -0.001474f, -0.010637f, -0.001977f, 0.026916f, 0.039910f, -0.043156f, -0.002990f, -0.042064f, -0.004741f, -0.010650f, 0.041711f, -0.017393f, -0.017187f, -0.007794f, 0.025269f, 0.008873f, 0.006771f, 0.011140f, 0.009935f, -0.007105f, 0.000215f, -0.004973f, 0.006526f, -0.004441f, 0.038981f, -0.009611f, 0.010130f, 0.028334f, -0.014695f, -0.031001f, 0.006778f, 0.011626f, -0.011439f, -0.011288f, -0.002909f, 0.007499f, 0.019693f, -0.026122f, 0.036245f, 0.054769f, - 0.035857f, -0.013737f, -0.021767f, -0.048164f, -0.064023f, -0.021920f, -0.000107f, -0.009721f, -0.002924f, -0.005139f, 0.015905f, 0.001214f, -0.023705f, 0.016099f, -0.009179f, 0.001693f, 0.026757f, 0.045232f, -0.022260f, 0.043657f, 0.019946f, 0.025076f, 0.037371f, 0.057425f, -0.021287f, 0.029982f, -0.057990f, -0.006656f, -0.025698f, -0.056990f, 0.023863f, 0.014180f, 0.018100f, 0.008247f, 0.023388f, 0.007512f, -0.040834f, 0.035426f, 0.062194f, -0.008670f, -0.009329f, 0.015638f, 0.006707f, -0.012320f, -0.054342f, 0.005051f, 0.000782f, -0.004443f, 0.001333f, 0.019241f, -0.038676f, 0.009057f, 0.011748f, -0.007519f, -0.022052f, -0.010481f, -0.024643f, 0.026275f, -0.055783f, -0.007604f, -0.035660f, 0.020723f, 0.008765f, 0.021016f, -0.006559f, 0.006162f, -0.013794f, 0.035122f, 0.011021f, 0.028957f, -0.025134f, 0.028493f, 0.000020f, -0.026595f, 0.056984f, -0.008637f, 0.007581f, 0.038766f, -0.035841f, 0.043406f, 0.026219f, -0.032592f, 0.014882f, -0.011888f, 0.019581f, -0.045326f, 0.034779f, 0.005865f, 0.012987f, -0.003154f, 0.012354f, -0.036277f, 0.026101f, 0.043997f, -0.077330f, 0.008778f, - 0.034698f, -0.020424f, -0.024702f, -0.000411f, -0.023652f, -0.010492f, -0.063027f, -0.053630f, -0.007190f, -0.030567f, -0.036964f, -0.026385f, 0.016764f, -0.009075f, -0.018623f, -0.029751f, 0.028151f, 0.002411f, -0.045526f, -0.006651f, -0.000089f, -0.021171f, -0.006689f, 0.019167f, 0.013478f, -0.002575f, 0.000296f, 0.001538f, -0.011359f, 0.010455f, 0.021445f, -0.007270f, -0.005003f, 0.033535f, -0.061481f, -0.009227f, 0.017394f, 0.066482f, -0.027125f, -0.016150f, -0.024444f, -0.032390f, 0.014566f, 0.070623f, 0.012964f, 0.044163f, 0.008930f, -0.006020f, -0.003629f, -0.004033f, -0.033604f, 0.008551f, 0.007609f, -0.026112f, 0.006066f, 0.055732f, -0.008822f, -0.015372f, 0.009133f, -0.018034f, -0.004461f, 0.049604f, 0.070994f, 0.020886f, 0.042668f, 0.051121f, -0.017351f, -0.018484f, 0.005810f, -0.013945f, 0.003125f, -0.046036f, 0.000105f, -0.034756f, 0.012475f, 0.012102f, 0.024178f, 0.050970f, 0.057513f, -0.022269f, 0.129387f, -0.017141f, 0.003562f, -0.023284f, 0.015786f, -0.009549f, 0.015598f, 0.033593f, 0.010013f, -0.030346f, -0.016106f, -0.031745f, 0.000120f, -0.021413f, -0.039267f, 0.005814f, - 0.026579f, -0.003943f, 0.008217f, 0.012716f, 0.015877f, 0.000165f, -0.010829f, -0.014674f, 0.008346f, 0.000253f, -0.019205f, 0.008139f, 0.056070f, 0.039426f, 0.022957f, -0.046688f, 0.034430f, 0.026583f, -0.011662f, -0.014141f, -0.013645f, -0.018640f, -0.007362f, 0.015310f, -0.033270f, 0.003287f, 0.004955f, 0.020372f, 0.053495f, 0.010094f, 0.011649f, 0.002688f, -0.005617f, -0.010960f, 0.023576f, -0.014271f, 0.053965f, 0.016619f, -0.004514f, 0.022660f, 0.005038f, -0.036803f, -0.025294f, 0.029180f, 0.035409f, 0.011560f, -0.008372f, 0.021414f, 0.025205f, 0.033253f, 0.069560f, 0.004350f, -0.020390f, -0.040088f, -0.024928f, 0.011565f, 0.001496f, 0.013157f, 0.020973f, -0.019921f, 0.092176f, -0.013608f, 0.003992f, 0.010298f, -0.006869f, -0.001188f, 0.023182f, -0.017028f, -0.020163f, -0.010526f, 0.029893f, 0.026726f, -0.071079f, 0.013850f, 0.012301f, 0.029250f, -0.018079f, -0.027956f, -0.026626f, 0.020516f, 0.018573f, -0.028546f, -0.015532f, -0.011612f, 0.048075f, 0.024297f, 0.013639f, -0.009085f, -0.049448f, 0.014289f, 0.012676f, 0.025833f, -0.005967f, 0.013869f, -0.013589f, 0.005135f, - -0.042944f, 0.018232f, 0.017797f, 0.000991f, -0.010544f, -0.026645f, -0.053498f, 0.035213f, -0.022492f, 0.018368f, 0.018405f, 0.031265f, 0.004298f, -0.032070f, 0.054333f, 0.011333f, -0.053297f, -0.023898f, 0.031578f, 0.008435f, 0.041271f, 0.018601f, 0.006305f, -0.036770f, -0.019545f, 0.022443f, -0.067075f, 0.072471f, -0.052356f, 0.004623f, 0.040181f, -0.009369f, 0.080842f, 0.015154f, 0.009624f, -0.027564f, 0.087941f, 0.013105f, 0.025374f, -0.015368f, 0.028344f, 0.071993f, 0.021234f, 0.043758f, 0.056788f, -0.006519f, 0.065694f, -0.057611f, -0.023257f, -0.024114f, -0.021794f, 0.003573f, 0.007336f, -0.008481f, -0.027786f, -0.050063f, 0.040245f, 0.037967f, 0.013660f, 0.033926f, -0.066017f, -0.057465f, 0.013959f, 0.021755f, -0.032756f, -0.044041f, 0.021539f, -0.016520f, -0.061876f, -0.025053f, -0.015176f, 0.024718f, -0.057263f, 0.025543f, 0.015717f, 0.019455f, -0.029064f, -0.005287f, -0.028816f, -0.014572f, -0.074965f, -0.020999f, 0.029950f, -0.115766f, -0.039832f, -0.008028f, -0.006876f, 0.000164f, -0.071781f, -0.020454f, -0.105910f, -0.012113f, 0.015599f, -0.032518f, -0.036242f, -0.016715f, - 0.026009f, -0.013845f, -0.041145f, -0.045201f, -0.110474f, -0.041162f, 0.044948f, -0.050185f, -0.075913f, 0.056460f, -0.023402f, -0.083205f, 0.019563f, 0.069482f, -0.043369f, -0.020185f, 0.004106f, -0.054756f, 0.060448f, 0.089518f, 0.122972f, -0.017073f, -0.002156f, -0.045518f, -0.046287f, -0.080305f, 0.036344f, -0.011822f, 0.122445f, -0.023316f, -0.051209f, -0.070598f, 0.005309f, 0.025132f, -0.025996f, 0.025399f, 0.080078f, -0.028784f, -0.013380f, -0.052624f, -0.024549f, 0.056381f, 0.062304f, -0.059366f, -0.017262f, 0.034841f, -0.013190f, 0.017156f, -0.018467f, 0.080963f, 0.062369f, 0.135895f, 0.043090f, 0.062021f, -0.026386f, 0.045530f, 0.089268f, 0.032675f, -0.006291f, 0.024602f, -0.003744f, 0.062264f, 0.029703f, 0.089180f, 0.022981f, -0.081952f, 0.028990f, 0.037391f, 0.069438f, -0.035329f, -0.035352f, 0.045518f, 0.042694f, -0.016585f, 0.069173f, -0.020126f, 0.026912f, -0.073318f, 0.046984f, -0.013213f, 0.024312f, 0.033206f, 0.059251f, 0.059633f, -0.046608f, -0.039200f, -0.018460f, 0.071381f, 0.061642f, -0.018884f, -0.041987f, -0.064386f, -0.014298f, 0.055469f, 0.047950f, 0.040299f, - -0.024656f, -0.093296f, 0.011937f, 0.155974f, 0.095104f, -0.015859f, -0.216063f, -0.026382f, -0.017506f, 0.022559f, -0.020242f, 0.009502f, 0.027942f, -0.003081f, 0.014822f, -0.042675f, 0.035566f, 0.042425f, 0.073158f, -0.043867f, -0.057580f, 0.070163f, 0.107085f, 0.031437f, -0.040633f, -0.054819f, -0.008193f, 0.021012f, 0.010548f, 0.022042f, 0.005216f, 0.028459f, 0.013911f, 0.072800f, -0.016463f, -0.085569f, -0.034850f, 0.035711f, 0.015710f, -0.025386f, -0.035183f, 0.011778f, 0.048240f, 0.083361f, 0.075519f, 0.005180f, 0.006282f, 0.035743f, -0.022080f, -0.072143f, 0.029296f, -0.042200f, 0.100359f, 0.111576f, 0.003331f, 0.037010f, 0.020471f, 0.028606f, -0.040367f, 0.001464f, 0.104966f, -0.028918f, 0.007000f, -0.125844f, -0.011558f, 0.024449f, 0.037765f, 0.039068f, 0.034853f, -0.022890f, -0.013544f, 0.072324f, 0.097152f, -0.002925f, 0.004600f, 0.024422f, 0.008654f, -0.013163f, -0.101185f, -0.042656f, 0.077503f, 0.086121f, 0.081099f, 0.111406f, 0.017192f, -0.049824f, -0.151104f, -0.114151f, -0.023720f, 0.030409f, 0.091719f, 0.101552f, 0.045787f, 0.001318f, -0.052838f, -0.044137f, - -0.022242f, 0.031200f, 0.084807f, 0.049237f, -0.015013f, 0.002493f, -0.010776f, -0.048999f, -0.069950f, -0.054750f, 0.006137f, 0.080502f, 0.056645f, 0.121379f, 0.074784f, 0.078020f, 0.105704f, -0.032621f, -0.081359f, -0.087246f, -0.120653f, -0.142397f, -0.059272f, -0.017122f, 0.036152f, 0.077834f, 0.106503f, 0.105177f, 0.078910f, 0.053913f, 0.101176f, -0.021565f, -0.076395f, -0.003576f, -0.025851f, 0.028331f, 0.023808f, 0.129100f, 0.103347f, -0.042484f, 0.009739f, -0.029925f, -0.098070f, -0.026066f, 0.010419f, -0.052684f, 0.066622f, -0.032823f, 0.011340f, 0.006265f, -0.026508f, 0.069131f, 0.077015f, 0.076934f, 0.031479f, -0.039797f, -0.122488f, 0.053299f, 0.015965f, -0.210843f, -0.222351f, -0.232017f, -0.237811f, -0.318452f, -0.023897f, -0.081942f, -0.010657f, 0.042097f, 0.162244f, 0.181967f, 0.188548f, 0.258231f, 0.353676f, 0.338317f, 0.333703f, 0.269234f, 0.198574f, 0.146168f, 0.052531f, -0.145741f, -0.063202f, -0.082175f, -0.045537f, -0.177603f, -0.019690f, -0.068128f, -0.074163f, -0.145920f, -0.108067f, -0.112470f, -0.098951f, -0.106368f, -0.190943f, -0.170592f, -0.095022f, -0.087855f, - -0.109667f, -0.158907f, -0.015640f, -0.138934f, -0.265940f, -0.230198f, -0.198349f, -0.104417f, -0.132632f, -0.021375f, -0.277471f, -0.123376f, -0.119759f, -0.056812f, -0.037184f, -0.146549f, 0.010581f, -0.148501f, -0.015136f, 0.019248f, 0.069612f, 0.000126f, 0.069271f, 0.096616f, 0.161740f, 0.164321f, 0.235538f, 0.141716f, 0.369296f, 0.217842f, 0.425284f, 0.270191f, 0.413938f, 0.469188f, 0.565918f, 0.435974f, 0.432438f, 0.454483f, 0.299365f, 0.128237f, 0.082628f}, - {-0.017642f, 0.019321f, -0.011241f, 0.000801f, -0.009383f, 0.004387f, 0.002124f, 0.003191f, -0.010388f, -0.007148f, 0.000225f, -0.006680f, -0.000759f, 0.004320f, -0.000816f, -0.002311f, -0.001183f, 0.004840f, -0.002007f, -0.003259f, 0.013307f, -0.000032f, -0.010422f, -0.004840f, 0.004458f, 0.001062f, 0.004150f, -0.009208f, 0.001005f, -0.009683f, 0.001462f, 0.008124f, -0.001016f, 0.005127f, 0.005314f, 0.004901f, -0.005454f, -0.002367f, -0.003187f, 0.001758f, -0.001378f, 0.003424f, -0.009015f, -0.004308f, -0.003822f, 0.000461f, -0.002275f, 0.005031f, 0.006558f, 0.010401f, -0.004126f, -0.005629f, -0.002680f, 0.002568f, 0.006815f, 0.007778f, 0.006301f, -0.001414f, -0.009127f, 0.011647f, -0.007642f, 0.004156f, -0.008037f, 0.006696f, -0.005328f, 0.004010f, -0.004847f, 0.000364f, -0.005148f, -0.003638f, -0.000379f, -0.001869f, 0.004009f, 0.002573f, -0.000680f, -0.008320f, 0.031894f, 0.004351f, -0.010256f, 0.005095f, 0.005774f, 0.002093f, -0.013024f, 0.006177f, 0.009540f, -0.009936f, -0.002841f, -0.012211f, -0.002530f, -0.005107f, -0.004338f, -0.001639f, 0.000879f, -0.000291f, 0.001457f, 0.004579f, - -0.005299f, 0.002595f, -0.012448f, 0.004489f, 0.007996f, 0.001785f, -0.003105f, -0.010136f, 0.006938f, -0.004383f, 0.011087f, 0.009381f, -0.000155f, -0.004185f, 0.009098f, 0.010435f, 0.008556f, 0.008510f, 0.002355f, -0.006312f, 0.002296f, 0.008056f, -0.003039f, -0.006599f, 0.006340f, 0.009690f, -0.003886f, 0.005121f, -0.010558f, -0.000771f, -0.009204f, 0.006649f, -0.012347f, -0.003297f, -0.001983f, 0.004497f, 0.006749f, 0.004646f, 0.000077f, -0.006571f, 0.001302f, -0.009137f, -0.005634f, 0.001916f, -0.000580f, -0.005378f, 0.003718f, 0.003448f, 0.001544f, 0.006242f, -0.004359f, 0.002999f, -0.005979f, -0.002156f, -0.001513f, 0.004937f, 0.018000f, -0.018341f, 0.000590f, 0.000225f, -0.004721f, -0.005571f, -0.005935f, 0.001795f, -0.010385f, -0.010234f, 0.001328f, 0.004835f, -0.000483f, 0.005749f, 0.004443f, -0.005663f, 0.002190f, -0.020095f, -0.005004f, -0.004555f, -0.004765f, -0.006389f, -0.007067f, -0.017714f, -0.013811f, 0.001804f, 0.004019f, -0.001022f, 0.009438f, 0.007564f, 0.003103f, -0.003467f, -0.002013f, 0.008877f, -0.003563f, 0.001044f, -0.001413f, -0.009457f, 0.003035f, -0.003206f, - -0.006509f, -0.002532f, 0.007574f, 0.018502f, -0.007185f, 0.002017f, 0.004411f, -0.003487f, 0.005737f, 0.002558f, -0.006592f, 0.003727f, -0.015443f, -0.007156f, 0.000068f, 0.006216f, 0.009638f, -0.006033f, -0.002874f, -0.000734f, -0.022332f, 0.003722f, 0.011390f, 0.000534f, 0.001568f, 0.006185f, -0.003716f, 0.009690f, 0.013141f, -0.001833f, 0.003677f, 0.007753f, 0.007490f, 0.001241f, 0.000410f, -0.004002f, -0.005076f, -0.005043f, -0.015883f, 0.003371f, 0.000307f, -0.015357f, 0.002045f, 0.008230f, 0.012190f, 0.002967f, -0.009247f, 0.020895f, -0.003122f, -0.004388f, 0.009638f, -0.006360f, -0.006277f, 0.000799f, -0.008020f, 0.009200f, 0.009099f, -0.004020f, -0.014533f, -0.007232f, 0.006745f, -0.009357f, 0.019760f, 0.017140f, -0.014209f, -0.017164f, 0.000253f, 0.002974f, -0.016508f, -0.001253f, 0.006295f, 0.004332f, -0.008289f, -0.004791f, 0.018130f, -0.002160f, 0.012342f, -0.001459f, -0.004568f, -0.004501f, -0.009984f, 0.001468f, -0.001815f, 0.009802f, -0.009010f, 0.002116f, -0.002735f, 0.001656f, -0.005547f, -0.000867f, 0.007886f, 0.006489f, -0.011140f, 0.016231f, 0.000746f, -0.000311f, - -0.000917f, -0.001760f, 0.003759f, -0.002542f, -0.015496f, -0.002395f, -0.008621f, 0.012485f, 0.004432f, -0.000072f, 0.014682f, -0.009218f, 0.009264f, 0.009718f, -0.000645f, -0.008611f, -0.038023f, 0.008270f, 0.001654f, 0.026451f, -0.001811f, 0.010396f, -0.014789f, 0.002715f, -0.011168f, -0.002987f, -0.005648f, -0.002111f, 0.004585f, -0.003314f, 0.004262f, 0.008624f, 0.006569f, 0.025046f, 0.017247f, -0.012001f, 0.005510f, -0.001065f, 0.004374f, 0.002552f, -0.003576f, -0.025774f, 0.006087f, -0.001768f, -0.000566f, 0.009120f, -0.001825f, -0.007559f, -0.005225f, -0.001708f, -0.008173f, -0.004752f, -0.020536f, -0.005288f, 0.000224f, -0.007704f, -0.001576f, 0.007807f, 0.011693f, -0.004478f, 0.014522f, -0.011710f, 0.002138f, 0.004422f, 0.001640f, -0.004111f, -0.008105f, 0.004822f, -0.002261f, 0.002669f, -0.006097f, -0.009021f, 0.001244f, 0.003994f, -0.008624f, 0.007087f, -0.005983f, 0.018010f, 0.019793f, -0.007082f, 0.007052f, 0.006656f, -0.001311f, -0.003747f, -0.002950f, -0.025778f, 0.010018f, 0.008591f, 0.000096f, -0.005652f, -0.010449f, -0.000588f, -0.003869f, -0.012379f, -0.007727f, -0.011978f, - 0.012621f, 0.007322f, -0.000727f, 0.014516f, -0.007265f, 0.013050f, -0.013992f, -0.013463f, 0.007064f, -0.021674f, -0.007422f, 0.005841f, 0.013748f, 0.017779f, -0.002680f, 0.013339f, -0.000077f, 0.012711f, 0.004978f, 0.002295f, -0.001659f, 0.000948f, 0.012796f, -0.005652f, -0.000909f, 0.002511f, 0.001477f, -0.011977f, -0.001116f, -0.006393f, 0.025685f, -0.011850f, -0.011829f, -0.002750f, 0.012333f, 0.012202f, 0.010720f, 0.013978f, -0.001952f, 0.002726f, -0.002618f, -0.006649f, 0.005656f, -0.000441f, -0.000854f, -0.007653f, 0.020280f, 0.012376f, -0.005664f, 0.003917f, 0.006328f, -0.010331f, 0.002697f, 0.007816f, -0.001467f, 0.014964f, -0.005512f, -0.001852f, -0.015663f, -0.006039f, -0.013234f, 0.000654f, 0.019475f, -0.007441f, 0.005878f, 0.003246f, 0.001184f, -0.005195f, -0.001232f, 0.000134f, -0.004143f, 0.009075f, -0.008994f, -0.004320f, -0.001082f, -0.003766f, -0.035133f, 0.026098f, 0.003089f, -0.012719f, -0.030967f, -0.002788f, 0.001193f, -0.018224f, -0.001267f, 0.008958f, 0.007780f, 0.000991f, -0.004933f, 0.007145f, 0.022852f, 0.023034f, -0.009288f, -0.010395f, -0.024188f, 0.005215f, - -0.003964f, 0.024232f, -0.009266f, -0.000254f, -0.005110f, 0.009286f, -0.002162f, -0.024284f, 0.008605f, -0.000890f, -0.013990f, 0.000273f, 0.002877f, -0.001738f, -0.001881f, -0.009838f, -0.013431f, 0.008792f, 0.002756f, 0.011418f, -0.009043f, 0.019047f, 0.009616f, -0.003639f, -0.015938f, -0.003063f, 0.006771f, 0.018631f, 0.006485f, -0.010155f, -0.003926f, 0.008789f, 0.006372f, -0.005096f, -0.001710f, 0.009254f, 0.008320f, 0.009757f, 0.019215f, 0.020586f, 0.010990f, 0.011080f, 0.013619f, -0.007070f, 0.003006f, -0.013211f, 0.014737f, 0.002366f, 0.008173f, -0.009389f, -0.013481f, 0.003608f, -0.017562f, -0.006784f, -0.006890f, 0.013846f, -0.012860f, -0.000849f, 0.023798f, 0.014597f, 0.020106f, 0.003753f, -0.022190f, -0.007375f, 0.023367f, -0.006856f, -0.014952f, -0.015573f, -0.015336f, -0.016219f, 0.008781f, 0.008923f, 0.005697f, 0.005211f, 0.005385f, 0.022481f, -0.002877f, 0.009707f, -0.019470f, -0.021901f, 0.014524f, -0.000865f, -0.011987f, 0.000764f, -0.030465f, -0.010012f, -0.010314f, 0.003642f, -0.001143f, -0.002896f, -0.021449f, -0.014086f, 0.002304f, 0.014669f, 0.023926f, -0.009610f, - -0.009471f, 0.012685f, -0.016527f, -0.001284f, -0.000889f, 0.005408f, 0.010457f, 0.008452f, 0.016599f, -0.009045f, 0.024089f, 0.011245f, -0.026057f, 0.012877f, -0.014471f, -0.017434f, -0.014346f, -0.021077f, 0.018969f, 0.004245f, -0.022202f, 0.002312f, 0.004814f, 0.001784f, 0.003687f, -0.004434f, 0.015906f, -0.009548f, 0.012357f, -0.019970f, 0.015110f, -0.010650f, -0.008378f, 0.000686f, 0.007422f, -0.002976f, 0.012172f, 0.051098f, -0.043076f, 0.022225f, 0.023110f, -0.018486f, -0.002060f, 0.031214f, 0.012301f, 0.020408f, 0.007184f, -0.004923f, 0.046127f, -0.000188f, -0.006787f, 0.001561f, 0.001702f, 0.023010f, 0.035079f, 0.014317f, 0.001319f, 0.002304f, 0.006584f, 0.013159f, 0.001391f, 0.007760f, -0.021882f, 0.012753f, 0.019821f, -0.002163f, 0.009008f, 0.001681f, 0.004953f, -0.013416f, -0.010224f, 0.002555f, 0.001051f, 0.022408f, 0.011795f, 0.010292f, -0.007131f, -0.008965f, -0.009113f, 0.013678f, 0.018911f, 0.001936f, -0.003952f, 0.035621f, 0.019141f, 0.024430f, -0.010529f, -0.023357f, -0.003134f, -0.024515f, -0.015685f, -0.006021f, -0.009290f, 0.000463f, 0.021537f, -0.004225f, - 0.002571f, -0.014085f, -0.015407f, 0.021866f, 0.000940f, 0.011443f, 0.011863f, -0.007913f, 0.021070f, 0.007440f, 0.003992f, -0.003866f, -0.010173f, 0.017870f, -0.001765f, -0.022769f, 0.018313f, 0.017918f, -0.035265f, 0.003640f, 0.010741f, -0.017582f, 0.013457f, -0.029923f, 0.005951f, 0.008449f, -0.004664f, -0.012110f, -0.015764f, -0.017850f, -0.030348f, 0.003357f, 0.032607f, -0.011400f, 0.015214f, 0.008651f, 0.023933f, 0.012940f, -0.010459f, -0.021673f, 0.009947f, -0.005637f, -0.008739f, -0.022381f, -0.004492f, -0.003141f, -0.010076f, -0.009625f, -0.006378f, -0.015678f, -0.021810f, 0.023837f, -0.003733f, -0.013878f, 0.017300f, 0.006640f, -0.017860f, 0.002523f, -0.002775f, 0.010768f, -0.023372f, 0.006266f, 0.005750f, -0.031905f, 0.008920f, 0.010706f, -0.018410f, 0.005020f, -0.000729f, -0.004880f, 0.009774f, 0.001455f, -0.004435f, 0.001821f, 0.005709f, 0.022096f, 0.014765f, 0.022585f, 0.012632f, 0.008413f, -0.008533f, 0.033471f, -0.011392f, -0.016212f, 0.033181f, 0.003111f, 0.018430f, 0.005467f, -0.011089f, -0.033092f, -0.035850f, -0.007002f, -0.003307f, -0.011782f, -0.012023f, -0.059698f, - 0.026114f, 0.047595f, 0.001363f, -0.030228f, 0.010743f, -0.007248f, -0.004085f, 0.006104f, 0.002672f, 0.010751f, -0.017178f, -0.000290f, 0.042331f, 0.032164f, 0.027716f, -0.034655f, -0.003586f, 0.006002f, 0.014854f, -0.017675f, -0.019782f, -0.006485f, 0.003366f, 0.013450f, 0.005399f, -0.043988f, -0.049948f, 0.012801f, -0.003914f, 0.024822f, 0.025150f, -0.019782f, 0.020378f, 0.016299f, 0.021898f, -0.003698f, -0.016961f, -0.017140f, 0.009127f, -0.018040f, -0.008667f, -0.002076f, -0.003268f, 0.012471f, 0.028297f, 0.015297f, -0.011144f, -0.009408f, -0.018047f, -0.006030f, -0.001433f, 0.006225f, -0.006162f, -0.007613f, 0.012260f, 0.007389f, -0.026382f, -0.002518f, -0.002154f, 0.025848f, -0.017360f, -0.018366f, -0.033972f, -0.012655f, 0.001742f, -0.000221f, 0.012142f, -0.005675f, 0.000078f, -0.015919f, -0.024484f, -0.020568f, -0.023135f, -0.012549f, 0.003822f, -0.038866f, 0.007927f, 0.007292f, 0.006351f, 0.010142f, 0.029953f, 0.003084f, 0.026154f, -0.002777f, 0.033707f, 0.016953f, 0.026546f, 0.016274f, 0.008513f, -0.012077f, -0.000152f, -0.007390f, 0.018656f, 0.005628f, 0.016575f, -0.014223f, - -0.001295f, 0.027527f, -0.032120f, -0.018332f, 0.027438f, -0.043791f, -0.018019f, 0.003566f, -0.006935f, -0.021605f, 0.045967f, -0.007747f, 0.032293f, 0.012459f, -0.025060f, -0.003988f, -0.008312f, -0.032268f, -0.040170f, 0.033543f, 0.001589f, -0.012262f, 0.010273f, 0.000514f, -0.003507f, 0.012063f, 0.006958f, -0.004538f, -0.013176f, 0.002696f, 0.034067f, 0.026527f, -0.019646f, 0.008389f, 0.004390f, 0.024583f, -0.008601f, 0.016428f, -0.033040f, -0.009364f, 0.027780f, 0.007522f, -0.004826f, 0.028503f, -0.005639f, 0.019609f, -0.035957f, -0.047219f, -0.012169f, -0.000362f, -0.027663f, 0.033850f, 0.030682f, 0.034192f, -0.009498f, -0.013999f, -0.003383f, 0.040161f, 0.028872f, 0.045254f, -0.040284f, -0.030318f, -0.068975f, 0.029627f, -0.007704f, -0.058999f, -0.011449f, 0.005492f, 0.008658f, -0.022120f, 0.023967f, 0.020144f, 0.002265f, -0.000396f, 0.003736f, -0.009903f, -0.020519f, 0.004368f, -0.011671f, -0.019365f, -0.000255f, 0.044482f, 0.001383f, -0.006974f, -0.035719f, 0.014856f, 0.028198f, -0.014820f, -0.043101f, -0.008064f, 0.014514f, 0.004888f, -0.009162f, 0.009106f, 0.003049f, 0.015195f, - -0.004385f, 0.025236f, 0.039036f, 0.014426f, -0.026026f, 0.029064f, 0.013201f, -0.033689f, -0.035482f, 0.038046f, 0.018530f, -0.015472f, -0.017385f, -0.001378f, -0.031514f, 0.022405f, 0.030119f, -0.001346f, 0.001529f, 0.006934f, -0.004086f, 0.032363f, 0.010894f, 0.007757f, -0.014021f, 0.004383f, 0.010859f, 0.039790f, -0.010194f, 0.014356f, -0.032115f, -0.037708f, 0.031734f, -0.006903f, -0.003485f, 0.000503f, 0.030202f, -0.004078f, -0.007629f, -0.010603f, -0.014653f, -0.047743f, -0.004973f, -0.031604f, -0.063065f, -0.064891f, -0.028735f, -0.049787f, -0.023251f, -0.008916f, 0.007589f, 0.026223f, 0.029232f, 0.002093f, -0.017636f, 0.031742f, -0.017845f, 0.015146f, -0.062347f, -0.006999f, -0.043159f, -0.029124f, 0.027188f, 0.018988f, 0.018174f, 0.005509f, 0.039669f, -0.005068f, -0.003814f, -0.030388f, -0.011481f, -0.006840f, -0.021334f, -0.021148f, -0.051533f, -0.020634f, -0.006849f, -0.008963f, -0.032400f, 0.026643f, 0.009619f, 0.015571f, -0.015030f, -0.006088f, -0.077608f, -0.022781f, -0.022395f, 0.016866f, 0.037680f, -0.024855f, -0.005112f, -0.045192f, -0.004652f, 0.022100f, -0.008754f, -0.015762f, - 0.008488f, 0.032027f, 0.054407f, 0.010986f, 0.000184f, -0.003896f, -0.016657f, -0.023249f, 0.013248f, -0.015698f, 0.048953f, 0.008888f, 0.019940f, 0.102129f, -0.022660f, -0.019560f, -0.028399f, -0.039613f, -0.050569f, 0.030584f, 0.049700f, -0.027511f, 0.002728f, 0.011992f, -0.015460f, -0.002948f, -0.034910f, 0.000301f, -0.018987f, 0.053634f, 0.001337f, -0.008950f, 0.043610f, -0.009795f, 0.013668f, -0.047569f, 0.026551f, 0.008356f, 0.034188f, -0.014476f, 0.025842f, 0.043843f, 0.047735f, 0.026702f, 0.043194f, 0.022062f, -0.005143f, 0.041187f, -0.018115f, -0.026094f, -0.007029f, 0.016830f, 0.029028f, -0.065481f, -0.002957f, -0.042204f, 0.035409f, 0.015730f, 0.000730f, 0.012000f, 0.048983f, 0.002327f, 0.043894f, 0.018310f, 0.065663f, 0.005946f, -0.005698f, 0.028182f, 0.010875f, -0.032609f, 0.008625f, -0.003817f, -0.042227f, 0.030678f, -0.024841f, -0.042919f, -0.085892f, 0.006577f, -0.009216f, 0.051161f, -0.027107f, 0.068488f, 0.024252f, -0.001592f, -0.009029f, 0.026339f, 0.029787f, -0.050961f, -0.020083f, -0.037907f, 0.014362f, -0.017636f, 0.039121f, 0.010624f, 0.013054f, 0.011319f, - 0.035638f, -0.019817f, -0.022566f, -0.022008f, 0.034260f, 0.019126f, 0.043875f, 0.014147f, 0.131040f, -0.035636f, 0.002812f, 0.003663f, 0.062056f, 0.027589f, 0.029794f, -0.036543f, 0.019249f, -0.012649f, 0.003031f, -0.015275f, 0.005871f, 0.046346f, -0.009596f, 0.016805f, 0.085539f, 0.029420f, -0.036238f, -0.041242f, 0.006822f, 0.057897f, 0.030093f, 0.013717f, -0.019600f, 0.049922f, 0.009381f, -0.003412f, -0.049687f, 0.019199f, -0.006758f, 0.025689f, -0.045099f, -0.024566f, 0.003654f, -0.007951f, 0.007273f, -0.039309f, -0.000397f, -0.022323f, 0.013280f, 0.042550f, 0.031605f, 0.014354f, -0.058512f, 0.004957f, 0.006631f, -0.048890f, -0.047119f, -0.026892f, -0.025571f, -0.021125f, 0.042773f, 0.014832f, -0.000921f, 0.032996f, 0.044164f, 0.017393f, 0.038087f, 0.006975f, 0.024993f, 0.174651f, -0.038902f, 0.034443f, 0.018613f, -0.022369f, 0.005515f, -0.104200f, 0.003588f, 0.030014f, 0.073157f, -0.026817f, 0.003431f, -0.040907f, -0.028105f, 0.015606f, 0.035053f, -0.033108f, 0.050426f, 0.023632f, -0.053973f, 0.041123f, -0.018613f, -0.024766f, 0.003021f, -0.030955f, 0.013914f, -0.011373f, - 0.051483f, -0.021920f, 0.003642f, 0.029699f, -0.082678f, 0.017110f, 0.033394f, -0.022306f, 0.027824f, -0.049103f, 0.059597f, 0.010195f, 0.015463f, -0.096871f, 0.097712f, 0.043472f, 0.036500f, 0.006297f, -0.051062f, 0.057169f, 0.003411f, -0.021959f, 0.100350f, -0.014359f, -0.033902f, -0.017377f, 0.018577f, 0.031256f, 0.033083f, 0.011036f, -0.008045f, -0.105756f, -0.004490f, 0.031735f, 0.009790f, 0.044607f, -0.049266f, 0.063817f, 0.014820f, 0.024390f, -0.049566f, -0.012708f, 0.018941f, 0.080199f, -0.021654f, 0.021997f, -0.043933f, 0.052307f, 0.037960f, 0.049521f, -0.005815f, 0.024062f, 0.020318f, -0.055909f, -0.043386f, 0.033578f, 0.039407f, 0.012493f, -0.004230f, -0.080879f, 0.082929f, -0.012228f, -0.013860f, -0.025895f, -0.003818f, -0.062962f, -0.120787f, 0.047959f, 0.041453f, -0.001133f, -0.020571f, -0.046935f, -0.002956f, -0.011562f, -0.021639f, 0.053968f, -0.106861f, -0.043824f, -0.053534f, -0.013432f, -0.079678f, -0.003606f, -0.006657f, 0.001228f, -0.007923f, -0.013081f, 0.020460f, 0.003484f, -0.031116f, -0.007528f, 0.006211f, -0.047550f, -0.020441f, -0.010876f, 0.011364f, 0.044507f, - -0.012666f, 0.084750f, -0.033719f, -0.001321f, 0.042207f, -0.030958f, 0.030604f, 0.009482f, -0.045676f, -0.077127f, -0.010433f, 0.026253f, 0.085190f, 0.037993f, -0.046653f, -0.018568f, -0.153465f, -0.049144f, 0.000245f, 0.041090f, 0.102515f, 0.002099f, -0.081946f, 0.012723f, 0.067241f, -0.011094f, 0.012056f, 0.064178f, 0.076536f, 0.143462f, -0.126578f, -0.016881f, 0.044960f, 0.051371f, -0.017465f, -0.037003f, -0.040830f, -0.048087f, 0.019982f, -0.049625f, 0.010467f, -0.020872f, -0.118035f, 0.025106f, -0.021075f, 0.033156f, -0.033344f, -0.034714f, 0.001501f, -0.050402f, 0.007408f, -0.050859f, -0.001865f, -0.010192f, -0.020142f, 0.022073f, -0.037552f, -0.049701f, -0.044508f, -0.058120f, -0.010050f, -0.007974f, 0.061940f, 0.011958f, -0.046060f, -0.069700f, 0.008514f, -0.003422f, 0.015840f, -0.015257f, 0.037665f, -0.046690f, -0.017813f, -0.064786f, -0.040054f, -0.020272f, 0.002201f, -0.028786f, 0.065460f, -0.025243f, -0.055342f, 0.014761f, 0.068228f, 0.046452f, 0.020770f, -0.050646f, -0.030270f, -0.007799f, 0.062566f, 0.114604f, 0.000267f, 0.019923f, -0.020965f, -0.118572f, -0.023400f, 0.006811f, - 0.045653f, 0.094347f, -0.051820f, -0.070867f, 0.042134f, 0.013945f, -0.019594f, -0.001969f, -0.032471f, 0.016936f, -0.092465f, -0.017691f, 0.011335f, 0.016017f, -0.051815f, 0.058315f, -0.086900f, -0.120947f, -0.089933f, 0.070259f, 0.021991f, -0.123160f, -0.021289f, -0.084652f, 0.038868f, 0.008121f, -0.169889f, 0.012673f, -0.051847f, -0.109360f, -0.085353f, -0.124875f, 0.078631f, -0.037172f, -0.098657f, -0.043216f, 0.032834f, -0.057655f, -0.050474f, -0.038225f, -0.023061f, -0.042184f, -0.043018f, -0.078661f, -0.057636f, -0.108469f, -0.061665f, -0.054031f, -0.017855f, -0.049695f, -0.009908f, -0.021814f, -0.000672f, 0.006967f, 0.015598f, 0.033938f, -0.029536f, 0.028949f, 0.004163f, 0.060177f, 0.025836f, 0.039136f, 0.036978f, -0.099652f, -0.025942f, 0.087514f, -0.012866f, -0.046923f, -0.056587f, -0.038064f, 0.035002f, 0.139683f, -0.007091f, 0.003811f, -0.088101f, -0.085603f, -0.017229f, 0.025826f, 0.082673f, 0.001941f, 0.075804f, 0.035264f, -0.085606f, 0.168710f, 0.006281f, 0.134208f, 0.003927f, -0.020722f, 0.070864f, -0.077137f, -0.110830f, -0.060115f, -0.250315f, -0.139622f, -0.043393f, 0.130960f, - -0.042926f, -0.105215f, 0.123646f, 0.117922f, -0.073501f, -0.096190f, 0.000500f, 0.105619f, -0.010368f, -0.006093f, -0.031676f, 0.092146f, -0.008922f, -0.024818f, -0.000820f, 0.025153f, 0.048902f, 0.000832f, -0.033884f, -0.041029f, 0.058711f, 0.003547f, -0.022528f, -0.061667f, 0.036670f, 0.018168f, -0.004724f, -0.049029f, 0.017420f, 0.019454f, 0.019610f, -0.031664f, -0.015588f, 0.003901f, 0.049724f, -0.015412f, 0.019790f, -0.070820f, -0.016138f, -0.001785f, 0.048739f, -0.098205f, -0.013759f, 0.007141f, 0.072808f, -0.035647f, 0.014515f, -0.051690f, 0.010674f, 0.017597f, -0.029617f, -0.028702f, 0.000384f, 0.008098f, 0.025720f, -0.025281f, 0.006330f, -0.089293f, 0.051469f, -0.018176f, 0.085632f, -0.053898f, 0.041436f, -0.038289f, 0.043133f, 0.002241f, 0.031142f, 0.016123f, -0.055953f, 0.065153f, 0.020536f, 0.034996f, -0.062260f, 0.013246f, -0.011461f, 0.005283f, -0.036363f, -0.080423f, -0.106846f, 0.077336f, 0.051170f, -0.061059f, -0.086913f, -0.042730f, 0.039703f, 0.020705f, 0.052928f, 0.057077f, 0.010857f, -0.029240f, -0.008831f, 0.019778f, -0.020140f, -0.001909f, 0.011458f, 0.002968f, - 0.031701f, 0.022176f, 0.009306f, -0.029190f, -0.001516f, -0.018176f, 0.018185f, -0.030558f, -0.026712f, 0.021737f, -0.007472f, -0.012587f, -0.012604f, -0.021310f, -0.029380f, 0.001965f, 0.023061f, 0.021281f, 0.017504f, -0.007086f, -0.024363f, -0.020906f, -0.015036f, 0.025499f, 0.034387f, -0.016514f, -0.025062f, -0.010779f, 0.028391f, 0.014799f, 0.038174f, -0.027634f, -0.011124f, 0.015168f, -0.008029f, 0.001118f, -0.004898f, 0.013636f, 0.007500f, 0.011003f, 0.001545f, -0.026378f, 0.010053f, 0.004804f, -0.001818f, 0.020301f, -0.011434f, -0.005191f, 0.002642f, -0.003663f, 0.001757f, -0.007383f, 0.033686f, 0.009167f, -0.003437f, 0.034109f, 0.031288f, 0.037284f, -0.087947f, -0.232823f, -0.085079f, 0.042633f, 0.122308f, 0.257362f, 0.172545f, 0.044916f, 0.065910f, -0.033593f, -0.103626f, -0.172790f, -0.150094f, -0.119326f, -0.033746f, 0.005284f, 0.084367f, 0.092699f, 0.196837f, 0.095764f, 0.063632f, -0.004297f, -0.040842f, -0.093707f, -0.048030f, -0.075674f, -0.086984f, -0.053581f, -0.044347f, -0.002831f, 0.025517f, 0.073841f, 0.046360f, 0.053130f, 0.048904f, 0.048832f, 0.073825f, 0.006732f, - 0.051528f, -0.008920f, -0.021439f, -0.060979f, -0.035337f, -0.091169f, -0.133441f, -0.117406f, 0.002733f, -0.019758f, 0.038360f, 0.063505f, 0.036201f, 0.097785f, 0.086840f, 0.123480f, 0.071940f, 0.083690f, 0.005971f, 0.004025f, -0.064004f, -0.108015f, -0.123814f, -0.151583f, -0.096997f, -0.124097f, -0.007665f, -0.001170f, 0.062647f, 0.061494f, 0.153127f, 0.116142f, 0.171448f, 0.066082f, 0.083899f, 0.030162f, 0.007428f, -0.103700f, -0.130423f, -0.054680f, -0.037216f} - }, - { - {-0.011648f, 0.011284f, -0.008970f, 0.013289f, -0.002614f, -0.008362f, 0.002620f, 0.006764f, -0.003104f, 0.001663f, 0.006230f, -0.009285f, -0.006331f, -0.001735f, -0.005665f, 0.017967f, -0.007115f, 0.017668f, 0.005119f, 0.005993f, -0.002325f, -0.003817f, -0.006236f, -0.008200f, 0.000229f, 0.007699f, 0.000643f, 0.000997f, -0.004656f, 0.005098f, 0.007054f, 0.000604f, -0.003833f, -0.009288f, 0.006245f, -0.001724f, 0.007158f, -0.003047f, 0.001299f, 0.003204f, -0.005192f, 0.000033f, -0.009129f, 0.012456f, -0.000132f, 0.001842f, -0.001141f, -0.010910f, -0.002817f, -0.003217f, 0.000880f, 0.001760f, 0.006378f, 0.002867f, -0.004297f, -0.006640f, 0.003219f, -0.003981f, -0.002069f, 0.007896f, -0.004392f, 0.005589f, -0.007763f, 0.004229f, -0.008993f, 0.004500f, -0.006026f, -0.003205f, 0.009115f, 0.004184f, 0.004955f, -0.001339f, 0.000714f, 0.002010f, 0.002247f, 0.003204f, 0.014190f, 0.001462f, -0.003918f, -0.004082f, 0.002412f, -0.006932f, -0.000176f, -0.013457f, 0.009548f, 0.012169f, 0.008445f, 0.011981f, -0.014495f, 0.001142f, 0.003207f, -0.005158f, -0.004050f, -0.003528f, -0.016977f, -0.002848f, - 0.009932f, -0.017283f, -0.014151f, 0.008176f, 0.007294f, -0.011095f, -0.003992f, 0.007364f, 0.000818f, 0.008956f, 0.003698f, 0.009335f, -0.005982f, 0.001815f, 0.001147f, -0.002432f, 0.004184f, 0.003456f, 0.006160f, 0.002709f, -0.002956f, 0.000672f, 0.006885f, -0.001834f, -0.003393f, -0.001110f, -0.008729f, -0.018745f, 0.010999f, 0.005545f, -0.006110f, 0.008387f, -0.003538f, 0.001051f, -0.000532f, 0.003993f, -0.005231f, -0.001122f, 0.010855f, -0.010291f, -0.004502f, 0.003860f, 0.001495f, -0.001373f, -0.000868f, 0.005167f, 0.000174f, 0.004657f, -0.007897f, 0.008005f, 0.003438f, -0.009245f, 0.007224f, 0.001331f, 0.002191f, -0.000255f, -0.003723f, 0.022370f, -0.012703f, 0.004019f, -0.014055f, 0.001817f, 0.003405f, -0.014149f, -0.017951f, 0.004631f, -0.019487f, 0.004445f, -0.005019f, -0.001215f, -0.011922f, -0.001597f, -0.013400f, -0.006780f, 0.000135f, -0.014106f, 0.015238f, 0.005504f, -0.023579f, 0.002422f, -0.001226f, -0.004100f, -0.010050f, 0.005283f, 0.012350f, 0.000450f, -0.000828f, 0.011739f, -0.006692f, 0.000377f, -0.004232f, 0.007879f, -0.008865f, 0.002882f, 0.010850f, -0.009099f, - 0.009501f, 0.003605f, 0.010272f, -0.000563f, 0.002400f, -0.001208f, -0.004211f, 0.013704f, -0.016470f, 0.004207f, -0.007231f, -0.002770f, -0.002054f, -0.005582f, -0.004344f, -0.012718f, -0.008175f, -0.001531f, 0.008735f, -0.000148f, 0.003379f, 0.012678f, -0.000114f, -0.009715f, -0.001154f, 0.001185f, 0.003481f, -0.004173f, 0.000268f, -0.009196f, 0.000519f, -0.002914f, 0.003765f, 0.006887f, 0.008339f, 0.004815f, -0.003680f, -0.002774f, -0.005813f, -0.018890f, -0.000672f, -0.011567f, -0.003959f, -0.002269f, -0.013408f, -0.002234f, -0.003468f, 0.005970f, 0.014662f, 0.014738f, 0.001360f, -0.006955f, 0.005633f, -0.015180f, -0.002546f, -0.006092f, 0.004693f, -0.022394f, 0.007310f, 0.003260f, -0.001234f, -0.006766f, -0.009886f, -0.004775f, -0.008228f, -0.007160f, 0.003681f, -0.001913f, -0.008827f, -0.002894f, 0.001289f, 0.013888f, -0.000963f, -0.014902f, 0.000728f, 0.005808f, -0.000580f, -0.004971f, 0.000808f, 0.005042f, -0.016112f, -0.001621f, -0.007217f, 0.010663f, 0.006356f, 0.001502f, -0.014900f, 0.001289f, 0.005247f, 0.008578f, 0.008001f, -0.009870f, -0.004821f, 0.000145f, -0.003299f, -0.003253f, - 0.007476f, -0.005041f, 0.004484f, 0.001131f, -0.006355f, -0.001494f, -0.008606f, 0.010069f, 0.003631f, -0.009938f, -0.006994f, 0.001869f, 0.005292f, -0.007561f, -0.009855f, -0.001050f, 0.000937f, -0.005464f, -0.031614f, 0.009873f, 0.008831f, 0.014907f, -0.004165f, 0.009242f, -0.027259f, -0.007708f, 0.008280f, 0.000679f, -0.013560f, -0.003826f, -0.004619f, -0.024049f, -0.009753f, 0.002035f, -0.001222f, -0.017275f, 0.010436f, 0.014601f, -0.015500f, 0.011280f, -0.020250f, -0.007283f, -0.001873f, 0.006506f, -0.000153f, -0.008628f, 0.005509f, 0.002294f, -0.001351f, 0.008534f, -0.004343f, -0.006298f, -0.001771f, -0.003820f, -0.005903f, 0.008346f, -0.006722f, 0.001978f, 0.006755f, -0.001898f, -0.005129f, -0.010465f, -0.001027f, -0.007642f, -0.001951f, -0.008812f, -0.001982f, 0.017687f, 0.000654f, 0.010503f, -0.009888f, 0.008698f, -0.002551f, -0.015595f, -0.008403f, 0.007610f, -0.004962f, -0.008283f, 0.005992f, -0.009636f, 0.008049f, 0.001286f, -0.002058f, 0.008997f, 0.009579f, 0.003127f, -0.008735f, -0.011693f, 0.000324f, 0.013779f, 0.004200f, 0.001463f, -0.006579f, 0.001566f, -0.018418f, -0.017598f, - -0.012173f, 0.000323f, -0.004313f, 0.004870f, -0.007396f, -0.001664f, -0.000450f, -0.006445f, -0.003407f, 0.002327f, -0.006311f, 0.016961f, -0.013829f, 0.006928f, -0.004792f, -0.003004f, -0.010263f, -0.004129f, -0.002769f, 0.011859f, -0.010858f, -0.000545f, 0.001081f, -0.015125f, -0.009713f, -0.010909f, -0.009298f, -0.017278f, -0.006874f, 0.003750f, 0.008959f, 0.004818f, -0.013887f, -0.019276f, -0.005354f, -0.001328f, -0.010396f, -0.000252f, -0.007547f, -0.010989f, -0.023087f, -0.012760f, -0.016631f, 0.006780f, -0.005417f, 0.005126f, -0.010189f, -0.023013f, -0.012653f, -0.000962f, -0.005782f, -0.008930f, -0.004633f, -0.010339f, 0.009743f, -0.001079f, 0.005051f, 0.006632f, 0.000728f, -0.002522f, -0.008782f, -0.001877f, 0.008026f, -0.003891f, -0.008523f, -0.012064f, 0.014183f, -0.015387f, -0.019642f, -0.015271f, -0.008821f, -0.012586f, 0.010033f, 0.015686f, -0.015622f, 0.004637f, -0.034126f, 0.010989f, -0.002188f, 0.006497f, 0.019083f, 0.007853f, -0.004503f, 0.006871f, -0.014076f, 0.009305f, 0.010392f, -0.018189f, -0.003961f, -0.008895f, 0.010578f, 0.009839f, 0.014311f, 0.017324f, -0.021712f, -0.010424f, - 0.003438f, 0.019340f, -0.007223f, 0.009440f, -0.020897f, -0.005404f, -0.007520f, -0.003501f, -0.012836f, 0.004033f, -0.020841f, 0.015163f, -0.004441f, -0.002609f, 0.009889f, 0.000454f, 0.001833f, 0.012139f, -0.000295f, 0.010193f, 0.005382f, -0.001321f, -0.004280f, 0.000071f, -0.015173f, -0.009189f, -0.014010f, 0.000584f, 0.026352f, 0.007824f, 0.004236f, 0.000913f, -0.004958f, 0.001405f, 0.015070f, -0.001772f, 0.003738f, -0.029676f, 0.027473f, -0.005105f, -0.006830f, 0.003700f, 0.015915f, 0.008631f, -0.005012f, -0.008463f, 0.028748f, -0.003454f, -0.003005f, 0.012734f, -0.010939f, 0.003082f, 0.000710f, -0.003357f, 0.001209f, 0.010249f, 0.000448f, -0.001398f, 0.015426f, 0.008932f, 0.017091f, -0.006038f, -0.003442f, 0.010161f, -0.014806f, 0.014392f, 0.016179f, -0.007228f, -0.000869f, -0.024026f, 0.001610f, 0.009176f, 0.007300f, -0.004532f, -0.016391f, -0.033361f, 0.000937f, -0.005060f, -0.015802f, 0.004523f, 0.011224f, -0.014024f, -0.005972f, -0.015345f, 0.008477f, 0.001738f, -0.002111f, -0.004532f, -0.006727f, 0.018253f, 0.020546f, 0.008774f, 0.009896f, -0.003618f, -0.009995f, 0.029238f, - 0.007210f, -0.003867f, -0.016483f, 0.013242f, 0.000621f, 0.017299f, -0.001360f, 0.021172f, 0.010102f, 0.015171f, 0.011907f, 0.007207f, 0.015615f, 0.020727f, -0.000656f, 0.004848f, -0.006393f, 0.001092f, 0.010449f, 0.005824f, 0.005509f, -0.015847f, -0.006725f, -0.002119f, -0.015534f, -0.012755f, -0.010091f, 0.009833f, 0.015843f, 0.023667f, 0.027446f, 0.008517f, 0.001241f, 0.025457f, -0.010718f, 0.026713f, -0.024507f, -0.011325f, -0.002906f, 0.010462f, -0.022870f, 0.015123f, -0.022511f, 0.011669f, 0.000416f, 0.012346f, 0.019505f, -0.007450f, 0.017873f, 0.019297f, 0.018578f, -0.010161f, 0.015769f, -0.016107f, -0.012509f, -0.001761f, -0.009525f, 0.000095f, -0.008094f, 0.015154f, -0.010432f, 0.003505f, -0.010274f, -0.018928f, -0.008277f, -0.003839f, 0.023789f, -0.019217f, 0.018897f, 0.008177f, -0.026162f, 0.030951f, 0.008310f, 0.003562f, 0.022379f, 0.003950f, 0.001737f, -0.012165f, 0.000725f, -0.006771f, 0.025482f, 0.010476f, 0.018131f, -0.006698f, -0.003217f, 0.011929f, 0.021444f, -0.021474f, 0.022221f, 0.003884f, -0.002501f, -0.004023f, -0.019238f, 0.009729f, -0.008509f, 0.004092f, - 0.001987f, -0.018366f, 0.007336f, 0.015529f, -0.012906f, 0.009888f, 0.007729f, 0.021851f, 0.003674f, -0.001217f, 0.014666f, 0.019537f, 0.003154f, -0.009770f, 0.014567f, -0.011277f, -0.021309f, -0.015246f, 0.023036f, -0.029635f, 0.007369f, -0.015769f, 0.017486f, -0.018800f, 0.028616f, 0.009998f, 0.002638f, -0.024887f, 0.012551f, 0.021187f, 0.005402f, -0.012727f, -0.008531f, -0.007223f, 0.019388f, 0.010799f, -0.027587f, 0.004031f, -0.019603f, -0.000883f, 0.001947f, -0.016331f, 0.021398f, 0.022002f, -0.010190f, 0.005035f, 0.014440f, -0.017744f, -0.003093f, -0.005233f, -0.015303f, 0.032108f, -0.011935f, -0.006719f, -0.016410f, -0.026294f, -0.004679f, 0.000953f, -0.009698f, 0.004470f, -0.022603f, 0.002496f, 0.001039f, -0.003835f, 0.016924f, -0.002991f, -0.014181f, 0.007791f, -0.000631f, -0.009394f, 0.008070f, 0.038508f, -0.008231f, 0.009913f, 0.001311f, -0.024518f, -0.004949f, 0.023995f, 0.009444f, 0.023977f, -0.003221f, 0.014606f, -0.019007f, 0.009845f, 0.006948f, 0.004726f, -0.016433f, 0.016688f, 0.003860f, -0.036575f, 0.001926f, -0.002558f, 0.025338f, -0.045755f, 0.053303f, 0.006937f, - 0.021482f, -0.037400f, 0.021553f, 0.027842f, -0.030505f, 0.012646f, 0.016188f, 0.012711f, -0.019460f, 0.003397f, 0.004280f, -0.006062f, 0.012499f, 0.025024f, -0.018775f, -0.015464f, -0.005223f, 0.021329f, 0.018500f, 0.025918f, -0.000512f, 0.011383f, -0.018056f, -0.004160f, -0.004179f, 0.004868f, 0.012518f, 0.032918f, 0.019838f, 0.012445f, 0.006797f, -0.000317f, 0.016042f, -0.004939f, -0.026931f, -0.004613f, 0.008781f, 0.009562f, -0.015494f, -0.011491f, -0.019350f, 0.004605f, -0.000939f, 0.007763f, -0.012470f, 0.024220f, 0.023600f, -0.019149f, 0.047907f, 0.002897f, -0.003714f, 0.000457f, -0.009216f, -0.001405f, -0.002408f, -0.018395f, 0.000930f, 0.000778f, 0.013156f, -0.039057f, 0.010343f, -0.013372f, 0.029480f, 0.035639f, 0.015669f, 0.015273f, 0.007045f, 0.003166f, 0.031949f, -0.004941f, -0.023044f, 0.021227f, -0.010811f, 0.007919f, 0.018371f, 0.002937f, -0.014087f, 0.011698f, 0.017808f, 0.015487f, 0.009377f, 0.018632f, -0.024308f, -0.015590f, 0.001732f, -0.021820f, -0.006200f, -0.004192f, 0.003737f, -0.006057f, -0.014735f, -0.017842f, -0.011399f, 0.007959f, 0.013515f, -0.026029f, - 0.004318f, -0.003176f, -0.001794f, -0.031196f, -0.028737f, -0.005254f, -0.022574f, 0.009690f, -0.025607f, 0.001191f, 0.011830f, 0.018440f, -0.017904f, 0.022013f, 0.004404f, -0.002478f, -0.006248f, 0.032874f, -0.010584f, -0.001829f, -0.027990f, -0.015091f, 0.020256f, -0.001741f, 0.006746f, -0.025636f, -0.029528f, -0.007648f, -0.017356f, -0.002684f, -0.000358f, -0.010209f, -0.014882f, 0.008084f, -0.013975f, 0.001353f, -0.019852f, -0.009460f, -0.002229f, -0.029463f, 0.000936f, 0.020191f, 0.001882f, 0.010944f, 0.019504f, 0.037424f, -0.037404f, 0.007247f, -0.023869f, -0.020423f, -0.013890f, -0.015401f, -0.012228f, -0.009372f, 0.034776f, 0.035439f, 0.037642f, 0.041556f, -0.033678f, 0.000814f, 0.021599f, 0.016797f, -0.020402f, -0.037313f, -0.005875f, -0.006805f, -0.029910f, -0.017737f, 0.051726f, 0.002788f, 0.001870f, 0.018615f, -0.004132f, 0.007179f, -0.009217f, -0.022576f, 0.012103f, 0.010347f, -0.030626f, -0.042140f, -0.033571f, -0.026437f, -0.025917f, 0.001022f, 0.004955f, 0.010887f, -0.017971f, 0.014364f, 0.001655f, -0.009035f, -0.018980f, -0.001770f, -0.001232f, -0.027201f, -0.022585f, 0.001820f, - -0.006968f, 0.002402f, -0.018085f, 0.011613f, 0.001590f, -0.015959f, -0.034275f, -0.013687f, -0.013253f, -0.043429f, -0.015926f, 0.002884f, 0.018268f, -0.003090f, 0.022032f, -0.005429f, -0.004936f, -0.037126f, -0.010635f, 0.013142f, 0.003667f, -0.061414f, 0.014047f, 0.004184f, -0.020287f, -0.011303f, -0.021263f, -0.020922f, -0.004833f, -0.000254f, -0.023686f, -0.007459f, 0.006844f, 0.016125f, 0.020424f, -0.022509f, 0.014579f, -0.012800f, 0.041821f, -0.036233f, -0.022307f, -0.007613f, -0.068133f, -0.035845f, -0.000307f, -0.043701f, 0.033556f, -0.015635f, -0.014121f, 0.003428f, 0.077011f, 0.036733f, 0.002353f, 0.015333f, -0.003592f, -0.021210f, -0.002047f, -0.032564f, -0.023128f, 0.010417f, 0.011236f, 0.013188f, -0.022168f, 0.027811f, 0.017528f, 0.031512f, -0.032646f, 0.004498f, 0.047898f, 0.003654f, 0.002104f, 0.008566f, -0.045647f, 0.010782f, -0.011398f, 0.006569f, -0.018251f, -0.044272f, -0.002440f, 0.016396f, 0.021524f, 0.004369f, -0.006523f, 0.001926f, -0.001738f, 0.013044f, -0.032409f, -0.048899f, 0.008762f, -0.018802f, 0.028638f, -0.012899f, -0.011548f, 0.035419f, 0.008607f, 0.014187f, - 0.003217f, -0.033205f, -0.012605f, -0.005751f, 0.017141f, 0.046740f, 0.037835f, -0.013537f, -0.043035f, -0.003377f, -0.004809f, 0.013340f, -0.026463f, -0.036226f, -0.018575f, 0.012889f, -0.032106f, -0.075206f, 0.032012f, 0.026643f, -0.009195f, -0.048985f, -0.009111f, -0.017557f, -0.018544f, 0.024691f, 0.030063f, -0.000704f, 0.009838f, -0.055931f, 0.022707f, -0.070536f, -0.016127f, -0.004123f, 0.016783f, 0.038793f, 0.060433f, 0.026345f, -0.031272f, 0.010074f, 0.042995f, 0.007682f, 0.014789f, 0.024337f, -0.031706f, -0.010852f, -0.002866f, 0.012751f, -0.021504f, -0.010536f, -0.004665f, -0.015627f, -0.011100f, 0.027197f, 0.026994f, 0.008795f, 0.004865f, 0.044417f, -0.004926f, 0.022219f, -0.044209f, 0.034113f, 0.012094f, -0.039953f, 0.007628f, 0.016701f, -0.036876f, -0.002107f, -0.035842f, 0.016392f, 0.020291f, 0.021056f, -0.022611f, 0.001260f, 0.030597f, -0.018324f, 0.004708f, 0.000414f, 0.048408f, -0.021612f, 0.037298f, 0.020908f, -0.035105f, 0.040777f, -0.023737f, 0.028610f, 0.037403f, -0.024213f, 0.025619f, -0.018524f, -0.022113f, -0.039244f, -0.026227f, -0.027973f, 0.023939f, 0.015193f, - -0.058604f, -0.026333f, -0.027494f, 0.056182f, 0.004262f, 0.022626f, -0.006072f, 0.078559f, 0.014637f, -0.048164f, 0.006360f, 0.058383f, -0.018034f, 0.014984f, -0.006581f, 0.007374f, -0.029992f, -0.041497f, 0.072453f, 0.052192f, -0.016503f, 0.040619f, 0.017604f, 0.052069f, 0.059017f, -0.014068f, -0.010735f, 0.052562f, 0.039348f, 0.006440f, -0.013310f, -0.022608f, -0.023633f, 0.025515f, 0.046752f, 0.023045f, -0.005595f, 0.031939f, -0.013195f, 0.030375f, -0.010213f, 0.043252f, 0.075293f, 0.057548f, -0.057052f, 0.029091f, -0.007838f, -0.022322f, 0.001440f, 0.022468f, 0.022152f, 0.134859f, -0.011360f, 0.000157f, -0.019677f, -0.022234f, 0.027853f, 0.049361f, -0.009988f, 0.037625f, 0.032900f, -0.003388f, 0.002617f, -0.025421f, 0.027725f, 0.022308f, 0.071946f, 0.071653f, 0.088321f, 0.035207f, -0.021872f, -0.020415f, -0.040095f, 0.034861f, -0.059386f, 0.032090f, -0.040868f, 0.027728f, 0.023143f, -0.023509f, 0.006163f, 0.013211f, -0.012060f, 0.040350f, 0.008623f, -0.099482f, 0.021730f, 0.011199f, -0.073518f, 0.002556f, -0.013075f, 0.001178f, 0.026193f, -0.005490f, -0.067764f, -0.014030f, - -0.021814f, -0.005962f, 0.047407f, 0.054925f, -0.032774f, -0.010649f, -0.027466f, 0.011522f, -0.051643f, -0.102789f, -0.035835f, -0.033082f, 0.005351f, -0.001369f, 0.045680f, -0.071589f, 0.032842f, -0.019259f, -0.007251f, 0.024572f, 0.013585f, 0.043858f, 0.011305f, 0.014387f, 0.051435f, -0.062324f, 0.073187f, 0.053234f, 0.030725f, 0.049398f, -0.020246f, 0.015587f, -0.049816f, -0.015328f, -0.024597f, 0.039194f, -0.038729f, 0.003611f, -0.084199f, -0.112088f, 0.071669f, -0.010140f, 0.046704f, -0.039527f, 0.031382f, -0.029035f, 0.007851f, -0.020849f, -0.067873f, -0.031629f, -0.044848f, -0.032858f, 0.026591f, 0.090279f, 0.038233f, -0.105260f, -0.019137f, 0.003247f, -0.028560f, 0.003880f, 0.002866f, -0.063338f, 0.028607f, 0.028583f, 0.053170f, -0.030627f, 0.017474f, -0.034741f, -0.039901f, 0.013212f, 0.071588f, 0.118022f, -0.010788f, -0.011225f, -0.000715f, -0.005902f, -0.057303f, 0.081565f, 0.037400f, 0.041841f, 0.031397f, -0.027861f, 0.026021f, -0.051147f, -0.072292f, -0.015276f, 0.047998f, 0.030069f, -0.028223f, -0.019400f, -0.007089f, 0.038125f, -0.001992f, 0.026753f, 0.025930f, 0.045650f, - 0.012516f, -0.034874f, -0.033552f, 0.024319f, -0.037385f, -0.028787f, 0.010303f, 0.050081f, 0.045522f, -0.061417f, -0.048842f, 0.025017f, 0.030301f, 0.101976f, -0.029827f, -0.062890f, -0.065508f, 0.045937f, -0.044151f, 0.042776f, 0.048419f, 0.104012f, 0.226360f, -0.058127f, -0.036614f, -0.093781f, -0.146453f, -0.051414f, -0.078306f, 0.000161f, 0.087157f, -0.022999f, 0.040327f, 0.062837f, 0.034932f, -0.038944f, -0.102290f, -0.155955f, 0.055147f, -0.027580f, 0.028177f, -0.051275f, 0.004444f, -0.047094f, -0.122481f, 0.025519f, -0.053726f, 0.044832f, 0.002821f, 0.023193f, 0.019576f, -0.112255f, -0.081035f, -0.042082f, -0.028310f, -0.029264f, -0.048709f, -0.017867f, -0.077965f, -0.050862f, 0.030685f, -0.051896f, 0.086293f, -0.071774f, 0.002252f, 0.014649f, -0.011956f, 0.003904f, -0.008719f, 0.017635f, -0.025966f, -0.026841f, -0.008869f, 0.012170f, -0.007863f, 0.034880f, -0.041887f, 0.004156f, 0.051858f, 0.014086f, 0.003326f, 0.024812f, -0.001710f, -0.027474f, -0.020191f, 0.041945f, 0.004873f, -0.077483f, -0.038025f, -0.063777f, -0.032735f, 0.074059f, 0.067449f, -0.080411f, -0.014380f, -0.090943f, - -0.026915f, -0.012198f, 0.013519f, 0.037878f, -0.077075f, 0.041432f, -0.066816f, -0.016213f, -0.047709f, 0.083882f, -0.025627f, 0.056397f, 0.052036f, 0.124278f, -0.069317f, 0.044401f, 0.000322f, 0.038715f, 0.008954f, 0.020835f, -0.076612f, -0.092757f, 0.064941f, 0.015847f, -0.099465f, -0.040079f, -0.058886f, 0.010365f, -0.008267f, -0.137169f, -0.058065f, -0.031168f, -0.069307f, -0.041272f, -0.137523f, -0.115967f, -0.014909f, 0.058285f, -0.072340f, -0.041580f, -0.004237f, -0.061975f, -0.008155f, 0.000302f, -0.058151f, -0.011891f, 0.020956f, 0.008737f, -0.079506f, -0.044185f, -0.042047f, -0.022374f, -0.023162f, -0.003809f, -0.052730f, 0.055338f, 0.040621f, 0.076730f, 0.112447f, 0.095620f, 0.031096f, 0.100658f, 0.046455f, 0.021398f, -0.034838f, 0.037744f, 0.042998f, 0.031541f, -0.003180f, -0.029384f, -0.007284f, 0.027409f, 0.050805f, 0.223017f, 0.037846f, 0.048022f, 0.040343f, 0.092295f, 0.042807f, 0.080931f, 0.151782f, -0.067981f, -0.133001f, 0.018387f, 0.097766f, 0.160965f, 0.078871f, -0.139507f, 0.026157f, -0.036299f, 0.209897f, 0.146306f, 0.188038f, 0.161746f, -0.138828f, -0.102448f, - 0.123018f, 0.132031f, -0.035273f, -0.103911f, 0.166844f, 0.135215f, -0.117007f, 0.026633f, -0.003163f, 0.019502f, -0.005184f, -0.010646f, 0.042177f, -0.042129f, 0.041001f, -0.015869f, -0.001014f, 0.018027f, 0.012191f, 0.016586f, -0.001650f, -0.022707f, -0.017363f, 0.028815f, -0.023967f, -0.000696f, 0.023826f, -0.011823f, -0.017035f, -0.018077f, -0.040115f, -0.035155f, 0.025056f, -0.010932f, 0.007500f, -0.020733f, 0.001759f, -0.047220f, -0.012310f, 0.017290f, 0.029106f, -0.016991f, 0.003502f, 0.026149f, 0.031796f, -0.004443f, 0.025466f, -0.019622f, 0.089666f, -0.030331f, 0.027955f, 0.009087f, 0.013708f, -0.012580f, 0.020054f, -0.004720f, 0.061847f, -0.005403f, 0.015473f, -0.040923f, 0.055934f, -0.026208f, -0.008116f, -0.002714f, 0.003171f, -0.011651f, 0.030993f, -0.035540f, 0.028741f, -0.031665f, 0.044803f, -0.045270f, 0.058688f, -0.034638f, -0.027774f, -0.018251f, -0.016639f, 0.012360f, -0.041343f, -0.085008f, -0.093494f, 0.078752f, 0.019599f, -0.024894f, -0.126556f, -0.051101f, 0.069887f, 0.013946f, 0.050368f, 0.056241f, -0.020833f, -0.035947f, 0.001290f, 0.013060f, 0.010027f, 0.009041f, - -0.022694f, -0.016734f, -0.012764f, -0.000259f, 0.033771f, 0.018139f, -0.002006f, 0.007388f, -0.010175f, -0.016778f, -0.010865f, -0.008892f, 0.000311f, 0.009855f, -0.008045f, 0.012808f, 0.013405f, -0.046507f, -0.020816f, -0.020647f, 0.024540f, 0.017100f, -0.001720f, -0.021646f, -0.029286f, 0.025369f, 0.005536f, 0.017041f, 0.023688f, -0.042918f, -0.028557f, 0.007939f, 0.034722f, 0.017627f, -0.048694f, -0.029919f, -0.039427f, -0.018669f, 0.010631f, 0.009327f, -0.015825f, 0.018408f, -0.006694f, -0.016609f, 0.008539f, 0.017021f, -0.011135f, 0.004668f, 0.000905f, -0.014388f, 0.000345f, -0.004286f, -0.032472f, -0.033652f, 0.000785f, -0.035543f, -0.023894f, 0.004176f, 0.019253f, 0.006571f, 0.031948f, -0.082632f, -0.223568f, -0.085593f, 0.049960f, 0.106335f, 0.252281f, 0.147720f, 0.039761f, 0.051937f, -0.044483f, -0.082948f, -0.179805f, -0.121924f, -0.093204f, -0.031446f, 0.036222f, 0.097462f, 0.076179f, 0.094545f, 0.092082f, 0.061477f, -0.021524f, -0.074287f, -0.063549f, -0.066270f, -0.052495f, -0.076649f, 0.022908f, -0.048992f, 0.003335f, 0.033591f, 0.064612f, 0.035067f, 0.060536f, 0.078395f, - 0.001525f, 0.022291f, 0.001870f, -0.002819f, -0.044474f, -0.007536f, -0.039473f, -0.079212f, -0.122084f, -0.069885f, -0.036910f, 0.008146f, 0.009865f, 0.071029f, 0.101695f, 0.095359f, 0.116421f, 0.015026f, 0.076830f, 0.028255f, -0.005714f, -0.072966f, -0.068376f, -0.096427f, -0.122640f, -0.086457f, -0.094367f, -0.062632f, 0.002650f, 0.028317f, 0.071975f, 0.110495f, 0.168113f, 0.131126f, 0.124086f, 0.064861f, -0.018311f, -0.022329f, -0.055011f, -0.130740f, -0.087548f, -0.121066f, -0.032746f, -0.016849f}, - {-0.011529f, 0.010633f, -0.010855f, 0.008283f, -0.004712f, 0.002128f, -0.015443f, 0.008527f, 0.002102f, -0.000520f, -0.002793f, 0.006484f, -0.008040f, -0.001722f, -0.003263f, 0.006761f, -0.017150f, -0.004849f, -0.009769f, -0.004507f, 0.003563f, 0.002620f, 0.008341f, -0.013277f, 0.003993f, 0.001405f, 0.000761f, -0.005464f, -0.001490f, -0.007098f, -0.000907f, -0.009698f, 0.003179f, -0.010750f, -0.000954f, -0.009158f, -0.007333f, 0.001503f, -0.008120f, -0.010336f, -0.012650f, 0.003362f, -0.001474f, -0.002550f, 0.004997f, 0.003713f, -0.004920f, 0.000104f, 0.013474f, -0.006885f, -0.004400f, -0.010331f, -0.003020f, 0.005821f, 0.003213f, 0.003298f, -0.004866f, 0.004193f, -0.005892f, 0.000671f, -0.007184f, -0.000806f, 0.000472f, -0.007504f, -0.002781f, 0.001088f, -0.001091f, -0.008434f, -0.015750f, -0.006711f, -0.005645f, -0.001976f, -0.000442f, -0.003701f, -0.004485f, -0.001071f, 0.014918f, 0.009490f, 0.000155f, 0.000351f, 0.011754f, 0.002780f, -0.005978f, 0.003841f, 0.007820f, -0.004198f, -0.006590f, -0.023726f, 0.001219f, -0.008144f, 0.015677f, -0.008043f, 0.007866f, 0.006072f, -0.000808f, 0.004838f, - 0.008711f, 0.002063f, 0.002071f, -0.004613f, -0.005106f, -0.004348f, -0.006433f, 0.005301f, 0.003468f, -0.003461f, 0.005213f, -0.003945f, -0.005081f, -0.006645f, -0.002862f, -0.005365f, 0.000569f, -0.000406f, -0.000746f, 0.010244f, -0.006036f, 0.008259f, -0.002976f, -0.002805f, 0.006125f, -0.004256f, 0.002083f, -0.004288f, 0.006729f, -0.002576f, -0.018098f, 0.004761f, 0.000936f, 0.001513f, 0.009554f, 0.003992f, 0.000999f, -0.002927f, -0.005724f, 0.014849f, -0.007945f, 0.005182f, 0.003596f, -0.007501f, 0.007038f, 0.001887f, -0.007249f, 0.004963f, -0.007467f, -0.000761f, -0.000336f, 0.005636f, 0.001644f, 0.005866f, -0.002306f, -0.017655f, -0.003314f, 0.028867f, -0.013865f, 0.001845f, -0.000604f, -0.000574f, 0.006758f, -0.004883f, -0.020295f, -0.018666f, 0.009157f, -0.005720f, -0.001511f, 0.005108f, 0.001291f, 0.005050f, 0.005567f, -0.008738f, 0.005110f, 0.003647f, -0.006152f, 0.007770f, 0.011505f, -0.007062f, -0.002183f, 0.000859f, -0.011924f, -0.005192f, 0.001459f, 0.014840f, -0.002110f, -0.000499f, -0.011874f, 0.007492f, 0.000242f, -0.010524f, -0.004403f, 0.004124f, -0.001408f, 0.002469f, - -0.009149f, 0.000146f, 0.000889f, -0.003441f, 0.010291f, 0.002945f, 0.002513f, 0.010119f, -0.000742f, 0.013038f, -0.003957f, -0.015533f, 0.006750f, 0.006766f, -0.005339f, -0.001924f, -0.001653f, 0.002558f, 0.001041f, 0.005078f, -0.003322f, 0.003621f, -0.008362f, 0.000339f, 0.006135f, -0.007546f, -0.000545f, 0.005809f, 0.002045f, -0.003359f, 0.003422f, -0.002157f, 0.001543f, 0.009529f, 0.003726f, -0.009693f, 0.014725f, 0.006929f, -0.006647f, -0.016420f, -0.001734f, 0.002069f, 0.018676f, -0.006742f, 0.016040f, 0.004241f, -0.000290f, 0.001268f, 0.014371f, -0.002989f, -0.003621f, -0.003786f, 0.010196f, 0.020530f, 0.005536f, -0.013626f, -0.018684f, -0.026592f, 0.003764f, -0.006697f, -0.011081f, -0.005867f, -0.017312f, 0.000271f, -0.007909f, 0.001689f, 0.008661f, 0.009253f, -0.009769f, -0.008570f, -0.006128f, 0.001530f, -0.014651f, -0.001206f, 0.004871f, -0.006307f, -0.002211f, 0.002018f, 0.006251f, -0.007893f, 0.002437f, 0.020173f, -0.000558f, -0.000440f, -0.006990f, 0.008737f, -0.003380f, 0.001293f, 0.006536f, 0.008750f, 0.012399f, -0.001299f, 0.002091f, -0.002974f, 0.000156f, -0.001353f, - 0.001939f, 0.019676f, -0.020647f, 0.001294f, 0.004474f, 0.012065f, -0.004220f, -0.004587f, -0.000759f, -0.004180f, 0.015651f, -0.007136f, -0.019162f, -0.000035f, -0.005115f, -0.006758f, 0.005989f, -0.017761f, -0.030608f, 0.011630f, -0.009478f, 0.013037f, -0.011447f, -0.000902f, 0.009059f, -0.017634f, -0.002920f, 0.005577f, -0.004708f, 0.026070f, -0.010741f, -0.003125f, -0.010242f, -0.008512f, 0.013444f, 0.014972f, 0.005861f, -0.017277f, -0.020926f, 0.019640f, 0.003394f, -0.019559f, 0.007500f, 0.000902f, 0.009466f, -0.005673f, 0.009039f, -0.011623f, 0.005887f, 0.019247f, 0.008007f, 0.008357f, 0.004461f, 0.000533f, -0.004717f, 0.004186f, 0.001625f, -0.012795f, 0.000359f, -0.003907f, -0.009410f, -0.009310f, -0.003472f, 0.007766f, -0.013558f, 0.002116f, -0.009759f, -0.000762f, -0.001346f, 0.004794f, 0.008313f, 0.017505f, 0.006273f, 0.000201f, 0.007608f, -0.008883f, -0.013319f, 0.000106f, 0.003405f, 0.001788f, 0.016644f, -0.003303f, -0.001680f, -0.004760f, -0.001941f, 0.002873f, 0.008395f, -0.001506f, 0.003878f, -0.007303f, 0.013961f, -0.002360f, -0.003636f, -0.001237f, -0.016070f, -0.004282f, - -0.010679f, -0.001711f, 0.019710f, 0.012359f, 0.008408f, -0.002240f, -0.018684f, 0.001821f, -0.012543f, -0.019731f, -0.007048f, 0.013023f, -0.011489f, -0.017572f, 0.003673f, 0.000765f, -0.009159f, 0.001120f, 0.008857f, 0.001961f, -0.023273f, -0.007067f, 0.013374f, 0.015974f, 0.007528f, -0.019346f, -0.007561f, 0.007808f, -0.003984f, -0.004713f, 0.000391f, 0.005545f, 0.000173f, 0.001603f, 0.018296f, -0.000674f, 0.010716f, 0.008259f, -0.001030f, -0.009344f, -0.001115f, -0.005818f, 0.010488f, -0.007268f, -0.011839f, -0.000726f, 0.016930f, 0.000242f, 0.016782f, 0.008812f, 0.000683f, 0.010702f, -0.003021f, 0.023890f, 0.000867f, 0.011388f, 0.012745f, 0.000433f, -0.012745f, -0.002651f, -0.015073f, 0.006111f, -0.011249f, -0.006497f, -0.010572f, -0.007016f, -0.005953f, 0.003439f, -0.000194f, 0.005628f, -0.002181f, -0.009191f, -0.008989f, 0.000932f, 0.009952f, 0.018615f, -0.027876f, -0.005135f, 0.023274f, -0.011568f, 0.004204f, -0.017974f, 0.007853f, 0.032845f, -0.004528f, 0.001783f, -0.001492f, -0.023117f, 0.001752f, -0.001399f, 0.034678f, -0.010894f, -0.001855f, 0.015325f, -0.009762f, 0.021699f, - -0.014732f, -0.002037f, -0.022197f, 0.025023f, 0.000124f, -0.009618f, 0.000079f, 0.009298f, -0.011819f, 0.017494f, -0.002113f, 0.015546f, -0.000405f, 0.008270f, -0.024357f, -0.015210f, -0.011554f, -0.003319f, 0.014133f, -0.021480f, 0.011264f, 0.009332f, 0.002631f, -0.008662f, -0.013572f, 0.030346f, 0.005490f, -0.002979f, 0.011130f, -0.010132f, 0.005777f, -0.013601f, -0.014397f, -0.005233f, -0.009886f, 0.032939f, 0.009032f, -0.005788f, -0.010289f, -0.011635f, 0.009455f, 0.009190f, 0.002295f, -0.010498f, -0.002205f, -0.003601f, 0.012960f, 0.002428f, 0.010271f, -0.024713f, 0.013268f, -0.000511f, -0.000219f, -0.000456f, 0.003895f, -0.007179f, -0.000580f, -0.003073f, 0.010918f, 0.004943f, 0.008840f, 0.002015f, -0.000776f, -0.004559f, -0.015811f, -0.005501f, -0.010523f, 0.005008f, -0.001473f, 0.021562f, -0.019768f, -0.025140f, -0.007077f, 0.006683f, -0.008529f, -0.006754f, 0.018118f, 0.002945f, -0.011529f, -0.013042f, -0.013596f, 0.019981f, -0.011536f, 0.013212f, -0.007835f, 0.014537f, -0.016446f, 0.002486f, 0.022638f, 0.007204f, -0.033374f, 0.006521f, -0.000374f, -0.005056f, -0.003995f, 0.002390f, - -0.005000f, 0.002204f, -0.006434f, 0.001649f, -0.002498f, -0.015377f, 0.013244f, 0.013877f, -0.005661f, 0.015468f, -0.015285f, -0.003396f, -0.005341f, -0.007652f, 0.016742f, -0.014002f, -0.024446f, -0.013923f, 0.002907f, -0.019819f, -0.019014f, -0.009782f, -0.007474f, -0.013081f, -0.002640f, 0.014387f, 0.014517f, 0.001439f, 0.015656f, 0.004433f, 0.000308f, 0.012262f, -0.016516f, -0.003415f, -0.002772f, 0.036300f, -0.017491f, -0.016802f, 0.011866f, 0.029584f, 0.005949f, 0.026688f, 0.015287f, 0.024281f, 0.010837f, -0.004116f, -0.010648f, 0.008944f, -0.017684f, -0.013225f, 0.020162f, 0.017100f, 0.041910f, -0.000670f, 0.005966f, -0.015042f, 0.016264f, 0.007732f, -0.018475f, -0.003970f, 0.023747f, 0.000373f, -0.025950f, -0.010058f, -0.014624f, -0.004515f, 0.014582f, 0.013828f, -0.009842f, -0.004294f, 0.018136f, -0.017051f, 0.008059f, 0.015788f, 0.018220f, -0.009209f, 0.015656f, -0.006093f, -0.023797f, 0.008937f, 0.021674f, -0.005252f, 0.006160f, 0.005904f, -0.007538f, 0.003261f, 0.006338f, -0.006154f, 0.002209f, 0.018264f, -0.010640f, -0.004843f, 0.015981f, -0.002832f, -0.003625f, -0.026311f, - -0.009935f, -0.015600f, -0.027215f, -0.017320f, 0.012952f, -0.008036f, -0.012007f, 0.023978f, 0.022568f, -0.005044f, 0.024231f, 0.010873f, 0.015566f, -0.003686f, -0.013836f, 0.011134f, -0.018228f, -0.019486f, 0.026273f, -0.004421f, 0.060089f, -0.024804f, -0.011739f, -0.001400f, 0.014580f, -0.008399f, -0.008310f, -0.024790f, -0.028810f, 0.012955f, 0.002343f, 0.039599f, 0.012663f, -0.004031f, -0.004703f, 0.026313f, 0.026646f, -0.022170f, 0.015891f, -0.021176f, 0.005325f, -0.009113f, -0.011196f, -0.006492f, 0.004211f, -0.003439f, 0.013618f, 0.006993f, 0.015246f, -0.001949f, -0.007840f, -0.014666f, -0.003265f, 0.017030f, 0.001060f, -0.022700f, -0.003361f, 0.005457f, -0.010234f, 0.017874f, 0.014561f, 0.003054f, 0.004615f, -0.049614f, -0.019679f, 0.017126f, -0.001953f, 0.027566f, 0.006879f, 0.031049f, -0.004479f, -0.017252f, 0.015651f, -0.009856f, 0.010216f, 0.001564f, 0.044280f, 0.037146f, 0.002952f, 0.009976f, -0.007929f, 0.014145f, 0.013932f, 0.016151f, 0.016270f, 0.028942f, -0.003362f, 0.003791f, -0.015119f, -0.012180f, 0.004724f, -0.016761f, -0.042545f, -0.052222f, 0.041230f, -0.001187f, - 0.004716f, -0.014477f, 0.023148f, -0.049602f, -0.031731f, -0.010041f, -0.012662f, -0.001222f, -0.044370f, 0.008682f, 0.001022f, -0.001215f, -0.020172f, -0.020682f, 0.008565f, 0.028320f, 0.004571f, -0.037817f, -0.007986f, -0.030956f, 0.024697f, 0.015802f, 0.001501f, -0.013677f, -0.006177f, -0.006950f, 0.020500f, -0.002805f, -0.000021f, -0.004272f, -0.026964f, 0.014357f, 0.019683f, -0.011331f, -0.005601f, 0.015128f, -0.029231f, -0.021499f, -0.032248f, -0.010868f, 0.008993f, -0.020649f, -0.009230f, -0.000494f, -0.033195f, 0.010883f, 0.021979f, 0.037759f, 0.006419f, -0.003040f, 0.003459f, -0.023701f, -0.017890f, 0.029385f, -0.000590f, -0.009766f, -0.005125f, -0.042352f, -0.021604f, 0.010026f, -0.007196f, -0.003303f, -0.001115f, 0.030688f, -0.002333f, -0.024473f, 0.005213f, 0.024432f, 0.003059f, -0.009049f, 0.004158f, 0.007154f, -0.005428f, -0.011533f, 0.006694f, 0.029249f, 0.027035f, 0.010795f, 0.044692f, -0.017672f, -0.007275f, 0.008519f, -0.009541f, -0.001788f, 0.015807f, 0.047609f, -0.005649f, 0.010867f, 0.001533f, -0.001343f, 0.001093f, 0.052312f, -0.022742f, 0.027850f, 0.001655f, -0.031868f, - 0.013016f, -0.031608f, -0.018200f, 0.020563f, -0.015368f, 0.014973f, 0.002827f, 0.003283f, 0.024925f, 0.019702f, -0.025189f, -0.029587f, -0.021076f, -0.006354f, 0.011190f, 0.010437f, 0.005722f, 0.007631f, -0.034864f, 0.007210f, -0.017521f, -0.045467f, 0.034576f, -0.007716f, 0.032747f, 0.033715f, 0.004604f, 0.013601f, -0.014332f, -0.019298f, -0.034057f, 0.010163f, 0.036971f, 0.007698f, -0.011713f, 0.003782f, -0.004181f, 0.007046f, -0.016458f, -0.014370f, -0.016252f, 0.005481f, 0.001435f, -0.004319f, 0.025943f, 0.021997f, 0.016207f, 0.034384f, 0.008315f, -0.030676f, 0.048473f, -0.028470f, -0.003832f, -0.004414f, -0.000555f, 0.041236f, 0.046381f, 0.012208f, -0.081948f, 0.004822f, 0.025549f, -0.025870f, 0.018739f, 0.035314f, 0.003557f, 0.010894f, 0.023092f, 0.018055f, 0.008262f, 0.031901f, 0.008805f, -0.002406f, 0.058586f, 0.022829f, 0.009418f, 0.026233f, -0.016658f, 0.031777f, -0.018962f, -0.000075f, -0.000279f, -0.005181f, -0.028915f, 0.012158f, -0.019813f, 0.042074f, -0.001419f, -0.006182f, 0.061474f, 0.009662f, 0.010900f, 0.021469f, 0.004496f, 0.013112f, -0.011008f, -0.024089f, - -0.000618f, 0.019178f, -0.028237f, 0.037248f, 0.034434f, 0.025404f, 0.008622f, 0.015839f, -0.018682f, -0.020201f, -0.032340f, -0.013622f, -0.016259f, -0.016139f, 0.010878f, -0.001598f, -0.031479f, -0.013341f, 0.032703f, 0.001287f, -0.025389f, 0.017757f, 0.001270f, -0.017387f, -0.042789f, 0.004937f, -0.066255f, 0.041934f, -0.020454f, 0.038100f, 0.005046f, 0.011246f, 0.004635f, -0.013755f, 0.021918f, 0.056844f, 0.022108f, 0.016227f, 0.044629f, -0.063715f, 0.023689f, -0.037668f, 0.030240f, -0.016469f, -0.027516f, -0.008391f, -0.031548f, -0.013561f, -0.007988f, 0.010225f, 0.012754f, -0.009568f, 0.042612f, -0.002723f, -0.008849f, -0.006504f, -0.041064f, -0.004964f, -0.001176f, -0.033958f, 0.009364f, -0.028982f, -0.037337f, -0.012044f, 0.020250f, -0.059892f, -0.041837f, -0.027304f, 0.001631f, -0.041972f, -0.036905f, -0.028882f, -0.015890f, -0.011735f, -0.006950f, -0.028222f, 0.028682f, 0.005241f, -0.004419f, -0.020896f, -0.023137f, 0.041036f, -0.036969f, -0.023916f, 0.009238f, 0.011337f, 0.013189f, -0.020029f, -0.030123f, -0.011390f, -0.006755f, 0.014215f, -0.021995f, -0.007239f, -0.009796f, -0.023384f, - -0.043250f, -0.051590f, 0.048877f, -0.053280f, -0.004246f, 0.005796f, -0.010687f, -0.007948f, -0.050101f, 0.021581f, -0.012630f, -0.048540f, -0.001859f, -0.007844f, 0.048023f, 0.016094f, 0.034516f, -0.056606f, 0.063858f, 0.009546f, 0.005691f, -0.011854f, 0.031940f, -0.000200f, 0.053108f, -0.015300f, 0.036084f, 0.019459f, -0.054344f, 0.022615f, 0.007633f, 0.024852f, -0.005532f, -0.014614f, -0.022468f, -0.008199f, 0.024722f, 0.056933f, 0.004678f, -0.008697f, -0.037703f, 0.013386f, -0.040737f, -0.006475f, 0.037952f, -0.035996f, -0.001641f, 0.002286f, -0.007959f, -0.013702f, -0.017086f, 0.063298f, -0.015693f, -0.015777f, -0.009778f, 0.014226f, 0.019108f, 0.007813f, -0.001253f, -0.013111f, -0.002617f, 0.009324f, 0.036013f, -0.009048f, 0.052483f, 0.032042f, 0.013589f, -0.013514f, 0.045083f, 0.054379f, -0.007698f, -0.014825f, -0.006257f, -0.018185f, 0.001834f, -0.018106f, 0.023729f, 0.008767f, 0.035615f, 0.029910f, -0.053065f, -0.055814f, 0.060988f, 0.047579f, 0.002605f, -0.010958f, -0.031701f, -0.038308f, -0.020296f, 0.034008f, -0.041691f, -0.042038f, -0.013030f, -0.017036f, -0.059373f, 0.026878f, - -0.025185f, -0.009334f, -0.006671f, 0.003918f, -0.000835f, -0.036979f, -0.103854f, 0.049430f, -0.050842f, 0.018281f, 0.071141f, 0.009397f, -0.032274f, 0.019300f, 0.023664f, -0.012335f, -0.024840f, -0.006529f, -0.052046f, 0.014879f, -0.054031f, -0.033485f, 0.019245f, 0.000437f, 0.007299f, -0.048974f, -0.011380f, -0.035831f, -0.030728f, -0.043805f, -0.016468f, 0.012697f, -0.026856f, -0.027154f, 0.022922f, 0.001709f, -0.003896f, 0.006164f, -0.050244f, -0.004670f, -0.039504f, 0.030556f, 0.007012f, -0.093807f, 0.021302f, 0.047735f, -0.012489f, 0.027834f, 0.022819f, 0.015134f, 0.011405f, 0.045599f, 0.034920f, -0.000161f, -0.035861f, -0.008610f, 0.035202f, 0.022843f, -0.033527f, 0.000921f, -0.038874f, -0.013010f, 0.000029f, 0.025397f, 0.032928f, -0.066134f, -0.054259f, -0.029610f, 0.002581f, -0.019897f, -0.010300f, 0.060394f, 0.006603f, 0.014288f, 0.043862f, -0.020516f, 0.010527f, 0.035929f, 0.034766f, -0.054901f, 0.013965f, -0.010125f, -0.012995f, -0.011061f, 0.040232f, 0.022545f, -0.025957f, -0.013661f, 0.031115f, -0.050156f, 0.004872f, 0.021420f, 0.031119f, -0.003855f, 0.008321f, -0.058801f, - 0.001594f, -0.024663f, 0.022277f, 0.010024f, 0.035755f, -0.051296f, -0.025399f, -0.005247f, 0.008381f, -0.002003f, 0.012235f, 0.006530f, 0.031070f, 0.058079f, -0.033358f, -0.042488f, 0.013597f, -0.044340f, -0.012255f, 0.022650f, -0.032654f, -0.030363f, 0.004410f, 0.023545f, 0.030428f, 0.023529f, -0.011267f, 0.000259f, -0.058470f, -0.037269f, 0.054918f, -0.033699f, 0.073571f, -0.027125f, 0.016237f, 0.014034f, 0.001013f, -0.049309f, 0.067866f, -0.027165f, -0.004698f, -0.008086f, 0.027469f, 0.053900f, -0.048904f, -0.024586f, 0.060885f, -0.039552f, 0.001526f, -0.012014f, 0.013738f, 0.073445f, 0.002019f, 0.000170f, -0.040815f, 0.058280f, -0.015435f, 0.019863f, 0.014726f, 0.003671f, 0.033559f, -0.036683f, 0.011264f, 0.031605f, 0.031508f, 0.070056f, -0.043216f, 0.064350f, -0.010247f, -0.041308f, -0.039848f, 0.010941f, 0.027767f, -0.018097f, -0.007366f, -0.028440f, -0.010614f, 0.054347f, -0.036858f, -0.003316f, 0.044830f, -0.013883f, 0.027372f, -0.017242f, -0.006783f, 0.046156f, -0.000058f, 0.002349f, 0.046133f, 0.030766f, 0.012623f, -0.005609f, 0.039391f, 0.051085f, -0.050346f, 0.047926f, - -0.044149f, 0.024083f, -0.031201f, 0.006550f, 0.041977f, 0.013089f, -0.087862f, 0.039473f, 0.028136f, -0.000974f, 0.048423f, -0.072404f, -0.010981f, 0.047834f, 0.044519f, 0.005945f, 0.068449f, -0.035772f, 0.004312f, -0.009574f, -0.006202f, 0.026568f, 0.015785f, 0.047285f, 0.045358f, -0.032223f, 0.032208f, -0.058546f, -0.011661f, 0.002429f, 0.003878f, -0.006727f, -0.001281f, -0.091234f, -0.039347f, -0.071286f, -0.034401f, 0.047992f, -0.015107f, -0.008366f, 0.030844f, -0.022335f, 0.021358f, 0.054941f, -0.030483f, 0.021120f, 0.027088f, -0.039815f, 0.005001f, -0.048949f, 0.018470f, -0.005389f, -0.026101f, 0.038458f, 0.001036f, 0.060076f, -0.003807f, -0.045371f, 0.076199f, -0.013987f, 0.007485f, 0.010237f, -0.071774f, 0.021237f, 0.061493f, 0.021627f, -0.026990f, -0.047299f, 0.004675f, 0.011004f, 0.052492f, 0.033529f, -0.017454f, -0.010777f, -0.041378f, -0.000175f, 0.059321f, -0.081707f, 0.024231f, 0.056015f, -0.051431f, 0.017982f, 0.004813f, 0.018854f, 0.059130f, 0.019059f, 0.022416f, -0.011998f, -0.059295f, 0.059645f, -0.012050f, -0.032137f, 0.126336f, 0.061384f, 0.031455f, 0.004250f, - 0.001750f, -0.061303f, -0.050381f, -0.023823f, 0.035935f, -0.002957f, -0.036412f, -0.026352f, 0.045259f, -0.030792f, 0.030283f, 0.016327f, -0.025871f, 0.032488f, 0.012887f, -0.052668f, -0.028744f, -0.031668f, 0.004005f, 0.030241f, -0.068342f, 0.021757f, 0.078169f, 0.130217f, -0.021490f, -0.004047f, -0.106426f, -0.035441f, -0.078247f, -0.051872f, 0.072708f, 0.005560f, 0.019790f, -0.059875f, 0.019582f, -0.052473f, -0.119245f, 0.017934f, 0.057252f, -0.004125f, 0.007348f, 0.062330f, -0.081852f, 0.094037f, 0.046394f, 0.029901f, -0.046408f, 0.063577f, 0.120805f, -0.023162f, 0.037188f, 0.092843f, 0.077342f, 0.137941f, 0.029480f, 0.050264f, 0.036956f, 0.034528f, 0.117268f, -0.029310f, -0.014319f, 0.044727f, 0.025375f, -0.011287f, 0.064272f, 0.005504f, 0.013199f, -0.036642f, -0.105468f, 0.005946f, 0.069600f, 0.012691f, 0.041947f, -0.073608f, 0.004192f, -0.098409f, -0.000359f, -0.105719f, 0.006876f, 0.078836f, -0.010260f, -0.029141f, -0.103961f, 0.138790f, 0.023847f, 0.013020f, 0.139285f, 0.002801f, -0.032973f, -0.018460f, 0.006094f, 0.034173f, -0.009212f, 0.008025f, -0.013223f, -0.064337f, - 0.040328f, 0.031243f, -0.036721f, -0.131593f, 0.010934f, 0.188136f, 0.031102f, -0.033049f, -0.031134f, -0.079249f, -0.050336f, 0.006974f, 0.119091f, 0.024709f, -0.072248f, -0.000988f, 0.035628f, 0.012081f, 0.006673f, -0.002971f, 0.024336f, -0.050138f, -0.016153f, 0.032622f, 0.067958f, 0.068800f, -0.056119f, -0.018543f, 0.009030f, 0.013314f, 0.020576f, -0.064803f, 0.011149f, 0.016198f, -0.013882f, 0.054943f, 0.003939f, 0.062691f, 0.091463f, 0.046603f, 0.022526f, 0.042898f, -0.044832f, 0.049931f, -0.035306f, 0.072230f, 0.123165f, 0.044211f, -0.059412f, -0.050023f, 0.058423f, 0.024918f, 0.105790f, 0.081345f, 0.028002f, -0.013502f, -0.017825f, 0.008658f, 0.010162f, -0.029529f, 0.044251f, 0.040145f, 0.011568f, 0.097175f, 0.067605f, -0.002401f, 0.049724f, 0.055811f, 0.028376f, 0.055980f, 0.007356f, -0.080328f, -0.005537f, -0.014176f, -0.014991f, 0.105830f, 0.050209f, 0.023778f, -0.005694f, -0.031729f, -0.134158f, -0.032542f, 0.067135f, 0.034490f, 0.152725f, 0.004204f, -0.028148f, -0.075087f, -0.143928f, -0.156427f, -0.030850f, 0.061440f, 0.068087f, 0.043178f, -0.082651f, -0.105562f, - -0.006649f, -0.016356f, 0.034456f, 0.102131f, 0.047703f, -0.013704f, -0.069956f, -0.089884f, -0.060779f, -0.000069f, -0.059864f, 0.017158f, -0.051406f, -0.025392f, 0.063430f, 0.055050f, 0.044549f, 0.017010f, -0.080271f, -0.023480f, -0.077378f, -0.056576f, -0.036152f, 0.037876f, -0.016256f, 0.040478f, 0.098303f, 0.108797f, -0.055843f, 0.009925f, -0.092126f, -0.059330f, -0.049428f, -0.010022f, 0.004918f, 0.061990f, 0.058156f, 0.092518f, 0.056207f, 0.021499f, -0.059437f, -0.046379f, -0.023395f, 0.027689f, -0.091705f, 0.002577f, 0.076190f, 0.069285f, -0.035122f, 0.094710f, 0.070208f, 0.045265f, 0.072193f, -0.179324f, 0.019090f, -0.056880f, -0.079685f, 0.017546f, -0.057269f, -0.029357f, 0.070015f, 0.029797f, -0.197300f, -0.227465f, -0.246226f, -0.249471f, -0.346999f, 0.003548f, -0.107400f, -0.017663f, 0.075828f, 0.150130f, 0.201344f, 0.205733f, 0.395214f, 0.420571f, 0.348294f, 0.264320f, 0.279949f, 0.266480f, 0.119374f, -0.011780f, -0.140299f, -0.142694f, -0.229812f, -0.059522f, -0.112856f, -0.080122f, 0.015845f, -0.194277f, -0.037135f, -0.171571f, -0.027738f, -0.200990f, -0.185294f, -0.075786f, - -0.149039f, 0.002805f, -0.063655f, -0.061157f, -0.106234f, -0.066875f, -0.172929f, -0.120388f, -0.051366f, -0.050476f, -0.082182f, -0.047755f, 0.012843f, -0.069532f, 0.047595f, 0.137868f, -0.079485f, 0.158848f, 0.105345f, 0.206161f, 0.213325f, 0.179097f, 0.226289f, 0.183015f, 0.307933f, 0.294554f, 0.242385f, 0.309235f, 0.272671f, 0.400494f, 0.403401f, 0.458092f, 0.361545f, 0.367873f, 0.414794f, 0.343670f, 0.432523f, 0.269798f, 0.441880f, 0.273503f, 0.009097f, -0.122623f, -0.216074f, -0.174379f} - }, - { - {-0.006438f, -0.004315f, -0.005702f, -0.006947f, -0.006513f, 0.006489f, -0.015155f, 0.001720f, -0.002707f, -0.005306f, 0.013576f, -0.004390f, -0.004031f, 0.008676f, 0.001340f, -0.006469f, 0.002079f, -0.002638f, 0.002283f, 0.001768f, -0.001096f, 0.007134f, -0.002417f, -0.007501f, -0.000643f, 0.002223f, 0.003674f, 0.004660f, 0.000117f, 0.002859f, -0.001918f, 0.010614f, 0.007185f, -0.007961f, -0.004507f, -0.003812f, 0.003084f, -0.005590f, -0.006529f, 0.007636f, -0.003302f, -0.000129f, -0.000709f, 0.002070f, 0.006926f, 0.006304f, -0.002933f, -0.001857f, 0.004927f, 0.002290f, 0.001503f, 0.000528f, 0.004114f, -0.005940f, -0.003941f, 0.000374f, 0.003541f, -0.004281f, 0.002956f, -0.007551f, -0.000495f, 0.005203f, 0.003778f, -0.002589f, 0.004454f, 0.000518f, 0.006269f, 0.002267f, -0.002906f, 0.008517f, 0.011459f, 0.004190f, -0.001935f, -0.000890f, -0.005512f, 0.009554f, -0.000621f, 0.003792f, 0.001326f, -0.008771f, -0.006662f, 0.002014f, -0.006027f, -0.008815f, 0.004670f, -0.001233f, 0.001044f, -0.005148f, 0.003388f, 0.000139f, -0.007859f, -0.000556f, 0.008549f, 0.006936f, -0.005716f, -0.009846f, - -0.009033f, 0.001088f, -0.002276f, -0.001925f, -0.007730f, 0.007932f, -0.002422f, 0.002092f, -0.003671f, -0.002269f, -0.001011f, 0.002888f, -0.002482f, -0.004479f, -0.016681f, 0.005385f, -0.001525f, 0.005109f, 0.002863f, 0.002037f, -0.000715f, 0.010749f, 0.001760f, 0.001997f, 0.001224f, -0.005785f, -0.003889f, -0.000706f, 0.000486f, -0.005789f, -0.001652f, 0.001995f, -0.001106f, -0.005481f, -0.003134f, 0.000007f, 0.004818f, -0.008296f, -0.011369f, -0.013819f, 0.004433f, 0.007607f, 0.000377f, 0.006247f, 0.004297f, 0.000682f, -0.012967f, -0.000578f, -0.003797f, -0.004682f, -0.000391f, 0.000307f, 0.004410f, -0.001710f, 0.005748f, 0.007560f, -0.001938f, -0.000274f, -0.011205f, 0.009681f, -0.012808f, 0.004710f, 0.021170f, -0.004753f, -0.008080f, 0.001019f, 0.010982f, 0.000987f, -0.003302f, -0.001742f, -0.003322f, -0.002223f, -0.010149f, -0.004112f, 0.004812f, -0.008171f, -0.004673f, 0.000232f, -0.000561f, 0.008567f, -0.005483f, 0.001413f, -0.002189f, 0.001687f, -0.001225f, -0.005374f, 0.009632f, 0.016314f, 0.004096f, -0.001192f, -0.003199f, 0.017665f, 0.000745f, -0.007753f, 0.000416f, -0.013628f, - -0.000031f, 0.006706f, -0.010332f, -0.001577f, 0.002131f, -0.008471f, -0.002530f, 0.009154f, 0.001284f, -0.001300f, 0.009053f, -0.006349f, -0.009625f, 0.005128f, 0.003553f, -0.006982f, -0.003351f, -0.007455f, -0.008423f, -0.009320f, -0.005019f, -0.005446f, 0.007305f, 0.004938f, 0.001426f, -0.000451f, -0.005079f, 0.004508f, -0.001091f, -0.003587f, 0.006224f, 0.006890f, 0.010852f, -0.015919f, -0.010517f, -0.003826f, -0.002342f, 0.000488f, 0.002013f, -0.015191f, 0.010488f, -0.004837f, 0.003414f, 0.002109f, 0.003481f, 0.006552f, -0.000061f, -0.002256f, -0.005048f, 0.010831f, -0.000867f, 0.007014f, 0.013458f, -0.002994f, 0.011448f, 0.009685f, -0.008453f, 0.005577f, 0.005738f, 0.006058f, -0.014912f, -0.001570f, 0.000918f, -0.004783f, -0.009360f, 0.000053f, 0.010998f, -0.002669f, -0.004648f, -0.003786f, 0.003405f, 0.010058f, 0.005080f, -0.005299f, -0.000016f, -0.004393f, 0.000512f, -0.001479f, -0.004974f, 0.009368f, -0.012163f, -0.010262f, -0.009194f, 0.002744f, -0.001180f, -0.000477f, -0.011298f, -0.012234f, 0.003105f, -0.000417f, 0.000866f, -0.001366f, -0.000437f, -0.009210f, -0.005105f, -0.010072f, - 0.002201f, 0.008217f, -0.002324f, 0.007230f, 0.001771f, 0.006351f, -0.013958f, -0.000323f, 0.002647f, -0.005296f, -0.001374f, 0.001264f, -0.005060f, 0.001718f, -0.000707f, 0.009719f, 0.015259f, 0.001308f, -0.005261f, -0.012285f, 0.006183f, 0.004109f, 0.003909f, 0.016098f, -0.009893f, 0.000704f, 0.002325f, -0.002522f, -0.004742f, 0.002656f, 0.001405f, 0.009812f, 0.021363f, -0.001535f, 0.004042f, 0.009059f, -0.003380f, 0.008104f, 0.014035f, -0.009222f, 0.000067f, -0.003271f, 0.000225f, 0.006331f, -0.010184f, 0.011704f, 0.002978f, 0.000366f, 0.006463f, -0.000776f, 0.008786f, -0.004332f, -0.001508f, -0.002169f, 0.013557f, 0.006292f, 0.008783f, -0.001438f, 0.007306f, -0.012627f, 0.015148f, -0.005604f, 0.006197f, -0.013348f, 0.005809f, 0.009797f, 0.018349f, 0.006617f, 0.003725f, -0.011838f, -0.004175f, 0.003213f, -0.008617f, -0.010742f, -0.002217f, 0.021085f, 0.024860f, 0.004516f, 0.006015f, -0.007276f, -0.002947f, 0.013416f, 0.002761f, 0.005609f, -0.000890f, 0.003690f, 0.003390f, 0.011004f, 0.000940f, 0.001914f, 0.015214f, -0.011645f, -0.013739f, 0.023076f, -0.005121f, -0.003018f, - 0.015421f, 0.009369f, 0.001828f, -0.025234f, 0.028625f, -0.004556f, -0.002739f, -0.002389f, -0.000714f, 0.001635f, 0.002549f, 0.009231f, 0.013849f, 0.009073f, -0.000989f, 0.015085f, 0.010155f, 0.005180f, 0.004856f, -0.004879f, 0.007618f, -0.010004f, 0.009364f, -0.001125f, 0.004529f, -0.008405f, -0.011840f, 0.002123f, -0.000537f, 0.005198f, 0.008914f, -0.003367f, -0.011171f, -0.006739f, 0.004261f, -0.014348f, 0.010849f, 0.003451f, -0.022307f, 0.011158f, 0.003012f, 0.006598f, 0.002972f, 0.004180f, 0.005520f, -0.000441f, -0.005081f, -0.005239f, -0.014461f, -0.011272f, -0.004824f, -0.007621f, 0.000047f, 0.001626f, -0.009823f, -0.015979f, -0.000371f, 0.011676f, 0.021003f, -0.000033f, -0.009995f, 0.003146f, -0.016905f, 0.002638f, 0.001634f, -0.006090f, 0.019824f, -0.025010f, 0.013395f, -0.004528f, -0.008691f, -0.006842f, -0.008297f, -0.011738f, 0.023527f, -0.029252f, 0.007301f, 0.007435f, 0.010005f, 0.014732f, 0.002714f, 0.004302f, 0.005786f, 0.004201f, 0.003363f, 0.005180f, 0.013068f, 0.002581f, -0.006628f, 0.000274f, -0.000853f, -0.008811f, -0.007847f, 0.004499f, 0.008903f, 0.009451f, - 0.001641f, 0.006822f, -0.014987f, -0.001498f, 0.000198f, -0.000553f, -0.014161f, -0.008439f, -0.004814f, 0.009839f, 0.009008f, 0.000158f, -0.015503f, 0.000404f, -0.008171f, -0.005866f, -0.002647f, -0.003962f, 0.010538f, 0.013991f, 0.004671f, 0.014555f, -0.022165f, -0.015492f, 0.008129f, 0.005035f, 0.001373f, 0.003426f, 0.002119f, -0.006912f, -0.013616f, -0.009384f, 0.008291f, -0.005864f, 0.012356f, 0.011995f, -0.003309f, 0.011468f, -0.016250f, -0.007746f, -0.003757f, -0.004915f, 0.002546f, 0.032395f, -0.002854f, 0.010277f, -0.002570f, 0.026230f, -0.004642f, 0.001034f, 0.011252f, -0.024334f, 0.017299f, 0.008908f, -0.013536f, 0.015733f, 0.017625f, 0.006096f, -0.026242f, 0.016753f, 0.001099f, -0.002220f, 0.013867f, 0.014842f, -0.000425f, -0.004018f, 0.000836f, -0.010056f, 0.010089f, -0.005379f, -0.009412f, -0.020444f, 0.005280f, -0.022249f, 0.006499f, -0.005263f, -0.002049f, 0.006739f, -0.017857f, -0.007293f, 0.015746f, -0.001095f, -0.006605f, 0.009564f, 0.001151f, -0.007778f, 0.007457f, 0.002724f, 0.001250f, -0.003218f, 0.005861f, -0.010957f, -0.000552f, -0.016102f, 0.016074f, 0.015619f, - -0.018524f, 0.013022f, -0.012986f, -0.004989f, 0.014010f, 0.018716f, -0.000549f, -0.009069f, 0.006452f, -0.001006f, 0.003580f, -0.022511f, -0.016943f, 0.003721f, 0.004274f, -0.004767f, -0.003501f, 0.006002f, 0.000580f, -0.007919f, 0.011012f, -0.009154f, 0.004874f, 0.007032f, 0.000305f, 0.010982f, -0.008624f, 0.007352f, 0.003314f, -0.009253f, 0.018379f, -0.006054f, 0.009050f, -0.018196f, -0.001092f, -0.004688f, -0.016452f, 0.000733f, 0.011997f, 0.021074f, 0.027610f, -0.015453f, -0.000198f, -0.019301f, -0.001207f, -0.012249f, 0.011308f, -0.011466f, -0.022658f, 0.001604f, -0.014418f, -0.001262f, 0.019288f, -0.011159f, -0.010950f, 0.020501f, 0.000933f, 0.003604f, -0.001820f, -0.011901f, 0.005418f, 0.004440f, 0.024917f, -0.016877f, 0.012404f, -0.014306f, 0.003948f, 0.004846f, -0.013818f, -0.008671f, 0.023995f, 0.006519f, -0.017149f, -0.004474f, -0.005999f, -0.014041f, -0.000150f, 0.023188f, 0.012859f, 0.016148f, 0.004167f, 0.006483f, -0.020605f, -0.003012f, 0.027393f, 0.002170f, -0.016121f, 0.008975f, 0.009481f, -0.012199f, -0.010026f, -0.005844f, -0.026903f, -0.004174f, 0.008930f, 0.013751f, - 0.025022f, -0.005878f, -0.012375f, -0.003490f, -0.007267f, 0.020371f, -0.006183f, 0.010340f, -0.042335f, -0.029629f, -0.019509f, 0.000715f, -0.035707f, 0.003678f, 0.024027f, 0.006981f, 0.024780f, -0.015523f, -0.007941f, -0.004304f, -0.015086f, -0.006562f, -0.021924f, 0.034905f, 0.019299f, 0.013028f, -0.032203f, -0.007421f, -0.011373f, -0.021483f, 0.005423f, -0.003603f, 0.004982f, -0.026343f, -0.003222f, -0.003747f, -0.019362f, 0.008839f, 0.001411f, 0.016675f, 0.005774f, -0.016808f, 0.022437f, -0.012939f, 0.008151f, 0.003453f, -0.001819f, 0.017375f, 0.016020f, 0.002803f, -0.024581f, 0.026272f, -0.015847f, 0.018332f, 0.007407f, -0.012116f, -0.013302f, 0.020690f, 0.001490f, -0.004447f, 0.003995f, -0.020863f, -0.008713f, 0.009010f, -0.003557f, 0.017869f, -0.013526f, -0.020054f, 0.005250f, 0.002903f, -0.001597f, 0.017465f, 0.006203f, 0.001569f, -0.015053f, 0.011738f, 0.003047f, -0.013943f, -0.004295f, -0.004510f, -0.009339f, -0.008662f, -0.008604f, 0.002488f, -0.024982f, 0.035530f, 0.015256f, 0.040489f, -0.016912f, -0.020546f, 0.038730f, 0.002029f, -0.002974f, 0.009014f, 0.003852f, 0.022837f, - 0.030470f, 0.004516f, -0.026415f, -0.043248f, 0.007167f, -0.011508f, 0.003704f, 0.001814f, -0.017957f, -0.000679f, 0.024962f, 0.020048f, 0.016440f, 0.031242f, -0.005873f, 0.026499f, -0.017231f, 0.023470f, 0.008703f, 0.018220f, -0.010889f, 0.031800f, 0.019268f, 0.023238f, -0.035418f, -0.000020f, 0.034369f, 0.019019f, 0.007166f, -0.007865f, 0.051133f, 0.021052f, -0.018479f, -0.012225f, 0.013316f, -0.019308f, -0.000744f, -0.009494f, 0.003678f, 0.041535f, 0.045058f, 0.031351f, 0.012785f, -0.000371f, 0.017579f, -0.015513f, -0.002707f, 0.016893f, -0.017741f, 0.043085f, 0.028579f, 0.020136f, 0.009370f, -0.003790f, -0.020343f, 0.023802f, 0.001457f, 0.019712f, -0.009998f, 0.004547f, -0.014815f, -0.014753f, -0.000771f, 0.001273f, -0.017680f, 0.042823f, -0.002538f, -0.021288f, -0.009560f, -0.016739f, -0.000609f, -0.026808f, 0.006976f, -0.023148f, 0.013100f, 0.002754f, -0.006068f, -0.018305f, -0.021426f, -0.032995f, -0.033748f, -0.010355f, 0.029707f, -0.002497f, -0.018924f, 0.007619f, -0.017988f, 0.013731f, -0.015274f, 0.027251f, -0.027922f, 0.006271f, -0.019632f, -0.020952f, -0.003252f, 0.003124f, - -0.005424f, 0.012644f, -0.040159f, 0.016042f, 0.004630f, -0.010222f, -0.002062f, -0.003097f, -0.019361f, -0.032758f, -0.033796f, 0.024592f, 0.013324f, -0.013928f, 0.022673f, 0.000353f, -0.007863f, -0.025844f, -0.052404f, -0.044457f, 0.026380f, -0.007955f, 0.002035f, -0.005485f, -0.000926f, -0.002664f, -0.034603f, 0.013804f, -0.041035f, -0.022800f, 0.004044f, -0.001101f, -0.006902f, -0.005335f, -0.003202f, 0.044969f, -0.010899f, -0.013415f, -0.008861f, 0.047831f, -0.004757f, -0.016396f, 0.033574f, -0.019604f, -0.009519f, -0.012841f, -0.007524f, -0.063877f, -0.048386f, -0.027901f, 0.054688f, -0.003354f, -0.009818f, -0.007278f, -0.004976f, -0.018727f, 0.018934f, 0.014628f, 0.048832f, -0.046139f, -0.009555f, 0.013594f, -0.034065f, -0.013819f, -0.012495f, 0.056551f, -0.001524f, 0.012715f, 0.028309f, 0.002218f, 0.027208f, -0.030537f, -0.038615f, -0.025733f, -0.007707f, -0.006806f, 0.003780f, 0.017465f, -0.001628f, -0.032245f, -0.022785f, -0.001945f, -0.017811f, -0.036103f, 0.031182f, -0.005621f, -0.018648f, -0.000488f, 0.009469f, 0.009909f, 0.005171f, -0.016409f, 0.002455f, -0.033509f, -0.015388f, -0.049577f, - 0.022393f, 0.014740f, -0.006654f, -0.015668f, 0.017440f, -0.024753f, -0.007097f, 0.053139f, -0.006413f, 0.045026f, 0.019406f, 0.011993f, -0.012597f, -0.056811f, -0.024330f, -0.011011f, -0.031234f, -0.022934f, -0.015192f, 0.025262f, -0.012132f, 0.000430f, -0.023109f, 0.048147f, -0.017151f, 0.019631f, 0.015128f, -0.032610f, 0.036750f, 0.002331f, -0.014711f, 0.024136f, 0.015599f, 0.072486f, 0.006412f, 0.004643f, 0.028269f, -0.027068f, -0.017224f, -0.002279f, 0.009806f, 0.014959f, -0.004110f, 0.032873f, -0.013567f, 0.007887f, 0.031587f, 0.016135f, 0.014463f, 0.013962f, -0.015757f, 0.007660f, 0.003848f, -0.006010f, 0.008696f, -0.010775f, -0.021437f, -0.009731f, 0.006705f, -0.021760f, 0.037852f, 0.001453f, 0.008119f, -0.000666f, 0.027687f, 0.029610f, 0.000124f, -0.015075f, 0.003339f, -0.002131f, 0.035528f, 0.042881f, -0.022371f, -0.015049f, -0.008555f, 0.013744f, 0.034505f, -0.021824f, 0.014389f, 0.002946f, 0.011993f, -0.009324f, -0.011891f, 0.009831f, 0.025416f, 0.007797f, -0.016969f, 0.025673f, 0.069580f, -0.015863f, 0.018922f, -0.000178f, 0.012518f, 0.028900f, 0.015026f, 0.033436f, - 0.032669f, -0.001083f, 0.046193f, 0.072115f, 0.013429f, -0.018107f, 0.077316f, 0.007168f, 0.074380f, 0.000790f, 0.015572f, -0.040229f, -0.011187f, 0.070125f, 0.013890f, -0.028076f, 0.011839f, -0.020480f, 0.011233f, 0.016002f, -0.002996f, -0.032376f, -0.010974f, -0.049904f, 0.024405f, 0.021568f, -0.018157f, 0.023188f, 0.033095f, 0.009833f, -0.006131f, -0.027490f, 0.009182f, 0.053320f, -0.021729f, 0.033540f, 0.030448f, 0.008313f, 0.023333f, 0.023757f, 0.002780f, 0.028758f, 0.018306f, -0.043220f, -0.004977f, -0.014872f, 0.050013f, 0.036372f, -0.032129f, 0.025167f, -0.002349f, 0.030060f, 0.082089f, -0.002959f, -0.012241f, 0.012859f, 0.073892f, 0.034739f, -0.003204f, 0.014380f, 0.014338f, 0.047153f, 0.038092f, -0.019841f, 0.045439f, 0.026002f, 0.042138f, -0.023271f, 0.005363f, 0.014366f, 0.009651f, 0.031826f, 0.038617f, -0.017862f, -0.018678f, 0.036993f, 0.015833f, -0.002626f, -0.009704f, 0.008203f, 0.046533f, -0.076622f, 0.021812f, -0.020486f, -0.019667f, -0.016442f, -0.015695f, 0.011334f, 0.014862f, 0.015461f, -0.018528f, -0.022525f, -0.058018f, 0.002775f, -0.032112f, 0.053307f, - 0.007088f, -0.013824f, -0.007273f, 0.031902f, 0.009895f, 0.051781f, 0.021685f, -0.013642f, 0.002949f, 0.010729f, 0.024471f, 0.038743f, -0.042778f, -0.038165f, -0.006988f, 0.065226f, -0.019231f, 0.007887f, 0.019774f, 0.028202f, 0.035991f, 0.049262f, 0.044253f, 0.003078f, -0.009075f, 0.045809f, 0.004875f, -0.030573f, 0.017105f, -0.028515f, 0.021262f, 0.003911f, -0.023146f, 0.021321f, 0.089112f, 0.047578f, -0.029440f, -0.024793f, -0.001621f, -0.025779f, -0.022478f, -0.022411f, 0.016726f, -0.013569f, -0.018779f, 0.002730f, 0.025898f, 0.012443f, 0.009831f, 0.032322f, 0.011128f, -0.010614f, 0.038321f, 0.028194f, -0.024279f, 0.015227f, -0.027593f, -0.025999f, -0.024133f, -0.003082f, -0.061224f, -0.022044f, 0.046857f, 0.029139f, -0.011695f, -0.022187f, 0.021421f, 0.017595f, -0.028607f, -0.011297f, -0.064188f, -0.003595f, 0.056701f, 0.002333f, -0.038520f, 0.008160f, 0.003662f, -0.025391f, 0.038433f, 0.022850f, -0.012909f, 0.012098f, 0.018445f, 0.024291f, 0.014437f, 0.005594f, -0.014377f, 0.010548f, 0.014960f, 0.036707f, 0.054289f, -0.012678f, -0.033249f, -0.016850f, 0.012004f, 0.012616f, - 0.045131f, -0.014732f, -0.031642f, -0.024527f, -0.024853f, 0.053901f, 0.097717f, 0.036509f, 0.007034f, 0.106643f, 0.008600f, 0.045338f, 0.027153f, -0.006881f, -0.019543f, 0.020623f, -0.027243f, -0.017770f, 0.023832f, 0.003569f, -0.060455f, -0.063170f, -0.013567f, 0.029657f, -0.031202f, -0.040331f, -0.020504f, -0.029063f, -0.022858f, 0.024912f, -0.014741f, -0.045482f, 0.025486f, 0.005255f, -0.010179f, 0.015068f, -0.006576f, 0.028681f, 0.103217f, -0.055328f, 0.055229f, -0.062543f, -0.031934f, -0.014992f, -0.006144f, 0.050197f, 0.002271f, 0.054023f, 0.034998f, 0.031678f, 0.046080f, -0.052069f, 0.021078f, -0.054562f, -0.001505f, 0.073270f, 0.065098f, 0.028323f, 0.001679f, 0.013413f, 0.008841f, -0.019871f, 0.017422f, 0.021757f, -0.090626f, 0.006512f, 0.014010f, 0.028676f, -0.032863f, -0.050438f, 0.038236f, 0.018778f, 0.010113f, -0.021003f, 0.045198f, -0.005316f, 0.035218f, 0.029845f, -0.003003f, 0.005387f, -0.009685f, 0.036173f, -0.020502f, 0.011731f, 0.021517f, -0.000854f, 0.045277f, 0.027031f, -0.002251f, 0.024064f, 0.026441f, -0.000364f, -0.020123f, -0.067460f, -0.012497f, 0.008287f, - -0.040464f, 0.004884f, 0.032348f, -0.061253f, -0.027665f, 0.010466f, -0.026888f, -0.003439f, 0.032582f, 0.002752f, -0.023582f, -0.029518f, 0.012996f, 0.013861f, -0.063555f, -0.020376f, -0.006115f, 0.000687f, 0.038306f, 0.019525f, 0.002804f, 0.068764f, -0.010942f, -0.003230f, -0.000547f, -0.042022f, -0.016441f, -0.063662f, -0.055422f, 0.011261f, -0.028131f, -0.008093f, -0.042561f, -0.053030f, -0.056067f, -0.036330f, 0.041317f, 0.056424f, 0.002218f, -0.044490f, 0.004323f, 0.003250f, 0.001296f, 0.022194f, 0.035984f, 0.036508f, 0.001505f, -0.021696f, -0.056143f, -0.031300f, -0.049104f, -0.009400f, 0.000744f, 0.005479f, 0.005622f, 0.008302f, 0.014140f, 0.019077f, 0.033848f, -0.051116f, 0.023416f, 0.010564f, 0.011920f, 0.029569f, 0.050077f, 0.057338f, -0.031964f, 0.026370f, -0.044325f, -0.012427f, -0.040260f, -0.002443f, -0.015678f, 0.094447f, 0.032971f, 0.068474f, 0.002740f, -0.034385f, -0.015597f, 0.044410f, 0.046148f, -0.025746f, 0.085365f, -0.034406f, 0.004850f, 0.005251f, 0.014242f, 0.032923f, 0.094549f, -0.005323f, 0.022301f, 0.054341f, 0.010786f, -0.041040f, 0.025019f, 0.098346f, - -0.020072f, -0.023338f, -0.060625f, -0.005362f, 0.031557f, 0.019861f, -0.004478f, -0.049148f, -0.008183f, -0.010396f, 0.018200f, 0.086151f, -0.005150f, -0.001035f, 0.036118f, 0.006620f, -0.120359f, -0.038107f, 0.084270f, 0.027807f, -0.025664f, -0.048107f, -0.007434f, -0.031898f, 0.043072f, 0.022395f, 0.007468f, -0.025590f, -0.057414f, 0.011858f, -0.098347f, -0.012176f, 0.046935f, 0.064920f, -0.008306f, -0.055467f, -0.038457f, -0.114304f, 0.032735f, -0.019885f, 0.043939f, 0.033803f, -0.033233f, -0.023556f, -0.102106f, -0.075983f, 0.038865f, 0.108186f, 0.042367f, 0.051573f, -0.036704f, -0.063815f, -0.062312f, -0.025358f, 0.091082f, 0.124198f, 0.063809f, -0.143005f, -0.053317f, -0.109297f, -0.059481f, 0.137469f, 0.032721f, 0.031394f, -0.018636f, -0.130156f, -0.108098f, -0.106498f, -0.020477f, 0.012241f, 0.067755f, -0.023211f, 0.051533f, -0.101825f, 0.064618f, 0.028827f, 0.007733f, 0.134592f, 0.008181f, -0.007700f, -0.006848f, -0.171939f, -0.056208f, -0.002972f, 0.004358f, -0.055039f, 0.095084f, 0.038622f, 0.041719f, -0.125935f, 0.021065f, -0.174010f, -0.041005f, -0.004394f, 0.020697f, 0.005800f, - -0.112365f, 0.055015f, -0.033526f, -0.023775f, -0.023773f, -0.027410f, -0.029935f, -0.038014f, 0.068246f, -0.024795f, -0.064470f, 0.015142f, -0.020436f, 0.002980f, 0.031424f, -0.073906f, -0.027759f, -0.008982f, 0.026156f, -0.001823f, 0.075718f, -0.011587f, -0.047735f, 0.098704f, -0.090502f, 0.046169f, -0.084063f, -0.032179f, 0.037126f, -0.071512f, 0.002320f, 0.042411f, -0.027457f, -0.011390f, -0.007281f, 0.055879f, 0.091920f, 0.048456f, -0.033861f, -0.019289f, -0.016787f, -0.000498f, 0.028308f, -0.019213f, -0.020553f, 0.011298f, 0.008039f, -0.178121f, -0.008376f, -0.014072f, 0.023556f, 0.012999f, 0.000052f, -0.008520f, 0.047809f, -0.063270f, -0.014217f, -0.015711f, 0.037107f, -0.148913f, -0.018448f, 0.109916f, -0.029890f, -0.068387f, 0.003717f, 0.045925f, -0.025938f, -0.044791f, -0.128137f, -0.106002f, 0.086708f, 0.073159f, 0.004018f, 0.078330f, -0.092531f, -0.008915f, -0.175630f, -0.065075f, -0.033611f, 0.079703f, 0.073087f, 0.042715f, -0.072373f, -0.027865f, -0.005908f, -0.037146f, 0.013599f, 0.026138f, 0.036542f, 0.048270f, -0.042599f, 0.025182f, -0.077191f, -0.051478f, -0.014283f, -0.020178f, - -0.000391f, 0.045052f, -0.061216f, 0.046488f, -0.024960f, -0.037199f, -0.015112f, 0.000290f, -0.075966f, -0.006180f, -0.068853f, -0.029601f, -0.027766f, -0.068309f, 0.085923f, 0.035520f, 0.018398f, 0.016679f, -0.018274f, -0.094057f, -0.133492f, -0.082138f, -0.078818f, 0.047977f, 0.011823f, 0.052057f, 0.078813f, 0.060534f, -0.021764f, 0.010791f, -0.045752f, -0.040022f, -0.041471f, 0.027847f, -0.043576f, -0.006990f, -0.041073f, -0.048503f, -0.025698f, 0.046813f, -0.038908f, -0.016307f, 0.007950f, -0.010441f, -0.054286f, -0.069453f, -0.029298f, 0.058230f, -0.012372f, -0.170957f, -0.237421f, -0.223160f, -0.211979f, -0.256553f, -0.030744f, -0.059729f, 0.062885f, 0.092469f, 0.258019f, 0.172013f, 0.220790f, 0.300129f, 0.327013f, 0.229190f, 0.285767f, 0.170311f, 0.085867f, 0.004711f, -0.037514f, -0.053793f, -0.101479f, -0.097137f, -0.142635f, -0.050366f, -0.044520f, -0.131074f, -0.096915f, -0.089435f, -0.106987f, -0.178611f, -0.120247f, -0.086593f, -0.070268f, -0.134295f, -0.009908f, -0.030050f, -0.051621f, -0.130049f, -0.123547f, -0.095908f, -0.084804f, -0.054578f, -0.019252f, -0.078545f, 0.034300f, 0.060394f, - -0.065044f, 0.092724f, 0.117739f, 0.118950f, 0.199804f, 0.169134f, 0.125383f, 0.143898f, 0.136832f, 0.142347f, 0.204790f, 0.237388f, 0.224072f, 0.159632f, 0.238864f, 0.243313f, 0.242052f, 0.254077f, 0.275976f, 0.251194f, 0.250914f, 0.347732f, 0.153056f, 0.161496f, 0.142205f, 0.132108f, -0.082783f, -0.014351f, -0.064351f, -0.180844f, -0.115747f}, - {0.003399f, 0.002832f, 0.002207f, 0.005144f, -0.001655f, 0.000476f, -0.002302f, -0.007713f, -0.014466f, 0.002985f, -0.005530f, -0.007801f, -0.010465f, 0.002541f, 0.001967f, 0.007756f, 0.002143f, 0.009220f, -0.001335f, -0.013678f, 0.005117f, -0.007222f, -0.000902f, 0.002930f, -0.005804f, -0.008938f, 0.001197f, -0.005846f, -0.000891f, -0.002954f, 0.005329f, 0.005346f, 0.001708f, -0.012749f, -0.002759f, -0.004892f, 0.009835f, 0.002052f, 0.002953f, 0.011477f, 0.005472f, 0.005150f, -0.000183f, 0.003106f, 0.018065f, 0.008873f, -0.003095f, 0.000860f, -0.008696f, 0.006218f, -0.000514f, 0.000982f, -0.010708f, -0.001419f, -0.005685f, -0.007291f, -0.002966f, 0.008071f, 0.006209f, 0.000093f, 0.000035f, -0.006998f, -0.006573f, -0.002431f, -0.006700f, -0.013773f, 0.007038f, -0.005745f, -0.001248f, -0.012966f, -0.003457f, 0.007790f, 0.003923f, -0.000582f, -0.011896f, 0.014704f, -0.001289f, 0.005827f, 0.002874f, 0.006885f, -0.012742f, -0.006977f, 0.007964f, 0.003742f, -0.000038f, -0.007190f, 0.001316f, -0.019745f, -0.012708f, -0.000870f, -0.007615f, -0.008686f, 0.003385f, 0.015089f, 0.002470f, 0.011439f, - -0.002784f, 0.011298f, -0.006950f, -0.006342f, -0.000839f, -0.010598f, 0.001997f, 0.004944f, -0.003809f, -0.000473f, 0.002649f, 0.000263f, 0.004649f, -0.000786f, -0.011140f, 0.003744f, -0.006905f, -0.005430f, 0.003114f, -0.007084f, -0.010363f, 0.010075f, -0.010860f, 0.009574f, 0.009202f, 0.005788f, -0.000446f, -0.013017f, -0.007364f, 0.001184f, -0.002328f, 0.016174f, -0.009955f, 0.003741f, -0.001170f, 0.001916f, -0.012279f, -0.021018f, -0.003475f, -0.006487f, -0.006701f, -0.001885f, 0.009050f, -0.002148f, -0.009025f, 0.007978f, 0.003902f, -0.004385f, 0.007376f, -0.001538f, 0.002721f, -0.009711f, 0.000114f, -0.002423f, 0.007776f, 0.007752f, 0.000933f, 0.014138f, -0.000352f, 0.005983f, 0.007523f, -0.000308f, -0.007182f, 0.000514f, -0.010123f, -0.012963f, -0.005007f, -0.014745f, -0.015151f, -0.005112f, 0.009689f, -0.003756f, -0.003569f, -0.008042f, -0.002126f, -0.013885f, 0.006523f, -0.004067f, 0.003229f, 0.007942f, 0.002643f, -0.003124f, 0.005501f, 0.005086f, -0.006782f, 0.004370f, 0.000498f, 0.000978f, 0.004881f, -0.012162f, -0.005240f, 0.008170f, -0.005502f, -0.000656f, -0.003528f, 0.009094f, - -0.012074f, -0.001261f, -0.010119f, 0.006249f, -0.000666f, -0.000999f, 0.009011f, -0.004182f, -0.004415f, -0.003393f, -0.008528f, 0.000353f, -0.003882f, -0.000922f, 0.000527f, 0.005530f, 0.005836f, 0.001743f, -0.002629f, -0.010230f, -0.016397f, -0.005281f, -0.001160f, -0.004229f, 0.008774f, -0.003703f, -0.005090f, 0.006918f, -0.004596f, -0.007069f, 0.015413f, -0.003312f, 0.017169f, -0.010075f, -0.004463f, -0.007156f, 0.006722f, 0.001694f, -0.000196f, 0.012498f, 0.003448f, 0.004001f, -0.016835f, 0.003686f, -0.007536f, -0.008978f, -0.011682f, 0.000261f, 0.001051f, 0.015032f, -0.011293f, 0.005962f, -0.004364f, 0.018465f, -0.005856f, -0.005539f, 0.013482f, -0.004477f, 0.005097f, 0.002355f, -0.000166f, 0.002532f, -0.007900f, 0.001804f, 0.001121f, 0.004036f, 0.017673f, 0.006297f, 0.002331f, -0.006848f, 0.006695f, -0.012786f, -0.002866f, -0.002149f, 0.008019f, 0.006529f, 0.011067f, 0.007073f, -0.006819f, -0.010935f, -0.004043f, 0.008972f, -0.000145f, 0.004819f, -0.000869f, -0.000910f, 0.018205f, 0.004394f, -0.000284f, -0.020231f, -0.008100f, 0.000859f, 0.008275f, 0.011321f, 0.016664f, 0.008991f, - -0.002480f, 0.003101f, -0.002446f, -0.004926f, 0.012561f, -0.006646f, 0.013032f, 0.000908f, -0.008529f, 0.004179f, -0.003209f, 0.009553f, 0.002016f, 0.008674f, -0.002172f, -0.001506f, -0.003315f, -0.010249f, 0.000292f, 0.007322f, 0.007194f, 0.013672f, 0.006140f, -0.017950f, -0.015143f, -0.012996f, 0.000386f, -0.002168f, 0.000789f, -0.007040f, -0.004583f, -0.001036f, 0.005264f, 0.000010f, -0.011707f, 0.012533f, -0.001989f, -0.011435f, 0.002141f, 0.002864f, -0.000473f, -0.000956f, 0.004750f, 0.006757f, -0.004382f, 0.010256f, 0.000225f, 0.006110f, -0.014011f, 0.010001f, 0.003172f, 0.005891f, -0.009760f, -0.000751f, 0.006577f, 0.006224f, 0.014645f, -0.000217f, -0.021055f, -0.005286f, -0.010287f, 0.005259f, 0.002963f, -0.000412f, -0.005933f, 0.002066f, -0.008912f, -0.002478f, -0.015897f, -0.008519f, -0.000982f, 0.009240f, 0.009124f, -0.006240f, -0.006438f, -0.005313f, 0.009348f, -0.002526f, -0.001763f, -0.013905f, 0.008375f, -0.013603f, -0.005683f, 0.000535f, -0.003717f, -0.002671f, 0.014940f, -0.001263f, 0.003766f, -0.005781f, 0.007253f, -0.006525f, -0.000394f, 0.010186f, 0.018814f, 0.012931f, - 0.002442f, -0.015410f, -0.011710f, 0.003682f, -0.003007f, -0.010004f, -0.003598f, -0.012781f, -0.005782f, 0.024636f, 0.002445f, -0.003001f, -0.005103f, -0.000322f, -0.006270f, -0.004352f, 0.016426f, -0.017855f, -0.002539f, 0.001406f, -0.004229f, 0.004078f, 0.009728f, -0.005012f, -0.006266f, 0.002269f, -0.007683f, -0.007316f, -0.016810f, -0.006344f, 0.003867f, -0.014894f, -0.002979f, 0.006938f, 0.010447f, 0.003611f, -0.023439f, -0.007202f, 0.004034f, 0.011241f, -0.009556f, 0.019615f, -0.002909f, -0.010396f, -0.006239f, -0.004600f, -0.008481f, 0.010531f, -0.008721f, -0.002449f, -0.011327f, -0.008678f, -0.004573f, -0.008822f, 0.010784f, -0.004511f, -0.023607f, 0.008458f, 0.014728f, -0.000108f, 0.004910f, -0.028205f, 0.021142f, 0.000060f, -0.018816f, 0.001513f, -0.012663f, -0.021366f, 0.003918f, -0.015916f, 0.015498f, 0.003422f, -0.006919f, -0.012975f, -0.022236f, -0.010043f, -0.016309f, 0.004681f, 0.029307f, 0.004446f, -0.008555f, -0.001131f, -0.004869f, -0.005294f, -0.014293f, -0.009567f, -0.014698f, 0.003126f, -0.001809f, 0.002417f, -0.005644f, 0.001677f, -0.015504f, -0.001642f, 0.002598f, -0.010646f, - -0.004470f, 0.000644f, -0.006248f, 0.000831f, -0.005817f, 0.021584f, -0.027916f, -0.005437f, 0.001403f, 0.006695f, -0.003601f, -0.011742f, -0.017441f, -0.012397f, 0.008117f, -0.002968f, 0.009090f, -0.009036f, 0.024904f, 0.002782f, -0.005798f, -0.000840f, -0.016086f, -0.020120f, -0.010672f, 0.006818f, -0.017473f, -0.001604f, 0.018794f, -0.001145f, -0.010049f, -0.019200f, -0.032181f, 0.000680f, 0.015405f, -0.005113f, 0.017834f, -0.002356f, -0.006394f, -0.012339f, -0.010745f, 0.001001f, 0.007074f, -0.006843f, 0.026943f, 0.006990f, -0.007628f, 0.017816f, -0.007588f, -0.020221f, -0.005435f, -0.015044f, -0.007800f, -0.006412f, 0.021735f, -0.005212f, -0.007130f, -0.008893f, 0.013989f, 0.012727f, 0.011111f, 0.030742f, 0.032012f, 0.015053f, 0.019911f, -0.007208f, -0.009149f, 0.013491f, 0.019617f, -0.008217f, 0.008624f, 0.006350f, -0.017020f, -0.015798f, 0.009490f, -0.002042f, -0.000247f, -0.015746f, -0.020471f, -0.004524f, -0.016622f, 0.019078f, 0.034928f, 0.007585f, 0.013712f, 0.004387f, -0.004246f, 0.012878f, -0.024067f, -0.006020f, 0.004808f, 0.013709f, -0.008066f, -0.018936f, 0.027998f, 0.000332f, - -0.008898f, -0.006506f, 0.011318f, -0.003071f, 0.010037f, -0.006668f, 0.015888f, -0.000975f, -0.000759f, 0.020384f, 0.005857f, 0.009596f, 0.003204f, -0.002697f, 0.014524f, -0.022426f, -0.009579f, 0.008834f, 0.025278f, -0.015371f, -0.002325f, -0.002914f, -0.004145f, -0.010437f, -0.002862f, -0.005118f, -0.007695f, 0.013184f, -0.012080f, -0.004430f, 0.011957f, -0.008551f, 0.005432f, 0.009091f, -0.016623f, -0.017813f, 0.005670f, 0.014385f, -0.004277f, 0.013163f, -0.008795f, -0.003693f, 0.024786f, -0.027141f, 0.017106f, -0.007442f, 0.000704f, 0.001142f, 0.030517f, -0.006275f, 0.006452f, 0.009934f, 0.017065f, 0.010061f, 0.015026f, -0.002018f, -0.001771f, 0.005116f, 0.002899f, 0.002796f, -0.013902f, 0.022895f, -0.029429f, -0.006227f, -0.007297f, 0.017155f, -0.002760f, 0.020823f, -0.000303f, 0.002313f, -0.035072f, -0.009416f, 0.022449f, 0.037416f, 0.000351f, -0.017982f, -0.014772f, 0.015608f, 0.012964f, 0.009605f, 0.009482f, -0.015338f, -0.006429f, -0.008696f, 0.005621f, 0.001106f, -0.008839f, 0.006150f, 0.005850f, -0.004057f, -0.004045f, -0.021085f, -0.004733f, -0.007428f, 0.031808f, 0.003307f, - 0.006842f, 0.012143f, 0.001985f, -0.023751f, 0.002236f, -0.014436f, 0.012822f, 0.011505f, -0.023885f, -0.010126f, -0.009920f, 0.002743f, -0.002788f, 0.031781f, -0.005682f, -0.000368f, 0.019645f, -0.020394f, -0.015191f, -0.019224f, -0.020008f, -0.006049f, -0.002181f, 0.006747f, 0.034120f, -0.004845f, -0.022013f, 0.035296f, -0.000905f, 0.008712f, 0.023697f, 0.015766f, 0.022008f, -0.007795f, 0.017058f, -0.013661f, 0.023094f, 0.019868f, -0.007392f, 0.009534f, -0.011479f, -0.010916f, 0.007729f, 0.026465f, 0.011106f, 0.009395f, 0.002385f, -0.010772f, -0.017206f, -0.017657f, 0.000926f, 0.017561f, -0.012954f, -0.015435f, -0.018380f, -0.008220f, -0.034796f, -0.009674f, 0.004581f, -0.026252f, 0.009954f, -0.000259f, -0.012925f, -0.030569f, -0.020969f, -0.002035f, -0.039801f, 0.009756f, 0.006377f, -0.003004f, 0.008472f, 0.004642f, -0.005859f, -0.022001f, -0.014216f, -0.004568f, -0.014887f, 0.009234f, -0.015633f, 0.028825f, -0.023818f, -0.001608f, 0.010906f, -0.002569f, -0.045857f, 0.016586f, 0.021508f, 0.037469f, 0.000311f, -0.027282f, 0.008230f, 0.013573f, -0.028096f, -0.029445f, -0.018074f, -0.000499f, - 0.016373f, -0.000609f, -0.011098f, -0.000421f, -0.009620f, -0.006691f, -0.017830f, 0.030886f, 0.024627f, 0.009154f, -0.037073f, -0.011214f, 0.006725f, -0.002089f, -0.007711f, 0.047762f, 0.018202f, 0.015000f, 0.014789f, 0.022628f, 0.017767f, 0.004080f, 0.018594f, -0.001307f, -0.028807f, 0.015909f, -0.029627f, 0.009152f, -0.029292f, 0.025291f, -0.007060f, 0.030540f, -0.015842f, 0.007197f, -0.012595f, 0.010766f, 0.019036f, 0.046604f, 0.011003f, -0.060175f, -0.002050f, -0.008805f, 0.013992f, 0.025552f, -0.004071f, -0.012229f, 0.020455f, -0.004094f, -0.008089f, 0.024923f, 0.003030f, -0.002037f, 0.002782f, 0.009997f, 0.022133f, 0.015129f, -0.016021f, -0.014479f, -0.009390f, -0.019489f, 0.006071f, -0.003482f, 0.022239f, 0.012566f, -0.025743f, 0.050414f, -0.018996f, -0.033493f, -0.010587f, 0.013149f, -0.008192f, 0.024220f, 0.035118f, -0.014069f, 0.032225f, 0.020652f, 0.016266f, -0.005332f, -0.003736f, -0.006518f, 0.031280f, 0.005625f, 0.003894f, -0.018224f, 0.008037f, -0.009593f, -0.000648f, -0.030089f, 0.020438f, -0.027651f, 0.000270f, -0.019585f, 0.032627f, -0.016839f, 0.000863f, 0.031826f, - 0.024530f, 0.016186f, -0.001841f, -0.013088f, 0.015031f, -0.000858f, -0.002786f, -0.041425f, -0.012091f, -0.025244f, -0.020052f, -0.016241f, -0.007362f, 0.020713f, 0.013407f, 0.011765f, 0.000034f, 0.030633f, -0.016669f, 0.032379f, 0.029083f, 0.030410f, 0.054617f, -0.022168f, -0.016738f, 0.022979f, 0.004246f, -0.022474f, 0.032669f, -0.012235f, -0.016444f, 0.009198f, -0.004711f, -0.013178f, -0.010252f, 0.012244f, -0.020177f, 0.006450f, -0.013173f, 0.027720f, -0.014606f, -0.002732f, 0.006584f, 0.017883f, 0.026808f, -0.005568f, -0.028450f, -0.049142f, -0.041851f, -0.004134f, 0.006205f, -0.029345f, -0.000904f, 0.000124f, 0.041569f, -0.030774f, -0.034626f, 0.008225f, -0.015753f, -0.002414f, -0.025799f, 0.020281f, -0.026152f, -0.034822f, -0.021544f, 0.034987f, -0.027456f, -0.023355f, -0.006695f, 0.012680f, -0.013054f, -0.029414f, 0.006506f, -0.013470f, -0.001637f, 0.009592f, -0.037188f, -0.005339f, 0.017891f, 0.028821f, -0.006484f, 0.045444f, 0.019475f, -0.008289f, 0.000525f, 0.019076f, -0.010603f, -0.022490f, 0.002186f, 0.023166f, 0.001424f, 0.009535f, -0.000849f, -0.024438f, 0.006009f, -0.050058f, - 0.002951f, -0.000641f, -0.007234f, -0.030912f, -0.026278f, -0.000302f, -0.012547f, -0.022422f, -0.013721f, -0.018825f, 0.017065f, -0.034572f, -0.018420f, -0.012705f, 0.012823f, -0.022135f, 0.037456f, -0.009838f, -0.032090f, -0.007120f, -0.018919f, -0.055200f, -0.014700f, -0.001729f, -0.000608f, -0.038587f, -0.015791f, -0.014683f, 0.036861f, 0.033001f, 0.010670f, 0.066502f, -0.011069f, -0.022058f, -0.019360f, -0.008812f, -0.034111f, 0.048497f, -0.027319f, -0.009737f, -0.021827f, -0.011300f, -0.009494f, 0.006236f, -0.032151f, 0.001076f, 0.001905f, -0.004136f, 0.011133f, -0.035079f, -0.007380f, 0.024766f, -0.022480f, 0.001672f, -0.029526f, 0.030338f, 0.002033f, -0.053148f, -0.025771f, -0.009490f, 0.000859f, 0.014963f, -0.030338f, -0.018120f, 0.024428f, -0.003810f, 0.017629f, 0.014079f, 0.016302f, -0.019588f, 0.004607f, 0.023409f, 0.011265f, -0.044345f, 0.031051f, 0.020158f, -0.021066f, 0.067243f, 0.001672f, -0.049105f, 0.016474f, 0.014724f, 0.002084f, 0.035390f, -0.007763f, -0.061197f, 0.020487f, 0.007675f, 0.021719f, 0.020291f, -0.023769f, 0.042364f, 0.020453f, 0.012077f, -0.006143f, 0.064382f, - -0.000597f, -0.000897f, 0.049871f, -0.010114f, 0.025624f, 0.032858f, 0.017604f, 0.001946f, -0.003075f, 0.013203f, 0.013638f, -0.046373f, -0.045521f, 0.094647f, 0.030793f, -0.058415f, -0.029203f, -0.026552f, -0.053509f, -0.003554f, -0.028065f, 0.039703f, -0.021817f, 0.000661f, 0.049312f, 0.001530f, 0.008489f, -0.035562f, 0.045483f, 0.034131f, -0.000243f, -0.010383f, -0.003181f, -0.027509f, 0.002462f, 0.004087f, 0.006054f, -0.037974f, -0.005281f, -0.001682f, -0.011268f, -0.008017f, -0.026225f, 0.025719f, 0.050143f, 0.060430f, -0.004553f, -0.023651f, -0.009792f, -0.011794f, -0.008063f, -0.036118f, 0.012826f, 0.014979f, 0.013509f, -0.037644f, -0.050756f, 0.055876f, 0.021207f, 0.031586f, 0.040478f, 0.038281f, -0.015936f, -0.025057f, 0.036692f, -0.036278f, 0.019152f, -0.026989f, -0.020778f, -0.011684f, 0.043660f, -0.013693f, 0.009281f, 0.015441f, -0.007325f, -0.034402f, 0.072834f, -0.043238f, 0.005158f, 0.052597f, -0.046607f, -0.021427f, 0.006420f, 0.018642f, 0.054732f, 0.025299f, -0.014884f, 0.016158f, 0.063585f, 0.038621f, -0.004865f, -0.039432f, 0.005015f, 0.065146f, 0.052065f, 0.011551f, - -0.050161f, -0.018887f, -0.043201f, -0.002556f, 0.035224f, 0.043246f, -0.002338f, 0.016861f, 0.051329f, 0.054477f, 0.084250f, 0.084692f, -0.041215f, 0.018914f, -0.044580f, -0.007595f, -0.036018f, -0.012626f, 0.029662f, -0.005943f, 0.013357f, 0.011895f, -0.025450f, -0.018650f, 0.021941f, 0.024198f, 0.031429f, 0.022307f, -0.000479f, 0.022939f, 0.034559f, -0.017724f, 0.017721f, 0.020312f, 0.006417f, 0.019783f, 0.065505f, -0.048820f, -0.041797f, -0.009442f, 0.040505f, 0.038523f, -0.022711f, -0.000410f, 0.061931f, 0.049782f, -0.035001f, -0.023675f, 0.021166f, -0.043203f, 0.011705f, -0.021135f, -0.039137f, 0.011852f, -0.046088f, 0.046527f, 0.016715f, 0.051459f, -0.022958f, -0.031895f, -0.060494f, -0.014246f, 0.017762f, -0.053580f, -0.046583f, -0.028503f, 0.025663f, 0.063929f, -0.003126f, -0.018745f, 0.041502f, 0.009082f, -0.001305f, -0.059366f, 0.053841f, -0.025374f, -0.055974f, -0.018758f, 0.005018f, 0.066403f, 0.007499f, 0.047717f, 0.020355f, -0.055322f, -0.010864f, -0.048988f, 0.009263f, -0.048866f, -0.034100f, -0.020760f, 0.003887f, 0.010747f, -0.036777f, 0.037853f, -0.010616f, 0.023102f, - 0.026040f, 0.024525f, 0.047087f, 0.083253f, 0.050335f, -0.015639f, -0.039171f, -0.001257f, 0.089123f, 0.054599f, -0.028006f, 0.043629f, -0.014962f, 0.053242f, -0.024555f, 0.005224f, -0.017868f, -0.009767f, -0.001026f, -0.014911f, 0.133377f, -0.024976f, -0.034207f, -0.041904f, -0.056839f, -0.022662f, -0.043268f, -0.001989f, 0.052997f, -0.020152f, 0.017286f, -0.016781f, -0.023550f, 0.046395f, -0.010407f, 0.078143f, 0.016957f, 0.062763f, -0.073356f, 0.032132f, 0.136433f, 0.049888f, -0.071269f, 0.046458f, 0.044564f, 0.005534f, -0.002119f, 0.086969f, 0.038253f, 0.005832f, -0.007271f, -0.104051f, 0.042026f, 0.058298f, -0.049607f, -0.037158f, 0.072865f, 0.046148f, -0.066490f, -0.070073f, -0.002270f, -0.042738f, 0.012113f, 0.002084f, 0.011321f, -0.066098f, 0.011477f, -0.016291f, -0.035508f, 0.050664f, -0.008572f, -0.013414f, 0.013686f, 0.041795f, 0.036576f, 0.024051f, -0.057758f, -0.003122f, -0.030708f, -0.060675f, 0.015619f, 0.011668f, 0.029769f, -0.016224f, -0.031304f, 0.067831f, -0.056850f, 0.018527f, 0.019983f, 0.016015f, 0.010376f, -0.013370f, 0.037500f, -0.043996f, -0.073495f, -0.015962f, - -0.083454f, 0.064155f, 0.037000f, 0.062806f, -0.010661f, 0.008592f, -0.059620f, 0.051845f, 0.066236f, 0.020741f, -0.035429f, -0.085003f, -0.023338f, -0.110695f, -0.003158f, -0.024988f, -0.075943f, -0.066294f, 0.024034f, -0.001379f, 0.041253f, -0.040211f, 0.049482f, 0.035953f, -0.057285f, 0.005708f, -0.008541f, -0.060756f, 0.029968f, 0.023169f, -0.027207f, 0.012443f, -0.012773f, -0.092719f, -0.022484f, 0.025362f, -0.008362f, 0.012307f, -0.050002f, 0.070648f, -0.087788f, 0.008882f, -0.063458f, 0.047779f, 0.053882f, 0.018186f, 0.045684f, 0.006233f, -0.040546f, 0.076109f, -0.031533f, 0.009227f, 0.004590f, -0.041684f, 0.074408f, 0.006122f, 0.022059f, 0.016635f, 0.025929f, 0.012816f, 0.057045f, 0.063518f, 0.025241f, 0.073957f, -0.059254f, -0.004145f, 0.004489f, 0.094111f, -0.013226f, 0.075048f, 0.046464f, 0.102811f, 0.025223f, -0.022970f, -0.027352f, 0.040815f, -0.071009f, 0.072230f, -0.037742f, -0.025989f, -0.005939f, 0.014171f, 0.061328f, -0.013447f, -0.092324f, -0.028473f, 0.168321f, 0.010753f, -0.093227f, 0.023519f, -0.058306f, 0.018016f, 0.168145f, -0.046049f, -0.032532f, 0.106861f, - -0.106186f, 0.055841f, 0.042278f, 0.030265f, 0.122870f, 0.057051f, -0.058159f, 0.081069f, 0.040091f, 0.054542f, 0.103918f, 0.051810f, -0.049957f, 0.066563f, 0.019798f, 0.060092f, -0.017450f, -0.110916f, 0.112706f, 0.098213f, 0.060009f, 0.185306f, -0.017541f, -0.155071f, -0.080612f, -0.073022f, 0.163822f, 0.120995f, 0.028787f, -0.010086f, -0.030440f, -0.108199f, -0.052057f, -0.034753f, -0.062922f, 0.167545f, 0.134984f, 0.188950f, 0.002886f, -0.215004f, -0.336366f, -0.163108f, 0.186332f, 0.253064f, 0.256987f, 0.104614f, -0.214473f, -0.391776f, -0.241587f, -0.120659f, 0.180170f, 0.308813f, 0.173884f, 0.096058f, 0.024381f, -0.137878f, -0.187790f, -0.138595f, -0.011740f, 0.109453f, 0.218259f, 0.263692f, 0.045305f, 0.052662f, -0.209753f, -0.343844f, -0.185634f, 0.173577f, 0.287209f, 0.275408f, 0.169252f, -0.098743f, -0.337664f, -0.215681f, -0.283541f, 0.002915f, 0.189164f, 0.208470f, 0.101562f, -0.080238f, -0.178637f, -0.155505f, -0.124794f, 0.036084f, -0.025331f, -0.062194f, 0.067820f, 0.008144f, -0.102695f, 0.011115f, -0.028042f, -0.042361f, 0.028593f, -0.032891f, -0.014087f, -0.055838f, - 0.001415f, -0.022463f, -0.042010f, 0.014333f, -0.006220f, 0.011709f, 0.004898f, 0.031718f, -0.034518f, -0.012892f, 0.008566f, 0.001857f, 0.014023f, -0.015853f, 0.032266f, -0.025646f, 0.021798f, 0.009198f, -0.012339f, -0.026900f, -0.012151f, -0.048785f, 0.049719f, -0.006539f, 0.000474f, -0.010827f, -0.013366f, 0.000823f, -0.002620f, -0.000716f, 0.018648f, 0.009670f, -0.001588f, 0.026457f, -0.025673f, 0.006586f, -0.024344f, 0.023381f, 0.014960f, -0.021901f, 0.013014f, -0.026327f, -0.027245f, -0.024404f, -0.041581f, -0.007455f, 0.030807f, -0.031478f, -0.056020f, -0.041952f, 0.003656f, 0.030266f, 0.001351f, 0.021093f, -0.052222f, -0.019058f, -0.004486f, -0.010789f, -0.049533f, -0.020349f, 0.005741f, -0.002011f, -0.011939f, 0.039243f, 0.038264f, -0.044458f, -0.055573f, -0.090486f, -0.141439f, 0.003970f, 0.114783f, -0.045493f, -0.072120f, -0.077212f, -0.072803f, 0.013759f, 0.013926f, 0.132236f, -0.020262f, -0.020463f, -0.060320f, 0.005329f, 0.017175f, 0.040681f, -0.045523f, 0.021228f, -0.033323f, 0.050855f, 0.015846f, 0.015662f, 0.005492f, -0.034029f, -0.018479f, -0.022733f, -0.007764f, 0.017360f, - -0.020358f, -0.018888f, 0.036149f, -0.035317f, -0.021719f, 0.028791f, -0.029708f, -0.012388f, -0.025589f, -0.042400f, 0.013686f, 0.024860f, 0.004230f, 0.023279f, -0.038886f, -0.011620f, -0.001803f, 0.020234f, 0.026769f, 0.032040f, 0.001689f, -0.005571f, -0.058182f, -0.061106f, -0.022585f, -0.021232f, -0.013707f, 0.025010f, 0.036314f, 0.050330f, 0.004871f, -0.026090f, 0.051569f, -0.039712f, -0.017967f, 0.021304f, -0.017835f, 0.067036f, 0.001870f, -0.013382f, 0.009642f, -0.026817f, 0.017331f, 0.046834f, 0.035386f, -0.013884f, 0.007795f, 0.034174f, -0.092828f, -0.213763f, -0.163945f, -0.021031f, 0.067504f, 0.179983f, 0.151525f, 0.144636f, 0.147671f, 0.096720f, 0.039276f, -0.056445f, -0.098440f, -0.185514f, -0.137455f, -0.134947f, -0.134719f, -0.084548f, 0.077321f, 0.105272f, 0.155563f, 0.119088f, 0.099178f, 0.031313f, 0.065337f, -0.017464f, -0.020029f, -0.023486f, -0.039555f, -0.071541f, -0.059287f, -0.118988f, -0.044998f, -0.094911f, -0.046633f, -0.024025f, 0.028001f, 0.004038f, 0.041126f, 0.008058f, 0.058581f, 0.042819f, 0.071397f, 0.096021f, 0.119441f, 0.075957f, 0.050130f, 0.084659f, - 0.004613f, -0.031144f, -0.108752f, -0.126870f, -0.174107f, -0.155096f, -0.145246f, -0.056411f, -0.095701f, -0.050552f, 0.004574f, 0.024962f, 0.059961f, 0.115301f, 0.123264f, 0.137873f, 0.209018f, 0.117753f, 0.161084f, 0.111958f, 0.027748f, -0.014646f, -0.060920f, -0.162501f, -0.174135f, -0.164951f, -0.175443f, -0.118887f, -0.036739f, -0.002198f, 0.004347f} - }, - { - {0.004627f, -0.001247f, 0.003163f, 0.002375f, 0.004371f, -0.000807f, -0.003535f, 0.006836f, -0.000962f, -0.010817f, -0.003143f, -0.012016f, 0.008397f, 0.001616f, -0.001813f, 0.001689f, -0.002308f, 0.001607f, -0.010072f, 0.008299f, -0.001014f, 0.002932f, -0.009426f, -0.003428f, -0.003458f, -0.013063f, -0.005021f, -0.001107f, -0.000166f, -0.000846f, 0.004906f, -0.001861f, -0.004828f, -0.003774f, -0.010108f, -0.000930f, -0.010092f, -0.000593f, 0.002258f, 0.002530f, -0.002650f, 0.000242f, -0.001839f, -0.000342f, -0.003490f, -0.003296f, 0.002182f, -0.002113f, -0.002515f, 0.004000f, 0.013333f, 0.000640f, 0.005849f, 0.010699f, -0.000998f, -0.002204f, 0.010010f, -0.005495f, -0.000756f, -0.002224f, 0.000462f, 0.004186f, 0.001793f, -0.004491f, -0.005257f, 0.005688f, 0.003223f, 0.006391f, -0.003809f, -0.003521f, -0.005040f, -0.002158f, -0.001952f, -0.002389f, -0.003433f, 0.001183f, -0.017397f, 0.013370f, 0.000607f, 0.006107f, 0.006067f, 0.017318f, 0.008123f, -0.006486f, -0.008161f, -0.011379f, 0.008053f, -0.009966f, -0.007246f, 0.001543f, 0.002440f, 0.000994f, 0.010147f, -0.003412f, 0.009481f, -0.002525f, - 0.008505f, -0.008190f, 0.003700f, -0.003672f, -0.008712f, -0.000708f, -0.016570f, 0.002376f, 0.003995f, 0.007278f, -0.006093f, -0.000210f, 0.006380f, -0.004861f, 0.007171f, 0.006690f, -0.004164f, 0.004763f, -0.005560f, -0.002689f, -0.004137f, -0.006068f, -0.007616f, 0.006586f, 0.009857f, -0.007610f, 0.004311f, 0.007835f, 0.006361f, 0.009621f, 0.001102f, -0.001660f, 0.005563f, 0.004132f, -0.010520f, -0.000606f, 0.001019f, 0.000437f, 0.003086f, 0.006480f, 0.001275f, 0.002184f, -0.003863f, -0.002543f, 0.004442f, 0.006390f, 0.003353f, -0.003837f, -0.006632f, 0.006560f, -0.006135f, -0.002157f, 0.003145f, -0.001523f, -0.001218f, 0.002570f, -0.000674f, 0.006880f, -0.003621f, 0.005041f, 0.000502f, -0.000416f, -0.013957f, 0.002251f, 0.011936f, -0.007307f, 0.004951f, -0.014844f, -0.014988f, -0.004951f, -0.012178f, -0.010664f, -0.001564f, 0.002199f, 0.008438f, 0.001330f, -0.003993f, 0.001893f, 0.005767f, -0.007393f, 0.010292f, -0.006943f, -0.007433f, 0.008658f, -0.004244f, 0.009975f, 0.012769f, 0.001745f, -0.009074f, 0.006392f, 0.004276f, 0.002553f, -0.004563f, -0.003393f, 0.005436f, 0.004436f, - 0.001019f, -0.010365f, -0.002864f, -0.009575f, 0.008768f, -0.008643f, -0.005483f, 0.006344f, 0.000458f, 0.005507f, 0.001751f, 0.002111f, 0.009585f, 0.001588f, 0.010745f, -0.013585f, -0.006750f, -0.003130f, 0.006985f, 0.009543f, 0.011163f, 0.014842f, 0.001923f, -0.004168f, -0.001060f, -0.001914f, -0.000044f, -0.009520f, -0.003737f, -0.004039f, -0.000601f, 0.001698f, -0.007098f, -0.004316f, -0.000825f, -0.002867f, -0.004687f, 0.007900f, 0.015673f, -0.012013f, -0.004650f, -0.002548f, 0.009549f, 0.008601f, -0.009134f, -0.001033f, -0.016762f, -0.003832f, 0.019820f, 0.007335f, -0.008294f, 0.014177f, 0.004469f, 0.005320f, 0.001241f, -0.005042f, -0.016009f, 0.001907f, -0.007336f, -0.004710f, -0.003112f, -0.009828f, -0.003633f, -0.007654f, 0.004967f, -0.003578f, -0.004585f, 0.008798f, -0.017211f, 0.015422f, -0.005735f, 0.002019f, -0.005545f, 0.004677f, -0.000859f, -0.001760f, -0.000645f, 0.006455f, 0.000106f, 0.004011f, -0.006292f, 0.011515f, -0.009323f, 0.013444f, 0.002687f, -0.001534f, -0.007846f, -0.009134f, 0.018319f, 0.003019f, -0.017574f, 0.017594f, 0.016545f, -0.009255f, -0.003522f, 0.005104f, - -0.007036f, -0.001422f, -0.004391f, 0.004072f, 0.010531f, -0.006613f, 0.002316f, -0.004962f, -0.004542f, 0.001681f, 0.014325f, -0.013215f, 0.008005f, -0.013561f, -0.010358f, -0.009683f, -0.001503f, 0.000653f, 0.000650f, 0.003112f, 0.006045f, -0.004576f, 0.002234f, -0.010513f, 0.013091f, -0.015387f, 0.002207f, 0.019330f, -0.030653f, 0.024042f, 0.010510f, -0.006930f, 0.008605f, 0.000990f, 0.021084f, -0.000385f, -0.014622f, -0.009622f, 0.008112f, 0.009261f, 0.003721f, 0.002238f, 0.009848f, 0.004206f, 0.002913f, 0.013003f, 0.006161f, 0.004979f, 0.009671f, 0.007618f, 0.029399f, -0.005855f, 0.008968f, 0.001423f, -0.003011f, 0.009074f, 0.006054f, 0.004701f, 0.005102f, -0.002663f, -0.006139f, 0.002439f, 0.001563f, 0.002358f, 0.005609f, 0.010492f, -0.007084f, -0.007175f, 0.005568f, -0.000132f, -0.001925f, -0.003392f, 0.012937f, -0.005961f, 0.017992f, 0.009928f, 0.002348f, 0.006146f, 0.003018f, 0.006858f, 0.022456f, 0.019958f, 0.002991f, 0.003580f, 0.005675f, -0.001449f, 0.009480f, 0.001208f, 0.008732f, 0.005344f, 0.002182f, 0.003574f, -0.007138f, 0.012733f, 0.008260f, -0.001481f, - 0.004724f, -0.001347f, 0.009669f, 0.000735f, 0.011091f, -0.003491f, 0.009943f, -0.006522f, 0.020058f, -0.014341f, -0.004752f, -0.006645f, 0.020721f, 0.011656f, 0.008152f, 0.012997f, -0.010573f, -0.001995f, 0.019277f, 0.010721f, 0.009553f, 0.009183f, 0.005722f, 0.006359f, -0.001116f, 0.017827f, -0.000807f, -0.007957f, -0.004973f, 0.006312f, -0.005552f, 0.004138f, -0.015538f, 0.006241f, -0.002019f, 0.000358f, -0.016698f, 0.007723f, -0.002580f, 0.016782f, -0.001434f, 0.005249f, 0.005975f, -0.007201f, -0.000351f, 0.007514f, 0.002522f, 0.005067f, -0.002266f, 0.009102f, 0.014818f, 0.001405f, -0.007566f, 0.003234f, 0.011043f, 0.006301f, 0.003061f, -0.006715f, -0.011075f, 0.010467f, -0.012434f, -0.006596f, 0.010302f, -0.019706f, -0.002050f, 0.011383f, -0.006315f, 0.001971f, 0.002995f, -0.001588f, 0.000646f, 0.004435f, -0.005755f, 0.000401f, -0.010970f, -0.007208f, -0.009628f, -0.006702f, 0.004236f, -0.036338f, 0.005185f, -0.012173f, -0.007457f, 0.007037f, 0.005157f, 0.003241f, 0.000572f, -0.027021f, -0.003711f, 0.006984f, -0.014903f, -0.004759f, -0.020021f, -0.010827f, 0.003302f, -0.003401f, - -0.018490f, 0.017129f, 0.010099f, -0.006754f, 0.001048f, 0.013204f, -0.010210f, 0.002673f, -0.007267f, -0.011238f, -0.007743f, -0.019366f, -0.007663f, 0.012450f, 0.005570f, 0.016236f, -0.009722f, -0.029886f, -0.013226f, 0.005707f, -0.010029f, -0.019959f, -0.003986f, -0.004838f, 0.016210f, 0.007331f, -0.020656f, 0.011884f, -0.014836f, -0.002264f, -0.010913f, -0.011216f, -0.010037f, -0.023432f, -0.013716f, 0.000114f, 0.013449f, 0.019783f, 0.013017f, 0.002411f, 0.007893f, -0.011334f, -0.016856f, -0.011710f, 0.009837f, -0.006673f, 0.010724f, -0.005091f, -0.010678f, -0.002294f, 0.000775f, -0.006851f, -0.011660f, -0.001216f, 0.009143f, -0.030697f, -0.017860f, 0.023383f, 0.014059f, 0.000161f, 0.007419f, -0.008741f, 0.007403f, -0.012158f, -0.000251f, 0.022430f, -0.009685f, 0.021189f, 0.021736f, 0.026352f, 0.007210f, 0.010769f, 0.023120f, 0.017876f, 0.013666f, -0.017007f, 0.003061f, 0.005796f, 0.015833f, -0.002669f, -0.012010f, 0.016916f, 0.017777f, -0.004561f, 0.012169f, -0.005404f, -0.004940f, 0.010767f, 0.010122f, -0.001139f, 0.011859f, 0.001072f, -0.016711f, -0.014104f, 0.016416f, 0.022318f, - -0.000649f, -0.007692f, 0.005840f, 0.000670f, -0.009442f, -0.019952f, 0.011599f, -0.018906f, -0.007914f, 0.014265f, 0.004335f, 0.012565f, 0.001874f, 0.020177f, 0.004207f, 0.022134f, -0.024614f, 0.023324f, -0.003112f, -0.001239f, 0.008649f, 0.012089f, -0.008422f, -0.022002f, -0.004453f, 0.019249f, -0.002108f, -0.023641f, -0.011800f, -0.014782f, 0.005750f, 0.007615f, -0.018037f, 0.009328f, 0.013823f, 0.019911f, 0.008813f, 0.005383f, 0.006639f, 0.022093f, 0.002507f, 0.009039f, 0.026293f, 0.028432f, 0.008173f, 0.006928f, -0.021663f, -0.011019f, 0.023056f, -0.017713f, 0.023558f, 0.006516f, -0.000559f, -0.005028f, -0.008871f, -0.014105f, 0.002048f, 0.010415f, -0.026334f, -0.011900f, -0.011514f, 0.005535f, 0.004636f, 0.005475f, 0.000228f, 0.004214f, -0.001534f, 0.007620f, 0.005714f, -0.007004f, -0.012744f, -0.022473f, 0.003279f, -0.012201f, 0.019475f, 0.000677f, -0.011897f, -0.014173f, -0.005028f, 0.009241f, -0.018291f, 0.010857f, -0.006655f, 0.003506f, -0.001023f, -0.012598f, 0.011547f, 0.015586f, -0.011651f, 0.013095f, 0.002844f, -0.001130f, 0.036682f, -0.009592f, -0.025429f, 0.004497f, - 0.008127f, -0.006252f, 0.000932f, -0.010794f, 0.024402f, 0.014676f, -0.003760f, -0.005698f, 0.016868f, 0.017064f, -0.004986f, -0.015150f, -0.012163f, 0.035085f, -0.004741f, -0.005584f, -0.015768f, 0.008379f, -0.020507f, -0.006430f, -0.007067f, 0.000761f, 0.007456f, 0.018475f, 0.016003f, -0.027881f, -0.000286f, 0.002316f, -0.003648f, -0.008920f, -0.019530f, -0.002759f, 0.005353f, 0.010210f, 0.008063f, -0.017936f, -0.003920f, -0.022507f, 0.019350f, 0.000046f, -0.002975f, 0.008916f, -0.010621f, -0.002606f, -0.024054f, 0.003033f, -0.014769f, 0.008673f, -0.002812f, -0.004702f, -0.008826f, -0.016152f, -0.015932f, -0.002604f, -0.019426f, -0.030784f, -0.006645f, -0.014485f, -0.029882f, -0.003176f, -0.003597f, -0.016588f, 0.009169f, 0.014975f, -0.003141f, 0.006702f, -0.003203f, -0.003335f, 0.003042f, 0.003841f, -0.024598f, -0.007697f, 0.011452f, -0.012050f, 0.026495f, 0.004230f, 0.005987f, -0.018788f, -0.001703f, -0.008902f, -0.019983f, -0.002710f, 0.024146f, 0.011289f, 0.017785f, 0.010264f, -0.010646f, -0.021439f, -0.034960f, 0.021498f, 0.019722f, -0.002696f, 0.008258f, -0.023692f, -0.051137f, -0.013285f, - 0.039518f, 0.012759f, 0.015753f, -0.011134f, 0.015925f, 0.027312f, 0.001452f, -0.005410f, -0.047234f, -0.011590f, -0.002782f, 0.026015f, 0.006939f, 0.009984f, -0.035518f, -0.010156f, -0.013567f, -0.009081f, 0.021151f, -0.013035f, -0.004819f, 0.002977f, 0.005657f, -0.011839f, -0.005384f, 0.004792f, -0.010321f, 0.020521f, -0.024499f, 0.001745f, 0.015219f, -0.021384f, 0.016279f, 0.027745f, 0.032771f, 0.015109f, 0.015746f, 0.020965f, -0.015578f, -0.028450f, 0.010401f, 0.011010f, 0.017603f, 0.013506f, -0.031706f, -0.009837f, 0.015721f, 0.008439f, 0.005301f, 0.018496f, 0.003717f, 0.021696f, -0.009154f, -0.005956f, 0.012277f, 0.010954f, 0.002852f, -0.021114f, -0.011534f, -0.022611f, -0.025530f, -0.002535f, -0.027916f, 0.000327f, -0.016753f, 0.000022f, -0.015451f, -0.009511f, -0.035940f, 0.022824f, 0.004804f, -0.006188f, -0.007870f, -0.005049f, 0.002781f, 0.031133f, -0.015981f, -0.013732f, -0.012263f, 0.021290f, 0.027113f, -0.017887f, 0.043845f, 0.008833f, -0.019590f, 0.022257f, 0.005876f, -0.018984f, -0.022370f, -0.018020f, -0.002048f, -0.009877f, -0.007104f, -0.029417f, 0.010975f, 0.011657f, - 0.039420f, 0.005028f, -0.007507f, -0.018472f, -0.019626f, 0.004435f, -0.002927f, -0.025694f, 0.003803f, -0.009725f, 0.000518f, 0.019275f, -0.015850f, 0.025614f, -0.023437f, -0.019347f, -0.002008f, -0.029952f, -0.036295f, 0.005584f, -0.004805f, -0.041209f, 0.002109f, 0.000354f, -0.020274f, 0.010178f, -0.010232f, 0.005147f, -0.028489f, -0.045286f, 0.028996f, -0.027650f, 0.045330f, 0.025282f, -0.033683f, -0.004028f, -0.034120f, -0.008729f, -0.004976f, 0.014210f, -0.012757f, 0.021602f, 0.025934f, 0.025893f, -0.018959f, -0.014152f, 0.001728f, -0.021474f, -0.002637f, -0.006122f, -0.029925f, 0.019228f, 0.013129f, -0.013549f, 0.024343f, -0.030224f, -0.025954f, -0.019536f, 0.014415f, 0.017173f, 0.019000f, 0.031281f, -0.010151f, 0.056788f, -0.000637f, -0.028106f, 0.013777f, 0.028387f, 0.008731f, 0.015287f, -0.011039f, -0.030232f, 0.047893f, 0.026654f, 0.020411f, 0.009793f, -0.014806f, 0.015739f, 0.040222f, -0.013579f, 0.009761f, 0.000291f, 0.009656f, 0.007351f, 0.029198f, -0.007327f, 0.010990f, -0.009143f, 0.010050f, -0.002025f, 0.000205f, 0.017776f, 0.005405f, -0.033728f, -0.021202f, -0.031586f, - -0.020147f, -0.016502f, -0.006523f, -0.024074f, -0.011901f, -0.011557f, -0.019232f, -0.014308f, 0.011624f, -0.021765f, -0.005383f, -0.016784f, 0.043782f, 0.021559f, 0.038548f, -0.032108f, -0.000400f, -0.029283f, -0.003486f, 0.033959f, 0.021367f, 0.039941f, 0.021954f, 0.024987f, -0.022465f, 0.012386f, 0.015172f, 0.037247f, 0.041039f, 0.012038f, 0.037951f, -0.027637f, -0.008718f, 0.023115f, -0.069669f, 0.003948f, 0.032903f, 0.021506f, -0.021038f, 0.041988f, 0.025016f, -0.001770f, -0.010120f, -0.004896f, 0.025278f, 0.061879f, 0.033125f, 0.009195f, 0.002801f, 0.020565f, -0.004728f, 0.050021f, 0.028276f, 0.031373f, 0.001438f, -0.015472f, 0.010682f, 0.004076f, -0.026285f, -0.006183f, -0.001561f, -0.005925f, -0.007448f, 0.010389f, 0.005553f, -0.021382f, -0.010360f, -0.038023f, -0.003927f, -0.011656f, -0.049300f, -0.021905f, 0.001438f, 0.018633f, -0.025451f, 0.031871f, -0.008912f, -0.007456f, -0.004488f, -0.007671f, 0.022854f, -0.015506f, 0.015863f, -0.050565f, 0.015321f, 0.021921f, 0.016633f, 0.033459f, -0.033678f, 0.028520f, -0.030347f, -0.022718f, 0.024362f, -0.015193f, -0.005110f, 0.020178f, - -0.034617f, 0.029029f, 0.047219f, -0.002252f, -0.008024f, 0.059740f, -0.014419f, 0.009676f, 0.033197f, -0.076625f, -0.039452f, -0.001386f, 0.000177f, 0.004380f, 0.015015f, 0.026735f, 0.016703f, -0.040139f, -0.011114f, -0.058470f, -0.035198f, 0.043148f, 0.042811f, 0.004692f, -0.010185f, 0.036438f, -0.058765f, -0.031377f, -0.063602f, 0.027931f, 0.007586f, 0.002998f, 0.012168f, -0.028695f, 0.014463f, 0.020322f, 0.026158f, 0.044903f, 0.045678f, 0.038823f, -0.001803f, 0.009009f, 0.000233f, -0.016467f, -0.003767f, -0.013674f, -0.007563f, 0.053579f, -0.012785f, -0.048548f, -0.012754f, -0.009659f, 0.003959f, 0.077113f, -0.028172f, -0.027029f, 0.025465f, -0.041040f, 0.013839f, -0.045566f, 0.059637f, 0.017549f, -0.002285f, 0.016011f, -0.023870f, -0.028795f, 0.040555f, -0.049530f, -0.040811f, -0.035384f, 0.009201f, 0.015768f, 0.017913f, -0.032706f, 0.033391f, -0.009818f, 0.001589f, 0.053694f, -0.004694f, -0.008106f, 0.014378f, 0.043614f, -0.028932f, 0.071788f, 0.001151f, -0.080395f, -0.011612f, -0.001843f, -0.029235f, -0.006319f, -0.002543f, -0.005639f, -0.025811f, -0.015545f, 0.032583f, 0.014916f, - -0.011762f, -0.002754f, 0.082589f, 0.050905f, -0.057949f, -0.045884f, 0.067416f, 0.064517f, 0.042152f, 0.047736f, -0.069888f, -0.011547f, -0.015777f, 0.024572f, 0.012078f, -0.025265f, -0.050329f, -0.078653f, 0.029304f, 0.026994f, 0.011357f, 0.027954f, -0.006515f, 0.000808f, -0.014909f, 0.021634f, 0.033877f, 0.031047f, 0.011768f, 0.039626f, 0.016083f, 0.001275f, -0.009008f, -0.045556f, 0.002366f, -0.016067f, -0.012568f, 0.023045f, -0.049299f, 0.010339f, 0.007454f, -0.019883f, 0.027577f, 0.026045f, 0.015477f, -0.030914f, -0.028641f, -0.084011f, -0.017316f, 0.006665f, -0.023131f, 0.011266f, 0.024777f, 0.025295f, 0.056192f, 0.031267f, -0.016130f, -0.008716f, -0.027140f, 0.049439f, -0.011292f, 0.080706f, 0.067906f, 0.024919f, -0.031995f, 0.089326f, 0.044680f, -0.023485f, 0.013081f, 0.050818f, 0.102866f, -0.027212f, -0.061751f, -0.023045f, 0.013496f, -0.004085f, 0.034979f, 0.014598f, -0.017005f, 0.018894f, 0.001718f, -0.014401f, 0.032058f, 0.011478f, -0.009765f, -0.029872f, 0.026464f, -0.050925f, -0.045962f, -0.016935f, 0.038067f, -0.021029f, -0.025346f, -0.000382f, 0.043864f, 0.004238f, - 0.045385f, -0.014926f, 0.054539f, 0.005638f, 0.030218f, -0.019012f, -0.010212f, 0.015992f, -0.052048f, -0.015930f, 0.022886f, -0.010586f, -0.004762f, -0.044741f, -0.038596f, 0.018009f, -0.022343f, -0.019389f, 0.036869f, 0.044982f, -0.003657f, 0.028925f, -0.051582f, 0.001568f, -0.011379f, 0.069368f, -0.025686f, 0.021588f, 0.047668f, 0.039237f, 0.016362f, -0.031641f, 0.022946f, 0.010418f, 0.017366f, 0.019884f, -0.065250f, 0.126225f, 0.046823f, -0.015227f, 0.012562f, 0.010290f, 0.042173f, -0.014762f, 0.034362f, 0.070267f, 0.002893f, -0.099601f, 0.046969f, 0.025509f, -0.024479f, 0.035648f, 0.000162f, -0.029678f, -0.038719f, 0.083861f, -0.035788f, 0.086876f, -0.037806f, -0.015465f, 0.088989f, 0.010650f, 0.048309f, 0.024660f, -0.048968f, 0.003072f, 0.029022f, -0.008729f, -0.042669f, -0.008158f, -0.093030f, -0.026027f, -0.034705f, -0.020057f, 0.020212f, -0.002737f, 0.033173f, -0.016339f, 0.003476f, 0.032383f, -0.029049f, 0.003075f, 0.018301f, -0.001887f, -0.031921f, -0.000133f, -0.022033f, 0.064060f, -0.011544f, 0.037071f, 0.005683f, -0.000755f, 0.065397f, 0.047244f, -0.029408f, -0.034166f, - 0.016177f, 0.029599f, 0.035535f, 0.043644f, -0.001459f, 0.015255f, 0.040843f, -0.002483f, -0.017558f, 0.012786f, 0.000517f, -0.037090f, -0.001901f, 0.024044f, -0.037461f, -0.049081f, -0.005978f, -0.003164f, -0.006773f, -0.016568f, -0.019391f, -0.058321f, -0.002017f, 0.057120f, 0.015332f, 0.031894f, 0.016167f, -0.007379f, -0.078272f, -0.054597f, 0.011241f, 0.049688f, 0.011597f, 0.026266f, 0.093541f, 0.105335f, 0.080069f, -0.002467f, 0.033769f, -0.020956f, -0.077170f, -0.023309f, -0.053661f, 0.020725f, -0.030382f, 0.021172f, -0.010643f, -0.036832f, -0.008125f, 0.003821f, 0.024935f, -0.013277f, 0.015050f, -0.056151f, 0.061079f, -0.122102f, -0.007709f, -0.027602f, -0.020827f, 0.020744f, 0.077238f, 0.015403f, 0.031379f, -0.058315f, 0.019228f, 0.026613f, 0.055010f, -0.022117f, -0.034588f, -0.024221f, -0.007940f, 0.001700f, 0.004739f, 0.033543f, 0.027782f, -0.014173f, -0.084938f, -0.039768f, -0.067772f, 0.012019f, 0.137008f, -0.088993f, -0.029966f, -0.010872f, 0.082281f, -0.021956f, 0.038939f, -0.020893f, 0.043634f, -0.011236f, -0.014523f, -0.043774f, 0.031964f, -0.051299f, 0.058344f, 0.093711f, - 0.020062f, -0.013893f, -0.008227f, 0.078016f, 0.029104f, 0.001916f, 0.049347f, 0.015489f, 0.024400f, -0.012281f, 0.097559f, -0.134897f, 0.110139f, -0.081830f, 0.051228f, 0.098792f, -0.066261f, 0.158633f, 0.120792f, -0.042710f, -0.000900f, 0.097942f, 0.019423f, -0.003389f, 0.092230f, 0.088067f, -0.075383f, 0.073397f, 0.067206f, -0.063294f, -0.096068f, -0.141290f, 0.032559f, 0.212621f, 0.086802f, 0.000666f, 0.043324f, -0.202710f, -0.084435f, -0.006792f, 0.030329f, 0.153238f, 0.148798f, 0.026344f, -0.058350f, -0.111891f, -0.066732f, 0.008315f, 0.047436f, 0.073804f, 0.116650f, 0.071811f, -0.095654f, -0.222928f, -0.183450f, -0.016904f, 0.202012f, 0.222024f, 0.138473f, 0.043863f, -0.048061f, -0.088852f, -0.137491f, -0.076274f, -0.084159f, 0.164067f, 0.133906f, 0.087116f, 0.074269f, -0.113134f, -0.162477f, -0.184936f, -0.168844f, 0.066586f, 0.225166f, 0.281407f, 0.092794f, -0.082112f, -0.200340f, -0.235709f, -0.066511f, 0.041225f, 0.022944f, 0.152231f, 0.056810f, -0.053035f, -0.035117f, -0.111260f, -0.026756f, -0.127483f, 0.055191f, 0.159534f, 0.289500f, -0.013753f, -0.157040f, -0.334677f, - -0.014577f, -0.113397f, 0.001321f, -0.019527f, 0.095682f, 0.055817f, -0.008436f, 0.020132f, 0.010411f, -0.068443f, -0.007031f, -0.005859f, 0.007571f, 0.001760f, 0.005634f, -0.025349f, -0.009751f, -0.009669f, -0.006011f, -0.011869f, 0.041113f, -0.015243f, 0.017887f, -0.031356f, -0.002689f, 0.011974f, -0.001001f, -0.010103f, 0.070973f, 0.008913f, -0.039343f, -0.047275f, 0.010357f, 0.008756f, -0.026583f, 0.006487f, 0.036121f, 0.017224f, 0.034102f, -0.035354f, 0.011174f, -0.002563f, 0.008927f, -0.025469f, 0.005564f, 0.025051f, 0.038789f, 0.007836f, -0.008654f, 0.009206f, 0.005525f, -0.010790f, 0.027078f, -0.040162f, 0.010059f, -0.064238f, -0.017764f, 0.022975f, -0.019245f, -0.027689f, 0.035560f, -0.024556f, -0.055645f, -0.048121f, 0.041926f, -0.008728f, -0.005265f, 0.004872f, 0.022959f, 0.045401f, -0.029437f, -0.048074f, 0.005571f, -0.012249f, 0.038386f, -0.007597f, 0.025312f, -0.001881f, 0.004354f, -0.057409f, -0.063156f, -0.148402f, 0.041161f, 0.040639f, -0.004319f, -0.125350f, -0.081426f, -0.013218f, -0.021618f, 0.081374f, 0.054598f, 0.025419f, -0.056109f, -0.024106f, -0.015760f, 0.050389f, - 0.004502f, -0.016250f, -0.033367f, 0.019786f, 0.008310f, 0.024316f, -0.002516f, -0.012024f, -0.014245f, -0.031152f, -0.015838f, -0.019439f, 0.048555f, 0.024995f, 0.004896f, 0.005945f, -0.033508f, -0.003226f, 0.003134f, 0.043754f, -0.004040f, 0.019617f, -0.017513f, -0.013166f, 0.008585f, -0.020080f, 0.011770f, 0.003988f, 0.012793f, 0.042714f, -0.004217f, 0.037336f, -0.000751f, 0.023510f, -0.019339f, 0.000315f, -0.028237f, -0.037893f, -0.038301f, -0.034204f, 0.011287f, 0.004542f, 0.003505f, -0.049666f, 0.024951f, -0.043290f, -0.003454f, 0.001271f, -0.024710f, -0.029476f, -0.012802f, -0.000119f, -0.047360f, -0.034576f, 0.035571f, -0.015349f, 0.035125f, 0.005107f, 0.029999f, -0.074171f, -0.179238f, -0.172072f, -0.028583f, 0.047901f, 0.167078f, 0.143649f, 0.135631f, 0.145455f, 0.080021f, 0.016702f, -0.077825f, -0.078828f, -0.159478f, -0.125193f, -0.109376f, -0.071194f, -0.087744f, 0.113803f, 0.094022f, 0.123482f, 0.070838f, 0.100231f, -0.006130f, 0.023697f, -0.018979f, -0.044208f, -0.025396f, -0.052178f, -0.058495f, -0.059913f, -0.057440f, -0.069373f, -0.049976f, -0.042844f, -0.006327f, 0.006408f, - 0.090294f, 0.073348f, 0.039027f, 0.039785f, 0.059154f, 0.052363f, 0.025669f, 0.127058f, 0.015692f, -0.002379f, 0.023380f, -0.053101f, -0.151508f, -0.047181f, -0.121483f, -0.133491f, -0.137336f, -0.100814f, -0.086533f, 0.000178f, 0.071231f, 0.068754f, 0.089146f, 0.157833f, 0.117093f, 0.138168f, 0.140754f, 0.085445f, 0.097694f, 0.029486f, -0.030681f, -0.111870f, -0.138810f, -0.165241f, -0.099287f, -0.146024f, -0.110967f, -0.133844f, -0.053083f, 0.030150f, 0.053929f, 0.036036f}, - {-0.001762f, -0.001927f, -0.005387f, -0.011765f, 0.000513f, -0.000946f, -0.008111f, 0.001718f, -0.000350f, -0.002172f, -0.002009f, 0.008071f, 0.007900f, 0.002005f, 0.011372f, -0.008689f, 0.008113f, 0.005199f, -0.007543f, 0.006350f, -0.014101f, -0.003699f, -0.022708f, -0.003347f, 0.004833f, -0.004680f, 0.003424f, 0.003284f, 0.001225f, -0.000676f, -0.002191f, -0.004385f, -0.001145f, 0.003789f, 0.004209f, 0.000485f, 0.005467f, -0.002181f, -0.004344f, 0.004546f, 0.005509f, 0.003640f, -0.009044f, -0.008412f, -0.005900f, -0.005315f, -0.005729f, 0.006423f, 0.004356f, -0.004930f, -0.008493f, -0.014221f, -0.001555f, -0.005097f, 0.003557f, 0.006529f, 0.001865f, -0.003169f, 0.000241f, 0.006130f, -0.005291f, 0.006801f, 0.000284f, -0.000893f, -0.016942f, -0.003569f, -0.006901f, -0.001780f, 0.008577f, -0.001167f, -0.004455f, -0.000708f, 0.007405f, -0.005220f, 0.000468f, 0.000620f, -0.008335f, 0.013709f, 0.004714f, -0.002633f, 0.003401f, 0.004325f, 0.008188f, 0.013722f, -0.006747f, 0.004475f, -0.005761f, -0.004529f, 0.002684f, -0.000098f, 0.001061f, -0.009906f, -0.004842f, 0.003312f, 0.006802f, -0.001057f, - 0.005719f, -0.010620f, -0.009386f, 0.005711f, 0.003656f, 0.001464f, 0.004174f, -0.003726f, 0.007425f, 0.008255f, 0.008075f, 0.011551f, -0.006574f, -0.005518f, 0.000336f, 0.001331f, -0.011303f, -0.000867f, -0.001055f, 0.002923f, 0.001023f, -0.007181f, -0.001811f, 0.009397f, -0.005188f, 0.001712f, -0.005940f, 0.002647f, 0.002869f, 0.001753f, -0.008812f, 0.006886f, 0.000555f, 0.001434f, -0.001295f, -0.003018f, -0.003716f, -0.006095f, 0.012559f, -0.002365f, -0.002441f, -0.002959f, 0.005508f, 0.001209f, -0.012096f, 0.002965f, -0.005602f, -0.008259f, 0.004705f, -0.005074f, -0.013113f, 0.005248f, 0.001754f, 0.000757f, -0.012033f, -0.014097f, -0.005361f, 0.008524f, 0.001387f, 0.001128f, 0.007625f, -0.010318f, 0.002219f, -0.008535f, -0.010941f, 0.003716f, 0.011067f, -0.006145f, 0.005469f, -0.004512f, -0.001988f, 0.002597f, 0.000939f, -0.004821f, -0.015260f, -0.015097f, 0.000677f, -0.003479f, 0.000252f, 0.008598f, 0.001694f, 0.010427f, 0.013844f, -0.006625f, 0.012005f, 0.001925f, 0.012174f, 0.001223f, 0.014371f, 0.002264f, -0.007468f, -0.001669f, 0.001148f, 0.006866f, -0.001372f, -0.001611f, - 0.001737f, 0.005338f, -0.005479f, 0.000150f, -0.001465f, 0.004790f, 0.005538f, 0.000802f, -0.004990f, 0.000144f, -0.000660f, 0.003589f, 0.005766f, 0.010349f, -0.003152f, 0.006910f, -0.002614f, -0.007994f, -0.007389f, -0.004601f, 0.005048f, 0.005808f, -0.002696f, 0.009063f, 0.000437f, 0.003663f, 0.000561f, 0.010909f, 0.006916f, 0.008192f, 0.003099f, 0.005050f, 0.002690f, 0.004678f, 0.008236f, -0.001437f, -0.000860f, 0.011141f, 0.011491f, -0.012848f, -0.008864f, -0.007342f, -0.010548f, 0.002635f, 0.003697f, -0.008517f, 0.001246f, 0.015969f, -0.012618f, 0.007869f, 0.013552f, 0.013573f, -0.009315f, -0.002821f, 0.006284f, 0.000897f, 0.001469f, -0.006724f, 0.002752f, -0.021769f, 0.016051f, 0.025884f, 0.003915f, 0.008472f, -0.005027f, -0.000722f, 0.013181f, -0.007686f, -0.017650f, -0.003139f, -0.000561f, -0.000370f, -0.014452f, 0.000705f, 0.002532f, -0.016473f, -0.008484f, 0.007239f, 0.001646f, -0.006013f, -0.002428f, 0.005371f, -0.008849f, 0.016538f, 0.004245f, 0.000573f, -0.011772f, -0.001246f, 0.004733f, -0.003816f, -0.000727f, -0.003985f, -0.001340f, -0.001725f, -0.009783f, 0.000437f, - -0.009546f, 0.012498f, -0.013412f, -0.008145f, -0.004040f, -0.014587f, 0.008374f, -0.007844f, -0.021704f, -0.003726f, -0.010263f, 0.002476f, 0.007697f, -0.009491f, -0.000534f, -0.006558f, 0.004814f, 0.000413f, -0.008281f, 0.000331f, 0.003129f, -0.008905f, 0.006548f, 0.000276f, -0.001344f, 0.007718f, -0.006279f, -0.023242f, -0.004161f, -0.000888f, 0.010886f, 0.015323f, 0.013526f, 0.006874f, -0.004666f, -0.001003f, -0.014234f, -0.011837f, 0.004736f, 0.017363f, -0.004367f, 0.017780f, 0.011328f, -0.009951f, 0.006094f, -0.000986f, 0.006341f, -0.011181f, -0.007604f, 0.002610f, 0.008908f, -0.000414f, 0.005442f, 0.007794f, -0.013045f, -0.002001f, -0.005856f, -0.017525f, 0.011628f, 0.002507f, 0.004396f, 0.008608f, 0.014710f, 0.005759f, 0.000921f, 0.012064f, -0.002428f, -0.005056f, 0.011853f, -0.005386f, 0.019870f, 0.009840f, 0.007979f, 0.001186f, -0.005549f, -0.006104f, 0.009741f, 0.013923f, -0.009702f, 0.003186f, 0.012543f, -0.001396f, 0.004047f, 0.028527f, -0.008443f, -0.002471f, 0.005262f, -0.012996f, -0.000728f, 0.003382f, -0.006398f, 0.007647f, -0.004713f, 0.005023f, 0.013581f, -0.004075f, - -0.000251f, 0.002365f, -0.005235f, -0.033339f, -0.001907f, 0.000009f, -0.005940f, -0.009866f, -0.002561f, 0.018978f, -0.012042f, -0.018737f, 0.008234f, -0.007240f, 0.003746f, 0.004071f, 0.013270f, -0.007783f, -0.001507f, 0.002985f, 0.012458f, -0.004796f, -0.006424f, -0.001724f, -0.005352f, 0.008906f, 0.016531f, 0.008223f, 0.001288f, -0.000833f, -0.007650f, -0.000116f, 0.025449f, 0.004651f, -0.001771f, 0.028366f, -0.000404f, 0.021156f, -0.004988f, 0.000458f, 0.015482f, 0.004549f, 0.004899f, 0.005265f, 0.003905f, 0.007959f, 0.006000f, -0.013165f, 0.026249f, 0.015125f, 0.021879f, 0.013664f, 0.010594f, -0.013542f, 0.007676f, 0.006829f, 0.002806f, -0.008426f, 0.024805f, 0.013703f, 0.022679f, 0.003418f, -0.002093f, -0.005479f, 0.017444f, -0.007922f, -0.013452f, 0.017951f, 0.008313f, -0.010962f, -0.003169f, -0.000077f, -0.001720f, 0.000446f, 0.001291f, 0.000529f, -0.001548f, -0.008331f, -0.000903f, -0.022052f, -0.008467f, -0.024716f, -0.016746f, 0.002100f, -0.015833f, -0.012533f, 0.001934f, -0.002629f, 0.017181f, -0.010934f, 0.019014f, 0.022939f, 0.002829f, -0.019181f, -0.013078f, 0.020581f, - -0.009841f, -0.005477f, 0.012028f, -0.014876f, -0.025999f, 0.010726f, 0.023547f, -0.011751f, 0.006491f, -0.000399f, 0.010661f, -0.027723f, 0.006210f, -0.011159f, 0.007408f, 0.000517f, -0.010899f, 0.019267f, 0.009600f, 0.008073f, 0.026537f, 0.011882f, 0.006141f, 0.014441f, 0.003773f, 0.004548f, 0.008234f, 0.002249f, 0.002091f, 0.003744f, 0.004469f, 0.029051f, 0.017479f, -0.000375f, 0.025631f, 0.015064f, 0.019233f, 0.028009f, -0.013398f, -0.012554f, 0.026042f, -0.009149f, 0.000267f, -0.015299f, -0.004964f, 0.008266f, 0.014560f, -0.011894f, 0.000125f, 0.003044f, -0.001621f, 0.006074f, -0.010195f, -0.003115f, -0.011801f, 0.025728f, -0.006064f, 0.012561f, 0.008515f, -0.009010f, 0.002950f, 0.001360f, 0.002918f, -0.012948f, 0.016931f, 0.009884f, 0.022988f, 0.004523f, -0.003110f, -0.025857f, -0.013871f, -0.009639f, 0.006605f, -0.013386f, -0.022482f, -0.006164f, 0.005718f, 0.002594f, -0.025126f, 0.020452f, 0.001505f, -0.001424f, -0.021435f, -0.012186f, 0.004951f, 0.002737f, -0.023835f, -0.007277f, 0.008554f, 0.001064f, 0.002258f, 0.012267f, 0.014057f, 0.008403f, -0.003848f, 0.007261f, - 0.002021f, -0.008422f, -0.017784f, 0.030352f, -0.007842f, -0.014662f, 0.000018f, 0.007577f, 0.009481f, 0.022685f, 0.003386f, -0.000371f, -0.008876f, -0.000233f, 0.012138f, -0.001591f, 0.015224f, 0.030015f, 0.002018f, -0.006589f, 0.000346f, 0.025750f, 0.031726f, -0.016310f, 0.003808f, 0.004256f, 0.016697f, 0.008879f, 0.002181f, 0.004870f, -0.013919f, 0.007314f, 0.007144f, 0.007311f, -0.006986f, -0.001063f, 0.004623f, 0.007000f, -0.007481f, 0.012867f, -0.009679f, -0.018295f, 0.014278f, -0.000583f, -0.003765f, 0.006069f, 0.012277f, -0.031320f, 0.002899f, 0.025797f, -0.001974f, 0.045609f, 0.022201f, -0.012567f, -0.009103f, -0.003119f, -0.011996f, -0.004647f, 0.020777f, -0.006569f, -0.005660f, 0.021050f, 0.017050f, 0.006467f, 0.010138f, 0.019781f, 0.013185f, 0.015108f, -0.009383f, -0.005814f, 0.018535f, -0.002279f, 0.016852f, 0.001324f, -0.018312f, -0.011059f, 0.005999f, 0.016394f, -0.019999f, 0.002596f, -0.010302f, 0.007154f, -0.011892f, 0.019045f, 0.018446f, -0.015832f, -0.001028f, 0.006459f, 0.000247f, -0.021822f, -0.009634f, 0.005506f, 0.016255f, 0.026973f, 0.009459f, -0.017213f, - -0.003325f, -0.002906f, -0.001365f, 0.017727f, 0.003407f, 0.014629f, -0.018358f, 0.010556f, 0.002257f, -0.013255f, 0.019093f, 0.009820f, -0.001332f, -0.001776f, 0.004401f, 0.001755f, -0.013984f, 0.021594f, -0.024441f, -0.003093f, -0.007119f, 0.027008f, -0.010629f, 0.022400f, -0.005664f, 0.020955f, 0.028248f, -0.011173f, 0.009652f, -0.006054f, 0.016582f, -0.005041f, 0.014007f, 0.011536f, 0.011219f, -0.001501f, 0.011760f, -0.004566f, -0.012325f, -0.005709f, 0.016247f, -0.016873f, 0.003991f, 0.000668f, 0.014641f, 0.027881f, -0.023623f, 0.001564f, 0.025613f, 0.000071f, 0.023545f, 0.003684f, 0.011086f, -0.002454f, -0.000566f, 0.006603f, -0.033001f, 0.003950f, 0.000543f, -0.013127f, 0.010479f, 0.006133f, 0.026343f, 0.012880f, -0.001035f, 0.047781f, 0.013264f, -0.024544f, 0.008097f, 0.002758f, 0.018059f, -0.010433f, 0.004734f, 0.014237f, 0.002696f, 0.008721f, -0.000854f, -0.027099f, -0.026233f, 0.000127f, -0.007710f, 0.022403f, -0.036146f, 0.048630f, 0.001566f, 0.026859f, 0.032999f, 0.006952f, -0.006152f, -0.007076f, -0.012304f, -0.020872f, 0.001039f, 0.002874f, -0.045001f, -0.003065f, - 0.015437f, 0.002678f, -0.016880f, -0.041719f, 0.000023f, 0.004979f, -0.007325f, -0.001535f, -0.012333f, 0.006735f, -0.010285f, 0.021845f, 0.007581f, -0.012563f, -0.016125f, -0.027213f, 0.020554f, -0.008433f, 0.001331f, 0.027224f, 0.036820f, 0.022918f, -0.003534f, 0.002381f, -0.025432f, -0.010342f, -0.010309f, 0.007319f, -0.036055f, 0.009944f, 0.009664f, 0.002655f, -0.018621f, 0.018372f, 0.027415f, -0.003759f, -0.000650f, 0.003950f, -0.016175f, -0.016136f, 0.009566f, 0.007505f, 0.020688f, -0.022037f, 0.024721f, -0.012151f, 0.013558f, -0.020207f, -0.016910f, -0.007300f, -0.000678f, -0.001337f, 0.008974f, -0.003313f, -0.037202f, -0.026473f, -0.007875f, 0.002468f, -0.037205f, 0.002130f, 0.018498f, -0.008085f, -0.004113f, 0.007598f, 0.015983f, -0.030556f, 0.017261f, -0.003251f, -0.004102f, 0.002803f, 0.014693f, 0.020417f, -0.017415f, -0.004754f, -0.007677f, 0.040086f, 0.000562f, -0.008635f, 0.031076f, -0.007296f, -0.013244f, -0.003799f, -0.003334f, 0.038662f, 0.044239f, -0.006224f, 0.009057f, 0.010981f, -0.006165f, -0.021625f, 0.009979f, 0.041137f, 0.031214f, 0.026685f, -0.010325f, 0.011328f, - 0.021813f, -0.029379f, -0.022076f, 0.024865f, -0.013429f, -0.014607f, -0.001510f, 0.031175f, -0.005311f, 0.028651f, 0.001348f, 0.025651f, -0.016218f, 0.035407f, 0.010324f, -0.011634f, -0.018921f, 0.006036f, -0.026532f, 0.002572f, -0.031383f, -0.011049f, -0.011688f, 0.017005f, -0.018279f, 0.028369f, -0.036188f, -0.062064f, 0.037660f, 0.016473f, -0.008270f, -0.000423f, 0.041589f, 0.019074f, 0.002621f, -0.011970f, 0.008403f, -0.005861f, -0.000222f, -0.028520f, -0.028607f, 0.015309f, -0.010023f, 0.007844f, 0.051977f, -0.015120f, 0.010879f, -0.035852f, 0.040428f, -0.015354f, -0.017865f, -0.010736f, -0.004519f, 0.014530f, -0.031106f, 0.025298f, -0.045925f, -0.034092f, -0.033078f, 0.046489f, 0.001652f, 0.020056f, 0.011937f, -0.040635f, -0.035614f, 0.024198f, -0.063612f, 0.018827f, 0.018967f, -0.003853f, -0.025291f, -0.023042f, 0.039709f, -0.021054f, -0.002774f, -0.006367f, -0.020541f, 0.030504f, 0.009624f, 0.027656f, 0.015886f, 0.019219f, -0.005969f, 0.031066f, -0.002824f, -0.019600f, -0.023613f, -0.004954f, 0.013292f, -0.017379f, 0.023787f, 0.015838f, -0.017963f, -0.063870f, -0.005437f, -0.004654f, - -0.001622f, 0.047536f, 0.001033f, -0.035948f, -0.021803f, -0.021635f, 0.019199f, -0.013278f, -0.030598f, -0.033168f, -0.021263f, -0.015573f, -0.076072f, 0.002917f, 0.009417f, 0.026161f, -0.039787f, 0.014292f, -0.032907f, -0.025435f, -0.009314f, 0.033322f, 0.007968f, 0.031191f, 0.055491f, 0.018635f, 0.012498f, 0.038410f, -0.028715f, -0.001282f, -0.014010f, -0.012897f, 0.028285f, 0.029929f, 0.041493f, 0.024314f, 0.024584f, -0.017565f, -0.039578f, 0.014262f, 0.002116f, 0.001809f, 0.004300f, 0.008505f, 0.011737f, 0.021142f, 0.008820f, 0.018194f, 0.011413f, 0.021069f, 0.050774f, 0.004142f, -0.059607f, -0.020350f, 0.018721f, 0.003141f, -0.010071f, -0.037632f, -0.023490f, 0.010967f, 0.035544f, 0.015128f, -0.028083f, 0.019167f, 0.016285f, -0.032672f, -0.003522f, -0.040993f, 0.037338f, -0.015602f, -0.019472f, 0.034091f, -0.027271f, 0.011093f, 0.069106f, -0.005144f, 0.014129f, 0.022002f, 0.003384f, 0.012198f, -0.034952f, 0.012029f, 0.010491f, 0.008931f, 0.090182f, 0.061234f, -0.002539f, -0.027342f, -0.015902f, 0.030010f, 0.035692f, -0.031687f, -0.014936f, -0.043435f, 0.078299f, 0.023473f, - 0.013324f, -0.008599f, -0.002992f, -0.012998f, -0.003739f, 0.056695f, -0.008433f, 0.018285f, 0.059219f, 0.013202f, -0.008048f, -0.034504f, 0.008827f, 0.021322f, -0.069758f, 0.024177f, 0.021803f, 0.056265f, -0.010875f, -0.050386f, -0.007120f, 0.034995f, 0.019637f, -0.056441f, -0.074550f, 0.008778f, 0.050737f, 0.020690f, 0.031016f, -0.017392f, 0.023946f, 0.004225f, 0.000647f, -0.026873f, -0.009706f, -0.041967f, 0.062625f, 0.021226f, -0.050938f, -0.034681f, 0.022683f, 0.002641f, 0.012432f, -0.015010f, 0.031105f, 0.018472f, 0.021331f, 0.041220f, 0.036111f, 0.007680f, 0.035262f, -0.018519f, 0.020092f, 0.000062f, 0.024444f, 0.011528f, -0.006346f, -0.014828f, 0.016669f, -0.022106f, 0.057964f, -0.015658f, -0.011607f, 0.011995f, 0.028287f, 0.028531f, -0.020035f, 0.050250f, 0.049153f, 0.028844f, 0.011248f, 0.003921f, -0.016964f, -0.038296f, -0.065889f, -0.011042f, 0.021976f, -0.002054f, 0.027032f, 0.029928f, 0.031670f, 0.010391f, 0.016928f, 0.106322f, -0.054587f, -0.025024f, 0.008908f, 0.018299f, -0.004671f, -0.087634f, 0.017622f, -0.018310f, 0.010389f, 0.005850f, 0.035233f, -0.009863f, - -0.017006f, 0.005916f, 0.027864f, 0.027318f, -0.015635f, -0.021308f, 0.005887f, -0.020530f, -0.064409f, 0.065733f, -0.019622f, 0.018041f, 0.005874f, 0.054957f, 0.044067f, 0.027173f, -0.026774f, -0.005124f, 0.037773f, 0.019383f, 0.044500f, 0.118443f, -0.007653f, -0.047950f, -0.012535f, 0.034672f, -0.005619f, -0.056614f, 0.084554f, 0.042824f, -0.030262f, -0.047743f, -0.006105f, 0.009091f, -0.015186f, 0.032270f, 0.028190f, 0.031525f, 0.062851f, 0.008937f, 0.017331f, 0.009521f, -0.025183f, -0.060927f, 0.033949f, -0.042242f, -0.030974f, 0.044266f, 0.023459f, 0.023776f, 0.012701f, 0.006888f, -0.003907f, -0.061187f, -0.053128f, -0.002268f, 0.029262f, -0.042058f, 0.034535f, -0.021015f, -0.045460f, 0.009237f, 0.035194f, -0.011926f, 0.004061f, 0.032042f, 0.033152f, 0.032057f, -0.002042f, -0.031095f, 0.015717f, 0.082213f, 0.002704f, 0.025100f, 0.039976f, -0.017148f, -0.041635f, 0.033608f, 0.027706f, 0.000711f, -0.021978f, -0.032695f, -0.057523f, 0.010228f, 0.035682f, 0.048374f, -0.040961f, -0.044129f, 0.054244f, 0.024010f, -0.001759f, -0.005725f, -0.021964f, 0.009967f, -0.009978f, -0.023705f, - 0.025226f, 0.029744f, 0.021407f, 0.001550f, -0.003801f, -0.017377f, 0.004266f, 0.012102f, 0.008358f, -0.019673f, -0.066585f, 0.014348f, -0.014511f, -0.020943f, 0.004603f, -0.009506f, 0.006566f, -0.067964f, 0.032269f, 0.023600f, -0.047262f, 0.032815f, 0.046026f, 0.036501f, -0.008878f, 0.005149f, -0.004721f, 0.023264f, -0.004163f, -0.001465f, 0.121422f, -0.037447f, 0.011553f, -0.033694f, -0.016974f, 0.066083f, 0.026607f, 0.021344f, 0.045300f, -0.057106f, -0.043538f, 0.065989f, -0.040804f, 0.032431f, 0.045532f, 0.001526f, 0.014256f, 0.013458f, 0.080353f, -0.029592f, -0.026050f, -0.074836f, -0.011260f, -0.035391f, 0.028548f, -0.050933f, 0.080354f, 0.030502f, 0.044121f, -0.018299f, 0.050628f, -0.027716f, 0.027241f, 0.085347f, 0.042872f, 0.032937f, -0.046139f, 0.014317f, 0.047937f, -0.039088f, 0.067442f, 0.024861f, 0.036510f, 0.032860f, -0.019532f, 0.033993f, 0.029300f, 0.012960f, 0.066769f, 0.050941f, -0.002961f, -0.111808f, -0.012431f, 0.053343f, 0.051304f, 0.052881f, 0.013165f, 0.029900f, 0.003229f, 0.015471f, -0.003125f, -0.034088f, 0.072777f, -0.001082f, 0.069307f, 0.031759f, - 0.050085f, -0.068747f, 0.047484f, 0.024157f, 0.021484f, -0.017594f, 0.016558f, -0.012385f, 0.015713f, 0.069649f, 0.027552f, 0.090657f, 0.004320f, 0.020305f, 0.052453f, -0.010381f, 0.082448f, 0.041032f, 0.006658f, -0.054799f, -0.035125f, 0.030216f, 0.002434f, -0.009260f, 0.000499f, -0.009578f, 0.004860f, -0.040300f, 0.024685f, -0.042970f, -0.065983f, -0.024165f, -0.006770f, -0.021576f, -0.020470f, 0.053562f, -0.011864f, 0.049384f, -0.054206f, 0.055327f, -0.002993f, -0.017411f, -0.052090f, -0.050011f, -0.021074f, -0.022819f, 0.037282f, -0.065022f, -0.080046f, -0.087431f, -0.104554f, 0.043841f, 0.049090f, -0.005205f, -0.009695f, -0.002652f, -0.025847f, 0.003569f, 0.011532f, -0.024195f, 0.068936f, 0.063525f, 0.042036f, 0.044648f, -0.044590f, 0.026233f, 0.001387f, 0.031680f, -0.014504f, -0.020581f, -0.065199f, 0.054653f, -0.058923f, -0.073416f, -0.019213f, -0.017861f, 0.074951f, -0.044676f, 0.009612f, -0.042429f, -0.011429f, 0.069565f, 0.013140f, 0.019668f, 0.035796f, 0.063453f, 0.003930f, -0.011048f, -0.081846f, -0.018727f, -0.006533f, -0.006043f, 0.044936f, 0.020282f, 0.152519f, 0.003744f, - -0.004301f, -0.054455f, -0.003498f, 0.056501f, 0.056259f, -0.009086f, -0.025812f, -0.079350f, 0.019996f, 0.043483f, -0.022878f, -0.058971f, -0.021313f, 0.042926f, -0.011822f, 0.030675f, -0.105599f, -0.064288f, -0.082196f, -0.025851f, 0.043293f, 0.018570f, -0.007635f, -0.025647f, -0.010942f, 0.078835f, 0.007315f, 0.005182f, 0.136005f, 0.017702f, -0.092148f, -0.069858f, 0.096887f, 0.086265f, 0.010177f, -0.060032f, -0.075312f, -0.041464f, 0.021083f, 0.083951f, 0.075839f, 0.051957f, -0.023723f, 0.013897f, -0.023830f, 0.030453f, 0.065397f, 0.097347f, 0.106654f, -0.008200f, -0.048824f, -0.081125f, -0.122577f, 0.003096f, 0.073644f, 0.281563f, -0.030749f, -0.010449f, -0.128468f, -0.051115f, 0.016803f, 0.036247f, 0.170486f, 0.123233f, 0.079069f, -0.079678f, -0.041943f, -0.077814f, 0.000587f, 0.142214f, 0.133214f, 0.159714f, -0.037573f, -0.149470f, -0.106260f, -0.151043f, 0.044089f, 0.145785f, 0.130158f, 0.233931f, -0.104833f, -0.130350f, -0.112254f, -0.016247f, 0.106787f, 0.138935f, 0.194570f, 0.088877f, -0.035436f, -0.071231f, 0.021602f, -0.003354f, 0.057618f, 0.153737f, -0.030612f, 0.095562f, - -0.032247f, -0.087158f, -0.010738f, -0.066484f, 0.089711f, -0.019237f, 0.105623f, -0.095035f, 0.001805f, -0.040571f, -0.099684f, 0.075053f, -0.052230f, 0.069736f, -0.053559f, -0.018778f, -0.004731f, 0.037066f, 0.007751f, -0.036172f, -0.020699f, 0.000717f, 0.053950f, -0.047955f, 0.061787f, 0.047346f, -0.034617f, 0.010598f, -0.043454f, -0.039949f, 0.071559f, -0.068475f, -0.037230f, 0.051409f, 0.109486f, 0.002596f, 0.013483f, -0.006618f, -0.050230f, -0.009864f, 0.043326f, -0.011808f, -0.075328f, 0.014397f, -0.018346f, -0.008181f, 0.019516f, -0.062358f, 0.030812f, 0.004375f, 0.019962f, 0.056223f, -0.119724f, -0.081164f, -0.032219f, 0.002563f, 0.115806f, -0.058169f, 0.039059f, 0.099783f, -0.056457f, -0.024750f, -0.008465f, 0.057139f, 0.068736f, -0.034414f, 0.015232f, -0.008469f, 0.022499f, 0.122684f, -0.050859f, -0.123759f, 0.018965f, 0.066885f, 0.005386f, -0.062929f, 0.031543f, 0.024327f, 0.028057f, -0.020149f, -0.015232f, -0.141170f, -0.048980f, 0.051614f, 0.073156f, 0.059504f, -0.073391f, 0.015084f, -0.193921f, -0.128563f, -0.109844f, -0.022979f, 0.081895f, 0.050088f, -0.009977f, -0.047828f, - -0.056986f, 0.018321f, -0.037168f, -0.009803f, 0.061298f, 0.011661f, -0.002764f, -0.073288f, -0.037942f, -0.013529f, -0.037374f, 0.013550f, -0.011382f, 0.029252f, -0.015254f, -0.007266f, -0.017584f, -0.009106f, -0.014322f, -0.045034f, -0.034461f, -0.070889f, -0.050699f, 0.025436f, 0.056846f, 0.060816f, 0.032301f, 0.051990f, -0.014531f, 0.043060f, -0.017246f, -0.030579f, -0.085078f, -0.010655f, -0.049363f, 0.026400f, 0.007757f, 0.092917f, -0.086597f, 0.020882f, 0.051323f, -0.039346f, -0.048337f, -0.033526f, -0.025180f, -0.029426f, 0.002374f, 0.062430f, 0.041159f, -0.028724f, -0.007411f, 0.041021f, -0.064078f, -0.077099f, 0.022620f, -0.089354f, -0.063185f, -0.067424f, 0.057336f, -0.003188f, -0.146400f, -0.223790f, -0.277248f, -0.216835f, -0.329274f, -0.047263f, -0.110757f, 0.051449f, 0.087256f, 0.262190f, 0.160599f, 0.270919f, 0.277590f, 0.371841f, 0.277528f, 0.278966f, 0.211799f, 0.020683f, -0.041244f, -0.091972f, -0.048201f, -0.202785f, -0.130760f, -0.105339f, -0.103401f, -0.106965f, -0.101840f, -0.103609f, -0.107350f, -0.125035f, -0.084832f, -0.147463f, -0.112600f, -0.102629f, -0.034177f, -0.123184f, - -0.024647f, 0.057338f, -0.082081f, -0.039387f, 0.042676f, 0.029103f, -0.067069f, 0.076234f, 0.105255f, 0.119018f, 0.169131f, 0.160947f, 0.003583f, 0.096875f, 0.166117f, 0.216882f, 0.183656f, 0.338509f, 0.330937f, 0.279630f, 0.240516f, 0.285089f, 0.155764f, 0.224532f, 0.290178f, 0.207591f, 0.147975f, 0.222268f, 0.084655f, 0.063842f, 0.149252f, 0.122812f, 0.104368f, 0.000607f, 0.079515f, -0.070202f, -0.010326f, 0.003784f, -0.133341f, -0.321848f, -0.259567f, -0.181902f} - } -}; -const float CRendBin_Combined_BRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][1774]={ - { - {-0.005305f, -0.009306f, -0.004660f, 0.000333f, -0.002579f, 0.006024f, -0.007170f, -0.011927f, -0.010003f, 0.001646f, 0.000000f, -0.003347f, 0.004923f, -0.000346f, 0.005562f, -0.007755f, -0.006056f, 0.001699f, -0.000024f, -0.001048f, -0.006565f, 0.001634f, 0.001073f, 0.001625f, 0.006711f, 0.004247f, -0.000942f, 0.002216f, 0.002039f, 0.002592f, -0.001572f, 0.000352f, 0.008799f, 0.005499f, 0.002320f, -0.004538f, -0.002513f, -0.001091f, -0.002906f, -0.003718f, 0.007095f, 0.002758f, 0.002912f, -0.000917f, 0.001438f, 0.000680f, 0.001594f, 0.001458f, 0.000755f, 0.004720f, -0.005079f, -0.003379f, -0.000617f, -0.000728f, -0.006900f, -0.003016f, -0.008830f, -0.005266f, 0.001599f, 0.002809f, -0.002623f, -0.007413f, -0.002008f, 0.002161f, -0.000588f, 0.004980f, 0.000251f, -0.001006f, 0.014358f, -0.007133f, -0.005107f, -0.001288f, 0.002992f, 0.001899f, -0.008580f, 0.002506f, -0.000384f, 0.009348f, 0.005239f, -0.006985f, 0.010292f, -0.006208f, -0.001592f, -0.000268f, -0.002990f, -0.004227f, -0.007273f, 0.001414f, 0.012032f, 0.000768f, 0.002481f, 0.004517f, 0.001594f, -0.004558f, -0.000890f, -0.002887f, - -0.002081f, 0.006618f, 0.002331f, 0.000488f, -0.002010f, 0.000860f, 0.000102f, -0.003126f, -0.003996f, 0.006386f, 0.005656f, 0.000522f, -0.001058f, 0.007469f, -0.010634f, -0.004575f, 0.005100f, -0.005042f, 0.009901f, 0.000496f, 0.007110f, 0.000379f, 0.001184f, 0.003849f, -0.003391f, -0.002083f, 0.000286f, -0.000615f, -0.002547f, -0.002893f, 0.004619f, -0.000739f, -0.009742f, 0.009004f, -0.000900f, 0.001068f, -0.008145f, 0.003512f, -0.003345f, 0.002791f, 0.000734f, -0.000911f, -0.002741f, -0.000975f, -0.004465f, 0.004456f, -0.009138f, -0.001810f, 0.007623f, -0.006373f, 0.003222f, 0.009701f, 0.003836f, 0.000101f, -0.004582f, -0.000605f, 0.003482f, 0.020249f, 0.003864f, -0.002974f, 0.006315f, -0.003212f, -0.002466f, -0.003407f, -0.001256f, -0.007804f, 0.010881f, 0.006083f, 0.004719f, 0.004849f, 0.004820f, -0.005210f, -0.006736f, 0.008905f, -0.001946f, -0.007287f, -0.013457f, 0.001973f, -0.003996f, 0.003980f, 0.000062f, -0.001399f, -0.003048f, 0.003965f, -0.005034f, -0.002804f, 0.006592f, 0.012338f, 0.003219f, 0.005436f, 0.001009f, 0.006026f, -0.001417f, 0.006416f, 0.004151f, 0.000402f, - 0.003652f, -0.000043f, 0.000966f, -0.000049f, 0.009074f, 0.001539f, 0.002252f, -0.002523f, 0.001172f, -0.001113f, -0.001507f, 0.007012f, 0.008344f, -0.003592f, -0.003415f, 0.001194f, 0.007615f, -0.013416f, -0.000980f, -0.004089f, -0.009846f, -0.004507f, 0.000956f, -0.004735f, 0.003825f, 0.002697f, -0.000164f, -0.006589f, 0.002199f, -0.002097f, -0.006114f, 0.006163f, -0.010479f, -0.005726f, -0.011270f, -0.006460f, -0.002545f, -0.000132f, 0.005432f, 0.003435f, -0.013124f, -0.000439f, 0.001115f, 0.009554f, -0.003381f, -0.014648f, 0.011671f, -0.013798f, 0.000047f, -0.005602f, -0.005764f, -0.014669f, -0.010977f, -0.005257f, -0.004620f, 0.007113f, 0.001418f, -0.009385f, 0.000703f, -0.004655f, -0.000661f, 0.000426f, 0.003439f, 0.001646f, -0.005183f, 0.001524f, 0.000330f, 0.003301f, -0.003896f, -0.001352f, -0.001709f, -0.004200f, -0.008409f, 0.011168f, 0.004004f, 0.002247f, -0.002223f, 0.009661f, 0.006799f, -0.007813f, 0.001606f, 0.001715f, -0.002498f, -0.004159f, 0.000288f, -0.008054f, 0.001136f, -0.000769f, -0.008233f, 0.010010f, -0.000776f, 0.000279f, 0.010371f, -0.008835f, 0.007918f, 0.004331f, - -0.002361f, -0.006221f, 0.001034f, 0.000058f, -0.008854f, -0.005268f, -0.001160f, -0.001602f, -0.004772f, -0.009380f, -0.000936f, 0.003626f, 0.003404f, -0.001648f, 0.002822f, 0.002977f, -0.004078f, 0.000227f, -0.009090f, -0.022975f, -0.021564f, 0.008266f, 0.014403f, 0.008532f, -0.019453f, 0.013727f, -0.004684f, -0.001960f, 0.001245f, -0.009238f, -0.006861f, 0.016166f, -0.000249f, -0.000271f, 0.001207f, -0.000655f, 0.005294f, -0.008438f, 0.004876f, -0.004627f, 0.004344f, 0.007170f, -0.005085f, -0.001705f, 0.004215f, -0.001632f, 0.007671f, -0.002847f, 0.003228f, 0.000242f, -0.000989f, 0.000189f, -0.006882f, -0.009770f, 0.008519f, 0.000614f, -0.001946f, -0.000489f, -0.008977f, -0.011422f, -0.000612f, -0.000433f, 0.005298f, -0.010741f, -0.008940f, -0.002559f, -0.018269f, 0.006160f, -0.001840f, 0.002814f, -0.001840f, -0.005193f, 0.002228f, 0.021943f, 0.012161f, 0.005619f, -0.007459f, 0.007917f, -0.000753f, -0.012960f, -0.000676f, -0.013580f, 0.009651f, 0.000009f, 0.000371f, -0.008570f, -0.000891f, 0.005382f, 0.001539f, -0.000556f, -0.000329f, -0.001486f, 0.006251f, 0.002631f, -0.000691f, 0.001764f, - -0.033100f, -0.002240f, -0.008153f, -0.000885f, -0.005737f, -0.018366f, -0.001037f, -0.004742f, -0.007919f, -0.017196f, -0.002387f, 0.012675f, -0.008894f, 0.008433f, -0.001665f, 0.011778f, -0.004110f, 0.009623f, -0.003286f, -0.008976f, -0.002682f, 0.001273f, -0.004249f, -0.008042f, -0.006866f, -0.007901f, 0.000095f, -0.007186f, 0.002561f, 0.001158f, 0.000599f, 0.003806f, -0.005749f, -0.007246f, 0.010728f, -0.000719f, 0.003111f, 0.000380f, -0.008608f, -0.005139f, -0.006086f, 0.000553f, -0.004370f, 0.007820f, 0.007657f, 0.001521f, -0.010442f, -0.003174f, 0.019210f, 0.005014f, -0.008072f, -0.006227f, -0.004032f, -0.006892f, -0.003645f, 0.015209f, 0.009282f, -0.010682f, 0.006866f, 0.009037f, 0.013318f, -0.003189f, 0.005633f, -0.000637f, 0.000519f, -0.005137f, -0.010374f, -0.001836f, 0.008638f, 0.000939f, 0.016306f, 0.011117f, 0.001715f, 0.003681f, 0.014384f, -0.010370f, 0.042281f, 0.028049f, -0.008539f, -0.001817f, 0.000248f, -0.001401f, -0.004694f, 0.005601f, 0.014508f, 0.011864f, 0.006393f, -0.022410f, -0.009763f, 0.002489f, 0.001311f, 0.009009f, -0.016619f, 0.002959f, 0.022521f, 0.014744f, - -0.002631f, 0.004951f, -0.002048f, -0.008092f, -0.010485f, 0.000070f, -0.008973f, -0.005706f, 0.002448f, 0.006430f, -0.006662f, -0.012688f, -0.005944f, 0.001446f, 0.010873f, 0.014835f, -0.003208f, -0.017095f, -0.003756f, -0.006601f, -0.016768f, -0.001770f, -0.000850f, -0.008716f, 0.002334f, 0.003567f, 0.009190f, -0.014709f, 0.005174f, 0.006151f, 0.001047f, -0.014362f, -0.010461f, 0.003465f, -0.000015f, 0.002317f, -0.002107f, -0.002527f, -0.001175f, -0.008702f, 0.002866f, 0.002458f, -0.006023f, 0.007742f, 0.010004f, 0.013322f, 0.002531f, -0.000711f, 0.012899f, 0.020944f, 0.002252f, 0.000754f, 0.002173f, 0.010603f, -0.000839f, 0.004005f, 0.018296f, 0.021401f, 0.001222f, 0.003842f, 0.006098f, 0.009888f, -0.003478f, 0.005986f, -0.005092f, -0.004511f, -0.017609f, 0.006425f, 0.013092f, -0.012173f, 0.010062f, -0.005575f, -0.015420f, 0.015734f, 0.010437f, -0.003911f, 0.010521f, 0.018542f, 0.014179f, -0.011051f, -0.005134f, 0.008823f, 0.003568f, -0.003254f, 0.008003f, 0.005893f, 0.010532f, -0.000437f, -0.004071f, -0.009802f, -0.015118f, -0.001635f, -0.012529f, 0.000426f, -0.003920f, 0.005985f, - -0.009983f, -0.024661f, 0.005332f, -0.007052f, 0.010951f, 0.001466f, 0.000924f, -0.007785f, -0.013799f, -0.012920f, -0.001135f, -0.002546f, -0.010527f, 0.013279f, 0.018808f, 0.018276f, 0.007709f, -0.015589f, -0.001591f, 0.017156f, 0.001346f, -0.004788f, 0.008127f, -0.004063f, -0.005410f, -0.019407f, 0.008904f, 0.003392f, 0.024643f, 0.010058f, -0.018734f, 0.003957f, 0.005009f, -0.003848f, -0.002202f, 0.004148f, -0.006422f, -0.007485f, -0.010735f, -0.003746f, -0.002272f, -0.020338f, 0.001606f, 0.001711f, 0.010445f, -0.004431f, -0.007872f, 0.002799f, 0.001656f, 0.003908f, 0.000723f, 0.009920f, 0.004844f, 0.006602f, 0.001800f, -0.001611f, 0.006873f, 0.002910f, -0.018838f, -0.006799f, -0.027165f, 0.000416f, -0.004677f, 0.002342f, 0.005367f, -0.000503f, 0.013667f, 0.002471f, 0.019304f, 0.001405f, -0.022034f, -0.000481f, -0.008643f, -0.004676f, -0.000702f, -0.004357f, -0.000814f, -0.018811f, 0.004187f, -0.009616f, 0.021720f, -0.023336f, 0.012603f, -0.005960f, -0.018785f, -0.004724f, -0.013179f, -0.004094f, -0.003922f, -0.021497f, 0.005909f, 0.004857f, -0.003648f, -0.004760f, -0.001288f, 0.005654f, - -0.016121f, -0.001202f, 0.014940f, 0.001040f, 0.020756f, 0.032312f, 0.013852f, -0.033124f, -0.041756f, 0.017639f, 0.008483f, 0.028039f, -0.007037f, 0.011286f, 0.002398f, 0.009894f, 0.019795f, 0.017751f, -0.037638f, 0.028082f, 0.005472f, -0.005171f, -0.000251f, -0.017294f, -0.013719f, 0.014641f, -0.003595f, -0.004908f, 0.015713f, -0.011455f, -0.011812f, 0.000636f, 0.015699f, 0.006458f, -0.004394f, 0.000457f, -0.008153f, -0.001144f, 0.001799f, 0.008216f, 0.001003f, -0.019277f, -0.018556f, 0.004428f, -0.001848f, 0.004761f, -0.001150f, 0.007878f, 0.015774f, 0.028048f, 0.000433f, 0.017482f, -0.003335f, 0.005089f, 0.012901f, -0.011379f, 0.023799f, -0.003033f, -0.013055f, -0.019733f, -0.002663f, -0.016311f, -0.019691f, -0.005501f, 0.010937f, -0.006164f, -0.014873f, 0.008431f, 0.013040f, 0.018428f, 0.024932f, -0.018731f, 0.008921f, -0.004966f, -0.015778f, 0.006935f, -0.017722f, -0.003245f, -0.029992f, 0.013152f, -0.007372f, 0.005105f, -0.003405f, 0.005400f, -0.031849f, -0.033980f, -0.017996f, -0.007749f, 0.022193f, -0.018196f, 0.039710f, -0.012527f, 0.007706f, -0.003159f, -0.003854f, 0.030651f, - 0.003190f, 0.010752f, 0.009749f, 0.002054f, 0.019967f, 0.001259f, -0.024761f, 0.011263f, 0.005079f, 0.010698f, 0.000152f, -0.020629f, 0.028988f, 0.013648f, 0.012697f, -0.003919f, -0.007045f, 0.002257f, -0.000674f, -0.016629f, 0.011273f, 0.005630f, -0.007183f, 0.009812f, 0.018941f, -0.000833f, 0.007972f, 0.016215f, -0.017723f, 0.003276f, -0.005077f, 0.006560f, -0.034522f, 0.009655f, 0.018609f, -0.007328f, 0.005941f, 0.015997f, 0.010592f, -0.001026f, 0.007057f, -0.019262f, 0.005961f, -0.011876f, 0.002140f, 0.003896f, 0.004175f, -0.009511f, 0.035685f, -0.007498f, -0.005198f, -0.009362f, -0.028667f, -0.013511f, -0.017070f, -0.022645f, -0.002816f, 0.028163f, 0.033688f, -0.004595f, 0.011260f, 0.011540f, -0.025866f, -0.010232f, 0.023190f, 0.016642f, -0.009620f, -0.009210f, -0.025599f, -0.010404f, -0.009101f, -0.014758f, -0.014162f, 0.001938f, -0.025678f, 0.007759f, -0.003203f, -0.009721f, 0.006045f, 0.002079f, -0.013618f, -0.019414f, -0.021535f, -0.008044f, -0.021025f, -0.008156f, -0.008583f, 0.000897f, -0.019942f, 0.005050f, 0.008314f, 0.001572f, -0.022682f, 0.007742f, -0.028100f, 0.009425f, - 0.015766f, 0.001224f, 0.024506f, 0.001562f, -0.007122f, -0.003588f, 0.016637f, -0.005008f, 0.022870f, 0.009027f, -0.007583f, -0.006752f, 0.004285f, -0.010486f, -0.005903f, 0.001974f, 0.021799f, 0.000457f, 0.011740f, 0.007675f, 0.002401f, 0.016326f, -0.006243f, -0.012428f, 0.006650f, -0.008454f, -0.004001f, -0.025443f, 0.015788f, -0.007909f, -0.007299f, -0.003834f, -0.028987f, 0.037214f, 0.009947f, -0.002447f, 0.016235f, 0.006935f, 0.008326f, -0.013750f, -0.022822f, -0.024812f, -0.012165f, 0.003608f, -0.026372f, 0.012483f, 0.020433f, -0.027967f, -0.010532f, 0.013897f, -0.013736f, 0.010338f, 0.033491f, 0.004420f, -0.007684f, -0.005791f, 0.022965f, 0.052419f, 0.057912f, 0.015739f, 0.036483f, -0.025375f, -0.022838f, -0.006996f, -0.002140f, 0.000702f, 0.009419f, 0.016700f, 0.033905f, 0.009311f, 0.031499f, 0.001999f, 0.010575f, 0.003147f, -0.006793f, 0.012382f, 0.001155f, 0.004144f, 0.003847f, -0.016610f, -0.000363f, -0.009519f, -0.015029f, -0.011638f, 0.001817f, 0.000343f, -0.020417f, -0.010363f, 0.029269f, 0.018651f, 0.015982f, 0.022153f, -0.012940f, -0.001143f, -0.038658f, 0.000578f, - 0.036185f, -0.008038f, -0.005250f, 0.002865f, -0.002062f, 0.025768f, -0.000485f, -0.005797f, 0.022541f, -0.026174f, -0.038630f, -0.017543f, 0.005330f, -0.022977f, 0.017788f, 0.021153f, -0.029981f, -0.013332f, 0.002085f, -0.001912f, -0.043718f, -0.030371f, 0.016532f, 0.004927f, -0.001417f, 0.013245f, -0.017805f, -0.013714f, -0.025930f, 0.005066f, 0.011463f, 0.000513f, 0.004679f, -0.020866f, -0.027754f, 0.022831f, -0.037235f, -0.053212f, -0.037023f, 0.025429f, -0.004714f, 0.046829f, -0.010848f, 0.038428f, -0.030741f, 0.000234f, 0.014830f, -0.003832f, 0.002462f, 0.003883f, -0.001670f, -0.024348f, 0.009085f, 0.008175f, 0.011150f, 0.011058f, -0.006452f, 0.018703f, -0.016821f, -0.013761f, -0.009244f, 0.026593f, -0.014218f, -0.005819f, 0.003333f, -0.001312f, -0.013283f, 0.011437f, -0.014903f, -0.019597f, -0.034569f, 0.002480f, 0.007488f, -0.024892f, -0.010248f, 0.010844f, -0.003843f, 0.005426f, 0.003005f, 0.027260f, 0.003068f, 0.020313f, 0.010576f, 0.000102f, 0.018128f, 0.003030f, 0.007123f, -0.032638f, 0.034093f, 0.010784f, 0.027067f, -0.016427f, 0.008284f, -0.017898f, 0.028189f, 0.019398f, - 0.034147f, 0.004388f, -0.006748f, -0.024384f, 0.000422f, 0.003452f, -0.018067f, 0.027925f, 0.006814f, 0.003932f, 0.033154f, 0.006573f, -0.006616f, -0.012257f, 0.001748f, 0.018863f, 0.024550f, -0.006319f, 0.023158f, 0.024551f, -0.057355f, -0.002179f, 0.029476f, -0.018519f, -0.006535f, 0.022443f, -0.023891f, -0.047650f, 0.009517f, 0.008859f, 0.007458f, -0.005570f, -0.028499f, 0.007990f, 0.008205f, 0.003004f, 0.015996f, -0.050219f, 0.023675f, -0.010897f, 0.012479f, -0.028089f, 0.024034f, -0.035753f, -0.023165f, 0.015503f, -0.009220f, -0.003032f, -0.027531f, 0.023358f, 0.029548f, 0.001332f, 0.003850f, -0.011849f, 0.044162f, 0.012354f, 0.012598f, -0.006244f, -0.036822f, -0.006350f, 0.021649f, -0.001954f, 0.032033f, 0.002187f, -0.010276f, 0.009528f, -0.001111f, 0.021631f, -0.036097f, -0.002270f, -0.027354f, 0.033214f, -0.010231f, 0.012804f, 0.000473f, 0.001471f, -0.032331f, -0.009153f, 0.031125f, 0.012300f, 0.004211f, -0.005960f, 0.002512f, 0.006905f, -0.041527f, -0.041501f, 0.049479f, -0.017726f, -0.049876f, 0.024681f, 0.026492f, -0.037884f, -0.052301f, -0.034005f, -0.033767f, 0.024630f, - -0.033540f, -0.015133f, -0.034932f, -0.000682f, 0.004499f, -0.041556f, 0.004859f, -0.019080f, 0.058952f, 0.005648f, -0.057086f, -0.010174f, 0.024577f, 0.018792f, 0.010958f, 0.030214f, 0.025831f, -0.037126f, -0.012089f, -0.012772f, 0.035281f, -0.010474f, 0.041561f, 0.002573f, -0.026922f, -0.017328f, -0.040614f, -0.041839f, 0.000910f, 0.007893f, -0.008963f, -0.020208f, -0.011397f, 0.005761f, 0.005493f, 0.018070f, -0.023276f, 0.013871f, -0.027035f, -0.027288f, 0.004537f, -0.003573f, -0.009282f, -0.028541f, -0.030955f, -0.011451f, -0.010259f, 0.045576f, 0.003006f, 0.017256f, 0.023169f, 0.002187f, 0.052992f, 0.024675f, -0.018377f, 0.005696f, 0.027322f, -0.007879f, 0.034900f, -0.006300f, 0.004576f, 0.005279f, -0.046966f, -0.045787f, 0.008098f, 0.036697f, 0.002165f, -0.007986f, -0.050967f, 0.005848f, 0.021304f, 0.013585f, -0.013430f, -0.012932f, -0.002462f, -0.023843f, -0.026628f, 0.053431f, -0.018304f, -0.016230f, -0.005223f, -0.011391f, -0.037161f, 0.003391f, 0.021430f, -0.056746f, -0.003546f, 0.018122f, 0.016442f, -0.017530f, 0.010943f, -0.031256f, 0.000087f, -0.005979f, 0.008113f, -0.027631f, - 0.016432f, -0.049003f, 0.005961f, 0.004354f, 0.026842f, 0.030628f, 0.011201f, -0.016344f, 0.019031f, -0.003225f, 0.021549f, -0.023111f, 0.001557f, 0.034001f, 0.021775f, -0.011128f, 0.002382f, 0.004180f, -0.009469f, 0.018431f, -0.008477f, -0.014295f, -0.022663f, 0.017974f, -0.038794f, 0.027707f, 0.002802f, -0.034634f, 0.033637f, 0.039101f, 0.029973f, 0.016270f, -0.019950f, 0.046882f, 0.002120f, 0.023088f, -0.028943f, -0.017214f, -0.027948f, 0.013393f, 0.006439f, 0.021291f, -0.038162f, 0.010153f, 0.022189f, -0.059375f, -0.001117f, -0.013409f, 0.038078f, 0.037046f, 0.016872f, 0.006225f, 0.023123f, -0.010412f, -0.006943f, 0.006219f, 0.043586f, 0.010191f, 0.021716f, -0.063159f, 0.028819f, -0.035097f, 0.047479f, -0.004268f, 0.017954f, 0.037095f, -0.040371f, 0.070898f, 0.049561f, 0.038560f, -0.018307f, 0.010727f, 0.047206f, -0.011674f, -0.016642f, -0.010848f, -0.003730f, -0.036083f, 0.008410f, -0.019047f, -0.045546f, 0.043162f, 0.012796f, 0.012075f, 0.003927f, 0.010206f, 0.015075f, 0.045328f, 0.007893f, -0.027889f, -0.004056f, -0.028978f, 0.004044f, 0.004388f, -0.053115f, -0.002036f, - 0.026041f, 0.002157f, -0.005654f, -0.015562f, 0.052463f, 0.011313f, 0.021052f, 0.012060f, -0.031726f, -0.021008f, -0.018488f, 0.033902f, 0.017487f, -0.006794f, 0.017908f, -0.003045f, -0.039956f, 0.036012f, 0.001406f, 0.041281f, 0.001397f, 0.004224f, -0.002577f, -0.054848f, 0.003815f, 0.001479f, 0.002088f, 0.034177f, -0.017868f, 0.053838f, -0.086469f, -0.014130f, 0.055111f, -0.023959f, 0.013164f, -0.026366f, -0.052099f, 0.030453f, 0.013289f, -0.068058f, -0.077215f, -0.009102f, -0.035330f, 0.002804f, 0.024104f, -0.033914f, 0.010758f, -0.050678f, 0.022454f, -0.029079f, -0.130662f, -0.011078f, 0.081825f, -0.037392f, -0.013731f, 0.078160f, -0.017877f, 0.001493f, 0.097990f, -0.026177f, 0.022385f, 0.005986f, -0.013303f, 0.074889f, -0.062102f, -0.011425f, -0.001036f, -0.014490f, -0.012062f, -0.016424f, -0.001063f, 0.021748f, -0.013906f, -0.046426f, 0.000793f, -0.003115f, 0.012805f, 0.011413f, 0.002933f, 0.030779f, -0.001332f, 0.011674f, -0.009668f, -0.046925f, 0.029261f, -0.010049f, -0.043843f, -0.003414f, 0.024666f, 0.071578f, 0.038346f, 0.059047f, 0.000671f, 0.009999f, 0.030040f, 0.001019f, - -0.004737f, 0.053759f, -0.004296f, -0.030712f, 0.069491f, 0.004623f, 0.011078f, -0.007943f, -0.011580f, 0.031062f, -0.001788f, -0.034108f, -0.028504f, -0.017879f, -0.007395f, 0.045815f, -0.043724f, -0.017728f, 0.000876f, 0.047975f, 0.033181f, -0.070921f, -0.039192f, 0.060009f, -0.013449f, -0.052331f, -0.003459f, 0.004306f, 0.017167f, 0.063352f, 0.050613f, -0.029752f, 0.007031f, -0.004257f, -0.002375f, 0.002683f, -0.037474f, 0.055469f, -0.018295f, -0.030940f, 0.009413f, -0.021261f, 0.026921f, 0.005929f, 0.039468f, -0.009642f, -0.042702f, -0.032787f, 0.029303f, -0.011978f, 0.038981f, -0.007739f, 0.024354f, -0.023903f, -0.023841f, -0.009525f, 0.000443f, -0.030827f, 0.005915f, 0.005367f, -0.001913f, 0.037156f, -0.002834f, 0.014834f, -0.025737f, 0.020297f, -0.039191f, 0.043097f, -0.037761f, 0.027157f, 0.009585f, 0.036903f, -0.057710f, 0.005721f, 0.002405f, -0.012869f, -0.042278f, -0.063896f, -0.013565f, -0.053878f, -0.024456f, -0.042239f, -0.023770f, -0.080486f, -0.028508f, 0.042699f, 0.046419f, 0.030893f, 0.026009f, -0.000023f, 0.028251f, -0.055662f, -0.016945f, 0.013787f, 0.031726f, -0.097862f, - 0.028741f, 0.014909f, -0.051158f, 0.019791f, 0.019213f, -0.037803f, -0.028536f, 0.043227f, 0.005474f, 0.022671f, -0.011808f, 0.028223f, -0.009295f, -0.005405f, 0.022698f, 0.010130f, 0.007312f, -0.000357f, -0.015636f, -0.027565f, -0.016413f, 0.040274f, -0.014929f, -0.037214f, 0.060738f, 0.036383f, 0.004423f, 0.026400f, 0.007817f, -0.033169f, -0.093824f, 0.036495f, -0.003666f, -0.052289f, 0.041739f, -0.006482f, -0.068672f, -0.059372f, -0.030441f, 0.042334f, 0.017174f, 0.043787f, 0.057523f, 0.014735f, -0.048002f, 0.012018f, 0.016032f, -0.063162f, -0.010681f, 0.030444f, -0.019802f, -0.069085f, -0.050767f, -0.083731f, -0.052069f, -0.015878f, 0.049064f, 0.068192f, 0.033708f, -0.010067f, 0.048654f, -0.018344f, -0.124920f, -0.104144f, 0.019496f, -0.056512f, -0.060603f, 0.075330f, 0.008488f, -0.122324f, -0.090080f, 0.017964f, 0.001406f, 0.004155f, 0.036953f, 0.076707f, 0.090723f, 0.091119f, -0.029602f, 0.032832f, -0.038080f, 0.024149f, -0.000066f, 0.014755f, -0.045004f, 0.005323f, -0.038564f, -0.031464f, -0.000754f, -0.075124f, 0.000893f, -0.030787f, 0.007645f, 0.024745f, -0.001475f, 0.028397f, - -0.038700f, 0.059631f, -0.029137f, 0.001228f, 0.039048f, -0.035095f, 0.014013f, 0.031044f, 0.034706f, 0.007512f, 0.012268f, 0.011226f, -0.055748f, -0.028251f, -0.009233f, 0.010804f, 0.008347f, -0.005536f, 0.036596f, -0.009069f, -0.000534f, -0.004157f, -0.015834f, 0.015917f, 0.007470f, -0.040775f, 0.013153f, -0.032088f, 0.010008f, -0.081353f, -0.003613f, 0.001185f, 0.000420f, 0.037926f, -0.013188f, -0.027321f, -0.012879f, 0.035338f, 0.000965f, -0.077983f, 0.115609f, -0.006138f, -0.020362f, 0.028900f, -0.003194f, -0.012721f, -0.019271f, -0.018549f, -0.021861f, 0.082736f, -0.026992f, -0.041088f, 0.043272f, 0.008035f, -0.055564f, -0.010989f, -0.070194f, -0.110332f, -0.101091f, 0.225298f, 0.191523f, 0.212334f, 0.489578f, 0.123670f, -0.121284f, 0.034150f, -0.390901f, -0.419965f, -0.102506f, -0.266131f, -0.201899f, 0.117796f, -0.064720f, 0.019677f, 0.310067f, 0.147912f, 0.229152f, 0.435910f, 0.293301f, 0.069776f, 0.061883f, -0.138396f, -0.405959f, -0.316441f, -0.239081f, -0.485245f, -0.196566f, 0.001950f, -0.088698f, -0.048017f, 0.236000f, 0.053187f, 0.026778f, 0.287055f, 0.030719f, 0.059249f, - 0.417018f, 0.298784f, 0.189613f, 0.387060f, 0.191078f, -0.085095f, -0.015589f, -0.142658f, -0.634996f, -0.561862f, -0.451995f, -0.702527f, -0.534358f, -0.204458f, -0.261431f, 0.034296f, 0.459096f, 0.401020f, 0.569358f, 0.715940f, 0.531493f, 0.402013f, 0.395612f, 0.199941f, -0.104729f, -0.184990f, -0.370999f, -0.527100f, -0.513325f, -0.461475f, -0.516861f, -0.542007f, -0.442561f, -0.288258f, -0.224376f, -0.030303f, 0.292413f, 0.359055f, 0.229948f, 0.019701f}, - {-0.006448f, -0.013510f, -0.005207f, -0.007604f, 0.000151f, 0.002616f, 0.008048f, -0.003880f, 0.000648f, -0.005956f, -0.004635f, -0.006334f, 0.003120f, -0.007287f, 0.001648f, -0.006135f, 0.012057f, -0.000682f, 0.000952f, -0.000570f, -0.008507f, 0.005430f, 0.012815f, 0.000208f, -0.003189f, 0.000662f, -0.002445f, 0.004132f, -0.001517f, -0.002179f, -0.002248f, -0.015186f, -0.004820f, 0.001228f, -0.002259f, 0.003936f, -0.004522f, 0.003400f, -0.000925f, 0.004108f, -0.002582f, 0.004413f, 0.000831f, 0.006221f, 0.003053f, -0.001982f, 0.002512f, 0.001591f, -0.003263f, -0.005955f, -0.002549f, -0.001034f, 0.003576f, 0.001500f, 0.000333f, -0.001103f, 0.006983f, 0.007610f, -0.008354f, -0.003011f, -0.007620f, 0.004418f, -0.000585f, -0.004339f, -0.002117f, -0.002822f, -0.003072f, -0.000413f, -0.004624f, 0.005044f, -0.006309f, -0.002869f, 0.000556f, 0.003456f, 0.001275f, 0.002772f, -0.001062f, 0.016799f, -0.002357f, 0.001471f, 0.012913f, -0.001553f, -0.000800f, -0.003691f, 0.014081f, 0.000947f, 0.006732f, 0.004320f, 0.003980f, -0.005806f, 0.002728f, -0.009051f, -0.001240f, 0.007141f, 0.001177f, 0.004196f, - 0.006395f, -0.011231f, -0.008153f, 0.002710f, -0.000854f, 0.008378f, 0.004788f, -0.000433f, -0.004960f, -0.002933f, -0.006073f, -0.000941f, -0.001110f, -0.000902f, 0.001235f, 0.002132f, -0.005368f, 0.008314f, -0.002310f, -0.001393f, 0.002467f, -0.010787f, -0.002880f, 0.004507f, 0.001206f, 0.010411f, -0.000486f, -0.000925f, 0.001596f, 0.000546f, 0.003908f, 0.007108f, 0.008783f, -0.000752f, -0.001481f, -0.000071f, -0.005888f, -0.007042f, 0.003171f, 0.005765f, -0.004850f, -0.004396f, -0.003387f, 0.007371f, 0.003879f, -0.001448f, 0.000492f, -0.009526f, -0.003387f, 0.004273f, 0.003096f, 0.006235f, -0.010704f, 0.001697f, 0.002672f, -0.002545f, 0.005726f, 0.021308f, 0.006370f, -0.005348f, 0.011465f, -0.005744f, 0.011926f, -0.004186f, -0.004824f, 0.005507f, 0.011198f, -0.000668f, -0.004880f, 0.002548f, 0.002712f, -0.000757f, -0.014865f, 0.003286f, 0.004960f, 0.000937f, 0.010052f, 0.012606f, 0.007406f, 0.012421f, 0.009126f, 0.007476f, -0.001556f, 0.008344f, 0.004654f, -0.006741f, 0.002966f, 0.003751f, -0.007849f, -0.010849f, -0.001090f, 0.004011f, 0.000723f, -0.004013f, -0.004583f, -0.005168f, - -0.001911f, 0.005610f, 0.012102f, 0.009637f, 0.004280f, 0.007396f, -0.011484f, 0.000687f, -0.002466f, 0.000065f, -0.013250f, 0.005120f, -0.000693f, -0.003273f, 0.000112f, -0.003738f, -0.006199f, -0.004759f, 0.005541f, 0.001265f, 0.004418f, -0.004919f, 0.010162f, 0.002623f, -0.010263f, 0.004774f, 0.002099f, 0.003357f, 0.006716f, 0.002208f, 0.011725f, -0.003037f, 0.001880f, -0.012278f, 0.003045f, 0.001985f, 0.000715f, 0.001192f, 0.001635f, -0.004948f, -0.003861f, -0.001986f, 0.004586f, -0.007982f, 0.002725f, -0.015226f, 0.003308f, 0.002219f, -0.001152f, 0.009933f, 0.001224f, -0.001718f, 0.001504f, 0.005002f, -0.008431f, 0.000735f, 0.003322f, 0.005195f, -0.012225f, -0.007031f, -0.004254f, 0.004143f, 0.002499f, -0.004565f, -0.012346f, 0.002586f, -0.012273f, -0.001337f, 0.005701f, -0.002932f, 0.004492f, -0.002772f, 0.009277f, 0.012302f, 0.007411f, -0.007202f, 0.001877f, 0.009189f, 0.006658f, -0.006575f, 0.005713f, 0.000956f, -0.009356f, 0.002973f, 0.014463f, 0.005909f, 0.005323f, 0.014815f, 0.002103f, -0.006386f, -0.011012f, -0.001068f, -0.005824f, -0.008473f, -0.002941f, 0.007895f, - -0.007172f, 0.002243f, -0.003890f, -0.005037f, 0.010806f, -0.001851f, 0.002662f, 0.007286f, 0.011819f, -0.005326f, -0.008580f, 0.011902f, 0.010999f, 0.005481f, 0.002236f, -0.008259f, 0.003261f, 0.008771f, -0.007123f, -0.029270f, -0.010413f, -0.004668f, 0.016143f, -0.006211f, -0.002132f, -0.009555f, -0.007675f, -0.001501f, -0.020669f, 0.011621f, 0.004191f, -0.000706f, -0.007416f, 0.011473f, -0.002911f, 0.005797f, -0.004321f, 0.003651f, 0.007758f, -0.009258f, 0.001376f, 0.010144f, 0.006172f, 0.004089f, 0.011322f, 0.009740f, -0.005638f, -0.007755f, -0.009222f, -0.000112f, -0.012255f, 0.003117f, -0.016326f, -0.003139f, 0.012983f, 0.006643f, -0.003687f, -0.001179f, -0.012069f, 0.005920f, -0.004776f, 0.011365f, -0.005762f, -0.011271f, -0.001644f, -0.004495f, -0.008680f, 0.003920f, -0.001371f, -0.005705f, -0.005285f, -0.020000f, 0.003659f, -0.005726f, -0.014139f, -0.003594f, 0.010279f, 0.005230f, -0.006746f, 0.006957f, 0.009399f, 0.008580f, 0.004170f, -0.009736f, -0.000441f, -0.001556f, 0.008602f, -0.006437f, -0.001276f, 0.004819f, 0.005547f, -0.010121f, -0.011648f, -0.022679f, -0.001954f, -0.011231f, - -0.025036f, -0.010375f, -0.004278f, -0.007750f, 0.008857f, 0.010991f, 0.010855f, -0.021378f, -0.015523f, 0.005814f, 0.025971f, 0.014952f, 0.000226f, 0.003403f, 0.007564f, -0.009508f, 0.006334f, -0.008833f, 0.006417f, 0.008883f, 0.001632f, 0.007079f, 0.002505f, -0.000766f, 0.004017f, 0.002008f, -0.006693f, -0.008982f, 0.012271f, 0.004652f, -0.008621f, 0.008408f, -0.004620f, -0.001123f, 0.020934f, -0.010131f, 0.011925f, 0.022983f, 0.009638f, -0.001534f, 0.001057f, -0.008568f, 0.011005f, -0.011270f, -0.005908f, -0.018803f, 0.003654f, 0.014201f, -0.000222f, -0.013333f, -0.004565f, -0.018823f, -0.009363f, -0.003581f, -0.026461f, -0.014555f, -0.002503f, 0.002758f, -0.011514f, 0.005869f, -0.002952f, -0.009184f, 0.010097f, 0.029440f, 0.002899f, 0.015081f, 0.010364f, 0.008970f, -0.009049f, 0.004149f, -0.015504f, 0.002025f, 0.005073f, 0.004003f, -0.005324f, 0.000701f, 0.038967f, 0.025495f, -0.014132f, 0.005588f, 0.012158f, -0.004737f, 0.006711f, -0.001969f, 0.011283f, 0.006436f, 0.003208f, 0.011245f, 0.005486f, 0.005800f, -0.003966f, -0.025967f, 0.012034f, -0.004043f, -0.006653f, 0.021133f, - 0.012153f, 0.007591f, 0.008876f, 0.007518f, 0.004586f, -0.003618f, 0.002372f, 0.001261f, -0.007475f, 0.005880f, 0.008221f, -0.014507f, 0.002113f, -0.009254f, 0.006373f, 0.008645f, -0.024092f, -0.000002f, -0.028544f, 0.000849f, 0.002642f, 0.002718f, 0.006724f, 0.019281f, -0.003189f, -0.009464f, -0.005711f, -0.004930f, -0.008228f, 0.005774f, 0.004901f, 0.002148f, -0.004081f, -0.003099f, 0.017352f, -0.005811f, -0.004765f, -0.009765f, 0.015206f, -0.002219f, 0.012545f, -0.006217f, 0.013430f, -0.013904f, -0.031024f, -0.008625f, 0.000482f, 0.006200f, 0.008592f, -0.009845f, -0.008982f, 0.004211f, 0.001098f, -0.004506f, -0.009306f, 0.018805f, -0.008410f, 0.018218f, -0.006801f, -0.012563f, -0.000313f, 0.001666f, -0.017316f, -0.014026f, -0.004144f, 0.004474f, -0.002396f, 0.022489f, 0.013895f, 0.000283f, 0.021973f, 0.007524f, 0.006563f, -0.018996f, 0.017688f, -0.003620f, -0.004222f, -0.016091f, -0.006949f, 0.013611f, 0.013948f, -0.004302f, 0.009291f, -0.019300f, -0.002530f, 0.012331f, 0.009693f, -0.007463f, -0.013328f, -0.007942f, -0.008204f, -0.010768f, -0.008538f, 0.001665f, -0.014044f, -0.001772f, - 0.019594f, -0.009811f, 0.002317f, -0.001150f, -0.004441f, 0.007201f, -0.003072f, 0.012348f, 0.000049f, 0.017588f, -0.004597f, -0.011735f, 0.006521f, -0.009344f, -0.008873f, -0.009330f, -0.025550f, 0.002616f, 0.010562f, 0.014891f, 0.010943f, 0.019709f, -0.002079f, -0.007914f, 0.011517f, -0.014356f, 0.003261f, 0.002148f, -0.002184f, 0.013056f, 0.012024f, -0.002781f, -0.015520f, 0.003783f, -0.008145f, -0.013323f, -0.014152f, 0.004258f, -0.021943f, -0.013695f, 0.002920f, -0.013372f, -0.032730f, 0.024697f, 0.000002f, -0.002175f, 0.003755f, 0.001480f, -0.021447f, 0.014886f, -0.022378f, 0.001541f, 0.011075f, -0.003519f, 0.004409f, 0.003207f, -0.024103f, -0.008805f, -0.010405f, -0.002774f, 0.005673f, -0.008599f, -0.004537f, -0.001482f, -0.000831f, 0.001786f, 0.010962f, 0.005060f, 0.022857f, -0.008536f, 0.031144f, -0.002605f, 0.001480f, -0.020411f, -0.002301f, 0.014358f, -0.002278f, -0.031140f, 0.013060f, 0.013798f, -0.008450f, 0.007082f, -0.010775f, 0.020796f, 0.012453f, -0.001068f, -0.000556f, -0.014109f, -0.008004f, -0.015397f, 0.014686f, 0.013329f, 0.006773f, 0.001101f, 0.007004f, -0.012513f, - -0.030955f, -0.012058f, 0.011794f, 0.004376f, -0.022797f, 0.000100f, 0.003440f, 0.002714f, -0.010635f, 0.007570f, 0.017246f, 0.008098f, 0.000796f, 0.006237f, 0.011680f, -0.006986f, 0.016581f, -0.000276f, -0.034510f, 0.018284f, -0.004238f, 0.006347f, -0.009849f, -0.006289f, 0.015272f, -0.017702f, 0.017096f, -0.010973f, -0.019412f, 0.008348f, -0.010249f, 0.041742f, 0.006762f, -0.015540f, -0.020173f, -0.004429f, -0.025140f, -0.012497f, -0.027125f, -0.002391f, 0.018807f, -0.013846f, 0.011738f, 0.017770f, -0.016861f, -0.000779f, -0.019757f, 0.010417f, 0.004298f, -0.001627f, 0.012162f, -0.013452f, -0.017736f, -0.016172f, 0.001320f, 0.002428f, 0.015402f, -0.022813f, 0.015762f, 0.002008f, -0.032001f, -0.018790f, -0.025811f, -0.011781f, 0.010045f, -0.009906f, -0.008538f, -0.050670f, -0.000923f, -0.012091f, -0.004454f, -0.033015f, -0.011009f, -0.005519f, 0.002464f, 0.024513f, 0.023554f, 0.018534f, 0.011398f, 0.023464f, -0.027009f, 0.019385f, 0.002694f, 0.008148f, 0.006737f, -0.020865f, 0.029431f, 0.016769f, 0.011207f, -0.014871f, -0.018408f, -0.014372f, 0.016102f, 0.000679f, -0.001873f, 0.013611f, - 0.024282f, 0.027018f, 0.010566f, 0.018997f, 0.014768f, 0.009356f, -0.005243f, 0.002318f, -0.007647f, 0.000935f, -0.002881f, -0.015818f, 0.020168f, 0.032884f, 0.012613f, -0.008614f, 0.014229f, 0.014178f, -0.000947f, 0.008913f, -0.015750f, -0.029339f, -0.020095f, -0.013203f, 0.008189f, -0.003308f, -0.015865f, 0.011849f, -0.005705f, -0.013577f, -0.000556f, 0.024277f, 0.011719f, 0.018056f, 0.005855f, 0.013363f, 0.014176f, -0.003061f, 0.012961f, -0.004910f, -0.015577f, 0.006699f, -0.017971f, 0.006859f, 0.006701f, -0.025659f, -0.017149f, 0.010922f, 0.026607f, -0.013639f, 0.018494f, 0.026445f, -0.021809f, 0.001208f, 0.023690f, 0.002909f, -0.008799f, -0.001657f, -0.012236f, -0.020995f, 0.000349f, -0.006082f, -0.010995f, 0.015128f, 0.001124f, -0.023969f, 0.031964f, -0.012408f, 0.026371f, -0.029467f, -0.019124f, 0.015358f, -0.016237f, 0.010759f, -0.008628f, -0.003141f, 0.002168f, -0.023897f, 0.015828f, -0.011270f, -0.022530f, 0.032898f, 0.019335f, -0.026096f, 0.018802f, 0.013856f, 0.006062f, 0.027323f, -0.058304f, 0.002434f, 0.026040f, 0.006511f, 0.003651f, 0.024100f, 0.002436f, 0.012235f, - -0.033201f, -0.006778f, 0.010778f, -0.001738f, -0.015983f, 0.004507f, 0.015222f, 0.004417f, 0.007869f, 0.016043f, 0.016588f, 0.022029f, 0.020480f, -0.010115f, -0.006676f, 0.016313f, -0.010489f, 0.010557f, -0.020322f, -0.014511f, -0.026344f, -0.015473f, 0.016257f, 0.002218f, -0.005257f, 0.019385f, -0.025735f, -0.039538f, -0.057561f, 0.014696f, 0.021267f, 0.012199f, 0.013400f, -0.017679f, 0.010315f, -0.012085f, 0.023124f, 0.054829f, -0.008227f, -0.017032f, -0.024739f, -0.013033f, 0.023147f, -0.020313f, 0.013731f, 0.016167f, 0.004668f, -0.006621f, -0.015944f, -0.011715f, 0.009610f, -0.048469f, -0.035888f, -0.004628f, 0.008398f, -0.023449f, 0.004996f, 0.089813f, 0.048937f, 0.033097f, -0.009389f, -0.007899f, -0.002323f, -0.006434f, -0.010356f, -0.012649f, -0.017819f, -0.027359f, -0.000005f, -0.000943f, 0.005670f, 0.013453f, 0.022339f, 0.036775f, -0.006084f, -0.045494f, -0.019502f, 0.040902f, -0.007560f, 0.015923f, -0.006524f, 0.000270f, 0.025218f, 0.010124f, 0.018802f, 0.012768f, -0.002242f, -0.000340f, -0.001804f, 0.014256f, 0.015703f, -0.005860f, -0.027669f, 0.035065f, 0.023086f, 0.018188f, - 0.004904f, 0.009578f, -0.015481f, -0.025325f, 0.034175f, 0.020539f, 0.007587f, -0.016064f, -0.020115f, -0.025436f, -0.017651f, -0.004210f, -0.017953f, 0.009294f, -0.034940f, 0.004811f, 0.022585f, -0.015784f, 0.006683f, 0.001482f, 0.001557f, -0.037965f, 0.011276f, -0.016561f, 0.025351f, -0.061280f, 0.008043f, -0.016693f, -0.023055f, 0.003836f, -0.015107f, 0.010767f, 0.008919f, -0.042146f, -0.002609f, 0.023445f, 0.001515f, -0.054665f, -0.027785f, 0.003842f, -0.047661f, 0.010804f, 0.034966f, -0.016890f, 0.042466f, 0.049388f, 0.006541f, 0.024604f, 0.030805f, 0.013562f, -0.029065f, 0.019001f, 0.023583f, -0.001269f, 0.006169f, 0.016339f, 0.014832f, 0.034868f, 0.006262f, -0.013570f, 0.022631f, 0.007928f, -0.003156f, 0.000443f, 0.015295f, -0.020492f, -0.008904f, -0.008688f, 0.012841f, 0.006452f, -0.028462f, 0.008507f, 0.024463f, 0.000653f, 0.029421f, -0.027425f, -0.051446f, 0.004193f, 0.023702f, 0.035256f, 0.033088f, 0.016940f, 0.015959f, 0.012530f, -0.034743f, -0.010160f, -0.000954f, 0.026626f, 0.042348f, -0.014221f, 0.009582f, -0.015114f, 0.010499f, 0.006970f, 0.026094f, 0.039789f, - -0.014501f, -0.016813f, -0.002696f, 0.022135f, 0.028521f, 0.039495f, 0.001800f, -0.041171f, -0.038678f, -0.005454f, 0.006113f, 0.001439f, -0.017059f, 0.002242f, -0.046481f, -0.027898f, -0.026484f, -0.025261f, 0.016624f, 0.023664f, -0.051488f, 0.005310f, -0.010658f, 0.028693f, -0.015352f, -0.001462f, 0.008312f, 0.022090f, -0.028675f, -0.046829f, -0.008480f, -0.017639f, 0.001256f, -0.020395f, 0.012713f, 0.013851f, 0.001332f, -0.024435f, 0.016283f, 0.003094f, 0.043381f, -0.005312f, 0.023956f, -0.018257f, 0.044971f, 0.014630f, 0.028315f, 0.020565f, 0.030939f, 0.046614f, -0.010171f, 0.019437f, -0.030407f, 0.035163f, 0.032901f, 0.001643f, 0.011417f, 0.034750f, -0.019494f, -0.017259f, -0.002031f, 0.067705f, 0.011937f, -0.015153f, 0.033746f, 0.007384f, 0.026386f, 0.038883f, 0.012196f, 0.001161f, 0.005356f, 0.009332f, 0.025642f, -0.004169f, 0.027549f, -0.013050f, 0.027181f, -0.008978f, 0.058286f, -0.003104f, 0.050821f, -0.037870f, -0.043913f, 0.071791f, -0.051358f, -0.023281f, 0.006596f, -0.010869f, -0.029396f, 0.037899f, 0.001548f, -0.033710f, -0.013756f, -0.011344f, -0.055309f, 0.009788f, - -0.046022f, -0.025392f, 0.004947f, -0.052846f, -0.036056f, -0.035875f, -0.043053f, 0.051029f, -0.004821f, 0.004456f, 0.010616f, -0.011324f, -0.065265f, -0.043333f, -0.048940f, -0.089254f, 0.002616f, 0.012894f, 0.035549f, 0.025574f, 0.009516f, 0.022095f, 0.009386f, 0.006505f, -0.033443f, -0.040460f, -0.029115f, 0.035121f, -0.008909f, -0.022976f, -0.014918f, 0.034247f, -0.044212f, -0.023571f, -0.045435f, -0.018404f, -0.008777f, -0.037130f, 0.008854f, -0.030700f, 0.028996f, 0.025590f, -0.011313f, 0.025122f, -0.029771f, -0.047598f, 0.014808f, 0.029110f, -0.031750f, -0.055105f, 0.034983f, -0.003207f, 0.023063f, 0.025728f, -0.087425f, -0.056675f, -0.007643f, -0.013267f, 0.043194f, -0.030430f, -0.043707f, -0.010295f, 0.009115f, 0.001415f, -0.015703f, -0.020152f, 0.056890f, -0.036599f, -0.069562f, -0.079610f, 0.038984f, -0.018043f, -0.080852f, 0.022090f, 0.006121f, -0.014643f, -0.007591f, 0.005334f, -0.048268f, -0.022668f, 0.025487f, 0.035490f, 0.079687f, 0.009918f, 0.042462f, 0.016765f, 0.021293f, -0.020833f, -0.004168f, -0.018341f, -0.041282f, -0.053482f, -0.069134f, -0.029097f, -0.062282f, -0.028534f, - -0.032187f, -0.016135f, 0.034969f, 0.004509f, 0.023944f, 0.036073f, 0.000668f, 0.022924f, 0.008346f, -0.002927f, -0.000601f, -0.009756f, -0.053346f, 0.014856f, -0.006675f, -0.065255f, -0.037598f, 0.012697f, -0.039135f, -0.020034f, 0.013606f, 0.038561f, 0.052547f, 0.012999f, -0.012000f, 0.001590f, 0.034505f, 0.013120f, 0.006125f, -0.007251f, -0.107128f, -0.027719f, 0.021387f, 0.020056f, 0.008414f, -0.011035f, -0.038193f, 0.017355f, -0.034766f, -0.031557f, -0.009758f, -0.001529f, -0.021714f, -0.064732f, 0.025369f, -0.016041f, 0.064508f, 0.017370f, 0.017306f, 0.017183f, 0.043426f, 0.105435f, -0.008429f, -0.008024f, -0.018280f, -0.039535f, 0.054873f, -0.003893f, 0.006526f, -0.060533f, -0.026095f, 0.079665f, -0.054702f, -0.009814f, -0.047987f, -0.125090f, -0.022684f, 0.043404f, 0.028248f, 0.010051f, 0.004939f, -0.003242f, 0.067795f, -0.074214f, -0.004602f, -0.018801f, -0.056651f, -0.040526f, -0.011190f, 0.018306f, 0.008304f, 0.020882f, 0.041942f, 0.033672f, -0.037825f, -0.030287f, 0.087994f, 0.079112f, -0.010989f, 0.012083f, -0.015132f, 0.027856f, -0.005377f, 0.057191f, 0.014630f, 0.031759f, - 0.002955f, 0.007095f, -0.101205f, 0.042608f, -0.009431f, -0.052569f, -0.033542f, 0.008106f, -0.020382f, -0.052509f, 0.047396f, -0.006944f, -0.044884f, -0.005912f, -0.000055f, 0.049108f, 0.046599f, 0.041993f, 0.009257f, 0.048675f, 0.043645f, -0.035921f, -0.047755f, -0.024796f, -0.013743f, 0.049785f, 0.057381f, 0.012149f, 0.015213f, 0.062993f, 0.028184f, -0.057788f, 0.032200f, 0.016090f, -0.027151f, 0.003149f, 0.094803f, 0.053631f, -0.034227f, -0.051867f, -0.081726f, 0.015541f, -0.014866f, -0.027153f, -0.032437f, 0.017534f, -0.019263f, -0.010322f, 0.055429f, -0.017716f, -0.001958f, -0.043366f, 0.004609f, 0.026534f, -0.058587f, -0.038374f, -0.034551f, -0.018205f, 0.022966f, -0.081153f, -0.043553f, -0.116822f, 0.021535f, -0.001674f, -0.028197f, -0.013413f, -0.015789f, 0.024448f, 0.038762f, -0.041655f, 0.003021f, -0.014717f, -0.012473f, -0.072885f, 0.017539f, 0.055588f, 0.016360f, 0.042076f, 0.054624f, 0.047407f, -0.061974f, -0.019448f, -0.017453f, -0.029713f, 0.055443f, -0.054559f, -0.029647f, 0.002231f, 0.079835f, 0.018004f, -0.025207f, 0.078961f, -0.041867f, -0.040728f, 0.095889f, 0.090426f, - 0.011147f, 0.023860f, -0.022772f, -0.083604f, -0.023204f, 0.087030f, -0.038252f, 0.079352f, -0.024400f, -0.119699f, -0.028122f, -0.054201f, 0.069773f, 0.004229f, 0.020338f, 0.063073f, -0.001763f, 0.052897f, 0.023222f, 0.042184f, 0.004209f, -0.078356f, 0.046807f, 0.051987f, -0.062949f, 0.034352f, 0.000845f, -0.023815f, -0.026153f, -0.093014f, -0.039454f, 0.031980f, 0.007252f, 0.084402f, -0.066659f, -0.038898f, 0.017491f, -0.009673f, 0.056010f, -0.075837f, 0.001772f, 0.007604f, -0.062139f, 0.063817f, 0.036864f, 0.019495f, -0.028068f, 0.043827f, -0.049829f, 0.028774f, 0.024296f, 0.013689f, -0.001580f, -0.028631f, 0.014173f, 0.058498f, -0.028330f, -0.010669f, 0.013663f, -0.044971f, 0.048780f, 0.002441f, 0.014576f, -0.061657f, 0.036104f, 0.009048f, 0.013941f, -0.145475f, 0.022618f, -0.040642f, 0.070973f, 0.057686f, 0.062709f, 0.031857f, -0.116443f, -0.019694f, 0.028083f, 0.003809f, 0.010426f, 0.085156f, -0.010069f, -0.049120f, -0.058260f, 0.003803f, -0.065300f, -0.057776f, -0.050703f, 0.026397f, -0.097237f, 0.070731f, 0.133388f, -0.034692f, -0.018513f, -0.105439f, -0.031548f, -0.092794f, - 0.023269f, -0.039157f, -0.031161f, 0.031746f, -0.026036f, -0.030830f, 0.023956f, -0.041387f, -0.005317f, -0.047549f, 0.070105f, 0.004077f, -0.055699f, -0.012878f, -0.001319f, -0.002515f, 0.014388f, -0.032656f, -0.027082f, 0.010824f, 0.012177f, 0.011397f, 0.004685f, 0.030464f, -0.034380f, -0.009381f, -0.075906f, 0.030188f, 0.004514f, -0.019544f, 0.050772f, 0.031972f, -0.024085f, 0.084231f, 0.015735f, -0.048152f, 0.036328f, 0.009631f, 0.022895f, 0.056642f, -0.007176f, -0.010173f, 0.006254f, 0.047225f, 0.022913f, 0.003999f, -0.006535f, 0.050320f, -0.006148f, -0.051941f, -0.011371f, 0.013161f, 0.041643f, -0.016232f, 0.073083f, 0.085562f, -0.053938f, 0.046099f, 0.091435f, -0.022084f, 0.139731f, 0.082483f, -0.036243f, -0.029193f, -0.053786f, -0.057278f, -0.034323f, 0.021466f, -0.010446f, -0.008174f, -0.001246f, -0.006953f, -0.097143f, -0.036521f, -0.094966f, 0.022462f, 0.125663f, 0.031603f, -0.043220f, 0.003765f, -0.057132f, -0.008840f, 0.021915f, -0.025428f, -0.029644f, -0.035767f, -0.011652f, 0.012261f, -0.006122f, -0.012179f, 0.017381f, 0.008104f, 0.023045f, -0.023091f, -0.012208f, 0.014993f, - -0.004008f, 0.001925f, -0.030547f, 0.021037f, -0.036009f, 0.017297f, 0.014383f, -0.008994f, 0.000251f, 0.000574f, -0.019959f, 0.002898f, 0.006547f, -0.018274f, 0.033778f, -0.017762f, 0.009864f, -0.000539f, 0.003377f, 0.015303f, -0.013259f, -0.024942f, -0.004858f, 0.035922f, -0.024614f, 0.017288f, -0.047142f, -0.030198f, 0.012159f, -0.011346f, 0.002032f, -0.003854f, -0.027016f, 0.031232f, 0.028449f, 0.001792f, -0.018726f, -0.001585f, -0.009975f, 0.006067f, -0.013108f, -0.000971f, -0.012241f, 0.011563f, -0.000444f, 0.002759f, 0.044498f, -0.034352f, 0.001683f, 0.005834f, 0.007503f, -0.007466f, 0.006647f, -0.016038f, 0.007670f, -0.013362f, -0.058184f, -0.089609f, 0.062881f, 0.280852f, 0.125120f, 0.127926f, 0.000607f, -0.262778f, -0.187695f, -0.099862f, -0.204499f, 0.098504f, 0.124304f, 0.062389f, 0.267767f, 0.118268f, -0.010117f, 0.086827f, -0.170891f, -0.221239f, -0.123980f, -0.155445f, -0.031739f, 0.117506f, 0.123334f, 0.049533f, 0.206212f, 0.100109f, -0.012790f, 0.096966f, -0.089186f, -0.157063f, -0.087734f, -0.118543f, -0.182166f, 0.066077f, -0.000114f, -0.067481f, 0.199239f, 0.117515f, - 0.068519f, 0.200875f, 0.050464f, -0.104396f, 0.101234f, -0.148182f, -0.165612f, -0.035799f, -0.174265f, -0.179969f, 0.072104f, -0.031101f, 0.044702f, 0.223321f, 0.155648f, 0.158783f, 0.152887f, 0.016790f, -0.083218f, -0.099579f, -0.162499f, -0.216844f, -0.111323f, -0.062856f, -0.042941f, 0.080777f, 0.129842f, 0.119039f, 0.172170f, 0.152760f, -0.021981f, -0.028231f, -0.025646f, -0.158668f, -0.044471f, -0.077097f, -0.107629f, 0.027924f, 0.028288f, -0.001355f} - }, - { - {-0.005889f, -0.013663f, -0.005501f, -0.007822f, -0.004259f, 0.009698f, 0.005225f, 0.000753f, 0.008095f, 0.005482f, -0.006464f, -0.008837f, -0.005413f, -0.004194f, 0.001057f, 0.003309f, -0.008845f, -0.001237f, -0.003505f, -0.000139f, -0.001045f, -0.001956f, -0.004690f, 0.011110f, 0.006507f, -0.000795f, -0.009141f, -0.003661f, 0.001986f, 0.003738f, -0.000283f, -0.003659f, 0.001644f, 0.003185f, 0.001103f, 0.002976f, -0.002525f, -0.000431f, -0.006999f, -0.009077f, -0.001920f, -0.000859f, 0.004481f, 0.005404f, 0.003874f, 0.001074f, 0.001301f, 0.003093f, 0.004659f, 0.001319f, 0.006209f, 0.002477f, -0.003919f, -0.004688f, -0.000042f, 0.004412f, 0.004203f, 0.001784f, 0.000969f, 0.006697f, 0.004528f, -0.007987f, -0.006857f, -0.004168f, -0.003773f, -0.003424f, 0.004588f, -0.003108f, 0.002191f, -0.007564f, 0.005518f, -0.005372f, -0.003834f, 0.003849f, -0.002422f, -0.003374f, 0.008748f, 0.005360f, -0.008337f, -0.001651f, -0.003222f, -0.000059f, 0.011941f, 0.000896f, -0.005432f, 0.006607f, 0.001074f, 0.000849f, 0.001903f, 0.001538f, -0.000133f, 0.009340f, 0.004912f, -0.006005f, -0.002640f, -0.000525f, - -0.002434f, 0.002751f, 0.003642f, 0.002807f, -0.002924f, -0.003774f, 0.001244f, -0.007789f, -0.003909f, 0.006165f, 0.000233f, 0.004999f, 0.002165f, -0.003709f, 0.002636f, 0.000231f, -0.003752f, 0.008583f, -0.005953f, -0.002464f, 0.000732f, 0.003072f, -0.004198f, -0.000829f, -0.005889f, -0.010745f, 0.009843f, -0.001864f, -0.006098f, 0.000792f, 0.008983f, 0.000204f, 0.003200f, -0.004473f, -0.003192f, -0.001722f, 0.002402f, -0.003482f, 0.007000f, 0.001412f, 0.006230f, -0.009611f, 0.003570f, -0.002308f, 0.001000f, 0.004453f, -0.002409f, -0.000802f, -0.008069f, 0.000378f, 0.003033f, 0.001264f, -0.003084f, 0.000091f, 0.002198f, -0.001303f, -0.003816f, 0.025456f, 0.009020f, -0.002252f, 0.007170f, 0.000135f, 0.012886f, 0.007739f, -0.001560f, 0.006290f, 0.011592f, 0.014654f, -0.008564f, -0.008820f, 0.003874f, -0.003694f, -0.002654f, 0.010411f, 0.008819f, 0.007960f, 0.006068f, 0.000870f, -0.000112f, -0.003948f, 0.004285f, 0.002599f, 0.013781f, 0.001133f, -0.000064f, -0.006235f, 0.003055f, 0.003726f, -0.000536f, -0.002094f, -0.001881f, 0.003426f, -0.000294f, -0.002437f, -0.004715f, 0.005008f, - -0.001513f, -0.002041f, 0.007745f, 0.010355f, -0.002471f, -0.001570f, 0.006416f, 0.005222f, 0.010014f, 0.005749f, 0.002970f, 0.000717f, 0.008592f, 0.004397f, -0.011098f, -0.000286f, 0.003844f, -0.006886f, 0.000530f, 0.000761f, -0.007765f, 0.003822f, -0.003547f, 0.005770f, -0.000875f, -0.001409f, 0.003771f, 0.000683f, -0.005085f, -0.000901f, 0.003723f, -0.001538f, -0.000697f, -0.002112f, 0.001432f, 0.005955f, 0.002191f, -0.007077f, 0.008878f, -0.000690f, -0.016774f, -0.007805f, -0.003260f, -0.003631f, -0.009136f, -0.008388f, -0.005274f, 0.009082f, -0.009997f, -0.004672f, -0.004754f, 0.001817f, 0.015148f, -0.002291f, -0.001217f, 0.003690f, 0.008663f, -0.013289f, -0.002179f, 0.002683f, -0.005873f, 0.004656f, 0.007402f, -0.008215f, -0.000522f, 0.001017f, -0.004775f, -0.012086f, 0.002078f, -0.005119f, 0.001615f, -0.004723f, 0.006874f, -0.008375f, -0.007781f, -0.019181f, -0.005171f, 0.006496f, -0.001086f, -0.007419f, -0.003634f, -0.001018f, -0.007708f, 0.000282f, -0.001317f, 0.005164f, 0.004156f, -0.002110f, 0.000218f, -0.002101f, -0.008137f, 0.009749f, 0.001705f, 0.006518f, -0.002480f, -0.000177f, - 0.001722f, 0.002673f, 0.007657f, -0.002714f, -0.001872f, 0.001984f, -0.000231f, 0.008056f, 0.004471f, -0.007617f, -0.002875f, -0.002235f, -0.011455f, -0.001788f, -0.001039f, 0.006232f, -0.004302f, -0.036729f, -0.011708f, -0.003086f, -0.003128f, -0.002901f, 0.014103f, -0.012946f, 0.006193f, -0.002861f, 0.002770f, -0.003538f, -0.003166f, -0.010354f, 0.001628f, -0.003619f, 0.000699f, -0.015110f, 0.000215f, -0.001308f, -0.002837f, 0.000026f, 0.002809f, 0.002616f, -0.001525f, -0.000750f, -0.006221f, 0.002216f, -0.004998f, 0.003581f, -0.000051f, 0.003119f, 0.009558f, -0.002157f, -0.011020f, -0.004332f, -0.012890f, 0.002166f, 0.002312f, -0.000768f, 0.002231f, -0.004081f, 0.004325f, 0.002648f, -0.005679f, 0.000941f, -0.015439f, -0.002834f, -0.010303f, 0.006147f, 0.010292f, -0.008512f, -0.000634f, 0.003457f, 0.001657f, -0.014219f, 0.002566f, 0.008152f, -0.006967f, -0.002789f, -0.016704f, 0.006325f, -0.002274f, 0.007595f, 0.012667f, 0.007770f, -0.009811f, 0.002805f, 0.002630f, 0.001252f, -0.010846f, 0.003598f, -0.004385f, 0.008145f, -0.002546f, 0.000319f, 0.004046f, 0.003357f, -0.022112f, 0.001796f, - 0.004804f, -0.008904f, -0.000296f, 0.021600f, 0.018057f, 0.008686f, -0.001781f, -0.004783f, 0.011822f, 0.006233f, 0.004270f, 0.003469f, -0.008247f, 0.002322f, 0.001579f, 0.009747f, -0.009308f, -0.005337f, -0.001200f, 0.000556f, -0.001337f, -0.012335f, -0.007125f, -0.008919f, -0.008899f, 0.004533f, 0.007169f, 0.003343f, 0.003583f, -0.000606f, 0.003521f, -0.002283f, -0.000519f, -0.000111f, -0.002763f, -0.001862f, 0.005806f, 0.003071f, -0.007112f, -0.009667f, -0.000064f, -0.009718f, 0.006025f, -0.003622f, -0.014096f, 0.000814f, 0.008342f, 0.009695f, 0.008207f, -0.000641f, 0.007815f, -0.011714f, -0.002579f, -0.005900f, 0.000109f, -0.000480f, 0.005637f, -0.004964f, -0.008804f, 0.010425f, -0.009784f, -0.006675f, 0.008325f, 0.015416f, 0.005122f, 0.001480f, -0.015527f, 0.015870f, 0.003480f, 0.009954f, 0.020945f, -0.007650f, 0.004067f, -0.002611f, -0.004506f, 0.003709f, 0.034608f, 0.024233f, -0.008605f, -0.012776f, 0.019230f, 0.012387f, 0.020226f, 0.029511f, -0.014899f, 0.010145f, 0.004993f, 0.008468f, 0.003904f, 0.005023f, 0.012288f, 0.002893f, 0.012538f, 0.000244f, -0.007984f, 0.003179f, - -0.002578f, 0.004024f, -0.001495f, 0.022781f, 0.003866f, 0.004839f, 0.003088f, 0.000665f, 0.008007f, 0.003158f, 0.000421f, -0.001757f, 0.005698f, -0.004744f, 0.010930f, -0.008893f, 0.013163f, -0.006594f, 0.007918f, 0.003837f, 0.004793f, 0.003511f, 0.019332f, 0.014469f, 0.000809f, -0.004608f, -0.010679f, 0.011079f, -0.012998f, 0.002758f, -0.005777f, 0.005174f, 0.012009f, 0.000941f, -0.020555f, -0.017094f, 0.001524f, -0.010879f, -0.011354f, -0.007061f, -0.013071f, 0.003926f, 0.022093f, 0.010483f, -0.008435f, -0.000246f, 0.002347f, -0.006670f, -0.006808f, -0.001990f, 0.010715f, 0.011175f, -0.013170f, 0.004953f, 0.014051f, 0.001309f, 0.004537f, 0.014652f, 0.003460f, 0.021470f, -0.001365f, -0.000794f, -0.006723f, -0.006418f, 0.007981f, 0.016150f, -0.004252f, 0.003922f, 0.001813f, 0.017565f, 0.008101f, -0.008871f, -0.007114f, 0.000728f, 0.004443f, 0.015959f, 0.016750f, 0.024054f, 0.005134f, 0.006403f, -0.003598f, 0.009587f, 0.012059f, -0.004781f, -0.004893f, 0.008438f, -0.006010f, -0.009716f, 0.009565f, 0.002339f, -0.010088f, -0.013614f, 0.021032f, 0.009878f, 0.000122f, 0.012665f, - 0.003344f, -0.009294f, 0.020062f, -0.004703f, 0.001443f, -0.000636f, 0.005865f, -0.007137f, 0.005884f, -0.007112f, 0.005771f, -0.006573f, 0.006823f, -0.005340f, 0.008970f, -0.006679f, -0.005842f, 0.018002f, -0.021411f, 0.001427f, 0.003701f, -0.007455f, 0.002572f, -0.024853f, -0.011276f, 0.012501f, -0.008898f, 0.008005f, -0.001484f, 0.005790f, 0.003443f, 0.005341f, 0.003972f, -0.009972f, 0.007540f, -0.004521f, 0.000661f, -0.017659f, -0.015634f, 0.000160f, 0.006451f, 0.012747f, -0.014830f, 0.004410f, -0.013356f, 0.011038f, 0.008052f, -0.017828f, -0.003989f, 0.002129f, -0.021397f, -0.011839f, 0.012605f, -0.001490f, -0.001188f, 0.003215f, -0.001611f, -0.021973f, 0.019952f, 0.001454f, -0.014628f, -0.006837f, 0.002391f, -0.001727f, -0.014088f, -0.004012f, -0.008237f, 0.002394f, -0.001019f, -0.004301f, 0.004080f, -0.019114f, -0.008880f, 0.005017f, 0.024730f, -0.004157f, -0.015124f, -0.010412f, -0.008605f, 0.017076f, -0.018607f, -0.003671f, -0.001694f, -0.019507f, -0.024686f, 0.005867f, -0.017276f, -0.002804f, 0.002000f, 0.012599f, 0.006601f, 0.000821f, 0.002183f, 0.014969f, -0.007225f, -0.005116f, - 0.021917f, -0.015541f, 0.011005f, -0.005717f, -0.006525f, -0.002956f, -0.003731f, 0.023329f, -0.000613f, 0.008379f, -0.026266f, -0.019307f, -0.001201f, -0.005294f, 0.025299f, -0.001512f, 0.015055f, 0.003694f, -0.029494f, 0.002611f, -0.002691f, 0.020093f, 0.002596f, -0.021794f, 0.025973f, 0.008053f, -0.014848f, -0.033342f, -0.013532f, 0.032503f, 0.001902f, -0.004366f, -0.005189f, 0.003165f, 0.001379f, 0.009892f, 0.005657f, 0.010619f, -0.002023f, 0.019123f, -0.009634f, -0.022943f, 0.001315f, 0.000879f, -0.005055f, -0.000999f, 0.008910f, -0.006011f, -0.003086f, -0.002146f, 0.018613f, 0.013971f, 0.007745f, -0.001499f, -0.024336f, -0.000631f, -0.000825f, -0.001186f, -0.003630f, -0.000554f, -0.010334f, -0.020369f, -0.002631f, 0.013747f, 0.014091f, -0.005255f, 0.015126f, -0.004863f, 0.006902f, 0.015791f, 0.015939f, -0.033940f, 0.012270f, 0.011956f, 0.005791f, -0.008468f, -0.028798f, 0.017677f, 0.011446f, 0.005425f, -0.009638f, -0.006264f, -0.010955f, 0.006204f, -0.012162f, -0.002976f, 0.001468f, 0.011446f, -0.006085f, 0.005351f, 0.005013f, -0.022698f, -0.000874f, -0.016046f, 0.026517f, 0.002835f, - 0.017857f, 0.023306f, 0.022506f, 0.018406f, 0.022035f, -0.028008f, -0.019470f, -0.009279f, -0.010059f, -0.013129f, -0.011293f, -0.022415f, -0.008599f, 0.002085f, 0.012871f, 0.000502f, -0.013994f, -0.000122f, 0.012824f, 0.001140f, -0.012232f, -0.004876f, 0.030233f, 0.003448f, 0.010783f, 0.003991f, 0.011926f, 0.002996f, 0.003213f, -0.018806f, 0.009699f, 0.001035f, 0.003417f, -0.019786f, 0.005915f, -0.030574f, -0.001068f, -0.009529f, 0.006565f, -0.002635f, -0.023626f, -0.000395f, -0.023544f, 0.004220f, -0.019779f, 0.017078f, -0.010827f, 0.026763f, -0.000364f, -0.000520f, 0.012251f, 0.002815f, -0.005486f, -0.004075f, 0.004179f, -0.009347f, 0.005015f, 0.016217f, 0.007116f, -0.012645f, -0.007775f, 0.034895f, 0.001338f, 0.027622f, -0.027539f, -0.006226f, -0.004173f, 0.019618f, -0.024222f, 0.002093f, 0.009549f, -0.024143f, 0.014538f, -0.016198f, 0.003003f, -0.009031f, -0.028271f, 0.003896f, 0.028167f, 0.020397f, 0.023026f, -0.008078f, -0.005657f, 0.005153f, -0.003802f, 0.027607f, 0.009547f, 0.012797f, 0.023823f, -0.002402f, 0.008908f, -0.016867f, 0.023627f, 0.011055f, -0.006046f, -0.015334f, - -0.013643f, 0.015014f, -0.027664f, 0.009812f, 0.015557f, -0.012444f, -0.015649f, -0.009776f, 0.014371f, 0.004444f, -0.006009f, -0.011192f, -0.000309f, -0.018117f, -0.026032f, 0.003387f, -0.025084f, -0.037721f, -0.005311f, 0.000038f, 0.036080f, -0.017352f, -0.013485f, 0.014928f, 0.026183f, 0.025639f, 0.013389f, -0.003300f, 0.005095f, -0.013454f, 0.000764f, -0.014097f, 0.028922f, 0.024930f, 0.015768f, -0.003207f, -0.032852f, -0.002257f, -0.028502f, 0.027118f, 0.020578f, 0.011865f, -0.024444f, 0.015801f, 0.007652f, 0.010097f, -0.007164f, -0.021274f, -0.017056f, -0.017628f, 0.001021f, -0.023716f, -0.043334f, 0.004994f, 0.019774f, 0.012334f, 0.012970f, 0.024893f, 0.048440f, 0.023883f, 0.015867f, 0.017939f, -0.032584f, -0.003203f, -0.012916f, 0.041277f, -0.041806f, -0.036475f, 0.009385f, 0.027551f, -0.002268f, 0.033328f, 0.027151f, 0.000356f, 0.009526f, -0.017230f, -0.015182f, 0.031811f, -0.013330f, 0.022422f, 0.005848f, -0.011588f, -0.008427f, -0.004127f, -0.008046f, -0.012132f, 0.010277f, 0.014307f, 0.009052f, 0.002831f, -0.016958f, -0.018192f, 0.024660f, -0.023656f, 0.018827f, 0.003780f, - -0.032756f, 0.017826f, 0.028803f, 0.001371f, -0.009337f, -0.001796f, 0.001300f, 0.003779f, 0.019391f, 0.001014f, -0.016440f, -0.004283f, 0.016446f, -0.029568f, 0.006748f, -0.003069f, 0.024978f, 0.029577f, 0.017427f, 0.023746f, 0.027409f, 0.022703f, 0.006782f, -0.015597f, -0.020997f, 0.012759f, 0.013434f, 0.002032f, 0.011797f, 0.019472f, 0.042967f, -0.020498f, 0.027557f, -0.011879f, -0.009419f, 0.034377f, 0.005287f, -0.032361f, -0.006888f, 0.020367f, -0.024847f, 0.001758f, -0.015956f, -0.025303f, 0.037397f, 0.033769f, 0.026494f, 0.014034f, 0.006279f, 0.011855f, 0.027268f, 0.016635f, 0.027992f, -0.009538f, 0.023327f, -0.017025f, 0.028436f, 0.040446f, 0.023838f, 0.020839f, 0.009228f, 0.021514f, 0.019670f, -0.004794f, 0.039899f, 0.011064f, -0.025235f, 0.012967f, -0.025527f, -0.015690f, -0.005786f, -0.037179f, -0.000025f, -0.006775f, -0.011139f, -0.017266f, -0.010420f, -0.003848f, -0.001853f, -0.002217f, 0.001041f, 0.003256f, -0.022771f, -0.012933f, 0.003987f, -0.009941f, 0.008614f, 0.039831f, -0.019730f, 0.000345f, -0.004157f, 0.003374f, -0.018688f, 0.011846f, -0.009216f, 0.031572f, - 0.005813f, 0.019831f, 0.027116f, 0.007076f, -0.002159f, -0.015629f, -0.040642f, 0.008018f, 0.029967f, 0.024715f, -0.005592f, -0.023786f, 0.023128f, 0.005875f, 0.014751f, -0.030442f, -0.022131f, -0.016903f, 0.016951f, -0.057326f, -0.036413f, -0.017531f, 0.041074f, 0.029664f, -0.021901f, 0.025435f, 0.023277f, 0.019592f, 0.019505f, -0.019187f, 0.002262f, 0.011111f, -0.018750f, -0.057560f, -0.010172f, -0.015900f, -0.034958f, 0.003315f, -0.011667f, -0.008883f, 0.011204f, 0.006619f, -0.007440f, 0.001928f, 0.027439f, 0.029153f, -0.052659f, 0.012942f, 0.003171f, 0.024928f, 0.008845f, 0.001745f, -0.032583f, 0.010551f, -0.007978f, -0.008682f, -0.022234f, -0.016359f, 0.043075f, -0.018699f, -0.000236f, 0.005753f, -0.010715f, 0.047816f, 0.022885f, -0.020128f, -0.012138f, -0.035920f, -0.004781f, 0.036204f, 0.010861f, 0.011756f, -0.011044f, 0.022730f, -0.004571f, -0.007919f, 0.020271f, -0.010205f, 0.033262f, -0.006002f, 0.024839f, -0.047908f, -0.016575f, 0.030797f, 0.007233f, -0.001975f, 0.008103f, -0.052025f, -0.026228f, 0.012286f, -0.022500f, 0.013630f, 0.001098f, 0.014137f, 0.030032f, 0.012813f, - -0.027351f, -0.069159f, -0.008519f, -0.006214f, -0.010212f, 0.013378f, -0.031032f, 0.058517f, -0.012720f, 0.004885f, 0.059406f, -0.070462f, -0.010076f, -0.011875f, -0.009457f, -0.081055f, 0.002130f, -0.010548f, -0.018669f, 0.030655f, -0.031201f, 0.006755f, 0.002899f, 0.015851f, -0.005213f, -0.028043f, 0.018195f, -0.017605f, 0.040732f, -0.005097f, -0.051806f, -0.001251f, -0.004329f, -0.022428f, -0.052224f, 0.024634f, 0.022495f, -0.039067f, 0.031113f, -0.035087f, -0.031949f, -0.015515f, 0.000459f, 0.005465f, 0.002738f, 0.026421f, -0.007428f, -0.020334f, -0.056926f, 0.013544f, -0.075968f, -0.036232f, -0.028107f, -0.055898f, -0.037701f, -0.014201f, -0.006685f, -0.024733f, 0.038685f, 0.045847f, 0.006386f, -0.010036f, 0.044304f, 0.024503f, -0.008646f, -0.007442f, 0.031000f, 0.028785f, -0.014805f, 0.049236f, -0.040911f, -0.014729f, 0.047025f, 0.029556f, 0.068218f, -0.026123f, -0.023580f, 0.015133f, -0.002873f, -0.026394f, -0.013223f, 0.006774f, 0.055809f, 0.031805f, -0.005014f, 0.075502f, -0.008494f, 0.031131f, -0.035341f, 0.044219f, 0.041741f, -0.003497f, -0.032939f, 0.003836f, 0.012412f, -0.018215f, - 0.020106f, -0.026700f, 0.000048f, -0.007867f, -0.008357f, -0.030295f, -0.021937f, -0.013448f, -0.001223f, -0.009351f, -0.023487f, 0.036648f, 0.025464f, 0.007422f, -0.009194f, 0.006946f, 0.035551f, 0.017185f, 0.026448f, 0.016965f, -0.017852f, -0.028278f, 0.060369f, -0.006643f, -0.031090f, -0.012294f, -0.012533f, -0.006446f, 0.044309f, 0.003233f, -0.031435f, -0.011111f, -0.080373f, -0.018591f, -0.007781f, 0.052327f, 0.036910f, -0.097856f, -0.040819f, -0.022200f, 0.001821f, 0.007264f, -0.037303f, 0.031793f, 0.018423f, 0.028232f, 0.053008f, -0.062455f, 0.067243f, 0.049275f, -0.017373f, -0.040326f, 0.006313f, -0.007114f, 0.020067f, 0.061536f, 0.051532f, 0.007737f, 0.018874f, -0.040136f, -0.065251f, 0.093731f, 0.045762f, 0.004828f, 0.005199f, -0.020377f, -0.055774f, 0.019773f, -0.005278f, 0.047520f, 0.009446f, 0.017938f, 0.050413f, 0.028974f, -0.001769f, -0.005045f, 0.007460f, -0.030985f, -0.027163f, -0.032986f, -0.020038f, 0.031340f, -0.009938f, 0.002357f, 0.037129f, -0.006248f, 0.015336f, -0.053330f, -0.049991f, -0.032353f, 0.026091f, 0.011757f, -0.003702f, 0.013197f, -0.019105f, -0.047881f, - 0.058861f, -0.057488f, 0.024447f, 0.028025f, 0.019314f, 0.010195f, 0.034418f, -0.023270f, -0.061924f, 0.044421f, 0.121427f, -0.021235f, 0.057125f, -0.071554f, -0.042158f, 0.045520f, 0.022821f, -0.066179f, -0.022449f, -0.004593f, 0.054529f, -0.013263f, -0.010282f, -0.089834f, -0.062848f, -0.019297f, -0.071424f, 0.058006f, 0.055127f, 0.096603f, -0.088136f, 0.038766f, 0.005930f, -0.042786f, -0.006256f, 0.002697f, -0.094118f, 0.018368f, -0.017424f, -0.084110f, -0.046150f, -0.002704f, -0.011611f, -0.028846f, 0.011074f, 0.025816f, 0.003750f, -0.030429f, -0.000515f, -0.029208f, 0.077406f, -0.024463f, 0.002708f, 0.056972f, -0.002309f, -0.060426f, -0.040423f, -0.041607f, -0.017075f, -0.022603f, 0.064599f, 0.005637f, 0.011405f, 0.030785f, -0.016571f, -0.018728f, -0.009835f, -0.019068f, -0.037995f, -0.010069f, 0.073823f, 0.022621f, 0.018149f, -0.049444f, 0.018668f, 0.002879f, -0.033819f, -0.004950f, -0.016616f, 0.078304f, -0.061994f, -0.054990f, -0.018446f, 0.008984f, -0.018103f, 0.001525f, 0.021892f, -0.042123f, -0.010639f, 0.066227f, -0.053712f, 0.008628f, -0.013276f, -0.033735f, -0.057181f, -0.044679f, - 0.002178f, -0.080708f, -0.096663f, 0.022089f, 0.019521f, 0.014691f, -0.086765f, 0.065851f, 0.080223f, -0.028232f, -0.024511f, 0.004388f, -0.004886f, -0.018753f, -0.046983f, 0.032318f, 0.118912f, 0.018728f, 0.021096f, -0.026167f, -0.069923f, 0.019619f, 0.027133f, -0.102959f, 0.056496f, 0.002837f, -0.029499f, 0.010346f, 0.037682f, -0.052922f, 0.032997f, -0.049071f, 0.013447f, -0.002320f, -0.024896f, -0.013293f, -0.006629f, -0.035877f, 0.026337f, 0.023565f, -0.000840f, 0.013339f, 0.001860f, 0.021004f, 0.026731f, 0.026348f, 0.038249f, 0.033394f, -0.019727f, 0.005958f, -0.040871f, 0.044758f, -0.033369f, 0.011713f, -0.005954f, 0.009967f, 0.002785f, -0.030224f, 0.029176f, -0.014729f, -0.029492f, 0.064680f, -0.049955f, 0.016518f, -0.013731f, -0.023913f, 0.026620f, -0.005206f, 0.008690f, 0.041040f, -0.046633f, 0.003511f, -0.057301f, -0.113752f, -0.001546f, 0.038569f, -0.012340f, 0.150287f, 0.031869f, -0.055906f, 0.018121f, -0.078628f, 0.030094f, 0.060370f, 0.070582f, -0.020690f, -0.010985f, -0.086661f, -0.100193f, -0.004685f, -0.060733f, 0.020637f, 0.000994f, -0.073766f, 0.015297f, -0.005494f, - -0.042812f, 0.019171f, -0.027765f, -0.018983f, -0.034543f, 0.017494f, -0.037630f, 0.048126f, -0.005040f, 0.017682f, -0.011043f, 0.064672f, -0.017537f, 0.035394f, -0.000483f, 0.042223f, -0.011757f, -0.021757f, 0.013987f, -0.024612f, -0.025545f, 0.003133f, 0.048480f, 0.030705f, -0.032780f, 0.034739f, -0.024540f, -0.038275f, 0.010829f, 0.051211f, -0.019712f, -0.021630f, 0.027865f, 0.011810f, -0.025542f, 0.002228f, 0.035437f, -0.015392f, -0.033583f, 0.017658f, 0.014414f, 0.020763f, 0.039962f, 0.007366f, -0.023545f, -0.008904f, 0.087464f, 0.090307f, -0.024822f, -0.076997f, 0.058589f, -0.026719f, 0.016949f, 0.006690f, 0.098657f, 0.011751f, -0.050178f, -0.020530f, -0.011543f, 0.000572f, 0.016058f, 0.021164f, 0.032865f, -0.040740f, 0.013310f, 0.005199f, 0.058173f, -0.018313f, 0.041654f, 0.037837f, 0.025931f, 0.013320f, 0.015672f, 0.021285f, 0.104900f, 0.041923f, -0.045097f, 0.009756f, -0.047156f, -0.027952f, -0.001712f, 0.016165f, -0.006121f, 0.036403f, -0.043393f, -0.002854f, 0.019527f, -0.002956f, 0.020278f, -0.004120f, 0.008312f, 0.002905f, -0.030450f, -0.011568f, 0.010409f, -0.031571f, - -0.028404f, 0.001140f, 0.009843f, -0.022861f, 0.017438f, 0.013408f, -0.006889f, -0.016586f, -0.000201f, 0.001849f, -0.003013f, 0.011291f, 0.005649f, 0.008569f, -0.010852f, -0.007135f, 0.026194f, -0.001497f, 0.003876f, 0.009874f, -0.004863f, 0.011054f, -0.009172f, -0.024018f, -0.011521f, 0.021453f, -0.015208f, -0.015239f, 0.004769f, -0.020015f, -0.016160f, 0.026258f, -0.024274f, 0.042505f, 0.013711f, -0.021796f, 0.023703f, 0.000882f, -0.028427f, 0.000519f, -0.000994f, -0.008332f, 0.021007f, -0.003287f, -0.013441f, 0.034767f, -0.016082f, -0.012245f, 0.027166f, 0.002379f, 0.000747f, -0.003594f, 0.017472f, -0.006052f, 0.015546f, -0.014826f, -0.061331f, -0.076410f, 0.064643f, 0.255690f, 0.101735f, 0.116660f, 0.002840f, -0.241708f, -0.175881f, -0.093779f, -0.139895f, 0.062143f, 0.122815f, 0.048944f, 0.216153f, 0.120416f, -0.006797f, 0.049332f, -0.107341f, -0.220341f, -0.086153f, -0.153398f, -0.023010f, 0.104301f, 0.090188f, 0.079268f, 0.135287f, 0.081477f, 0.024094f, 0.035636f, -0.008587f, -0.157112f, -0.067515f, -0.057326f, -0.214054f, 0.038811f, 0.029699f, -0.096846f, 0.156688f, 0.152446f, - -0.003739f, 0.193189f, 0.097091f, -0.091429f, 0.061871f, -0.090902f, -0.185197f, -0.015973f, -0.111191f, -0.164620f, 0.030581f, 0.016336f, -0.008013f, 0.151266f, 0.148785f, 0.086630f, 0.132720f, 0.078370f, -0.048905f, -0.058482f, -0.099883f, -0.175871f, -0.126729f, -0.062641f, -0.055287f, 0.030257f, 0.101273f, 0.066404f, 0.111310f, 0.162754f, 0.067042f, -0.022337f, -0.016383f, -0.113698f, -0.085707f, 0.009021f, -0.091341f, -0.033725f, 0.034008f, -0.006870f}, - {-0.004815f, -0.012030f, -0.003493f, 0.003523f, 0.000648f, 0.003820f, 0.003430f, 0.010792f, -0.002005f, -0.000496f, -0.001213f, -0.007813f, -0.006263f, 0.001472f, 0.001259f, -0.000511f, 0.003768f, -0.011457f, -0.006803f, -0.006586f, 0.003937f, -0.000119f, -0.001678f, -0.002020f, -0.002006f, 0.001805f, 0.002673f, -0.000696f, -0.001486f, 0.004034f, -0.006424f, 0.006509f, 0.004412f, -0.002411f, -0.005353f, -0.001064f, -0.007872f, -0.003369f, -0.011053f, 0.004511f, 0.004142f, -0.000701f, 0.002402f, -0.007214f, 0.006526f, -0.000140f, -0.001093f, 0.005229f, -0.007272f, 0.000231f, 0.006156f, 0.001572f, -0.001687f, 0.000460f, 0.000874f, -0.006669f, 0.005189f, -0.001173f, 0.006411f, 0.000705f, 0.001663f, 0.001246f, 0.002054f, -0.003880f, -0.004502f, -0.004502f, 0.003448f, -0.002734f, 0.000660f, 0.007686f, 0.010107f, 0.005773f, -0.001024f, 0.002362f, -0.000045f, 0.000139f, 0.000914f, 0.006491f, -0.008799f, -0.007006f, -0.001307f, 0.006949f, 0.010028f, -0.004686f, 0.005815f, -0.003193f, -0.008525f, -0.002233f, -0.004811f, 0.002847f, -0.001263f, -0.003998f, 0.003628f, 0.005743f, 0.001161f, 0.006926f, - -0.012668f, -0.013493f, -0.008833f, 0.001336f, -0.000153f, -0.002247f, 0.000531f, 0.004214f, -0.001485f, 0.005665f, 0.004488f, -0.005855f, 0.002118f, -0.000371f, 0.007100f, 0.006752f, 0.002371f, -0.007024f, 0.004499f, -0.004154f, 0.002205f, 0.004732f, -0.011507f, 0.012467f, 0.018021f, 0.002462f, 0.008062f, -0.006619f, -0.001547f, -0.006205f, -0.003473f, 0.005726f, -0.002099f, -0.006412f, -0.001953f, -0.003997f, 0.002893f, -0.003889f, -0.003891f, 0.000480f, 0.003049f, -0.003185f, -0.004039f, -0.001477f, 0.006140f, 0.005987f, -0.005276f, -0.001612f, -0.006208f, 0.001584f, 0.007237f, 0.002461f, -0.003321f, -0.003191f, 0.002290f, -0.000169f, -0.005899f, 0.027888f, 0.012990f, -0.001074f, 0.005970f, 0.005221f, -0.006603f, -0.003391f, 0.007877f, 0.003434f, 0.008566f, -0.006238f, 0.012405f, 0.004522f, -0.012005f, 0.009531f, 0.000635f, -0.000309f, -0.006274f, 0.006953f, -0.012980f, -0.011336f, -0.002279f, -0.004086f, -0.002043f, -0.004102f, 0.001655f, -0.002522f, -0.005310f, -0.004022f, 0.004706f, -0.005057f, 0.003335f, 0.001934f, 0.001431f, -0.005571f, 0.007871f, -0.016214f, -0.002675f, -0.000163f, - -0.002658f, -0.002101f, 0.001568f, 0.002941f, -0.004992f, 0.004047f, -0.006079f, 0.005934f, 0.002105f, 0.001246f, 0.006409f, -0.004434f, -0.000820f, 0.002444f, 0.009937f, 0.002335f, 0.004333f, -0.002296f, -0.008114f, -0.011804f, 0.002483f, 0.006316f, 0.008684f, -0.003470f, -0.012723f, 0.001897f, -0.004900f, -0.003716f, -0.002486f, 0.003588f, 0.001054f, 0.012787f, 0.000462f, 0.004265f, 0.003655f, -0.002025f, -0.001600f, -0.003773f, 0.015081f, 0.003521f, -0.012721f, -0.014419f, 0.003984f, -0.004358f, -0.011930f, 0.013646f, -0.006622f, -0.002145f, -0.001793f, 0.010744f, 0.002316f, -0.006067f, 0.007562f, -0.005672f, 0.011398f, -0.015479f, -0.010193f, 0.012593f, -0.012855f, -0.012934f, -0.005124f, 0.010818f, 0.004808f, 0.005293f, -0.001087f, 0.009747f, 0.005944f, -0.000753f, -0.012394f, 0.003657f, -0.003298f, 0.004801f, 0.004207f, 0.003723f, 0.011149f, 0.003244f, -0.010517f, 0.001330f, 0.007748f, 0.011367f, 0.003982f, -0.005632f, -0.001134f, -0.008464f, 0.004108f, -0.015310f, -0.000289f, 0.017516f, 0.001260f, 0.002355f, -0.008365f, -0.010239f, 0.002050f, 0.002980f, 0.012938f, -0.002052f, - 0.001519f, 0.002055f, -0.001383f, 0.002096f, 0.004663f, 0.001640f, 0.009343f, -0.001390f, 0.006422f, 0.001997f, 0.002193f, 0.002363f, 0.010989f, 0.001976f, -0.000746f, 0.003832f, -0.001500f, -0.033987f, -0.023331f, -0.004272f, 0.003115f, 0.006324f, -0.000049f, 0.000720f, -0.013857f, -0.000027f, -0.003478f, -0.001400f, -0.000281f, -0.002528f, -0.002077f, -0.008926f, 0.004554f, -0.019713f, -0.008043f, 0.002773f, -0.004625f, -0.005345f, -0.004073f, -0.010743f, -0.006390f, -0.003856f, -0.005986f, 0.003643f, -0.009478f, -0.003912f, 0.010878f, 0.008452f, 0.000413f, 0.006558f, 0.003647f, -0.002492f, -0.007837f, 0.005709f, 0.016528f, 0.003183f, 0.001864f, -0.005299f, -0.006133f, 0.006312f, -0.014570f, -0.006232f, 0.015795f, -0.013097f, 0.004287f, -0.001933f, -0.007434f, 0.004980f, 0.001031f, -0.002372f, 0.000941f, 0.004213f, -0.005006f, 0.001903f, -0.000910f, 0.011797f, 0.008870f, 0.003367f, 0.002555f, 0.006483f, -0.000017f, 0.000463f, -0.003044f, -0.017654f, 0.010244f, 0.008951f, -0.004956f, 0.002956f, -0.007777f, 0.001354f, 0.002065f, -0.001762f, 0.003842f, -0.001599f, -0.029359f, 0.003997f, - 0.007624f, -0.002523f, -0.002045f, -0.017238f, -0.006220f, 0.003891f, -0.014259f, -0.014870f, 0.003444f, -0.014190f, -0.006424f, -0.001040f, -0.007638f, 0.003894f, -0.005926f, 0.009414f, -0.004861f, -0.004241f, 0.003671f, 0.006346f, 0.013567f, 0.007443f, -0.014170f, -0.001555f, -0.000659f, 0.006432f, 0.011213f, 0.017575f, -0.007766f, -0.008007f, 0.009890f, -0.010827f, 0.002686f, 0.002072f, 0.015851f, 0.004872f, 0.008979f, -0.012363f, -0.004799f, -0.016584f, 0.012752f, 0.012225f, 0.015271f, -0.001070f, -0.002983f, -0.010890f, -0.001885f, 0.009255f, -0.004477f, -0.007309f, -0.005787f, -0.008720f, 0.001866f, 0.001040f, 0.002506f, -0.011605f, -0.000027f, -0.011368f, -0.000475f, -0.002339f, 0.004392f, 0.003010f, -0.003185f, -0.005471f, -0.013361f, -0.001382f, -0.001021f, 0.007765f, -0.005111f, 0.013370f, -0.007715f, 0.001528f, 0.006589f, 0.012485f, -0.009211f, 0.001095f, 0.036319f, 0.032552f, -0.001913f, 0.001699f, 0.015764f, 0.003003f, 0.007318f, -0.004219f, 0.008290f, -0.006261f, 0.015902f, 0.006446f, -0.000776f, 0.004132f, 0.000356f, 0.021855f, 0.013457f, -0.013146f, -0.012364f, 0.005200f, - 0.001404f, -0.003741f, -0.003848f, 0.003375f, 0.009290f, 0.008214f, 0.003773f, 0.001768f, 0.004489f, -0.002854f, -0.001149f, 0.012315f, -0.013674f, 0.005799f, 0.014664f, 0.012322f, 0.020248f, -0.001432f, -0.004122f, -0.001203f, 0.000419f, -0.006117f, 0.022055f, 0.021686f, 0.014117f, -0.006391f, -0.003038f, 0.009560f, 0.006346f, -0.005839f, 0.000475f, 0.012633f, -0.005477f, -0.005083f, 0.006692f, -0.021795f, -0.003583f, 0.001755f, 0.002293f, -0.007069f, -0.015600f, 0.006419f, 0.008991f, -0.011470f, -0.005418f, -0.012570f, 0.003835f, 0.001171f, -0.003668f, -0.002638f, -0.012160f, 0.018830f, -0.005738f, 0.002153f, -0.019682f, -0.005627f, -0.008456f, 0.024243f, -0.000779f, 0.015243f, 0.021243f, -0.011342f, -0.025827f, 0.000874f, 0.019881f, -0.015517f, 0.013984f, -0.004370f, -0.018695f, -0.008930f, 0.019013f, -0.018760f, -0.016256f, 0.011611f, -0.018824f, 0.005996f, 0.009040f, 0.007099f, -0.005335f, 0.011113f, 0.003226f, 0.001814f, 0.007341f, -0.012406f, 0.016400f, 0.007725f, 0.007084f, -0.003771f, -0.001906f, 0.030239f, -0.010819f, 0.001492f, 0.007859f, 0.014987f, -0.021086f, -0.017692f, - -0.016226f, 0.000156f, 0.001002f, -0.001559f, 0.009536f, 0.002529f, 0.017161f, 0.006477f, 0.009928f, -0.002190f, 0.001063f, -0.009179f, 0.015216f, -0.007647f, 0.014967f, -0.009002f, -0.013646f, 0.022154f, 0.018077f, -0.026951f, -0.023675f, -0.015976f, -0.012476f, 0.007468f, 0.000679f, -0.006164f, 0.011373f, 0.012409f, -0.016772f, 0.008430f, -0.002181f, -0.033058f, -0.011574f, -0.017276f, -0.015765f, 0.004356f, -0.006198f, -0.014356f, -0.018958f, 0.011178f, -0.010696f, -0.008704f, -0.006462f, -0.023103f, -0.001893f, 0.009588f, -0.005635f, -0.001871f, -0.007780f, 0.018120f, 0.003354f, 0.011352f, 0.009534f, -0.015530f, 0.015890f, 0.022564f, -0.006606f, -0.009959f, 0.002949f, -0.004544f, 0.010431f, -0.029092f, 0.011397f, 0.024184f, -0.002834f, -0.008647f, -0.006600f, 0.010194f, 0.022593f, -0.005824f, 0.006030f, -0.010462f, 0.015604f, -0.018875f, -0.006587f, 0.002956f, -0.002447f, -0.014802f, 0.026529f, 0.017795f, 0.014189f, -0.006460f, -0.019307f, -0.003084f, -0.027602f, 0.004150f, -0.001688f, -0.001597f, -0.000257f, -0.004947f, 0.015461f, 0.012076f, -0.019153f, 0.010068f, -0.011389f, 0.015238f, - -0.001269f, -0.004138f, -0.001175f, -0.017956f, -0.003149f, -0.016527f, -0.034350f, -0.002636f, 0.003965f, 0.001553f, -0.013379f, -0.001714f, -0.004120f, -0.027061f, -0.000054f, 0.020833f, -0.014961f, 0.004290f, -0.036138f, 0.002578f, 0.021045f, 0.011555f, -0.016451f, -0.013304f, 0.026415f, 0.006192f, 0.005966f, -0.005092f, 0.006878f, -0.000142f, -0.017594f, -0.004456f, -0.018468f, 0.008937f, -0.010959f, -0.001502f, -0.017966f, -0.019792f, -0.026771f, 0.017051f, 0.011482f, -0.008375f, -0.009447f, 0.007827f, -0.024539f, -0.001958f, 0.002022f, 0.006285f, 0.011024f, 0.005647f, 0.000878f, -0.008170f, 0.003786f, -0.007443f, 0.006718f, -0.007093f, 0.004514f, 0.002750f, -0.007602f, -0.009659f, -0.019124f, -0.012232f, 0.005124f, -0.032447f, -0.008770f, 0.018732f, 0.009875f, -0.003323f, 0.043341f, -0.005531f, 0.020199f, 0.020517f, -0.031198f, 0.002873f, -0.003965f, -0.025646f, -0.013690f, -0.013637f, 0.000629f, 0.004163f, 0.029922f, -0.003638f, 0.002945f, 0.021469f, 0.014988f, -0.002102f, 0.020020f, -0.007932f, -0.007623f, -0.011590f, -0.018296f, -0.023743f, -0.010692f, 0.017696f, -0.028997f, 0.003120f, - 0.023803f, -0.003248f, 0.007005f, -0.011030f, 0.006178f, 0.011533f, -0.007309f, 0.010051f, -0.014681f, -0.013928f, 0.022119f, 0.013756f, 0.013986f, 0.019598f, -0.000941f, -0.013852f, 0.019046f, -0.016121f, -0.024204f, 0.001655f, 0.021152f, -0.001802f, -0.019778f, 0.003981f, 0.025074f, -0.002307f, 0.006363f, 0.003950f, 0.035519f, 0.003775f, 0.007065f, 0.019397f, -0.002941f, -0.007690f, -0.018002f, 0.004056f, -0.003034f, -0.015033f, -0.000062f, -0.008134f, 0.006068f, 0.026303f, -0.000318f, -0.013019f, -0.004935f, -0.011887f, -0.007832f, -0.000230f, -0.006297f, 0.005296f, -0.018793f, 0.021709f, -0.010847f, 0.035340f, -0.008815f, -0.021939f, 0.000964f, 0.003464f, 0.011388f, 0.007425f, 0.005990f, -0.022258f, -0.020457f, 0.017137f, -0.021294f, -0.026335f, 0.007935f, 0.008724f, -0.007105f, 0.034606f, -0.026257f, -0.032152f, 0.012267f, -0.020754f, 0.000261f, 0.001429f, -0.019239f, 0.010600f, 0.001139f, 0.026224f, 0.027681f, 0.039754f, 0.018235f, 0.008299f, 0.005541f, 0.012961f, -0.013574f, 0.014986f, -0.024072f, 0.011459f, -0.002402f, -0.002320f, -0.046150f, -0.018150f, -0.007642f, 0.015341f, - -0.002061f, 0.003414f, 0.004892f, 0.003743f, -0.023674f, 0.023890f, -0.001053f, 0.009390f, 0.000667f, 0.022165f, -0.024599f, 0.016351f, -0.012184f, -0.001284f, 0.018250f, -0.021693f, -0.009545f, -0.023641f, -0.009282f, -0.026307f, 0.022914f, 0.016007f, 0.030845f, -0.002611f, 0.007111f, -0.029490f, 0.006191f, -0.030640f, 0.028245f, 0.006648f, -0.004917f, 0.025448f, 0.027257f, 0.012371f, -0.016738f, -0.026405f, -0.035646f, -0.003661f, -0.012861f, -0.020131f, 0.018775f, -0.007890f, 0.044196f, -0.036010f, -0.012517f, 0.022130f, -0.027131f, -0.014498f, 0.005529f, -0.004173f, -0.004610f, -0.031229f, 0.010719f, -0.003082f, -0.015297f, 0.000936f, 0.007868f, 0.006318f, 0.040930f, -0.009035f, 0.005214f, -0.001819f, -0.014378f, 0.018979f, -0.007563f, 0.007206f, 0.001440f, 0.026936f, -0.009242f, 0.031317f, -0.000375f, 0.015645f, 0.012805f, -0.002347f, -0.011085f, -0.030245f, 0.013335f, 0.031545f, 0.000550f, -0.000265f, 0.020727f, 0.018462f, -0.002566f, 0.003265f, 0.036270f, 0.023302f, -0.008144f, 0.007894f, 0.023284f, -0.006569f, -0.028815f, 0.000242f, -0.021395f, -0.003610f, -0.014199f, 0.000609f, - -0.039508f, -0.011922f, -0.015549f, -0.000066f, 0.006063f, 0.007172f, 0.034848f, 0.039777f, 0.019405f, -0.029107f, -0.018736f, 0.021770f, 0.029807f, 0.005585f, -0.031663f, -0.006135f, -0.009457f, -0.032001f, -0.021962f, -0.024743f, 0.025406f, -0.012366f, 0.000810f, -0.030763f, 0.038507f, 0.028589f, -0.007095f, 0.010154f, 0.065402f, -0.006558f, -0.018790f, -0.030367f, -0.006977f, 0.013749f, 0.007829f, -0.017480f, 0.010118f, -0.019958f, -0.027903f, 0.036897f, -0.022341f, 0.027326f, -0.019362f, -0.034221f, 0.003689f, 0.038328f, 0.028112f, -0.031910f, -0.017820f, 0.004858f, 0.008104f, 0.011631f, -0.000193f, 0.024915f, 0.016526f, 0.033485f, -0.010756f, -0.007944f, 0.000945f, -0.008861f, -0.031987f, -0.027190f, -0.005670f, 0.033726f, 0.009671f, 0.000854f, 0.003466f, -0.035193f, -0.035590f, -0.031189f, 0.017418f, 0.015378f, -0.010635f, -0.010431f, 0.005645f, 0.002238f, -0.017832f, 0.003973f, 0.040026f, 0.004778f, 0.025994f, 0.021376f, 0.019104f, 0.038624f, 0.060473f, 0.017299f, 0.003525f, 0.006634f, 0.025460f, -0.013787f, -0.003834f, 0.013761f, -0.002567f, 0.006637f, -0.002644f, 0.023490f, - 0.011663f, 0.016239f, -0.002071f, -0.008106f, 0.015667f, 0.032096f, 0.000604f, -0.028726f, 0.020716f, -0.044131f, -0.046520f, -0.018136f, 0.029217f, -0.017580f, -0.045595f, -0.030893f, -0.008504f, 0.017305f, 0.015597f, -0.069322f, 0.003685f, 0.035435f, -0.006512f, -0.007984f, 0.042789f, -0.022591f, -0.023597f, -0.029795f, -0.009878f, -0.009752f, -0.019934f, 0.006472f, 0.010034f, 0.017045f, 0.011929f, -0.009029f, -0.007281f, -0.002718f, -0.008147f, 0.003616f, 0.008496f, 0.035623f, -0.014423f, -0.044211f, 0.024658f, 0.001136f, -0.000728f, -0.036489f, 0.017374f, 0.008363f, -0.003176f, 0.043874f, -0.011468f, 0.005874f, -0.003142f, 0.020143f, 0.023599f, -0.023615f, -0.001530f, -0.012563f, -0.000645f, 0.014324f, -0.008413f, 0.021200f, -0.029413f, -0.023756f, -0.014957f, -0.025405f, -0.003513f, 0.004388f, 0.005502f, -0.036055f, -0.023685f, 0.020244f, 0.032104f, -0.012346f, -0.015719f, 0.018495f, -0.033331f, -0.029109f, -0.029011f, 0.036199f, -0.055099f, 0.021147f, -0.001428f, -0.030583f, -0.009025f, 0.031241f, 0.073726f, -0.006542f, -0.018310f, 0.026940f, 0.056733f, 0.022882f, -0.011531f, 0.012954f, - -0.007376f, -0.035861f, -0.065571f, -0.000414f, 0.068271f, -0.008235f, -0.008344f, -0.044051f, -0.006798f, 0.000057f, 0.001692f, 0.018856f, -0.001081f, 0.016226f, -0.002304f, 0.002456f, -0.036917f, 0.008036f, 0.027400f, -0.017443f, 0.034757f, -0.012759f, -0.005608f, -0.030422f, 0.018324f, -0.013497f, -0.014176f, -0.035575f, -0.055988f, 0.030252f, -0.029016f, -0.021983f, 0.005952f, 0.008783f, -0.014659f, 0.005994f, 0.026530f, -0.005421f, -0.031816f, -0.014217f, -0.039824f, -0.000955f, 0.007063f, 0.028816f, 0.001791f, -0.003816f, -0.009662f, -0.011424f, 0.005314f, 0.029996f, 0.000874f, -0.012567f, 0.026335f, -0.024622f, -0.000484f, -0.045166f, -0.018105f, -0.005415f, 0.057050f, -0.033953f, 0.008674f, -0.007817f, 0.004157f, -0.002133f, -0.010704f, 0.006488f, 0.020635f, 0.013302f, -0.049020f, 0.055777f, 0.010631f, 0.025160f, 0.001718f, -0.010296f, -0.019737f, 0.007687f, -0.031543f, -0.017410f, 0.065590f, -0.007394f, 0.004953f, -0.033587f, 0.030312f, -0.016977f, 0.022172f, -0.017137f, 0.039398f, 0.004894f, 0.003516f, -0.018508f, -0.016455f, 0.024218f, 0.051217f, -0.020615f, -0.032123f, 0.015844f, - -0.012995f, 0.035128f, 0.042571f, 0.022276f, -0.007058f, 0.027708f, -0.018316f, -0.015460f, 0.035651f, 0.050950f, -0.056442f, 0.005651f, 0.007723f, 0.010548f, -0.019518f, -0.000209f, 0.021916f, -0.055322f, 0.016316f, 0.034123f, 0.011750f, -0.023958f, -0.007625f, 0.041673f, 0.032475f, 0.012219f, -0.019792f, -0.023693f, -0.049602f, 0.070918f, 0.011840f, 0.037081f, -0.006024f, -0.013568f, 0.006957f, 0.022152f, -0.000235f, 0.000197f, -0.057720f, 0.010143f, 0.052550f, -0.008193f, 0.050242f, -0.029384f, -0.015000f, -0.020031f, 0.010682f, 0.049752f, -0.016649f, 0.000113f, 0.042025f, 0.054876f, -0.019330f, -0.037392f, -0.037080f, -0.028713f, 0.027412f, 0.018318f, 0.047543f, -0.015194f, 0.034677f, -0.018995f, -0.006175f, 0.030128f, -0.000148f, 0.041460f, -0.050661f, 0.031007f, 0.006733f, 0.013013f, -0.019914f, 0.014254f, 0.039237f, 0.073340f, -0.016450f, 0.017510f, -0.000314f, -0.051152f, 0.046195f, 0.003010f, 0.018465f, -0.010724f, -0.022567f, -0.010349f, -0.001267f, -0.021035f, -0.011488f, 0.061634f, 0.005035f, 0.022496f, -0.017589f, 0.043009f, 0.000814f, 0.019768f, 0.009777f, -0.028461f, - -0.005070f, -0.018455f, 0.001026f, 0.005834f, 0.053740f, 0.024692f, 0.002790f, 0.003840f, -0.001330f, -0.006984f, 0.009294f, 0.002648f, 0.033918f, 0.024371f, 0.014292f, -0.018706f, 0.023820f, 0.045702f, -0.045211f, 0.039596f, 0.007669f, 0.009679f, -0.045243f, -0.025156f, -0.056942f, -0.050106f, -0.007970f, 0.027929f, 0.027591f, -0.083658f, 0.001339f, -0.039250f, 0.021589f, 0.077996f, 0.043838f, -0.051944f, 0.033406f, 0.020115f, 0.026929f, -0.068360f, -0.102909f, -0.028010f, -0.010888f, -0.026567f, 0.006542f, 0.034039f, -0.035792f, 0.051832f, 0.020071f, -0.077068f, -0.057651f, -0.012684f, 0.042349f, 0.000520f, 0.004198f, -0.008942f, -0.023425f, -0.074633f, 0.003707f, -0.062855f, -0.050614f, 0.024171f, 0.020586f, 0.017234f, -0.008057f, -0.024946f, 0.056398f, 0.032527f, -0.023133f, -0.049182f, 0.037378f, 0.017735f, 0.009176f, -0.023578f, -0.056060f, 0.020650f, -0.026110f, 0.007671f, -0.047758f, 0.057749f, 0.001801f, -0.024176f, 0.006016f, 0.014046f, 0.048528f, 0.029548f, -0.012158f, -0.002978f, 0.017060f, 0.016239f, 0.018698f, -0.011386f, -0.075465f, -0.059668f, 0.011986f, -0.008333f, - 0.044105f, -0.008482f, -0.019118f, -0.053090f, 0.061664f, 0.024164f, -0.043407f, -0.043786f, 0.063147f, 0.060592f, -0.000990f, 0.045241f, -0.006187f, 0.003764f, -0.018305f, -0.007821f, -0.034095f, 0.005276f, 0.036886f, 0.003052f, -0.025131f, -0.066387f, 0.104375f, 0.002101f, -0.079837f, -0.006600f, -0.029403f, 0.013064f, 0.040370f, 0.035683f, -0.044192f, -0.072258f, 0.012760f, -0.034865f, 0.011450f, -0.007534f, 0.032137f, -0.010927f, 0.005037f, 0.018239f, -0.028788f, -0.036489f, 0.004316f, 0.008869f, 0.031836f, -0.001288f, -0.049573f, 0.032375f, -0.027412f, 0.025311f, -0.023751f, -0.017131f, -0.002194f, -0.008559f, -0.053314f, 0.009498f, 0.015603f, -0.052709f, 0.022590f, -0.021116f, 0.011004f, -0.018042f, 0.050893f, 0.038492f, -0.050140f, -0.027632f, 0.035254f, 0.042691f, -0.051297f, 0.067779f, 0.005077f, 0.054399f, 0.040742f, 0.064300f, -0.019480f, -0.028498f, 0.015305f, -0.054945f, 0.008955f, 0.005865f, 0.095605f, -0.030448f, -0.088448f, 0.149460f, -0.070378f, -0.055924f, 0.087590f, 0.037910f, -0.049854f, 0.082967f, 0.010207f, -0.070028f, 0.086372f, -0.092971f, 0.012412f, 0.028551f, - -0.070687f, 0.032637f, 0.018028f, -0.024063f, -0.007546f, -0.000692f, -0.017742f, -0.005099f, -0.010629f, -0.030724f, 0.000314f, -0.015042f, -0.004017f, -0.007114f, 0.014649f, 0.056445f, 0.046169f, -0.042521f, -0.005380f, 0.059389f, -0.010938f, -0.010426f, -0.060796f, 0.007579f, 0.019057f, -0.009193f, 0.050531f, 0.123511f, -0.042074f, -0.051102f, 0.086684f, -0.005149f, -0.047988f, 0.055289f, 0.035064f, -0.027585f, -0.043289f, -0.051617f, 0.014988f, 0.028860f, -0.024372f, 0.083209f, 0.052653f, -0.101984f, -0.099854f, 0.058353f, -0.047734f, -0.059264f, 0.076582f, 0.013445f, 0.102865f, 0.051032f, -0.014365f, -0.013100f, -0.077219f, -0.057778f, 0.169403f, 0.048347f, -0.039149f, -0.081975f, -0.000358f, -0.032787f, -0.077187f, -0.010528f, 0.083268f, 0.037933f, -0.003121f, 0.072395f, 0.057360f, -0.019062f, -0.086002f, 0.012762f, 0.039255f, -0.018614f, 0.094910f, 0.075532f, -0.018773f, 0.053140f, 0.007644f, -0.044592f, 0.029342f, 0.045129f, 0.017712f, 0.018459f, -0.059521f, -0.014398f, 0.009275f, 0.010587f, -0.006974f, -0.055400f, -0.017162f, 0.017423f, -0.010883f, -0.007581f, -0.043100f, 0.067617f, - 0.010934f, -0.059290f, 0.034765f, 0.079679f, -0.039809f, -0.026524f, 0.014310f, 0.024918f, -0.023911f, -0.053444f, 0.046566f, 0.072165f, -0.003413f, -0.031319f, 0.012244f, 0.018849f, 0.036492f, 0.045340f, 0.005878f, 0.084300f, 0.000891f, -0.098789f, 0.003670f, -0.013292f, 0.034470f, -0.012614f, -0.075619f, -0.004798f, -0.030771f, -0.035945f, 0.050635f, 0.021989f, 0.030474f, 0.030942f, -0.066893f, -0.040102f, -0.008530f, -0.004346f, 0.032573f, -0.002662f, -0.010099f, -0.001987f, -0.019535f, -0.052470f, 0.009656f, 0.069916f, -0.033006f, 0.001525f, -0.023811f, -0.028041f, 0.058148f, -0.071282f, 0.007888f, 0.015772f, -0.009225f, -0.011078f, -0.079542f, -0.116634f, -0.101338f, 0.204123f, 0.196730f, 0.194223f, 0.552993f, 0.194635f, -0.022485f, 0.034508f, -0.381967f, -0.467425f, -0.156441f, -0.263368f, -0.362156f, 0.044113f, -0.020535f, -0.063181f, 0.397912f, 0.240446f, 0.100788f, 0.619356f, 0.292811f, 0.051078f, 0.282545f, -0.070782f, -0.340066f, -0.327997f, -0.310611f, -0.432107f, -0.421090f, -0.102662f, -0.153451f, -0.251312f, 0.285836f, 0.127954f, -0.106453f, 0.411150f, 0.131508f, -0.054291f, - 0.467375f, 0.423022f, 0.095196f, 0.438828f, 0.447559f, -0.023871f, 0.107792f, 0.044110f, -0.439294f, -0.511932f, -0.380903f, -0.718178f, -0.678274f, -0.412559f, -0.545771f, -0.415123f, 0.038992f, 0.323505f, 0.370826f, 0.802518f, 0.731039f, 0.640207f, 0.693107f, 0.505114f, 0.252380f, 0.065739f, -0.069184f, -0.412250f, -0.491157f, -0.529252f, -0.591486f, -0.566764f, -0.482971f, -0.322901f, -0.235435f, -0.231873f, 0.044245f, 0.151184f, 0.139509f, 0.037178f} - }, - { - {0.004483f, 0.000450f, 0.005038f, -0.005236f, -0.008966f, -0.000363f, -0.006137f, -0.000559f, -0.001617f, -0.014172f, -0.011481f, -0.002036f, -0.004621f, 0.005652f, -0.002490f, 0.002602f, 0.003160f, 0.001222f, -0.002197f, -0.000082f, -0.005336f, 0.000321f, 0.005810f, 0.003438f, -0.002742f, 0.000153f, 0.003075f, -0.007659f, -0.002381f, 0.000583f, 0.003113f, -0.003223f, -0.007313f, -0.001907f, -0.007217f, 0.001098f, -0.003060f, -0.003042f, 0.003423f, -0.003806f, 0.002888f, 0.001527f, 0.001916f, -0.005876f, 0.001814f, 0.000347f, 0.003129f, -0.005072f, 0.002962f, 0.002324f, 0.004674f, -0.001255f, 0.005972f, 0.002901f, 0.006067f, 0.003402f, -0.004883f, -0.002553f, 0.011785f, 0.001404f, -0.001600f, 0.000823f, -0.000097f, 0.006905f, 0.000223f, -0.003881f, -0.001887f, 0.007976f, -0.003527f, -0.001704f, -0.008453f, -0.000868f, -0.003145f, 0.003394f, -0.000705f, -0.000875f, -0.003615f, -0.007178f, 0.026073f, 0.013275f, 0.011672f, 0.005963f, -0.002420f, -0.001182f, -0.002339f, -0.005743f, -0.007146f, -0.005656f, -0.007318f, -0.003618f, 0.007500f, 0.002048f, -0.000120f, -0.000438f, 0.004989f, 0.001764f, - -0.002761f, -0.003684f, -0.002203f, -0.013890f, 0.005781f, 0.000925f, 0.000339f, -0.003265f, 0.001940f, -0.000274f, -0.003522f, 0.001410f, 0.005091f, -0.000562f, -0.005961f, -0.002120f, -0.002492f, -0.003430f, 0.000902f, 0.005308f, -0.001393f, 0.000777f, -0.006891f, 0.003865f, -0.008554f, 0.004861f, 0.001327f, -0.000362f, 0.000160f, 0.004778f, -0.006573f, -0.005689f, -0.008999f, 0.001625f, 0.001691f, -0.000374f, 0.005226f, -0.006458f, 0.001247f, -0.001678f, 0.000179f, -0.005048f, 0.003615f, 0.000608f, -0.002990f, 0.004481f, -0.008901f, 0.002883f, -0.004845f, 0.007770f, 0.004179f, 0.000134f, 0.000733f, -0.003477f, -0.010940f, 0.006536f, -0.002191f, 0.024142f, 0.012182f, 0.015605f, 0.004865f, 0.005008f, -0.000466f, 0.005833f, 0.001130f, 0.005136f, -0.003645f, 0.010443f, -0.002287f, -0.012893f, -0.002932f, -0.000191f, 0.001167f, -0.004397f, 0.010031f, 0.000084f, 0.004219f, 0.008780f, 0.005009f, -0.000336f, 0.000486f, 0.001757f, -0.007911f, -0.006006f, 0.003852f, 0.003574f, -0.002550f, 0.000439f, 0.004631f, -0.008786f, 0.012291f, -0.001648f, 0.002261f, -0.002308f, 0.004902f, 0.005630f, - 0.000841f, -0.006824f, -0.005968f, 0.012325f, 0.000834f, -0.004177f, 0.000014f, 0.006907f, 0.005999f, -0.004250f, -0.004556f, -0.011717f, -0.002919f, -0.005078f, 0.001055f, -0.004636f, 0.001603f, -0.011412f, -0.003862f, 0.000793f, -0.003836f, 0.001923f, 0.005055f, -0.002714f, 0.000369f, 0.001564f, -0.002089f, 0.003786f, 0.000413f, 0.004881f, 0.000852f, -0.002421f, -0.005421f, 0.000149f, -0.006770f, 0.001924f, 0.001580f, 0.005563f, -0.016970f, -0.004993f, -0.004163f, 0.003254f, 0.002887f, -0.010983f, -0.005481f, -0.001885f, 0.002326f, 0.006396f, 0.001498f, 0.008635f, -0.007232f, -0.009504f, 0.002449f, 0.000700f, -0.002187f, -0.006394f, 0.021506f, -0.000777f, 0.005407f, 0.001678f, 0.000251f, -0.000124f, -0.003818f, -0.007965f, -0.006991f, -0.001676f, 0.005147f, -0.004282f, 0.011016f, -0.003510f, -0.001546f, -0.009029f, -0.011685f, -0.000581f, -0.007641f, -0.003586f, 0.014759f, -0.007957f, -0.002841f, -0.007710f, 0.002426f, 0.000785f, -0.003502f, -0.008112f, -0.002206f, 0.000481f, -0.010273f, 0.001556f, -0.005836f, 0.008157f, 0.004423f, -0.004021f, -0.003066f, -0.002022f, 0.001635f, 0.000026f, - 0.005363f, -0.002718f, -0.004869f, -0.003673f, 0.013030f, 0.013062f, -0.005290f, -0.011612f, 0.000573f, 0.004268f, -0.001585f, 0.004102f, -0.006403f, 0.001558f, -0.007484f, 0.004760f, -0.001892f, 0.013923f, 0.002777f, -0.054210f, -0.009193f, -0.015364f, -0.018194f, 0.005163f, -0.006392f, -0.015145f, -0.013211f, 0.002528f, -0.013020f, 0.002179f, 0.018535f, -0.004309f, 0.007754f, 0.006537f, 0.015573f, 0.004539f, -0.011449f, 0.002951f, 0.016953f, -0.007666f, 0.008257f, -0.012349f, -0.012005f, 0.004252f, 0.004598f, 0.014051f, 0.000426f, -0.007889f, 0.007521f, -0.005131f, 0.005677f, -0.000221f, 0.008193f, -0.006784f, -0.005125f, -0.007611f, -0.000307f, 0.002003f, -0.003607f, 0.006782f, -0.014770f, 0.002407f, 0.013999f, 0.003714f, -0.004572f, 0.006171f, -0.007884f, -0.003118f, -0.018613f, -0.004706f, -0.001148f, 0.003517f, -0.000275f, 0.010439f, -0.015148f, 0.002167f, -0.002661f, 0.008116f, 0.003190f, -0.001962f, 0.009559f, -0.008172f, -0.002099f, -0.006308f, -0.014945f, -0.004816f, -0.004338f, -0.002769f, 0.009182f, -0.008071f, -0.016674f, 0.002148f, 0.002920f, 0.000420f, -0.027160f, 0.015499f, - 0.017440f, -0.000936f, 0.009782f, 0.004465f, 0.020600f, 0.027411f, 0.003506f, 0.003598f, 0.007847f, 0.003417f, 0.004539f, -0.003882f, 0.005403f, -0.004504f, 0.007178f, 0.008399f, -0.023500f, 0.012182f, -0.002607f, -0.004333f, -0.007300f, -0.009486f, 0.003795f, 0.006695f, 0.010638f, 0.002113f, 0.001764f, -0.013676f, 0.000538f, -0.003964f, -0.004647f, -0.001988f, 0.001757f, 0.000840f, -0.001132f, 0.013532f, -0.000792f, -0.004407f, 0.004353f, -0.005162f, 0.006800f, 0.009192f, 0.010069f, 0.005393f, 0.000992f, -0.005553f, 0.011242f, 0.003749f, 0.001389f, 0.001347f, 0.001345f, 0.001002f, -0.006745f, -0.009062f, 0.008246f, -0.008398f, 0.007882f, 0.007649f, 0.005212f, -0.000857f, -0.006314f, 0.005910f, 0.006949f, 0.016374f, 0.007110f, 0.006580f, 0.003485f, -0.014831f, -0.005035f, 0.002826f, -0.002809f, 0.007918f, -0.013773f, 0.002477f, 0.050249f, 0.015278f, 0.003618f, 0.009937f, 0.025058f, 0.010226f, 0.030233f, 0.007511f, -0.006818f, -0.002108f, -0.002674f, -0.002835f, 0.008101f, 0.013064f, -0.006185f, 0.002843f, 0.008923f, -0.003328f, -0.012766f, 0.010060f, -0.001343f, 0.004794f, - -0.004458f, -0.006310f, 0.010149f, 0.002420f, -0.001118f, -0.002928f, -0.011667f, -0.005685f, 0.006045f, 0.001553f, -0.004137f, -0.002032f, 0.001554f, 0.004304f, 0.011370f, 0.003624f, -0.010851f, -0.002484f, 0.000491f, -0.003394f, 0.003633f, 0.005428f, -0.010942f, -0.013027f, -0.000959f, 0.003182f, -0.001584f, 0.009942f, -0.018692f, -0.004008f, -0.008595f, -0.010492f, -0.001354f, -0.000903f, 0.002518f, 0.009795f, -0.000310f, 0.001380f, 0.002988f, -0.001715f, 0.012991f, 0.008306f, -0.011044f, -0.009626f, 0.007029f, 0.015873f, -0.001591f, -0.007598f, 0.015556f, 0.008228f, 0.003411f, -0.007061f, 0.024022f, 0.012670f, 0.021547f, -0.006851f, -0.000535f, -0.005018f, 0.021682f, -0.022433f, -0.004024f, 0.006519f, -0.005185f, -0.003967f, 0.006720f, -0.002004f, -0.007912f, 0.020241f, 0.010292f, 0.002826f, 0.032385f, -0.008532f, -0.003076f, -0.006499f, -0.000633f, 0.006011f, -0.009487f, -0.000593f, -0.005386f, 0.013179f, -0.011682f, 0.003339f, -0.000240f, -0.002898f, 0.000142f, 0.007913f, 0.004037f, -0.009645f, -0.018676f, 0.000846f, 0.002509f, 0.014987f, 0.015949f, 0.017421f, 0.000361f, -0.009428f, - 0.011011f, -0.029336f, -0.006171f, -0.011316f, -0.018624f, 0.012426f, -0.005370f, -0.005289f, 0.007973f, -0.003136f, -0.006593f, 0.026184f, -0.001300f, -0.007415f, 0.007326f, 0.000898f, 0.005061f, 0.005226f, 0.001446f, 0.015824f, -0.011502f, -0.005710f, -0.001348f, -0.013484f, -0.002614f, 0.002465f, -0.006238f, 0.004423f, 0.004503f, 0.016136f, -0.010206f, 0.004794f, 0.008657f, 0.005455f, -0.038695f, -0.057715f, -0.009918f, 0.003062f, -0.001146f, 0.001808f, -0.002837f, -0.011391f, -0.006654f, -0.009022f, -0.002587f, 0.009660f, 0.011150f, -0.009935f, -0.015100f, 0.013133f, 0.002617f, -0.007969f, 0.000642f, -0.001070f, -0.009182f, -0.007377f, 0.021364f, 0.011200f, -0.011456f, 0.006178f, 0.002463f, 0.009494f, -0.011073f, 0.012771f, -0.012302f, 0.008906f, 0.005681f, -0.002226f, -0.005646f, 0.005914f, -0.022943f, -0.011044f, 0.014336f, 0.023228f, 0.012860f, -0.015504f, 0.000613f, -0.010849f, 0.015423f, 0.003610f, 0.004230f, 0.001567f, -0.012157f, 0.006568f, 0.018910f, 0.002612f, 0.014424f, 0.010459f, 0.006867f, 0.011271f, 0.023234f, -0.005749f, -0.022365f, 0.011681f, 0.000650f, -0.004830f, - 0.001805f, 0.020295f, -0.007347f, -0.013057f, 0.007468f, -0.002984f, -0.001511f, -0.004526f, -0.002191f, -0.005495f, -0.009761f, -0.004723f, 0.014177f, -0.017410f, -0.010284f, 0.002745f, -0.022466f, -0.014339f, 0.003560f, 0.003728f, 0.029483f, -0.025811f, -0.017983f, -0.009891f, -0.005138f, -0.003098f, 0.009366f, 0.009388f, -0.013990f, 0.014217f, -0.003526f, 0.006481f, -0.010159f, 0.021116f, -0.004360f, -0.007892f, 0.013341f, 0.009840f, 0.007642f, -0.014320f, -0.013754f, 0.017804f, -0.009620f, 0.005217f, 0.004068f, -0.006525f, 0.014857f, 0.004518f, -0.000310f, 0.003249f, 0.010825f, 0.014124f, 0.004102f, -0.012872f, 0.002657f, -0.018328f, 0.010513f, 0.004467f, -0.020567f, 0.014078f, 0.003059f, -0.010891f, 0.018292f, 0.005508f, -0.005300f, 0.010375f, -0.001939f, 0.019985f, -0.004930f, -0.005735f, -0.004567f, -0.003373f, 0.026491f, 0.004847f, 0.000301f, 0.006354f, -0.022536f, -0.015056f, -0.015292f, 0.000446f, 0.014221f, 0.000449f, 0.017741f, -0.024483f, -0.009077f, -0.016547f, -0.012874f, 0.030549f, -0.002500f, 0.008273f, 0.010087f, -0.030337f, 0.009662f, -0.013174f, 0.007599f, -0.009285f, - 0.024580f, 0.003854f, -0.016731f, 0.002445f, -0.017055f, 0.013857f, 0.027162f, -0.023115f, 0.015440f, 0.005393f, -0.000350f, 0.010875f, 0.028955f, -0.011135f, 0.000309f, 0.008576f, -0.030909f, 0.001664f, 0.014574f, -0.008848f, 0.010556f, 0.010950f, -0.005329f, 0.027912f, -0.013598f, -0.025499f, -0.010521f, 0.002941f, 0.001082f, -0.005296f, -0.010527f, 0.007556f, 0.007507f, -0.000067f, -0.017430f, -0.004259f, -0.004079f, 0.011886f, -0.007365f, 0.047001f, -0.005443f, 0.006711f, -0.001678f, -0.002008f, -0.022324f, 0.002350f, 0.017442f, 0.013718f, 0.046408f, -0.004893f, -0.003896f, -0.009444f, -0.001248f, -0.012840f, -0.000400f, 0.018492f, -0.009201f, -0.001789f, 0.003942f, 0.004472f, 0.018710f, 0.014867f, 0.004796f, 0.035679f, -0.006084f, -0.032723f, -0.032314f, -0.023065f, -0.004225f, 0.010474f, -0.002856f, -0.009050f, 0.053769f, -0.038876f, -0.029044f, -0.009723f, -0.018326f, -0.021555f, 0.026063f, 0.010064f, 0.005261f, -0.008676f, -0.005172f, 0.030922f, -0.009186f, -0.013859f, -0.037764f, -0.006115f, -0.001061f, 0.017058f, 0.006380f, -0.008436f, 0.002086f, 0.014754f, 0.006760f, 0.008855f, - 0.023773f, 0.029325f, 0.007992f, -0.012299f, 0.007333f, -0.019268f, 0.011938f, 0.009064f, -0.007099f, -0.000606f, -0.014749f, 0.004398f, -0.000349f, -0.028685f, 0.025821f, -0.003845f, -0.013264f, 0.014898f, -0.026221f, -0.007469f, 0.026774f, 0.014141f, -0.001466f, -0.000779f, -0.036207f, 0.010361f, 0.018266f, 0.009117f, 0.005109f, -0.004085f, -0.027331f, -0.078231f, -0.007662f, 0.013020f, 0.019613f, -0.004577f, -0.024123f, 0.034688f, -0.019371f, 0.014075f, 0.026248f, 0.020091f, 0.002028f, 0.024677f, 0.000702f, 0.006051f, 0.003252f, 0.012589f, 0.000390f, 0.000035f, 0.032798f, -0.019048f, -0.011205f, 0.025283f, 0.026881f, -0.008172f, -0.011577f, -0.003975f, -0.006233f, 0.027816f, 0.020474f, -0.052513f, -0.004143f, 0.002670f, -0.022500f, 0.008014f, -0.033491f, 0.025063f, 0.007882f, -0.005604f, 0.015960f, 0.005725f, -0.005902f, -0.013222f, -0.007125f, 0.036034f, 0.002947f, -0.001763f, 0.009733f, -0.006541f, 0.016461f, 0.042749f, 0.019434f, -0.007897f, -0.006391f, -0.007922f, 0.027012f, 0.007688f, 0.027322f, 0.016537f, 0.014323f, 0.006091f, -0.009916f, -0.013778f, 0.012921f, -0.027577f, - 0.005825f, -0.015246f, -0.010339f, -0.000384f, 0.019418f, 0.001302f, 0.002725f, 0.005298f, -0.004468f, 0.029169f, 0.040525f, 0.043905f, 0.000939f, 0.019504f, -0.025616f, 0.009353f, 0.016518f, -0.013133f, 0.023863f, -0.019104f, -0.035720f, 0.004202f, -0.018415f, -0.003378f, 0.002347f, -0.019756f, 0.005329f, 0.026550f, -0.015968f, -0.015420f, 0.013215f, 0.025680f, -0.001938f, -0.006014f, -0.031006f, 0.057114f, 0.004468f, 0.014225f, 0.045101f, -0.017227f, 0.005317f, -0.009319f, 0.012464f, -0.013657f, 0.013561f, -0.032078f, -0.036205f, -0.002044f, -0.021133f, -0.002607f, -0.001282f, -0.003434f, -0.005489f, 0.001395f, -0.009496f, 0.008247f, -0.028639f, -0.012767f, -0.038902f, -0.003047f, 0.009852f, 0.017952f, 0.043585f, 0.022650f, 0.008163f, 0.004340f, 0.013060f, 0.008333f, 0.007991f, 0.016101f, 0.018897f, -0.006993f, -0.035464f, -0.037202f, -0.023863f, -0.016047f, 0.004373f, 0.010734f, -0.012495f, -0.022490f, -0.035977f, -0.000432f, -0.013257f, 0.031985f, -0.014172f, 0.006791f, -0.024716f, -0.014033f, -0.003676f, -0.012310f, -0.048494f, -0.053287f, 0.014883f, 0.003196f, 0.002129f, 0.024125f, - 0.015818f, 0.018759f, 0.017815f, -0.034578f, -0.006205f, 0.057180f, -0.010395f, -0.025856f, 0.009487f, -0.016770f, 0.006712f, -0.041179f, 0.015494f, -0.022047f, 0.007900f, 0.035254f, 0.025310f, 0.004252f, 0.026926f, -0.004396f, -0.012261f, 0.016037f, -0.022148f, -0.040709f, -0.062947f, 0.005960f, 0.000363f, 0.024722f, 0.016544f, -0.022383f, -0.012834f, -0.059864f, -0.005102f, -0.027512f, 0.005520f, -0.013510f, -0.007875f, -0.010980f, -0.005624f, -0.004056f, -0.022212f, -0.008812f, -0.025732f, 0.020210f, -0.006174f, 0.017379f, 0.042111f, -0.022297f, 0.011149f, -0.002940f, -0.012166f, 0.011797f, -0.024665f, -0.038886f, 0.017461f, 0.009885f, 0.017300f, 0.012400f, -0.084355f, -0.036954f, 0.009332f, -0.026936f, -0.004106f, -0.022923f, 0.032771f, 0.042315f, -0.003988f, 0.046718f, 0.004460f, 0.021572f, -0.008242f, -0.000881f, -0.028063f, 0.016997f, 0.030909f, 0.007914f, 0.052915f, 0.002036f, 0.004871f, -0.015527f, -0.027388f, 0.033671f, 0.048813f, 0.019076f, 0.006501f, 0.006123f, 0.015637f, 0.002813f, -0.000876f, -0.047455f, -0.033240f, -0.015199f, -0.061420f, -0.074756f, -0.056819f, -0.024797f, - 0.016316f, 0.000283f, -0.014105f, -0.026831f, -0.000767f, 0.050614f, 0.023582f, -0.042850f, -0.008013f, -0.008266f, -0.031658f, -0.004754f, 0.001428f, 0.021719f, 0.014602f, -0.031809f, 0.022517f, -0.017665f, 0.009055f, -0.016418f, 0.004308f, -0.024234f, -0.010203f, 0.013026f, -0.045931f, -0.007942f, -0.017888f, 0.015441f, -0.012130f, -0.040976f, 0.048018f, 0.047819f, -0.000308f, -0.018479f, 0.025701f, -0.063198f, -0.020962f, 0.019536f, -0.022464f, -0.013040f, -0.002677f, -0.020140f, 0.003029f, -0.004881f, -0.043838f, 0.018723f, -0.006575f, -0.012825f, -0.015796f, -0.011048f, -0.003898f, -0.011549f, -0.019411f, 0.035523f, -0.018251f, -0.016847f, 0.015413f, -0.000695f, 0.056625f, -0.012106f, -0.037830f, 0.019892f, -0.020812f, -0.017150f, -0.030442f, 0.017797f, 0.033108f, -0.072727f, 0.001781f, 0.054628f, -0.016146f, -0.048535f, 0.096253f, 0.067405f, -0.000513f, -0.018893f, 0.015969f, -0.057915f, 0.001797f, 0.070628f, -0.011685f, -0.025384f, 0.002079f, 0.080177f, -0.010617f, 0.017166f, -0.016195f, -0.037069f, -0.028518f, -0.007994f, -0.012438f, 0.014381f, 0.021750f, 0.000640f, -0.029251f, -0.043019f, - -0.037964f, -0.006767f, -0.007372f, -0.021542f, 0.021061f, 0.015595f, -0.015779f, -0.021276f, -0.021398f, 0.012441f, 0.005913f, 0.015391f, 0.041880f, -0.000597f, -0.032879f, 0.023065f, 0.010884f, 0.007567f, 0.004184f, -0.000980f, -0.014809f, 0.029542f, 0.017186f, -0.012297f, -0.012295f, -0.009810f, -0.037098f, 0.010452f, 0.030867f, 0.008346f, -0.025159f, 0.031700f, 0.025912f, 0.012846f, 0.006079f, -0.017343f, 0.011460f, -0.056391f, 0.011500f, -0.004131f, 0.052734f, -0.018698f, -0.021582f, 0.009557f, -0.009623f, -0.002395f, -0.032587f, -0.008455f, -0.006102f, 0.045240f, -0.027801f, -0.065216f, -0.024369f, 0.090377f, 0.003946f, 0.014719f, -0.014772f, -0.030094f, -0.039639f, -0.013562f, 0.011741f, 0.026264f, 0.022461f, -0.019537f, 0.000375f, -0.040355f, -0.014119f, 0.014040f, -0.033174f, -0.018409f, -0.012184f, 0.048639f, 0.026206f, 0.026614f, 0.026167f, -0.028736f, 0.005971f, 0.009924f, 0.012380f, -0.003138f, 0.033913f, -0.007705f, 0.015488f, 0.025163f, 0.010835f, 0.006612f, 0.022750f, 0.029187f, -0.016352f, -0.035581f, 0.024642f, -0.004476f, 0.001473f, -0.037713f, -0.032925f, 0.007064f, - -0.015615f, -0.014335f, 0.031944f, -0.032204f, 0.041837f, 0.024596f, -0.015705f, 0.019682f, -0.021202f, -0.025158f, -0.026157f, 0.039512f, -0.026266f, 0.010981f, 0.015551f, -0.049642f, 0.007760f, 0.002758f, -0.033682f, -0.067537f, -0.053412f, 0.038138f, -0.038543f, -0.005322f, -0.033438f, -0.014502f, -0.021353f, -0.009237f, 0.025886f, 0.002066f, -0.018045f, 0.016906f, 0.049204f, 0.048789f, 0.047725f, -0.016967f, 0.000417f, -0.038470f, -0.001744f, 0.008271f, 0.006806f, -0.033527f, -0.037508f, -0.056189f, 0.039521f, 0.006029f, 0.013230f, -0.007523f, 0.020846f, -0.013744f, -0.015979f, 0.014242f, 0.030419f, 0.009563f, 0.020056f, 0.064929f, -0.009000f, -0.035049f, -0.079890f, -0.008632f, -0.030622f, -0.012314f, -0.018606f, -0.034140f, -0.025582f, -0.052354f, -0.005680f, 0.002499f, 0.020390f, 0.061137f, -0.046847f, -0.014771f, -0.006596f, 0.022752f, 0.021892f, 0.061152f, 0.009457f, -0.060910f, -0.013062f, 0.017873f, 0.053134f, 0.018115f, -0.076564f, -0.026680f, 0.074137f, 0.011758f, 0.074261f, -0.036405f, 0.005606f, 0.011442f, 0.046817f, 0.002195f, 0.043340f, 0.065763f, 0.012909f, 0.057224f, - 0.040276f, 0.016027f, 0.075201f, 0.067461f, 0.025690f, 0.101313f, 0.078458f, 0.054018f, -0.066629f, 0.005356f, 0.039298f, 0.028236f, 0.011066f, -0.042327f, -0.049944f, -0.020856f, 0.017395f, -0.055329f, 0.058971f, -0.027531f, 0.040050f, 0.014015f, -0.042119f, 0.003240f, 0.032951f, -0.021726f, -0.044012f, 0.028521f, -0.008702f, 0.023973f, -0.011734f, 0.003668f, 0.015742f, -0.032992f, 0.001143f, -0.016268f, 0.004120f, -0.051750f, -0.033427f, 0.044379f, 0.007116f, 0.016272f, -0.032329f, 0.035933f, 0.039736f, -0.028730f, 0.027280f, -0.040390f, -0.002786f, -0.023657f, 0.032891f, 0.064963f, 0.004368f, 0.079446f, -0.015009f, -0.006044f, 0.009693f, 0.006346f, 0.000320f, -0.047968f, 0.086194f, 0.050539f, -0.000102f, 0.042330f, 0.040616f, 0.044173f, -0.010912f, -0.002278f, -0.074945f, 0.035802f, 0.044971f, -0.011396f, -0.007213f, 0.050440f, 0.033737f, 0.026638f, 0.070291f, 0.010706f, -0.025717f, -0.038800f, 0.018736f, -0.011357f, -0.040160f, 0.040355f, -0.047896f, 0.004653f, 0.017803f, -0.035276f, -0.055786f, -0.036385f, -0.013661f, 0.010557f, 0.040304f, -0.064906f, 0.035266f, 0.064399f, - -0.004989f, 0.073624f, 0.017298f, -0.057040f, -0.041285f, -0.001120f, -0.025043f, -0.033292f, 0.035115f, 0.049318f, -0.008382f, 0.035411f, 0.038832f, -0.030235f, 0.026176f, 0.054941f, -0.007200f, -0.065792f, 0.023132f, 0.001584f, -0.017910f, 0.022685f, 0.048193f, -0.013193f, -0.030610f, 0.016380f, -0.027234f, -0.026557f, -0.006413f, 0.049548f, 0.034944f, -0.061863f, 0.016382f, 0.031498f, -0.048361f, -0.024535f, 0.048484f, -0.010898f, -0.081636f, -0.006303f, 0.060184f, -0.017591f, -0.116043f, 0.120370f, -0.037982f, -0.009872f, -0.062406f, 0.079088f, 0.019681f, -0.022334f, 0.049905f, -0.028570f, -0.029220f, -0.010322f, 0.135303f, 0.050739f, -0.064152f, -0.048124f, 0.048417f, -0.008453f, 0.072802f, 0.005623f, 0.053021f, -0.076695f, 0.058641f, 0.116268f, 0.004066f, -0.007034f, -0.026662f, -0.013959f, -0.052383f, 0.111821f, 0.061162f, -0.053253f, 0.049920f, 0.115658f, 0.021825f, -0.044086f, -0.011055f, -0.010461f, 0.019770f, 0.017804f, -0.036398f, -0.050823f, 0.013266f, -0.042937f, 0.008225f, -0.026551f, -0.031475f, -0.006288f, 0.004876f, 0.015190f, -0.035011f, -0.013529f, -0.014095f, -0.042651f, - 0.035809f, -0.013109f, 0.001999f, -0.005953f, -0.029072f, 0.011845f, 0.007796f, 0.001427f, -0.006488f, 0.000736f, -0.001308f, -0.016602f, -0.036819f, 0.016032f, -0.018371f, 0.016238f, 0.010974f, -0.036221f, -0.029763f, -0.003037f, -0.004381f, -0.003866f, -0.007953f, 0.030087f, -0.020686f, 0.003298f, -0.038864f, 0.033376f, -0.038038f, -0.019963f, 0.018983f, 0.000676f, -0.030391f, 0.024349f, -0.040848f, 0.003185f, 0.012566f, -0.001067f, 0.004767f, 0.019632f, 0.009677f, -0.042312f, 0.021810f, 0.002931f, -0.024997f, 0.036196f, 0.014861f, -0.040072f, -0.003747f, -0.031706f, -0.003588f, 0.013892f, 0.010926f, -0.038431f, 0.047933f, -0.068669f, -0.086865f, -0.031233f, 0.260226f, 0.209114f, 0.137796f, 0.252749f, -0.100942f, -0.238579f, -0.077313f, -0.385813f, -0.151221f, 0.011056f, -0.091326f, 0.177119f, 0.240952f, 0.039578f, 0.152788f, 0.264029f, 0.004743f, 0.072675f, -0.018262f, -0.310564f, -0.257921f, -0.194289f, -0.193946f, -0.095307f, 0.145982f, 0.078728f, 0.112604f, 0.323674f, 0.136065f, 0.019543f, 0.192592f, 0.089557f, -0.112773f, 0.037095f, -0.094959f, -0.315435f, -0.077511f, -0.165349f, - -0.325988f, -0.054989f, 0.005431f, -0.080446f, 0.217026f, 0.251640f, 0.097437f, 0.295985f, 0.298575f, 0.054444f, 0.113326f, 0.050269f, -0.193355f, -0.215615f, -0.203002f, -0.361783f, -0.321079f, -0.123779f, -0.151391f, 0.027960f, 0.188110f, 0.259978f, 0.212875f, 0.332560f, 0.244165f, 0.129319f, 0.012088f, -0.047525f, -0.201804f, -0.243048f, -0.183940f, -0.215705f, -0.185124f, -0.017149f, -0.025625f, 0.029877f, 0.137746f, 0.027719f, 0.013208f}, - {0.003131f, 0.003353f, 0.003924f, -0.004476f, -0.007269f, 0.001223f, 0.005007f, -0.003315f, 0.003393f, -0.011708f, -0.006448f, -0.006644f, 0.000567f, 0.001754f, -0.004859f, -0.006050f, 0.002573f, 0.006452f, 0.000301f, -0.003161f, -0.008681f, -0.004949f, 0.006813f, -0.001393f, 0.000323f, 0.003148f, -0.003515f, 0.002106f, -0.002584f, -0.004876f, -0.003358f, 0.006619f, -0.008552f, -0.004436f, -0.003740f, 0.008752f, 0.006041f, 0.005187f, 0.000609f, 0.002847f, -0.000365f, 0.005618f, 0.002026f, 0.002045f, -0.000029f, -0.000298f, 0.009601f, 0.007475f, -0.000026f, -0.006384f, 0.002025f, 0.001136f, 0.002985f, -0.009257f, -0.000343f, 0.006076f, 0.000484f, -0.001104f, 0.000682f, 0.002120f, -0.002249f, -0.001481f, -0.002771f, -0.003387f, -0.004831f, 0.002952f, 0.003481f, -0.006996f, -0.001474f, -0.000744f, 0.001964f, 0.002469f, -0.004323f, 0.002777f, 0.001921f, -0.001248f, -0.002079f, -0.009305f, 0.029184f, 0.011364f, 0.006989f, 0.002440f, -0.006354f, 0.000201f, 0.005479f, 0.010698f, -0.000002f, 0.001142f, 0.000469f, -0.003762f, 0.000878f, 0.003699f, -0.000880f, 0.003612f, 0.005251f, 0.007310f, - 0.002866f, 0.003057f, 0.003633f, 0.003463f, -0.006796f, 0.006811f, 0.012452f, -0.005902f, 0.003412f, 0.002063f, 0.003346f, 0.000727f, 0.007294f, -0.004797f, -0.001921f, -0.004315f, 0.004128f, 0.012580f, -0.002298f, 0.006132f, -0.000359f, -0.002777f, -0.010509f, 0.003906f, -0.005538f, 0.004796f, 0.002218f, 0.005347f, -0.000784f, -0.003168f, 0.001488f, -0.002181f, 0.006981f, 0.000939f, -0.005866f, 0.007282f, -0.001775f, 0.005677f, 0.004205f, -0.000242f, 0.004037f, 0.008180f, -0.002469f, -0.002908f, -0.002476f, 0.004034f, -0.003485f, -0.004488f, 0.004996f, -0.000025f, 0.003348f, -0.005576f, 0.008034f, 0.000323f, -0.002241f, -0.001183f, -0.000705f, 0.022565f, 0.018075f, 0.008747f, 0.001518f, -0.003597f, 0.010561f, -0.006289f, -0.006298f, -0.001732f, -0.011160f, 0.006627f, 0.000665f, -0.004958f, 0.002892f, 0.006353f, 0.011541f, -0.005514f, 0.006739f, 0.014479f, -0.004011f, -0.000160f, 0.003569f, 0.007393f, -0.001741f, 0.008074f, 0.006095f, 0.008168f, 0.002129f, 0.006167f, -0.006383f, 0.010969f, -0.001167f, 0.010569f, 0.005560f, -0.001495f, 0.001521f, -0.002104f, -0.000085f, -0.004238f, - -0.001693f, -0.005169f, -0.003421f, 0.003460f, -0.000870f, -0.010855f, -0.002221f, 0.000769f, -0.000161f, -0.006225f, -0.005941f, -0.003445f, -0.002511f, 0.007847f, -0.003195f, -0.009432f, -0.011984f, -0.013700f, -0.004516f, -0.006285f, -0.000430f, 0.001593f, 0.006442f, -0.009174f, -0.003951f, 0.000499f, -0.000917f, -0.004455f, 0.000889f, -0.009761f, -0.000993f, -0.011469f, 0.005567f, -0.006664f, -0.003126f, 0.006515f, -0.001387f, 0.011819f, -0.025916f, -0.007288f, -0.013004f, -0.002727f, 0.000248f, 0.014146f, -0.006754f, -0.023730f, -0.008009f, -0.000870f, 0.009189f, 0.002511f, -0.008448f, -0.020646f, -0.004985f, 0.005303f, -0.002027f, 0.011188f, 0.000708f, 0.004739f, -0.000877f, -0.009333f, -0.009578f, 0.005631f, 0.007493f, 0.000545f, 0.002608f, -0.000667f, 0.004684f, 0.000712f, -0.011839f, 0.000322f, 0.017306f, 0.001964f, -0.003970f, -0.001912f, -0.004262f, 0.000695f, -0.003640f, -0.007765f, 0.011675f, -0.003920f, -0.004486f, 0.009970f, -0.005154f, -0.009597f, 0.000683f, -0.000360f, 0.000559f, -0.013703f, 0.011037f, -0.004576f, -0.000006f, 0.009451f, 0.009289f, -0.014746f, -0.003371f, 0.002188f, - 0.003675f, -0.001868f, 0.007995f, 0.001483f, 0.004053f, 0.004669f, 0.000962f, 0.003502f, 0.006640f, 0.000504f, 0.000098f, 0.005031f, -0.016241f, -0.004839f, 0.000269f, 0.006740f, 0.004273f, -0.003801f, -0.001079f, -0.051663f, -0.020985f, -0.010081f, -0.015220f, 0.005071f, -0.005560f, -0.004575f, -0.001079f, 0.006982f, -0.006441f, -0.006727f, -0.010832f, 0.002459f, 0.008795f, 0.002446f, -0.007607f, -0.008450f, 0.002103f, 0.008107f, 0.006634f, -0.009674f, -0.015321f, 0.001449f, -0.014376f, 0.007682f, -0.000687f, 0.005451f, -0.001002f, 0.005261f, -0.006064f, -0.001983f, 0.013780f, -0.017175f, 0.007361f, 0.004357f, 0.001257f, -0.005921f, 0.003138f, 0.008868f, 0.001547f, -0.010384f, 0.001373f, -0.006502f, 0.004402f, -0.014284f, -0.001384f, -0.012926f, 0.009264f, -0.000850f, -0.003511f, -0.003520f, 0.004639f, -0.021875f, 0.009206f, -0.006169f, -0.014392f, 0.005536f, 0.009686f, 0.012346f, 0.006046f, 0.002770f, -0.002046f, 0.001609f, -0.002351f, 0.008000f, -0.005798f, 0.002358f, 0.004778f, 0.015316f, 0.000939f, 0.000380f, -0.012504f, 0.006982f, -0.007112f, 0.001139f, -0.030096f, 0.014990f, - 0.022659f, 0.004996f, 0.001373f, 0.013368f, 0.003897f, 0.004459f, 0.006599f, 0.001505f, 0.006937f, 0.007949f, -0.006375f, -0.000530f, 0.000609f, -0.006687f, -0.004887f, 0.000499f, 0.003206f, -0.003679f, 0.023692f, 0.013399f, -0.003852f, 0.002358f, 0.007307f, 0.010270f, 0.010660f, -0.003925f, 0.007428f, 0.009689f, 0.000220f, 0.003332f, 0.002324f, 0.005851f, 0.003460f, 0.003007f, 0.004844f, 0.005620f, -0.010626f, -0.007254f, -0.016223f, 0.002546f, -0.005859f, -0.007169f, 0.008077f, -0.001476f, 0.005046f, -0.018950f, 0.021736f, -0.000656f, -0.010489f, -0.000962f, 0.017257f, 0.013547f, -0.002802f, 0.001502f, 0.008380f, -0.002885f, 0.003633f, -0.005225f, -0.013577f, 0.002839f, 0.001381f, -0.009649f, -0.004184f, -0.009393f, 0.002140f, 0.005530f, 0.002721f, -0.003553f, -0.009187f, -0.012622f, -0.016858f, -0.010171f, -0.004173f, 0.004040f, 0.054672f, 0.014397f, 0.004104f, -0.002120f, 0.032952f, 0.003754f, 0.015663f, 0.003106f, 0.010411f, 0.017009f, 0.006043f, -0.009662f, 0.010093f, 0.011625f, 0.001820f, -0.001031f, 0.002458f, 0.021389f, 0.001419f, -0.007566f, -0.013211f, -0.004058f, - -0.000512f, -0.015200f, 0.002378f, 0.004219f, 0.008443f, 0.003426f, 0.005892f, 0.016272f, -0.005360f, -0.002886f, 0.009927f, -0.001858f, -0.004725f, -0.001137f, -0.015049f, 0.009266f, 0.005959f, 0.000039f, 0.009180f, -0.005061f, -0.013297f, -0.028290f, -0.010629f, 0.010005f, 0.011002f, 0.000026f, 0.007564f, -0.008243f, -0.009070f, 0.022413f, -0.013699f, 0.009963f, -0.012166f, 0.002067f, -0.017521f, -0.018112f, 0.018609f, -0.007721f, -0.007639f, 0.026224f, 0.001235f, -0.003343f, -0.013318f, 0.009394f, 0.014456f, 0.000404f, -0.009250f, -0.016001f, -0.003518f, 0.011026f, -0.004797f, 0.003429f, 0.026986f, 0.010076f, 0.022232f, -0.013281f, 0.003836f, 0.013735f, -0.018332f, -0.005141f, -0.007627f, 0.002699f, -0.009637f, -0.004533f, 0.012882f, -0.003263f, -0.003323f, -0.000072f, 0.016319f, -0.005333f, -0.008659f, 0.019140f, 0.002209f, -0.011973f, 0.004696f, -0.001900f, 0.002179f, 0.007826f, -0.011190f, -0.001469f, -0.008590f, -0.013145f, 0.000984f, 0.001320f, 0.001949f, -0.012899f, -0.015178f, 0.006577f, -0.001981f, 0.006439f, -0.001311f, 0.008925f, 0.001603f, 0.000659f, -0.009952f, -0.007902f, - 0.001753f, 0.009958f, 0.003605f, -0.001534f, 0.025443f, 0.007300f, 0.003758f, 0.013000f, 0.003687f, 0.009975f, 0.008293f, 0.007047f, 0.002911f, 0.005701f, -0.004498f, -0.000848f, 0.001301f, -0.009850f, 0.002262f, -0.016600f, 0.004233f, -0.010502f, 0.008646f, -0.005264f, 0.004508f, -0.000852f, -0.009201f, 0.004449f, -0.002717f, 0.010924f, -0.008399f, 0.026519f, 0.020598f, 0.008804f, -0.033797f, -0.066964f, -0.002141f, -0.013918f, 0.012214f, -0.004027f, -0.017628f, -0.002370f, -0.014112f, -0.016971f, -0.013277f, 0.021134f, 0.012067f, -0.015025f, -0.007495f, 0.015984f, 0.010420f, 0.014224f, -0.009246f, 0.009035f, -0.008071f, -0.009558f, -0.001848f, -0.004432f, -0.027064f, 0.007212f, 0.017040f, 0.006460f, -0.015618f, -0.004260f, 0.004054f, 0.003857f, -0.013740f, -0.003721f, -0.020173f, 0.004315f, -0.008899f, -0.001336f, -0.006167f, 0.003704f, 0.024172f, -0.002839f, -0.002867f, 0.011076f, 0.018140f, -0.010474f, 0.006057f, 0.005942f, -0.012517f, 0.007171f, 0.008676f, -0.016924f, 0.004328f, 0.010316f, -0.000712f, -0.017825f, -0.009060f, -0.011662f, 0.017853f, 0.005679f, 0.017654f, -0.009658f, - -0.015593f, 0.003703f, 0.011418f, -0.004421f, -0.010119f, 0.007806f, 0.015480f, 0.011018f, -0.011413f, -0.008706f, 0.000661f, 0.022324f, -0.000748f, 0.012020f, 0.009266f, 0.006403f, -0.035033f, 0.001019f, -0.000195f, 0.020589f, 0.003576f, -0.006805f, 0.010380f, -0.004591f, 0.003841f, -0.017434f, -0.006662f, -0.010725f, -0.007747f, -0.022347f, -0.010140f, -0.013011f, 0.030701f, 0.019262f, 0.018151f, -0.021985f, -0.020940f, -0.008553f, 0.009469f, -0.000282f, -0.001750f, 0.001400f, 0.005029f, -0.000847f, 0.007741f, -0.012590f, -0.013011f, 0.000434f, -0.004897f, -0.015753f, -0.018185f, -0.012587f, -0.011306f, -0.006551f, -0.008369f, -0.020224f, 0.007661f, 0.025923f, -0.007434f, 0.012377f, 0.014369f, -0.011558f, 0.012104f, 0.009335f, 0.001251f, 0.023549f, -0.003302f, 0.019727f, 0.004941f, 0.002743f, -0.020628f, 0.007496f, 0.006544f, -0.004687f, 0.024156f, 0.021376f, 0.001426f, -0.007987f, -0.016225f, 0.007585f, -0.016190f, 0.005033f, -0.003579f, 0.015369f, -0.003658f, -0.024275f, -0.002329f, -0.010389f, -0.008378f, -0.019516f, 0.015032f, -0.031684f, 0.014813f, 0.009181f, 0.014103f, -0.015319f, - -0.024498f, 0.006395f, 0.008610f, 0.000292f, -0.020507f, 0.019543f, 0.006851f, -0.011944f, -0.017946f, 0.007544f, -0.007403f, 0.031881f, 0.039239f, 0.004661f, -0.005167f, -0.015277f, 0.022697f, -0.025731f, -0.007895f, 0.029534f, 0.008551f, -0.006934f, -0.015551f, -0.016212f, -0.007643f, -0.000459f, -0.019231f, 0.003551f, 0.022475f, -0.003739f, 0.009044f, -0.016771f, -0.013440f, -0.005886f, -0.010944f, 0.030261f, -0.010512f, 0.013036f, 0.012514f, 0.011683f, 0.004316f, 0.005227f, -0.020712f, -0.022751f, -0.019875f, -0.005658f, 0.016620f, 0.035037f, -0.013547f, -0.027056f, -0.005036f, -0.013018f, 0.007660f, 0.004573f, 0.021068f, -0.013288f, 0.000747f, -0.017280f, -0.002082f, 0.027831f, -0.002666f, -0.016777f, 0.021695f, 0.005695f, 0.004390f, 0.009738f, -0.022116f, 0.002356f, -0.006831f, 0.000868f, 0.011423f, 0.022700f, 0.050009f, -0.021790f, -0.016911f, -0.005293f, 0.010609f, -0.029293f, 0.011779f, -0.007979f, 0.014832f, -0.013204f, -0.005887f, 0.018011f, 0.013517f, 0.005013f, -0.009029f, -0.003408f, 0.024880f, 0.024281f, -0.004979f, 0.021186f, -0.006092f, 0.031201f, -0.014549f, -0.007809f, - 0.005714f, 0.032688f, 0.024059f, 0.007810f, -0.017483f, -0.001354f, -0.036332f, -0.005631f, 0.005806f, 0.016635f, 0.019649f, 0.034448f, 0.009188f, -0.000761f, -0.001537f, -0.013402f, -0.022580f, -0.001761f, -0.019553f, 0.014126f, 0.004645f, 0.021916f, 0.012460f, -0.007653f, 0.022061f, -0.026134f, 0.011996f, -0.005915f, 0.002147f, -0.004629f, 0.028109f, 0.016206f, 0.008298f, 0.004882f, -0.050099f, -0.008089f, 0.030383f, 0.015089f, 0.002372f, -0.000928f, 0.002122f, 0.024209f, 0.010961f, -0.038034f, -0.011585f, -0.014464f, 0.004655f, 0.001295f, -0.036534f, 0.002364f, -0.033500f, -0.021552f, 0.000612f, 0.017502f, 0.035801f, -0.009518f, -0.013773f, 0.001356f, 0.014175f, 0.007130f, -0.021009f, -0.002055f, -0.016931f, -0.001691f, -0.023247f, -0.003375f, -0.019920f, 0.000162f, 0.021645f, 0.000843f, 0.047181f, -0.020446f, -0.008898f, -0.017535f, 0.019537f, 0.030205f, -0.024418f, -0.009264f, -0.038144f, 0.006307f, 0.000159f, 0.009570f, 0.009999f, -0.022651f, -0.012355f, 0.015846f, -0.005859f, -0.005867f, -0.020549f, 0.041258f, -0.005183f, -0.046523f, 0.013236f, -0.013156f, -0.012995f, 0.015074f, - 0.013198f, -0.014406f, -0.013958f, -0.005734f, -0.025717f, -0.017158f, 0.009252f, 0.004399f, 0.009637f, -0.009530f, -0.018418f, -0.023603f, -0.021498f, 0.016514f, -0.031813f, -0.001273f, 0.008436f, -0.011887f, 0.001515f, -0.002216f, -0.003680f, -0.027855f, -0.003978f, -0.012741f, 0.017241f, 0.018479f, -0.002875f, 0.029896f, -0.000636f, -0.003208f, -0.008396f, -0.005216f, 0.049138f, 0.000425f, -0.023156f, 0.057807f, -0.015207f, -0.004650f, 0.004638f, 0.024841f, 0.017102f, -0.036920f, -0.015708f, -0.035077f, 0.007247f, 0.002347f, -0.011498f, -0.038680f, 0.001054f, -0.017920f, 0.007513f, 0.008840f, 0.019073f, 0.001235f, 0.013698f, 0.067658f, 0.014012f, 0.017030f, -0.011261f, -0.003570f, 0.028754f, -0.002415f, 0.001597f, 0.007946f, 0.001181f, -0.004209f, -0.016163f, 0.027267f, -0.029632f, 0.012081f, -0.043691f, -0.012995f, -0.020913f, -0.026431f, -0.023626f, -0.000037f, -0.047751f, -0.015956f, 0.005475f, 0.026777f, 0.014437f, -0.046077f, 0.025069f, 0.017274f, 0.017950f, -0.029335f, 0.020367f, -0.013849f, -0.034662f, -0.011568f, -0.034544f, 0.016092f, 0.038585f, 0.009859f, -0.005150f, -0.026257f, - 0.019679f, -0.027977f, 0.040152f, -0.007985f, -0.006040f, -0.025351f, -0.029052f, 0.003795f, 0.030768f, 0.010508f, -0.024194f, -0.009133f, 0.003638f, -0.004131f, 0.009367f, 0.031344f, 0.005972f, -0.020292f, 0.009193f, -0.005999f, 0.009451f, 0.034320f, -0.048551f, -0.022229f, -0.039051f, 0.021971f, -0.007877f, 0.003592f, -0.012916f, 0.027868f, -0.027737f, -0.028235f, -0.012773f, -0.006843f, -0.020019f, -0.034939f, -0.016775f, 0.006083f, 0.022602f, -0.032253f, 0.020869f, -0.012452f, 0.002387f, 0.040707f, 0.031414f, -0.001086f, 0.016478f, 0.007366f, -0.006725f, -0.005639f, -0.056142f, 0.007053f, -0.005865f, 0.004748f, 0.010707f, -0.005227f, 0.001322f, 0.055654f, -0.050979f, 0.003809f, 0.061034f, 0.006943f, 0.016688f, -0.025159f, -0.006796f, 0.030790f, 0.055989f, 0.001508f, 0.049619f, -0.020906f, 0.044857f, -0.017450f, 0.033129f, 0.032116f, -0.008656f, 0.064072f, -0.011271f, -0.004936f, -0.019907f, -0.032225f, -0.031939f, -0.017215f, -0.019353f, -0.049041f, -0.021905f, -0.013415f, 0.016339f, 0.012303f, 0.001095f, -0.029659f, -0.025964f, -0.020336f, -0.073620f, -0.050550f, -0.037454f, -0.002553f, - 0.048371f, -0.031277f, -0.005037f, -0.023809f, -0.036913f, -0.028682f, -0.037683f, -0.037221f, -0.016075f, -0.044121f, -0.050152f, -0.041696f, 0.011240f, -0.028436f, -0.016334f, -0.035719f, 0.034260f, 0.058676f, 0.004125f, -0.005498f, -0.021140f, 0.005861f, -0.004446f, -0.000372f, -0.005478f, 0.019279f, 0.002964f, 0.040399f, -0.035075f, 0.004152f, -0.029971f, 0.060809f, 0.013766f, -0.033837f, 0.026613f, -0.023926f, 0.021442f, -0.032523f, 0.018832f, 0.004028f, -0.021079f, 0.019215f, -0.032835f, -0.009534f, 0.009125f, 0.033701f, 0.013223f, 0.058944f, -0.014065f, -0.036292f, 0.002358f, -0.009664f, 0.003174f, -0.023803f, -0.022767f, -0.038981f, 0.003566f, -0.041600f, -0.010157f, -0.006021f, -0.038997f, 0.025202f, 0.029240f, -0.018184f, -0.004583f, -0.055000f, 0.059581f, 0.074837f, 0.008011f, -0.033331f, 0.003438f, -0.057439f, 0.106103f, 0.041795f, -0.010039f, -0.031174f, -0.010273f, -0.033197f, 0.035669f, 0.094249f, 0.000743f, -0.060649f, -0.029570f, 0.034698f, 0.011179f, -0.011204f, 0.043047f, -0.007508f, 0.004228f, 0.026503f, -0.004038f, -0.024575f, -0.009724f, 0.021982f, -0.028237f, -0.023399f, - -0.011321f, 0.009708f, -0.000098f, -0.003683f, -0.012714f, 0.020700f, 0.000595f, 0.030163f, 0.021609f, -0.029216f, 0.013313f, 0.036821f, 0.018598f, -0.026976f, 0.009235f, 0.006812f, 0.022696f, 0.001434f, 0.006893f, 0.007321f, 0.008423f, 0.051417f, 0.046362f, 0.030436f, 0.063388f, -0.031338f, 0.031887f, -0.037939f, 0.022999f, 0.000154f, 0.020869f, 0.028740f, 0.007458f, 0.007783f, 0.032624f, 0.016276f, -0.010760f, 0.021978f, -0.001492f, 0.029242f, -0.032535f, -0.017843f, 0.001154f, 0.069872f, -0.049974f, 0.003768f, -0.062305f, -0.008924f, 0.006120f, 0.021020f, -0.029906f, -0.011239f, -0.023485f, 0.089321f, 0.007961f, 0.006071f, -0.019105f, -0.012960f, 0.015607f, 0.013439f, 0.009022f, 0.034458f, 0.015352f, -0.014742f, 0.019293f, 0.036940f, -0.000483f, 0.040584f, -0.002867f, 0.019810f, -0.040130f, 0.075007f, -0.009912f, -0.008480f, 0.013850f, -0.056249f, -0.013180f, -0.026799f, 0.041377f, 0.022472f, 0.024155f, -0.025809f, 0.011288f, 0.010283f, -0.033465f, 0.010600f, 0.031993f, 0.026564f, 0.010773f, -0.007685f, 0.005674f, -0.015823f, 0.059036f, 0.009847f, 0.027996f, 0.022314f, - 0.033102f, -0.049139f, -0.001487f, -0.013651f, 0.012140f, -0.017061f, -0.019332f, 0.043782f, -0.036946f, 0.032719f, -0.022155f, 0.034478f, -0.003871f, -0.031606f, 0.000428f, -0.048490f, 0.035445f, 0.031794f, 0.039589f, -0.102573f, 0.034948f, 0.021902f, -0.027371f, -0.018654f, -0.024572f, 0.057385f, -0.071381f, 0.049740f, 0.116126f, 0.005121f, -0.043854f, -0.018458f, 0.041654f, 0.062157f, 0.024324f, -0.019443f, 0.010700f, -0.046577f, 0.002940f, -0.026121f, 0.041670f, 0.008318f, 0.007965f, -0.021293f, 0.015863f, -0.002312f, -0.023368f, 0.013808f, -0.023914f, -0.006230f, -0.021006f, -0.036158f, -0.028537f, 0.035429f, 0.020409f, 0.024538f, 0.016664f, -0.044734f, -0.019256f, 0.015017f, -0.019535f, 0.034463f, 0.015824f, 0.006995f, 0.012790f, 0.054921f, -0.019790f, -0.045707f, 0.092061f, -0.037093f, -0.059193f, 0.065369f, -0.034062f, -0.011769f, 0.008386f, 0.036226f, -0.041186f, -0.005888f, -0.001399f, -0.018227f, 0.121130f, 0.004502f, -0.025832f, -0.002286f, -0.004112f, 0.037221f, -0.067147f, -0.041126f, -0.031770f, -0.018706f, -0.007594f, -0.047094f, -0.005644f, 0.001647f, 0.013951f, 0.086552f, - 0.074993f, -0.024439f, 0.056554f, -0.054087f, -0.060521f, 0.040514f, 0.044458f, -0.009281f, 0.007878f, 0.015114f, 0.028593f, 0.052532f, -0.005555f, 0.014015f, 0.052179f, -0.033892f, 0.004943f, -0.036702f, 0.039760f, 0.000237f, 0.024538f, -0.025036f, -0.037514f, 0.035200f, -0.037077f, 0.011561f, -0.007998f, 0.033187f, 0.000924f, 0.007299f, -0.019224f, 0.006402f, -0.013279f, -0.049057f, -0.037820f, 0.016612f, -0.001990f, -0.001123f, 0.009171f, 0.036827f, -0.015205f, -0.010914f, -0.029476f, 0.013607f, 0.012662f, -0.003384f, -0.004603f, -0.081900f, 0.005336f, 0.023727f, -0.027806f, 0.021159f, -0.043900f, -0.007839f, 0.004874f, 0.029404f, 0.038067f, 0.005324f, -0.015152f, 0.012560f, 0.067222f, 0.057981f, 0.058762f, -0.001174f, -0.002718f, 0.013625f, 0.009381f, -0.024163f, 0.019560f, 0.073385f, -0.047930f, -0.014273f, -0.011597f, 0.002763f, 0.006079f, 0.012271f, -0.034206f, -0.054207f, -0.017751f, 0.000619f, 0.120484f, 0.063880f, 0.044134f, 0.000326f, -0.005015f, -0.022551f, 0.056279f, 0.016262f, 0.038766f, -0.000127f, -0.008625f, -0.006157f, -0.014646f, -0.077428f, 0.042606f, 0.041002f, - -0.004140f, 0.066121f, 0.026830f, -0.041734f, -0.045119f, 0.020744f, -0.019696f, -0.036993f, 0.000554f, 0.005888f, 0.015508f, -0.007678f, 0.020843f, -0.003619f, 0.019636f, 0.029633f, -0.027402f, -0.100768f, 0.053290f, -0.013422f, -0.034172f, 0.025571f, 0.034546f, 0.003459f, -0.071033f, -0.006851f, -0.004736f, -0.068857f, -0.046319f, 0.039731f, -0.012763f, -0.026570f, -0.026385f, 0.018450f, -0.071147f, -0.046700f, 0.091550f, -0.005499f, -0.056184f, 0.023776f, 0.048851f, 0.024362f, -0.078783f, 0.112504f, 0.042484f, -0.064999f, 0.035700f, 0.052463f, 0.005990f, -0.042979f, 0.045673f, 0.056170f, 0.030402f, -0.039183f, 0.038011f, 0.077711f, 0.002094f, 0.078607f, 0.091201f, -0.046323f, -0.031570f, -0.031017f, 0.086171f, 0.059918f, -0.039902f, 0.025589f, -0.024614f, -0.051581f, 0.046999f, 0.114366f, 0.015294f, -0.028239f, -0.026500f, 0.067088f, 0.066522f, 0.101915f, 0.043778f, -0.044887f, -0.013893f, -0.037920f, 0.024100f, -0.019350f, 0.030517f, 0.017043f, -0.045585f, 0.022518f, -0.046449f, -0.018059f, 0.002547f, -0.019547f, 0.004939f, 0.023685f, 0.022084f, -0.000238f, -0.036409f, 0.007114f, - 0.033468f, -0.013375f, 0.007049f, -0.015602f, -0.042806f, 0.044265f, -0.024812f, 0.030184f, -0.044031f, -0.029035f, -0.003902f, -0.039827f, -0.008638f, 0.037405f, -0.035137f, 0.049803f, 0.006227f, 0.040342f, 0.019494f, -0.022337f, -0.053050f, 0.044538f, 0.031712f, 0.017672f, 0.015079f, 0.045957f, -0.031795f, -0.019384f, -0.016867f, 0.013321f, 0.021418f, -0.006175f, -0.040574f, -0.003537f, -0.002248f, -0.046285f, -0.013723f, 0.005539f, 0.016300f, 0.033787f, 0.000148f, -0.032948f, 0.046461f, -0.009538f, -0.002557f, 0.049069f, 0.028885f, -0.042553f, 0.018443f, -0.026175f, 0.021098f, -0.013362f, 0.024303f, -0.034173f, 0.021031f, -0.075016f, -0.092413f, -0.046703f, 0.266623f, 0.237822f, 0.140880f, 0.314956f, -0.068830f, -0.233731f, -0.084876f, -0.442154f, -0.234789f, -0.003082f, -0.117092f, 0.160150f, 0.288544f, 0.042231f, 0.168524f, 0.334592f, 0.053472f, 0.117584f, 0.008590f, -0.341016f, -0.288531f, -0.251273f, -0.280796f, -0.167428f, 0.135285f, 0.059580f, 0.135369f, 0.361166f, 0.214075f, 0.057199f, 0.264149f, 0.122917f, -0.166897f, 0.089794f, -0.122778f, -0.312664f, -0.042091f, -0.193086f, - -0.359810f, -0.160130f, -0.040691f, -0.186281f, 0.204531f, 0.224669f, 0.102112f, 0.357456f, 0.399260f, 0.153315f, 0.195051f, 0.188331f, -0.214663f, -0.136868f, -0.273488f, -0.419678f, -0.391112f, -0.247764f, -0.254085f, -0.071941f, 0.155039f, 0.207818f, 0.272182f, 0.391926f, 0.345629f, 0.204871f, 0.142308f, 0.025213f, -0.173195f, -0.240256f, -0.185494f, -0.229158f, -0.293171f, -0.096715f, -0.122116f, -0.043571f, 0.131070f, 0.064402f, 0.001700f} - }, - { - {-0.002352f, 0.006376f, -0.007012f, -0.001470f, 0.000350f, 0.000536f, 0.002805f, 0.011712f, 0.000868f, -0.002777f, -0.004222f, 0.010547f, -0.001084f, -0.005301f, 0.001989f, -0.003695f, 0.002727f, 0.002137f, 0.013974f, 0.003621f, -0.007597f, 0.003237f, -0.000408f, 0.001298f, -0.006753f, 0.004314f, 0.000599f, -0.004995f, -0.002956f, -0.000535f, 0.000580f, -0.000611f, 0.004414f, -0.001206f, -0.004205f, -0.001043f, -0.002893f, -0.000549f, -0.005136f, 0.001887f, 0.005415f, -0.000818f, -0.007461f, 0.004586f, -0.004569f, -0.002780f, 0.000223f, 0.002147f, -0.003831f, -0.001110f, 0.006943f, -0.003650f, 0.001985f, -0.004589f, 0.003359f, -0.001571f, 0.002341f, 0.003089f, 0.001925f, -0.001803f, -0.001008f, 0.003578f, -0.005608f, -0.010339f, 0.002207f, -0.001318f, -0.003266f, 0.000931f, -0.000567f, -0.000645f, 0.000699f, -0.003763f, 0.004110f, -0.005348f, 0.004339f, 0.001872f, -0.000993f, 0.012047f, -0.001261f, 0.003683f, -0.002217f, 0.016079f, -0.006318f, -0.001516f, -0.000582f, 0.002031f, -0.002844f, 0.007394f, -0.001276f, -0.004906f, -0.000880f, 0.010101f, 0.000749f, -0.005029f, 0.004720f, 0.003532f, - 0.006630f, 0.002773f, -0.005019f, -0.003265f, 0.011255f, 0.001634f, -0.002844f, -0.002146f, -0.002252f, 0.002286f, 0.002434f, -0.001366f, -0.014249f, -0.003493f, 0.000748f, 0.009963f, 0.003594f, -0.001128f, 0.000033f, -0.005595f, 0.007945f, -0.007923f, -0.010585f, 0.001496f, 0.000208f, -0.003499f, -0.002343f, -0.002857f, 0.001657f, 0.001108f, 0.001086f, -0.003595f, 0.009485f, 0.000439f, 0.012675f, -0.001847f, -0.005755f, 0.002920f, -0.000443f, 0.001984f, 0.003149f, 0.006533f, 0.004576f, -0.001372f, -0.003114f, -0.002649f, 0.008472f, -0.007938f, 0.000743f, 0.000607f, -0.000953f, -0.006624f, 0.006847f, -0.002982f, 0.001587f, 0.006260f, -0.001610f, 0.002031f, -0.004619f, 0.003998f, 0.002614f, -0.005740f, -0.002960f, -0.000593f, 0.000626f, -0.000457f, -0.000726f, -0.003002f, 0.005153f, 0.000797f, -0.002095f, -0.003146f, -0.000071f, 0.010276f, -0.001393f, -0.005118f, 0.006769f, -0.002815f, -0.006253f, -0.000853f, 0.005415f, 0.003787f, -0.003413f, 0.000718f, -0.004284f, 0.002281f, 0.002487f, -0.002310f, 0.005378f, -0.001718f, -0.009660f, 0.001532f, 0.005016f, 0.004405f, 0.000653f, -0.001002f, - -0.007026f, -0.002661f, -0.000948f, -0.003382f, 0.006296f, 0.008567f, 0.004096f, -0.012465f, 0.004050f, 0.013920f, 0.005839f, -0.001067f, -0.000172f, 0.006185f, -0.003342f, 0.001742f, -0.006124f, -0.005877f, 0.005404f, 0.005786f, 0.002874f, 0.001184f, 0.000947f, 0.000732f, 0.002771f, -0.000001f, -0.000772f, -0.002764f, 0.001258f, -0.004916f, -0.001080f, -0.002584f, -0.008996f, -0.005199f, 0.001398f, 0.002185f, 0.008158f, -0.000437f, 0.003290f, -0.005191f, -0.008105f, -0.004823f, 0.004215f, -0.003458f, -0.003818f, -0.003759f, -0.005373f, 0.005254f, 0.000615f, 0.003910f, -0.001737f, 0.001289f, -0.010911f, -0.006759f, -0.005020f, 0.007148f, 0.001255f, 0.001756f, 0.003735f, -0.003617f, -0.002001f, -0.000642f, 0.001212f, -0.007978f, -0.001617f, -0.005304f, -0.006055f, 0.000585f, -0.005333f, 0.003819f, 0.003372f, 0.014554f, -0.003545f, 0.007528f, -0.004814f, 0.003263f, -0.003280f, 0.001009f, 0.012570f, 0.002271f, 0.005495f, -0.005659f, 0.003904f, -0.005061f, -0.002424f, -0.000551f, 0.008078f, -0.003647f, -0.001893f, -0.006795f, -0.003583f, -0.008072f, -0.000920f, 0.008173f, 0.002119f, 0.000864f, - 0.001635f, 0.007511f, -0.006830f, -0.012248f, 0.003252f, 0.004198f, -0.007762f, -0.000360f, 0.001578f, -0.001811f, 0.003878f, 0.009957f, 0.002772f, -0.002394f, 0.001211f, -0.003567f, 0.004921f, -0.013101f, 0.002449f, -0.004798f, -0.009087f, -0.007134f, 0.004145f, -0.002216f, -0.000115f, 0.008994f, 0.003418f, -0.001639f, 0.001133f, 0.007593f, -0.003418f, 0.005515f, -0.002345f, 0.001405f, -0.008084f, -0.001830f, 0.005998f, -0.002266f, 0.007374f, 0.007573f, 0.002913f, 0.004637f, 0.010684f, -0.002792f, -0.014328f, 0.002960f, -0.006215f, 0.000086f, -0.017623f, 0.000113f, 0.006035f, -0.003972f, 0.006967f, 0.000563f, -0.006186f, 0.001931f, -0.013201f, -0.009017f, -0.003021f, -0.003715f, -0.010922f, 0.005254f, 0.006449f, -0.000056f, 0.006011f, 0.000013f, 0.001798f, -0.004065f, 0.005452f, 0.003533f, -0.001881f, 0.011873f, -0.002126f, 0.009713f, 0.008907f, -0.000999f, -0.001264f, -0.000489f, 0.002925f, 0.003628f, 0.001423f, 0.004101f, 0.001604f, 0.000995f, 0.013644f, 0.004590f, -0.006055f, -0.003400f, -0.000303f, -0.003994f, 0.001579f, -0.003152f, 0.012670f, -0.024129f, -0.000161f, 0.000197f, - 0.006023f, 0.010981f, 0.003532f, -0.005108f, -0.009131f, -0.001129f, 0.011379f, -0.001896f, -0.002417f, -0.008277f, -0.000402f, -0.003251f, 0.008388f, 0.010538f, -0.017705f, 0.011775f, 0.007115f, -0.006283f, -0.001601f, -0.008814f, -0.000117f, -0.002387f, 0.000048f, 0.006417f, 0.011484f, -0.003961f, 0.002533f, -0.002622f, -0.004141f, 0.004768f, 0.007887f, 0.005881f, -0.005197f, -0.007810f, 0.005638f, 0.004513f, -0.003123f, -0.000984f, 0.000881f, -0.010138f, 0.003758f, 0.003808f, -0.004400f, -0.006542f, 0.002646f, -0.004794f, 0.009395f, 0.004853f, -0.016793f, 0.008328f, -0.007243f, -0.017629f, -0.005416f, -0.000572f, 0.003613f, -0.006680f, -0.000412f, 0.004979f, -0.008163f, -0.006998f, -0.008378f, -0.001466f, 0.002098f, 0.018649f, 0.002788f, 0.004661f, -0.003655f, -0.007587f, 0.012071f, -0.001804f, -0.013639f, 0.002937f, -0.013546f, 0.004375f, 0.015161f, 0.004090f, 0.003282f, 0.006666f, 0.009550f, -0.002085f, 0.023347f, -0.003361f, 0.016711f, -0.019658f, 0.006797f, 0.011568f, -0.004153f, 0.001669f, -0.005526f, -0.000455f, 0.009027f, 0.016507f, -0.004617f, -0.008058f, -0.002365f, 0.007763f, - 0.001669f, 0.016821f, 0.007942f, -0.001664f, 0.002450f, 0.000031f, -0.007753f, 0.001722f, -0.001684f, -0.002235f, 0.007360f, 0.009789f, -0.015062f, 0.017693f, -0.013231f, -0.006996f, 0.003047f, -0.005127f, 0.008880f, 0.000510f, -0.004973f, 0.012650f, 0.017389f, -0.012557f, -0.002236f, -0.000899f, 0.005451f, -0.011813f, -0.020009f, -0.008954f, -0.006050f, 0.006378f, -0.013844f, -0.007547f, -0.001524f, 0.014995f, 0.009184f, -0.009462f, 0.007296f, 0.004493f, -0.005384f, -0.007530f, -0.001216f, -0.004256f, -0.005814f, 0.001549f, -0.003848f, 0.011897f, -0.008112f, -0.000410f, 0.009174f, -0.005669f, 0.009823f, 0.013874f, 0.002684f, 0.003106f, -0.001364f, 0.008523f, 0.007643f, 0.009354f, -0.008976f, -0.012787f, -0.006294f, 0.008088f, 0.000813f, 0.034605f, -0.002231f, -0.001204f, -0.008006f, -0.016137f, -0.022777f, -0.005458f, 0.008096f, 0.011968f, -0.007231f, -0.015183f, 0.002369f, -0.000173f, 0.015350f, -0.005284f, -0.005654f, 0.018112f, -0.009565f, 0.000922f, -0.013719f, 0.008825f, -0.002368f, -0.000182f, -0.002668f, -0.021852f, -0.013064f, 0.000920f, 0.012498f, 0.007802f, 0.001493f, -0.022593f, - 0.015399f, -0.009235f, -0.008696f, -0.009831f, -0.012250f, -0.002157f, 0.012741f, -0.010057f, -0.010346f, 0.007403f, -0.002972f, 0.004229f, 0.023027f, -0.009843f, 0.001122f, 0.001085f, 0.010175f, -0.006627f, -0.005392f, -0.003048f, 0.014952f, -0.003113f, -0.006771f, -0.001164f, 0.011884f, 0.014667f, -0.013493f, -0.015939f, -0.004656f, -0.001913f, -0.004489f, 0.004210f, -0.010332f, -0.002794f, -0.009079f, -0.015338f, 0.003787f, -0.011006f, 0.009272f, 0.012217f, -0.009082f, -0.010108f, -0.009288f, 0.005234f, -0.001295f, 0.017540f, 0.029414f, -0.016301f, 0.000700f, -0.000252f, -0.002489f, 0.003233f, 0.008211f, -0.024018f, 0.021566f, -0.016776f, -0.008970f, 0.022623f, -0.005563f, -0.010078f, 0.006881f, 0.008699f, 0.000029f, -0.000701f, -0.017563f, 0.011217f, -0.002935f, 0.004276f, -0.011824f, 0.014688f, -0.001834f, -0.022947f, -0.025722f, 0.009047f, -0.005210f, -0.012329f, 0.005751f, -0.000386f, 0.038308f, 0.007261f, -0.007832f, -0.010847f, -0.023732f, -0.007357f, 0.003656f, -0.004760f, 0.017078f, -0.002921f, -0.027705f, -0.001663f, 0.017379f, -0.007056f, 0.001289f, 0.016952f, 0.009501f, -0.007899f, - -0.003065f, 0.014089f, 0.015655f, -0.006530f, 0.001602f, 0.003902f, -0.010325f, 0.005338f, -0.006198f, 0.000679f, -0.000284f, -0.001850f, -0.008371f, -0.013885f, -0.022723f, -0.011357f, 0.008576f, -0.019667f, 0.007273f, -0.021255f, 0.000533f, 0.008157f, -0.003787f, -0.015826f, -0.007891f, -0.002980f, 0.014152f, 0.011789f, -0.008898f, -0.008594f, 0.015116f, 0.006742f, -0.009213f, -0.009315f, -0.007798f, -0.000705f, 0.014616f, -0.002213f, 0.001075f, -0.000515f, -0.000456f, 0.019455f, 0.009218f, 0.013146f, -0.001162f, -0.000603f, 0.006346f, -0.009562f, -0.016910f, 0.013950f, 0.021667f, -0.014477f, 0.018602f, -0.005180f, -0.002131f, -0.008098f, 0.009495f, 0.000946f, -0.010743f, 0.006775f, 0.017627f, 0.014290f, 0.006271f, -0.013021f, -0.005632f, -0.026725f, 0.004376f, 0.014465f, -0.008802f, -0.001817f, -0.010788f, 0.003163f, -0.006412f, 0.010867f, -0.006673f, 0.003859f, 0.012614f, 0.007503f, 0.023770f, 0.012706f, 0.008207f, 0.015449f, -0.012370f, 0.023008f, 0.007473f, 0.014087f, -0.003907f, -0.015389f, -0.023245f, -0.004394f, -0.002795f, -0.006219f, -0.003840f, 0.008789f, 0.011514f, -0.024163f, - 0.017812f, 0.005683f, -0.003328f, 0.025440f, 0.020247f, -0.033264f, -0.021761f, 0.020243f, 0.035747f, -0.003783f, 0.005422f, -0.003557f, -0.004335f, -0.004116f, -0.001347f, 0.008402f, 0.005457f, 0.020856f, 0.005372f, 0.019895f, 0.005866f, 0.008246f, -0.002758f, -0.012360f, 0.005000f, 0.000831f, -0.009493f, 0.014920f, 0.001588f, 0.005451f, 0.003624f, -0.004161f, -0.014673f, 0.000950f, -0.016657f, -0.006589f, -0.019283f, -0.013872f, -0.007888f, 0.015001f, 0.002145f, 0.006773f, 0.019543f, -0.009752f, -0.001840f, 0.001028f, 0.006874f, 0.000776f, 0.000260f, -0.006971f, 0.014361f, 0.030652f, 0.015231f, -0.027217f, -0.018511f, -0.020660f, 0.021963f, -0.005187f, -0.020832f, 0.010078f, -0.011774f, -0.003341f, -0.003579f, -0.003676f, -0.001751f, -0.001737f, 0.019395f, 0.029520f, 0.012221f, 0.024726f, 0.018057f, 0.005489f, 0.004321f, 0.002539f, -0.006698f, -0.013918f, 0.004335f, 0.031446f, 0.006759f, 0.010688f, -0.009618f, 0.007670f, -0.015103f, -0.028423f, 0.001338f, 0.014354f, 0.005164f, 0.011442f, 0.017544f, 0.018006f, 0.001841f, -0.020671f, -0.016405f, -0.027203f, -0.040666f, -0.001137f, - -0.004207f, 0.017937f, 0.014417f, -0.015907f, -0.007858f, 0.010428f, 0.022499f, -0.027406f, -0.016667f, -0.005457f, -0.014012f, -0.010326f, -0.004695f, 0.008237f, 0.017701f, 0.000649f, -0.009346f, -0.012619f, 0.017897f, -0.013589f, -0.004824f, -0.000351f, 0.024849f, -0.001564f, 0.002878f, -0.037396f, -0.001917f, 0.009440f, 0.020239f, 0.025444f, 0.006342f, -0.023770f, 0.012365f, 0.001026f, 0.012315f, 0.016459f, 0.003608f, 0.008728f, 0.019106f, 0.032660f, -0.020145f, -0.007229f, -0.000907f, 0.011028f, 0.034705f, 0.015764f, 0.012222f, 0.020780f, -0.005557f, -0.008939f, -0.019334f, -0.022835f, -0.014248f, 0.002341f, 0.017076f, 0.041023f, 0.017513f, 0.008611f, 0.024358f, -0.028563f, -0.018929f, -0.003846f, 0.041697f, 0.015761f, 0.001995f, 0.021364f, -0.012740f, 0.032434f, -0.006744f, -0.029694f, -0.004572f, -0.029484f, 0.024572f, 0.013449f, 0.010343f, 0.008591f, 0.001711f, -0.009785f, 0.012570f, 0.016423f, 0.009762f, -0.006364f, 0.016437f, 0.019825f, 0.019467f, -0.002673f, -0.014392f, 0.027076f, 0.007866f, -0.002034f, -0.003162f, 0.002975f, -0.016426f, 0.017520f, -0.001836f, -0.005210f, - -0.021253f, -0.012669f, -0.012464f, 0.031820f, 0.013107f, 0.000160f, 0.005968f, 0.016403f, 0.025583f, 0.012012f, -0.028894f, 0.027899f, -0.001376f, 0.016125f, 0.008897f, 0.024557f, -0.003575f, -0.032212f, 0.012246f, -0.001461f, 0.015557f, -0.005687f, -0.010842f, 0.012026f, -0.002704f, 0.008187f, 0.043085f, -0.004863f, -0.015988f, 0.000144f, 0.008164f, -0.019677f, 0.035695f, -0.014650f, -0.016408f, 0.028419f, -0.012437f, 0.009406f, -0.009119f, 0.006171f, -0.024341f, -0.008368f, 0.016928f, 0.000317f, -0.023785f, 0.003876f, -0.006758f, 0.016238f, 0.007116f, 0.006790f, -0.041417f, 0.010269f, 0.003233f, 0.013849f, 0.030676f, -0.001710f, -0.001178f, -0.000888f, -0.011873f, 0.025408f, -0.024896f, 0.005553f, 0.019627f, 0.008425f, 0.018258f, -0.010671f, -0.010782f, -0.018729f, -0.025861f, 0.007669f, 0.006661f, 0.012866f, 0.032334f, -0.014945f, 0.028068f, 0.010301f, -0.022417f, -0.017874f, 0.001999f, -0.001129f, 0.003716f, -0.004136f, 0.015125f, 0.018072f, 0.022844f, 0.004552f, -0.049347f, 0.008637f, 0.017857f, 0.011053f, -0.031635f, 0.016263f, -0.014996f, 0.013410f, 0.004701f, 0.004821f, - -0.002046f, 0.008648f, -0.001501f, 0.039071f, 0.023831f, -0.024855f, 0.005201f, -0.060724f, 0.012077f, -0.021935f, -0.013947f, 0.009644f, 0.013996f, -0.034071f, -0.052353f, 0.028135f, 0.023874f, -0.059174f, 0.021066f, -0.020837f, -0.008216f, -0.009431f, 0.018532f, -0.013773f, -0.001653f, 0.004770f, 0.050372f, -0.005364f, 0.035847f, 0.011010f, 0.026517f, 0.003517f, 0.006218f, 0.010926f, 0.048414f, 0.052131f, -0.027997f, -0.022118f, 0.026837f, -0.034855f, -0.001972f, 0.011558f, -0.038459f, 0.022416f, 0.000869f, -0.001240f, -0.008717f, -0.009437f, 0.002262f, 0.005593f, 0.004660f, -0.020718f, -0.002029f, -0.003795f, -0.031691f, 0.016689f, 0.018194f, -0.031210f, -0.026845f, -0.010343f, 0.015312f, 0.018912f, 0.014002f, -0.000077f, -0.009224f, 0.017176f, 0.049766f, 0.029971f, -0.013032f, -0.005084f, -0.009951f, 0.037136f, -0.031201f, 0.014854f, 0.004470f, -0.042305f, -0.021444f, -0.000139f, 0.002700f, -0.035511f, 0.022281f, 0.018700f, 0.003836f, 0.009095f, 0.013966f, -0.033381f, -0.008457f, -0.027280f, -0.003182f, 0.020395f, 0.025796f, 0.021106f, -0.024760f, -0.008081f, -0.007459f, 0.003123f, - -0.028366f, -0.005046f, 0.024400f, 0.036959f, -0.002251f, 0.002089f, -0.022755f, 0.001606f, -0.000669f, -0.016846f, -0.027237f, -0.005625f, -0.012424f, -0.020998f, -0.014763f, 0.023055f, -0.019466f, 0.016635f, -0.005624f, -0.005046f, 0.033088f, -0.022978f, -0.012301f, 0.004696f, 0.013551f, 0.001620f, -0.042975f, -0.026924f, 0.005292f, -0.007280f, 0.007360f, -0.006359f, -0.013268f, 0.027321f, 0.006237f, -0.002674f, -0.011028f, -0.062581f, 0.037716f, -0.011553f, -0.000383f, -0.005583f, 0.002667f, 0.017584f, -0.010102f, -0.017264f, -0.028816f, -0.003003f, 0.013079f, -0.018203f, -0.022815f, 0.009253f, 0.036779f, -0.006447f, 0.034194f, 0.024821f, -0.024754f, 0.045584f, 0.030390f, -0.030403f, -0.046589f, -0.013605f, -0.020306f, 0.002337f, -0.014808f, -0.003763f, 0.022269f, -0.039121f, 0.018956f, -0.006393f, -0.022176f, -0.024463f, -0.024829f, -0.029496f, 0.005617f, 0.018138f, -0.016976f, 0.025657f, -0.039696f, 0.072099f, 0.101101f, -0.009636f, 0.012161f, 0.006628f, 0.024337f, 0.049223f, -0.047076f, 0.000675f, 0.007902f, 0.001037f, -0.017138f, 0.002635f, -0.021135f, 0.024747f, 0.060056f, -0.012641f, - 0.001009f, 0.003536f, 0.017967f, 0.001770f, 0.006755f, 0.023294f, -0.046831f, -0.003368f, 0.045230f, 0.046956f, -0.055165f, -0.011517f, 0.007450f, 0.007821f, 0.015843f, 0.041361f, 0.011115f, 0.083319f, 0.013326f, 0.025816f, 0.011699f, -0.012908f, -0.017854f, -0.000813f, -0.059012f, -0.083770f, -0.029111f, -0.027017f, -0.088214f, 0.013970f, -0.002859f, -0.048547f, -0.024677f, -0.081487f, -0.009844f, -0.010835f, 0.054839f, -0.054155f, 0.033082f, -0.036743f, -0.004141f, -0.023829f, -0.020565f, 0.022844f, 0.048880f, -0.037539f, -0.015847f, -0.002130f, -0.012876f, -0.002354f, 0.019628f, 0.042477f, 0.041335f, -0.027560f, 0.084739f, 0.062296f, 0.006119f, -0.025750f, -0.070512f, -0.036665f, 0.066729f, 0.109751f, -0.025442f, -0.006165f, 0.020084f, 0.048814f, 0.017107f, -0.029231f, 0.018431f, -0.025069f, 0.006818f, 0.015015f, -0.005465f, -0.033653f, 0.010380f, 0.034522f, -0.008342f, -0.050968f, 0.039786f, -0.012221f, 0.032534f, -0.012586f, -0.007573f, -0.013125f, -0.019996f, -0.001551f, 0.036041f, 0.019184f, 0.006230f, 0.028083f, -0.013411f, -0.012264f, 0.011289f, -0.016275f, 0.020249f, 0.010766f, - 0.030815f, 0.051461f, 0.046129f, -0.034022f, -0.061348f, -0.023487f, -0.003689f, 0.047105f, -0.018290f, 0.007452f, 0.019552f, -0.020273f, -0.028265f, -0.046622f, -0.046531f, 0.035399f, 0.039200f, -0.032678f, -0.112167f, 0.007773f, -0.007915f, -0.016997f, 0.008665f, -0.012944f, -0.045089f, -0.022940f, -0.010671f, -0.033415f, -0.013528f, 0.045332f, 0.017914f, 0.024728f, -0.010980f, -0.018970f, -0.010319f, 0.022294f, 0.004338f, -0.001062f, 0.022916f, 0.053293f, -0.025116f, -0.001833f, -0.021008f, 0.011921f, -0.029176f, -0.044082f, -0.011338f, -0.006190f, 0.007045f, -0.014115f, 0.033658f, -0.019442f, -0.072801f, -0.037284f, 0.023311f, -0.032231f, 0.038260f, 0.036857f, -0.017092f, -0.003957f, 0.003699f, -0.020331f, -0.001348f, 0.013064f, -0.004581f, 0.007788f, 0.048745f, 0.043362f, -0.012681f, -0.065047f, -0.052016f, 0.005291f, 0.033703f, -0.025190f, -0.013082f, -0.029843f, -0.041894f, 0.005339f, -0.013011f, -0.045544f, -0.053098f, -0.073709f, 0.028626f, 0.012176f, -0.000083f, 0.045352f, 0.056592f, -0.000371f, -0.045445f, -0.031112f, -0.037142f, -0.017824f, -0.014388f, 0.015531f, 0.020674f, -0.017758f, - -0.034086f, -0.036605f, 0.018794f, 0.021115f, -0.040541f, -0.033598f, -0.016774f, -0.002926f, -0.024507f, 0.017859f, 0.092644f, 0.061399f, 0.108618f, 0.042419f, -0.060499f, 0.075637f, -0.004467f, -0.026305f, 0.002593f, -0.019912f, -0.069998f, 0.065832f, -0.037358f, 0.004236f, 0.019439f, -0.008375f, -0.048784f, 0.049341f, 0.047250f, -0.027211f, -0.037293f, 0.005051f, 0.065394f, -0.034320f, 0.018679f, 0.041821f, 0.012867f, -0.015802f, -0.031171f, -0.020547f, 0.014537f, -0.004991f, 0.011082f, -0.018313f, 0.012222f, -0.040537f, 0.059338f, -0.005714f, 0.013330f, -0.002757f, -0.074782f, 0.023369f, -0.020723f, 0.038656f, 0.023183f, 0.041329f, -0.016151f, -0.071937f, 0.051693f, 0.023522f, -0.024627f, -0.044629f, 0.036979f, 0.020209f, 0.039300f, 0.040237f, -0.034978f, 0.016453f, 0.041402f, -0.060533f, 0.055662f, 0.028191f, -0.002142f, 0.018564f, -0.032107f, 0.071008f, -0.008417f, 0.047203f, 0.020106f, 0.082668f, -0.006433f, -0.012776f, 0.010598f, 0.034910f, 0.020937f, 0.025212f, 0.080956f, 0.007464f, 0.018507f, 0.051325f, -0.033818f, 0.037123f, 0.001201f, -0.049243f, 0.016601f, -0.010783f, - 0.056252f, -0.033186f, -0.048394f, -0.120712f, 0.006452f, -0.014633f, 0.003601f, 0.093771f, 0.076891f, 0.111022f, 0.058386f, -0.029275f, -0.022717f, -0.045707f, -0.061350f, 0.021773f, 0.005239f, 0.016313f, 0.019337f, -0.017582f, 0.027741f, 0.047527f, 0.008566f, -0.012370f, -0.016134f, -0.033171f, -0.022380f, -0.019910f, 0.009116f, 0.015394f, -0.048196f, -0.028075f, -0.006757f, 0.032635f, -0.014689f, 0.021180f, 0.025673f, -0.067873f, -0.067439f, 0.013226f, 0.019364f, 0.015475f, -0.050952f, -0.022842f, -0.045787f, -0.021539f, -0.021058f, 0.044587f, -0.058011f, -0.079909f, -0.030461f, 0.016630f, 0.013494f, -0.061414f, -0.050090f, -0.038457f, -0.029920f, 0.034353f, 0.047067f, 0.002974f, -0.016331f, -0.018762f, -0.011248f, -0.009529f, -0.021671f, -0.067926f, 0.022374f, 0.052878f, 0.046757f, 0.015800f, 0.063983f, 0.088155f, -0.007854f, -0.009940f, 0.066394f, -0.014916f, -0.040416f, -0.090703f, -0.029969f, 0.010804f, 0.078281f, 0.029003f, 0.005340f, 0.030152f, -0.033970f, 0.003348f, -0.017854f, -0.023349f, 0.013658f, 0.007075f, -0.021542f, -0.032809f, -0.020618f, -0.030317f, -0.026758f, 0.011804f, - -0.020859f, -0.008228f, 0.013937f, -0.008315f, 0.002421f, -0.009370f, 0.038526f, -0.029227f, 0.031421f, 0.013463f, 0.002710f, -0.028086f, -0.013804f, 0.025684f, 0.008724f, 0.001390f, 0.018101f, -0.001363f, -0.008841f, -0.010125f, -0.011269f, -0.005995f, 0.002606f, 0.002151f, 0.003027f, -0.032573f, 0.017403f, -0.012088f, -0.014726f, 0.014888f, 0.007343f, 0.007412f, -0.007663f, 0.027560f, 0.020050f, -0.027440f, 0.026297f, -0.000438f, 0.017443f, 0.040618f, -0.008963f, 0.023925f, 0.017817f, -0.014168f, -0.014410f, -0.019917f, 0.000831f, 0.009263f, -0.040737f, 0.021818f, 0.004459f, 0.036899f, -0.013639f, -0.062493f, 0.042064f, 0.011220f, -0.000393f, 0.011676f, -0.032227f, 0.005796f, -0.009363f, 0.022694f, -0.040305f, -0.116737f, -0.172151f, 0.035244f, 0.135684f, 0.004446f, 0.370969f, 0.340649f, 0.234696f, 0.402534f, 0.310414f, 0.040461f, 0.005974f, -0.043989f, -0.297273f, -0.304545f, -0.230961f, -0.398426f, -0.370584f, -0.108304f, -0.124801f, -0.127537f, 0.027755f, 0.071710f, -0.063907f, -0.024098f, 0.116379f, 0.071883f, -0.006705f, 0.084271f, 0.058319f, 0.000300f, 0.070719f, 0.170418f, - 0.111628f, 0.035205f, 0.175513f, 0.127488f, 0.006207f, 0.148514f, 0.204381f, 0.044195f, 0.017711f, 0.206761f, 0.053056f, -0.089748f, 0.101544f, 0.156952f, -0.090128f, 0.030668f, 0.222698f, 0.013614f, 0.030618f, 0.268267f, 0.209794f, 0.009084f, 0.164190f, 0.219167f, -0.088767f, -0.057710f, 0.055235f, -0.198668f, -0.323838f, -0.223254f, -0.356774f, -0.525458f, -0.483281f, -0.539884f, -0.683731f, -0.720960f, -0.638694f, -0.673265f, -0.633306f, -0.473801f, -0.374246f, -0.179391f, 0.004277f, 0.232079f, 0.257570f, 0.057742f}, - {0.001320f, -0.000183f, 0.002318f, -0.002016f, -0.000801f, -0.007018f, -0.003152f, -0.007465f, 0.000744f, -0.004211f, -0.004965f, 0.002457f, 0.004359f, -0.005434f, 0.005429f, 0.000623f, -0.006861f, 0.001091f, -0.007836f, 0.004435f, -0.002193f, -0.001277f, -0.002547f, 0.001779f, -0.003497f, -0.000463f, -0.002269f, 0.002898f, 0.005894f, -0.005430f, -0.002563f, 0.002151f, -0.001185f, 0.003962f, 0.006081f, 0.000255f, 0.002885f, 0.001913f, 0.001795f, -0.000797f, 0.004441f, -0.005837f, -0.002265f, 0.006420f, 0.000209f, 0.007620f, -0.008303f, 0.004397f, -0.003047f, -0.011505f, 0.006014f, 0.005355f, 0.001781f, -0.004090f, -0.002765f, -0.000901f, 0.001231f, 0.000899f, -0.002052f, -0.004014f, -0.002399f, 0.001698f, 0.000273f, 0.003509f, 0.007930f, 0.001857f, 0.000622f, 0.000506f, 0.006620f, 0.003812f, -0.001421f, 0.001819f, -0.000983f, -0.003130f, -0.000646f, -0.004976f, 0.006984f, 0.009656f, -0.005678f, 0.000398f, 0.000309f, -0.006915f, 0.009244f, -0.003687f, -0.003618f, 0.002648f, -0.009544f, -0.004273f, 0.010224f, 0.002329f, -0.004172f, 0.007276f, 0.002248f, 0.001564f, -0.001501f, 0.003555f, - -0.000065f, -0.012223f, -0.000588f, -0.004528f, -0.000554f, -0.000252f, -0.011719f, 0.000198f, -0.007537f, 0.000428f, 0.001175f, 0.005250f, 0.006244f, 0.002086f, 0.001542f, 0.001173f, 0.005390f, -0.002932f, 0.001832f, 0.000375f, 0.000830f, 0.001161f, -0.001644f, 0.004863f, 0.007196f, -0.013835f, 0.006416f, -0.003588f, -0.008379f, -0.005293f, 0.010603f, 0.005384f, -0.003643f, 0.006095f, 0.001702f, -0.003762f, 0.003684f, 0.000137f, -0.000084f, 0.000617f, 0.000632f, -0.001385f, -0.000033f, 0.000850f, -0.000753f, 0.004639f, -0.003015f, -0.006345f, -0.006421f, 0.000023f, 0.001820f, -0.000338f, -0.000051f, 0.003549f, -0.001846f, 0.006198f, 0.005184f, 0.000344f, -0.004075f, 0.002547f, -0.002175f, -0.003312f, 0.000853f, -0.006945f, -0.000781f, -0.005206f, 0.001870f, 0.003225f, 0.003171f, 0.002466f, -0.005346f, -0.000390f, -0.004416f, 0.004791f, -0.009174f, -0.005245f, 0.004734f, -0.010125f, -0.001070f, -0.000663f, 0.002661f, 0.002233f, 0.005059f, 0.010524f, 0.004934f, -0.001293f, 0.000054f, -0.003741f, -0.002839f, -0.018540f, -0.016996f, -0.001116f, 0.012750f, -0.003111f, 0.010208f, 0.000920f, - 0.002997f, -0.003103f, -0.014258f, 0.007475f, 0.002390f, -0.004276f, 0.003660f, -0.007567f, -0.001427f, 0.004369f, 0.002030f, 0.013531f, -0.009114f, 0.008234f, -0.004102f, -0.010554f, -0.004790f, -0.002835f, -0.002773f, 0.003815f, 0.003315f, -0.008506f, -0.003672f, -0.004831f, -0.001676f, 0.008289f, 0.008959f, 0.009487f, -0.006821f, 0.001146f, -0.004247f, -0.000685f, -0.003588f, -0.004925f, -0.005674f, -0.006907f, 0.006935f, -0.006577f, -0.008425f, -0.007373f, 0.000236f, -0.002947f, -0.002323f, -0.005852f, 0.001270f, -0.006536f, -0.000461f, -0.002729f, 0.009938f, -0.006461f, -0.007010f, -0.015707f, -0.020302f, -0.004987f, -0.009061f, -0.008401f, -0.002007f, 0.004118f, -0.005180f, -0.012265f, 0.007518f, -0.017752f, 0.005268f, -0.003060f, -0.003221f, 0.011324f, 0.007999f, 0.004126f, 0.001519f, -0.002071f, -0.001888f, -0.004400f, 0.001770f, 0.007643f, -0.006324f, 0.007240f, 0.006695f, 0.001861f, 0.000902f, 0.002945f, 0.005086f, -0.011602f, -0.005106f, 0.010832f, -0.008627f, 0.000597f, -0.000320f, 0.006578f, -0.001003f, -0.002672f, 0.001088f, 0.011239f, 0.006094f, 0.003832f, 0.003448f, 0.006210f, - -0.010273f, 0.007628f, -0.008458f, 0.007054f, 0.004425f, -0.002249f, -0.001782f, -0.003535f, -0.004892f, -0.007425f, -0.000843f, -0.002400f, -0.006407f, -0.006565f, -0.004417f, -0.003862f, 0.003640f, -0.010322f, -0.000689f, -0.004614f, -0.010309f, -0.004161f, -0.002271f, -0.006453f, -0.002761f, -0.005919f, -0.002916f, 0.005438f, 0.006292f, -0.010721f, -0.006790f, 0.004094f, -0.002668f, -0.011750f, 0.007660f, 0.014965f, 0.002592f, -0.002975f, -0.007245f, 0.002056f, 0.006552f, 0.013589f, -0.007147f, -0.002325f, -0.008894f, -0.006290f, 0.006781f, 0.007756f, -0.010709f, 0.006478f, -0.003763f, -0.006041f, 0.009823f, 0.000459f, 0.005117f, -0.013655f, 0.000446f, -0.008571f, 0.001512f, -0.010761f, -0.007633f, -0.001320f, -0.003203f, 0.024042f, 0.006873f, 0.006641f, 0.003978f, -0.016947f, 0.009155f, 0.007382f, -0.004527f, 0.000149f, 0.006941f, -0.000477f, 0.007338f, 0.009962f, 0.008516f, -0.004735f, -0.000137f, -0.002330f, 0.004064f, -0.003709f, -0.005619f, 0.003810f, -0.005429f, 0.002842f, 0.001738f, 0.000963f, 0.004126f, 0.002988f, -0.012006f, -0.000491f, -0.003674f, -0.014567f, -0.008094f, 0.005944f, - -0.006343f, 0.017066f, 0.007544f, 0.016715f, -0.000215f, -0.008160f, -0.008659f, -0.011713f, 0.017896f, -0.004350f, 0.008212f, 0.009139f, 0.001953f, 0.006448f, 0.005897f, 0.005712f, 0.002342f, -0.011741f, -0.000584f, -0.004506f, -0.001669f, 0.008131f, -0.000629f, -0.000667f, 0.005743f, 0.003617f, 0.005952f, -0.005057f, -0.018456f, -0.011021f, -0.006904f, 0.013755f, -0.012220f, -0.003670f, 0.008536f, -0.000870f, 0.001723f, -0.010297f, 0.018169f, 0.001057f, -0.006824f, 0.014285f, -0.008534f, 0.022087f, 0.011583f, -0.004899f, 0.002769f, -0.006207f, -0.004052f, -0.020222f, 0.007438f, -0.009190f, -0.001167f, -0.000757f, -0.004152f, 0.008709f, -0.003081f, -0.008860f, -0.008293f, 0.001972f, -0.007515f, -0.008764f, 0.005370f, 0.000630f, 0.006723f, -0.003614f, -0.017974f, 0.006048f, 0.008699f, 0.009796f, -0.009123f, -0.012168f, 0.002646f, 0.015781f, 0.015125f, -0.013974f, 0.007166f, 0.016758f, -0.012033f, 0.002908f, -0.006609f, -0.014078f, 0.020413f, 0.006948f, 0.018975f, 0.016598f, 0.002844f, -0.014292f, -0.008083f, 0.006493f, -0.000607f, 0.002325f, -0.014556f, 0.000887f, -0.026091f, -0.011754f, - -0.020322f, 0.011952f, -0.011475f, -0.001161f, 0.003952f, -0.004162f, -0.005172f, 0.005438f, 0.006369f, 0.017390f, -0.002443f, -0.004891f, -0.013880f, -0.012792f, 0.011671f, 0.001592f, 0.004018f, 0.020837f, -0.006615f, -0.000826f, 0.011534f, -0.006217f, 0.005265f, 0.002942f, 0.011466f, 0.009348f, -0.007407f, -0.002267f, -0.015009f, 0.014204f, -0.010371f, -0.014575f, -0.013163f, 0.006844f, -0.005148f, -0.008373f, 0.014691f, -0.006119f, 0.015169f, -0.011132f, -0.007965f, -0.003554f, 0.009568f, 0.011705f, -0.001839f, -0.016124f, 0.004239f, -0.011034f, 0.017619f, 0.001945f, 0.009689f, -0.017138f, -0.008211f, 0.001912f, 0.008050f, -0.022389f, 0.007334f, 0.007450f, 0.003865f, -0.016830f, 0.012537f, 0.022468f, -0.022161f, 0.008666f, -0.013959f, 0.009110f, 0.000318f, 0.008205f, -0.007212f, -0.000049f, 0.004146f, -0.014153f, -0.008153f, -0.005905f, 0.010554f, 0.012438f, -0.004970f, 0.005987f, -0.003989f, 0.009212f, 0.010353f, 0.004683f, 0.002353f, -0.011377f, -0.005473f, -0.014295f, -0.017175f, -0.011079f, -0.000126f, -0.005282f, -0.001989f, -0.006657f, -0.017223f, -0.005411f, 0.001925f, 0.001392f, - -0.002335f, 0.024028f, -0.020944f, 0.007049f, -0.011189f, -0.003022f, -0.007574f, -0.006412f, 0.008689f, -0.006444f, -0.000841f, -0.007801f, -0.006635f, -0.009462f, 0.010557f, -0.011852f, 0.008271f, -0.003242f, 0.008180f, -0.001614f, -0.000471f, -0.001839f, 0.007654f, 0.004740f, -0.002495f, 0.019924f, -0.001508f, -0.011618f, 0.003025f, -0.010685f, -0.014244f, -0.015311f, 0.010740f, 0.003494f, 0.009110f, 0.010846f, 0.004720f, -0.023131f, -0.002976f, 0.004197f, -0.006652f, -0.017986f, 0.020742f, -0.000346f, -0.000245f, 0.019586f, -0.006227f, -0.017991f, 0.005680f, 0.013567f, 0.022607f, -0.000439f, 0.008957f, 0.003130f, -0.021845f, -0.005027f, -0.011848f, 0.011693f, 0.005018f, 0.006637f, -0.008805f, -0.000317f, -0.001886f, 0.003018f, -0.008039f, 0.010990f, 0.001747f, -0.007251f, 0.011234f, 0.002856f, -0.014642f, -0.010339f, 0.002235f, 0.015933f, 0.012321f, -0.017365f, 0.035311f, -0.000626f, -0.000231f, 0.011155f, -0.002337f, -0.003561f, -0.001199f, 0.024508f, -0.012508f, 0.012752f, -0.003632f, 0.017376f, 0.004070f, 0.015726f, -0.006247f, -0.010071f, 0.007313f, 0.013684f, -0.006791f, -0.012461f, - -0.015623f, -0.011837f, -0.006514f, -0.001230f, 0.013344f, 0.001838f, 0.011653f, 0.000121f, -0.004132f, 0.013518f, -0.010359f, -0.018335f, -0.005038f, -0.011040f, -0.011316f, -0.020745f, 0.018083f, -0.007123f, -0.001453f, -0.001342f, -0.013615f, -0.001128f, 0.001235f, 0.009835f, -0.014350f, 0.000524f, -0.002076f, -0.006274f, -0.029991f, -0.003879f, 0.014387f, 0.010764f, 0.014732f, 0.001444f, -0.016062f, 0.042554f, 0.018144f, 0.028851f, 0.003172f, -0.013020f, -0.004962f, -0.004419f, -0.018050f, -0.001439f, -0.007018f, 0.008818f, 0.000156f, 0.000626f, -0.005724f, -0.008100f, -0.015278f, 0.004836f, 0.001595f, 0.000399f, 0.007999f, -0.001028f, 0.003425f, -0.001923f, -0.013310f, -0.010777f, 0.008109f, -0.000381f, 0.019461f, -0.025031f, 0.019668f, 0.011592f, -0.008704f, -0.018276f, -0.027811f, 0.005335f, 0.021828f, -0.011785f, 0.021091f, -0.002277f, -0.001105f, 0.004215f, -0.006436f, -0.025355f, 0.002685f, 0.010868f, 0.004843f, -0.011563f, -0.003257f, -0.007674f, 0.004856f, 0.010866f, -0.001414f, 0.001807f, -0.002706f, 0.010044f, -0.006743f, -0.005683f, 0.005155f, -0.008636f, 0.004506f, -0.032841f, - 0.023468f, 0.021695f, 0.025032f, -0.007812f, -0.022694f, 0.008227f, 0.008896f, -0.033310f, -0.030737f, 0.030037f, 0.003143f, -0.014093f, 0.011155f, -0.020599f, -0.023956f, 0.003865f, 0.062272f, 0.029411f, 0.011576f, -0.016402f, 0.000324f, -0.005482f, 0.000566f, -0.006514f, -0.003356f, -0.007263f, 0.002383f, 0.018399f, 0.003691f, 0.022572f, -0.008451f, -0.006493f, 0.004250f, 0.016078f, -0.002635f, -0.001353f, -0.032242f, -0.000482f, -0.017972f, -0.000018f, 0.025671f, 0.019041f, -0.006210f, 0.018702f, 0.035564f, -0.015521f, 0.010700f, 0.030279f, -0.020679f, 0.032023f, -0.001848f, 0.014064f, -0.006491f, 0.002852f, -0.003281f, 0.005948f, 0.008071f, 0.032269f, -0.010602f, -0.001830f, 0.009092f, -0.011967f, 0.010259f, 0.007165f, -0.006703f, -0.011050f, 0.031613f, 0.001176f, -0.014635f, -0.001760f, 0.020621f, -0.003400f, 0.014788f, 0.005439f, 0.002174f, -0.001426f, -0.005526f, 0.040930f, 0.006694f, 0.006232f, -0.021589f, -0.011673f, 0.000483f, 0.005158f, 0.007593f, 0.009868f, -0.040676f, 0.002292f, 0.001925f, 0.029422f, 0.004017f, 0.007826f, -0.003377f, 0.026784f, -0.043674f, 0.001758f, - 0.021404f, -0.025217f, 0.005761f, 0.005433f, 0.020100f, 0.004473f, 0.001540f, -0.006673f, -0.000012f, -0.021656f, 0.006767f, -0.005158f, 0.003200f, 0.006307f, -0.004481f, -0.016400f, 0.005391f, -0.012906f, -0.023667f, 0.013196f, -0.013712f, 0.008738f, -0.022320f, -0.013405f, -0.003055f, -0.006533f, 0.004360f, -0.009047f, 0.022832f, -0.000201f, 0.021716f, -0.023770f, -0.020952f, -0.006487f, -0.000531f, -0.000498f, -0.007880f, 0.020103f, 0.015651f, 0.042029f, -0.007737f, 0.026669f, -0.016838f, -0.003252f, 0.007127f, -0.032835f, 0.035558f, -0.001960f, 0.021651f, -0.002239f, -0.033266f, -0.021175f, 0.012033f, -0.045674f, 0.020549f, 0.001203f, 0.007699f, 0.021049f, 0.031328f, 0.011445f, -0.013490f, 0.030585f, -0.032585f, -0.002866f, -0.010197f, 0.004527f, 0.025520f, -0.022736f, 0.057864f, 0.008311f, 0.014212f, -0.016459f, -0.023563f, 0.008791f, 0.000098f, 0.050066f, -0.007140f, -0.016313f, -0.028224f, -0.018190f, 0.013765f, 0.009685f, 0.008098f, -0.002649f, -0.027661f, -0.041850f, 0.003350f, -0.024799f, 0.034517f, 0.005539f, 0.028111f, -0.016117f, 0.011934f, -0.009977f, 0.014770f, 0.041490f, - -0.006316f, -0.002980f, -0.005662f, 0.011857f, 0.013863f, 0.008294f, 0.003480f, 0.005632f, 0.018064f, 0.017261f, -0.008408f, -0.012205f, -0.011726f, -0.012149f, 0.046825f, 0.019957f, -0.026152f, 0.022682f, -0.005204f, -0.020148f, -0.014826f, 0.010176f, 0.017996f, -0.029355f, -0.039839f, 0.006837f, -0.016933f, 0.056346f, 0.029678f, -0.006823f, -0.004228f, 0.013955f, 0.026718f, 0.008702f, -0.000856f, -0.005334f, -0.030639f, -0.005913f, -0.003065f, -0.000145f, -0.013117f, -0.027780f, 0.016830f, -0.010747f, 0.024384f, 0.007833f, -0.021914f, -0.012479f, -0.010046f, 0.002819f, -0.030309f, 0.019568f, 0.032779f, -0.014915f, 0.021216f, -0.007106f, -0.006387f, 0.012449f, -0.020676f, 0.011620f, 0.026944f, 0.004328f, 0.044988f, 0.018310f, -0.016017f, 0.015775f, 0.009775f, 0.013508f, 0.002705f, 0.020446f, 0.022044f, 0.028260f, 0.013600f, -0.014912f, -0.012623f, -0.022021f, 0.000065f, 0.045199f, 0.002906f, 0.017400f, -0.028405f, 0.059817f, -0.016785f, -0.052291f, -0.021441f, 0.036534f, 0.004959f, -0.008725f, -0.003631f, -0.006187f, 0.031345f, -0.025072f, 0.018892f, -0.007870f, 0.038973f, 0.053284f, - 0.031005f, 0.023732f, -0.018481f, 0.028522f, 0.021241f, 0.015248f, 0.023649f, 0.028200f, -0.005101f, -0.060776f, -0.034649f, -0.045584f, 0.012101f, 0.009731f, 0.012991f, -0.014757f, 0.020061f, 0.044327f, 0.004227f, 0.000083f, -0.013393f, 0.008672f, 0.020295f, 0.024800f, 0.008340f, 0.011862f, 0.018500f, -0.014553f, 0.043651f, 0.017805f, 0.008033f, -0.012218f, -0.034369f, -0.013296f, 0.017955f, -0.001490f, -0.048510f, 0.064952f, -0.023224f, -0.012345f, 0.019373f, 0.001279f, -0.006996f, 0.004966f, -0.013099f, -0.014906f, -0.003872f, -0.034913f, 0.008127f, -0.037557f, 0.000469f, -0.029749f, -0.034310f, -0.006585f, -0.007767f, -0.007241f, -0.025271f, 0.010957f, 0.025805f, 0.007190f, 0.019608f, -0.034985f, 0.033952f, 0.063060f, 0.005886f, -0.025275f, 0.038715f, -0.032289f, -0.051812f, 0.085131f, -0.009413f, 0.005986f, -0.006624f, -0.038167f, 0.028663f, -0.034633f, 0.014198f, 0.051906f, -0.001822f, 0.071326f, -0.056600f, 0.053695f, 0.014805f, -0.035492f, -0.019499f, 0.006674f, -0.035062f, -0.016905f, 0.036627f, -0.036888f, 0.023182f, -0.024318f, 0.011822f, 0.041055f, -0.089402f, -0.034760f, - 0.035798f, -0.016178f, 0.008827f, -0.024674f, -0.074979f, -0.019063f, 0.024202f, 0.058063f, -0.018620f, 0.029542f, 0.000561f, 0.014205f, 0.029648f, 0.019822f, 0.051524f, -0.012867f, 0.001998f, 0.014754f, -0.046016f, -0.028901f, -0.013839f, -0.014218f, 0.010377f, 0.001421f, 0.003729f, -0.023212f, -0.004099f, -0.030913f, -0.025852f, 0.013113f, 0.063771f, 0.037550f, -0.016924f, -0.019628f, 0.030337f, 0.037357f, -0.021849f, 0.010543f, 0.027962f, -0.010164f, 0.061003f, 0.021802f, 0.008855f, -0.046100f, 0.028961f, 0.007085f, 0.022779f, -0.003681f, 0.005752f, -0.006568f, -0.010352f, -0.073079f, 0.019484f, 0.052754f, 0.025132f, 0.008277f, -0.001771f, 0.027390f, -0.042230f, -0.075720f, 0.005238f, 0.103999f, 0.024005f, 0.082894f, 0.076213f, 0.002728f, 0.005660f, -0.047247f, -0.045291f, -0.002920f, -0.039562f, 0.053028f, -0.114496f, 0.022751f, -0.045888f, -0.087930f, 0.013630f, 0.042161f, -0.017549f, 0.052646f, 0.097423f, 0.000544f, 0.028127f, 0.015285f, -0.048038f, -0.016108f, 0.052131f, 0.013891f, 0.024204f, -0.014396f, 0.016723f, 0.006692f, -0.015508f, -0.001025f, 0.028207f, 0.025708f, - 0.035829f, -0.016601f, -0.001794f, -0.075875f, -0.067150f, 0.007833f, -0.040568f, -0.000256f, 0.039751f, 0.007293f, 0.006952f, -0.014597f, -0.005741f, 0.022207f, 0.060983f, -0.044098f, -0.021655f, -0.007237f, -0.038455f, -0.004701f, -0.036891f, -0.014042f, -0.039260f, 0.035562f, -0.048105f, -0.005850f, 0.012281f, 0.023064f, 0.092527f, 0.117448f, 0.034152f, -0.033019f, -0.060134f, -0.007307f, -0.039908f, -0.018767f, -0.063873f, 0.008408f, 0.069097f, 0.046372f, 0.043243f, 0.002983f, 0.013850f, 0.065062f, 0.069529f, 0.045929f, 0.001112f, 0.028351f, 0.016559f, 0.013144f, -0.070901f, 0.021511f, 0.015238f, -0.019312f, 0.054120f, 0.061655f, 0.000618f, -0.001779f, -0.017524f, -0.021119f, 0.057359f, 0.044512f, -0.030470f, 0.030816f, 0.042038f, 0.007075f, -0.057507f, -0.063984f, 0.059542f, 0.023097f, 0.012086f, 0.050678f, -0.001132f, -0.019067f, 0.049918f, 0.015842f, -0.041826f, -0.017973f, -0.016630f, 0.019717f, -0.001217f, -0.021568f, 0.006814f, -0.024072f, -0.005014f, -0.009668f, -0.015170f, 0.037708f, 0.063777f, -0.020346f, 0.011245f, 0.033442f, -0.018052f, -0.011066f, 0.010219f, 0.040006f, - 0.009433f, -0.026613f, -0.039328f, -0.041721f, 0.020927f, 0.027293f, 0.057320f, -0.025989f, -0.029859f, 0.023674f, 0.032887f, 0.058683f, -0.004599f, -0.101083f, -0.025312f, 0.036307f, 0.030212f, 0.017979f, -0.023544f, 0.002318f, -0.044882f, 0.009498f, -0.021415f, 0.046615f, 0.058278f, -0.015000f, -0.002332f, -0.032221f, -0.043056f, -0.010749f, -0.083395f, -0.011060f, -0.044362f, 0.040951f, -0.036221f, 0.043433f, 0.041914f, -0.083128f, -0.009241f, -0.025585f, -0.021992f, -0.030112f, -0.050137f, -0.011330f, -0.028077f, -0.050725f, -0.076883f, 0.037232f, 0.039132f, 0.023087f, -0.051667f, -0.069914f, -0.054053f, -0.030725f, 0.011820f, -0.002797f, -0.068550f, -0.041038f, -0.047308f, 0.065100f, 0.019520f, 0.027909f, -0.021726f, -0.038245f, 0.082249f, 0.019717f, 0.024812f, -0.016933f, 0.003670f, 0.023575f, -0.018396f, 0.018437f, -0.007565f, 0.038534f, 0.054670f, 0.001171f, -0.046907f, -0.037768f, 0.042842f, 0.029034f, 0.037250f, 0.009732f, 0.007979f, -0.021697f, -0.010677f, 0.004769f, 0.025300f, 0.057094f, -0.002495f, -0.111575f, -0.103802f, -0.000389f, -0.026968f, 0.063965f, 0.064866f, -0.076489f, - -0.052540f, -0.033298f, 0.090612f, 0.080733f, -0.046959f, 0.011324f, -0.060779f, -0.058309f, 0.032421f, -0.027603f, -0.001503f, -0.009974f, -0.042312f, 0.028271f, 0.028670f, 0.023723f, 0.093405f, -0.067711f, -0.018269f, -0.003976f, 0.022252f, 0.085635f, -0.054665f, 0.051035f, 0.063792f, 0.030197f, -0.126850f, -0.059960f, 0.051349f, -0.042643f, 0.032553f, -0.015888f, -0.048701f, 0.029149f, 0.017466f, 0.004238f, -0.017672f, -0.094696f, -0.001489f, -0.009037f, 0.007282f, -0.018960f, -0.057366f, 0.041768f, -0.032705f, 0.075819f, -0.001531f, -0.013575f, 0.047260f, 0.023399f, -0.031991f, -0.010085f, -0.022352f, 0.037443f, 0.076667f, 0.046140f, -0.050754f, 0.006525f, -0.031339f, 0.028595f, -0.026088f, -0.020597f, 0.013733f, -0.009714f, 0.045703f, -0.041363f, -0.072755f, 0.013922f, -0.020543f, 0.023233f, 0.040221f, -0.109680f, -0.008565f, -0.026842f, 0.012810f, 0.106093f, -0.021288f, -0.090268f, -0.012343f, 0.064308f, 0.044588f, -0.052866f, -0.004380f, 0.036344f, 0.010536f, 0.046479f, -0.071934f, -0.053145f, 0.061757f, -0.061967f, -0.114435f, -0.047853f, -0.004402f, 0.133337f, -0.026346f, -0.086984f, - 0.051218f, -0.097087f, 0.180592f, -0.121348f, 0.033482f, -0.001234f, 0.040951f, 0.101646f, 0.031579f, 0.014578f, -0.057696f, -0.022953f, -0.057678f, -0.067471f, -0.023637f, 0.014004f, 0.038087f, 0.052107f, -0.006633f, 0.030533f, 0.035418f, -0.031061f, -0.064981f, 0.034476f, 0.011286f, -0.051583f, -0.018635f, 0.049951f, -0.017789f, -0.005094f, 0.044303f, 0.025795f, 0.019134f, 0.006689f, 0.024724f, -0.024284f, -0.060568f, -0.025569f, 0.015901f, -0.024109f, -0.015157f, 0.022053f, 0.000347f, -0.041727f, 0.042565f, 0.009600f, -0.040012f, 0.005094f, -0.010585f, 0.037683f, 0.019690f, -0.015170f, 0.016377f, -0.023237f, -0.053527f, 0.006879f, 0.011306f, -0.004932f, -0.001335f, 0.010771f, -0.024329f, 0.006845f, -0.021138f, 0.011250f, 0.035514f, -0.004542f, 0.014429f, 0.016480f, -0.016399f, 0.000022f, -0.037735f, 0.011040f, 0.018496f, -0.065953f, 0.034655f, -0.041969f, 0.009282f, -0.000057f, -0.005021f, 0.018240f, 0.098497f, -0.003242f, -0.003613f, -0.027071f, -0.027301f, 0.020734f, -0.001491f, 0.018018f, 0.000028f, -0.009239f, -0.013327f, 0.007135f, -0.018533f, 0.018993f, -0.017453f, 0.027483f, - -0.022077f, 0.016226f, -0.018705f, -0.003622f, -0.003175f, -0.016707f, -0.013344f, 0.004424f, -0.007934f, -0.004893f, -0.000275f, -0.012389f, 0.001590f, -0.001996f, 0.004025f, -0.002454f, 0.007469f, -0.025355f, 0.023584f, -0.008267f, -0.007792f, 0.018559f, -0.014405f, 0.001610f, -0.017964f, -0.015074f, 0.011483f, 0.010770f, -0.012572f, -0.007470f, 0.005168f, -0.000114f, -0.021866f, 0.006338f, 0.004005f, 0.000703f, 0.014604f, -0.004625f, -0.005994f, -0.005193f, -0.014762f, -0.003347f, 0.016033f, -0.016013f, 0.004650f, -0.007395f, -0.001669f, 0.001779f, -0.004634f, 0.004365f, 0.000635f, 0.011623f, -0.015347f, -0.000862f, 0.011143f, -0.020306f, 0.013109f, -0.009284f, 0.001749f, 0.008685f, -0.001017f, -0.010634f, -0.045594f, -0.079166f, 0.029895f, 0.250195f, 0.063634f, 0.137619f, -0.004602f, -0.135573f, -0.042933f, -0.133407f, -0.112484f, -0.040814f, -0.026447f, -0.009993f, 0.076061f, 0.100247f, 0.134369f, 0.167895f, 0.073690f, -0.043863f, -0.077163f, -0.166244f, -0.156451f, -0.064834f, -0.051633f, -0.035709f, 0.068984f, 0.092098f, 0.056422f, 0.085365f, 0.104117f, 0.034306f, 0.029316f, 0.018717f, - -0.052360f, -0.025112f, -0.037167f, -0.083865f, -0.044894f, -0.062407f, -0.090646f, -0.050392f, 0.012568f, 0.009439f, 0.052512f, 0.124056f, 0.086374f, 0.070526f, 0.070328f, 0.020991f, 0.006476f, -0.007262f, -0.034378f, -0.051215f, -0.063166f, -0.092488f, -0.080150f, -0.045645f, -0.012655f, -0.031055f, 0.027588f, 0.048236f, 0.042668f, 0.070755f, 0.080455f, 0.051012f, 0.047928f, 0.045565f, -0.004225f, -0.020349f, -0.007752f, -0.061549f, -0.048754f, -0.009986f, -0.046559f, -0.049326f, -0.024480f, -0.023917f, 0.005571f, 0.001611f} - }, - { - {-0.001074f, 0.000794f, -0.004785f, 0.004975f, -0.006732f, 0.000726f, -0.002276f, -0.004292f, -0.008361f, -0.002802f, -0.000090f, 0.001502f, 0.010056f, 0.005424f, -0.003816f, 0.000069f, -0.000944f, -0.000143f, 0.000610f, 0.000284f, 0.003260f, -0.000461f, 0.002118f, -0.001599f, -0.012281f, -0.004298f, -0.002061f, 0.000603f, 0.007422f, -0.004609f, 0.000506f, -0.000696f, -0.000241f, -0.002658f, 0.004374f, 0.000868f, -0.001997f, 0.005312f, -0.003768f, 0.002015f, 0.002391f, -0.005407f, 0.004740f, -0.002365f, 0.000306f, 0.001228f, 0.001696f, 0.002378f, -0.002198f, -0.004019f, -0.001315f, -0.002792f, 0.002061f, -0.002530f, 0.000555f, 0.003202f, 0.008493f, -0.002981f, -0.006636f, -0.001955f, 0.006263f, 0.006475f, 0.004021f, -0.000199f, 0.001910f, -0.002379f, -0.003319f, -0.002734f, -0.007926f, 0.005587f, -0.001130f, 0.001401f, 0.000150f, -0.003781f, 0.001374f, 0.001608f, 0.005953f, 0.005654f, -0.005071f, -0.001065f, 0.008460f, 0.002591f, -0.004144f, 0.000759f, -0.004593f, -0.004363f, -0.003241f, -0.007580f, -0.002426f, 0.004413f, -0.000202f, 0.002390f, -0.001090f, -0.002234f, -0.001896f, -0.001023f, - 0.006431f, -0.004071f, 0.000563f, -0.000393f, 0.000449f, 0.004862f, 0.000014f, 0.003316f, 0.011075f, 0.008398f, 0.008726f, 0.004335f, 0.002125f, -0.001466f, -0.009883f, 0.004054f, -0.003567f, 0.006385f, 0.002486f, -0.003486f, 0.003239f, -0.004556f, -0.008529f, -0.002741f, -0.003169f, -0.008308f, 0.000562f, -0.001045f, -0.000968f, -0.003890f, 0.000746f, 0.008627f, 0.004051f, 0.005878f, 0.000139f, 0.003639f, -0.003136f, -0.000188f, 0.004757f, -0.003647f, 0.003276f, -0.004510f, -0.004655f, 0.000652f, 0.010435f, 0.006893f, 0.004191f, -0.001714f, 0.002007f, 0.001436f, 0.000920f, -0.001370f, -0.003539f, -0.005325f, -0.003925f, 0.001078f, -0.003280f, 0.003750f, 0.001882f, -0.006418f, 0.015156f, -0.000321f, 0.000867f, -0.001612f, -0.008086f, 0.005922f, -0.004256f, -0.004031f, -0.009431f, -0.007236f, -0.003119f, 0.005768f, 0.008253f, -0.001738f, 0.004833f, -0.001979f, 0.008943f, 0.009334f, -0.018893f, 0.003360f, -0.000047f, -0.001926f, 0.006204f, 0.009890f, -0.003239f, -0.001565f, 0.000035f, -0.000735f, -0.004948f, 0.003795f, -0.004999f, -0.003944f, -0.000592f, 0.004848f, -0.003047f, -0.010727f, - -0.004922f, -0.007361f, 0.000596f, 0.000437f, -0.009630f, -0.001330f, -0.004365f, 0.001709f, -0.000571f, -0.001669f, 0.001993f, -0.003398f, 0.002848f, -0.005319f, 0.004575f, 0.006893f, 0.010701f, 0.004255f, -0.005243f, 0.003595f, 0.004216f, -0.002148f, -0.013005f, 0.000376f, 0.006028f, -0.005521f, 0.003220f, -0.007801f, -0.000678f, -0.005222f, -0.013396f, -0.004523f, -0.007392f, 0.002525f, 0.003918f, -0.005051f, 0.001125f, -0.002606f, 0.012260f, 0.003579f, -0.017092f, 0.006172f, 0.008483f, 0.003330f, -0.001664f, 0.004564f, -0.010825f, 0.001648f, 0.004501f, -0.002238f, 0.004340f, -0.000590f, 0.005329f, 0.001467f, -0.007396f, 0.004627f, 0.006324f, 0.006591f, -0.002120f, 0.003202f, 0.003299f, 0.002558f, -0.019387f, 0.002781f, -0.008399f, -0.002325f, -0.002967f, 0.004550f, 0.001807f, -0.015548f, -0.005896f, -0.003435f, -0.003243f, 0.006409f, -0.006100f, -0.010881f, 0.002408f, 0.005109f, 0.002861f, -0.010842f, -0.005417f, 0.003511f, -0.010577f, -0.000812f, -0.011662f, 0.001674f, 0.005238f, -0.005816f, -0.002104f, 0.006481f, 0.007923f, -0.019302f, -0.001780f, -0.005386f, 0.005475f, 0.002351f, - 0.000584f, 0.001617f, -0.005821f, 0.004849f, 0.003840f, -0.015049f, 0.011076f, -0.001629f, 0.002382f, -0.007740f, -0.003672f, -0.006575f, -0.001316f, 0.001561f, -0.006549f, -0.008447f, 0.006786f, -0.002754f, -0.008571f, -0.007176f, -0.006786f, -0.003568f, 0.012186f, -0.003960f, 0.001272f, -0.009808f, 0.010434f, 0.001187f, -0.007828f, -0.001480f, 0.005855f, -0.012678f, 0.004010f, -0.003410f, 0.002510f, 0.002595f, -0.006471f, -0.003793f, -0.016089f, -0.003727f, -0.018064f, 0.002767f, 0.003510f, -0.001397f, -0.002856f, -0.001111f, 0.002195f, -0.006387f, -0.013018f, -0.005323f, -0.005089f, -0.001420f, 0.004133f, -0.002366f, 0.006993f, 0.003853f, 0.005241f, -0.007236f, -0.000931f, 0.000167f, -0.007005f, 0.002370f, 0.004620f, 0.000067f, -0.003760f, -0.007037f, -0.007578f, 0.005354f, 0.006569f, 0.000389f, 0.013520f, 0.011795f, -0.010637f, -0.001908f, -0.000550f, -0.009953f, -0.012760f, 0.019095f, -0.000913f, 0.001243f, 0.005131f, -0.010911f, -0.004507f, -0.006752f, 0.017464f, 0.005782f, 0.000209f, -0.013510f, -0.012266f, 0.002599f, -0.005584f, 0.010614f, -0.005772f, 0.001515f, 0.001439f, -0.021226f, - 0.010635f, 0.006008f, 0.010847f, -0.005814f, 0.005958f, 0.006204f, 0.011152f, 0.002638f, -0.021148f, 0.005295f, 0.000948f, 0.008425f, 0.015411f, 0.000816f, 0.006719f, 0.005858f, -0.012638f, 0.004466f, 0.001224f, 0.001768f, -0.003394f, -0.001750f, 0.007929f, 0.005229f, 0.000383f, -0.007746f, -0.000026f, -0.003689f, -0.003944f, 0.012703f, 0.005941f, -0.000518f, -0.001615f, -0.015320f, -0.013063f, -0.015050f, 0.004105f, 0.004083f, -0.015510f, 0.001119f, 0.001170f, -0.015463f, 0.001094f, 0.002396f, -0.001938f, 0.017787f, -0.002051f, -0.008740f, -0.002046f, 0.010209f, -0.000679f, -0.015851f, 0.017397f, 0.008904f, -0.010754f, 0.008357f, 0.001888f, 0.001578f, -0.000042f, 0.000923f, -0.003984f, -0.008012f, -0.007225f, 0.013686f, -0.000568f, -0.004117f, -0.000239f, 0.009768f, -0.008695f, -0.016368f, 0.001158f, 0.003454f, 0.003782f, -0.014488f, -0.006247f, 0.004965f, 0.006514f, 0.024368f, 0.007420f, 0.019522f, -0.021475f, 0.000711f, -0.010534f, 0.000229f, 0.007310f, 0.008158f, -0.010961f, 0.004741f, -0.006286f, -0.005799f, -0.007568f, -0.012654f, -0.001689f, -0.029660f, -0.000125f, 0.009661f, - -0.001143f, -0.002110f, 0.003416f, -0.015605f, 0.005629f, -0.014884f, -0.004494f, 0.015138f, 0.003265f, 0.005164f, 0.000545f, 0.004391f, 0.013178f, 0.011660f, 0.022824f, 0.011664f, -0.016917f, -0.001520f, 0.019268f, -0.002764f, -0.013746f, -0.002218f, 0.001980f, -0.006476f, 0.012990f, 0.009364f, -0.010756f, -0.003316f, 0.012474f, 0.012923f, -0.004417f, -0.008414f, 0.020900f, -0.008657f, -0.027634f, -0.018984f, 0.006373f, -0.028203f, -0.000327f, -0.008590f, 0.000367f, -0.002835f, -0.007612f, 0.010221f, 0.003215f, -0.003082f, -0.008967f, 0.007592f, -0.005323f, 0.014312f, 0.010272f, -0.004809f, -0.009829f, 0.001019f, 0.003711f, 0.001891f, -0.024100f, 0.011505f, -0.002333f, 0.006217f, 0.007672f, 0.013077f, 0.002631f, -0.011213f, 0.015141f, -0.005623f, 0.006556f, -0.006801f, 0.005389f, -0.000968f, -0.028428f, -0.005757f, -0.005182f, -0.003269f, 0.001520f, -0.006732f, -0.005061f, 0.003738f, 0.005711f, 0.002085f, 0.014691f, 0.006930f, -0.015157f, -0.001174f, -0.000491f, -0.008376f, 0.016897f, -0.010583f, -0.010661f, 0.018188f, 0.018744f, -0.002617f, -0.000859f, -0.012287f, 0.003682f, 0.002340f, - -0.006975f, 0.002896f, 0.011257f, 0.007045f, 0.013650f, -0.003983f, -0.012112f, 0.006595f, 0.000847f, 0.002969f, -0.014363f, -0.007534f, -0.008845f, 0.002576f, 0.006752f, 0.002159f, 0.001047f, 0.013107f, 0.015519f, 0.001658f, -0.009026f, 0.008535f, 0.006529f, -0.012716f, 0.000345f, 0.000886f, -0.002719f, 0.000069f, -0.001758f, 0.008412f, -0.002712f, -0.009509f, 0.002135f, 0.010851f, 0.003704f, 0.004210f, 0.009509f, -0.020263f, -0.012863f, 0.008716f, -0.005304f, -0.018891f, 0.009404f, -0.009657f, -0.009288f, 0.012969f, -0.004225f, -0.003657f, -0.003528f, 0.003702f, 0.008830f, 0.005285f, 0.004562f, 0.005599f, -0.008113f, -0.004126f, -0.002006f, 0.011735f, 0.005406f, -0.019308f, 0.005919f, 0.006649f, -0.008671f, 0.019093f, 0.016719f, 0.009666f, 0.000312f, -0.006290f, -0.004719f, 0.001469f, -0.006131f, -0.006496f, -0.011776f, 0.002125f, -0.013386f, 0.009955f, 0.003372f, 0.000562f, 0.001809f, 0.005452f, 0.004094f, 0.010599f, 0.015649f, -0.005600f, -0.025347f, -0.003981f, -0.017301f, 0.006291f, 0.002224f, -0.022395f, 0.008143f, -0.009207f, 0.028506f, 0.009817f, -0.018055f, -0.000318f, - 0.018186f, 0.009751f, -0.014869f, -0.008652f, 0.019126f, 0.011110f, -0.013054f, 0.016379f, -0.013329f, -0.017833f, 0.003085f, -0.027121f, 0.016760f, 0.017417f, -0.003516f, -0.016658f, -0.002226f, -0.000392f, 0.005315f, 0.000086f, -0.016438f, -0.011870f, 0.000175f, -0.019393f, -0.000167f, -0.045766f, -0.014677f, -0.005192f, -0.025319f, -0.008713f, -0.005523f, -0.010941f, -0.008786f, 0.006013f, -0.012389f, -0.022921f, 0.005782f, 0.014392f, -0.023771f, -0.006496f, 0.006858f, 0.011723f, 0.019828f, 0.012847f, 0.011504f, 0.012986f, 0.004302f, 0.023053f, -0.014213f, -0.006006f, 0.004439f, -0.011585f, 0.003874f, 0.006408f, 0.011610f, 0.001420f, 0.019282f, 0.003968f, 0.004329f, 0.013463f, -0.006627f, -0.011971f, -0.000401f, -0.018249f, -0.012141f, -0.021048f, -0.001542f, -0.001273f, -0.027998f, 0.009495f, -0.013110f, 0.005211f, -0.026562f, 0.002681f, -0.020341f, 0.028670f, 0.000575f, -0.026411f, 0.030185f, 0.037634f, 0.009689f, -0.013316f, -0.010575f, 0.009331f, -0.004531f, -0.001851f, 0.009918f, -0.018818f, 0.010319f, -0.019404f, 0.008095f, -0.008015f, -0.013109f, 0.004237f, 0.012801f, 0.002682f, - 0.011772f, -0.006331f, 0.018792f, -0.014410f, -0.014744f, -0.036344f, -0.008884f, -0.018483f, -0.045866f, 0.012101f, -0.026708f, -0.015075f, -0.021647f, 0.006549f, -0.041354f, 0.011687f, 0.002714f, -0.007023f, -0.001513f, -0.010904f, -0.004738f, 0.010596f, -0.014474f, -0.009057f, -0.000050f, 0.008301f, -0.012721f, -0.000073f, 0.013358f, -0.021472f, -0.005740f, 0.013945f, -0.012971f, 0.000156f, -0.000439f, -0.002605f, 0.018347f, -0.015576f, 0.010680f, -0.006552f, 0.014833f, 0.017200f, -0.017033f, -0.021032f, 0.020092f, -0.001203f, 0.003968f, 0.006438f, 0.001333f, -0.003660f, 0.011093f, -0.005199f, -0.026005f, 0.007772f, 0.004672f, -0.020929f, -0.002990f, -0.006719f, 0.012743f, 0.017376f, 0.007465f, 0.003989f, -0.006898f, -0.014371f, 0.015502f, 0.011308f, 0.013800f, 0.000482f, -0.023168f, -0.003688f, -0.003934f, -0.008041f, -0.005946f, -0.000224f, -0.010374f, 0.054306f, 0.032586f, 0.001381f, -0.016671f, -0.042415f, -0.004257f, 0.018684f, -0.008287f, -0.017531f, -0.030399f, -0.002495f, -0.005867f, 0.000360f, -0.009826f, 0.009394f, 0.000742f, 0.026604f, 0.011728f, -0.012065f, 0.000148f, -0.005525f, - 0.003040f, -0.006263f, 0.006636f, 0.016307f, -0.018803f, 0.003247f, -0.010905f, 0.007311f, -0.007446f, -0.014994f, -0.027155f, -0.002801f, 0.017275f, 0.004924f, -0.002392f, 0.005496f, -0.000930f, 0.014979f, 0.025584f, -0.008920f, -0.004335f, -0.028632f, -0.029377f, 0.008130f, 0.005837f, -0.013256f, -0.009874f, -0.025701f, -0.016121f, 0.009872f, -0.001889f, -0.000105f, 0.002752f, -0.002058f, 0.013133f, 0.006640f, -0.019386f, 0.000957f, -0.017471f, -0.001470f, -0.008616f, -0.005599f, 0.022025f, 0.042304f, 0.070678f, 0.003348f, 0.024065f, -0.019672f, -0.024441f, -0.035536f, 0.000188f, 0.002476f, 0.009929f, 0.012645f, -0.001266f, 0.000722f, 0.019831f, 0.033865f, -0.016910f, 0.000356f, 0.006141f, -0.027089f, -0.000059f, -0.017393f, -0.017445f, 0.026067f, -0.007908f, -0.006204f, -0.014181f, 0.029882f, 0.025709f, 0.000249f, 0.042442f, 0.005059f, 0.013034f, 0.009651f, -0.012244f, -0.013737f, -0.022581f, -0.011504f, 0.004894f, 0.000416f, 0.018845f, 0.001689f, -0.002408f, -0.003307f, 0.013228f, -0.019403f, -0.048141f, -0.016614f, 0.013802f, 0.004563f, -0.004230f, -0.014128f, 0.000556f, -0.022909f, - -0.003744f, -0.020882f, -0.001726f, -0.002565f, -0.015040f, 0.014196f, 0.006780f, 0.026905f, -0.022456f, 0.041643f, 0.010966f, -0.008165f, -0.014945f, -0.007672f, 0.006392f, 0.023889f, -0.007538f, 0.013551f, -0.021340f, 0.016895f, -0.019339f, -0.022053f, 0.021416f, -0.031490f, 0.020445f, 0.016522f, 0.033242f, -0.034364f, 0.025950f, -0.004157f, 0.023468f, 0.007603f, -0.034106f, -0.007955f, -0.005683f, 0.007777f, 0.002638f, -0.023500f, -0.030956f, -0.064139f, -0.019378f, -0.037763f, 0.010698f, -0.001954f, -0.012540f, -0.018829f, -0.017444f, -0.016239f, -0.017077f, -0.017228f, 0.002033f, -0.014098f, -0.002234f, -0.030344f, -0.045887f, 0.056267f, -0.017348f, 0.030356f, -0.005577f, 0.007620f, 0.010053f, 0.016217f, 0.011196f, -0.003195f, -0.000613f, -0.024735f, -0.005192f, -0.006144f, -0.016072f, -0.025951f, 0.010365f, -0.003254f, 0.036577f, -0.025441f, 0.001075f, 0.049665f, -0.011630f, -0.042021f, -0.012952f, 0.001207f, -0.018353f, 0.028825f, 0.014006f, -0.016586f, 0.012473f, 0.015208f, -0.009061f, -0.000888f, 0.008611f, 0.018978f, 0.000038f, -0.019948f, -0.018141f, 0.022728f, 0.017704f, -0.013099f, - -0.025663f, 0.016188f, 0.020917f, -0.018574f, -0.022694f, 0.015756f, -0.028944f, 0.057077f, 0.014336f, -0.006272f, 0.004473f, 0.012400f, 0.005710f, -0.012778f, 0.003937f, 0.000235f, 0.024038f, 0.015288f, -0.023991f, -0.000099f, 0.008908f, 0.006644f, -0.015794f, 0.037738f, 0.026703f, 0.054382f, 0.030071f, 0.020023f, 0.007742f, -0.048198f, -0.004164f, 0.006090f, -0.028458f, -0.007980f, 0.053745f, 0.003629f, -0.031746f, -0.031499f, 0.027571f, -0.043239f, -0.011564f, 0.001194f, 0.010849f, 0.004163f, -0.008753f, 0.013046f, -0.019929f, -0.000884f, -0.004644f, -0.013037f, -0.003486f, -0.009418f, -0.028711f, 0.013616f, -0.025072f, 0.013025f, 0.011579f, 0.015270f, 0.001879f, 0.009637f, -0.011273f, 0.043628f, 0.004760f, -0.049233f, -0.043378f, 0.002304f, 0.017389f, 0.034912f, -0.013627f, -0.030474f, -0.014397f, -0.005701f, 0.002334f, 0.019436f, 0.002758f, -0.019138f, 0.047437f, -0.063036f, -0.012285f, 0.008911f, -0.044536f, -0.024669f, -0.013588f, 0.003151f, -0.071013f, -0.035806f, 0.046212f, -0.022403f, 0.011487f, -0.020291f, -0.057855f, -0.025966f, 0.024960f, -0.013378f, 0.006041f, 0.030796f, - -0.014947f, -0.085209f, -0.025909f, 0.007947f, 0.021514f, 0.027113f, 0.018725f, 0.025041f, 0.036535f, 0.074443f, -0.044091f, 0.032923f, -0.013545f, 0.001696f, -0.013706f, -0.055684f, -0.047057f, -0.005349f, -0.005863f, 0.015601f, 0.019784f, 0.033119f, -0.012707f, 0.002028f, -0.018753f, 0.003171f, -0.006046f, 0.002764f, 0.027761f, 0.019699f, 0.007049f, 0.026992f, 0.024937f, -0.046440f, 0.021222f, -0.025637f, -0.039964f, -0.007598f, 0.020188f, 0.010060f, -0.028162f, 0.011476f, -0.000504f, 0.021048f, -0.005228f, -0.044739f, -0.038113f, -0.036437f, -0.043421f, 0.008816f, 0.029238f, -0.002466f, 0.115586f, -0.074222f, -0.062666f, 0.039893f, -0.014441f, -0.019834f, -0.012087f, -0.002239f, -0.002823f, -0.068572f, 0.003451f, -0.000572f, 0.005626f, 0.061020f, -0.008526f, 0.025102f, 0.016716f, 0.032744f, 0.086571f, -0.027378f, 0.110169f, 0.039542f, -0.011608f, 0.018269f, -0.052259f, 0.018897f, 0.084019f, 0.002230f, 0.087669f, 0.046033f, -0.005238f, -0.034022f, 0.098852f, 0.014629f, -0.016596f, 0.012572f, -0.022481f, -0.006852f, -0.003373f, -0.006304f, 0.012474f, 0.027330f, 0.019201f, 0.003381f, - 0.012666f, -0.020112f, -0.019201f, 0.005704f, -0.005873f, 0.032175f, 0.035206f, 0.022097f, -0.009074f, 0.001879f, -0.042840f, -0.027242f, -0.007960f, -0.029782f, -0.046318f, -0.027997f, 0.022086f, -0.027343f, -0.081662f, -0.038246f, 0.025013f, -0.033503f, -0.023210f, 0.000647f, -0.005893f, 0.037883f, 0.056675f, 0.073681f, -0.039131f, 0.020488f, -0.000298f, 0.001769f, -0.015647f, -0.049842f, -0.097607f, -0.065315f, 0.034553f, -0.066232f, -0.033646f, 0.016952f, 0.034047f, -0.025191f, 0.038489f, 0.106448f, 0.023889f, 0.019698f, -0.079677f, -0.110179f, -0.021603f, -0.035232f, -0.055564f, -0.017973f, -0.045142f, 0.033340f, 0.024597f, 0.096446f, 0.048179f, -0.021835f, 0.045442f, 0.088623f, -0.046928f, 0.067052f, 0.054772f, -0.009419f, -0.013369f, -0.030948f, 0.009789f, 0.059892f, 0.045416f, 0.070394f, -0.030219f, -0.014477f, -0.013803f, -0.004818f, -0.018355f, 0.018183f, -0.022643f, 0.051747f, 0.022940f, -0.085809f, -0.036056f, 0.000524f, 0.013791f, 0.036794f, -0.016644f, -0.032421f, 0.010682f, 0.010110f, -0.012598f, -0.015876f, 0.010839f, -0.024122f, -0.035955f, -0.016618f, 0.082011f, 0.033780f, - 0.015147f, -0.040401f, -0.011632f, -0.034091f, 0.021988f, 0.039842f, 0.014975f, 0.003472f, 0.025038f, -0.012683f, 0.053517f, 0.030397f, 0.005276f, 0.018448f, 0.000491f, 0.103493f, 0.023612f, -0.041627f, 0.019329f, 0.019645f, 0.013105f, 0.025387f, 0.004528f, -0.038799f, 0.052568f, 0.013839f, 0.012163f, 0.022737f, 0.013016f, 0.003944f, -0.026008f, 0.039820f, 0.044890f, 0.026234f, 0.120180f, 0.088177f, -0.038589f, -0.081065f, -0.001742f, -0.019362f, -0.101471f, -0.016436f, 0.028344f, 0.026261f, -0.021503f, 0.033480f, 0.013491f, -0.018012f, -0.036857f, 0.005318f, -0.007546f, -0.061321f, -0.016664f, -0.024070f, 0.005948f, -0.083319f, -0.060791f, -0.014336f, 0.040685f, -0.009056f, -0.010678f, -0.052094f, 0.002280f, 0.037337f, 0.003204f, -0.032705f, -0.015357f, -0.010320f, -0.015104f, 0.006020f, 0.014755f, -0.045161f, -0.044551f, 0.002676f, -0.000647f, 0.005288f, 0.075986f, -0.050553f, -0.003942f, -0.007615f, -0.072427f, -0.026892f, -0.052825f, -0.013321f, -0.003794f, 0.046799f, 0.059079f, 0.066368f, 0.021151f, 0.006885f, -0.026493f, -0.067905f, 0.003171f, 0.020009f, -0.021068f, 0.082313f, - 0.205977f, 0.191625f, 0.029470f, -0.131848f, -0.115145f, -0.051130f, -0.072077f, 0.236221f, 0.150529f, 0.088348f, 0.123201f, -0.007526f, -0.063668f, -0.177749f, -0.109209f, -0.047976f, -0.008173f, 0.064023f, 0.136186f, 0.047837f, -0.046757f, 0.054615f, 0.018138f, -0.000005f, -0.090843f, -0.038312f, 0.091693f, -0.064129f, 0.029841f, -0.006968f, -0.013088f, 0.019181f, 0.015953f, 0.038289f, 0.078080f, -0.049585f, -0.050424f, 0.007312f, -0.028416f, 0.037515f, -0.053101f, -0.038747f, -0.031485f, -0.003496f, -0.004350f, -0.042212f, 0.021169f, 0.060464f, -0.048245f, -0.067896f, -0.038507f, -0.022299f, -0.007481f, 0.083445f, 0.010946f, -0.011566f, -0.085414f, -0.032393f, 0.013635f, 0.068101f, 0.038619f, -0.023183f, -0.125722f, -0.103214f, 0.093453f, 0.086717f, 0.098150f, -0.053042f, -0.213354f, -0.053380f, 0.102077f, 0.070844f, 0.016484f, -0.036320f, 0.017674f, -0.099472f, -0.048799f, 0.017763f, -0.022505f, 0.014391f, -0.012994f, -0.009493f, 0.095034f, -0.082388f, -0.033653f, 0.061783f, 0.062167f, 0.099637f, 0.050254f, -0.171113f, 0.048655f, 0.147629f, 0.034807f, 0.063298f, 0.017245f, -0.066656f, - -0.110330f, 0.014028f, 0.017631f, 0.012095f, 0.105239f, 0.019762f, -0.009833f, -0.066617f, -0.013488f, -0.005028f, -0.017820f, 0.000992f, -0.014745f, 0.029036f, 0.010968f, -0.018517f, -0.005263f, 0.044101f, -0.001675f, -0.000822f, 0.002713f, -0.009102f, -0.020038f, 0.025355f, 0.019302f, 0.017473f, -0.028349f, 0.015397f, 0.038003f, 0.016978f, -0.004027f, 0.026985f, -0.006391f, -0.029149f, 0.006351f, 0.008944f, -0.026184f, -0.025477f, 0.024907f, 0.026948f, -0.027114f, 0.017379f, 0.014236f, 0.000719f, -0.010797f, 0.001043f, 0.018739f, -0.000364f, -0.023912f, 0.012367f, 0.012460f, -0.041360f, 0.009514f, 0.031317f, 0.009049f, -0.027033f, 0.003299f, 0.019205f, -0.036042f, 0.009337f, 0.015956f, 0.006454f, -0.009488f, -0.034490f, 0.039593f, -0.044135f, -0.003340f, 0.039391f, 0.001709f, -0.009689f, 0.002814f, -0.042387f, 0.020437f, -0.005885f, 0.027986f, 0.032506f, 0.100005f, 0.009122f, -0.012523f, -0.033201f, -0.022555f, 0.012117f, -0.015188f, 0.013322f, -0.020170f, -0.001182f, 0.015699f, -0.008564f, 0.007299f, 0.007768f, -0.027960f, 0.008148f, -0.009238f, -0.005567f, -0.023026f, 0.006976f, - -0.006577f, -0.013924f, -0.006803f, 0.011626f, -0.010044f, -0.009334f, 0.014124f, -0.015115f, 0.007958f, 0.014062f, -0.027829f, 0.028101f, -0.006898f, -0.032116f, 0.017473f, 0.017982f, -0.015178f, 0.006018f, 0.010051f, -0.013118f, -0.012242f, 0.000835f, 0.002035f, 0.009704f, -0.004294f, -0.000887f, -0.013547f, 0.013474f, -0.010532f, -0.002642f, 0.016171f, -0.018295f, 0.005857f, -0.002575f, 0.000408f, -0.008094f, -0.011982f, -0.004075f, 0.021991f, -0.013756f, -0.005180f, 0.004525f, 0.005052f, 0.001702f, -0.012587f, 0.011090f, -0.005355f, -0.010090f, 0.000194f, -0.019407f, 0.030766f, -0.011942f, 0.006623f, 0.008358f, -0.005744f, 0.012889f, -0.048665f, -0.082582f, 0.038373f, 0.279689f, 0.044216f, 0.139109f, -0.031778f, -0.143994f, -0.050713f, -0.140372f, -0.090445f, -0.030352f, -0.014151f, 0.005333f, 0.083782f, 0.098044f, 0.139063f, 0.135666f, 0.044651f, -0.055469f, -0.086527f, -0.162135f, -0.122078f, -0.066142f, -0.024141f, -0.017792f, 0.050739f, 0.081972f, 0.065470f, 0.086429f, 0.086159f, 0.029979f, 0.028640f, 0.009013f, -0.061229f, -0.024544f, -0.052510f, -0.094104f, -0.055004f, -0.055584f, - -0.079333f, -0.018563f, 0.038546f, 0.027062f, 0.082943f, 0.105918f, 0.056886f, 0.070032f, 0.054799f, -0.009105f, -0.001407f, -0.006607f, -0.056857f, -0.072753f, -0.062561f, -0.097203f, -0.080545f, -0.030441f, -0.003934f, 0.009875f, 0.067141f, 0.059329f, 0.059629f, 0.072372f, 0.056107f, 0.017264f, 0.035718f, 0.017426f, -0.020830f, -0.011971f, -0.039085f, -0.085397f, -0.049463f, -0.048476f, -0.064310f, -0.030475f, -0.014830f, -0.016616f, 0.022768f, 0.001400f}, - {0.001115f, 0.000622f, 0.004827f, 0.003952f, -0.004374f, -0.003021f, -0.000939f, 0.005945f, -0.006081f, -0.000380f, -0.003280f, -0.007662f, 0.003876f, -0.001496f, -0.007322f, -0.003116f, 0.007149f, -0.010052f, -0.002979f, 0.009242f, -0.002812f, -0.011497f, 0.007898f, -0.001025f, -0.004083f, 0.002477f, -0.003222f, 0.005750f, -0.003379f, 0.002612f, -0.006697f, 0.005926f, -0.000859f, -0.006490f, -0.000673f, -0.003050f, 0.003597f, 0.002987f, -0.001465f, 0.000436f, 0.000909f, 0.012689f, 0.005857f, -0.001653f, 0.006430f, -0.003161f, 0.005187f, 0.000842f, -0.002223f, -0.001520f, -0.008103f, 0.002208f, -0.003095f, -0.006297f, 0.005703f, 0.000960f, 0.003172f, 0.001356f, 0.003935f, -0.002317f, -0.003552f, -0.000007f, 0.000729f, 0.002315f, -0.001962f, 0.004021f, 0.000390f, 0.000645f, -0.000373f, -0.004999f, -0.000519f, 0.001868f, 0.003626f, 0.000944f, 0.002000f, 0.006068f, -0.002091f, 0.011460f, -0.006422f, 0.001893f, -0.009562f, 0.002658f, 0.001121f, 0.014622f, -0.008731f, 0.000004f, -0.004572f, 0.007318f, 0.007542f, -0.004804f, -0.000863f, -0.004129f, -0.002309f, -0.004822f, -0.005931f, 0.004399f, - 0.001495f, -0.003925f, 0.008231f, 0.007436f, 0.012781f, -0.000384f, 0.004876f, 0.002526f, -0.000155f, -0.011500f, 0.003050f, 0.004790f, -0.004479f, 0.002881f, -0.003285f, -0.003890f, -0.006249f, 0.003289f, 0.008186f, 0.000857f, 0.009542f, -0.003846f, -0.000744f, 0.009586f, 0.005065f, 0.000806f, -0.000055f, 0.009117f, 0.013699f, -0.010095f, 0.002331f, -0.003449f, -0.001517f, -0.015725f, -0.005553f, 0.006451f, -0.004861f, 0.004502f, 0.002075f, -0.002228f, -0.003811f, 0.002339f, -0.001313f, 0.005044f, 0.002642f, 0.002433f, 0.002452f, -0.008032f, 0.000180f, -0.003744f, 0.004815f, 0.008605f, 0.005470f, -0.000874f, 0.008322f, 0.000506f, 0.002004f, 0.000350f, 0.001337f, -0.001776f, 0.006661f, -0.008201f, -0.008954f, 0.000519f, -0.011995f, 0.002358f, -0.003899f, 0.005933f, -0.003345f, -0.009179f, 0.000886f, 0.009383f, -0.001584f, 0.000514f, 0.012612f, 0.016279f, -0.007120f, -0.007176f, -0.002280f, -0.011748f, 0.004924f, 0.001300f, 0.002795f, -0.003992f, 0.006194f, -0.008114f, -0.001707f, 0.005922f, -0.004880f, -0.001487f, 0.000678f, 0.010587f, 0.000466f, 0.007728f, -0.010086f, 0.009943f, - -0.001269f, 0.001643f, 0.006067f, -0.005178f, 0.005019f, -0.002212f, -0.002742f, 0.004773f, 0.005717f, -0.000747f, 0.003155f, -0.012837f, 0.007658f, 0.007968f, -0.014175f, -0.011945f, -0.003755f, -0.009850f, -0.003165f, 0.004169f, 0.002175f, 0.004004f, -0.000167f, -0.003058f, 0.008130f, -0.002529f, -0.000154f, -0.003068f, 0.001484f, -0.004810f, 0.006661f, 0.002170f, -0.006325f, -0.002719f, -0.003116f, -0.002806f, -0.004065f, 0.007769f, 0.020882f, 0.003719f, -0.007440f, 0.009339f, 0.001409f, -0.006761f, 0.019053f, -0.012937f, -0.017982f, -0.010919f, -0.010852f, -0.004003f, 0.005506f, 0.006309f, -0.006147f, 0.009202f, -0.011845f, -0.006864f, -0.001348f, 0.003604f, 0.003069f, -0.004019f, -0.004626f, 0.010270f, 0.002113f, -0.001136f, -0.005930f, 0.007533f, -0.005787f, -0.001792f, 0.000009f, -0.001138f, -0.000828f, 0.002616f, 0.001651f, -0.002145f, 0.006627f, -0.003658f, 0.004020f, -0.000832f, -0.010887f, -0.004823f, -0.004390f, 0.010936f, -0.006465f, -0.008391f, -0.014167f, -0.017098f, -0.003109f, 0.000162f, -0.006686f, 0.011778f, 0.001554f, 0.005966f, -0.005189f, 0.010030f, 0.004448f, -0.007082f, - 0.017249f, -0.008755f, -0.008629f, 0.000441f, 0.010717f, 0.015048f, 0.011119f, 0.002727f, -0.005811f, -0.013705f, 0.004775f, -0.001350f, 0.012166f, 0.003678f, -0.003803f, -0.001918f, 0.006094f, 0.003262f, -0.002184f, -0.018822f, 0.002312f, -0.006385f, 0.003779f, 0.002020f, 0.013283f, -0.017389f, -0.011111f, -0.012586f, 0.006317f, 0.006595f, 0.007728f, -0.008801f, 0.002437f, -0.002148f, 0.000368f, -0.014109f, -0.013447f, -0.008597f, -0.010022f, 0.015547f, -0.006892f, -0.001170f, -0.001172f, 0.005693f, -0.003295f, -0.015095f, 0.005679f, -0.005658f, -0.003007f, 0.007834f, 0.004479f, 0.008893f, -0.000459f, 0.005001f, -0.012016f, -0.004019f, 0.008817f, 0.016890f, 0.008541f, -0.000217f, -0.013605f, 0.009395f, -0.005157f, -0.010348f, 0.013767f, 0.004868f, 0.003942f, -0.008771f, -0.006584f, 0.005510f, -0.004649f, -0.004755f, 0.006556f, -0.005879f, 0.001368f, 0.000686f, -0.011835f, -0.001954f, -0.008385f, 0.011135f, 0.003983f, -0.001366f, 0.000184f, -0.004940f, 0.004674f, 0.001089f, -0.002136f, 0.001826f, -0.014601f, -0.006714f, 0.004602f, 0.002991f, -0.004864f, -0.002213f, -0.011903f, -0.029543f, - 0.009892f, 0.001491f, 0.007404f, 0.007962f, -0.005683f, -0.020844f, 0.016186f, 0.006887f, 0.015944f, -0.002838f, 0.008524f, -0.000069f, -0.005549f, -0.000274f, -0.014591f, 0.018196f, 0.004304f, 0.001876f, -0.009096f, -0.005149f, -0.006081f, 0.005610f, -0.008058f, 0.014071f, 0.000853f, 0.005032f, 0.007965f, 0.004560f, -0.000611f, 0.004799f, 0.004559f, -0.002864f, 0.003899f, -0.014973f, 0.004323f, 0.007448f, 0.007514f, 0.014285f, 0.005152f, -0.008699f, 0.004996f, -0.004080f, 0.009781f, 0.002437f, 0.007240f, 0.011180f, 0.002147f, -0.001574f, 0.008680f, -0.004878f, -0.008492f, -0.002450f, 0.006224f, 0.015502f, -0.002958f, 0.001939f, 0.000774f, 0.002860f, 0.003393f, 0.007329f, 0.002623f, -0.002479f, -0.000120f, -0.003668f, 0.004333f, 0.002885f, -0.008641f, -0.006236f, 0.003833f, 0.007292f, 0.005705f, 0.011683f, -0.013619f, -0.004516f, -0.010094f, 0.015847f, 0.008122f, 0.029156f, 0.016762f, 0.013438f, 0.021641f, 0.004864f, 0.004686f, -0.013472f, 0.000495f, -0.024507f, -0.003349f, 0.008312f, 0.007518f, 0.003501f, 0.006465f, 0.005834f, -0.004138f, -0.004162f, 0.014629f, 0.011607f, - 0.011569f, -0.001454f, 0.002534f, -0.017605f, -0.013616f, -0.006188f, 0.011842f, 0.002868f, -0.001101f, 0.005241f, -0.008729f, 0.000359f, -0.003917f, 0.011254f, 0.010489f, 0.020204f, -0.000819f, 0.007300f, 0.007793f, -0.003850f, -0.009576f, 0.019025f, -0.010010f, -0.003054f, 0.010217f, -0.000037f, 0.006443f, 0.013629f, -0.003034f, 0.004823f, -0.012101f, -0.029497f, -0.014577f, -0.010041f, -0.002294f, 0.000980f, 0.000513f, -0.007847f, -0.013895f, -0.003582f, -0.009409f, 0.003150f, 0.001646f, 0.001117f, -0.015628f, -0.008264f, 0.013556f, 0.003752f, 0.001581f, -0.019693f, -0.015239f, 0.010456f, 0.004588f, 0.006450f, -0.009905f, -0.000451f, -0.002153f, -0.014663f, 0.010977f, -0.006241f, -0.001059f, -0.038970f, -0.009819f, -0.014087f, -0.010147f, 0.002111f, 0.012539f, -0.002089f, 0.016741f, 0.009634f, -0.001508f, -0.016471f, -0.007515f, 0.025769f, 0.003743f, -0.014619f, -0.011531f, -0.004491f, 0.011371f, -0.008734f, -0.000327f, 0.008645f, 0.012424f, 0.015037f, -0.016401f, 0.011221f, 0.001003f, 0.003524f, 0.004113f, 0.006376f, 0.004694f, 0.015058f, -0.000024f, 0.004898f, -0.013193f, 0.018335f, - -0.009383f, -0.003752f, 0.002611f, -0.014386f, 0.017972f, -0.002467f, -0.036234f, -0.011431f, -0.029148f, 0.002176f, -0.000750f, -0.008302f, 0.038747f, -0.006447f, -0.019625f, -0.006195f, -0.005016f, 0.018291f, -0.002690f, 0.008879f, 0.010328f, -0.007044f, 0.013248f, 0.018740f, -0.009509f, 0.007232f, -0.016496f, 0.008138f, -0.005882f, -0.004630f, 0.019096f, -0.007092f, -0.001586f, -0.008864f, 0.000976f, -0.000856f, 0.018118f, -0.025218f, 0.005191f, 0.004975f, -0.007736f, 0.003228f, 0.019096f, 0.020116f, 0.007733f, 0.007125f, 0.009893f, -0.015765f, -0.002472f, -0.016816f, -0.000084f, 0.010599f, 0.007046f, -0.003595f, -0.012931f, -0.004351f, 0.009254f, -0.017392f, 0.000921f, -0.001286f, 0.008349f, 0.016469f, 0.001930f, -0.008933f, -0.006394f, 0.017639f, -0.010947f, -0.005504f, 0.010596f, -0.006344f, -0.020434f, -0.007580f, 0.005227f, 0.003522f, -0.007852f, 0.001945f, 0.011404f, 0.007497f, 0.011045f, -0.001247f, 0.008494f, 0.014995f, -0.006005f, 0.007453f, 0.007106f, -0.010308f, 0.022963f, -0.021469f, 0.013494f, 0.005541f, -0.028990f, 0.028375f, -0.017610f, 0.003898f, -0.002416f, 0.022529f, - -0.008713f, -0.016388f, -0.002424f, -0.000225f, 0.005209f, 0.016969f, -0.013661f, -0.001400f, 0.002363f, 0.000098f, -0.001211f, 0.003866f, -0.010379f, -0.003689f, -0.006469f, -0.019082f, -0.013662f, -0.019465f, 0.015359f, -0.045219f, 0.024609f, -0.017651f, -0.012921f, -0.021778f, 0.002081f, -0.002069f, 0.003528f, 0.016615f, -0.013795f, -0.004485f, 0.012379f, 0.012333f, -0.004151f, 0.005262f, -0.006465f, -0.020188f, -0.002288f, 0.006081f, -0.011005f, 0.017746f, 0.002614f, -0.001102f, -0.010253f, -0.008980f, 0.002124f, 0.026997f, 0.000943f, -0.002680f, 0.007020f, -0.021502f, -0.003969f, 0.009290f, -0.015297f, 0.022994f, 0.013919f, 0.000361f, -0.006640f, -0.006143f, -0.008319f, -0.013733f, -0.018324f, 0.016850f, 0.001401f, 0.028984f, 0.002831f, -0.000027f, -0.012021f, 0.003768f, -0.004379f, 0.007745f, 0.000201f, -0.015803f, -0.012924f, -0.016053f, -0.029078f, -0.002377f, 0.027322f, -0.023315f, -0.000424f, -0.024384f, 0.005534f, 0.009585f, 0.007688f, 0.021154f, -0.000235f, -0.024611f, 0.021676f, 0.000908f, -0.010441f, -0.007780f, -0.020030f, -0.004271f, -0.013129f, 0.014373f, 0.020228f, -0.007767f, - 0.018049f, -0.017629f, -0.008472f, 0.011377f, 0.004402f, -0.023592f, 0.002062f, 0.029373f, -0.033924f, 0.001466f, 0.016681f, 0.038200f, -0.016011f, -0.010428f, -0.003686f, 0.029455f, 0.030032f, -0.031719f, -0.000911f, -0.024495f, -0.010912f, 0.015034f, 0.016223f, 0.019979f, 0.012196f, -0.004626f, 0.014966f, -0.018401f, -0.009105f, -0.002336f, -0.002231f, -0.026382f, 0.002794f, -0.001128f, 0.034683f, -0.005820f, 0.017337f, 0.003539f, 0.010466f, 0.022365f, -0.013390f, -0.006701f, -0.033312f, 0.022742f, -0.029319f, -0.005806f, 0.007261f, -0.004538f, -0.016778f, -0.004829f, 0.005276f, -0.012738f, 0.003727f, -0.002508f, -0.002246f, -0.038460f, -0.026541f, 0.001364f, -0.019167f, -0.027169f, 0.005221f, -0.025171f, 0.008140f, 0.015472f, -0.014178f, 0.026937f, 0.006082f, 0.017013f, 0.019304f, 0.004105f, -0.013608f, -0.017607f, -0.019998f, 0.009466f, -0.019091f, 0.048124f, 0.019029f, 0.008989f, 0.023649f, -0.008522f, 0.004421f, -0.024346f, -0.033095f, 0.021249f, 0.040961f, 0.013250f, -0.000880f, -0.040290f, 0.048996f, 0.008073f, 0.005442f, 0.008040f, 0.001171f, 0.009917f, 0.002167f, -0.006158f, - -0.000973f, 0.013528f, -0.008367f, 0.016774f, 0.002362f, -0.011373f, -0.017888f, -0.003632f, 0.015063f, -0.003208f, 0.004462f, -0.005978f, -0.006992f, 0.001441f, 0.043887f, 0.008427f, 0.005757f, 0.007282f, 0.003063f, 0.028022f, -0.010663f, 0.009046f, -0.017983f, 0.033242f, 0.043602f, 0.013033f, -0.003304f, -0.014239f, 0.045562f, 0.023390f, -0.000104f, -0.016231f, 0.005968f, -0.008969f, -0.002494f, -0.018684f, -0.008586f, -0.011731f, -0.019748f, 0.032611f, -0.010064f, 0.024730f, 0.003770f, -0.015106f, -0.001228f, -0.034902f, 0.034671f, 0.000220f, -0.018001f, -0.010288f, -0.022544f, -0.023530f, -0.014963f, 0.044821f, -0.010687f, -0.004507f, 0.011201f, 0.014430f, -0.010954f, -0.010727f, 0.043551f, 0.043569f, 0.052823f, 0.032439f, 0.009987f, -0.013318f, -0.014755f, 0.008218f, 0.014823f, 0.019173f, -0.029108f, -0.000686f, -0.004147f, 0.014354f, 0.010438f, -0.019616f, -0.025132f, -0.000054f, -0.010089f, 0.023153f, 0.026316f, -0.000050f, 0.013469f, 0.004674f, 0.004754f, 0.031340f, -0.020282f, -0.025639f, 0.018971f, -0.033571f, 0.001715f, -0.010545f, 0.017189f, 0.009079f, -0.000939f, 0.021163f, - 0.018427f, -0.018398f, 0.020993f, -0.000537f, -0.011055f, 0.004746f, 0.022786f, -0.010030f, 0.008784f, 0.017340f, 0.006455f, -0.039663f, -0.024283f, 0.002954f, 0.000150f, -0.027413f, -0.020079f, 0.007685f, 0.010434f, 0.009463f, -0.038305f, -0.026540f, -0.027520f, -0.003556f, 0.012959f, 0.020976f, -0.060105f, -0.044122f, 0.003805f, 0.006348f, 0.029451f, 0.008687f, 0.007913f, 0.020293f, -0.008005f, -0.010751f, -0.014434f, -0.017783f, -0.037280f, -0.034360f, -0.030009f, 0.012208f, -0.004687f, 0.017402f, -0.032970f, -0.004271f, 0.000571f, -0.011343f, -0.015907f, 0.027068f, -0.010882f, 0.006307f, -0.001289f, 0.002853f, -0.027000f, -0.008562f, -0.023203f, 0.004029f, 0.002095f, 0.006871f, 0.060910f, -0.022979f, 0.016231f, 0.027081f, -0.014000f, -0.011353f, -0.019471f, -0.002669f, 0.028077f, -0.028313f, 0.019406f, -0.000799f, -0.005626f, 0.003849f, 0.002262f, 0.016972f, 0.001113f, -0.030050f, 0.023252f, -0.018260f, -0.045405f, -0.035065f, -0.018724f, 0.061887f, 0.050965f, -0.026727f, -0.008502f, -0.037133f, -0.032440f, -0.011354f, 0.037163f, 0.002311f, 0.025624f, 0.014884f, -0.017745f, 0.021119f, - -0.013408f, -0.038511f, -0.003211f, -0.022714f, -0.004554f, -0.011391f, 0.079584f, 0.002413f, -0.064250f, 0.053098f, -0.019020f, -0.012576f, 0.054500f, 0.054942f, 0.004847f, -0.020050f, 0.020340f, 0.009209f, -0.030906f, -0.020067f, 0.010034f, 0.006898f, 0.017557f, 0.053195f, 0.009733f, -0.001959f, 0.013029f, 0.002207f, -0.021923f, -0.014357f, 0.012466f, 0.002123f, 0.044305f, 0.009701f, -0.002340f, 0.015192f, 0.023950f, 0.023175f, 0.026083f, 0.000650f, -0.017680f, -0.005773f, -0.040858f, -0.006397f, -0.046190f, 0.025122f, -0.027992f, -0.011822f, 0.000447f, 0.036774f, -0.021540f, 0.020027f, -0.015051f, 0.011727f, -0.018959f, 0.023024f, 0.036600f, 0.001409f, -0.007430f, -0.020673f, -0.027950f, 0.014599f, 0.018302f, 0.044838f, -0.006024f, 0.001000f, 0.020515f, 0.072413f, -0.017024f, 0.009582f, -0.011756f, -0.042691f, 0.029044f, -0.007593f, 0.020700f, -0.004401f, 0.005262f, -0.026792f, 0.068507f, -0.104725f, 0.075631f, -0.120110f, 0.050917f, -0.063556f, 0.019139f, -0.050986f, 0.017548f, 0.027322f, -0.006850f, 0.017918f, -0.010770f, 0.077755f, -0.049111f, 0.042392f, 0.025429f, 0.021640f, - 0.082119f, -0.056804f, 0.023503f, 0.015939f, -0.050201f, -0.000547f, -0.010268f, -0.013251f, -0.025995f, -0.000471f, 0.002488f, 0.033860f, 0.011866f, 0.018199f, 0.024364f, 0.021037f, 0.000398f, 0.028494f, -0.031981f, -0.003486f, 0.037861f, 0.005364f, -0.052615f, -0.010884f, -0.068742f, -0.011616f, 0.011750f, -0.011463f, -0.016142f, -0.001705f, 0.061102f, 0.016803f, 0.004580f, 0.008849f, 0.015249f, -0.003202f, -0.035184f, -0.009287f, -0.003924f, 0.008051f, -0.008098f, -0.014828f, 0.044377f, 0.025521f, -0.009113f, -0.000396f, -0.009450f, -0.038316f, -0.032815f, -0.022186f, -0.019866f, 0.046708f, 0.010924f, 0.018565f, -0.026819f, -0.024044f, 0.008589f, 0.020492f, 0.016966f, -0.005166f, -0.005154f, -0.027836f, -0.019979f, 0.029347f, 0.001264f, -0.070578f, 0.025866f, 0.043576f, 0.012656f, -0.028146f, -0.020231f, -0.011095f, 0.004197f, -0.015803f, 0.008349f, -0.025236f, -0.067620f, 0.059146f, 0.073443f, -0.007429f, 0.053626f, 0.001577f, 0.008856f, 0.022507f, -0.045912f, 0.016503f, 0.035423f, 0.033677f, 0.015195f, 0.010175f, -0.032868f, 0.024371f, 0.015487f, -0.020786f, 0.011894f, -0.004311f, - 0.041310f, 0.010931f, 0.011356f, 0.023696f, -0.008472f, -0.027497f, 0.009047f, 0.051343f, -0.017241f, -0.009907f, 0.047546f, -0.016877f, -0.019527f, -0.016653f, 0.017218f, 0.059957f, 0.084221f, -0.004743f, -0.052476f, 0.081868f, 0.029377f, -0.052954f, 0.062071f, 0.023978f, -0.013611f, -0.014688f, -0.021278f, -0.036740f, -0.000629f, 0.021004f, -0.030832f, -0.019856f, -0.066820f, -0.007743f, 0.041471f, -0.081109f, -0.043213f, 0.015127f, 0.015087f, 0.018692f, 0.052044f, 0.047196f, -0.071877f, 0.003736f, 0.004627f, -0.048472f, 0.016351f, 0.029155f, -0.025021f, -0.013831f, -0.021037f, 0.021680f, 0.058980f, 0.026770f, 0.029848f, -0.026885f, 0.013081f, -0.037840f, 0.043793f, 0.149514f, -0.048348f, 0.002397f, 0.010493f, 0.068155f, 0.058548f, -0.018293f, -0.026648f, -0.036245f, 0.000785f, 0.029623f, -0.001720f, -0.017874f, -0.020425f, 0.028098f, -0.015322f, -0.034674f, -0.032862f, -0.005125f, 0.053926f, 0.039682f, -0.043974f, 0.004373f, 0.000238f, -0.017417f, 0.020993f, 0.009498f, -0.015955f, -0.003527f, -0.012610f, -0.004189f, 0.069249f, -0.024259f, -0.046599f, -0.030652f, -0.026593f, 0.063359f, - 0.001443f, -0.012458f, 0.056496f, 0.040862f, 0.015327f, 0.030795f, 0.055644f, -0.031923f, 0.008524f, 0.056316f, 0.031698f, 0.043575f, -0.047064f, -0.011079f, -0.001687f, 0.022127f, 0.018829f, -0.042217f, 0.004425f, -0.056116f, -0.087855f, -0.002106f, -0.023039f, 0.043539f, 0.045782f, -0.009179f, -0.003286f, 0.012103f, -0.031689f, -0.082319f, 0.057733f, -0.038228f, 0.009137f, -0.012693f, -0.028694f, -0.013385f, -0.033301f, -0.062476f, 0.006966f, 0.003994f, -0.023237f, -0.006863f, -0.072889f, -0.041571f, -0.033934f, -0.085556f, 0.099197f, -0.001944f, 0.052330f, -0.011527f, 0.002766f, -0.059378f, -0.032512f, -0.030363f, 0.007146f, 0.047440f, -0.001886f, -0.048173f, -0.036208f, -0.069067f, -0.077348f, 0.067386f, 0.024921f, -0.059611f, -0.018398f, 0.030753f, 0.055862f, 0.008777f, -0.068439f, -0.040769f, 0.013992f, 0.020440f, 0.017526f, 0.041465f, -0.042361f, -0.039247f, -0.005790f, -0.012937f, 0.006121f, 0.013561f, -0.082281f, -0.013538f, -0.057262f, -0.035118f, -0.076532f, -0.027200f, 0.105822f, 0.020299f, 0.003705f, 0.028137f, 0.026474f, 0.010709f, 0.078625f, 0.064660f, -0.020282f, 0.023918f, - 0.105997f, -0.024652f, -0.024675f, -0.021943f, -0.078919f, 0.000595f, -0.043375f, -0.093971f, -0.103086f, -0.049466f, -0.053556f, 0.028900f, -0.040386f, 0.009039f, 0.020168f, -0.063285f, -0.025593f, 0.008622f, 0.004133f, 0.068056f, -0.045269f, 0.015480f, -0.051985f, -0.014251f, -0.056414f, 0.009622f, 0.063541f, 0.001226f, 0.038511f, -0.078431f, 0.069384f, 0.026822f, -0.016603f, 0.059575f, 0.006039f, 0.028798f, -0.024471f, -0.023600f, -0.002270f, 0.020552f, 0.011601f, -0.053435f, 0.050457f, -0.059484f, 0.006149f, 0.021066f, -0.022825f, 0.040622f, -0.040487f, -0.018533f, -0.005655f, -0.010176f, -0.021049f, -0.000492f, 0.007189f, -0.025044f, -0.035340f, -0.006983f, -0.007037f, -0.004172f, 0.019816f, 0.015661f, 0.007571f, -0.037003f, 0.010221f, 0.055159f, 0.066195f, -0.044561f, -0.025558f, 0.061929f, 0.077245f, -0.041993f, -0.029724f, 0.038258f, 0.013314f, -0.031807f, 0.030718f, -0.082088f, -0.017696f, 0.042180f, 0.070070f, 0.015850f, -0.043976f, -0.032319f, 0.010343f, 0.092127f, 0.006912f, 0.021190f, 0.001862f, 0.037617f, -0.006551f, 0.073944f, -0.002880f, -0.055283f, 0.038731f, -0.024243f, - -0.102741f, -0.032749f, 0.021201f, -0.039139f, 0.108006f, 0.073275f, 0.053559f, 0.023297f, 0.073921f, 0.046476f, 0.019875f, 0.030545f, -0.079866f, -0.115148f, -0.012279f, -0.002425f, -0.025495f, 0.011433f, -0.002091f, -0.032690f, -0.033382f, -0.033405f, 0.061115f, 0.046816f, -0.037079f, -0.008747f, -0.002377f, -0.013711f, -0.011091f, -0.024616f, -0.027276f, -0.046360f, -0.004914f, 0.071848f, -0.020884f, -0.045586f, -0.016767f, 0.067169f, -0.029827f, -0.036263f, 0.112914f, 0.035285f, 0.021737f, -0.030424f, -0.056946f, -0.045847f, -0.058837f, 0.012979f, 0.054576f, 0.134603f, -0.118356f, -0.055515f, 0.074703f, 0.094882f, 0.020570f, -0.009846f, 0.130226f, 0.056742f, -0.036729f, 0.036285f, -0.011308f, -0.003772f, -0.084599f, -0.048721f, -0.027451f, -0.148653f, -0.057887f, -0.028038f, 0.080739f, -0.047098f, -0.021216f, 0.052204f, -0.000925f, -0.014230f, 0.016637f, 0.032253f, 0.091246f, 0.034280f, -0.008237f, 0.024399f, -0.005231f, -0.007912f, -0.034415f, 0.016825f, 0.013440f, -0.026106f, -0.013583f, -0.096548f, -0.004534f, 0.040593f, -0.009968f, -0.039912f, 0.017143f, -0.008501f, 0.043111f, 0.009338f, - -0.021768f, 0.000272f, 0.046185f, -0.026017f, 0.006921f, 0.017525f, -0.014849f, 0.000221f, -0.025931f, 0.052307f, -0.003730f, 0.008347f, 0.000194f, 0.025640f, -0.011947f, -0.009035f, -0.016797f, 0.011036f, 0.018762f, -0.007779f, 0.022405f, -0.009232f, 0.013544f, -0.023451f, -0.019769f, 0.030240f, 0.037051f, -0.047896f, 0.001589f, 0.000966f, 0.003875f, 0.016319f, -0.031372f, 0.048068f, -0.042848f, 0.038958f, 0.004604f, -0.064629f, -0.004280f, 0.052630f, -0.067653f, 0.033358f, -0.000360f, 0.010213f, -0.016688f, -0.008277f, 0.013001f, -0.017418f, 0.068181f, -0.048391f, 0.007390f, -0.010800f, -0.005955f, 0.020355f, 0.001927f, -0.004477f, -0.049474f, -0.138682f, -0.198935f, 0.064844f, 0.172934f, 0.036192f, 0.482878f, 0.397085f, 0.266045f, 0.453505f, 0.232913f, -0.022017f, -0.063996f, -0.187727f, -0.425646f, -0.352885f, -0.344540f, -0.475602f, -0.355116f, -0.111527f, -0.086083f, -0.023649f, 0.149743f, 0.062910f, -0.034029f, 0.089022f, 0.155159f, 0.068118f, 0.063281f, 0.138331f, 0.074402f, 0.053085f, 0.121009f, 0.200872f, 0.070809f, 0.108175f, 0.184337f, 0.012519f, -0.010400f, 0.158082f, - 0.081827f, -0.096937f, 0.059835f, 0.084754f, -0.149181f, -0.066593f, 0.098146f, -0.060105f, -0.114022f, 0.132908f, 0.051352f, -0.144504f, 0.049301f, 0.077741f, -0.205916f, -0.197101f, -0.113441f, -0.439168f, -0.568954f, -0.378980f, -0.514518f, -0.668743f, -0.488333f, -0.501384f, -0.632477f, -0.519351f, -0.388719f, -0.419723f, -0.292059f, -0.080991f, 0.016320f, 0.152575f, 0.313738f, 0.408106f, 0.519923f, 0.569393f, 0.605801f, 0.477355f, 0.132426f, 0.006435f} - }, - { - {-0.013812f, -0.004739f, 0.001066f, -0.002851f, 0.000736f, 0.000244f, 0.007534f, -0.009808f, -0.005056f, -0.000901f, -0.004243f, -0.002640f, -0.007437f, 0.003630f, -0.007415f, -0.004358f, 0.001129f, 0.006013f, -0.007526f, 0.000036f, 0.000556f, -0.006042f, 0.002394f, 0.001135f, -0.002858f, 0.000562f, 0.003302f, 0.010859f, 0.002104f, 0.001420f, 0.004345f, 0.001814f, -0.000538f, 0.002236f, -0.002530f, 0.002325f, -0.009430f, -0.003408f, 0.002657f, -0.002102f, 0.010008f, -0.005262f, -0.003015f, -0.006340f, 0.002086f, 0.001896f, -0.001167f, 0.001637f, -0.001755f, -0.003058f, -0.005411f, -0.000612f, -0.000781f, 0.004443f, 0.006173f, 0.001689f, 0.004392f, 0.003213f, 0.000223f, 0.000781f, 0.000023f, -0.009515f, 0.001992f, -0.000093f, -0.005615f, 0.000400f, -0.005086f, 0.004639f, 0.004961f, -0.002676f, -0.004876f, -0.011462f, 0.003131f, 0.006387f, 0.005926f, -0.005542f, -0.000534f, 0.007509f, 0.018123f, 0.000265f, 0.000789f, -0.008678f, -0.006865f, 0.005175f, 0.003239f, 0.000433f, 0.007431f, -0.011177f, -0.003731f, 0.018013f, 0.001284f, 0.003478f, -0.004691f, -0.006134f, 0.008549f, 0.007061f, - -0.002912f, 0.006950f, 0.000366f, 0.001102f, -0.006812f, 0.002441f, -0.006191f, -0.004930f, -0.006073f, 0.002058f, 0.000339f, -0.002043f, -0.000596f, 0.002072f, 0.005474f, -0.002604f, -0.009701f, 0.000132f, -0.006874f, -0.008981f, -0.002215f, 0.003995f, -0.001234f, 0.003561f, 0.002439f, 0.003261f, -0.001245f, -0.001298f, -0.001503f, -0.001487f, 0.003216f, -0.000144f, 0.006423f, -0.000875f, 0.007922f, 0.001239f, 0.001992f, 0.007278f, 0.002884f, 0.001833f, 0.009770f, -0.003891f, 0.003465f, -0.003332f, -0.006324f, 0.006104f, -0.001807f, -0.000023f, 0.002733f, -0.001163f, -0.005033f, -0.001751f, 0.004606f, -0.002625f, 0.000560f, -0.005420f, 0.003418f, -0.023674f, -0.012373f, -0.005495f, -0.005206f, 0.000021f, 0.000001f, 0.001804f, 0.000273f, -0.001293f, -0.009785f, -0.004374f, -0.010029f, -0.015568f, -0.013104f, 0.007385f, 0.008999f, 0.009204f, -0.003693f, -0.001064f, -0.001114f, -0.002029f, 0.003297f, 0.001430f, -0.003403f, -0.007055f, 0.005006f, 0.004359f, 0.006273f, 0.001674f, -0.002233f, -0.003865f, 0.001712f, 0.003042f, -0.000820f, 0.006464f, -0.003242f, -0.000184f, 0.006182f, -0.004813f, - -0.007731f, 0.000599f, 0.010451f, 0.002413f, 0.002231f, 0.001462f, -0.000014f, 0.001333f, -0.001739f, 0.001856f, -0.008445f, 0.001335f, 0.008545f, -0.002011f, 0.000020f, 0.000826f, -0.003060f, -0.001689f, -0.001305f, -0.001449f, -0.002418f, 0.005249f, -0.005068f, 0.005145f, 0.004331f, 0.009660f, -0.000760f, 0.005397f, 0.012333f, -0.002366f, -0.010055f, -0.011303f, -0.000564f, -0.001587f, 0.000640f, -0.009682f, 0.002949f, -0.006754f, 0.016212f, 0.013278f, 0.005257f, 0.006942f, -0.004576f, 0.003293f, 0.011126f, 0.005877f, 0.012003f, -0.004490f, 0.004675f, 0.007332f, -0.000630f, 0.009319f, -0.004945f, 0.005940f, 0.000751f, -0.005466f, -0.001745f, -0.000783f, -0.000641f, -0.001328f, 0.000393f, -0.002585f, 0.000624f, -0.001805f, 0.010945f, -0.002267f, -0.000906f, 0.000291f, -0.005355f, -0.013954f, 0.007834f, -0.003059f, 0.002844f, -0.005338f, -0.005660f, -0.005728f, -0.004319f, 0.004055f, 0.010472f, 0.008849f, 0.003274f, -0.000254f, -0.002622f, 0.003786f, 0.007431f, -0.001342f, -0.002858f, 0.009979f, -0.004569f, 0.004994f, -0.005105f, -0.003331f, -0.002622f, 0.004005f, 0.003462f, -0.006282f, - -0.004982f, 0.000667f, 0.006854f, 0.009849f, 0.004703f, 0.007827f, -0.001379f, 0.007414f, 0.002285f, 0.007816f, -0.004450f, 0.003605f, 0.015921f, 0.008468f, 0.006428f, -0.000709f, -0.005279f, -0.010012f, 0.005028f, 0.019132f, 0.002534f, 0.007098f, 0.013583f, 0.000518f, -0.007944f, -0.003074f, -0.002427f, 0.000862f, -0.004983f, -0.013108f, 0.005391f, 0.000840f, 0.000309f, 0.006048f, -0.008882f, -0.003670f, 0.014140f, -0.002955f, -0.005201f, -0.007803f, 0.000426f, -0.007307f, -0.001143f, -0.002023f, -0.002165f, 0.001654f, 0.011597f, 0.000320f, -0.003296f, 0.004063f, -0.008729f, 0.012893f, -0.001207f, -0.001902f, 0.015524f, -0.007855f, 0.001132f, -0.009388f, -0.004266f, 0.001860f, 0.000972f, 0.005005f, 0.005315f, -0.008100f, 0.003319f, 0.005028f, 0.003764f, 0.002127f, 0.005021f, 0.004476f, 0.007076f, -0.004419f, -0.002323f, 0.013456f, -0.004119f, 0.006174f, 0.002066f, 0.005155f, 0.004094f, 0.000834f, -0.002954f, 0.001373f, 0.009648f, -0.002854f, 0.000770f, -0.000293f, 0.003439f, 0.010169f, -0.002557f, -0.006455f, -0.016219f, 0.004517f, 0.001595f, 0.002474f, 0.003120f, -0.001605f, - -0.006743f, -0.021743f, 0.011716f, -0.008122f, -0.010102f, -0.000923f, -0.020249f, 0.003240f, 0.008111f, -0.003840f, 0.017338f, -0.007518f, -0.017621f, 0.003137f, 0.008736f, -0.008095f, -0.012021f, 0.021647f, 0.000048f, -0.002828f, 0.007375f, -0.006556f, -0.001444f, 0.000909f, -0.009783f, 0.005176f, 0.000330f, 0.001811f, -0.000828f, 0.009345f, -0.001182f, 0.004597f, 0.006883f, -0.012130f, -0.003660f, -0.007479f, 0.012678f, -0.006992f, -0.001715f, 0.006953f, -0.001326f, -0.007752f, 0.006519f, 0.013970f, -0.006204f, 0.006037f, -0.006443f, 0.008657f, -0.003916f, 0.003839f, 0.002743f, -0.006997f, -0.014081f, 0.007305f, 0.013171f, -0.002629f, -0.001828f, 0.004969f, 0.009838f, 0.006148f, -0.008995f, -0.002882f, -0.007657f, -0.002562f, 0.005394f, -0.008433f, 0.004672f, 0.005749f, -0.005837f, -0.002046f, 0.003848f, -0.009671f, -0.003139f, 0.005003f, -0.002477f, 0.003110f, -0.000425f, -0.008213f, 0.010388f, -0.011407f, -0.011297f, -0.019399f, 0.008231f, 0.020572f, 0.003191f, -0.003627f, -0.001691f, -0.003385f, 0.017981f, -0.010637f, -0.009651f, -0.002207f, -0.010632f, -0.003193f, -0.011544f, -0.004922f, - -0.008035f, -0.016111f, -0.004362f, -0.003422f, -0.000347f, -0.001608f, 0.004467f, 0.009894f, 0.003735f, 0.005012f, -0.014642f, 0.002076f, 0.000079f, -0.004438f, 0.005532f, 0.003020f, -0.003979f, -0.001654f, -0.010228f, -0.011506f, -0.001284f, 0.013378f, -0.003360f, -0.006406f, -0.000932f, -0.004027f, -0.008638f, 0.000505f, -0.009003f, 0.019985f, 0.017181f, 0.004663f, -0.004373f, -0.004197f, 0.002468f, 0.003365f, 0.004184f, 0.003660f, -0.000333f, 0.007745f, -0.005991f, 0.003688f, -0.005071f, 0.000661f, 0.001053f, 0.004587f, 0.004113f, 0.009710f, -0.002595f, -0.005137f, -0.003573f, -0.020770f, 0.002511f, 0.005006f, 0.000083f, 0.008336f, 0.006281f, -0.005743f, -0.019247f, 0.002438f, 0.021262f, 0.018464f, -0.019902f, -0.019716f, 0.005700f, -0.015856f, -0.007175f, 0.001343f, -0.000239f, -0.006968f, 0.016338f, 0.006047f, -0.021060f, -0.002611f, 0.002122f, -0.001044f, 0.014801f, 0.004353f, -0.009340f, 0.013871f, 0.006315f, 0.001082f, -0.007058f, -0.009261f, 0.007134f, -0.006255f, -0.013979f, -0.003573f, -0.001087f, -0.007500f, -0.007994f, -0.012839f, 0.013583f, 0.000005f, 0.002746f, -0.009178f, - 0.001077f, 0.008122f, -0.006238f, -0.015953f, -0.014358f, 0.015078f, 0.004490f, 0.014172f, -0.001502f, 0.003383f, 0.012039f, 0.021683f, 0.008234f, -0.003818f, -0.010621f, -0.005958f, -0.004811f, 0.002425f, 0.002189f, -0.010054f, -0.002682f, 0.012099f, 0.010297f, 0.016787f, 0.009393f, -0.013515f, -0.010797f, 0.013607f, 0.008935f, -0.009041f, 0.001178f, 0.013898f, 0.002299f, -0.002330f, -0.010738f, 0.011414f, 0.010811f, -0.004408f, 0.018230f, 0.003433f, -0.008294f, 0.003354f, -0.003143f, -0.001541f, 0.009988f, -0.016615f, 0.010018f, -0.010840f, 0.001944f, 0.008924f, -0.000139f, -0.004304f, 0.003270f, -0.011325f, 0.000458f, -0.008773f, -0.025970f, -0.007761f, 0.011016f, 0.007309f, 0.004040f, -0.006113f, 0.005350f, 0.002593f, 0.027800f, 0.004993f, -0.009322f, 0.010559f, 0.002117f, 0.002448f, 0.018547f, -0.005057f, -0.005078f, 0.006687f, -0.012876f, 0.015927f, 0.014595f, -0.000049f, 0.008343f, -0.002736f, -0.007769f, -0.000721f, -0.009788f, 0.001173f, -0.009553f, 0.004178f, 0.000136f, 0.003200f, 0.001438f, -0.016419f, -0.003117f, -0.001756f, 0.001319f, -0.008036f, 0.004098f, 0.004191f, - -0.002747f, 0.022659f, -0.009143f, -0.019197f, 0.012375f, 0.019931f, 0.005091f, 0.005581f, -0.007778f, 0.017230f, -0.004779f, 0.003408f, 0.008513f, 0.002787f, -0.006324f, 0.008479f, 0.004888f, 0.001262f, 0.001691f, 0.056988f, -0.015868f, 0.000752f, -0.006043f, -0.003183f, -0.012918f, 0.000179f, -0.033448f, 0.017717f, -0.012178f, -0.000322f, 0.018961f, 0.010025f, -0.012945f, -0.013097f, -0.005300f, -0.011087f, 0.010397f, -0.026802f, 0.004934f, 0.012025f, 0.015592f, 0.003779f, 0.004600f, 0.001358f, 0.002505f, -0.002869f, -0.008650f, -0.024280f, -0.003703f, 0.004006f, 0.011563f, -0.008169f, 0.011181f, 0.005241f, -0.004475f, -0.000666f, 0.008734f, -0.008092f, -0.008434f, -0.003906f, -0.006376f, 0.000110f, -0.021975f, -0.009242f, -0.005041f, 0.000580f, 0.017881f, 0.005201f, 0.017114f, 0.007117f, -0.000388f, -0.009118f, 0.001712f, 0.002554f, 0.003035f, 0.007419f, 0.024051f, 0.004480f, -0.021428f, 0.007551f, -0.007979f, 0.001412f, -0.007579f, -0.007076f, -0.003551f, 0.011470f, 0.006723f, -0.036227f, -0.013649f, -0.008417f, 0.008472f, 0.002108f, -0.007220f, -0.000622f, 0.023052f, -0.002465f, - 0.012890f, -0.007972f, -0.010262f, 0.007864f, -0.018414f, 0.001813f, -0.042029f, 0.010778f, -0.014226f, 0.004764f, -0.014753f, -0.029759f, -0.005376f, -0.006359f, 0.020970f, 0.009917f, 0.007130f, 0.000015f, 0.028066f, -0.020837f, 0.004627f, 0.008911f, 0.021552f, -0.024811f, -0.015217f, -0.004307f, 0.001490f, -0.000955f, -0.007872f, -0.001616f, 0.007063f, -0.013007f, 0.002219f, 0.008902f, -0.002163f, 0.001869f, -0.011689f, -0.011968f, -0.008448f, 0.035097f, -0.000249f, -0.007599f, 0.012806f, -0.007503f, -0.017824f, -0.013417f, -0.009903f, -0.001750f, 0.005561f, 0.001993f, 0.000664f, 0.019778f, 0.016913f, -0.002456f, 0.005698f, 0.004877f, -0.022541f, -0.014477f, -0.001468f, -0.001151f, -0.006282f, -0.014458f, 0.017940f, 0.022815f, -0.018816f, 0.012488f, 0.010750f, -0.003216f, -0.018062f, -0.027969f, -0.027984f, -0.021019f, -0.013151f, -0.024517f, 0.001330f, -0.020470f, 0.010689f, -0.017209f, -0.013899f, -0.010121f, -0.010793f, -0.003777f, -0.024900f, 0.000848f, 0.027908f, -0.009975f, 0.014884f, -0.006056f, 0.027869f, 0.023038f, 0.010018f, -0.028799f, -0.006918f, 0.037928f, -0.009433f, 0.028065f, - 0.004884f, -0.027336f, -0.013267f, 0.031754f, 0.001196f, -0.021703f, 0.001045f, -0.018529f, -0.001945f, 0.006287f, 0.003241f, -0.003865f, -0.031208f, -0.028502f, 0.008520f, 0.020287f, -0.017449f, -0.001800f, 0.008794f, -0.001565f, 0.003997f, 0.033825f, 0.007196f, 0.004751f, 0.003948f, 0.011036f, -0.013987f, -0.010896f, -0.006571f, -0.036095f, -0.010915f, -0.013708f, -0.007925f, 0.009196f, 0.007803f, -0.002560f, -0.001960f, -0.014508f, -0.019733f, 0.027704f, -0.004105f, -0.025056f, -0.009403f, 0.004561f, 0.021197f, -0.015417f, -0.001956f, -0.016415f, 0.000134f, -0.019603f, -0.000004f, -0.004873f, -0.033565f, 0.002467f, -0.007127f, 0.025114f, 0.001530f, -0.022037f, -0.015831f, 0.012746f, -0.046048f, -0.024118f, -0.015598f, -0.025812f, -0.013223f, -0.010824f, -0.025971f, 0.027236f, -0.007659f, 0.041321f, -0.020738f, -0.032002f, -0.005789f, -0.021659f, 0.036302f, -0.012889f, -0.018617f, -0.009315f, 0.009989f, 0.017727f, 0.016050f, -0.004377f, -0.003864f, -0.008848f, 0.004327f, 0.029008f, -0.000417f, 0.002164f, -0.009162f, -0.004441f, -0.015128f, -0.005807f, 0.007298f, 0.004334f, -0.012402f, -0.000195f, - -0.018538f, 0.002954f, -0.005195f, -0.006588f, 0.008268f, 0.002655f, -0.008300f, -0.004560f, 0.016817f, 0.005023f, -0.012810f, -0.018838f, 0.030215f, -0.002632f, -0.046268f, 0.023149f, -0.004387f, -0.021386f, 0.010393f, -0.004420f, 0.003187f, -0.006224f, 0.017520f, 0.004539f, 0.003008f, 0.043220f, 0.046138f, -0.017882f, 0.006697f, -0.035902f, -0.004913f, -0.009120f, 0.016998f, -0.008198f, 0.005922f, 0.010140f, -0.005056f, 0.021224f, 0.055653f, -0.041707f, -0.013590f, -0.026355f, -0.017841f, 0.021281f, -0.024351f, 0.051323f, -0.006308f, 0.015721f, 0.002508f, 0.012477f, -0.032218f, 0.005833f, 0.007946f, -0.002401f, -0.005245f, -0.002887f, 0.008915f, -0.019699f, -0.012405f, -0.002955f, -0.006124f, -0.024410f, -0.022109f, -0.006040f, -0.010610f, 0.028883f, -0.008334f, -0.014231f, -0.010782f, 0.009606f, -0.015831f, -0.006846f, -0.026852f, 0.011608f, -0.010863f, 0.010103f, -0.010194f, 0.012949f, -0.008021f, -0.045544f, -0.023955f, 0.005793f, -0.004702f, -0.003640f, -0.015261f, -0.027659f, -0.002908f, 0.010684f, 0.006436f, -0.007230f, 0.007226f, 0.012457f, 0.040796f, -0.019600f, 0.018315f, -0.049309f, - 0.001058f, 0.005381f, -0.007805f, -0.015527f, 0.007373f, -0.000172f, -0.000348f, 0.008564f, 0.030904f, 0.020498f, 0.014049f, -0.011770f, -0.014698f, 0.013598f, -0.024990f, 0.001305f, 0.010904f, -0.016956f, 0.020773f, 0.067741f, 0.045173f, -0.010895f, -0.030924f, -0.018161f, 0.038512f, -0.045971f, 0.000960f, -0.010361f, -0.013275f, 0.021241f, -0.036520f, 0.006421f, -0.019435f, 0.001336f, -0.025862f, -0.016967f, 0.001305f, 0.003087f, -0.000540f, -0.021653f, 0.035933f, 0.009439f, -0.018246f, 0.008662f, -0.006432f, 0.005184f, 0.054348f, 0.019553f, -0.017047f, -0.011776f, 0.001257f, 0.019281f, 0.003230f, -0.039752f, -0.011708f, -0.026842f, -0.011059f, -0.011471f, 0.012685f, -0.005718f, -0.005370f, 0.001816f, -0.002835f, -0.018342f, -0.025152f, 0.017632f, -0.010383f, 0.006376f, -0.002490f, 0.022997f, -0.018242f, -0.009814f, 0.003928f, 0.010972f, -0.023695f, 0.027268f, -0.016975f, -0.034007f, -0.035263f, -0.009707f, -0.011072f, -0.012241f, -0.008931f, -0.049193f, 0.016936f, -0.021954f, -0.009102f, -0.017831f, 0.027367f, 0.012041f, 0.012411f, 0.002764f, -0.005784f, -0.022388f, -0.009926f, -0.064665f, - -0.008624f, 0.043929f, -0.053849f, -0.020724f, -0.001907f, -0.015851f, 0.018664f, -0.010648f, 0.059531f, -0.005641f, -0.013802f, -0.009584f, -0.003405f, 0.017996f, -0.012742f, -0.011289f, 0.048323f, -0.035696f, -0.005222f, 0.011715f, -0.008837f, 0.030988f, 0.016423f, -0.001930f, -0.004808f, 0.013228f, 0.016481f, 0.019153f, 0.014562f, 0.032621f, 0.009300f, 0.014054f, 0.007360f, -0.010532f, 0.053273f, 0.006829f, 0.008970f, 0.013687f, 0.006862f, 0.039168f, -0.004097f, 0.009527f, 0.012201f, 0.011132f, 0.005022f, 0.025636f, -0.016803f, -0.012724f, 0.024279f, -0.005155f, -0.027644f, -0.007171f, -0.047219f, -0.016044f, -0.010510f, 0.042488f, -0.042681f, -0.005986f, -0.000217f, -0.002189f, -0.004483f, 0.024558f, 0.067337f, -0.013101f, 0.006194f, 0.006959f, 0.007718f, 0.032193f, -0.039284f, -0.037971f, -0.037522f, 0.058526f, -0.000611f, -0.022428f, 0.047188f, -0.018452f, 0.037221f, 0.004933f, -0.040309f, -0.113028f, 0.021560f, -0.026044f, -0.045604f, 0.051049f, -0.031044f, -0.013804f, -0.044904f, 0.012814f, -0.009938f, -0.041057f, -0.015087f, -0.023741f, 0.010658f, -0.021853f, -0.000080f, 0.010712f, - 0.017942f, 0.011358f, 0.031241f, 0.006749f, -0.001410f, -0.001703f, -0.028469f, -0.019273f, -0.020592f, 0.017451f, 0.023109f, 0.013026f, 0.007499f, 0.001085f, 0.008259f, 0.020831f, 0.043234f, -0.019134f, -0.012750f, 0.009671f, -0.021200f, 0.023272f, 0.003590f, -0.017409f, 0.044079f, 0.018516f, -0.038985f, 0.017109f, -0.037526f, 0.006502f, 0.005994f, 0.021487f, -0.011351f, -0.009996f, 0.056397f, 0.024729f, -0.025607f, 0.017539f, 0.029406f, -0.020826f, -0.050936f, 0.030646f, -0.004950f, 0.002507f, 0.003167f, 0.015505f, 0.076631f, -0.003578f, 0.008668f, 0.018912f, -0.001418f, 0.022408f, 0.008992f, -0.035910f, 0.006736f, -0.015871f, -0.035052f, -0.041127f, 0.087729f, 0.018292f, -0.005340f, -0.010947f, 0.019997f, 0.078537f, 0.036492f, 0.008986f, -0.002050f, 0.025991f, 0.066171f, 0.015901f, 0.022931f, 0.020034f, 0.047192f, -0.030875f, 0.030601f, 0.012957f, -0.090172f, 0.026139f, -0.012674f, 0.026137f, -0.028046f, 0.020577f, 0.014146f, 0.027363f, -0.000201f, 0.011186f, 0.004394f, -0.026363f, 0.012748f, 0.024637f, -0.021369f, 0.011972f, -0.020778f, -0.013277f, 0.064627f, 0.005759f, - 0.057182f, -0.041676f, 0.017688f, -0.003011f, -0.008394f, -0.002239f, -0.005202f, 0.007915f, 0.020758f, 0.013545f, -0.001879f, 0.031685f, -0.052521f, -0.050315f, 0.035346f, -0.029155f, -0.007609f, -0.007746f, -0.034195f, 0.015785f, -0.009381f, 0.008327f, 0.004699f, 0.054154f, 0.026341f, 0.027866f, 0.010298f, 0.006433f, -0.051248f, -0.013064f, 0.023881f, -0.001928f, -0.000551f, -0.001416f, -0.017822f, -0.044731f, 0.021434f, -0.077998f, 0.066299f, -0.027295f, 0.012034f, 0.044893f, -0.064682f, -0.000524f, -0.006475f, 0.016535f, 0.022711f, 0.028593f, 0.046357f, 0.009056f, -0.031603f, 0.017846f, 0.049376f, -0.070735f, -0.043332f, 0.049120f, 0.001308f, 0.000552f, 0.001079f, 0.005020f, -0.002530f, -0.000372f, 0.023355f, 0.015943f, -0.035749f, 0.003001f, -0.011032f, 0.060692f, 0.034850f, -0.011486f, 0.002205f, 0.007939f, 0.005994f, 0.000318f, 0.020274f, 0.002877f, 0.015187f, 0.061818f, 0.006857f, 0.007099f, -0.010875f, 0.016345f, -0.059826f, -0.024548f, -0.026168f, -0.001972f, 0.004378f, -0.050680f, 0.018312f, -0.044899f, 0.013429f, 0.047876f, -0.012393f, -0.041807f, -0.024946f, 0.018342f, - -0.010556f, -0.085981f, 0.021412f, -0.059629f, -0.015636f, -0.006378f, -0.000520f, -0.022854f, 0.003559f, 0.032485f, -0.027832f, -0.054942f, -0.089346f, 0.071688f, 0.017578f, -0.003338f, 0.015048f, 0.094322f, -0.101644f, 0.039787f, 0.055148f, -0.067315f, -0.017754f, -0.037231f, -0.016950f, 0.093736f, -0.040779f, 0.065921f, -0.029527f, -0.011268f, -0.014857f, 0.020223f, 0.010794f, -0.084979f, -0.013355f, -0.023986f, 0.038079f, -0.000152f, 0.017325f, 0.026870f, -0.038184f, -0.009451f, -0.023550f, 0.012619f, 0.036116f, 0.019150f, -0.049979f, -0.010940f, 0.012781f, 0.005218f, -0.000956f, -0.026397f, -0.007849f, -0.048923f, -0.006288f, -0.008272f, 0.045826f, -0.040233f, 0.097274f, 0.019220f, -0.025302f, 0.040193f, 0.003937f, 0.052700f, 0.032147f, 0.049926f, 0.015152f, 0.045457f, 0.040945f, 0.044420f, 0.051132f, 0.005683f, 0.049546f, -0.062003f, -0.007950f, 0.010878f, -0.037315f, -0.008724f, 0.027328f, -0.048660f, -0.066253f, 0.025534f, 0.046517f, -0.000673f, 0.012072f, -0.050146f, -0.011473f, -0.042451f, -0.000782f, 0.043325f, 0.003398f, 0.083136f, 0.035825f, -0.023137f, 0.062290f, -0.131299f, - 0.119434f, -0.024236f, -0.044358f, -0.032243f, 0.081747f, -0.060959f, -0.013772f, -0.014786f, -0.004052f, 0.049490f, -0.054145f, -0.000777f, 0.016952f, -0.011419f, -0.009939f, 0.005156f, -0.031967f, 0.044858f, -0.000700f, -0.062691f, -0.019834f, -0.012082f, 0.001142f, -0.068973f, -0.003589f, 0.012912f, -0.017475f, 0.004898f, 0.017030f, 0.049468f, -0.021631f, -0.006973f, 0.006694f, -0.025703f, -0.097042f, 0.012748f, 0.071734f, -0.033407f, -0.060888f, 0.008787f, 0.057268f, -0.023209f, -0.021001f, -0.073007f, -0.015727f, 0.006760f, 0.052546f, 0.031123f, 0.003933f, -0.053393f, -0.036895f, 0.051961f, -0.058887f, 0.025448f, 0.088527f, 0.058040f, 0.067777f, -0.028139f, 0.037908f, 0.033005f, -0.083722f, -0.022535f, -0.046947f, -0.003359f, 0.042723f, 0.005380f, 0.046223f, 0.049391f, -0.084446f, 0.097171f, -0.059622f, 0.009369f, -0.002480f, -0.029539f, 0.077332f, 0.010303f, -0.047199f, 0.082100f, 0.055406f, 0.010112f, -0.017037f, -0.040060f, 0.022842f, -0.001545f, -0.005341f, -0.000900f, -0.002969f, 0.001950f, -0.017542f, 0.022041f, -0.001945f, -0.069953f, 0.016496f, 0.008264f, -0.026316f, 0.002801f, - 0.029535f, -0.008580f, 0.000629f, -0.049995f, 0.036364f, -0.016542f, -0.006998f, -0.003283f, 0.020135f, -0.026145f, -0.002390f, 0.008404f, -0.000467f, 0.007983f, -0.014633f, 0.040509f, -0.021402f, 0.069863f, -0.042911f, -0.042294f, 0.040705f, -0.044766f, 0.001331f, 0.037264f, -0.033518f, -0.012170f, 0.017629f, 0.024168f, 0.027894f, -0.100912f, 0.032003f, 0.001537f, -0.024474f, 0.068148f, -0.033634f, 0.006740f, -0.000305f, -0.052806f, 0.070806f, -0.000406f, -0.003489f, -0.034317f, -0.006963f, 0.062240f, -0.013692f, 0.001485f, 0.002659f, 0.021044f, 0.010495f, -0.068041f, 0.037099f, 0.070134f, -0.031884f, 0.032616f, -0.047110f, 0.094057f, 0.010083f, -0.063199f, -0.044947f, -0.149872f, -0.226701f, 0.014661f, 0.195670f, 0.002218f, 0.512189f, 0.463669f, 0.277444f, 0.535211f, 0.350999f, -0.059741f, 0.019064f, -0.070667f, -0.423933f, -0.241943f, -0.187674f, -0.414908f, -0.341344f, -0.102702f, -0.201508f, -0.231623f, -0.021258f, 0.010441f, -0.099654f, 0.017746f, 0.084334f, -0.115557f, -0.098515f, 0.145716f, 0.026831f, -0.040724f, 0.100408f, 0.135544f, -0.004676f, 0.138792f, 0.238791f, 0.081805f, - 0.061589f, 0.242490f, 0.162268f, 0.013948f, 0.176309f, 0.262289f, 0.111698f, 0.130305f, 0.299664f, 0.108647f, 0.034337f, 0.284528f, 0.280226f, 0.080130f, 0.338581f, 0.484167f, 0.174802f, 0.192395f, 0.334394f, 0.093986f, -0.122098f, 0.007905f, -0.125840f, -0.427570f, -0.407782f, -0.436137f, -0.691647f, -0.748139f, -0.797924f, -0.942924f, -0.984025f, -0.963033f, -0.934808f, -0.825490f, -0.736560f, -0.602712f, -0.386639f, -0.263248f, -0.014537f, 0.386460f, 0.334089f, 0.065555f}, - {-0.013861f, -0.005870f, 0.000823f, -0.005459f, -0.000702f, 0.006872f, -0.007999f, 0.003450f, -0.003475f, -0.003504f, -0.007449f, -0.002442f, 0.011322f, -0.008068f, 0.006433f, 0.003489f, -0.006159f, -0.000276f, -0.009061f, 0.002604f, -0.000753f, 0.005558f, -0.016272f, -0.007117f, -0.002165f, 0.003521f, -0.001352f, -0.005909f, -0.000019f, -0.001609f, -0.007437f, 0.007231f, -0.000014f, 0.002122f, 0.007805f, 0.000418f, -0.001935f, -0.001271f, -0.001493f, 0.000720f, -0.003364f, -0.005271f, -0.004332f, -0.004106f, -0.002323f, -0.002574f, 0.010531f, 0.006915f, 0.002549f, 0.002212f, 0.001931f, -0.002321f, -0.000710f, -0.002219f, 0.010002f, -0.001338f, 0.002650f, -0.006858f, 0.002569f, -0.000632f, 0.004066f, 0.002017f, 0.001412f, -0.002971f, 0.000501f, -0.001837f, 0.007803f, 0.000038f, 0.000888f, 0.003626f, 0.001967f, -0.004854f, 0.002329f, 0.001014f, -0.002422f, -0.000327f, 0.000114f, 0.005781f, 0.017463f, 0.004287f, 0.002261f, -0.003736f, -0.001794f, -0.008481f, -0.000705f, -0.001951f, 0.006249f, 0.006124f, -0.006223f, -0.003951f, -0.003900f, -0.003093f, -0.004540f, 0.000733f, 0.004884f, -0.003894f, - -0.004835f, -0.014389f, -0.011156f, -0.007668f, -0.000744f, 0.001043f, 0.010367f, -0.005672f, 0.004941f, 0.003540f, 0.002345f, 0.000886f, -0.008427f, 0.002292f, -0.017521f, 0.002316f, 0.000114f, 0.001031f, -0.001598f, -0.010337f, -0.005244f, -0.008887f, 0.000117f, 0.000791f, -0.005955f, -0.013931f, 0.009249f, -0.000493f, -0.008744f, 0.000143f, 0.005024f, 0.001373f, -0.003353f, 0.002171f, -0.005225f, -0.001877f, -0.004975f, 0.003564f, -0.005277f, 0.006790f, 0.004821f, -0.000954f, -0.009998f, 0.000590f, 0.000695f, -0.000758f, -0.004077f, 0.002440f, 0.001025f, -0.002119f, 0.004417f, 0.005534f, 0.003138f, 0.000311f, -0.000661f, 0.001641f, -0.005740f, -0.018906f, -0.021202f, -0.001519f, -0.008379f, 0.006463f, -0.010389f, 0.002593f, 0.004808f, -0.007106f, 0.005793f, 0.021202f, 0.001188f, -0.001977f, 0.011627f, 0.001551f, 0.011670f, 0.000153f, 0.005317f, -0.008381f, -0.011089f, -0.000629f, 0.004178f, -0.007729f, -0.002506f, -0.000813f, -0.002206f, 0.002076f, -0.002302f, -0.004099f, 0.003801f, -0.001949f, -0.001665f, 0.008306f, 0.011832f, -0.003740f, -0.006459f, 0.002337f, 0.009442f, 0.003582f, - 0.012113f, 0.000483f, -0.001808f, -0.000339f, 0.010779f, 0.000676f, -0.007903f, -0.004296f, 0.008414f, 0.006183f, 0.006502f, 0.001799f, -0.004403f, -0.008797f, 0.001557f, 0.004144f, 0.004933f, -0.001880f, -0.004837f, 0.009535f, 0.006128f, -0.001535f, -0.005615f, 0.000380f, -0.004041f, 0.009996f, 0.002648f, 0.001936f, 0.002706f, 0.001270f, 0.001506f, 0.006312f, 0.000399f, 0.006435f, -0.002062f, 0.010233f, -0.000061f, -0.008687f, 0.011189f, 0.007756f, 0.011779f, 0.012154f, -0.002875f, 0.006063f, -0.002565f, -0.006971f, -0.000594f, 0.018026f, 0.007966f, 0.003983f, 0.006485f, -0.007593f, 0.012941f, 0.005472f, 0.008688f, -0.002604f, -0.014256f, 0.005957f, -0.022273f, 0.004471f, -0.005649f, 0.004428f, 0.003572f, -0.000483f, -0.007630f, 0.001789f, 0.005071f, -0.003056f, 0.004760f, 0.011248f, -0.000753f, -0.009459f, -0.012732f, 0.001919f, 0.005779f, -0.011857f, 0.006611f, -0.011153f, -0.007155f, 0.007943f, -0.004603f, -0.009452f, -0.004491f, -0.006703f, 0.010405f, 0.014081f, 0.008109f, -0.005222f, 0.000136f, 0.007455f, 0.004605f, -0.000775f, -0.005722f, -0.002896f, -0.005010f, 0.005253f, - 0.017633f, -0.000299f, -0.009435f, -0.007684f, 0.004156f, 0.001252f, -0.003483f, -0.010575f, -0.000109f, -0.009090f, -0.003417f, 0.001214f, -0.001452f, 0.006889f, 0.001384f, 0.008738f, 0.010376f, -0.009018f, -0.003282f, 0.024821f, -0.006611f, 0.002325f, 0.003630f, -0.016548f, -0.013940f, 0.000239f, 0.016337f, 0.012288f, 0.019728f, 0.006345f, -0.005522f, -0.008629f, 0.001476f, -0.005034f, 0.003895f, 0.001697f, 0.006657f, 0.012031f, 0.003892f, 0.008806f, -0.000266f, 0.005122f, -0.005446f, -0.011628f, -0.005999f, -0.008971f, 0.000080f, -0.002702f, 0.002611f, -0.014161f, -0.006983f, -0.002158f, 0.005070f, -0.007178f, 0.014306f, -0.016540f, 0.003397f, -0.010561f, -0.008363f, 0.004331f, 0.004034f, 0.013469f, -0.001642f, 0.003079f, -0.004068f, 0.009262f, 0.010155f, 0.002372f, -0.002333f, -0.010956f, -0.001572f, 0.003051f, -0.008132f, 0.007431f, -0.008941f, 0.003142f, 0.014438f, 0.011518f, 0.000053f, -0.005458f, 0.002161f, 0.013737f, -0.001929f, 0.002663f, 0.002173f, 0.010867f, 0.000058f, -0.004363f, -0.007402f, 0.003790f, -0.011065f, 0.002322f, 0.023392f, 0.003360f, 0.011448f, -0.002805f, - -0.009445f, -0.015172f, 0.007481f, -0.010709f, -0.011774f, 0.002729f, -0.005882f, -0.036173f, 0.003201f, 0.006032f, 0.033123f, 0.011229f, 0.002147f, -0.014797f, 0.013618f, 0.006443f, -0.006391f, 0.007713f, -0.001582f, 0.012569f, -0.007648f, -0.003352f, -0.002773f, -0.002812f, -0.005335f, -0.001762f, 0.008352f, 0.007985f, 0.012792f, 0.005106f, 0.006141f, 0.000305f, -0.008771f, -0.008759f, 0.012129f, -0.006335f, 0.002509f, -0.000665f, -0.008976f, 0.013017f, -0.002319f, -0.004982f, 0.001981f, 0.009608f, -0.006278f, 0.014353f, -0.017775f, -0.014088f, -0.018008f, 0.004801f, -0.010195f, -0.014792f, -0.003637f, 0.014768f, -0.006148f, 0.004781f, 0.008403f, -0.005636f, -0.008091f, 0.001166f, 0.001322f, 0.005308f, 0.000928f, -0.003903f, -0.000400f, 0.018983f, 0.007995f, -0.006876f, -0.022873f, -0.017809f, 0.007188f, 0.022700f, 0.019018f, -0.013343f, 0.001247f, -0.007892f, 0.005051f, -0.006388f, 0.010666f, -0.018087f, -0.003216f, -0.022465f, -0.006745f, 0.003421f, 0.007723f, -0.020514f, -0.005290f, 0.014118f, -0.001889f, -0.020579f, 0.010459f, -0.006607f, -0.012006f, 0.006408f, 0.010548f, 0.002377f, - 0.001987f, 0.003631f, 0.013815f, -0.006817f, -0.006184f, 0.003545f, -0.007340f, -0.003739f, -0.000182f, -0.000996f, 0.000076f, 0.011082f, 0.005385f, -0.001577f, -0.001435f, 0.006317f, 0.002303f, 0.007792f, -0.001206f, 0.008803f, 0.009176f, 0.003467f, -0.011151f, 0.001089f, -0.002073f, -0.008020f, 0.009580f, -0.006313f, 0.003620f, -0.007580f, -0.003260f, -0.025841f, 0.001584f, 0.019775f, 0.001047f, 0.021002f, -0.004817f, -0.005715f, -0.023249f, 0.025384f, 0.011491f, 0.013983f, 0.001506f, 0.011178f, -0.001145f, -0.001319f, 0.009173f, -0.007360f, 0.002557f, -0.001596f, -0.026367f, 0.003973f, -0.007272f, 0.004524f, -0.005362f, 0.003379f, 0.021330f, 0.003401f, -0.029677f, -0.000218f, 0.021040f, -0.004025f, 0.012167f, -0.013137f, -0.010288f, -0.024247f, 0.013579f, 0.008180f, 0.015887f, 0.008525f, -0.008863f, 0.014759f, -0.004216f, 0.014164f, -0.009480f, -0.007346f, 0.000348f, -0.002184f, 0.010925f, 0.003244f, 0.009118f, 0.011744f, -0.007187f, -0.004754f, -0.004499f, 0.008030f, -0.002109f, -0.003799f, 0.000865f, -0.008985f, 0.004472f, 0.004342f, -0.005778f, 0.008145f, 0.012193f, -0.004242f, - -0.006386f, -0.000661f, -0.010233f, -0.003803f, 0.014131f, 0.002895f, -0.009658f, 0.018770f, -0.020190f, 0.004023f, 0.009986f, -0.003579f, -0.006995f, -0.000517f, 0.007871f, -0.014051f, 0.006999f, -0.005139f, -0.013379f, -0.008691f, -0.008281f, 0.001250f, -0.004177f, -0.007226f, 0.003036f, 0.023170f, 0.011726f, -0.002004f, -0.008156f, -0.020422f, 0.001700f, 0.012982f, -0.007633f, -0.022615f, -0.000136f, -0.002553f, 0.000122f, 0.004268f, 0.008668f, 0.009857f, -0.004452f, 0.002692f, 0.014042f, 0.001183f, 0.016501f, 0.018351f, 0.040183f, 0.027800f, 0.016729f, -0.003986f, -0.021495f, -0.007138f, 0.019472f, 0.008796f, -0.020730f, 0.015747f, -0.003671f, -0.009886f, -0.012681f, 0.002255f, 0.034852f, -0.023257f, 0.025217f, 0.010241f, -0.005420f, 0.008695f, -0.006781f, 0.018475f, -0.006870f, 0.009971f, 0.001985f, -0.012077f, -0.008662f, -0.011742f, 0.000609f, 0.010800f, -0.002813f, -0.006393f, 0.006854f, 0.001361f, -0.001850f, -0.023081f, 0.007412f, -0.012692f, -0.009696f, 0.007048f, 0.015902f, -0.010937f, -0.016150f, 0.001148f, 0.014482f, 0.001727f, -0.008939f, -0.002939f, -0.005064f, 0.006985f, - 0.005282f, -0.004844f, -0.008232f, -0.012813f, 0.009047f, 0.022058f, 0.014015f, 0.007339f, -0.011519f, 0.006980f, 0.014664f, -0.014814f, -0.018741f, 0.003825f, -0.015126f, -0.007748f, -0.030796f, 0.000101f, -0.020631f, 0.044429f, 0.000712f, -0.016984f, 0.019190f, -0.020980f, 0.024375f, 0.002310f, -0.015251f, -0.025376f, -0.006464f, 0.012938f, -0.020656f, 0.018469f, -0.003108f, 0.012034f, 0.013722f, -0.011599f, -0.005161f, -0.006834f, -0.009695f, -0.003337f, -0.009054f, 0.001856f, -0.011015f, 0.011691f, 0.007017f, 0.009880f, 0.019152f, 0.010307f, -0.002962f, 0.023371f, 0.011640f, 0.004649f, -0.012378f, -0.013035f, 0.006867f, -0.009877f, 0.002367f, 0.007682f, -0.015315f, 0.013562f, 0.035056f, 0.003101f, 0.024980f, 0.012221f, 0.012166f, 0.018215f, 0.001195f, 0.009867f, 0.010148f, -0.022205f, -0.015122f, 0.016088f, 0.001341f, 0.015214f, 0.002978f, 0.015953f, -0.002090f, 0.006040f, 0.004336f, -0.031987f, -0.001577f, 0.008813f, 0.022368f, 0.005323f, 0.019801f, 0.002408f, -0.003617f, 0.006714f, 0.009558f, -0.017769f, -0.029638f, -0.015847f, 0.005583f, 0.007868f, 0.002523f, 0.021383f, - 0.008625f, -0.020595f, -0.002637f, -0.018240f, -0.009739f, 0.008854f, -0.010412f, 0.005130f, 0.005743f, -0.010571f, -0.029153f, 0.009988f, -0.028885f, -0.031460f, 0.006276f, -0.014998f, 0.013534f, 0.021290f, -0.005956f, 0.024704f, -0.006495f, 0.024434f, 0.031254f, 0.001026f, 0.001148f, -0.031311f, -0.006850f, 0.004534f, 0.004789f, -0.002725f, -0.022032f, 0.002559f, -0.018773f, 0.003395f, -0.005608f, 0.006030f, -0.007674f, -0.010800f, 0.001959f, -0.000959f, -0.007341f, 0.008778f, -0.000007f, -0.003702f, 0.022345f, 0.009843f, 0.016576f, -0.009672f, 0.002413f, -0.007915f, 0.005815f, -0.000695f, 0.008284f, -0.001634f, -0.007679f, -0.007402f, -0.021292f, -0.010553f, 0.032134f, 0.014931f, 0.021000f, -0.023686f, 0.004424f, 0.020432f, -0.016895f, 0.001928f, 0.011256f, -0.004765f, 0.011250f, 0.003701f, -0.023204f, -0.003728f, -0.035223f, -0.002168f, 0.012385f, 0.008959f, 0.021038f, -0.019907f, -0.019794f, -0.018825f, -0.030067f, 0.020751f, 0.011643f, 0.002737f, -0.020663f, 0.018555f, -0.001380f, -0.023665f, -0.021363f, -0.006125f, -0.006302f, -0.014870f, -0.007532f, -0.008485f, -0.009283f, -0.004994f, - -0.024148f, 0.012191f, 0.011868f, -0.000394f, -0.003613f, -0.003378f, -0.009945f, -0.026253f, -0.031055f, 0.001645f, 0.011143f, -0.007050f, -0.019846f, -0.009473f, 0.012057f, 0.010873f, -0.001150f, -0.004971f, -0.009686f, -0.007196f, 0.015512f, -0.008193f, 0.010244f, -0.007712f, -0.001759f, -0.028661f, -0.008612f, -0.001592f, 0.019864f, 0.006835f, -0.007614f, -0.015754f, -0.014026f, -0.022323f, 0.034632f, -0.016322f, 0.032602f, 0.005407f, -0.018279f, 0.024339f, 0.019804f, 0.040834f, -0.042467f, 0.017331f, 0.002740f, 0.006604f, -0.011860f, -0.009641f, 0.012666f, 0.010814f, -0.008178f, -0.015958f, 0.014230f, -0.007614f, 0.014292f, 0.022417f, 0.006620f, -0.008034f, 0.009564f, 0.030505f, -0.051827f, -0.058146f, -0.034622f, -0.007237f, -0.023832f, 0.014010f, -0.019445f, 0.000789f, 0.011230f, -0.002883f, 0.038453f, 0.025625f, 0.010503f, -0.012412f, -0.007457f, 0.024777f, -0.003532f, 0.002571f, -0.009929f, -0.024945f, 0.000843f, 0.007916f, 0.007011f, -0.014475f, 0.012034f, -0.000017f, -0.000888f, 0.020551f, 0.031195f, 0.000481f, -0.019032f, -0.010183f, -0.037057f, -0.016344f, -0.009283f, -0.013110f, - 0.002051f, 0.004686f, -0.013355f, -0.007385f, -0.018867f, 0.018597f, 0.024827f, 0.018551f, 0.023110f, 0.016049f, 0.030135f, 0.001574f, 0.010230f, 0.004982f, -0.005703f, 0.009390f, 0.017631f, -0.020333f, -0.062821f, -0.016874f, 0.020083f, -0.034730f, 0.015668f, 0.017870f, 0.006366f, -0.012400f, 0.000329f, -0.010418f, -0.026552f, -0.009557f, 0.014429f, -0.022857f, -0.019254f, 0.003089f, -0.016657f, 0.037563f, 0.037546f, -0.018418f, 0.049027f, -0.040974f, -0.002677f, 0.009118f, -0.042885f, -0.010244f, -0.019211f, 0.008031f, -0.014433f, 0.037432f, 0.002642f, 0.001415f, 0.042457f, -0.000657f, -0.041350f, -0.029707f, -0.021326f, 0.017075f, -0.004326f, -0.036299f, 0.007721f, 0.012496f, 0.017972f, -0.020830f, 0.009417f, 0.021191f, 0.014663f, 0.015391f, -0.006827f, 0.024977f, 0.022728f, 0.010341f, -0.057802f, 0.042545f, -0.022201f, 0.017596f, -0.006363f, -0.003800f, 0.008291f, -0.022628f, -0.016469f, 0.028132f, -0.014395f, -0.001367f, 0.021117f, -0.024355f, 0.021196f, -0.007079f, 0.019434f, -0.026967f, 0.036149f, -0.015086f, 0.057323f, -0.005626f, 0.000906f, 0.017768f, -0.016278f, -0.007492f, - -0.010408f, 0.007367f, -0.006326f, -0.027676f, -0.041420f, -0.007788f, 0.018443f, -0.008507f, -0.017687f, -0.035616f, 0.013628f, 0.007415f, -0.057586f, 0.003121f, -0.004635f, 0.012480f, 0.020721f, -0.012213f, 0.018080f, 0.060591f, 0.027939f, -0.016504f, 0.039166f, 0.014885f, -0.027572f, 0.011488f, 0.024721f, -0.002607f, -0.010570f, -0.034833f, -0.011474f, 0.023835f, 0.012964f, 0.012097f, 0.004896f, -0.005102f, -0.016288f, -0.032816f, 0.016474f, -0.010238f, 0.007287f, -0.024861f, -0.016080f, 0.000790f, -0.005937f, 0.035138f, 0.008218f, 0.006830f, 0.023805f, 0.013855f, -0.041069f, -0.003078f, 0.012161f, -0.005815f, -0.001369f, 0.034804f, 0.008697f, 0.040185f, -0.024838f, -0.012618f, -0.008778f, -0.012815f, 0.012622f, -0.013388f, 0.026449f, 0.030661f, -0.015530f, -0.026572f, 0.044490f, -0.022602f, -0.012954f, -0.003810f, 0.010835f, 0.009189f, -0.029964f, -0.005824f, 0.013157f, -0.010383f, 0.017390f, -0.007806f, 0.025965f, -0.013259f, 0.001945f, 0.049311f, -0.006458f, 0.035884f, 0.050434f, 0.010719f, 0.020424f, -0.010262f, -0.077461f, -0.041252f, -0.021292f, 0.003416f, 0.016990f, -0.077599f, - -0.018021f, 0.080001f, -0.030521f, -0.035114f, 0.071457f, -0.046255f, 0.040372f, 0.052876f, 0.021418f, 0.006635f, -0.040468f, 0.014792f, -0.071190f, -0.035976f, 0.015721f, 0.036216f, 0.004255f, 0.007627f, 0.027050f, 0.071187f, 0.048743f, 0.014209f, 0.002596f, -0.001179f, 0.007879f, 0.004806f, -0.028214f, -0.000621f, 0.017595f, 0.021296f, 0.095989f, 0.052937f, 0.036727f, 0.068126f, 0.027964f, -0.011461f, 0.020371f, -0.002895f, 0.066037f, 0.022449f, -0.006120f, -0.012876f, 0.027082f, -0.006155f, 0.031121f, -0.101328f, 0.003342f, 0.032110f, -0.003109f, 0.039171f, -0.016661f, 0.008555f, 0.020756f, -0.095060f, -0.037200f, -0.010006f, -0.031246f, -0.041306f, -0.046989f, 0.039016f, -0.029690f, 0.004849f, -0.010807f, 0.038432f, -0.072222f, -0.023593f, -0.013013f, 0.016606f, -0.004241f, -0.012603f, 0.046240f, 0.081627f, -0.007373f, 0.017278f, -0.028184f, -0.011002f, 0.037833f, 0.040829f, -0.038706f, -0.118778f, -0.026279f, 0.054306f, 0.007308f, -0.009713f, -0.014040f, 0.007799f, -0.021345f, -0.018537f, 0.022653f, 0.024193f, 0.051365f, 0.024325f, 0.029055f, -0.008564f, 0.069730f, 0.017473f, - 0.042488f, -0.002548f, 0.063862f, -0.021897f, 0.039922f, -0.039327f, -0.004399f, 0.009015f, 0.027039f, -0.008308f, -0.028722f, -0.053218f, 0.027031f, 0.008593f, 0.001473f, -0.023368f, -0.056791f, 0.001361f, 0.000698f, -0.001740f, 0.010410f, 0.037955f, -0.000509f, 0.028606f, 0.079211f, -0.030738f, 0.002688f, -0.022823f, 0.037845f, 0.043363f, -0.048767f, 0.045754f, 0.039506f, -0.027015f, 0.005021f, 0.016877f, 0.024895f, 0.022123f, 0.057399f, 0.027175f, -0.030526f, 0.011175f, 0.075488f, 0.034361f, -0.104079f, 0.036816f, 0.007859f, -0.072609f, -0.032962f, -0.015470f, -0.069380f, 0.016829f, 0.022706f, 0.054624f, -0.039702f, 0.090635f, -0.075599f, 0.061157f, 0.133503f, 0.008286f, -0.073403f, 0.113989f, -0.025358f, -0.002404f, 0.016802f, 0.064242f, -0.036991f, 0.001935f, 0.130580f, -0.065474f, 0.031347f, 0.042888f, 0.042399f, -0.058796f, -0.005549f, 0.009216f, -0.028051f, 0.003725f, 0.013789f, -0.024768f, 0.023302f, -0.041187f, -0.011126f, -0.017415f, -0.002874f, -0.025476f, -0.020804f, -0.009404f, 0.012633f, -0.045212f, -0.040507f, 0.059089f, 0.011129f, -0.040269f, -0.009978f, 0.034095f, - 0.088105f, -0.010026f, -0.042942f, 0.043446f, 0.067550f, -0.022318f, -0.005030f, -0.001130f, 0.024438f, -0.002914f, 0.000040f, 0.027382f, -0.074644f, 0.047596f, -0.043073f, -0.003338f, -0.061039f, 0.030034f, -0.004787f, -0.095726f, 0.044990f, -0.011505f, -0.035246f, 0.056033f, 0.007281f, 0.054795f, -0.051355f, -0.026363f, -0.020649f, -0.054987f, -0.073648f, -0.105933f, 0.083151f, 0.024729f, 0.061228f, 0.046511f, -0.000156f, -0.020032f, 0.070201f, -0.027664f, 0.019343f, 0.018312f, -0.076958f, 0.068847f, 0.021348f, -0.017771f, 0.055522f, 0.006220f, 0.001515f, 0.029561f, -0.027525f, 0.074971f, -0.061704f, -0.030535f, 0.024900f, 0.026468f, 0.009872f, -0.054055f, -0.036284f, -0.060428f, 0.031046f, 0.008979f, 0.028018f, 0.000796f, 0.030214f, 0.014082f, 0.007988f, 0.001909f, 0.025107f, -0.012308f, 0.012255f, -0.027650f, 0.017560f, -0.025622f, -0.003815f, -0.034017f, -0.028028f, 0.001534f, -0.034281f, 0.014257f, 0.068598f, 0.017235f, -0.058511f, 0.028153f, 0.017569f, 0.038142f, -0.003342f, 0.063528f, -0.059602f, 0.007808f, 0.020744f, -0.053819f, -0.017382f, 0.106178f, 0.055055f, -0.142808f, - -0.065671f, 0.074112f, -0.026381f, -0.068747f, 0.020368f, -0.008651f, -0.058459f, 0.035971f, 0.057353f, -0.089865f, 0.009491f, 0.074573f, -0.061302f, -0.050962f, 0.053465f, 0.003781f, -0.061196f, 0.057461f, -0.130014f, -0.014735f, -0.018695f, -0.155380f, -0.021635f, -0.051396f, 0.020057f, 0.020854f, 0.049840f, -0.024798f, -0.053230f, -0.027080f, -0.079157f, 0.006449f, 0.035806f, 0.012671f, 0.019015f, -0.072880f, 0.047402f, 0.001843f, -0.076096f, 0.054998f, -0.082191f, -0.040700f, -0.027153f, 0.019187f, 0.069573f, 0.069160f, -0.000052f, -0.021253f, -0.136265f, 0.056524f, 0.150316f, 0.047961f, 0.009582f, -0.083755f, -0.109674f, -0.052209f, -0.003325f, 0.056090f, -0.066093f, -0.047933f, -0.067956f, -0.028287f, 0.141483f, 0.140696f, -0.018322f, -0.071411f, -0.050548f, -0.035187f, -0.008040f, 0.068663f, -0.027279f, 0.017417f, 0.022930f, 0.044176f, -0.005457f, -0.037267f, -0.076611f, -0.041289f, 0.137657f, 0.050784f, 0.094811f, -0.083441f, -0.034451f, -0.041203f, 0.097650f, -0.003039f, -0.132426f, -0.142981f, 0.088639f, 0.127210f, 0.235844f, 0.031816f, -0.173602f, 0.018319f, -0.017557f, -0.065621f, - 0.055585f, -0.058273f, -0.016023f, 0.004877f, 0.012624f, -0.008910f, 0.011003f, 0.026245f, -0.042156f, -0.031209f, -0.003662f, 0.011418f, 0.022265f, -0.025944f, 0.001023f, 0.024168f, -0.019878f, 0.015970f, -0.011812f, 0.068870f, -0.004047f, -0.007673f, 0.035072f, 0.023265f, 0.030776f, -0.014862f, 0.018461f, -0.004613f, -0.004180f, 0.030270f, 0.016598f, 0.006909f, 0.004998f, 0.039991f, -0.038636f, -0.008428f, 0.000309f, 0.053140f, -0.004336f, -0.009302f, 0.043807f, -0.009891f, -0.024239f, -0.018367f, 0.035551f, -0.007192f, 0.013363f, 0.012609f, 0.002110f, -0.011697f, 0.003102f, 0.017383f, 0.001360f, 0.046402f, 0.017855f, 0.014648f, -0.023478f, -0.000856f, 0.012509f, -0.029622f, 0.006848f, 0.014035f, 0.027944f, 0.002402f, -0.008817f, 0.020389f, -0.001111f, -0.034922f, 0.035833f, 0.014338f, -0.015633f, 0.035842f, -0.030042f, -0.001704f, -0.025740f, -0.014124f, 0.012587f, 0.106515f, 0.009153f, -0.040050f, -0.032201f, 0.004824f, 0.024769f, -0.001954f, 0.022677f, -0.008866f, -0.005321f, -0.030124f, -0.005914f, -0.021208f, 0.033673f, -0.021074f, -0.001040f, -0.013434f, -0.005499f, -0.008020f, - 0.004295f, -0.022304f, 0.004062f, -0.009784f, -0.014770f, 0.004248f, -0.001743f, 0.000971f, -0.003454f, 0.007488f, 0.004481f, -0.018593f, -0.011039f, -0.000209f, -0.011681f, -0.011008f, 0.009900f, -0.003119f, -0.017976f, 0.001132f, -0.009631f, 0.007918f, -0.026915f, 0.013803f, -0.011227f, -0.021080f, 0.007236f, -0.009648f, -0.010070f, 0.002879f, 0.000667f, 0.001372f, -0.003764f, 0.004752f, -0.007631f, 0.009512f, -0.004972f, 0.001158f, 0.016311f, -0.010964f, 0.006028f, -0.002702f, -0.000816f, 0.004499f, -0.011986f, 0.011960f, -0.012675f, 0.011995f, -0.002093f, -0.000115f, -0.007977f, 0.011518f, -0.012437f, 0.001548f, 0.004722f, -0.015934f, 0.016162f, -0.008048f, -0.050443f, -0.084267f, 0.089235f, 0.305231f, 0.059823f, 0.090801f, -0.187623f, -0.263580f, -0.108548f, -0.138615f, 0.107142f, 0.244760f, 0.142470f, 0.093702f, 0.010534f, -0.136859f, -0.119006f, -0.121327f, -0.048088f, 0.066765f, 0.059067f, 0.060711f, 0.056746f, -0.003230f, -0.008076f, -0.015624f, -0.018401f, -0.029868f, -0.002923f, 0.036185f, -0.002437f, -0.023319f, -0.007682f, -0.033064f, -0.016893f, -0.007012f, -0.007007f, 0.058832f, - 0.056959f, 0.031630f, 0.036440f, 0.000221f, -0.042827f, -0.046100f, -0.080815f, -0.056014f, 0.008209f, 0.004936f, 0.017346f, 0.046369f, 0.069215f, 0.039335f, 0.035148f, -0.003447f, -0.038250f, -0.055953f, -0.046117f, -0.041130f, 0.006059f, 0.011869f, 0.025495f, 0.015173f, 0.011827f, 0.000210f, -0.013961f, 0.003114f, 0.001412f, 0.003305f, 0.033940f, -0.006024f, 0.014728f, 0.012367f, -0.026006f, -0.051458f, -0.050365f, -0.048489f, 0.011012f, 0.027496f, 0.011013f, 0.000717f} - }, - { - {-0.008059f, -0.005875f, 0.001286f, -0.005162f, -0.003196f, -0.002335f, -0.000658f, -0.000829f, -0.003333f, -0.009998f, -0.007446f, -0.005293f, -0.002600f, -0.007229f, 0.003015f, -0.001677f, 0.001190f, -0.002989f, -0.001072f, -0.004525f, 0.004732f, 0.000934f, -0.003315f, -0.005961f, 0.000583f, 0.006690f, 0.003686f, -0.006808f, -0.006538f, 0.001222f, 0.000559f, 0.000765f, -0.004552f, 0.000988f, -0.001646f, -0.002945f, -0.000874f, -0.002776f, -0.004192f, -0.001959f, -0.007132f, 0.009224f, 0.002581f, 0.006406f, -0.006208f, -0.010518f, -0.000828f, 0.001353f, -0.001166f, -0.009767f, 0.000570f, -0.002429f, 0.005761f, 0.003895f, 0.004326f, 0.009934f, -0.001717f, -0.000350f, -0.003033f, -0.001500f, 0.003604f, -0.006764f, 0.007948f, 0.009509f, -0.004479f, -0.003122f, -0.007930f, -0.004152f, 0.001607f, -0.002412f, -0.004781f, 0.000525f, -0.005047f, -0.002600f, -0.006397f, -0.005346f, -0.005880f, 0.003920f, 0.011890f, 0.000848f, 0.007993f, -0.001963f, -0.001038f, -0.004412f, 0.008503f, 0.005131f, -0.004835f, -0.006694f, 0.004325f, -0.001854f, -0.009917f, -0.011797f, 0.002834f, 0.000361f, -0.003832f, -0.004179f, - -0.007726f, 0.004744f, -0.009106f, 0.002097f, -0.000836f, 0.001816f, 0.000822f, 0.001689f, -0.004061f, -0.000894f, 0.001689f, 0.002330f, -0.000883f, 0.002903f, 0.002413f, -0.004417f, 0.003125f, -0.002828f, -0.007772f, 0.010729f, -0.002082f, 0.000100f, 0.002700f, -0.001825f, 0.006183f, 0.007378f, -0.001628f, 0.002454f, 0.005945f, -0.000025f, -0.006196f, -0.005342f, 0.001629f, 0.003131f, -0.001833f, 0.001396f, 0.007298f, -0.007057f, -0.005660f, 0.005257f, 0.001229f, -0.003201f, -0.003780f, -0.001067f, 0.001482f, 0.003565f, -0.007167f, 0.002478f, 0.002009f, -0.006946f, -0.005973f, 0.003807f, -0.003126f, -0.009255f, -0.002945f, -0.002853f, 0.011723f, 0.009821f, -0.014554f, -0.006155f, -0.010065f, 0.006637f, -0.004924f, -0.006673f, -0.004671f, -0.005970f, -0.001285f, 0.002351f, 0.010866f, 0.002001f, -0.005914f, 0.009350f, 0.000296f, 0.009639f, -0.009208f, 0.014866f, 0.006786f, 0.016119f, -0.002921f, -0.005315f, -0.001146f, -0.008668f, -0.000790f, -0.000492f, -0.003225f, 0.003130f, 0.000265f, -0.006846f, -0.001720f, 0.000121f, 0.002145f, 0.007089f, 0.001588f, -0.010295f, -0.008710f, -0.003144f, - 0.005870f, 0.000551f, 0.000295f, -0.005131f, 0.008715f, -0.000068f, 0.000659f, -0.003579f, 0.001139f, -0.002089f, 0.004605f, -0.001297f, 0.014553f, 0.000311f, -0.001853f, 0.005691f, -0.003597f, -0.006328f, -0.002624f, 0.005119f, 0.008843f, 0.001665f, 0.005464f, 0.001540f, 0.001023f, -0.004378f, -0.004366f, -0.007141f, -0.000174f, -0.007399f, 0.002080f, 0.006500f, 0.006864f, 0.004965f, -0.002109f, -0.003066f, 0.006316f, 0.010465f, 0.010574f, 0.006118f, -0.000358f, 0.009252f, -0.005194f, -0.007266f, 0.007008f, 0.007998f, 0.009357f, 0.014659f, 0.000976f, -0.008855f, 0.004921f, -0.008441f, -0.000977f, 0.003193f, 0.001695f, 0.016255f, 0.000857f, -0.012619f, -0.001010f, 0.002545f, 0.004984f, -0.000691f, -0.004809f, -0.013944f, -0.003235f, 0.012252f, 0.003696f, 0.008126f, 0.008788f, 0.007909f, 0.001651f, -0.001142f, 0.007721f, -0.010337f, -0.000857f, -0.006974f, 0.018656f, -0.000863f, -0.000041f, 0.008724f, -0.007729f, -0.000954f, 0.002375f, -0.000916f, 0.010801f, -0.001613f, 0.002773f, 0.011118f, -0.002854f, 0.003588f, 0.000155f, -0.000384f, -0.000903f, -0.001296f, -0.004007f, 0.004886f, - 0.005480f, -0.001392f, 0.005400f, 0.002463f, 0.011541f, 0.014487f, -0.001825f, 0.004002f, 0.001229f, -0.007048f, 0.005868f, -0.001563f, -0.007377f, 0.002762f, 0.005518f, 0.002240f, -0.003455f, 0.015720f, 0.015887f, -0.006403f, -0.008713f, -0.008071f, -0.005133f, 0.003778f, -0.016862f, -0.001897f, 0.002606f, -0.008413f, -0.014914f, 0.014484f, -0.002948f, -0.003919f, 0.002582f, 0.006566f, 0.006263f, -0.007713f, -0.002765f, -0.000505f, -0.000602f, 0.003342f, 0.005390f, -0.003039f, 0.006577f, -0.004952f, 0.009969f, -0.001344f, 0.000596f, -0.005166f, 0.005352f, 0.001742f, -0.001298f, -0.005136f, 0.002548f, -0.002977f, -0.004184f, -0.003803f, 0.001041f, 0.003083f, -0.009074f, 0.000666f, -0.017275f, -0.010195f, 0.006411f, -0.002736f, 0.002213f, 0.003788f, 0.011593f, -0.003791f, -0.005679f, -0.000489f, 0.000450f, 0.004750f, 0.004711f, -0.005441f, -0.002318f, 0.012616f, 0.000503f, 0.001886f, 0.001067f, 0.005602f, -0.010620f, 0.000330f, 0.005263f, 0.009835f, 0.001921f, 0.004230f, 0.014767f, -0.003675f, -0.001709f, -0.008077f, -0.000307f, 0.002555f, 0.004656f, -0.009986f, -0.015994f, 0.006927f, - -0.005333f, 0.000439f, -0.008328f, 0.006459f, -0.018473f, -0.014899f, -0.017444f, -0.005699f, -0.003858f, -0.011942f, 0.005939f, 0.016585f, -0.012364f, 0.002630f, 0.019132f, -0.004407f, -0.005528f, -0.008846f, 0.001316f, 0.000003f, 0.008310f, 0.002849f, 0.005884f, 0.004358f, -0.006602f, -0.012280f, -0.006170f, 0.007361f, -0.004502f, -0.007523f, 0.001554f, 0.003100f, 0.002056f, 0.001543f, 0.016474f, -0.007987f, 0.008776f, -0.004432f, 0.004186f, -0.004958f, 0.013582f, -0.010502f, 0.005260f, -0.000933f, -0.008824f, 0.007685f, -0.003608f, -0.002854f, 0.007821f, 0.004342f, -0.001290f, -0.003812f, 0.006999f, 0.003617f, -0.008458f, -0.009513f, 0.005743f, 0.010211f, 0.005121f, 0.000072f, -0.005271f, 0.000347f, 0.005804f, -0.003041f, 0.007130f, -0.002078f, -0.017194f, 0.000318f, -0.008124f, 0.023003f, 0.007080f, -0.013238f, -0.008320f, -0.001853f, 0.000074f, 0.006682f, -0.014137f, -0.015864f, 0.013492f, -0.002396f, -0.014120f, 0.001748f, -0.004179f, 0.014365f, 0.006100f, -0.002913f, 0.001791f, -0.000114f, -0.002847f, -0.001904f, 0.015170f, 0.003666f, 0.000017f, -0.010400f, -0.005856f, -0.002061f, - 0.004710f, 0.007494f, 0.020597f, 0.000986f, -0.000243f, -0.000237f, 0.000483f, -0.009065f, -0.000586f, 0.004282f, -0.012812f, -0.007963f, -0.008701f, -0.000647f, 0.014612f, -0.012505f, 0.001025f, 0.007443f, 0.001917f, -0.005752f, 0.005312f, -0.015769f, 0.011776f, -0.002659f, -0.001328f, 0.007224f, -0.009457f, -0.009366f, -0.016107f, 0.003171f, -0.006294f, 0.013921f, 0.003275f, 0.000322f, 0.001022f, 0.004162f, 0.009201f, -0.004937f, -0.004190f, 0.011219f, -0.004228f, -0.006723f, -0.002240f, 0.011104f, 0.009415f, 0.010164f, 0.003404f, -0.007473f, 0.004255f, 0.008962f, -0.014059f, 0.013696f, -0.012074f, -0.009159f, 0.008761f, -0.030231f, -0.018735f, 0.004526f, 0.010204f, 0.019487f, -0.011578f, 0.010141f, 0.002748f, 0.010722f, 0.000151f, -0.006005f, -0.006197f, 0.006372f, 0.021654f, 0.001101f, -0.001088f, -0.020611f, -0.015944f, -0.000544f, -0.011518f, -0.007861f, 0.001468f, 0.001882f, -0.011820f, -0.004387f, 0.003810f, 0.006773f, 0.004701f, -0.008736f, 0.000738f, 0.008799f, 0.008408f, 0.001012f, -0.006950f, 0.000865f, -0.003955f, 0.001728f, 0.003399f, 0.003777f, -0.005177f, 0.006943f, - 0.018977f, -0.002344f, -0.000598f, 0.003065f, -0.009398f, 0.004348f, 0.015420f, -0.014879f, -0.016309f, -0.009214f, 0.002152f, -0.022443f, 0.001281f, 0.000309f, 0.003805f, -0.000068f, 0.000386f, -0.010722f, -0.004956f, -0.006993f, -0.000252f, 0.014905f, 0.022835f, 0.000582f, 0.002085f, 0.010865f, -0.003948f, -0.001703f, 0.005558f, 0.025248f, 0.003614f, 0.009447f, 0.017859f, 0.003944f, -0.011322f, 0.005878f, 0.016119f, 0.008608f, -0.013091f, -0.001525f, 0.031078f, 0.025710f, 0.006598f, 0.015150f, 0.020846f, 0.004112f, 0.000713f, 0.012143f, -0.004885f, -0.000750f, -0.010810f, 0.008782f, 0.000227f, -0.000414f, 0.005410f, 0.004254f, 0.017450f, -0.014716f, -0.011527f, 0.011623f, 0.003657f, 0.004810f, -0.008728f, 0.000857f, -0.002313f, 0.005517f, 0.001243f, 0.008108f, 0.010059f, -0.009999f, 0.008722f, 0.005320f, -0.009185f, 0.025724f, 0.005921f, 0.004196f, -0.019436f, -0.007673f, -0.000347f, 0.016263f, 0.017495f, -0.002725f, -0.016385f, 0.010505f, -0.014017f, -0.005952f, 0.015047f, -0.001581f, -0.009408f, 0.011997f, 0.018254f, -0.005517f, 0.007308f, -0.008032f, -0.021520f, -0.001271f, - 0.016838f, -0.008356f, -0.005962f, 0.008260f, -0.009024f, -0.018658f, 0.006558f, 0.009711f, 0.023549f, 0.009049f, -0.012841f, 0.004462f, -0.015140f, -0.024080f, 0.024151f, 0.006984f, 0.012879f, 0.032046f, 0.019294f, -0.012737f, -0.004444f, 0.000326f, 0.004760f, 0.005279f, -0.002660f, -0.011322f, 0.002301f, -0.007449f, 0.012367f, 0.001365f, 0.004399f, -0.003262f, -0.002523f, -0.011730f, -0.007353f, 0.027930f, 0.008343f, -0.015295f, 0.007240f, -0.014880f, -0.011799f, -0.023874f, 0.010418f, 0.001622f, -0.000055f, 0.007176f, -0.001115f, -0.010067f, 0.018482f, 0.012132f, -0.004540f, -0.017646f, 0.018702f, -0.011634f, 0.004705f, 0.000986f, 0.005946f, 0.005295f, 0.011840f, 0.015556f, -0.003498f, 0.009387f, 0.021920f, 0.004560f, -0.007118f, -0.004541f, -0.004058f, 0.005306f, 0.014667f, -0.002109f, 0.005938f, 0.003204f, -0.013556f, 0.002658f, -0.003308f, 0.008848f, -0.020279f, 0.002025f, -0.033799f, -0.018071f, -0.018732f, -0.002141f, -0.018429f, 0.015401f, -0.004300f, -0.012464f, -0.003664f, 0.001515f, -0.011861f, -0.001910f, 0.000535f, 0.005157f, -0.005843f, -0.011644f, -0.020813f, -0.027267f, - -0.012061f, -0.018335f, 0.046579f, -0.022874f, 0.010982f, -0.021650f, -0.005516f, 0.001648f, -0.002899f, -0.032022f, -0.000165f, -0.015543f, 0.001586f, 0.036390f, -0.011398f, 0.014891f, 0.020796f, 0.006706f, 0.008682f, 0.021590f, 0.006999f, -0.009353f, 0.006675f, 0.008028f, 0.009714f, 0.003272f, -0.004338f, 0.025180f, 0.001248f, -0.002826f, -0.004113f, 0.006268f, -0.002018f, -0.009789f, 0.008929f, -0.004122f, 0.006414f, -0.025894f, 0.001134f, -0.005660f, 0.022754f, -0.009783f, 0.007332f, 0.033212f, -0.003005f, -0.000132f, -0.008396f, -0.014927f, -0.000944f, -0.003176f, -0.014588f, 0.017208f, -0.004143f, 0.012234f, 0.001085f, 0.011494f, -0.007566f, -0.002247f, 0.026769f, 0.012394f, -0.021660f, -0.011999f, 0.005151f, 0.005593f, 0.002531f, 0.004832f, -0.006990f, 0.006704f, 0.009041f, 0.021567f, -0.030136f, 0.000640f, -0.013745f, 0.004738f, -0.002467f, -0.004580f, -0.006306f, -0.016061f, -0.012681f, -0.015542f, 0.016885f, -0.031655f, -0.008096f, -0.020117f, 0.010632f, 0.031194f, -0.016358f, 0.000193f, 0.001979f, -0.006987f, 0.013423f, -0.010992f, 0.006077f, -0.003872f, -0.012017f, 0.027863f, - 0.002593f, -0.009927f, 0.001606f, -0.004773f, -0.011394f, 0.009378f, -0.008417f, 0.008795f, -0.016778f, -0.008911f, 0.013482f, 0.008452f, -0.028831f, -0.005875f, -0.024321f, 0.007228f, -0.002908f, -0.025100f, 0.031545f, -0.008785f, 0.000872f, -0.023183f, -0.023569f, 0.001170f, -0.021063f, -0.003202f, -0.017947f, -0.016878f, 0.021342f, 0.002016f, -0.023726f, 0.008219f, -0.021007f, 0.020199f, 0.009104f, -0.009832f, 0.002618f, 0.006568f, 0.023199f, -0.016349f, -0.021317f, 0.023779f, -0.014394f, -0.009099f, 0.014522f, 0.018199f, -0.030759f, -0.015717f, 0.021152f, 0.014656f, 0.009749f, -0.000825f, 0.004803f, -0.022544f, 0.016117f, -0.024667f, -0.039133f, -0.032362f, 0.014763f, -0.038620f, -0.001483f, 0.028431f, -0.002213f, 0.001577f, 0.021081f, -0.014287f, -0.011422f, 0.045433f, -0.017905f, 0.010213f, 0.017768f, -0.003800f, -0.041404f, -0.004034f, 0.004636f, -0.011056f, -0.005553f, -0.010288f, 0.039077f, -0.000232f, 0.000620f, -0.002531f, -0.027847f, 0.004497f, -0.015991f, -0.008744f, 0.001852f, 0.004030f, 0.008381f, 0.021910f, 0.005070f, -0.006497f, 0.044447f, 0.003986f, -0.010989f, -0.041321f, - -0.005963f, 0.029081f, -0.006536f, -0.019367f, -0.025102f, -0.022758f, -0.018944f, -0.012585f, 0.031414f, 0.011518f, 0.001591f, 0.016779f, 0.026124f, 0.013923f, -0.006075f, -0.005447f, 0.026906f, -0.006222f, -0.008809f, 0.007069f, 0.020358f, 0.002089f, -0.022025f, 0.004015f, -0.002832f, -0.033009f, -0.003185f, 0.024492f, -0.013505f, -0.015831f, -0.004580f, 0.033064f, -0.028371f, -0.006974f, -0.015402f, 0.031892f, 0.003718f, -0.029306f, -0.000582f, 0.008263f, -0.000537f, -0.013547f, 0.013063f, -0.010100f, 0.026262f, -0.020119f, 0.018239f, 0.038311f, -0.009861f, -0.010582f, -0.008493f, -0.008307f, 0.035116f, -0.025804f, -0.027434f, -0.021656f, 0.008498f, -0.011383f, -0.017386f, -0.008497f, 0.013104f, -0.017488f, 0.010325f, 0.002141f, 0.014287f, 0.019979f, 0.003251f, -0.002651f, -0.003056f, 0.019740f, -0.004281f, 0.006961f, -0.023428f, -0.000228f, -0.007782f, 0.019318f, -0.024909f, 0.021217f, -0.008008f, -0.013231f, 0.022247f, 0.037036f, -0.019827f, 0.010628f, -0.003627f, 0.007633f, -0.054500f, -0.043824f, -0.025691f, 0.004036f, -0.015921f, 0.007524f, 0.002829f, -0.020373f, -0.015253f, 0.002052f, - 0.045250f, 0.010710f, -0.026538f, -0.040896f, -0.020742f, -0.014887f, 0.028056f, -0.018443f, -0.025962f, 0.006785f, 0.006626f, -0.024445f, -0.001098f, 0.000013f, -0.012462f, 0.006869f, 0.055249f, 0.036664f, -0.009943f, 0.003933f, 0.035543f, -0.013973f, 0.000761f, 0.015639f, 0.038437f, 0.022992f, -0.007337f, -0.008579f, -0.014054f, 0.003562f, -0.008044f, 0.000616f, 0.000323f, 0.040980f, 0.067147f, -0.004061f, 0.046067f, 0.029421f, 0.005284f, 0.007146f, -0.034165f, -0.033343f, -0.004602f, 0.008456f, -0.003258f, 0.007742f, -0.013355f, -0.025220f, -0.042740f, -0.004109f, -0.027864f, -0.023341f, -0.016062f, -0.024219f, -0.017940f, -0.001674f, 0.037778f, -0.002067f, -0.030539f, -0.003405f, 0.007293f, 0.027799f, -0.010165f, -0.008442f, -0.018731f, 0.011842f, -0.053992f, -0.048841f, -0.024010f, -0.025173f, -0.026555f, -0.017027f, 0.015678f, -0.023136f, -0.030770f, -0.026843f, -0.045425f, 0.020602f, 0.011063f, -0.041660f, 0.019159f, 0.037273f, 0.077045f, 0.040312f, -0.001223f, 0.011354f, -0.045283f, -0.021343f, 0.024337f, 0.017619f, -0.009874f, -0.059538f, -0.003455f, 0.090311f, -0.004796f, 0.001187f, - 0.025002f, -0.035960f, 0.020819f, 0.063278f, 0.062342f, -0.063418f, -0.056769f, -0.002385f, -0.061782f, -0.026475f, 0.001611f, 0.004867f, 0.024838f, 0.032376f, 0.032405f, 0.051854f, 0.014427f, 0.018815f, 0.023211f, -0.011868f, -0.002398f, 0.003208f, 0.008625f, 0.013306f, -0.027792f, 0.062595f, 0.029421f, 0.027671f, -0.004384f, 0.063512f, 0.009509f, 0.037074f, 0.017820f, 0.009509f, -0.014464f, -0.013229f, 0.035011f, 0.009903f, 0.016841f, -0.038875f, -0.018048f, -0.033034f, -0.016401f, -0.024953f, 0.000860f, -0.046533f, -0.046024f, -0.006100f, -0.017200f, -0.091949f, -0.065070f, -0.063108f, 0.017838f, 0.061106f, 0.084383f, -0.049630f, 0.058408f, 0.086181f, 0.016070f, 0.004172f, -0.004902f, 0.058363f, 0.005587f, 0.052649f, 0.025035f, 0.023282f, -0.035831f, -0.125321f, -0.095382f, -0.022925f, 0.000818f, -0.009060f, 0.047172f, -0.012264f, -0.078827f, -0.009574f, 0.131240f, 0.021092f, -0.021982f, 0.030715f, -0.008538f, 0.019033f, -0.008255f, -0.016690f, -0.040473f, -0.018751f, -0.002661f, -0.009948f, -0.018438f, 0.027613f, -0.025722f, -0.032604f, -0.000240f, 0.001680f, 0.028771f, 0.009025f, - 0.009114f, 0.008324f, -0.009417f, -0.003052f, 0.041913f, -0.023996f, -0.046616f, -0.013099f, 0.005640f, -0.019807f, 0.034936f, -0.021225f, -0.010047f, 0.024537f, 0.009150f, 0.017493f, -0.048595f, -0.059979f, 0.019644f, -0.014931f, -0.018105f, -0.028241f, -0.028736f, -0.066059f, 0.000905f, -0.009985f, 0.021201f, -0.044228f, -0.081816f, 0.056697f, 0.017321f, 0.052773f, 0.006648f, -0.024131f, -0.017438f, 0.009369f, -0.031202f, 0.042003f, 0.009088f, 0.051237f, 0.039444f, 0.078729f, -0.009714f, -0.089728f, -0.065794f, -0.044567f, 0.044518f, 0.038387f, -0.040615f, 0.027346f, 0.066652f, -0.054229f, -0.069192f, 0.071668f, 0.094546f, 0.017762f, 0.003143f, 0.022322f, -0.015840f, 0.042790f, 0.022107f, 0.044638f, -0.010129f, -0.045149f, 0.101118f, 0.001503f, -0.039830f, 0.005613f, 0.067908f, 0.032549f, 0.012211f, -0.043088f, 0.003369f, -0.022742f, -0.018564f, 0.007576f, -0.034070f, 0.003422f, 0.007346f, 0.039984f, -0.057352f, -0.008949f, -0.008165f, 0.033765f, -0.014118f, -0.020190f, -0.021131f, 0.000139f, 0.019718f, -0.043126f, 0.001691f, 0.011736f, -0.090407f, 0.012476f, -0.025570f, -0.062535f, - 0.039763f, -0.046252f, -0.082691f, 0.107302f, -0.002241f, 0.006133f, -0.009833f, -0.030011f, 0.063433f, -0.046064f, -0.005558f, 0.009287f, -0.030727f, -0.002880f, 0.080775f, 0.041737f, -0.073092f, -0.078802f, 0.076323f, -0.037604f, 0.044422f, 0.072973f, -0.066497f, -0.115399f, -0.078724f, 0.130536f, -0.006763f, -0.105047f, 0.096733f, -0.070919f, -0.127174f, -0.004464f, 0.118176f, -0.005997f, -0.041959f, 0.066174f, -0.010263f, 0.017219f, 0.048660f, 0.027998f, 0.037791f, 0.078502f, 0.039545f, -0.024459f, 0.016852f, 0.016162f, 0.030758f, -0.034178f, 0.083280f, 0.070835f, 0.014245f, 0.021695f, -0.014568f, -0.004396f, -0.077328f, 0.032908f, -0.039006f, 0.024489f, 0.000559f, -0.034290f, 0.047881f, -0.022011f, -0.028889f, 0.013061f, -0.042377f, 0.026176f, 0.005346f, -0.013463f, 0.016893f, 0.014523f, 0.032933f, 0.024711f, 0.032272f, 0.079332f, -0.003949f, 0.004283f, 0.031020f, 0.051740f, -0.001040f, 0.010039f, 0.004881f, 0.039230f, 0.057455f, -0.022355f, 0.017676f, -0.007637f, -0.003366f, -0.101559f, 0.013174f, 0.035484f, -0.017221f, -0.029162f, 0.027435f, -0.045839f, -0.053055f, -0.000609f, - 0.040950f, 0.064934f, -0.083451f, 0.028601f, 0.004062f, -0.009163f, 0.010415f, 0.028696f, 0.088364f, -0.006272f, -0.040961f, 0.009476f, 0.082511f, 0.043709f, -0.082588f, -0.064483f, -0.001023f, -0.099438f, -0.033986f, -0.036781f, 0.076729f, -0.002182f, -0.028148f, 0.035304f, -0.017864f, 0.019645f, 0.005215f, -0.037786f, 0.045547f, -0.102251f, -0.009493f, 0.006488f, -0.025379f, 0.019213f, 0.004825f, -0.019615f, -0.003389f, 0.003457f, 0.026082f, 0.002067f, -0.029769f, -0.098835f, -0.072230f, -0.054573f, -0.027188f, 0.062390f, -0.012197f, 0.003173f, -0.099264f, 0.008418f, -0.006638f, -0.012415f, 0.003441f, -0.095065f, 0.051852f, -0.045402f, 0.024025f, -0.017648f, 0.065864f, -0.034146f, -0.063170f, -0.028704f, -0.000226f, 0.049589f, 0.087016f, 0.093350f, -0.112045f, -0.080620f, -0.057020f, 0.041611f, 0.092723f, 0.114984f, -0.019072f, -0.024384f, -0.097909f, -0.032282f, 0.088103f, 0.058375f, -0.000428f, 0.005734f, -0.001330f, -0.076299f, 0.056557f, -0.008331f, 0.054868f, 0.140614f, -0.143753f, 0.190334f, 0.050899f, -0.075074f, -0.082661f, 0.068289f, -0.040802f, 0.041790f, 0.022746f, 0.026186f, - 0.016092f, -0.053592f, 0.058485f, -0.009135f, -0.020265f, -0.019544f, -0.022522f, 0.017287f, -0.011597f, 0.024813f, 0.015533f, -0.003786f, -0.005579f, -0.044877f, 0.026315f, 0.010077f, -0.010898f, 0.009460f, 0.023948f, -0.007093f, 0.013823f, -0.022972f, 0.027198f, -0.010318f, 0.003964f, 0.010477f, 0.011888f, -0.012216f, 0.041659f, -0.001925f, -0.038065f, -0.002862f, 0.018392f, 0.008520f, -0.028976f, 0.014127f, 0.034991f, -0.006677f, -0.016133f, -0.016492f, -0.001677f, 0.009350f, -0.003588f, 0.040341f, -0.026608f, -0.010427f, -0.009085f, -0.020257f, -0.001159f, -0.006068f, 0.015363f, 0.010942f, -0.016184f, -0.002177f, 0.016029f, -0.015850f, -0.007964f, -0.004199f, 0.025350f, -0.014516f, 0.010953f, 0.018096f, -0.038698f, -0.013744f, 0.012078f, -0.037625f, 0.060247f, 0.020885f, 0.016866f, 0.036962f, 0.096638f, 0.011813f, -0.031785f, -0.025923f, -0.018180f, -0.002496f, -0.002323f, 0.001454f, -0.001830f, -0.004345f, -0.053445f, 0.000559f, -0.009976f, -0.013135f, 0.007734f, -0.021896f, -0.008794f, 0.009299f, -0.013957f, 0.003663f, 0.017757f, -0.023309f, 0.015292f, -0.008961f, -0.011103f, -0.002452f, - -0.011077f, 0.005139f, -0.010180f, -0.006471f, -0.012149f, -0.003060f, 0.000900f, -0.000776f, -0.006806f, -0.008700f, 0.003664f, 0.003884f, -0.008287f, 0.012412f, -0.014570f, -0.001821f, -0.005025f, -0.002423f, -0.001643f, -0.012948f, 0.018575f, 0.010166f, -0.015830f, 0.020612f, -0.000656f, 0.004108f, -0.007948f, 0.019778f, -0.018529f, 0.001157f, 0.003396f, 0.004972f, -0.001584f, -0.005560f, 0.016857f, -0.010315f, 0.004155f, 0.000459f, -0.001034f, 0.004473f, -0.004392f, -0.001231f, 0.010689f, -0.004520f, -0.001367f, 0.009277f, -0.001023f, -0.004236f, -0.005869f, 0.004923f, 0.007758f, -0.045827f, -0.077343f, 0.086222f, 0.285392f, 0.030188f, 0.064712f, -0.154827f, -0.239430f, -0.058877f, -0.125595f, 0.098007f, 0.198594f, 0.106239f, 0.065446f, -0.013945f, -0.078607f, -0.075215f, -0.058469f, -0.052254f, 0.017857f, 0.035019f, 0.018528f, 0.037609f, 0.003669f, 0.003863f, 0.013278f, 0.005072f, 0.015217f, 0.014008f, -0.011012f, -0.035594f, -0.028253f, -0.031278f, -0.044707f, -0.022064f, 0.023172f, 0.032454f, 0.057337f, 0.083715f, 0.028672f, 0.012826f, -0.028920f, -0.064874f, -0.064999f, -0.043596f, - -0.032276f, 0.007098f, 0.022971f, 0.035933f, 0.035973f, 0.032373f, 0.019737f, 0.003199f, -0.004149f, -0.020189f, -0.016146f, -0.008557f, -0.012239f, -0.003450f, -0.013686f, -0.002819f, -0.015982f, -0.013147f, 0.002951f, -0.000637f, 0.015883f, 0.030215f, 0.015271f, 0.044657f, 0.036812f, -0.018836f, -0.042019f, -0.038992f, -0.061679f, -0.016379f, -0.018355f, -0.002061f, 0.024334f, 0.014219f, -0.002443f}, - {-0.011410f, 0.002836f, -0.005198f, -0.013234f, -0.005139f, 0.001220f, -0.002470f, 0.004244f, -0.006121f, -0.002410f, -0.004682f, -0.002198f, 0.003061f, -0.000499f, -0.000176f, -0.002573f, 0.004262f, -0.011088f, 0.001088f, -0.005728f, 0.004086f, 0.002807f, -0.006690f, 0.001250f, -0.000797f, 0.001739f, -0.002481f, 0.001969f, -0.007326f, -0.004640f, 0.009461f, -0.002665f, -0.003522f, -0.004215f, -0.001219f, -0.002663f, -0.000954f, -0.006695f, -0.000766f, 0.008605f, -0.001840f, 0.001609f, -0.000177f, -0.002548f, 0.012004f, -0.002376f, 0.006888f, 0.008395f, -0.000545f, -0.003055f, -0.001989f, -0.007188f, -0.006751f, -0.007445f, -0.008745f, -0.004623f, -0.006066f, 0.001659f, -0.005844f, -0.001691f, -0.003423f, -0.000503f, 0.001529f, -0.006961f, 0.007090f, 0.001512f, 0.003093f, 0.006223f, -0.005627f, 0.003355f, 0.006514f, -0.006482f, 0.001371f, 0.005155f, 0.002321f, 0.002730f, -0.011219f, 0.007371f, 0.012148f, 0.003115f, 0.010731f, 0.000122f, -0.010956f, -0.007658f, -0.007966f, -0.001316f, -0.005455f, 0.012841f, -0.009605f, -0.002528f, -0.004335f, -0.001621f, -0.007696f, 0.007366f, -0.004520f, -0.003659f, - 0.006309f, 0.010300f, 0.011798f, 0.001720f, -0.000798f, 0.002350f, 0.000666f, 0.001560f, -0.005276f, -0.005829f, 0.002842f, -0.005300f, -0.005158f, -0.007082f, -0.007285f, 0.002113f, -0.004812f, 0.006355f, -0.008047f, -0.001234f, 0.003606f, 0.003252f, 0.003030f, -0.012691f, -0.002214f, -0.007115f, -0.001173f, -0.003088f, -0.007613f, -0.000336f, 0.009167f, 0.002589f, 0.004470f, 0.003996f, 0.004970f, 0.000411f, 0.006224f, 0.003662f, 0.006941f, -0.004165f, 0.004640f, -0.002544f, 0.003211f, 0.000067f, -0.006361f, 0.007134f, 0.008452f, -0.004886f, -0.005657f, 0.002082f, 0.007752f, 0.001383f, 0.002059f, -0.003145f, -0.000527f, 0.003531f, 0.002658f, -0.000297f, -0.018833f, -0.005020f, -0.008461f, 0.006196f, -0.017649f, 0.003826f, -0.007744f, -0.004178f, 0.002576f, 0.000296f, 0.002046f, 0.002594f, 0.002064f, 0.007632f, -0.003347f, 0.000751f, -0.000705f, -0.009404f, 0.006967f, 0.011465f, -0.009296f, -0.008850f, 0.006766f, 0.001669f, 0.008337f, 0.002566f, 0.011174f, -0.001589f, 0.003826f, -0.005920f, -0.001695f, 0.011257f, 0.001000f, -0.007424f, -0.008999f, -0.009877f, 0.000520f, 0.008092f, - 0.004242f, -0.000101f, 0.009377f, 0.007336f, 0.000409f, -0.007623f, 0.011971f, 0.002976f, 0.009266f, 0.009239f, -0.001489f, 0.005868f, 0.007136f, -0.000898f, 0.004282f, 0.004742f, -0.004451f, 0.000899f, -0.001264f, 0.004501f, -0.010237f, -0.006719f, 0.003541f, -0.006501f, -0.002296f, 0.008866f, -0.003416f, 0.004843f, -0.001889f, -0.014074f, 0.002572f, -0.000133f, 0.007572f, -0.011603f, -0.006003f, 0.005161f, 0.001495f, 0.012011f, 0.012422f, 0.005653f, 0.009162f, 0.007387f, 0.012452f, 0.014466f, -0.005433f, -0.001385f, 0.004719f, -0.014148f, -0.000575f, -0.004552f, -0.002820f, 0.006722f, -0.008414f, -0.000796f, 0.010506f, 0.002142f, 0.006712f, -0.003164f, -0.002521f, -0.003365f, -0.013516f, -0.001997f, 0.000858f, 0.007331f, -0.002215f, 0.012469f, 0.004780f, -0.001882f, 0.004856f, 0.002781f, 0.006260f, -0.004298f, -0.000977f, 0.014560f, -0.001933f, 0.013781f, 0.006327f, -0.005643f, 0.001412f, 0.012192f, 0.006195f, -0.007537f, 0.010854f, -0.002652f, 0.000751f, 0.000902f, -0.002162f, 0.002436f, 0.001242f, -0.009433f, 0.006304f, 0.004967f, -0.000785f, 0.000773f, -0.002114f, -0.008416f, - 0.000101f, 0.005452f, -0.000903f, -0.000536f, -0.005828f, -0.012474f, -0.004308f, 0.005454f, 0.011145f, -0.015935f, -0.008586f, 0.003874f, -0.006886f, 0.005162f, 0.000187f, 0.001065f, -0.009115f, 0.017633f, 0.018578f, -0.003646f, -0.007894f, -0.008459f, 0.017814f, -0.015437f, 0.000353f, -0.002449f, -0.007306f, -0.009743f, 0.003428f, -0.002617f, -0.013449f, -0.016203f, 0.000558f, -0.001142f, -0.008567f, 0.003162f, 0.004460f, -0.005908f, -0.009074f, -0.008341f, 0.011849f, -0.012765f, -0.001594f, -0.014933f, 0.000137f, 0.008424f, 0.002814f, 0.001496f, -0.008444f, -0.008035f, 0.007343f, -0.005632f, -0.008617f, 0.001116f, -0.003139f, 0.005304f, 0.000105f, 0.002158f, -0.008570f, -0.003152f, -0.002403f, 0.008242f, 0.005672f, 0.005718f, -0.016946f, 0.002661f, 0.004784f, 0.003832f, 0.004850f, -0.004914f, -0.003015f, 0.000509f, 0.003540f, 0.006585f, -0.001046f, 0.004262f, -0.004772f, 0.012886f, -0.023618f, 0.008067f, 0.000883f, -0.013030f, -0.000297f, 0.013516f, -0.003937f, -0.007177f, -0.012393f, -0.005114f, 0.001441f, -0.004648f, 0.000552f, 0.004121f, 0.008046f, -0.008393f, -0.026261f, 0.004737f, - -0.011933f, 0.002568f, 0.002277f, -0.001586f, 0.018764f, 0.000974f, -0.011872f, 0.015905f, 0.007779f, 0.005425f, -0.002309f, 0.003253f, -0.004766f, 0.012461f, -0.001978f, 0.001372f, 0.018957f, 0.018349f, 0.007986f, 0.008375f, 0.008223f, 0.009109f, 0.006240f, -0.018236f, -0.005549f, -0.000306f, -0.004642f, -0.015531f, -0.001558f, -0.003724f, -0.003932f, -0.008369f, 0.000007f, -0.002496f, 0.013496f, -0.004330f, 0.023540f, -0.000199f, 0.002176f, -0.004385f, -0.003157f, 0.000117f, -0.000431f, -0.001931f, -0.003821f, -0.002799f, -0.011157f, 0.002722f, 0.002185f, -0.001431f, -0.005575f, 0.007925f, 0.006294f, 0.006861f, -0.002013f, -0.005075f, 0.000603f, 0.005974f, 0.007062f, -0.005318f, -0.014348f, -0.007685f, 0.002303f, 0.012419f, -0.000915f, 0.010162f, -0.007124f, -0.011749f, 0.009979f, -0.004059f, -0.008071f, 0.005754f, 0.008171f, -0.010351f, -0.006742f, 0.009833f, -0.011632f, -0.012388f, 0.005856f, -0.003450f, -0.001235f, -0.006447f, -0.003956f, 0.006555f, 0.008931f, 0.004884f, -0.002267f, 0.001515f, -0.001253f, -0.001971f, -0.008841f, 0.003043f, -0.023543f, -0.006658f, -0.007632f, 0.006572f, - 0.007817f, 0.000792f, 0.003770f, -0.014430f, 0.003751f, 0.002360f, 0.003720f, -0.013002f, 0.024527f, -0.001002f, 0.004341f, 0.003367f, -0.011992f, 0.001964f, -0.017091f, 0.010901f, -0.003897f, -0.013939f, 0.002496f, 0.001195f, -0.007413f, 0.000889f, 0.001150f, 0.011231f, 0.019568f, 0.008785f, -0.004492f, 0.006612f, 0.007728f, -0.018448f, -0.007355f, -0.008359f, 0.004613f, 0.004433f, -0.003703f, 0.003142f, 0.005809f, 0.004347f, 0.007611f, 0.015842f, -0.000445f, -0.005507f, -0.002500f, -0.000313f, 0.011232f, -0.008374f, -0.001109f, 0.006199f, 0.015167f, 0.000796f, -0.012596f, -0.009647f, -0.002952f, -0.011247f, -0.004245f, -0.024214f, -0.006637f, -0.008945f, 0.010367f, 0.000394f, -0.004976f, -0.031066f, -0.004077f, -0.004096f, 0.012948f, 0.030908f, -0.008807f, 0.020816f, 0.003646f, -0.018087f, -0.018513f, 0.003396f, 0.004852f, -0.010407f, 0.011809f, -0.008161f, 0.009560f, -0.011355f, 0.005783f, 0.004267f, -0.010833f, -0.008978f, -0.006873f, 0.003992f, 0.012279f, -0.015359f, 0.000823f, -0.016135f, -0.000670f, -0.005856f, 0.004299f, 0.012535f, 0.001554f, -0.004715f, -0.004319f, 0.013610f, - 0.000277f, 0.020503f, 0.006447f, -0.006866f, -0.006876f, -0.005074f, 0.003213f, 0.013240f, 0.000119f, 0.021515f, -0.036482f, -0.026322f, -0.021598f, -0.004147f, -0.018347f, 0.002245f, -0.006626f, 0.007795f, 0.017201f, 0.004232f, 0.007401f, 0.012089f, 0.018214f, 0.010614f, 0.003215f, -0.010544f, -0.030004f, -0.030243f, 0.017804f, 0.003424f, 0.022480f, -0.012852f, -0.010640f, 0.013257f, -0.021957f, 0.006444f, 0.015572f, 0.005431f, -0.010695f, -0.001276f, 0.028786f, 0.022639f, -0.001235f, -0.021361f, -0.033475f, -0.004893f, -0.011141f, 0.011343f, -0.009375f, -0.011126f, -0.038040f, -0.017699f, -0.033976f, 0.011907f, -0.000209f, -0.009490f, 0.010233f, -0.002208f, 0.001141f, 0.001539f, -0.010280f, -0.000004f, -0.011949f, -0.003284f, 0.008743f, 0.004818f, -0.012213f, 0.003724f, 0.014320f, 0.020806f, -0.002389f, -0.004070f, -0.006350f, 0.000217f, 0.012232f, 0.015053f, -0.001409f, 0.001340f, -0.002574f, -0.003832f, 0.020049f, 0.012890f, 0.001441f, 0.013319f, 0.005037f, -0.018702f, 0.004188f, -0.002861f, 0.023651f, 0.007813f, 0.003703f, 0.009889f, 0.015606f, 0.002939f, -0.012232f, -0.023450f, - -0.004393f, 0.003470f, 0.012673f, 0.004897f, 0.001406f, 0.003423f, 0.018273f, 0.002603f, 0.006240f, 0.006796f, 0.005098f, -0.012792f, -0.012745f, -0.012686f, -0.013002f, -0.013220f, 0.018296f, 0.048887f, 0.010617f, -0.015004f, 0.008623f, -0.008731f, -0.029061f, -0.005835f, -0.028528f, -0.015548f, 0.014543f, 0.019588f, 0.007401f, 0.004035f, 0.001472f, 0.003620f, 0.018372f, -0.013198f, 0.026059f, -0.017006f, -0.017538f, 0.020962f, 0.009058f, -0.033876f, 0.014530f, 0.008619f, 0.010435f, 0.022286f, 0.010687f, 0.016558f, -0.001473f, 0.008953f, -0.005670f, 0.014105f, 0.003328f, 0.002963f, 0.009038f, -0.019168f, -0.010757f, -0.005956f, 0.011758f, 0.005199f, 0.003889f, 0.009583f, 0.002305f, 0.003286f, -0.017806f, -0.000015f, 0.018078f, -0.003570f, 0.001679f, 0.002108f, 0.001751f, 0.022041f, 0.007908f, 0.029708f, 0.006196f, -0.004658f, 0.027771f, -0.025004f, -0.004031f, -0.004387f, -0.010701f, -0.002822f, 0.005023f, 0.027629f, 0.001680f, -0.006805f, -0.012128f, 0.004896f, -0.012807f, -0.006121f, -0.008827f, -0.016995f, -0.004074f, 0.002094f, 0.022161f, -0.005419f, -0.018631f, -0.026030f, - -0.010836f, -0.025609f, 0.018102f, -0.021690f, -0.017801f, -0.012330f, 0.011056f, 0.031597f, -0.032015f, -0.009906f, -0.035948f, 0.011089f, 0.003818f, 0.004374f, -0.011080f, 0.003833f, 0.038231f, -0.019442f, -0.004513f, 0.016006f, 0.009096f, 0.008921f, 0.012750f, 0.010356f, -0.014002f, -0.020674f, -0.005166f, -0.010917f, -0.017578f, -0.018966f, -0.000781f, -0.003491f, 0.003850f, 0.027198f, 0.015311f, -0.013327f, -0.009022f, -0.000351f, -0.008692f, 0.007665f, 0.048199f, -0.015422f, 0.033245f, 0.012163f, 0.004565f, -0.000846f, -0.006836f, 0.007282f, -0.020198f, 0.010558f, 0.025487f, 0.002699f, 0.002916f, 0.023088f, 0.012506f, 0.010013f, -0.019572f, 0.016934f, -0.012343f, -0.014206f, -0.045256f, -0.011677f, 0.026573f, -0.013895f, 0.005438f, -0.028264f, 0.019863f, -0.008843f, -0.014473f, 0.022302f, -0.033405f, -0.018899f, 0.031096f, -0.019803f, -0.028913f, 0.002868f, -0.019362f, -0.015057f, -0.001647f, 0.022052f, -0.010270f, 0.039033f, 0.037050f, 0.006820f, 0.012101f, -0.021718f, 0.002985f, -0.017672f, 0.027896f, -0.005943f, 0.008462f, -0.013598f, -0.008171f, 0.004240f, 0.004062f, -0.013097f, - 0.021464f, -0.006446f, 0.004829f, 0.007394f, -0.013480f, 0.004740f, -0.017292f, -0.000433f, 0.010410f, 0.011505f, 0.000659f, 0.015365f, 0.020458f, -0.002055f, -0.037185f, -0.006894f, -0.010703f, 0.026327f, -0.022269f, -0.028813f, -0.019662f, -0.014083f, 0.004413f, -0.016616f, -0.012027f, -0.008689f, -0.001740f, 0.004296f, -0.054480f, 0.034123f, 0.027803f, 0.038982f, -0.011864f, 0.005669f, 0.027408f, -0.026124f, -0.022623f, 0.003937f, 0.018405f, 0.010682f, -0.001812f, 0.004625f, -0.012566f, -0.017310f, -0.019599f, -0.006919f, 0.075161f, 0.005253f, -0.038347f, -0.007788f, -0.019402f, 0.013713f, 0.014751f, -0.024829f, -0.011374f, -0.020141f, -0.041213f, 0.004154f, -0.034500f, 0.016863f, 0.004820f, -0.026234f, 0.014770f, 0.018704f, 0.024090f, 0.008215f, 0.009246f, -0.027100f, -0.001013f, -0.004428f, 0.025913f, 0.013506f, 0.000812f, 0.025923f, 0.027112f, -0.001918f, -0.013380f, 0.004579f, 0.033603f, -0.020500f, -0.017589f, 0.018999f, 0.009415f, -0.020741f, -0.005022f, -0.018996f, 0.038671f, -0.031203f, 0.009217f, 0.022443f, -0.012340f, 0.020864f, 0.006970f, -0.007382f, -0.009810f, -0.008008f, - -0.015469f, 0.023887f, 0.029510f, 0.008170f, -0.021967f, 0.004785f, -0.024232f, -0.006832f, 0.016633f, -0.000337f, -0.011643f, -0.006148f, 0.004842f, -0.029836f, 0.001803f, -0.000229f, -0.018038f, 0.029099f, -0.024242f, 0.001962f, -0.004651f, -0.014754f, 0.021158f, 0.002715f, 0.013007f, -0.004821f, -0.000163f, 0.004079f, -0.009865f, 0.015097f, -0.008460f, 0.004737f, -0.007578f, 0.037755f, 0.016989f, 0.037780f, -0.001041f, -0.024651f, -0.014000f, 0.018233f, 0.023376f, 0.029933f, -0.001466f, -0.004259f, 0.036398f, 0.019141f, 0.040702f, 0.007452f, 0.001113f, -0.018663f, -0.011157f, -0.010215f, 0.008910f, 0.008360f, 0.020721f, -0.024713f, -0.000883f, -0.013895f, 0.011606f, -0.021196f, 0.006047f, 0.027718f, -0.006694f, 0.001192f, -0.016309f, 0.005586f, -0.016446f, -0.044270f, 0.003370f, -0.005216f, 0.000181f, -0.018776f, -0.007627f, 0.019857f, 0.031714f, -0.001825f, -0.015892f, 0.022057f, 0.006237f, 0.006676f, 0.020617f, 0.010052f, -0.016297f, -0.004475f, 0.011919f, -0.000522f, 0.010456f, -0.015318f, -0.018866f, 0.006736f, -0.018099f, -0.025636f, -0.016638f, -0.029472f, -0.011191f, 0.011698f, - -0.028761f, -0.002286f, -0.032620f, -0.011116f, -0.005289f, 0.011841f, -0.038663f, 0.015162f, -0.003519f, -0.019452f, 0.018064f, -0.009092f, -0.001108f, 0.042491f, 0.040320f, 0.000126f, 0.059660f, 0.068336f, 0.003718f, 0.021945f, 0.021135f, -0.002775f, -0.048929f, -0.001144f, -0.001695f, -0.018435f, 0.014192f, 0.013123f, -0.026384f, 0.014901f, 0.019157f, 0.003474f, -0.006653f, 0.010616f, -0.006315f, 0.035299f, -0.005408f, -0.015738f, 0.000840f, 0.008522f, -0.002615f, -0.001617f, 0.000086f, -0.054737f, 0.016780f, -0.000446f, -0.037518f, -0.015002f, 0.007492f, -0.002631f, -0.025209f, 0.010133f, -0.029867f, -0.001639f, 0.004044f, -0.048232f, -0.007788f, 0.022584f, -0.014768f, 0.003769f, 0.032378f, 0.020713f, 0.025093f, 0.009148f, -0.012180f, -0.021250f, 0.025077f, -0.010247f, 0.014674f, -0.019762f, -0.010063f, 0.018164f, 0.028128f, 0.006533f, 0.033438f, -0.018544f, 0.029145f, -0.020214f, -0.026694f, -0.016574f, 0.029020f, 0.032864f, -0.025275f, 0.018396f, -0.072394f, -0.001329f, 0.022476f, 0.013409f, -0.011452f, -0.020756f, 0.011782f, -0.052118f, 0.002104f, 0.068703f, -0.047062f, -0.002370f, - -0.005800f, 0.005427f, -0.019762f, 0.010406f, -0.030393f, -0.027317f, -0.011524f, -0.006104f, 0.005159f, -0.005477f, 0.013305f, -0.020014f, -0.001182f, 0.044849f, -0.037138f, -0.029227f, -0.009452f, 0.039480f, 0.003341f, -0.045232f, 0.018134f, -0.015607f, -0.022066f, 0.006555f, 0.062819f, -0.034542f, -0.022227f, 0.047973f, 0.032214f, 0.004864f, -0.020980f, 0.003170f, -0.009005f, -0.012719f, 0.011276f, 0.013972f, -0.009753f, -0.035394f, 0.045948f, 0.024448f, 0.007170f, -0.048839f, -0.009654f, 0.017834f, 0.015743f, -0.004246f, 0.024911f, -0.002189f, 0.007298f, -0.009473f, -0.032383f, 0.022215f, -0.023562f, 0.015454f, 0.005150f, -0.024385f, 0.049119f, 0.010387f, 0.035033f, 0.039364f, 0.005188f, -0.052080f, -0.011730f, 0.003804f, -0.022789f, -0.007407f, 0.001528f, 0.002503f, 0.023945f, 0.050060f, -0.011878f, 0.020125f, 0.003594f, -0.019907f, -0.095315f, 0.005584f, -0.024315f, 0.002585f, 0.048847f, 0.003865f, -0.008528f, 0.008031f, 0.002607f, -0.033359f, -0.034460f, -0.032456f, -0.029698f, 0.038884f, -0.007188f, 0.046552f, 0.004945f, -0.045421f, -0.000825f, 0.004185f, 0.039019f, 0.006794f, - -0.005446f, -0.008353f, 0.011671f, -0.024803f, -0.008483f, 0.041588f, -0.007900f, -0.055717f, -0.041263f, 0.024352f, -0.004735f, -0.012166f, 0.013356f, -0.004680f, -0.027607f, 0.007809f, 0.017345f, 0.037393f, -0.006977f, -0.032360f, 0.001129f, -0.040616f, 0.016042f, 0.044483f, -0.006557f, -0.056131f, 0.018119f, -0.001299f, 0.003765f, 0.012725f, -0.016842f, 0.033514f, 0.003158f, -0.023600f, 0.018465f, -0.012998f, -0.007191f, 0.048289f, -0.024529f, -0.008786f, -0.007839f, 0.030428f, 0.012579f, -0.054093f, 0.027403f, -0.043411f, -0.010648f, -0.023067f, 0.004775f, -0.013321f, -0.015164f, -0.001962f, -0.047895f, 0.010622f, 0.076509f, 0.051510f, 0.022171f, -0.037335f, 0.027927f, 0.037554f, 0.053044f, 0.027206f, 0.005569f, 0.003140f, 0.032991f, 0.059539f, -0.013877f, -0.005780f, 0.032306f, -0.063866f, 0.023084f, 0.059622f, -0.012688f, -0.018687f, 0.014526f, 0.046719f, 0.035851f, -0.022747f, -0.042197f, -0.000803f, 0.020500f, -0.005353f, 0.004621f, 0.002451f, 0.048503f, -0.026071f, 0.030973f, 0.049225f, -0.019239f, -0.003716f, 0.033127f, -0.002917f, 0.116869f, -0.046925f, 0.020911f, 0.082415f, - -0.046274f, 0.017498f, 0.005294f, -0.062496f, -0.002032f, 0.014726f, -0.028611f, 0.066273f, 0.004914f, -0.005877f, 0.005116f, -0.023440f, 0.087380f, 0.027185f, -0.069523f, 0.070712f, -0.027768f, 0.006000f, 0.021167f, 0.028725f, 0.045304f, 0.025707f, -0.011412f, -0.039548f, -0.057977f, -0.017730f, -0.022732f, 0.000445f, -0.017246f, 0.041414f, -0.022002f, -0.035045f, 0.003038f, 0.019960f, -0.090892f, 0.053299f, 0.001608f, 0.032557f, 0.051533f, -0.085562f, 0.019012f, 0.045337f, 0.009351f, 0.034066f, -0.033983f, 0.037431f, 0.009969f, -0.032957f, -0.000162f, -0.020413f, -0.063916f, 0.035683f, 0.019093f, 0.058834f, -0.032603f, -0.041390f, -0.015389f, 0.014590f, -0.009356f, -0.070699f, -0.035922f, 0.023119f, -0.005839f, 0.011824f, -0.030732f, -0.008268f, 0.023455f, -0.019078f, -0.010470f, -0.029449f, -0.007498f, 0.012372f, -0.034210f, 0.004833f, -0.074336f, -0.059695f, 0.018699f, -0.062100f, 0.005441f, -0.064978f, -0.046532f, -0.030561f, 0.031320f, 0.063497f, 0.076481f, -0.016438f, 0.034221f, 0.043072f, 0.020490f, 0.019763f, -0.028969f, 0.086901f, 0.087421f, -0.056697f, 0.060099f, -0.043935f, - 0.031086f, 0.063569f, 0.059647f, 0.073607f, 0.086461f, 0.063237f, -0.064128f, -0.043326f, 0.003236f, 0.007079f, 0.030248f, -0.008587f, -0.006501f, 0.112402f, -0.082580f, -0.040716f, 0.042953f, -0.025425f, 0.040916f, -0.032063f, -0.037692f, 0.012953f, -0.087567f, -0.003353f, 0.056727f, -0.013524f, 0.028437f, -0.049092f, -0.013649f, -0.019193f, 0.000405f, 0.062210f, 0.017074f, 0.013987f, -0.012793f, 0.034147f, 0.009095f, 0.084689f, 0.018872f, 0.049411f, 0.001471f, -0.038670f, -0.038681f, 0.049104f, -0.026216f, 0.022565f, -0.002882f, -0.063810f, 0.043266f, -0.056966f, 0.107246f, -0.082397f, 0.047183f, 0.044247f, -0.050060f, -0.040183f, -0.032405f, 0.039860f, -0.006493f, 0.041639f, -0.004147f, 0.004576f, -0.079022f, -0.041491f, 0.013372f, -0.038185f, 0.007816f, -0.023921f, 0.017327f, 0.010979f, 0.052598f, -0.036064f, -0.017393f, -0.016605f, -0.034390f, 0.076052f, 0.007795f, 0.004849f, -0.080334f, -0.026487f, 0.030868f, 0.019839f, 0.015448f, 0.063947f, 0.032240f, 0.055360f, 0.055574f, -0.007740f, 0.012476f, -0.036591f, -0.166691f, 0.115353f, -0.070910f, -0.052426f, 0.002889f, 0.022311f, - 0.031843f, 0.003707f, -0.025324f, 0.089292f, 0.047815f, 0.010898f, -0.043956f, 0.028001f, 0.000084f, 0.032034f, -0.041895f, -0.032075f, 0.024946f, 0.066031f, -0.076414f, 0.001069f, 0.026979f, 0.006098f, -0.017519f, -0.013834f, -0.008116f, 0.000758f, -0.002220f, 0.015155f, 0.087616f, 0.002949f, -0.036978f, 0.055030f, -0.011621f, -0.058629f, -0.070094f, 0.065609f, 0.024385f, -0.012637f, 0.027560f, 0.012578f, 0.059140f, -0.080879f, -0.006038f, -0.043028f, -0.008935f, 0.040395f, -0.030281f, 0.013144f, -0.035167f, 0.013792f, 0.120904f, 0.004291f, -0.065009f, -0.081017f, -0.001822f, 0.030837f, 0.038585f, -0.036274f, 0.010608f, 0.051291f, -0.020700f, -0.118343f, 0.067305f, -0.045980f, -0.059351f, 0.019478f, 0.110147f, -0.082406f, 0.058166f, 0.063072f, 0.030934f, -0.076171f, -0.046771f, -0.047381f, 0.096248f, 0.032183f, 0.006001f, -0.006722f, 0.014896f, 0.027540f, -0.009104f, 0.013019f, -0.015092f, 0.000181f, -0.012040f, 0.045691f, -0.051424f, -0.005433f, 0.029943f, -0.070472f, 0.022373f, -0.017004f, 0.004793f, -0.008035f, -0.020357f, 0.012883f, -0.006040f, -0.028591f, 0.076932f, -0.058950f, - -0.017247f, 0.055238f, -0.035893f, -0.005205f, -0.011755f, 0.012293f, 0.053811f, 0.004413f, -0.053772f, 0.072984f, -0.040000f, 0.026111f, 0.044706f, 0.020380f, -0.017624f, 0.004183f, -0.040681f, 0.009944f, -0.024906f, -0.018883f, 0.096845f, -0.022481f, -0.039546f, 0.012901f, -0.018811f, 0.023378f, -0.015790f, 0.025678f, 0.062152f, -0.034218f, 0.020217f, 0.048285f, -0.056852f, 0.026240f, 0.030254f, 0.014555f, 0.038084f, -0.043081f, -0.011672f, 0.067914f, -0.046193f, -0.009039f, 0.019549f, -0.017159f, 0.064871f, -0.061222f, 0.012537f, 0.026512f, -0.026153f, 0.028312f, 0.029236f, -0.055963f, -0.146988f, -0.233978f, 0.019890f, 0.217574f, 0.015785f, 0.496275f, 0.514011f, 0.251228f, 0.536995f, 0.353663f, -0.081260f, -0.016898f, -0.126831f, -0.445525f, -0.390856f, -0.247899f, -0.454819f, -0.361117f, -0.112902f, -0.232672f, -0.195739f, 0.048522f, 0.094593f, -0.070602f, 0.012299f, 0.078350f, -0.093143f, -0.064961f, 0.117933f, 0.099501f, -0.007382f, 0.112063f, 0.209750f, 0.051451f, 0.143311f, 0.290382f, 0.125756f, 0.050233f, 0.256073f, 0.205881f, -0.000137f, 0.136118f, 0.300213f, 0.028241f, - 0.041500f, 0.229490f, 0.076167f, -0.073335f, 0.147522f, 0.132933f, -0.064179f, 0.107978f, 0.154323f, -0.059059f, -0.206610f, -0.130658f, -0.415042f, -0.650556f, -0.586962f, -0.626592f, -0.920571f, -0.840057f, -0.793531f, -0.953692f, -0.932347f, -0.788355f, -0.725052f, -0.670735f, -0.441453f, -0.251573f, -0.026505f, 0.085715f, 0.285422f, 0.490972f, 0.529982f, 0.599605f, 0.668773f, 0.271967f, 0.035929f} - }, - { - {-0.011317f, -0.017401f, 0.000332f, -0.009642f, -0.002163f, -0.006676f, 0.005464f, -0.010363f, 0.000486f, 0.004088f, -0.003496f, 0.003227f, -0.000834f, -0.000927f, 0.001407f, 0.001514f, 0.003165f, -0.004906f, -0.001127f, -0.003285f, -0.008545f, -0.000007f, 0.002575f, 0.000724f, -0.003623f, 0.006529f, 0.002367f, -0.002051f, 0.002302f, 0.000581f, -0.003699f, 0.002175f, -0.001226f, -0.004121f, -0.004597f, -0.002120f, -0.000886f, -0.002132f, 0.004308f, 0.008110f, -0.000711f, 0.012223f, 0.001974f, -0.009185f, 0.003344f, -0.001523f, -0.007051f, 0.000901f, -0.006702f, 0.007586f, 0.001688f, -0.005886f, 0.002949f, -0.003403f, 0.002508f, 0.003872f, 0.001858f, 0.001773f, -0.001337f, 0.003451f, -0.005592f, 0.003023f, -0.002431f, -0.002308f, -0.001535f, -0.002742f, -0.009905f, -0.001802f, 0.005436f, -0.003327f, 0.003885f, 0.001912f, -0.002711f, 0.000981f, -0.000008f, 0.003109f, 0.011948f, -0.005897f, 0.003257f, -0.001145f, 0.000633f, 0.000671f, -0.004906f, -0.005397f, 0.003565f, -0.000880f, -0.004459f, -0.005515f, -0.003509f, 0.005132f, -0.000537f, 0.006848f, 0.001396f, -0.008311f, -0.008763f, -0.006036f, - 0.002565f, 0.002366f, 0.004560f, -0.000465f, 0.005225f, -0.003747f, -0.000700f, -0.008933f, -0.001367f, -0.001452f, 0.001947f, 0.003728f, 0.003527f, 0.007072f, -0.003302f, -0.004225f, 0.003749f, 0.002403f, -0.004332f, -0.004158f, 0.000314f, 0.003532f, 0.001624f, 0.007929f, -0.002739f, -0.001953f, 0.008666f, 0.003069f, 0.016139f, 0.007291f, -0.004327f, 0.000378f, -0.009668f, 0.000757f, -0.011029f, -0.000120f, -0.003990f, 0.008425f, 0.001043f, 0.004896f, 0.005923f, 0.003879f, 0.005711f, 0.004515f, 0.001063f, -0.008415f, -0.000730f, -0.003586f, 0.006834f, 0.010780f, -0.006270f, -0.003175f, -0.002456f, -0.001885f, -0.004610f, -0.018668f, -0.020385f, -0.001405f, -0.006001f, 0.000969f, -0.004598f, -0.001003f, 0.011001f, -0.001827f, 0.005805f, -0.002600f, -0.005632f, -0.007292f, 0.001129f, -0.001382f, -0.009153f, 0.010422f, 0.002834f, 0.000851f, 0.005219f, 0.005360f, 0.008207f, 0.006095f, -0.000826f, -0.006179f, 0.005614f, 0.001484f, -0.008765f, -0.003649f, -0.004106f, -0.002450f, 0.007312f, -0.002516f, -0.013235f, -0.004313f, -0.001768f, 0.002768f, -0.004317f, -0.008377f, -0.000019f, -0.000784f, - 0.009493f, 0.001476f, -0.000378f, 0.003587f, -0.000526f, 0.013205f, -0.002583f, 0.001194f, -0.003225f, -0.005282f, -0.000301f, 0.005613f, 0.002258f, 0.001465f, 0.005055f, -0.005027f, -0.008500f, -0.005999f, -0.001482f, 0.000910f, -0.002209f, 0.000028f, -0.006443f, -0.001612f, 0.002942f, -0.002267f, 0.006146f, 0.002978f, -0.000619f, 0.000732f, -0.006260f, -0.005707f, 0.009714f, 0.001476f, 0.003896f, 0.001506f, 0.002459f, 0.013392f, -0.001109f, 0.007019f, 0.003523f, 0.009231f, 0.010509f, -0.002204f, 0.000438f, 0.007010f, 0.006175f, 0.004703f, 0.012019f, 0.002771f, -0.004629f, 0.000754f, 0.010404f, 0.004047f, 0.004593f, 0.009674f, 0.012174f, 0.008582f, -0.003538f, -0.008636f, 0.005500f, 0.004305f, -0.005761f, -0.008382f, -0.000266f, -0.004885f, 0.001498f, 0.003272f, -0.003876f, -0.004214f, 0.003433f, 0.003346f, 0.006697f, -0.005093f, -0.011185f, -0.005232f, -0.005384f, -0.006958f, -0.003348f, -0.007961f, 0.003689f, -0.010882f, 0.003559f, 0.000736f, 0.001384f, -0.004981f, 0.009105f, 0.007577f, -0.008445f, 0.008733f, 0.002134f, -0.001641f, 0.001654f, -0.006873f, -0.003463f, 0.005774f, - 0.000741f, 0.002153f, 0.000085f, 0.006882f, 0.001363f, 0.008569f, -0.006188f, -0.001129f, -0.002440f, 0.002886f, 0.003259f, -0.002815f, 0.001286f, -0.005574f, -0.000123f, 0.002303f, -0.000324f, 0.035227f, 0.001158f, 0.031099f, 0.003435f, 0.019390f, -0.003476f, -0.004324f, 0.006416f, -0.015940f, 0.017394f, -0.010219f, 0.011965f, 0.007342f, -0.005147f, 0.003999f, 0.000460f, -0.000205f, -0.001882f, 0.003780f, 0.007442f, 0.007282f, 0.014264f, 0.002447f, 0.005189f, -0.001322f, 0.016627f, -0.018814f, 0.001387f, -0.002172f, 0.005280f, 0.006857f, -0.008514f, 0.002843f, 0.005251f, 0.001422f, 0.007256f, 0.002621f, -0.006325f, 0.002716f, 0.015036f, -0.003395f, 0.005304f, -0.003128f, -0.001166f, -0.001423f, -0.009052f, 0.014799f, 0.000799f, 0.000776f, 0.012677f, -0.002362f, 0.001963f, 0.013701f, -0.020077f, 0.005098f, 0.000697f, 0.005634f, 0.018231f, 0.004430f, 0.005266f, 0.005272f, -0.000711f, -0.005426f, -0.002076f, 0.003574f, 0.002747f, 0.008617f, -0.002123f, 0.007027f, 0.004741f, -0.003044f, 0.002771f, -0.006418f, -0.002741f, 0.000572f, -0.014220f, -0.017933f, -0.006838f, -0.002882f, - -0.006451f, 0.013956f, 0.006239f, -0.011561f, 0.012792f, -0.002017f, -0.009046f, 0.002491f, 0.005649f, -0.005395f, -0.008271f, -0.007858f, -0.015863f, -0.008364f, 0.007034f, -0.010440f, -0.016127f, 0.004271f, 0.006682f, 0.000987f, -0.005877f, 0.011842f, 0.001596f, 0.010912f, -0.000624f, -0.002947f, 0.006502f, 0.010297f, -0.015104f, -0.007608f, 0.004188f, -0.003796f, 0.003761f, -0.010329f, -0.000689f, 0.002251f, 0.003617f, -0.008905f, -0.015393f, -0.004792f, 0.004497f, -0.003078f, -0.001952f, 0.000449f, 0.004958f, -0.002027f, 0.002730f, -0.005712f, 0.008887f, -0.012267f, -0.008833f, -0.003625f, -0.008669f, -0.003154f, -0.002415f, 0.002825f, -0.006414f, 0.004143f, 0.009573f, -0.001483f, 0.002132f, 0.001949f, 0.004489f, 0.008785f, -0.003785f, -0.002532f, -0.001988f, -0.004661f, 0.009685f, -0.004735f, -0.017262f, -0.011544f, -0.006817f, -0.004526f, -0.015164f, -0.036633f, -0.002928f, 0.002141f, 0.000861f, -0.012101f, -0.004709f, -0.013667f, -0.002922f, -0.016041f, -0.017481f, -0.014372f, -0.002707f, -0.009600f, -0.019726f, -0.012960f, 0.004807f, 0.006049f, -0.004986f, 0.012002f, 0.007407f, -0.004715f, - 0.015737f, 0.003051f, 0.001939f, 0.002267f, -0.019905f, -0.000893f, 0.004175f, 0.007651f, -0.005717f, -0.005837f, 0.013078f, 0.023833f, -0.017069f, 0.006383f, -0.004419f, -0.000955f, -0.014893f, -0.001397f, 0.000718f, -0.008026f, -0.009273f, -0.007371f, -0.007721f, -0.004560f, 0.006145f, 0.017637f, -0.007183f, 0.006692f, 0.012911f, 0.010871f, -0.002542f, 0.001375f, -0.002725f, -0.003221f, -0.015028f, -0.007796f, 0.010363f, -0.005592f, 0.003221f, -0.005297f, 0.005893f, 0.002761f, -0.000478f, -0.000274f, -0.006209f, -0.005853f, 0.002787f, -0.001834f, 0.004697f, -0.018680f, -0.018933f, -0.001602f, -0.021734f, -0.005198f, -0.026320f, -0.006834f, -0.018407f, -0.003040f, 0.004426f, 0.004152f, 0.021663f, -0.013734f, 0.005490f, 0.004911f, -0.010472f, -0.005812f, 0.017618f, 0.001084f, -0.004042f, 0.001423f, -0.012948f, 0.011861f, -0.016825f, -0.006507f, 0.008775f, 0.004263f, -0.000950f, 0.002387f, -0.002596f, 0.005174f, -0.006644f, -0.013904f, 0.001823f, 0.005837f, 0.006189f, -0.011214f, 0.003881f, 0.011384f, -0.011349f, -0.016126f, 0.013363f, -0.011156f, 0.009060f, -0.008161f, 0.005483f, -0.000812f, - -0.010087f, -0.014861f, -0.007886f, 0.003463f, 0.000402f, 0.004941f, -0.006534f, -0.007736f, -0.017379f, 0.009194f, -0.012177f, -0.006364f, 0.008132f, 0.015984f, -0.001135f, -0.003652f, -0.023063f, -0.019160f, -0.005351f, -0.006914f, 0.009982f, -0.002653f, -0.013164f, -0.002258f, 0.001620f, -0.007710f, -0.001112f, -0.016521f, 0.011916f, 0.004928f, 0.014640f, 0.018296f, 0.013872f, 0.006477f, 0.039301f, 0.018227f, 0.025603f, -0.008367f, -0.000534f, -0.001032f, -0.037896f, 0.001368f, 0.016919f, -0.008261f, -0.002607f, 0.000614f, 0.024489f, -0.004825f, 0.014305f, -0.003629f, 0.013687f, 0.006566f, 0.016810f, 0.022434f, 0.003228f, 0.014670f, -0.004601f, 0.012547f, -0.001639f, 0.023964f, 0.013401f, -0.001385f, 0.014293f, 0.010433f, -0.004094f, 0.009875f, 0.006644f, 0.008344f, -0.007409f, -0.007106f, -0.020105f, -0.002405f, 0.014252f, 0.001524f, 0.001774f, -0.005954f, -0.007596f, -0.007333f, -0.006734f, 0.033652f, -0.022660f, 0.007488f, 0.010490f, 0.004524f, 0.002846f, -0.015036f, -0.018096f, -0.006245f, -0.002899f, -0.002590f, -0.031248f, -0.017236f, -0.016206f, -0.001220f, -0.001018f, 0.007095f, - -0.001304f, 0.005903f, 0.010715f, 0.017365f, 0.003423f, -0.007852f, 0.006564f, -0.015580f, 0.003549f, -0.012747f, 0.004090f, 0.003293f, 0.058310f, 0.007608f, 0.007700f, 0.007951f, -0.004862f, -0.022848f, 0.015154f, 0.018492f, -0.010742f, 0.008857f, 0.006653f, -0.013106f, -0.003087f, 0.015549f, 0.007097f, -0.024065f, 0.005468f, -0.005453f, -0.014041f, 0.001253f, 0.006519f, 0.003616f, -0.001185f, 0.001145f, 0.010094f, -0.001786f, 0.005320f, -0.018223f, 0.007122f, -0.000325f, 0.007004f, 0.006255f, -0.004431f, 0.015972f, -0.020125f, -0.006521f, -0.019855f, 0.018481f, 0.007164f, 0.029013f, 0.012741f, 0.001825f, 0.005183f, -0.020064f, -0.000804f, 0.008399f, 0.006436f, 0.008704f, 0.000923f, 0.005912f, -0.006333f, 0.008333f, 0.019026f, 0.028340f, 0.010936f, -0.009830f, -0.006967f, -0.000555f, -0.005517f, 0.011941f, 0.012992f, -0.007013f, 0.007633f, 0.016870f, 0.004351f, -0.018021f, -0.040022f, -0.017515f, 0.008021f, 0.019667f, -0.007434f, 0.007388f, -0.001318f, -0.001610f, 0.000124f, 0.020129f, 0.003329f, -0.034709f, 0.009168f, 0.019117f, -0.021333f, 0.014425f, 0.019509f, -0.050163f, - 0.009408f, 0.004026f, 0.009581f, -0.017576f, 0.027522f, -0.039195f, -0.002206f, -0.001121f, -0.005216f, -0.002386f, -0.013811f, -0.013677f, -0.004432f, 0.016527f, -0.000399f, 0.002245f, -0.009747f, 0.012188f, -0.003559f, -0.003212f, 0.005836f, 0.019998f, -0.014015f, 0.014952f, -0.004392f, 0.009825f, 0.001941f, 0.014180f, 0.016769f, -0.002445f, 0.002853f, -0.022479f, -0.014364f, -0.003101f, -0.011423f, -0.020274f, 0.000166f, -0.006123f, -0.016737f, 0.023335f, -0.022338f, -0.004661f, -0.011830f, -0.008788f, 0.012119f, -0.014510f, 0.006729f, -0.003718f, 0.012350f, -0.005809f, 0.013670f, -0.019543f, -0.009021f, 0.004951f, 0.016869f, -0.032813f, -0.016377f, 0.003517f, -0.003405f, -0.003976f, 0.010271f, -0.015879f, -0.039607f, 0.010037f, -0.035747f, 0.018207f, -0.016409f, 0.002594f, -0.039278f, -0.009309f, -0.027504f, -0.011052f, 0.033405f, 0.001932f, -0.028595f, 0.026851f, -0.012950f, 0.002213f, -0.029839f, 0.004934f, 0.010929f, -0.025346f, -0.006973f, -0.022622f, -0.000870f, 0.001858f, -0.008500f, -0.006017f, 0.021717f, 0.003823f, -0.016032f, 0.004171f, -0.033469f, 0.019952f, 0.030224f, -0.009728f, - 0.012075f, 0.022378f, -0.002600f, -0.004195f, 0.001717f, 0.002983f, 0.011879f, 0.002503f, 0.001893f, 0.007078f, -0.019392f, -0.001023f, -0.022178f, -0.021140f, -0.010060f, 0.009298f, 0.011389f, -0.000378f, -0.026642f, 0.005272f, 0.005125f, 0.012724f, 0.025397f, -0.027338f, 0.038808f, -0.033233f, -0.000303f, -0.006402f, -0.007724f, -0.015842f, -0.033194f, -0.041597f, -0.018496f, -0.004327f, 0.008337f, -0.002636f, -0.000826f, 0.006829f, -0.003111f, 0.030369f, 0.010925f, -0.029428f, -0.008143f, 0.000575f, 0.015592f, -0.019399f, -0.002826f, -0.040028f, 0.003327f, 0.036745f, -0.032872f, -0.018212f, -0.034308f, 0.041176f, 0.018834f, -0.021480f, 0.028169f, 0.026439f, 0.039668f, -0.015189f, -0.012524f, 0.027436f, -0.003292f, -0.006489f, 0.010748f, 0.011702f, 0.005907f, 0.005130f, -0.037711f, -0.004995f, 0.001005f, -0.000578f, 0.003026f, -0.005269f, 0.017267f, 0.030830f, 0.004122f, 0.001254f, 0.000374f, 0.000596f, 0.030159f, 0.006839f, -0.001129f, -0.007320f, 0.008428f, 0.005526f, -0.003633f, 0.002407f, -0.015718f, -0.004441f, 0.026406f, -0.026198f, -0.011266f, -0.022735f, 0.029426f, -0.027018f, - 0.014088f, -0.011655f, 0.009422f, -0.006665f, 0.007834f, -0.021934f, 0.005919f, 0.030543f, -0.019612f, 0.000608f, -0.053897f, -0.003509f, -0.018201f, 0.000418f, -0.050099f, -0.003367f, -0.001112f, -0.016977f, -0.009526f, 0.040858f, -0.043404f, 0.006366f, -0.010344f, -0.017990f, 0.014209f, -0.016448f, -0.032747f, -0.025912f, 0.006487f, 0.000642f, 0.011663f, -0.018456f, -0.009482f, 0.034017f, 0.013711f, -0.005867f, 0.008975f, -0.018835f, -0.017217f, -0.016392f, 0.035808f, -0.031792f, -0.036664f, 0.017245f, -0.033954f, 0.012177f, 0.003009f, 0.008723f, -0.014190f, -0.004758f, -0.017579f, -0.009092f, -0.013106f, 0.006339f, 0.019554f, 0.011370f, -0.026736f, 0.032578f, 0.006080f, 0.010907f, 0.005158f, 0.015349f, -0.001261f, 0.014751f, 0.006067f, -0.007540f, 0.012224f, 0.002976f, 0.015526f, 0.008404f, -0.019206f, 0.008198f, -0.003700f, 0.005628f, -0.001632f, -0.008597f, -0.003803f, -0.015729f, 0.017323f, 0.014848f, 0.019179f, -0.003352f, 0.032576f, 0.034537f, 0.017533f, 0.004279f, 0.019612f, 0.035898f, 0.021854f, 0.039230f, 0.029600f, 0.029247f, -0.027027f, -0.031886f, 0.011360f, -0.006478f, - -0.003286f, 0.002529f, -0.010196f, 0.013356f, 0.016140f, 0.006450f, 0.036913f, -0.006699f, -0.011754f, -0.015778f, -0.005728f, 0.004126f, 0.002888f, -0.064068f, -0.012170f, 0.029347f, 0.018846f, -0.062109f, -0.046989f, -0.013716f, -0.001171f, 0.021461f, -0.009166f, -0.000683f, -0.050501f, 0.007902f, -0.026662f, 0.019555f, -0.004084f, 0.025660f, -0.021658f, -0.004377f, -0.025587f, 0.005316f, 0.020208f, -0.008868f, 0.005684f, -0.013432f, 0.000802f, -0.032734f, -0.009605f, -0.000576f, 0.002224f, 0.026112f, 0.032415f, 0.002238f, -0.030022f, -0.019915f, -0.009728f, 0.004225f, -0.007911f, 0.010699f, -0.034318f, -0.009468f, -0.004599f, -0.007699f, -0.019126f, -0.003281f, -0.008643f, 0.024673f, 0.034306f, 0.024204f, 0.008805f, 0.015307f, 0.014768f, -0.015051f, 0.057385f, 0.035748f, -0.043979f, -0.037350f, 0.042595f, -0.031420f, -0.017855f, 0.007794f, 0.005868f, -0.030461f, 0.032311f, 0.003363f, -0.094355f, 0.027060f, 0.062367f, -0.040438f, 0.044021f, 0.056871f, -0.015536f, -0.004569f, 0.033434f, -0.033610f, -0.018152f, 0.012631f, -0.011875f, -0.020898f, -0.018247f, -0.013787f, 0.021907f, 0.011287f, - 0.014775f, -0.004809f, -0.018998f, -0.017663f, 0.020198f, -0.016746f, -0.000303f, 0.004062f, -0.027497f, 0.016941f, 0.016186f, -0.013254f, -0.008393f, -0.024032f, 0.001510f, -0.015578f, 0.020133f, -0.033137f, 0.003198f, 0.010119f, -0.000900f, -0.016824f, -0.031731f, -0.009284f, -0.013451f, -0.005192f, -0.024494f, 0.032155f, -0.032879f, 0.003712f, -0.011651f, 0.006410f, -0.046907f, 0.046556f, 0.009678f, 0.002560f, -0.019195f, 0.008747f, 0.008230f, -0.000313f, 0.004655f, -0.011234f, -0.037223f, -0.009063f, -0.016100f, -0.026626f, -0.032101f, -0.014323f, -0.008165f, -0.034710f, -0.012361f, -0.004385f, 0.021812f, 0.007186f, -0.029206f, -0.028296f, 0.015134f, -0.009760f, -0.037185f, -0.019017f, 0.008378f, 0.026931f, 0.029245f, 0.027233f, 0.047803f, -0.012551f, -0.034002f, -0.034509f, -0.003108f, 0.019036f, 0.036778f, 0.016469f, 0.007564f, 0.021090f, 0.062801f, -0.055498f, 0.000052f, -0.023003f, -0.026916f, -0.018563f, 0.029711f, -0.016751f, -0.014900f, 0.012967f, 0.037853f, 0.021360f, -0.025263f, 0.016187f, -0.026559f, 0.019626f, 0.003071f, -0.004432f, -0.011804f, -0.022388f, -0.015099f, 0.002445f, - 0.005929f, -0.034630f, 0.023354f, 0.002451f, -0.000900f, -0.013746f, -0.012057f, 0.022837f, -0.030327f, -0.002464f, 0.037666f, 0.040758f, -0.035022f, -0.003327f, -0.005073f, -0.024955f, -0.028878f, 0.033475f, 0.010215f, 0.021070f, -0.004235f, 0.002042f, -0.000445f, 0.021093f, -0.005885f, 0.000678f, -0.024228f, 0.038025f, 0.034683f, -0.047237f, -0.054658f, -0.012430f, 0.003362f, -0.019064f, 0.004619f, -0.014132f, 0.007095f, -0.029103f, 0.033543f, -0.037302f, -0.030065f, -0.011996f, 0.008064f, 0.026184f, -0.010898f, 0.037961f, 0.006414f, -0.012548f, -0.010512f, -0.008645f, -0.021598f, 0.024577f, 0.018448f, -0.080431f, 0.120360f, -0.081888f, -0.023957f, 0.024701f, 0.063924f, 0.056397f, -0.022267f, -0.019030f, 0.001159f, 0.005653f, 0.031863f, 0.015215f, -0.047583f, 0.016223f, -0.012100f, -0.013227f, 0.002142f, 0.021225f, -0.002542f, -0.031181f, -0.032183f, 0.018614f, 0.010679f, 0.023787f, -0.013712f, 0.028814f, 0.003831f, 0.033342f, -0.005363f, -0.007443f, 0.020346f, 0.000261f, -0.026251f, 0.007232f, 0.025833f, 0.001883f, -0.034066f, 0.018990f, 0.035084f, -0.031088f, 0.011438f, -0.033575f, - 0.012499f, -0.043222f, -0.032449f, 0.054599f, 0.045736f, 0.025880f, 0.060193f, -0.008446f, 0.072265f, 0.031187f, 0.026648f, 0.043548f, -0.069240f, 0.060461f, 0.017402f, 0.026773f, 0.024215f, 0.010184f, -0.034810f, 0.009368f, 0.060682f, 0.075488f, -0.002875f, -0.076618f, 0.037637f, 0.006456f, 0.014717f, 0.001499f, -0.000438f, -0.013365f, -0.063580f, 0.016304f, -0.013435f, 0.017338f, 0.082793f, -0.004583f, -0.094963f, -0.050398f, -0.055237f, -0.023296f, 0.002128f, 0.030286f, -0.080686f, -0.020015f, 0.014593f, -0.039951f, -0.042539f, -0.041820f, -0.042458f, -0.008693f, 0.050360f, 0.023420f, -0.017634f, 0.021804f, 0.011271f, -0.023913f, 0.026810f, -0.029790f, -0.004551f, 0.010129f, 0.018323f, -0.057600f, 0.029820f, -0.029182f, 0.017735f, -0.012674f, -0.043245f, 0.010805f, 0.015682f, 0.005247f, 0.009107f, -0.020395f, -0.062095f, 0.000840f, 0.014894f, 0.012129f, 0.002354f, 0.006162f, -0.024782f, -0.002141f, -0.000558f, 0.056093f, -0.007228f, -0.097177f, -0.041380f, -0.012264f, -0.077510f, 0.016085f, -0.022553f, -0.022179f, -0.036552f, -0.019088f, -0.055421f, -0.057892f, -0.067008f, -0.008870f, - 0.073614f, 0.007858f, -0.044253f, 0.018997f, 0.001950f, -0.007020f, -0.024470f, -0.037873f, 0.016247f, 0.028323f, 0.023630f, 0.011854f, -0.012435f, -0.055987f, -0.036274f, -0.031796f, 0.051815f, -0.004520f, 0.041239f, 0.057250f, -0.048455f, -0.056727f, -0.063366f, 0.018278f, 0.020101f, -0.082570f, -0.050436f, 0.003915f, 0.000971f, 0.027821f, -0.099942f, 0.012933f, 0.021403f, 0.070823f, -0.080261f, 0.011940f, 0.011646f, -0.007140f, 0.042264f, -0.022254f, 0.075047f, -0.001272f, 0.005522f, 0.026051f, 0.028454f, -0.025654f, -0.062759f, 0.039218f, 0.042374f, 0.013498f, 0.053933f, 0.014308f, -0.008088f, -0.016784f, -0.047638f, 0.076053f, -0.033312f, 0.072491f, 0.025916f, -0.000636f, 0.019148f, -0.024221f, 0.035861f, 0.041439f, -0.026564f, 0.032380f, 0.012766f, -0.066045f, 0.051063f, 0.059051f, -0.007869f, -0.030154f, 0.005697f, 0.005084f, 0.001032f, -0.005469f, 0.097202f, 0.006256f, -0.058756f, -0.023159f, 0.009474f, -0.072682f, -0.110124f, 0.025986f, 0.133034f, 0.042781f, -0.012323f, -0.071158f, -0.025439f, 0.004671f, 0.087390f, -0.036896f, -0.049341f, -0.077336f, -0.133592f, 0.037829f, - 0.066493f, -0.088235f, -0.006262f, 0.047258f, -0.019464f, -0.040559f, 0.036360f, -0.039235f, -0.019233f, 0.001290f, -0.027015f, 0.044173f, -0.014154f, -0.022590f, -0.006770f, 0.022483f, 0.084015f, -0.014666f, -0.037079f, -0.044422f, 0.016375f, 0.037765f, 0.024619f, -0.039551f, -0.005081f, 0.043158f, 0.001982f, -0.036101f, 0.011989f, -0.032469f, 0.077189f, -0.036691f, -0.082560f, 0.026590f, -0.013621f, 0.037512f, -0.055393f, -0.056850f, 0.055025f, -0.006588f, -0.071235f, -0.040028f, -0.068218f, 0.085874f, 0.042105f, 0.021543f, -0.093332f, 0.014284f, 0.037558f, -0.067270f, 0.002871f, -0.048923f, -0.036652f, 0.034201f, -0.033013f, 0.039625f, -0.027863f, -0.058519f, -0.014976f, -0.015865f, -0.011040f, 0.017762f, 0.003544f, -0.036724f, 0.105816f, -0.014545f, 0.043848f, 0.049434f, 0.024313f, -0.014494f, 0.003620f, -0.022839f, 0.050535f, 0.020907f, -0.035417f, 0.027128f, 0.095581f, 0.022347f, 0.040120f, -0.001335f, 0.007974f, 0.017766f, -0.037850f, 0.017940f, 0.031892f, 0.002603f, -0.043205f, -0.019631f, -0.032635f, -0.010172f, -0.043290f, -0.037340f, 0.002698f, -0.029302f, 0.044084f, 0.017284f, - -0.013054f, -0.031280f, -0.018352f, -0.008764f, 0.022713f, -0.005432f, -0.041047f, -0.029763f, 0.005866f, 0.010600f, 0.019990f, 0.010700f, -0.010815f, 0.012582f, -0.036080f, -0.100772f, 0.002048f, 0.127220f, -0.005928f, -0.088655f, -0.017034f, 0.061685f, 0.014298f, 0.011882f, -0.003958f, -0.037327f, -0.051471f, -0.027307f, 0.008905f, -0.000951f, -0.047803f, 0.018826f, -0.093824f, -0.014406f, 0.082400f, 0.026838f, 0.106641f, -0.012531f, -0.045431f, -0.011291f, -0.012060f, 0.030749f, 0.003822f, 0.000560f, -0.062079f, -0.028776f, -0.031189f, -0.003209f, 0.066055f, -0.008951f, -0.020156f, 0.022282f, 0.024085f, 0.002681f, -0.041889f, -0.062416f, -0.043366f, -0.145318f, -0.223694f, 0.050192f, 0.197002f, 0.059398f, 0.483982f, 0.454441f, 0.199635f, 0.467556f, 0.194209f, -0.092799f, -0.008361f, -0.150540f, -0.397597f, -0.222026f, -0.213329f, -0.409797f, -0.301284f, -0.178841f, -0.263420f, -0.182328f, 0.023429f, -0.029313f, -0.095220f, 0.079247f, 0.072854f, -0.017924f, 0.077746f, 0.240175f, 0.089485f, 0.028132f, 0.227136f, 0.199656f, 0.051785f, 0.240331f, 0.298969f, -0.026627f, 0.165041f, 0.298155f, - 0.094739f, 0.100118f, 0.301494f, 0.166043f, -0.059982f, 0.224374f, 0.145853f, -0.108818f, 0.062567f, 0.165410f, -0.135105f, -0.208379f, -0.083323f, -0.394651f, -0.631882f, -0.615483f, -0.680990f, -1.058735f, -0.927114f, -0.778052f, -0.993223f, -0.864091f, -0.584479f, -0.682647f, -0.545290f, -0.215034f, -0.134996f, 0.096901f, 0.257068f, 0.486545f, 0.679280f, 0.742615f, 0.872327f, 0.945296f, 0.845111f, 0.760948f, 0.746588f, 0.319287f, -0.024459f, -0.004229f}, - {-0.010706f, -0.017167f, -0.001287f, -0.017525f, -0.009700f, -0.003350f, -0.003022f, -0.000475f, -0.004166f, -0.000782f, 0.003795f, -0.004550f, 0.005319f, 0.000654f, -0.007138f, 0.004469f, -0.001227f, 0.004777f, 0.000710f, -0.006772f, 0.004794f, 0.002655f, 0.003770f, -0.002894f, -0.004321f, -0.003106f, -0.003593f, 0.002845f, -0.000589f, 0.000792f, -0.003918f, 0.002820f, -0.004754f, -0.006515f, 0.000356f, -0.008098f, -0.006024f, -0.003101f, 0.008709f, 0.001080f, 0.003363f, -0.010534f, 0.001550f, 0.001805f, -0.009058f, 0.003266f, 0.000719f, -0.009460f, -0.001724f, -0.000697f, -0.007337f, 0.008416f, -0.005262f, -0.003027f, 0.004961f, -0.000349f, -0.008892f, -0.000889f, -0.006146f, 0.006933f, 0.006046f, -0.008478f, -0.004422f, -0.005665f, -0.003831f, -0.002393f, 0.003671f, 0.003218f, 0.002109f, 0.005822f, -0.000052f, 0.002312f, -0.000854f, -0.002310f, -0.003048f, -0.001391f, 0.021128f, -0.010667f, 0.001167f, -0.006518f, -0.000132f, 0.008401f, 0.004501f, 0.005122f, -0.004478f, 0.006430f, -0.006734f, 0.007261f, 0.004146f, 0.008826f, 0.004209f, -0.002172f, -0.010124f, 0.010790f, 0.008028f, 0.002412f, - 0.001610f, 0.000602f, -0.004147f, -0.005523f, 0.006077f, 0.003097f, 0.004060f, 0.005103f, -0.005394f, -0.000910f, 0.005483f, 0.005704f, -0.000556f, -0.005113f, -0.008536f, -0.000473f, 0.001877f, -0.005823f, 0.002215f, 0.000886f, -0.007692f, -0.004817f, -0.000390f, 0.003472f, 0.000295f, -0.004417f, 0.007585f, 0.000806f, -0.002311f, -0.006056f, -0.001039f, 0.000049f, -0.010165f, 0.004157f, 0.006633f, -0.004222f, 0.008438f, 0.006147f, -0.000942f, 0.004958f, 0.003440f, 0.010304f, 0.003563f, 0.001361f, -0.001621f, 0.003423f, -0.008770f, 0.000403f, 0.004268f, -0.005137f, 0.004834f, 0.005049f, 0.006321f, 0.003124f, 0.008084f, -0.019988f, -0.013512f, -0.002243f, -0.008605f, -0.007880f, 0.004007f, -0.011513f, -0.010558f, 0.002824f, -0.004641f, -0.004694f, 0.004765f, -0.003843f, -0.007411f, -0.001140f, -0.000326f, -0.002476f, -0.003257f, -0.002384f, -0.008547f, -0.000867f, -0.006098f, -0.004911f, -0.000000f, 0.007535f, -0.001509f, 0.011030f, -0.005673f, 0.006488f, 0.008074f, -0.009153f, 0.003297f, -0.002584f, 0.001930f, -0.006595f, 0.003308f, 0.003665f, 0.006265f, -0.003484f, -0.007183f, -0.002960f, - -0.003850f, 0.001971f, 0.003070f, -0.009373f, -0.000933f, -0.006577f, -0.004758f, 0.001249f, -0.007162f, -0.012212f, -0.002028f, 0.011082f, 0.002724f, 0.003554f, 0.000791f, 0.002144f, 0.001732f, 0.003713f, 0.004707f, 0.012384f, 0.001101f, -0.006365f, -0.007318f, -0.002253f, -0.003440f, -0.001671f, -0.014952f, 0.002329f, -0.001008f, 0.003913f, -0.001974f, 0.000312f, -0.003581f, -0.002991f, 0.014692f, 0.001263f, 0.001069f, 0.016026f, 0.018484f, 0.014221f, 0.010567f, 0.014953f, 0.006078f, 0.006505f, -0.001343f, 0.004260f, 0.015755f, 0.001696f, 0.004827f, -0.005826f, -0.003863f, 0.012079f, -0.008050f, -0.014721f, 0.004506f, -0.012291f, 0.010683f, 0.002543f, 0.012816f, -0.004025f, -0.000743f, -0.003104f, 0.004259f, 0.005157f, -0.000108f, -0.012502f, -0.002511f, 0.010811f, -0.007072f, 0.004910f, 0.002941f, -0.002360f, -0.002991f, 0.012022f, 0.009125f, 0.020925f, 0.008468f, 0.001814f, 0.005128f, -0.001674f, 0.001415f, 0.006663f, 0.004078f, 0.017873f, -0.007432f, -0.004959f, 0.001435f, 0.004697f, -0.002581f, 0.008368f, -0.007475f, 0.001744f, -0.000240f, -0.005767f, 0.002143f, 0.001958f, - -0.007691f, -0.010672f, -0.006341f, 0.008818f, 0.004606f, 0.000281f, -0.000193f, 0.006775f, 0.001083f, 0.002486f, 0.011965f, 0.005962f, -0.001822f, -0.001276f, 0.011113f, -0.007984f, 0.002730f, 0.035045f, -0.000858f, 0.017280f, -0.003342f, -0.002450f, 0.018035f, -0.017697f, -0.006470f, -0.001194f, 0.008760f, 0.006472f, -0.004121f, 0.003672f, 0.001396f, -0.016041f, 0.003796f, 0.008849f, 0.007389f, -0.018017f, -0.006722f, 0.002206f, -0.013377f, -0.003440f, 0.000644f, 0.000725f, 0.001408f, -0.001875f, 0.007927f, -0.005753f, 0.006212f, 0.013742f, 0.013210f, -0.003854f, -0.008232f, -0.001302f, 0.014903f, -0.000794f, -0.001279f, 0.000189f, 0.001037f, -0.007905f, 0.000873f, 0.006509f, 0.000458f, 0.001575f, 0.005651f, -0.004061f, 0.003610f, 0.002437f, -0.002260f, 0.010793f, 0.000464f, 0.008568f, 0.001072f, -0.002897f, 0.003094f, 0.005691f, 0.004267f, -0.000312f, -0.009143f, -0.007766f, -0.010898f, -0.004642f, -0.001135f, -0.000146f, -0.002002f, 0.007349f, 0.005642f, -0.005185f, -0.010851f, -0.000049f, 0.004247f, 0.005703f, -0.007027f, -0.001917f, -0.009359f, -0.025942f, -0.006797f, -0.008762f, - 0.001654f, 0.004366f, -0.004443f, -0.005152f, -0.048997f, 0.001038f, 0.015723f, -0.011368f, -0.018339f, 0.013797f, -0.020744f, -0.003061f, -0.009274f, -0.010822f, -0.006763f, -0.006757f, 0.000761f, 0.008426f, -0.001491f, 0.004751f, -0.005255f, 0.006394f, -0.004754f, -0.007299f, 0.003338f, -0.002650f, -0.011629f, -0.014821f, 0.007251f, 0.000861f, 0.007178f, 0.002318f, 0.015934f, 0.002395f, 0.005636f, -0.007421f, -0.012975f, -0.003641f, -0.006330f, 0.013320f, -0.005910f, 0.000529f, 0.003663f, -0.006332f, 0.018652f, 0.012370f, 0.000570f, -0.014437f, -0.018231f, -0.006099f, 0.006557f, -0.016547f, -0.000006f, -0.007940f, -0.015489f, 0.001693f, -0.024463f, -0.005311f, -0.002096f, -0.009076f, 0.017414f, -0.000828f, -0.001945f, -0.000068f, 0.011309f, 0.013623f, 0.004940f, -0.013240f, -0.003287f, -0.003210f, 0.008508f, 0.003578f, 0.005555f, 0.011089f, -0.028725f, -0.040615f, 0.004323f, -0.008762f, 0.008465f, -0.010891f, -0.021252f, 0.001180f, 0.018124f, 0.004529f, 0.010839f, 0.009918f, 0.006430f, 0.005271f, -0.007338f, 0.005741f, 0.011810f, -0.018937f, -0.009912f, -0.005829f, -0.005117f, 0.007904f, - -0.002330f, 0.003193f, 0.012292f, 0.012053f, -0.005309f, -0.010339f, 0.001897f, -0.005458f, -0.005427f, -0.009980f, -0.008154f, -0.015582f, 0.003241f, -0.005334f, -0.000824f, 0.015311f, -0.003594f, 0.003588f, 0.003145f, -0.009596f, 0.008057f, 0.009487f, 0.011402f, -0.009764f, 0.018403f, -0.002241f, -0.014702f, -0.010919f, -0.016026f, 0.015167f, -0.006131f, -0.015308f, 0.004173f, -0.001534f, -0.012238f, 0.013194f, 0.015570f, -0.004623f, -0.014526f, 0.011227f, 0.002333f, 0.009079f, -0.002130f, 0.023207f, 0.011940f, -0.011627f, -0.007494f, -0.004768f, -0.006273f, 0.008723f, 0.008580f, 0.014440f, -0.038227f, -0.000389f, -0.006660f, 0.002187f, 0.000270f, 0.014181f, 0.011011f, 0.014693f, -0.002119f, 0.020174f, -0.009240f, 0.013584f, 0.017436f, 0.002744f, 0.017373f, 0.003265f, 0.004737f, -0.005215f, -0.001450f, -0.007616f, 0.013818f, -0.001286f, -0.001257f, 0.018597f, 0.011789f, -0.000292f, 0.005406f, -0.002106f, -0.000376f, 0.011896f, -0.006828f, -0.012772f, 0.000239f, -0.002227f, 0.006538f, -0.035215f, 0.021087f, 0.021930f, 0.009107f, 0.003796f, 0.000818f, -0.011626f, -0.022908f, 0.014649f, - -0.009112f, -0.011167f, -0.006843f, 0.013030f, -0.009466f, 0.007746f, 0.008765f, -0.008963f, -0.005271f, -0.020760f, 0.009351f, -0.013829f, 0.007852f, 0.000393f, 0.007031f, 0.011178f, 0.019490f, 0.007273f, -0.008851f, -0.022458f, -0.003693f, 0.011780f, 0.021393f, 0.014604f, -0.003239f, -0.005894f, -0.013778f, -0.024814f, -0.002517f, 0.013283f, 0.006911f, 0.001503f, 0.003513f, 0.014940f, 0.050192f, 0.027711f, -0.002683f, 0.005026f, 0.004224f, 0.011330f, 0.019651f, -0.002587f, 0.003620f, 0.033905f, 0.003128f, -0.001322f, 0.020004f, 0.014321f, -0.014409f, 0.008476f, 0.001649f, 0.013645f, 0.008925f, -0.023385f, 0.017390f, -0.010833f, -0.002014f, 0.001991f, 0.013462f, 0.002454f, 0.003257f, 0.010536f, 0.011626f, -0.011733f, 0.011927f, 0.037115f, -0.007189f, 0.016775f, 0.016755f, -0.009494f, 0.012969f, 0.003346f, -0.009680f, -0.010014f, 0.005871f, -0.009028f, -0.023965f, -0.003398f, -0.001914f, 0.001935f, -0.030535f, -0.007744f, 0.008203f, -0.019322f, -0.013599f, -0.031524f, 0.009210f, 0.013546f, -0.022202f, -0.008285f, -0.011316f, 0.021558f, -0.000639f, -0.013699f, -0.010206f, -0.015241f, - 0.005853f, 0.017647f, -0.014691f, 0.006034f, -0.007120f, 0.007729f, 0.019627f, 0.007462f, 0.015042f, 0.015369f, 0.019409f, 0.001385f, 0.050824f, 0.014950f, 0.001085f, -0.001909f, -0.008543f, 0.001400f, 0.008661f, -0.005222f, -0.013037f, -0.016678f, 0.000275f, 0.013731f, -0.016857f, 0.008819f, 0.009301f, -0.003402f, 0.033906f, 0.013414f, -0.009811f, -0.004941f, -0.003742f, 0.013597f, -0.006304f, -0.010653f, -0.013981f, 0.009056f, -0.029186f, 0.001993f, -0.009077f, -0.009250f, 0.007788f, 0.002968f, -0.011478f, -0.005374f, -0.011094f, 0.014951f, -0.005854f, -0.021254f, -0.003955f, 0.001444f, 0.000375f, -0.011960f, -0.019420f, 0.002611f, -0.004719f, -0.001580f, 0.004793f, -0.002984f, 0.015575f, 0.004335f, 0.008694f, -0.010033f, 0.023236f, 0.007940f, -0.013852f, 0.017076f, 0.029689f, -0.008295f, -0.009316f, 0.016627f, 0.013080f, 0.006701f, 0.007209f, -0.018836f, -0.007033f, -0.020523f, 0.004112f, 0.019726f, 0.006659f, -0.024507f, -0.007391f, 0.007348f, -0.026903f, -0.038861f, -0.006547f, -0.000820f, 0.006409f, -0.040052f, 0.018750f, 0.053662f, -0.022147f, 0.037731f, -0.008631f, -0.007872f, - -0.011886f, -0.019158f, 0.014252f, 0.000794f, 0.009698f, 0.009975f, -0.035235f, 0.000739f, 0.016229f, -0.013951f, -0.007636f, -0.021816f, 0.039048f, -0.024094f, 0.019227f, 0.018564f, -0.023380f, -0.009244f, -0.008201f, 0.016799f, -0.018701f, -0.007210f, 0.018928f, -0.002891f, -0.005118f, -0.008806f, 0.023115f, 0.004538f, -0.003762f, -0.009035f, 0.000605f, -0.017104f, 0.019082f, -0.001734f, 0.008790f, 0.048135f, 0.031959f, -0.026813f, -0.019347f, 0.008087f, -0.002424f, 0.020548f, -0.010884f, -0.015388f, -0.005639f, -0.029149f, -0.011442f, -0.002797f, -0.022833f, -0.012316f, 0.050976f, 0.012970f, 0.000311f, -0.001613f, -0.000410f, 0.015913f, 0.018097f, -0.002773f, 0.017914f, 0.002504f, -0.009457f, 0.003087f, -0.026794f, -0.000761f, -0.024679f, -0.012151f, 0.015842f, 0.023824f, -0.032271f, 0.015006f, -0.042056f, 0.006722f, 0.040192f, -0.010955f, -0.009424f, 0.008029f, -0.011573f, -0.010502f, 0.011908f, -0.001940f, -0.001443f, -0.000900f, -0.026025f, 0.045180f, -0.047573f, -0.005007f, -0.000212f, 0.016290f, 0.010922f, 0.000331f, -0.017409f, -0.013439f, 0.006814f, 0.035407f, -0.001831f, -0.015818f, - -0.009622f, -0.025335f, -0.000571f, -0.014863f, -0.010606f, -0.005179f, 0.009163f, -0.000765f, 0.002479f, -0.016964f, 0.004784f, 0.005055f, 0.012333f, 0.009365f, 0.012465f, -0.022870f, 0.001620f, -0.004320f, 0.016833f, 0.004366f, 0.032597f, 0.007284f, -0.005451f, 0.003431f, -0.015044f, 0.000678f, 0.015392f, 0.018376f, -0.024607f, -0.019539f, 0.000126f, 0.028949f, -0.041206f, 0.012798f, 0.052357f, 0.029147f, -0.010971f, 0.006490f, -0.024344f, 0.013504f, 0.027475f, -0.039840f, 0.012406f, -0.017702f, -0.002660f, -0.053948f, 0.003738f, -0.020108f, 0.026122f, 0.006120f, -0.022834f, -0.010977f, -0.032986f, 0.051778f, 0.014385f, 0.027357f, -0.030820f, -0.033437f, -0.006729f, 0.009507f, -0.009921f, -0.004064f, 0.016712f, 0.005177f, 0.004864f, 0.015620f, -0.038165f, -0.003711f, 0.000009f, 0.009969f, -0.026712f, 0.003809f, 0.003948f, -0.017896f, -0.010590f, -0.024809f, -0.019418f, 0.000149f, 0.007526f, -0.020076f, 0.000967f, -0.008993f, -0.018637f, 0.007212f, -0.000621f, 0.014587f, -0.040528f, -0.041589f, 0.008049f, -0.003506f, 0.015041f, 0.035013f, 0.003258f, -0.022017f, 0.030601f, -0.015639f, - -0.030062f, -0.022737f, -0.010364f, 0.002354f, -0.031891f, -0.012261f, 0.029943f, 0.041352f, 0.016829f, 0.011331f, 0.007945f, -0.005197f, 0.025777f, 0.014533f, -0.031699f, -0.017420f, -0.000571f, 0.002481f, 0.028303f, 0.017970f, 0.003918f, -0.005252f, -0.004340f, -0.015130f, 0.018510f, 0.014160f, 0.032669f, 0.006623f, 0.008645f, 0.003013f, 0.058151f, 0.005663f, 0.012653f, 0.034264f, 0.002576f, 0.042673f, -0.001230f, -0.020112f, -0.021359f, -0.040720f, 0.007682f, -0.017349f, -0.000830f, 0.003170f, 0.014841f, 0.020910f, 0.036100f, 0.036842f, -0.005352f, 0.032816f, -0.002044f, -0.002994f, 0.012914f, 0.027718f, 0.012572f, 0.007747f, -0.043741f, -0.022696f, -0.035446f, 0.018303f, 0.036601f, 0.007126f, -0.014978f, 0.025350f, 0.036771f, -0.004645f, 0.006263f, -0.008151f, 0.031071f, 0.026067f, 0.022506f, -0.012450f, -0.022192f, -0.003118f, -0.005192f, -0.050410f, 0.009686f, 0.007679f, 0.005355f, -0.012181f, -0.005944f, -0.056005f, -0.019287f, -0.050639f, -0.008173f, -0.037550f, -0.019164f, 0.038562f, 0.010793f, 0.040706f, 0.003517f, -0.030605f, -0.014745f, -0.031724f, -0.063060f, 0.011004f, - -0.038635f, -0.009315f, 0.038607f, 0.018255f, 0.015687f, 0.005976f, -0.006376f, 0.000545f, 0.008152f, -0.023659f, 0.022744f, -0.042280f, -0.047846f, 0.003639f, -0.006926f, 0.020030f, 0.040787f, 0.035242f, 0.038275f, -0.022074f, -0.038035f, 0.029296f, -0.017161f, 0.030291f, 0.009370f, -0.048899f, 0.012574f, 0.009009f, -0.054661f, 0.029468f, -0.024696f, -0.025665f, 0.015398f, 0.016644f, 0.003069f, 0.019769f, 0.001989f, 0.000903f, -0.012362f, -0.007541f, 0.012654f, -0.007739f, -0.018216f, 0.001151f, -0.034729f, 0.012675f, -0.044274f, -0.027522f, 0.002509f, 0.017710f, -0.005239f, -0.018802f, 0.007977f, 0.013892f, 0.011571f, 0.000599f, 0.037454f, -0.083633f, -0.017644f, -0.023124f, -0.026284f, 0.035846f, -0.027620f, -0.004353f, -0.065559f, -0.019223f, -0.006124f, 0.003049f, 0.046904f, -0.011330f, 0.007950f, -0.027647f, 0.025280f, -0.034321f, -0.018991f, 0.016826f, -0.074898f, 0.010617f, 0.045358f, 0.053404f, 0.045563f, 0.025362f, 0.065799f, 0.032795f, 0.005011f, -0.015909f, -0.008644f, -0.024212f, -0.043622f, -0.005722f, 0.017328f, -0.071445f, -0.071113f, -0.000336f, 0.012450f, 0.049799f, - -0.015801f, 0.022838f, 0.021687f, 0.010779f, 0.012138f, -0.078592f, 0.062393f, 0.033370f, 0.077188f, 0.027845f, -0.002608f, -0.028662f, -0.017305f, -0.018004f, -0.026934f, 0.019616f, 0.015366f, -0.028283f, -0.031148f, 0.016813f, 0.023849f, 0.039896f, 0.012131f, -0.024867f, -0.036108f, 0.007854f, 0.007296f, 0.002595f, 0.005510f, 0.071049f, 0.025130f, 0.013680f, 0.024529f, 0.025838f, 0.030109f, 0.000871f, -0.043759f, 0.031954f, 0.100343f, -0.009808f, -0.026171f, -0.059886f, -0.011467f, 0.080265f, 0.010909f, 0.033540f, 0.012740f, -0.109794f, 0.024564f, 0.020486f, 0.004246f, 0.012118f, -0.005643f, 0.002583f, 0.024779f, -0.058397f, -0.022193f, 0.051609f, 0.021436f, 0.008285f, -0.041702f, 0.033574f, 0.015292f, -0.038434f, -0.039835f, -0.027134f, 0.044665f, 0.086035f, 0.083029f, 0.088684f, 0.093203f, 0.007158f, -0.032948f, 0.036868f, 0.070791f, -0.144967f, -0.053076f, 0.012812f, -0.086971f, -0.077052f, -0.035419f, -0.046266f, 0.003936f, -0.033721f, 0.091252f, -0.008530f, -0.034406f, -0.011989f, -0.072562f, -0.018351f, -0.058880f, -0.022537f, 0.008420f, -0.072580f, -0.014009f, 0.058560f, - -0.049593f, -0.012477f, 0.014823f, 0.001045f, 0.022169f, 0.006347f, -0.001673f, 0.022694f, 0.006120f, -0.035363f, -0.008729f, 0.034058f, -0.018424f, -0.044348f, -0.016981f, -0.054054f, -0.029321f, -0.095722f, 0.007411f, -0.064720f, 0.029828f, 0.013319f, -0.026472f, -0.084165f, 0.005661f, -0.007547f, 0.103252f, 0.043608f, -0.000495f, 0.059008f, 0.022306f, 0.002301f, 0.043953f, -0.053120f, -0.028904f, 0.006056f, 0.038329f, -0.043476f, -0.030674f, 0.155274f, -0.017808f, 0.081639f, -0.065140f, 0.002379f, -0.047623f, 0.036021f, -0.019258f, 0.054898f, 0.077864f, 0.005390f, -0.061434f, 0.052774f, -0.064604f, -0.056423f, 0.115484f, -0.066701f, 0.043347f, 0.036489f, -0.058018f, 0.031707f, 0.019484f, 0.012039f, -0.008941f, 0.044424f, 0.025055f, -0.058061f, 0.042560f, 0.046873f, 0.011142f, 0.007598f, 0.030699f, -0.001093f, -0.054982f, 0.073991f, -0.040144f, 0.016657f, -0.029170f, -0.007304f, 0.011801f, -0.013829f, 0.063083f, 0.013790f, -0.005281f, -0.014233f, -0.000318f, 0.012295f, -0.058583f, 0.020099f, -0.028782f, -0.020847f, -0.011481f, 0.000733f, -0.026744f, -0.013330f, 0.010990f, 0.065142f, - 0.004537f, -0.011989f, -0.036659f, 0.018644f, 0.015558f, 0.003755f, 0.054188f, -0.009946f, -0.000291f, 0.061429f, 0.023778f, 0.006176f, -0.051345f, -0.026689f, 0.042800f, 0.024099f, -0.046775f, 0.005752f, -0.114034f, -0.055393f, 0.116647f, -0.020082f, 0.067711f, 0.083316f, 0.032077f, 0.020579f, 0.046728f, -0.005821f, -0.028235f, 0.034169f, 0.025503f, 0.012046f, 0.075160f, 0.051470f, 0.070354f, -0.025565f, -0.102939f, 0.012836f, -0.007662f, 0.031688f, 0.016780f, -0.042454f, 0.024377f, 0.016608f, -0.036599f, -0.051831f, -0.025527f, -0.082711f, -0.072065f, 0.047220f, -0.007107f, -0.085490f, -0.019158f, 0.001996f, 0.031469f, 0.018924f, -0.043488f, -0.059094f, 0.010352f, 0.066974f, -0.029951f, 0.021781f, -0.044232f, 0.010881f, -0.050556f, 0.029487f, 0.043487f, -0.034265f, -0.052152f, -0.046551f, -0.001171f, 0.015256f, -0.019365f, -0.023652f, -0.015207f, -0.080571f, -0.057722f, 0.025253f, -0.047550f, -0.018851f, 0.024321f, -0.051978f, -0.065070f, 0.018445f, 0.042675f, -0.013522f, -0.079264f, 0.028929f, 0.039224f, 0.098068f, 0.006519f, 0.018427f, 0.027254f, -0.056120f, 0.024022f, -0.024936f, - -0.086186f, -0.025413f, 0.063867f, 0.001748f, -0.039465f, -0.129023f, 0.081783f, 0.080898f, -0.018956f, 0.062023f, 0.098959f, -0.010556f, 0.016751f, 0.053581f, -0.024923f, -0.020727f, 0.040953f, -0.008306f, 0.022563f, -0.047602f, -0.155473f, 0.043047f, -0.018747f, 0.116736f, -0.040555f, -0.023959f, -0.047137f, -0.130739f, 0.059726f, -0.075517f, -0.045725f, 0.003940f, -0.000784f, 0.103624f, -0.073521f, -0.049364f, 0.066657f, 0.041758f, 0.034579f, -0.010820f, 0.033087f, -0.021736f, -0.033933f, -0.028991f, 0.078527f, 0.067547f, 0.102233f, -0.030469f, -0.038413f, 0.003992f, -0.006776f, 0.039844f, -0.061587f, 0.015535f, -0.064658f, 0.037003f, 0.063775f, 0.024273f, -0.052043f, 0.038195f, -0.045762f, 0.106500f, 0.053375f, 0.017368f, 0.014551f, -0.013326f, -0.080848f, 0.048848f, -0.109813f, 0.025952f, 0.021406f, 0.056933f, 0.043775f, -0.092508f, 0.029793f, -0.057118f, -0.034632f, 0.029081f, -0.008337f, 0.038735f, 0.024025f, -0.084219f, 0.036912f, 0.083228f, 0.107244f, -0.027927f, 0.032432f, -0.040879f, 0.075261f, -0.104352f, -0.005265f, -0.021102f, 0.032807f, 0.036641f, -0.115665f, 0.080954f, - -0.005513f, -0.009148f, 0.034563f, 0.018398f, 0.040068f, 0.003735f, 0.022563f, -0.048557f, 0.046349f, 0.005201f, -0.037694f, 0.023458f, -0.011435f, -0.006670f, 0.045512f, 0.016914f, -0.056031f, 0.028759f, -0.023341f, 0.045519f, -0.031563f, 0.006900f, -0.013129f, 0.017804f, -0.012176f, 0.004756f, -0.021076f, 0.053027f, 0.001013f, -0.004822f, 0.024020f, 0.013381f, -0.023655f, -0.012892f, 0.020102f, 0.013082f, 0.024717f, -0.027727f, 0.014272f, -0.006102f, -0.053473f, -0.012129f, 0.022664f, 0.014933f, 0.016828f, 0.006790f, -0.046954f, 0.001013f, 0.004380f, -0.002374f, 0.020251f, -0.018845f, 0.019820f, 0.000678f, 0.013414f, -0.021833f, -0.003640f, -0.013273f, 0.071866f, -0.031634f, 0.021979f, 0.013284f, -0.003137f, 0.011481f, -0.014556f, 0.009818f, 0.022709f, -0.029667f, -0.012665f, 0.001611f, -0.001180f, -0.004421f, -0.005617f, -0.041914f, 0.015773f, -0.015839f, 0.096387f, -0.006799f, -0.031449f, -0.047527f, -0.021865f, -0.026624f, 0.034834f, 0.020390f, -0.025677f, 0.002242f, 0.002785f, 0.011552f, 0.001344f, 0.024354f, 0.008136f, 0.019192f, -0.006798f, -0.000613f, -0.005989f, 0.009020f, - 0.020447f, -0.019178f, -0.000396f, -0.009476f, 0.000393f, 0.025279f, -0.014615f, 0.002478f, -0.006772f, 0.009954f, 0.004828f, -0.013860f, -0.005450f, 0.014844f, -0.004889f, 0.024202f, 0.016908f, -0.025331f, 0.007770f, 0.005305f, 0.012925f, 0.005538f, -0.024249f, 0.016094f, -0.004829f, 0.015634f, 0.012230f, -0.028645f, 0.007468f, -0.000043f, 0.006062f, -0.003327f, -0.012894f, 0.020185f, -0.005359f, 0.009060f, 0.000134f, -0.006299f, 0.009075f, -0.012353f, -0.002032f, 0.016744f, -0.011961f, -0.014227f, 0.028013f, -0.018516f, 0.026169f, -0.003019f, -0.021506f, 0.043443f, -0.040160f, 0.034606f, -0.012179f, -0.021245f, 0.022687f, -0.020959f, -0.047677f, -0.080785f, 0.101969f, 0.293550f, 0.045943f, 0.028745f, -0.214784f, -0.264699f, -0.085374f, -0.051798f, 0.178792f, 0.273710f, 0.140211f, 0.041041f, -0.092538f, -0.197575f, -0.180974f, -0.150906f, 0.011413f, 0.226741f, 0.188881f, 0.108850f, 0.036299f, -0.096747f, -0.126343f, -0.099688f, -0.097152f, -0.033884f, 0.045124f, 0.063048f, 0.129443f, 0.093276f, 0.021903f, -0.031452f, -0.019288f, -0.104660f, -0.051634f, -0.052876f, -0.072474f, 0.042714f, - 0.079656f, 0.046534f, 0.116299f, 0.031087f, -0.028683f, -0.045055f, -0.078778f, -0.061637f, -0.010581f, -0.019161f, 0.022927f, 0.048299f, 0.042148f, 0.030639f, 0.019925f, -0.010928f, -0.043916f, -0.030571f, -0.036796f, 0.011044f, 0.040157f, 0.013190f, 0.008760f, -0.018607f, -0.038756f, -0.007688f, -0.001815f, -0.001437f, 0.028191f, 0.025871f, 0.027994f, 0.010519f, -0.012949f, -0.034160f, -0.049800f, -0.050150f, -0.032734f, 0.028043f, 0.014524f, 0.005074f} - }, - { - {-0.009295f, -0.009930f, -0.012467f, -0.015293f, -0.011517f, -0.006906f, -0.001007f, -0.006226f, 0.004702f, -0.001055f, -0.001455f, 0.002462f, 0.005251f, -0.000092f, -0.003363f, -0.003658f, -0.005925f, 0.000900f, -0.005416f, 0.009641f, 0.010543f, -0.004288f, 0.000378f, 0.003149f, -0.002707f, 0.008094f, -0.003030f, -0.003515f, 0.000388f, -0.000722f, 0.007226f, 0.005867f, 0.002696f, 0.001441f, -0.006781f, -0.003085f, 0.008025f, -0.002254f, 0.002231f, -0.001618f, -0.003735f, -0.004817f, -0.004987f, 0.004272f, 0.000009f, 0.000844f, 0.001716f, -0.002275f, 0.002374f, 0.005133f, -0.009455f, -0.002233f, 0.003797f, 0.000894f, 0.003847f, -0.000515f, -0.008734f, -0.003163f, 0.004930f, -0.005413f, -0.000529f, 0.003806f, -0.003266f, -0.000863f, -0.001564f, -0.005168f, -0.001409f, -0.004061f, -0.001842f, 0.000406f, -0.002714f, 0.000302f, 0.000763f, -0.000639f, -0.002348f, -0.001641f, -0.005346f, -0.005360f, 0.020378f, 0.002353f, 0.005537f, 0.001920f, 0.002926f, -0.004943f, -0.012293f, -0.002414f, 0.006520f, 0.002280f, -0.006085f, -0.000902f, 0.004981f, -0.001334f, -0.007337f, 0.002158f, -0.008461f, -0.005300f, - -0.000272f, 0.002263f, -0.002420f, -0.001979f, 0.005222f, -0.007366f, -0.000200f, 0.000848f, 0.003495f, 0.002714f, 0.002647f, 0.008823f, 0.003980f, -0.011170f, -0.002876f, -0.005135f, 0.001344f, -0.000393f, -0.000904f, -0.007086f, -0.009165f, 0.011926f, -0.005642f, 0.002821f, 0.003414f, 0.002887f, -0.011530f, -0.006635f, -0.003105f, 0.001114f, -0.001017f, -0.000512f, -0.001183f, 0.001763f, 0.004213f, -0.006150f, -0.000174f, 0.003019f, 0.003555f, 0.004254f, 0.001448f, -0.000127f, 0.004099f, 0.001305f, -0.002101f, -0.000791f, 0.006741f, -0.005453f, -0.005776f, -0.003247f, -0.002520f, 0.005666f, 0.003177f, 0.001081f, -0.002636f, 0.005383f, -0.003018f, 0.002561f, -0.011649f, -0.006885f, 0.004872f, -0.011229f, -0.016061f, 0.003224f, 0.001341f, 0.002097f, 0.002318f, 0.002388f, -0.013776f, -0.002103f, 0.004001f, -0.008571f, 0.009189f, 0.009088f, 0.007682f, -0.002910f, 0.000747f, 0.002268f, 0.005918f, 0.001547f, -0.000126f, 0.001377f, -0.003896f, 0.003936f, -0.001335f, -0.001198f, -0.001753f, 0.011580f, -0.006611f, 0.004199f, -0.004105f, -0.003368f, -0.003652f, 0.003319f, 0.006380f, -0.006267f, - -0.003077f, -0.003223f, 0.004764f, 0.004638f, 0.007139f, 0.005071f, 0.001204f, 0.006447f, -0.004821f, 0.004068f, 0.001719f, 0.002046f, 0.012997f, 0.003489f, 0.006649f, -0.009824f, -0.002351f, 0.004847f, -0.004696f, 0.005533f, -0.001706f, -0.003146f, 0.001938f, 0.008300f, 0.005757f, 0.004287f, -0.001135f, 0.002429f, 0.006445f, -0.005847f, 0.009907f, -0.000103f, 0.008396f, -0.001677f, 0.007243f, 0.008909f, 0.007429f, -0.001200f, -0.007804f, -0.002638f, 0.018947f, 0.014494f, 0.010953f, 0.010054f, 0.010247f, 0.005065f, -0.001338f, 0.000297f, -0.004475f, -0.000650f, 0.013651f, -0.005622f, -0.006835f, 0.010306f, 0.006766f, 0.009936f, -0.007024f, 0.003406f, -0.002945f, 0.002693f, 0.003715f, 0.006436f, 0.000397f, -0.003683f, -0.003632f, -0.004900f, -0.002418f, -0.002791f, -0.010476f, -0.000599f, 0.007991f, -0.005945f, -0.001591f, 0.003756f, -0.005611f, -0.004033f, 0.004329f, -0.001923f, -0.007140f, -0.002921f, 0.003371f, -0.005042f, -0.007812f, -0.002668f, -0.002634f, 0.003190f, -0.005588f, -0.009932f, 0.000304f, -0.001023f, -0.001947f, 0.003832f, -0.009203f, -0.003493f, -0.000308f, -0.002868f, - 0.004341f, -0.000426f, 0.001591f, -0.014872f, -0.005260f, 0.009723f, -0.004021f, -0.007781f, 0.002028f, 0.002410f, 0.001857f, -0.002323f, -0.013062f, -0.004749f, 0.013340f, 0.001844f, 0.004445f, 0.003787f, -0.002719f, 0.027611f, 0.016919f, 0.016062f, 0.000264f, 0.001629f, 0.001257f, -0.006546f, -0.014632f, -0.005493f, 0.010995f, -0.008314f, 0.004959f, 0.014922f, 0.001167f, -0.004710f, -0.001903f, -0.003010f, -0.001620f, 0.006033f, 0.008529f, 0.000307f, 0.002483f, 0.003493f, 0.005542f, 0.000326f, -0.007892f, 0.002403f, -0.012690f, -0.003833f, -0.001647f, -0.003547f, -0.002346f, 0.001537f, -0.003075f, -0.006683f, -0.005221f, -0.002445f, 0.000498f, -0.002913f, -0.007715f, 0.009041f, -0.003468f, 0.000579f, -0.002415f, -0.006073f, 0.007441f, 0.020722f, 0.004976f, -0.007367f, 0.012276f, 0.002683f, -0.003837f, 0.003602f, -0.002169f, -0.008191f, 0.000005f, -0.003550f, 0.003088f, -0.007158f, -0.012047f, 0.000246f, 0.002002f, -0.014850f, 0.004379f, 0.002740f, 0.008195f, 0.004323f, 0.010843f, -0.003995f, -0.007180f, -0.004653f, -0.002129f, 0.004827f, -0.001740f, -0.009851f, 0.006586f, -0.004808f, - -0.014616f, -0.022022f, -0.007316f, -0.010815f, 0.015644f, -0.003263f, -0.002408f, 0.006422f, -0.015287f, -0.010060f, 0.008454f, -0.006798f, -0.007139f, 0.000019f, -0.001076f, 0.001968f, 0.005390f, -0.002086f, 0.002183f, -0.003490f, -0.003375f, 0.000100f, -0.003054f, -0.006131f, -0.001104f, -0.001028f, 0.006261f, 0.007243f, 0.005487f, -0.007692f, 0.003181f, 0.003089f, 0.010692f, -0.005319f, -0.001011f, -0.003506f, -0.009229f, 0.012630f, -0.012275f, -0.005365f, -0.005186f, 0.003247f, 0.009513f, -0.009080f, 0.009838f, -0.000794f, 0.004952f, 0.009129f, 0.000664f, 0.007115f, -0.013343f, 0.003109f, -0.005570f, 0.000991f, -0.014173f, 0.000591f, -0.005519f, -0.011559f, -0.010143f, 0.001051f, 0.007704f, 0.000796f, -0.007562f, 0.010327f, -0.004703f, 0.006114f, -0.002189f, -0.012025f, 0.015713f, -0.010465f, -0.003938f, -0.005813f, 0.002198f, 0.007347f, 0.002000f, 0.006826f, 0.009876f, 0.006161f, -0.015993f, -0.022537f, 0.002446f, 0.002032f, 0.001187f, 0.014743f, -0.004811f, -0.015754f, 0.001609f, 0.002008f, -0.004265f, -0.000749f, -0.014046f, -0.002587f, 0.001686f, 0.002263f, 0.015599f, -0.002544f, - 0.013978f, -0.003184f, -0.003661f, 0.001388f, -0.013956f, 0.006167f, -0.005280f, 0.008716f, -0.002377f, -0.003330f, -0.005199f, -0.002264f, 0.000470f, -0.010130f, 0.017971f, -0.012181f, -0.020260f, 0.006354f, 0.000906f, -0.013891f, -0.004224f, -0.026937f, 0.000445f, -0.009360f, -0.000161f, -0.010174f, -0.008587f, 0.001872f, 0.000932f, 0.005113f, -0.008669f, 0.007325f, -0.009785f, -0.018368f, 0.002183f, 0.005706f, -0.005782f, 0.006694f, -0.003321f, -0.009892f, -0.009318f, -0.012107f, -0.006173f, -0.000706f, 0.001907f, -0.003099f, 0.011569f, 0.000809f, -0.003966f, 0.001883f, 0.000345f, 0.003427f, 0.001346f, 0.002525f, -0.011990f, -0.009156f, 0.001216f, -0.035042f, -0.008758f, 0.001374f, -0.008896f, -0.006537f, -0.011128f, 0.002886f, 0.003987f, 0.007977f, -0.005945f, -0.007453f, -0.008369f, 0.004246f, 0.009512f, -0.004660f, -0.003923f, -0.002359f, -0.001327f, 0.004513f, -0.019390f, -0.004768f, 0.011183f, 0.003656f, -0.005553f, 0.002155f, 0.009954f, -0.000887f, -0.002294f, 0.003498f, -0.000398f, 0.024052f, -0.010076f, 0.005954f, 0.002184f, -0.009998f, 0.003597f, 0.002356f, -0.011186f, 0.008214f, - -0.015998f, -0.001476f, 0.014781f, 0.003288f, -0.000053f, -0.002922f, -0.010763f, -0.009511f, 0.002992f, 0.006333f, -0.003753f, 0.003151f, 0.012440f, 0.006059f, -0.004461f, 0.007507f, -0.010080f, -0.024846f, -0.002732f, -0.010835f, 0.007558f, -0.006890f, 0.018390f, 0.009025f, -0.000128f, -0.002766f, -0.022274f, 0.007412f, 0.009568f, -0.006882f, 0.014880f, -0.010712f, 0.005162f, -0.018013f, 0.009427f, 0.006926f, -0.019826f, 0.009488f, 0.014033f, 0.034822f, 0.035657f, 0.007941f, 0.010108f, 0.000703f, 0.004359f, 0.000891f, 0.002958f, -0.009219f, 0.003603f, -0.005571f, 0.007110f, 0.008093f, 0.017752f, 0.003307f, -0.004837f, 0.012132f, 0.007392f, 0.014478f, -0.000432f, 0.009097f, 0.003938f, -0.004100f, 0.003177f, 0.021268f, 0.002075f, -0.008905f, -0.006223f, 0.015717f, 0.008255f, 0.007593f, 0.013051f, -0.011082f, 0.002858f, 0.017274f, -0.018746f, -0.020585f, 0.005183f, 0.010943f, 0.016246f, -0.007892f, -0.015125f, 0.010674f, 0.002110f, -0.001853f, 0.004836f, -0.003001f, -0.003628f, -0.000443f, 0.023426f, -0.009630f, 0.002985f, -0.006626f, -0.006254f, -0.003550f, 0.010875f, -0.002385f, - 0.027121f, 0.013526f, -0.016988f, 0.015780f, 0.000696f, 0.006805f, 0.000419f, 0.002537f, 0.000620f, -0.006674f, 0.006234f, -0.024943f, -0.010473f, 0.008995f, -0.028908f, 0.005984f, -0.025567f, 0.054562f, 0.011592f, 0.007087f, -0.014704f, 0.022521f, -0.006267f, -0.002828f, -0.004578f, -0.000410f, -0.013975f, -0.002957f, 0.009299f, 0.000020f, -0.011029f, 0.014279f, -0.002007f, -0.010073f, 0.004189f, 0.003276f, -0.014694f, -0.025044f, 0.011567f, -0.011367f, -0.011844f, 0.000961f, 0.001862f, -0.008815f, 0.014091f, -0.013974f, 0.006004f, 0.010070f, -0.000104f, 0.015470f, 0.007433f, -0.023552f, -0.020767f, -0.011492f, 0.003532f, 0.002406f, -0.015935f, 0.004769f, 0.008666f, 0.001681f, 0.007940f, 0.006205f, -0.016553f, -0.011096f, 0.007646f, -0.022638f, -0.005298f, -0.002258f, -0.019323f, -0.013351f, -0.005037f, 0.002610f, -0.008656f, -0.025287f, -0.008654f, -0.014348f, 0.029818f, 0.011362f, 0.000457f, 0.001921f, -0.004497f, 0.019837f, 0.028944f, 0.001084f, 0.020562f, 0.010847f, 0.008403f, 0.001246f, -0.006346f, -0.004122f, -0.004726f, 0.010551f, -0.011886f, -0.002411f, -0.038451f, 0.025981f, - 0.041627f, -0.031183f, -0.018603f, 0.008645f, 0.007483f, -0.006258f, 0.013707f, 0.003815f, -0.011606f, -0.014117f, -0.000243f, -0.004448f, -0.010098f, 0.005339f, -0.004597f, 0.000822f, 0.011602f, -0.015320f, 0.003359f, 0.002270f, -0.009092f, 0.001530f, -0.014491f, 0.003083f, 0.021583f, 0.011191f, -0.002005f, -0.006625f, -0.001604f, -0.011956f, -0.012870f, 0.006725f, 0.011027f, -0.003089f, -0.005815f, -0.003916f, 0.006689f, 0.011193f, 0.005400f, 0.020216f, -0.010439f, 0.008589f, -0.004905f, 0.002419f, 0.012601f, -0.003946f, -0.003657f, -0.023042f, -0.003350f, -0.017685f, 0.009452f, 0.006877f, 0.023761f, -0.019468f, -0.007124f, -0.018772f, -0.031751f, -0.004625f, 0.013690f, -0.021313f, 0.005240f, -0.001544f, -0.015811f, -0.018038f, -0.023647f, 0.033381f, 0.001608f, 0.020476f, 0.014511f, 0.017878f, -0.006852f, -0.019343f, -0.015584f, -0.016876f, 0.007691f, -0.029269f, 0.020953f, -0.001915f, -0.012002f, 0.019446f, 0.005867f, -0.017228f, -0.026603f, -0.009107f, -0.000573f, 0.001472f, 0.000630f, -0.008269f, 0.028881f, 0.013218f, 0.008342f, 0.007842f, 0.008734f, -0.007897f, 0.001725f, 0.006962f, - 0.003833f, 0.027615f, 0.002312f, -0.038276f, 0.004442f, 0.017632f, -0.015103f, -0.020931f, -0.005051f, -0.010755f, -0.007439f, 0.003177f, 0.027607f, 0.018080f, -0.003083f, 0.000775f, -0.008633f, -0.022970f, -0.008449f, -0.018672f, 0.014258f, 0.021267f, 0.000142f, -0.009338f, -0.004059f, -0.002861f, 0.009010f, 0.014273f, 0.013331f, -0.028990f, 0.006001f, 0.002918f, 0.002832f, 0.023329f, -0.012321f, 0.010771f, -0.011173f, -0.006118f, 0.002541f, 0.016195f, 0.025555f, -0.001700f, -0.015883f, 0.007702f, -0.028849f, 0.026010f, 0.013239f, -0.000159f, -0.011444f, 0.009303f, -0.006001f, -0.011214f, -0.011183f, -0.009359f, -0.011147f, -0.005050f, 0.016296f, -0.027694f, -0.005445f, 0.014872f, -0.019108f, -0.004005f, -0.000182f, -0.004645f, -0.022546f, 0.022475f, 0.012472f, -0.018770f, -0.000970f, -0.009098f, -0.004246f, -0.039016f, -0.003242f, -0.018824f, -0.039974f, 0.007130f, 0.008503f, -0.020929f, -0.013755f, -0.024338f, -0.023557f, 0.019980f, 0.014394f, 0.021126f, 0.002917f, 0.046361f, 0.004398f, 0.023319f, 0.036822f, -0.005895f, 0.012791f, 0.033821f, -0.021825f, 0.009112f, -0.012225f, 0.022650f, - -0.005401f, 0.045908f, 0.024102f, -0.016845f, -0.020076f, 0.001761f, 0.013571f, 0.017954f, 0.007913f, -0.019336f, -0.001365f, 0.013774f, 0.038265f, -0.016957f, 0.026658f, -0.010844f, 0.017484f, -0.030054f, 0.014061f, -0.017427f, 0.014246f, -0.000570f, 0.007105f, -0.007565f, 0.025663f, 0.027998f, -0.051745f, 0.013987f, 0.016033f, 0.004961f, -0.005184f, 0.003296f, -0.034215f, -0.002390f, 0.028060f, 0.029310f, -0.006130f, 0.030527f, -0.001221f, -0.006544f, 0.002826f, 0.017173f, -0.006022f, -0.007872f, -0.003098f, -0.021834f, 0.004117f, -0.006216f, 0.034965f, 0.022721f, -0.015766f, -0.017233f, -0.031975f, -0.011773f, 0.024426f, 0.042940f, -0.018671f, 0.013473f, 0.003677f, 0.005951f, 0.024134f, 0.017036f, -0.032527f, 0.007082f, -0.010967f, -0.006302f, -0.012769f, -0.006986f, -0.013476f, -0.031622f, 0.006794f, 0.022240f, 0.009473f, 0.051244f, -0.011002f, -0.006142f, 0.036422f, -0.011891f, -0.000546f, -0.006847f, 0.010779f, -0.037459f, -0.023167f, 0.014556f, 0.030469f, 0.043275f, 0.051868f, -0.035457f, -0.017287f, -0.000420f, 0.018701f, 0.000003f, 0.058924f, 0.017649f, 0.010662f, -0.042135f, - 0.005353f, 0.002537f, 0.023777f, 0.030318f, -0.018161f, -0.004114f, 0.011479f, -0.005913f, 0.002971f, 0.035238f, 0.014600f, -0.027121f, 0.011487f, 0.021217f, -0.012758f, 0.041918f, 0.008818f, 0.056361f, 0.029656f, -0.017286f, -0.002918f, -0.055776f, 0.006217f, 0.012299f, 0.005793f, 0.078342f, -0.008098f, -0.008013f, -0.033199f, -0.032402f, 0.014589f, -0.026842f, -0.013124f, -0.018635f, -0.009131f, 0.018022f, -0.010900f, -0.024830f, -0.017616f, -0.000134f, 0.022287f, -0.027830f, 0.008014f, 0.009786f, 0.004796f, 0.027034f, -0.001146f, 0.000335f, -0.027206f, -0.043386f, -0.014810f, 0.017034f, -0.020588f, 0.003580f, -0.016902f, -0.074328f, -0.036640f, 0.019690f, 0.003887f, -0.043474f, 0.008750f, 0.055706f, -0.000287f, -0.003568f, -0.020147f, 0.010533f, -0.022457f, -0.046742f, 0.003573f, 0.004592f, -0.014836f, 0.006323f, 0.019283f, -0.006438f, -0.012066f, 0.009654f, 0.018155f, 0.026502f, -0.014107f, 0.019186f, 0.030496f, 0.009027f, 0.051147f, 0.002527f, -0.027555f, 0.032218f, 0.004790f, 0.002367f, -0.003752f, -0.011334f, 0.024754f, -0.027388f, 0.001372f, 0.028734f, -0.040491f, -0.045939f, - -0.051761f, 0.071733f, -0.039226f, 0.008065f, -0.000962f, -0.024912f, 0.038437f, -0.045414f, 0.020122f, 0.076172f, 0.049106f, 0.009333f, -0.062039f, -0.005400f, -0.040593f, -0.023051f, -0.037014f, -0.005589f, 0.011816f, -0.008889f, 0.030886f, -0.016490f, 0.005902f, 0.012618f, 0.042707f, 0.003571f, 0.006625f, 0.048293f, -0.032507f, -0.007129f, 0.023104f, -0.012256f, -0.025100f, -0.019757f, 0.026214f, -0.024913f, 0.011372f, 0.040548f, -0.011417f, -0.081011f, -0.004163f, 0.016542f, -0.095374f, 0.054761f, 0.045201f, -0.039682f, 0.060035f, 0.036900f, 0.027058f, 0.058129f, 0.001813f, 0.027930f, 0.004127f, -0.000259f, 0.022702f, -0.043476f, 0.039619f, 0.048683f, 0.041414f, -0.047055f, -0.007742f, 0.053283f, -0.027781f, 0.040746f, 0.043221f, 0.093210f, 0.060872f, -0.003395f, 0.008207f, -0.020545f, 0.014566f, 0.008357f, -0.053664f, -0.093323f, -0.017361f, 0.043942f, 0.055971f, -0.109448f, -0.098872f, 0.042314f, -0.028176f, -0.032466f, -0.012775f, -0.039121f, 0.013561f, -0.062701f, 0.077358f, 0.027538f, -0.032393f, -0.002375f, -0.031833f, -0.025534f, -0.025862f, -0.031051f, -0.019451f, -0.076006f, - -0.067161f, -0.014618f, -0.015986f, 0.001853f, 0.005244f, 0.010331f, -0.005901f, 0.006755f, 0.010968f, 0.030058f, 0.034830f, -0.016736f, -0.020191f, -0.024739f, -0.020283f, -0.045178f, 0.060055f, -0.025524f, 0.012764f, 0.042488f, 0.041040f, -0.020537f, -0.021629f, -0.039007f, -0.026047f, -0.033023f, 0.044379f, 0.000404f, 0.002127f, -0.064194f, -0.025115f, 0.080273f, -0.012783f, 0.074011f, -0.020982f, -0.035919f, -0.024160f, -0.040272f, -0.040388f, -0.013397f, -0.006006f, -0.055204f, -0.003036f, 0.014278f, -0.009699f, 0.008483f, -0.118352f, -0.054902f, -0.040475f, 0.046037f, -0.025126f, -0.005035f, 0.006603f, 0.072723f, 0.008860f, -0.036081f, -0.060201f, 0.121999f, -0.041284f, -0.020990f, 0.067799f, -0.041797f, -0.070316f, 0.065649f, -0.093665f, -0.023295f, 0.018765f, 0.018654f, -0.066079f, -0.021822f, 0.051863f, 0.003438f, -0.013284f, -0.032310f, 0.040237f, -0.039270f, 0.000351f, 0.036803f, -0.013640f, 0.034070f, -0.002140f, -0.012067f, 0.008042f, 0.010550f, -0.020675f, 0.032604f, -0.018359f, -0.003312f, 0.006641f, 0.002673f, -0.000242f, -0.002257f, 0.006721f, 0.021914f, 0.028210f, 0.046663f, - 0.019425f, -0.014644f, -0.006778f, -0.024247f, 0.023745f, -0.005885f, -0.041369f, 0.012595f, -0.001344f, -0.019416f, -0.055767f, 0.041488f, 0.001601f, -0.021981f, 0.060263f, 0.006659f, -0.020071f, -0.008029f, 0.090092f, -0.082168f, -0.092405f, 0.058724f, 0.086639f, -0.158276f, 0.000387f, -0.057142f, -0.054265f, -0.021847f, 0.058655f, -0.043638f, 0.077933f, -0.010133f, -0.001022f, 0.103763f, -0.027828f, -0.082950f, 0.100009f, 0.097148f, 0.073867f, -0.036058f, -0.041842f, -0.015214f, 0.014377f, 0.069224f, 0.057009f, -0.021565f, -0.002458f, 0.019791f, 0.061973f, -0.022178f, 0.000152f, 0.033350f, -0.042552f, -0.042173f, 0.035201f, -0.023545f, -0.011984f, -0.021837f, 0.002071f, -0.034339f, 0.006485f, 0.019500f, -0.009369f, 0.014556f, -0.010845f, -0.011743f, -0.005156f, -0.046413f, 0.011048f, -0.020115f, 0.031693f, 0.055589f, 0.007989f, 0.026628f, 0.028872f, 0.000061f, 0.016103f, 0.015971f, 0.066717f, -0.045476f, 0.035264f, 0.023996f, -0.025517f, 0.018975f, 0.026639f, 0.004509f, -0.021379f, -0.057735f, -0.049516f, 0.016611f, 0.027467f, -0.023249f, -0.086483f, 0.074653f, -0.017553f, -0.043207f, - -0.014980f, 0.075128f, -0.026661f, 0.082344f, 0.010462f, 0.026393f, -0.067799f, 0.073070f, -0.021505f, 0.031341f, 0.004392f, -0.110335f, -0.017389f, 0.019728f, -0.046984f, 0.067729f, 0.032713f, -0.099325f, -0.072460f, -0.049853f, 0.018309f, -0.020512f, 0.023715f, -0.037125f, -0.067222f, -0.000891f, -0.071452f, 0.018876f, -0.005032f, -0.014127f, 0.025869f, 0.039220f, -0.024278f, 0.004786f, 0.045831f, -0.035619f, 0.061639f, -0.008901f, -0.064349f, 0.055793f, -0.025533f, -0.012911f, 0.052192f, -0.065359f, 0.018836f, 0.000408f, 0.025295f, -0.010784f, -0.021829f, -0.099196f, 0.024557f, -0.041222f, -0.097080f, 0.119291f, -0.078587f, -0.033980f, -0.013928f, -0.027594f, -0.058721f, 0.033881f, 0.084826f, -0.051347f, 0.025431f, -0.074322f, -0.039680f, -0.042326f, 0.039703f, 0.006753f, 0.110863f, -0.018548f, -0.006558f, -0.032159f, -0.090978f, 0.000391f, 0.048137f, -0.034197f, 0.040934f, 0.046392f, -0.035868f, 0.004453f, -0.030017f, -0.137496f, -0.069283f, -0.041719f, -0.141751f, 0.093754f, 0.126064f, 0.058584f, -0.118829f, -0.097746f, -0.215768f, 0.033340f, 0.269157f, 0.123186f, 0.056341f, -0.066095f, - -0.217917f, -0.102012f, 0.073463f, -0.012859f, -0.018463f, 0.003808f, 0.032004f, 0.002577f, -0.008474f, 0.027062f, 0.006669f, 0.010298f, 0.038087f, -0.023467f, -0.002269f, 0.022728f, -0.009249f, -0.001862f, 0.023260f, -0.021538f, -0.007705f, 0.009024f, 0.037690f, -0.024337f, -0.020670f, 0.024149f, -0.003098f, 0.014398f, -0.041402f, 0.053522f, -0.014376f, 0.019336f, -0.013370f, 0.008575f, 0.026010f, 0.014307f, -0.008737f, 0.026131f, -0.011370f, 0.026398f, -0.021453f, 0.000514f, 0.023026f, -0.003846f, -0.012743f, -0.048959f, 0.002881f, 0.041384f, 0.001793f, 0.020487f, -0.028168f, -0.006122f, -0.017879f, -0.014100f, -0.009149f, 0.030636f, -0.012983f, 0.019571f, -0.025126f, -0.024532f, -0.014308f, 0.008768f, 0.049146f, -0.017458f, 0.020552f, 0.004270f, 0.001791f, -0.022509f, 0.010170f, 0.030363f, -0.002804f, -0.020734f, 0.013960f, -0.011572f, 0.006295f, -0.003345f, -0.016461f, 0.098981f, 0.019660f, -0.053051f, -0.037677f, -0.058592f, -0.018572f, 0.011275f, 0.031128f, -0.009721f, -0.012566f, -0.010834f, -0.010428f, -0.009871f, 0.014236f, -0.007218f, -0.001975f, -0.003130f, -0.010295f, -0.002456f, - 0.015648f, 0.002248f, -0.004506f, -0.015613f, 0.017956f, -0.023252f, 0.013693f, -0.008292f, -0.022820f, 0.000117f, 0.010425f, 0.011733f, 0.009177f, -0.013464f, 0.003020f, -0.004294f, -0.007377f, 0.027538f, -0.024481f, -0.004429f, -0.000989f, -0.001647f, 0.002582f, -0.004046f, -0.014386f, 0.012167f, -0.022803f, 0.021808f, -0.003194f, -0.015199f, 0.005261f, -0.007797f, 0.019324f, -0.011223f, -0.006867f, 0.020986f, -0.018751f, 0.006624f, -0.009002f, -0.001933f, 0.015966f, -0.011299f, -0.004611f, 0.014515f, -0.009930f, 0.003954f, 0.001391f, -0.011459f, 0.028259f, -0.024539f, -0.002225f, 0.011189f, -0.006414f, 0.018466f, -0.008310f, -0.003490f, 0.004785f, -0.046619f, -0.070644f, 0.092495f, 0.287606f, 0.024858f, 0.024799f, -0.196037f, -0.248499f, -0.051529f, -0.052860f, 0.146397f, 0.248573f, 0.127878f, 0.024277f, -0.089889f, -0.175539f, -0.123532f, -0.088761f, -0.004452f, 0.120902f, 0.177304f, 0.095392f, 0.022056f, -0.062495f, -0.110313f, -0.062218f, -0.059395f, -0.056118f, 0.035291f, 0.071766f, 0.071217f, 0.071239f, 0.017287f, -0.031536f, -0.012714f, -0.047710f, -0.073909f, -0.008696f, -0.022039f, - -0.015449f, 0.066745f, 0.038017f, 0.055740f, 0.033243f, -0.025335f, -0.061450f, -0.014724f, -0.040190f, -0.006205f, 0.026968f, 0.008351f, 0.014212f, 0.030012f, -0.016073f, -0.021596f, -0.005762f, -0.012810f, 0.011276f, 0.019196f, 0.000082f, 0.023704f, 0.013204f, -0.025659f, -0.025458f, -0.039203f, -0.034400f, 0.000846f, 0.038446f, 0.059731f, 0.027451f, 0.006642f, -0.016070f, -0.041868f, -0.009383f, -0.047602f, -0.031063f, 0.018870f, 0.010605f, 0.016098f, -0.002394f}, - {-0.007491f, -0.009914f, -0.014262f, -0.001612f, -0.005520f, -0.010006f, -0.004871f, -0.002339f, 0.002262f, -0.004793f, -0.010060f, -0.000817f, 0.002831f, -0.010019f, -0.005229f, -0.001949f, -0.005601f, -0.005813f, 0.004409f, -0.000638f, 0.000979f, -0.005117f, -0.005208f, -0.001320f, -0.008094f, 0.005590f, -0.008180f, 0.002456f, -0.002021f, 0.003211f, -0.003888f, 0.000958f, 0.002681f, -0.011142f, -0.001998f, 0.001271f, 0.012177f, -0.005574f, -0.001031f, -0.001967f, -0.000022f, 0.004674f, -0.001686f, -0.005188f, -0.000758f, -0.001715f, 0.003714f, -0.001462f, -0.004362f, 0.004516f, 0.004193f, 0.002189f, 0.000978f, -0.003072f, 0.005498f, 0.003996f, -0.006541f, 0.004122f, -0.004635f, -0.002133f, -0.000776f, -0.003721f, -0.001192f, 0.000656f, 0.001412f, 0.004636f, -0.003757f, -0.003039f, -0.000657f, 0.000762f, -0.003298f, -0.010259f, -0.001808f, -0.003812f, -0.001863f, -0.001430f, 0.001882f, 0.002325f, 0.006393f, 0.004997f, -0.001661f, 0.003831f, 0.001822f, 0.011018f, -0.001921f, -0.000284f, 0.001389f, 0.008066f, -0.001589f, -0.008396f, -0.003902f, -0.008060f, 0.001975f, -0.002864f, -0.000662f, -0.001012f, - 0.001965f, 0.000784f, 0.001659f, 0.004678f, 0.008618f, -0.003818f, -0.002082f, 0.001714f, -0.004018f, -0.000564f, 0.006747f, -0.003649f, 0.008337f, 0.000842f, -0.002914f, 0.005486f, -0.007443f, -0.001946f, -0.005155f, 0.007319f, -0.000129f, -0.002746f, -0.001895f, 0.000049f, 0.006943f, 0.000229f, 0.008349f, 0.003100f, -0.006605f, 0.005403f, -0.002784f, -0.005123f, -0.003930f, 0.005530f, -0.000956f, 0.017810f, 0.002147f, 0.004378f, 0.003539f, -0.008499f, 0.000442f, -0.001406f, 0.002549f, -0.004947f, -0.002787f, 0.009094f, 0.008136f, 0.000399f, 0.003751f, -0.001214f, 0.005445f, -0.008155f, 0.001630f, 0.005191f, 0.004746f, -0.000266f, 0.001025f, 0.002454f, -0.013447f, -0.012556f, -0.007446f, -0.007200f, -0.005817f, 0.002125f, 0.008879f, 0.017394f, 0.003634f, 0.004352f, 0.000236f, -0.012729f, -0.004972f, -0.004831f, -0.010983f, 0.017386f, 0.004969f, 0.006815f, 0.005135f, -0.004030f, 0.002115f, 0.016658f, 0.007047f, -0.004090f, 0.000030f, -0.004208f, 0.000721f, -0.007903f, 0.005059f, -0.002574f, -0.003088f, 0.000548f, 0.009339f, 0.000831f, 0.003542f, 0.005486f, 0.008183f, -0.013975f, - 0.000641f, 0.003420f, 0.008550f, 0.012303f, -0.006403f, -0.001499f, -0.002825f, 0.010246f, 0.006143f, 0.006571f, -0.000542f, 0.002991f, 0.021276f, -0.013177f, 0.003232f, 0.001105f, -0.008100f, 0.003600f, -0.011542f, -0.001777f, 0.003829f, -0.002792f, -0.017678f, 0.004991f, 0.002036f, -0.005175f, -0.004301f, -0.001085f, -0.001928f, 0.005935f, -0.004955f, -0.002928f, 0.002741f, -0.000619f, -0.004710f, -0.000805f, 0.005661f, -0.008332f, 0.001727f, -0.002939f, 0.018063f, 0.002084f, 0.006163f, -0.000329f, -0.005477f, 0.000830f, 0.012518f, 0.007088f, 0.007885f, 0.013878f, -0.006482f, 0.000535f, 0.012533f, 0.004569f, 0.005190f, 0.001121f, 0.001044f, 0.008028f, -0.007512f, -0.001690f, 0.009137f, -0.006278f, 0.003203f, 0.005865f, -0.004754f, 0.004386f, 0.012418f, -0.005876f, 0.004184f, 0.001326f, -0.000136f, 0.000445f, -0.003371f, -0.008635f, -0.003423f, -0.007208f, -0.001465f, 0.003351f, 0.005553f, 0.006817f, -0.001893f, -0.010966f, -0.001741f, 0.016476f, -0.006775f, 0.003448f, -0.003672f, -0.017013f, 0.009255f, 0.002627f, 0.006664f, -0.001163f, 0.007683f, 0.008307f, -0.015392f, 0.005845f, - -0.000373f, 0.005447f, -0.001910f, -0.010298f, -0.001327f, -0.001564f, -0.002727f, -0.002117f, 0.005680f, -0.000303f, 0.000431f, 0.012867f, 0.001742f, 0.010003f, -0.000441f, 0.000277f, 0.001342f, -0.006885f, -0.009470f, 0.029939f, 0.017459f, 0.025535f, 0.008810f, -0.011243f, 0.005878f, -0.005318f, 0.001071f, 0.002005f, -0.021832f, -0.006446f, -0.005803f, 0.005155f, 0.008979f, -0.004175f, -0.000258f, 0.002314f, 0.000932f, 0.015217f, -0.001540f, -0.017284f, 0.005600f, -0.010297f, 0.007548f, 0.007716f, 0.006862f, 0.009081f, -0.002247f, -0.004157f, 0.004072f, -0.003731f, -0.003801f, 0.002011f, -0.002543f, 0.005048f, 0.008452f, -0.004519f, -0.012813f, 0.003222f, -0.012490f, -0.008954f, -0.001637f, -0.026867f, 0.000155f, -0.005376f, 0.010028f, 0.008648f, 0.004523f, 0.014787f, 0.015774f, 0.005953f, 0.003331f, -0.002321f, 0.000518f, -0.000313f, -0.007536f, 0.013552f, -0.002311f, 0.003829f, -0.005074f, -0.007039f, -0.002455f, -0.009930f, 0.007009f, -0.005462f, -0.003640f, 0.012887f, -0.012660f, -0.005481f, 0.002475f, -0.007473f, -0.002333f, -0.002584f, 0.004400f, 0.003517f, 0.003317f, 0.006784f, - -0.012571f, -0.025595f, -0.010525f, -0.001745f, 0.002763f, -0.002263f, 0.007039f, -0.000721f, 0.011993f, -0.010665f, 0.005864f, -0.001832f, 0.022922f, 0.011121f, -0.006284f, -0.009174f, 0.004493f, -0.013504f, -0.008866f, 0.006740f, -0.006206f, -0.007592f, 0.015529f, 0.008046f, -0.002020f, -0.006515f, -0.011429f, 0.008188f, 0.004343f, 0.006420f, -0.001522f, -0.001392f, -0.007468f, 0.010964f, -0.013808f, -0.004245f, -0.001660f, 0.010297f, 0.005867f, 0.000608f, 0.008925f, 0.002539f, -0.005732f, 0.003336f, -0.005708f, -0.003518f, -0.006673f, 0.008393f, -0.006204f, 0.001224f, 0.008263f, 0.015315f, 0.013188f, 0.007295f, 0.004021f, 0.000598f, 0.007048f, -0.001655f, 0.010593f, -0.000365f, 0.006417f, 0.007420f, -0.005711f, 0.002420f, -0.006135f, 0.007578f, 0.004047f, 0.004072f, -0.002603f, -0.007424f, 0.006142f, -0.007980f, -0.001891f, -0.008360f, 0.003787f, 0.003232f, -0.001328f, -0.003500f, -0.012655f, -0.025846f, -0.021302f, 0.001541f, -0.018245f, -0.008637f, -0.025741f, -0.013345f, -0.015801f, 0.006395f, -0.008579f, -0.010824f, -0.004071f, 0.000816f, -0.006853f, -0.024534f, 0.006334f, -0.004171f, - 0.002167f, -0.010996f, 0.010837f, 0.004340f, -0.000086f, -0.009762f, -0.004788f, 0.012864f, 0.008273f, 0.000764f, -0.002259f, -0.008291f, 0.004912f, 0.002954f, 0.005087f, -0.009961f, -0.001359f, -0.008048f, -0.007842f, -0.007863f, 0.000396f, 0.016631f, -0.013841f, 0.000523f, -0.013226f, 0.001550f, 0.005437f, 0.007698f, -0.013962f, 0.013791f, 0.015871f, -0.005124f, -0.004472f, -0.002557f, -0.001243f, 0.005551f, 0.006000f, 0.002004f, 0.003850f, -0.007603f, -0.002250f, -0.002529f, 0.013387f, -0.003926f, 0.014846f, 0.000166f, -0.005639f, 0.013127f, -0.002210f, -0.006683f, 0.001677f, 0.014457f, 0.014469f, 0.000031f, -0.006094f, -0.006822f, 0.003978f, -0.020607f, -0.019585f, -0.023616f, 0.007269f, -0.019215f, -0.007349f, 0.017565f, 0.009248f, -0.020819f, -0.000910f, -0.000265f, 0.009404f, 0.012844f, 0.023196f, -0.006620f, -0.007714f, -0.022825f, -0.026978f, -0.016687f, -0.005061f, 0.010709f, -0.010671f, 0.004902f, -0.015349f, 0.015947f, -0.011403f, 0.012706f, -0.005660f, 0.001352f, 0.003907f, -0.003159f, -0.011240f, 0.018030f, -0.015544f, -0.001332f, -0.008076f, 0.001736f, -0.009485f, 0.001746f, - -0.039629f, 0.000095f, 0.019133f, -0.024434f, 0.005924f, 0.015725f, 0.006330f, -0.013027f, -0.000908f, 0.019017f, -0.023715f, -0.000715f, 0.010376f, 0.008844f, 0.009778f, -0.004171f, -0.003034f, -0.016353f, -0.007304f, 0.005672f, 0.011126f, 0.016221f, 0.021169f, -0.031354f, 0.012034f, -0.010097f, 0.002629f, -0.022482f, -0.008397f, 0.016671f, 0.004627f, 0.001244f, -0.011614f, -0.001386f, 0.011483f, 0.006573f, 0.004781f, 0.002236f, 0.024107f, 0.039817f, 0.022384f, 0.025903f, 0.004121f, 0.009102f, 0.035206f, -0.001246f, 0.001209f, 0.023844f, -0.011566f, -0.000089f, 0.007068f, 0.011814f, 0.019966f, -0.016253f, -0.022787f, 0.012517f, 0.007219f, -0.013480f, 0.003054f, 0.008049f, -0.004913f, 0.004565f, -0.012153f, -0.002936f, -0.014220f, 0.004303f, 0.015974f, 0.004756f, 0.014035f, 0.010523f, 0.011481f, -0.027448f, 0.001710f, 0.031662f, -0.003487f, -0.000696f, 0.029945f, -0.004029f, -0.000710f, 0.004271f, -0.003542f, -0.000983f, 0.016793f, 0.025657f, -0.024885f, -0.004223f, 0.005512f, -0.007856f, 0.012451f, -0.004096f, 0.001726f, 0.001820f, -0.004911f, 0.022644f, -0.002233f, -0.008273f, - 0.009249f, -0.008546f, -0.013308f, 0.004942f, 0.016409f, 0.005956f, -0.000625f, 0.003314f, 0.016056f, 0.007999f, 0.014745f, 0.004395f, 0.003455f, 0.000419f, -0.010744f, -0.001894f, -0.007251f, 0.067067f, 0.009759f, -0.001793f, 0.000027f, -0.032695f, -0.009005f, 0.002826f, -0.007058f, 0.014011f, 0.006805f, 0.022905f, -0.002398f, -0.000183f, -0.004415f, -0.009979f, 0.016142f, 0.002755f, 0.006583f, 0.008583f, 0.012832f, -0.011547f, -0.010812f, -0.013395f, -0.008526f, -0.007683f, -0.002570f, -0.018317f, -0.002781f, 0.029524f, 0.014763f, -0.005595f, -0.001117f, -0.003422f, 0.003383f, 0.010538f, -0.004157f, 0.042303f, -0.006335f, -0.001015f, -0.018109f, 0.007817f, 0.019500f, -0.002974f, -0.012955f, -0.001607f, 0.008282f, 0.014384f, 0.007348f, 0.020148f, 0.030976f, 0.009980f, 0.000733f, 0.017971f, 0.015833f, 0.005759f, 0.012635f, -0.036582f, 0.010170f, 0.001416f, -0.031056f, 0.012492f, 0.001005f, -0.013603f, 0.011108f, -0.014429f, -0.012542f, 0.017908f, 0.015817f, -0.007146f, -0.026621f, -0.012542f, 0.009512f, -0.016122f, -0.000567f, 0.007658f, 0.031622f, -0.004923f, -0.034410f, 0.021202f, - -0.002779f, -0.024383f, 0.000473f, 0.019681f, -0.022545f, -0.006324f, -0.017877f, 0.011559f, 0.005620f, -0.008337f, -0.006732f, -0.004165f, 0.014383f, 0.008658f, 0.007073f, 0.012224f, 0.013325f, 0.000065f, 0.015792f, 0.015169f, 0.008369f, 0.007926f, -0.014925f, -0.009176f, -0.009855f, 0.009236f, 0.015114f, 0.003780f, 0.005903f, -0.008842f, -0.003973f, -0.005762f, -0.002446f, -0.014992f, 0.014773f, 0.002099f, 0.002752f, -0.015899f, -0.002549f, 0.023177f, -0.015247f, -0.019133f, -0.026181f, 0.009186f, -0.019074f, 0.030115f, 0.037704f, 0.023949f, 0.016549f, 0.000900f, 0.030064f, -0.015077f, 0.024184f, -0.003127f, -0.013160f, 0.000986f, 0.003779f, -0.033453f, -0.012279f, 0.012701f, 0.004623f, -0.005289f, 0.007888f, 0.028697f, 0.022169f, -0.031194f, -0.004970f, 0.001075f, 0.002583f, 0.011649f, 0.017525f, 0.003060f, -0.021402f, 0.016921f, -0.008529f, -0.028453f, 0.001478f, 0.004879f, 0.017258f, 0.005602f, 0.046432f, 0.009208f, -0.021237f, -0.004797f, -0.018099f, 0.031897f, -0.040276f, -0.001828f, 0.025422f, -0.057001f, -0.024566f, -0.018109f, -0.021912f, -0.037198f, 0.002287f, -0.005082f, - -0.018071f, -0.000361f, 0.017034f, 0.004111f, 0.001076f, -0.009654f, 0.003206f, -0.002028f, 0.003185f, 0.001912f, 0.001566f, 0.016931f, -0.004986f, 0.001030f, 0.029195f, -0.017749f, -0.005309f, 0.007313f, 0.024967f, -0.011726f, 0.036219f, -0.009241f, -0.016495f, -0.029971f, -0.043156f, -0.009980f, -0.032463f, 0.017464f, -0.010780f, -0.021042f, 0.001856f, 0.006171f, 0.015881f, 0.017025f, 0.004741f, -0.000433f, 0.051785f, 0.032006f, -0.004716f, 0.007856f, 0.016830f, 0.016355f, 0.007467f, -0.004367f, -0.002408f, -0.006631f, -0.013749f, -0.008492f, 0.006679f, 0.044444f, -0.030233f, -0.004149f, -0.017584f, 0.032486f, -0.022585f, -0.024307f, 0.014198f, -0.011691f, -0.041800f, 0.019851f, -0.011650f, 0.015509f, -0.011244f, 0.019857f, 0.015671f, 0.016194f, 0.029563f, 0.002949f, 0.025133f, 0.007969f, 0.007199f, 0.014589f, 0.006578f, 0.002640f, 0.002053f, -0.002600f, -0.014489f, 0.011675f, -0.030329f, 0.011570f, 0.004001f, -0.011033f, -0.016070f, -0.002628f, 0.012687f, -0.016161f, -0.005199f, -0.023123f, -0.007494f, -0.028006f, 0.002125f, 0.011567f, 0.000197f, -0.005921f, -0.015837f, -0.030947f, - -0.020173f, 0.019270f, 0.007648f, -0.012120f, -0.016014f, -0.007014f, -0.001157f, -0.030783f, 0.023448f, 0.017970f, -0.027218f, -0.029898f, -0.043427f, -0.010228f, -0.052041f, 0.010140f, 0.019857f, 0.006586f, -0.003692f, -0.010890f, -0.005971f, 0.016728f, 0.020701f, 0.019958f, -0.017198f, -0.018069f, 0.015264f, -0.012809f, -0.009464f, -0.036536f, 0.011231f, 0.018120f, 0.025356f, -0.013899f, 0.038788f, 0.050468f, -0.021465f, 0.001626f, 0.010398f, -0.035946f, -0.009644f, 0.050905f, -0.000743f, -0.049559f, 0.003373f, 0.019010f, -0.003594f, 0.021165f, 0.040746f, -0.014641f, 0.036648f, 0.024156f, 0.030989f, 0.012445f, -0.027602f, -0.023891f, 0.019578f, -0.021317f, -0.040706f, -0.007877f, -0.047933f, 0.013507f, -0.005111f, 0.019777f, 0.012014f, 0.013585f, 0.003226f, 0.001806f, -0.000626f, 0.027058f, 0.009496f, -0.041133f, -0.007115f, 0.019007f, 0.027095f, 0.020164f, 0.034031f, 0.036478f, 0.023546f, -0.007672f, -0.006053f, 0.011123f, 0.063506f, -0.022735f, 0.003094f, 0.018556f, 0.023914f, -0.005636f, -0.037903f, -0.002509f, -0.010783f, -0.016518f, -0.041737f, -0.038235f, 0.010371f, -0.018737f, - -0.020214f, 0.017465f, 0.032760f, 0.048981f, -0.000995f, 0.004540f, -0.002443f, 0.040124f, -0.024276f, -0.003090f, 0.036114f, -0.032821f, 0.001506f, -0.022069f, -0.026592f, 0.015271f, 0.010239f, 0.020723f, -0.024656f, -0.060903f, -0.012189f, -0.022390f, -0.017718f, -0.013985f, 0.004523f, -0.022026f, -0.015374f, 0.003901f, 0.014963f, -0.014483f, 0.033104f, -0.005156f, 0.022773f, -0.012356f, 0.000550f, 0.016306f, -0.024010f, -0.017925f, -0.006979f, 0.025188f, -0.004688f, -0.031367f, -0.009364f, 0.002699f, -0.012535f, 0.010515f, -0.018021f, -0.021739f, 0.030834f, 0.006637f, -0.021152f, 0.012159f, -0.000935f, -0.019924f, 0.000081f, -0.031857f, -0.023987f, 0.003289f, 0.046881f, 0.016304f, 0.015881f, -0.037969f, 0.029653f, -0.005095f, 0.023153f, -0.014510f, -0.023278f, 0.010253f, -0.044501f, 0.036709f, -0.060909f, -0.041833f, 0.016378f, 0.032429f, 0.004512f, 0.039172f, -0.016271f, 0.008558f, -0.026891f, 0.036396f, 0.014285f, 0.026297f, 0.015087f, 0.004012f, -0.007312f, -0.012710f, -0.017126f, -0.010048f, 0.000816f, -0.037473f, -0.017485f, -0.002176f, -0.044272f, -0.005194f, 0.010288f, -0.044952f, - -0.041059f, 0.003544f, 0.017436f, -0.021561f, -0.093492f, -0.020254f, -0.000232f, 0.011560f, -0.031529f, 0.001993f, -0.017546f, -0.004489f, -0.025184f, -0.029074f, 0.025109f, -0.028349f, -0.033691f, -0.006652f, -0.023641f, -0.026931f, 0.008798f, -0.038720f, -0.012649f, 0.021599f, 0.051787f, 0.040848f, -0.002312f, -0.026874f, 0.008626f, 0.036532f, -0.002180f, 0.023802f, -0.007720f, 0.030272f, 0.017249f, -0.034035f, 0.051166f, -0.041037f, -0.021571f, 0.033254f, -0.039223f, 0.009906f, -0.009709f, -0.030688f, 0.002442f, 0.041989f, -0.010155f, -0.027694f, 0.015255f, 0.019494f, -0.001884f, 0.006794f, -0.064423f, 0.013014f, 0.001133f, 0.029491f, 0.013762f, -0.030085f, 0.025679f, -0.017293f, -0.004343f, -0.028330f, 0.011489f, 0.034077f, -0.009939f, -0.010362f, -0.040407f, -0.056836f, 0.027702f, -0.007463f, 0.021618f, -0.033320f, 0.019509f, 0.013027f, -0.038273f, 0.032920f, 0.037909f, -0.098062f, 0.038508f, 0.046060f, -0.009875f, 0.031313f, 0.002132f, 0.015073f, -0.005280f, -0.022067f, -0.010207f, 0.017946f, 0.007310f, -0.030018f, -0.015421f, -0.004943f, -0.010416f, -0.009459f, -0.000412f, 0.056777f, - 0.014469f, 0.010718f, -0.034006f, 0.023092f, -0.023447f, -0.001997f, 0.007220f, -0.042378f, 0.021337f, -0.017213f, 0.004769f, -0.018582f, -0.026204f, -0.001607f, 0.021933f, 0.052420f, 0.022486f, 0.003291f, 0.036713f, 0.011940f, -0.001253f, 0.003147f, 0.003735f, 0.007133f, 0.008479f, 0.034732f, 0.019246f, 0.008770f, 0.009161f, -0.007260f, -0.008474f, -0.039124f, -0.027586f, 0.001725f, -0.001170f, -0.025165f, 0.006517f, 0.024842f, -0.038481f, 0.037801f, 0.013947f, -0.017631f, 0.001969f, -0.013636f, 0.000451f, 0.021617f, 0.014718f, 0.004964f, -0.024228f, -0.008990f, -0.034374f, -0.015479f, 0.015718f, 0.010253f, 0.019374f, -0.021951f, -0.084530f, 0.131219f, -0.129816f, -0.059459f, -0.029378f, -0.009491f, 0.076538f, 0.021748f, 0.085600f, 0.020612f, -0.017188f, 0.066477f, 0.029291f, -0.023534f, 0.031671f, 0.027692f, 0.016064f, 0.025809f, 0.025945f, -0.023985f, -0.037225f, -0.027490f, 0.004268f, -0.025408f, 0.012789f, 0.006574f, 0.016553f, -0.003730f, 0.011343f, 0.002710f, 0.041638f, 0.008688f, 0.003634f, 0.011587f, -0.010137f, -0.001958f, 0.014347f, -0.027716f, -0.037877f, -0.026913f, - -0.022321f, 0.002140f, 0.010430f, -0.028005f, -0.005027f, -0.017594f, -0.065613f, 0.030804f, -0.012632f, 0.014593f, -0.035104f, -0.013601f, -0.032705f, -0.045398f, 0.015079f, 0.009209f, 0.040692f, -0.004215f, 0.035527f, -0.018261f, 0.029323f, 0.000923f, 0.042386f, -0.034363f, 0.025230f, 0.029749f, 0.015727f, 0.015586f, -0.001265f, -0.017424f, 0.048556f, 0.030200f, -0.007466f, 0.057187f, 0.010048f, 0.000280f, 0.020258f, 0.024918f, 0.080605f, 0.006900f, -0.048152f, -0.071128f, -0.037341f, -0.029538f, 0.010086f, 0.059199f, -0.000317f, -0.024531f, 0.053490f, 0.004834f, -0.041682f, 0.038914f, 0.042615f, -0.006915f, 0.000400f, -0.003231f, -0.036381f, 0.042808f, 0.003831f, 0.024800f, -0.011675f, -0.032438f, -0.056858f, 0.011884f, 0.009344f, 0.010366f, -0.006167f, 0.019825f, -0.017214f, 0.001253f, -0.035112f, -0.045250f, 0.019106f, -0.004257f, 0.017768f, -0.005006f, -0.014298f, -0.040555f, -0.062516f, 0.035686f, -0.033245f, 0.017112f, 0.035442f, -0.000118f, -0.012889f, -0.030143f, -0.018945f, 0.078027f, 0.021871f, -0.001147f, 0.014830f, -0.007647f, -0.025297f, -0.007644f, 0.049676f, -0.040051f, - -0.065331f, -0.022525f, -0.016060f, -0.097744f, -0.071111f, -0.039767f, -0.035780f, 0.013028f, 0.007953f, -0.032785f, -0.057668f, -0.024692f, -0.021573f, -0.021480f, -0.007323f, -0.013234f, -0.028031f, -0.040020f, 0.042989f, -0.037808f, 0.057547f, -0.008815f, 0.054969f, 0.075711f, -0.011991f, -0.086743f, -0.079449f, -0.019829f, 0.041691f, 0.003209f, -0.061770f, 0.048317f, -0.008488f, -0.044175f, 0.054289f, -0.099290f, -0.017879f, -0.001504f, -0.014637f, -0.016863f, 0.120593f, -0.051339f, 0.113194f, -0.007296f, 0.025922f, -0.009933f, -0.040989f, 0.069143f, 0.021497f, 0.072052f, -0.047733f, -0.051208f, 0.018813f, -0.081583f, -0.021281f, -0.014162f, -0.053008f, 0.114874f, -0.007331f, -0.121397f, 0.000955f, -0.054543f, 0.018479f, 0.028919f, 0.051069f, 0.038646f, -0.044727f, -0.030114f, -0.071148f, -0.021818f, -0.031419f, 0.031798f, 0.023818f, -0.003654f, 0.024697f, -0.014140f, -0.049559f, -0.020481f, -0.058277f, 0.064222f, -0.044318f, -0.030845f, 0.059513f, 0.015784f, 0.098586f, 0.049341f, 0.011837f, 0.054304f, -0.063589f, -0.020046f, -0.065259f, -0.060959f, -0.005183f, -0.000750f, -0.077992f, 0.101184f, - -0.004931f, -0.158306f, 0.082089f, 0.018150f, -0.033328f, -0.026254f, 0.051070f, 0.027132f, -0.029627f, -0.008834f, -0.073334f, -0.031558f, 0.032495f, -0.064634f, 0.003470f, 0.011057f, -0.018531f, -0.043224f, -0.028062f, 0.057201f, 0.024353f, -0.011974f, -0.081541f, 0.027661f, 0.053483f, 0.029714f, -0.062689f, -0.043088f, 0.001803f, 0.069453f, 0.007849f, -0.017231f, 0.012727f, 0.001915f, 0.037503f, -0.093351f, -0.078520f, 0.099259f, 0.017521f, 0.041328f, -0.092531f, 0.020293f, -0.001923f, 0.069088f, -0.059769f, -0.012275f, -0.092305f, 0.032830f, 0.071300f, 0.015634f, -0.039141f, 0.026759f, 0.102621f, -0.045018f, -0.043856f, -0.037729f, 0.017937f, 0.003523f, 0.091278f, -0.026733f, 0.011193f, -0.047804f, 0.020364f, -0.052477f, 0.003774f, 0.031959f, -0.058270f, 0.060210f, 0.025581f, -0.046341f, -0.061687f, -0.044318f, 0.005906f, 0.059421f, -0.100621f, -0.028326f, 0.117760f, 0.105011f, 0.052570f, 0.025038f, 0.023371f, 0.026131f, -0.017252f, -0.015243f, -0.035780f, 0.005633f, 0.010730f, 0.010450f, -0.002618f, -0.058607f, 0.028191f, 0.013106f, -0.042080f, -0.033946f, -0.018431f, -0.019226f, - 0.015186f, -0.013957f, -0.017928f, 0.006666f, -0.001659f, -0.030238f, 0.040647f, -0.027646f, -0.009519f, -0.028749f, -0.027557f, 0.021543f, -0.011647f, -0.002253f, 0.010453f, 0.014735f, -0.003039f, -0.038657f, 0.010040f, 0.065015f, 0.013978f, -0.097134f, -0.005657f, -0.019554f, -0.030057f, 0.022846f, 0.023206f, 0.053289f, 0.025692f, -0.062553f, 0.071232f, -0.015272f, -0.047233f, 0.148041f, -0.027881f, -0.010339f, -0.046392f, -0.113830f, 0.055110f, 0.061128f, 0.021695f, 0.024477f, -0.096608f, 0.031089f, -0.004818f, -0.021752f, -0.014095f, 0.006285f, -0.005531f, 0.017874f, 0.023435f, 0.006504f, -0.009326f, -0.025925f, 0.036526f, 0.040174f, 0.060006f, -0.056538f, -0.145124f, -0.237782f, 0.015081f, 0.244399f, 0.018091f, 0.517707f, 0.517085f, 0.188836f, 0.518008f, 0.302417f, -0.096538f, -0.011235f, -0.056529f, -0.401813f, -0.339839f, -0.236441f, -0.424013f, -0.400426f, -0.124535f, -0.255200f, -0.229368f, 0.041129f, 0.054995f, -0.062516f, 0.061530f, 0.102653f, -0.016634f, -0.003328f, 0.206828f, 0.137292f, 0.038158f, 0.152234f, 0.290175f, 0.131046f, 0.149339f, 0.367583f, 0.128640f, 0.050958f, - 0.307251f, 0.300537f, -0.012751f, 0.183327f, 0.333767f, -0.022782f, 0.061226f, 0.189320f, -0.041529f, -0.203537f, 0.051388f, -0.067082f, -0.376432f, -0.348488f, -0.331150f, -0.599368f, -0.877141f, -0.619351f, -0.858669f, -1.122897f, -0.814935f, -0.666060f, -0.893304f, -0.587591f, -0.322311f, -0.309002f, -0.121030f, 0.177932f, 0.416901f, 0.485866f, 0.661613f, 0.936922f, 0.898548f, 0.842169f, 0.935298f, 0.925396f, 0.677728f, 0.460289f, 0.266255f, -0.051362f, -0.050862f} - }, - { - {-0.004310f, 0.003591f, -0.009964f, 0.002957f, 0.004525f, 0.000052f, -0.004545f, 0.000605f, -0.001540f, -0.005226f, 0.013663f, 0.004369f, 0.003985f, 0.008358f, -0.003890f, -0.000867f, 0.000783f, -0.005747f, 0.010686f, -0.004067f, 0.001112f, -0.006109f, -0.001305f, 0.006301f, 0.000055f, 0.000470f, -0.002272f, 0.000869f, -0.007551f, 0.007910f, -0.006061f, 0.001772f, 0.005048f, -0.001075f, -0.004828f, 0.009149f, -0.000112f, -0.007862f, -0.000951f, -0.009100f, 0.003816f, -0.009680f, -0.004640f, 0.000986f, 0.002160f, 0.001496f, 0.002086f, 0.004356f, 0.006723f, -0.000797f, 0.004442f, 0.004666f, 0.003382f, -0.000126f, -0.003774f, 0.004692f, 0.001282f, 0.002884f, -0.005002f, 0.009156f, 0.007367f, -0.000719f, -0.004722f, -0.000760f, -0.000374f, -0.001779f, -0.005434f, -0.011035f, -0.001825f, 0.007026f, 0.006426f, 0.002855f, 0.013701f, -0.002339f, 0.000407f, -0.005442f, 0.019052f, -0.000757f, -0.001063f, 0.006108f, -0.002535f, 0.006963f, -0.003747f, -0.008911f, 0.003063f, 0.008952f, 0.001240f, -0.001405f, 0.011805f, 0.000379f, 0.000392f, -0.004095f, -0.002371f, 0.018493f, 0.002463f, -0.012643f, - -0.009431f, 0.013006f, -0.001325f, 0.013478f, 0.000810f, -0.002671f, -0.001427f, 0.010135f, 0.001868f, 0.021381f, 0.009301f, 0.005786f, -0.001334f, 0.004629f, 0.009542f, -0.002554f, -0.007443f, -0.009284f, -0.001948f, 0.008016f, 0.006849f, 0.010743f, 0.002857f, -0.006354f, -0.006601f, -0.002901f, 0.004335f, -0.001736f, 0.002267f, -0.001538f, -0.010010f, -0.007838f, 0.002712f, 0.006779f, 0.004096f, -0.003893f, -0.004321f, -0.000668f, 0.010317f, 0.004979f, -0.001497f, -0.002847f, 0.004578f, 0.002814f, 0.001740f, -0.005987f, 0.002320f, 0.004467f, -0.001101f, 0.007068f, 0.008682f, -0.016891f, 0.005296f, 0.002228f, 0.009708f, 0.005050f, 0.008683f, 0.017752f, -0.014352f, 0.003001f, -0.002885f, -0.000093f, -0.018522f, 0.001602f, 0.011703f, -0.017068f, -0.003119f, 0.010935f, 0.030124f, 0.003994f, 0.000172f, 0.001853f, -0.018257f, -0.000856f, 0.014128f, 0.011949f, 0.000731f, -0.000625f, 0.001536f, 0.006172f, 0.011130f, 0.011077f, 0.012630f, -0.005664f, 0.003068f, -0.000942f, 0.005146f, 0.001131f, 0.003482f, -0.019089f, -0.004728f, 0.002785f, 0.002011f, -0.010612f, 0.000142f, 0.006999f, - -0.007832f, 0.006447f, 0.006566f, 0.011088f, 0.005758f, -0.004373f, 0.006118f, 0.012440f, -0.006462f, -0.011355f, 0.004354f, 0.002588f, 0.002789f, 0.005921f, -0.004406f, -0.009123f, -0.012992f, 0.011042f, -0.001369f, -0.002503f, -0.003740f, 0.004933f, 0.000563f, 0.007275f, 0.014885f, 0.003035f, 0.001803f, -0.000538f, -0.002477f, -0.010742f, 0.018155f, 0.004495f, -0.000810f, 0.009097f, 0.000191f, -0.008689f, -0.007860f, -0.009448f, -0.013833f, 0.007795f, -0.000364f, -0.006376f, -0.002792f, -0.003194f, 0.002762f, -0.005286f, -0.009582f, 0.002259f, -0.006311f, 0.016132f, 0.021063f, 0.016946f, -0.011878f, -0.000343f, -0.001006f, 0.004601f, -0.006710f, 0.013297f, 0.008029f, -0.001802f, 0.006135f, 0.010092f, 0.000542f, 0.002496f, 0.003219f, 0.009791f, -0.001216f, 0.003672f, 0.011353f, 0.001229f, -0.000435f, -0.005053f, 0.008069f, -0.012633f, 0.004792f, -0.001759f, -0.002932f, 0.008437f, -0.008491f, -0.001038f, -0.000066f, -0.011023f, 0.004206f, -0.002254f, 0.004718f, -0.000406f, -0.005147f, 0.003275f, 0.003094f, -0.000666f, 0.009353f, -0.000806f, 0.010837f, -0.000302f, -0.007955f, -0.003500f, - -0.000048f, -0.005319f, 0.009551f, 0.004999f, 0.008098f, 0.009481f, -0.004848f, -0.010086f, -0.006945f, -0.000529f, -0.002468f, -0.002784f, 0.007222f, 0.008973f, -0.002436f, -0.028436f, -0.006361f, -0.009052f, -0.014952f, 0.004905f, 0.004260f, -0.002102f, 0.007351f, -0.001271f, 0.006245f, 0.008147f, -0.003444f, -0.010143f, -0.012146f, -0.005034f, -0.011296f, 0.000603f, 0.001539f, -0.005342f, 0.006821f, -0.005969f, 0.003777f, -0.002900f, -0.006338f, -0.017847f, -0.006566f, 0.001237f, 0.003010f, 0.004276f, -0.006264f, 0.004318f, 0.007298f, 0.001991f, 0.016241f, 0.003632f, -0.000159f, 0.012028f, -0.008500f, 0.006791f, 0.001428f, -0.004532f, -0.005675f, 0.007610f, 0.001326f, 0.002141f, -0.018623f, -0.003873f, -0.005983f, 0.018564f, 0.008386f, 0.006418f, 0.007957f, 0.008282f, 0.007155f, 0.009217f, -0.004838f, -0.002524f, 0.006197f, 0.009014f, -0.000988f, 0.010587f, -0.005662f, 0.001911f, -0.002084f, 0.008844f, 0.014395f, -0.022523f, 0.006131f, -0.006041f, 0.001128f, -0.011012f, -0.004819f, 0.001021f, -0.002496f, -0.005207f, -0.007798f, -0.004534f, 0.011163f, 0.006584f, 0.004166f, -0.002240f, - 0.001095f, 0.001053f, 0.014397f, -0.011407f, 0.014453f, -0.002016f, 0.007985f, 0.014479f, -0.008900f, 0.011199f, -0.006822f, 0.005703f, 0.002473f, 0.017064f, 0.007862f, -0.009641f, -0.015439f, 0.003503f, -0.011489f, 0.009626f, -0.002102f, 0.012573f, -0.009087f, -0.001594f, -0.007195f, 0.004302f, 0.003173f, 0.003564f, -0.000562f, -0.001392f, -0.013327f, -0.006065f, 0.011709f, -0.009036f, -0.001386f, 0.007302f, 0.000811f, -0.007077f, 0.002784f, 0.000601f, -0.001069f, -0.006138f, 0.012877f, 0.003903f, -0.017007f, -0.007963f, -0.013591f, -0.002519f, -0.011916f, -0.021669f, -0.004265f, 0.009394f, 0.027349f, 0.005774f, 0.002944f, 0.012492f, 0.000457f, -0.009911f, -0.007753f, 0.006910f, 0.003633f, 0.004602f, 0.008657f, -0.019027f, -0.003592f, -0.017576f, -0.002672f, 0.004535f, -0.005616f, -0.016514f, 0.003040f, 0.006148f, -0.001824f, 0.030852f, 0.007096f, 0.022411f, -0.010585f, -0.001203f, -0.007568f, -0.001454f, 0.023418f, -0.019839f, 0.006611f, 0.002564f, 0.030748f, 0.016732f, 0.020380f, 0.004051f, -0.005183f, 0.009989f, -0.006810f, -0.025261f, 0.004815f, 0.001801f, 0.002967f, 0.020527f, - 0.001901f, -0.011484f, -0.001043f, 0.000910f, 0.006419f, 0.007372f, -0.000564f, -0.002241f, 0.008296f, -0.009232f, -0.002573f, -0.004463f, -0.002368f, 0.002919f, 0.000499f, 0.018206f, 0.002712f, 0.014397f, 0.016262f, 0.004904f, 0.014390f, -0.000594f, 0.004926f, 0.009086f, -0.009051f, -0.013439f, 0.002033f, 0.014471f, -0.022052f, 0.007126f, -0.016815f, -0.015577f, -0.009453f, -0.003990f, -0.014682f, -0.014182f, -0.015026f, -0.007509f, -0.003351f, 0.010808f, 0.000801f, 0.012838f, 0.002484f, -0.009918f, 0.016363f, -0.016043f, -0.005475f, -0.006545f, -0.005905f, -0.008541f, -0.010474f, 0.016285f, 0.013885f, -0.007197f, -0.015354f, -0.017841f, -0.008630f, -0.011436f, -0.004303f, -0.005447f, -0.018711f, -0.017206f, -0.012371f, -0.003344f, -0.000073f, -0.003799f, 0.014835f, 0.000060f, 0.008160f, 0.009212f, 0.013393f, 0.000569f, 0.025174f, 0.028842f, 0.000374f, 0.007328f, 0.007808f, -0.005134f, 0.014195f, 0.005680f, -0.026233f, -0.002433f, -0.008472f, 0.000013f, 0.021937f, 0.006767f, -0.020835f, -0.007412f, 0.010556f, 0.007917f, 0.002197f, 0.026103f, -0.010679f, 0.009448f, 0.012190f, 0.010570f, - 0.008070f, 0.012557f, -0.023692f, 0.007029f, -0.008777f, 0.012538f, 0.001306f, 0.004182f, -0.017642f, 0.011332f, 0.010505f, -0.004634f, 0.010175f, -0.003953f, 0.003328f, -0.002664f, -0.008928f, -0.000127f, -0.005493f, 0.003221f, -0.006953f, 0.006439f, 0.003545f, 0.020366f, 0.018181f, -0.009064f, 0.006814f, -0.023338f, 0.017403f, -0.009752f, 0.010807f, 0.013029f, 0.018327f, -0.005905f, 0.018402f, 0.001503f, 0.015908f, -0.014158f, -0.003771f, 0.012779f, -0.006817f, 0.021850f, -0.006989f, -0.015303f, 0.028903f, 0.039429f, 0.008709f, -0.015423f, 0.010832f, -0.008071f, 0.016127f, 0.009533f, -0.003554f, -0.016321f, -0.010804f, -0.027839f, 0.007300f, 0.012121f, -0.024738f, -0.002740f, 0.014324f, 0.003969f, -0.001239f, 0.000834f, -0.003072f, -0.013105f, 0.003202f, 0.016892f, 0.000623f, 0.003919f, 0.005942f, 0.023866f, -0.015553f, -0.000019f, 0.016994f, -0.015163f, 0.022842f, 0.001697f, 0.032127f, -0.026261f, -0.024284f, 0.013912f, 0.001064f, -0.002540f, 0.006781f, -0.001470f, 0.008806f, 0.006336f, 0.017732f, 0.017993f, -0.014331f, 0.003600f, -0.009472f, -0.004433f, 0.010441f, -0.000065f, - -0.005850f, -0.000959f, 0.000125f, 0.017654f, -0.031082f, 0.025194f, -0.007860f, -0.008280f, 0.016643f, -0.011452f, 0.013013f, -0.015761f, -0.011786f, 0.000322f, -0.016038f, 0.000372f, -0.019653f, -0.014713f, -0.006716f, -0.013802f, -0.021439f, -0.004331f, 0.007511f, 0.026203f, 0.004006f, -0.015632f, -0.029411f, -0.005988f, 0.008780f, -0.005013f, 0.031030f, 0.009929f, -0.011381f, -0.022081f, -0.028004f, -0.052376f, -0.004627f, -0.005741f, 0.019719f, 0.014895f, -0.011131f, 0.001387f, -0.008727f, -0.004525f, 0.018409f, -0.000495f, 0.000531f, -0.002306f, 0.020884f, 0.003603f, -0.006953f, -0.001093f, -0.001364f, 0.005745f, -0.020074f, -0.006185f, -0.008309f, 0.030728f, 0.006479f, -0.032466f, 0.007600f, -0.016900f, -0.010272f, 0.004664f, -0.031018f, 0.009259f, 0.020780f, 0.019135f, 0.013997f, 0.003517f, 0.004945f, -0.001147f, 0.001967f, -0.019201f, 0.005546f, -0.029977f, -0.007222f, 0.016799f, 0.004541f, 0.017183f, 0.015314f, 0.013920f, -0.011932f, -0.022337f, -0.021758f, -0.015302f, 0.001793f, 0.005397f, 0.006414f, 0.009382f, -0.002786f, 0.005683f, 0.013119f, 0.015366f, 0.027131f, 0.031479f, - 0.022723f, 0.038914f, -0.018201f, 0.027676f, -0.023677f, -0.018502f, 0.020462f, 0.026228f, 0.030896f, -0.031807f, -0.000180f, 0.008122f, -0.023612f, 0.011285f, -0.010374f, -0.016626f, 0.019094f, -0.024707f, 0.026955f, -0.025388f, 0.025254f, -0.018173f, -0.006730f, -0.001519f, -0.033357f, -0.004462f, 0.036827f, -0.009224f, -0.026278f, 0.005832f, 0.017114f, -0.018958f, 0.009529f, 0.040036f, 0.021426f, 0.008317f, 0.017632f, -0.020769f, 0.014083f, -0.012341f, -0.036230f, -0.010668f, -0.009460f, 0.003047f, 0.016460f, 0.020698f, -0.008979f, -0.015477f, 0.014490f, 0.000557f, 0.011092f, 0.007414f, -0.005896f, 0.002524f, -0.014411f, 0.002788f, 0.004595f, 0.000460f, 0.004742f, 0.033463f, -0.004043f, 0.004048f, 0.009385f, 0.002867f, 0.004064f, -0.015603f, -0.018156f, 0.013890f, -0.021574f, -0.027981f, -0.030700f, -0.024275f, -0.040894f, 0.015157f, 0.051045f, 0.026363f, -0.010624f, -0.039219f, -0.014836f, 0.003524f, 0.004733f, -0.006829f, 0.018852f, 0.014297f, -0.015457f, -0.006543f, -0.002818f, -0.025555f, 0.036070f, -0.015781f, 0.012298f, -0.002025f, -0.009562f, -0.031306f, 0.009754f, 0.007822f, - -0.004897f, 0.005030f, 0.013642f, -0.004154f, 0.035244f, -0.006929f, -0.006385f, 0.031300f, -0.004247f, -0.020421f, -0.020232f, -0.036129f, 0.004226f, -0.007044f, -0.012532f, -0.006870f, -0.028353f, -0.010177f, -0.026638f, 0.004067f, -0.023593f, 0.021769f, -0.013807f, 0.000962f, 0.005266f, 0.003947f, 0.010657f, -0.009407f, -0.028928f, 0.013544f, -0.004463f, 0.008404f, -0.007560f, -0.001264f, -0.000646f, 0.028277f, 0.038368f, 0.012453f, -0.014320f, 0.015434f, 0.012522f, 0.017519f, -0.008805f, -0.011715f, 0.017716f, 0.011289f, 0.024006f, 0.007927f, 0.003145f, 0.002227f, 0.002388f, 0.025292f, 0.016996f, 0.017231f, 0.075175f, 0.004327f, -0.023127f, 0.066964f, 0.030318f, 0.030991f, 0.053766f, 0.058333f, 0.013620f, 0.020277f, 0.011663f, 0.063210f, 0.000724f, -0.018850f, 0.023795f, 0.008181f, -0.026133f, -0.024069f, 0.020894f, 0.025261f, 0.041139f, -0.001610f, 0.000671f, 0.003282f, 0.003454f, -0.023180f, 0.026614f, 0.023055f, 0.006379f, -0.017317f, 0.028259f, -0.006502f, -0.004279f, -0.038087f, -0.011634f, -0.000142f, -0.005330f, -0.018600f, 0.011386f, -0.017021f, -0.014329f, -0.008616f, - 0.002971f, -0.010683f, -0.021816f, -0.022822f, 0.024644f, -0.016464f, 0.026328f, 0.016576f, 0.020993f, 0.011170f, -0.027822f, 0.002628f, -0.042856f, -0.014253f, -0.025001f, 0.012519f, -0.031032f, -0.010458f, -0.008736f, 0.004991f, 0.024535f, 0.008112f, -0.008580f, -0.039933f, 0.013690f, 0.021648f, -0.005733f, 0.006621f, -0.028086f, 0.025925f, -0.003651f, -0.009540f, 0.047252f, 0.026589f, -0.024107f, -0.042814f, 0.012815f, 0.013546f, -0.013882f, 0.028700f, -0.031649f, 0.034376f, -0.024901f, -0.013703f, 0.010428f, 0.008368f, 0.086921f, 0.034688f, 0.012625f, -0.053983f, -0.001915f, -0.012381f, -0.029367f, -0.007824f, -0.011026f, -0.008980f, -0.003695f, -0.044748f, -0.001332f, -0.016541f, 0.000104f, 0.022714f, -0.024515f, 0.029304f, -0.009850f, -0.031034f, -0.028747f, 0.023395f, 0.016955f, -0.006369f, -0.016076f, 0.029699f, -0.016078f, -0.013974f, 0.022300f, 0.000162f, 0.006548f, -0.022595f, -0.001244f, -0.012894f, 0.028736f, -0.003464f, 0.041421f, -0.014673f, 0.005851f, 0.013661f, -0.001630f, 0.002712f, 0.012351f, -0.025811f, -0.004736f, 0.035675f, 0.002405f, 0.010813f, -0.000676f, -0.026417f, - 0.011611f, -0.017860f, 0.009663f, 0.031850f, 0.038855f, 0.044514f, 0.044768f, -0.007489f, 0.015897f, 0.002074f, 0.024573f, 0.057010f, -0.058372f, 0.049217f, -0.023402f, 0.007550f, -0.019665f, -0.047346f, -0.007693f, 0.008055f, 0.001915f, 0.009546f, -0.032944f, -0.005900f, -0.005716f, -0.049967f, -0.036404f, 0.018118f, 0.021546f, 0.008102f, 0.015282f, -0.026197f, -0.010880f, -0.018940f, 0.054639f, 0.011526f, 0.002870f, 0.038630f, 0.024383f, 0.018785f, 0.019511f, 0.014399f, -0.026636f, 0.018921f, 0.009719f, -0.009961f, 0.017446f, -0.015518f, -0.012410f, 0.026468f, -0.010448f, 0.016153f, 0.038433f, -0.000120f, 0.008795f, -0.002086f, 0.004208f, -0.009467f, -0.019653f, -0.028738f, -0.042269f, 0.016579f, -0.035405f, 0.012465f, 0.016775f, 0.017193f, 0.002437f, -0.000592f, -0.002800f, -0.030662f, -0.011080f, 0.012741f, -0.007204f, 0.013099f, 0.039779f, -0.013451f, 0.031401f, 0.010583f, 0.006718f, -0.004094f, -0.006047f, -0.029434f, 0.003347f, -0.039112f, -0.007421f, 0.035283f, -0.014656f, 0.002228f, -0.056446f, 0.025633f, -0.002061f, 0.003944f, -0.031763f, -0.042376f, 0.013958f, 0.012462f, - 0.038047f, -0.090117f, -0.022186f, -0.053512f, 0.018069f, -0.048049f, -0.016117f, -0.054454f, 0.014591f, -0.028372f, -0.021780f, -0.004607f, -0.046258f, -0.016778f, -0.049557f, -0.024988f, -0.057379f, 0.012445f, -0.053078f, -0.020941f, -0.027549f, -0.015400f, -0.014534f, -0.012339f, -0.050649f, -0.028925f, -0.038514f, -0.019725f, -0.011074f, 0.021972f, -0.003100f, 0.016420f, -0.031488f, -0.005066f, 0.001893f, -0.036297f, 0.007102f, -0.002484f, 0.003150f, 0.009585f, -0.036753f, -0.002029f, 0.013627f, -0.004511f, 0.015339f, 0.030597f, 0.055396f, -0.045993f, 0.002815f, 0.061553f, 0.000249f, 0.030187f, -0.021673f, 0.038087f, 0.006816f, -0.009208f, -0.051421f, -0.030285f, 0.042160f, 0.026035f, 0.041020f, 0.001242f, -0.029628f, 0.010203f, 0.014049f, 0.029184f, -0.057000f, -0.000265f, 0.008597f, -0.031622f, -0.013197f, -0.014517f, -0.023577f, -0.046258f, 0.057133f, -0.004656f, -0.025683f, 0.038344f, -0.064922f, -0.000758f, -0.013084f, 0.027840f, -0.014570f, -0.040110f, 0.034467f, -0.070317f, -0.060835f, -0.050201f, 0.028073f, -0.015260f, 0.001034f, -0.027689f, -0.026364f, -0.030646f, 0.016201f, 0.013970f, - 0.048074f, 0.022242f, 0.009066f, 0.044640f, -0.012966f, 0.015576f, -0.017333f, 0.013216f, 0.007222f, 0.025995f, 0.042724f, 0.021684f, -0.010242f, -0.028074f, -0.017178f, -0.006869f, 0.023325f, -0.009624f, 0.005523f, -0.000700f, -0.012712f, 0.021503f, -0.002957f, 0.017205f, 0.012617f, -0.039321f, 0.029118f, 0.054314f, 0.007087f, 0.044908f, 0.043952f, 0.018211f, 0.013263f, -0.002633f, 0.022200f, -0.018021f, -0.057020f, -0.021112f, 0.038649f, -0.003108f, -0.022471f, 0.017178f, 0.055596f, -0.017477f, 0.001971f, -0.046676f, 0.038756f, 0.031691f, -0.005333f, 0.005728f, -0.021587f, 0.087690f, -0.062179f, -0.061313f, -0.050456f, 0.100979f, -0.019889f, 0.054929f, 0.102984f, -0.037057f, 0.050991f, 0.018177f, -0.059829f, 0.054509f, 0.011869f, -0.030503f, 0.045556f, 0.015086f, 0.043023f, -0.003306f, -0.030381f, 0.028833f, 0.014192f, -0.002780f, 0.013302f, -0.012562f, -0.032229f, -0.024134f, -0.013666f, -0.033701f, -0.019446f, -0.008757f, 0.027078f, -0.024114f, -0.009257f, -0.033242f, 0.009924f, -0.000345f, 0.008400f, 0.038648f, -0.021313f, 0.007058f, -0.019469f, -0.016047f, 0.027561f, -0.022093f, - -0.038960f, -0.057913f, 0.066951f, 0.024959f, -0.011834f, 0.040387f, -0.036158f, -0.038323f, -0.017367f, -0.006838f, 0.010430f, -0.003133f, -0.033183f, -0.030987f, -0.024973f, -0.067845f, -0.035782f, -0.038477f, 0.016757f, 0.017319f, 0.002718f, 0.032705f, 0.011689f, -0.043318f, -0.028328f, 0.044691f, -0.038128f, -0.000299f, 0.049179f, -0.013331f, -0.070321f, 0.043520f, -0.022099f, -0.004421f, 0.009786f, 0.021400f, -0.049722f, 0.029548f, -0.013539f, 0.050394f, 0.035896f, -0.082235f, -0.009541f, 0.007969f, -0.048966f, -0.008793f, -0.007473f, 0.059516f, 0.044094f, 0.039505f, 0.050721f, -0.002623f, -0.034597f, -0.027975f, -0.027470f, 0.000544f, -0.077383f, 0.008550f, 0.067063f, -0.061568f, -0.109326f, 0.010356f, -0.040736f, 0.080097f, -0.000285f, 0.001827f, 0.054453f, -0.025693f, 0.011287f, -0.003346f, -0.014662f, 0.046288f, -0.013583f, 0.023014f, 0.079155f, -0.059108f, -0.033399f, -0.053929f, 0.026242f, 0.003631f, 0.052741f, -0.031163f, 0.020514f, 0.002112f, 0.047828f, 0.027783f, -0.024195f, -0.016333f, 0.017592f, -0.009275f, -0.002950f, -0.034567f, -0.034577f, 0.017337f, -0.008570f, -0.010098f, - -0.020339f, 0.043760f, -0.017950f, -0.017291f, 0.071837f, 0.079058f, 0.049098f, -0.065540f, -0.007814f, -0.019149f, 0.023793f, 0.100513f, -0.014693f, -0.069869f, -0.007621f, -0.022872f, 0.037897f, -0.048971f, 0.008220f, -0.040429f, 0.037179f, 0.019662f, -0.037513f, 0.064322f, 0.100221f, 0.001549f, -0.003782f, -0.035312f, -0.033590f, 0.004416f, 0.006485f, -0.018178f, 0.090554f, -0.009580f, 0.067675f, 0.052174f, -0.067078f, -0.003719f, -0.022126f, -0.074057f, 0.018788f, 0.015084f, 0.040033f, 0.066009f, -0.001623f, -0.021175f, 0.022674f, 0.022696f, 0.053684f, 0.020405f, 0.005182f, 0.041913f, 0.046462f, 0.013839f, -0.010439f, 0.038142f, 0.018096f, 0.046199f, 0.010461f, 0.011688f, 0.030329f, 0.048919f, -0.008551f, -0.043053f, -0.047016f, -0.017827f, -0.016423f, 0.078050f, 0.044054f, 0.121791f, -0.005982f, -0.065502f, 0.055010f, -0.021821f, -0.021759f, -0.021786f, -0.042649f, 0.003155f, 0.023433f, -0.004152f, -0.024118f, 0.085039f, -0.018112f, 0.100779f, -0.029119f, 0.052366f, 0.004225f, -0.021682f, -0.057931f, -0.085723f, 0.074528f, -0.012274f, -0.017107f, -0.028637f, -0.036060f, 0.023971f, - 0.090780f, -0.053243f, -0.036905f, 0.009174f, 0.015089f, -0.008763f, 0.063824f, 0.052636f, 0.049893f, 0.019103f, 0.023869f, 0.045016f, 0.025218f, -0.013910f, -0.027265f, -0.056331f, -0.010860f, 0.033719f, 0.009501f, 0.008701f, -0.023038f, -0.053149f, -0.017403f, -0.005886f, 0.054728f, 0.002609f, -0.007973f, 0.044350f, -0.007984f, 0.013610f, 0.007888f, -0.092804f, 0.023150f, 0.027432f, -0.017608f, -0.038606f, 0.006691f, -0.051522f, -0.028111f, -0.079906f, 0.023865f, -0.066413f, -0.136111f, 0.017562f, -0.002537f, 0.097144f, -0.003855f, 0.034197f, 0.078227f, -0.011093f, -0.020731f, 0.036738f, -0.000876f, -0.066928f, -0.024000f, 0.010711f, 0.011633f, 0.052281f, 0.021527f, 0.046645f, 0.039814f, -0.026696f, -0.019944f, 0.020457f, 0.059053f, -0.022973f, -0.009938f, -0.052230f, -0.033543f, 0.013934f, -0.067229f, 0.019341f, -0.074240f, 0.010938f, -0.011976f, -0.002808f, -0.018683f, 0.071436f, 0.078417f, 0.179617f, 0.022331f, -0.102423f, -0.074987f, -0.057201f, -0.063591f, 0.125243f, 0.169861f, 0.055911f, -0.015198f, -0.054534f, 0.002775f, -0.065756f, 0.071631f, 0.065369f, 0.020708f, 0.008098f, - -0.041069f, -0.007727f, 0.078680f, 0.016423f, 0.032088f, 0.024549f, 0.082490f, 0.066845f, -0.025721f, -0.062737f, -0.079553f, -0.056218f, -0.007302f, 0.020195f, 0.074187f, 0.041749f, -0.014603f, 0.037377f, -0.055033f, -0.021546f, -0.124660f, -0.022521f, 0.124081f, 0.092480f, -0.018526f, 0.246957f, 0.079091f, 0.004059f, -0.136443f, -0.026866f, -0.011144f, -0.035921f, 0.035602f, 0.015381f, 0.030217f, 0.048078f, -0.111364f, -0.125287f, -0.060119f, -0.086542f, -0.011278f, 0.021727f, 0.101387f, -0.067012f, 0.036991f, 0.150429f, 0.078497f, 0.019056f, 0.043318f, 0.022306f, -0.097151f, -0.169753f, 0.076873f, -0.054703f, 0.025924f, -0.038273f, -0.166066f, -0.039601f, 0.091417f, 0.176217f, 0.154474f, 0.372419f, 0.193796f, 0.131382f, 0.114717f, 0.051561f, -0.023152f, -0.190428f, -0.239351f, -0.355352f, -0.273442f, -0.279996f, -0.108946f, -0.001564f, 0.102428f, 0.194305f, 0.158826f, 0.164775f, 0.111487f, 0.154413f, 0.119015f, 0.170990f, 0.078036f, 0.060482f, 0.025259f, -0.050579f, -0.076005f, -0.112286f, -0.071410f, -0.237476f, -0.105280f, -0.225653f, -0.166083f, -0.257841f, -0.157757f, -0.241150f, - -0.092429f, -0.124329f, -0.048069f, 0.008284f, 0.106964f, 0.299794f, 0.283119f, 0.402590f, 0.266839f, 0.178844f, 0.233685f, 0.325540f, 0.282507f, 0.235893f, 0.157570f, 0.005045f, -0.188363f, -0.185945f, -0.229439f, -0.416584f, -0.461417f, -0.499383f, -0.502732f, -0.548466f, -0.482376f, -0.410324f, -0.370721f, -0.253221f, -0.015646f, 0.207463f, 0.383357f, 0.519828f, 0.649420f, 0.721260f, 0.460142f, 0.396603f, 0.104326f, -0.042561f, -0.032024f}, - {-0.011786f, 0.000611f, -0.009485f, -0.003189f, 0.004308f, 0.002622f, 0.006006f, -0.007800f, 0.004362f, -0.001018f, -0.007320f, 0.008648f, -0.004126f, -0.001790f, -0.005930f, -0.004928f, 0.005874f, -0.005754f, 0.003214f, 0.008122f, -0.000781f, 0.004544f, -0.002647f, 0.000149f, 0.003770f, -0.001088f, 0.007811f, -0.000324f, -0.011994f, -0.000271f, 0.001971f, 0.005270f, -0.005409f, 0.000867f, 0.001731f, -0.001060f, 0.005194f, -0.000944f, 0.007245f, 0.006432f, -0.004064f, -0.000427f, 0.006543f, -0.013184f, -0.007455f, 0.002872f, -0.006690f, -0.001501f, 0.002754f, -0.000031f, 0.007975f, 0.008822f, 0.002034f, 0.003727f, 0.004533f, 0.004713f, -0.001392f, 0.001315f, 0.004308f, 0.005789f, 0.000824f, -0.003972f, -0.007476f, -0.004885f, -0.000156f, -0.000803f, -0.000614f, -0.010294f, 0.009371f, -0.002942f, 0.001328f, -0.003240f, -0.006296f, 0.003120f, -0.001266f, 0.003555f, 0.024097f, 0.001053f, 0.004067f, 0.003340f, -0.009806f, -0.005118f, 0.013335f, 0.023166f, 0.003733f, 0.012311f, -0.005036f, 0.002275f, -0.000666f, 0.010397f, -0.008332f, -0.019014f, 0.007615f, 0.008763f, -0.011084f, 0.012689f, - 0.006246f, 0.011554f, 0.003631f, 0.002645f, -0.005169f, -0.001777f, 0.000532f, 0.007625f, 0.000619f, -0.011887f, 0.000426f, -0.001134f, 0.002439f, -0.001832f, 0.001985f, 0.002597f, 0.006875f, 0.004837f, 0.001553f, 0.001939f, 0.000573f, 0.003162f, -0.003735f, -0.006126f, -0.013111f, 0.002207f, 0.002718f, 0.000730f, 0.009803f, -0.003864f, 0.007583f, 0.001771f, -0.003233f, -0.006519f, -0.004119f, 0.013514f, 0.002831f, 0.007330f, 0.001143f, 0.002592f, -0.002825f, -0.000031f, 0.000785f, 0.003460f, -0.001345f, -0.005777f, -0.002940f, -0.011440f, 0.001084f, 0.001411f, 0.009144f, -0.003751f, 0.007000f, -0.002140f, 0.004611f, 0.008682f, 0.008863f, 0.003694f, 0.003770f, 0.004470f, 0.005946f, 0.008193f, -0.003427f, 0.008514f, 0.000348f, 0.009117f, -0.001797f, 0.016412f, 0.005906f, 0.005277f, -0.011086f, -0.001806f, -0.002318f, -0.014962f, 0.008316f, 0.006589f, -0.004406f, -0.019523f, -0.008546f, -0.003096f, 0.009670f, 0.012769f, 0.008422f, -0.005357f, 0.003017f, -0.008454f, 0.000644f, 0.000560f, -0.006496f, -0.003506f, -0.017233f, 0.001307f, -0.001948f, -0.007440f, 0.001002f, 0.000902f, - -0.002131f, -0.000643f, 0.016967f, -0.004092f, 0.013860f, 0.002606f, -0.010307f, 0.000759f, 0.001245f, 0.007669f, -0.003226f, 0.002212f, 0.002024f, 0.000663f, 0.010635f, 0.003740f, 0.010903f, 0.008048f, -0.005320f, 0.009997f, 0.004920f, 0.007433f, 0.000817f, 0.002720f, -0.002380f, -0.004146f, -0.008731f, -0.010216f, 0.011362f, -0.010442f, -0.008727f, -0.008205f, 0.005106f, 0.006321f, 0.001752f, -0.015109f, -0.013983f, 0.002986f, 0.000314f, -0.003072f, 0.008436f, -0.001139f, -0.001427f, 0.008684f, -0.009563f, 0.001847f, -0.008343f, -0.005461f, -0.002988f, 0.000059f, 0.014283f, 0.016148f, -0.007479f, 0.006307f, -0.011618f, -0.001147f, -0.004526f, 0.015688f, -0.004611f, -0.000922f, 0.001683f, -0.022168f, -0.003814f, -0.010963f, -0.003567f, -0.002745f, 0.008283f, 0.010925f, 0.004524f, 0.014777f, -0.001861f, -0.006772f, -0.006807f, 0.008522f, 0.022254f, 0.015506f, -0.008634f, -0.010162f, 0.011148f, -0.009999f, 0.001929f, 0.003519f, 0.018234f, -0.006727f, -0.008946f, 0.001958f, -0.005543f, 0.003457f, 0.004657f, 0.011549f, -0.012663f, -0.008246f, 0.007437f, 0.013959f, -0.001292f, -0.006512f, - -0.008259f, -0.019788f, 0.007466f, -0.000051f, 0.005831f, 0.000916f, 0.000416f, -0.003106f, 0.003478f, -0.005024f, 0.002901f, 0.004342f, 0.003943f, -0.006823f, 0.004522f, -0.036655f, -0.012078f, -0.001935f, 0.006251f, 0.004209f, 0.009119f, -0.017503f, -0.005244f, -0.000789f, -0.018155f, -0.012966f, 0.004564f, 0.010990f, 0.006450f, 0.012128f, -0.001541f, 0.006971f, 0.016149f, 0.014252f, 0.013398f, 0.007728f, -0.005141f, -0.004091f, -0.008270f, -0.003657f, -0.008303f, 0.017243f, 0.008043f, -0.002625f, -0.007596f, -0.004633f, -0.007750f, -0.011327f, -0.012195f, -0.015359f, 0.009337f, 0.006677f, -0.017009f, 0.004061f, -0.000823f, 0.011827f, 0.001880f, 0.005846f, 0.007731f, -0.016092f, -0.002414f, -0.000541f, 0.002253f, 0.008529f, 0.012995f, -0.005086f, -0.001706f, -0.003705f, -0.009977f, 0.003205f, 0.002247f, -0.000981f, -0.002517f, 0.009853f, 0.000838f, -0.005277f, -0.001460f, 0.004749f, 0.006674f, -0.002378f, 0.000253f, 0.001785f, -0.008179f, 0.006725f, 0.000141f, -0.013100f, 0.002595f, -0.016033f, 0.004028f, 0.012160f, -0.001844f, -0.000770f, 0.019725f, 0.008003f, 0.003014f, -0.004600f, - 0.014450f, 0.006191f, 0.008015f, 0.023949f, 0.025085f, 0.001446f, -0.004476f, -0.008532f, -0.014163f, 0.005583f, 0.009728f, -0.004682f, -0.001349f, 0.001975f, -0.002730f, -0.007567f, 0.009238f, -0.008757f, 0.004108f, -0.026333f, -0.004174f, -0.005941f, -0.006821f, -0.012671f, -0.003051f, -0.001065f, -0.000064f, -0.006140f, -0.010007f, -0.006971f, 0.000805f, -0.004355f, -0.010594f, 0.006939f, 0.008622f, 0.001513f, -0.008736f, -0.008698f, 0.003238f, -0.006476f, 0.008114f, -0.009587f, 0.006489f, 0.003369f, -0.000398f, -0.013956f, -0.014096f, 0.004219f, -0.010300f, 0.017316f, 0.002602f, 0.014760f, -0.007386f, 0.014913f, 0.002332f, 0.010098f, 0.002633f, 0.009721f, -0.008124f, -0.009578f, -0.000691f, 0.019232f, -0.002262f, -0.010148f, -0.006942f, 0.009660f, -0.005719f, -0.004506f, 0.000777f, -0.016123f, 0.011372f, 0.019450f, -0.003587f, 0.029589f, 0.005278f, 0.016566f, -0.006885f, 0.012588f, 0.008229f, 0.019223f, -0.014348f, -0.009095f, -0.003759f, 0.001784f, 0.012561f, -0.005475f, 0.019392f, -0.000764f, 0.010763f, 0.010547f, -0.006195f, 0.004776f, 0.010920f, 0.011397f, 0.002133f, 0.003697f, - 0.009901f, -0.020927f, 0.002958f, 0.017544f, 0.012524f, -0.010947f, 0.014056f, -0.016505f, 0.009924f, -0.014456f, -0.008274f, -0.003206f, 0.015309f, -0.002439f, 0.016062f, 0.004510f, 0.003015f, 0.001648f, -0.001127f, 0.007420f, 0.009203f, 0.022522f, 0.002851f, 0.019570f, -0.009751f, 0.014558f, 0.017459f, 0.000340f, -0.003765f, -0.005564f, 0.006435f, -0.024765f, -0.002651f, 0.003522f, -0.010135f, -0.014244f, -0.001345f, 0.000086f, -0.002530f, 0.007836f, -0.016158f, 0.009095f, 0.006522f, 0.011187f, -0.025144f, 0.009787f, 0.005662f, -0.013336f, -0.001906f, 0.009433f, 0.018278f, -0.021782f, -0.002200f, 0.002688f, -0.025863f, -0.031346f, -0.025367f, -0.022605f, -0.000905f, 0.016250f, -0.033368f, 0.023891f, 0.015208f, -0.037115f, 0.023431f, 0.010227f, 0.007968f, 0.003976f, 0.003551f, 0.008745f, -0.005922f, -0.005783f, -0.012313f, -0.000032f, 0.014306f, 0.012468f, 0.007051f, -0.020895f, 0.014542f, -0.014805f, 0.000439f, -0.012948f, 0.016723f, -0.008394f, -0.006843f, 0.005741f, -0.024938f, 0.002999f, -0.008192f, -0.006948f, -0.002553f, 0.002354f, 0.024739f, -0.011005f, -0.003607f, -0.008729f, - 0.018897f, -0.010703f, -0.005922f, 0.006488f, 0.005870f, 0.006047f, 0.006897f, -0.006940f, 0.009338f, 0.003188f, -0.020165f, 0.029164f, 0.011622f, 0.005593f, 0.003397f, 0.000982f, -0.012627f, 0.017377f, 0.014119f, 0.007010f, 0.018779f, 0.003437f, 0.008753f, 0.019892f, 0.010186f, 0.005850f, -0.011448f, 0.017247f, -0.005259f, 0.031346f, -0.001481f, 0.004178f, -0.005711f, -0.025214f, 0.006350f, 0.019182f, 0.011663f, -0.001323f, -0.012384f, 0.030952f, 0.047077f, -0.005572f, -0.007576f, 0.023940f, 0.004704f, 0.008376f, 0.005189f, -0.033843f, 0.002814f, -0.021652f, 0.016855f, 0.026157f, -0.007735f, -0.011655f, 0.003090f, 0.016781f, -0.010794f, 0.020122f, -0.008791f, 0.038241f, -0.012175f, 0.007874f, -0.003052f, 0.010791f, 0.025567f, -0.009558f, 0.001360f, -0.001815f, 0.006433f, -0.009404f, -0.006165f, 0.015787f, 0.031479f, 0.003263f, 0.022619f, -0.008411f, 0.001809f, -0.004035f, 0.006461f, 0.018085f, 0.024619f, 0.020937f, 0.017747f, 0.020680f, 0.011023f, -0.003230f, 0.001279f, -0.002326f, -0.001416f, 0.004467f, -0.015150f, -0.003333f, 0.019018f, -0.018129f, 0.005153f, -0.007720f, - -0.007289f, -0.009203f, -0.040843f, 0.004740f, 0.017995f, 0.013606f, -0.007741f, -0.017677f, -0.047479f, -0.006611f, 0.014135f, -0.003184f, 0.002532f, -0.013142f, 0.004300f, -0.011197f, -0.034064f, -0.025111f, 0.002326f, 0.016561f, -0.015890f, -0.008592f, 0.000872f, -0.006838f, -0.050408f, -0.041437f, 0.017538f, 0.018278f, 0.002141f, 0.003706f, -0.019076f, 0.029529f, 0.033433f, 0.022444f, -0.018723f, 0.017810f, 0.021635f, -0.002264f, -0.029614f, -0.011658f, 0.038677f, -0.010477f, 0.003044f, 0.003723f, 0.021337f, -0.016524f, -0.032730f, 0.008260f, 0.013718f, -0.006450f, 0.008460f, 0.022016f, -0.010895f, -0.006495f, -0.001822f, -0.042994f, -0.013754f, 0.016769f, -0.009324f, -0.028189f, 0.004499f, 0.000754f, -0.010224f, 0.007481f, -0.003688f, -0.026541f, -0.024758f, -0.040488f, -0.034397f, 0.008243f, 0.013858f, 0.003139f, -0.010957f, -0.012246f, -0.000605f, -0.007729f, 0.008008f, -0.018279f, -0.000337f, -0.005106f, -0.006929f, -0.004679f, -0.002988f, 0.010232f, -0.010466f, -0.037937f, 0.004669f, -0.003089f, 0.008384f, 0.014144f, -0.001122f, 0.011260f, 0.007016f, 0.016110f, 0.051713f, 0.045940f, - 0.035852f, -0.003919f, 0.035010f, 0.011269f, 0.048868f, 0.020598f, -0.001201f, 0.059601f, -0.012683f, -0.003390f, -0.038360f, -0.010352f, -0.001087f, -0.027215f, 0.015729f, 0.023604f, -0.008192f, -0.000791f, -0.022052f, -0.037594f, -0.022350f, -0.028837f, -0.008755f, -0.017698f, -0.005921f, -0.003362f, 0.016411f, 0.003579f, -0.004156f, -0.016077f, -0.005937f, -0.011059f, 0.004729f, -0.000522f, -0.015882f, 0.007014f, 0.009295f, 0.002917f, -0.012519f, -0.016512f, 0.004283f, 0.013000f, -0.002915f, -0.001823f, -0.028115f, 0.047383f, 0.007218f, -0.010738f, -0.002331f, 0.002767f, 0.019834f, 0.016065f, -0.019414f, 0.008579f, -0.008279f, 0.000347f, -0.004235f, -0.006618f, -0.029039f, -0.026985f, -0.034567f, 0.002817f, -0.002610f, -0.009416f, 0.019733f, -0.009164f, 0.057944f, -0.008448f, -0.004350f, -0.017278f, -0.007543f, -0.034154f, -0.042312f, -0.027570f, 0.036054f, 0.023744f, -0.020296f, -0.026293f, 0.038534f, 0.019122f, -0.019959f, -0.033460f, -0.002365f, 0.002768f, 0.006164f, 0.001901f, -0.015290f, 0.016427f, -0.010672f, 0.034537f, -0.002933f, -0.028416f, 0.008897f, 0.007068f, 0.002654f, 0.000460f, - -0.008534f, -0.019251f, 0.002020f, 0.012711f, -0.006212f, 0.009149f, -0.015129f, -0.050836f, -0.036301f, 0.022692f, -0.027539f, 0.022366f, 0.010382f, 0.000660f, -0.007000f, 0.012259f, 0.007955f, -0.006020f, -0.003649f, 0.004615f, 0.018255f, -0.015481f, 0.044641f, -0.012486f, 0.017455f, -0.014488f, 0.007340f, -0.005556f, -0.012290f, 0.037624f, -0.027121f, 0.041132f, 0.002486f, -0.023474f, -0.028451f, 0.014695f, 0.010176f, 0.003456f, 0.006410f, 0.015625f, 0.016436f, 0.014027f, -0.028718f, -0.011992f, 0.005989f, -0.001242f, 0.013776f, -0.026974f, -0.006931f, -0.009560f, 0.000553f, -0.031806f, -0.004327f, 0.007464f, 0.075989f, 0.026501f, -0.017967f, 0.040353f, 0.035945f, -0.018127f, -0.025032f, 0.060252f, -0.006114f, 0.013956f, -0.035986f, 0.087316f, 0.002250f, -0.023280f, 0.011792f, 0.005244f, 0.041223f, 0.001656f, 0.052272f, -0.037145f, 0.000124f, -0.040655f, 0.002536f, 0.030191f, 0.000713f, -0.024534f, 0.035497f, 0.020264f, 0.010044f, 0.009659f, -0.013188f, -0.011209f, 0.002757f, -0.017068f, 0.023154f, -0.020114f, -0.028571f, 0.025799f, 0.008992f, -0.031636f, 0.017346f, 0.003123f, - -0.024024f, -0.012323f, -0.008180f, 0.013443f, -0.002990f, -0.013316f, 0.017302f, -0.020117f, -0.008393f, -0.006273f, 0.029220f, -0.018193f, 0.014269f, 0.023326f, 0.010677f, -0.012326f, -0.026774f, 0.018162f, -0.022643f, 0.032356f, -0.038809f, 0.053147f, -0.014352f, -0.006635f, -0.005962f, 0.024438f, 0.000188f, 0.009053f, 0.016715f, 0.008618f, 0.023465f, -0.020541f, -0.033410f, -0.001347f, -0.003588f, -0.046223f, -0.005437f, 0.041745f, -0.012026f, -0.026494f, 0.011861f, -0.012602f, -0.002016f, 0.018743f, -0.045403f, -0.027135f, 0.017880f, 0.023153f, 0.032254f, -0.002612f, -0.005822f, 0.012546f, -0.002869f, -0.045501f, -0.030687f, 0.052688f, -0.003818f, -0.046911f, -0.026792f, -0.019142f, -0.015180f, 0.003872f, 0.015813f, 0.000377f, -0.007572f, -0.023700f, -0.035310f, 0.004261f, 0.004907f, -0.001790f, 0.029208f, -0.020388f, -0.055511f, 0.021975f, 0.016553f, -0.065686f, 0.039005f, -0.011207f, -0.032685f, -0.027794f, -0.002291f, 0.036238f, 0.009002f, -0.013093f, -0.013264f, 0.009680f, 0.019596f, -0.028350f, 0.021103f, 0.002345f, 0.015577f, -0.012980f, -0.028368f, 0.024061f, 0.000203f, 0.027020f, - -0.087908f, 0.009734f, 0.013718f, -0.014629f, 0.024596f, 0.026627f, 0.083833f, 0.000367f, -0.055076f, -0.027750f, -0.014178f, -0.056322f, -0.052277f, -0.000368f, -0.028334f, -0.001949f, -0.000338f, -0.036957f, 0.004665f, 0.025126f, 0.019635f, -0.032642f, 0.059175f, 0.043720f, -0.020973f, 0.026728f, -0.050651f, -0.009459f, -0.018007f, 0.079005f, 0.048125f, -0.017007f, -0.031173f, -0.034732f, -0.009649f, 0.003544f, 0.012622f, 0.053532f, 0.009417f, 0.010366f, 0.009576f, 0.002986f, -0.018867f, 0.003668f, -0.004990f, 0.025581f, 0.030582f, 0.042664f, 0.024889f, 0.019079f, -0.005888f, -0.005855f, 0.004624f, 0.038964f, 0.003942f, 0.008432f, -0.039806f, -0.017324f, 0.061796f, 0.027883f, 0.017081f, 0.002521f, 0.036071f, 0.022570f, 0.078349f, -0.002276f, 0.080764f, 0.008260f, -0.028226f, 0.029392f, -0.025000f, -0.014142f, -0.005612f, -0.012516f, -0.001898f, 0.018468f, 0.030265f, 0.009075f, -0.010263f, -0.032817f, 0.008326f, 0.006985f, 0.020303f, -0.024117f, 0.003521f, -0.007559f, -0.000287f, -0.030445f, 0.013154f, -0.024857f, -0.010260f, -0.034167f, -0.068044f, 0.010237f, -0.020413f, -0.030904f, - 0.009435f, -0.035418f, -0.000036f, 0.043247f, 0.013586f, 0.036951f, -0.042431f, -0.019322f, 0.021067f, 0.004651f, 0.061184f, -0.030547f, 0.036753f, -0.013315f, -0.018062f, -0.044884f, -0.017200f, -0.023833f, 0.030955f, 0.007749f, -0.039889f, 0.051372f, -0.025570f, -0.023645f, 0.005616f, 0.020544f, -0.014054f, 0.035910f, -0.016178f, -0.023462f, -0.011662f, 0.012607f, -0.003321f, -0.005672f, 0.004831f, 0.036031f, -0.022581f, 0.065110f, -0.023655f, 0.000378f, 0.060525f, -0.010635f, 0.011768f, -0.079507f, 0.005005f, 0.015850f, -0.016751f, 0.037128f, -0.063277f, -0.077806f, 0.031789f, -0.012473f, 0.045648f, -0.031076f, -0.029066f, 0.005294f, -0.008200f, 0.069295f, -0.006117f, -0.001156f, 0.017253f, -0.060628f, 0.005943f, -0.061179f, -0.022809f, 0.005914f, 0.017927f, -0.076634f, -0.032158f, -0.007088f, -0.000196f, 0.028512f, -0.029266f, 0.044092f, -0.009970f, -0.046145f, 0.037068f, -0.032236f, -0.012922f, 0.034739f, 0.070284f, -0.018011f, 0.057037f, 0.024161f, 0.012483f, -0.025093f, 0.063420f, 0.013202f, 0.027934f, 0.005646f, -0.042092f, 0.016889f, -0.042300f, -0.036304f, 0.021131f, -0.036206f, - -0.011608f, -0.006522f, 0.036088f, 0.005895f, -0.016554f, 0.015223f, 0.014134f, -0.005708f, -0.040569f, -0.006364f, 0.025079f, 0.071465f, 0.012400f, -0.036755f, 0.000690f, -0.005338f, 0.012928f, 0.023072f, 0.031359f, -0.013520f, -0.002978f, 0.024609f, 0.001384f, 0.000613f, 0.042359f, 0.043495f, 0.045784f, 0.018752f, 0.037756f, 0.007179f, 0.020933f, -0.018374f, -0.007764f, 0.006709f, -0.043252f, 0.003908f, 0.061369f, -0.007600f, -0.018978f, 0.014364f, -0.005661f, 0.017911f, -0.044001f, 0.051715f, -0.037487f, -0.015165f, -0.013995f, 0.001407f, 0.000863f, 0.004547f, -0.062426f, 0.068451f, -0.021179f, -0.028900f, -0.014139f, 0.116010f, -0.005342f, 0.022027f, 0.000597f, -0.013607f, 0.004923f, -0.055878f, -0.021587f, -0.018199f, 0.022789f, 0.013631f, 0.028274f, 0.001608f, -0.026922f, 0.028569f, -0.022589f, 0.033176f, 0.027178f, -0.029350f, -0.028219f, 0.002216f, 0.044073f, -0.044693f, 0.019968f, 0.018678f, -0.022945f, 0.009750f, -0.001347f, 0.013882f, -0.000044f, -0.064456f, 0.037364f, 0.020578f, -0.051337f, 0.063090f, -0.032104f, -0.009342f, -0.019095f, 0.050753f, -0.008257f, -0.045236f, - 0.001985f, -0.000403f, 0.044991f, 0.042570f, 0.005046f, -0.034640f, 0.051100f, -0.008871f, 0.010893f, -0.062970f, 0.051162f, 0.019009f, 0.005337f, -0.036462f, -0.024495f, -0.004628f, 0.019554f, -0.029409f, -0.048460f, -0.022540f, 0.043195f, 0.024286f, -0.003006f, 0.064843f, 0.007100f, -0.011379f, -0.043816f, 0.057104f, -0.049876f, -0.018214f, 0.063625f, 0.017559f, 0.013296f, -0.024079f, 0.017038f, 0.052636f, -0.044819f, -0.000774f, -0.050404f, 0.047132f, 0.079541f, 0.033626f, 0.046336f, -0.069485f, -0.057515f, -0.049284f, 0.007076f, 0.081388f, -0.012859f, 0.028979f, 0.056926f, 0.025331f, -0.027269f, -0.000200f, 0.042401f, -0.053091f, -0.039893f, -0.038602f, 0.044435f, 0.027044f, -0.050630f, -0.077571f, 0.105695f, 0.061455f, -0.070083f, 0.031310f, -0.005357f, 0.028556f, 0.006540f, -0.023931f, -0.047450f, 0.044668f, 0.002245f, -0.039431f, -0.052819f, 0.012720f, 0.016918f, -0.015963f, 0.005353f, -0.006911f, -0.023852f, -0.013912f, -0.010527f, 0.024523f, -0.045144f, 0.052897f, -0.032831f, 0.000363f, 0.090505f, -0.084453f, -0.015107f, 0.076503f, 0.010821f, 0.016608f, -0.006233f, -0.026180f, - 0.030196f, -0.010843f, -0.028474f, 0.002654f, -0.072239f, 0.131354f, -0.006334f, -0.149047f, 0.062892f, 0.142681f, 0.093396f, -0.181899f, -0.043529f, 0.030383f, 0.022695f, -0.033068f, -0.027327f, -0.036189f, 0.007435f, 0.037414f, 0.084175f, -0.035099f, 0.026436f, -0.044631f, -0.121363f, 0.065115f, -0.031870f, -0.065240f, -0.047262f, -0.066851f, 0.030143f, 0.022346f, -0.092276f, 0.057741f, -0.033702f, -0.002555f, -0.003533f, -0.046713f, 0.033101f, 0.034944f, 0.028614f, -0.003747f, 0.038119f, 0.020481f, -0.027942f, 0.001127f, -0.054632f, -0.019948f, -0.049006f, -0.033339f, -0.005823f, 0.072381f, -0.065682f, -0.015184f, -0.017309f, -0.057673f, 0.028363f, -0.065022f, 0.028047f, 0.025403f, -0.047072f, 0.030496f, -0.073113f, 0.016320f, -0.064448f, 0.034899f, -0.027590f, -0.035366f, -0.038181f, -0.052767f, -0.018999f, 0.019559f, 0.035896f, -0.054412f, 0.026163f, 0.012553f, 0.044296f, 0.056721f, 0.029078f, -0.059675f, -0.032465f, -0.106751f, -0.033653f, -0.037689f, 0.023419f, -0.125494f, -0.032157f, -0.080373f, -0.017337f, 0.054826f, 0.050430f, 0.024709f, -0.000414f, 0.071164f, -0.022843f, 0.017862f, - 0.102886f, -0.059163f, 0.035829f, 0.052755f, -0.026721f, 0.008508f, 0.014420f, -0.001908f, 0.047712f, 0.006698f, 0.033374f, -0.044077f, -0.011033f, 0.045785f, 0.002657f, -0.061300f, 0.038006f, -0.022148f, -0.025464f, -0.021043f, -0.010693f, -0.020469f, 0.020535f, 0.038355f, 0.012645f, -0.002299f, -0.022327f, 0.033680f, -0.013927f, -0.044293f, 0.035124f, -0.077340f, -0.024471f, -0.013161f, -0.021829f, 0.049592f, 0.046526f, 0.093977f, -0.030535f, 0.042034f, -0.005328f, 0.020643f, 0.055599f, -0.001276f, 0.002617f, -0.036684f, -0.128473f, 0.064616f, 0.008380f, -0.057616f, -0.044697f, 0.008580f, 0.029400f, -0.003467f, -0.038423f, 0.020396f, -0.039099f, 0.049476f, 0.024051f, -0.019352f, -0.045732f, 0.087511f, 0.007698f, 0.005133f, -0.009212f, 0.011898f, 0.005529f, 0.002847f, -0.028687f, -0.063521f, 0.018812f, -0.012728f, -0.017595f, -0.063207f, -0.001795f, -0.007637f, 0.006688f, 0.118201f, 0.061366f, 0.118946f, -0.109770f, 0.008847f, 0.058155f, -0.022982f, 0.066143f, 0.125549f, 0.070011f, 0.003325f, -0.033286f, -0.035780f, 0.007281f, 0.054018f, 0.059334f, 0.012615f, 0.000595f, -0.087833f, - -0.017214f, 0.085234f, 0.029179f, -0.024666f, 0.048213f, -0.041075f, -0.055724f, -0.016213f, -0.003010f, 0.065738f, 0.087537f, 0.077253f, 0.030305f, -0.030927f, -0.045687f, -0.086897f, -0.084927f, 0.073933f, 0.032082f, 0.005398f, 0.116063f, 0.006258f, -0.034519f, -0.047912f, -0.047150f, 0.022569f, 0.050036f, 0.038438f, 0.076402f, 0.004590f, 0.055191f, -0.004370f, -0.009008f, 0.026734f, 0.051141f, 0.035988f, 0.032763f, -0.029651f, -0.010163f, -0.023640f, -0.050412f, -0.041996f, -0.073835f, -0.026089f, 0.020533f, -0.013535f, 0.054633f, 0.063620f, -0.000794f, -0.001202f, -0.026721f, -0.049908f, 0.009148f, 0.059830f, -0.005761f, -0.062688f, -0.123549f, 0.049193f, 0.200621f, 0.204945f, 0.172741f, 0.126082f, -0.077351f, -0.087251f, -0.095208f, -0.125685f, -0.193741f, -0.155065f, -0.135389f, 0.064278f, 0.146196f, 0.109821f, 0.234984f, 0.182732f, 0.095140f, -0.033197f, -0.062402f, -0.155804f, -0.122128f, -0.119892f, -0.023864f, -0.072565f, -0.059442f, 0.020322f, 0.034318f, 0.068809f, 0.068135f, 0.094016f, 0.092349f, 0.119771f, 0.070067f, 0.032968f, -0.015024f, -0.016602f, -0.049288f, -0.074528f, - -0.091667f, -0.111388f, -0.072686f, -0.137373f, -0.091220f, -0.066462f, 0.073878f, 0.138549f, 0.148050f, 0.104857f, 0.071973f, 0.111981f, 0.085895f, 0.108134f, 0.085177f, 0.034433f, -0.032835f, -0.172577f, -0.121056f, -0.121803f, -0.194141f, -0.117540f, -0.101528f, -0.096350f, 0.047000f, 0.117100f, 0.178948f, 0.151525f, 0.210577f, 0.192999f, 0.189073f, 0.142429f, -0.048636f, -0.037680f, -0.112274f, -0.148170f, -0.128450f, -0.021449f, -0.012368f} - }, - { - {-0.011821f, -0.009289f, 0.002235f, -0.005330f, 0.008560f, -0.008721f, 0.003563f, -0.015997f, -0.001212f, -0.006332f, -0.009951f, -0.008395f, -0.004922f, -0.000416f, -0.001885f, 0.010525f, -0.003240f, 0.002115f, -0.001371f, -0.000545f, -0.008767f, 0.010282f, 0.003148f, 0.001895f, 0.002729f, -0.002054f, -0.002282f, 0.002591f, 0.009847f, 0.004214f, -0.001937f, -0.000753f, -0.000286f, -0.002263f, 0.000206f, -0.001656f, -0.000913f, 0.000132f, 0.005559f, 0.000663f, -0.004346f, 0.003183f, -0.004656f, 0.013589f, -0.008261f, 0.001015f, -0.000142f, -0.010134f, -0.001549f, 0.004449f, -0.005701f, -0.002556f, -0.001859f, 0.006763f, -0.003683f, -0.002595f, -0.000416f, 0.000778f, 0.001455f, -0.001002f, -0.003304f, -0.007888f, 0.001485f, -0.004108f, -0.005891f, 0.001408f, 0.002223f, -0.000433f, 0.001597f, 0.003864f, 0.003939f, -0.000562f, 0.001468f, 0.000667f, 0.005101f, -0.005700f, -0.005621f, 0.005660f, 0.005951f, 0.011384f, -0.015779f, 0.002891f, 0.011378f, 0.019101f, -0.001546f, 0.010481f, 0.000114f, 0.009453f, 0.003017f, 0.014837f, 0.000263f, -0.005674f, 0.011002f, 0.014182f, 0.014631f, 0.007636f, - 0.002839f, -0.006396f, -0.003946f, 0.000716f, 0.007741f, -0.004329f, 0.003901f, 0.000194f, 0.008721f, -0.004644f, 0.000338f, 0.001329f, -0.009168f, -0.006373f, -0.002297f, -0.010887f, 0.003000f, -0.003602f, 0.000482f, -0.002125f, -0.007892f, 0.005835f, 0.010659f, -0.002849f, 0.001384f, 0.000155f, -0.001035f, 0.009920f, -0.012411f, -0.000839f, 0.005959f, 0.000626f, 0.002305f, -0.003951f, -0.010164f, -0.003599f, 0.004789f, 0.004080f, 0.006116f, -0.001869f, 0.000818f, -0.000847f, 0.002826f, -0.002779f, 0.011935f, -0.000676f, -0.000294f, -0.008428f, 0.001736f, -0.006404f, -0.003282f, 0.003223f, 0.005732f, 0.010206f, 0.001461f, 0.009584f, 0.012896f, 0.021006f, 0.002780f, 0.010485f, -0.003806f, 0.006255f, 0.008084f, -0.002426f, -0.006490f, 0.011065f, 0.018970f, -0.003640f, 0.002123f, 0.007422f, -0.009051f, 0.005746f, 0.008132f, -0.016474f, 0.004710f, 0.001729f, -0.003671f, 0.000120f, -0.017192f, 0.000829f, 0.004916f, -0.008073f, 0.001611f, 0.000432f, 0.011162f, 0.008049f, -0.004034f, -0.001022f, -0.000919f, -0.011585f, -0.007756f, 0.001469f, 0.004909f, 0.001249f, 0.005453f, -0.007570f, - 0.001368f, 0.004083f, 0.001016f, -0.006973f, -0.005028f, -0.001367f, 0.002759f, 0.006054f, 0.006296f, 0.004263f, 0.007330f, 0.007139f, -0.007379f, -0.002081f, 0.000681f, 0.010067f, -0.001083f, 0.007324f, -0.004165f, -0.004439f, -0.000984f, -0.008424f, -0.003505f, 0.002183f, 0.005736f, -0.007079f, 0.008026f, -0.001620f, -0.001403f, -0.000960f, -0.002059f, -0.003217f, 0.002602f, 0.006383f, 0.003481f, 0.010401f, -0.011014f, -0.002715f, -0.002016f, -0.006023f, 0.002154f, 0.012538f, 0.016802f, 0.010345f, -0.004714f, 0.007751f, -0.004898f, -0.002659f, -0.015100f, -0.011336f, 0.004899f, 0.011620f, 0.010607f, 0.011838f, 0.002153f, 0.000981f, 0.006698f, -0.009118f, 0.009120f, 0.008082f, 0.000294f, 0.006992f, 0.016615f, 0.011948f, 0.002820f, -0.011888f, -0.000078f, 0.004472f, 0.002203f, 0.002377f, -0.013861f, 0.003569f, 0.002017f, 0.009336f, 0.009451f, -0.002757f, 0.005898f, -0.004467f, -0.005832f, 0.007577f, 0.003610f, -0.012479f, -0.012647f, -0.004958f, -0.007333f, -0.004714f, -0.005939f, -0.014461f, -0.013952f, -0.000836f, 0.004307f, 0.000301f, -0.001970f, -0.009600f, 0.000764f, 0.012273f, - -0.003915f, -0.003325f, 0.003867f, 0.000419f, 0.007961f, 0.004782f, 0.003744f, -0.005033f, -0.007495f, 0.013291f, 0.005152f, -0.004484f, 0.007710f, -0.000404f, 0.005890f, -0.004676f, 0.000561f, -0.023734f, -0.013996f, -0.004360f, 0.004490f, -0.009770f, 0.002976f, -0.002657f, 0.006827f, -0.001634f, -0.013304f, -0.010548f, 0.009194f, 0.007562f, 0.019024f, 0.016840f, -0.002557f, 0.012198f, -0.018296f, -0.002931f, 0.014219f, 0.004336f, 0.003298f, -0.001819f, -0.005976f, -0.002725f, 0.001968f, -0.001563f, -0.000554f, 0.007273f, -0.008968f, 0.002085f, 0.003262f, -0.000123f, 0.005665f, -0.006063f, -0.005050f, 0.003371f, -0.003927f, 0.005187f, -0.010021f, 0.001800f, -0.006018f, -0.002218f, -0.006703f, -0.004853f, -0.007614f, -0.011115f, 0.006934f, 0.000131f, 0.011818f, -0.010818f, -0.009448f, 0.000176f, 0.002273f, -0.001014f, -0.002257f, 0.001100f, 0.007132f, 0.003768f, 0.001554f, -0.004448f, -0.004659f, -0.002187f, -0.008784f, 0.001951f, -0.002233f, 0.001680f, -0.000342f, -0.008722f, -0.000690f, 0.000205f, -0.009893f, 0.001516f, -0.001619f, 0.002912f, -0.001131f, -0.007970f, 0.008048f, -0.012487f, - 0.004950f, -0.013994f, -0.002701f, 0.000961f, -0.010754f, 0.010163f, 0.007324f, -0.020925f, -0.002383f, 0.003802f, -0.002204f, -0.009028f, -0.012673f, 0.002791f, -0.006514f, -0.010108f, -0.005369f, 0.006345f, 0.005152f, 0.015233f, 0.019243f, -0.001487f, 0.017156f, -0.010498f, 0.006557f, 0.007811f, -0.001871f, 0.007694f, -0.004625f, 0.000365f, -0.001479f, -0.003395f, -0.002218f, -0.003826f, 0.014181f, -0.000615f, -0.011214f, -0.002389f, 0.006899f, 0.004731f, 0.005429f, 0.001367f, -0.005474f, 0.010836f, 0.021236f, 0.001563f, 0.001757f, 0.001487f, -0.002048f, 0.003654f, -0.001900f, 0.012607f, -0.009915f, 0.012079f, 0.007744f, -0.007264f, 0.003392f, 0.007980f, 0.004814f, -0.008723f, -0.010220f, -0.018978f, -0.003599f, -0.001483f, 0.002030f, 0.007833f, -0.002185f, 0.005274f, -0.001927f, -0.004657f, -0.005238f, 0.010492f, -0.002065f, 0.011136f, -0.014188f, -0.000266f, 0.006067f, 0.001973f, 0.000720f, 0.007000f, 0.022276f, 0.025212f, -0.006305f, -0.001184f, 0.005796f, -0.004512f, 0.017036f, 0.015650f, -0.009940f, 0.015302f, 0.012847f, 0.004140f, 0.007551f, 0.005784f, 0.003573f, -0.002156f, - 0.001385f, 0.001362f, -0.008615f, -0.011597f, 0.003002f, -0.003863f, 0.000014f, 0.000989f, -0.009408f, 0.008710f, 0.019408f, -0.001544f, -0.011512f, 0.017907f, 0.002344f, -0.000430f, 0.007435f, -0.004362f, -0.005666f, 0.001664f, -0.007130f, 0.001713f, 0.019227f, 0.007099f, -0.000222f, 0.005689f, 0.010374f, 0.025965f, -0.004583f, 0.010448f, -0.002496f, -0.013175f, 0.007591f, -0.000690f, -0.004145f, 0.003903f, 0.016450f, 0.002774f, 0.002707f, -0.001816f, 0.006401f, 0.022450f, 0.010499f, 0.001299f, 0.002124f, 0.004549f, -0.007281f, 0.010443f, -0.003520f, -0.025825f, 0.002571f, -0.004652f, 0.014068f, 0.014699f, 0.007154f, 0.000381f, -0.027962f, -0.004400f, -0.011206f, -0.015699f, -0.002715f, -0.011512f, 0.001649f, 0.007826f, -0.012506f, 0.013050f, -0.029063f, 0.003195f, -0.007777f, -0.017203f, -0.020443f, 0.021475f, 0.012449f, 0.000367f, -0.017970f, -0.013609f, 0.008347f, -0.025953f, -0.016198f, 0.004838f, 0.006486f, 0.024207f, -0.002075f, 0.001048f, 0.019932f, -0.012188f, 0.019603f, 0.005264f, 0.007953f, -0.004626f, -0.009861f, -0.002333f, 0.016531f, -0.009293f, 0.002518f, 0.018207f, - -0.005807f, -0.006696f, -0.008096f, -0.012448f, -0.008670f, -0.008428f, -0.014332f, -0.002922f, 0.005861f, -0.006346f, 0.004601f, -0.006119f, -0.006779f, 0.009771f, -0.012713f, 0.007380f, -0.010652f, -0.015929f, 0.001834f, 0.011135f, 0.001882f, -0.004808f, 0.005904f, -0.011088f, -0.003986f, -0.015129f, -0.023798f, -0.013028f, 0.004441f, -0.008964f, 0.029164f, 0.009602f, -0.018861f, -0.011908f, -0.001765f, 0.031921f, 0.020074f, 0.021975f, -0.006744f, -0.030232f, -0.002905f, -0.015295f, 0.003463f, 0.007187f, 0.016007f, -0.007352f, 0.006749f, -0.012216f, 0.001666f, -0.010734f, -0.028966f, -0.014995f, 0.010409f, -0.010034f, -0.023058f, -0.020869f, -0.020222f, -0.030468f, 0.003342f, -0.010450f, -0.023949f, -0.020771f, 0.003211f, 0.030002f, -0.004461f, -0.004626f, -0.010416f, -0.017672f, 0.003218f, -0.006847f, 0.001474f, -0.022139f, 0.000937f, -0.023081f, 0.002768f, -0.001610f, 0.012068f, 0.010019f, 0.009963f, 0.005651f, -0.001380f, 0.008949f, -0.006232f, 0.017337f, 0.004311f, 0.008893f, 0.004695f, -0.005350f, 0.005593f, 0.017433f, -0.002735f, 0.009824f, -0.002930f, 0.027260f, 0.003001f, 0.010352f, - 0.000839f, -0.015004f, -0.012096f, 0.000691f, -0.005868f, 0.003644f, -0.004428f, 0.009106f, 0.007469f, 0.010570f, -0.005383f, 0.006136f, -0.021513f, 0.011406f, 0.029068f, -0.015209f, -0.044123f, -0.007275f, -0.015382f, -0.023173f, 0.012542f, -0.044254f, -0.005694f, -0.015678f, -0.008512f, 0.012906f, -0.014017f, 0.018875f, 0.016278f, 0.002724f, 0.014711f, 0.001461f, 0.007861f, -0.011363f, -0.020213f, -0.022238f, -0.012363f, -0.020340f, 0.016258f, 0.021272f, -0.000661f, -0.010792f, 0.006333f, 0.006364f, -0.007448f, 0.001876f, -0.034738f, -0.018182f, 0.016645f, -0.008553f, 0.000844f, 0.016410f, -0.001120f, 0.010341f, 0.008898f, -0.004086f, 0.010153f, 0.000397f, -0.018187f, 0.021353f, -0.014088f, 0.001591f, 0.001728f, -0.010848f, 0.008271f, 0.013083f, -0.006640f, 0.014904f, 0.002327f, -0.000317f, -0.012159f, 0.016865f, 0.000780f, -0.012044f, -0.003342f, -0.024973f, -0.009848f, -0.013723f, -0.000705f, 0.019103f, 0.006479f, -0.000316f, 0.001808f, -0.015241f, 0.005549f, 0.014775f, -0.014828f, 0.003208f, 0.028724f, -0.007781f, 0.006580f, 0.007536f, 0.077761f, 0.018371f, -0.011109f, -0.014856f, - -0.002315f, -0.004046f, 0.013168f, -0.002135f, 0.011038f, 0.023288f, -0.009704f, 0.002152f, -0.015439f, -0.009038f, 0.004078f, -0.001340f, 0.010818f, -0.020907f, -0.013524f, 0.011560f, 0.021498f, 0.015773f, -0.001242f, 0.006462f, -0.005940f, -0.012000f, 0.009093f, 0.018568f, 0.017633f, 0.023192f, -0.018529f, -0.002895f, -0.010782f, -0.021003f, -0.003206f, 0.002649f, -0.005251f, 0.011848f, 0.013313f, 0.001556f, 0.006462f, -0.002381f, -0.024055f, -0.011268f, -0.032053f, -0.030583f, -0.009559f, 0.012692f, -0.004792f, -0.012399f, 0.027123f, 0.012283f, -0.001038f, -0.023307f, -0.001020f, -0.005590f, -0.017960f, 0.002608f, -0.007991f, -0.009248f, -0.024736f, -0.000503f, -0.008704f, -0.024737f, 0.000783f, 0.024441f, -0.013199f, -0.003114f, 0.009214f, -0.007734f, 0.006663f, -0.006799f, 0.020127f, 0.000968f, -0.011636f, -0.015237f, 0.018510f, -0.063125f, -0.034675f, 0.032133f, -0.007796f, 0.001220f, -0.016347f, 0.013477f, -0.005167f, -0.024975f, 0.012260f, 0.032399f, 0.004973f, -0.030195f, 0.008905f, -0.007377f, -0.006038f, 0.018171f, 0.020542f, -0.003755f, -0.003464f, 0.040928f, 0.009954f, -0.007157f, - -0.025287f, 0.010296f, -0.036528f, -0.031647f, -0.027612f, 0.010208f, -0.004862f, -0.004228f, 0.024564f, 0.008387f, -0.024130f, -0.021763f, 0.005696f, 0.022548f, 0.008494f, -0.004048f, 0.001652f, 0.014543f, -0.011225f, -0.027285f, 0.034025f, -0.011349f, 0.003701f, 0.012196f, 0.002264f, 0.003199f, 0.034875f, -0.000917f, 0.022221f, -0.000559f, -0.023249f, 0.001771f, 0.004980f, -0.006474f, 0.004407f, 0.014121f, -0.011848f, -0.005329f, 0.003942f, -0.047857f, 0.012086f, 0.007522f, -0.000405f, 0.009066f, 0.008483f, -0.019177f, 0.008033f, 0.060992f, 0.027287f, 0.013199f, 0.005168f, 0.012817f, -0.045683f, -0.042635f, 0.030248f, 0.030489f, 0.011075f, 0.016444f, -0.010617f, 0.049240f, -0.004883f, 0.018286f, 0.014096f, -0.023895f, -0.008420f, -0.011431f, 0.030181f, -0.018053f, -0.004282f, 0.017610f, 0.016549f, -0.017706f, -0.003459f, -0.049844f, 0.010376f, -0.006097f, -0.013231f, 0.003641f, 0.002563f, 0.003044f, 0.005778f, 0.016092f, 0.001963f, 0.017711f, 0.003479f, 0.008396f, -0.003376f, -0.016302f, -0.015531f, 0.031352f, -0.009928f, -0.023395f, -0.017950f, -0.009126f, -0.009207f, 0.013484f, - 0.010035f, 0.010362f, 0.015568f, 0.004007f, -0.015864f, 0.009827f, -0.026812f, -0.009391f, -0.023187f, 0.017042f, -0.028281f, -0.021462f, -0.004638f, -0.009976f, 0.010720f, 0.020348f, -0.014179f, 0.019317f, 0.033219f, 0.015955f, 0.032150f, -0.012123f, 0.042575f, 0.004385f, 0.036507f, 0.020311f, 0.006627f, -0.017231f, -0.043431f, -0.029766f, -0.022313f, -0.012727f, -0.010301f, 0.023467f, 0.011646f, -0.013003f, 0.038953f, 0.004662f, -0.038390f, 0.047961f, 0.003032f, -0.020072f, 0.016688f, -0.038931f, -0.007640f, -0.024686f, -0.007913f, -0.004147f, -0.007762f, -0.017560f, 0.004910f, -0.033580f, -0.013165f, -0.011926f, -0.045741f, 0.005837f, -0.033164f, -0.023267f, -0.037181f, 0.007748f, -0.028031f, -0.008181f, -0.009249f, 0.000589f, 0.014213f, -0.011120f, 0.020008f, 0.001307f, 0.026548f, -0.005881f, 0.023142f, 0.029214f, -0.034544f, -0.000267f, 0.009563f, 0.021494f, 0.001115f, 0.025781f, 0.008890f, 0.024848f, -0.000136f, -0.018640f, -0.011401f, -0.001649f, 0.016445f, -0.003538f, -0.006769f, -0.001503f, 0.030173f, 0.018702f, -0.006296f, -0.024331f, 0.008979f, 0.013324f, 0.010439f, 0.026070f, - -0.034016f, -0.026142f, -0.006208f, 0.002180f, -0.008496f, -0.000124f, -0.008480f, -0.022466f, 0.063372f, -0.031071f, -0.033133f, 0.025531f, 0.017574f, 0.005861f, -0.009146f, -0.009436f, 0.030097f, 0.023872f, 0.035780f, -0.011156f, -0.009959f, -0.049289f, 0.057640f, 0.027928f, -0.078742f, -0.040550f, 0.024152f, 0.035860f, 0.034095f, -0.021195f, -0.018964f, 0.043462f, 0.009257f, 0.010975f, 0.028527f, 0.024982f, -0.043801f, 0.014567f, 0.017447f, -0.001817f, 0.019637f, 0.005362f, -0.006217f, 0.005712f, -0.014697f, 0.073469f, 0.018170f, 0.010969f, -0.002631f, -0.007239f, -0.005483f, -0.039081f, 0.007178f, 0.013766f, -0.010249f, -0.011532f, -0.066688f, -0.029637f, 0.013172f, 0.013508f, -0.022338f, -0.019123f, -0.003672f, -0.029272f, 0.012303f, 0.013944f, -0.005311f, 0.015517f, 0.025262f, 0.003817f, -0.002190f, -0.005690f, -0.014826f, -0.001736f, 0.001330f, -0.045676f, -0.007619f, 0.014658f, 0.028364f, -0.049191f, 0.010140f, 0.022715f, -0.006065f, -0.020528f, -0.024854f, 0.044695f, 0.035957f, 0.000255f, -0.029675f, -0.036627f, 0.023895f, -0.017772f, 0.007060f, -0.014913f, -0.011791f, 0.001504f, - 0.016477f, 0.030697f, -0.056973f, -0.076012f, -0.051581f, -0.068053f, 0.059361f, -0.039664f, 0.024404f, -0.007194f, -0.046517f, 0.007901f, -0.011991f, -0.018157f, -0.060616f, -0.056871f, -0.041176f, -0.016572f, 0.003104f, -0.033095f, -0.008519f, 0.008133f, 0.027420f, 0.001642f, -0.015526f, -0.000371f, -0.016657f, 0.024995f, -0.030993f, 0.043787f, 0.039054f, -0.009480f, -0.011121f, -0.052742f, -0.029552f, -0.032189f, 0.004849f, 0.006741f, -0.007515f, 0.042537f, 0.013233f, 0.034454f, 0.007885f, -0.004319f, -0.014696f, 0.031023f, 0.022625f, 0.009626f, -0.030289f, 0.016649f, -0.051950f, -0.006038f, -0.004535f, -0.035294f, -0.004680f, 0.000383f, 0.041697f, 0.026854f, 0.001955f, 0.018781f, 0.000499f, -0.039911f, 0.021716f, 0.005800f, 0.034883f, -0.018620f, -0.036583f, 0.023483f, -0.066380f, -0.074160f, -0.008223f, -0.046777f, 0.001750f, -0.034132f, 0.030964f, -0.024030f, -0.003883f, 0.007543f, 0.010807f, 0.039993f, 0.011805f, -0.016333f, 0.040678f, 0.014273f, -0.072478f, 0.013002f, -0.043968f, -0.001778f, 0.006945f, -0.004702f, 0.033988f, -0.009156f, 0.005200f, 0.010188f, 0.001907f, -0.021575f, - 0.034523f, -0.019388f, -0.003152f, -0.040480f, -0.001218f, 0.008381f, -0.007787f, -0.013398f, -0.020340f, -0.020526f, 0.052974f, 0.003468f, 0.026873f, -0.046919f, 0.004287f, 0.000691f, 0.015408f, 0.030071f, -0.034293f, 0.060182f, 0.083679f, -0.002596f, 0.007079f, -0.028340f, 0.012488f, 0.020986f, -0.017439f, 0.005453f, 0.014944f, 0.034108f, -0.002055f, 0.003096f, -0.011128f, -0.027526f, -0.043850f, 0.022946f, -0.032988f, -0.012692f, -0.021710f, 0.010144f, 0.028600f, 0.026597f, -0.005177f, 0.010111f, -0.057853f, 0.038536f, -0.005643f, 0.007813f, -0.013107f, 0.036492f, 0.094165f, 0.027529f, 0.068333f, 0.022448f, -0.072294f, 0.029302f, 0.019400f, -0.023436f, 0.004303f, 0.046805f, 0.001458f, 0.044808f, 0.038681f, -0.045644f, 0.024731f, -0.045673f, -0.031804f, -0.003956f, 0.092003f, 0.028899f, -0.042543f, 0.039906f, 0.024715f, -0.050625f, -0.023265f, -0.003102f, 0.051106f, 0.008045f, -0.048258f, -0.026322f, -0.002302f, -0.012628f, 0.027960f, 0.041918f, -0.015892f, 0.036909f, -0.024433f, -0.031500f, -0.002015f, 0.075644f, 0.006063f, -0.042876f, 0.023626f, -0.001679f, -0.005296f, 0.021424f, - -0.050092f, -0.042053f, -0.041315f, 0.029852f, -0.027449f, 0.009863f, 0.011449f, 0.045355f, 0.021133f, 0.046614f, 0.003770f, -0.001663f, 0.036553f, 0.069611f, 0.039976f, -0.068206f, 0.000215f, 0.006965f, -0.012805f, 0.013494f, 0.017856f, -0.052701f, -0.009032f, 0.010611f, 0.008332f, -0.063085f, -0.060099f, -0.033925f, -0.035465f, 0.061194f, -0.036839f, 0.027837f, -0.072741f, 0.052983f, 0.057397f, 0.017077f, 0.062611f, -0.063904f, -0.032448f, -0.016515f, -0.093924f, 0.053648f, 0.004643f, 0.033673f, 0.042201f, 0.043022f, 0.002688f, -0.000078f, 0.042031f, -0.005445f, -0.050967f, -0.051101f, 0.031326f, -0.057859f, 0.057450f, -0.015150f, 0.012350f, 0.058787f, 0.051384f, -0.024439f, 0.078442f, -0.043983f, 0.004919f, -0.045731f, 0.007547f, -0.014445f, 0.030912f, 0.012366f, -0.033643f, 0.032104f, 0.045947f, 0.069406f, -0.038824f, 0.016524f, 0.041597f, -0.054636f, 0.002932f, -0.020520f, -0.081801f, -0.032915f, 0.022461f, -0.042555f, 0.016718f, -0.035148f, -0.000140f, 0.058297f, -0.025337f, 0.026599f, 0.064906f, 0.048945f, 0.018413f, 0.088491f, -0.130493f, -0.020868f, 0.046054f, -0.000630f, - 0.028079f, -0.035901f, -0.068450f, 0.092468f, 0.002495f, -0.036922f, 0.023679f, 0.063230f, 0.143346f, 0.062746f, -0.025184f, 0.013250f, 0.007725f, 0.066864f, -0.058379f, -0.008424f, -0.026352f, -0.039202f, 0.058868f, -0.024615f, 0.076388f, -0.010146f, -0.053597f, 0.085170f, 0.130317f, -0.021038f, -0.037559f, -0.064366f, 0.017736f, 0.064715f, 0.016458f, -0.017161f, -0.038975f, 0.007086f, 0.013209f, -0.012294f, 0.013726f, -0.008999f, -0.017373f, -0.024164f, 0.022901f, 0.024743f, 0.001344f, 0.034478f, -0.032662f, 0.073909f, 0.061672f, 0.030285f, 0.000919f, 0.001349f, 0.014794f, -0.044053f, -0.031746f, -0.042866f, -0.016716f, -0.014247f, 0.028874f, 0.018182f, 0.046152f, -0.023773f, -0.000461f, -0.021572f, 0.052281f, 0.089045f, -0.016964f, -0.063630f, -0.033227f, -0.006480f, -0.075309f, 0.058658f, -0.103902f, 0.027309f, 0.052897f, 0.043240f, -0.040942f, 0.006387f, 0.056103f, -0.116217f, -0.043966f, 0.017531f, -0.001806f, -0.061291f, -0.037136f, -0.012177f, -0.010008f, 0.076930f, -0.046431f, 0.013003f, 0.074812f, 0.001023f, -0.023655f, 0.060213f, 0.045194f, -0.013963f, -0.038238f, -0.061017f, - 0.012649f, 0.116341f, 0.027070f, 0.059043f, -0.004060f, 0.004016f, -0.003521f, -0.015082f, 0.001239f, 0.004126f, 0.029724f, 0.008127f, -0.021588f, 0.018273f, -0.018729f, -0.023306f, -0.023605f, -0.000709f, 0.024878f, 0.003771f, 0.020164f, 0.018873f, 0.017673f, -0.017926f, -0.027837f, 0.007836f, -0.018854f, -0.051996f, -0.013586f, 0.009997f, -0.016216f, 0.057559f, -0.059503f, 0.048076f, -0.014237f, -0.001215f, 0.074969f, -0.013151f, -0.000405f, 0.094213f, -0.013056f, -0.040776f, 0.008802f, -0.035257f, -0.005744f, -0.033466f, 0.108778f, -0.032190f, 0.027865f, -0.027742f, -0.009243f, -0.016834f, 0.020214f, -0.029210f, -0.062746f, 0.026418f, -0.004438f, -0.075312f, 0.041550f, -0.021932f, 0.044648f, 0.088090f, -0.040448f, -0.004313f, 0.002540f, -0.016418f, -0.035326f, -0.026018f, -0.000010f, 0.122409f, 0.062075f, 0.128368f, -0.072053f, -0.018829f, 0.042241f, -0.040408f, 0.030469f, 0.131868f, 0.031058f, 0.018762f, -0.035202f, -0.033279f, 0.037485f, -0.020502f, 0.053099f, -0.009333f, -0.012735f, -0.016144f, -0.076538f, 0.017625f, 0.090719f, -0.048993f, 0.054537f, 0.047384f, -0.031709f, -0.010191f, - 0.037152f, -0.061652f, 0.029345f, -0.005320f, 0.044756f, 0.014410f, -0.039103f, -0.013413f, -0.077621f, -0.040443f, 0.034489f, 0.025601f, 0.057932f, 0.091199f, 0.008336f, -0.000064f, -0.081895f, -0.050653f, -0.049711f, -0.041197f, 0.019055f, -0.034592f, -0.011467f, -0.009507f, 0.021755f, -0.063402f, -0.012347f, 0.029452f, 0.013726f, 0.048075f, -0.009641f, -0.026832f, 0.047126f, -0.011955f, 0.027386f, -0.041800f, -0.027117f, -0.009384f, -0.017088f, 0.020897f, 0.031899f, 0.047487f, 0.009269f, -0.000510f, -0.041986f, -0.015534f, -0.026204f, 0.036988f, -0.035805f, -0.123567f, 0.001216f, 0.204683f, 0.180550f, 0.174039f, 0.070851f, -0.070460f, -0.102888f, -0.097684f, -0.091350f, -0.161897f, -0.119132f, -0.111811f, 0.086984f, 0.138860f, 0.109507f, 0.179972f, 0.145922f, 0.034225f, -0.008177f, -0.060313f, -0.124702f, -0.070532f, -0.130873f, -0.067204f, -0.044470f, 0.004063f, -0.018279f, 0.036020f, 0.054858f, 0.098217f, 0.058829f, 0.103132f, 0.075101f, 0.082830f, 0.005692f, -0.061073f, -0.029937f, 0.006380f, -0.071215f, -0.089593f, -0.122044f, -0.115549f, -0.084911f, -0.007356f, 0.059969f, 0.028366f, - 0.087293f, 0.066355f, 0.099727f, 0.093306f, 0.097020f, 0.116765f, 0.061337f, -0.002642f, -0.016061f, -0.066330f, -0.057072f, -0.189320f, -0.153931f, -0.118465f, -0.094695f, 0.019268f, -0.038538f, 0.011386f, 0.139271f, 0.174940f, 0.232987f, 0.153988f, 0.094754f, 0.071368f, 0.025433f, -0.070837f, -0.062369f, -0.099481f, -0.125293f, -0.075830f, -0.015180f, 0.002158f}, - {-0.010810f, -0.006811f, -0.000989f, -0.010200f, 0.009038f, -0.008200f, -0.009842f, 0.004319f, -0.002893f, -0.002232f, 0.002619f, -0.011627f, -0.002391f, 0.008406f, -0.005828f, -0.002075f, -0.009107f, 0.002601f, -0.006785f, -0.012347f, 0.005112f, 0.002238f, 0.004337f, -0.004922f, -0.005999f, 0.006689f, 0.001904f, 0.007574f, 0.007870f, -0.008489f, 0.007689f, -0.002331f, -0.002324f, 0.005349f, -0.001267f, 0.004841f, 0.008338f, 0.007809f, 0.001499f, 0.003256f, 0.003019f, -0.006985f, -0.003389f, -0.002675f, 0.001304f, 0.006007f, -0.011659f, -0.002812f, -0.000631f, -0.000836f, -0.005339f, 0.000862f, 0.004790f, -0.006163f, 0.004184f, -0.004878f, -0.011781f, 0.002388f, 0.002310f, 0.001453f, -0.004615f, -0.001428f, -0.003060f, 0.005490f, -0.001448f, -0.000283f, 0.000244f, 0.003818f, 0.001239f, 0.002341f, 0.003210f, -0.008379f, -0.004403f, 0.004322f, -0.001007f, -0.002042f, 0.002106f, -0.002408f, 0.008340f, 0.009250f, 0.005064f, -0.003652f, -0.013989f, -0.012945f, 0.004746f, 0.007354f, -0.002659f, 0.013777f, -0.002601f, 0.008205f, -0.009741f, -0.008699f, 0.003858f, 0.000308f, -0.002466f, 0.003622f, - 0.009049f, -0.003929f, 0.001332f, -0.005148f, -0.000420f, 0.000457f, 0.003767f, 0.003403f, 0.004701f, 0.000752f, 0.002841f, 0.010231f, -0.003847f, -0.004792f, -0.005064f, -0.009271f, 0.002779f, -0.001941f, 0.017081f, 0.003314f, -0.001159f, 0.001357f, 0.010416f, -0.000922f, -0.002116f, -0.002589f, -0.005904f, -0.001063f, 0.008053f, -0.001164f, 0.003428f, 0.008066f, -0.002360f, -0.000504f, -0.012714f, -0.007484f, -0.011571f, -0.002202f, -0.003231f, 0.001842f, 0.000832f, 0.001816f, 0.004395f, -0.002673f, 0.002250f, 0.000293f, 0.001288f, 0.001975f, -0.004000f, 0.004269f, -0.001055f, -0.004623f, -0.000211f, -0.004600f, -0.000944f, 0.000931f, 0.009658f, 0.022437f, 0.009002f, 0.005229f, 0.006364f, -0.013350f, -0.001457f, 0.005608f, -0.001696f, 0.002127f, -0.011987f, 0.011770f, 0.016190f, 0.002663f, 0.007284f, -0.003503f, -0.009333f, -0.014722f, -0.015899f, -0.010751f, 0.012769f, -0.012086f, -0.007511f, -0.010249f, 0.003339f, 0.008297f, 0.001682f, 0.001014f, 0.004799f, -0.000607f, 0.003065f, 0.010245f, -0.001367f, 0.008493f, -0.008128f, 0.007734f, 0.005569f, 0.004864f, -0.004238f, -0.013568f, - -0.002765f, 0.007537f, 0.004645f, -0.003904f, -0.000354f, 0.002503f, -0.000471f, -0.006638f, -0.001259f, 0.005327f, -0.001782f, 0.000439f, -0.003093f, -0.000885f, 0.000510f, 0.001654f, 0.009599f, 0.003777f, -0.004732f, 0.000624f, 0.000922f, -0.003422f, 0.001880f, -0.004901f, -0.000380f, 0.007467f, 0.002697f, 0.008393f, -0.005934f, -0.005541f, -0.002883f, -0.001635f, 0.004756f, 0.009482f, -0.005138f, -0.007429f, 0.009025f, 0.001366f, -0.003666f, 0.004103f, -0.000869f, 0.006591f, 0.002794f, -0.007439f, -0.007011f, -0.007976f, -0.001267f, -0.006522f, -0.013692f, -0.013056f, 0.013402f, -0.000339f, 0.002789f, -0.000152f, 0.008137f, -0.012163f, 0.017934f, 0.015913f, 0.000765f, 0.000783f, -0.000047f, 0.000401f, -0.001856f, 0.006176f, 0.004779f, 0.000310f, -0.010336f, 0.004345f, -0.003284f, 0.004826f, -0.001544f, 0.010806f, -0.002670f, -0.006459f, -0.003016f, -0.001829f, 0.003892f, -0.000191f, 0.006583f, -0.010961f, 0.005664f, 0.001754f, -0.006203f, 0.016905f, -0.002914f, -0.002589f, -0.000581f, -0.000421f, -0.004736f, -0.001613f, 0.008837f, 0.007281f, -0.016261f, -0.007711f, 0.007814f, 0.002158f, - -0.004160f, 0.013715f, 0.000137f, 0.002924f, 0.013276f, 0.005456f, 0.010286f, 0.002836f, -0.004647f, -0.005782f, -0.011352f, -0.010615f, 0.000801f, 0.005363f, 0.012431f, 0.000381f, -0.006629f, -0.018256f, -0.006335f, -0.008894f, 0.008300f, -0.006082f, 0.005396f, -0.006576f, -0.002694f, 0.015439f, 0.007572f, -0.010289f, 0.004694f, 0.014724f, 0.002171f, -0.005196f, -0.010351f, -0.012468f, -0.008527f, -0.012536f, 0.008306f, 0.001865f, 0.004568f, -0.002425f, -0.005670f, -0.005996f, -0.011032f, 0.000552f, -0.000357f, 0.002599f, -0.002708f, -0.010042f, 0.000138f, 0.010690f, -0.002403f, 0.000110f, -0.005371f, -0.010687f, -0.015840f, -0.001369f, 0.011335f, 0.004133f, 0.001141f, -0.005359f, 0.001393f, -0.008569f, -0.002881f, -0.006443f, 0.000738f, 0.001469f, -0.009854f, 0.011036f, -0.006308f, 0.014043f, 0.005188f, 0.001362f, -0.006500f, -0.003308f, 0.003459f, -0.000760f, 0.003250f, 0.007578f, 0.001354f, 0.003044f, -0.008525f, 0.004985f, -0.004400f, 0.012961f, 0.015733f, 0.007397f, 0.010481f, 0.005063f, -0.001891f, -0.011158f, -0.007463f, 0.000862f, 0.008149f, 0.007656f, 0.006170f, -0.014787f, - 0.002000f, -0.015809f, -0.000005f, 0.002344f, 0.001528f, 0.007030f, 0.000774f, 0.001056f, 0.027906f, -0.003565f, -0.012239f, -0.013339f, 0.014046f, 0.009294f, -0.010494f, 0.002471f, -0.011712f, -0.005127f, 0.000450f, 0.013233f, -0.016457f, 0.004724f, -0.000589f, 0.002537f, -0.001205f, 0.016809f, -0.008691f, 0.004663f, -0.002592f, -0.004589f, 0.002623f, -0.000932f, 0.005122f, -0.005303f, -0.004753f, -0.014445f, 0.002294f, -0.004898f, -0.003031f, 0.000976f, -0.005019f, 0.004050f, -0.008026f, -0.004989f, -0.014159f, -0.000630f, -0.012569f, -0.005542f, -0.014960f, 0.010902f, 0.002298f, -0.004866f, 0.009827f, -0.011660f, -0.000033f, -0.021985f, -0.001149f, 0.007119f, -0.000584f, 0.006003f, 0.013775f, -0.005313f, -0.001963f, 0.016694f, 0.007231f, 0.006013f, 0.010449f, -0.006221f, -0.016071f, -0.002642f, -0.009762f, 0.005736f, 0.015491f, -0.004590f, 0.003808f, -0.001871f, 0.007720f, 0.009018f, 0.003059f, -0.005244f, 0.003679f, 0.002437f, 0.016754f, -0.002478f, -0.003838f, -0.022758f, -0.006670f, 0.017264f, 0.016551f, 0.010863f, 0.008263f, 0.024517f, 0.001255f, -0.029158f, -0.007760f, -0.004830f, - -0.007362f, 0.015597f, -0.002772f, -0.005651f, 0.017834f, 0.002838f, -0.007823f, -0.002611f, 0.006893f, -0.006470f, -0.002920f, 0.002176f, -0.002715f, -0.010229f, -0.005030f, -0.000548f, -0.010272f, -0.004591f, -0.004593f, 0.006763f, -0.005106f, 0.013106f, 0.012339f, 0.001114f, 0.011681f, 0.008426f, -0.006105f, -0.002055f, -0.004812f, -0.019178f, 0.001475f, 0.003704f, -0.018765f, -0.002833f, -0.005878f, 0.006202f, 0.015683f, 0.002220f, -0.017622f, 0.002136f, -0.007421f, -0.011634f, 0.008065f, -0.003033f, -0.013174f, 0.005002f, 0.003277f, 0.012770f, -0.002593f, -0.002168f, 0.007956f, 0.010968f, 0.010488f, -0.013630f, 0.006289f, 0.011398f, -0.029639f, 0.012152f, -0.003035f, -0.007118f, -0.005932f, 0.004807f, -0.002651f, -0.018060f, -0.018708f, 0.001947f, 0.029588f, 0.007737f, -0.021295f, 0.004437f, 0.017574f, -0.012984f, 0.002349f, -0.003610f, 0.010475f, -0.000525f, 0.009647f, 0.025278f, 0.018766f, 0.011211f, -0.000454f, -0.002649f, -0.011948f, -0.013296f, 0.005007f, -0.033932f, -0.005376f, 0.015229f, 0.001641f, -0.002300f, -0.016142f, -0.006336f, -0.000875f, -0.001390f, -0.007996f, -0.017216f, - 0.018249f, -0.007122f, -0.004367f, -0.003739f, -0.015659f, -0.018004f, -0.000938f, -0.009223f, 0.000749f, 0.007338f, 0.005775f, 0.006038f, -0.014226f, -0.004493f, -0.007339f, -0.005262f, 0.021283f, -0.003362f, -0.010812f, -0.000395f, 0.027321f, -0.016203f, 0.003770f, 0.019511f, -0.000436f, -0.006084f, -0.011674f, 0.004901f, -0.000170f, 0.013422f, -0.009582f, 0.011004f, 0.008528f, 0.017809f, 0.007614f, 0.016739f, 0.025107f, 0.014630f, 0.002973f, -0.005716f, -0.008762f, -0.020897f, -0.005453f, 0.013103f, -0.027374f, -0.011830f, 0.025872f, -0.035557f, -0.005863f, 0.019277f, 0.025197f, -0.002911f, -0.024279f, 0.003070f, -0.008965f, 0.032807f, 0.015231f, -0.023123f, -0.014130f, -0.003837f, -0.013517f, -0.028988f, -0.013800f, -0.013029f, -0.009828f, -0.023510f, 0.012233f, 0.003840f, 0.014897f, -0.009106f, -0.003722f, -0.020675f, -0.001524f, -0.017958f, 0.002418f, -0.012002f, 0.003185f, 0.005990f, -0.026780f, -0.009174f, -0.009834f, -0.007435f, 0.006482f, 0.005687f, -0.008147f, 0.026836f, -0.001159f, -0.007169f, -0.004469f, 0.002508f, -0.005740f, -0.002304f, 0.010629f, 0.008494f, 0.011830f, 0.014765f, - 0.014644f, 0.001095f, 0.009816f, -0.004494f, 0.021657f, 0.022517f, -0.010682f, -0.005881f, 0.014494f, -0.000417f, -0.033372f, 0.001463f, -0.016384f, 0.010221f, 0.012205f, -0.018070f, -0.023761f, -0.010364f, -0.022989f, -0.030721f, 0.021468f, 0.003058f, 0.011626f, -0.016602f, -0.019035f, -0.024194f, -0.017824f, 0.008573f, -0.019462f, -0.015833f, 0.021815f, -0.004845f, 0.000162f, 0.006335f, 0.012061f, -0.009246f, -0.008577f, 0.004591f, -0.007063f, 0.004395f, -0.002100f, -0.010367f, -0.022420f, -0.032748f, 0.010130f, -0.023280f, -0.023114f, 0.002019f, -0.006834f, -0.000692f, -0.013474f, 0.006495f, 0.005367f, -0.026519f, -0.001655f, -0.005140f, -0.011799f, -0.014346f, 0.007557f, 0.002741f, 0.026246f, 0.004162f, -0.016512f, -0.000047f, 0.001360f, 0.012208f, 0.003511f, 0.025203f, -0.003335f, -0.025466f, 0.010015f, -0.004641f, 0.010597f, -0.014810f, 0.002065f, 0.009968f, -0.048131f, -0.021150f, 0.015024f, -0.000367f, -0.006557f, 0.008283f, -0.003981f, 0.030655f, -0.002697f, 0.019916f, 0.014542f, -0.022556f, -0.029378f, 0.003167f, -0.031957f, 0.015735f, 0.065740f, -0.016363f, -0.043632f, -0.004133f, - -0.018854f, 0.047416f, 0.004095f, 0.026528f, 0.014864f, -0.008374f, -0.020541f, -0.009479f, -0.022380f, -0.005894f, 0.032633f, -0.035637f, 0.002165f, -0.029020f, 0.008607f, 0.002563f, 0.014975f, 0.003479f, -0.013158f, -0.023360f, -0.026642f, -0.004817f, -0.026062f, -0.020788f, 0.004436f, 0.006676f, 0.021106f, -0.018320f, -0.038016f, -0.007694f, -0.012410f, 0.005257f, -0.017145f, -0.011802f, 0.006966f, -0.009103f, -0.014157f, -0.000304f, 0.003196f, -0.007130f, 0.039718f, -0.006910f, -0.004563f, 0.010621f, 0.011768f, -0.010233f, -0.002878f, 0.029389f, 0.025727f, 0.016819f, 0.031971f, 0.024710f, 0.002436f, 0.011303f, 0.019486f, -0.010873f, -0.009009f, 0.005345f, 0.015251f, 0.021868f, 0.011500f, 0.042482f, 0.008175f, 0.029553f, -0.003376f, -0.012539f, -0.005120f, 0.060524f, 0.015934f, -0.003080f, 0.000381f, -0.015002f, 0.014799f, -0.059750f, -0.018881f, 0.026347f, -0.004443f, -0.031692f, -0.025069f, -0.011658f, 0.033552f, 0.014196f, -0.022629f, 0.011478f, -0.030909f, -0.016073f, -0.001603f, -0.024290f, -0.027511f, 0.022747f, 0.016235f, -0.029069f, -0.006980f, 0.055051f, 0.015768f, -0.027823f, - -0.032557f, -0.001717f, 0.021274f, 0.000878f, 0.005677f, -0.042408f, 0.001273f, -0.006869f, -0.026322f, -0.019133f, -0.009133f, -0.025416f, -0.008422f, 0.004309f, 0.003414f, -0.026749f, -0.021799f, 0.000680f, 0.017863f, -0.002863f, 0.023097f, 0.031827f, -0.021505f, 0.018729f, 0.018716f, 0.004172f, 0.007346f, 0.023223f, 0.010831f, 0.013237f, 0.013489f, 0.011585f, -0.001964f, -0.005996f, 0.032485f, 0.043199f, 0.010680f, -0.013848f, 0.008789f, -0.009889f, -0.014260f, 0.025975f, -0.011007f, -0.028399f, -0.035667f, -0.017344f, -0.041967f, 0.018628f, -0.014728f, -0.012461f, 0.001531f, -0.011515f, -0.010879f, -0.025812f, 0.022000f, 0.012340f, -0.003318f, 0.013795f, 0.011138f, 0.029986f, 0.024019f, -0.050276f, -0.016045f, 0.054623f, -0.043103f, -0.013496f, -0.025959f, 0.038704f, 0.017927f, 0.017459f, 0.008026f, 0.005066f, 0.016128f, 0.041022f, 0.020231f, -0.019145f, -0.000018f, 0.000595f, -0.000838f, 0.015707f, 0.018897f, 0.001404f, 0.011299f, 0.009618f, -0.009291f, 0.012002f, 0.008048f, 0.024822f, -0.012126f, -0.025835f, -0.021062f, -0.017678f, 0.005147f, -0.003292f, 0.010068f, 0.009994f, - 0.011447f, 0.021460f, -0.009781f, 0.003460f, -0.009879f, -0.019134f, -0.007033f, 0.000372f, -0.020299f, 0.024474f, 0.031670f, -0.036049f, 0.011765f, -0.025643f, 0.019454f, -0.005921f, 0.007555f, -0.004833f, -0.019022f, -0.007083f, 0.021779f, -0.019827f, -0.005376f, 0.000779f, -0.035205f, -0.016938f, 0.007097f, -0.031276f, -0.002215f, 0.038243f, 0.021090f, -0.009620f, -0.010704f, 0.034437f, -0.002770f, -0.008145f, -0.028664f, 0.001104f, 0.002719f, -0.007874f, -0.000649f, -0.013501f, 0.004976f, -0.041424f, 0.037521f, -0.007848f, -0.013428f, -0.026351f, -0.029592f, -0.003340f, 0.035705f, -0.006828f, 0.009740f, -0.022518f, -0.013042f, -0.006558f, -0.021849f, -0.026444f, 0.023521f, -0.015134f, -0.012319f, 0.020675f, 0.020168f, -0.029493f, 0.009721f, 0.010498f, 0.024711f, 0.020265f, -0.008054f, -0.018899f, -0.012099f, -0.028776f, 0.030518f, 0.019870f, 0.009726f, 0.021574f, -0.023573f, 0.015111f, -0.004003f, 0.013785f, 0.015241f, -0.015658f, -0.001954f, 0.049914f, 0.041560f, -0.032695f, 0.011957f, 0.025586f, -0.021103f, 0.005584f, -0.048243f, 0.013494f, -0.026627f, 0.020483f, -0.015969f, -0.016962f, - -0.012770f, 0.055820f, 0.001909f, -0.016949f, 0.003573f, 0.018567f, 0.000926f, 0.011072f, -0.032143f, -0.003332f, 0.048658f, -0.000829f, -0.022325f, 0.007124f, -0.043339f, -0.022964f, -0.023448f, 0.019381f, -0.008844f, 0.029798f, 0.021297f, 0.038470f, -0.018213f, -0.003797f, -0.029929f, 0.024892f, 0.051120f, -0.017517f, -0.037210f, 0.001619f, -0.006114f, 0.058158f, -0.013016f, -0.025978f, 0.024876f, 0.010374f, 0.011479f, 0.020394f, 0.009572f, -0.078319f, 0.002095f, -0.007540f, 0.031457f, 0.050837f, -0.048578f, -0.000547f, 0.016900f, -0.026761f, -0.003119f, -0.071495f, -0.013815f, 0.032390f, -0.054893f, -0.036689f, -0.015636f, -0.025026f, 0.024334f, -0.016663f, -0.018448f, 0.027315f, 0.010959f, 0.007943f, 0.033010f, 0.000217f, -0.009036f, 0.018909f, 0.034551f, -0.035406f, -0.022058f, 0.045205f, 0.035324f, 0.007535f, 0.017272f, 0.007545f, -0.020201f, -0.035960f, 0.001773f, -0.004076f, -0.004663f, 0.005175f, -0.017271f, 0.008413f, -0.024541f, 0.005061f, 0.064380f, -0.035296f, -0.021201f, 0.026903f, 0.013548f, -0.019611f, 0.018140f, 0.016182f, 0.026699f, -0.061488f, -0.113271f, -0.052310f, - -0.007693f, 0.038665f, 0.003046f, 0.042674f, 0.039708f, -0.011787f, 0.006786f, -0.009488f, -0.021124f, -0.035298f, -0.020140f, -0.025393f, -0.014332f, 0.040723f, -0.051976f, -0.008855f, -0.043158f, -0.054050f, -0.008782f, -0.054521f, -0.043350f, 0.005788f, -0.010686f, -0.005923f, 0.010916f, 0.048592f, 0.004361f, -0.034486f, 0.003063f, -0.003709f, -0.009369f, -0.044877f, -0.001752f, 0.054615f, 0.006309f, -0.000388f, 0.023308f, 0.042571f, 0.029770f, 0.007904f, -0.015538f, 0.015210f, -0.012700f, -0.037966f, -0.068854f, 0.067737f, -0.006608f, 0.056498f, -0.002692f, 0.001237f, -0.017962f, -0.031896f, 0.061305f, -0.033145f, -0.024788f, -0.002537f, -0.040363f, -0.040221f, 0.036413f, 0.024634f, 0.015978f, -0.004531f, 0.020423f, -0.030437f, 0.015237f, -0.025393f, -0.030130f, -0.039506f, -0.024453f, -0.026985f, -0.045630f, 0.001422f, -0.043732f, -0.046723f, -0.010113f, -0.020337f, -0.055265f, -0.072036f, 0.006473f, -0.026109f, 0.011724f, -0.003482f, 0.025802f, 0.064093f, 0.001235f, 0.008280f, -0.033502f, -0.031973f, 0.026225f, 0.017550f, -0.024798f, 0.001941f, 0.016431f, -0.040298f, -0.034323f, -0.000467f, - 0.051493f, -0.044138f, -0.001334f, 0.002895f, 0.022650f, -0.037456f, 0.038947f, 0.023252f, 0.009633f, 0.000696f, -0.018998f, -0.043793f, -0.002430f, -0.009162f, 0.014499f, -0.022996f, -0.062413f, 0.051503f, -0.038398f, -0.014552f, -0.004531f, 0.050393f, -0.039065f, 0.018731f, -0.032456f, 0.020473f, -0.013054f, -0.043246f, 0.019397f, -0.055571f, -0.014670f, -0.014900f, 0.017853f, 0.048247f, -0.029223f, 0.018707f, 0.045234f, -0.036679f, 0.003987f, 0.012664f, 0.008737f, 0.015099f, -0.071800f, -0.019808f, -0.014647f, 0.025563f, 0.001681f, 0.000077f, 0.007599f, -0.013384f, 0.080247f, 0.009244f, 0.033445f, 0.094105f, -0.044285f, -0.023325f, -0.037172f, -0.012403f, 0.042220f, 0.004084f, 0.052214f, 0.015542f, -0.002468f, -0.018295f, 0.039422f, -0.023378f, 0.008636f, -0.015041f, 0.016094f, -0.024686f, 0.030093f, -0.013052f, -0.007383f, -0.015532f, 0.023175f, 0.017984f, -0.025932f, -0.004082f, 0.024529f, 0.009597f, -0.016593f, 0.003911f, -0.021267f, -0.067535f, 0.030377f, -0.034240f, -0.053649f, 0.035845f, 0.014896f, 0.038684f, -0.003152f, -0.032126f, -0.012812f, -0.006350f, 0.021214f, 0.031071f, - 0.031417f, 0.055082f, 0.051514f, -0.019136f, 0.007578f, -0.050334f, 0.001156f, -0.035446f, -0.069615f, -0.002807f, -0.056551f, 0.022936f, -0.044924f, -0.025537f, -0.029373f, -0.038055f, 0.005294f, -0.004999f, 0.004773f, -0.007264f, -0.004129f, 0.002140f, -0.072885f, 0.018174f, 0.012951f, 0.023702f, 0.037604f, 0.000432f, -0.056785f, 0.041573f, 0.001618f, -0.007411f, -0.004679f, 0.055450f, 0.110986f, -0.062219f, -0.045768f, -0.086802f, -0.168713f, -0.045062f, -0.015632f, 0.035436f, 0.025352f, -0.017640f, -0.030807f, 0.043846f, 0.059273f, 0.002010f, -0.000651f, -0.002663f, -0.043060f, -0.029647f, -0.029987f, -0.027669f, -0.045765f, -0.003793f, -0.010143f, -0.008968f, 0.034611f, -0.048091f, 0.037733f, 0.030377f, -0.008770f, 0.013959f, -0.000283f, -0.083235f, -0.055213f, -0.035263f, -0.027500f, -0.017013f, 0.007780f, 0.027024f, 0.011370f, 0.012705f, 0.078346f, 0.066105f, 0.017093f, -0.056102f, -0.025938f, -0.006468f, -0.025725f, -0.053706f, -0.122250f, -0.108042f, -0.045764f, -0.015839f, 0.005745f, 0.021983f, -0.084927f, -0.054498f, 0.044664f, 0.045810f, 0.061906f, -0.062281f, -0.068320f, 0.015712f, - -0.041896f, 0.094137f, -0.051553f, -0.013962f, -0.030727f, -0.025712f, 0.013238f, 0.018503f, -0.015447f, -0.055263f, 0.000754f, -0.025361f, -0.023328f, 0.023028f, 0.099007f, -0.031106f, 0.029826f, 0.001452f, -0.048528f, 0.009882f, -0.094848f, -0.017800f, 0.016522f, 0.004646f, -0.056612f, 0.034429f, 0.090200f, 0.068404f, -0.032264f, -0.055716f, -0.028318f, 0.009399f, 0.094786f, 0.016036f, -0.001035f, 0.003200f, 0.041843f, 0.049534f, 0.008559f, 0.038548f, 0.025230f, 0.057759f, -0.019455f, 0.009142f, 0.031180f, -0.029119f, -0.052724f, 0.030294f, 0.076509f, 0.020417f, 0.034857f, 0.006728f, 0.019657f, -0.104874f, 0.015514f, -0.001150f, 0.019774f, 0.108899f, 0.037931f, 0.017481f, -0.015429f, 0.050650f, -0.015944f, -0.018912f, 0.011423f, 0.032860f, 0.056687f, -0.016576f, 0.032849f, 0.010642f, 0.004571f, 0.028204f, 0.024966f, 0.002845f, -0.048217f, -0.021632f, 0.002101f, 0.083878f, 0.046409f, 0.046667f, 0.036779f, 0.042781f, -0.021592f, -0.094551f, -0.083717f, -0.131714f, -0.039593f, -0.015556f, 0.082616f, -0.002721f, -0.039821f, 0.010177f, -0.008414f, -0.031096f, -0.026652f, 0.005215f, - 0.042972f, 0.120220f, 0.052536f, 0.106579f, 0.054239f, 0.047571f, 0.043594f, -0.031163f, -0.027747f, -0.029844f, 0.011886f, 0.087253f, 0.026552f, -0.072434f, 0.029870f, -0.077946f, 0.037587f, -0.049421f, -0.012088f, -0.043426f, -0.048361f, -0.002236f, 0.004370f, -0.000745f, -0.060189f, 0.076072f, -0.017220f, 0.028438f, -0.075767f, 0.019538f, -0.019046f, -0.023134f, 0.036450f, -0.031847f, 0.074743f, 0.008513f, -0.032278f, 0.003321f, -0.024889f, -0.032159f, 0.019406f, -0.052830f, -0.013427f, 0.064352f, -0.016631f, 0.025625f, -0.006004f, -0.048609f, 0.049298f, -0.029403f, -0.110520f, 0.011792f, 0.005202f, -0.002287f, 0.008814f, -0.016976f, -0.024262f, -0.008448f, 0.045328f, -0.095416f, 0.051085f, -0.025071f, -0.016637f, 0.057124f, -0.040858f, 0.012987f, 0.021408f, -0.025140f, -0.045350f, 0.074078f, 0.068474f, 0.239865f, 0.096463f, -0.130651f, -0.061835f, -0.064082f, -0.100929f, 0.069811f, 0.214954f, 0.086076f, 0.040187f, -0.054362f, -0.015689f, -0.004017f, -0.003455f, 0.103039f, 0.069895f, 0.044616f, 0.154641f, -0.187167f, 0.010914f, 0.096817f, -0.024980f, 0.019267f, 0.100720f, 0.017047f, - -0.030775f, 0.054159f, -0.104609f, -0.207431f, -0.021570f, 0.019138f, -0.082070f, -0.010318f, 0.108399f, 0.017307f, 0.004136f, 0.040584f, -0.089886f, -0.179396f, -0.165245f, -0.075619f, 0.050730f, 0.103869f, 0.230870f, 0.056845f, -0.033487f, -0.031580f, -0.067326f, -0.142347f, -0.046789f, 0.099938f, 0.098456f, 0.105413f, 0.100334f, 0.063196f, 0.049221f, 0.012576f, 0.017622f, -0.093701f, -0.062522f, 0.009190f, 0.016874f, 0.041336f, 0.046845f, 0.133549f, 0.024827f, 0.074276f, -0.067746f, -0.060960f, -0.113595f, -0.031574f, -0.101335f, -0.030337f, -0.017932f, -0.168876f, -0.108813f, 0.063084f, 0.157281f, 0.188578f, 0.386010f, 0.238537f, 0.156610f, 0.142609f, 0.105489f, -0.020081f, -0.175348f, -0.186534f, -0.366127f, -0.384077f, -0.369630f, -0.234161f, -0.088894f, 0.077201f, 0.130377f, 0.227736f, 0.218279f, 0.155096f, 0.147727f, 0.196302f, 0.182768f, 0.167489f, 0.098581f, 0.069582f, 0.055219f, -0.014766f, -0.024982f, -0.232223f, -0.173334f, -0.209659f, -0.257117f, -0.112547f, -0.252446f, -0.202678f, -0.365410f, -0.317799f, -0.234369f, -0.158644f, -0.041070f, 0.165462f, 0.198463f, 0.167705f, - 0.175062f, 0.164033f, 0.314782f, 0.420574f, 0.368313f, 0.368331f, 0.316989f, 0.308045f, 0.217114f, 0.219710f, 0.019589f, -0.198398f, -0.384723f, -0.367764f, -0.538650f, -0.454921f, -0.650321f, -0.765442f, -0.691872f, -0.660337f, -0.425693f, -0.316882f, -0.023862f, 0.045248f, 0.198437f, 0.326576f, 0.541269f, 0.430700f, 0.647666f, 0.373119f, 0.059948f, -0.004552f} - }, - { - {0.028959f, -0.006870f, -0.003375f, -0.007745f, 0.000716f, -0.008862f, 0.000264f, 0.004151f, 0.002770f, -0.001291f, -0.005695f, 0.004395f, 0.006507f, 0.000378f, -0.003452f, -0.002837f, -0.002245f, -0.005481f, 0.002108f, 0.001239f, 0.001525f, 0.003855f, 0.007647f, 0.007502f, 0.001824f, 0.005909f, 0.003089f, -0.003230f, 0.001616f, 0.002575f, -0.000514f, 0.000930f, 0.000867f, -0.000832f, 0.003945f, -0.000259f, 0.007151f, 0.006219f, -0.006771f, 0.005167f, 0.001161f, 0.004229f, 0.000830f, -0.000682f, 0.000177f, 0.012845f, 0.000366f, 0.004223f, 0.001040f, 0.003630f, 0.005029f, 0.001014f, -0.003470f, 0.007507f, -0.009720f, -0.000838f, 0.002784f, 0.008117f, 0.002631f, -0.001232f, 0.006927f, -0.000753f, -0.005801f, 0.001895f, 0.001986f, 0.001326f, -0.001217f, 0.000797f, -0.000705f, -0.004356f, 0.001347f, -0.001782f, -0.002990f, 0.003374f, -0.005227f, 0.004424f, -0.009666f, -0.025763f, -0.002202f, -0.004082f, -0.003544f, 0.000429f, -0.004318f, 0.001659f, 0.002519f, 0.010628f, -0.003575f, -0.000365f, -0.009751f, 0.000784f, 0.009809f, 0.000752f, 0.007097f, -0.002017f, 0.002991f, -0.004017f, - -0.006136f, 0.000290f, 0.006764f, -0.000777f, -0.008407f, -0.000256f, 0.008211f, 0.002761f, -0.003457f, -0.002816f, -0.000335f, -0.001018f, -0.001855f, 0.000209f, -0.001321f, -0.002697f, -0.000292f, 0.001797f, 0.001215f, -0.000251f, -0.006351f, 0.009685f, 0.013106f, 0.000548f, 0.001604f, -0.005130f, -0.002897f, 0.001168f, -0.006703f, -0.007409f, 0.004612f, -0.005993f, 0.004563f, 0.005915f, 0.005862f, 0.002295f, -0.000761f, 0.001691f, 0.001314f, 0.004472f, -0.009251f, 0.000929f, -0.001104f, -0.006705f, -0.009123f, 0.000360f, 0.004683f, -0.003448f, -0.000437f, -0.001047f, -0.000647f, 0.006456f, 0.003139f, 0.000718f, 0.002280f, -0.002509f, -0.023296f, -0.005922f, 0.009540f, -0.001764f, -0.006939f, 0.002627f, -0.017193f, -0.007236f, -0.002202f, -0.003651f, -0.008734f, -0.010068f, 0.005514f, 0.007463f, 0.007168f, -0.009456f, -0.012872f, 0.000995f, -0.007405f, -0.014597f, 0.003546f, -0.001404f, 0.004306f, 0.015329f, -0.004904f, -0.002189f, -0.009698f, 0.013167f, 0.001359f, 0.006306f, 0.005013f, 0.010708f, 0.006005f, 0.002942f, -0.010867f, -0.001803f, -0.009976f, -0.003371f, 0.000718f, -0.004854f, - 0.003707f, 0.002357f, -0.004597f, -0.010076f, 0.006307f, 0.009358f, 0.003026f, -0.005295f, -0.007126f, -0.005136f, 0.002565f, -0.008855f, -0.010283f, -0.003570f, 0.005367f, -0.003490f, 0.002721f, 0.005985f, 0.004305f, -0.005506f, 0.009672f, 0.000235f, 0.008229f, -0.007446f, -0.005675f, -0.003967f, -0.003981f, 0.005023f, -0.003215f, -0.000333f, 0.009570f, 0.002740f, 0.000104f, -0.009845f, 0.002269f, -0.004407f, 0.006334f, -0.004681f, 0.005938f, 0.008562f, 0.003229f, -0.005115f, 0.003490f, -0.002331f, 0.002352f, 0.015941f, 0.009551f, -0.013230f, 0.008854f, -0.007232f, -0.003847f, -0.001823f, 0.000036f, 0.006824f, 0.000011f, 0.018587f, 0.005089f, -0.007009f, -0.004929f, -0.004523f, 0.012744f, 0.003140f, 0.012251f, 0.004185f, 0.008140f, 0.013150f, 0.014689f, 0.005769f, -0.002026f, -0.001445f, 0.001919f, -0.011975f, -0.011552f, 0.003625f, -0.008872f, 0.004875f, 0.001928f, -0.002835f, -0.001663f, 0.003572f, 0.012096f, -0.004058f, -0.004701f, -0.006392f, 0.015534f, -0.002113f, -0.020438f, -0.009897f, -0.008417f, -0.007194f, 0.007714f, 0.007997f, 0.006414f, 0.010517f, 0.004051f, 0.006642f, - -0.000895f, -0.000497f, -0.000927f, 0.010646f, 0.002746f, 0.006350f, -0.014582f, 0.001157f, -0.000090f, 0.001069f, 0.000147f, 0.006454f, 0.003422f, 0.002305f, -0.007585f, -0.005907f, 0.034471f, 0.008436f, 0.004709f, -0.003542f, -0.003081f, 0.004152f, 0.001816f, 0.010117f, 0.011752f, 0.000183f, 0.017608f, 0.008035f, -0.007077f, -0.005265f, -0.001102f, 0.009496f, -0.001670f, -0.003995f, 0.009019f, 0.002132f, 0.025678f, 0.007672f, 0.004570f, 0.001872f, -0.003183f, 0.002034f, 0.003341f, 0.005903f, -0.001838f, 0.000860f, 0.013477f, 0.002789f, 0.014899f, -0.006998f, -0.008122f, 0.005958f, 0.022691f, 0.007600f, 0.004984f, -0.001178f, -0.010755f, -0.003112f, 0.002492f, 0.001559f, -0.000902f, 0.001731f, -0.015004f, 0.001902f, -0.006989f, 0.006637f, 0.003825f, -0.004743f, 0.002590f, 0.005954f, 0.002657f, -0.005786f, -0.007650f, 0.002610f, 0.001689f, 0.001005f, -0.009669f, 0.003331f, -0.004272f, 0.006736f, -0.001673f, 0.002175f, 0.002713f, -0.000267f, 0.001020f, -0.002020f, -0.000111f, 0.021709f, 0.001067f, 0.008579f, -0.001306f, -0.004147f, 0.001196f, 0.002696f, -0.000442f, 0.004862f, - -0.007461f, -0.001669f, 0.008148f, -0.004330f, -0.011958f, -0.000434f, 0.020400f, -0.001770f, 0.016056f, 0.007715f, 0.022110f, 0.002229f, 0.002255f, 0.007533f, -0.005954f, -0.013502f, -0.016975f, 0.003574f, -0.008561f, 0.019692f, 0.011713f, 0.013749f, -0.002517f, -0.006466f, 0.001939f, 0.002646f, 0.006815f, 0.018316f, 0.002397f, 0.007272f, -0.008511f, 0.005394f, -0.006017f, 0.001931f, -0.003207f, 0.005543f, 0.010901f, 0.000756f, 0.010405f, 0.003056f, 0.005230f, -0.003758f, -0.002455f, 0.013022f, -0.003200f, -0.004291f, 0.010425f, -0.007098f, -0.000590f, 0.000581f, -0.004577f, -0.006990f, 0.004576f, -0.007919f, -0.001376f, -0.009881f, -0.018945f, -0.003199f, -0.002954f, -0.001627f, -0.019771f, -0.008697f, -0.006120f, -0.006334f, 0.007268f, 0.018093f, -0.005072f, 0.004902f, 0.010009f, -0.004161f, 0.001821f, 0.000471f, 0.001207f, -0.007899f, 0.008344f, -0.025888f, 0.002559f, 0.013355f, 0.007563f, -0.014696f, -0.000747f, 0.000290f, 0.003703f, 0.004857f, -0.000506f, -0.011547f, -0.010369f, 0.001250f, 0.018393f, 0.008186f, 0.011021f, 0.017782f, -0.012040f, 0.012558f, 0.024306f, -0.002657f, - 0.005681f, -0.014087f, 0.004936f, 0.004452f, -0.011449f, -0.006774f, -0.002287f, 0.005048f, -0.011589f, -0.016091f, 0.003206f, 0.001202f, -0.013165f, 0.000541f, 0.004426f, -0.003266f, 0.028680f, -0.002171f, -0.020000f, -0.001938f, 0.007149f, 0.015470f, 0.006080f, 0.006613f, -0.012792f, 0.002988f, 0.004227f, -0.012139f, -0.000631f, -0.002568f, 0.019893f, 0.011500f, -0.003185f, -0.007403f, -0.015238f, 0.005994f, 0.006213f, -0.009656f, -0.000257f, 0.003068f, 0.006033f, 0.005563f, -0.007782f, -0.000797f, -0.001699f, 0.018003f, -0.015610f, 0.001397f, -0.004090f, 0.016249f, -0.001236f, -0.004450f, -0.007034f, 0.001955f, -0.007164f, -0.016113f, 0.009381f, 0.009189f, 0.002794f, -0.006124f, 0.001503f, 0.004615f, 0.029608f, 0.020251f, 0.014586f, 0.021471f, 0.008233f, -0.001393f, 0.002721f, 0.008234f, -0.021503f, 0.011350f, 0.000057f, 0.012184f, -0.008808f, -0.003851f, -0.013922f, 0.004387f, 0.023897f, -0.023077f, -0.015182f, -0.024549f, 0.012517f, -0.005178f, 0.000621f, -0.010858f, 0.001312f, -0.003683f, -0.011567f, 0.004952f, 0.005472f, -0.017223f, -0.002542f, 0.003849f, -0.004017f, 0.010055f, - -0.025920f, -0.011862f, 0.026411f, 0.003330f, -0.000479f, -0.001922f, 0.000946f, -0.012723f, -0.014230f, 0.001577f, -0.020694f, -0.004038f, 0.002186f, 0.006336f, -0.008804f, -0.001261f, 0.025924f, -0.000851f, 0.009230f, 0.020002f, -0.017646f, -0.005367f, 0.004445f, 0.005391f, 0.003722f, -0.004629f, -0.012454f, 0.015466f, -0.001277f, -0.012849f, 0.010368f, -0.001787f, 0.002698f, 0.004219f, -0.007067f, -0.004703f, -0.003080f, -0.049047f, -0.028291f, 0.023133f, -0.009272f, -0.009854f, 0.013000f, 0.012578f, -0.021812f, -0.027914f, -0.009743f, -0.009444f, -0.011310f, -0.001098f, -0.020234f, -0.013356f, 0.006763f, 0.001684f, -0.026989f, -0.028337f, -0.016807f, -0.007056f, -0.001849f, 0.015996f, -0.001415f, -0.009906f, 0.007933f, -0.023315f, 0.000473f, -0.000051f, 0.000813f, 0.009633f, 0.004491f, -0.016608f, -0.013505f, 0.011840f, 0.003631f, 0.040841f, 0.009665f, -0.011945f, 0.001780f, 0.002575f, 0.000439f, 0.011784f, 0.002089f, 0.005729f, -0.003927f, -0.007312f, 0.002793f, -0.021349f, -0.003979f, -0.008454f, -0.011698f, 0.004153f, -0.017691f, 0.022700f, -0.002181f, 0.010451f, 0.015768f, 0.006156f, - 0.008795f, 0.000741f, -0.008878f, 0.001374f, -0.000148f, -0.010341f, 0.017201f, -0.004642f, 0.029854f, 0.001084f, 0.001357f, 0.003416f, -0.004774f, -0.013102f, 0.008211f, -0.009773f, 0.000393f, 0.018140f, 0.011870f, 0.035082f, -0.018829f, 0.015759f, 0.008972f, 0.011267f, -0.003507f, -0.021895f, 0.004574f, -0.007109f, -0.017068f, 0.036129f, -0.001010f, -0.012457f, -0.035809f, 0.021102f, 0.008026f, -0.002368f, -0.012384f, -0.018182f, 0.002026f, 0.036574f, 0.015941f, -0.003546f, -0.002250f, -0.018635f, -0.011942f, 0.009026f, 0.006452f, -0.015102f, -0.007609f, 0.011274f, 0.004856f, -0.002790f, 0.013048f, 0.015538f, 0.004262f, 0.021195f, 0.028122f, 0.013819f, -0.004719f, 0.003456f, 0.003600f, 0.001924f, 0.015329f, -0.022310f, 0.022202f, -0.004038f, -0.009182f, -0.018702f, 0.001484f, 0.010909f, 0.010951f, -0.021746f, 0.005533f, 0.012029f, 0.003687f, -0.016719f, -0.028151f, -0.030009f, 0.008502f, 0.008633f, 0.003437f, -0.013820f, 0.000084f, 0.017910f, -0.008330f, -0.019957f, -0.029615f, -0.000689f, 0.007750f, -0.027564f, 0.010580f, 0.018614f, -0.008579f, 0.012913f, 0.008159f, 0.043134f, - 0.030569f, 0.005257f, -0.007625f, -0.006197f, -0.004972f, -0.032016f, -0.011131f, -0.001898f, 0.020692f, -0.015579f, -0.006702f, -0.008139f, 0.001456f, 0.030571f, -0.023927f, -0.008344f, -0.000331f, 0.013429f, -0.004210f, -0.020193f, -0.029949f, 0.009319f, -0.020424f, -0.011571f, -0.012419f, -0.016257f, 0.005414f, -0.026100f, -0.010930f, 0.019582f, 0.032995f, -0.000475f, -0.019384f, -0.019961f, 0.030417f, -0.005360f, -0.015397f, 0.028906f, 0.001610f, -0.000233f, 0.001915f, -0.035996f, 0.014322f, -0.014773f, 0.012813f, 0.009056f, -0.022505f, -0.004875f, -0.022881f, 0.006622f, -0.022223f, -0.006360f, 0.009809f, 0.010267f, -0.007268f, 0.005140f, -0.027201f, 0.016122f, -0.001953f, 0.010021f, 0.010946f, 0.004850f, -0.006015f, -0.008839f, 0.027378f, -0.022141f, 0.013578f, -0.008015f, -0.023295f, -0.017574f, -0.001490f, 0.020914f, -0.013701f, 0.007804f, 0.004983f, -0.010543f, 0.011465f, -0.002816f, -0.005679f, 0.018644f, 0.001964f, -0.010303f, -0.027818f, -0.000258f, -0.035769f, 0.007068f, 0.001600f, 0.017926f, -0.015207f, -0.002178f, 0.007382f, 0.008483f, 0.008239f, -0.022198f, 0.031271f, 0.024325f, - 0.002663f, 0.018221f, -0.009440f, -0.032152f, 0.006109f, -0.013014f, -0.017256f, 0.016501f, 0.036300f, 0.007536f, -0.012341f, -0.012974f, -0.032435f, 0.000874f, -0.000507f, 0.047760f, -0.020472f, 0.000009f, -0.000626f, -0.000715f, -0.030395f, -0.031260f, 0.023131f, 0.001640f, 0.012151f, -0.003499f, -0.038464f, -0.020261f, 0.000524f, -0.005516f, -0.010101f, -0.009834f, 0.021136f, -0.004543f, 0.012738f, -0.016178f, 0.030222f, -0.038573f, 0.016395f, 0.020527f, 0.009017f, 0.010970f, 0.006558f, 0.031062f, 0.012424f, -0.002021f, 0.002915f, 0.000436f, 0.026468f, 0.045957f, -0.009677f, 0.003937f, -0.018456f, 0.019699f, 0.024710f, -0.019499f, -0.002013f, -0.039201f, -0.005006f, -0.049929f, -0.024570f, 0.018732f, -0.019443f, -0.044438f, 0.004813f, -0.024233f, 0.001850f, 0.000261f, -0.027318f, -0.027272f, 0.012872f, 0.025247f, 0.008595f, -0.030513f, 0.015177f, -0.034233f, -0.010984f, -0.012902f, 0.011421f, -0.014311f, -0.005442f, 0.015791f, 0.003664f, -0.011498f, -0.023108f, 0.025062f, 0.025581f, 0.031708f, 0.005124f, -0.003874f, 0.002088f, 0.009994f, -0.001455f, 0.012900f, -0.013476f, 0.017073f, - -0.005806f, 0.019736f, 0.016976f, 0.011886f, -0.004761f, 0.000738f, -0.029934f, 0.010495f, -0.006750f, 0.023296f, 0.005296f, -0.054099f, 0.009386f, 0.026795f, 0.036977f, -0.020490f, -0.027133f, 0.033994f, 0.016412f, 0.024039f, -0.041215f, 0.021288f, 0.054015f, 0.056235f, 0.004596f, 0.001893f, 0.032743f, -0.021276f, -0.028329f, 0.019586f, -0.031583f, 0.013193f, -0.014483f, -0.011462f, -0.006965f, -0.068080f, -0.040991f, -0.030933f, -0.007946f, -0.029945f, -0.054753f, 0.041641f, 0.005388f, 0.013364f, -0.006292f, 0.029217f, 0.001720f, -0.026643f, 0.020812f, 0.007167f, -0.008193f, -0.016450f, -0.011254f, 0.002903f, 0.008173f, 0.025772f, -0.014300f, 0.020027f, 0.007574f, 0.037147f, -0.053734f, -0.015585f, -0.007766f, 0.006114f, 0.023193f, 0.031444f, 0.008235f, -0.027195f, 0.018628f, 0.024553f, 0.022308f, -0.006895f, 0.008347f, 0.000649f, -0.008112f, -0.004559f, 0.002405f, 0.007365f, 0.003810f, 0.017961f, 0.003938f, -0.024595f, 0.023007f, -0.025452f, -0.030627f, 0.004076f, 0.023517f, -0.011839f, -0.007386f, 0.007504f, 0.011838f, 0.018870f, -0.010472f, 0.008611f, 0.044929f, -0.018284f, - -0.046382f, -0.061466f, -0.030198f, -0.041751f, 0.019253f, 0.035425f, 0.023322f, 0.008485f, 0.021838f, 0.012543f, 0.023934f, -0.020321f, 0.026789f, 0.014270f, 0.010398f, 0.028537f, 0.035170f, -0.011158f, 0.055715f, 0.005421f, 0.008747f, -0.011512f, 0.020263f, -0.063669f, -0.028098f, -0.043475f, -0.044902f, 0.017959f, -0.039157f, 0.038694f, 0.044006f, 0.002066f, 0.009642f, -0.006605f, 0.008178f, -0.041519f, 0.017300f, 0.046317f, -0.026093f, -0.053474f, 0.007314f, -0.019974f, -0.016878f, -0.052130f, 0.009334f, 0.019463f, 0.000090f, -0.006857f, 0.017164f, -0.029601f, -0.004616f, 0.019692f, -0.010320f, -0.026188f, 0.003633f, -0.012927f, 0.027824f, -0.017835f, -0.009547f, 0.025911f, 0.022789f, 0.047599f, 0.006879f, 0.011716f, -0.003682f, 0.012994f, 0.017584f, 0.029509f, -0.007619f, -0.000686f, -0.017280f, 0.038810f, -0.047618f, 0.052436f, 0.002942f, -0.020617f, 0.025666f, -0.018831f, -0.012624f, 0.048094f, -0.067795f, 0.011292f, -0.012887f, 0.013413f, -0.024878f, 0.012608f, 0.029882f, -0.014878f, 0.000369f, -0.008430f, -0.007739f, -0.008134f, 0.056384f, -0.061830f, -0.010448f, 0.068353f, - -0.027192f, -0.043339f, 0.004702f, -0.016753f, -0.013948f, -0.024613f, -0.029626f, 0.037565f, 0.016959f, 0.001918f, 0.018459f, 0.044604f, 0.027253f, -0.003575f, 0.009818f, 0.029844f, 0.039319f, -0.034809f, 0.016682f, 0.031935f, 0.014753f, 0.011425f, 0.045352f, 0.021103f, 0.010011f, -0.001780f, 0.020811f, -0.002654f, 0.023474f, 0.018406f, 0.011030f, -0.021301f, 0.040286f, -0.032853f, -0.003278f, 0.049125f, 0.049729f, -0.011980f, -0.042533f, 0.016013f, 0.000202f, 0.042150f, 0.073946f, 0.016049f, -0.010259f, 0.004915f, -0.040944f, -0.005178f, -0.010061f, -0.009212f, 0.001906f, 0.037106f, -0.014875f, 0.016264f, 0.046045f, 0.007510f, -0.040230f, 0.027385f, -0.000768f, 0.017435f, 0.043607f, 0.059372f, -0.015157f, -0.015670f, -0.003345f, -0.046888f, -0.066897f, 0.002089f, -0.029095f, -0.004770f, -0.035369f, -0.003476f, 0.004389f, 0.005773f, 0.032422f, 0.000005f, -0.011530f, 0.046906f, -0.087624f, 0.048397f, -0.037125f, -0.085624f, -0.025858f, -0.021280f, -0.003433f, -0.019443f, 0.010058f, -0.023386f, -0.053673f, -0.031782f, -0.016319f, -0.004450f, 0.005724f, -0.021524f, 0.021059f, 0.042182f, - 0.001157f, -0.002199f, 0.011048f, 0.002996f, -0.008199f, -0.015070f, -0.009161f, 0.011735f, 0.011986f, -0.003269f, 0.011361f, 0.051742f, 0.013660f, -0.014559f, -0.051382f, -0.007688f, 0.035445f, -0.043345f, -0.021129f, -0.016243f, -0.000047f, -0.002914f, 0.027006f, -0.008692f, 0.002651f, 0.038432f, 0.012861f, 0.042575f, -0.006711f, -0.019532f, -0.009991f, -0.010466f, -0.011870f, 0.020668f, 0.001173f, 0.014040f, 0.024552f, -0.044977f, 0.005340f, -0.011802f, -0.029618f, -0.021148f, 0.042459f, 0.031779f, -0.000375f, -0.021754f, 0.006584f, 0.018258f, -0.000901f, 0.012228f, -0.033876f, -0.076103f, -0.039300f, -0.029227f, 0.021218f, -0.000202f, -0.013075f, 0.025651f, -0.034890f, 0.041851f, -0.003788f, -0.064989f, 0.012880f, -0.031110f, -0.007021f, -0.004309f, -0.008242f, -0.041254f, 0.012608f, 0.002585f, 0.032517f, -0.070863f, 0.000635f, 0.035509f, 0.003704f, -0.016548f, -0.036592f, -0.002461f, 0.020139f, 0.031083f, -0.026093f, -0.008804f, 0.016051f, 0.035435f, 0.031535f, -0.030723f, -0.006892f, -0.049995f, 0.022840f, 0.025711f, 0.015210f, -0.014133f, -0.004514f, -0.013520f, -0.005929f, -0.016634f, - 0.004245f, 0.036715f, -0.014173f, -0.014404f, -0.013165f, -0.020804f, 0.041011f, 0.035675f, -0.004070f, 0.050205f, -0.002851f, 0.017675f, -0.045003f, 0.036192f, 0.015694f, -0.050401f, -0.016664f, 0.056721f, 0.023286f, 0.014848f, 0.010744f, -0.027770f, -0.021539f, -0.029920f, 0.049504f, -0.027007f, 0.038356f, 0.038110f, -0.044885f, 0.102229f, -0.021803f, 0.061995f, 0.003912f, -0.018307f, -0.025899f, 0.043164f, 0.022796f, -0.048391f, -0.006791f, 0.025070f, 0.042761f, 0.003520f, -0.036223f, 0.017303f, -0.069823f, -0.018651f, -0.063554f, -0.087631f, 0.002476f, -0.033930f, 0.010637f, -0.006903f, -0.014399f, -0.033760f, -0.023668f, 0.018938f, 0.051713f, -0.044540f, -0.010410f, -0.076327f, -0.067423f, 0.017400f, 0.025366f, -0.042465f, -0.044739f, 0.001644f, 0.008191f, -0.071369f, 0.002195f, 0.000207f, 0.034812f, -0.032907f, -0.000399f, 0.028718f, -0.021611f, -0.038171f, -0.042916f, -0.021514f, -0.039450f, -0.032437f, -0.041227f, 0.052463f, -0.071714f, -0.045096f, 0.059985f, -0.004314f, 0.014875f, -0.054876f, -0.012106f, -0.017573f, -0.001746f, 0.085461f, -0.015822f, -0.004732f, 0.005222f, 0.038148f, - -0.002728f, -0.042534f, -0.021220f, -0.031886f, 0.005406f, 0.101632f, 0.016237f, -0.041559f, 0.075093f, 0.052772f, -0.055784f, 0.054065f, 0.092542f, -0.005108f, -0.042808f, 0.059305f, -0.015989f, 0.060987f, 0.059884f, 0.045173f, -0.120837f, -0.079332f, -0.077012f, -0.031752f, -0.049852f, 0.063270f, 0.029762f, 0.051210f, -0.003818f, -0.110457f, -0.011841f, 0.013402f, 0.077756f, -0.006867f, 0.021530f, 0.063518f, -0.020631f, -0.052497f, 0.009575f, -0.006989f, 0.089707f, 0.051672f, -0.023113f, -0.042266f, 0.095087f, 0.002750f, 0.049973f, 0.018233f, 0.089101f, 0.069305f, 0.060985f, 0.002446f, -0.042748f, -0.029376f, -0.031476f, 0.067039f, -0.028917f, -0.051544f, -0.021322f, -0.000778f, 0.002973f, 0.027864f, -0.025600f, 0.007947f, -0.138165f, 0.012870f, 0.027304f, 0.020393f, -0.054794f, -0.058633f, 0.022248f, 0.047397f, -0.056647f, 0.021080f, -0.029941f, -0.030336f, -0.036263f, -0.006593f, 0.049321f, -0.032292f, 0.053710f, -0.015010f, 0.024338f, -0.091881f, -0.051969f, -0.004712f, 0.052935f, 0.030893f, -0.059380f, -0.072012f, -0.026820f, 0.005026f, 0.080199f, 0.029947f, -0.000176f, -0.048795f, - -0.011041f, 0.021357f, 0.162609f, 0.015664f, -0.085337f, -0.194762f, -0.016524f, 0.114604f, 0.030109f, 0.049802f, -0.004059f, 0.069706f, -0.010446f, 0.030570f, -0.014810f, 0.039570f, 0.057506f, 0.029846f, -0.025508f, -0.063989f, 0.077168f, 0.085848f, -0.017425f, -0.084457f, -0.049653f, 0.009322f, 0.051444f, 0.016992f, 0.019889f, 0.003854f, 0.014930f, 0.006516f, 0.014939f, -0.015683f, -0.095652f, 0.000565f, 0.063460f, 0.047994f, -0.016466f, 0.006181f, 0.040400f, 0.083492f, 0.053460f, 0.041956f, -0.044900f, -0.031680f, -0.004720f, -0.006656f, -0.069502f, 0.054327f, 0.034709f, 0.056601f, 0.114187f, -0.053581f, -0.031886f, -0.001730f, -0.025817f, -0.022729f, -0.043100f, 0.089411f, -0.046398f, -0.051219f, -0.051646f, -0.014877f, 0.115152f, 0.033658f, 0.049164f, 0.004260f, -0.001805f, -0.017594f, 0.075839f, 0.063762f, -0.019052f, -0.052566f, 0.031946f, 0.006243f, 0.002207f, -0.052205f, 0.009806f, 0.118479f, 0.101176f, 0.009481f, 0.013052f, -0.072755f, -0.123896f, -0.118869f, -0.049654f, 0.087788f, 0.107810f, 0.100463f, 0.064620f, -0.020750f, -0.061240f, -0.067417f, -0.034688f, 0.021450f, - 0.047543f, 0.067249f, 0.012958f, -0.060137f, -0.040178f, -0.015222f, -0.040162f, -0.026737f, 0.016807f, 0.069967f, 0.113634f, 0.064339f, 0.039871f, 0.025426f, -0.060046f, -0.012822f, -0.127616f, -0.155450f, -0.087089f, -0.050270f, -0.033957f, 0.065580f, 0.117851f, 0.117431f, 0.118248f, 0.090927f, 0.047611f, 0.001685f, -0.038038f, -0.017479f, -0.066030f, -0.136761f, -0.002246f, 0.007551f, 0.021813f, 0.039066f, 0.035433f, 0.039686f, -0.138171f, -0.085587f, -0.042773f, -0.090485f, -0.025805f, 0.058526f, -0.026752f, 0.037719f, 0.017622f, -0.044170f, 0.043971f, -0.037994f, 0.048789f, 0.035492f, -0.016971f, -0.069935f, -0.114981f, -0.134720f, -0.074341f, 0.020298f, -0.220044f, -0.114341f, -0.056552f, 0.074510f, 0.020495f, 0.285238f, 0.295774f, 0.221045f, 0.289076f, 0.299800f, 0.276048f, 0.196637f, 0.182261f, 0.198621f, 0.084320f, -0.008397f, -0.114272f, -0.183570f, -0.251308f, -0.247185f, -0.366689f, -0.222553f, -0.138935f, -0.111944f, -0.157357f, -0.081709f, -0.013457f, -0.118403f, -0.085835f, -0.095188f, -0.010899f, -0.053450f, -0.008755f, -0.074586f, -0.028274f, 0.059511f, 0.066725f, 0.025870f, - 0.000750f, 0.065530f, 0.061240f, -0.114357f, 0.044720f, 0.098405f, 0.206829f, 0.151110f, 0.199178f, 0.087869f, 0.093219f, 0.312632f, 0.184672f, 0.320615f, 0.127295f, 0.302867f, 0.224054f, 0.267891f, 0.364760f, 0.338198f, 0.289049f, 0.311117f, 0.355105f, 0.372988f, 0.334885f, 0.369391f, 0.273979f, 0.375670f, 0.322257f, 0.276161f, 0.309682f, 0.172488f, 0.343321f, 0.170095f, 0.132479f, -0.089943f, 0.040951f, -0.178185f, -0.199443f, -0.215743f, -0.006303f}, - {0.028151f, -0.003043f, -0.004712f, 0.001293f, 0.002069f, 0.007711f, -0.002021f, -0.004592f, -0.007568f, 0.008244f, 0.000716f, 0.002734f, 0.008263f, 0.002279f, -0.001302f, 0.002104f, 0.004355f, 0.002864f, -0.004406f, 0.009559f, 0.001000f, -0.012480f, -0.002362f, 0.008294f, 0.003205f, 0.000905f, -0.004534f, -0.002612f, 0.004068f, -0.001520f, 0.016456f, -0.002968f, 0.003751f, 0.000645f, 0.001501f, -0.009223f, -0.003150f, -0.001917f, 0.003385f, -0.001236f, 0.002035f, -0.005299f, -0.002930f, 0.003514f, 0.005212f, 0.003647f, 0.006195f, 0.006354f, 0.004071f, -0.005598f, -0.008796f, 0.001106f, 0.005198f, 0.005740f, 0.004323f, -0.003078f, -0.003864f, -0.013629f, 0.007027f, -0.003245f, -0.005251f, -0.000882f, -0.002335f, 0.002748f, -0.006481f, 0.002800f, -0.008204f, 0.003495f, -0.007791f, 0.007076f, -0.003108f, 0.005917f, -0.001505f, -0.000983f, -0.009270f, -0.000845f, -0.014480f, -0.028107f, -0.005140f, 0.000572f, -0.006671f, -0.013121f, -0.004579f, 0.009959f, -0.015844f, -0.008452f, -0.005366f, -0.002866f, 0.004794f, -0.002033f, 0.005360f, 0.002739f, 0.004674f, -0.000334f, 0.005830f, -0.005031f, - 0.000804f, -0.002089f, 0.000964f, 0.015318f, -0.003386f, -0.000718f, -0.007657f, 0.009552f, 0.005630f, 0.004708f, 0.011487f, -0.005741f, -0.003550f, 0.004203f, 0.010271f, -0.002596f, -0.000856f, -0.008202f, -0.009386f, -0.005951f, 0.006432f, -0.007970f, -0.007179f, -0.000665f, 0.009231f, -0.012478f, -0.002853f, -0.010389f, -0.005296f, -0.002815f, 0.001313f, -0.000737f, -0.007752f, 0.009969f, 0.001521f, 0.008989f, -0.003689f, -0.002017f, -0.011073f, -0.000037f, -0.003971f, -0.003934f, 0.006168f, 0.003717f, -0.002087f, 0.003545f, 0.006849f, -0.001863f, 0.002881f, -0.004919f, -0.002985f, -0.001209f, -0.004786f, 0.004048f, 0.001450f, 0.002763f, -0.023120f, -0.008534f, 0.006871f, -0.006341f, -0.002608f, -0.002790f, 0.003321f, -0.001375f, -0.005988f, 0.009505f, 0.008825f, 0.002698f, -0.000941f, 0.004290f, -0.011813f, -0.001962f, -0.011677f, -0.006170f, 0.008852f, -0.001678f, 0.001688f, -0.001423f, -0.001226f, -0.000039f, 0.018363f, 0.016452f, 0.007581f, 0.008661f, 0.010684f, -0.002299f, -0.001100f, -0.003907f, 0.009436f, -0.001187f, -0.003426f, 0.002333f, -0.005322f, 0.003429f, 0.006816f, -0.003740f, - 0.007669f, 0.008224f, 0.016777f, -0.006859f, -0.007765f, 0.006791f, -0.004208f, -0.000127f, 0.003615f, -0.010077f, 0.000686f, -0.005475f, -0.005582f, 0.012420f, 0.007657f, 0.008794f, -0.005173f, -0.007454f, 0.005017f, -0.008635f, 0.005830f, 0.024224f, 0.001547f, 0.001084f, 0.005738f, 0.001735f, 0.002486f, 0.013335f, -0.007303f, -0.002812f, 0.002913f, 0.000763f, -0.006575f, -0.006535f, -0.006461f, -0.005354f, -0.001146f, -0.006915f, 0.007473f, 0.011754f, -0.005602f, 0.005753f, 0.018778f, 0.006108f, 0.004361f, -0.013218f, 0.010909f, 0.002693f, -0.016748f, 0.006971f, -0.004655f, -0.010265f, 0.004127f, -0.001578f, 0.003973f, 0.009592f, -0.010219f, -0.010970f, -0.004759f, 0.014473f, 0.000445f, 0.007080f, 0.015210f, -0.022787f, -0.018196f, 0.002753f, 0.011139f, -0.008379f, 0.000724f, 0.014852f, 0.003884f, -0.002177f, -0.004545f, 0.017802f, 0.002188f, -0.004637f, 0.002496f, -0.016619f, 0.001822f, -0.009288f, 0.008288f, 0.001186f, 0.008795f, -0.004744f, -0.002292f, 0.003706f, 0.000182f, 0.000852f, 0.000411f, 0.008168f, 0.006724f, -0.009668f, 0.005204f, 0.007151f, -0.012949f, 0.001131f, - -0.005942f, 0.001978f, -0.003135f, -0.010352f, -0.000070f, 0.008023f, 0.007147f, 0.015895f, -0.010496f, 0.012115f, -0.008779f, -0.002404f, 0.007143f, -0.009054f, -0.012780f, -0.005326f, 0.037330f, 0.017096f, 0.022508f, -0.001600f, -0.006562f, -0.007972f, -0.008503f, 0.004713f, -0.007191f, 0.010712f, -0.001471f, 0.014609f, 0.000580f, 0.007830f, 0.009148f, 0.007518f, 0.005947f, 0.008493f, -0.028230f, -0.008045f, -0.002944f, -0.005678f, -0.005494f, -0.008585f, -0.020224f, 0.001096f, 0.013281f, -0.008189f, 0.007826f, -0.006540f, -0.010291f, -0.007298f, 0.000755f, -0.006131f, -0.002736f, -0.006294f, -0.000851f, 0.016623f, 0.000463f, 0.007575f, 0.009960f, 0.013698f, -0.006791f, 0.003352f, -0.003483f, -0.010239f, 0.011362f, -0.006436f, -0.000983f, -0.010128f, 0.007023f, 0.000096f, -0.000376f, -0.002647f, -0.005381f, 0.003705f, 0.009970f, -0.004217f, 0.005314f, 0.005882f, 0.004054f, 0.018449f, -0.019050f, -0.007452f, -0.000366f, -0.009753f, -0.013952f, -0.004794f, -0.016979f, 0.002880f, 0.017618f, -0.012292f, -0.007484f, -0.013829f, -0.000638f, -0.002986f, -0.008833f, -0.008964f, -0.001088f, 0.012052f, - 0.016301f, -0.008847f, 0.008311f, -0.007141f, -0.004018f, -0.002589f, -0.021022f, 0.015434f, -0.004729f, -0.001779f, 0.023496f, 0.015264f, 0.015596f, -0.006036f, 0.000275f, 0.003302f, -0.004003f, 0.005776f, -0.012484f, 0.000158f, -0.008639f, 0.010229f, -0.009775f, -0.006011f, -0.001302f, 0.002182f, -0.011985f, 0.002786f, 0.000940f, 0.015898f, -0.000184f, -0.020401f, 0.011794f, 0.011908f, 0.015845f, -0.001959f, 0.003779f, -0.010974f, -0.009024f, -0.003017f, -0.008764f, 0.004000f, 0.001949f, -0.002476f, -0.001541f, 0.009491f, 0.013403f, -0.017965f, -0.004303f, 0.000766f, -0.007929f, -0.007183f, 0.012109f, -0.009107f, 0.004415f, -0.008881f, -0.013192f, -0.008700f, -0.006641f, 0.005458f, 0.001572f, 0.024189f, -0.004158f, -0.005091f, 0.006661f, -0.005749f, -0.002264f, -0.004872f, 0.006228f, -0.004297f, 0.008102f, -0.002615f, -0.004048f, 0.007393f, 0.012916f, -0.028413f, 0.027317f, 0.015172f, -0.016829f, -0.016307f, 0.006489f, 0.022279f, -0.000650f, 0.006769f, 0.025228f, 0.008901f, 0.007363f, -0.003991f, 0.012990f, 0.012504f, 0.013701f, -0.024973f, -0.015872f, -0.015024f, 0.011788f, 0.010781f, - 0.012997f, 0.000961f, -0.015777f, 0.006672f, -0.002676f, 0.007307f, -0.022534f, 0.008897f, 0.013117f, -0.010100f, 0.005483f, 0.011194f, 0.002713f, -0.000018f, 0.001997f, -0.003186f, 0.019098f, 0.013507f, 0.010060f, 0.000683f, 0.006413f, 0.015288f, -0.013736f, -0.006925f, 0.000313f, 0.020107f, 0.012338f, 0.008067f, -0.015302f, 0.000801f, 0.009790f, 0.012080f, -0.004546f, 0.003889f, 0.011180f, 0.014523f, 0.004117f, 0.013417f, 0.004830f, -0.001345f, -0.012684f, 0.000016f, -0.020858f, -0.008303f, -0.010316f, 0.001669f, 0.006093f, -0.011936f, -0.005509f, -0.021834f, 0.008469f, -0.006535f, -0.001349f, 0.010364f, 0.014817f, 0.017536f, 0.004133f, 0.023995f, 0.007991f, -0.004497f, -0.010688f, -0.029232f, -0.013642f, 0.017336f, -0.005839f, -0.026906f, -0.006722f, -0.004573f, 0.004424f, 0.014315f, 0.022796f, -0.001682f, 0.006972f, -0.005511f, 0.011547f, -0.012896f, -0.012955f, -0.014731f, -0.025114f, 0.013221f, 0.008135f, -0.021697f, 0.001035f, -0.015963f, -0.005552f, 0.013313f, 0.008163f, 0.010776f, -0.002764f, -0.003397f, -0.003262f, 0.023754f, 0.019251f, 0.019504f, -0.008680f, -0.017572f, - 0.013924f, -0.002808f, -0.005634f, 0.016693f, 0.003495f, 0.016396f, -0.000102f, 0.008906f, -0.011457f, -0.001211f, 0.008978f, -0.036930f, -0.005005f, 0.001110f, -0.026098f, 0.006231f, -0.006269f, 0.024116f, 0.016348f, -0.015934f, 0.001753f, 0.021890f, -0.001770f, 0.010738f, -0.007000f, 0.014725f, -0.006598f, 0.002178f, -0.005333f, -0.000567f, 0.011614f, -0.015763f, 0.016637f, 0.007095f, 0.009728f, 0.001404f, 0.020423f, -0.058589f, -0.012244f, 0.031326f, -0.025169f, -0.009195f, 0.026861f, 0.010064f, -0.008215f, 0.002879f, -0.021797f, 0.019792f, -0.002185f, -0.035447f, 0.002898f, -0.001695f, 0.013838f, 0.013410f, -0.006644f, -0.027623f, -0.011479f, -0.010353f, 0.001095f, -0.014533f, -0.007625f, -0.018581f, -0.004866f, 0.021072f, -0.016343f, -0.008063f, -0.005858f, -0.010531f, -0.010943f, -0.015266f, 0.011553f, 0.002791f, 0.014231f, 0.002996f, -0.009064f, -0.014628f, -0.014233f, -0.002365f, 0.011021f, 0.015676f, -0.004250f, -0.012681f, 0.015288f, 0.006849f, -0.020186f, -0.022747f, -0.047229f, -0.003218f, -0.014215f, -0.008220f, 0.008504f, 0.008576f, 0.005839f, 0.023051f, -0.000771f, -0.008990f, - 0.000285f, -0.009694f, 0.026508f, 0.014796f, -0.002988f, 0.014996f, -0.011969f, 0.008840f, 0.007876f, -0.011587f, -0.003597f, -0.009986f, 0.011439f, 0.008616f, -0.019413f, 0.017518f, 0.026472f, 0.000595f, 0.012013f, 0.037227f, -0.016550f, 0.013160f, -0.007936f, -0.001689f, 0.023810f, -0.008027f, -0.008351f, -0.006865f, -0.000522f, 0.002283f, 0.016666f, 0.049489f, -0.001279f, 0.001431f, 0.015716f, 0.001644f, 0.001761f, -0.025601f, -0.023373f, 0.002137f, 0.004915f, -0.017350f, -0.006478f, -0.005334f, 0.015668f, -0.008027f, 0.004244f, -0.002089f, 0.007675f, -0.008185f, 0.031338f, 0.014775f, -0.012468f, 0.014593f, 0.016347f, -0.019916f, 0.004631f, 0.005812f, 0.007450f, -0.006932f, -0.004653f, 0.022925f, -0.020305f, 0.007238f, 0.028971f, -0.011605f, 0.004892f, 0.015567f, -0.000454f, 0.013218f, 0.009911f, -0.001938f, 0.009908f, 0.010917f, 0.019589f, 0.009065f, 0.002974f, -0.003075f, -0.010961f, -0.016328f, 0.002054f, -0.001117f, -0.041837f, 0.025528f, -0.005071f, -0.016444f, -0.013451f, -0.035120f, -0.034262f, -0.027037f, 0.006115f, 0.013502f, -0.004706f, -0.003219f, -0.001110f, 0.051866f, - 0.053393f, -0.002213f, -0.043059f, 0.007772f, 0.009515f, -0.005814f, 0.011978f, 0.005723f, 0.004321f, -0.001383f, -0.006918f, 0.041703f, 0.008320f, -0.007825f, -0.047082f, -0.027707f, 0.011587f, -0.004010f, -0.016176f, -0.029584f, 0.004284f, 0.003671f, 0.007583f, -0.008309f, -0.030989f, -0.034571f, 0.036298f, 0.032854f, 0.010820f, 0.030006f, -0.026713f, 0.002210f, 0.014133f, -0.007158f, -0.016979f, -0.032163f, -0.015140f, 0.003762f, -0.001352f, -0.016079f, 0.014667f, -0.001529f, 0.014182f, 0.009728f, 0.000596f, -0.034884f, -0.019377f, -0.017568f, -0.002971f, 0.001168f, 0.003972f, -0.007937f, -0.009752f, -0.000220f, 0.004798f, -0.032054f, -0.008000f, 0.001988f, 0.005940f, -0.016381f, -0.037560f, -0.011855f, -0.010119f, 0.023623f, -0.002043f, 0.008341f, -0.013423f, -0.013641f, -0.017753f, -0.023254f, -0.012266f, -0.002612f, -0.003132f, 0.016138f, -0.015684f, -0.004704f, -0.010030f, 0.011564f, -0.008163f, 0.024958f, -0.013815f, 0.006089f, -0.010910f, 0.003872f, 0.003966f, -0.012284f, -0.011783f, -0.023577f, -0.030457f, -0.016527f, -0.009347f, 0.000849f, -0.001327f, -0.013559f, -0.016609f, -0.027287f, - 0.012136f, -0.027335f, -0.040050f, 0.026766f, -0.024831f, -0.026766f, 0.024963f, 0.007388f, -0.008150f, 0.031255f, 0.014662f, -0.020212f, 0.018746f, -0.055079f, -0.005962f, -0.012398f, -0.008220f, -0.024605f, 0.045136f, 0.024537f, -0.015956f, 0.009384f, 0.012752f, -0.007406f, 0.014281f, 0.002770f, -0.001449f, -0.010934f, 0.013759f, 0.021003f, 0.022631f, -0.036283f, -0.003615f, 0.002448f, 0.009238f, -0.014879f, -0.009067f, -0.015125f, -0.020033f, 0.033880f, 0.007600f, -0.020175f, 0.009501f, -0.011228f, -0.017705f, -0.021661f, -0.047780f, 0.015210f, 0.027372f, 0.005608f, 0.027616f, 0.044739f, -0.004834f, -0.012561f, -0.040862f, 0.007809f, -0.006145f, -0.031949f, 0.003579f, -0.072266f, -0.049912f, -0.034362f, 0.018258f, 0.037112f, -0.052500f, 0.012864f, 0.035886f, 0.023524f, -0.001292f, 0.014312f, 0.033807f, -0.014973f, -0.002820f, -0.009150f, 0.000273f, -0.021527f, 0.015229f, 0.001282f, 0.001154f, 0.006867f, 0.045607f, -0.001363f, -0.021168f, -0.018910f, 0.010325f, 0.035134f, -0.014495f, -0.033510f, 0.009543f, 0.035681f, 0.019499f, -0.003586f, 0.016102f, 0.012465f, 0.015489f, 0.004735f, - 0.013012f, 0.024647f, -0.003640f, -0.038402f, 0.001274f, 0.013437f, -0.037822f, -0.025829f, 0.035577f, 0.029780f, -0.028756f, -0.017022f, 0.008126f, -0.000492f, 0.017050f, 0.045581f, -0.010264f, -0.007051f, 0.007593f, -0.000727f, 0.015507f, 0.009791f, -0.016973f, -0.010936f, -0.007016f, 0.014725f, 0.010717f, -0.009848f, -0.033145f, -0.003623f, -0.049483f, 0.047714f, 0.006035f, -0.006041f, 0.002134f, 0.021330f, -0.004449f, -0.018763f, -0.008947f, -0.002935f, -0.028330f, -0.001220f, 0.004768f, -0.034646f, -0.009246f, 0.025975f, 0.033678f, 0.023881f, 0.062968f, 0.038003f, 0.057007f, 0.021239f, 0.014811f, -0.029737f, 0.031821f, -0.011000f, -0.003962f, -0.023895f, -0.016151f, 0.030813f, -0.010582f, 0.070156f, 0.032308f, 0.020041f, -0.004259f, 0.015981f, -0.011612f, -0.033193f, -0.017197f, -0.020746f, 0.014225f, -0.019603f, -0.001095f, -0.020971f, 0.011347f, 0.028241f, 0.025108f, -0.002125f, 0.036597f, 0.030800f, 0.000615f, -0.011332f, -0.015186f, -0.026090f, -0.009766f, 0.058478f, 0.021851f, 0.067382f, -0.022948f, -0.000143f, -0.003442f, 0.015339f, 0.053262f, 0.018183f, 0.000027f, 0.034549f, - 0.038769f, 0.041934f, -0.005284f, -0.025463f, -0.010746f, -0.007291f, -0.008875f, 0.027785f, 0.017409f, 0.026439f, 0.038781f, -0.025486f, 0.059452f, -0.041281f, -0.079970f, -0.011691f, -0.027063f, 0.016521f, 0.035660f, 0.060898f, -0.030792f, -0.022367f, 0.020507f, -0.016782f, -0.004213f, -0.007280f, 0.007141f, 0.027298f, 0.027313f, 0.042749f, -0.046440f, 0.052479f, -0.019307f, 0.005676f, -0.024435f, 0.022396f, 0.038148f, 0.016906f, 0.006536f, 0.003722f, 0.046723f, 0.012686f, -0.002121f, -0.014556f, -0.007721f, -0.047515f, -0.007011f, -0.022495f, -0.058908f, 0.006180f, -0.003838f, 0.025131f, -0.061206f, -0.010671f, 0.014115f, 0.023869f, 0.050634f, -0.012580f, 0.014739f, 0.029141f, 0.004216f, -0.005563f, 0.014464f, -0.011911f, -0.003268f, -0.074481f, 0.006976f, -0.030663f, -0.037753f, -0.040604f, 0.017661f, -0.066204f, 0.023087f, -0.023379f, -0.033550f, -0.044091f, 0.042807f, 0.048154f, 0.045739f, 0.012269f, 0.009295f, 0.045793f, -0.057519f, -0.001734f, -0.016727f, 0.028180f, -0.068253f, -0.019265f, -0.005525f, 0.027681f, 0.019505f, 0.020388f, 0.029742f, -0.019097f, 0.010527f, -0.020003f, - -0.054057f, -0.002127f, -0.018537f, 0.064253f, 0.014829f, 0.045191f, -0.013887f, 0.062119f, -0.038348f, -0.075198f, 0.018108f, 0.011755f, 0.009865f, -0.037710f, -0.040632f, -0.033673f, 0.013830f, -0.033843f, 0.016142f, -0.018186f, 0.051109f, -0.016654f, -0.005823f, 0.035267f, 0.002817f, -0.089268f, -0.035181f, -0.001481f, 0.060410f, -0.006929f, -0.016497f, -0.051092f, 0.010789f, -0.012606f, -0.041868f, -0.051886f, -0.003963f, 0.009680f, -0.015760f, -0.019519f, -0.049797f, 0.034416f, -0.010636f, 0.012719f, -0.023549f, 0.001745f, 0.017835f, 0.010146f, 0.048383f, 0.001330f, -0.013220f, -0.058649f, -0.018375f, 0.030008f, -0.038081f, -0.019478f, 0.017999f, 0.034361f, 0.028612f, 0.067184f, 0.053073f, 0.002922f, 0.041192f, 0.041104f, 0.016721f, 0.004094f, 0.026458f, -0.016466f, 0.102796f, -0.042032f, -0.103446f, 0.032689f, -0.086823f, 0.001351f, -0.066052f, 0.006057f, 0.093198f, 0.043749f, -0.064996f, -0.039204f, -0.028138f, -0.019447f, 0.023022f, 0.041755f, -0.025118f, 0.005317f, 0.032884f, -0.067899f, 0.003267f, 0.019433f, -0.055209f, 0.030567f, -0.019565f, 0.027396f, 0.007435f, 0.030573f, - 0.001317f, -0.031360f, 0.034205f, -0.041754f, -0.011317f, 0.090593f, -0.037215f, 0.035420f, -0.022112f, 0.039473f, 0.031469f, -0.007783f, -0.039440f, 0.044408f, 0.104622f, -0.054060f, 0.014038f, -0.072903f, 0.037969f, 0.027494f, -0.042487f, 0.050368f, 0.003596f, -0.087970f, 0.012618f, 0.009024f, 0.041613f, -0.006676f, -0.006968f, -0.043720f, -0.047522f, -0.019278f, 0.115075f, -0.012464f, 0.058440f, -0.046064f, 0.038553f, 0.024402f, -0.010405f, -0.033727f, -0.006973f, 0.038581f, 0.065395f, -0.017120f, -0.020966f, -0.000146f, 0.013790f, 0.063564f, -0.012903f, -0.005687f, -0.040033f, 0.021187f, -0.060627f, -0.018844f, 0.048229f, 0.065171f, 0.010146f, 0.013432f, -0.064149f, 0.046400f, 0.035665f, -0.075205f, 0.002752f, -0.037044f, 0.000237f, -0.083180f, 0.083901f, 0.082536f, -0.012834f, -0.034980f, -0.018871f, -0.010746f, 0.038280f, -0.038712f, 0.050809f, -0.068319f, -0.047612f, 0.026745f, 0.021442f, 0.011771f, 0.020574f, 0.076265f, 0.015602f, 0.038455f, 0.003997f, 0.039844f, 0.019387f, -0.009587f, 0.002445f, 0.034938f, -0.006541f, 0.004089f, 0.051700f, 0.031911f, 0.069302f, 0.000097f, - 0.037611f, 0.007148f, -0.058365f, 0.062421f, -0.032892f, 0.001262f, 0.012695f, -0.043469f, -0.038864f, 0.027833f, 0.076080f, 0.052120f, 0.024853f, -0.094873f, -0.028158f, -0.063587f, -0.004689f, 0.125413f, 0.072451f, 0.097639f, 0.003138f, -0.074777f, 0.022921f, 0.097433f, 0.014801f, -0.009858f, 0.073881f, 0.020967f, 0.048815f, -0.118739f, -0.111868f, 0.094053f, -0.006694f, -0.018873f, -0.083405f, 0.000706f, -0.026811f, 0.057793f, 0.040720f, 0.018035f, 0.029701f, -0.071927f, 0.040290f, 0.065051f, -0.000409f, 0.025221f, -0.059717f, 0.047229f, -0.030022f, 0.024966f, -0.003281f, 0.004657f, 0.030762f, -0.006724f, 0.018053f, -0.003132f, -0.049423f, 0.016123f, -0.008735f, 0.053435f, 0.036993f, 0.065371f, 0.014346f, -0.042256f, -0.044651f, 0.044001f, 0.038163f, 0.025020f, -0.002556f, 0.018536f, -0.018804f, -0.033742f, -0.000355f, -0.009608f, 0.047056f, 0.042456f, 0.025704f, 0.047619f, 0.036430f, -0.055997f, 0.059045f, 0.070697f, 0.040025f, -0.027659f, -0.037628f, -0.037099f, 0.049379f, 0.039434f, 0.086401f, -0.052765f, -0.067551f, -0.038833f, -0.095050f, -0.016026f, 0.080525f, 0.020949f, - 0.060183f, -0.069870f, -0.094451f, 0.025129f, 0.038605f, -0.063842f, -0.003345f, -0.048521f, 0.006789f, -0.056382f, -0.022898f, 0.042085f, 0.013197f, -0.047348f, 0.000694f, -0.030241f, -0.118137f, 0.017366f, 0.072760f, -0.002285f, -0.146560f, -0.031363f, -0.002196f, 0.000513f, 0.053070f, -0.139136f, -0.014340f, 0.060796f, -0.100342f, 0.021231f, -0.022009f, 0.116539f, 0.063602f, -0.074337f, 0.018708f, 0.077533f, 0.008849f, -0.033965f, 0.026848f, 0.016721f, 0.010938f, -0.004058f, -0.007607f, 0.003448f, 0.013213f, 0.024471f, 0.082031f, 0.062661f, 0.071587f, 0.045812f, 0.090022f, 0.040618f, 0.091889f, 0.034515f, 0.081297f, -0.002511f, 0.050089f, 0.041923f, 0.049450f, 0.034581f, -0.004835f, 0.010939f, -0.064173f, -0.041783f, 0.118076f, -0.002938f, -0.049559f, -0.017999f, 0.035565f, 0.058246f, 0.126505f, -0.022357f, -0.073325f, -0.040818f, -0.054972f, 0.067993f, 0.080866f, 0.088424f, 0.025858f, -0.009190f, 0.059958f, -0.114076f, 0.094410f, 0.031010f, -0.056166f, -0.007513f, -0.172730f, -0.002861f, -0.115985f, -0.161296f, -0.043295f, -0.098154f, -0.043789f, 0.166444f, 0.156969f, 0.138433f, - -0.040296f, 0.105205f, 0.129371f, -0.107258f, -0.097047f, 0.032205f, 0.113228f, 0.002102f, -0.051964f, -0.000339f, 0.031323f, 0.033028f, -0.092209f, 0.033837f, -0.011540f, 0.048319f, -0.050156f, -0.025423f, -0.058874f, 0.062324f, -0.007564f, -0.028873f, -0.054848f, 0.040021f, 0.025418f, -0.010751f, -0.046015f, 0.020995f, 0.022344f, 0.009954f, -0.040310f, -0.007342f, -0.000487f, 0.046928f, -0.034704f, -0.010403f, -0.051418f, -0.015668f, 0.020457f, 0.040655f, -0.053268f, -0.023100f, 0.061455f, 0.048513f, -0.012975f, -0.038031f, 0.002535f, -0.020705f, 0.052361f, -0.030887f, -0.012321f, 0.020984f, 0.021457f, 0.026993f, -0.023258f, 0.005107f, -0.033156f, 0.039355f, 0.055612f, 0.020053f, 0.012982f, -0.044506f, 0.050866f, -0.037168f, 0.076294f, -0.056955f, 0.063196f, -0.094762f, 0.067375f, 0.000436f, 0.003515f, -0.070361f, -0.008605f, 0.010830f, -0.004238f, -0.004655f, -0.002840f, -0.023527f, 0.103205f, 0.108651f, -0.063660f, -0.038602f, 0.022266f, 0.103760f, 0.065416f, 0.038347f, 0.038018f, -0.017109f, -0.042985f, -0.013699f, 0.025175f, -0.000857f, -0.009594f, 0.030645f, 0.001245f, 0.021474f, - 0.003411f, -0.012104f, -0.038359f, -0.010804f, -0.001525f, 0.002476f, -0.000762f, -0.032166f, 0.036276f, 0.005541f, -0.013441f, -0.001160f, -0.000232f, 0.000163f, 0.023791f, 0.041740f, 0.018865f, 0.003962f, -0.014177f, -0.022030f, -0.004641f, 0.013432f, 0.029242f, 0.037763f, -0.020086f, -0.021081f, 0.005892f, 0.038263f, 0.018527f, 0.008499f, -0.016050f, -0.034824f, 0.031072f, -0.006050f, 0.002292f, 0.002181f, 0.011129f, 0.009444f, -0.002544f, -0.000876f, -0.020886f, 0.004040f, 0.022014f, -0.008760f, 0.014156f, -0.005701f, -0.013739f, 0.011634f, -0.000312f, 0.007395f, 0.001944f, 0.019949f, 0.015583f, -0.022302f, 0.012380f, 0.006977f, -0.040264f, -0.036581f, -0.135084f, 0.057224f, 0.209208f, 0.192308f, 0.164777f, 0.065345f, -0.155528f, -0.097817f, -0.139744f, -0.157288f, -0.139980f, -0.041058f, 0.030914f, 0.118317f, 0.123928f, 0.147654f, 0.098467f, 0.098646f, 0.003100f, -0.103817f, -0.098451f, -0.122212f, -0.094881f, -0.053177f, -0.002812f, -0.034206f, 0.037976f, 0.045921f, 0.075118f, 0.081701f, 0.083749f, 0.049545f, 0.005145f, 0.022165f, -0.017216f, 0.012031f, -0.055606f, -0.040882f, - -0.051279f, -0.085314f, -0.066771f, -0.051670f, -0.035496f, -0.060429f, 0.009842f, 0.104588f, 0.118999f, 0.066267f, 0.124462f, 0.031204f, 0.073399f, 0.037729f, 0.022878f, -0.029934f, -0.063646f, -0.088809f, -0.124163f, -0.095576f, -0.141742f, -0.058187f, -0.061573f, 0.043089f, 0.044286f, 0.122585f, 0.142129f, 0.126204f, 0.113894f, 0.110856f, 0.071844f, 0.012445f, -0.032116f, -0.109308f, -0.064708f, -0.141123f, -0.115953f, -0.156398f, 0.010384f, 0.006756f, 0.021041f} - }, - { - {0.020698f, -0.004062f, 0.005796f, 0.002807f, -0.010564f, 0.002857f, 0.009064f, -0.003562f, -0.001485f, 0.002784f, -0.004037f, -0.009849f, 0.010475f, -0.002352f, 0.018329f, -0.000190f, 0.001916f, 0.007867f, -0.011239f, -0.003773f, -0.012030f, -0.002116f, -0.005337f, 0.005000f, 0.008364f, 0.001960f, -0.003793f, -0.000792f, -0.000286f, 0.008061f, -0.006312f, -0.003987f, -0.008589f, 0.006467f, 0.003400f, 0.000002f, 0.001220f, -0.006929f, 0.005549f, -0.008141f, 0.000790f, -0.004164f, 0.006771f, 0.005495f, -0.009145f, 0.000942f, -0.010951f, 0.000511f, 0.003659f, 0.003977f, 0.004632f, 0.003670f, 0.001253f, -0.006299f, -0.004754f, 0.002588f, 0.004221f, -0.004512f, 0.010775f, -0.003460f, 0.001469f, -0.002504f, -0.000642f, 0.001611f, -0.001390f, 0.007874f, -0.005645f, 0.015354f, 0.002821f, 0.002428f, -0.003398f, -0.000368f, 0.001380f, 0.002407f, 0.000241f, 0.001749f, -0.009393f, -0.010067f, -0.007906f, 0.002016f, -0.004444f, -0.000991f, -0.001118f, 0.004467f, 0.019042f, -0.005287f, 0.002104f, -0.018193f, -0.009593f, 0.005207f, -0.008326f, -0.006920f, -0.002318f, -0.007850f, -0.001812f, 0.015346f, - -0.006518f, -0.010292f, 0.017074f, 0.013223f, -0.004582f, -0.003435f, 0.015639f, 0.004089f, 0.006175f, 0.002668f, 0.000936f, -0.004281f, -0.006337f, 0.005791f, -0.004679f, 0.004233f, 0.001834f, 0.001407f, -0.001994f, -0.005681f, -0.004000f, 0.003392f, -0.004633f, -0.007975f, -0.003255f, -0.003801f, -0.009491f, 0.010491f, 0.017034f, -0.010159f, 0.005662f, -0.000006f, -0.003637f, 0.002177f, -0.000269f, -0.000388f, -0.005505f, 0.009879f, -0.006048f, -0.008249f, 0.008829f, 0.002006f, -0.000315f, -0.001677f, 0.004910f, -0.000468f, -0.000003f, -0.003855f, -0.001374f, 0.008201f, -0.013272f, 0.003429f, 0.002583f, -0.004623f, -0.003092f, -0.006425f, -0.006494f, -0.029722f, -0.004625f, -0.010898f, -0.002608f, 0.002336f, -0.008030f, -0.018142f, 0.013309f, -0.004502f, 0.003140f, 0.008808f, -0.002766f, -0.000968f, -0.001053f, 0.004021f, -0.003086f, 0.014860f, -0.000570f, 0.011448f, 0.016930f, -0.020328f, 0.004293f, 0.014012f, 0.001014f, 0.002739f, 0.009789f, 0.017941f, 0.002618f, -0.004118f, 0.009106f, -0.002478f, -0.004655f, 0.003993f, 0.003244f, 0.003950f, -0.005033f, 0.018285f, -0.008433f, 0.004565f, - 0.006885f, -0.000148f, -0.000859f, -0.009018f, 0.001496f, -0.010436f, 0.008755f, -0.010658f, -0.008098f, 0.005815f, -0.009839f, 0.006725f, -0.006854f, 0.002800f, -0.005522f, 0.003725f, 0.008038f, 0.015603f, 0.004856f, 0.001745f, 0.007673f, 0.000102f, -0.013446f, 0.001793f, 0.003877f, 0.005160f, -0.003310f, 0.000749f, -0.001759f, 0.002641f, 0.007655f, 0.004662f, 0.010428f, 0.003733f, 0.001497f, -0.006003f, -0.003132f, 0.006233f, -0.010718f, 0.007956f, 0.005276f, 0.001554f, 0.010204f, -0.000623f, 0.005722f, 0.013749f, 0.008589f, 0.018044f, 0.003507f, -0.002804f, -0.018606f, 0.002789f, -0.011426f, -0.003966f, 0.001395f, 0.004019f, -0.007189f, -0.000192f, 0.017818f, -0.009356f, -0.000552f, -0.009362f, 0.004262f, -0.000160f, 0.003378f, 0.007029f, 0.008504f, -0.005713f, 0.006344f, 0.006354f, 0.012808f, 0.000151f, -0.012824f, 0.000862f, 0.013564f, -0.001747f, -0.001011f, -0.002324f, 0.009055f, -0.011195f, 0.000731f, 0.006546f, 0.009044f, 0.010518f, -0.004348f, -0.007811f, -0.001122f, 0.015267f, 0.001282f, 0.005072f, -0.013128f, -0.006498f, 0.002925f, 0.001890f, -0.002426f, 0.007575f, - -0.000798f, -0.002665f, 0.004507f, -0.009131f, 0.000303f, -0.002380f, 0.005346f, 0.007301f, -0.012749f, -0.004191f, 0.003900f, 0.006843f, -0.005500f, -0.006977f, 0.003442f, 0.007777f, -0.000752f, 0.003893f, 0.031788f, 0.016104f, 0.012243f, -0.011551f, -0.002597f, -0.016303f, -0.012447f, 0.018396f, 0.001132f, -0.010893f, -0.005769f, 0.004273f, -0.011223f, -0.000547f, 0.017745f, 0.007717f, -0.001278f, 0.006265f, 0.026248f, -0.017435f, 0.003740f, -0.002958f, -0.009203f, 0.015770f, 0.007275f, 0.008350f, -0.006550f, 0.007247f, 0.008280f, -0.002382f, 0.005107f, -0.001481f, -0.008208f, 0.001902f, 0.002290f, -0.001030f, 0.008485f, 0.002520f, -0.003863f, 0.010298f, -0.005175f, -0.004480f, -0.006406f, 0.003046f, 0.003251f, 0.000938f, 0.006606f, 0.001152f, 0.022066f, 0.001649f, -0.000613f, -0.005133f, -0.005329f, 0.005539f, -0.017464f, 0.000767f, 0.009531f, 0.008068f, -0.009687f, 0.013338f, -0.000340f, 0.005902f, 0.010123f, -0.003165f, 0.007739f, 0.006193f, -0.003421f, -0.009947f, -0.007780f, 0.005575f, 0.014819f, 0.003673f, -0.006804f, -0.004197f, -0.003664f, 0.008931f, 0.007511f, 0.002309f, - 0.020799f, 0.005465f, 0.012240f, -0.000394f, 0.002415f, 0.003671f, 0.003095f, -0.003394f, 0.012409f, -0.005360f, 0.013424f, -0.006816f, -0.005914f, 0.003627f, -0.009763f, -0.002694f, -0.003501f, 0.003818f, 0.005141f, -0.003833f, -0.014150f, 0.005935f, -0.017007f, -0.006806f, -0.003536f, -0.000657f, -0.003365f, 0.002857f, 0.013732f, 0.007864f, 0.000089f, -0.015603f, -0.015524f, 0.000016f, 0.008845f, -0.005742f, 0.000498f, -0.002470f, -0.007559f, -0.010420f, -0.000137f, 0.005859f, 0.012871f, 0.011878f, -0.002885f, 0.003184f, -0.018962f, 0.005048f, 0.010339f, 0.012243f, -0.003097f, 0.010968f, 0.001072f, 0.016392f, 0.008847f, 0.001970f, 0.006299f, -0.002354f, -0.006421f, -0.004852f, -0.003708f, 0.009203f, -0.006302f, -0.008391f, -0.009938f, 0.008697f, -0.005071f, -0.022181f, 0.001238f, 0.004172f, 0.007943f, 0.010212f, 0.020686f, -0.015245f, -0.012203f, -0.029575f, 0.015186f, 0.017648f, 0.004185f, 0.014445f, 0.003870f, -0.015839f, 0.000334f, -0.008187f, -0.001823f, 0.013263f, -0.017480f, -0.006829f, 0.008458f, 0.006084f, 0.019137f, -0.004870f, 0.009298f, -0.028663f, -0.012053f, 0.005559f, - 0.017937f, -0.012002f, -0.005765f, -0.012750f, -0.011838f, 0.005807f, 0.000199f, -0.001208f, 0.007023f, 0.001160f, 0.007271f, 0.019822f, -0.010831f, 0.019216f, 0.000854f, 0.002922f, 0.006569f, 0.003207f, -0.004136f, 0.005903f, -0.012425f, -0.003968f, -0.005782f, -0.002714f, -0.008616f, 0.011909f, 0.004516f, 0.035058f, 0.003413f, -0.003417f, -0.006852f, 0.000536f, -0.005304f, 0.017884f, -0.009241f, 0.001521f, -0.018663f, 0.014941f, 0.017202f, -0.018410f, 0.013399f, 0.010064f, 0.007334f, -0.010233f, -0.006725f, 0.015298f, 0.007222f, -0.023557f, 0.014359f, -0.011268f, -0.002373f, 0.005159f, -0.001842f, 0.002434f, 0.009027f, 0.006912f, -0.004682f, 0.012001f, 0.002718f, -0.000525f, -0.010041f, -0.017726f, 0.006545f, -0.009619f, -0.003397f, 0.016664f, -0.022625f, -0.009808f, -0.016552f, -0.001930f, 0.014966f, -0.001537f, -0.011563f, -0.016823f, -0.018248f, 0.007134f, 0.020244f, -0.005804f, 0.012836f, 0.018486f, -0.004659f, -0.004393f, 0.007791f, 0.010265f, 0.022604f, -0.003263f, 0.012949f, 0.001759f, 0.026806f, 0.019289f, 0.005847f, -0.006182f, 0.003228f, -0.014532f, 0.026084f, 0.005973f, - -0.010642f, -0.012410f, 0.015321f, 0.012516f, 0.009571f, 0.006492f, 0.005012f, 0.013354f, -0.005046f, 0.006008f, -0.008059f, 0.001478f, 0.001400f, -0.013005f, -0.017014f, -0.005996f, -0.011802f, 0.008367f, -0.006921f, -0.005306f, -0.018597f, -0.011745f, 0.004423f, -0.006146f, -0.001604f, 0.009788f, 0.020044f, 0.024958f, 0.013339f, 0.010699f, -0.008434f, -0.019244f, 0.000737f, -0.013284f, -0.032147f, -0.036497f, -0.012007f, 0.002613f, 0.017518f, -0.012410f, 0.008291f, 0.006391f, -0.001276f, 0.027825f, -0.004157f, 0.026240f, -0.015573f, 0.008174f, 0.007621f, 0.000992f, -0.023855f, -0.008979f, -0.009182f, -0.025854f, 0.008637f, -0.005880f, 0.005228f, -0.000911f, 0.009243f, 0.000733f, -0.010764f, 0.006334f, -0.017446f, 0.013430f, 0.007056f, 0.029958f, -0.001542f, 0.001739f, 0.026321f, -0.022621f, 0.020396f, 0.026225f, -0.016062f, 0.017242f, -0.007009f, -0.006680f, -0.013458f, 0.004355f, 0.002920f, 0.019038f, 0.011468f, -0.003569f, -0.007568f, -0.014193f, 0.008351f, 0.010704f, -0.017550f, -0.006691f, 0.016483f, -0.027543f, 0.002798f, -0.020929f, 0.012736f, 0.002612f, -0.000188f, 0.008189f, - -0.007225f, 0.004109f, 0.026966f, -0.009282f, 0.006356f, 0.014705f, 0.008852f, 0.003371f, -0.013096f, 0.008353f, 0.006335f, -0.005658f, -0.021179f, 0.003286f, -0.003141f, -0.013260f, -0.014743f, 0.043628f, -0.015975f, 0.008106f, 0.006729f, 0.015273f, 0.005339f, 0.009087f, 0.022389f, -0.017459f, -0.010056f, -0.001858f, 0.030988f, -0.012271f, -0.012637f, -0.015647f, 0.007947f, 0.004642f, 0.017127f, -0.035405f, 0.000709f, 0.000265f, -0.001997f, 0.017477f, -0.003983f, 0.013366f, 0.026056f, -0.019151f, -0.008007f, 0.006834f, -0.013642f, -0.018107f, 0.012216f, -0.016858f, 0.024518f, -0.004617f, -0.024503f, -0.003784f, -0.013916f, 0.007400f, 0.020064f, -0.000883f, 0.010328f, -0.001727f, 0.004194f, 0.022961f, 0.001088f, 0.016509f, 0.007095f, -0.013272f, 0.013658f, 0.010838f, 0.001948f, 0.009010f, 0.034067f, -0.006136f, -0.014754f, 0.007441f, -0.018765f, 0.000918f, 0.032599f, 0.010316f, 0.005524f, -0.006780f, -0.008741f, -0.006905f, -0.010873f, 0.018610f, -0.012186f, -0.004321f, -0.007328f, 0.020853f, -0.039778f, 0.012219f, 0.015015f, 0.021543f, 0.006516f, 0.065024f, 0.019503f, -0.011891f, - -0.015701f, -0.013320f, 0.047280f, -0.040612f, 0.003388f, 0.015962f, 0.002533f, -0.021957f, -0.004780f, 0.011159f, -0.002132f, 0.002696f, 0.019811f, -0.020086f, -0.016726f, 0.008528f, 0.025797f, 0.015926f, 0.006912f, -0.012110f, -0.011719f, -0.011349f, -0.013162f, 0.012932f, 0.005421f, 0.018432f, 0.014948f, 0.008642f, -0.018746f, -0.008724f, -0.019972f, -0.003614f, -0.012907f, -0.030420f, -0.005215f, 0.014336f, 0.003644f, -0.013768f, -0.013849f, 0.000979f, 0.008111f, 0.020009f, 0.003126f, 0.010524f, 0.003502f, 0.038152f, -0.031706f, 0.022051f, 0.004746f, -0.032212f, -0.005179f, -0.009019f, -0.007355f, 0.006121f, -0.013623f, 0.009867f, 0.007261f, 0.016038f, -0.017143f, 0.007725f, 0.029890f, 0.015002f, 0.046941f, -0.008695f, -0.000198f, -0.009543f, -0.004897f, 0.003213f, -0.000189f, -0.041396f, 0.019763f, 0.000641f, -0.003421f, 0.014205f, -0.003210f, -0.022534f, 0.006004f, 0.011079f, 0.000231f, -0.014180f, -0.008627f, -0.029750f, -0.033740f, 0.006298f, -0.014620f, -0.008118f, 0.005655f, -0.001171f, -0.003026f, -0.016247f, -0.007066f, -0.001075f, 0.012596f, 0.011918f, -0.018389f, -0.011808f, - 0.012364f, -0.017918f, -0.007868f, -0.028735f, 0.027249f, -0.004536f, 0.024562f, 0.001047f, 0.009427f, 0.024593f, 0.019741f, -0.012523f, 0.006148f, 0.011915f, -0.013454f, -0.006757f, 0.012953f, -0.005921f, -0.030594f, -0.006953f, -0.021415f, 0.030389f, -0.003227f, -0.009696f, -0.018017f, -0.027729f, 0.009496f, 0.004233f, 0.006215f, 0.011624f, 0.000242f, -0.006259f, 0.013516f, 0.001990f, -0.002776f, 0.003253f, -0.007853f, 0.019316f, -0.005243f, 0.011532f, 0.038668f, 0.006967f, 0.006871f, 0.007315f, 0.013843f, -0.035929f, -0.028199f, 0.008386f, -0.030880f, 0.018498f, -0.005343f, 0.021180f, 0.004687f, 0.042944f, 0.014617f, -0.012802f, -0.002014f, -0.056230f, -0.038142f, 0.013610f, -0.014800f, -0.032899f, -0.048043f, -0.002038f, 0.004498f, -0.010318f, -0.007189f, 0.045529f, 0.012744f, -0.034507f, 0.007557f, -0.021446f, -0.016734f, -0.017622f, -0.029514f, -0.005962f, 0.003208f, -0.042330f, -0.038690f, -0.015917f, 0.006850f, 0.002761f, 0.024041f, 0.018936f, 0.012775f, -0.011087f, -0.000104f, 0.007992f, -0.020931f, -0.013008f, -0.007015f, 0.005782f, -0.019722f, -0.013413f, 0.013733f, 0.006946f, - -0.000445f, -0.004375f, -0.003665f, 0.009983f, -0.028644f, -0.017711f, -0.014145f, 0.017590f, -0.022296f, 0.013646f, 0.025314f, 0.033385f, -0.002513f, 0.008514f, -0.008520f, -0.018195f, -0.022153f, -0.007480f, 0.021150f, 0.006466f, -0.039548f, 0.000059f, 0.039932f, -0.028583f, 0.000697f, -0.007492f, 0.001457f, 0.007812f, 0.019841f, -0.006145f, 0.005662f, 0.022803f, 0.016034f, 0.008726f, -0.020125f, -0.025508f, -0.033887f, 0.019366f, -0.027707f, -0.045279f, 0.006972f, -0.026938f, -0.017988f, 0.056767f, 0.002292f, 0.042893f, 0.035773f, -0.005944f, 0.037754f, 0.055791f, 0.037126f, -0.046985f, -0.007935f, -0.021001f, -0.024305f, -0.012410f, -0.000480f, -0.018429f, 0.040889f, 0.014176f, 0.021782f, -0.018221f, 0.020787f, 0.018746f, 0.004239f, -0.023615f, -0.021106f, 0.041967f, -0.008826f, -0.035925f, -0.004030f, -0.041823f, -0.007751f, 0.013834f, -0.017086f, 0.002722f, -0.037005f, 0.018102f, 0.030711f, 0.019264f, -0.006244f, -0.015575f, -0.008021f, -0.002493f, -0.007565f, -0.014393f, -0.045175f, 0.031465f, 0.015029f, 0.017441f, 0.016901f, -0.022698f, 0.036905f, 0.007013f, -0.013250f, -0.006325f, - -0.032355f, -0.011174f, 0.018200f, 0.014794f, 0.031190f, -0.000911f, -0.039513f, -0.063336f, -0.005790f, 0.002678f, -0.001750f, -0.020269f, -0.035553f, -0.002026f, 0.019496f, -0.005772f, -0.017127f, 0.070328f, 0.044731f, -0.006535f, -0.040854f, 0.008435f, 0.020738f, 0.011599f, 0.030203f, 0.044740f, -0.019565f, 0.003502f, -0.039893f, 0.011179f, 0.003604f, -0.015783f, 0.072689f, 0.027238f, 0.062775f, 0.025592f, 0.016441f, -0.054616f, 0.001184f, 0.030161f, 0.005894f, -0.029168f, 0.012626f, -0.044485f, -0.016895f, 0.002842f, 0.013763f, -0.013471f, -0.008174f, 0.009388f, 0.008287f, 0.002981f, 0.039700f, 0.024140f, 0.006964f, -0.015933f, 0.027548f, -0.017805f, -0.012043f, -0.026074f, -0.007994f, 0.033422f, -0.052573f, -0.001092f, 0.024564f, -0.026841f, -0.007622f, 0.009824f, 0.009761f, 0.048817f, -0.001995f, -0.000899f, -0.022033f, 0.047681f, -0.020423f, 0.005680f, 0.006112f, 0.032860f, -0.006588f, -0.012443f, 0.032968f, -0.053878f, 0.015384f, 0.004680f, -0.020497f, 0.042323f, -0.051482f, -0.007063f, -0.015550f, -0.035824f, -0.015014f, -0.002208f, 0.019527f, 0.038071f, 0.054794f, -0.066242f, - 0.016897f, 0.005830f, 0.080622f, 0.021183f, 0.013646f, 0.000150f, 0.038483f, 0.013389f, -0.062258f, -0.006678f, 0.063135f, -0.016469f, -0.015199f, 0.008294f, -0.005963f, 0.004413f, -0.013203f, 0.070514f, 0.075405f, -0.038084f, 0.017366f, 0.023969f, 0.010029f, 0.025239f, -0.034898f, -0.043080f, 0.034861f, 0.013591f, -0.026790f, -0.040731f, -0.014308f, -0.011113f, 0.039951f, 0.037552f, 0.017933f, -0.033381f, 0.020048f, -0.011786f, 0.012584f, 0.007050f, 0.016931f, 0.043468f, 0.008317f, -0.080768f, -0.026835f, 0.021289f, -0.034878f, 0.016244f, 0.036122f, 0.018333f, 0.063226f, -0.014625f, -0.095735f, 0.004566f, -0.038294f, 0.040400f, 0.028616f, -0.002759f, -0.020495f, 0.037686f, -0.046033f, 0.000630f, -0.024982f, 0.031204f, 0.029576f, 0.035950f, 0.027339f, -0.009080f, -0.039463f, -0.102523f, -0.056318f, -0.052016f, 0.008735f, -0.026721f, -0.026305f, 0.019001f, -0.058959f, 0.001270f, -0.036780f, -0.017620f, 0.011704f, -0.020067f, -0.003603f, 0.002186f, -0.091920f, -0.010683f, 0.057064f, -0.068224f, 0.004654f, 0.028888f, -0.001522f, 0.020983f, -0.007547f, -0.053563f, -0.006930f, 0.032959f, - 0.008029f, 0.047894f, 0.028596f, -0.045644f, -0.054201f, -0.004532f, -0.024692f, -0.005031f, -0.087877f, 0.034378f, 0.031806f, 0.062253f, 0.025110f, 0.056839f, -0.025741f, 0.009726f, 0.053949f, -0.015518f, 0.058926f, 0.019142f, 0.030201f, 0.013016f, -0.017595f, 0.032222f, -0.039072f, 0.003795f, 0.075161f, -0.057973f, 0.003572f, -0.076059f, -0.036992f, -0.054271f, -0.039954f, -0.008165f, 0.002307f, -0.016889f, -0.061093f, -0.009348f, -0.100250f, 0.112594f, 0.037546f, 0.001671f, -0.016493f, -0.026154f, 0.004921f, -0.048548f, 0.007983f, -0.073370f, 0.000829f, 0.003321f, 0.015853f, 0.045934f, 0.067603f, 0.000094f, -0.113558f, -0.056511f, 0.049134f, -0.034241f, -0.016244f, 0.019381f, -0.043238f, 0.030253f, 0.051971f, 0.017537f, -0.022166f, -0.032180f, 0.015884f, -0.041219f, 0.064273f, 0.051356f, 0.081165f, -0.058507f, -0.069388f, -0.019080f, -0.000614f, -0.037059f, 0.048127f, 0.055690f, -0.041291f, -0.001685f, -0.074407f, -0.023847f, -0.034717f, -0.069714f, 0.022526f, 0.054487f, 0.035043f, -0.046003f, -0.016135f, 0.003370f, 0.038901f, 0.003784f, -0.001668f, 0.012271f, -0.003174f, -0.021171f, - -0.059871f, -0.043471f, 0.016903f, -0.007881f, -0.031971f, 0.033765f, 0.033323f, 0.018070f, -0.061111f, -0.059402f, 0.055281f, 0.029967f, 0.041550f, -0.043324f, -0.102436f, -0.022444f, 0.045562f, 0.040587f, -0.008750f, 0.102206f, -0.010978f, 0.102619f, -0.156737f, -0.200577f, -0.078393f, -0.122311f, 0.004429f, 0.042695f, 0.027929f, 0.124793f, -0.010367f, -0.012150f, 0.029160f, -0.029295f, -0.094672f, -0.093459f, -0.091266f, 0.078496f, 0.080458f, -0.023690f, 0.035247f, 0.009562f, 0.025830f, -0.079583f, 0.069642f, 0.047389f, 0.023792f, 0.059378f, -0.034007f, 0.019646f, -0.101127f, -0.053822f, 0.030089f, 0.034707f, 0.020316f, 0.009633f, 0.015562f, 0.023012f, -0.010057f, 0.114280f, 0.013188f, 0.069543f, 0.023631f, -0.039763f, 0.092554f, -0.016623f, 0.037776f, -0.002624f, 0.034646f, -0.008050f, 0.000367f, 0.014998f, 0.047504f, 0.008218f, 0.035291f, -0.002816f, -0.004582f, 0.065825f, 0.010314f, -0.020527f, 0.003434f, -0.011344f, -0.033609f, -0.016232f, 0.022259f, 0.006996f, -0.078044f, -0.026137f, 0.012411f, 0.011743f, 0.086259f, 0.061236f, -0.080640f, -0.053306f, 0.009315f, -0.026363f, - 0.095004f, 0.000547f, 0.087963f, -0.069064f, 0.045805f, -0.001036f, 0.007850f, 0.029133f, 0.091042f, 0.045456f, 0.015525f, 0.064902f, 0.034834f, -0.050525f, -0.072915f, 0.052430f, -0.055848f, 0.022496f, -0.073381f, -0.023192f, -0.116294f, 0.099884f, -0.008018f, -0.125895f, -0.036619f, -0.005506f, 0.009860f, 0.016477f, -0.084817f, -0.042163f, 0.069768f, -0.023276f, 0.023679f, -0.027096f, 0.003979f, 0.097618f, 0.145410f, 0.016023f, -0.008130f, 0.080483f, 0.029806f, 0.037014f, 0.089389f, 0.008412f, 0.053290f, 0.074055f, 0.062611f, -0.018626f, 0.025991f, 0.065345f, 0.079364f, 0.073706f, 0.098198f, 0.063891f, 0.126031f, 0.143089f, 0.096455f, 0.115908f, 0.072341f, 0.000172f, 0.034967f, 0.027637f, -0.028857f, -0.018846f, 0.020464f, 0.072100f, 0.013747f, 0.012289f, -0.000836f, 0.040858f, 0.093458f, 0.082995f, 0.157316f, 0.042194f, -0.081936f, 0.043465f, 0.001536f, 0.044617f, -0.042019f, 0.074298f, -0.114232f, -0.135186f, 0.041183f, 0.160860f, 0.064331f, 0.042915f, -0.184002f, 0.015075f, 0.069071f, 0.125789f, 0.147642f, -0.047495f, 0.006733f, -0.239738f, -0.173812f, 0.087840f, - 0.088275f, -0.119879f, -0.042988f, 0.117667f, 0.144307f, -0.161955f, -0.059227f, 0.054631f, -0.037995f, 0.024580f, -0.051568f, 0.046681f, -0.042811f, 0.006730f, 0.005542f, -0.028429f, 0.017517f, -0.002311f, -0.009301f, -0.016018f, -0.033170f, -0.015260f, 0.013973f, -0.000179f, -0.033959f, 0.032604f, -0.030735f, -0.017333f, -0.025973f, -0.001222f, -0.024673f, 0.056430f, 0.003853f, 0.011447f, -0.011373f, 0.011437f, -0.012473f, 0.012777f, 0.042370f, 0.046275f, -0.008922f, 0.012529f, 0.023572f, 0.040176f, -0.023204f, 0.024312f, -0.020295f, 0.049328f, -0.009737f, -0.034837f, 0.021744f, -0.017637f, -0.012096f, 0.001992f, -0.000752f, 0.019062f, -0.008513f, -0.034510f, -0.026215f, 0.000965f, 0.009036f, -0.056807f, 0.019169f, -0.011476f, -0.002799f, 0.006330f, -0.013031f, -0.011551f, 0.006804f, -0.010440f, 0.007886f, -0.029899f, 0.033029f, -0.095532f, 0.048126f, -0.039387f, 0.059309f, -0.039191f, 0.006238f, -0.025358f, 0.118388f, 0.071660f, -0.039049f, -0.045057f, -0.003991f, 0.146884f, 0.061358f, 0.020388f, 0.040583f, -0.035939f, -0.045192f, 0.012235f, 0.028347f, 0.007097f, 0.002345f, -0.016053f, - -0.012489f, 0.013409f, 0.013787f, 0.033769f, 0.014877f, -0.018977f, -0.008543f, -0.009688f, -0.019053f, -0.000811f, 0.002796f, 0.008470f, 0.011081f, -0.000345f, -0.005513f, 0.012916f, -0.040097f, -0.015807f, 0.016899f, 0.024323f, 0.030512f, -0.018494f, -0.010986f, -0.019667f, 0.031127f, 0.021044f, -0.006908f, 0.009026f, -0.037823f, -0.033141f, 0.028503f, 0.021635f, 0.006207f, -0.057315f, -0.029837f, 0.000814f, 0.008183f, 0.035214f, 0.025128f, -0.005870f, 0.009578f, 0.011188f, -0.018784f, 0.013913f, 0.016000f, -0.007424f, -0.012044f, 0.007740f, -0.020102f, -0.001159f, -0.004542f, -0.016510f, -0.021260f, 0.023805f, 0.004831f, 0.001136f, 0.038406f, 0.039740f, 0.020066f, 0.017632f, -0.042870f, -0.116740f, 0.040122f, 0.215693f, 0.168860f, 0.162459f, 0.051334f, -0.150487f, -0.090975f, -0.133418f, -0.134639f, -0.122000f, -0.043257f, 0.066024f, 0.084289f, 0.133686f, 0.118993f, 0.072118f, 0.011405f, 0.011761f, -0.058636f, -0.091607f, -0.131792f, -0.050503f, -0.036363f, 0.011609f, -0.008207f, 0.066274f, 0.044070f, 0.018805f, 0.088035f, 0.049551f, 0.037148f, -0.008217f, 0.032454f, -0.060917f, - -0.046489f, -0.038280f, -0.044968f, -0.058654f, -0.035934f, -0.023958f, -0.059982f, -0.041726f, 0.014535f, 0.085580f, 0.082533f, 0.093799f, 0.073465f, 0.107263f, 0.017569f, 0.026242f, -0.073531f, -0.055287f, -0.047209f, -0.110420f, -0.109346f, -0.099143f, -0.047254f, -0.059347f, 0.011764f, 0.039093f, 0.058877f, 0.118272f, 0.117740f, 0.110520f, 0.100756f, 0.085361f, 0.017235f, -0.057918f, -0.087980f, -0.159559f, -0.133794f, -0.103123f, -0.131920f, -0.067991f, -0.018778f, 0.005163f, 0.071053f, -0.011663f}, - {0.021736f, -0.007451f, 0.005663f, -0.000828f, -0.000604f, -0.006723f, 0.003772f, 0.009929f, -0.005600f, -0.002551f, 0.001406f, -0.004267f, -0.006998f, 0.001082f, 0.000146f, -0.006679f, -0.011418f, 0.009130f, -0.004750f, 0.015686f, -0.000866f, 0.008794f, -0.012468f, -0.000567f, 0.004503f, -0.002774f, -0.006592f, -0.002739f, -0.004715f, -0.000813f, -0.003901f, 0.000418f, -0.000817f, -0.005793f, 0.003605f, -0.007730f, 0.009132f, -0.003228f, -0.002527f, -0.001496f, 0.010825f, 0.010146f, 0.000393f, 0.007538f, 0.004836f, -0.002385f, -0.002277f, 0.010106f, -0.005035f, -0.011644f, -0.000156f, -0.002499f, 0.012622f, 0.000651f, 0.001579f, -0.007943f, 0.000022f, -0.004172f, -0.004397f, -0.002159f, -0.004740f, 0.003444f, -0.006852f, -0.003069f, 0.001748f, -0.002541f, -0.007346f, -0.010273f, -0.000200f, 0.005892f, 0.003096f, 0.004963f, -0.000100f, -0.001260f, 0.001842f, -0.000646f, -0.006901f, -0.007122f, -0.012136f, 0.004529f, -0.006268f, -0.010683f, -0.007918f, 0.005802f, -0.014980f, -0.007288f, -0.018175f, 0.006728f, 0.007154f, 0.010602f, 0.004760f, -0.005488f, 0.012590f, -0.008443f, 0.002001f, 0.000914f, - -0.002590f, -0.008961f, -0.005601f, -0.009921f, -0.000277f, -0.003855f, 0.005217f, 0.004542f, -0.005733f, -0.000982f, -0.001853f, -0.009062f, -0.001111f, -0.001530f, 0.003593f, 0.000448f, 0.008045f, -0.002501f, 0.010363f, -0.004186f, -0.000588f, 0.002395f, -0.008833f, 0.006235f, -0.003230f, -0.002506f, 0.000162f, -0.001593f, 0.003480f, -0.016377f, 0.007089f, 0.010806f, 0.000645f, 0.006386f, 0.002314f, -0.006943f, -0.001863f, -0.007595f, 0.010240f, -0.002393f, -0.007845f, 0.007237f, -0.011142f, 0.000957f, 0.002987f, -0.011105f, 0.000393f, -0.002266f, -0.005427f, 0.004393f, -0.000157f, 0.001394f, -0.006497f, -0.003276f, -0.019570f, -0.002210f, 0.003504f, -0.026714f, -0.015807f, 0.002798f, -0.008464f, 0.001493f, -0.008733f, -0.015402f, -0.009989f, 0.017175f, 0.010253f, -0.002824f, 0.011909f, 0.002624f, 0.003067f, 0.003157f, -0.005494f, -0.001679f, 0.009730f, -0.007805f, 0.004532f, 0.006830f, -0.007232f, -0.011892f, 0.005609f, -0.009740f, 0.001294f, 0.005396f, 0.014361f, -0.003300f, -0.006574f, -0.006074f, 0.002450f, 0.007576f, -0.010182f, -0.000194f, 0.008858f, 0.003277f, 0.001185f, -0.000672f, - -0.000512f, 0.011055f, -0.000121f, 0.010121f, 0.007036f, -0.002694f, 0.007027f, -0.002454f, -0.000259f, -0.001141f, -0.018292f, 0.006363f, 0.010934f, -0.006199f, -0.003071f, 0.002477f, 0.003302f, 0.002901f, 0.002106f, -0.001109f, -0.001766f, 0.000535f, -0.004175f, 0.012678f, -0.005174f, 0.001386f, 0.007534f, 0.005441f, -0.003929f, 0.004931f, 0.002282f, 0.003159f, 0.007742f, 0.006030f, -0.008500f, 0.009379f, 0.011405f, -0.004071f, -0.010140f, 0.013075f, 0.009194f, 0.020439f, -0.003067f, 0.001861f, 0.006767f, -0.010489f, -0.001704f, 0.003662f, -0.003782f, -0.014112f, -0.000416f, 0.001113f, 0.009627f, -0.011470f, -0.026711f, -0.022267f, -0.013075f, 0.004847f, 0.013311f, -0.013351f, 0.007723f, -0.006739f, 0.010391f, 0.007365f, 0.007187f, 0.011564f, 0.007093f, -0.009749f, -0.008198f, 0.001232f, 0.006843f, -0.000889f, 0.001010f, 0.016307f, 0.000344f, 0.002499f, 0.008805f, 0.008364f, 0.001954f, -0.000178f, 0.021170f, -0.001885f, -0.007236f, -0.002784f, 0.005234f, 0.005564f, -0.003450f, 0.010629f, 0.002756f, 0.005468f, -0.007349f, -0.007558f, -0.002088f, -0.005194f, 0.003346f, -0.004258f, - 0.012785f, -0.014558f, -0.011736f, 0.014462f, -0.000809f, -0.001312f, -0.016718f, 0.004717f, -0.007610f, 0.008664f, -0.006313f, -0.020330f, 0.000217f, 0.008998f, -0.007039f, 0.011796f, -0.006202f, 0.004729f, 0.032664f, 0.007370f, 0.008911f, 0.003450f, -0.007125f, 0.015292f, -0.007074f, -0.004657f, 0.020070f, -0.001742f, 0.016202f, -0.001930f, -0.017889f, 0.006184f, -0.005862f, 0.019819f, 0.010881f, -0.001649f, -0.017645f, -0.012815f, 0.016930f, 0.019438f, -0.022641f, 0.011266f, 0.009561f, 0.006673f, -0.001147f, 0.001980f, 0.002284f, -0.001998f, 0.023134f, -0.001291f, -0.003512f, -0.006534f, -0.007233f, -0.010003f, -0.002798f, -0.000785f, -0.012686f, -0.004941f, 0.003868f, -0.009413f, 0.000971f, 0.000244f, 0.014102f, -0.005397f, 0.000932f, 0.006038f, 0.001068f, 0.012713f, 0.006435f, 0.013219f, 0.007282f, 0.003793f, -0.013691f, 0.001161f, -0.009943f, -0.010279f, 0.003084f, 0.013422f, 0.000226f, 0.011448f, -0.004142f, -0.009403f, -0.001179f, 0.000090f, 0.004484f, 0.007609f, -0.002655f, -0.000678f, -0.003201f, 0.003840f, 0.004557f, -0.012554f, 0.003994f, 0.001187f, 0.009281f, 0.006248f, - 0.007478f, 0.020666f, 0.011017f, -0.009227f, -0.007984f, -0.022625f, -0.001369f, -0.000712f, -0.011894f, 0.004321f, 0.018058f, 0.001938f, -0.014133f, 0.012908f, 0.012545f, -0.001581f, 0.005021f, 0.012389f, 0.003010f, -0.011832f, -0.001788f, 0.026541f, 0.013194f, 0.002432f, -0.017764f, -0.006711f, 0.016117f, 0.005176f, -0.002484f, 0.008697f, 0.008056f, 0.008094f, -0.000169f, 0.016223f, -0.000268f, -0.002619f, 0.004068f, -0.008793f, -0.011008f, -0.001085f, 0.001666f, 0.005632f, 0.003215f, -0.010747f, 0.010092f, 0.017444f, 0.009050f, -0.001177f, 0.013175f, -0.016016f, 0.008443f, -0.009887f, 0.009280f, -0.003387f, -0.011332f, -0.001458f, -0.014690f, -0.024438f, -0.008950f, -0.010386f, -0.001559f, -0.001266f, -0.012731f, 0.001087f, -0.004252f, 0.005667f, 0.004199f, 0.006762f, -0.001871f, 0.001410f, -0.012352f, -0.000420f, 0.001414f, 0.013077f, -0.006461f, -0.022667f, -0.013816f, 0.030375f, -0.006087f, -0.007513f, 0.002544f, -0.001781f, 0.034040f, -0.010427f, -0.017243f, -0.000247f, -0.016994f, 0.003736f, 0.014888f, 0.014521f, 0.005561f, -0.031603f, 0.026180f, -0.020689f, 0.011401f, -0.014359f, - -0.009617f, -0.008337f, 0.013482f, 0.012966f, -0.019659f, 0.000938f, 0.009750f, -0.007033f, 0.004924f, 0.005321f, -0.006556f, 0.000258f, -0.015997f, -0.012016f, -0.025139f, 0.014708f, -0.002749f, 0.025521f, -0.011307f, 0.004986f, 0.018438f, -0.005086f, -0.004248f, -0.008469f, 0.021045f, 0.013926f, -0.023633f, 0.006295f, -0.012899f, -0.005424f, -0.004340f, -0.014596f, 0.009425f, 0.003637f, 0.022857f, 0.014486f, -0.026049f, -0.005272f, -0.010440f, 0.015102f, 0.006881f, 0.000525f, -0.014481f, 0.001514f, -0.000146f, 0.012491f, -0.000579f, 0.000761f, -0.016461f, -0.001346f, 0.015064f, -0.012891f, 0.004482f, -0.004587f, -0.000262f, -0.009977f, 0.001060f, 0.003383f, 0.007534f, -0.008347f, 0.000510f, -0.017618f, -0.002278f, -0.020343f, 0.003090f, -0.005128f, 0.011560f, -0.000874f, 0.009778f, -0.013984f, -0.026336f, 0.005481f, 0.017484f, 0.002209f, -0.002288f, 0.013642f, 0.009078f, -0.021552f, -0.000536f, -0.008216f, 0.026921f, -0.001357f, 0.002936f, 0.001966f, 0.000039f, -0.001029f, -0.009989f, 0.021304f, -0.002099f, -0.030687f, -0.006011f, 0.018243f, -0.012206f, 0.002837f, -0.000810f, 0.002208f, - -0.004159f, 0.002664f, -0.005968f, 0.006987f, -0.012070f, 0.010692f, 0.015045f, -0.012447f, -0.003508f, -0.007529f, -0.021663f, 0.008110f, -0.015528f, 0.012701f, -0.013726f, -0.023346f, -0.006760f, 0.013132f, -0.004775f, -0.008699f, 0.008557f, 0.012022f, 0.006640f, 0.013173f, 0.023027f, 0.018316f, -0.001805f, 0.002915f, 0.002647f, -0.013578f, 0.001878f, -0.014352f, -0.014861f, 0.006430f, -0.011141f, -0.030994f, -0.024035f, 0.013609f, 0.027908f, -0.000988f, -0.000494f, 0.004144f, -0.011792f, -0.007217f, -0.029885f, -0.017463f, -0.007651f, -0.001239f, -0.021403f, 0.031315f, 0.007575f, 0.017017f, -0.019382f, -0.025461f, -0.017259f, -0.008111f, 0.006122f, -0.028764f, -0.011239f, 0.011981f, -0.004277f, -0.034778f, -0.010222f, 0.003656f, 0.001643f, 0.020104f, 0.008369f, -0.007501f, -0.014735f, 0.019087f, -0.010252f, -0.002061f, 0.016432f, 0.003565f, -0.015006f, -0.009310f, 0.000146f, -0.028302f, 0.008352f, 0.020433f, -0.007804f, -0.012652f, 0.004618f, -0.014760f, -0.003582f, 0.001872f, -0.007265f, -0.007648f, 0.008845f, -0.011235f, -0.020206f, 0.009918f, -0.010759f, -0.017212f, -0.020642f, -0.012111f, - 0.004065f, -0.009865f, 0.005631f, 0.026642f, 0.017568f, -0.004286f, 0.028389f, 0.025757f, -0.009295f, 0.002795f, 0.009892f, -0.014683f, -0.006133f, -0.029910f, 0.006633f, -0.008755f, -0.018673f, 0.048205f, -0.001499f, 0.029418f, -0.014568f, -0.042911f, 0.012586f, 0.003325f, -0.001238f, -0.020280f, -0.001503f, -0.013458f, 0.034166f, 0.024384f, 0.022526f, 0.015839f, -0.025954f, -0.000435f, 0.004113f, 0.023199f, -0.039633f, -0.004807f, -0.009326f, -0.011967f, 0.006528f, -0.013448f, 0.005660f, 0.008719f, 0.007158f, 0.006938f, 0.009820f, -0.002981f, -0.003422f, -0.019689f, -0.004116f, -0.003144f, 0.019698f, -0.000151f, -0.017001f, -0.004261f, 0.021394f, -0.002549f, 0.012676f, 0.015483f, -0.010755f, -0.006779f, -0.025298f, -0.015099f, 0.051127f, 0.013263f, 0.023051f, 0.012050f, 0.003468f, 0.001869f, -0.031528f, 0.018979f, 0.003521f, 0.005568f, 0.016865f, 0.017848f, 0.028268f, -0.031988f, -0.012765f, -0.017752f, -0.001838f, 0.004428f, -0.003877f, -0.009002f, -0.004980f, -0.026914f, -0.033560f, -0.022068f, -0.031605f, -0.004417f, -0.020897f, -0.035846f, -0.015056f, 0.065211f, 0.014800f, -0.009497f, - -0.013542f, 0.001994f, -0.020966f, -0.041059f, 0.030089f, -0.000023f, 0.019330f, -0.014845f, 0.013949f, 0.033292f, -0.003413f, 0.003496f, -0.008554f, 0.028887f, 0.024421f, 0.009218f, -0.039665f, 0.002516f, 0.005650f, 0.024041f, 0.035363f, -0.010911f, -0.007466f, -0.005159f, 0.009326f, 0.012190f, 0.010338f, -0.018519f, 0.007991f, -0.021310f, 0.015619f, 0.020521f, -0.010352f, -0.021648f, 0.012989f, -0.023550f, -0.021106f, -0.001682f, 0.005816f, 0.028840f, 0.003349f, -0.005009f, 0.025083f, -0.005707f, 0.022520f, 0.040921f, 0.020861f, -0.000701f, -0.026851f, -0.003815f, -0.015507f, -0.013839f, 0.026746f, 0.008985f, -0.027096f, -0.001957f, -0.020653f, -0.007042f, 0.035707f, 0.014386f, 0.005427f, 0.013035f, 0.021826f, 0.008641f, -0.028098f, 0.011978f, 0.024812f, 0.004948f, -0.018354f, 0.004188f, 0.004091f, -0.000829f, -0.012665f, 0.016036f, 0.010462f, 0.009482f, -0.015875f, -0.000761f, -0.020259f, -0.047607f, 0.016486f, -0.018923f, 0.005311f, 0.001759f, 0.033470f, -0.022940f, -0.020276f, -0.008471f, -0.009209f, -0.012221f, 0.024812f, -0.021787f, -0.030715f, 0.009313f, -0.057508f, 0.001770f, - -0.010645f, -0.024333f, 0.031294f, -0.001925f, -0.001540f, 0.013113f, -0.011966f, 0.009855f, -0.002742f, -0.034438f, -0.037192f, -0.000375f, 0.008421f, 0.022028f, 0.011184f, -0.002562f, -0.003374f, -0.021755f, -0.009608f, 0.021639f, -0.033301f, 0.046788f, 0.028694f, 0.006060f, 0.035615f, -0.023450f, -0.008941f, -0.021559f, -0.020604f, -0.009802f, 0.017071f, 0.043831f, 0.001747f, -0.023521f, -0.002351f, 0.001426f, -0.000791f, -0.003252f, -0.012187f, 0.010907f, 0.013139f, 0.028639f, 0.001920f, 0.032300f, 0.020289f, 0.007491f, 0.002552f, 0.005045f, -0.046347f, 0.023999f, -0.001174f, -0.032716f, 0.028232f, -0.003668f, 0.038478f, -0.016440f, -0.015216f, -0.087327f, -0.008783f, 0.054826f, -0.011615f, 0.003545f, 0.044352f, -0.008717f, -0.001288f, 0.007696f, 0.010525f, -0.011802f, 0.010523f, -0.002643f, -0.017176f, 0.017078f, 0.015829f, -0.049914f, 0.004453f, -0.044126f, -0.002946f, -0.021712f, -0.027885f, -0.003366f, -0.009530f, -0.023023f, 0.011127f, 0.006711f, 0.014478f, 0.024513f, -0.033247f, 0.042446f, 0.001165f, -0.034557f, 0.001488f, -0.022946f, -0.014557f, -0.024812f, -0.026746f, -0.007932f, - 0.024844f, -0.019709f, 0.011027f, 0.029843f, -0.017569f, -0.025272f, -0.027843f, -0.035198f, -0.043127f, -0.020955f, -0.013409f, 0.006825f, -0.007878f, 0.015181f, 0.006258f, -0.020762f, -0.003451f, 0.031774f, 0.014233f, -0.036716f, 0.014344f, 0.001346f, -0.013215f, -0.033244f, 0.023730f, -0.008621f, 0.033359f, 0.050063f, -0.000979f, 0.048293f, -0.025762f, 0.030948f, -0.021071f, 0.033496f, 0.030634f, 0.011226f, -0.040260f, 0.032071f, -0.078827f, -0.007090f, -0.005663f, -0.009109f, 0.009507f, -0.048876f, 0.005195f, -0.011619f, -0.002086f, 0.018694f, 0.010180f, 0.022106f, -0.017288f, 0.014834f, -0.007377f, -0.043971f, -0.014962f, -0.033049f, -0.017223f, 0.017177f, -0.034486f, 0.001857f, -0.011840f, -0.030230f, -0.003408f, 0.023712f, -0.034429f, -0.037525f, 0.015477f, 0.017602f, 0.000152f, -0.019492f, 0.020588f, 0.017176f, 0.026215f, 0.018229f, 0.010088f, 0.026105f, 0.036062f, -0.022249f, 0.006293f, -0.020111f, 0.044860f, -0.007191f, -0.029398f, 0.032863f, 0.016946f, 0.004984f, -0.016531f, -0.026984f, 0.006191f, 0.009932f, 0.014755f, -0.005328f, -0.018395f, 0.010319f, -0.021581f, -0.003662f, - -0.021329f, 0.063352f, 0.011035f, -0.023979f, 0.056192f, -0.011402f, 0.017542f, -0.019073f, 0.028448f, 0.036899f, -0.025340f, 0.035159f, 0.042555f, 0.050908f, 0.042441f, 0.001342f, 0.029447f, 0.082295f, 0.022923f, -0.015341f, -0.011012f, 0.018258f, 0.006750f, 0.007142f, -0.000786f, -0.034455f, 0.029237f, -0.077225f, 0.009588f, 0.015619f, -0.002112f, -0.015005f, -0.027933f, -0.014489f, 0.004737f, 0.021497f, 0.035760f, -0.021496f, -0.043090f, -0.036875f, -0.003888f, 0.000278f, -0.024942f, 0.052691f, -0.023904f, -0.017425f, 0.023307f, -0.008547f, 0.005086f, -0.005795f, 0.047157f, 0.006736f, -0.045200f, 0.017372f, 0.006833f, 0.031070f, -0.010496f, 0.002572f, -0.018247f, 0.015023f, 0.007847f, 0.039485f, -0.009094f, 0.017387f, 0.019782f, -0.025157f, -0.026313f, 0.001164f, 0.024941f, -0.048185f, -0.055805f, -0.017205f, -0.022857f, -0.003677f, -0.008099f, 0.004978f, 0.012593f, -0.011952f, 0.001571f, -0.065360f, -0.055676f, 0.043303f, 0.045609f, -0.056609f, -0.044437f, -0.054465f, -0.030012f, -0.022764f, 0.025759f, -0.029839f, -0.054963f, 0.001391f, -0.000967f, -0.029456f, -0.006768f, -0.047205f, - -0.004928f, -0.012034f, 0.014688f, -0.022825f, -0.005296f, -0.073073f, 0.064616f, 0.040199f, -0.006291f, 0.086763f, -0.007979f, -0.049065f, -0.003816f, 0.018675f, -0.029127f, -0.040282f, -0.007655f, -0.027878f, -0.000682f, 0.006306f, -0.039731f, 0.057942f, 0.002535f, 0.005105f, -0.036624f, -0.012034f, 0.004563f, -0.012005f, 0.010041f, 0.012029f, 0.049176f, 0.007199f, -0.001923f, 0.037705f, 0.032989f, -0.013150f, 0.019704f, -0.026563f, 0.007603f, 0.020144f, 0.021993f, 0.053039f, -0.053699f, 0.031368f, 0.101495f, -0.001415f, 0.017275f, 0.032221f, 0.004717f, 0.004450f, 0.017119f, 0.009994f, -0.032789f, -0.042882f, -0.013615f, 0.029375f, 0.010712f, -0.044858f, -0.021401f, -0.005206f, -0.018695f, 0.033439f, 0.004932f, 0.024652f, -0.061905f, -0.043844f, 0.020573f, 0.038730f, 0.029099f, 0.012002f, 0.063336f, 0.028866f, -0.021978f, 0.033879f, -0.026974f, -0.016527f, 0.006600f, 0.027623f, -0.081753f, -0.000378f, 0.001744f, -0.004807f, -0.008303f, 0.037176f, 0.005508f, -0.024590f, -0.039669f, 0.040686f, -0.035371f, -0.000920f, 0.029916f, 0.020177f, -0.027174f, -0.009765f, -0.045290f, -0.001947f, - 0.016411f, 0.015048f, 0.022148f, 0.003489f, -0.028404f, -0.040461f, 0.034865f, 0.015031f, 0.018867f, 0.004847f, 0.019215f, 0.003509f, 0.026641f, -0.043243f, -0.067870f, 0.018492f, -0.007493f, -0.016246f, 0.042939f, -0.007981f, -0.017707f, 0.034084f, 0.036555f, 0.026594f, 0.001094f, -0.018601f, -0.026808f, -0.008516f, -0.036535f, 0.094496f, -0.004081f, 0.033857f, 0.011522f, -0.031734f, 0.030257f, -0.012075f, -0.025684f, 0.029872f, 0.028339f, -0.051817f, 0.041481f, -0.004857f, 0.055890f, -0.050086f, -0.032886f, 0.053011f, 0.004025f, -0.039812f, 0.049319f, -0.013083f, 0.080204f, -0.027534f, -0.016740f, -0.039447f, 0.037576f, 0.011385f, -0.023926f, 0.022589f, -0.025399f, 0.013635f, -0.012398f, -0.021933f, 0.060206f, -0.012084f, 0.040106f, -0.063840f, -0.013674f, 0.000623f, -0.080808f, -0.015145f, 0.009334f, 0.040865f, -0.021439f, -0.016268f, -0.000341f, -0.003860f, 0.053220f, -0.003028f, -0.029838f, 0.060871f, -0.009318f, -0.000746f, 0.009018f, -0.021114f, 0.048618f, 0.005677f, -0.012379f, 0.026624f, 0.018751f, -0.025265f, -0.011522f, -0.010419f, 0.037399f, -0.076407f, -0.003404f, -0.012820f, - -0.029892f, 0.016006f, -0.030369f, 0.048445f, -0.014125f, -0.054246f, -0.007999f, 0.088937f, -0.054486f, 0.040475f, -0.060526f, -0.014119f, 0.055959f, 0.045210f, -0.033560f, 0.017520f, -0.040488f, -0.047448f, 0.008407f, -0.019246f, 0.019557f, 0.009234f, -0.005947f, 0.011498f, -0.076150f, -0.025806f, -0.040182f, -0.050800f, 0.022193f, -0.017401f, -0.018008f, -0.026824f, -0.055632f, -0.041042f, 0.030679f, -0.004135f, 0.102916f, 0.021083f, 0.003724f, 0.038441f, 0.043307f, 0.018551f, 0.040927f, -0.023790f, -0.032456f, 0.036513f, -0.057208f, -0.005579f, -0.012347f, 0.004416f, 0.039090f, -0.024893f, 0.043498f, 0.020089f, 0.009447f, 0.014411f, -0.072562f, 0.050208f, 0.008642f, -0.049327f, 0.019379f, -0.052352f, 0.008761f, 0.073528f, -0.009306f, -0.041194f, -0.045738f, 0.020932f, 0.032481f, 0.028047f, 0.013875f, -0.045893f, -0.032745f, -0.013006f, -0.008956f, 0.063385f, -0.039062f, -0.021526f, 0.091690f, -0.049015f, -0.003888f, 0.038384f, 0.000272f, 0.040419f, -0.005435f, -0.028658f, -0.020486f, -0.053787f, 0.028938f, 0.042382f, -0.059544f, 0.092142f, 0.030213f, -0.064754f, -0.061121f, -0.055774f, - -0.069844f, -0.053753f, 0.003545f, 0.031545f, 0.006212f, -0.043689f, -0.017185f, 0.035789f, 0.000001f, -0.025092f, 0.033645f, -0.058567f, 0.005123f, -0.008531f, -0.057813f, -0.047613f, 0.010968f, -0.012381f, 0.043521f, -0.063025f, -0.007255f, -0.002575f, 0.043651f, -0.109421f, -0.101385f, -0.087696f, -0.056848f, 0.023051f, -0.024096f, 0.113021f, 0.029684f, -0.011936f, -0.026048f, -0.014139f, 0.031791f, -0.073306f, 0.085795f, 0.113916f, 0.045008f, -0.006696f, 0.089696f, -0.028344f, 0.054124f, 0.103603f, -0.019167f, 0.005949f, 0.019041f, 0.137858f, -0.035251f, -0.008376f, 0.081371f, 0.031364f, 0.025854f, -0.022168f, -0.084332f, 0.006211f, -0.066983f, 0.032184f, -0.082926f, -0.095920f, -0.001782f, -0.004947f, -0.068018f, -0.002932f, -0.033500f, -0.068317f, -0.055985f, -0.089281f, -0.005191f, 0.092777f, -0.030315f, -0.016662f, -0.085832f, -0.044370f, -0.032399f, -0.027923f, 0.027384f, -0.019485f, 0.151616f, -0.034791f, -0.003685f, -0.054280f, 0.113786f, 0.096694f, -0.069003f, 0.079191f, -0.029072f, -0.109934f, -0.022327f, -0.008223f, 0.021147f, -0.023176f, -0.028112f, -0.010794f, -0.048192f, 0.016907f, - 0.053976f, -0.062404f, -0.033640f, 0.045504f, 0.195718f, 0.021991f, -0.120813f, -0.030864f, -0.041812f, 0.008919f, 0.062217f, 0.108896f, 0.032799f, -0.091863f, -0.000042f, 0.063380f, 0.015631f, 0.001449f, -0.000872f, 0.016750f, -0.006652f, -0.010822f, 0.077662f, 0.047711f, 0.044514f, -0.063540f, -0.039070f, 0.044342f, 0.019560f, 0.026603f, -0.019411f, 0.009008f, 0.087023f, 0.003089f, 0.074408f, 0.038696f, 0.042201f, 0.071028f, 0.013602f, -0.035434f, 0.012257f, -0.040652f, 0.014521f, 0.031322f, 0.011607f, 0.115871f, -0.033680f, -0.071260f, -0.066197f, 0.090279f, 0.045399f, 0.049346f, 0.037132f, -0.047713f, -0.057840f, -0.035674f, 0.003569f, 0.022224f, -0.007722f, 0.034322f, 0.064808f, -0.000524f, 0.049248f, 0.042117f, -0.051547f, -0.007748f, 0.024918f, -0.023489f, -0.016190f, -0.024624f, -0.087777f, -0.011820f, 0.052711f, 0.008512f, 0.096725f, 0.061398f, -0.028442f, 0.033559f, -0.006893f, -0.051473f, 0.009275f, 0.149167f, 0.043340f, 0.060140f, -0.028262f, -0.144427f, -0.067303f, -0.107611f, -0.031120f, 0.064568f, 0.162414f, 0.066104f, 0.021125f, -0.080429f, -0.067808f, 0.045093f, - 0.082343f, 0.034112f, 0.099214f, -0.009266f, -0.059644f, -0.097197f, -0.041662f, -0.019607f, 0.074297f, 0.003198f, 0.044126f, 0.031060f, 0.009034f, 0.089475f, 0.069548f, -0.013290f, -0.006485f, -0.093919f, -0.018854f, -0.008113f, 0.004248f, 0.043910f, 0.092203f, 0.048426f, 0.045356f, 0.077614f, 0.050811f, -0.094567f, -0.068484f, -0.029199f, -0.053419f, 0.051081f, 0.041364f, 0.078875f, 0.068874f, 0.068568f, 0.023845f, 0.005173f, -0.061993f, -0.074596f, -0.061170f, 0.012553f, 0.031716f, -0.009964f, -0.008600f, 0.126106f, 0.033792f, -0.020696f, -0.014456f, 0.081150f, -0.102259f, 0.007183f, -0.193879f, -0.058265f, 0.040972f, -0.085427f, 0.051180f, 0.009964f, -0.018427f, 0.070723f, 0.006461f, -0.215885f, -0.138571f, -0.067028f, 0.063226f, 0.026607f, 0.301326f, 0.331621f, 0.196303f, 0.367965f, 0.293745f, 0.320929f, 0.216982f, 0.274604f, 0.216275f, 0.018192f, -0.095957f, -0.128703f, -0.132181f, -0.272903f, -0.340051f, -0.345086f, -0.244587f, -0.179727f, -0.067955f, 0.035206f, -0.090741f, 0.085681f, -0.116012f, -0.022323f, 0.006158f, -0.013848f, 0.047338f, -0.090859f, 0.181725f, 0.057782f, - 0.169052f, 0.127570f, 0.077654f, 0.072887f, 0.106352f, 0.089931f, 0.110558f, 0.233137f, 0.213118f, 0.188634f, 0.211324f, 0.272601f, 0.241325f, 0.243284f, 0.396005f, 0.176707f, 0.292413f, 0.384137f, 0.269334f, 0.357979f, 0.205461f, 0.276388f, 0.217479f, 0.268461f, 0.272192f, 0.154216f, 0.201091f, 0.187224f, 0.198291f, 0.215923f, 0.108801f, 0.073401f, -0.055281f, 0.058977f, -0.091037f, -0.035997f, -0.166545f, -0.164002f, -0.189144f, -0.484562f, -0.414487f, -0.326787f, -0.150217f, -0.025114f} - }, - { - {0.003329f, -0.000751f, 0.002711f, -0.000613f, 0.011412f, -0.001706f, -0.000436f, 0.013916f, -0.003339f, 0.015501f, 0.002817f, -0.006190f, 0.009349f, 0.004433f, -0.006836f, 0.002590f, 0.003705f, 0.001107f, 0.005971f, -0.001553f, 0.004801f, -0.000001f, -0.006675f, 0.002886f, 0.007366f, 0.004252f, 0.004292f, -0.000852f, 0.000624f, 0.000042f, 0.002671f, 0.005438f, -0.012971f, -0.006300f, 0.000300f, 0.003121f, 0.001216f, -0.005038f, 0.009917f, 0.003295f, -0.002219f, 0.005319f, 0.001920f, 0.007357f, 0.002130f, -0.002867f, -0.005623f, 0.005949f, 0.000399f, -0.000105f, -0.003033f, 0.001677f, -0.005291f, -0.003670f, 0.002461f, 0.005326f, -0.002556f, 0.001182f, -0.000052f, -0.000745f, 0.009833f, 0.003698f, -0.001169f, 0.001571f, 0.004297f, 0.000418f, 0.004399f, -0.005624f, 0.005375f, 0.005961f, -0.002994f, -0.009970f, -0.005228f, -0.002732f, 0.010318f, 0.000113f, -0.003725f, -0.000961f, -0.009087f, -0.006394f, 0.004143f, 0.000257f, -0.005703f, 0.007067f, 0.004872f, -0.001672f, 0.000492f, -0.001095f, 0.005829f, -0.008143f, 0.003058f, 0.005875f, 0.005345f, -0.011675f, -0.008046f, -0.005874f, - 0.007788f, 0.001729f, 0.002564f, -0.003367f, 0.008296f, 0.002946f, -0.002026f, 0.000054f, -0.002333f, 0.001450f, 0.003114f, -0.002015f, -0.002364f, -0.007131f, 0.007404f, 0.012123f, 0.001464f, 0.007623f, -0.001447f, 0.001369f, 0.002810f, 0.003188f, -0.009344f, 0.000437f, -0.009764f, -0.002470f, -0.001392f, 0.002833f, -0.004933f, -0.000409f, 0.002125f, 0.000724f, -0.005702f, -0.000043f, 0.000634f, 0.004379f, -0.006058f, -0.007878f, -0.001027f, 0.010000f, 0.016525f, -0.000276f, 0.002722f, 0.000829f, -0.003506f, -0.010257f, -0.002461f, 0.006592f, -0.003052f, 0.006566f, 0.002879f, 0.006714f, -0.000012f, 0.002506f, 0.004474f, -0.010143f, -0.002580f, -0.009612f, 0.005453f, 0.000850f, -0.004765f, 0.021164f, -0.008427f, -0.014807f, 0.000902f, 0.007157f, -0.001515f, -0.011098f, -0.003469f, -0.004714f, -0.002105f, -0.005165f, -0.002022f, 0.007962f, -0.000809f, -0.004885f, 0.008648f, 0.001493f, 0.008388f, -0.002126f, -0.002407f, 0.003507f, -0.000060f, 0.004052f, -0.001915f, 0.008342f, 0.013060f, -0.003517f, -0.009285f, -0.006421f, 0.005199f, 0.000140f, -0.020886f, -0.001803f, -0.008522f, -0.002905f, - 0.009736f, -0.006888f, -0.005684f, 0.007082f, -0.004894f, -0.000862f, 0.008870f, 0.003311f, -0.007660f, 0.003382f, -0.005637f, -0.012038f, 0.003477f, 0.004872f, -0.009652f, -0.005243f, -0.003117f, -0.003791f, -0.000562f, 0.004031f, 0.005790f, 0.009604f, 0.010115f, -0.002498f, 0.000484f, -0.004180f, 0.003917f, 0.002939f, -0.003164f, 0.004448f, 0.005883f, -0.006598f, -0.017018f, -0.008422f, 0.005027f, 0.007614f, 0.002751f, 0.008243f, -0.007101f, 0.008616f, 0.010238f, -0.002798f, 0.011344f, -0.001450f, 0.008304f, -0.003917f, 0.000071f, -0.003505f, 0.010659f, 0.004345f, -0.000641f, 0.009801f, -0.005371f, -0.004003f, 0.006884f, -0.016752f, -0.003153f, 0.001011f, -0.003812f, -0.014929f, -0.009405f, 0.006309f, -0.006123f, -0.003841f, -0.000032f, 0.011815f, -0.003077f, -0.008160f, -0.000911f, 0.003079f, 0.006372f, -0.000960f, -0.010930f, -0.006824f, -0.002246f, -0.005422f, 0.001476f, -0.009244f, 0.004300f, -0.008704f, -0.013137f, 0.000422f, 0.004174f, 0.005217f, -0.004435f, -0.002955f, -0.008757f, 0.010868f, 0.005946f, 0.001488f, -0.000247f, -0.000348f, -0.004062f, -0.002041f, 0.003312f, 0.004574f, - 0.016058f, -0.001944f, 0.003771f, 0.000965f, -0.000840f, -0.008183f, -0.006420f, 0.010968f, -0.005008f, 0.000888f, 0.002749f, 0.001339f, 0.004049f, 0.005079f, 0.004470f, 0.010808f, -0.007131f, -0.010553f, -0.008582f, 0.005481f, 0.011896f, -0.002108f, 0.009132f, -0.007978f, -0.009799f, 0.008272f, -0.004036f, 0.000986f, 0.003116f, 0.010363f, 0.003883f, 0.016378f, -0.006948f, -0.008449f, 0.003914f, -0.004581f, -0.004367f, 0.009406f, -0.014163f, -0.008599f, 0.001623f, -0.002516f, 0.006734f, -0.004594f, 0.002024f, 0.011811f, -0.010481f, 0.008319f, -0.006206f, 0.005515f, -0.005775f, -0.001382f, -0.000665f, 0.012302f, 0.002585f, 0.000806f, -0.008377f, 0.000831f, -0.010012f, 0.004323f, 0.002984f, -0.006508f, 0.000277f, -0.002413f, 0.018489f, 0.002913f, 0.001658f, -0.015124f, -0.008630f, -0.012651f, 0.010869f, -0.006158f, -0.000136f, 0.006015f, 0.023625f, 0.016839f, -0.005806f, -0.013500f, -0.005169f, -0.011612f, 0.013744f, -0.001805f, -0.002789f, -0.004987f, -0.002936f, -0.000395f, -0.005063f, -0.002472f, -0.009443f, 0.006899f, -0.009754f, -0.016273f, 0.016626f, 0.008102f, -0.018223f, 0.018251f, - -0.003238f, -0.000629f, -0.025445f, 0.015347f, 0.009590f, -0.019862f, 0.005677f, -0.002925f, 0.007333f, 0.002201f, 0.008510f, 0.006105f, 0.001922f, -0.009007f, 0.000550f, 0.003901f, -0.012794f, -0.004887f, -0.015032f, -0.002095f, -0.009456f, -0.004470f, 0.001375f, -0.011099f, -0.004534f, -0.016559f, 0.006145f, 0.002109f, 0.001199f, 0.001911f, -0.007560f, -0.014374f, -0.004859f, 0.005609f, -0.002624f, -0.000880f, 0.015271f, -0.022576f, 0.009455f, 0.012114f, -0.001881f, 0.001107f, -0.004629f, -0.001462f, -0.007584f, -0.011009f, -0.007853f, -0.008623f, -0.006069f, 0.005995f, 0.003094f, 0.005343f, 0.007727f, -0.001613f, -0.004112f, 0.011255f, 0.021195f, 0.015052f, -0.000182f, -0.017886f, 0.005164f, -0.002727f, 0.002987f, 0.019009f, 0.000403f, 0.019075f, 0.017984f, 0.027706f, 0.006292f, -0.004163f, -0.001936f, 0.008981f, -0.003464f, 0.026882f, -0.003399f, -0.003357f, 0.032614f, 0.000888f, 0.016192f, -0.005555f, -0.000142f, -0.000747f, 0.002133f, -0.003536f, 0.001707f, 0.000206f, -0.001548f, -0.017288f, -0.002322f, -0.003540f, -0.003824f, -0.006741f, 0.010942f, 0.006185f, 0.006269f, -0.009305f, - -0.001721f, -0.015154f, -0.007000f, 0.003852f, -0.001906f, -0.008842f, -0.003603f, 0.006242f, 0.011444f, 0.008226f, -0.004443f, -0.013899f, -0.001147f, 0.005225f, -0.003130f, 0.008906f, 0.004588f, 0.011748f, 0.014059f, -0.003662f, -0.000763f, -0.014692f, -0.019971f, 0.019440f, 0.009076f, 0.000644f, -0.001529f, 0.000775f, -0.007779f, -0.006248f, -0.000923f, 0.016143f, 0.007617f, 0.004336f, 0.016938f, -0.011798f, 0.003103f, -0.009174f, -0.009582f, 0.009871f, 0.006827f, 0.008962f, 0.025653f, 0.001872f, -0.013373f, 0.005404f, -0.013325f, -0.014562f, -0.020246f, 0.008052f, -0.018936f, 0.000317f, 0.020481f, -0.021404f, 0.007676f, 0.010078f, -0.006098f, -0.026478f, 0.000089f, 0.016026f, -0.017608f, 0.011139f, -0.001471f, -0.007329f, -0.022747f, -0.000263f, -0.016478f, 0.003255f, -0.008486f, -0.012257f, -0.016030f, 0.006893f, -0.002478f, -0.000510f, 0.014774f, -0.008656f, 0.012429f, -0.009176f, -0.004079f, 0.019855f, 0.006421f, -0.009880f, 0.007738f, 0.005171f, -0.009203f, 0.005238f, 0.004654f, -0.002919f, -0.004060f, 0.001321f, -0.004555f, -0.004548f, 0.002948f, 0.004144f, 0.026169f, -0.024239f, - 0.003782f, 0.002236f, -0.009154f, 0.018556f, 0.009919f, -0.005415f, -0.019539f, 0.002477f, -0.002234f, -0.005010f, -0.012467f, -0.013386f, 0.017055f, 0.012201f, 0.001072f, -0.000736f, 0.008839f, 0.005794f, -0.004711f, 0.008617f, 0.004704f, -0.003468f, 0.017683f, -0.005314f, 0.010136f, -0.005713f, 0.003562f, 0.009126f, -0.020442f, 0.015086f, -0.008742f, -0.003371f, -0.011872f, -0.007967f, 0.006713f, -0.006286f, 0.005431f, 0.022881f, 0.007394f, 0.012728f, -0.029079f, -0.018682f, -0.010574f, -0.006531f, 0.002781f, 0.000216f, 0.004627f, -0.023781f, 0.012581f, 0.005736f, 0.002888f, 0.023379f, 0.000047f, -0.012693f, 0.021268f, 0.008866f, -0.009995f, 0.004780f, -0.012750f, 0.011728f, 0.004995f, 0.015512f, -0.013343f, -0.008837f, 0.003464f, -0.012738f, 0.016171f, -0.014786f, -0.000651f, 0.015103f, 0.013152f, -0.027607f, -0.001196f, 0.001782f, 0.002843f, 0.005055f, 0.030173f, 0.007501f, 0.001472f, -0.008916f, -0.008193f, -0.016076f, -0.009433f, 0.023109f, 0.000054f, -0.026493f, -0.000107f, 0.006795f, -0.015880f, -0.016298f, 0.001434f, -0.010317f, 0.003888f, 0.025490f, 0.011529f, 0.011223f, - -0.010843f, -0.025572f, 0.001444f, -0.003398f, 0.011491f, -0.000845f, -0.022659f, -0.035286f, -0.010752f, 0.010173f, 0.027191f, 0.004033f, 0.013986f, 0.048747f, 0.007845f, 0.008382f, -0.007785f, -0.023260f, 0.012933f, -0.011272f, 0.011871f, -0.002918f, 0.031848f, 0.023446f, -0.012771f, -0.026376f, -0.021331f, 0.015842f, -0.014362f, 0.019409f, 0.008131f, 0.006249f, -0.007194f, -0.002692f, 0.022667f, -0.004718f, 0.019917f, 0.020284f, 0.010020f, 0.014150f, -0.016492f, 0.015314f, 0.007759f, -0.008584f, 0.021979f, -0.010257f, 0.019871f, 0.001236f, 0.001594f, -0.030515f, 0.017413f, 0.001289f, -0.006491f, 0.014498f, -0.021898f, -0.008791f, 0.011684f, 0.009815f, -0.020355f, 0.002593f, -0.013436f, -0.007702f, 0.018080f, 0.001950f, 0.004598f, -0.002719f, -0.023395f, 0.014079f, 0.012685f, 0.000121f, 0.009597f, 0.004053f, -0.011508f, -0.011363f, -0.002779f, 0.010535f, -0.022292f, -0.002238f, -0.001498f, -0.001076f, -0.003896f, 0.005944f, 0.005572f, 0.017640f, 0.042416f, 0.014387f, 0.004380f, -0.014712f, -0.040983f, 0.030213f, 0.007524f, -0.024599f, 0.006462f, -0.001171f, 0.005393f, 0.007265f, - -0.020272f, -0.038804f, -0.033030f, 0.012490f, 0.023597f, -0.003116f, 0.024862f, -0.010243f, 0.019153f, 0.026747f, 0.032491f, -0.005494f, 0.023725f, -0.020116f, 0.007290f, -0.010031f, 0.001882f, 0.015486f, -0.001673f, -0.005065f, 0.004984f, 0.019015f, -0.013073f, -0.020188f, -0.023717f, 0.049756f, -0.000945f, -0.000041f, -0.022446f, 0.024406f, 0.006151f, -0.041374f, -0.026386f, 0.012341f, -0.007171f, -0.005181f, 0.016108f, 0.008443f, 0.041396f, 0.026144f, -0.002528f, -0.021837f, -0.025228f, -0.010838f, -0.011011f, -0.024973f, 0.024743f, -0.016037f, 0.019300f, 0.020773f, -0.018923f, -0.019510f, -0.023374f, -0.028755f, 0.006398f, 0.003054f, -0.013196f, -0.010810f, -0.025504f, -0.004509f, -0.025552f, 0.009080f, -0.000188f, -0.003474f, -0.001701f, -0.022748f, -0.046296f, -0.009279f, -0.012651f, 0.003322f, -0.011416f, 0.002763f, 0.003928f, -0.004113f, 0.018647f, -0.024416f, -0.008516f, -0.023152f, -0.002057f, -0.011173f, 0.026778f, 0.031640f, 0.023828f, -0.033836f, 0.023576f, -0.011810f, 0.017688f, -0.006509f, 0.012824f, -0.010855f, -0.015656f, 0.005890f, -0.019957f, 0.012804f, 0.013874f, -0.001322f, - 0.007981f, -0.016989f, -0.003083f, 0.030004f, -0.024384f, 0.001523f, -0.007836f, -0.009285f, -0.019795f, -0.000748f, 0.028391f, 0.038754f, -0.025079f, 0.011844f, -0.003809f, -0.023208f, -0.024602f, -0.025571f, -0.012414f, 0.048741f, 0.028805f, -0.009177f, 0.015099f, -0.010502f, 0.013089f, -0.026925f, 0.015303f, -0.001183f, -0.014815f, 0.036573f, 0.019039f, 0.006888f, 0.012247f, 0.009728f, 0.035115f, 0.003458f, -0.028734f, 0.010518f, 0.023739f, 0.015687f, -0.049403f, 0.028818f, -0.018434f, -0.023089f, -0.003191f, -0.002352f, -0.000176f, 0.031633f, 0.020783f, 0.085927f, 0.024136f, -0.014558f, 0.005577f, 0.014356f, 0.000382f, 0.028510f, 0.021316f, 0.019687f, -0.025623f, -0.042911f, 0.042668f, -0.024402f, 0.003959f, 0.014572f, 0.046755f, 0.018582f, -0.028577f, 0.025379f, -0.025907f, -0.005588f, -0.035581f, -0.046663f, -0.005505f, 0.012209f, 0.012136f, 0.009010f, 0.011407f, -0.004005f, -0.032307f, -0.012112f, 0.009688f, 0.010398f, -0.017463f, 0.034969f, 0.021731f, -0.021544f, 0.010957f, 0.017220f, 0.006047f, 0.000704f, -0.020482f, -0.002797f, -0.014749f, -0.008456f, 0.000847f, 0.021616f, - 0.053419f, -0.015207f, 0.003553f, 0.007721f, 0.018820f, -0.019903f, 0.067585f, -0.006298f, 0.004755f, 0.005522f, -0.033668f, -0.031095f, -0.052274f, -0.021342f, 0.024483f, -0.009665f, 0.010545f, 0.011021f, 0.044084f, 0.007747f, 0.004339f, 0.002849f, 0.032620f, 0.018855f, -0.021714f, 0.036050f, -0.038538f, 0.009998f, -0.009600f, -0.035191f, 0.019683f, 0.010250f, 0.024338f, -0.005917f, -0.055109f, 0.005161f, -0.037027f, -0.031706f, 0.009409f, 0.008712f, 0.015063f, -0.008525f, 0.010851f, -0.000878f, -0.018789f, 0.030954f, -0.004815f, -0.008688f, -0.011882f, -0.019676f, -0.017808f, 0.012187f, -0.022409f, 0.006931f, -0.014191f, -0.008470f, -0.005896f, 0.030826f, -0.005319f, 0.033053f, 0.020152f, -0.006531f, 0.011020f, 0.012666f, 0.022996f, -0.013537f, -0.020299f, 0.005134f, 0.014008f, 0.019199f, 0.030432f, -0.030373f, -0.030492f, 0.015775f, 0.011686f, 0.038704f, -0.016611f, -0.000145f, 0.019487f, 0.002671f, 0.006631f, -0.004036f, 0.025505f, 0.032692f, 0.015583f, -0.000872f, 0.020793f, 0.065760f, -0.011656f, -0.015083f, 0.025672f, 0.000792f, 0.039211f, 0.012331f, 0.019898f, 0.024332f, - -0.003648f, 0.018299f, 0.045695f, -0.007591f, -0.047259f, 0.039770f, 0.014570f, -0.013496f, 0.010393f, -0.068165f, -0.029284f, -0.005469f, 0.055602f, 0.021581f, -0.062544f, 0.006457f, -0.007952f, 0.001871f, 0.014996f, -0.007108f, -0.030126f, 0.000958f, -0.001066f, 0.026006f, 0.062106f, -0.013310f, 0.022991f, 0.034372f, 0.002751f, -0.014381f, -0.005248f, 0.011421f, 0.062327f, -0.004802f, 0.000689f, 0.043867f, -0.014533f, 0.009229f, 0.004992f, -0.004327f, -0.007418f, 0.014341f, -0.047904f, -0.001838f, 0.021941f, 0.035237f, 0.046437f, -0.037320f, 0.006836f, 0.033764f, 0.003281f, 0.065816f, -0.019463f, -0.037316f, 0.010461f, 0.046906f, 0.014841f, -0.041981f, -0.011978f, 0.008078f, 0.006167f, 0.018513f, -0.049735f, 0.003481f, 0.009247f, -0.015185f, -0.033843f, -0.039649f, 0.016831f, -0.014537f, 0.005006f, -0.001608f, -0.034622f, -0.048337f, 0.017724f, 0.003037f, -0.036312f, -0.019443f, -0.019972f, 0.021680f, -0.061142f, -0.031995f, 0.034481f, -0.049049f, 0.036514f, -0.014579f, 0.034800f, 0.002840f, 0.018019f, -0.036414f, -0.005707f, -0.034301f, 0.036188f, 0.020139f, 0.048206f, 0.038819f, - -0.020818f, 0.009810f, 0.037516f, 0.023630f, 0.017762f, 0.016110f, -0.036915f, -0.006780f, 0.014091f, 0.005730f, 0.017139f, -0.040558f, -0.035074f, 0.022786f, 0.062587f, 0.011995f, -0.024312f, 0.044384f, 0.009035f, 0.028940f, 0.004095f, 0.008227f, -0.039588f, -0.034327f, -0.002080f, 0.003863f, -0.067289f, 0.008491f, -0.016031f, -0.000016f, 0.017630f, -0.021843f, 0.012624f, 0.054070f, 0.002487f, -0.079216f, -0.062288f, -0.006221f, -0.021196f, -0.017033f, -0.003568f, 0.018618f, 0.010089f, -0.016624f, 0.019829f, 0.025426f, 0.016527f, -0.008985f, 0.013687f, -0.005425f, -0.024881f, -0.001058f, 0.015377f, -0.057491f, -0.017832f, -0.023457f, -0.036184f, -0.008131f, 0.004268f, -0.011304f, -0.006678f, 0.073637f, 0.032720f, -0.019229f, -0.007512f, 0.014174f, 0.026392f, -0.036799f, -0.009662f, -0.015460f, 0.009598f, 0.077625f, 0.011986f, -0.037825f, 0.009845f, 0.034451f, -0.007547f, 0.032220f, 0.040472f, -0.020702f, 0.009440f, 0.020833f, 0.013859f, 0.001226f, -0.006120f, -0.012254f, 0.005958f, 0.024457f, 0.012352f, 0.022873f, -0.033823f, -0.051681f, -0.005567f, 0.023583f, 0.020471f, 0.017042f, - -0.005892f, -0.047628f, 0.015528f, 0.011033f, 0.072007f, 0.075995f, 0.018099f, -0.055861f, 0.040865f, -0.021028f, -0.057284f, -0.013043f, -0.067790f, -0.051443f, -0.022587f, -0.024582f, -0.052420f, 0.009587f, -0.020868f, -0.060035f, -0.054833f, 0.016355f, 0.036412f, -0.005553f, -0.046094f, 0.014230f, 0.001985f, 0.015279f, 0.030105f, 0.028964f, -0.035304f, 0.046925f, 0.032919f, 0.004372f, 0.013868f, 0.032721f, -0.000601f, 0.085103f, -0.059286f, -0.028620f, -0.000757f, -0.068665f, 0.057896f, 0.004535f, 0.072066f, 0.021570f, 0.017115f, 0.024305f, -0.035988f, 0.008260f, -0.073547f, -0.022013f, -0.002891f, -0.020117f, 0.084466f, 0.024481f, -0.020115f, -0.053482f, -0.024451f, -0.022910f, -0.030983f, -0.025660f, 0.014597f, -0.077311f, -0.014323f, 0.054157f, -0.004545f, -0.007727f, -0.055834f, 0.053786f, 0.029522f, -0.000211f, -0.019779f, 0.022099f, 0.013925f, -0.014637f, 0.027522f, -0.040585f, -0.008023f, -0.021434f, 0.013655f, -0.010585f, -0.022165f, 0.026558f, -0.018463f, 0.010224f, 0.003464f, -0.039501f, -0.020940f, -0.007424f, -0.044760f, -0.048248f, -0.059633f, -0.017697f, 0.031760f, -0.022594f, - -0.008280f, 0.034475f, -0.040713f, -0.037896f, 0.042516f, -0.002079f, 0.001405f, 0.033293f, 0.004388f, -0.032052f, -0.013164f, 0.009740f, 0.029825f, -0.041176f, -0.007461f, 0.044729f, 0.025617f, 0.042730f, 0.029385f, -0.012729f, 0.030514f, -0.005940f, -0.054245f, 0.014128f, -0.037371f, 0.026173f, -0.012116f, -0.022279f, 0.057225f, 0.018944f, 0.002915f, 0.006160f, -0.013881f, 0.021661f, 0.035633f, 0.087381f, 0.077806f, 0.005993f, -0.032955f, 0.015032f, 0.045524f, 0.012139f, 0.035479f, 0.024327f, 0.017684f, -0.026656f, -0.032541f, -0.040807f, -0.001814f, 0.014473f, 0.029382f, 0.056748f, 0.031302f, 0.036261f, 0.022377f, 0.033624f, 0.018223f, 0.032412f, -0.020811f, 0.005861f, 0.062938f, -0.001938f, 0.048685f, 0.012381f, 0.039599f, -0.061240f, -0.008799f, -0.018129f, -0.016847f, 0.014166f, 0.024937f, 0.044209f, 0.072709f, 0.059980f, -0.020062f, 0.010771f, -0.078257f, 0.019511f, 0.019492f, 0.070306f, -0.054442f, 0.044686f, -0.013238f, -0.038468f, 0.031106f, 0.009919f, 0.026161f, 0.044728f, -0.013058f, -0.055045f, 0.030269f, -0.034686f, -0.048311f, -0.021695f, 0.067433f, -0.055043f, - -0.080387f, -0.037737f, -0.012154f, 0.048345f, -0.002495f, -0.019590f, -0.049084f, -0.010040f, 0.010128f, 0.009070f, 0.056166f, -0.018450f, -0.060374f, 0.003241f, -0.024821f, -0.088524f, -0.043554f, 0.113487f, 0.016639f, -0.052996f, -0.056306f, 0.005126f, 0.001501f, 0.022345f, 0.030190f, -0.041492f, -0.026264f, -0.065423f, 0.015192f, -0.024723f, -0.015127f, 0.096176f, 0.021153f, -0.015166f, -0.100811f, -0.008228f, -0.053864f, 0.051619f, 0.065894f, 0.005067f, 0.051168f, -0.062380f, -0.024025f, -0.040196f, -0.009356f, 0.097753f, 0.123891f, 0.017696f, -0.033730f, -0.046649f, -0.090426f, -0.001110f, 0.010822f, 0.106095f, 0.059633f, -0.018398f, -0.179508f, -0.095064f, 0.014096f, -0.019890f, 0.155249f, 0.049641f, -0.076901f, -0.034314f, -0.136223f, -0.045664f, 0.002481f, 0.084499f, 0.088011f, 0.098230f, 0.001809f, 0.020398f, -0.014273f, 0.004852f, 0.120890f, -0.050380f, 0.086771f, -0.026774f, -0.100801f, -0.033170f, -0.108363f, -0.037613f, 0.119428f, 0.053030f, -0.080060f, 0.088667f, -0.000485f, -0.022525f, -0.137657f, -0.036486f, -0.037738f, -0.061477f, 0.131786f, 0.001670f, 0.058541f, -0.090452f, - 0.049404f, 0.042365f, -0.041754f, 0.026570f, -0.008866f, 0.023679f, -0.001094f, 0.067718f, 0.022827f, -0.066011f, 0.038566f, 0.032520f, -0.001453f, 0.045436f, -0.035147f, -0.017844f, 0.056149f, 0.039748f, 0.036904f, 0.018480f, 0.031885f, -0.099946f, 0.085115f, -0.050641f, -0.033197f, 0.017985f, -0.071113f, 0.100536f, -0.030502f, 0.009004f, 0.071732f, 0.001257f, -0.012852f, 0.038467f, 0.039072f, 0.070351f, -0.019310f, -0.068515f, -0.069832f, 0.005651f, -0.026380f, 0.029422f, -0.042986f, -0.022344f, -0.029709f, 0.017805f, -0.129728f, -0.000749f, 0.093082f, 0.023130f, 0.036797f, -0.007075f, -0.012302f, 0.021101f, -0.035602f, -0.043052f, 0.021983f, 0.008184f, -0.043489f, -0.052096f, 0.174234f, -0.025962f, -0.059838f, 0.007428f, 0.076189f, -0.015600f, 0.021981f, -0.064786f, 0.020611f, 0.111261f, 0.165991f, -0.071722f, 0.051440f, -0.108839f, -0.037045f, -0.065117f, -0.013410f, 0.107433f, 0.106541f, 0.091004f, -0.007059f, -0.067363f, -0.046897f, 0.041088f, -0.001628f, 0.021928f, 0.053263f, 0.001583f, 0.024086f, -0.071111f, -0.023628f, -0.040147f, -0.056855f, 0.030855f, 0.018645f, 0.003887f, - 0.046693f, -0.041887f, -0.006925f, 0.013780f, -0.067620f, 0.000275f, -0.001272f, -0.037389f, -0.020611f, 0.016517f, -0.032187f, 0.060192f, -0.025257f, 0.090202f, 0.060727f, -0.042238f, -0.018762f, -0.059400f, -0.076129f, -0.088933f, 0.021899f, 0.042643f, 0.113322f, 0.092847f, 0.035499f, 0.059207f, 0.003454f, -0.065727f, -0.051940f, -0.036702f, -0.053620f, -0.009304f, 0.016452f, -0.002333f, -0.040381f, 0.007977f, -0.041226f, 0.019362f, 0.034314f, 0.008184f, -0.058266f, 0.035847f, -0.034973f, -0.024525f, -0.060760f, 0.025150f, 0.007222f, -0.015814f, -0.180633f, -0.109094f, -0.057057f, 0.104390f, 0.054899f, 0.281190f, 0.271049f, 0.273742f, 0.283744f, 0.297410f, 0.216224f, 0.110277f, 0.166270f, 0.097039f, -0.038413f, -0.085083f, -0.125865f, -0.259914f, -0.226969f, -0.241778f, -0.167200f, -0.175632f, -0.121977f, -0.105052f, -0.046164f, 0.012983f, -0.090494f, -0.045463f, -0.006932f, -0.007628f, -0.040772f, 0.024400f, 0.087214f, 0.090118f, 0.047223f, 0.105612f, 0.137933f, 0.042745f, 0.043444f, 0.038058f, 0.138279f, 0.137773f, 0.176481f, 0.189554f, 0.174782f, 0.189927f, 0.285391f, 0.125876f, - 0.230086f, 0.299229f, 0.207044f, 0.234554f, 0.196226f, 0.109395f, 0.131888f, 0.138304f, 0.132696f, 0.163818f, 0.168312f, 0.115760f, 0.057222f, 0.078861f, 0.121611f, 0.038212f, 0.058055f, 0.011214f, 0.011673f, -0.076510f, 0.001210f, -0.164742f, -0.217036f, -0.156574f, -0.182559f, -0.269015f, -0.250893f, -0.100229f, -0.216787f, -0.071574f, -0.002868f}, - {0.001179f, -0.003749f, 0.000733f, -0.006434f, -0.004977f, -0.005543f, -0.006417f, -0.009856f, 0.004853f, 0.004520f, -0.004912f, 0.001095f, 0.007372f, 0.011841f, 0.004193f, 0.004818f, -0.002918f, 0.001317f, -0.018047f, 0.005390f, 0.000557f, -0.002582f, 0.005158f, -0.001749f, -0.006756f, 0.006248f, 0.002276f, 0.002484f, 0.004613f, 0.006177f, 0.006304f, -0.000161f, -0.008053f, -0.000363f, 0.008457f, 0.008883f, 0.011530f, -0.002710f, 0.011290f, 0.000224f, -0.000624f, -0.003718f, -0.000514f, 0.006259f, 0.002384f, -0.018482f, -0.006185f, -0.010821f, -0.000517f, -0.000721f, -0.007086f, -0.008343f, -0.006372f, 0.002100f, -0.006131f, 0.003733f, 0.005867f, 0.006457f, -0.008435f, -0.004293f, -0.009543f, -0.005564f, -0.002692f, 0.000615f, -0.009041f, 0.009109f, 0.003668f, -0.004086f, -0.000191f, -0.001681f, 0.015651f, 0.003649f, -0.001411f, -0.004674f, 0.019623f, 0.001500f, -0.001780f, -0.000248f, -0.002036f, -0.009836f, -0.010895f, 0.010421f, 0.001928f, -0.005531f, -0.009584f, -0.003953f, -0.007366f, -0.011437f, 0.014692f, 0.002266f, 0.005004f, 0.007996f, 0.021367f, -0.000135f, 0.002983f, -0.004845f, - -0.002462f, -0.003630f, -0.014781f, 0.003605f, -0.004895f, 0.001831f, 0.009364f, -0.003489f, -0.001527f, 0.002582f, 0.000485f, -0.001928f, -0.000110f, -0.012740f, 0.002147f, 0.000117f, -0.005324f, 0.004556f, 0.001279f, -0.008422f, 0.013366f, 0.000940f, 0.001372f, 0.013476f, -0.005711f, -0.005158f, -0.013510f, -0.006027f, 0.008174f, 0.001048f, 0.008740f, -0.004122f, -0.011233f, 0.005096f, -0.010543f, -0.003826f, -0.019672f, 0.008350f, 0.005798f, 0.004648f, 0.004842f, 0.013629f, 0.002481f, -0.004961f, 0.006070f, 0.011580f, -0.008019f, 0.006263f, -0.001079f, -0.001163f, -0.004777f, -0.001500f, 0.006002f, 0.000498f, 0.002531f, -0.007799f, 0.001982f, -0.004781f, -0.010237f, -0.000856f, -0.012070f, -0.014302f, -0.009299f, -0.006798f, -0.016104f, 0.000742f, -0.005949f, -0.003109f, 0.004682f, 0.017030f, 0.001332f, -0.003955f, -0.002171f, 0.002786f, -0.000566f, 0.007090f, 0.011788f, -0.000979f, 0.013258f, -0.001529f, -0.001141f, -0.001603f, 0.007429f, -0.010169f, 0.001311f, 0.001221f, -0.002778f, -0.000607f, -0.006363f, -0.010148f, 0.013588f, -0.004783f, -0.001339f, -0.002550f, 0.005813f, -0.006698f, - -0.006007f, 0.002307f, 0.001729f, 0.009567f, -0.006993f, 0.007832f, -0.005017f, -0.008180f, -0.000989f, -0.003513f, 0.001803f, 0.004115f, -0.000551f, 0.005377f, 0.002301f, 0.003808f, -0.005750f, -0.006644f, -0.010830f, -0.008062f, 0.000562f, 0.011987f, 0.001147f, 0.009580f, 0.002192f, -0.005816f, 0.006516f, 0.002585f, -0.007943f, 0.012316f, 0.001780f, -0.013458f, -0.014959f, -0.012912f, 0.002598f, 0.001697f, 0.010812f, -0.008274f, 0.011141f, -0.005525f, -0.002709f, -0.017542f, -0.001316f, 0.001404f, -0.006265f, -0.000833f, 0.009379f, 0.009228f, 0.013359f, -0.003054f, -0.002191f, 0.008675f, 0.003838f, 0.007826f, -0.018422f, 0.018413f, -0.004002f, 0.000022f, 0.002800f, -0.001934f, -0.000204f, -0.001331f, -0.001299f, 0.011565f, -0.000358f, 0.015100f, -0.002555f, -0.005727f, -0.012289f, 0.001776f, -0.005542f, -0.004525f, 0.008548f, 0.006940f, 0.008958f, 0.000681f, 0.001196f, -0.012695f, -0.009324f, 0.000276f, 0.012073f, 0.004561f, -0.001357f, 0.004449f, -0.004759f, 0.013180f, -0.000434f, -0.010463f, -0.013639f, -0.004441f, 0.015932f, 0.012351f, 0.012425f, 0.006195f, 0.000881f, -0.012424f, - -0.005350f, -0.001168f, -0.007087f, 0.008776f, -0.000747f, -0.002873f, 0.007595f, -0.017752f, 0.006374f, -0.001464f, 0.005322f, -0.000490f, 0.004239f, -0.004723f, -0.007586f, -0.001865f, -0.005766f, 0.002335f, 0.010652f, 0.003437f, 0.000854f, -0.004684f, -0.023108f, -0.016109f, -0.000023f, 0.006272f, 0.008747f, -0.000090f, 0.002147f, -0.003905f, 0.008668f, 0.003049f, 0.007036f, -0.010877f, 0.010221f, 0.005003f, -0.010627f, 0.003549f, 0.010631f, -0.001174f, 0.003746f, 0.001031f, 0.009678f, -0.007804f, 0.005927f, -0.001581f, -0.000792f, -0.009477f, 0.000990f, 0.008774f, -0.005573f, -0.005042f, -0.007812f, 0.010388f, -0.000633f, 0.001449f, -0.008240f, -0.025497f, -0.006771f, 0.002901f, 0.002741f, 0.008398f, -0.006131f, -0.004847f, -0.003292f, -0.002452f, -0.007489f, -0.000571f, -0.006704f, 0.015390f, 0.006213f, 0.012370f, -0.012891f, -0.003548f, -0.005017f, 0.011468f, -0.003197f, -0.003272f, -0.009700f, 0.005378f, 0.000483f, -0.007999f, 0.011362f, 0.002105f, 0.002241f, 0.010840f, 0.003819f, 0.006523f, -0.005186f, 0.004110f, 0.000453f, -0.002789f, 0.011252f, 0.008439f, -0.000817f, -0.015363f, - -0.020341f, -0.015844f, 0.005868f, -0.000088f, -0.008774f, -0.002400f, 0.001056f, -0.002112f, 0.022952f, 0.003849f, -0.016561f, -0.004521f, -0.004949f, 0.000716f, -0.007804f, 0.012853f, -0.009706f, -0.012830f, 0.011858f, -0.005117f, 0.003236f, 0.003029f, -0.005465f, -0.015087f, 0.001953f, -0.008099f, -0.007092f, -0.007453f, -0.000971f, 0.011521f, -0.001676f, -0.002764f, 0.017137f, 0.003038f, 0.002552f, -0.022325f, -0.002572f, 0.011734f, 0.013764f, -0.007773f, 0.003651f, 0.001803f, -0.022035f, -0.003014f, -0.001473f, -0.002300f, 0.005383f, 0.000202f, -0.012439f, 0.001582f, -0.009981f, 0.009439f, -0.003499f, 0.012190f, 0.002268f, -0.013807f, 0.006027f, 0.026323f, -0.010269f, 0.000531f, -0.019549f, 0.005179f, 0.016400f, -0.028653f, 0.004418f, -0.000950f, -0.001749f, 0.019254f, 0.002821f, 0.008407f, 0.014283f, -0.017578f, -0.004916f, -0.013526f, 0.006927f, 0.007157f, 0.015442f, 0.028804f, 0.004921f, -0.022786f, -0.001785f, -0.006095f, -0.002026f, -0.010150f, 0.000312f, -0.001592f, 0.011327f, 0.008279f, 0.003459f, -0.001333f, 0.000685f, -0.003994f, -0.002324f, 0.012102f, -0.003916f, -0.002285f, - 0.009679f, -0.001793f, 0.005777f, -0.001564f, 0.012241f, -0.009840f, -0.018052f, 0.022019f, -0.001172f, 0.004715f, -0.016908f, 0.000573f, -0.005047f, 0.024452f, 0.004097f, 0.010669f, -0.002256f, 0.009362f, 0.006912f, -0.023518f, -0.003479f, -0.013553f, -0.010889f, 0.000747f, 0.016140f, 0.001209f, -0.003133f, 0.024083f, -0.002552f, -0.014911f, -0.010663f, -0.008216f, 0.012307f, 0.036764f, 0.000005f, 0.009565f, 0.002784f, -0.012879f, -0.002549f, -0.000681f, 0.011247f, 0.016221f, 0.001639f, 0.012878f, 0.012275f, -0.023381f, 0.000530f, -0.007431f, -0.028322f, 0.005858f, -0.002195f, 0.009245f, 0.007135f, 0.026327f, 0.006196f, -0.005836f, 0.007240f, 0.019987f, 0.023671f, 0.008753f, 0.016903f, 0.015804f, -0.012028f, -0.010643f, -0.019964f, -0.023103f, 0.003232f, 0.008981f, -0.018173f, -0.014167f, -0.000239f, -0.022608f, -0.017383f, 0.008548f, 0.003754f, -0.010411f, -0.005681f, -0.015049f, 0.012762f, 0.008070f, 0.020465f, 0.036693f, -0.003318f, -0.011236f, -0.003157f, -0.019047f, 0.000619f, -0.014977f, -0.015026f, 0.018507f, 0.003033f, 0.002009f, -0.023733f, 0.024776f, 0.005911f, -0.016426f, - -0.004211f, 0.012468f, 0.001755f, 0.002237f, 0.000453f, 0.001540f, 0.008323f, -0.012689f, 0.015109f, -0.000251f, -0.009072f, -0.003339f, -0.016185f, 0.002125f, -0.016637f, -0.016091f, 0.014378f, 0.013414f, -0.013044f, -0.022627f, 0.006557f, -0.011072f, -0.000713f, -0.006164f, 0.008298f, -0.006330f, 0.010537f, -0.010912f, -0.012262f, 0.014786f, -0.004669f, -0.003297f, 0.008299f, -0.012043f, -0.012992f, 0.014912f, 0.019587f, 0.000476f, -0.001353f, 0.006824f, -0.017135f, 0.029122f, -0.017933f, 0.002241f, 0.013729f, -0.006454f, 0.012805f, 0.015773f, 0.005023f, -0.016282f, 0.017573f, -0.002502f, 0.006531f, -0.012738f, -0.002523f, -0.024346f, 0.008314f, -0.014411f, 0.005504f, -0.025065f, 0.014694f, -0.018289f, -0.012954f, 0.010666f, 0.014518f, 0.005038f, 0.001538f, 0.000732f, -0.015912f, -0.014581f, -0.009457f, 0.038451f, 0.020978f, -0.005923f, -0.035576f, -0.004910f, 0.009939f, 0.020766f, -0.011740f, 0.001764f, -0.024583f, -0.008371f, -0.003067f, 0.006436f, 0.003575f, -0.005479f, -0.000460f, 0.010778f, -0.012159f, -0.000692f, -0.013850f, 0.007481f, 0.009060f, 0.026394f, 0.011252f, -0.013012f, - 0.005460f, -0.007350f, -0.020041f, -0.002731f, 0.011485f, 0.001566f, 0.032705f, -0.024869f, -0.004147f, 0.005573f, 0.014469f, 0.007632f, 0.019006f, 0.003896f, -0.023787f, 0.015153f, -0.020223f, -0.020784f, 0.000043f, -0.001631f, 0.015482f, 0.020218f, 0.017760f, 0.027011f, 0.005928f, -0.027393f, 0.029595f, 0.016739f, -0.012885f, 0.023450f, -0.003701f, 0.003005f, -0.021127f, -0.006913f, -0.006636f, -0.008920f, 0.018721f, -0.032657f, -0.008223f, -0.015309f, -0.015483f, 0.002770f, 0.014913f, -0.007437f, -0.019829f, -0.020040f, -0.027080f, -0.026415f, -0.014420f, -0.004525f, 0.010346f, -0.020789f, -0.027970f, -0.015971f, -0.007918f, -0.013306f, -0.010021f, 0.023268f, -0.014430f, 0.002022f, 0.011096f, -0.021460f, -0.014026f, -0.014573f, 0.021578f, -0.010139f, 0.013448f, 0.032692f, -0.004884f, 0.007008f, 0.001445f, -0.010599f, -0.015186f, -0.009632f, 0.013559f, -0.002988f, 0.015670f, 0.000271f, 0.011140f, 0.002128f, -0.025132f, 0.026746f, -0.014229f, -0.005527f, 0.045349f, 0.031051f, 0.020010f, -0.014008f, -0.035197f, -0.007561f, 0.019069f, -0.030386f, -0.018856f, 0.002189f, 0.023648f, 0.019572f, - 0.013145f, -0.016901f, 0.012542f, -0.003361f, 0.012545f, -0.002017f, 0.034868f, 0.023410f, -0.003194f, -0.031680f, -0.004831f, 0.026998f, 0.020128f, 0.002627f, 0.042590f, 0.021646f, -0.010217f, 0.001764f, 0.001661f, -0.003392f, -0.013653f, -0.015097f, -0.004035f, -0.045682f, 0.012101f, -0.014410f, 0.000888f, 0.000262f, 0.011043f, 0.019665f, -0.000932f, 0.006721f, -0.022606f, 0.017176f, -0.009103f, 0.033584f, -0.000680f, 0.006643f, -0.078117f, -0.001103f, 0.019039f, 0.012815f, 0.020325f, -0.005158f, -0.022942f, 0.014302f, 0.002676f, -0.015158f, 0.015232f, 0.005906f, -0.018421f, 0.002838f, -0.000877f, 0.008563f, -0.007852f, -0.025299f, -0.029853f, 0.001744f, -0.011919f, 0.012482f, 0.008038f, 0.007453f, 0.008646f, -0.030505f, -0.013251f, -0.031998f, -0.052415f, 0.008796f, 0.017711f, 0.019147f, 0.000152f, 0.043725f, -0.031045f, 0.010624f, 0.005687f, -0.008275f, -0.027532f, -0.010981f, -0.015719f, 0.018911f, -0.008207f, -0.016245f, -0.027928f, -0.001958f, -0.010367f, -0.004672f, -0.021031f, 0.011855f, -0.001340f, -0.009116f, 0.011307f, 0.015114f, 0.017067f, -0.021336f, 0.040455f, 0.003253f, - -0.005685f, -0.023965f, -0.023150f, -0.003871f, -0.002859f, -0.023280f, -0.024965f, -0.018404f, 0.016554f, -0.010220f, 0.027308f, 0.009668f, 0.045391f, 0.016521f, 0.017534f, -0.004643f, 0.024641f, -0.003012f, 0.006388f, 0.035437f, -0.009766f, 0.013716f, -0.040376f, -0.050964f, 0.012237f, -0.001011f, -0.032303f, 0.003626f, 0.001862f, -0.043523f, 0.013892f, -0.011533f, -0.007604f, -0.015730f, 0.018576f, -0.014404f, 0.002703f, 0.000468f, 0.010289f, 0.002595f, -0.022249f, 0.017417f, -0.000478f, 0.009213f, -0.027054f, -0.038055f, -0.024151f, 0.008466f, 0.031558f, 0.041393f, -0.001319f, 0.010991f, 0.025931f, 0.021367f, -0.002432f, -0.052770f, 0.035754f, -0.003732f, 0.009477f, -0.010974f, 0.018094f, -0.001601f, -0.023213f, 0.006053f, 0.040942f, 0.005916f, -0.027716f, 0.023467f, 0.016549f, 0.010653f, -0.021070f, 0.021411f, 0.015676f, 0.001234f, 0.025613f, -0.011284f, 0.006284f, 0.041546f, 0.030100f, 0.000298f, 0.008923f, 0.019791f, -0.040939f, -0.009210f, -0.003511f, -0.007498f, -0.036074f, 0.007644f, 0.009557f, 0.000568f, -0.028290f, -0.002002f, -0.047697f, 0.000779f, -0.034455f, -0.008438f, - 0.015909f, -0.016218f, -0.021414f, -0.018391f, 0.008568f, 0.005746f, -0.019938f, 0.004765f, -0.008105f, 0.020118f, -0.013381f, -0.016602f, 0.010503f, 0.018031f, -0.003560f, 0.005561f, 0.006787f, -0.055061f, -0.002675f, -0.008490f, -0.027387f, -0.002711f, 0.031748f, 0.003813f, -0.010368f, -0.011666f, 0.024037f, 0.006308f, 0.018049f, -0.044383f, 0.017619f, -0.046031f, -0.059374f, -0.034813f, 0.000270f, -0.029374f, 0.028602f, -0.007470f, -0.040607f, 0.000881f, -0.011911f, 0.007414f, 0.005047f, -0.006775f, -0.007082f, 0.027582f, -0.009686f, 0.011896f, -0.015934f, -0.011547f, 0.038280f, -0.011365f, -0.006730f, 0.001028f, 0.007114f, 0.027136f, -0.052781f, -0.001174f, 0.025078f, 0.028479f, 0.022509f, 0.005517f, -0.011252f, 0.054443f, 0.015631f, 0.018725f, 0.018312f, 0.011560f, -0.009406f, 0.002664f, 0.028674f, 0.012238f, -0.023762f, 0.013799f, 0.054524f, -0.027561f, 0.037049f, 0.016650f, -0.061772f, 0.016772f, 0.038059f, -0.002040f, 0.015984f, 0.002087f, -0.047338f, 0.025180f, 0.054275f, 0.005473f, 0.036222f, -0.020954f, 0.031773f, 0.030273f, -0.003088f, -0.002912f, 0.028889f, 0.018566f, - -0.043255f, 0.042877f, -0.012576f, -0.007585f, 0.022158f, -0.010565f, -0.017833f, -0.017327f, 0.001977f, 0.002221f, -0.017134f, -0.033171f, 0.078283f, 0.037251f, -0.089110f, -0.038132f, 0.010577f, -0.015920f, 0.027053f, 0.029671f, 0.033915f, 0.036645f, -0.022079f, 0.070302f, -0.009685f, 0.000827f, -0.022280f, 0.025889f, 0.036853f, -0.026766f, -0.028354f, -0.007161f, -0.015866f, 0.002198f, 0.015367f, 0.001235f, -0.017420f, -0.007970f, 0.030468f, -0.003311f, 0.015960f, 0.002608f, 0.036463f, 0.051964f, 0.021238f, -0.026432f, -0.058471f, -0.005983f, -0.008939f, 0.005732f, -0.012602f, 0.018690f, 0.034280f, 0.001999f, -0.011017f, -0.028246f, 0.066462f, 0.056019f, -0.006292f, 0.026834f, -0.014228f, -0.021855f, -0.061501f, 0.033696f, -0.027981f, -0.007789f, -0.000533f, -0.020676f, 0.012364f, 0.037528f, 0.007272f, -0.018085f, 0.019689f, -0.008948f, -0.024556f, 0.038373f, 0.009370f, -0.055757f, 0.071377f, -0.048547f, -0.024174f, 0.026005f, 0.028933f, 0.022209f, 0.001311f, -0.024431f, 0.002375f, 0.036031f, 0.010184f, -0.047724f, -0.039015f, -0.008708f, 0.060070f, 0.006905f, -0.029231f, -0.077214f, - -0.021866f, -0.002860f, 0.018313f, 0.054299f, 0.040915f, -0.004973f, 0.000410f, 0.036049f, 0.028624f, 0.002178f, 0.007839f, -0.104169f, -0.066227f, -0.031350f, -0.051860f, 0.005481f, -0.028874f, 0.047499f, -0.010528f, -0.002589f, -0.000078f, -0.017623f, -0.021195f, 0.034828f, 0.021206f, 0.013110f, -0.004515f, -0.014808f, -0.014088f, 0.018058f, -0.037336f, -0.012784f, 0.006999f, -0.011685f, -0.017967f, 0.017112f, -0.054020f, -0.074686f, 0.018528f, 0.025288f, 0.029993f, -0.042926f, -0.023180f, 0.026195f, 0.009826f, -0.072616f, -0.064699f, 0.005600f, -0.031049f, -0.030977f, 0.012645f, -0.058295f, 0.030935f, -0.021531f, 0.025507f, 0.025635f, -0.014388f, -0.032226f, -0.077619f, -0.025935f, -0.022973f, 0.045043f, -0.037328f, -0.023992f, 0.014269f, 0.031735f, 0.041788f, -0.006010f, -0.057936f, 0.026735f, -0.009283f, -0.023035f, -0.050008f, 0.015573f, 0.020444f, -0.072291f, 0.026999f, 0.026877f, 0.065378f, 0.006855f, -0.017112f, 0.004981f, -0.081292f, -0.022556f, -0.010332f, 0.001950f, 0.014286f, -0.026707f, 0.049025f, 0.020707f, 0.060738f, -0.011407f, 0.053405f, 0.035415f, 0.020901f, 0.049894f, - 0.024491f, 0.033195f, 0.041366f, 0.002629f, -0.054833f, -0.050706f, 0.010250f, 0.059682f, 0.042368f, -0.077831f, -0.002433f, -0.012648f, -0.011174f, -0.007644f, -0.054499f, 0.014471f, -0.038806f, 0.035344f, -0.025935f, 0.079085f, -0.020670f, -0.112655f, -0.011937f, -0.038769f, 0.022564f, 0.016768f, 0.032302f, 0.073108f, 0.016526f, -0.010352f, 0.040272f, -0.024358f, 0.081996f, 0.012771f, 0.054808f, 0.024293f, 0.004847f, -0.022839f, -0.019247f, 0.131443f, -0.000241f, -0.097074f, -0.020835f, 0.067494f, -0.049110f, -0.002185f, 0.037839f, 0.015094f, -0.076022f, -0.029819f, -0.086521f, 0.012189f, 0.077437f, -0.057822f, -0.052610f, 0.049501f, 0.024281f, -0.088288f, -0.082053f, 0.024948f, 0.004587f, 0.010538f, 0.028177f, -0.005082f, -0.024687f, -0.014323f, 0.052584f, -0.039532f, 0.064846f, 0.008643f, -0.015467f, 0.011838f, 0.037201f, -0.002291f, -0.011697f, -0.071830f, -0.031088f, 0.005334f, -0.037950f, 0.029649f, 0.047248f, 0.000827f, 0.007040f, -0.052543f, 0.058310f, -0.023765f, -0.027707f, 0.045326f, -0.019915f, -0.003142f, -0.036185f, -0.006949f, -0.026038f, -0.089158f, 0.027559f, -0.013412f, - 0.061594f, 0.077491f, -0.003394f, -0.018888f, -0.054122f, -0.020967f, -0.017074f, 0.072643f, -0.076753f, -0.057444f, -0.125601f, -0.002959f, -0.054324f, 0.007653f, 0.038272f, -0.029967f, -0.011118f, 0.075436f, 0.048333f, 0.028835f, 0.000090f, -0.007174f, 0.055337f, -0.082530f, -0.013593f, -0.000156f, -0.013916f, 0.010025f, 0.070160f, -0.050300f, 0.014722f, -0.014356f, -0.030765f, -0.021423f, 0.108329f, -0.010597f, 0.051083f, -0.040078f, 0.072641f, -0.022057f, -0.002960f, 0.045974f, 0.040271f, 0.110531f, 0.001023f, 0.022015f, 0.011545f, -0.040217f, 0.050687f, 0.021736f, -0.036066f, 0.058128f, -0.026173f, 0.072007f, 0.047382f, -0.010888f, 0.040754f, 0.007107f, 0.037827f, 0.013485f, 0.066834f, -0.037950f, 0.031493f, -0.066119f, -0.021565f, 0.029298f, 0.072858f, 0.002057f, 0.002569f, 0.038463f, -0.003825f, -0.020204f, -0.095650f, -0.051260f, 0.012260f, -0.033769f, -0.005192f, 0.034984f, -0.083675f, 0.055114f, -0.006865f, 0.064517f, -0.031085f, -0.048422f, -0.012748f, 0.157290f, 0.031142f, -0.130948f, 0.021158f, 0.041461f, 0.005650f, 0.155990f, -0.011773f, -0.103635f, 0.111718f, -0.032286f, - -0.009554f, 0.130729f, -0.015144f, 0.086385f, 0.012214f, -0.074840f, -0.000069f, 0.084444f, 0.010715f, 0.011594f, -0.003576f, -0.112156f, -0.006706f, 0.015625f, -0.039593f, -0.013486f, -0.114225f, 0.071952f, 0.114420f, -0.050991f, 0.017686f, -0.087239f, -0.248647f, -0.049388f, 0.013330f, 0.125602f, 0.108414f, -0.106035f, -0.091447f, -0.095445f, -0.075441f, -0.056016f, 0.067921f, -0.013057f, 0.147614f, 0.097220f, -0.027741f, -0.122368f, -0.300262f, -0.197095f, 0.015252f, 0.333384f, 0.256611f, 0.044950f, -0.129922f, -0.331644f, -0.336277f, -0.026486f, 0.198251f, 0.302310f, 0.335127f, 0.032341f, -0.106430f, -0.138730f, -0.179693f, -0.165385f, 0.012328f, 0.110359f, 0.211348f, 0.142030f, 0.116811f, -0.153294f, -0.183298f, -0.219709f, -0.259887f, 0.025971f, 0.313803f, 0.304732f, 0.063578f, -0.115319f, -0.292711f, -0.389242f, -0.129612f, 0.024494f, 0.143237f, 0.345056f, 0.129086f, -0.008023f, -0.194358f, -0.167356f, -0.068351f, 0.067833f, 0.133948f, 0.221768f, -0.029770f, 0.053867f, 0.041357f, -0.095012f, 0.000950f, 0.048804f, -0.039361f, 0.053923f, -0.002338f, -0.010009f, -0.004048f, 0.010751f, - 0.040853f, -0.016295f, 0.048147f, 0.032703f, 0.019445f, 0.021673f, 0.016330f, -0.004435f, -0.028006f, 0.044964f, -0.000952f, 0.027306f, -0.016834f, 0.024257f, -0.008856f, -0.003868f, 0.016273f, -0.022744f, -0.024061f, 0.003086f, -0.010639f, 0.036212f, 0.035674f, -0.033597f, 0.016010f, -0.020204f, 0.022188f, 0.000013f, 0.014343f, 0.005205f, 0.018768f, -0.024113f, 0.015721f, -0.027688f, -0.012471f, -0.004287f, -0.003768f, 0.021432f, -0.042185f, -0.008713f, -0.017849f, -0.037430f, -0.004012f, -0.015015f, 0.008082f, 0.034675f, -0.011301f, -0.049204f, 0.007128f, 0.029855f, 0.058366f, -0.002910f, 0.004602f, -0.032029f, -0.024668f, 0.027457f, 0.002189f, -0.010185f, 0.000802f, 0.048876f, 0.021779f, 0.016657f, 0.027421f, 0.047142f, -0.043715f, 0.006504f, 0.008624f, -0.032725f, 0.086625f, 0.154505f, 0.011097f, -0.097915f, 0.031553f, -0.005610f, 0.121774f, 0.060023f, 0.119663f, -0.009552f, -0.059734f, -0.013837f, 0.025024f, 0.052991f, 0.038034f, -0.020665f, 0.001967f, 0.023574f, 0.013795f, 0.050157f, -0.035727f, 0.010007f, -0.047500f, -0.005512f, -0.001325f, 0.013561f, 0.021756f, 0.007068f, - -0.021396f, 0.038845f, -0.005391f, -0.030825f, 0.042619f, -0.005760f, -0.017940f, 0.013715f, -0.008619f, 0.036602f, 0.053402f, 0.003251f, 0.012482f, -0.016729f, -0.013615f, 0.033963f, 0.021223f, 0.028475f, 0.003285f, -0.014865f, -0.036801f, -0.033764f, -0.040819f, 0.033119f, 0.032224f, 0.035557f, 0.048028f, 0.055627f, 0.021239f, 0.004999f, -0.048611f, 0.030896f, -0.006845f, -0.040092f, 0.050626f, -0.001396f, 0.032752f, 0.020676f, -0.054152f, 0.017372f, -0.017112f, 0.014426f, 0.034194f, 0.010482f, -0.044897f, -0.025863f, -0.025001f, -0.055092f, -0.119289f, 0.006824f, 0.167867f, 0.219102f, 0.190287f, 0.129010f, -0.004678f, 0.006432f, -0.095707f, -0.116595f, -0.192214f, -0.147657f, -0.154304f, -0.052211f, 0.013522f, 0.048298f, 0.085088f, 0.208096f, 0.175257f, 0.115485f, 0.038286f, -0.021083f, -0.076065f, -0.059296f, -0.079211f, -0.103372f, -0.056211f, -0.060468f, -0.071204f, -0.036069f, -0.047128f, 0.006603f, 0.032224f, 0.024211f, 0.088772f, 0.079102f, 0.072400f, 0.044192f, 0.054417f, 0.030957f, 0.065216f, 0.011785f, 0.056036f, -0.001955f, -0.016856f, -0.105333f, -0.045780f, -0.126273f, - -0.143206f, -0.162991f, -0.126150f, -0.098590f, -0.035845f, 0.017577f, 0.087236f, 0.089809f, 0.072315f, 0.149333f, 0.122645f, 0.127754f, 0.120767f, 0.108589f, 0.041507f, 0.066289f, -0.036817f, -0.086013f, -0.086524f, -0.198107f, -0.194814f, -0.193403f, -0.201778f, -0.173607f, -0.066686f, -0.045181f, 0.027364f, 0.086363f, 0.092905f, 0.039836f, 0.018707f} - }, - { - {-0.004040f, -0.000830f, 0.000613f, -0.001602f, -0.002829f, -0.007232f, 0.000901f, -0.001133f, -0.013391f, -0.001878f, -0.001526f, 0.004599f, 0.010737f, -0.009080f, 0.003944f, -0.005698f, 0.002421f, -0.007837f, 0.003986f, 0.002558f, -0.005622f, -0.005130f, -0.008498f, 0.003533f, -0.007983f, 0.001191f, 0.007008f, 0.004917f, 0.002149f, 0.003324f, 0.000517f, -0.007091f, 0.000305f, -0.004431f, 0.003582f, 0.002330f, 0.002731f, 0.011169f, 0.003600f, 0.001686f, -0.000240f, 0.003823f, -0.000111f, 0.003521f, -0.000878f, 0.007965f, 0.002757f, 0.003542f, 0.005998f, 0.013328f, 0.000654f, -0.002188f, 0.005334f, -0.004015f, -0.009282f, 0.004755f, -0.004256f, -0.007988f, 0.002086f, -0.002432f, 0.004401f, -0.002118f, -0.003564f, -0.006102f, 0.006329f, 0.002359f, -0.000370f, -0.005892f, -0.008228f, -0.002438f, -0.001872f, 0.001349f, -0.001025f, -0.000146f, 0.001309f, 0.002465f, 0.019262f, 0.010384f, -0.001251f, 0.006853f, 0.001600f, 0.001644f, -0.021281f, -0.009117f, -0.010582f, 0.008366f, -0.001217f, -0.006776f, 0.007430f, 0.007864f, 0.000435f, 0.007558f, -0.003179f, -0.000137f, -0.000505f, -0.004474f, - -0.002456f, -0.010063f, 0.005204f, -0.014934f, 0.006233f, -0.007728f, 0.006360f, 0.012103f, 0.005419f, -0.002149f, -0.003429f, 0.008982f, -0.001465f, 0.000546f, 0.008341f, -0.008833f, -0.000289f, -0.002895f, -0.005188f, 0.001241f, -0.001272f, 0.002000f, 0.008575f, 0.014292f, -0.004496f, 0.000403f, 0.011756f, 0.001043f, 0.003107f, -0.004175f, -0.006557f, -0.000815f, 0.002012f, -0.010944f, -0.002863f, 0.005954f, 0.000819f, 0.002248f, 0.003527f, -0.001442f, -0.003365f, -0.003134f, -0.003761f, 0.004433f, 0.003678f, -0.001917f, -0.006157f, -0.007708f, 0.004125f, 0.000152f, -0.006144f, 0.006882f, -0.001008f, -0.000505f, 0.001812f, 0.001738f, -0.001677f, -0.007037f, -0.001832f, -0.000025f, -0.006509f, -0.006746f, -0.003917f, 0.015919f, -0.011154f, -0.004700f, -0.007762f, -0.014368f, 0.005423f, 0.002369f, 0.000645f, 0.012184f, 0.011703f, 0.011555f, 0.003851f, -0.002261f, 0.001896f, 0.008688f, -0.003655f, 0.003696f, 0.004533f, -0.010440f, 0.014842f, 0.002767f, 0.004692f, 0.010804f, -0.004080f, -0.010972f, 0.000851f, 0.007285f, -0.005084f, -0.002467f, -0.006814f, 0.007242f, -0.000056f, -0.000864f, - -0.011924f, -0.000643f, -0.001320f, 0.007302f, 0.003948f, -0.006749f, 0.013360f, 0.004730f, 0.002919f, 0.004473f, -0.001970f, 0.007240f, -0.002689f, 0.000195f, -0.009003f, -0.011187f, 0.009042f, 0.006707f, 0.012458f, 0.000974f, 0.003554f, -0.009704f, -0.014370f, -0.007458f, -0.004092f, -0.004567f, -0.006435f, -0.006169f, 0.003391f, -0.002087f, 0.004863f, -0.005958f, -0.001619f, 0.001863f, 0.003330f, -0.002336f, 0.008250f, 0.001508f, -0.013761f, -0.012860f, 0.007533f, 0.001688f, 0.010540f, -0.016321f, -0.002302f, -0.006515f, 0.001739f, 0.019348f, 0.011053f, -0.017013f, 0.006395f, 0.001550f, -0.007100f, -0.007936f, -0.009653f, -0.015693f, 0.000516f, 0.001789f, -0.005839f, 0.002683f, -0.003392f, 0.000497f, 0.004650f, 0.003530f, 0.010001f, -0.008927f, 0.015778f, -0.009795f, 0.009125f, 0.007162f, -0.006024f, 0.004120f, 0.000675f, 0.006422f, -0.002738f, 0.003263f, 0.005937f, 0.001825f, 0.000826f, -0.002633f, 0.004589f, 0.001186f, -0.002234f, 0.011029f, -0.014880f, 0.000745f, -0.009076f, 0.017460f, 0.006117f, -0.015821f, 0.005863f, 0.019945f, -0.019250f, -0.009489f, 0.002118f, -0.002001f, - -0.007426f, 0.005566f, -0.002738f, 0.012970f, -0.011587f, -0.001757f, -0.003992f, -0.001509f, -0.000939f, 0.012215f, -0.012394f, -0.005049f, -0.001620f, -0.013798f, 0.006395f, 0.003528f, 0.013056f, 0.002983f, 0.010558f, 0.005896f, -0.009214f, 0.000990f, -0.005661f, 0.006099f, 0.002568f, -0.009707f, 0.027949f, -0.017683f, 0.005900f, 0.029788f, -0.020721f, 0.009764f, -0.000138f, 0.009731f, -0.002151f, -0.018079f, -0.003483f, 0.014935f, 0.013873f, 0.003746f, 0.000404f, 0.007632f, 0.004265f, 0.000384f, 0.006845f, 0.006425f, -0.004563f, 0.008180f, -0.001564f, 0.012826f, -0.009472f, -0.015437f, 0.004074f, -0.013409f, 0.005488f, 0.000579f, -0.003119f, -0.004021f, -0.005418f, -0.008915f, 0.002683f, 0.003733f, 0.001245f, 0.002864f, 0.003668f, -0.005204f, -0.011027f, 0.010048f, 0.003160f, 0.002199f, 0.000501f, 0.014601f, 0.003936f, 0.006589f, 0.015873f, -0.008179f, 0.004805f, 0.001504f, 0.005736f, 0.011283f, 0.009426f, -0.012299f, -0.010302f, -0.001816f, -0.005197f, -0.000202f, 0.002070f, -0.004270f, 0.004745f, -0.009016f, 0.002305f, -0.008342f, 0.006993f, 0.007427f, -0.003953f, 0.010224f, - -0.005224f, 0.009414f, -0.002975f, 0.005471f, -0.006009f, 0.002093f, -0.004441f, 0.004188f, -0.002885f, -0.015640f, 0.011638f, 0.009992f, 0.020142f, -0.012542f, 0.007413f, -0.015883f, -0.004423f, 0.012334f, 0.010158f, -0.010624f, 0.002122f, -0.012553f, -0.000334f, -0.014989f, 0.004090f, -0.010779f, -0.016894f, -0.012137f, 0.005608f, -0.009446f, -0.000873f, -0.011360f, 0.000358f, 0.003760f, -0.003331f, -0.007780f, 0.004707f, 0.010342f, 0.003700f, 0.005855f, -0.011631f, 0.007552f, -0.012129f, -0.001429f, 0.005299f, 0.002241f, -0.002823f, -0.000840f, -0.001742f, 0.008968f, -0.009291f, -0.013192f, -0.004573f, 0.006953f, -0.004574f, -0.009099f, -0.012848f, -0.013971f, 0.002567f, -0.002265f, -0.016637f, 0.013477f, -0.011157f, -0.006952f, 0.017110f, -0.003876f, -0.005033f, 0.004499f, -0.004754f, -0.002792f, 0.000063f, -0.006535f, -0.006480f, -0.004267f, -0.008181f, 0.003425f, 0.002428f, 0.014817f, -0.021130f, 0.004222f, 0.017391f, -0.006176f, 0.019077f, 0.005959f, 0.000596f, -0.005267f, -0.014429f, -0.008629f, 0.022752f, -0.012201f, -0.000833f, -0.003983f, 0.001081f, 0.014462f, 0.011903f, -0.007364f, - 0.017513f, 0.018587f, -0.009457f, -0.004240f, 0.010278f, -0.009169f, -0.009131f, -0.000374f, -0.013579f, -0.000094f, -0.004690f, 0.001797f, 0.020993f, 0.007640f, 0.000167f, -0.009966f, -0.030290f, -0.003482f, 0.015337f, 0.004085f, -0.012086f, 0.008428f, 0.012185f, 0.011660f, 0.012898f, -0.023139f, 0.003415f, 0.001058f, -0.012767f, 0.006120f, -0.011672f, 0.007223f, -0.007232f, 0.008959f, 0.019022f, 0.026897f, 0.015558f, 0.007638f, -0.012849f, -0.003345f, -0.015110f, -0.014368f, -0.004766f, 0.015591f, 0.001992f, -0.000052f, 0.001681f, -0.015846f, 0.001802f, 0.001657f, -0.002616f, -0.008078f, 0.001399f, 0.008452f, -0.012339f, -0.016633f, 0.034190f, 0.006463f, -0.011632f, -0.001977f, -0.007510f, -0.001460f, 0.003970f, -0.005663f, 0.029486f, -0.001946f, 0.007630f, 0.022928f, 0.001923f, -0.002170f, -0.015226f, 0.009140f, -0.008636f, -0.008536f, -0.029802f, -0.011786f, 0.004923f, -0.000382f, -0.006471f, -0.019694f, 0.006422f, 0.012691f, -0.017280f, -0.007380f, -0.005253f, -0.015974f, 0.006025f, 0.002460f, -0.009909f, -0.006220f, -0.003932f, -0.021970f, -0.009066f, 0.012804f, 0.018549f, -0.013333f, - -0.019042f, -0.003995f, -0.001808f, -0.013526f, -0.012932f, 0.005999f, 0.007433f, -0.014918f, 0.031913f, 0.001538f, 0.012587f, -0.006025f, 0.011805f, -0.007028f, 0.003120f, -0.021719f, -0.005488f, 0.010882f, -0.023737f, 0.007803f, -0.005802f, -0.010331f, -0.026830f, 0.000886f, 0.014062f, 0.001685f, -0.028218f, -0.002722f, 0.004575f, 0.012599f, 0.019902f, -0.006080f, 0.008698f, 0.025067f, 0.007548f, 0.004025f, -0.011235f, -0.001429f, 0.009563f, -0.003512f, -0.008437f, 0.010390f, 0.002556f, -0.017523f, -0.025922f, -0.022304f, -0.026855f, 0.022989f, -0.013762f, -0.004198f, 0.008361f, -0.026651f, -0.010192f, -0.018756f, -0.007464f, -0.006473f, 0.012334f, -0.023458f, -0.011572f, 0.006534f, 0.009579f, 0.012402f, 0.000355f, -0.000292f, -0.003510f, -0.000786f, -0.004803f, 0.002507f, -0.017509f, -0.010468f, -0.015343f, 0.010244f, 0.005985f, 0.007751f, 0.011565f, -0.022732f, -0.001087f, -0.003170f, 0.020442f, -0.008320f, 0.006753f, 0.010041f, -0.003637f, 0.010794f, -0.007188f, 0.012115f, 0.018629f, -0.008002f, -0.000858f, 0.014720f, -0.012983f, 0.020675f, -0.008903f, -0.035324f, 0.005663f, 0.016803f, - -0.006513f, 0.001013f, -0.000348f, 0.012567f, 0.017313f, -0.018516f, -0.007434f, 0.002827f, 0.011846f, -0.021764f, -0.015553f, -0.013886f, 0.024562f, -0.002280f, -0.028804f, -0.008187f, -0.012649f, -0.016312f, -0.006092f, 0.010570f, 0.004408f, 0.015299f, 0.005726f, 0.007276f, -0.030472f, -0.012482f, 0.012353f, -0.008536f, -0.005489f, -0.010695f, 0.003473f, 0.015611f, 0.004523f, 0.003373f, -0.020335f, -0.007446f, -0.003466f, 0.007176f, 0.018424f, -0.022504f, 0.010673f, -0.018448f, -0.004481f, -0.017024f, 0.002408f, 0.001760f, -0.000553f, 0.006355f, -0.015126f, -0.004997f, -0.014156f, -0.006511f, 0.000552f, -0.001252f, -0.017846f, 0.009798f, 0.011946f, -0.004954f, 0.014127f, 0.026547f, 0.003104f, 0.019940f, 0.026736f, 0.001414f, 0.001199f, 0.005690f, -0.005189f, 0.008057f, 0.002177f, -0.006493f, -0.008487f, 0.032441f, -0.003003f, 0.018640f, 0.009061f, -0.010538f, -0.010812f, -0.008674f, 0.009869f, -0.008360f, 0.012721f, 0.028423f, 0.015577f, -0.004680f, 0.001356f, -0.025301f, -0.015853f, -0.015745f, 0.024206f, 0.035296f, -0.014421f, -0.000996f, -0.013052f, -0.003977f, 0.020045f, 0.058574f, - 0.024380f, -0.007078f, -0.002824f, -0.009970f, 0.025805f, -0.025925f, -0.016003f, -0.040046f, -0.001321f, 0.020854f, 0.024160f, 0.005236f, -0.010813f, -0.023736f, -0.018786f, 0.018733f, -0.004566f, 0.029326f, -0.001003f, -0.008501f, 0.012574f, 0.005605f, -0.001199f, -0.006444f, 0.017716f, -0.002809f, 0.015154f, 0.000398f, -0.009807f, 0.035863f, -0.009450f, 0.014920f, 0.033571f, 0.012799f, -0.002533f, -0.016305f, -0.004285f, -0.026955f, -0.033413f, 0.007626f, 0.019528f, -0.004378f, 0.001716f, -0.034670f, -0.014618f, 0.020979f, 0.009809f, -0.008584f, 0.005455f, -0.009917f, -0.006412f, -0.015547f, -0.028400f, 0.002144f, -0.007819f, -0.018577f, -0.032681f, -0.026403f, -0.010330f, -0.024227f, 0.009711f, -0.010600f, 0.002173f, 0.003644f, -0.002037f, 0.001032f, -0.005962f, -0.005097f, 0.013903f, 0.032237f, -0.023644f, 0.004366f, -0.011283f, 0.011972f, -0.013674f, -0.024459f, -0.026312f, 0.006314f, 0.010939f, 0.031618f, -0.026742f, 0.007997f, 0.008945f, -0.046256f, -0.001576f, -0.000454f, -0.037512f, -0.021518f, -0.012961f, 0.008871f, -0.002577f, 0.001439f, -0.010291f, 0.015130f, 0.025615f, 0.012359f, - -0.003191f, -0.039561f, -0.016447f, -0.021979f, 0.008180f, 0.001343f, -0.016619f, -0.002377f, 0.013590f, -0.012342f, 0.023242f, -0.021852f, -0.000377f, -0.013260f, -0.038380f, 0.005349f, -0.016244f, -0.019811f, 0.014526f, 0.019979f, -0.023791f, 0.007863f, 0.028321f, -0.010670f, 0.012433f, 0.008167f, -0.006584f, 0.002264f, -0.031334f, 0.045779f, 0.018638f, 0.009504f, 0.045231f, -0.057094f, -0.004251f, -0.009551f, 0.005719f, 0.020564f, 0.023249f, 0.006899f, 0.010947f, 0.026750f, -0.003040f, -0.022036f, -0.034524f, 0.010751f, -0.013313f, -0.001374f, 0.008816f, -0.009673f, 0.013481f, 0.034073f, -0.023473f, 0.014002f, -0.011752f, -0.014463f, 0.006259f, 0.030258f, 0.034278f, 0.009334f, 0.020924f, -0.013382f, 0.009550f, 0.010493f, -0.057816f, 0.016827f, 0.017988f, 0.004550f, -0.018793f, 0.000219f, -0.035877f, 0.042219f, 0.024512f, -0.012416f, -0.014511f, -0.020015f, -0.011307f, 0.030738f, -0.030949f, -0.016786f, -0.005054f, -0.004423f, -0.007038f, 0.005044f, -0.020625f, -0.019912f, -0.012567f, -0.015187f, -0.004718f, -0.019958f, -0.003260f, -0.013182f, -0.045653f, -0.028232f, -0.011553f, -0.006545f, - 0.005963f, 0.008192f, -0.000594f, 0.001946f, 0.012789f, 0.006909f, 0.006408f, 0.032435f, 0.006369f, 0.011318f, 0.019605f, 0.043304f, 0.036322f, 0.002409f, -0.014712f, -0.027647f, 0.025331f, -0.005924f, 0.068844f, 0.014224f, 0.030743f, -0.003206f, 0.003716f, -0.027409f, -0.001332f, 0.023809f, 0.013580f, 0.017748f, -0.021069f, -0.014516f, -0.027074f, -0.051993f, 0.028639f, -0.047106f, -0.006239f, 0.054151f, 0.007671f, -0.041976f, 0.013193f, 0.014342f, -0.026276f, -0.022237f, 0.001593f, 0.015879f, 0.041162f, -0.003043f, -0.029600f, -0.032083f, -0.000393f, -0.018563f, 0.006488f, 0.004721f, -0.033106f, -0.030612f, -0.054883f, -0.017522f, -0.014944f, -0.039171f, -0.024542f, -0.001140f, -0.016372f, -0.012054f, -0.008615f, -0.003990f, -0.036328f, -0.021148f, -0.021717f, -0.012355f, 0.013235f, -0.033006f, 0.004022f, 0.025970f, 0.033550f, -0.008293f, 0.010436f, 0.017441f, -0.029784f, 0.017034f, -0.011841f, 0.027260f, -0.011695f, 0.001767f, -0.012681f, -0.003982f, 0.057735f, -0.012246f, 0.023081f, -0.041515f, -0.004530f, -0.000840f, -0.036318f, 0.035238f, 0.003807f, -0.014052f, 0.028449f, -0.011468f, - 0.009386f, 0.050252f, -0.017370f, -0.028934f, 0.022443f, -0.006318f, -0.053995f, 0.022323f, -0.072305f, -0.041979f, 0.034992f, 0.022710f, 0.010206f, 0.015005f, 0.007040f, -0.001230f, -0.044731f, -0.024277f, -0.009512f, -0.009823f, 0.077556f, 0.041940f, 0.000396f, -0.040101f, 0.020755f, -0.041801f, -0.033405f, 0.005791f, 0.034611f, 0.067466f, -0.010369f, 0.033947f, -0.011970f, 0.024006f, 0.041373f, 0.022664f, 0.026528f, 0.013774f, -0.007455f, -0.033941f, -0.034582f, -0.010829f, -0.032691f, -0.009962f, -0.005864f, -0.007678f, 0.026445f, -0.004741f, -0.067444f, 0.003720f, 0.016387f, 0.015379f, 0.040466f, -0.004382f, -0.080619f, 0.045663f, -0.036118f, 0.011639f, -0.007981f, 0.026989f, 0.039367f, -0.044076f, -0.003285f, -0.022047f, -0.038611f, 0.027707f, -0.019423f, -0.047212f, 0.018078f, 0.027620f, 0.044826f, 0.012119f, -0.007757f, 0.005128f, 0.036332f, -0.029659f, 0.057660f, -0.018109f, -0.017544f, -0.004837f, 0.034295f, -0.036602f, 0.001669f, 0.005297f, -0.105643f, -0.014353f, 0.029374f, -0.013572f, 0.001990f, 0.016203f, 0.003056f, -0.002409f, 0.002072f, 0.039839f, 0.030189f, -0.011301f, - -0.003072f, 0.044509f, 0.029407f, -0.081926f, -0.046628f, 0.056812f, 0.065568f, -0.034549f, -0.011540f, -0.091928f, -0.050717f, 0.014102f, -0.003633f, 0.013184f, -0.048541f, -0.029864f, -0.032945f, 0.051054f, 0.075146f, -0.002416f, 0.021058f, -0.010778f, -0.005373f, 0.000483f, 0.018306f, 0.033721f, 0.009210f, -0.009788f, -0.004647f, -0.005757f, -0.042706f, -0.023224f, -0.043304f, -0.003928f, 0.015877f, -0.016744f, 0.029918f, -0.018238f, -0.005457f, 0.045705f, -0.018494f, 0.026964f, 0.019486f, -0.005038f, -0.038766f, -0.027032f, -0.021757f, 0.010778f, 0.081026f, 0.017199f, 0.045336f, 0.053037f, 0.042377f, 0.032588f, 0.029677f, -0.038558f, 0.005495f, -0.002339f, 0.062421f, 0.032422f, 0.038984f, 0.065617f, -0.023646f, -0.034366f, 0.021338f, 0.057527f, -0.078835f, 0.005949f, 0.015175f, 0.048608f, -0.059972f, -0.094962f, -0.006951f, 0.041710f, 0.022798f, 0.028916f, 0.045821f, -0.010634f, -0.007733f, 0.021390f, -0.033563f, 0.026935f, -0.005885f, -0.016397f, -0.042208f, 0.018835f, -0.023046f, -0.031752f, 0.021435f, 0.055396f, 0.010617f, -0.014424f, 0.025109f, 0.055719f, 0.013840f, 0.015478f, - -0.001394f, -0.000607f, 0.018869f, -0.037323f, -0.002543f, -0.055877f, 0.027485f, -0.044087f, -0.009290f, 0.031645f, 0.009427f, -0.022885f, 0.000665f, -0.027265f, 0.061296f, 0.013898f, 0.016210f, 0.040042f, 0.068015f, -0.025000f, 0.018293f, -0.029780f, 0.007025f, 0.031878f, 0.053290f, 0.019438f, -0.017945f, 0.066104f, 0.002096f, 0.001350f, -0.041112f, 0.007968f, 0.031493f, -0.007127f, 0.029785f, -0.039121f, 0.062234f, 0.077633f, -0.093586f, 0.003677f, -0.013140f, 0.024856f, -0.022875f, -0.005237f, 0.028354f, -0.025159f, -0.101564f, 0.007344f, 0.071354f, -0.058258f, 0.020611f, -0.008543f, -0.021894f, -0.032883f, 0.073719f, 0.000819f, -0.007058f, 0.017687f, -0.087843f, 0.059122f, 0.006226f, -0.043775f, 0.003873f, -0.089858f, -0.021350f, 0.005586f, -0.018162f, -0.071306f, -0.008530f, -0.046373f, -0.012254f, 0.044793f, 0.009724f, 0.058419f, 0.023391f, 0.022919f, 0.013141f, -0.018073f, 0.045641f, -0.021759f, -0.000586f, 0.023232f, 0.009915f, -0.026429f, 0.022779f, 0.011061f, 0.054355f, 0.024164f, -0.009579f, 0.034732f, -0.025837f, 0.046318f, 0.015542f, -0.046542f, -0.049674f, 0.028135f, - 0.033066f, 0.015877f, 0.005917f, -0.021180f, -0.031325f, 0.012386f, -0.030689f, -0.044932f, -0.013649f, -0.005196f, -0.042679f, -0.013286f, 0.017658f, -0.026811f, -0.047947f, 0.017269f, 0.019940f, 0.005251f, -0.004218f, 0.000847f, -0.006317f, 0.021685f, 0.086445f, 0.021345f, -0.000093f, 0.001277f, -0.026704f, -0.043211f, -0.017850f, 0.074357f, 0.078334f, 0.043624f, 0.011672f, 0.073458f, 0.037921f, -0.008824f, -0.087220f, -0.064468f, -0.049680f, -0.101490f, -0.035020f, -0.007774f, 0.020703f, 0.039096f, -0.016682f, 0.050384f, -0.057404f, 0.046616f, -0.005812f, 0.062196f, -0.039997f, 0.036066f, -0.058985f, 0.051846f, -0.047566f, -0.019853f, 0.072077f, 0.016922f, 0.058031f, 0.082762f, 0.008942f, -0.006200f, -0.033800f, -0.002271f, 0.052926f, 0.013687f, -0.017800f, -0.057354f, 0.005770f, 0.012037f, 0.028280f, 0.017357f, 0.023794f, 0.014892f, -0.032672f, -0.053181f, -0.021643f, 0.052931f, 0.021336f, 0.167271f, -0.051426f, -0.043658f, 0.055880f, 0.086334f, 0.019657f, -0.000555f, 0.024350f, 0.006601f, 0.029461f, -0.024141f, 0.012088f, 0.040980f, 0.046497f, 0.030537f, 0.131741f, -0.015303f, - -0.013966f, -0.007257f, 0.069589f, 0.041035f, -0.030665f, 0.036141f, 0.002619f, 0.012641f, -0.024255f, 0.060444f, -0.055229f, 0.005401f, 0.095234f, -0.065919f, 0.200039f, -0.088750f, 0.097921f, 0.086948f, -0.080512f, -0.076933f, 0.090165f, 0.000400f, -0.011924f, 0.028697f, 0.047173f, -0.105005f, -0.038421f, 0.057249f, -0.125555f, -0.084913f, -0.050038f, 0.086263f, 0.197777f, 0.048916f, -0.147614f, -0.038918f, -0.150929f, -0.085691f, 0.130626f, 0.070779f, 0.123031f, 0.060517f, -0.085819f, -0.147660f, -0.104688f, -0.031121f, 0.068469f, 0.068092f, 0.048090f, 0.019494f, -0.033708f, -0.161314f, -0.183656f, -0.046022f, 0.147629f, 0.250680f, 0.177641f, -0.038373f, -0.116296f, -0.178254f, -0.124091f, -0.109406f, 0.003927f, 0.035289f, 0.143726f, 0.143153f, -0.077126f, -0.057040f, -0.184128f, -0.181244f, -0.059133f, 0.010408f, 0.184981f, 0.260722f, 0.122416f, -0.086357f, -0.277104f, -0.215612f, -0.149151f, 0.065804f, 0.163171f, 0.091470f, 0.066371f, 0.045014f, -0.164337f, -0.039856f, -0.092580f, 0.025905f, -0.010613f, 0.089032f, 0.158089f, 0.113000f, -0.143924f, -0.304967f, -0.220165f, 0.012381f, - 0.169700f, -0.016807f, -0.034545f, 0.068674f, 0.021361f, -0.055529f, -0.052460f, 0.000236f, -0.084503f, -0.010366f, 0.012549f, 0.009763f, -0.007303f, 0.002217f, -0.028355f, -0.003430f, -0.003253f, 0.014705f, -0.009697f, 0.039085f, -0.010209f, -0.007362f, -0.010720f, -0.012089f, 0.024471f, 0.007098f, -0.011499f, 0.037884f, 0.002636f, -0.066913f, -0.033210f, 0.018639f, 0.033143f, -0.011006f, 0.004359f, 0.046131f, -0.000731f, 0.006444f, -0.037149f, -0.016623f, 0.012077f, -0.008001f, -0.007799f, -0.004820f, 0.031028f, 0.011180f, -0.011220f, -0.035812f, -0.013566f, -0.001946f, -0.031965f, 0.003303f, -0.036533f, -0.024923f, -0.016391f, -0.033151f, 0.053391f, -0.009257f, -0.022314f, 0.022241f, 0.001114f, -0.051173f, -0.001337f, 0.051434f, 0.043472f, -0.023641f, 0.034352f, 0.005642f, 0.033189f, -0.033973f, -0.047716f, 0.019874f, 0.025588f, 0.020494f, 0.020791f, -0.017381f, 0.022850f, -0.033575f, 0.028355f, 0.025681f, -0.041145f, 0.082440f, 0.126280f, -0.016787f, -0.046599f, -0.040441f, 0.116342f, 0.052182f, 0.112550f, 0.060263f, 0.000105f, -0.052771f, -0.011773f, 0.028169f, 0.052721f, 0.024688f, - -0.024686f, -0.006703f, 0.025021f, 0.036502f, 0.004322f, 0.007565f, -0.026381f, 0.003896f, -0.012959f, 0.016047f, 0.018598f, 0.048266f, 0.041946f, -0.023602f, 0.003155f, -0.026436f, 0.006014f, 0.021263f, 0.032945f, 0.001192f, -0.016656f, -0.001439f, -0.029599f, 0.022625f, -0.007442f, 0.008378f, 0.021655f, -0.001192f, 0.029067f, -0.016522f, -0.009176f, -0.008896f, -0.031842f, -0.020472f, -0.048095f, -0.011032f, -0.054759f, 0.001391f, -0.019662f, 0.041688f, 0.005261f, 0.010389f, -0.042835f, 0.014719f, -0.001177f, -0.021469f, 0.028809f, -0.019683f, -0.010243f, 0.003945f, 0.018238f, -0.006421f, -0.013063f, 0.063809f, 0.019947f, 0.010516f, 0.023069f, -0.025066f, -0.048559f, -0.100957f, -0.015374f, 0.136308f, 0.206631f, 0.175945f, 0.136389f, -0.008385f, 0.014308f, -0.100709f, -0.117182f, -0.187023f, -0.110238f, -0.117682f, -0.039540f, 0.015251f, 0.079286f, 0.058416f, 0.175354f, 0.154992f, 0.048473f, 0.010741f, -0.030447f, -0.060704f, -0.098576f, -0.035429f, -0.101113f, -0.026712f, -0.050949f, -0.031635f, -0.026285f, 0.004164f, -0.001897f, 0.032017f, 0.044341f, 0.071644f, 0.075279f, 0.093390f, - 0.077969f, -0.011856f, 0.003671f, -0.003282f, 0.010892f, -0.049664f, 0.014264f, -0.053256f, -0.130831f, -0.065098f, -0.099463f, -0.162001f, -0.051982f, -0.017997f, -0.070053f, 0.016933f, 0.042347f, 0.105088f, 0.123475f, 0.186092f, 0.114139f, 0.091973f, 0.090506f, 0.053205f, -0.027580f, 0.000801f, -0.106367f, -0.094239f, -0.150905f, -0.179580f, -0.204641f, -0.155560f, -0.121863f, -0.029976f, -0.021531f, -0.008719f, 0.036086f, 0.062198f, 0.144298f, 0.092884f, 0.045077f, -0.004171f}, - {-0.000497f, -0.001580f, -0.004372f, 0.003520f, 0.009140f, -0.003241f, 0.005737f, 0.006635f, 0.001627f, 0.003363f, 0.007830f, 0.008979f, -0.003302f, 0.002299f, -0.006000f, -0.007388f, 0.008837f, -0.017604f, 0.000987f, -0.011187f, -0.007538f, -0.004443f, -0.001739f, 0.020681f, -0.000296f, 0.005171f, 0.005358f, 0.000784f, -0.001690f, -0.000909f, -0.001564f, 0.002118f, 0.005316f, 0.004530f, -0.001402f, 0.000192f, -0.001546f, -0.007204f, 0.003314f, 0.002018f, -0.002780f, -0.010954f, -0.009743f, -0.000328f, 0.000623f, 0.001321f, 0.006010f, 0.006567f, -0.008301f, -0.005861f, -0.006169f, 0.005498f, 0.008503f, 0.005247f, 0.011369f, -0.000354f, -0.001174f, -0.002428f, 0.007588f, -0.004794f, 0.001042f, 0.000760f, -0.006201f, -0.009264f, -0.003645f, 0.009792f, 0.000218f, 0.014802f, 0.000466f, -0.001735f, 0.000349f, 0.009703f, -0.001483f, -0.000793f, 0.005248f, 0.003876f, 0.013648f, 0.005370f, -0.007054f, -0.001046f, 0.004660f, -0.000723f, 0.004964f, -0.012491f, -0.009144f, -0.002083f, -0.010776f, 0.004571f, -0.002523f, -0.001058f, -0.007336f, -0.003091f, 0.006513f, 0.006774f, -0.002778f, -0.001929f, - -0.004596f, -0.010097f, 0.011196f, 0.006854f, 0.000118f, 0.001284f, -0.000802f, 0.000414f, 0.008974f, -0.004563f, 0.001496f, -0.014574f, -0.012195f, -0.002941f, 0.000897f, -0.010148f, -0.002091f, 0.003679f, 0.000679f, 0.000226f, -0.005326f, -0.003909f, 0.009372f, -0.004413f, -0.004296f, -0.001335f, -0.001567f, 0.004220f, -0.002434f, -0.006289f, -0.000446f, 0.005472f, -0.008068f, 0.000291f, -0.008630f, 0.000522f, -0.006388f, 0.009231f, -0.000775f, -0.009942f, -0.001679f, -0.001103f, 0.000918f, -0.014214f, -0.001953f, 0.000937f, -0.009635f, 0.004033f, -0.000050f, -0.011159f, 0.004683f, 0.006207f, -0.005954f, -0.007176f, -0.011921f, 0.005507f, 0.004294f, -0.000197f, -0.010088f, 0.004517f, -0.012598f, -0.003636f, -0.001631f, -0.006513f, 0.006296f, 0.014182f, -0.005650f, -0.001953f, 0.000863f, -0.005935f, 0.004301f, -0.000918f, -0.004572f, -0.008156f, -0.004092f, 0.012851f, 0.012662f, 0.006987f, 0.014684f, 0.008512f, 0.004870f, 0.013616f, -0.008139f, 0.003041f, 0.006121f, -0.000201f, 0.002673f, -0.003952f, 0.002953f, -0.018691f, 0.000770f, -0.000979f, 0.007173f, -0.004124f, -0.001981f, -0.001163f, - 0.005626f, -0.005782f, -0.000511f, 0.001879f, 0.004132f, 0.003771f, -0.000506f, -0.006150f, 0.001727f, 0.002486f, 0.005147f, 0.003753f, 0.005924f, -0.005692f, -0.002962f, -0.000762f, -0.010012f, -0.000892f, 0.003488f, 0.009550f, 0.010909f, -0.000959f, 0.006361f, 0.004678f, 0.000002f, 0.004325f, 0.005321f, 0.007186f, -0.001815f, 0.000555f, -0.004092f, 0.001564f, -0.003408f, 0.003710f, -0.005527f, -0.005140f, 0.004024f, 0.000750f, -0.012450f, -0.012607f, 0.004953f, -0.001892f, 0.010521f, 0.009680f, 0.001254f, -0.000243f, 0.019932f, -0.005778f, -0.000065f, 0.015894f, 0.001069f, -0.010002f, -0.013507f, 0.009548f, -0.003693f, -0.000477f, -0.008240f, 0.002117f, -0.005792f, 0.006285f, 0.030831f, -0.011703f, -0.008627f, -0.011578f, -0.011576f, 0.001581f, -0.009393f, -0.024629f, -0.000307f, 0.001791f, 0.000345f, -0.010181f, -0.001735f, 0.007164f, -0.009551f, -0.006441f, 0.014498f, 0.004026f, -0.003395f, -0.004076f, 0.009394f, -0.005244f, 0.006772f, 0.005297f, -0.012823f, -0.009348f, -0.007535f, 0.007775f, -0.006450f, -0.004675f, -0.003460f, -0.005098f, -0.000579f, -0.009555f, 0.000150f, -0.003449f, - 0.002217f, -0.002032f, -0.019037f, 0.008001f, -0.010674f, 0.007552f, 0.001508f, -0.016528f, 0.003068f, 0.009586f, 0.003055f, 0.016549f, -0.007619f, 0.000101f, 0.001694f, 0.003322f, 0.005757f, -0.007249f, 0.001756f, 0.005230f, -0.007523f, 0.003286f, 0.004693f, -0.004855f, 0.002593f, -0.002622f, -0.016858f, 0.004945f, 0.017090f, 0.013249f, 0.016092f, 0.002298f, -0.002607f, -0.013603f, -0.006194f, -0.006574f, -0.004222f, 0.013333f, 0.019782f, 0.001050f, -0.000469f, 0.013244f, -0.021113f, 0.000157f, -0.000884f, -0.000648f, -0.006240f, -0.007619f, 0.008958f, 0.009673f, 0.001309f, -0.002381f, 0.004972f, -0.010843f, -0.007027f, 0.008044f, -0.007818f, 0.016943f, 0.016591f, 0.002498f, 0.010694f, 0.007982f, 0.002849f, -0.007009f, 0.003687f, -0.000375f, -0.010731f, 0.011727f, 0.000330f, 0.005543f, 0.010933f, -0.011191f, -0.002901f, -0.013275f, -0.001480f, 0.003285f, 0.014245f, -0.012679f, -0.003419f, 0.009776f, -0.000168f, -0.007883f, 0.015769f, -0.011044f, -0.022137f, 0.004651f, -0.011400f, -0.005409f, 0.009031f, -0.005032f, 0.003883f, 0.002437f, -0.002796f, 0.011548f, -0.005674f, 0.005827f, - -0.003148f, 0.000893f, -0.022407f, 0.005264f, 0.020139f, 0.002281f, 0.002754f, 0.006907f, 0.018873f, 0.003311f, -0.019026f, 0.021312f, 0.008653f, 0.008154f, 0.012171f, 0.011621f, -0.000279f, -0.003116f, 0.011503f, 0.009825f, 0.002780f, -0.007737f, 0.010008f, 0.005658f, 0.014983f, 0.018624f, 0.006526f, -0.003539f, 0.000190f, 0.000742f, 0.007228f, 0.023483f, 0.013261f, -0.011619f, 0.021732f, 0.001816f, -0.002792f, 0.003854f, -0.016190f, 0.018905f, -0.002422f, 0.001337f, -0.002141f, 0.005608f, -0.002385f, 0.010318f, -0.012927f, 0.019397f, 0.015725f, 0.000539f, -0.002755f, -0.009024f, -0.019188f, -0.005469f, 0.007952f, -0.003296f, -0.006966f, 0.011543f, 0.012442f, -0.006884f, -0.006851f, -0.023537f, -0.008127f, -0.001692f, -0.000633f, -0.026394f, 0.014842f, 0.003066f, -0.015802f, -0.012030f, 0.005478f, -0.004737f, 0.002804f, -0.002129f, 0.002498f, -0.004392f, 0.002857f, 0.010942f, -0.013637f, 0.000579f, -0.000532f, 0.001170f, 0.020281f, 0.012214f, -0.000836f, 0.026813f, 0.011413f, 0.024285f, 0.004981f, 0.008701f, 0.024514f, -0.009207f, -0.017394f, -0.009852f, 0.022892f, 0.006517f, - -0.013886f, 0.018710f, -0.005522f, -0.009692f, 0.015426f, 0.038847f, -0.010421f, 0.002716f, 0.005487f, 0.008092f, -0.010485f, 0.002083f, 0.020372f, 0.003087f, 0.025191f, -0.004760f, 0.027100f, 0.020436f, 0.006068f, 0.017284f, 0.009839f, -0.008962f, 0.006333f, -0.001630f, -0.003004f, 0.003557f, 0.001345f, -0.000863f, 0.006771f, 0.005999f, 0.017354f, 0.013005f, -0.015461f, 0.006190f, 0.006218f, -0.010043f, 0.000148f, -0.025021f, -0.034233f, 0.014524f, -0.009149f, -0.021000f, -0.005244f, -0.010810f, 0.014002f, 0.004259f, -0.007391f, -0.015559f, 0.012458f, -0.010958f, 0.007327f, -0.012448f, 0.001280f, -0.004442f, 0.019587f, 0.004598f, -0.009105f, 0.007701f, -0.014536f, 0.001771f, 0.000829f, 0.003714f, -0.008751f, 0.009990f, 0.011498f, -0.001396f, -0.007219f, -0.026086f, -0.021921f, -0.017255f, 0.008274f, 0.002163f, 0.004450f, -0.021386f, 0.013799f, 0.009372f, 0.017102f, -0.018334f, 0.017639f, 0.013177f, -0.010089f, -0.008776f, -0.004901f, 0.017509f, 0.012538f, -0.007812f, 0.002154f, 0.026562f, 0.013917f, 0.006825f, 0.015867f, 0.010567f, 0.004603f, -0.008836f, 0.002465f, 0.001218f, - -0.003266f, -0.009780f, 0.024150f, 0.011064f, -0.021490f, 0.014914f, 0.015336f, 0.014788f, 0.012107f, 0.003183f, -0.013144f, 0.000506f, -0.001232f, 0.020728f, 0.003360f, 0.009345f, 0.019370f, -0.003210f, -0.019773f, 0.004710f, 0.011706f, 0.021021f, -0.027048f, -0.015455f, 0.008373f, 0.000522f, 0.003358f, -0.016206f, -0.003233f, -0.015698f, -0.001343f, 0.007841f, -0.004330f, -0.008500f, -0.009646f, 0.004623f, -0.001647f, -0.005505f, 0.009883f, 0.001257f, -0.017170f, 0.017540f, 0.011349f, -0.005233f, 0.007065f, 0.010601f, -0.011540f, -0.003890f, 0.045019f, -0.001399f, 0.017654f, 0.012336f, -0.037303f, -0.019811f, -0.001930f, -0.001446f, -0.000243f, 0.021433f, 0.004987f, -0.010180f, 0.022216f, 0.013713f, -0.002514f, -0.003385f, 0.007272f, -0.003326f, -0.007506f, -0.016416f, -0.019510f, 0.011262f, -0.004047f, -0.008980f, -0.000662f, -0.030454f, -0.005415f, 0.002449f, 0.017344f, -0.019920f, -0.005552f, 0.003131f, 0.001721f, 0.004981f, 0.001880f, 0.022328f, -0.024968f, -0.007800f, 0.006015f, -0.000131f, -0.014569f, -0.002401f, 0.020115f, 0.017786f, 0.015059f, -0.003140f, -0.024844f, -0.010523f, - 0.009522f, -0.001777f, 0.017330f, 0.000230f, 0.000042f, -0.011216f, -0.007443f, 0.016346f, -0.017767f, 0.014174f, 0.009988f, -0.010955f, -0.006215f, -0.000488f, 0.002313f, -0.010773f, 0.007024f, -0.032977f, -0.003097f, 0.005693f, 0.021891f, 0.003909f, -0.001883f, 0.014905f, -0.010945f, 0.031091f, -0.030850f, -0.001746f, -0.007301f, 0.006165f, -0.002328f, -0.001275f, 0.006847f, -0.004440f, -0.011007f, -0.005579f, -0.006823f, -0.016726f, -0.003630f, 0.014043f, -0.003702f, -0.006689f, 0.018261f, 0.001028f, 0.022135f, -0.021014f, -0.013524f, 0.029681f, -0.003573f, -0.000313f, 0.001011f, -0.016376f, -0.002725f, -0.020769f, 0.005879f, -0.025190f, -0.001292f, 0.021391f, -0.007082f, 0.015107f, 0.017203f, 0.011961f, 0.013435f, -0.016394f, 0.017437f, 0.003708f, -0.047610f, -0.006155f, 0.006316f, -0.002037f, -0.005761f, -0.018316f, 0.015395f, -0.015276f, -0.003899f, -0.017516f, -0.018821f, -0.026265f, 0.024740f, 0.002323f, 0.028906f, -0.012432f, 0.021628f, 0.031772f, -0.019951f, 0.026449f, -0.030179f, -0.021915f, -0.027480f, -0.006471f, -0.019742f, 0.009130f, 0.007696f, 0.002436f, 0.023213f, 0.036429f, - 0.006357f, -0.010968f, -0.019241f, 0.011562f, 0.035474f, -0.000688f, 0.010863f, 0.000761f, 0.014736f, 0.008469f, 0.011530f, 0.017764f, -0.021696f, -0.002836f, -0.007462f, 0.028582f, 0.022940f, -0.002126f, 0.035056f, 0.016975f, 0.004004f, -0.033134f, -0.014960f, -0.025519f, -0.010367f, 0.001420f, 0.010165f, -0.009840f, 0.002249f, 0.033616f, -0.005546f, -0.001039f, 0.002728f, 0.034570f, -0.020827f, -0.009840f, -0.007915f, -0.004563f, -0.020357f, 0.023489f, 0.002606f, 0.015411f, -0.024607f, 0.002437f, -0.001815f, -0.016265f, -0.005079f, -0.029242f, 0.009839f, -0.000468f, 0.006942f, -0.004446f, -0.000696f, -0.033707f, -0.010097f, 0.011890f, 0.021891f, -0.006897f, 0.006557f, 0.042764f, -0.001667f, 0.001831f, 0.009234f, 0.019066f, -0.017120f, 0.003850f, 0.023548f, -0.013206f, 0.017740f, 0.005007f, 0.018771f, -0.021189f, -0.008597f, 0.005666f, 0.009400f, -0.020280f, -0.031082f, 0.008702f, -0.003379f, -0.031207f, 0.008540f, 0.003272f, 0.028353f, 0.025234f, -0.023298f, -0.027774f, 0.006245f, -0.021150f, -0.011233f, 0.001077f, 0.042294f, 0.000820f, -0.005370f, -0.037563f, -0.018918f, -0.003003f, - -0.028176f, -0.042553f, 0.029421f, -0.010728f, -0.013496f, -0.002114f, 0.031918f, -0.009594f, 0.003532f, -0.005976f, -0.006351f, -0.018071f, -0.009825f, 0.003603f, -0.044696f, -0.028251f, -0.008211f, -0.015755f, -0.015091f, -0.004604f, -0.017493f, 0.015898f, 0.007039f, 0.005620f, -0.010637f, 0.008505f, -0.064532f, 0.060952f, 0.035330f, -0.005128f, -0.008128f, 0.034847f, 0.002103f, -0.019065f, -0.028732f, -0.002391f, -0.010051f, -0.010575f, -0.017281f, -0.016115f, 0.022131f, 0.022406f, -0.009346f, 0.047339f, -0.025235f, -0.018365f, -0.018767f, 0.002852f, 0.014630f, -0.049779f, 0.015355f, -0.012656f, 0.027061f, -0.024548f, 0.011400f, 0.006088f, 0.030376f, 0.002906f, 0.071318f, 0.023715f, -0.001884f, 0.003413f, -0.028206f, -0.035641f, 0.044321f, -0.012975f, 0.004577f, 0.059753f, -0.016024f, -0.002609f, -0.013278f, 0.046628f, 0.008338f, -0.018939f, 0.026768f, -0.009736f, 0.040028f, 0.021558f, 0.009457f, 0.006221f, -0.005213f, -0.015385f, -0.005819f, -0.004051f, -0.044380f, -0.010791f, -0.007842f, 0.024274f, -0.014362f, 0.004693f, 0.007122f, -0.031103f, -0.047481f, -0.001534f, 0.039192f, -0.002565f, - 0.034658f, -0.006071f, -0.050980f, -0.019216f, 0.001128f, 0.011405f, 0.007826f, -0.040493f, -0.000918f, -0.011535f, 0.028147f, -0.030040f, 0.035864f, 0.055169f, 0.034261f, -0.011158f, 0.005117f, 0.022276f, -0.009557f, 0.043205f, 0.048244f, 0.044064f, 0.012591f, 0.048284f, -0.003548f, -0.019533f, 0.004253f, -0.025406f, -0.033964f, 0.017137f, -0.015812f, 0.038989f, 0.018298f, 0.009525f, -0.015428f, -0.050767f, -0.016144f, -0.036333f, 0.021338f, 0.026431f, -0.000262f, 0.012898f, 0.008897f, 0.012774f, 0.010845f, 0.004835f, -0.002685f, 0.006222f, -0.007384f, 0.013739f, -0.024384f, -0.068652f, -0.027275f, 0.037590f, 0.002447f, -0.011213f, -0.022681f, -0.000145f, 0.031952f, 0.040387f, 0.008948f, -0.024800f, -0.004012f, 0.032310f, -0.038725f, 0.003728f, -0.004465f, 0.028912f, 0.033434f, -0.026467f, 0.050528f, 0.009703f, 0.002479f, 0.070711f, 0.000861f, -0.022210f, 0.025307f, -0.011847f, 0.004102f, -0.015159f, 0.005853f, 0.046929f, 0.006050f, 0.059777f, 0.025928f, -0.052402f, -0.056532f, -0.012668f, 0.015599f, 0.031770f, -0.043625f, -0.015955f, -0.005647f, 0.053574f, 0.050152f, -0.042680f, - -0.000840f, -0.026302f, 0.017085f, -0.009535f, 0.057203f, -0.000060f, -0.011708f, 0.036035f, -0.006970f, -0.045123f, -0.021796f, -0.008957f, 0.045301f, -0.042934f, 0.023008f, 0.066315f, 0.027020f, 0.030283f, -0.030835f, 0.022367f, 0.039134f, 0.028057f, -0.050565f, -0.027793f, 0.036174f, 0.099225f, 0.008827f, 0.019652f, -0.026816f, 0.006762f, 0.001280f, -0.007178f, -0.024937f, 0.005987f, -0.006921f, 0.046404f, 0.041570f, -0.053386f, -0.019675f, 0.051540f, 0.030348f, 0.017003f, 0.008762f, 0.026761f, 0.037056f, 0.008446f, 0.023464f, 0.016341f, -0.021400f, 0.001246f, -0.020822f, -0.013203f, 0.010009f, -0.007140f, 0.007548f, -0.023225f, -0.015133f, 0.012015f, -0.000213f, 0.017470f, 0.019430f, -0.049637f, 0.039066f, 0.004525f, 0.032312f, -0.034387f, 0.022328f, 0.026027f, -0.017991f, -0.039018f, -0.032267f, -0.042999f, -0.035796f, -0.036194f, 0.016694f, 0.056643f, 0.020699f, 0.015303f, 0.033385f, -0.001238f, 0.004898f, -0.026653f, 0.045623f, -0.054265f, -0.095430f, 0.030772f, -0.016641f, -0.000038f, -0.079020f, 0.016186f, 0.035331f, -0.001344f, 0.026473f, 0.006797f, 0.000194f, -0.011834f, - 0.024040f, 0.017566f, 0.023001f, -0.032682f, -0.017112f, -0.004365f, 0.021116f, -0.043609f, 0.073151f, 0.035060f, -0.005838f, 0.040239f, 0.024130f, 0.038401f, -0.019739f, -0.025119f, -0.024551f, 0.046496f, 0.016695f, 0.008830f, 0.041912f, -0.035778f, -0.117147f, -0.007250f, 0.008408f, 0.014615f, -0.065590f, 0.051968f, 0.038016f, -0.070414f, -0.053948f, 0.002471f, 0.030171f, 0.003236f, 0.017608f, 0.038472f, -0.008934f, 0.024214f, -0.033177f, -0.038484f, -0.030071f, -0.039980f, -0.062194f, 0.018626f, 0.008135f, -0.041768f, 0.058066f, 0.022879f, -0.011919f, -0.012443f, -0.031243f, -0.023897f, -0.055751f, -0.030439f, 0.023079f, 0.052543f, -0.016889f, 0.006283f, 0.024174f, -0.044482f, 0.036284f, 0.045778f, 0.010335f, -0.010204f, 0.042372f, 0.011694f, 0.009189f, -0.026026f, -0.026215f, -0.001023f, 0.063891f, -0.016198f, -0.043817f, 0.000308f, -0.054700f, -0.068808f, -0.039329f, -0.010284f, -0.025440f, -0.044825f, -0.023005f, -0.024231f, 0.029314f, 0.056721f, 0.021405f, -0.026350f, -0.054650f, 0.058659f, 0.032135f, -0.028827f, -0.014950f, -0.015570f, 0.003728f, 0.013486f, -0.017740f, 0.030236f, - 0.028988f, 0.001140f, -0.018668f, -0.018659f, -0.016574f, -0.002726f, 0.011663f, -0.009192f, -0.018323f, -0.045688f, 0.014547f, 0.038941f, -0.022044f, 0.034287f, 0.001834f, 0.022698f, -0.018823f, 0.025250f, 0.076727f, -0.029406f, 0.034063f, 0.064791f, 0.012486f, -0.012733f, -0.017151f, 0.017779f, 0.002666f, 0.032152f, -0.024369f, 0.088767f, -0.026498f, -0.062525f, 0.015567f, -0.029701f, 0.073325f, 0.021157f, -0.020405f, 0.001519f, -0.040980f, -0.062146f, 0.075064f, 0.004941f, -0.016846f, 0.067887f, -0.034129f, 0.004827f, -0.017546f, 0.036238f, -0.049111f, -0.066018f, -0.037917f, 0.005211f, 0.031051f, 0.037314f, 0.027051f, 0.036078f, 0.088097f, -0.033523f, 0.035296f, 0.055446f, -0.008169f, 0.001708f, 0.066531f, 0.007385f, -0.036153f, -0.041964f, -0.037049f, 0.068485f, -0.045518f, 0.027431f, 0.032305f, -0.021463f, 0.006922f, -0.036968f, -0.008106f, 0.031037f, -0.026724f, 0.022654f, -0.008609f, -0.046359f, -0.102831f, -0.008412f, 0.093580f, 0.039868f, 0.010182f, -0.017375f, -0.027250f, -0.003948f, -0.035911f, 0.013126f, -0.050874f, 0.063271f, 0.005514f, 0.008918f, 0.006090f, -0.019365f, - -0.061289f, -0.022227f, 0.051263f, -0.039178f, -0.009227f, -0.026480f, 0.023728f, -0.018353f, 0.070752f, -0.009150f, 0.015837f, -0.023137f, -0.063063f, 0.016579f, -0.047658f, -0.008778f, -0.002487f, -0.088140f, -0.074470f, -0.069661f, 0.026085f, -0.010608f, -0.036906f, -0.022596f, -0.022670f, -0.020091f, -0.032406f, -0.020423f, -0.003369f, -0.078071f, 0.025636f, 0.012540f, 0.033183f, -0.014445f, 0.074290f, -0.003671f, 0.017972f, -0.020741f, -0.003580f, 0.041820f, -0.054335f, -0.012639f, -0.016873f, 0.029071f, 0.015998f, 0.034948f, -0.013867f, -0.069873f, 0.019349f, 0.001860f, 0.116407f, 0.121046f, 0.013455f, 0.001951f, 0.027226f, 0.014932f, 0.029150f, 0.052570f, 0.018225f, 0.054512f, 0.080298f, -0.019686f, 0.009575f, -0.066340f, -0.010584f, 0.009237f, -0.009743f, -0.019480f, -0.041638f, -0.033748f, 0.017820f, 0.019066f, -0.089921f, 0.063637f, 0.016103f, 0.089641f, -0.006460f, -0.017641f, 0.028289f, -0.006203f, 0.093272f, 0.023897f, -0.005720f, 0.017929f, 0.017795f, -0.025565f, -0.058319f, -0.045515f, -0.023339f, 0.069811f, 0.000294f, 0.076656f, 0.008946f, 0.074791f, -0.022258f, -0.104937f, - -0.039250f, -0.031298f, 0.053631f, 0.005269f, -0.050584f, -0.074697f, -0.051017f, -0.011896f, 0.063562f, -0.056954f, -0.047326f, -0.033768f, 0.057315f, -0.030287f, -0.015187f, -0.075678f, -0.070787f, 0.019772f, 0.014635f, 0.094305f, 0.028526f, -0.013413f, 0.003781f, 0.003488f, 0.070223f, 0.029378f, -0.036497f, 0.069962f, -0.005630f, -0.130783f, -0.041831f, 0.086419f, 0.092108f, -0.063032f, -0.066739f, -0.064065f, 0.036376f, 0.059984f, 0.113390f, 0.037560f, 0.014107f, -0.061963f, -0.007103f, -0.000730f, 0.025326f, 0.060567f, 0.041285f, 0.006940f, -0.069120f, -0.130428f, -0.035474f, -0.063990f, 0.101184f, 0.110936f, 0.186944f, -0.051668f, -0.178856f, -0.034726f, -0.060911f, 0.143983f, 0.048340f, 0.146143f, 0.037528f, -0.042369f, -0.135411f, -0.087342f, 0.006470f, 0.022305f, 0.154972f, 0.067749f, -0.003389f, -0.120435f, -0.217864f, -0.051604f, 0.007157f, 0.107829f, 0.234278f, 0.056873f, 0.072880f, -0.142543f, -0.225199f, 0.016804f, 0.056324f, 0.189254f, 0.111316f, 0.083980f, -0.037421f, -0.139562f, -0.115030f, 0.006836f, 0.040284f, 0.005035f, 0.099260f, -0.067653f, -0.062170f, -0.009756f, - -0.151252f, 0.031486f, -0.071499f, 0.096638f, 0.002676f, 0.009956f, -0.037796f, -0.101353f, 0.062497f, -0.101994f, 0.108040f, 0.010127f, 0.014216f, 0.016886f, -0.056914f, 0.056615f, 0.011101f, 0.037906f, -0.054305f, 0.016197f, 0.005656f, 0.069041f, -0.024206f, 0.013408f, 0.054423f, -0.060686f, -0.027070f, 0.000724f, -0.045815f, 0.078239f, -0.013290f, -0.038800f, 0.079885f, 0.081108f, -0.017547f, -0.067944f, -0.010222f, -0.060368f, -0.004860f, 0.030099f, 0.000105f, -0.073950f, 0.013844f, 0.033167f, -0.018926f, 0.038043f, -0.029400f, 0.012193f, 0.050934f, -0.022183f, 0.035533f, -0.083139f, -0.074024f, 0.077363f, 0.050980f, 0.121603f, 0.000657f, -0.035269f, 0.112151f, -0.063952f, -0.048099f, 0.034212f, 0.041842f, 0.057503f, -0.048720f, -0.028539f, 0.022270f, -0.013583f, 0.066349f, -0.049461f, -0.142930f, 0.038316f, 0.089802f, 0.001887f, -0.062518f, 0.015850f, 0.049576f, -0.010322f, -0.008801f, -0.001800f, -0.040624f, -0.023716f, 0.149948f, 0.041850f, 0.040731f, -0.127664f, -0.033397f, -0.100104f, -0.086257f, 0.076422f, 0.078683f, 0.159042f, 0.071681f, -0.021516f, -0.032714f, -0.018889f, - 0.048163f, 0.034453f, -0.001163f, 0.076662f, 0.012686f, -0.031688f, -0.039147f, -0.030516f, 0.052842f, -0.001135f, 0.045680f, 0.021331f, 0.026210f, 0.005757f, -0.015571f, 0.003869f, -0.003891f, 0.005273f, -0.016450f, -0.005497f, 0.011924f, 0.010866f, 0.100023f, 0.081111f, 0.064110f, -0.009136f, 0.013995f, -0.045918f, -0.012064f, -0.030199f, -0.053201f, -0.054058f, 0.009435f, 0.022679f, 0.033667f, 0.043602f, 0.033737f, -0.030565f, -0.070736f, 0.091346f, -0.076731f, -0.037105f, -0.025472f, 0.026050f, -0.003854f, 0.039454f, 0.040838f, 0.034289f, -0.068172f, -0.031472f, -0.002489f, -0.035071f, -0.106023f, 0.049081f, -0.035091f, -0.034042f, 0.020954f, 0.051983f, -0.000171f, -0.188521f, -0.102832f, -0.126727f, 0.091979f, 0.029426f, 0.273031f, 0.295235f, 0.281952f, 0.335609f, 0.318385f, 0.240824f, 0.141376f, 0.190686f, 0.078012f, 0.028067f, -0.152881f, -0.120264f, -0.332102f, -0.277478f, -0.260069f, -0.140067f, -0.192517f, -0.133411f, -0.010175f, -0.032198f, -0.016313f, -0.007502f, 0.004725f, 0.016257f, 0.013180f, 0.055353f, 0.045900f, 0.057234f, 0.120616f, 0.136846f, 0.131637f, 0.109373f, - 0.257163f, 0.086651f, 0.113972f, 0.197020f, 0.204789f, 0.096229f, 0.207304f, 0.260673f, 0.198675f, 0.187961f, 0.178440f, 0.046520f, 0.114352f, 0.228310f, 0.213753f, 0.158379f, 0.184299f, 0.178065f, 0.020395f, -0.016146f, -0.012529f, -0.058008f, -0.092977f, 0.027692f, -0.104534f, -0.159885f, -0.126110f, -0.140918f, -0.245092f, -0.072687f, -0.146665f, -0.148322f, -0.248722f, -0.170458f, -0.214490f, -0.228098f, -0.131591f, -0.243460f, -0.307987f, -0.188760f, 0.012069f, -0.001252f} - } -}; -const float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2522]={ {-0.000072f, -0.000087f, -0.000165f, -0.000108f, -0.000091f, -0.000141f, -0.000119f, -0.000065f, -0.000073f, 0.000041f, 0.000162f, -0.000331f, 0.000004f, -0.000023f, -0.000104f, -0.000159f, -0.000548f, -0.000580f, -0.000858f, 0.001141f, -0.000077f, -0.000440f, -0.000301f, 0.000374f, -0.000666f, -0.000117f, -0.000248f, -0.000150f, -0.000208f, 0.000995f, 0.000447f, -0.000600f, -0.000315f, -0.000273f, 0.000055f, 0.000012f, -0.000163f, -0.000416f, -0.000685f, 0.000840f, -0.000420f, 0.000539f, 0.000367f, 0.000488f, -0.000195f, 0.000654f, -0.003981f, 0.000346f, -0.000459f, 0.000152f, -0.000395f, 0.000019f, -0.000441f, 0.000047f, -0.001046f, -0.000658f, -0.000082f, -0.000556f, -0.000132f, -0.000232f, 0.001084f, 0.000081f, -0.001193f, 0.001053f, -0.000367f, 0.000567f, 0.000051f, 0.000409f, -0.001187f, -0.000355f, -0.000293f, 0.000146f, 0.000241f, -0.000121f, -0.000337f, 0.000436f, -0.000624f, -0.000119f, -0.000364f, 0.000162f, 0.000094f, 0.000514f, 0.000465f, -0.000539f, -0.000298f, -0.000011f, -0.000190f, 0.000413f, 0.000023f, 0.000353f, -0.000326f, -0.000341f, 0.000507f, 0.002057f, -0.000866f, 0.000922f, - -0.000363f, 0.000341f, 0.000008f, 0.000490f, -0.000184f, 0.000134f, 0.000224f, 0.000258f, 0.000282f, 0.000464f, -0.000087f, 0.000067f, 0.000845f, 0.000629f, -0.001591f, 0.000335f, -0.000183f, 0.000095f, -0.000525f, 0.000376f, -0.000667f, 0.000703f, 0.000600f, 0.000295f, -0.000062f, -0.000207f, -0.000226f, 0.000500f, 0.000479f, -0.000194f, 0.000132f, 0.000855f, -0.000287f, -0.000010f, -0.000258f, 0.000106f, 0.000161f, -0.000018f, -0.000208f, 0.000403f, 0.000093f, -0.000118f, 0.008225f, -0.000555f, 0.001176f, 0.000016f, 0.000397f, 0.000195f, 0.000311f, 0.000225f, 0.000818f, -0.000413f, 0.000364f, -0.000122f, 0.000168f, 0.000470f, 0.000704f, 0.000307f, 0.000162f, -0.000282f, 0.000642f, -0.000402f, 0.000263f, -0.000165f, -0.000614f, 0.000108f, 0.000253f, 0.000065f, -0.000172f, 0.000098f, -0.000197f, 0.000465f, -0.000841f, 0.000245f, -0.000174f, 0.000273f, 0.000017f, -0.001175f, -0.000397f, 0.000168f, 0.000218f, 0.000185f, -0.000187f, -0.000231f, -0.000215f, 0.000218f, 0.000495f, -0.000150f, 0.004914f, -0.005862f, 0.001141f, -0.001426f, 0.000743f, -0.000931f, 0.000684f, -0.001264f, - -0.000400f, -0.000787f, -0.000168f, -0.000658f, 0.000027f, 0.001128f, 0.001638f, 0.000681f, 0.000341f, 0.000014f, 0.000493f, 0.001177f, 0.000835f, -0.000558f, -0.000686f, -0.000887f, -0.000448f, -0.000517f, 0.000013f, -0.000094f, -0.000111f, 0.000013f, 0.000219f, -0.000416f, 0.000480f, -0.000544f, -0.000748f, 0.000251f, -0.000048f, 0.000044f, 0.000110f, -0.000502f, -0.000601f, 0.000163f, -0.000382f, -0.000466f, -0.000129f, 0.000059f, -0.011368f, 0.002204f, -0.000621f, 0.000234f, 0.000193f, -0.001001f, -0.000477f, 0.000846f, -0.000197f, 0.000023f, 0.000961f, 0.000273f, -0.000434f, -0.000758f, 0.000655f, 0.000006f, -0.000902f, -0.001278f, -0.001817f, 0.000515f, -0.000834f, 0.000126f, -0.000301f, 0.000275f, -0.000227f, 0.000068f, -0.000964f, -0.000964f, -0.000610f, -0.000300f, -0.000616f, 0.000113f, -0.000320f, 0.000264f, 0.001019f, 0.000124f, 0.000143f, 0.000644f, 0.000153f, 0.000104f, -0.000064f, -0.000198f, -0.000741f, -0.000226f, 0.000124f, -0.000190f, -0.013575f, 0.005016f, -0.001308f, 0.001578f, -0.000838f, 0.001123f, -0.000689f, -0.000233f, -0.001195f, 0.000836f, -0.001405f, 0.000857f, - -0.000272f, 0.001219f, -0.001765f, 0.000395f, 0.001576f, 0.000420f, -0.001392f, -0.000534f, -0.000850f, -0.000393f, 0.000483f, 0.000208f, 0.000351f, -0.000269f, -0.000491f, -0.000710f, -0.000665f, -0.000111f, -0.000757f, -0.000186f, -0.000704f, -0.000540f, -0.001912f, -0.000588f, -0.000286f, 0.000044f, 0.000024f, 0.000596f, 0.000263f, 0.000585f, -0.000083f, 0.000690f, 0.000164f, 0.000004f, 0.001758f, 0.005960f, -0.001555f, 0.002681f, -0.001515f, 0.000749f, -0.001639f, 0.001411f, -0.000050f, 0.001531f, -0.000042f, -0.000085f, 0.001519f, -0.000177f, -0.000123f, 0.001322f, -0.000538f, -0.001099f, -0.001766f, 0.001698f, -0.000052f, 0.001179f, 0.000213f, 0.000852f, 0.000469f, -0.001017f, 0.000541f, 0.000488f, 0.000014f, 0.000605f, 0.000933f, -0.001013f, 0.000230f, 0.000018f, -0.000000f, -0.000562f, -0.000183f, -0.000550f, 0.000257f, -0.000077f, 0.000557f, 0.001427f, 0.000151f, 0.000745f, -0.000026f, 0.000178f, -0.000048f, 0.000254f, 0.000661f, 0.017843f, -0.004331f, 0.001744f, -0.000793f, 0.001548f, -0.000596f, 0.001199f, -0.000580f, 0.000444f, -0.001671f, 0.000852f, -0.001592f, 0.001312f, - -0.000442f, 0.000419f, -0.000417f, 0.001826f, 0.000310f, 0.000491f, -0.000789f, 0.001206f, -0.000037f, -0.000497f, 0.001060f, -0.000730f, -0.001124f, 0.000068f, -0.000302f, 0.000605f, 0.000066f, -0.000145f, -0.000317f, 0.000206f, 0.000035f, 0.000255f, -0.000746f, 0.000222f, -0.000287f, 0.001309f, -0.000162f, 0.000639f, 0.000194f, 0.000539f, 0.001039f, -0.000638f, 0.000132f, 0.000243f, -0.000245f, 0.000771f, 0.001441f, -0.009285f, 0.003584f, -0.002903f, 0.001618f, -0.001473f, 0.000426f, -0.001922f, 0.001150f, -0.000799f, 0.001631f, -0.000240f, 0.000674f, -0.001540f, -0.000697f, -0.000145f, -0.000611f, -0.000553f, 0.001886f, -0.001487f, 0.000177f, 0.000867f, -0.001860f, 0.000417f, 0.000558f, -0.000489f, 0.000540f, 0.000166f, 0.000278f, -0.001177f, -0.000178f, -0.000402f, 0.000623f, -0.000602f, 0.000304f, -0.001376f, -0.000353f, 0.000951f, 0.000392f, 0.000282f, -0.000426f, -0.000230f, -0.001110f, -0.001117f, 0.000506f, 0.000196f, -0.000137f, -0.000182f, -0.000184f, 0.000077f, 0.000005f, -0.000247f, -0.000315f, -0.014997f, 0.004804f, -0.002721f, 0.000594f, -0.000324f, 0.000749f, -0.001194f, - 0.001122f, -0.000569f, -0.000507f, -0.000221f, 0.000785f, -0.000544f, -0.000788f, 0.000440f, 0.001590f, -0.000300f, -0.000022f, -0.002885f, 0.000149f, -0.000021f, 0.001279f, -0.000511f, -0.000307f, -0.002217f, -0.000834f, -0.000036f, -0.000058f, 0.000688f, 0.000929f, -0.001686f, -0.001594f, 0.000907f, 0.000141f, -0.001733f, -0.001391f, 0.000577f, 0.000259f, -0.000151f, -0.000156f, -0.000694f, 0.000551f, -0.000251f, 0.000131f, 0.000039f, -0.000990f, -0.000416f, 0.000358f, -0.001400f, -0.000793f, -0.000312f, 0.000171f, -0.000311f, -0.014948f, 0.006529f, -0.003698f, 0.002703f, -0.002595f, 0.001197f, -0.002944f, 0.000601f, -0.001936f, 0.002909f, -0.001555f, 0.000981f, -0.000232f, -0.000050f, -0.001410f, -0.000462f, -0.000608f, 0.002619f, -0.000555f, 0.001298f, 0.002143f, 0.001174f, 0.000284f, -0.000373f, 0.000487f, -0.000560f, 0.001187f, 0.001096f, 0.000135f, -0.000682f, 0.000177f, 0.000136f, -0.000843f, -0.000458f, 0.000591f, 0.000794f, -0.000695f, -0.000753f, -0.000702f, -0.000054f, -0.000303f, 0.000278f, -0.000674f, 0.000364f, -0.001047f, 0.000197f, -0.000580f, -0.000147f, 0.000092f, -0.000522f, - -0.000571f, -0.000827f, -0.000678f, 0.005627f, 0.005842f, -0.002027f, 0.002008f, -0.002233f, 0.000454f, 0.000808f, 0.000155f, -0.000831f, 0.001164f, 0.000376f, 0.002368f, 0.001291f, 0.002661f, -0.000288f, 0.001606f, -0.000307f, 0.001058f, 0.001461f, -0.000095f, -0.001768f, 0.001876f, -0.000086f, 0.000838f, -0.000309f, 0.000082f, 0.000368f, 0.002272f, 0.000438f, -0.001107f, -0.000290f, 0.000370f, -0.000540f, 0.001730f, 0.000820f, -0.000180f, -0.000313f, -0.000858f, 0.000853f, -0.000841f, 0.001058f, 0.001060f, -0.000609f, 0.000639f, 0.000632f, 0.000335f, 0.000048f, 0.001672f, 0.001113f, 0.001241f, 0.000077f, 0.000209f, 0.000650f, -0.000276f, -0.000008f, 0.016899f, -0.005914f, 0.002170f, -0.002715f, 0.001996f, -0.001756f, 0.002541f, -0.000749f, 0.000194f, -0.001749f, 0.003770f, -0.000433f, 0.003403f, 0.000308f, 0.000643f, -0.002128f, 0.000868f, 0.003450f, -0.000959f, -0.002710f, 0.000484f, 0.000228f, 0.001372f, -0.001920f, 0.001727f, 0.000096f, 0.000208f, -0.000062f, -0.001900f, -0.000458f, 0.000385f, -0.002236f, 0.000448f, 0.001080f, 0.000843f, -0.000539f, -0.000135f, 0.000038f, - 0.001155f, 0.000461f, -0.000139f, -0.000353f, 0.000908f, 0.000727f, 0.002183f, 0.000687f, -0.000274f, 0.001331f, 0.000520f, 0.000017f, 0.000435f, 0.001048f, 0.000636f, 0.000269f, 0.000181f, 0.005592f, -0.008167f, 0.004833f, -0.003650f, 0.001480f, 0.000517f, -0.000410f, -0.000338f, 0.000924f, -0.002076f, -0.001347f, -0.001088f, -0.000872f, -0.002825f, 0.001370f, -0.002624f, -0.000154f, -0.002103f, 0.000713f, -0.001587f, -0.001287f, -0.000643f, 0.002310f, 0.000314f, 0.002245f, 0.001193f, 0.001519f, 0.002264f, 0.000059f, -0.000302f, -0.000410f, 0.000631f, 0.001688f, -0.000156f, -0.000192f, -0.001177f, 0.000823f, -0.000149f, -0.000766f, 0.000644f, 0.000471f, 0.001825f, 0.000675f, 0.000861f, -0.001367f, -0.000602f, -0.000149f, -0.000237f, 0.000817f, -0.002611f, 0.000489f, -0.000636f, -0.000519f, -0.000802f, -0.000997f, -0.000299f, -0.000988f, 0.000382f, -0.000715f, -0.000089f, -0.001460f, -0.017319f, -0.003833f, 0.000731f, -0.003336f, -0.001412f, 0.000076f, -0.000162f, -0.002854f, 0.000740f, -0.002843f, 0.000023f, 0.002170f, -0.000474f, -0.000438f, 0.001171f, 0.000738f, 0.001194f, 0.000006f, - 0.001457f, -0.000905f, 0.000375f, 0.001685f, -0.000173f, -0.000178f, -0.001201f, 0.001600f, -0.001344f, -0.000779f, 0.000387f, 0.000606f, 0.001225f, 0.003862f, -0.001125f, -0.000710f, -0.001741f, 0.000025f, -0.001294f, 0.000227f, -0.000543f, -0.001921f, -0.000158f, 0.002295f, 0.000625f, -0.001667f, -0.000833f, 0.000714f, -0.001006f, -0.001282f, 0.000190f, -0.000643f, 0.000104f, 0.000178f, 0.001458f, 0.000140f, 0.000700f, 0.000320f, -0.001283f, -0.000715f, 0.000760f, 0.000665f, -0.000529f, -0.021176f, 0.017437f, -0.006123f, 0.005163f, -0.003841f, 0.002896f, -0.001126f, 0.001834f, -0.002044f, 0.001220f, 0.001442f, 0.002077f, -0.001385f, 0.002519f, 0.001249f, 0.004307f, -0.000691f, 0.000332f, -0.002307f, 0.000546f, -0.000814f, -0.001473f, -0.001787f, -0.002086f, -0.001892f, 0.002773f, -0.000132f, 0.003336f, 0.000873f, 0.000576f, -0.000060f, 0.000385f, -0.001492f, 0.000193f, -0.000544f, 0.000655f, 0.002002f, 0.000308f, 0.000662f, 0.000066f, 0.000212f, -0.001576f, -0.000830f, -0.000115f, -0.000112f, 0.000145f, -0.000459f, -0.001462f, 0.000040f, 0.001442f, -0.000477f, 0.000379f, 0.000445f, - -0.001309f, 0.000863f, 0.000298f, 0.000479f, -0.000327f, 0.000151f, -0.000209f, -0.000378f, 0.012386f, -0.001837f, -0.003918f, -0.001323f, -0.000779f, -0.000581f, -0.003443f, -0.001783f, 0.001037f, 0.000658f, 0.001061f, 0.001304f, -0.002294f, 0.001008f, -0.000401f, 0.000903f, 0.003839f, -0.003762f, 0.001382f, 0.001378f, 0.001090f, -0.000929f, -0.002146f, 0.001778f, 0.000576f, 0.001288f, 0.002391f, 0.000059f, 0.003272f, 0.000334f, 0.001556f, 0.000181f, 0.001077f, -0.000827f, 0.001279f, 0.000929f, 0.001224f, -0.000394f, 0.000451f, -0.000040f, 0.001551f, 0.001883f, -0.002648f, 0.003711f, 0.000379f, 0.001072f, 0.000229f, 0.000685f, 0.000780f, -0.000726f, 0.002266f, 0.001230f, 0.000156f, 0.002053f, 0.000927f, -0.001065f, -0.000019f, -0.000701f, -0.000723f, -0.000565f, 0.000441f, -0.000123f, 0.000202f, -0.000018f, -0.002164f, 0.009835f, 0.000922f, 0.002055f, -0.002459f, -0.000415f, -0.006209f, 0.001564f, -0.000230f, -0.004206f, 0.003651f, -0.001915f, 0.000201f, 0.002684f, 0.001256f, 0.002029f, -0.001435f, 0.000926f, -0.001903f, 0.000093f, -0.001615f, 0.000687f, -0.002495f, 0.003741f, - 0.002742f, 0.002229f, 0.002620f, 0.000613f, -0.000758f, -0.001548f, 0.000801f, 0.002071f, 0.000089f, 0.001425f, -0.000914f, 0.000323f, 0.001428f, 0.000988f, 0.001294f, 0.000124f, 0.000521f, -0.000116f, -0.000774f, 0.000891f, -0.000509f, 0.000433f, 0.000441f, -0.000851f, 0.001288f, -0.001599f, 0.001543f, -0.000737f, 0.001116f, 0.001593f, -0.001829f, 0.000213f, 0.000308f, -0.000765f, -0.001426f, 0.001082f, -0.002368f, -0.001881f, 0.001253f, 0.000503f, 0.000620f, 0.000479f, 0.001591f, 0.001466f, 0.015370f, -0.012851f, 0.004305f, -0.003226f, 0.001085f, 0.003967f, 0.003211f, -0.002183f, 0.003857f, 0.002164f, 0.002311f, -0.001648f, 0.001050f, -0.000856f, 0.004584f, 0.001257f, 0.001258f, 0.001765f, 0.001909f, 0.001215f, 0.001286f, -0.003834f, 0.000554f, -0.006907f, -0.002452f, -0.000663f, -0.004002f, 0.000967f, 0.002052f, -0.001510f, -0.002202f, -0.002537f, -0.002480f, -0.001309f, 0.001320f, 0.001075f, -0.003574f, -0.004074f, -0.000383f, -0.002086f, 0.001032f, 0.000883f, 0.000310f, -0.000306f, 0.001840f, -0.001023f, 0.000016f, -0.000282f, -0.000943f, -0.002618f, 0.001932f, 0.003414f, - -0.000553f, -0.000442f, 0.001519f, -0.002428f, 0.002836f, 0.000744f, -0.001586f, -0.000067f, -0.001484f, -0.000593f, -0.000457f, -0.000999f, -0.000378f, -0.000680f, -0.002142f, -0.023963f, 0.002254f, -0.002240f, 0.000760f, 0.002319f, 0.001628f, 0.004755f, -0.002117f, -0.000279f, 0.000273f, 0.005715f, 0.001903f, -0.004670f, -0.003102f, 0.002463f, 0.003323f, -0.000970f, -0.001425f, -0.000200f, 0.001465f, 0.003457f, 0.003493f, -0.000154f, -0.006603f, -0.001974f, -0.000797f, -0.000877f, 0.003629f, -0.001824f, 0.002064f, 0.000120f, -0.000544f, -0.003455f, 0.000132f, 0.002584f, -0.004433f, -0.002610f, -0.001147f, -0.000841f, -0.002176f, -0.001790f, -0.004157f, -0.000826f, -0.002865f, -0.000055f, 0.000448f, 0.002819f, -0.002119f, -0.001375f, 0.000103f, -0.000362f, 0.000304f, -0.002564f, 0.000831f, 0.000886f, 0.000161f, 0.000085f, -0.002042f, -0.001764f, -0.001110f, -0.000581f, -0.000307f, -0.003262f, 0.000495f, 0.000918f, -0.001558f, -0.002978f, -0.013890f, 0.014980f, -0.002004f, 0.001051f, 0.003625f, 0.004310f, -0.003040f, 0.002129f, 0.000926f, 0.002699f, 0.001887f, 0.003764f, 0.002201f, -0.002381f, - -0.003987f, 0.000683f, 0.004499f, 0.008807f, -0.001967f, -0.002868f, 0.002422f, 0.001504f, -0.001522f, -0.004206f, -0.000729f, -0.000780f, -0.003736f, 0.003482f, 0.004201f, 0.000142f, 0.001094f, -0.000005f, 0.003339f, -0.002413f, -0.007544f, 0.003318f, -0.000765f, 0.002644f, 0.001396f, 0.000173f, -0.001743f, -0.002899f, 0.002217f, 0.002485f, 0.001941f, -0.000289f, 0.000013f, 0.002721f, 0.001672f, 0.000872f, -0.001413f, 0.002293f, 0.002054f, -0.000268f, -0.000403f, -0.001262f, 0.001722f, 0.000087f, -0.003616f, 0.003162f, 0.002057f, -0.000676f, 0.001083f, -0.000444f, 0.000287f, -0.000045f, 0.001112f, 0.002708f, 0.001112f, -0.000454f, -0.000758f, -0.000087f, 0.004247f, 0.000215f, -0.003162f, -0.006563f, 0.001662f, -0.000306f, -0.005382f, 0.001877f, -0.001735f, 0.000288f, -0.001992f, -0.001579f, 0.001792f, 0.004176f, 0.000589f, 0.005520f, 0.002574f, -0.002745f, -0.003553f, 0.006032f, -0.002523f, -0.000177f, 0.000625f, -0.005632f, 0.000047f, 0.002995f, -0.003183f, -0.000864f, 0.003874f, 0.000241f, 0.002071f, 0.000057f, 0.002588f, -0.000426f, -0.001587f, -0.000236f, 0.003409f, 0.004449f, - -0.001356f, 0.000888f, 0.000885f, 0.002954f, -0.001661f, -0.000338f, 0.000693f, -0.000784f, 0.002047f, 0.000836f, 0.000278f, -0.001056f, 0.001664f, 0.001669f, 0.000211f, 0.000030f, 0.001407f, 0.001946f, -0.002289f, -0.000079f, 0.000797f, 0.001025f, -0.001112f, 0.000911f, 0.031494f, -0.002770f, 0.000753f, 0.002186f, -0.002573f, -0.004606f, -0.002586f, -0.000963f, -0.005283f, -0.005676f, 0.000683f, -0.004997f, -0.002076f, -0.001265f, -0.001063f, 0.003475f, 0.003984f, 0.001443f, 0.008090f, 0.001684f, -0.003668f, 0.007034f, -0.000453f, 0.005060f, -0.001308f, -0.000237f, -0.004237f, 0.000439f, 0.004173f, 0.000138f, -0.001700f, -0.000488f, 0.000627f, -0.000709f, -0.000610f, 0.001809f, -0.003329f, 0.001730f, 0.000758f, -0.001392f, -0.003145f, -0.001988f, 0.002825f, 0.002862f, 0.003280f, -0.004844f, 0.003123f, 0.001110f, 0.000108f, 0.000556f, 0.000744f, 0.000898f, 0.000904f, -0.000102f, 0.000514f, 0.003071f, -0.000525f, 0.001429f, 0.001525f, -0.000766f, 0.002515f, 0.002972f, 0.000695f, 0.000168f, 0.002665f, 0.002125f, 0.001608f, -0.018531f, -0.030965f, 0.010972f, -0.000948f, 0.004457f, - -0.005553f, 0.000069f, -0.006403f, -0.000999f, -0.009158f, 0.003697f, 0.004000f, -0.000398f, -0.000850f, -0.000313f, 0.000693f, -0.002359f, -0.007816f, 0.013922f, 0.000842f, -0.002025f, 0.004712f, 0.000644f, -0.002684f, 0.006563f, 0.007414f, -0.003465f, 0.004327f, 0.000634f, -0.001078f, -0.007305f, -0.003984f, 0.005287f, -0.002951f, 0.000537f, -0.000485f, 0.003509f, -0.005866f, -0.006736f, 0.000823f, -0.000163f, -0.004473f, 0.002383f, 0.000453f, -0.003003f, 0.001856f, -0.003286f, -0.002585f, 0.000918f, 0.001082f, -0.000124f, -0.000870f, -0.001710f, 0.001740f, 0.002726f, 0.000390f, 0.000649f, -0.000912f, -0.001176f, 0.002602f, 0.000001f, 0.000561f, -0.003012f, -0.000643f, -0.002125f, 0.001468f, 0.001871f, 0.000011f, 0.001474f, -0.009984f, 0.029679f, -0.013296f, 0.002142f, 0.001876f, 0.007374f, -0.001014f, 0.004672f, -0.004771f, 0.000195f, -0.009087f, -0.001827f, -0.000010f, 0.003536f, 0.000553f, 0.003640f, -0.002635f, -0.005592f, 0.000666f, -0.008360f, -0.008729f, 0.000137f, -0.002889f, -0.000279f, 0.000715f, 0.001124f, -0.002179f, -0.001566f, -0.003122f, -0.004833f, 0.001880f, 0.002148f, - -0.006136f, -0.002908f, -0.007705f, -0.000017f, -0.003400f, 0.002626f, 0.003246f, -0.006491f, 0.001014f, 0.005088f, 0.004734f, -0.002598f, 0.001743f, -0.001964f, -0.000863f, 0.001314f, -0.002833f, -0.000783f, 0.002722f, 0.001917f, 0.001888f, 0.002071f, 0.001265f, -0.000849f, 0.001838f, 0.000977f, -0.001239f, -0.000263f, 0.003696f, -0.000580f, -0.001553f, -0.000738f, 0.001606f, -0.001764f, -0.003549f, -0.000500f, -0.001131f, 0.000693f, 0.000964f, -0.000806f, -0.024852f, -0.007884f, 0.002506f, -0.004157f, 0.003249f, -0.001895f, -0.000223f, -0.007523f, -0.008962f, -0.001462f, -0.003300f, 0.003363f, 0.000788f, -0.001345f, -0.018244f, 0.008745f, 0.000396f, 0.007581f, 0.009548f, 0.006478f, -0.009650f, -0.002596f, -0.001150f, -0.002652f, 0.001792f, 0.001927f, -0.000397f, -0.003738f, 0.003573f, -0.006678f, -0.003634f, 0.005331f, 0.000061f, -0.002755f, 0.006383f, -0.000179f, 0.006708f, -0.002729f, -0.001334f, 0.000488f, 0.001949f, -0.005308f, -0.003889f, -0.001222f, 0.003686f, -0.001777f, 0.000415f, -0.001925f, 0.002392f, 0.002907f, 0.000417f, -0.000201f, -0.005978f, -0.000985f, 0.002601f, 0.002767f, - -0.002022f, 0.003136f, 0.000946f, -0.001396f, 0.000702f, -0.004027f, -0.001351f, -0.002853f, 0.002141f, -0.000092f, -0.001082f, 0.000370f, -0.006397f, -0.000476f, 0.000900f, 0.002391f, 0.016043f, 0.005610f, -0.009156f, -0.001319f, -0.003763f, 0.003590f, -0.005395f, 0.005067f, -0.000741f, 0.005842f, 0.004189f, 0.007028f, -0.008738f, 0.011185f, -0.006353f, 0.006661f, -0.003318f, 0.004105f, 0.001068f, 0.003525f, -0.005448f, -0.013027f, 0.005524f, 0.009541f, -0.002996f, 0.004078f, -0.004340f, 0.001386f, -0.002716f, 0.010009f, 0.000293f, -0.000692f, 0.002717f, -0.004462f, -0.002892f, -0.002508f, 0.004679f, 0.000305f, -0.001159f, 0.000263f, -0.000420f, 0.006942f, 0.004916f, -0.002250f, 0.002607f, 0.002793f, -0.002329f, -0.001365f, -0.002044f, -0.004826f, -0.000231f, 0.000342f, -0.000209f, -0.001630f, -0.004652f, 0.000018f, 0.008352f, 0.004486f, -0.002767f, 0.004605f, 0.000057f, 0.000143f, 0.004221f, 0.002138f, -0.003187f, 0.001626f, 0.001410f, 0.004076f, 0.005229f, -0.003475f, 0.002286f, 0.002913f, 0.033130f, -0.027388f, -0.004773f, 0.001159f, -0.000744f, -0.007710f, 0.002296f, 0.001775f, - 0.010417f, -0.003674f, 0.001858f, 0.008565f, -0.000003f, 0.005082f, 0.017049f, -0.003935f, -0.001377f, -0.009174f, -0.008674f, 0.000218f, 0.002599f, -0.003961f, 0.001373f, 0.015089f, 0.008548f, 0.001111f, 0.000296f, 0.001090f, 0.008154f, -0.007188f, -0.003406f, -0.000534f, 0.004055f, -0.000815f, 0.000741f, -0.003706f, 0.001036f, -0.006476f, -0.004051f, -0.004924f, -0.000249f, -0.004420f, 0.000694f, -0.007772f, 0.003187f, -0.015406f, -0.004265f, 0.001984f, 0.002463f, -0.000683f, -0.003895f, 0.001075f, 0.000071f, 0.001727f, -0.004575f, 0.001756f, -0.002853f, -0.002870f, -0.007165f, -0.005134f, -0.001917f, -0.000950f, -0.000118f, 0.001032f, 0.001694f, 0.000290f, 0.000542f, -0.004163f, -0.000546f, -0.005074f, -0.001294f, -0.000537f, -0.000468f, -0.021488f, -0.015086f, -0.001489f, -0.003392f, 0.010654f, -0.000063f, 0.001652f, -0.014263f, 0.000331f, 0.001465f, 0.000414f, 0.000626f, 0.007973f, -0.010847f, 0.001833f, -0.002672f, -0.007531f, -0.003933f, 0.006260f, -0.002776f, 0.005037f, -0.002306f, 0.002778f, 0.001220f, -0.001452f, -0.001296f, 0.003205f, -0.000959f, -0.000376f, -0.009392f, 0.004089f, - 0.003498f, 0.003461f, 0.003843f, -0.008297f, -0.008747f, 0.004507f, 0.006640f, -0.008880f, 0.002650f, 0.000960f, 0.006906f, 0.004011f, 0.000184f, 0.004743f, -0.003165f, -0.005426f, -0.001324f, -0.010226f, -0.007854f, -0.001028f, -0.000927f, 0.001391f, -0.005334f, 0.001484f, -0.004397f, -0.012966f, -0.004336f, -0.003588f, -0.013226f, -0.000084f, -0.002658f, -0.001549f, 0.000845f, 0.003902f, -0.004323f, 0.002441f, 0.001004f, -0.005637f, -0.004241f, -0.004244f, -0.001505f, -0.001063f, -0.013332f, 0.019842f, -0.010684f, -0.004682f, -0.006311f, 0.001381f, 0.001571f, 0.002741f, -0.001412f, 0.008522f, 0.006458f, -0.006508f, -0.011270f, 0.003936f, -0.004298f, 0.010008f, 0.000739f, 0.004124f, 0.005290f, -0.004145f, -0.003849f, 0.013352f, -0.007881f, -0.002166f, -0.004027f, 0.000188f, -0.001686f, 0.001509f, -0.002348f, -0.001216f, -0.010539f, 0.008954f, -0.003255f, -0.001155f, 0.010968f, -0.007856f, -0.009468f, 0.000509f, -0.004278f, -0.006596f, -0.000003f, -0.003568f, 0.002536f, -0.014058f, -0.004478f, -0.003753f, -0.000244f, 0.004407f, 0.000162f, 0.000537f, 0.002609f, -0.002783f, 0.002039f, 0.002767f, - 0.002934f, 0.002587f, -0.001576f, -0.003382f, -0.002339f, 0.002972f, -0.008058f, -0.002329f, -0.001710f, -0.002586f, 0.005677f, -0.004232f, -0.005500f, 0.005275f, 0.002105f, 0.002907f, 0.007302f, -0.003219f, -0.001952f, 0.002705f, -0.003371f, -0.027977f, 0.013299f, 0.014376f, 0.007125f, 0.006451f, -0.005403f, 0.006570f, -0.012375f, -0.000048f, -0.014462f, -0.002271f, -0.006600f, 0.006056f, -0.007189f, -0.005971f, -0.002036f, -0.010666f, 0.002483f, -0.005100f, 0.003989f, -0.010028f, 0.015491f, -0.005681f, 0.007023f, -0.006991f, 0.000083f, -0.006998f, -0.002683f, 0.003235f, 0.009686f, 0.011124f, -0.006363f, -0.000344f, -0.004013f, -0.006466f, -0.005261f, -0.016824f, -0.001027f, 0.002383f, -0.016116f, 0.005666f, 0.002391f, 0.003876f, 0.006729f, 0.004312f, 0.001791f, -0.005547f, -0.002410f, -0.006139f, -0.003672f, 0.002766f, -0.013122f, 0.004552f, 0.001648f, 0.000473f, -0.006646f, -0.003758f, 0.002350f, 0.009675f, 0.003336f, 0.002294f, -0.004830f, 0.003889f, -0.000362f, -0.004988f, 0.000285f, -0.003656f, -0.006451f, -0.003017f, -0.002405f, -0.005056f, 0.004337f, 0.003050f, 0.003162f, 0.002515f, - 0.022567f, -0.015924f, -0.006805f, -0.002248f, -0.000298f, 0.010841f, -0.002322f, 0.003365f, -0.006612f, 0.003160f, -0.004182f, -0.018307f, -0.012586f, -0.004912f, 0.006270f, -0.001075f, -0.010139f, -0.009646f, -0.019826f, -0.006661f, 0.002351f, 0.002333f, 0.000753f, -0.002356f, -0.001304f, -0.006434f, 0.001460f, 0.002212f, 0.003214f, 0.000413f, -0.001013f, -0.002714f, -0.009476f, -0.002757f, -0.002222f, 0.004344f, -0.001059f, -0.007860f, -0.003003f, 0.001781f, -0.008456f, 0.001051f, -0.008704f, 0.004430f, 0.006757f, -0.006842f, -0.012547f, -0.002835f, -0.003929f, -0.006160f, 0.000639f, 0.000715f, 0.001292f, 0.002654f, 0.000236f, -0.005358f, 0.007971f, 0.011782f, -0.005763f, 0.004625f, 0.002207f, 0.005343f, -0.008652f, 0.002885f, 0.001360f, 0.002697f, -0.012442f, 0.009595f, 0.001567f, 0.000652f, -0.001122f, -0.007776f, 0.002435f, 0.000372f, 0.002536f, 0.037207f, -0.020583f, 0.002044f, -0.001961f, -0.004258f, -0.015343f, -0.000669f, -0.000754f, 0.012751f, 0.005843f, 0.025591f, -0.010021f, 0.001169f, 0.002854f, 0.006287f, -0.002534f, -0.000963f, 0.010357f, -0.006247f, 0.014872f, 0.009216f, - -0.020569f, 0.019880f, 0.006953f, -0.006842f, -0.005101f, -0.007476f, -0.004022f, 0.001676f, 0.000903f, -0.005282f, 0.013044f, 0.001959f, -0.006273f, -0.005242f, 0.001246f, -0.006549f, -0.012149f, 0.000435f, 0.007185f, 0.003206f, 0.008739f, -0.003743f, 0.002673f, 0.009774f, 0.013477f, 0.003564f, -0.014102f, 0.004984f, -0.004601f, -0.007332f, 0.001948f, 0.006346f, 0.003309f, -0.001279f, -0.012832f, -0.010689f, 0.015590f, -0.001595f, 0.012021f, 0.001895f, -0.004889f, 0.006485f, -0.010625f, -0.004083f, 0.004983f, -0.000734f, 0.010368f, -0.007701f, -0.016644f, -0.003893f, -0.000759f, -0.004205f, -0.003760f, 0.011440f, -0.042383f, -0.027739f, 0.009403f, -0.014685f, 0.003933f, -0.007620f, -0.025876f, -0.019285f, 0.033197f, -0.016108f, 0.014672f, 0.008054f, -0.009404f, 0.007309f, -0.005591f, 0.010076f, 0.011200f, -0.001318f, -0.003935f, 0.019687f, -0.007169f, -0.023425f, -0.000217f, -0.010130f, 0.001743f, 0.001616f, 0.013103f, 0.006713f, 0.002256f, 0.006161f, -0.006757f, -0.000541f, 0.014403f, 0.009049f, -0.003299f, 0.003326f, -0.013839f, -0.021010f, -0.015686f, -0.011086f, -0.003554f, -0.003442f, - 0.003200f, -0.002435f, -0.006294f, 0.012604f, 0.002867f, -0.010382f, -0.009812f, -0.003170f, 0.003237f, -0.010444f, 0.003399f, 0.011749f, -0.000813f, 0.004099f, -0.008970f, 0.006053f, 0.004208f, 0.001044f, 0.004317f, -0.007850f, -0.011956f, -0.016537f, 0.007605f, 0.005953f, 0.000103f, 0.005950f, 0.000787f, -0.007676f, -0.001895f, 0.000393f, -0.013121f, -0.001134f, -0.020077f, -0.050644f, 0.016367f, -0.004623f, -0.003957f, 0.008295f, 0.001504f, 0.004354f, 0.021080f, 0.012382f, 0.015738f, 0.007664f, 0.021739f, -0.004547f, -0.022611f, 0.002633f, -0.003205f, -0.009959f, -0.020140f, -0.009031f, 0.016174f, 0.003275f, -0.001957f, 0.002975f, -0.002089f, -0.000313f, 0.013469f, 0.001269f, 0.004472f, -0.002698f, 0.002693f, 0.013696f, -0.004790f, -0.010093f, 0.006359f, -0.017510f, -0.017961f, -0.011488f, -0.003062f, -0.000032f, 0.006156f, 0.016175f, -0.000678f, -0.006246f, -0.017572f, -0.027719f, -0.010554f, -0.004454f, -0.002615f, -0.000658f, 0.009047f, -0.012951f, 0.021456f, 0.011215f, -0.003177f, 0.006007f, -0.009911f, 0.001154f, -0.000890f, 0.009944f, 0.018994f, 0.013099f, -0.012923f, -0.005414f, - 0.002249f, -0.002350f, -0.003630f, 0.000595f, -0.007207f, -0.019896f, -0.002545f, -0.004018f, -0.002396f, 0.002634f, -0.008421f, -0.002942f, 0.021553f, 0.021791f, 0.008227f, 0.014972f, 0.011184f, 0.022785f, -0.017718f, 0.023630f, -0.026115f, -0.003634f, 0.026912f, 0.036299f, 0.008642f, -0.001072f, 0.014116f, -0.009647f, -0.011247f, 0.026553f, 0.005456f, -0.002785f, 0.007561f, 0.021552f, -0.003983f, 0.013643f, -0.002701f, -0.004016f, -0.001031f, 0.010315f, -0.022226f, -0.001803f, 0.012951f, -0.004175f, 0.002681f, -0.007308f, 0.006401f, 0.019794f, -0.015774f, 0.006630f, -0.003588f, 0.007162f, -0.007484f, 0.013615f, 0.002654f, 0.005566f, 0.006713f, -0.019949f, 0.011877f, -0.028181f, -0.004272f, 0.017521f, 0.003484f, -0.009451f, 0.020011f, -0.005351f, -0.009246f, 0.014199f, -0.003633f, -0.002865f, -0.000220f, 0.008912f, 0.000729f, 0.002994f, -0.013928f, 0.006641f, 0.003565f, 0.031973f, -0.021237f, -0.009452f, 0.005116f, -0.005351f, 0.009557f, 0.009335f, -0.008448f, 0.022090f, 0.011509f, 0.041905f, -0.025917f, 0.001147f, -0.003973f, -0.006853f, 0.001086f, -0.009445f, -0.003780f, -0.030810f, - -0.025570f, -0.025694f, 0.008918f, -0.005346f, 0.008840f, -0.005880f, -0.018370f, 0.029832f, 0.021172f, -0.013917f, -0.011257f, -0.016446f, -0.003012f, 0.006294f, 0.010288f, 0.011958f, -0.000391f, 0.009201f, -0.002202f, -0.011986f, -0.013899f, 0.008803f, -0.006024f, 0.027026f, 0.017645f, 0.024880f, 0.004133f, 0.008850f, 0.025384f, 0.016839f, -0.004781f, 0.004167f, -0.000418f, -0.000079f, 0.003342f, -0.011964f, -0.007556f, 0.003988f, -0.013644f, -0.015368f, 0.015225f, 0.015837f, -0.017084f, -0.001170f, 0.032811f, 0.021591f, -0.000178f, -0.011221f, -0.001306f, 0.005880f, 0.007070f, -0.005102f, -0.010739f, 0.013405f, 0.000259f, 0.002569f, 0.011514f, 0.011958f, -0.012161f, 0.004728f, -0.000689f, 0.004176f, -0.019400f, 0.002548f, 0.020935f, -0.020476f, 0.033299f, 0.012504f, -0.005039f, -0.001604f, 0.010080f, -0.013171f, -0.016997f, 0.013613f, -0.020208f, -0.025978f, 0.006227f, -0.014174f, -0.018166f, -0.009696f, 0.016277f, 0.040782f, 0.016528f, -0.022973f, 0.041719f, 0.004404f, -0.007204f, 0.007114f, -0.025278f, 0.005771f, 0.002815f, -0.018214f, 0.014703f, -0.005278f, 0.002403f, -0.013267f, - 0.006527f, -0.012177f, 0.020754f, -0.025883f, -0.009996f, -0.009303f, 0.011396f, 0.013377f, 0.011722f, -0.014039f, 0.003224f, -0.014666f, -0.004778f, 0.006907f, 0.017130f, 0.007640f, -0.009000f, 0.016785f, 0.008079f, 0.013392f, 0.000105f, 0.015691f, -0.008035f, 0.008332f, -0.025848f, 0.027258f, -0.003377f, 0.003087f, -0.008419f, -0.015485f, -0.000290f, 0.008417f, 0.021295f, 0.005550f, -0.027934f, 0.010273f, -0.012065f, 0.020763f, 0.000589f, -0.009924f, 0.002852f, -0.009089f, 0.003046f, -0.017901f, 0.004505f, -0.068393f, 0.003911f, 0.012458f, 0.028068f, 0.009817f, -0.041752f, 0.057634f, 0.021660f, -0.025100f, 0.010202f, 0.057345f, 0.013538f, -0.012804f, -0.000855f, -0.033289f, 0.018428f, 0.002556f, -0.007891f, 0.005868f, 0.012568f, -0.021227f, 0.012718f, -0.026827f, 0.003798f, -0.024349f, -0.021911f, -0.008693f, 0.011577f, 0.017316f, -0.011580f, 0.015292f, -0.023825f, -0.002485f, 0.028630f, 0.003655f, -0.009118f, -0.002143f, 0.006319f, -0.005282f, -0.017416f, -0.019270f, -0.001793f, -0.008175f, 0.020969f, -0.026888f, 0.030745f, 0.010785f, 0.004772f, -0.008644f, -0.002303f, 0.015178f, - -0.010181f, 0.020050f, 0.005621f, 0.018329f, -0.005181f, -0.008172f, -0.028414f, 0.011739f, -0.001909f, -0.028593f, 0.010198f, -0.000167f, 0.019592f, 0.031789f, -0.011444f, 0.008957f, 0.015829f, 0.018061f, 0.004371f, -0.006400f, -0.000614f, -0.033694f, -0.000676f, 0.007011f, 0.010071f, 0.004930f}, - {-0.000085f, -0.000110f, -0.000233f, -0.000152f, -0.000064f, -0.000268f, -0.000373f, -0.000034f, -0.000201f, -0.000178f, 0.000051f, 0.000100f, 0.000053f, 0.000032f, -0.000142f, 0.000357f, -0.000041f, 0.000200f, -0.000520f, -0.000600f, -0.000007f, -0.001067f, -0.000421f, 0.000439f, 0.000043f, 0.000129f, 0.000086f, 0.000745f, 0.000011f, 0.000318f, 0.000056f, 0.000486f, 0.000031f, -0.000377f, -0.000522f, -0.000614f, -0.001068f, 0.000077f, -0.000104f, 0.000038f, -0.000438f, -0.000073f, 0.000301f, 0.000368f, -0.000247f, -0.000290f, -0.004608f, 0.000444f, -0.001004f, -0.000048f, -0.000365f, -0.000677f, 0.000375f, 0.001556f, 0.000019f, 0.000799f, -0.000868f, -0.000218f, 0.000612f, -0.000558f, 0.000189f, 0.001087f, -0.000628f, -0.000200f, -0.000286f, -0.000053f, 0.000171f, -0.000216f, 0.000322f, 0.000216f, -0.000234f, 0.000416f, -0.000234f, -0.000008f, -0.000865f, 0.000007f, -0.000075f, 0.000219f, 0.000165f, 0.000420f, -0.000359f, 0.000712f, -0.000091f, 0.000595f, -0.000175f, 0.000002f, 0.000460f, -0.000135f, 0.000340f, 0.000153f, 0.000347f, 0.000074f, 0.000330f, 0.001963f, -0.001509f, 0.000965f, - -0.001189f, 0.000630f, -0.000572f, -0.000565f, -0.000333f, -0.000315f, 0.000368f, 0.000418f, -0.001476f, -0.000067f, 0.000236f, -0.000135f, -0.000233f, -0.000860f, -0.000301f, 0.000636f, 0.000960f, 0.000486f, 0.001504f, 0.000316f, -0.000247f, 0.000319f, 0.000275f, -0.000139f, 0.000504f, 0.001071f, -0.000388f, 0.000002f, 0.000469f, -0.000001f, -0.000084f, -0.000745f, -0.000011f, 0.000396f, 0.000327f, 0.000074f, 0.000040f, -0.000240f, 0.000287f, -0.000016f, 0.000052f, 0.000027f, 0.007104f, -0.000421f, 0.000655f, -0.000407f, 0.000494f, -0.000497f, 0.000152f, -0.000091f, -0.000087f, 0.000446f, -0.000335f, -0.001242f, 0.000408f, 0.000173f, 0.000434f, 0.000909f, 0.000501f, 0.000353f, -0.000079f, -0.000702f, -0.000218f, 0.000384f, -0.000064f, -0.000078f, 0.000761f, -0.000877f, -0.000256f, 0.000027f, -0.000121f, -0.000185f, 0.000384f, 0.000425f, 0.000508f, 0.000177f, 0.000204f, -0.000150f, 0.000691f, 0.000014f, 0.000538f, 0.000398f, -0.000083f, -0.000022f, 0.000273f, 0.000050f, -0.000107f, -0.000023f, 0.005173f, -0.004979f, 0.000758f, -0.001358f, 0.000698f, -0.000108f, 0.000497f, -0.000492f, - 0.000912f, -0.000413f, 0.000543f, -0.001200f, 0.000023f, -0.000702f, 0.000172f, -0.000123f, -0.000188f, -0.000332f, -0.000898f, -0.000102f, 0.000077f, -0.000442f, 0.000687f, -0.000334f, -0.000547f, -0.000667f, 0.000363f, -0.000430f, 0.000986f, -0.000116f, -0.000027f, 0.000290f, -0.000027f, 0.000013f, -0.000484f, -0.000388f, -0.000138f, 0.000097f, -0.000207f, -0.000444f, 0.000354f, 0.000272f, 0.000663f, -0.000167f, 0.000193f, -0.000101f, -0.012232f, 0.001378f, -0.000964f, -0.000025f, -0.000191f, -0.001073f, 0.001055f, -0.000324f, 0.000049f, 0.000415f, 0.000092f, 0.001229f, -0.000112f, -0.000575f, 0.001486f, 0.000568f, 0.001337f, -0.000082f, -0.001886f, -0.001153f, -0.000934f, 0.000705f, -0.001007f, 0.000027f, -0.000397f, -0.000378f, 0.000063f, 0.000231f, -0.000326f, -0.000631f, -0.000476f, 0.000317f, 0.000372f, 0.000747f, -0.000111f, -0.000166f, -0.000097f, 0.000442f, -0.000603f, 0.000090f, 0.000174f, 0.000313f, -0.000499f, 0.000419f, -0.000595f, -0.000152f, -0.015441f, 0.005518f, -0.002303f, 0.002521f, -0.001845f, 0.001124f, -0.001995f, 0.001044f, -0.001494f, 0.000496f, 0.001021f, -0.000007f, - 0.000361f, 0.000920f, -0.000682f, 0.000643f, -0.000860f, -0.000663f, -0.001839f, 0.001567f, -0.001098f, 0.001028f, 0.000037f, -0.000072f, -0.001762f, -0.000129f, 0.000289f, -0.000312f, -0.000099f, -0.000132f, 0.000676f, -0.000176f, -0.000543f, 0.000472f, 0.000127f, -0.000291f, -0.000002f, -0.000049f, 0.000026f, 0.000239f, -0.000499f, 0.001119f, -0.000131f, -0.000824f, -0.000111f, -0.000485f, 0.000820f, 0.007058f, -0.001442f, 0.002714f, -0.001155f, 0.000970f, -0.000923f, 0.003365f, -0.000571f, 0.001821f, -0.000136f, -0.000075f, 0.000516f, 0.000052f, -0.002205f, 0.000568f, -0.000135f, -0.000975f, -0.000176f, 0.000088f, -0.002788f, -0.000031f, 0.000311f, 0.000952f, 0.000054f, -0.000498f, -0.000034f, 0.001025f, 0.000258f, -0.000442f, -0.000883f, 0.001514f, -0.000832f, 0.000005f, -0.001279f, -0.000112f, 0.000087f, 0.000274f, -0.000246f, 0.000397f, 0.000675f, -0.000542f, 0.000554f, 0.000010f, 0.000461f, 0.000010f, 0.000764f, -0.000312f, -0.000114f, 0.018588f, -0.005258f, 0.000927f, -0.000786f, 0.001337f, 0.000142f, 0.000108f, -0.002354f, 0.001234f, -0.000955f, 0.000882f, 0.000397f, 0.000510f, - 0.000934f, 0.001367f, 0.000327f, 0.000553f, -0.001954f, 0.000886f, 0.000909f, -0.001228f, -0.000123f, 0.001531f, 0.001055f, 0.001020f, 0.002148f, 0.001239f, 0.000434f, 0.000648f, -0.000609f, 0.000752f, -0.000036f, 0.001269f, 0.001647f, -0.000099f, 0.000652f, 0.001056f, -0.000249f, 0.000437f, -0.001158f, -0.000242f, 0.001458f, 0.000131f, -0.000766f, -0.000206f, 0.000549f, 0.001077f, 0.000087f, 0.000656f, 0.001243f, -0.009941f, 0.004084f, -0.002944f, 0.001806f, -0.001776f, 0.002143f, -0.001506f, 0.000013f, -0.001288f, -0.001596f, -0.002175f, 0.000063f, -0.001312f, 0.000522f, 0.000655f, 0.001509f, -0.002663f, 0.001519f, -0.000673f, 0.002143f, 0.000445f, -0.000229f, 0.000133f, 0.000073f, -0.000571f, -0.000550f, 0.000300f, -0.001170f, 0.000663f, 0.001158f, -0.001754f, -0.000489f, -0.000135f, 0.000579f, -0.000686f, 0.001695f, -0.001915f, 0.000249f, -0.000028f, -0.000006f, -0.000834f, 0.000006f, -0.000529f, 0.000354f, 0.000057f, -0.000036f, -0.000591f, -0.000232f, -0.001208f, -0.000539f, -0.000076f, 0.000128f, -0.015976f, 0.004984f, -0.003317f, -0.000280f, -0.000721f, 0.000932f, -0.002804f, - 0.000128f, 0.000818f, 0.000655f, -0.001013f, 0.000476f, -0.001278f, -0.002084f, -0.000836f, 0.000181f, -0.001254f, 0.004148f, 0.000068f, -0.001247f, -0.000431f, -0.001488f, -0.000707f, 0.001212f, 0.000729f, 0.001594f, -0.000194f, 0.000665f, -0.000984f, 0.000306f, -0.000893f, -0.000374f, -0.000537f, 0.000196f, 0.000487f, -0.000353f, -0.000844f, 0.000113f, 0.000274f, 0.001070f, -0.000231f, -0.000515f, -0.001535f, -0.001323f, -0.000612f, -0.000331f, 0.000261f, 0.000111f, -0.000638f, -0.000350f, 0.000095f, 0.000458f, 0.000273f, -0.015403f, 0.007106f, -0.003470f, 0.003124f, -0.001753f, 0.001815f, 0.000864f, 0.000493f, -0.001820f, 0.000123f, -0.000964f, 0.000170f, -0.002357f, 0.000766f, 0.001355f, 0.000369f, -0.002501f, -0.001299f, -0.001293f, -0.001369f, -0.000904f, 0.001643f, 0.000349f, 0.001126f, 0.000916f, -0.000531f, -0.000165f, -0.001938f, 0.002303f, -0.000779f, -0.000304f, 0.000045f, -0.000570f, -0.000836f, -0.000920f, -0.000305f, -0.001990f, 0.000461f, -0.001083f, 0.000658f, 0.000615f, 0.000992f, -0.000357f, 0.000005f, -0.001309f, 0.000354f, 0.000869f, 0.000098f, -0.000259f, 0.000063f, - 0.000669f, 0.000952f, 0.000417f, 0.005024f, 0.006202f, -0.002730f, 0.001695f, -0.000804f, 0.000664f, -0.000608f, 0.000399f, 0.000597f, 0.003057f, -0.001011f, 0.001284f, 0.002889f, -0.000731f, -0.000056f, -0.000438f, 0.000747f, 0.001501f, 0.001561f, 0.001987f, 0.000590f, 0.001695f, -0.000359f, -0.000946f, -0.003254f, 0.000733f, -0.000437f, -0.001634f, -0.001120f, -0.000026f, -0.000245f, 0.001102f, -0.000082f, -0.001898f, -0.001915f, 0.000563f, -0.001653f, 0.000259f, 0.001128f, -0.001527f, -0.000962f, -0.000636f, 0.000852f, 0.000723f, 0.000030f, -0.000183f, 0.001245f, 0.000269f, -0.000364f, 0.000487f, -0.000916f, 0.000146f, -0.000440f, -0.000738f, -0.000420f, 0.017710f, -0.006161f, 0.003344f, -0.002308f, 0.003324f, -0.002339f, 0.002038f, -0.000755f, 0.002070f, 0.000508f, 0.001456f, -0.001689f, 0.001737f, -0.000589f, -0.001445f, -0.000143f, -0.001553f, -0.002470f, -0.001310f, -0.000263f, 0.001252f, -0.001689f, -0.002272f, -0.002772f, -0.000504f, -0.000237f, 0.002217f, 0.001224f, 0.001422f, -0.000970f, 0.001148f, -0.000875f, -0.000874f, -0.000470f, 0.001458f, 0.001272f, 0.000386f, -0.000003f, - -0.000063f, 0.000047f, -0.000422f, -0.000226f, 0.001004f, 0.000203f, 0.002486f, -0.000953f, -0.000313f, -0.002077f, 0.001350f, -0.000540f, -0.000338f, -0.000488f, -0.000144f, 0.000123f, -0.000362f, 0.005031f, -0.007544f, 0.004513f, -0.002787f, 0.003518f, 0.000018f, 0.002205f, 0.000664f, -0.003276f, -0.001523f, -0.001067f, 0.000465f, 0.000891f, 0.000524f, 0.003818f, -0.002058f, 0.003062f, 0.000581f, 0.000438f, -0.001999f, -0.000389f, 0.002656f, -0.000115f, -0.002149f, 0.002568f, 0.001976f, 0.000481f, -0.000977f, -0.000760f, -0.000161f, -0.000118f, 0.001222f, -0.000514f, 0.000577f, -0.001350f, -0.000253f, 0.000869f, -0.001970f, 0.000834f, -0.000729f, 0.000785f, -0.000529f, -0.000120f, 0.002452f, 0.001093f, 0.001422f, -0.000045f, 0.000623f, 0.000939f, -0.000121f, -0.000597f, -0.000997f, 0.000425f, 0.000542f, 0.000916f, 0.001087f, 0.000308f, -0.000174f, -0.000989f, -0.000423f, -0.000999f, -0.019094f, -0.004048f, -0.000748f, -0.003384f, -0.001548f, 0.002585f, 0.000961f, -0.001057f, -0.000976f, -0.002497f, -0.001750f, -0.002069f, -0.002307f, -0.001940f, -0.001337f, -0.001775f, -0.002880f, -0.002478f, - 0.000617f, -0.002511f, 0.000511f, -0.003299f, -0.000151f, -0.001494f, -0.001269f, 0.002458f, -0.000528f, -0.001521f, 0.001476f, -0.002158f, 0.001573f, 0.000334f, 0.001673f, 0.001103f, -0.000295f, -0.001135f, 0.001771f, -0.000236f, -0.000570f, 0.001642f, -0.001029f, -0.002718f, -0.003104f, -0.000932f, 0.000682f, 0.000404f, -0.001110f, -0.000282f, -0.001049f, -0.000015f, -0.000227f, -0.000047f, 0.001512f, 0.000509f, -0.001557f, -0.000673f, -0.000041f, 0.000944f, -0.000014f, 0.001504f, 0.000184f, -0.022190f, 0.019287f, -0.007872f, 0.005336f, -0.005043f, 0.001208f, -0.002474f, 0.003235f, 0.000624f, 0.000345f, -0.001570f, 0.002173f, 0.000465f, -0.004030f, 0.000424f, 0.000539f, -0.001981f, -0.003126f, 0.003064f, 0.003706f, -0.001183f, -0.001059f, 0.000666f, 0.001666f, -0.000976f, 0.003356f, -0.000061f, 0.000789f, -0.002440f, -0.000971f, -0.001428f, 0.002146f, -0.000436f, 0.000391f, 0.000550f, -0.001385f, 0.002239f, 0.001971f, 0.000644f, 0.000601f, 0.002623f, -0.001668f, -0.000325f, -0.000449f, -0.001754f, 0.000266f, -0.001107f, 0.000314f, 0.000046f, 0.000021f, 0.002185f, -0.000230f, -0.000357f, - 0.000302f, 0.000230f, 0.001192f, -0.001134f, 0.000304f, 0.000051f, 0.002480f, -0.000654f, 0.014990f, -0.001600f, -0.002906f, -0.000551f, 0.002177f, 0.001210f, 0.001087f, 0.000073f, -0.001869f, 0.000691f, 0.001440f, 0.001597f, -0.000750f, -0.000706f, 0.003178f, 0.001200f, -0.002142f, 0.000679f, 0.004058f, -0.004650f, 0.003421f, 0.000568f, 0.004321f, -0.000098f, 0.000433f, 0.000985f, 0.001032f, 0.002345f, -0.001401f, -0.000432f, 0.001014f, 0.001732f, -0.000413f, 0.000130f, 0.000405f, 0.000536f, 0.001186f, -0.001811f, 0.000162f, 0.001325f, 0.000538f, -0.000923f, -0.000128f, 0.002722f, 0.002094f, 0.001062f, -0.000763f, -0.000551f, 0.000950f, -0.000165f, -0.000411f, 0.000611f, -0.000567f, -0.001069f, 0.002848f, 0.001187f, 0.001912f, 0.000419f, 0.001500f, 0.001185f, 0.001361f, 0.000272f, 0.001603f, 0.000826f, 0.001209f, 0.007056f, 0.002070f, 0.001716f, -0.000999f, -0.000674f, -0.001874f, -0.001353f, 0.000388f, -0.000741f, -0.000896f, -0.002733f, 0.002379f, 0.001614f, -0.001653f, 0.002910f, -0.002690f, -0.000839f, 0.001283f, -0.002047f, 0.001245f, 0.001876f, 0.002958f, 0.002530f, - 0.002504f, 0.001236f, -0.005067f, -0.000030f, -0.001000f, 0.000995f, -0.000413f, 0.001972f, 0.001450f, -0.000708f, -0.001160f, 0.001270f, -0.000824f, 0.003339f, 0.000099f, 0.001062f, 0.003544f, 0.003228f, -0.002379f, 0.000137f, -0.001528f, -0.003038f, -0.000204f, 0.000473f, -0.000257f, -0.000697f, -0.000191f, 0.000159f, -0.001257f, 0.000080f, -0.001484f, -0.000563f, -0.000053f, 0.000312f, 0.000154f, -0.001071f, -0.000861f, 0.001928f, -0.000578f, 0.000172f, 0.001076f, 0.000986f, -0.000471f, -0.000808f, 0.016655f, -0.011649f, 0.004295f, -0.004399f, -0.000304f, -0.003061f, 0.002845f, 0.002832f, 0.000936f, 0.000611f, 0.002674f, 0.007295f, -0.006337f, -0.000841f, -0.001622f, -0.002527f, 0.005660f, 0.004283f, -0.000834f, -0.003807f, 0.001596f, -0.003101f, -0.002485f, -0.004363f, 0.000596f, -0.004468f, -0.001461f, 0.002713f, 0.000415f, -0.001334f, -0.003699f, 0.000060f, -0.000870f, 0.002319f, 0.002112f, 0.001016f, -0.001666f, 0.000310f, -0.000079f, 0.000973f, 0.001826f, -0.001085f, -0.000550f, -0.001964f, 0.003091f, -0.000322f, 0.000478f, 0.002792f, -0.000539f, -0.000190f, 0.001118f, -0.001313f, - -0.000118f, 0.001247f, -0.002007f, 0.000523f, -0.000353f, -0.000116f, -0.002094f, 0.001091f, -0.000430f, 0.000244f, 0.000546f, -0.000722f, 0.001414f, -0.001034f, -0.000257f, -0.026004f, 0.003451f, 0.000232f, 0.001689f, -0.002118f, -0.003358f, -0.000144f, 0.002039f, 0.003312f, -0.000336f, 0.005103f, 0.002791f, -0.003669f, -0.003282f, 0.002317f, 0.000318f, -0.002650f, -0.004806f, -0.005502f, -0.003566f, -0.004093f, -0.004558f, 0.000676f, 0.001297f, 0.001057f, -0.003401f, -0.003284f, 0.000369f, -0.000955f, -0.000651f, -0.000545f, -0.002734f, 0.002098f, -0.004625f, -0.001810f, -0.000796f, -0.000285f, 0.001338f, 0.000389f, -0.000416f, 0.001967f, -0.000738f, 0.001961f, 0.001094f, -0.001718f, 0.000158f, 0.003262f, -0.001447f, -0.001466f, -0.000008f, 0.001864f, 0.000418f, -0.001517f, -0.001895f, 0.001542f, -0.000001f, -0.002481f, 0.003168f, 0.003559f, 0.000360f, -0.001156f, 0.000357f, -0.000176f, 0.000701f, 0.001513f, -0.000232f, 0.002044f, -0.015843f, 0.013547f, -0.004525f, 0.002893f, -0.000066f, 0.002252f, -0.005474f, 0.002115f, -0.003726f, 0.000008f, -0.002514f, 0.005073f, 0.004346f, 0.001620f, - 0.000373f, -0.004197f, -0.002748f, -0.000452f, -0.001654f, 0.004803f, -0.003915f, -0.000183f, -0.001922f, 0.007039f, -0.002213f, 0.000600f, -0.000161f, 0.001183f, 0.000596f, 0.001175f, 0.000934f, -0.001211f, 0.000683f, -0.000329f, 0.002518f, 0.000333f, 0.004731f, 0.002377f, -0.001455f, -0.000372f, -0.000525f, 0.000028f, -0.001726f, -0.001322f, -0.000385f, 0.000770f, 0.005770f, 0.000448f, 0.000450f, -0.001641f, 0.002397f, -0.000942f, -0.001146f, 0.000669f, -0.001110f, 0.000616f, -0.001394f, -0.003286f, 0.001662f, 0.001315f, -0.000365f, 0.003232f, 0.000791f, 0.000682f, 0.001281f, -0.001011f, 0.000478f, -0.000852f, 0.003257f, 0.002121f, -0.000204f, -0.001028f, -0.000809f, -0.000363f, 0.010216f, -0.000355f, 0.002207f, -0.007150f, -0.001293f, 0.000765f, -0.005796f, 0.000330f, 0.007729f, -0.001493f, 0.000438f, -0.003668f, -0.004984f, 0.001110f, -0.004565f, 0.006798f, -0.004937f, 0.001535f, 0.001506f, 0.003581f, 0.002750f, -0.000883f, -0.004423f, -0.000625f, -0.000531f, 0.002067f, -0.003144f, -0.000711f, -0.001022f, -0.001561f, -0.001160f, 0.001969f, 0.001148f, 0.005483f, 0.001760f, -0.002222f, - 0.002181f, -0.001661f, -0.001761f, 0.001593f, 0.004653f, -0.000826f, -0.002639f, -0.002458f, 0.002394f, -0.000199f, -0.003647f, -0.003344f, 0.001473f, 0.001392f, -0.001620f, -0.002787f, -0.004581f, 0.001080f, 0.001451f, 0.000966f, -0.002679f, 0.001732f, 0.000945f, 0.000646f, 0.035379f, -0.002056f, 0.001604f, 0.003407f, -0.002895f, -0.001131f, -0.000867f, -0.008109f, 0.005758f, -0.000720f, -0.004954f, 0.001291f, -0.002449f, 0.003202f, 0.002582f, 0.004020f, -0.001178f, 0.005391f, 0.004659f, 0.003032f, -0.004410f, 0.003705f, -0.006119f, -0.003551f, -0.004103f, 0.001871f, -0.003108f, -0.000427f, -0.000932f, -0.004036f, -0.002091f, 0.003717f, -0.002448f, -0.001831f, -0.003822f, 0.001468f, 0.001490f, 0.003170f, -0.001505f, 0.005336f, 0.001486f, 0.006059f, -0.000483f, 0.001230f, 0.001382f, -0.003102f, 0.002517f, 0.006192f, -0.001888f, -0.000017f, 0.001833f, -0.001607f, -0.002246f, 0.001578f, -0.002239f, -0.001167f, -0.002986f, -0.001943f, 0.002536f, 0.002232f, 0.001594f, 0.002381f, 0.003010f, 0.002819f, 0.004234f, 0.000773f, -0.001041f, -0.015934f, -0.030903f, 0.010968f, -0.000243f, 0.000258f, - -0.003402f, -0.003635f, -0.001080f, 0.000675f, -0.002321f, 0.007598f, -0.004034f, -0.007358f, 0.000072f, 0.000050f, -0.001260f, -0.002853f, 0.005099f, 0.000586f, -0.002781f, 0.002127f, -0.005163f, 0.005709f, -0.003759f, -0.002200f, -0.004503f, 0.006412f, -0.003283f, -0.001416f, -0.004461f, -0.002345f, 0.003383f, -0.002169f, 0.003693f, -0.005634f, -0.006389f, 0.000050f, 0.000735f, 0.000597f, -0.000480f, -0.003603f, 0.000266f, 0.001154f, 0.000492f, 0.002695f, -0.000330f, 0.004488f, 0.000379f, 0.004170f, 0.005787f, 0.000776f, -0.000767f, 0.000649f, -0.003720f, -0.001383f, -0.006008f, -0.005599f, 0.001192f, 0.000986f, 0.000700f, -0.000887f, -0.001923f, -0.001396f, -0.001685f, -0.001331f, -0.001679f, -0.000536f, -0.000411f, 0.000492f, -0.010392f, 0.029670f, -0.013756f, 0.006049f, -0.003040f, 0.009293f, -0.001644f, -0.004379f, -0.004513f, 0.002291f, -0.001441f, -0.000769f, 0.000083f, 0.001643f, -0.010159f, -0.005117f, -0.002710f, 0.003762f, 0.003235f, 0.005618f, 0.000960f, -0.001131f, -0.001031f, 0.006772f, -0.009221f, 0.005029f, -0.004483f, -0.001179f, -0.004712f, 0.006979f, 0.002828f, -0.004997f, - 0.000549f, -0.002358f, 0.000709f, 0.002776f, -0.013162f, -0.005779f, 0.001015f, 0.004282f, -0.002752f, 0.000640f, 0.003305f, -0.001704f, -0.001529f, -0.000830f, 0.005023f, 0.001636f, 0.000827f, 0.000189f, 0.001916f, 0.005560f, -0.003648f, 0.002315f, -0.008391f, -0.001868f, 0.001852f, 0.003590f, 0.000726f, 0.000122f, 0.000165f, 0.001700f, -0.001666f, -0.000257f, -0.000621f, -0.002506f, -0.001753f, 0.002554f, 0.002999f, -0.001760f, -0.001631f, -0.005866f, -0.026931f, -0.005933f, 0.002468f, -0.006508f, 0.001450f, 0.001007f, 0.003777f, -0.000181f, 0.007334f, 0.004720f, 0.002561f, -0.002216f, -0.003812f, -0.000358f, 0.007774f, -0.006937f, -0.002722f, -0.005417f, -0.000251f, -0.014508f, -0.011435f, 0.000535f, 0.006883f, 0.009476f, 0.002100f, -0.003695f, 0.003166f, -0.003304f, -0.002208f, -0.002312f, 0.000832f, 0.002339f, 0.000496f, 0.003565f, -0.002971f, -0.005294f, 0.004103f, 0.002578f, 0.008749f, -0.001289f, 0.001330f, -0.001477f, 0.007038f, -0.007648f, -0.003846f, -0.001973f, -0.005755f, 0.003377f, -0.002436f, 0.002798f, -0.006154f, 0.005806f, 0.005748f, 0.005157f, -0.002298f, 0.004540f, - 0.000155f, 0.001426f, 0.002698f, 0.001750f, -0.002630f, 0.000192f, -0.000890f, -0.000395f, 0.005393f, 0.001792f, -0.002526f, 0.004184f, -0.000839f, -0.004126f, -0.001407f, -0.000554f, 0.019673f, 0.012879f, -0.003717f, 0.005977f, -0.012645f, 0.009317f, 0.003589f, 0.007071f, -0.002074f, -0.001478f, -0.006796f, -0.003388f, -0.011804f, -0.001855f, -0.009340f, -0.002687f, -0.005646f, -0.005834f, -0.007887f, 0.003470f, -0.010876f, 0.001727f, 0.005109f, -0.001922f, 0.001809f, -0.004584f, 0.000229f, -0.001281f, -0.001296f, -0.006331f, -0.000583f, 0.000970f, -0.000144f, -0.000797f, -0.003121f, -0.002769f, 0.002331f, 0.002358f, 0.003148f, 0.014387f, -0.005396f, -0.000123f, 0.006069f, -0.001172f, -0.002029f, -0.005239f, 0.002018f, 0.005015f, 0.008307f, 0.002884f, 0.006990f, -0.006292f, -0.009394f, 0.001125f, 0.006759f, 0.003769f, -0.004889f, 0.006304f, -0.004229f, 0.003130f, 0.001613f, 0.005738f, 0.003546f, 0.002210f, 0.004180f, -0.003597f, 0.002830f, 0.002144f, 0.001584f, 0.005582f, 0.001721f, 0.004496f, 0.039197f, -0.025369f, -0.001382f, 0.002946f, 0.000781f, 0.003098f, 0.005358f, -0.001071f, - -0.000879f, 0.003027f, -0.004548f, -0.004309f, -0.000734f, 0.003495f, 0.014080f, 0.000616f, 0.004842f, -0.004517f, 0.000248f, -0.013919f, 0.008578f, -0.008404f, -0.012064f, 0.002831f, 0.003323f, -0.004421f, 0.003956f, 0.001725f, 0.009254f, 0.010356f, -0.001781f, -0.003846f, -0.003012f, -0.015361f, -0.008481f, 0.012134f, 0.003897f, 0.004502f, -0.007048f, -0.007074f, 0.002009f, -0.001320f, -0.006253f, 0.005420f, -0.001291f, -0.003770f, -0.004571f, 0.003107f, -0.004120f, -0.002047f, 0.014003f, -0.008552f, 0.002448f, -0.003012f, 0.003092f, -0.003796f, -0.001804f, -0.010472f, 0.001550f, -0.003813f, -0.002887f, 0.008549f, 0.001756f, 0.002467f, 0.004794f, 0.006243f, 0.001469f, 0.004366f, -0.002294f, -0.000368f, -0.007411f, 0.003317f, 0.005174f, -0.025279f, -0.012893f, 0.003636f, -0.002388f, 0.007959f, -0.002127f, -0.003218f, -0.007919f, -0.008791f, 0.003307f, -0.009153f, -0.003724f, -0.005585f, -0.001789f, -0.005848f, -0.004250f, -0.004880f, -0.002900f, -0.005837f, -0.010196f, 0.004437f, -0.019377f, -0.001124f, 0.015722f, 0.003110f, -0.000944f, -0.005473f, 0.000320f, -0.017705f, 0.006064f, 0.003258f, - 0.000304f, 0.005095f, 0.008149f, -0.008069f, -0.004590f, -0.008366f, 0.000236f, -0.000723f, -0.005231f, -0.006000f, -0.006397f, -0.004298f, -0.001104f, 0.002662f, -0.000545f, 0.001988f, 0.000862f, -0.000669f, 0.010656f, 0.001708f, -0.002697f, 0.008045f, -0.005301f, -0.011455f, -0.004029f, -0.002330f, -0.002332f, -0.001807f, -0.004426f, -0.001970f, -0.005308f, -0.002273f, -0.005381f, -0.000775f, 0.001620f, -0.006257f, -0.002238f, -0.004087f, -0.000609f, -0.006469f, -0.007208f, -0.004305f, -0.015280f, 0.019962f, -0.010234f, -0.005247f, -0.016770f, 0.012594f, -0.004773f, 0.007277f, 0.000268f, 0.000121f, -0.005207f, 0.009758f, -0.002701f, 0.002921f, 0.002350f, -0.005023f, -0.001720f, -0.001905f, -0.008890f, 0.001326f, 0.001478f, -0.007212f, -0.011466f, -0.007513f, -0.010540f, -0.003011f, 0.005614f, 0.002490f, -0.006201f, -0.006624f, 0.009123f, 0.005785f, -0.007917f, 0.006747f, -0.003930f, 0.005892f, -0.009995f, -0.008485f, -0.007592f, 0.002141f, -0.006697f, 0.003693f, -0.002964f, 0.001203f, -0.001750f, -0.001594f, 0.001713f, 0.006661f, -0.015814f, -0.002682f, 0.003373f, -0.002137f, -0.004646f, -0.012222f, - -0.000789f, 0.009865f, 0.000238f, 0.008435f, 0.007055f, 0.001207f, -0.000975f, 0.006229f, -0.006573f, -0.006483f, 0.004878f, -0.002481f, -0.003852f, 0.002137f, 0.001379f, -0.004211f, -0.004372f, 0.007552f, -0.007144f, -0.005076f, -0.003866f, -0.035065f, 0.012442f, 0.005017f, -0.009165f, 0.003850f, -0.010311f, 0.008425f, 0.007180f, 0.006073f, -0.018208f, 0.010295f, 0.018309f, -0.003033f, 0.005903f, -0.000138f, -0.006339f, -0.008087f, 0.020204f, -0.000709f, -0.002325f, -0.011817f, -0.023009f, -0.012619f, 0.000633f, -0.010389f, 0.007788f, -0.015177f, -0.005421f, -0.009136f, 0.001862f, -0.003833f, -0.011536f, 0.001416f, -0.003078f, 0.006799f, -0.002978f, -0.009078f, -0.003870f, -0.026912f, 0.004189f, -0.001256f, 0.011680f, -0.007932f, -0.008874f, 0.010979f, 0.001825f, 0.001433f, -0.005156f, -0.007542f, 0.001938f, 0.004745f, 0.003175f, -0.002325f, 0.003405f, 0.001706f, -0.000142f, -0.002803f, -0.003114f, -0.009235f, 0.000065f, -0.003988f, -0.005720f, 0.004051f, 0.001948f, 0.012325f, 0.002060f, -0.009288f, -0.009370f, 0.001268f, -0.006300f, -0.004879f, 0.000804f, -0.005108f, -0.000826f, -0.002996f, - 0.030303f, -0.009972f, 0.001620f, 0.003019f, 0.013517f, -0.000139f, -0.000890f, 0.009680f, 0.015689f, -0.008198f, -0.009600f, 0.010029f, -0.000161f, 0.008898f, 0.012387f, 0.010447f, 0.009331f, 0.007641f, 0.008910f, 0.029401f, -0.000840f, 0.003427f, 0.007002f, 0.016822f, -0.001642f, -0.004316f, 0.007531f, 0.000930f, -0.003459f, -0.004881f, -0.003839f, 0.001487f, -0.005456f, 0.012029f, 0.017749f, 0.000497f, -0.002352f, 0.008076f, -0.002253f, 0.010985f, 0.008605f, 0.001580f, -0.006617f, 0.007680f, 0.001090f, -0.001380f, 0.003062f, 0.000204f, 0.020522f, -0.000231f, 0.009959f, -0.002770f, 0.018528f, -0.000191f, 0.003356f, -0.004427f, -0.008256f, 0.009916f, -0.003123f, 0.018255f, 0.005661f, 0.009410f, 0.002066f, 0.001535f, 0.006931f, 0.002798f, 0.014143f, 0.008271f, 0.004350f, 0.007663f, -0.004837f, 0.004363f, 0.007866f, 0.002440f, 0.000443f, 0.036970f, -0.011156f, 0.003073f, -0.003926f, 0.001200f, 0.004497f, 0.012072f, -0.010038f, 0.004742f, -0.000470f, 0.000128f, 0.006579f, -0.006154f, 0.007077f, -0.020298f, -0.009111f, 0.002659f, 0.007175f, 0.004522f, 0.015531f, -0.016288f, - 0.002331f, -0.003069f, -0.021433f, 0.008322f, -0.008356f, -0.006228f, -0.003135f, -0.018376f, 0.005699f, 0.005282f, 0.002764f, -0.010065f, -0.015264f, 0.005050f, -0.009404f, 0.007304f, -0.014564f, -0.000838f, -0.017419f, -0.005401f, -0.011553f, -0.011313f, 0.010601f, 0.014997f, 0.002494f, 0.004722f, -0.007187f, 0.001732f, -0.012212f, 0.003973f, -0.007880f, 0.000879f, 0.012367f, 0.004641f, -0.003809f, 0.005737f, 0.001653f, 0.004687f, -0.004916f, 0.008856f, 0.018556f, -0.000812f, -0.010342f, -0.009428f, -0.004274f, -0.004006f, 0.001792f, 0.005947f, 0.002271f, 0.010821f, 0.000638f, 0.002458f, -0.011276f, -0.004718f, -0.038507f, -0.032372f, 0.013114f, -0.004420f, 0.015320f, -0.001637f, 0.004759f, -0.019520f, -0.018294f, -0.011323f, 0.005620f, -0.015217f, -0.010563f, -0.004807f, 0.002616f, 0.010375f, 0.003514f, -0.022123f, 0.005504f, 0.011677f, -0.031086f, -0.004121f, 0.001159f, -0.033105f, -0.011519f, 0.014076f, -0.030552f, 0.014349f, 0.015293f, -0.000275f, -0.004656f, -0.001713f, -0.007560f, -0.008512f, 0.005153f, 0.006191f, 0.022421f, -0.013900f, -0.007292f, -0.006135f, -0.010773f, 0.000115f, - -0.018208f, -0.004995f, 0.001150f, -0.001027f, -0.006058f, -0.001441f, -0.010097f, -0.002544f, 0.005343f, -0.003018f, -0.006625f, 0.006948f, -0.003672f, -0.007913f, -0.010638f, 0.021756f, -0.001063f, 0.013011f, 0.001682f, 0.004487f, 0.014625f, 0.001483f, 0.009945f, -0.007359f, 0.011075f, 0.007366f, 0.002359f, 0.002141f, 0.002669f, 0.008848f, 0.004343f, 0.000819f, 0.009196f, -0.062125f, 0.023016f, -0.007114f, -0.028049f, -0.007043f, 0.000377f, -0.007437f, 0.010378f, -0.024269f, 0.011221f, -0.002182f, -0.027967f, -0.019272f, 0.003416f, 0.010737f, 0.009983f, 0.007383f, 0.015874f, 0.004435f, 0.026346f, 0.014440f, 0.030937f, 0.003880f, 0.025043f, -0.019800f, -0.015883f, 0.005093f, 0.001771f, -0.015728f, 0.003898f, 0.003136f, -0.002636f, -0.006086f, 0.014612f, 0.002742f, -0.033792f, -0.014987f, 0.010657f, 0.003711f, -0.007582f, 0.009396f, 0.009186f, 0.015009f, 0.002712f, 0.004374f, 0.002272f, 0.004282f, 0.004956f, -0.011678f, 0.001179f, 0.002023f, -0.025220f, 0.011504f, 0.007938f, 0.010346f, -0.017500f, -0.009903f, 0.011680f, -0.000094f, -0.003919f, -0.002663f, -0.007878f, -0.006510f, - -0.000628f, -0.008638f, -0.019612f, 0.006268f, 0.019498f, -0.014412f, 0.001266f, -0.008353f, -0.003995f, -0.006290f, -0.002581f, 0.009715f, 0.025188f, 0.016777f, 0.011369f, 0.005824f, 0.000046f, -0.006821f, -0.009971f, 0.007358f, -0.026646f, 0.026536f, -0.017685f, 0.003604f, -0.028860f, -0.001832f, 0.025678f, 0.009572f, -0.010121f, 0.015952f, -0.027457f, 0.009841f, 0.004214f, 0.001033f, -0.033639f, -0.010704f, 0.001246f, 0.004437f, 0.020346f, -0.033208f, -0.005148f, -0.011619f, -0.031235f, -0.007566f, 0.006512f, 0.014316f, 0.022030f, 0.016827f, 0.016850f, -0.002433f, -0.012167f, 0.010688f, 0.002686f, -0.007932f, 0.003326f, -0.015849f, 0.022796f, 0.010079f, 0.007130f, -0.013346f, -0.027950f, -0.008265f, -0.000297f, -0.033849f, -0.027461f, -0.008054f, -0.024758f, 0.014179f, 0.004910f, 0.003622f, -0.012000f, -0.012931f, 0.003484f, 0.002127f, 0.000846f, 0.006122f, -0.005795f, 0.004293f, 0.014342f, 0.005815f, 0.001244f, 0.000790f, -0.011859f, -0.010015f, -0.009504f, 0.003144f, -0.004802f, 0.029274f, -0.023896f, 0.005690f, -0.003901f, -0.003594f, -0.000068f, 0.007701f, -0.015138f, 0.018874f, - -0.006239f, 0.012779f, -0.001942f, -0.011346f, 0.020010f, 0.019862f, 0.013925f, -0.007343f, 0.030640f, 0.011087f, -0.035696f, 0.035609f, 0.002601f, -0.000591f, 0.025391f, 0.000674f, -0.012039f, -0.015615f, 0.025028f, -0.016600f, -0.022264f, 0.020389f, 0.017425f, -0.012289f, -0.029390f, 0.010787f, -0.010604f, 0.003547f, -0.020929f, -0.016927f, -0.007649f, 0.019101f, 0.016701f, 0.001909f, 0.015244f, -0.023757f, 0.006680f, -0.006532f, -0.009571f, 0.010812f, 0.000687f, 0.003061f, -0.033599f, -0.009314f, 0.017277f, -0.023729f, -0.007015f, -0.029673f, -0.006412f, -0.011298f, 0.003978f, -0.007428f, 0.002334f, 0.002679f, -0.001995f, 0.002596f, -0.008838f, -0.026411f, -0.005904f, 0.012900f, -0.002742f, 0.008780f, -0.010946f, -0.023396f, -0.004837f, 0.004286f, 0.027071f, 0.002078f, -0.007846f, -0.019404f, -0.000616f, -0.009299f, 0.007265f, -0.016060f, 0.010254f, 0.006423f, -0.013912f, -0.014436f, 0.021770f, -0.025634f, -0.000880f, 0.016388f, -0.018355f, 0.005841f, 0.021332f, -0.016980f, 0.014699f, 0.010520f, 0.015739f, -0.025742f, 0.022309f, -0.025862f, 0.007978f, -0.019744f, 0.002700f, -0.010206f, - 0.017679f, 0.000313f, 0.010954f, 0.005257f, -0.017918f, -0.011379f, -0.024870f, 0.014451f, -0.016702f, 0.014518f, -0.020132f, -0.023696f, -0.038737f, 0.003511f, 0.021060f, -0.003469f, -0.000079f, 0.006158f, 0.018298f, -0.006372f, 0.005372f, -0.022026f, 0.006165f, 0.028351f, -0.002189f, 0.025649f, 0.034879f, -0.000653f, 0.006556f, 0.006563f, -0.013645f, 0.007100f, -0.016635f, -0.001367f, -0.016994f, -0.018059f, 0.002281f, -0.007159f, -0.028351f, 0.019666f, 0.002108f, 0.014509f, -0.015620f, -0.009430f, -0.004229f, -0.061428f, 0.015431f, 0.022837f, 0.006245f, -0.026682f, -0.004017f, 0.043118f, -0.049812f, -0.001369f, -0.008513f, -0.032603f, -0.008328f, -0.022127f, 0.007931f, 0.007918f, 0.018857f, 0.007591f, -0.026124f, -0.009331f, 0.018575f, -0.029755f, -0.008581f, -0.031817f, 0.026891f, 0.008002f, 0.020990f, 0.035942f, -0.012884f, -0.007740f, -0.006134f, -0.018201f, 0.017108f, -0.008617f, -0.021728f, -0.024287f, -0.004442f, 0.009100f, -0.000899f, 0.004758f, 0.005650f, 0.013857f, -0.006422f, -0.000856f, 0.010145f, -0.010255f, 0.020136f, 0.023000f, 0.021616f, -0.018020f, 0.002060f, -0.005818f, - 0.010144f, 0.043514f, 0.032501f, 0.062391f, 0.004587f, 0.024422f, 0.019647f, -0.009958f, -0.002613f, -0.003766f, -0.006345f, 0.007374f, 0.001317f, 0.021956f, 0.016437f, -0.008384f, -0.002925f, -0.014273f, -0.026988f, 0.009550f, -0.001053f, 0.007720f, -0.002555f, -0.019894f, -0.003099f, 0.000055f} -}; -const float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2522]={ {-0.004162f, 0.000448f, -0.000930f, 0.000917f, -0.000455f, 0.000395f, -0.000006f, 0.000439f, -0.000027f, 0.000475f, -0.000583f, -0.000275f, 0.000277f, -0.000394f, -0.000066f, -0.000617f, -0.000043f, -0.000228f, 0.001227f, 0.000583f, -0.000747f, 0.000029f, 0.000306f, -0.000028f, -0.000173f, 0.000318f, 0.000034f, 0.000209f, 0.000296f, 0.000262f, -0.000380f, -0.000102f, 0.000036f, 0.000053f, 0.000073f, -0.000027f, 0.000018f, -0.000029f, 0.000064f, 0.000006f, -0.000003f, -0.000038f, -0.000007f, 0.000031f, -0.000010f, 0.000022f, 0.003133f, 0.001814f, 0.000972f, 0.000486f, 0.000526f, 0.000178f, 0.000373f, -0.000069f, -0.000070f, 0.000900f, 0.000510f, 0.000418f, 0.000863f, 0.000722f, 0.000985f, -0.001373f, 0.001193f, 0.000330f, 0.000079f, 0.000239f, -0.000083f, -0.000615f, -0.000438f, 0.000703f, 0.000318f, 0.000575f, 0.000026f, -0.000197f, 0.000420f, -0.000049f, -0.000204f, 0.000425f, 0.000222f, 0.000624f, 0.000178f, 0.000415f, -0.000620f, -0.000374f, 0.000333f, 0.000061f, 0.000358f, 0.000149f, -0.000077f, -0.000165f, -0.000503f, 0.000104f, 0.001676f, -0.001733f, -0.000357f, -0.000338f, - -0.000441f, -0.000093f, -0.000058f, -0.000302f, -0.000273f, 0.000038f, 0.000044f, -0.000211f, 0.000114f, -0.000512f, -0.000190f, -0.000053f, 0.000305f, -0.001841f, -0.000204f, 0.000425f, -0.000206f, -0.000190f, 0.000138f, 0.000074f, 0.000107f, 0.000904f, -0.000443f, -0.000238f, -0.000487f, -0.000046f, 0.000231f, 0.000429f, -0.000420f, -0.000257f, 0.000439f, -0.000382f, -0.000651f, -0.000027f, -0.000192f, 0.000262f, -0.000208f, -0.000136f, 0.000084f, 0.000238f, -0.000407f, 0.000172f, -0.006005f, -0.004118f, -0.001639f, -0.001922f, -0.001036f, -0.001014f, -0.000916f, -0.000446f, -0.001109f, -0.000914f, -0.000362f, -0.000715f, -0.000062f, -0.000268f, -0.000578f, -0.000839f, -0.000891f, -0.000377f, -0.000503f, -0.000943f, -0.000088f, -0.001175f, 0.000038f, -0.000099f, -0.000126f, -0.000714f, -0.000085f, -0.000542f, 0.000041f, -0.000695f, -0.000401f, 0.000230f, -0.000467f, 0.000083f, -0.001134f, -0.000221f, 0.000613f, 0.000348f, 0.000020f, -0.000173f, -0.000295f, 0.000095f, 0.000150f, 0.000545f, -0.000282f, -0.000052f, -0.007886f, -0.000473f, 0.001060f, -0.000058f, 0.000344f, -0.000097f, 0.000047f, -0.000678f, - 0.000715f, 0.000224f, 0.000852f, 0.000537f, 0.001707f, 0.001183f, 0.000132f, -0.000704f, -0.000343f, -0.000200f, 0.000348f, -0.000269f, -0.001438f, -0.001370f, -0.000651f, -0.000250f, 0.000099f, 0.000141f, 0.000307f, -0.000100f, 0.000079f, 0.000115f, -0.000277f, -0.000089f, -0.000010f, -0.000956f, 0.000565f, 0.000172f, -0.000070f, -0.000058f, -0.000318f, -0.000553f, 0.000343f, 0.000071f, -0.000301f, 0.000265f, 0.000295f, 0.000334f, 0.008857f, 0.006269f, 0.001196f, 0.002443f, 0.000469f, 0.000824f, 0.001938f, 0.001038f, 0.000279f, 0.001208f, 0.000447f, -0.000500f, -0.000294f, 0.000431f, 0.000649f, -0.001186f, -0.000200f, -0.000706f, 0.001564f, 0.000814f, 0.000370f, 0.000813f, 0.000365f, 0.000426f, -0.000023f, -0.000066f, -0.000439f, 0.000638f, 0.000714f, 0.000657f, 0.000762f, 0.000987f, 0.000536f, 0.001436f, 0.000273f, -0.000075f, 0.000457f, 0.000099f, -0.000302f, -0.000110f, -0.000277f, -0.000281f, -0.000049f, 0.000664f, 0.000102f, 0.000108f, 0.013205f, 0.005689f, 0.001650f, 0.001602f, 0.001030f, 0.000720f, 0.000158f, 0.000100f, 0.001396f, 0.000341f, 0.000747f, 0.001142f, - 0.000520f, -0.000032f, -0.000465f, 0.002360f, -0.000272f, -0.001225f, -0.000789f, 0.000617f, -0.000033f, 0.001279f, 0.000341f, 0.000192f, -0.000295f, -0.000539f, -0.000232f, -0.000228f, 0.000474f, -0.000058f, 0.000155f, 0.000089f, 0.000013f, -0.000264f, 0.000368f, 0.001641f, 0.000943f, 0.001099f, 0.000888f, 0.000824f, 0.000359f, 0.000338f, 0.000106f, 0.000553f, -0.000524f, 0.000346f, 0.004308f, -0.004541f, -0.001449f, -0.001925f, -0.001775f, -0.000874f, -0.000331f, 0.000704f, -0.000694f, 0.000133f, -0.001755f, 0.000648f, -0.000671f, -0.001477f, 0.000360f, -0.001036f, -0.001520f, -0.000985f, 0.001364f, 0.001131f, -0.000540f, 0.000610f, -0.001018f, 0.000450f, -0.001817f, 0.000165f, 0.000254f, -0.000229f, -0.000453f, 0.000445f, -0.001441f, -0.000564f, 0.000148f, -0.000416f, -0.000447f, -0.000244f, 0.000085f, 0.000226f, 0.000681f, 0.000120f, 0.001197f, -0.000394f, -0.000360f, -0.000305f, -0.000627f, -0.000107f, -0.000323f, 0.000253f, -0.000539f, -0.015669f, -0.008062f, -0.002784f, -0.002321f, -0.002364f, -0.001608f, -0.002032f, -0.001450f, -0.002219f, -0.000491f, -0.000958f, -0.000339f, 0.000187f, - -0.001026f, -0.000179f, 0.000081f, 0.000096f, -0.001520f, -0.000879f, -0.000724f, 0.000223f, -0.002024f, 0.000282f, -0.000953f, -0.001653f, 0.000088f, 0.000066f, 0.000059f, 0.000047f, -0.000675f, -0.000379f, -0.000038f, -0.000039f, -0.000079f, -0.000556f, -0.000034f, 0.000272f, 0.000472f, 0.000297f, -0.000729f, 0.000486f, -0.000728f, 0.000559f, -0.001213f, -0.000691f, 0.000128f, -0.000540f, -0.000014f, -0.000138f, -0.009253f, 0.004825f, 0.002108f, 0.000699f, 0.001316f, 0.000171f, 0.000393f, 0.001044f, 0.001292f, 0.000605f, 0.000876f, -0.000695f, -0.000216f, -0.001047f, 0.001238f, 0.000179f, 0.000262f, 0.001553f, 0.000097f, -0.001161f, 0.001973f, -0.001353f, 0.000198f, 0.001520f, -0.000442f, 0.000343f, 0.000245f, -0.000114f, -0.000764f, -0.000269f, 0.000477f, 0.000381f, 0.000111f, -0.000365f, 0.000063f, -0.000646f, 0.001851f, 0.000073f, -0.000001f, -0.000801f, -0.000335f, -0.000549f, -0.000410f, 0.000898f, 0.000966f, -0.000333f, 0.000113f, -0.000152f, 0.000301f, -0.000022f, -0.000048f, -0.000287f, 0.000236f, 0.013956f, 0.006010f, 0.001531f, 0.003269f, 0.001804f, 0.000853f, 0.001335f, - 0.001256f, -0.000065f, 0.000929f, 0.001321f, 0.000369f, -0.000068f, 0.000757f, 0.001886f, -0.000619f, -0.000435f, -0.001507f, 0.000317f, 0.001826f, 0.000675f, 0.000121f, -0.001090f, -0.000506f, -0.000517f, 0.001915f, 0.000498f, 0.001016f, 0.000463f, -0.000863f, -0.001528f, 0.001659f, 0.000803f, -0.000976f, -0.000573f, 0.001608f, 0.001238f, -0.000047f, 0.000233f, -0.000147f, 0.000595f, 0.000461f, -0.000259f, 0.000337f, -0.000665f, -0.000251f, 0.000746f, -0.000442f, -0.000459f, 0.000918f, 0.000667f, 0.000436f, 0.000041f, 0.016492f, 0.003687f, 0.002675f, 0.001308f, 0.001178f, 0.000625f, 0.001214f, 0.001630f, 0.002364f, 0.001596f, -0.000558f, 0.002022f, -0.000468f, 0.000606f, 0.000335f, 0.001722f, 0.002320f, 0.001640f, -0.000517f, 0.002784f, -0.000613f, -0.000197f, -0.001523f, 0.000465f, -0.000525f, 0.000523f, 0.000625f, -0.000738f, -0.001239f, -0.000393f, 0.000116f, -0.000833f, -0.000406f, 0.000492f, 0.000493f, -0.000994f, -0.001021f, -0.000306f, 0.000240f, 0.000065f, 0.000170f, -0.000317f, -0.000121f, -0.000192f, -0.000475f, 0.000503f, -0.000731f, 0.000655f, -0.000777f, -0.000164f, - -0.000621f, 0.000173f, -0.000301f, 0.001847f, -0.007279f, -0.002429f, -0.002551f, -0.001761f, 0.000533f, -0.000485f, -0.001496f, 0.000838f, 0.000150f, 0.001047f, -0.000038f, 0.000057f, -0.001631f, -0.001270f, -0.000709f, -0.001304f, 0.000200f, -0.001382f, -0.002469f, 0.000457f, 0.000398f, -0.001239f, -0.000160f, -0.001127f, 0.000330f, 0.000319f, -0.000105f, -0.002688f, -0.000643f, 0.000127f, -0.000185f, 0.000188f, 0.000823f, -0.001920f, -0.000451f, -0.001212f, 0.000727f, -0.000179f, 0.000018f, 0.001201f, -0.001128f, -0.000113f, 0.000509f, -0.000186f, -0.000286f, 0.000571f, 0.000444f, -0.000771f, -0.000786f, -0.001482f, -0.000089f, -0.001136f, -0.000768f, -0.000495f, -0.017123f, -0.005959f, -0.003413f, -0.001003f, -0.001711f, -0.000174f, -0.000870f, -0.001384f, -0.001461f, 0.001859f, 0.000166f, -0.000850f, -0.000063f, -0.002960f, -0.001505f, -0.001491f, 0.002464f, -0.002060f, -0.004030f, 0.000256f, 0.000640f, 0.000240f, -0.001398f, -0.000490f, 0.001010f, -0.001995f, -0.000062f, -0.002031f, -0.000445f, 0.001012f, -0.000799f, 0.000191f, 0.002265f, 0.000158f, -0.000297f, -0.000586f, 0.000721f, 0.000590f, - 0.000679f, -0.000700f, 0.000030f, 0.000621f, 0.001086f, 0.000502f, 0.000468f, -0.001851f, 0.000493f, -0.000144f, -0.000752f, -0.000394f, 0.000333f, -0.000295f, -0.000759f, -0.000658f, -0.000792f, -0.011349f, 0.002561f, 0.000260f, -0.001485f, 0.002140f, -0.001386f, -0.000913f, 0.000426f, -0.001844f, -0.001246f, -0.000323f, 0.000710f, -0.001438f, 0.001990f, 0.000131f, -0.000150f, 0.001059f, 0.000876f, 0.001611f, -0.000259f, 0.002187f, 0.002925f, 0.002266f, 0.000593f, 0.001950f, -0.000704f, 0.001268f, -0.001477f, -0.001324f, -0.000688f, 0.000255f, 0.000814f, -0.000658f, -0.001425f, -0.000634f, -0.000135f, 0.000897f, -0.001383f, 0.001002f, 0.000211f, 0.000790f, -0.000433f, -0.001089f, -0.001681f, -0.001792f, 0.000379f, -0.000880f, 0.000398f, -0.001907f, -0.000688f, 0.000967f, -0.001366f, 0.000281f, -0.000996f, 0.000674f, -0.000401f, 0.000656f, 0.000017f, -0.000280f, -0.000153f, -0.000725f, 0.007613f, 0.012666f, 0.003627f, 0.003319f, 0.004520f, 0.003730f, 0.000689f, 0.002965f, 0.002568f, 0.001455f, 0.005485f, 0.001350f, 0.000897f, 0.002424f, 0.002173f, 0.001197f, 0.000940f, 0.000612f, - 0.000878f, -0.000683f, 0.002747f, -0.000719f, 0.000227f, -0.000849f, 0.001723f, 0.000115f, -0.000501f, 0.001486f, 0.001695f, 0.000638f, 0.002263f, -0.001614f, -0.002755f, -0.000590f, -0.000207f, 0.000607f, -0.000238f, 0.001185f, -0.001135f, 0.001078f, 0.002274f, 0.001017f, -0.002127f, -0.000416f, 0.001001f, 0.000425f, -0.001072f, 0.001475f, 0.000517f, 0.000876f, 0.000903f, 0.001315f, 0.000369f, -0.000361f, 0.000258f, -0.001181f, -0.000375f, 0.001104f, 0.000946f, -0.000574f, -0.000081f, 0.028941f, 0.003063f, -0.000354f, 0.001874f, -0.000117f, 0.002558f, -0.000034f, 0.000746f, 0.000251f, 0.002691f, 0.001157f, -0.000997f, 0.000813f, 0.001330f, 0.000608f, -0.001501f, -0.003345f, -0.001427f, -0.001443f, 0.000658f, -0.002079f, -0.000277f, -0.000194f, 0.000617f, 0.003542f, 0.002080f, 0.000614f, 0.001522f, -0.002312f, -0.000063f, -0.001243f, -0.000377f, -0.000994f, 0.001428f, -0.000584f, 0.002340f, -0.001109f, -0.000337f, -0.001230f, -0.000448f, -0.001747f, -0.000712f, 0.000320f, 0.000436f, -0.000155f, 0.000088f, -0.000989f, 0.000591f, 0.001496f, 0.000193f, -0.000908f, 0.001045f, -0.001449f, - 0.000667f, 0.000540f, -0.000076f, -0.000497f, -0.000235f, -0.000129f, -0.000204f, 0.000001f, -0.008464f, -0.010023f, -0.001888f, -0.000536f, -0.000430f, -0.001571f, -0.000678f, 0.003075f, 0.001788f, 0.000671f, 0.000817f, -0.001300f, -0.000280f, 0.002320f, -0.000855f, 0.003758f, -0.002903f, -0.000756f, 0.003027f, -0.000550f, -0.000348f, -0.001728f, 0.002074f, 0.002340f, 0.000037f, 0.002309f, -0.000830f, 0.001048f, -0.000051f, -0.001225f, -0.000202f, -0.000958f, -0.000421f, -0.000604f, 0.001253f, -0.000874f, -0.000219f, -0.001369f, 0.000963f, -0.000685f, 0.002100f, -0.003257f, 0.001395f, 0.001210f, -0.001996f, 0.000100f, -0.001317f, 0.000416f, -0.001499f, 0.000539f, 0.000633f, -0.001848f, -0.000282f, -0.000631f, -0.002838f, -0.001581f, -0.000783f, -0.001347f, -0.000302f, -0.000170f, 0.000160f, -0.001087f, 0.000167f, -0.002165f, 0.000628f, -0.007361f, -0.004313f, -0.005696f, -0.003012f, -0.003783f, -0.000490f, 0.003775f, -0.003931f, 0.003048f, 0.001851f, -0.002048f, 0.004179f, -0.000602f, 0.000773f, -0.002694f, -0.000346f, -0.001159f, -0.000224f, 0.000089f, 0.000997f, 0.000582f, 0.002163f, 0.004307f, - -0.001189f, 0.000658f, -0.002066f, -0.002040f, -0.001919f, 0.000505f, 0.001722f, -0.000542f, -0.000652f, -0.000483f, -0.001344f, 0.001549f, -0.000495f, -0.000016f, -0.001313f, -0.000925f, -0.000883f, -0.001237f, -0.000140f, 0.000027f, -0.001144f, 0.000819f, -0.001735f, 0.000719f, -0.001016f, -0.000089f, 0.000599f, -0.001174f, 0.001542f, -0.002624f, -0.000861f, 0.000348f, -0.000819f, -0.001356f, 0.000699f, -0.000306f, -0.001639f, 0.002771f, 0.001507f, 0.000467f, 0.000508f, 0.000637f, 0.000657f, -0.001252f, -0.020598f, -0.002428f, 0.001737f, -0.001578f, 0.003496f, 0.001519f, -0.004117f, 0.000501f, 0.000769f, -0.001414f, -0.003439f, -0.001364f, -0.000790f, 0.000934f, 0.000314f, -0.003308f, -0.001162f, -0.001796f, -0.003059f, -0.002696f, -0.006055f, -0.003251f, -0.003514f, -0.004403f, 0.003498f, -0.002374f, 0.001314f, 0.002510f, -0.001814f, -0.003010f, -0.001081f, -0.000705f, 0.000754f, 0.001865f, 0.001174f, -0.002508f, -0.002977f, 0.002308f, 0.001535f, 0.001810f, 0.002695f, 0.000308f, 0.000027f, 0.000966f, -0.000090f, -0.001251f, 0.000705f, -0.000712f, -0.000374f, 0.001479f, 0.003998f, -0.001398f, - -0.001966f, 0.000844f, -0.001250f, -0.000203f, 0.002057f, -0.004013f, -0.000051f, -0.001381f, -0.000219f, -0.000171f, 0.000010f, -0.000557f, 0.000760f, -0.001260f, 0.001386f, 0.016515f, 0.014477f, 0.003867f, 0.008816f, 0.002382f, 0.005090f, -0.000870f, -0.000770f, 0.002405f, 0.003352f, 0.001709f, -0.005706f, -0.001958f, 0.003598f, 0.003977f, -0.001467f, -0.002008f, 0.000675f, 0.001616f, 0.001926f, 0.000216f, -0.002968f, -0.006478f, -0.002396f, 0.003424f, -0.000301f, 0.003517f, -0.000844f, -0.001223f, 0.000732f, -0.003062f, -0.001724f, -0.001818f, 0.003293f, -0.004193f, -0.002833f, 0.000645f, 0.000683f, -0.001153f, -0.000137f, -0.001276f, 0.001223f, 0.001575f, 0.001430f, 0.003145f, 0.001880f, -0.000054f, -0.002676f, 0.002391f, -0.000254f, 0.001271f, -0.001320f, 0.000848f, 0.001961f, -0.000427f, -0.000552f, -0.001368f, -0.001492f, 0.000769f, 0.000179f, 0.001138f, -0.001294f, 0.000923f, 0.002551f, -0.000685f, -0.001429f, 0.001645f, 0.019965f, 0.003862f, -0.004045f, 0.003383f, 0.002000f, -0.003680f, -0.000973f, 0.002069f, -0.000004f, 0.000752f, -0.000430f, -0.000664f, -0.004322f, -0.003975f, - 0.001707f, 0.004020f, 0.003892f, -0.003818f, -0.008134f, 0.001263f, -0.000242f, -0.003073f, -0.004215f, -0.000580f, 0.001934f, -0.001269f, 0.002928f, 0.005032f, -0.001942f, -0.001446f, -0.000766f, -0.000571f, -0.001058f, -0.007315f, 0.003799f, 0.003713f, -0.000238f, 0.002452f, -0.002362f, -0.000559f, -0.002154f, 0.003175f, 0.003130f, 0.000524f, -0.000891f, -0.001007f, 0.001713f, 0.000601f, -0.001128f, -0.001722f, -0.000068f, 0.001766f, -0.002490f, -0.001328f, -0.001381f, 0.000587f, 0.000716f, -0.002870f, 0.001502f, 0.003546f, -0.002792f, 0.000146f, -0.000700f, -0.000291f, -0.000052f, 0.000518f, 0.000168f, -0.001013f, -0.002246f, -0.001485f, -0.000627f, 0.001608f, -0.000830f, -0.005383f, -0.003739f, 0.000642f, 0.004871f, -0.004888f, 0.003453f, 0.001753f, 0.000668f, 0.001141f, 0.000750f, 0.003376f, 0.005157f, 0.000270f, 0.001479f, 0.000711f, -0.004633f, -0.003983f, 0.003912f, 0.000676f, -0.004780f, 0.002893f, -0.004094f, 0.000793f, 0.004812f, -0.000177f, -0.001437f, 0.005745f, 0.000780f, 0.000523f, 0.000368f, 0.000309f, 0.000416f, -0.002322f, 0.001391f, 0.002406f, 0.003614f, -0.002789f, - -0.001538f, 0.000725f, 0.000435f, -0.001195f, -0.002730f, 0.001850f, -0.001042f, 0.001345f, 0.000559f, -0.000763f, -0.000925f, 0.000542f, 0.001620f, -0.001111f, -0.000622f, -0.000117f, 0.000912f, -0.002516f, -0.001304f, 0.001423f, 0.000223f, -0.000730f, -0.000507f, 0.001309f, -0.021537f, -0.019872f, -0.004376f, -0.009230f, -0.008005f, -0.004611f, -0.001324f, -0.003468f, -0.004064f, 0.002772f, 0.000819f, -0.000991f, 0.004783f, 0.001702f, 0.005736f, 0.004360f, 0.001340f, 0.001736f, 0.002147f, -0.008691f, 0.004176f, -0.000682f, -0.001748f, -0.001633f, -0.005041f, -0.001592f, -0.001686f, 0.004932f, -0.001550f, -0.002940f, -0.001365f, 0.000795f, -0.000538f, -0.000969f, 0.001197f, -0.001284f, -0.000733f, 0.003041f, -0.002841f, -0.000229f, -0.000836f, 0.005462f, 0.002279f, 0.002211f, -0.004046f, 0.000368f, 0.003848f, -0.001900f, 0.001024f, 0.000078f, 0.001044f, 0.000090f, 0.000457f, -0.000212f, 0.002517f, -0.000228f, -0.000619f, 0.001814f, -0.001068f, 0.001066f, 0.002225f, -0.000857f, -0.001271f, 0.000758f, 0.000955f, -0.001420f, -0.000467f, -0.013308f, 0.028336f, 0.018120f, 0.005541f, 0.001945f, - 0.001746f, 0.002213f, 0.002984f, 0.002999f, 0.005819f, 0.012260f, 0.000460f, 0.001553f, 0.002398f, 0.002649f, 0.002872f, -0.002084f, 0.011486f, 0.008523f, -0.008029f, 0.005915f, 0.000814f, -0.001092f, 0.002561f, 0.007243f, -0.006909f, -0.001738f, 0.000273f, -0.005366f, -0.004037f, -0.003794f, 0.007776f, -0.000207f, -0.001722f, 0.001219f, 0.000149f, -0.002262f, -0.006775f, 0.004630f, 0.003352f, -0.000957f, 0.001679f, 0.004740f, -0.003390f, 0.002643f, -0.000079f, -0.001063f, 0.003283f, 0.003234f, 0.000363f, 0.000551f, -0.000002f, 0.002627f, 0.003141f, 0.000159f, -0.001038f, 0.000094f, -0.001534f, 0.002603f, 0.000084f, -0.000874f, -0.001690f, -0.000772f, 0.001401f, 0.001003f, 0.003763f, -0.001152f, 0.000982f, -0.000804f, 0.030771f, -0.010748f, -0.010864f, 0.004999f, 0.001032f, -0.003905f, -0.003731f, -0.005523f, -0.005782f, -0.003966f, -0.003648f, 0.005261f, 0.001024f, 0.000756f, -0.003077f, -0.002402f, -0.009228f, 0.000122f, -0.003756f, -0.006094f, 0.005006f, 0.003575f, 0.000887f, 0.003328f, 0.000716f, -0.000972f, -0.002192f, -0.000053f, -0.001884f, 0.002736f, 0.004252f, -0.004608f, - -0.001931f, 0.000175f, 0.002230f, 0.006263f, 0.001654f, 0.008361f, -0.004439f, 0.002703f, 0.006684f, 0.004151f, -0.003637f, -0.000934f, 0.000599f, -0.001663f, 0.002770f, -0.000383f, -0.000039f, 0.004474f, 0.002206f, 0.000775f, 0.000213f, -0.000043f, -0.002050f, 0.000009f, 0.000326f, -0.001920f, -0.001324f, 0.002001f, -0.000970f, -0.003701f, -0.000757f, 0.000151f, -0.000864f, -0.003869f, 0.000799f, 0.000828f, 0.000757f, 0.001108f, -0.001038f, -0.001609f, 0.009851f, 0.018942f, 0.007330f, 0.005128f, 0.005827f, -0.001649f, 0.001815f, -0.005315f, 0.009290f, 0.003760f, 0.008916f, 0.002756f, 0.003337f, -0.008165f, 0.010170f, 0.015274f, 0.001831f, 0.009917f, -0.002086f, -0.007964f, -0.008038f, 0.007279f, -0.002444f, 0.005815f, 0.000954f, 0.002346f, -0.004559f, 0.004498f, -0.001680f, -0.001580f, 0.007261f, 0.005149f, -0.004005f, 0.006913f, 0.000644f, 0.001263f, -0.001527f, -0.005214f, 0.001310f, 0.000377f, -0.003042f, -0.003299f, 0.002907f, 0.004267f, 0.001257f, -0.001544f, 0.001870f, 0.000126f, 0.004407f, -0.002802f, -0.000567f, -0.004597f, 0.000360f, 0.004381f, 0.002814f, -0.002136f, - -0.000198f, 0.001479f, -0.004223f, -0.000397f, -0.002950f, -0.001639f, 0.000639f, 0.000948f, 0.002503f, -0.003314f, 0.001164f, -0.003807f, 0.000097f, 0.004385f, 0.001365f, 0.000724f, -0.000366f, -0.021768f, -0.001462f, -0.004705f, 0.006000f, -0.004488f, 0.004895f, 0.000437f, 0.003878f, -0.000287f, 0.003315f, -0.010720f, 0.002998f, -0.000996f, -0.004207f, 0.002238f, -0.005069f, 0.003275f, -0.005111f, -0.002266f, -0.011015f, 0.006458f, 0.012707f, -0.004750f, -0.001934f, -0.001148f, -0.002333f, 0.002305f, 0.002353f, 0.004090f, -0.009803f, 0.003215f, -0.006183f, -0.001357f, -0.000539f, 0.005283f, 0.001667f, -0.002105f, 0.000833f, 0.001424f, 0.003315f, 0.003975f, -0.006187f, -0.001581f, 0.000665f, -0.003965f, -0.004090f, -0.000330f, -0.002976f, 0.001602f, 0.003155f, 0.000877f, 0.000388f, -0.000351f, 0.002932f, 0.008881f, 0.004567f, -0.004714f, 0.000855f, 0.002390f, -0.002757f, 0.003464f, 0.000579f, -0.002807f, -0.000514f, 0.004324f, 0.000197f, 0.004183f, -0.005114f, -0.000566f, 0.002689f, 0.000746f, -0.040147f, -0.015492f, 0.008515f, 0.002646f, -0.004901f, 0.005428f, 0.005030f, 0.007263f, - -0.001548f, -0.003644f, 0.006911f, -0.000044f, -0.004191f, 0.008688f, -0.009837f, -0.013502f, -0.005948f, -0.007407f, 0.004876f, 0.006288f, 0.000106f, 0.001361f, 0.010722f, 0.004253f, -0.010358f, -0.005156f, -0.006281f, 0.001584f, -0.009611f, -0.008969f, -0.000288f, 0.000947f, -0.003539f, -0.004513f, -0.005780f, -0.003518f, -0.005275f, -0.005792f, -0.001808f, 0.000045f, -0.001754f, -0.000745f, -0.003504f, -0.001010f, -0.002643f, -0.006710f, 0.013714f, 0.000635f, 0.003383f, -0.005993f, 0.003758f, -0.000844f, 0.002000f, -0.004937f, -0.000021f, -0.001243f, -0.003535f, -0.002850f, -0.001541f, 0.003831f, 0.003334f, 0.002850f, 0.002251f, 0.002052f, -0.000529f, -0.000604f, -0.003112f, -0.001261f, -0.000096f, -0.000963f, 0.004195f, 0.000377f, 0.002464f, -0.000726f, 0.021393f, 0.007598f, 0.017263f, 0.002488f, 0.001321f, -0.007051f, 0.002792f, 0.010007f, 0.004006f, 0.000516f, 0.007021f, -0.006384f, -0.002602f, 0.005343f, -0.004118f, 0.001694f, 0.009960f, 0.002900f, 0.001466f, 0.002863f, -0.001673f, 0.003995f, -0.003138f, -0.000178f, 0.001772f, 0.000273f, -0.002413f, -0.003014f, 0.001151f, 0.009798f, - -0.003195f, 0.002173f, -0.009257f, -0.005333f, 0.004332f, 0.010304f, -0.008140f, -0.000305f, 0.005185f, 0.000910f, 0.001994f, -0.007177f, -0.002340f, -0.006272f, -0.010229f, -0.003136f, -0.005689f, -0.006465f, 0.004862f, 0.001481f, 0.001670f, -0.004003f, -0.002177f, -0.001205f, -0.009877f, -0.001451f, 0.005478f, -0.004455f, 0.004377f, 0.008515f, 0.001321f, 0.005412f, 0.003901f, -0.000306f, -0.001896f, 0.004540f, -0.006691f, -0.001048f, -0.000483f, 0.003358f, 0.001932f, 0.002943f, 0.025416f, -0.005310f, -0.008273f, 0.001607f, 0.005562f, 0.005155f, 0.004563f, -0.001108f, 0.004945f, 0.001993f, -0.006707f, -0.012340f, 0.008087f, 0.002587f, 0.005737f, 0.003966f, -0.003770f, 0.001788f, -0.005253f, -0.007988f, 0.008186f, -0.005097f, -0.010717f, 0.001374f, -0.002113f, 0.001544f, -0.001455f, -0.000777f, -0.003053f, -0.003825f, 0.002591f, 0.007193f, -0.010490f, 0.010057f, -0.008951f, -0.010855f, 0.000613f, 0.003193f, -0.006728f, 0.005139f, -0.001365f, 0.003326f, -0.005874f, -0.002484f, 0.008670f, 0.003926f, 0.008777f, 0.002630f, 0.000194f, 0.003102f, -0.000546f, 0.000481f, 0.004332f, -0.000310f, - 0.000320f, -0.004247f, -0.003505f, -0.002504f, 0.002863f, -0.003340f, -0.003451f, 0.005523f, -0.000747f, 0.006141f, 0.000346f, -0.004621f, 0.006793f, 0.005593f, -0.001104f, 0.003496f, -0.004446f, -0.006629f, 0.001730f, -0.002873f, -0.005178f, 0.021419f, 0.026471f, -0.004214f, 0.000318f, -0.013425f, -0.001349f, -0.009855f, -0.007084f, -0.002511f, -0.004807f, 0.007237f, 0.000128f, 0.005559f, -0.012237f, 0.010040f, -0.007672f, 0.010250f, 0.000473f, 0.008083f, -0.002916f, 0.010243f, 0.003534f, -0.005254f, 0.002288f, -0.007724f, 0.005014f, -0.004430f, 0.011871f, 0.003238f, 0.007813f, -0.013213f, -0.007363f, -0.003471f, -0.006520f, -0.003050f, -0.004463f, 0.000103f, 0.015978f, -0.007708f, 0.008027f, 0.013201f, 0.001904f, 0.005608f, 0.000054f, -0.003388f, -0.006357f, -0.005184f, 0.000622f, -0.003853f, 0.008108f, -0.005680f, 0.003669f, 0.009490f, -0.001394f, -0.001226f, -0.000900f, 0.007663f, 0.008615f, 0.002301f, -0.004201f, -0.004011f, -0.002307f, 0.002945f, -0.008193f, 0.001010f, -0.001648f, -0.002726f, -0.000129f, 0.004727f, 0.000192f, 0.006873f, 0.006523f, 0.000660f, 0.001238f, -0.004126f, - -0.020950f, -0.017931f, 0.007727f, -0.002005f, 0.009659f, -0.005335f, -0.005227f, -0.006458f, -0.006122f, -0.002199f, -0.016668f, -0.005530f, 0.005733f, 0.009095f, 0.003086f, -0.010885f, -0.003716f, -0.005029f, 0.004260f, 0.016687f, 0.008602f, 0.004357f, 0.000100f, 0.001601f, 0.000299f, 0.003225f, 0.007877f, 0.001037f, 0.001651f, -0.004454f, -0.000182f, -0.006542f, 0.002106f, 0.003698f, 0.005502f, 0.001122f, -0.004777f, -0.001768f, 0.007420f, -0.003420f, 0.002404f, 0.001961f, 0.002272f, 0.010581f, -0.006373f, -0.008378f, 0.002591f, 0.007621f, 0.001249f, 0.007611f, 0.008076f, 0.004528f, 0.005366f, 0.002634f, 0.000569f, 0.005106f, 0.013873f, -0.007871f, -0.000792f, 0.002677f, 0.000492f, -0.006051f, -0.001954f, 0.005135f, -0.000946f, -0.005403f, 0.001359f, 0.010889f, -0.009574f, 0.003088f, -0.009154f, 0.005019f, 0.002210f, 0.001628f, -0.000687f, -0.041489f, -0.014183f, -0.001144f, -0.003896f, -0.010394f, 0.006441f, 0.008088f, 0.014231f, 0.004391f, 0.009031f, -0.008387f, -0.017028f, 0.007829f, -0.003851f, 0.000227f, -0.009063f, 0.008938f, -0.005262f, -0.000633f, 0.008722f, -0.023734f, - 0.002495f, 0.012050f, -0.022620f, -0.006229f, -0.007872f, 0.000920f, 0.001070f, 0.005408f, -0.006135f, 0.007230f, 0.001272f, -0.012150f, -0.005959f, 0.001248f, -0.001326f, -0.006097f, 0.005430f, 0.013769f, 0.003179f, 0.003700f, -0.002036f, -0.003613f, 0.008319f, 0.001343f, -0.003893f, -0.020138f, -0.003005f, 0.002398f, -0.009969f, 0.004698f, 0.004264f, 0.000702f, -0.007681f, -0.007111f, -0.008210f, 0.017869f, 0.004901f, -0.002814f, 0.003600f, -0.015329f, 0.001901f, -0.007194f, -0.008121f, 0.007920f, -0.001286f, 0.000097f, -0.005129f, -0.019076f, 0.002601f, 0.005870f, 0.003357f, -0.001262f, 0.011283f, 0.000650f, 0.000634f, 0.043680f, 0.011121f, 0.011182f, 0.009684f, -0.002925f, 0.000451f, 0.044894f, 0.013070f, -0.003873f, 0.027563f, -0.015588f, 0.011522f, 0.002245f, 0.007051f, 0.011066f, -0.003449f, -0.008035f, 0.008495f, -0.001739f, -0.027189f, 0.006747f, 0.007053f, 0.005541f, 0.012939f, 0.007975f, 0.008439f, -0.007900f, 0.001662f, -0.007648f, -0.003896f, 0.007801f, 0.002631f, -0.016148f, -0.009534f, -0.013590f, -0.019874f, -0.003329f, 0.004015f, 0.009369f, 0.008274f, 0.006876f, - 0.005948f, -0.003267f, 0.010267f, 0.005417f, -0.012714f, -0.005187f, 0.003254f, 0.009120f, 0.000112f, 0.001655f, 0.016603f, -0.003406f, -0.001539f, -0.004762f, -0.000997f, 0.008074f, -0.007400f, -0.000344f, -0.010410f, -0.009641f, -0.005965f, 0.010193f, 0.014641f, -0.004826f, 0.001140f, -0.003427f, -0.009135f, -0.006833f, 0.002474f, -0.011287f, -0.002548f, -0.003623f, -0.006239f, 0.044110f, 0.026764f, 0.001428f, 0.017144f, 0.012291f, 0.004066f, 0.018823f, 0.005851f, -0.000566f, -0.005601f, -0.004962f, -0.012203f, -0.034680f, -0.002157f, 0.002783f, -0.011292f, -0.007194f, -0.000959f, 0.023284f, 0.008150f, -0.006762f, 0.000576f, 0.001071f, -0.003097f, 0.009457f, -0.001390f, -0.006806f, -0.003935f, -0.006464f, 0.004045f, -0.009218f, -0.020706f, -0.000175f, -0.010699f, -0.017627f, 0.003554f, 0.006638f, 0.010831f, 0.005286f, 0.009592f, -0.007117f, -0.017890f, -0.012507f, -0.016096f, 0.005637f, 0.015355f, 0.011787f, 0.008212f, 0.014430f, 0.000462f, 0.008709f, 0.020684f, -0.017894f, 0.003087f, -0.008544f, 0.000046f, 0.005079f, 0.006078f, 0.009158f, -0.001036f, -0.021786f, -0.016324f, 0.002538f, - -0.004831f, -0.006905f, -0.004352f, -0.005569f, -0.014797f, 0.000204f, 0.009003f, -0.002168f, 0.006414f, -0.005678f, -0.001842f, -0.002254f, 0.010200f, -0.021586f, 0.002130f, -0.016342f, 0.007016f, -0.031807f, -0.001461f, -0.010052f, -0.017334f, 0.030794f, 0.016452f, -0.009926f, -0.027485f, -0.006015f, -0.010330f, -0.022738f, 0.017875f, 0.001840f, -0.016738f, -0.005173f, 0.009000f, -0.014514f, -0.010896f, -0.007166f, -0.018658f, -0.006047f, -0.000724f, -0.013795f, -0.013745f, 0.019861f, -0.007339f, -0.004820f, -0.002020f, -0.003120f, 0.015755f, -0.016620f, -0.008522f, 0.004904f, -0.004933f, 0.001172f, -0.004205f, 0.010465f, -0.016972f, 0.007259f, -0.027015f, 0.004045f, -0.007784f, -0.009388f, 0.028179f, 0.004331f, -0.010466f, 0.006829f, 0.005911f, -0.021304f, 0.015867f, -0.002309f, -0.004817f, -0.000120f, 0.009186f, -0.002100f, 0.000597f, -0.009179f, 0.006199f, 0.009212f, 0.013042f, -0.009082f, -0.027727f, 0.021641f, -0.001711f, 0.010199f, 0.010320f, -0.003646f, 0.006465f, 0.016805f, -0.017327f, -0.041439f, -0.024776f, 0.006400f, -0.016189f, 0.002911f, -0.011998f, -0.004574f, -0.017091f, -0.009939f, - 0.007000f, 0.024973f, 0.024025f, 0.005087f, 0.016639f, -0.011130f, 0.029866f, 0.023811f, -0.019159f, -0.015171f, 0.004058f, 0.006216f, 0.025081f, 0.010604f, 0.015675f, -0.004917f, 0.005643f, -0.002274f, -0.003873f, -0.004412f, 0.023378f, 0.012077f, 0.022346f, 0.022408f, 0.003015f, -0.000109f, -0.011427f, 0.011419f, -0.002304f, -0.020252f, -0.015358f, -0.002904f, -0.012152f, -0.001297f, -0.012464f, -0.008799f, 0.005660f, -0.001832f, -0.008304f, 0.019078f, 0.019957f, -0.010914f, -0.005177f, 0.029961f, 0.010584f, -0.018396f, -0.020453f, -0.005713f, 0.006089f, 0.000339f, -0.004792f, -0.012703f, 0.010565f, 0.004912f, -0.005819f, 0.004559f, 0.001920f, -0.016034f, -0.009020f, 0.002928f, -0.008024f, -0.007156f, -0.010727f, 0.024693f, -0.020304f, -0.015496f, -0.016045f, -0.023888f, -0.020279f, -0.000315f, -0.015935f, -0.020802f, 0.005444f, -0.001931f, -0.028659f, 0.020389f, 0.003789f, -0.001922f, 0.010364f, 0.031501f, 0.030397f, 0.012867f, -0.036948f, 0.013574f, 0.009952f, -0.036524f, -0.000393f, -0.017744f, -0.008406f, 0.018492f, -0.021866f, 0.012533f, 0.000095f, -0.004012f, -0.007761f, 0.003532f, - -0.001741f, 0.006044f, -0.004151f, -0.019711f, 0.018961f, 0.008670f, 0.022686f, -0.002636f, -0.007571f, -0.011233f, 0.009205f, -0.010165f, 0.026751f, 0.005308f, 0.016069f, -0.021152f, 0.016589f, 0.000295f, 0.005860f, -0.013882f, 0.004512f, -0.016441f, -0.002581f, -0.016879f, 0.006661f, 0.010945f, -0.021964f, 0.000411f, -0.018146f, 0.007920f, 0.010477f, 0.009803f, -0.001629f, -0.031527f, -0.000200f, 0.007467f, -0.002992f, 0.012948f, -0.029985f, 0.006666f, -0.012840f, 0.002871f, -0.011143f, 0.000778f, 0.006613f, 0.043958f, 0.054456f, 0.022064f, 0.019334f, -0.031587f, 0.030448f, 0.042945f, -0.046967f, 0.005211f, 0.031377f, 0.004897f, -0.056103f, -0.006119f, -0.030182f, 0.009476f, 0.011871f, -0.014777f, -0.004996f, 0.009890f, -0.025395f, -0.002519f, -0.009553f, -0.013222f, 0.005738f, -0.020170f, 0.021939f, 0.014725f, 0.028193f, -0.014049f, 0.005211f, -0.003396f, -0.010476f, 0.034290f, 0.000076f, -0.016406f, -0.006768f, 0.007073f, -0.006672f, -0.009522f, -0.009835f, 0.017228f, 0.007423f, 0.024114f, -0.000846f, 0.008558f, 0.033155f, -0.020898f, 0.005244f, -0.014345f, 0.026581f, -0.010518f, - 0.013019f, 0.004588f, 0.000088f, -0.010193f, -0.017049f, -0.012841f, 0.006368f, 0.022562f, -0.020435f, 0.018920f, 0.024459f, 0.010974f, 0.028455f, -0.013835f, -0.009087f, 0.016828f, -0.001253f, -0.004079f, -0.022871f, -0.002507f, -0.018250f, 0.003091f, 0.028643f, 0.011249f, 0.009858f, 0.008780f}, - {-0.005177f, 0.000170f, -0.001276f, 0.001261f, -0.000706f, -0.000213f, 0.000386f, 0.000904f, -0.000173f, 0.000903f, 0.000379f, 0.000299f, -0.000045f, -0.000065f, 0.000137f, 0.000097f, -0.000456f, -0.000240f, -0.000861f, 0.000391f, -0.000269f, -0.000036f, 0.000890f, 0.000334f, 0.000117f, 0.000122f, 0.000254f, 0.000010f, -0.000152f, -0.000006f, -0.000095f, -0.000062f, -0.000264f, -0.000141f, -0.000083f, -0.000064f, 0.000048f, 0.000067f, 0.000001f, 0.000002f, 0.000001f, -0.000036f, -0.000016f, 0.000023f, 0.000083f, -0.000028f, 0.003626f, 0.001992f, 0.001004f, 0.001228f, 0.000691f, 0.001039f, 0.002102f, 0.000121f, 0.000060f, -0.000219f, -0.000519f, 0.001091f, 0.000013f, -0.000077f, 0.001158f, -0.000448f, -0.000537f, 0.000320f, 0.000116f, 0.000498f, 0.000121f, 0.000191f, 0.000523f, -0.000350f, 0.000351f, -0.000104f, -0.000077f, -0.000263f, 0.000177f, 0.000694f, 0.000368f, 0.000437f, 0.000366f, -0.000044f, 0.000285f, 0.000411f, -0.000169f, 0.000347f, -0.000583f, 0.000729f, -0.000293f, 0.000217f, 0.000039f, 0.000105f, -0.000140f, -0.000130f, 0.001821f, -0.002084f, -0.000281f, -0.000381f, - -0.000520f, 0.000341f, -0.001038f, 0.000354f, -0.000025f, 0.000475f, 0.000413f, -0.000819f, -0.000293f, 0.001257f, -0.000132f, 0.000271f, -0.000233f, 0.000549f, 0.001150f, 0.001333f, 0.000226f, 0.000577f, -0.000019f, -0.001045f, -0.000031f, 0.000118f, -0.000226f, 0.000008f, 0.000580f, -0.000598f, -0.000808f, 0.000358f, -0.000390f, -0.000357f, -0.000566f, -0.000020f, 0.000600f, 0.000155f, -0.000174f, -0.000211f, -0.000235f, 0.000002f, 0.000136f, -0.000315f, 0.000122f, -0.000360f, -0.005226f, -0.003719f, -0.001810f, -0.001370f, -0.001043f, -0.001081f, -0.000366f, -0.000799f, -0.000241f, -0.000503f, -0.001287f, 0.000246f, 0.000670f, -0.000111f, 0.000386f, -0.000253f, -0.000662f, -0.000676f, -0.001004f, -0.000349f, 0.000254f, 0.000027f, -0.000560f, 0.000382f, -0.000679f, -0.000682f, 0.000459f, -0.000003f, 0.000035f, 0.000358f, 0.000419f, 0.000107f, -0.000144f, -0.000203f, -0.000254f, 0.000138f, 0.000085f, -0.000357f, 0.000206f, -0.000709f, -0.000291f, -0.000175f, -0.000058f, -0.000505f, -0.000086f, -0.000185f, -0.007417f, -0.001016f, 0.000592f, 0.000093f, 0.000560f, 0.000041f, -0.000392f, 0.000252f, - -0.000298f, -0.000368f, -0.000649f, -0.000580f, 0.000287f, -0.000228f, 0.000492f, -0.000476f, 0.000025f, -0.000461f, 0.000157f, 0.000736f, -0.000181f, 0.000542f, 0.000048f, -0.000536f, -0.000088f, 0.000665f, 0.000360f, 0.000425f, 0.000521f, -0.000733f, 0.000497f, -0.000311f, -0.000043f, -0.000405f, -0.000168f, 0.000188f, 0.000324f, 0.000145f, -0.000157f, 0.000531f, 0.000492f, 0.000266f, -0.000150f, -0.000377f, 0.000065f, -0.000314f, 0.008753f, 0.006983f, 0.001643f, 0.003129f, 0.000744f, 0.002421f, 0.001688f, 0.000527f, 0.001699f, 0.000690f, 0.001285f, 0.000566f, -0.000482f, 0.001304f, 0.000905f, -0.000352f, -0.000130f, -0.002416f, -0.000273f, 0.000126f, 0.001462f, 0.000170f, 0.000043f, 0.000754f, 0.000045f, 0.000681f, 0.000611f, 0.000102f, -0.000066f, 0.000240f, 0.000990f, 0.000772f, 0.000632f, -0.000064f, -0.000277f, 0.000042f, 0.000448f, -0.000177f, -0.000069f, 0.000521f, 0.000152f, -0.000260f, -0.000034f, 0.000110f, -0.000536f, 0.000640f, 0.015398f, 0.005653f, 0.002716f, 0.001629f, 0.000974f, 0.001005f, 0.000931f, 0.001582f, 0.000373f, 0.002575f, 0.000339f, 0.000241f, - 0.001090f, -0.000597f, 0.000252f, -0.000265f, -0.000290f, -0.000426f, 0.001638f, 0.000912f, -0.000148f, 0.001258f, -0.000877f, -0.000221f, -0.000317f, 0.001941f, -0.000193f, 0.000696f, 0.000143f, 0.000949f, 0.000155f, -0.000287f, 0.000490f, 0.000648f, -0.000311f, 0.000227f, 0.000256f, 0.000169f, 0.000385f, -0.000135f, 0.000443f, 0.000403f, -0.001259f, 0.000265f, 0.000135f, 0.000229f, 0.005907f, -0.004367f, -0.001538f, -0.002018f, -0.001264f, -0.001197f, 0.000807f, -0.000682f, -0.001829f, -0.000452f, -0.002431f, -0.000563f, -0.001061f, -0.002319f, -0.000597f, 0.000529f, -0.001477f, -0.000487f, 0.000221f, -0.001637f, -0.000081f, 0.001895f, 0.000417f, 0.000275f, -0.000875f, 0.000039f, 0.000654f, 0.000017f, -0.000804f, -0.000841f, 0.000863f, -0.000074f, -0.001130f, 0.000108f, -0.000482f, 0.001378f, -0.000043f, 0.000622f, -0.000225f, 0.001192f, -0.000785f, 0.000479f, 0.000157f, 0.000281f, 0.000013f, 0.000307f, -0.000034f, -0.000379f, 0.000725f, -0.016236f, -0.009184f, -0.001875f, -0.002289f, -0.001570f, -0.002001f, -0.002821f, -0.000259f, 0.000079f, -0.000828f, 0.000710f, -0.000768f, 0.000123f, - -0.000079f, -0.000921f, -0.001021f, -0.001608f, -0.000563f, 0.001600f, -0.001512f, -0.000161f, 0.001442f, 0.000930f, -0.000228f, 0.000542f, -0.000211f, -0.001551f, -0.000779f, -0.001270f, -0.000436f, 0.000076f, -0.000322f, 0.000762f, -0.001372f, -0.001066f, -0.000043f, -0.001312f, -0.001030f, -0.000921f, -0.001093f, 0.001175f, -0.000338f, -0.001380f, -0.000446f, 0.000411f, 0.000440f, -0.000448f, -0.000714f, -0.000295f, -0.009960f, 0.005717f, 0.002142f, 0.000935f, 0.000979f, 0.000870f, 0.000435f, -0.001070f, 0.000281f, -0.000639f, -0.000184f, 0.001777f, 0.001092f, 0.001529f, 0.001574f, 0.001615f, -0.001353f, 0.000678f, 0.001748f, 0.000273f, 0.001522f, -0.001807f, 0.000340f, -0.000464f, -0.000122f, -0.000684f, 0.000643f, -0.000245f, 0.000026f, 0.001573f, -0.001637f, -0.000508f, 0.000622f, 0.000899f, -0.000429f, 0.000746f, -0.000650f, -0.001091f, 0.001274f, -0.000655f, -0.000058f, -0.000375f, 0.000478f, -0.000182f, 0.000584f, -0.000655f, -0.000247f, -0.000596f, -0.000164f, -0.000525f, 0.000945f, 0.000066f, 0.000300f, 0.014813f, 0.006070f, 0.001282f, 0.003380f, 0.002644f, 0.000514f, 0.001181f, - 0.003196f, 0.001456f, -0.000078f, 0.000682f, 0.000396f, -0.000474f, 0.000913f, 0.002744f, 0.000642f, 0.003275f, 0.001590f, -0.002706f, 0.000503f, 0.000091f, 0.000553f, 0.002415f, 0.001360f, 0.000969f, -0.000218f, -0.000385f, -0.000333f, -0.000417f, 0.000372f, -0.000539f, 0.000801f, 0.000234f, 0.001092f, -0.000233f, -0.000288f, 0.000393f, 0.000890f, 0.000478f, -0.000105f, -0.001198f, -0.000508f, -0.000671f, 0.001051f, 0.000754f, 0.001187f, 0.000648f, 0.000171f, 0.000157f, 0.001013f, 0.000794f, 0.000662f, 0.000093f, 0.016550f, 0.004748f, 0.002066f, 0.002587f, 0.000422f, 0.002499f, -0.000410f, -0.000959f, -0.000059f, 0.000638f, 0.000260f, -0.000082f, 0.000468f, 0.002545f, -0.000383f, -0.001601f, -0.001126f, 0.001229f, 0.000306f, 0.001433f, 0.002272f, 0.001992f, -0.000148f, 0.001325f, -0.001464f, 0.000152f, -0.001141f, 0.001527f, 0.000865f, -0.001741f, 0.000994f, -0.000833f, 0.000104f, -0.000675f, 0.001005f, -0.000651f, 0.001265f, 0.001014f, 0.000808f, 0.001648f, 0.000520f, -0.000045f, -0.000430f, -0.000007f, 0.000200f, 0.001824f, -0.000076f, 0.000036f, 0.000104f, 0.000876f, - 0.000565f, 0.000055f, -0.000257f, 0.002272f, -0.007029f, -0.002874f, -0.001128f, -0.001624f, -0.000718f, -0.000619f, 0.000123f, 0.000998f, -0.001014f, -0.001915f, 0.001794f, -0.002299f, -0.002165f, -0.000410f, -0.000490f, 0.000985f, -0.000603f, -0.000057f, -0.002091f, -0.001268f, -0.002527f, -0.002804f, -0.003091f, -0.000441f, 0.000741f, -0.002182f, -0.000567f, 0.000301f, 0.000251f, 0.000085f, -0.000262f, -0.002163f, -0.001321f, 0.000927f, 0.000381f, -0.000512f, 0.002058f, -0.001375f, -0.000593f, 0.000498f, 0.001270f, 0.001010f, -0.000156f, -0.000320f, 0.000513f, 0.000290f, -0.001299f, 0.000109f, -0.000753f, -0.000365f, 0.000126f, -0.000549f, 0.000098f, 0.000886f, -0.017970f, -0.005690f, -0.003375f, -0.001435f, -0.002421f, -0.001979f, -0.000549f, -0.001420f, -0.000555f, -0.001887f, -0.002488f, -0.001824f, -0.000589f, -0.003748f, -0.000866f, -0.001541f, -0.002232f, -0.000305f, 0.000414f, 0.001186f, -0.001295f, -0.001887f, -0.000662f, 0.001499f, 0.001985f, 0.002377f, 0.001315f, -0.000095f, -0.001161f, -0.000569f, 0.000041f, -0.001494f, 0.000640f, 0.000964f, 0.001282f, -0.000883f, -0.000701f, -0.000712f, - -0.000307f, -0.000320f, -0.000483f, 0.000939f, -0.000253f, 0.000596f, -0.001212f, -0.002187f, -0.000873f, -0.000117f, 0.001111f, -0.001899f, 0.000649f, -0.000931f, 0.000907f, -0.000948f, 0.000554f, -0.010334f, 0.002754f, 0.000766f, 0.000011f, 0.001812f, -0.001736f, 0.000466f, -0.003994f, -0.001298f, 0.001392f, 0.000987f, 0.002579f, -0.000186f, 0.002814f, -0.001637f, -0.000410f, 0.001348f, -0.002442f, -0.000895f, -0.001435f, 0.002745f, -0.000169f, -0.002267f, 0.001149f, 0.002190f, -0.001937f, -0.001477f, -0.001743f, 0.000512f, -0.000401f, 0.000949f, -0.000662f, -0.000550f, -0.000461f, -0.001056f, 0.001556f, -0.001239f, 0.000310f, 0.001021f, -0.000116f, 0.001179f, -0.000667f, 0.002572f, 0.000398f, -0.000249f, -0.000883f, -0.000882f, 0.000055f, -0.001016f, -0.001234f, -0.000767f, 0.000220f, 0.000888f, -0.000100f, 0.000254f, -0.001068f, -0.001080f, -0.001530f, -0.000604f, -0.000467f, -0.000392f, 0.008980f, 0.012785f, 0.004458f, 0.004411f, 0.006110f, 0.004354f, -0.000590f, 0.000839f, -0.000453f, 0.000785f, 0.000767f, 0.001083f, 0.000842f, 0.002155f, 0.000854f, 0.001336f, 0.000440f, 0.004287f, - 0.001022f, 0.002082f, 0.001262f, 0.001074f, 0.003412f, 0.000766f, 0.004271f, 0.002164f, -0.000871f, 0.002968f, 0.000783f, 0.001437f, 0.003003f, 0.000563f, 0.001780f, -0.000969f, -0.000331f, 0.000793f, 0.001332f, -0.001900f, 0.001547f, -0.001127f, -0.002034f, -0.001246f, 0.001620f, 0.002415f, 0.001843f, -0.000436f, 0.000563f, 0.000496f, 0.000878f, 0.001224f, 0.000694f, 0.001390f, 0.000833f, -0.001509f, -0.000110f, 0.000937f, 0.001356f, 0.000320f, 0.000383f, 0.000137f, -0.001509f, 0.030699f, 0.002446f, -0.001685f, 0.002599f, -0.001794f, 0.003607f, 0.000932f, 0.003782f, -0.001927f, 0.000468f, -0.000102f, 0.002321f, -0.004007f, 0.000884f, 0.002381f, -0.000405f, -0.000693f, 0.003341f, 0.004939f, -0.001982f, -0.001291f, 0.000741f, 0.002383f, -0.000990f, 0.001508f, 0.000207f, -0.001747f, -0.001234f, -0.001416f, 0.001196f, 0.001422f, 0.001898f, -0.001391f, 0.002081f, -0.001378f, 0.002025f, 0.001598f, -0.000312f, -0.001249f, 0.000779f, -0.001938f, -0.002453f, 0.000466f, -0.001638f, 0.000617f, 0.000308f, 0.000176f, 0.001226f, -0.000123f, 0.001461f, -0.000014f, -0.001627f, 0.000593f, - -0.000331f, 0.000729f, -0.001156f, -0.000362f, 0.000324f, 0.000777f, -0.000578f, -0.002329f, -0.010514f, -0.010197f, -0.002314f, 0.000801f, -0.000454f, -0.001529f, -0.001663f, -0.002267f, -0.000607f, 0.001703f, -0.000547f, -0.000558f, -0.002344f, 0.002495f, -0.000138f, -0.002013f, -0.001746f, 0.004315f, -0.003872f, 0.000429f, 0.002858f, -0.000305f, 0.000487f, -0.003714f, 0.001217f, -0.001571f, 0.000921f, -0.002566f, -0.001676f, 0.000471f, 0.000724f, -0.001171f, -0.001330f, 0.000179f, -0.000521f, 0.000240f, -0.001552f, -0.000845f, 0.001715f, -0.000121f, -0.000731f, -0.000407f, 0.002176f, 0.001007f, -0.001148f, -0.001770f, -0.001572f, 0.000631f, -0.000182f, -0.000694f, 0.000253f, 0.000439f, -0.000822f, 0.002613f, 0.001451f, -0.000163f, -0.000106f, -0.000550f, 0.000398f, -0.000623f, -0.000633f, -0.000639f, -0.000043f, -0.001298f, -0.001020f, -0.003987f, -0.003650f, -0.004107f, -0.003159f, -0.002096f, -0.001594f, 0.000450f, -0.000155f, -0.000950f, -0.000537f, 0.001128f, 0.003553f, -0.003076f, 0.001495f, -0.000952f, -0.002123f, 0.002702f, -0.000328f, 0.000632f, 0.003290f, 0.000621f, 0.001326f, -0.002008f, - -0.000607f, -0.006075f, -0.000808f, 0.001299f, 0.000668f, 0.000663f, 0.000531f, 0.001000f, -0.001471f, -0.001728f, 0.001324f, -0.000032f, 0.001247f, 0.000807f, -0.001728f, 0.001482f, -0.000227f, -0.004262f, -0.003709f, -0.000473f, -0.003514f, 0.000581f, 0.000981f, -0.000098f, -0.000968f, -0.000257f, 0.000066f, -0.000873f, -0.000405f, -0.000062f, -0.000683f, 0.001201f, 0.000197f, 0.000488f, -0.000702f, -0.000309f, 0.001602f, 0.000577f, -0.001182f, 0.001303f, -0.000358f, -0.000654f, -0.001870f, 0.000174f, -0.020039f, -0.004591f, 0.000316f, -0.004007f, 0.001631f, 0.000381f, 0.004833f, -0.002269f, 0.000308f, -0.001340f, 0.003247f, -0.006595f, -0.006290f, 0.002644f, -0.003037f, 0.004731f, 0.001740f, -0.003829f, -0.006662f, -0.000167f, -0.001869f, -0.003257f, -0.001307f, 0.000751f, 0.001105f, -0.001578f, 0.005745f, 0.000296f, -0.000546f, -0.002403f, 0.001971f, 0.002159f, 0.002358f, 0.002502f, -0.000288f, -0.001493f, -0.000540f, 0.001478f, -0.000094f, 0.001786f, -0.001662f, -0.000667f, -0.000557f, 0.002072f, 0.001688f, -0.001819f, 0.002381f, -0.001314f, -0.001621f, 0.000204f, -0.000725f, -0.001558f, - 0.001631f, -0.001843f, -0.000225f, 0.000478f, -0.000427f, -0.000742f, 0.000442f, 0.001562f, -0.000941f, 0.001502f, -0.001210f, 0.001019f, -0.000665f, -0.000739f, -0.000466f, 0.018432f, 0.016125f, 0.003415f, 0.004281f, -0.000827f, 0.005240f, 0.004265f, 0.005277f, -0.000190f, 0.002093f, 0.001310f, -0.005038f, -0.004202f, 0.002275f, 0.000476f, -0.003624f, -0.003759f, -0.002161f, 0.000261f, 0.002094f, 0.000644f, 0.004999f, 0.004627f, 0.001968f, -0.001055f, -0.001175f, 0.003063f, 0.002803f, 0.000233f, 0.002447f, -0.000806f, 0.003143f, 0.000181f, -0.000751f, 0.004452f, 0.002256f, 0.003649f, 0.002295f, 0.000797f, 0.002497f, 0.001281f, 0.000823f, 0.002362f, -0.001368f, 0.000462f, 0.003081f, -0.000048f, -0.002102f, 0.001854f, 0.001784f, 0.001311f, -0.001503f, -0.000058f, 0.001757f, 0.002740f, -0.001466f, 0.003316f, 0.003737f, -0.000694f, -0.002155f, 0.000322f, 0.000789f, 0.000559f, 0.001585f, -0.000045f, 0.000506f, 0.001254f, 0.022212f, 0.001924f, -0.000735f, 0.001681f, 0.000974f, -0.003553f, 0.000855f, 0.001102f, -0.000099f, 0.002484f, 0.003309f, 0.005209f, -0.002378f, -0.002200f, - -0.003707f, -0.002810f, 0.003192f, -0.000151f, 0.004654f, -0.001036f, -0.001254f, 0.002069f, 0.004031f, 0.001749f, -0.004249f, 0.003392f, -0.001311f, 0.002734f, -0.001469f, 0.002146f, -0.002598f, 0.001639f, -0.000299f, 0.002498f, 0.000193f, 0.001468f, 0.000638f, -0.004107f, -0.002412f, -0.000292f, -0.000948f, -0.000296f, -0.001408f, 0.002127f, 0.000675f, 0.004433f, -0.000767f, -0.002876f, -0.001827f, -0.000208f, 0.000163f, -0.003215f, 0.001017f, -0.001039f, -0.000245f, -0.000239f, -0.002027f, 0.001834f, 0.003259f, -0.000985f, 0.001627f, 0.000468f, -0.001989f, -0.000118f, -0.001901f, -0.001440f, 0.000190f, 0.003015f, 0.000306f, -0.001220f, -0.002998f, 0.000875f, -0.001105f, 0.006445f, -0.001545f, -0.006154f, -0.004167f, -0.005549f, 0.005123f, -0.004100f, 0.001129f, 0.006265f, -0.000285f, -0.006364f, 0.000427f, -0.006681f, 0.005554f, -0.001941f, 0.005534f, 0.000033f, -0.002122f, 0.004767f, 0.000167f, 0.000988f, -0.003600f, -0.004536f, -0.000741f, 0.001592f, 0.000962f, -0.000889f, -0.002105f, 0.002104f, -0.000660f, 0.001570f, 0.002410f, 0.002938f, 0.001347f, 0.001622f, -0.005988f, 0.000490f, - -0.001370f, -0.002051f, 0.000802f, 0.002950f, -0.002511f, -0.004600f, -0.002042f, 0.001330f, 0.000507f, -0.004047f, -0.001660f, 0.001862f, 0.002734f, -0.002443f, -0.001593f, -0.001888f, 0.002799f, 0.003709f, 0.000741f, -0.001287f, 0.000410f, 0.002643f, -0.001295f, -0.000144f, -0.022628f, -0.022692f, -0.003808f, -0.011061f, -0.007047f, -0.003845f, -0.006310f, -0.000628f, 0.004579f, -0.010095f, 0.003636f, -0.001959f, 0.003312f, 0.000727f, 0.001996f, -0.004099f, 0.000987f, -0.000386f, -0.002299f, -0.009229f, -0.001996f, -0.004723f, -0.006046f, -0.000464f, 0.001428f, 0.000480f, -0.002104f, 0.001466f, -0.001998f, -0.000399f, 0.004911f, 0.000070f, -0.001726f, 0.000492f, 0.003195f, 0.004566f, 0.002874f, 0.000194f, 0.002286f, 0.002906f, -0.000320f, 0.000229f, -0.004924f, 0.001999f, -0.004075f, 0.000968f, 0.003837f, -0.002453f, -0.004919f, 0.001636f, -0.002776f, -0.002380f, 0.000503f, 0.000202f, -0.002345f, 0.001372f, -0.000580f, 0.005511f, 0.002923f, 0.001873f, 0.000625f, 0.002201f, -0.000213f, 0.000863f, -0.002088f, -0.003433f, -0.000628f, -0.013188f, 0.024667f, 0.019702f, 0.001015f, 0.004151f, - 0.001370f, 0.004503f, 0.006389f, 0.001680f, 0.006193f, 0.001318f, -0.006976f, 0.004649f, 0.005177f, 0.001753f, 0.001382f, 0.004188f, 0.005087f, -0.005194f, 0.004197f, -0.002684f, 0.003652f, 0.000706f, -0.003490f, 0.000740f, 0.004152f, 0.002610f, -0.005508f, 0.002637f, -0.002412f, 0.007707f, -0.000909f, 0.001859f, -0.001446f, -0.004846f, 0.004679f, 0.004988f, 0.002069f, 0.001307f, -0.000507f, 0.001816f, 0.004966f, 0.001256f, 0.003463f, 0.000494f, 0.002311f, 0.001437f, -0.000655f, 0.002847f, -0.003754f, -0.005361f, -0.002672f, -0.004102f, -0.003783f, -0.001805f, -0.003883f, 0.004736f, 0.003064f, 0.000355f, -0.001195f, -0.001781f, -0.000907f, -0.000218f, -0.000313f, 0.000122f, 0.000312f, 0.000863f, 0.000196f, -0.000266f, 0.032967f, -0.012699f, -0.007415f, 0.001552f, -0.000419f, -0.001307f, -0.009595f, -0.003609f, 0.002016f, -0.000108f, -0.001672f, -0.001471f, 0.001076f, -0.007267f, -0.002522f, 0.004289f, 0.007057f, 0.004377f, 0.002971f, -0.002038f, -0.002606f, -0.004045f, 0.004752f, -0.006875f, -0.001619f, 0.002119f, -0.005113f, 0.001888f, 0.001676f, 0.006134f, -0.009243f, -0.000418f, - -0.000530f, -0.001508f, 0.001981f, -0.007890f, -0.004667f, 0.009373f, 0.005571f, 0.001565f, -0.001940f, 0.005727f, -0.001974f, -0.000378f, 0.000611f, 0.004547f, 0.002034f, -0.002293f, 0.000150f, -0.001207f, 0.003053f, -0.005220f, -0.002910f, -0.003037f, -0.003949f, 0.007094f, 0.001432f, 0.001158f, -0.003425f, 0.000066f, -0.001453f, -0.000879f, -0.003581f, 0.000822f, -0.003423f, 0.000191f, 0.000572f, 0.002932f, -0.004967f, -0.002802f, -0.004439f, -0.000887f, 0.009745f, 0.022939f, 0.003588f, 0.008844f, 0.007700f, 0.007684f, 0.002359f, 0.005780f, 0.003309f, -0.001490f, -0.004790f, -0.002795f, -0.001503f, 0.006594f, -0.005683f, -0.005965f, -0.000592f, -0.000139f, -0.002675f, -0.004536f, 0.013634f, 0.013114f, 0.009583f, 0.000617f, -0.005763f, 0.001126f, 0.000734f, -0.002644f, 0.002983f, 0.002173f, 0.005373f, 0.000785f, 0.002070f, -0.000129f, -0.004049f, 0.006454f, 0.005020f, 0.003914f, -0.001128f, -0.004872f, 0.000077f, -0.000247f, -0.001636f, -0.010092f, 0.007127f, -0.004523f, 0.008248f, 0.000626f, 0.004335f, -0.000834f, 0.004797f, 0.007846f, 0.001254f, -0.003339f, -0.000557f, 0.001561f, - -0.002851f, 0.001505f, -0.001314f, -0.003117f, -0.002137f, 0.001229f, -0.001162f, 0.003390f, 0.000751f, -0.005298f, -0.000077f, -0.000580f, -0.006342f, -0.001209f, 0.000682f, -0.002061f, 0.002231f, -0.023785f, -0.003316f, -0.014768f, 0.000033f, 0.002778f, -0.005195f, -0.008568f, -0.010217f, -0.009407f, -0.005788f, -0.007639f, -0.002033f, -0.000364f, -0.002134f, 0.002675f, -0.001669f, 0.000682f, 0.006014f, 0.002928f, -0.000712f, 0.014671f, -0.003284f, 0.003089f, -0.002218f, 0.001407f, 0.002008f, 0.000967f, -0.000905f, 0.002329f, 0.006698f, 0.002249f, 0.002320f, 0.000973f, 0.002636f, 0.005948f, 0.007823f, 0.002706f, 0.009513f, -0.002335f, -0.008325f, 0.008582f, -0.002706f, -0.001510f, -0.001736f, 0.004972f, 0.007273f, 0.005781f, -0.000183f, -0.001629f, -0.004225f, -0.010398f, 0.006552f, 0.007770f, 0.005272f, -0.006071f, 0.003850f, 0.001319f, -0.000644f, 0.006393f, 0.001033f, 0.004424f, -0.003359f, 0.002364f, -0.004178f, 0.000001f, 0.003711f, -0.000627f, 0.002826f, -0.000101f, -0.001437f, -0.000974f, -0.041652f, -0.019023f, 0.008754f, -0.001856f, -0.001202f, 0.001270f, -0.005010f, -0.004824f, - -0.001337f, -0.002295f, -0.007092f, 0.004963f, 0.000811f, 0.010735f, -0.005871f, -0.005465f, -0.008702f, -0.005218f, -0.008965f, 0.000545f, 0.003633f, -0.013970f, 0.009140f, 0.007438f, -0.000828f, 0.001324f, 0.006056f, 0.000660f, 0.005366f, -0.010627f, -0.010218f, -0.006018f, -0.006599f, -0.005492f, 0.017306f, 0.005360f, -0.003448f, -0.006290f, -0.008406f, 0.003951f, 0.002654f, -0.004311f, 0.003719f, 0.003182f, -0.005814f, 0.000406f, 0.001712f, 0.004674f, -0.005356f, 0.013852f, -0.005777f, -0.005050f, 0.002561f, -0.001658f, 0.000310f, -0.004361f, -0.001192f, 0.000305f, 0.009320f, -0.002886f, 0.013265f, 0.002629f, 0.001293f, 0.001345f, 0.003907f, -0.003915f, -0.000877f, -0.005098f, -0.003551f, -0.003873f, 0.000564f, 0.006980f, -0.003875f, 0.006596f, 0.021179f, 0.010854f, 0.006749f, 0.004543f, -0.007471f, 0.000693f, -0.006063f, 0.009341f, -0.001072f, -0.001340f, 0.003137f, 0.001970f, 0.002110f, -0.000400f, 0.003226f, 0.001067f, 0.003397f, -0.003039f, 0.009081f, 0.001080f, -0.000972f, 0.027416f, 0.001354f, -0.002301f, -0.007228f, 0.003899f, -0.006749f, 0.005933f, 0.014671f, -0.001409f, - 0.003431f, 0.003403f, -0.007876f, -0.008839f, 0.000016f, -0.000117f, 0.006275f, -0.004551f, -0.000035f, -0.000790f, 0.004524f, 0.004596f, 0.007975f, 0.002732f, 0.002551f, 0.003026f, 0.000012f, 0.005033f, 0.002192f, -0.010506f, 0.001782f, -0.005661f, -0.013293f, -0.001623f, 0.003227f, -0.000469f, 0.000660f, -0.002283f, -0.000187f, -0.001017f, -0.000521f, 0.000985f, -0.000186f, 0.005197f, -0.004007f, -0.001278f, 0.000647f, 0.000452f, -0.000340f, -0.003107f, 0.003550f, 0.005983f, 0.030240f, -0.008258f, -0.004224f, -0.007630f, 0.014818f, 0.006529f, 0.000485f, 0.003943f, -0.003091f, -0.002875f, 0.004685f, 0.001278f, -0.006236f, 0.002169f, -0.007968f, -0.004645f, -0.000471f, -0.006478f, 0.000154f, 0.003125f, -0.006185f, -0.008651f, 0.000057f, 0.001266f, 0.005528f, 0.011221f, 0.006444f, -0.004147f, -0.000929f, 0.007255f, 0.011010f, -0.011670f, 0.003826f, -0.001574f, -0.001075f, -0.004911f, -0.008847f, 0.001441f, 0.006273f, 0.002866f, 0.002315f, 0.005287f, -0.001391f, 0.003791f, -0.001618f, 0.002935f, 0.003683f, -0.007514f, -0.006729f, 0.013681f, -0.001951f, 0.000395f, -0.003851f, 0.005955f, - 0.015750f, 0.004995f, 0.001567f, 0.006246f, -0.005351f, -0.004113f, -0.000962f, -0.002834f, -0.010536f, 0.007054f, -0.000189f, -0.003837f, 0.001641f, 0.002411f, -0.003699f, -0.003455f, 0.005097f, -0.000973f, -0.008244f, 0.004657f, 0.002426f, 0.026285f, 0.025309f, -0.008391f, 0.007046f, 0.001842f, 0.005512f, 0.013235f, -0.001476f, -0.007271f, -0.002288f, 0.025769f, -0.014452f, -0.003035f, -0.007083f, -0.006068f, -0.011693f, 0.012744f, -0.003606f, -0.017960f, -0.013041f, -0.016418f, -0.006056f, 0.014005f, -0.001572f, 0.006453f, -0.002405f, -0.007600f, 0.006485f, 0.001576f, 0.008174f, -0.008086f, 0.007277f, 0.005389f, 0.003035f, 0.002993f, -0.012625f, 0.003334f, -0.010534f, 0.008641f, 0.019052f, 0.005159f, 0.005766f, -0.012426f, 0.017048f, 0.004193f, -0.001726f, -0.002993f, -0.003417f, 0.004956f, 0.008518f, 0.001692f, -0.001970f, -0.000875f, 0.002295f, -0.004496f, -0.002957f, -0.004345f, -0.003089f, -0.000717f, 0.006175f, -0.004565f, 0.009236f, 0.002951f, 0.005607f, -0.002326f, -0.013444f, -0.009330f, 0.003269f, 0.000535f, -0.004139f, 0.004633f, -0.000444f, -0.000748f, 0.002441f, -0.002055f, - -0.025350f, -0.014416f, 0.003179f, 0.002422f, -0.000512f, -0.010467f, 0.006149f, 0.004186f, -0.006934f, -0.017386f, 0.014329f, 0.004157f, 0.005159f, 0.008874f, 0.004628f, -0.001731f, 0.002448f, -0.003869f, 0.011955f, -0.009441f, -0.017689f, 0.000135f, -0.001028f, -0.007560f, -0.019156f, 0.001373f, -0.004016f, -0.009192f, -0.005593f, -0.002289f, 0.004205f, 0.001593f, 0.006966f, 0.014910f, -0.005950f, -0.010619f, 0.003676f, -0.000369f, 0.000203f, 0.006758f, -0.008105f, -0.006423f, -0.000884f, 0.007871f, -0.008706f, 0.008534f, -0.002350f, 0.015431f, -0.001787f, -0.003210f, -0.001391f, 0.001379f, 0.003175f, -0.014920f, 0.002722f, -0.012669f, 0.014822f, 0.001537f, 0.009506f, 0.006930f, -0.005001f, 0.000902f, -0.006744f, 0.005283f, -0.000171f, 0.004637f, 0.003380f, -0.007792f, -0.000727f, -0.007322f, -0.003311f, 0.006357f, -0.001948f, -0.003346f, 0.003718f, -0.033105f, -0.017352f, -0.004392f, -0.005309f, 0.000348f, 0.002160f, -0.010603f, -0.010097f, 0.004587f, -0.011558f, 0.004579f, -0.012683f, -0.002102f, -0.012320f, -0.011680f, 0.012331f, 0.007130f, 0.000569f, 0.000561f, -0.012940f, -0.017967f, - 0.008128f, -0.023998f, 0.007665f, 0.001759f, -0.009686f, 0.002716f, -0.006609f, 0.003320f, 0.016107f, -0.007524f, -0.002533f, -0.017700f, 0.013399f, -0.003059f, 0.005214f, -0.005347f, -0.003874f, -0.000183f, -0.002366f, 0.010249f, 0.001389f, 0.019865f, 0.020548f, -0.000965f, -0.001376f, -0.005983f, -0.000903f, -0.001493f, 0.001721f, 0.008459f, -0.000897f, 0.017468f, 0.002754f, -0.004601f, 0.000737f, 0.004725f, -0.001774f, 0.000261f, -0.001404f, 0.013635f, -0.011079f, -0.016989f, -0.009561f, 0.001700f, 0.002274f, 0.004641f, 0.007108f, 0.000536f, 0.001715f, -0.003163f, -0.009760f, -0.008693f, -0.010705f, 0.002387f, -0.003782f, 0.044391f, 0.019234f, 0.013954f, 0.005212f, -0.004640f, -0.008432f, -0.013372f, 0.007176f, 0.013518f, 0.004988f, -0.005819f, 0.015075f, 0.009082f, 0.015060f, 0.001382f, -0.011725f, -0.004044f, 0.022827f, -0.024039f, -0.005514f, 0.016404f, -0.010062f, -0.005054f, 0.037135f, -0.004437f, 0.010219f, 0.034440f, -0.006044f, -0.001970f, -0.001575f, 0.004516f, -0.002485f, 0.015075f, 0.008920f, 0.012467f, -0.009260f, -0.019921f, 0.007430f, -0.007708f, 0.009042f, -0.003531f, - 0.002852f, 0.014631f, 0.007647f, 0.001091f, 0.005625f, 0.003166f, 0.005372f, 0.014156f, 0.007100f, -0.001227f, 0.012759f, 0.005929f, 0.001149f, 0.003488f, 0.024098f, 0.015221f, -0.000794f, 0.013871f, -0.006834f, 0.017480f, -0.005150f, 0.004140f, -0.005777f, 0.002455f, 0.008890f, -0.004993f, -0.001371f, -0.000428f, 0.002385f, 0.001057f, -0.007531f, 0.001164f, -0.006702f, 0.056387f, 0.026062f, -0.011906f, 0.005358f, 0.028936f, 0.001083f, 0.020781f, -0.005837f, 0.007970f, 0.018051f, -0.013723f, 0.001991f, 0.030409f, 0.028067f, 0.022120f, 0.008338f, 0.018937f, 0.003631f, 0.016547f, 0.006288f, 0.004712f, -0.010245f, -0.012881f, -0.017358f, -0.035530f, 0.011545f, -0.000011f, -0.009179f, -0.003786f, 0.012494f, -0.008407f, -0.000864f, 0.000943f, 0.007168f, -0.031534f, -0.004697f, 0.022145f, 0.017712f, -0.006708f, 0.011811f, 0.009381f, 0.006684f, -0.004238f, -0.006911f, -0.003563f, -0.004547f, -0.003571f, -0.011176f, -0.010182f, 0.008279f, -0.019797f, 0.006729f, 0.015490f, -0.004401f, -0.011753f, -0.017360f, 0.016181f, -0.000195f, -0.008772f, -0.005142f, -0.004213f, -0.005719f, 0.003113f, - -0.002433f, -0.006535f, 0.006699f, 0.025457f, -0.012455f, -0.008103f, 0.003814f, -0.005343f, 0.006585f, -0.000071f, 0.014120f, 0.002268f, 0.001338f, -0.022151f, -0.006566f, -0.026693f, -0.006182f, -0.026686f, 0.012629f, -0.025424f, 0.013480f, -0.004209f, -0.015213f, -0.004265f, -0.007316f, 0.031631f, 0.004506f, -0.022669f, 0.000064f, -0.014739f, -0.012168f, 0.015667f, -0.017861f, -0.015965f, -0.018636f, 0.027574f, -0.004108f, 0.018254f, -0.028306f, -0.014706f, 0.010650f, -0.012844f, 0.010126f, 0.030468f, 0.019456f, 0.018898f, 0.002737f, -0.003095f, -0.015213f, -0.020819f, -0.001624f, 0.004765f, -0.019916f, 0.000526f, -0.011964f, 0.005707f, 0.008021f, -0.022108f, -0.019413f, -0.034701f, -0.006016f, 0.002469f, -0.015547f, -0.021441f, 0.020586f, 0.001149f, 0.021144f, 0.021426f, -0.003270f, -0.002958f, -0.009339f, 0.012386f, 0.009995f, 0.001608f, 0.004579f, -0.001670f, -0.001804f, 0.010519f, -0.003474f, -0.012075f, -0.010109f, -0.015176f, -0.013635f, -0.004464f, -0.001304f, -0.001557f, -0.020080f, -0.039093f, -0.005854f, 0.002591f, -0.002798f, -0.000744f, 0.011100f, -0.009304f, 0.009937f, 0.007901f, - -0.005354f, 0.010973f, -0.015745f, 0.019725f, 0.014797f, -0.000183f, -0.014474f, 0.000312f, 0.010697f, -0.045706f, 0.009924f, 0.017313f, -0.031446f, 0.012227f, -0.015808f, -0.024519f, -0.020844f, 0.009875f, -0.004772f, -0.034477f, 0.018546f, 0.008544f, -0.019677f, -0.034925f, 0.007400f, 0.002861f, -0.010107f, -0.003620f, -0.016850f, 0.015147f, 0.014018f, 0.022546f, -0.018519f, 0.001829f, -0.024775f, -0.010873f, 0.004851f, -0.017525f, 0.007204f, -0.003411f, -0.012220f, -0.020534f, -0.020162f, 0.028646f, -0.019882f, -0.011190f, -0.007215f, -0.000380f, 0.014280f, 0.006495f, 0.010520f, -0.001703f, 0.012228f, -0.005884f, 0.002283f, -0.007034f, -0.012122f, 0.000320f, 0.027142f, 0.001851f, 0.000966f, -0.002602f, -0.016925f, 0.008460f, 0.018289f, 0.015625f, -0.026039f, -0.012934f, -0.027466f, 0.008239f, -0.005366f, 0.011254f, -0.007918f, 0.005640f, 0.008201f, -0.008413f, -0.015945f, 0.023481f, -0.006610f, -0.009626f, 0.025999f, -0.004895f, -0.006807f, 0.030988f, -0.018201f, 0.005056f, 0.006831f, 0.002951f, -0.027429f, 0.000670f, -0.004531f, -0.015536f, 0.008592f, -0.012080f, 0.016432f, -0.002421f, - 0.018358f, -0.020195f, 0.012285f, -0.036205f, -0.000230f, -0.019486f, 0.021761f, -0.002862f, 0.002417f, -0.003265f, -0.021068f, -0.000886f, 0.017137f, 0.047554f, 0.002807f, 0.003558f, 0.009315f, 0.016659f, -0.003390f, -0.003905f, 0.000798f, -0.000180f, 0.040620f, -0.003109f, 0.005685f, 0.017226f, -0.016770f, -0.026851f, -0.000591f, -0.028399f, -0.004244f, -0.014234f, -0.011375f, -0.005117f, -0.012932f, 0.007654f, 0.009595f, -0.016141f, 0.020769f, 0.018611f, -0.003081f, -0.003444f, -0.017888f, 0.013329f, 0.004146f, 0.044256f, 0.048210f, 0.000359f, -0.014792f, -0.011865f, 0.040392f, -0.026530f, -0.030252f, 0.031509f, -0.028569f, 0.018427f, 0.005621f, 0.025515f, 0.023514f, 0.015908f, 0.002584f, -0.016001f, -0.013823f, 0.033133f, -0.013996f, -0.001348f, 0.008121f, 0.028260f, 0.040839f, -0.001144f, 0.027926f, -0.022702f, -0.023750f, 0.002818f, -0.008721f, 0.013302f, 0.008430f, -0.020183f, 0.002868f, 0.013112f, 0.033640f, 0.011641f, 0.013855f, 0.012837f, 0.015118f, 0.004113f, -0.001054f, 0.021560f, 0.003879f, 0.017326f, 0.027403f, 0.006026f, -0.011061f, -0.009150f, 0.024733f, 0.006850f, - 0.050578f, 0.012222f, 0.020049f, -0.020057f, -0.032135f, -0.002553f, -0.037541f, -0.023567f, -0.008392f, -0.012215f, 0.001644f, -0.001142f, 0.000540f, 0.001404f, -0.027979f, -0.022362f, -0.012091f, -0.022963f, 0.009075f, 0.010977f, -0.007069f, -0.000183f, -0.022228f, -0.001348f, 0.006548f, -0.003034f} -}; - diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h deleted file mode 100644 index af012e7fa6..0000000000 --- a/lib_rend/ivas_rom_binaural_crend_head.h +++ /dev/null @@ -1,187 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/* clang-format off */ - -/*------------------------------------------------------------------------- - * Binaural rendering related ROM tables - *------------------------------------------------------------------------*/ - -/* Binaural rendering data set based on HRIRs */ -/* Tables generated by the exe at "scripts/binauralRenderer_interface/generate_cren_ivas_tables*.* */ -/* Can be replaced by your own generated HRIR or BRIRI tables */ - - - -#ifndef _IVAS_ROM_BINAURAL_CREND_HEAD_ -#define _IVAS_ROM_BINAURAL_CREND_HEAD_ - -#include <stdint.h> -#include "cnst.h" -#include "ivas_cnst.h" - - -/********************** Sample Rate = 48000 **********************/ - -extern float CRendBin_Combined_HRIR_latency_s_48kHz; -extern int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[15]; -extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; -extern float CRendBin_Combined_HRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][240]; -extern float CRendBin_Combined_HRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][240]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; - -/********************** Sample Rate = 32000 **********************/ - -extern float CRendBin_Combined_HRIR_latency_s_32kHz; -extern int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[15]; -extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; -extern float CRendBin_Combined_HRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][160]; -extern float CRendBin_Combined_HRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][160]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; - -/********************** Sample Rate = 16000 **********************/ - -extern float CRendBin_Combined_HRIR_latency_s_16kHz; -extern int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][1]; -extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[15]; -extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; -extern float CRendBin_Combined_HRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][80]; -extern float CRendBin_Combined_HRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][80]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; - -/********************** Sample Rate = 48000 **********************/ - -extern float CRendBin_HOA3_HRIR_latency_s_48kHz; -extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[16][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[16][BINAURAL_CHANNELS][2]; -extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[16]; -extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA3_HRIR_coeff_re_48kHz[16][BINAURAL_CHANNELS][480]; -extern float CRendBin_HOA3_HRIR_coeff_im_48kHz[16][BINAURAL_CHANNELS][480]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; - -/********************** Sample Rate = 32000 **********************/ - -extern float CRendBin_HOA3_HRIR_latency_s_32kHz; -extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[16][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[16][BINAURAL_CHANNELS][2]; -extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[16]; -extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA3_HRIR_coeff_re_32kHz[16][BINAURAL_CHANNELS][320]; -extern float CRendBin_HOA3_HRIR_coeff_im_32kHz[16][BINAURAL_CHANNELS][320]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; - -/********************** Sample Rate = 16000 **********************/ - -extern float CRendBin_HOA3_HRIR_latency_s_16kHz; -extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[16][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[16][BINAURAL_CHANNELS][2]; -extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[16]; -extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; -extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][160]; -extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][160]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; -extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; - -/********************** Sample Rate = 48000 **********************/ - -extern float CRendBin_Combined_BRIR_latency_s_48kHz; -extern int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][22]; -extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz; -extern float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[15]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]; -extern float CRendBin_Combined_BRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][2955]; -extern float CRendBin_Combined_BRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][2955]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]; - -/********************** Sample Rate = 32000 **********************/ - -extern float CRendBin_Combined_BRIR_latency_s_32kHz; -extern int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][22]; -extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz; -extern float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[15]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]; -extern float CRendBin_Combined_BRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][2819]; -extern float CRendBin_Combined_BRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][2819]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2870]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2870]; - -/********************** Sample Rate = 16000 **********************/ - -extern float CRendBin_Combined_BRIR_latency_s_16kHz; -extern int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][23]; -extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz; -extern float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[15]; -extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]; -extern float CRendBin_Combined_BRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][1774]; -extern float CRendBin_Combined_BRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][1774]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2522]; -extern float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2522]; -#endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */ diff --git a/lib_rend/ivas_rom_rend.c b/lib_rend/ivas_rom_rend.c deleted file mode 100644 index cf0c7c69a9..0000000000 --- a/lib_rend/ivas_rom_rend.c +++ /dev/null @@ -1,709 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "options.h" -#include <stddef.h> -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "ivas_rom_rend.h" - -/* clang-format off */ - -/*----------------------------------------------------------------------------------* - * FASTCONV and PARAMETRIC binaural renderer ROM tables - *----------------------------------------------------------------------------------*/ - -const float dmxmtx[BINAURAL_CHANNELS][11] = -{ - { 1.0f, 0.0f, 0.70709997f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f }, - { 0.0f, 1.0f, 0.70709997f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f }, -}; - -/* -* 0 = 30,0 -* 1 = -30,0 -* 2 = 0,0 -* 3 = 135,0 -* 4 = -135,0 -* 5 = 110,0 -* 6 = -110,0 -* 7 = 90,0 -* 8 = -90,0 -* 9 = 30,35 -* 10 = -30,35 -* 11 = 110,35 -* 12 = -110,35 -* 13 = 135, 35 -* 14 = -135, 35 -*/ -const int16_t channelIndex_CICP6[5] = { 0, 1, 2, 5, 6 }; -const int16_t channelIndex_CICP12[7] = { 0, 1, 2, 5, 6, 3, 4 }; -const int16_t channelIndex_CICP14[7] = { 0, 1, 2, 5, 6, 9, 10 }; -const int16_t channelIndex_CICP16[9] = { 0, 1, 2, 5, 6, 9, 10, 11, 12 }; -const int16_t channelIndex_CICP19[11] = { 0, 1, 2, 3, 4, 7, 8, 9, 10, 13, 14 }; - -/*----------------------------------------------------------------------------------* - * TD ISm binaural renderer ROM tables - *----------------------------------------------------------------------------------*/ - - /* The maximum target times set to 100 msec. */ -const int16_t TDREND_SRC_REND_MaxTargetTimes[IVAS_NUM_SUPPORTED_FS] = -{ - 1600, 3200, 4800 /* Corresponds to 16kHz, 32kHz, 48kHz */ -}; - -/* The maximum lengths of the blocks internally in the effect. Corresponds to 6 msec. This means also that */ -/* if the length of the input block is just above 6 msec, the block will be divided into two 3 msec blocks. */ -const int16_t TDREND_SRC_REND_MaxBlockLengths[IVAS_NUM_SUPPORTED_FS] = -{ - 96, 192, 288 /* Corresponds to 16kHz, 32kHz, 48kHz */ -}; - -const int16_t TDREND_MaxITD[IVAS_NUM_SUPPORTED_FS] = -{ - 111, 222, 333 /* Corresponds to 16kHz, 32kHz, 48kHz */ -}; - -const float TDREND_MaxITD_Incr[IVAS_NUM_SUPPORTED_FS] = -{ - 0.0925f, 0.1850f, 0.2775f /* Corresponds to 16kHz, 32kHz, 48kHz, e.g. ( ( 2 * MaxITD ) / ( 0.05 * 48000 ) ) */ -}; - -const int16_t HRTF_MODEL_N_CPTS_VAR[HRTF_MODEL_N_SECTIONS] = -{ - 13, 12, 11 -}; - -const float SincTable[321] = -{ - 1.00000000f, 0.99957629f, 0.99830587f, 0.99619078f, 0.99323448f, 0.98944177f, 0.98481881f, 0.97937311f, - 0.97311350f, 0.96605012f, 0.95819441f, 0.94955907f, 0.94015803f, 0.93000645f, 0.91912066f, 0.90751815f, - 0.89521750f, 0.88223838f, 0.86860150f, 0.85432856f, 0.83944219f, 0.82396595f, 0.80792425f, 0.79134231f, - 0.77424608f, 0.75666226f, 0.73861817f, 0.72014174f, 0.70126144f, 0.68200624f, 0.66240553f, 0.64248906f, - 0.62228691f, 0.60182943f, 0.58114713f, 0.56027070f, 0.53923087f, 0.51805843f, 0.49678411f, 0.47543856f, - 0.45405225f, 0.43265547f, 0.41127824f, 0.38995024f, 0.36870081f, 0.34755883f, 0.32655271f, 0.30571035f, - 0.28505905f, 0.26462549f, 0.24443569f, 0.22451493f, 0.20488776f, 0.18557791f, 0.16660829f, 0.14800093f, - 0.12977695f, 0.11195656f, 0.09455895f, 0.07760236f, 0.06110400f, 0.04508003f, 0.02954554f, 0.01451456f, - 0.00000000f, -0.01398631f, -0.02743368f, -0.04033255f, -0.05267447f, -0.06445214f, -0.07565940f, -0.08629121f, - -0.09634367f, -0.10581400f, -0.11470052f, -0.12300268f, -0.13072098f, -0.13785702f, -0.14441345f, -0.15039394f, - -0.15580318f, -0.16064685f, -0.16493160f, -0.16866498f, -0.17185547f, -0.17451243f, -0.17664604f, -0.17826729f, - -0.17938796f, -0.18002054f, -0.18017822f, -0.17987486f, -0.17912493f, -0.17794347f, -0.17634608f, -0.17434883f, - -0.17196824f, -0.16922125f, -0.16612516f, -0.16269761f, -0.15895648f, -0.15491992f, -0.15060625f, -0.14603396f, - -0.14122162f, -0.13618787f, -0.13095139f, -0.12553081f, -0.11994473f, -0.11421163f, -0.10834984f, -0.10237755f, - -0.09631271f, -0.09017300f, -0.08397586f, -0.07773838f, -0.07147731f, -0.06520902f, -0.05894946f, -0.05271415f, - -0.04651815f, -0.04037601f, -0.03430179f, -0.02830902f, -0.02241063f, -0.01661904f, -0.01094605f, -0.00540284f, - -0.00000000f, 0.00525251f, 0.01034538f, 0.01526993f, 0.02001814f, 0.02458266f, 0.02895676f, 0.03313441f, - 0.03711021f, 0.04087943f, 0.04443799f, 0.04778246f, 0.05091003f, 0.05381856f, 0.05650650f, 0.05897292f, - 0.06121749f, 0.06324047f, 0.06504268f, 0.06662549f, 0.06799083f, 0.06914112f, 0.07007930f, 0.07080878f, - 0.07133343f, 0.07165755f, 0.07178588f, 0.07172352f, 0.07147595f, 0.07104902f, 0.07044886f, 0.06968193f, - 0.06875494f, 0.06767485f, 0.06644886f, 0.06508435f, 0.06358888f, 0.06197015f, 0.06023599f, 0.05839432f, - 0.05645314f, 0.05442051f, 0.05230450f, 0.05011320f, 0.04785466f, 0.04553692f, 0.04316793f, 0.04075558f, - 0.03830765f, 0.03583181f, 0.03333557f, 0.03082630f, 0.02831121f, 0.02579730f, 0.02329137f, 0.02080003f, - 0.01832963f, 0.01588629f, 0.01347589f, 0.01110403f, 0.00877607f, 0.00649705f, 0.00427175f, 0.00210467f, - 0.00000000f, -0.00203837f, -0.00400686f, -0.00590216f, -0.00772131f, -0.00946162f, -0.01112072f, -0.01269654f, - -0.01418731f, -0.01559156f, -0.01690810f, -0.01813605f, -0.01927478f, -0.02032396f, -0.02128352f, -0.02215366f, - -0.02293482f, -0.02362769f, -0.02423318f, -0.02475245f, -0.02518686f, -0.02553797f, -0.02580754f, -0.02599752f, - -0.02611000f, -0.02614728f, -0.02611175f, -0.02600597f, -0.02583262f, -0.02559449f, -0.02529446f, -0.02493550f, - -0.02452066f, -0.02405306f, -0.02353586f, -0.02297226f, -0.02236549f, -0.02171881f, -0.02103547f, -0.02031874f, - -0.01957185f, -0.01879802f, -0.01800043f, -0.01718225f, -0.01634655f, -0.01549638f, -0.01463471f, -0.01376443f, - -0.01288838f, -0.01200928f, -0.01112977f, -0.01025241f, -0.00937962f, -0.00851376f, -0.00765705f, -0.00681160f, - -0.00597942f, -0.00516238f, -0.00436225f, -0.00358068f, -0.00281917f, -0.00207914f, -0.00136185f, -0.00066846f, - -0.00000000f, 0.00064260f, 0.00125856f, 0.00184718f, 0.00240790f, 0.00294026f, 0.00344390f, 0.00391857f, - 0.00436413f, 0.00478051f, 0.00516776f, 0.00552600f, 0.00585544f, 0.00615637f, 0.00642915f, 0.00667420f, - 0.00689203f, 0.00708318f, 0.00724827f, 0.00738795f, 0.00750293f, 0.00759395f, 0.00766178f, 0.00770723f, - 0.00773114f, 0.00773435f, 0.00771774f, 0.00768218f, 0.00762857f, 0.00755779f, 0.00747075f, 0.00736831f, - 0.00725138f, 0.00712082f, 0.00697748f, 0.00682221f, 0.00665584f, 0.00647916f, 0.00629295f, 0.00609797f, - 0.00589494f, 0.00568458f, 0.00546754f, 0.00524448f, 0.00501600f, 0.00478270f, 0.00454511f, 0.00430377f, - 0.00405916f, 0.00381176f, 0.00356198f, 0.00331023f, 0.00305690f, 0.00280234f, 0.00254687f, 0.00229079f, - 0.00203440f, 0.00177795f, 0.00152168f, 0.00126584f, 0.00101062f, 0.00075625f, 0.00050289f, 0.00025075f, - 0.00000000f -}; - -const float orange53_left_avg_power[257] = { - 0.999231100f, 0.992580175f, 0.969233215f, 0.925614893f, 0.871408045f, 0.826101780f, 0.803222895f, 0.800087631f, 0.802672029f, - 0.801490188f, 0.796555817f, 0.790879488f, 0.784882724f, 0.777585745f, 0.769326210f, 0.761789441f, 0.756145239f, 0.752754092f, - 0.751703024f, 0.752594173f, 0.754317880f, 0.755515277f, 0.754378498f, 0.748860359f, 0.738919020f, 0.727488697f, 0.718792558f, - 0.714865267f, 0.713446736f, 0.711076498f, 0.706021905f, 0.697553098f, 0.684623063f, 0.667031527f, 0.647006035f, 0.627680719f, - 0.609939933f, 0.592472672f, 0.574803054f, 0.558499217f, 0.544599831f, 0.532128096f, 0.520152628f, 0.509682238f, 0.501904130f, - 0.496162385f, 0.491121918f, 0.486813396f, 0.483951330f, 0.482198298f, 0.480713189f, 0.479654074f, 0.479590476f, 0.479965866f, - 0.479589254f, 0.478181243f, 0.476334095f, 0.474199444f, 0.471616089f, 0.469089746f, 0.467486322f, 0.466943622f, 0.467153549f, - 0.468381166f, 0.470996737f, 0.474416614f, 0.477639019f, 0.480612457f, 0.483910263f, 0.487287015f, 0.489909321f, 0.491668850f, - 0.493155539f, 0.494319856f, 0.494512051f, 0.493615031f, 0.492155492f, 0.490116775f, 0.486886710f, 0.482303619f, 0.476902038f, - 0.470775038f, 0.463377595f, 0.454571068f, 0.445130944f, 0.435581058f, 0.425568998f, 0.414717495f, 0.403531373f, 0.392556936f, - 0.381436378f, 0.369506508f, 0.357099295f, 0.345049500f, 0.333368897f, 0.321326375f, 0.308959186f, 0.297232091f, 0.286592871f, - 0.276453108f, 0.266589880f, 0.257950366f, 0.251341701f, 0.246435612f, 0.242861211f, 0.241405189f, 0.242839754f, 0.246688128f, - 0.252115428f, 0.259297341f, 0.268399984f, 0.278481483f, 0.288520366f, 0.298599035f, 0.308846802f, 0.318350822f, 0.326248646f, - 0.332813978f, 0.338464528f, 0.342543274f, 0.344278336f, 0.344031811f, 0.342641503f, 0.339995682f, 0.335437506f, 0.329174429f, - 0.322237372f, 0.315035462f, 0.306967229f, 0.297821850f, 0.288482070f, 0.279766560f, 0.271234214f, 0.262228251f, 0.253214896f, - 0.245183259f, 0.237939596f, 0.230546176f, 0.223051578f, 0.216552779f, 0.211263061f, 0.206180066f, 0.200917527f, 0.196485907f, - 0.193453044f, 0.190857053f, 0.187853232f, 0.185171053f, 0.183685005f, 0.182665780f, 0.180928215f, 0.178784713f, 0.177342966f, - 0.176323384f, 0.174430951f, 0.171496049f, 0.168740034f, 0.166518897f, 0.163711995f, 0.159658119f, 0.155442193f, 0.152056932f, - 0.148795277f, 0.144545168f, 0.139905334f, 0.136263832f, 0.133493021f, 0.130194828f, 0.126240104f, 0.123071767f, 0.121281922f, - 0.119557180f, 0.117016964f, 0.114773229f, 0.114072219f, 0.114103459f, 0.113414355f, 0.112460621f, 0.112842396f, 0.114564091f, - 0.115944758f, 0.116569765f, 0.117913686f, 0.120910525f, 0.124211200f, 0.126575813f, 0.128826424f, 0.132578567f, 0.137430578f, - 0.141675219f, 0.144987956f, 0.148879051f, 0.154273912f, 0.159992099f, 0.164641231f, 0.168560207f, 0.173201621f, 0.178906262f, - 0.184429348f, 0.188756809f, 0.192309171f, 0.196154252f, 0.200732291f, 0.205381230f, 0.209404662f, 0.212832779f, 0.216197237f, - 0.220162451f, 0.225029215f, 0.230637416f, 0.236752108f, 0.243243530f, 0.249900997f, 0.256293535f, 0.261716694f, 0.265186161f, - 0.265652657f, 0.262010813f, 0.253508776f, 0.243198514f, 0.244490802f, 0.255167097f, 0.258825988f, 0.257396817f, 0.256197631f, - 0.256865948f, 0.258354962f, 0.259370565f, 0.259730458f, 0.259894609f, 0.260285556f, 0.260970831f, 0.261650831f, 0.262020200f, - 0.262095064f, 0.262225062f, 0.262741268f, 0.263585031f, 0.264350951f, 0.264654577f, 0.264539272f, 0.264409125f, 0.264633715f, - 0.265172601f, 0.265621960f, 0.265678704f, 0.265469313f, 0.265454412f, 0.265907466f, 0.266625792f, 0.267101586f, 0.266997635f, - 0.266522497f, 0.266185820f, 0.266298562f, 0.266692907f, 0.266907692f -}; - -const float orange53_right_avg_power[257] = { - 0.999231100f, 0.992580175f, 0.969233215f, 0.925614893f, 0.871408045f, 0.826101780f, 0.803222895f, 0.800087631f, 0.802672029f, - 0.801490188f, 0.796555817f, 0.790879488f, 0.784882724f, 0.777585745f, 0.769326210f, 0.761789441f, 0.756145239f, 0.752754092f, - 0.751703024f, 0.752594173f, 0.754317880f, 0.755515277f, 0.754378498f, 0.748860359f, 0.738919020f, 0.727488697f, 0.718792558f, - 0.714865267f, 0.713446736f, 0.711076498f, 0.706021905f, 0.697553098f, 0.684623063f, 0.667031527f, 0.647006035f, 0.627680719f, - 0.609939933f, 0.592472672f, 0.574803054f, 0.558499217f, 0.544599831f, 0.532128096f, 0.520152628f, 0.509682238f, 0.501904130f, - 0.496162385f, 0.491121918f, 0.486813396f, 0.483951330f, 0.482198298f, 0.480713189f, 0.479654074f, 0.479590476f, 0.479965866f, - 0.479589254f, 0.478181243f, 0.476334095f, 0.474199444f, 0.471616089f, 0.469089746f, 0.467486322f, 0.466943622f, 0.467153549f, - 0.468381166f, 0.470996737f, 0.474416614f, 0.477639019f, 0.480612457f, 0.483910263f, 0.487287015f, 0.489909321f, 0.491668850f, - 0.493155539f, 0.494319856f, 0.494512051f, 0.493615031f, 0.492155492f, 0.490116775f, 0.486886710f, 0.482303619f, 0.476902038f, - 0.470775038f, 0.463377595f, 0.454571068f, 0.445130944f, 0.435581058f, 0.425568998f, 0.414717495f, 0.403531373f, 0.392556936f, - 0.381436378f, 0.369506508f, 0.357099295f, 0.345049500f, 0.333368897f, 0.321326375f, 0.308959186f, 0.297232091f, 0.286592871f, - 0.276453108f, 0.266589880f, 0.257950366f, 0.251341701f, 0.246435612f, 0.242861211f, 0.241405189f, 0.242839754f, 0.246688128f, - 0.252115428f, 0.259297341f, 0.268399984f, 0.278481483f, 0.288520366f, 0.298599035f, 0.308846802f, 0.318350822f, 0.326248646f, - 0.332813978f, 0.338464528f, 0.342543274f, 0.344278336f, 0.344031811f, 0.342641503f, 0.339995682f, 0.335437506f, 0.329174429f, - 0.322237372f, 0.315035462f, 0.306967229f, 0.297821850f, 0.288482070f, 0.279766560f, 0.271234214f, 0.262228251f, 0.253214896f, - 0.245183259f, 0.237939596f, 0.230546176f, 0.223051578f, 0.216552779f, 0.211263061f, 0.206180066f, 0.200917527f, 0.196485907f, - 0.193453044f, 0.190857053f, 0.187853232f, 0.185171053f, 0.183685005f, 0.182665780f, 0.180928215f, 0.178784713f, 0.177342966f, - 0.176323384f, 0.174430951f, 0.171496049f, 0.168740034f, 0.166518897f, 0.163711995f, 0.159658119f, 0.155442193f, 0.152056932f, - 0.148795277f, 0.144545168f, 0.139905334f, 0.136263832f, 0.133493021f, 0.130194828f, 0.126240104f, 0.123071767f, 0.121281922f, - 0.119557180f, 0.117016964f, 0.114773229f, 0.114072219f, 0.114103459f, 0.113414355f, 0.112460621f, 0.112842396f, 0.114564091f, - 0.115944758f, 0.116569765f, 0.117913686f, 0.120910525f, 0.124211200f, 0.126575813f, 0.128826424f, 0.132578567f, 0.137430578f, - 0.141675219f, 0.144987956f, 0.148879051f, 0.154273912f, 0.159992099f, 0.164641231f, 0.168560207f, 0.173201621f, 0.178906262f, - 0.184429348f, 0.188756809f, 0.192309171f, 0.196154252f, 0.200732291f, 0.205381230f, 0.209404662f, 0.212832779f, 0.216197237f, - 0.220162451f, 0.225029215f, 0.230637416f, 0.236752108f, 0.243243530f, 0.249900997f, 0.256293535f, 0.261716694f, 0.265186161f, - 0.265652657f, 0.262010813f, 0.253508776f, 0.243198514f, 0.244490802f, 0.255167097f, 0.258825988f, 0.257396817f, 0.256197631f, - 0.256865948f, 0.258354962f, 0.259370565f, 0.259730458f, 0.259894609f, 0.260285556f, 0.260970831f, 0.261650831f, 0.262020200f, - 0.262095064f, 0.262225062f, 0.262741268f, 0.263585031f, 0.264350951f, 0.264654577f, 0.264539272f, 0.264409125f, 0.264633715f, - 0.265172601f, 0.265621960f, 0.265678704f, 0.265469313f, 0.265454412f, 0.265907466f, 0.266625792f, 0.267101586f, 0.266997635f, - 0.266522497f, 0.266185820f, 0.266298562f, 0.266692907f, 0.266907692f -}; - -const float orange53_coherence[257] = { - 0.929530263f, 0.921171963f, 0.900268972f, 0.876067519f, 0.855227590f, 0.837884128f, 0.823401272f, 0.818804145f, 0.835025251f, - 0.871971071f, 0.911253273f, 0.929330528f, 0.921199203f, 0.900894165f, 0.882577479f, 0.867001534f, 0.849280477f, 0.832460761f, - 0.824062645f, 0.823441386f, 0.820908070f, 0.811902404f, 0.802339375f, 0.798648477f, 0.797345281f, 0.791158736f, 0.779512227f, - 0.768243194f, 0.760565042f, 0.754912853f, 0.751044095f, 0.752276063f, 0.759258866f, 0.766927004f, 0.769716740f, 0.767338514f, - 0.763358235f, 0.759508014f, 0.755201221f, 0.750362694f, 0.746060252f, 0.742611766f, 0.739434779f, 0.736354828f, 0.733443379f, - 0.730109870f, 0.726028502f, 0.722365141f, 0.720153689f, 0.718220115f, 0.714793265f, 0.710619092f, 0.708084404f, 0.707218647f, - 0.705624878f, 0.702472746f, 0.700073540f, 0.699947894f, 0.700519860f, 0.699934483f, 0.699344158f, 0.700895131f, 0.704551995f, - 0.708814025f, 0.713567019f, 0.719995975f, 0.728467822f, 0.738399088f, 0.749545693f, 0.761859894f, 0.774593413f, 0.787218869f, - 0.800481200f, 0.814727187f, 0.828367889f, 0.839860320f, 0.850490928f, 0.862034321f, 0.873037636f, 0.880097568f, 0.883217216f, - 0.885473788f, 0.887664974f, 0.886511028f, 0.880120754f, 0.871120989f, 0.862524390f, 0.853262126f, 0.840783834f, 0.825854301f, - 0.811407208f, 0.798167706f, 0.784307659f, 0.769172490f, 0.754072189f, 0.739893615f, 0.726129174f, 0.712544501f, 0.699519753f, - 0.686980069f, 0.674778104f, 0.663931608f, 0.655511260f, 0.648816824f, 0.642671287f, 0.638217211f, 0.637585819f, 0.640332758f, - 0.643755615f, 0.647433281f, 0.653589368f, 0.662824631f, 0.672268033f, 0.680022597f, 0.687623680f, 0.696763635f, 0.705829978f, - 0.712574661f, 0.717432320f, 0.721986175f, 0.725707173f, 0.727064371f, 0.726255059f, 0.724350274f, 0.720927835f, 0.715189219f, - 0.708206475f, 0.701428175f, 0.693923056f, 0.684313059f, 0.674107075f, 0.666009307f, 0.659245491f, 0.650998116f, 0.641600072f, - 0.634524226f, 0.630267978f, 0.625348687f, 0.618164837f, 0.611785769f, 0.608430445f, 0.605561733f, 0.600407422f, 0.594782710f, - 0.591767371f, 0.590365708f, 0.587845862f, 0.584915996f, 0.584355533f, 0.585834682f, 0.586913347f, 0.587935925f, 0.591403484f, - 0.596784472f, 0.601111054f, 0.604539037f, 0.610374093f, 0.618451059f, 0.624519289f, 0.627448440f, 0.631859899f, 0.639748096f, - 0.646256745f, 0.647378445f, 0.647664309f, 0.652599990f, 0.659044445f, 0.659743190f, 0.656243205f, 0.656651020f, 0.662200928f, - 0.664544880f, 0.660030127f, 0.656303048f, 0.659881413f, 0.664978266f, 0.662953973f, 0.657274961f, 0.658065319f, 0.665406108f, - 0.668446958f, 0.663809955f, 0.661349833f, 0.668595374f, 0.677367866f, 0.677208483f, 0.672289610f, 0.675831020f, 0.688208520f, - 0.695776582f, 0.691749871f, 0.687812865f, 0.696674168f, 0.711764693f, 0.716045380f, 0.706839681f, 0.701565385f, 0.711955190f, - 0.726487696f, 0.723370016f, 0.700417101f, 0.677427649f, 0.670733511f, 0.671355724f, 0.654210806f, 0.608316183f, 0.549225986f, - 0.504217446f, 0.484227657f, 0.475346446f, 0.452598959f, 0.399407327f, 0.319485664f, 0.229244962f, 0.146649837f, 0.083417825f, - 0.041744832f, 0.018142883f, 0.006854009f, 0.002511850f, 0.001177550f, 0.000840970f, 0.000701097f, 0.000571384f, 0.000458581f, - 0.000376965f, 0.000320562f, 0.000278847f, 0.000245546f, 0.000218281f, 0.000195632f, 0.000176647f, 0.000160827f, 0.000147978f, - 0.000137649f, 0.000129066f, 0.000121431f, 0.000114406f, 0.000108067f, 0.000102595f, 0.000097917f, 0.000093750f, 0.000089854f, - 0.000086255f, 0.000083183f, 0.000080804f, 0.000079026f, 0.000077552f, 0.000076117f, 0.000074693f, 0.000073431f, 0.000072456f, - 0.000071701f, 0.000071002f, 0.000070286f, 0.000069692f, 0.000069457f -}; - -/*----------------------------------------------------------------------------------* - * t-design and SN3D normalization table - *----------------------------------------------------------------------------------*/ - - /* SN3D norm */ -const float norm_sn3d_hoa3[16] = -{ - 1.f, 1.7320508f, 1.7320508f, 1.7320508f, 2.2360680f, 2.2360680f, 2.2360680f, 2.2360680f, - 2.2360680f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f -}; - -/* Order 11 t-design */ -const uint16_t t_design_11_size = 70; - -const float t_design_11_azimuth[70] = -{ - 1.329273e+02f, -8.393495e+01f, 8.474100e+00f, -1.133408e+02f, -1.032659e+02f, -3.323704e+01f, 2.185643e+01f, -1.565395e+02f, - -6.426475e+01f, 1.657795e+02f, -2.520283e+01f, -9.700380e+01f, 2.785464e+01f, 1.532142e+02f, -1.550616e+02f, -1.184214e+01f, - 8.053873e+01f, -4.205616e+01f, -3.122333e+01f, 3.883790e+01f, 9.376069e+01f, -8.475602e+01f, 7.755368e+00f, -1.222769e+02f, - 4.680127e+01f, -2.476863e+01f, 9.989047e+01f, -1.347840e+02f, -8.308802e+01f, 6.012817e+01f, 1.526447e+02f, 2.975767e+01f, - 4.077932e+01f, 1.101839e+02f, 1.656521e+02f, -1.299266e+01f, 7.973599e+01f, -5.052453e+01f, 1.189239e+02f, 4.722029e+01f, - 1.719253e+02f, -6.251458e+01f, -1.111567e+01f, 1.320180e+02f, -1.353555e+02f, 1.023709e+02f, 1.127393e+02f, -1.783050e+02f, - -1.223199e+02f, 5.907635e+01f, 1.517042e+02f, 2.137634e+01f, -1.690055e+02f, 1.189808e+02f, -1.160893e+02f, 9.647679e+00f, - 6.089332e+01f, -1.560215e+02f, -6.346030e+01f, 1.749298e+02f, -1.752888e+02f, -1.059519e+02f, -5.019283e+01f, 1.313583e+02f, - -1.362968e+02f, 9.356446e+01f, -9.708401e+01f, -1.691583e+02f, -4.413238e+01f, 8.147954e+01f -}; - -const float t_design_11_elevation[70] = -{ - 7.692547e+00f, -2.373007e+01f, 2.351276e+01f, 7.042259e+01f, -9.896944e+00f, -7.075133e+01f, -2.646185e+01f, 4.777649e+01f, - -7.720470e+00f, 4.453436e+01f, 2.638979e+01f, -4.465789e+01f, 9.767035e+00f, -4.770533e+01f, 7.453029e+00f, -2.359012e+01f, - 2.371945e+01f, 7.043827e+01f, -9.835416e+00f, -7.049808e+01f, -2.629492e+01f, 4.761480e+01f, -7.517185e+00f, 4.428623e+01f, - 2.664426e+01f, -4.456937e+01f, 9.912719e+00f, -4.795996e+01f, 7.296799e+00f, -2.334460e+01f, 2.364153e+01f, 7.068431e+01f, - -9.581404e+00f, -7.039345e+01f, -2.642582e+01f, 4.775107e+01f, -7.308536e+00f, 4.426328e+01f, 2.671406e+01f, -4.431497e+01f, - 9.758997e+00f, -4.803619e+01f, 7.439651e+00f, -2.333261e+01f, 2.338690e+01f, 7.082191e+01f, -9.485964e+00f, -7.058019e+01f, - -2.667403e+01f, 4.799784e+01f, -7.382762e+00f, 4.449706e+01f, 2.650250e+01f, -4.424619e+01f, 9.518451e+00f, -4.782814e+01f, - 7.684274e+00f, -2.357068e+01f, 2.330745e+01f, 7.065865e+01f, -9.680889e+00f, -7.080268e+01f, -2.669635e+01f, 4.801363e+01f, - -7.637348e+00f, 4.466512e+01f, 2.630235e+01f, -4.445764e+01f, 9.523415e+00f, -4.762422e+01f -}; - - -/*----------------------------------------------------------------------* -* Reverberator ROM tables -*-----------------------------------------------------------------------*/ - -const float ivas_reverb_default_fc[IVAS_REVERB_DEFAULT_N_BANDS] = -{ - 20.0f, 25.0f, 31.5f, 40.0f, - 50.0f, 63.0f, 80.0f, 100.0f, - 125.0f, 160.0f, 200.0f, 250.0f, - 315.0f, 400.0f, 500.0f, 630.0f, - 800.0f, 1000.0f, 1250.0f, 1600.0f, - 2000.0f, 2500.0f, 3150.0f, 4000.0f, - 5000.0f, 6300.0f, 8000.0f, 10000.0f, - 12500.0f, 16000.0f, 20000.0f -}; - -const float ivas_reverb_default_RT60[IVAS_REVERB_DEFAULT_N_BANDS] = -{ - 1.3622f, 1.4486f, 1.3168f, 1.5787f, - 1.4766f, 1.3954f, 1.2889f, 1.3462f, - 1.0759f, 1.0401f, 1.097f, 1.085f, - 1.091f, 1.0404f, 1.0499f, 1.0699f, - 1.1028f, 1.1714f, 1.1027f, 1.0666f, - 1.055f, 1.0553f, 1.0521f, 1.0569f, - 1.0421f, 0.97822f, 0.80487f, 0.75944f, - 0.71945f, 0.61682f, 0.60031f -}; - -const float ivas_reverb_default_DSR[IVAS_REVERB_DEFAULT_N_BANDS] = -{ - 1.8811e-08f, 2.1428e-08f, 1.3972e-08f, 1.51e-08f, - 1.287e-08f, 1.8747e-08f, 2.413e-08f, 3.9927e-08f, - 8.9719e-08f, 1.902e-07f, 3.702e-07f, 6.1341e-07f, - 7.1432e-07f, 6.5331e-07f, 4.6094e-07f, 5.4683e-07f, - 7.0134e-07f, 6.856e-07f, 7.114e-07f, 6.9604e-07f, - 5.2939e-07f, 5.699e-07f, 6.1773e-07f, 5.7488e-07f, - 4.7748e-07f, 2.7213e-07f, 1.3681e-07f, 1.0941e-07f, - 6.2001e-08f, 2.8483e-08f, 2.6267e-08f -}; - -/*----------------------------------------------------------------------------------* - * Renderer SBA & MC enc/dec matrices - *----------------------------------------------------------------------------------*/ - -/* CICP1 - Mono */ -const float ls_azimuth_CICP1[1] = { 0.0f }; -const float ls_elevation_CICP1[1] = { 0.0f }; -const uint32_t ls_LFE_last_idx_CICP1[1] = { 0 }; - -/* CICP2 - Stereo */ -const uint32_t ls_LFE_last_idx_CICP2[2] = { 0, 1 }; - -/* CICP6 - 5.1 */ -const uint32_t ls_LFE_last_idx_CICP6[6] = { 0, 1, 2, 4, 5, 3 }; - -/* CICP12 - 7.1 */ -const uint32_t ls_LFE_last_idx_CICP12[8] = { 0, 1, 2, 4, 5, 6, 7, 3 }; - -/* CICP14 - 5.1.2 */ -const uint32_t ls_LFE_last_idx_CICP14[8] = { 0, 1, 2, 4, 5, 6, 7, 3 }; - -/* CICP16 - 5.1.4 */ -const uint32_t ls_LFE_last_idx_CICP16[10] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 3 }; - -/* CICP19 - 7.1.4 */ -const uint32_t ls_LFE_last_idx_CICP19[12] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 3 }; - -/*----------------------------------------------------------------------------------* - * LS Renderer ROM tables - *----------------------------------------------------------------------------------*/ - - /* All matrices are stored with dimensions nchan_in x nchan_out */ - /* Downmix matrices */ -const float ls_conversion_cicpX_mono[12][1] = -{ - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, -}; - -const float ls_conversion_cicpX_stereo[12][2] = -{ - {1.00000000f, 0.00000000f}, - {0.00000000f, 1.00000000f}, - {0.70710677f, 0.70710677f}, - {0.70710677f, 0.70710677f}, - {0.79999995f, 0.00000000f}, - {0.00000000f, 0.79999995f}, - {0.79999995f, 0.00000000f}, - {0.00000000f, 0.79999995f}, - {0.849999964f, 0.000000000f}, - {0.000000000f, 0.849999964f}, - {0.849999964f, 0.000000000f}, - {0.000000000f, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 6.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {7, 1.000000000f}, - {14, 1.000000000f}, - {21, 1.000000000f}, - {28, 1.000000000f}, - {35, 1.000000000f}, - {40, 1.000000000f}, - {47, 1.000000000f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 6.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {7, 1.000000000f}, - {14, 1.000000000f}, - {21, 1.000000000f}, - {28, 1.000000000f}, - {35, 1.000000000f}, - {36, 0.849999964f}, - {43, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 8.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {9, 1.000000000f}, - {18, 1.000000000f}, - {27, 1.000000000f}, - {36, 1.000000000f}, - {45, 1.000000000f}, - {48, 0.849999964f}, - {57, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {10, 6.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {7, 1.000000000f}, - {14, 1.000000000f}, - {21, 1.000000000f}, - {28, 1.000000000f}, - {35, 1.000000000f}, - {36, 0.849999964f}, - {43, 0.849999964f}, - {52, 0.849999964f}, - {59, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp12[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {10, 8.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {9, 1.000000000f}, - {18, 1.000000000f}, - {27, 1.000000000f}, - {36, 1.000000000f}, - {45, 1.000000000f}, - {48, 0.849999964f}, - {57, 0.849999964f}, - {68, 0.849999964f}, - {77, 0.849999964f} - -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {10, 8.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {9, 1.000000000f}, - {18, 1.000000000f}, - {27, 1.000000000f}, - {36, 1.000000000f}, - {45, 1.000000000f}, - {54, 1.000000000f}, - {63, 1.000000000f}, - {68, 0.849999964f}, - {77, 0.849999964f}, -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {14, 6.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {7, 1.000000000f}, - {14, 1.000000000f}, - {21, 1.000000000f}, - {28, 1.000000000f}, - {35, 1.000000000f}, - {36, 0.367322683f}, - {40, 0.930093586f}, - {43, 0.367322683f}, - {47, 0.930093586f}, - {48, 0.849999964f}, - {55, 0.849999964f}, - {64, 0.849999964f}, - {71, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {14, 8.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {9, 1.000000000f}, - {18, 1.000000000f}, - {27, 1.000000000f}, - {38, 1.000000000f}, - {47, 1.000000000f}, - {48, 0.367322683f}, - {52, 0.930093586f}, - {57, 0.367322683f}, - {61, 0.930093586f}, - {64, 0.849999964f}, - {73, 0.849999964f}, - {84, 0.849999964f}, - {93, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {14, 8.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {9, 1.000000000f}, - {18, 1.000000000f}, - {27, 1.000000000f}, - {36, 1.000000000f}, - {45, 1.000000000f}, - {48, 0.367322683f}, - {52, 0.930093586f}, - {57, 0.367322683f}, - {61, 0.930093586f}, - {70, 1.000000000f}, - {79, 1.000000000f}, - {84, 0.849999964f}, - {93, 0.849999964f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {14, 10.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.000000000f}, - {11, 1.000000000f}, - {22, 1.000000000f}, - {33, 1.000000000f}, - {44, 1.000000000f}, - {55, 1.000000000f}, - {60, 0.367322683f}, - {64, 0.930093586f}, - {71, 0.367322683f}, - {75, 0.930093586f}, - {86, 1.000000000f}, - {97, 1.000000000f}, - {108, 1.000000000f}, - {119, 1.000000000f} -}; - -/* Upmix matrices */ -const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 8.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.0f}, - {9, 1.0f}, - {18, 1.0f}, - {27, 1.0f}, - {36, 1.0f}, - {45, 1.0f}, - {52, 1.0f}, - {61, 1.0f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 10.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.0f}, - {11, 1.0f}, - {22, 1.0f}, - {33, 1.0f}, - {44, 1.0f}, - {55, 1.0f}, - {64, 1.0f}, - {75, 1.0f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 12.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.0f}, - {13, 1.0f}, - {26, 1.0f}, - {39, 1.0f}, - {54, 1.0f}, - {67, 1.0f}, - {76, 1.0f}, - {89, 1.0f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {8, 12.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.0f}, - {13, 1.0f}, - {26, 1.0f}, - {39, 1.0f}, - {52, 1.0f}, - {65, 1.0f}, - {80, 1.0f}, - {93, 1.0f} -}; - -const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[] = -{ - /* First row indicates the number of non-zero elements and the number of matrix columns */ - {10, 12.0f}, - /* Index of non-zero element, value of non-zero element*/ - {0, 1.0f}, - {13, 1.0f}, - {26, 1.0f}, - {39, 1.0f}, - {52, 1.0f}, - {65, 1.0f}, - {80, 1.0f}, - {93, 1.0f}, - {106, 1.0f}, - {119, 1.0f} -}; - -/* - * Mapping table of input config : output config with corresponding matrix - * NULL indicates a 1:1 mapping of existing input channels to output channels ( used for upmix ) - */ - -const LS_CONVERSION_MAPPING ls_conversion_mapping[LS_SETUP_CONVERSION_NUM_MAPPINGS] = -{ - /* Dowmix mappings - NULL is a special case for MONO / STEREO downmix */ - {AUDIO_CONFIG_5_1, AUDIO_CONFIG_MONO, NULL}, - {AUDIO_CONFIG_7_1, AUDIO_CONFIG_MONO, NULL}, - {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_MONO, NULL}, - {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_MONO, NULL}, - {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_MONO, NULL}, - - {AUDIO_CONFIG_5_1, AUDIO_CONFIG_STEREO, NULL}, - {AUDIO_CONFIG_7_1, AUDIO_CONFIG_STEREO, NULL}, - {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_STEREO, NULL}, - {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_STEREO, NULL}, - {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_STEREO, NULL}, - - {AUDIO_CONFIG_7_1, AUDIO_CONFIG_5_1, ls_conversion_cicp12_cicp6}, - - {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_5_1, ls_conversion_cicp14_cicp6}, - {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_7_1, ls_conversion_cicp14_cicp12}, - - {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_5_1, ls_conversion_cicp16_cicp6}, - {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_7_1, ls_conversion_cicp16_cicp12}, - {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_5_1_2, ls_conversion_cicp16_cicp14}, - - {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_5_1, ls_conversion_cicp19_cicp6}, - {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_7_1, ls_conversion_cicp19_cicp12}, - {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_5_1_2, ls_conversion_cicp19_cicp14}, - {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_5_1_4, ls_conversion_cicp19_cicp16}, - - /* Upmix mappings - NULL implies a 1:1 upmix */ - {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_5_1, NULL}, - {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_7_1, NULL}, - {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_5_1_2, NULL}, - {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_5_1_4, NULL}, - {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_7_1_4, NULL}, - - {AUDIO_CONFIG_5_1, AUDIO_CONFIG_7_1, NULL}, - {AUDIO_CONFIG_5_1, AUDIO_CONFIG_5_1_2, NULL}, - {AUDIO_CONFIG_5_1, AUDIO_CONFIG_5_1_4, NULL}, - {AUDIO_CONFIG_5_1, AUDIO_CONFIG_7_1_4, NULL}, - - {AUDIO_CONFIG_7_1, AUDIO_CONFIG_5_1_2, ls_conversion_cicp12_cicp14}, - {AUDIO_CONFIG_7_1, AUDIO_CONFIG_5_1_4, ls_conversion_cicp12_cicp16}, - {AUDIO_CONFIG_7_1, AUDIO_CONFIG_7_1_4, ls_conversion_cicp12_cicp19}, - - {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_5_1_4, NULL}, - {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_7_1_4, ls_conversion_cicp14_cicp19}, - - {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_7_1_4, ls_conversion_cicp16_cicp19}, -}; - -/* clang-format on */ diff --git a/lib_rend/ivas_rom_rend.h b/lib_rend/ivas_rom_rend.h deleted file mode 100644 index aaf7fa7113..0000000000 --- a/lib_rend/ivas_rom_rend.h +++ /dev/null @@ -1,141 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_ROM_REND_H -#define IVAS_ROM_REND_H - -#include "options.h" -#include <stdint.h> -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "ivas_cnst.h" -#include "ivas_stat_rend.h" - -/*----------------------------------------------------------------------------------* - * FASTCONV and PARAMETRIC binaural renderer ROM tables - *----------------------------------------------------------------------------------*/ - -extern const float dmxmtx[BINAURAL_CHANNELS][11]; - -extern const int16_t channelIndex_CICP6[5]; -extern const int16_t channelIndex_CICP12[7]; -extern const int16_t channelIndex_CICP14[7]; -extern const int16_t channelIndex_CICP16[9]; -extern const int16_t channelIndex_CICP19[11]; - -/*----------------------------------------------------------------------------------* - * TD ISM Object renderer - *----------------------------------------------------------------------------------*/ - -extern const int16_t TDREND_SRC_REND_MaxTargetTimes[IVAS_NUM_SUPPORTED_FS]; -extern const int16_t TDREND_SRC_REND_MaxBlockLengths[IVAS_NUM_SUPPORTED_FS]; -extern const int16_t TDREND_MaxITD[IVAS_NUM_SUPPORTED_FS]; -extern const float TDREND_MaxITD_Incr[IVAS_NUM_SUPPORTED_FS]; - -extern const int16_t HRTF_MODEL_N_CPTS_VAR[HRTF_MODEL_N_SECTIONS]; - -extern const float SincTable[321]; - -extern const float orange53_left_avg_power[257]; -extern const float orange53_right_avg_power[257]; -extern const float orange53_coherence[257]; - - -/*----------------------------------------------------------------------------------* - * t-design and SN3D normalization table - *----------------------------------------------------------------------------------*/ - -/* SN3D norm */ -extern const float norm_sn3d_hoa3[16]; - -/* Order 11 t-design */ -extern const uint16_t t_design_11_size; -extern const float t_design_11_azimuth[70]; -extern const float t_design_11_elevation[70]; - - -/*----------------------------------------------------------------------* - * Reverberator ROM tables - *-----------------------------------------------------------------------*/ - -extern const float ivas_reverb_default_fc[]; -extern const float ivas_reverb_default_RT60[]; -extern const float ivas_reverb_default_DSR[]; - -/*----------------------------------------------------------------------------------* - * Renderer SBA & MC enc/dec matrices - *----------------------------------------------------------------------------------*/ - -extern const float hoa_dec_mtx_CICP1[16]; -extern const float ls_azimuth_CICP1[1]; -extern const float ls_elevation_CICP1[1]; -extern const uint32_t ls_LFE_last_idx_CICP1[1]; -extern const uint32_t ls_LFE_last_idx_CICP2[2]; -extern const uint32_t ls_LFE_last_idx_CICP6[6]; -extern const uint32_t ls_LFE_last_idx_CICP12[8]; -extern const uint32_t ls_LFE_last_idx_CICP14[8]; -extern const uint32_t ls_LFE_last_idx_CICP16[10]; -extern const uint32_t ls_LFE_last_idx_CICP19[12]; - -/*----------------------------------------------------------------------------------* - * LS Configuration Converter ROM tables - *----------------------------------------------------------------------------------*/ - -/* Downmix matrices */ -extern const float ls_conversion_cicpX_mono[12][1]; -extern const float ls_conversion_cicpX_stereo[12][2]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[]; -#ifdef FIX_I54_LS_CONVERSION -extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[]; -#endif -extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[]; - -/* Upmix matrices */ -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[]; -#ifdef FIX_I54_LS_CONVERSION -extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[]; -#endif -extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[]; -extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[]; - -/* Mapping table of input config : output config with corresponding matrix */ -extern const LS_CONVERSION_MAPPING ls_conversion_mapping[]; - -#endif /* IVAS_ROM_REND_H */ diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h deleted file mode 100644 index a38b8d96c1..0000000000 --- a/lib_rend/ivas_stat_rend.h +++ /dev/null @@ -1,102 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_STAT_REND_H -#define IVAS_STAT_REND_H - -#include <stdint.h> -#include "ivas_cnst.h" - -#define MAX_SPEAKERS 12 /* Max number of speakers (including LFE) in a channel-based config */ - -/*----------------------------------------------------------------------------------* - * Loudspeaker Configuration Conversion structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_LS_setupconversion_struct -{ - float *dmxMtx[MAX_OUTPUT_CHANNELS]; - float *targetEnergyPrev[MAX_OUTPUT_CHANNELS]; - float *dmxEnergyPrev[MAX_OUTPUT_CHANNELS]; - int16_t sfbOffset[MAX_SFB + 2]; - int16_t sfbCnt; - -} LSSETUP_CONVERSION_STRUCT, *LSSETUP_CONVERSION_HANDLE; - - -typedef struct ivas_LS_setupconversion_matrix -{ - int16_t index; - float value; -} LS_CONVERSION_MATRIX; - -typedef struct ivas_LS_setupconversion_mapping -{ - AUDIO_CONFIG input_config; - AUDIO_CONFIG output_config; - const LS_CONVERSION_MATRIX *conversion_matrix; -} LS_CONVERSION_MAPPING; - -typedef struct ivas_mono_downmix_renderer_struct -{ - float inputEnergy[CLDFB_NO_CHANNELS_MAX]; - float protoEnergy[CLDFB_NO_CHANNELS_MAX]; - -} MONO_DOWNMIX_RENDERER_STRUCT, *MONO_DOWNMIX_RENDERER_HANDLE; - - -/*----------------------------------------------------------------------------------* - * Custom Loudspeaker configuration structure - *----------------------------------------------------------------------------------*/ - -typedef struct ivas_LS_setup_custom -{ - int16_t is_planar_setup; /* flag to indicate if setup is planar or not */ - int16_t num_spk; /* number of custom loudspeakers */ - float ls_azimuth[MAX_OUTPUT_CHANNELS]; /* custom loudspeaker azimuths */ - float ls_elevation[MAX_OUTPUT_CHANNELS]; /* custom loudspeaker elevations */ - int16_t num_lfe; /* number of LFE channels */ - int16_t lfe_idx[MAX_OUTPUT_CHANNELS]; /* index for LFE channel insertion */ - int16_t separate_ch_found; /* flag to indicate if a center channel was found */ - float separate_ch_gains[MAX_OUTPUT_CHANNELS]; /* gains to pan McMASA separateChannel in case no center channel is present */ - -} LSSETUP_CUSTOM_STRUCT, *LSSETUP_CUSTOM_HANDLE; - -/* Channel types in a channel-based config */ -typedef enum -{ - CHANNEL_TYPE_UNUSED = 0, - CHANNEL_TYPE_SPEAKER, - CHANNEL_TYPE_LFE -} ChannelType; - -#endif /* IVAS_STAT_REND_H */ diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h deleted file mode 100644 index ea4b84d897..0000000000 --- a/lib_rend/lib_rend.h +++ /dev/null @@ -1,280 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef LIB_REND_H -#define LIB_REND_H - -#include <stdbool.h> -#include <stdint.h> -#include <stdlib.h> - -#include "options.h" -#include "common_api_types.h" -#include "ivas_error.h" - - -#define RENDERER_MAX_ISM_INPUTS 4 -#define RENDERER_MAX_MC_INPUTS 1 -#define RENDERER_MAX_SBA_INPUTS 1 -#define RENDERER_MAX_MASA_INPUTS 1 - -#define RENDERER_HEAD_POSITIONS_PER_FRAME 4 - -typedef struct -{ - int16_t numSamplesPerChannel; - int16_t numChannels; -} IVAS_REND_AudioBufferConfig; - -typedef struct -{ - IVAS_REND_AudioBufferConfig config; - float *data; -} IVAS_REND_AudioBuffer; - -typedef struct -{ - IVAS_REND_AudioBufferConfig config; - const float *data; -} IVAS_REND_ReadOnlyAudioBuffer; - -typedef struct -{ - float azimuth; - float elevation; -} IVAS_REND_AudioObjectPosition; - -typedef struct IVAS_REND *IVAS_REND_HANDLE; -typedef struct IVAS_REND const *IVAS_REND_CONST_HANDLE; - -typedef enum -{ - IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED = 0, - IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS, - IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED, - IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL, - IVAS_REND_AUDIO_CONFIG_TYPE_MASA, - IVAS_REND_AUDIO_CONFIG_TYPE_UNKNOWN, -} IVAS_REND_AudioConfigType; - -/* TODO(sgi): Harmonize with AUDIO_CONFIG */ -/* - Note: numerical values carry specific information here. - - MSB LSB - -------------------------------------------------------------------------------- - ... unused (assumed all 0) ... | config type (1 byte) | config variant (1 byte) | - -------------------------------------------------------------------------------- - - Where "config type" is the general type from the following list: - - unknown - - channel-based - - ambisonics - - object-based - - binaural - - MASA - - Config variants are concrete configs of each type. - */ -typedef enum -{ - IVAS_REND_AUDIO_CONFIG_MONO = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 0, - IVAS_REND_AUDIO_CONFIG_STEREO = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 1, - IVAS_REND_AUDIO_CONFIG_5_1 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 2, - IVAS_REND_AUDIO_CONFIG_7_1 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 3, - IVAS_REND_AUDIO_CONFIG_5_1_2 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 4, - IVAS_REND_AUDIO_CONFIG_5_1_4 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 5, - IVAS_REND_AUDIO_CONFIG_7_1_4 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 6, - IVAS_REND_AUDIO_CONFIG_LS_CUSTOM = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 255, - - IVAS_REND_AUDIO_CONFIG_FOA = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 0, - IVAS_REND_AUDIO_CONFIG_HOA2 = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 1, - IVAS_REND_AUDIO_CONFIG_HOA3 = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 2, - - IVAS_REND_AUDIO_CONFIG_OBJECT = IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED << 8 | 0, - - IVAS_REND_AUDIO_CONFIG_BINAURAL = IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL << 8 | 0, - IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM = IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL << 8 | 1, - - IVAS_REND_AUDIO_CONFIG_MASA1 = IVAS_REND_AUDIO_CONFIG_TYPE_MASA << 8 | 0, - IVAS_REND_AUDIO_CONFIG_MASA2 = IVAS_REND_AUDIO_CONFIG_TYPE_MASA << 8 | 1, - - IVAS_REND_AUDIO_CONFIG_UNKNOWN = IVAS_REND_AUDIO_CONFIG_TYPE_UNKNOWN << 8 | 0, -} IVAS_REND_AudioConfig; - -typedef uint16_t IVAS_REND_InputId; - -typedef struct -{ - int16_t numLfeChannels; - float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; -} IVAS_REND_LfeRouting; - -/* clang-format off */ -/*----------------------------------------------------------------------------------* - * Function prototypes - *----------------------------------------------------------------------------------*/ - -/* Functions to be called before rendering */ - -ivas_error IVAS_REND_Open( - IVAS_REND_HANDLE *phIvasRend, /* i/o: Pointer to renderer handle */ - const int32_t outputSampleRate, /* i : output sampling rate */ - const IVAS_REND_AudioConfig outConfig /* i : output audio config */ -); - -/* Note: this will reset custom LFE routings set for any MC input */ -ivas_error IVAS_REND_ConfigureCustomOutputLoudspeakerLayout( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_CUSTOM_LS_DATA layout /* i : custom loudspeaker layout for renderer output */ -); - -/* Support for custom HRTFs will be added in the future. */ -/* Note: this affects output delay */ -ivas_error IVAS_REND_SetCustomHrtf( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - void* TODO -); - -/* Functions to be called before/during rendering */ - -ivas_error IVAS_REND_NumOutChannels( - IVAS_REND_CONST_HANDLE hIvasRend, /* i : Renderer handle */ - int16_t *numOutChannels /* o : number of output channels */ -); - -ivas_error IVAS_REND_AddInput( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_AudioConfig inConfig, /* i : audio config for a new input */ - IVAS_REND_InputId *inputId /* o : ID of the new input */ -); - -/* Note: this will reset any custom LFE routing set for the input */ -ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_CUSTOM_LS_DATA layout /* i : custom loudspeaker layout for input */ -); - -ivas_error IVAS_REND_SetInputGain( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - const float gain /* i : linear gain (not in dB) */ -); - -ivas_error IVAS_REND_SetInputLfeRouting( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_REND_LfeRouting lfeRouting /* i : custom LFE routing struct */ -); - -ivas_error IVAS_REND_RemoveInput( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId /* i : ID of the input */ -); - -ivas_error IVAS_REND_GetInputNumChannels( - IVAS_REND_CONST_HANDLE hIvasRend, /* i : Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - int16_t *numChannels /* o : number of channels of the input */ -); - -ivas_error IVAS_REND_GetDelay( - IVAS_REND_CONST_HANDLE hIvasRend, /* i : Renderer handle */ - int16_t *nSamples, /* o : Renderer delay in samples */ - int32_t *timeScale /* o : Time scale of the delay, equal to renderer output sampling rate */ -); - -/* Functions to be called during rendering */ - -ivas_error IVAS_REND_FeedInputAudio( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_REND_ReadOnlyAudioBuffer inputAudio /* i : buffer with input audio */ -); - -ivas_error IVAS_REND_FeedInputObjectMetadata( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ -); - -ivas_error IVAS_REND_FeedInputMasaMetadata( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_REND_InputId inputId, /* i : ID of the input */ - IVAS_MASA_METADATA_HANDLE masaMetadata /* i : MASA metadata frame */ -); - -ivas_error IVAS_REND_InitConfig( - IVAS_REND_HANDLE st, /* i/o: Renderer handle */ - bool rendererConfigEnabled /* i : flag indicating if a renderer configuration file was supplied */ -); - -int16_t IVAS_REND_GetRenderConfig( - IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS decoder handle */ - const IVAS_RENDER_CONFIG_HANDLE hRCout /* o : Render configuration handle */ -); - -int16_t IVAS_REND_FeedRenderConfig( - IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS decoder handle */ - const IVAS_RENDER_CONFIG_DATA renderConfig /* i : Render configuration struct */ -); - -ivas_error IVAS_REND_SetHeadRotation( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - const IVAS_QUATERNION headRot[RENDERER_HEAD_POSITIONS_PER_FRAME] /* i : head positions for next rendering call */ -); - -ivas_error IVAS_REND_GetSamples( - IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ - IVAS_REND_AudioBuffer outAudio /* i/o: buffer for output audio */ -); - -/* Functions to be called after rendering */ - -void IVAS_REND_Close( - IVAS_REND_HANDLE* phIvasRend /* i/o: Pointer to renderer handle */ -); - -#ifdef DEBUGGING -int32_t IVAS_REND_GetNoCLipping( - IVAS_REND_CONST_HANDLE hIvasRend /* i : Renderer handle */ -); - -int32_t IVAS_REND_GetCntFramesLimited( - IVAS_REND_CONST_HANDLE hIvasRend /* i : Renderer handle */ -); -#endif - -/* clang-format on */ - -#endif diff --git a/lib_util/audio_file_reader.h b/lib_util/audio_file_reader.h deleted file mode 100644 index 0fc9b1f4a1..0000000000 --- a/lib_util/audio_file_reader.h +++ /dev/null @@ -1,68 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_AUDIO_FILE_READER_H -#define IVAS_AUDIO_FILE_READER_H - -#include <stdint.h> -#include "ivas_error.h" - -struct AudioFileReader; -typedef struct AudioFileReader AudioFileReader; - -/* clang-format off */ - -ivas_error AudioFileReader_open( - AudioFileReader **audioReader, /* o : AudioFileReader handle */ - const char *fileName, /* i : path to wav/raw pcm file */ - int32_t *sampleRate /* o : sample rate of wav file, unused with pcm */ -); - -/*! r: number of read samples */ -ivas_error AudioFileReader_read( - AudioFileReader *self, /* i/o: AudioFileReader handle */ - int16_t *samples, /* o : samples read from the opened file */ - const int16_t numSamples, /* i : number of samples to read */ - int16_t *numSamplesRead /* i : number of samples actualy read */ -); - -/*! r: number of channels of the opened file */ -int16_t AudioFileReader_getNumChannels( - AudioFileReader *self /* i/o: AudioFileReader handle */ -); - -void AudioFileReader_close( - AudioFileReader **selfPtr /* i/o: pointer to AudioFileReader handle */ -); -/* clang-format on */ - -#endif /* IVAS_AUDIO_FILE_READER_H */ diff --git a/lib_util/audio_file_writer.h b/lib_util/audio_file_writer.h deleted file mode 100644 index cd7d2ce5d2..0000000000 --- a/lib_util/audio_file_writer.h +++ /dev/null @@ -1,61 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_AUDIO_FILE_WRITER_H -#define IVAS_AUDIO_FILE_WRITER_H - -#include <stdint.h> -#include "ivas_error.h" - -struct AudioFileWriter; -typedef struct AudioFileWriter AudioFileWriter; - -/* clang-format off */ -ivas_error AudioFileWriter_open( - AudioFileWriter **afWriter, /* o : AudioFileWriter handle */ - const char *fileName, /* i : path to wav/raw pcm file */ - uint32_t sampleRate, /* i : sample rate of output file */ - uint32_t numChannels /* i : number of channels in output file */ -); - -ivas_error AudioFileWriter_write( - AudioFileWriter *self, /* i/o: AudioFileReader handle */ - int16_t *samples, /* i : samples to write to output file */ - uint32_t numSamples /* i : number of samples to write */ -); - -void AudioFileWriter_close( - AudioFileWriter **selfPtr /* i/o: pointer to AudioFileReader handle */ -); -/* clang-format on */ - -#endif /* IVAS_AUDIO_FILE_WRITER_H */ diff --git a/lib_util/bitstream_reader.c b/lib_util/bitstream_reader.c deleted file mode 100644 index caa8b52c59..0000000000 --- a/lib_util/bitstream_reader.c +++ /dev/null @@ -1,331 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "bitstream_reader.h" -#include "g192.h" -#include "mime_io.h" -#include "ivas_error.h" -#include "ivas_error_utils.h" -#include <stdlib.h> -#include <string.h> - - -struct BS_Reader -{ - void *hFormatReader; - - /* clang-format off */ - /* Depending on the requested bitstream format, function pointers below should be set to corresponding wrapper functions. - * `open_filename` and `close` must be implemented for all supported formats, all other functions are optional */ - - /* Allocate hFormatReader and open file with given file name */ - ivas_error ( *open_filename )( void *phFormatReader, const char *filename ); - - /* Close file open by hFormatReader and then free hFormatReader. Even if an error occurs, - * all memory is expected to be freed and (*phFormatReader) set to NULL */ - ivas_error ( *close )( void *phFormatReader); - - /* Rewind file open by hFormatReader */ - ivas_error ( *rewind )( void *hFormatReader ); - - /* Read one frame from open file into a serial bitstream buffer, with each uint16_t representing one bit. */ - ivas_error ( *read_frame_short )( void *hFormatReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ); - - /* Read one VoIP frame from open file into a bitstream byte buffer. */ - ivas_error ( *read_voip_frame_compact )( void *hFormatReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ); - /* clang-format on */ -}; - -/*-----------------------------------------------------------------------* - * G192 wrapper functions - *-----------------------------------------------------------------------*/ - -static ivas_error convert_g192_error( int32_t g192_error ) -{ - switch ( g192_error ) - { - case G192_NO_ERROR: - return IVAS_ERR_OK; - case G192_MEMORY_ERROR: - return IVAS_ERR_FAILED_ALLOC; - case G192_WRONG_PARAMS: - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - case G192_INIT_ERROR: - return IVAS_ERR_NOT_CONFIGURED; - case G192_READ_ERROR: - return IVAS_ERR_FAILED_FILE_READ; - case G192_FILE_NOT_FOUND: - return IVAS_ERR_FAILED_FILE_OPEN; - case G192_INVALID_DATA: - return IVAS_ERR_BITSTREAM_READER_INVALID_DATA; - case G192_NOT_IMPLEMENTED: - return IVAS_ERR_NOT_IMPLEMENTED; - case G192_NOT_INITIALIZED: - return IVAS_ERR_NOT_CONFIGURED; - case G192_EOF: - return IVAS_ERR_END_OF_FILE; - default: - break; - } - - return IVAS_ERR_UNKNOWN; -} - -static ivas_error g192_open_filename( void *phFormatReader, const char *filename ) -{ - return convert_g192_error( G192_Reader_Open_filename( (G192_HANDLE *) phFormatReader, filename ) ); -} - -static ivas_error g192_close( void *phFormatReader ) -{ - return convert_g192_error( G192_Reader_Close( (G192_HANDLE *) phFormatReader ) ); -} - -static ivas_error g192_rewind( void *hFormatReader ) -{ - return convert_g192_error( G192_Reader_Rewind( (G192_HANDLE) hFormatReader ) ); -} - -static ivas_error g192_read_frame_short( void *hFormatReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) -{ - return convert_g192_error( G192_ReadFrame_short( (G192_HANDLE) hFormatReader, serial, num_bits, bfi ) ); -} - -static ivas_error g192_read_voip_frame_compact( void *hFormatReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ) -{ - return convert_g192_error( G192_ReadVoipFrame_compact( (G192_HANDLE) hFormatReader, serial, num_bits, rtpSequenceNumber, rtpTimeStamp, rcvTime_ms ) ); -} - -static void init_for_g192( BS_READER_HANDLE hBsReader ) -{ - /* Note: functions on RHS must have exactly the same signature as the corresponding - * function pointer expects, otherwise we are in UB territory */ - hBsReader->open_filename = g192_open_filename; - hBsReader->close = g192_close; - hBsReader->rewind = g192_rewind; - hBsReader->read_frame_short = g192_read_frame_short; - hBsReader->read_voip_frame_compact = g192_read_voip_frame_compact; -} - -/*-----------------------------------------------------------------------* - * MIME wrapper functions - *-----------------------------------------------------------------------*/ - -static ivas_error convert_mime_error( int32_t mime_error ) -{ - switch ( mime_error ) - { - case MIME_NO_ERROR: - return IVAS_ERR_OK; - case MIME_MEMORY_ERROR: - return IVAS_ERR_FAILED_ALLOC; - case MIME_WRONG_PARAMS: - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - case MIME_FILE_NOT_FOUND: - return IVAS_ERR_FAILED_FILE_OPEN; - case MIME_NOT_INITIALIZED: - return IVAS_ERR_NOT_CONFIGURED; - case MIME_READ_ERROR: - return IVAS_ERR_FAILED_FILE_READ; - case MIME_INVALID_DATA: - return IVAS_ERR_BITSTREAM_READER_INVALID_DATA; - case MIME_EOF: - return IVAS_ERR_END_OF_FILE; - default: - break; - } - - return IVAS_ERR_UNKNOWN; -} - -static ivas_error mime_open_filename( void *phFormatReader, const char *filename ) -{ - return convert_mime_error( MIME_Reader_Open_filename( (MIME_HANDLE *) phFormatReader, filename ) ); -} - -static ivas_error mime_close( void *phFormatReader ) -{ - return convert_mime_error( MIME_Reader_Close( (MIME_HANDLE *) phFormatReader ) ); -} - -static ivas_error mime_rewind( void *hFormatReader ) -{ - return convert_mime_error( MIME_Reader_Rewind( (MIME_HANDLE) hFormatReader ) ); -} - -static ivas_error mime_read_frame_short( void *hFormatReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) -{ - return convert_mime_error( MIME_ReadFrame_short( (MIME_HANDLE) hFormatReader, serial, num_bits, bfi ) ); -} - -static void init_for_mime( BS_READER_HANDLE hBsReader ) -{ - /* Note: functions on RHS must have exactly the same signature as the corresponding - * function pointer expects, otherwise we are in UB territory */ - hBsReader->open_filename = mime_open_filename; - hBsReader->close = mime_close; - hBsReader->rewind = mime_rewind; - hBsReader->read_frame_short = mime_read_frame_short; -} - -/*-----------------------------------------------------------------------* - * API functions implementation - *-----------------------------------------------------------------------*/ - -static ivas_error init_for_format( BS_READER_HANDLE *phBsReader, BS_READER_FORMAT format ) -{ - /* Allocate memory under handle and check if allocation successful */ - ( *phBsReader ) = (BS_READER_HANDLE) malloc( sizeof( struct BS_Reader ) ); - if ( *phBsReader == NULL ) - { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "could not allocate bitstream reader" ); - } - - /* Initialize all struct members to NULL - supported functions - * will be overwritten below in init_for_<format> */ - BS_READER_HANDLE hBsReader = *phBsReader; - memset( hBsReader, 0, sizeof( struct BS_Reader ) ); - - /* Set function pointers to selected format */ - switch ( format ) - { - case BS_READER_FORMAT_G192: - init_for_g192( hBsReader ); - break; - case BS_READER_FORMAT_MIME: - init_for_mime( hBsReader ); - break; - default: - BS_Reader_Close( phBsReader ); - return IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT; - } - - return IVAS_ERR_OK; -} - -ivas_error BS_Reader_Open_filename( BS_READER_HANDLE *phBsReader, const char *filename, BS_READER_FORMAT format ) -{ - ivas_error error = IVAS_ERR_OK; - - /* Check if pointers valid */ - if ( phBsReader == NULL || filename == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - /* Allocate and set up for the requested format */ - if ( ( error = init_for_format( phBsReader, format ) ) != IVAS_ERR_OK ) - { - goto cleanup; - } - - /* Open file with the handle of the selected format */ - BS_READER_HANDLE hBsReader = *phBsReader; - if ( ( error = hBsReader->open_filename( &hBsReader->hFormatReader, filename ) ) != IVAS_ERR_OK ) - { - goto cleanup; - } - - return IVAS_ERR_OK; - -cleanup: - - BS_Reader_Close( phBsReader ); - return error; -} - -ivas_error BS_Reader_Rewind( BS_READER_HANDLE hBsReader ) -{ - if ( hBsReader == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - if ( hBsReader->rewind == NULL ) - { - return IVAS_ERR_NOT_IMPLEMENTED; - } - - return hBsReader->rewind( hBsReader->hFormatReader ); -} - -ivas_error BS_Reader_ReadFrame_short( BS_READER_HANDLE hBsReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) -{ - if ( hBsReader == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - if ( hBsReader->read_frame_short == NULL ) - { - return IVAS_ERR_NOT_IMPLEMENTED; - } - - return hBsReader->read_frame_short( hBsReader->hFormatReader, serial, num_bits, bfi ); -} - -ivas_error BS_Reader_ReadVoipFrame_compact( BS_READER_HANDLE hBsReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ) -{ - if ( hBsReader == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - if ( hBsReader->read_voip_frame_compact == NULL ) - { - return IVAS_ERR_NOT_IMPLEMENTED; - } - - return hBsReader->read_voip_frame_compact( hBsReader->hFormatReader, serial, num_bits, rtpSequenceNumber, rtpTimeStamp, rcvTime_ms ); -} - - -ivas_error BS_Reader_Close( BS_READER_HANDLE *phBsReader ) -{ - if ( phBsReader == NULL || *phBsReader == NULL ) - { - return IVAS_ERR_OK; - } - - BS_READER_HANDLE hBsReader = *phBsReader; - ivas_error error = IVAS_ERR_OK; - - if ( hBsReader->close != NULL ) - { - error = hBsReader->close( &( hBsReader )->hFormatReader ); - } - - free( hBsReader ); - *phBsReader = NULL; - - return error; -} diff --git a/lib_util/bitstream_reader.h b/lib_util/bitstream_reader.h deleted file mode 100644 index 2b750566eb..0000000000 --- a/lib_util/bitstream_reader.h +++ /dev/null @@ -1,72 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef BITSTREAM_READER_H -#define BITSTREAM_READER_H - -#include "options.h" -#include "ivas_error.h" -#include <stdint.h> - - -/*-----------------------------------------------------------------------* - * Enums - *-----------------------------------------------------------------------*/ - -typedef enum BS_READER_FORMAT -{ - BS_READER_FORMAT_G192 = 0, - BS_READER_FORMAT_MIME = 1, -} BS_READER_FORMAT; - -/*-----------------------------------------------------------------------* - * Structures - *-----------------------------------------------------------------------*/ - -typedef struct BS_Reader *BS_READER_HANDLE; - -/*-----------------------------------------------------------------------* - * Functions - *-----------------------------------------------------------------------*/ - -ivas_error BS_Reader_Open_filename( BS_READER_HANDLE *phBsReader, const char *filename, BS_READER_FORMAT format ); - -ivas_error BS_Reader_Rewind( BS_READER_HANDLE hBsReader ); - -ivas_error BS_Reader_ReadFrame_short( BS_READER_HANDLE hBsReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ); - -ivas_error BS_Reader_ReadVoipFrame_compact( BS_READER_HANDLE hBsReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ); - -ivas_error BS_Reader_Close( BS_READER_HANDLE *phBsReader ); - - -#endif /* BITSTREAM_READER_H */ diff --git a/lib_util/bitstream_writer.c b/lib_util/bitstream_writer.c deleted file mode 100644 index c133ceba25..0000000000 --- a/lib_util/bitstream_writer.c +++ /dev/null @@ -1,252 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "bitstream_writer.h" -#include "g192.h" -#include "mime_io.h" -#include "ivas_error.h" -#include "ivas_error_utils.h" -#include <stdlib.h> -#include <string.h> - - -struct BS_Writer -{ - void *hFormatWriter; - - /* clang-format off */ - ivas_error ( *open_filename )( void *phFormatWriter, const char *filename ); - ivas_error ( *close )( void *phFormatWriter ); - ivas_error ( *write_frame_short )( void *hFormatWriter, const uint16_t *serial, int32_t num_bits, int32_t frame_bitrate ); - /* clang-format on */ -}; - -/*-----------------------------------------------------------------------* - * G192 wrapper functions - *-----------------------------------------------------------------------*/ - -static ivas_error convert_g192_error( int32_t g192_error ) -{ - switch ( g192_error ) - { - case G192_NO_ERROR: - return IVAS_ERR_OK; - case G192_MEMORY_ERROR: - return IVAS_ERR_FAILED_ALLOC; - case G192_WRONG_PARAMS: - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - case G192_INIT_ERROR: - return IVAS_ERR_INIT_ERROR; - case G192_WRITE_ERROR: - return IVAS_ERR_FAILED_FILE_READ; - case G192_NOT_IMPLEMENTED: - return IVAS_ERR_NOT_IMPLEMENTED; - case G192_NOT_INITIALIZED: - return IVAS_ERR_NOT_CONFIGURED; - } - - return IVAS_ERR_UNKNOWN; -} - -static ivas_error g192_open_filename( void *phFormatWriter, const char *filename ) -{ - return convert_g192_error( G192_Writer_Open_filename( (G192_HANDLE *) phFormatWriter, filename ) ); -} - -static ivas_error g192_close( void *phFormatWriter ) -{ - return convert_g192_error( G192_Writer_Close( (G192_HANDLE *) phFormatWriter ) ); -} - -static ivas_error g192_write_frame_short( void *hFormatWriter, const uint16_t *serial, int32_t num_bits, int32_t frame_bitrate ) -{ - (void) frame_bitrate; /* Unused */ - return convert_g192_error( G192_WriteFrame( (G192_HANDLE) hFormatWriter, serial, (int16_t) num_bits ) ); -} - -static void init_for_g192( BS_WRITER_HANDLE hBsWriter ) -{ - /* Note: functions on RHS must have exactly the same signature as the corresponding - * function pointer expects, otherwise we are in UB territory */ - hBsWriter->open_filename = g192_open_filename; - hBsWriter->close = g192_close; - hBsWriter->write_frame_short = g192_write_frame_short; -} - -/*-----------------------------------------------------------------------* - * MIME wrapper functions - *-----------------------------------------------------------------------*/ - -static ivas_error convert_mime_error( int32_t mime_error ) -{ - switch ( mime_error ) - { - case MIME_NO_ERROR: - return IVAS_ERR_OK; - case MIME_MEMORY_ERROR: - return IVAS_ERR_FAILED_ALLOC; - case MIME_WRONG_PARAMS: - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - case MIME_NOT_INITIALIZED: - return IVAS_ERR_NOT_CONFIGURED; - case MIME_WRITE_ERROR: - return IVAS_ERR_FAILED_FILE_READ; - } - - return IVAS_ERR_UNKNOWN; -} - -static ivas_error mime_open_filename( void *phFormatWriter, const char *filename ) -{ - return convert_mime_error( MIME_Writer_Open_filename( (MIME_HANDLE *) phFormatWriter, filename ) ); -} - -static ivas_error mime_close( void *phFormatWriter ) -{ - return convert_mime_error( MIME_Writer_Close( (MIME_HANDLE *) phFormatWriter ) ); -} - -static ivas_error mime_write_frame_short( void *hFormatWriter, const uint16_t *serial, int32_t num_bits, int32_t frame_bitrate ) -{ - return convert_mime_error( MIME_WriteFrame( (MIME_HANDLE) hFormatWriter, serial, (int16_t) num_bits, frame_bitrate ) ); -} - -static void init_for_mime( BS_WRITER_HANDLE hBsWriter ) -{ - /* Note: functions on RHS must have exactly the same signature as the corresponding - * function pointer expects, otherwise we are in UB territory */ - hBsWriter->open_filename = mime_open_filename; - hBsWriter->close = mime_close; - hBsWriter->write_frame_short = mime_write_frame_short; -} - - -/*-----------------------------------------------------------------------* - * API functions implementation - *-----------------------------------------------------------------------*/ - -static ivas_error init_for_format( BS_WRITER_HANDLE *phBsWriter, BS_WRITER_FORMAT format ) -{ - /* Allocate memory under handle and check if allocation successful */ - ( *phBsWriter ) = (BS_WRITER_HANDLE) malloc( sizeof( struct BS_Writer ) ); - if ( *phBsWriter == NULL ) - { - IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "could not allocate bitstream writer" ); - } - - /* Initialize all struct members to NULL - supported functions - * will be overwritten below in init_for_<format> */ - BS_WRITER_HANDLE hBsWriter = *phBsWriter; - memset( hBsWriter, 0, sizeof( struct BS_Writer ) ); - - /* Set function pointers to selected format */ - switch ( format ) - { - case BS_WRITER_FORMAT_G192: - init_for_g192( hBsWriter ); - break; - case BS_WRITER_FORMAT_MIME: - init_for_mime( hBsWriter ); - break; - default: - BS_Writer_Close( phBsWriter ); - return IVAS_ERR_BITSTREAM_WRITER_INVALID_FORMAT; - } - - return IVAS_ERR_OK; -} - -ivas_error BS_Writer_Open_filename( BS_WRITER_HANDLE *phBsWriter, const char *filename, BS_WRITER_FORMAT format ) -{ - ivas_error error = IVAS_ERR_OK; - - /* Check if pointers valid */ - if ( phBsWriter == NULL || filename == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - /* Allocate and set up for the requested format */ - if ( ( error = init_for_format( phBsWriter, format ) ) != IVAS_ERR_OK ) - { - goto cleanup; - } - - /* Open file with the handle of the selected format */ - BS_WRITER_HANDLE hBsWriter = *phBsWriter; - if ( ( error = hBsWriter->open_filename( &hBsWriter->hFormatWriter, filename ) ) != IVAS_ERR_OK ) - { - goto cleanup; - } - - return IVAS_ERR_OK; - -cleanup: - BS_Writer_Close( phBsWriter ); - return error; -} - -ivas_error BS_Writer_WriteFrame_short( BS_WRITER_HANDLE hBsWriter, const uint16_t *serial, int32_t numBits, int32_t frameBitrate ) -{ - if ( hBsWriter == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - if ( hBsWriter->write_frame_short == NULL ) - { - return IVAS_ERR_NOT_IMPLEMENTED; - } - - return hBsWriter->write_frame_short( hBsWriter->hFormatWriter, serial, numBits, frameBitrate ); -} - -ivas_error BS_Writer_Close( BS_WRITER_HANDLE *phBsWriter ) -{ - if ( phBsWriter == NULL || *phBsWriter == NULL ) - { - return IVAS_ERR_OK; - } - - BS_WRITER_HANDLE hBsWriter = *phBsWriter; - ivas_error error = IVAS_ERR_OK; - - if ( hBsWriter->close != NULL ) - { - error = hBsWriter->close( &( hBsWriter )->hFormatWriter ); - } - - free( hBsWriter ); - *phBsWriter = NULL; - - return error; -} diff --git a/lib_util/bitstream_writer.h b/lib_util/bitstream_writer.h deleted file mode 100644 index 9a8acc8106..0000000000 --- a/lib_util/bitstream_writer.h +++ /dev/null @@ -1,67 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef BITSTREAM_WRITER_H -#define BITSTREAM_WRITER_H - -#include <stdint.h> -#include "ivas_error.h" - - -/*-----------------------------------------------------------------------* - * Enums - *-----------------------------------------------------------------------*/ - -typedef enum BS_WRITER_FORMAT -{ - BS_WRITER_FORMAT_G192 = 0, - BS_WRITER_FORMAT_MIME = 1, -} BS_WRITER_FORMAT; - -/*-----------------------------------------------------------------------* - * Structures - *-----------------------------------------------------------------------*/ - -typedef struct BS_Writer *BS_WRITER_HANDLE; - -/*-----------------------------------------------------------------------* - * Functions - *-----------------------------------------------------------------------*/ - -ivas_error BS_Writer_Open_filename( BS_WRITER_HANDLE *phBsWriter, const char *filename, BS_WRITER_FORMAT format ); - -ivas_error BS_Writer_WriteFrame_short( BS_WRITER_HANDLE hBsWriter, const uint16_t *serial, int32_t numBits, int32_t frameBitrate ); - -ivas_error BS_Writer_Close( BS_WRITER_HANDLE *phBsWriter ); - - -#endif /* BITSTREAM_WRITER_H */ diff --git a/lib_util/cmdln_parser.c b/lib_util/cmdln_parser.c deleted file mode 100644 index 1904f880be..0000000000 --- a/lib_util/cmdln_parser.c +++ /dev/null @@ -1,365 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "cmdln_parser.h" - -#include <assert.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#define MAX_SUPPORTED_OPTS ( 1024 ) -#define MAX_OPTION_LENGTH ( 1024 ) - -typedef CmdLnParser_Option OptionProps; - -typedef struct -{ - OptionProps props; - int8_t hasBeenParsed; -} Option; - -static int16_t validateNoDuplicateIds( const OptionProps *props, int32_t numOpts ) -{ - for ( int32_t i = 0; i < numOpts; ++i ) - { - for ( int32_t j = i + 1; j < numOpts; ++j ) - { - if ( props[i].id == props[j].id ) - { - fprintf( stderr, "[dev] Duplicate ID == %d between options %s and %s\n", props[i].id, props[i].match, props[j].match ); - return -1; - } - } - } - - return 0; -} - -static int16_t validateOptionProps( OptionProps props ) -{ - /* Check required properties */ - if ( props.match == NULL ) - { - /* TODO(sgi): Don't print out usage after this - props.match is used there */ - fprintf( stderr, "[dev] Option with ID == %d - missing required property \"match\"\n", props.id ); - return -1; - } - - if ( props.id == 0 ) - { - fprintf( stderr, "[dev] Invalid ID for option %s. ID == %d is reserved.\n", props.match, props.id ); - return -1; - } - - return 0; -} - -/* Validate given OptionProps and use them to initialize array of Options */ -static int16_t initOpts( const OptionProps *options, int32_t numOpts, Option *opts ) -{ - for ( int32_t i = 0; i < numOpts; ++i ) - { - if ( validateOptionProps( options[i] ) != 0 ) - { - return -1; - } - - Option tmp = { - .hasBeenParsed = 0 - }; - tmp.props = options[i]; /* Cannot assign in aggregate initializer above - causes Visual Studio warning */ - - opts[i] = tmp; - } - - /* Check for duplicate IDs */ - if ( validateNoDuplicateIds( options, numOpts ) != 0 ) - { - return -1; - } - - return 0; -} - -static int8_t stringLooksLikeOption( const char *str ) -{ - if ( str[0] == '-' ) - { - return 1; - } - - return 0; -} - -static const char *stringToOptionName( const char *str ) -{ - while ( *str == '-' ) - { - ++str; - } - - return str; -} - -static int8_t optionMatchesString( Option opt, const char *str ) -{ - if ( !stringLooksLikeOption( str ) ) - { - return 0; - } - - const char *optionName = stringToOptionName( str ); - - if ( strncmp( optionName, opt.props.match, MAX_OPTION_LENGTH ) == 0 || strncmp( optionName, opt.props.matchShort, MAX_OPTION_LENGTH ) == 0 ) - { - return 1; - } - - return 0; -} - -static int16_t parseOpts( int32_t argc, - char **argv, - Option *opts, - int32_t numOpts, - void *pOutputStruct, - CmdLnParser_FnPtr_ParseOption parseOption ) -{ - Option *currOpt = NULL; - int32_t currOptIdx = 1; - Option *nextOpt = NULL; - int32_t nextOptIdx = 0; - int16_t numValues = 0; - - /* Go through all given argv */ - for ( int32_t argIdx = 1; argIdx < argc; ++argIdx ) - { - /* For current argument from argv go through all options and try to match */ - for ( int32_t optIdx = 0; optIdx < numOpts; ++optIdx ) - { - Option *optToMatch = &opts[optIdx]; - if ( optionMatchesString( *optToMatch, argv[argIdx] ) ) - { - nextOpt = optToMatch; - nextOptIdx = argIdx; - - /* Check if already parsed */ - if ( optToMatch->hasBeenParsed ) - { - fprintf( stderr, "Duplicate option: %s (%s)\n", optToMatch->props.match, optToMatch->props.matchShort ); - return -1; - } - - break; - } - } - - /* If no option matched, it is either a value belonging to current option or an invalid option */ - if ( nextOpt == NULL ) - { - /* Invalid option */ - if ( stringLooksLikeOption( argv[argIdx] ) ) - { - fprintf( stderr, "Unknown option `%s`\n", stringToOptionName( argv[argIdx] ) ); - return -1; - } - - /* Otherwise, value following current option. - * Exception: at the beginning of parsing (when current option is NULL) no values are allowed, throw error*/ - if ( currOpt != NULL ) - { - ++numValues; - } - else - { - fprintf( stderr, "Unexpected token `%s`\n", argv[argIdx] ); - return -1; - } - } - - /* If current argument is a recognized option or no more arguments left, parse current option into output struct*/ - if ( nextOpt != NULL ) - { - if ( currOpt != NULL ) - { - parseOption( currOpt->props.id, &argv[currOptIdx + 1], numValues, pOutputStruct ); - currOpt->hasBeenParsed = 1; - } - - currOpt = nextOpt; - currOptIdx = nextOptIdx; - nextOpt = NULL; - nextOptIdx = 0; - numValues = 0; - } - } - - /* Parse last option */ - if ( currOpt != NULL ) - { - parseOption( currOpt->props.id, &argv[currOptIdx + 1], numValues, pOutputStruct ); - currOpt->hasBeenParsed = 1; - } - - return 0; -} - -static const char *getBasename( const char *path ) -{ - /* Find last forward slash in path */ - const char *namePtr = strrchr( path, '/' ); - if ( namePtr != NULL ) - { - return namePtr + 1; - } - - /* If not found, try to find last backslash in path */ - namePtr = strrchr( path, '\\' ); - if ( namePtr != NULL ) - { - return namePtr + 1; - } - - /* If also not found, return full path, which implictly should be the basename */ - return path; -} - -static int32_t totalOptionNameLength( const OptionProps opt ) -{ - return strlen( opt.match ) + strlen( opt.matchShort ); -} - -static void printWhitespace( int32_t n ) -{ - for ( int32_t i = 0; i < n; ++i ) - { - fprintf( stderr, " " ); - } -} - -static void printOptDescriptionAligned( const char *descPtr, int32_t descriptionColumnIdx ) -{ - if ( descPtr == NULL ) - { - fprintf( stderr, "\n" ); - return; - } - - while ( 1 ) - { - if ( *descPtr == '\0' ) - { - fprintf( stderr, "\n" ); - break; - } - - fprintf( stderr, "%c", *descPtr ); - if ( *descPtr == '\n' ) - { - printWhitespace( descriptionColumnIdx ); - } - ++descPtr; - } -} - -static void printUsage( - const char *argv0, - const OptionProps *optionProps, - int32_t numOptions ) -{ - fprintf( stderr, "\n" ); - fprintf( stderr, "Usage: %s [options]\n", getBasename( argv0 ) ); - fprintf( stderr, "\n" ); - fprintf( stderr, "Valid options:\n" ); - - /* Find option with longest name, used for pretty formatting */ - int32_t maxOptNameLength = 0; - for ( int32_t i = 0; i < numOptions; ++i ) - { - const int32_t optNameLength = totalOptionNameLength( optionProps[i] ); - if ( maxOptNameLength < optNameLength ) - { - maxOptNameLength = optNameLength; - } - } - - const int32_t preDescriptionWhitespace = 8; - const int32_t leftColumnAdditionalChars = 7; - for ( int32_t i = 0; i < numOptions; ++i ) - { - OptionProps opt = optionProps[i]; - const int32_t optNameLength = totalOptionNameLength( optionProps[i] ); - - /* TODO(sgi): make matchShort optional */ - fprintf( stderr, " --%s, -%s", opt.match, opt.matchShort ); - - printWhitespace( maxOptNameLength - optNameLength + preDescriptionWhitespace ); - printOptDescriptionAligned( opt.description, maxOptNameLength + preDescriptionWhitespace + leftColumnAdditionalChars ); - } -} - -int16_t CmdLnParser_parseArgs( int32_t argc, - char **argv, - const OptionProps *optionProps, - int32_t numOptions, - void *pOutputStruct, - CmdLnParser_FnPtr_ParseOption parseOption ) -{ - assert( numOptions <= MAX_SUPPORTED_OPTS ); - - /* Prepare option array */ - Option opts[MAX_SUPPORTED_OPTS]; - if ( initOpts( optionProps, numOptions, opts ) != 0 ) - { - goto fail; - } - - /* Iterate over argv and parse */ - if ( parseOpts( argc, argv, opts, numOptions, pOutputStruct, parseOption ) != 0 ) - { - goto fail; - } - - return 0; - -fail: - printUsage( argv[0], optionProps, numOptions ); - return -1; -} - -void CmdLnParser_printUsage( char *executableName, - const CmdLnParser_Option *options, - int32_t numOptions ) -{ - printUsage( executableName, options, numOptions ); -} diff --git a/lib_util/cmdln_parser.h b/lib_util/cmdln_parser.h deleted file mode 100644 index 8fecc70d9e..0000000000 --- a/lib_util/cmdln_parser.h +++ /dev/null @@ -1,67 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef CMDLN_PARSER_H -#define CMDLN_PARSER_H - -#include <stdint.h> -#include <stdbool.h> - -#include "options.h" - -typedef struct -{ - int32_t id; - const char *match; - const char *matchShort; - const char *description; -} CmdLnParser_Option; - -/* Function for parsing option values into an output struct, to be implemented by the user */ -typedef void ( *CmdLnParser_FnPtr_ParseOption )( int32_t optionId, /* i : option ID of matched option */ - char **optionValues, /* i : array of string values following the matched option in argv */ - int16_t numOptionValues, /* i : number of string values following the matched option in argv */ - void *pOutputStruct /* o : struct to store parsed values */ -); - -int16_t CmdLnParser_parseArgs( int32_t argc, - char **argv, - const CmdLnParser_Option *options, - int32_t numOptions, - void *pOutputStruct, - CmdLnParser_FnPtr_ParseOption parseOption ); - -void CmdLnParser_printUsage( char *executableName, - const CmdLnParser_Option *options, - int32_t numOptions ); - -#endif /* CMDLN_PARSER_H */ diff --git a/lib_util/evs_rtp_payload.c b/lib_util/evs_rtp_payload.c deleted file mode 100644 index 67dcaa6f36..0000000000 --- a/lib_util/evs_rtp_payload.c +++ /dev/null @@ -1,305 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#include <assert.h> -#include <stdio.h> -#include "evs_rtp_payload.h" - -static void evsPayload_unpackFrame_compact_amrWbIo( const char *payload, uint16_t payloadSizeBits, uint16_t iProtectedSize, unsigned char **framePtr, uint16_t *frameSizeInBits ) -{ - uint16_t i, iBit0; - unsigned char d0, *frame = *framePtr; - /* ignore 3 bit CMR and padding bits for EVS AMR-WB IO */ - if ( iProtectedSize == 2 ) - { /* EVS AMR-WB IO 6.6 */ - *frameSizeInBits = payloadSizeBits - 4; - } - else if ( iProtectedSize == 5 ) - { /* EVS AMR-WB IO 8.85 */ - *frameSizeInBits = payloadSizeBits - 7; - } - else - { - *frameSizeInBits = payloadSizeBits - 3; - } - iBit0 = *frameSizeInBits + 3 - 1; - d0 = ( ( (unsigned char) payload[iBit0 / 8] ) >> ( 7 - ( iBit0 % 8 ) ) ) & 0x01; - frame[0] = ( d0 << 7 ) | ( ( payload[0] & 0x1f ) << 2 ); /* d(1..5) */ - ++payload; - for ( i = 1; i != ( payloadSizeBits + 7 ) / 8; ++i ) - { - *frame++ |= ( *payload & 0xc0 ) >> 6; - *frame = ( *payload & 0x3f ) << 2; - ++payload; - } - assert( frame == *framePtr + ( *frameSizeInBits + 7 ) / 8 - 1 ); - /* last payload byte contained d(0), clear it */ - ( *framePtr )[*frameSizeInBits / 8] &= ~( 0x80 >> ( *frameSizeInBits % 8 ) ); -} - -static void evsPayload_unpackFrame_compact_evsPrimary( char *payload, uint16_t payloadSizeBits, unsigned char **framePtr, uint16_t *frameSizeInBits ) -{ - *framePtr = (unsigned char *) payload; /* no need to copy frame bytes */ - *frameSizeInBits = payloadSizeBits; -} - - -static void evsPayload_unpackFrame_compact( char *payload, uint16_t payloadSizeBits, uint16_t iProtectedSize, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex, unsigned char **framePtr, uint16_t *frameSizeInBits ) -{ - if ( iProtectedSize == 1 ) - { /* A.2.1.3 Special case for 56 bit payload size (EVS Primary or EVS AMR-WB IO SID) */ - assert( ( payload[0] & 0x80 ) == 0 ); /* AMR-WB IO SID has no compact format and therefore is handled outside this function */ - *isAMRWB_IOmode = false; - *frameTypeIndex = 0; /* PRIMARY_2800 */ - } - else - { - *isAMRWB_IOmode = evsPayloadProtectedSizes_isAMRWB_IOmode[iProtectedSize]; - *frameTypeIndex = evsPayloadProtectedSizes_frameTypeIndex[iProtectedSize]; - } - if ( *isAMRWB_IOmode ) - { - evsPayload_unpackFrame_compact_amrWbIo( payload, payloadSizeBits, iProtectedSize, framePtr, frameSizeInBits ); - } - else - { - evsPayload_unpackFrame_compact_evsPrimary( payload, payloadSizeBits, framePtr, frameSizeInBits ); - } -} - -bool evsPayload_unpackFrame( bool hf_only, char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **framePtr, uint16_t *frameSizeInBits ) -{ - uint16_t payloadSizeBits = payloadSizeBytes * 8; - bool specialCaseIoSid = payloadSizeBits == 56 && ( payload[0] & 0x80 ); /* A.2.1.3 Special case for 56 bit payload size */ - if ( !hf_only && !specialCaseIoSid ) - { /* A.2.3.1 Default format handling */ - uint16_t i; - for ( i = 0; i != sizeof( evsPayloadProtectedSizes ) / sizeof( evsPayloadProtectedSizes )[0]; ++i ) - { - if ( payloadSizeBits == evsPayloadProtectedSizes[i] ) - { - assert( frameIndex == 0 ); - *frameFollowing = false; - *qBit = true; - evsPayload_unpackFrame_compact( payload, payloadSizeBits, i, isAMRWB_IOmode, frameTypeIndex, framePtr, frameSizeInBits ); - return true; - } - } - } /* else: A.2.3.2 Header-Full-only format handling */ - return evsHeaderFullPayload_unpackFrame( payload, payloadSizeBytes, frameIndex, isAMRWB_IOmode, - frameFollowing, frameTypeIndex, qBit, framePtr, frameSizeInBits ); -} - -static void evsHeaderFullPayload_parseToc( uint8_t toc, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, int32_t *bitrate ) -{ - bool evsModeBit = ( toc & 0x20 ) != 0; - *isAMRWB_IOmode = evsModeBit; - *frameFollowing = ( toc & 0x40 ) != 0; - *frameTypeIndex = toc & 0x0f; - if ( !*isAMRWB_IOmode ) - { - *qBit = true; /* assume good q_bit for the unused EVS-mode bit */ - *bitrate = PRIMARYmode2rate[*frameTypeIndex]; - } - else - { - *qBit = ( toc & 0x10 ) != 0; - *bitrate = AMRWB_IOmode2rate[*frameTypeIndex]; - } -} - -bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ) -{ - int16_t i; - int32_t rate; - rate = frameSizeBits * 50; - if ( rate == 0 ) - { - assert( 0 ); /* VOIP_G192_RTP should not transmit empty frames */ - return false; /* no information available */ - } - for ( i = 0; i <= 9; ++i ) - { - if ( rate == AMRWB_IOmode2rate[i] ) - { - *isAMRWB_IOmode = true; - *frameTypeIndex = i; - return true; - } - } - for ( i = 0; i <= 12; ++i ) - { - if ( rate == PRIMARYmode2rate[i] ) - { - *isAMRWB_IOmode = false; - *frameTypeIndex = i; - return true; - } - } - return false; -} - -bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeInBits ) -{ - bool someIsAMRWB_IOmode, someFrameFollowing = true, someQBit; - uint16_t someFrameTypeIndex, someFrameSizeInBits; - int32_t bitrate; - uint16_t iFrame; - if ( payloadSizeBytes < 1 ) - { - fprintf( stderr, "Error: payload too small to parse ToC\n" ); - return false; - } - /* skip CMR */ - if ( *payload & 0x80 ) - { - ++payload; - --payloadSizeBytes; - } - /* parse all ToC entries */ - *frame = (unsigned char *) payload; /* no need to copy frame bytes */ - for ( iFrame = 0; someFrameFollowing; ++iFrame ) - { - if ( (int16_t) payloadSizeBytes <= 0 ) - { - fprintf( stderr, "Error: payload too small\n" ); - return false; - } - if ( *payload & 0x80 ) - { - fprintf( stderr, "Error: expected ToC, found CMR\n" ); - return false; - } - evsHeaderFullPayload_parseToc( *payload, &someIsAMRWB_IOmode, &someFrameFollowing, &someFrameTypeIndex, &someQBit, &bitrate ); - if ( bitrate < 0 ) - { - fprintf( stderr, "Error: unexpected frameTypeIndex in ToC\n" ); - return false; - } - ++payload; - ++*frame; - someFrameSizeInBits = (uint16_t) ( bitrate / 50 ); - /* just keep/copy zero padding bits - * in case of AMRWB_IO_SID the STI bit and CMI bits following the SID_1k75 frame are also kept (A.2.2.1.3) */ - payloadSizeBytes -= 1 + ( someFrameSizeInBits + 7 ) / 8; - if ( iFrame < frameIndex ) - { - *frame += ( someFrameSizeInBits + 7 ) / 8; - if ( !someFrameFollowing ) - { - fprintf( stderr, "Error: expected ToC with F bit set\n" ); - return false; - } - } - else if ( iFrame == frameIndex ) - { - *isAMRWB_IOmode = someIsAMRWB_IOmode; - *frameFollowing = someFrameFollowing; - *frameTypeIndex = someFrameTypeIndex; - *qBit = someQBit; - *frameSizeInBits = someFrameSizeInBits; - } - if ( (int16_t) payloadSizeBytes < 0 ) - { - fprintf( stderr, "Error: payload too small for frame %u data\n", frameIndex ); - return false; - } - } - return true; -} - -EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_open( EVS_RTPDUMP_DEPACKER *self, FILE *file, bool hf_only ) -{ - RTPDUMP_ERROR rtpdumpError; - self->hf_only = hf_only; - self->frameFollowing = false; - rtpdumpError = RTPDUMP_OpenWithFileToRead( &self->rtpdump, file ); - if ( rtpdumpError != RTPDUMP_NO_ERROR ) - { - return EVS_RTPDUMP_DEPACKER_RTPDUMP_ERROR; - } - return EVS_RTPDUMP_DEPACKER_NO_ERROR; -} - -EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_readNextFrame( - EVS_RTPDUMP_DEPACKER *self, - uint16_t *rtpSequenceNumber, - uint32_t *rtpTimeStamp, - uint32_t *rcvTime_ms, - bool *isAMRWB_IOmode, - uint16_t *frameTypeIndex, - bool *qBit, - unsigned char **frame, - uint16_t *frameSizeBits ) -{ - /* read next RTP packet from rtpdump */ - if ( !self->frameFollowing ) - { - RTPDUMP_ERROR rtpdumpError = RTPDUMP_ReadPacket( self->rtpdump, &self->rtpPacket, &self->timeoffset_ms ); - if ( rtpdumpError == RTPDUMP_READ_ENDOFFILE ) - { - return EVS_RTPDUMP_DEPACKER_EOF; - } - else if ( rtpdumpError != RTPDUMP_NO_ERROR ) - { - return EVS_RTPDUMP_DEPACKER_RTPDUMP_ERROR; - } - self->frameIndex = 0; - } - /* unpack next frame from RTP packet */ - if ( !evsPayload_unpackFrame( self->hf_only, self->rtpPacket.data + self->rtpPacket.headerSize, - self->rtpPacket.payloadSize, self->frameIndex, - isAMRWB_IOmode, &self->frameFollowing, frameTypeIndex, qBit, - frame, frameSizeBits ) ) - { - return EVS_RTPDUMP_DEPACKER_PAYLOAD_ERROR; - } - /* return frame */ - *rtpSequenceNumber = self->rtpPacket.sequenceNumber; - *rtpTimeStamp = self->rtpPacket.timeStamp + self->frameIndex * 16000 / 50; - *rcvTime_ms = self->timeoffset_ms; - ++self->frameIndex; - return EVS_RTPDUMP_DEPACKER_NO_ERROR; -} - -void EVS_RTPDUMP_DEPACKER_close( EVS_RTPDUMP_DEPACKER *self ) -{ - if ( !self ) - { - return; - } - RTPDUMP_Close( &self->rtpdump, 0 ); -} diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h deleted file mode 100644 index 55073a7fa5..0000000000 --- a/lib_util/evs_rtp_payload.h +++ /dev/null @@ -1,202 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#pragma once -#include <stdbool.h> -#include <stdint.h> -#include <stdio.h> -#include "rtpdump.h" - -#ifdef __cplusplus -extern "C" -{ -#endif - - static const int32_t AMRWB_IOmode2rate[16] = { - 6600, /* AMRWB_IO_6600 */ - 8850, /* AMRWB_IO_8850 */ - 12650, /* AMRWB_IO_1265 */ - 14250, /* AMRWB_IO_1425 */ - 15850, /* AMRWB_IO_1585 */ - 18250, /* AMRWB_IO_1825 */ - 19850, /* AMRWB_IO_1985 */ - 23050, /* AMRWB_IO_2305 */ - 23850, /* AMRWB_IO_2385 */ - 1750, /* AMRWB_IO_SID: SID_1k75 followed by STI bit and CMI bits (A.2.2.1.3) */ - -1, /* AMRWB_IO_FUT1 */ - -1, /* AMRWB_IO_FUT2 */ - -1, /* AMRWB_IO_FUT3 */ - -1, /* AMRWB_IO_FUT4 */ - 0, /* SPEECH_LOST */ - 0 /* NO_DATA */ - }; - - static const int32_t PRIMARYmode2rate[16] = { - 2800, /* PRIMARY_2800 */ - 7200, /* PRIMARY_7200 */ - 8000, /* PRIMARY_8000 */ - 9600, /* PRIMARY_9600 */ - 13200, /* PRIMARY_13200 */ - 16400, /* PRIMARY_16400 */ - 24400, /* PRIMARY_24400 */ - 32000, /* PRIMARY_32000 */ - 48000, /* PRIMARY_48000 */ - 64000, /* PRIMARY_64000 */ - 96000, /* PRIMARY_96000 */ - 128000, /* PRIMARY_128000 */ - 2400, /* PRIMARY_SID */ - -1, /* PRIMARY_FUT1 */ - 0, /* SPEECH_LOST */ - 0 /* NO_DATA */ - }; - - static const uint16_t evsPayloadProtectedSizes[22] = { - 48, - 56, - 136, - 144, - 160, - 184, - 192, - 256, - 264, - 288, - 320, - 328, - 368, - 400, - 464, - 480, - 488, - 640, - 960, - 1280, - 1920, - 2560 - }; - - static const bool evsPayloadProtectedSizes_isAMRWB_IOmode[22] = { - 0, - 0, /* Special case (see clause A.2.1.3) */ - 1, - 0, - 0, - 1, - 0, - 1, - 0, - 1, - 1, - 0, - 1, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0 - }; - - static const uint16_t evsPayloadProtectedSizes_frameTypeIndex[22] = { - 12, /* PRIMARY_SID */ - 0, /* Special case (see clause A.2.1.3) */ - 0, /* AMRWB_IO_6600 */ - 1, /* PRIMARY_7200 */ - 2, /* PRIMARY_8000 */ - 1, /* AMRWB_IO_8850 */ - 3, /* PRIMARY_9600 */ - 2, /* AMRWB_IO_1265 */ - 4, /* PRIMARY_13200 */ - 3, /* AMRWB_IO_1425 */ - 4, /* AMRWB_IO_1585 */ - 5, /* PRIMARY_16400 */ - 5, /* AMRWB_IO_1825 */ - 6, /* AMRWB_IO_1985 */ - 7, /* AMRWB_IO_2305 */ - 8, /* AMRWB_IO_2385 */ - 6, /* PRIMARY_24400 */ - 7, /* PRIMARY_32000 */ - 8, /* PRIMARY_48000 */ - 9, /* PRIMARY_64000 */ - 10, /* PRIMARY_96000 */ - 11 /* PRIMARY_128000 */ - }; - - bool evsPayload_unpackFrame( bool hf_only, char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **framePtr, uint16_t *frameSizeBits ); - - bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ); - - bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeBits ); - - typedef struct - { - RTPDUMP_HANDLE rtpdump; - bool hf_only; - RTPDUMP_RTPPACKET rtpPacket; - uint32_t timeoffset_ms; - uint16_t frameIndex; - bool frameFollowing; - } EVS_RTPDUMP_DEPACKER; - - typedef enum - { - EVS_RTPDUMP_DEPACKER_NO_ERROR = 0, - EVS_RTPDUMP_DEPACKER_EOF = -1, - EVS_RTPDUMP_DEPACKER_RTPDUMP_ERROR = 1, - EVS_RTPDUMP_DEPACKER_PAYLOAD_ERROR - } EVS_RTPDUMP_DEPACKER_ERROR; - - EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_open( EVS_RTPDUMP_DEPACKER *self, FILE *file, bool hf_only ); - - EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_readNextFrame( - EVS_RTPDUMP_DEPACKER *self, - uint16_t *rtpSequenceNumber, - uint32_t *rtpTimeStamp, - uint32_t *rcvTime_ms, - bool *isAMRWB_IOmode, - uint16_t *frameTypeIndex, - bool *qBit, - unsigned char **frame, - uint16_t *frameSizeBits ); - - void EVS_RTPDUMP_DEPACKER_close( EVS_RTPDUMP_DEPACKER *self ); - -#ifdef __cplusplus -} -#endif diff --git a/lib_util/g192.c b/lib_util/g192.c deleted file mode 100644 index 6f708690a0..0000000000 --- a/lib_util/g192.c +++ /dev/null @@ -1,555 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#include "g192.h" -#include "common_api_types.h" -#include <assert.h> -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#ifndef _WIN32 -#include <netinet/in.h> -#include <stdint.h> -#else -#include <Winsock2.h> -#endif - - -/*-----------------------------------------------------------------------* - * Constants - *-----------------------------------------------------------------------*/ - -#define G192_SYNC_GOOD_FRAME (uint16_t) 0x6B21 -#define G192_SYNC_BAD_FRAME (uint16_t) 0x6B20 -#define G192_BIT0 (uint16_t) 0x007F -#define G192_BIT1 (uint16_t) 0x0081 -#define RTP_HEADER_PART1 (int16_t) 22 /* magic number by network simulator */ - - -/*-----------------------------------------------------------------------* - * Structures - *-----------------------------------------------------------------------*/ - -/* main handle */ -struct __G192 -{ - FILE *file; - int16_t ownFileHandle; /* flag whether FILE handle created by instance or externally */ -}; - - -/*-----------------------------------------------------------------------* - * Functions - *-----------------------------------------------------------------------*/ - - -G192_ERROR G192_Reader_Open_filename( - G192_HANDLE *phG192, - const char *filename ) -{ - /* create handle */ - *phG192 = (G192_HANDLE) calloc( 1, sizeof( struct __G192 ) ); - if ( !phG192 ) - { - return G192_MEMORY_ERROR; - } - memset( *phG192, 0, sizeof( struct __G192 ) ); - - /* open file stream */ - ( *phG192 )->file = fopen( filename, "rb" ); - if ( ( *phG192 )->file == NULL ) - { - G192_Reader_Close( phG192 ); - return G192_FILE_NOT_FOUND; - } - ( *phG192 )->ownFileHandle = 1; - - return G192_NO_ERROR; -} - - -G192_ERROR G192_Reader_Rewind( - G192_HANDLE const hG192 ) -{ - if ( !hG192 || !hG192->file ) - { - return G192_NOT_INITIALIZED; - } - rewind( hG192->file ); - - return G192_NO_ERROR; -} - - -G192_ERROR G192_ReadFrame_compact( - G192_HANDLE const hG192, - unsigned char *const serial, - int16_t *const num_bits, - int16_t *const bfi ) -{ - uint16_t short_serial[IVAS_MAX_BITS_PER_FRAME]; - G192_ERROR err; - int16_t i; - - err = G192_ReadFrame_short( hG192, short_serial, num_bits, bfi ); - - for ( i = 0; i < *num_bits; i++ ) - { - unsigned char bit = ( short_serial[i] == G192_BIT1 ) ? 1 : 0; - unsigned char bitinbyte = bit << ( 7 - ( i & 0x7 ) ); - if ( !( i & 0x7 ) ) - { - serial[i >> 3] = 0; - } - serial[i >> 3] |= bitinbyte; - } - - return err; -} - - -G192_ERROR G192_ReadVoipFrame_compact( - G192_HANDLE const hG192, - unsigned char *const serial, - int16_t *const num_bits, - uint16_t *const rtpSequenceNumber, - uint32_t *const rtpTimeStamp, - uint32_t *const rcvTime_ms ) -{ - int16_t short_serial[IVAS_MAX_BITS_PER_FRAME]; - G192_ERROR err; - int16_t i; - - err = G192_ReadVoipFrame_short( hG192, short_serial, num_bits, rtpSequenceNumber, rtpTimeStamp, rcvTime_ms ); - if ( err != G192_NO_ERROR ) - { - return err; - } - - for ( i = 0; i < *num_bits; i++ ) - { - uint8_t bit = ( short_serial[i] == G192_BIT1 ) ? 1 : 0; - uint8_t bitinbyte = bit << ( 7 - ( i & 0x7 ) ); - if ( !( i & 0x7 ) ) - { - serial[i >> 3] = 0; - } - serial[i >> 3] |= bitinbyte; - } - - return G192_NO_ERROR; -} - - -G192_ERROR G192_ReadFrame_short( - G192_HANDLE const hG192, - uint16_t *const serial, - int16_t *const num_bits, - int16_t *const bfi ) -{ - uint16_t G192_SYNC_WORD; - if ( num_bits ) - { - *num_bits = 0; - } - - if ( fread( &G192_SYNC_WORD, sizeof( uint16_t ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - return G192_READ_ERROR; - } - else - { - if ( ( G192_SYNC_WORD != G192_SYNC_GOOD_FRAME ) && ( G192_SYNC_WORD != G192_SYNC_BAD_FRAME ) ) - { - fprintf( stderr, "\n Invalid bitstream. Wrong G192_SYNC_WORD\n " ); - return G192_READ_ERROR; - } - else - { - int16_t i; - if ( G192_SYNC_WORD == G192_SYNC_BAD_FRAME ) - { - *bfi = 1; - } - else - { - *bfi = 0; - } - - if ( fread( num_bits, sizeof( int16_t ), 1, hG192->file ) != 1 ) - { - fprintf( stderr, "\n Premature end of file, cannot read frame length " ); - return G192_READ_ERROR; - } - - if ( *num_bits > IVAS_MAX_BITS_PER_FRAME ) - { - fprintf( stderr, "\n Frame is too large " ); - return G192_READ_ERROR; - } - - if ( fread( serial, sizeof( int16_t ), *num_bits, hG192->file ) != (uint16_t) *num_bits ) - { - fprintf( stderr, "\n Premature end of file, cannot read frame" ); - return G192_READ_ERROR; - } - - /* convert from G.192 representation to binary, i.e. from 0x007F to 0x0 and from 0x0081 to 0x1 */ - for ( i = 0; i < (int16_t) *num_bits; ++i ) - { - serial[i] = ( serial[i] == G192_BIT1 ? 1 : 0 ); - } - - /* pad extra bytes (2 bytes required for EVS, 4 for IVAS) for arithmetic decoder flush */ - if ( *num_bits > 0 ) - { - for ( ; i < *num_bits + ( 8 * 4 ); ++i ) - { - serial[i] = 0; - } - } - } - } - - return ( G192_NO_ERROR ); -} - - -G192_ERROR G192_ReadVoipFrame_short( - G192_HANDLE const hG192, - int16_t *const serial, - int16_t *const num_bits, - uint16_t *const rtpSequenceNumber, - uint32_t *const rtpTimeStamp, - uint32_t *const rcvTime_ms ) -{ - uint32_t rtpPacketSize; - uint16_t rtpPacketHeaderPart1; - uint32_t ssrc; - uint16_t rtpPayloadG192[2]; - uint16_t rtpPayloadSize; - - /* RTP packet size */ - if ( fread( &rtpPacketSize, sizeof( rtpPacketSize ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - fprintf( stderr, "RTP Packet Size could't be read\n" ); - - return G192_READ_ERROR; - } - - if ( rtpPacketSize <= 12 ) - { - fprintf( stderr, "RTP Packet size too small: %ud\n", rtpPacketSize ); - return G192_INVALID_DATA; - } - - /* RTP packet arrival time */ - if ( fread( rcvTime_ms, sizeof( *rcvTime_ms ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - fprintf( stderr, "Reception Time in ms could't be read\n" ); - - return G192_READ_ERROR; - } - - /* RTP packet header (part without sequence number) */ - if ( fread( &rtpPacketHeaderPart1, sizeof( rtpPacketHeaderPart1 ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - fprintf( stderr, "RTP Header couldn't be read\n" ); - - return G192_READ_ERROR; - } - - if ( rtpPacketHeaderPart1 != RTP_HEADER_PART1 ) - { - fprintf( stderr, "Unexpected RTP Packet header\n" ); - - return G192_INVALID_DATA; - } - - /* RTP sequence number */ - if ( fread( rtpSequenceNumber, sizeof( *rtpSequenceNumber ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - fprintf( stderr, "RTP Sequence Number be read\n" ); - - return G192_READ_ERROR; - } - - *rtpSequenceNumber = ntohs( *rtpSequenceNumber ); - - /* RTP timestamp */ - if ( fread( rtpTimeStamp, sizeof( *rtpTimeStamp ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - fprintf( stderr, "RTP Timestamp could't be read\n" ); - - return G192_READ_ERROR; - } - - *rtpTimeStamp = ntohl( *rtpTimeStamp ); - - /* RTP ssrc */ - if ( fread( &ssrc, sizeof( ssrc ), 1, hG192->file ) != 1 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - fprintf( stderr, "RTP SSRC could't be read\n" ); - - return G192_READ_ERROR; - } - - /* RTP payload size */ - rtpPayloadSize = (uint16_t) rtpPacketSize - 12; - if ( rtpPayloadSize <= 2 ) - { - fprintf( stderr, "RTP payload size too small: %u\n", rtpPayloadSize ); - return G192_INVALID_DATA; - } - - /* RTP payload */ - if ( fread( rtpPayloadG192, sizeof( int16_t ), 2, hG192->file ) != 2 ) - { - if ( feof( hG192->file ) != 0 ) - { - return G192_EOF; - } - - fprintf( stderr, "Premature end of file, cannot read G.192 header\n" ); - return G192_READ_ERROR; - } - - if ( rtpPayloadG192[0] != G192_SYNC_GOOD_FRAME ) - { - fprintf( stderr, "G192_SYNC_WORD missing from RTP payload!" ); - return G192_INVALID_DATA; - } - - *num_bits = rtpPayloadG192[1]; - if ( *num_bits == 0u || *num_bits + 2u != rtpPayloadSize || *num_bits > IVAS_MAX_BITS_PER_FRAME ) - { - fprintf( stderr, "error in parsing RTP payload: rtpPayloadSize=%u nBits=%d", rtpPayloadSize, *num_bits ); - return G192_INVALID_DATA; - } - - if ( fread( serial, sizeof( int16_t ), *num_bits, hG192->file ) != (uint16_t) *num_bits ) - { - fprintf( stderr, "Premature end of file, cannot read G.192 payload\n" ); - return G192_READ_ERROR; - } - - return G192_NO_ERROR; -} - - -G192_ERROR G192_Reader_Close( - G192_HANDLE *phG192 ) -{ - if ( phG192 == NULL || *phG192 == NULL ) - { - return G192_NO_ERROR; - } - - if ( ( *phG192 )->file && ( *phG192 )->ownFileHandle ) - { - fclose( ( *phG192 )->file ); - } - - free( *phG192 ); - *phG192 = NULL; - phG192 = NULL; - - return G192_NO_ERROR; -} - - -G192_ERROR G192_Writer_Open_filename( - G192_HANDLE *phG192, - const char *filename ) -{ - /* create handle */ - *phG192 = (G192_HANDLE) calloc( 1, sizeof( struct __G192 ) ); - if ( !phG192 ) - { - return G192_MEMORY_ERROR; - } - - /* open file stream */ - ( *phG192 )->file = fopen( filename, "wb" ); - if ( ( *phG192 )->file == NULL ) - { - free( *phG192 ); - *phG192 = NULL; - return G192_FILE_NOT_FOUND; - } - ( *phG192 )->ownFileHandle = 1; - - return G192_NO_ERROR; -} - - -G192_ERROR G192_WriteFrame( - G192_HANDLE const hG192, - const uint16_t *serial, - const int16_t numBits ) -{ - uint16_t G192_HEADER[2], G192_DATA[IVAS_MAX_BITS_PER_FRAME]; - uint16_t i, bit; - - assert( numBits <= IVAS_MAX_BITS_PER_FRAME ); - - G192_HEADER[0] = G192_SYNC_GOOD_FRAME; - G192_HEADER[1] = numBits; /* Frame Length */ - fwrite( G192_HEADER, sizeof( uint16_t ), 2, hG192->file ); - - for ( i = 0; i < numBits; i++ ) - { - bit = serial[i]; - if ( bit == 0 ) - { - G192_DATA[i] = G192_BIT0; - } - else if ( bit == 1 ) - { - G192_DATA[i] = G192_BIT1; - } - else - { - return G192_WRITE_ERROR; - } - } - fwrite( G192_DATA, sizeof( uint16_t ), numBits, hG192->file ); - - return G192_NO_ERROR; -} - - -G192_ERROR G192_WriteVoipFrame_short( - G192_HANDLE const hG192, - const uint16_t *serial, - const int16_t numBits, - uint16_t const rtpSequenceNumber, - uint16_t const rtpTimeStamp, - uint32_t const rcvTime_ms ) -{ - int16_t G192_HEADER[2], G192_DATA[IVAS_MAX_BITS_PER_FRAME]; - int16_t i, bit; - - uint32_t rtpPacketSize = numBits + 12 + 2; - uint16_t rtpPacketHeaderPart1 = RTP_HEADER_PART1; - uint32_t ssrc = 0; - uint16_t rtpSequenceNumber_2 = htons( rtpSequenceNumber ); - uint32_t rtpTimeStamp_2 = htonl( rtpTimeStamp ); - uint16_t ssrc_2 = (uint16_t) htonl( ssrc ); - - assert( numBits <= IVAS_MAX_BITS_PER_FRAME ); - - fwrite( &rtpPacketSize, sizeof( rtpPacketSize ), 1, hG192->file ); - fwrite( &rcvTime_ms, sizeof( rcvTime_ms ), 1, hG192->file ); - fwrite( &rtpPacketHeaderPart1, sizeof( rtpPacketHeaderPart1 ), 1, hG192->file ); - fwrite( &rtpSequenceNumber_2, sizeof( rtpSequenceNumber ), 1, hG192->file ); - fwrite( &rtpTimeStamp_2, sizeof( rtpTimeStamp ), 1, hG192->file ); - fwrite( &ssrc_2, sizeof( ssrc ), 1, hG192->file ); - - G192_HEADER[0] = 0x6b21; - G192_HEADER[1] = numBits; - - fwrite( G192_HEADER, sizeof( int16_t ), 2, hG192->file ); - for ( i = 0; i < numBits; i++ ) - { - bit = serial[i]; - if ( bit == 0 ) - { - G192_DATA[i] = G192_BIT0; - } - else if ( bit == 1 ) - { - G192_DATA[i] = G192_BIT1; - } - else - { - return G192_WRITE_ERROR; - } - } - fwrite( G192_DATA, sizeof( int16_t ), numBits, hG192->file ); - - return G192_NO_ERROR; -} - - -G192_ERROR G192_Writer_Close( - G192_HANDLE *phG192 ) -{ - if ( phG192 == NULL || *phG192 == NULL ) - { - return G192_NO_ERROR; - } - - if ( ( *phG192 )->file ) - { - fclose( ( *phG192 )->file ); - } - - free( *phG192 ); - *phG192 = NULL; - phG192 = NULL; - - return G192_NO_ERROR; -} diff --git a/lib_util/g192.h b/lib_util/g192.h deleted file mode 100644 index c96b5bf756..0000000000 --- a/lib_util/g192.h +++ /dev/null @@ -1,100 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#ifndef G192_H -#define G192_H G192_H - -#include <stdio.h> -#include <stdint.h> - -/*-----------------------------------------------------------------------* - * Enums - *-----------------------------------------------------------------------*/ - -/* error enums */ -typedef enum _G192_ERROR -{ - G192_NO_ERROR = 0x0000, - G192_MEMORY_ERROR = 0x0001, - G192_WRONG_PARAMS = 0x0002, - G192_INIT_ERROR = 0x0003, - G192_WRITE_ERROR = 0x0004, - G192_READ_ERROR = 0x0005, - G192_FILE_NOT_FOUND = 0x0006, - G192_INVALID_DATA = 0x0007, /* error returned when read data is invalid */ - G192_NOT_IMPLEMENTED = 0x0010, - G192_NOT_INITIALIZED = 0x0100, - G192_UNKNOWN_ERROR = 0x1000, - G192_EOF = 0xffff /* EOF during reading */ -} G192_ERROR; - - -/*-----------------------------------------------------------------------* - * Structures - *-----------------------------------------------------------------------*/ - -/* main handle */ -struct __G192; -typedef struct __G192 *G192_HANDLE; - - -/*-----------------------------------------------------------------------* - * Functions - *-----------------------------------------------------------------------*/ - -G192_ERROR G192_Reader_Open_filename( G192_HANDLE *phG192, const char *filename ); - -G192_ERROR G192_Reader_Rewind( G192_HANDLE const hG192 ); - -G192_ERROR G192_ReadFrame_compact( G192_HANDLE const hG192, unsigned char *const serial, int16_t *const num_bits, int16_t *const bfi ); - -G192_ERROR G192_ReadVoipFrame_compact( G192_HANDLE const hG192, unsigned char *const serial, int16_t *const num_bits, uint16_t *const rtpSequenceNumber, uint32_t *const rtpTimeStamp, uint32_t *const rcvTime_ms ); - -G192_ERROR G192_ReadFrame_short( G192_HANDLE const hG192, uint16_t *const serial, int16_t *const num_bits, int16_t *const bfi ); - -G192_ERROR G192_ReadVoipFrame_short( G192_HANDLE const hG192, int16_t *const serial, int16_t *const num_bits, uint16_t *const rtpSequenceNumber, uint32_t *const rtpTimeStamp, uint32_t *const rcvTime_ms ); - -G192_ERROR G192_Reader_Close( G192_HANDLE *phG192 ); - -G192_ERROR G192_Writer_Open_filename( G192_HANDLE *phG192, const char *filename ); - -G192_ERROR G192_WriteFrame( G192_HANDLE const hG192, const uint16_t *serial, const int16_t numBits ); - -G192_ERROR G192_WriteVoipFrame_short( G192_HANDLE const hG192, const uint16_t *serial, const int16_t num_bits, uint16_t const rtpSequenceNumber, uint16_t const rtpTimeStamp, uint32_t const rcvTime_ms ); - -G192_ERROR G192_Writer_Close( G192_HANDLE *phG192 ); - -#endif /* G192_H */ diff --git a/lib_util/head_rotation_file_reader.c b/lib_util/head_rotation_file_reader.c deleted file mode 100644 index cd1dd7bcf3..0000000000 --- a/lib_util/head_rotation_file_reader.c +++ /dev/null @@ -1,170 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "head_rotation_file_reader.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdint.h> -#include "prot.h" - -struct HeadRotFileReader -{ - FILE *trajFile; - int32_t frameCounter; - char *file_path; - bool fileRewind; -}; - - -/*-----------------------------------------------------------------------* - * HeadRotationFileReader_open() - * - * Allocate and initialize Head-Tracking reader - *-----------------------------------------------------------------------*/ - -ivas_error HeadRotationFileReader_open( - char *trajFilePath, /* i : head rotation trajectory file name */ - HeadRotFileReader **headRotReader /* o : HeadRotFileReader handle */ -) -{ - HeadRotFileReader *self; - FILE *trajFile; - - /* Open trajectory file */ - if ( strlen( trajFilePath ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - trajFile = fopen( trajFilePath, "r" ); - - if ( !trajFile ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - self = calloc( sizeof( HeadRotFileReader ), 1 ); - self->trajFile = trajFile; - self->frameCounter = 0; - self->file_path = calloc( sizeof( char ), strlen( trajFilePath ) + 1 ); - strcpy( self->file_path, trajFilePath ); - self->fileRewind = false; - - *headRotReader = self; - - return IVAS_ERR_OK; -} - - -/*-----------------------------------------------------------------------* - * HeadRotationFileReading() - * - * Read values from the trajectory file - *-----------------------------------------------------------------------*/ - -ivas_error HeadRotationFileReading( - HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */ - IVAS_QUATERNION *Quaternions, /* o : head-tracking data */ - const int32_t frame_dec /* i : decoded frame number */ -) -{ - uint16_t i; - float w, x, y, z; - - for ( i = 0; i < IVAS_MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) - { - if ( 4 != fscanf( headRotReader->trajFile, "%f,%f,%f,%f", &w, &x, &y, &z ) ) - { - if ( feof( headRotReader->trajFile ) ) - { - rewind( headRotReader->trajFile ); - headRotReader->fileRewind = true; - return HeadRotationFileReading( headRotReader, Quaternions, frame_dec ); - } - return IVAS_ERR_FAILED_FILE_PARSE; - } - - - ( headRotReader->frameCounter )++; - - Quaternions[i].w = w; - Quaternions[i].x = x; - Quaternions[i].y = y; - Quaternions[i].z = z; - } - - return IVAS_ERR_OK; -} - - -/*-----------------------------------------------------------------------* - * HeadRotationFileReader_close() - * - * Deallocates memory for the Head-Tracking reader - *-----------------------------------------------------------------------*/ - -void HeadRotationFileReader_close( - HeadRotFileReader **headRotReader /* i/o: HeadRotFileReader handle */ -) -{ - if ( headRotReader == NULL || *headRotReader == NULL ) - { - return; - } - - fclose( ( *headRotReader )->trajFile ); - free( ( *headRotReader )->file_path ); - free( *headRotReader ); - *headRotReader = NULL; - - return; -} - - -/*-----------------------------------------------------------------------* - * HeadRotationFileReader_getFilePath() - * - * - *-----------------------------------------------------------------------*/ - -const char *HeadRotationFileReader_getFilePath( - HeadRotFileReader *headRotReader /* i/o: HeadRotFileReader handle */ -) -{ - if ( headRotReader == NULL ) - { - return NULL; - } - - return headRotReader->file_path; -} diff --git a/lib_util/head_rotation_file_reader.h b/lib_util/head_rotation_file_reader.h deleted file mode 100644 index 6664908b00..0000000000 --- a/lib_util/head_rotation_file_reader.h +++ /dev/null @@ -1,88 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_HR_FILE_READER_H -#define IVAS_HR_FILE_READER_H - -#include "common_api_types.h" -#include "ivas_error.h" - - -#define IVAS_MAX_PARAM_SPATIAL_SUBFRAMES 4 - -typedef struct HeadRotFileReader HeadRotFileReader; - -/*-----------------------------------------------------------------------* - * HeadRotationFileReader_open() - * - * Allocate and initialize Head-Tracking handle - *-----------------------------------------------------------------------*/ - -ivas_error HeadRotationFileReader_open( - char *trajFilePath, /* i : head rotation trajectory file name */ - HeadRotFileReader **headRotReader /* o : HeadRotFileReader handle */ -); - -/*-----------------------------------------------------------------------* - * HeadRotationFileReading() - * - * Read values from the trajectory file - *-----------------------------------------------------------------------*/ - -ivas_error HeadRotationFileReading( - HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */ - IVAS_QUATERNION *Quaternions, /* o : head-tracking data */ - const int32_t frame_dec /* i : decoded frame number */ -); - -/*-----------------------------------------------------------------------* - * HeadRotationFileReader_close() - * - * Deallocates memory for the Head-Tracking handle - *-----------------------------------------------------------------------*/ - -void HeadRotationFileReader_close( - HeadRotFileReader **headRotReader /* i/o: HeadRotFileReader handle */ -); - -/*-----------------------------------------------------------------------* - * HeadRotationFileReader_getFilePath() - * - * - *-----------------------------------------------------------------------*/ - -const char *HeadRotationFileReader_getFilePath( - HeadRotFileReader *headRotReader /* i/o: HeadRotFileReader handle */ -); - - -#endif /* IVAS_HR_FILE_READER_H */ diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c deleted file mode 100644 index b511b30499..0000000000 --- a/lib_util/ism_file_reader.c +++ /dev/null @@ -1,219 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "ism_file_reader.h" -#include "cmdl_tools.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - - -#define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ -#define NUM_ISM_METADATA_PER_LINE 5 /* Number of ISM metadata per line in a metadata file */ - - -struct IsmFileReader -{ - FILE *file; - char *file_path; -}; - - -/*---------------------------------------------------------------------* - * IsmFileReader_open() - * - * Allocates memory for an IsmFileReader and opens the file at given path for reading. - *---------------------------------------------------------------------*/ - -IsmFileReader *IsmFileReader_open( - const char *filePath /* i : path to ism metadata file */ -) -{ - IsmFileReader *self; - FILE *file; - - if ( !filePath ) - { - return NULL; - } - - file = fopen( filePath, "rt" ); - - if ( !file ) - { - return NULL; - } - - self = calloc( sizeof( IsmFileReader ), 1 ); - self->file = file; - self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); - strcpy( self->file_path, filePath ); - - return self; -} - - -/*---------------------------------------------------------------------* - * IsmFileReader_readNextFrame() - * - * Reads ISM metadata from a previously opened file into the provided struct. - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error IsmFileReader_readNextFrame( - IsmFileReader *self, /* i/o: IsmFileReader handle */ - IVAS_ISM_METADATA *ismMetadata /* o ISM : metadata read from the opened file */ -) -{ - char char_buff[META_LINE_LENGTH]; - float meta_prm[NUM_ISM_METADATA_PER_LINE]; - char *char_ptr; - int16_t i; - FILE *file; - - if ( ismMetadata == NULL || self->file == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - file = self->file; - - if ( fgets( char_buff, META_LINE_LENGTH, file ) == NULL ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - char_ptr = strtok( char_buff, "," ); - i = 0; - meta_prm[i++] = (float) atof( char_ptr ); - if ( is_number( char_ptr ) == false ) - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - while ( ( char_ptr = strtok( NULL, "," ) ) != NULL && i < NUM_ISM_METADATA_PER_LINE ) - { - if ( is_number( char_ptr ) == false ) - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - - meta_prm[i++] = (float) atof( char_ptr ); - } - - if ( i != NUM_ISM_METADATA_PER_LINE ) - { - /* Not enough values provided in one line */ - return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; - } - - if ( char_ptr != NULL ) - { - /* Too many values provided in one line */ - return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; - } - - ismMetadata->azimuth = meta_prm[0]; - ismMetadata->elevation = meta_prm[1]; - ismMetadata->radius = meta_prm[2]; - ismMetadata->spread = meta_prm[3]; - ismMetadata->gainFactor = meta_prm[4]; - - /* verify whether the read metadata values are in an expected range */ - if ( ismMetadata->azimuth > 180 || ismMetadata->azimuth < -180 ) - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - - if ( ismMetadata->elevation > 90 || ismMetadata->elevation < -90 ) - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - - if ( ismMetadata->radius < 0 ) // Ivas_fmToDo: to be reviewed - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - - if ( ismMetadata->spread > 360 || ismMetadata->spread < 0 ) - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - - if ( ismMetadata->gainFactor > 1 || ismMetadata->gainFactor < 0 ) - { - return IVAS_ERR_ISM_INVALID_METADATA_VALUE; - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * IsmFileReader_close() - * - * De-allocates all underlying memory of an IsmFileReader. - *---------------------------------------------------------------------*/ - -void IsmFileReader_close( - IsmFileReader **selfPtr /* i/o: pointer to IsmFileReader handle */ -) -{ - if ( selfPtr == NULL || *selfPtr == NULL ) - { - return; - } - - fclose( ( *selfPtr )->file ); - free( ( *selfPtr )->file_path ); - free( *selfPtr ); - *selfPtr = NULL; - - return; -} - - -/*---------------------------------------------------------------------* - * IsmFileReader_getFilePath() - * - *---------------------------------------------------------------------*/ - -const char *IsmFileReader_getFilePath( - IsmFileReader *self /* i/o: IsmFileReader handle */ -) -{ - if ( self == NULL ) - { - return NULL; - } - - return self->file_path; -} diff --git a/lib_util/ism_file_reader.h b/lib_util/ism_file_reader.h deleted file mode 100644 index d618621d32..0000000000 --- a/lib_util/ism_file_reader.h +++ /dev/null @@ -1,67 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_ISM_FILE_READER_H -#define IVAS_ISM_FILE_READER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - -/* clang-format off */ - -typedef struct IsmFileReader IsmFileReader; - - -/*! r: IsmFileReader handle */ -IsmFileReader *IsmFileReader_open( - const char *filePath /* i : path to ISM metadata file */ -); - -/*! r: error code */ -ivas_error IsmFileReader_readNextFrame( - IsmFileReader *self, /* i/o: IsmFileReader handle */ - IVAS_ISM_METADATA *ismMetadata /* o : ISM metadata read from the opened file */ -); - -void IsmFileReader_close( - IsmFileReader **selfPtr /* i/o: pointer to IsmFileReader handle */ -); - -/*! r: path to the currently opened file or NULL if `self` is NULL */ -const char *IsmFileReader_getFilePath( - IsmFileReader* self /* i/o: IsmFileReader handle */ -); -/* clang-format on */ - - -#endif /* IVAS_ISM_FILE_READER_H */ diff --git a/lib_util/ism_file_writer.c b/lib_util/ism_file_writer.c deleted file mode 100644 index ac90e7b1eb..0000000000 --- a/lib_util/ism_file_writer.c +++ /dev/null @@ -1,174 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "ism_file_writer.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - - -#define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ -#define NUM_ISM_METADATA_PER_LINE 5 /* Number of ISM metadata per line in a metadata file */ - - -struct IsmFileWriter -{ - FILE *file; - char *file_path; -}; - -/*---------------------------------------------------------------------* - * IsmFileWriter_open() - * - * Allocates memory for an IsmFileReader and opens the file at given path for writing. - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error IsmFileWriter_open( - const char *filePathWav, /* i : path to output file */ - const int16_t obj_num, /* i : ISm number */ - IsmFileWriter **ismWriter /* o : IsmFileWriter handle */ -) -{ - char filePath[FILENAME_MAX], metadata_filename_loc[FILENAME_MAX - 12], ext_meta[16]; - IsmFileWriter *self; - FILE *file; - - strncpy( metadata_filename_loc, filePathWav, sizeof( metadata_filename_loc ) - 1 ); - sprintf( ext_meta, ".%d.csv", obj_num ); - const int32_t maxNumCharactersToAppend = (int32_t) sizeof( metadata_filename_loc ) - strlen( metadata_filename_loc ) - 1; - strncat( metadata_filename_loc, ext_meta, maxNumCharactersToAppend ); - - strcpy( filePath, metadata_filename_loc ); - metadata_filename_loc[strlen( metadata_filename_loc ) - strlen( ext_meta )] = '\0'; - - if ( strlen( filePathWav ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - file = fopen( filePath, "w" ); - - if ( !file ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - self = calloc( sizeof( IsmFileWriter ), 1 ); - self->file = file; - self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); - strcpy( self->file_path, filePath ); - - *ismWriter = self; - - return IVAS_ERR_OK; -} - -/*---------------------------------------------------------------------* - * IsmFileWriter_writeFrame() - * - * Writes ISM metadata into a previously opened file - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error IsmFileWriter_writeFrame( - const IVAS_ISM_METADATA ismMetadata, /* i : decoded ISM metadata */ - IsmFileWriter *ismWriter /* o : IsmFileReader handle */ -) -{ - char char_buff[META_LINE_LENGTH]; - FILE *file; - - if ( ismWriter->file == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - file = ismWriter->file; - - /* IVAS_fmToDo: work in progress; currently position_azimuth, position_elevation, position_radius, spread, gain_factor */ - sprintf( char_buff, "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor ); - - if ( file ) - { - fputs( char_buff, file ); - } - else - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * IsmFileWriter_close() - * - * De-allocates all underlying memory of an IsmFileWriter. - *---------------------------------------------------------------------*/ - -void IsmFileWriter_close( - IsmFileWriter **ismWriter /* i/o: pointer to IsmFileWriter handle */ -) -{ - if ( ismWriter == NULL || *ismWriter == NULL ) - { - return; - } - - fclose( ( *ismWriter )->file ); - free( ( *ismWriter )->file_path ); - free( *ismWriter ); - *ismWriter = NULL; - - return; -} - - -/*---------------------------------------------------------------------* - * IsmFileWriter_getFilePath() - * - *---------------------------------------------------------------------*/ - -/*! r: path to the currently opened file or NULL if `ismWriter` is NULL */ -const char *IsmFileWriter_getFilePath( - IsmFileWriter *ismWriter /* i/o: IsmFileWriter handle */ -) -{ - if ( ismWriter == NULL ) - { - return NULL; - } - - return ismWriter->file_path; -} diff --git a/lib_util/ism_file_writer.h b/lib_util/ism_file_writer.h deleted file mode 100644 index 1624eddd1a..0000000000 --- a/lib_util/ism_file_writer.h +++ /dev/null @@ -1,70 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_ISM_FILE_WRITER_H -#define IVAS_ISM_FILE_WRITER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - - -typedef struct IsmFileWriter IsmFileWriter; - -/* clang-format off */ - -/*! r: error code */ -ivas_error IsmFileWriter_open( - const char *filePathWav, /* i : path to output file */ - const int16_t obj_num, /* i : ISm number */ - IsmFileWriter **ismWriter /* o : IsmFileReader handle */ -); - -/*! r: error code */ -ivas_error IsmFileWriter_writeFrame( - const IVAS_ISM_METADATA ismMetadata, /* i : decoded ISM metadata */ - IsmFileWriter *ismWriter /* o : IsmFileWriter handle */ -); - -void IsmFileWriter_close( - IsmFileWriter **ismWriter /* i/o: pointer to IsmFileWriter handle */ -); - -/*! r: path to the currently opened file or NULL if `ismWriter` is NULL */ -const char *IsmFileWriter_getFilePath( - IsmFileWriter *ismWriter /* i : IsmFileWriter handle */ -); - - -/* clang-format on */ - -#endif /* IVAS_ISM_FILE_WRITER_H */ diff --git a/lib_util/jbm_file_reader.c b/lib_util/jbm_file_reader.c deleted file mode 100644 index 7360f0ced6..0000000000 --- a/lib_util/jbm_file_reader.c +++ /dev/null @@ -1,181 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "jbm_file_reader.h" -#include "cmdl_tools.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -struct JbmFileReader -{ - FILE *file; - char *file_path; -}; - - -/*---------------------------------------------------------------------* - * JbmFileReader_open() - * - * Allocates memory for an JbmFileReader and opens the file at given path for reading. - *---------------------------------------------------------------------*/ - -/*! r: JbmFileReader handle */ -JbmFileReader *JbmFileReader_open( - const char *filePath /* i : path to CA config file */ -) -{ - JbmFileReader *self; - FILE *file; - - if ( !filePath ) - { - return NULL; - } - - file = fopen( filePath, "rb" ); - - if ( !file ) - { - return NULL; - } - - self = calloc( sizeof( JbmFileReader ), 1 ); - self->file = file; - self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); - strcpy( self->file_path, filePath ); - - return self; -} - - -/*---------------------------------------------------------------------* - * JbmFileReader_readCAconfig() - * - * Read Chanel-aware config. entry - *---------------------------------------------------------------------*/ - -ivas_error JbmFileReader_readCAconfig( - JbmFileReader *self, /* i/o: JbmFileReader handle */ - IVAS_ENC_CHANNEL_AWARE_CONFIG *caConfig /* i/o: configuration of channel-aware mode */ -) -{ - char rline[10], str[4]; - int16_t tmp; - - /* Initialize */ - caConfig->fec_offset = 0; - caConfig->fec_indicator = IVAS_ENC_FEC_HI; - - while ( fgets( rline, 10, self->file ) == NULL && feof( self->file ) ) - { - rewind( self->file ); - } - - if ( sscanf( rline, "%s %hd", str, &tmp ) != 2 ) - { - fprintf( stderr, "Error in the RF configuration file. There is no proper configuration line.\n" ); - return IVAS_ERR_INVALID_FEC_CONFIG; - } - - /* Read RF FEC indicator */ - to_upper( str ); - - if ( strcmp( str, "HI" ) == 0 ) - { - caConfig->fec_indicator = IVAS_ENC_FEC_HI; - } - else if ( strcmp( str, "LO" ) == 0 ) - { - caConfig->fec_indicator = IVAS_ENC_FEC_LO; - } - else - { - fprintf( stderr, "Error: Incorrect FEC indicator string. Exiting the encoder.\n" ); - return IVAS_ERR_INVALID_FEC_CONFIG; - } - - /* Read RF FEC offset */ - if ( tmp == 0 || tmp == 2 || tmp == 3 || tmp == 5 || tmp == 7 ) - { - caConfig->fec_offset = tmp; - } - else - { - fprintf( stderr, "Error: incorrect FEC offset specified in the RF configuration file; RF offset can be 2, 3, 5, or 7. \n" ); - return IVAS_ERR_INVALID_FEC_CONFIG; - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * JbmFileReader_close() - * - * De-allocates all underlying memory of an JbmFileReader. - *---------------------------------------------------------------------*/ - -void JbmFileReader_close( - JbmFileReader **selfPtr /* i/o: pointer to JbmFileReader handle */ -) -{ - if ( selfPtr == NULL || *selfPtr == NULL ) - { - return; - } - - fclose( ( *selfPtr )->file ); - free( ( *selfPtr )->file_path ); - free( *selfPtr ); - *selfPtr = NULL; - - return; -} - - -/*---------------------------------------------------------------------* - * JbmFileReader_getFilePath() - * - *---------------------------------------------------------------------*/ - -const char *JbmFileReader_getFilePath( - JbmFileReader *self /* i/o: JbmFileReader handle */ -) -{ - if ( self == NULL ) - { - return NULL; - } - - return self->file_path; -} diff --git a/lib_util/jbm_file_reader.h b/lib_util/jbm_file_reader.h deleted file mode 100644 index dca0a6c135..0000000000 --- a/lib_util/jbm_file_reader.h +++ /dev/null @@ -1,67 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_JBM_FILE_READER_H -#define IVAS_JBM_FILE_READER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - -/* clang-format off */ - -typedef struct JbmFileReader JbmFileReader; - - -/*! r: JbmFileReader handle */ -JbmFileReader *JbmFileReader_open( - const char *filePath /* i : path to CA config file */ -); - -ivas_error JbmFileReader_readCAconfig( - JbmFileReader* self, /* i/o: JbmFileReader handle */ - IVAS_ENC_CHANNEL_AWARE_CONFIG *caConfig /* i/o: configuration of channel-aware mode */ -); - -void JbmFileReader_close( - JbmFileReader **selfPtr /* i/o: pointer to JbmFileReader handle */ -); - -/*! r: path to the currently opened file or NULL if `self` is NULL */ -const char *JbmFileReader_getFilePath( - JbmFileReader* self /* i/o: JbmFileReader handle */ -); - - -/* clang-format on */ - -#endif /* IVAS_JBM_FILE_READER_H */ diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c deleted file mode 100644 index bf34c51872..0000000000 --- a/lib_util/jbm_file_writer.c +++ /dev/null @@ -1,293 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "jbm_file_writer.h" -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - - -struct JbmOffsetFileWriter -{ - FILE *file; - char *file_path; -}; - -#ifdef SUPPORT_JBM_TRACEFILE -struct JbmTraceFileWriter -{ - FILE *file; - char *file_path; -}; -#endif - - -/*---------------------------------------------------------------------* - * JbmOffsetFileWriter_open() - * - * Allocates memory for an JbmOffsetFileReader and opens the file at given path for writing. - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error JbmOffsetFileWriter_open( - const char *jbmOffsetFilename, /* i : path to output JBM offset file */ - JbmOffsetFileWriter **jbmOffsetWriter /* o : JbmOffsetFileWriter handle */ -) -{ - JbmOffsetFileWriter *self; - FILE *file; - - if ( strlen( jbmOffsetFilename ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - file = fopen( jbmOffsetFilename, "w" ); - - if ( !file ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - self = calloc( sizeof( JbmTraceFileWriter ), 1 ); - self->file = file; - self->file_path = calloc( sizeof( char ), strlen( jbmOffsetFilename ) + 1 ); - strcpy( self->file_path, jbmOffsetFilename ); - - *jbmOffsetWriter = self; - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * JbmOffsetFileWriter_writeFrame() - * - * Writes JBM offset to a previously opened file. - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error JbmOffsetFileWriter_writeFrame( - const int16_t FEC_hi, - int16_t optimum_offset, - JbmOffsetFileWriter *jbmOffsetWriter /* i/o: JbmOffsetFileWriter handle */ -) -{ - FILE *file; - - if ( jbmOffsetWriter->file == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - file = jbmOffsetWriter->file; - - if ( file ) - { - if ( FEC_hi == 1 ) - { - fprintf( file, "HI " ); - } - else - { - fprintf( file, "LO " ); - } - - if ( optimum_offset == 1 || optimum_offset == 2 ) - { - optimum_offset = 2; - } - else if ( optimum_offset == 3 || optimum_offset == 4 ) - { - optimum_offset = 3; - } - else if ( optimum_offset == 5 || optimum_offset == 6 ) - { - optimum_offset = 5; - } - else if ( optimum_offset >= 7 ) - { - optimum_offset = 7; - } - - fprintf( file, "%d\n", optimum_offset ); - } - else - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * JbmOffsetFileWriter_close() - * - * De-allocates all underlying memory of an JbmOffsetFileWriter. - *---------------------------------------------------------------------*/ - -void JbmOffsetFileWriter_close( - JbmOffsetFileWriter **jbmOffsetWriter /* i/o: pointer to JbmOffsetFileWriter handle */ -) -{ - if ( jbmOffsetWriter == NULL || *jbmOffsetWriter == NULL ) - { - return; - } - - fclose( ( *jbmOffsetWriter )->file ); - free( ( *jbmOffsetWriter )->file_path ); - free( *jbmOffsetWriter ); - *jbmOffsetWriter = NULL; - - return; -} - - -#ifdef SUPPORT_JBM_TRACEFILE - -/*---------------------------------------------------------------------* - * JbmTraceFileWriter_open() - * - * Allocates memory for an JbmTraceFileReader and opens the file at given path for writing. - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error JbmTraceFileWriter_open( - const char *jbmTraceFilename, /* i : path to output JBM tracefile */ - JbmTraceFileWriter **jbmTraceWriter /* o : JbmFileWriter handle */ -) -{ - JbmTraceFileWriter *self; - FILE *file; - -#ifdef SUPPORT_JBM_TRACEFILE -#endif - - if ( strlen( jbmTraceFilename ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - file = fopen( jbmTraceFilename, "w" ); - - if ( !file ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - fprintf( file, "#rtpSeqNo;rtpTs;rcvTime;playTime;active\n" ); - - self = calloc( sizeof( JbmTraceFileWriter ), 1 ); - self->file = file; - self->file_path = calloc( sizeof( char ), strlen( jbmTraceFilename ) + 1 ); - strcpy( self->file_path, jbmTraceFilename ); - - *jbmTraceWriter = self; - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * JbmTraceFileWriter_writeFrame() - * - * Writes JBM Tracefile data to a previously opened file. - *---------------------------------------------------------------------*/ - -/*! r: error code */ -ivas_error JbmTraceFileWriter_writeFrame( - const IVAS_JBM_TRACE_DATA *JbmTraceData, /* i : JBM trace data */ - JbmTraceFileWriter *jbmTraceWriter /* o : JbmTraceFileWriter handle */ -) -{ - FILE *file; - - if ( jbmTraceWriter->file == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - file = jbmTraceWriter->file; - - if ( file ) - { - /* rtpSeqNo;rtpTs;rcvTime;playTime;active\n */ - if ( JbmTraceData->dataUnit_flag ) - { - if ( JbmTraceData->partial_frame_flag == 1 ) - { - fprintf( file, "%d;%d;%d;%f;%d;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive, JbmTraceData->partialCopyOffset ); - } - else - { - fprintf( file, "%u;%u;%u;%f;%d\n", JbmTraceData->sequenceNumber, JbmTraceData->timeStamp, JbmTraceData->rcvTime, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); - } - } - else - { - fprintf( file, "%d;%d;%d;%f;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); - } - } - else - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * JbmTraceFileWriter_close() - * - * De-allocates all underlying memory of an JbmTraceFileWriter. - *---------------------------------------------------------------------*/ - -void JbmTraceFileWriter_close( - JbmTraceFileWriter **jbmTraceWriter /* i/o: pointer to JbmTraceFileWriter handle */ -) -{ - if ( jbmTraceWriter == NULL || *jbmTraceWriter == NULL ) - { - return; - } - - fclose( ( *jbmTraceWriter )->file ); - free( ( *jbmTraceWriter )->file_path ); - free( *jbmTraceWriter ); - *jbmTraceWriter = NULL; - - return; -} -#endif diff --git a/lib_util/jbm_file_writer.h b/lib_util/jbm_file_writer.h deleted file mode 100644 index 5cfab08f61..0000000000 --- a/lib_util/jbm_file_writer.h +++ /dev/null @@ -1,86 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_JBM_FILE_WRITER_H -#define IVAS_JBM_FILE_WRITER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - -/* clang-format off */ - - -typedef struct JbmOffsetFileWriter JbmOffsetFileWriter; -#ifdef SUPPORT_JBM_TRACEFILE -typedef struct JbmTraceFileWriter JbmTraceFileWriter; -#endif - - -ivas_error JbmOffsetFileWriter_open( - const char *jbmOffsetFilename, /* i : path to output JBM offset file */ - JbmOffsetFileWriter **jbmOffsetWriter /* o : JbmOffsetFileWriter handle */ -); - -/*! r: error code */ -ivas_error JbmOffsetFileWriter_writeFrame( - const int16_t FEC_hi, - int16_t optimum_offset, - JbmOffsetFileWriter *jbmOffsetWriter /* o : JbmTOffsetFileWriter handle */ -); - -void JbmOffsetFileWriter_close( - JbmOffsetFileWriter **jbmOffsetWriter /* i/o: pointer to JbmOffsetFileWriter handle */ -); - - -#ifdef SUPPORT_JBM_TRACEFILE -/*! r: error code */ -ivas_error JbmTraceFileWriter_open( - const char *jbmTraceFilename, /* i : path to output JBM tracefile */ - JbmTraceFileWriter **jbmTraceWriter /* o : JbmTraceFileWriter handle */ -); - -/*! r: error code */ -ivas_error JbmTraceFileWriter_writeFrame( - const IVAS_JBM_TRACE_DATA *JbmTraceData, /* i : JBM data */ - JbmTraceFileWriter *jbmWriter /* o : JbmTraceFileWriter handle */ -); - -void JbmTraceFileWriter_close( - JbmTraceFileWriter **jbmTraceWriter /* i/o: pointer to JbmTraceFileWriter handle */ -); -#endif - -/* clang-format on */ - -#endif /* IVAS_JBM_FILE_WRITER_H */ diff --git a/lib_util/ls_custom_file_reader.c b/lib_util/ls_custom_file_reader.c deleted file mode 100644 index 58d78de068..0000000000 --- a/lib_util/ls_custom_file_reader.c +++ /dev/null @@ -1,404 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "ls_custom_file_reader.h" -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include "ivas_prot.h" -#include "prot.h" - - -struct LsCustomFileReader -{ - FILE *file; - char *file_path; -}; - - -/*-----------------------------------------------------------------------* - * CustomLsReader_open() - * - * Allocate and initialize Custom LS layout reader - *-----------------------------------------------------------------------*/ - -ivas_error CustomLsReader_open( - const char *LsFilePath, /* i : LS custom layout file name */ - LsCustomFileReader **hLsCustomReader /* o : HeadRotFileReader handle */ -) -{ - LsCustomFileReader *self; - FILE *lsFile; - - /* Open trajectory file */ - if ( strlen( LsFilePath ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - lsFile = fopen( LsFilePath, "r" ); - - if ( !lsFile ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - self = calloc( sizeof( LsCustomFileReader ), 1 ); - self->file = lsFile; - self->file_path = calloc( sizeof( char ), strlen( LsFilePath ) + 1 ); - strcpy( self->file_path, LsFilePath ); - - *hLsCustomReader = self; - - return IVAS_ERR_OK; -} - - -/*-----------------------------------------------------------------------* - * CustomLsReader_close() - * - * Deallocates memory for the Custom LS layout reader - *-----------------------------------------------------------------------*/ - -void CustomLsReader_close( - LsCustomFileReader **hLsCustomReader /* i/o: HeadRotFileReader handle */ -) -{ - if ( hLsCustomReader == NULL || *hLsCustomReader == NULL ) - { - return; - } - - fclose( ( *hLsCustomReader )->file ); - free( ( *hLsCustomReader )->file_path ); - free( *hLsCustomReader ); - *hLsCustomReader = NULL; - - return; -} - - -/*-------------------------------------------------------------------------* - * CustomLoudspeakerLayout_validate() - * - * Validate values for a custom loudspeaker setup - *-------------------------------------------------------------------------*/ - -static LS_CUSTOM_FILEREADER_ERROR CustomLoudspeakerLayout_validate( - int16_t *num_azi, /* i : Number of azimuth loudspeakers */ - int16_t *num_ele, /* i : Number of elevation loudspeakers */ - float *azi, /* i : Loudspeaker azimuths */ - float *ele, /* i : Loudspeaker elevations */ - const int16_t num_lfe /* i : Number of LFE channels */ -) -{ - int16_t i, j; - int16_t dup_count; - int16_t dup[IVAS_MAX_OUTPUT_CHANNELS]; - float azi_tmp[IVAS_MAX_OUTPUT_CHANNELS]; - float ele_tmp[IVAS_MAX_OUTPUT_CHANNELS]; - - if ( *num_azi != *num_ele ) - { - return LS_CUSTOM_FILEREADER_NUM_SPK_MISMATCH_ERROR; - } - - /* IVAS_OUTPUT_SETUP only supports 1 LFE - can be removed in the future */ - if ( num_lfe > 1 ) - { - return LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR; - } - - if ( ( *num_azi + num_lfe ) > IVAS_MAX_OUTPUT_CHANNELS ) - { - return LS_CUSTOM_FILEREADER_OUTPUT_NCHAN_EXCEEDED_ERROR; - } - - /* Wrap angles */ - for ( i = 0; i < *num_azi; i++ ) - { - panning_wrap_angles( azi[i], ele[i], &azi[i], &ele[i] ); - } - - /* Check for and flag duplicate loudspeakers */ - dup_count = 0; - set_s( dup, 0, IVAS_MAX_OUTPUT_CHANNELS ); - for ( i = 0; i < *num_azi; i++ ) - { - for ( j = i + 1; j < *num_azi; j++ ) - { - if ( azi[i] == azi[j] && ele[i] == ele[j] ) - { - dup[j] = 1; - } - } - } - - /* Remove duplicates from array */ - set_zero( azi_tmp, IVAS_MAX_OUTPUT_CHANNELS ); - set_zero( ele_tmp, IVAS_MAX_OUTPUT_CHANNELS ); - - for ( i = 0, j = 0; i < *num_azi; i++ ) - { - if ( dup[i] ) - { - dup_count++; - continue; - } - azi_tmp[j] = azi[i]; - ele_tmp[j] = ele[i]; - j++; - } - - ( *num_azi ) -= dup_count; - mvr2r( azi_tmp, azi, IVAS_MAX_OUTPUT_CHANNELS ); - mvr2r( ele_tmp, ele, IVAS_MAX_OUTPUT_CHANNELS ); - - return LS_CUSTOM_FILEREADER_NO_ERROR; -} - - -/*-------------------------------------------------------------------------* - * CustomLoudspeakerLayout_print_info() - * - * Print information for a custom loudspeaker setup - *-------------------------------------------------------------------------*/ - -static void CustomLoudspeakerLayout_print_info( - const IVAS_CUSTOM_LS_DATA *hLsCustomData /* i : Custom loudspeaker setup data */ -) -{ - int16_t i; - - fprintf( stdout, "\nCustom Loudspeaker configuration:" ); - fprintf( stdout, "\n AZI, ELE " ); - for ( i = 0; i < hLsCustomData->num_spk; i++ ) - { - fprintf( stdout, "\n(% 4.0f, % 4.0f)", hLsCustomData->azimuth[i], hLsCustomData->elevation[i] ); - } - - if ( hLsCustomData->num_lfe > 0 ) - { - fprintf( stdout, "\nLFE indice(s):" ); - for ( i = 0; i < ( hLsCustomData->num_lfe - 1 ); i++ ) - { - fprintf( stdout, " % 2d,", hLsCustomData->lfe_idx[i] ); - } - fprintf( stdout, " % 2d", hLsCustomData->lfe_idx[i] ); - } - - fprintf( stdout, "\n" ); - - return; -} - - -/*-------------------------------------------------------------------------* - * CustomLsFileReading() - * - * Parse a custom loudspeaker setup file data - *-------------------------------------------------------------------------*/ - -LS_CUSTOM_FILEREADER_ERROR CustomLsFileReading( - LsCustomFileReader *hLsCustomReader, /* i/o: HeadRotFileReader handle */ - IVAS_CUSTOM_LS_DATA *hLsCustomData /* o : Custom loudspeaker setup data */ -) -{ - LS_CUSTOM_FILEREADER_ERROR error; - - char line[200]; /* > (10 chars * IVAS_MAX_OUTPUT_CHANNELS) i.e. "-999, " */ - const char *tok; - - int16_t num_azi, num_ele, num_lfe; - - /* initialize variables */ - num_azi = 0; - num_ele = 0; - num_lfe = 0; - - set_zero( hLsCustomData->azimuth, IVAS_MAX_OUTPUT_CHANNELS ); - set_zero( hLsCustomData->elevation, IVAS_MAX_OUTPUT_CHANNELS ); - set_s( hLsCustomData->lfe_idx, -1, IVAS_MAX_OUTPUT_CHANNELS ); - - if ( hLsCustomReader->file == NULL ) - { - return LS_CUSTOM_FILEREADER_NULL_PTR; - } - - /* parse loudspeaker azimuths */ - if ( ( fgets( line, 200, hLsCustomReader->file ) == NULL ) || ( strcmp( line, "\n" ) == 0 ) || ( strcmp( line, "\r\n" ) == 0 ) ) - { - fclose( hLsCustomReader->file ); - - return LS_CUSTOM_FILEREADER_EOF_ERROR; - } - - for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) - { - while ( *tok == ' ' ) - { - tok++; - } - - if ( *tok == '\0' ) - { - continue; - } - - if ( num_azi >= IVAS_MAX_OUTPUT_CHANNELS ) - { - return LS_CUSTOM_FILEREADER_AZI_NUM_SPK_EXCEEDED_ERROR; - } - else - { - hLsCustomData->azimuth[num_azi] = (float) atof( tok ); - num_azi++; - } - } - - /* parse loudspeaker elevations */ - if ( ( fgets( line, 200, hLsCustomReader->file ) == NULL ) || ( strcmp( line, "\n" ) == 0 ) || ( strcmp( line, "\r\n" ) == 0 ) ) - { - return LS_CUSTOM_FILEREADER_EOF_ERROR; - } - - for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) - { - while ( *tok == ' ' ) - { - tok++; - } - - if ( *tok == '\0' ) - { - continue; - } - - if ( num_ele >= IVAS_MAX_OUTPUT_CHANNELS ) - { - return LS_CUSTOM_FILEREADER_ELE_NUM_SPK_EXCEEDED_ERROR; - } - else - { - hLsCustomData->elevation[num_ele] = (float) atof( tok ); - num_ele++; - } - } - - /* parse LFE indices; skip if blank line */ - if ( ( fgets( line, 200, hLsCustomReader->file ) != NULL ) && ( strcmp( line, "\n" ) != 0 ) && ( strcmp( line, "\r\n" ) != 0 ) ) - { - for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) - { - while ( *tok == ' ' ) - { - tok++; - } - - if ( *tok == '\0' ) - { - continue; - } - - if ( num_lfe > IVAS_MAX_OUTPUT_CHANNELS ) - { - return LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR; - } - else - { - hLsCustomData->lfe_idx[num_lfe] = (int16_t) atoi( tok ); - if ( hLsCustomData->lfe_idx[num_lfe] < 0 || hLsCustomData->lfe_idx[num_lfe] > ( IVAS_MAX_OUTPUT_CHANNELS - 1 ) ) - { - return LS_CUSTOM_FILEREADER_LFE_INDEX_ERROR; - } - num_lfe++; - } - } - } - - /* Perform validation */ - if ( ( error = CustomLoudspeakerLayout_validate( &num_azi, &num_ele, hLsCustomData->azimuth, hLsCustomData->elevation, num_lfe ) ) != LS_CUSTOM_FILEREADER_NO_ERROR ) - { - return error; - } - - /* Loudspeaker azimuths and elevations */ - hLsCustomData->num_spk = num_azi; - - /* Loudspeaker LFE */ - hLsCustomData->num_lfe = num_lfe; - - /* Print information about setup */ - CustomLoudspeakerLayout_print_info( hLsCustomData ); - - return LS_CUSTOM_FILEREADER_NO_ERROR; -} - - -/*-------------------------------------------------------------------------* - * CustomLoudspeakerLayout_getError() - * - * Retrun error message for custom loudspeaker setup error - *-------------------------------------------------------------------------*/ - -/*!r : custom LS error message */ -const char *CustomLoudspeakerLayout_getError( - LS_CUSTOM_FILEREADER_ERROR error /* i : custom LS error */ -) -{ - switch ( error ) - { - case LS_CUSTOM_FILEREADER_NO_ERROR: - return "no error"; - case LS_CUSTOM_FILEREADER_NULL_PTR: - return "unexpected NULL pointer"; - case LS_CUSTOM_FILEREADER_EOF_ERROR: - return "early or unexpected EOF"; - case LS_CUSTOM_FILEREADER_AZI_NUM_SPK_EXCEEDED_ERROR: - return "too many azimuth positions specified"; - case LS_CUSTOM_FILEREADER_ELE_NUM_SPK_EXCEEDED_ERROR: - return "too many elevation positions specified"; - case LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR: - return "only one LFE channel index is supported"; - case LS_CUSTOM_FILEREADER_LFE_INDEX_ERROR: - return "invalid or negative LFE index specified"; - case LS_CUSTOM_FILEREADER_NUM_SPK_MISMATCH_ERROR: - return "mismatch between specified number of azimuth and elevation positions"; - case LS_CUSTOM_FILEREADER_OUTPUT_NCHAN_EXCEEDED_ERROR: - return "too many output channels specified"; - case LS_CUSTOM_FILEREADER_MALLOC_ERROR: - return "error allocating memory"; - case LS_CUSTOM_FILEREADER_UNKNOWN_ERROR: - default: - return "unknown error"; - } -} diff --git a/lib_util/ls_custom_file_reader.h b/lib_util/ls_custom_file_reader.h deleted file mode 100644 index e35c06ea88..0000000000 --- a/lib_util/ls_custom_file_reader.h +++ /dev/null @@ -1,105 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_LS_CUSTOM_FILE_READER_H -#define IVAS_LS_CUSTOM_FILE_READER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - - -typedef struct LsCustomFileReader LsCustomFileReader; - - -typedef enum _LS_CUSTOM_FILEREADER_ERROR -{ - LS_CUSTOM_FILEREADER_NO_ERROR = 0x0000, - LS_CUSTOM_FILEREADER_NULL_PTR = 0x0001, - LS_CUSTOM_FILEREADER_EOF_ERROR = 0x0002, - LS_CUSTOM_FILEREADER_AZI_NUM_SPK_EXCEEDED_ERROR = 0x0003, - LS_CUSTOM_FILEREADER_ELE_NUM_SPK_EXCEEDED_ERROR = 0x0004, - LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR = 0x0005, - LS_CUSTOM_FILEREADER_LFE_INDEX_ERROR = 0x0006, - LS_CUSTOM_FILEREADER_NUM_SPK_MISMATCH_ERROR = 0x0007, - LS_CUSTOM_FILEREADER_OUTPUT_NCHAN_EXCEEDED_ERROR = 0x0008, - LS_CUSTOM_FILEREADER_MALLOC_ERROR = 0x0009, - LS_CUSTOM_FILEREADER_UNKNOWN_ERROR = 0xffff, - -} LS_CUSTOM_FILEREADER_ERROR; - - -/*-----------------------------------------------------------------------* - * CustomLsReader_open() - * - * Allocate and initialize Custom LS layout reader - *-----------------------------------------------------------------------*/ - -ivas_error CustomLsReader_open( - const char *LsFilePath, /* i : LS custom layout file name */ - LsCustomFileReader **hLsCustomReader /* o : HeadRotFileReader handle */ -); - -/*-----------------------------------------------------------------------* - * CustomLsReader_close() - * - * Deallocates memory for the Custom LS layout reader - *-----------------------------------------------------------------------*/ - -void CustomLsReader_close( - LsCustomFileReader **hLsCustomReader /* i/o: HeadRotFileReader handle */ -); - -/*-------------------------------------------------------------------------* - * CustomLsFileReading() - * - * Parse a custom loudspeaker setup file data - *-------------------------------------------------------------------------*/ - -LS_CUSTOM_FILEREADER_ERROR CustomLsFileReading( - LsCustomFileReader *hLsCustomReader, /* i/o: HeadRotFileReader handle */ - IVAS_CUSTOM_LS_DATA *hLsCustomData /* o : Custom loudspeaker setup data */ -); - -/*-------------------------------------------------------------------------* - * CustomLoudspeakerLayout_getError() - * - * Retrun error message for custom loudspeaker setup error - *-------------------------------------------------------------------------*/ - -/*!r : custom LS error message */ -const char *CustomLoudspeakerLayout_getError( - LS_CUSTOM_FILEREADER_ERROR error /* i : custom LS error */ -); - - -#endif /* IVAS_LS_CUSTOM_FILE_READER_H */ diff --git a/lib_util/masa_file_reader.c b/lib_util/masa_file_reader.c deleted file mode 100644 index 918d613d37..0000000000 --- a/lib_util/masa_file_reader.c +++ /dev/null @@ -1,428 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "masa_file_reader.h" -#include "ivas_prot.h" -#include <stdio.h> -#include <stdlib.h> -#include <math.h> - - -struct MasaFileReader -{ - FILE *file; - MASA_METADATA_FRAME metadataFrame; - SPHERICAL_GRID_DATA sph_grid16; -}; - -/*------------------------------------------------------------------------- - * MasaFileReader_open() - * - * Allocate and open MasaFileReader handle - *------------------------------------------------------------------------*/ - -MasaFileReader *MasaFileReader_open( - const char *fileName /* i : path to MASA metadata file */ -) -{ - MasaFileReader *self; - FILE *file; - - if ( !fileName ) - { - return NULL; - } - - file = fopen( fileName, "rb" ); - - if ( !file ) - { - return NULL; - } - - self = calloc( sizeof( MasaFileReader ), 1 ); - self->file = file; - generate_gridEq( &self->sph_grid16 ); - - return self; -} - - -/*------------------------------------------------------------------------- - * MasaFileReader_getMetadataHandle() - * - * AGet MasaFileReader handle - *------------------------------------------------------------------------*/ - -IVAS_MASA_METADATA_HANDLE MasaFileReader_getMetadataHandle( - MasaFileReader *self /* i/o: MasaFileReader handle */ -) -{ - if ( self == NULL ) - { - return NULL; - } - - return &self->metadataFrame; -} - -/*------------------------------------------------------------------------- - * deindex_sph_idx() - * - * deindex the MASA metadata from the input metadata file - *------------------------------------------------------------------------*/ - -static void deindex_sph_idx( - const uint16_t sphIndex, /* i : Spherical index */ - const SPHERICAL_GRID_DATA *gridData, /* i : Prepared spherical grid */ - float *theta, /* o : Elevation */ - float *phi /* o : Azimuth */ -) -{ - float ba_crt, del_crt, div_crt, a4_crt; - float estim; - int32_t base_low, base_up; - int16_t n_crt; - int16_t id_th; - int16_t sign_theta; - int16_t id_phi; - int16_t no_th = gridData->no_theta; - const int16_t *n = gridData->no_phi; - const float ba[3] = { - 2.137991118026424e+02f, - 1.244854404591542e+02f, - 1.228408647140870e+02f, - }; - const float del[3] = { 7.998262115303199e+05f, 1.300883976959332e+06f, 1.424072242426373e+06f }; - const float div[3] = { -0.237662341081474f, -0.100938185496887f, -0.092050209205032f }; - const float a4[3] = { -8.415300425381099f, -19.814106922515204f, -21.727272727270197f }; - const uint16_t limit_index1 = 64964, limit_index2 = 47870; - - if ( sphIndex >= limit_index1 ) - { - ba_crt = ba[2]; - div_crt = div[2]; - a4_crt = a4[2]; - del_crt = del[2]; - } - else if ( sphIndex >= limit_index2 ) - { - ba_crt = ba[1]; - div_crt = div[1]; - a4_crt = a4[1]; - del_crt = del[1]; - } - else - { - ba_crt = ba[0]; - div_crt = div[0]; - a4_crt = a4[0]; - del_crt = del[0]; - } - estim = ba_crt + div_crt * sqrtf( del_crt + a4_crt * sphIndex ); - - if ( estim > MASA_NO_CIRCLES ) - { - estim = MASA_NO_CIRCLES; - } - - assert( estim > 0 ); - id_th = (int16_t) roundf( estim ) - 1; - if ( id_th < 0 ) - { - id_th = 0; - } - - if ( id_th == 0 ) - { - base_low = 0; - base_up = n[0]; - } - else - { - estim = MASA_ANGLE_AT_EQUATOR * (float) ( id_th - 0.5f ); - base_low = n[0]; - if ( id_th >= 2 ) - { - if ( id_th == 2 ) - { - base_low += 2 * (int16_t) ceilf( MASA_NTOT2_FAC * ( sinf( estim ) - MASA_ASIN_OFFSET ) ); - } - else - { - base_low += 2 * (int16_t) roundf( MASA_NTOT2_FAC * ( sinf( estim ) - MASA_ASIN_OFFSET ) ); - } - } - base_up = base_low + 2 * n[id_th]; - } - - sign_theta = 1; - - n_crt = n[id_th]; - if ( sphIndex < base_low ) - { - id_th--; - n_crt = n[id_th]; - if ( id_th == 0 ) - { - base_low = 0; - base_up = n_crt; - } - else - { - base_up = base_low; - base_low -= 2 * n[id_th]; - } - assert( sphIndex >= base_low ); - } - else if ( sphIndex >= base_up ) - { - id_th++; - n_crt = n[id_th]; - base_low = base_up; - base_up += 2 * n_crt; - assert( sphIndex < base_up ); - } - - id_phi = (int16_t) ( sphIndex - base_low ); - if ( sphIndex - base_low >= n_crt ) - { - id_phi -= n_crt; - sign_theta = -1; - } - - if ( id_th == 0 ) - { - *theta = 0.f; - *phi = (float) sphIndex * 360 / (float) n_crt - 180; - } - else - { - if ( id_th == no_th - 1 ) - { - id_phi = 0; - *phi = -180; - *theta = 90 * (float) sign_theta; - } - else - { - *theta = id_th * MASA_ANGLE_AT_EQUATOR_DEG * (float) sign_theta; - if ( id_th % 2 == 0 ) - { - *phi = (float) id_phi * 360 / (float) n_crt - 180; - } - else - { - *phi = ( (float) id_phi + 0.5f ) * 360 / (float) n_crt - 180; - } - } - } - - return; -} - - -/*------------------------------------------------------------------------- - * MasaFileReader_readNextFrame() - * - * Read MASA data - *------------------------------------------------------------------------*/ - -ivas_error MasaFileReader_readNextFrame( - MasaFileReader *self /* i/o: MasaFileReader handle */ -) -{ - if ( self == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - const uint8_t ivasmasaFormatDescriptor[8] = { 0x49, 0x56, 0x41, 0x53, 0x4D, 0x41, 0x53, 0x41 }; /* "IVASMASA" */ - uint16_t twoByteBuffer = 0; - int16_t i, j, b; - IVAS_MASA_METADATA_HANDLE hMeta; - FILE *metafile; - uint16_t readIndex[MASA_FREQUENCY_BANDS]; - uint8_t readOther[MASA_FREQUENCY_BANDS]; - - hMeta = &self->metadataFrame; - metafile = self->file; - - /* Read version */ - if ( fread( &hMeta->descriptive_meta.formatDescriptor, sizeof( uint8_t ), 8, metafile ) != 8 ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( i = 0; i < 8; i++ ) - { - if ( hMeta->descriptive_meta.formatDescriptor[i] != ivasmasaFormatDescriptor[i] ) - { -#ifdef DEBUGGING - fprintf( stderr, "Input format is not IVASMASA\n" ); -#endif - return IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE; - } - } - - /* Read combined descriptive meta */ - if ( fread( &twoByteBuffer, sizeof( uint16_t ), 1, metafile ) != 1 ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - /* Extract rest of the descriptive meta from the two-byte value */ - hMeta->descriptive_meta.numberOfDirections = ( twoByteBuffer >> 15u ) & 0x1u; - hMeta->descriptive_meta.numberOfChannels = ( twoByteBuffer >> 14u ) & 0x1u; - hMeta->descriptive_meta.sourceFormat = ( twoByteBuffer >> 12u ) & 0x3u; - if ( hMeta->descriptive_meta.sourceFormat == 0x0 || hMeta->descriptive_meta.sourceFormat == 0x1 ) - { - hMeta->descriptive_meta.transportDefinition = ( twoByteBuffer >> 9u ) & 0x7u; - hMeta->descriptive_meta.channelAngle = ( twoByteBuffer >> 6u ) & 0x7u; - hMeta->descriptive_meta.channelDistance = twoByteBuffer & 0x3Fu; - hMeta->descriptive_meta.channelLayout = 0; /* Set to zero as unused */ - } - else if ( hMeta->descriptive_meta.sourceFormat == 0x2 ) - { - hMeta->descriptive_meta.channelLayout = ( twoByteBuffer >> 9u ) & 0x7u; - /* 9 LSB unused */ - hMeta->descriptive_meta.transportDefinition = 0; /* Set to zero as unused */ - hMeta->descriptive_meta.channelAngle = 0; /* Set to zero as unused */ - hMeta->descriptive_meta.channelDistance = 0; /* Set to zero as unused */ - } - else if ( hMeta->descriptive_meta.sourceFormat == 0x3 ) - { - hMeta->descriptive_meta.transportDefinition = ( twoByteBuffer >> 9u ) & 0x7u; - hMeta->descriptive_meta.channelAngle = ( twoByteBuffer >> 6u ) & 0x7u; - /* 6 LSB unused */ - hMeta->descriptive_meta.channelDistance = 0; /* Set to zero as unused */ - hMeta->descriptive_meta.channelLayout = 0; /* Set to zero as unused */ - } - - for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; ++j ) - { - /* Read directional spatial meta */ - for ( i = 0; i < hMeta->descriptive_meta.numberOfDirections + 1; ++i ) - { - /* Spherical index */ - if ( fread( readIndex, sizeof( uint16_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) - { - deindex_sph_idx( readIndex[b], &self->sph_grid16, &( hMeta->directional_meta[i].elevation[j][b] ), &( hMeta->directional_meta[i].azimuth[j][b] ) ); - } - - /* Direct-to-total ratio */ - if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) - { - hMeta->directional_meta[i].energy_ratio[j][b] = ( (float) readOther[b] ) / UINT8_MAX; - } - - /* Spread coherence */ - if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) - { - hMeta->directional_meta[i].spread_coherence[j][b] = ( (float) readOther[b] ) / UINT8_MAX; - } - } - - /* Read common spatial meta */ - /* Diffuse-to-total ratio */ - if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) - { - hMeta->common_meta.diffuse_to_total_ratio[j][b] = ( (float) readOther[b] ) / UINT8_MAX; - } - - /* Surround coherence */ - if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) - { - hMeta->common_meta.surround_coherence[j][b] = ( (float) readOther[b] ) / UINT8_MAX; - } - - /* Remainder-to-total ratio */ - if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_READ; - } - - for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) - { - hMeta->common_meta.remainder_to_total_ratio[j][b] = ( (float) readOther[b] ) / UINT8_MAX; - } - } - - return IVAS_ERR_OK; -} - -/*------------------------------------------------------------------------- - * MasaFileReader_close() - * - * Close MasaFileReader - *------------------------------------------------------------------------*/ - -void MasaFileReader_close( - MasaFileReader **selfPtr /* i/o: pointer to MasaFileReader handle */ -) -{ - if ( selfPtr == NULL || *selfPtr == NULL ) - { - return; - } - - fclose( ( *selfPtr )->file ); - free( *selfPtr ); - *selfPtr = NULL; - - return; -} diff --git a/lib_util/masa_file_reader.h b/lib_util/masa_file_reader.h deleted file mode 100644 index 898303c99e..0000000000 --- a/lib_util/masa_file_reader.h +++ /dev/null @@ -1,85 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_MASA_FILE_READER_H -#define IVAS_MASA_FILE_READER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - - -struct MasaFileReader; -typedef struct MasaFileReader MasaFileReader; - - -/*! r: MasaFileReader handle */ -MasaFileReader *MasaFileReader_open( - const char *fileName /* i : path to MASA metadata file */ -); - -/*---------------------------------------------------------------------* - * MasaFileReader_getMetadataHandle() - * - * Returns a handle to an already allocated MASA metadata frame struct. - * Metadata for each frame is available through this handle after - * MasaFileReader_readNextFrame is called. - *---------------------------------------------------------------------*/ -/*! r: handle to MASA metadata */ -IVAS_MASA_METADATA_HANDLE MasaFileReader_getMetadataHandle( - MasaFileReader *self /* i/o: MasaFileReader handle */ -); - -/*---------------------------------------------------------------------* - * MasaFileReader_readNextFrame() - * - * Reads MASA metadata for one frame from the opened file into the internal - * MASA metadata frame struct. The metadata is available through the struct - * handle returned by MasaFileReader_getMetadataHandle(). - *---------------------------------------------------------------------*/ -/*! r: error code */ -ivas_error MasaFileReader_readNextFrame( - MasaFileReader *self /* i/o: MasaFileReader handle */ -); - -/*---------------------------------------------------------------------* - * MasaFileReader_close() - * - * Deallocate the MasaFileReader. This also includes the MASA metadata - * frame struct available through MasaFileReader_getMetadataHandle. - *---------------------------------------------------------------------*/ -void MasaFileReader_close( - MasaFileReader **selfPtr /* i/o: pointer to MasaFileReader handle */ -); - - -#endif /* IVAS_MASA_FILE_READER_H */ diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c deleted file mode 100644 index e8f9a09c68..0000000000 --- a/lib_util/masa_file_writer.c +++ /dev/null @@ -1,357 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "masa_file_writer.h" -#include "ivas_stat_com.h" -#include "ivas_cnst.h" -#include <math.h> -#include <stdio.h> -#include <string.h> -#include <stdlib.h> - - -struct MasaFileWriter -{ - FILE *file; - char *file_path; -}; - -/*-----------------------------------------------------------------------* - * Local constants - *-----------------------------------------------------------------------*/ - -#define SPH_IDX_FRONT ( MASA_NO_POINTS_EQUATOR / 2 ) /* Spherical index corresponding to front direction for setting as default value */ - - -/*-----------------------------------------------------------------------* - * Local functions - *-----------------------------------------------------------------------*/ - -static void getExtMasaMetadataFileName( - const char *outputWavFilename, /* i : name of the output audio file */ - char metadata_filename[IVAS_MAX_NUM_OBJECTS][FILENAME_MAX - 12] /* o : name of the output masa metadata file */ -) -{ - char ext_meta[5]; - - /* sizeof( ext_meta ) accounts for terminating NULL, don't subtract extra 1 */ - const int32_t maxNameLenWithoutExt = sizeof( metadata_filename[0] ) - sizeof( ext_meta ); - strncpy( metadata_filename[0], outputWavFilename, maxNameLenWithoutExt ); - sprintf( ext_meta, ".met" ); - - /* strlen( metadata_filename[0] ) doesn't account for terminating NULL, subtract extra 1 */ - const int32_t maxNumCharactersToAppend = (int32_t) ( sizeof( metadata_filename[0] ) - strlen( metadata_filename[0] ) - 1 ); - strncat( metadata_filename[0], ext_meta, maxNumCharactersToAppend ); - - return; -} - - -/*---------------------------------------------------------------------* - * MasaFileWriter_writeFrame() - * - * - *---------------------------------------------------------------------*/ - -ivas_error MasaFileWriter_open( - const char *outputWavFilename, /* i : name of the output audio file */ - MasaFileWriter **masaWriter /* o : MasaFileWriter handle */ -) -{ - MasaFileWriter *self; - FILE *file; - char filePath[FILENAME_MAX - 12]; - - if ( strlen( outputWavFilename ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - getExtMasaMetadataFileName( outputWavFilename, &filePath ); - - file = fopen( filePath, "wb" ); - - if ( !file ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - self = calloc( sizeof( MasaFileWriter ), 1 ); - self->file = file; - self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); - strcpy( self->file_path, filePath ); - - *masaWriter = self; - - return IVAS_ERR_OK; -} - - -/*---------------------------------------------------------------------* - * MasaFileWriter_writeFrame() - * - * - *---------------------------------------------------------------------*/ - -ivas_error MasaFileWriter_writeFrame( - MasaFileWriter *self, /* i/o: MasaFileWriter handle */ - IVAS_MASA_QMETADATA_HANDLE hMasaQMetadata /* i/o: MASA qMetadata handle to be written */ -) -{ - if ( self == NULL ) - { - return IVAS_ERR_UNEXPECTED_NULL_POINTER; - } - - const uint8_t ivasmasaFormatDescriptor[8] = { 0x49, 0x56, 0x41, 0x53, 0x4D, 0x41, 0x53, 0x41 }; /* "IVASMASA" */ - uint16_t descMetaTemp = 0; - int16_t i, sf, b_old, b_new, dir; - uint16_t writeTempIndex[MASA_FREQUENCY_BANDS]; - uint8_t writeTempOther[MASA_FREQUENCY_BANDS]; - MASA_DECRIPTIVE_META descMeta; - int16_t *bandMap; - uint8_t numCodingBands; - uint8_t numDirections; - int16_t nchan_transport; - - numDirections = (uint8_t) hMasaQMetadata->no_directions; - numCodingBands = hMasaQMetadata->numCodingBands; - bandMap = hMasaQMetadata->bandMap; - nchan_transport = hMasaQMetadata->nchan_transport; - - /* Construct descriptive meta */ - for ( i = 0; i < 8; i++ ) - { - descMeta.formatDescriptor[i] = ivasmasaFormatDescriptor[i]; - descMeta.numberOfDirections = numDirections - 1; - descMeta.numberOfChannels = (uint8_t) ( nchan_transport - 1 ); - /* Following correspond to "unknown" values until transmission is implemented */ - descMeta.sourceFormat = 0x0u; - descMeta.transportDefinition = 0x0u; - descMeta.channelAngle = 0x0u; - descMeta.channelDistance = 0x0u; - descMeta.channelLayout = 0x0u; - } - - if ( fwrite( &( descMeta.formatDescriptor ), sizeof( uint8_t ), 8, self->file ) != 8 ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - descMetaTemp += descMeta.numberOfDirections << 15u; - descMetaTemp += descMeta.numberOfChannels << 14u; - descMetaTemp += descMeta.sourceFormat << 12u; - if ( descMeta.sourceFormat == 0x0 || descMeta.sourceFormat == 0x1 ) - { - descMetaTemp += descMeta.transportDefinition << 9u; - descMetaTemp += descMeta.channelAngle << 6u; - descMetaTemp += descMeta.channelDistance; - } - else if ( descMeta.sourceFormat == 0x2 ) - { - descMetaTemp += descMeta.channelLayout << 9u; - /* 9 LSB remain at zero */ - } - else if ( descMeta.sourceFormat == 0x3 ) - { - descMetaTemp += descMeta.transportDefinition << 9u; - descMetaTemp += descMeta.channelAngle << 6u; - /* 6 LSB remain at zero */ - } - - if ( fwrite( &( descMetaTemp ), sizeof( uint16_t ), 1, self->file ) != 1 ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - for ( sf = 0; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ ) - { - for ( dir = 0; dir < numDirections; dir++ ) - { - /* Spherical index */ - for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) - { - writeTempIndex[i] = SPH_IDX_FRONT; - } - - for ( b_old = 0; b_old < numCodingBands; b_old++ ) - { - for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) - { - writeTempIndex[b_new] = hMasaQMetadata->q_direction[dir].band_data[b_old].spherical_index[sf]; - } - } - - if ( fwrite( writeTempIndex, sizeof( uint16_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - /* Direct-to-total ratio */ - for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) - { - writeTempOther[i] = 0; - } - - for ( b_old = 0; b_old < numCodingBands; b_old++ ) - { - for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) - { - writeTempOther[b_new] = (uint8_t) floorf( hMasaQMetadata->q_direction[dir].band_data[b_old].energy_ratio[sf] * UINT8_MAX ); - } - } - - if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - /* Spread coherence */ - for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) - { - writeTempOther[i] = 0; - } - - if ( hMasaQMetadata->q_direction[dir].coherence_band_data != NULL ) - { - for ( b_old = 0; b_old < numCodingBands; b_old++ ) - { - for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) - { - writeTempOther[b_new] = hMasaQMetadata->q_direction[dir].coherence_band_data[b_old].spread_coherence[sf]; - } - } - } - - if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - } - - /* Common spatial meta */ - /* Diffuse-to-total ratio = 1 - sum(direct-to-total ratios) */ - for ( b_new = 0; b_new < MASA_FREQUENCY_BANDS; b_new++ ) - { - writeTempOther[b_new] = UINT8_MAX; - } - - for ( b_old = 0; b_old < numCodingBands; b_old++ ) - { - for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) - { - writeTempOther[b_new] = UINT8_MAX; - for ( dir = 0; dir < numDirections; dir++ ) - { - writeTempOther[b_new] -= (uint8_t) floorf( hMasaQMetadata->q_direction[dir].band_data[b_old].energy_ratio[sf] * UINT8_MAX ); - } - } - } - - if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - /* Surround coherence */ - for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) - { - writeTempOther[i] = 0; - } - - if ( hMasaQMetadata->surcoh_band_data != NULL ) - { - for ( b_old = 0; b_old < numCodingBands; b_old++ ) - { - for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) - { - writeTempOther[b_new] = hMasaQMetadata->surcoh_band_data[b_old].surround_coherence[sf]; - } - } - } - - if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - - /* Remainder-to-total ratio */ - /* This is zero after codec */ - for ( b_new = 0; b_new < MASA_FREQUENCY_BANDS; b_new++ ) - { - writeTempOther[b_new] = 0u; - } - - if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) - { - return IVAS_ERR_FAILED_FILE_WRITE; - } - } - - return IVAS_ERR_OK; -} - -/*---------------------------------------------------------------------* - * MasaFileWriter_close() - * - * Deallocate the MasaFileWriter. This also includes the MASA metadata - * frame struct available through MasaFileWriter_getMetadataHandle. - *---------------------------------------------------------------------*/ - -void MasaFileWriter_close( - MasaFileWriter **selfPtr /* i/o: pointer to MasaFileWriter handle */ -) -{ - if ( selfPtr == NULL || *selfPtr == NULL ) - { - return; - } - - fclose( ( *selfPtr )->file ); - free( ( *selfPtr )->file_path ); - free( *selfPtr ); - *selfPtr = NULL; - - return; -} - -const char *MasaFileWriter_getFilePath( - MasaFileWriter *selfPtr /* i : MasaFileWriter handle */ -) -{ - if ( selfPtr == NULL ) - { - return NULL; - } - - return selfPtr->file_path; -} diff --git a/lib_util/masa_file_writer.h b/lib_util/masa_file_writer.h deleted file mode 100644 index ce4ed2e238..0000000000 --- a/lib_util/masa_file_writer.h +++ /dev/null @@ -1,63 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef IVAS_MASA_FILE_WRITER_H -#define IVAS_MASA_FILE_WRITER_H - -#include <stdint.h> -#include "common_api_types.h" -#include "ivas_error.h" - - -struct MasaFileWriter; -typedef struct MasaFileWriter MasaFileWriter; - -ivas_error MasaFileWriter_open( - const char *outputWavFilename, /* i : name of the output audio file */ - MasaFileWriter **masaWriter /* o : MasaFileWriter handle */ -); - -ivas_error MasaFileWriter_writeFrame( - MasaFileWriter *self, /* i/o: MasaFileWriter handle */ - IVAS_MASA_QMETADATA_HANDLE hMasaQMetadata /* i/o: MASA qMetadata handle to be written */ -); - -void MasaFileWriter_close( - MasaFileWriter **selfPtr /* i/o: pointer to MasaFileWriter handle */ -); - -const char *MasaFileWriter_getFilePath( - MasaFileWriter *selfPtr /* i : MasaFileWriter handle */ -); - - -#endif /* IVAS_MASA_FILE_WRITER_H */ diff --git a/lib_util/mime_io.c b/lib_util/mime_io.c deleted file mode 100644 index 36cd61adbb..0000000000 --- a/lib_util/mime_io.c +++ /dev/null @@ -1,658 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "options.h" -#include "mime_io.h" -#include "mime.h" -#include "prot.h" -#include "string.h" -#include <stdbool.h> -#include <stdlib.h> -#include <assert.h> - - -#define NUM_CHANNELS 1 - -/* main handle */ -struct MIME_IO -{ - FILE *file; - bool ownFileHandle; /* flag whether FILE handle created by instance or externally */ - uint16_t numChannels; -}; - - -/*-------------------------------------------------------------------* - * writeByte() - * - * function to write a 8-bit value to the file - *-------------------------------------------------------------------*/ - -static bool writeByte( - FILE *file, - unsigned char value ) -{ - if ( fputc( value, file ) == value ) - { - return true; - } - return false; -} - - -/*-------------------------------------------------------------------* - * writeLong() - * - * function to write a 32-bit value to the file - *-------------------------------------------------------------------*/ - -static bool writeLong( - FILE *file, - uint32_t value ) -{ - char buffer[4]; - - buffer[3] = value & 0xff; - buffer[2] = ( value >> 8 ) & 0xff; - buffer[1] = ( value >> 16 ) & 0xff; - buffer[0] = ( value >> 24 ) & 0xff; - - if ( fwrite( buffer, 4, 1, file ) != 1U ) - { - return false; - } - - return true; -} - -/*-------------------------------------------------------------------* - * writeHeader() - * - * Write MIME header - *-------------------------------------------------------------------*/ - -static int16_t writeHeader( - FILE *file ) -{ - /* write mime header */ - fprintf( file, "#!EVS_MC%s\n", "1.0" ); - if ( !writeLong( file, 1 ) ) - { - return 0; - } - return -1; -} - - -/*-------------------------------------------------------------------* - * MIME_Writer_Open_FILE() - * - * Open MIME writer handle - *-------------------------------------------------------------------*/ - -MIME_ERROR MIME_Writer_Open_FILE( MIME_HANDLE *phMIME, FILE *file ) -{ - /* create handle */ - *phMIME = (MIME_HANDLE) calloc( 1, sizeof( struct MIME_IO ) ); - if ( !phMIME ) - { - return MIME_MEMORY_ERROR; - } - - /* open file stream */ - ( *phMIME )->file = file; - if ( ( *phMIME )->file == NULL ) - { - MIME_Writer_Close( phMIME ); - return MIME_WRONG_PARAMS; - } - ( *phMIME )->ownFileHandle = false; - - writeHeader( ( *phMIME )->file ); - - return MIME_NO_ERROR; -} - - -/*-------------------------------------------------------------------* - * MIME_Writer_Open_filename() - * - * Open MIME writer - *-------------------------------------------------------------------*/ - -MIME_ERROR MIME_Writer_Open_filename( - MIME_HANDLE *phMIME, - const char *filename ) -{ - /* create handle */ - *phMIME = (MIME_HANDLE) calloc( 1, sizeof( struct MIME_IO ) ); - if ( !phMIME ) - { - return MIME_MEMORY_ERROR; - } - - /* open file stream */ - ( *phMIME )->file = fopen( filename, "wb" ); - if ( ( *phMIME )->file == NULL ) - { - free( *phMIME ); - *phMIME = NULL; - return MIME_FILE_NOT_FOUND; - } - ( *phMIME )->ownFileHandle = true; - - writeHeader( ( *phMIME )->file ); - - return MIME_NO_ERROR; -} - - -/*-------------------------------------------------------------------* - * MIME_WriteFrame() - * - * Write MIME frame - *-------------------------------------------------------------------*/ - -MIME_ERROR MIME_WriteFrame( - MIME_HANDLE hMIME, - const uint16_t *serial, - const int16_t numBits, - const int32_t totalBrate ) -{ - uint8_t ToC = 0x00; - int16_t i; - uint8_t byte = 0; - int16_t isAmrWb = 0; - - if ( !hMIME ) - { - return MIME_NOT_INITIALIZED; - } - - for ( i = 0; i < NUM_CHANNELS; i++ ) - { - int16_t mode; - int16_t cmi; - mode = rate2EVSmode( numBits * FRAMES_PER_SEC, &isAmrWb ); - cmi = rate2EVSmode( totalBrate, &isAmrWb ); - - ToC = (uint8_t) ( isAmrWb << 5 | isAmrWb << 4 | mode ); - writeByte( hMIME->file, ToC ); - - if ( isAmrWb ) - { - const int16_t numExtraBits = ( mode == AMRWB_IO_SID ) ? 5 : 0; - uint16_t serial_extra[5], mask; - uint8_t bit, bitinbyte; - int16_t j; - - if ( mode == AMRWB_IO_SID ) /* SID frame */ - { - /* insert STI bit and CMI */ - serial_extra[0] = 1; - - for ( mask = 0x08, j = 0; mask > 0; mask >>= 1, j++ ) - { - serial_extra[1 + j] = ( cmi & mask ) ? 1 : 0; - } - } - - for ( i = 0; i < numBits + numExtraBits; i++ ) - { - if ( i < numBits ) - { - bit = (uint8_t) serial[sort_ptr[mode][i]]; - } - else - { - bit = (uint8_t) serial_extra[i - numBits]; - } - assert( ( bit == 1 || bit == 0 ) && "Values other than 0/1 will lead to corrupt bitstream! " ); - bitinbyte = bit << ( 7 - ( i & 0x7 ) ); - - if ( i % 8 == 0 ) - { - byte = 0; - } - - byte |= bitinbyte; - - /* Write to buffer on every last bit in byte and after converting last bit in input */ - if ( i % 8 == 7 || i == ( numBits + numExtraBits ) - 1 ) - { - writeByte( hMIME->file, byte ); - } - } - } - else - { - for ( i = 0; i < numBits; i++ ) - { - uint8_t bit = (uint8_t) serial[i]; - uint8_t bitinbyte = bit << ( 7 - ( i & 0x7 ) ); - - if ( i % 8 == 0 ) - { - byte = 0; - } - - byte |= bitinbyte; - - /* Write to buffer on every last bit in byte and after converting last bit in input */ - if ( i % 8 == 7 || i == numBits - 1 ) - { - writeByte( hMIME->file, byte ); - } - } - } - } - return MIME_NO_ERROR; -} - - -/*-------------------------------------------------------------------* - * MIME_Writer_Close() - * - * Close MIME writer - *-------------------------------------------------------------------*/ - -MIME_ERROR MIME_Writer_Close( - MIME_HANDLE *phMIME ) -{ - if ( phMIME == NULL || *phMIME == NULL ) - { - return MIME_NO_ERROR; - } - - if ( ( *phMIME )->file ) - { - fclose( ( *phMIME )->file ); - } - - free( *phMIME ); - *phMIME = NULL; - phMIME = NULL; - - return MIME_NO_ERROR; -} - - -static bool readByte( FILE *file, uint8_t *value ) -{ - if ( fread( value, 1, 1, file ) != 1U ) - { - return false; - } - return true; -} - -static bool readLong( FILE *file, uint16_t *value ) -{ - char buffer[4] = { 0 }; - if ( fread( buffer, 4, 1, file ) != 1U ) - { - return false; - } - *value = 0; - *value = (uint16_t) ( buffer[3] & 0xFF ); - *value |= (uint16_t) ( buffer[2] & 0xFF ) << 8; - *value |= (uint16_t) ( buffer[1] & 0xFF ) << 16; - *value |= (uint16_t) ( buffer[0] & 0xFF ) << 24; - - return true; -} - - -/*-------------------------------------------------------------------* - * byteToSerialReordered() - * - * Write each bit in given byte as a separate uint16_t value - * to the given serial bitstream array at indices provided in - * `sort_indices` array. - * - * Bits with corresponding negative indices will not be written - * to the serial bitstream. - *-------------------------------------------------------------------*/ - -static void byteToSerialReordered( uint8_t byte, uint16_t *serial, const int16_t *sort_indices ) -{ - for ( uint32_t i = 0; i < 8; ++i ) - { - const uint8_t bit = ( byte & 0x80 ) == 0 ? 0 : 1; - - /* Negative index means "skip writing corresponding bit" */ - if ( sort_indices[i] >= 0 ) - { - serial[sort_indices[i]] = bit; - } - - byte <<= 1; - } -} - -/*-------------------------------------------------------------------* - * byteToSerial() - * - * Write each bit in given byte as a separate uint16_t value - * to the given serial bitstream array. - *-------------------------------------------------------------------*/ - -static void byteToSerial( uint8_t byte, uint16_t *serial ) -{ - const int16_t indices[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; - byteToSerialReordered( byte, serial, indices ); -} - -static MIME_ERROR readHeader( MIME_HANDLE hMIME ) -{ - const char id[] = "#!EVS_MC1.0\n"; - const uint16_t num_char_id = sizeof( id ) - 1; - - char buffer[sizeof( id )] = { 0 }; - if ( fread( buffer, sizeof( char ), num_char_id, hMIME->file ) != num_char_id ) - { - return MIME_READ_ERROR; - } - - if ( strcmp( buffer, id ) != 0 ) - { - return MIME_INVALID_DATA; - } - - if ( !readLong( hMIME->file, &hMIME->numChannels ) ) - { - return MIME_READ_ERROR; - } - - return MIME_NO_ERROR; -} -/*-------------------------------------------------------------------* - * MIME_Reader_Open_filename() - * - * Open MIME reader - *-------------------------------------------------------------------*/ - -MIME_ERROR MIME_Reader_Open_filename( MIME_HANDLE *phMIME, const char *filename ) -{ - MIME_ERROR error = MIME_NO_ERROR; - - /* create handle */ - *phMIME = (MIME_HANDLE) malloc( sizeof( struct MIME_IO ) ); - if ( !*phMIME ) - { - return MIME_MEMORY_ERROR; - } - - /* open file stream */ - ( *phMIME )->file = fopen( filename, "rb" ); - if ( ( *phMIME )->file == NULL ) - { - MIME_Reader_Close( phMIME ); - return MIME_FILE_NOT_FOUND; - } - ( *phMIME )->ownFileHandle = true; - - /* Read header */ - if ( ( error = readHeader( *phMIME ) ) != MIME_NO_ERROR ) - { - MIME_Reader_Close( phMIME ); - return error; - } - - return MIME_NO_ERROR; -} - -/*-------------------------------------------------------------------* - * MIME_Reader_Rewind() - * - * Rewind currently opened file to beginning - *-------------------------------------------------------------------*/ - -MIME_ERROR MIME_Reader_Rewind( MIME_HANDLE hMIME ) -{ - if ( !hMIME || !hMIME->file ) - { - return MIME_NOT_INITIALIZED; - } - rewind( hMIME->file ); - - - /* Skip over header, to first frame */ - readHeader( hMIME ); - - return MIME_NO_ERROR; -} - -static MIME_ERROR readEvsFrame( FILE *file, uint8_t ToC, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) -{ - switch ( ToC & 0x0f ) - { - case PRIMARY_2800: - *num_bits = 56; - break; - case PRIMARY_7200: - *num_bits = 144; - break; - case PRIMARY_8000: - *num_bits = 160; - break; - case PRIMARY_9600: - *num_bits = 192; - break; - case PRIMARY_13200: - *num_bits = 264; - break; - case PRIMARY_16400: - *num_bits = 328; - break; - case PRIMARY_24400: - *num_bits = 488; - break; - case PRIMARY_32000: - *num_bits = 640; - break; - case PRIMARY_48000: - *num_bits = 960; - break; - case PRIMARY_64000: - *num_bits = 1280; - break; - case PRIMARY_96000: - *num_bits = 1920; - break; - case PRIMARY_128000: - *num_bits = 2560; - break; - case PRIMARY_SID: - *num_bits = 48; - break; - case SPEECH_LOST: - *bfi = 1; - *num_bits = 0; - break; - case 0xf: /* NO_DATA */ - *num_bits = 0; - break; - default: - return MIME_READ_ERROR; - } - - for ( int16_t i = 0; i < *num_bits; i += 8 ) - { - uint8_t byte = 0; - - if ( !readByte( file, &byte ) ) - { - return MIME_READ_ERROR; - } - - byteToSerial( byte, &serial[i] ); - } - - return MIME_NO_ERROR; -} - -static MIME_ERROR readAmrWbFrame( FILE *file, uint8_t ToC, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) -{ - const uint8_t mode = ToC & 0x0f; - - switch ( mode ) - { - case AMRWB_IO_6600: - *num_bits = 132; - break; - case AMRWB_IO_8850: - *num_bits = 177; - break; - case AMRWB_IO_1265: - *num_bits = 253; - break; - case AMRWB_IO_1425: - *num_bits = 285; - break; - case AMRWB_IO_1585: - *num_bits = 317; - break; - case AMRWB_IO_1825: - *num_bits = 365; - break; - case AMRWB_IO_1985: - *num_bits = 397; - break; - case AMRWB_IO_2305: - *num_bits = 461; - break; - case AMRWB_IO_2385: - *num_bits = 477; - break; - case AMRWB_IO_SID: - *num_bits = 35; - break; - case 0xe: /* SPEECH_LOST */ - *bfi = 1; - *num_bits = 0; - break; - case 0xf: /* NO_DATA */ - *num_bits = 0; - break; - default: - return MIME_READ_ERROR; - } - - for ( int16_t i = 0; i < *num_bits; i += 8 ) - { - uint8_t byte = 0; - - if ( !readByte( file, &byte ) ) - { - return MIME_READ_ERROR; - } - - /* Since num_bits is not a multiple of 8, ensure last - * padding bits will be discarded by byteToSerialReordered() */ - int16_t sort_indices[8] = { -1, -1, -1, -1, -1, -1, -1, -1 }; - for ( uint16_t j = 0; j < 8 && ( i + j ) < *num_bits; ++j ) - { - sort_indices[j] = sort_ptr[mode][i + j]; - } - - /* Reorder bits and write to serial */ - byteToSerialReordered( byte, serial, sort_indices ); - } - - return MIME_NO_ERROR; -} - -/*-------------------------------------------------------------------* - * MIME_ReadFrame_short() - * - * Read MIME frame to serial bitstream - *-------------------------------------------------------------------*/ -MIME_ERROR MIME_ReadFrame_short( MIME_HANDLE hMIME, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) -{ - if ( !hMIME ) - { - return MIME_NOT_INITIALIZED; - } - - assert( hMIME->numChannels == 1 && "Multichannel currently not supported" ); - - MIME_ERROR error = MIME_NO_ERROR; - uint8_t ToC = 0; - - for ( uint32_t i = 0; i < hMIME->numChannels; i++ ) - { - if ( !readByte( hMIME->file, &ToC ) ) - { - return MIME_EOF; - } - - if ( ToC & 0x30 ) - { - if ( ( error = readAmrWbFrame( hMIME->file, ToC, serial, num_bits, bfi ) ) != MIME_NO_ERROR ) - { - return error; - } - } - else - { - if ( ( error = readEvsFrame( hMIME->file, ToC, serial, num_bits, bfi ) ) != MIME_NO_ERROR ) - { - return error; - } - } - } - - return MIME_NO_ERROR; -} -/*-------------------------------------------------------------------* - * MIME_Reader_Close() - * - * Close MIME reader - *-------------------------------------------------------------------*/ -MIME_ERROR MIME_Reader_Close( MIME_HANDLE *phMIME ) -{ - if ( phMIME == NULL || *phMIME == NULL ) - { - return MIME_NO_ERROR; - } - - if ( ( *phMIME )->file && ( *phMIME )->ownFileHandle ) - { - fclose( ( *phMIME )->file ); - } - - free( *phMIME ); - *phMIME = NULL; - - return MIME_NO_ERROR; -} diff --git a/lib_util/mime_io.h b/lib_util/mime_io.h deleted file mode 100644 index 770b4dd5e4..0000000000 --- a/lib_util/mime_io.h +++ /dev/null @@ -1,75 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef MIME_IO_H -#define MIME_IO_H - -#include <stdint.h> -#include <stdio.h> - -typedef enum MIME_ERROR -{ - MIME_NO_ERROR, - MIME_MEMORY_ERROR, - MIME_WRONG_PARAMS, - MIME_FILE_NOT_FOUND, - MIME_NOT_INITIALIZED, - MIME_READ_ERROR, - MIME_WRITE_ERROR, - MIME_INVALID_DATA, - MIME_EOF, - MIME_UNKNOWN_ERROR -} MIME_ERROR; - -typedef struct MIME_IO *MIME_HANDLE; - -MIME_ERROR MIME_Writer_Open_FILE( MIME_HANDLE *phMIME, FILE *file ); - -MIME_ERROR MIME_Writer_Open_filename( MIME_HANDLE *phMIME, const char *filename ); - -MIME_ERROR MIME_WriteFrame( MIME_HANDLE hMIME, const uint16_t *serial, const int16_t numBits, const int32_t frameBitrate ); - -MIME_ERROR MIME_Writer_Close( MIME_HANDLE *phMIME ); - -MIME_ERROR MIME_Reader_Open_filename( MIME_HANDLE *phMIME, const char *filename ); - -MIME_ERROR MIME_Reader_Rewind( MIME_HANDLE hMIME ); - -MIME_ERROR MIME_ReadFrame_short( - MIME_HANDLE hMIME, - uint16_t *serial, - int16_t *num_bits, - int16_t *bfi ); - -MIME_ERROR MIME_Reader_Close( MIME_HANDLE *phMIME ); - -#endif diff --git a/lib_util/render_config_reader.c b/lib_util/render_config_reader.c deleted file mode 100644 index 27eed3bf14..0000000000 --- a/lib_util/render_config_reader.c +++ /dev/null @@ -1,586 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include "render_config_reader.h" -#include <ctype.h> -#include <string.h> -#include <stdint.h> -#include <stdlib.h> -#include <stdio.h> -#include "cmdl_tools.h" -#include "prot.h" -#include "ivas_cnst.h" - -/*------------------------------------------------------------------------------------------* - * PreProc Macros - *------------------------------------------------------------------------------------------*/ - -#define MAX_LINE_LENGTH ( 1024 ) -#define MAX_ITEM_LENGTH ( 64 ) -#define N_REVERB_VECTORS ( 3 ) - -#define SHORTEST_REV_DEL_LINE ( 0.015f ) -#define N_BANDS_MIN ( 2 ) -#define N_BANDS_MAX ( 60 ) -#define FC_INPUT_MIN ( 0.0f ) -#define FC_INPUT_MAX ( 1.0e+5f ) -#define ACOUSTIC_RT60_MIN ( 1.0e-3f ) -#define ACOUSTIC_RT60_MAX ( 1.0e+2f ) -#define ACOUSTIC_DSR_MIN ( 0.0f ) -#define ACOUSTIC_DSR_MAX ( 1.0e+2f ) -#define ACOUSTIC_DSR_EPSILON ( 1.0e-15f ) -#define ACOUSTICPREDELAY_JOTREV_MIN ( SHORTEST_REV_DEL_LINE ) -#define ACOUSTICPREDELAY_JOTREV_MAX ( SHORTEST_REV_DEL_LINE + 1.0f / (float) FRAMES_PER_SEC ) -#define ACOUSTICPREDELAY_FDREV_MIN ( 1.0f / (float) ( 16 * FRAMES_PER_SEC ) ) -#define ACOUSTICPREDELAY_FDREV_MAX ( (float) ( REVERB_PREDELAY_MAX ) / (float) ( 16 * FRAMES_PER_SEC ) ) -#define INPUTPREDELAY_MIN ( 0.0f ) -#define INPUTPREDELAY_MAX ( 1.0e+2f ) - -/*------------------------------------------------------------------------------------------* - * Type definitions - *------------------------------------------------------------------------------------------*/ - -struct RenderConfigReader -{ - FILE *pConfigFile; -}; - - -/*-----------------------------------------------------------------------------------------* - * Function read_bool() - * Reads a boolean value from a line - *-----------------------------------------------------------------------------------------*/ - -/* !r: false on success, true on failure */ -static int16_t read_bool( - const char *pLine, /* i : String to read from */ - int16_t *pTarget /* o : Output pointer (int16_t type used instead of bool because of coding rules/specs) */ -) -{ - char value[8]; - - if ( sscanf( pLine, "%s", (char *) &value ) != 1 ) - { - return true; - } - if ( strcmp( value, "TRUE" ) == 0 ) - { - *pTarget = true; - return false; - } - if ( strcmp( value, "FALSE" ) == 0 ) - { - *pTarget = false; - return false; - } - - return true; -} - - -/*-----------------------------------------------------------------------------------------* - * Function read_vector() - * - * Reads a vector value from a line - *-----------------------------------------------------------------------------------------*/ - -static int16_t read_vector( - char *pLine, /* i : String to read from */ - const int16_t length, /* i : Number of expected vector elements */ - float *pTarget /* o : Output vector pointer */ -) -{ - char *tmp; - int16_t n; - int16_t count; - - n = (int16_t) sscanf( pLine, "[%s", pLine ); - if ( n == 0 ) - { - return true; - } - - /* Additional comma to make parsing easier */ - pLine[strlen( pLine ) - 1] = ','; - - tmp = pLine; - /* Count # of commas to determine vector length */ - for ( n = 0; tmp[n]; tmp[n] == ',' ? n++ : *tmp++ ) - ; - - count = n; - - tmp = pLine; - - /* Check for maximum vector length */ - if ( n != length ) - { - return true; - } - - for ( n = 0; n < count; n++ ) - { - if ( (int16_t) sscanf( tmp, "%f,", &pTarget[n] ) != 1 ) - { - return true; - } - - tmp = strchr( tmp, ',' ) + 1; - } - - return false; -} - - -/*-----------------------------------------------------------------------------------------* - * Function strip_spaces_upper() - * - * Strips the spaces from a buffer and uppercases it - *-----------------------------------------------------------------------------------------*/ - -static void strip_spaces_upper( - char *pStr /* i : String to read from */ -) -{ - int32_t read_idx = 0, write_idx = 0; - - while ( pStr[read_idx] ) - { - if ( !isspace( pStr[read_idx] ) && !iscntrl( pStr[read_idx] ) ) - { - pStr[write_idx++] = pStr[read_idx]; - } - read_idx++; - } - pStr[write_idx] = '\0'; - to_upper( pStr ); - - return; -} - - -/*-----------------------------------------------------------------------------------------* - * Function errorHandler() - * - * Prints error message and exits - *-----------------------------------------------------------------------------------------*/ - -/* !r: error accumulation */ -static int32_t errorHandler( - const char *badStr, /* i : String to complain about */ - const ERROR_CODES_t error ) -{ - static int32_t numErrors = 0; - - switch ( error ) - { - case ERROR_NONE: - break; - case ERROR_ITEM_UNKNOWN: - numErrors++; - fprintf( stderr, "Unknown variable %s in renderer configuration file.\n\n", badStr ); - break; - case ERROR_VALUE_INVALID: - numErrors++; - fprintf( stderr, "Invalid value %s in renderer configuration file.\n\n", badStr ); - break; - default: - numErrors++; - fprintf( stderr, "Unknown error while reading configuration file.\n\n" ); - } - - return numErrors; -} - -/*------------------------------------------------------------------------------------------* - * RenderConfigReader_checkValues() - * - * Verifies if the configuration parameters lie within acceptable limits - *------------------------------------------------------------------------------------------*/ - -static ivas_error RenderConfigReader_checkValues( - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -) -{ - int16_t band_idx, tab_value_err_count; - IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pRoom_acoustics; - pRoom_acoustics = &hRenderConfig->room_acoustics; - tab_value_err_count = 0; - - /* Verify the number of frequency bands in the config input data */ - if ( ( pRoom_acoustics->nBands > N_BANDS_MAX ) || ( pRoom_acoustics->nBands < N_BANDS_MIN ) ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - /* Verify input pre-delay value */ - if ( ( pRoom_acoustics->inputPreDelay > INPUTPREDELAY_MAX ) || ( pRoom_acoustics->inputPreDelay < INPUTPREDELAY_MIN ) ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - /* Verify data per band in the acoustic properties table */ - for ( band_idx = 0; band_idx < pRoom_acoustics->nBands; band_idx++ ) - { - /* Verify if the frequencies are in the ascending order (required for interpolation) */ - if ( band_idx != 0 ) - { - if ( pRoom_acoustics->pFc_input[band_idx] <= pRoom_acoustics->pFc_input[band_idx - 1] ) - { - tab_value_err_count++; - } - } - - /* Check the input frequencies */ - if ( ( pRoom_acoustics->pFc_input[band_idx] > FC_INPUT_MAX ) || ( pRoom_acoustics->pFc_input[band_idx] < FC_INPUT_MIN ) ) - { - tab_value_err_count++; - } - - /* Check the input RT60 values */ - if ( ( pRoom_acoustics->pAcoustic_rt60[band_idx] > ACOUSTIC_RT60_MAX ) || ( pRoom_acoustics->pAcoustic_rt60[band_idx] < ACOUSTIC_RT60_MIN ) ) - { - tab_value_err_count++; - } - - /* Check the input DSR values */ - if ( ( pRoom_acoustics->pAcoustic_dsr[band_idx] > ACOUSTIC_DSR_MAX ) || ( pRoom_acoustics->pAcoustic_dsr[band_idx] < ACOUSTIC_DSR_MIN ) ) - { - tab_value_err_count++; - } - - /* Replace zero DSR values with very small positive values, to avoid issues with coloration filter design */ - if ( pRoom_acoustics->pAcoustic_dsr[band_idx] <= 0.0f ) - { - pRoom_acoustics->pAcoustic_dsr[band_idx] = ACOUSTIC_DSR_EPSILON; - } - } - - if ( tab_value_err_count != 0 ) - { - return IVAS_ERR_WRONG_PARAMS; - } - -#ifdef DEBUGGING - /* Specific limits for Jot reverb */ - if ( hRenderConfig->renderer_type_override == IVAS_RENDER_TYPE_OVERRIDE_CREND ) - { - if ( ( pRoom_acoustics->acousticPreDelay > ACOUSTICPREDELAY_JOTREV_MAX ) || ( pRoom_acoustics->acousticPreDelay < ACOUSTICPREDELAY_JOTREV_MIN ) ) - { - return IVAS_ERR_WRONG_PARAMS; - } - } - - /* Specific limits for frequency-domain reverb */ - if ( hRenderConfig->renderer_type_override == IVAS_RENDER_TYPE_OVERRIDE_FASTCONV ) - { - if ( ( pRoom_acoustics->acousticPreDelay > ACOUSTICPREDELAY_FDREV_MAX ) || ( pRoom_acoustics->acousticPreDelay < ACOUSTICPREDELAY_FDREV_MIN ) ) - { - return IVAS_ERR_WRONG_PARAMS; - } - } -#endif /* DEBUGGING */ - - return IVAS_ERR_OK; -} - - -/*------------------------------------------------------------------------------------------* - * RenderConfigReader_open() - * - * Allocates and initializes a renderer configuration reader instance - *------------------------------------------------------------------------------------------*/ - -ivas_error RenderConfigReader_open( - char *pConfigPath, /* i : renderer configuration file path */ - RenderConfigReader **ppRenderConfigReader /* o : RenderConfigReader handle */ -) -{ - RenderConfigReader *pSelf; - FILE *pConfigFile; - - /* Open the configuration file */ - if ( strlen( pConfigPath ) < 1 ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - pConfigFile = fopen( pConfigPath, "r" ); - - if ( !pConfigFile ) - { - return IVAS_ERR_FAILED_FILE_OPEN; - } - - pSelf = calloc( sizeof( RenderConfigReader ), 1 ); - pSelf->pConfigFile = pConfigFile; - - *ppRenderConfigReader = pSelf; - return IVAS_ERR_OK; -} - - -/*------------------------------------------------------------------------------------------* - * RenderConfigReader_read() - * - * Reads the configuration from a file - *------------------------------------------------------------------------------------------*/ - -ivas_error RenderConfigReader_read( - RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -) -{ - int32_t file_size; - char *pConfig_str; - char *pParams; - char *pTemp; - int32_t read_idx; - int32_t params_idx; - char item[MAX_ITEM_LENGTH + 1]; - char chapter[MAX_ITEM_LENGTH + 1]; - char *pValue; - int16_t nBandsInput; - int16_t nVectorsMissing; - - fseek( pRenderConfigReader->pConfigFile, 0, SEEK_END ); - file_size = ftell( pRenderConfigReader->pConfigFile ); - rewind( pRenderConfigReader->pConfigFile ); - pConfig_str = (char *) calloc( file_size + 1, sizeof( char ) ); - pParams = (char *) calloc( file_size + 1, sizeof( char ) ); - pTemp = (char *) calloc( file_size + 1, sizeof( char ) ); - nBandsInput = hRenderConfig->room_acoustics.nBands; - nVectorsMissing = N_REVERB_VECTORS; - - /* read file line by line */ - while ( fgets( pConfig_str, file_size, pRenderConfigReader->pConfigFile ) != NULL ) - { - - if ( sscanf( pConfig_str, "[%64[^]]]", chapter ) == 1 ) - { - /* read line by line (except comments) until next chapter or EOF */ - pParams[0] = '\0'; - do - { - read_idx = ftell( pRenderConfigReader->pConfigFile ); - if ( fgets( pTemp, file_size, pRenderConfigReader->pConfigFile ) == NULL ) - { - break; - } - - if ( ( pTemp[0] != '#' ) && ( sscanf( pTemp, "[%64[^]]]", item ) != 1 ) ) - { - /* ignore inline comments */ - sscanf( pTemp, "%[^#]", pTemp ); - strcat( pParams, pTemp ); - } - } while ( sscanf( pTemp, "[%64[^]]]", item ) != 1 ); - - /* go back one line */ - fseek( pRenderConfigReader->pConfigFile, read_idx, SEEK_SET ); - - strip_spaces_upper( pParams ); - to_upper( chapter ); - - /* interpret params */ - if ( strcmp( chapter, "ROOMACOUSTICS" ) == 0 ) - { - params_idx = 0; - pValue = (char *) calloc( strlen( pParams ), sizeof( char ) ); - while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) - { - hRenderConfig->room_acoustics.override = true; - params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); -#ifdef DEBUGGING - fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); -#endif - if ( strcmp( item, "REVERB" ) == 0 ) - { - if ( read_bool( pValue, &hRenderConfig->room_acoustics.late_reverb_on ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - } - else if ( strcmp( item, "BRIR" ) == 0 ) - { - if ( read_bool( pValue, &hRenderConfig->room_acoustics.use_brir ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - } - else if ( strcmp( item, "NBANDS" ) == 0 ) - { - if ( !sscanf( pValue, "%hd", &hRenderConfig->room_acoustics.nBands ) || - hRenderConfig->room_acoustics.nBands > CLDFB_NO_CHANNELS_MAX ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - } - else if ( strcmp( item, "FC" ) == 0 ) - { - set_zero( hRenderConfig->room_acoustics.pFc_input, CLDFB_NO_CHANNELS_MAX ); - if ( read_vector( pValue, hRenderConfig->room_acoustics.nBands, hRenderConfig->room_acoustics.pFc_input ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - nVectorsMissing--; - } - else if ( strcmp( item, "RT60" ) == 0 ) - { - set_zero( hRenderConfig->room_acoustics.pAcoustic_rt60, CLDFB_NO_CHANNELS_MAX ); - if ( read_vector( pValue, hRenderConfig->room_acoustics.nBands, hRenderConfig->room_acoustics.pAcoustic_rt60 ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - nVectorsMissing--; - } - else if ( strcmp( item, "DSR" ) == 0 ) - { - set_zero( hRenderConfig->room_acoustics.pAcoustic_dsr, CLDFB_NO_CHANNELS_MAX ); - if ( read_vector( pValue, hRenderConfig->room_acoustics.nBands, hRenderConfig->room_acoustics.pAcoustic_dsr ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - nVectorsMissing--; - } - else if ( strcmp( item, "ACOUSTICPREDELAY" ) == 0 ) - { - if ( !sscanf( pValue, "%f", &hRenderConfig->room_acoustics.acousticPreDelay ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - } - else if ( strcmp( item, "INPUTPREDELAY" ) == 0 ) - { - if ( !sscanf( pValue, "%f", &hRenderConfig->room_acoustics.inputPreDelay ) ) - { - errorHandler( item, ERROR_VALUE_INVALID ); - } - } -#ifdef DEBUGGING - else - { - fprintf( stderr, "Unsupported configuration property %s\n", item ); - } -#endif - } - free( pValue ); - if ( ( nBandsInput != hRenderConfig->room_acoustics.nBands ) && ( nVectorsMissing > 0 ) ) - { - fprintf( stderr, "Reverb config: number of bands changed but configuration vectors missing\n" ); - } - } -#ifdef DEBUGGING - else if ( strcmp( chapter, "GENERAL" ) == 0 && strlen( pParams ) != 0 ) - { - params_idx = 0; - pValue = (char *) calloc( strlen( pParams ), sizeof( char ) ); - while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) - { - params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); - fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); - if ( strcmp( item, "RENDERER" ) == 0 ) - { - if ( strcmp( pValue, "CREND" ) == 0 ) - { - hRenderConfig->renderer_type_override = IVAS_RENDER_TYPE_OVERRIDE_CREND; - } - else if ( strcmp( pValue, "FASTCONV" ) == 0 ) - { - hRenderConfig->renderer_type_override = IVAS_RENDER_TYPE_OVERRIDE_FASTCONV; - } - else - { - errorHandler( pValue, ERROR_VALUE_INVALID ); - } - } -#ifdef DEBUGGING - else - { - fprintf( stderr, "Unsupported configuration property %s\n", item ); - } -#endif - } - free( pValue ); - } -#endif - else - { - fprintf( stderr, "Unknown chapter: %s\n", chapter ); - } - } - else if ( pConfig_str[0] == '#' ) - { - /* comment lines are to be ignored */ - } -#ifdef DEBUGGING - else - { - fprintf( stderr, "Unsupported configuration property %s\n", item ); - } -#endif - } - - free( pConfig_str ); - free( pParams ); - free( pTemp ); - - if ( errorHandler( "", ERROR_NONE ) > 0 ) - { - fprintf( stderr, "Errors occurred\n" ); - return IVAS_ERR_FAILED_FILE_PARSE; - } - - return RenderConfigReader_checkValues( hRenderConfig ); -} - - -/*------------------------------------------------------------------------------------------* - * RenderConfigReader_close() - * - * Closes the renderer configuration reader and deallocates memory - *------------------------------------------------------------------------------------------*/ - -void RenderConfigReader_close( - RenderConfigReader **ppRenderConfigReader /* i : RenderConfigReader handle */ -) -{ - if ( ppRenderConfigReader == NULL || *ppRenderConfigReader == NULL ) - { - return; - } - - fclose( ( *ppRenderConfigReader )->pConfigFile ); - free( *ppRenderConfigReader ); - - return; -} diff --git a/lib_util/render_config_reader.h b/lib_util/render_config_reader.h deleted file mode 100644 index 1130b43b8c..0000000000 --- a/lib_util/render_config_reader.h +++ /dev/null @@ -1,66 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef RENDER_CONFIG_READER_H -#define RENDER_CONFIG_READER_H - -#include "common_api_types.h" -#include "ivas_error.h" - - -typedef struct RenderConfigReader RenderConfigReader; - -typedef enum -{ - ERROR_NONE = 0, - ERROR_ITEM_UNKNOWN, - ERROR_VALUE_INVALID -} ERROR_CODES_t; - -/* Allocates and initializes a renderer configuration reader instance */ -ivas_error RenderConfigReader_open( - char *pConfigPath, /* i : renderer configuration file path */ - RenderConfigReader **ppRenderConfigReader /* o : RenderConfigReader handle */ -); - -/* Reads a configuration */ -ivas_error RenderConfigReader_read( - RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ - IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ -); - -/* Closes the renderer configuration reader and deallocates memory */ -void RenderConfigReader_close( - RenderConfigReader **ppRenderConfigReader /* i : RenderConfigReader handle */ -); - -#endif diff --git a/lib_util/rtpdump.c b/lib_util/rtpdump.c deleted file mode 100644 index 79a4e43ede..0000000000 --- a/lib_util/rtpdump.c +++ /dev/null @@ -1,383 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#include <stdio.h> -#include <string.h> -#include <stdlib.h> -#include "rtpdump.h" - -struct RTPDUMP -{ - FILE *file; - unsigned int startSeconds; - unsigned int startMicroSeconds; - unsigned int source; - unsigned short port; -}; - -/** function to read a 32-bit value from a buffer */ -static unsigned char *parseLong( unsigned char *buffer, unsigned int *value ) -{ - *value = 0; - *value = (unsigned int) ( buffer[3] & 0xFF ); - *value |= (unsigned int) ( buffer[2] & 0xFF ) << 8; - *value |= (unsigned int) ( buffer[1] & 0xFF ) << 16; - *value |= (unsigned int) ( buffer[0] & 0xFF ) << 24; - return buffer + 4; -} - -/** function to read a 16-bit value from a buffer */ -static unsigned char *parseShort( unsigned char *buffer, unsigned short *value ) -{ - *value = 0; - *value = (unsigned int) ( buffer[1] & 0xFF ); - *value |= (unsigned int) ( buffer[0] & 0xFF ) << 8; - return buffer + 2; -} - -/** function to read a 8-bit value from a buffer */ -static unsigned char *parseByte( unsigned char *buffer, unsigned char *value ) -{ - *value = 0; - *value = (unsigned int) ( buffer[0] & 0xFF ); - return buffer + 1; -} - -/** function to read a 32-bit value from the file */ -static int readLong( FILE *file, unsigned int *value ) -{ - char buffer[4] = { 0 }; - if ( fread( buffer, 4, 1, file ) != 1U ) - { - return -1; - } - *value = 0; - *value = (unsigned int) ( buffer[3] & 0xFF ); - *value |= (unsigned int) ( buffer[2] & 0xFF ) << 8; - *value |= (unsigned int) ( buffer[1] & 0xFF ) << 16; - *value |= (unsigned int) ( buffer[0] & 0xFF ) << 24; - return 0; -} - -/** function to read a 16-bit value from the file */ -static int readShort( FILE *file, unsigned short *value ) -{ - char buffer[2] = { 0 }; - if ( fread( buffer, 2, 1, file ) != 1U ) - { - return -1; - } - *value = 0; - *value = (unsigned int) ( buffer[1] & 0xFF ); - *value |= (unsigned int) ( buffer[0] & 0xFF ) << 8; - return 0; -} - -/** function to write a 32-bit value to the file */ -static int writeLong( FILE *file, unsigned int value ) -{ - char buffer[4] = { 0 }; - buffer[3] = value & 0xff; - buffer[2] = ( value >> 8 ) & 0xff; - buffer[1] = ( value >> 16 ) & 0xff; - buffer[0] = ( value >> 24 ) & 0xff; - if ( fwrite( buffer, 4, 1, file ) != 1U ) - { - return -1; - } - return 0; -} - -/** function to write a 16-bit value to the file */ -static int writeShort( FILE *file, unsigned short value ) -{ - char buffer[2] = { 0 }; - buffer[1] = value & 0xff; - buffer[0] = ( value >> 8 ) & 0xff; - if ( fwrite( buffer, 2, 1, file ) != 1U ) - { - return -1; - } - return 0; -} - -/** function to write a 8-bit value to the file */ -static int writeByte( FILE *file, unsigned char value ) -{ - if ( fputc( value, file ) == value ) - { - return 0; - } - return -1; -} - -/** function to parse the rtpdump file header */ -static int readHeader( struct RTPDUMP *hRTPDUMP ) -{ - unsigned short padding; - char buffer[255] = { 0 }; - /* read identifier */ - /* - char buffer[255] = {0}; - const char id [] = "#!rtpplay1.0"; - fgets( buffer, sizeof(buffer), hRTPDUMP->file ); - if( memcmp( buffer, id, sizeof(id)-1 ) != 0 ) - return -1; - */ - char version[4] = { 0 }; - char address[128] = { 0 }; - unsigned int port = 0; - unsigned int a, b, c, d; - - fgets( buffer, sizeof( buffer ), hRTPDUMP->file ); - if ( sscanf( buffer, "#!rtpplay%3s %127[0123456789.]/%u\n", version, address, &port ) == 3 ) - { - if ( sscanf( address, "%u.%u.%u.%u", &a, &b, &c, &d ) != 4 ) - { - return -1; - } - } - else if ( sscanf( buffer, "#!rtpplay%3s %127[0123456789abcdef:]/%u\n", version, address, &port ) == 3 ) - /* no verification of IPv6 addresses yet */ - { - } - else - { - fprintf( stderr, "unable to read rtpplay\n" ); - fprintf( stderr, "Buffer: %s\n", buffer ); - return -1; - } - if ( strcmp( version, "1.0" ) ) - { - return -1; - } - - /* read binary header (RD_hdr_t) */ - readLong( hRTPDUMP->file, &( hRTPDUMP->startSeconds ) ); - readLong( hRTPDUMP->file, &( hRTPDUMP->startMicroSeconds ) ); - readLong( hRTPDUMP->file, &( hRTPDUMP->source ) ); - readShort( hRTPDUMP->file, &( hRTPDUMP->port ) ); - readShort( hRTPDUMP->file, &padding ); - - return 0; -} - -static int writeHeader( struct RTPDUMP *hRTPDUMP ) -{ - /* write rtpdump header */ - fprintf( hRTPDUMP->file, "#!rtpplay%s %s/%d\n", "1.0", "127.0.0.1", 5000 ); - if ( !writeLong( hRTPDUMP->file, hRTPDUMP->startSeconds ) && - !writeLong( hRTPDUMP->file, hRTPDUMP->startMicroSeconds ) && - !writeLong( hRTPDUMP->file, hRTPDUMP->source ) && - !writeShort( hRTPDUMP->file, hRTPDUMP->port ) && - !writeShort( hRTPDUMP->file, 0 ) ) - { - return 0; - } - return -1; -} - -RTPDUMP_ERROR -RTPDUMP_OpenForReading( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ) -{ - return RTPDUMP_OpenWithFileToRead( phRTPDUMP, fopen( filename, "rb" ) ); -} - -RTPDUMP_ERROR -RTPDUMP_OpenWithFileToRead( RTPDUMP_HANDLE *phRTPDUMP, FILE *file ) -{ - *phRTPDUMP = (RTPDUMP_HANDLE) calloc( 1, sizeof( struct RTPDUMP ) ); - if ( !phRTPDUMP ) - { - return RTPDUMP_MEMORY_ERROR; - } - - /* open file stream */ - ( *phRTPDUMP )->file = file; - if ( ( *phRTPDUMP )->file == NULL ) - { - return RTPDUMP_FILE_NOT_FOUND; - } - - if ( readHeader( *phRTPDUMP ) != 0 ) - { - return RTPDUMP_INIT_ERROR; - } - - return RTPDUMP_NO_ERROR; -} - -RTPDUMP_ERROR -RTPDUMP_OpenForWriting( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ) -{ - *phRTPDUMP = (RTPDUMP_HANDLE) calloc( 1, sizeof( struct RTPDUMP ) ); - if ( !phRTPDUMP ) - { - return RTPDUMP_MEMORY_ERROR; - } - - /* open file stream */ - ( *phRTPDUMP )->file = fopen( filename, "wb" ); - if ( ( *phRTPDUMP )->file == NULL ) - { - return RTPDUMP_FILE_NOT_FOUND; - } - - if ( writeHeader( *phRTPDUMP ) != 0 ) - { - return RTPDUMP_INIT_ERROR; - } - - return RTPDUMP_NO_ERROR; -} - -RTPDUMP_ERROR -RTPDUMP_ReadPacket( RTPDUMP_HANDLE hRTPDUMP, - RTPDUMP_RTPPACKET *packet, - uint32_t *timeoffset_ms ) -{ - unsigned short length = 0; - - if ( !hRTPDUMP ) - { - return RTPDUMP_NOT_INITIALIZED; - } - - /* length of packet, including this header (may be smaller than plen if not whole packet recorded) */ - if ( readShort( hRTPDUMP->file, &length ) ) - { - return RTPDUMP_READ_ENDOFFILE; - } - length -= 8; - - /* actual header+payload length for RTP, 0 for RTCP */ - if ( readShort( hRTPDUMP->file, &( packet->payloadSize ) ) ) - { - return RTPDUMP_READ_ERROR; - } - if ( packet->payloadSize < length ) - { - return RTPDUMP_UNKNOWN_ERROR; - } - - /* remove size of RTP header so that plen is payload length */ - packet->headerSize = 12; - packet->payloadSize -= packet->headerSize; - - /* milliseconds since the start of recording */ - if ( readLong( hRTPDUMP->file, timeoffset_ms ) ) - { - return RTPDUMP_READ_ERROR; - } - - if ( length > sizeof( packet->data ) / sizeof( packet->data[0] ) ) - { - return RTPDUMP_UNKNOWN_ERROR; - } - - /* read entire RTP packet */ - if ( length != 0U ) - { - fread( packet->data, length, 1, hRTPDUMP->file ); - } - - RTPDUMP_ParseRTPHeader( packet ); - return RTPDUMP_NO_ERROR; -} - -RTPDUMP_ERROR -RTPDUMP_WritePacket( RTPDUMP_HANDLE hRTPDUMP, - const RTPDUMP_RTPPACKET *packet, - uint32_t timeoffset_ms ) -{ - /* rtpdump packet header */ - writeShort( hRTPDUMP->file, 8 + packet->headerSize + packet->payloadSize ); - writeShort( hRTPDUMP->file, packet->headerSize + packet->payloadSize ); - writeLong( hRTPDUMP->file, timeoffset_ms ); - - /* RTP header */ - writeByte( hRTPDUMP->file, packet->v_p_x_xx ); - writeByte( hRTPDUMP->file, packet->payloadTypeId ); - writeShort( hRTPDUMP->file, packet->sequenceNumber ); - writeLong( hRTPDUMP->file, packet->timeStamp ); - writeLong( hRTPDUMP->file, packet->ssrc ); - - /* RTP payload */ - fwrite( packet->data + packet->headerSize, packet->payloadSize, 1, hRTPDUMP->file ); - return RTPDUMP_NO_ERROR; -} - -void RTPDUMP_Close( RTPDUMP_HANDLE *phRTPDUMP, short closeFile ) -{ - if ( !phRTPDUMP ) - { - return; - } - - if ( !( *phRTPDUMP ) ) - { - return; - } - - if ( closeFile && ( *phRTPDUMP )->file ) - { - fclose( ( *phRTPDUMP )->file ); - } - - free( *phRTPDUMP ); - *phRTPDUMP = NULL; -} - -void RTPDUMP_SetDefaultRtpPacketHeader( RTPDUMP_RTPPACKET *packet ) -{ - packet->v_p_x_xx = 128; - packet->payloadTypeId = 96; - packet->sequenceNumber = 0; - packet->timeStamp = 0; - packet->ssrc = 0xaabbccdd; - packet->headerSize = 12; - packet->payloadSize = 0; -} - -void RTPDUMP_ParseRTPHeader( RTPDUMP_RTPPACKET *packet ) -{ - unsigned char *payload = (unsigned char *) packet->data; - payload = parseByte( payload, &( packet->v_p_x_xx ) ); - payload = parseByte( payload, &( packet->payloadTypeId ) ); - payload = parseShort( payload, &( packet->sequenceNumber ) ); - payload = parseLong( payload, &( packet->timeStamp ) ); - parseLong( payload, &( packet->ssrc ) ); -} diff --git a/lib_util/rtpdump.h b/lib_util/rtpdump.h deleted file mode 100644 index 3b5cb6b64b..0000000000 --- a/lib_util/rtpdump.h +++ /dev/null @@ -1,107 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/*==================================================================================== - EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 - ====================================================================================*/ - -#pragma once -#include <stdint.h> -#include <stdio.h> - -#ifdef __cplusplus -extern "C" -{ -#endif - - typedef enum _RTPDUMP_ERROR - { - RTPDUMP_NO_ERROR = 0x0000, - RTPDUMP_MEMORY_ERROR = 0x0001, - RTPDUMP_WRONG_PARAMS = 0x0002, - RTPDUMP_INIT_ERROR = 0x0003, - RTPDUMP_WRITE_ERROR = 0x0004, - RTPDUMP_READ_ERROR = 0x0005, - RTPDUMP_FILE_NOT_FOUND = 0x0006, - RTPDUMP_NOT_IMPLEMENTED = 0x0010, - RTPDUMP_NOT_INITIALIZED = 0x0100, - RTPDUMP_READ_ENDOFFILE = 0x0101, - RTPDUMP_UNKNOWN_ERROR = 0x1000 - } RTPDUMP_ERROR; - - typedef struct RTPDUMP *RTPDUMP_HANDLE; - typedef struct RTPDUMP RTPDUMP; - - typedef struct RTPDUMP_RTPPACKET - { - unsigned char v_p_x_xx; /* version, padding, extension etc. */ - unsigned char payloadTypeId; - unsigned short sequenceNumber; - unsigned int timeStamp; - unsigned int ssrc; - char data[1500 + 12]; /* raw RTP packet */ - unsigned short headerSize; - unsigned short payloadSize; - } RTPDUMP_RTPPACKET; - - - RTPDUMP_ERROR - RTPDUMP_OpenForReading( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ); - - RTPDUMP_ERROR - RTPDUMP_OpenWithFileToRead( RTPDUMP_HANDLE *phRTPDUMP, FILE *file ); - - RTPDUMP_ERROR - RTPDUMP_OpenForWriting( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ); - - RTPDUMP_ERROR - RTPDUMP_ReadPacket( RTPDUMP_HANDLE hRTPDUMP, - RTPDUMP_RTPPACKET *packet, - uint32_t *timeoffset_ms ); - - RTPDUMP_ERROR - RTPDUMP_WritePacket( RTPDUMP_HANDLE hRTPDUMP, - const RTPDUMP_RTPPACKET *packet, - uint32_t timeoffset_ms ); - - void - RTPDUMP_Close( RTPDUMP_HANDLE *phRTPDUMP, short closeFile ); - - void - RTPDUMP_SetDefaultRtpPacketHeader( RTPDUMP_RTPPACKET *packet ); - - void - RTPDUMP_ParseRTPHeader( RTPDUMP_RTPPACKET *packet ); - -#ifdef __cplusplus -} -#endif diff --git a/lib_util/tinywavein_c.h b/lib_util/tinywavein_c.h deleted file mode 100644 index 1f826a0301..0000000000 --- a/lib_util/tinywavein_c.h +++ /dev/null @@ -1,556 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef __TINYWAVEIN_C_H__ -#define __TINYWAVEIN_C_H__ - -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> - -#if defined( __i386__ ) || defined( _M_IX86 ) || defined( __x86_64__ ) || defined( _M_X64 ) || defined( __arm__ ) || defined( __aarch64__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) -#define __TWI_LE /* _T_iny _W_ave _I_n _L_ittle _E_ndian */ -#endif - -#if defined( __POWERPC__ ) || defined( __sparc__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) -#define __TWI_BE /* _T_iny _W_ave _I_n _B_ig _E_ndian */ -#endif - -#if !defined( __TWI_LE ) && !defined( __TWI_BE ) -#pragma message( "unknown processor - assuming Little Endian" ) -#define __TWI_LE -#endif - -#define __TWI_SUCCESS ( 0 ) -#define __TWI_ERROR ( -1 ) - -typedef struct __tinyWaveInHandle -{ - FILE *theFile; - fpos_t dataChunkPos; - uint32_t position; - uint32_t length; - uint32_t bps; -} __tinyWaveInHandle, WAVEFILEIN; - -typedef struct -{ - int16_t compressionCode; - int16_t numberOfChannels; - uint32_t sampleRate; - uint32_t averageBytesPerSecond; - int16_t blockAlign; - int16_t bitsPerSample; - /* int16_t extraFormatBytes ; */ -} SWavInfo; - -typedef struct -{ - char chunkID[4]; - uint32_t chunkSize; - /* long dataOffset ; */ /* never used */ -} SChunk; - -/* local wrapper, always returns correct endian */ -static size_t fread_LE( - void *ptr, - size_t size, - size_t nmemb, - FILE *stream ); - -#ifdef __TWI_BE -static int16_t BigEndian16( int16_t v ); -static int32_t BigEndian32( int32_t v ); -#endif - -/*! - * \brief Read header from a WAVEfile. Host endianess is handled accordingly. - * \fp filepointer of type FILE*. - * \wavinfo SWavInfo struct where the decoded header info is stored into. - * \return 0 on success and non-zero on failure. - * - */ -static WAVEFILEIN *OpenWav( - const char *filename, - uint32_t *samplerate, - int16_t *channels, - uint32_t *samplesInFile, - int16_t *bps ) -{ - WAVEFILEIN *self; - - SChunk fmt_chunk, data_chunk; - int32_t offset; - uint32_t tmpSize; - char tmpFormat[4]; - SWavInfo wavinfo = { 0, 0, 0, 0, 0, 0 }; - - self = (WAVEFILEIN *) calloc( 1, sizeof( WAVEFILEIN ) ); - if ( !self ) - { - goto bail; /* return NULL; */ - } - - if ( !filename ) - { - goto bail; - } - if ( !samplerate ) - { - goto bail; - } - if ( !channels ) - { - goto bail; - } - if ( !samplesInFile ) - { - goto bail; - } - if ( !bps ) - { - goto bail; - } - - self->theFile = fopen( filename, "rb" ); - if ( !self->theFile ) - { - goto bail; - } - - /* read RIFF-chunk */ - if ( fread( tmpFormat, 1, 4, self->theFile ) != 4 ) - { - goto bail; - } - - if ( strncmp( "RIFF", tmpFormat, 4 ) ) - { - goto bail; - } - - /* Read RIFF size. Ignored. */ - fread_LE( &tmpSize, 4, 1, self->theFile ); - - /* read WAVE-chunk */ - if ( fread( tmpFormat, 1, 4, self->theFile ) != 4 ) - { - goto bail; - } - - if ( strncmp( "WAVE", tmpFormat, 4 ) ) - { - goto bail; - } - - /* read format/bext-chunk */ - if ( fread( fmt_chunk.chunkID, 1, 4, self->theFile ) != 4 ) - { - goto bail; - } - - /* skip some potential chunks up to fmt chunk */ - /* todo: merge "bext" reading into this loop */ - while ( strncmp( "fmt ", fmt_chunk.chunkID, 4 ) != 0 ) - { - uint32_t chunkSize = 0; - - if ( fread_LE( &chunkSize, 1, 4, self->theFile ) != 4 ) - { - goto bail; - } - - /* skip chunk data */ - while ( chunkSize ) - { - int32_t nulbuf; - if ( fread_LE( &nulbuf, 1, 1, self->theFile ) != 1 ) - { - goto bail; - } - chunkSize -= 1; - } - - /* read next chunk header */ - if ( fread( fmt_chunk.chunkID, 1, 4, self->theFile ) != 4 ) - { - goto bail; - } - } - - /* go on with fmt-chunk */ - if ( strncmp( "fmt ", fmt_chunk.chunkID, 4 ) ) - { - goto bail; - } - - if ( fread_LE( &fmt_chunk.chunkSize, 4, 1, self->theFile ) != - 1 ) - { /* should be 16 for PCM-format (uncompressed) */ - goto bail; - } - - /* read info */ - fread_LE( &( wavinfo.compressionCode ), 2, 1, self->theFile ); - fread_LE( &( wavinfo.numberOfChannels ), 2, 1, self->theFile ); - fread_LE( &( wavinfo.sampleRate ), 4, 1, self->theFile ); - fread_LE( &( wavinfo.averageBytesPerSecond ), 4, 1, self->theFile ); - fread_LE( &( wavinfo.blockAlign ), 2, 1, self->theFile ); - fread_LE( &( wavinfo.bitsPerSample ), 2, 1, self->theFile ); - - offset = fmt_chunk.chunkSize - 16; - if ( wavinfo.compressionCode == 0x01 ) - { - if ( ( wavinfo.bitsPerSample != 16 ) && ( wavinfo.bitsPerSample != 24 ) ) - { /* we do only support 16 and 24 bit PCM audio */ - goto bail; - } - } - else if ( wavinfo.compressionCode == 0x03 ) - { - if ( wavinfo.bitsPerSample != 32 ) - { /* we do only support 32 bit float audio */ - goto bail; - } - } - - /* Skip rest of fmt header if any. */ - for ( ; offset > 0; offset-- ) - { - size_t read = fread( &tmpSize, 1, 1, self->theFile ); - (void) read; - } - - do - { - /* Read data chunk ID */ - if ( fread( data_chunk.chunkID, 1, 4, self->theFile ) != 4 ) - { - goto bail; - } - - /* Read chunk length. */ - - if ( fread_LE( &offset, 4, 1, self->theFile ) != 1 ) - { - goto bail; - } - - /* Check for data chunk signature. */ - if ( strncmp( "data", data_chunk.chunkID, 4 ) == 0 ) - { - data_chunk.chunkSize = offset; - break; - } - - /* unused 1 byte present, if size is odd */ - /* see https:/ /www.daubnet.com/en/file-format-riff */ - if ( offset % 2 ) - { - offset++; - } - - /* Jump over non data chunk. */ - for ( ; offset > 0; offset-- ) - { - size_t read = fread( &tmpSize, 1, 1, self->theFile ); - (void) read; - } - - } while ( !feof( self->theFile ) ); - - /* success so far */ - *samplerate = wavinfo.sampleRate; - *channels = wavinfo.numberOfChannels; - *samplesInFile = data_chunk.chunkSize / wavinfo.numberOfChannels; - *samplesInFile /= ( ( wavinfo.bitsPerSample + 7 ) / 8 ); - *bps = wavinfo.bitsPerSample; - - self->position = 0; - self->bps = wavinfo.bitsPerSample; - self->length = *samplesInFile * wavinfo.numberOfChannels; - - fgetpos( self->theFile, &self->dataChunkPos ); - - return self; - -bail: - free( self ); - return NULL; -} - -static int32_t __ReadSample16( - WAVEFILEIN *self, - int32_t *sample, - int32_t scale ) -{ - size_t cnt; - int16_t v = 0; - - cnt = fread( &v, 2, 1, self->theFile ); - - if ( cnt != 1 ) - { - return __TWI_ERROR; - } - - self->position += 1; - -#ifdef __TWI_BE - v = BigEndian16( v ); -#endif - - if ( ( scale - 16 ) > 0 ) - { - *sample = v << ( scale - 16 ); - } - else - { - *sample = v >> ( 16 - scale ); - } - - return __TWI_SUCCESS; -} - -static int32_t __ReadSample24( - WAVEFILEIN *self, - int32_t *sample, - int32_t scale ) -{ - size_t cnt; - int32_t v = 0; - - cnt = fread( &v, 3, 1, self->theFile ); - - if ( cnt != 1 ) - { - return __TWI_ERROR; - } - - self->position += 1; - -#ifdef __TWI_BE - v = BigEndian32( v ); -#endif - - if ( v >= 0x800000 ) - { - v |= 0xff000000; - } - - if ( ( scale - 24 ) > 0 ) - { - *sample = v << ( scale - 24 ); - } - else - { - *sample = v >> ( 24 - scale ); - } - - return __TWI_SUCCESS; -} - -static int32_t __ReadSample32( - WAVEFILEIN *self, - float *sample ) -{ - size_t cnt; - union fl_int - { - float v_float; - int32_t v_int; - }; - union fl_int v; - - cnt = fread( &v, 4, 1, self->theFile ); - if ( cnt != 1 ) - { - return __TWI_ERROR; - } - - self->position += 1; -#ifdef __TWI_BE - v.v_int = BigEndian32( v.v_int ); -#endif - - *sample = v.v_float; - - return __TWI_SUCCESS; -} - -static int32_t __ReadSampleInternal( - WAVEFILEIN *self, - int32_t *sample, - int32_t scale ) -{ - int32_t err; - - if ( !self ) - { - return __TWI_ERROR; - } - - switch ( self->bps ) - { - case 16: - err = __ReadSample16( self, sample, scale ); - break; - - case 24: - err = __ReadSample24( self, sample, scale ); - break; - - default: - err = __TWI_ERROR; - break; - } - - return err; -} - -/* not fully tested */ -/* this function returns normalized values in the range +32767..-32768 */ -static int32_t ReadWavShort( - WAVEFILEIN *self, - int16_t sampleBuffer[], - uint32_t nSamplesToRead, - uint32_t *nSamplesRead ) -{ - uint32_t i; - int32_t err = __TWI_SUCCESS; - - if ( !sampleBuffer ) - { - return __TWI_ERROR; - } - - /* check if we have enough samples left, if not, - set nSamplesToRead to number of samples left. */ - if ( self->position + nSamplesToRead > self->length ) - { - nSamplesToRead = self->length - self->position; - } - - for ( i = 0; i < nSamplesToRead; i++ ) - { - if ( self->bps == 32 ) - { - float tmp; - err = __ReadSample32( self, &tmp ); - if ( err != __TWI_SUCCESS ) - { - return err; - } - sampleBuffer[i] = (int16_t) ( tmp * 32768.0f ); - } - else - { - int32_t tmp; - err = __ReadSampleInternal( self, &tmp, 16 ); - if ( err != __TWI_SUCCESS ) - { - return err; - } - sampleBuffer[i] = (int16_t) tmp; - } - *nSamplesRead += 1; - } - - return __TWI_SUCCESS; -} - -static int32_t CloseWavIn( - WAVEFILEIN *self ) -{ - if ( self ) - { - if ( self->theFile ) - { - fclose( self->theFile ); - } - } - free( self ); - - return __TWI_SUCCESS; -} - -/*------------- local subs ----------------*/ - -static size_t fread_LE( - void *ptr, - size_t size, - size_t nmemb, - FILE *stream ) -{ -#ifdef __TWI_LE - return fread( ptr, size, nmemb, stream ); -#endif -#ifdef __TWI_BE - - unsigned char x[sizeof( int32_t )]; - unsigned char *y = (unsigned char *) ptr; - int32_t i; - int32_t len; - - len = fread( x, size, nmemb, stream ); - - for ( i = 0; i < size * nmemb; i++ ) - { - *y++ = x[size * nmemb - i - 1]; - } - - return len; -#endif -} - -#ifdef __TWI_BE -static int16_t BigEndian16( int16_t v ) -{ - int16_t a = ( v & 0x0ff ); - int16_t b = ( v & 0x0ff00 ) >> 8; - - return a << 8 | b; -} - -static int32_t BigEndian32( int32_t v ) -{ - int32_t a = ( v & 0x0ff ); - int32_t b = ( v & 0x0ff00 ) >> 8; - int32_t c = ( v & 0x0ff0000 ) >> 16; - int32_t d = ( v & 0xff000000 ) >> 24; - - return a << 24 | b << 16 | c << 8 | d; -} -#endif - -#endif /* __TINYWAVEIN_C_H__ */ diff --git a/lib_util/tinywaveout_c.h b/lib_util/tinywaveout_c.h deleted file mode 100644 index 39cde0d338..0000000000 --- a/lib_util/tinywaveout_c.h +++ /dev/null @@ -1,592 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#ifndef __TINYWAVEOUT_C_H__ -#define __TINYWAVEOUT_C_H__ - -#include <stdint.h> -#include <stdio.h> -#include <stdlib.h> - -#if defined( __i386__ ) || defined( _M_IX86 ) || defined( _M_X64 ) || defined( __x86_64__ ) || defined( __arm__ ) || defined( __aarch64__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) -#define __TWO_LE /* _T_iny _W_ave _O_ut _L_ittle _E_ndian */ -#endif - -#if defined( __POWERPC__ ) || defined( __sparc__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) -#define __TWO_BE /* _T_iny _W_ave _O_ut _B_ig _E_ndian */ -#endif - -#if !defined( __TWO_LE ) && !defined( __TWO_BE ) -#pragma message( "unknown processor - assuming Little Endian" ) -#define __TWI_LE -#endif - -#define __TWO_SUCCESS ( 0 ) -#define __TWO_ERROR ( -1 ) - -/*--- local types/structs ----------------------------------*/ - -#if defined( _MSC_VER ) -#pragma pack( push, 1 ) -#else -#pragma pack( 1 ) -#endif - -#ifndef TW_INT64 -#if !( defined( WIN32 ) ) -#include <stdint.h> -#define TWO_INT64 /* long long */ int64_t -#else -#define TWO_INT64 __int64 -#endif -#endif - -typedef struct __tinyWaveOutHeader -{ - uint32_t riffType; /* 'RIFF' */ - uint32_t riffSize; /* file size */ - - uint32_t waveType; /* 'WAVE' */ -} __tinyWaveOutHeader; - -typedef struct __tinyWaveOutFmtChunk -{ - uint32_t formatType; - uint32_t formatSize; - - uint16_t formatTag; - uint16_t numChannels; - uint32_t sampleRate; - uint32_t bytesPerSecond; - uint16_t blockAlignment; - uint16_t bitsPerSample; - - /* wav fmt ext hdr here */ -} __tinyWaveOutFmtChunk; - -typedef struct __tinyWaveOutDataChunk -{ - uint32_t dataType; - uint32_t dataSize; - -} __tinyWaveOutDataChunk; - -typedef struct __tinyWaveOutHandle -{ - FILE *theFile; - uint32_t dataSize; - TWO_INT64 dataSizeLimit; - uint32_t fmtChunkOffset; - uint32_t dataChunkOffset; - uint32_t bps; - uint32_t clipCount; -} __tinyWaveOutHandle, WAVEFILEOUT; - -/*--- local protos --------------------------------------------------*/ -static __inline uint32_t BigEndian32( char, char, char, char ); -static __inline uint32_t LittleEndian32( uint32_t ); -static __inline uint32_t LittleEndian32s( int32_t ); -static __inline int16_t LittleEndian16( int16_t ); -static __inline int32_t __dataSizeChk( WAVEFILEOUT *self, int32_t newbytes ); - -#if defined( _MSC_VER ) -#pragma pack( pop ) -#else -#pragma pack() -#endif - -static WAVEFILEOUT *CreateBWF( - const char *fileName, - const uint32_t sampleRate, - const uint32_t numChannels, - const uint32_t bps - /* ,const uint32_t writeWaveExt */ ) -{ - WAVEFILEOUT *self; - __tinyWaveOutHeader whdr; - __tinyWaveOutFmtChunk wfch; - __tinyWaveOutDataChunk wdch; - uint32_t blockAlignment = 0; - uint32_t ByteCnt = 0; /* Byte counter for fwrite */ - - self = (WAVEFILEOUT *) calloc( 1, sizeof( WAVEFILEOUT ) ); - if ( !self ) - { - goto bail; /* return NULL; */ - } - - if ( !fileName ) - { - goto bail; - } - if ( sampleRate == 0 ) - { - goto bail; - } - if ( sampleRate > 768000 ) - { - goto bail; - } - if ( numChannels == 0 ) - { - goto bail; - } - if ( numChannels > 64 ) - { - goto bail; - } - if ( bps != 16 && bps != 24 && bps != 32 ) - { - goto bail; - } - - self->theFile = fopen( fileName, "wb+" ); - if ( !self->theFile ) - { - goto bail; - } - - /* WAV-Header */ - whdr.riffType = BigEndian32( 'R', 'I', 'F', 'F' ); - whdr.riffSize = LittleEndian32( 0xffffffff ); /* set to maximum, if fseek() doesn't work later */ - whdr.waveType = BigEndian32( 'W', 'A', 'V', 'E' ); - /* write to file */ - ByteCnt = 0; - ByteCnt += (uint32_t) fwrite( &whdr, 1, sizeof( whdr ), self->theFile ); - - /* FMT-Chunk */ - wfch.formatType = BigEndian32( 'f', 'm', 't', ' ' ); - wfch.formatSize = LittleEndian32( 16 ); - switch ( bps ) - { - case 16: - case 24: - wfch.formatTag = LittleEndian16( 0x0001 ); /* WAVE_FORMAT_PCM */ - break; - case 32: - wfch.formatTag = LittleEndian16( 0x0003 ); /* WAVE_FORMAT_IEEE_FLOAT */ - break; - default: - goto bail; - } - self->bps = bps; - wfch.bitsPerSample = LittleEndian16( (int16_t) bps ); - wfch.numChannels = LittleEndian16( (int16_t) numChannels ); - blockAlignment = numChannels * ( bps >> 3 ); - wfch.blockAlignment = LittleEndian16( (int16_t) blockAlignment ); - wfch.sampleRate = LittleEndian32( sampleRate ); - wfch.bytesPerSecond = LittleEndian32( sampleRate * blockAlignment ); - /* tbd: wavfmt ext hdr here */ - /* write to file */ - self->fmtChunkOffset = ByteCnt; - ByteCnt += (uint32_t) fwrite( &wfch, 1, sizeof( wfch ), self->theFile ); - - /* DATA-Chunk */ - self->dataChunkOffset = ByteCnt; - wdch.dataType = BigEndian32( 'd', 'a', 't', 'a' ); - wdch.dataSize = LittleEndian32( 0xffffffff - ByteCnt ); /* yet unknown. set to maximum of 4 GB file */ - /* write to file */ - ByteCnt += (uint32_t) fwrite( &wdch, 1, sizeof( wdch ), self->theFile ); - - self->dataSize = 0; - self->dataSizeLimit = LittleEndian32( 0xffffffff - ByteCnt ); /* maximum size for data chunk for 4 GB files */ - /* self->dataSizeLimit = LittleEndian32(0x7fffffff - ByteCnt); */ /* maximum size for data chunk for 2 GB files */ - - self->clipCount = 0; - - return self; - -bail: - free( self ); - return NULL; -} - -static WAVEFILEOUT *CreateWav( - const char *fileName, - const uint32_t sampleRate, - const uint32_t numChannels, - const uint32_t bps - /* const uint32_t writeWaveExt */ -) -{ - return CreateBWF( fileName, sampleRate, numChannels, bps ); -} - -static const int16_t MAX_PCM16 = 32767; -static const int16_t MIN_PCM16 = -32768; -static __inline int32_t CLIP_PCM16( - int32_t sample, - uint32_t *clipcount ) -{ - int32_t tmp = sample; - - if ( sample >= MAX_PCM16 ) - { - tmp = MAX_PCM16; - ( *clipcount )++; - } - else - { - if ( sample <= MIN_PCM16 ) - { - tmp = MIN_PCM16; - ( *clipcount )++; - } - } - - return tmp; -} - -static const int32_t MAX_PCM24 = 8388607; -static const int32_t MIN_PCM24 = -8388608; -static __inline int32_t CLIP_PCM24( - int32_t sample, - uint32_t *clipcount ) -{ - int32_t tmp = sample; - - if ( sample >= MAX_PCM24 ) - { - tmp = MAX_PCM24; - ( *clipcount )++; - } - else - { - if ( sample <= MIN_PCM24 ) - { - tmp = MIN_PCM24; - ( *clipcount )++; - } - } - - return tmp; -} -#define MAX_FLOAT32 ( +1.0f ) -#define MIN_FLOAT32 ( -1.0f ) -static __inline float CLIP_FLOAT32( - float sample, - uint32_t *clipcount ) -{ - float tmp = sample; - - if ( sample >= MAX_FLOAT32 ) - { - tmp = MAX_FLOAT32; - ( *clipcount )++; - } - else - { - if ( sample <= MIN_FLOAT32 ) - { - tmp = MIN_FLOAT32; - ( *clipcount )++; - } - } - - return tmp; -} - -static int32_t __WriteSample16( - WAVEFILEOUT *self, - int32_t sample, - int32_t scale ) -{ - size_t cnt; - int16_t v; - - if ( 16 != scale ) - { - if ( ( scale - 16 ) > 0 ) - { - sample = sample >> ( scale - 16 ); - } - else - { - sample = sample << ( 16 - scale ); - } - } - - v = (int16_t) CLIP_PCM16( sample, &( self->clipCount ) ); -#ifdef __TWO_BE - v = LittleEndian16( v ); -#endif - - cnt = fwrite( &v, sizeof( int16_t ), 1, self->theFile ); - - if ( cnt == 1 ) - { - self->dataSize += 2; - return __TWO_SUCCESS; - } - - return __TWO_ERROR; -} - -static int32_t __WriteSample24( - WAVEFILEOUT *self, - int32_t sample, - int32_t scale ) -{ - size_t cnt; - int32_t v; - - if ( ( scale - 24 ) > 0 ) - { - sample = sample >> ( scale - 24 ); - } - else - { - sample = sample << ( 24 - scale ); - } - - v = (int32_t) CLIP_PCM24( sample, &( self->clipCount ) ); -#ifdef __TWO_BE - v = LittleEndian32s( v ); -#endif - cnt = fwrite( &v, 3, 1, self->theFile ); - - if ( cnt == 1 ) - { - self->dataSize += 3; - return __TWO_SUCCESS; - } - - return __TWO_ERROR; -} - -static int32_t __WriteSample32( - WAVEFILEOUT *self, - float sample ) -{ - size_t cnt; - union fl_int - { - float v_float; - int32_t v_int; - }; - union fl_int v; - -#if CLIP_FLOAT - v.v_float = CLIP_FLOAT32( sample, &( self->clipCount ) ); -#else - v.v_float = sample; - if ( ( sample > 1.0f ) || ( sample < -1.0f ) ) - { - self->clipCount++; - } -#endif - -#ifdef __TWO_BE - v.v_int = LittleEndian32s( v.v_int ); -#endif - cnt = fwrite( &v, 4, 1, self->theFile ); - - if ( cnt == 1 ) - { - self->dataSize += 4; - return __TWO_SUCCESS; - } - - return __TWO_ERROR; -} - -static int32_t __WriteSampleInt( - WAVEFILEOUT *self, - int32_t sample, - int32_t scale ) -{ - int32_t err; - - if ( !self ) - { - return __TWO_ERROR; - } - - switch ( self->bps ) - { - case 16: - err = __WriteSample16( self, sample, scale ); - break; - - case 24: - err = __WriteSample24( self, sample, scale ); - break; - - default: - err = __TWO_ERROR; - break; - } - - return err; -} - -/* this function expects values in the 16 bit range +-32767/8 */ -static int32_t WriteWavShort( - WAVEFILEOUT *self, - int16_t sampleBuffer[], - uint32_t nSamples ) -{ - uint32_t i; - int32_t err = __TWO_SUCCESS; - - if ( !self ) - { - return __TWO_ERROR; - } - if ( !sampleBuffer ) - { - return __TWO_ERROR; - } - if ( __dataSizeChk( self, nSamples * sizeof( int16_t ) ) ) - { - return __TWO_ERROR; - } - - for ( i = 0; i < nSamples; i++ ) - { - if ( self->bps == 32 ) - { - err = __WriteSample32( self, sampleBuffer[i] / 32768.0f ); - } - else - { - err = __WriteSampleInt( self, (int32_t) sampleBuffer[i], 16 ); - } - if ( err != __TWO_SUCCESS ) - { - return err; - } - } - - return __TWO_SUCCESS; -} - -static int32_t CloseWav( - WAVEFILEOUT *self ) -{ - uint32_t riffSize_le = 0; - uint32_t dataSize_le = 0; - - if ( !self ) - { - return __TWO_ERROR; - } - - riffSize_le = LittleEndian32( - self->dataChunkOffset - 8 + 8 + - self->dataSize ); /* sizeof(hdr) - (8 bytes of riff chunk header) + (8 bytes data chunk - header) + sizeof(raw-pcm-data) */ - dataSize_le = LittleEndian32( self->dataSize ); - - /* now overwrite length/size values in header with the actual/real ones */ - /* fseek(self->theFile, 0, SEEK_SET);*/ - - /* seek to riffsize */ - fseek( self->theFile, 4, SEEK_SET ); - fwrite( &riffSize_le, sizeof( riffSize_le ), 1, self->theFile ); - /* seek to datasize */ - fseek( self->theFile, self->dataChunkOffset + 4, SEEK_SET ); - fwrite( &dataSize_le, sizeof( dataSize_le ), 1, self->theFile ); - - fclose( self->theFile ); - free( self ); - - return __TWO_SUCCESS; -} - -/*------------- local subs ----------------*/ - -static __inline uint32_t BigEndian32( - char a, - char b, - char c, - char d ) -{ -#ifdef __TWO_LE - return (uint32_t) d << 24 | (uint32_t) c << 16 | (uint32_t) b << 8 | (uint32_t) a; -#else - return (uint32_t) a << 24 | (uint32_t) b << 16 | (uint32_t) c << 8 | (uint32_t) d; -#endif -} - -static __inline uint32_t LittleEndian32( - uint32_t v ) -{ -#ifdef __TWO_LE - return v; -#else - return ( v & 0x000000FF ) << 24 | ( v & 0x0000FF00 ) << 8 | - ( v & 0x00FF0000 ) >> 8 | ( v & 0xFF000000 ) >> 24; -#endif -} - -/* signed version of the above */ -static __inline uint32_t LittleEndian32s( - int32_t v ) -{ -#ifdef __TWO_LE - return v; -#else - return ( v & 0x000000FF ) << 24 | ( v & 0x0000FF00 ) << 8 | - ( v & 0x00FF0000 ) >> 8 | ( v & 0xFF000000 ) >> 24; -#endif -} - -static __inline int16_t LittleEndian16( - int16_t v ) -{ -#ifdef __TWO_LE - return v; -#else - return ( ( v << 8 ) & 0xFF00 ) | ( ( v >> 8 ) & 0x00FF ); -#endif -} - -static __inline int32_t __dataSizeChk( - WAVEFILEOUT *self, - int32_t newbytes ) -{ - if ( !self ) - { - return __TWO_ERROR; - } - - if ( ( ( (TWO_INT64) self->dataSize ) + ( (TWO_INT64) newbytes ) ) > - self->dataSizeLimit ) - { - return __TWO_ERROR; - } - - return __TWO_SUCCESS; -} - -#endif /* __TINYWAVEOUT_C_H__ */ -- GitLab From 9873e157920bb9c985379ce79e1d8df8f7ec64a8 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 7 Dec 2022 15:39:24 +0100 Subject: [PATCH 318/620] BE cleanup --- lib_com/options.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 7aa6ac7337..4cd5fc3484 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,8 +151,6 @@ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ -#define TEMP_FIX_BSPLINE_MALLOC /* temporary fix for malloc_() free() mismatch reported by the WMC tool */ - /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif -- GitLab From 4c8fb73d20f02dd62e0ed28d77df4f7e802d0257 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 15:48:21 +0100 Subject: [PATCH 319/620] Update MC JBM contribution Includes following changes: - reduce decoder memory usage in VoIP mode - update JBM tracefile writing - add VoIP conditions to self_test.prm - add script for ensuring BE between decoder in VoIP and non-VoIP mode (not yet used in CI) - fix bug in IvasModeRunner.py when running decoder in VoIP mode --- apps/decoder.c | 15 +- ci/jbm_be_test.sh | 105 +++++++++++++ lib_com/common_api_types.h | 13 ++ lib_dec/jbm_pcmdsp_apa.c | 47 +++++- lib_dec/jbm_pcmdsp_apa.h | 14 +- lib_dec/lib_dec.c | 141 +++++++++++++----- lib_dec/lib_dec.h | 10 ++ lib_util/jbm_file_writer.c | 33 +++- scripts/config/self_test.prm | 21 +++ .../dly_error_profile_0.dat | 3 + scripts/pyaudio3dtools/audiofile.py | 43 ++++++ scripts/pyivastest/IvasModeRunner.py | 4 +- 12 files changed, 396 insertions(+), 53 deletions(-) create mode 100755 ci/jbm_be_test.sh create mode 100644 scripts/dly_error_profiles/dly_error_profile_0.dat diff --git a/apps/decoder.c b/apps/decoder.c index 2f16b67df4..c6fc6e4ae1 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1897,8 +1897,7 @@ static ivas_error decodeVoIP( MasaFileWriter *masaWriter = NULL; uint16_t numObj = 0; - const uint32_t pcmBufSizeWithSampleBasedTimeScaling = 3 * MAX_OUTPUT_PCM_BUFFER_SIZE; - int16_t pcmBuf[3 * MAX_OUTPUT_PCM_BUFFER_SIZE]; + int16_t pcmBuf[MAX_OUTPUT_PCM_BUFFER_SIZE]; #else /* For now always assume output with one channel. When adding VoIP to IVAS, * initialization of the memory for jitter buffer etc. needs to happen after @@ -1936,9 +1935,10 @@ static ivas_error decodeVoIP( { ismWriters[i] = NULL; } +#else + memset( pcmBuf, 0, pcmBufSizeWithSampleBasedTimeScaling ); #endif - memset( pcmBuf, 0, pcmBufSizeWithSampleBasedTimeScaling ); rtpdumpDepacker.rtpdump = NULL; switch ( arg.inputFormat ) @@ -2111,7 +2111,12 @@ static ivas_error decodeVoIP( nOutSamples = (int16_t) ( arg.output_Fs / 50 ); /* decode and get samples */ - if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms +#ifdef SUPPORT_JBM_TRACEFILE + , + jbmTraceWriter +#endif + ) ) != IVAS_ERR_OK ) #else /* decode and get samples */ if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, &nOutSamples, pcmBuf, pcmBufSizeWithSampleBasedTimeScaling, systemTime_ms ) ) != IVAS_ERR_OK ) @@ -2121,6 +2126,7 @@ static ivas_error decodeVoIP( goto cleanup; } +#ifndef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* write JBM trace file entry - only done for EVS testing */ if ( jbmTraceWriter != NULL ) @@ -2139,6 +2145,7 @@ static ivas_error decodeVoIP( goto cleanup; } } +#endif #endif /* write JBM Offset file entry */ diff --git a/ci/jbm_be_test.sh b/ci/jbm_be_test.sh new file mode 100755 index 0000000000..38253a205f --- /dev/null +++ b/ci/jbm_be_test.sh @@ -0,0 +1,105 @@ +#! /usr/local/bin/bash + +# (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository. All Rights Reserved. + +# This software is protected by copyright law and by international treaties. +# The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, +# Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., +# Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, +# Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other +# contributors to this repository retain full ownership rights in their respective contributions in +# the software. This notice grants no license of any kind, including but not limited to patent +# license, nor is any license granted by implication, estoppel or otherwise. + +# Contributors are required to enter into the IVAS codec Public Collaboration agreement before making +# contributions. + +# This software is provided "AS IS", without any express or implied warranties. The software is in the +# development stage. It is intended exclusively for experts who have experience with such software and +# solely for the purpose of inspection. All implied warranties of non-infringement, merchantability +# and fitness for a particular purpose are hereby disclaimed and excluded. + +# Any dispute, controversy or claim arising under or in relation to providing this software shall be +# submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in +# accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and +# the United Nations Convention on Contracts on the International Sales of Goods. + +# Configuration +modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr') # 'stereo_b32_128_fb_rs') # stereo mode sems broken in decoder +output_formats=('STEREO' 'FOA' '7_1' 'HOA3') +limit_input_to_x_seconds=30 + +network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" + +output_dir_default="out" +output_dir_voip="out_voip" + +# Build IVAS +make clean +make all -j 8 + +# Run the same modes in VoIP and non-VoIP mode with a neutral delay profile +./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee jbm_be_test_output.txt +./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a jbm_be_test_output.txt + +# Set up Python path +python_audio_module_path=$(pwd)/scripts +export PYTHONPATH=$python_audio_module_path:$PYTHONPATH +python_audiofile_script_path=$python_audio_module_path/pyaudio3dtools/audiofile.py + +# Trim JBM delay from VoIP output files +output_dir_voip_dec="$output_dir_voip"/dec +output_dir_voip_dec_trimmed="$output_dir_voip"/dec_trimmed + +if [[ ! -d $output_dir_voip_dec_trimmed ]]; then + mkdir $output_dir_voip_dec_trimmed +fi + +for cut in "$output_dir_voip_dec"/*.wav; do + output_path=${cut/$output_dir_voip_dec/$output_dir_voip_dec_trimmed} + output_path=${output_path/".wav"/".raw"} + python3 "$python_audiofile_script_path" pre-trim 60 "$cut" "$output_path" | tee -a jbm_be_test_output.txt +done + +# Convert non-VoIP output from wav to pcm (comparison script doesn't support wav) +output_dir_default_dec="$output_dir_default"/dec +output_dir_default_dec_pcm="$output_dir_default"/dec_pcm + +if [[ ! -d $output_dir_default_dec_pcm ]]; then + mkdir $output_dir_default_dec_pcm +fi + +for ref in "$output_dir_default_dec"/*.wav; do + output_path=${ref/$output_dir_default_dec/$output_dir_default_dec_pcm} + output_path=${output_path/".wav"/".raw"} + python3 "$python_audiofile_script_path" convert "$ref" "$output_path" | tee -a jbm_be_test_output.txt +done + +# Assert BE between non-VoIP and VoIP modes +all_be=1 + +cmp_custom_path=$(pwd)/tests/cmp_custom.py + +for ref in "$output_dir_default_dec_pcm"/*; do + cut=${ref/$output_dir_default_dec_pcm/$output_dir_voip_dec_trimmed} + cut=${cut/".dec."/"_jbm_dly_error_profile_0_dat.dec."} + + # Print paths of compared files, since the script doesn't do it + printf "\nComparing %s and %s\n" "$ref" "$cut" | tee -a jbm_be_test_output.txt + printout=$($cmp_custom_path "$ref" "$cut" 2 0) + if [ $? -ne 0 ]; then + all_be=0 + fi + printf "%s\n" "$printout" | tee -a jbm_be_test_output.txt +done + +if [ $all_be -eq 1 ]; then + printf "\n\nAll tested conditions are bit-exact\n" | tee -a jbm_be_test_output.txt +else + printf "\n\nBitexactness problems found!\n" | tee -a jbm_be_test_output.txt + exit 255; +fi diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index 0fd3e7c552..1b9d60637a 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -140,15 +140,28 @@ typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT; typedef struct _IVAS_JBM_TRACE_DATA { +#ifdef MC_JBM + uint32_t systemTimestamp_ms; + uint16_t extBufferedSamples; + uint16_t lastDecodedWasActive; + int32_t output_Fs; + int16_t dataUnit_flag; +#else double playTime; int16_t partialCopyOffset; +#endif uint16_t sequenceNumber; uint32_t timeStamp; uint32_t rcvTime; +#ifdef MC_JBM + int16_t partial_frame; + int16_t partialCopyOffset; +#else int16_t lastDecodedWasActive; int16_t partial_frame_flag; int16_t dataUnit_flag; +#endif } IVAS_JBM_TRACE_DATA; diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 9057f103a5..a1da5b6b66 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -66,7 +66,12 @@ struct apa_state_t { /* output buffer */ +#ifdef MC_JBM + int16_t *buf_out; + uint16_t buf_out_capacity; +#else int16_t buf_out[APA_BUF]; +#endif uint16_t l_buf_out; /* Hann window */ @@ -143,7 +148,11 @@ static bool extend_frm( apa_state_t *ps, const int16_t frm_in[], int16_t frm_out /* Allocates memory for state struct and initializes elements. */ uint8_t apa_init( - apa_state_t **pps ) + apa_state_t **pps +#ifdef MC_JBM + ,int32_t num_channels +#endif +) { apa_state_t *ps = NULL; @@ -159,6 +168,15 @@ uint8_t apa_init( { return 2; } +#ifdef MC_JBM + ps->num_channels = num_channels; + ps->buf_out_capacity = APA_BUF_PER_CHANNEL * num_channels; + ps->buf_out = count_malloc( sizeof( float ) * ps->buf_out_capacity ); + if ( !ps->buf_out ) + { + return 2; + } +#endif apa_reset( ps ); *pps = ps; @@ -190,7 +208,9 @@ void apa_reset( ps->last_pitch = 0; ps->bad_frame_count = 0; ps->good_frame_count = 0; +#ifndef MC_JBM ps->num_channels = 0; +#endif return; } @@ -199,8 +219,11 @@ void apa_reset( /* Sets the audio configuration. */ bool apa_set_rate( apa_state_t *ps, - const int32_t output_Fs, - const int16_t num_channels ) + const int32_t output_Fs +#ifndef MC_JBM + ,const int16_t num_channels +#endif + ) { /* make sure pointer is valid */ if ( ps == NULL ) @@ -222,12 +245,11 @@ bool apa_set_rate( /* set number of channels */ #ifdef MC_JBM - if ( num_channels > APA_MAX_NUM_CHANNELS ) + if ( ps->num_channels > APA_MAX_NUM_CHANNELS ) { return 1; } #endif - ps->num_channels = num_channels; /* * several other parameters depend on the sampling rate @@ -415,6 +437,11 @@ bool apa_exit( return 0; } +#ifdef MC_JBM + /* deallocate state struct members */ + count_free( (*pps)->buf_out ); +#endif + /* deallocate state struct */ count_free( *pps ); @@ -466,7 +493,7 @@ uint8_t apa_exec( ) { uint16_t i; - int16_t frm_in[APA_BUF]; + int16_t frm_in[APA_BUF]; /* TODO(mcjbm): this buffer could be smaller - always allocates space for 16 channels */ uint16_t l_frm_out; int16_t l_rem; int32_t dl_scaled, dl_copied, l_frm_out_target; @@ -584,7 +611,11 @@ uint8_t apa_exec( /* copy output to internal buffer */ /* avoid buffer overflow: */ /* discard old samples; always keep at least most recent l_frm samples */ +#ifdef MC_JBM + if ( ( ps->l_buf_out + l_frm_out ) > ps->buf_out_capacity ) +#else if ( ( ps->l_buf_out + l_frm_out ) > APA_BUF ) +#endif { int16_t *buf_out_ptr1 = ps->buf_out; int16_t *buf_out_ptr2; @@ -602,7 +633,11 @@ uint8_t apa_exec( ps->l_buf_out = l_rem; } /* append new output samples */ +#ifdef MC_JBM + if ( ( ps->l_buf_out + l_frm_out ) > ps->buf_out_capacity ) +#else if ( ( ps->l_buf_out + l_frm_out ) > APA_BUF ) +#endif { return 5; } diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index aa8c931f5c..ab2cbdcb30 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -95,7 +95,12 @@ typedef struct apa_state_t *PCMDSP_APA_HANDLE; /*! Allocates memory for state struct and initializes elements. * @return 0 on success, 1 on failure */ -uint8_t apa_init( apa_state_t **s ); +uint8_t apa_init( apa_state_t **s +#ifdef MC_JBM + , + int32_t num_channels +#endif +); /*! Sets state variables to initial value. */ void apa_reset( apa_state_t *s ); @@ -109,7 +114,12 @@ void apa_reset( apa_state_t *s ); * @param[in] output_Fs sample rate [Hz] * @param[in] num_channels number of channels * @return 0 on success, 1 on failure */ -bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs, const int16_t num_channels ); +bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs +#ifndef MC_JBM + , + const int16_t num_channels +#endif +); /*! Set scaling. * The scale is given in % and will be valid until changed again. diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 98862e6b43..fc450d27a4 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -55,6 +55,11 @@ struct IVAS_DEC_VOIP PCMDSP_APA_HANDLE hTimeScaler; PCMDSP_FIFO_HANDLE hFifoAfterTimeScaler; uint16_t lastDecodedWasActive; +#ifdef MC_JBM + int16_t *apaExecBuffer; /* Buffer for APA scaling */ + JB4_DATAUNIT_HANDLE hCurrentDataUnit; /* Points to the currently processed data unit */ + uint16_t *bs_conversion_buf; /* Buffer for bitstream conversion from packed to serial */ +#endif #ifdef SUPPORT_JBM_TRACEFILE IVAS_JBM_TRACE_DATA JbmTraceData; #endif @@ -78,10 +83,6 @@ struct IVAS_DEC int16_t sdp_hf_only; /* RTP payload format parameter: only Header-Full format without zero padding for size collision avoidance */ int16_t prev_ft_speech; /* RXDTX handler: previous frametype flag for G.192 format AMRWB SID_FIRST detection */ int16_t CNG; /* RXDTX handler: CNG=1, nonCNG=0 */ - -#ifdef MC_JBM - JB4_DATAUNIT_HANDLE hCurrentDataUnit; -#endif }; @@ -132,9 +133,6 @@ ivas_error IVAS_DEC_Open( hIvasDec->hasBeenFedFirstGoodFrame = false; hIvasDec->hasDecodedFirstGoodFrame = false; hIvasDec->isInitialized = false; -#ifdef MC_JBM - hIvasDec->hCurrentDataUnit = NULL; -#endif hIvasDec->mode = mode; @@ -521,19 +519,33 @@ ivas_error IVAS_DEC_EnableVoIP( return error; } hIvasDec->hVoIP = count_malloc( sizeof( IVAS_DEC_VOIP ) ); + if ( hIvasDec->hVoIP == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate VoIP handle" ); + } + hIvasDec->hVoIP->lastDecodedWasActive = 0; #ifdef MC_JBM + hIvasDec->hVoIP->hCurrentDataUnit = NULL; hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs * hDecoderConfig->nchan_out / FRAMES_PER_SEC ); #else hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); #endif - /* Copy updated configuration to core coder */ - - if ( hIvasDec->hVoIP == NULL ) +#ifdef MC_JBM + hIvasDec->hVoIP->apaExecBuffer = count_malloc( sizeof( int16_t ) * APA_BUF_PER_CHANNEL * hDecoderConfig->nchan_out ); + if ( hIvasDec->hVoIP->apaExecBuffer == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate VoIP handle" ); } + /* Bitstream conversion is not counted towards complexity and memory usage */ + hIvasDec->hVoIP->bs_conversion_buf = dynamic_malloc( sizeof( uint16_t ) * MAX_BITS_PER_FRAME + 4 * 8 ); + if ( hIvasDec->hVoIP->bs_conversion_buf == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate VoIP handle" ); + } +#endif + /* initialize JBM */ if ( ( error = JB4_Create( &hIvasDec->hVoIP->hJBM ) != IVAS_ERR_OK ) != IVAS_ERR_OK ) { @@ -569,8 +581,18 @@ ivas_error IVAS_DEC_EnableVoIP( return IVAS_ERR_INIT_ERROR; } - if ( apa_init( &hIvasDec->hVoIP->hTimeScaler ) != 0 || - apa_set_rate( hIvasDec->hVoIP->hTimeScaler, hDecoderConfig->output_Fs, hDecoderConfig->nchan_out ) != 0 || + if ( apa_init( &hIvasDec->hVoIP->hTimeScaler +#ifdef MC_JBM + , + hDecoderConfig->nchan_out +#endif + ) != 0 || + apa_set_rate( hIvasDec->hVoIP->hTimeScaler, hDecoderConfig->output_Fs +#ifndef MC_JBM + , + hDecoderConfig->nchan_out +#endif + ) != 0 || apa_set_complexity_options( hIvasDec->hVoIP->hTimeScaler, wss, css ) != 0 || apa_set_quality( hIvasDec->hVoIP->hTimeScaler, 1, 4, 4 ) != 0 || pcmdsp_fifo_create( &hIvasDec->hVoIP->hFifoAfterTimeScaler ) != 0 || @@ -612,12 +634,12 @@ ivas_error IVAS_DEC_FeedFrame_Serial( } #ifdef MC_JBM - if ( hIvasDec->hCurrentDataUnit != NULL ) + if ( hIvasDec->hVoIP != NULL && hIvasDec->hVoIP->hCurrentDataUnit != NULL ) { DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; st->ini_frame = 0; st->prev_use_partial_copy = 0; - hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = hIvasDec->hCurrentDataUnit->dataSize * FRAMES_PER_SEC; + hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = hIvasDec->hVoIP->hCurrentDataUnit->dataSize * FRAMES_PER_SEC; } else { @@ -638,21 +660,21 @@ ivas_error IVAS_DEC_FeedFrame_Serial( #ifdef MC_JBM /* Update redundant frame information in EVS (pre- read indices) */ - if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && hIvasDec->hCurrentDataUnit != NULL ) + if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && hIvasDec->hVoIP != NULL && hIvasDec->hVoIP->hCurrentDataUnit != NULL ) { DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; st->bit_stream = serial; - if ( hIvasDec->hCurrentDataUnit->partial_frame || st->prev_use_partial_copy ) + if ( hIvasDec->hVoIP->hCurrentDataUnit->partial_frame || st->prev_use_partial_copy ) { - st->next_coder_type = hIvasDec->hCurrentDataUnit->nextCoderType; + st->next_coder_type = hIvasDec->hVoIP->hCurrentDataUnit->nextCoderType; } else { st->next_coder_type = INACTIVE; } - if ( hIvasDec->hCurrentDataUnit->partial_frame == 1 && bfi != 1 ) + if ( hIvasDec->hVoIP->hCurrentDataUnit->partial_frame == 1 && bfi != 1 ) { bfi = 2; } @@ -664,8 +686,9 @@ ivas_error IVAS_DEC_FeedFrame_Serial( #ifdef MC_JBM /* Update redundant frame information in EVS (post- read indices) */ if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && - hIvasDec->hCurrentDataUnit != NULL && - hIvasDec->hCurrentDataUnit->partial_frame != 0 ) + hIvasDec->hVoIP != NULL && + hIvasDec->hVoIP->hCurrentDataUnit != NULL && + hIvasDec->hVoIP->hCurrentDataUnit->partial_frame != 0 ) { DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; st->codec_mode = MODE2; @@ -1217,6 +1240,8 @@ static bool isSidFrame( #ifdef MC_JBM static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_t num_bits ) { +/* Bitstream conversion is not counted towards complexity and memory usage */ +#define WMC_TOOL_MAN uint32_t i; uint8_t byte; const uint8_t mask = 0x80; @@ -1232,6 +1257,7 @@ static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_ byte <<= 1; } +#undef WMC_TOOL_MAN } #endif @@ -1346,6 +1372,12 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ #endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE + , + JbmTraceFileWriter *jbmTraceFileWriter +#endif +#endif ) { Decoder_Struct *st_ivas; @@ -1357,7 +1389,9 @@ ivas_error IVAS_DEC_VoIP_GetSamples( uint32_t extBufferedTime_ms, scale, maxScaling; uint16_t nTimeScalerOutSamples; JB4_DATAUNIT_HANDLE dataUnit; +#ifndef MC_JBM uint16_t bit_stream[MAX_BITS_PER_FRAME + 4 * 8]; +#endif int16_t nOutSamplesElse; #ifndef MC_JBM uint16_t soundCardFrameSize; @@ -1367,11 +1401,6 @@ ivas_error IVAS_DEC_VoIP_GetSamples( int16_t result; ivas_error error; -#ifdef MC_JBM - /* scratch buffer */ - int16_t apaExecBuffer[APA_BUF]; -#endif - error = IVAS_ERR_OK; st_ivas = hIvasDec->st_ivas; @@ -1435,10 +1464,10 @@ ivas_error IVAS_DEC_VoIP_GetSamples( if ( dataUnit ) { #ifdef MC_JBM - hIvasDec->hCurrentDataUnit = dataUnit; + hIvasDec->hVoIP->hCurrentDataUnit = dataUnit; - bsCompactToSerial( dataUnit->data, bit_stream, dataUnit->dataSize ); - IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, dataUnit->dataSize, 0 ); + bsCompactToSerial( dataUnit->data, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize ); + IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize, 0 ); #else if ( st->codec_mode != 0 ) { @@ -1469,7 +1498,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( else if ( hIvasDec->hasDecodedFirstGoodFrame ) { /* Decoder has been initialized with first good frame - do PLC */ - IVAS_DEC_FeedFrame_Serial( hIvasDec, bit_stream, 0, 1 ); + IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, 0, 1 ); #else else if ( st->codec_mode != 0 ) { @@ -1484,7 +1513,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( if ( !hIvasDec->hasBeenFedFirstGoodFrame ) { /* codec mode to use not known yet - simply output silence */ - set_s( apaExecBuffer, 0, hVoIP->nSamplesFrame ); /* TODO(sgi): Could be optimized: just write directly to output buffer */ + set_s( hVoIP->apaExecBuffer, 0, hVoIP->nSamplesFrame ); /* TODO(mcjbm): Could be optimized: just write directly to output buffer */ #else if ( st->codec_mode == 0 ) { @@ -1503,7 +1532,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #endif #ifdef MC_JBM - if ( ( error = IVAS_DEC_GetSamples( hIvasDec, apaExecBuffer, &nOutSamplesElse ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_DEC_GetSamples( hIvasDec, hVoIP->apaExecBuffer, &nOutSamplesElse ) ) != IVAS_ERR_OK ) #else if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamplesElse ) ) != IVAS_ERR_OK ) #endif @@ -1542,7 +1571,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( return IVAS_ERR_UNKNOWN; } #ifdef MC_JBM - result = apa_exec( hVoIP->hTimeScaler, apaExecBuffer, hVoIP->nSamplesFrame, (uint16_t) maxScaling, apaExecBuffer, &nTimeScalerOutSamples ); + result = apa_exec( hVoIP->hTimeScaler, hVoIP->apaExecBuffer, hVoIP->nSamplesFrame, (uint16_t) maxScaling, hVoIP->apaExecBuffer, &nTimeScalerOutSamples ); #else result = apa_exec( hVoIP->hTimeScaler, pcmBuf, (uint16_t) ( hVoIP->nSamplesFrame * hDecoderConfig->nchan_out ), (uint16_t) maxScaling, pcmBuf, &nTimeScalerOutSamples ); #endif @@ -1557,7 +1586,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( /* append scaled samples to FIFO */ #ifdef MC_JBM - if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) apaExecBuffer, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) + if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) hVoIP->apaExecBuffer, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) #else if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) pcmBuf, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) #endif @@ -1565,9 +1594,25 @@ ivas_error IVAS_DEC_VoIP_GetSamples( return IVAS_ERR_UNKNOWN; } +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE + /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ + if ( jbmTraceFileWriter != NULL ) + { + /* write JBM trace data entry */ + store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); + if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing JBM Trace data to file\n" ); + return IVAS_ERR_UNKNOWN; + } + } +#endif +#else #ifdef SUPPORT_JBM_TRACEFILE /* store JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); +#endif #endif } @@ -1640,6 +1685,18 @@ static void IVAS_DEC_Close_VoIP( pcmdsp_fifo_destroy( &hVoIP->hFifoAfterTimeScaler ); +#ifdef MC_JBM + if ( hVoIP->apaExecBuffer != NULL ) + { + count_free( hVoIP->apaExecBuffer ); + } + if ( hVoIP->bs_conversion_buf != NULL ) + { + /* Bitstream conversion is not counted towards complexity and memory usage */ + dynamic_free( hVoIP->bs_conversion_buf ); + } +#endif + count_free( hVoIP ); return; @@ -1669,6 +1726,21 @@ static void store_JbmData( JbmTraceData = &hVoIP->JbmTraceData; +#ifdef MC_JBM + JbmTraceData->systemTimestamp_ms = systemTimestamp_ms; + JbmTraceData->extBufferedSamples = extBufferedSamples; + JbmTraceData->lastDecodedWasActive = hVoIP->lastDecodedWasActive; + JbmTraceData->output_Fs = output_Fs; + JbmTraceData->dataUnit_flag = dataUnit != NULL; + if ( dataUnit != NULL ) + { + JbmTraceData->sequenceNumber = dataUnit->sequenceNumber; + JbmTraceData->timeStamp = dataUnit->timeStamp; + JbmTraceData->rcvTime = dataUnit->rcvTime; + JbmTraceData->partial_frame = dataUnit->partial_frame; + JbmTraceData->partialCopyOffset = dataUnit->partialCopyOffset; + } +#else /* the first sample of the decoded/concealed frame will be played after the samples in the ring buffer */ JbmTraceData->playTime = systemTimestamp_ms + extBufferedSamples * 1000.0 / output_Fs; @@ -1695,8 +1767,9 @@ static void store_JbmData( { JbmTraceData->dataUnit_flag = 0; } +#endif - return; + return; } diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index 3b3c5620bc..a594076925 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,6 +35,11 @@ #include "common_api_types.h" #include "ivas_error.h" +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +#include "jbm_file_writer.h" +#endif +#endif #include <stdbool.h> #include <stdint.h> @@ -202,6 +207,11 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ #endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE + , JbmTraceFileWriter *jbmWriter +#endif +#endif ); /* Setter functions - apply changes to decoder configuration */ diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c index bf34c51872..cb5e16e14b 100644 --- a/lib_util/jbm_file_writer.c +++ b/lib_util/jbm_file_writer.c @@ -78,7 +78,7 @@ ivas_error JbmOffsetFileWriter_open( return IVAS_ERR_FAILED_FILE_OPEN; } - self = calloc( sizeof( JbmTraceFileWriter ), 1 ); + self = calloc( sizeof( JbmOffsetFileWriter ), 1 ); self->file = file; self->file_path = calloc( sizeof( char ), strlen( jbmOffsetFilename ) + 1 ); strcpy( self->file_path, jbmOffsetFilename ); @@ -191,9 +191,6 @@ ivas_error JbmTraceFileWriter_open( JbmTraceFileWriter *self; FILE *file; -#ifdef SUPPORT_JBM_TRACEFILE -#endif - if ( strlen( jbmTraceFilename ) < 1 ) { return IVAS_ERR_FAILED_FILE_OPEN; @@ -227,8 +224,12 @@ ivas_error JbmTraceFileWriter_open( /*! r: error code */ ivas_error JbmTraceFileWriter_writeFrame( +#ifdef MC_JBM + const IVAS_JBM_TRACE_DATA *data, /* i : JBM trace data */ +#else const IVAS_JBM_TRACE_DATA *JbmTraceData, /* i : JBM trace data */ - JbmTraceFileWriter *jbmTraceWriter /* o : JbmTraceFileWriter handle */ +#endif + JbmTraceFileWriter *jbmTraceWriter /* o : JbmTraceFileWriter handle */ ) { FILE *file; @@ -242,21 +243,43 @@ ivas_error JbmTraceFileWriter_writeFrame( if ( file ) { +#ifdef MC_JBM + /* the first sample of the decoded/concealed frame will be played after the samples in the ring buffer */ + double playTime = data->systemTimestamp_ms + data->extBufferedSamples * 1000.0 / data->output_Fs; +#endif /* rtpSeqNo;rtpTs;rcvTime;playTime;active\n */ +#ifdef MC_JBM + if ( data->dataUnit_flag ) + { + if ( data->partial_frame == 1 ) +#else if ( JbmTraceData->dataUnit_flag ) { if ( JbmTraceData->partial_frame_flag == 1 ) +#endif { +#ifdef MC_JBM + fprintf( file, "%d;%d;%d;%f;%d;%d\n", -1, -1, -1, playTime, data->lastDecodedWasActive, data->partialCopyOffset ); +#else fprintf( file, "%d;%d;%d;%f;%d;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive, JbmTraceData->partialCopyOffset ); +#endif } else { +#ifdef MC_JBM + fprintf( file, "%u;%u;%u;%f;%d\n", data->sequenceNumber, data->timeStamp, data->rcvTime, playTime, data->lastDecodedWasActive ); +#else fprintf( file, "%u;%u;%u;%f;%d\n", JbmTraceData->sequenceNumber, JbmTraceData->timeStamp, JbmTraceData->rcvTime, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); +#endif } } else { +#ifdef MC_JBM + fprintf( file, "%d;%d;%d;%f;%d\n", -1, -1, -1, playTime, data->lastDecodedWasActive ); +#else fprintf( file, "%d;%d;%d;%f;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); +#endif } } else diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 15e0be1ab5..ddf4ef386b 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -894,3 +894,24 @@ // Stereo downmix to bit-exact EVS at 24400 kbps, 48kHz in, 48kHz out ../IVAS_cod -stereo_dmx_evs 24400 48 testv/stvST48c.pcm bit ../IVAS_dec 48 bit testv/stvST48c.pcm_StereoDmxEVS_24400_48-48.tst + + +// MDCT stereo at 48 kbps, 16 kHz in, 16 kHz out, DTX on, JBM Prof 5 +../IVAS_cod -stereo -dtx 48000 16 testv/stvST16n.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 16 netsimoutput testv/stvST16n.pcm_MDCT_48000_16-16_DTX_JBM5.tst + +// 4 ISm with metadata at 32 kbps, 48 kHz in, 48 kHz out, FOA out, JBM Prof 5 +../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 32000 48 testv/stv4ISM48s.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv4ISM48s.pcm_32000_48-48_FOA_JBM5.tst + +// SBA at 80 kbps, 32kHz in, 32kHz out, HOA3 out, JBM Prof 5 +../IVAS_cod -sba 3 80000 32 testv/stv3OA32c.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/stv3OA32c.pcm_SBA_80000_32-32_HOA3_JBM5.tst + +// Multi-channel 5_1 at 384 kbps, 48kHz in, 48kHz out, 7_1_4 out, JBM Prof 5 +../IVAS_cod -mc 5_1 384000 48 testv/stv51MC48c.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/stv51MC48c.pcm_MC51_384000_48-48_7_1_4_JBM5.tst \ No newline at end of file diff --git a/scripts/dly_error_profiles/dly_error_profile_0.dat b/scripts/dly_error_profiles/dly_error_profile_0.dat new file mode 100644 index 0000000000..804fcc90e9 --- /dev/null +++ b/scripts/dly_error_profiles/dly_error_profile_0.dat @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9a271f2a916b0b6ee6cecb2426f0b3206ef074578be55d9bc94f6f3fe3ab86aa +size 2 diff --git a/scripts/pyaudio3dtools/audiofile.py b/scripts/pyaudio3dtools/audiofile.py index b03b472ae9..37367a49f5 100755 --- a/scripts/pyaudio3dtools/audiofile.py +++ b/scripts/pyaudio3dtools/audiofile.py @@ -764,3 +764,46 @@ def get_wav_file_info(filename: str) -> dict: "ext_param_size": ext_param_size, "ext_param": ext_param, } + + +if __name__ == "__main__": + import argparse + + parser = argparse.ArgumentParser(description="Tool for basic operations on audio files") + subparsers = parser.add_subparsers() + + def pre_trim_wrapper(pre_trim_args): + if pre_trim_args.input_file.endswith(".wav"): + input_file_properties = get_wav_file_info(pre_trim_args.input_file) + else: + print("Delay currently only supported with WAV file input") + exit(-1) + + x, _ = readfile(pre_trim_args.input_file, fs=input_file_properties["fs"], nchannels=input_file_properties["channels"]) + trim = int(pre_trim_args.amount_in_ms * input_file_properties["fs"] / 1000) + x = x[trim:] + writefile(pre_trim_args.output_file, x, fs=input_file_properties["fs"]) + + + parser_delay = subparsers.add_parser("pre-trim", help="Trim a given amount of content from the beginning of the file") + parser_delay.add_argument("amount_in_ms", type=float, help="Trim amount milliseconds.") + parser_delay.add_argument("input_file") + parser_delay.add_argument("output_file") + parser_delay.set_defaults(func=pre_trim_wrapper) + + def convert_wrapper(convert_args): + if not convert_args.input_file.endswith(".wav"): + print("Convert currently only supported with WAV file input") + exit(-1) + + convertfile(convert_args.input_file, convert_args.output_file) + + parser_convert = subparsers.add_parser( + "convert", help="Convert file format (output file extension determines output format)" + ) + parser_convert.add_argument("input_file") + parser_convert.add_argument("output_file") + parser_convert.set_defaults(func=convert_wrapper) + + args = parser.parse_args() + args.func(args) diff --git a/scripts/pyivastest/IvasModeRunner.py b/scripts/pyivastest/IvasModeRunner.py index 1c91c3f39f..e8ccfa6a0b 100755 --- a/scripts/pyivastest/IvasModeRunner.py +++ b/scripts/pyivastest/IvasModeRunner.py @@ -925,11 +925,11 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector): ) if isinstance(dec_options, dict): if "dec_options" in dec_options: - dec_options["dec_options"].append(addl_dec_options) + dec_options["dec_options"].extend(addl_dec_options) else: dec_options["dec_options"] = addl_dec_options else: - dec_options.append(addl_dec_options) + dec_options.extend(addl_dec_options) dec_config = { "ivas_format": mode, "config": config, -- GitLab From d47bd93806a44bd2629965d692e2f096bc8669d3 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 7 Dec 2022 16:16:26 +0100 Subject: [PATCH 320/620] correct order of #undef ... #define --- lib_com/wi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib_com/wi.c b/lib_com/wi.c index cb8f7b9863..2127d07af6 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -642,7 +642,9 @@ void DTFS_zeroPadd( LOGIC( 1 ); if ( N == X->lag ) { +#undef WMC_TOOL_SKIP return; +#define WMC_TOOL_SKIP } ADD( 1 ); LOOP( 1 ); @@ -1384,7 +1386,9 @@ static float DTFS_setEngy( LOGIC( 1 ); if ( en1 == 0.0 ) { +#undef WMC_TOOL_SKIP return 0.0; +#define WMC_TOOL_SKIP } MOVE( 1 ); DIV( 1 ); @@ -1436,7 +1440,9 @@ void DTFS_adjustLag( LOGIC( 1 ); if ( N == X_DTFS->lag ) { +#undef WMC_TOOL_SKIP return; +#define WMC_TOOL_SKIP } LOGIC( 1 ); -- GitLab From 98dd68ae73cb82104b93c6367833b371b0820dac Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Wed, 7 Dec 2022 16:24:22 +0100 Subject: [PATCH 321/620] removed delivering last_mc_mode as an argument across function calls and it is determined when needed using current LS config and earlier bitrate --- lib_com/ivas_prot.h | 6 ++---- lib_dec/ivas_corecoder_dec_reconfig.c | 17 ++++++++++++++--- lib_dec/ivas_mct_dec.c | 9 +++++---- lib_dec/ivas_sba_dec.c | 2 +- 4 files changed, 22 insertions(+), 12 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index d6b64c8203..00ac8d5662 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -347,8 +347,7 @@ ivas_error ivas_corecoder_dec_reconfig( const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ - const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ - const MC_MODE last_mc_mode /* i : MC mode in the previous frame */ + const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ #else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ @@ -657,8 +656,7 @@ ivas_error ivas_mc_dec_config( ); #ifdef MC_BITRATE_SWITCHING ivas_error ivas_mc_dec_reconfig( - Decoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t last_mc_mode /* i : last frame MC mode */ + Decoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); #endif diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 811b7211ad..ef5dcc5771 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -61,8 +61,7 @@ ivas_error ivas_corecoder_dec_reconfig( const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ - const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ - const MC_MODE last_mc_mode /* i : MC mode in the previous frame */ + const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ #else Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ @@ -75,6 +74,9 @@ ivas_error ivas_corecoder_dec_reconfig( int16_t n, sce_id, cpe_id, output_frame; int16_t nSCE_existing, nCPE_existing; int32_t ivas_total_brate; +#ifdef MCMASA_BITRATE_SWITCHING + MC_MODE last_mc_mode; +#endif DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; @@ -87,7 +89,16 @@ ivas_error ivas_corecoder_dec_reconfig( error = IVAS_ERR_OK; output_frame = (int16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); - +#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->ivas_format == MC_FORMAT ) + { + last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ + } + else + { + last_mc_mode = MC_MODE_NONE; + } +#endif /*-----------------------------------------------------------------* * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index e015bfb008..cbea498d79 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -626,7 +626,7 @@ ivas_error ivas_mc_dec_config( if ( st_ivas->hDecoderConfig->last_ivas_total_brate != st_ivas->hDecoderConfig->ivas_total_brate || st_ivas->transport_config != signaled_config || last_mc_mode != st_ivas->mc_mode ) { #ifdef MC_BITRATE_SWITCHING - ivas_mc_dec_reconfig( st_ivas, last_mc_mode ); + ivas_mc_dec_reconfig( st_ivas ); #else return IVAS_ERROR( IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, "Error: MC format switching not supported yet!!!\n\n" ); #endif @@ -640,12 +640,12 @@ ivas_error ivas_mc_dec_config( } #ifdef MC_BITRATE_SWITCHING ivas_error ivas_mc_dec_reconfig( - Decoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t last_mc_mode /* i : last frame MC mode */ + Decoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ) { #ifdef MCMASA_BITRATE_SWITCHING int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; + MC_MODE last_mc_mode; /* last frame MC mode */ #else int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; #endif @@ -655,6 +655,7 @@ ivas_error ivas_mc_dec_reconfig( MC_MODE mc_mode; #ifdef MCMASA_BITRATE_SWITCHING int32_t new_brate_SCE, new_brate_CPE; + last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ #endif error = IVAS_ERR_OK; @@ -906,7 +907,7 @@ ivas_error ivas_mc_dec_reconfig( new_brate_SCE = 0; /*st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport;*/ new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; } - if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE, last_mc_mode ) ) != IVAS_ERR_OK ) + if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE ) ) != IVAS_ERR_OK ) #else if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) #endif diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 0897393ca8..08d263e8ac 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -606,7 +606,7 @@ ivas_error ivas_sba_dec_reconfigure( #ifdef CORECODER_BITRATE_SWITCHING #ifdef MCMASA_BITRATE_SWITCHING - ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS, MC_MODE_NONE ); + ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); #else ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ); #endif -- GitLab From 78da1cef3b76c785534b0cd9334a27672ab70fd7 Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Wed, 7 Dec 2022 17:03:38 +0100 Subject: [PATCH 322/620] merged preprocessor flag MCMASA_BITRATE_SWITCHING into MC_BITRATE_SWITCHING --- lib_com/ivas_mcmasa_com.c | 2 +- lib_com/ivas_prot.h | 10 ++--- lib_com/options.h | 4 +- lib_com/swb_tbe_com.c | 2 +- lib_dec/ivas_corecoder_dec_reconfig.c | 28 ++++++------ lib_dec/ivas_cpe_dec.c | 2 +- lib_dec/ivas_init_dec.c | 8 ++-- lib_dec/ivas_mcmasa_dec.c | 2 +- lib_dec/ivas_mct_dec.c | 61 ++++----------------------- lib_dec/ivas_sba_dec.c | 2 +- lib_dec/ivas_sce_dec.c | 2 +- lib_enc/ivas_corecoder_enc_reconfig.c | 32 +++++++------- lib_enc/ivas_cpe_enc.c | 2 +- lib_enc/ivas_init_enc.c | 8 ++-- lib_enc/ivas_mcmasa_enc.c | 4 +- lib_enc/ivas_mct_enc.c | 27 ------------ lib_enc/ivas_sba_enc.c | 2 +- lib_enc/ivas_sce_enc.c | 2 +- 18 files changed, 64 insertions(+), 136 deletions(-) diff --git a/lib_com/ivas_mcmasa_com.c b/lib_com/ivas_mcmasa_com.c index a080befbaa..2b758167e1 100644 --- a/lib_com/ivas_mcmasa_com.c +++ b/lib_com/ivas_mcmasa_com.c @@ -91,7 +91,7 @@ void ivas_mcmasa_set_separate_channel_mode( return; } -#ifndef MCMASA_BITRATE_SWITCHING +#ifndef MC_BITRATE_SWITCHING /*--------------------------------------------------------------------------* * ivas_mcmasa_mono_brate() * diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 00ac8d5662..09102a77d1 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -128,7 +128,7 @@ ivas_error ivas_corecoder_enc_reconfig( Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ @@ -340,7 +340,7 @@ void ivas_mct_dec_close( #ifdef CORECODER_BITRATE_SWITCHING ivas_error ivas_corecoder_dec_reconfig( -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ int16_t nCPE_old, /* i : number of CPEs in previous frame */ @@ -4795,7 +4795,7 @@ void ivas_mcmasa_enc_close( const int32_t input_Fs /* i : input sampling rate */ ); -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING ivas_error ivas_mcmasa_enc_reconfig( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); @@ -4817,7 +4817,7 @@ void ivas_mcmasa_set_separate_channel_mode( const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ ); -#ifndef MCMASA_BITRATE_SWITCHING +#ifndef MC_BITRATE_SWITCHING /*! r: McMASA SCE bitrate */ int32_t ivas_mcmasa_mono_brate( const int32_t ivas_total_brate /* i : IVAS total bitrate */ @@ -4856,7 +4856,7 @@ void ivas_mcmasa_param_est_enc( const int16_t nchan_inp /* i : Number of input channels */ ); -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING void ivas_mcmasa_dmx_modify( const int16_t n_samples, /* i : input frame length in samples */ float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format */ diff --git a/lib_com/options.h b/lib_com/options.h index 6b63e63f71..a5f837cacb 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -159,9 +159,7 @@ #define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ -#ifdef MC_BITRATE_SWITCHING -#define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ -#endif + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/swb_tbe_com.c b/lib_com/swb_tbe_com.c index c8961f88dd..6ccb694517 100644 --- a/lib_com/swb_tbe_com.c +++ b/lib_com/swb_tbe_com.c @@ -1891,7 +1891,7 @@ void tbe_celp_exc( return; } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING assert( bwe_exc != NULL && "BWE excitation is NULL" ); #endif diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index ef5dcc5771..8cf0dc6f52 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -50,11 +50,11 @@ /*-------------------------------------------------------------------* * ivas_corecoder_dec_reconfig() * - * Allocate, initalize, and configure SCE/CPE/MCT handles in case of bitrate switching + * Allocate, initialize, and configure SCE/CPE/MCT handles in case of bitrate switching *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_dec_reconfig( -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ int16_t nCPE_old, /* i : number of CPEs in previous frame */ @@ -74,7 +74,7 @@ ivas_error ivas_corecoder_dec_reconfig( int16_t n, sce_id, cpe_id, output_frame; int16_t nSCE_existing, nCPE_existing; int32_t ivas_total_brate; -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING MC_MODE last_mc_mode; #endif DECODER_CONFIG_HANDLE hDecoderConfig; @@ -89,7 +89,7 @@ ivas_error ivas_corecoder_dec_reconfig( error = IVAS_ERR_OK; output_frame = (int16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( st_ivas->ivas_format == MC_FORMAT ) { last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ @@ -104,7 +104,7 @@ ivas_error ivas_corecoder_dec_reconfig( *-----------------------------------------------------------------*/ /* remove dummy CPE element for DFT stereo-like upmix */ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) || ( st_ivas->ivas_format == MC_FORMAT && last_mc_mode == MC_MODE_MCMASA && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) ) #else @@ -126,7 +126,7 @@ ivas_error ivas_corecoder_dec_reconfig( } } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( st_ivas->nchan_transport == nchan_transport_old && st_ivas->nSCE == nSCE_old && st_ivas->nCPE == nCPE_old ) #else if ( st_ivas->nchan_transport == nchan_transport_old ) @@ -134,7 +134,7 @@ ivas_error ivas_corecoder_dec_reconfig( { for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; #else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; @@ -144,7 +144,7 @@ ivas_error ivas_corecoder_dec_reconfig( for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; #else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; @@ -183,7 +183,7 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[cpe_id] = NULL; } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING /* the CPE-internal settings depend from ivas_format and mc_mode, so clean-up when switching between mc_modes */ if ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode != last_mc_mode && ( st_ivas->mc_mode == MC_MODE_MCMASA || last_mc_mode == MC_MODE_MCMASA ) ) { @@ -210,7 +210,7 @@ ivas_error ivas_corecoder_dec_reconfig( for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; #else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; @@ -219,7 +219,7 @@ ivas_error ivas_corecoder_dec_reconfig( } for ( ; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) #else if ( ( error = create_sce_dec( st_ivas, sce_id, ivas_total_brate / st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) @@ -231,7 +231,7 @@ ivas_error ivas_corecoder_dec_reconfig( for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; #else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; @@ -244,7 +244,7 @@ ivas_error ivas_corecoder_dec_reconfig( } for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) #else if ( ( error = create_cpe_dec( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) @@ -301,7 +301,7 @@ ivas_error ivas_corecoder_dec_reconfig( } /* create dummy CPE element for DFT stereo-like upmix */ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) || ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) ) #else diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index e8da2b8e48..4bdac66dcd 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -535,7 +535,7 @@ ivas_error ivas_cpe_dec( for ( i = 0; i < n; i++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate.cpe", 0, cpe_id, DEC ) ); dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode.cpe", 0, cpe_id, DEC ) ); #else diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 3d4fc869fe..8e7e87422d 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1056,7 +1056,7 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING int32_t brate_sce, brate_cpe; #endif @@ -1096,13 +1096,13 @@ ivas_error ivas_init_decoder( } } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING ivas_mcmasa_split_brate( st_ivas->hOutSetup.separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &brate_sce, &brate_cpe ); #endif for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_dec( st_ivas, sce_id, brate_sce ) ) != IVAS_ERR_OK ) { return error; @@ -1129,7 +1129,7 @@ ivas_error ivas_init_decoder( for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->element_mode_init = IVAS_CPE_MDCT; /* element_mode_init was IVAS_SCE for SCE initialization */ if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_cpe ) ) != IVAS_ERR_OK ) { diff --git a/lib_dec/ivas_mcmasa_dec.c b/lib_dec/ivas_mcmasa_dec.c index 7b7cf935a4..6cb09653f3 100644 --- a/lib_dec/ivas_mcmasa_dec.c +++ b/lib_dec/ivas_mcmasa_dec.c @@ -40,7 +40,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. #endif #include "wmops.h" -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * Local constants diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index cbea498d79..5e8d9a73b6 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -643,20 +643,15 @@ ivas_error ivas_mc_dec_reconfig( Decoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ) { -#ifdef MCMASA_BITRATE_SWITCHING int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; - MC_MODE last_mc_mode; /* last frame MC mode */ -#else - int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old; -#endif int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; + int32_t new_brate_SCE, new_brate_CPE; RENDERER_TYPE renderer_type_old; ivas_error error; - MC_MODE mc_mode; -#ifdef MCMASA_BITRATE_SWITCHING - int32_t new_brate_SCE, new_brate_CPE; + MC_MODE mc_mode, last_mc_mode; + last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ -#endif + error = IVAS_ERR_OK; nchan_transport_old = st_ivas->nchan_transport; @@ -672,7 +667,6 @@ ivas_error ivas_mc_dec_reconfig( nCPE_old = st_ivas->nCPE; sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; -#ifdef MCMASA_BITRATE_SWITCHING /* special handling needed for the hp20 buffers for McMASA */ if ( last_mc_mode == MC_MODE_MCMASA ) { @@ -683,7 +677,7 @@ ivas_error ivas_mc_dec_reconfig( nchan_hp20_old = nchan_transport_old; } st_ivas->sba_dirac_stereo_flag = 0; /* needs to be after getNumChanSynthesis() */ -#endif + /* renderer might have changed, reselect */ renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); @@ -777,9 +771,7 @@ ivas_error ivas_mc_dec_reconfig( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { -#ifdef MCMASA_BITRATE_SWITCHING ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), st_ivas->hDecoderConfig->ivas_total_brate ); -#endif if ( last_mc_mode != MC_MODE_MCMASA ) { @@ -787,20 +779,12 @@ ivas_error ivas_mc_dec_reconfig( { return error; } - -#ifndef MCMASA_BITRATE_SWITCHING - if ( ( error = ivas_masa_dec_open( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#else } if ( ( error = ivas_mcmasa_dec_reconfig( st_ivas ) ) != IVAS_ERR_OK ) { return error; } -#endif + /* ls conversion */ if ( st_ivas->hLsSetUpConversion != NULL ) { @@ -829,7 +813,6 @@ ivas_error ivas_mc_dec_reconfig( } } -#ifdef MCMASA_BITRATE_SWITCHING if ( st_ivas->mc_mode != MC_MODE_MCMASA ) { if ( st_ivas->nchan_transport == 1 ) @@ -841,16 +824,6 @@ ivas_error ivas_mc_dec_reconfig( st_ivas->element_mode_init = IVAS_CPE_MDCT; } } -#else - if ( st_ivas->nchan_transport == 1 ) - { - st_ivas->element_mode_init = IVAS_SCE; - } - else - { - st_ivas->element_mode_init = IVAS_CPE_MDCT; - } -#endif /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 @@ -889,7 +862,6 @@ ivas_error ivas_mc_dec_reconfig( st->mct_chan_mode = MCT_CHAN_MODE_LFE; } -#ifdef MCMASA_BITRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { uint8_t separateChannelEnabled; @@ -908,19 +880,12 @@ ivas_error ivas_mc_dec_reconfig( new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; } if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ) ) != IVAS_ERR_OK ) -#endif { return error; } /* re-configure hp20 memories */ -#ifdef MCMASA_BITRATE_SWITCHING ivas_hp20_dec_reconfig( st_ivas, nchan_hp20_old ); -#else - ivas_hp20_dec_reconfig( st_ivas, nchan_transport_old ); -#endif /*-----------------------------------------------------------------* * CLDFB instances @@ -950,7 +915,6 @@ ivas_error ivas_mc_dec_reconfig( } } -#ifdef MCMASA_BITRATE_SWITCHING if ( ( last_mc_mode == MC_MODE_MCMASA ) && ( nchan_transport_old == 1 ) && ( ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM ) || ( renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) ) { /* cldfbAnaDec[1] might be modified by DirAC (ivas_dirac_dec_binaural_internal) -> re-instantiate it */ @@ -964,7 +928,7 @@ ivas_error ivas_mc_dec_reconfig( } } } -#endif + /* Synthesis */ if ( numCldfbSyntheses_old > numCldfbSyntheses ) { @@ -1005,7 +969,6 @@ ivas_error ivas_mc_dec_reconfig( } /* renderers */ -#ifdef MCMASA_BITRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { if ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_MCMASA_MONO_STEREO ) ) @@ -1033,7 +996,6 @@ ivas_error ivas_mc_dec_reconfig( st_ivas->hDirAC = NULL; } } -#endif if ( renderer_type_old != st_ivas->renderer_type ) { @@ -1056,7 +1018,7 @@ ivas_error ivas_mc_dec_reconfig( { ivas_td_binaural_close( &st_ivas->hBinRendererTd ); } -#ifdef MCMASA_BITRATE_SWITCHING + if ( st_ivas->hDiracDecBin != NULL ) { if ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC ) @@ -1073,12 +1035,7 @@ ivas_error ivas_mc_dec_reconfig( } } } -#else - if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM ) ) - { - ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); - } -#endif + /* init necessary new renderers */ if ( st_ivas->hBinRenderer == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) ) { diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 08d263e8ac..e9236eb4a5 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -605,7 +605,7 @@ ivas_error ivas_sba_dec_reconfigure( *-----------------------------------------------------------------*/ #ifdef CORECODER_BITRATE_SWITCHING -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); #else ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ); diff --git a/lib_dec/ivas_sce_dec.c b/lib_dec/ivas_sce_dec.c index fcc5cc8985..25299bfbeb 100644 --- a/lib_dec/ivas_sce_dec.c +++ b/lib_dec/ivas_sce_dec.c @@ -285,7 +285,7 @@ ivas_error ivas_sce_dec( for ( i = 0; i < n; i++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate.sce", 0, sce_id, DEC ) ); dbgwrite( &st->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode.sce", 0, sce_id, DEC ) ); #else diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 371a376007..38f6a0c34a 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -51,7 +51,7 @@ *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_enc_reconfig( -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ @@ -73,7 +73,7 @@ ivas_error ivas_corecoder_enc_reconfig( BSTR_ENC_HANDLE hBstr, hMetaData; Indice *ind_list, *ind_list_metadata; int16_t nb_bits_tot, next_ind, last_ind; -#ifndef MCMASA_BITRATE_SWITCHING +#ifndef MC_BITRATE_SWITCHING int32_t ivas_total_brate; #endif ENCODER_CONFIG_HANDLE hEncoderConfig; @@ -84,7 +84,7 @@ ivas_error ivas_corecoder_enc_reconfig( *-----------------------------------------------------------------*/ hEncoderConfig = st_ivas->hEncoderConfig; -#ifndef MCMASA_BITRATE_SWITCHING +#ifndef MC_BITRATE_SWITCHING ivas_total_brate = hEncoderConfig->ivas_total_brate; #endif error = IVAS_ERR_OK; @@ -98,7 +98,7 @@ ivas_error ivas_corecoder_enc_reconfig( /*-----------------------------------------------------------------* * Switching between SCE(s)/CPE(s)/MCT *-----------------------------------------------------------------*/ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( st_ivas->nchan_transport == nchan_transport_old && st_ivas->nSCE == nSCE_old && st_ivas->nCPE == nCPE_old ) /* in McMASA, nchan_transport may be the same, but nSCE/nCPE differs */ #else if ( st_ivas->nchan_transport == nchan_transport_old ) @@ -107,7 +107,7 @@ ivas_error ivas_corecoder_enc_reconfig( for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; #else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; @@ -117,7 +117,7 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; #else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; @@ -141,7 +141,7 @@ ivas_error ivas_corecoder_enc_reconfig( } else { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING int16_t nchan_transport_real, nchan_transport_old_real; if ( last_mc_mode == MC_MODE_MCMASA ) { @@ -195,7 +195,7 @@ ivas_error ivas_corecoder_enc_reconfig( last_ind = hBstr->last_ind; ind_list_metadata = hMetaData->ind_list; /* pointer to the beginning of the global list */ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) { /* within McMASA we can modify the transport signals when switching */ @@ -274,7 +274,7 @@ ivas_error ivas_corecoder_enc_reconfig( for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; #else st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; @@ -284,7 +284,7 @@ ivas_error ivas_corecoder_enc_reconfig( for ( sce_id = nSCE_existing; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_enc( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) #else if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate / st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) @@ -325,7 +325,7 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; #else st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; @@ -336,7 +336,7 @@ ivas_error ivas_corecoder_enc_reconfig( copy_encoder_config( st_ivas, st_ivas->hCPE[cpe_id]->hCoreCoder[n], 0 ); st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; if ( cpe_id * CPE_CHANNELS + n > 0 || ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->nSCE > 0 ) ) { @@ -354,7 +354,7 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) { st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; @@ -379,7 +379,7 @@ ivas_error ivas_corecoder_enc_reconfig( /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; if ( cpe_id * CPE_CHANNELS + n > 0 || ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->nSCE > 0 ) ) #else @@ -404,7 +404,7 @@ ivas_error ivas_corecoder_enc_reconfig( } } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) { /* restore modified transport signal */ @@ -473,7 +473,7 @@ ivas_error ivas_corecoder_enc_reconfig( } } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata + st_ivas->nSCE * MAX_NUM_INDICES; #else st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata; diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index dbc5f44a25..566452cac9 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -420,7 +420,7 @@ ivas_error ivas_cpe_enc( { dbgwrite( sts[0]->input - NS2SA( sts[0]->input_Fs, ACELP_LOOK_NS ), sizeof( float ), input_frame, 1, fname( debug_dir, "input_DMX", n, sts[n]->id_element, ENC ) ); } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode.cpe", 0, sts[0]->id_element, ENC ) ); #else dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, sts[0]->id_element, ENC ) ); diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index e64c4e058b..a29ee297cb 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -617,7 +617,7 @@ ivas_error ivas_init_encoder( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING int32_t brate_sce, brate_cpe; #endif @@ -638,13 +638,13 @@ ivas_error ivas_init_encoder( return error; } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING ivas_mcmasa_split_brate( st_ivas->hMcMasa->separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &brate_sce, &brate_cpe ); #endif for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_enc( st_ivas, sce_id, brate_sce ) ) != IVAS_ERR_OK ) { return error; @@ -676,7 +676,7 @@ ivas_error ivas_init_encoder( for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_cpe ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index e79ac261ca..40f2ec4478 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -395,7 +395,7 @@ ivas_error ivas_mcmasa_enc_open( return error; } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_mcmasa_enc_reconfig() * @@ -1189,7 +1189,7 @@ void ivas_mcmasa_param_est_enc( return; } -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING void ivas_mcmasa_dmx_modify( const int16_t n_samples, /* i : input frame length in samples */ float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format. TODO: buffer size into define? */ diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index fde460e738..d21241f92e 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -602,9 +602,7 @@ ivas_error ivas_mc_enc_reconfig( { int16_t nchan_transport_old, nSCE_old, nCPE_old; ivas_error error; -#ifdef MCMASA_BITRATE_SWITCHING int32_t new_brate_SCE, new_brate_CPE; -#endif error = IVAS_ERR_OK; @@ -699,17 +697,10 @@ ivas_error ivas_mc_enc_reconfig( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { -#ifdef MCMASA_BITRATE_SWITCHING if ( last_mc_mode != MC_MODE_MCMASA ) { ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), st_ivas->hEncoderConfig->ivas_total_brate ); -#else - ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->hEncoderConfig->element_mode_init ), st_ivas->hEncoderConfig->ivas_total_brate ); - - if ( last_mc_mode != MC_MODE_MCMASA ) - { -#endif if ( ( error = ivas_qmetadata_open( &( st_ivas->hQMetaData ) ) ) != IVAS_ERR_OK ) { return error; @@ -725,8 +716,6 @@ ivas_error ivas_mc_enc_reconfig( return error; } } - -#ifdef MCMASA_BITRATE_SWITCHING else { /* reconfigure McMASA instance */ @@ -735,7 +724,6 @@ ivas_error ivas_mc_enc_reconfig( return error; } } -#endif if ( st_ivas->hParamMC != NULL ) { @@ -758,7 +746,6 @@ ivas_error ivas_mc_enc_reconfig( } } -#ifdef MCMASA_BITRATE_SWITCHING if ( st_ivas->mc_mode != MC_MODE_MCMASA ) { if ( st_ivas->nchan_transport == 1 ) @@ -770,16 +757,6 @@ ivas_error ivas_mc_enc_reconfig( st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; } } -#else - if ( st_ivas->nchan_transport == 1 ) - { - st_ivas->hEncoderConfig->element_mode_init = IVAS_SCE; - } - else - { - st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - } -#endif /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 @@ -824,7 +801,6 @@ ivas_error ivas_mc_enc_reconfig( st->mct_chan_mode = MCT_CHAN_MODE_LFE; } -#ifdef MCMASA_BITRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { ivas_mcmasa_split_brate( st_ivas->hMcMasa->separateChannelEnabled, st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); @@ -841,9 +817,6 @@ ivas_error ivas_mc_enc_reconfig( } if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, new_brate_SCE, new_brate_CPE, last_mc_mode ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 397a04e4a4..f704205690 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -272,7 +272,7 @@ ivas_error ivas_sba_enc_reconfigure( * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, ivas_total_brate / st_ivas->nchan_transport, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS, MC_MODE_NONE ); #else ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ); diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index bd460c038c..cb987263be 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -178,7 +178,7 @@ ivas_error ivas_sce_enc( #ifdef DEBUG_MODE_INFO dbgwrite( st->input - NS2SA( st->input_Fs, ACELP_LOOK_NS ), sizeof( float ), input_frame, 1, "res/input_DMX" ); -#ifdef MCMASA_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode.sce", 0, st->id_element, ENC ) ); #else dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); -- GitLab From 80dcf2d9073fb874b4a4f44334cfd3f8a5fa3b70 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 7 Dec 2022 17:59:59 +0100 Subject: [PATCH 323/620] harmonize rounding of ISM position metadata and crossfading between renderer and decoder --- lib_com/options.h | 3 +++ lib_dec/ivas_ism_renderer.c | 10 ++++++++++ lib_rend/ivas_sba_rendering.c | 15 +++++++++++++++ lib_rend/lib_rend.c | 34 +++++++++++++++++++++++++++++++++- 4 files changed, 61 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index b5063ecf39..116dc7fad3 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -179,6 +179,9 @@ #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ +#define FIX_REND_ISM_XFADE /* Issue 193: Crossfade inconsistencies in ISM between decoder and external renderer */ +#define FIX_REND_ISM_POS_ROUNDING /* Issue 193: (TEMPORARY! Pending fix for #215) Align rounding of ISM position data in external renderer */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_dec/ivas_ism_renderer.c b/lib_dec/ivas_ism_renderer.c index f27d49b111..d6e91bc197 100644 --- a/lib_dec/ivas_ism_renderer.c +++ b/lib_dec/ivas_ism_renderer.c @@ -82,7 +82,11 @@ ivas_error ivas_ism_renderer_open( interpolator_length = (uint16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC ); for ( i = 0; i < interpolator_length; i++ ) { +#ifdef FIX_REND_ISM_XFADE + st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length - 1 ); +#else st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length ); +#endif } return error; @@ -180,8 +184,14 @@ void ivas_ism_render( } else { +#ifdef FIX_REND_ISM_POS_ROUNDING + // TODO tmu review when #215 is resolved + azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->azimuth + 0.5f ); + elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->elevation + 0.5f ); +#else azimuth = (int16_t) ( st_ivas->hIsmMetaData[i]->azimuth + 0.5f ); elevation = (int16_t) ( st_ivas->hIsmMetaData[i]->elevation + 0.5f ); +#endif if ( st_ivas->hIntSetup.is_planar_setup ) { diff --git a/lib_rend/ivas_sba_rendering.c b/lib_rend/ivas_sba_rendering.c index e2977a81e4..1e692e3061 100755 --- a/lib_rend/ivas_sba_rendering.c +++ b/lib_rend/ivas_sba_rendering.c @@ -308,20 +308,35 @@ void ivas_ism2sba( for ( i = 0; i < num_objects; i++ ) { +#ifdef FIX_REND_ISM_POS_ROUNDING + // TODO tmu review when #215 is resolved + azimuth = (int16_t) floorf( hIsmMetaData[i]->azimuth + 0.5f ); + elevation = (int16_t) floorf( hIsmMetaData[i]->elevation + 0.5f ); +#else azimuth = (int16_t) ( hIsmMetaData[i]->azimuth + 0.5f ); elevation = (int16_t) ( hIsmMetaData[i]->elevation + 0.5f ); +#endif /*get HOA gets for direction (ACN/SN3D)*/ ivas_dirac_dec_get_response( azimuth, elevation, gains, sba_order ); for ( j = 0; j < sba_num_chans; j++ ) { +#ifdef FIX_REND_ISM_XFADE + g1 = 1.f; +#endif g2 = 0.f; for ( k = 0; k < output_frame; k++ ) { +#ifdef FIX_REND_ISM_XFADE + buffer_tmp[j][k] += ( g2 * gains[j] + g1 * hIsmRendererData->prev_gains[i][j] ) * buffer_td[i][k]; + g2 += 1.f / ( output_frame - 1 ); + g1 = 1.0f - g2; +#else g2 += 1.f / output_frame; g1 = 1.0f - g2; buffer_tmp[j][k] += ( g2 * gains[j] + g1 * hIsmRendererData->prev_gains[i][j] ) * buffer_td[i][k]; +#endif } hIsmRendererData->prev_gains[i][j] = gains[j]; } diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index d766334988..760987c922 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3790,12 +3790,28 @@ static ivas_error renderIsmToMc( wmops_sub_start( "renderIsmToMc" ); - /* TODO(sgi): Possible optimization: less processing needed if position didn't change */ +/* TODO(sgi): Possible optimization: less processing needed if position didn't change */ +#ifdef FIX_REND_ISM_POS_ROUNDING + // TODO tmu review when #215 is resolved + if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, + (int16_t) floorf( ismInput->currentPos.azimuth + 0.5f ), + (int16_t) floorf( ismInput->currentPos.elevation + 0.5f ), + currentPanGains ) ) != IVAS_ERR_OK ) +#else if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->currentPos.azimuth, ismInput->currentPos.elevation, currentPanGains ) ) != IVAS_ERR_OK ) +#endif { return error; } +#ifdef FIX_REND_ISM_POS_ROUNDING + // TODO tmu review when #215 is resolved + if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, + (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), + (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), + previousPanGains ) ) != IVAS_ERR_OK ) +#else if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->previousPos.azimuth, ismInput->previousPos.elevation, previousPanGains ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -3832,7 +3848,15 @@ static ivas_error renderIsmToSba( return error; } +#ifdef FIX_REND_ISM_POS_ROUNDING + // TODO tmu review when #215 is resolved + ivas_dirac_dec_get_response( (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), + (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), + previousPanGains, + ambiOrderOut ); +#else ivas_dirac_dec_get_response( (int16_t) ismInput->previousPos.azimuth, (int16_t) ismInput->previousPos.elevation, previousPanGains, ambiOrderOut ); +#endif if ( ( ismInput->currentPos.azimuth == ismInput->previousPos.azimuth ) && ( ismInput->currentPos.elevation == ismInput->previousPos.elevation ) ) @@ -3841,7 +3865,15 @@ static ivas_error renderIsmToSba( } else { +#ifdef FIX_REND_ISM_POS_ROUNDING + // TODO tmu review when #215 is resolved + ivas_dirac_dec_get_response( (int16_t) floorf( ismInput->currentPos.azimuth + 0.5f ), + (int16_t) floorf( ismInput->currentPos.elevation + 0.5f ), + currentPanGains, + ambiOrderOut ); +#else ivas_dirac_dec_get_response( (int16_t) ismInput->currentPos.azimuth, (int16_t) ismInput->currentPos.elevation, currentPanGains, ambiOrderOut ); +#endif } /* Assume num channels in audio buffer to be 1. -- GitLab From 691f03e0b88f55d916c2ce46112319bd222afc93 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 7 Dec 2022 17:01:31 +0530 Subject: [PATCH 324/620] Reconfiguration changes -SBA bitrate switching --- lib_com/ivas_sba_config.c | 4 +- lib_com/options.h | 1 + lib_dec/ivas_corecoder_dec_reconfig.c | 8 +- lib_dec/ivas_dirac_dec.c | 4 + lib_dec/ivas_init_dec.c | 4 + lib_dec/ivas_sba_dec.c | 111 +++++++++++++++++++++++- lib_enc/ivas_enc.c | 5 +- lib_enc/ivas_init_enc.c | 2 + lib_enc/ivas_sba_enc.c | 118 +++++++++++++++++++++++++- lib_enc/ivas_spar_encoder.c | 38 +++++++++ lib_enc/ivas_stat_enc.h | 2 + 11 files changed, 291 insertions(+), 6 deletions(-) diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 133bf3886d..bbb44ff074 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -71,7 +71,7 @@ SBA_MODE ivas_sba_mode_select( return sba_mode; } - +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING /*-------------------------------------------------------------------* * get_sba_reinit_flag() @@ -118,7 +118,7 @@ int16_t get_sba_reinit_flag( return sba_reinit_flag; } #endif - +#endif /*-------------------------------------------------------------------* * ivas_sba_config() * diff --git a/lib_com/options.h b/lib_com/options.h index 9c39b514da..aa9d4056d9 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -153,6 +153,7 @@ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ +#define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different transport channels*/ #define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define REMOVE_SID_HARM_LEFTOVERS /* Issue 192: remove leftovers from the SID bitrate harmonization */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index b8d4e66cf4..2a742c8bb4 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -483,7 +483,13 @@ ivas_error ivas_cldfb_dec_reconfig( } } } - +#ifdef SBA_BR_SWITCHING_RECONFIG + /* CLDFB Interpolation weights */ + if ( st_ivas->sba_mode == SBA_MODE_SPAR && ( numCldfbAnalyses_old != numCldfbAnalyses || numCldfbSyntheses_old != numCldfbSyntheses || nchan_transport_old != st_ivas->nchan_transport ) ) + { + ivas_spar_get_cldfb_gains( st_ivas->hSpar, st_ivas->cldfbAnaDec[0], st_ivas->cldfbSynDec[0], hDecoderConfig ); + } +#endif return IVAS_ERR_OK; } #endif diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index dbdf0870e8..caebbd6ea8 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -209,7 +209,11 @@ ivas_error ivas_dirac_dec_config( if ( flag_config == DIRAC_RECONFIGURE && st_ivas->ivas_format == SBA_FORMAT ) { int16_t tmp1, tmp2, tmp3; +#ifdef SBA_BR_SWITCHING_RECONFIG + ivas_sba_config( ivas_total_brate, st_ivas->sba_analysis_order, -1, &nchan_transport_old, st_ivas->sba_planar, &tmp1, &tmp2, &tmp3 ); +#else ivas_sba_config( st_ivas->hDecoderConfig->last_ivas_total_brate, st_ivas->sba_analysis_order, -1, &nchan_transport_old, st_ivas->sba_planar, &tmp1, &tmp2, &tmp3 ); +#endif } /*-----------------------------------------------------------------* diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 9f42ccb99f..a576813372 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -131,6 +131,7 @@ ivas_error ivas_dec_setup( if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->hDecoderConfig->last_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) #endif { +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING #ifndef SBA_BR_SWITCHING_2 if ( get_sba_reinit_flag( ivas_total_brate, st_ivas->hDecoderConfig->last_ivas_total_brate ) ) @@ -146,13 +147,16 @@ ivas_error ivas_dec_setup( } else { +#endif #endif if ( ( error = ivas_sba_dec_reconfigure( st_ivas ) ) != IVAS_ERR_OK ) { return error; } +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING } +#endif #endif } else diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 4e96c041bd..207930f958 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -567,10 +567,15 @@ ivas_error ivas_sba_dec_reconfigure( int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old; #endif int16_t sba_dirac_stereo_flag_old; +#ifdef SBA_BR_SWITCHING_RECONFIG + SBA_MODE sba_mode_old; + int32_t ivas_total_brate, last_ivas_total_brate; +#else #ifndef SBA_BR_SWITCHING_2 int32_t ivas_total_brate, last_ivas_total_brate; #else int32_t ivas_total_brate; +#endif #endif DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; @@ -579,8 +584,15 @@ ivas_error ivas_sba_dec_reconfigure( hDecoderConfig = st_ivas->hDecoderConfig; ivas_total_brate = hDecoderConfig->ivas_total_brate; +#ifdef SBA_BR_SWITCHING_RECONFIG + last_ivas_total_brate = st_ivas->last_active_ivas_total_brate; + sba_mode_old = ivas_sba_mode_select( last_ivas_total_brate ); + + st_ivas->sba_mode = sba_mode_old; +#else #ifndef SBA_BR_SWITCHING_2 last_ivas_total_brate = hDecoderConfig->last_ivas_total_brate; +#endif #endif /*-----------------------------------------------------------------* * Set SBA high-level parameters @@ -600,7 +612,9 @@ ivas_error ivas_sba_dec_reconfigure( sba_dirac_stereo_flag_old = st_ivas->sba_dirac_stereo_flag; st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->sba_order ); - +#ifdef SBA_BR_SWITCHING_RECONFIG + st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); +#endif #ifdef SBA_BR_SWITCHING_2 /*-----------------------------------------------------------------* * Allocate, initalize, and configure SBA handles @@ -620,12 +634,78 @@ ivas_error ivas_sba_dec_reconfigure( } else { +#ifdef SBA_BR_SWITCHING_RECONFIG + int16_t i, sba_order_internal, nchan_internal; +#else int16_t sba_order_internal; +#endif DIRAC_DEC_HANDLE hDirAC = st_ivas->hDirAC; SPAR_DEC_HANDLE hSpar = st_ivas->hSpar; sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ); +#ifdef SBA_BR_SWITCHING_RECONFIG + nchan_internal = ivas_sba_get_nchan_metadata( sba_order_internal ); + if ( hSpar != NULL && nchan_transport_old != ivas_get_sba_num_TCs( ivas_total_brate, sba_order_internal ) ) + { + + // VE: dirty patch -> reconfiguration of SPAR modules should be used instead !! + IVAS_FB_CFG *fb_cfg; + int16_t active_w_mixing; + + /* MD handle */ + ivas_spar_md_dec_close( &hSpar->hMdDec ); + + if ( ( error = ivas_spar_md_dec_open( &hSpar->hMdDec, st_ivas->hDecoderConfig, nchan_internal, sba_order_internal ) ) != IVAS_ERR_OK ) + { + return error; + } + hSpar->hMdDec->td_decorr_flag = 1; + hSpar->hMdDec->table_idx = -1; + + /* TD decorr. */ + ivas_spar_td_decorr_dec_close( &hSpar->hTdDecorr ); + + if ( ( error = ivas_spar_td_decorr_dec_open( &hSpar->hTdDecorr, hDecoderConfig->output_Fs, nchan_internal, 1 ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* FB mixer handle */ + ivas_FB_mixer_close( &hSpar->hFbMixer, hDecoderConfig->output_Fs ); + /* set FB config. */ + active_w_mixing = -1; + if ( ( error = ivas_fb_set_cfg( &fb_cfg, SBA_FORMAT, SBA_MODE_SPAR, nchan_internal, nchan_internal, active_w_mixing, hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } + fb_cfg->pcm_offset = NS2SA( hDecoderConfig->output_Fs, DELAY_FB_1_NS + IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ); + fb_cfg->remix_order = remix_order_set[hSpar->hMdDec->spar_md_cfg.remix_unmix_order]; + + /* FB mixer handle */ + if ( ( error = ivas_FB_mixer_open( &hSpar->hFbMixer, hDecoderConfig->output_Fs, fb_cfg ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* mixer_mat intitialization */ + for ( i = 0; i < nchan_internal; i++ ) + { + for ( int16_t j = 0; j < nchan_internal; j++ ) + { + for ( int16_t b = 0; b < IVAS_MAX_NUM_BANDS; b++ ) + { + hSpar->hMdDec->mixer_mat[i][j][b] = 0.0f; + for ( int16_t i_ts = 0; i_ts < ( MAX_PARAM_SPATIAL_SUBFRAMES + 1 ); i_ts++ ) + { + hSpar->hMdDec->mixer_mat_prev[i_ts][i][j][b] = 0.0f; + } + } + } + } + hSpar->i_subframe = 0; + } +#endif /* PCA handle */ if ( hSpar != NULL ) { @@ -644,7 +724,17 @@ ivas_error ivas_sba_dec_reconfigure( hSpar->hPCA = NULL; } } +#ifdef SBA_BR_SWITCHING_RECONFIG + if ( hSpar == NULL && st_ivas->sba_mode == SBA_MODE_SPAR ) + { + if ( ( error = ivas_spar_dec_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } + hSpar = st_ivas->hSpar; + } +#endif st_ivas->sba_dirac_stereo_flag = 0; sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ); @@ -740,6 +830,25 @@ ivas_error ivas_sba_dec_reconfigure( ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } #endif +#ifdef SBA_BR_SWITCHING_RECONFIG + if ( sba_mode_old != st_ivas->sba_mode ) // VE: TBD - possibly merge with the 'else if' branch below + { + if ( st_ivas->hDirAC != NULL ) + { + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE_MODE ) ) != IVAS_ERR_OK ) + { + return error; + } + } + else + { + if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_OPEN ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } +#endif #ifdef SBA_BR_SWITCHING_2 if ( ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) { diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 61faee23a4..251131e110 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -93,6 +93,7 @@ ivas_error ivas_enc( #ifndef SBA_BR_SWITCHING_2 sba_reinit_flag = 0; #endif +#ifndef SBA_BR_SWITCHING_RECONFIG if ( ivas_format == SBA_FORMAT ) { #ifndef SBA_BR_SWITCHING_2 @@ -110,7 +111,7 @@ ivas_error ivas_enc( } } #endif - +#endif /*----------------------------------------------------------------* * convert 'short' input data to 'float' *----------------------------------------------------------------*/ @@ -220,8 +221,10 @@ ivas_error ivas_enc( #ifndef SBA_BR_SWITCHING_2 if ( ( st_ivas->sba_mode == SBA_MODE_DIRAC ) && ( !sba_reinit_flag ) ) #else +#ifndef SBA_BR_SWITCHING_RECONFIG if ( !st_ivas->sba_reinit_flag ) #endif +#endif #endif { if ( ( error = ivas_sba_enc_reconfigure( st_ivas ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 8d3f78d154..a06da37805 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -342,8 +342,10 @@ ivas_error ivas_init_encoder( st_ivas->sba_mode = SBA_MODE_NONE; st_ivas->nchan_transport = -1; +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING_2 st_ivas->sba_reinit_flag = 0; +#endif #endif /*-----------------------------------------------------------------* * Allocate and initialize SCE/CPE and other handles diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 04aba97747..b3af97ea9a 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -345,7 +345,9 @@ ivas_error ivas_sba_enc_reconfigure( nchan_transport_old = st_ivas->nchan_transport; nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; - +#ifdef SBA_BR_SWITCHING_RECONFIG + SBA_MODE sba_mode_old = st_ivas->sba_mode; +#endif st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); #ifdef SBA_BR_SWITCHING_2 st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); @@ -382,6 +384,120 @@ ivas_error ivas_sba_enc_reconfigure( hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; } +#endif +#ifdef SBA_BR_SWITCHING_RECONFIG + /* FB mixer handle */ + if ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) + { + if ( st_ivas->sba_mode == SBA_MODE_SPAR ) + { + // VE: TBV whether 'hFbMixer' can be reused + if ( hDirAC->hFbMixer != NULL ) + { + ivas_FB_mixer_close( &( hDirAC->hFbMixer ), hEncoderConfig->input_Fs ); + hDirAC->hFbMixer = NULL; + } + + { + // VE: dirty patch -> reconfiguration of SPAR MD, TD_decorr, FbMixer modules should be used instead !! + + IVAS_FB_CFG *fb_cfg; + int16_t nchan_internal, sba_order_internal; + int16_t table_idx, active_w_mixing; + + sba_order_internal = min( st_ivas->sba_analysis_order, IVAS_MAX_SBA_ORDER ); + nchan_internal = ivas_sba_get_nchan_metadata( sba_order_internal ); + + /* Covar. State handle */ + ivas_spar_covar_enc_close( &hSpar->hCovEnc, hSpar->hFbMixer->fb_cfg->num_in_chans ); + + /* MD handle */ + ivas_spar_md_enc_close( &hSpar->hMdEnc ); + + if ( ( error = ivas_spar_md_enc_open( &( hSpar->hMdEnc ), hEncoderConfig, sba_order_internal ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* FB mixer handle */ + ivas_FB_mixer_close( &hSpar->hFbMixer, hEncoderConfig->input_Fs ); + + table_idx = ivas_get_spar_table_idx( ivas_total_brate, sba_order_internal, SPAR_CONFIG_BW, NULL, NULL ); + active_w_mixing = ivas_spar_br_table_consts[table_idx].active_w; + if ( ( error = ivas_fb_set_cfg( &fb_cfg, SBA_FORMAT, SBA_MODE_SPAR, nchan_internal, st_ivas->nchan_transport, active_w_mixing, hEncoderConfig->input_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } + fb_cfg->remix_order = remix_order_set[hSpar->hMdEnc->spar_md_cfg.remix_unmix_order]; + + if ( ( error = ivas_FB_mixer_open( &( hSpar->hFbMixer ), hEncoderConfig->input_Fs, fb_cfg ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* Covar. State handle */ + if ( ( error = ivas_spar_covar_enc_open( &( hSpar->hCovEnc ), hSpar->hFbMixer->pFb, hEncoderConfig->input_Fs, nchan_internal ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + else + { + if ( hDirAC->hFbMixer == NULL ) + { + IVAS_FB_CFG *fb_cfg; + + if ( ( error = ivas_fb_set_cfg( &fb_cfg, SBA_FORMAT, SBA_MODE_DIRAC, DIRAC_MAX_ANA_CHANS, 0, 0, hEncoderConfig->input_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* Allocate and initialize FB mixer handle */ + if ( ( error = ivas_FB_mixer_open( &( hDirAC->hFbMixer ), hEncoderConfig->input_Fs, fb_cfg ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } + + /* initalize delay for SPAR/DirAC delay synchronization */ + if ( ( st_ivas->sba_mode == SBA_MODE_DIRAC ) && ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) ) + { + int16_t n; + + if ( hDirAC->num_samples_synchro_delay == 0 ) + { + hDirAC->num_samples_synchro_delay = NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ); + + for ( n = 0; n < DIRAC_MAX_ANA_CHANS; n++ ) + { + if ( ( hDirAC->sba_synchro_buffer[n] = (float *) count_malloc( hDirAC->num_samples_synchro_delay * sizeof( float ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hDirAC synchro buffer\n" ) ); + } + set_zero( hDirAC->sba_synchro_buffer[n], hDirAC->num_samples_synchro_delay ); + } + for ( ; n < DIRAC_MAX_ANA_CHANS; n++ ) + { + hDirAC->sba_synchro_buffer[n] = NULL; + } + } + } + else + { + for ( int16_t n = 0; n < DIRAC_MAX_ANA_CHANS; n++ ) + { + if ( hDirAC->sba_synchro_buffer[n] != NULL ) + { + count_free( hDirAC->sba_synchro_buffer[n] ); + hDirAC->sba_synchro_buffer[n] = NULL; + } + } + hDirAC->num_samples_synchro_delay = 0; + } + } + #endif ivas_dirac_enc_reconfigure( st_ivas ); diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index dc6b5f7c73..8af95a6a57 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -292,6 +292,40 @@ ivas_error ivas_spar_enc( error = IVAS_ERR_OK; hEncoderConfig = st_ivas->hEncoderConfig; +#ifdef SBA_BR_SWITCHING_RECONFIG + // VE2DB: can hFbMixer->ppFilterbank_prior_input be replaced by st->input ? + + /* check last sba_mode */ + if ( ivas_sba_mode_select( st_ivas->hEncoderConfig->last_ivas_total_brate ) == SBA_MODE_DIRAC ) + { + Encoder_State *sts[MCT_MAX_BLOCKS]; + + /* initializations */ + for ( int16_t sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) + { + sts[sce_id] = st_ivas->hSCE[sce_id]->hCoreCoder[0]; + } + + for ( int16_t cpe_id = 0, i = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + for ( int16_t ch = 0; ch < CPE_CHANNELS; ch++ ) + { + sts[i] = st_ivas->hCPE[cpe_id]->hCoreCoder[ch]; + i++; + } + } + + /* update FB prior input */ + // VE: last 1ms of 'ppFilterbank_prior_input' is not correct + for ( int16_t i = 0; i < st_ivas->nchan_transport; i++ ) + { + mvr2r( sts[i]->input_buff + NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ), st_ivas->hSpar->hFbMixer->ppFilterbank_prior_input[i] + st_ivas->hSpar->hFbMixer->fb_cfg->prior_input_length - input_frame, input_frame ); + } + + //VE: TBD - update 'st->input_buff' for SparVAD + } +#endif + /* front VAD */ if ( ( error = front_vad_spar( st_ivas->hSpar, data_f[0], hEncoderConfig, input_frame ) ) != IVAS_ERR_OK ) { @@ -548,7 +582,11 @@ static ivas_error ivas_spar_enc_process( { hSpar->hMdEnc->table_idx = table_idx; #ifdef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING_RECONFIG if ( ivas_total_brate != hEncoderConfig->last_ivas_total_brate && !st_ivas->sba_reinit_flag ) +#else + if ( ivas_total_brate != hEncoderConfig->last_ivas_total_brate ) +#endif { if ( ( error = ivas_spar_md_enc_init( hSpar->hMdEnc, hEncoderConfig, sba_order ) ) != IVAS_ERR_OK ) { diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 81b89a5edc..3d8b88445f 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1048,8 +1048,10 @@ typedef struct int16_t sba_analysis_order; /* Ambisonic (SBA) order used for analysis and coding */ int16_t codec_mode; /* Mode1 or Mode2 of core codec */ int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING_2 int16_t sba_reinit_flag; /*flag indicating whether reinitialisation or reconfiguration function should be used*/ +#endif #endif float **mem_hp20_in; /* input signals HP filter memories */ -- GitLab From 28c4242a17deb780e313a110ececc62d2d3e7ed3 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 8 Dec 2022 09:29:37 +0100 Subject: [PATCH 325/620] Add HEAP_INTRA and RAM into the list of generated newsletters --- scripts/pyivastest/IvasModeAnalyzer.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/scripts/pyivastest/IvasModeAnalyzer.py b/scripts/pyivastest/IvasModeAnalyzer.py index 178b2faa35..ba43dc8db8 100644 --- a/scripts/pyivastest/IvasModeAnalyzer.py +++ b/scripts/pyivastest/IvasModeAnalyzer.py @@ -52,6 +52,15 @@ INSTRUMENTED_RESULTS = { "strip_suffix": False, "encdec": 2, }, + "RAM": { + "keyword": "Maximum RAM (stack + heap) size:", + "number_format": "{:.0f}", + "position": 0, + "max_or_add": "add", + "keyword_suffix": False, + "strip_suffix": False, + "encdec": 2, + }, "HEAP": { "keyword": "Maximum inter-frame heap size:", "number_format": "{:.0f}", @@ -61,6 +70,15 @@ INSTRUMENTED_RESULTS = { "strip_suffix": False, "encdec": 2, }, + "HEAP_INTRA": { + "keyword": "Maximum intra-frame heap size:", + "number_format": "{:.0f}", + "position": 0, + "max_or_add": "add", + "keyword_suffix": False, + "strip_suffix": False, + "encdec": 2, + }, "STACK": { "keyword": "Maximum stack size:", "number_format": "{:.0f}", -- GitLab From 3c20b44b644e74ccb27983e0be35b11e6986aeae Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 11:10:57 +0100 Subject: [PATCH 326/620] remove casting to int16 in python scripts + adjust thresholds for tests --- scripts/pyaudio3dtools/hoadecoder.py | 5 +- scripts/pyaudio3dtools/rotation.py | 4 +- scripts/pyaudio3dtools/spatialaudioconvert.py | 8 +- tests/renderer/constants.py | 214 ++++++++++-------- 4 files changed, 129 insertions(+), 102 deletions(-) diff --git a/scripts/pyaudio3dtools/hoadecoder.py b/scripts/pyaudio3dtools/hoadecoder.py index b774c0a9ec..9879980259 100644 --- a/scripts/pyaudio3dtools/hoadecoder.py +++ b/scripts/pyaudio3dtools/hoadecoder.py @@ -65,10 +65,9 @@ def get_hoa_mtx( mtx_hoa_dec[1, 0] = 0.5 mtx_hoa_dec[1, 1] = -0.5 elif spkrlayout.isloudspeaker: - # TODO getRSH in IVAS casts to int16_t , decide on final behaviour for scripts Y_td = getRSH( - T_DESIGN_11_AZI.astype(np.int16), - T_DESIGN_11_ELE.astype(np.int16), + T_DESIGN_11_AZI, + T_DESIGN_11_ELE, ambi_order, norm="ortho", ) diff --git a/scripts/pyaudio3dtools/rotation.py b/scripts/pyaudio3dtools/rotation.py index 09f90a9ccf..5fd9707167 100644 --- a/scripts/pyaudio3dtools/rotation.py +++ b/scripts/pyaudio3dtools/rotation.py @@ -331,9 +331,7 @@ def rotateMC(x: np.ndarray, trajectory: str, layout: spatialaudioformat) -> np.n rotateAziEle(a, e, Quat2RotMat(q)) for a, e in zip(layout.ls_azi, layout.ls_ele) ] - ).astype( - np.int16 - ) # TODO tmu for alignment with IVAS + ) R = panner.pan(rotated_pos[:, 0], rotated_pos[:, 1]) R[:, layout.lfe_index] = np.zeros([layout.nchannels, 1]) R[layout.lfe_index, layout.lfe_index] = 1 diff --git a/scripts/pyaudio3dtools/spatialaudioconvert.py b/scripts/pyaudio3dtools/spatialaudioconvert.py index 2dc1fc0737..86893d168e 100644 --- a/scripts/pyaudio3dtools/spatialaudioconvert.py +++ b/scripts/pyaudio3dtools/spatialaudioconvert.py @@ -372,8 +372,7 @@ def convert_mc( # SH response for loudspeaker positions MC2HOA = np.hstack( [ - # TODO getRSH in IVAS casts to int16_t , decide on final behaviour for scripts - hoadecoder.getRSH([int(a)], [int(e)], out_spfmt.ambi_order) + hoadecoder.getRSH([a], [e], out_spfmt.ambi_order) for a, e in zip(in_spfmt.ls_azi, in_spfmt.ls_ele) ] ).T @@ -435,10 +434,7 @@ def convert_ism( gains = gains[:, np.newaxis] # ISM -> HOA elif out_spfmt.ambi_order > 0: - # TODO getRSH in IVAS casts to int16_t , decide on final behaviour for scripts - gains = hoadecoder.getRSH( - [int(pos[0])], [int(pos[1])], out_spfmt.ambi_order - ) + gains = hoadecoder.getRSH([pos[0]], [pos[1]], out_spfmt.ambi_order) else: raise NotImplementedError( f"{in_spfmt.name} -> {out_spfmt.name}: format conversion not implemented" diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index da7302bdc2..396efc4a28 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -241,7 +241,9 @@ FORMAT_TO_CREND_FORMAT = { INPUT_FORMATS_AMBI = ["FOA", "HOA2", "HOA3"] INPUT_FORMATS_MC = ["MONO", "STEREO", "5_1", "5_1_2", "5_1_4", "7_1", "7_1_4"] INPUT_FORMATS_ISM = ["ISM1", "ISM2", "ISM3", "ISM4"] -INPUT_FORMATS_MASA = ["MASA2"] #["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly +INPUT_FORMATS_MASA = [ + "MASA2" +] # ["MASA1", "MASA2"] # Disable MASA1 tests until MASA1 can be implemented properly """ Non binaural / parametric output formats """ OUTPUT_FORMATS = [ @@ -283,6 +285,22 @@ pass_snr = { # External Renderer vs Standalone and pyaudio3dtools renderers tests # #################################################################### + # Failure reason: Renderer uses getRSH() with int16_t vs float in python + "test_ambisonics[FOA-5_1]": 39, + "test_ambisonics[FOA-5_1_2]": 40, + "test_ambisonics[FOA-5_1_4]": 41, + "test_ambisonics[FOA-7_1]": 39, + "test_ambisonics[FOA-7_1_4]": 41, + "test_ambisonics[HOA2-5_1]": 26, + "test_ambisonics[HOA2-5_1_2]": 29, + "test_ambisonics[HOA2-5_1_4]": 31, + "test_ambisonics[HOA2-7_1]": 27, + "test_ambisonics[HOA2-7_1_4]": 32, + "test_ambisonics[HOA3-5_1]": 25, + "test_ambisonics[HOA3-5_1_2]": 27, + "test_ambisonics[HOA3-5_1_4]": 29, + "test_ambisonics[HOA3-7_1]": 25, + "test_ambisonics[HOA3-7_1_4]": 30, # TODO needs debugging "test_ambisonics_binaural_headrotation[HOA2-BINAURAL-full_circle_in_15s]": 18, "test_ambisonics_binaural_headrotation[HOA3-BINAURAL-full_circle_in_15s]": 15, @@ -299,88 +317,102 @@ pass_snr = { "test_ambisonics_binaural_static[FOA-BINAURAL_ROOM]": 0, "test_ambisonics_binaural_static[HOA2-BINAURAL_ROOM]": 0, "test_ambisonics_binaural_static[HOA3-BINAURAL_ROOM]": 0, + # Failure reason: Renderer uses getRSH() with int16_t vs float in python + "test_custom_ls_input[t_design_4-FOA]": 43, + "test_custom_ls_input[t_design_4-HOA2]": 39, + "test_custom_ls_input[t_design_4-HOA3]": 36, + "test_custom_ls_output[FOA-16ch_8+4+4]": 40, + "test_custom_ls_output[FOA-4d4]": 40, + "test_custom_ls_output[FOA-itu_4+5+1]": 41, + "test_custom_ls_output[FOA-t_design_4]": 40, + "test_custom_ls_output[HOA2-16ch_8+4+4]": 32, + "test_custom_ls_output[HOA2-4d4]": 31, + "test_custom_ls_output[HOA2-itu_4+5+1]": 31, + "test_custom_ls_output[HOA2-t_design_4]": 34, + "test_custom_ls_output[HOA3-16ch_8+4+4]": 30, + "test_custom_ls_output[HOA3-4d4]": 29, + "test_custom_ls_output[HOA3-itu_4+5+1]": 30, + "test_custom_ls_output[HOA3-t_design_4]": 32, # Failure reason: TD Object Renderer standalone does not support custom LS input # Comparison with pyaudio3dtools results in bad SNR - "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL]": 0, + "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL]": 8, "test_custom_ls_input_binaural[16ch_8+4+4-BINAURAL_ROOM]": 0, - "test_custom_ls_input_binaural[4d4-BINAURAL]": 0, + "test_custom_ls_input_binaural[4d4-BINAURAL]": 6, "test_custom_ls_input_binaural[4d4-BINAURAL_ROOM]": 0, - "test_custom_ls_input_binaural_headrotation[16ch_8+4+4-BINAURAL-full_circle_in_15s]": 0, + "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL]": 1, + "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL_ROOM]": 3, + "test_custom_ls_input_binaural[t_design_4-BINAURAL]": 5, + "test_custom_ls_input_binaural[t_design_4-BINAURAL_ROOM]": 0, + "test_custom_ls_input_binaural_headrotation[16ch_8+4+4-BINAURAL-full_circle_in_15s]": 7, + "test_custom_ls_input_binaural_headrotation[16ch_8+4+4-BINAURAL-rotate_yaw_pitch_roll1]": 6, "test_custom_ls_input_binaural_headrotation[16ch_8+4+4-BINAURAL_ROOM-full_circle_in_15s]": 0, "test_custom_ls_input_binaural_headrotation[16ch_8+4+4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural_headrotation[16ch_8+4+4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural_headrotation[4d4-BINAURAL-full_circle_in_15s]": 0, + "test_custom_ls_input_binaural_headrotation[4d4-BINAURAL-full_circle_in_15s]": 7, + "test_custom_ls_input_binaural_headrotation[4d4-BINAURAL-rotate_yaw_pitch_roll1]": 5, "test_custom_ls_input_binaural_headrotation[4d4-BINAURAL_ROOM-full_circle_in_15s]": 0, "test_custom_ls_input_binaural_headrotation[4d4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural_headrotation[4d4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural_headrotation[itu_4+5+1-BINAURAL-full_circle_in_15s]": 0, + "test_custom_ls_input_binaural_headrotation[itu_4+5+1-BINAURAL-full_circle_in_15s]": 1, + "test_custom_ls_input_binaural_headrotation[itu_4+5+1-BINAURAL-rotate_yaw_pitch_roll1]": 1, "test_custom_ls_input_binaural_headrotation[itu_4+5+1-BINAURAL_ROOM-full_circle_in_15s]": 3, "test_custom_ls_input_binaural_headrotation[itu_4+5+1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, - "test_custom_ls_input_binaural_headrotation[itu_4+5+1-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural_headrotation[t_design_4-BINAURAL-full_circle_in_15s]": 0, + "test_custom_ls_input_binaural_headrotation[t_design_4-BINAURAL-full_circle_in_15s]": 4, + "test_custom_ls_input_binaural_headrotation[t_design_4-BINAURAL-rotate_yaw_pitch_roll1]": 4, "test_custom_ls_input_binaural_headrotation[t_design_4-BINAURAL_ROOM-full_circle_in_15s]": 0, "test_custom_ls_input_binaural_headrotation[t_design_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural_headrotation[t_design_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL]": 0, - "test_custom_ls_input_binaural[itu_4+5+1-BINAURAL_ROOM]": 3, - "test_custom_ls_input_binaural[t_design_4-BINAURAL]": 0, - "test_custom_ls_input_binaural[t_design_4-BINAURAL_ROOM]": 0, - # TODO need to verify 5ms rendering in external renderer - # Crend unit test does not support intermediate conversion to 7_1_4 - # Comparison with pyaudio3dtools results in bad SNR - "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 9, + # TODO needs debugging + "test_ism_binaural_headrotation[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 34, + "test_ism_binaural_headrotation[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 34, + "test_ism_binaural_headrotation[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 33, + # Failure reason: Crend unit test does not support intermediate conversion to 7_1_4 + "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_ism_binaural_headrotation[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, "test_ism_binaural_headrotation[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_ism_binaural_headrotation[ISM2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, - "test_ism_binaural_headrotation[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 24, "test_ism_binaural_headrotation[ISM3-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_ism_binaural_headrotation[ISM3-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, - "test_ism_binaural_headrotation[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 24, "test_ism_binaural_headrotation[ISM4-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_ism_binaural_headrotation[ISM4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 4, - "test_ism_binaural_headrotation[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 24, "test_ism_binaural_static[ISM1-BINAURAL_ROOM]": 23, "test_ism_binaural_static[ISM2-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM3-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM4-BINAURAL_ROOM]": 21, - # TODO needs debugging - # Failure reason: minor differences could be due to crossfades or metadata position rounding - "test_ism[ISM1-5_1_2]": 48, - "test_ism[ISM1-5_1_4]": 48, - "test_ism[ISM1-5_1]": 48, - "test_ism[ISM1-7_1_4]": 46, - "test_ism[ISM1-7_1]": 45, - "test_ism[ISM1-FOA]": 44, - "test_ism[ISM1-HOA2]": 40, - "test_ism[ISM1-HOA3]": 37, - "test_ism[ISM1-STEREO]": 54, - "test_ism[ISM2-5_1_2]": 46, - "test_ism[ISM2-5_1_4]": 45, + # Failure Reason: Casting of positions in renderer to int16_t vs. float in python + "test_ism[ISM1-STEREO]": 50, + "test_ism[ISM2-STEREO]": 54, + "test_ism[ISM4-STEREO]": 55, + "test_ism[ISM3-STEREO]": 51, + "test_ism[ISM1-5_1]": 43, + "test_ism[ISM1-5_1_2]": 43, + "test_ism[ISM1-5_1_4]": 43, + "test_ism[ISM1-7_1]": 40, + "test_ism[ISM1-7_1_4]": 41, + "test_ism[ISM1-FOA]": 49, + "test_ism[ISM1-HOA2]": 45, + "test_ism[ISM1-HOA3]": 42, "test_ism[ISM2-5_1]": 47, - "test_ism[ISM2-7_1_4]": 43, - "test_ism[ISM2-7_1]": 45, - "test_ism[ISM2-FOA]": 41, - "test_ism[ISM2-HOA2]": 37, - "test_ism[ISM2-HOA3]": 34, - "test_ism[ISM2-STEREO]": 55, - "test_ism[ISM3-5_1_2]": 44, - "test_ism[ISM3-5_1_4]": 43, + "test_ism[ISM2-5_1_2]": 44, + "test_ism[ISM2-5_1_4]": 43, + "test_ism[ISM2-7_1]": 44, + "test_ism[ISM2-7_1_4]": 41, + "test_ism[ISM2-FOA]": 47, + "test_ism[ISM2-HOA2]": 43, + "test_ism[ISM2-HOA3]": 40, "test_ism[ISM3-5_1]": 45, - "test_ism[ISM3-7_1_4]": 42, - "test_ism[ISM3-7_1]": 44, - "test_ism[ISM3-FOA]": 39, - "test_ism[ISM3-HOA2]": 36, - "test_ism[ISM3-HOA3]": 33, - "test_ism[ISM3-STEREO]": 54, - "test_ism[ISM4-5_1_2]": 44, - "test_ism[ISM4-5_1_4]": 44, + "test_ism[ISM3-5_1_2]": 43, + "test_ism[ISM3-5_1_4]": 42, + "test_ism[ISM3-7_1]": 43, + "test_ism[ISM3-7_1_4]": 41, + "test_ism[ISM3-FOA]": 47, + "test_ism[ISM3-HOA2]": 43, + "test_ism[ISM3-HOA3]": 40, "test_ism[ISM4-5_1]": 46, - "test_ism[ISM4-7_1_4]": 43, - "test_ism[ISM4-7_1]": 44, - "test_ism[ISM4-FOA]": 40, - "test_ism[ISM4-HOA2]": 36, - "test_ism[ISM4-HOA3]": 33, - "test_ism[ISM4-STEREO]": 57, + "test_ism[ISM4-5_1_2]": 43, + "test_ism[ISM4-5_1_4]": 43, + "test_ism[ISM4-7_1]": 45, + "test_ism[ISM4-7_1_4]": 41, + "test_ism[ISM4-FOA]": 47, + "test_ism[ISM4-HOA2]": 43, + "test_ism[ISM4-HOA3]": 40, # TODO delay alignment of LFE in binaural output # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, @@ -411,6 +443,12 @@ pass_snr = { "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 3, + # Failure reason: combined format, reasons listed above + "test_metadata[mixed_scene-5_1_2]": 47, + "test_metadata[mixed_scene-7_1]": 48, + "test_metadata[mixed_scene-7_1_4]": 47, + "test_metadata[mixed_scene-5_1_4]": 47, + "test_metadata[mixed_scene-5_1]": 47, ##################################### # # External vs Internal Renderer tests @@ -437,46 +475,42 @@ pass_snr = { "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12, # TODO harmonize panning to stereo # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize - "test_ism_vs_decoder[ISM1-STEREO]": 8, - "test_ism_vs_decoder[ISM2-STEREO]": 17, - "test_ism_vs_decoder[ISM3-STEREO]": 14, - "test_ism_vs_decoder[ISM4-STEREO]": 14, - # TODO needs investigation - # Failure reason: likely differences between metadata position rounding (decoder uses ceil()) and crossfades - "test_ism_vs_decoder[ISM1-5_1_2]": 26, - "test_ism_vs_decoder[ISM1-5_1]": 26, - "test_ism_vs_decoder[ISM1-5_1_4]": 26, - "test_ism_vs_decoder[ISM1-7_1]": 26, - "test_ism_vs_decoder[ISM1-7_1_4]": 26, - "test_ism_vs_decoder[ISM1-FOA]": 26, - "test_ism_vs_decoder[ISM1-HOA2]": 26, - "test_ism_vs_decoder[ISM1-HOA3]": 26, - "test_ism_vs_decoder[ISM2-5_1_2]": 31, - "test_ism_vs_decoder[ISM2-5_1_4]": 31, + # "test_ism_vs_decoder[ISM1-STEREO]": 8, + # "test_ism_vs_decoder[ISM2-STEREO]": 17, + # "test_ism_vs_decoder[ISM3-STEREO]": 14, + # "test_ism_vs_decoder[ISM4-STEREO]": 14, + # Failure reason: Decoder sets elevation for non-planar output layouts to 0 "test_ism_vs_decoder[ISM2-5_1]": 6, - "test_ism_vs_decoder[ISM2-7_1_4]": 31, "test_ism_vs_decoder[ISM2-7_1]": 5, - "test_ism_vs_decoder[ISM2-FOA]": 31, - "test_ism_vs_decoder[ISM2-HOA2]": 30, - "test_ism_vs_decoder[ISM2-HOA3]": 29, - "test_ism_vs_decoder[ISM3-5_1_2]": 32, - "test_ism_vs_decoder[ISM3-5_1_4]": 32, "test_ism_vs_decoder[ISM3-5_1]": 8, - "test_ism_vs_decoder[ISM3-7_1_4]": 31, "test_ism_vs_decoder[ISM3-7_1]": 7, - "test_ism_vs_decoder[ISM3-FOA]": 32, - "test_ism_vs_decoder[ISM3-HOA2]": 31, - "test_ism_vs_decoder[ISM3-HOA3]": 29, - "test_ism_vs_decoder[ISM3-MONO]": 77, - "test_ism_vs_decoder[ISM4-5_1_2]": 31, - "test_ism_vs_decoder[ISM4-5_1_4]": 30, "test_ism_vs_decoder[ISM4-5_1]": 8, - "test_ism_vs_decoder[ISM4-7_1_4]": 30, "test_ism_vs_decoder[ISM4-7_1]": 7, + # Failure reason: Bit-exact except for first frame; renderer fades in from defaultObjectPosition(), decoder fades in from 0 + "test_ism_vs_decoder[ISM1-5_1_2]": 27, + "test_ism_vs_decoder[ISM1-5_1_4]": 27, + "test_ism_vs_decoder[ISM1-7_1_4]": 27, + "test_ism_vs_decoder[ISM1-FOA]": 27, + "test_ism_vs_decoder[ISM1-HOA2]": 27, + "test_ism_vs_decoder[ISM1-HOA3]": 27, + "test_ism_vs_decoder[ISM2-5_1_2]": 32, + "test_ism_vs_decoder[ISM2-5_1_4]": 32, + "test_ism_vs_decoder[ISM2-7_1_4]": 32, + "test_ism_vs_decoder[ISM2-FOA]": 32, + "test_ism_vs_decoder[ISM2-HOA2]": 32, + "test_ism_vs_decoder[ISM2-HOA3]": 32, + "test_ism_vs_decoder[ISM3-5_1_2]": 33, + "test_ism_vs_decoder[ISM3-5_1_4]": 33, + "test_ism_vs_decoder[ISM3-7_1_4]": 33, + "test_ism_vs_decoder[ISM3-FOA]": 33, + "test_ism_vs_decoder[ISM3-HOA2]": 33, + "test_ism_vs_decoder[ISM3-HOA3]": 33, + "test_ism_vs_decoder[ISM4-5_1_2]": 31, + "test_ism_vs_decoder[ISM4-5_1_4]": 31, + "test_ism_vs_decoder[ISM4-7_1_4]": 31, "test_ism_vs_decoder[ISM4-FOA]": 31, - "test_ism_vs_decoder[ISM4-HOA2]": 30, - "test_ism_vs_decoder[ISM4-HOA3]": 29, - "test_ism_vs_decoder[ISM4-MONO]": 77, + "test_ism_vs_decoder[ISM4-HOA2]": 32, + "test_ism_vs_decoder[ISM4-HOA3]": 31, # TODO needs investigation # Failure reason: headrotation and crossfade could have differences "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, -- GitLab From 9bf05375da7cb9c13bcefc94eaf70cad42ba24e9 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 11:31:57 +0100 Subject: [PATCH 327/620] make sure the check for the eid-xor binary also works on Windows --- scripts/pyivastest/IvasScriptsCommon.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/pyivastest/IvasScriptsCommon.py b/scripts/pyivastest/IvasScriptsCommon.py index 46e6a2f4a8..b8dba704e8 100644 --- a/scripts/pyivastest/IvasScriptsCommon.py +++ b/scripts/pyivastest/IvasScriptsCommon.py @@ -546,7 +546,10 @@ def runner_setup(runner, args): if "fer_file" in args.keys() or "ber_file" in args.keys(): # assert that the eid-xor tool is there - eid_xor_path = os.path.join(runner.config["utilPath"], "eid-xor") + bin_ext="" + if platform.system() == "Windows": + bin_ext=".exe" + eid_xor_path = os.path.join(runner.config["utilPath"], "".join(["eid-xor", bin_ext])) if not os.path.isfile(eid_xor_path): raise FileNotFoundError(f"Could not find {eid_xor_path} (needed for error pattern insertion)") -- GitLab From 8f61fff4e1f21774d3b23e64a8c3f8af524063e4 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 11:40:49 +0100 Subject: [PATCH 328/620] update some more test thresholds --- tests/renderer/constants.py | 49 +++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 396efc4a28..ae77c59b88 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -463,27 +463,39 @@ pass_snr = { # Failure reason: conversion to 7_1_4 could be implemented differently w.r.t decoder "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-full_circle_in_15s]": 15, "test_ism_binaural_headrotation_vs_decoder[ISM1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 15, + "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL-rotate_yaw_pitch_roll1]": 55, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, + "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-full_circle_in_15s]": 72, + "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL-rotate_yaw_pitch_roll1]": 73, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM3-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, + "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-full_circle_in_15s]": 71, + "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL-rotate_yaw_pitch_roll1]": 61, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-full_circle_in_15s]": 12, "test_ism_binaural_headrotation_vs_decoder[ISM4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 13, + # TODO needs investigation "test_ism_binaural_static_vs_decoder[ISM1-BINAURAL_ROOM]": 15, "test_ism_binaural_static_vs_decoder[ISM2-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12, + "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL]": 72, + "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL]": 71, # TODO harmonize panning to stereo # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize - # "test_ism_vs_decoder[ISM1-STEREO]": 8, - # "test_ism_vs_decoder[ISM2-STEREO]": 17, - # "test_ism_vs_decoder[ISM3-STEREO]": 14, - # "test_ism_vs_decoder[ISM4-STEREO]": 14, + "test_ism_vs_decoder[ISM1-STEREO]": 8, + "test_ism_vs_decoder[ISM2-STEREO]": 17, + "test_ism_vs_decoder[ISM3-STEREO]": 14, + "test_ism_vs_decoder[ISM4-STEREO]": 14, # Failure reason: Decoder sets elevation for non-planar output layouts to 0 + "test_ism_vs_decoder[ISM1-5_1]": 27, + "test_ism_vs_decoder[ISM1-7_1]": 27, "test_ism_vs_decoder[ISM2-5_1]": 6, "test_ism_vs_decoder[ISM2-7_1]": 5, + "test_ism_vs_decoder[ISM3-MONO]": 73, "test_ism_vs_decoder[ISM3-5_1]": 8, "test_ism_vs_decoder[ISM3-7_1]": 7, + "test_ism_vs_decoder[ISM4-MONO]": 72, "test_ism_vs_decoder[ISM4-5_1]": 8, "test_ism_vs_decoder[ISM4-7_1]": 7, # Failure reason: Bit-exact except for first frame; renderer fades in from defaultObjectPosition(), decoder fades in from 0 @@ -512,30 +524,37 @@ pass_snr = { "test_ism_vs_decoder[ISM4-HOA2]": 32, "test_ism_vs_decoder[ISM4-HOA3]": 31, # TODO needs investigation - # Failure reason: headrotation and crossfade could have differences - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-full_circle_in_15s]": 4, - "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4, - "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, - # TODO needs investigation + "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL-full_circle_in_15s]": 74, + "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 74, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-full_circle_in_15s]": 6, "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-full_circle_in_15s]": 4, + "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation_vs_decoder[5_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, + "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL-full_circle_in_15s]": 75, + "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 74, "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, + "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-full_circle_in_15s]": 4, + "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 0, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 5, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 0, # TODO needs investigation + "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL]": 74, + "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, + "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL]": 75, "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18, + "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL]": 74, "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18, - "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, - "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, + "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL]": 74, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, + "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL]": 74, + "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, # Failure reason: Mono downmix significantly different, needs a fix "test_multichannel_vs_decoder[5_1_2-MONO]": 1, "test_multichannel_vs_decoder[5_1_4-MONO]": 1, @@ -565,7 +584,7 @@ pass_snr = { "test_multichannel_vs_decoder[5_1-7_1]": 62, "test_multichannel_vs_decoder[7_1_4-5_1_2]": 63, "test_multichannel_vs_decoder[7_1_4-5_1_4]": 63, - "test_multichannel_vs_decoder[7_1_4-5_1]": 63, + "test_multichannel_vs_decoder[7_1_4-5_1]": 62, "test_multichannel_vs_decoder[7_1_4-7_1]": 62, "test_multichannel_vs_decoder[7_1-5_1_2]": 63, "test_multichannel_vs_decoder[7_1-5_1_4]": 63, -- GitLab From fa289a3868926d0b6e7c5c1f5210de66f41f6b28 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 11:47:32 +0100 Subject: [PATCH 329/620] Fix build after REMOVE_SID_HARM_LEFTOVERS was accepted --- apps/decoder.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index ec6073b7a4..f031aca018 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1824,11 +1824,7 @@ static ivas_error printBitstreamInfoVoip( fprintf( stderr, "failed to read first RTP packet\n" ); goto cleanup; } -#ifdef REMOVE_SID_HARM_LEFTOVERS } while ( !qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_5K2 ); -#else - } while ( !qBit || auSizeBits < MIN_NUM_BITS_ACTIVE_FRAME || auSizeBits == NUM_BITS_SID_IVAS_4K4 || auSizeBits == NUM_BITS_SID_IVAS_7K8 || auSizeBits == NUM_BITS_SID_IVAS_9K3 || auSizeBits == NUM_BITS_SID_IVAS_10K2 ); -#endif BS_Reader_Rewind( hBsReader ); -- GitLab From c4dc29c900625da3837b0c9149f3509872631d54 Mon Sep 17 00:00:00 2001 From: Stefan Doehla <stefan.doehla@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 11:51:43 +0100 Subject: [PATCH 330/620] [fix] another BADOP_NOGLOB Overflow triggered by #239 --- lib_enc/swb_bwe_enc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib_enc/swb_bwe_enc.c b/lib_enc/swb_bwe_enc.c index 54e786d761..1acfb8dd7f 100644 --- a/lib_enc/swb_bwe_enc.c +++ b/lib_enc/swb_bwe_enc.c @@ -1795,6 +1795,11 @@ void hq_generic_hf_encoding( { Word16 tmp, frac, exp; Word32 L_tmp; +#ifdef BASOP_NOGLOB + Flag Overflow; + + Overflow = 0; +#endif tmp = add( (int16_t) ( hq_generic_fenv[n_band] * 256 ), (int16_t) ( Mean_env[n_band] * 256 ) ); /*Q8 */ L_tmp = L_mult( tmp, 21771 ); /* 0.166096 in Q17 -> Q26 */ @@ -1805,7 +1810,11 @@ void hq_generic_hf_encoding( /* output of Pow2() will be: */ /* 16384 < Pow2() <= 32767 */ exp = sub( exp, 13 ); - tmp = shl( tmp, add( exp, 1 ) ); /*Q1 */ +#ifdef BASOP_NOGLOB + tmp = shl_o( tmp, add( exp, 1 ), &Overflow ); /*Q1 */ +#else + tmp = shl( tmp, add( exp, 1 ) ); /*Q1 */ +#endif hq_generic_fenv[n_band] = (float) tmp * 0.5f; /*Q1 */ } -- GitLab From 8a9fa2c2a8114984a97f792dae7707451ca50f2c Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 12:29:58 +0100 Subject: [PATCH 331/620] Fix formatting --- lib_dec/jbm_pcmdsp_apa.c | 12 +++++++----- lib_dec/lib_dec.c | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index a1da5b6b66..6aa00344a1 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -150,7 +150,8 @@ static bool extend_frm( apa_state_t *ps, const int16_t frm_in[], int16_t frm_out uint8_t apa_init( apa_state_t **pps #ifdef MC_JBM - ,int32_t num_channels + , + int32_t num_channels #endif ) { @@ -221,9 +222,10 @@ bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs #ifndef MC_JBM - ,const int16_t num_channels + , + const int16_t num_channels #endif - ) +) { /* make sure pointer is valid */ if ( ps == NULL ) @@ -439,7 +441,7 @@ bool apa_exit( #ifdef MC_JBM /* deallocate state struct members */ - count_free( (*pps)->buf_out ); + count_free( ( *pps )->buf_out ); #endif /* deallocate state struct */ @@ -612,7 +614,7 @@ uint8_t apa_exec( /* avoid buffer overflow: */ /* discard old samples; always keep at least most recent l_frm samples */ #ifdef MC_JBM - if ( ( ps->l_buf_out + l_frm_out ) > ps->buf_out_capacity ) + if ( ( ps->l_buf_out + l_frm_out ) > ps->buf_out_capacity ) #else if ( ( ps->l_buf_out + l_frm_out ) > APA_BUF ) #endif diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 4b2c17ac8c..d10a1df398 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1769,7 +1769,7 @@ static void store_JbmData( } #endif - return; + return; } -- GitLab From f37006699e545f98b35f1a5aaaf30d0e8cee3a96 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 12:38:44 +0100 Subject: [PATCH 332/620] add allocation handling for FD-CNG handle in MC bitrate switching --- lib_com/ivas_prot.h | 4 ++++ lib_com/options.h | 4 ++++ lib_dec/ivas_cpe_dec.c | 4 ++++ lib_dec/ivas_mct_dec.c | 3 +++ lib_dec/ivas_stat_dec.h | 3 +++ lib_dec/ivas_stereo_switching_dec.c | 33 +++++++++++++++++++++++++++++ 6 files changed, 51 insertions(+) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 15011077be..e36b1050fc 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -2605,6 +2605,10 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + const MC_MODE mc_mode, + const MC_MODE last_mc_mode, +#endif const int16_t nchan_transport /* i : number of transport channels */ ); diff --git a/lib_com/options.h b/lib_com/options.h index 65819774ab..9e65dacc1f 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -161,6 +161,10 @@ #define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ +#ifdef MC_BITRATE_SWITCHING +#define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ +#endif +#define FIX_MC_BR_SW_TCX_PLC_FADEOUT /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index c6db847e8c..1ba39580c2 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -103,7 +103,11 @@ ivas_error ivas_cpe_dec( * dynamically allocate data structures depending on the actual stereo mode *----------------------------------------------------------------*/ +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->last_mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) +#else if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) +#endif { return error; } diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 5e8d9a73b6..9f5aea4aa8 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -606,6 +606,9 @@ ivas_error ivas_mc_dec_config( /* store last frame MC mode */ last_mc_mode = st_ivas->mc_mode; +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + st_ivas->last_mc_mode = last_mc_mode; +#endif if ( !st_ivas->bfi ) { diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index a18f826921..b5a1d16c28 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1946,6 +1946,9 @@ typedef struct Decoder_Struct ISM_MODE ism_mode; /* ISM format mode */ SBA_MODE sba_mode; /* SBA format mode */ MC_MODE mc_mode; /* MC format mode */ +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + MC_MODE last_mc_mode; +#endif int16_t sba_order; /* Ambisonic (SBA) order */ int16_t sba_planar; /* Ambisonic (SBA) planar flag */ int16_t sba_analysis_order; /* Ambisonic (SBA) order used for analysis and coding */ diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 56c1cfef54..15056d5d0a 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -342,6 +342,10 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + const MC_MODE mc_mode, + const MC_MODE last_mc_mode, +#endif const int16_t nchan_transport /* i : number of transport channels*/ ) { @@ -859,6 +863,35 @@ ivas_error stereo_memory_dec( } } +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + if ( ivas_format == MC_FORMAT && hCPE->element_mode == IVAS_CPE_MDCT && ( mc_mode != last_mc_mode ) ) + { + if ( mc_mode == MC_MODE_MCT ) + { + /* deallocate the FdCNG handle */ + for ( i = 0; i < CPE_CHANNELS; ++i ) + { + deleteFdCngDec( &hCPE->hCoreCoder[0]->hFdCngDec ); + } + } + else + { + /* allocate the FdCNG handle (for noise estimation for TCX PLC fadeout)*/ + for ( i = 0; i < CPE_CHANNELS; ++i ) + { + if ( hCPE->hCoreCoder[i]->hFdCngDec == NULL ) + { + if ( ( error = createFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ) ) != IVAS_ERR_OK ) + { + return error; + } + initFdCngDec( hCPE->hCoreCoder[i] ); + } + } + } + } +#endif + /*--------------------------------------------------------------* * Bitrate switching in MASA format *---------------------------------------------------------------*/ -- GitLab From 234ca637f6a42b0f81027ba1bd5f8fbf0b33893c Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 8 Dec 2022 13:04:11 +0100 Subject: [PATCH 333/620] recreate the branch --- lib_com/basop_util.h | 418 ++ lib_com/cnst.h | 2218 +++++++ lib_com/common_api_types.h | 150 + lib_com/control.h | 82 + lib_com/enh1632.h | 508 ++ lib_com/enh40.h | 349 ++ lib_com/ivas_cnst.h | 1602 +++++ lib_com/ivas_error.h | 194 + lib_com/ivas_error_utils.h | 96 + lib_com/ivas_prot.h | 5617 +++++++++++++++++ lib_com/ivas_rom_com.h | 404 ++ lib_com/ivas_stat_com.h | 740 +++ lib_com/mime.h | 447 ++ lib_com/move.h | 74 + lib_com/rom_com.h | 1330 ++++ lib_com/stat_com.h | 688 ++ lib_com/stl.h | 71 + lib_com/typedef.h | 129 + lib_debug/debug.h | 242 + lib_debug/sba_debug.h | 60 + lib_dec/ivas_rom_dec.h | 159 + lib_dec/jbm_jb4_circularbuffer.h | 76 + lib_dec/jbm_jb4_inputbuffer.h | 76 + lib_dec/jbm_jb4_jmf.h | 61 + lib_dec/jbm_jb4sb.h | 107 + lib_dec/jbm_pcmdsp_apa.h | 122 + lib_dec/jbm_pcmdsp_fifo.h | 81 + lib_dec/jbm_pcmdsp_similarityestimation.h | 140 + lib_dec/jbm_pcmdsp_window.h | 66 + lib_dec/lib_dec.h | 359 ++ lib_dec/rom_dec.h | 71 + lib_dec/stat_dec.h | 1347 ++++ lib_enc/ivas_rom_enc.h | 130 + lib_enc/ivas_stat_enc.h | 1082 ++++ lib_enc/lib_enc.h | 342 + lib_enc/rom_enc.h | 209 + lib_enc/stat_enc.h | 1574 +++++ lib_rend/ivas_lib_rend_internal.h | 123 + lib_rend/ivas_rom_TdBinauralRenderer.h | 69 + lib_rend/ivas_rom_binauralRenderer.h | 78 + lib_rend/ivas_rom_binaural_crend_head.c | 6911 +++++++++++++++++++++ lib_rend/ivas_rom_binaural_crend_head.h | 187 + lib_rend/ivas_rom_rend.c | 709 +++ lib_rend/ivas_rom_rend.h | 141 + lib_rend/ivas_stat_rend.h | 102 + lib_rend/lib_rend.h | 280 + lib_util/audio_file_reader.h | 68 + lib_util/audio_file_writer.h | 61 + lib_util/bitstream_reader.c | 331 + lib_util/bitstream_reader.h | 72 + lib_util/bitstream_writer.c | 252 + lib_util/bitstream_writer.h | 67 + lib_util/cmdln_parser.c | 365 ++ lib_util/cmdln_parser.h | 67 + lib_util/evs_rtp_payload.c | 305 + lib_util/evs_rtp_payload.h | 202 + lib_util/g192.c | 555 ++ lib_util/g192.h | 100 + lib_util/head_rotation_file_reader.c | 170 + lib_util/head_rotation_file_reader.h | 88 + lib_util/ism_file_reader.c | 219 + lib_util/ism_file_reader.h | 67 + lib_util/ism_file_writer.c | 174 + lib_util/ism_file_writer.h | 70 + lib_util/jbm_file_reader.c | 181 + lib_util/jbm_file_reader.h | 67 + lib_util/jbm_file_writer.c | 293 + lib_util/jbm_file_writer.h | 86 + lib_util/ls_custom_file_reader.c | 404 ++ lib_util/ls_custom_file_reader.h | 105 + lib_util/masa_file_reader.c | 428 ++ lib_util/masa_file_reader.h | 85 + lib_util/masa_file_writer.c | 357 ++ lib_util/masa_file_writer.h | 63 + lib_util/mime_io.c | 658 ++ lib_util/mime_io.h | 75 + lib_util/render_config_reader.c | 586 ++ lib_util/render_config_reader.h | 66 + lib_util/rtpdump.c | 383 ++ lib_util/rtpdump.h | 107 + lib_util/tinywavein_c.h | 556 ++ lib_util/tinywaveout_c.h | 592 ++ 82 files changed, 38346 insertions(+) create mode 100644 lib_com/basop_util.h create mode 100644 lib_com/cnst.h create mode 100644 lib_com/common_api_types.h create mode 100644 lib_com/control.h create mode 100644 lib_com/enh1632.h create mode 100644 lib_com/enh40.h create mode 100644 lib_com/ivas_cnst.h create mode 100644 lib_com/ivas_error.h create mode 100644 lib_com/ivas_error_utils.h create mode 100644 lib_com/ivas_prot.h create mode 100644 lib_com/ivas_rom_com.h create mode 100644 lib_com/ivas_stat_com.h create mode 100644 lib_com/mime.h create mode 100644 lib_com/move.h create mode 100644 lib_com/rom_com.h create mode 100644 lib_com/stat_com.h create mode 100644 lib_com/stl.h create mode 100644 lib_com/typedef.h create mode 100644 lib_debug/debug.h create mode 100644 lib_debug/sba_debug.h create mode 100644 lib_dec/ivas_rom_dec.h create mode 100644 lib_dec/jbm_jb4_circularbuffer.h create mode 100644 lib_dec/jbm_jb4_inputbuffer.h create mode 100644 lib_dec/jbm_jb4_jmf.h create mode 100644 lib_dec/jbm_jb4sb.h create mode 100644 lib_dec/jbm_pcmdsp_apa.h create mode 100644 lib_dec/jbm_pcmdsp_fifo.h create mode 100644 lib_dec/jbm_pcmdsp_similarityestimation.h create mode 100644 lib_dec/jbm_pcmdsp_window.h create mode 100644 lib_dec/lib_dec.h create mode 100644 lib_dec/rom_dec.h create mode 100644 lib_dec/stat_dec.h create mode 100644 lib_enc/ivas_rom_enc.h create mode 100644 lib_enc/ivas_stat_enc.h create mode 100644 lib_enc/lib_enc.h create mode 100644 lib_enc/rom_enc.h create mode 100644 lib_enc/stat_enc.h create mode 100644 lib_rend/ivas_lib_rend_internal.h create mode 100644 lib_rend/ivas_rom_TdBinauralRenderer.h create mode 100644 lib_rend/ivas_rom_binauralRenderer.h create mode 100644 lib_rend/ivas_rom_binaural_crend_head.c create mode 100644 lib_rend/ivas_rom_binaural_crend_head.h create mode 100644 lib_rend/ivas_rom_rend.c create mode 100644 lib_rend/ivas_rom_rend.h create mode 100644 lib_rend/ivas_stat_rend.h create mode 100644 lib_rend/lib_rend.h create mode 100644 lib_util/audio_file_reader.h create mode 100644 lib_util/audio_file_writer.h create mode 100644 lib_util/bitstream_reader.c create mode 100644 lib_util/bitstream_reader.h create mode 100644 lib_util/bitstream_writer.c create mode 100644 lib_util/bitstream_writer.h create mode 100644 lib_util/cmdln_parser.c create mode 100644 lib_util/cmdln_parser.h create mode 100644 lib_util/evs_rtp_payload.c create mode 100644 lib_util/evs_rtp_payload.h create mode 100644 lib_util/g192.c create mode 100644 lib_util/g192.h create mode 100644 lib_util/head_rotation_file_reader.c create mode 100644 lib_util/head_rotation_file_reader.h create mode 100644 lib_util/ism_file_reader.c create mode 100644 lib_util/ism_file_reader.h create mode 100644 lib_util/ism_file_writer.c create mode 100644 lib_util/ism_file_writer.h create mode 100644 lib_util/jbm_file_reader.c create mode 100644 lib_util/jbm_file_reader.h create mode 100644 lib_util/jbm_file_writer.c create mode 100644 lib_util/jbm_file_writer.h create mode 100644 lib_util/ls_custom_file_reader.c create mode 100644 lib_util/ls_custom_file_reader.h create mode 100644 lib_util/masa_file_reader.c create mode 100644 lib_util/masa_file_reader.h create mode 100644 lib_util/masa_file_writer.c create mode 100644 lib_util/masa_file_writer.h create mode 100644 lib_util/mime_io.c create mode 100644 lib_util/mime_io.h create mode 100644 lib_util/render_config_reader.c create mode 100644 lib_util/render_config_reader.h create mode 100644 lib_util/rtpdump.c create mode 100644 lib_util/rtpdump.h create mode 100644 lib_util/tinywavein_c.h create mode 100644 lib_util/tinywaveout_c.h diff --git a/lib_com/basop_util.h b/lib_com/basop_util.h new file mode 100644 index 0000000000..3ab5615034 --- /dev/null +++ b/lib_com/basop_util.h @@ -0,0 +1,418 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef __BASOP_UTIL_H__ +#define __BASOP_UTIL_H__ + +#include <stdint.h> +#include "options.h" +#include "basop_settings.h" +#include "typedef.h" +#include "basop32.h" +#include "basop_mpy.h" + + +#define LD_DATA_SCALE ( 6 ) + +#define LD_DATA_SHIFT_I5 ( 7 ) + +#define modDiv2( x ) sub( x, shl( shr( x, 1 ), 1 ) ) +#define modDiv8( x ) L_sub( x, L_shl( L_shr( x, 3 ), 3 ) ) + +#ifndef CHEAP_NORM_SIZE +#define CHEAP_NORM_SIZE 161 +#endif + +static __inline Word16 limitScale16( Word16 s ) +{ + /* It is assumed, that s is calculated just before, therefore we can switch upon sign */ + if ( s >= 0 ) + s = s_min( s, WORD16_BITS - 1 ); + if ( s < 0 ) + s = s_max( s, 1 - WORD16_BITS ); + return ( s ); +} + +static __inline Word16 limitScale32( Word16 s ) +{ + /* It is assumed, that s is calculated just before, therefore we can switch upon sign */ + if ( s >= 0 ) + s = s_min( s, WORD32_BITS - 1 ); + if ( s < 0 ) + s = s_max( s, 1 - WORD32_BITS ); + return ( s ); +} + + +/*!********************************************************************** + \brief Add two values given by mantissa and exponent. + + Mantissas are in 16-bit-fractional format with values between 0 and 1. <br> + The base for exponents is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> + +************************************************************************/ +Word16 BASOP_Util_Add_MantExp /*!< Exponent of result */ + ( Word16 a_m, /*!< Mantissa of 1st operand a */ + Word16 a_e, /*!< Exponent of 1st operand a */ + Word16 b_m, /*!< Mantissa of 2nd operand b */ + Word16 b_e, /*!< Exponent of 2nd operand b */ + Word16 *ptrSum_m ); /*!< Mantissa of result */ + + +/************************************************************************/ +/*! + \brief Calculate the squareroot of a number given by mantissa and exponent + + Mantissa is in 16/32-bit-fractional format with values between 0 and 1. <br> + For *norm versions mantissa has to be between 0.5 and 1. <br> + The base for the exponent is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> + The exponent is addressed via pointers and will be overwritten with the result. +*/ +Word16 Sqrt16( /*!< output mantissa */ + Word16 mantissa, /*!< input mantissa */ + Word16 *exponent /*!< pointer to exponent */ +); + +/*****************************************************************************/ +/*! + \brief Calculate the inverse of a number given by mantissa and exponent + + Mantissa is in 16-bit-fractional format with values between 0 and 1. <br> + The base for the exponent is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> + The operand is addressed via pointers and will be overwritten with the result. + + The function uses a table lookup and a newton iteration. +*/ +Word16 Inv16( /*!< output mantissa */ + Word16 mantissa, /*!< input mantissa */ + Word16 *exponent /*!< pointer to exponent */ +); + +/******************************************************************************/ +/*! + \brief Calculate the squareroot and inverse of squareroot of a number given by mantissa and exponent + + Mantissa is in 16-bit-fractional format with values between 0 and 1. <br> + The base for the exponent is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> +*/ +void BASOP_Util_Sqrt_InvSqrt_MantExp( Word16 mantissa, /*!< mantissa */ + Word16 exponent, /*!< expoinent */ + Word16 *sqrt_mant, /*!< Pointer to sqrt mantissa */ + Word16 *sqrt_exp, /*!< Pointer to sqrt exponent */ + Word16 *isqrt_mant, /*!< Pointer to 1/sqrt mantissa */ + Word16 *isqrt_exp /*!< Pointer to 1/sqrt exponent */ +); + + +/********************************************************************/ +/*! + \brief Calculates the scalefactor needed to normalize input array + + The scalefactor needed to normalize the Word32 input array is returned <br> + If the input array contains only '0', a scalefactor 0 is returned <br> + Scaling factor is determined wrt a normalized target x: 1073741824 <= x <= 2147483647 for positive x <br> + and -2147483648 <= x <= -1073741824 for negative x +*/ + +/*! r: measured headroom in range [0..31], 0 if all x[i] == 0 */ +Word16 getScaleFactor32( + const Word32 *x, /* i : array containing 32-bit data */ + const Word16 len_x ); /* i : length of the array to scan */ + +/************************************************************************/ +/*! + \brief Binary logarithm with 7 iterations + + \param x + + \return log2(x)/64 + */ +/************************************************************************/ +Word32 BASOP_Util_Log2( Word32 x ); + + +/****************************************************************************/ +/*! + \brief Does fractional division of Word16 arg1 by Word16 arg2 + + + \return fractional Q15 Word16 z = arg1(Q15)/arg2(Q15) with scaling s +*/ +Word16 BASOP_Util_Divide1616_Scale( Word16 x, /* i : Numerator*/ + Word16 y, /* i : Denominator*/ + Word16 *s ); /* o : Additional scalefactor difference*/ + +/****************************************************************************/ +/*! + \brief Does fractional integer division of Word32 arg1 by Word16 arg2 + + + \return fractional Word16 integer z = arg1(32bits)/arg2(16bits), z not normalized +*/ +Word16 BASOP_Util_Divide3216_Scale( Word32 x, /*!< i : Numerator */ + Word16 y, /*!< i : Denominator*/ + Word16 *s ); /*!< o : Additional scalefactor difference*/ + + +/************************************************************************/ +/*! + * \brief Binary logarithm with 5 iterations + * + * \param[i] val + * + * \return basop_log2(val)/128 + */ +/************************************************************************/ +Word32 BASOP_Util_log2_i5( Word32 val ); + +/************************************************************************/ +/*! + \brief Binary power + + Date: 06-JULY-2012 Arthur Tritthart, IIS Fraunhofer Erlangen + + Version with 3 table lookup and 1 linear interpolations + + Algorithm: compute power of 2, argument x is in Q7.25 format + result = 2^(x/64) + We split exponent (x/64) into 5 components: + integer part: represented by b31..b25 (exp) + fractional part 1: represented by b24..b20 (lookup1) + fractional part 2: represented by b19..b15 (lookup2) + fractional part 3: represented by b14..b10 (lookup3) + fractional part 4: represented by b09..b00 (frac) + => result = (lookup1*lookup2*(lookup3+C1*frac)<<3)>>exp + + Due to the fact, that all lookup values contain a factor 0.5 + the result has to be shifted by 3 to the right also. + Table exp2_tab_long contains the log2 for 0 to 1.0 in steps + of 1/32, table exp2w_tab_long the log2 for 0 to 1/32 in steps + of 1/1024, table exp2x_tab_long the log2 for 0 to 1/1024 in + steps of 1/32768. Since the 2-logarithm of very very small + negative value is rather linear, we can use interpolation. + + Limitations: + + For x <= 0, the result is fractional positive + For x > 0, the result is integer in range 1...7FFF.FFFF + For x < -31/64, we have to clear the result + For x = 0, the result is ~1.0 (0x7FFF.FFFF) + For x >= 31/64, the result is 0x7FFF.FFFF + + \param x + + \return pow(2,(x/64)) + */ +/************************************************************************/ +Word32 BASOP_Util_InvLog2( Word32 x ); + + +/****************************************************************************/ +/*! + \brief Sets Array Word16 arg1 to value Word16 arg2 for Word16 arg3 elements +*/ +void set_val_Word16( Word16 X[], /*!< Address of array */ + const Word16 val, /*!< Value to copy into array */ + Word16 n ); /*!< Number of elements to process */ + + +/****************************************************************************/ +/*! + \brief Sets Array Word32 arg1 to value Word32 arg2 for Word16 arg3 elements +*/ +void set_val_Word32( Word32 X[], /*!< Address of array */ + const Word32 val, /*!< Value to copy into array */ + Word16 n ); /*!< Number of elements to process */ + +/****************************************************************************/ +/*! + \brief Does a multiplication of Word16 input values + + \return z16 = x16 * y16 +*/ +Word16 mult0( Word16 x, /* i : Multiplier */ + Word16 y ); /* i : Multiplicand */ + +/** + * \brief calculate cosine of angle. Tuned for ISF domain. + * \param theta Angle normalized to radix 2, theta = (angle in radians)*2.0/pi + * \return result with exponent 0. + */ +Word16 getCosWord16R2( Word16 theta ); + +/****************************************************************************/ +/*! + \brief 16/16->16 unsigned integer division + + x and y have to be positive, x has to be < 16384 + + \return 16/16->16 integer + */ + +Word16 idiv1616U( Word16 x, Word16 y ); + + +/** + * \brief return 2 ^ (exp * 2^exp_e) + * \param exp_m mantissa of the exponent to 2.0f + * \param exp_e exponent of the exponent to 2.0f + * \param result_e pointer to a INT where the exponent of the result will be stored into + * \return mantissa of the result + */ +Word32 BASOP_util_Pow2( + const Word32 exp_m, + const Word16 exp_e, + Word16 *result_e ); + + +Word32 Isqrt_lc1( + Word32 frac, /* i : Q31: normalized value (1.0 < frac <= 0.5) */ + Word16 *exp /* i/o: exponent (value = frac x 2^exponent) */ +); + +/*****************************************************************************/ +/*! + + \brief Calculates pow(2,x) + ___________________________________________________________________________ + | | + | Function Name : Pow2() | + | | + | L_x = pow(2.0, exponant.fraction) (exponent = interger part) | + | = pow(2.0, 0.fraction) << exponent | + |---------------------------------------------------------------------------| + | Algorithm: | + | | + | The function Pow2(L_x) is approximated by a table and linear | + | interpolation. | + | | + | 1- i = bit10-b15 of fraction, 0 <= i <= 31 | + | 2- a = bit0-b9 of fraction | + | 3- L_x = table[i]<<16 - (table[i] - table[i+1]) * a * 2 | + | 4- L_x = L_x >> (30-exponant) (with rounding) | + |___________________________________________________________________________| +*/ +Word32 Pow2( /* o : Q0 : result (range: 0<=val<=0x7fffffff) */ + Word16 exponant, /* i : Q0 : Integer part. (range: 0<=val<=30) */ + Word16 fraction /* i : Q15 : Fractionnal part. (range: 0.0<=val<1.0) */ +); + +/************************************************************************* + * + * FUNCTION: Log2_norm() + * + * PURPOSE: Computes log2(L_x, exp), where L_x is positive and + * normalized, and exp is the normalisation exponent + * If L_x is negative or zero, the result is 0. + * + * DESCRIPTION: + * The function Log2(L_x) is approximated by a table and linear + * interpolation. The following steps are used to compute Log2(L_x) + * + * 1- exponent = 30-norm_exponent + * 2- i = bit25-b31 of L_x; 32<=i<=63 (because of normalization). + * 3- a = bit10-b24 + * 4- i -=32 + * 5- fraction = table[i]<<16 - (table[i] - table[i+1]) * a * 2 + * + *************************************************************************/ + +Word16 Log2_norm_lc( /* o : Fractional part of Log2. (range: 0<=val<1) */ + Word32 L_x /* i : input value (normalized) */ +); + +/************************************************************************* + * + * FUNCTION: BASOP_Util_fPow() + */ +/** + * \brief BASOP_Util_fPow + * + * PURPOSE: Computes pow(base_m, base_e, exp_m, exp_e), where base_m and base_e + * specify the base, and exp_m and exp_e specify the exponent. + * The result is returned in a mantissa and exponent representation. + * + * DESCRIPTION: + * The function BASOP_Util_fPow(L_x) calculates the power function by + * calculating 2 ^ (log2(base)*exp) + * + * \param base_m mantissa of base + * \param base_e exponent of base + * \param exp_m mantissa of exponent + * \param exp_e exponent of exponent + * \param result_e pointer to exponent of result + * \return Word32 mantissa of result + * + *************************************************************************/ + +Word32 BASOP_Util_fPow( /* o : mantissa of result */ + Word32 base_m, + Word16 base_e, /* i : input value for base (mantissa and exponent) */ + Word32 exp_m, + Word16 exp_e, /* i : input value for exponent (mantissa and exponent) */ + Word16 *result_e /* o : output pointer to exponent of result */ +); + +/*!********************************************************************** + \brief Add two values given by mantissa and exponent. + + Mantissas are in 32-bit-fractional format with values between 0 and 1. <br> + The base for exponents is 2. Example: \f$ a = a\_m * 2^{a\_e} \f$<br> + +************************************************************************/ +Word32 BASOP_Util_Add_Mant32Exp /* o : normalized result mantissa */ + ( Word32 a_m, /* i : Mantissa of 1st operand a */ + Word16 a_e, /* i : Exponent of 1st operand a */ + Word32 b_m, /* i : Mantissa of 2nd operand b */ + Word16 b_e, /* i : Exponent of 2nd operand b */ + Word16 *ptr_e ); /* o : exponent of result */ + +/****************************************************************************/ +/*! + \brief Accumulates multiplications + + Accumulates the elementwise multiplications of Word32 Array X with Word16 Array Y + pointed to by arg1 and arg2 with specified headroom. Length of to be multiplied arrays is arg3, + headroom with has to be taken into account is specified in arg4 + + \return Word32 result of accumulated multiplications over Word32 array arg1 and Word16 array arg2 and Word16 pointer + to exponent correction factor which needs to be added to the exponent of the result vector +*/ +Word32 dotWord32_16_guards( const Word32 *X, const Word16 *Y, Word16 n, Word16 hr, Word16 *shift ); + +Word32 Sqrt_l( Word32 L_x, Word16 *exp ); + +#endif /* __BASOP_UTIL_H__ */ diff --git a/lib_com/cnst.h b/lib_com/cnst.h new file mode 100644 index 0000000000..eda4d0f120 --- /dev/null +++ b/lib_com/cnst.h @@ -0,0 +1,2218 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef CNST_H +#define CNST_H + +#include <stdint.h> +#include "options.h" + +/* clang-format off */ + +/*----------------------------------------------------------------------------------* + * General constants + *----------------------------------------------------------------------------------*/ + +#define MODE1 1 +#define MODE2 2 + +#define EVS_PI 3.14159265358979323846264338327950288f + +#define PI2 ( 2 * EVS_PI ) +#define RANDOM_INITSEED 21845 /* Seed for random generators */ +#ifndef FLT_MIN +#define FLT_MIN ( 1.175494351e-38F ) +#endif +#ifndef FLT_MAX +#define FLT_MAX ( 3.402823466e+38F ) +#endif +#define TRUE 1 +#define FALSE 0 + +#define MAX16B 32767 +#define MIN16B ( -32768 ) +#define MAX16B_FLT 32767.0f +#define MIN16B_FLT ( -32768.0f ) +#define PCM16_TO_FLT_FAC 32768.0f +#define MDFT_NORM_SCALING ( 1.0f / PCM16_TO_FLT_FAC ) +#define MAX_FRAME_COUNTER 200 +#define MAX_BITS_PER_FRAME 10240 /* Bits per frame for max. bitrate 512kbps */ + +#define ENC 0 /* Index for "encoder" */ +#define DEC 1 /* Index for "decoder" */ + +#define DEC_IVAS 2 /* Index for IVAS decoder */ + +#ifdef DEBUGGING +#define FORCE_SPEECH 100 /* debugging - force speech on the command line */ +#define FORCE_MUSIC 101 /* debugging - force music on the command line */ +#define FORCE_ACELP 102 /* debugging - force ACELP core on the command line */ +#define FORCE_GSC 103 /* debugging - force GSC core on the command line */ +#define FORCE_TCX 104 /* debugging - force TCX core on the command line */ +#define FORCE_HQ 105 /* debugging - force HQ core on the command line */ +#define FORCE_TD_RENDERER 201 +#define FORCE_CLDFB_RENDERER 202 +#endif + +enum{ + NB = 0, /* Indicator of 4 kHz bandwidth */ + WB = 1, /* Indicator of 8 kHz bandwidth */ + SWB = 2, /* Indicator of 14 kHz bandwidth */ + FB = 3 /* Indicator of 20 kHz bandwidth */ +}; + +/* Conversion of bandwidth string into numerical constant */ +#define CONV_BWIDTH( bw ) ( !strcmp( bw, "NB" ) ? NB : !strcmp( bw, "WB" ) ? WB : !strcmp( bw, "SWB" ) ? SWB : !strcmp( bw, "FB" ) ? FB : -1 ) + +#define L_FRAME48k 960 /* Frame size in samples at 48kHz */ +#define L_FRAME32k 640 /* Frame size in samples at 32kHz */ +#define L_FRAME25_6k 512 /* Frame size in samples at 25.6kHz */ +#define L_FRAME16k 320 /* Frame size in samples at 16kHz */ +#define L_FRAME8k 160 /* Frame size in samples at 8kHz */ +#define L_FRAME4k 80 /* Frame size in samples at 4kHz */ + +#define L_SPEC48k 800 /* HQ spectrum length at 48kHz */ +#define L_SPEC32k 640 /* HQ spectrum length at 32kHz */ +#define L_SPEC16k 320 /* HQ spectrum length at 16kHz */ +#define L_SPEC8k 160 /* HQ spectrum length at 8kHz */ +#define L_SPEC48k_EXT 1000 /* Extended HQ spectrum length at 48kHz, for ACELP->HQ switching */ +#define L_SPEC32k_EXT 800 /* Extended HQ spectrum length at 32kHz, for ACELP->HQ switching */ +#define L_SPEC16k_EXT 400 /* Extended HQ spectrum length at 16kHz, for ACELP->HQ switching */ +#define L_FRAME48k_EXT 1200 /* Extended MDCT frame size in samples at 48kHz */ + +/* Conversion of ns to samples for a given sampling frequency */ +#define NS2SA( fs, x ) ( int16_t )( ( ( ( int32_t )( fs ) / 100L ) * ( ( x ) / 100L ) ) / 100000L ) + +#define ACTIVE_FRAME 0xFF +#define SID_FRAME 0xFA +#define ZERO_FRAME 0xF0 +#define FRAME_SIZE_NB 13 + +#define RATE_MODE_MAX 2 /* Number of rate mode */ +#define BANDWIDTH_MODE_MAX 2 /* Number of different bandwidth (NB/WB-FB) */ + +#define MIN_LOG_60dB 0.000001f +#define MIN_LOG_VAL_60dB -60.0f + +#define INV_LOG_2 1.442695040888963f /* 1/log(2) */ +#define INV_SQRT_2 0.70710676908493f /* 1/sqrt(2) */ + +#define MAX_V_MULT_MAT 100 /* maximum array length for the function v_mult_mat() */ + +#define SBA_AGC_FORCE_ENABLE 1 +#define SBA_AGC_FORCE_DISABLE 0 +#define SBA_AGC_DEFAULT -1 + +/*----------------------------------------------------------------------------------* + * Layers + *----------------------------------------------------------------------------------*/ + +#define ACELP_CORE 0 /* ACELP core layer */ +#define TCX_20_CORE 1 /* TCX 20ms core layer */ +#define TCX_10_CORE 2 /* TCX 10ms core layer */ +#define HQ_CORE 3 /* HQ core layer */ +#define AMR_WB_CORE 4 /* AMR-WB IO core */ + + +#define WB_TBE 5 /* WB TBE layer (16/32/48kHz signals) */ +#define WB_BWE 6 /* WB BWE layer optimized for music (16/32/48kHz signals) */ + +#define SWB_CNG 7 /* SWB CNG layer (32/48kHz signals) */ +#define SWB_TBE 8 /* SWB TBE layer optimized for speech (32/48kHz signals) */ +#define SWB_BWE 9 /* SWB BWE layer optimized for music (32/48kHz signals) */ +#define SWB_BWE_HIGHRATE 10 /* SWB BWE layer optimized for highrate speech (32/48kHz) */ + +#define FB_TBE 11 /* FB TBE layer (48kHz signals) */ +#define FB_BWE 12 /* FB BWE layer optimized for music (48kHz) */ +#define FB_BWE_HIGHRATE 13 /* FB BWE layer optimized for highrate speech (48kHz) */ + +#define IGF_BWE 14 /* IGF layer for music (16.4 and 24.4kbps), 32kHz signals */ + +#define LP_CNG 0 /* LP-based CNG in DTX operation */ +#define FD_CNG 1 /* FD-based CNG in DTX operation */ + +/*----------------------------------------------------------------------------------* + * Bitrates + *----------------------------------------------------------------------------------*/ + +#define FRAME_NO_DATA 0 /* Frame with no data */ +#define SID_1k75 1750 /* SID at 1.75 kbps (used only in AMR-WB IO mode */ +#define SID_2k40 2400 /* SID at 2.40 kbps */ +#define PPP_NELP_2k80 2800 /* PPP and NELP at 2.80 kbps (used only for SC-VBR) */ +#define ACELP_5k90 5900 /* ACELP core layer at average bitrate of 5.90 kbps (used only in SC-VBR mode) */ +#define ACELP_5k00 5000 /* ACELP core layer at 5.00 kbps (used only in TD stereo secondary channel) */ +#define ACELP_6k15 6150 /* ACELP core layer at 6.15 kbps (used only in TD stereo secondary channel) */ +#define ACELP_6k60 6600 /* ACELP core layer at 6.60 kbps (used only in AMR-WB IO mode) */ +#define ACELP_7k20 7200 /* ACELP core layer at 7.20 kbps */ +#define ACELP_8k00 8000 /* ACELP core layer at 8 kbps */ +#define ACELP_8k85 8850 /* ACELP core layer at 8.85 kbps (used only in AMR-WB IO mode) */ +#define ACELP_9k60 9600 /* ACELP core layer at 9.60 kbps */ +#define ACELP_11k60 11600 /* ACELP core layer at 11.60 kbps (used for SWB TBE) */ +#define ACELP_12k15 12150 /* ACELP core layer at 12.15 kbps (used for WB TBE) */ +#define ACELP_12k65 12650 /* ACELP core layer at 12.65 kbps (used only in AMR-WB IO mode) */ +#define ACELP_12k85 12850 /* ACELP core layer at 12.85 kbps (used for WB BWE) */ +#define ACELP_13k20 13200 /* ACELP core layer at 13.20 kbps */ +#define ACELP_14k25 14250 /* ACELP core layer at 14.25 kbps (used only in AMR-WB IO mode) */ +#define ACELP_14k80 14800 /* ACELP core layer at 14.80 kbps (used only in core switching) */ +#define ACELP_15k85 15850 /* ACELP core layer at 15.85 kbps (used only in AMR-WB IO mode) */ +#define ACELP_16k40 16400 /* ACELP core layer at 16.40 kbps */ +#define ACELP_18k25 18250 /* ACELP core layer at 18.25 kbps (used only in AMR-WB IO mode) */ +#define ACELP_19k85 19850 /* ACELP core layer at 19.85 kbps (used only in AMR-WB IO mode) */ +#define ACELP_22k60 22600 /* ACELP core layer at 22.60 kbps (used only in core switching) */ +#define ACELP_23k05 23050 /* ACELP core layer at 23.05 kbps (used only in AMR-WB IO mode) */ +#define ACELP_23k85 23850 /* ACELP core layer at 23.85 kbps (used only in AMR-WB IO mode) */ +#define ACELP_24k40 24400 /* ACELP core layer at 24.40 kbps */ +#define ACELP_29k00 29000 /* ACELP core layer at 29.00 kbps (used for FB + SWB TBE) */ +#define ACELP_29k20 29200 /* ACELP core layer at 29.20 kbps (used for SWB TBE) */ +#define ACELP_30k20 30200 /* ACELP core layer at 30.20 kbps (used for FB + SWB BWE) */ +#define ACELP_30k40 30400 /* ACELP core layer at 30.40 kbps (used for SWB BWE) */ +#define ACELP_32k 32000 /* ACELP core layer at 32 kbps */ +#define ACELP_48k 48000 /* ACELP core layer at 48 kbps */ +#define ACELP_64k 64000 /* ACELP core layer at 64 kbps */ + +#define HQ_16k40 16400 /* HQ core at 16.4 kbps */ +#define HQ_13k20 13200 /* HQ core at 13.2 kbps */ +#define HQ_24k40 24400 /* HQ core at 24.4 kbps */ +#define HQ_32k 32000 /* HQ core at 32 kbps */ +#define HQ_48k 48000 /* HQ core at 48 kbps */ +#define HQ_64k 64000 /* HQ core at 64 kbps */ +#define HQ_96k 96000 /* HQ core at 96 kbps */ +#define HQ_128k 128000 /* HQ core at 128 kbps */ + +#define WB_TBE_0k35 350 /* WB TBE layer (used only at 9.6 kbps on top of ACELP@12k8 core for 16kHz signals) */ +#define WB_BWE_0k35 350 /* WB BWE layer (used only on top of ACELP@12k8 core for 16kHz signals) */ +#define WB_TBE_1k05 1050 /* WB TBE layer (used only on top of ACELP@12k8 core for 16kHz signals) */ +#define SWB_TBE_0k95 950 /* SWB TBE layer (used in low SWB bitrates) */ +#define SWB_TBE_1k10 1100 /* SWB TBE layer in LRTD stereo */ +#define SWB_TBE_1k75 1750 /* SWB TBE layer in LRTD stereo */ +#define SWB_TBE_1k6 1600 /* SWB TBE layer */ +#define SWB_BWE_1k6 1600 /* SWB BWE layer */ +#define FB_TBE_1k8 1800 /* SWB+FB TBE layer (used only for 48kHz signals) */ +#define FB_BWE_1k8 1800 /* SWB+FB BWE layer (used only for 48kHz signals) */ +#define SWB_TBE_2k8 2800 /* SWB TBE layer @32kbps */ +#define FB_TBE_3k0 3000 /* SWB+FB TBE layer @32kbps (used only for 48kHz signals) */ +#define SWB_BWE_16k 16000 /* SWB BWE layer for highrate SWB speech */ + +#define GSC_LRES_GAINQ_LIMIT 3000 /* Bitrate where the low resolution quantization starts for the GSC */ +#define GSC_LRES_NB_NITS 10 /* Number of bits gained by using the low resolution quantization */ + +#define SIZE_BRATE_TBL 11 +#define SIZE_BRATE_INTERMED_TBL 22 + +#define BRATE2IDX( brate ) ( brate == ACELP_5k00 ? 0 : brate == ACELP_6k15 ? 1 : brate == ACELP_7k20 ? 2 : brate == ACELP_8k00 ? 3 : brate == ACELP_9k60 ? 4 : brate == ACELP_11k60 ? 5 : brate == ACELP_12k15 ? 6 : brate == ACELP_12k85 ? 7 : brate == ACELP_13k20 ? 8 : brate == ACELP_14k80 ? 9 : brate == ACELP_16k40 ? 10 : brate == ACELP_22k60 ? 11 : brate == ACELP_24k40 ? 12 : brate == ACELP_29k00 ? 13 : brate == ACELP_29k20 ? 14 : brate == ACELP_30k20 ? 15 : brate == ACELP_30k40 ? 16 : brate == ACELP_32k ? 17 : brate == ACELP_48k ? 18 : brate == ACELP_64k ? 19 : brate == HQ_96k ? 20 : brate == HQ_128k ? 21 : -1 ) + +#define BRATE2IDX16k( brate ) ( brate == ACELP_8k00 ? 0 : brate == ACELP_14k80 || brate == ACELP_16k40 ? 1 : brate == ACELP_22k60 ? 2 : brate == ACELP_24k40 ? 3 : brate == ACELP_29k00 ? 4 : brate == ACELP_29k20 ? 5 : brate == ACELP_30k20 ? 6 : brate == ACELP_30k40 ? 7 : brate == ACELP_32k ? 8 : brate == ACELP_48k ? 9 : brate == ACELP_64k ? 10 : -1 ) + +/* Combine parameters into a single index (used to retrieve number of bits from bit allocation tables) */ +#define LSF_BIT_ALLOC_IDX( brate, ctype ) ( 6 * BRATE2IDX( brate ) + ( ctype ) ) + +#define BIT_ALLOC_IDX( brate, ctype, sfrm, tc ) \ + ( ( sfrm != -1 ? NB_SUBFR : 1 ) * \ + ( ( tc == -1 ? 4 : 10 ) * BRATE2IDX( brate ) + ( ctype == INACTIVE ? GENERIC : ctype ) - 1 + ( tc == -1 ? 0 : tc ) ) + \ + ( sfrm != -1 ? sfrm / L_SUBFR : 0 ) ) + +#define BIT_ALLOC_IDX_16KHZ( brate, ctype, sfrm, tc ) \ + ( ( sfrm > -1 ? NB_SUBFR16k : 1 ) * \ + ( ( tc == -1 ? 3 : 7 ) * BRATE2IDX16k( brate ) + ( ctype == TRANSITION ? 2 : ( ctype == GENERIC ? 1 : 0 ) ) + ( tc == -1 ? 0 : tc ) ) + \ + ( sfrm != -1 ? sfrm / L_SUBFR : 0 ) ) + +/* Combine coder_type, bandwidth, formant sharpening flag, and channel-aware flag into one indice */ +#define SIG2IND( ctype, bw, sf, ca_rf ) ( ctype | ( bw << 3 ) | ( sf << 6 ) | ( ca_rf << 7 ) ) + +#define MAX_ACELP_SIG 100 + +/*----------------------------------------------------------------------------------* + * Bitstream indices + *----------------------------------------------------------------------------------*/ + +#define MAX_PVQ_PUSH_IND 320 /* Maximum number of (fwd+reverse) calls to push_indices for the PVQ_range encoder */ + +enum +{ + IND_IVAS_FORMAT, + IND_SMODE, + IND_SID_TYPE, + IND_BWIDTH, + IND_CORE, + IND_PPP_NELP_MODE, + IND_ACELP_16KHZ, + IND_ACELP_SIGNALLING, + IND_SHARP_FLAG, + IND_MDCT_CORE, + IND_TCX_CORE, + IND_BWE_FLAG, + IND_HQ_SWITCHING_FLG, + IND_LAST_L_FRAME, + IND_VAD_FLAG, + IND_HQ_BWIDTH, + IND_TC_SUBFR, + IND_GSC_IVAS_SP = IND_TC_SUBFR + 4, + IND_LSF_PREDICTOR_SELECT_BIT, + IND_LSF, + IND_MID_FRAME_LSF_INDEX = IND_LSF + 17, + + IND_ISF_0_0, + IND_ISF_0_1, + IND_ISF_0_2, + IND_ISF_0_3, + IND_ISF_0_4, + IND_ISF_1_0, + IND_ISF_1_1, + IND_ISF_1_2, + IND_ISF_1_3, + IND_ISF_1_4, +#ifdef LSF_RE_USE_SECONDARY_CHANNEL + IND_IC_LSF_PRED, +#endif + IND_GSC_ATTACK, + IND_GSC_SWB_SPEECH, + IND_NOISE_LEVEL, + IND_HF_NOISE, + IND_PIT_CONTR_IDX, + IND_FEC_CLAS, + IND_FEC_ENR, + IND_FEC_POS, + IND_ES_PRED, + IND_HARM_FLAG_ACELP, + + /* ------------- Loop for alg. codebook indices at 24.4 kbps (special case) -------------- */ + TAG_ALG_CDBK_4T64_24KBIT_START, + IND_ALG_CDBK_4T64_1_24KBIT = TAG_ALG_CDBK_4T64_24KBIT_START, + IND_ALG_CDBK_4T64_2_24KBIT = TAG_ALG_CDBK_4T64_24KBIT_START, + TAG_ALG_CDBK_4T64_24KBIT_END = TAG_ALG_CDBK_4T64_24KBIT_START + 40, + /* ------------------------------------------------ */ + + /* ------------- ACELP subframe loop -------------- */ + TAG_ACELP_SUBFR_LOOP_START, + IND_PITCH = TAG_ACELP_SUBFR_LOOP_START, + IND_LP_FILT_SELECT = TAG_ACELP_SUBFR_LOOP_START, + IND_ALG_CDBK_1T64 = TAG_ACELP_SUBFR_LOOP_START, + IND_ALG_CDBK_2T32 = TAG_ACELP_SUBFR_LOOP_START, + IND_ALG_CDBK_4T64 = TAG_ACELP_SUBFR_LOOP_START, + IND_ALG_CDBK_4T64_1 = TAG_ACELP_SUBFR_LOOP_START, + IND_ALG_CDBK_4T64_2 = TAG_ACELP_SUBFR_LOOP_START, + IND_ALG_CDBK_4T64_1BIT = TAG_ACELP_SUBFR_LOOP_START, + IND_GAUS_CDBK_INDEX = TAG_ACELP_SUBFR_LOOP_START, + IND_TILT_FACTOR = TAG_ACELP_SUBFR_LOOP_START, + IND_GAIN = TAG_ACELP_SUBFR_LOOP_START, + IND_GAIN_CODE = TAG_ACELP_SUBFR_LOOP_START, + IND_TC_IMP_SHAPE = TAG_ACELP_SUBFR_LOOP_START, + IND_TC_IMP_POS = TAG_ACELP_SUBFR_LOOP_START, + IND_TC_IMP_SIGN = TAG_ACELP_SUBFR_LOOP_START, + IND_TC_IMP_GAIN = TAG_ACELP_SUBFR_LOOP_START, + IND_GAIN_PIT = TAG_ACELP_SUBFR_LOOP_START, + IND_PIT_IDX = TAG_ACELP_SUBFR_LOOP_START, + IND_AVQ_GAIN = TAG_ACELP_SUBFR_LOOP_START, + IND_I = TAG_ACELP_SUBFR_LOOP_START, + IND_KV = TAG_ACELP_SUBFR_LOOP_START, + IND_NQ = TAG_ACELP_SUBFR_LOOP_START, + IND_HF_GAIN_MODIFICATION = TAG_ACELP_SUBFR_LOOP_START, + TAG_ACELP_SUBFR_LOOP_END = TAG_ACELP_SUBFR_LOOP_START + 300, + /* ------------------------------------------------ */ + + IND_MEAN_GAIN2, + IND_Y_GAIN_TMP = IND_MEAN_GAIN2 + 32, + IND_Y_GAIN_HF = IND_Y_GAIN_TMP + 32, + IND_HQ_VOICING_FLAG, + IND_HQ_SWB_CLAS, + IND_NF_IDX, + IND_LC_MODE, + IND_YNRM, + IND_HQ_SWB_EXC_SP_CLAS = IND_YNRM + 44, + IND_HQ_SWB_EXC_CLAS = IND_HQ_SWB_EXC_SP_CLAS, + IND_SWB_FENV_HQ = IND_HQ_SWB_EXC_CLAS, + IND_FB_FENV_HQ = IND_SWB_FENV_HQ + 5, + IND_DELTA_ENV_HQ = IND_FB_FENV_HQ + 5, + IND_HVQ_BWE_NL, + IND_NUM_PEAKS = IND_HVQ_BWE_NL + 2, + IND_POS_IDX, + IND_FLAGN = IND_POS_IDX + 280, + IND_PG_IDX, + IND_HVQ_PEAKS = IND_PG_IDX + 35, + IND_HVQ_NF_GAIN = IND_HVQ_PEAKS + 70, + IND_HQ2_SWB_CLAS = IND_HVQ_NF_GAIN + 2, + IND_HQ2_DENG_MODE, + IND_HQ2_DENG_8SMODE, + IND_HQ2_DENG_8SMODE_N0, + IND_HQ2_DENG_8SMODE_N1, + IND_HQ2_DENG_8SPOS, + IND_HQ2_DENG_8SDEPTH, + IND_HQ2_DENG_HMODE, + IND_HQ2_DIFF_ENERGY, + IND_HQ2_P2A_FLAGS = IND_HQ2_DIFF_ENERGY + 100, + IND_HQ2_LAST_BA_MAX_BAND = IND_HQ2_P2A_FLAGS + 60, + IND_RC_START = IND_HQ2_LAST_BA_MAX_BAND + 2, + IND_RC_END = IND_RC_START + MAX_PVQ_PUSH_IND, + IND_HVQ_PVQ_GAIN = IND_RC_END + 1, + IND_NOISINESS = IND_HVQ_PVQ_GAIN + 8, + IND_ENERGY, + IND_CNG_HO, + IND_SID_BW, + IND_CNG_ENV1, + IND_WB_FENV, + IND_WB_CLASS, + IND_IG1, + IND_IG2A, + IND_IG2B, + IND_NELP_FID, + IND_DELTALAG, + IND_POWER, + IND_AMP0, + IND_AMP1, + IND_GLOBAL_ALIGNMENT, + IND_PVQ_FINE_GAIN, + IND_UV_FLAG, + IND_SHB_SUBGAIN = IND_PVQ_FINE_GAIN + 44, + IND_SHB_FRAMEGAIN, + IND_STEREO_ICBWE_MSFLAG, + IND_SHB_ENER_SF, + IND_SHB_RES_GS, + IND_SHB_VF = IND_SHB_RES_GS + 5, + IND_SHB_LSF, + IND_SHB_MIRROR = IND_SHB_LSF + 5, + IND_SHB_GRID, + IND_SWB_CLASS, + IND_SWB_TENV, + IND_SWB_FENV = IND_SWB_TENV + 4, + IND_SHB_CNG_GAIN = IND_SWB_FENV + 4, + IND_DITHERING, + IND_FB_SLOPE, + + IND_HQ2_SPT_SHORTEN, + IND_HQ2_SUBBAND_TCQ, + IND_HQ2_SUBBAND_GAIN = IND_HQ2_SUBBAND_TCQ + 100, + IND_HQ2_DUMMY = IND_HQ2_SUBBAND_GAIN + 20, + + IND_LAGINDICES, + IND_NOISEG, + IND_AUDIO_GAIN, + IND_AUDIO_DELAY, + + /* ------------- HR SWB BWE loop -------------- */ + TAG_HR_BWE_LOOP_START = IND_AUDIO_DELAY + 4, + IND_HR_IS_TRANSIENT = TAG_HR_BWE_LOOP_START, + IND_HR_GAIN = TAG_HR_BWE_LOOP_START, + IND_HR_ENVELOPE = TAG_HR_BWE_LOOP_START, + IND_HR_HF_GAIN = TAG_HR_BWE_LOOP_START, + IND_I2 = TAG_HR_BWE_LOOP_START, + IND_KV2 = TAG_HR_BWE_LOOP_START, + IND_NQ2 = TAG_HR_BWE_LOOP_START, + TAG_HR_BWE_LOOP_END = TAG_HR_BWE_LOOP_START + 200, + /* ------------------------------------------------ */ + + IND_CORE_SWITCHING_CELP_SUBFRAME, + IND_CORE_SWITCHING_AUDIO_DELAY = IND_CORE_SWITCHING_CELP_SUBFRAME + 20, + IND_CORE_SWITCHING_AUDIO_GAIN, + + IND_STEREO_ICBWE_REF, + IND_STEREO_ICBWE_SP, + IND_STEREO_ICBWE_GS, + IND_STEREO_REFCHAN, + IND_STEREO_CORRSTATS, + IND_STEREO_GD, + IND_STEREO_LRTD_FLAG, + IND_STEREO_LPC_REUSE, + IND_STEREO_TD_ALPHA, + IND_STEREO_2ND_CODER_T, + + IND_UNUSED, + MAX_NUM_INDICES = IND_UNUSED + 772 /* Total 2640 in line with MAX_BITS_METADATA */ +}; + +/*----------------------------------------------------------------------------------* + * Delays + *----------------------------------------------------------------------------------*/ + +#define FRAMES_PER_SEC 50 + +#define FRAME_SIZE_NS 20000000L + +#define ACELP_LOOK_NS 8750000L +#define DELAY_FIR_RESAMPL_NS 937500L +#define DELAY_CLDFB_NS 1250000L + +#define DELAY_SWB_TBE_12k8_NS 1250000L +#define DELAY_SWB_TBE_16k_NS 1125000L +#define MAX_DELAY_TBE_NS 1312500L +#define DELAY_BWE_TOTAL_NS 2312500L +#define DELAY_FD_BWE_ENC_12k8_NS ( DELAY_BWE_TOTAL_NS - ( MAX_DELAY_TBE_NS - DELAY_SWB_TBE_12k8_NS ) ) +#define DELAY_FD_BWE_ENC_16k_NS ( DELAY_BWE_TOTAL_NS - ( MAX_DELAY_TBE_NS - DELAY_SWB_TBE_16k_NS ) ) +#define DELAY_FD_BWE_ENC_NS 2250000L + +#define L_LOOK_12k8 NS2SA( INT_FS_12k8, ACELP_LOOK_NS ) /* look-ahead length at 12.8kHz */ +#define L_LOOK_16k NS2SA( INT_FS_16k, ACELP_LOOK_NS ) /* look-ahead length at 16kHz */ + +/* core switching constants @16kHz */ +#define SWITCH_GAP_LENGTH_NS 6250000L /* length of ACELP->HQ switching gap in ms */ +#define HQ_DELAY_COMP NS2SA( 8000, DELAY_CLDFB_NS ) +#define HQ_DELTA_MAX 6 /* maximum multiplication factor (==48kHz/8kHz) for core switching modules */ + +#define N_ZERO_MDCT_NS 5625000L /* number of zeros in ms for MDCT */ +#define NL_BUFF_OFFSET 12 + +#define N_WS2N_FRAMES 40 /* number of frames for attenuation during the band-width switching */ +#define N_NS2W_FRAMES 20 /* number of frames for attenuation during the band-width switching */ + +/*----------------------------------------------------------------------------------* + * Coder types (only for ACELP core when not running in AMR-WB IO mode) + *----------------------------------------------------------------------------------*/ + +#define INACTIVE 0 /* inactive */ +#define UNVOICED 1 /* unvoiced */ +#define VOICED 2 /* purely voiced */ +#define GENERIC 3 /* generic */ +#define TRANSITION 4 /* transition */ +#define AUDIO 5 /* audio (GSC) */ +#define LR_MDCT 6 /* low-rate MDCT core */ + + +/*--------------------------------------------------* + * Partial copy frame types (only for ACELP core ) + *--------------------------------------------------*/ + +#define ACELP_MODE_MAX 4 +#define RF_MODE_MAX 4 + +/* TCX partial copy frame types */ +#define RF_NO_DATA 0 +#define RF_TCXFD 1 +#define RF_TCXTD1 2 +#define RF_TCXTD2 3 + +/* ACELP partial copy frame types */ +#define RF_ALLPRED ACELP_MODE_MAX +#define RF_NOPRED ACELP_MODE_MAX + 1 +#define RF_GENPRED ACELP_MODE_MAX + 2 +#define RF_NELP ACELP_MODE_MAX + 3 + + +/*--------------------------------------------------------------* + * Frame length constants in mode 2 + *---------------------------------------------------------------*/ + +#define ACELP_TCX_TRANS_NS 1250000 /* Duration of the ACELP->TCX overlap - 1.25 ms */ +#define L_FRAME_MAX L_FRAME48k /* Max 20ms frame size @48kHz */ +#define L_FRAME_PLUS 1200 /* Max frame size (long TCX frame) */ +#define L_MDCT_OVLP_MAX NS2SA( 48000, ACELP_LOOK_NS ) /* = Max mdct overlap */ +#define N_TCX10_MAX 480 /* Max size of TCX10 MDCT spectrum */ +#define BITS_TEC 1 /* number of bits for TEC */ +#define BITS_TFA 1 /* number of bits for TTF */ +#define N_TEC_TFA_SUBFR 16 /* number of subframes of TEC/TFA */ +#define L_TEC_TFA_SUBFR16k ( L_FRAME16k / N_TEC_TFA_SUBFR ) /* TEC/TFA subframe size @ 16kHz*/ +#define MAX_TEC_SMOOTHING_DEG 6 /* max degree of smoothing for TEC */ +#define N_MAX 1200 /* Max size of MDCT spectrum = 25ms @ 48kHz */ +#define N_MAX_TCX 1000 /* Max size of TCX/IGF coded lines */ +#define IGF_START_MN 144 /* MDCT lines not used by IGF*/ +#define IGF_START_MX 800 /* max. MDCT lines used by IGF*/ +#define MAX_IGF_SFB_LEN 160 /* max width of an IGF SFB */ +#define NUM_DCT_LENGTH 24 + +#define NB_DIV 2 /* number of division (subframes) per 20ms frame */ +#define L_MDCT_HALF_OVLP_MAX L_MDCT_OVLP_MAX - 48000 / 200 /* Size of HALF overlap window slope @ 48 kHz */ +#define L_MDCT_MIN_OVLP_MAX 60 /* Size of the MDCT minimal overlap @ 48 kHz - 1.25ms */ +#define L_MDCT_TRANS_OVLP_MAX NS2SA( 48000, ACELP_TCX_TRANS_NS ) /* Size of the ACELP->MDCT transition overlap - 1.25ms */ + +#define L_NEXT_MAX_16k NS2SA( 16000, ACELP_LOOK_NS ) /* 140 */ /* maximum encoder lookahead at 16kHz */ +#define L_NEXT_MAX_32k NS2SA( 32000, ACELP_LOOK_NS ) /* 280 */ /* maximum encoder lookahead at 32kHz */ +#define L_PAST_MAX_32k 360 /* maximum encoder past samples at 32kHz */ + +#define L_MDCT_OVLP_MAX_CORE_FS L_NEXT_MAX_32k /* 280, 2/3 * L_MDCT_OVLP_MAX */ +#define L_MDCT_HALF_OVLP_MAX_CORE_FS 2 * ( L_MDCT_HALF_OVLP_MAX ) / 3 /* 2/3 * L_MDCT_HALF_OVLP_MAX */ +#define L_MDCT_MIN_OVLP_MAX_CORE_FS 2 * ( L_MDCT_MIN_OVLP_MAX ) / 3 /* 2/3 * L_MDCT_MIN_OVLP_MAX */ +#define L_ALDO_WIN1_MAX_CORE_FS 460 /* ALDO1 maximum window length for max core Fs */ +#define L_ALDO_WIN1_FB_MAX 690 /* ALDO1 maximum window length */ + +/*----------------------------------------------------------------------------------* + * ACELP core constants + *----------------------------------------------------------------------------------*/ + +#define SAFETY_NET 0 +#define MOVING_AVERAGE 1 +#define AUTO_REGRESSIVE 2 + +#define INT_FS_12k8 12800 /* internal sampling frequency */ +#define M 16 /* order of the LP filter @ 12.8kHz */ +#define L_FRAME 256 /* frame size at 12.8kHz */ +#define NB_SUBFR 4 /* number of subframes per frame */ +#define L_SUBFR ( L_FRAME / NB_SUBFR ) /* subframe size */ +#define L_INP_MEM ( L_LOOK_16k + ( ( L_LP_16k - ( NS2SA( INT_FS_16k, ACELP_LOOK_NS ) + L_SUBFR16k / 2 ) ) - 3 * L_SUBFR16k / 2 ) ) /*=240 samples length of memory of input signal, given by the Look-Ahead + the past memory (max needed for the LP window at 16 kHz) */ +#define L_INP_12k8 ( L_INP_MEM + L_FRAME ) /* length of input signal buffer @12.8kHz */ +#define L_INP ( L_INP_MEM + L_FRAME32k ) /* length of input signal buffer @32kHz */ + +#define L_EXC_MEM L_FRAME16k /* length of memory of excitation signal @16kHz */ +#define L_EXC_MEM_12k8 ( PIT_MAX + L_INTERPOL ) /* length of memory of excitation signal @12.8kHz */ +#define L_EXC_MEM_DEC ( 3 * L_FRAME16k / 2 ) /*Half-frame needed for PLC in case of TCX->ACELP*/ +#define L_EXC ( L_EXC_MEM + L_FRAME16k + 1 ) /* length of encoder excitation signal buffer @16kHz*/ +#define L_EXC_DEC ( L_EXC_MEM_DEC + L_FRAME16k + 1 + L_SUBFR ) /* length of decoder excitation signal buffer @16kHz*/ +#define L_SYN_MEM NS2SA( 48000, DELAY_CLDFB_NS ) /* synthesis memory length, 1.25ms @ 48kHz */ +#define L_SYN ( L_SYN_MEM + L_FRAME16k ) /* length of synthesis signal buffer @16kHz */ +#define L_WSP_MEM ( PIT_MAX + L_INTERPOL ) /* length of memory for weighted input signal @12.8kHz*/ +#define L_WSP ( L_WSP_MEM + L_FRAME + L_LOOK_12k8 ) /* length of weighted input signal buffer @12.8kHz*/ + +#define OLD_SYNTH_SIZE_DEC ( 2 * L_FRAME_MAX ) /* decoder past synthesis; needed for LTP, PLC and rate switching*/ +#define OLD_SYNTH_INTERNAL_DEC ( 2 * L_FRAME32k ) /* decoder past synthesis @ internal sampling rate; needed for LTP, PLC and rate switching*/ +#define OLD_SYNTH_SIZE_ENC L_FRAME32k + L_FRAME32k / 4 /* encoder synth memory */ +#define OLD_EXC_SIZE_DEC ( 3 * L_FRAME_MAX / 2 + 2 * L_FIR_FER2 ) /*old excitation needed for decoder for PLC*/ + +#define TILT_CODE 0.3f /* ACELP code preemphasis factor */ + +#define L_SUBFR16k ( L_FRAME16k / NB_SUBFR ) /* subframe size at 16kHz */ +#define L_HALFR16k ( 2 * L_SUBFR16k ) /* half-frame size at 16kHz */ + +#define L_INTERPOL2 16 /* Length of filter for interpolation */ +#define L_INTERPOL ( L_INTERPOL2 + 1 ) /* Length of filter for interpolation */ +#define TILT_FAC 0.68f /* tilt factor (denominator) */ +#define M16k 20 /* order of the LP filter @ 16kHz */ +#define PIT_SHARP 0.85f /* pitch sharpening factor */ +#define PIT_UP_SAMP 4 /* upsampling factor for 1/4 interpolation filter */ +#define PIT_L_INTERPOL2 16 +#define PIT_FIR_SIZE2 ( PIT_UP_SAMP * PIT_L_INTERPOL2 + 1 ) +#define PIT_UP_SAMP6 6 +#define PIT_L_INTERPOL6_2 17 +#define PIT_FIR_SIZE6_2 ( PIT_UP_SAMP6 * PIT_L_INTERPOL6_2 + 1 ) +#define E_MIN 0.0035f /* minimum allowable energy */ +#define STEP_DELTA 0.0625f /* quantization step for tilt compensation of gaussian cb. excitation */ +#define GAMMA_EV 0.92f /* weighting factor for core synthesis error weighting */ +#define FORMANT_SHARPENING_NOISE_THRESHOLD 21.0f /* lp_noise level above which formant sharpening is deactivated */ +#define LP_NOISE_THRESH 20.f + +#define L_FILT_UP8k 24 /* Resampling - delay of filter for 8 kHz output signals (at 12.8 kHz sampling rate) */ +#define LEN_WIN_SSS 120 +#define L_FILT 12 /* Resampling - delay of the resampling low-pass filter @12.8kHz */ +#define L_FILT16k 15 /* Resampling - delay of filter for 16 kHz input signals (at 16kHz sampling rate) */ +#define L_FILT32k 30 /* Resampling - delay of filter for 32 kHz input signals (at 32kHz sampling rate) */ +#define L_FILT48k 45 /* Resampling - delay of filter for 48 kHz input signals (at 48kHz sampling rate) */ +#define L_FILT_UP16k 12 /* Resampling - delay of filter for 16 kHz output signals (at 12.8 kHz sampling rate) */ +#define L_FILT_UP32k 12 /* Resampling - delay of filter for 32 kHz output signals (at 12.8 kHz sampling rate) */ +#define L_FILT_UP48k 12 /* Resampling - delay of filter for 48 kHz output signals (at 12.8 kHz sampling rate) */ +#define L_FILT_MAX L_FILT48k /* Resampling - maximum length of all filters - for memories */ +#define RS_INV_FAC 0x8000 /* Resampling - flag needed in rom_com and modif_fs to allow pre-scaled and non pre-scaled filters */ + +#define L_HP20_MEM 4 /* HP20 filter memory length */ + +#define CLDFB_NO_CHANNELS_MAX 60 /* CLDFB resampling - max number of CLDFB channels */ +#define CLDFB_NO_COL_MAX 16 /* CLDFB resampling - max number of CLDFB col. */ +#define CLDFB_NO_COL_MAX_SWITCH 6 /* CLDFB resampling - max number of CLDFB col. for switching */ +#define CLDFB_NO_COL_MAX_SWITCH_BFI 10 /* CLDFB resampling - max number of CLDFB col. for switching, BFI */ +#define CLDFB_OVRLP_MIN_SLOTS 3 /* CLDFB resampling - minimize processing to minimum required for transition frame ACELP->TCX/HQ */ +#define INV_CLDFB_BANDWIDTH ( 1.f / 800.f ) + +#define L_FILT_2OVER3 12 +#define L_FILT_2OVER3_LP 3 + +typedef enum +{ + CLDFB_ANALYSIS, + CLDFB_SYNTHESIS +} CLDFB_TYPE; + +typedef enum +{ + CLDFB_PROTOTYPE_1_25MS, + CLDFB_PROTOTYPE_5_00MS +} CLDFB_PROTOTYPE; + +/* pre-calculated scale values for the cldfb filter prototypes + values are calculated like this: sqrt( 6400 / no_cldfb_channels * sum(filter[k]**2)) */ +#define CLDFB80_10_SCALE 88.293854f +#define CLDFB80_16_SCALE 88.299622f +#define CLDFB80_20_SCALE 88.300926f +#define CLDFB80_30_SCALE 88.234489f +#define CLDFB80_32_SCALE 88.303848f +#define CLDFB80_40_SCALE 88.304726f +#define CLDFB80_60_SCALE 88.028412f + +#define LDQMF_10_SCALE 84.567841f +#define LDQMF_16_SCALE 84.567932f +#define LDQMF_20_SCALE 84.567963f +#define LDQMF_30_SCALE 84.501907f +#define LDQMF_32_SCALE 84.568001f +#define LDQMF_40_SCALE 84.567986f +#define LDQMF_60_SCALE 84.303284f + +#define L_FFT 256 /* Spectral analysis - length of the FFT */ +#define LOG2_L_FFT 8 /* Spectral analysis - log2 of L_FFT */ + +#define BIN ( INT_FS_12k8 / L_FFT ) /* Spectral analysis - Width of one frequency bin in Hz */ +#define NB_BANDS 20 /* Spectral analysis - number of frequency bands */ +#define VOIC_BINS 74 /* Spectral analysis - max number of frequency bins considered as voiced (related to VOIC_BAND and L_FFT) */ +#define VOIC_BAND 17 /* Spectral analysis - number of critical bands considered as voiced (related to VOIC_BINS) */ +#define VOIC_BINS_8k 115 /* Spectral analysis - max number of frequency bins considered as voiced in NB (related to VOIC_BAND_8k and L_FFT) */ +#define VOIC_BAND_8k 17 /* Spectral analysis - number of critical bands considered as voiced in NB (related to VOIC_BINS_8k) */ + +#define M_ALPHA 0.9f /* Multi-harm analysis - forgetting factor of LT correlation map */ +#define M_GAMMA 0.99f /* Multi-harm analysis - forgetting factor of active speech decision predictor */ +#define THR_CORR 56 /* Multi-harm analysis - starting threshold of multi-harm. correlation */ + +#define L_LP 320 /* LP analysis - LP window size */ +#define L_LP_16k 400 /* LP analysis @16kHz - LP window size for 16kHz */ +#define L_LP_AMR_WB 384 /* LP analysis - windows size (only for AMR-WB IO mode) */ +#define GRID50_POINTS 51 /* LP analysis - half-number of points to evaluate Chebyshev polynomials used in the LP coefs. conversion */ +#define GRID40_POINTS 41 /* LP analysis - half-number of points to evaluate Chebyshev polynomials used in the LP coefs. conversion */ +#define GRID100_POINTS 100 /* LP analysis - number of points to evaluate Chebyshev polynomials */ + +#define PIT_MIN 34 /* OL pitch analysis - Minimum pitch lag */ +#define PIT_MAX 231 /* OL pitch analysis - Maximum pitch lag */ +#define PIT_MIN_EXTEND 20 /* OL pitch analysis - Minimum pitch lag of extended range */ +#define PIT_MIN_DOUBLEEXTEND 17 /* OL pitch analysis - Minimum pitch lag of double-extended range */ +#define OPL_DECIM 2 /* OL pitch analysis - decimation factor */ +#define L_INTERPOL1 4 /* OL pitch analysis - interval to compute normalized correlation */ +#define FIR_SIZE1 ( PIT_UP_SAMP * L_INTERPOL1 + 1 ) /* OL pitch analysis - total length of the 1/4 interpolation filter */ + +#define PIT_MIN_SHORTER 29 /* OL pitch analysis - minimum for wider pitch */ + +#define PIT_MIN_12k8 29 /* Minimum pitch lag with resolution 1/4 */ +#define PIT_FR2_12k8 121 /* Minimum pitch lag with resolution 1/2 */ +#define PIT_FR1_12k8 154 /* Minimum pitch lag with resolution 1 */ +#define PIT_MAX_12k8 231 /* Maximum pitch lag */ +#define PIT_FR1_8b_12k8 82 /* Minimum pitch lag with resolution 1 for low bitrate pitch delay codings*/ +#define PIT_MIN_16k 36 +#define PIT_FR2_16k 36 +#define PIT_FR1_16k 165 +#define PIT_FR1_8b_16k 165 +#define PIT_MIN_25k6 58 +#define PIT_FR2_25k6 58 +#define PIT_FR1_25k6 164 +#define PIT_MAX_25k6 463 +#define PIT_FR1_8b_25k6 164 +#define PIT_MIN_32k 72 +#define PIT_FR2_32k 72 +#define PIT_FR1_32k 75 +#define PIT_MAX_32k 577 +#define PIT_FR1_8b_32k 75 +#define PIT_MAX_MAX PIT_MAX_32k + +#define PIT_FR1_8b 92 /* Pitch encoding - Minimum pitch lag with resolution 1 */ +#define PIT_FR2_9b 128 /* Pitch encoding - Minimum pitch lag with resolution 1/2 */ +#define PIT_FR1_9b 160 /* Pitch encoding - Minimum pitch lag with resolution 1 */ +#define PIT_FR1_EXTEND_8b 64 /* Pitch encoding - Minimum pitch lag with resolution 1 of extended range */ +#define PIT_FR2_EXTEND_9b 116 /* Pitch encoding - Minimum pitch lag with resolution 1/2 of extended range */ +#define PIT_FR1_EXTEND_9b 128 /* Pitch encoding - Minimum pitch lag with resolution 1 of extended range */ +#define PIT_FR1_DOUBLEEXTEND_8b 58 /* Pitch encoding - Minimum pitch lag with resolution 1 of double-extended range */ +#define PIT_FR2_DOUBLEEXTEND_9b 112 /* Pitch encoding - Minimum pitch lag with resolution 1/2 of double-extended range */ +#define PIT_FR1_DOUBLEEXTEND_9b 124 /* Pitch encoding - Minimum pitch lag with resolution 1 of double-extended range */ + +#define LOW_PASS 0 /* LP filtering - flag for low-pass filtering of the excitation */ +#define FULL_BAND 1 /* LP filtering - flag for no low-pass filtering of the excitation */ +#define NORMAL_OPERATION 2 /* LP filtering - flag for selecting the best of the two above */ + +#define NB_TRACK_FCB_2T 2 /* Algebraic codebook - number of tracks in algebraic fixed codebook search with 2 tracks */ +#define NB_POS_FCB_2T 32 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 2 tracks */ +#define NB_TRACK_FCB_4T 4 /* Algebraic codebook - number of tracks in algebraic fixed codebook search with 4 tracks */ +#define NB_POS_FCB_4T 16 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 4 tracks */ +#define NB_POS_FCB_2T_128 64 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 2 tracks and L_subfr = 128 */ +#define NB_POS_FCB_4T_128 32 /* Algebraic codebook - number of positions in algebraic fixed codebook search with 4 tracks and L_subfr = 128 */ +#define NB_PULSE_MAX 36 +#define MAX_IDX_LEN 9 +#define NPMAXPT ( ( NB_PULSE_MAX + NB_TRACK_FCB_4T - 1 ) / NB_TRACK_FCB_4T ) /* used in search as well */ + +#define GAIN_PRED_ORDER 4 /* Gain quantization - prediction order for gain quantizer (only for AMR-WB IO mode) */ +#define MEAN_ENER 30 /* Gain quantization - average innovation energy */ + +#define DTX_HIST_SIZE 8 /* CNG & DTX - number of last signal frames used for CNG averaging */ +#define CNG_ISF_FACT 0.9f /* CNG & DTX - CNG spectral envelope smoothing factor */ +#define STEP_AMR_WB_SID 2.625f /* CNG & DTX - CNG energy quantization step */ +#define HO_HIST_SIZE 8 /* CNG & DTX - maximal number of hangover frames used for averaging */ +#define NUM_ENV_CNG 20 +#define BUF_L_NRG 0.7f /* CNG & DTX - lower threshold factor for hangover updates */ +#define BUF_H_NRG 1.03f /* CNG & DTX - higher threshold factor for hangover updates */ +#define CNG_TYPE_HO 20 /* CNG & DTX - hangover for switching between CNG types */ + +#define BUF_DEC_RATE 25 /* CNG & DTX - buffer size decrease rate for active frames */ +#define STEP_SID 5.25f /* CNG & DTX - CNG energy quantization step */ + +#define MIN_ACT_CNG_UPD 20 /* DTX - Minimum number of consecutive active frames for CNG mode update */ +#define FIXED_SID_RATE 8 /* DTX SID rate */ + +#define TOTALNOISE_HIST_SIZE 4 + +#define UNKNOWN_NOISE 0 /* unknown noisy type */ +#define SILENCE 1 /* speech with high SNR */ +#define CLDFBVAD_NB_ID 1 +#define CLDFBVAD_WB_ID 2 +#define CLDFBVAD_SWB_ID 3 +#define CLDFBVAD_FB_ID 4 +#define SP_CENTER_NUM 4 /* number of spectral centroid */ +#define TONA_NUM 3 /* number of tonal */ +#define PRE_SNR_NUM 32 /* number of snr to calculate average SNR of all sub-bands */ +#define POWER_NUM 56 /* number of energy of several frames*/ +#define PRE_SPEC_DIF_NUM 56 /* number of energy of several frames*/ + +#define MAX_SUBBAND_NUM 12 /* max number of sub-band divided non-uniformly*/ +#define BG_ENG_NUM MAX_SUBBAND_NUM /* number of energy of sub-band divided non-uniformly*/ +#define MIN_AMP_ID 5 +#define MAX_AMP_ID 64 +#define SPEC_AMP_NUM ( MAX_AMP_ID - MIN_AMP_ID + 1 ) +#define STABLE_NUM 4 /* number of time-domain stable rate*/ +#define SFM_NUM 3 /* number of spectral flatness */ + +#define START_NG 5 /* Stationary noise UV modification */ +#define FULL_NG 10 /* Stationary noise UV modification */ +#define ISP_SMOOTHING_QUANT_A1 0.9f /* Stationary noise UV modification */ + +#define FEC_BITS_CLS 2 /* FEC - number of bits for clas information */ +#define FEC_BITS_ENR 5 /* FEC - number of bits for energy information */ +#define FEC_ENR_STEP ( 96.0f / ( 1 << FEC_BITS_ENR ) ) +#define FEC_ENR_QLIMIT ( ( 1 << FEC_BITS_ENR ) - 1 ) +#define FEC_BITS_POS 8 /* FEC - number of bits for glottal pulse position */ +#define L_SYN_MEM_CLAS_ESTIM ( 2 * PIT16k_MAX - L_FRAME16k ) /* FEC - memory of the synthesis signal for frame class estimation */ +#define L_SYN_CLAS_ESTIM ( L_SYN_MEM_CLAS_ESTIM + L_FRAME16k ) /* FEC - length of the synthesis signal buffer for frame class estimation */ + +#define FRAME_COUNT_HF_SYNTH 100 /* Threshold of frame counter in HF synthesis */ + +#define AUDIO_COUNTER_INI 200 /* Counter initialization */ +#define AUDIO_COUNTER_STEP 10 /* Counter increase on each audio frame */ +#define AUDIO_COUNTER_MAX 1000 /* Counter saturation */ + +#define BWD_TOTAL_WIDTH 320 /* BWD width */ +#define BWD_COUNT_MAX 100 /* maximum value of BWD counter */ +#define BWD_N_BINS_MAX 13 /* maximum number of BWD bins */ +#define BWS_TRAN_PERIOD 5 /* BWS - number of frames for transition period */ + +#define PREEMPH_FAC 0.68f /* preemphasis factor at 12.8kHz */ +#define PREEMPH_FAC_16k 0.72f +#define PREEMPH_FAC_SWB 0.9f /* preemphasis factor for super wide band */ +#define GAMMA1 0.92f /* weighting factor (numerator) default:0.92 */ +#define GAMMA16k 0.94f + +#define FORMANT_SHARPENING_G1 0.75f /* Formant sharpening numerator weighting at 12.8kHz */ +#define FORMANT_SHARPENING_G2 0.9f /* Formant sharpening denominator weighting at 12.8kHz */ +#define FORMANT_SHARPENING_G1_16k 0.8f /* Formant sharpening numerator weighting at 16kHz */ +#define FORMANT_SHARPENING_G2_16k 0.92f /* Formant sharpening denominator weighting at 16kHz */ + +#define FSCALE_DENOM 512 +#define ACELP_FIXED_CDK_NB 41 +#define ACELP_FIXED_CDK_BITS( n ) PulseConfTable[n].bits + +#define L_FIR 31 + +enum TRACKPOS +{ + TRACKPOS_FIXED_FIRST = 0, /* Fill tracks from left */ + TRACKPOS_FIXED_EVEN = 1, /* Even tracks */ + TRACKPOS_FIXED_FIRST_TWO = 2, /* One track of 32 */ + TRACKPOS_FIXED_TWO = 3, /* Two tracks of 32 instead of four of 16 */ + TRACKPOS_FREE_ONE = 4, /* One freely moving track with extra pulse */ + TRACKPOS_FREE_THREE = 6, /* Three freely moving tracks with single extra pulses */ + TRACKPOS_GRADIENT = 7 +}; + +enum +{ + LAGW_WEAK, /* weak lag window */ + LAGW_MEDIUM, /* medium strength lag window */ + LAGW_STRONG, /* strong lag window */ + + NUM_LAGW_STRENGTHS +}; + +#define NBITS_NOISENESS 5 /* number of bits for coding noiseness in UV frames */ + +/*----------------------------------------------------------------------------------* + * ACELP@16kHz core constants + *----------------------------------------------------------------------------------*/ + +#define NB_SUBFR16k 5 /* number of subframes per frame @16kHz */ +#define INT_FS_16k 16000 /* CELP core internal sampling frequency @16kHz */ + +#define PIT16k_MIN 42 /* Minimum pitch lag @16kHz */ +#define PIT16k_MAX 289 /* Maximum pitch lag @16kHz */ +#define PIT16k_FR2_TC0_2SUBFR 83 /* Minimum pitch lag with resolution 1/2 @16kHz for TC02, 2nd subframe */ +#define PIT16k_MIN_EXTEND 21 /* Minimum pitch lag of extended range @16kHz */ +#define PIT16k_FR2_EXTEND_9b 88 /* Minimum 9 bit pitch lag with resolution 1/2 of extended range @16kHz */ +#define PIT16k_FR1_EXTEND_9b 130 /* Minimum 9 bit pitch lag with resolution 1 of extended range @16kHz */ +#define PIT16k_FR2_EXTEND_10b 264 /* Minimum 10 bit pitch lag with resolution 1/2 of extended range @16kHz */ + +#define WIDTH_BAND 8 /* sub-band width in AVQ coding */ +#define G_AVQ_MIN 0.80f /* lower limit for gain Q in higher-rate ACELP contribution */ +#define G_AVQ_MAX 96.0f /* upper limit for gain Q in higher-rate ACELP contribution */ +#define FAC_PRE_AVQ 0.3f /* preemhasis factor in ACELP pre-quantizer */ + +#define G_AVQ_MIN_INACT 0.70f /* lower limit for gain Q in higher-rate ACELP contribution, inactive segments */ +#define G_AVQ_MAX_INACT 4.1f /* upper limit for gain Q in higher-rate ACELP contribution, inactive segments */ +#define G_AVQ_MIN_INACT_48k 0.35f /* lower limit for gain Q in higher-rate ACELP contribution, inactive segments, 48 kbps */ +#define G_AVQ_MAX_INACT_48k 2.8f /* upper limit for gain Q in higher-rate ACELP contribution, inactive segments, 48 kbps */ +#define G_AVQ_MIN_INACT_64k 0.25f /* lower limit for gain Q in higher-rate ACELP contribution, inactive segments, 64 kbps */ +#define G_AVQ_MAX_INACT_64k 1.5f /* upper limit for gain Q in higher-rate ACELP contribution, inactive segments, 64 kbps */ +#define G_AVQ_DELTA_INACT_48k ( G_AVQ_MAX_INACT_48k - G_AVQ_MIN_INACT_48k ) / ( ( 1 << G_AVQ_BITS ) - 1 ) +#define G_AVQ_DELTA_INACT_64k ( G_AVQ_MAX_INACT_64k - G_AVQ_MIN_INACT_64k ) / ( ( 1 << G_AVQ_BITS ) - 1 ) +#define G_AVQ_BITS 6 /* number of bits to quantize the AVQ gain in higher-rate ACELP contribtuion */ +#define G_AVQ_DELTA ( G_AVQ_MAX - G_AVQ_MIN ) / ( ( 1 << G_AVQ_BITS ) - 1 ) +#define G_AVQ_DELTA_INACT ( G_AVQ_MAX_INACT - G_AVQ_MIN_INACT ) / ( ( 1 << G_AVQ_BITS ) - 1 ) + +#define G_PITCH_MIN 0.00f /* SQ of gains: pitch gain lower limit */ +#define G_PITCH_MAX 1.22f /* SQ of gains: pitch gain upper limit */ +#define G_CODE_MIN 0.02f /* SQ of gains: code gain lower limit */ +#define G_CODE_MAX 5.00f /* SQ of gains: code gain upper limit */ + +#define G_PITCH_MIN_TC192 0.1f +#define G_PITCH_MAX_TC192 0.95f +#define G_CODE_MIN_TC192 0.6f +#define G_CODE_MAX_TC192 41.0f + +#define BIT_SAVING_LOW_THR 10 +#define BIT_SAVING_HIGH_THR 80 + +/*--------------------------------------------------------------* + * TCX constants + *---------------------------------------------------------------*/ + +#define NBITS_TCX_GAIN 7 + +#define NOISE_FILL_RANGES 1 +#define NBITS_NOISE_FILL_LEVEL 3 /* Number of bits used for coding noise filling level for each range */ +#define NF_GAIN_BITS ( NBITS_TCX_GAIN + NOISE_FILL_RANGES * NBITS_NOISE_FILL_LEVEL ) +#define MIN_NOISE_FILLING_HOLE 8 +#define HOLE_SIZE_FROM_LTP( gain ) ( 4 + ( int16_t )( 2.0f * gain * ( 4.0f / 0.625f ) ) ) +#define FDNS_NPTS 64 +#define AVG_TCX20_LSF_BITS 40 +#define AVG_TCX10_LSF_BITS 59 +#define LTPSIZE 3 +#define TCXLTP_DELAY_NS 250000 +#define TCXLTP_MAX_DELAY NS2SA( 48000, TCXLTP_DELAY_NS ) +#define TCXLTP_LTP_ORDER 24 +#define TCX_RES_Q_BITS_GAIN 3 + +/* Use arithmetic coder with LPC shaping also at high (i.e. TCX-only) bitrates */ +#define LPC_SHAPED_ARI_MAX_RATE_CPE ACELP_13k20 +#define LPC_SHAPED_ARI_MAX_RATE ACELP_9k60 +#define N_MAX_ARI 800 + +#define N_LTP_GAIN_MEMS 4 + +#define N_TCX_STARTLINE_NOISE_WB 11 +#define N_TCX_STARTLINE_NOISE_SWB 9 + +/*----------------------------------------------------------------------------------* + * TNS constants + *----------------------------------------------------------------------------------*/ + +#define R1_48 690 +#define R2_48 420 +#define R1_16 230 +#define R2_16 140 +#define R1_25 368 +#define R2_25 224 +#define TNS_MAX_NUM_OF_FILTERS 2 /* TNS maximum number of filters */ +#define TNS_MAX_FILTER_ORDER 8 /* TNS maximum filter order */ +#define ITF_MAX_FILTER_ORDER 16 /* ITF maximum filter order */ +#define TNS_FILTER_OFF 0 +#define TNS_FILTER_ON_ZERO 1 +#define TNS_FILTER_ON 2 +#define NPRM_TNS ( 3 + TNS_MAX_NUM_OF_FILTERS * ( 3 + TNS_MAX_FILTER_ORDER ) ) /* TNS total number of quantized parameters */ +#define NPRM_RESQ 100 /* Maximum number of parameter for residual Q in TCX */ +#define NPRM_CTX_HM 3 /* Number of Parameters for Context HM : flag+index*/ +#define NPRM_DIV ( 2 + NPRM_TNS + N_MAX / 2 + NPRM_RESQ + NPRM_CTX_HM ) /* Total number of quantized parameter in 1 division */ +#define DEC_NPRM_DIV NPRM_DIV /* Total number of quantized parameter in 1 division (decoder side) */ +#define NPRM_LPC_NEW 2 * ( 4 + 2 * NB_SPHERE ) /* LPC total number of quantized parameters */ + +#define BITBUFSIZE ( IVAS_BRATE_MAX / FRAMES_PER_SEC ) +#define IGF_BITBUFSIZE ( HQ_128k / FRAMES_PER_SEC ) + +#define TNS_COEF_RES 4 /* Bit resolution of the coefficients. */ +#define INDEX_SHIFT ( 1 << ( TNS_COEF_RES - 1 ) ) /* For shifting the index so that index 0 points to 0. */ + +/*----------------------------------------------------------------------------------* + * LSF quantization constants + *----------------------------------------------------------------------------------*/ + +#define GENERIC_MA_LIMIT ACELP_9k60 /* crossover limit, for Generic WB mode, < use SN/AR, >= use MA-predictor */ + +#define NC16k ( M16k / 2 ) +#define NO_ITER 4 /* number of iterations for tracking the root */ +#define SPC 0.0234952f +#define SPC_plus SPC * 1.001f +#define ALPHA_SQ ( ( 0.5f / PI2 ) * ( 0.5f / PI2 ) ) + +#define NC M / 2 +#define LSF_GAP 50.0f +#define LSF_BITS_CNG 29 + +#define MU_MA ( 1.0f / 3.0f ) /* original prediction factor (only for AMR-WB IO mode) */ +#define ISF_GAP 50 /* Minimum ISF separation for end-frame ISFs (only in AMR-WB IO mode) */ +#define LSF_GAP_MID 80.0f /* Minimum LSF separation for mid-frame LSFs */ +#define MODE1_LSF_GAP 70.0f /* Minimum LSF separation for end-frame ISFs */ +#define PREFERSFNET 1.05 +#define SFNETLOWLIMIT_WB 35000 /* new sampling rate dependent thresholds used in LSF codebook decision logic, WB case */ +#define SFNETLOWLIMIT_NB 38000 /* new sampling rate dependent thresholds used in LSF codebook decision logic, NB case */ +#define LSFMBEST 2 /* number of survivors from one stage to another */ +#define STREAKLEN 3 /* Allow this many predictive frames, before starting limiting */ +#define STREAKMULT 0.8f /* Exponential limiting multiplier */ + +#define LSFMBEST_MAX 16 + +#define TCXLPC_NUMSTAGES 3 +#define TCXLPC_NUMBITS 13 +#define TCXLPC_IND_NUMSTAGES 1 +#define TCXLPC_IND_NUMBITS 2 +#define TCXLPC_LSF_GAP 80.0f + +#define MAX_VQ_STAGES 4 +#define MAX_VQ_STAGES_USED 9 /* this is the maximum number of stages currently used and changing this will affect the memory allocated \ + MAX_VQ_STAGES is also used as offset for addressing some arrays, so this should NOT be changed*/ +#define MIDLSF_NBITS 5 +#define ENDLSF_NBITS 31 + +#define LEN_INDICE 15 +#define LATTICE_DIM 8 +#define NO_LEADERS 49 +#define MAX_NO_BR_LVQ 28 +#define MAX_NO_SCALES 3 +#define MAX_NO_VALS 4 +#define WB_LIMIT_LSF 6350 +#define CNG_LVQ_MODES 16 +#define MAX_NO_MODES 169 +#define START_CNG MAX_NO_MODES - CNG_LVQ_MODES +#define MAX_NO_MODES_p 237 +#define NO_CODING_MODES 6 +#define LVQ_COD_MODES 18 + +#define LIMIT_LEADER 19 +#define DELTA_LEADER 256 + +/* BC-TCVQ */ +#define N_STAGE_VQ 8 +#define N_DIM 2 +#define NUM_SUBSET 8 +#define OP_LOOP_THR_HVO 3784536.3f /* 80% : Open-loop Threshold */ +#define NUM_STATE 16 /* BC-TCQ - Number of state of the Trellis */ +#define N_STAGE 16 /* BC-TCQ - Smaple number in a frame */ + +#define SIZE_BK1 256 +#define SIZE_BK2 256 +#define SIZE_BK21 64 +#define SIZE_BK22 128 +#define SIZE_BK23 128 +#define SIZE_BK24 32 +#define SIZE_BK25 32 +#define SIZE_BK21_36b 128 +#define SIZE_BK22_36b 128 +#define SIZE_BK23_36b 64 + +/* Gain quantizer constants */ +#define NB_QUA_GAIN5B 32 /* Number of quantization level */ +#define NB_QUA_GAIN6B 64 /* Number of quantization level */ +#define NB_QUA_GAIN7B 128 /* Number of quantization level */ + +/*----------------------------------------------------------------------------------* + * TCX transient detection + *----------------------------------------------------------------------------------*/ + +#define NSUBBLOCKS 8 /* Number of subblocks per frame, one transient per a sub-block can be found */ +#define MAX_TD_DELAY 2 * NSUBBLOCKS /* Maximum allowed delay (in number of subblocks) of the transient detection, affects required memory */ +#define NSUBBLOCKS_SHIFT 3 /* Number of subblocks which are shifter betwen TD dectector and TCX-LTP */ + +#define NO_TCX 0 +#define TCX_20 1 +#define TCX_10 2 +#define TCX_5 3 + +#define TRANSITION_OVERLAP ( -2 ) +#define RECTANGULAR_OVERLAP ( -1 ) +#define FULL_OVERLAP 0 +#define NOT_SUPPORTED 1 +#define MIN_OVERLAP 2 +#define HALF_OVERLAP 3 +#define ALDO_WINDOW 4 + +#define SWITCH_OVERLAP_8k 15 /* == NS2SA(8000, SWITCH_GAP_LENGTH_NS) - NS2SA(8000, 10000000.0f - N_ZERO_MDCT_NS) */ +#define SWITCH_GAP_LENGTH_8k 50 + +/*----------------------------------------------------------------------------------* + * TCX transform kernel switching + *----------------------------------------------------------------------------------*/ + +#define MDCT_IV 0 +#define MDST_II 1 +#define MDCT_II 2 +#define MDST_IV 3 + +/*----------------------------------------------------------------------------------* + * FEC constants + *----------------------------------------------------------------------------------*/ + +#define UNVOICED_CLAS 0 /* Unvoiced, silence, noise, voiced offset */ +#define UNVOICED_TRANSITION 1 /* Transition from unvoiced to voiced components - possible onset, but too small */ +#define VOICED_TRANSITION 2 /* Transition from voiced - still voiced, but with very weak voiced characteristics */ +#define VOICED_CLAS 3 /* Voiced frame, previous frame was also voiced or ONSET */ +#define ONSET 4 /* Voiced onset sufficiently well built to follow with a voiced concealments */ +#define SIN_ONSET 5 /* Artificial harmonic+noise onset (used only in decoder) */ +#define INACTIVE_CLAS 6 /* Inactive frame (used only in decoder) */ +#define AUDIO_CLAS 7 /* Audio frame (used only in AMR-WB IO mode) */ + +#define BETA_FEC 0.75f /* FEC - weighting factor for LSF estimation in FER */ +#define STAB_FAC_LIMIT 0.25f /* FEC - limit at which safety net is forced for next frame */ + +#define MODE1_L_FIR_FER 5 /* FEC - impulse response length for low- and high-pass filters in FEC */ +#define L_FIR_FER 3 /* impulse response length for low- & high-pass filters in FER concealment */ +#define L_FIR_FER2 11 /* new filter tuning: 11*/ +#define MAX_UPD_CNT 5 /* FEC - maximum number of frames since last pitch update */ +#define ALPHA_S 0.6f /* FEC - damping factor for SIN_ONSET frames */ +#define ALPHA_V 1.0f /* FEC - damping factor for VOICED_CLAS frames */ +#define ALPHA_VT 0.4f /* FEC - damping factor for VOICED_TRANSITION frames */ +#define ALPHA_UT 0.8f /* FEC - damping factor for UNVOICED_TRANSITION frames */ +#define ALPHA_U 0.4f /* FEC - damping factor for UNVOICED_CLAS frames */ +#define ALPHA_UU 1.0f /* FEC - damping factor for UNVOICED_CLAS frames */ + +#define AGC 0.98f + +#define PLC_MIN_CNG_LEV 0.01f /* minimum background level */ +#define PLC_MIN_STAT_BUFF_SIZE 50 /* buffer size for minimum statistics */ +#define PLC_MIN_CNG_LEV 0.01f +#define G_LPC_RECOVERY_BITS 1 + +/*----------------------------------------------------------------------------------* + * Transition mode (TC) constants + *----------------------------------------------------------------------------------*/ + +/* Conversion of tc_subfr to index */ +#define TC_SUBFR2IDX( x ) ( x == 0 ? 0 : x == 1 ? 0 : x == 2 ? 1 : x == 3 ? 2 : x == 4 ? 3 : x == 64 ? 4 : x == 128 ? 5 : x == 192 ? 6 : x == 256 ? 7 : 0 ) + +#define TC_SUBFR2IDX_16KHZ( x ) ( x == 0 ? 0 : x == 64 ? 1 : x == 128 ? 2 : x == 192 ? 3 : x == 256 ? 4 : 0 ) + +#define L_IMPULSE 17 /* TC - length of one prototype impulse */ +#define L_IMPULSE2 8 /* TC - half-length of one prototype impulse == floor(L_IMPULSE/2) */ +#define NUM_IMPULSE 8 /* TC - number of prototype impulses */ +#define N_GAIN_CODE_TC 8 /* TC - number of levels for gain_code quantization for subrames without glot. impulse(s) - */ +#define N_GAIN_TC 8 /* TC - number of levels for gain_trans quantization */ + +/* TC - attention: DO NOT CHANGE the following constants - needed for correct bit-allocations */ +#define TC_0_0 1 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 1st subframe */ +#define TC_0_64 2 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 2nd subframe */ +#define TC_0_128 3 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 3rd subframe */ +#define TC_0_192 4 /* TC - subframe ID for TC: first glottal impulse in the 1st subframe, second in the 4th subframe */ + +/*----------------------------------------------------------------------------------* + * AVQ constants + *----------------------------------------------------------------------------------*/ + +/* RE8 constants */ +#define NB_LDQ3 9 +#define NB_SPHERE 32 +#define NB_LEADER 36 +#define NB_LDQ4 27 +#define FAC_LOG2 3.321928095f + +#define NSV_MAX 34 /* maximal number of sub-vectors used by the AVQ */ + +/*----------------------------------------------------------------------------------* + * Arithmetic coder + *----------------------------------------------------------------------------------*/ + +#define A_THRES_SHIFT 2 +#define A_THRES ( 1 << A_THRES_SHIFT ) +#define VAL_ESC 16 +#define NBITS_CONTEXT 8 +#define NBITS_RATEQ 2 + +#define cbitsnew 16 +#define stat_bitsnew 14 + +#define ari_q4new ( ( (int32_t) 1 << cbitsnew ) - 1 ) +#define ari_q1new ( ari_q4new / 4 + 1 ) +#define ari_q2new ( 2 * ari_q1new ) +#define ari_q3new ( 3 * ari_q1new ) + +#define kLtpHmFractionalResolution 7 +#define kLtpHmFlag ( 1 << 8 ) + +#define MAX_LENGTH L_FRAME_MAX + +/*----------------------------------------------------------------------------------* + * TCQ constants + *----------------------------------------------------------------------------------*/ + +#define MAX_PULSES 560 + +#define NORMAL_HQ_CORE 0 /* Signal use of Normal HQ core */ +#define LOW_RATE_HQ_CORE 1 /* Signal use of Low Rate MDCT core */ +#define LOW_RATE_HQ_CORE_TRAN 2 /* Signal use of Low Rate MDCT core Tran SWB */ +#define NORM_MDCT_FACTOR L_FRAME8k /* Normalize Low Rate MDCT coefficients to this frame size */ +#define BANDS_MAX ( 4 * 8 ) +#define MAX_GQLEVS 32 /* Max fine gain levels */ +#define BITS_DE_CMODE 1 +#define BITS_DE_HMODE 1 +#define BITS_DE_8SMODE 1 +#define MAXIMUM_ENERGY_LOWBRATE 255 +#define MINIMUM_ENERGY_LOWBRATE -256 +#define BITS_ABS_ENG 7 +#define ABS_ENG_OFFSET 64 +#define BITS_MAX_DEPTH 3 +#define BITS_DE_8SMODE_N0 1 +#define BITS_DE_8SMODE_N1 1 +#define BITS_DE_8SPOS 5 +#define BITS_DE_FCOMP 5 +#define BITS_DE_LSB 1 +#define DE_OFFSET0 46 +#define DE_OFFSET1 32 +#define DE_LIMIT 64 +#define LRMDCT_BE_OFFSET 15 +#define LRMDCT_BE_LIMIT 31 + +#define HQCORE_NB_MIN_RATE 7200 /* NB LR MDCT coding down to this bitrate */ +#define HQCORE_WB_MIN_RATE 13200 /* WB LR MDCT coding down to this bitrate */ +#define HQCORE_SWB_MIN_RATE 13200 /* SWB LR MDCT coding down to this bitrate */ + +#define LRMDCT_CROSSOVER_POINT 16400 /* Use LR MDCT core at this rate and below */ + +#define HTH_NORM 17 +#define LTH_NORM 13 +#define OFFSET_NORM 3 + + +/*----------------------------------------------------------------------------------* + * SWB TBE constants + *----------------------------------------------------------------------------------*/ + +#define STEPSNUM 4 /* Number of steps in a2lsp routine for SHB LPC */ +#define ALLPASSSECTIONS_STEEP 3 /* Size of all pass filters for interpolation and decimation by a factor of 2 */ +#define INTERP_3_1_MEM_LEN 13 /* Size of all pass filters for interpolation and decimation by a factor of 3:1 */ +#define INTERP_3_2_MEM_LEN 15 +#define L_SHB_LAHEAD 20 /* Size of lookahead for SHB */ +#define NUM_SHB_SUBFR 16 +#define LPC_SHB_ORDER 10 +#define LPC_WHTN_ORDER 4 /* Order of whitening filter for SHB excitation */ +#define SHB_OVERLAP_LEN ( L_FRAME16k - L_SHB_LAHEAD ) / ( NUM_SHB_SUBFR - 1 ) +#define QUANT_DIST_INIT ( 10000000000.0f ) /* Quantiser search distance initialisation */ +#define HIBND_ACB_L_FAC 5 / 2 /* SHB Interpolation Factor */ +#define NUM_HILBERTS 2 +#define HILBERT_ORDER1 5 +#define HILBERT_ORDER2 4 +#define HILBERT_MEM_SIZE ( HILBERT_ORDER1 + ( 2 * HILBERT_ORDER2 ) + ( 2 * HILBERT_ORDER2 ) ) + +#define L_SHB_TRANSITION_LENGTH ( 2 * NS2SA( 48000, DELAY_BWE_TOTAL_NS ) ) + +#define NUM_BITS_SHB_SubGain 6 +#define NUM_BITS_SHB_FrameGain 6 + +#define NUM_BITS_SHB_FrameGain_LBR_WB 4 +#define RECIP_ROOT_EIGHT 0.3535534f /* 1.0 / sqrt(8.0) - constant Gain Shape over TD BWE subframes */ + +#define LPC_SHB_ORDER_WB 6 +#define LPC_WHTN_ORDER_WB 2 /* Order of whitening filter for WB excitation */ +#define NUM_BITS_WB_LSF 8 +#define LPC_SHB_ORDER_LBR_WB 4 +#define NUM_BITS_LBR_WB_LSF 2 + +#define COMP_FIL_ORDER 19 +#define MAX_BIQ_N L_FRAME32k + +#define NUM_SHB_SUBGAINS 4 /* Number of subframe gains */ +#define NUM_BITS_SHB_SUBGAINS 5 /* Number of bits for subframe gains for SWB */ +#define NUM_BITS_SHB_FRAMEGAIN 5 /* Number of bits for framegain for SWB */ +#define NUM_BITS_SHB_FRAMEGAIN_1k75 6 /* Number of bits for framegain for SWB */ +#define NUM_BITS_SHB_ENER_SF 6 +#define NUM_BITS_SHB_RES_GS 3 +#define NUM_BITS_SHB_VF 3 +#define NUM_BITS_SHB_SUBGAINS_RF 5 /* Number of bits for subframe gains for SWB in RF */ +#define SHB_GAIN_QLOW -1.0f /* SHB gain lowest scalar quantizer value */ +#define SHB_GAIN_QDELTA 0.15f /* SHB gain scalar quantizer stepsize */ +#define SHB_GAIN_QLOW_1k75 0.0f /* SHB gain lowest scalar quantizer value */ +#define SHB_GAIN_QDELTA_1k75 0.08f /* SHB gain scalar quantizer stepsize */ +#define NUM_Q_LSF 5 /* Number of quantized LSFs */ +#define MIRROR_POINT_BITS 2 /* Number of bits used to quantize mirror point */ +#define MIRROR_POINT_Q_CB_SIZE 4 /* Size of codebook used to quantize mirror point */ +#define MAX_LSF 0.5f /* Maximum value of the LSFs */ +#define NUM_MAP_LSF 5 /* Number of mapped LSFs */ +#define NUM_LSF_GRIDS 4 /* Number of LSF grids */ +#define NUM_LSF_GRID_BITS 2 /* Number of bits used for the LSF grids */ +#define NUM_BITS_SHB_MSLVQ 20 /* Number of bits for the MSLVQ quantizer */ + +#define VF_0th_PARAM 0.34f +#define VF_1st_PARAM 0.5f +#define VF_2nd_PARAM ( VF_1st_PARAM - VF_0th_PARAM ) + +#define GAMMA0 0.65f /* Mean value of gamma1/gamma2 for formant PF */ +#define GAMMA_SHARP 0.15f /* Largest sharpening for gamma1/gamma2 (0.83/0.67)*/ +#define SWB_NOISE_MIX_FAC 0.15f /* Noise mixing adjustment factor for active PF */ +#define SWB_TILT_LOW 1.0f /* Lower threshold for PF tilt adaptation */ +#define SWB_TILT_HIGH 2.0f /* Higher threshold for PF tilt adaptation */ +#define SWB_TILT_DELTA ( 1.0f / ( SWB_TILT_HIGH - SWB_TILT_LOW ) ) /* Inclination between thresholds */ +#define GAMMA3_PLUS_WB 0.65f /* WB post-filter */ +#define GAMMA3_MINUS_WB 0.85f /* WB post-filter */ +#define AGC_FAC_WB 0.85f /* WB post-filter - gain adjustment factor */ +#define AGC_FAC1_WB ( 1.0f - AGC_FAC_WB ) /* WB post-filter - gain adjustment factor complement */ + +#define MAX_LEN_MA_FILTER 20 /* maximum length of the MA filter for SHB TD envelope calculation */ +#define TABLE_CUMSUM_MAX_N 320 /* maximum length of cumsum(i) and cumsum(i*i) tables */ + +#define NUM_BITS_FB_FRAMEGAIN_TBE 4 /* Number of bits for framegain for FB TBE */ + +/*----------------------------------------------------------------------------------* + * SWB BWE constants + *----------------------------------------------------------------------------------*/ + +#define INV_L_SUBFR16k 0.0125f +#define SWB_L_SUBFR 160 +#define FB_L_SUBFR 240 +#define SWB_FENV 14 +#define FB_GAIN_QLOW 0.0f +#define FB_GAIN_QDELTA 0.03125f +#define FB_MAX_GAIN_VAR 0.5f + + +#define NUM_BITS_FB_FRAMEGAIN 4 /* Number of bits for framegain for FB BWE */ +#define FB_BAND_BEGIN 620 /* == 15.5 kHz */ +#define FB_BAND_BEGIN_12k8 560 /* == 14 kHz */ +#define FB_BAND_END 800 /* == 20 kHz */ +#define FB_BAND_WIDTH 180 /* == 4.5 kHz */ +#define N_CAND 2 +#define N_CB11 32 /* 5bits */ +#define N_CB1ST 128 /* 7bits */ +#define N_CB2ND 64 /* 6bits */ +#define N_CB3RD 32 /* 5bits */ +#define N_CB4TH 64 /* 6bits */ +#define DIM1ST 3 +#define DIM2ND 4 +#define DIM3RD 3 +#define DIM4TH 4 +#define DIM11 ( DIM1ST + DIM2ND ) +#define DIM12 ( DIM3RD + DIM4TH ) +#define N_CAND_TR 3 +#define N_CB_TR1 128 +#define N_CB_TR2 64 +#define DIM_TR1 2 +#define DIM_TR2 2 +#define SWB_FENV_TRANS 4 +#define SWB_TENV 4 +#define NUM_SHARP 9 +#define SHARP_WIDTH 32 + +#define HARMONIC 3 +#define NORMAL 2 +#define TRANSIENT 1 +#define NOISE 0 + +/*----------------------------------------------------------------------------------* + * HR SWB BWE constants + *----------------------------------------------------------------------------------*/ + +#define NSV_OVERLAP 2 /* number of sub-bands overlaping with lower-band (0-8kHz) */ /* note that NSV_MAX >= END_FREQ_BWE_FULL/(8*50) + NSV_OVERLAP ! */ +#define N_BANDS_BWE_HR 4 /* number of frequency bands in non-transient frame */ +#define N_BANDS_TRANS_BWE_HR 2 /* number of frequency bands in transient frame */ +#define END_FREQ_BWE 14400 /* maximum frequency coded by AVQ */ +#define END_FREQ_BWE_FULL 16000 /* maximum frequency coded by HR SWB BWE */ +#define END_FREQ_BWE_FULL_FB 20000 /* maximum frequency coded by HR FB BWE */ + +#define NBITS_GLOB_GAIN_BWE_HR 5 /* number of bits of the global gain quantizer */ +#define MIN_GLOB_GAIN_BWE_HR 3 /* minimum value of the global gain quantizer */ +#define MAX_GLOB_GAIN_BWE_HR 500 /* maximum value of the global gain quantizer */ + +#define NBITS_ENVELOPE_BWE_HR1 6 /* number of bits for envelope VQ - first two subbands in non-transient frame */ +#define NBITS_ENVELOPE_BWE_HR2 5 /* number of bits for envelope VQ - second two subbands in non-transient frame */ +#define NBITS_ENVELOPE_BWE_HR_TR 4 /* number of bits for envelope VQ - two subbands in transient frame */ +#define NUM_ENVLOPE_CODE_HR1 64 /* dimension of envelope VQ - first two subbands in non-transient frame */ +#define NUM_ENVLOPE_CODE_HR2 32 /* dimension of envelope VQ - second two subbands in non-transient frame */ +#define NUM_ENVLOPE_CODE_HR_TR 16 /* dimension of envelope VQ - two subbands in transient frame */ +#define NUM_ENVLOPE_CODE_HR_TR2 8 /* dimension of envelope VQ - two subbands in transient frame */ + +#define NUM_NONTRANS_START_FREQ_COEF ( L_FRAME32k / 2 - NSV_OVERLAP * WIDTH_BAND ) /* start frequency coefficient (==7.6kHz) in non-transient frame */ +#define NUM_NONTRANS_END_FREQ_COEF ( L_FRAME32k * END_FREQ_BWE / END_FREQ_BWE_FULL ) /* end frequency coefficient (==14.4kHz) in non-transient frame */ +#define NUM_TRANS_START_FREQ_COEF ( NUM_NONTRANS_START_FREQ_COEF / NUM_TIME_SWITCHING_BLOCKS ) /* start frequency coefficient (==7.6kHz) in transient frame */ +#define NUM_TRANS_END_FREQ_COEF ( NUM_NONTRANS_END_FREQ_COEF / NUM_TIME_SWITCHING_BLOCKS ) /* end frequency coefficient (==14.4kHz) in transient frame */ +#define NUM_TRANS_END_FREQ_COEF_EFF 140 +#define WIDTH_NONTRANS_FREQ_COEF ( ( NUM_NONTRANS_END_FREQ_COEF - NUM_NONTRANS_START_FREQ_COEF ) / N_BANDS_BWE_HR ) /* number of coefficients per band in non-transient frame */ +#define WIDTH_TRANS_FREQ_COEF ( ( NUM_TRANS_END_FREQ_COEF - NUM_TRANS_START_FREQ_COEF ) / N_BANDS_TRANS_BWE_HR ) /* number of coefficients per band in transient frame */ + +#define NBITS_THRESH_BWE_HR 400 /* BWE HR number of bits threshold */ + +#define NBITS_HF_GAIN_BWE_HR 2 /* number of bits for HF (noncoded) energy estimation */ +#define BWE_HR_TRANS_EN_LIMIT1 0.1f /* HF (noncoded) energy equalization limit 1, transient frames */ +#define BWE_HR_TRANS_EN_LIMIT2 0.3f /* HF (noncoded) energy equalization limit 2, transient frames */ +#define BWE_HR_TRANS_EN_LIMIT3 0.5f /* HF (noncoded) energy equalization limit 3, transient frames */ +#define BWE_HR_NONTRANS_EN_LIMIT1 0.5f /* HF (noncoded) energy equalization limit 1, non-transient frames */ +#define BWE_HR_NONTRANS_EN_LIMIT2 1.2f /* HF (noncoded) energy equalization limit 2, non-transient frames */ +#define BWE_HR_NONTRANS_EN_LIMIT3 0.8f /* HF (noncoded) energy equalization limit 3, non-transient frames */ + +/*----------------------------------------------------------------------------------* + * FD CNG + *----------------------------------------------------------------------------------*/ + +#define SIZE_SCALE_TABLE_MONO 20 +#define SIZE_SCALE_TABLE_STEREO 27 +#define SIZE_SCALE_TABLE_CN 18 +#define SIZE_SCALE_TABLE_CN_AMRWB 3 +#define SIZE_SCALE_TABLE_TCX 13 + +#define SIZE_SIDPARTS_ENC_NOISE_EST 24 + +#define FD_CNG_maxN_37bits 24 +#define FD_CNG_maxC_37bits 8 +#define FD_CNG_stages_37bits 6 +#define FD_CNG_JOINT_stages_25bits 4 + +#define OUTMAX_INV 0.000030517578125f /* 1/2^15 */ +#define OUTMAX_SQ 1073741824.f /* 2^30 */ +#define OUTMAX_SQ_INV 0.00000000093132257461547852f /* 1/2^30 */ +#define DELTA ( 1e-20f ) + +#define CLDFB_SCALING ( 1.5f ) + +#define FFTLEN 640 +#define FFTLEN2 ( FFTLEN / 2 ) +#define CORECLDFBLEN 20 +#define TOTCLDFBLEN 40 +#define FFTCLDFBLEN ( FFTLEN2 + TOTCLDFBLEN - CORECLDFBLEN ) +#define PERIODOGLEN ( FFTLEN2 - 2 ) +#define NPART 24 +#define NPARTCLDFB 10 +#define NPART_SHAPING 62 + +#define MSSUBFRLEN 12 +#define MSNUMSUBFR 6 +#define MSBUFLEN 5 +#define MSALPHACORALPHA 0.7f +#define MSALPHACORMAX 0.3f +#define MSALPHAMAX 0.96f +#define MSALPHAHATMIN 0.05f /* It is used for all bands except the first one to get a stable bass */ +#define MSQEQINVMAX ( 1.f / 5.f ) +#define MSAV 2.12f +#define MSBETAMAX 0.8f +#define MSSNREXP ( -0.02f / 0.064f ) + +#define NB_LAST_BAND_SCALE 0.8f +#define SWB_13k2_LAST_BAND_SCALE 0.8f + +#define CNG_LOG_SCALING 512.f /*2^9*/ + +#define M_MAX 32 +#define N_GAIN_MIN 4 +#define N_GAIN_MAX 17 + +#define CHEAP_NORM_SIZE 161 + +#define CNA_MAX_BRATE ACELP_13k20 +#define MAX_CNA_NBANDS 12 + +#define GAIN_Q_OFFSET_EVS 60.f +#define GAIN_Q_OFFSET_IVAS 45.f + +/*----------------------------------------------------------------------------------* + * Bass post-filter constants + *----------------------------------------------------------------------------------*/ + +#define NBPSF_PIT_MAX ( PIT16k_MAX + 1 ) /* maximum pitch value for bass post-filter */ +#define L_TRACK_HIST 10 + +/*----------------------------------------------------------------------------------* + * NB post-filter constants + *----------------------------------------------------------------------------------*/ + +#define THRESCRIT 0.5f /* NB post-filter - threshold LT pst switch off */ +#define AGC_FAC 0.9875f /* NB post-filter - gain adjustment factor */ +#define AGC_FAC1 ( 1.0f - AGC_FAC ) /* NB post-filter - gain adjustment factor complement */ +#define LONG_H_ST 20 /* NB post-filter - impulse response length */ +#define POST_G1 0.75f /* NB post-filter - denominator weighting factor 12kbps */ +#define POST_G2 0.7f /* NB post-filter - numerator weighting factor 12kbps */ +#define GAMMA1_PST 0.7f /* denominator weighting factor */ +#define GAMMA2_PST 0.55f /* numerator weighting factor */ +#define GAMMA3_PLUS 0.2f /* NB post-filter - tilt weighting factor when k1>0 */ +#define GAMMA3_MINUS 0.9f /* NB post-filter - tilt weighting factor when k1<0 */ +#define F_UP_PST 8 /* NB post-filter - resolution for fractionnal delay */ +#define LH2_S 4 /* NB post-filter - length of INT16 interp. subfilters */ +#define LH2_L 16 /* NB post-filter - length of long interp. subfilters */ +#define MIN_GPLT ( 1.0f / 1.5f ) /* NB post-filter - LT gain minimum */ +#define LH_UP_S ( LH2_S / 2 ) +#define LH_UP_L ( LH2_L / 2 ) +#define LH2_L_P1 ( LH2_L + 1 ) +#define DECMEM_RES2 ( PIT16k_MAX + 2 + LH_UP_L ) +#define SIZ_RES2 ( DECMEM_RES2 + L_SUBFR ) +#define SIZ_Y_UP ( ( F_UP_PST - 1 ) * ( L_SUBFR + 1 ) ) +#define SIZ_TAB_HUP_L ( ( F_UP_PST - 1 ) * LH2_L ) +#define SIZ_TAB_HUP_S ( ( F_UP_PST - 1 ) * LH2_S ) +#define POST_G1_MIN 0.65f +#define POST_G2_MIN 0.55f +#define POST_G1_NOIS 0.15f +#define POST_G2_NOIS 0.10f +#define BG1 ( -0.01f ) +#define BG2 ( -0.05f ) +#define CG1 0.9f +#define CG2 1.45f +#define C_LP_NOISE ( 0.1f / 4.0f ) +#define K_LP_NOISE 15.0f +#define LP_NOISE_THR 25.0f + +/*----------------------------------------------------------------------------------* + * Stability estimation + *----------------------------------------------------------------------------------*/ + +#define NB_BFI_THR 2 /* threshold for counter of last bad frames */ +#define MAX_LT 40 +#define INV_MAX_LT ( 1.0f / MAX_LT ) + +#define TH_0_MIN 2.5f +#define TH_1_MIN 1.875f +#define TH_2_MIN 1.5625f +#define TH_3_MIN 1.3125f + +/*----------------------------------------------------------------------------------* + * Speech/music classifier constants + *----------------------------------------------------------------------------------*/ + +#define SPEECH 0 /* S/M classifier's final decision is pure speech */ +#define SPEECH_OR_MUSIC 1 /* S/M classifier's final decision is unclear, i.e. speech or music */ +#define MUSIC 2 /* S/M classifier's final decision is pure music */ + +#define N_FEATURES 12 /* number of features */ +#define N_MIXTURES 6 /* number of mixtures */ + +#define NB_MEL_BANDS 40 /* number of mel filter bands */ +#define NB_MEL_COEF 13 /* number of mel filter coefficients */ +#define N_SMC_FEATURES 15 /* number of features */ +#define N_SMC_MIXTURES 6 /* number of mixtures */ +#define N_PCA_COEF 12 /* number of PCA components */ +#define SMC_ST_MEAN_FACT 0.5 /* forgetting factor of short-term IIR mean filter */ + +#define M_LSP_SPMUS 6 /* number of LSPs used in speech/music classifier */ +#define NB_BANDS_SPMUS 15 +#define START_BAND_SPMUS 2 +#define N_OLD_BIN_E 42 /* == (L_FFT/2-2)/3 */ + +#define LOWEST_FBIN 3 /* lowest frequency bin for feature vector preparation */ +#define HIGHEST_FBIN 70 /* highest frequency bin for feature vector preparation */ +#define HANG_LEN_INIT 8 /* number of frames for hang-over (causes delay of decision) */ +#define HANG_LEN 8 +#define BUF_LEN 60 +#define L_OVR 8 + +#define ATT_NSEG 32 /* strong attack detection - number of time blocks */ + +#define TOD_NSPEC 80 /* number of spectral bins of the tonal detector */ +#define TOD_THR_MASS 0.86f /* initial value for the adaptive threshold of the tonal detector */ +#define P2A_FACT 0.9f /* long-term averaging factor for peak-to-average ratio */ +#define THR_P2A 80.0f /* threshold to detect strongly peaky signals */ + +/*----------------------------------------------------------------------------------* + * LD music post-filter constants + *----------------------------------------------------------------------------------*/ + +#define TH_0_MIN2 1.875f +#define TH_1_MIN2 1.25f +#define TH_2_MIN2 0.9375f +#define TH_3_MIN2 0.625f + +#define DCT_L_POST 640 +#define OFFSET2 192 + +#define VOIC_BINS_HR 640 +#define BIN_16kdct ( 6400.0f / DCT_L_POST ) +#define NB_LIMIT_BAND 16 +#define MBANDS_GN_LD 20 /* number of bands for gain coding in the postfilter */ + +/*----------------------------------------------------------------------------------* + * AC mode (GSC) constants + *----------------------------------------------------------------------------------*/ + +#define NOISE_LEVEL_SP0 8 +#define NOISE_LEVEL_SP1a 9 +#define NOISE_LEVEL_SP1 10 +#define NOISE_LEVEL_SP2 12 +#define NOISE_LEVEL_SP3 14 + +#define MAX_DYNAMIC 82 +#define MIN_DYNAMIC 50 +#define DYNAMIC_RANGE ( MAX_DYNAMIC - MIN_DYNAMIC ) +#define MAX_GSC_NF_BITS 3 +#define GSC_NF_STEPS ( 1 << MAX_GSC_NF_BITS ) + +#define CRIT_NOIS_BAND 23 + +#define SSF 32 /* Sub-subframe length for energy estimation in UC decision */ +#define NB_SSF ( L_FRAME / SSF ) /* number of sub-subframes per frame */ + +#define MBANDS_GN16k 18 /* Number of band for gain coding in GSC */ +#define MBANDS_GN 16 /* Number of band for gain coding in GSC */ +#define MBANDS_GN_BITALLOC16k 20 /* Number of band for gain coding in GSC */ +#define BAND1k2 3 +#define DSR_NB_PULSE ( 4.5f ) +#define MAX_EQ_LF 1.0f +#define MBANDS_LOC ( MBANDS_GN - 1 ) +#define BIN_SIZE 25.0f +#define SWNB_SUBFR 1 + +#define MIN_RATE_4SBFR ACELP_16k40 +#define MIN_RATE_FCB ACELP_22k60 + +#define VAR_COR_LEN 10 + +#define CFREQ_BITRATE ACELP_11k60 + +#define LT_UV_THR 100 +#define LT_UV_THRMID 70 + +#define PIT_EXC_L_SUBFR L_FRAME16k + +#define LOCAL_CT VOICED + +/*----------------------------------------------------------------------------------* + * Core switching constants + *----------------------------------------------------------------------------------*/ + +#define SWITCH_MAX_GAP 360 /* 6.25 + 1.25 of filter mem max == NS2SA(48000, SWITCH_GAP_LENGTH_NS+DELAY_CLDFB_NS) */ + +/*----------------------------------------------------------------------------------* + * HQ core constants + *----------------------------------------------------------------------------------*/ + +#define HQ_NORMAL 0 +#define HQ_TRANSIENT 1 +#define HQ_HARMONIC 2 +#define HQ_HVQ 3 +#define HQ_GEN_SWB 4 +#define HQ_GEN_FB 5 + +#define PREECHO_SMOOTH_LEN 20 +#define INV_PREECHO_SMOOTH_LENP1 ( 1 / ( PREECHO_SMOOTH_LEN + 1.0 ) ); + +#define EPSILON 0.000000000000001f + +#define MAX_SEGMENT_LENGTH 480 +#define NUM_TIME_SWITCHING_BLOCKS 4 +#define NUM_MAP_BANDS 20 +#define NUM_MAP_BANDS_HQ_24k4 17 +#define NUM_MAP_BANDS_HQ_32k 18 +#define FREQ_LENGTH 800 + +#define STOP_BAND 800 + +#define SFM_G1 16 +#define SFM_G1G2 24 +#define SFM_N_NB 18 +#define SFM_N_WB 26 +#define SFM_N_STA_8k 27 +#define SFM_N_STA_10k 30 +#define SFM_N_ENV_STAB SFM_N_STA_8k /* Number of bands for env_stab stability measure */ +#define SFM_N_ENV_STAB_WB SFM_N_WB /* Number of bands for env_stab stability measure used in HQPLC decision for WB signals */ +#define SFM_N_HARMONIC 39 +#define SFM_N 36 + +#define L_HQ_WB_BWE 20 /* == band_end_wb[SFM_N_WB-1] - (band_start_wb[SFM_N_WB-1]+12) */ +#define N_INTL_GRP_16 2 /* Number of interleaving band groups at 16kHz sampling rate */ +#define N_INTL_GRP_32 2 /* Number of interleaving band groups at 32kHz sampling rate */ +#define N_INTL_GRP_48 3 /* Number of interleaving band groups at 48kHz sampling rate */ +#define SFM_N_SWB 39 +#define SFM_N_HARM 31 +#define SFM_N_HARM_FB 33 +#define NB_SFM 44 +#define NB_SFM_MAX 58 +#define WID_G1 8 +#define WID_G2 16 +#define WID_G3 24 +#define WID_GX 32 +#define NUMC_N 544 +#define HQ_MAX_BAND_LEN 96 /* Largest bandwidth in HQ mode (band_len_harm[32]) */ +#define HVQ_PVQ_BUF_LEN ( HVQ_PVQ_COEFS * ( MAX_PVQ_BANDS - 1 ) + HQ_MAX_BAND_LEN ) /* 24*7+96 = 216 */ + +#define QBIT_MAX2 9 + +#define FLAGN_BITS 1 +#define GAIN0_BITS 5 +#define GAINI_BITS 5 + +#define FLAGS_BITS 2 +#define FLAGS_BITS_FB 3 +#define NORM0_BITS 5 +#define NORMI_BITS 5 +#define NUMNRMIBITS_SWB_STA_8k 5 * ( SFM_N_STA_8k - 1 ) +#define NUMNRMIBITS_SWB_STA_10k 5 * ( SFM_N_STA_10k - 1 ) +#define NUMNRMIBITS_SWB_HARMONIC 185 +#define NUMNRMIBITS_SWB 190 +#define NUMNRMIBITS 215 +#define NUMNRMIBITS_WB 125 + +#define NOHUFCODE 0 +#define HUFCODE 1 +#define HUFF_THR 10 +#define NOSUPERPOSITION 40 + +#define MAXVALUEOFFIRSTGAIN 2.5f +#define MINVALUEOFFIRSTGAIN -2.5f +#define NOOFGAINBITS1 6 + +#define AUDIODELAYBITS 6 +#define DELTAOFFIRSTGAIN (float) ( MAXVALUEOFFIRSTGAIN - MINVALUEOFFIRSTGAIN ) / (float) ( ( 1 << NOOFGAINBITS1 ) - 1 ) + +#define MAX_D1M_16k ( ( L_FRAME16k >> 1 ) - NS2SA( 16000, SWITCH_GAP_LENGTH_NS ) - 16 ) +#define MAX_D1M_12k8 ( ( L_FRAME16k >> 1 ) - NS2SA( 16000, SWITCH_GAP_LENGTH_NS ) - 20 ) + +#define MAX_P_ATT 40 /* Maximum number of pulses for gain attenuation factor */ +#define NB_G 4 /* Number of band groups */ +#define MAX_GAIN_BITS 5 /* Maximum number of gain bits */ + +#define ENV_ADJ_START 6 /* Number of consecutive bands for which the attenuation is maximum */ +#define ENV_ADJ_INCL 5 /* Inclination for mapping between attenuation region width and attenuation limit */ + +#define ENV_SMOOTH_FAC 0.1f /* Smoothing factor for envelope stability measure */ +#define L_STAB_TBL 10 /* Number of elements in stability transition table */ +#define M_STAB_TBL_FX ( (Word16) 21068 ) /* Q13, 2.571756 */ +#define D_STAB_TBL_FX ( (Word16) 845 ) /* Q13 0.1013138 */ +#define HALF_D_STAB_TBL_FX ( (Word16) 422 ) /* Q13 0.1013138/2.0 */ +#define NUM_ENV_STAB_PLC_STATES 2 /* Number of states of markov model */ + +#define ATT_LIM_HANGOVER 150 /* Number of hangover frames for disabling stability dependent attenuation */ +#define DELTA_TH 5.0f /* Delta energy threshold for transient detection for envelope stability */ +#define ENERGY_TH 100.0f /* Energy threshold for transient detection */ +#define ENERGY_LT_BETA 0.93f /* Smoothing factor for long-term energy measure */ + +#define START_EXC 60 +#define L_HARMONIC_EXC 202 + +#define HQ_GENERIC_OFFSET 2 +#define HQ_GENERIC_END_FREQ 560 +#define HQ_GENERIC_END_FREQ_14P2KHZ 568 +#define HQ_GENERIC_END_FREQ_16P0KHZ 640 + +#define HQ_GENERIC_FOFFSET_24K4 80 +#define HQ_GENERIC_FOFFSET_32K 144 +#define HQ_GENERIC_SWB_NBITS 31 +#define HQ_GENERIC_SWB_NBITS2 30 +#define HQ_GENERIC_FB_NBITS 5 + +#define HQ_GENERIC_ST_FREQ 224 +#define HQ_GENERIC_LOW0 80 +#define HQ_GENERIC_HIGH0 240 +#define HQ_GENERIC_HIGH1 368 +#define HQ_GENERIC_HIGH2 496 +#define HQ_GENERIC_LEN0 128 +#define HQ_GENERIC_NVQIDX 6 + +#define HQ_GENERIC_EXC0 0 +#define HQ_GENERIC_EXC1 1 +#define HQ_GENERIC_SP_EXC 2 + +#define LF_EMP_FAC 1.2f + +#define DIM_FB 3 +#define HQ_FB_FENV SWB_FENV + DIM_FB +#define N_CB_FB 32 + +#define HVQ_THRES_BIN_24k 224 +#define HVQ_THRES_SFM_24k 22 +#define HVQ_THRES_BIN_32k 320 +#define HVQ_THRES_SFM_32k 25 +#define HVQ_MIN_PEAKS 2 +#define HVQ_MAX_PEAKS_32k 23 +#define HVQ_MAX_PEAKS_24k 17 +#define HVQ_MAX_PEAKS_24k_CLAS 20 /* Limit for HVQ mode */ +#define HVQ_MAX_PEAKS ( HVQ_MAX_PEAKS_32k + 1 + 11 ) /* Allowing HVQ at max 48 kbps */ +#define HVQ_PEAKS_BPS_DELTA ( HQ_32k - HQ_24k40 ) +#define HVQ_PEAKS_PER_DELTA ( HVQ_MAX_PEAKS_32k - HVQ_MAX_PEAKS_24k ) +#define HVQ_PEAKS_PER_DELTA_THR ( HVQ_MAX_PEAKS_32k - HVQ_MAX_PEAKS_24k_CLAS ) +#define HVQ_PEAKS_PER_DELTA_OFFS ( HVQ_MAX_PEAKS_24k * HVQ_PEAKS_BPS_DELTA - HQ_24k40 * HVQ_PEAKS_PER_DELTA ) +#define HVQ_PEAKS_PER_DELTA_THR_OFFS ( HVQ_MAX_PEAKS_24k_CLAS * HVQ_PEAKS_BPS_DELTA - HQ_24k40 * HVQ_PEAKS_PER_DELTA_THR ) +#define HVQ_NUM_SFM_24k ( SFM_N_HARMONIC - 1 - HVQ_THRES_SFM_24k ) +#define HVQ_NUM_SFM_32k ( SFM_N_HARMONIC - 1 - HVQ_THRES_SFM_32k ) +#define HVQ_E_PEAK_SMOOTH_FAC ( 0.3f ) + +#define HVQ_MAX_RATE 32000 + +#define NUMNRMIBITS_SWB_HVQ_24k 35 +#define NUMNRMIBITS_SWB_HVQ_32k 25 + +#define MAX_PVQ_BANDS 8 +#define HVQ_MAX_PVQ_WORDS ( ( HVQ_MAX_RATE / FRAMES_PER_SEC ) / 16 + MAX_PVQ_BANDS ) +#define HVQ_MAX_POS_WORDS 40 +#define HVQ_PVQ_COEFS 24 +#define HVQ_BAND_MIN_PULSES 2 +#define HVQ_BAND_MAX_BITS_24k 80 +#define HVQ_BAND_MAX_BITS_32k 95 +#define HVQ_NEW_BAND_BIT_THR 30 + +#define HVQ_NF_GROUPS 2 +#define HVQ_NF_WEIGHT1 0.9578f /* HVQ Classifier - Noise floor estimate weight 1 */ +#define HVQ_NF_WEIGHT2 0.6472f /* HVQ Classifier - Noise floor estimate weight 2 */ +#define HVQ_PE_WEIGHT1 0.42237f /* HVQ Classifier - Peak envelope estimate weight 1 */ +#define HVQ_PE_WEIGHT2 0.80285f /* HVQ Classifier - Peak envelope estimate weight 2 */ +#define HVQ_THR_POW 0.88f /* HVQ Classifier power factor for threshold calc */ +#define HVQ_SHARP_THRES 9 /* HVQ Classifier - Sharpness threshold */ + +#define HVQ_PA_FAC 0.7071f /* HVQ Classifier peak allocation factor */ +#define HVQ_PA_PEAKS_SHARP1 9 /* HVQ Classifier - Maximum number of peaks for band with high sharpness */ +#define HVQ_PA_PEAKS_SHARP2 3 /* HVQ Classifier - Maximum number of peaks for band with medium sharpness */ +#define HVQ_PA_PEAKS_SHARP3 2 /* HVQ Classifier - Maximum number of peaks for band with low sharpness */ +#define HVQ_PA_SHARP_THRES2 16.0f /* HVQ Classifier - Sharpness threshold for band with medium sharpness */ +#define HVQ_PA_SHARP_THRES3 12.0f /* HVQ Classifier - Sharpness threshold for band with low sharpness */ + +#define HVQ_BW 32 /* HVQ Classifier subband bandwidth */ +#define HVQ_NSUB_32k 10 +#define HVQ_NSUB_24k 7 /* HVQ Classifier number of subbands */ + +#define HQ_CREST_THRESHOLD 7.0f /* HQ harmonic high band classifier, crest threshold */ +#define HQ_CREST_MOD_THRESHOLD 2.128f /* HQ harmonic high band classifier, modified crest threshold */ +#define HQ_CREST_FAC_SM 0.97f /* HQ harmonic high band classifier, smoothing factor */ + +#define HVQ_BWE_NOISE_BANDS 2 /* Number of BWE noise bands */ +#define HVQ_BWE_WEIGHT1 0.95f +#define HVQ_BWE_WEIGHT2 0.2f +#define HVQ_NFPE_FACTOR 6.4f +#define HVQ_LB_NFPE_FACTOR 3.2f + +#define HVQ_VQ_DIM 5 /* HVQ peak VQ dimension */ +#define HVQ_PVQ_GAIN_BITS 5 /* Number of bits to encode PVQ gains in HVQ */ +#define HVQ_NUM_CLASS 4 /* Number of codebook classes */ +#define HVQ_CB_SIZE 256 + +#define NUM_PG_HUFFLEN 9 /* Number of Huffman codewords for peak gains */ +#define MAX_PG_HUFFLEN 12 /* Length of the longest codeword for peak gain Huffman coding */ + +#define HVQ_CP_HUFF_OFFSET 3 /* HVQ Code Pos - Delta offset */ +#define HVQ_CP_HUFF_MAX 51 /* HVQ Code Pos - Maximum delta for huffman coding */ +#define HVQ_CP_HUFF_MAX_CODE 13 /* HVQ Code Pos - Size of largest code word */ +#define HVQ_CP_HUFF_NUM_LEN 11 /* HVQ Code Pos - Number of different huffman lengths */ +#define HVQ_CP_L2_MAX 64 /* HVQ Code Pos - Layer 2 maximum size */ +#define HVQ_CP_L1_LEN 5 /* HVQ Code Pos - Layer 1 block size */ +#define HVQ_CP_MAP_LEN 8 /* HVQ Code Pos - Mapping table size */ +#define HVQ_CP_MAP_IDX_LEN 3 /* HVQ Code Pos - Mapping index size */ +#define HVQ_CP_DELTA 0 /* HVQ Code Pos - Use Delta coding */ +#define HVQ_CP_SPARSE 1 /* HVQ Code Pos - Use Sparse coding */ + +#define MAX_SPLITS 10 /* Maximum number of PVQ band splits */ +#define QUANTAQ3OFFSET 1 + +enum QuantaMode +{ + PVQ_NEAREST = 0, + PVQ_CONS +}; + +#define DS_INDEX_LINEAR_END 21 +#define PYR_OFFSET 1 +#define RCF_INIT_SHIFT 14 +#define THR_ADD_SPLIT 7 /* Threshold for using additional split */ +#define PVQ_MAX_BAND_SIZE 64 /* Maxiumum supported band size for PVQ search */ +#define MIN_BAND_SIZE 1 /* Minimum supported band size for PVQ search */ +#define RC_BITS_RESERVED 1 +#define MAX_PVQ_BITS_PER_COEFFICIENT 80 /* Maximum bits per coefficient allocated per PVQ band. Q3. */ +#define MAX_SRT_LEN NB_SFM_MAX /* Maximum length of input for srt_vec_ind() */ + +/* index_pvq constants */ +#define KMAX 512 +#define KMAX_NON_DIRECT 96 /* max K for non-direct indexing recursion rows */ +#define ODD_DIV_SIZE 48 /* ind0=1/1 ind1 =1/3 ... ind47=1/95 */ + +/* TCQ */ +#define TCQ_MAX_BAND_SIZE 120 /* Maxiumum supported band size for TCQ+USQ search */ +#define STATES 8 +#define MAX_AR_FREQ 16383 +#define AR_BITS 16 +#define STATES_LSB 4 +#define TCQ_LSB_SIZE 24 +#define TCQ_AMP 10 +#define QTCQ ( 0.2f ) + +#define AR_FIRST ( AR_TOP / 4 + 1 ) +#define AR_TOP ( ( 1 << AR_BITS ) - 1 ) +#define AR_HALF ( 2 * AR_FIRST ) +#define AR_THIRD ( 3 * AR_FIRST ) + +#define MAX_SIZEBUF_PBITSTREAM 1024 + +/*----------------------------------------------------------------------------------* + * SWB BWE for LR MDCT core + *----------------------------------------------------------------------------------*/ + +#define G1_RANGE 4 +#define G1G2_RANGE 15 +#define GRP_SB 4 /*Maximum subband groups*/ +#define THR1 4 /* Bit allocation threshold value */ +#define THR2 5 /* Bit allocation threshold value */ +#define THR3 6 /* Bit allocation threshold value */ + +#define NB_SWB_SUBBANDS 4 /* maximum number of subbands in normal2 subband coding */ +#define SWB_SB_LEN0_12KBPS 55 /* length of subband number X in lowest bitrate operation */ +#define SWB_SB_LEN1_12KBPS 68 +#define SWB_SB_LEN2_12KBPS 84 +#define SWB_SB_LEN3_12KBPS 105 +#define SWB_HIGHBAND_12KBPS ( SWB_SB_LEN0_12KBPS + SWB_SB_LEN1_12KBPS + SWB_SB_LEN2_12KBPS + SWB_SB_LEN3_12KBPS ) +#define SWB_LOWBAND_12KBPS ( HQ_GENERIC_END_FREQ_14P2KHZ - SWB_HIGHBAND_12KBPS ) +#define SWB_HIGHBAND_MAX SWB_HIGHBAND_12KBPS +#define SWB_LOWBAND_MAX SWB_LOWBAND_12KBPS + +#define SWB_SB_OFF0_12KBPS 0 /* subband offsets are based on the subband lengths */ +#define SWB_SB_OFF1_12KBPS ( SWB_SB_OFF0_12KBPS + SWB_SB_LEN0_12KBPS ) +#define SWB_SB_OFF2_12KBPS ( SWB_SB_OFF1_12KBPS + SWB_SB_LEN1_12KBPS ) +#define SWB_SB_OFF3_12KBPS ( SWB_SB_OFF2_12KBPS + SWB_SB_LEN2_12KBPS ) +#define SWB_SB_OFF4_12KBPS ( SWB_SB_OFF3_12KBPS + SWB_SB_LEN3_12KBPS ) + +/* 16.4 kbps */ +#define SWB_SB_LEN0_16KBPS 59 /* length of subband number X in lowest bitrate operation */ +#define SWB_SB_LEN1_16KBPS 74 +#define SWB_SB_LEN2_16KBPS 92 +#define SWB_SB_LEN3_16KBPS 115 +#define SWB_HIGHBAND_16KBPS ( SWB_SB_LEN0_16KBPS + SWB_SB_LEN1_16KBPS + SWB_SB_LEN2_16KBPS + SWB_SB_LEN3_16KBPS ) +#define SWB_LOWBAND_16KBPS ( HQ_GENERIC_END_FREQ_16P0KHZ - SWB_HIGHBAND_16KBPS ) + +#define SWB_SB_OFF0_16KBPS 0 /* subband offsets are based on the subband lengths */ +#define SWB_SB_OFF1_16KBPS ( SWB_SB_OFF0_16KBPS + SWB_SB_LEN0_16KBPS ) +#define SWB_SB_OFF2_16KBPS ( SWB_SB_OFF1_16KBPS + SWB_SB_LEN1_16KBPS ) +#define SWB_SB_OFF3_16KBPS ( SWB_SB_OFF2_16KBPS + SWB_SB_LEN2_16KBPS ) +#define SWB_SB_OFF4_16KBPS ( SWB_SB_OFF3_16KBPS + SWB_SB_LEN3_16KBPS ) + +/* SpectrumSmoothing */ +#define L_SB 12 /* subband length for SpectrumSmoothing */ + +/* SpectrumSmoothing for NSS */ +#define L_SB_NSS 8 +#define L_SB_NSS_HALF ( L_SB_NSS / 2 ) +#define NUM_SUBBAND_SMOOTH_MAX ( SWB_HIGHBAND_12KBPS / L_SB_NSS + 1 ) +#define MA_LEN 7 + +/* Harmonic mode */ +#define NB_SWB_SUBBANDS_HAR_SEARCH_SB 2 /* search number of subbands in harmonic subband coding */ +#define NB_SWB_SUBBANDS_HAR 4 /* maximum number of subbands in harmonic subband coding */ +#define N_NBIGGEST_PULSEARCH 18 +#define N_NBIGGEST_SEARCH_LRG_B 32 + + +/* 13.2 kbps */ +#define SWB_SB_BW_LEN0_12KBPS_HAR 56 /* Group 1 length for BWE */ +#define SWB_SB_BW_LEN1_12KBPS_HAR 100 /* Group 2 Length for BWE */ +#define SWB_SB_BW_LEN2_12KBPS_HAR SWB_SB_BW_LEN1_12KBPS_HAR +#define SWB_SB_BW_LEN3_12KBPS_HAR SWB_SB_BW_LEN0_12KBPS_HAR + +/* 16.4 kbps */ +#define SWB_SB_BW_LEN0_16KBPS_HAR 60 /* Group 1 length for BWE */ +#define SWB_SB_BW_LEN1_16KBPS_HAR 110 /* Group 2 Length for BWE */ +#define SWB_SB_BW_LEN2_16KBPS_HAR SWB_SB_BW_LEN1_16KBPS_HAR +#define SWB_SB_BW_LEN3_16KBPS_HAR SWB_SB_BW_LEN0_16KBPS_HAR + +#define SWB_SB_OFF0_SUB5_12KBPS_HAR 0 /* subband offsets are based on the subband lengths */ +#define SWB_SB_OFF1_SUB5_12KBPS_HAR ( SWB_SB_OFF0_SUB5_12KBPS_HAR + SWB_SB_BW_LEN0_12KBPS_HAR ) +#define SWB_SB_OFF2_SUB5_12KBPS_HAR ( SWB_SB_OFF1_SUB5_12KBPS_HAR + SWB_SB_BW_LEN1_12KBPS_HAR ) +#define SWB_SB_OFF3_SUB5_12KBPS_HAR ( SWB_SB_OFF2_SUB5_12KBPS_HAR + SWB_SB_BW_LEN2_12KBPS_HAR ) + +#define SWB_SB_OFF0_SUB5_16KBPS_HAR 0 /* subband offsets are based on the subband lengths */ +#define SWB_SB_OFF1_SUB5_16KBPS_HAR ( SWB_SB_OFF0_SUB5_16KBPS_HAR + SWB_SB_BW_LEN0_16KBPS_HAR ) +#define SWB_SB_OFF2_SUB5_16KBPS_HAR ( SWB_SB_OFF1_SUB5_16KBPS_HAR + SWB_SB_BW_LEN1_16KBPS_HAR ) +#define SWB_SB_OFF3_SUB5_16KBPS_HAR ( SWB_SB_OFF2_SUB5_16KBPS_HAR + SWB_SB_BW_LEN2_16KBPS_HAR ) + +#define LR_BLK_LEN 16 +#define LR_HLF_PK_BLK_LEN 8 +#define LR_LOWBAND_DIF_PK_LEN 10 +#define SWB_HAR_RAN1 80 +#define SWB_HAR_RAN2 140 +#define SWB_HAR_RAN3 200 +#define SPT_SHORTEN_SBNUM 4 + +/* LRMDCT fix precision */ +#define SWB_BWE_LR_Qs 12 +#define SWB_BWE_LR_Qbe 14 +#define SWB_BWE_LR_QRk 16 + + +/*----------------------------------------------------------------------------------* + * FEC for HQ core + *----------------------------------------------------------------------------------*/ + +#define MAX_PGF 7 +#define MAX_ROW 2 + +#define MAX_SB_NB 3 + +#define NELP_LP_ORDER 8 +#define NUM_NELP_GAINS 10 + +#define MINIMUM_RATE_TO_ENCODE_VOICING_FLAG 45000 +#define FRAC_BWE_SMOOTH 2.0f /* >= 1 */ +#define FRAMECTTOSTART_MDCT 3 + +/*----------------------------------------------------------------------------------* + * Channel aware mode (FEC) + *----------------------------------------------------------------------------------*/ + +#define FEC_OFFSET 3 +#define MAX_RF_FEC_OFFSET 9 + + +/*----------------------------------------------------------------------------------* + * HQ FEC + *----------------------------------------------------------------------------------*/ + +#define POST_HQ_DELAY_NS DELAY_BWE_TOTAL_NS /* delay of post processing after core HQ coding */ +#define PH_ECU_ALDO_OLP2_NS ( ACELP_LOOK_NS / 2 ) /* half length of ALDO WINDOW overlap */ +#define PH_ECU_LOOKAHEAD_NS ( 11 * ACELP_LOOK_NS / ( 7 * 2 ) ) /* Number of nanoseconds look-ahead ahead from the end of the past synthesized frame */ +#define PH_ECU_MEM_NS ( ( L_PROT48k / 48 - 20 ) * 1000000 - PH_ECU_LOOKAHEAD_NS ) /* Number of nanoseconds memory for Phase ECU before the old_synthFB_fx pointer */ + +#define N_LEAD_NB 70 /* (N_LEAD_MDCT*(L_FRAME8k/20)) */ +#define N_ZERO_NB 45 /* (N_ZERO_MDCT*(L_FRAME8k/20)) */ +#define N_LEAD_O_NB 90 /* (20.f-N_LEAD_MDCT)*(L_FRAME8k/20) */ +#define N_ZERO_O_NB 35 /* (10.f-N_ZERO_MDCT)*(L_FRAME8k/20) */ +#define N_Z_L_NB 115 /* (N_Z_L_MDCT*(float)(L/20)) = N_ZERO_NB + N_LEAD_NB*/ +#define N_Z_L_O_NB 205 /* (N_Z_L_O_MDCT*(float)(L/20)) = N_ZERO_NB + N_LEAD_NB + N_LEAD_O_NB */ + +#define L_PROT32k 1024 /* HQ phase ECU prototype frame length */ +#define MAX_PLOCS L_PROT48k / 4 + 1 /* maximum number of spectral peaks to be searched */ +#define QUOT_LPR_LTR 4 +#define LGW_MAX 9 /* maximum number frequency group widths */ +#define BETA_MUTE_FAC_INI 0.5f /* initial noise attenuation factor */ +#define L_TRANA32k ( L_PROT32k / QUOT_LPR_LTR ) /* transient analysis frame length */ +#define L_TRANA16k ( L_TRANA32k / 2 ) +#define L_TRANA8k ( L_TRANA32k / 4 ) +#define L_PROT_HAMM_LEN2_48k NS2SA( 48000, 6000000L ) +#define L_PROT_HAMM_LEN2_32k NS2SA( 32000, 6000000L ) +#define L_PROT_HAMM_LEN2_16k NS2SA( 16000, 6000000L ) +#define L_PROT48k L_PROT32k * 3 / 2 /* HQ phase ECU prototype frame length */ +#define L_PROT48k_2 L_PROT48k / 2 +#define L_TRANA48k ( L_PROT48k / QUOT_LPR_LTR ) /* transient analysis frame length */ +#define PH_ECU_SPEC_SIZE L_PROT48k +#define T_SIN_PI_2 ( PH_ECU_SPEC_SIZE / 4 ) +#define HQ_FEC_SIGN_SFM 16 +#define OFF_FRAMES_LIMIT 30 /* HQ phase ECU, burst length for muting to zero */ +#define PH_ECU_MUTE_START 15 /* HQ phase ECU, burst length to start steep muting */ + +#define SCALE_DOWN_3dB 0.7071f +#define MAX_TILT 0.f +#define ED_THRES 1.0f + +#define ED_THRES_12P 0.032209f +#define ED_THRES_50P 0.159063f +#define ED_THRES_90P 0.532669 +#define MAXDELAY_FEC 224 + +#define RANDOM_START 1 +#define HQ_FEC_SIGN_THRES 6 +#define HQ_FEC_SIGN_THRES_TRANS 3 +#define HQ_FEC_BAND_SIZE 4 + + +/*--------------------------------------------------------------* + * Tonal MDCT PLC + *---------------------------------------------------------------*/ + +#define MAX_NUMBER_OF_IDX 30 +#define GROUP_LENGTH 7 +#define MAX_PEAKS_FROM_PITCH 10 +#define LAST_HARMONIC_POS_TO_CHECK 128 /* 128 because we check harmonics only up to 3.2 kHz */ +#define ALLOWED_SIDE_LOBE_FLUCTUATION 3.0f /* 4.8 dB */ +#define LEVEL_ABOVE_ENVELOPE 7.59f /* 8.8 dB */ +#define UNREACHABLE_THRESHOLD 16.0f /* 12 dB Increase of LEVEL_ABOVE_ENVELOPE so that the threshold is not reached */ +#define SMALL_THRESHOLD 1.10f /* 0.41 dB Increase of LEVEL_ABOVE_ENVELOPE for the peak detection at a definitive peak in the estimated spectrum */ +#define BIG_THRESHOLD 1.5f /* 1.76 dB Increase of LEVEL_ABOVE_ENVELOPE for the peak detection at a probable peak in the estimated spectrum */ + +#define kSmallerLagsTargetBitsThreshold 150 +#define kCtxHmOlRSThr 2.6f + + +#define kTcxHmNumGainBits 2 /* Number of bits for the gain index */ +#define kTcxHmParabolaHalfWidth 4 /* Parabola half width */ +#define kLtpHmGainThr 0.46f /* Use the LTP pitch lag in the harmonic model? */ + +#define LOWRATE_TCXLPC_MAX_BR_CPE ACELP_13k20 +#define LOWRATE_TCXLPC_MAX_BR ACELP_9k60 + +/*--------------------------------------------------------------* + * Waveform-adjustment MDCT PLC + *---------------------------------------------------------------*/ + +#define DEC_STATE_LEN 10 +#define MAX_POST_LEN 3 +#define TCX_TONALITY_INIT_CNT 7 + +#define TCX_NONTONAL 0 +#define TCX_TONAL 1 + +/*---------------------------------------------------------------* + * IGF * + *---------------------------------------------------------------*/ + +#define IGF_MAX_TILES 10 +#define IGF_MAX_GRANULE_LEN 1200 +#define IGF_TRANS_FAK 2 +#define IGF_MAX_SFB 23 +#define IGF_NOF_GRIDS 3 +#define IGF_MAX_SUBFRAMES 2 +#define IGF_PAST_SFM_LEN 5 +#define IGF_MID_WHITENING_LEVEL 7 +#define IGF_MID_WHITENING_LEVEL2 9 + +#define IGF_MODE_WB 1 +#define IGF_MODE_SWB 2 +#define IGF_MODE_FB 3 + +enum +{ + IGF_BITRATE_WB_9600, + IGF_BITRATE_RF_WB_13200, + IGF_BITRATE_SWB_9600, + IGF_BITRATE_SWB_13200, + IGF_BITRATE_RF_SWB_13200, + IGF_BITRATE_SWB_16400, + IGF_BITRATE_SWB_24400, + IGF_BITRATE_SWB_32000, + IGF_BITRATE_SWB_48000, + IGF_BITRATE_SWB_64000, + IGF_BITRATE_FB_16400, + IGF_BITRATE_FB_24400, + IGF_BITRATE_FB_32000, + IGF_BITRATE_FB_48000, + IGF_BITRATE_FB_64000, + IGF_BITRATE_FB_96000, + IGF_BITRATE_FB_128000, + IGF_BITRATE_WB_13200_CPE, + IGF_BITRATE_WB_16400_CPE, + IGF_BITRATE_SWB_13200_CPE, + IGF_BITRATE_SWB_16400_CPE, + IGF_BITRATE_SWB_24400_CPE, + IGF_BITRATE_SWB_32000_CPE, + IGF_BITRATE_SWB_48000_CPE, + IGF_BITRATE_SWB_48000_CPE_TCX10, + IGF_BITRATE_SWB_64000_CPE, + IGF_BITRATE_SWB_80000_CPE, + IGF_BITRATE_SWB_96000_CPE, + IGF_BITRATE_FB_24400_CPE, + IGF_BITRATE_FB_32000_CPE, + IGF_BITRATE_FB_48000_CPE, + IGF_BITRATE_FB_48000_CPE_TCX10, + IGF_BITRATE_FB_64000_CPE, + IGF_BITRATE_FB_80000_CPE, + IGF_BITRATE_FB_96000_CPE, + IGF_BITRATE_FB_128000_CPE, + IGF_BITRATE_UNKNOWN +}; + +#define IGF_WHITENING_OFF 0 +#define IGF_WHITENING_MID 1 +#define IGF_WHITENING_STRONG 2 + +#define IGF_GRID_LB_NORM 0 +#define IGF_GRID_LB_TRAN 1 +#define IGF_GRID_LB_SHORT 2 + +/* constants for IGFSCFDecoder and IGFSCFEncoder */ +#define IGF_CTX_OFFSET 3 /* offset added to make the context values nonnegative, for array indexing */ +#define IGF_CTX_COUNT ( 2 * IGF_CTX_OFFSET + 1 ) /* number of contexts for the AC statistical model */ +#define IGF_MIN_ENC_SEPARATE -12 /* minimum residual value coded separately, without escape coding */ +#define IGF_MAX_ENC_SEPARATE +12 /* maximum residual value coded separately, without escape coding */ +#define IGF_SYMBOLS_IN_TABLE ( 1 + ( IGF_MAX_ENC_SEPARATE - IGF_MIN_ENC_SEPARATE + 1 ) + 1 ) /* alphabet size */ + +/*----------------------------------------------------------------------------------* + * SC-VBR + *----------------------------------------------------------------------------------*/ + +#define UVG1_CBSIZE 32 /* NELP unvoiced gain-1 codebook size */ +#define UVG2_CBSIZE 64 /* NELP unvoiced gain-2 codebook size */ + +/* PPP constants */ +#define NUM_ERB_WB 24 /* Number of ERB bands in wideband */ +#define NUM_ERB_NB 22 /* Number of ERB bands in narrowband */ + +#define CUTFREE_ABS_RANGE 6 +#define CUTFREE_REL_RANGE 0.25 + +#define VBR_ADR_MAX_TARGET 6.15f /* max target ADR for VBR. This rate is used in the closed loop rate control */ +#define PPP_LAG_THRLD 180 /* max lag allowed for PPP coding */ + +#define MAXLAG_WI ( PPP_LAG_THRLD / 2 + 12 ) /* Maximum lag used in waveform interpolation */ +#define MAX_LAG_PIT ( PPP_LAG_THRLD + 21 ) /* Max possible pitch lag after adding delta lag */ + +/*----------------------------------------------------------------------------------* + * JBM + *----------------------------------------------------------------------------------*/ + +#define MAX_JBM_SLOTS 100 /* every primary copy and partial copy stored in JBM needs one slot */ +#define MAX_AU_SIZE ( ( MAX_BITS_PER_FRAME + 7 ) / 8 ) /* max frame size in bytes */ + +/*----------------------------------------------------------------------------------* + * TEC/TFA + *----------------------------------------------------------------------------------*/ + +#define DELAY_TEMP_ENV_BUFF_TEC 9 +#define EXT_DELAY_HI_TEMP_ENV 2 + + +/*----------------------------------------------------------------------------------* + * BASOP ROM Tables + *----------------------------------------------------------------------------------*/ + +#define LD_INT_TAB_LEN 120 +#define INV_TABLE_SIZE 256 +#define SQRT_TABLE_SIZE 256 + + +/*----------------------------------------------------------------------------------* + * Decoder modes + *----------------------------------------------------------------------------------*/ + +enum +{ + PRIMARY_2800, + PRIMARY_7200, + PRIMARY_8000, + PRIMARY_9600, + PRIMARY_13200, + PRIMARY_16400, + PRIMARY_24400, + PRIMARY_32000, + PRIMARY_48000, + PRIMARY_64000, + PRIMARY_96000, + PRIMARY_128000, + PRIMARY_SID, + PRIMARY_FUT1, + SPEECH_LOST, + NO_DATA_RECEIVED +}; + +enum +{ + AMRWB_IO_6600, + AMRWB_IO_8850, + AMRWB_IO_1265, + AMRWB_IO_1425, + AMRWB_IO_1585, + AMRWB_IO_1825, + AMRWB_IO_1985, + AMRWB_IO_2305, + AMRWB_IO_2385, + AMRWB_IO_SID /*, + AMRWB_IO_FUT1, + AMRWB_IO_FUT2, + AMRWB_IO_FUT3, + AMRWB_IO_FUT4, + SPEECH_LOST, + NO_DATA_RECEIVED */ +}; + +enum +{ + G192, + MIME, + VOIP_G192_RTP, + VOIP_RTPDUMP +}; + +/* clang-format on */ +#endif /* CNST_H */ diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h new file mode 100644 index 0000000000..fa14ecff23 --- /dev/null +++ b/lib_com/common_api_types.h @@ -0,0 +1,150 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef COMMON_API_TYPES_H +#define COMMON_API_TYPES_H + +/* options.h needed for debugging/development features + * It should be stripped for delivery along with debugging switches */ +#include "options.h" +#include <stdint.h> +#include <stdio.h> + +/*----------------------------------------------------------------------------------* + * Common API constants + *----------------------------------------------------------------------------------*/ + +#define IVAS_MAX_BITS_PER_FRAME ( 512000 / 50 ) +#define IVAS_MAX_NUM_OBJECTS 4 +#define IVAS_MAX_OUTPUT_CHANNELS 16 +#define IVAS_CLDFB_NO_CHANNELS_MAX ( 60 ) +#define IVAS_MAX_INPUT_LFE_CHANNELS 4 + +/*----------------------------------------------------------------------------------* + * Common API structures + *----------------------------------------------------------------------------------*/ + +typedef enum _IVAS_ENC_FEC_INDICATOR +{ + IVAS_ENC_FEC_LO, + IVAS_ENC_FEC_HI, + IVAS_ENC_FEC_UNDEFINED = 0xffff +} IVAS_ENC_FEC_INDICATOR; + +typedef struct _IVAS_ENC_CHANNEL_AWARE_CONFIG +{ + int16_t channelAwareModeEnabled; + IVAS_ENC_FEC_INDICATOR fec_indicator; + int16_t fec_offset; +} IVAS_ENC_CHANNEL_AWARE_CONFIG; + + +typedef struct _IVAS_ISM_METADATA +{ + float azimuth; + float elevation; + float radius; + float spread; + float gainFactor; +} IVAS_ISM_METADATA; + +typedef struct +{ + float w, x, y, z; + +} IVAS_QUATERNION; + +typedef struct ivas_masa_metadata_frame_struct *IVAS_MASA_METADATA_HANDLE; +typedef struct ivas_masa_qmetadata_frame_struct *IVAS_MASA_QMETADATA_HANDLE; + +typedef struct TDREND_HRFILT_FiltSet_struct *IVAS_DEC_HRTF_HANDLE; + +#ifdef DEBUGGING +typedef enum +{ + IVAS_RENDER_TYPE_OVERRIDE_NONE, + IVAS_RENDER_TYPE_OVERRIDE_CREND, + IVAS_RENDER_TYPE_OVERRIDE_FASTCONV +} IVAS_RENDER_TYPE_OVERRIDE; +#endif + +typedef struct _IVAS_ROOM_ACOUSTICS_CONFIG +{ + int16_t override; + int16_t use_brir; + int16_t late_reverb_on; + int16_t nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ + float pFc_input[IVAS_CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ + float pAcoustic_rt60[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ + float pAcoustic_dsr[IVAS_CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ + float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ + float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ +} IVAS_ROOM_ACOUSTICS_CONFIG_DATA; + +typedef struct _IVAS_RENDER_CONFIG +{ +#ifdef DEBUGGING + IVAS_RENDER_TYPE_OVERRIDE renderer_type_override; +#endif + IVAS_ROOM_ACOUSTICS_CONFIG_DATA room_acoustics; +} IVAS_RENDER_CONFIG_DATA, *IVAS_RENDER_CONFIG_HANDLE; + +typedef struct _IVAS_LS_CUSTOM_LAYOUT +{ + int16_t num_spk; + float azimuth[IVAS_MAX_OUTPUT_CHANNELS]; + float elevation[IVAS_MAX_OUTPUT_CHANNELS]; + int16_t num_lfe; + int16_t lfe_idx[IVAS_MAX_OUTPUT_CHANNELS]; + +} IVAS_CUSTOM_LS_DATA; + +typedef struct ivas_LS_setup_custom *IVAS_LSSETUP_CUSTOM_HANDLE; +typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT; + + +typedef struct _IVAS_JBM_TRACE_DATA +{ + double playTime; + int16_t partialCopyOffset; + uint16_t sequenceNumber; + uint32_t timeStamp; + uint32_t rcvTime; + + int16_t lastDecodedWasActive; + int16_t partial_frame_flag; + int16_t dataUnit_flag; + +} IVAS_JBM_TRACE_DATA; + + +#endif /* COMMON_API_TYPES_H */ diff --git a/lib_com/control.h b/lib_com/control.h new file mode 100644 index 0000000000..2b3f92b535 --- /dev/null +++ b/lib_com/control.h @@ -0,0 +1,82 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef _CONTROL_H +#define _CONTROL_H + +/* BASOP -> FLC brigde: flow control instructions */ + +#include "stl.h" + +#define FOR( a ) \ + if ( incrFor(), 0 ) \ + ; \ + else \ + for ( a ) +static __inline void incrFor( void ) +{ +} + +#define WHILE( a ) \ + if ( incrFlcWhile(), 0 ) \ + ; \ + else \ + while ( a ) +static __inline void incrFlcWhile( void ) +{ +} + +#define DO do + +#define IF( a ) if ( incrIf(), a ) +static __inline void incrIf( void ) +{ +} + +#define ELSE else + +#define SWITCH( a ) switch ( incrSwitch(), a ) +static __inline void incrSwitch( void ) +{ +} + +#define CONTINUE continue + +#define BREAK break + +#define GOTO goto + +#endif /* _CONTROL_H */ diff --git a/lib_com/enh1632.h b/lib_com/enh1632.h new file mode 100644 index 0000000000..a46fb8dbe7 --- /dev/null +++ b/lib_com/enh1632.h @@ -0,0 +1,508 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/* + =========================================================================== + File: ENH1632.H v.2.3 - 30.Nov.2009 + =========================================================================== + + ITU-T STL BASIC OPERATORS + + ENHANCED 16-BIT & 32-BIT ARITHMETIC OPERATORS + + History: + 07 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control + operators for the ITU-T Standard Tool Library as + described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 + TD 11 document and subsequent discussions on the + wp3audio@yahoogroups.com email reflector. + March 06 v2.1 Changed to improve portability. + Some counters incrementations were missing (s_and, + s_or, s_xor). + 30 Nov 09 v2.3 saturate() removed + + ============================================================================ +*/ + + +#ifndef _ENH1632_H +#define _ENH1632_H + + +/***************************************************************************** + * + * Constants and Globals + * + *****************************************************************************/ + + +#include "stl.h" + + +/***************************************************************************** + * + * Prototypes for enhanced 16/32 bit arithmetic operators + * + *****************************************************************************/ +Word16 shl_r( Word16 var1, Word16 var2 ); +Word32 L_shl_r( Word32 L_var1, Word16 var2 ); + + +Word16 lshl( Word16 var1, Word16 var2 ); +Word16 lshr( Word16 var1, Word16 var2 ); +Word32 L_lshl( Word32 L_var1, Word16 var2 ); +Word32 L_lshr( Word32 L_var1, Word16 var2 ); + +Word16 rotr( Word16 var1, Word16 var2, Word16 *var3 ); +Word16 rotl( Word16 var1, Word16 var2, Word16 *var3 ); +Word32 L_rotr( Word32 var1, Word16 var2, Word16 *var3 ); +Word32 L_rotl( Word32 var1, Word16 var2, Word16 *var3 ); + + +/***************************************************************************** + * + * Functions + * + *****************************************************************************/ + +/***************************************************************************** + * + * Function Name : s_max + * + * Purpose : + * + * Compares var1 and var2 and returns the maximum value. + * + * Complexity weight : 1 + * + * Inputs : + * + * var1 16 bit short signed integer (Word16) whose value falls in + * the range : 0x8000 <= var1 <= 0x7fff. + * + * var2 16 bit short signed integer (Word16) whose value falls in + * the range : 0x8000 <= var2 <= 0x7fff. + * + * Outputs : + * + * none + * + * Return Value : + * + * var_out 16 bit short signed integer (Word16) whose value falls in + * the range : 0x8000 <= L_var_out <= 0x7fff. + * + *****************************************************************************/ +static __inline Word16 s_max( Word16 var1, Word16 var2 ) +{ + Word16 var_out; + + if ( var1 >= var2 ) + var_out = var1; + else + var_out = var2; + + + return ( var_out ); +} + + +/***************************************************************************** + * + * Function Name : s_min + * + * Purpose : + * + * Compares var1 and var2 and returns the minimum value. + * + * Complexity weight : 1 + * + * Inputs : + * + * var1 16 bit short signed integer (Word16) whose value falls in + * the range : 0x8000 <= var1 <= 0x7fff. + * + * var2 16 bit short signed integer (Word16) whose value falls in + * the range : 0x8000 <= var2 <= 0x7fff. + * + * Outputs : + * + * none + * + * Return Value : + * + * var_out 16 bit short signed integer (Word16) whose value falls in + * the range : 0x8000 <= var_out <= 0x7fff. + * + *****************************************************************************/ +static __inline Word16 s_min( Word16 var1, Word16 var2 ) +{ + Word16 var_out; + + if ( var1 <= var2 ) + var_out = var1; + else + var_out = var2; + + + return ( var_out ); +} + + +/***************************************************************************** + * + * Function Name : L_max + * + * Purpose : + * + * Compares L_var1 and L_var2 and returns the maximum value. + * + * Complexity weight : 1 + * + * Inputs : + * + * L_var1 32 bit long signed integer (Word32) whose value falls in the + * range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. + * + * L_var2 32 bit long signed integer (Word32) whose value falls in the + * range : 0x8000 0000 <= L_var2 <= 0x7fff ffff. + * + * Outputs : + * + * none + * + * Return Value : + * + * L_var_out 32 bit long signed integer (Word32) whose value falls in the + * range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. + * + *****************************************************************************/ +static __inline Word32 L_max( Word32 L_var1, Word32 L_var2 ) +{ + Word32 L_var_out; + + if ( L_var1 >= L_var2 ) + L_var_out = L_var1; + else + L_var_out = L_var2; + + + return ( L_var_out ); +} + + +/***************************************************************************** + * + * Function Name : L_min + * + * Purpose : + * + * Compares L_var1 and L_var2 and returns the minimum value. + * + * Complexity weight : 1 + * + * Inputs : + * + * L_var1 32 bit long signed integer (Word32) whose value falls in the + * range : 0x8000 0000 <= L_var1 <= 0x7fff ffff. + * + * L_var2 32 bit long signed integer (Word32) whose value falls in the + * range : 0x8000 0000 <= L_var2 <= 0x7fff ffff. + * + * Outputs : + * + * none + * + * Return Value : + * + * L_var_out 32 bit long signed integer (Word32) whose value falls in the + * range : 0x8000 0000 <= L_var_out <= 0x7fff ffff. + * + *****************************************************************************/ +static __inline Word32 L_min( Word32 L_var1, Word32 L_var2 ) +{ + Word32 L_var_out; + + if ( L_var1 <= L_var2 ) + L_var_out = L_var1; + else + L_var_out = L_var2; + + + return ( L_var_out ); +} + + +/***************************************************************************** + * + * Function Name : s_and + * + * Purpose : + * + * Performs logical AND of the two 16 bit input variables. + * var_out = var1 & var2 + * + * Complexity weight : 1 + * + * Inputs : + * + * var1 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var1 <= 0x0000 7fff. + * + * var2 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var2 <= 0x0000 7fff. + * + * Outputs : + * + * none + * + * Return Value : + * + * var_out 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var_out <= 0x0000 7fff. + * + *****************************************************************************/ +static __inline Word16 s_and( Word16 var1, Word16 var2 ) +{ + Word16 var_out; + + var_out = var1 & var2; + + + return ( var_out ); +} + + +/***************************************************************************** + * + * Function Name : L_and + * + * Purpose : + * + * Performs logical AND of the two 32 bit input variables. + * L_var_out = L_var1 & L_var2 + * + * Complexity weight : 1 + * + * Inputs : + * + * L_var1 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var1 <= 0x7fff ffff. + * + * L_var2 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var2 <= 0x7fff ffff. + * + * Outputs : + * + * none + * + * Return Value : + * + * L_var_out 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var_out <= 0x7fff ffff. + * + *****************************************************************************/ +static __inline Word32 L_and( Word32 L_var1, Word32 L_var2 ) +{ + Word32 L_var_out; + + L_var_out = L_var1 & L_var2; + + + return ( L_var_out ); +} + + +/***************************************************************************** + * + * Function Name : s_or + * + * Purpose : + * + * Performs logical OR of the two 16 bit input variables. + * var_out = var1 | var2 + * + * Complexity weight : 1 + * + * Inputs : + * + * var1 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var1 <= 0x0000 7fff. + * + * var2 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var2 <= 0x0000 7fff. + * + * Outputs : + * + * none + * + * Return Value : + * + * var_out 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var_out <= 0x0000 7fff. + * + *****************************************************************************/ +static __inline Word16 s_or( Word16 var1, Word16 var2 ) +{ + Word16 var_out; + + var_out = var1 | var2; + + + return ( var_out ); +} + + +/***************************************************************************** + * + * Function Name : L_or + * + * Purpose : + * + * Performs logical OR of the two 32 bit input variables. + * L_var_out = L_var1 | L_var2 + * + * Complexity weight : 1 + * + * Inputs : + * + * L_var1 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var1 <= 0x7fff ffff. + * + * L_var2 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var2 <= 0x7fff ffff. + * + * Outputs : + * + * none + * + * Return Value : + * + * L_var_out 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var_out <= 0x7fff ffff. + * + *****************************************************************************/ +static __inline Word32 L_or( Word32 L_var1, Word32 L_var2 ) +{ + + Word32 L_var_out; + + L_var_out = L_var1 | L_var2; + + + return ( L_var_out ); +} + + +/***************************************************************************** + * + * Function Name : s_xor + * + * Purpose : + * + * Performs logical XOR of the two 16 bit input variables. + * var_out = var1 ^ var2 + * + * Complexity weight : 1 + * + * Inputs : + * + * var1 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var1 <= 0x0000 7fff. + * + * var2 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var2 <= 0x0000 7fff. + * + * Outputs : + * + * none + * + * Return Value : + * + * var_out 16 bit short signed integer (Word16) whose value + * falls in the range 0xffff 8000 <= var_out <= 0x0000 7fff. + * + *****************************************************************************/ +static __inline Word16 s_xor( Word16 var1, Word16 var2 ) +{ + Word16 var_out; + + var_out = var1 ^ var2; + + + return ( var_out ); +} + + +/***************************************************************************** + * + * Function Name : L_xor + * + * Purpose : + * + * Performs logical OR of the two 32 bit input variables. + * L_var_out = L_var1 ^ L_var2 + * + * Complexity weight : 1 + * + * Inputs : + * + * L_var1 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var1 <= 0x7fff ffff. + * + * L_var2 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var2 <= 0x7fff ffff. + * + * Outputs : + * + * none + * + * Return Value : + * + * L_var_out 32 bit long signed integer (Word32) whose value + * falls in the range 0x8000 0000 <= L_var_out <= 0x7fff ffff. + * + *****************************************************************************/ +static __inline Word32 L_xor( Word32 L_var1, Word32 L_var2 ) +{ + Word32 L_var_out; + + L_var_out = L_var1 ^ L_var2; + + + return ( L_var_out ); +} + + +#endif /*_ENH1632_H*/ + +/* end of file */ diff --git a/lib_com/enh40.h b/lib_com/enh40.h new file mode 100644 index 0000000000..d2a84652d4 --- /dev/null +++ b/lib_com/enh40.h @@ -0,0 +1,349 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/* + =========================================================================== + File: ENH40.H v.2.3 - 30.Nov.2009 + =========================================================================== + + ITU-T STL BASIC OPERATORS + + 40-BIT ARITHMETIC OPERATORS + + History: + 07 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control + operators for the ITU-T Standard Tool Library as + described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 + TD 11 document and subsequent discussions on the + wp3audio@yahoogroups.com email reflector. + March 06 v2.1 Changed to improve portability. + + ============================================================================ +*/ + + +#ifndef _ENH40_H +#define _ENH40_H + + +#include "stl.h" + +#if defined( BASOP_NOGLOB ) || defined( _MSC_VER ) +#define MAX_40 ( 0x0000007fffffffff ) +#define MIN_40 ( 0xffffff8000000000 ) +#endif + + +#define L40_OVERFLOW_OCCURED( L40_var1 ) ( Overflow = 1, exit( 1 ), L40_var1 ) +#define L40_UNDERFLOW_OCCURED( L40_var1 ) ( Overflow = 1, exit( 2 ), L40_var1 ) + + +/***************************************************************************** + * + * Prototypes for enhanced 40 bit arithmetic operators + * + *****************************************************************************/ +Word40 L40_shr( Word40 L40_var1, Word16 var2 ); +Word40 L40_shr_r( Word40 L40_var1, Word16 var2 ); +Word40 L40_shl( Word40 L40_var1, Word16 var2 ); +Word40 L40_shl_r( Word40 L40_var1, Word16 var2 ); + +static __inline Word40 L40_mult( Word16 var1, Word16 var2 ); + +static __inline Word40 L40_mac( Word40 L40_var1, Word16 var1, Word16 var2 ); +static __inline Word16 mac_r40( Word40 L40_var1, Word16 var1, Word16 var2 ); + +static __inline Word40 L40_msu( Word40 L40_var1, Word16 var1, Word16 var2 ); +static __inline Word16 msu_r40( Word40 L40_var1, Word16 var1, Word16 var2 ); + + +void Mpy_32_16_ss( Word32 L_var1, Word16 var2, Word32 *L_varout_h, UWord16 *varout_l ); +void Mpy_32_32_ss( Word32 L_var1, Word32 L_var2, Word32 *L_varout_h, UWord32 *L_varout_l ); + + +Word40 L40_lshl( Word40 L40_var1, Word16 var2 ); +Word40 L40_lshr( Word40 L40_var1, Word16 var2 ); + +static __inline Word40 L40_set( Word40 L40_var1 ); +static __inline UWord16 Extract40_H( Word40 L40_var1 ); +static __inline UWord16 Extract40_L( Word40 L40_var1 ); +static __inline UWord32 L_Extract40( Word40 L40_var1 ); + +static __inline Word40 L40_deposit_h( Word16 var1 ); +static __inline Word40 L40_deposit_l( Word16 var1 ); +static __inline Word40 L40_deposit32( Word32 L_var1 ); + +static __inline Word40 L40_round( Word40 L40_var1 ); +static __inline Word16 round40( Word40 L40_var1 ); + + +Word40 L40_add( Word40 L40_var1, Word40 L40_var2 ); +Word40 L40_sub( Word40 L40_var1, Word40 L40_var2 ); +Word40 L40_abs( Word40 L40_var1 ); +Word40 L40_negate( Word40 L40_var1 ); +Word40 L40_max( Word40 L40_var1, Word40 L40_var2 ); +Word40 L40_min( Word40 L40_var1, Word40 L40_var2 ); +Word32 L_saturate40( Word40 L40_var1 ); +Word16 norm_L40( Word40 L40_var1 ); + +#ifdef BASOP_NOGLOB +/* + * Overflowing operators + */ +Word40 L40_shl_o( Word40 L40_var1, Word16 var2, Flag *Overflow ); +Word40 L40_add_o( Word40 L40_var1, Word40 L40_var2, Flag *Overflow ); +Word40 L40_sub_o( Word40 L40_var1, Word40 L40_var2, Flag *Overflow ); +Word32 L_saturate40_o( Word40 L40_var1, Flag *Overflow ); +#endif /* BASOP_NOGLOB */ + +/*#ifdef _MSC_VER*/ +static __inline Word40 L40_set( Word40 L40_var1 ) +{ + Word40 L40_var_out; + +#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) + L40_var_out = L40_var1 & 0x000000ffffffffff; + + if ( L40_var1 & 0x8000000000 ) + L40_var_out = L40_var_out | 0xffffff0000000000; +#else + L40_var_out = L40_var1 & 0x000000ffffffffffLL; + + if ( L40_var1 & 0x8000000000LL ) + L40_var_out = L40_var_out | 0xffffff0000000000LL; +#endif + + + return ( L40_var_out ); +} +/*#endif*/ /* ifdef _MSC_VER */ + + +static __inline UWord16 Extract40_H( Word40 L40_var1 ) +{ + UWord16 var_out; + + var_out = (UWord16) ( L40_var1 >> 16 ); + + + return ( var_out ); +} + + +static __inline UWord16 Extract40_L( Word40 L40_var1 ) +{ + UWord16 var_out; + + var_out = (UWord16) ( L40_var1 ); + + + return ( var_out ); +} + + +static __inline UWord32 L_Extract40( Word40 L40_var1 ) +{ + UWord32 L_var_out; + + L_var_out = (UWord32) L40_var1; + + + return ( L_var_out ); +} + + +static __inline Word40 L40_deposit_h( Word16 var1 ) +{ + Word40 L40_var_out; + + L40_var_out = ( (Word40) var1 ) << 16; + +#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) + if ( var1 & 0x8000 ) + { + L40_var_out = L40_set( L40_var_out | 0xff00000000 ); +#else + if ( var1 & 0x8000 ) + { + L40_var_out = L40_set( L40_var_out | 0xff00000000LL ); +#endif + } + + + return ( L40_var_out ); +} + + +static __inline Word40 L40_deposit_l( Word16 var1 ) +{ + Word40 L40_var_out; + + L40_var_out = var1; + +#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) + if ( var1 & 0x8000 ) + { + L40_var_out = L40_set( L40_var_out | 0xffffff0000 ); +#else + if ( var1 & 0x8000 ) + { + L40_var_out = L40_set( L40_var_out | 0xffffff0000LL ); +#endif + } + + + return ( L40_var_out ); +} + + +static __inline Word40 L40_deposit32( Word32 L_var1 ) +{ + Word40 L40_var_out; + + L40_var_out = (Word40) L_var1; + +#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) + if ( L_var1 & 0x80000000 ) + { + L40_var_out = L40_set( L40_var_out | 0xff00000000 ); +#else + if ( L_var1 & 0x80000000 ) + { + L40_var_out = L40_set( L40_var_out | 0xff00000000LL ); +#endif + } + + + return ( L40_var_out ); +} + + +static __inline Word40 L40_round( Word40 L40_var1 ) +{ + Word40 L40_var_out; + Word40 L40_constant; + +#if defined( _MSC_VER ) && ( _MSC_VER <= 1200 ) + L40_constant = L40_set( 0xffffff0000 ); +#else + L40_constant = L40_set( 0xffffff0000LL ); +#endif + + L40_var_out = L40_add( 0x8000, L40_var1 ); + L40_var_out = L40_var_out & L40_constant; + + + return ( L40_var_out ); +} + + +static __inline Word16 round40( Word40 L40_var1 ) +{ + Word16 var_out; + + var_out = extract_h( L_saturate40( L40_round( L40_var1 ) ) ); + + + return ( var_out ); +} + + +static __inline Word40 L40_mult( Word16 var1, Word16 var2 ) +{ + Word32 L_var_out; + Word40 L40_var_out; + + L_var_out = (Word32) var1 * (Word32) var2; + L40_var_out = (Word40) L_var_out; + + /* Below line can not overflow, so we can use << instead of L40_shl. */ + L40_var_out = L40_var_out << 1; + + + return ( L40_var_out ); +} + + +static __inline Word40 L40_mac( Word40 L40_var1, Word16 var2, Word16 var3 ) +{ + Word40 L40_var_out; + + L40_var_out = L40_mult( var2, var3 ); + L40_var_out = L40_add( L40_var1, L40_var_out ); + + + return ( L40_var_out ); +} + + +static __inline Word16 mac_r40( Word40 L40_var1, Word16 var2, Word16 var3 ) +{ + Word40 L40_var_out; + Word16 var_out; + + L40_var_out = L40_mac( L40_var1, var2, var3 ); + var_out = round40( L40_var_out ); + + + return ( var_out ); +} + + +static __inline Word40 L40_msu( Word40 L40_var1, Word16 var2, Word16 var3 ) +{ + Word40 L40_var_out; + + L40_var_out = L40_mult( var2, var3 ); + L40_var_out = L40_sub( L40_var1, L40_var_out ); + + + return ( L40_var_out ); +} + + +static __inline Word16 msu_r40( Word40 L40_var1, Word16 var2, Word16 var3 ) +{ + Word40 L40_var_out; + Word16 var_out; + + L40_var_out = L40_msu( L40_var1, var2, var3 ); + var_out = round40( L40_var_out ); + + + return ( var_out ); +} + + +#endif /*_ENH40_H*/ + + +/* end of file */ diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h new file mode 100644 index 0000000000..4a9ce1e080 --- /dev/null +++ b/lib_com/ivas_cnst.h @@ -0,0 +1,1602 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_CNST_H +#define IVAS_CNST_H + +#include <stdint.h> +#include "options.h" +#include "cnst.h" +#include "ivas_error.h" + +/* clang-format off */ + +/*----------------------------------------------------------------------------------* + * mathematical constants + *----------------------------------------------------------------------------------*/ + +#define PI_OVER_2 ( EVS_PI / 2.0f ) +#define PI_OVER_180 ( EVS_PI / 180.0f ) +#define _180_OVER_PI ( 180.0f / EVS_PI ) + +#define SQRT2 1.414213562373095f +#define SQRT2_OVER_2 (SQRT2 / 2.0f) + +#define INV_SQRT2 7.071067811865475e-1f /* 1/sqrt(2) */ +#define INV_SQRT3 0.577350269189626f /* 1/sqrt(3) */ + +#define LOG_10 2.30258509299f + + +/*----------------------------------------------------------------------------------* + * IVAS formats + *----------------------------------------------------------------------------------*/ + +typedef enum +{ + UNDEFINED_FORMAT, + MONO_FORMAT, /* EVS mono processing */ + STEREO_FORMAT, /* IVAS stereo format */ + ISM_FORMAT, /* IVAS ISM (objects-coding) format */ + SBA_FORMAT, /* IVAS SBA (ambisonics) format */ + MASA_FORMAT, /* IVAS MASA format */ + MC_FORMAT, /* IVAS multi-channel format */ + +} IVAS_FORMAT; + + +/*----------------------------------------------------------------------------------* + * IVAS format signaling + *----------------------------------------------------------------------------------*/ + +#define IVAS_FORMAT_SIGNALING_NBITS 2 /* number of bits for signaling the IVAS format */ +#define IVAS_FORMAT_SIGNALING_NBITS_SBA ( IVAS_FORMAT_SIGNALING_NBITS + 1 ) + + +/*----------------------------------------------------------------------------------* + * IVAS output audio configurations + *----------------------------------------------------------------------------------*/ + +typedef enum +{ + AUDIO_CONFIG_INVALID, + AUDIO_CONFIG_MONO, /* mono output */ + AUDIO_CONFIG_STEREO, /* stereo output */ + AUDIO_CONFIG_5_1, /* 5.1 speakers layout CICP6 */ + AUDIO_CONFIG_7_1, /* 7.1 speakers layout CICP12 */ + AUDIO_CONFIG_5_1_2, /* 5.1+2 speakers layout CICP14 */ + AUDIO_CONFIG_5_1_4, /* 5.1+4 speakers layout CICP16 */ + AUDIO_CONFIG_7_1_4, /* 7.1+4 speakers layout CICP19 */ + AUDIO_CONFIG_LS_CUSTOM, /* custom loudspeaker layout */ + AUDIO_CONFIG_FOA, /* ambisonics, order 1 */ + AUDIO_CONFIG_HOA2, /* ambisonics, order 2 */ + AUDIO_CONFIG_HOA3, /* ambisonics, order 3 */ + AUDIO_CONFIG_OBA, /* object based audio */ + AUDIO_CONFIG_BINAURAL, /* binaural with HRIR */ + AUDIO_CONFIG_BINAURAL_ROOM, /* binaural with HRIR and BRIR */ + AUDIO_CONFIG_ISM1, /* ISM1 */ + AUDIO_CONFIG_ISM2, /* ISM2 */ + AUDIO_CONFIG_ISM3, /* ISM3 */ + AUDIO_CONFIG_ISM4, /* ISM4 */ + AUDIO_CONFIG_MASA1, /* MASA1 */ + AUDIO_CONFIG_MASA2, /* MASA2 */ + AUDIO_CONFIG_EXTERNAL /* external renderer */ + +} AUDIO_CONFIG; + +#ifdef DEBUGGING +typedef enum +{ + RENDER_TYPE_OVERRIDE_NONE, + RENDER_TYPE_OVERRIDE_CREND, + RENDER_TYPE_OVERRIDE_FASTCONV +} ivas_renderTypeOverride; +#endif + +/*----------------------------------------------------------------------------------* + * IVAS rendering configurations + *----------------------------------------------------------------------------------*/ + +/* Rendering convention rules: + * 1) "st_ivas->renderer_type" reflects always the last rendering stage in the processing + * 2) in some configurations, more rendering stages are used + * - renderers at the last stage, like RENDERER_BINAURAL_xxx, consider uniquely "st_ivas->hOutputSetup" + * - renderers that can be followed by an additional rendering stage, e.g. RENDERER_DIRAC, consider uniquely "st_ivas->hIntSetup" + * 3) in case of a single rendering stage: "hIntSetup=hOutputSetup" + * 4) In case of no rendering stage: "hTransSetup=hIntSetup=hOutputSetup" */ + +typedef enum +{ + RENDERER_DISABLE, + RENDERER_TD_PANNING, + RENDERER_BINAURAL_FASTCONV, + RENDERER_BINAURAL_FASTCONV_ROOM, + RENDERER_BINAURAL_PARAMETRIC, + RENDERER_BINAURAL_PARAMETRIC_ROOM, + RENDERER_BINAURAL_OBJECTS_TD, + RENDERER_DIRAC, + RENDERER_MC, + RENDERER_MC_PARAMMC, + RENDERER_SBA_LINEAR_DEC, + RENDERER_SBA_LINEAR_ENC, + RENDERER_STEREO_PARAMETRIC, + RENDERER_MONO_DOWNMIX, + RENDERER_MCMASA_MONO_STEREO, + RENDERER_PARAM_ISM, + RENDERER_BINAURAL_MIXER_CONV, + RENDERER_BINAURAL_MIXER_CONV_ROOM + +} RENDERER_TYPE; + +/*----------------------------------------------------------------------------------* + * IVAS general constants + *----------------------------------------------------------------------------------*/ + +#define MAX_INPUT_CHANNELS 16 /* Maximum number of input channels (HOA 3rd order) */ +#define MAX_TRANSPORT_CHANNELS 12 /* Maximum number of transport channels */ +#define MAX_INTERN_CHANNELS 16 /* Maximum number of intern channels (HOA 3rd order) */ +#define HEAD_ROTATION_HOA_ORDER 3 /* HOA 3rd order */ +#define MAX_CICP_CHANNELS 16 /* max channels for loudspeaker layouts (16 for custom layouts)*/ +#define MAX_OUTPUT_CHANNELS 16 /* Maximum number of output channels (HOA 3rd order) */ + +#define BINAURAL_CHANNELS 2 /* number of channels for binaural output configuration */ +#define CPE_CHANNELS 2 /* number of CPE (stereo) channels */ +#define FOA_CHANNELS 4 /* number of FOA channels */ +#define MAX_NUM_OBJECTS 4 /* max. number of audio objects */ + +#define MAX_SCE MAX_NUM_OBJECTS /* max. number of SCEs */ +#define MAX_CPE ( MAX_TRANSPORT_CHANNELS / CPE_CHANNELS ) /* max. number of CPEs */ + +#define MAX_BITS_METADATA 2640 /* max. bit-budget of metadata, one channel */ /* IVAS_fmToDo: to be confirmed for final value once mature */ +#define MAX_NUM_METADATA max( 2, MAX_NUM_OBJECTS ) /* number of max. metadata (now only 2 for DirAC) */ + + +#define IVAS_ENC_DELAY_NS ACELP_LOOK_NS +#define IVAS_DEC_DELAY_NS 3250000L /* 3.25 ms: IVAS decoder delay (without renderer delay) */ + +#define DELAY_FB_1_NS 1000000L /* 1.00 ms: filter-bank delay */ +#define DELAY_FB_4_NS 4000000L /* 4.00 ms: filter-bank delay */ + +#define IVAS_FB_ENC_DELAY_NS DELAY_FB_1_NS /* 1.00 ms: IVAS encoder filter-bank delay */ +#define IVAS_FB_DEC_DELAY_NS 5000000L /* 5.00 ms: IVAS decoder/renderer filter-bank delay */ + +#define IVAS_MAX_SBA_ORDER 3 /* Maximum supported Ambisonics order */ + +#define IVAS_LIMITER_THRESHOLD 32729 /* -0.01 dBFS */ +#define IVAS_LIMITER_ATTACK_SECONDS 0.005f +#define IVAS_NUM_SUPPORTED_FS 3 /* number of supported sampling-rates in IVAS */ + +/*----------------------------------------------------------------------------------* + * IVAS Bitrates + *----------------------------------------------------------------------------------*/ + +#define IVAS_SID_5k2 5200 /* SID frame bitrate */ +#define IVAS_13k2 13200 +#define IVAS_16k4 16400 +#define IVAS_24k4 24400 +#define IVAS_32k 32000 +#define IVAS_48k 48000 +#define IVAS_64k 64000 +#define IVAS_80k 80000 +#define IVAS_96k 96000 +#define IVAS_128k 128000 +#define IVAS_160k 160000 +#define IVAS_192k 192000 +#define IVAS_256k 256000 +#define IVAS_384k 384000 +#define IVAS_512k 512000 + +#define IVAS_BRATE_MAX IVAS_512k + +#define SIZE_IVAS_BRATE_TBL 16 +#define IVAS_NUM_ACTIVE_BRATES (SIZE_IVAS_BRATE_TBL - 2) + +/*----------------------------------------------------------------------------------* + * IVAS modes : IVAS SCE, IVAS CPE modes (DFT, TD, MDCT stereo) + *----------------------------------------------------------------------------------*/ + +#define EVS_MONO 0 /* EVS Mono BE operating mode */ +#define IVAS_SCE 1 /* IVAS SCE */ +#define IVAS_CPE_DFT 2 /* IVAS CPE: DFT-based parametric stereo */ +#define IVAS_CPE_TD 3 /* IVAS CPE: TD stereo */ +#define IVAS_CPE_MDCT 4 /* IVAS CPE: MDCT-based stereo */ + +#define MIN_BRATE_MDCT_STEREO IVAS_48k /* min. CPE bitrate where MDCT stereo is supported in stereo format coding */ + +#define PCA_BRATE IVAS_256k /* PCA supported bitrate */ + +#define NBITS_ELEMENT_MODE 1 /* number of bits to encode the stereo element mode */ +#define NBITS_BWIDTH 2 /* number of bits to encode all audio bandwidths */ + +/* format signaling in SID frames */ +#define SID_FORMAT_NBITS 3 /* Bit 0 | Bit 1 | Bit 2 */ + /*-------|-------|------ */ +#define SID_DFT_STEREO 0x0 /* 0| 0| 0 */ +#define SID_MDCT_STEREO 0x1 /* 1| 0| 0 */ +#define SID_ISM 0x2 /* 0| 1| 0 */ +#define SID_MASA_1TC 0x3 /* 1| 1| 0 */ +#define SID_MULTICHANNEL 0x4 /* 0| 0| 1 */ +#define SID_SBA_1TC 0x5 /* 1| 0| 1 */ +#define SID_SBA_2TC 0x6 /* 0| 1| 1 */ +#define SID_MASA_2TC 0x7 /* 1| 1| 1 */ + +/*----------------------------------------------------------------------------------* + * IVAS ACELP core constants + *----------------------------------------------------------------------------------*/ + +#define MIN_UNVOICED_TWO_STAGE_BRATE 7050 /* min. per channel bitrate where two stages UNVOICED is supported */ +#define MAX_UNVOICED_BRATE ACELP_13k20 /* max. per channel bitrate where UNVOICED is supported */ +#define MAX_VOICED_BRATE ACELP_13k20 /* max. per channel bitrate where VOICED is supported */ +#define MIN_TC_BRATE 6450 /* min. per channel bitrate where TRANSITION is supported */ +#define MAX_ACELP_BRATE 48000 /* max. per channel bitrate where ACELP core is supported */ + +#define ACELP_12k8_HIGH_LIMIT 24350 /* max. per channel bitrate where the ACELP@12.8kHz is supported */ +#define ACELP_16k_LOW_LIMIT 13250 /* min. per channel bitrate where the ACELP@16kHz is supported */ +#define SCE_CORE_16k_LOW_LIMIT 17000 /* min. SCE bitrate where the ACELP@16kHz is supported; must be >= (ACELP_16k_LOW_LIMIT + SWB_TBE_1k6) */ +#define MIN_BRATE_AVQ_EXC ACELP_29k00 /* min. per channel bitrate where the AVQ excitation stage is supported */ +#define MAX_BRATE_AVQ_EXC_TD 40000 /* max. per channel bitrate where the AVQ excitation stage in time domain is supported */ + +#define MAX_GSC_INACTIVE_BRATE 28000 /* max. per channel bitrate where GSC Inactive (@16kHz) is supported (max. 31950 to ensure BE with EVS mono) */ + +#define FRMT_SHP_MIN_BRATE_IVAS 18000 /* min. bitrate where formant-sharpening flag is transmitted; applies both to SCE and CPE */ + +#define CNA_MAX_BRATE_STEREO IVAS_16k4 /* max. stereo bitrate where CNA is supported */ +#define CNA_MAX_BRATE_DFT_STEREO IVAS_32k /* max. stereo bitrate where CNA is supported in DFT stereo */ + +#define MIN_BRATE_WB_BWE 7150 /* min. per channel bitrate where WB BWE info is encoded */ +#define MIN_BRATE_SWB_BWE 7800 /* min. per channel bitrate where SWB BWE info is encoded */ + +#define MIN_BRATE_GSC_NOISY_FLAG 12000 /* min. per channel bitrate where gsc_noisy_flag in SWB is supported */ +#define GSC_L_RATE_STG 15000 /* bitrate below will use low rate GSC settings */ +#define GSC_H_RATE_STG 20000 /* bitrates above will use high rate GSC settings */ + +#define MIN_BRATE_SWB_SCE ACELP_9k60 /* min. SCE bitrate where SWB is supported */ +#define MIN_BRATE_SWB_STEREO IVAS_13k2 /* min. stereo bitrate where SWB is supported */ +#define MIN_BRATE_FB_STEREO IVAS_32k /* min. SCE and stereo bitrate where FB is supported */ + +#define MIN_TDM_BRATE_WB_TBE_1k05 12000 /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */ +#define MIN_BRATE_WB_TBE_1k05 9650 /* min. per channel bitrate where WB TBE @1.05 kbps is supported (0.35kbs at lower bitrates) */ +#define MIN_BRATE_SWB_TBE_1k60 13200 /* min. per channel bitrate where SWB TBE @1.60 kbps is supported (0.95 kbps at lower bitrates) */ +#define MIN_BRATE_SWB_TBE_2k80 24400 /* min. per channel bitrate where SWB TBE @2.80 kbps is supported */ +#define MIN_MIN_BRATE_LRTD_SWB_BWE 5000 + +#define STEREO_TCX_MIN_RATE 9000 /* TCX coding down to this per channel bitrate */ +#define STEREO_GSC_BIT_RATE_ALLOC 9200 +#define HQ_MDCTCLASS_CROSSOVER_BRATE 32000 /* MDCT classifier crossover bitrate between 24.4 and 32 kbps tunings*/ +#define HQ_BWE_CROSSOVER_BRATE 26000 /* HQ crossover bitrate between 24.4 and 32 kbps BWE tunings */ + + +/*----------------------------------------------------------------------------------* + * ISm Constants + *----------------------------------------------------------------------------------*/ + +#define ISM_NB_BITS_METADATA_NOMINAL ( ( SCE_CORE_16k_LOW_LIMIT - ACELP_16k_LOW_LIMIT ) / FRAMES_PER_SEC ) /* nominal number of metadata bits - used for configuration of Core-Coder modules */ + +#define ISM_METADATA_VAD_FLAG_BITS 1 +#define ISM_METADATA_FLAG_BITS 2 + +#define ISM_NO_META 0 +#define ISM_LOW_IMP 1 +#define ISM_MEDIUM_IMP 2 +#define ISM_HIGH_IMP 3 + +#define ISM_AZIMUTH_NBITS 7 +#define ISM_AZIMUTH_MIN -180.0f +#define ISM_AZIMUTH_MAX 180.0f +#define ISM_AZIMUTH_LOW_BORDER -140.0f +#define ISM_AZIMUTH_HIGH_BORDER 135.0f + +#define ISM_ELEVATION_NBITS 6 +#define ISM_ELEVATION_MIN -90.0f +#define ISM_ELEVATION_MAX 90.0f +#define ISM_ELEVATION_LOW_BORDER -70.0f +#define ISM_ELEVATION_HIGH_BORDER 65.0f +#define ISM_Q_STEP 2.5f +#define ISM_Q_STEP_BORDER 5.0f + +/* Parametric ISM */ +#define MAX_PARAM_ISM_NBANDS 11 +#define MAX_PARAM_ISM_NBANDS_WB 9 +#define MAX_PARAM_ISM_NBANDS_NB 7 +#define PARAM_ISM_MDFT_NO_SLOTS 4 +#define MAX_PARAM_ISM_NBLOCKS 1 +#define MAX_PARAM_ISM_WAVE 2 +#define PARAM_ISM_OBJ_IND_NBITS 2 +#define PARAM_ISM_POW_RATIO_NBITS 3 +#define PARAM_ISM_MAX_DMX 2 +#define PARAM_ISM_MAX_CHAN 16 +#define PARAM_ISM_HYS_BUF_SIZE 10 + +typedef enum +{ + ISM_MODE_NONE, + ISM_MODE_DISC, /* discrete ISM */ + ISM_MODE_PARAM /* parametric ISM */ +} ISM_MODE; + + +/* ISm metadata bitstream */ +enum +{ + IND_ISM_NUM_OBJECTS, + IND_ISM_METADATA_FLAG = IND_ISM_NUM_OBJECTS + MAX_NUM_OBJECTS, + IND_ISM_VAD_FLAG = IND_ISM_METADATA_FLAG + MAX_NUM_OBJECTS, + + /* ------------- loop for objects -------------- */ + TAG_ISM_LOOP_START = IND_ISM_VAD_FLAG + MAX_NUM_OBJECTS, + IND_ISM_AZIMUTH_DIFF_FLAG = TAG_ISM_LOOP_START, + IND_ISM_AZIMUTH = TAG_ISM_LOOP_START, + IND_ISM_ELEVATION_DIFF_FLAG = TAG_ISM_LOOP_START, + IND_ISM_ELEVATION = TAG_ISM_LOOP_START, + TAG_ISM_LOOP_END = TAG_ISM_LOOP_START + 100, /* IVAS_fmToDo: to be reviewed once the final metadata are defined */ + /* --------- end of loop for objects ----------- */ + + ISM_MAX_NUM_INDICES +}; + + +/*----------------------------------------------------------------------------------* + * DFT Stereo Constants + *----------------------------------------------------------------------------------*/ + +/* Coding configurations*/ +#define STEREO_DFT_DMX_ACTIVE 1 /* Enable true spatialization */ + +/* residual coding modes */ +#define STEREO_DFT_RES_COD_OFF 0 +#define STEREO_DFT_RES_COD_1kHz 1 /* use residual coding up to 1 kHz */ +#define STEREO_DFT_RES_COD_1_6kHz 2 /* use residual coding up to 1.6 kHz */ + +/* residual prediction modes */ +#define STEREO_DFT_RESPRED_OFF 0 +#define STEREO_DFT_RESPRED_STEFI 1 /* full-band stereo filling (above residual) */ +#define STEREO_DFT_RESPRED_ESF 2 /* enhanced stereo filling in LB, regular stereo filling in HB */ + +/* band resolution */ +#define STEREO_DFT_BAND_RES_HIGH 1 /* use higher band resolution following ERB4 scale */ +#define STEREO_DFT_BAND_RES_LOW 2 /* use lower band resolution following ERB8 scale */ + +/* Processing constants*/ +#define STEREO_DFT_OVL_NS ACELP_LOOK_NS /* 8.75ms */ +#define STEREO_DFT_ZP_NS 3125000L /* 3.125ms */ +#define STEREO_DFT_HOP_NS 10000000L /* 10ms */ +#define STEREO_DFT_N_NS ( STEREO_DFT_HOP_NS + ACELP_LOOK_NS + 2 * STEREO_DFT_ZP_NS ) + +#define STEREO_DFT_ZP_NS_ENC 5625000L /* 5.625ms */ +#define STEREO_DFT_HOP_NS_ENC FRAME_SIZE_NS /* 20ms */ +#define STEREO_DFT_N_NS_ENC ( STEREO_DFT_HOP_NS_ENC + ACELP_LOOK_NS + 2 * STEREO_DFT_ZP_NS_ENC ) + +#define STEREO_DFT_OVL_MAX NS2SA( 48000, ACELP_LOOK_NS ) +#define STEREO_DFT_HOP_MAX NS2SA( 48000, STEREO_DFT_HOP_NS ) + +#define STEREO_DFT_ZP_MAX_ENC NS2SA( 48000, STEREO_DFT_ZP_NS_ENC ) +#define STEREO_DFT_HOP_MAX_ENC NS2SA( 48000, STEREO_DFT_HOP_NS_ENC ) +#define STEREO_DFT_N_MAX_ENC NS2SA( 48000, STEREO_DFT_N_NS_ENC ) + +#define STEREO_DFT_OVL_32k NS2SA( 32000, ACELP_LOOK_NS ) + +#define STEREO_DFT_ZP_32k_ENC NS2SA( 32000, STEREO_DFT_ZP_NS_ENC ) +#define STEREO_DFT_HOP_32k_ENC NS2SA( 32000, STEREO_DFT_HOP_NS_ENC ) +#define STEREO_DFT_N_32k_ENC NS2SA( 32000, STEREO_DFT_N_NS_ENC ) + +#define STEREO_DFT_OVL_16k NS2SA( 16000, ACELP_LOOK_NS ) + +#define STEREO_DFT_ZP_16k_ENC NS2SA( 16000, STEREO_DFT_ZP_NS_ENC ) +#define STEREO_DFT_HOP_16k_ENC NS2SA( 16000, STEREO_DFT_HOP_NS_ENC ) +#define STEREO_DFT_N_16k_ENC NS2SA( 16000, STEREO_DFT_N_NS_ENC ) + +#define STEREO_DFT_OVL_12k8 NS2SA( 12800, ACELP_LOOK_NS ) + +#define STEREO_DFT_ZP_12k8_ENC NS2SA( 12800, STEREO_DFT_ZP_NS_ENC ) +#define STEREO_DFT_HOP_12k8_ENC NS2SA( 12800, STEREO_DFT_HOP_NS_ENC ) +#define STEREO_DFT_N_12k8_ENC NS2SA( 12800, STEREO_DFT_N_NS_ENC ) + +#define STEREO_DFT_OVL_8k NS2SA( 8000, ACELP_LOOK_NS ) +#define STEREO_DFT_N_8k NS2SA( 8000, STEREO_DFT_N_NS ) + +#define STEREO_DFT_ZP_8k_ENC NS2SA( 8000, STEREO_DFT_ZP_NS_ENC ) +#define STEREO_DFT_HOP_8k_ENC NS2SA( 8000, STEREO_DFT_HOP_NS_ENC ) +#define STEREO_DFT_N_8k_ENC NS2SA( 8000, STEREO_DFT_N_NS_ENC ) + +#define STEREO_DFT32MS_N_NS FRAME_SIZE_NS /* 20 ms */ +#define STEREO_DFT32MS_OVL_NS 3125000L /* 3.125ms - Overlap for the outer edges of windows on decoder */ +#define STEREO_DFT32MS_OVL2_NS 9375000L /* 9.375ms - Overlap for the inner edges of windows on decoder */ +#define STEREO_DFT32MS_WIN_CENTER_NS ( int32_t )( ( FRAME_SIZE_NS + STEREO_DFT32MS_OVL_NS ) * 0.5f ) /* 11.5625ms - mid point of the two windows wrt the left edge of overlap */ +#if defined( DEBUG_MODE_DFT ) || defined( DEBUG_STEREO_DFT_NOCORE ) +#define STEREO_DFT32MS_HOP_NS 10000000L /* 10ms */ +#endif +#define STEREO_DFT32MS_ZP_NS ( int32_t )( 0.5f * ( STEREO_DFT32MS_N_NS - STEREO_DFT32MS_WIN_CENTER_NS - ( STEREO_DFT32MS_OVL2_NS * 0.5f ) ) ) /* 2 sided zp calculated such that window size is satisfied */ + +#define STEREO_DFT32MS_OVL_MAX NS2SA( 48000, STEREO_DFT32MS_OVL_NS ) +#define STEREO_DFT32MS_OVL2_MAX NS2SA( 48000, STEREO_DFT32MS_OVL2_NS ) +#define STEREO_DFT32MS_N_MAX NS2SA( 48000, STEREO_DFT32MS_N_NS ) + +#define STEREO_DFT32MS_N_32k NS2SA( 32000, STEREO_DFT32MS_N_NS ) + +#define STEREO_DFT32MS_OVL_16k NS2SA( 16000, STEREO_DFT32MS_OVL_NS ) +#define STEREO_DFT32MS_OVL2_16k NS2SA( 16000, STEREO_DFT32MS_OVL2_NS ) +#define STEREO_DFT32MS_N_16k NS2SA( 16000, STEREO_DFT32MS_N_NS ) + +#define STEREO_DFT32MS_OVL_12k8 NS2SA( 12800, STEREO_DFT32MS_OVL_NS ) +#define STEREO_DFT32MS_OVL2_12k8 NS2SA( 12800, STEREO_DFT32MS_OVL2_NS ) +#define STEREO_DFT32MS_N_12k8 NS2SA( 12800, STEREO_DFT32MS_N_NS ) + +#define STEREO_DFT32MS_OVL_8k NS2SA( 8000, STEREO_DFT32MS_OVL_NS ) +#define STEREO_DFT32MS_OVL2_8k NS2SA( 8000, STEREO_DFT32MS_OVL2_NS ) +#define STEREO_DFT32MS_N_8k NS2SA( 8000, STEREO_DFT32MS_N_NS ) + +#define STEREO_DFT32MS_STEP 3 /* STEREO_DFT32MS_OVL2_NS / STEREO_DFT32MS_OVL_NS */ +#define STEREO_DFT_TRIGO_DEC_STEP 2 +#define STEREO_DFT_TRIGO_SRATE_8k_STEP 4 +#define STEREO_DFT_TRIGO_SRATE_12k8_STEP 1 +#define STEREO_DFT_TRIGO_SRATE_16k_STEP 2 +#define STEREO_DFT_TRIGO_SRATE_32k_STEP 1 +#define STEREO_DFT_TRIGO_SRATE_48k_STEP 1 + +#define STEREO_DFT_OFFSET 1 +#define STEREO_DFT_NBDIV 2 + +#ifdef FIX_ITD_CNG +#define STEREO_DFT_ITD_CNG_XFADE 100 +#define STEREO_DFT_ITD_CNG_XFADE_RESET 2 +#endif + +#define STEREO_DFT_DELAY_DEC_BWE_NS ( STEREO_DFT_OFFSET * STEREO_DFT_HOP_NS - ACELP_LOOK_NS ) /* 1.25ms/2.5ms: max delay for core decoder*/ + +#define STEREO_DFT_ENC_DFT_NB ( STEREO_DFT_OFFSET + 1 ) /*frame + lookahead*/ +#define STEREO_DFT_DEC_DFT_NB ( STEREO_DFT_NBDIV + STEREO_DFT_OFFSET ) /*frame + lookahead*/ + +#define STEREO_CNA_LR_CORR_LT_FILT 0.95f /* long-term averaging factor for L/R correlation estimation */ +#define STEREO_CNA_ILD_LT_FILT 0.9f /* long-term averaging factor for ILD estimation */ + +typedef enum +{ + DFT_STEREO_DEC_ANA_NOCORE = -1, /*-1: signal read from file (DEBUG mode)*/ + DFT_STEREO_DEC_ANA_FB, /* 0: full-band signal (e.g. HQ-CORE/TCX (M), residual (S))*/ + DFT_STEREO_DEC_ANA_FB_ADD, /* 1: full-band signal to add (e.g High-band signal of TD-BWE)*/ + DFT_STEREO_DEC_ANA_BPF, /* 2: Bass-post-filter error signal, to add and weight*/ + DFT_STEREO_DEC_ANA_LB, /* 3: low-band signal (e.g. ACELP (M), resiudal signal (S))*/ + DFT_STEREO_DEC_ANA_LB_ADD, /* 4: low-band signal to add (e.g. LB-TCX)*/ + DFT_STEREO_DEC_ANA_HB_ADD /* 5: high-band signal to add (e.g. transition to ACELP in MDCT->DFT switching) */ +} DFT_STEREO_DEC_ANA_TYPE; + +/*Stereo parameters*/ + +#define STEREO_DFT_ERB4_BANDS 14 +#define STEREO_DFT_ERB8_BANDS 8 +#define STEREO_DFT_BAND_MAX ( STEREO_DFT_ERB4_BANDS - 1 ) /*Maximum number of parameter bands*/ +#define STEREO_DFT_BUF_MAX STEREO_DFT32MS_N_MAX * STEREO_DFT_NBDIV + +#define STEREO_DFT_NRG_PAST_LEN 3 + +/*ITD*/ +#define STEREO_DFT_ITD_FS 32000 +#define STEREO_DFT_ITD_MAX 160 /*samples @ 32000*/ +#define STEREO_DFT_ITD_MAX_ANA 200 +#define STEREO_DFT_ITD_MIN max( STEREO_DFT_ITD_MAX - 256 + 1, 1 ) /*STEREO_DFT_ITD_MAX-pow(2,STEREO_DFT_ITD_NBITS-1)+1*/ +#define STEREO_DFT_ITD_NBITS 9 /* 1 bit for sign, the rest for the absolute value*/ +#define STEREO_DFT_ITD_MODE_NBITS 1 + +#define STEREO_DFT_SID_ITD_NBITS 4 /* Number of ITD bits SID frames */ +#define STEREO_DFT_SID_ITD_FAC 1 /* Quantization step reduction factor */ + +#define STEREO_DFT_FLAG_BITS 1 +#define STEREO_DFT_SIDEGAIN_NBITS 5 +#define STEREO_DFT_FEC_THRESHOLD 10 +#define STEREO_DFT_BITDIFF_LP_FAC (0.06f) /* Low-pass filter coefficient for filtering bit difference between absolute and differential coding */ +#define STEREO_DFT_BITDIFF_ABS_SELECT (0.8f) /* Constant to set tendency for selecting absolute coding mode */ +#define STEREO_DFT_BITDIFF_INIT (12.0f) /* Init value for low-pass bit difference */ + +#define STEREO_DFT_SIDE_GAIN_NBITS 5 +#define STEREO_DFT_IPD_NBITS 3 +#define STEREO_DFT_GIPD_NBITS 4 + +#define STEREO_DFT_ITD_VAD_BAND_NUM 20 + +#define STEREO_DFT_XCORR_LB_MAX 24 + +#define STEREO_DFT_N_COH_PRED 4 /* Number of intra-frame predictors for coherence vector */ +#define STEREO_DFT_COH_PRED_COEFFS 15 /* Number of coefficients per predictor */ +#define STEREO_DFT_PRED_NBITS 2 /* Bits to signal predictor (log_2(4) = 2) */ +#define STEREO_DFT_N_COH_ALPHA_STEPS 5 +#define STEREO_DFT_N_COH_ALPHA_LEVELS 2 +#define STEREO_DFT_N_COH_ALPHA_BITS 1 +#define STEREO_DFT_SG_ACT_CNT_MAX 1500 +#define STEREO_DFT_COH_MAXBAND 6 +#define STEREO_DFT_SID_GIPD_NBITS 2 +#define STEREO_DFT_FD_FILT 0.9f + +#ifdef FIX_ITD_CNG +#define STEREO_DFT_CNG_ITD_CNT 8 +#endif + +/*Residual prediction*/ +#define STEREO_DFT_PAST_MAX 4 +#define STEREO_DFT_RES_PRED_BAND_MAX 12 + +#define STEREO_DFT_REVERB_MODE_NBITS 1 +#define STEREO_DFT_RES_PRED_BAND_MIN 0 +#define STEREO_DFT_RES_PRED_BAND_MIN_RED 3 +#define STEREO_DFT_RES_PRED_BAND_MIN_CONST 3 + +#define STEREO_DFT_ALLPASS_BUFFERLEN 256 +#define STEREO_DFT_ALLPASS_FADELEN_12k8 32 +#define STEREO_DFT_ALLPASS_FADELEN_16k 40 +#define STEREO_DFT_CORE_HIST_MAX ( STEREO_DFT_PAST_MAX + 3 ) / 2 +#define STEREO_DFT_TD_STEFI_DELAY_NS FRAME_SIZE_NS + IVAS_DEC_DELAY_NS - DELAY_BWE_TOTAL_NS +#define STEREO_DFT_TD_STEFI_SUBFR_DELAY 2 + +/*Residual coding*/ +#define STEREO_DFT_N_MAX_RES 800 /* Maximum of lines coded in residual coding */ +#define STEREO_DFT_RES_GLOBAL_GAIN_BITS 7 +#define STEREO_DFT_RES_GAINS_BITS 3 + +#define STEREO_DFT_RES_COD_SNR_MIN 10 +#define STEREO_DFT_RES_COD_SNR_MAX 40 +#define STEREO_DFT_L_SUBFR_8k 32 +#define STEREO_DFT_NBPSF_PIT_MAX_8k NBPSF_PIT_MAX / 2 + +/* Residual coding BPF */ +#define STEREO_DFT_BPF_ADAPT_ALPHA (0.61f) +#define STEREO_DFT_BPF_ADAPT_BETA (0.68f) + +/* Golomb-Rice encoding */ +#define NO_SYMB_GR_SIDE_G 31 +#define NO_SYMB_GR_PRED_G 8 + +#define STEREO_DFT_RES_BW_MAX 66 /*Maximum number of bin for residual signal in each frame (res_cod_band_max == 6 in 48kHz)*/ +#define SBA_DIRAC_STEREO_NUM_BANDS 5 +#define SBA_DIRAC_NRG_SMOOTH_LONG 10 +#define SBA_DIRAC_NRG_SMOOTH_SHORT 3 + +/* PLC for DFT Stereo residual */ +#define STEREO_DFT_RES_N_PEAKS_MAX 15 /*Maximum number of peaks within residual signal in each frame (res_cod_band_max == 6 in 48kHz)*/ + +/* MDCT to DFT Stereo switching */ +#define STEREO_MDCT2DFT_FADE_LEN_48k L_FRAME48k / 8 + +/* DFT stereo side-info bitstream*/ +enum +{ + IND_STEREO_DFT_ATTACK_PRESENT, + IND_STEREO_DFT_RES_COD, + IND_STEREO_DFT_SIDEGAIN_FLAG, + + IND_STEREO_DFT_SIDEGAINS, + IND_STEREO_DFT_ITD_MODE = IND_STEREO_DFT_SIDEGAINS + 4 * STEREO_DFT_BAND_MAX + 72, + + IND_STEREO_DFT_ITD_HUFF, + IND_STEREO_DFT_ITD_NEG, + IND_STEREO_DFT_ITD_COD, + + IND_STEREO_DFT_NO_IPD_FLAG, + IND_STEREO_DFT_GIPD, + + IND_STEREO_DFT_IPD_FLAG, + IND_STEREO_DFT_IPD_COD, + + IND_STEREO_DFT_REVERB_MODE = IND_STEREO_DFT_IPD_COD + 4 * STEREO_DFT_BAND_MAX + 2, /* max number for GR order 2 */ + + IND_STEREO_DFT_RES_PRED_FLAG, + IND_STEREO_DFT_PRED_GAIN_COD, + + IND_STEREO_DFT_NON_USED = IND_STEREO_DFT_PRED_GAIN_COD + 4 * STEREO_DFT_RES_PRED_BAND_MAX + 2, /* max number for GR order 2 */ + + /* residual coding */ + IND_STEREO_DFT_RESIDUAL_GLOBAL_GAIN, + IND_STEREO_DFT_RESIDUAL_COD, + IND_STEREO_DFT_SID_COH = IND_STEREO_DFT_RESIDUAL_COD + 56, /* max possible number of indices for residual coding */ + + STEREO_DFT_MAX_NUM_INDICES = IND_STEREO_DFT_SID_COH + 6 /* max possible number of indices for coherence encoding */ +}; + + +/*----------------------------------------------------------------------------------* + * Range coder constants + *----------------------------------------------------------------------------------*/ + +#define RANGE_UNI_BUFFER_BYTES_MAX 1024 +#define RANGE_N_CONTEXT 64 +#define RANGE_N_SYMBOLS 17 + + +/*----------------------------------------------------------------------------------* + * ECLVQ Stereo constants + *----------------------------------------------------------------------------------*/ + +#define ECSQ_VECTOR_SIZE_MAX 256 +#define ECSQ_GLOBAL_GAIN_INDEX_ALL_ZERO 127 /* indicates that all values in the vector are zero */ + +#define ECLVQ_GLOBAL_GAIN_FACTOR ( 20.0f * 127.0f / 90.0f ) +#define ECLVQ_INV_GLOBAL_GAIN_FACTOR ( 1.0f / ( 20.0f * 127.0f / 90.0f ) ) + +/* the currently defined configuration indexes are: + 0: un-optimized using uniform 4 bit parameters (reserved) + 1: optimized for 32 kbps target SNR + 2: optimized for 32 kbps target bits + 3: optimized for 48 kbps target SNR + 4: optimized for 48 kbps target bits + 5: optimized for 64 kbps target SNR + 6: optimized for 64 kbps target bits +*/ + +#define ECSQ_CONFIG_COUNT 7 /* number of different configurations, such as bitrates or profiles */ +#define ECSQ_PARAM_COUNT 16 /* number of different coding distributions, the first indicates only zero values */ +#define ECSQ_ALL_ZERO_PARAM -1 /* the integer exponent of the first parameter indicating only zero values */ +#define ECSQ_PROB_BITS 14 /* number of bits used for representing the probabilities in the actual AC */ +#define ECSQ_PROB_TOTAL ( 1 << ECSQ_PROB_BITS ) /* total count used for representing the probabilities in the actual AC */ + +#define ECSQ_TAB_VALS_SIZE 16 /* 0, 1, 2, 3, ... */ +#define ECSQ_SEGMENT_SIZE 8 +#define ECSQ_log2TB_SIZE 13 +#define ECSQ_PARAM_SEARCH_RANGE 1 +#define ECSQ_NONZERO_MAX 3 + + +/*----------------------------------------------------------------------------------* + * UNCLR & cross-talk stereo classifiers + *----------------------------------------------------------------------------------*/ + +#define XTALK_SCORE_BUF_LEN 5 + +#define SSC_MAX_NFEA 58 /* Maximum number of features for stereo scene classification */ +#define SIZE_UNCLR_ISEL_TD 10 +#define SIZE_UNCLR_ISEL_DFT 8 + +#define SIZE_XTALK_ISEL_TD 17 +#define SIZE_XTALK_ISEL_DFT 11 + +#define UNCLR_L_ETOT 3 +#define UNCLR_L_RELE 10 +#define UNCLR_RC_ORDER 20 +#define MAX_UV_CNT 100 + +#define XTALK_PHAT_LEN 200 + +enum fea_names +{ + E_d_clas, E_d_pitch, E_d_voicing, E_sum_d_LSF, E_d_lepsP_13, E_d_cor_map_sum, E_d_dE1, E_d_nchar, + E_d_non_sta, E_d_ps_sta, E_d_ps_diff, E_d_sp_div, E_clas, E_pitch, E_voicing, E_lsf_1, + E_lsf_4, E_lsf_9, E_lsf_14, E_lepsP_13, E_cor_map_sum, E_dE1, E_nchar, E_non_sta, + E_ps_sta, E_ps_diff, E_sp_div, E_corrLagStats0, E_ica_corr_value0, E_ica_instTargetGain, + E_diff_corrLM_corrRM, E_tdm_LT_es_em, E_sum_prod, E_tdm_es_em, E_m_corrL_corrR, E_d_corrL_corrR, E_corrEst0, E_corrLagMax, + E_d_corrLagMax, E_corrEstMax, E_corrEst_ncorr,E_sum_xcorr, E_es_em, E_cohSNR, E_d_prodL_prodR, E_xcorr_itd_value, + E_angle_rot, E_g_pred, E_g_side, E_gainILD, E_gainIPD, E_IPD, E_d_IPD, E_ITD, + E_gphat_d_itd2, E_gphat_itd1_flip, E_gphat_ratio_m1_m2, E_gphat_m2_m2 +}; + + +/*----------------------------------------------------------------------------------* + * ICA Stereo constants + *----------------------------------------------------------------------------------*/ + +#define L_CH_INDX 0 +#define R_CH_INDX 1 +#define CORR_INTER_FS 8000 +#define L_NCSHIFT_NS 5000000L +#define L_MEM_RECALC_NS ( L_NCSHIFT_NS * 3 ) / 2 +#define L_MEM_RECALC_TBE_NS ( L_NCSHIFT_NS + L_SAMPLES_LA_NS ) +#define L_NCSHIFTMAX NS2SA( 48000, L_NCSHIFT_NS ) +#define L_DEC_MEM_LEN_ICA L_NCSHIFTMAX + ( N_MAX_SHIFT_CHANGE + 1 ) + SINC_ORDER1 / INTERP_FACTOR1 +#define L_FRAME_DS NS2SA( CORR_INTER_FS, FRAME_SIZE_NS ) +#define L_XCORRMEM_DS NS2SA( CORR_INTER_FS, 2 * ( ACELP_LOOK_NS ) ) +#define L_NCSHIFT_DS ( int16_t )( ( ( int32_t )(CORR_INTER_FS) *L_NCSHIFTMAX ) / 48000L ) +#define L_SAMPLES_LA_NS 625000L + +#define L_MEM_RECALC_TBE_16K NS2SA( 16000, L_MEM_RECALC_TBE_NS ) +#define L_MEM_RECALC_48K NS2SA( 48000, L_MEM_RECALC_NS ) +#define L_MEM_RECALC_12K8 NS2SA( 12800, L_MEM_RECALC_NS ) +#define L_MEM_RECALC_16K NS2SA( 16000, L_MEM_RECALC_NS ) +#define N_MAX_SHIFT_CHANGE 20 + +#define L_MEM_RECALC_SCH_NS ( ACELP_LOOK_NS + DELAY_FIR_RESAMPL_NS - L_MEM_RECALC_NS ) +#define L_MEM_RECALC_48k_SCH NS2SA( 48000, L_MEM_RECALC_SCH_NS ) + +#define INTERP_FACTOR1 2 +#define SINC_ORDER1 24 +#define L_SHIFT_ADAPT_MAX 596 /* must be a multiple of 2 */ +#define L_SHIFT_ADAPT_16k 290 /* must be a multiple of 2 */ + +#define STEREO_BITS_TCA_CHAN 1 /* ref/target channel index */ +#define STEREO_BITS_TCA_CORRSTATS 5 /* target corrStats */ +#define STEREO_BITS_TCA_GD 5 /* target gain */ +#define STEREO_TCA_GDMIN -1.0f +#define STEREO_TCA_GDSTEP 0.05f +#define STEREO_BITS_TCA ( STEREO_BITS_TCA_CHAN + STEREO_BITS_TCA_CORRSTATS + STEREO_BITS_TCA_GD ) + +#define STEREO_ICBWE_MSFLAG_BITS 1 /* BWE Multi Source flag */ + +#define STEREO_ICBWE_REFBITS 1 +#define STEREO_ICBWE_SPBITS 2 +#define STEREO_ICBWE_GSBITS 4 +#define STEREO_BITS_ICBWE ( STEREO_ICBWE_SPBITS + STEREO_ICBWE_GSBITS + STEREO_ICBWE_REFBITS ) + +#define STEREO_ICBWE_SPBITS_DFT 2 +#define STEREO_ICBWE_GSBITS_DFT 7 +#define STEREO_BITS_ICBWE_DFT ( STEREO_ICBWE_SPBITS_DFT + STEREO_ICBWE_GSBITS_DFT + STEREO_ICBWE_REFBITS ) + +#define MAX_DELAYREGLEN 12 /* max regression length */ +#define INV_MAX_DELAYREGLEN 0.083333333333333f /* (1/MAX_DELAYREGLEN) */ +#define MAX_INTERPOLATE 11 +#define ADDED_MEM_DS 40 + +#define STEREO_L_TCA_OVLP_NS 5000000L /* overlap length of the ICA gain scaling */ + + +/*----------------------------------------------------------------------------------* + * TD Stereo Constants + *----------------------------------------------------------------------------------*/ + +#define TDM_NQ ( 32 - 1 ) /* number of quantization steps of mixing factor */ +#define LRTD_STEREO_LEFT_IS_PRIM ( TDM_NQ - 1 ) /* Ratio index value indicating that left channel is coded as primary channel */ +#define LRTD_STEREO_RIGHT_IS_PRIM 0 /* Ratio index value indicating that right channel is coded as primary channel */ +#define LRTD_STEREO_QUARTER_RANGE ( ( TDM_NQ + 1 ) / 4 ) /* Ratio index value */ +#define LRTD_STEREO_MID_IS_PRIM ( ( TDM_NQ - 1 ) / 2 ) /* Ratio index value */ + +#define TDM_L_NOVA_NS 5000000L /* mixing overlap length */ + +#define TDM_SECONDARY_SIGNALLING 3 /* number of bits to code the signaling for secondary channel */ +#define TDM_RATIO_BITS 5 /* number of bits to code the correlation ratio */ +#define TDM_LP_REUSE_BITS 1 /* number of bits to code LP reuse flag for secondary channel */ +#define TDM_LR_CONTENT_BITS 1 /* number of bits to code flag when the content is LR or not */ +#define TDM_SIGNAL_BITS_READ_FROM_THE_END_OF_BS ( TDM_SECONDARY_SIGNALLING + TDM_RATIO_BITS + TDM_LP_REUSE_BITS + TDM_LR_CONTENT_BITS + STEREO_BITS_TCA ) +#ifdef LSF_RE_USE_SECONDARY_CHANNEL +#ifdef LSF_RE_USE_SECONDARY_CHANNEL_REUSEMODE +#define TDM_IC_LSF_PRED_BITS 1 /* Number of bits to code the inter channel lsf prediction mode */ +#endif +#endif + + +/*----------------------------------------------------------------------------------* + * MDCT Stereo Constants + *----------------------------------------------------------------------------------*/ + +/* MDCT stereo modes */ +#define SMDCT_MS_DECISION 0 +#ifdef DEBUG_FORCE_MDCT_STEREO_MODE +#define SMDCT_FORCE_LR 1 +#define SMDCT_FORCE_MS 2 +#endif + +#define MAX_SFB 70 /* Maximum number of stereo frequency bands = 64 + 6 for TCX after ACELP */ + +#define SMDCT_DUAL_MONO 0 /* Dual-mono MDCT Stereo */ +#define SMDCT_MS_FULL 1 /* MS MDCT Stereo */ +#define SMDCT_BW_MS 2 /* Band-wise MS MDCT Stereo */ + +#define SMDCT_MINIMUM_ARITH_BITS 17 /* Minimum bits to reserve for the arithmetic coder */ +#define SMDCT_GLOBAL_ILD_BITS 4 +#define SMDCT_ILD_RANGE ( 1 << SMDCT_GLOBAL_ILD_BITS ) /* Range of the coded ILD */ +#define SMDCT_NBBITS_SPLIT_RATIO 3 +#define SMDCT_BITRATE_RATIO_RANGE ( 1 << SMDCT_NBBITS_SPLIT_RATIO ) /* Range of the coded bitrate distribution ratio */ +#define SMDCT_EQUAL_RATIO_RANGE ( SMDCT_BITRATE_RATIO_RANGE >> 1 ) + +#define SMDCT_MAX_STEREO_BANDS_TCX20 44 +#define SMDCT_MAX_STEREO_BANDS_TCX10 33 + +#define MAX_MDCT_ITD_BRATE IVAS_64k + +#define SNS_LOW_BR_MODE -1 +#define SNS_NPTS 16 /* Number of downsampled SNS parameters */ + +#define MDCT_ST_PLC_FADEOUT_MIN_NOISE_NRG 0.001f +#define MDCT_ST_PLC_FADEOUT_MAX_CONC_FRAME 2 * FRAMES_PER_SEC +#define MDCT_ST_PLC_FADEOUT_TO_ZERO_LEN 20 + +typedef enum { + EQUAL_CORES, + TCX10_IN_0_TCX20_IN_1, + TCX20_IN_0_TCX10_IN_1, +} TONALMDCTCONC_NOISE_GEN_MODE; + +typedef enum { + ON_FIRST_LOST_FRAME, + ON_FIRST_GOOD_FRAME, +} TONALMDCTCONC_NOISE_SHAPE_WHITENING_MODE; + + +/*----------------------------------------------------------------------------------* + * MDFT FB Constants + *----------------------------------------------------------------------------------*/ + +#define MDFT_FB_BANDS_240 240 +#define CLDFB_TO_MDFT_FAC 4 +#define MDFT_NO_COL_MAX 4 + +/*----------------------------------------------------------------------------------* + * General Parametric Coding Constants + *----------------------------------------------------------------------------------*/ +// VE: this should be renamed to e.g. N_SPATIAL_SUBFRAMES +#define MAX_PARAM_SPATIAL_SUBFRAMES 4 /* Maximum number of subframes for parameteric spatial coding */ +#define L_SPATIAL_SUBFR_48k (L_FRAME48k / MAX_PARAM_SPATIAL_SUBFRAMES) + + +/*----------------------------------------------------------------------------------* + * SBA Constants + *----------------------------------------------------------------------------------*/ + +#define SBA_FOA_ORDER 1 +#define SBA_HOA2_ORDER 2 +#define SBA_HOA3_ORDER 3 + +#define SBA_PLANAR_BITS 1 +#define SBA_ORDER_BITS 2 + +#define SBA_MIN_BRATE_HOA IVAS_256k +#define SBA_NHARM_HOA3 16 +#define SBA_T_DESIGN_11_SIZE 70 +#define SBA_DTX_BITRATE_THRESHOLD IVAS_80k + +typedef enum +{ + SBA_MODE_NONE, + SBA_MODE_DIRAC, + SBA_MODE_SPAR, // VE: this is actually SBA_MODE_SPAR_DIRAC +} SBA_MODE; + + +/*----------------------------------------------------------------------------------* + * DirAC Constants + *----------------------------------------------------------------------------------*/ + +#define DIRAC_MAX_ANA_CHANS FOA_CHANNELS /* Maximum number of channels for DirAC analysis */ + +#define DIRAC_NUM_DIMS 3 /* number of directions to estimate (X,Y,Z) */ +#define DIRAC_MAX_NBANDS 12 /* Maximum number of frequency bands for the DirAC Side Parameter decoding */ +#define DIRAC_LOW_BANDRES_STEP 2 /* always combine two bands for low band resolution in the DirAC parameter coding */ +#define DIRAC_NO_COL_AVG_DIFF 32 /* Number of slots for averaging intensity vector for diffuseness computation */ +#define DIRAC_DIFFUSE_LEVELS 8 /* Size of the diffuseness alphabet (constant value) */ +#define DIRAC_DITH_SEED 29680 +#define DIRAC_MAX_BITS 512 /* Maximum number of bits for DirAC side information per frame */ +#define MAX_NUM_ENC_CLDFB_INSTANCES 8 /* Maximum Cldfb instances in DirAC encoder */ +#define DIRAC_NO_COL_AVG_DIFF_NS 40000000L +#define DIRAC_NO_FB_BANDS_MAX MDFT_FB_BANDS_240 +#define DELAY_DIRAC_ENC_CMP_NS_PARAM_ISM ( IVAS_ENC_DELAY_NS + IVAS_DEC_DELAY_NS ) /* == 12 ms */ + + +/* DirAC renderer setup */ +typedef enum +{ + DIRAC_SYNTHESIS_INVALID, + DIRAC_SYNTHESIS_PSD_LS, /* PSD renderer in loudspeakers domain */ + DIRAC_SYNTHESIS_GAIN_SHD, /* Gain renderer in Spherical Harmonic Domain*/ + DIRAC_SYNTHESIS_PSD_SHD, /* PSD renderer in Spherical Harmonic Domain*/ + DIRAC_SYNTHESIS_MONO, + DIRAC_SYNTHESIS_COV_MC_LS +} DIRAC_SYNTHESIS_CONFIG; + +/* DirAC renderer panning setup */ +typedef enum +{ + DIRAC_PANNING_INVALID, + DIRAC_PANNING_HOA3, /* HOA3 */ + DIRAC_PANNING_VBAP /* VBAP */ +} DIRAC_PANNING_CONFIG; + +#define DIRAC_DIFF_NUM_AMBI_COMP 4 +#define DIRAC_HOA_RENDERING_NUM_VIRT_DECORR_LS 8 +#define DIRAC_GAIN_LIMIT 31.622776601683793f /* 30db gain limitiation */ +#define DIRAC_MAX_NUM_DECORR_FILTERS 22 +#define DIRAC_MAX_DECORR_FILTER_LEN 20 +#define DIRAC_DECORR_NUM_SPLIT_BANDS 3 +#define DIRAC_DECORR_FILTER_LEN_1 15 +#define DIRAC_DECORR_FILTER_LEN_2 6 +#define DIRAC_DECORR_FILTER_LEN_3 3 +#define DIRAC_ONSET_ALPHA 0.95f +#define DIRAC_ONSET_BETA 0.995f +#define DIRAC_ONSET_GAIN 4.0f + +#define DELAY_DIRAC_ENC_CMP_NS 9500000L /* Delay to be compensated on DirAC encoder */ +#define DELAY_DIRAC_SPAR_ENC_CMP_NS 500000L /* here we may set the 24 samples (at 48 kHz) additional delay to something else, leave as is for now*/ +#define DELAY_DIRAC_PARAM_DEC_SFR 2 /* Delay to be compensation for DirAC parameters in the decoder (subframes) */ + +#define DIRAC_SLOT_NS 1250000L /* time duration of a time slot, 1.25ms (==DELAY_RENERER_NS/MAX_PARAM_SPATIAL_SUBFRAMES) */ +#define DIRAC_SLOT_ENC_NS 5000000L + +typedef enum +{ + DIRAC_OPEN, /* initialize to default value */ + DIRAC_RECONFIGURE /* HOA3 */ +} DIRAC_CONFIG_FLAG; + + +/*----------------------------------------------------------------------------------* + * SPAR constants + *----------------------------------------------------------------------------------*/ + +#define SPAR_CONFIG_BW FB + +#define IVAS_SPAR_MAX_CH (FOA_CHANNELS + 2 * ( IVAS_MAX_SBA_ORDER - 1 )) /* FOA + planar HOA */ + +#define IVAS_SPAR_P_LOWERTRI ((IVAS_SPAR_MAX_CH - 1) * (IVAS_SPAR_MAX_CH - 2)) >> 1 +#define IVAS_SPAR_MAX_C_COEFF (IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS) * ( IVAS_SPAR_MAX_DMX_CHS - 1) + +#define IVAS_SPAR_HOA3_NP_CHS 8 /* number of higher order non-planar channels */ + +#define SPAR_NUM_CODING_STRAT_BITS ( 3 ) + +/* AGC constants */ +#define AGC_BITS_PER_CH 3 +#define AGC_EMAX 0 + +/* Common SPAR metadata constants */ +#define IVAS_ACTIVEW_DM_F_SCALE 0.5f +#define IVAS_ACTIVEW_DM_F_SCALE_DTX 0.25f +#define IVAS_SPAR_FOA_DFLT_FREQ_PER_CHAN 24000 + +#define MAX_QUANT_STRATS 3 +#define MAX_CODING_STRATS 3 +#define IVAS_NUM_PROB_MODELS 4 +#define IVAS_MAX_INPUT_LEN ( IVAS_MAX_NUM_BANDS * ( IVAS_SPAR_P_LOWERTRI ) ) +#define IVAS_MAX_QUANT_LEVELS 32 +#define BRATE_SPAR_Q_STRAT IVAS_256k + +#define SPAR_SID_BITS_TAR_PER_BAND 18 + +typedef enum +{ + WYXZ = 0, + WY = 0, + WX, + WZ, + WYiX, +} ivas_spar_pmx_strings_t; + +#define NUM_MD_Q_COEFS_SET 4 + +#define IVAS_RED_BAND_FACT 2 + +typedef enum +{ + PRED_COEFF = 0, + DRCT_COEFF, + DECD_COEFF, + DECX_COEFF +} ivas_coeffs_type_t; + +#define IVAS_SPAR_BR_TABLE_LEN 18 + +/* TD decorr */ // VE: not all 16CH are currently supported -> t be revisited later +enum +{ + IVAS_TD_DECORR_OUT_1CH = 1, + IVAS_TD_DECORR_OUT_2CH, + IVAS_TD_DECORR_OUT_3CH, + IVAS_TD_DECORR_OUT_4CH, + IVAS_TD_DECORR_OUT_5CH, + IVAS_TD_DECORR_OUT_6CH, + IVAS_TD_DECORR_OUT_7CH, + IVAS_TD_DECORR_OUT_8CH, + IVAS_TD_DECORR_OUT_9CH, + IVAS_TD_DECORR_OUT_10CH, + IVAS_TD_DECORR_OUT_11CH, + IVAS_TD_DECORR_OUT_12CH, + IVAS_TD_DECORR_OUT_13CH, + IVAS_TD_DECORR_OUT_14CH, + IVAS_TD_DECORR_OUT_15CH, + IVAS_TD_DECORR_OUT_16CH +}; + +#define IVAS_SPAR_MAX_DMX_CHS 4 +#define IVAS_MAX_DECORR_CHS IVAS_TD_DECORR_OUT_15CH +#define IVAS_MAX_DECORR_APD_SECTIONS 16 +#define IVAS_APD_2_SECT 2 +#define IVAS_APD_4_SECT 4 +#define IVAS_APD_8_SECT 8 +#define IVAS_APD_16_SECT 16 + +#define IVAS_DECORR_PARM_LOOKAHEAD_TAU 2e-3f +#define IVAS_DECORR_PARM_APD_TAU 20e-3f + +/* IVAS SBA PCA */ +#define IVAS_PCA_NB_SUBR 20 /* 80 -> 0.25 ms, 40 -> 0.5 ms... */ +#define IVAS_PCA_COV_THRES 3e-5f +#define IVAS_PCA_QUAT_EPS 1e-7f +#define IVAS_PCA_QBITS 19 +#define IVAS_PCA_N1 91 +#define IVAS_PCA_N1_EQ ( (IVAS_PCA_N1-1)/2 ) +#define IVAS_PCA_BIT_LEN ( 1 + ( IVAS_PCA_QBITS - 1 + IVAS_PCA_QBITS ) ) +#define IVAS_PCA_INTERP 4 /* 4D (Quaternion) dimension */ +#define IVAS_PCA_N_SLOTS 40 //20 +#define IVAS_PCA_LEN_INTERP_Q ( IVAS_PCA_INTERP * IVAS_PCA_N_SLOTS ) +#define IVAS_PCA_DELAY_CMP 24 // 12 +#define IVAS_PCA_LEN_INTERP_EIG_DEC ( (IVAS_PCA_N_SLOTS+IVAS_PCA_DELAY_CMP)*16) +#define IVAS_PCA_THRES_MIN_DOT 0.8f +#define IVAS_PCA_THRES_MIN_DOT2 0.0f +#define IVAS_PCA_THRES_DIST_ALT 6.0f + +typedef enum +{ + PCA_MODE_ACTIVE = 0, + PCA_MODE_INACTIVE = 1 +} ivas_pca_bypass_mode; + +enum +{ + PRED_Q_1 = 0, + PRED_Q_7, + PRED_Q_15, + PRED_Q_21, + PRED_Q_31, + PRED_Q_7_ACTIVE_W, + TOTAL_PRED_QUANT_STRATS_HUFF = 5, + PRED_Q_15_ACTIVE_W, + PRED_Q_21_ACTIVE_W, + TOTAL_PRED_QUANT_STRATS_ARITH + }; + +enum +{ + DRCT_Q_1 = 0, + DRCT_Q_7, + DRCT_Q_9, + DRCT_Q_11, + TOTAL_DRCT_QUANT_STRATS + }; + +enum +{ + DECD_Q_1 = 0, + DECD_Q_3, + DECD_Q_5, + DECD_Q_7, + DECD_Q_9, + DECD_Q_11, + TOTAL_DECD_QUANT_STRATS + }; + +/*----------------------------------------------------------------------------------* + * MASA constants + *----------------------------------------------------------------------------------*/ + +#define MAX_NO_THETA 19 +#define NO_THETA16_MAX 122 /* number of theta values for 16 bits */ +#define NO_SPHERICAL_GRIDS 11 /* number of spherical grid structures */ + +#define MASA_FREQUENCY_BANDS 24 +#define MASA_MAXIMUM_CODING_SUBBANDS 24 +#define MASA_MAXIMUM_DIRECTIONS 2 +#define MASA_MAX_TRANSPORT_CHANNELS 2 +#define MASA_ENC_DELAY_SLOTS 7 +#define MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS 5 + +#define MASA_DELTA_AZI_DCT0 30 +#define MASA_DELTA_AZI_DCT 10 + +#define MASA_TRANSP_BITS 1 +#define MASA_HEADER_BITS 2 +#define MASA_SUBFRAME_BITS 1 +#define MASA_LOWBITRATE_MODE_BITS 1 +#define MASA_FACTOR_CV_COH 6 + +#define MASA_GR_ORD_EL 1 +#define MASA_GR_ORD_AZ 2 + +#define MASA_DIRECTION_MAX_BITS 11 +#define MASA_NO_INDEX 32767 +#define MASA_BITS_ER 3 +#define MASA_MIN_BITS_TF 4 +#define MASA_LIMIT_2D 2 +#define MASA_NO_CV_COH 8 +#define MASA_NO_CV_COH1 5 +#define MASA_MAX_NO_CV_SUR_COH 8 +#define MASA_NO_CB_SUR_COH 7 +#define MASA_MIN_BITS_SURR_COH 12 + +#define MASA_SUM_FREQ_RANGE_BINS 25 /* Constant for MASA transport signal type detection */ +#define MASA_HI_FREQ_START_BIN 14 /* Constant for MASA transport signal type detection */ +#define MASA_STEREO_INTERPOLATION_SLOTS 16 /* The number of slots to interpolate when changing MASA transport signal type */ +#define MASA_SUM_PROTO_START_BIN 7 /* Constant for Ambisonics rendering from MASA */ + +#define QMETADATA_MAXBIT_REQ_MASA 900 /* max bit-bit/direction for avoiding requantization in MASA path */ +#define QMETADATA_MAXBIT_REQ_SBA 400 /* max bit-bit/direction for avoiding requantization in SBA path */ +#define MASA_COH_LIMIT_2IDX 144 /* limit for sum of values across components for having two joint indexes */ +#define QMETADATA_MAX_NO_DIRECTIONS 2 +#define MASA_MAX_BITS 1300 /* max. bit-budget for MASA metadata */ +#define LIMIT_ER_ELEVATION_ENC 4 +#define LIMIT_ER_SIMPLE_ENC 6 +#define LIMIT_USE_COMMON 3 + +#define MASA_COHERENCE_TOLERANCE 0.1f +#define MASA_COHERENCE_THRESHOLD 0.1f +#define MASA_RATIO_TOLERANCE 0.1f +#define MASA_RATIO_THRESHOLD 0.1f +#define MASA_ANGLE_TOLERANCE 0.5f +#define MASA_LIMIT_NO_BANDS_SUR_COH 8 +#define MINIMUM_BIT_BUDGET_NORMAL_META 100 +#define DIFF_DFRATIO_2BIT_LIMIT_IDX 3 +#define DIFF_DFRATIO_1BIT_LIMIT_IDX 6 +#define DIFF_EC_HUFF_BAND_LIMIT 8 +#define DIFF_EC_HUFF_GR0_LIMIT 8 +#define VAR_AZI_THRESH 25 +#define MASA_LIMIT_IDX_AVG_AZI 4 + +#define MASA_NO_POINTS_EQUATOR 430 +#define MASA_NO_CIRCLES 121 +#define MASA_ASIN_OFFSET 0.0064471690266724975f +#define MASA_NTOT2_FAC 32768.00566947353f +#define MASA_ANGLE_AT_EQUATOR 0.012894427382667f +#define MASA_ANGLE_AT_EQUATOR_DEG 0.738796268264740f +#define MASA_INV_ANGLE_AT_EQUATOR_DEG 1.353553128183453f +#define MASA_STEREO_MIN_BITRATE IVAS_24k4 + +#define MASA_BIT_REDUCT_PARAM 10 +#define MASA_MAXIMUM_TWO_DIR_BANDS 18 +typedef enum +{ + MASA_STEREO_NOT_DEFINED, + MASA_STEREO_SPACED_MICS, + MASA_STEREO_DOWNMIX +} MASA_TRANSPORT_SIGNAL_TYPE; + + +/*----------------------------------------------------------------------------------* + * Multichannel format + *----------------------------------------------------------------------------------*/ + +#define MC_LS_SETUP_BITS 3 /* number of bits for writing the MC LS configuration */ +#define LS_SETUP_CONVERSION_NUM_MAPPINGS 35 /* number of mappings for LS setup conversion */ + +typedef enum +{ + MC_MODE_NONE, + MC_MODE_MCT, + MC_MODE_PARAMMC, + MC_MODE_MCMASA +} MC_MODE; + +typedef enum +{ + MC_LS_SETUP_5_1, + MC_LS_SETUP_7_1, + MC_LS_SETUP_5_1_2, + MC_LS_SETUP_5_1_4, + MC_LS_SETUP_7_1_4, + MC_LS_SETUP_INVALID +} MC_LS_SETUP; + + +/*----------------------------------------------------------------------------------* + * McMASA constants + *----------------------------------------------------------------------------------*/ + +#define MCMASA_SEPARATE_BRATE IVAS_64k /* minimum bitrate from which separated channel coding is supported */ + +#define MCMASA_MAX_ANA_CHANS 11 /* Maximum number of channels currently used in analysis of multichannel formats */ +#define MCMASA_MONOBITRATIO 0.3f +#define MCMASA_MONOBITRATIO_64k 0.25f +#define MC_MASA_THR_ELEVATION 40 + +#define MCMASA_LFE_QLOW -6.5f +#define MCMASA_LFE_DELTA 1.0f +#define MCMASA_LFE_1BIT_THRES 0.03f +#define MCMASA_LFE_ALPHA 0.67f +#define MCMASA_LFE_BETA 0.09f +#define MCMASA_LFE_THETA 1.3f +#define MCMASA_LFE_SYNTH_ALPHA 0.95f /* Smoothing coefficient for LFE synthesis */ + +#define NUM_ELEVATED_SPEAKERS 4 + +#define MCMASA_MIN_SPEAKERS_SEPARATE_CENTER 4 + +/*----------------------------------------------------------------------------------* + * MCT constants + *----------------------------------------------------------------------------------*/ + +#define LFE_CHANNEL 3 + +#define MIN_LFE_NRG 0.5f +#define MCT_MAX_CHANNELS MAX_TRANSPORT_CHANNELS +#define MCT_MAX_BLOCKS ( MCT_MAX_CHANNELS / CPE_CHANNELS ) /* max. number of channel pairs (MCT_MAX_CHANNELS/2) within MCT*/ + +#define MAX_NUM_DATA max( MCT_MAX_CHANNELS, 4 ) + +#define NBBITS_MCT_RATIO 4 +#define BITRATE_MCT_RATIO_RANGE ( 1 << NBBITS_MCT_RATIO ) /* Range of the coded bitrate distribution ratio */ + +#define LFE_BITS 180 + +#define MCT_LFE_MAX_LINE 24 +#define MCT_NUM_BLOCK_DATA_BITS 4 + +typedef enum +{ + MCT_CHAN_MODE_REGULAR, + MCT_CHAN_MODE_LFE, + MCT_CHAN_MODE_IGNORE +} MCT_CHAN_MODE; + + +/*----------------------------------------------------------------------------------* + * Parametric MC Constants + *----------------------------------------------------------------------------------*/ + +typedef enum +{ + PARAM_MC_SYNTH_DIRECT, /* synthesis to the transport format */ + PARAM_MC_SYNTH_LS_CONV_COV, /* loudspeaker format conversion in the covariance domain */ + PARAM_MC_SYNTH_LS_CONV_CLDFB, /* loudspeaker format conversion in the CLDFB domain */ + PARAM_MC_SYNTH_MONO_STEREO /* synthesis to mono or stereo */ +} PARAM_MC_SYNTHESIS_CONF; + +#define PARAM_MC_REG_SX (0.2f) /* Regularization factor for mixing matrix calculation */ +#define PARAM_MC_REG_GHAT (0.001f) /* Regularization factor for mixing matrix calculation */ +#define PARAM_MC_MAX_PARAMETER_BANDS 20 /* Maximum number of parameter bands */ +#define PARAM_MC_MAX_PARAMETER_BANDS_RES 14 /* Maximum number of parameter bands with decorrelation */ +#define PARAM_MC_MAX_NSLOTS 16 /* Maximum number of CLDFB slots in a frame */ +#define PARAM_MC_MAX_NSLOTS_IN_SUBFRAME 4 /* Maximum number of CLDFB slots in a subframe */ +#define PARAM_MC_NSUBFRAMES_DEC 4 /* Number of subframes for the synthesis in the decoder */ +#define PARAM_MC_MAX_BANDS_IN_PARAMETER_BAND 30 /* Maximum number of CLDFB frequency bands within a parameter band */ +#define PARAM_MC_PARAMETER_FRAMES 2 /* Number of frames a parameter set for a parameter band is used*/ +#define PARAM_MC_ICC_ERROR_BIAS_FAC (1.15f) /* factor for favouring past ICC maps in the adaptive ICC map decision */ +#define PARAM_MC_TRANSIENT_BAND_STEP 2 /* Number of parameter bands combined in case of a transient frame*/ +#define PARAM_MC_MAX_DECORR_CLDFB_BANDS 20 /* Maximum number of CLDFB bands with decorrelation */ +#define PARAM_MC_MAX_TRANSPORT_CHANS 4 /* Number of down mix channels */ +#define PARAM_MC_MAX_ILD_REF_CHANNELS 2 /* Maximum number of reference channels for a coded ILD */ +#define PARAM_MC_NUM_CONFIGS 15 /* Number of available Parametric MC configurations */ +#define PARAM_MC_MAX_BAND_LFE 1 /* Number of parameter bands for LFE coding */ +#define PARAM_MC_SZ_ICC_MAP 11 /* Maximum number of transmitted ICCs per parameter band */ +#define PARAM_MC_SZ_ILD_MAP 12 /* Maximum number of transmitted channel energies per band*/ +#define PARAM_MC_MAX_VAL_MAP_SIZE 12 /* Maximum number of transmitted parameters per band */ +#define PARAM_MC_RANGE_CODER_TOT_SHIFT 16 /* resolution of the range coder frequency tables */ +#define PARAM_MC_SZ_ICC_QUANTIZER 8 /* Length of the ICC quantizer for Parametric MC */ +#define PARAM_MC_NUM_BITS_ICC_SCALAR_QUANT 3 /* Number of bits for ICC uniform coding */ +#define PARAM_MC_SZ_ILD_QUANTIZER_4BITS 16 /* Length of the ILD quantizer for Parametric MC */ +#define PARAM_MC_NUM_BITS_ILD_SCALAR_QUANT 4 /* Number of bits for ILD uniform coding */ +#define PARAM_MC_DEFAULT_MIN_ILD (-92.0f) /* Default relative channel level for untransmitted channel energies */ +#define PARAM_MC_MAX_BITS 1024 /* Maximum number of bits for the Parametric MC metadata */ +#define PARAM_MC_MAX_BAND_ABS_COV_ENC 10 +#define PARAM_MC_MAX_PARAM_BAND_ABS_COV_ENC 10 +#define PARAM_MC_MAX_BAND_ABS_COV_DEC 10 +#define PARAM_MC_ENER_LIMIT_INTRAFRAME (1.5f) +#define PARAM_MC_ENER_LIMIT_INTERFRAME (2.0f) +#define PARAM_MC_LFE_ON_THRESH (8000.0f) +#define PARAM_MC_BAND_TO_MDCT_BAND_RATIO 16 /* Ratio of resolution of CLDFB Bands to MDCT Bands */ +#define PARAM_MC_SLOT_ENC_NS 2500000L +#define PARAM_MC_MDFT_NO_SLOTS 8 + +/*----------------------------------------------------------------------------------* + * LFE Coding Constants + *----------------------------------------------------------------------------------*/ + +#define IVAS_LFE_ID_BITS 1 + +typedef enum +{ + IVAS_FILTER_STAGE_0, + IVAS_FILTER_STAGE_1, + IVAS_FILTER_MAX_STAGES /* this becomes array len while declaring the array */ +} LFE_FILTERS_STAGES; + +/* IIR filter orders */ +typedef enum +{ + IVAS_FILTER_ORDER_1 = 1, + IVAS_FILTER_ORDER_2 = 2, + IVAS_FILTER_ORDER_4 = 4, +} ivas_filter_order; + +#define IVAS_BIQUAD_FILT_LEN 3 +#define IVAS_LFE_FADE_LEN_48K 384 +#define IVAS_LFE_FADE_LEN_32K 256 +#define IVAS_LFE_FADE_LEN_16K 128 +#define IVAS_LFE_FADE_LEN_8K 64 +#define IVAS_LFE_SHIFTS_PER_DOUBLE 4 +#define IVAS_LFE_NUM_COEFFS_IN_SUBGRP 2 +#define IVAS_LFE_MAX_NUM_DCT_PASS_BINS 8 +#define IVAS_LFE_MAX_NUM_DCT_COEFFS (IVAS_LFE_MAX_NUM_DCT_PASS_BINS * IVAS_LFE_NUM_COEFFS_IN_SUBGRP) +#define IVAS_LFE_FADE_NS 8000000L /* 8.0 ms */ +#define IVAS_MAX_NUM_QUANT_STRATS 2 +#define IVAS_MAX_NUM_DCT_COEF_GROUPS 4 +#define IVAS_LFE_SHIFT_BITS 5 +#define IVAS_LFE_BITRATE_5000 5000 +#define IVAS_LFE_ABS_SUM_FLT_THR (0.000001f) +#define IVAS_ZERO_PAD_LEN_MULT_FAC (0.5f) + +/* LFE PLC */ +#define LFE_PLC_BUFLEN 240 +#define LFE_PLC_FS 1600 +#define L_FRAME_1k6 ( 20 * LFE_PLC_FS / 1000 ) +#define LFE_PLC_LENANA LFE_PLC_BUFLEN +#define LFE_PLC_FDEL 300 + + +/*----------------------------------------------------------------------------------* + * Amplitude Panning (EFAP, VBAP) constants + *----------------------------------------------------------------------------------*/ + +#define PANNING_AZI_RESOLUTION 2 +#define PANNING_ELE_RESOLUTION 5 + +#define EFAP_MAX_CHAN_NUM 5 /* Maximum number of channels that constitute a polygon, 4 or 5 */ +#define EFAP_MAX_POLY_SET 50 /* Upper bound on number of polygons; with a Speaker setup of 16.0, we obtain 44 polygons/triangles in the matlab implementation. */ + +#define EFAP_MODE_EFAP 0 /* EFAP Panning */ +#define EFAP_MODE_EFIP 1 /* EFIP Panning */ + +typedef enum +{ + EFAP_DMX_NONE, + EFAP_DMX_AMPLITUDE, + EFAP_DMX_INTENSITY +} EFAP_VTX_DMX_TYPE; + +#define VBAP_NUM_SEARCH_SECTORS 4 + +/*----------------------------------------------------------------------------------* + * Binaural Rendering Constants + *----------------------------------------------------------------------------------*/ + +#define BINAURAL_MAXBANDS 60 /* Max number of bands */ +#define BINAURAL_CONVBANDS 50 /* Bands upto which convolution is performed */ +#define BINAURAL_NTAPS_MAX 96 + +#define HRTF_SH_ORDER 3 +#define HRTF_SH_CHANNELS 16 +#define HRTF_NUM_BINS 60 +#define REVERB_PREDELAY_MAX 20 /* Max input delay for reverb module */ +#define GAIN_LFE 1.88364911f /* Gain applied to LFE during renderering */ +#define LOW_BIT_RATE_BINAURAL_EQ_BINS 17 /* Number of bins in an EQ applied at low bit rates in binauralization */ +#define LOW_BIT_RATE_BINAURAL_EQ_OFFSET 14 /* Offset of bins where the low-bit-rate EQ starts*/ + +#define BINAURAL_COHERENCE_DIFFERENCE_BINS 9 /* Number of bins for direction-dependent diffuse-field binaural coherence */ + +#define HEADROT_ORDER 3 +#define HEADROT_SHMAT_DIM ( ( HEADROT_ORDER + 1 ) * ( HEADROT_ORDER + 1 ) ) +#define HEADROT_SHMAT_DIM2 ( HEADROT_SHMAT_DIM * HEADROT_SHMAT_DIM ) + +/*----------------------------------------------------------------------------------* + * TD Binaural Object renderer + *----------------------------------------------------------------------------------*/ + +#define MAX_NUM_TDREND_CHANNELS 16 /* max. number of channels in TD renderer (objects or loudspeaker channels) */ + +#define SFX_SPAT_BIN_MAX_NO_OF_OUTPUT_SAMPLES 288 /* 288 = 6 msec @ 48 kHz. */ +#define HRTF_MODEL_N_SECTIONS 3 /* No. sections used in approximate evaluation of model */ +#define HRTF_MODEL_BSPLINE_NUM_COEFFS 4 /* No. BSpline coefficients, including zeroth order e.g. cubic -> 4 */ +#define HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ 16 /* Square of HRTF_MODEL_BSPLINE_NUM_COEFFS */ +#define SFX_SPAT_BIN_MAX_FILTER_LENGTH 256 + +#define SPAT_BIN_MAX_INPUT_CHANNELS 1 /* Max number of input channels per source/object. Mono for now, but stereo objects may be considered. */ +#ifdef FIX_ITD +#define MAX_ITD 50 +#define SFX_SPAT_BIN_SINC_M 5 +#define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 +#define ITD_MEM_LEN (MAX_ITD + SFX_SPAT_BIN_SINC_M) +#define L_SUBFRAME5MS_48k (L_FRAME48k/4) +#define MAX_ANGULAR_STEP (15.0f) +#define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) +#define MAX_INTERPOLATION_STEPS 12 +#define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ +#else +#define BINAURAL_TD_LATENCY_S 0.00675f /* Binaural TD renderer latency in second == 324 samples in between 333 and 315 */ +#endif + +/* ----- Enums - TD Renderer ----- */ + +typedef enum +{ + TDREND_DIST_ATTEN_MODEL_INV_DIST, + TDREND_DIST_ATTEN_MODEL_INV_DIST_CLAMPED +} TDREND_DistAttenModel_t; + +typedef enum +{ + TDREND_POSTYPE_ABSOLUTE, /* The source position is in absolute coordinates */ + TDREND_POSTYPE_RELATIVE_TO_LISTENER /* The source position is relative to the listener */ +} TDREND_PosType_t; + +typedef enum +{ + TDREND_PLAYSTATUS_INITIAL, + TDREND_PLAYSTATUS_PLAYING +} TDREND_PlayStatus_t; + +typedef enum +{ + TDREND_DeallocIndex_None, + TDREND_DeallocIndex_Signal, + TDREND_DeallocIndex_Source +} TDREND_DeallocFnIndex; + +typedef enum +{ + TDREND_HRFILT_Method_BSplineModel +#ifdef TDREND_HRTF_TABLE_METHODS + , + TDREND_HRFILT_Method_Table_F, + TDREND_HRFILT_Method_Table_S +#endif +} TDREND_HRFILT_Method_t; + +typedef enum +{ + SFX_ON, + SFX_TRANSIENT, + SFX_OFF +} SFX_OpMode_t; + + +/*----------------------------------------------------------------------------------* + * Orientation tracking constants + *----------------------------------------------------------------------------------*/ + +/* Orientation tracking types */ +#define IVAS_ORIENT_TRK_REF 0 +#define IVAS_ORIENT_TRK_AVG 1 + +typedef enum +{ + OTR_TRACKING_NONE = IVAS_ORIENT_TRK_REF-1, /* track orientation relative to external reference orientation (default: yaw=pitch=roll=0) */ // VE: not really used in IVAS (only in unit-test) + OTR_TRACKING_REF_ORIENT = IVAS_ORIENT_TRK_REF, /* track orientation relative to external reference orientation (default: yaw=pitch=roll=0) */ + OTR_TRACKING_AVG_ORIENT = IVAS_ORIENT_TRK_AVG /* track orientation relative to average orientation */ + +} OTR_TRACKING_T; + + +/*----------------------------------------------------------------------------------* + * Reverberator constants + *----------------------------------------------------------------------------------*/ + +#define IVAS_REV_MAX_NR_BRANCHES 8 /* setup is for maximum */ +#define IVAS_REV_MAX_IIR_FILTER_LENGTH 4 /* maximum nr of taps - MUST BE EVEN! */ + +#define RV_FILTER_MAX_FFT_SIZE ( 512 ) +#define RV_FILTER_MAX_HISTORY ( 512 - 160 ) /* for longest history */ +#define RV_LENGTH_NR_FC ( RV_FILTER_MAX_FFT_SIZE / 2 ) + 1 + +#define IVAS_REVERB_DEFAULT_N_BANDS 31 +#define IVAS_REVERB_DEFAULT_PRE_DELAY 0.016f +#define IVAS_REVERB_DEFAULT_INPUT_DELAY 0.1f + + +/*----------------------------------------------------------------------------------* + * FB mixer constants + *----------------------------------------------------------------------------------*/ + +#define IVAS_960_PT_LEN 960 +#define IVAS_640_PT_LEN 640 +#define IVAS_480_PT_LEN 480 +#define IVAS_320_PT_LEN 320 +#define IVAS_240_PT_LEN 240 +#define IVAS_160_PT_LEN 160 +#define IVAS_80_PT_LEN 80 +#define IVAS_40_PT_LEN 40 + +/* FB windows ovlp */ +#define IVAS_FB_4MS_48K_SAMP 192 +#define IVAS_FB_1MS_48K_SAMP 48 +#define IVAS_FB_4MS_32K_SAMP 128 +#define IVAS_FB_1MS_32K_SAMP 32 +#define IVAS_FB_4MS_16K_SAMP 64 +#define IVAS_FB_1MS_16K_SAMP 16 + +#define IVAS_MAX_FB_MIXER_OUT_CH IVAS_SPAR_MAX_CH +#define IVAS_MAX_SPAR_FB_MIXER_IN_CH IVAS_SPAR_MAX_CH +#define IVAS_MAX_FB_MIXER_IN_CH MAX_CICP_CHANNELS + +#define MAX_NUM_BANDS_DIFF_NON48K 3 + +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_0 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_1 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_2 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_3 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_4 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_5 ( 9 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_6 ( 7 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_7 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_8 ( 0 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_9 ( 49 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_10 ( 172 ) +#define IVAS_FB_12_1MS_48K_START_OFFSET_BAND_11 ( 377 ) + +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_0 ( 179 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_1 ( 160 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_2 ( 215 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_3 ( 200 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_4 ( 186 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_5 ( 196 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_6 ( 230 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_7 ( 351 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_8 ( 456 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_9 ( 617 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_10 ( 892 ) +#define IVAS_FB_12_1MS_48K_END_BINS_BAND_11 ( 960 ) + +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_0 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_1 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_2 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_3 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_4 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_5 ( 9 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_6 ( 7 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_7 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_8 ( 0 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_9 ( 49 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_10 ( 172 ) +#define IVAS_FB_12_1MS_32K_START_OFFSET_BAND_11 ( 377 ) + +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_0 ( 179 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_1 ( 160 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_2 ( 215 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_3 ( 200 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_4 ( 186 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_5 ( 196 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_6 ( 230 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_7 ( 351 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_8 ( 456 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_9 ( 617 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_10 ( 640 ) +#define IVAS_FB_12_1MS_32K_END_BINS_BAND_11 ( 640 ) + +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_0 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_1 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_2 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_3 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_4 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_5 ( 9 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_6 ( 7 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_7 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_8 ( 0 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_9 ( 49 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_10 ( 172 ) +#define IVAS_FB_12_1MS_16K_START_OFFSET_BAND_11 ( 320 ) + +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_0 ( 179 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_1 ( 160 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_2 ( 215 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_3 ( 200 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_4 ( 186 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_5 ( 196 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_6 ( 230 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_7 ( 320 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_8 ( 320 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_9 ( 320 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_10 ( 320 ) +#define IVAS_FB_12_1MS_16K_END_BINS_BAND_11 ( 320 ) + +#define IVAS_FB_BANDS_12 12 +#define IVAS_FB_BANDS_20 20 +#define IVAS_MAX_NUM_BANDS IVAS_FB_BANDS_12 +#define IVAS_MAX_NUM_FB_BANDS IVAS_FB_BANDS_20 +#define IVAS_FB_12_1MS_LEN ( IVAS_FB_12_1MS_48K_END_BINS_BAND_0 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_0 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_1 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_1 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_2 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_2 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_3 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_3 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_4 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_4 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_5 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_5 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_6 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_6 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_7 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_7 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_8 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_8 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_9 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_9 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_10 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_10 ) + ( IVAS_FB_12_1MS_48K_END_BINS_BAND_11 - IVAS_FB_12_1MS_48K_START_OFFSET_BAND_11 ) +#define IVAS_16K_12BANDS_ACTIVE_BANDS 10 + +#define SPAR_DIRAC_SPLIT_START_BAND 8 +#define SPAR_DTX_BANDS 2 +#define DIRAC_DTX_BANDS 2 +#define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) +#define CLDFB_PAR_WEIGHT_START_BAND 7 + +#endif +/* clang-format on */ +/* IVAS_CNST_H */ diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h new file mode 100644 index 0000000000..07458f6b38 --- /dev/null +++ b/lib_com/ivas_error.h @@ -0,0 +1,194 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/* options.h needed for debugging/development features + * It should be stripped for delivery along with debugging switches */ +#include "options.h" + +#ifndef IVAS_ERROR_H +#define IVAS_ERROR_H + +typedef enum +{ + /*----------------------------------------* + * no error * + *----------------------------------------*/ + IVAS_ERR_OK = 0x0000, + + /*----------------------------------------* + * API errors * + *----------------------------------------*/ + IVAS_ERR_INVALID_BANDWIDTH = 0x1000, + IVAS_ERR_INVALID_DTX_UPDATE_RATE, + IVAS_ERR_INVALID_SAMPLING_RATE, + IVAS_ERR_NOT_CONFIGURED, + IVAS_ERR_INVALID_STEREO_MODE, + IVAS_ERR_INVALID_CICP_INDEX, + IVAS_ERR_INVALID_BITRATE, + IVAS_ERR_INVALID_MASA_CONFIG, + IVAS_ERR_TOO_MANY_INPUTS, + IVAS_ERR_MISSING_METADATA, + IVAS_ERR_INDEX_OUT_OF_BOUNDS, + IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, + IVAS_ERR_INVALID_FEC_CONFIG, + IVAS_ERR_INVALID_FEC_OFFSET, + IVAS_ERR_INVALID_INPUT_BUFFER_SIZE, + IVAS_ERR_DTX_NOT_SUPPORTED, + IVAS_ERR_UNEXPECTED_NULL_POINTER, + IVAS_ERR_METADATA_NOT_EXPECTED, + IVAS_ERR_INVALID_SPAR_CONFIG, + IVAS_ERR_WRONG_PARAMS, + IVAS_ERR_INIT_ERROR, + IVAS_ERR_DECODER_ERROR, + IVAS_ERR_WRONG_MODE, + IVAS_ERR_INVALID_OUTPUT_FORMAT, + IVAS_ERR_HEAD_ROTATION_NOT_SUPPORTED, + IVAS_ERR_INVALID_HRTF, + IVAS_ERR_INVALID_INPUT_FORMAT, + IVAS_ERR_INVALID_INDEX, + IVAS_ERR_NOT_SUPPORTED_OPTION, + IVAS_ERR_NOT_IMPLEMENTED, + IVAS_ERR_FILE_READER_TIMESTAMP_MISMATCH, + IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT, + IVAS_ERR_ISM_INVALID_METADATA_VALUE, + IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE, +#ifdef DEBUGGING + IVAS_ERR_INVALID_FORCE_MODE, +#ifdef DEBUG_AGC_ENCODER_CMD_OPTION + IVAS_ERR_INVALID_AGC, +#endif +#endif + + /*----------------------------------------* + * input data errors * + *----------------------------------------*/ + IVAS_ERR_INVALID_BITSTREAM = 0x2000, + + /*----------------------------------------* + * hardware errors * + *----------------------------------------*/ + IVAS_ERR_FAILED_ALLOC = 0x3000, + + /*----------------------------------------* + * internal errors * + *----------------------------------------*/ + IVAS_ERR_INTERNAL = 0x4000, + IVAS_ERR_INTERNAL_FATAL, + + /*----------------------------------------* + * file I/O errors (lib_util only) * + *----------------------------------------*/ + IVAS_ERR_FAILED_FILE_OPEN = 0x5000, + IVAS_ERR_FAILED_FILE_WRITE, + IVAS_ERR_FAILED_FILE_READ, + IVAS_ERR_FAILED_FILE_PARSE, + IVAS_ERR_END_OF_FILE, + IVAS_ERR_BITSTREAM_WRITER_INVALID_FORMAT, + IVAS_ERR_BITSTREAM_READER_INVALID_DATA, + IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT, + + /*----------------------------------------* + * renderer (lib_rend only) * + *----------------------------------------*/ + + IVAS_ERR_NUM_CHANNELS_UNKNOWN, + IVAS_ERR_INVALID_CUSTOM_LS_LAYOUT, + IVAS_ERR_INVALID_INPUT_ID, + IVAS_ERR_WRONG_NUM_CHANNELS, + IVAS_ERR_INVALID_BUFFER_SIZE, + + /*----------------------------------------* + * unknown error * + *----------------------------------------*/ + IVAS_ERR_UNKNOWN = 0xF000, /* fallback error code */ + +} ivas_error; + + +static inline const char *ivas_error_to_string( ivas_error error_code ) +{ + /* For error categories that are likely to still have many changes to + * specific error codes, return one string per category */ + if ( ( error_code & 0xF000 ) == 0x1000 ) + { + return "API error"; + } + if ( ( error_code & 0xF000 ) == 0x2000 ) + { + return "data error"; + } + + /* For categories that are unlikely to change, use more specific strings */ + switch ( error_code ) + { + case IVAS_ERR_OK: + return "No error"; + case IVAS_ERR_FAILED_ALLOC: + return "Failed allocation error"; + case IVAS_ERR_INTERNAL: + return "Internal error"; + case IVAS_ERR_INTERNAL_FATAL: + return "Internal fatal error"; + case IVAS_ERR_INVALID_SAMPLING_RATE: + return "Invalid sampling rate"; + case IVAS_ERR_INVALID_OUTPUT_FORMAT: + return "Invalid output format"; + case IVAS_ERR_INVALID_CUSTOM_LS_LAYOUT: + return "Invalid custom loudspeaker layout"; + case IVAS_ERR_INVALID_INPUT_ID: + return "Invalid input ID"; + case IVAS_ERR_WRONG_NUM_CHANNELS: + return "Wrong number of channels"; + case IVAS_ERR_INVALID_BUFFER_SIZE: + return "Invalid buffer size"; + case IVAS_ERR_FAILED_FILE_OPEN: + return "File open error"; + case IVAS_ERR_FAILED_FILE_WRITE: + return "File write error"; + case IVAS_ERR_FAILED_FILE_READ: + return "File read error"; + case IVAS_ERR_FAILED_FILE_PARSE: + return "Parse error"; + case IVAS_ERR_END_OF_FILE: + return "End of file"; + default: + break; + } + + return "Unknown error"; +} + +#endif /* IVAS_ERROR_H */ diff --git a/lib_com/ivas_error_utils.h b/lib_com/ivas_error_utils.h new file mode 100644 index 0000000000..412bd075b4 --- /dev/null +++ b/lib_com/ivas_error_utils.h @@ -0,0 +1,96 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "options.h" + +#include <assert.h> +#include <stdarg.h> +#include <stdint.h> + +#include "ivas_error.h" + +#ifdef DEBUGGING +#include <stdio.h> +#endif + +#ifndef IVAS_ERROR_UTILS_H +#define IVAS_ERROR_UTILS_H + +/* + * Usage: + * + * IVAS_ERROR( error_code, decription_fmt, ... ); + * + * where: + * - error_code is of type enum ivas_error + * - decription_fmt is a description string with printf-like formatting + * - ... are (optional) printf-like arguments to place in the description format string + * + * Examples: + * + * IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Cannot allocate memory for XXX" ); + * + * IVAS_ERROR( IVAS_ERR_INTERNAL, "Unexpected value %f in frame %d", var, frame ); + * + * Note: Contrary to printf, this macro is not able to verify at build time that the + * placeholders (e.g. "%f") in the format string match the types of provided arguments. + * If unexpected values are printed or the macro causes a crash, double check that the + * format specifiers are correct. + */ +#ifdef DEBUGGING +#define IVAS_ERROR( error_code, ... ) ivas_error_wrapper( error_code, __func__, __FILE__, __LINE__, __VA_ARGS__ ) +#else +#define IVAS_ERROR( error_code, ... ) ivas_error_wrapper( error_code ) +#endif + +#ifdef DEBUGGING +static inline ivas_error ivas_error_wrapper( const ivas_error error_code, const char *function, const char *file, int32_t line, const char *description, ... ) +{ + fprintf( stderr, "\n%s: ", ivas_error_to_string( error_code ) ); + + va_list args; + va_start( args, description ); + vfprintf( stderr, description, args ); + va_end( args ); + + fprintf( stderr, "\n\nIn function: %s(), %s:%d\n\n", function, file, line ); + // assert( 0 ); + return error_code; +} +#else +static inline ivas_error ivas_error_wrapper( const ivas_error error_code ) +{ + return error_code; +} +#endif + +#endif /* IVAS_ERROR_UTILS_H */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h new file mode 100644 index 0000000000..c09adab6c8 --- /dev/null +++ b/lib_com/ivas_prot.h @@ -0,0 +1,5617 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_PROT_H +#define IVAS_PROT_H + +#include <stdint.h> +#include "options.h" +#include <stdio.h> +#include "typedef.h" +#include "stat_enc.h" +#include "stat_dec.h" +#include "stat_com.h" +#include "ivas_stat_enc.h" +#include "ivas_stat_dec.h" +#include "ivas_stat_com.h" +#include "ivas_error_utils.h" + +/* clang-format off */ + +/*----------------------------------------------------------------------------------* + * General IVAS prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_enc( + Encoder_Struct *st_ivas, /* i : IVAS encoder structure */ + const int16_t *data, /* i : input signal */ + const int16_t n_samples /* i : number of input samples */ +); + +void stereo_dmx_evs_enc( + STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS, /* i/o: Stereo downmix for EVS encoder handle */ + const int32_t input_Fs, /* i : input sampling rate */ + int16_t data[CPE_CHANNELS * L_FRAME48k], /* i/o: input signal */ + const int16_t n_samples /* i : number of input samples */ +); + +/*! r: number of channels to be analysed */ +int16_t getNumChanAnalysis( + Encoder_Struct *st_ivas /* i : IVAS encoder structure */ +); + +void copy_encoder_config( + Encoder_Struct *st_ivas, /* i : IVAS encoder structure */ + Encoder_State *st, /* o : encoder state structure */ + const int16_t flag_all /* i : flag 1==update all, 0=partial update */ +); + +void ivas_write_format( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +void ivas_write_format_sid( + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + const int16_t element_mode, /* i : element bitrate */ + BSTR_ENC_HANDLE hBstr /* i/o: encoder bitstream handle */ +); + +ivas_error create_sce_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t sce_id, /* i : SCE # identifier */ + const int32_t element_brate /* i : element bitrate */ +); + +ivas_error create_cpe_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t cpe_id, /* i : CPE # identifier */ + const int32_t element_brate /* i : element bitrate */ +); + +ivas_error create_mct_enc( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +ivas_error mct_enc_reconfigure( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const uint16_t b_nchan_change /* i : flag indicating different channel count */ +); +#ifdef SBA_BR_SWITCHING +ivas_error ivas_sba_enc_reinit( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); +#endif +#ifdef SBA_BR_SWITCHING +int16_t get_sba_reinit_flag( + int32_t ivas_total_bitrate, /* i: current bitrate */ + int32_t last_ivas_total_brate /* i: previous bitrate */ +); +#endif +ivas_error ivas_sba_enc_reconfigure( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +void destroy_sce_enc( + SCE_ENC_HANDLE hSCE /* i/o: SCE encoder structure */ +); + +void destroy_cpe_enc( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ +); + +void ivas_mct_enc_close( + MCT_ENC_HANDLE hMCT /* i/o: MCT encoder structure */ +); + +ivas_error ivas_corecoder_enc_reconfig( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ + const int16_t nCPE_old, /* i : number of CPEs in previous frame */ + const int16_t nchan_transport_old /* i : number of TCs in previous frame */ +); + +ivas_error ivas_sce_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t sce_id, /* i : SCE # identifier */ + const float data_f[], /* i : input signal for single channel */ + const int16_t input_frame, /* i : input frame length per channel */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error ivas_cpe_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t cpe_id, /* i : CPE # identifier */ + const float data_f_ch0[], /* i : input signal for channel 0 */ + const float data_f_ch1[], /* i : input signal for channel 1 */ + const int16_t input_frame, /* i : input frame length per channel */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error ivas_mct_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + float data[MCT_MAX_CHANNELS][L_FRAME48k], /* i : input signals */ + const int16_t input_frame, /* i : input frame length per channel */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error pre_proc_front_ivas( + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const int32_t element_brate, /* i : SCE/CPE element bitrate */ + const int16_t nb_bits_metadata, /* i : number of metadata bits */ + const int16_t input_frame, /* i : frame length */ + const int16_t n, /* i : channel number */ + float old_inp_12k8[], /* o : buffer of old input signal */ + float old_inp_16k[], /* o : buffer of old input signal @16kHz */ + float *Etot, /* o : total energy */ + float *ener, /* o : residual energy from Levinson-Durbin */ + float *relE, /* o : frame relative energy */ + float A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ + float Aw[NB_SUBFR16k * ( M + 1 )], /* o : weighted A(z) unquantized for subframes */ + float epsP[M + 1], /* o : LP prediction errors */ + float lsp_new[M], /* o : LSPs at the end of the frame */ + float lsp_mid[M], /* o : LSPs in the middle of the frame */ + int16_t *vad_hover_flag, /* o : VAD hangover flag */ + int16_t *attack_flag, /* o : flag signaling attack */ + float realBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer */ + float imagBuffer[CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer */ + float old_wsp[], /* o : weighted input signal buffer */ + float pitch_fr[NB_SUBFR], /* o : fractional pitch values */ + float voicing_fr[NB_SUBFR], /* o : fractional pitch gains */ + int16_t *loc_harm, /* o : harmonicity flag */ + float *cor_map_sum, /* o : speech/music clasif. parameter */ + int16_t *vad_flag_dtx, /* o : HE-SAD flag with additional DTX HO */ + float enerBuffer[CLDFB_NO_CHANNELS_MAX], /* o : energy buffer */ + float fft_buff[2 * L_FFT], /* o : FFT buffer */ + const float tdm_A_PCh[M + 1], /* i : unq. LP coeff. of primary channel */ + const float tdm_lsp_new_PCh[M], /* i : unq. LSPs of primary channel */ + const float currFlatness, /* i : flatness parameter */ + const int16_t tdm_ratio_idx, /* i : Current Ratio_L index */ + float fr_bands_LR[CPE_CHANNELS][2 * NB_BANDS], /* i : energy in frequency bands */ + const float Etot_LR[CPE_CHANNELS], /* i : total energy Left & Right channel */ + float lf_E_LR[CPE_CHANNELS][2 * VOIC_BINS], /* i : per bin spectrum energy in lf, LR channels */ + const int16_t localVAD_HE_SAD_LR[CPE_CHANNELS], /* i : HE-SAD flag without hangover, LR channels */ + float band_energies_LR[2 * NB_BANDS], /* o : energy in critical bands without minimum noise floor E_MIN */ + const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ + const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ + const int16_t force_front_vad, /* i : flag to force VAD decision */ + const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ + ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +ivas_error pre_proc_ivas( + Encoder_State *st, /* i/o: encoder state structure */ + const int16_t last_element_mode, /* i : last element mode */ + const int32_t element_brate, /* i : element bitrate */ + const int32_t last_element_brate, /* i : last element bitrate */ + const int16_t input_frame, /* i : frame length */ + float old_inp_12k8[], /* i/o: buffer of old input signal */ + float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ + float **inp, /* o : ptr. to inp. signal in the current frame*/ + float *ener, /* o : residual energy from Levinson-Durbin */ + float A[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes */ + float Aw[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes */ + float epsP[M + 1], /* i/o: LP prediction errors */ + float lsp_new[M], /* i/o: LSPs at the end of the frame */ + float lsp_mid[M], /* i/o: LSPs in the middle of the frame */ + float *new_inp_resamp16k, /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ + int16_t *Voicing_flag, /* o : voicing flag for HQ FEC */ + const float old_wsp[], /* i : weighted input signal buffer */ + const int16_t loc_harm, /* i : harmonicity flag */ + const float cor_map_sum, /* i : speech/music clasif. parameter */ + const int16_t vad_flag_dtx, /* i : HE-SAD flag with additional DTX HO */ + const float enerBuffer[CLDFB_NO_CHANNELS_MAX], /* i : energy buffer */ + const float fft_buff[2 * L_FFT], /* i : FFT buffer */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int16_t vad_hover_flag, /* i : VAD hangover flag */ + const int16_t flag_16k_smc /* i : flag to indicate if the OL SMC is run at 16 kHz */ +); + +ivas_error ivas_compute_core_buffers( + Encoder_State *st, /* i/o: encoder state structure */ + float **inp16k_out, /* o : ptr. to inp. signal in the current frame*/ + float *old_inp_16k, /* i/o: buffer of old input signal @ 16kHz */ + float new_inp_resamp16k[], /* o : new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ + const int16_t input_frame, /* i : frame length */ + const int16_t last_element_mode, /* i : last element mode */ + const int32_t sr_core, /* i : core-coder sampling rate */ + float *ener, /* o : residual energy from Levinson-Durbin */ + float A[NB_SUBFR16k * ( M + 1 )], /* i/o: A(z) unquantized for the 4 subframes */ + float Aw[NB_SUBFR16k * ( M + 1 )], /* i/o: weighted A(z) unquantized for subframes */ + float epsP[M + 1], /* i/o: LP prediction errors */ + float lsp_new[M], /* i/o: LSPs at the end of the frame */ + float lsp_mid[M] /* i/o: LSPs in the middle of the frame */ +); + +/*! r: number of clipped samples */ +uint32_t ivas_syn_output( + float synth[][L_FRAME48k], /* i/o: float synthesis signal */ + const int16_t output_frame, /* i : output frame length (one channel) */ + const int16_t n_channels, /* i : number of output channels */ + int16_t *synth_out /* o : integer 16 bits synthesis signal */ +); + +void ivas_initialize_handles_enc( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +ivas_error ivas_init_encoder( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + Indice ind_list[][MAX_NUM_INDICES], /* i : indices list */ + Indice ind_list_metadata[][MAX_BITS_METADATA] /* i : indices list metadata */ +); + +void destroy_core_enc( + ENC_CORE_HANDLE hCoreCoder /* i/o: core encoder structure */ +); + +void ivas_destroy_enc( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +ivas_error ivas_init_decoder_front( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_init_decoder( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error stereo_dmx_evs_init_encoder( + STEREO_DMX_EVS_ENC_HANDLE *hStereoDmxEVS, /* o : Stereo downmix for EVS encoder handle */ + const int32_t input_Fs /* i : input sampling rate */ +); + +void stereo_dmx_evs_close_encoder( + STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS /* i/o: Stereo downmix for EVS encoder handle */ +); + +ivas_error ivas_dec( + Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ + int16_t *data /* o : output synthesis signal */ +); + +ivas_error ivas_dec_setup( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error create_sce_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t cpe_id, /* i : SCE # identifier */ + const int32_t element_brate /* i : element bitrate */ +); + +ivas_error create_cpe_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t cpe_id, /* i : CPE # identifier */ + const int32_t element_brate /* i : element bitrate */ +); + +ivas_error create_mct_dec( + Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ +); + +ivas_error mct_dec_reconfigure( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const uint16_t b_nchan_change /* i : flag indicating different channel count */ +); + +void destroy_sce_dec( + SCE_DEC_HANDLE hSCE /* i/o: SCE decoder structure */ +); + +void destroy_cpe_dec( + CPE_DEC_HANDLE hCPE /* i/o: CPE decoder structure */ +); + +void ivas_mct_dec_close( + MCT_DEC_HANDLE *hMCT /* i/o: MCT decoder structure */ +); + +ivas_error ivas_corecoder_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ + const int16_t nCPE_old, /* i : number of CPEs in previous frame */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + const int16_t sba_dirac_stereo_flag_old /* i : signal stereo output for SBA DirAC in previous frame */ +); + +ivas_error ivas_hp20_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nchan_hp20_old /* i : number of HP20 filters in previous frame*/ +); + +ivas_error ivas_sce_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t sce_id, /* i : SCE # identifier */ + float output[1][L_FRAME48k], /* o : output synthesis signal */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error ivas_cpe_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t cpe_id, /* i : CPE # identifier */ + float output[CPE_CHANNELS][L_FRAME48k], /* o : output synthesis signal */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error ivas_mct_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + float output[][L_FRAME48k], /* o : output synthesis signal */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +/*! r: number of channels to be synthesised */ +int16_t getNumChanSynthesis( + Decoder_Struct *st_ivas /* i : IVAS decoder structure */ +); + +void copy_decoder_config( + Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ + Decoder_State *st /* o : decoder state structure */ +); + +void destroy_core_dec( + DEC_CORE_HANDLE hCoreCoder /* i/o: core decoder structure */ +); + +void ivas_destroy_dec( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_initialize_handles_dec( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_core_enc( + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const int16_t n_CoreChannels, /* i : number of core channels to be coded */ + float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ + float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ + const float Etot[CPE_CHANNELS], /* i : total energy */ + float ener[CPE_CHANNELS], /* i : residual energy from Levinson-Durbin */ + float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes */ + float Aw[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquantized for subframes */ + float epsP[CPE_CHANNELS][M + 1], /* i : LP prediction errors */ + float lsp_new[CPE_CHANNELS][M], /* i : LSPs at the end of the frame */ + float lsp_mid[CPE_CHANNELS][M], /* i : LSPs in the middle of the frame */ + const int16_t vad_hover_flag[CPE_CHANNELS], /* i : VAD hanglover flag */ + int16_t attack_flag[CPE_CHANNELS], /* i : attack flag (GSC or TC) */ + float realBuffer[CPE_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: real buffer */ + float imagBuffer[CPE_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i/o: imag buffer */ + float old_wsp[CPE_CHANNELS][L_WSP], /* i : weighted input signal buffer */ + const int16_t loc_harm[CPE_CHANNELS], /* i : harmonicity flag */ + const float cor_map_sum[CPE_CHANNELS], /* i : speech/music clasif. parameter */ + const int16_t vad_flag_dtx[CPE_CHANNELS], /* i : HE-SAD flag with additional DTX HO */ + float enerBuffer[CPE_CHANNELS][CLDFB_NO_CHANNELS_MAX], /* i : energy buffer */ + float fft_buff[CPE_CHANNELS][2 * L_FFT], /* i : FFT buffer */ + const int16_t tdm_SM_flag, /* i : channel combination scheme flag */ + const int16_t ivas_format, /* i : IVAS format */ + const int16_t flag_16k_smc /* i : flag to indicate if the OL SMC is run at 16 kHz */ +); + +ivas_error ivas_core_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ + const int16_t n_channels, /* i : number of channels to be decoded */ + float output[CPE_CHANNELS][L_FRAME48k], /* o : output synthesis signal */ + float outputHB[CPE_CHANNELS][L_FRAME48k], /* o : output HB synthesis signal */ + float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* o : DFT buffers */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void encod_gen_2sbfr( + Encoder_State *st, /* i/o: state structure */ + const float speech[], /* i : input speech */ + const float Aw[], /* i : weighted A(z) unquantized for subframes */ + const float Aq[], /* i : LP coefficients */ + const float *res, /* i : residual signal */ + float *syn, /* i/o: core synthesis */ + float *exc, /* i/o: current non-enhanced excitation */ + float *exc2, /* i/o: current enhanced excitation */ + float *pitch_buf, /* i/o: floating pitch values for each subframe */ + float *voice_factors, /* o : voicing factors */ + float *bwe_exc, /* o : excitation for SWB TBE */ + const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ + const float tdm_Pri_pitch_buf[] /* i : pitch values for primary channel */ +); + +void decod_gen_2sbfr( + Decoder_State *st, /* i/o: decoder static memory */ + const int16_t sharpFlag, /* i : formant sharpening flag */ + const float *Aq, /* i : LP filter coefficient */ + float *pitch_buf, /* o : floating pitch values for each subframe */ + float *voice_factors, /* o : voicing factors */ + float *exc, /* i/o: adapt. excitation exc */ + float *exc2, /* i/o: adapt. excitation/total exc */ + float *bwe_exc, /* o : excitation for SWB TBE */ + float *gain_buf, /* o : floating pitch gain for each subframe */ + const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ + const float tdm_Pri_pitch_buf[] /* i : pitch values for primary channel */ +); + +void synchro_synthesis( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[CPE_CHANNELS][L_FRAME48k], /* i/o: output synthesis signal */ + const int16_t output_frame, /* i : Number of samples */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void stereo_tcx_init_enc( + Encoder_State *st /* i/o: encoder state structure */ +); + +void stereo_tcx_core_enc( + Encoder_State *st, /* i/o: encoder state structure */ + const float new_samples_12k8[], /* i : buffer of input signal @12.8 kHz */ + const float new_samples_16k[], /* i : buffer of input signal @16 kHz */ + const float Aw[], /* i : weighted A(z) unquant. for subframes */ + float lsp_new[], /* i : LSPs at the end of the frame */ + float lsp_mid[], /* i : LSPs in the middle of the frame */ + float pitch_buf[NB_SUBFR16k], /* o : floating pitch for each subframe */ + const int16_t last_element_mode, /* i : last element mode */ + const int16_t vad_hover_flag /* i : VAD hangover flag */ +); + +void stereo_tcx_core_dec( + Decoder_State *st, /* i/o: decoder state structure */ + const FRAME_MODE frameMode, /* i : Decoder frame mode */ + float *signal_out, /* o : synthesis @internal_Fs */ + float *signal_outFB, /* o : synthesis @output_Fs */ + float pitch_buf[], /* o : floating pitch for each subframe */ + const int16_t sba_dirac_stereo_flag, /* i : signal stereo output for SBA DirAC */ + STEREO_TD_DEC_DATA_HANDLE hStereoTD, /* i/o: TD stereo decoder handle */ + const int16_t last_element_mode, /* i : last element mode */ + const int16_t flag_sec_CNA, /* i : CNA flag for secondary channel */ + STEREO_CNG_DEC_HANDLE hStereoCng, /* i : Stereo CNG handle */ + const int16_t nchan_out /* i : number of output channels */ +); + +void stereo_tcx_init_dec( + Decoder_State *st, /* i/o: decoder state structure */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int16_t last_element_mode /* i : element mode of previous frame */ +); + +/*! r: S/M decision (0 = speech or noise, 1 = unclear, 2 = music) */ +int16_t ivas_smc_gmm( + Encoder_State *st, /* i/o: encoder state structure */ + STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */ + const int16_t localVAD_HE_SAD, /* i : HE-SAD flag without hangover */ + const float Etot, /* i : total frame energy */ + const float lsp_new[M], /* i : LSPs in current frame */ + const float cor_map_sum, /* i : correlation map sum (from multi-harmonic anal.) */ + const float epsP[M + 1], /* i : LP prediciton error */ + const float PS[], /* i : energy spectrum */ + const float non_sta, /* i : unbound non-stationarity */ + const float relE, /* i : relative frame energy */ + int16_t *high_lpn_flag, /* i/o: sp/mus LPN flag */ + const int16_t flag_spitch /* i : flag to indicate very short stable pitch */ +); + +void ivas_smc_mode_selection( + Encoder_State *st, /* i/o: encoder state structure */ + const int32_t element_brate, /* i : element bitrate */ + int16_t smc_dec, /* i : raw decision of the 1st stage classifier */ + const float relE, /* i : relative frame energy */ + const float Etot, /* i : total frame energy */ + int16_t *attack_flag, /* i/o: attack flag (GSC or TC) */ + const float *inp, /* i : input signal */ + const float S_map[], /* i : short-term correlation map */ + const int16_t flag_spitch /* i : flag to indicate very short stable pitch */ +); + +/*! r: S/M decision (0=speech or noise,1=unclear,2=music) */ +int16_t ivas_acelp_tcx20_switching( + Encoder_State *st, /* i/o: encoder state structure */ + const float *inp, /* i : new input signal */ + const float *wsp, /* i : input weighted signal */ + const float non_staX, /* i : unbound non-stationarity for sp/mu clas */ + const float *pitch_fr, /* i : fraction pitch values */ + const float *voicing_fr, /* i : fractional voicing values */ + const float currFlatness, /* i : flatness */ + const float lsp_mid[M], /* i : LSPs at the middle of the frame */ + const float stab_fac, /* i : LP filter stability */ + float *res_cod_SNR_M, + const int16_t flag_16k_smc /* i : flag to indicate if the OL SMC is run at 16 kHz */ +); + +void ivas_decision_matrix_enc( + Encoder_State *st, /* i/o: encoder state structure */ + const int32_t element_brate, /* i : element bitrate */ + const float fft_buff[], /* i : FFT buffer */ + const float enerBuffer[], /* i : energy buffer */ + const int16_t last_element_mode /* i : last element mode */ +); + +void ivas_signaling_enc( + Encoder_State *st, /* i/o: encoder state structure */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int32_t element_brate, /* i : element bitrate */ + const int16_t tdm_SM_flag, /* i : channel combination scheme flag in TD stereo */ + const int16_t tdm_Pitch_reuse_flag /* i : primary channel pitch reuse flag in TD stereo*/ +); + +void ivas_decision_matrix_dec( + Decoder_State *st, /* i/o: decoder state structure */ + int16_t *sharpFlag, /* o : formant sharpening flag */ + int16_t *core_switching_flag, /* o : ACELP->HQ switching frame flag */ + const int32_t element_brate, /* i : element bitrate */ + const int16_t nchan_out /* i : Number of output channels */ +); + +void set_bw_stereo( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structures */ +); + +/*! r: flag indicating whether the coded BW has changed */ +int16_t set_bw_mct( + CPE_ENC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE encoder structures */ + const int16_t nCPE /* i : number of CPEs */ +); + +void acelp_fast( + BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ + const int16_t cdk_index, /* i : codebook index */ + const float dn_orig[L_SUBFR], /* i : corr. between target and h[]. */ + const float cn[L_SUBFR], /* i : residual after long term prediction */ + const float H[L_SUBFR], /* i : impulse response of weighted synt.filter*/ + float code[L_SUBFR], /* o : algebraic (fixed) codebook excitation */ + float y[], /* o : filtered fixed codebook excitation */ + const int16_t L_subfr /* i : subframe length */ +); + +void dec_acelp_fast( + Decoder_State *st, /* i/o: decoder state structure */ + const int16_t cdk_index, /* i : codebook index */ + float code[], /* o : algebraic (fixed) codebook excitation */ + const int16_t L_subfr /* i : subframe length */ +); + +void set_transient_stereo( + CPE_ENC_HANDLE hCPE, /* i : CPE structure */ + float currFlatness[] /* i/o: current flatness */ +); + +void ivas_post_proc( + SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const int16_t n, /* i : channel number */ + float synth[], /* i/o: output synthesis signal */ + float output[CPE_CHANNELS][L_FRAME48k], /* i/o: output synthesis signal */ + const int16_t output_frame, /* i : output frame length */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void ivas_renderer_select( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_mc_enc_config( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +ivas_error ivas_mc_dec_config( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t idx /* i : LS config. index */ +); + +/*! r: MC format mode (MCT, McMASA, ParamMC) */ +MC_MODE ivas_mc_mode_select( + const MC_LS_SETUP mc_ls_setup, /* i : loudspeaker setup (CICP) */ + const int32_t total_brate /* i : IVAS total bitrate */ +); + +/*! r: number of loudspeaker channels */ +int16_t ivas_mc_ls_setup_get_num_channels( + const MC_LS_SETUP mc_ls_setup /* i : loudspeaker setup (CICP) */ +); + +/*! r: output configuration*/ +AUDIO_CONFIG ivas_mc_map_ls_setup_to_output_config( + const MC_LS_SETUP mc_ls_setup /* i : multi channel loudspeaker setup */ +); + +/*! r: multi channel loudspeaker setup */ +MC_LS_SETUP ivas_mc_map_output_config_to_mc_ls_setup( + const AUDIO_CONFIG output_config /* i : output audio configuration */ +); + +/*! r: limiter struct handle */ +IVAS_LIMITER_HANDLE ivas_limiter_open( + const int16_t num_channels, /* i : number of I/O channels */ + const int32_t sampling_rate /* i : sampling rate for processing */ +); + +void ivas_limiter_close( + IVAS_LIMITER_HANDLE* phLimiter /* i/o: pointer to limiter handle, can be NULL */ +); + +void ivas_limiter_dec +( + IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ + float output[MAX_OUTPUT_CHANNELS][L_FRAME48k], /* i/o: input/output buffer */ + const int16_t num_channels, /* i : number of channels to be processed */ + const int16_t output_frame, /* i : number of samples per channel in the buffer */ + const int16_t BER_detect /* i : BER detect flag */ +); + +void limiter_process( + IVAS_LIMITER_HANDLE hLimiter, /* i/o: limiter struct handle */ + const int16_t output_frame, /* i : number of samples to be processed per channel in the I/O buffer */ + const float threshold, /* i : signal amplitude above which limiting starts to be applied */ + const int16_t BER_detect, /* i : BER detect flag */ + int16_t *strong_saturation_cnt /* i/o: counter of strong saturations (can be NULL) */ +); + +void smooth_dft2td_transition( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[CPE_CHANNELS][L_FRAME48k], /* i/o: synthesis @external Fs */ + const int16_t output_frame /* i : output frame length */ +); + +#ifdef DEBUG_MODE_INFO +void output_debug_mode_info_dec( + Decoder_State **sts, + const int16_t n_channels, + const int16_t output_frame, + float pitch_buf[CPE_CHANNELS][NB_SUBFR16k] +); +#endif + +/*! r: flag indicating a valid bitrate */ +int16_t is_IVAS_bitrate( + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +int16_t is_DTXrate( + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +int16_t is_SIDrate( + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +void ivas_mdft( + const float *pIn, /* i : input time-domain signal */ + float *pOut_re, /* o : Real part of MDFT signal */ + float *pOut_im, /* o : Imag. part of MDFT signal */ + const int16_t length, /* i : signal length */ + const int16_t mdft_length /* i : MDFT length */ +); + +void ivas_imdft( + const float *pRe, /* i : Real part of MDFT signal */ + const float *pIm, /* i : Imag. part of MDFT signal */ + float *pOut, /* o : output time-domain signal */ + const int16_t length /* i : signal length */ +); + + +/*----------------------------------------------------------------------------------* + * ISm prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_ism_config( + const int32_t ism_total_brate, /* i : ISms total bitrate */ + const int16_t num_trans_ch, /* i : number of trans channels */ + const int16_t num_obj, /* i : number of objects */ + ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ + const int16_t localVAD[MAX_NUM_OBJECTS], /* i : local VAD flag */ + const int16_t ism_imp[], /* i : ISM importance flags */ + int32_t element_brate[], /* o : element bitrate per object */ + int32_t total_brate[], /* o : total bitrate per object */ + int16_t nb_bits_metadata[] /* i/o: number of metadata bits */ +); + +void ivas_ism_reset_metadata( + ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handles */ +); + +void ivas_ism_reset_metadata_API( + ISM_METADATA_HANDLE hIsmMeta /* i/o: ISM metadata handles */ +); + +/*! r: index of the winning codeword */ +int16_t ism_quant_meta( + const float val, /* i : scalar value to quantize */ + float *valQ, /* o : quantized value */ + const float borders[], /* i : level borders */ + const int16_t cbsize /* i : codebook size */ +); + +/*! r: dequantized value */ +float ism_dequant_meta( + const int16_t idx, /* i : quantizer index */ + const float borders[], /* i : level borders */ + const int16_t cbsize /* i : codebook size */ +); + +ivas_error set_ism_metadata( + ISM_METADATA_HANDLE hIsmMeta, /* i/o: ISM metadata handle */ + float azimuth, /* i : azimuth */ + float elevation /* i : elevation */ +); + +ivas_error create_ism_metadata_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t n_ISms, /* i : number of objects */ + int32_t element_brate_tmp[] /* o : element bitrate per object */ +); + +ivas_error create_ism_metadata_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t n_ISms, /* i : number of objects */ + int32_t element_brate_tmp[] /* o : element bitrate per object */ +); + +ivas_error ivas_ism_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + float data[MAX_NUM_OBJECTS][L_FRAME48k], /* i : input signal */ + const int16_t input_frame, /* i : input frame length per channel */ + int16_t *nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error ivas_ism_metadata_enc( + const int32_t ism_total_brate, /* i : ISms total bitrate */ + const int16_t nchan_transport, /* i : number of transport channels */ + ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ + SCE_ENC_HANDLE hSCE[], /* i/o: SCE encoder handles */ + BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ + int16_t nb_bits_metadata[], /* o : number of metadata bits */ + const int16_t localVAD[], /* i : VAD flag */ + const int16_t ism_mode, /* i : ISM mode */ + const PARAM_ISM_CONFIG_HANDLE hParamIsm /* i : Param ISM Config Handle */ +); + +ivas_error ivas_ism_metadata_dec( + const int32_t ism_total_brate, /* i : ISms total bitrate */ + int16_t *nchan_transport, /* o : number of transport channels */ + ISM_METADATA_HANDLE hIsmMeta[], /* i/o: ISM metadata handles */ + SCE_DEC_HANDLE hSCE[], /* i/o: SCE decoder handles */ + const int16_t bfi, /* i : bfi flag */ + int16_t nb_bits_metadata[], /* o : number of metadata bits */ + ISM_MODE ism_mode, /* i : ISM mode */ + const PARAM_ISM_CONFIG_HANDLE hParamIsm /* i : Param ISM Config Handle */ +); + + +/*----------------------------------------------------------------------------------* + * Parametric ISM prototypes + *----------------------------------------------------------------------------------*/ + +/*! r: ISM format mode */ +ISM_MODE ivas_ism_mode_select( + const int16_t nchan_inp, /* i : number of input objects */ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +ivas_error ivas_param_ism_enc_open( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +void ivas_param_ism_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + float data[MAX_NUM_OBJECTS][L_FRAME48k], /* i : input signal */ + const int16_t input_frame /* i : input frame length per channel */ +); + +void ivas_param_ism_enc_close( + DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ + const int32_t input_Fs /* i : input sampling_rate */ +); + +void ivas_param_ism_stereo_dmx( + Encoder_Struct *st_ivas, /* i : IVAS encoder structure */ + float data[MAX_NUM_OBJECTS][L_FRAME48k], /* i/o: input signal/stereo dmx */ + const int16_t input_frame /* i : Length of input frame */ +); + +void ivas_param_ism_config( + PARAM_ISM_CONFIG_HANDLE hParamIsm /* i/o: IVAS Param ISM Config Structure */ +); + +ivas_error ivas_ism_enc_config( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +ivas_error ivas_ism_dec_config( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t num_obj /* i : number of objects in the bitstream */ +); + +ivas_error ivas_param_ism_dec_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_param_ism_dec_close( + DIRAC_DEC_HANDLE hDirAC, /* i/o: decoder DirAC handle */ + const AUDIO_CONFIG output_config /* i : output audio configuration */ +); + +void ivas_param_ism_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ +); + +void ivas_param_ism_params_to_masa_param_mapping( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +/*----------------------------------------------------------------------------------* + * DFT Stereo prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error stereo_dft_enc_create( + STEREO_DFT_ENC_DATA_HANDLE *hStereoDft, /* o : encoder DFT stereo handle */ + const int32_t input_Fs, /* i : input sampling rate */ + const int16_t max_bwidth /* i : maximum encoded bandwidth */ +); + +void stereo_dft_enc_reset( + STEREO_DFT_ENC_DATA_HANDLE hStereoDft /* i/o: encoder stereo handle */ +); + +void stereo_enc_itd_init( + ITD_DATA_HANDLE hItd /* i/o: encoder ITD handle */ +); + +void stereo_dft_enc_update( + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ + const int16_t max_bwidth /* i : maximum encoded bandwidth */ +); + +void stereo_dft_enc_destroy( + STEREO_DFT_ENC_DATA_HANDLE *hStereoDft /* i/o: encoder DFT stereo handle */ +); + +void stereo_dft_enc_analyze( + Encoder_State **sts, /* i/o: encoder state structure */ + const int16_t n_channels, /* i : number of input channels */ + const int16_t input_frame, /* i : input frame length */ + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: encoder MDCT stereo handle */ + float DFT[CPE_CHANNELS][STEREO_DFT_N_MAX_ENC], /* o : DFT buffers */ + float *input_mem[CPE_CHANNELS] /* i/o: input buffer memory */ +); + +float stereo_dft_enc_synthesize( + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ + float *output, /* o : output synthesis */ + const int16_t chan, /* i : channel number */ + const int32_t input_Fs, /* i : input sampling rate */ + const int32_t output_sampling_rate, /* i : output sampling rate */ + const int16_t L_frame /* i : frame length at internal Fs */ +); + +void stereo_dft_enc_process( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ + const int16_t vad_hover_flag[], /* i: VAD hangover flags */ +#endif + const int16_t input_frame /* i : input frame length */ +); + +void stereo_dft_enc_res( + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: encoder DFT stereo handle */ + const float *input_8k, /* i : input buffer sampled at 8kHz */ + BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ + int16_t *nb_bits, /* o : number of bits written */ + const int16_t max_bits +); + +void stereo_dft_enc_write_BS( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + int16_t *nb_bits /* o : number of bits written */ +); + +void stereo_dtf_cng( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i/o: DFT buffers */ + const int16_t output_frame /* i : output frame size */ +); + +void stereo_dft_cng_side_gain( + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo encoder handle */ + STEREO_CNG_ENC_HANDLE hStereoCng, /* i/o: Stereo CNG data structure */ + const int32_t core_brate, /* i : core bitrate */ + const int32_t last_core_brate, /* i : last core bitrate */ + const int16_t bwidth /* i : audio band-width */ +); + +void stereo_dft_quantize_res_gains( + const float *g, + const float *r, + float *gq, + float *rq, + int16_t *ig, + int16_t *ir +); + +void stereo_dft_dequantize_itd( + int16_t *ind, + float *out, + const int32_t output_Fs +); + +void stereo_dft_enc_sid_calc_coh( + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ +#ifdef FIX_ITD_CNG + float prev_cohBand[2*(STEREO_DFT_BAND_MAX/2)], /* i/o: Previous coherence */ +#else + float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ +#endif + int16_t *td_active, /* i/o: TD stereo mode indicator */ + int16_t *first_SID, /* i/o: First SID indicator */ + float *cohBand /* i/o: Coherence per band */ +); + +void stereo_dft_enc_sid_coh( + BSTR_ENC_HANDLE hBstr, /* i/o: bitstream handle */ + float *mem_cohBand, /* i/o: Coherence memory */ + const int16_t nbands, /* i : number of DFT stereo bands */ + int16_t *nb_bits, /* i/o: number of bits written */ + float *cohBand /* i/o: Coherence per band */ +); + +void stereo_dft_dec_sid_coh( + Decoder_State *st, /* i/o: decoder state structure */ + const int16_t nbands, /* i : number of DFT stereo bands */ + float *coh, /* i/o: coherence */ + int16_t *nb_bits /* i/o: number of bits read */ +); + +ivas_error stereo_dft_dec_create( + STEREO_DFT_DEC_DATA_HANDLE *hStereoDft, /* i/o: decoder DFT stereo handle */ + const int32_t element_brate, /* i : element bitrate */ + const int32_t output_Fs, /* i : output sampling rate */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void stereo_dft_dec_reset( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft /* i/o: decoder DFT stereo handle */ +); + +void stereo_dft_dec_update( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ + const int16_t output_frame, /* i : output frame length */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void stereo_dft_dec_destroy( + STEREO_DFT_DEC_DATA_HANDLE *hStereoDft /* i/o: decoder DFT stereo handle */ +); + +void stereo_dft_dec_analyze( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const float *input, /* i : input signal */ + float out_DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* o : DFT buffers */ + const int16_t chan, /* i : channel number */ + const int16_t input_frame, /* i : input frame size */ + const int16_t output_frame, /* i : output frame size */ + const DFT_STEREO_DEC_ANA_TYPE ana_type, /* i : signal type to analyze */ + const int16_t k_offset, /* i : offset of DFT */ + const int16_t delay /* i : delay in samples for input signal */ +); + +void stereo_dft_dec_synthesize( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i : DFT buffers */ + const int16_t chan, /* i : channel number */ + float output[L_FRAME48k], /* o : output synthesis signal */ + const int16_t output_frame /* i : output frame length */ +); + +void stereo_dft_dec( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ + Decoder_State *st0, /* i/o: decoder state structure */ + float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i/o: DFT buffers */ + float *input_mem, /* i/o: mem of buffer DFT analysis */ + STEREO_CNG_DEC_HANDLE hStereoCng, /* i/o: Stereo CNG data structure */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void stereo_dft_res_ecu( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: Decoder DFT stereo handle */ + float *pDFT_RES, /* i/o: residual signal */ + float *const DFT_PRED_RES, /* i/o: residual prediction signal */ + const int16_t k, /* i : Subframe index */ + const int16_t output_frame, /* i : Output frame length */ + const int16_t prev_bfi, /* i : Previous BFI */ + const float dmx_nrg, /* i : Down-mix energy */ + int16_t *num_plocs, /* i/o: Number of peak locations */ + int16_t *plocs, /* i/o: Peak locations (bin) */ + float *plocsi, /* i/o: Peak locations (fractional) */ + float *input_mem /* o : Residual DFT buffer input mem */ +); + +void stereo_dft_res_subst_spec( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: Decoder DFT stereo handle */ + float *pDFT_RES, /* i/o: residual signal */ + const float *const DFT_PRED_RES, /* i : residual prediction signal */ + const int16_t time_offs, /* i : Time offset for phase adjustm. */ + const int16_t L_res, /* i : bandwidth of residual signal */ + const int16_t L_ana, /* i : Length of FFT analysis */ + const int16_t k, /* i : Subframe index */ + int16_t *num_plocs, /* i/o: Number of peak locations */ + int16_t *plocs, /* i/o: Peak locations (bin) */ + float *plocsi, /* i/o: Peak locations (fractional) */ + const int16_t analysis_flag /* i : Flag for running peak analysis */ +); + +void stereo_dft_res_ecu_burst_att( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: Decoder DFT stereo handle */ + float *pDFT_RES, /* i/o: residual signal /att. residual */ + const float dmx_nrg, /* i : dmx energy of current frame */ + const int16_t L_res, /* i : Bandwidth of residual */ + const int16_t L_ana /* i : Length of FFT analysis */ +); + +/*! r: total energy of downmix with maximum swb bandwidth max */ +float stereo_dft_dmx_swb_nrg( + const float *dmx_k0, /* i : first subframe spectrum */ + const float *dmx_k1, /* i : second subframe spectrum */ + const int16_t frame_length /* i : frame lanegth */ +); + +int16_t stereo_dft_sg_recovery( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft /* i/o: Decoder DFT stereo handle */ +); + +void stereo_dft_dec_res( + CPE_DEC_HANDLE hCPE, /* i/o: decoder CPE handle */ + float res_buf[STEREO_DFT_BUF_MAX], /* i : residual buffer */ + float *output /* o : output frame */ +); + +/*! r: Decision to enable or disable BPF on DFT stereo residual */ +int16_t res_bpf_adapt( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo decoder handle */ + const float *bpf_error_signal_8k, /* i : BPF modification signal */ + float res_buf[STEREO_DFT_BUF_MAX] /* i : residual buffer */ +); + +void bpf_pitch_coherence( + Decoder_State *st, /* i/o: decoder state structure */ + const float pitch_buf[] /* i : pitch for each subframe [0,1,2,3] */ +); + +void stereo_dft_dec_read_BS( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int32_t element_brate, /* i : element bitrate */ + int32_t *total_brate, /* o : total bitrate */ + Decoder_State *st, /* i/o: decoder state structure */ + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ + const int16_t bwidth, /* i : bandwidth */ + const int16_t output_frame, /* i : output frame length */ + float res_buf[STEREO_DFT_BUF_MAX], /* o : residual buffer */ + int16_t *nb_bits, /* o : number of bits read */ + float *coh, /* i/o: Coherence */ + const int16_t ivas_format /* i : ivas format */ +); + +void stereo_dft_dec_smooth_parameters( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ + const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ +#ifdef FIX_ITD_CNG + , + const int16_t active_frame_counter, /* i : Active frame counter */ + const int32_t element_brate /* i : Element bitrate */ +#endif +); + +void stereo_dft_generate_res_pred( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ + const float samp_ratio, /* i : sampling ratio */ + float *pDFT_DMX, /* i : downmix signal */ + float *DFT_PRED_RES, /* o : residual prediction signal */ + float *pPredGain, /* i : residual prediction gains */ + const int16_t k, /* i : subframe index */ + float *ap_filt_DMX, /* i : enhanced stereo filling signal */ + int16_t *stop, /* o : last FD stereo filling bin */ + const int16_t bfi /* i : BFI flag */ +); + +void stereo_dft_dec_core_switching( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[], /* i/o: synthesis @internal Fs */ + float synth[], /* i : synthesis @output Fs */ + float hb_synth[], /* i/o: hb synthesis */ + float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* o : DFT buffers */ + const int16_t output_frame, /* i : output frame length */ + const int16_t use_cldfb_for_dft, /* i : flag to use of CLDFB for DFT Stereo */ + const int16_t sba_dirac_stereo_dtx_flag /* i : DTX indicator for SBA DirAC stereo */ +); + +void init_basic_allpass( + basic_allpass_t *ap, /* i/o: basic allpass structure */ + const float *gains, /* i : allpass filter gains */ + const int16_t *delays /* i : allpass filter delays */ +); + +void filter_with_allpass( + const float *sig, /* i : allpass input signal */ + float *out, /* o : filtered output */ + const int16_t len, /* i : length of input */ + basic_allpass_t *ap /* i/o: basic allpass structure */ +); + +/*! r: used GR order */ +int16_t write_bitstream_adapt_GR( + BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ + const int16_t Indice, /* i : identifier for bitstream index */ + const int16_t *in, /* i : values to be written in bitstream */ + const int16_t len, /* i : values vector length */ + const int16_t GR_ord, /* i : GR order to be used */ + const int16_t sp_aud_decision /* i : speech/music 0/1 */ +); + +/*! r: used GR order */ +int16_t adapt_GR_ief( + const int16_t *in, /* i : vector to encode */ + int16_t *in_diff, /* o : encoded symbols in case of differential encoding */ + const int16_t *prev, /* i : previous frame data */ + const int16_t len, /* i : input vector length */ + const int16_t no_symb, /* i : number of symbols */ + int16_t *nbits, /* o : number of used bits */ + int16_t *in_enc, /* o : symbold actually encoded after adapt_GR */ + const int16_t *map0, /* i : mapping array */ + const int16_t no_GR_ord, /* i : number of GR order to try 2: 0,1; 3:0,1,2 */ + int16_t *nbits_diff, /* o : number bits in diff encoding */ + const int16_t side_gain_counter, /* i : number of frames since last abs coding */ + float *side_gain_bitdiff_lp, /* i/o: LP-filtered bit difference between abs/diff */ + const int16_t try_diff /* i : diff coding allowed 1/0 */ +); + +/*! r: used GR order */ +int16_t adapt_GR_rpg1_ief( + const int16_t *in, /* i : res pred gains input vector */ + int16_t *in_diff, /* o : encoded symbols in case of differential encoding */ + const int16_t *prev, /* i : previous frame data */ + const int16_t len, /* i : input vector length */ + const int16_t no_symb, /* i : number of symbols */ + int16_t *nbits, /* o : number of used bits */ + int16_t *in_enc, /* o : symbold actually encoded after adapt_GR */ + const int16_t *maps, /* i : mapping array */ + int16_t *nbits_diff, /* o : estimated no of bits for differential encoding */ + const int16_t no_GR_ord, /* i : number of GR order to try 2: 0,1; 3:0,1,2 */ + const int16_t try_diff /* i : diff coding allowed 1/0 */ +); + +/*! r: number of bits written */ +int16_t write_GR1( + BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ + const int16_t ind, /* i : bitstream index */ + const int16_t *in, /* i : input vector */ + const int16_t len /* i : vector length */ +); + +/*! r: number of bits written */ +int16_t write_bitstream_GR( + BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ + const int16_t ind, /* i : bitstream index */ + const int16_t *in, /* i : input date to be written */ + const int16_t len, /* i : input data length */ + const int16_t GR_ord /* i : GR order to be used */ +); + +/*! r: number of bits read */ +int16_t read_flag_EC_DFT( + const uint16_t *bit_stream, /* i : bitstream */ + int16_t *flag /* o : flag value */ +); + +/*! r: number of bits read */ +int16_t read_BS_GR( + const uint16_t *bit_stream, /* i : bitstream to be read */ + const int16_t nb, /* i : starting point in bitstream */ + int16_t *ind1, /* o : data array read */ + const int16_t len, /* i : number of params to be read */ + int16_t *GR_ord /* o : GR order to be used */ +); + +/*! r: number of bits read */ +int16_t read_BS_adapt_GR_rpg( + const uint16_t *bit_stream, /* i : bitstream to be read */ + const int16_t nb, /* i : starting point in bitstream */ + int16_t *ind1_pred, /* o : decoded res pred gains */ + const int16_t start, /* i : starting subband */ + const int16_t total_no, /* i : number of params to be read */ + int16_t *GR_ord /* o : GR order - read */ +); + +/*! r: value read on nbits from bitstream */ +int16_t get_value( + const uint16_t *bit_stream, /* i : bitstream */ + const int16_t nbits /* i : number of bits to be read */ +); + +/*! r: number of bits read */ +int16_t read_itd( + Decoder_State *st, /* i : decoder state */ + int16_t *pI /* o : decoded ITD value */ +); + +/*! r: number of bits read */ +int16_t read_BS_adapt_GR_sg( + const uint16_t *bit_stream, /* i : bitstream to be read */ + const int16_t nb, /* i : starting position to be read */ + int16_t *ind1, /* o : decoded side gain values */ + const int16_t len, /* i : number of params to be read */ + int16_t *GR_ord, /* o : GR order to be used */ + const int16_t *map0 /* i : mapping array for side gains */ +); + +void stereo_dft_hybrid_ITD_flag( + STEREO_DFT_CONFIG_DATA_HANDLE hConfig, /* o : DFT stereo configuration */ + const int32_t input_Fs /* i : CPE element sampling rate */ +); + +void stereo_dft_enc_compute_itd( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + float *DFT_L, + float *DFT_R, + const int16_t k_offset, + const int16_t input_frame, +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], + const int16_t vad_hover_flag[], +#endif + float *bin_nrgL, + float *bin_nrgR +); + +void stereo_dft_config( + STEREO_DFT_CONFIG_DATA_HANDLE hConfig, /* o : DFT stereo configuration */ + const int32_t brate, /* i : IVAS/CPE/nominal total bitrate */ + int16_t *bits_frame_nominal, /* o : primary channel nominal bits per frame */ + int16_t *bits_frame_nominal_2 /* o : secondary channel nominal bits per frame*/ +); + +int16_t stereo_dft_band_config( + int16_t *band_limits, /* o : DFT band limits */ + const int16_t band_res, /* i : DFT band resolution */ + const int16_t NFFT, /* i : analysis/synthesis window length */ + const int16_t enc_dec /* i : flag to indicate enc vs dec */ +); + +void stereo_td_itd( + ITD_DATA *hITD, /* i/o: ITD data structure */ + float input_mem_itd[CPE_CHANNELS][STEREO_DFT_OVL_MAX], /* o : ITD memory (only used in DFT Stereo) */ + const int16_t hybrid_itd_flag, /* i : flag for hybrid TD/FD ITD processing */ +#ifdef DEBUG_MODE_DFT + const int16_t itd_mode, /* i : main ITD processing flag */ +#endif + const int16_t dft_ovl, /* i : size of DFT overlap */ + Encoder_State **sts, /* i/o: Encoder state structure */ + const int16_t input_frame, /* i : input frame length */ + float *input_mem[CPE_CHANNELS] /* i/o: input buffer memory */ +); + +void stereo_dft_dmx_out_reset( + STEREO_DFT_DMX_DATA_HANDLE hStereoDftDmx /* i/o: DFT stereo DMX decoder */ +); + +void stereo_dft_unify_dmx( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder stereo handle */ + Decoder_State *st0, /* i/o: decoder state structure */ + float DFT[CPE_CHANNELS][STEREO_DFT_BUF_MAX], /* i/o: DFT buffers */ + float *input_mem, /* i/o: mem of buffer DFT analysis */ + const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ +); + +void add_HB_to_mono_dmx( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[L_FRAME48k], /* i/o: output synthesis */ + float outputHB[L_FRAME48k], /* i : HB synthesis */ + const int16_t last_core, /* i : last core, primary channel */ + const int16_t output_frame /* i : frame length */ +); + +/*----------------------------------------------------------------------------------* + * Range Coder prototypes + *----------------------------------------------------------------------------------*/ + +void rc_uni_enc_init( + RangeUniEncState *rc_st_enc /* i/o: RC state handle */ +); + +void rc_uni_enc_encode_fast( + RangeUniEncState *rc_st_enc, /* i/o: RC state handle */ + const uint16_t cum_freq, /* i : Cumulative frequency up to symbol */ + const uint16_t sym_freq, /* i : Symbol frequency */ + const uint16_t tot_shift /* i : Total frequency as a power of 2 */ +); + +void rc_uni_enc_encode_symbol_fastS( + RangeUniEncState *rc_st_enc, /* i/o: Encoder state */ + const uint16_t symbol, /* i : Symbol to encode */ + const uint16_t cum_freq[], /* i : Cumulative frequency up to symbol */ + const uint16_t sym_freq[], /* i : Symbol frequency */ + const uint16_t tot_shift /* i : Total frequency as a power of 2 */ +); + +void rc_uni_enc_encode_bits( + RangeUniEncState *rc_st_enc, /* i/o: RC state handle */ + const uint16_t value, /* i : Value to encode */ + const int16_t bits /* i : Number of bits */ +); + +/*! r: Total number of bits produced */ +int16_t rc_uni_enc_virtual_finish( + RangeUniEncState *rc_st_enc /* i : RC state handle */ +); + +/*! r: Total number of bits produced */ +int16_t rc_uni_enc_finish( + RangeUniEncState *rc_st_enc /* i/o: RC state handle */ +); + +void rc_uni_dec_init( + RangeUniDecState *rc_st_dec, /* i/o: RC state handle */ + uint16_t *bit_buffer, /* i : Bit buffer */ + const int16_t max_available_bits /* i : Total maximum bits available */ +); + +/*! r: Read symbol */ +uint16_t rc_uni_dec_read_symbol_fastS( + RangeUniDecState *rc_st_dec, /* i/o: Decoder State */ + const uint16_t cum_freq_table[], /* i : Cumulative frequency up to symbol */ + const uint16_t sym_freq_table[], /* i : Symbol frequency */ + const uint16_t alphabet_size, /* i : Number of symbols in the alphabet */ + const uint16_t tot_shift /* i : Total frequency as a power of 2 */ +); + +/*! r: Read bit */ +uint16_t rc_uni_dec_read_bit( + RangeUniDecState *rc_st_dec /* i/o: RC state handle */ +); + +/*! r: Read bit */ +uint16_t rc_uni_dec_read_bit_prob_fast( + RangeUniDecState *rc_st_dec, /* i/o: RC state handle */ + const int16_t freq0, /* i : Frequency for symbol 0 */ + const uint16_t tot_shift /* i : Total frequency as a power of 2 */ +); + +/*! r: Read bits */ +uint16_t rc_uni_dec_read_bits( + RangeUniDecState *rc_st_dec, /* i/o: RC state handle */ + const int16_t bits /* i : Number of bits */ +); + +/*! r: Total number of bits consumed */ +int16_t rc_uni_dec_virtual_finish( + RangeUniDecState *rc_st_dec /* i/o: RC state handle */ +); + +/*! r: Total number of bits consumed */ +int16_t rc_uni_dec_finish( + RangeUniDecState *rc_st_dec /* i/o: RC state handle */ +); + + +/*----------------------------------------------------------------------------------* + * ECLVQ Stereo prototypes + *----------------------------------------------------------------------------------*/ + +float ECSQ_dequantize_gain( + const int16_t index +); + +void ECSQ_quantize_vector( + const float *input, + const float global_gain, + const int16_t N, + int16_t *output +); + +float ECSQ_compute_optimal_gain( + const float *input, + const int16_t N, + const int16_t *output +); + +void ECSQ_init_instance( + ECSQ_instance *ecsq_inst, + const int16_t config_index, + void *ac_handle +); + +int32_t ECSQ_encode_target_SNR( + ECSQ_instance *ecsq_inst, + const float *input, + const int16_t N, + const float target_SNR, + const int16_t max_bits, + float *output, + int16_t *global_gain_index_output +); + +void ECSQ_decode( + ECSQ_instance *ecsq_inst, + const int16_t N, + int16_t *output +); + +void ECSQ_dequantize_vector( + const int16_t *input, + const float global_gain, + const int16_t N, + float *output +); + + +/*----------------------------------------------------------------------------------* + * ICA Stereo prototypes + *----------------------------------------------------------------------------------*/ + +void stereo_tca_init_enc( + STEREO_TCA_ENC_HANDLE hStereoTCA, /* i/o: Stereo TCA encoder handle */ + const int32_t input_Fs /* i : input sampling frequency */ +); + +void stereo_tca_enc( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + const int16_t input_frame /* i : length of a frame per channel */ +); + +void stereo_tca_init_dec( + STEREO_TCA_DEC_HANDLE hStereoTCA /* i/o: Stereo TCA handle */ +); + +void stereo_tca_dec( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float synth[CPE_CHANNELS][L_FRAME48k], /* i/o: output synth */ + const int16_t output_frame /* i : length of a frame per channel */ +); + +void stereo_tca_scale_R_channel( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[L_FRAME48k], /* i/o: output synthesis, R channel */ + const int16_t output_frame /* i : frame length */ +); + +void adjustTargetSignal( + float *target, + const int16_t prevShift, + const int16_t currShift, + const int16_t L_shift_adapt, + const int16_t method +); + + +/*----------------------------------------------------------------------------------* + * IC-BWE Stereo prototypes + *----------------------------------------------------------------------------------*/ + +void stereo_icBWE_init_enc( + STEREO_ICBWE_ENC_HANDLE hStereoICBWE /* i/o: Stereo inter-channel BWE handle */ +); + +void spectral_balancer( + float *signal, + float *mem, + const int16_t lg, + const int16_t coeff_set +); + +void stereo_icBWE_preproc( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const int16_t input_frame, /* i : input frame length */ + float shb_speech_nonref[] /* o : SHB speech non-ref channel */ +); + +void stereo_icBWE_enc( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const float shb_speech_ref[], /* i : SHB speech ref channel */ + float shb_speech_nonref[], /* i/o: SHB speech non-ref channel */ + const float *voice_factors /* i : voicing factors */ +); + +void stereo_icBWE_init_dec( + STEREO_ICBWE_DEC_HANDLE hStereoICBWE /* i/o: Stereo inter-channel BWE handle */ +); + +void stereo_icBWE_dec( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float *synthRef, /* i/o: Reference channel HB synthesis at output Fs */ + float *synth, /* o : Non reference channel HB synthesis at output Fs */ + const float *fb_synth_ref, /* i : ref. high-band synthesis 16-20 kHz */ + const float *voice_factors, /* i : voicing factors */ + const int16_t output_frame /* i : frame length */ +); + +void stereo_icBWE_decproc( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[CPE_CHANNELS][L_FRAME48k], /* i/o: output symthesis */ + float outputHB[CPE_CHANNELS][L_FRAME48k], /* i : HB synthesis */ + const int16_t last_core, /* i : last core, primary channel */ + const int16_t last_bwidth, /* i : last bandwidth */ + const int16_t output_frame /* i : frame length */ +); + + +/*----------------------------------------------------------------------------------* + * Stereo classifiers prototypes + *----------------------------------------------------------------------------------*/ + +/*! r: element mode */ +int16_t select_stereo_mode( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + const int32_t ivas_total_brate /* i : IVAS total brate */ +); + +void stereo_classifier_init( + STEREO_CLASSIF_HANDLE hStereoClassif /* i/o: stereo classifier structure */ +); + +void stereo_classifier_features( + STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */ + const int16_t idchan, /* i : channel ID */ + const int16_t element_mode, /* i : element mode */ + const int16_t vad_flag, /* i : VAD flag */ + const float lsf_new[], /* i : LSFs at the end of the frame */ + const float epsP[], /* i : LP analysis residual energies for each iteration*/ + const int16_t pitch[], /* i : open-loop pitch values for quantiz. */ + const float voicing[], /* i : OL maximum normalized correlation */ + const float cor_map_sum, /* i : speech/music clasif. parameter */ + const float non_staX, /* i : unbound non-stationarity for sp/mu clas. */ + const float sp_div, /* i : spectral diversity feature */ + const int16_t clas /* i : signal class */ +); + +void unclr_classifier_dft( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ +); + +void unclr_classifier_td( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ +); + +void xtalk_classifier_dft( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const int16_t itd, /* i : ITD from DFT stereo - used as a feature */ + const float gcc_phat[] /* i : GPHAT cross-channel correlation function */ +); + +void xtalk_classifier_td( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder structure */ +); + + +/*----------------------------------------------------------------------------------* + * TD Stereo prototypes + *----------------------------------------------------------------------------------*/ + +void stereo_td_init_enc( + STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle */ + const int16_t last_element_mode /* i : last element mode */ +); + +ivas_error stereo_set_tdm( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + const int16_t input_frame /* i : input frame length per channel */ +); + +void stereo_tdm_prep_dwnmx ( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + const float *input1, /* i : right channel input */ + const int16_t input_frame /* i : frame lenght */ +); +int16_t stereo_tdm_ener_analysis( + CPE_ENC_HANDLE hCPE, /* i : CPE structure */ + const int16_t input_frame, /* i : Number of samples */ + int16_t *tdm_SM_or_LRTD_Pri, /* o : channel combination scheme flag in TD stereo OR LRTD primary channel */ + int16_t *tdm_ratio_idx_SM /* o : TDM ratio index for SM mode */ +); + +void stereo_tdm_downmix( + STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i : TD stereo IVAS encoder structure */ + float *Left_in, /* i/o: Left channel -> Primary channel */ + float *Right_in, /* i/o: Right channel -> Secondary channel */ + const int16_t input_frame, /* i : Number of samples */ + const int16_t tdm_ratio_idx, /* i : TDM ratio index */ + const int16_t tdm_SM_flag, /* i : channel combination scheme flag */ + const int16_t tdm_ratio_idx_SM /* i : TDM ratio index for SM mode */ +); + +void stereo_td_init_dec( + STEREO_TD_DEC_DATA_HANDLE hStereoTD, /* i/o: TD stereo decoder handle */ + const int16_t last_element_mode /* i : last element mode */ +); + +void tdm_configure_dec( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + int16_t *tdm_ratio_idx, /* o : ratio index */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +void tdm_upmix_plain( + float Left[], /* o : left channel */ + float Right[], /* o : right channel */ + const float PCh_2_L[], /* i : primary channel */ + const float SCh_2_R[], /* i : secondary channel */ + const float LR_ratio, /* i : mixing ratio */ + const float inv_den_LR_ratio, /* i : inverse mixing ration */ + const int16_t start_index, /* i : start index */ + const int16_t end_index, /* i : end index */ + const int16_t plus_minus_flag /* i : plus/minus flag */ +); + +void stereo_tdm_combine( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float *PCh_2_L, /* i/o: Primary channel -> output as L channel */ + float *SCh_2_R, /* i/o: Seconday channel -> output as R channel */ + const int16_t output_frame, /* i : Number of samples */ + const int16_t flag_HB, /* i : flag to distinguish between core (0) and HB (1) synthesis */ + const int16_t tdm_ratio_idx /* i : TDM ratio index */ +); + +/*! r: replication decision; 1 = Use old LP */ +int16_t tdm_lp_comparison( + STEREO_TD_ENC_DATA_HANDLE hStereoTD, /* i/o: TD stereo encoder handle */ + STEREO_CLASSIF_HANDLE hStereoClassif, /* i/o: stereo classifier structure */ + Encoder_State *st, /* i/o: Encoder structure */ + const float *speech, /* i : Current speech frame */ + const float *A_Pch, /* i : primary channel LP coefficients */ + const float *A_SCh, /* i : secondary channel LP coefficients */ + const int16_t m, /* i : filter length */ + const float *isp_PCh, /* i : primary channel LSPs */ + const float *isp_SCh, /* i : secondary channel LSPs */ + const int16_t L_frame, /* i : frame length */ + const int32_t element_brate_wo_meta /* i : element bitrate without metadata */ +); + +/*! r: replication decision; 1 = Use old LP */ +void tdm_ol_pitch_comparison( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + float pitch_fr[CPE_CHANNELS][NB_SUBFR], /* i/o: fractional pitch values */ + float voicing_fr[CPE_CHANNELS][NB_SUBFR] /* i/o: fractional pitch gains */ +); + +void tdm_configure_enc( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ + const int16_t tdm_ratio_idx, /* i : ratio index */ + const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ + const int16_t attack_flag, /* i : Primary channel attack flag */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +ivas_error signaling_enc_secondary( + Encoder_State *st, /* i/o: Encoder structure */ + const int16_t tdm_SM_flag, /* i : channel combination scheme flag */ + const int16_t tdm_Pitch_reuse_flag /* i : primary channel pitch reuse flag */ +); + +void tdm_bit_alloc( + const int32_t element_brate_wo_meta, /* i : element bitrate without metadata */ + const int16_t tdm_lp_reuse_flag, /* i : LPC reusage flag */ + int32_t *total_brate_pri, /* o : Allocated primary channel bitrate */ + int32_t *total_brate_sec, /* o : Allocated secondary channel bitrate */ + int16_t *tdm_low_rate_mode, /* o : secondary channel low rate mode flag */ + const int16_t coder_type, /* i : secondary channel coder type */ + const int16_t ener_ratio_idx, /* i : correlation ratio indexe */ + const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ + const int16_t bwidth_pri, /* i : bandwidth of the primary channel */ + const int16_t bwidth_sec, /* i : bandwidth of the secondary channel */ + const int16_t flag_ACELP16k_pri, /* i : ACELP@16kHz core flag, primary chan. */ + const int16_t tdm_LRTD_flag, /* i : LRTD stereo mode flag */ + const int16_t coder_type0, /* i : coder type (temporary in the encoder, from bitstream in decoder) */ + const int16_t tdm_inst_ratio_idx /* i : instantaneous correlation ratio index */ +); + +void td_stereo_param_updt( + const float lsp_old_PCh[], /* i : primary channel old LSPs */ + const float lsf_old_PCh[], /* i : primary channel old LSFs */ + const float pitch_buf_PCh[], /* i : primary channel pitch buffer */ + float tdm_lspQ_PCh[], /* o : Q LSPs for primary channel */ + float tdm_lsfQ_PCh[], /* o : Q LSFs for primary channel */ + float tdm_Pri_pitch_buf[], /* o : pitch values for primary channel */ + const int16_t flag_ACELP16k, /* i : ACELP@16kHz flag */ + const int16_t tdm_use_IAWB_Ave_lpc /* i : flag to indicate the usage of mean inactive LP coefficients */ +); + +void gsc_enc( + Encoder_State *st, /* i/o: State structure */ + float res_dct_in[], /* i : dct of residual signal */ + float exc_dct_in[], /* i/o: dct of pitch-only excitation / total excitation */ + const int16_t Diff_len, /* i : Lenght of the difference signal (before pure spectral)*/ + const int16_t bits_used, /* i : Number of bit used before frequency Q */ + const int16_t nb_subfr, /* i : Number of subframe considered */ + const float *lsf_new, /* i : ISFs at the end of the frame */ + float *exc_wo_nf, /* o : excitation (in f domain) w/o noisefill */ + float *tmp_noise /* o : long-term noise energy */ +); + +void tdm_low_rate_enc( + Encoder_State *st, /* i/o: State structure */ + const float Aq[], /* i : 12k8 Lp coefficient */ + const float *res, /* i : residual signal */ + float *synth, /* i/o: core synthesis */ + float *exc, /* i/o: current non-enhanced excitation */ + float *pitch_buf, /* i/o: floating pitch values for each subframe */ + float *voice_factors, /* o : voicing factors */ + float *bwe_exc, /* o : excitation for SWB TBE */ + const int16_t attack_flag, /* i : attck flag */ + const float *lsf_new, /* i : current frame ISF vector */ + float *tmp_noise /* o : long-term noise energy */ +); + +/*! r: value of the indice */ +uint16_t get_indice_st( + Decoder_State *st, /* i/o: decoder state structure */ + const int32_t element_brate, /* i : element bitrate */ + const int16_t pos, /* i : absolute position in the bitstream */ + const int16_t nb_bits /* i : number of bits to quantize the indice */ +); + +void tdm_low_rate_dec( + Decoder_State *st, /* i/o: decoder static memory */ + float dct_epit[], /* o : GSC excitation in DCT domain */ + float *tmp_noise, /* o : long term temporary noise energy */ + float *pitch_buf, /* o : floating pitch values for each subframe */ + float *voice_factors, /* o : voicing factors */ + float *exc, /* i/o: adapt. excitation exc */ + float *exc2, /* i/o: adapt. excitation/total exc */ + float *bwe_exc, /* o : excitation for SWB TBE */ + const float *lsf_new /* i : ISFs at the end of the frame */ +); + +#ifdef LSF_RE_USE_SECONDARY_CHANNEL +void tdm_SCh_LSF_intra_pred( + const int32_t element_brate, /* i : element bitrate */ + const float *tdm_lsfQ_PCh, /* i : primary channel LSFs */ + float *pred_lsf_secondary /* o : predicted secondary channel LSFs */ +); + +#ifdef LSF_RE_USE_SECONDARY_CHANNEL_REUSEMODE +void tdm_SCh_lsf_reuse( + const int16_t enc_dec, /* i : encoder/decoder flag */ + const int32_t element_brate, /* i : element bitrate */ + float lsf_new[M], /* i/o: LSFs at the end of the frame */ + float lsp_new[M], /* i/o: LSPs at the end of the frame */ + const float tdm_lsfQ_PCh[M], /* i : primary channel LSFs */ + const float lsf_wgts[M], /* i : LSF weights */ + int16_t beta_index[] /* i/o: quantization index */ +); +#endif +#endif + +void first_VQstages( + const float *const *cb, + const float u[], /* i : vector to be encoded (prediction and mean removed) */ + const int16_t *levels, /* i : number of levels in each stage */ + const int16_t stagesVQ, /* i : number of stages */ + const float w[], /* i : weights */ + const int16_t N, /* i : vector dimension */ + const int16_t max_inner, /* i : maximum number of swaps in inner loop */ + int16_t indices_VQstage[] +); + +UWord32 index_lvq_SHB( + const int16_t idx_lead, + const int16_t idx_scale, + const int16_t nbits, + float *lat_cv, + const int16_t mode +); + +void deindex_lvq_SHB( + UWord32 index, + float *out, + const int16_t nbits, + const int16_t mode +); + +/*----------------------------------------------------------------------------------* + * MDCT Stereo prototypes + *----------------------------------------------------------------------------------*/ + +void stereo_td_itd_mdct_stereo( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ +#ifdef FIX_ITD_CNG + const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ + const int16_t vad_hover_flag[], /* i: VAD hangover flags */ +#endif + const int16_t input_frame /* i : frame length */ +); + +void QuantizeTCXSpectrum( + Encoder_State *st, /* i : state handle */ + const int16_t frame_cnt, /* i : frame counter in the super_frame */ + const float *x_orig, /* i : shaped MDCT spectrum */ + const float *gainlpc, /* i : FDNS gains */ + const Word16 *Aqind, /* i : frame-independent quantized coefficients (M+1) */ + const int16_t tnsSize, /* i : number of tns parameters put into prm */ + const int16_t nb_bits, /* i : bit budget */ + const int16_t vad_hover_flag, /* i : VAD hangover flag */ + int16_t *pL_frameTCX, /* o : full frame length */ + int16_t *pL_frame, /* o : frame length */ + int16_t *pL_spec, /* o : length of the coded spectrum */ + int16_t *ptcx_offset, /* o : folding point offset relative to the end of the previous frame */ + int16_t *pnoiseFillingBorder, /* o : noise filling border */ + float spectrum[], /* o : quantized MDCT spectrum */ + CONTEXT_HM_CONFIG *hm_cfg, /* o : Context-based harmonic model configuration */ + int16_t *hm_active, /* o : flag indicating if the harmonic model is active */ + float lf_deemph_fact[], /* o : low frequency deemphasis factors */ + int16_t *nf_seed, /* o : noise filling random seed */ + float *ener, /* o : energy of the quantized spectrum */ + float *gain_tcx, /* o : global gain */ + int16_t prm[] /* o : tcx parameters */ +); + +void EstimateStereoTCXNoiseLevel( + Encoder_State **sts, /* i : state handle */ + float *q_spectrum[CPE_CHANNELS][NB_DIV], /* i : quantized MDCT spectrum */ + float gain_tcx[][NB_DIV], /* i : global gain */ + int16_t L_frame[][NB_DIV], /* i : frame length */ + int16_t noiseFillingBorder[][NB_DIV], /* i : noise filling border */ + int16_t hm_active[][NB_DIV], /* i : flag indicating if the harmonic model is active */ + const int16_t ignore_chan[], /* i : flag indicating whether the channel should be ignored */ + float fac_ns[][NB_DIV], /* o : noise filling level */ + int16_t param_core[][NB_DIV * NPRM_DIV], /* o : quantized noise filling level */ + const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ +); + +void TNSAnalysisStereo( + Encoder_State **sts, /* i : state handle */ + float *mdst_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* o : MDST spectrum */ + const int16_t bWhitenedDomain, /* i : whitened domain flag */ + int16_t tnsSize[MCT_MAX_CHANNELS][NB_DIV], /* i : number of tns parameters put into prm */ + int16_t tnsBits[MCT_MAX_CHANNELS][NB_DIV], /* i : number of tns bits in the frame */ + int16_t param_core[][NB_DIV * NPRM_DIV], /* o : quantized noise filling level */ + const int16_t mct_on /* i : flag mct block (1) or stereo (0) */ +); + +void InternalTCXDecoder( + Encoder_State *st, /* i/o: state handle */ + const int16_t frame_cnt, /* i : frame counter in the super_frame */ + const int16_t L_frameTCX, /* i : full frame length */ + const int16_t L_frame, /* i : frame length */ + const int16_t L_spec, /* i : length of the coded spectrum */ + const int16_t tcx_offset, /* i : folding point offset relative to the end of the previous frame */ + const int16_t noiseFillingBorder, /* i : noise filling border */ + const float *x_quant, /* i : quantized spectrum */ + const float ener, /* i : energy of the quantized spectrum */ + float lf_deemph_fact[], /* i/o: low frequency deemphasis factors */ + const float fac_ns, /* i : noise filling level */ + const int16_t nf_seed, /* i : noise filling random seed */ + const float *A, /* i : LPC representation of the FDNS gains */ + float *gainlpc, /* i/o: FDNS gains */ + const int16_t hm_active, /* i : flag indicating if the harmonic model is active */ + float gain_tcx, /* i/o: global gain / quantized global gain */ + float spectrum[], /* o : dequantized spectrum */ + float synth[], /* o : time domain signal */ + int16_t *gain_tcx_q /* o : quantized global gain (at low bitrates) */ +); + +void stereo_mdct_core_enc( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + float new_samples[CPE_CHANNELS][L_INP], /* i : new samples */ + float old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP */ + float pitch_buf[CPE_CHANNELS][NB_SUBFR16k] /* o : floating pitch for each subframe */ +); + +void initMdctStereoEncData( + STEREO_MDCT_ENC_DATA *hStereoMdct, /* i/o: mdct stereo parameters structure */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + const int16_t element_mode, /* i : element mode */ + const int32_t element_brate, /* i : element bitrate */ + const int16_t bwidth, /* i : bandwidth */ + const int16_t igf, /* i : flag indicating IGF activity */ + const H_IGF_GRID hIgfGrid, /* i : IGF grid setup */ + const int16_t mem_init /* i : initialize memory after malloc */ +); + +ivas_error initMdctItdHandling( + STEREO_MDCT_ENC_DATA *hStereoMdct, /* i/o: mdct stereo parameters structure */ + const int32_t input_Fs /* i : input sampling rate */ +); + +void stereo_mdct_enc_destroy( + STEREO_MDCT_ENC_DATA_HANDLE *hStereoMdct /* i/o: encoder MDCT stereo handle */ +); + +void initMdctStereoDecData( + STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: mdct stereo parameters structure */ + const int16_t igf, /* i : flag indicating IGF activity */ + const H_IGF_GRID igfGrid, /* i : IGF grid configuration */ + const int32_t element_brate, /* i : element bitrate */ + const int16_t bwidth /* i : audio bandwidth */ +); + +void stereo_mdct_init_bands( + const int16_t L_frame, /* i : frame length */ + const int16_t tmp_tcx_mode, /* i : tcx mode (TCX10, TCX 20), -1 if transition frame */ + const int32_t element_brate, /* i : element bitrate */ + const int16_t igf, /* i : flag indicating if IGF is used */ + const H_IGF_GRID hIgfGrid, /* i : IGF grid setup */ + int16_t *sfbOffset, /* o : sfb offset table */ + int16_t *sfbCnt /* o : number of sfbs */ +); + +void stereo_mdct_init_igf_start_band( + STEREO_MDCT_BAND_PARAMETERS *stbParams, /* i/o: stereo frequency band parameters */ + const float transFac, /* i : transform factor */ + const int16_t bwidth, /* i : audio bandwidth */ + const int32_t element_brate /* i : element bitrate */ +); + +void init_tcx_enc_info( + Encoder_State *st, /* i : coder memory state */ + int16_t *L_frame, + int16_t *L_frameTCX, + int16_t *L_spec +); + +void decoder_tcx_invQ( + Decoder_State *st, /* i/o: coder memory state */ + int16_t prm[], /* i : parameters */ + float A[], /* i : coefficients NxAz[M+1] */ + Word16 Aind[], /* i : frame-independent coefficients Az[M+1] */ + const int16_t L_spec, + const int16_t L_frame, + const int16_t L_frameTCX, + float x[], + float gainlpc2[], + float xn_buf[], + int16_t *fUseTns, /* o : flag that is set if TNS data is present */ + STnsData *tnsData, + float *gain_tcx, + const int16_t **prm_sqQ, + int16_t *nf_seed, + const int16_t bfi, /* i : Bad frame indicator */ + const int16_t frame_cnt /* i : frame counter in the super frame */ +); + +void decoder_tcx_noisefilling( + Decoder_State *st, /* i/o: coder memory state */ + float concealment_noise[L_FRAME48k], + const float A[], /* i : coefficients NxAz[M+1] */ + const int16_t L_frameTCX_glob, + const int16_t L_spec, + const int16_t L_frame, + const int16_t L_frameTCX, + float x[], + float gainlpc2[], + int16_t *temp_concealment_method, + const float gain_tcx, + const int16_t *prm_sqQ, + int16_t nf_seed, + const int16_t bfi, /* i : Bad frame indicator */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int16_t frame_cnt /* i : frame counter in the super frame */ +); + +void decoder_tcx_noiseshaping_igf( + Decoder_State *st, /* i/o: coder memory state */ + const int16_t L_spec, + const int16_t L_frame, + const int16_t L_frameTCX, + const int16_t left_rect, + float x[], + const float gainlpc2[], + int16_t *temp_concealment_method, + const int16_t bfi /* i : Bad frame indicator */ +); + +void decoder_tcx_tns( + Decoder_State *st, /* i/o: coder memory state */ + const int16_t L_frame_glob, + const int16_t L_spec, + const int16_t L_frame, + const int16_t L_frameTCX, + float x[N_MAX], + const int16_t fUseTns, /* i : flag that is set if TNS data is present */ + STnsData *tnsData, + const int16_t bfi, /* i : Bad frame indicator */ + const int16_t frame_cnt, /* i : frame counter in the super frame */ + const int16_t whitenedDomain +); + +void decoder_tcx_imdct( + Decoder_State *st, /* i/o: coder memory state */ + const int16_t L_frame_glob, /* i : frame length */ + const int16_t L_frameTCX_glob, + const int16_t L_spec, + const int16_t tcx_offset, + const int16_t tcx_offsetFB, + const int16_t L_frame, + const int16_t L_frameTCX, + const int16_t left_rect, + float x[N_MAX], + float xn_buf[], + const uint16_t kernelType, /* i : TCX transform kernel type */ + const int16_t fUseTns, /* i : flag that is set if TNS data is present */ + float synth[], /* i/o: synth[-M..L_frame] */ + float synthFB[], + const int16_t bfi, /* i : Bad frame indicator */ + const int16_t frame_cnt, /* i : frame counter in the super frame */ + const int16_t isLFE, /* i : is LFE */ + const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ +); + +void init_tcx_info( + Decoder_State *st, /* i/o: coder memory state */ + const int16_t L_frame_glob, /* i : global frame length */ + const int16_t L_frameTCX_glob, /* i : FB global frame length */ + const int16_t frame_cnt, /* i : frame counter in the super_frame */ + const int16_t bfi, /* i : bad frame indicator */ + int16_t *tcx_offset, /* o : folding point offset relative to the end of the previous frame */ + int16_t *tcx_offsetFB, /* o : FB folding point offset relative to the end of the previous frame*/ + int16_t *L_frame, /* o : frame length */ + int16_t *L_frameTCX, /* o : TCX frame length */ + int16_t *left_rect, /* o : left part is rectangular */ + int16_t *L_spec /* o : spectrum length */ +); + +void decoder_tcx_IGF_mono( + Decoder_State *st, /* i/o: coder memory state */ + float x[], /* o : de-quatized coefficients */ + const int16_t L_frame, /* i : frame length */ + const int16_t left_rect, /* i : left part is rectangular */ + const int16_t bfi, /* i : bad frame indicator */ + const int16_t frame_cnt /* i : frame counter in the super_frame */ +); + +void decoder_tcx_IGF_stereo( + Decoder_State **sts, /* i/o: coder memory states */ + STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo structure */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ + float *x[CPE_CHANNELS][NB_DIV], /* o : de-quatized coefficients */ + const int16_t L_frame, /* i : frame length */ + const int16_t left_rect, /* i : left part is rectangular */ + const int16_t k, /* i : Subframe index */ + const int16_t bfi, /* i : bad frame indicator */ + const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ +); + +void ms_processing( + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT encoder structure */ + Encoder_State **sts, /* i/o: Encoder state structure */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ + const int16_t iSubframe, /* i : subframe number */ + float x_0[], /* i/o: spectrum 1 */ + float x_1[], /* i/o: spectrum 2 */ + int16_t maxSfb /* i : number of stereo frequency bands */ +); + +void ms_inv_mask_processing( + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT encoder structure */ + Encoder_State **sts, /* i/o: Encoder state structure */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ + const int16_t iSubframe, /* i : subframe number */ + const float x_0[], /* i : spectrum 1 */ + const float x_1[], /* i : spectrum 2 */ + float x_inv_0[], /* o : inverse spectrum 1 */ + float x_inv_1[], /* o : inverse spectrum 2 */ + int16_t maxSfb /* i : number of stereo frequency bands */ +); + +void IGFDecApplyStereo( + const IGF_DEC_INSTANCE_HANDLE hIGFDecL, /* i : instance handle of IGF Decoder */ + const IGF_DEC_INSTANCE_HANDLE hIGFDecR, /* i : instance handle of IGF Decoder */ + float *spectrumL, /* i/o: L MDCT spectrum */ + float *spectrumR, /* i/o: R MDCT spectrum */ + const int16_t igfGridIdx, /* i : in case of CELP->TCX switching, use 1.25 framelength */ + const int16_t *coreMsMask, + const int16_t restrict_hopsize, + const int16_t bfi, /* i : frame loss == 1, frame good == 0 */ + const int16_t bfi_apply_damping /* i : decoder element mode */ +); + +void IGFEncStereoEncoder( + STEREO_MDCT_BAND_PARAMETERS *sfbParam, /* i/o: sfb parameters for the right channel */ + const IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i : IGF handle */ + const float *mdctSpectrumL, /* i : left spectrum */ + const float *mdctSpectrumR, /* i : right spectrum */ + int16_t *msMask, /* i/o: MS mask */ + int16_t *igfStereoMode, /* o : IGF stereo mode */ + const int16_t mdct_stereo_mode, /* i : MDCT stereo mode */ + const int16_t isTCX20, /* i : flag for indicating TCX20 */ + const int16_t isTransition /* i : flag for transtition */ +); + +void IGFDecReplicateTCX10State( + IGF_DEC_INSTANCE_HANDLE hIGFDec /* i/o: instance handle of IGF Decoder */ +); + +void InitPsychLPC( + const int32_t sr_core, /* i : sampling rate of core-coder */ + const int16_t L_frame, /* i : frame length */ + const TCX_CONFIG_HANDLE hTcxCfg /* i : TCX configuration handle */ +); + +void SetCurrentPsychParams( + const int16_t core, + const int16_t last_frame_was_concealed_cng, + TCX_CONFIG_HANDLE hTcxCfg +); + +void stereo_coder_tcx( + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: MDCT encoder structure */ + Encoder_State **sts, /* i/o: encoder state structure */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ + float *mdst_spectrum[CPE_CHANNELS][NB_DIV], /* i/o: MDST spectrum */ + float *inv_spectrum[CPE_CHANNELS][NB_DIV], /* i/o: inverse spectrum */ + float *inv_mdst_spectrum[CPE_CHANNELS][NB_DIV], /* i/o: inverse MDST spectrum */ + const int16_t mct_on /* i : flag mct block (1) or stereo (0) */ +); + +void stereo_decoder_tcx( + STEREO_MDCT_DEC_DATA *hStereoMdct, /* i/o: MDCT stereo decoder structure */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ + float *spec_r_0[NB_DIV], /* i/o: spectrum right channel */ + float *spec_l[NB_DIV], /* i/o: spectrum left channel */ + float *spec_r[NB_DIV], /* i/o: spectrum right channel */ + const int16_t mdct_stereo_mode[], /* i : stereo mode (FB/band wise MS, dual mono */ + const int16_t core_l, /* i : core for left channel (TCX20/TCX10) */ + const int16_t core_r, /* i : core for right channel (TCX20/TCX10) */ + const int16_t igf, /* i : flag for IGF activity */ + const int16_t L_frameTCX_l, /* i : TCX frame length of left channel */ + const int16_t L_frameTCX_r, /* i : TCX frame length of right channel */ + const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ + const int16_t last_core_l, /* i : last core for left channel */ + const int16_t last_core_r, /* i : last core for right channel */ + const int16_t tmp_plc_upmix /* i : indicates temp upmix for PLC decision */ +); + +void stereo_mdct_core_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float signal_out[CPE_CHANNELS][L_FRAME48k], /* o : synthesis @internal_FS */ + float signal_outFB[CPE_CHANNELS][L_FRAME48k] /* o : synthesis @output_FS */ +); + +void splitAvailableBits( + const int16_t total_bits, /* i : total available bits for TCX coding */ + const int16_t split_ratio, /* i : split ratio */ + const int16_t isSBAStereoMode, /* i : signal core coding for SBA */ + int16_t *bits_ch0, /* o : bits for channel 0 */ + int16_t *bits_ch1 /* o : bits for channel 1 */ +); + +int16_t write_stereo_to_bitstream +( + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct, /* i/o: Stereo MDCT encoder structure */ + Encoder_State **sts, /* i/o: Encoder state structure */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : bandwise MS mask */ + const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ + BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */ +); + +void parse_stereo_from_bitstream( + STEREO_MDCT_DEC_DATA_HANDLE hStereoMdct, /* i/o: MDCT stereo decoder structure */ + Decoder_State **sts, /* i/o: decoder state structure */ + const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ + const int16_t isSBAStereoMode, /* i : flag core coding for SBA */ + Decoder_State *st0, /* i/o: decoder state structure for Bstr */ + int16_t ms_mask[NB_DIV][MAX_SFB] /* o : bandwise MS mask */ +); + +void FindSplitRatio( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + Encoder_State **sts /* i/o: Encoder state structure */ +); + +void ComputeSpectrumNoiseMeasure( + const float *powerSpec, + const int16_t L_frame, + const int16_t startLine, + const int16_t resetMemory, + int16_t *noiseFlags, + const int16_t lowpassLine +); + +void IGFSaveSpectrumForITF( + IGF_ENC_INSTANCE_HANDLE hIGFEnc, /* i/o: instance handle of IGF Encoder */ + const int16_t igfGridIdx, /* i : IGF grid index */ + const float *pITFSpectrum /* i : MDCT spectrum */ +); + +void convert_coeffs_to_higher_res( + const float *in1, /* i : first subframe input */ + const float *in2, /* i : second subframe input */ + float *out, /* o : converted output */ + const int16_t len /* i : length of subframes */ +); + +void sns_compute_scf( + float spectrum[], + const PsychoacousticParameters *pPsychParams, + const int16_t L_frame, + float *scf +); + +void sns_interpolate_scalefactors( + float *scf_int, /* o : interpolated scalefactors for spectrum shaping */ + const float *scf, /* i : sns scalefactors as derived from the signal or read from the bitstream */ + int16_t encoder_side /* i : flag, if scalefactors have to be inverted */ +); + +void sns_shape_spectrum( + float spectrum[], /* i/o: spectrum to be shaped */ + const PsychoacousticParameters *pPsychParams, /* i : psychoacoustic parameters used to get the frequency bands */ + const float *scf_int, /* i : already interpolated SNS scalefactors */ + const int16_t L_frame /* i : frame length */ +); + +void sns_avq_cod( + const float *sns, /* i : Input sns vectors */ + const float *snsmid, /* i : Input mid-sns vectors */ + float *sns_q, /* o : Quantized LFS vectors */ + float *snsmid_q, /* o : Quantized mid-LFS vectors */ + int16_t *index, /* o : Quantization indices */ + const int16_t core, /* i : core */ + const int16_t low_brate_mode /* i : flag low bit operating mode */ +); + +void sns_avq_cod_stereo( + const float *snsl, /* i : Input sns vector (left channel) */ + const float *snsr, /* i : Input sns vector (right channel) */ + float *snsl_q, /* o : Quantized sns vector (left channel) */ + float *snsr_q, /* o : Quantized sns vector (right channel) */ + int16_t *indexl, /* o : Quantization indices (left channel) */ + int16_t *indexr /* o : Quantization indices (right channel) */ +); + +void sns_avq_dec( + int16_t *index, /* i : Quantization indices */ + float *SNS_Q, /* o : Quantized SNS vectors */ + const int16_t numlpc /* i : Number of sets of lpc */ +); + +void sns_avq_dec_stereo( + int16_t *indexl, /* i : Quantization indices (left channel) */ + int16_t *indexr, /* i : Quantization indices (right channe) */ + float *SNS_Ql, /* o : Quantized SNS vectors (left channel) */ + float *SNS_Qr /* o : Quantized SNS vectors (right channe) */ +); + +void convertToMS( + const int16_t L_frame, /* i : frame length */ + float x0[], /* i/o: mid/left channel coefficients */ + float x1[], /* i/o: side/right channel coefficients */ + const float norm_fac /* i : normalization factor */ +); + +void inverseMS( + const int16_t L_frame, /* i : frame length */ + float x0[], /* i/o: mid/left channel coefficients */ + float x1[], /* i/o: side/right channel coefficients */ + const float norm_fac /* i : normalization factor */ +); + +void stereoFdCngCoherence( + Encoder_State **sts, /* i/o: core encoder structures */ + const int16_t last_element_mode, /* i : last element mode */ + float fft_buff[CPE_CHANNELS][2 * L_FFT] /* i : fft buffers for L and R channels */ +); + +void FdCngEncodeMDCTStereoSID( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder state structure */ +); + +void FdCngDecodeMDCTStereoSID( + CPE_DEC_HANDLE hCPE /* i/o: CPE decoder state structure */ +); + +ivas_error initMdctStereoDtxData( + CPE_DEC_HANDLE hCPE /* i/o: CPE decoder handle */ +); + +void synchonize_channels_mdct_sid( + Decoder_State *sts[CPE_CHANNELS], /* i/o: decoder state structure */ + const int16_t n /* i : channel number */ +); + +void updateBuffersForDmxMdctStereo( + CPE_DEC_HANDLE hCPE, /* i/o: CPE handle */ + const int16_t output_frame, /* i : output frame length */ + float output[CPE_CHANNELS][L_FRAME48k], /* i/o: decoder output */ + float synth[CPE_CHANNELS][L_FRAME48k] /* i/o: decoder synthesis */ +); + +void applyDmxMdctStereo( + const CPE_DEC_HANDLE hCPE, /* i : CPE handle */ + float output[CPE_CHANNELS][L_FRAME48k], /* o : output from core decoder */ + const int16_t output_frame /* i : output frame length */ +); + + +/*----------------------------------------------------------------------------------* + * Front-VAD prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error front_vad_create( + FRONT_VAD_ENC_HANDLE *hFrontVad, /* i/o: front-VAD handle */ + const ENCODER_CONFIG_HANDLE hEncoderConfig /* i : configuration structure */ +); + +void front_vad_destroy( + FRONT_VAD_ENC_HANDLE *hFrontVad /* i/o: front-VAD handle */ +); + +ivas_error front_vad( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure, nullable */ + Encoder_State *st, /* i/o: encoder state structure */ + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + FRONT_VAD_ENC_HANDLE *hFrontVads, /* i/o: front-VAD handles */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int16_t input_frame, /* i : frame length */ + int16_t vad_flag_dtx[], /* o : HE-SAD flag with additional DTX HO */ + float fr_bands[][2 * NB_BANDS], /* i : energy in frequency bands */ + float Etot_LR[], /* o : total energy Left & Right channel */ + float lf_E[][2 * VOIC_BINS], /* i : per bin spectrum energy in lf, LR channels */ + int16_t localVAD_HE_SAD[], /* o : HE-SAD flag without hangover, LR channels */ + int16_t vad_hover_flag[], /* o : VAD hangover flag */ + float band_energies_LR[2 * NB_BANDS], /* o : energy in critical bands without minimum noise floor E_MIN */ + float *PS_out, /* o : energy spectrum */ + float *Bin_E_out /* o : log-energy spectrum of the current frame*/ +); + +ivas_error front_vad_spar( + SPAR_ENC_HANDLE hSpar, /* i/o: SPAR encoder structure */ + const float *omni_in, /* i : omnidirectional input signal */ + ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : encoder configuration handle */ + const int16_t input_frame /* i : input frame length */ +); + + +/*----------------------------------------------------------------------------------* + * Stereo CNG prototypes + *----------------------------------------------------------------------------------*/ + +void stereo_enc_cng_init( + STEREO_CNG_ENC_HANDLE hStereoCng /* i/o: stereo CNG encoder structure */ +); + +void stereo_cng_upd_counters( + STEREO_CNG_ENC_HANDLE hStereoCng, /* i/o: Stereo CNG data structure */ + const int32_t element_mode, /* i : element mode */ + const int16_t nbands, /* i : Number of bands in active */ + const float sidSideGain[], /* i : SID side gains */ + const int16_t burst_ho_count /* i : Hang-over count */ +#ifdef FIX_ITD_CNG + , + int16_t *coh_fade_counter /* i : Coherence fade counter */ +#endif +); + +void stereo_cng_init_dec( + STEREO_CNG_DEC_HANDLE hStereoCng, /* i/o: stereo CNG decoder structure */ + const int16_t *frameSize /* i : pointer to frameSize of channel 0 to be used for channel 1 */ +); + +void stereo_cng_compute_PScorr( + float output[CPE_CHANNELS][L_FRAME48k], /* i : Output signal */ + float *c_PS_LT, /* i/o: Correlation */ + const int16_t L_frame_0, /* i : L_frame channel 0 */ + const int16_t L_frame_1 /* i : L_frame channel 1 */ +); + +void stereo_cng_dec_update( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +void stereo_cna_update_params( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output[CPE_CHANNELS][L_FRAME48k], /* i : Output signal */ + const int16_t output_frame, /* i : Output frame length */ + const int16_t tdm_ratio_idx /* i : TDM ratio index */ +); + +void dtx_enc_init( + Encoder_State *st, /* i : Encoder state handle */ + const int16_t var_SID_rate_flag, /* i : flag for variable SID update rate */ + const int16_t interval_SID /* i : interval for SID update */ +); + + +/*----------------------------------------------------------------------------------* + * Framework general prototypes + *----------------------------------------------------------------------------------*/ + +void mvr2r_inc( + const float x[], /* i : input vector */ + const int16_t x_inc, /* i : increment for vector x[] */ + float y[], /* o : output vector */ + const int16_t y_inc, /* i : increment for vector y[] */ + const int16_t n /* i : vector size */ +); + +void v_add_inc( + const float x1[], /* i : Input vector 1 */ + const int16_t x_inc, /* i : Increment for input vector 1 */ + const float x2[], /* i : Input vector 2 */ + const int16_t x2_inc, /* i : Increment for input vector 2 */ + float y[], /* o : Output vector that contains vector 1 + vector 2 */ + const int16_t y_inc, /* i : increment for vector y[] */ + const int16_t N /* i : Vector length */ +); + +void v_mult_inc( + const float x1[], /* i : Input vector 1 */ + const int16_t x1_inc, /* i : Increment for input vector 1 */ + const float x2[], /* i : Input vector 2 */ + const int16_t x2_inc, /* i : Increment for input vector 1 */ + float y[], /* o : Output vector that contains vector 1 .* vector 2 */ + const int16_t y_inc, /* i : increment for vector y[] */ + const int16_t N /* i : Vector length */ +); + +void v_addc( + const float x[], /* i : Input vector */ + const float c, /* i : Constant */ + float y[], /* o : Output vector that contains c*x */ + const int16_t N /* i : Vector length */ +); + +void v_min( + const float x1[], /* i : Input vector 1 */ + const float x2[], /* i : Input vector 2 */ + float y[], /* o : Output vector that contains vector 1 .* vector 2 */ + const int16_t N /* i : Vector length */ +); + +void v_sqrt( + const float x[], /* i : Input vector */ + float y[], /* o : Output vector that contains sqrt(x) */ + const int16_t N /* i : Vector length */ +); + +/*! r: sum abs of all vector elements */ +float sumAbs( + const float *vec, /* i : input vector */ + const int16_t lvec /* i : length of input vector */ +); + +void mvc2c( + const uint8_t x[], /* i : input vector */ + uint8_t y[], /* o : output vector */ + const int16_t n /* i : vector size */ +); + +/*! r: the dot product x'*A*A'*x */ +float dot_product_cholesky( + const float *x, /* i : vector x */ + const float *A, /* i : Cholesky matrix A */ + const int16_t N /* i : vector & matrix size */ +); + +void v_mult_mat( + float *y, /* o : the product x*A */ + const float *x, /* i : vector x */ + const float *A, /* i : matrix A */ + const int16_t N, /* i : number of rows */ + const int16_t C /* i : number of columns */ +); + +/*! r: log(sum(exp(X)) of the input array X */ +float logsumexp( + const float X[], /* i : input array X */ + const int16_t N /* i : number of elements in array X */ +); + +/*! r: mapped output value */ +float lin_interp( + const float x, /* i : the value to be mapped */ + const float x1, /* i : source range interval: low end */ + const float y1, /* i : source range interval: high end */ + const float x2, /* i : target range interval: low */ + const float y2, /* i : target range interval: high */ + const int16_t flag_sat /* i : flag to indicate whether to apply saturation */ +); + +/*! r: Adjusted value */ +float check_bounds( + const float value, /* i : Input value */ + const float low, /* i : Low limit */ + const float high /* i : High limit */ +); + +/*! r: Adjusted value */ +int16_t check_bounds_s( + const int16_t value, /* i : Input value */ + const int16_t low, /* i : Low limit */ + const int16_t high /* i : High limit */ +); + +ivas_error stereo_memory_enc( + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + const int32_t input_Fs, /* i : input sampling rate */ + const int16_t max_bwidth, /* i : maximum audio bandwidth */ + float *tdm_last_ratio, /* o : TD stereo last ratio */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + const int16_t nchan_transport /* i : number transport chans */ + +); + +ivas_error stereo_memory_dec( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + CPE_DEC_HANDLE hCPE, /* i : CPE decoder structure */ + const int16_t nb_bits_metadata, /* i : number of metadata bits */ + const int32_t output_Fs, /* i : output sampling rate */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + const int16_t nchan_transport /* i : number of transport channels */ +); + +void stereo_switching_enc( + CPE_ENC_HANDLE hCPE, /* i : CPE structure */ + float old_input_signal_pri[], /* i : old input signal of primary channel */ + const int16_t input_frame /* i : input frame length */ +); + +void stereo_switching_dec( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +void stereo_td2dft_update( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const int16_t n, /* i : channel number */ + float output[], /* i/o: synthesis @internal Fs */ + float synth[], /* i/o: synthesis @output Fs */ + float hb_synth[], /* i/o: hb synthesis */ + const int16_t output_frame /* i : frame length */ +); + +void stereo_mdct2dft_update( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float output0[], /* i/o: synthesis @internal Fs, ch0 */ + float synth0[] /* i/o: synthesis @output Fs, ch0 */ +); + +/*! r: number of bits written */ +int16_t write_GR0( + BSTR_ENC_HANDLE hBstr, /* i/o: Encoder bitstream handle */ + const int16_t ind, /* i : bitstream index */ + const int16_t *in, /* i : data to be encoded */ + const int16_t len /* i : input data length */ +); + +/*! r: number of bits read */ +int16_t read_GR0( + const uint16_t *bit_stream, /* i : bitstream to be read */ + int16_t *ind, /* o : parameters read */ + const int16_t len /* i : number of params to be read */ +); + + +/*----------------------------------------------------------------------------------* + * MCT prototypes + *----------------------------------------------------------------------------------*/ + +void ivas_mdct_core_whitening_enc( + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + float new_samples[CPE_CHANNELS][L_INP], /* i : new samples */ + float old_wsp[CPE_CHANNELS][L_WSP], /* i : 12.8kHz weighted speech (for LTP */ + float pitch_buf[CPE_CHANNELS][NB_SUBFR16k], /* o : floating pitch for each subframe */ + float *mdst_spectrum_long[CPE_CHANNELS], /* o : buffer for MDST spectrum */ + int16_t tnsBits[CPE_CHANNELS][NB_DIV], /* o : buffer TNS bits */ + float *orig_spectrum_long[CPE_CHANNELS], /* o : origingal spectrum w/o whitening */ + int16_t tnsSize[CPE_CHANNELS][NB_DIV], /* o : size of TNS */ + int16_t p_param[CPE_CHANNELS][NB_DIV], /* o : pointer to parameter array */ + BSTR_ENC_HANDLE hBstr, /* i/o: encoder bitstream handle */ + int16_t *LFE_off, /* o : flag if LFE has content */ + const int16_t mct_on, /* i : flag mct block (1) or stereo (0) */ + const int16_t nChannels /* i : total number of coded channels */ +); + +void ivas_mct_core_enc( + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + CPE_ENC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE encoder structures */ + const int16_t nChannels, /* i : number of channels to be coded */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t switch_bw, /* i : flag bandwidth switch occurance */ + const int16_t lfe_bits /* i : bits spent for LFE */ +#ifdef FIX_I1_113 + , + const int16_t sba_order /* i : Ambisonic (SBA) order */ +#endif +); + +void ivas_mdct_quant_coder( + CPE_ENC_HANDLE hCPE, /* i/o: Encoder CPE handle */ + const int16_t LFE_off, /* i : flag if LFE has content */ + int16_t tnsBits[CPE_CHANNELS][NB_DIV], /* i : bits needed for TNS parameters */ + int16_t tnsSize[CPE_CHANNELS][NB_DIV], /* i : size of TNS */ + int16_t p_param[CPE_CHANNELS][NB_DIV], /* i : pointer to parameter array */ + const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ +); + +void apply_MCT_enc( + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + Encoder_State **sts, /* i/o: encoder state structure */ + float *mdst_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i/o: MDST spectrum */ + float *inv_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i/o: inverse spectrum */ + float *inv_mdst_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i/o: inverse MDST spectrum */ + const int16_t nchan /* i : number of channels */ +); + +void write_mct_bitstream( + Encoder_State **sts, /* i/o: encoder state structure */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const int16_t nchan /* i : number of channels */ +); + +void splitAvailableBitsMCT( + void **sts, /* i/o: encoder/decoder state structure */ + const int16_t total_bits, /* i : total number of available bits */ + const int16_t split_ratio[MCT_MAX_CHANNELS], /* i : ratio for splitting the bits */ + const int16_t enc_dec, /* i : encoder or decoder flag */ + const int16_t nchan /* i : number of channels */ +); + +void getChannelEnergies( + Encoder_State **sts, /* i : Encoder state structure */ + float nrg[MCT_MAX_CHANNELS], /* o : energies */ + const int16_t nchan /* i : number of channels */ +); + +void mctStereoIGF_enc( + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + Encoder_State **sts, /* i/o: encoder state structure */ + float *orig_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i : MDCT spectrum for ITF */ + float powerSpec[MCT_MAX_CHANNELS][L_FRAME48k], /* i/o: MDCT^2 + MDST^2 spectrum,or estimate */ + float *powerSpecMsInv[MCT_MAX_CHANNELS][NB_DIV], /* i : same as above but for inverse spect. */ + float *inv_spectrum[MCT_MAX_CHANNELS][NB_DIV], /* i : inverse spectrum */ + const int16_t sp_aud_decision0[MCT_MAX_CHANNELS] /* i : speech audio decision */ +); + +void ivas_mdct_dec_side_bits_frame_channel( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + int16_t param_lpc[MCT_MAX_CHANNELS][NPRM_LPC_NEW], /* o : lpc_parameters */ + int16_t p_param[CPE_CHANNELS][NB_DIV], /* o : pointer to param buffer */ + Decoder_State *st0, /* i : pointer to bitstream handle */ + int16_t *LFE_off, /* o : flag if LFE has content */ + int16_t nTnsBitsTCX10[CPE_CHANNELS][NB_DIV], /* o : number of bits for TNS */ + int16_t param[CPE_CHANNELS][DEC_NPRM_DIV * NB_DIV], /* i/o: parameters buffer */ + const int16_t MCT_flag, /* i : hMCT handle allocated (1) or not (0) */ + const int16_t odd_channel_cpe /* i : flag cpe with odd nb of tc channels */ +); + +void ivas_mct_side_bits( + MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ + CPE_DEC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE decoder structure */ + const int16_t nCPE, /* i : number of CPEs */ + Decoder_State *st0, /* i : decoder handle for Bstr */ + const int16_t bfi, /* i : BFI flag */ + uint16_t *bitstream, /* o : bitstream indices */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ +); + +void ivas_mdct_core_invQ( + CPE_DEC_HANDLE hCPE, /* i/o: CPE handle */ + const int16_t LFE_off, /* i : flag if LFE content */ + int16_t nTnsBitsTCX10[CPE_CHANNELS][NB_DIV], /* i : number of TNS bits */ + int16_t p_param[CPE_CHANNELS][NB_DIV], /* i : pointer to param buffer */ + int16_t param_lpc[CPE_CHANNELS][NPRM_LPC_NEW], /* i : lpc parameters */ + int16_t param[CPE_CHANNELS][DEC_NPRM_DIV * NB_DIV], /* i : param buffer */ + int16_t fUseTns[CPE_CHANNELS][NB_DIV], /* i : flag TNS enabled */ + STnsData tnsData[CPE_CHANNELS][NB_DIV], /* i : TNS parameter */ + float *x_0[CPE_CHANNELS][NB_DIV], /* i/o: signal buffer */ + float *x[CPE_CHANNELS][NB_DIV], /* i/o: signal buffer */ + float Aq[CPE_CHANNELS][( NB_SUBFR16k + 1 ) * ( M + 1 )], /* i : LP coefficients */ + int16_t ms_mask[NB_DIV][MAX_SFB], /* i : M/S mask */ + const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ +); + +void ivas_mdct_core_reconstruct( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + float *x[][NB_DIV], /* i/o: pointers to synthesis @internal_FS */ + float signal_outFB[CPE_CHANNELS][L_FRAME_PLUS], /* o : synthesis @output_FS */ + const int16_t LFE_off, /* i : flag if LFE content */ + int16_t fUseTns[CPE_CHANNELS][NB_DIV], /* i : flage TNS enabled */ + const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ +); + +void ivas_mdct_core_tns_ns( + CPE_DEC_HANDLE hCPE, /* i/o: CPE decoder structure */ + const int16_t LFE_off, /* i : flag if LFE has content */ + int16_t fUseTns[CPE_CHANNELS][NB_DIV], /* i : two entries for each channel in TCX10 */ + STnsData tnsData[CPE_CHANNELS][NB_DIV], /* o : TNS parameter */ + float *x[CPE_CHANNELS][NB_DIV], /* o : synthesis @internal_FS */ + float Aq[CPE_CHANNELS][( NB_SUBFR16k + 1 ) * ( M + 1 )], /* o : LP coefficients */ + const int16_t MCT_flag /* i : hMCT handle allocated (1) or not (0) */ +); + +void ivas_mct_core_dec( + MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ + CPE_DEC_HANDLE hCPE[MCT_MAX_BLOCKS], /* i/o: CPE decoder structure */ + const int16_t nCPE, /* i : number of CPEs */ + float signal_out[][L_FRAME48k] /* o : synthesis @internal_FS */ +); + +void ivas_mct_dec_mct( + MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ + Decoder_State **sts, /* i/o: decoder state structure */ + const int16_t nchan /* i : number of channels */ +); + +void apply_MCT_dec( + MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ + Decoder_State **sts, /* i/o: decoder state structure */ + float *x[MCT_MAX_CHANNELS][NB_DIV] /* i/o: decoded and dequan. spect. input to MCT */ +); + +void mctStereoIGF_dec( + MCT_DEC_HANDLE hMCT, /* i/o: MCT decoder structure */ + Decoder_State **sts, /* i/o: decoder state structure */ + float *x[MCT_MAX_CHANNELS][NB_DIV], /* i/o: decoded and dequantized spectrum */ + const int16_t bfi /* i : bad frame flag */ +); + +void ivas_mdct_tcx10_bit_distribution( + int16_t target_bitsTCX10[NB_DIV], /* o : target bit distribution */ + const int16_t bits_frame_channel, /* i : bits frame channel */ + const int16_t nTnsBitsTCX10[NB_DIV] /* i : TNS bits */ +); + +void enc_prm_igf_mdct( + Encoder_State *st, /* i : Encoder state handle */ + BSTR_ENC_HANDLE hBstr /* i/o: Bitstream handle */ +); + +void mdct_read_IGF_bits( + Decoder_State *st, /* i/o: Encoder state handle */ + Decoder_State *st0 /* i : pointer to handle where bstr is read */ +); + + +/*----------------------------------------------------------------------------------* + * Q Metadata prototypes for DirAC and MASA + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_qmetadata_enc_encode( + BSTR_ENC_HANDLE hMetaData, /* i/o: metadata bitstream handle */ + IVAS_QMETADATA *hQMetaData /* i/o: q_metadata handle */ +); + +void reset_metadata_spatial( + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ + const int32_t element_brate, /* i : element bitrate */ + int32_t *total_brate, /* o : total bitrate */ + const int32_t core_brate, /* i : core bitrate */ + const int16_t nb_bits_metadata, /* i : number of meatdata bits */ + const SBA_MODE sba_mode /* i : SBA mode */ +); + +/*! r: number of bits written */ +void ivas_qmetadata_enc_sid_encode( + BSTR_ENC_HANDLE hMetaData, /* i/o: metadata bitstream handle */ + IVAS_QMETADATA *q_metadata, /* i/o: metadata handle */ + const int16_t masa_sid_descriptor, /* i : description of MASA SID coding structure*/ + const int16_t ivas_format, /* i : ivas format */ + const SBA_MODE sba_mode /* i : SBA mode */ +); + +/*! r: number of bits read */ +int16_t ivas_qmetadata_dec_decode( + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + uint16_t *bitstream, /* i : bitstream */ + int16_t *index /* i/o: bitstream position */ +); + +/*! r: number of bits read */ +int16_t ivas_qmetadata_dec_sid_decode( + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + uint16_t *bitstream, /* i : bitstream */ + int16_t *index, /* i/o: bitstream position */ + const int16_t nchan_transport, /* i : number of transport channels */ + int16_t *element_mode, /* o : element mode */ + const int16_t ivas_format, /* i : IVAS format */ + const SBA_MODE sba_mode /* i : SBA mode */ +); + +void ivas_qmetadata_to_dirac( + const IVAS_QMETADATA_HANDLE hQMetaData, /* i : frame of MASA q_metadata */ + DIRAC_DEC_HANDLE hDirAC, /* o : DirAC decoder structure */ + MASA_DECODER_HANDLE hMasa, /* i : MASA decoder structure */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const SBA_MODE sba_mode, /* i : SBA mode */ + int16_t *dirac_to_spar_md_bands /* o : DirAC->SPAR MD bands */ +); + +ivas_error ivas_qmetadata_open( + IVAS_QMETADATA_HANDLE *hQMetaData /* i/o: q_metadata handle */ +); + +ivas_error ivas_qmetadata_allocate_memory( + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + const int16_t nbands, /* i : new number of frequency bands */ + const int16_t ndirs, /* i : new number of directions */ + const int16_t coherence_flag /* i : new coherence coding status */ +); + +void ivas_qmetadata_close( + IVAS_QMETADATA_HANDLE *hQMetaData /* i/o: q_metadata handle */ +); + +void restore_metadata_buffer( + BSTR_ENC_HANDLE hMetaData, + const int16_t next_ind_start, + const int16_t last_ind_start, + const int16_t bit_pos_start +); + +/* !r: codeword index */ +int16_t masa_sq( + const float in, /* i : input value */ + const float *threshold, /* i : partition */ + const int16_t cb_sz /* i : codebook size */ +); + +void ivas_qmetadata_azimuth_elevation_to_direction_vector( + const float az, /* i : azimuth */ + const float el, /* i : elevation */ + float *dv /* o : direction vector */ +); + +void ivas_qmetadata_direction_vector_to_azimuth_elevation( + const float *dv, /* i : direction vector */ + float *az, /* o : azimuth */ + float *el /* o : elevation */ +); + +ivas_error only_reduce_bits_direction( + int16_t *reduce_bits_out, + IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ + int16_t reduce_bits, + const int16_t coding_subbands, + const int16_t no_subframes, + int16_t *ind_order +); + +void quantize_direction_frame( + IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ + float azimuth_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], + float elevation_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES] +); + +/* !r: quantized spherical index */ +uint16_t quantize_direction( + const float theta, /* i : input elevation value */ + float phi, /* i : input azimuth value */ + const int16_t no_bits, /* i : number of bits */ + float *theta_q, /* o : quantized elevation */ + float *phi_q, /* o : quantized azimuth */ + uint16_t *index_theta, /* o : quantized elevation index */ + uint16_t *index_phi, /* o : quantized azimuth index */ + const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ +); + +int16_t quantize_direction2D( + float phi, /* i : input azimuth value */ + const int16_t no_cw, /* i : number of bits */ + float *phi_q, /* o : quantized azimuth value */ + uint16_t *index_phi, /* o : quantized azimuth index */ + const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ +); + +/* !r :companded azimuth value */ +float companding_azimuth( + const float azi, /* i : input azimuth value */ + const MC_LS_SETUP mc_format, /* i : input channel format */ + const int16_t theta_flag, /* i : zero/non zero elevation flag */ + const int16_t direction /* i : direction of companding (direct or inverse)*/ +); + +/* !r: index azimuth */ +int16_t quantize_phi_chan_lbr( + const float phi, /* i : azimuth value */ + float *phi_hat, /* o : quantized azimuth */ + const int16_t n /* i : azimuth codebook size */ +); + +/* !r: index azimuth */ +int16_t quantize_phi_chan_compand( + float phi, /* i : azimuth value */ + float *phi_hat, /* o : quantized azimuth */ + const int16_t n, /* i : azimuth codebook size */ + const int16_t theta_flag, /* i : flag signaling high elevation */ + const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ +); + +void quantize_direction_frame2D( + IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ + float azimuth_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : input azimuth values */ + float elevation_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES] /* i : input elevation values */ +); + +void small_requantize_direction_frame( + IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ + float azimuth_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : input azimuth values */ + float elevation_orig[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : input elevation values */ + const int16_t raw_flag[MASA_MAXIMUM_CODING_SUBBANDS], /* i : raw/EC encoding mode for each subband */ + int16_t bits_dir_bands[MASA_MAXIMUM_CODING_SUBBANDS], /* i/o: number of bits per subband */ + int16_t *diff /* i/o: number of bits to be reduced */ +); + +/*!r : index azimuth */ +int16_t quantize_phi( + float phi, /* i : azimuth value */ + const int16_t flag_delta, /* i : flag indicating if the azimuth codebook is translated or not */ + float *phi_hat, /* o : quantized azimuth */ + const int16_t n /* i : azimuth codebook size */ +); + +/*! r: decoded elevation value */ +float deindex_elevation( + uint16_t *id_th, /* i : input index */ + const int16_t no_bits, /* i : number of bits for the spherical grid */ + const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ +); + +float deindex_azimuth( + int16_t id_phi, /* i : index */ + const int16_t no_bits, /* i : number of bits for the spherical grid */ + const int16_t id_th, /* i : elevation index */ + const int16_t remap, /* i : remapping flag */ + const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ +); + +void deindex_spherical_component( + const uint16_t sph_idx, /* i : spherical index */ + float *az, /* o : decoded azimuth value */ + float *el, /* o : decoded elevation value */ + uint16_t *az_idx, /* o : azimuth index */ + uint16_t *el_idx, /* o : elevation index */ + const uint16_t no_bits, /* i : number of bits for the spherical grid */ + const MC_LS_SETUP mc_format /* i : channel format if in MC-mode */ +); + +void small_reduction_direction( + IVAS_QDIRECTION *q_direction, /* i/o: quantized direction structure */ + uint16_t bits_dir[MASA_MAXIMUM_CODING_SUBBANDS][MAX_PARAM_SPATIAL_SUBFRAMES], /* i : bit allocation in tF tiles */ + const int16_t raw_flag[MASA_MAXIMUM_CODING_SUBBANDS], /* i : raw/EC coding indicator for each subband*/ + int16_t *diff /* i/o: number of bits that need to be reduced */ +); + +uint16_t ivas_qmetadata_reorder_generic( + const int16_t signed_value +); + +int16_t ivas_qmetadata_dereorder_generic( + const uint16_t uns_value /* i : unsigned value to reorder */ +); + +/*! r: projected azimuth index */ +int16_t ivas_dirac_project_azimuth_index( + const int16_t az_idx, /* i : azimuth index */ + const int16_t az_alph, /* i : number of azimuth symbols */ + const int16_t az_alph_proj /* i : size of projected alphabet */ +); + +/*! r: projected elevation index */ +int16_t ivas_dirac_project_elevation_index( + const int16_t el_idx, /* i : elevation index */ + const int16_t el_alph, /* i : number of elevation symbols */ + const int16_t el_alph_proj /* i : size of projected alphabet */ +); + +/*! r: projected index in channel mode */ +int16_t ivas_chan_project_elevation_index( + const int16_t el_idx, /* i : elevation index */ + const int16_t el_alph, /* i : number of elevation symbols */ + const int16_t el_alph_proj /* i : size of projected alphabet */ +); + +void ivas_dirac_param_est_enc( + DIRAC_ENC_HANDLE hDirAC, + IVAS_QDIRECTION *q_direction, + const uint8_t useLowerRes, + float data_f[][L_FRAME48k], + float **pp_fr_real, + float **pp_fr_imag, + const int16_t input_frame + , + const SBA_MODE sba_mode + ); + +/*----------------------------------------------------------------------------------* + * SBA mode prototypes + *----------------------------------------------------------------------------------*/ + +/*! r: SBA format mode */ +SBA_MODE ivas_sba_mode_select( + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +void ivas_sba_config( + const int32_t sba_total_brate, /* i : SBA total bitrate */ + int16_t sba_order, /* i : Ambisonic (SBA) order */ + int16_t nb_channels, /* i : Number of Ambisonic (SBA) channels */ + int16_t *nchan_transport, /* o : number of transport channels */ + const int16_t sba_planar, /* i : SBA planar flag */ + int16_t *nSCE, /* o : number of SCEs */ + int16_t *nCPE, /* o : number of CPEs */ + int16_t *element_mode /* o : element mode of the core coder */ +); +#ifdef SBA_BR_SWITCHING +ivas_error ivas_sba_dec_reinit( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); +#endif + +ivas_error ivas_sba_dec_reconfigure( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_init_dec_get_num_cldfb_instances( + Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ + int16_t *numCldfbAnalyses, /* o : number of CLDFB analysis instances */ + int16_t *numCldfbSyntheses /* o : number of CLDFB synthesis instances */ +); + +#ifdef BRATE_SWITCHING_RENDERING +ivas_error ivas_cldfb_dec_reconfig( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ + int16_t numCldfbAnalyses_old, /* i : number of CLDFB analysis instances in previous frame */ + const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ +); +#endif +/*! r: Ambisonic (SBA) order */ +int16_t ivas_sba_get_order( + const int16_t nb_channels, /* i : Number of ambisonic channels */ + const int16_t sba_planar /* i : SBA planar flag */ +); + +/*! r: Ambisonic (SBA) order used for analysis and coding */ +int16_t ivas_sba_get_analysis_order( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ +); + +int16_t ivas_sba_get_order_transport( + const int16_t nchan_transport /* i : Number of transport channels */ +); + +/*! r: number of Ambisonic channels */ +int16_t ivas_sba_get_nchan( + const int16_t sba_order, /* i : Ambisonic (SBA) order */ + const int16_t sba_planar /* i : SBA planar flag */ +); + +/*! r: number of ambisonics metadata channels */ +int16_t ivas_sba_get_nchan_metadata( + const int16_t sba_order /* i : Ambisonic (SBA) order */ +); + +/*! r: flag indicating to code SPAR HOA MD for all bands */ +int16_t ivas_sba_get_spar_hoa_md_flag( + const int16_t sba_order, /* i : Ambisonic (SBA) order */ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +void ivas_sba_zero_vert_comp( + float sba_data[][L_FRAME48k], /* i/o: SBA data frame */ + const int16_t sba_order, /* i : Ambisonic (SBA) order */ + const int16_t sba_planar, /* i : SBA planar flag */ + const int16_t input_frame /* i : input frame length */ +); + +void ivas_sba_getTCs( + float sba_data[][L_FRAME48k], /* i : SBA signals */ + Encoder_Struct *st_ivas, /* i/o: Encoder struct */ + const int16_t input_frame /* i : frame length */ +); + +ivas_error ivas_sba_linear_renderer( + float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t nchan_in, /* i : number of input ambisonics channels */ + const AUDIO_CONFIG output_config, /* i : output audio configuration */ + const IVAS_OUTPUT_SETUP output_setup, /* i : output format setup */ + const float hoa_dec_mtx[] /* i : HOA decoding mtx */ +); + +int16_t ivas_sba_remapTCs( + float sba_data[][L_FRAME48k], /* i/o: SBA signals */ + Decoder_Struct *st_ivas, /* i/o: decoder struct */ + const int16_t output_frame /* i : frame length */ +); + +void ivas_sba_dirac_stereo_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output[CPE_CHANNELS][L_FRAME48k], /* o : output synthesis signal */ + const int16_t output_frame /* i : output frame length per channel */ +); + +void ivas_sba_dirac_stereo_config( + STEREO_DFT_CONFIG_DATA_HANDLE hConfig /* o : DFT stereo configuration */ +); + +void ivas_sba_dirac_stereo_smooth_parameters( + STEREO_DFT_DEC_DATA_HANDLE hStereoDft /* i/o: encoder DFT stereo handle */ +); + +ivas_error ivas_sba_get_hoa_dec_matrix( + const IVAS_OUTPUT_SETUP hOutSetup, /* i : target output setup */ + float **hoa_dec_mtx, /* o : ALLRAD decoder matrix */ + const int16_t ambisonics_order /* i : Ambisonics order */ +); + +void ivas_sba_mtx_mult( + float output_f[][L_FRAME48k], /* i/o: synthesized core-corder transport channels/DirAC output */ + const int16_t output_frame, /* i : frame length per channel */ + const int16_t nchan_in, /* i : Number of ambisonic channels */ + const IVAS_OUTPUT_SETUP output_setup, /* i : Output configuration */ + const float *mtx_hoa_decoder /* o : HOA decoding matrix */ +); + +/*----------------------------------------------------------------------------------* + * DirAC prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_dirac_enc_open( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +ivas_error ivas_dirac_enc_reconfigure( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +void ivas_dirac_enc_close( + DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ + const int32_t input_Fs /* i : input sampling_rate */ +); + +void ivas_dirac_enc( + DIRAC_ENC_HANDLE hDirAC, /* i/o: encoder DirAC handle */ + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ + int16_t *nb_bits_metadata, /* o : number of metadata bits written */ + const int16_t Opt_DTX_ON, /* i : flag signaling DTX on */ + float data_f[][L_FRAME48k], /* i/o: SBA channels */ + const int16_t input_frame, /* i : input frame length */ + const int16_t sba_planar /* i : SBA planar flag */ +); + +ivas_error ivas_dirac_config( + void *st_ivas, /* i/o: IVAS encoder/decoder state structure */ + const int16_t enc_dec /* i : encoder or decoder flag */ +); + +void ivas_dirac_config_bands( + int16_t *band_grouping, /* o : band grouping */ + const int16_t nbands, /* i : number of bands */ + const int16_t max_band, /* i : maximal band index +1 */ + int16_t *dirac_to_spar_md_bands, /* o : mapping of DirAC parameter band index to SPAR FB band index */ + const int8_t useLowerBandRes, /* i : flag indicating lower band resolution for DirAC */ + const int16_t enc_param_start_band, /* i : band index of first DirAC parameter band */ + IVAS_FB_MIXER_HANDLE hFbMdft +); + +ivas_error ivas_dirac_sba_config( + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + int16_t *nchan_transport, /* o : number of transport channel needed for MASA format */ + int16_t *nSCE, /* o : number of SCEs */ + int16_t *nCPE, /* o : number of CPEs */ + int16_t *element_mode, /* o : element mode of the core coder */ + int32_t sba_total_brate, /* i : SBA total bitrate */ + const int16_t sba_order, /* i : Ambisonic (SBA) order */ + const SBA_MODE sba_mode, /* i : SBA mode */ + const int16_t nbands /* i : number of frequency bands */ +); + +ivas_error ivas_dirac_dec_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_dirac_dec_config( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const DIRAC_CONFIG_FLAG flag_configopen /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ +); + +void ivas_dirac_dec_close( + DIRAC_DEC_HANDLE hDirAC /* i/o: decoder DirAC handle */ +); + +void ivas_dirac_dec_read_BS( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + Decoder_State *st, /* i/o: decoder Core state structure */ + DIRAC_DEC_HANDLE hDirAC, /* i/o: decoder DirAC handle */ + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q metadata */ + int16_t *nb_bits, /* o : number of bits read */ + const SBA_MODE sba_mode, /* i : SBA mode */ + int16_t *dirac_to_spar_md_bands /* o : DirAC->SPAR MD bands */ +); + +void ivas_dirac_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ + const int16_t nchan_transport, /* i : number of transport channels */ + float *pppQMfFrame_ts_re[IVAS_MAX_FB_MIXER_IN_CH][CLDFB_NO_COL_MAX], + float *pppQMfFrame_ts_im[IVAS_MAX_FB_MIXER_IN_CH][CLDFB_NO_COL_MAX], + const int16_t i_sf +); + +ivas_error ivas_dirac_dec_init_binaural_data( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_dirac_dec_close_binaural_data( + DIRAC_DEC_BIN_HANDLE *hBinaural /* i/o: decoder DirAC binaural data handle */ +); + +void ivas_dirac_dec_binaural( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/DirAC output */ + const int16_t nchan_transport /* i : number of transport channels */ +); + +ivas_error ivas_binaural_reverb_open( + REVERB_STRUCT_HANDLE *hReverbPr, /* i/o: binaural reverb handle */ + const int16_t numBins, /* i : number of CLDFB bins */ + const int16_t numCldfbSlotsPerFrame, /* i : number of CLDFB slots per frame */ + ivas_roomAcoustics_t *roomAcoustics, /* i/o: room acoustics parameters */ + const AUDIO_CONFIG output_config, /* i : output audio configuration */ + const int32_t sampling_rate, /* i : sampling rate */ + const RENDERER_TYPE renderer_type /* i : renderer type */ +); + +void ivas_binaural_reverb_close( + REVERB_STRUCT_HANDLE *hReverb /* i/o: binaural reverb handle */ +); + +void ivas_binaural_reverb_setReverbTimes( + REVERB_STRUCT_HANDLE hReverb, /* i/o: binaural reverb handle */ + const int32_t output_Fs, /* i : sampling_rate */ + const float *revTimes, /* i : reverberation times T60 for each CLDFB bin in seconds */ + const float *revEnes /* i : spectrum for reverberated sound at each CLDFB bin */ +); + +void ivas_binaural_reverb_setPreDelay( + REVERB_STRUCT_HANDLE hReverb, /* i/o: binaural reverb handle */ + const int16_t delaySamples /* i : reverb pre-delay in CLDFB slots */ +); + +void ivas_binaural_reverb_processFrame( + REVERB_STRUCT_HANDLE hReverb, /* i/o: binaural reverb handle */ + const int16_t numInChannels, /* i : num input channels to be processed */ + float inReal[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : input CLDFB data real */ + float inImag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : input CLDFB data imag */ + float outReal[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : output CLDFB data real */ + float outImag[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* o : output CLDFB data imag */ + const uint8_t offsetSamplesIO /* i : number of offset samples */ +); + +void computeDiffuseness_mdft( + float **buffer_intensity[DIRAC_NUM_DIMS], + const float *buffer_energy, + const int16_t num_freq_bands, + const uint16_t no_col_avg_diff, + float *diffuseness +); + +void computeDirectionVectors( + float *intensity_real_x, + float *intensity_real_y, + float *intensity_real_z, + const int16_t enc_param_start_band, + const int16_t num_frequency_bands, + float *direction_vector_x, + float *direction_vector_y, + float *direction_vector_z +); + +void computeDiffuseness( + float *buffer_intensity[DIRAC_NUM_DIMS][DIRAC_NO_COL_AVG_DIFF], + const float *buffer_energy, + const int16_t num_freq_bands, + float *diffuseness +); + +void ivas_dirac_dec_onset_detection_open( + const int16_t num_channels, + const int16_t num_freq_bands, + const int16_t max_band_decorr, + DIRAC_ONSET_DETECTION_PARAMS *ph_dirac_onset_detection_params, + DIRAC_ONSET_DETECTION_STATE *ph_dirac_onset_detection_state +); + +void ivas_dirac_dec_onset_detection_process( + const float *input_power_f, + float *onset_filter, + const int16_t num_protos_diff, + DIRAC_ONSET_DETECTION_PARAMS h_dirac_onset_detection_params, + DIRAC_ONSET_DETECTION_STATE h_dirac_onset_detection_state +); + +void ivas_dirac_dec_decorr_open( + DIRAC_DECORR_PARAMS **ph_freq_domain_decorr_ap_params, + DIRAC_DECORR_STATE **ph_freq_domain_decorr_ap_state, + const int16_t num_freq_bands, + int16_t num_outputs_diff, + const int16_t num_protos_diff, + const DIRAC_SYNTHESIS_CONFIG synthesisConf, + float *frequency_axis, + const int16_t nchan_transport, /* i : number of transport channels */ + const int32_t output_Fs /* i : output sampling rate */ +); + +void ivas_dirac_dec_decorr_process( + const int16_t num_freq_bands, + int16_t num_channels, + const int16_t num_protos_diff, + const DIRAC_SYNTHESIS_CONFIG synthesisConf, + const int16_t nchan_transport, /* i : number of transport channels */ + const float *input_frame_f, + const int16_t num_protos_dir, + const int16_t *proto_index_dir, + float *frame_dec_f, + float *onset_filter, + HANDLE_DIRAC_DECORR_PARAMS h_freq_domain_decorr_ap_params, + HANDLE_DIRAC_DECORR_STATE h_freq_domain_decorr_ap_state +); + +void ivas_dirac_dec_decorr_close( + HANDLE_DIRAC_DECORR_PARAMS *ph_dirac_decorr_params, + HANDLE_DIRAC_DECORR_STATE *ph_dirac_decorr_state +); + + +void ivas_dirac_dec_output_synthesis_open( + DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ + const RENDERER_TYPE renderer_type, /* i : renderer type */ + const int16_t nchan_transport, /* i : number of transport channels */ + const int32_t output_Fs /* i : output sampling rate */ +); + +void ivas_dirac_dec_output_synthesis_init( + DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ + const int16_t nchan_out_woLFE /* i : number of output audio channels without LFE */ +); + +void ivas_dirac_dec_output_synthesis_close( + DIRAC_DEC_HANDLE hDirAC /* i/o: DirAC handle */ +); + +void ivas_dirac_dec_output_synthesis_process_slot( + const float *reference_power, /* i : Estimated power */ + const float *onset, /* i : onset filter */ + DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ + const float *p_Rmat, /* i : rotation matrix */ + const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ + const IVAS_OUTPUT_SETUP hOutSetup, /* i : output setup structure */ + const int16_t nchan_transport, /* i : number of transport channels */ + const int16_t index_slot +); + +void ivas_dirac_dec_output_synthesis_process_subframe_gain_shd( + float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ + float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ + DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ + const int16_t nchan_transport, /* i : number of transport channels */ + const float *onset_filter +); + +void ivas_dirac_dec_output_synthesis_process_subframe_psd_ls( + float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ + float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX],/* i : LS signals */ + DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ + float *reference_power_smooth, + float qualityBasedSmFactor +); + +void ivas_dirac_dec_get_response( + const int16_t azimuth, + const int16_t elevation, + float *response, + const int16_t ambisonics_order +); + +void compute_hoa_encoder_mtx( + const float *azimuth, + const float *elevation, + float *response, + const int16_t num_responses, + const int16_t ambisonics_order ); + +void ivas_dirac_dec_compute_gain_factors( + const int16_t num_freq_bands, + const float *diffuseness, + const int16_t max_band_decorr, + float *direct_gain_factor, + float *diffuse_gain_factor +); + +void ivas_dirac_dec_compute_power_factors( + const int16_t num_freq_bands, + const float *diffuseness, + const int16_t max_band_decorr, + float *direct_power_factor, + float *diffuse_power_factor +); + +void ivas_dirac_dec_compute_directional_responses( + DIRAC_DEC_HANDLE hDirAC, /* i/o: DirAC handle */ + const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ + const MASA_DECODER_HANDLE hMasa, /* i : MASA decoder structure */ + const int16_t direction_idx, /* i : index for direction (azi and ele) */ + const int16_t subframe_idx, /* i : subframe index */ + const float *surCohRatio, + const int16_t shd_rot_max_order, /* i : split-order rotation method */ + const float *p_Rmat /* i : rotation matrix */ +); + +void ivas_dirac_dec_get_frequency_axis( + float *frequency_axis, /* o : array of center frequencies of a real filter bank */ + const int32_t output_Fs, /* i : sampling frequency */ + const int16_t num_freq_bands ); /* i : number of frequency bands */ + +void ivas_param_mc_metadata_open( + const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ + const int16_t lfe_index, /* i : channel index of LFE */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC /* o : handle for the Parametric MC parameter coding state */ +); + +void ivas_param_mc_set_coded_bands( + HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC /* i/o: handle for the Parametric MC parameter coding state */ +); + +void ivas_param_mc_metadata_close( + HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC /* i/o: handle for the Parametric MC parameter coding state */ +); + +void ivas_param_mc_create_full_icc_mapping( + const int16_t n_channels, /* i : number of channels with LFE for the internal setup */ + const int16_t lfe_index, /* i : channel index of the LFE */ + int16_t *icc_map[2], /* o : map of all possible ICCs */ + int16_t *icc_map_size_full /* o : number of all possible ICCs */ +); + +/*! r: number of IVAS transport channels */ +int16_t ivas_param_mc_getNumTransportChannels( + const int32_t ivas_total_bitrate, /* i : IVAS total bitrate */ + const MC_LS_SETUP mc_ls_setup /* i : MC ls setup */ +); + +ivas_error ivas_param_mc_enc_open( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +void ivas_param_mc_enc_close( + PARAM_MC_ENC_HANDLE hParamMC, /* i/o: Parametric MC encoder handle */ + const int32_t input_Fs /* i : input sampling rate */ +); + +void ivas_param_mc_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS Encoder handle */ + BSTR_ENC_HANDLE hMetaData, /* i/o: IVAS Metadata bitstream handle */ + float data_f[][L_FRAME48k], /* i/o: input: CICP6, CICP12, CICP14, CICP16 or CICP19 MC data */ + const int16_t input_frame /* i : input frame length */ +); + +ivas_error ivas_param_mc_dec_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_param_mc_dec_close( + PARAM_MC_DEC_HANDLE *hParamMC /* i/o: Parametric MC decoder handle */ +); + +void ivas_param_mc_dec_read_BS( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + Decoder_State *st, /* i/o: decoder state structure */ + PARAM_MC_DEC_HANDLE hParamMC, /* i/o: decoder ParamMC handle */ + int16_t *nb_bits /* o : number of bits written */ +); + +void ivas_param_mc_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ +); + +void ivas_param_mc_default_icc_map( + const PARAM_MC_ICC_MAPPING * hIccMapping, /* i : handle to ICC mapping configuration */ + int16_t icc_map[PARAM_MC_SZ_ICC_MAP][2] /* o : copy of map from the configuration */ +); + +/*! r: number of cldfb synthesis instances */ +int16_t param_mc_get_num_cldfb_syntheses( + Decoder_Struct *st_ivas /* i : IVAS decoder structure */ +); + +/*! r: index into the ParamMC configuration tables */ +uint16_t ivas_param_mc_get_configuration_index( + const MC_LS_SETUP mc_ls_setup, /* i : MC ls setup */ + const int32_t ivas_total_brate /* i : total bitrate */ +); + +int16_t matrix_product( + const float *X, /* i : left hand matrix */ + const int16_t rowsX, /* i : number of rows of the left hand matrix */ + const int16_t colsX, /* i : number of columns of the left hand matrix */ + const int16_t transpX, /* i : flag indicating the transposition of the left hand matrix prior to the multiplication */ + const float *Y, /* i : right hand matrix */ + const int16_t rowsY, /* i : number of rows of the right hand matrix */ + const int16_t colsY, /* i : number of columns of the right hand matrix */ + const int16_t transpY, /* i : flag indicating the transposition of the right hand matrix prior to the multiplication */ + float *Z /* o : resulting matrix after the matrix multiplication */ +); + +void mat2svdMat( + const float *mat, /* i : matrix as column ordered vector */ + float svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* o : matrix as two-dimensional arry */ + const int16_t nRows, /* i : number of rows of the matrix */ + const int16_t mCols, /* i : number of columns of the matrix */ + const int16_t transpose /* i : flag indication transposition */ +); + +void svdMat2mat( + float svdMat[MAX_OUTPUT_CHANNELS][MAX_OUTPUT_CHANNELS], /* i : matrix as two-dimensional arry */ + float *mat, /* o : matrix as column ordered vector */ + const int16_t nRows, /* i : number of rows of the matrix */ + const int16_t mCols /* i : number of columns of the matrix */ +); + +int16_t matrix_diag_product( + const float *X, /* i : left hand matrix */ + const int16_t rowsX, /* i : number of rows of the left hand matrix */ + const int16_t colsX, /* i : number of columns of the left hand matrix */ + const int16_t transpX, /* i : flag indicating the transposition of the left hand matrix prior to the multiplication */ + const float *Y, /* i : right hand diagonal matrix as vector containing the diagonal elements */ + const int16_t entriesY, /* i : number of entries in the diagonal */ + float *Z /* o : resulting matrix after the matrix multiplication */ +); + +int16_t diag_matrix_product( + const float *Y, /* i : left hand diagonal matrix as vector containing the diagonal elements */ + const int16_t entriesY, /* i : length of the diagonal of the left hand matrix */ + const float *X, /* i : right hand matrix */ + const int16_t rowsX, /* i : number of rows of the right hand matrix */ + const int16_t colsX, /* i : number of columns of the right hand matrix */ + const int16_t transpX, /* i : flag indicating the transposition of the right hand matrix prior to the multiplication */ + float *Z /* o : resulting matrix after the matrix multiplication */ +); + +int16_t matrix_product_diag( + const float *X, /* i : left hand matrix */ + const int16_t rowsX, /* i : number of rows of the left hand matrix */ + const int16_t colsX, /* i : number of columns of the left hand matrix */ + const int16_t transpX, /* i : flag indicating the transposition of the left hand matrix prior to the multiplication */ + const float *Y, /* i : right hand matrix */ + const int16_t rowsY, /* i : number of rows of the right hand matrix */ + const int16_t colsY, /* i : number of columns of the right hand matrix */ + const int16_t transpY, /* i : flag indicating the transposition of the right hand matrix prior to the multiplication */ + float *Z /* o : resulting matrix after the matrix multiplication */ +); + +void cmplx_matrix_square( + const float *realX, /* i : real part of the matrix */ + const float *imagX, /* i : imaginary part of the matrix */ + const int16_t mRows, /* i : number of rows of the matrix */ + const int16_t nCols, /* i : number of columns of the matrix */ + float *realZ, /* o : real part of the resulting matrix */ + float *imagZ /* o : imaginary part of the resulting matrix */ +); + +int16_t computeMixingMatrices( + const int16_t num_inputs, /* i : number of input channels */ + const int16_t num_outputs, /* i : number of output channels */ + const float *Cx, /* i : input channel covariance matrix */ + const float *Cy, /* i : target covariance matrix */ + const float *Q, /* i : prototype matrix (usually a upmix matrix) */ + const int16_t energy_compensation_flag, /* i : flag indicating that the energy compensation should be performed (i.e. no residual mixing matrix will follow) */ + const float reg_Sx, /* i : regularization factor for the input channel singular values */ + const float reg_ghat, /* i : regularization factor for the normalization matrix */ + float *mixing_matrix, /* o : resulting mixing matrix */ + float *Cr /* o : residual covariance matrix */ +); + +int16_t computeMixingMatricesResidual( + const int16_t num_outputs, /* i : number of output channels */ + const float *Cx, /* i : vector containing the diagonal diffuse prototype covariance */ + const float *Cy, /* i : matrix containing the missing cov (Cr from computeMixingMatrices()) */ + const float reg_Sx, /* i : regularization factor for the input channel singular values */ + const float reg_ghat, /* i : regularization factor for the normalization matrix */ + float *mixing_matrix /* o : resulting residual mixing matrix */ +); + +/* !r: error or success */ +int16_t svd( + float InputMatrix[][MAX_OUTPUT_CHANNELS], /* i : matrix to be decomposed (M) */ + float singularVectors_Left[][MAX_OUTPUT_CHANNELS], /* o : left singular vectors (U) */ + float singularValues[MAX_OUTPUT_CHANNELS], /* o : singular values vector (S) */ + float singularVectors_Right[][MAX_OUTPUT_CHANNELS], /* o : right singular vectors (V) */ + const int16_t nChannelsL, /* i : number of rows in the matrix to be decomposed */ + const int16_t nChannelsC /* i : number of columns in the matrix to be decomposed */ +); + +void ivas_dirac_dec_output_synthesis_cov_open( + DIRAC_OUTPUT_SYNTHESIS_PARAMS *h_dirac_output_synthesis_params, /* i/o: handle for the covariance synthesis parameters */ + DIRAC_OUTPUT_SYNTHESIS_COV_STATE *h_dirac_output_synthesis_state, /* i/o: handle for the covariance synthesis state */ + const int16_t max_band_decorr, /* i : uppermost frequency band where decorrelation is applied */ + const int16_t interp_length, /* i : length for interpolating the mixing matrices in time slots */ + const int16_t num_param_bands, /* i : number of parameter bands */ + const int16_t num_param_bands_residual, /* i : number of parameter bands with a residual mixing matrix (i.e. decorrelation */ + const int16_t nchan_in, /* i : number of input (transport) channels */ + const int16_t nchan_out, /* i : number of output channels */ + const float *proto_matrix /* i : the prototype (upmix) matrix (only used if mode == 1) */ +); + +void ivas_dirac_dec_output_synthesis_cov_init( + DIRAC_OUTPUT_SYNTHESIS_COV_STATE *h_dirac_output_synthesis_state, /* i/o: pointer to the state of the covariance synthesis */ + const int16_t nchan_in, /* i : number of input (tranport) channels */ + const int16_t nchan_out, /* i : number of output channels */ + const int16_t n_param_bands, /* i : number of total parameter bands */ + const int16_t n_param_bands_res /* i : number of parameter bands with a residual mixing matrix (i.e. decorrelation */ +); + +void ivas_dirac_dec_output_synthesis_cov_close( + DIRAC_OUTPUT_SYNTHESIS_PARAMS *h_dirac_output_synthesis_params, /* i : handle for the covariance synthesis parameters */ + DIRAC_OUTPUT_SYNTHESIS_COV_STATE *h_dirac_output_synthesis_state /* i/o: handle for the covariance synthesis state */ +); + +void ivas_dirac_dec_output_synthesis_cov_param_mc_collect_slot( + float RealBuffer[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (real part) */ + float ImagBuffer[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (imaginary part */ + float cx[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], /* o : accumulated input covariance (real part) */ + float cx_imag[PARAM_MC_MAX_PARAMETER_BANDS][PARAM_MC_MAX_TRANSPORT_CHANS * PARAM_MC_MAX_TRANSPORT_CHANS], /* o : accumulated input covariance (imaginary part) */ + PARAM_MC_DEC_HANDLE hParamMC, /* i : handle to Parametric MC state */ + const int16_t nchan_in, /* i : number of input channels */ + const int16_t idx_slot /* i : index of the slot to be added to the input covariance */ +); + +void ivas_dirac_dec_output_synthesis_cov_param_mc_synthesise_slot( + float Cldfb_RealBuffer_in[][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (real part) */ + float Cldfb_ImagBuffer_in[][PARAM_MC_MAX_NSLOTS][CLDFB_NO_CHANNELS_MAX], /* i : input channel filter bank samples (imaginary part) */ + float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : output channel filter bank samples (real part) */ + float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : output channel filter bank samples (imaginary part) */ + float mixing_matrix[PARAM_MC_MAX_PARAMETER_BANDS][MAX_CICP_CHANNELS * PARAM_MC_MAX_TRANSPORT_CHANS], /* i : parameter band wise mixing matrices (direct part) */ + float mixing_matrix_res[PARAM_MC_MAX_PARAMETER_BANDS_RES][MAX_CICP_CHANNELS * MAX_CICP_CHANNELS], /* i : parameter band wise mixing matrices (residual part) */ + const uint16_t slot_idx_sfr, /* i : time slot index for the current slot within the current subframe */ + const uint16_t slot_idx_tot, /* i : time slot index for the current slot within the frame */ + const int16_t nX, /* i : number of input channels */ + const int16_t nY, /* i : number of output channels */ + PARAM_MC_DEC_HANDLE hMetadataPMC /* i : handle to the Parametric MC decoder state */ +); + +int16_t computeMixingMatricesISM( + const int16_t num_inputs, + const int16_t num_responses, + const int16_t num_outputs, + const float *responses, + const float *ener, + const float *Cx_diag, + const float *Cy_diag, + const float *Q, + const int16_t energy_compensation_flag, + const float reg_Sx, + const float reg_ghat, + float *mixing_matrix +); + +void FdCngEncodeDiracMDCTStereoSID( + CPE_ENC_HANDLE hCPE /* i/o: CPE encoder state structure */ +); + +void FdCngDecodeDiracMDCTStereoSID( + CPE_DEC_HANDLE hCPE /* i/o: CPE decoder state structure */ +); + + +/*----------------------------------------------------------------------------------* + * SPAR prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_spar_enc_open( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +void ivas_spar_enc_close( + SPAR_ENC_HANDLE hSpar, /* i/o: SPAR encoder handle */ + const int32_t input_Fs, /* i : input sampling rate */ + const int16_t nchan_inp /* i : number of input channels */ +); + +ivas_error ivas_spar_enc( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + float data_f[][L_FRAME48k], /* i/o: input/transport audio channels */ + const int16_t input_frame, /* i : input frame length */ + int16_t *nb_bits_metadata, /* i : number of MD bits written */ + BSTR_ENC_HANDLE hMetaData /* o : MetaData handle */ +); + +ivas_error ivas_spar_dec_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ +); + +void ivas_spar_dec_close( + SPAR_DEC_HANDLE hSpar, /* i/o: SPAR decoder handle */ + const int32_t output_Fs /* i : output sampling rate */ +); + +ivas_error ivas_spar_dec( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ + int16_t *nb_bits_read /* o : number of MD bits read */ +); + +void ivas_spar_config( + int32_t ivas_total_brate, /* i : codec total bitrate */ + const int16_t sba_order, /* i : Ambisonic (SBA) order */ + int16_t *nchan_transport, /* o : number of transport channels */ + int16_t *nSCE, /* o : number of SCEs */ + int16_t *nCPE, /* o : number of CPEs */ + int32_t *core_nominal_brate, /* o : core-coding nominal bitrate */ + const int16_t sid_format /* i : IVAS format indicator from SID frame */ +); + +void ivas_sba_upmixer_renderer( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ + float output[][L_FRAME48k], /* i/o: transport/output audio channels */ + const int16_t output_frame /* i : output frame length */ +); + +void ivas_sba_mix_matrix_determiner( + SPAR_DEC_HANDLE hSpar, /* i/o: SPAR decoder handle */ + float output[][L_FRAME48k], /* i/o: transport/output audio channels */ + const int16_t bfi, /* i : BFI flag */ + const int16_t nchan_remapped, /* i : num channels after remapping of TCs */ + const int16_t output_frame /* i : output frame length */ +); + +void ivas_sba_prototype_renderer( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ + float inRe[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, real */ + float inIm[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, imag */ + const int16_t firstSubframe, /* i : First subframe to map */ + const int16_t nSubframes /* i : Number of subframes to map */ +); + +/* AGC */ +/*! r: AGC enable flag */ +int16_t ivas_agc_enc_get_flag( +#ifdef DEBUG_AGC_ENCODER_CMD_OPTION + int16_t agc_configuration, /* i : AGC configuration from command-line */ +#endif + int16_t nchan_transport /* i : number of transport channels */ +); + +ivas_error ivas_spar_agc_enc_open( + ivas_agc_enc_state_t **hAgcEnc, /* i/o: AGC decoder handle */ + const int32_t input_Fs, /* i : input sampling rate */ + const int16_t nchan_inp /* i : number of input channels */ +); + +void ivas_spar_agc_enc_close( + ivas_agc_enc_state_t **hAgcEnc /* i/o: AGC encoder handle */ +); + +void ivas_agc_enc_process( + ivas_agc_enc_state_t *hAgcEnc, /* i/o: AGC encoder handle */ + BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle */ + float **ppPcm_in, /* i : input audio channels */ + float **ppPcm_out, /* o : output audio channels */ + const int16_t n_channels, /* i : number of channels */ + const ENCODER_CONFIG_HANDLE hEncoderConfig /* i : configuration structure */ +); + +ivas_error ivas_spar_agc_dec_open( + ivas_agc_dec_state_t **hAgcDec, /* i/o: AGC decoder handle */ + const int32_t output_Fs /* i : output sampling rate */ +); + +void ivas_spar_agc_dec_close( + ivas_agc_dec_state_t **hAgcDec /* i/o: AGC decoder handle */ +); + +void ivas_agc_dec_process( + ivas_agc_dec_state_t *hAgcDec, /* i/o: AGC decoder handle */ + float pcm_in[][L_FRAME48k], /* i : input audio channels */ + float pcm_out[][L_FRAME48k], /* o : output audio channels */ + const int16_t n_channels, /* i : number of channels */ + const int16_t output_Fs /* i : output sampling rate */ +); + +void ivas_agc_read_bits( + ivas_agc_dec_state_t *hAgcDec, /* i/o: AGC decoder handle */ + Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ + const int16_t n_channels, /* i : number of channels */ + const int16_t AGC_flag /* i : AGC on/off flag */ +); + +void ivas_agc_initWindowFunc( + float *pWinFunc, + const int16_t length +); + +void ivas_agc_calcGainParams( + uint16_t *absEmin, + uint16_t *betaE, + uint16_t *maxAttExp, + const int16_t numCoeffs +); + +float ivas_get_mdct_scaling_gain( + const int16_t dct_len_by_2 +); + +void ivas_get_twid_factors( + const int16_t length, + const float **pTwid_re, + const float **pTwid_im +); + +int16_t ivas_get_bw_idx_from_sample_rate( + const int32_t sampling_rate /* i : sampling rate */ +); + +/* !r: config. table index */ +int16_t ivas_get_spar_table_idx( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t sba_order, /* i : IVAS SBA order */ + const int16_t bwidth, /* i : audio bandwidth */ + int16_t *bitlen, /* o : number of bits */ + int16_t *ind /* o : indice */ +); + +/*! r: number of transport channels */ +int16_t ivas_get_sba_num_TCs( + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t sba_order /* i : IVAS SBA order */ +); + +void ivas_spar_set_bitrate_config( + ivas_spar_md_com_cfg *pSpar_md_cfg, /* i/o: SPAR MD config. handle */ + const int16_t table_idx, /* i : config. table index */ + const int16_t num_bands /* i : number of bands */ +); + +#ifdef FIX_I1_113 +void ivas_spar_bitrate_dist( + int32_t core_brates_act[], /* o : bitrates per core-coder */ + const int16_t nAvailBits, /* i : number of available bits */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t sba_order, /* i : Ambisonic (SBA) order */ + const int16_t bwidth /* i : audio bandwidth */ +); +#endif + +void ivas_mdct( const float *pIn, float *pOut, const int16_t length ); +void ivas_dct_windowing( const int16_t fade_len, const int16_t full_len, const int16_t dct_len, const int16_t zero_pad_len, const float *pWindow_coeffs, const int16_t frame_len, float *pOut_buf, float *pBuffer_prev, float *pTemp_lfe ); +void ivas_tda( const float *pIn, float *pOut, const int16_t length ); +void ivas_imdct( const float *pIn, float *pOut, const int16_t length ); +void ivas_itda( const float *re, float *pOut, const int16_t length ); + +void ivas_spar_get_cldfb_gains( + SPAR_DEC_HANDLE hSpar, + HANDLE_CLDFB_FILTER_BANK cldfbAnaDec0, + HANDLE_CLDFB_FILTER_BANK cldfbSynDec0, + const DECODER_CONFIG_HANDLE hDecoderConfig +); + +/* !r: 1 if prediction residual channel */ +int16_t ivas_is_res_channel( + const int16_t ch, /* i : ch index in WYZX ordering */ + const int16_t nchan_transport /* i : number of transport channels (1-4) */ +); + +void ivas_spar_dec_upmixer( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + float output[][L_FRAME48k], /* i/o: input/output audio channels */ + const int16_t nchan_internal, /* i : number of internal channels */ + const int16_t output_frame /* i : output frame length */ +); + +/* MD module */ +ivas_error ivas_spar_md_enc_open( + ivas_spar_md_enc_state_t **hMdEnc, /* i/o: SPAR MD encoder handle */ + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ +); + +void ivas_spar_md_enc_close( + ivas_spar_md_enc_state_t **hMdEnc /* i/o: SPAR MD encoder handle */ +); + +ivas_error ivas_spar_md_enc_process( + ivas_spar_md_enc_state_t *hMdEnc, /* i/o: SPAR MD encoder handle */ + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle */ + const int16_t dtx_vad, + const int16_t nchan_inp, + const int16_t sba_order /* i : Ambisonic (SBA) order */ +); + +void ivas_compute_spar_params( + float *pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + float dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], + const int16_t i_ts, + float ***mixer_mat, + const int16_t start_band, + const int16_t end_band, + const int16_t dtx_vad, + const int16_t num_ch, + const int16_t bands_bw, + const int16_t active_w, + ivas_spar_md_com_cfg *hSparCfg, + ivas_spar_md_t *hSparMd, + float *pWscale, + const int16_t from_dirac +); + +void ivas_create_fullr_dmx_mat( + float pred_coeffs_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], + float dm_fv_re[IVAS_SPAR_MAX_CH - 1][IVAS_MAX_NUM_BANDS], + float ***mixer_mat, + const int16_t in_chans, + const int16_t start_band, + const int16_t end_band, + const int16_t active_w, + ivas_spar_md_com_cfg *hMdCfg +); + +void ivas_calc_c_p_coeffs( + ivas_spar_md_t *pSparMd, + float *pppCov_mat_re[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + const int16_t i_ts, + float ***mixer_mat, + const int16_t num_ch, + const int16_t num_dmx, + const int16_t band_idx, + const int16_t dtx_vad, + const int16_t compute_p_flag, + const int16_t planarCP +); + +void ivas_get_spar_md_from_dirac( + float azi_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], + float ele_dirac[IVAS_MAX_NUM_BANDS][MAX_PARAM_SPATIAL_SUBFRAMES], + float diffuseness[IVAS_MAX_NUM_BANDS], + const int16_t n_ts, + float ***mixer_mat, + ivas_spar_md_t *hSpar_md, + ivas_spar_md_com_cfg *hSpar_md_cfg, + const int16_t start_band, + const int16_t end_band, + const int16_t order, + const int16_t dtx_vad, + float Wscale_d[IVAS_MAX_NUM_BANDS] +); + +ivas_error ivas_spar_md_dec_open( + ivas_spar_md_dec_state_t **hMdDec_out, /* i/o: SPAR MD decoder handle */ + const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ + const int16_t num_channels, /* i : number of internal channels */ + const int16_t sba_order /* i : SBA order */ +); + +void ivas_spar_md_dec_close( + ivas_spar_md_dec_state_t **hMdDec /* i/o: SPAR MD decoder handle */ +); + +void ivas_spar_get_parameters( + SPAR_DEC_HANDLE hSpar, /* i/o: SPAR decoder handle */ + const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ + const int16_t ts, /* i : time slot index */ + const int16_t num_ch_out, /* i : number of channels out */ + const int16_t num_ch_in, /* i : number of channels in */ + const int16_t num_spar_bands, /* i : number of SPAR bands */ + float par_mat[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH][IVAS_MAX_NUM_BANDS] /* o : mixing matrix */ +); + +ivas_error ivas_spar_md_dec_init( + ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ + const DECODER_CONFIG_HANDLE hDecoderConfig, /* i : configuration structure */ + const int16_t num_channels, /* i : number of internal channels */ + const int16_t sba_order /* i : SBA order */ +); + +void ivas_spar_md_dec_process( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ + const int16_t num_bands_out, /* i : number of output bands */ + const int16_t sba_order /* i : SBA order */ +); + +void ivas_spar_to_dirac( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ + const int16_t dtx_vad, /* i : DTX frame flag */ + const int16_t num_bands_out /* i : number of output bands */ +); + +void ivas_spar_update_md_hist( + ivas_spar_md_dec_state_t *hMdDec /* i/o: SPAR MD decoder handle */ +); + +void ivas_spar_smooth_md_dtx( + ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ + const int16_t num_bands_out /* i : number of output bands */ +); + +void ivas_spar_setup_md_smoothing( + ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ + const int16_t num_bands_out /* i : number of output bands */ +); + +void ivas_spar_dec_gen_umx_mat( + ivas_spar_md_dec_state_t *hMdDec, /* i/o: SPAR MD decoder handle */ + const int16_t nchan_transport, /* i : number of transport channels */ + const int16_t num_bands_out, /* i : number of output bands */ + const int16_t bfi /* i : bad frame indicator */ +); + +/* Covariance module */ +ivas_error ivas_spar_covar_enc_open( + ivas_enc_cov_handler_state_t **hCovEnc, /* i/o: SPAR Covar. encoder handle */ + ivas_filterbank_t *pFb, /* i/o: FB handle */ + const int32_t input_Fs, /* i : input sampling rate */ + const int16_t nchan_inp /* i : number of input channels */ +); + +void ivas_spar_covar_enc_close( + ivas_enc_cov_handler_state_t **hCovEnc, /* i/o: SPAR Covar. encoder handle */ + const int16_t nchan_inp /* i : number of input channels */ +); + +void ivas_enc_cov_handler_process( + ivas_enc_cov_handler_state_t *hCovEnc, /* i/o: SPAR Covar. encoder handle */ + float **ppIn_FR_real, + float **ppIn_FR_imag, + float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + float *cov_dtx_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + ivas_filterbank_t *pFb, /* i/o: FB handle */ + const int16_t start_band, + const int16_t end_band, + const int16_t nchan_inp, + const int16_t dtx_vad, + const int16_t transient_det +); + +ivas_error ivas_spar_covar_smooth_enc_open( + ivas_cov_smooth_state_t **hCovState, /* i/o: SPAR Covar. smoothing handle */ + const ivas_cov_smooth_cfg_t *cov_smooth_cfg, /* i : SPAR config. handle */ + ivas_filterbank_t *pFb, /* i/o: FB handle */ + const int16_t nchan_inp /* i : number of input channels */ +); + +void ivas_spar_covar_smooth_enc_close( + ivas_cov_smooth_state_t **hCovState, /* i/o: SPAR Covar. encoder handle */ + const int16_t nchan_inp /* i : number of input channels */ +); + +void ivas_cov_smooth_process( + ivas_cov_smooth_state_t *hCovState, /* i/o: Covariance state handle */ + float *cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH], + ivas_filterbank_t *pFb, /* i/o: FB handle */ + const int16_t start_band, + const int16_t end_band, + const int16_t num_ch, + const int16_t transient_det +); + +/* Transient detector module */ +ivas_error ivas_spar_transient_det_open( + ivas_trans_det_state_t **hTranDet, /* i/o: SPAR TD handle */ + const int32_t sampling_rate /* i : sampling rate */ +); + +void ivas_spar_transient_det_close( + ivas_trans_det_state_t **hTranDet /* i/o: SPAR TD handle */ +); + +int16_t ivas_transient_det_process( + ivas_trans_det_state_t *hTranDet, /* i/o: SPAR TD handle */ + float *pIn_pcm, /* i : input audio channels */ + const int16_t frame_len /* i : frame length in samples */ +); + +void ivas_td_decorr_get_ducking_gains( + ivas_trans_det_state_t *hTranDet, /* i/o: SPAR TD handle */ + float *pIn_pcm, + float *pIn_duck_gains, + float *pOut_duck_gains, + const int16_t frame_len, + const int16_t tdet_flag +); + +ivas_error ivas_spar_td_decorr_dec_open( + ivas_td_decorr_state_t **hTdDecorr, /* i/o: SPAR Covar. decoder handle */ + const int32_t output_Fs, /* i : output sampling rate */ + const int16_t nchan_internal, /* i : number of internal channels */ + const int16_t ducking_flag /* i : ducking flag */ +); + +void ivas_spar_td_decorr_dec_close( + ivas_td_decorr_state_t **hTdDecorr /* i/o: SPAR Covar. decoder handle */ +); + +void ivas_td_decorr_process( + ivas_td_decorr_state_t *hTdDecorr, /* i/o: SPAR Covar. decoder handle */ + float pcm_in[][L_FRAME48k], /* i : input audio channels */ + float **ppOut_pcm, /* o : output audio channels */ + const int16_t output_frame /* i : output frame length */ +); + + +#define IVAS_CMULT_FLOAT( in1_re, in1_im, in2_re, in2_im, out1_re, out1_im ) \ + out1_re = ( in1_re * in2_re ) - ( in1_im * in2_im ); MAC(1); MULT(1); \ + out1_im = ( in1_re * in2_im ) + ( in2_re * in1_im ); MAC(1); MULT(1); + +#define IVAS_CALCULATE_ABS( re, im, out ) \ + out = (float) sqrt( ( re * re ) + ( im * im ) ); MAC(1); MULT(1); SQRT(1); + +#define IVAS_CALCULATE_RABS( re, out ) \ + out = (float) sqrt( re * re ); MULT(1); SQRT(1); + +#define IVAS_CALCULATE_SQ_ABS( re, im, out ) \ + out = (float) ( ( re * re ) + ( im * im ) ); MAC(1); MULT(1); + +#define IVAS_RMULT_DOUBLE( in1_re, in2_re, out1_re ) \ + out1_re = ( in1_re * in2_re ); DMULT(1); \ + +#define IVAS_CALCULATE_SQ_ABS_N( re, out ) \ + out = (float) ( re * re ); MULT(1); + +#define IVAS_RMULT_FLOAT( in1_re, in2_re, out1_re ) \ + out1_re = ( in1_re * in2_re ); MULT(1); + + +/* PCA */ +void ivas_pca_enc_init( + PCA_ENC_STATE *hPCA /* i/o: PCA encoder structure */ +); + +void ivas_pca_enc( + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + PCA_ENC_STATE *hPCA, /* i : PCA encoder structure */ + BSTR_ENC_HANDLE hMetaData, /* i/o: MetaData handle */ + float *data_f[8], /* i : input/transformed audio channels */ + const int16_t input_frame, /* i : input frame length */ + const int16_t n_channels /* i : number of channels */ +); + +void ivas_pca_read_bits( + Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ + PCA_DEC_STATE *hPCA /* i/o: PCA encoder structure */ +); + +void ivas_pca_dec_init( + PCA_DEC_STATE *hPCA /* i/o: PCA decoder structure */ +); + +void ivas_pca_dec( + PCA_DEC_STATE *hPCA, /* i/o: PCA decoder structure */ + const int16_t n_samples, /* i : output frame length */ + const int16_t n_channels, /* i : number of channels */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int32_t last_ivas_total_brate, /* i : last IVAS total bitrate */ + const int16_t bfi, /* i : bad frame indicator */ + float pcm_out[][L_FRAME48k] /* o : output audio channels */ +); + +/* PCA utilities */ +void eye_matrix( + float *mat, + const int16_t n, + const float d +); + +void cov_subfr( + float **ptr_sig, + float *r, + const int16_t n_channels, + const int16_t len +); + +void eig_qr( + const float *A, + const int16_t num_iter, + float *EV, float *Vals, + const int16_t n +); + +void exhst_4x4( + float *cost_mtx, + int16_t *path, + const int16_t maximize +); + +float mat_det4( + const float *m +); + +/* quaternion utilities */ +void mat2dquat( + const float *a, + float *ql, + float *qr +); + +void dquat2mat( + const float *ql, + const float *qr, + float *m +); + +void quat_shortestpath( + const float *q00, + float *q01, + const float *q10, + float *q11 +); + +void pca_interp_preproc( + const float *prev_ql, + const float *prev_qr, + const float *ql, + const float *qr, + const int16_t len, + float *ql_interp, + float *qr_interp +); + +void pca_enc_s3( + float *q, + int32_t *index +); + +void pca_dec_s3( + const int32_t index, + float *q +); + +int16_t ivas_get_bits_to_encode( + int32_t val +); + +void ivas_huffman_encode( ivas_huffman_cfg_t *huff_cfg, int16_t in, int16_t *hcode, int16_t *hlen ); +void ivas_spar_huff_coeffs_com_init( ivas_huff_coeffs_t *pHuff_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); +void ivas_spar_arith_coeffs_com_init( ivas_arith_coeffs_t *pArith_coeffs, ivas_spar_md_com_cfg *pSpar_cfg, const int16_t table_idx, const int16_t enc_dec ); +void ivas_arith_encode_cmplx_cell_array(ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, const int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_old_re, ivas_cell_dim_t *pCell_dims, BSTR_ENC_HANDLE hMetaData, const int16_t any_diff); +ivas_error ivas_huffman_decode( ivas_huffman_cfg_t *huff_cfg, Decoder_State *st0, int16_t *dec_out ); +void ivas_arith_decode_cmplx_cell_array( ivas_arith_t *pArith_re, ivas_arith_t *pArith_re_diff, Decoder_State *st0, ivas_cell_dim_t *pCell_dims, int16_t *pDo_diff, const int16_t nB, int16_t *pSymbol_re, int16_t *pSymbol_re_old ); + +void ivas_ari_start_decoding_14bits_ext_1_lfe( Decoder_State *st, Tastat *s, int16_t *extra_bits_read ); +uint16_t ivas_ari_decode_14bits_bit_ext_1_lfe( Decoder_State *st, Tastat *s, const uint16_t *cum_freq, int16_t *extra_bits_read ); +void ivas_ari_done_decoding_14bits_ext_1_lfe( Decoder_State *st, const int16_t extra_bits_read ); +void ivas_ari_done_encoding_14bits( BSTR_ENC_HANDLE hBstr, Tastat *s ); +void ivas_ari_encode_14bits_ext( BSTR_ENC_HANDLE hBstr, Tastat *s, int32_t symbol, const uint16_t *cum_freq ); + +void ivas_wrap_arround( int16_t *pArr, const int16_t min_val, const int16_t max_val, const int16_t length ); +void ivas_get_cum_freq_model( const int16_t *pFreq_model, const int16_t length, int16_t *pCum_freq_model ); +int16_t ivas_map_num_pred_r_to_idx( const int16_t num_quant_points_pred_r, const int16_t active_w_flag ); +int16_t ivas_map_num_drct_r_to_idx( const int16_t num_quant_points_drct_r ); +int16_t ivas_map_num_decd_r_to_idx( const int16_t num_quant_points_decd_r ); + +/* Quantization utilities */ +void ivas_quantise_real_values( + const float *values, + const int16_t q_levels, + const float min_value, + const float max_value, + int16_t *index, + float *quant, + const int16_t dim +); + + +void ivas_spar_get_uniform_quant_strat( + ivas_spar_md_com_cfg *pSpar_md_com_cfg, + const int16_t table_idx +); + +void ivas_spar_quant_dtx_init( + ivas_spar_md_t *spar_md, + float *min_max +); + +void ivas_map_prior_coeffs_quant( + ivas_spar_md_prev_t *pSpar_md_prior, + ivas_spar_md_com_cfg *pSpar_md_cfg, + const int16_t qsi, + const int16_t nB +); + +void ivas_copy_band_coeffs_idx_to_arr( + ivas_band_coeffs_ind_t *pBands_idx, + const int16_t nB, + int16_t *pSymbol_re, + ivas_cell_dim_t *pCell_dims, + const ivas_coeffs_type_t coeff_type, + const int16_t planarCP +); + +void ivas_clear_band_coeffs( + ivas_band_coeffs_t *pband_coeffs, + const uint16_t num_bands +); + +void ivas_clear_band_coeff_idx( + ivas_band_coeffs_ind_t *pband_coeff_idx, + const uint16_t num_bands +); + + +/*----------------------------------------------------------------------------------* + * MASA prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_masa_dec_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ +); + +void ivas_masa_dec_close( + MASA_DECODER_HANDLE hMasa /* i/o: MASA metadata structure */ +); + +ivas_error ivas_masa_decode( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ + Decoder_State *st, /* i/o: decoder state structure */ + int16_t *nb_bits_read /* o : number of bits read */ +); + +void generate_gridEq( + SPHERICAL_GRID_DATA *data /* o : data structure for grid */ +); + +ivas_error ivas_masa_enc_open( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +void ivas_masa_enc_close( + MASA_ENCODER_HANDLE hMasa, /* i/o: MASA metadata structure */ + const int16_t nchan_transport, /* i : Number of transport channels */ + const IVAS_FORMAT ivas_format /* i : IVAS format */ +); + +void ivas_masa_enc_reconfigure( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +ivas_error ivas_masa_dec_reconfigure( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_masa_encode( + MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder structure */ + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + BSTR_ENC_HANDLE hMetaData, /* i/o: Metadata bitstream handle */ + int16_t *nb_bits_metadata, /* o : number of metadata bits written */ + const int16_t nchan_transport, /* i : number of MASA input/transport channels */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t Opt_DTX_ON, /* i : DTX on flag */ + const int16_t element_mode /* i : element mode */ +); + +void ivas_masa_estimate_energy( + MASA_ENCODER_HANDLE hMasa, /* i/o: MASA encoder structure */ + float data_f[][L_FRAME48k], /* i : Input audio channels */ + const int16_t input_frame, /* i : frame length */ + const int16_t nchan_transport /* i : number of MASA input/transport channels */ +); + +ivas_error ivas_masa_enc_config( + Encoder_Struct* st_ivas /* i/o: IVAS encoder structure */ +); + +void ivas_masa_set_elements( + const int32_t ivas_total_brate, /* i : codec total bitrate */ + const int16_t mc_mode, /* i : MC format mode */ + const int16_t nchan_transport, /* i : number of MASA input/transport channels */ + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: q_metadata handle */ + int16_t *element_mode, /* o : element mode */ + int16_t *nSCE, /* o : number of SCEs */ + int16_t *nCPE /* o : number of CPEs */ +); + +void ivas_masa_set_coding_config( + MASA_CODEC_CONFIG* config, /* i/o: MASA coding config structure */ + int16_t* band_mapping, /* o : Band mapping used */ + const int32_t ivas_total_brate, /* i : codec total bitrate */ + const int16_t nchan_transport, /* i : number of transport channel (mono/stereo) */ + const uint8_t isMcMasa /* i : toggle for selecting McMASA specific config */ +); + +/*! r: Surround coherence significant flag */ +uint8_t ivas_masa_surrcoh_signicant( + float surroundingCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* i : Surround coherence */ + float diffuse_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* i : Diffuse to total ratio */ + const int16_t nSubFrames, /* i : Number of sub frames */ + const int16_t nBands /* i : Number of frequency bands */ +); + +void masa_compensate_two_dir_energy_ratio_index( + const int16_t ratio_index_1, /* i : Input ratio for direction 1 */ + const int16_t ratio_index_2, /* i : Input ratio for direction 2 */ + int16_t *ratio_index_mod1, /* o : Output modified ratio for direction 1 */ + int16_t *ratio_index_mod2 /* o : Output modified ratio for direction 2 */ +); + +void ivas_set_qmetadata_maxbit_req( + IVAS_QMETADATA_HANDLE hQMetaData, /* o : qmetadata structure where the requirement value is set */ + const IVAS_FORMAT ivas_format /* i : IVAS format */ +); + +/*! r: Bits to be used for quantizing distribution ratio of direct-to-total ratios */ +int16_t ivas_get_df_ratio_bits( + int16_t index_diff /* i : Index of quantized diffuse-to-total ratio */ +); + +void masa_sample_rate_band_correction( + MASA_CODEC_CONFIG *config, /* i/o: MASA codec config */ + int16_t *band_mapping, /* i/o: Band mapping used and modified */ + IVAS_QMETADATA_HANDLE hQMetaData, /* i/o: QMetadata structure for modification */ + const int32_t sampling_rate /* i : sampling rate */ +); + +void invdct4_transform( + float *v, /* i : input vector */ + uint8_t *invdct_v /* o : transformed vector */ +); + +void update_bits_next_block( + IVAS_QDIRECTION *q_direction, /* i/o: qdirection */ + int16_t *p_diff, /* i/o: bits to be transferred */ + const int16_t j, /* i : current subband index */ + const int16_t max_i, /* i : max number of subands */ + const int16_t max_k /* i : max number of subframe */ +); + +void ivas_masa_prerender( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ + float output[][L_FRAME48k], /* i/o: synthesized core-coder transport channels */ + const int16_t output_frame /* i : output frame length per channel */ +); + +void ivas_spar_param_to_masa_param_mapping( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder struct */ + float inRe[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, real */ + float inIm[][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX], /* i : Input audio in CLDFB domain, imag */ + const int16_t firstSubframe, /* i : First subframe to map */ + const int16_t nSubframes /* i : Number of subframes to map */ +); + + +/*----------------------------------------------------------------------------------* + * output setup prototypes + *----------------------------------------------------------------------------------*/ + +/*! r: number of output channels */ +int16_t audioCfg2channels( + const AUDIO_CONFIG output_config /* i : output audio configuration */ +); + +void ivas_output_init( + IVAS_OUTPUT_SETUP *hOutSetup, /* o : output setup structure */ + const AUDIO_CONFIG output_config /* i : output audio configuration */ +); + + +/*---------------------------------------------------------------------------------* + * Binaural Renderer Prototypes +*-----------------------------------------------------------------------------------*/ + +ivas_error ivas_binRenderer_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_binRenderer_close( + BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ +); + +void ivas_binaural_cldfb( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ +); + +void ivas_binRenderer( + BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ + HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ + float Cldfb_RealBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ + float Cldfb_ImagBuffer_Binaural[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* o : Binaural signals */ + float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i : LS signals */ + float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX] /* i : LS signals */ +); + +void ivas_binaural_add_LFE( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + int16_t output_frame, /* i : length of input frame */ + float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ +); + +void QuatToRotMat( + const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ + float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ +); + +void Quat2Euler( + const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ + float *yaw, /* o : yaw */ + float *pitch, /* o : pitch */ + float *roll /* o : roll */ +); + +void SHrotmatgen( + float SHrotmat[SBA_NHARM_HOA3][SBA_NHARM_HOA3], /* o : SHD rotation matrix */ + float Rmat[3][3], /* i : real-space rotation matrix */ + const int16_t order /* i : ambisonics order */ +); + +void rotateAziEle( + float azi_in, /* i : output elevation */ + float ele_in, /* i : input elevation */ + int16_t *azi, /* o : rotated azimuth */ + int16_t *ele, /* o : rotated elevation */ + float Rmat[3][3], /* i : real-space rotation matrix */ + const int16_t isPlanar /* i : is roation planar and elevation meaningless? */ +); + +void rotateAziEle_DirAC( + int16_t *azi, /* i/o: array of azimuth values */ + int16_t *ele, /* i/o: array of elevation values */ + const int16_t band1, /* i : bands to work on (lower limit) */ + const int16_t band2, /* i : bands to work on (upper bound) */ + const float *p_Rmat /* i : pointer to real-space rotation matrix */ +); + +ivas_error ivas_headTrack_open( + HEAD_TRACK_DATA_HANDLE *hHeadTrackData /* o : head track handle */ +); + +void rotateFrame_shd( + HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ + float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const int16_t subframe_idx /* i : subframe index */ +); + +void rotateFrame_sd( + HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ + float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ + const int16_t subframe_idx /* i : subframe index */ +); + +void rotateFrame_shd_cldfb( + float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain real part */ + float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain imag part */ + float Rmat[3][3], /* i : real-space rotation matrix */ + const int16_t nInChannels, /* i : number of channels */ + const int16_t shd_rot_max_order /* i : split-order rotation method */ +); + +void rotateFrame_sd_cldfb( + HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ + float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain real part */ + float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: unrotated HOA3 signal buffer in cldfb domain imag part */ + const IVAS_OUTPUT_SETUP_HANDLE hOutputSetup, /* i : output format setup number of channels */ + const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ + const int16_t nb_band /* i : number of CLDFB bands to process */ +); + + +/*----------------------------------------------------------------------------------* + * renderer prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_ism_renderer_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_ism_render( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k], /* i/o: core-coder transport channels/object output */ + const int16_t output_frame /* i : output frame length per channel */ +); + +void ivas_mc2sba( + IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ + float buffer_td[][L_FRAME48k], /* i/o: MC signals (on input) and the HOA3 (on output) */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t sba_order, /* i : SBA order */ + const float gain_lfe /* i : gain for LFE, 0=ignore LFE */ +); + +void ivas_sba2mc_cldfb( + IVAS_OUTPUT_SETUP hInSetup, /* i : Format of input layout */ + float RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: cldfb real part */ + float ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], /* i/o: cldfb imag part */ + const int16_t nb_channels_out, /* i : nb of output channels */ + const int16_t nb_bands, /* i : nb of CLDFB bands to process */ + const float *hoa_dec_mtx /* i : HOA decoding mtx */ +); + +void ivas_ism2sba( + float buffer_td[][L_FRAME48k], /* i/o: TD signal buffers */ + ISM_RENDERER_HANDLE hIsmRendererData, /* i/o: renderer data */ + const ISM_METADATA_HANDLE hIsmMetaData[], /* i : object metadata */ + const int16_t num_objects, /* i : number of objects */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t sba_order /* i : SBA order */ +); + + +/*----------------------------------------------------------------------------------* + * Amplitude Panning (EFAP, VBAP) prototypes + *----------------------------------------------------------------------------------*/ + +void panning_wrap_angles( + const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ + const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ + float *azi_wrapped, /* o : wrapped azimuth component */ + float *ele_wrapped /* o : wrapped elevation component */ +); + +ivas_error efap_init_data( + EFAP_HANDLE *hEFAPdata, /* i/o: handle for EFAP data structure that will be initialized */ + const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths (positive left) */ + const float *speaker_node_ele_deg, /* i : vector of speaker node elevations (positive up) */ + const int16_t num_speaker_nodes, /* i : number of speaker nodes in the set */ + const int16_t efap_mode /* i : indicates whether EFAP or EFIP is used */ +); + +void efap_free_data( + EFAP_HANDLE *hEFAPdata /* i/o: EFAP handle to be freed */ +); + +void efap_determine_gains( + EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ + float *gains, /* o : gain vector for speaker nodes for given direction */ + const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ + const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ + const int16_t efap_mode /* i : indicates whether EFAP or EFIP is used */ +); + +ivas_error vbap_init_data( + VBAP_HANDLE *hVBAPdata, /* i/o: handle for VBAP data structure that will be initialized */ + const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths (positive left) */ + const float *speaker_node_ele_deg, /* i : vector of speaker node elevations (positive up) */ + const int16_t num_speaker_nodes /* i : number of speaker nodes in the set */ +); + +void vbap_free_data( + VBAP_HANDLE *hVBAPdata /* i/o: VBAP handle to be freed */ +); + +void vbap_determine_gains( + const VBAP_HANDLE hVBAPdata, /* i : VBAP structure */ + float *gains, /* o : gain vector for speaker nodes for given direction */ + const int16_t azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ + const int16_t ele_deg /* i : elevation in degrees for panning direction (positive up) */ +); + +void v_sort_ind( + float *x, /* i/o: Vector to be sorted */ + int16_t *idx, /* o : Original index positions */ + const int16_t len /* i : vector length */ +); + +/*----------------------------------------------------------------------------------* + * LS Renderer prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_ls_setup_conversion_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_ls_setup_conversion_close( + LSSETUP_CONVERSION_HANDLE *hLsSetUpConversion /* i/o: LS converter handle */ +); + +void ivas_ls_setup_conversion( + Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ + const int16_t output_frame, /* i : frame length */ + float output[][L_FRAME48k] /* i/o: LS input/output synthesis signal */ +); + +void ivas_ls_setup_conversion_process_mdct( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output[][L_FRAME48k] /* i/o: output synthesis signal */ +); + +void ivas_ls_setup_conversion_process_mdct_param_mc( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float *x[][NB_DIV] /* i/o: output synthesis signal */ +); + +void ivas_lssetupconversion_process_param_mc( + Decoder_Struct *st_ivas, /* i/o: LS setup conversion renderer handle */ + float Cldfb_RealBuffer_InOut[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], /* i/o: LS signals */ + float Cldfb_ImagBuffer_InOut[MAX_CICP_CHANNELS][PARAM_MC_MAX_NSLOTS_IN_SUBFRAME][CLDFB_NO_CHANNELS_MAX], /* i/o: LS signals */ + int16_t channel_active[MAX_CICP_CHANNELS] /* i : bitmap indicating which output channels are active */ +); + + +/*----------------------------------------------------------------------------------* + * Custom loudspeaker setup prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_ls_custom_open( + LSSETUP_CUSTOM_HANDLE *hLsSetupCustom /* o : Custom loudspeaker setup handle */ +); + +ivas_error ivas_ls_custom_output_init( + Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ +); + +void ivas_ls_custom_setup( + IVAS_OUTPUT_SETUP_HANDLE hOutSetup, /* o : IVAS output setup handle */ + const LSSETUP_CUSTOM_STRUCT *hLsSetupCustom /* i : Custom loudspeaker setup handle */ +); + + +/*----------------------------------------------------------------------------------* + * McMASA prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_mcmasa_enc_open( + Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ +); + +void ivas_mcmasa_enc_close( + MCMASA_ENC_HANDLE hMcMasa, /* i/o: encoder McMASA handle */ + const int32_t input_Fs /* i : input sampling rate */ +); + +void ivas_mcmasa_setNumTransportChannels( + int16_t* nchan_transport, /* o : Pointer to number of transport channels to be set */ + int16_t* element_mode, /* o : Pointer to element mode to be set */ + const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ +); + +void ivas_mcmasa_set_separate_channel_mode( + uint8_t *separateChannelEnabled, /* o : Pointer to separate channel toggle */ + int16_t *separateChannelIndex, /* o : Pointer to separate channel index */ + const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ +); + +/*! r: McMASA SCE bitrate */ +int32_t ivas_mcmasa_mono_brate( + const int32_t ivas_total_brate /* i : IVAS total bitrate */ +); + +void ivas_mcmasa_enc( + MCMASA_ENC_HANDLE hMcMasa, /* i/o: Encoder McMASA handle */ + IVAS_QMETADATA_HANDLE hQMeta, /* o : Qmetadata handle */ + MASA_ENCODER_HANDLE hMasa, /* i/o: Encoder MASA handle */ + float data_f[][L_FRAME48k], /* i : Input frame of audio */ + const int16_t input_frame, /* i : Input frame size */ + const int16_t nchan_transport, /* i : Number of transport channels */ + const int16_t nchan_inp /* i : Number of input channels */ +); + +void ivas_mcmasa_param_est_enc( + MCMASA_ENC_HANDLE hMcMasa, /* i/o: Encoder McMASA handle */ + MASA_ENCODER_HANDLE hMasa, /* i/o: Encoder MASA handle */ + float data_f[][L_FRAME48k], /* i : Input frame of audio */ + float elevation_m_values[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated elevation */ + float azimuth_m_values[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated azimuth */ + float energyRatio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated direct-to-total ratio*/ + float spreadCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated spread coherence */ + float surroundingCoherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS], /* o : Estimated surround coherence */ + const int16_t input_frame, /* i : Input frame size */ + const int16_t nchan_inp /* i : Number of input channels */ +); + +void v_multc_acc( + const float x[], /* i : Input vector */ + const float c, /* i : Constant */ + float y[], /* o : Output vector that contains y + c*x */ + const int16_t N /* i : Vector length */ +); + +void lls_interp_n( + float x[], /* i/o: input/output vector */ + const int16_t N, /* i : length of the input vector */ + float *a, /* o : calculated slope */ + float *b, /* o : calculated offset */ + const int16_t upd /* i : use 1 to update x[] with the interpolated output*/ +); + +void computeReferencePower_enc( + const int16_t *band_grouping, /* i : Band grouping for estimation */ + float Cldfb_RealBuffer[DIRAC_MAX_ANA_CHANS][DIRAC_NO_FB_BANDS_MAX], /* i : Real part of input signal */ + float Cldfb_ImagBuffer[DIRAC_MAX_ANA_CHANS][DIRAC_NO_FB_BANDS_MAX], /* i : Imag part of input signal */ + float *reference_power, /* o : Estimated power */ + const int16_t enc_param_start_band, /* i : first band to process */ + const int16_t num_freq_bands /* i : Number of frequency bands */ + , + const SBA_MODE sba_mode /* i : SBA mode */ +); + + +ivas_error ivas_mono_dmx_renderer_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_mono_downmix_render_passive( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/mono output */ + const int16_t output_frame /* i : output frame length */ +); + +void ivas_mono_stereo_downmix_mcmasa( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output_f[][L_FRAME48k], /* i/o: synthesized core-coder transport channels/mono or stereo output */ + int16_t output_frame /* i : output frame length per channel */ +); + +void ivas_lfe_synth_with_filters( + MCMASA_LFE_SYNTH_DATA_HANDLE hMasaLfeSynth, /* i/o: LFE synthesis structure for McMASA */ + float data_f[][L_FRAME48k], /* o : output signals */ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t separateChannelIndex, /* i : separate channel index */ + const int16_t lfeChannelIndex /* i : LFE channel index */ +); + +/*----------------------------------------------------------------------------------* + * LFE Coding prototypes + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_create_lfe_enc( + LFE_ENC_HANDLE *hLFE, /* o : IVAS LFE encoder structure */ + const int32_t input_Fs /* i : input sampling rate */ +); + +void ivas_lfe_enc_close( + LFE_ENC_HANDLE hLFE /* i/o: LFE encoder handle */ +); + +void ivas_lfe_enc( + LFE_ENC_HANDLE hLFE, /* i/o: LFE encoder handle */ + float data_lfe_ch[], /* i : input LFE signal */ + const int16_t input_frame, /* i : input frame length per channel */ + BSTR_ENC_HANDLE hBstr /* i/o: bitstream handle */ +); + +ivas_error ivas_create_lfe_dec( + LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ + const int32_t output_Fs, /* i : output sampling rate */ + const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ +); + +void ivas_lfe_dec_close( + LFE_DEC_HANDLE hLFE /* i/o: LFE encoder handle */ +); + +void ivas_lfe_dec( + LFE_DEC_HANDLE hLFE, /* i/o: LFE decoder handle */ + Decoder_State *st0, /* i/o: decoder state structure - for bitstream handling*/ + const int16_t output_frame, /* i : output frame length per channel */ + const int16_t bfi, /* i : BFI flag */ + float output_lfe_ch[] /* o : output LFE synthesis */ +); + +void LFE_tdplc( + LFE_DEC_HANDLE hLFE, /* i/o: LFE decoder handle */ + const float *prevsynth, /* i : previous frame synthesis */ + float *ytda, /* o : output time-domain buffer */ + const int16_t output_frame /* i : output frame length */ +); + +void lfe_window_init( + LFE_WINDOW_HANDLE hLFEWindow, /* i/o: LFE window handle */ + const int32_t sampling_rate, /* i : sampling rate */ + const int16_t frame_len /* i : frame length in samples */ +); + +void ivas_lfe_lpf_select_filt_coeff( + const int32_t sampling_rate, /* i : sampling rate */ + const int16_t order, /* i : filter order */ + const float **ppFilt_coeff /* o : filter coefficients */ +); + +void ivas_filters_init( + ivas_filters_process_state_t *filter_state, /* i/o: filter state handle */ + const float *filt_coeff, /* i : filter coefficients */ + const int16_t order /* i : filter order */ +); + +void ivas_filter_process( + ivas_filters_process_state_t *filter_state, /* i/o: filter state handle */ + float *pIn_Out, /* i : signal subject to filtering */ + const int16_t length /* i : filter order */ +); + + +/*----------------------------------------------------------------------------------* + * TD Binaural Object renderer + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_HRTF_binary_open( + TDREND_HRFILT_FiltSet_t **hHrtfTD /* i/o: TD renderer HRTF handle */ +); + +void ivas_HRTF_binary_close( + TDREND_HRFILT_FiltSet_t **hHrtfTD /* i/o: TD renderer HRTF handle */ +); + +void DefaultBSplineModel( + TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* o : Loaded HR filter set */ + const int32_t output_Fs /* i : Output sampling rate */ +); + +ivas_error ivas_td_binaural_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +void ivas_td_binaural_close( + BINAURAL_TD_OBJECT_RENDERER_HANDLE *hBinRendererTd /* i/o: TD binaural object renderer handle */ +); + +void ObjRenderIVASFrame( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output[][L_FRAME48k], /* i/o: SCE channels / Binaural synthesis */ + const int16_t output_frame /* i : output frame length */ +); + +void BSplineModelEvalAlloc( + ModelParams_t *model, /* i : Model parameters */ + ModelEval_t *modelEval /* i/o: Model evaluation structure */ +); + +/* ----- Object renderer - hrfilt ----- */ + +void GetFilterFromAngle( + TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ + const float Elev, /* i : Elevation, degrees */ + float Azim, /* i : Azimuth, degrees */ +#ifdef FIX_ITD + float *LeftFilter, /* o : Left HR filter */ + float *RightFilter, /* o : Right HR filter */ + int16_t *itd /* o : ITD value */ +#else + SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ +#endif +); + +void HRTF_model_precalc( + ModelParams_t *model /* i/o: HRTF Model parameters */ +); + +void BSplineModelEvalDealloc( + ModelParams_t *model, /* i : Model parameters */ + ModelEval_t *modelEval /* i : Model evaluation structure */ +); + +void BSplineModelEvalITDDealloc( + ModelParamsITD_t *model /* i : Model parameters */ +); + +#ifdef TDREND_HRTF_TABLE_METHODS +void TDREND_HRFILT_SetFiltSet( + TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR hilter set structure */ + FILE *f_hrtf /* i : File handle for HR filter parameters */ +); +#endif + +ivas_error TDREND_REND_RenderSourceHRFilt( + TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ +#ifdef FIX_ITD + const float *hrf_left_delta, /* i: Left filter interpolation delta */ + const float *hrf_right_delta, /* i: Right filter interpolation delta */ + const int16_t intp_count, /* i: Interpolation count */ +#else +#ifdef TDREND_HRTF_TABLE_METHODS + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ +#endif +#endif + float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ +#ifdef FIX_ITD + const int16_t subframe_length /* i : Subframe length in use */ +#else + const int16_t subframe_length, /* i : Subframe length in use */ + const int32_t output_Fs /* i : Output sample rate */ +#endif +); + +/* ----- Object renderer - sources ----- */ + +ivas_error TDREND_MIX_SRC_SetPos( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const int16_t SrcInd, /* i : Source index */ + const float *Vec_p /* i : Position vector */ +); + +ivas_error TDREND_MIX_SRC_SetDir( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const int16_t SrcInd, /* i : Source index */ + const float *Vec_p /* i : Direction vector */ +); + +ivas_error TDREND_MIX_SRC_SetDirAtten( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const int16_t SrcInd, /* i : Source index */ + const TDREND_DirAtten_t *DirAtten_p /* i : Directional attenuation specifier */ +); + +ivas_error TDREND_MIX_SRC_SetPlayState( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const int16_t SrcInd, /* i : Source index */ + const TDREND_PlayStatus_t PlayStatus /* i : Play state */ +); + +void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ + TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ +#ifdef FIX_ITD + float *hrf_left_prev, /* o: Left filter */ + float *hrf_right_prev, /* o: Right filter */ + float *hrf_left_delta, /* o: Left filter interpolation delta */ + float *hrf_right_delta, /* o: Right filter interpolation delta */ + int16_t *intp_count, /* o: Interpolation count */ + int16_t *filterlength, /* o: Length of filters */ + int16_t *itd, /* o: ITD value */ + float *Gain, /* o: Gain value */ + TDREND_SRC_t *Src_p, + const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ +#else + const int32_t output_Fs /* i : Output sample rate */ +#endif +); + +ivas_error TDREND_SRC_Alloc( + TDREND_SRC_t **Src_pp /* i/o: Source */ +); + +void TDREND_SRC_Dealloc( + TDREND_SRC_t *Src_p /* i/o: Source to deallocate */ +); + +void TDREND_SRC_Init( + TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ +#ifdef FIX_ITD + const TDREND_PosType_t PosType /* i : Position type specifier */ +#else + const TDREND_PosType_t PosType, /* i : Position type specifier */ + const int32_t output_Fs /* i : Output sampling rate */ +#endif +); + +/* ----- Object renderer - vec ----- */ + +void TDREND_SPATIAL_VecInit( + float *Pos_p, /* o : Output vector */ + const float PosX, /* i : X value */ + const float PosY, /* i : Y value */ + const float PosZ /* i : Z value */ +); + +/*! r: Euclidian norm value */ +float TDREND_SPATIAL_VecNorm( + const float *Vec_p /* i : Vector for norm calculation */ +); + +void TDREND_SPATIAL_VecNormalize( + const float *Vec_p, /* i : Input vector */ + float *VecNorm_p /* o : Output vector */ +); + +void TDREND_SPATIAL_VecMapToNewCoordSystem( + const float *Vec_p, /* i : Input vector */ + const float *TranslVec_p, /* i : Translation vector */ + const float *DirVec_p, /* i : Direction vector */ + const float *UpVec_p, /* i : Up vector */ + const float *RightVec_p, /* i : Right vector */ + float *MappedVec_p /* o : Transformed vector */ +); + +/*! r: Flag if the orientation has been updated */ +int16_t TDREND_SPATIAL_EvalOrthonormOrient( + float *FrontVecON_p, /* o : Normalized front vector */ + float *UpVecON_p, /* o : Normalized up vector */ + float *RightVecON_p, /* o : Normalized right vector */ + const float *FrontVec_p, /* i : Input front vector */ + const float *UpVec_p /* i : Input up vector */ +); + +/* ----- Object renderer - mix ----- */ + +ivas_error TDREND_MIX_AddSrc( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + int16_t *SrcInd, /* o : Source index */ +#ifdef FIX_ITD + const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ +#else + const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ + const int32_t output_Fs /* i : Output sampling rate */ +#endif +); + +ivas_error TDREND_MIX_SetDistAttenModel( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const TDREND_DistAttenModel_t DistAttenModel /* i : Distance attenuation model */ +); + +void TDREND_MIX_LIST_SetPos( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const float *Pos_p /* i : Listener's position */ +); + +ivas_error TDREND_MIX_LIST_SetOrient( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + const float *FrontVec_p, /* i : Listener's orientation front vector */ + const float *UpVec_p /* i : Listener's orientation up vector */ +); + +void TDREND_MIX_Dealloc( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd /* i/o: TD renderer handle */ +); + +ivas_error TDREND_MIX_Init( + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ + TDREND_HRFILT_FiltSet_t **hHrtfTD, /* i/o: HRTF data (initialized in case of NULL) */ + const TDREND_MixSpatSpec_t *MixSpatSpec_p, /* i : Mixer spatial specification */ + const int32_t output_Fs /* i : Output sampling rate */ +); + + /* ----- Object renderer - sfx ----- */ +#ifndef FIX_ITD +ivas_error TDREND_SFX_SpatBin_Initialize( + SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ + const int32_t output_Fs /* i : Output sampling rate */ +); + +void TDREND_SFX_SpatBin_SetParams( + SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct to be updated */ + const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ + const int32_t output_Fs /* i : Output sample rate */ +); + +void TDREND_SFX_SpatBin_Execute_Main( + SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ + const float *InBuffer_p, /* i : Input buffer */ + const int16_t subframe_length, /* i : subframe length */ + float *LeftOutBuffer_p, /* o : Rendered left channel */ + float *RightOutBuffer_p, /* o : Rendered right channel */ + int16_t *NoOfUsedInputSamples_p, /* o : Number of input samples actually used */ + int16_t *NoOfDeliveredOutputSamples_p, /* o : Number of output samples actually rendered */ + const int32_t output_Fs /* i : Output sample rate */ +); +#endif + +#ifdef FIX_ITD +void TDREND_Apply_ITD( + float *input, /* i: Input SCE subframe to be time adjusted */ + float *out_left, /* o: Output left channels with ITD applied */ + float *out_right, /* o: Output right channels with ITD applied */ + int16_t *previtd, /*i/o: Previous ITD value */ + const int16_t itd, /* i: Current subframe ITD value */ + float *mem_itd, /*i/o: ITD buffer memory */ + const int16_t length /* i: Subframe length */ +); + +void TDREND_firfilt( + float *signal, /* i/o: Input signal / Filtered signal */ + float *filter, /* i/o: FIR filter */ + const float *filter_delta, /* i : FIR filter delta */ + const int16_t intp_count, /* i : interpolation count */ + float *mem, /* i/o: filter memory */ + const int16_t subframe_length, /* i : Length of signal */ + const int16_t filterlength /* i : Filter length */ +); +#endif +/*----------------------------------------------------------------------------------* + * Filter-bank (FB) Mixer + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_fb_set_cfg( + IVAS_FB_CFG **pFb_cfg_out, /* o : FB config. handle */ + const int16_t ivas_format, /* i : IVAS format */ + const SBA_MODE sba_mode, /* i : SBA mode */ + const int16_t num_in_chans, /* i : number of FB input channels */ + const int16_t num_out_chans, /* i : number of FB output channels */ + const int16_t active_w_mixing, /* i : active_w_mixing flag */ + const int32_t sampling_Fs /* i : sampling rate */ +); + +ivas_error ivas_FB_mixer_open( + IVAS_FB_MIXER_HANDLE *hFbMixer, /* i/o: FB mixer handle */ + const int32_t sampling_rate, /* i : sampling rate */ + IVAS_FB_CFG *fb_cfg /* i : FB config. handle */ +); + +void ivas_FB_mixer_close( + IVAS_FB_MIXER_HANDLE *hFbMixer, /* i/o: FB mixer handle */ + const int32_t sampling_rate /* i : sampling rate in Hz */ +); + +void ivas_fb_mixer_pcm_ingest( + IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ + float pcm_in[][L_FRAME48k], /* i : input audio channels */ + float **ppOut_pcm, /* o : output audio channels */ + const int16_t frame_length /* i : frame length */ +); + +void ivas_dirac_enc_spar_delay_synchro( + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + const int16_t input_frame, /* i : input frame length */ + float data_f[][L_FRAME48k] /* i/o: SBA channels (ACN / SN3D) */ +); + +void ivas_fb_mixer_update_prior_input( + IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ + float *pcm_in[], /* i : input audio channels */ + const int16_t length /* i : length of time slot */ +); + +void ivas_fb_mixer_get_windowed_fr( + IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ + float *pcm_in[], /* i : input audio channels */ + float *frame_f_real[], /* o : real freq domain values */ + float *frame_f_imag[], /* o : imag freq domain values */ + const int16_t length, /* i : number of new samples in time slot */ + const int16_t mdft_len /* i : MDFT frame length */ +); + +void ivas_fb_mixer_process( + IVAS_FB_MIXER_HANDLE hFbMixer, /* i/o: FB mixer handle */ + float ***mixer_mat, /* i : mixer matrix */ + float **ppOut_pcm, /* o : output audio channels */ + const int16_t frame_len, /* i : frame length in samples */ + int16_t in_out_mixer_map[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH] /* i/o: mixing mapping */ +); + +void ivas_fb_mixer_get_in_out_mapping( + const IVAS_FB_CFG *fb_cfg, /* i : FB config. handle */ + const int16_t nchan_transport, /* i : number of transport channels */ + const int16_t enc_dec_flag, /* i : encoder or decoder flag */ + const int16_t *order, /* i : downmix order */ + int16_t in_out_mixer_map[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH] /* i/o: mixing mapping */ +); + +/* !r: number of spectral bands */ +int16_t ivas_get_num_bands_from_bw_idx( + const int16_t bwidth /* i : audio bandwidth */ +); + + +/*----------------------------------------------------------------------------------* + * Crend renderer + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_crend_init_from_rom( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_crend_open( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_crend_close( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); + +ivas_error ivas_crend_process( + Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + float output[][L_FRAME48k] /* i/o: input/output audio channels */ +); + + +/*----------------------------------------------------------------------------------* + * Renderer configuration + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_render_config_open( + RENDER_CONFIG_HANDLE *hRenderConfig /* i/o: Renderer config handle */ +); + +void ivas_render_config_close( + RENDER_CONFIG_HANDLE *hRenderConfig /* i/o: Renderer config handle */ +); + +ivas_error ivas_render_config_init_from_rom( + RENDER_CONFIG_HANDLE *hRenderConfig, /* i/o: Renderer config handle */ + const int16_t room_flag_on /* i : room effect on/off flag */ +); + +/*----------------------------------------------------------------------------------* + * Reverberator + *----------------------------------------------------------------------------------*/ + +ivas_error ivas_reverb_open( + REVERB_HANDLE *hReverb, /* i/o: Reverberator handle */ + const AUDIO_CONFIG input_audio_config, /* i : reverb. input audio configuration */ + const HRTFS_HANDLE hHrtf, /* i : HRTF handle */ + RENDER_CONFIG_DATA *pConfig, /* i : Reverb configuration */ + const int32_t output_Fs /* i : output sampling rate */ +); + +void ivas_reverb_close( + REVERB_HANDLE *hReverb /* i/o: Reverberator handle */ +); + +ivas_error ivas_reverb_process( + REVERB_HANDLE hReverb, /* i/o: reverb state */ + const AUDIO_CONFIG input_audio_config, /* i : reverb. input audio configuration */ + const int16_t mix_signals, /* i : add reverb to output signal */ + float pcm_in[][L_FRAME48k], /* i : the PCM audio to apply reverb on */ + float pcm_out[][L_FRAME48k], /* o : the PCM audio with reverb applied */ + const int16_t i_ts +); + +void ivas_rev_delay_line_init( + ivas_rev_delay_line_t *pDelay, /* o : the delay line to initialize */ + float *memory_buffer, /* i : the memory buffer to use for the delay line */ + const uint16_t delay, /* i : the delay */ + const uint16_t maxdelay /* i : maximum delay to be supported */ +); + +/* !r: sample gotten out of delay line, and amplified by set gain */ +float ivas_rev_delay_line_get_sample( + ivas_rev_delay_line_t *pDelay /* i/o: the delay line */ +); + +void ivas_rev_delay_line_feed_sample( + ivas_rev_delay_line_t *pDelay, /* i : the delay line */ + float input /* i : the sample to feed */ +); + +void ivas_rev_delay_line_get_sample_blk( + ivas_rev_delay_line_t *pDelay, /* i : the delay line */ + const uint16_t blk_size, /* i : number of samples in the data block */ + float *output /* i/o: amples gotten out of delay line, and amplified by set gainin */ +); + +void ivas_rev_delay_line_feed_sample_blk( + ivas_rev_delay_line_t *pDelay, /* i/o: the delay line */ + const uint16_t blk_size, /* i : number of samples in the input data block */ + float *input /* i : the samples to feed */ +); + +void ivas_reverb_iir_filt_init( + ivas_rev_iir_filter_t *iirFilter, /* o : IIR filter */ + const uint16_t maxTaps /* i : maximum number of filter taps */ +); + +void ivas_reverb_iir_filt_set( + ivas_rev_iir_filter_t *iirFilter, /* i/o: IIR filter */ + uint16_t nr_taps, /* i : number of IIR filter taps */ + const float *coefA, /* i : A filter coefficients to set */ + const float *coefB /* i : the B filter coefficients to set */ +); + +void ivas_reverb_iir_filt_2taps_feed_blk( + ivas_rev_iir_filter_t *iirFilter, /* i/o: IIR filter */ + const uint16_t blk_size, /* i : size */ + const float *input, /* i : input buffer */ + float *output /* i : output buffer */ +); + +uint16_t int_log2( + uint32_t powerOf2 +); + +int16_t ivas_reverb_t2f_f2t_init( + ivas_reverb_t2f_f2t_t *t2f_f2t, + const int16_t fft_size, + const int16_t block_size +); + +void ivas_reverb_t2f_f2t_ClearHistory( + ivas_reverb_t2f_f2t_t *t2f_f2t +); + +void ivas_reverb_t2f_f2t_in( + ivas_reverb_t2f_f2t_t *t2f_f2t, + float *input_L, + float *input_R, float *buffer_L, + float *buffer_R +); + +void ivas_reverb_t2f_f2t_out( + ivas_reverb_t2f_f2t_t *t2f_f2t, + float *buffer_L, + float *buffer_R, + float *output_L, + float *output_R +); + +int16_t ivas_reverb_fft_filter_init( + ivas_reverb_fft_filter_t *fft_filter, + const int16_t fft_size +); + +void ivas_reverb_fft_filter_ComplexMul( + ivas_reverb_fft_filter_t *fft_filter, + float *buffer +); + +void ivas_reverb_fft_filter_CrossMix( + float *buffer0, + float *buffer1, + const int16_t fft_size +); + +void ivas_reverb_fft_filter_ConvertFFTWF_2_FFTR( + rv_fftwf_type_complex *spectrum, + float *fft_real, + const int16_t fft_size +); + +void ivas_reverb_define_window_fft( + float *pWindow, + const int16_t transitionStart, + const int16_t transitionLength, + const int16_t spectrumLength +); + +int16_t ivas_reverb_calc_color_filters( + const float *pTargetL, + const float *pTargetR, + const float *pWindow, + const int16_t fft_size, + const float delay, + rv_fftwf_type_complex *pBeqL, + rv_fftwf_type_complex *pBeqR +); + +int16_t ivas_reverb_calc_correl_filters( + const float *pTargetICC, + const float *pWindow, + const int16_t fft_size, + const float delay, + rv_fftwf_type_complex *pU, + rv_fftwf_type_complex *pV +); + +void ivas_reverb_calc_color_levels( + const int32_t output_Fs, + const int16_t freq_count, + const int16_t loop_count, + const float *pFc, + const float *pAcoustic_dsr, + const float *pHrtf_avg_pwr_L, + const float *pHrtf_avg_pwr_R, + const int16_t *pLoop_delays, + const float *pT60_filter_coeff, + float *pTarget_color_L, + float *pTarget_color_R +); + +void ivas_reverb_prepare_cldfb_params( + ivas_roomAcoustics_t *pInput_params, + const AUDIO_CONFIG input_audio_config, + const int16_t use_brir, + const int32_t output_Fs, + float *pOutput_t60, + float *pOutput_ene ); + +void ivas_reverb_interpolate_acoustic_data( + const int16_t input_table_size, + const float *pInput_fc, + const float *pInput_t60, + const float *pInput_dsrR, + const int16_t output_table_size, + const float *pOutput_fc, + float *pOutput_t60, + float *pOutput_dsr +); + +void ivas_reverb_get_hrtf_set_properties( + float **ppHrtf_set_L_re, + float **ppHrtf_set_L_im, + float **ppHrtf_set_R_re, + float **ppHrtf_set_R_im, + const AUDIO_CONFIG input_audio_config, + const int16_t hrtf_count, + const int16_t in_freq_count, + const int16_t out_freq_count, + float *pOut_avg_pwr_L, + float *pOut_avg_pwr_R, + float *pOut_i_a_coherence +); + + +/* Orientation tracking */ +void ivas_orient_trk_Init( + ivas_orient_trk_state_t *pOTR +); + +ivas_error ivas_orient_trk_SetTrackingType( + ivas_orient_trk_state_t *pOTR, + OTR_TRACKING_T trackingType +); + +ivas_error ivas_orient_trk_SetAbsoluteOrientation( + ivas_orient_trk_state_t *pOTR, + float yaw, + float pitch, + float roll +); + +ivas_error ivas_orient_trk_Process( + ivas_orient_trk_state_t *pOTR +); + +ivas_error ivas_orient_trk_GetTrackedOrientation( + ivas_orient_trk_state_t *pOTR, + float *yaw, + float *pitch, + float *roll +); + +void TonalMdctConceal_create_concealment_noise( + float concealment_noise[L_FRAME48k], + CPE_DEC_HANDLE hCPE, + const int16_t L_frameTCX, + const int16_t L_frame, + const int16_t idchan, + const int16_t subframe_idx, + const int16_t core, + const float crossfade_gain, + const TONALMDCTCONC_NOISE_GEN_MODE noise_gen_mode +); + +void TonalMdctConceal_whiten_noise_shape( + Decoder_State *st, + const int16_t L_frame, + const TONALMDCTCONC_NOISE_SHAPE_WHITENING_MODE +); + +int16_t get_igf_startline( + Decoder_State *st, + int16_t L_frame, + int16_t L_frameTCX +); + +float rand_triangular_signed( + int16_t *seed ); + +/* clang-format on */ + +void dtx_read_padding_bits( + DEC_CORE_HANDLE st, + int16_t num_bits ); + +#endif /* IVAS_PROT_H */ diff --git a/lib_com/ivas_rom_com.h b/lib_com/ivas_rom_com.h new file mode 100644 index 0000000000..2b3755087c --- /dev/null +++ b/lib_com/ivas_rom_com.h @@ -0,0 +1,404 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_ROM_COM_H +#define IVAS_ROM_COM_H + +#include <stdint.h> +#include "options.h" +#include "cnst.h" +#include "ivas_cnst.h" +#include "typedef.h" +#include "stat_com.h" +#include "ivas_stat_com.h" +#ifdef DEBUGGING +#include "debug.h" +#endif + + +/*----------------------------------------------------------------------------------* + * General IVAS ROM tables + *----------------------------------------------------------------------------------*/ + +extern const int32_t ivas_brate_tbl[]; + +/*------------------------------------------------------------------------- + * DFT Stereo ROM tables + *------------------------------------------------------------------------*/ + +extern const int16_t dft_band_limits_erb4[]; +extern const int16_t dft_band_limits_erb8[]; +extern const int16_t dft_band_ipd[3][4]; +extern const int16_t dft_band_res_cod[3][4]; + +extern const float dft_res_gains_q[][2]; +extern const float dft_res_cod_alpha[STEREO_DFT_BAND_MAX]; + +extern const float dft_trigo_12k8[STEREO_DFT_N_12k8_ENC / 4 + 1]; +extern const float dft_trigo_32k[STEREO_DFT_N_32k_ENC / 4 + 1]; +extern const float dft_trigo_48k[STEREO_DFT_N_MAX_ENC / 4 + 1]; + +/* Golomb-Rice encoding tables */ +extern const int16_t dft_maps_rpg[]; +extern const int16_t dft_code_itd[]; +extern const int16_t dft_len_itd[]; +extern const int16_t dft_maps_sg[NO_SYMB_GR_SIDE_G * NO_SYMB_GR_SIDE_G]; + +/*----------------------------------------------------------------------------------* + * Range Coder ROM tables + *----------------------------------------------------------------------------------*/ + +extern const uint16_t cum_freq_ari_pk_s17_LC_ext[RANGE_N_CONTEXT][1 + RANGE_N_SYMBOLS]; +extern const uint16_t sym_freq_ari_pk_s17_LC_ext[RANGE_N_CONTEXT][RANGE_N_SYMBOLS]; + +/*----------------------------------------------------------------------------------* + * ECLVQ Stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const uint16_t ECSQ_tab_inverse[1 + ECSQ_SEGMENT_SIZE]; + +/*----------------------------------------------------------------------------------* + * Stereo ICA ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float ica_sincInterp2[]; +extern const float ica_sincInterp4[]; +extern const float ica_sincInterp6[]; + +/*----------------------------------------------------------------------------------* + * Stereo IC-BWE ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float icbwe_gsMapping_tbl[]; +extern const float icbwe_gsMappingDFT_tbl[]; + +/*----------------------------------------------------------------------------------* + * TD Stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float tdm_ratio_tabl[]; +extern const float tdm_den_ratio_tabl[]; +extern const int16_t tdm_bit_allc_tbl[5][6]; + +#ifdef LSF_RE_USE_SECONDARY_CHANNEL +/* LSFs Intra-frame prediction tables */ +#ifdef LSF_RE_USE_SECONDARY_CHANNEL_REUSEMODE +extern const float tdm_LSF_MEAN_RE_USE_OUT[M]; +extern const float tdm_LSF_MEAN_RE_USE_IN[M]; +extern const float tdm_LSF_MEAN_RE_USE[M]; + +extern const float tdm_Beta_Q1bit_re_use_132[2]; +extern const float tdm_Beta_Q1bit_re_use_164[2]; +extern const float tdm_Beta_Q1bit_re_use_244_320[2]; +extern const float tdm_Beta_Q1bit_re_use_480[2]; + +extern const float tdm_RE_USE_adaptive_beta_prd_diag_3[15 + 16 + 15]; +#endif + +extern const float tdm_LSF_MEAN_PRED_QNT_OUT[M]; +extern const float tdm_LSF_MEAN_PRED_QNT_IN[M]; +extern const float tdm_LSF_MEAN_PRED_QNT[M]; +extern const float tdm_PRED_QNT_fixed_beta_prd_diag_3[15 + 16 + 15]; +#endif + +extern const int16_t fast_FCB_bits_2sfr[]; +extern const int16_t fast_FCB_rates_2sfr[]; + +/*----------------------------------------------------------------------------------* + * MDCT Stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const SpectrumWarping sw16000Hz[]; /* PsychLPC */ +extern const SpectrumWarping sw25600Hz[]; /* PsychLPC */ +extern const SpectrumWarping sw32000Hz[]; /* PsychLPC */ + +extern const MDCTStereoBands_config mdctStereoBands_32000_640[]; +extern const float nf_tw_smoothing_coeffs[N_LTP_GAIN_MEMS]; + +/*----------------------------------------------------------------------------------* + * Stereo DTX ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float dft_cng_coh_pred[][STEREO_DFT_COH_PRED_COEFFS]; +extern const int16_t dft_cng_coh_u2i[9]; +extern const int16_t dft_cng_coh_i2u[9]; +extern const float dft_cng_alpha_bits[STEREO_DFT_N_COH_ALPHA_STEPS][STEREO_DFT_N_COH_ALPHA_LEVELS]; +extern const int16_t dft_cng_coh_alpha_start[STEREO_DFT_N_COH_ALPHA_STEPS - 1]; + +/*----------------------------------------------------------------------------------* + * DirAC ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float diffuseness_reconstructions[DIRAC_DIFFUSE_LEVELS]; +extern const float diffuseness_thresholds[DIRAC_DIFFUSE_LEVELS + 1]; +extern const int16_t DirAC_band_grouping_12[12 + 1]; +extern const int16_t DirAC_band_grouping_6[6 + 1]; +extern const int16_t DirAC_band_grouping_5[5 + 1]; +extern const int16_t DirAC_block_grouping[MAX_PARAM_SPATIAL_SUBFRAMES + 1]; +extern const int16_t DirAC_block_grouping_5ms_MDFT[MAX_PARAM_SPATIAL_SUBFRAMES + 1]; + +/*------------------------------------------------------------------------------------------* + * SPAR ROM tables + *------------------------------------------------------------------------------------------*/ + +extern const ivas_freq_models_t ivas_arith_pred_r_consts[TOTAL_PRED_QUANT_STRATS_ARITH]; +extern const ivas_freq_models_t ivas_arith_drct_r_consts[TOTAL_DRCT_QUANT_STRATS]; +extern const ivas_freq_models_t ivas_arith_decd_r_consts[TOTAL_DECD_QUANT_STRATS]; +extern const ivas_huff_models_t ivas_huff_pred_r_consts[TOTAL_PRED_QUANT_STRATS_HUFF]; +extern const ivas_huff_models_t ivas_huff_drct_r_consts[TOTAL_DRCT_QUANT_STRATS]; +extern const ivas_huff_models_t ivas_huff_decd_r_consts[TOTAL_DECD_QUANT_STRATS]; +extern const ivas_spar_br_table_t ivas_spar_br_table_consts[IVAS_SPAR_BR_TABLE_LEN]; +extern const int16_t remix_order_set[1][IVAS_SPAR_MAX_CH]; +extern const int16_t keep_planar[IVAS_SPAR_MAX_CH - FOA_CHANNELS]; +extern const int16_t HOA_keep_ind[IVAS_SPAR_MAX_CH]; + +extern const float dtx_pd_real_min_max[2]; +extern const int16_t dtx_pd_real_q_levels[3][3]; +extern const int16_t dtx_pr_real_q_levels[3][3]; +extern const int16_t pr_pr_idx_pairs[3][3][2]; +extern const int16_t pr_pd_idx_pairs[3][3][2]; + + +/*----------------------------------------------------------------------* + * PCA ROM tables + *-----------------------------------------------------------------------*/ + +extern const int32_t ivas_pca_offset_index1[IVAS_PCA_N1 + 1]; +extern const int16_t ivas_pca_offset_index2[2692]; +extern const int16_t ivas_pca_offset_n2[IVAS_PCA_N1]; + + +/*----------------------------------------------------------------------------------* + * Parametric MC ROM tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t param_mc_band_grouping_20[20 + 1]; +extern const int16_t param_mc_coding_band_mapping_20[20]; +extern const int16_t param_mc_bands_coded_20[4]; +extern const int16_t param_mc_band_grouping_14[14 + 1]; +extern const int16_t param_mc_coding_band_mapping_14[14]; +extern const int16_t param_mc_bands_coded_14[4]; +extern const int16_t param_mc_band_grouping_10[10 + 1]; +extern const int16_t param_mc_coding_band_mapping_10[10]; +extern const int16_t param_mc_bands_coded_10[4]; +extern const int16_t param_mc_start_bin_per_band_20[20]; +extern const int16_t param_mc_active_bins_per_band_20[20]; +extern const int16_t param_mc_start_bin_per_band_14[14]; +extern const int16_t param_mc_active_bins_per_band_14[14]; +extern const int16_t param_mc_start_bin_per_band_10[10]; +extern const int16_t param_mc_active_bins_per_band_10[10]; +extern const int16_t Param_MC_index[MAX_CICP_CHANNELS]; +extern const PARAM_MC_CONF ivas_param_mc_conf[PARAM_MC_NUM_CONFIGS]; +extern const float ivas_param_mc_quant_ild_5d1_48[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const float ivas_param_mc_quant_icc[PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_cum_freq_ild_cicp6_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; +extern const uint16_t ivas_param_mc_sym_freq_ild_cicp6_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_cum_freq_ild_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_sym_freq_ild_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; +extern const uint16_t ivas_param_mc_cum_freq_icc_cicp6_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; +extern const uint16_t ivas_param_mc_sym_freq_icc_cicp6_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_cum_freq_icc_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_sym_freq_icc_delta_cicp6_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; + +extern const uint16_t ivas_param_mc_cum_freq_ild_cicp12_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; +extern const uint16_t ivas_param_mc_sym_freq_ild_cicp12_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_cum_freq_ild_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_sym_freq_ild_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; +extern const uint16_t ivas_param_mc_cum_freq_icc_cicp12_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; +extern const uint16_t ivas_param_mc_sym_freq_icc_cicp12_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_cum_freq_icc_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_sym_freq_icc_delta_cicp12_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; + +extern const uint16_t ivas_param_mc_cum_freq_ild_cicp14_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; +extern const uint16_t ivas_param_mc_sym_freq_ild_cicp14_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_cum_freq_ild_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_sym_freq_ild_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; +extern const uint16_t ivas_param_mc_cum_freq_icc_cicp14_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; +extern const uint16_t ivas_param_mc_sym_freq_icc_cicp14_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_cum_freq_icc_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_sym_freq_icc_delta_cicp14_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; + +extern const uint16_t ivas_param_mc_cum_freq_ild_combined_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS + 1]; +extern const uint16_t ivas_param_mc_sym_freq_ild_combined_48_16bits[PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_cum_freq_ild_delta_combined_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS]; +extern const uint16_t ivas_param_mc_sym_freq_ild_delta_combined_48_16bits[2 * PARAM_MC_SZ_ILD_QUANTIZER_4BITS - 1]; +extern const uint16_t ivas_param_mc_cum_freq_icc_combined_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER + 1]; +extern const uint16_t ivas_param_mc_sym_freq_icc_combined_48_16bits[PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_cum_freq_icc_delta_combined_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER]; +extern const uint16_t ivas_param_mc_sym_freq_icc_delta_combined_48_16bits[2 * PARAM_MC_SZ_ICC_QUANTIZER - 1]; + + +/*----------------------------------------------------------------------------------* + * MASA ROM tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t bits_direction_masa[DIRAC_DIFFUSE_LEVELS]; +extern const int16_t no_theta_masa[NO_SPHERICAL_GRIDS - 2]; +extern const int16_t no_phi_masa[NO_SPHERICAL_GRIDS][MAX_NO_THETA]; + +extern const float delta_theta_masa[NO_SPHERICAL_GRIDS - 2]; + +extern const float azimuth_cb[8]; +extern const float coherence_cb0_masa[DIRAC_DIFFUSE_LEVELS * 2 * MASA_NO_CV_COH]; +extern const float coherence_cb1_masa[MASA_NO_CV_COH1 * MASA_MAXIMUM_CODING_SUBBANDS]; /* 25 */ +extern const int16_t len_cb_dct0_masa[DIRAC_DIFFUSE_LEVELS]; +extern const uint8_t sur_coherence_cb_masa[MASA_NO_CB_SUR_COH * MASA_MAX_NO_CV_SUR_COH]; +extern const int16_t idx_cb_sur_coh_masa[MASA_NO_CV_COH]; +extern const int16_t len_huf_masa[MASA_NO_CV_COH1]; +extern const int16_t huff_code_av_masa[MASA_NO_CV_COH1]; + +extern const int16_t MASA_band_grouping_24[24 + 1]; +extern const int16_t MASA_band_mapping_24_to_18[18 + 1]; +extern const int16_t MASA_band_mapping_24_to_12[12 + 1]; +extern const int16_t MASA_band_mapping_24_to_8[8 + 1]; +extern const int16_t MASA_band_mapping_24_to_5[5 + 1]; + +extern const int16_t MASA_grouping_8_to_5[8]; +extern const int16_t MASA_grouping_12_to_5[12]; +extern const int16_t MASA_grouping_18_to_5[18]; +extern const int16_t MASA_grouping_24_to_5[24]; +extern const int16_t masa_bits[14]; +extern const int16_t masa_bits_LR_stereo[4]; +extern const int16_t mcmasa_bits[]; +extern const uint8_t masa_nbands[]; +extern const uint8_t masa_joined_nbands[]; +extern const uint8_t masa_twodir_bands[]; +extern const uint8_t masa_twodir_bands_joined[]; + +/* Multi-channel input and output setups */ +extern const float ls_azimuth_CICP2[2]; +extern const float ls_elevation_CICP2[2]; +extern const float ls_azimuth_CICP6[5]; +extern const float ls_elevation_CICP6[5]; +extern const float ls_azimuth_CICP12[7]; +extern const float ls_elevation_CICP12[7]; +extern const float ls_azimuth_CICP14[7]; +extern const float ls_elevation_CICP14[7]; +extern const float ls_azimuth_CICP16[9]; +extern const float ls_elevation_CICP16[9]; +extern const float ls_azimuth_CICP19[11]; +extern const float ls_elevation_CICP19[11]; + +extern const float cb_azi_chan[]; + +extern const float McMASA_LFEGain_vectors[64]; + +/*----------------------------------------------------------------------------------* + * ISM ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float ism_azimuth_borders[4]; +extern const float ism_elevation_borders[4]; + +/*----------------------------------------------------------------------------------* + * Param ISM ROM tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t Param_ISM_band_grouping[MAX_PARAM_ISM_NBANDS + 1]; + + +/*----------------------------------------------------------------------------------* + * LFE coding ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float ivas_lpf_4_butter_16k_sos[IVAS_BIQUAD_FILT_LEN << 2]; +extern const float ivas_lpf_4_butter_32k_sos[IVAS_BIQUAD_FILT_LEN << 2]; +extern const float ivas_lpf_4_butter_48k_sos[IVAS_BIQUAD_FILT_LEN << 2]; +extern const float ivas_lpf_2_butter_16k[IVAS_BIQUAD_FILT_LEN << 1]; +extern const float ivas_lpf_2_butter_32k[IVAS_BIQUAD_FILT_LEN << 1]; +extern const float ivas_lpf_2_butter_48k[IVAS_BIQUAD_FILT_LEN << 1]; + +extern const float ivas_lfe_window_coeff_48k[IVAS_LFE_FADE_LEN_48K]; +extern const float ivas_lfe_window_coeff_32k[IVAS_LFE_FADE_LEN_32K]; +extern const float ivas_lfe_window_coeff_16k[IVAS_LFE_FADE_LEN_16K]; + +extern const int16_t ivas_lfe_num_ele_in_coder_models[2][4]; +extern const int16_t ivas_lfe_num_dct_pass_bins_tbl[IVAS_LFE_NUM_COEFFS_IN_SUBGRP]; +extern const int16_t ivas_lfe_min_shift_tbl[IVAS_LFE_NUM_COEFFS_IN_SUBGRP]; +extern const ivas_lfe_freq_models ivas_str_lfe_freq_models; +extern const float ivas_lfe_lpf_delay[2]; + +extern const double d_hamm_lfe_plc[LFE_PLC_LENANA / 2]; + +extern const float ivas_sin_twiddle_480[IVAS_480_PT_LEN >> 1]; +extern const float ivas_cos_twiddle_480[IVAS_480_PT_LEN >> 1]; +extern const float ivas_sin_twiddle_320[IVAS_320_PT_LEN >> 1]; +extern const float ivas_cos_twiddle_320[IVAS_320_PT_LEN >> 1]; +extern const float ivas_sin_twiddle_160[IVAS_160_PT_LEN >> 1]; +extern const float ivas_cos_twiddle_160[IVAS_160_PT_LEN >> 1]; +extern const float ivas_sin_twiddle_80[IVAS_80_PT_LEN >> 1]; +extern const float ivas_cos_twiddle_80[IVAS_80_PT_LEN >> 1]; + +/*------------------------------------------------------------------------------------------* + * MDFT/iMDFT ROM tables + *------------------------------------------------------------------------------------------*/ + +extern const float ivas_mdft_coeff_cos_twid_240[IVAS_240_PT_LEN + 1]; +extern const float ivas_mdft_coeff_cos_twid_160[IVAS_160_PT_LEN + 1]; +extern const float ivas_mdft_coeff_cos_twid_80[IVAS_80_PT_LEN + 1]; +extern const float ivas_mdft_coeff_cos_twid_40[IVAS_40_PT_LEN + 1]; +extern const float ivas_mdft_coeff_cos_twid_960[IVAS_960_PT_LEN + 1]; +extern const float ivas_mdft_coeff_cos_twid_640[IVAS_640_PT_LEN + 1]; +extern const float ivas_mdft_coeff_cos_twid_320[IVAS_320_PT_LEN + 1]; +extern const int16_t dirac_gains_P_idx[16]; +extern const float dirac_gains_norm_term[9]; +extern const float dirac_gains_Pnm[91][9]; +extern const float dirac_gains_trg_term[181][2]; + +/*------------------------------------------------------------------------------------------* + * FB ROM tables + *------------------------------------------------------------------------------------------*/ + +extern const float ivas_fb_fcs_12band_1ms[IVAS_FB_BANDS_12]; + +extern const float ivas_fb_fr_12band_1ms_re[IVAS_FB_12_1MS_LEN]; +extern const float ivas_fb_fr_12band_1ms_im[IVAS_FB_12_1MS_LEN]; + +extern const int16_t ivas_fb_bins_per_band_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; +extern const int16_t ivas_fb_bins_start_offset_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; +extern const int16_t ivas_fb_abs_bins_per_band_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; +extern const int16_t ivas_fb_abs_bins_start_offset_12band_1ms[IVAS_NUM_SUPPORTED_FS][IVAS_FB_BANDS_12]; + +extern const float ivas_fb_cf_4ms_48k[IVAS_FB_4MS_48K_SAMP]; +extern const float ivas_fb_cf_1ms_48k[IVAS_FB_1MS_48K_SAMP]; +extern const float ivas_fb_cf_4ms_32k[IVAS_FB_4MS_32K_SAMP]; +extern const float ivas_fb_cf_1ms_32k[IVAS_FB_1MS_32K_SAMP]; +extern const float ivas_fb_cf_4ms_16k[IVAS_FB_4MS_16K_SAMP]; +extern const float ivas_fb_cf_1ms_16k[IVAS_FB_1MS_16K_SAMP]; + +extern const float ivas_fb_resp_cheby_ramp_32del[IVAS_FB_1MS_32K_SAMP + 1]; +extern const float ivas_fb_resp_cheby_ramp_16del[IVAS_FB_1MS_16K_SAMP + 1]; + +extern const int16_t ivas_num_active_bands[FB - WB + 1]; + +/* IVAS_ROM_COM_H */ +#endif diff --git a/lib_com/ivas_stat_com.h b/lib_com/ivas_stat_com.h new file mode 100644 index 0000000000..79d29ea575 --- /dev/null +++ b/lib_com/ivas_stat_com.h @@ -0,0 +1,740 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_STAT_COM +#define IVAS_STAT_COM + +#include <stdint.h> +#include "options.h" +#include "typedef.h" +#include "cnst.h" +#include "ivas_cnst.h" + + +/*----------------------------------------------------------------------------------* + * Declaration of ISm common (encoder & decoder) structure + *----------------------------------------------------------------------------------*/ + +/* ISM metadata handle (storage for one frame of read ISM metadata) */ +typedef struct +{ + int16_t ism_metadata_flag; /* flag whether metadata are coded in particular frame of particular object */ + int16_t last_ism_metadata_flag; /* last frame ism_metadata_flag */ + + float azimuth; /* azimuth value read from the input metadata file */ + float elevation; /* azimuth value read from the input metadata file */ + + int16_t last_azimuth_idx; /* last frame index of coded azimuth */ + int16_t azimuth_diff_cnt; /* FEC counter of consecutive differentially azimuth coded frames */ + int16_t last_elevation_idx; /* last frame index of coded elevation */ + int16_t elevation_diff_cnt; /* FEC counter of consecutive differentially elevation coded frames */ + +} ISM_METADATA_FRAME, *ISM_METADATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Declaration of DFT Stereo common (encoder & decoder) structure + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_dft_config_data_struct +{ + int16_t dmx_active; + int16_t band_res; + int16_t prm_res; /* Send prm every # DFT frames */ +#ifdef DEBUG_MODE_DFT + int16_t gipd_mode; /* mode : from 0 (off) to 1 (on) */ + int16_t itd_mode; /* mode : from 0 (off) to 1 (on) */ +#endif + int16_t res_pred_mode; /* mode : from 0 (off) to 1 (on) */ + int16_t res_cod_mode; /* mode : from 0 (off) to 3 */ + int16_t hybrid_itd_flag; + int16_t ada_wb_res_cod_mode; /* res_cod_mode for adaptive wide band residual coding */ + + int16_t force_mono_transmission; + +} STEREO_DFT_CONFIG_DATA, *STEREO_DFT_CONFIG_DATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Declaration of MDCT stereo common (encoder & decoder) structure + *----------------------------------------------------------------------------------*/ + +typedef struct +{ + uint8_t const bandLengthsTCX20[SMDCT_MAX_STEREO_BANDS_TCX20]; /* Length of a band in number of bins. Range is 4..160 */ + const int16_t bdnCnt_TCX20[4]; /* uppermost band for FB,SWB,WB,NB */ + uint8_t const bandLengthsTCX10[SMDCT_MAX_STEREO_BANDS_TCX10]; /* Length of a band in number of bins. Range is 2..80, always divisible by 2 */ + const int16_t bndCnt_TCX10[4]; /* uppermost band for FB,SWB,WB,NB */ + +} MDCTStereoBands_config; + +/* MDCT stereo frequency band structure */ +typedef struct stereo_mdct_dec_band_parameters_struct +{ + int16_t sfbOffset[MAX_SFB + 1]; /* stereo frequency band start offsets */ + int16_t sfbCnt; /* number of stereo frequency bands */ + int16_t nBandsStereoCore; /* number of stereo frequency bands in the core */ + int16_t sfbIgfStart; /*index for first IGF band*/ + +} STEREO_MDCT_BAND_PARAMETERS; + + +/*----------------------------------------------------------------------------------* + * Declaration of ECLVQ common (encoder & decoder) structure + *----------------------------------------------------------------------------------*/ + +typedef struct +{ + int16_t config_index; + int16_t encoding_active; /* internal state specifying if actual encoding is active or only length evaluation is active */ + int32_t bit_count_estimate; /* uses 22Q10 fixed-point representation */ + void *ac_handle; + +} ECSQ_instance; + +/*----------------------------------------------------------------------------------* + * PARAMETRIC ISM encoder/decoder (common) structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_param_ism_data_structure +{ + int16_t nbands; + int16_t nblocks[MAX_PARAM_ISM_NBANDS]; + int16_t band_grouping[MAX_PARAM_ISM_NBANDS + 1]; + int16_t num_obj; + + int16_t azi_index[MAX_NUM_OBJECTS]; + int16_t ele_index[MAX_NUM_OBJECTS]; + + int16_t obj_indices[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS][MAX_PARAM_ISM_WAVE]; + int16_t power_ratios_idx[MAX_PARAM_ISM_NBANDS][MAX_PARAM_ISM_NBLOCKS]; + + int16_t last_az_sgn[MAX_NUM_OBJECTS]; + int16_t last_az_diff[MAX_NUM_OBJECTS]; + int16_t last_el_sgn[MAX_NUM_OBJECTS]; + int16_t last_el_diff[MAX_NUM_OBJECTS]; + + int16_t flag_noisy_speech; + int16_t noisy_speech_buffer[PARAM_ISM_HYS_BUF_SIZE]; + +} PARAM_ISM_CONFIG_DATA, *PARAM_ISM_CONFIG_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Declaration of DirAC common (encoder & decoder) structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_dirac_config_data_struct +{ + int16_t enc_param_start_band; + int16_t dec_param_estim; + int16_t nbands; + +} DIRAC_CONFIG_DATA, *DIRAC_CONFIG_DATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Declaration of SPAR common structures + *----------------------------------------------------------------------------------*/ + +/* SPAR MD structures */ +typedef struct ivas_band_coeffs_t +{ + float pred_re[IVAS_SPAR_MAX_CH - 1]; + float C_re[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS][IVAS_SPAR_MAX_DMX_CHS - 1]; + float P_re[IVAS_SPAR_MAX_CH - 1]; + float pred_quant_re[IVAS_SPAR_MAX_CH - 1]; + float C_quant_re[IVAS_SPAR_MAX_CH - IVAS_SPAR_MAX_DMX_CHS][IVAS_SPAR_MAX_DMX_CHS - 1]; + float P_quant_re[IVAS_SPAR_MAX_CH - 1]; + +} ivas_band_coeffs_t; + +typedef struct ivas_band_coeffs_ind_t +{ + int16_t pred_index_re[IVAS_SPAR_MAX_CH - 1]; + int16_t drct_index_re[IVAS_SPAR_MAX_C_COEFF]; + int16_t decd_index_re[IVAS_SPAR_MAX_CH - 1]; + +} ivas_band_coeffs_ind_t; + +typedef struct ivas_spar_md_t +{ + ivas_band_coeffs_t *band_coeffs; + ivas_band_coeffs_ind_t band_coeffs_idx[IVAS_MAX_NUM_BANDS]; + int16_t num_bands; + float min_max[2]; + int16_t dtx_vad; + float en_ratio_slow[IVAS_MAX_NUM_BANDS]; + float ref_pow_slow[IVAS_MAX_NUM_BANDS]; +} ivas_spar_md_t; + +typedef struct ivas_spar_md_prev_t +{ + ivas_band_coeffs_ind_t band_coeffs_idx[IVAS_MAX_NUM_BANDS]; + ivas_band_coeffs_ind_t band_coeffs_idx_mapped[IVAS_MAX_NUM_BANDS]; + +} ivas_spar_md_prev_t; + +typedef struct ivas_quant_coeffs_t +{ + float min; + float max; + int16_t q_levels[2]; + +} ivas_quant_coeffs_t; + +typedef struct ivas_quant_strat_t +{ + ivas_quant_coeffs_t PR; + ivas_quant_coeffs_t C; + ivas_quant_coeffs_t P_r; + ivas_quant_coeffs_t P_c; + +} ivas_quant_strat_t; + +typedef struct ivas_spar_md_com_cfg +{ + int16_t max_freq_per_chan[IVAS_SPAR_MAX_CH]; + int16_t num_dmx_chans_per_band[IVAS_MAX_NUM_BANDS]; + int16_t num_decorr_per_band[IVAS_MAX_NUM_BANDS]; + int16_t active_w; + int16_t remix_unmix_order; + ivas_quant_strat_t quant_strat[MAX_QUANT_STRATS]; + int16_t quant_strat_bits; + int16_t nchan_transport; + int16_t num_quant_strats; + int16_t prior_strat; + int16_t tgt_bits_per_blk; + int16_t max_bits_per_blk; + int16_t prev_quant_idx; + int16_t agc_bits_ch_idx; + int16_t planarCP; + int16_t num_umx_chs; + +} ivas_spar_md_com_cfg; + + +/* arithmetic coder structures */ +typedef struct ivas_cell_dim_t +{ + int16_t dim1; + int16_t dim2; + +} ivas_cell_dim_t; + +typedef struct ivas_freq_models_t +{ + int16_t freq_model[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; + int16_t diff_freq_model[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; + int16_t vals[IVAS_MAX_QUANT_LEVELS]; + int16_t diff_vals[IVAS_MAX_QUANT_LEVELS]; + int16_t num_models; + int16_t diff_num_models; + +} ivas_freq_models_t; + +typedef struct ivas_huff_models_t +{ + int16_t code_book[IVAS_MAX_QUANT_LEVELS][3]; + int16_t diff_code_book[IVAS_MAX_QUANT_LEVELS][3]; + +} ivas_huff_models_t; + + +/* Entropy coder structures */ +typedef struct ivas_huffman_cfg_t +{ + const int16_t *codebook; + int16_t min_len; + int16_t max_len; + int16_t sym_len; + +} ivas_huffman_cfg_t; + +typedef struct ivas_arith_t +{ + int16_t dyn_model_bits; + const int16_t *pFreq_model; + const int16_t *pAlt_freq_models[IVAS_NUM_PROB_MODELS]; + const int16_t *vals; + int16_t cum_freq[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; + int16_t range; + int16_t num_models; + float saved_dist_arr[IVAS_NUM_PROB_MODELS][IVAS_MAX_QUANT_LEVELS]; + +} ivas_arith_t; + +typedef struct ivas_arith_coeffs_t +{ + ivas_arith_t pred_arith_re[MAX_QUANT_STRATS]; + ivas_arith_t drct_arith_re[MAX_QUANT_STRATS]; + ivas_arith_t decd_arith_re[MAX_QUANT_STRATS]; + ivas_arith_t pred_arith_re_diff[MAX_QUANT_STRATS]; + ivas_arith_t drct_arith_re_diff[MAX_QUANT_STRATS]; + ivas_arith_t decd_arith_re_diff[MAX_QUANT_STRATS]; + +} ivas_arith_coeffs_t; + +typedef struct ivas_huff_coeffs_t +{ + ivas_huffman_cfg_t pred_huff_re[MAX_QUANT_STRATS]; + ivas_huffman_cfg_t drct_huff_re[MAX_QUANT_STRATS]; + ivas_huffman_cfg_t decd_huff_re[MAX_QUANT_STRATS]; + +} ivas_huff_coeffs_t; + +/* AGC structures */ +typedef struct ivas_agc_chan_data_t +{ + int16_t absGainExp; + int16_t absGainExpCurr; + +} ivas_agc_chan_data_t; + +typedef struct ivas_agc_com_state_t +{ + float *winFunc; + int16_t in_delay; + uint16_t absEmin; + uint16_t betaE; + uint16_t maxAttExp; + uint16_t num_coeff; + +} ivas_agc_com_state_t; + +/* Covariance structures */ +typedef struct ivas_cov_smooth_state_t +{ + float *pPrior_cov_real[IVAS_SPAR_MAX_CH][IVAS_SPAR_MAX_CH]; + int16_t prior_bank_idx; + float *pSmoothing_factor; + int16_t num_bins; + +} ivas_cov_smooth_state_t; + +typedef struct ivas_cov_smooth_cfg_t +{ + float max_update_rate; + int16_t min_pool_size; + int16_t max_bands; + int16_t num_bins; + +} ivas_cov_smooth_cfg_t; + + +/* SPAR bitrate constant table structure */ +typedef struct ivas_spar_br_table_t +{ + int32_t ivas_total_brate; + int16_t isPlanar; + int16_t sba_order; + int16_t bwidth; + int16_t fpcs; + int16_t nchan_transport; + ivas_spar_pmx_strings_t dmx_str; + int16_t active_w; + int16_t tmode; + int32_t core_brs[FOA_CHANNELS][3]; + int16_t q_lvls[MAX_QUANT_STRATS][NUM_MD_Q_COEFS_SET]; + int16_t td_ducking; + int16_t agc_bits_ch_idx; /* 0-3, Indicates core-coder channel index from which AGC bits have been taken from*/ + int16_t usePlanarCoeff; + +} ivas_spar_br_table_t; + + +/*----------------------------------------------------------------------------------* + * Declaration of MASA common structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_MASA_spherical_grid_deindexing +{ + float theta_cb[NO_THETA16_MAX]; + int16_t no_theta; + int16_t no_phi[NO_THETA16_MAX]; + +} SPHERICAL_GRID_DATA; + +typedef struct ivas_masa_descriptive_meta_struct +{ + uint8_t formatDescriptor[8]; /* 8x 8 bits */ + uint8_t numberOfDirections; /* 1 bit */ + uint8_t numberOfChannels; /* 1 bit */ + uint8_t sourceFormat; /* 2 bits */ + uint8_t transportDefinition; /* 3 bits */ + uint8_t channelAngle; /* 3 bits */ + uint8_t channelDistance; /* 6 bits */ + uint8_t channelLayout; /* 3 bits, used only when sourceFormat == bit value 10 */ + +} MASA_DECRIPTIVE_META; + +typedef struct ivas_masa_directional_spatial_meta_struct +{ + float azimuth[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + float elevation[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + float energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + float spread_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + +} MASA_DIRECTIONAL_SPATIAL_META; + +typedef struct ivas_masa_common_spatial_meta_struct +{ + float diffuse_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + float surround_coherence[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + float remainder_to_total_ratio[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + +} MASA_COMMON_SPATIAL_META; + +typedef struct ivas_masa_metadata_frame_struct +{ + MASA_DECRIPTIVE_META descriptive_meta; + MASA_DIRECTIONAL_SPATIAL_META directional_meta[MASA_MAXIMUM_DIRECTIONS]; + MASA_COMMON_SPATIAL_META common_meta; + +} MASA_METADATA_FRAME, *MASA_METADATA_HANDLE; + +typedef struct ivas_masa_config_struct +{ + uint16_t max_metadata_bits; + int16_t block_grouping[5]; + int16_t band_grouping[MASA_FREQUENCY_BANDS + 1]; + uint8_t numCodingBands; + uint8_t numTwoDirBands; + uint8_t numberOfDirections; + uint8_t joinedSubframes; + uint8_t useCoherence; + uint8_t coherencePresent; + uint8_t mergeRatiosOverSubframes; + +} MASA_CODEC_CONFIG; + + +/*----------------------------------------------------------------------------------* + * Declaration of Qmetadata common structures + *----------------------------------------------------------------------------------*/ + +typedef struct +{ + int16_t nbands; + int16_t nblocks; + int16_t start_band; + int16_t search_effort; + MC_LS_SETUP mc_ls_setup; + +} IVAS_METADATA_CONFIG; + +typedef struct ivas_qdirection_band_data_struct +{ + uint16_t spherical_index[MAX_PARAM_SPATIAL_SUBFRAMES]; + float azimuth[MAX_PARAM_SPATIAL_SUBFRAMES]; + float elevation[MAX_PARAM_SPATIAL_SUBFRAMES]; + int16_t elevation_m_alphabet[MAX_PARAM_SPATIAL_SUBFRAMES]; + int16_t azimuth_m_alphabet[MAX_PARAM_SPATIAL_SUBFRAMES]; + + float energy_ratio[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint8_t distance[MAX_PARAM_SPATIAL_SUBFRAMES]; + + uint16_t bits_sph_idx[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint16_t energy_ratio_index[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint16_t energy_ratio_index_mod[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint16_t azimuth_index[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint16_t elevation_index[MAX_PARAM_SPATIAL_SUBFRAMES]; + float q_azimuth[MAX_PARAM_SPATIAL_SUBFRAMES]; + float q_elevation[MAX_PARAM_SPATIAL_SUBFRAMES]; + +} IVAS_QDIRECTION_BAND_DATA; + +typedef struct ivas_qdirection_band_coherence_data_struct +{ + uint8_t spread_coherence[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint16_t spread_coherence_dct0_index; + uint16_t spread_coherence_dct1_index; + +} IVAS_QDIRECTION_BAND_COHERENCE_DATA; + +typedef struct ivas_surround_coherence_band_data_struct +{ + uint8_t surround_coherence[MAX_PARAM_SPATIAL_SUBFRAMES]; + uint16_t sur_coherence_index; + +} IVAS_SURROUND_COHERENCE_BAND_DATA; + + +typedef struct +{ + IVAS_METADATA_CONFIG cfg; + + IVAS_QDIRECTION_BAND_DATA *band_data; + IVAS_QDIRECTION_BAND_COHERENCE_DATA *coherence_band_data; + int16_t not_in_2D; + +} IVAS_QDIRECTION; /* IVAS_QMETADATA; */ + +typedef struct ivas_masa_qmetadata_frame_struct +{ + IVAS_QDIRECTION *q_direction; + uint16_t no_directions; + int16_t bits_frame_nominal; + uint16_t coherence_flag; + uint8_t all_coherence_zero; + uint8_t twoDirBands[MASA_MAXIMUM_CODING_SUBBANDS]; + uint8_t numTwoDirBands; + int16_t qmetadata_max_bit_req; + int16_t metadata_max_bits; /* maximum allowed number of bits for metadata per frame */ + uint8_t useLowerRes; + uint8_t useLowerBandRes; + IVAS_SURROUND_COHERENCE_BAND_DATA *surcoh_band_data; + + /* Additional helper values to include all data required for writing to output file */ + uint8_t numCodingBands; + int16_t *bandMap; + int16_t nchan_transport; + int16_t sba_inactive_mode; + /* Status values on metadata quality */ + int16_t ec_flag; + float dir_comp_ratio; + uint8_t is_masa_ivas_format; + +} IVAS_QMETADATA, *IVAS_QMETADATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Declaration of Parametric MC common (encoder & decoder) structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_param_mc_ild_mapping_struct +{ + int16_t ild_map_size_wo_lfe; + int16_t ild_map_size_lfe; + int16_t ild_index[MAX_CICP_CHANNELS]; + int16_t num_ref_channels[MAX_CICP_CHANNELS]; + int16_t ref_channel_idx[MAX_CICP_CHANNELS][PARAM_MC_MAX_ILD_REF_CHANNELS]; + +} PARAM_MC_ILD_MAPPING, *HANDLE_PARAM_MC_ILD_MAPPING; + +typedef struct ivas_param_mc_icc_mapping_struct +{ + int16_t icc_map_size_wo_lfe; + int16_t icc_map_size_lfe; + int16_t icc_mapping[PARAM_MC_SZ_ICC_MAP][2]; + +} PARAM_MC_ICC_MAPPING, *HANDLE_PARAM_MC_ICC_MAPPING; + +typedef struct ivas_param_mc_conf_struct /* structure for ROM Table */ +{ + MC_LS_SETUP mc_ls_setup; + int16_t num_input_chan; + int16_t num_transport_chan; + int32_t ivas_total_brate; + const PARAM_MC_ILD_MAPPING *ild_mapping_conf; + const PARAM_MC_ICC_MAPPING *icc_mapping_conf; + const float *dmx_fac; + const float *ild_factors; + +} PARAM_MC_CONF; + +typedef struct ivas_parametric_mc_metadata_value_coding_info_struct +{ + const uint16_t *cum_freq; + const uint16_t *sym_freq; + const uint16_t *cum_freq_delta; + const uint16_t *sym_freq_delta; + const float *quantizer; + int16_t quantizer_size; + int16_t uni_bits; + +} PARAM_MC_PARAMETER_CODING_INFO, *HANDLE_PARAM_MC_PARAMETER_CODING_INFO; + +typedef struct ivas_parametric_mc_metadata_struct +{ + const PARAM_MC_ILD_MAPPING *ild_mapping_conf; + const PARAM_MC_ICC_MAPPING *icc_mapping_conf; + int16_t icc_mapping[PARAM_MC_PARAMETER_FRAMES][PARAM_MC_SZ_ICC_MAP][2]; + int16_t *icc_map_full[2]; + int16_t icc_map_size_full; + int16_t param_frame_idx; + int16_t flag_use_adaptive_icc_map; + const float *ild_factors; + int16_t coding_band_mapping[PARAM_MC_MAX_PARAMETER_BANDS]; + int16_t nbands_in_param_frame[PARAM_MC_PARAMETER_FRAMES]; + int16_t bAttackPresent; + int16_t attackIndex; + int16_t nbands_coded; + int16_t num_parameter_bands; + int16_t coded_bwidth; + int16_t last_coded_bwidth; + int16_t lfe_on; + PARAM_MC_PARAMETER_CODING_INFO icc_coding; + PARAM_MC_PARAMETER_CODING_INFO ild_coding; + +} IVAS_PARAM_MC_METADATA, *HANDLE_IVAS_PARAM_MC_METADATA; + + +/*----------------------------------------------------------------------------------* + * Declaration of LFE common (encoder & decoder) structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_lfe_window +{ + int16_t dct_len; + int16_t fade_len; + int16_t zero_pad_len; + int16_t full_len; + const float *pWindow_coeffs; + +} LFE_WINDOW_DATA, *LFE_WINDOW_HANDLE; + +typedef struct ivas_lfe_freq_models +{ + uint16_t entropy_coder_model_fine_sg1[65]; + uint16_t entropy_coder_model_fine_sg2[33]; + uint16_t entropy_coder_model_fine_sg3[9]; + uint16_t entropy_coder_model_fine_sg4[3]; + uint16_t entropy_coder_model_coarse_sg1[33]; + uint16_t entropy_coder_model_coarse_sg2[17]; + uint16_t entropy_coder_model_coarse_sg3[5]; + uint16_t entropy_coder_model_coarse_sg4; + +} ivas_lfe_freq_models; + +typedef struct ivas_filters_process_state_t +{ + int16_t order; + int16_t filt_len; + float num[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; + float den[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; + float state[IVAS_FILTER_MAX_STAGES][IVAS_BIQUAD_FILT_LEN]; + +} ivas_filters_process_state_t; + + +/*----------------------------------------------------------------------------------* + * Transient Detector (TD) structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_trans_det_state_t +{ + ivas_filters_process_state_t env_hpf; + ivas_filters_process_state_t env_fast; + ivas_filters_process_state_t env_slow; + float in_duck_coeff; + float out_duck_coeff; + float in_duck_gain; + float out_duck_gain; + float duck_mult_fac; + +} ivas_trans_det_state_t; + + +/*----------------------------------------------------------------------------------* + * Filter Bank (FB) structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_fb_mixer_cfg_t +{ + int16_t fb_latency; + int16_t num_in_chans; + int16_t num_out_chans; + int16_t pcm_offset; + int16_t fade_len; /* this sets the stride length; no delay is introduced */ + int16_t prior_input_length; + int16_t windowed_fr_offset; + int16_t active_w_mixing; + const int16_t *remix_order; + +} IVAS_FB_CFG; + +typedef struct ivas_fb_consts_t +{ + const float *ppFilterbank_FRs[2][IVAS_MAX_NUM_BANDS]; + float *ppFilterbank_FRs_non48k[2][IVAS_MAX_NUM_BANDS]; + const int16_t *pFilterbank_bins_per_band; + const int16_t *pFilterbank_bins_start_offset; + +} ivas_fb_consts_t; + +typedef struct ivas_fb_bin_to_band_data_t +{ + float *pFb_bin_to_band[IVAS_MAX_NUM_FB_BANDS]; + const int16_t *pFb_start_bin_per_band; + const int16_t *pFb_active_bins_per_band; + float pp_cldfb_weights_per_spar_band[CLDFB_NO_CHANNELS_MAX][IVAS_MAX_NUM_FB_BANDS]; /* weights for linear combination of parameters from different SPAR bands*/ + int16_t p_spar_start_bands[CLDFB_NO_CHANNELS_MAX]; /* the first SPAR band per CLFB band when the weight is > 0 */ + int16_t p_cldfb_map_to_spar_band[CLDFB_NO_CHANNELS_MAX]; /* a direct mapping from CLDFB band to SPAR band */ + int16_t p_short_stride_start_bin_per_band[IVAS_MAX_NUM_FB_BANDS]; + int16_t p_short_stride_num_bins_per_band[IVAS_MAX_NUM_FB_BANDS]; + float p_short_stride_bin_to_band[2 * MDFT_FB_BANDS_240]; + float *pp_short_stride_bin_to_band[IVAS_MAX_NUM_FB_BANDS]; + int16_t short_stride; + int16_t num_cldfb_bands; + +} ivas_fb_bin_to_band_data_t; + +typedef struct ivas_filterbank_t +{ + int16_t filterbank_num_bands; + ivas_fb_consts_t fb_consts; + ivas_fb_bin_to_band_data_t fb_bin_to_band; + +} ivas_filterbank_t; + +typedef struct ivas_fb_mixer_state_structure +{ + IVAS_FB_CFG *fb_cfg; + + int16_t num_diff_bands; + ivas_filterbank_t *pFb; + + float *ppFilterbank_inFR_re[IVAS_MAX_FB_MIXER_IN_CH]; + float *ppFilterbank_inFR_im[IVAS_MAX_FB_MIXER_IN_CH]; + float *ppFilterbank_prior_input[IVAS_MAX_FB_MIXER_IN_CH]; + float *prior_mixer[IVAS_MAX_FB_MIXER_OUT_CH][IVAS_MAX_SPAR_FB_MIXER_IN_CH]; + + /* store sin part in const table (no need to store 1s and 0s, no need to do windowing for 1's and 0's as well) */ + int16_t cross_fade_start_offset; + int16_t cross_fade_end_offset; + const float *pFilterbank_cross_fade; + int16_t ana_window_offset; + const float *pAna_window; + + int16_t prior_input_length; + int16_t windowed_fr_offset; + float cldfb_cross_fade[CLDFB_NO_COL_MAX]; + int16_t cldfb_cross_fade_start; + int16_t cldfb_cross_fade_end; + + int16_t first_frame[IVAS_SPAR_MAX_CH]; + +} IVAS_FB_MIXER_DATA, *IVAS_FB_MIXER_HANDLE; + + +#endif /* IVAS_STAT_COM */ diff --git a/lib_com/mime.h b/lib_com/mime.h new file mode 100644 index 0000000000..7ca2689dcf --- /dev/null +++ b/lib_com/mime.h @@ -0,0 +1,447 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ +#ifndef MIME_H +#define MIME_H + +#include <stdint.h> +#include <stddef.h> +#include "options.h" +#include "typedef.h" + +#define AMRWB_MAGIC_NUMBER "#!AMR-WB\n" /* defined in RFC4867 */ +#define EVS_MAGIC_NUMBER "#!EVS_MC1.0\n" /* defined in 26.445 */ + +static const Word32 AMRWB_IOmode2rate[16] = { + 6600, /* AMRWB_IO_6600 */ + 8850, /* AMRWB_IO_8850 */ + 12650, /* AMRWB_IO_1265 */ + 14250, /* AMRWB_IO_1425 */ + 15850, /* AMRWB_IO_1585 */ + 18250, /* AMRWB_IO_1825 */ + 19850, /* AMRWB_IO_1985 */ + 23050, /* AMRWB_IO_2305 */ + 23850, /* AMRWB_IO_2385 */ + 1750, /* AMRWB_IO_SID */ + -1, /* AMRWB_IO_FUT1 */ + -1, /* AMRWB_IO_FUT2 */ + -1, /* AMRWB_IO_FUT3 */ + -1, /* AMRWB_IO_FUT4 */ + 0, /* SPEECH_BAD */ + 0 /* NO_DATA */ +}; + +static const Word32 PRIMARYmode2rate[16] = { + 2800, /* PRIMARY_2800 */ + 7200, /* PRIMARY_7200 */ + 8000, /* PRIMARY_8000 */ + 9600, /* PRIMARY_9600 */ + 13200, /* PRIMARY_13200 */ + 16400, /* PRIMARY_16400 */ + 24400, /* PRIMARY_24400 */ + 32000, /* PRIMARY_32000 */ + 48000, /* PRIMARY_48000 */ + 64000, /* PRIMARY_64000 */ + 96000, /* PRIMARY_96000 */ + 128000, /* PRIMARY_128000 */ + 2400, /* PRIMARY_SID */ + -1, /* PRIMARY_FUT1 */ + 0, /* SPEECH_LOST */ + 0 /* NO_DATA */ +}; + +/* sorting tables for all AMR-WB IO modes */ + +static const Word16 sort_660[132] = { + 0, 5, 6, 7, 61, 84, 107, 130, 62, 85, + 8, 4, 37, 38, 39, 40, 58, 81, 104, 127, + 60, 83, 106, 129, 108, 131, 128, 41, 42, 80, + 126, 1, 3, 57, 103, 82, 105, 59, 2, 63, + 109, 110, 86, 19, 22, 23, 64, 87, 18, 20, + 21, 17, 13, 88, 43, 89, 65, 111, 14, 24, + 25, 26, 27, 28, 15, 16, 44, 90, 66, 112, + 9, 11, 10, 12, 67, 113, 29, 30, 31, 32, + 34, 33, 35, 36, 45, 51, 68, 74, 91, 97, + 114, 120, 46, 69, 92, 115, 52, 75, 98, 121, + 47, 70, 93, 116, 53, 76, 99, 122, 48, 71, + 94, 117, 54, 77, 100, 123, 49, 72, 95, 118, + 55, 78, 101, 124, 50, 73, 96, 119, 56, 79, + 102, 125 +}; + +static const Word16 sort_885[177] = { + 0, 4, 6, 7, 5, 3, 47, 48, 49, 112, + 113, 114, 75, 106, 140, 171, 80, 111, 145, 176, + 77, 108, 142, 173, 78, 109, 143, 174, 79, 110, + 144, 175, 76, 107, 141, 172, 50, 115, 51, 2, + 1, 81, 116, 146, 19, 21, 12, 17, 18, 20, + 16, 25, 13, 10, 14, 24, 23, 22, 26, 8, + 15, 52, 117, 31, 82, 147, 9, 33, 11, 83, + 148, 53, 118, 28, 27, 84, 149, 34, 35, 29, + 46, 32, 30, 54, 119, 37, 36, 39, 38, 40, + 85, 150, 41, 42, 43, 44, 45, 55, 60, 65, + 70, 86, 91, 96, 101, 120, 125, 130, 135, 151, + 156, 161, 166, 56, 87, 121, 152, 61, 92, 126, + 157, 66, 97, 131, 162, 71, 102, 136, 167, 57, + 88, 122, 153, 62, 93, 127, 158, 67, 98, 132, + 163, 72, 103, 137, 168, 58, 89, 123, 154, 63, + 94, 128, 159, 68, 99, 133, 164, 73, 104, 138, + 169, 59, 90, 124, 155, 64, 95, 129, 160, 69, + 100, 134, 165, 74, 105, 139, 170 +}; + +static const Word16 sort_1265[253] = { + 0, 4, 6, 93, 143, 196, 246, 7, 5, 3, + 47, 48, 49, 50, 51, 150, 151, 152, 153, 154, + 94, 144, 197, 247, 99, 149, 202, 252, 96, 146, + 199, 249, 97, 147, 200, 250, 100, 203, 98, 148, + 201, 251, 95, 145, 198, 248, 52, 2, 1, 101, + 204, 155, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 156, 31, 102, 205, 9, 33, 11, 103, 206, 54, + 157, 28, 27, 104, 207, 34, 35, 29, 46, 32, + 30, 55, 158, 37, 36, 39, 38, 40, 105, 208, + 41, 42, 43, 44, 45, 56, 106, 159, 209, 57, + 66, 75, 84, 107, 116, 125, 134, 160, 169, 178, + 187, 210, 219, 228, 237, 58, 108, 161, 211, 62, + 112, 165, 215, 67, 117, 170, 220, 71, 121, 174, + 224, 76, 126, 179, 229, 80, 130, 183, 233, 85, + 135, 188, 238, 89, 139, 192, 242, 59, 109, 162, + 212, 63, 113, 166, 216, 68, 118, 171, 221, 72, + 122, 175, 225, 77, 127, 180, 230, 81, 131, 184, + 234, 86, 136, 189, 239, 90, 140, 193, 243, 60, + 110, 163, 213, 64, 114, 167, 217, 69, 119, 172, + 222, 73, 123, 176, 226, 78, 128, 181, 231, 82, + 132, 185, 235, 87, 137, 190, 240, 91, 141, 194, + 244, 61, 111, 164, 214, 65, 115, 168, 218, 70, + 120, 173, 223, 74, 124, 177, 227, 79, 129, 182, + 232, 83, 133, 186, 236, 88, 138, 191, 241, 92, + 142, 195, 245 +}; + +static const Word16 sort_1425[285] = { + 0, 4, 6, 101, 159, 220, 278, 7, 5, 3, + 47, 48, 49, 50, 51, 166, 167, 168, 169, 170, + 102, 160, 221, 279, 107, 165, 226, 284, 104, 162, + 223, 281, 105, 163, 224, 282, 108, 227, 106, 164, + 225, 283, 103, 161, 222, 280, 52, 2, 1, 109, + 228, 171, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 172, 31, 110, 229, 9, 33, 11, 111, 230, 54, + 173, 28, 27, 112, 231, 34, 35, 29, 46, 32, + 30, 55, 174, 37, 36, 39, 38, 40, 113, 232, + 41, 42, 43, 44, 45, 56, 114, 175, 233, 62, + 120, 181, 239, 75, 133, 194, 252, 57, 115, 176, + 234, 63, 121, 182, 240, 70, 128, 189, 247, 76, + 134, 195, 253, 83, 141, 202, 260, 92, 150, 211, + 269, 84, 142, 203, 261, 93, 151, 212, 270, 85, + 143, 204, 262, 94, 152, 213, 271, 86, 144, 205, + 263, 95, 153, 214, 272, 64, 122, 183, 241, 77, + 135, 196, 254, 65, 123, 184, 242, 78, 136, 197, + 255, 87, 145, 206, 264, 96, 154, 215, 273, 58, + 116, 177, 235, 66, 124, 185, 243, 71, 129, 190, + 248, 79, 137, 198, 256, 88, 146, 207, 265, 97, + 155, 216, 274, 59, 117, 178, 236, 67, 125, 186, + 244, 72, 130, 191, 249, 80, 138, 199, 257, 89, + 147, 208, 266, 98, 156, 217, 275, 60, 118, 179, + 237, 68, 126, 187, 245, 73, 131, 192, 250, 81, + 139, 200, 258, 90, 148, 209, 267, 99, 157, 218, + 276, 61, 119, 180, 238, 69, 127, 188, 246, 74, + 132, 193, 251, 82, 140, 201, 259, 91, 149, 210, + 268, 100, 158, 219, 277 +}; + +static const Word16 sort_1585[317] = { + 0, 4, 6, 109, 175, 244, 310, 7, 5, 3, + 47, 48, 49, 50, 51, 182, 183, 184, 185, 186, + 110, 176, 245, 311, 115, 181, 250, 316, 112, 178, + 247, 313, 113, 179, 248, 314, 116, 251, 114, 180, + 249, 315, 111, 177, 246, 312, 52, 2, 1, 117, + 252, 187, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 188, 31, 118, 253, 9, 33, 11, 119, 254, 54, + 189, 28, 27, 120, 255, 34, 35, 29, 46, 32, + 30, 55, 190, 37, 36, 39, 38, 40, 121, 256, + 41, 42, 43, 44, 45, 56, 122, 191, 257, 63, + 129, 198, 264, 76, 142, 211, 277, 89, 155, 224, + 290, 102, 168, 237, 303, 57, 123, 192, 258, 70, + 136, 205, 271, 83, 149, 218, 284, 96, 162, 231, + 297, 62, 128, 197, 263, 75, 141, 210, 276, 88, + 154, 223, 289, 101, 167, 236, 302, 58, 124, 193, + 259, 71, 137, 206, 272, 84, 150, 219, 285, 97, + 163, 232, 298, 59, 125, 194, 260, 64, 130, 199, + 265, 67, 133, 202, 268, 72, 138, 207, 273, 77, + 143, 212, 278, 80, 146, 215, 281, 85, 151, 220, + 286, 90, 156, 225, 291, 93, 159, 228, 294, 98, + 164, 233, 299, 103, 169, 238, 304, 106, 172, 241, + 307, 60, 126, 195, 261, 65, 131, 200, 266, 68, + 134, 203, 269, 73, 139, 208, 274, 78, 144, 213, + 279, 81, 147, 216, 282, 86, 152, 221, 287, 91, + 157, 226, 292, 94, 160, 229, 295, 99, 165, 234, + 300, 104, 170, 239, 305, 107, 173, 242, 308, 61, + 127, 196, 262, 66, 132, 201, 267, 69, 135, 204, + 270, 74, 140, 209, 275, 79, 145, 214, 280, 82, + 148, 217, 283, 87, 153, 222, 288, 92, 158, 227, + 293, 95, 161, 230, 296, 100, 166, 235, 301, 105, + 171, 240, 306, 108, 174, 243, 309 +}; + +static const Word16 sort_1825[365] = { + 0, 4, 6, 121, 199, 280, 358, 7, 5, 3, + 47, 48, 49, 50, 51, 206, 207, 208, 209, 210, + 122, 200, 281, 359, 127, 205, 286, 364, 124, 202, + 283, 361, 125, 203, 284, 362, 128, 287, 126, 204, + 285, 363, 123, 201, 282, 360, 52, 2, 1, 129, + 288, 211, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 212, 31, 130, 289, 9, 33, 11, 131, 290, 54, + 213, 28, 27, 132, 291, 34, 35, 29, 46, 32, + 30, 55, 214, 37, 36, 39, 38, 40, 133, 292, + 41, 42, 43, 44, 45, 56, 134, 215, 293, 198, + 299, 136, 120, 138, 60, 279, 58, 62, 357, 139, + 140, 295, 156, 57, 219, 297, 63, 217, 137, 170, + 300, 222, 64, 106, 61, 78, 294, 92, 142, 141, + 135, 221, 296, 301, 343, 59, 298, 184, 329, 315, + 220, 216, 265, 251, 218, 237, 352, 223, 157, 86, + 171, 87, 164, 351, 111, 302, 65, 178, 115, 323, + 72, 192, 101, 179, 93, 73, 193, 151, 337, 309, + 143, 274, 69, 324, 165, 150, 97, 338, 110, 310, + 330, 273, 68, 107, 175, 245, 114, 79, 113, 189, + 246, 259, 174, 71, 185, 96, 344, 100, 322, 83, + 334, 316, 333, 252, 161, 348, 147, 82, 269, 232, + 260, 308, 353, 347, 163, 231, 306, 320, 188, 270, + 146, 177, 266, 350, 256, 85, 149, 116, 191, 160, + 238, 258, 336, 305, 255, 88, 224, 99, 339, 230, + 228, 227, 272, 242, 241, 319, 233, 311, 102, 74, + 180, 275, 66, 194, 152, 325, 172, 247, 244, 261, + 117, 158, 166, 354, 75, 144, 108, 312, 94, 186, + 303, 80, 234, 89, 195, 112, 340, 181, 345, 317, + 326, 276, 239, 167, 118, 313, 70, 355, 327, 253, + 190, 176, 271, 104, 98, 153, 103, 90, 76, 267, + 277, 248, 225, 262, 182, 84, 154, 235, 335, 168, + 331, 196, 341, 249, 162, 307, 148, 349, 263, 321, + 257, 243, 229, 356, 159, 119, 67, 187, 173, 145, + 240, 77, 304, 332, 314, 342, 109, 254, 81, 278, + 105, 91, 346, 318, 183, 250, 197, 328, 95, 155, + 169, 268, 226, 236, 264 +}; + +static const Word16 sort_1985[397] = { + 0, 4, 6, 129, 215, 304, 390, 7, 5, 3, + 47, 48, 49, 50, 51, 222, 223, 224, 225, 226, + 130, 216, 305, 391, 135, 221, 310, 396, 132, 218, + 307, 393, 133, 219, 308, 394, 136, 311, 134, 220, + 309, 395, 131, 217, 306, 392, 52, 2, 1, 137, + 312, 227, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 228, 31, 138, 313, 9, 33, 11, 139, 314, 54, + 229, 28, 27, 140, 315, 34, 35, 29, 46, 32, + 30, 55, 230, 37, 36, 39, 38, 40, 141, 316, + 41, 42, 43, 44, 45, 56, 142, 231, 317, 63, + 73, 92, 340, 82, 324, 149, 353, 159, 334, 165, + 338, 178, 163, 254, 77, 168, 257, 153, 343, 57, + 248, 238, 79, 252, 166, 67, 80, 201, 101, 267, + 143, 164, 341, 255, 339, 187, 376, 318, 78, 328, + 362, 115, 232, 242, 253, 290, 276, 62, 58, 158, + 68, 93, 179, 319, 148, 169, 154, 72, 385, 329, + 333, 344, 102, 83, 144, 233, 323, 124, 243, 192, + 354, 237, 64, 247, 202, 209, 150, 116, 335, 268, + 239, 299, 188, 196, 298, 94, 195, 258, 123, 363, + 384, 109, 325, 371, 170, 370, 84, 110, 295, 180, + 74, 210, 191, 106, 291, 205, 367, 381, 377, 206, + 355, 122, 119, 120, 383, 160, 105, 108, 277, 380, + 294, 284, 285, 345, 208, 269, 249, 366, 386, 300, + 297, 259, 125, 369, 197, 97, 194, 286, 211, 281, + 280, 183, 372, 87, 155, 283, 59, 348, 327, 184, + 76, 111, 330, 203, 349, 69, 98, 152, 145, 189, + 66, 320, 337, 173, 358, 251, 198, 174, 263, 262, + 126, 241, 193, 88, 388, 117, 95, 387, 112, 359, + 287, 244, 103, 272, 301, 171, 162, 234, 273, 127, + 373, 181, 292, 85, 378, 302, 121, 107, 364, 346, + 356, 212, 278, 213, 65, 382, 288, 207, 113, 175, + 99, 296, 374, 368, 199, 260, 185, 336, 331, 161, + 270, 264, 250, 240, 75, 350, 151, 60, 89, 321, + 156, 274, 360, 326, 70, 282, 167, 146, 352, 81, + 91, 389, 266, 245, 177, 235, 190, 256, 204, 342, + 128, 118, 303, 104, 379, 182, 114, 375, 200, 96, + 293, 172, 214, 365, 279, 86, 289, 351, 347, 357, + 261, 186, 176, 271, 90, 100, 147, 322, 275, 361, + 71, 332, 61, 265, 157, 246, 236 +}; + +static const Word16 sort_2305[461] = { + 0, 4, 6, 145, 247, 352, 454, 7, 5, 3, + 47, 48, 49, 50, 51, 254, 255, 256, 257, 258, + 146, 248, 353, 455, 151, 253, 358, 460, 148, 250, + 355, 457, 149, 251, 356, 458, 152, 359, 150, 252, + 357, 459, 147, 249, 354, 456, 52, 2, 1, 153, + 360, 259, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 260, 31, 154, 361, 9, 33, 11, 155, 362, 54, + 261, 28, 27, 156, 363, 34, 35, 29, 46, 32, + 30, 55, 262, 37, 36, 39, 38, 40, 157, 364, + 41, 42, 43, 44, 45, 56, 158, 263, 365, 181, + 192, 170, 79, 57, 399, 90, 159, 297, 377, 366, + 275, 68, 183, 388, 286, 194, 299, 92, 70, 182, + 401, 172, 59, 91, 58, 400, 368, 161, 81, 160, + 264, 171, 80, 389, 390, 378, 379, 193, 298, 69, + 266, 265, 367, 277, 288, 276, 287, 184, 60, 195, + 82, 93, 71, 369, 402, 173, 162, 444, 300, 391, + 98, 76, 278, 61, 267, 374, 135, 411, 167, 102, + 380, 200, 87, 178, 65, 94, 204, 124, 72, 342, + 189, 305, 381, 396, 433, 301, 226, 407, 289, 237, + 113, 215, 185, 128, 309, 403, 116, 320, 196, 331, + 370, 422, 174, 64, 392, 83, 425, 219, 134, 188, + 432, 112, 427, 139, 279, 163, 436, 208, 447, 218, + 236, 229, 97, 294, 385, 230, 166, 268, 177, 443, + 225, 426, 101, 272, 138, 127, 290, 117, 347, 199, + 414, 95, 140, 240, 410, 395, 209, 129, 283, 346, + 105, 241, 437, 86, 308, 448, 203, 345, 186, 107, + 220, 415, 334, 319, 106, 313, 118, 123, 73, 207, + 421, 214, 384, 373, 438, 62, 371, 341, 75, 449, + 168, 323, 164, 242, 416, 324, 304, 197, 335, 404, + 271, 63, 191, 325, 96, 169, 231, 280, 312, 187, + 406, 84, 201, 100, 67, 382, 175, 336, 202, 330, + 269, 393, 376, 383, 293, 307, 409, 179, 285, 314, + 302, 372, 398, 190, 180, 89, 99, 103, 232, 78, + 88, 77, 136, 387, 165, 198, 394, 125, 176, 428, + 74, 375, 238, 227, 66, 273, 282, 141, 306, 412, + 114, 85, 130, 348, 119, 291, 296, 386, 233, 397, + 303, 405, 284, 445, 423, 221, 210, 205, 450, 108, + 274, 434, 216, 343, 337, 142, 243, 321, 408, 451, + 310, 292, 120, 109, 281, 439, 270, 429, 332, 295, + 418, 211, 315, 222, 326, 131, 430, 244, 327, 349, + 417, 316, 143, 338, 440, 234, 110, 212, 452, 245, + 121, 419, 350, 223, 132, 441, 328, 413, 317, 339, + 126, 104, 137, 446, 344, 239, 435, 115, 333, 206, + 322, 217, 228, 424, 453, 311, 351, 111, 442, 224, + 213, 122, 431, 340, 235, 246, 133, 144, 420, 329, + 318 +}; + +static const Word16 sort_2385[477] = { + 0, 4, 6, 145, 251, 360, 466, 7, 5, 3, + 47, 48, 49, 50, 51, 262, 263, 264, 265, 266, + 146, 252, 361, 467, 151, 257, 366, 472, 148, 254, + 363, 469, 149, 255, 364, 470, 156, 371, 150, 256, + 365, 471, 147, 253, 362, 468, 52, 2, 1, 157, + 372, 267, 19, 21, 12, 17, 18, 20, 16, 25, + 13, 10, 14, 24, 23, 22, 26, 8, 15, 53, + 268, 31, 152, 153, 154, 155, 258, 259, 260, 261, + 367, 368, 369, 370, 473, 474, 475, 476, 158, 373, + 9, 33, 11, 159, 374, 54, 269, 28, 27, 160, + 375, 34, 35, 29, 46, 32, 30, 55, 270, 37, + 36, 39, 38, 40, 161, 376, 41, 42, 43, 44, + 45, 56, 162, 271, 377, 185, 196, 174, 79, 57, + 411, 90, 163, 305, 389, 378, 283, 68, 187, 400, + 294, 198, 307, 92, 70, 186, 413, 176, 59, 91, + 58, 412, 380, 165, 81, 164, 272, 175, 80, 401, + 402, 390, 391, 197, 306, 69, 274, 273, 379, 285, + 296, 284, 295, 188, 60, 199, 82, 93, 71, 381, + 414, 177, 166, 456, 308, 403, 98, 76, 286, 61, + 275, 386, 135, 423, 171, 102, 392, 204, 87, 182, + 65, 94, 208, 124, 72, 350, 193, 313, 393, 408, + 445, 309, 230, 419, 297, 241, 113, 219, 189, 128, + 317, 415, 116, 328, 200, 339, 382, 434, 178, 64, + 404, 83, 437, 223, 134, 192, 444, 112, 439, 139, + 287, 167, 448, 212, 459, 222, 240, 233, 97, 302, + 397, 234, 170, 276, 181, 455, 229, 438, 101, 280, + 138, 127, 298, 117, 355, 203, 426, 95, 140, 244, + 422, 407, 213, 129, 291, 354, 105, 245, 449, 86, + 316, 460, 207, 353, 190, 107, 224, 427, 342, 327, + 106, 321, 118, 123, 73, 211, 433, 218, 396, 385, + 450, 62, 383, 349, 75, 461, 172, 331, 168, 246, + 428, 332, 312, 201, 343, 416, 279, 63, 195, 333, + 96, 173, 235, 288, 320, 191, 418, 84, 205, 100, + 67, 394, 179, 344, 206, 338, 277, 405, 388, 395, + 301, 315, 421, 183, 293, 322, 310, 384, 410, 194, + 184, 89, 99, 103, 236, 78, 88, 77, 136, 399, + 169, 202, 406, 125, 180, 440, 74, 387, 242, 231, + 66, 281, 290, 141, 314, 424, 114, 85, 130, 356, + 119, 299, 304, 398, 237, 409, 311, 417, 292, 457, + 435, 225, 214, 209, 462, 108, 282, 446, 220, 351, + 345, 142, 247, 329, 420, 463, 318, 300, 120, 109, + 289, 451, 278, 441, 340, 303, 430, 215, 323, 226, + 334, 131, 442, 248, 335, 357, 429, 324, 143, 346, + 452, 238, 110, 216, 464, 249, 121, 431, 358, 227, + 132, 453, 336, 425, 325, 347, 126, 104, 137, 458, + 352, 243, 447, 115, 341, 210, 330, 221, 232, 436, + 465, 319, 359, 111, 454, 228, 217, 122, 443, 348, + 239, 250, 133, 144, 432, 337, 326 +}; + +static const Word16 sort_SID[35] = { + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, + 30, 31, 32, 33, 34 +}; + +/* pointer table for bit sorting tables */ +static const Word16 *const sort_ptr[16] = { sort_660, sort_885, sort_1265, sort_1425, sort_1585, sort_1825, sort_1985, sort_2305, + sort_2385, sort_SID, NULL, NULL, NULL, NULL, NULL, NULL }; + +/* 4 bit to 3 bit AMR-WB CMR remapping table */ +static const Word16 amrwb_3bit_cmr[16] = { + 0x00, /* AMRWB_660 */ + 0x01, /* AMRWB_885 */ + 0x02, /* AMRWB_1265 */ + 0x05, /* AMRWB_1425 */ + 0x03, /* AMRWB_1585 */ + 0x06, /* AMRWB_1825 */ + 0x06, /* AMRWB_1985 -> AMRWB_1825 */ + 0x06, /* AMRWB_2305 -> AMRWB_1825 */ + 0x04, /* AMRWB_2385 */ + 0x07, /* invalid request -> none */ + 0x07, /* invalid request -> none */ + 0x07, /* invalid request -> none */ + 0x07, /* invalid request -> none */ + 0x07, /* invalid request -> none */ + 0x07, /* invalid request -> none */ + 0x07 /* invalid request -> none */ +}; + +/* 3 bit to 4 bit AMR-WB CMR remapping table */ +static const Word16 amrwb_4bit_cmr[8] = { + 0x00, /* AMRWB_660 */ + 0x01, /* AMRWB_885 */ + 0x02, /* AMRWB_1265 */ + 0x04, /* AMRWB_1585 */ + 0x08, /* AMRWB_2385 */ + 0x03, /* AMRWB_1425 */ + 0x05, /* AMRWB_1825 */ + 0x0f /* invalid */ +}; +#endif diff --git a/lib_com/move.h b/lib_com/move.h new file mode 100644 index 0000000000..f0e8238dec --- /dev/null +++ b/lib_com/move.h @@ -0,0 +1,74 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef _MOVE_H +#define _MOVE_H + +/* BASOP -> FLC brigde: data move counting */ + +#include "stl.h" + +static __inline void move16( void ) +{ +} + +static __inline void move32( void ) +{ +} + +static __inline void test( void ) +{ +} + +static __inline void logic16( void ) +{ +} + +static __inline void logic32( void ) +{ +} + + +/*-------- legacy ----------*/ +#define data_move() move16() +#define L_data_move() move32() +#define data_move_external() move16() +#define compare_zero() test() +/*-------- end legacy ----------*/ + +#define cast16 move16 + +#endif /* _MOVE_H */ diff --git a/lib_com/rom_com.h b/lib_com/rom_com.h new file mode 100644 index 0000000000..83a7581491 --- /dev/null +++ b/lib_com/rom_com.h @@ -0,0 +1,1330 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef ROM_COM_H +#define ROM_COM_H + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "stat_enc.h" +#include "stat_dec.h" +#include "stl.h" +#include "basop_util.h" + +typedef struct +{ + int32_t fin; /* input frequency */ + int32_t fout; /* output frequency */ + int16_t fac_num; /* numerator of resampling factor */ + const float *filter; /* resampling filter coefficients */ + int16_t filt_len; /* number of filter coeff. */ + uint16_t flags; /* flags from config. table */ +} Resampling_cfg; + +typedef struct +{ + int16_t bands; + int16_t bw; + const int16_t *band_width; + Word32 L_qint; + Word16 eref_fx; + Word16 bit_alloc_weight_fx; + int16_t gqlevs; + int16_t Ngq; + int16_t p2a_bands; + float p2a_th; + float pd_thresh; + float ld_slope; + float ni_coef; + float ni_pd_th; +} Xcore_Config; + +/*-----------------------------------------------------------------* + * Table of bitrates + *-----------------------------------------------------------------*/ + +extern const int32_t brate_tbl[SIZE_BRATE_TBL]; +extern const int32_t brate_intermed_tbl[]; +extern const int32_t acelp_sig_tbl[MAX_ACELP_SIG]; + +/*-----------------------------------------------------------------* + * Bit-allocation tables + *-----------------------------------------------------------------*/ + +extern const int16_t LSF_bits_tbl[]; /* Bit allocation table for end-frame ISF quantizer */ +extern const int16_t mid_LSF_bits_tbl[]; /* Bit allocation table for mid-frame ISF quantizer */ +extern const int16_t Es_pred_bits_tbl[]; /* Bit allocation table for scaled innovation energy prediction */ +extern const int16_t gain_bits_tbl[]; /* Bit allocation table for gain quantizer */ + +extern const int16_t ACB_bits_tbl[]; /* Bit allocation table for adaptive codebook (pitch) */ +extern const int16_t FCB_bits_tbl[]; /* Bit allocation table for algebraic (fixed) codebook (innovation) */ +extern const int16_t reserved_bits_tbl[]; /* Bit allocation table for reseved bits */ + +extern const int16_t ACB_bits_16kHz_tbl[]; /* Bit allocation table for adaptive codebook (pitch) @16kHz */ +extern const int16_t FCB_bits_16kHz_tbl[]; /* Bit allocation table for algebraic (fixed) codebook (innovation) @16kHz */ +extern const int16_t gain_bits_16kHz_tbl[]; /* Bit allocation table for gain quantizer @16kHz */ +extern const int16_t AVQ_bits_16kHz_tbl[]; /* Bit allocation table for AVQ bits @16kHz ACELP, active segments */ + +extern const uint32_t pulsestostates[17][9]; /* Number of states for any combination of pulses in any combination of vector length */ + +extern const uint8_t ACELP_NRG_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; +extern const uint8_t ACELP_NRG_BITS[3]; + +extern const uint8_t ACELP_LTP_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; +extern const uint8_t ACELP_LTP_BITS[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; +extern const uint8_t ACELP_LTP_BITS_SFR[8 + RF_MODE_MAX][5]; + +extern const uint8_t ACELP_LTF_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; +extern const uint8_t ACELP_LTF_BITS[4]; + +extern const uint8_t ACELP_GAINS_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; +extern const uint8_t ACELP_GAINS_BITS[10]; + +extern const uint8_t ACELP_BPF_MODE[RATE_MODE_MAX][BANDWIDTH_MODE_MAX][ACELP_MODE_MAX + RF_MODE_MAX]; +extern const uint8_t ACELP_BPF_BITS[3]; + + +/*----------------------------------------------------------------------------------* + * Pre-processing + *----------------------------------------------------------------------------------*/ + +extern const float inv_tbl[]; /* Table of 1/x values */ + +extern const Resampling_cfg resampling_cfg_tbl[]; /* table of resampling configurations */ +extern const FrameSizeParams FrameSizeConfig[FRAME_SIZE_NB]; + +extern const float h_high[]; /* HP filter for filtering random part of excitation in FEC */ +extern const float crit_bands[]; /* Table of critical bands */ +extern const float sincos_t[]; /* FFT - sinus and cosinus tables */ +extern const float sincos_t_ext[]; +extern const float sincos_t_rad3[]; +extern const int16_t fft256_read_indexes[]; /* FFT */ +extern const float inter4_2[]; /* 1/4 resolution interpolation filter */ +extern const float LP_assym_window[]; /* Assymetric window for LP analysis @12.8kHz */ +extern const float LP_assym_window_16k[]; /* Assymetric window for LP analysis @16kHz */ +extern const float hamcos_window[]; /* Hamming-Cosinus window */ +extern const float grid50[]; /* Table of grid points for evaluating Chebyshev polynomials */ +extern const float grid40[]; /* Table of grid points for evaluating Chebyshev polynomials */ +extern const float grid100[]; /* Table of 100 grid points for evaluating Chebyshev polynomials */ + +extern const float wind_sss[LEN_WIN_SSS]; /* window for modify_sf ana */ +extern const float filter5_39s320_120[]; /* LP FIR filter for 8kHz signal resampling */ + +extern const float lag_window_8k[17]; +extern const float lag_window_12k8[][17]; +extern const float lag_window_16k[][17]; +extern const float lag_window_25k6[][17]; +extern const float lag_window_32k[][17]; +extern const float lag_window_48k[17]; +extern const float interpol_frac2[]; /* LPC interpolation coefficients for two-subframe mode */ +extern const float interpol_frac2_mid[]; /* LPC interpolation coefficients with mid-ISFs for two-subframe mode */ +extern const float interpol_frac_12k8[]; /* LPC interpolation coefficients */ +extern const float interpol_isp_amr_wb[]; /* LPC interpolation coefficients for AMR-WB interoperable mode */ +extern const float interpol_frac_16k[]; /* LPC interpolation coefficients @ 16kHz */ +extern const float interpol_frac_mid[]; /* LPC interpolation coefficients with mid-ISFs */ +extern const float interpol_frac_mid_16k[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz */ +extern const float interpol_frac_mid_relaxprev_12k8[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz - relaxed prev frame interp */ +extern const float interpol_frac_mid_FEC[]; /* LPC interpolation coefficients with mid-ISFs - FEC */ +extern const float interpol_frac_mid_relaxprev_16k[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz - relaxed prev frame interp */ +extern const float interpol_frac_mid_16k_FEC[]; /* LPC interpolation coefficients with mid-ISFs @ 16kHz - FEC */ +extern const float interpol_frac_mid_relaxprev_pred_12k8[]; +extern const float interpol_frac_mid_relaxprev_pred_16k[]; + +extern const float inter6_2[PIT_FIR_SIZE6_2]; +extern const float inter4_2tcx2[4][4]; +extern const float inter6_2tcx2[6][4]; +typedef struct TCX_LTP_FILTER +{ + const float *filt; + int16_t length; +} TCX_LTP_FILTER; +extern const TCX_LTP_FILTER tcxLtpFilters[12]; + +extern const float gain_qua_mless_7b[]; /* Gain quantization - gain quantization table */ +extern const float gain_qua_mless_6b_stereo[]; /* Gain quantization - gain quantization table in IVAS */ +extern const float gain_qua_mless_6b[]; /* Gain quantization - gain quantization table */ +extern const float gain_qua_mless_5b[]; /* Gain quantization - gain quantization table */ +extern const float pred_gain[]; /* Gain quantization - MA predicition coefficients for gain quantizer */ +extern const float t_qua_gain6b[]; /* Gain quantization - gain quantization table for AMR-WB interoperable mode */ +extern const float t_qua_gain7b[]; /* Gain quantization - gain quantization table for AMR-WB interoperable mode */ +extern const float Es_pred_qua_5b[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ +extern const float Es_pred_qua_4b[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ +extern const float Es_pred_qua_3b[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ +extern const float Es_pred_qua_4b_no_ltp[]; /* Gain quantization - quantization table for scaled innovation energy prediciton */ + +extern const float b_1sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ +extern const float b_2sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ +extern const float b_3sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ +extern const float b_4sfr[]; /* Gain quantization - gain estimation constants for gain quantizer at 7.2 and 8.0 kbps */ + +extern const float gp_gamma_1sfr_8b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ + +extern const float gp_gamma_1sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ +extern const float gp_gamma_2sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ +extern const float gp_gamma_3sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ +extern const float gp_gamma_4sfr_7b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ + +extern const float gp_gamma_1sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ +extern const float gp_gamma_2sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ +extern const float gp_gamma_3sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ +extern const float gp_gamma_4sfr_6b[]; /* Gain quantization - gain quantization table for gain quantizer at 7.2 and 8.0 kbps */ + +extern const int16_t E_ROM_qua_gain5b_const[]; +extern const int16_t E_ROM_qua_gain6b_const[]; +extern const int16_t E_ROM_qua_gain7b_const[]; + +extern const float gain_qua_mless[]; + +extern const float tbl_gain_code_tc[]; /* TC - code gain quantization table */ +extern const float tbl_gain_trans_tc[]; /* TC - gain quantization table for g_trans */ +extern const float glottal_cdbk[]; /* TC - table of prototype glottal impulses */ + +extern const int32_t PI_select_table[23][8]; /* selection table for Pulse indexing */ +extern const int32_t PI_offset[8][8]; /* offset table for Pulse indexing */ +extern const int16_t PI_factor[]; /* EVS_PI factor table for Pulse indexing */ + +/* ACELP pulse coding */ +extern const uint16_t low_len[10]; +extern const uint16_t low_mask[10]; +extern const uint16_t indx_fact[10]; +extern const int16_t index_len[3]; +extern const int16_t index_mask_ACELP[3]; + + +extern const float deem_tab[]; /* HF BWE - de-emphasis coefficients */ +extern const float filt_hp[]; +extern const float exp_tab_p[]; /* HF BWE - Table of values exp(-j*w*i) */ +extern const float exp_tab_q[]; /* HF BWE - Table of values exp(-j*w*i) */ +extern const float HP_gain[]; /* HF BWE - quantization table for 23.85 */ +extern const float fir_6k_8k[]; /* HF BWE - band-pass filter coefficients */ + +extern const float b_hp400[]; /* HF (6-7kHz) BWE - 400Hz HP filter coefficients */ +extern const float a_hp400[]; /* HF (6-7kHz) BWE - 400Hz HP filter coefficients */ +extern const float fir_6k_7k[]; /* HF (6-7kHz) BWE - 6.0 - 7.0 kHz BP filter coefficients */ + +extern const float low_H[]; /* Enhacer - 2.0 - 6.4 kHz impulse response with phase dispersion */ +extern const float mid_H[]; /* Enhancer - 3.2 - 6.4 kHz impulse response with phase dispersion */ + +extern const float filt_lp[1 + L_FILT]; +extern const float filt_lp_16kHz[1 + L_FILT16k]; + +extern const float tab_hup_l[SIZ_TAB_HUP_L]; /* NB post-filter */ +extern const float tab_hup_s[SIZ_TAB_HUP_S]; /* NB post-filter */ + +extern const float edct_table_80[]; /* EDCT */ +extern const float edct_table_120[]; /* EDCT */ +extern const float edct_table_320[]; /* EDCT */ +extern const float edct_table_480[]; /* EDCT */ +extern const float edct_table_128[]; /* EDCT */ +extern const float edct_table_160[]; /* EDCT */ +extern const float edct_table_40[]; /* EDCT */ +extern const float edct_table_20[]; /* EDCT */ +extern const float edct_table_64[]; +extern const float edct_table_100[]; /* EDCT */ +extern const float edct_table_200[]; +extern const float edct_table_240[]; +extern const float edct_table_256[]; +extern const float edct_table_400[]; +extern const float edct_table_600[]; /* EDCT */ + +extern const int16_t crit_bins[]; /* (used only in AMR-WB IO mode) */ +extern const float crit_bins_corr[CRIT_NOIS_BAND]; +extern const float crit_bands_loc[]; /* (used only in AMR-WB IO mode) */ +extern const float mfreq_loc_LD[]; /* LD music post-filter */ +extern const int16_t mfreq_bindiv_LD[]; +extern const float post_dct_wind[OFFSET2]; +extern const float MAX_SNR_SNR1_tab[]; +extern const float INV_MAX_SNR_tab[]; +extern const float sc_qnoise[]; + +extern const float W_DTX_HO[HO_HIST_SIZE]; +extern const float ENR_ATT[5]; +extern const float HO_ATT[5]; + +extern const int16_t hq_swb_bwe_nb_bits[]; + +/*----------------------------------------------------------------------------------* + * ISF quantization (AMR-WB IO mode) + *----------------------------------------------------------------------------------*/ + +extern const float mean_isf_amr_wb[M]; /* Mean ISF vector (only in AMR-WB IO mode) */ +extern const float mean_isf_noise_amr_wb[]; /* Mean ISF vector for SID frame (only in AMR-WB IO mode) */ +extern const float gaus_dico[]; /* Gaussian codebook */ +extern const float gaus_dico_swb[]; /* Gaussian codebook for SWB TBE */ + +extern const float dico1_isf[]; /* ISF codebook - common 1st stage, 1st split (only in AMR-WB IO mode) */ +extern const float dico2_isf[]; /* ISF codebook - common 1st stage, 2nd split (only in AMR-WB IO mode) */ + +extern const float dico21_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 1st split (only in AMR-WB IO mode) */ +extern const float dico22_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 2st split (only in AMR-WB IO mode) */ +extern const float dico23_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 3rd split (only in AMR-WB IO mode) */ +extern const float dico24_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 4th split (only in AMR-WB IO mode) */ +extern const float dico25_isf_46b[]; /* ISF codebook - 46b, 2nd stage, 5th split (only in AMR-WB IO mode) */ + +extern const float dico21_isf_36b[]; /* ISF codebook - 36b, 2nd stage, 1st split (only in AMR-WB IO mode) */ +extern const float dico22_isf_36b[]; /* ISF codebook - 36b, 2nd stage, 2nd split (only in AMR-WB IO mode) */ +extern const float dico23_isf_36b[]; /* ISF codebook - 36b, 2nd stage, 3rd split (only in AMR-WB IO mode) */ + +extern const float dico1_ns_28b[]; /* ISF codebook for SID frames - 28b, 1st split */ +extern const float dico2_ns_28b[]; /* ISF codebook for SID frames - 28b, 2nd spilt */ +extern const float dico3_ns_28b[]; /* ISF codebook for SID frames - 28b, 3rd spilt */ +extern const float dico4_ns_28b[]; /* ISF codebook for SID frames - 28b, 4th spilt */ +extern const float dico5_ns_28b[]; /* ISF codebook for SID frames - 28b, 5th spilt */ + +extern const float dico1_cng_ev[]; +extern const float dico2_cng_ev[]; +extern const float dico3_cng_ev[]; +extern const float dico4_cng_ev[]; +extern const float dico5_cng_ev[]; + +/*----------------------------------------------------------------------------------* + * LSF quantization - MSVQ tables + *----------------------------------------------------------------------------------*/ + +extern const float stable_ISP[]; +extern const float stable_LSP[]; +extern const float stable_ISF[]; + +extern const float UVWB_Ave[]; +extern const float UVNB_Ave[]; +extern const float SVWB_Ave[]; +extern const float SVNB_Ave[]; +extern const float IAWB_Ave[]; +extern const float IANB_Ave[]; +extern const float GENB_Ave[]; +extern const float GEWB_Ave[]; +extern const float GEWB2_Ave[]; +extern const float TRWB_Ave[]; +extern const float TRWB2_Ave[]; +extern const float means_wb_cleanspeech_lsf16k0[]; +extern const float means_swb_cleanspeech_lsf25k6[]; +extern const float means_swb_cleanspeech_lsf32k0[]; +extern const float ModeMean12[]; + +extern const float Predictor0[]; +extern const float Predictor1[]; +extern const float Predictor2[]; +extern const float Predictor3[]; +extern const float Predictor4[]; +extern const float Predictor5[]; +extern const float Predictor6[]; +extern const float Predictor7[]; +extern const float Predictor8[]; +extern const float CNG_SN1[]; + +extern const int16_t CB_lsf[]; +extern const int16_t CB_p_lsf[]; +extern const float *const ModeMeans[]; +extern const float *const Predictors[]; +extern const int16_t CBsizes[]; +extern const int16_t CBbits[]; + +extern const int16_t CBbits_p[]; +extern const float vals[NO_LEADERS][MAX_NO_VALS]; +extern const int16_t no_vals[NO_LEADERS]; +extern const int16_t no_vals_ind[NO_LEADERS][MAX_NO_VALS]; +extern const int16_t C_VQ[LATTICE_DIM + 1][LATTICE_DIM + 1]; +extern const int16_t BitsVQ[]; +extern const int16_t BitsVQ_p[]; +extern const UWord8 no_lead_idx[][2]; +extern const UWord8 no_lead_p_idx[][2]; +extern const Word8 leaders_short[][MAX_NO_SCALES]; +extern const float sigma_MSLVQ[][16]; +extern const float sigma_p[][16]; +extern const float inv_sigma_MSLVQ[][16]; +extern const float inv_sigma_p[][16]; +extern const float scales[][MAX_NO_SCALES * 2]; +extern const float scales_p[][MAX_NO_SCALES * 2]; +extern const int16_t predmode_tab[][6]; +extern const float pl_HQ[]; +extern const int16_t pi0[]; +extern const UWord32 table_no_cv[]; +extern const int16_t pl_par[]; +extern const float *const Quantizers[]; +extern const float *const Quantizers_p[]; +extern const int16_t cng_sort[]; +extern const int16_t perm_MSLVQ[][4]; +extern const int16_t min_lat_bits_SN[]; +extern const int16_t min_lat_bits_pred[]; +extern const int16_t offset_in_lvq_mode_SN[][21]; +extern const int16_t offset_in_lvq_mode_pred[][32]; +extern const int16_t offset_lvq_modes_SN[]; +extern const int16_t offset_lvq_modes_pred[]; + +/*-----------------------------------------------------------------* + * LSF quantization - BC-TCVQ tables + *-----------------------------------------------------------------*/ + +extern const int16_t FixBranch_tbl[4][4][N_STAGE_VQ - 4]; + +extern const int16_t BC_TCVQ_BIT_ALLOC_40B[]; + +extern const int16_t NTRANS[4][16]; +extern const int16_t NTRANS2[4][16]; + +extern const float AR_IntraCoeff[N_STAGE_VQ - 1][2][2]; +extern const float SN_IntraCoeff[N_STAGE_VQ - 1][2][2]; + +extern const float scale_ARSN[]; +extern const float scale_inv_ARSN[]; + +extern const float AR_TCVQ_CB_SUB1[2][128][2]; +extern const float AR_TCVQ_CB_SUB2[2][64][2]; +extern const float AR_TCVQ_CB_SUB3[4][32][2]; + +extern const float SN_TCVQ_CB_SUB1[2][128][2]; +extern const float SN_TCVQ_CB_SUB2[2][64][2]; +extern const float SN_TCVQ_CB_SUB3[4][32][2]; + +extern const float AR_SVQ_CB1[32][8]; +extern const float AR_SVQ_CB2[16][8]; + + +extern const int16_t uniform_model[]; + +/*-----------------------------------------------------------------* + * LSF quantization - mid-frame quantization tables + *-----------------------------------------------------------------*/ + +extern const float tbl_mid_gen_wb_2b[]; +extern const float tbl_mid_gen_wb_4b[]; +extern const float tbl_mid_gen_wb_5b[]; + +extern const float tbl_mid_unv_wb_4b[]; +extern const float tbl_mid_unv_wb_5b[]; + +extern const float tbl_mid_voi_wb_1b[]; +extern const float tbl_mid_voi_wb_4b[]; +extern const float tbl_mid_voi_wb_5b[]; + +/*-----------------------------------------------------------------* + * LSF quantization - Mode 2 quantization tables + *-----------------------------------------------------------------*/ + +extern const float lsf_init[16]; +extern const float means_wb_31bits_ma_lsf[16]; +extern const float means_nb_31bits_ma_lsf[16]; +extern const float *const lsf_means[2]; +extern const float *const lsf_codebook[2][2][TCXLPC_NUMSTAGES]; +extern const int16_t lsf_numbits[TCXLPC_NUMSTAGES]; +extern const int16_t lsf_dims[TCXLPC_NUMSTAGES]; +extern const int16_t lsf_offs[TCXLPC_NUMSTAGES]; + +extern const float dico_lsf_abs_8b[]; + +extern const float lsf_q_diff_cb_8b_rf[]; +extern const float lsf_cdk_nb_gc_stg1[]; +extern const float lsf_cdk_nb_gc_stg2[]; +extern const float lsf_cdk_nb_gc_stg3[]; +extern const float lsf_ind_cdk_nb_gc_stg4[]; +extern const float lsf_cdk_nb_vc_stg1[]; +extern const float lsf_cdk_nb_vc_stg2[]; +extern const float lsf_cdk_nb_vc_stg3[]; +extern const float lsf_ind_cdk_nb_vc_stg4[]; +extern const float lsf_cdk_wb_gc_stg1[]; +extern const float lsf_cdk_wb_gc_stg2[]; +extern const float lsf_cdk_wb_gc_stg3[]; +extern const float lsf_ind_cdk_wb_gc_stg4[]; +extern const float lsf_cdk_wb_vc_stg1[]; +extern const float lsf_cdk_wb_vc_stg2[]; +extern const float lsf_cdk_wb_vc_stg3[]; +extern const float lsf_ind_cdk_wb_vc_stg4[]; + +extern const float *const lsf_ind_codebook[2][2][TCXLPC_IND_NUMSTAGES]; +extern const int16_t lsf_ind_numbits[TCXLPC_IND_NUMSTAGES]; +extern const int16_t lsf_ind_dims[TCXLPC_IND_NUMSTAGES]; +extern const int16_t lsf_ind_offs[TCXLPC_IND_NUMSTAGES]; +extern const Word16 min_distance_thr[2][2]; + +typedef float lsp_unw_triplet[3]; +extern const lsp_unw_triplet p16_gamma0_92to1[16]; +extern const lsp_unw_triplet p16_gamma0_94to1[16]; + + +/*------------------------------------------------------------------------------* + * AVQ - RE8 tables + *------------------------------------------------------------------------------*/ + +extern const int16_t select_table22[][9]; +extern const int16_t vals_a[][4]; /* value of leader element */ +extern const int16_t vals_q[][4]; /* code parameter for every leader */ +extern const uint16_t Is[]; /* codebook start address for every leader */ +extern const int16_t AA3[]; /* A3 - Number of the absolute leaders in codebook Q3 */ +extern const int16_t AA4[]; /* A4 - Number of the absolute leaders in codebook Q4 */ +extern const uint16_t II3[]; /* I3 - Cardinality offsets for absolute leaders in Q3 */ +extern const uint16_t II4[]; /* I4 - Cardinality offset for absolute leaders in Q4 */ +extern const int16_t Da_pos[]; /* Position of the first absolute leader on a spherical shell (or sphere) */ +extern const int16_t Da_nb[]; /* Number of absolute leaders on a spherical shell */ +extern const int16_t Da_id[]; /* identification code of an absolute leader */ +extern const int16_t Da_nq[]; /* Codebook number for each absolute leader */ + +/*------------------------------------------------------------------------------* + * SWB TBE tables + *------------------------------------------------------------------------------*/ + +extern const int16_t skip_bands_SWB_TBE[]; /* bands for SWB TBE quantisation */ +extern const int16_t skip_bands_WB_TBE[]; /* bands for WB TBE quantisation */ + +extern const float interpol_frac_shb[]; + +extern const float AP1_STEEP[]; /* All pass filter coeffs for interpolation and decimation by a factor of 2 */ +extern const float AP2_STEEP[]; /* All pass filter coeffs for interpolation and decimation by a factor of 2 */ +extern const float STEPS[]; /* Granuality in conversion from lpc to lsp */ + +extern const float cos_fb_exc[]; +extern const float recip_order[]; + +extern const float win_lpc_shb[]; /* Window for calculating SHB LPC coeffs */ +extern const float win_lpc_hb_wb[]; +extern const float ola_win_shb_switch_fold[]; +extern const float win_flatten[]; /* Window for calculating whitening filter for SHB excitation */ +extern const float win_flatten_4k[]; /* Window for calculating whitening filter for WB excitation */ +extern const float window_shb[]; /* Overlap add window for SHB excitation used in anal and synth */ +extern const float window_shb_32k[]; /* Upsampled overlap add window for SHB excitation used transition generation */ +extern const float subwin_shb[]; /* Short overlap add window for SHB excitation used in anal and synth */ +extern const float window_wb[]; +extern const float subwin_wb[]; /* Short overlap add window for SHB excitation used in anal and synth */ + +extern const float Hilbert_coeffs[4 * NUM_HILBERTS][HILBERT_ORDER1 + 1]; + +extern const float wac[]; +extern const float wac_swb[]; + +extern const float wb_bwe_lsfvq_cbook_8bit[]; +extern const float lbr_wb_bwe_lsfvq_cbook_2bit[]; +extern const float swb_tbe_lsfvq_cbook_8b[]; +extern const float SHBCB_SubGain5bit[]; /* 5 bit Quantizer table for SHB gain shapes */ +extern const float SHBCB_SubGain5bit_Linear[]; +extern const float HBCB_SubGain5bit[]; /* 5-bit TD WB BWE temporal shaping codebook */ +extern const float SHBCB_FrameGain64[]; /* 6 bit Quantizer table for SHB overall gain */ +extern const float SHBCB_FrameGain16[]; + +extern const float full_band_bpf_1[][5]; +extern const float full_band_bpf_2[][5]; +extern const float full_band_bpf_3[][5]; + +extern const float lsf_q_cb_4b[]; /* 4 bit differential scalar quantizer table for TD SWB BWE LSFs 1 and 2*/ +extern const float lsf_q_cb_3b[]; /* 3 bit differential scalar quantizer table for TD SWB BWE LSFs 3, 4 and 5*/ +extern const float *const lsf_q_cb[]; /* Codebook array for each LSF */ +extern const int16_t lsf_q_cb_size[]; /* Size of each element of the above */ +extern const int16_t lsf_q_num_bits[]; /* Size of each element of the above, in bits */ +extern const float mirror_point_q_cb[]; /* LSF mirroring point codebook */ +extern const float lsf_grid[4][5]; /* LSF mirroring adjustment grid */ +extern const float grid_smoothing[]; /* LSF mirroring smoothing table */ + +extern const float overlap_coefs[]; /* HR SWB BWE - overlap coefficients */ +extern const float overlap_coefs_48kHz[]; /* HR SWB BWE - overlap coefficients @48kHz */ +extern const float swb_hr_env_code1[]; /* HR SWB BWE - envelope Q table - first two subabnds in non-transient frames */ +extern const float swb_hr_env_code2[]; /* HR SWB BWE - envelope Q table - second two subabnds in non-transient frames*/ +extern const float swb_hr_env_code3[]; /* HR SWB BWE - envelope Q table - two subabnds in transient frames */ + +extern const float allpass_poles_3_ov_2[]; +extern const float decimate_3_ov_2_lowpass_num[]; +extern const float decimate_3_ov_2_lowpass_den[]; + + +/*------------------------------------------------------------------------------* + * WB BWE tables + *------------------------------------------------------------------------------*/ + +extern const float F_2_5[64]; + +/*------------------------------------------------------------------------------* + * SWB BWE tables + *------------------------------------------------------------------------------*/ + +extern const int16_t swb_bwe_trans_subband[]; +extern const int16_t swb_bwe_trans_subband_width[]; +extern const int16_t swb_bwe_subband[]; +extern const float swb_inv_bwe_subband_width[]; +extern const int16_t swb_bwe_sm_subband[]; +extern const float smooth_factor[]; +extern const int16_t fb_bwe_subband[]; +extern const float fb_inv_bwe_subband_width[]; +extern const int16_t fb_bwe_sm_subband[]; +extern const float fb_smooth_factor[]; +extern const float EnvCdbk11[]; +extern const float EnvCdbk1st[]; +extern const float EnvCdbk2nd[]; +extern const float EnvCdbk3rd[]; +extern const float EnvCdbk4th[]; +extern const float EnvCdbkFB[]; +extern const float Env_TR_Cdbk1[]; +extern const float Env_TR_Cdbk2[]; +extern const float w_NOR[]; +extern const float Mean_env[]; +extern const float Mean_env_fb[]; +extern const float Mean_env_tr[]; + +/*------------------------------------------------------------------------------* + * ACEPL/HQ core switching tables + *------------------------------------------------------------------------------*/ + +extern const float hp12800_32000[]; +extern const float hp16000_32000[]; +extern const float hp12800_48000[]; +extern const float hp16000_48000[]; +extern const float hp12800_16000[]; + + +extern const double cu15[28][3]; +extern const double cu4[6][3]; +extern const int16_t ct2[7][13]; + +/*------------------------------------------------------------------------------* + * HQ core tables + *------------------------------------------------------------------------------*/ + +extern const float window_48kHz[]; +extern const float window_256kHz[]; +extern const float half_overlap_25[]; +extern const float half_overlap_48[]; +extern const float half_overlap_int[]; +extern const float small_overlap_25[]; +extern const float small_overlap_48[]; +extern const float small_overlap_int[]; +extern const float window_8_16_32kHz[]; + +extern const float short_window_48kHz[]; +extern const float short_window_32kHz[]; +extern const float short_window_16kHz[]; +extern const float short_window_8kHz[]; + +extern const float wscw16q15[]; +extern const float wscw16q15_8[]; +extern const float wscw16q15_16[]; +extern const float wscw16q15_32[]; + +/* Band structure */ +extern const int16_t band_len_HQ[]; +extern const int16_t band_start_HQ[]; +extern const int16_t band_end_HQ[]; +extern const int16_t band_len_wb[]; +extern const int16_t band_start_wb[]; +extern const int16_t band_end_wb[]; +extern const int16_t band_len_harm[]; +extern const int16_t band_start_harm[]; +extern const int16_t band_end_harm[]; +extern const float rat[SFM_N_WB]; + +extern const int16_t intl_bw_16[N_INTL_GRP_16]; +extern const int16_t intl_bw_32[N_INTL_GRP_32]; +extern const int16_t intl_bw_48[N_INTL_GRP_48]; +extern const int16_t intl_cnt_16[N_INTL_GRP_16]; +extern const int16_t intl_cnt_32[N_INTL_GRP_32]; +extern const int16_t intl_cnt_48[N_INTL_GRP_48]; +extern const int16_t norm_order_48[NB_SFM]; +extern const int16_t norm_order_32[SFM_N_SWB]; +extern const int16_t norm_order_16[SFM_N_WB]; + +extern const float dicn_pg[45]; +extern const int16_t expPkEnrg_tbl[45]; +extern const int32_t manPkEnrg_tbl[45]; +extern const int32_t E_max5_tbl[40]; + +extern const float thren_pg[44]; + +extern const float dicn[40]; +extern const float dicn_inv[40]; +extern const float thren_HQ[39]; +extern const int16_t dicnlg2[40]; +extern const int16_t huffnorm[32]; +extern const int16_t huffsizn[32]; +extern const int16_t huffcoef[60]; +extern const int16_t pgain_huffnorm[32]; +extern const int16_t pgain_huffsizn[32]; + +extern const int16_t resize_huffnorm[32]; +extern const int16_t resize_huffsizn[32]; + +extern const int16_t huffnorm_tran[32]; +extern const int16_t huffsizn_tran[32]; + +extern const int16_t sfm_width[20]; +extern const int16_t a_map[20]; +extern const int16_t subf_norm_groups[4][11]; + +extern const Word32 SQRT_DIM_fx[]; + +/* HQ inner_frame signallisation table */ +extern const int16_t inner_frame_tbl[]; + +/* HQ spectrum length lookup tables */ +extern const int16_t l_spec_tbl[]; +extern const int16_t l_spec_ext_tbl[]; + +/* NB short win: 7200/8000/9600, 13200/16400 */ +extern const int16_t band_width_40_4_6_0_0_0[4]; +extern const int16_t band_width_40_5_6_0_0_0[5]; + +/* NB long win: 7200, 8000, 9600, 13200, 16400 */ +extern const int16_t band_width_160_18_6_4_0_0[18]; +extern const int16_t band_width_160_17_6_3_0_0[17]; +extern const int16_t band_width_160_14_6_3_0_0[14]; +extern const int16_t band_width_160_13_6_2_0_0[13]; + +/* WB short win: 13200/16400 */ +extern const int16_t band_width_80_7_6_0_0_0[7]; + +/* WB long win: 13200, 16400 */ +extern const int16_t band_width_320_18_6_3_0_0[18]; +extern const int16_t band_width_320_20_6_3_0_0[20]; + +/* SWB short win: 13200, 16400 */ +extern const int16_t band_width_142_8_8_0_0_0[8]; +extern const int16_t band_width_160_8_8_0_0_0[8]; + +/* SWB long win: 13200, 16400 */ +extern const int16_t band_width_568_22_6_2_0_0[22]; +extern const int16_t band_width_640_24_6_4_0_0[24]; + +/* LR-MDCT configuration tables */ +extern const Xcore_Config xcore_config_8kHz_007200bps_long; +extern const Xcore_Config xcore_config_8kHz_008000bps_long; +extern const Xcore_Config xcore_config_8kHz_013200bps_long; +extern const Xcore_Config xcore_config_8kHz_016400bps_long; + +extern const Xcore_Config xcore_config_8kHz_007200bps_short; +extern const Xcore_Config xcore_config_8kHz_008000bps_short; +extern const Xcore_Config xcore_config_8kHz_013200bps_short; +extern const Xcore_Config xcore_config_8kHz_016400bps_short; + +extern const Xcore_Config xcore_config_16kHz_013200bps_long; +extern const Xcore_Config xcore_config_16kHz_016400bps_long; + +extern const Xcore_Config xcore_config_16kHz_013200bps_short; +extern const Xcore_Config xcore_config_16kHz_016400bps_short; + +extern const Xcore_Config xcore_config_32kHz_013200bps_long; +extern const Xcore_Config xcore_config_32kHz_016400bps_long; + +extern const Xcore_Config xcore_config_32kHz_013200bps_short; +extern const Xcore_Config xcore_config_32kHz_016400bps_short; + + +extern const int16_t Nb[NB_SFM]; +extern const int16_t LNb[NB_SFM]; + +extern const Word32 pow_getbitsfrompulses_fx[16]; +extern const Word32 table_logcum_fx[563]; +extern const Word16 DDP_fx[4]; +extern const float DDP[4]; + + +extern const int16_t step_tcq[8][STATES]; +extern const int16_t denc[8][STATES]; +extern const int16_t ddec[8][STATES]; + +extern const int16_t step_LSB[STATES_LSB][2]; +extern const int16_t denc_LSB[STATES_LSB][2]; +extern const int16_t dqnt_LSB[STATES_LSB][4]; +extern const int16_t dstep_LSB[4][2]; +extern const int16_t ddec_LSB[4][2]; + +extern const int16_t nextstate[STATES][2]; + +extern const int16_t fine_gain_bits[]; +extern const float *const finegain[]; + +extern const uint8_t hBitsMinus1_N01[2]; +extern const uint8_t hBitsMinus1_N02[65]; +extern const uint8_t hBitsMinus1_N03[65]; +extern const uint8_t hBitsMinus1_N04[65]; +extern const uint8_t hBitsMinus1_N05[54]; +extern const uint8_t hBitsMinus1_N06[42]; +extern const uint8_t hBitsMinus1_N07[34]; +extern const uint8_t hBitsMinus1_N08[29]; +extern const uint8_t hBitsMinus1_N09[25]; +extern const uint8_t hBitsMinus1_N10[22]; +extern const uint8_t hBitsMinus1_N11[19]; +extern const uint8_t hBitsMinus1_N12[17]; +extern const uint8_t hBitsMinus1_N13[16]; +extern const uint8_t hBitsMinus1_N14[14]; +extern const uint8_t hBitsMinus1_N15[13]; +extern const uint8_t hBitsMinus1_N16[13]; +extern const uint8_t hBitsMinus1_N17[12]; +extern const uint8_t hBitsMinus1_N18[12]; +extern const uint8_t hBitsMinus1_N19[11]; +extern const uint8_t hBitsMinus1_N20[11]; +extern const uint8_t hBitsMinus1_N21[10]; +extern const uint8_t hBitsMinus1_N22[10]; +extern const uint8_t hBitsMinus1_N23[10]; +extern const uint8_t hBitsMinus1_N24[10]; +extern const uint8_t hBitsMinus1_N25[9]; +extern const uint8_t hBitsMinus1_N26[9]; +extern const uint8_t hBitsMinus1_N27[9]; +extern const uint8_t hBitsMinus1_N28[9]; +extern const uint8_t hBitsMinus1_N29[9]; +extern const uint8_t hBitsMinus1_N30[8]; +extern const uint8_t hBitsMinus1_N31[8]; +extern const uint8_t hBitsMinus1_N32[8]; +extern const uint8_t hBitsMinus1_N33[8]; +extern const uint8_t hBitsMinus1_N34[8]; +extern const uint8_t hBitsMinus1_N35[8]; +extern const uint8_t hBitsMinus1_N36[8]; +extern const uint8_t hBitsMinus1_N37[8]; +extern const uint8_t hBitsMinus1_N38[8]; +extern const uint8_t hBitsMinus1_N39[8]; +extern const uint8_t hBitsMinus1_N40[8]; +extern const uint8_t hBitsMinus1_N41[7]; +extern const uint8_t hBitsMinus1_N42[7]; +extern const uint8_t hBitsMinus1_N43[7]; +extern const uint8_t hBitsMinus1_N44[7]; +extern const uint8_t hBitsMinus1_N45[7]; +extern const uint8_t hBitsMinus1_N46[7]; +extern const uint8_t hBitsMinus1_N47[7]; +extern const uint8_t hBitsMinus1_N48[7]; +extern const uint8_t hBitsMinus1_N49[7]; +extern const uint8_t hBitsMinus1_N50[7]; +extern const uint8_t hBitsMinus1_N51[7]; +extern const uint8_t hBitsMinus1_N52[7]; +extern const uint8_t hBitsMinus1_N53[7]; +extern const uint8_t hBitsMinus1_N54[7]; +extern const uint8_t hBitsMinus1_N55[7]; +extern const uint8_t hBitsMinus1_N56[7]; +extern const uint8_t hBitsMinus1_N57[7]; +extern const uint8_t hBitsMinus1_N58[7]; +extern const uint8_t hBitsMinus1_N59[7]; +extern const uint8_t hBitsMinus1_N60[7]; +extern const uint8_t hBitsMinus1_N61[6]; +extern const uint8_t hBitsMinus1_N62[6]; +extern const uint8_t hBitsMinus1_N63[6]; +extern const uint8_t hBitsMinus1_N64[6]; +extern const uint8_t *const hBitsN[65]; +extern const int16_t dsHighDiracsTab[43]; +extern const uint32_t intLimCDivInvDQ31[68]; +extern const uint8_t obtainEnergyQuantizerDensity_f[57]; +extern const int16_t lim_neg_inv_tbl_fx[11]; +extern const int16_t fg_inv_tbl_fx[13]; + +/* functions and tables for pvq_indexing */ +extern const uint32_t exactdivodd[ODD_DIV_SIZE]; + +extern const float gain_att[]; +extern const float att_step[]; +extern const float gain_qlow[]; +extern const int16_t gain_cb_size[]; +extern const float stab_trans[]; +extern const Word16 stab_trans_fx[]; +extern const float env_stab_tp[2][2]; + +/*----------------------------------------------------------------------------------* + * SWB BWE for LR MDCT core + *----------------------------------------------------------------------------------*/ +extern const float gain_table_SWB_BWE[NB_SWB_SUBBANDS]; +/* HQ_NORMAL mode */ +extern const int16_t bits_lagIndices_modeNormal[NB_SWB_SUBBANDS]; +extern const int16_t subband_offsets_12KBPS[NB_SWB_SUBBANDS]; +extern const int16_t subband_offsets_16KBPS[NB_SWB_SUBBANDS]; +extern const int16_t subband_search_offsets[NB_SWB_SUBBANDS]; +extern const int16_t bw_SPT_tbl[2][SPT_SHORTEN_SBNUM]; + +/* HQ_HARMONIC mode */ +extern const int16_t bits_lagIndices_mode0_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; +extern const int16_t subband_offsets_sub5_13p2kbps_Har[NB_SWB_SUBBANDS_HAR]; +extern const int16_t subband_search_offsets_13p2kbps_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; +extern const int16_t subband_offsets_sub5_16p4kbps_Har[NB_SWB_SUBBANDS_HAR]; +extern const int16_t subband_search_offsets_16p4kbps_Har[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; + +/*----------------------------------------------------------------------------------* + * SC-VBR + *----------------------------------------------------------------------------------*/ + +/* NELP filter coefficients */ +extern const float bp1_num_coef_wb[5]; +extern const float bp1_den_coef_wb[5]; +extern const float shape1_num_coef[11]; +extern const float shape1_den_coef[11]; +extern const float shape2_num_coef[11]; +extern const float shape2_den_coef[11]; +extern const float shape3_num_coef[11]; +extern const float shape3_den_coef[11]; +extern const float txlpf1_num_coef[11]; +extern const float txlpf1_den_coef[11]; +extern const float txhpf1_num_coef[11]; +extern const float txhpf1_den_coef[11]; +extern const float bp1_num_coef_nb_fx_order7[8]; +extern const float bp1_den_coef_nb_fx_order7[8]; +extern const float num_nelp_lp[NELP_LP_ORDER + 1]; +extern const float den_nelp_lp[NELP_LP_ORDER + 1]; + +extern const float UVG1CB_WB[UVG1_CBSIZE][2]; +extern const float UVG2CB1_WB[UVG2_CBSIZE][5]; +extern const float UVG2CB2_WB[UVG2_CBSIZE][5]; + +extern const float UVG1CB_NB[UVG1_CBSIZE][2]; +extern const float UVG2CB1_NB[UVG2_CBSIZE][5]; +extern const float UVG2CB2_NB[UVG2_CBSIZE][5]; + +extern const float frac_4sf[NB_SUBFR + 2]; + +extern const float erb_WB[NUM_ERB_WB + 1]; +extern const float erb_NB[NUM_ERB_NB + 1]; + +extern const float AmpCB1_WB[64][10]; +extern const float AmpCB2_WB[64][NUM_ERB_WB - 11]; + +extern const float AmpCB1_NB[64][10]; +extern const float AmpCB2_NB[64][NUM_ERB_NB - 11]; + +extern const float PowerCB_WB[64][2]; +extern const float PowerCB_NB[64][2]; +extern const float sinc[8][12]; + +extern const float hvq_thr_adj[5]; +extern const float hvq_peak_cb[1024]; +extern const float hvq_class_c[16]; +extern const int16_t hvq_cb_search_overlap24k[17]; +extern const int16_t hvq_cb_search_overlap32k[21]; + +extern const int16_t hvq_pg_huff_offset[NUM_PG_HUFFLEN]; +extern const int16_t hvq_pg_huff_thres[NUM_PG_HUFFLEN]; +extern const int16_t hvq_pg_huff_tab[32]; + +extern const int16_t hvq_cp_huff_len[52]; +extern const int16_t hvq_cp_huff_val[52]; +extern const int16_t hvq_cp_layer1_map5[HVQ_CP_MAP_LEN]; + +extern const int16_t hvq_cp_huff_thres[HVQ_CP_HUFF_NUM_LEN]; +extern const int16_t hvq_cp_huff_offset[HVQ_CP_HUFF_NUM_LEN]; +extern const int16_t hvq_cp_huff_tab[52]; + +/*------------------------------------------------------------------------------* + * GSC mode + *------------------------------------------------------------------------------*/ + +extern const float sin_table256[]; + +extern const int16_t gsc_sfm_start[]; +extern const int16_t gsc_sfm_end[]; +extern const int16_t gsc_sfm_size[]; + +extern const float sm_table[]; + +extern const float mfreq_loc[]; +extern const int16_t mfreq_bindiv_loc[]; + +extern const float mean_gp[]; +extern const float dic_gp[]; + +extern const float Gain_mean[]; +extern const float Gain_meanHR[]; +extern const float Gain_mean_dic[]; +extern const float Gain_mean_dicHR[]; + +extern const float YG_mean16[]; +extern const float YG_dicMR_1[]; +extern const float YG_dicMR_2[]; +extern const float YG_dicMR_3[]; +extern const float YG_dicMR_4[]; + +extern const float mean_m[]; +extern const float mean_gain_dic[]; + +extern const float YGain_mean_LR[]; +extern const float YGain_dic1_LR[]; +extern const float YGain_dic2_LR[]; +extern const float YGain_dic3_LR[]; +extern const float Gain_dic2_NBHR[]; +extern const float Gain_dic3_NBHR[]; +extern const float YG_mean16HR[]; +extern const float YG_dicHR_1[]; +extern const float YG_dicHR_2[]; +extern const float YG_dicHR_3[]; +extern const float YG_mean16HR_16kHz[]; +extern const float YG_dicHR_4_16kHz[]; +extern const float YG_meanL2G_16kHz[]; +extern const float YG_dicL2G_16kHz[]; +extern const int16_t GSC_freq_bits[]; +extern const int16_t GSC_freq_DL0_bits[]; +extern const int16_t Compl_GSC_freq_bits[]; +extern const float Gain_meanNB[]; +extern const float Gain_mean_dicNB[]; +extern const float Mean_dic_NB[]; +extern const float Gain_dic1_NB[]; +extern const float Gain_dic2_NB[]; +extern const float Gain_dic3_NB[]; + + +/*------------------------------------------------------------------------------* + * FFT transform + *------------------------------------------------------------------------------*/ + +extern const int16_t Odx_fft64[64]; +extern const float w_fft64[32]; +extern const int16_t Ip_fft64[6]; +extern const int16_t Odx_fft32_15[32]; +extern const float w_fft32[16]; +extern const int16_t Ip_fft32[6]; +extern const int16_t Odx_fft32_5[32]; +extern const int16_t Odx_fft16[16]; +extern const float w_fft16[8]; +extern const int16_t Ip_fft16[6]; +extern const float w_fft8[8]; +extern const int16_t Ip_fft8[6]; +extern const int16_t Idx_dortft80[80]; +extern const int16_t Idx_dortft120[120]; +extern const int16_t Idx_dortft160[160]; +extern const int16_t Idx_dortft320[320]; +extern const int16_t Idx_dortft480[480]; +extern const int16_t Ip_fft128[10]; +extern const float w_fft128[64]; +extern const int16_t Ip_fft256[10]; +extern const float w_fft256[128]; +extern const int16_t Ip_fft512[18]; +extern const float w_fft512[256]; +extern const int16_t Idx_dortft40[40]; +extern const int16_t Odx_fft8_5[8]; +extern const int16_t ip_edct2_64[6]; +extern const float w_edct2_64[80]; +extern const int16_t Idx_dortft20[20]; +extern const int16_t Odx_fft4_5[4]; +extern const float w_fft4[2]; +extern const int16_t Ip_fft4[6]; + +extern const float FFT_RotVector_32[40]; +extern const float FFT_RotVector_256[448]; +extern const float FFT_RotVector_400[760]; +extern const float FFT_RotVector_600[1140]; +extern const float FFT_RotVector_640[1240]; +extern const float FFT_RotVector_960[1860]; + + +/*----------------------------------------------------------------------------------* + * FEC for HQ core + *----------------------------------------------------------------------------------*/ + +extern const float Asr_LP32[41]; +extern const float Asr_LP16[21]; +extern const float Asr_LP48[61]; + +extern const int16_t Num_bands_NB[]; +extern const float SmoothingWin_NB875[]; +extern const float SmoothingWin_NB2[]; + +/*----------------------------------------------------------------------------------* + * CLDFB + *----------------------------------------------------------------------------------*/ + +extern const int16_t freqTable[2]; + +extern const float CLDFB80_10[100]; +extern const float CLDFB80_16[160]; +extern const float CLDFB80_20[200]; +extern const float CLDFB80_30[300]; +extern const float CLDFB80_32[320]; +extern const float CLDFB80_40[400]; +extern const float CLDFB80_60[600]; + +/*5ms delay*/ +extern const float LDQMF_10[100]; +extern const float LDQMF_16[160]; +extern const float LDQMF_20[200]; +extern const float LDQMF_30[300]; +extern const float LDQMF_32[320]; +extern const float LDQMF_40[400]; +extern const float LDQMF_60[600]; +extern const float rot_vec_delay_re_LDQMF[60]; +extern const float rot_vec_delay_im_LDQMF[60]; + +extern const float rot_vec_ana_re_L10[5]; +extern const float rot_vec_ana_im_L10[5]; +extern const float rot_vec_ana_re_L16[8]; +extern const float rot_vec_ana_im_L16[8]; +extern const float rot_vec_ana_re_L20[10]; +extern const float rot_vec_ana_im_L20[10]; +extern const float rot_vec_ana_re_L30[15]; +extern const float rot_vec_ana_im_L30[15]; +extern const float rot_vec_ana_re_L32[16]; +extern const float rot_vec_ana_im_L32[16]; +extern const float rot_vec_ana_re_L40[20]; +extern const float rot_vec_ana_im_L40[20]; +extern const float rot_vec_ana_re_L60[30]; +extern const float rot_vec_ana_im_L60[30]; + +extern const float rot_vec_syn_re_L10[5]; +extern const float rot_vec_syn_im_L10[5]; +extern const float rot_vec_syn_re_L16[8]; +extern const float rot_vec_syn_im_L16[8]; +extern const float rot_vec_syn_re_L20[10]; +extern const float rot_vec_syn_im_L20[10]; +extern const float rot_vec_syn_re_L30[15]; +extern const float rot_vec_syn_im_L30[15]; +extern const float rot_vec_syn_re_L32[16]; +extern const float rot_vec_syn_im_L32[16]; +extern const float rot_vec_syn_re_L40[20]; +extern const float rot_vec_syn_im_L40[20]; +extern const float rot_vec_syn_re_L60[30]; +extern const float rot_vec_syn_im_L60[30]; + +extern const float bpf_weights_16[CLDFB_NO_COL_MAX]; + +extern const float CNG_details_codebook[64][NUM_ENV_CNG]; + + +/*----------------------------------------------------------------------------------* + * FD CNG + *----------------------------------------------------------------------------------*/ + +extern const int16_t d_array[SIZE_SCALE_TABLE_CN]; +extern const float m_array[SIZE_SCALE_TABLE_CN]; +extern const float msQeqInvAv_thresh[3]; +extern const float msNoiseSlopeMax[4]; + +extern const SCALE_SETUP scaleTableStereo[SIZE_SCALE_TABLE_STEREO]; +extern const SCALE_SETUP scaleTableMono[SIZE_SCALE_TABLE_MONO]; +extern const SCALE_SETUP scaleTable_cn_only[SIZE_SCALE_TABLE_CN]; +extern const SCALE_SETUP scaleTable_cn_dirac[15]; +extern const float scaleTable_cn_only_amrwbio[SIZE_SCALE_TABLE_CN_AMRWB][2]; + +extern const int16_t sidparts_encoder_noise_est[SIZE_SIDPARTS_ENC_NOISE_EST]; + + +extern const FD_CNG_SETUP FdCngSetup_nb; +extern const FD_CNG_SETUP FdCngSetup_wb1; +extern const FD_CNG_SETUP FdCngSetup_wb2; +extern const FD_CNG_SETUP FdCngSetup_wb3; +extern const FD_CNG_SETUP FdCngSetup_swb1; +extern const FD_CNG_SETUP FdCngSetup_swb1_stereo; +extern const FD_CNG_SETUP FdCngSetup_swb2; + +extern const int16_t levels_37bits[FD_CNG_stages_37bits]; +extern const int16_t bits_37bits[FD_CNG_stages_37bits]; +extern const float *const cdk_37bits[]; +extern const float *const cdk_37bits_ivas[]; + +extern const float fftSineTab640[321]; + +extern const float olapWinAna512[512]; +extern const float olapWinAna640[640]; + +extern const float olapWinSyn256[256]; +extern const float olapWinSyn320[320]; + + +/*----------------------------------------------------------------------------------* + * TCX + *----------------------------------------------------------------------------------*/ + +extern const float gain_corr_fac[]; +extern const float gain_corr_inv_fac[]; + +extern const SCALE_TCX_SETUP scaleTcxTable[SIZE_SCALE_TABLE_TCX]; + + +/*----------------------------------------------------------------------------------* + * Arithmetic coder + *----------------------------------------------------------------------------------*/ + +extern const uint8_t ari_lookup_s17_LC[4096]; +extern const uint16_t ari_pk_s17_LC_ext[64][18]; + +extern const int16_t NumRatioBits[2][17]; +extern const float Ratios_WB_2[32]; +extern const float Ratios_WB_3[32]; +extern const float Ratios_WB_4[32]; +extern const float Ratios_WB_5[32]; +extern const float Ratios_WB_6[32]; +extern const float Ratios_WB_7[32]; +extern const float Ratios_WB_8[16]; +extern const float Ratios_WB_9[16]; +extern const float Ratios_WB_10[16]; +extern const float Ratios_WB_11[16]; +extern const float Ratios_WB_12[16]; +extern const float Ratios_WB_13[16]; +extern const float Ratios_WB_14[16]; +extern const float Ratios_WB_15[16]; +extern const float Ratios_WB_16[4]; +extern const float Ratios_WB_17[4]; +extern const float Ratios_WB_18[4]; +extern const float Ratios_NB_2[32]; +extern const float Ratios_NB_3[16]; +extern const float Ratios_NB_4[16]; +extern const float Ratios_NB_5[16]; +extern const float Ratios_NB_6[16]; +extern const float Ratios_NB_7[16]; +extern const float Ratios_NB_8[16]; +extern const float Ratios_NB_9[8]; +extern const float Ratios_NB_10[8]; +extern const float Ratios_NB_11[8]; +extern const float Ratios_NB_12[8]; +extern const float Ratios_NB_13[4]; +extern const float Ratios_NB_14[4]; +extern const float Ratios_NB_15[4]; +extern const float Ratios_NB_16[4]; +extern const float Ratios_NB_17[4]; +extern const float Ratios_NB_18[4]; +extern const float *const Ratios[2][17]; + +extern const Word16 qGains[2][1 << kTcxHmNumGainBits]; + +/*----------------------------------------------------------------------------------* + * Innovative codebook + *----------------------------------------------------------------------------------*/ + +extern const PulseConfig PulseConfTable[]; + +/*----------------------------------------------------------------------------------* + * TNS + *----------------------------------------------------------------------------------*/ + +extern const struct TnsParameters tnsParametersIGF32kHz_LowBR[1]; +extern const struct TnsParameters tnsParameters32kHz[2]; +extern const struct TnsParameters tnsParameters32kHz_grouped[2]; +extern const struct TnsParameters tnsParameters16kHz[1]; +extern const struct TnsParameters tnsParameters16kHz_grouped[2]; +extern const struct TnsParameters tnsParameters48kHz_grouped[2]; + +extern const struct TnsParameters tnsParameters32kHz_Stereo[2]; + +extern const float tnsAcfWindow[TNS_MAX_FILTER_ORDER]; + +extern const ParamsBitMap tnsEnabledSWBTCX20BitMap; +extern const ParamsBitMap tnsEnabledSWBTCX10BitMap; +extern const ParamsBitMap tnsEnabledWBTCX20BitMap; + +extern const ParamsBitMap tnsEnabledOnWhiteSWBTCX10BitMap; +extern const ParamsBitMap tnsEnabledOnWhiteSWBTCX20BitMap; + +extern const Coding codesTnsAllCoeffs[]; + +extern const Coding codesTnsCoeff0SWBTCX20[]; +extern const Coding codesTnsCoeff0SWBTCX10[]; +extern const Coding codesTnsCoeff1SWBTCX20[]; +extern const Coding codesTnsCoeff1SWBTCX10[]; +extern const Coding codesTnsCoeff2SWBTCX20[]; +extern const Coding codesTnsCoeff2SWBTCX10[]; +extern const Coding codesTnsCoeff3SWBTCX20[]; +extern const Coding codesTnsCoeff3SWBTCX10[]; +extern const Coding codesTnsCoeff4SWBTCX20[]; +extern const Coding codesTnsCoeff4SWBTCX10[]; +extern const Coding codesTnsCoeff5[]; +extern const Coding codesTnsCoeff6[]; + +extern const Coding codesTnsCoeff0WBTCX20[]; +extern const Coding codesTnsCoeff1WBTCX20[]; +extern const Coding codesTnsCoeff2WBTCX20[]; +extern const Coding codesTnsCoeff3WB[]; + +extern const Coding codesTnsCoeff456[]; +extern const Coding codesTnsCoeff7[]; + +extern const int16_t nTnsCoeffCodes; + +extern const Coding *const codesTnsCoeffSWBTCX20[]; +extern const Coding *const codesTnsCoeffSWBTCX10[]; +extern const Coding *const codesTnsCoeffWBTCX20[]; +extern const int16_t nTnsCoeffTables; + +extern const Coding codesTnsOrderTCX20[]; +extern const Coding codesTnsOrderTCX10[]; +extern const Coding codesTnsOrder[]; +extern const int16_t nTnsOrderCodes; + +extern const float tnsCoeff4[16]; + +/*----------------------------------------------------------------------------------* + * IGF settings for each bitrate + *----------------------------------------------------------------------------------*/ + +typedef struct igf_mode_type +{ + int32_t sampleRate; + int16_t frameLength; + int16_t igfMinFq; + int16_t maxHopsize; +} IGF_MODE; + +extern const IGF_MODE igfMode[IGF_BITRATE_UNKNOWN]; +extern const int16_t swb_offset_LB_new[IGF_BITRATE_UNKNOWN][IGF_MAX_SFB]; +extern const int16_t igf_tile_offset_table[IGF_BITRATE_UNKNOWN][2 * IGF_MAX_TILES + 1]; +extern const float igf_whitening_TH[IGF_BITRATE_UNKNOWN][2][IGF_MAX_TILES]; +extern const int16_t cf_off_se01_tab[10]; +extern const int16_t cf_off_se10_tab; +extern const int16_t cf_off_se02_tab[10][IGF_CTX_COUNT]; +extern const int16_t cf_off_se11_tab[IGF_CTX_COUNT][IGF_CTX_COUNT]; +extern const uint16_t cf_se00_tab[IGF_SYMBOLS_IN_TABLE + 1]; +extern const uint16_t cf_se01_tab[10][IGF_SYMBOLS_IN_TABLE + 1]; +extern const uint16_t cf_se02_tab[10][IGF_CTX_COUNT][IGF_SYMBOLS_IN_TABLE + 1]; +extern const uint16_t cf_se10_tab[IGF_SYMBOLS_IN_TABLE + 1]; +extern const uint16_t cf_se11_tab[IGF_CTX_COUNT][IGF_CTX_COUNT][IGF_SYMBOLS_IN_TABLE + 1]; + +extern const float normReciprocal[CHEAP_NORM_SIZE]; +extern const float *const w_a[7]; + +extern const PWord16 SineTable512_fx[]; +extern const Word16 ldCoeff[7]; +extern const UWord32 exp2_tab_long[32]; +extern const UWord32 exp2w_tab_long[32]; +extern const UWord32 exp2x_tab_long[32]; +extern const Word16 invTable[INV_TABLE_SIZE + 1]; +extern const Word16 sqrtTable[SQRT_TABLE_SIZE + 1]; +extern const Word16 invSqrtTable[SQRT_TABLE_SIZE + 1]; + +extern const float sns_vq_cdk1[8 * 32]; +extern const float sns_vq_cdk2[8 * 32]; + +extern const float tcx_mdct_window_48[420]; +extern const float tcx_mdct_window_half_48[180]; +extern const float tcx_mdct_window_trans_48[60]; + + +/*----------------------------------------------------------------------------------* + * SWB TBE LSF tables (1.75 kbps) + *----------------------------------------------------------------------------------*/ + +extern const float sigma_BWE[]; +extern const float inv_sigma_BWE[]; +extern const float scales_BWE[]; +extern const Word8 no_lead_BWE[]; + +extern const float scales_BWE_3b[]; +extern const Word8 no_lead_BWE_3b[]; +extern const int16_t mslvq_SHB_min_bits[]; + +extern const float SHB_LSF_mean[]; + +extern const float SHB_LSF_VQ3[48]; +extern const float SHB_LSF_VQ4[96]; +extern const float *const cb_LSF_BWE[]; +extern const float LastCoefPred_0bit[18]; +extern const float LastCoefPred_1bit[36]; +extern const int16_t config_LSF_BWE[]; + +#endif diff --git a/lib_com/stat_com.h b/lib_com/stat_com.h new file mode 100644 index 0000000000..4cf9c05f1e --- /dev/null +++ b/lib_com/stat_com.h @@ -0,0 +1,688 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + + +#ifndef STAT_COM_H +#define STAT_COM_H + +#include <stdint.h> +#include "options.h" +#include "typedef.h" +#include "cnst.h" +#ifdef DEBUGGING +#include "debug.h" +#endif + +/* Forward declaration of Decoder_State */ +struct Decoder_State; + + +/*----------------------------------------------------------------------------------* + * Declaration of structures + *----------------------------------------------------------------------------------*/ + +typedef struct +{ + float a[MAXLAG_WI]; + float b[MAXLAG_WI]; + int16_t lag; + int16_t nH; + int16_t nH_4kHz; + float upper_cut_off_freq_of_interest; + float upper_cut_off_freq; + int32_t sampling_rate; +} DTFS_STRUCTURE; + +typedef struct +{ + int16_t lead_sign_ind; + uint32_t index, size; + int16_t dim, k_val; +} PvqEntry; + +typedef struct +{ + uint8_t buf[MAX_SIZEBUF_PBITSTREAM]; + signed char curPos; + uint16_t numByte; + uint16_t numbits; + uint16_t maxBytes; +} TCQ_BITSTREAM, *TCQ_PBITSTREAM; + +typedef struct +{ + TCQ_PBITSTREAM bsInst; + + uint32_t low; + uint32_t high; + + uint32_t value; + int16_t bits_to_follow; + + int16_t num_bits; + int16_t max_bits; + +} ARCODEC, *PARCODEC; + +/*---------------------------------------------------------------* + * ACELP Encoder/Decoder Static RAM * + *---------------------------------------------------------------*/ + +typedef struct +{ + /*Coding mode info*/ + int16_t mode_index; + + /*LPC info*/ + int16_t midLpc; /*Flag for using or not mid LPC for the current frame*/ + int16_t midLpc_enable; /*Flag enabling or not the mid LPC for the current mode*/ + + /*ICB flags*/ + int16_t pre_emphasis; /*Flag for triggering pre-emphasis*/ + int16_t pitch_sharpening; /*Flag for triggering pitch sharpening*/ + int16_t phase_scrambling; /*Flag for triggering phase scrambling*/ + int16_t formant_enh; /*Flag for triggering formant enhancement*/ + int16_t formant_tilt; /*Flag for triggering formant tile*/ + + int16_t voice_tilt; /*Flag for triggering new voice factor tilt*/ + + float formant_enh_num; + float formant_enh_den; + + int16_t bpf_mode; + + int16_t nrg_mode; + int16_t nrg_bits; + + int16_t ltp_mode; + int16_t ltp_bits; + + int16_t ltf_mode; + int16_t ltf_bits; + + int16_t gains_mode[NB_SUBFR16k]; + + int16_t fixed_cdk_index[NB_SUBFR16k]; + + /* IVAS related parameters */ + int16_t pitch_bits[NB_SUBFR16k]; + int16_t lsf_bits; + int16_t mid_lsf_bits; + int16_t AVQ_cdk_bits[NB_SUBFR16k]; + int16_t FEC_mode; /* 0 == no FEC bits; 1 == class; 2 == clas+energy; 3== class+energy+pulse */ + int16_t ubits; + int16_t fcb_mode; /* 0 == mode1; 1 == mode2 */ + +} ACELP_config; + +typedef struct +{ + int16_t bits; /* bits per subframe */ + int16_t nbiter; /* number of iterations */ + float alp; /* initial energy of all fixed pulses */ + int16_t nb_pulse; /* number of pulses */ + int16_t fixedpulses; /* number of pulses whose position is determined from correlation and not by iteration */ + int16_t nbpos[13]; /* number of positions tried in the pair-wise search */ + enum TRACKPOS codetrackpos; /* ordering of tracks -mode */ + +} PulseConfig; + +/*---------------------------------------------------------------* + * TCX Encoder/Decoder Static RAM * + *---------------------------------------------------------------*/ + +typedef struct +{ + uint8_t maxOrder; + uint8_t nMaxFilters; /* Maximum number of filters. */ + uint8_t allowTnsOnWhite; + struct TnsParameters const *pTnsParameters; /* Parameters for each TNS filter */ + int16_t iFilterBorders[TNS_MAX_NUM_OF_FILTERS + 1]; /* Lower borders for each filter. Upper border for the first filter is nsbBorders-1. Upper borders for other filters is the lower border of previous filter. */ + +} STnsConfig; + +typedef struct TNS_filter_structure +{ + int16_t filterType; + int16_t spectrumLength; /* Number of subbands covered by the filter. */ + int16_t order; /* Filter order. */ + int16_t coefIndex[TNS_MAX_FILTER_ORDER]; /* Quantized filter coefficients. */ + float predictionGain; /* Prediction gain. The ratio of a signal and TNS residual energy. */ + float avgSqrCoef; /* Average squared filter coefficient. */ + +} STnsFilter; + +typedef struct /* TNS data describing all active filters. */ +{ + int16_t nFilters; /* Number of active filters. */ + int16_t tnsOnWhitenedSpectra; + STnsFilter filter[TNS_MAX_NUM_OF_FILTERS]; /* Active filters. */ + +} STnsData; + +/* Structure containing lengths for band division and polynomial aproximation for spectrum weighting. + Borders and weighting are available for TCX10 and TCX20 for a specific sampling rate. */ +typedef struct +{ + const uint8_t bandLengthsTCX20[FDNS_NPTS]; /* Length of a band in number of bins. Range is 2..31 */ + const uint8_t bandLengthsTCX10[FDNS_NPTS]; /* Length of a band in number of bins. Range is 2..20, always divisible by 2 */ + +} SpectrumWarping; + +typedef struct +{ + int16_t nBins; /* Range 0..1200 */ + uint8_t nBands; /* Range 0..64 */ + const uint8_t *bandLengths; /* Length of a band in number of bins. Range is 2..31 */ + +} PsychoacousticParameters; + + +typedef struct TCX_config_structure +{ + /* TCX mdct window */ + float tcx_mdct_window[L_MDCT_OVLP_MAX_CORE_FS]; /* Sine window for OL decision and DTX transitions*/ + float tcx_aldo_window_1[L_ALDO_WIN1_MAX_CORE_FS]; /* ALDO window long slope */ + float tcx_aldo_window_2[L_MDCT_OVLP_MAX_CORE_FS]; /* ALDO window short slope */ + float *tcx_aldo_window_1_trunc; /* ALDO window truncated long slope */ + + int16_t last_aldo; + float tcx_mdct_window_half[L_MDCT_HALF_OVLP_MAX_CORE_FS]; + float tcx_mdct_window_minimum[L_MDCT_MIN_OVLP_MAX_CORE_FS]; + float tcx_mdct_window_trans[L_MDCT_MIN_OVLP_MAX_CORE_FS]; /* transition window for ACELP->TCX */ + + int16_t tcx5Size; /* Size of the TCX5 spectrum in number of samples. Always 5ms. */ + + int16_t tcx_curr_overlap_mode; /* window overlap of current frame (0: full, 2: none, or 3: half) */ + int16_t tcx_last_overlap_mode; /* previous window overlap, i.e. left-side overlap of current frame */ + + int16_t tcx_mdct_window_length; /* length of overlap-add region*/ + int16_t tcx_mdct_window_half_length; /* length of the "half" overlap */ + int16_t tcx_mdct_window_min_length; /* length of the "minimum" overlap */ + int16_t tcx_mdct_window_trans_length; /* length of the ACELP->TCX overlap */ + + int16_t tcx_mdct_window_delay; /* length of window delay */ + int16_t tcx_offset; /* Offset of the folding point relative to the end of the previous synthetised frame */ + int16_t tcx_mdct_window_length_old; /* for keeping old value for sample rate switching */ + float tcx_mdct_windowFB[L_MDCT_OVLP_MAX]; + float tcx_aldo_window_1_FB[L_ALDO_WIN1_FB_MAX]; /* ALDO window long slope */ + float tcx_aldo_window_2_FB[L_MDCT_OVLP_MAX]; /* ALDO window short slope */ + float *tcx_aldo_window_1_FB_trunc; /* ALDO window truncated long slope */ + + float tcx_mdct_window_halfFB[L_MDCT_HALF_OVLP_MAX]; + float tcx_mdct_window_minimumFB[L_MDCT_MIN_OVLP_MAX]; + float tcx_mdct_window_transFB[L_MDCT_TRANS_OVLP_MAX]; /* transition window for ACELP->TCX */ + + int16_t tcx5SizeFB; /* Size of the TCX5 spectrum in number of samples. Always 5ms. */ + + int16_t tcx_mdct_window_lengthFB; /* length of window, length of overlap-add region */ + int16_t tcx_mdct_window_half_lengthFB; /* length of the "half" overlap window */ + int16_t tcx_mdct_window_min_lengthFB; /* length of the "minimum" overlap window */ + int16_t tcx_mdct_window_trans_lengthFB; /* length of the ACELP->TCX overlap */ + + int16_t tcx_mdct_window_delayFB; /* length of window delay */ + int16_t tcx_offsetFB; + + int16_t tcx_coded_lines; /* max number of coded lines, depending on audio bandwidth */ + + /* FAC window */ + int16_t lfacNext; + int16_t lfacNextFB; + + /* TNS */ + int16_t fIsTNSAllowed; + STnsConfig tnsConfig[2][2]; + STnsConfig const *pCurrentTnsConfig; + + /*Quantization*/ + float sq_rounding; /*set the sq deadzone (no deadzone=0.5f)*/ + int16_t tcxRateLoopOpt; + + /*Bandwidth*/ + float preemph_fac; /* preemphasis factor */ + float bandwidth; + + /* Context HM - Residual Quantization*/ + int16_t ctx_hm; /* Flag for enabling Context HM */ + int16_t resq; /* Flag for enabling Residual Quantization */ + int16_t coder_type; /* GC,VC,UC */ + + float na_scale; + + float SFM2; + + /* Psychoacoustic parameters for LPC in TCX */ + PsychoacousticParameters psychParamsTCX10; + PsychoacousticParameters psychParamsTCX20; + PsychoacousticParameters psychParamsTCX20AfterACELP; + PsychoacousticParameters const *psychParamsCurrent; + +} TCX_config, *TCX_CONFIG_HANDLE; + +typedef struct +{ + int32_t low; + int32_t high; + uint32_t value; + int32_t bits_to_follow; +} Tastat; + +/*---------------------------------------------------------------* + * FD CNG common structure * + *---------------------------------------------------------------*/ + +typedef struct +{ + int16_t fftlen; /* FFT length */ + int16_t stopFFTbin; /* Number of FFT bins to be actually processed */ + int16_t numPartitions; /* Number of partitions */ + const int16_t *sidPartitions; /* Upper boundaries for grouping the (sub)bands into partitions when transmitting SID frames (define as NULL pointer to avoid grouping) */ + + int16_t numShapingPartitions; /* Number of partitions */ + const int16_t *shapingPartitions; /* Upper boundaries for grouping the (sub)bands into partitions for shaping at the decoder (define as NULL pointer to avoid grouping) */ + +} FD_CNG_SETUP; + +typedef struct +{ + int16_t bwmode; + + int32_t bitrateFrom; + int32_t bitrateTo; + + float scale; + +} SCALE_SETUP; + +typedef struct +{ + FD_CNG_SETUP FdCngSetup; + + int16_t numSlots; /* Number of time slots in CLDFB matrix */ + int16_t regularStopBand; /* Number of CLDFB bands to be considered */ + + int16_t numCoreBands; /* Number of core bands to be decomposed into FFT subbands */ + int16_t stopBand; /* Total number of (sub)bands to be considered */ + int16_t startBand; /* First (sub)band to be considered */ + int16_t stopFFTbin; /* Total number of FFT subbands */ + int16_t frameSize; /* Frame size in samples */ + int16_t fftlen; /* FFT length used for the decomposition */ + + float timeDomainBuffer[L_FRAME16k]; + float fftBuffer[FFTLEN]; + float olapBufferAna[FFTLEN]; + float olapBufferSynth[FFTLEN]; + float olapBufferSynth2[FFTLEN]; + const float *olapWinAna; + const float *olapWinSyn; + const float *fftSineTab; + + float msM_win; + float msM_subwin; + + int16_t msFrCnt_init_counter; /* Frame counter at initialization */ + int16_t msFrCnt_init_thresh; + float init_old; + int16_t msFrCnt; /* Frame counter */ + float msAlphaCor[2]; /* Correction factor (smoothed) */ + float msSlope[2]; + float msQeqInvAv[2]; + int16_t msMinBufferPtr; + + float msPsdSum[2]; + float msPeriodogSum[2]; + + int16_t offsetflag; + + float periodog[PERIODOGLEN]; /* Periodogram */ + float cngNoiseLevel[FFTCLDFBLEN]; /* Noise level applied for the CNG in each (sub)band */ + int16_t seed; /* Seed memory (for random function) */ + int16_t seed2; /* Seed for second noise source in MDCT-Stereo DTX */ + int16_t seed3; /* Seed for third noise source in MDCT-Stereo DTX */ + + int16_t npart; /* Number of partitions */ + int16_t midband[NPART]; /* Central band of each partition */ + int16_t nFFTpart; /* Number of hybrid spectral partitions */ + int16_t part[NPART]; /* Partition upper boundaries (band indices starting from 0) */ + float psize[NPART]; /* Partition sizes */ + float psize_inv[NPART]; /* Inverse of partition sizes */ + float FFTscalingFactor; /* Squared ratio between core signal analysis FFT and noise estimator FFT */ + float scalingFactor; + int16_t nCLDFBpart; /* Number of CLDFB spectral partitions */ + int16_t CLDFBpart[NPARTCLDFB]; /* CLDFB Partition upper boundaries (band indices starting from 0 above the core coder bands) */ + float CLDFBpsize_inv[NPARTCLDFB]; /* Inverse of CLDFB partition sizes */ + + int16_t inactive_frame_counter; + int16_t sid_frame_counter; + int16_t active_frame_counter; /* Active frame counter limited to MSBUFLEN in stereo decoder */ + + float sidNoiseEst[NPART]; /* Transmitted noise level */ + + float sidNoiseEstLp[NPART]; + + int16_t frame_type_previous; + + float A_cng[M + 1]; + float exc_cng[L_FRAME16k]; + + int32_t CngBitrate; + int16_t CngBandwidth; + + int16_t flag_noisy_speech; + float likelihood_noisy_speech; + + float coherence; /* inter-channel coherence of noise */ + int16_t no_side_flag; /* indicates whether the side noise shape should be zeroed-out or not */ +} FD_CNG_COM, *HANDLE_FD_CNG_COM; + + +/*---------------------------------------------------------------* + * TNS bitmapping * + *---------------------------------------------------------------*/ + +/** Function that gets specific value from p. + * @param p Pointer to a variable that can also be structure or array. + * @param index Index of a variable when p is an array, otherwise 0. + * @param pValue Pointer to the value. + * @return Substructure associated with this value or NULL if there is none. + */ +typedef void const *( *TGetParamValue )( void const *p, int16_t index, int16_t *pValue ); + +/** Function that puts specific value to p. + * @param p Pointer to a variable that can also be structure or array. + * @param index Index of a variable when p is an array, otherwise 0. + * @param value The value. + * @return Substructure associated with this value or NULL if there is none. + */ +typedef void *( *TSetParamValue )( void *p, int16_t index, int16_t value ); + +/** Function that return required number of bits for a value when it is coded. + * @param value The value. + * @param index Index of a variable when it is an element of an array, otherwise 0. + * @return Number of bits required to code the value. + */ +typedef int16_t ( *TGetNumberOfBits )( int16_t value, int16_t index ); + +/** Function that encodes a value. + * @param value The value. + * @param index Index of a variable when it is an element of an array, otherwise 0. + * @return Coded value. + */ +typedef int16_t ( *TEncodeValue )( int16_t value, int16_t index ); + +/** Function that decodes a value. + * @param bitstream Bitstream containing a coded value. + * @param index Index of a variable when it is an element of an array, otherwise 0. + * @param pValue A pointer where the decoded value should be stored. + * @return Number of bits read from the bitstream. + */ +typedef int16_t ( *TDecodeValue )( struct Decoder_State *st, int16_t index, int16_t *pValue ); + +/** Linear prediction analysis/synthesis filter definition. + * @param order filter order. + * @param parCoeff filter (PARCOR) coefficients. + * @param state state of the filter. Must be at least of 'order' size. + * @param x the current input value. + * @return the output of the filter. + */ +typedef float ( *TLinearPredictionFilter )( const int16_t order, const float parCoeff[], float *state, float x ); + +/** Structure that defines mapping between a parameter and a bistream. */ +typedef struct ParamBitMap +{ + /** Number of bits in a bitstream required for the parameter. + * If nBits is equal to 0 then GetNumberOfBits is used. + */ + int16_t nBits; + /** Function to get the number of bits required for a value of this parameter. + * If nBits != 0 it is not used and can be set to NULL. + * If fZeroAllowed == 0 then GetNumberOfBits must take care of this. + */ + TGetNumberOfBits GetNumberOfBits; + /** If fZeroAllowed is 0 then the value can be zero. + * If the value can't be zero then value-1 is stored in a bitstream. + * If EncodeValue is not equal to NULL, then the encode/decode function + * must take care of this flag - there is no additional processing in parameter bitmapping. + * If EncodeValue is equal to NULL, then the encode/decode function takes care of this. + */ + int16_t fZeroAllowed; + /** Function to get the value of this parameter. + * The function returns a pointer to be used in functions in pSubParamBitMap. + * If the function returns NULL then the same pointer as for the current + * parameter is to be used. + * The function should not do any additional processing if fZeroAllowed == 0, + * but just set the value as it is. + */ + TGetParamValue GetParamValue; + /** Function to set the value of this parameter. + * The function returns a pointer to be used in functions in pSubParamBitMap. + * If the function returns NULL then the same pointer as for the current + * parameter is to be used. + * The function should not do any additional processing if fZeroAllowed == 0, + * but just set the value as it is. + */ + TSetParamValue SetParamValue; + + /** Function to encode a value of this parameter. + * When it is equal to NULL, fixed-width coding is used. + * If fZeroAllowed == 0 then EncodeValue must take care of this. + */ + TEncodeValue EncodeValue; + + /** Function to decode a value of this parameter. + * When it is equal to NULL, fixed-width coding is used. + * If fZeroAllowed == 0 then DecodeValue must take care of this. + */ + TDecodeValue DecodeValue; + + /** Pointer to the map for substructure. + * The number of structures is determined by this parameter's value. + * NULL means that there is no substructure. + */ + struct ParamsBitMap const *pSubParamBitMap; +} ParamBitMap; + +/** Structure that defines mapping between parameters and a bistream. */ +typedef struct ParamsBitMap +{ + /** Number of parameters in params. */ + int16_t nParams; + /** Definition of the mapping for each parameter. */ + ParamBitMap params[10]; +} ParamsBitMap; + +struct TnsParameters +{ + /* Parameters for each TNS filter */ + int16_t startLineFrequency; /* Starting lower frequency of the TNS filter [20..16000] */ + int16_t nSubdivisions; /* Number of spectrum subdivisions in which the filter operates [1..8) */ + float minPredictionGain; /* Minimum prediction gain required to turn on the TNS filter */ + float minAvgSqrCoef; /* Minimum average square of coefficients required to turn on the TNS filter */ + float minEnergyChange; /* Minimum energy change required to turn on the TNS filter */ +}; + +/**********************************************/ +/* Helper structures for hufmann table coding */ +/**********************************************/ + +typedef struct +{ + uint8_t value; + uint16_t code; + uint8_t nBits; +} Coding; + + +/* Scale TCX setup */ +typedef struct +{ + int16_t bwmode; + + int32_t bitrateFrom; + int32_t bitrateTo; + + float scale; + +} SCALE_TCX_SETUP; + + +typedef struct +{ + uint16_t frame_bits; /*Bits per frame*/ + uint16_t frame_net_bits; /*Net Bits per frame*/ + uint8_t transmission_bits; /*max=1*/ + uint8_t transmission_mode[2]; /*SID,VBR/CBR*/ + uint8_t bandwidth_bits; /*max=2*/ + uint8_t bandwidth_min; /*first valid bandwidth (NB,WB,SWB,FB)*/ + uint8_t bandwidth_max; /*last valid bandwidth (NB,WB,SWB,FB)*/ + uint8_t reserved_bits; /*max=1*/ + +} FrameSizeParams; + +typedef struct +{ + int16_t no_channels; + int16_t no_col; + int16_t p_filter_length; + CLDFB_TYPE type; + int16_t ds; /* delay synthesis */ + int16_t da; /* delay analysis */ + CLDFB_PROTOTYPE prototype; + + const float *p_filter; + + /* rotation vectors */ + const float *rot_vec_ana_re; + const float *rot_vec_ana_im; + const float *rot_vec_syn_re; + const float *rot_vec_syn_im; + + /* rotation vectors for delay */ + const float *rot_vec_ana_delay_re; + const float *rot_vec_ana_delay_im; + const float *rot_vec_syn_delay_re; + const float *rot_vec_syn_delay_im; + + /* memory helper states */ + float *memory; + uint16_t memory_length; + + /* main filter state */ + float *cldfb_state; + + /* other parameters */ + int16_t bandsToZero; /* bands not synthesized */ + int16_t nab; /* number of active bands */ + float scale; /* scaling of frequency domain */ + +} CLDFB_FILTER_BANK, *HANDLE_CLDFB_FILTER_BANK; + + +typedef enum +{ + FRAME_0 = 0, + FRAME_2 = 40, + FRAME_2_4 = 48, + FRAME_4 = 80, + FRAME_5_6 = 112, + FRAME_7_2 = 144, + FRAME_8 = 160, + FRAME_9_6 = 192, + FRAME_13_2 = 264, + FRAME_16_4 = 328, + FRAME_24_4 = 488, + FRAME_32 = 640, + FRAME_48 = 960, + FRAME_64 = 1280, + FRAME_96 = 1920, + FRAME_128 = 2560 + +} FRAME_SIZE; + +/*---------------------------------------------------------------* + * IGF * + *---------------------------------------------------------------*/ + +typedef struct igf_grid_struct +{ + int16_t swb_offset[IGF_MAX_SFB]; + int16_t swb_offset_len; + int16_t startFrequency; + int16_t stopFrequency; + int16_t startLine; + int16_t stopLine; + int16_t startSfb; + int16_t stopSfb; + int16_t sfbWrap[IGF_MAX_TILES + 1]; + int16_t sbWrap[IGF_MAX_TILES]; + int16_t nTiles; + int16_t minSrcSubband; + int16_t minSrcFrequency; + int16_t tile[IGF_MAX_TILES + 1]; + int16_t infoIsRefined; + int16_t infoGranuleLen; + float whiteningThreshold[2][IGF_MAX_TILES]; + float gFactor; + float fFactor; + float lFactor; +} IGF_GRID, *H_IGF_GRID; + +typedef struct IGF_INFO_struct +{ + int16_t *nfSeed; + int16_t nfSeedBuf[2]; + int32_t sampleRate; + int16_t frameLength; + int16_t maxHopsize; + IGF_GRID grid[IGF_NOF_GRIDS]; + int16_t bitRateIndex; +} IGF_INFO, *H_IGF_INFO; + + +typedef struct +{ + int16_t *indexBuffer; + int16_t *peakIndices, *holeIndices; + int16_t numPeakIndices, numHoleIndices; +} CONTEXT_HM_CONFIG; + +typedef enum +{ + LPC_ABS_QUANT_BITS = 8, + SNS_ABS_QUANT_BITS = 10 +} ABS_QUANT_BITS; + +#endif diff --git a/lib_com/stl.h b/lib_com/stl.h new file mode 100644 index 0000000000..c699fd899b --- /dev/null +++ b/lib_com/stl.h @@ -0,0 +1,71 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ +/* + =========================================================================== + File: STL.H v.2.3 - 30.Nov.2009 + =========================================================================== + + ITU-T STL BASIC OPERATORS + + MAIN HEADER FILE + + History: + 07 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control + operators for the ITU-T Standard Tool Library as + described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 + TD 11 document and subsequent discussions on the + wp3audio@yahoogroups.com email reflector. + March 06 v2.1 Changed to improve portability. + + ============================================================================ +*/ + + +#ifndef _STL_H +#define _STL_H + +#include "options.h" /* TODO: TEMPORARY during BASOP development - to be removed */ +#include "typedef.h" +#include "basop32.h" +#include "move.h" +#include "control.h" +#include "enh1632.h" +#include "enh40.h" + +#endif /* ifndef _STL_H */ + + +/* end of file */ diff --git a/lib_com/typedef.h b/lib_com/typedef.h new file mode 100644 index 0000000000..ec617a5857 --- /dev/null +++ b/lib_com/typedef.h @@ -0,0 +1,129 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/* + =========================================================================== + File: TYPEDEF.H v.2.3 - 30.Nov.2009 + =========================================================================== + + ITU-T STL BASIC OPERATORS + + TYPE DEFINITION PROTOTYPES + + History: + 26.Jan.00 v1.0 Incorporated to the STL from updated G.723.1/G.729 + basic operator library (based on basic_op.h) + + 03 Nov 04 v2.0 Incorporation of new 32-bit / 40-bit / control + operators for the ITU-T Standard Tool Library as + described in Geneva, 20-30 January 2004 WP 3/16 Q10/16 + TD 11 document and subsequent discussions on the + wp3audio@yahoogroups.com email reflector. + March 06 v2.1 Changed to improve portability. + + ============================================================================ +*/ + +/*_____________________ + | | + | Basic types. | + |_____________________| +*/ + +#ifndef TYPEDEF_H +#define TYPEDEF_H + +#include <stdint.h> +#include <stdbool.h> + +#if __STDC_VERSION__ >= 199901L +typedef int8_t Word8; +typedef uint8_t UWord8; +typedef int16_t Word16; +typedef int32_t Word32; +typedef uint16_t UWord16; +typedef uint32_t UWord32; +typedef int64_t Word40; +typedef bool Flag; +#define TYPEDEF_INITIALIZED +#else +/* + * This is the original code from the file typedef.h + */ +#if defined( __BORLANDC__ ) || defined( __WATCOMC__ ) || defined( _MSC_VER ) || defined( __ZTC__ ) +typedef signed char Word8; +typedef unsigned char UWord8; +typedef short Word16; +typedef int Word32; +typedef unsigned short UWord16; +typedef unsigned int UWord32; +typedef __int64 Word40; +typedef int Flag; +#define TYPEDEF_INITIALIZED +#elif defined( __sun ) +typedef signed char Word8; +typedef unsigned char UWord8; +typedef short Word16; +typedef long Word32; +/*#error "The 40-bit operations have not been tested on __sun : need to define Word40"*/ +typedef unsigned short UWord16; +typedef unsigned long UWord32; +typedef long long Word40; +typedef int Flag; +#define TYPEDEF_INITIALIZED +#elif defined( __unix__ ) || defined( __unix ) || defined( __APPLE__ ) || defined( __CYGWIN__ ) || defined( __MINGW32__ ) +typedef signed char Word8; +typedef unsigned char UWord8; +typedef short Word16; +typedef int Word32; +typedef unsigned short UWord16; +typedef unsigned int UWord32; +/*#error "The 40-bit operations have not been tested on unix : need to define Word40"*/ +typedef long long Word40; +typedef int Flag; +#endif +#define TYPEDEF_INITIALIZED +#endif + +typedef float Float32; + +#ifndef TYPEDEF_INITIALIZED +#error types in typedef.h not initialized +#endif +#endif /* ifndef _TYPEDEF_H */ + + +/* end of file */ diff --git a/lib_debug/debug.h b/lib_debug/debug.h new file mode 100644 index 0000000000..abf246674a --- /dev/null +++ b/lib_debug/debug.h @@ -0,0 +1,242 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef DEBUG_H +#define DEBUG_H + +#include "options.h" +#include <stdio.h> +#include <stdint.h> +#ifdef DEBUG_SBA +#include "sba_debug.h" +#endif + +/*------------------------------------------------------------------------------------------* + * Global variables used for debugging + *------------------------------------------------------------------------------------------*/ + +extern int32_t frame; + +#ifdef DEBUGGING +extern uint16_t g_nPrintedLines; +extern int16_t g_verbose; +#endif + +#ifdef DEBUGGING +extern int16_t debug_level; +#define DEBUG_LINE( level ) if ( ( level ) <= debug_level ) +#else +#define DEBUG_LINE( level ) if ( 0 ) +#endif + +#ifdef DEBUG_MODE_INFO +extern char tmp_fname[]; +extern char debug_dir[6]; +char *fname( char *dir, char *file, const int16_t n, const int16_t id, const int16_t enc_dec ); +#endif + +/*------------------------------------------------------------------------------------------* + * Read/write I/O tool + *------------------------------------------------------------------------------------------*/ + +#ifdef DEBUGGING + +int16_t lookup( + const char *const str, + const char *const *const list, + const int16_t n_elem ); + +#ifdef DEBUG_MODE_INFO +#ifdef DEBUG_MODE_INFO_TWEAK +int16_t tweakdbgfolder( + const char *filename, + char *filename_mod, + int16_t *textmode ); +#endif +#endif + +int16_t dbgwrite( + const void *const buffer, + const int16_t size, + const int16_t count, + const int16_t repeat, +#ifdef DEBUG_MODE_INFO_TWEAK + const char *filename +#else + const char *const filename +#endif +); + +void dbgwrite_mat_repeat( + float *buffer, /* i : write buffer */ + int16_t nRow, /* i : matrix size (rows) */ + int16_t mCol, /* i : matrix size (columns) */ + int16_t row_repeat, /* i : number of times rows are repeated */ + int16_t col_repeat, /* i : number of times columns are repeated */ +#ifdef DEBUG_MODE_INFO_TWEAK + const char *filename /* i : Output file name */ +#else + const char *const filename +#endif +); + +int16_t dbgappend( + const void *const buffer, + const int16_t size, + const int16_t count, + const int16_t repeat, +#ifdef DEBUG_MODE_INFO_TWEAK + const char *filename +#else + const char *const filename +#endif +); + +int16_t dbgread( + void *const buffer, + const int16_t size, + const int16_t count, +#ifdef DEBUG_MODE_INFO_TWEAK + const char *filename +#else + const char *const filename +#endif +); + +void dbgclose( void ); + +int16_t dbgflag( + const char *flagname ); + +void setflag( + const char *flagname ); + +int16_t dbgargs( + int32_t *argc, + char *argv[] ); + +int16_t dbgvalue( + const char *typestr, + const char *value_name, + ... ); + +extern FILE *DJB_delay; + +extern FILE *FEC_pattern; + +#endif /* DEBUGGING */ + +/*------------------------------------------------------------------------------------------* + * SNR measurement tool + *------------------------------------------------------------------------------------------*/ + +#ifdef DEBUGGING + +extern int16_t snr_count; +extern char *snr_name[]; + +void snr( + const float *const signal, + const float *const noise, + const int16_t length, + const char *const name ); + +void snr_diff( + const float *const clean, + const float *const degraded, + const int16_t length, + const int16_t delay, + const char *const name ); + +void snr_celp( + const int16_t L_frame, + const int16_t L_subfr, + const float gamma, + const float tilt_fac, + const int16_t vad_flag, + const int16_t coder_type, + const float *input, + const float *output, + const float *A, + const int16_t idchan, + const char *name ); + +void print_snr( void ); + +#else + +#define print_snr( void ) + +#endif + +/*------------------------------------------------------------------------------------------* + * SD analysis tool + *------------------------------------------------------------------------------------------*/ + +#ifdef DEBUGGING + +/*! r: SD in a given frequency range */ +float sd_range( + const float lsf[], /* i : vector of unquantized LSF values */ + const float lsf_q[], /* i : vector of quantized LSF values */ + const int16_t order, /* i : dimension of the vectors */ + const int32_t fs, /* i : sampling frequency */ + const float min_freq, /* i : minimum frequency of interest */ + const float max_freq, /* i : maximum frequency of interest */ + const char *const name, /* i : string for SD entry in the global table */ + const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ +); + +/*! r: SD respecting critical bands */ +float sd_crit( + const float lsf[], /* i : vector of unquantized LSF values */ + const float lsf_q[], /* i : vector of quantized LSF values */ + const int16_t order, /* i : dimension of the vectors */ + const int32_t fs, /* i : sampling frequency */ + const float min_freq, /* i : minimal frequency */ + const float max_freq, /* i : maximal frequency */ + int16_t *min_band, /* o : minimal critical band */ + int16_t *max_band, /* o : maximal critical band */ + float sd_bands[], /* i/o: SD in critical bands */ + const char *const name, /* i : string for SD entry in the global table */ + const int16_t Opt_AMR_WB /* i : flag indicating AMR-WB IO mode */ +); + +void print_sd( void ); + +#else + +#define print_sd( void ) + +#endif + +#endif /* DEBUG_H */ diff --git a/lib_debug/sba_debug.h b/lib_debug/sba_debug.h new file mode 100644 index 0000000000..86e07e5a41 --- /dev/null +++ b/lib_debug/sba_debug.h @@ -0,0 +1,60 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef SBA_DEBUG_H +#define SBA_DEBUG_H + +#include "options.h" +#include <stdio.h> +#include <stdint.h> +#ifdef DEBUG_SBA +#include "cnst.h" +#include "ivas_cnst.h" +#include "tinywaveout_c.h" + +#ifdef DEBUG_SBA_AUDIO_DUMP +extern WAVEFILEOUT *spar_foa_enc_wav[3]; +extern WAVEFILEOUT *spar_foa_dec_wav[4]; +#endif + +#ifdef DEBUG_AGC +void ivas_close_agc_debug_files( void ); +void ivas_open_agc_debug_files( int16_t agc ); +#endif +void ivas_spar_dump_signal_wav( const int16_t input_frame, float **ppPcm, float pcm_array[IVAS_SPAR_MAX_CH][L_FRAME48k], const int16_t no_channel, WAVEFILEOUT *wave_file, char *location ); +void ivas_close_sba_encoder_debug_files( void ); +void ivas_open_sba_encoder_debug_files( const int32_t fs, const int16_t n_transport, const char *file_tag, const int32_t ivas_total_brate, const int16_t dtx_on ); +void ivas_close_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport, const int16_t pca_ingest_channels ); +void ivas_open_sba_decoder_debug_files( const int32_t fs, const int16_t n_ch, const int16_t n_transport ); +#endif + +#endif /* SBA_DEBUG_H */ diff --git a/lib_dec/ivas_rom_dec.h b/lib_dec/ivas_rom_dec.h new file mode 100644 index 0000000000..febc60e2e5 --- /dev/null +++ b/lib_dec/ivas_rom_dec.h @@ -0,0 +1,159 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_ROM_DEC_H +#define IVAS_ROM_DEC_H + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "cnst.h" +#include "ivas_cnst.h" +#include "ivas_stat_dec.h" + + +/*----------------------------------------------------------------------------------* + * DFT stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float dft_alpha_w_b2[STEREO_DFT_BAND_MAX]; +extern const float dft_alpha_s_b2[STEREO_DFT_BAND_MAX]; +extern const float dft_alpha_s2_b2[STEREO_DFT_BAND_MAX]; +extern const float dft_bpf_weights[]; + +extern const float dft_alpha_w[]; +extern const float dft_alpha_s[]; +extern const float dft_alpha_s2[]; + +extern const float dft_ap_gains[5][3]; +extern const int16_t dft_ap_delays[3][3]; +extern const float dft_res_pred_weights[][STEREO_DFT_BAND_MAX]; + + +extern const float dft_win232ms_8k[75]; +extern const float dft_win232ms_12k8[120]; +extern const float dft_win232ms_16k[150]; +extern const float dft_win232ms_32k[300]; +extern const float dft_win232ms_48k[450]; + +extern const float dft_win_8k[70]; + +extern const int16_t cna_init_bands[MAX_CNA_NBANDS + 1]; +extern const float max_smooth_gains[SBA_DIRAC_STEREO_NUM_BANDS]; + + +/*----------------------------------------------------------------------------------* + * ECLVQ Stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const uint16_t cum_freq_ECSQ_tab_param[ECSQ_CONFIG_COUNT][1 + ECSQ_PARAM_COUNT]; +extern const uint16_t sym_freq_ECSQ_tab_param[ECSQ_CONFIG_COUNT][ECSQ_PARAM_COUNT]; +extern const uint16_t cum_freq_ECSQ_tab_vals[ECSQ_PARAM_COUNT - 1][1 + ECSQ_TAB_VALS_SIZE]; +extern const uint16_t sym_freq_ECSQ_tab_vals[ECSQ_PARAM_COUNT - 1][ECSQ_TAB_VALS_SIZE]; +extern const uint16_t *const cum_freq_ECSQ_tab_abs_lsbs[1 + 4]; +extern const uint16_t *const sym_freq_ECSQ_tab_abs_lsbs[1 + 4]; + + +/*----------------------------------------------------------------------------------* + * DirAC ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float ls_azimuth_4d4[8]; +extern const float ls_elevation_4d4[8]; +extern const float diffuse_response_CICP6[5]; +extern const float diffuse_response_CICP14[7]; +extern const float diffuse_response_CICP16[9]; + + +extern const float dirac_dithering_azi_scale[DIRAC_DIFFUSE_LEVELS]; +extern const float dirac_dithering_ele_scale[DIRAC_DIFFUSE_LEVELS]; + +extern const int16_t ap_pre_delay[DIRAC_DECORR_NUM_SPLIT_BANDS]; +extern const int16_t ap_filter_length[DIRAC_DECORR_NUM_SPLIT_BANDS]; +extern const float ap_lattice_delta_phi[DIRAC_MAX_NUM_DECORR_FILTERS * DIRAC_MAX_DECORR_FILTER_LEN]; +extern const float ap_lattice_coeffs_1[DIRAC_DECORR_FILTER_LEN_1 * DIRAC_MAX_NUM_DECORR_FILTERS]; +extern const float ap_lattice_coeffs_2[DIRAC_DECORR_FILTER_LEN_2 * DIRAC_MAX_NUM_DECORR_FILTERS]; +extern const float ap_lattice_coeffs_3[DIRAC_DECORR_FILTER_LEN_3 * DIRAC_MAX_NUM_DECORR_FILTERS]; +extern const float *const ap_lattice_coeffs[DIRAC_DECORR_NUM_SPLIT_BANDS]; +extern const float ap_split_frequencies[DIRAC_DECORR_NUM_SPLIT_BANDS + 1]; + +extern const int16_t sba_map_tc[8]; + +/*----------------------------------------------------------------------------------* + * LS Configuration Converter ROM tables + *----------------------------------------------------------------------------------*/ + +/* Downmix matrices */ +extern const float ls_conversion_cicpX_mono[12][1]; +extern const float ls_conversion_cicpX_stereo[12][2]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[]; + +/* Upmix matrices */ +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[]; + +/* Mapping table of input config : output config with corresponding matrix */ +extern const LS_CONVERSION_MAPPING ls_conversion_mapping[]; + + +/*----------------------------------------------------------------------------------* + * FASTCONV and PARAMETRIC binaural renderer ROM tables + *----------------------------------------------------------------------------------*/ + +/* These are equalization values for spread and surround coherent sounds, approximating the spectrum + * for such sounds at anechoic multichannel listening. */ +extern const float surCohEne[MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS]; +extern const float spreadCohEne05[MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS]; +extern const float spreadCohEne1[MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS]; + +/* Values for low-bit-rate equalization */ +extern const float lowBitRateBinauralEQ[LOW_BIT_RATE_BINAURAL_EQ_BINS]; + +/* Diffuse field binaural coherence directional adjustment values */ +extern const float diffuseFieldCoherenceDifferenceX[BINAURAL_COHERENCE_DIFFERENCE_BINS]; +extern const float diffuseFieldCoherenceDifferenceY[BINAURAL_COHERENCE_DIFFERENCE_BINS]; +extern const float diffuseFieldCoherenceDifferenceZ[BINAURAL_COHERENCE_DIFFERENCE_BINS]; + +#endif diff --git a/lib_dec/jbm_jb4_circularbuffer.h b/lib_dec/jbm_jb4_circularbuffer.h new file mode 100644 index 0000000000..2e5a035dab --- /dev/null +++ b/lib_dec/jbm_jb4_circularbuffer.h @@ -0,0 +1,76 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef JBM_JB4_CIRCULARBUFFER_H +#define JBM_JB4_CIRCULARBUFFER_H JBM_JB4_CIRCULARBUFFER_H + +#include "prot.h" +#include "cnst.h" + +/** handle for circular buffer (FIFO) with fixed capacity */ +typedef struct JB4_CIRCULARBUFFER *JB4_CIRCULARBUFFER_HANDLE; + +/** type of circular buffer elements */ +typedef int32_t JB4_CIRCULARBUFFER_ELEMENT; + + +int16_t JB4_CIRCULARBUFFER_Create( JB4_CIRCULARBUFFER_HANDLE *ph ); + +void JB4_CIRCULARBUFFER_Destroy( JB4_CIRCULARBUFFER_HANDLE *ph ); + +int16_t JB4_CIRCULARBUFFER_Init( JB4_CIRCULARBUFFER_HANDLE h, uint16_t capacity ); + +int16_t JB4_CIRCULARBUFFER_Enque( JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT element ); + +int16_t JB4_CIRCULARBUFFER_Deque( JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT *pElement ); + +JB4_CIRCULARBUFFER_ELEMENT JB4_CIRCULARBUFFER_Front( const JB4_CIRCULARBUFFER_HANDLE h ); + +JB4_CIRCULARBUFFER_ELEMENT JB4_CIRCULARBUFFER_Back( const JB4_CIRCULARBUFFER_HANDLE h ); + +int16_t JB4_CIRCULARBUFFER_IsEmpty( const JB4_CIRCULARBUFFER_HANDLE h ); + +int16_t JB4_CIRCULARBUFFER_IsFull( const JB4_CIRCULARBUFFER_HANDLE h ); + +uint16_t JB4_CIRCULARBUFFER_Size( const JB4_CIRCULARBUFFER_HANDLE h ); + +void JB4_CIRCULARBUFFER_Min( const JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT *pMin ); + +void JB4_CIRCULARBUFFER_Max( const JB4_CIRCULARBUFFER_HANDLE h, JB4_CIRCULARBUFFER_ELEMENT *pMax ); + +void JB4_CIRCULARBUFFER_MinAndPercentile( const JB4_CIRCULARBUFFER_HANDLE h, uint16_t nElementsToIgnore, JB4_CIRCULARBUFFER_ELEMENT *pMin, JB4_CIRCULARBUFFER_ELEMENT *pPercentile ); + +#endif /* JBM_JB4_CIRCULARBUFFER_H */ diff --git a/lib_dec/jbm_jb4_inputbuffer.h b/lib_dec/jbm_jb4_inputbuffer.h new file mode 100644 index 0000000000..7ab8086470 --- /dev/null +++ b/lib_dec/jbm_jb4_inputbuffer.h @@ -0,0 +1,76 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/** \file jbm_jb4_inputbuffer.h RTP input buffer with fixed capacity. */ + +#ifndef JBM_JB4_INPUTBUFFER_H +#define JBM_JB4_INPUTBUFFER_H JBM_JB4_INPUTBUFFER_H + +#include <stdbool.h> +#include <stdint.h> +#include "options.h" + + +typedef struct JB4_INPUTBUFFER *JB4_INPUTBUFFER_HANDLE; + +typedef void *JB4_INPUTBUFFER_ELEMENT; + +int16_t JB4_INPUTBUFFER_Create( JB4_INPUTBUFFER_HANDLE *ph ); + +void JB4_INPUTBUFFER_Destroy( JB4_INPUTBUFFER_HANDLE *ph ); + +int16_t JB4_INPUTBUFFER_Init( + JB4_INPUTBUFFER_HANDLE h, + uint16_t capacity, + int16_t ( *compareFunction )( const JB4_INPUTBUFFER_ELEMENT newElement, const JB4_INPUTBUFFER_ELEMENT arrayElement, bool *replaceWithNewElementIfEqual ) ); + +int16_t JB4_INPUTBUFFER_Enque( JB4_INPUTBUFFER_HANDLE h, JB4_INPUTBUFFER_ELEMENT element, JB4_INPUTBUFFER_ELEMENT *replacedElement ); + +int16_t JB4_INPUTBUFFER_Deque( JB4_INPUTBUFFER_HANDLE h, JB4_INPUTBUFFER_ELEMENT *pElement ); + +JB4_INPUTBUFFER_ELEMENT JB4_INPUTBUFFER_Front( const JB4_INPUTBUFFER_HANDLE h ); + +JB4_INPUTBUFFER_ELEMENT JB4_INPUTBUFFER_Back( const JB4_INPUTBUFFER_HANDLE h ); + +JB4_INPUTBUFFER_ELEMENT JB4_INPUTBUFFER_Element( const JB4_INPUTBUFFER_HANDLE h, uint16_t index ); + +int16_t JB4_INPUTBUFFER_IsEmpty( const JB4_INPUTBUFFER_HANDLE h ); + +int16_t JB4_INPUTBUFFER_IsFull( const JB4_INPUTBUFFER_HANDLE h ); + +uint16_t JB4_INPUTBUFFER_Size( const JB4_INPUTBUFFER_HANDLE h ); + +#endif /* JBM_JB4_INPUTBUFFER_H */ diff --git a/lib_dec/jbm_jb4_jmf.h b/lib_dec/jbm_jb4_jmf.h new file mode 100644 index 0000000000..b945c31884 --- /dev/null +++ b/lib_dec/jbm_jb4_jmf.h @@ -0,0 +1,61 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/** \file jbm_jb4_jmf.h jitter measure fifo - a fifo used for windowed measure of network status */ + +#ifndef JBM_JB4_JMF_H +#define JBM_JB4_JMF_H JBM_JB4_JMF_H + +#include <stdint.h> +#include "options.h" + +/** handle for jitter measure fifo - a fifo used for windowed measure of network status */ +typedef struct JB4_JMF *JB4_JMF_HANDLE; + +int16_t JB4_JMF_Create( JB4_JMF_HANDLE *ph ); + +void JB4_JMF_Destroy( JB4_JMF_HANDLE *ph ); + +int16_t JB4_JMF_Init( JB4_JMF_HANDLE h, int16_t timeScale, uint16_t windowSize, uint16_t windowDuration, uint16_t consideredFraction ); + +int16_t JB4_JMF_PushPacket( JB4_JMF_HANDLE h, uint32_t sysTime, uint32_t rtpTimeStamp ); + +int16_t JB4_JMF_Jitter( const JB4_JMF_HANDLE h, uint32_t *jitter ); + +int16_t JB4_JMF_MinOffset( const JB4_JMF_HANDLE h, int32_t *offset ); + + +#endif /* JBM_JB4_JMF_H */ diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h new file mode 100644 index 0000000000..bc70413689 --- /dev/null +++ b/lib_dec/jbm_jb4sb.h @@ -0,0 +1,107 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/** \file jbm_jb4sb.h EVS Jitter Buffer Management Interface */ + +#ifndef JBM_JB4SB_H +#define JBM_JB4SB_H JBM_JB4SB_H + +#include <stdbool.h> +#include <stdint.h> +#include "options.h" +#include "typedef.h" +#include "ivas_error.h" + +/** handle for jitter buffer */ +typedef struct JB4 *JB4_HANDLE; + +/** jitter buffer data units (access unit together with RTP seqNo, timestamp, ...) */ +struct JB4_DATAUNIT +{ + /** the RTP sequence number (16 bits) */ + uint16_t sequenceNumber; + /** the RTP time stamp (32 bits) of this chunk in timeScale() units */ + uint32_t timeStamp; + /** the duration of this chunk in timeScale() units */ + uint32_t duration; + /** the RTP time scale, which is used for timeStamp() and duration() */ + uint32_t timeScale; + /** the receive time of the RTP packet in milliseconds */ + uint32_t rcvTime; + /** true, if the data unit contains only silence */ + bool silenceIndicator; + Word16 isAMRWB_IOmode; + /** for EVS payload */ + Word16 frameTypeIndex; + /** Q bit for AMR-WB IO */ + Word16 qBit; + + /** the binary encoded access unit */ + uint8_t *data; + /** the size of the binary encoded access unit [bits] */ + uint16_t dataSize; + + /** identify if the data unit has a partial copy of a previous frame */ + bool partial_frame; + /** offset of the partial copy contained in that frame or zero */ + int16_t partialCopyOffset; + int16_t nextCoderType; +}; + +typedef struct JB4_DATAUNIT *JB4_DATAUNIT_HANDLE; + + +ivas_error JB4_Create( JB4_HANDLE *ph ); + +void JB4_Destroy( JB4_HANDLE *ph ); + +int16_t JB4_Init( JB4_HANDLE h, int16_t safetyMargin ); + +JB4_DATAUNIT_HANDLE JB4_AllocDataUnit( JB4_HANDLE h ); + +void JB4_FreeDataUnit( JB4_HANDLE h, JB4_DATAUNIT_HANDLE dataUnit ); + +int16_t JB4_PushDataUnit( JB4_HANDLE h, JB4_DATAUNIT_HANDLE dataUnit, uint32_t rcvTime ); + +int16_t JB4_PopDataUnit( JB4_HANDLE h, uint32_t sysTime, uint32_t extBufferedTime, JB4_DATAUNIT_HANDLE *pDataUnit, uint32_t *scale, uint32_t *maxScaling ); + +int16_t JB4_getFECoffset( JB4_HANDLE h ); + +int16_t JB4_FECoffset( JB4_HANDLE h ); + +uint16_t JB4_bufferedDataUnits( const JB4_HANDLE h ); + +#endif /* JBM_JB4SB_H */ diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h new file mode 100644 index 0000000000..5cf4e7d8b6 --- /dev/null +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -0,0 +1,122 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/*! @file jbm_pcmdsp_apa.h Adaptive Playout for Audio (apa). */ + +#ifndef JBM_PCMDSP_APA_H +#define JBM_PCMDSP_APA_H JBM_PCMDSP_APA_H + +#include <stdbool.h> +#include <stdint.h> +#include "options.h" + +/* +******************************************************************************** +* DEFINITION OF CONSTANTS +******************************************************************************** +*/ + +/* size of IO buffers (a_in[], a_out[]) for apa_exec() */ +#define APA_BUF 4096 * 3 + +/* min/max sampling rate [Hz] */ +#define APA_MIN_RATE 1000 +#define APA_MAX_RATE 48000 + +/* min/max scaling [%] */ +#define APA_MIN_SCALE 50 +#define APA_MAX_SCALE 150 + +#define APA_SM_SURROUND 1 +#define APA_SM_LOGARITHMIC 2 +#define APA_SM_FULLSUBSAMPLED 3 + +#define APA_SIM_CCF 11 +#define APA_SIM_NCCF 12 +#define APA_SIM_AMDF 13 +#define APA_SIM_SSE 14 + +/* +******************************************************************************** +* DEFINITION OF DATA TYPES +******************************************************************************** +*/ + +struct apa_state_t; +typedef struct apa_state_t apa_state_t; +/*! handle for APA */ +typedef struct apa_state_t *PCMDSP_APA_HANDLE; + + +/* +******************************************************************************** +* DECLARATION OF PROTOTYPES +******************************************************************************** +*/ + +/*! Allocates memory for state struct and initializes elements. + * @return 0 on success, 1 on failure */ +uint8_t apa_init( apa_state_t **s ); + +/*! Sets state variables to initial value. */ +void apa_reset( apa_state_t *s ); + +/*! Sets the audio configuration. + * Must be called once before processing can start. + * If called again during processing it will reset the state struct! + * Typical sample rates: 8000, 16000, 22050, 44100. Must be in range [APA_MIN_RATE,APA_MAX_RATE]. + * Will also set a number of other state variables that depend on the sampling rate. + * @param[in,out] ps state + * @param[in] output_Fs sample rate [Hz] + * @param[in] num_channels number of channels + * @return 0 on success, 1 on failure */ +bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs, const int16_t num_channels ); + +/*! Set scaling. + * The scale is given in % and will be valid until changed again. + * Must be in range [APA_MIN_SCALE,APA_MAX_SCALE]. + * @return 0 on success, 1 on failure */ +bool apa_set_scale( apa_state_t *s, uint16_t scale ); + +bool apa_set_complexity_options( apa_state_t *s, uint16_t wss, uint16_t css ); + +bool apa_set_quality( apa_state_t *s, float quality, uint16_t qualityred, uint16_t qualityrise ); + +bool apa_exit( apa_state_t **s ); + +uint8_t apa_exec( apa_state_t *s, const int16_t a_in[], uint16_t l_in, uint16_t maxScaling, int16_t a_out[], uint16_t *l_out ); + +#endif /* JBM_PCMDSP_APA_H */ diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h new file mode 100644 index 0000000000..bdd186702e --- /dev/null +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -0,0 +1,81 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/*! @file jbm_pcmdsp_fifo.h Ringbuffer (FIFO) with fixed capacity for audio samples. */ + +#ifndef JBM_PCMDSP_FIFO_H +#define JBM_PCMDSP_FIFO_H JBM_PCMDSP_FIFO_H + +#include <stdint.h> +#include "options.h" + + +/** Ringbuffer (FIFO) with fixed capacity for audio samples. */ +struct PCMDSP_FIFO +{ + /** size of currently stored samples per channel */ + uint16_t size; + /** maximum allowed number of samples per channel */ + uint16_t capacity; + /** sample size in bytes per channel */ + uint16_t nBytesPerSampleSet; + + /** begin of the FIFO data (pointer to bytes) */ + uint8_t *dataBegin; + /** end of the FIFO data (pointer to bytes) */ + uint8_t *dataEnd; + /** position of next write operation (pointer to bytes) */ + uint8_t *dataWriteIterator; + /** position of next read operation (pointer to bytes) */ + uint8_t *dataReadIterator; +}; + +typedef struct PCMDSP_FIFO *PCMDSP_FIFO_HANDLE; + + +int16_t pcmdsp_fifo_create( PCMDSP_FIFO_HANDLE *ph ); + +void pcmdsp_fifo_destroy( PCMDSP_FIFO_HANDLE *ph ); + +int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, uint16_t nSamples, uint16_t nChannels, uint16_t nBytesPerSample ); + +int16_t pcmdsp_fifo_write( PCMDSP_FIFO_HANDLE h, const uint8_t *samples, uint16_t nSamplesPerChannel ); + +int16_t pcmdsp_fifo_read( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint8_t *samples ); + +uint16_t pcmdsp_fifo_nReadableSamples( const PCMDSP_FIFO_HANDLE h ); + +#endif /* JBM_PCMDSP_FIFO_H */ diff --git a/lib_dec/jbm_pcmdsp_similarityestimation.h b/lib_dec/jbm_pcmdsp_similarityestimation.h new file mode 100644 index 0000000000..36f64d7297 --- /dev/null +++ b/lib_dec/jbm_pcmdsp_similarityestimation.h @@ -0,0 +1,140 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/*! @file jbm_pcmdsp_similarityestimation.h Algorithms for correlation and similarity estimation. */ + +#ifndef JBM_PCMDSP_SIMILARITYESTIMATION_H +#define JBM_PCMDSP_SIMILARITYESTIMATION_H JBM_PCMDSP_SIMILARITYESTIMATION_H + +#include "options.h" +#include "typedef.h" + +/* +******************************************************************************** +* +* Function : cross_correlation_self +* Tables : <none> +* Compile Defines : <none> +* Return : (float) cross correlation coefficient +* Information : Calculate cross correlation coefficient for template +* segment. +* The returned value is signal-energy dependant. +* +* Used formula: +* +* corr_len-1 +* ---- +* \ +* / (j+x)*(j+y) +* ---- +* j=0 +* +* +* 23-JUL-04 S.Doehla initial version +* +******************************************************************************** +*/ +float cross_correlation_self( const int16_t *signal, uint16_t x, uint16_t y, uint16_t corr_len ); + +/* +******************************************************************************** +* +* Function : cross_correlation_subsampled_self +* Tables : <none> +* Compile Defines : <none> +* Return : (float) cross correlation coefficient +* Information : Calculate cross correlation coefficient for template +* segment. +* The returned value is signal-energy dependant. +* +* Used formula: +* +* corr_len-1 +* ---- +* \ +* / (j+x)*(j+y) +* ---- +* j=0 +* +* +* 23-JUL-04 S.Doehla initial version +* +******************************************************************************** +*/ +float cross_correlation_subsampled_self( const int16_t *signal, uint16_t x, uint16_t y, uint16_t corr_len, uint16_t subsampling ); + +/* +******************************************************************************** +* +* Function : normalized_cross_correlation_self +* Tables : <none> +* Compile Defines : <none> +* Return : (float) normalized cross correlation coefficient +* Information : Calculate normalized cross correlation coefficient +* for template segment. +* The returned value is signal-energy independant. +* This means, no matter how loud your signal is, equal +* signals will return 1.0, cross-phased signals -1.0. +* +* Complexity is very high due to many floating point +* operations and using squared root! +* +* This function fills parameter energy with the common +* energy of signal x and signal y. This might be useful +* for silence detection. +* +* Used formula: +* +* corr_len-1 +* ---- +* \ (j+x)*(j+y) +* \ __________________ +* / -------------- +* / -/ (j+x)�+(j+y)� +* ---- +* j=0 +* +* +* 23-JUL-04 S.Doehla initial version +* +******************************************************************************** +*/ +float normalized_cross_correlation_self( const int16_t *signal, uint16_t x, uint16_t y, uint16_t corr_len, uint16_t subsampling, float *energy ); + +/* Splits the signal into segments and checks if all of them have very low energy. */ +bool isSilence( const int16_t *signal, uint32_t len, uint32_t segments ); + +#endif /* JBM_PCMDSP_SIMILARITYESTIMATION_H */ diff --git a/lib_dec/jbm_pcmdsp_window.h b/lib_dec/jbm_pcmdsp_window.h new file mode 100644 index 0000000000..cf697b6b9c --- /dev/null +++ b/lib_dec/jbm_pcmdsp_window.h @@ -0,0 +1,66 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +/*! @file jbm_jbm_pcmdsp_window.h Window functions. */ + +#ifndef JBM_PCMDSP_WINDOW_H +#define JBM_PCMDSP_WINDOW_H JBM_PCMDSP_WINDOW_H + +#include <stdint.h> +#include "options.h" + +/*! Generates a Hann window (cos-shaped) of length n. + * Roughly: + * + * 1 __ + * / \ + * 0 _/ \_ + * <------> + * n + */ +void hannWindow( uint16_t n, float *w ); + +/** Overlap/Add of two signal with a given window. */ +/** @param[in] fadeOut signal to fade out + * @param[in] fadeIn signal to fade in + * @param[in] out buffer to store the output signal + * @param[in] n number of samples + * @param[in] nChannels number of channels + * @param[in] fadeOutWin window for fade out + * @param[in] fadeInWin window for fade in */ +void overlapAdd( const int16_t *fadeOut, const int16_t *fadeIn, int16_t *out, uint16_t n, uint16_t nChannels, const float *fadeOutWin, const float *fadeInWin ); + +#endif /* JBM_PCMDSP_WINDOW_H */ diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h new file mode 100644 index 0000000000..f43034c885 --- /dev/null +++ b/lib_dec/lib_dec.h @@ -0,0 +1,359 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef LIB_DEC_H +#define LIB_DEC_H + +#include "common_api_types.h" +#include "ivas_error.h" +#include <stdbool.h> +#include <stdint.h> + + +/*---------------------------------------------------------------------* + * Decoder enums + *---------------------------------------------------------------------*/ + +/* output formats generated by the decoder */ +typedef enum _IVAS_DEC_OUTPUT_CONFIG +{ + IVAS_DEC_OUTPUT_MONO = 0x0001, + IVAS_DEC_OUTPUT_STEREO, + IVAS_DEC_OUTPUT_5_1, + IVAS_DEC_OUTPUT_7_1, + IVAS_DEC_OUTPUT_5_1_2, + IVAS_DEC_OUTPUT_5_1_4, + IVAS_DEC_OUTPUT_7_1_4, + IVAS_DEC_OUTPUT_LS_CUSTOM, + IVAS_DEC_OUTPUT_FOA, + IVAS_DEC_OUTPUT_HOA2, + IVAS_DEC_OUTPUT_HOA3, + IVAS_DEC_OUTPUT_BINAURAL, + IVAS_DEC_OUTPUT_BINAURAL_ROOM, + IVAS_DEC_OUTPUT_EXT, + IVAS_DEC_OUTPUT_UNKNOWN = 0xffff +} IVAS_DEC_AUDIO_CONFIG; + +/* mode the decoder is operating in */ +typedef enum _IVAS_DEC_MODE +{ + IVAS_DEC_MODE_EVS = 0x0001, + IVAS_DEC_MODE_IVAS +} IVAS_DEC_MODE; + +typedef enum +{ + IVAS_DEC_INPUT_FORMAT_UNDEF = 0, + IVAS_DEC_INPUT_FORMAT_G192 = 1, + IVAS_DEC_INPUT_FORMAT_MIME = 2, + IVAS_DEC_INPUT_FORMAT_RTPDUMP = 3, + IVAS_DEC_INPUT_FORMAT_RTPDUMP_HF = 4, /* RTP payload: only Header-Full format without zero padding for size collision avoidance */ +} IVAS_DEC_INPUT_FORMAT; + +#ifdef DEBUGGING +typedef enum _IVAS_DEC_FORCED_REND_MODE +{ + IVAS_DEC_FORCE_REND_CLDFB_RENDERER, + IVAS_DEC_FORCE_REND_TD_RENDERER, + IVAS_DEC_FORCE_REND_UNFORCED, + IVAS_DEC_FORCE_REND_UNDEFINED = 0xffff +} IVAS_DEC_FORCED_REND_MODE; +#endif + +/* bitstream formats that can be consumed */ +typedef enum _IVAS_DEC_BS_FORMAT +{ + IVAS_DEC_BS_MONO = 0x0001, /* EVS-compatible mono bitstream */ + IVAS_DEC_BS_STEREO, + IVAS_DEC_BS_MC, + IVAS_DEC_BS_SBA, + IVAS_DEC_BS_OBJ, + IVAS_DEC_BS_MASA, + IVAS_DEC_BS_UNKOWN = 0xffff +} IVAS_DEC_BS_FORMAT; + +typedef struct IVAS_DEC *IVAS_DEC_HANDLE; + + +/* clang-format off */ +/*---------------------------------------------------------------------* + * Decoder function declarations + *---------------------------------------------------------------------*/ + +/* Open, configure, close functions - should be called once per decoder lifetime */ + +/*! r: error code */ +ivas_error IVAS_DEC_Open( + IVAS_DEC_HANDLE *phIvasDec, /* i/o: pointer to an IVAS decoder handle to be opened */ + IVAS_DEC_MODE mode, /* i : compatibility mode (EVS or IVAS) */ + const int16_t orientation_tracking, /* i : orientation tracking type */ + float no_diegetic_pan +); + +/*! r: error code */ +ivas_error IVAS_DEC_Configure( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const uint32_t sampleRate, /* i : output sampling frequency */ + const IVAS_DEC_AUDIO_CONFIG outputFormat, /* i : output format */ + const int16_t customLsOutputEnabled, /* i : enable custom loudspeaker setup handle */ + const int16_t hrtfReaderEnabled, /* i : enable HRTF binary file input */ + const int16_t enableHeadRotation /* i : enable head rotation for binaural output */ +#ifdef DEBUGGING + , + const int16_t forceSubframeBinauralization /* i : enable subframe binauralization */ +#endif +); + +void IVAS_DEC_Close( + IVAS_DEC_HANDLE *phIvasDec /* i/o: pointer to IVAS decoder handle */ +); + + +/* Decoding functions - should be called with a configured decoder handle */ + +/*! r: error code */ +ivas_error IVAS_DEC_FeedFrame_Serial( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + uint16_t *serial, /* i : buffer containing serial input bitstream. Each bit should be stored as a single uint16_t value */ + const uint16_t num_bits, /* i : number of bits in input bitstream */ + const int16_t bfi /* i : bad frame indicator flag */ +); + +/*! r: decoder error code */ +ivas_error IVAS_DEC_GetSamples( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ + int16_t *nOutSamples /* o : number of samples written to output buffer */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetObjectMetadata( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_ISM_METADATA *metadata, /* o : struct where metadata decoded in most recently decoded frame will be written */ + const uint16_t zero_flag, /* i : if this flag is enabled, this function outputs a zero-initialized metadata struct */ + const uint16_t objectIdx /* i : index of the queried object */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetMasaMetadata( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_MASA_QMETADATA_HANDLE *hMasaMetadata /* o : pointer to handle, which will be set to point to metadata from the most recently decoded frame */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_FeedHeadTrackData( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_QUATERNION *orientation /* i : head-tracking data */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_VoIP_FeedFrame( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + uint8_t *au, /* i : buffer containing input access unit */ + const uint16_t auSize, /* i : size of the access unit */ + const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ + const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ + const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ + const bool isAMRWB_IOmode, /* i : AMRWB flag */ + const uint16_t frameTypeIndex, /* i : core mode for frame */ + const bool qBit /* i : Q bit for AMR-WB IO */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_VoIP_GetSamples( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int16_t *nOutSamples, /* o : number of samples written to output buffer */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ + const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ + const uint32_t systemTimestamp_ms /* i : current system timestamp */ +); + +/* Setter functions - apply changes to decoder configuration */ + +/*! r: error code */ +ivas_error IVAS_DEC_EnableVoIP( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const int16_t jbmSafetyMargin, /* i : allowed delay reserve for JBM, in milliseconds */ + const IVAS_DEC_INPUT_FORMAT inputFormat /* i : format of the input bitstream */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_SetHeadrotation( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const float w, /* i : w-coordinate of head rotation quaternion */ + const float x, /* i : x-coordinate of head rotation quaternion */ + const float y, /* i : y-coordinate of head rotation quaternion */ + const float z, /* i : z-coordinate of head rotation quaternion */ + const uint16_t i /* i : subframe index within current frame */ +); + + +#ifdef DEBUGGING +bool IVAS_DEC_GetBerDetectFlag( + IVAS_DEC_HANDLE hIvasDec /* i : IVAS decoder handle */ +); + +int32_t IVAS_DEC_GetNoCLipping( + IVAS_DEC_HANDLE hIvasDec /* i : IVAS decoder handle */ +); + +int32_t IVAS_DEC_GetCntFramesLimited( + IVAS_DEC_HANDLE hIvasDec /* i : IVAS decoder handle */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_SetForcedRendMode( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const IVAS_DEC_FORCED_REND_MODE forcedRendMode /* i : forced renderer mode */ +); + +#ifdef DEBUG_SBA_AUDIO_DUMP +ivas_error IVAS_DEC_GetSbaDebugParams( + const IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int16_t *numOutputChannels, + int16_t *numTransportChannels, + int16_t *pca_ingest_channels +); +#endif +#endif + +/* Getter functions - retrieve information from a decoder through a handle */ + +/*! r: error code */ +ivas_error IVAS_DEC_GetNumObjects( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + uint16_t *numObjects /* o : number of objects for which the decoder has been configured */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetFormat( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_DEC_BS_FORMAT *format /* o : format detected from bitstream fed to the decoder */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetNumOutputChannels( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int16_t *numOutputChannels /* o : number of PCM output channels */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_FeedCustomLsData( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const IVAS_CUSTOM_LS_DATA hLsCustomData /* i : Custom loudspeaker setup data */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetHrtfHandle( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_DEC_HRTF_HANDLE *hHrtfTD /* o : HRTF handle */ +); + +/*! r: error code*/ +ivas_error IVAS_DEC_GetRenderConfig( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const IVAS_RENDER_CONFIG_HANDLE hRCout /* o : Render config handle */ +); + +/*! r: error code*/ +ivas_error IVAS_DEC_FeedRenderConfig( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + const IVAS_RENDER_CONFIG_DATA hRenderConfig /* i : Render config data structure */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetDelay( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int16_t *nSamples, /* o : decoder delay in samples */ + int32_t *timeScale /* o : time scale of the delay, equal to decoder output sampling rate */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_HasDecodedFirstGoodFrame( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + bool *hasDecodedFirstGoodFrame /* o : flag indicating if the decoder has decoded a good frame since it was configured */ +); + +/*! r: error code */ +ivas_error IVAS_DEC_GetPcmFrameSize( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int32_t *pcmFrameSize /* o : total size of the PCM output frame. This takes into account the number of output channels */ +); + +/*! r: true if decoder has no data in VoIP jitter buffer */ +bool IVAS_DEC_VoIP_IsEmpty( + IVAS_DEC_HANDLE hIvasDec /* i/o: IVAS decoder handle */ +); + +ivas_error IVAS_DEC_VoIP_Get_CA_offset( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + int16_t *optimum_offset, + int16_t *FEC_hi +); + +#ifdef SUPPORT_JBM_TRACEFILE +ivas_error IVAS_DEC_GetJbmData( + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + IVAS_JBM_TRACE_DATA *JbmTraceData /* o : JBM Trace data */ +); +#endif + +/* Utility functions */ + +/*! r: pointer to an error message string */ +const char *IVAS_DEC_GetErrorMessage( + ivas_error error /* i : decoder error code enum */ +); + + +void IVAS_DEC_PrintConfig( + const IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ + const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ + const bool voipMode +); + +#ifdef DEBUGGING +void IVAS_DEC_PrintConfigWithBitstream( + IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ + const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ + uint16_t bit_stream[], /* i : bitstream buffer */ + const int16_t num_bits /* i : number of bits in bitstream */ +); +#endif + +void IVAS_DEC_PrintDisclaimer( + void +); + +/* clang-format on */ + +#endif diff --git a/lib_dec/rom_dec.h b/lib_dec/rom_dec.h new file mode 100644 index 0000000000..de17c90251 --- /dev/null +++ b/lib_dec/rom_dec.h @@ -0,0 +1,71 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef ROM_DEC_H +#define ROM_DEC_H + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "cnst.h" + +extern const float h_low[]; /* LP filter for filtering periodic part of excitation in artificial onset construction after FEC */ + +extern const int16_t mult_avq_tab[]; +extern const int16_t shift_avq_tab[]; + +extern const int16_t hntable[55]; +extern const int16_t hetable[57]; +extern const int16_t hestable[15]; + +extern const float lsf_tab[LPC_SHB_ORDER]; + +extern const int16_t gw[LGW_MAX]; +extern const int16_t gwlpr[LGW_MAX]; +extern const float w_hamm32k_2[L_TRANA32k / 2]; +extern const float w_hamm16k_2[L_TRANA16k / 2]; +extern const float w_hamm_sana32k_2[L_PROT_HAMM_LEN2_32k]; +extern const float w_hamm_sana16k_2[L_PROT_HAMM_LEN2_16k]; +extern const float w_hamm48k_2[L_TRANA48k / 2]; +extern const float w_hamm_sana48k_2[L_PROT_HAMM_LEN2_48k]; + +extern const float h_high3_32[L_FIR_FER2]; +extern const float h_high3_16[L_FIR_FER2]; + + +#endif diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h new file mode 100644 index 0000000000..d86cd42b72 --- /dev/null +++ b/lib_dec/stat_dec.h @@ -0,0 +1,1347 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef STAT_DEC_H +#define STAT_DEC_H + +#include <stdint.h> +#include "options.h" +#include "cnst.h" +#include "stat_com.h" /* Common structures */ +#include "ivas_cnst.h" +#ifdef DEBUGGING +#include "debug.h" +#endif + +/*---------------------------------------------------------------* + * Structure for FD Mode2 frameMode + *---------------------------------------------------------------*/ + +typedef enum _DEC_MODE +{ + DEC_NO_FRAM_LOSS = 0x0, + DEC_CONCEALMENT_EXT = 0x1 +} DEC_MODE; + +typedef enum +{ + FRAMEMODE_NORMAL = 0x0, /* frame available */ + FRAMEMODE_MISSING = 0x1, /* frame missing => conceal */ + FRAMEMODE_FUTURE = 0x2 +} FRAME_MODE; + + +/*---------------------------------------------------------------* + * Structure for FD CNG + *---------------------------------------------------------------*/ + +typedef struct +{ + HANDLE_FD_CNG_COM hFdCngCom; + + float msPeriodog[NPART_SHAPING]; /* Periodogram */ + float msBminWin[NPART_SHAPING]; + float msBminSubWin[NPART_SHAPING]; + float msPsd[NPART_SHAPING]; /* Power Spectral Density estimate (i.e., smoothed periodogram) */ + float msAlpha[NPART_SHAPING]; /* Optimal smoothing parameter */ + float msMinBuf[MSNUMSUBFR * NPART_SHAPING]; /* Buffer of minima */ + float msCurrentMinOut[NPART_SHAPING]; + float msCurrentMin[NPART_SHAPING]; + float msCurrentMinSubWindow[NPART_SHAPING]; + int16_t msLocalMinFlag[NPART_SHAPING]; + int16_t msNewMinFlag[NPART_SHAPING]; + float msPsdFirstMoment[NPART_SHAPING]; + float msPsdSecondMoment[NPART_SHAPING]; + float msNoiseFloor[NPART_SHAPING]; /* Estimated noise floor */ + float msNoiseEst[NPART_SHAPING]; /* Estimated noise level */ + float msLogPeriodog[NPART_SHAPING]; /* Periodogram */ + float msLogNoiseEst[NPART_SHAPING]; /* Estimated noise level */ + int16_t npart_shaping; /* Number of partitions */ + int16_t nFFTpart_shaping; /* Number of hybrid spectral partitions */ + int16_t part_shaping[NPART_SHAPING]; /* Partition upper boundaries (band indices starting from 0) */ + int16_t midband_shaping[NPART_SHAPING]; /* Central band of each partition */ + float psize_shaping[NPART_SHAPING]; /* Partition sizes */ + float psize_inv_shaping[NPART_SHAPING]; /* Inverse of partition sizes */ + float bandNoiseShape[FFTLEN2]; /* CNG spectral shape computed at the decoder */ + float partNoiseShape[NPART]; /* CNG spectral shape computed at the decoder */ + + float smoothed_psd[L_FRAME16k]; /* stereo CNA - periodogram smoothed with IIR filter */ + float msPeriodog_ST[NPART_SHAPING]; /* stereo CNA - short-term periodogram */ + int16_t ms_last_inactive_bwidth; /* stereo CNA - bandwidth from the last inactive frame */ + int16_t ms_cnt_bw_up; /* stereo CNA - downward counter of frames since the last NB->WB switch */ + float cna_LR_LT; /* stereo CNA - long-term L/R correlation factor calculated on stereo upmix */ + float cna_ILD_LT; /* stereo CNA - long-term ILD factor calculated on stereo upmix */ + float cna_g_state[STEREO_DFT_BAND_MAX]; /* stereo CNA - side gains from the last inactive frame */ + float cna_cm[STEREO_DFT_BAND_MAX + 1]; /* stereo CNA - coherence from the last inactive frame */ + int16_t first_cna_noise_updated; /* stereo CNA - flag indicating that comfort noise has been properly initialized during warmup */ + int16_t first_cna_noise_update_cnt; /* stereo CNA - counter of CN initialization frames */ + int16_t cna_nbands; /* stereo CNA - number of frequency bands used by the CNA in DFT stereo mode */ + int16_t cna_band_limits[MAX_CNA_NBANDS + 1]; /* stereo CNA - band limits used by the CNA in DFT stereo mode */ + float cna_act_fact; /* stereo CNA - long-term signal activity factor (0-1) */ + float cna_rescale_fact; /* stereo CNA - CN energy re-scaling factor to maintain decoded energy */ + int16_t cna_seed; /* stereo CNA - seed for random CN generator */ + + int16_t flag_dtx_mode; + float lp_speech; + float lp_noise; + + float msPeriodogBuf[MSBUFLEN * NPART_SHAPING]; + int16_t msPeriodogBufPtr; + + +} FD_CNG_DEC, *HANDLE_FD_CNG_DEC; + +/*---------------------------------------------------------------* + * Structure for PLC + *---------------------------------------------------------------*/ + +typedef struct +{ + int16_t L_frameTCX; + + int16_t Pitch; + int16_t T_bfi; + + int16_t Transient[MAX_POST_LEN]; + int16_t TCX_Tonality[DEC_STATE_LEN]; + + float outx_new_n1; + float nsapp_gain; + float nsapp_gain_n; + float data_reci2[L_FRAME_MAX]; + float data_noise[L_FRAME_MAX]; + float ener_mean; + float ener; + int16_t zp; + float recovery_gain; + float step_concealgain; + + int16_t concealment_method; + int16_t subframe; + int16_t nbLostCmpt; + + int16_t seed; + +} T_PLCInfo, *T_PLCInfo_HANDLE; + + +/*---------------------------------------------------------------* + * Structures for Tonal MDCT PLC * + *---------------------------------------------------------------*/ + +typedef struct +{ + uint16_t nSamples; + uint16_t nSamplesCore; + Float32 *spectralData; + float *scaleFactors; + int16_t blockIsValid; + int16_t blockIsConcealed; + int16_t tonalConcealmentActive; +} blockData; + +typedef struct +{ + uint16_t numIndexes; + uint16_t indexOfTonalPeak[MAX_NUMBER_OF_IDX]; + uint16_t lowerIndex[MAX_NUMBER_OF_IDX]; + uint16_t upperIndex[MAX_NUMBER_OF_IDX]; + Float32 phaseDiff[MAX_NUMBER_OF_IDX]; /* This one can be stored with 16 bits in range 0..2*PI */ + Float32 phase_currentFramePredicted[MAX_NUMBER_OF_IDX * GROUP_LENGTH]; /* This one can be stored with 16 bits in range 0..2*PI, but the code has to be adapted to use moduo(2*PI) after adding */ +} TonalComponentsInfo; + +typedef struct +{ + TCX_config *tcx_cfg; + void *pMDSTData; + int16_t nSamples; + int16_t nSamplesCore; + int16_t nNonZeroSamples; + int16_t nScaleFactors; + + float lastPitchLag; + + blockData lastBlockData; + blockData secondLastBlockData; + + Float32 scaleFactorsBuffers[2][FDNS_NPTS]; /* Contains also global gain. If it can not be stored in 16 bits with global gain included, then store global gain separately. */ + Float32 spectralDataBuffers[2][L_FRAME_MAX]; /* 16 bits is enough, because it is stored before applying scale factors. Take care that power spectrum is also stored here. */ + Float32 timeDataBuffer[( 3 * L_FRAME_MAX ) / 2]; + Float32 *lastPcmOut; + Float32 *secondLastPcmOut; + float *secondLastPowerSpectrum; + + float scaleFactorsBackground[FDNS_NPTS]; + float scf_fadeout; + PsychoacousticParameters *psychParams; + PsychoacousticParameters psychParamsTCX20; + PsychoacousticParameters psychParamsTCX10; + + float last_block_nrg; + float curr_noise_nrg; + float faded_signal_nrg; + + float nFramesLost; + + TonalComponentsInfo *pTCI; + +} TonalMDCTConceal_INSTANCE, *TonalMDCTConcealPtr; + +typedef enum SIGNAL_CLASSIFER_MODE +{ + CLASSIFIER_ACELP, + CLASSIFIER_TCX +} SIGNAL_CLASSIFIER_MODE; + + +/*---------------------------------------------------------------* + * Structures for IGF decoder * + *---------------------------------------------------------------*/ + +typedef struct +{ + int16_t bitsRead; /* after a call bitsRead contains the number of bits consumed by the decoder */ + int16_t prev[64]; /* no more than 64 SCFs for the IGF energy envelope of one block */ + int16_t scfCountLongBlock[IGF_NOF_GRIDS]; + int16_t t; + int32_t bitrate; + const uint16_t *cf_se00; + const uint16_t *cf_se01; + int16_t cf_off_se01; + const uint16_t *cf_se02; + const int16_t *cf_off_se02; + const uint16_t *cf_se10; + int16_t cf_off_se10; + const uint16_t *cf_se11; + const int16_t *cf_off_se11; + Tastat acState; + +} IGFSCFDEC_INSTANCE, *IGFSCFDEC_INSTANCE_HANDLE; + +typedef struct igfdec_private_data_struct +{ + + IGF_INFO igfInfo; + /* envelope reconstruction: */ + float igf_sN[IGF_MAX_SFB]; /* only with short blocks as static needed */ + float igf_pN[IGF_MAX_SFB]; /* only with short blocks as static needed */ + int16_t igf_curr[IGF_MAX_SFB]; /* current igf energies */ + int16_t igf_prev[IGF_MAX_SFB]; /* needed for concealment or indepflag==0 */ + int16_t igf_curr_subframe[IGF_MAX_SUBFRAMES][IGF_TRANS_FAK][IGF_MAX_SFB]; /* current igf energies per subframe*/ + int16_t igf_prev_subframe[IGF_MAX_SUBFRAMES][IGF_MAX_SFB]; /* needed for concealment or indepflag==0 */ + int16_t igf_flatteningTrigger_subframe[IGF_MAX_SUBFRAMES]; + + /* spectral whitening: */ + float *pSpecFlat; + float pSpecFlatBuf[IGF_START_MX]; + int16_t restrict_hopsize; + + int16_t currWhiteningLevel[IGF_MAX_TILES]; + int16_t prevWhiteningLevel[IGF_MAX_TILES]; /* needed for concealment */ + int16_t currWhiteningLevel_subframe[IGF_MAX_SUBFRAMES][IGF_MAX_TILES]; + int16_t prevWhiteningLevel_subframe[IGF_MAX_SUBFRAMES][IGF_MAX_TILES]; /* needed for concealment */ + + float totalNoiseNrg; + int16_t n_noise_bands; + + float totalNoiseNrg_off; + int16_t n_noise_bands_off; + + /* IGF SCF decoding: */ + IGFSCFDEC_INSTANCE hArithSCFdec; + + /* concealment: */ + int16_t frameLossCounter; + +} IGFDEC_PRIVATE_DATA, *IGF_DEC_PRIVATE_DATA_HANDLE; + +typedef struct igfdec_instance_struct +{ + int16_t isIGFActive; + int16_t infoIGFAllZero; + int16_t infoIGFStopLine; + int16_t infoIGFStartLine; + int16_t infoIGFStopFreq; + int16_t infoIGFStartFreq; + uint8_t *infoTCXNoise; + uint8_t infoTCXNoiseBuf[IGF_START_MX]; + int16_t *flag_sparse; + int16_t flag_sparseBuf[N_MAX_TCX - IGF_START_MN]; + float *virtualSpec; + float virtualSpecBuf[N_MAX_TCX - IGF_START_MN]; + + int16_t flatteningTrigger; + IGFDEC_PRIVATE_DATA igfData; + +} IGFDEC_INSTANCE, *IGF_DEC_INSTANCE_HANDLE; + + +/*---------------------------------------------------------------* + * Structure for TEC + *---------------------------------------------------------------*/ + +typedef struct tec_dec_structure +{ + float pGainTemp[CLDFB_NO_COL_MAX]; + float loBuffer[CLDFB_NO_COL_MAX + MAX_TEC_SMOOTHING_DEG]; + +} TEC_DEC_DATA, *TEC_DEC_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * TCX LTP decoder + *------------------------------------------------------------------------------------------*/ + +typedef struct tcx_ltp_dec_structure +{ + /* TCX-LTP */ + int16_t tcxltp; + float tcxltp_gain; + int16_t tcxltp_pitch_int; + int16_t tcxltp_pitch_fr; + + float tcxltp_mem_in[TCXLTP_MAX_DELAY]; + float tcxltp_mem_out[L_FRAME48k]; + int16_t tcxltp_pitch_int_post_prev; + int16_t tcxltp_pitch_fr_post_prev; + float tcxltp_gain_post_prev; + int16_t tcxltp_filt_idx_prev; + +} TCX_LTP_DEC_DATA, *TCX_LTP_DEC_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * TCX decoder + *------------------------------------------------------------------------------------------*/ + +typedef struct tcx_dec_structure +{ + int16_t enableTcxLpc; /* global toggle for the TCX LPC quantizer */ + int16_t envWeighted; /* are is{p,f}_old[] weighted or not? */ + + /* tonal PLC */ + float tcxltp_second_last_pitch; + float tcxltp_third_last_pitch; + float tcxltp_last_gain_unmodified; + + int16_t tcx_hm_LtpPitchLag; + int16_t tcx_lpc_shaped_ari; + + int16_t pit_min_TCX; + int16_t pit_max_TCX; + + int16_t L_frameTCX; + + float old_excFB[L_FRAME48k]; /* old excitation FB */ + + int16_t old_synth_len; + int16_t old_synth_lenFB; + float old_synth[OLD_SYNTH_INTERNAL_DEC]; /* synthesis memory */ + float synth_history[L_PROT48k + L_FRAME_MAX]; /* unified synthesis memory */ + + float *old_synthFB; + float *prev_good_synth; + + float old_syn_Overl[L_FRAME32k / 2]; + + float syn_Overl_TDAC[L_FRAME32k / 2]; + float syn_Overl_TDACFB[L_FRAME_MAX / 2]; + + float syn_Overl[L_FRAME32k / 2]; + float syn_OverlFB[L_FRAME_MAX / 2]; + + float FBTCXdelayBuf[111]; /* 2.3125ms at 48kHz -> 111 samples */ + + /*TCX resisual Q*/ + int16_t resQBits[NB_DIV]; /* number of bits read for the residual Quantization in TCX*/ + + /* PLC */ + int16_t noise_filling_index[NB_DIV]; /* PLC - last decoded noise filling index */ + int16_t tnsActive[NB_DIV]; + float ltpGainMemory[N_LTP_GAIN_MEMS]; /* for smoothing noiseTransWidth */ + uint16_t kernel_type[2]; /* transform kernel type in each subframe (MDCT or MDST) */ + + int16_t prev_widow_left_rect; + float CngLevelBackgroundTrace_bfi; /* PLC - long term gain estimate for background level, used for PLC fade out */ + /* state variables for the minimum statistics used for PLC */ + float NoiseLevelMemory_bfi[PLC_MIN_STAT_BUFF_SIZE]; + int16_t NoiseLevelIndex_bfi; + int16_t CurrLevelIndex_bfi; + float LastFrameLevel_bfi; + float old_gaintcx_bfi; + float conceal_eof_gain; + float damping; + float gainHelper; + float stepCompensate; + int16_t tcxConceal_recalc_exc; + float cummulative_damping_tcx; + +} TCX_DEC_DATA, *TCX_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * GSC static variables + *----------------------------------------------------------------------------------*/ + +typedef struct gsc_dec_structure +{ + int16_t seed_tcx; /* AC mode (GSC) - seed for noise fill */ + int16_t cor_strong_limit; /* AC mode (GSC) - Indicator about high spectral correlation per band */ + float old_y_gain[MBANDS_GN16k]; /* AC mode (GSC) - AR mem for low rate gain quantization */ + int16_t noise_lev; /* AC mode (GSC) - noise level */ + float lt_ener_per_band[MBANDS_GN16k]; + float Last_frame_ener; /* AC mode (GSC) - last frame energy */ + float Last_GSC_spectrum[L_FRAME16k]; /* AC mode (GSC) - Last good GSC spectrum */ + int16_t Last_GSC_pit_band_idx; /* AC mode (GSC) - Last pitch band index */ + float last_exc_dct_in[L_FRAME16k]; /* AC mode (GSC) - previous excitation */ + float last_ener; /* AC mode (GSC) - previous energy */ + int16_t last_bitallocation_band[6]; /* AC mode (GSC) - previous bit allocation of each band */ + +} GSC_DEC_DATA, *GSC_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * FEC - ACELP fast recovery + *----------------------------------------------------------------------------------*/ + +typedef struct WI_dec_structure +{ + float old_exc2[L_EXC_MEM]; /* FEC - old excitation2 used in fast recovery */ + float old_syn2[L_EXC_MEM]; /* FEC - old syn speech used in fast recovery */ + +} WI_DEC_DATA, *WI_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * NB postfilter / formant postfilter static variables + *----------------------------------------------------------------------------------*/ + +typedef struct pfstat_structure +{ + int16_t on; /* On/off flag */ + int16_t reset; /* reset flag */ + float mem_pf_in[L_SUBFR]; /* Input memory */ + float mem_stp[L_SUBFR]; /* 1/A(gamma1) memory */ + float mem_res2[DECMEM_RES2]; /* A(gamma2) residual */ + float mem_zero[M]; /* null memory to compute i.r. of A(gamma2)/A(gamma1) */ + float gain_prec; /* for gain adjustment */ + +} PFSTAT, *PFSTAT_HANDLE; + +/*----------------------------------------------------------------------------------* + * LD music post-filter + *----------------------------------------------------------------------------------*/ + +typedef struct ld_music_postfilt_structure +{ + float LDm_mem_etot; /* LD music post-filter - total energy memory */ + int16_t LDm_last_music_flag; /* LD music post-filter - last music flag */ + int16_t LDm_nb_thr_1; /* LD music post-filter - number of consecutive frames of level 1 */ + int16_t LDm_nb_thr_3; + float dct_post_old_exc[DCT_L_POST - OFFSET2]; + float LDm_thres[4]; /* LD music post-filter - Classification threshold */ + float LDm_lt_diff_etot[MAX_LT]; /* LD music post-filter - long-term total energy variation */ + float LDm_enh_lp_gbin[VOIC_BINS_HR]; /* LD music post-filter - smoothed suppression gain, per bin FFT */ + float LDm_enh_lf_EO[VOIC_BINS_HR]; /* LD music post-filter - old per bin E for previous half frame */ + float LDm_enh_min_ns_gain; /* LD music post-filter - minimum suppression gain */ + float LDm_bckr_noise[MBANDS_GN_LD]; /* LD music post-filter - background noise estimation per critical band */ + float filt_lfE[DCT_L_POST]; + int16_t last_nonfull_music; + +} MUSIC_POSTFILT_DATA, *MUSIC_POSTFILT_HANDLE; + +/*----------------------------------------------------------------------------------* + * Bass post-filter + *----------------------------------------------------------------------------------*/ + +typedef struct bass_postfilt_structure +{ + float pst_old_syn[NBPSF_PIT_MAX]; /* Bass post-filter - old synthesis buffer 1 */ + float pst_mem_deemp_err; /* Bass post-filter - filter memory of noise LP filter */ + float pst_lp_ener; /* Bass post-filter - long-term energy */ + int16_t Track_on_hist[L_TRACK_HIST]; /* Bass post-filter - History of half frame usage */ + int16_t vibrato_hist[L_TRACK_HIST]; /* Bass post-filter - History of frames declared as vibrato */ + float psf_att; /* Bass post-filter - post filter attenuation factor */ + float mem_mean_pit[L_TRACK_HIST]; /* Bass post-filter - average pitch memory */ + +} BPF_DEC_DATA, *BPF_DEC_HANDLE; + +/*------------------------------------------------------------------------------------------* + * DTX and TD CNG structure + *------------------------------------------------------------------------------------------*/ + +typedef struct td_cng_dec_structure +{ + int16_t cng_seed; /* DTX/CNG - seed for white noise random generator */ + float Enew; /* DTX/CNG - decoded residual energy */ + int16_t old_enr_index; /* DTX/CNG - index of last encoded CNG energy */ + int16_t cng_ener_seed; /* DTX/CNG - seed for random generator for variation of excitation energy */ + int16_t cng_ener_seed1; + int16_t last_allow_cn_step; + int16_t ho_hist_size; /* DTX/CNG - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ + int16_t ho_hist_ptr; /* DTX/CNG - pointer for averaging buffers */ + int16_t ho_sid_bw; /* DTX/CNG - SID bandwidth flags */ + float ho_lsp_hist[HO_HIST_SIZE * M]; /* DTX/CNG - old LSP buffer for averaging */ + float ho_ener_hist[HO_HIST_SIZE]; /* DTX/CNG - energy buffer for averaging */ + float ho_env_hist[HO_HIST_SIZE * NUM_ENV_CNG]; + int16_t act_cnt; /* DTX/CNG - counter of active frames */ + int16_t ho_circ_size; /* DTX/CNG - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ + int16_t ho_circ_ptr; /* DTX/CNG - pointer for averaging buffers */ + float ho_lsp_circ[HO_HIST_SIZE * M]; /* DTX/CNG - old LSP buffer for averaging */ + float ho_ener_circ[HO_HIST_SIZE]; /* DTX/CNG - energy buffer for averaging */ + float ho_env_circ[HO_HIST_SIZE * NUM_ENV_CNG]; + int16_t num_ho; /* DTX/CNG - number of selected hangover frames */ + int16_t ho_16k_lsp[HO_HIST_SIZE]; /* DTX/CNG - 16k LSPs flags */ + int16_t act_cnt2; /* DTX/CNG - counter of active frames for CNG_mode switching */ + float old_env[20]; + float lp_env[20]; + float exc_mem[24]; + float exc_mem1[30]; + + + float interpol_3_2_cng_dec[INTERP_3_2_MEM_LEN]; + + /* SWB DTX/CNG parameters */ + float shb_cng_ener; + float shb_lpcCNG[LPC_SHB_ORDER + 1]; + float shb_cng_gain; + float wb_cng_ener; + float last_wb_cng_ener; + float last_shb_cng_ener; + int16_t swb_cng_seed; + float lsp_shb_prev_prev[LPC_SHB_ORDER]; + float lsp_shb_prev[LPC_SHB_ORDER]; + int16_t shb_dtx_count; + int16_t trans_cnt; + int16_t burst_cnt; + float last_shb_ener; + +} TD_CNG_DEC_DATA, *TD_CNG_DEC_HANDLE; + +/*----------------------------------------------------------------------------------* + * SC-VBR structure + *----------------------------------------------------------------------------------*/ + +typedef struct sc_vbr_dec_structure +{ + int16_t firstTime_voiceddec; + + /* DTFS variables */ + float dtfs_dec_a[MAXLAG_WI]; + float dtfs_dec_b[MAXLAG_WI]; + int16_t dtfs_dec_lag; + int16_t dtfs_dec_nH; + int16_t dtfs_dec_nH_4kHz; + float dtfs_dec_upper_cut_off_freq_of_interest; + float dtfs_dec_upper_cut_off_freq; + float ph_offset_D; + float lastLgainD; /* previous gain value for the low band */ + float lastHgainD; /* previous gain value for the high band */ + float lasterbD[NUM_ERB_WB]; /* previous amplitude spectrum (ERB) */ + + /* NELP decoder variables */ + float bp1_filt_mem_nb_dec[14]; + float bp1_filt_mem_wb_dec[8]; + float shape1_filt_mem_dec[20]; + float shape2_filt_mem_dec[20]; + float shape3_filt_mem_dec[20]; + + int16_t nelp_dec_seed; + +} SC_VBR_DEC_DATA, *SC_VBR_DEC_HANDLE; + +/*----------------------------------------------------------------------------------* + * HQ NB FEC structure + *----------------------------------------------------------------------------------*/ + +typedef struct hq_nbfec_structure +{ + int16_t prev_last_core; /* !!! note: the parameter is identical to last_core in IVAS */ + + float diff_energy; + int16_t stat_mode_out; + int16_t stat_mode_old; + int16_t phase_mat_flag; + int16_t phase_mat_next; + int16_t old_Min_ind; + float old_auOut_2fr[L_FRAME8k * 2]; + float old_out_pha[2][N_LEAD_NB]; /* FEC for HQ Core, 0-phase matching old_out, 1-overlapping original old_out and phase matching old_out*/ + float ynrm_values[MAX_SB_NB][MAX_PGF]; + float r_p_values[MAX_SB_NB][MAX_ROW]; + float Norm_gain[SFM_N_NB]; + int16_t HQ_FEC_seed; + float energy_MA_Curr[2]; + int16_t prev_sign_switch[HQ_FEC_SIGN_SFM]; + int16_t prev_sign_switch_2[HQ_FEC_SIGN_SFM]; + float old_coeffs[L_FRAME8k]; /* HQ core - old coefficients (for FEC) */ + float oldIMDCTout[L_FRAME8k / 2]; + float prev_oldauOut[L_FRAME8k]; + +} HQ_NBFEC_DATA, *HQ_NBFEC_HANDLE; + +/*----------------------------------------------------------------------------------* + * HQ core structure + *----------------------------------------------------------------------------------*/ + +typedef struct hq_dec_structure +{ + float old_out[L_FRAME48k]; /* HQ core - previous synthesis for OLA */ + float old_outLB[L_FRAME32k]; + int16_t last_hq_core_type; + int16_t old_is_transient[3]; /* HQ core - previous transient flag (for FEC and BWE/NF) */ + + int16_t mem_norm[SFM_N_ENV_STAB]; + int16_t mem_env_delta; + int16_t no_att_hangover; + float energy_lt; + int16_t hq_generic_seed; + float prev_noise_level[2]; + int16_t prev_hqswb_clas; + int16_t prev_R; /* the table of bit allocation of last frame */ + float prev_coeff_out[L_HQ_WB_BWE]; /* the highest coefficients of last frame */ + int16_t prev_SWB_peak_pos[SPT_SHORTEN_SBNUM]; + + int16_t HqVoicing; + float fer_samples[L_FRAME48k]; + float prev_normq[SFM_N_WB]; /* previous norms */ + float prev_env[SFM_N_WB]; /* previous noise envelopes */ + + float last_ni_gain[BANDS_MAX]; + float last_env[BANDS_MAX]; + int16_t last_max_pos_pulse; + + /* pre-echo reduction */ + float memfilt_lb; + float mean_prev_hb; + float smoothmem; + float mean_prev; + float mean_prev_nc; + float wmold_hb; + int16_t prevflag; + int16_t pastpre; + int16_t prev_frm_hfe2; + int16_t prev_stab_hfe2; + float prev_ni_ratio; + float prev_En_sb[NB_SWB_SUBBANDS]; + + /*----------------------------------------------------------------------------------* + * HQ FEC + *----------------------------------------------------------------------------------*/ + + /* HQ PHASE ECU internal state */ + int16_t time_offs; + float X_sav[PH_ECU_SPEC_SIZE]; + int16_t num_p; + int16_t plocs[MAX_PLOCS]; + float plocsi[MAX_PLOCS]; + float env_stab; + int16_t mem_norm_hqfec[SFM_N_ENV_STAB]; + int16_t mem_env_delta_hqfec; + float env_stab_plc; + float env_stab_state_p[NUM_ENV_STAB_PLC_STATES]; + int16_t envstabplc_hocnt; + + float mag_chg_1st[LGW_MAX]; /* i/o: per band magnitude modifier for transients*/ + float Xavg[LGW_MAX]; /* Frequency group average gain to fade to */ + float beta_mute; /* Factor for long-term mute */ + + int16_t last_fec; + int16_t ph_ecu_HqVoicing; + int16_t oldHqVoicing; + float oldgapsynth[L_FRAME48k]; + int16_t ph_ecu_active; /* Set to 1 if Phase ECU was used in last bad frame; Set to 2 if TCX TD PLC was used */ + int16_t ni_seed_forfec; + int16_t ber_occured_in_pvq; /* flag for BER detection from PVQ routines */ + +} HQ_DEC_DATA, *HQ_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * HF (6-7kHz) (zero) BWE structure + *----------------------------------------------------------------------------------*/ + +typedef struct zero_bwe_dec_structure +{ + int16_t seed2; /* HF (6-7kHz) BWE - seed for random signal generator */ + float mem_hp400[4]; /* HF (6-7kHz) BWE - hp400 filter memory */ + float mem_hf[( L_FIR - 1 )]; /* HF (6-7kHz) BWE - band-pass filter memory */ + float mem_syn_hf[M]; /* HF (6-7kHz) BWE - synthesis filter memory */ + float delay_syn_hf[NS2SA( 16000, DELAY_CLDFB_NS )]; /* HF (6-7kHz) BWE - To synchronise BWE content with postfiltered synthesis */ + float mem_hp_interp[INTERP_3_1_MEM_LEN]; /* HF (6-7 kHz) BWE - interp. memory */ + +} ZERO_BWE_DEC_DATA, *ZERO_BWE_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * TD BWE structure + *----------------------------------------------------------------------------------*/ + +typedef struct td_bwe_dec_structure +{ + /* states for the filters used in generating SHB excitation from WB excitation */ + float state_lpc_syn[LPC_SHB_ORDER]; + float mem_csfilt[2]; + + /* states for the filters used in generating SHB signal from SHB excitation*/ + float state_syn_shbexc[L_SHB_LAHEAD]; + float syn_overlap[L_SHB_LAHEAD]; /* overlap buffer used to Adjust SHB Frame Gain*/ + + /* previous frame parameters for frame error concealment */ + float lsp_prevfrm[LPC_SHB_ORDER]; + float GainFrame_prevfrm; + float GainShape_Delay[NUM_SHB_SUBFR / 2]; + float GainAttn; + + float old_bwe_exc[PIT16k_MAX * 2]; /* old excitation */ + int16_t bwe_seed[2]; + float bwe_non_lin_prev_scale; + float old_bwe_exc_extended[NL_BUFF_OFFSET]; + + float genSHBsynth_Hilbert_Mem[HILBERT_MEM_SIZE]; + + float mem_genSHBexc_filt_down_shb[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float mem_genSHBexc_filt_down_wb2[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float mem_genSHBexc_filt_down_wb3[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float genSHBsynth_state_lsyn_filt_shb_local[2 * ALLPASSSECTIONS_STEEP]; + float state_lsyn_filt_shb[2 * ALLPASSSECTIONS_STEEP]; + float state_lsyn_filt_dwn_shb[2 * ALLPASSSECTIONS_STEEP]; + float mem_resamp_HB[INTERP_3_1_MEM_LEN]; + float mem_resamp_HB_32k[2 * ALLPASSSECTIONS_STEEP + 1]; + float prev_pow_exc16kWhtnd; /* power of the LB excitation signal in the previous frame */ + float prev_mix_factor; /* mixing factor in the previous frame */ + + int16_t syn_dm_phase; + float fbbwe_hpf_mem[4][4]; + float prev_wb_bwe_frame_pow; + float prev_swb_bwe_frame_pow; + float prev_ener; + float prev_GainShape; + float fb_state_lpc_syn[LPC_SHB_ORDER]; + float fb_tbe_demph; + float prev_fbbwe_ratio; + + float tbe_demph; + float tbe_premph; + float mem_stp_swb[LPC_SHB_ORDER]; + float *ptr_mem_stp_swb; + float gain_prec_swb; + float mem_zero_swb[LPC_SHB_ORDER]; + + float swb_lsp_prev_interp[LPC_SHB_ORDER]; + float prev1_shb_ener_sf, prev2_shb_ener_sf, prev3_shb_ener_sf, prev_res_shb_gshape, prev_mixFactors; + float tilt_mem; /* Formant factor adaptation tilt smoothing memory */ + float prev_lsf_diff[LPC_SHB_ORDER - 2]; + float prev_tilt_para; + float cur_sub_Aq[M + 1]; + + /* quantized data */ + int16_t lsf_idx[NUM_Q_LSF]; + int16_t m_idx; + int16_t grid_idx; + int16_t idxSubGains; + int16_t idxFrameGain; + int16_t idx_shb_fr_gain; + int16_t idx_res_gs[NB_SUBFR16k]; + int16_t idx_mixFac; + + int16_t lsf_WB; + int16_t gFrame_WB; + + int16_t idxGain; + + float old_core_synth[L_FRAME16k]; + float old_tbe_synth[L_SHB_TRANSITION_LENGTH]; + + float int_3_over_2_tbemem_dec[INTERP_3_2_MEM_LEN]; + + float old_hb_synth[L_FRAME48k]; + + float tilt_swb_fec; /* FEC - SWB TBE TILT */ + +} TD_BWE_DEC_DATA, *TD_BWE_DEC_HANDLE; + +/*----------------------------------------------------------------------------------* + * FD BWE structure + *----------------------------------------------------------------------------------*/ + +typedef struct fd_bwe_dec_structure +{ + float old_wtda_swb[L_FRAME48k]; + float old_syn_12k8_16k[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; + float mem_deemph_old_syn; + int16_t prev_mode; + float prev_SWB_fenv[SWB_FENV]; + float prev_Energy; + float prev_Energy_wb; + int16_t prev_L_swb_norm; + int16_t Seed; + int16_t prev_frica_flag; + float mem_imdct[L_FRAME48k]; + float prev_td_energy; + float prev_weight; + int16_t prev_flag; + float last_wb_bwe_ener; + float prev_fb_ener_adjust; + +} FD_BWE_DEC_DATA, *FD_BWE_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * HR SWB BWE structure + *----------------------------------------------------------------------------------*/ + +typedef struct hr_swb_bwe_dec_structure +{ + + int16_t bwe_highrate_seed; + float t_audio_prev[2 * END_FREQ_BWE_FULL_FB / FRAMES_PER_SEC - NUM_NONTRANS_START_FREQ_COEF]; + int16_t old_is_transient_hr_bwe; + float mem_EnergyLT; + +} HR_BWE_DEC_DATA, *HR_BWE_DEC_HANDLE; + + +/*---------------------------------------------------------------* + * PVQ range decoder state + *---------------------------------------------------------------*/ + +typedef struct pvq_dec_structure +{ + uint32_t rc_low; + uint32_t rc_range; + uint32_t rc_help; + int16_t rc_num_bits; + int16_t rc_offset; + int16_t rc_end; + +} PVQ_DEC_DATA, *PVQ_DEC_HANDLE; + + +/*---------------------------------------------------------------* + * AMR-WB IO mode decoder structure + *---------------------------------------------------------------*/ + +typedef struct amrwb_io_dec_structure +{ + float past_qua_en[GAIN_PRED_ORDER]; /* gain quantization memory (used also in AMR-WB IO mode) */ + + float prev_r; /* HF BWE - previous sub-frame gain */ + float fmerit_w_sm; /* HF BWE - fmerit parameter memory */ + int16_t frame_count; /* HF BWE - frame count */ + float ne_min; /* HF BWE - minimum Noise gate - short-term energy */ + float fmerit_m_sm; /* HF BWE - memory of fmerit_m param */ + float voice_fac_amr_wb_hf; /* HF BWE - voice factor */ + float unvoicing; /* HF BWE - unvoiced parameter */ + float unvoicing_sm; /* HF BWE - smoothed unvoiced parameter */ + int16_t unvoicing_flag; /* HF BWE - unvoiced flag */ + int16_t voicing_flag; /* HF BWE - voiced flag */ + int16_t start_band_old; /* HF BWE - previous start point for copying frequency band */ + float OptCrit_old; /* HF BWE - previous criterion value for deciding the start point */ + + /* Improvement of unvoiced and audio signals in AMR-WB IO mode */ + int16_t UV_cnt; /* number of consecutives frames classified as UV */ + float LT_UV_cnt; /* long-term consecutives frames classified as UV */ + float Last_ener; /* last_energy frame */ + float lt_diff_etot[MAX_LT]; /* stability estimation - long-term total energy variation */ + float old_Aq[NB_SUBFR * ( M + 1 )]; /* old LPC filter coefficient */ + float lt_voice_fac; /* average voice factor over 4 sub-frames */ + +} AMRWB_IO_DEC_DATA, *AMRWB_IO_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * + * Main decoder structure + * + *----------------------------------------------------------------------------------*/ + +typedef struct Decoder_State +{ + + /*----------------------------------------------------------------------------------* + * Common parameters + *----------------------------------------------------------------------------------*/ + + int16_t idchan; /* channel ID (audio channel number) */ + int16_t element_mode; /* element mode */ +#ifdef DEBUGGING + int16_t id_element; /* element ID */ +#endif + int32_t element_brate; /* element bitrate */ + int16_t codec_mode; /* Mode 1 or 2 */ + int16_t mdct_sw_enable; /* MDCT switching enable flag */ + int16_t mdct_sw; /* MDCT switching indicator */ + int16_t last_codec_mode; /* last used codec mode */ + + uint16_t *bit_stream; /* pointer to bitstream buffer */ + int16_t next_bit_pos; /* position of the next bit to be read from the bitstream */ + int16_t BER_detect; /* flag to signal detected bit error in the bitstream */ + int32_t output_Fs; /* output sampling rate */ + int32_t total_brate; /* total bitrate in kbps of the codec */ + int32_t last_total_brate; /* last total bitrate in kbps of the codec */ + int32_t last_total_brate_ber; /* last total bitrate in kbps of the codec - used only when first frame is lost and BER is detected afterwards */ + int16_t bits_frame_nominal; /* avg bits per frame on active frame */ + int32_t last_bits_frame_nominal; /* last avg bits per frame on active frame */ + int16_t flag_ACELP16k; /* flag indicating use of ACELP core at 16kHz internal sampling rate */ + int16_t bits_frame_channel; /* bits frame channel */ + int16_t side_bits_frame_channel; /* bits frame channel */ + int16_t core; /* core (ACELP_CORE, TCX_20_CORE, TCX_10_CORE, HQ_CORE, AMR_WB_CORE) */ + int16_t coder_type; /* coder type */ + int16_t transform_type[2]; /* TCX20/10/5 mode in each subframe */ + int32_t core_brate; /* core bitrate */ + int32_t last_core_brate; /* previous frame core bitrate */ + int16_t extl; /* extension layer */ + int16_t extl_orig; /* extension layer */ + int16_t last_extl; /* previous extension layer */ + int32_t extl_brate; /* extension layer bitrate */ + int32_t extl_brate_orig; /* extension layer bitrate */ + int16_t L_frame; /* ACELP core internal frame length */ + int16_t bwidth; /* encoded signal bandwidth */ + int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ + int16_t ini_frame; /* initialization frames counter */ + int16_t prev_coder_type; /* coding type of last frame */ + int16_t low_rate_mode; /* low-rate mode flag */ + + /*----------------------------------------------------------------------------------* + * ACELP core parameters + *----------------------------------------------------------------------------------*/ + + float old_exc[L_EXC_MEM_DEC]; /* old excitation */ + float lsp_old[M]; /* old LSP vector at the end of the frame */ + float lsf_old[M]; /* old LSF vector at the end of the frame */ + float tilt_code; /* tilt of code */ + float mem_syn1[M]; /* synthesis filter memory (for core switching and FD BWE) */ + float mem_syn2[M]; /* synthesis filter memory */ + float mem_syn3[M]; + float mem_deemph; /* deemphasis filter memory */ + float mem_AR[M]; /* AR memory of LSF quantizer (past quantized LSFs without mean) */ + float mem_MA[M]; /* MA memory of LSF quantizer (past quantized residual) */ + float stab_fac; /* LSF stability factor */ + float stab_fac_smooth; /* low-pass filtered stability factor */ + int16_t last_coder_type; /* previous coder type */ + float agc_mem2[2]; /* memory of AGC for saturation control */ + int16_t mid_lsf_int; + int16_t safety_net; + + int16_t GSC_noisy_speech; /* AC mode (GSC) - flag to indicate GSC on SWB noisy speech */ + int16_t GSC_IVAS_mode; /* AC mode (GSC) - GSC IVAS mode */ + int16_t Last_GSC_noisy_speech_flag; /* AC mode (GSC) - mem of the past flag to indicate GSC osn SWB noisy speech */ + GSC_DEC_HANDLE hGSCDec; + + float gc_threshold; /* Noise enhancer - threshold for gain_code */ + float dispMem[8]; /* Noise enhancer - phase dispersion algorithm memory */ + + ZERO_BWE_DEC_HANDLE hBWE_zero; /* HF (6-7kHz) BWE */ + + int16_t unv_cnt; /* Stationary noise UV modification - unvoiced frame counter */ + int16_t uv_count; /* Stationary noise UV modification - unvoiced counter */ + int16_t act_count; /* Stationary noise UV modification - activation counter */ + float ge_sm; /* Stationary noise UV modification - smoothed excitation gain */ + float lspold_s[M]; /* Stationary noise UV modification - old LSP vector */ + int16_t noimix_seed; /* Stationary noise UV modification - mixture seed */ + float min_alpha; /* Stationary noise UV modification - minimum alpha */ + float exc_pe; /* Stationary noise UV modification - memory of the preemphasis filter */ + + int16_t bfi; /* FEC - bad frame indicator */ + int16_t prev_bfi; /* FEC - previous bad frame indicator */ + int16_t prev_old_bfi; /* FEC - previous old bad frame indicator */ + int16_t seed; /* FEC - seed for random generator for excitation */ + float lp_ener_bfi; /* FEC - long-term active-signal average energy */ + int16_t last_good; /* FEC - clas of last good received */ + float lp_gainp; /* FEC - low-pass filtered pitch gain */ + float lp_gainc; /* FEC - low-pass filtered code gain */ + float lp_ener; /* FEC - low-pass filtered energy */ + float enr_old; /* FEC - energy of the concealed frame */ + float bfi_pitch; /* FEC - pitch for FEC */ + int16_t bfi_pitch_frame; /* FEC - frame length when pitch for FEC is saved */ + float old_pitch_buf[2 * NB_SUBFR16k + 2]; /* FEC - buffer of old subframe pitch values */ + int16_t upd_cnt; /* FEC - counter of frames since last update */ + int16_t scaling_flag; /* FEC - flag to indicate energy control of syn */ + float lp_ener_FEC_av; /* FEC - averaged voiced signal energy */ + float lp_ener_FEC_max; /* FEC - averaged voiced signal energy */ + float old_enr_LP; /* FEC - LP filter gain */ + int16_t prev_nbLostCmpt; /* FEC - compt for number of consecutive lost frame at the previous frame*/ + int16_t mode_lvq; /* FEC - index for LSF mean vector */ + float lsfoldbfi0[M]; /* FEC - LSF vector of the previous frame */ + float lsfoldbfi1[M]; /* FEC - LSF vector of the past previous frame */ + float lsf_adaptive_mean[M]; /* FEC - adaptive mean LSF vector for FEC */ + int16_t decision_hyst; /* FEC - hysteresis of the music/speech decision */ + WI_DEC_HANDLE hWIDec; + int16_t relax_prev_lsf_interp; + float mem_syn_clas_estim[L_SYN_MEM_CLAS_ESTIM]; /* FEC - memory of the synthesis signal for frame class estimation */ + + int16_t bpf_off; /* Bass post-filter - do not use BPF when this flag is set to 1 */ + BPF_DEC_HANDLE hBPF; /* Bass post-filter handle */ + + HANDLE_CLDFB_FILTER_BANK cldfbAna; /* main analysis filter bank handle */ + HANDLE_CLDFB_FILTER_BANK cldfbBPF; /* BPF analysis filter bank handle */ + HANDLE_CLDFB_FILTER_BANK cldfbSyn; /* main synthesis filter bank handle */ + HANDLE_CLDFB_FILTER_BANK cldfbSynHB; /* high band synthesis filter bank needed in SBA2Stereo DTX handling */ + + int16_t last_active_bandsToZero_bwdec; + int16_t last_flag_filter_NB; + float perc_bwddec; + int16_t active_frame_cnt_bwddec; + int16_t flag_buffer[20]; + int16_t total_frame_cnt_bwddec; + float avg_nrg_LT; + float ng_ener_ST; /* Noise gate - short-term energy */ + + int16_t last_L_frame; /* ACELP@16kHz - last value of st->L_frame */ + float mem_preemp_preQ; /* ACELP@16kHz - prequantizer preemhasis memory */ + int16_t last_nq_preQ; /* ACELP@16kHz - AVQ subquantizer number of the last sub-band of the last subframe */ + int16_t last_code_preq; /* ACELP@16kHz - last coefficient of the pre-quantizer contribution */ + int16_t use_acelp_preq; /* ACELP@16kHz - flag of prequantizer usage */ + + /* NB and formant post-filter */ + PFSTAT_HANDLE hPFstat; /* NB and formant post-filter states */ + float psf_lp_noise; /* NB post-filter - long-term noise */ + + float last_voice_factor; + float prev_synth_buffer[NS2SA( 48000, IVAS_DEC_DELAY_NS - DELAY_CLDFB_NS )]; + + int16_t old_bfi_cnt; /* HQ core - # of bfi until previous frame(for FEC) */ + + /*----------------------------------------------------------------------------------* + * DTX and TD CNG parameters + *----------------------------------------------------------------------------------*/ + + int16_t first_CNG; /* DTX/CNG - first CNG frame flag */ + int16_t cng_type; /* DTX/CNG - flag indicating LP or CLDFB based SID/CNG */ + int16_t last_vad; + int32_t last_active_brate; /* DTX/CNG - last active frame bitrate used for CNG_mode control */ + int16_t last_CNG_L_frame; /* DTX/CNG - last CNG frame length */ + + int16_t active_cnt; + + int16_t CNG_mode; /* DTX/CNG - mode for DTX configuration */ + float lspCNG[M]; /* DTX/CNG - LP filtered ISPs */ + + TD_CNG_DEC_HANDLE hTdCngDec; + int16_t masa_sid_format; + + /*----------------------------------------------------------------------------------* + * AMR-WB IO mode parameters + *----------------------------------------------------------------------------------*/ + + AMRWB_IO_DEC_HANDLE hAmrwb_IO; + + + /*----------------------------------------------------------------------------------* + * SC-VBR parameters + *----------------------------------------------------------------------------------*/ + + SC_VBR_DEC_HANDLE hSC_VBR; + + int16_t last_ppp_mode_dec; + int16_t ppp_mode_dec; + int16_t last_nelp_mode_dec; + int16_t nelp_mode_dec; + float prev_gain_pit_dec; + float prev_tilt_code_dec; + int16_t vbr_hw_BWE_disable_dec; + int16_t last_vbr_hw_BWE_disable_dec; + + /*----------------------------------------------------------------------------------* + * channel-aware mode + *----------------------------------------------------------------------------------*/ + + float tilt_code_dec[NB_SUBFR16k]; + + int16_t rf_frame_type; + int16_t use_partial_copy; + int16_t prev_use_partial_copy; + int16_t rf_flag; + int16_t rf_flag_last; + + int16_t rf_fec_offset; + int16_t next_coder_type; + int16_t prev_rf_frame_type; + int16_t rf_target_bits; + + int16_t rf_indx_nelp_fid; + int16_t rf_indx_nelp_iG1; + int16_t rf_indx_nelp_iG2[2]; + int16_t rf_indx_tbeGainFr; + + /*----------------------------------------------------------------------------------* + * HR SWB BWE parameters + *----------------------------------------------------------------------------------*/ + + HR_BWE_DEC_HANDLE hBWE_FD_HR; + + /*----------------------------------------------------------------------------------* + * HQ core parameters + *----------------------------------------------------------------------------------*/ + + HQ_DEC_HANDLE hHQ_core; + + int16_t last_core; + int16_t last_core_from_bs; /* last frame core as coded in TCX bitstream */ + + int16_t last_L_frame_ori; + float previoussynth[L_FRAME48k]; /* note: only 60+111 out of 960 samples are needed in IVAS (for ACELP->TCX switching */ + float old_synth_sw[NS2SA( 48000, FRAME_SIZE_NS - ACELP_LOOK_NS - DELAY_BWE_TOTAL_NS )]; /* note: buffer used only in EVS mono */ + float delay_buf_out[HQ_DELTA_MAX * HQ_DELAY_COMP]; + + float old_Aq_12_8[M + 1]; /* old Aq[] for core switching */ + float old_Es_pred; /* old Es_pred for core switching */ + + HQ_NBFEC_HANDLE hHQ_nbfec; + + /*----------------------------------------------------------------------------------* + * TBE parameters + *----------------------------------------------------------------------------------*/ + + TD_BWE_DEC_HANDLE hBWE_TD; + + int16_t old_bwe_delay; + float hb_prev_synth_buffer[NS2SA( 48000, DELAY_BWE_TOTAL_NS )]; + + /* WB/SWB bandwidth switching */ + float tilt_wb; + float tilt_swb; + float prev_ener_shb; + float enerLH; + float prev_enerLH; + float enerLL; + float prev_enerLL; + int16_t prev_fractive; + int16_t prev_bws_cnt; + int16_t bws_cnt; + int16_t bws_cnt1; + float attenu1; + int16_t last_inner_frame; + int16_t last_bwidth; + float t_audio_q[L_FRAME]; + + /*----------------------------------------------------------------------------------* + * SWB BWE structure + *----------------------------------------------------------------------------------*/ + + FD_BWE_DEC_HANDLE hBWE_FD; + + + /*----------------------------------------------------------------------------------* + * LD music post-filter + *----------------------------------------------------------------------------------*/ + + MUSIC_POSTFILT_HANDLE hMusicPF; + + /*----------------------------------------------------------------------------------* + * TCX LTP decoder handle + *----------------------------------------------------------------------------------*/ + TCX_LTP_DEC_HANDLE hTcxLtpDec; + + /*----------------------------------------------------------------------------------* + * TCX core decoder handle + *----------------------------------------------------------------------------------*/ + + TCX_DEC_HANDLE hTcxDec; + + + /*----------------------------------------------------------------------------------* + * Mode 2 + *----------------------------------------------------------------------------------*/ + + int16_t force_lpd_reset; + ACELP_config acelp_cfg; /* ACELP configuration set for each frame */ + ACELP_config acelp_cfg_rf; /* ACELP configuration for RF frame */ + + TCX_CONFIG_HANDLE hTcxCfg; /* TCX config */ + + int16_t bits_frame; /* bit per frame overall */ + int16_t bits_frame_core; /* bit per frame for the core */ + int16_t narrowBand; + + int16_t last_is_cng; + + float *acelp_zir; + float syn[M + 1]; + + int16_t bpf_gain_param; /* bass post-filter gain factor parameter (0->noBpf)*/ + + int16_t L_frame_past; + int16_t L_frameTCX_past; + + float lsfold_uw[M]; /* old lsf (unweighted) */ + float lspold_uw[M]; /* old lsp (unweighted) */ + int16_t seed_tcx_plc; /* seed memory (for random function in TCX PLC) */ + float past_gpit; /* past gain of pitch (for frame recovery) */ + float past_gcode; /* past energy (!) of code (for frame recovery) */ + float lsf_cng[M]; /* lsf coefficients used for CNG generation (long term) */ + float lspold_cng[M]; /* lsp coefficients used for CNG generation (long term) */ + float lsp_q_cng[M]; /* lsp coefficients used for CNG generation (short term interpolated) */ + float old_lsp_q_cng[M]; /* lsp coefficients used for CNG generation (short term interpolated) */ + float lsf_q_cng[M]; /* lsf coefficients used for CNG generation (short term interpolated) */ + float old_lsf_q_cng[M]; /* lsf: old quantized lsfs for background noise */ + float Aq_cng[( NB_SUBFR16k + 1 ) * ( M + 1 )]; /* LPC coefficients derived from CNG estimate */ + float mem_syn_unv_back[M]; /* filter memory for unvoiced synth */ + int16_t plcBackgroundNoiseUpdated; /* flag: Is background noise estimate updated? */ + float last_gain_syn_deemph; + float last_concealed_gain_syn_deemph; + + /* variables for framing */ + int16_t nb_subfr; + + int16_t fscale; + int16_t fscale_old; + int32_t sr_core; + + int16_t pit_min; + int16_t pit_fr1; + int16_t pit_fr1b; + int16_t pit_fr2; + int16_t pit_max; + int16_t pit_res_max; + int16_t pit_res_max_past; + + /*Preemphasis factor*/ + float preemph_fac; + float gamma; + + /*for AMR-WB like 6.4 to 7 kHz upsampling and noise filling*/ + float mem_Aq[NB_SUBFR16k * ( M + 1 )]; + + /* Error concealment */ + int16_t last_core_bfi; /* PLC - mode in previous frame */ + int16_t nbLostCmpt; /* PLC - compt for number of consecutive lost frame */ + + float old_fpitch; /* PLC - last pitch of previous frame (as transmitted) */ + float old_fpitchFB; /* PLC - last pitch of previous FB frame (depends on output sr) */ + int16_t clas_dec; /* PLC - frame class at the decoder */ + float mem_pitch_gain[2 * NB_SUBFR16k + 2]; /* PLC - Pitch gain memory */ + int16_t plc_use_future_lag; /* PLC - flag indicating if info (pitch lag / pitch gain) about future frame is usable */ + + float cummulative_damping; + float cngTDLevel; + int16_t reset_mem_AR; + int16_t rate_switching_init; + + /* LPC quantization */ + int16_t lpcQuantization; + int16_t numlpc; + + /* Bandwidth */ + float TcxBandwidth; + + float voice_fac; + + int16_t tcxonly; + + int16_t last_ctx_hm_enabled; + + TonalMDCTConcealPtr hTonalMDCTConc; + int16_t tonal_mdct_plc_active; + int16_t last_tns_active; + int16_t second_last_tns_active; + int16_t second_last_core; + + /* parameters for switching */ + float mem_syn_r[L_SYN_MEM]; /*LPC synthesis memory needed for rate switching*/ + int16_t rate_switching_reset; + + float bpf_noise_buf[L_FRAME16k]; + float *p_bpf_noise_buf; + + int16_t enableGplc; + int16_t flagGuidedAcelp; + int16_t T0_4th; + int16_t guidedT0; + + int16_t enablePlcWaveadjust; + int16_t tonality_flag; + T_PLCInfo_HANDLE hPlcInfo; + + int16_t VAD; + int16_t flag_cna; + int16_t last_flag_cna; + + float lp_noise; + + int16_t seed_acelp; + int16_t core_ext_mode; /*GC,VC,UC,TC: core extended mode used for PLC or Acelp-external modules.*/ + + int16_t dec_glr; + int16_t dec_glr_idx; + + DEC_MODE m_decodeMode; + uint8_t m_frame_type; /*ZERO_FRAME/SID_FRAME/ACTIVE_FRAME*/ + uint8_t m_old_frame_type; /*ZERO_FRAME/SID_FRAME/ACTIVE_FRAME*/ + + int16_t old_ppp_mode; + int16_t con_tcx; + int16_t last_con_tcx; + + int16_t writeFECoffset; + + /*----------------------------------------------------------------------------------* + * Frequency-domain-based CNG + *----------------------------------------------------------------------------------*/ + + HANDLE_FD_CNG_DEC hFdCngDec; + + /*----------------------------------------------------------------------------------* + * IGF + *----------------------------------------------------------------------------------*/ + + IGF_DEC_INSTANCE_HANDLE hIGFDec; + int16_t igf; + + /*----------------------------------------------------------------------------------* + * TEC + *----------------------------------------------------------------------------------*/ + + int16_t tec_tfa; + int16_t tec_flag; + int16_t tfa_flag; + TEC_DEC_HANDLE hTECDec; + + /*----------------------------------------------------------------------------------* + * Stereo/IVAS parameters + *----------------------------------------------------------------------------------*/ + + int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ + int16_t cna_dirac_flag; /* CNA in DirAC flag */ + int16_t cng_sba_flag; /* CNG in SBA flag */ + + /* MCT Channel mode indication: LFE, ignore channel? */ + MCT_CHAN_MODE mct_chan_mode; + + +} Decoder_State, *DEC_CORE_HANDLE; + +#endif diff --git a/lib_enc/ivas_rom_enc.h b/lib_enc/ivas_rom_enc.h new file mode 100644 index 0000000000..8bcad95506 --- /dev/null +++ b/lib_enc/ivas_rom_enc.h @@ -0,0 +1,130 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_ROM_ENC_H +#define IVAS_ROM_ENC_H + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "cnst.h" +#include "ivas_cnst.h" + + +/*----------------------------------------------------------------------------------* + * Stereo classifiers + *----------------------------------------------------------------------------------*/ + +extern const int16_t unclr_isel_td[]; +extern const float unclr_mean_td[]; +extern const float unclr_scale_td[]; +extern const float unclr_coef_td[]; + +extern const int16_t xtalk_isel_td[]; +extern const float xtalk_mean_td[]; +extern const float xtalk_scale_td[]; +extern const float xtalk_coef_td[]; + +extern const int16_t xtalk_isel_dft[]; +extern const float xtalk_mean_dft[]; +extern const float xtalk_scale_dft[]; +extern const float xtalk_coef_dft[]; + +extern const int16_t unclr_isel_dft[]; +extern const float unclr_mean_dft[]; +extern const float unclr_scale_dft[]; +extern const float unclr_coef_dft[]; + +/*----------------------------------------------------------------------------------* + * Stereo IC-BWE ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float icbwe_thr_TDM[]; +extern const float icbwe_thr_DFT[]; +extern const float icbwe_regressionValuesTDM[]; +extern const float icbwe_regressionValuesDFT[]; + +/*----------------------------------------------------------------------------------* + * DFT stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t itd_vad_band_tbl[]; +extern const int16_t ild_q[]; + +extern const float Wn_table[]; + +extern const float win_ana_8k[STEREO_DFT_OVL_8k]; +extern const float win_ana_12k8[STEREO_DFT_OVL_12k8]; +extern const float win_ana_16k[STEREO_DFT_OVL_16k]; +extern const float win_ana_32k[STEREO_DFT_OVL_32k]; +extern const float win_ana_48k[STEREO_DFT_OVL_MAX]; + +extern const float win_syn_8k[STEREO_DFT_OVL_8k]; +extern const float win_syn_12k8[STEREO_DFT_OVL_12k8]; +extern const float win_syn_16k[STEREO_DFT_OVL_16k]; +extern const float win_syn_32k[STEREO_DFT_OVL_32k]; +extern const float win_syn_48k[STEREO_DFT_OVL_MAX]; + +extern const float win_mdct_8k[STEREO_DFT_OVL_8k]; + +/*----------------------------------------------------------------------------------* + * Range Coder ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float ari_bit_estimate_s17_LC[RANGE_N_CONTEXT][RANGE_N_SYMBOLS]; + +/*----------------------------------------------------------------------------------* + * ECLVQ Stereo ROM tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t log2_1px_table[65]; +extern const float log2TB[ECSQ_log2TB_SIZE]; +extern const float ECSQ_log2_fact[1 + ECSQ_SEGMENT_SIZE]; +extern const uint16_t ECSQ_tab_param[ECSQ_CONFIG_COUNT][1 + ECSQ_PARAM_COUNT]; +extern const uint16_t *const ECSQ_tab_abs_lsbs[1 + 4]; +extern const uint16_t ECSQ_tab_vals[ECSQ_PARAM_COUNT - 1][1 + ECSQ_TAB_VALS_SIZE]; + + +/*----------------------------------------------------------------------------------* + * Stereo downmix to EVS ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float Stereo_dmx_s_wnd_coef_16k[L_FRAME16k >> 4]; +extern const float Stereo_dmx_s_wnd_coef_32k[L_FRAME32k >> 4]; +extern const float Stereo_dmx_s_wnd_coef_48k[L_FRAME48k >> 4]; +extern const float Stereo_dmx_wnd_coef_32k[L_FRAME32k]; +extern const float Stereo_dmx_wnd_coef_48k[L_FRAME48k]; + + +#endif diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h new file mode 100644 index 0000000000..dfe32a9a02 --- /dev/null +++ b/lib_enc/ivas_stat_enc.h @@ -0,0 +1,1082 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_STAT_ENC_H +#define IVAS_STAT_ENC_H + +#include <stdint.h> +#include "options.h" +#include "ivas_cnst.h" +#include "cnst.h" +#include "stat_enc.h" +#include "ivas_cnst.h" +#include "ivas_stat_com.h" + +/*----------------------------------------------------------------------------------* + * DFT Stereo encoder structures + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_itd_data_struct +{ + int16_t prev_itd; + float itd[STEREO_DFT_ENC_DFT_NB]; + float deltaItd[STEREO_DFT_ENC_DFT_NB]; + int16_t td_itd[STEREO_DFT_ENC_DFT_NB]; + int16_t td_itd_32k[STEREO_DFT_ENC_DFT_NB]; + int16_t itd_index[STEREO_DFT_ENC_DFT_NB]; + float xcorr_smooth[STEREO_DFT_N_32k_ENC]; + float lp_phat_peak; /* low-pass GCC PHAT peak value */ + int16_t itd_hangover; /* ITD hangover counter */ + int16_t itd_cnt; /* Consecutive valid ITD counter */ + float prev_sum_nrg_L_lb; + float prev_xcorr_lb[STEREO_DFT_XCORR_LB_MAX]; + float E_band_n[STEREO_DFT_ITD_VAD_BAND_NUM]; + int16_t vad_frm_cnt; + int16_t pre_vad; + int16_t itd_nonzero_cnt; + float acorr_L[STEREO_DFT_BAND_MAX]; + float acorr_R[STEREO_DFT_BAND_MAX]; + float cohSNR; + float itd_thres; + int16_t valid_itd_cnt; /* Extra variable to store value of itd_cnt for fine-control decision making */ + + int16_t detected_itd_flag; + int16_t itd_tracking; + float prev_max; + int16_t prev_index; + float prev_avg_max; + float currFlatness; + + /* Xtalk classifier */ + float prev_m1; + float prev_m2; + int16_t prev_itd1; + int16_t prev_itd2; + +} ITD_DATA, *ITD_DATA_HANDLE; + +typedef struct dft_ana_struct +{ + /*Sizes*/ + int16_t N; /* Size of the frame and hop */ + int16_t NFFT; /* Size of the FFT=frame size+overlap */ + + /*FFT*/ + int16_t dft_ovl; /* Overlap size */ + int16_t dft_zp; /* Zero padding */ + + const float *win_ana; /* DFT analysis window */ + const float *dft_trigo; + const float *dft_trigo_32k; + int16_t dft_trigo_step; + +} DFT_ANA, *DFT_ANA_HANDLE; + +/* State of the range encoder */ +typedef struct +{ + uint32_t rc_low; + uint32_t rc_range; + int16_t rc_cache; + int16_t rc_carry; + int16_t rc_carry_count; + + uint8_t byte_buffer[RANGE_UNI_BUFFER_BYTES_MAX]; + int16_t byte_count; + int16_t last_byte_bit_count; + +} RangeUniEncState; + + +typedef struct stereo_dft_enc_data_struct +{ + STEREO_DFT_CONFIG_DATA_HANDLE hConfig; + + /*Sizes*/ + int16_t N; /* Size of the frame and hop */ + int16_t NFFT; /* Size of the FFT=frame size+overlap */ + + /*FFT*/ + float DFT[CPE_CHANNELS][STEREO_DFT_N_MAX_ENC]; + int16_t dft_ovl; /* Overlap size */ + int16_t dft_zp; /* Zero padding */ + + const float *win; /* DFT window */ + const float *win_8k; /* DFT window */ + const float *win_12k8; /* DFT window */ + const float *win_16k; /* DFT window */ + const float *win_32k; /* DFT window */ + + const float *win_ana; /* DFT analysis window */ + const float *win_ana_8k; /* DFT analysis window */ + const float *win_ana_12k8; /* DFT analysis window */ + const float *win_ana_16k; /* DFT analysis window */ + const float *win_ana_32k; /* DFT analysis window */ + + const float *win_mdct_8k; /* DFT analysis window */ + + const float *dft_trigo; + const float *dft_trigo_8k; + const float *dft_trigo_12k8; + const float *dft_trigo_16k; + const float *dft_trigo_32k; + int16_t dft_trigo_step; + + float output_mem_res_8k[STEREO_DFT_OVL_8k]; + + /*I/O channel buffers */ + float output_mem_dmx[STEREO_DFT_OVL_MAX]; + float output_mem_dmx_12k8[STEREO_DFT_OVL_12k8]; + float output_mem_dmx_16k[STEREO_DFT_OVL_16k]; /*can hold 16, 12.8 or 32kHz signals*/ + float output_mem_dmx_32k[STEREO_DFT_OVL_32k]; /*can hold 16, 12.8 or 32kHz signals*/ + float output_mem_dmx_16k_shb[STEREO_DFT_OVL_16k]; + float input_mem_itd[CPE_CHANNELS][STEREO_DFT_OVL_MAX]; + + /*Bands*/ + int16_t band_res[STEREO_DFT_ENC_DFT_NB]; + int16_t band_limits[STEREO_DFT_BAND_MAX + 1]; + int16_t nbands; + int16_t band_limits_dmx[STEREO_DFT_BAND_MAX + 1]; + int16_t nbands_dmx; + + /*Stereo parameters*/ + float past_nrgL[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; + float past_nrgR[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; + float past_dot_prod_real[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; + float past_dot_prod_imag[STEREO_DFT_NRG_PAST_LEN * STEREO_DFT_BAND_MAX]; + int16_t nrg_past_pos; + + /*Side Gain*/ + float side_gain[STEREO_DFT_ENC_DFT_NB * STEREO_DFT_BAND_MAX]; + int16_t side_gain_flag_1; + int16_t side_gain_flag_2; + int16_t side_gain_index_ECDiff[STEREO_DFT_BAND_MAX]; + int16_t side_gain_index_ECprevious[STEREO_DFT_BAND_MAX]; + int16_t side_gain_index_EC[STEREO_DFT_BAND_MAX]; + int16_t side_gain_counter; + float side_gain_bitdiff_lp; + + /* Stereo CNG */ + float sidSideGain[STEREO_DFT_ERB4_BANDS]; + float win_ana_energy; + float xspec_smooth[STEREO_DFT_N_32k_ENC]; + float Spd_L_smooth[STEREO_DFT_N_32k_ENC / 2]; + float Spd_R_smooth[STEREO_DFT_N_32k_ENC / 2]; + float sid_gipd; + int16_t coh_fade_counter; +#ifdef FIX_ITD_CNG + float prev_sid_gipd; + int16_t prev_sid_no_ipd_flag; +#endif + + /*IPD*/ + float gipd[STEREO_DFT_ENC_DFT_NB]; + int16_t gipd_band_max; + int16_t gipd_index; + int16_t no_ipd_flag; /* flag to indicate when group IPD gets used */ + int16_t prev_no_ipd_flag; /* flag from previous frame */ + int16_t no_ipd_cnt; /* counter */ + int16_t no_ipd_cnt1; /* counter */ + int16_t attackPresent; + int16_t wasTransient; + float gainIPD_sm; /* long-term gain IPD for NIPD detection */ + float sfm; + float sum_dot_prod_real; + float sum_dot_prod_img; + + /*ITD*/ + ITD_DATA_HANDLE hItd; + + float voicing_lt; + +#ifdef ITD_WINNER_GAIN_MODIFY + float noise_coherence; + int16_t local_vad; + int16_t mus_flag; + float spd_L_noise[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of spectral power density of noise in the left channel*/ + float spd_R_noise[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of spectral power density of noise in the right channel*/ + float spd_L_noise_min[STEREO_DFT_N_32k_ENC / 2]; + float spd_R_noise_min[STEREO_DFT_N_32k_ENC / 2]; + float spd_L_noise_max[STEREO_DFT_N_32k_ENC / 2]; + float spd_R_noise_max[STEREO_DFT_N_32k_ENC / 2]; + float winner_gain_L[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of the Winner gain of the left channel*/ + float winner_gain_R[STEREO_DFT_N_32k_ENC / 2]; /*The estimation of the Winner gain of the right channel*/ + float spd_L_smooth_new[STEREO_DFT_N_32k_ENC / 2]; + float spd_R_smooth_new[STEREO_DFT_N_32k_ENC / 2]; + +#endif + +#ifdef FIX_ITD_CNG + int16_t currentNumUpdates; + int16_t expectedNumUpdates; /* Expected number of frames before use of ITD estimate */ + int16_t resetFrames; +#endif + + /* energy buffers for ICBWE */ + float nrg_L[2]; + float nrg_R[2]; + float nrg_DMX[2]; + + /*Residual prediction*/ + int16_t res_pred_mode[STEREO_DFT_ENC_DFT_NB]; /* mode from 0 (off) to 1 (on) */ + float res_pred_gain[STEREO_DFT_ENC_DFT_NB * STEREO_DFT_BAND_MAX]; /*prediction gain for the residual HFs */ + int16_t res_pred_band_min; /* Band min for prediction of residual */ + int16_t res_pred_flag_1; + int16_t res_pred_flag_2; + int16_t res_pred_counter; + float res_pred_gain_f[STEREO_DFT_BAND_MAX]; + int16_t res_pred_index_EC[STEREO_DFT_BAND_MAX]; + int16_t res_pred_index_ECDiff[STEREO_DFT_BAND_MAX]; + int16_t res_pred_index_ECprevious[STEREO_DFT_BAND_MAX]; + int16_t reverb_flag; + float pre_sub_nrg_DMX[STEREO_DFT_BAND_MAX]; + float diff_l_h_sm; + float diff_r_h_sm; + float prev_fac2; + + /*Residual coding*/ + int16_t res_cod_mode[STEREO_DFT_ENC_DFT_NB]; /* mode from 0 (off) to 3 */ + int16_t res_cod_band_max; /* Band max for coding of residual */ + int16_t res_cod_line_max; /* Maximum number of MDCT lines to code for the residual coding */ + float res_cod_NRG_M[STEREO_DFT_BAND_MAX]; + float res_cod_NRG_S[STEREO_DFT_BAND_MAX]; + float res_cod_SNR_M[STEREO_DFT_BAND_MAX]; + float old_snr; + + /* flags and data for adaptive wideband residual coding */ + float res_dmx_ratio_lt; /* long term energy ratio between RES and DMX */ + int16_t hangover_cnt0; /* counter 0 for hangover */ + int16_t hangover_cnt1; /* counter 1 for hangover */ + float dmx_res_all_prev; /* energy of the previous frame */ + int16_t last_res_cod_mode_modify_flag; /* a flag to indicate whether the res_cod_mode_flag has been modified for the switching frame in which res_cod_mode_flag should be swithced from 1 to 0 */ + int16_t res_cod_sw_flag; /* a flag to indicate whether it is a switching frame */ + float switch_fade_factor; /* Adaptive fade factor for switch frame */ + + /*misc*/ + float icbweRefEner; + float lbEner; + int16_t flip_sign; +#ifdef DEBUG_MODE_DFT + int16_t verbose; + int16_t res_cod_bits; +#endif + +} STEREO_DFT_ENC_DATA, *STEREO_DFT_ENC_DATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * MDCT Stereo encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_mdct_enc_data_structure +{ + /* static members */ + STEREO_MDCT_BAND_PARAMETERS stbParamsTCX20; /* stereo frequency band parameters for TCX20 */ + STEREO_MDCT_BAND_PARAMETERS stbParamsTCX10; /* stereo frequency band parameters for TCX10 */ + STEREO_MDCT_BAND_PARAMETERS stbParamsTCX20afterACELP; /* stereo frequency band parameters for transition frames */ + + /* only intraframe */ + int16_t mdct_stereo_mode[2]; /* mdct stereo mode: LR, MS, band-wise MS */ +#ifdef DEBUGGING + int16_t mdct_stereo_mode_cmdl; /* MDCT stereo mode from command-line */ + int16_t fDualMono; /* force dual mono in MDCT stereo mode */ + int16_t fMSstereo; /* force full-band MS in MDCT stereo mode */ +#endif + int16_t global_ild[2]; /* Quantized ILD for the whole spectrum */ + int16_t split_ratio; /* Ratio of bitrate (1 to 7), split_ratio = 8 * 1st chn bitrate / (1st + 2nd chn bitrate) */ + + int16_t IGFStereoMode[2]; /* MDCT stereo mode for IGF */ + + ITD_DATA_HANDLE hItd; + DFT_ANA_HANDLE hDft_ana; + + int16_t sw_uncorr; + + int16_t isSBAStereoMode; + +} STEREO_MDCT_ENC_DATA, *STEREO_MDCT_ENC_DATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * TD Stereo encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_td_enc_data_structure +{ + int16_t tdm_lp_reuse_flag; /* Flag that indicate if it is possible to reuse the LP coefficient from the primary channel or not */ + int16_t tdm_low_rate_mode; /* secondary channel low rate mode flag */ + float tdm_Pri_pitch_buf[NB_SUBFR]; + int16_t tdm_Pitch_reuse_flag; + + float tdm_lt_corr_RM; /* Long term right-mono correlation */ + float tdm_lt_corr_LM; /* Long term left-mono correlation */ + float tdm_last_diff_lt_corr; /* long term correlation difference mem */ + float tdm_last_ratio; /* Last TDM ratio */ + + float tdm_lt_rms_L; /* Left channel long term rms */ + float tdm_lt_rms_R; /* Right channel long term rms */ + float tdm_last_ener_lt_R; /* Right channel long term energy */ + float tdm_last_ener_lt_L; /* Left channel long term energy */ + + int16_t tdm_last_ratio_idx; /* last TDM ratio index */ + int16_t tdm_last_SM_flag; /* Flag to signal a SM encoding scheme -> better for some music item */ + int16_t tdm_ratio_transition_mov_flag; /* Flag that indicates that L-R energy is changing */ + int16_t tdm_ratio_transition_cnt; /* Counter */ + int16_t tdm_hyst_cnt; /* Counter */ + int16_t tdm_prev_stable_idx; /* Previous Transmitted ratio index*/ + int16_t tdm_prev_desired_idx; /* Previous Transmitted ratio index*/ + float tdm_LT_es_em; /* Long term evoluation of the side to mono energy ratio */ + int16_t tdm_use_IAWB_Ave_lpc; /* Flag to indicate the usage of mean inactive LP coefficients */ + + /* NOOP parameters */ + float tdm_lt_corr_RM_SM; /* Long term right-mono correlation in SM mode*/ + float tdm_lt_corr_LM_SM; /* Long term left-mono correlation in SM mode*/ + float tdm_last_diff_lt_corr_SM; /* long term correlation difference mem in SM mode*/ + float tdm_last_ratio_SM; /* Last TDM ratio in SM mode*/ + + float tdm_lt_rms_L_SM; /* Left channel long term rms in SM mode*/ + float tdm_lt_rms_R_SM; /* Right channel long term rms in SM mode*/ + float tdm_last_ener_lt_R_SM; /* Right channel long term energy in SM mode*/ + float tdm_last_ener_lt_L_SM; /* Left channel long term energy in SM mode*/ + + int16_t tdm_last_ratio_idx_SM; /* last TDM ratio index in SM mode*/ + int16_t tdm_last_SM_flag_noop; /* Flag to signal a SM encoding scheme -> better for some music item in SM mode*/ + int16_t tdm_noop_mov_flag; /* Flag that indicates that L-R energy is changing in SM mode*/ + int16_t tdm_noop_cnt; /* Counter in SM mode*/ + int16_t tdm_hyst_cnt_SM; /* Counter in SM mode*/ + int16_t tdm_prev_stable_idx_SM; /* Previous Transmitted ratio index in SM mode*/ + int16_t tdm_prev_desired_idx_SM; /* Previous Transmitted ratio index in SM mode*/ + float tdm_LT_es_em_SM; /* Long term evoluation of the side to mono energy ratio in SM mode*/ + int16_t tdm_NOOP_cnt; /* Counter for channel combination scheme */ + int16_t tdm_SM_flag; /* Flag for channel combination scheme */ + int16_t tdm_SM_last2_clas[2]; /* Class of the frame immediately prior to the previous frame */ + int16_t tdm_SM_last_clas[2]; /* Class of the previous frame */ + int16_t tdm_SM_modi_flag; /* Flag that indicates to modify ratio */ + int16_t tdm_SM_reset_flag; /* Flag that indicates to reset the parameters for SM mode */ + + int16_t tdm_FD2LRTD_SW_cnt; /* Count the number of frames following a FD to LRTD switching */ + int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ + int16_t prev_fr_LRTD_TD_dec; /* At the beginning of a frame, contains the previous LRTD decision that might have been modified during last frame */ + int16_t tdm_inst_ratio_idx; /* Instantaneous correlation ratio index */ + int16_t tdm_last_inst_ratio_idx; /* previous frame instantaneous correlation ratio index */ + int16_t tdm_vad_hangover_cnt; /* Count the number of frames where hangover_cnt >= 5 in both primary and secondary channel */ + int16_t tdm_ini_frame_cnt; /* Count the number of frame to decide how to evaluate the local VAD of primary and secondary channel */ + int16_t tdm_last_LRTD_frame_cnt; /* Count the number of frame since the last LRTD frame */ + int16_t tdm_last_LRTD_PriCh_cnt; /* Count the number of frame since the primary channel changed */ + int16_t flag_skip_DMX; /* flag that indicates whether the TD downmixing is skipped */ + +} STEREO_TD_ENC_DATA, *STEREO_TD_ENC_DATA_HANDLE; + + +/*----------------------------------------------------------------------------------* + * ICA Stereo encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_tca_enc_data_structure +{ + int16_t refChanIndx; /* reference channel index in current frame */ + int16_t prevRefChanIndx; /* reference channel index in previous frame */ + int16_t indx_ica_NCShift; /* ICA target channel inter-channel corrstats */ + int16_t indx_ica_gD; /* ICA target gain */ + float targetGain; /* gain norm applied on target (or right) channel in current frame */ + float instTargetGain; /* instantaneous gain norm applied on target (or right) channel in current frame */ + float prevTargetGain; /* gain norm applied on target (or right) channel in previous frame */ + float corrStatsSmoothFac; /* gD/corrStats smoothing based on corrStats */ + + int16_t lMemRecalc; + int16_t lMemRecalc_12k8; + int16_t lMemRecalc_16k; + + int16_t corrLagStats[3]; /* corr lag stats in current frame */ + int16_t prevCorrLagStats[3]; /* corr lag stats in previous frame */ + + float memChanL[L_MEM_RECALC_48K + L_MEM_RECALC_48k_SCH]; /* left channel input to correct at the cross-over */ + float memChanR[L_MEM_RECALC_48K + L_MEM_RECALC_48k_SCH]; /* right channel input to correct at the cross-over */ + + float memChanL_DS[ADDED_MEM_DS]; /* left channel input speech memory for downmix */ + float memChanR_DS[ADDED_MEM_DS]; /* right channel input speech memory for downmix */ + float mem_tempF; + float memdecim[12]; /* memory for pre-rmphasis filter for resampling */ + float corrEstPrev[3][2 * L_NCSHIFT_DS + 1]; /* Prev correlation vector */ + float corrEstLT[2 * L_NCSHIFT_DS + 1]; /* Long term correlation vector smoothed */ + + float ica_envVarLT; + float C_mem[2 * L_NCSHIFT_DS + 1]; + float E1_mem, E2_mem; + float delay_0_mem[MAX_DELAYREGLEN]; + float smooth_dist_reg_prv_corr; + int16_t LRTD_G_ATT_cnt; + +} STEREO_TCA_ENC_DATA, *STEREO_TCA_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Stereo IC_BWE encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_icbwe_enc_data_structure +{ + int16_t prev_refChanIndx_bwe; + int16_t refChanIndx_bwe; + /* SHB speech resampler memory */ + float memHPF[8]; + float mem_decim_shb_ch0[2 * L_FILT_MAX]; + + /* SHB speech non-ref channel */ + float mem_shb_speech_ref[L_LOOK_16k]; + float mem_shb_speech_nonref[L_LOOK_16k]; + + /* unscaled & scaled SHB synthesis memory */ + float mem_lpc_shbsynth_nonref[LPC_SHB_ORDER]; + + /* inter-channel BWE spectral shape adj. */ + float prevSpecMapping; + float memShbSpecMapping; + float memShbSpecXcorr[6]; + float prevgsMapping; + + float prevRefEner; + float prevNonRefEner; + + float memGsEnerMap[2]; + + float dec_2over3_mem[L_FILT_2OVER3]; + float dec_2over3_mem_lp[L_FILT_2OVER3_LP]; + float icbwe_inp_mem[CPE_CHANNELS][NS2SA( 48000, L_MEM_RECALC_TBE_NS )]; + float *dataChan[CPE_CHANNELS]; + float memModifyFs_icbwe[CPE_CHANNELS][2 * L_FILT32k]; + + float mem_nrg_L[CPE_CHANNELS]; + float mem_nrg_R[CPE_CHANNELS]; + float mem_nrg_DMX[CPE_CHANNELS]; + float gDes_pastFrame; + float icbweRefEner; + + float shbSynthRef[L_FRAME16k]; + float nlExc16k[L_FRAME16k]; + float mixExc16k[L_FRAME16k]; + float lpSHBRef[LPC_SHB_ORDER + 1]; + + int16_t MSFlag; + +} STEREO_ICBWE_ENC_DATA, *STEREO_ICBWE_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * stereo classifiers structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_stereo_classifier_data_structure +{ + /* features for xtalk classifier and UNCLR classifier */ + int16_t clas_ch1; + int16_t pitch_ch1[3]; + float voicing_ch1[3]; + float cor_map_sum_ch1; + float lsf_ch1[M]; + float lepsP_ch1; + float dE1_ch1, dE1_ch2; + float nchar_ch1, nchar_ch2; + float non_sta_ch1; + float sp_div_ch1; + float ps_diff_ch1, ps_diff_ch2; + float ps_sta_ch1, ps_sta_ch2; + float prev_g_IPD; + float prev_IPD; + float prev_ratio_m1_m2; + float ratio_L; + int16_t vad_flag_glob; + int16_t vad_relE; + + int16_t aEn_raw[CPE_CHANNELS]; /* raw aEn for local relative energy estimation */ + float ave_ener_L; /* average energy of the L channel */ + float ave_ener_R; /* average energy of the R channel */ + float Etot_dn; /* average energy in dB - lower bound */ + float Etot_up; /* average energy in dB - upper bound */ + float relE_buf[UNCLR_L_RELE]; /* running buffer for relative energy */ + float Etot_buf[UNCLR_L_ETOT]; /* running buffer for average energy in dB */ + float relE_0_1; /* relative energy in the current frame normalized to (0,1) */ + float relE_0_1_LT; + + int16_t unclr_sw_enable_cnt[CPE_CHANNELS]; /* UNCLR classifier - counter of frames suitable for UNCLR switching */ + + float unclr_relE_0_1_LT[UNCLR_RC_ORDER]; + float unclr_wscore; + int16_t unclr_decision; /* UNCLR stereo classifier decision (0/1) */ + float unclr_fv[SSC_MAX_NFEA]; /* UNCLR - feature vector */ + int16_t unclr_corrLagMax_prev; + + float xtalk_score_buf[XTALK_SCORE_BUF_LEN]; + int16_t xtalk_decision; /* xtalk stereo classifier decision (0/1) */ + float xtalk_fv[SSC_MAX_NFEA]; /* xtalk - feature vector */ + float xtalk_wscore; + float xtalk_score; + float xtalk_score_wrelE; + + int16_t lrtd_mode; + int16_t prev_lrtd_mode; + + float is_speech; + int16_t silence_flag; + +} STEREO_CLASSIF_DATA, *STEREO_CLASSIF_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Front-VAD structure + *----------------------------------------------------------------------------------*/ + +typedef struct front_vad_enc +{ + int16_t ini_frame; /* initialization frames counter */ + float lp_speech; /* long term speech average */ + float lp_noise; /* long term noise average */ + float mem_decim[2 * L_FILT_MAX]; /* decimation filter memory */ + float buffer_12k8[3 * L_FRAME / 2]; /* 12k8 signal buffer */ + float mem_preemph; /* preemph filter memory */ + NOISE_EST_HANDLE hNoiseEst; /* Noise estimation handle */ + VAD_HANDLE hVAD; /* VAD handle */ + float *delay_buf; + int16_t delay_samples; +#ifdef FIX_ITD_CNG + int16_t rem_dtx_ho; /* Remaining hangover frames */ +#endif + +} FRONT_VAD_ENC, *FRONT_VAD_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * DirAC encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_dirac_enc_data_structure +{ + DIRAC_CONFIG_DATA_HANDLE hConfig; + PARAM_ISM_CONFIG_HANDLE hParamIsm; /* Parametric ISM handle */ + + IVAS_FB_MIXER_HANDLE hFbMixer; + float *sba_synchro_buffer[DIRAC_MAX_ANA_CHANS]; + int16_t num_samples_synchro_delay; + + /* DirAC parameter estimation */ + float **direction_vector[DIRAC_NUM_DIMS]; + float **direction_vector_m[DIRAC_NUM_DIMS]; /* Average direction vector */ + float diffuseness_m[DIRAC_MAX_NBANDS]; + int16_t band_grouping[DIRAC_MAX_NBANDS + 1]; + int16_t block_grouping[5]; + + int16_t dirac_to_spar_md_bands[DIRAC_MAX_NBANDS]; + + /* diffuseness */ + int16_t index_buffer_intensity; + int16_t no_col_avg_diff; + float **buffer_intensity_real[DIRAC_NUM_DIMS]; + float *buffer_energy; + +} DIRAC_ENC_DATA, *DIRAC_ENC_HANDLE; + +/*----------------------------------------------------------------------------------* + * SPAR encoder structures + *----------------------------------------------------------------------------------*/ + +/* AGC structures */ +typedef struct ivas_agc_enc_chan_state_t +{ + int16_t lastExp; + int16_t prevExp; + float lastGain; + float lastMaxAbs; + int16_t gainExpVal; + float MaxAbsVal_del; + int16_t MaxAbsValIdx_del; + +} ivas_agc_enc_chan_state_t; + +typedef struct ivas_agc_enc_state_t +{ + ivas_agc_com_state_t agc_com; + float minDelta; + float smFact; + ivas_agc_enc_chan_state_t *gain_state; + ivas_agc_chan_data_t *gain_data; + +} ivas_agc_enc_state_t; + +/* covariance structures */ +typedef struct ivas_enc_cov_handler_state_t +{ + ivas_cov_smooth_state_t *pCov_state; + ivas_cov_smooth_state_t *pCov_dtx_state; + int16_t num_bins; + int16_t prior_dtx_present; + +} ivas_enc_cov_handler_state_t; + + +/* SPAR MD structures */ +typedef struct ivas_spar_md_enc_state_t +{ + ivas_spar_md_t spar_md; + ivas_spar_md_prev_t spar_md_prior; + int16_t num_umx_ch; + int16_t num_decorr; + + float ***mixer_mat; + float ***cov_real; + float ***cov_dtx_real; + float ***mixer_mat_local; + ivas_spar_md_com_cfg spar_md_cfg; + ivas_arith_coeffs_t arith_coeffs; + ivas_huff_coeffs_t huff_coeffs; + int16_t table_idx; + int16_t spar_hoa_md_flag; +} ivas_spar_md_enc_state_t; + +/* PCA structure */ +typedef struct +{ + int16_t prev_bypass_decision; + float prev_eigVec[FOA_CHANNELS * FOA_CHANNELS]; + float prev_ql[IVAS_PCA_INTERP]; + float prev_qr[IVAS_PCA_INTERP]; + float prev_D[IVAS_PCA_INTERP]; + float mem_eigVec_interp[FOA_CHANNELS * FOA_CHANNELS]; + float old_r_sm[FOA_CHANNELS * FOA_CHANNELS]; + +} PCA_ENC_STATE; + +/* SPAR main structure */ +typedef struct ivas_spar_enc_lib_t +{ + ivas_spar_md_enc_state_t *hMdEnc; + IVAS_FB_MIXER_HANDLE hFbMixer; + ivas_enc_cov_handler_state_t *hCovEnc; + ivas_trans_det_state_t *hTranDet; + ivas_agc_enc_state_t *hAgcEnc; + int16_t dirac_to_spar_md_bands[DIRAC_MAX_NBANDS]; + int16_t enc_param_start_band; + int16_t AGC_Enable; + PCA_ENC_STATE *hPCA; + int32_t core_nominal_brate; /* Nominal bitrate for core coding */ + FRONT_VAD_ENC_HANDLE hFrontVad; /* front-VAD handle */ + ENC_CORE_HANDLE hCoreCoderVAD; /* core-coder handle for front-VAD module */ + + int16_t front_vad_flag; + int16_t front_vad_dtx_flag; + int16_t force_front_vad; + +} SPAR_ENC_DATA, *SPAR_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Parametric MC encoder structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_param_mc_enc_data_structure +{ + IVAS_FB_MIXER_HANDLE hFbMixer; + int16_t transient_detector_delay; + const float *dmx_factors; + + /* Multichannel Specific Parameters */ + IVAS_PARAM_MC_METADATA hMetadataPMC; + int16_t band_grouping[PARAM_MC_MAX_PARAMETER_BANDS + 1]; + int16_t lfe_index; + int16_t icc_map_index[PARAM_MC_PARAMETER_FRAMES][PARAM_MC_SZ_ICC_MAP]; + int16_t max_param_band_abs_cov; + + float ener_fac[PARAM_MC_MAX_PARAMETER_BANDS]; + +} PARAM_MC_ENC_DATA, *PARAM_MC_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * MASA encoder structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_masa_encoder_data_struct +{ + float energy[MAX_PARAM_SPATIAL_SUBFRAMES][MASA_FREQUENCY_BANDS]; + int16_t num_Cldfb_instances; + HANDLE_CLDFB_FILTER_BANK cldfbAnaEnc[MAX_NUM_ENC_CLDFB_INSTANCES]; + float *delay_buffer[MASA_MAX_TRANSPORT_CHANNELS]; + int16_t band_mapping[MASA_FREQUENCY_BANDS + 1]; + uint8_t twoDirBands[MASA_FREQUENCY_BANDS]; + float importanceWeight[MASA_FREQUENCY_BANDS]; + SPHERICAL_GRID_DATA Sph_Grid16; + float lfeToTotalEnergyRatio[MAX_PARAM_SPATIAL_SUBFRAMES]; + float prevq_lfeToTotalEnergyRatio; + int16_t prevq_lfeIndex; + + float onset_detector_1; + float onset_detector_2; + +} MASA_ENCODER_DATA; + +typedef struct ivas_masa_encoder_struct +{ + MASA_METADATA_FRAME masaMetadata; /* MASA metadata frame storage during processing before unified metadata coding */ + MASA_CODEC_CONFIG config; /* Configuration of MASA encoding */ + MASA_ENCODER_DATA data; /* Data storage for MASA encoding */ + +} MASA_ENCODER, *MASA_ENCODER_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Multichannel MASA (McMASA) encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_mcmasa_enc_data_structure +{ + int16_t nbands; + int16_t nCodingBands; + + /* delay compensation */ + float *delay_buffer_lfe[2]; /* Delay buffer for LFE estimation */ + + int16_t num_samples_delay_comp; + int16_t num_slots_delay_comp; + int16_t offset_comp; + + IVAS_FB_MIXER_HANDLE hFbMixer; + IVAS_FB_MIXER_HANDLE hFbMixerLfe; + + /* DirAC parameter estimation */ + float **direction_vector_m[DIRAC_NUM_DIMS]; /* Average direction vector */ + int16_t band_grouping[MASA_FREQUENCY_BANDS + 1]; + int16_t block_grouping[5]; + + /* diffuseness */ + int16_t index_buffer_intensity; + int8_t no_col_avg_diff; + float **buffer_intensity_real[DIRAC_NUM_DIMS]; + float **buffer_intensity_real_vert; + float *buffer_energy; + + float chnlToFoaMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; + float chnlToFoaEvenMtx[DIRAC_MAX_ANA_CHANS][MCMASA_MAX_ANA_CHANS]; + float ls_azimuth[MCMASA_MAX_ANA_CHANS]; + int16_t leftNearest[MCMASA_MAX_ANA_CHANS]; + int16_t rightNearest[MCMASA_MAX_ANA_CHANS]; + int16_t numHorizontalChannels; + uint8_t isHorizontalSetup; + uint8_t combineRatios; + + float prevMultiChEne; + float prevDownmixEne; + float prevEQ; + float interpolator[L_FRAME48k]; + + uint8_t separateChannelEnabled; + int16_t separateChannelIndex; + + /* LFE coding */ + float lfeLfEne[MAX_PARAM_SPATIAL_SUBFRAMES]; + float totalLfEne[MAX_PARAM_SPATIAL_SUBFRAMES]; + float *lfeAnaRingBuffer[2]; + int16_t ringBufferPointer; + float lowpassSum[2]; + int16_t ringBufferSize; + +} MCMASA_ENC_DATA, *MCMASA_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Stereo CNG handle + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_cng_enc +{ + int16_t prev_sg_average_counter; /* Counter for sidegain averaging */ + int16_t sg_active_cnt; /* Counter for sidegain averaging */ + int16_t sg_average_counter; /* Counter for sidegain averaging */ + float sg_average[STEREO_DFT_ERB4_BANDS]; /* Sidegain average */ + float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ + float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ +#ifdef FIX_ITD_CNG + float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )]; /* Previous coherence */ + int16_t cng_counter; /* Counter for cng period length */ +#else + float coh_crossfade[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ +#endif + int16_t td_active; /* TD-stereo indication */ + int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ + int16_t first_SID; /* Set if first SID frame since codec start */ + +} STEREO_CNG_ENC, *STEREO_CNG_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * SCE encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct sce_enc_data_structure +{ + int16_t sce_id; /* SCE # identifier */ + int32_t element_brate; /* SCE element total bitrate in bps */ + int32_t last_element_brate; /* last SCE element bitrate in bps */ + + BSTR_ENC_HANDLE hMetaData; /* Metadata bitstream handle */ + + ENC_CORE_HANDLE hCoreCoder[1]; /* core coder handle */ + +} SCE_ENC_DATA, *SCE_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * CPE encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct cpe_enc_data_structure +{ + int16_t cpe_id; /* CPE # identifier */ + + int32_t element_brate; /* CPE element total bitrate in bps */ + int32_t last_element_brate; /* last CPE element total bitrate in bps */ + int16_t element_mode; /* element mode, in CPE it can be IVAS_CPE_DFT, IVAS_CPE_TD or IVAS_CPE_MDCT */ + int16_t last_element_mode; /* last element mode */ + + BSTR_ENC_HANDLE hMetaData; /* Metadata bitstream handle */ + + ENC_CORE_HANDLE hCoreCoder[CPE_CHANNELS]; /* core coder handle */ + + /* stereo data handles */ + STEREO_CLASSIF_HANDLE hStereoClassif; /* stereo classifiers handle */ + STEREO_DFT_ENC_DATA_HANDLE hStereoDft; /* DFT stereo data handle */ + STEREO_TD_ENC_DATA_HANDLE hStereoTD; /* TD stereo data handle */ + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct; /* MDCT stereo data handle */ + STEREO_TCA_ENC_HANDLE hStereoTCA; /* Stereo TCA Encoder handle */ + STEREO_ICBWE_ENC_HANDLE hStereoICBWE; /* Stereo inter-channel BWE handle */ + STEREO_CNG_ENC_HANDLE hStereoCng; /* Stereo CNG data structure */ + FRONT_VAD_ENC_HANDLE hFrontVad[CPE_CHANNELS]; + + float *input_mem[CPE_CHANNELS]; /* input channels buffers memory; needed to be up-to-date for TD->DFT stereo switching */ + +#ifdef DEBUGGING + int16_t stereo_mode_cmdl; /* stereo mode forced from the commaand-line */ +#endif + +} CPE_ENC_DATA, *CPE_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * MCT structure + *----------------------------------------------------------------------------------*/ + +typedef struct mct_block_data_struct +{ + int16_t isActive; + int16_t ch1, ch2; + int16_t mask[2][MAX_SFB]; + STEREO_MDCT_ENC_DATA_HANDLE hStereoMdct; /* MDCT stereo data handle */ + +} MCT_BLOCK_DATA, *MCT_BLOCK_DATA_HANDLE; + +typedef struct mct_enc_data_structure +{ + BSTR_ENC_HANDLE hBstr; /* bitstream handle for side bits - in MCT, side bits are written at the beginning of the bitstream */ + + int16_t nchan_out_woLFE; /* number of active channels within multi-channel configuration */ + int16_t currBlockDataCnt; + int16_t bitsChannelPairIndex; /* bits needed to code channel pair index, depends on number of active channels */ + MCT_BLOCK_DATA_HANDLE hBlockData[MCT_MAX_BLOCKS]; + + float lastxCorrMatrix[MCT_MAX_CHANNELS][MCT_MAX_CHANNELS]; + int16_t lowE_ch[MCT_MAX_CHANNELS]; + int16_t LFE_off; + uint16_t mc_global_ild[MCT_MAX_CHANNELS]; + int16_t nBitsMCT; /* number of bits spent on mct side info */ + int16_t num_lfe; + + /* pointers to local buffers */ + float *p_mdst_spectrum_long[MCT_MAX_BLOCKS][CPE_CHANNELS]; + float *p_orig_spectrum_long[MCT_MAX_BLOCKS][CPE_CHANNELS]; + int16_t tnsBits[MCT_MAX_BLOCKS][CPE_CHANNELS][NB_DIV]; /* number of tns bits in the frame */ + int16_t tnsSize[MCT_MAX_BLOCKS][CPE_CHANNELS][NB_DIV]; /* number of tns parameters put into prm */ + int16_t p_param[MCT_MAX_BLOCKS][CPE_CHANNELS][NB_DIV]; + + int16_t hbr_mct; + +} MCT_ENC_DATA, *MCT_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Stereo downmix for EVS encoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct stereo_dmx_evs_phase_only_correlation_structure +{ + float P[L_FRAME48k]; + float peakQ[CPE_CHANNELS]; + float peak_width[CPE_CHANNELS]; + float confidence; + + int16_t ispeak[CPE_CHANNELS]; + int16_t itdLR[CPE_CHANNELS]; + int16_t shift_limit; + + const float *wnd; + float eps; + const float *sin; + +} STEREO_DMX_EVS_POC_DATA, *STEREO_DMX_EVS_POC_HANDLE; + +typedef struct stereo_dmx_evs_enc_data_structure +{ + STEREO_DMX_EVS_POC_HANDLE hPOC; + + float itd; + + float pre_dmx_energy[1]; + float aux_dmx_energy[CPE_CHANNELS]; + + float dmx_weight[1 + CPE_CHANNELS]; + + const float *s_wnd; + +} STEREO_DMX_EVS_ENC_DATA, *STEREO_DMX_EVS_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * LFE encoder structures + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_lfe_enc_data_structure +{ + ivas_filters_process_state_t filter_state; + LFE_WINDOW_HANDLE pWindow_state; + BSTR_ENC_HANDLE hBstr; /* pointer to encoder bitstream handle */ + const uint16_t *cum_freq_models[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; + int16_t lfe_enc_indices_coeffs_tbl[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; + int16_t lfe_bits; + float *old_wtda_audio; + +} LFE_ENC_DATA, *LFE_ENC_HANDLE; + + +/* clang-format off */ +/*----------------------------------------------------------------------------------* + * Encoder configuration structure (includes commandline-related parameters) + *----------------------------------------------------------------------------------*/ + +typedef struct encoder_config_structure +{ + int32_t ivas_total_brate; /* IVAS total bitrate in bps */ + int32_t last_ivas_total_brate; /* IVAS last total bitrate in bps */ + int32_t input_Fs; /* input signal sampling frequency in Hz */ + int16_t nchan_inp; /* number of input audio channels */ + int16_t max_bwidth; /* maximum encoded bandwidth */ + IVAS_FORMAT ivas_format; /* IVAS format */ + + int16_t element_mode_init; /* element mode used at initialization */ + int16_t stereo_dmx_evs; /* flag to indicate that stereo downmix for EVS encoder */ + int16_t sba_order; /* Ambisonic (SBA) order */ + int16_t sba_planar; /* Ambisonic (SBA) planar flag */ + MC_LS_SETUP mc_input_setup; /* multichannel input ls setup */ + + int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ + + int16_t Opt_DTX_ON; /* flag indicating DTX operation */ + int16_t interval_SID; /* CNG and DTX - interval of SID update, default 8 */ + int16_t var_SID_rate_flag; /* CNG and DTX - flag for variable SID rate */ + + int16_t Opt_RF_ON; /* flag indicating RF (channel-aware) mode */ + int16_t rf_fec_offset; /* RF FEC offset */ + int16_t rf_fec_indicator; /* RF FEC indicator */ + + int16_t Opt_SC_VBR; /* flag indicating SC-VBR mode */ + int16_t last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ + + /* temp. development parameters */ + int16_t Opt_PCA_ON; /* flag indicating PCA operation in SBA */ + +#ifdef DEBUGGING + /* debugging options */ + int16_t stereo_mode_cmdl; /* stereo mode forced from the command-line */ + int16_t force; /* parameter to force specific "core" of the Core-Coder*/ + int16_t mdct_stereo_mode_cmdl; /* mdct stereo mode forced from command-line, employed only when DEBUG_FORCE_MDCT_STEREO_MODE is activated */ +#ifdef DEBUG_AGC_ENCODER_CMD_OPTION + int16_t Opt_AGC_ON; /* flag indicating AGC operation in SBA */ +#endif +#endif + + +} ENCODER_CONFIG, *ENCODER_CONFIG_HANDLE; + + +/*----------------------------------------------------------------------------------* + * + * Main IVAS encoder structure + * =========================== + *----------------------------------------------------------------------------------*/ + +typedef struct +{ + ENCODER_CONFIG_HANDLE hEncoderConfig; /* Encoder configuration structure */ + + /* high-level encoder parameters */ + int16_t nchan_transport; /* number of transport channels */ + int16_t sba_analysis_order; /* Ambisonic (SBA) order used for analysis and coding */ + int16_t codec_mode; /* Mode1 or Mode2 of core codec */ + int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ + + float **mem_hp20_in; /* input signals HP filter memories */ + + /* core-encoder modules */ + int16_t nSCE; /* number of total SCEs */ + int16_t nCPE; /* number of total CPEs */ + SCE_ENC_HANDLE hSCE[MAX_SCE]; /* SCE handles */ + CPE_ENC_HANDLE hCPE[MCT_MAX_BLOCKS]; /* CPE handles */ + + /* multichannel modules */ + ISM_METADATA_HANDLE hIsmMetaData[MAX_NUM_OBJECTS]; /* ISM metadata handles (storage for one frame of read ISM metadata) */ + DIRAC_ENC_HANDLE hDirAC; /* DirAC data handle */ + SPAR_ENC_HANDLE hSpar; /* SPAR encoder handle */ + MASA_ENCODER_HANDLE hMasa; /* MASA encoder data and configuration */ + IVAS_QMETADATA_HANDLE hQMetaData; /* Metadata handle for q_metadata parametric spatial coding DirAC/MASA*/ + MCT_ENC_HANDLE hMCT; /* MCT handle */ + PARAM_MC_ENC_HANDLE hParamMC; /* Parametric MC handle */ + MCMASA_ENC_HANDLE hMcMasa; /* Multi-channel MASA data handle */ + LFE_ENC_HANDLE hLFE; /* LFE data handle */ + + ISM_MODE ism_mode; /* ISM format mode */ + SBA_MODE sba_mode; /* SBA format mode */ + MC_MODE mc_mode; /* MC format mode */ + + /* Stereo downmix for EVS module */ + STEREO_DMX_EVS_ENC_HANDLE hStereoDmxEVS; /* Stereo downmix for EVS encoder handle */ + +} Encoder_Struct; + +/* clang-format on */ + +#endif /* IVAS_STAT_ENC_H */ diff --git a/lib_enc/lib_enc.h b/lib_enc/lib_enc.h new file mode 100644 index 0000000000..dbcb21c989 --- /dev/null +++ b/lib_enc/lib_enc.h @@ -0,0 +1,342 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef LIB_ENC_H +#define LIB_ENC_H + +#include "common_api_types.h" +#include "ivas_error.h" +#include <stdbool.h> +#include <stdint.h> + + +/*---------------------------------------------------------------------* + * Encoder enums + *---------------------------------------------------------------------*/ + +/* Possible input formats to the encoder */ +typedef enum _IVAS_ENC_INPUT_FORMAT +{ + IVAS_ENC_INPUT_MONO = 0x0001, + IVAS_ENC_INPUT_STEREO, + IVAS_ENC_INPUT_ISM, + IVAS_ENC_INPUT_SBA, + IVAS_ENC_INPUT_MASA, + IVAS_ENC_INPUT_MC, + IVAS_DEC_INPUT_UNKNOWN = 0xffff +} IVAS_ENC_INPUT_FORMAT; + +typedef enum _IVAS_ENC_BANDWIDTH +{ + IVAS_ENC_BANDWIDTH_NB, + IVAS_ENC_BANDWIDTH_WB, + IVAS_ENC_BANDWIDTH_SWB, + IVAS_ENC_BANDWIDTH_FB, + IVAS_ENC_BANDWIDTH_UNDEFINED = 0xffff +} IVAS_ENC_BANDWIDTH; + +typedef struct _IVAS_ENC_DTX_CONFIG +{ + bool enabled; + bool variable_SID_rate; + int16_t SID_interval; +} IVAS_ENC_DTX_CONFIG; + +typedef enum _IVAS_ENC_SBA_ORDER +{ + IVAS_ENC_SBA_FOA = 1, + IVAS_ENC_SBA_HOA2 = 2, + IVAS_ENC_SBA_HOA3 = 3, + IVAS_ENC_SBA_ORDER_UNDEFINED = 0xffff +} IVAS_ENC_SBA_ORDER; + +typedef enum _IVAS_ENC_MC_LAYOUT +{ + IVAS_ENC_MC_5_1 = 6, + IVAS_ENC_MC_7_1 = 12, + IVAS_ENC_MC_5_1_2 = 14, + IVAS_ENC_MC_5_1_4 = 16, + IVAS_ENC_MC_7_1_4 = 19, + IVAS_ENC_CICP_UNDEFINED = 0xffff +} IVAS_ENC_MC_LAYOUT; + +typedef enum _IVAS_ENC_MASA_VARIANT +{ + IVAS_ENC_MASA_1CH = 1, + IVAS_ENC_MASA_2CH = 2, + IVAS_ENC_MASA_UNDEFINED = 0xffff +} IVAS_ENC_MASA_VARIANT; + +#ifdef DEBUGGING +typedef enum _IVAS_ENC_STEREO_MODE +{ + IVAS_ENC_STEREO_MODE_UNIFIED, + IVAS_ENC_STEREO_MODE_DFT, + IVAS_ENC_STEREO_MODE_TD, + IVAS_ENC_STEREO_MODE_MDCT_DECISION, + IVAS_ENC_STEREO_MODE_MDCT_FORCE_LR, + IVAS_ENC_STEREO_MODE_MDCT_FORCE_MS, + IVAS_ENC_STEREO_MODE_UNDEFINED = 0xffff +} IVAS_ENC_STEREO_MODE; + +typedef enum _IVAS_ENC_FORCED_MODE +{ + IVAS_ENC_FORCE_SPEECH, + IVAS_ENC_FORCE_MUSIC, + IVAS_ENC_FORCE_ACELP, + IVAS_ENC_FORCE_GSC, + IVAS_ENC_FORCE_TCX, + IVAS_ENC_FORCE_HQ, + IVAS_ENC_FORCE_UNFORCED, + IVAS_ENC_FORCE_UNDEFINED = 0xffff +} IVAS_ENC_FORCED_MODE; + +#ifdef DEBUG_AGC_ENCODER_CMD_OPTION +typedef enum _IVAS_ENC_AGC +{ + IVAS_ENC_AGC_DISABLED = 0, + IVAS_ENC_AGC_ENABLED, + IVAS_ENC_AGC_UNDEFINED = 0xffff +} IVAS_ENC_AGC; +#endif +#endif + +/*---------------------------------------------------------------------* + * Encoder structures + *---------------------------------------------------------------------*/ + +typedef struct IVAS_ENC *IVAS_ENC_HANDLE; + +/* clang-format off */ +/*---------------------------------------------------------------------* + * Encoder function declarations + *---------------------------------------------------------------------*/ + +/* Open, configure, close functions - should be called once per encoder lifetime */ + +/*! r: error code */ +ivas_error IVAS_ENC_Open( + IVAS_ENC_HANDLE *phIvasEnc /* i/o: pointer to an encoder handle to be opened */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_ConfigureForMono( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t inputFs, /* i : input sampling frequency */ + const int32_t bitrate, /* i : requested bitrate of the output bitstream */ + const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ + const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ + const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ + const IVAS_ENC_CHANNEL_AWARE_CONFIG caConfig, /* i : configuration of channel-aware mode, can by set to default by using IVAS_ENC_GetDefaultChannelAwareConfig() */ + const bool downmixFromStereo /* i : if true, the encoder accepts a stereo input and internally downmixes it to mono before encoding */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_ConfigureForStereo( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t inputFs, /* i : input sampling frequency */ + const int32_t bitrate, /* i : requested bitrate of the output bitstream */ + const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ + const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ + const IVAS_ENC_DTX_CONFIG dtxConfig /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ +#ifdef DEBUGGING + , + const IVAS_ENC_STEREO_MODE stereoMode /* i : forces a specific stereo coding mode */ +#endif +); + +/*! r: error code */ +ivas_error IVAS_ENC_ConfigureForObjects( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t inputFs, /* i : input sampling frequency */ + const int32_t bitrate, /* i : requested bitrate of the output bitstream */ + const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ + const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ + const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ + const uint16_t numObjects /* i : number of objects to be encoded */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_ConfigureForAmbisonics( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t inputFs, /* i : input sampling frequency */ + const int32_t bitrate, /* i : requested bitrate of the output bitstream */ + const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ + const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ + const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ + const IVAS_ENC_SBA_ORDER order, /* i : order of the Ambisonics input */ + const bool isPlanar, /* i : if true, input is treated as planar Ambisonics */ +#ifdef DEBUG_AGC_ENCODER_CMD_OPTION + const IVAS_ENC_AGC Opt_AGC_ON, /* i : AGC on/off/undefined flag */ +#endif + const bool Opt_PCA_ON /* i : PCA option flag */ +#ifdef DEBUG_SBA_AUDIO_DUMP + , + int16_t *numTransportChannels +#endif +); + +/*! r: error code */ +ivas_error IVAS_ENC_ConfigureForMasa( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t inputFs, /* i : input sampling frequency */ + const int32_t bitrate, /* i : requested bitrate of the output bitstream */ + const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ + const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ + const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ + const IVAS_ENC_MASA_VARIANT masaVariant /* i : type of MASA input (either 1 or 2 channels) */ +); + +/*! r: encoder error code */ +ivas_error IVAS_ENC_ConfigureForMultichannel( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t inputFs, /* i : input sampling frequency */ + const int32_t bitrate, /* i : requested bitrate of the output bitstream */ + const bool max_bwidth_user, /* i : shows if bandwidth limitation was set by the user (true) or if default bandwidth was used (false) */ + const IVAS_ENC_BANDWIDTH maxBandwidth, /* i : bandwidth limitation */ + const IVAS_ENC_DTX_CONFIG dtxConfig, /* i : configuration of DTX, can by set to default by using IVAS_ENC_GetDefaultDtxConfig() */ + const IVAS_ENC_MC_LAYOUT mcLayout /* i : input MC layout */ +); + +void IVAS_ENC_Close( + IVAS_ENC_HANDLE *phIvasEnc /* i/o: pointer to IVAS encoder handle */ +); + +/* Encoding functions - should be called with a configured encoder handle */ + +/*! r: error code */ +ivas_error IVAS_ENC_FeedObjectMetadata( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const uint16_t ismIndex, /* i : object index */ + const IVAS_ISM_METADATA metadata /* i : object metadata handle for current frame */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_FeedMasaMetadata( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + IVAS_MASA_METADATA_HANDLE hMasaMetadata /* i : MASA metadata for current frame */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_EncodeFrameToSerial( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + int16_t *inputBuffer, /* i : PCM input */ + int16_t inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ + uint16_t *outputBitStream, /* o : pointer to serial output bitstream. The array must already be allocated and be of size at least IVAS_MAX_BITS_PER_FRAME */ + uint16_t *numOutBits /* o : number of bits written to output bitstream. Each bit is stored as a single uint16_t value */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_EncodeFrameToCompact( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + int16_t *inputBuffer, /* i : PCM input */ + const int16_t inputBufferSize, /* i : total number of samples in the input buffer. Related function: IVAS_ENC_GetInputBufferSize() */ + uint8_t *outputBitStream, /* o : pointer to compact output bitstream. The array must already be allocated. */ + uint16_t *numOutBits /* o : number of bits written to output bitstream */ +); + +/* Setter functions - apply changes to encoder configuration */ + +/*! r: error code */ +ivas_error IVAS_ENC_SetBandwidth( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const IVAS_ENC_BANDWIDTH maxBandwidth /* i : bandwidth limitation to be used */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_SetBitrate( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const int32_t totalBitrate /* i : requested bitrate of the output bitstream */ +); + +/*! r: error code */ +ivas_error IVAS_ENC_SetChannelAwareConfig( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const IVAS_ENC_CHANNEL_AWARE_CONFIG rfConfig /* i : configuration of channel-aware mode */ +); + +#ifdef DEBUGGING +/*! r: error code */ +ivas_error IVAS_ENC_SetForcedMode( + IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + const IVAS_ENC_FORCED_MODE forcedMode /* i : forced coding mode */ +); +#endif + +/* Getter functions - retrieve information from an encoder through a handle */ + +/*! r: encoder error code */ +ivas_error IVAS_ENC_GetDelay( + const IVAS_ENC_HANDLE hIvasEnc, /* i : IVAS encoder handle */ + int16_t *delay /* o : encoder delay */ +); + +/*! r: encoder error code */ +ivas_error IVAS_ENC_GetInputBufferSize( + const IVAS_ENC_HANDLE hIvasEnc, /* i/o: IVAS encoder handle */ + int16_t *inputBufferSize /* o : total number of samples expected in the input buffer for current encoder configuration */ +); + +/* Utility functions */ +/*! r: default bandwidth for the encoder */ +IVAS_ENC_BANDWIDTH IVAS_ENC_GetDefaultBandwidth( + const bool isEvs /* i : EVS or IVAS mode */ +); + +/*! r: default DTX config for the encoder */ +IVAS_ENC_DTX_CONFIG IVAS_ENC_GetDefaultDtxConfig( + void +); + +/*! r: default channel-aware mode config for the encoder */ +IVAS_ENC_CHANNEL_AWARE_CONFIG IVAS_ENC_GetDefaultChannelAwareConfig( + void +); + +/*! r: pointer to an error message string */ +const char *IVAS_ENC_GetErrorMessage( + ivas_error error /* i : error code enum */ +); + + +ivas_error IVAS_ENC_PrintConfig( + const IVAS_ENC_HANDLE hIvasEnc, /* i : IVAS encoder handle */ + const int16_t channelAwareModeEnabled /* i : channel-aware mode enabled flag */ +); + +void IVAS_ENC_PrintDisclaimer( + void +); + +/* clang-format on */ + +#endif /* LIB_ENC_H */ diff --git a/lib_enc/rom_enc.h b/lib_enc/rom_enc.h new file mode 100644 index 0000000000..e3e62cb6e9 --- /dev/null +++ b/lib_enc/rom_enc.h @@ -0,0 +1,209 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef ROM_ENC_H +#define ROM_ENC_H + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "stat_enc.h" +#include "cnst.h" + +/*----------------------------------------------------------------------------------* + * General tables + *----------------------------------------------------------------------------------*/ + +extern const float sqrt_han_window[]; /* Half of the square root hanning window */ +extern const int16_t tipos[]; /* Starting points for pulse position search in Algebraic innovation codebook */ +extern const float E_ROM_inter4_1[PIT_UP_SAMP * L_INTERPOL1 + 1]; +extern const float E_ROM_inter6_1[PIT_UP_SAMP6 * L_INTERPOL1 + 1]; +extern const float E_ROM_inter4_1[PIT_UP_SAMP * L_INTERPOL1 + 1]; +extern const float E_ROM_inter6_1[PIT_UP_SAMP6 * L_INTERPOL1 + 1]; +extern const float W_HIST[DTX_HIST_SIZE]; /* CNG & DTX - table for calculation of average excitation energy */ + +extern const int16_t bwd_start_bin[]; +extern const int16_t bwd_end_bin[]; + +extern const float h_fir[]; /* 2nd order fir filter for wsp, decimation by 2 */ + +extern const float preemphCompensation[]; + +/*----------------------------------------------------------------------------------* + * VAD tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t hangover_hd_tbl[3]; +extern const int16_t hangover_sf_tbl[6]; + +/*----------------------------------------------------------------------------------* + * Open-loop pitch search tables + *----------------------------------------------------------------------------------*/ + +extern const int16_t nb_sect_12k8[]; +extern const int16_t nb_subsect_12k8[]; +extern const int16_t len_12k8[]; +extern const int16_t len1_12k8[]; +extern const int16_t sublen_12k8[]; +extern const int16_t sublen1_12k8[]; +extern const int16_t pit_max_12k8[]; +extern const int16_t sec_length_12k8[]; +extern const int16_t sec_length1_12k8[]; + +/*----------------------------------------------------------------------------------* + * LSF quantizer + *----------------------------------------------------------------------------------*/ + +extern const int16_t lsf_numlevels[TCXLPC_NUMSTAGES]; +extern const int16_t lsf_ind_numlevels[TCXLPC_IND_NUMSTAGES]; + +extern const int16_t lsf_unified_fit_model_nb[4][16]; +extern const int16_t lsf_unified_fit_model_wb[4][16]; +extern const int16_t lsf_unified_fit_model_wbhb[4][16]; + +extern const float Freq_Weight_Com[160]; +extern const float Freq_Weight_UV[160]; + +/*----------------------------------------------------------------------------------* + * Speech/music classification + *----------------------------------------------------------------------------------*/ + +extern const float w_spmus[HANG_LEN][HANG_LEN]; + +extern const float sm_means[]; +extern const float sm_scale[]; +extern const float hout_intervals[]; +extern const float bcox_add_cnst[N_SMC_FEATURES]; +extern const float bcox_lmbd[N_SMC_FEATURES]; +extern const float pca_mean_[]; +extern const float pca_components_[]; +extern const float weights_speech[]; +extern const float means_speech[]; +extern const float weights_music[]; +extern const float means_music[]; +extern const float weights_noise[]; +extern const float means_noise[]; +extern const float prec_chol_speech[]; +extern const float log_det_chol_speech[]; +extern const float prec_chol_music[]; +extern const float log_det_chol_music[]; +extern const float prec_chol_noise[]; +extern const float log_det_chol_noise[]; + +extern const float m_speech[]; +extern const float invV_speech[]; +extern const float lvm_speech[]; + +extern const float m_music[]; +extern const float invV_music[]; +extern const float lvm_music[]; + +extern const float m_noise[]; +extern const float invV_noise[]; +extern const float lvm_noise[]; + +extern const int16_t mel_fb_start[]; +extern const int16_t mel_fb_len[]; +extern const float mel_fb[]; +extern const float dct_mtx[]; + +extern const float SF[]; +extern const float SF_8k[]; + +/*----------------------------------------------------------------------------------* + * SWB TBE + *----------------------------------------------------------------------------------*/ + +extern const float lpc_weights[]; + +/*----------------------------------------------------------------------------------* + * WB, SWB and FB bandwidth detector + *----------------------------------------------------------------------------------*/ + +extern const float hann_window_320[]; + +/*----------------------------------------------------------------------------------* + * Huffman coding + *----------------------------------------------------------------------------------*/ + +extern const int16_t huffsizn_e[32]; +extern const int16_t huffsizn_n[32]; + +extern const int16_t huffnorm_e[32]; +extern const int16_t huffnorm_n[32]; +extern const int16_t hessize[8]; +extern const int16_t hescode[8]; + +/*----------------------------------------------------------------------------------* + * VAD + *----------------------------------------------------------------------------------*/ + +extern const int16_t BAND_NUM_TAB[5]; + +extern const float M_inr[16]; +extern const float M_ini[16]; +extern const float M_r[8]; +extern const float M_i[8]; +extern const float M_Wr[16]; +extern const float M_Wi[16]; + +extern const int16_t SP_CENTER_BAND_NUM_TAB[5]; +extern const float VAD_DELTA1[5]; +extern const float VAD_DELTA2[5]; + +extern const int16_t NREGION_INDEX_NB[9]; +extern const int16_t NREGION_INDEX_WB[13]; +extern const int16_t NREGION_INDEX_SWB[16]; +extern const int16_t NREGION_INDEX_FB[16]; +extern const int16_t ENERGY_BAND_NUM[4]; +extern const int16_t *REGION_INDEX[4]; +extern const float MAX_LF_SNR_TAB[4]; + +extern const float COMVAD_INIT_SNR_DELTA[5]; +extern const float LS_MIN_SELENCE_SNR[3]; +extern const float LT_MIN_SILENCE_SNR[3]; + +/*----------------------------------------------------------------------------------* + * Starting line for the noise measurement in TCX. + *----------------------------------------------------------------------------------*/ + +extern const int16_t startLineWB[N_TCX_STARTLINE_NOISE_WB]; +extern const int16_t startLineSWB[N_TCX_STARTLINE_NOISE_SWB]; + + +#endif diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h new file mode 100644 index 0000000000..de0451d3bc --- /dev/null +++ b/lib_enc/stat_enc.h @@ -0,0 +1,1574 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef STAT_ENC_H +#define STAT_ENC_H + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "stat_com.h" +#include "cnst.h" +#include "ivas_cnst.h" + + +/*------------------------------------------------------------------------------------------* + * Indice + *------------------------------------------------------------------------------------------*/ + +typedef struct +{ + uint16_t value; /* value of the quantized indice */ + int16_t nb_bits; /* number of bits used for the quantization of the indice */ +} Indice; + +/*----------------------------------------------------------------------------------* + * Bitstream structure + *----------------------------------------------------------------------------------*/ + +typedef struct bitstream_enc_data_structure +{ + int16_t nb_bits_tot; /* total number of bits already written */ + Indice *ind_list; /* list of indices */ + int16_t next_ind; /* pointer to the next empty slot in the list of indices */ + int16_t last_ind; /* last written indice */ + +} BSTR_ENC_DATA, *BSTR_ENC_HANDLE; + +/*----------------------------------------------------------------------------------* + * General Signal buffers structure + *----------------------------------------------------------------------------------*/ + +typedef struct signal_buffers_enc_data_structure +{ + float input_buff[L_FRAME48k + L_FRAME48k + NS2SA( 48000, DELAY_FIR_RESAMPL_NS )]; + + float Bin_E_old[L_FFT / 2]; /* per bin energy of old 2nd frames */ + float mem_decim[2 * L_FILT_MAX]; /* decimation filter memory */ + float mem_decim16k[2 * L_FILT_MAX]; /* ACELP@16kHz - decimation filter memory @16kHz */ + float old_inp_12k8[L_INP_MEM]; /* memory of input signal at 12.8kHz */ + float old_inp_16k[L_INP_MEM]; /* ACELP@16kHz - memory of input signal @16 kHz */ + float buf_speech_enc_pe[L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k]; + float buf_synth[OLD_SYNTH_SIZE_ENC + L_FRAME32k]; /* can be reduced to PIT_MAX_MAX+L_FRAME_MAX if no rate switching */ + float buf_speech_enc[L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k]; + float buf_wspeech_enc[L_FRAME16k + L_SUBFR + L_FRAME16k + L_NEXT_MAX_16k + 320]; /* increased by 320 to avoid memory overlap in find_wsp() and also to accomodate for the wspeech_enc */ + +} SIGNAL_BUFFERS_ENC_DATA, *SIGNAL_BUFFERS_ENC_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * Transient Detection structures + *------------------------------------------------------------------------------------------*/ + +/* Delay buffer: Used to buffer input samples and to define the subblock size of a transient detector. */ +typedef struct +{ + int16_t nSubblockSize; /* Subblock size of a transient detector that uses this delay buffer. */ + float buffer[L_FRAME_MAX / NSUBBLOCKS]; /* Delay buffer */ + int16_t nDelay; /* Size of the delay buffer in use. Maximum delay from all users of this buffer. */ + +} DelayBuffer; + +/* Subblock energies: Holds subblock energies and recursively accumulated energies. Also buffers the energies. */ +typedef struct +{ + DelayBuffer *pDelayBuffer; /* Delay buffer. */ + float subblockNrg[NSUBBLOCKS + MAX_TD_DELAY]; /* Subblock energies with a delay buffering. */ + float accSubblockNrg[NSUBBLOCKS + MAX_TD_DELAY + 1]; /* Recursively accumulated subblock energies with a delay buffering. + At index i the value corresponds to the accumulated subblock energy up to i-1, + including block i-1 and without block i. */ + float subblockNrgChange[NSUBBLOCKS + MAX_TD_DELAY]; /* subblockNrgChange[i] = max(subblockNrg[i]/subblockNrg[i-1], subblockNrg[i-1]/subblockNrg[i]) */ + int16_t nDelay; /* Size of the delay buffer in use, as number of subblocks. Maximum delay from all users of this buffer. */ + int16_t nPartialDelay; /* Delay of the input (modulo pDelayBuffer->nSubblockSize), nPartialDelay <= pDelayBuffer->nDelay. */ + + /* Decay factor for the recursive accumulation */ + float facAccSubblockNrg; + + /* High-pass filter states (delay line) */ + float firState1; + float firState2; + +} SubblockEnergies; + + +/* Attack detection function. */ +typedef void ( *TCheckSubblocksForAttack )( const float *pSubblockNrg, const float *pAccSubblockNrg, int16_t nSubblocks, int16_t nPastSubblocks, float attackRatioThreshold, int16_t *pbIsAttackPresent, int16_t *pAttackIndex ); + +/* Transient detector. */ +typedef struct TransientDetector +{ + SubblockEnergies *pSubblockEnergies; /* Subblock energies used in this transient detector. */ + int16_t nDelay; /* Delay of the transient detector in number of subblocks, nDelay <= pSubblockEnergies->nDelay. */ + int16_t nSubblocksToCheck; /* Number of subblocks to check for transients. */ + TCheckSubblocksForAttack CheckSubblocksForAttack; /* Function for checking a presence of an attack. */ + float attackRatioThreshold; /* Attack ratio threshold. */ + int16_t bIsAttackPresent; /* True when an attack was detected. */ + int16_t attackIndex; /* The index of an attack. */ + +} TransientDetector; + +/* Transient detection: Holds all transient detectors and buffers used by them. */ +typedef struct TransientDetection_structure +{ + TransientDetector transientDetector; /* Transient detector. */ + DelayBuffer delayBuffer; /* Delay buffer used by the transient detectors. */ + SubblockEnergies subblockEnergies; /* Subblock energies used by the transient detector. */ + +} TRAN_DET_DATA, *TRAN_DET_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * VAD structures + *------------------------------------------------------------------------------------------*/ + +typedef struct vad_structure +{ + int16_t nb_active_frames; + int16_t hangover_cnt; + int16_t nb_active_frames_he; + int16_t hangover_cnt_he; + int32_t vad_flag_reg_H; + int32_t vad_flag_reg_L; + int32_t vad_prim_reg; + + int16_t vad_flag_cnt_50; + int16_t vad_prim_cnt_16; + + int16_t hangover_cnt_dtx; + int16_t hangover_cnt_music; + + float bcg_flux; + int16_t soft_hangover; + int16_t voiced_burst; + int16_t bcg_flux_init; + int16_t nb_active_frames_he1; + int16_t hangover_cnt_he1; + + float prim_act_quick; /* Noise estimator - primary activity quick */ + float prim_act_slow; /* Noise estimator - primary activity slow */ + float prim_act; /* Noise estimator - primary activity slow rise quick fall */ + float prim_act_quick_he; /* Noise estimator - primary activity quick */ + float prim_act_slow_he; /* Noise estimator - primary activity slow */ + float prim_act_he; /* Noise estimator - primary activity slow rise quick fall */ + + int16_t spectral_tilt_reset; + int16_t consec_inactive; + float ra_deltasum; + int16_t trigger_SID; + float running_avg; + float snr_sum_vad; + + int16_t hangover_terminate_flag; /* CNG and DTX - flag indicating whether to early terminate DTX hangover */ + int16_t vad_flag; /* VAD flag */ + +} VAD_DATA, *VAD_HANDLE; + + +typedef struct cldfb_vad_structure +{ + int16_t bw_index; /* index of band width */ + + /* feature */ + float sp_center[SP_CENTER_NUM]; /* spectral center*/ + float ltd_stable_rate[STABLE_NUM]; /* time-domain stable rate*/ + float sfm[SFM_NUM]; /* spectral flatness*/ + float f_tonality_rate[TONA_NUM]; /* tonality rate*/ + float frame_sb_energy[BG_ENG_NUM]; /* energy of sub-band divided non-uniformly*/ + float frames_power[POWER_NUM]; /* energy of several frames*/ + float pre_spec_low_dif[PRE_SPEC_DIF_NUM]; /* low frequency spectral different*/ + float t_bg_energy; /* time background energy of several frames*/ + float t_bg_energy_sum; /* number of time background energy*/ + int16_t tbg_energy_count; /* sum of time background energy of several frames*/ + int16_t bg_update_count; /* time of background update*/ + float frame_energy_smooth; /* smoothed energy of several frames*/ + + /* history parameters */ + float smooth_spec_amp[SPEC_AMP_NUM]; /* smoothed spectral amplitude*/ + float sb_bg_energy[BG_ENG_NUM]; /* sub-band background energy*/ + float pre_snr[PRE_SNR_NUM]; /* previous time SNR*/ + float lt_snr_org; /* original long time SNR*/ + float lf_snr_smooth; /* smoothed lf_snr*/ + float l_silence_snr; /* sum of snr's of non active frames*/ + float l_speech_snr; /* sum of snr's of active frames*/ + int16_t l_silence_snr_count; /* number of non active frames*/ + int16_t l_speech_snr_count; /* number of active frames*/ + float fg_energy; /* foreground energy sum */ + float bg_energy; /* background energy sum */ + int16_t fg_energy_count; /* number of the foreground energy frame */ + int16_t bg_energy_count; /* number of the background energy frame */ + int16_t fg_energy_est_start; /* flag by that indicate whether if estimate energy*/ + int16_t speech_flag; /* residual number of hangover 1 */ + int16_t continuous_noise_num; /* time of continuous noise frames*/ + int16_t continuous_speech_num; /* time of continuous speech frames*/ + int16_t continuous_speech_num2; /* time 2 of continuous speech frames*/ + int16_t frameloop; /* number of frame*/ + float tonality_rate3; /* tonality rate*/ + float music_background_rate; /* music background rate*/ + float lt_noise_sp_center_diff_sum; /* different sum of long time noise sp_center*/ + float lt_noise_sp_center_diff_counter; /* number of the member lt_noise_sp_center_diff_sum*/ + float lt_noise_sp_center0; /* long time noise sp_center0*/ + float lt_noise_sp_center3; /* long time noise sp_center3*/ + float lt_bg_highf_eng; /* average of long time high frequency energy*/ + int16_t update_num_with_snr; /* the number of the background update with SNR*/ + int16_t update_count; + int16_t warm_hang_num; /* the number of hangover for warm up*/ + int16_t vad_flag_for_bk_update; + +} T_CldfbVadState, *VAD_CLDFB_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * DTX and TD CNG structure + *------------------------------------------------------------------------------------------*/ + +typedef struct td_cng_enc_structure +{ + int16_t lp_cng_mode2; + + float lp_ener; /* CNG and DTX - low-pass filtered energy for CNG */ + int16_t cng_seed; /* CNG and DTX - seed for white noise random generator */ + int16_t old_enr_index; /* CNG and DTX - index of last encoded CNG energy */ + float Enew; /* CNG and DTX - CNG target residual energy */ + int16_t cng_hist_ptr; /* CNG and DTX - pointer for averaging buffers */ + float cng_lsp_hist[DTX_HIST_SIZE * M]; /* CNG and DTX - old LSP buffer for averaging */ + float cng_ener_hist[DTX_HIST_SIZE]; /* CNG and DTX - log energy buffer for averaging */ + int16_t cng_ener_seed; /* CNG and DTX - seed for random generator for variation of excitation energy */ + int16_t cng_ener_seed1; + float lp_sp_enr; + int16_t last_allow_cn_step; + int16_t ho_hist_size; /* CNG and DTX - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ + int16_t ho_hist_ptr; /* CNG and DTX - pointer for averaging buffers */ + int32_t ho_sid_bw; /* CNG and DTX - SID bandwidth flags */ + float ho_lsp_hist[HO_HIST_SIZE * M]; /* CNG and DTX - old LSP buffer for averaging */ + float ho_ener_hist[HO_HIST_SIZE]; /* CNG and DTX - energy buffer for averaging */ + float ho_env_hist[HO_HIST_SIZE * NUM_ENV_CNG]; + int16_t act_cnt; /* CNG and DTX - counter of active frames */ + int16_t ho_circ_size; /* CNG and DTX - size of DTX hangover history buffer for averaging, <0,HO_HIST_SIZE> */ + int16_t ho_circ_ptr; /* CNG and DTX - pointer for averaging buffers */ + float ho_lsp_circ[HO_HIST_SIZE * M]; /* CNG and DTX - old LSP buffer for averaging */ + float ho_ener_circ[HO_HIST_SIZE]; /* CNG and DTX - energy buffer for averaging */ + float ho_env_circ[HO_HIST_SIZE * NUM_ENV_CNG]; + int16_t burst_ho_cnt; /* CNG and DTX - counter of hangover frames at end of active burst */ + int16_t cng_buf_cnt; /* CNG and DTX - Counter of buffered CNG parameters */ + float cng_exc2_buf[HO_HIST_SIZE * L_FFT]; /* CNG and DTX - exc2 buffer for storing */ + int32_t cng_brate_buf[HO_HIST_SIZE]; /* CNG and DTX - buffer for storing last_active_brate */ + float CNG_att; /* CNG and DTX - attenuation factor for CNG, in dB */ + int16_t ho_16k_lsp[HO_HIST_SIZE]; /* CNG and DTX - 16k LSPs flags */ + int16_t act_cnt2; /* CNG and DTX - counter of active frames for CNG_mode switching */ + float ho_lsp_circ2[HO_HIST_SIZE * M]; /* CNG and DTX - second buffer of LSPs */ + int16_t num_ho; /* CNG and DTX - number of selected hangover frames */ + float old_env[NUM_ENV_CNG]; + float lp_env[NUM_ENV_CNG]; + float cng_res_env[NUM_ENV_CNG * HO_HIST_SIZE]; + float exc_mem[24]; + float exc_mem1[30]; + float exc_mem2[30]; + + + /* SWB DTX/CNG parameters */ + int16_t last_vad; + float last_wb_cng_ener; + float last_shb_cng_ener; + float mov_wb_cng_ener; + float mov_shb_cng_ener; + int16_t last_idx_ener; + int16_t shb_cng_ini_cnt; + int16_t last_SID_bwidth; + int16_t shb_NO_DATA_cnt; + +} TD_CNG_ENC_DATA, *TD_CNG_ENC_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * FD CNG arrays and variables + *------------------------------------------------------------------------------------------*/ + +typedef struct fd_cng_enc_structure +{ + HANDLE_FD_CNG_COM hFdCngCom; + + float msPeriodog[NPART]; /* Periodogram */ + float msBminWin[NPART]; + float msBminSubWin[NPART]; + float msPsd[NPART]; /* Power Spectral Density estimate (i.e., smoothed periodogram) */ + float msAlpha[NPART]; /* Optimal smoothing parameter */ + float msMinBuf[MSNUMSUBFR * NPART]; /* Buffer of minima */ + float msCurrentMinOut[NPART]; + float msCurrentMin[NPART]; + float msCurrentMinSubWindow[NPART]; + int16_t msLocalMinFlag[NPART]; + int16_t msNewMinFlag[NPART]; + float msPsdFirstMoment[NPART]; + float msPsdSecondMoment[NPART]; + float msNoiseFloor[NPART]; /* Estimated noise floor */ + float msNoiseEst[NPART]; /* Estimated noise level */ + float energy_ho[NPART]; + float msNoiseEst_old[NPART]; + float msLogPeriodog[NPART]; /* Periodogram */ + float msLogNoiseEst[NPART]; /* Estimated noise level */ + + float msPeriodogBuf[MSBUFLEN * NPART]; + int16_t msPeriodogBufPtr; + + int16_t stopFFTbinDec; + int16_t startBandDec; + int16_t stopBandDec; + int16_t npartDec; + int16_t midbandDec[NPART]; + int16_t nFFTpartDec; + int16_t partDec[NPART]; + + float mem_coherence[4]; + +} FD_CNG_ENC, *HANDLE_FD_CNG_ENC; + +/*------------------------------------------------------------------------------------------* + * Structure for DTX-related variables used in both FD- and TD-CNG + *------------------------------------------------------------------------------------------*/ + +typedef struct dtx_enc_structure +{ + int16_t cnt_SID; /* CNG and DTX - counter of SID update for the interop. mode or DTX, if enabled */ + int16_t first_CNG; /* CNG and DTX - first CNG frame flag */ + int16_t cng_cnt; /* CNG and DTX - counter of CNG frames for averaging */ + int16_t max_SID; /* CNG and DTX - max allowed number of CNG FRAME_NO_DATA frames */ + int16_t CNG_mode; /* CNG and DTX - mode for DTX configuration */ + float lspCNG[M]; /* CNG and DTX - LP filtered ISPs */ + int16_t VarDTX_cnt_voiced; /* CNG and DTX - counter for variable DTX activation (speech) */ + int16_t VarDTX_cnt_noise; /* CNG and DTX - counter for variable DTX activation (noise) */ + float lt_ener_voiced; /* CNG and DTX - long-term energy of signal (measured on voiced parts) */ + float lt_ener_noise; /* CNG and DTX - long-term energy of background noise */ + float frame_ener; + int16_t cng_hist_size; /* CNG and DTX - size of CNG history buffer for averaging, <0,DTX_HIST_SIZE> */ + float lt_ener_last_SID; /* CNG and DTX - long-term energy of last SID frame */ + int16_t last_CNG_L_frame; /* CNG and DTX - last CNG frame length */ + int16_t var_SID_rate_flag; /* CNG and DTX - flag for variable SID rate */ + int16_t interval_SID; /* CNG and DTX - interval of SID update, default 8 */ + int32_t last_active_brate; /* CNG and DTX - last active frame bitrate used for CNG_mode control */ + +} DTX_ENC_DATA, *DTX_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * IGF structures + *----------------------------------------------------------------------------------*/ + +typedef struct igfscfenc_public_data_struct +{ + int16_t ptrBitIndex; + int16_t bitCount; + int16_t prev[64]; /* no more than 64 SCFs for the IGF energy envelope of one block */ + int16_t prevSave[64]; + int16_t scfCountLongBlock[IGF_NOF_GRIDS]; + int16_t t; + int16_t Tsave; + int16_t contex_saved; + const uint16_t *cf_se00; + const uint16_t *cf_se01; + int16_t cf_off_se01; + const uint16_t *cf_se02; + const int16_t *cf_off_se02; + const uint16_t *cf_se10; + int16_t cf_off_se10; + const uint16_t *cf_se11; + const int16_t *cf_off_se11; + Tastat acState; + +} IGFSCFENC_INSTANCE, *IGFSCFENC_INSTANCE_HANDLE; + + +typedef struct igf_enc_private_data_struct +{ + IGF_INFO igfInfo; + int16_t igfScfQuantized[IGF_MAX_SFB]; + IGFSCFENC_INSTANCE hIGFSCFArithEnc; + + float prevSFM_FIR_SFB_TB[IGF_MAX_SFB]; + float prevSFM_IIR_SFB_TB[IGF_MAX_SFB]; + float prevSFM_FIR_SFB_SB[IGF_MAX_SFB]; + float prevSFM_IIR_SFB_SB[IGF_MAX_SFB]; + int16_t logSpec[L_FRAME_PLUS]; + + float prevDampingFactor_IIR[IGF_MAX_SFB]; + int16_t dampingFactorSmoothing[IGF_MAX_SFB]; + float SFM_tb[IGF_MAX_SFB]; + float SFM_sb[IGF_MAX_SFB]; + + int16_t igfCurrWhiteningLevel[IGF_MAX_TILES]; + int16_t igfPrevWhiteningLevel[IGF_MAX_TILES]; + int16_t igfWhiteningHangoverCnt[IGF_MAX_TILES]; + float igfPastSFM[IGF_MAX_TILES][IGF_PAST_SFM_LEN]; + int16_t igfPastSFM_pos; + + float prevSFM_FIR[IGF_MAX_TILES]; + float prevSFM_IIR[IGF_MAX_TILES]; + int16_t wasTransient; + + UWord8 igfBitstream[IGF_BITBUFSIZE / 8]; + int16_t igfBitstreamBits; + +} IGF_ENC_PRIVATE_DATA, *IGF_ENC_PRIVATE_DATA_HANDLE; + + +typedef struct igf_enc_instance_struct +{ + IGF_ENC_PRIVATE_DATA igfData; + int32_t infoSamplingRate; + int16_t infoStartFrequency; + int16_t infoStopFrequency; + int16_t infoStartLine; + int16_t infoStopLine; + int16_t infoTotalBitsWritten; + int16_t infoTotalBitsPerFrameWritten; + int16_t flatteningTrigger; + float spec_be_igf[N_MAX_TCX - IGF_START_MN]; + float tns_predictionGain; + +} IGF_ENC_INSTANCE, *IGF_ENC_INSTANCE_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Noise estimation structure + *----------------------------------------------------------------------------------*/ + +typedef struct noise_estimation_structure +{ + float fr_bands1[NB_BANDS]; /* spectrum per critical bands of the previous frame */ + float fr_bands2[NB_BANDS]; /* spectrum per critical bands 2 frames ago */ + + float old_S[L_FFT / 2]; /* Tonal detector - prev. log-energy spectrum with subtracted floor */ + float cor_map[L_FFT / 2]; /* Tonal detector - LT correlation map */ + float noise_char; /* Tonal detector - LT noise character */ + float ave_enr2[NB_BANDS]; /* Tonal detector - LT average E per crit. band (for non_sta2) */ + float act_pred; /* Tonal detector - prediction of speech activity from 0 to 1 (0-inactive, 1-active) */ + float multi_harm_limit; /* Tonal detector - adaptive threshold */ + float enrO[NB_BANDS]; /* Noise estimator - previous energy per critical band */ + float bckr[NB_BANDS]; /* Noise estimator - background noise estimation per critical band */ + float ave_enr[NB_BANDS]; /* Noise estimator - long-term average energy per critical band */ + int16_t aEn; /* Noise estimator - noise estimator adaptation flag */ + float totalNoise; /* Noise estimator - total noise energy */ + int16_t first_noise_updt; /* Noise estimator - flag used to determine if the first noise update frame */ + int16_t first_noise_updt_cnt; /* Noise estimator - counter of frame after first noise update */ + int16_t harm_cor_cnt; /* Noise estimator - 1st memory counter of harm or correlation frame */ + int16_t bg_cnt; /* Noise estimator - pause length counter */ + float Etot_l; /* Noise estimator - Track energy from below */ + float Etot_h; /* Noise estimator - Track energy from above */ + float Etot_l_lp; /* Noise estimator - Smoothed low energy */ + float Etot_last; /* Noise estimator - Energy of last frame */ + float Etot_lp; /* Noise estimator - Filtered input energy */ + float lt_tn_track; + float lt_tn_dist; + float lt_Ellp_dist; + float lt_haco_ev; + int16_t low_tn_track_cnt; + float epsP_0_2_lp; + float epsP_0_2_ad_lp; + float epsP_2_16_lp; + float epsP_2_16_lp2; + float epsP_2_16_dlp_lp; + float epsP_2_16_dlp_lp2; + float lt_aEn_zero; + + float Etot_v_h2; + float sign_dyn_lp; + float Etot_st_est; /* Noise estimation - short term estimate of E{ Etot } */ + float Etot_sq_st_est; /* Noise estimation - short term estimate of E{ Etot^2 } */ + int16_t aEn_inac_cnt; +} NOISE_EST_DATA, *NOISE_EST_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Speech/music classifier structure + *----------------------------------------------------------------------------------*/ + +typedef struct sp_mus_clas_structure +{ + float FV_st[N_SMC_FEATURES]; /* Speech/music classifier - short-term mean of the feature vector */ + float past_PS[HIGHEST_FBIN - LOWEST_FBIN]; + float past_ps_diff; + float prev_FV[N_SMC_FEATURES]; + float past_epsP; + float past_epsP2; + int16_t inact_cnt; + float wdrop; + float wrise; + float wdlp_0_95_sp; + float wdlp_xtalk; + int16_t sp_mus_state; + int16_t past_dec[HANG_LEN - 1]; /* Speech/music classifier - buffer of past binary decisions */ + float past_dlp[HANG_LEN - 1]; /* Speech/music classifier - buffer of past non-binary decisions */ + float past_dlp_mean_ST[HANG_LEN - 1]; /* Speech/music classifier - buffer of past non-binary decisions (with ST smoothing) */ + float dlp_mean_ST; + int16_t flag_spitch_cnt; + float dlp_mean_LT; + float dlp_var_LT; + float last_lsp[M_LSP_SPMUS]; + float last_cor_map_sum; + float last_non_sta; + float past_log_enr[NB_BANDS_SPMUS]; /* Speech/music classifier - last average per-band log energy used for non_staX */ + float gsc_thres[4]; /* Speech/music classifier - classification threshold */ + float gsc_lt_diff_etot[MAX_LT]; /* Speech/music classifier - long-term total energy variation */ + float gsc_mem_etot; /* Speech/music classifier - total energy memory */ + int16_t gsc_last_music_flag; /* Speech/music classifier - last music flag */ + int16_t gsc_nb_thr_1; /* Speech/music classifier - number of consecutives frames of level 1 */ + int16_t gsc_nb_thr_3; /* Speech/music classifier - number of consecutives frames of level 3 */ + float mold_corr; + float mean_avr_dyn; /* Speech/music classifier - long term average dynamic */ + float last_sw_dyn; /* Speech/music classifier - last dynamic */ + float lt_dec_thres; /* Speech/music classifier - Long term speech/music thresold values */ + float ener_RAT; /* Speech/music classifier - LF/to total energy ratio */ + + int16_t relE_attack_cnt; + float prev_relE; + float prev_Etot; + int16_t prev_vad; + int16_t vad_0_1_cnt; + float relE_attack_sum; + + /* speech/music classifier improvement parameters */ + float old_Bin_E[3 * N_OLD_BIN_E]; + float buf_flux[BUF_LEN]; + float buf_pkh[BUF_LEN]; + float buf_epsP_tilt[BUF_LEN]; + float buf_cor_map_sum[BUF_LEN]; + float buf_Ntonal[BUF_LEN]; + float buf_Ntonal2[BUF_LEN]; + float buf_Ntonal_lf[BUF_LEN]; + float buf_dlp[10]; + int16_t onset_cnt; + float buf_etot[4]; + int16_t attack_hangover; + float dec_mov; + float dec_mov1; + float mov_log_max_spl; + float old_lt_diff[2]; + int16_t UV_cnt1; + float LT_UV_cnt1; + + float finc_prev[ATT_NSEG]; /* strong attack detection - previous finc */ + float lt_finc; /* strong attack detection - long-term finc energy */ + int16_t last_strong_attack; /* strong attack detection - last strong attack flag */ + float tod_lt_Bin_E[TOD_NSPEC]; /* tonal detector - long-term energy spectrum */ + float tod_S_map_lt[TOD_NSPEC]; /* tonal detector - long-term correlation map */ + float tod_thr_lt; /* tonal detector - adaptive threshold */ + float tod_weight; /* tonal detector - adaptive weight */ + float tod_S_mass_prev; + float tod_S_mass_lt; + + int16_t lt_music_hangover; + float tonality2_buf[HANG_LEN_INIT]; + float tonality3_buf[HANG_LEN_INIT]; + float LPCErr_buf[HANG_LEN_INIT]; + int16_t lt_music_state; + int16_t lt_speech_state; + int16_t lt_speech_hangover; + float lpe_buf[HANG_LEN_INIT]; + float voicing_buf[HANG_LEN_INIT]; + int16_t gsc_hangover; + float sparse_buf[HANG_LEN_INIT]; + float hf_spar_buf[HANG_LEN_INIT]; + float LT_sparse; + int16_t gsc_cnt; + + /* speech/music classification */ + int16_t last_vad_spa; + int16_t lt_old_mode[3]; + float lt_voicing; + float lt_corr; + float lt_tonality; + int16_t lt_corr_pitch[3]; + int16_t lt_hangover; + float lowrate_pitchGain; + + float tdm_lt_Etot; + float var_cor_t[VAR_COR_LEN]; + int16_t high_stable_cor; + + float lps; + float lpm; + float lpn; + +} SP_MUS_CLAS_DATA, *SP_MUS_CLAS_HANDLE; + + +/*----------------------------------------------------------------------------------* + * ACELP core structure + *----------------------------------------------------------------------------------*/ + +typedef struct lpd_state_structure +{ + /* signal memory */ + float syn[1 + M]; /* Synthesis memory (non-pe) */ + + /* ACELP memories*/ + float old_exc[L_EXC_MEM]; /* ACELP exc memory (Aq) */ + float mem_w0; + float mem_syn[M]; /* ACELP synthesis memory (pe) before post-proc */ + float mem_syn1[M]; + float mem_syn2[M]; /* ACELP synthesis memory (pe) after post-proc */ + float mem_syn_r[L_SYN_MEM]; /* ACELP synthesis memory for 1.25ms */ + float mem_syn3[M]; + + float tilt_code; + float gc_threshold; /* Noise enhancer - threshold for gain_code */ + float dispMem[8]; /* Noise enhancer - phase dispersion algorithm memory */ + +} LPD_state, *LPD_state_HANDLE; + + +/* Structure for storing correlations between ACELP codebook components and target */ +typedef struct acelp_cbkcorr_structure +{ + float xx; /* energy of target x */ + float y1y1; /* energy of adaptive cbk contribution y1 */ + float y2y2; /* energy of fixed cbk contribution y2 */ + float xy1; /* correlation of x and y1 */ + float xy2; /* correlation of x and y2 */ + float y1y2; /* correlation of y1 and y2 */ +} ACELP_CbkCorr; + + +/*----------------------------------------------------------------------------------* + * GSC static variables + *----------------------------------------------------------------------------------*/ + +typedef struct gsc_enc_structure +{ + int16_t seed_tcx; /* AC mode (GSC) - seed for noise fill */ + int16_t cor_strong_limit; /* AC mode (GSC) - Indicator about high spectral correlation per band */ + int16_t mem_last_pit_band; /* AC mode (GSC) - memory of the last band where pitch contribution was significant */ + float mem_w0_tmp; + float mem_syn_tmp[M]; + float mid_dyn; /* AC mode (GSC) - signal dynamic */ + int16_t noise_lev; /* AC mode (GSC) - noise level */ + int16_t past_dyn_dec; /* AC mode (GSC) - Past noise level decision */ + float Last_frame_ener; /* AC mode (GSC) - Last frame energy */ + int16_t pit_exc_hangover; /* AC mode (GSC) - Hangover for the time contribution switching */ + float last_exc_dct_in[L_FRAME16k]; /* AC mode (GSC) - previous excitation */ + float last_ener; /* AC mode (GSC) - previous energy */ + int16_t last_bitallocation_band[6]; /* AC mode (GSC) - previous bit allocation of each band */ + float lt_gpitch; + +} GSC_ENC_DATA, *GSC_ENC_HANDLE; + +/*----------------------------------------------------------------------------------* + * HQ core structure + *----------------------------------------------------------------------------------*/ + +typedef struct hq_enc_structure +{ + int16_t mode_count; /* HQ_HARMONIC mode count */ + int16_t mode_count1; /* HQ_NORMAL mode count */ + int16_t prev_Npeaks; /* number of peaks in previous frame */ + int16_t prev_peaks[HVQ_MAX_PEAKS]; /* indices of the peaks in previous frame */ + int16_t hvq_hangover; + int16_t prev_hqswb_clas; + int16_t prev_SWB_peak_pos[SPT_SHORTEN_SBNUM]; + + int16_t hq_generic_speech_class; + float crest_lp; /* Low-pass filtered crest of high band */ + float crest_mod_lp; /* Low-pass filtered noise band detection */ + + /* SWB BWE LR classification */ + int16_t prev_frm_index[NB_SWB_SUBBANDS_HAR_SEARCH_SB]; + int16_t prev_frm_hfe2; + int16_t prev_stab_hfe2; + float prev_ni_ratio; + float prev_En_sb[NB_SWB_SUBBANDS]; + int16_t last_bitalloc_max_band[2]; + float last_ni_gain[BANDS_MAX]; + float last_env[BANDS_MAX]; + int16_t last_max_pos_pulse; + +} HQ_ENC_DATA, *HQ_ENC_HANDLE; + +/* PVQ range coder state */ +typedef struct pvq_enc_structure +{ + uint32_t rc_low; + uint32_t rc_range; + int16_t rc_cache; + int16_t rc_carry; + int16_t rc_carry_count; + int16_t rc_num_bits; + int16_t rc_tot_bits; + int16_t rc_offset; + +} PVQ_ENC_DATA, *PVQ_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * SC-VBR structure + *----------------------------------------------------------------------------------*/ + +typedef struct sc_vbr_enc_structure +{ + float vadsnr; + float vadnoise; + + /* NELP variables */ + float shape1_filt_mem[20]; + float shape2_filt_mem[20]; + float shape3_filt_mem[20]; + float txlpf1_filt1_mem[20]; + float txlpf1_filt2_mem[20]; + float txhpf1_filt1_mem[20]; + float txhpf1_filt2_mem[20]; + float bp1_filt_mem_wb[8]; + float nelp_lp_fit_mem[NELP_LP_ORDER * 2]; + float bp1_filt_mem_nb[14]; + int16_t nelp_enc_seed; + float nelp_gain_mem; + int16_t last_nelp_mode; + int16_t nelp_mode; + + /* PPP variables */ + int16_t pppcountE; + int16_t bump_up; + int16_t last_ppp_mode; + int16_t last_last_ppp_mode; + int16_t ppp_mode; + float prev_ppp_gain_pit; + float prev_tilt_code; + + /* voiced encoder variables */ + int16_t firstTime_voicedenc; + + /* DTFS variables */ + float dtfs_enc_a[MAXLAG_WI]; + float dtfs_enc_b[MAXLAG_WI]; + int16_t dtfs_enc_lag; + int16_t dtfs_enc_nH; + int16_t dtfs_enc_nH_4kHz; + float dtfs_enc_upper_cut_off_freq_of_interest; + float dtfs_enc_upper_cut_off_freq; + + float prev_cw_en; + float ph_offset_E; + float lastLgainE; /* Previous gain value for the low band */ + float lastHgainE; /* Previous gain value for the high band */ + float lasterbE[NUM_ERB_WB]; /* Previous Amplitude spectrum (ERB) */ + + int16_t mode_QQF; + int16_t rate_control; + float SNR_THLD; + int16_t Q_to_F; + int16_t pattern_m; + int16_t patterncount; + int16_t Last_Resort; + int16_t numactive; /* keep the count of the frames inside current 600 frame block */ + float sum_of_rates; /* sum of the rates of past 600 active frames */ + float global_avr_rate; /* global rate up to current time. recorded a (rate in kbps) * 6000 */ + int16_t global_frame_cnt; /* 600 active frame block count. Used to update the global rate */ + int16_t set_ppp_generic; + int16_t avoid_HQ_VBR_NB; + + int16_t vbr_generic_ho; + int16_t Local_VAD; + int16_t last_7k2_coder_type; + +} SC_VBR_ENC_DATA, *SC_VBR_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * AMR-WB IO mode structure + *----------------------------------------------------------------------------------*/ + +typedef struct amrwb_io_enc_structure +{ + float past_qua_en[4]; /* gain quantization memory (used also in AMR-WB IO mode) */ + + /* HF WB BWE for AMR-WB IO mode at 23.85 kbps */ + float gain_alpha; + float mem_hf2_enc[L_FIR - 1]; + float mem_hp400_enc[4]; + float mem_hf_enc[L_FIR - 1]; + float mem_syn_hf_enc[M]; + int16_t seed2_enc; + +} AMRWB_IO_ENC_DATA, *AMRWB_IO_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * TD BWE structure + *----------------------------------------------------------------------------------*/ + +typedef struct td_bwe_enc_structure +{ + float old_speech_shb[L_LOOK_16k + L_SUBFR16k]; /* Buffer memories */ + float old_speech_wb[( L_LOOK_12k8 + L_SUBFR ) * 5 / 16]; /* Buffer memories */ + float old_input_fhb[NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2]; + float prev_lsp_shb[LPC_SHB_ORDER]; + float state_ana_filt_shb[2 * ALLPASSSECTIONS_STEEP + 1]; /* states for the analysis filters */ + float cldfbHBLT; + /* states for the filters used in generating SHB excitation from WB excitation*/ + float mem_csfilt[2]; + float mem_shb_res[MAX_LEN_MA_FILTER]; /* old SHB residual signal */ + float old_EnvSHBres[L_FRAME4k]; /* old TD envelope of the SHB residual signal */ + float old_mean_EnvSHBres; /* energy of the last subframe of the SHB residual signal from previous frame */ + float prev_enr_EnvSHBres; /* energy of the residual SHB envelope from the previous frame */ + float prev_shb_env_tilt; /* tilt of the residual SHB envelope from the previous frame */ + float prev_pow_exc16kWhtnd; /* power of the LB excitation signal in the previous frame */ + float prev_mix_factor; /* mixing factor in the previous frame */ + float prev_Env_error; /* error in SHB envelope modelling */ + + /* states for the filters used in generating SHB signal from SHB excitation*/ + float state_syn_shbexc[L_SHB_LAHEAD]; + float state_lpc_syn[LPC_SHB_ORDER]; + float old_bwe_exc[PIT16k_MAX * 2]; /* old excitation */ + int16_t bwe_seed[2]; + float bwe_non_lin_prev_scale; + float old_bwe_exc_extended[NL_BUFF_OFFSET]; + float syn_overlap[L_SHB_LAHEAD]; /* overlap buffer used to Adjust SHB Frame Gain*/ + float decim_state1[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float decim_state2[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float mem_genSHBexc_filt_down_wb2[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float mem_genSHBexc_filt_down_wb3[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + float mem_genSHBexc_filt_down_shb[( 2 * ALLPASSSECTIONS_STEEP + 1 )]; + + float elliptic_bpf_2_48k_mem[4][4]; + float prev_fb_energy; + float prev_gainFr_SHB; + float lsp_shb_slow_interpl[LPC_SHB_ORDER]; + float lsp_shb_fast_interpl[LPC_SHB_ORDER]; + float shb_inv_filt_mem[LPC_SHB_ORDER]; + float lsp_shb_spacing[3]; + float prev_swb_GainShape; + int16_t prev_frGainAtten; + + float prev_wb_GainShape; + float swb_lsp_prev_interp[LPC_SHB_ORDER]; + float fb_state_lpc_syn[LPC_SHB_ORDER]; + float fb_tbe_demph; + float tilt_mem; + + int16_t prev_coder_type; + float prev_lsf_diff[LPC_SHB_ORDER - 2]; + float prev_tilt_para; + float cur_sub_Aq[M + 1]; + + /* quantized data */ + int16_t lsf_idx[NUM_Q_LSF]; + int16_t m_idx; + int16_t grid_idx; + int16_t idxSubGains; + int16_t idxFrameGain; + int16_t idx_shb_fr_gain; + int16_t idx_res_gs[NB_SUBFR16k]; + int16_t idx_mixFac; + + int16_t lsf_WB; + int16_t gFrame_WB; + + int16_t idxGain; + float dec_2_over_3_mem[L_FILT_2OVER3]; + float dec_2_over_3_mem_lp[L_FILT_2OVER3_LP]; + + float tbe_demph; + float tbe_premph; + float mem_stp_swb[LPC_SHB_ORDER]; + float *ptr_mem_stp_swb; + float gain_prec_swb; + float mem_zero_swb[LPC_SHB_ORDER]; + +} TD_BWE_ENC_DATA, *TD_BWE_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * FD BWE structure + *----------------------------------------------------------------------------------*/ + +typedef struct fd_bwe_enc_structure +{ + float new_input_hp[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS - DELAY_CLDFB_NS )]; + float old_input[NS2SA( 48000, DELAY_FD_BWE_ENC_NS + DELAY_FIR_RESAMPL_NS )]; + float old_input_wb[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; + float old_input_lp[NS2SA( 16000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_NS )]; + float old_syn_12k8_16k[NS2SA( 16000, DELAY_FD_BWE_ENC_NS )]; + float old_fdbwe_speech[L_FRAME48k]; + float mem_deemph_old_syn; + int16_t prev_mode; + float old_wtda_swb[L_FRAME48k]; + int16_t prev_L_swb_norm1; + float prev_global_gain; + int16_t modeCount; + float EnergyLF; + float mem_old_wtda_swb; + +} FD_BWE_ENC_DATA, *FD_BWE_ENC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Channel-aware mode + *----------------------------------------------------------------------------------*/ + +typedef struct rf_enc_structure +{ + int16_t rf_frame_type; + int16_t rf_targetbits_buff[MAX_RF_FEC_OFFSET]; + int16_t rf_indx_frametype[MAX_RF_FEC_OFFSET]; + + ACELP_config acelp_cfg_rf; /* configuration for RF frame */ + + float rf_mem_w0; + float rf_clip_var[6]; + float rf_tilt_code; + float rf_mem_syn2[M]; + float rf_dispMem[8]; + float rf_gc_threshold; + + int16_t rf_target_bits; + float rf_tilt_buf[NB_SUBFR16k]; + + int16_t rf_indx_lsf[MAX_RF_FEC_OFFSET][3]; + int16_t rf_indx_pitch[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; + int16_t rf_indx_fcb[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; + int16_t rf_indx_gain[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; + int16_t rf_indx_EsPred[MAX_RF_FEC_OFFSET]; + int16_t rf_indx_ltfMode[MAX_RF_FEC_OFFSET][NB_SUBFR16k]; + + int16_t rf_indx_nelp_fid[MAX_RF_FEC_OFFSET]; + int16_t rf_indx_nelp_iG1[MAX_RF_FEC_OFFSET]; + int16_t rf_indx_nelp_iG2[MAX_RF_FEC_OFFSET][2]; + + int16_t rf_indx_tbeGainFr[MAX_RF_FEC_OFFSET]; + + int16_t rf_tcxltp_pitch_int_past; + int16_t rf_last_tns_active; + int16_t rf_second_last_tns_active; + int16_t rf_second_last_core; + int16_t rf_clas[MAX_RF_FEC_OFFSET]; + int16_t rf_gain_tcx[MAX_RF_FEC_OFFSET]; + int16_t rf_tcxltp_param[MAX_RF_FEC_OFFSET]; + + int16_t RF_bwe_gainFr_ind; + +} RF_ENC_DATA, *RF_ENC_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * PLC encoder + *------------------------------------------------------------------------------------------*/ + +typedef struct plc_enc_evs_structure +{ + int16_t nBits; /* number of bits */ + + int16_t enableGplc; + int16_t T0_4th; + int16_t T0; + int16_t calcOnlylsf; + int16_t pit_min; + int16_t pit_max; + + float mem_MA[M]; + float mem_AR[M]; + + float lsfold[M]; /* old lsf (frequency domain) */ + float lspold[M]; /* old lsp (immittance spectral pairs) */ + + float lsfoldbfi0[M]; /* Previous frame lsf */ + float lsfoldbfi1[M]; /* Past previous frame lsf */ + float lsf_adaptive_mean[M]; /* Mean lsf for bfi cases */ + float stab_fac; + + LPD_state *LPDmem; + float old_exc[8]; /* ACELP exc memory (Aq) */ + + float lsf_con[M]; + float last_lsf_ref[M]; + float last_lsf_con[M]; + +} PLC_ENC_EVS, *PLC_ENC_EVS_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * TEC structure + *------------------------------------------------------------------------------------------*/ + +typedef struct tec_enc_structure +{ + float loBuffer[CLDFB_NO_COL_MAX + MAX_TEC_SMOOTHING_DEG + DELAY_TEMP_ENV_BUFF_TEC]; + float loTempEnv[CLDFB_NO_COL_MAX]; + float loTempEnv_ns[CLDFB_NO_COL_MAX]; + float hiTempEnv[CLDFB_NO_COL_MAX + DELAY_TEMP_ENV_BUFF_TEC + EXT_DELAY_HI_TEMP_ENV]; + int16_t tranFlag; + int16_t corrFlag; + +} TEC_ENC_DATA, *TEC_ENC_HANDLE; + + +/*------------------------------------------------------------------------------------------* + * TCX encoder + *------------------------------------------------------------------------------------------*/ + +typedef struct tcx_enc_structure +{ + int16_t L_frameTCX; + + int16_t tcxMode; /* Chosen TCX mode for this frame */ + int16_t transform_type[2]; /* TCX20/10/5 mode in each subframe */ + + /* Core Signal Analysis Outputs */ + float *spectrum[2]; /* MDCT output for a short block */ + float spectrum_long[N_MAX]; /* MDCT output for a long block. Points to spectrum */ + + float noiseTiltFactor; /* compensation for LPC tilt in noise filling */ + int16_t noiseLevelMemory_cnt; /* counter of consecutive low TCX noise levels */ + float ltpGainMemory[N_LTP_GAIN_MEMS]; /* for smoothing noiseTransWidth */ + STnsData tnsData[2]; + int16_t fUseTns[2]; + int16_t bTnsOnWhithenedSpectra[2]; + + int16_t memQuantZeros[L_FRAME_PLUS]; /* Quantization deadzone flags */ + + float *speech_TCX; + float *new_speech_TCX; + + int16_t tcxltp; + int16_t tcxltp_pitch_int; + int16_t tcxltp_pitch_fr; + float tcxltp_gain; + int16_t tcxltp_pitch_int_past; + int16_t tcxltp_pitch_fr_past; + float tcxltp_gain_past; + float tcxltp_norm_corr_past; + float tcxltp_norm_corr_mem; + float kernel_switch_corr_past; + uint16_t kernel_type[2]; /* transform kernel type in each subframe (MDCT or MDST) */ + uint16_t kernel_symmetry_past; /* last TDA symmetry (0 for MDCT, 1 for MDST type) */ + uint16_t enc_ste_pre_corr_past; + float tfm_mem; /* state of IIR filtered temporal flatness measure */ + float buf_speech_ltp[L_PAST_MAX_32k + L_FRAME32k + L_NEXT_MAX_32k]; + float *speech_ltp; + float *new_speech_ltp; + int16_t tcxltp_filt_idx; + int16_t tcxltp_bits; + int16_t tcxltp_param[LTPSIZE]; + int16_t tcxltp_on_mem; + + float measuredBwRatio; /* measured bw; used for TCX noise-filling */ + int16_t nmStartLine; /* Starting line for the noise measurement */ + + int16_t tcx_lpc_shaped_ari; + + float old_out[L_FRAME32k]; + + /* MDCT switching */ + float prev_hi_ener; + int16_t prev_hi_sparse; + float clas_sec_old; + int16_t clas_final_old; + float last_gain1; + float last_gain2; + + /* TCX memory */ + float Txnq[L_FRAME32k / 2 + 64]; /* Q target (overlap or ACELP+ZIR, use Aq) */ + float *acelp_zir; + float tcx_target_bits_fac; + +} TCX_ENC_DATA, *TCX_ENC_HANDLE; +/*----------------------------------------------------------------------------------* + * + * Main Core encoder structure + * + *----------------------------------------------------------------------------------*/ + +typedef struct enc_core_structure +{ + /*----------------------------------------------------------------------------------* + * Common parameters + *----------------------------------------------------------------------------------*/ + + int16_t idchan; /* channel ID (audio channel number) */ + int16_t element_mode; /* element mode */ +#ifdef DEBUGGING + int16_t id_element; /* element ID */ +#endif + int32_t element_brate; /* element bitrate */ + int16_t codec_mode; /* Mode1 or Mode2 */ + int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ + int16_t last_codec_mode_cng; /* previous inactive frame Mode 1 or 2 */ + + /* MDCT switching */ + int16_t mdct_sw_enable; /* MDCT switching enable flag */ + int16_t mdct_sw; /* MDCT switching indicator */ + + BSTR_ENC_HANDLE hBstr; /* encoder bitstream handle */ + int16_t bitstreamformat; /* Bitstream format flag (G.192/MIME) */ + + int32_t input_Fs; /* input signal sampling frequency in Hz */ + int32_t total_brate; /* total bitrate in kbps of the codec */ + int32_t last_total_brate; /* last frame's total bitrate in kbps of the codec */ + int32_t last_total_brate_cng; /* last inactive frame's total bitrate in kbps of the codec */ + int16_t core; /* core (ACELP_CORE, TCX_20_CORE, TCX_10_CORE, HQ_CORE, AMR_WB_CORE) */ + int16_t last_core; /* previous frame core */ + int16_t coder_type; /* core coder type */ + int16_t flag_ACELP16k; /* flag indicating use of ACELP core at 16kHz internal sampling rate */ + int32_t core_brate; /* core bitrate */ + int32_t last_core_brate; /* previous frame core bitrate */ + int16_t extl; /* extension layer */ + int16_t last_extl; /* previous extension layer */ + int32_t extl_brate; /* extension layer bitrate */ + int16_t input_bwidth; /* input signal bandwidth */ + int16_t bwidth; /* encoded bandwidth NB, WB, SWB or FB */ + int16_t max_bwidth; /* maximum encoded bandwidth */ + int16_t last_input_bwidth; /* input signal bandwidth in the previous frame */ + int16_t last_bwidth; /* coded bandwidth in the previous frame */ + int16_t last_bwidth_cng; /* coded bandwidth in the previous inactive frame */ + int16_t bwidth_sw_cnt; /* bandwidth switching counter */ + int16_t L_frame; /* ACELP core internal frame length */ + int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ + int16_t Opt_DTX_ON; /* flag indicating DTX operation */ + int16_t cng_type; /* flag indicating LP or CLDFB based SID/CNG */ + int16_t cng_sba_flag; /* flag indicating CNG/SID for SBA 2TC */ + int16_t Opt_SC_VBR; /* flag indicating SC-VBR mode */ + int16_t last_Opt_SC_VBR; /* flag indicating prev frame's SC-VBR mode */ + int16_t low_rate_mode; /* low-rate mode flag */ +#ifdef DEBUGGING + int16_t force; /* flag indicating specific signal type (0 = speech, 1 = music, -1 = N/A) */ +#endif + + int16_t ini_frame; /* initialization frames counter */ + + /*----------------------------------------------------------------------------------* + * ACELP core parameters + *----------------------------------------------------------------------------------*/ + + int16_t clas; /* current frame clas */ + int16_t last_clas; /* previous frame signal classification */ + float prev_fmerit; /* previous signal classification score*/ + float fmerit_dt; /* signal classification score difference */ + int16_t Nb_ACELP_frames; + + int16_t pitch[3]; /* open-loop pitch values @12.8 kHz for three half-frames */ + float voicing[3]; /* open-loop normalized correlation values for three half-frames */ + + LPD_state_HANDLE hLPDmem; /* ACELP LPDmem memories */ + + float Bin_E[L_FFT]; /* per bin energy of two frames */ + float lsp_old1[M]; /* old unquantized LSP vector at the end of the frame at 12k8 */ + float lsf_old1[M]; /* old unquantized LSF vector at the end of the frame at 12k8 */ + float lsp_old[M]; /* old LSP vector at the end of the frame */ + float lsf_old[M]; /* old LSF vector at the end of the frame */ + float lsp_old16k[M]; /* old LSP vector at the end of the frame @16kHz */ + float lspold_enc[M]; /* old lsp (immittance spectral pairs) */ + int16_t pstreaklen; /* LSF quantizer */ + float streaklimit; /* LSF quantizer */ + float stab_fac; /* LSF stability factor */ + float mem_preemph; /* preemphasis filter memory */ + float old_wsp[L_WSP_MEM]; /* old weighted signal vector */ + float old_wsp2[( L_WSP_MEM - L_INTERPOL ) / OPL_DECIM]; /* old decimated weighted signal vector */ + float mem_wsp; /* weighted signal vector memory */ + float mem_decim2[3]; /* weighted signal decimation filter memory */ + + float clip_var[6]; /* pitch gain clipping memory */ + float mem_AR[M]; /* AR memory of LSF quantizer (past quantized LSFs without mean) */ + float mem_MA[M]; /* MA memory of LSF quantizer (past quantized residual) (used also in AMR-WB IO mode) */ + + int16_t GSC_noisy_speech; /* AC mode (GSC) - flag to indicate GSC on SWB noisy speech */ + int16_t GSC_IVAS_mode; + GSC_ENC_HANDLE hGSCEnc; + + int16_t Last_pulse_pos; /* FEC - last position of the first glottal pulse in the frame */ + float lsfoldbfi0[M]; /* FEC - LSF vector of the previous frame */ + float lsfoldbfi1[M]; /* FEC - LSF vector of the past previous frame */ + float lsf_adaptive_mean[M]; /* FEC - adaptive mean LSF vector for FEC */ + int16_t next_force_safety_net; /* FEC - flag to force safety net in next frame */ + + int16_t uv_count; /* Stationary noise UV modification - unvoiced counter */ + int16_t act_count; /* Stationary noise UV modification - activation counter */ + float ge_sm; /* Stationary noise UV modification - smoothed excitation gain */ + float lspold_s[M]; /* Stationary noise UV modification - old LSP vector */ + int16_t noimix_seed; /* Stationary noise UV modification - mixture seed */ + float min_alpha; /* Stationary noise UV modification - minimum alpha */ + float exc_pe; /* Stationary noise UV modification - memory of the preemphasis filter */ + + int16_t coder_type_raw; /* raw coder_type (before UNVOICED is lost) */ + int16_t last_coder_type_raw; /* raw last_coder_type (coming from the sigal classification) */ + int16_t last_coder_type; /* previous coding type */ + float old_thres; /* normalized correlation weighting in open-loop pitch */ + float old_corr; /* normalized correlation in previous frame (mean value) */ + int16_t old_pitch; /* previous pitch for open-loop pitch search */ + int16_t delta_pit; /* open-loop pitch extrapolation correction */ + float ee_old; /* previous frame low/high frequency energy ratio */ + int16_t min_band; /* minimum critical band of useful bandwidth */ + int16_t max_band; /* maximum critical band of useful bandwidth */ + int16_t tc_cnt; /* TC frame counter */ + int16_t audio_frame_cnt; /* Counter of relative presence of audio frames */ + float old_dE1; /* Maximum energy increase in previous frame */ + int16_t old_ind_deltaMax; /* Index of the sub-subframe of maximum energy in previous frame */ + float old_enr_ssf[2 * NB_SSF]; /* Maxima of energies per sub-subframes of previous frame */ + int16_t spike_hyst; /* Hysteresis to prevent UC after sharp energy spike */ + int16_t last_harm_flag_acelp; /* harmonicity flag for ACELP @32kbps rate */ + float old_Aq_12_8[M + 1]; /* old Aq[] for core switching */ + float old_Es_pred; /* old Es_pred for core switching */ + + int16_t last_L_frame; /* ACELP@16kHz - last L_frame value */ + float mem_preemph16k; /* ACELP@16kHz - preemphasis filter memory @16kHz */ + float mem_deemp_preQ; /* ACELP@16kHz - prequantizer deemhasis memory */ + float mem_preemp_preQ; /* ACELP@16kHz - prequantizer preemhasis memory */ + int16_t last_nq_preQ; /* ACELP@16kHz - AVQ subquantizer number of the last sub-band of the last subframe */ + int16_t last_code_preq; /* ACELP@16kHz - last coefficient of the pre-quantizer contribution */ + int16_t use_acelp_preq; /* ACELP@16kHz - flag of prequantizer usage */ + + int16_t bpf_off; /* Bass post-filter - do not use BPF when this flag is set to 1 */ + float old_pitch_buf[2 * NB_SUBFR16k]; /* Bass post-filter - buffer of old subframe pitch values */ + float pst_mem_deemp_err; /* Bass post-filter - filter memory of noise LP filter */ + float pst_lp_ener; /* Bass post-filter - long-term energy */ + + /* stable short pitch detection */ + float voicing0_sm; + float voicing_sm; + float LF_EnergyRatio_sm; + int16_t predecision_flag; + float diff_sm; + float energy_sm; + + int16_t sharpFlag; + + int16_t flag_noisy_speech_snr; /* encoder detector for noisy speech */ + int16_t Pos_relE_cnt; /* Number of frames between relE */ + + int16_t tdm_pc; /* pitch stability - used in TD stereo */ + + + /*----------------------------------------------------------------------------------* + * General signal buffers + *----------------------------------------------------------------------------------*/ + + float *input_buff; + float *input; + float *old_input_signal; + + SIGNAL_BUFFERS_ENC_HANDLE hSignalBuf; + + float *Bin_E_old; /* per bin energy of old 2nd frames */ + float *mem_decim; /* decimation filter memory */ + float *mem_decim16k; /* ACELP@16kHz - decimation filter memory @16kHz */ + float *old_inp_12k8; /* memory of input signal at 12.8kHz */ + float *old_inp_16k; /* ACELP@16kHz - memory of input signal @16 kHz */ + float *buf_speech_enc_pe; + float *buf_synth; /*can be reduced to PIT_MAX_MAX+L_FRAME_MAX if no rate switching*/ + float *buf_speech_enc; + float *buf_wspeech_enc; + + /*----------------------------------------------------------------------------------* + * Noise estimation + *----------------------------------------------------------------------------------*/ + + NOISE_EST_HANDLE hNoiseEst; + + /*----------------------------------------------------------------------------------* + * Speech/music classifier + *----------------------------------------------------------------------------------*/ + + SP_MUS_CLAS_HANDLE hSpMusClas; + + int16_t sp_aud_decision0; /* 1st stage speech/music decision flag */ + int16_t sp_aud_decision1; /* 1st stage speech/music classification flag */ + int16_t sp_aud_decision2; /* 2nd stage speech/music classification flag */ + + /*----------------------------------------------------------------------------------* + * VAD/DTX/CNG + *----------------------------------------------------------------------------------*/ + + VAD_HANDLE hVAD; + + VAD_CLDFB_HANDLE hVAD_CLDFB; + + int16_t vad_flag; /* i : VAD flag */ + int16_t localVAD; /* i : local VAD flag */ + + float bckr_tilt_lt; + float lp_speech; + float lp_noise; /* CNG and DTX - LP filterend total noise estimation */ + int16_t active_cnt; /* counter of active frames */ + + TD_CNG_ENC_HANDLE hTdCngEnc; + + DTX_ENC_HANDLE hDtxEnc; /* Struct for DTX-related data used by both FD- and LP-CNG */ + + /*----------------------------------------------------------------------------------* + * AMR-WB IO handle + *----------------------------------------------------------------------------------*/ + + AMRWB_IO_ENC_HANDLE hAmrwb_IO; /* AMR-WB IO encoder handle */ + + /*----------------------------------------------------------------------------------* + * CLDFB analysis + *----------------------------------------------------------------------------------*/ + + HANDLE_CLDFB_FILTER_BANK cldfbAnaEnc; /* main analysis filter bank handle */ + HANDLE_CLDFB_FILTER_BANK cldfbSynTd; /* synthesis filterbank - used for HB signal generation */ + + /*----------------------------------------------------------------------------------* + * FD CNG handle + *----------------------------------------------------------------------------------*/ + + HANDLE_FD_CNG_ENC hFdCngEnc; + int16_t fd_cng_reset_flag; + float last_totalNoise; + float totalNoise_increase_hist[TOTALNOISE_HIST_SIZE]; + int16_t totalNoise_increase_len; + + /*----------------------------------------------------------------------------------* + * SC-VBR parameters + *----------------------------------------------------------------------------------*/ + + SC_VBR_ENC_HANDLE hSC_VBR; + + + /*----------------------------------------------------------------------------------* + * HQ core parameters + *----------------------------------------------------------------------------------*/ + + /* Memory for detect_transient() */ + float old_hpfilt_in; + float old_hpfilt_out; + float EnergyLT; + float Energy_Old; + int16_t TransientHangOver; + + HQ_ENC_HANDLE hHQ_core; /* HQ core encoder handle */ + + /*----------------------------------------------------------------------------------* + * TD BWE parameters + *----------------------------------------------------------------------------------*/ + + TD_BWE_ENC_HANDLE hBWE_TD; + + /*----------------------------------------------------------------------------------* + * FD BWE parameters + *----------------------------------------------------------------------------------*/ + + FD_BWE_ENC_HANDLE hBWE_FD; + + /*----------------------------------------------------------------------------------* + * WB, SWB and FB bandwidth detector + *----------------------------------------------------------------------------------*/ + + float lt_mean_NB; + float lt_mean_WB; + float lt_mean_SWB; + int16_t count_WB; + int16_t count_SWB; + int16_t count_FB; + + /*----------------------------------------------------------------------------------* + * Channel-aware mode + *----------------------------------------------------------------------------------*/ + + int16_t rf_mode; /* flag to signal the RF mode */ + int16_t rf_mode_last; + int16_t last_rf_mode_cng; + int16_t Opt_RF_ON; + int16_t rf_fec_offset; + int16_t rf_target_bits_write; + int16_t rf_fec_indicator; + + RF_ENC_HANDLE hRF; /* RF encoder handle */ + + /*----------------------------------------------------------------------------------* + * TCX core encoder handle + *----------------------------------------------------------------------------------*/ + + TCX_ENC_HANDLE hTcxEnc; + + /*----------------------------------------------------------------------------------* + * Mode2 + *----------------------------------------------------------------------------------*/ + + int16_t frame_size_index; /* 0-FRAME_SIZE_NB-1: index determining the frame size */ + int16_t bits_frame_nominal; /* avg bits per frame on active frame */ + int16_t last_bits_frame_nominal; /* avg bits per frame on active frame */ + int16_t bits_frame; /* bits per frame overall */ + int16_t bits_frame_core; /* bits per frame for the core */ + int16_t bits_frame_channel; + int16_t side_bits_frame_channel; + int16_t narrowBand; + int16_t restrictedMode; + int16_t nb_subfr; + int16_t tcxonly; + int16_t fscale; + int32_t sr_core; + + /*ACELP config*/ + ACELP_config acelp_cfg; /*configuration set for each frame*/ + + /*TCX config*/ + TCX_CONFIG_HANDLE hTcxCfg; + + /* cod_main.c */ + float mem_preemph_enc; /* speech preemph filter memory (at encoder-sampling-rate) */ + + /* Signal Buffers and Pointers at encoder-sampling-rate */ + float *speech_enc; + float *speech_enc_pe; + float *new_speech_enc; + float *new_speech_enc_pe; + float *wspeech_enc; + float *synth; + + + int16_t enableTcxLpc; /* global toggle for the TCX LPC quantizer */ + int16_t envWeighted; /* are is{p,f}_old_q[] weighted or not? */ + + int16_t acelpEnabled; /* Flag indicating if ACELP can be used */ + int16_t tcx10Enabled; /* Flag indicating if TCX 10 can be used */ + int16_t tcx20Enabled; /* Flag indicating if TCX 20 can be used */ + + float mem_wsp_enc; /* wsp vector memory */ + + int16_t nb_bits_header_ace; /* number of bits for the header */ + int16_t nb_bits_header_tcx; /* number of bits for the header */ + + float preemph_fac; /* Preemphasis factor */ + float gamma; + + TRAN_DET_HANDLE hTranDet; + + int16_t acelpFramesCount; + float prevTempFlatness; + + float prevEnergyHF; + float currEnergyHF; + float currEnergyLookAhead; + + int16_t lpcQuantization; + + int16_t encoderLookahead_enc; + int16_t encoderPastSamples_enc; + int16_t encoderLookahead_FB; + + /* pitch_ol for adaptive lag window */ + int16_t old_pitch_la; /* past open loop pitch lag from look-ahead before very short stable pitch detection */ + + int16_t acelp_autocorr; /* Optimize acelp in 0 covariance or 1 correlation domain */ + + int16_t pit_min; + int16_t pit_fr1; + int16_t pit_fr1b; + int16_t pit_fr2; + int16_t pit_max; + int16_t pit_res_max; + + /* for FAC */ + int16_t L_frame_past; + + /*Adaptive BPF*/ + int16_t bpf_gain_param; + float mem_bpf[2 * L_FILT16k]; + float mem_error_bpf[2 * L_FILT16k]; + + int16_t glr; + int16_t glr_idx[2]; + float mean_gc[2]; + float prev_lsf4_mean; + int16_t glr_reset; + int32_t last_sr_core; + float last_stab_fac; + + /*for rate switching*/ + int16_t rate_switching_reset; /*Rate switching flag requiring a reset of memories at least partially */ + int16_t rate_switching_reset_16kHz; + + int16_t enablePlcWaveadjust; + int16_t Tonal_SideInfo; + + int16_t seed_acelp; + + PLC_ENC_EVS_HANDLE hPlcExt; + + /*----------------------------------------------------------------------------------* + * IGF + *----------------------------------------------------------------------------------*/ + + IGF_ENC_INSTANCE_HANDLE hIGFEnc; /* IGF encoder handle */ + int16_t igf; + + /*----------------------------------------------------------------------------------* + * TEC + *----------------------------------------------------------------------------------*/ + + int16_t tec_tfa; + TEC_ENC_HANDLE hTECEnc; /* TEC encoder handle */ + int16_t tec_flag; + int16_t tfa_flag; + float tfa_enr[N_TEC_TFA_SUBFR]; + + + /*---------------------------------------------------------------* + * Stereo/IVAS parameters + *---------------------------------------------------------------*/ + + int16_t tdm_LRTD_flag; /* LRTD stereo mode flag */ + + /* stereo switching memories */ + float mem_preemph_DFT; + float inp_12k8_mem_stereo_sw[STEREO_DFT_OVL_12k8 - L_MEM_RECALC_12K8 - L_FILT]; + float mem_preemph16k_DFT; + float inp_16k_mem_stereo_sw[STEREO_DFT_OVL_16k - L_MEM_RECALC_16K - L_FILT16k]; + + /* MCT Channel mode indication: LFE, ignore channel? */ + MCT_CHAN_MODE mct_chan_mode; + + int16_t dtx_sce_sba; /* enable use of FD CNG with transform domain cores in SCE SBA */ + +} Encoder_State, *ENC_CORE_HANDLE; + + +typedef struct GainItemStr +{ + float nmrValue; + int16_t gainIndex; +} GainItem; + +typedef struct context_rc_mem_struct +{ + int16_t nbits_old; + int16_t ctx; + float bit_estimate; + int16_t rateFlag; + int16_t lastnz; + int16_t nt_half; + +} RC_CONTEXT_MEM, *HANDLE_RC_CONTEXT_MEM; + + +#endif diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h new file mode 100644 index 0000000000..f758bc780a --- /dev/null +++ b/lib_rend/ivas_lib_rend_internal.h @@ -0,0 +1,123 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "ivas_error.h" +#include "lib_rend.h" +#include "ivas_stat_dec.h" + +#ifndef IVAS_LIB_REND_INTERNALS_H +#define IVAS_LIB_REND_INTERNALS_H + +typedef struct +{ + int8_t headRotEnabled; + IVAS_QUATERNION headPositions[RENDERER_HEAD_POSITIONS_PER_FRAME]; + float crossfade[L_FRAME48k / RENDERER_HEAD_POSITIONS_PER_FRAME]; +} IVAS_REND_HeadRotData; + +typedef struct +{ + int32_t binaural_latency_ns; + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd; + TDREND_HRFILT_FiltSet_t *hHrtfTD; +} TDREND_WRAPPER; + +typedef struct +{ + int32_t binaural_latency_ns; + CREND_HANDLE hCrend; + HRTFS_HANDLE hHrtfCrend; +} CREND_WRAPPER; + +IVAS_REND_AudioConfigType getAudioConfigType( + const IVAS_REND_AudioConfig config ); + +ivas_error getAudioConfigNumChannels( + const IVAS_REND_AudioConfig config, + int16_t *numChannels ); + +AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( + IVAS_REND_AudioConfig config ); + +ivas_error ivas_rend_openCrend( + CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + RENDER_CONFIG_DATA *hRendCfg, + const int32_t output_Fs ); + +ivas_error ivas_rend_initCrend( + CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + RENDER_CONFIG_DATA *hRendCfg, + const int32_t output_Fs ); + +ivas_error ivas_rend_closeCrend( + CREND_WRAPPER *pCrend ); + +ivas_error ivas_rend_crendProcess( + const CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + float output[][L_FRAME48k], /* i/o: input/output audio channels */ + const int32_t output_Fs ); + +ivas_error ivas_rend_crendConvolver( + const CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + float pcm_in[][L_FRAME48k], + float pcm_out[][L_FRAME48k], + const int32_t output_Fs, + const int16_t i_ts ); + +ivas_error ivas_rend_TDObjRenderFrame( + const TDREND_WRAPPER *pTDRend, /* i : TD Renderer wrapper structure */ + const IVAS_REND_AudioConfig inConfig, /* i : Input audio configuration */ + const LSSETUP_CUSTOM_STRUCT *customLsInput, /* i : Input custom loudspeaker layout */ + const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ + const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ + const int16_t output_frame, /* i : output frame length */ +#ifndef FIX_ITD + const int32_t output_Fs, /* i : output sampling rate */ +#endif + float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ +); + +ivas_error ivas_rend_TDObjRendOpen( + TDREND_WRAPPER *pTDRend, + const IVAS_REND_AudioConfig inConfig, + LSSETUP_CUSTOM_STRUCT *customLsInput, + const int32_t output_Fs ); + +#endif diff --git a/lib_rend/ivas_rom_TdBinauralRenderer.h b/lib_rend/ivas_rom_TdBinauralRenderer.h new file mode 100644 index 0000000000..7aeff4f0ff --- /dev/null +++ b/lib_rend/ivas_rom_TdBinauralRenderer.h @@ -0,0 +1,69 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "cnst.h" +#include "ivas_cnst.h" + +/*------------------------------------------------------------------------- + * TD Binaural rendering related ROM tables + *------------------------------------------------------------------------*/ +/* TD renderer HRTF default model Orange53 */ +extern const int16_t orange53_rom_azimDim2[18]; +extern const int16_t orange53_rom_azimDim3[18]; +extern const int16_t orange53_rom_azim_start_idx[18]; +extern const int16_t orange53_rom_azimSegSamples[1]; +extern const int16_t orange53_rom_azimShapeIdx[18]; +extern const int16_t orange53_rom_azimShapeSampFactor[18]; +extern const float orange53_rom_elevKSeq[16]; +extern const uint32_t orange53_rom_AlphaL48[578 * 128]; +extern const uint32_t orange53_rom_AlphaR48[578 * 128]; +extern const uint32_t orange53_rom_AlphaL32[578 * 86]; +extern const uint32_t orange53_rom_AlphaR32[578 * 86]; +extern const uint32_t orange53_rom_AlphaL16[578 * 43]; +extern const uint32_t orange53_rom_AlphaR16[578 * 43]; +extern const uint32_t orange53_rom_EL48[HRTF_MODEL_N_SECTIONS * 578]; +extern const uint32_t orange53_rom_ER48[HRTF_MODEL_N_SECTIONS * 578]; +extern const uint32_t orange53_rom_EL32[HRTF_MODEL_N_SECTIONS * 578]; +extern const uint32_t orange53_rom_ER32[HRTF_MODEL_N_SECTIONS * 578]; +extern const uint32_t orange53_rom_EL16[HRTF_MODEL_N_SECTIONS * 578]; +extern const uint32_t orange53_rom_ER16[HRTF_MODEL_N_SECTIONS * 578]; +extern const uint32_t orange53_rom_elevBsShape[28]; +extern const uint32_t orange53_rom_azimBsShape[21]; +extern const uint32_t orange53_rom_ITD_W[658]; +extern const uint32_t orange53_rom_ITD_azimBsShape[84]; +extern const float orange53_rom_ITD_azimKSeq[19]; +extern const uint32_t orange53_rom_ITD_elevBsShape[28]; diff --git a/lib_rend/ivas_rom_binauralRenderer.h b/lib_rend/ivas_rom_binauralRenderer.h new file mode 100644 index 0000000000..c597847a0f --- /dev/null +++ b/lib_rend/ivas_rom_binauralRenderer.h @@ -0,0 +1,78 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include <stdint.h> +#include "options.h" +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "cnst.h" +#include "ivas_cnst.h" + +/*------------------------------------------------------------------------- + * Binaural rendering related ROM tables + *------------------------------------------------------------------------*/ + +/* Binaural rendering data set based on HRIRs */ +extern const float FASTCONV_HRIR_latency_s; +extern float leftHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; +extern float leftHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; +extern float rightHRIRReal_HOA3[BINAURAL_CONVBANDS][16][7]; +extern float rightHRIRImag_HOA3[BINAURAL_CONVBANDS][16][7]; + +extern float leftHRIRReal[BINAURAL_CONVBANDS][15][7]; +extern float leftHRIRImag[BINAURAL_CONVBANDS][15][7]; +extern float rightHRIRReal[BINAURAL_CONVBANDS][15][7]; +extern float rightHRIRImag[BINAURAL_CONVBANDS][15][7]; + +extern float FASTCONV_HOA3_latency_s; +extern float hrtfShCoeffsRe[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; +extern float hrtfShCoeffsIm[BINAURAL_CHANNELS][HRTF_SH_CHANNELS][HRTF_NUM_BINS]; + + +/* Binaural rendering data set based on BRIRs */ +extern const float FASTCONV_BRIR_latency_s; +extern float leftBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; +extern float leftBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; +extern float rightBRIRReal[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; +extern float rightBRIRImag[BINAURAL_CONVBANDS][15][BINAURAL_NTAPS_MAX]; + +/* Reverberation parameters based on BRIRs for fastconv */ +extern float fastconvReverberationTimes[CLDFB_NO_CHANNELS_MAX]; +extern float fastconvReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; + +/* Binaural rendering data set based on BRIRs, to be used in a combined manner + * with the above binaural rendering data set based on HRIRs for parametric + * renderer */ +extern const float parametricReverberationTimes[CLDFB_NO_CHANNELS_MAX]; +extern const float parametricReverberationEneCorrections[CLDFB_NO_CHANNELS_MAX]; +extern const float parametricEarlyPartEneCorrection[CLDFB_NO_CHANNELS_MAX]; diff --git a/lib_rend/ivas_rom_binaural_crend_head.c b/lib_rend/ivas_rom_binaural_crend_head.c new file mode 100644 index 0000000000..ac4216ef77 --- /dev/null +++ b/lib_rend/ivas_rom_binaural_crend_head.c @@ -0,0 +1,6911 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/* clang-format off */ + +/*------------------------------------------------------------------------- + * Binaural rendering related ROM tables + *------------------------------------------------------------------------*/ + +/* Binaural rendering data set based on HRIRs */ +/* Tables generated by the exe at "scripts/binauralRenderer_interface/generate_cren_ivas_tables*.* */ +/* Can be replaced by your own generated HRIR or BRIRI tables */ + + + +#include <stdint.h> +#include <stddef.h> +#include "cnst.h" +#include "ivas_cnst.h" + + +/********************** Sample Rate = 48000 **********************/ + +const float CRendBin_Combined_HRIR_latency_s_48kHz = 0.000020833333110f; +const int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz = 1; +const uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; +const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; +const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][1]={{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}},{{240},{240}}}; +const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz = 0; +const float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[15]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; +const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float CRendBin_Combined_HRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][240]={ + { + {1.101488f, 1.121686f, 1.165024f, 1.224338f, 1.257855f, 1.220486f, 1.149240f, 1.140890f, 1.185728f, 1.128055f, 0.902355f, 0.707875f, 0.788108f, 1.099541f, 1.375119f, 1.484928f, 1.549978f, 1.695559f, 1.876431f, 1.995635f, 2.041427f, 2.028898f, 1.921455f, 1.700966f, 1.448293f, 1.277519f, 1.224020f, 1.244684f, 1.297952f, 1.382592f, 1.515360f, 1.701068f, 1.918656f, 2.122718f, 2.265994f, 2.329628f, 2.329558f, 2.294332f, 2.241762f, 2.173492f, 2.084598f, 1.978110f, 1.871591f, 1.786593f, 1.731800f, 1.700143f, 1.679095f, 1.656899f, 1.622424f, 1.569381f, 1.502234f, 1.432448f, 1.368773f, 1.314020f, 1.268340f, 1.231321f, 1.202278f, 1.180534f, 1.163747f, 1.146145f, 1.121645f, 1.087903f, 1.043613f, 0.983612f, 0.901864f, 0.798972f, 0.683390f, 0.566766f, 0.461005f, 0.376682f, 0.319308f, 0.287365f, 0.275856f, 0.280196f, 0.295624f, 0.315889f, 0.334947f, 0.349113f, 0.357350f, 0.360958f, 0.362742f, 0.364984f, 0.368682f, 0.375343f, 0.387569f, 0.406700f, 0.431922f, 0.462716f, 0.499762f, 0.542220f, 0.586337f, 0.627805f, 0.663761f, 0.692071f, 0.710593f, 0.717887f, + 0.713731f, 0.699041f, 0.675854f, 0.646711f, 0.613681f, 0.578765f, 0.544708f, 0.513648f, 0.485423f, 0.459267f, 0.436523f, 0.419581f, 0.409130f, 0.404828f, 0.407589f, 0.418787f, 0.438090f, 0.464110f, 0.496246f, 0.534436f, 0.578397f, 0.628210f, 0.684323f, 0.746531f, 0.814569f, 0.889456f, 0.972140f, 1.061353f, 1.155269f, 1.254322f, 1.359452f, 1.468434f, 1.577080f, 1.683222f, 1.786114f, 1.882169f, 1.964521f, 2.027143f, 2.066756f, 2.079988f, 2.061244f, 2.005565f, 1.912874f, 1.787215f, 1.631793f, 1.447687f, 1.238656f, 1.013433f, 0.779817f, 0.539619f, 0.293632f, 0.048036f, -0.190045f, -0.420433f, -0.646524f, -0.866314f, -1.074294f, -1.270685f, -1.460857f, -1.646046f, -1.822195f, -1.988192f, -2.148163f, -2.304337f, -2.453363f, -2.591452f, -2.718826f, -2.836782f, -2.942783f, -3.031068f, -3.097979f, -3.144348f, -3.170915f, -3.173977f, -3.149931f, -3.102115f, -3.036603f, -2.952834f, -2.846787f, -2.721688f, -2.584617f, -2.433723f, -2.261283f, -2.067770f, -1.858490f, -1.628464f, -1.366934f, -1.074068f, -0.755851f, -0.407743f, -0.023711f, 0.384421f, 0.796944f, 1.204825f, 1.594892f, 1.931022f, + 2.176602f, 2.317416f, 2.335553f, 2.191195f, 1.867100f, 1.394310f, 0.795503f, 0.073196f, -0.660345f, -1.115477f, -1.048547f, -0.566404f, -0.073872f, 0.126575f, 0.081506f, 0.007169f, -0.000212f, 0.010105f, -0.000437f, -0.007848f, 0.001481f, 0.006032f, -0.001850f, -0.004621f, 0.002044f, 0.003718f, -0.001908f, -0.002879f, 0.001815f, 0.002240f, -0.001726f, -0.001819f, 0.001470f, 0.001293f, -0.001428f, -0.001063f, 0.001166f, 0.000684f, -0.001078f, -0.000479f, 0.000904f, 0.000264f, -0.000723f, -0.000016f, 0.000645f, -0.000071f, -0.000388f, 0.000349f}, + {0.968441f, 0.987234f, 0.869596f, 0.596073f, 0.334483f, 0.171136f, 0.017776f, -0.161778f, -0.245721f, -0.155540f, 0.006522f, 0.093937f, 0.049496f, -0.140506f, -0.468985f, -0.824439f, -1.026403f, -1.016121f, -0.905691f, -0.796722f, -0.670406f, -0.503266f, -0.362411f, -0.307750f, -0.295462f, -0.254770f, -0.185996f, -0.113263f, -0.005954f, 0.176006f, 0.400292f, 0.595777f, 0.744307f, 0.877077f, 0.990030f, 1.022653f, 0.934836f, 0.765351f, 0.591919f, 0.455498f, 0.344908f, 0.238899f, 0.133289f, 0.027739f, -0.086033f, -0.210079f, -0.329871f, -0.429681f, -0.507904f, -0.568659f, -0.608760f, -0.622380f, -0.610718f, -0.579218f, -0.531546f, -0.471669f, -0.405261f, -0.334310f, -0.255734f, -0.168133f, -0.074958f, 0.019479f, 0.110900f, 0.191660f, 0.253073f, 0.292584f, 0.314355f, 0.323012f, 0.320972f, 0.311128f, 0.297794f, 0.284665f, 0.273984f, 0.266907f, 0.262951f, 0.259722f, 0.253926f, 0.242085f, 0.221157f, 0.190535f, 0.153092f, 0.112713f, 0.071225f, 0.028184f, -0.018416f, -0.072225f, -0.136625f, -0.210590f, -0.287552f, -0.358747f, -0.416020f, -0.451958f, -0.460910f, -0.441509f, -0.397130f, -0.334256f, + -0.261823f, -0.190493f, -0.129257f, -0.082184f, -0.049250f, -0.028772f, -0.017399f, -0.009448f, 0.001351f, 0.020052f, 0.051375f, 0.100649f, 0.171779f, 0.264460f, 0.373677f, 0.490520f, 0.602599f, 0.695221f, 0.754355f, 0.769527f, 0.734768f, 0.648370f, 0.512977f, 0.335735f, 0.127409f, -0.099262f, -0.330468f, -0.551239f, -0.746022f, -0.900770f, -1.004813f, -1.051193f, -1.036965f, -0.964527f, -0.841753f, -0.679493f, -0.489227f, -0.282948f, -0.072808f, 0.131140f, 0.321905f, 0.493472f, 0.639377f, 0.754179f, 0.834298f, 0.876384f, 0.876941f, 0.834703f, 0.751683f, 0.631609f, 0.479801f, 0.305136f, 0.119699f, -0.064323f, -0.235835f, -0.383842f, -0.498638f, -0.574816f, -0.611505f, -0.610195f, -0.574481f, -0.511148f, -0.428865f, -0.335564f, -0.238096f, -0.143043f, -0.055734f, 0.021001f, 0.085880f, 0.137914f, 0.176979f, 0.204394f, 0.221855f, 0.230580f, 0.231755f, 0.226643f, 0.215971f, 0.200107f, 0.179730f, 0.155526f, 0.127749f, 0.096849f, 0.063819f, 0.029377f, -0.006197f, -0.042042f, -0.076719f, -0.109157f, -0.138085f, -0.160825f, -0.174403f, -0.177268f, -0.168206f, -0.145199f, -0.107970f, -0.060190f, + -0.006824f, 0.048104f, 0.098363f, 0.134090f, 0.147833f, 0.138301f, 0.104724f, 0.045824f, -0.026274f, -0.078996f, -0.083091f, -0.045128f, -0.003292f, 0.012791f, 0.007249f, 0.000493f, 0.000789f, 0.002389f, 0.001492f, 0.000972f, 0.002319f, 0.003080f, 0.002368f, 0.002183f, 0.003054f, 0.003303f, 0.002617f, 0.002416f, 0.002859f, 0.002736f, 0.002007f, 0.001718f, 0.001826f, 0.001446f, 0.000707f, 0.000373f, 0.000270f, -0.000226f, -0.000879f, -0.001162f, -0.001335f, -0.001802f, -0.002255f, -0.002384f, -0.002506f, -0.002821f, -0.002986f, -0.002896f} + }, + { + {0.968441f, 0.987234f, 0.869596f, 0.596073f, 0.334483f, 0.171136f, 0.017776f, -0.161778f, -0.245721f, -0.155540f, 0.006522f, 0.093937f, 0.049496f, -0.140506f, -0.468985f, -0.824439f, -1.026403f, -1.016121f, -0.905691f, -0.796722f, -0.670406f, -0.503266f, -0.362411f, -0.307750f, -0.295462f, -0.254770f, -0.185996f, -0.113263f, -0.005954f, 0.176006f, 0.400292f, 0.595777f, 0.744307f, 0.877077f, 0.990030f, 1.022653f, 0.934836f, 0.765351f, 0.591919f, 0.455498f, 0.344908f, 0.238899f, 0.133289f, 0.027739f, -0.086033f, -0.210079f, -0.329871f, -0.429681f, -0.507904f, -0.568659f, -0.608760f, -0.622380f, -0.610718f, -0.579218f, -0.531546f, -0.471669f, -0.405261f, -0.334310f, -0.255734f, -0.168133f, -0.074958f, 0.019479f, 0.110900f, 0.191660f, 0.253073f, 0.292584f, 0.314355f, 0.323012f, 0.320972f, 0.311128f, 0.297794f, 0.284665f, 0.273984f, 0.266907f, 0.262951f, 0.259722f, 0.253926f, 0.242085f, 0.221157f, 0.190535f, 0.153092f, 0.112713f, 0.071225f, 0.028184f, -0.018416f, -0.072225f, -0.136625f, -0.210590f, -0.287552f, -0.358747f, -0.416020f, -0.451958f, -0.460910f, -0.441509f, -0.397130f, -0.334256f, + -0.261823f, -0.190493f, -0.129257f, -0.082184f, -0.049250f, -0.028772f, -0.017399f, -0.009448f, 0.001351f, 0.020052f, 0.051375f, 0.100649f, 0.171779f, 0.264460f, 0.373677f, 0.490520f, 0.602599f, 0.695221f, 0.754355f, 0.769527f, 0.734768f, 0.648370f, 0.512977f, 0.335735f, 0.127409f, -0.099262f, -0.330468f, -0.551239f, -0.746022f, -0.900770f, -1.004813f, -1.051193f, -1.036965f, -0.964527f, -0.841753f, -0.679493f, -0.489227f, -0.282948f, -0.072808f, 0.131140f, 0.321905f, 0.493472f, 0.639377f, 0.754179f, 0.834298f, 0.876384f, 0.876941f, 0.834703f, 0.751683f, 0.631609f, 0.479801f, 0.305136f, 0.119699f, -0.064323f, -0.235835f, -0.383842f, -0.498638f, -0.574816f, -0.611505f, -0.610195f, -0.574481f, -0.511148f, -0.428865f, -0.335564f, -0.238096f, -0.143043f, -0.055734f, 0.021001f, 0.085880f, 0.137914f, 0.176979f, 0.204394f, 0.221855f, 0.230580f, 0.231755f, 0.226643f, 0.215971f, 0.200107f, 0.179730f, 0.155526f, 0.127749f, 0.096849f, 0.063819f, 0.029377f, -0.006197f, -0.042042f, -0.076719f, -0.109157f, -0.138085f, -0.160825f, -0.174403f, -0.177268f, -0.168206f, -0.145199f, -0.107970f, -0.060190f, + -0.006824f, 0.048104f, 0.098363f, 0.134090f, 0.147833f, 0.138301f, 0.104724f, 0.045824f, -0.026274f, -0.078996f, -0.083091f, -0.045128f, -0.003292f, 0.012791f, 0.007249f, 0.000493f, 0.000789f, 0.002389f, 0.001492f, 0.000972f, 0.002319f, 0.003080f, 0.002368f, 0.002183f, 0.003054f, 0.003303f, 0.002617f, 0.002416f, 0.002859f, 0.002736f, 0.002007f, 0.001718f, 0.001826f, 0.001446f, 0.000707f, 0.000373f, 0.000270f, -0.000226f, -0.000879f, -0.001162f, -0.001335f, -0.001802f, -0.002255f, -0.002384f, -0.002506f, -0.002821f, -0.002986f, -0.002896f}, + {1.101488f, 1.121686f, 1.165024f, 1.224338f, 1.257855f, 1.220486f, 1.149240f, 1.140890f, 1.185728f, 1.128055f, 0.902355f, 0.707875f, 0.788108f, 1.099541f, 1.375119f, 1.484928f, 1.549978f, 1.695559f, 1.876431f, 1.995635f, 2.041427f, 2.028898f, 1.921455f, 1.700966f, 1.448293f, 1.277519f, 1.224020f, 1.244684f, 1.297952f, 1.382592f, 1.515360f, 1.701068f, 1.918656f, 2.122718f, 2.265994f, 2.329628f, 2.329558f, 2.294332f, 2.241762f, 2.173492f, 2.084598f, 1.978110f, 1.871591f, 1.786593f, 1.731800f, 1.700143f, 1.679095f, 1.656899f, 1.622424f, 1.569381f, 1.502234f, 1.432448f, 1.368773f, 1.314020f, 1.268340f, 1.231321f, 1.202278f, 1.180534f, 1.163747f, 1.146145f, 1.121645f, 1.087903f, 1.043613f, 0.983612f, 0.901864f, 0.798972f, 0.683390f, 0.566766f, 0.461005f, 0.376682f, 0.319308f, 0.287365f, 0.275856f, 0.280196f, 0.295624f, 0.315889f, 0.334947f, 0.349113f, 0.357350f, 0.360958f, 0.362742f, 0.364984f, 0.368682f, 0.375343f, 0.387569f, 0.406700f, 0.431922f, 0.462716f, 0.499762f, 0.542220f, 0.586337f, 0.627805f, 0.663761f, 0.692071f, 0.710593f, 0.717887f, + 0.713731f, 0.699041f, 0.675854f, 0.646711f, 0.613681f, 0.578765f, 0.544708f, 0.513648f, 0.485423f, 0.459267f, 0.436523f, 0.419581f, 0.409130f, 0.404828f, 0.407589f, 0.418787f, 0.438090f, 0.464110f, 0.496246f, 0.534436f, 0.578397f, 0.628210f, 0.684323f, 0.746531f, 0.814569f, 0.889456f, 0.972140f, 1.061353f, 1.155269f, 1.254322f, 1.359452f, 1.468434f, 1.577080f, 1.683222f, 1.786114f, 1.882169f, 1.964521f, 2.027143f, 2.066756f, 2.079988f, 2.061244f, 2.005565f, 1.912874f, 1.787215f, 1.631793f, 1.447687f, 1.238656f, 1.013433f, 0.779817f, 0.539619f, 0.293632f, 0.048036f, -0.190045f, -0.420433f, -0.646524f, -0.866314f, -1.074294f, -1.270685f, -1.460857f, -1.646046f, -1.822195f, -1.988192f, -2.148163f, -2.304337f, -2.453363f, -2.591452f, -2.718826f, -2.836782f, -2.942783f, -3.031068f, -3.097979f, -3.144348f, -3.170915f, -3.173977f, -3.149931f, -3.102115f, -3.036603f, -2.952834f, -2.846787f, -2.721688f, -2.584617f, -2.433723f, -2.261283f, -2.067770f, -1.858490f, -1.628464f, -1.366934f, -1.074068f, -0.755851f, -0.407743f, -0.023711f, 0.384421f, 0.796944f, 1.204825f, 1.594892f, 1.931022f, + 2.176602f, 2.317416f, 2.335553f, 2.191195f, 1.867100f, 1.394310f, 0.795503f, 0.073196f, -0.660345f, -1.115477f, -1.048547f, -0.566404f, -0.073872f, 0.126575f, 0.081506f, 0.007169f, -0.000212f, 0.010105f, -0.000437f, -0.007848f, 0.001481f, 0.006032f, -0.001850f, -0.004621f, 0.002044f, 0.003718f, -0.001908f, -0.002879f, 0.001815f, 0.002240f, -0.001726f, -0.001819f, 0.001470f, 0.001293f, -0.001428f, -0.001063f, 0.001166f, 0.000684f, -0.001078f, -0.000479f, 0.000904f, 0.000264f, -0.000723f, -0.000016f, 0.000645f, -0.000071f, -0.000388f, 0.000349f} + }, + { + {1.038216f, 1.104846f, 1.163927f, 1.102788f, 0.923912f, 0.819249f, 0.926472f, 1.059186f, 0.908605f, 0.521079f, 0.320389f, 0.567071f, 1.017483f, 1.260167f, 1.219416f, 1.154021f, 1.266485f, 1.495235f, 1.659357f, 1.659964f, 1.521679f, 1.331268f, 1.173102f, 1.086498f, 1.062729f, 1.084446f, 1.154530f, 1.278122f, 1.436340f, 1.590950f, 1.702153f, 1.739769f, 1.697847f, 1.603508f, 1.493099f, 1.376523f, 1.241975f, 1.094803f, 0.970109f, 0.902161f, 0.896629f, 0.934468f, 0.987453f, 1.027530f, 1.036809f, 1.016896f, 0.982652f, 0.944071f, 0.898806f, 0.841885f, 0.776112f, 0.710836f, 0.654027f, 0.607313f, 0.567432f, 0.531208f, 0.497948f, 0.466697f, 0.434013f, 0.397715f, 0.361295f, 0.330786f, 0.307633f, 0.288052f, 0.269263f, 0.253095f, 0.242705f, 0.238292f, 0.237335f, 0.237844f, 0.240377f, 0.247162f, 0.259729f, 0.277460f, 0.298273f, 0.320255f, 0.342464f, 0.364784f, 0.387656f, 0.411614f, 0.436401f, 0.460723f, 0.483419f, 0.504828f, 0.526542f, 0.549671f, 0.573590f, 0.596528f, 0.617075f, 0.634482f, 0.647342f, 0.652773f, 0.647722f, 0.630886f, 0.603055f, 0.566478f, + 0.524993f, 0.484080f, 0.449179f, 0.423543f, 0.408382f, 0.404761f, 0.414320f, 0.438121f, 0.475810f, 0.526417f, 0.589717f, 0.666444f, 0.756971f, 0.859702f, 0.971057f, 1.087009f, 1.203748f, 1.316495f, 1.419260f, 1.507289f, 1.578795f, 1.632867f, 1.667033f, 1.679088f, 1.670086f, 1.642553f, 1.596178f, 1.528297f, 1.438394f, 1.328645f, 1.199676f, 1.049815f, 0.880200f, 0.697091f, 0.506741f, 0.310961f, 0.110587f, -0.089623f, -0.283659f, -0.470268f, -0.652095f, -0.829533f, -0.999868f, -1.162742f, -1.321790f, -1.479081f, -1.631784f, -1.776619f, -1.914009f, -2.044530f, -2.163955f, -2.265828f, -2.347346f, -2.408663f, -2.447423f, -2.458570f, -2.440006f, -2.394433f, -2.324575f, -2.230407f, -2.112872f, -1.976957f, -1.828529f, -1.670564f, -1.505122f, -1.337013f, -1.172529f, -1.015633f, -0.868055f, -0.732334f, -0.611993f, -0.508636f, -0.421038f, -0.347478f, -0.287300f, -0.239640f, -0.202007f, -0.171116f, -0.144652f, -0.121529f, -0.100585f, -0.079881f, -0.057816f, -0.034356f, -0.010170f, 0.015158f, 0.042807f, 0.072857f, 0.104483f, 0.137917f, 0.174070f, 0.211993f, 0.249072f, 0.283815f, 0.315644f, 0.341936f, + 0.358772f, 0.364654f, 0.359571f, 0.340892f, 0.305378f, 0.254287f, 0.189565f, 0.107161f, 0.007129f, -0.086814f, -0.133950f, -0.115538f, -0.059105f, -0.011956f, 0.004169f, 0.001902f, -0.000382f, 0.000624f, 0.000524f, -0.000621f, -0.000315f, 0.000592f, 0.000256f, -0.000424f, -0.000092f, 0.000403f, 0.000056f, -0.000345f, -0.000050f, 0.000231f, -0.000053f, -0.000269f, -0.000023f, 0.000132f, -0.000078f, -0.000176f, 0.000015f, 0.000089f, -0.000053f, -0.000079f, 0.000051f, 0.000072f, -0.000010f, 0.000002f, 0.000067f, 0.000056f, 0.000030f, 0.000052f}, + {1.038216f, 1.104846f, 1.163927f, 1.102788f, 0.923912f, 0.819249f, 0.926472f, 1.059186f, 0.908605f, 0.521079f, 0.320389f, 0.567071f, 1.017483f, 1.260167f, 1.219416f, 1.154021f, 1.266485f, 1.495235f, 1.659357f, 1.659964f, 1.521679f, 1.331268f, 1.173102f, 1.086498f, 1.062729f, 1.084446f, 1.154530f, 1.278122f, 1.436340f, 1.590950f, 1.702153f, 1.739769f, 1.697847f, 1.603508f, 1.493099f, 1.376523f, 1.241975f, 1.094803f, 0.970109f, 0.902161f, 0.896629f, 0.934468f, 0.987453f, 1.027530f, 1.036809f, 1.016896f, 0.982652f, 0.944071f, 0.898806f, 0.841885f, 0.776112f, 0.710836f, 0.654027f, 0.607313f, 0.567432f, 0.531208f, 0.497948f, 0.466697f, 0.434013f, 0.397715f, 0.361295f, 0.330786f, 0.307633f, 0.288052f, 0.269263f, 0.253095f, 0.242705f, 0.238292f, 0.237335f, 0.237844f, 0.240377f, 0.247162f, 0.259729f, 0.277460f, 0.298273f, 0.320255f, 0.342464f, 0.364784f, 0.387656f, 0.411614f, 0.436401f, 0.460723f, 0.483419f, 0.504828f, 0.526542f, 0.549671f, 0.573590f, 0.596528f, 0.617075f, 0.634482f, 0.647342f, 0.652773f, 0.647722f, 0.630886f, 0.603055f, 0.566478f, + 0.524993f, 0.484080f, 0.449179f, 0.423543f, 0.408382f, 0.404761f, 0.414320f, 0.438121f, 0.475810f, 0.526417f, 0.589717f, 0.666444f, 0.756971f, 0.859702f, 0.971057f, 1.087009f, 1.203748f, 1.316495f, 1.419260f, 1.507289f, 1.578795f, 1.632867f, 1.667033f, 1.679088f, 1.670086f, 1.642553f, 1.596178f, 1.528297f, 1.438394f, 1.328645f, 1.199676f, 1.049815f, 0.880200f, 0.697091f, 0.506741f, 0.310961f, 0.110587f, -0.089623f, -0.283659f, -0.470268f, -0.652095f, -0.829533f, -0.999868f, -1.162742f, -1.321790f, -1.479081f, -1.631784f, -1.776619f, -1.914009f, -2.044530f, -2.163955f, -2.265828f, -2.347346f, -2.408663f, -2.447423f, -2.458570f, -2.440006f, -2.394433f, -2.324575f, -2.230407f, -2.112872f, -1.976957f, -1.828529f, -1.670564f, -1.505122f, -1.337013f, -1.172529f, -1.015633f, -0.868055f, -0.732334f, -0.611993f, -0.508636f, -0.421038f, -0.347478f, -0.287300f, -0.239640f, -0.202007f, -0.171116f, -0.144652f, -0.121529f, -0.100585f, -0.079881f, -0.057816f, -0.034356f, -0.010170f, 0.015158f, 0.042807f, 0.072857f, 0.104483f, 0.137917f, 0.174070f, 0.211993f, 0.249072f, 0.283815f, 0.315644f, 0.341936f, + 0.358772f, 0.364654f, 0.359571f, 0.340892f, 0.305378f, 0.254287f, 0.189565f, 0.107161f, 0.007129f, -0.086814f, -0.133950f, -0.115538f, -0.059105f, -0.011956f, 0.004169f, 0.001902f, -0.000382f, 0.000624f, 0.000524f, -0.000621f, -0.000315f, 0.000592f, 0.000256f, -0.000424f, -0.000092f, 0.000403f, 0.000056f, -0.000345f, -0.000050f, 0.000231f, -0.000053f, -0.000269f, -0.000023f, 0.000132f, -0.000078f, -0.000176f, 0.000015f, 0.000089f, -0.000053f, -0.000079f, 0.000051f, 0.000072f, -0.000010f, 0.000002f, 0.000067f, 0.000056f, 0.000030f, 0.000052f} + }, + { + {0.984080f, 0.970476f, 1.006906f, 1.104260f, 1.216794f, 1.335635f, 1.464294f, 1.533054f, 1.477510f, 1.373694f, 1.348288f, 1.379970f, 1.341218f, 1.215083f, 1.111544f, 1.076764f, 1.041682f, 0.966496f, 0.893479f, 0.840686f, 0.769350f, 0.677157f, 0.617786f, 0.610740f, 0.620021f, 0.628332f, 0.649967f, 0.668214f, 0.639094f, 0.564000f, 0.493341f, 0.454442f, 0.430784f, 0.411315f, 0.408973f, 0.429006f, 0.460805f, 0.502650f, 0.562459f, 0.634539f, 0.699920f, 0.747237f, 0.776345f, 0.788052f, 0.785425f, 0.779422f, 0.782268f, 0.799652f, 0.833592f, 0.884572f, 0.946592f, 1.007188f, 1.054930f, 1.082330f, 1.083817f, 1.058335f, 1.012691f, 0.956250f, 0.893651f, 0.826213f, 0.756564f, 0.687438f, 0.619177f, 0.552166f, 0.489247f, 0.433687f, 0.387315f, 0.351696f, 0.328352f, 0.317105f, 0.316219f, 0.324077f, 0.339216f, 0.359831f, 0.385071f, 0.416020f, 0.454311f, 0.500915f, 0.557014f, 0.624731f, 0.706142f, 0.802040f, 0.911693f, 1.033446f, 1.165920f, 1.308336f, 1.458725f, 1.612356f, 1.763090f, 1.904749f, 2.029174f, 2.125343f, 2.184253f, 2.203656f, 2.185203f, 2.129319f, + 2.037039f, 1.914643f, 1.771288f, 1.612832f, 1.442204f, 1.264496f, 1.086482f, 0.911185f, 0.737532f, 0.566210f, 0.402309f, 0.251448f, 0.116550f, -0.000376f, -0.096273f, -0.169242f, -0.221428f, -0.257657f, -0.281475f, -0.293927f, -0.295924f, -0.289877f, -0.278242f, -0.261940f, -0.241537f, -0.219109f, -0.197455f, -0.177735f, -0.159025f, -0.140026f, -0.120145f, -0.098893f, -0.075279f, -0.048418f, -0.018567f, 0.012653f, 0.043076f, 0.070995f, 0.095137f, 0.113713f, 0.124275f, 0.125072f, 0.115890f, 0.096669f, 0.065855f, 0.021420f, -0.036755f, -0.106849f, -0.187293f, -0.277135f, -0.373714f, -0.471889f, -0.566991f, -0.657229f, -0.741912f, -0.818969f, -0.886425f, -0.945214f, -0.997930f, -1.045205f, -1.085732f, -1.119527f, -1.148452f, -1.173231f, -1.192402f, -1.204919f, -1.211832f, -1.214558f, -1.212985f, -1.206284f, -1.194921f, -1.180840f, -1.165524f, -1.148636f, -1.129578f, -1.109786f, -1.091431f, -1.073946f, -1.054811f, -1.033994f, -1.013549f, -0.992185f, -0.965310f, -0.931378f, -0.892025f, -0.844815f, -0.783136f, -0.704366f, -0.609651f, -0.494994f, -0.352963f, -0.184110f, 0.004235f, 0.209198f, 0.428300f, 0.646026f, + 0.840500f, 0.999858f, 1.113448f, 1.155053f, 1.100378f, 0.951048f, 0.711125f, 0.363726f, -0.066699f, -0.436902f, -0.559600f, -0.399070f, -0.132866f, 0.029384f, 0.043765f, 0.007950f, -0.001756f, 0.005023f, 0.001749f, -0.004233f, -0.000749f, 0.003458f, 0.000224f, -0.002740f, 0.000175f, 0.002291f, -0.000296f, -0.001833f, 0.000392f, 0.001448f, -0.000493f, -0.001223f, 0.000422f, 0.000882f, -0.000505f, -0.000755f, 0.000403f, 0.000509f, -0.000413f, -0.000382f, 0.000355f, 0.000254f, -0.000271f, -0.000091f, 0.000266f, 0.000059f, -0.000112f, 0.000122f}, + {0.883975f, 0.742747f, 0.483914f, 0.188904f, -0.047459f, -0.209233f, -0.344855f, -0.459879f, -0.499939f, -0.451850f, -0.382284f, -0.347274f, -0.330209f, -0.301172f, -0.273988f, -0.260328f, -0.215778f, -0.082603f, 0.135261f, 0.371525f, 0.553401f, 0.638210f, 0.619076f, 0.521305f, 0.383817f, 0.230837f, 0.070028f, -0.082040f, -0.195461f, -0.256180f, -0.280452f, -0.291260f, -0.295978f, -0.293653f, -0.286459f, -0.272643f, -0.239767f, -0.175784f, -0.082109f, 0.027789f, 0.135803f, 0.222618f, 0.272015f, 0.278079f, 0.246877f, 0.190947f, 0.124821f, 0.063584f, 0.018967f, -0.005841f, -0.015723f, -0.017984f, -0.018340f, -0.020401f, -0.025556f, -0.032860f, -0.040363f, -0.046742f, -0.051655f, -0.055748f, -0.060851f, -0.069127f, -0.081442f, -0.096777f, -0.112463f, -0.123699f, -0.123450f, -0.104852f, -0.064843f, -0.005816f, 0.065155f, 0.137891f, 0.201213f, 0.245836f, 0.266654f, 0.262765f, 0.235893f, 0.188819f, 0.124475f, 0.045794f, -0.043343f, -0.136558f, -0.224279f, -0.294747f, -0.336348f, -0.340593f, -0.304985f, -0.234374f, -0.139779f, -0.035298f, 0.065161f, 0.150165f, 0.211935f, 0.246636f, 0.254039f, 0.236891f, + 0.200185f, 0.150350f, 0.094455f, 0.039464f, -0.008619f, -0.045731f, -0.070400f, -0.083602f, -0.087939f, -0.086661f, -0.082872f, -0.078985f, -0.076432f, -0.075622f, -0.076068f, -0.076524f, -0.075078f, -0.069344f, -0.056965f, -0.036414f, -0.007704f, 0.027321f, 0.065163f, 0.101267f, 0.130992f, 0.150629f, 0.157941f, 0.152138f, 0.133674f, 0.104033f, 0.065396f, 0.020338f, -0.028149f, -0.076464f, -0.120497f, -0.155961f, -0.178741f, -0.185412f, -0.174114f, -0.145315f, -0.101960f, -0.049135f, 0.006550f, 0.058125f, 0.099789f, 0.127948f, 0.141382f, 0.140988f, 0.129340f, 0.109801f, 0.085494f, 0.058877f, 0.031865f, 0.005795f, -0.018626f, -0.040919f, -0.060327f, -0.075887f, -0.086696f, -0.091841f, -0.090471f, -0.082358f, -0.068247f, -0.049554f, -0.028075f, -0.006021f, 0.014334f, 0.031377f, 0.044342f, 0.052977f, 0.057575f, 0.059084f, 0.058543f, 0.056491f, 0.053219f, 0.048980f, 0.043403f, 0.035343f, 0.023794f, 0.008214f, -0.012079f, -0.037401f, -0.066035f, -0.094144f, -0.117200f, -0.129987f, -0.126089f, -0.100443f, -0.053216f, 0.010034f, 0.080385f, 0.145063f, 0.187642f, 0.194442f, 0.161633f, 0.094675f, + 0.005067f, -0.087812f, -0.157659f, -0.183614f, -0.160959f, -0.096474f, -0.003389f, 0.088590f, 0.132728f, 0.101387f, 0.023921f, -0.034469f, -0.038942f, -0.013063f, 0.003237f, 0.001212f, -0.002961f, -0.001216f, 0.000276f, -0.001620f, -0.002467f, -0.000772f, -0.000058f, -0.001118f, -0.001152f, 0.000189f, 0.000633f, 0.000071f, 0.000304f, 0.001243f, 0.001427f, 0.001031f, 0.001189f, 0.001646f, 0.001521f, 0.001094f, 0.001029f, 0.001052f, 0.000696f, 0.000238f, 0.000016f, -0.000186f, -0.000559f, -0.000907f, -0.001097f, -0.001249f, -0.001412f, -0.001512f} + }, + { + {0.883975f, 0.742747f, 0.483914f, 0.188904f, -0.047459f, -0.209233f, -0.344855f, -0.459879f, -0.499939f, -0.451850f, -0.382284f, -0.347274f, -0.330209f, -0.301172f, -0.273988f, -0.260328f, -0.215778f, -0.082603f, 0.135261f, 0.371525f, 0.553401f, 0.638210f, 0.619076f, 0.521305f, 0.383817f, 0.230837f, 0.070028f, -0.082040f, -0.195461f, -0.256180f, -0.280452f, -0.291260f, -0.295978f, -0.293653f, -0.286459f, -0.272643f, -0.239767f, -0.175784f, -0.082109f, 0.027789f, 0.135803f, 0.222618f, 0.272015f, 0.278079f, 0.246877f, 0.190947f, 0.124821f, 0.063584f, 0.018967f, -0.005841f, -0.015723f, -0.017984f, -0.018340f, -0.020401f, -0.025556f, -0.032860f, -0.040363f, -0.046742f, -0.051655f, -0.055748f, -0.060851f, -0.069127f, -0.081442f, -0.096777f, -0.112463f, -0.123699f, -0.123450f, -0.104852f, -0.064843f, -0.005816f, 0.065155f, 0.137891f, 0.201213f, 0.245836f, 0.266654f, 0.262765f, 0.235893f, 0.188819f, 0.124475f, 0.045794f, -0.043343f, -0.136558f, -0.224279f, -0.294747f, -0.336348f, -0.340593f, -0.304985f, -0.234374f, -0.139779f, -0.035298f, 0.065161f, 0.150165f, 0.211935f, 0.246636f, 0.254039f, 0.236891f, + 0.200185f, 0.150350f, 0.094455f, 0.039464f, -0.008619f, -0.045731f, -0.070400f, -0.083602f, -0.087939f, -0.086661f, -0.082872f, -0.078985f, -0.076432f, -0.075622f, -0.076068f, -0.076524f, -0.075078f, -0.069344f, -0.056965f, -0.036414f, -0.007704f, 0.027321f, 0.065163f, 0.101267f, 0.130992f, 0.150629f, 0.157941f, 0.152138f, 0.133674f, 0.104033f, 0.065396f, 0.020338f, -0.028149f, -0.076464f, -0.120497f, -0.155961f, -0.178741f, -0.185412f, -0.174114f, -0.145315f, -0.101960f, -0.049135f, 0.006550f, 0.058125f, 0.099789f, 0.127948f, 0.141382f, 0.140988f, 0.129340f, 0.109801f, 0.085494f, 0.058877f, 0.031865f, 0.005795f, -0.018626f, -0.040919f, -0.060327f, -0.075887f, -0.086696f, -0.091841f, -0.090471f, -0.082358f, -0.068247f, -0.049554f, -0.028075f, -0.006021f, 0.014334f, 0.031377f, 0.044342f, 0.052977f, 0.057575f, 0.059084f, 0.058543f, 0.056491f, 0.053219f, 0.048980f, 0.043403f, 0.035343f, 0.023794f, 0.008214f, -0.012079f, -0.037401f, -0.066035f, -0.094144f, -0.117200f, -0.129987f, -0.126089f, -0.100443f, -0.053216f, 0.010034f, 0.080385f, 0.145063f, 0.187642f, 0.194442f, 0.161633f, 0.094675f, + 0.005067f, -0.087812f, -0.157659f, -0.183614f, -0.160959f, -0.096474f, -0.003389f, 0.088590f, 0.132728f, 0.101387f, 0.023921f, -0.034469f, -0.038942f, -0.013063f, 0.003237f, 0.001212f, -0.002961f, -0.001216f, 0.000276f, -0.001620f, -0.002467f, -0.000772f, -0.000058f, -0.001118f, -0.001152f, 0.000189f, 0.000633f, 0.000071f, 0.000304f, 0.001243f, 0.001427f, 0.001031f, 0.001189f, 0.001646f, 0.001521f, 0.001094f, 0.001029f, 0.001052f, 0.000696f, 0.000238f, 0.000016f, -0.000186f, -0.000559f, -0.000907f, -0.001097f, -0.001249f, -0.001412f, -0.001512f}, + {0.984080f, 0.970476f, 1.006906f, 1.104260f, 1.216794f, 1.335635f, 1.464294f, 1.533054f, 1.477510f, 1.373694f, 1.348288f, 1.379970f, 1.341218f, 1.215083f, 1.111544f, 1.076764f, 1.041682f, 0.966496f, 0.893479f, 0.840686f, 0.769350f, 0.677157f, 0.617786f, 0.610740f, 0.620021f, 0.628332f, 0.649967f, 0.668214f, 0.639094f, 0.564000f, 0.493341f, 0.454442f, 0.430784f, 0.411315f, 0.408973f, 0.429006f, 0.460805f, 0.502650f, 0.562459f, 0.634539f, 0.699920f, 0.747237f, 0.776345f, 0.788052f, 0.785425f, 0.779422f, 0.782268f, 0.799652f, 0.833592f, 0.884572f, 0.946592f, 1.007188f, 1.054930f, 1.082330f, 1.083817f, 1.058335f, 1.012691f, 0.956250f, 0.893651f, 0.826213f, 0.756564f, 0.687438f, 0.619177f, 0.552166f, 0.489247f, 0.433687f, 0.387315f, 0.351696f, 0.328352f, 0.317105f, 0.316219f, 0.324077f, 0.339216f, 0.359831f, 0.385071f, 0.416020f, 0.454311f, 0.500915f, 0.557014f, 0.624731f, 0.706142f, 0.802040f, 0.911693f, 1.033446f, 1.165920f, 1.308336f, 1.458725f, 1.612356f, 1.763090f, 1.904749f, 2.029174f, 2.125343f, 2.184253f, 2.203656f, 2.185203f, 2.129319f, + 2.037039f, 1.914643f, 1.771288f, 1.612832f, 1.442204f, 1.264496f, 1.086482f, 0.911185f, 0.737532f, 0.566210f, 0.402309f, 0.251448f, 0.116550f, -0.000376f, -0.096273f, -0.169242f, -0.221428f, -0.257657f, -0.281475f, -0.293927f, -0.295924f, -0.289877f, -0.278242f, -0.261940f, -0.241537f, -0.219109f, -0.197455f, -0.177735f, -0.159025f, -0.140026f, -0.120145f, -0.098893f, -0.075279f, -0.048418f, -0.018567f, 0.012653f, 0.043076f, 0.070995f, 0.095137f, 0.113713f, 0.124275f, 0.125072f, 0.115890f, 0.096669f, 0.065855f, 0.021420f, -0.036755f, -0.106849f, -0.187293f, -0.277135f, -0.373714f, -0.471889f, -0.566991f, -0.657229f, -0.741912f, -0.818969f, -0.886425f, -0.945214f, -0.997930f, -1.045205f, -1.085732f, -1.119527f, -1.148452f, -1.173231f, -1.192402f, -1.204919f, -1.211832f, -1.214558f, -1.212985f, -1.206284f, -1.194921f, -1.180840f, -1.165524f, -1.148636f, -1.129578f, -1.109786f, -1.091431f, -1.073946f, -1.054811f, -1.033994f, -1.013549f, -0.992185f, -0.965310f, -0.931378f, -0.892025f, -0.844815f, -0.783136f, -0.704366f, -0.609651f, -0.494994f, -0.352963f, -0.184110f, 0.004235f, 0.209198f, 0.428300f, 0.646026f, + 0.840500f, 0.999858f, 1.113448f, 1.155053f, 1.100378f, 0.951048f, 0.711125f, 0.363726f, -0.066699f, -0.436902f, -0.559600f, -0.399070f, -0.132866f, 0.029384f, 0.043765f, 0.007950f, -0.001756f, 0.005023f, 0.001749f, -0.004233f, -0.000749f, 0.003458f, 0.000224f, -0.002740f, 0.000175f, 0.002291f, -0.000296f, -0.001833f, 0.000392f, 0.001448f, -0.000493f, -0.001223f, 0.000422f, 0.000882f, -0.000505f, -0.000755f, 0.000403f, 0.000509f, -0.000413f, -0.000382f, 0.000355f, 0.000254f, -0.000271f, -0.000091f, 0.000266f, 0.000059f, -0.000112f, 0.000122f} + }, + { + {1.063474f, 1.043131f, 1.080672f, 1.214000f, 1.381928f, 1.505441f, 1.571766f, 1.596869f, 1.559288f, 1.443460f, 1.315432f, 1.264794f, 1.275827f, 1.246689f, 1.147952f, 1.067945f, 1.069330f, 1.093255f, 1.060696f, 0.991275f, 0.952308f, 0.947628f, 0.931450f, 0.896088f, 0.875184f, 0.877635f, 0.877306f, 0.862455f, 0.851114f, 0.858664f, 0.880945f, 0.907411f, 0.929244f, 0.938406f, 0.935115f, 0.932668f, 0.945105f, 0.975372f, 1.020051f, 1.076159f, 1.138482f, 1.199314f, 1.255133f, 1.306848f, 1.352586f, 1.387511f, 1.411062f, 1.428044f, 1.442949f, 1.457837f, 1.473867f, 1.490422f, 1.504141f, 1.511326f, 1.509565f, 1.496836f, 1.472407f, 1.438435f, 1.397187f, 1.347911f, 1.289991f, 1.226763f, 1.162058f, 1.095742f, 1.026740f, 0.957251f, 0.889862f, 0.823884f, 0.758601f, 0.697267f, 0.644668f, 0.603523f, 0.575533f, 0.562861f, 0.566399f, 0.584922f, 0.616971f, 0.661507f, 0.716950f, 0.782071f, 0.857272f, 0.942702f, 1.036381f, 1.136549f, 1.244199f, 1.360630f, 1.484022f, 1.610883f, 1.739254f, 1.867675f, 1.991785f, 2.104459f, 2.199314f, 2.272351f, 2.319839f, 2.336536f, + 2.318055f, 2.264616f, 2.180165f, 2.067426f, 1.926830f, 1.761394f, 1.578694f, 1.385256f, 1.182714f, 0.972923f, 0.762994f, 0.560921f, 0.369676f, 0.190476f, 0.028730f, -0.108777f, -0.220619f, -0.309841f, -0.378087f, -0.425236f, -0.453644f, -0.468415f, -0.473457f, -0.470028f, -0.459061f, -0.442865f, -0.424328f, -0.405395f, -0.386539f, -0.367682f, -0.349391f, -0.332184f, -0.314542f, -0.293369f, -0.267138f, -0.236981f, -0.204194f, -0.168837f, -0.131697f, -0.095649f, -0.064007f, -0.038874f, -0.021740f, -0.014608f, -0.020128f, -0.040959f, -0.078587f, -0.132851f, -0.203536f, -0.291705f, -0.397394f, -0.516941f, -0.645343f, -0.780070f, -0.919041f, -1.056337f, -1.184558f, -1.300520f, -1.404186f, -1.493222f, -1.563734f, -1.615600f, -1.652081f, -1.674537f, -1.681849f, -1.674638f, -1.656140f, -1.629030f, -1.594189f, -1.552486f, -1.506033f, -1.457814f, -1.410294f, -1.363968f, -1.318341f, -1.274920f, -1.236490f, -1.202485f, -1.169363f, -1.136833f, -1.107851f, -1.080975f, -1.050211f, -1.014006f, -0.975256f, -0.930779f, -0.871463f, -0.793938f, -0.699614f, -0.581833f, -0.428980f, -0.240611f, -0.024812f, 0.217463f, 0.485342f, 0.758970f, + 1.009742f, 1.222711f, 1.383022f, 1.452948f, 1.397393f, 1.216786f, 0.913966f, 0.463363f, -0.102253f, -0.587837f, -0.741210f, -0.518203f, -0.161231f, 0.049607f, 0.061391f, 0.009945f, -0.002758f, 0.007110f, 0.002413f, -0.005996f, -0.001010f, 0.004903f, 0.000261f, -0.003925f, 0.000280f, 0.003284f, -0.000470f, -0.002645f, 0.000624f, 0.002115f, -0.000763f, -0.001772f, 0.000700f, 0.001304f, -0.000805f, -0.001090f, 0.000689f, 0.000741f, -0.000698f, -0.000535f, 0.000618f, 0.000330f, -0.000506f, -0.000092f, 0.000475f, 0.000007f, -0.000267f, 0.000243f}, + {0.905512f, 0.678641f, 0.311373f, -0.074151f, -0.391473f, -0.617374f, -0.746262f, -0.740996f, -0.564331f, -0.254460f, 0.070978f, 0.303423f, 0.417282f, 0.449447f, 0.432211f, 0.367816f, 0.255977f, 0.119310f, -0.009037f, -0.114250f, -0.203912f, -0.281083f, -0.325135f, -0.311110f, -0.241931f, -0.146174f, -0.046109f, 0.054859f, 0.151966f, 0.226035f, 0.259397f, 0.251854f, 0.213115f, 0.150155f, 0.069211f, -0.018634f, -0.100791f, -0.166658f, -0.205638f, -0.209754f, -0.181909f, -0.135245f, -0.081451f, -0.024331f, 0.034856f, 0.091963f, 0.141052f, 0.175632f, 0.187911f, 0.171589f, 0.127151f, 0.062454f, -0.011149f, -0.081170f, -0.135073f, -0.163849f, -0.165675f, -0.145034f, -0.109098f, -0.065479f, -0.020785f, 0.021411f, 0.060865f, 0.097933f, 0.130852f, 0.155355f, 0.165308f, 0.153592f, 0.114488f, 0.047274f, -0.041250f, -0.136303f, -0.216742f, -0.259900f, -0.249627f, -0.183769f, -0.076421f, 0.046233f, 0.154456f, 0.224564f, 0.245543f, 0.219702f, 0.158367f, 0.076598f, -0.010361f, -0.088906f, -0.147863f, -0.178885f, -0.177527f, -0.145152f, -0.089784f, -0.024237f, 0.037621f, 0.084404f, 0.109576f, 0.112370f, + 0.096930f, 0.070039f, 0.038778f, 0.009027f, -0.015303f, -0.032497f, -0.042624f, -0.046771f, -0.046440f, -0.043125f, -0.037867f, -0.031014f, -0.022391f, -0.011633f, 0.001488f, 0.016579f, 0.032114f, 0.045463f, 0.053594f, 0.054013f, 0.045545f, 0.028883f, 0.006695f, -0.016938f, -0.037553f, -0.051342f, -0.055978f, -0.051160f, -0.038603f, -0.021347f, -0.002781f, 0.014142f, 0.027341f, 0.035751f, 0.039167f, 0.037897f, 0.032496f, 0.023714f, 0.012505f, 0.000000f, -0.012486f, -0.023459f, -0.031401f, -0.035090f, -0.033864f, -0.027773f, -0.017676f, -0.005222f, 0.007471f, 0.018343f, 0.025831f, 0.029082f, 0.028059f, 0.023474f, 0.016464f, 0.008192f, -0.000309f, -0.008120f, -0.014522f, -0.019089f, -0.021594f, -0.021867f, -0.019862f, -0.015729f, -0.009742f, -0.002298f, 0.005904f, 0.013865f, 0.020516f, 0.024843f, 0.025909f, 0.023153f, 0.016760f, 0.007563f, -0.003225f, -0.014006f, -0.022916f, -0.028476f, -0.029983f, -0.027181f, -0.020128f, -0.009670f, 0.002656f, 0.015448f, 0.027375f, 0.036285f, 0.039574f, 0.035702f, 0.024364f, 0.005813f, -0.017861f, -0.040900f, -0.055655f, -0.056646f, -0.041947f, -0.012939f, + 0.023511f, 0.054222f, 0.066227f, 0.054969f, 0.024437f, -0.016387f, -0.051673f, -0.060245f, -0.033060f, 0.009957f, 0.033887f, 0.024885f, 0.002528f, -0.007913f, -0.003871f, 0.001012f, 0.000170f, -0.001482f, -0.000477f, 0.000417f, -0.000514f, -0.001048f, -0.000134f, 0.000401f, -0.000132f, -0.000249f, 0.000462f, 0.000732f, 0.000295f, 0.000193f, 0.000558f, 0.000516f, 0.000036f, -0.000136f, -0.000008f, -0.000166f, -0.000521f, -0.000566f, -0.000402f, -0.000420f, -0.000486f, -0.000304f, -0.000043f, 0.000060f, 0.000153f, 0.000366f, 0.000506f, 0.000491f} + }, + { + {0.905512f, 0.678641f, 0.311373f, -0.074151f, -0.391473f, -0.617374f, -0.746262f, -0.740996f, -0.564331f, -0.254460f, 0.070978f, 0.303423f, 0.417282f, 0.449447f, 0.432211f, 0.367816f, 0.255977f, 0.119310f, -0.009037f, -0.114250f, -0.203912f, -0.281083f, -0.325135f, -0.311110f, -0.241931f, -0.146174f, -0.046109f, 0.054859f, 0.151966f, 0.226035f, 0.259397f, 0.251854f, 0.213115f, 0.150155f, 0.069211f, -0.018634f, -0.100791f, -0.166658f, -0.205638f, -0.209754f, -0.181909f, -0.135245f, -0.081451f, -0.024331f, 0.034856f, 0.091963f, 0.141052f, 0.175632f, 0.187911f, 0.171589f, 0.127151f, 0.062454f, -0.011149f, -0.081170f, -0.135073f, -0.163849f, -0.165675f, -0.145034f, -0.109098f, -0.065479f, -0.020785f, 0.021411f, 0.060865f, 0.097933f, 0.130852f, 0.155355f, 0.165308f, 0.153592f, 0.114488f, 0.047274f, -0.041250f, -0.136303f, -0.216742f, -0.259900f, -0.249627f, -0.183769f, -0.076421f, 0.046233f, 0.154456f, 0.224564f, 0.245543f, 0.219702f, 0.158367f, 0.076598f, -0.010361f, -0.088906f, -0.147863f, -0.178885f, -0.177527f, -0.145152f, -0.089784f, -0.024237f, 0.037621f, 0.084404f, 0.109576f, 0.112370f, + 0.096930f, 0.070039f, 0.038778f, 0.009027f, -0.015303f, -0.032497f, -0.042624f, -0.046771f, -0.046440f, -0.043125f, -0.037867f, -0.031014f, -0.022391f, -0.011633f, 0.001488f, 0.016579f, 0.032114f, 0.045463f, 0.053594f, 0.054013f, 0.045545f, 0.028883f, 0.006695f, -0.016938f, -0.037553f, -0.051342f, -0.055978f, -0.051160f, -0.038603f, -0.021347f, -0.002781f, 0.014142f, 0.027341f, 0.035751f, 0.039167f, 0.037897f, 0.032496f, 0.023714f, 0.012505f, 0.000000f, -0.012486f, -0.023459f, -0.031401f, -0.035090f, -0.033864f, -0.027773f, -0.017676f, -0.005222f, 0.007471f, 0.018343f, 0.025831f, 0.029082f, 0.028059f, 0.023474f, 0.016464f, 0.008192f, -0.000309f, -0.008120f, -0.014522f, -0.019089f, -0.021594f, -0.021867f, -0.019862f, -0.015729f, -0.009742f, -0.002298f, 0.005904f, 0.013865f, 0.020516f, 0.024843f, 0.025909f, 0.023153f, 0.016760f, 0.007563f, -0.003225f, -0.014006f, -0.022916f, -0.028476f, -0.029983f, -0.027181f, -0.020128f, -0.009670f, 0.002656f, 0.015448f, 0.027375f, 0.036285f, 0.039574f, 0.035702f, 0.024364f, 0.005813f, -0.017861f, -0.040900f, -0.055655f, -0.056646f, -0.041947f, -0.012939f, + 0.023511f, 0.054222f, 0.066227f, 0.054969f, 0.024437f, -0.016387f, -0.051673f, -0.060245f, -0.033060f, 0.009957f, 0.033887f, 0.024885f, 0.002528f, -0.007913f, -0.003871f, 0.001012f, 0.000170f, -0.001482f, -0.000477f, 0.000417f, -0.000514f, -0.001048f, -0.000134f, 0.000401f, -0.000132f, -0.000249f, 0.000462f, 0.000732f, 0.000295f, 0.000193f, 0.000558f, 0.000516f, 0.000036f, -0.000136f, -0.000008f, -0.000166f, -0.000521f, -0.000566f, -0.000402f, -0.000420f, -0.000486f, -0.000304f, -0.000043f, 0.000060f, 0.000153f, 0.000366f, 0.000506f, 0.000491f}, + {1.063474f, 1.043131f, 1.080672f, 1.214000f, 1.381928f, 1.505441f, 1.571766f, 1.596869f, 1.559288f, 1.443460f, 1.315432f, 1.264794f, 1.275827f, 1.246689f, 1.147952f, 1.067945f, 1.069330f, 1.093255f, 1.060696f, 0.991275f, 0.952308f, 0.947628f, 0.931450f, 0.896088f, 0.875184f, 0.877635f, 0.877306f, 0.862455f, 0.851114f, 0.858664f, 0.880945f, 0.907411f, 0.929244f, 0.938406f, 0.935115f, 0.932668f, 0.945105f, 0.975372f, 1.020051f, 1.076159f, 1.138482f, 1.199314f, 1.255133f, 1.306848f, 1.352586f, 1.387511f, 1.411062f, 1.428044f, 1.442949f, 1.457837f, 1.473867f, 1.490422f, 1.504141f, 1.511326f, 1.509565f, 1.496836f, 1.472407f, 1.438435f, 1.397187f, 1.347911f, 1.289991f, 1.226763f, 1.162058f, 1.095742f, 1.026740f, 0.957251f, 0.889862f, 0.823884f, 0.758601f, 0.697267f, 0.644668f, 0.603523f, 0.575533f, 0.562861f, 0.566399f, 0.584922f, 0.616971f, 0.661507f, 0.716950f, 0.782071f, 0.857272f, 0.942702f, 1.036381f, 1.136549f, 1.244199f, 1.360630f, 1.484022f, 1.610883f, 1.739254f, 1.867675f, 1.991785f, 2.104459f, 2.199314f, 2.272351f, 2.319839f, 2.336536f, + 2.318055f, 2.264616f, 2.180165f, 2.067426f, 1.926830f, 1.761394f, 1.578694f, 1.385256f, 1.182714f, 0.972923f, 0.762994f, 0.560921f, 0.369676f, 0.190476f, 0.028730f, -0.108777f, -0.220619f, -0.309841f, -0.378087f, -0.425236f, -0.453644f, -0.468415f, -0.473457f, -0.470028f, -0.459061f, -0.442865f, -0.424328f, -0.405395f, -0.386539f, -0.367682f, -0.349391f, -0.332184f, -0.314542f, -0.293369f, -0.267138f, -0.236981f, -0.204194f, -0.168837f, -0.131697f, -0.095649f, -0.064007f, -0.038874f, -0.021740f, -0.014608f, -0.020128f, -0.040959f, -0.078587f, -0.132851f, -0.203536f, -0.291705f, -0.397394f, -0.516941f, -0.645343f, -0.780070f, -0.919041f, -1.056337f, -1.184558f, -1.300520f, -1.404186f, -1.493222f, -1.563734f, -1.615600f, -1.652081f, -1.674537f, -1.681849f, -1.674638f, -1.656140f, -1.629030f, -1.594189f, -1.552486f, -1.506033f, -1.457814f, -1.410294f, -1.363968f, -1.318341f, -1.274920f, -1.236490f, -1.202485f, -1.169363f, -1.136833f, -1.107851f, -1.080975f, -1.050211f, -1.014006f, -0.975256f, -0.930779f, -0.871463f, -0.793938f, -0.699614f, -0.581833f, -0.428980f, -0.240611f, -0.024812f, 0.217463f, 0.485342f, 0.758970f, + 1.009742f, 1.222711f, 1.383022f, 1.452948f, 1.397393f, 1.216786f, 0.913966f, 0.463363f, -0.102253f, -0.587837f, -0.741210f, -0.518203f, -0.161231f, 0.049607f, 0.061391f, 0.009945f, -0.002758f, 0.007110f, 0.002413f, -0.005996f, -0.001010f, 0.004903f, 0.000261f, -0.003925f, 0.000280f, 0.003284f, -0.000470f, -0.002645f, 0.000624f, 0.002115f, -0.000763f, -0.001772f, 0.000700f, 0.001304f, -0.000805f, -0.001090f, 0.000689f, 0.000741f, -0.000698f, -0.000535f, 0.000618f, 0.000330f, -0.000506f, -0.000092f, 0.000475f, 0.000007f, -0.000267f, 0.000243f} + }, + { + {1.090612f, 1.124607f, 1.168203f, 1.251890f, 1.418329f, 1.597546f, 1.655179f, 1.582145f, 1.504210f, 1.475289f, 1.403668f, 1.239120f, 1.093260f, 1.081569f, 1.155447f, 1.196594f, 1.194813f, 1.219751f, 1.274331f, 1.294266f, 1.269910f, 1.263313f, 1.300588f, 1.329007f, 1.297460f, 1.221672f, 1.152041f, 1.117220f, 1.113599f, 1.121528f, 1.121547f, 1.114494f, 1.129257f, 1.193632f, 1.297545f, 1.400895f, 1.475605f, 1.523950f, 1.558278f, 1.581891f, 1.594396f, 1.602121f, 1.615403f, 1.640470f, 1.677097f, 1.720927f, 1.766581f, 1.810296f, 1.849698f, 1.880635f, 1.896590f, 1.893026f, 1.870641f, 1.833225f, 1.784630f, 1.729383f, 1.673762f, 1.623245f, 1.579086f, 1.538579f, 1.497829f, 1.452657f, 1.397429f, 1.325606f, 1.233180f, 1.121272f, 0.995053f, 0.861250f, 0.727628f, 0.603189f, 0.495955f, 0.409941f, 0.345638f, 0.303340f, 0.284212f, 0.287909f, 0.311238f, 0.350209f, 0.402431f, 0.467015f, 0.543153f, 0.629394f, 0.723639f, 0.823272f, 0.925269f, 1.026136f, 1.122298f, 1.211920f, 1.296779f, 1.380918f, 1.466626f, 1.552846f, 1.637734f, 1.720181f, 1.796938f, 1.860399f, + 1.901996f, 1.916706f, 1.901778f, 1.852697f, 1.764610f, 1.638066f, 1.479859f, 1.297511f, 1.096512f, 0.884132f, 0.671480f, 0.468197f, 0.277415f, 0.098866f, -0.065566f, -0.213245f, -0.345768f, -0.467783f, -0.580825f, -0.682112f, -0.769567f, -0.844138f, -0.906188f, -0.953219f, -0.983275f, -0.998322f, -1.002195f, -0.996823f, -0.982433f, -0.960340f, -0.933166f, -0.902260f, -0.866678f, -0.825449f, -0.779784f, -0.732273f, -0.684647f, -0.637476f, -0.591811f, -0.549903f, -0.513900f, -0.484651f, -0.462485f, -0.448846f, -0.446501f, -0.458060f, -0.484778f, -0.527243f, -0.586726f, -0.664534f, -0.759541f, -0.867568f, -0.984007f, -1.105517f, -1.227820f, -1.343849f, -1.446666f, -1.533071f, -1.601920f, -1.650494f, -1.675782f, -1.678279f, -1.660970f, -1.625102f, -1.570297f, -1.498421f, -1.413974f, -1.320639f, -1.220302f, -1.115550f, -1.010636f, -0.909518f, -0.814469f, -0.726777f, -0.647886f, -0.579631f, -0.523222f, -0.477897f, -0.441703f, -0.414045f, -0.395476f, -0.384365f, -0.376980f, -0.371994f, -0.370648f, -0.371074f, -0.367650f, -0.357359f, -0.340112f, -0.311253f, -0.261890f, -0.188496f, -0.093373f, 0.024718f, 0.168335f, 0.328881f, + 0.489510f, 0.639645f, 0.770221f, 0.857680f, 0.874965f, 0.814834f, 0.675130f, 0.433231f, 0.090010f, -0.252149f, -0.424257f, -0.353241f, -0.152103f, -0.001328f, 0.031000f, 0.007695f, -0.002042f, 0.003578f, 0.002256f, -0.003204f, -0.001309f, 0.002742f, 0.000775f, -0.002211f, -0.000307f, 0.001911f, 0.000119f, -0.001567f, 0.000027f, 0.001244f, -0.000202f, -0.001092f, 0.000170f, 0.000778f, -0.000312f, -0.000692f, 0.000244f, 0.000463f, -0.000292f, -0.000352f, 0.000267f, 0.000241f, -0.000201f, -0.000080f, 0.000227f, 0.000070f, -0.000076f, 0.000114f}, + {0.917276f, 0.651543f, 0.241263f, -0.179200f, -0.536810f, -0.786529f, -0.861095f, -0.706896f, -0.361415f, 0.046576f, 0.387107f, 0.602460f, 0.691808f, 0.656249f, 0.487165f, 0.202283f, -0.131443f, -0.423124f, -0.603354f, -0.645005f, -0.551682f, -0.342497f, -0.055403f, 0.244110f, 0.476519f, 0.583184f, 0.550153f, 0.400664f, 0.174562f, -0.080033f, -0.307236f, -0.454647f, -0.492004f, -0.418390f, -0.256044f, -0.044660f, 0.162619f, 0.313362f, 0.377265f, 0.354834f, 0.266128f, 0.135954f, -0.009977f, -0.143596f, -0.238634f, -0.278506f, -0.259780f, -0.190547f, -0.088270f, 0.022745f, 0.117338f, 0.177563f, 0.197090f, 0.179340f, 0.132881f, 0.068619f, -0.001036f, -0.063710f, -0.109881f, -0.134545f, -0.136594f, -0.117710f, -0.082176f, -0.036408f, 0.012762f, 0.059536f, 0.098989f, 0.126240f, 0.136203f, 0.123860f, 0.085609f, 0.022846f, -0.054001f, -0.125717f, -0.170830f, -0.174541f, -0.134647f, -0.062373f, 0.021510f, 0.094181f, 0.139095f, 0.150662f, 0.132927f, 0.094500f, 0.044027f, -0.011484f, -0.065806f, -0.111701f, -0.140080f, -0.141689f, -0.111311f, -0.052311f, 0.021787f, 0.090808f, 0.135451f, 0.144793f, + 0.119617f, 0.070364f, 0.011865f, -0.041957f, -0.081346f, -0.101583f, -0.102258f, -0.086016f, -0.057310f, -0.021283f, 0.016947f, 0.052401f, 0.080081f, 0.095197f, 0.093880f, 0.074223f, 0.037586f, -0.010223f, -0.059028f, -0.096507f, -0.111982f, -0.100221f, -0.063756f, -0.012589f, 0.039076f, 0.077825f, 0.095266f, 0.089753f, 0.065616f, 0.030843f, -0.005738f, -0.036776f, -0.057529f, -0.065952f, -0.062341f, -0.048736f, -0.028162f, -0.004067f, 0.019866f, 0.039922f, 0.052856f, 0.056438f, 0.049836f, 0.033935f, 0.011469f, -0.013398f, -0.035916f, -0.051598f, -0.057074f, -0.050971f, -0.034395f, -0.010676f, 0.015312f, 0.037984f, 0.052292f, 0.055175f, 0.046354f, 0.028123f, 0.004662f, -0.018844f, -0.037452f, -0.047700f, -0.048091f, -0.039003f, -0.022561f, -0.002299f, 0.017721f, 0.033814f, 0.043099f, 0.043847f, 0.035955f, 0.020985f, 0.001707f, -0.018215f, -0.034574f, -0.043678f, -0.043517f, -0.034017f, -0.016874f, 0.004283f, 0.024420f, 0.038946f, 0.045076f, 0.041570f, 0.028591f, 0.008573f, -0.013985f, -0.034323f, -0.048076f, -0.050638f, -0.038773f, -0.014129f, 0.016384f, 0.043822f, 0.059238f, 0.054834f, + 0.028889f, -0.009231f, -0.043019f, -0.058834f, -0.050365f, -0.018436f, 0.024349f, 0.051843f, 0.042557f, 0.005228f, -0.025317f, -0.025348f, -0.006082f, 0.006509f, 0.004601f, -0.000170f, 0.000455f, 0.002497f, 0.001552f, 0.000003f, 0.000353f, 0.000671f, -0.000593f, -0.001643f, -0.001255f, -0.000846f, -0.001219f, -0.001146f, -0.000127f, 0.000663f, 0.000752f, 0.000985f, 0.001528f, 0.001552f, 0.000946f, 0.000436f, 0.000126f, -0.000453f, -0.001159f, -0.001450f, -0.001371f, -0.001268f, -0.001021f, -0.000425f, 0.000257f, 0.000753f, 0.001163f, 0.001494f} + }, + { + {0.917276f, 0.651543f, 0.241263f, -0.179200f, -0.536810f, -0.786529f, -0.861095f, -0.706896f, -0.361415f, 0.046576f, 0.387107f, 0.602460f, 0.691808f, 0.656249f, 0.487165f, 0.202283f, -0.131443f, -0.423124f, -0.603354f, -0.645005f, -0.551682f, -0.342497f, -0.055403f, 0.244110f, 0.476519f, 0.583184f, 0.550153f, 0.400664f, 0.174562f, -0.080033f, -0.307236f, -0.454647f, -0.492004f, -0.418390f, -0.256044f, -0.044660f, 0.162619f, 0.313362f, 0.377265f, 0.354834f, 0.266128f, 0.135954f, -0.009977f, -0.143596f, -0.238634f, -0.278506f, -0.259780f, -0.190547f, -0.088270f, 0.022745f, 0.117338f, 0.177563f, 0.197090f, 0.179340f, 0.132881f, 0.068619f, -0.001036f, -0.063710f, -0.109881f, -0.134545f, -0.136594f, -0.117710f, -0.082176f, -0.036408f, 0.012762f, 0.059536f, 0.098989f, 0.126240f, 0.136203f, 0.123860f, 0.085609f, 0.022846f, -0.054001f, -0.125717f, -0.170830f, -0.174541f, -0.134647f, -0.062373f, 0.021510f, 0.094181f, 0.139095f, 0.150662f, 0.132927f, 0.094500f, 0.044027f, -0.011484f, -0.065806f, -0.111701f, -0.140080f, -0.141689f, -0.111311f, -0.052311f, 0.021787f, 0.090808f, 0.135451f, 0.144793f, + 0.119617f, 0.070364f, 0.011865f, -0.041957f, -0.081346f, -0.101583f, -0.102258f, -0.086016f, -0.057310f, -0.021283f, 0.016947f, 0.052401f, 0.080081f, 0.095197f, 0.093880f, 0.074223f, 0.037586f, -0.010223f, -0.059028f, -0.096507f, -0.111982f, -0.100221f, -0.063756f, -0.012589f, 0.039076f, 0.077825f, 0.095266f, 0.089753f, 0.065616f, 0.030843f, -0.005738f, -0.036776f, -0.057529f, -0.065952f, -0.062341f, -0.048736f, -0.028162f, -0.004067f, 0.019866f, 0.039922f, 0.052856f, 0.056438f, 0.049836f, 0.033935f, 0.011469f, -0.013398f, -0.035916f, -0.051598f, -0.057074f, -0.050971f, -0.034395f, -0.010676f, 0.015312f, 0.037984f, 0.052292f, 0.055175f, 0.046354f, 0.028123f, 0.004662f, -0.018844f, -0.037452f, -0.047700f, -0.048091f, -0.039003f, -0.022561f, -0.002299f, 0.017721f, 0.033814f, 0.043099f, 0.043847f, 0.035955f, 0.020985f, 0.001707f, -0.018215f, -0.034574f, -0.043678f, -0.043517f, -0.034017f, -0.016874f, 0.004283f, 0.024420f, 0.038946f, 0.045076f, 0.041570f, 0.028591f, 0.008573f, -0.013985f, -0.034323f, -0.048076f, -0.050638f, -0.038773f, -0.014129f, 0.016384f, 0.043822f, 0.059238f, 0.054834f, + 0.028889f, -0.009231f, -0.043019f, -0.058834f, -0.050365f, -0.018436f, 0.024349f, 0.051843f, 0.042557f, 0.005228f, -0.025317f, -0.025348f, -0.006082f, 0.006509f, 0.004601f, -0.000170f, 0.000455f, 0.002497f, 0.001552f, 0.000003f, 0.000353f, 0.000671f, -0.000593f, -0.001643f, -0.001255f, -0.000846f, -0.001219f, -0.001146f, -0.000127f, 0.000663f, 0.000752f, 0.000985f, 0.001528f, 0.001552f, 0.000946f, 0.000436f, 0.000126f, -0.000453f, -0.001159f, -0.001450f, -0.001371f, -0.001268f, -0.001021f, -0.000425f, 0.000257f, 0.000753f, 0.001163f, 0.001494f}, + {1.090612f, 1.124607f, 1.168203f, 1.251890f, 1.418329f, 1.597546f, 1.655179f, 1.582145f, 1.504210f, 1.475289f, 1.403668f, 1.239120f, 1.093260f, 1.081569f, 1.155447f, 1.196594f, 1.194813f, 1.219751f, 1.274331f, 1.294266f, 1.269910f, 1.263313f, 1.300588f, 1.329007f, 1.297460f, 1.221672f, 1.152041f, 1.117220f, 1.113599f, 1.121528f, 1.121547f, 1.114494f, 1.129257f, 1.193632f, 1.297545f, 1.400895f, 1.475605f, 1.523950f, 1.558278f, 1.581891f, 1.594396f, 1.602121f, 1.615403f, 1.640470f, 1.677097f, 1.720927f, 1.766581f, 1.810296f, 1.849698f, 1.880635f, 1.896590f, 1.893026f, 1.870641f, 1.833225f, 1.784630f, 1.729383f, 1.673762f, 1.623245f, 1.579086f, 1.538579f, 1.497829f, 1.452657f, 1.397429f, 1.325606f, 1.233180f, 1.121272f, 0.995053f, 0.861250f, 0.727628f, 0.603189f, 0.495955f, 0.409941f, 0.345638f, 0.303340f, 0.284212f, 0.287909f, 0.311238f, 0.350209f, 0.402431f, 0.467015f, 0.543153f, 0.629394f, 0.723639f, 0.823272f, 0.925269f, 1.026136f, 1.122298f, 1.211920f, 1.296779f, 1.380918f, 1.466626f, 1.552846f, 1.637734f, 1.720181f, 1.796938f, 1.860399f, + 1.901996f, 1.916706f, 1.901778f, 1.852697f, 1.764610f, 1.638066f, 1.479859f, 1.297511f, 1.096512f, 0.884132f, 0.671480f, 0.468197f, 0.277415f, 0.098866f, -0.065566f, -0.213245f, -0.345768f, -0.467783f, -0.580825f, -0.682112f, -0.769567f, -0.844138f, -0.906188f, -0.953219f, -0.983275f, -0.998322f, -1.002195f, -0.996823f, -0.982433f, -0.960340f, -0.933166f, -0.902260f, -0.866678f, -0.825449f, -0.779784f, -0.732273f, -0.684647f, -0.637476f, -0.591811f, -0.549903f, -0.513900f, -0.484651f, -0.462485f, -0.448846f, -0.446501f, -0.458060f, -0.484778f, -0.527243f, -0.586726f, -0.664534f, -0.759541f, -0.867568f, -0.984007f, -1.105517f, -1.227820f, -1.343849f, -1.446666f, -1.533071f, -1.601920f, -1.650494f, -1.675782f, -1.678279f, -1.660970f, -1.625102f, -1.570297f, -1.498421f, -1.413974f, -1.320639f, -1.220302f, -1.115550f, -1.010636f, -0.909518f, -0.814469f, -0.726777f, -0.647886f, -0.579631f, -0.523222f, -0.477897f, -0.441703f, -0.414045f, -0.395476f, -0.384365f, -0.376980f, -0.371994f, -0.370648f, -0.371074f, -0.367650f, -0.357359f, -0.340112f, -0.311253f, -0.261890f, -0.188496f, -0.093373f, 0.024718f, 0.168335f, 0.328881f, + 0.489510f, 0.639645f, 0.770221f, 0.857680f, 0.874965f, 0.814834f, 0.675130f, 0.433231f, 0.090010f, -0.252149f, -0.424257f, -0.353241f, -0.152103f, -0.001328f, 0.031000f, 0.007695f, -0.002042f, 0.003578f, 0.002256f, -0.003204f, -0.001309f, 0.002742f, 0.000775f, -0.002211f, -0.000307f, 0.001911f, 0.000119f, -0.001567f, 0.000027f, 0.001244f, -0.000202f, -0.001092f, 0.000170f, 0.000778f, -0.000312f, -0.000692f, 0.000244f, 0.000463f, -0.000292f, -0.000352f, 0.000267f, 0.000241f, -0.000201f, -0.000080f, 0.000227f, 0.000070f, -0.000076f, 0.000114f} + }, + { + {1.112397f, 1.111335f, 1.098541f, 1.066221f, 1.017869f, 0.956090f, 0.875304f, 0.794051f, 0.783469f, 0.912714f, 1.154418f, 1.390208f, 1.523919f, 1.546110f, 1.485727f, 1.366225f, 1.230008f, 1.138792f, 1.115300f, 1.133121f, 1.181544f, 1.281430f, 1.418100f, 1.522549f, 1.547535f, 1.511683f, 1.451956f, 1.387778f, 1.346726f, 1.365986f, 1.445028f, 1.543010f, 1.636980f, 1.737911f, 1.841344f, 1.911123f, 1.925970f, 1.902958f, 1.864891f, 1.818149f, 1.768283f, 1.725885f, 1.690633f, 1.652687f, 1.611399f, 1.574846f, 1.545035f, 1.519441f, 1.500076f, 1.487021f, 1.471806f, 1.449320f, 1.426872f, 1.411941f, 1.401090f, 1.388324f, 1.373527f, 1.356198f, 1.331235f, 1.296699f, 1.257813f, 1.219852f, 1.183552f, 1.148414f, 1.114230f, 1.078765f, 1.038071f, 0.988570f, 0.927224f, 0.852801f, 0.768254f, 0.678135f, 0.583726f, 0.485145f, 0.386694f, 0.294105f, 0.207911f, 0.125603f, 0.048642f, -0.018544f, -0.074526f, -0.120226f, -0.154508f, -0.175796f, -0.186470f, -0.191357f, -0.193244f, -0.192820f, -0.191313f, -0.190742f, -0.192655f, -0.197592f, -0.204686f, -0.211940f, -0.218191f, -0.223996f, + -0.229614f, -0.234043f, -0.237357f, -0.241595f, -0.247842f, -0.254765f, -0.261227f, -0.267732f, -0.274126f, -0.278339f, -0.278541f, -0.274550f, -0.266501f, -0.253999f, -0.237013f, -0.216199f, -0.192291f, -0.166066f, -0.138455f, -0.109952f, -0.080598f, -0.050885f, -0.021663f, 0.007056f, 0.036069f, 0.065697f, 0.095709f, 0.126372f, 0.158482f, 0.192519f, 0.228577f, 0.266713f, 0.306680f, 0.347771f, 0.389146f, 0.429545f, 0.466699f, 0.498178f, 0.522837f, 0.540306f, 0.549440f, 0.548884f, 0.538969f, 0.521289f, 0.496435f, 0.463906f, 0.424432f, 0.380495f, 0.333949f, 0.284714f, 0.232690f, 0.179455f, 0.126660f, 0.073750f, 0.018927f, -0.038141f, -0.096401f, -0.156100f, -0.219366f, -0.287580f, -0.359934f, -0.435593f, -0.515692f, -0.601760f, -0.693176f, -0.787894f, -0.885348f, -0.986812f, -1.092377f, -1.199339f, -1.304999f, -1.409414f, -1.512886f, -1.612037f, -1.701983f, -1.781517f, -1.851454f, -1.908356f, -1.945802f, -1.961831f, -1.958173f, -1.932021f, -1.876786f, -1.791263f, -1.678747f, -1.537128f, -1.360504f, -1.150068f, -0.911518f, -0.643518f, -0.342730f, -0.017884f, 0.315739f, 0.650088f, 0.975129f, 1.264156f, + 1.488607f, 1.636372f, 1.693967f, 1.630407f, 1.428523f, 1.107711f, 0.682977f, 0.150519f, -0.414826f, -0.794658f, -0.785457f, -0.443271f, -0.068780f, 0.093541f, 0.063908f, 0.005868f, -0.000970f, 0.007761f, 0.000201f, -0.006097f, 0.000758f, 0.004704f, -0.001139f, -0.003615f, 0.001333f, 0.002891f, -0.001274f, -0.002236f, 0.001223f, 0.001737f, -0.001161f, -0.001399f, 0.000983f, 0.001007f, -0.000943f, -0.000823f, 0.000756f, 0.000549f, -0.000686f, -0.000398f, 0.000560f, 0.000246f, -0.000432f, -0.000077f, 0.000374f, 0.000016f, -0.000200f, 0.000171f}, + {1.079532f, 0.998235f, 0.850285f, 0.632018f, 0.357346f, 0.123599f, 0.061032f, 0.193395f, 0.396567f, 0.503127f, 0.416351f, 0.150118f, -0.179415f, -0.415063f, -0.477564f, -0.429570f, -0.389527f, -0.407796f, -0.468131f, -0.564318f, -0.698134f, -0.821601f, -0.860464f, -0.802613f, -0.711179f, -0.646626f, -0.616838f, -0.600835f, -0.578635f, -0.531502f, -0.444474f, -0.319603f, -0.174456f, -0.029034f, 0.098083f, 0.192379f, 0.255844f, 0.309193f, 0.371530f, 0.443415f, 0.513712f, 0.573199f, 0.617309f, 0.645288f, 0.661423f, 0.670890f, 0.673012f, 0.663713f, 0.642750f, 0.612720f, 0.573583f, 0.523581f, 0.462385f, 0.389021f, 0.300903f, 0.198899f, 0.089326f, -0.021841f, -0.132388f, -0.239961f, -0.339980f, -0.429136f, -0.506573f, -0.570849f, -0.620035f, -0.654986f, -0.678245f, -0.689440f, -0.685055f, -0.662509f, -0.621947f, -0.565149f, -0.495302f, -0.416936f, -0.333854f, -0.247460f, -0.158080f, -0.067051f, 0.023100f, 0.109595f, 0.190031f, 0.262592f, 0.325631f, 0.377009f, 0.414640f, 0.437919f, 0.447796f, 0.445623f, 0.433020f, 0.412348f, 0.385712f, 0.353870f, 0.317429f, 0.278358f, 0.238872f, 0.199766f, + 0.161294f, 0.124650f, 0.091143f, 0.061005f, 0.034231f, 0.011511f, -0.006807f, -0.021643f, -0.034229f, -0.045190f, -0.055109f, -0.065027f, -0.075849f, -0.087949f, -0.101562f, -0.117035f, -0.134702f, -0.154843f, -0.177496f, -0.202093f, -0.227631f, -0.253106f, -0.277270f, -0.298322f, -0.314656f, -0.325557f, -0.330409f, -0.327905f, -0.316927f, -0.297427f, -0.269514f, -0.232668f, -0.186868f, -0.133498f, -0.074069f, -0.009081f, 0.060877f, 0.133983f, 0.208161f, 0.282088f, 0.354192f, 0.421685f, 0.481644f, 0.532174f, 0.571494f, 0.596761f, 0.604942f, 0.594297f, 0.564069f, 0.513440f, 0.442118f, 0.351723f, 0.245530f, 0.127080f, 0.000223f, -0.129716f, -0.256333f, -0.374029f, -0.478501f, -0.565544f, -0.631076f, -0.672761f, -0.690270f, -0.683689f, -0.653190f, -0.600488f, -0.528942f, -0.441782f, -0.341626f, -0.231834f, -0.116682f, 0.000025f, 0.115102f, 0.224739f, 0.324534f, 0.410755f, 0.480542f, 0.531232f, 0.560568f, 0.567324f, 0.551195f, 0.512675f, 0.453339f, 0.375548f, 0.282095f, 0.176868f, 0.064992f, -0.048667f, -0.159757f, -0.262283f, -0.348547f, -0.412313f, -0.449169f, -0.453477f, -0.420000f, -0.349978f, + -0.250616f, -0.128884f, 0.006377f, 0.136800f, 0.239873f, 0.302094f, 0.314297f, 0.258860f, 0.129198f, -0.029823f, -0.132433f, -0.129413f, -0.059728f, -0.002602f, 0.007785f, -0.003487f, -0.007105f, -0.003815f, -0.004401f, -0.007051f, -0.005952f, -0.003689f, -0.004348f, -0.005493f, -0.004189f, -0.002643f, -0.003012f, -0.003342f, -0.002058f, -0.000889f, -0.000982f, -0.000846f, 0.000322f, 0.001228f, 0.001317f, 0.001678f, 0.002649f, 0.003310f, 0.003474f, 0.003877f, 0.004575f, 0.004982f, 0.005126f, 0.005431f, 0.005798f, 0.005946f, 0.006011f, 0.006127f} + }, + { + {1.079532f, 0.998235f, 0.850285f, 0.632018f, 0.357346f, 0.123599f, 0.061032f, 0.193395f, 0.396567f, 0.503127f, 0.416351f, 0.150118f, -0.179415f, -0.415063f, -0.477564f, -0.429570f, -0.389527f, -0.407796f, -0.468131f, -0.564318f, -0.698134f, -0.821601f, -0.860464f, -0.802613f, -0.711179f, -0.646626f, -0.616838f, -0.600835f, -0.578635f, -0.531502f, -0.444474f, -0.319603f, -0.174456f, -0.029034f, 0.098083f, 0.192379f, 0.255844f, 0.309193f, 0.371530f, 0.443415f, 0.513712f, 0.573199f, 0.617309f, 0.645288f, 0.661423f, 0.670890f, 0.673012f, 0.663713f, 0.642750f, 0.612720f, 0.573583f, 0.523581f, 0.462385f, 0.389021f, 0.300903f, 0.198899f, 0.089326f, -0.021841f, -0.132388f, -0.239961f, -0.339980f, -0.429136f, -0.506573f, -0.570849f, -0.620035f, -0.654986f, -0.678245f, -0.689440f, -0.685055f, -0.662509f, -0.621947f, -0.565149f, -0.495302f, -0.416936f, -0.333854f, -0.247460f, -0.158080f, -0.067051f, 0.023100f, 0.109595f, 0.190031f, 0.262592f, 0.325631f, 0.377009f, 0.414640f, 0.437919f, 0.447796f, 0.445623f, 0.433020f, 0.412348f, 0.385712f, 0.353870f, 0.317429f, 0.278358f, 0.238872f, 0.199766f, + 0.161294f, 0.124650f, 0.091143f, 0.061005f, 0.034231f, 0.011511f, -0.006807f, -0.021643f, -0.034229f, -0.045190f, -0.055109f, -0.065027f, -0.075849f, -0.087949f, -0.101562f, -0.117035f, -0.134702f, -0.154843f, -0.177496f, -0.202093f, -0.227631f, -0.253106f, -0.277270f, -0.298322f, -0.314656f, -0.325557f, -0.330409f, -0.327905f, -0.316927f, -0.297427f, -0.269514f, -0.232668f, -0.186868f, -0.133498f, -0.074069f, -0.009081f, 0.060877f, 0.133983f, 0.208161f, 0.282088f, 0.354192f, 0.421685f, 0.481644f, 0.532174f, 0.571494f, 0.596761f, 0.604942f, 0.594297f, 0.564069f, 0.513440f, 0.442118f, 0.351723f, 0.245530f, 0.127080f, 0.000223f, -0.129716f, -0.256333f, -0.374029f, -0.478501f, -0.565544f, -0.631076f, -0.672761f, -0.690270f, -0.683689f, -0.653190f, -0.600488f, -0.528942f, -0.441782f, -0.341626f, -0.231834f, -0.116682f, 0.000025f, 0.115102f, 0.224739f, 0.324534f, 0.410755f, 0.480542f, 0.531232f, 0.560568f, 0.567324f, 0.551195f, 0.512675f, 0.453339f, 0.375548f, 0.282095f, 0.176868f, 0.064992f, -0.048667f, -0.159757f, -0.262283f, -0.348547f, -0.412313f, -0.449169f, -0.453477f, -0.420000f, -0.349978f, + -0.250616f, -0.128884f, 0.006377f, 0.136800f, 0.239873f, 0.302094f, 0.314297f, 0.258860f, 0.129198f, -0.029823f, -0.132433f, -0.129413f, -0.059728f, -0.002602f, 0.007785f, -0.003487f, -0.007105f, -0.003815f, -0.004401f, -0.007051f, -0.005952f, -0.003689f, -0.004348f, -0.005493f, -0.004189f, -0.002643f, -0.003012f, -0.003342f, -0.002058f, -0.000889f, -0.000982f, -0.000846f, 0.000322f, 0.001228f, 0.001317f, 0.001678f, 0.002649f, 0.003310f, 0.003474f, 0.003877f, 0.004575f, 0.004982f, 0.005126f, 0.005431f, 0.005798f, 0.005946f, 0.006011f, 0.006127f}, + {1.112397f, 1.111335f, 1.098541f, 1.066221f, 1.017869f, 0.956090f, 0.875304f, 0.794051f, 0.783469f, 0.912714f, 1.154418f, 1.390208f, 1.523919f, 1.546110f, 1.485727f, 1.366225f, 1.230008f, 1.138792f, 1.115300f, 1.133121f, 1.181544f, 1.281430f, 1.418100f, 1.522549f, 1.547535f, 1.511683f, 1.451956f, 1.387778f, 1.346726f, 1.365986f, 1.445028f, 1.543010f, 1.636980f, 1.737911f, 1.841344f, 1.911123f, 1.925970f, 1.902958f, 1.864891f, 1.818149f, 1.768283f, 1.725885f, 1.690633f, 1.652687f, 1.611399f, 1.574846f, 1.545035f, 1.519441f, 1.500076f, 1.487021f, 1.471806f, 1.449320f, 1.426872f, 1.411941f, 1.401090f, 1.388324f, 1.373527f, 1.356198f, 1.331235f, 1.296699f, 1.257813f, 1.219852f, 1.183552f, 1.148414f, 1.114230f, 1.078765f, 1.038071f, 0.988570f, 0.927224f, 0.852801f, 0.768254f, 0.678135f, 0.583726f, 0.485145f, 0.386694f, 0.294105f, 0.207911f, 0.125603f, 0.048642f, -0.018544f, -0.074526f, -0.120226f, -0.154508f, -0.175796f, -0.186470f, -0.191357f, -0.193244f, -0.192820f, -0.191313f, -0.190742f, -0.192655f, -0.197592f, -0.204686f, -0.211940f, -0.218191f, -0.223996f, + -0.229614f, -0.234043f, -0.237357f, -0.241595f, -0.247842f, -0.254765f, -0.261227f, -0.267732f, -0.274126f, -0.278339f, -0.278541f, -0.274550f, -0.266501f, -0.253999f, -0.237013f, -0.216199f, -0.192291f, -0.166066f, -0.138455f, -0.109952f, -0.080598f, -0.050885f, -0.021663f, 0.007056f, 0.036069f, 0.065697f, 0.095709f, 0.126372f, 0.158482f, 0.192519f, 0.228577f, 0.266713f, 0.306680f, 0.347771f, 0.389146f, 0.429545f, 0.466699f, 0.498178f, 0.522837f, 0.540306f, 0.549440f, 0.548884f, 0.538969f, 0.521289f, 0.496435f, 0.463906f, 0.424432f, 0.380495f, 0.333949f, 0.284714f, 0.232690f, 0.179455f, 0.126660f, 0.073750f, 0.018927f, -0.038141f, -0.096401f, -0.156100f, -0.219366f, -0.287580f, -0.359934f, -0.435593f, -0.515692f, -0.601760f, -0.693176f, -0.787894f, -0.885348f, -0.986812f, -1.092377f, -1.199339f, -1.304999f, -1.409414f, -1.512886f, -1.612037f, -1.701983f, -1.781517f, -1.851454f, -1.908356f, -1.945802f, -1.961831f, -1.958173f, -1.932021f, -1.876786f, -1.791263f, -1.678747f, -1.537128f, -1.360504f, -1.150068f, -0.911518f, -0.643518f, -0.342730f, -0.017884f, 0.315739f, 0.650088f, 0.975129f, 1.264156f, + 1.488607f, 1.636372f, 1.693967f, 1.630407f, 1.428523f, 1.107711f, 0.682977f, 0.150519f, -0.414826f, -0.794658f, -0.785457f, -0.443271f, -0.068780f, 0.093541f, 0.063908f, 0.005868f, -0.000970f, 0.007761f, 0.000201f, -0.006097f, 0.000758f, 0.004704f, -0.001139f, -0.003615f, 0.001333f, 0.002891f, -0.001274f, -0.002236f, 0.001223f, 0.001737f, -0.001161f, -0.001399f, 0.000983f, 0.001007f, -0.000943f, -0.000823f, 0.000756f, 0.000549f, -0.000686f, -0.000398f, 0.000560f, 0.000246f, -0.000432f, -0.000077f, 0.000374f, 0.000016f, -0.000200f, 0.000171f} + }, + { + {1.075228f, 1.074217f, 1.098140f, 1.181350f, 1.301845f, 1.357285f, 1.275591f, 1.128376f, 1.051750f, 1.070717f, 1.096449f, 1.090338f, 1.120506f, 1.232710f, 1.365528f, 1.439321f, 1.453889f, 1.448913f, 1.426184f, 1.363771f, 1.270441f, 1.179270f, 1.105288f, 1.040796f, 0.980197f, 0.926868f, 0.882359f, 0.842806f, 0.803055f, 0.760151f, 0.717484f, 0.684947f, 0.668443f, 0.661086f, 0.651027f, 0.635243f, 0.620475f, 0.614727f, 0.622795f, 0.645718f, 0.679665f, 0.718175f, 0.758038f, 0.800110f, 0.844051f, 0.886529f, 0.924692f, 0.957013f, 0.980790f, 0.992993f, 0.994090f, 0.988656f, 0.982771f, 0.982211f, 0.991140f, 1.010513f, 1.038521f, 1.072547f, 1.108778f, 1.140961f, 1.163036f, 1.172913f, 1.171176f, 1.157532f, 1.131991f, 1.098142f, 1.061279f, 1.023708f, 0.984783f, 0.944459f, 0.903598f, 0.861374f, 0.815358f, 0.764360f, 0.709449f, 0.652291f, 0.594010f, 0.536028f, 0.481101f, 0.432577f, 0.392126f, 0.358508f, 0.329185f, 0.302679f, 0.278373f, 0.255008f, 0.231647f, 0.210110f, 0.194471f, 0.187914f, 0.191535f, 0.205810f, 0.231239f, 0.267417f, 0.313051f, 0.367052f, + 0.428780f, 0.497528f, 0.572254f, 0.650956f, 0.729921f, 0.804741f, 0.872337f, 0.930763f, 0.977405f, 1.009536f, 1.026754f, 1.030560f, 1.021257f, 0.997590f, 0.959821f, 0.910708f, 0.852633f, 0.785962f, 0.711354f, 0.631836f, 0.551033f, 0.470413f, 0.389791f, 0.309952f, 0.232974f, 0.159655f, 0.088252f, 0.016873f, -0.054104f, -0.123545f, -0.192358f, -0.262428f, -0.333151f, -0.401582f, -0.466079f, -0.527128f, -0.584149f, -0.634249f, -0.675298f, -0.707980f, -0.733621f, -0.751956f, -0.762482f, -0.766603f, -0.766968f, -0.765342f, -0.762185f, -0.758077f, -0.754691f, -0.753935f, -0.756401f, -0.761422f, -0.768926f, -0.780180f, -0.795912f, -0.814860f, -0.835536f, -0.858323f, -0.884145f, -0.912038f, -0.940032f, -0.967764f, -0.996212f, -1.025203f, -1.053082f, -1.078812f, -1.102840f, -1.125506f, -1.145684f, -1.161599f, -1.172538f, -1.178913f, -1.180387f, -1.174972f, -1.161052f, -1.139243f, -1.110357f, -1.072659f, -1.023765f, -0.964129f, -0.895301f, -0.815955f, -0.723787f, -0.620170f, -0.508278f, -0.387981f, -0.257793f, -0.120228f, 0.020407f, 0.163291f, 0.307901f, 0.448205f, 0.576448f, 0.689077f, 0.782089f, 0.845678f, + 0.871365f, 0.858316f, 0.804990f, 0.704160f, 0.556014f, 0.373959f, 0.167059f, -0.061388f, -0.274981f, -0.389171f, -0.341539f, -0.176854f, -0.021227f, 0.039404f, 0.025278f, 0.002978f, 0.000409f, 0.002891f, -0.000311f, -0.002218f, 0.000555f, 0.001691f, -0.000622f, -0.001274f, 0.000673f, 0.001036f, -0.000604f, -0.000793f, 0.000565f, 0.000609f, -0.000540f, -0.000507f, 0.000441f, 0.000341f, -0.000443f, -0.000297f, 0.000346f, 0.000177f, -0.000328f, -0.000127f, 0.000272f, 0.000068f, -0.000213f, 0.000010f, 0.000202f, -0.000020f, -0.000110f, 0.000118f}, + {0.960164f, 0.815843f, 0.531669f, 0.162241f, -0.177975f, -0.386498f, -0.458945f, -0.483857f, -0.540697f, -0.614327f, -0.622418f, -0.516530f, -0.334536f, -0.152125f, -0.004747f, 0.127804f, 0.271853f, 0.415700f, 0.517397f, 0.544153f, 0.497988f, 0.408320f, 0.305313f, 0.199510f, 0.083932f, -0.046923f, -0.183178f, -0.304770f, -0.395308f, -0.446238f, -0.451453f, -0.406776f, -0.317346f, -0.200175f, -0.075711f, 0.041366f, 0.142528f, 0.221292f, 0.272837f, 0.296528f, 0.295977f, 0.276382f, 0.242550f, 0.198393f, 0.146578f, 0.088571f, 0.025674f, -0.040051f, -0.105991f, -0.169238f, -0.225788f, -0.269676f, -0.293768f, -0.292136f, -0.262445f, -0.206810f, -0.130729f, -0.041117f, 0.054787f, 0.149042f, 0.232461f, 0.295490f, 0.330311f, 0.332628f, 0.302198f, 0.242289f, 0.158692f, 0.058771f, -0.048931f, -0.154433f, -0.246059f, -0.311363f, -0.339768f, -0.325985f, -0.272328f, -0.188549f, -0.089389f, 0.009037f, 0.093008f, 0.154155f, 0.190458f, 0.204754f, 0.201895f, 0.186430f, 0.161684f, 0.129742f, 0.091813f, 0.048922f, 0.002809f, -0.043495f, -0.085773f, -0.119474f, -0.141000f, -0.148803f, -0.143583f, -0.127578f, + -0.103627f, -0.074551f, -0.042812f, -0.010339f, 0.021376f, 0.050997f, 0.077158f, 0.098471f, 0.113527f, 0.120939f, 0.119561f, 0.108808f, 0.088872f, 0.060853f, 0.026832f, -0.010246f, -0.046936f, -0.079690f, -0.105211f, -0.120885f, -0.125248f, -0.118175f, -0.100717f, -0.074832f, -0.043111f, -0.008423f, 0.026401f, 0.058658f, 0.085759f, 0.105330f, 0.115404f, 0.114607f, 0.102460f, 0.079827f, 0.049121f, 0.014021f, -0.021124f, -0.052008f, -0.075132f, -0.088436f, -0.091490f, -0.085272f, -0.071781f, -0.053587f, -0.033279f, -0.013025f, 0.005554f, 0.021381f, 0.033930f, 0.043117f, 0.049029f, 0.051772f, 0.051505f, 0.048423f, 0.042645f, 0.034289f, 0.023665f, 0.011301f, -0.002140f, -0.015816f, -0.028671f, -0.039612f, -0.047707f, -0.052177f, -0.052427f, -0.048237f, -0.039850f, -0.027849f, -0.013136f, 0.003001f, 0.019065f, 0.033635f, 0.045427f, 0.053308f, 0.056554f, 0.054950f, 0.048521f, 0.037482f, 0.022572f, 0.005028f, -0.013904f, -0.032933f, -0.050205f, -0.063494f, -0.070939f, -0.070952f, -0.061845f, -0.042817f, -0.015369f, 0.017025f, 0.049963f, 0.077740f, 0.093374f, 0.091532f, 0.071535f, 0.036751f, + -0.006902f, -0.049951f, -0.080077f, -0.088199f, -0.073181f, -0.039187f, 0.006496f, 0.048670f, 0.065160f, 0.045077f, 0.005480f, -0.021584f, -0.021385f, -0.007456f, 0.000767f, 0.000082f, -0.001293f, 0.000161f, 0.001281f, 0.000763f, 0.000790f, 0.001871f, 0.002246f, 0.001673f, 0.001523f, 0.001855f, 0.001581f, 0.000775f, 0.000337f, 0.000178f, -0.000363f, -0.001094f, -0.001446f, -0.001566f, -0.001845f, -0.002088f, -0.001986f, -0.001712f, -0.001491f, -0.001185f, -0.000679f, -0.000134f, 0.000334f, 0.000795f, 0.001259f, 0.001626f, 0.001858f, 0.001978f} + }, + { + {0.960164f, 0.815843f, 0.531669f, 0.162241f, -0.177975f, -0.386498f, -0.458945f, -0.483857f, -0.540697f, -0.614327f, -0.622418f, -0.516530f, -0.334536f, -0.152125f, -0.004747f, 0.127804f, 0.271853f, 0.415700f, 0.517397f, 0.544153f, 0.497988f, 0.408320f, 0.305313f, 0.199510f, 0.083932f, -0.046923f, -0.183178f, -0.304770f, -0.395308f, -0.446238f, -0.451453f, -0.406776f, -0.317346f, -0.200175f, -0.075711f, 0.041366f, 0.142528f, 0.221292f, 0.272837f, 0.296528f, 0.295977f, 0.276382f, 0.242550f, 0.198393f, 0.146578f, 0.088571f, 0.025674f, -0.040051f, -0.105991f, -0.169238f, -0.225788f, -0.269676f, -0.293768f, -0.292136f, -0.262445f, -0.206810f, -0.130729f, -0.041117f, 0.054787f, 0.149042f, 0.232461f, 0.295490f, 0.330311f, 0.332628f, 0.302198f, 0.242289f, 0.158692f, 0.058771f, -0.048931f, -0.154433f, -0.246059f, -0.311363f, -0.339768f, -0.325985f, -0.272328f, -0.188549f, -0.089389f, 0.009037f, 0.093008f, 0.154155f, 0.190458f, 0.204754f, 0.201895f, 0.186430f, 0.161684f, 0.129742f, 0.091813f, 0.048922f, 0.002809f, -0.043495f, -0.085773f, -0.119474f, -0.141000f, -0.148803f, -0.143583f, -0.127578f, + -0.103627f, -0.074551f, -0.042812f, -0.010339f, 0.021376f, 0.050997f, 0.077158f, 0.098471f, 0.113527f, 0.120939f, 0.119561f, 0.108808f, 0.088872f, 0.060853f, 0.026832f, -0.010246f, -0.046936f, -0.079690f, -0.105211f, -0.120885f, -0.125248f, -0.118175f, -0.100717f, -0.074832f, -0.043111f, -0.008423f, 0.026401f, 0.058658f, 0.085759f, 0.105330f, 0.115404f, 0.114607f, 0.102460f, 0.079827f, 0.049121f, 0.014021f, -0.021124f, -0.052008f, -0.075132f, -0.088436f, -0.091490f, -0.085272f, -0.071781f, -0.053587f, -0.033279f, -0.013025f, 0.005554f, 0.021381f, 0.033930f, 0.043117f, 0.049029f, 0.051772f, 0.051505f, 0.048423f, 0.042645f, 0.034289f, 0.023665f, 0.011301f, -0.002140f, -0.015816f, -0.028671f, -0.039612f, -0.047707f, -0.052177f, -0.052427f, -0.048237f, -0.039850f, -0.027849f, -0.013136f, 0.003001f, 0.019065f, 0.033635f, 0.045427f, 0.053308f, 0.056554f, 0.054950f, 0.048521f, 0.037482f, 0.022572f, 0.005028f, -0.013904f, -0.032933f, -0.050205f, -0.063494f, -0.070939f, -0.070952f, -0.061845f, -0.042817f, -0.015369f, 0.017025f, 0.049963f, 0.077740f, 0.093374f, 0.091532f, 0.071535f, 0.036751f, + -0.006902f, -0.049951f, -0.080077f, -0.088199f, -0.073181f, -0.039187f, 0.006496f, 0.048670f, 0.065160f, 0.045077f, 0.005480f, -0.021584f, -0.021385f, -0.007456f, 0.000767f, 0.000082f, -0.001293f, 0.000161f, 0.001281f, 0.000763f, 0.000790f, 0.001871f, 0.002246f, 0.001673f, 0.001523f, 0.001855f, 0.001581f, 0.000775f, 0.000337f, 0.000178f, -0.000363f, -0.001094f, -0.001446f, -0.001566f, -0.001845f, -0.002088f, -0.001986f, -0.001712f, -0.001491f, -0.001185f, -0.000679f, -0.000134f, 0.000334f, 0.000795f, 0.001259f, 0.001626f, 0.001858f, 0.001978f}, + {1.075228f, 1.074217f, 1.098140f, 1.181350f, 1.301845f, 1.357285f, 1.275591f, 1.128376f, 1.051750f, 1.070717f, 1.096449f, 1.090338f, 1.120506f, 1.232710f, 1.365528f, 1.439321f, 1.453889f, 1.448913f, 1.426184f, 1.363771f, 1.270441f, 1.179270f, 1.105288f, 1.040796f, 0.980197f, 0.926868f, 0.882359f, 0.842806f, 0.803055f, 0.760151f, 0.717484f, 0.684947f, 0.668443f, 0.661086f, 0.651027f, 0.635243f, 0.620475f, 0.614727f, 0.622795f, 0.645718f, 0.679665f, 0.718175f, 0.758038f, 0.800110f, 0.844051f, 0.886529f, 0.924692f, 0.957013f, 0.980790f, 0.992993f, 0.994090f, 0.988656f, 0.982771f, 0.982211f, 0.991140f, 1.010513f, 1.038521f, 1.072547f, 1.108778f, 1.140961f, 1.163036f, 1.172913f, 1.171176f, 1.157532f, 1.131991f, 1.098142f, 1.061279f, 1.023708f, 0.984783f, 0.944459f, 0.903598f, 0.861374f, 0.815358f, 0.764360f, 0.709449f, 0.652291f, 0.594010f, 0.536028f, 0.481101f, 0.432577f, 0.392126f, 0.358508f, 0.329185f, 0.302679f, 0.278373f, 0.255008f, 0.231647f, 0.210110f, 0.194471f, 0.187914f, 0.191535f, 0.205810f, 0.231239f, 0.267417f, 0.313051f, 0.367052f, + 0.428780f, 0.497528f, 0.572254f, 0.650956f, 0.729921f, 0.804741f, 0.872337f, 0.930763f, 0.977405f, 1.009536f, 1.026754f, 1.030560f, 1.021257f, 0.997590f, 0.959821f, 0.910708f, 0.852633f, 0.785962f, 0.711354f, 0.631836f, 0.551033f, 0.470413f, 0.389791f, 0.309952f, 0.232974f, 0.159655f, 0.088252f, 0.016873f, -0.054104f, -0.123545f, -0.192358f, -0.262428f, -0.333151f, -0.401582f, -0.466079f, -0.527128f, -0.584149f, -0.634249f, -0.675298f, -0.707980f, -0.733621f, -0.751956f, -0.762482f, -0.766603f, -0.766968f, -0.765342f, -0.762185f, -0.758077f, -0.754691f, -0.753935f, -0.756401f, -0.761422f, -0.768926f, -0.780180f, -0.795912f, -0.814860f, -0.835536f, -0.858323f, -0.884145f, -0.912038f, -0.940032f, -0.967764f, -0.996212f, -1.025203f, -1.053082f, -1.078812f, -1.102840f, -1.125506f, -1.145684f, -1.161599f, -1.172538f, -1.178913f, -1.180387f, -1.174972f, -1.161052f, -1.139243f, -1.110357f, -1.072659f, -1.023765f, -0.964129f, -0.895301f, -0.815955f, -0.723787f, -0.620170f, -0.508278f, -0.387981f, -0.257793f, -0.120228f, 0.020407f, 0.163291f, 0.307901f, 0.448205f, 0.576448f, 0.689077f, 0.782089f, 0.845678f, + 0.871365f, 0.858316f, 0.804990f, 0.704160f, 0.556014f, 0.373959f, 0.167059f, -0.061388f, -0.274981f, -0.389171f, -0.341539f, -0.176854f, -0.021227f, 0.039404f, 0.025278f, 0.002978f, 0.000409f, 0.002891f, -0.000311f, -0.002218f, 0.000555f, 0.001691f, -0.000622f, -0.001274f, 0.000673f, 0.001036f, -0.000604f, -0.000793f, 0.000565f, 0.000609f, -0.000540f, -0.000507f, 0.000441f, 0.000341f, -0.000443f, -0.000297f, 0.000346f, 0.000177f, -0.000328f, -0.000127f, 0.000272f, 0.000068f, -0.000213f, 0.000010f, 0.000202f, -0.000020f, -0.000110f, 0.000118f} + }, + { + {1.021118f, 1.014910f, 1.036512f, 1.109450f, 1.204226f, 1.254141f, 1.223089f, 1.142720f, 1.068123f, 1.016578f, 0.975926f, 0.954919f, 0.983672f, 1.063545f, 1.153044f, 1.213027f, 1.237971f, 1.233999f, 1.196080f, 1.125290f, 1.047108f, 0.990282f, 0.956619f, 0.926662f, 0.887517f, 0.841653f, 0.794073f, 0.744757f, 0.693536f, 0.642684f, 0.592748f, 0.541229f, 0.486646f, 0.430740f, 0.376755f, 0.328893f, 0.293662f, 0.278018f, 0.283983f, 0.306520f, 0.338100f, 0.374086f, 0.412476f, 0.450359f, 0.483567f, 0.509814f, 0.530051f, 0.546442f, 0.560626f, 0.574155f, 0.588962f, 0.606627f, 0.627670f, 0.651329f, 0.675291f, 0.696162f, 0.711078f, 0.718475f, 0.717171f, 0.706200f, 0.686489f, 0.661160f, 0.632776f, 0.601270f, 0.565406f, 0.524818f, 0.479490f, 0.428872f, 0.373329f, 0.315884f, 0.261284f, 0.213734f, 0.176015f, 0.149705f, 0.134833f, 0.129330f, 0.129603f, 0.132071f, 0.134448f, 0.136068f, 0.137347f, 0.139019f, 0.141860f, 0.146786f, 0.154663f, 0.165925f, 0.180699f, 0.199281f, 0.222198f, 0.249879f, 0.282596f, 0.320651f, 0.364436f, 0.414340f, 0.470445f, 0.531869f, + 0.596501f, 0.661789f, 0.725419f, 0.784674f, 0.835991f, 0.876590f, 0.906270f, 0.926283f, 0.936909f, 0.937627f, 0.929116f, 0.912880f, 0.888746f, 0.854774f, 0.810155f, 0.756417f, 0.695219f, 0.626853f, 0.552031f, 0.473598f, 0.394918f, 0.317399f, 0.241080f, 0.167093f, 0.097815f, 0.034452f, -0.023969f, -0.078570f, -0.129051f, -0.175206f, -0.218772f, -0.262100f, -0.305551f, -0.347761f, -0.388005f, -0.426424f, -0.461940f, -0.491922f, -0.514586f, -0.530358f, -0.540303f, -0.544523f, -0.542936f, -0.536632f, -0.527481f, -0.516766f, -0.504935f, -0.492597f, -0.481194f, -0.472371f, -0.466907f, -0.464739f, -0.466171f, -0.472327f, -0.483927f, -0.500294f, -0.520400f, -0.544289f, -0.572382f, -0.603846f, -0.636952f, -0.670869f, -0.705849f, -0.741580f, -0.776574f, -0.809529f, -0.840302f, -0.868901f, -0.894171f, -0.914324f, -0.928590f, -0.937355f, -0.940432f, -0.936302f, -0.923833f, -0.903621f, -0.876334f, -0.840853f, -0.795869f, -0.742277f, -0.681702f, -0.613656f, -0.536857f, -0.452385f, -0.362495f, -0.267339f, -0.166250f, -0.061247f, 0.044313f, 0.149203f, 0.252532f, 0.350093f, 0.436582f, 0.509400f, 0.566085f, 0.600989f, + 0.609355f, 0.591229f, 0.546669f, 0.472573f, 0.370152f, 0.248355f, 0.113420f, -0.032320f, -0.167420f, -0.241605f, -0.216790f, -0.118416f, -0.021888f, 0.019213f, 0.014252f, 0.002063f, 0.000356f, 0.001651f, -0.000178f, -0.001272f, 0.000312f, 0.000978f, -0.000340f, -0.000724f, 0.000386f, 0.000598f, -0.000340f, -0.000457f, 0.000315f, 0.000344f, -0.000311f, -0.000299f, 0.000239f, 0.000188f, -0.000255f, -0.000177f, 0.000187f, 0.000099f, -0.000183f, -0.000075f, 0.000150f, 0.000044f, -0.000112f, 0.000008f, 0.000116f, 0.000000f, -0.000050f, 0.000071f}, + {0.932869f, 0.856258f, 0.680407f, 0.416625f, 0.148250f, -0.023842f, -0.087329f, -0.134616f, -0.244970f, -0.385661f, -0.472057f, -0.492517f, -0.512116f, -0.566410f, -0.616657f, -0.615445f, -0.560005f, -0.465857f, -0.336299f, -0.181373f, -0.031918f, 0.089726f, 0.191616f, 0.288900f, 0.377689f, 0.445599f, 0.491647f, 0.521680f, 0.534170f, 0.520833f, 0.475573f, 0.398359f, 0.296291f, 0.183195f, 0.072397f, -0.031357f, -0.128599f, -0.215418f, -0.282840f, -0.325105f, -0.343724f, -0.344232f, -0.333025f, -0.316310f, -0.298291f, -0.280189f, -0.262083f, -0.243767f, -0.222388f, -0.191534f, -0.144792f, -0.079668f, 0.001605f, 0.092568f, 0.183421f, 0.264250f, 0.329320f, 0.377813f, 0.410523f, 0.426997f, 0.425395f, 0.403296f, 0.358510f, 0.290739f, 0.203333f, 0.103082f, -0.001851f, -0.103927f, -0.197351f, -0.278599f, -0.345998f, -0.398008f, -0.431539f, -0.442137f, -0.426030f, -0.382422f, -0.314691f, -0.230120f, -0.138182f, -0.047827f, 0.034784f, 0.106607f, 0.166405f, 0.213658f, 0.248572f, 0.272118f, 0.285359f, 0.288978f, 0.283693f, 0.270537f, 0.250312f, 0.223174f, 0.189058f, 0.147974f, 0.099746f, 0.044338f, + -0.016931f, -0.080937f, -0.143711f, -0.201320f, -0.249848f, -0.285671f, -0.306377f, -0.311000f, -0.299308f, -0.271640f, -0.229566f, -0.175890f, -0.113809f, -0.046630f, 0.021800f, 0.087296f, 0.146188f, 0.195525f, 0.232719f, 0.255849f, 0.264337f, 0.258789f, 0.240297f, 0.210412f, 0.171477f, 0.126248f, 0.077212f, 0.026681f, -0.022772f, -0.068516f, -0.108321f, -0.140285f, -0.162670f, -0.174396f, -0.175576f, -0.167308f, -0.151206f, -0.129367f, -0.104330f, -0.078497f, -0.053556f, -0.030522f, -0.009982f, 0.007997f, 0.023907f, 0.038407f, 0.051943f, 0.064781f, 0.077079f, 0.088652f, 0.098819f, 0.106630f, 0.111137f, 0.111402f, 0.106532f, 0.095979f, 0.079769f, 0.058428f, 0.032870f, 0.004435f, -0.025130f, -0.053924f, -0.080127f, -0.102059f, -0.118226f, -0.127532f, -0.129459f, -0.124022f, -0.111628f, -0.093061f, -0.069546f, -0.042640f, -0.013957f, 0.014961f, 0.042540f, 0.067210f, 0.087700f, 0.103130f, 0.112745f, 0.115879f, 0.112351f, 0.102521f, 0.086750f, 0.065291f, 0.038932f, 0.009166f, -0.022462f, -0.054340f, -0.083825f, -0.107324f, -0.121750f, -0.124985f, -0.115062f, -0.090926f, -0.054663f, -0.011365f, + 0.033369f, 0.073724f, 0.102131f, 0.111537f, 0.100187f, 0.071073f, 0.027749f, -0.022644f, -0.062293f, -0.069966f, -0.043033f, -0.005541f, 0.014414f, 0.011811f, 0.002483f, -0.000779f, 0.000451f, 0.000500f, -0.000541f, -0.000273f, 0.000562f, 0.000328f, -0.000217f, 0.000101f, 0.000578f, 0.000346f, 0.000033f, 0.000279f, 0.000535f, 0.000325f, 0.000122f, 0.000275f, 0.000385f, 0.000200f, 0.000054f, 0.000128f, 0.000148f, -0.000006f, -0.000113f, -0.000089f, -0.000108f, -0.000221f, -0.000290f, -0.000280f, -0.000300f, -0.000368f, -0.000392f, -0.000365f} + }, + { + {0.932869f, 0.856258f, 0.680407f, 0.416625f, 0.148250f, -0.023842f, -0.087329f, -0.134616f, -0.244970f, -0.385661f, -0.472057f, -0.492517f, -0.512116f, -0.566410f, -0.616657f, -0.615445f, -0.560005f, -0.465857f, -0.336299f, -0.181373f, -0.031918f, 0.089726f, 0.191616f, 0.288900f, 0.377689f, 0.445599f, 0.491647f, 0.521680f, 0.534170f, 0.520833f, 0.475573f, 0.398359f, 0.296291f, 0.183195f, 0.072397f, -0.031357f, -0.128599f, -0.215418f, -0.282840f, -0.325105f, -0.343724f, -0.344232f, -0.333025f, -0.316310f, -0.298291f, -0.280189f, -0.262083f, -0.243767f, -0.222388f, -0.191534f, -0.144792f, -0.079668f, 0.001605f, 0.092568f, 0.183421f, 0.264250f, 0.329320f, 0.377813f, 0.410523f, 0.426997f, 0.425395f, 0.403296f, 0.358510f, 0.290739f, 0.203333f, 0.103082f, -0.001851f, -0.103927f, -0.197351f, -0.278599f, -0.345998f, -0.398008f, -0.431539f, -0.442137f, -0.426030f, -0.382422f, -0.314691f, -0.230120f, -0.138182f, -0.047827f, 0.034784f, 0.106607f, 0.166405f, 0.213658f, 0.248572f, 0.272118f, 0.285359f, 0.288978f, 0.283693f, 0.270537f, 0.250312f, 0.223174f, 0.189058f, 0.147974f, 0.099746f, 0.044338f, + -0.016931f, -0.080937f, -0.143711f, -0.201320f, -0.249848f, -0.285671f, -0.306377f, -0.311000f, -0.299308f, -0.271640f, -0.229566f, -0.175890f, -0.113809f, -0.046630f, 0.021800f, 0.087296f, 0.146188f, 0.195525f, 0.232719f, 0.255849f, 0.264337f, 0.258789f, 0.240297f, 0.210412f, 0.171477f, 0.126248f, 0.077212f, 0.026681f, -0.022772f, -0.068516f, -0.108321f, -0.140285f, -0.162670f, -0.174396f, -0.175576f, -0.167308f, -0.151206f, -0.129367f, -0.104330f, -0.078497f, -0.053556f, -0.030522f, -0.009982f, 0.007997f, 0.023907f, 0.038407f, 0.051943f, 0.064781f, 0.077079f, 0.088652f, 0.098819f, 0.106630f, 0.111137f, 0.111402f, 0.106532f, 0.095979f, 0.079769f, 0.058428f, 0.032870f, 0.004435f, -0.025130f, -0.053924f, -0.080127f, -0.102059f, -0.118226f, -0.127532f, -0.129459f, -0.124022f, -0.111628f, -0.093061f, -0.069546f, -0.042640f, -0.013957f, 0.014961f, 0.042540f, 0.067210f, 0.087700f, 0.103130f, 0.112745f, 0.115879f, 0.112351f, 0.102521f, 0.086750f, 0.065291f, 0.038932f, 0.009166f, -0.022462f, -0.054340f, -0.083825f, -0.107324f, -0.121750f, -0.124985f, -0.115062f, -0.090926f, -0.054663f, -0.011365f, + 0.033369f, 0.073724f, 0.102131f, 0.111537f, 0.100187f, 0.071073f, 0.027749f, -0.022644f, -0.062293f, -0.069966f, -0.043033f, -0.005541f, 0.014414f, 0.011811f, 0.002483f, -0.000779f, 0.000451f, 0.000500f, -0.000541f, -0.000273f, 0.000562f, 0.000328f, -0.000217f, 0.000101f, 0.000578f, 0.000346f, 0.000033f, 0.000279f, 0.000535f, 0.000325f, 0.000122f, 0.000275f, 0.000385f, 0.000200f, 0.000054f, 0.000128f, 0.000148f, -0.000006f, -0.000113f, -0.000089f, -0.000108f, -0.000221f, -0.000290f, -0.000280f, -0.000300f, -0.000368f, -0.000392f, -0.000365f}, + {1.021118f, 1.014910f, 1.036512f, 1.109450f, 1.204226f, 1.254141f, 1.223089f, 1.142720f, 1.068123f, 1.016578f, 0.975926f, 0.954919f, 0.983672f, 1.063545f, 1.153044f, 1.213027f, 1.237971f, 1.233999f, 1.196080f, 1.125290f, 1.047108f, 0.990282f, 0.956619f, 0.926662f, 0.887517f, 0.841653f, 0.794073f, 0.744757f, 0.693536f, 0.642684f, 0.592748f, 0.541229f, 0.486646f, 0.430740f, 0.376755f, 0.328893f, 0.293662f, 0.278018f, 0.283983f, 0.306520f, 0.338100f, 0.374086f, 0.412476f, 0.450359f, 0.483567f, 0.509814f, 0.530051f, 0.546442f, 0.560626f, 0.574155f, 0.588962f, 0.606627f, 0.627670f, 0.651329f, 0.675291f, 0.696162f, 0.711078f, 0.718475f, 0.717171f, 0.706200f, 0.686489f, 0.661160f, 0.632776f, 0.601270f, 0.565406f, 0.524818f, 0.479490f, 0.428872f, 0.373329f, 0.315884f, 0.261284f, 0.213734f, 0.176015f, 0.149705f, 0.134833f, 0.129330f, 0.129603f, 0.132071f, 0.134448f, 0.136068f, 0.137347f, 0.139019f, 0.141860f, 0.146786f, 0.154663f, 0.165925f, 0.180699f, 0.199281f, 0.222198f, 0.249879f, 0.282596f, 0.320651f, 0.364436f, 0.414340f, 0.470445f, 0.531869f, + 0.596501f, 0.661789f, 0.725419f, 0.784674f, 0.835991f, 0.876590f, 0.906270f, 0.926283f, 0.936909f, 0.937627f, 0.929116f, 0.912880f, 0.888746f, 0.854774f, 0.810155f, 0.756417f, 0.695219f, 0.626853f, 0.552031f, 0.473598f, 0.394918f, 0.317399f, 0.241080f, 0.167093f, 0.097815f, 0.034452f, -0.023969f, -0.078570f, -0.129051f, -0.175206f, -0.218772f, -0.262100f, -0.305551f, -0.347761f, -0.388005f, -0.426424f, -0.461940f, -0.491922f, -0.514586f, -0.530358f, -0.540303f, -0.544523f, -0.542936f, -0.536632f, -0.527481f, -0.516766f, -0.504935f, -0.492597f, -0.481194f, -0.472371f, -0.466907f, -0.464739f, -0.466171f, -0.472327f, -0.483927f, -0.500294f, -0.520400f, -0.544289f, -0.572382f, -0.603846f, -0.636952f, -0.670869f, -0.705849f, -0.741580f, -0.776574f, -0.809529f, -0.840302f, -0.868901f, -0.894171f, -0.914324f, -0.928590f, -0.937355f, -0.940432f, -0.936302f, -0.923833f, -0.903621f, -0.876334f, -0.840853f, -0.795869f, -0.742277f, -0.681702f, -0.613656f, -0.536857f, -0.452385f, -0.362495f, -0.267339f, -0.166250f, -0.061247f, 0.044313f, 0.149203f, 0.252532f, 0.350093f, 0.436582f, 0.509400f, 0.566085f, 0.600989f, + 0.609355f, 0.591229f, 0.546669f, 0.472573f, 0.370152f, 0.248355f, 0.113420f, -0.032320f, -0.167420f, -0.241605f, -0.216790f, -0.118416f, -0.021888f, 0.019213f, 0.014252f, 0.002063f, 0.000356f, 0.001651f, -0.000178f, -0.001272f, 0.000312f, 0.000978f, -0.000340f, -0.000724f, 0.000386f, 0.000598f, -0.000340f, -0.000457f, 0.000315f, 0.000344f, -0.000311f, -0.000299f, 0.000239f, 0.000188f, -0.000255f, -0.000177f, 0.000187f, 0.000099f, -0.000183f, -0.000075f, 0.000150f, 0.000044f, -0.000112f, 0.000008f, 0.000116f, 0.000000f, -0.000050f, 0.000071f} + } +}; +const float CRendBin_Combined_HRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][240]={ + { + {0.021740f, 0.062265f, 0.089497f, 0.079979f, 0.019873f, -0.044423f, -0.038634f, 0.014329f, -0.006309f, -0.113590f, -0.115115f, 0.141366f, 0.508608f, 0.696113f, 0.638660f, 0.530885f, 0.513220f, 0.511265f, 0.413104f, 0.233094f, 0.033856f, -0.178208f, -0.394112f, -0.532465f, -0.516289f, -0.373221f, -0.199312f, -0.054469f, 0.064669f, 0.175334f, 0.270929f, 0.322634f, 0.297348f, 0.180897f, -0.005107f, -0.214019f, -0.406250f, -0.568975f, -0.708995f, -0.834425f, -0.942413f, -1.020169f, -1.058870f, -1.066737f, -1.064744f, -1.070779f, -1.092413f, -1.130543f, -1.180471f, -1.230349f, -1.267218f, -1.286478f, -1.292217f, -1.290295f, -1.284789f, -1.278764f, -1.274804f, -1.275839f, -1.285956f, -1.307719f, -1.339100f, -1.376367f, -1.418521f, -1.464319f, -1.506155f, -1.531614f, -1.530826f, -1.499868f, -1.440010f, -1.357948f, -1.265010f, -1.172182f, -1.086077f, -1.010355f, -0.948076f, -0.900542f, -0.865729f, -0.839379f, -0.816783f, -0.793921f, -0.768744f, -0.741295f, -0.711733f, -0.679567f, -0.645630f, -0.612730f, -0.583124f, -0.557524f, -0.537573f, -0.526798f, -0.527799f, -0.540308f, -0.562652f, -0.593201f, -0.629808f, -0.669386f, + -0.708515f, -0.743933f, -0.773005f, -0.794365f, -0.807476f, -0.811721f, -0.807186f, -0.795749f, -0.779350f, -0.757689f, -0.729622f, -0.695999f, -0.658877f, -0.618992f, -0.576449f, -0.532906f, -0.490747f, -0.450976f, -0.413608f, -0.379004f, -0.347546f, -0.319332f, -0.295027f, -0.275613f, -0.261247f, -0.252274f, -0.250937f, -0.259815f, -0.279334f, -0.309493f, -0.353092f, -0.414158f, -0.493999f, -0.592040f, -0.709860f, -0.850917f, -1.016122f, -1.202501f, -1.406580f, -1.626368f, -1.858539f, -2.095454f, -2.327361f, -2.547430f, -2.752372f, -2.937831f, -3.096805f, -3.225146f, -3.325214f, -3.400274f, -3.448580f, -3.467955f, -3.462820f, -3.440091f, -3.400547f, -3.341377f, -3.265259f, -3.179036f, -3.084322f, -2.977173f, -2.856905f, -2.727864f, -2.591707f, -2.444451f, -2.282751f, -2.108111f, -1.922919f, -1.725836f, -1.513704f, -1.286797f, -1.049763f, -0.806612f, -0.557242f, -0.301864f, -0.046431f, 0.201936f, 0.443240f, 0.681014f, 0.912264f, 1.130667f, 1.338214f, 1.541861f, 1.739858f, 1.924684f, 2.097432f, 2.263703f, 2.417459f, 2.545568f, 2.644263f, 2.712279f, 2.733362f, 2.686342f, 2.565077f, 2.367465f, 2.078112f, 1.688067f, + 1.216823f, 0.689229f, 0.115322f, -0.475183f, -1.011572f, -1.432585f, -1.708631f, -1.762445f, -1.452538f, -0.765837f, 0.007791f, 0.454087f, 0.430600f, 0.177956f, 0.006027f, -0.013234f, 0.008162f, 0.000516f, -0.008800f, 0.001070f, 0.006785f, -0.001814f, -0.005338f, 0.001955f, 0.004159f, -0.001933f, -0.003203f, 0.001947f, 0.002621f, -0.001703f, -0.001961f, 0.001637f, 0.001565f, -0.001450f, -0.001190f, 0.001261f, 0.000818f, -0.001182f, -0.000645f, 0.000918f, 0.000295f, -0.000884f, -0.000203f, 0.000626f, -0.000076f, -0.000552f, 0.000190f, 0.000362f}, + {-0.080378f, -0.311517f, -0.607575f, -0.791939f, -0.801056f, -0.760728f, -0.739137f, -0.646344f, -0.447365f, -0.280582f, -0.279360f, -0.423325f, -0.622662f, -0.804319f, -0.867760f, -0.711139f, -0.374564f, -0.036973f, 0.187009f, 0.339438f, 0.474054f, 0.550709f, 0.537533f, 0.502849f, 0.524124f, 0.586937f, 0.644423f, 0.705382f, 0.790305f, 0.855034f, 0.834070f, 0.729675f, 0.593377f, 0.437006f, 0.224113f, -0.048481f, -0.312373f, -0.491566f, -0.576209f, -0.612643f, -0.640544f, -0.665031f, -0.680052f, -0.687657f, -0.686406f, -0.662500f, -0.605999f, -0.524271f, -0.429884f, -0.325685f, -0.210684f, -0.091141f, 0.023275f, 0.127676f, 0.220049f, 0.297836f, 0.361429f, 0.414922f, 0.459421f, 0.490535f, 0.503997f, 0.498318f, 0.471835f, 0.423949f, 0.360378f, 0.291632f, 0.225381f, 0.164098f, 0.109185f, 0.062781f, 0.025528f, -0.004197f, -0.028936f, -0.051742f, -0.076082f, -0.104578f, -0.138150f, -0.176078f, -0.215537f, -0.251862f, -0.281392f, -0.303940f, -0.321624f, -0.336474f, -0.349673f, -0.360447f, -0.363977f, -0.352405f, -0.319580f, -0.263976f, -0.187632f, -0.095277f, 0.004941f, 0.102546f, 0.187832f, 0.253454f, + 0.294802f, 0.311762f, 0.309781f, 0.297062f, 0.280794f, 0.266708f, 0.259989f, 0.264021f, 0.278984f, 0.303091f, 0.333931f, 0.367038f, 0.394275f, 0.405176f, 0.389668f, 0.339645f, 0.250213f, 0.121655f, -0.039539f, -0.222071f, -0.412200f, -0.595202f, -0.756231f, -0.881758f, -0.961227f, -0.987631f, -0.957056f, -0.868780f, -0.726460f, -0.538670f, -0.317638f, -0.077771f, 0.164807f, 0.393406f, 0.593707f, 0.755810f, 0.873499f, 0.943326f, 0.965432f, 0.943420f, 0.881696f, 0.783870f, 0.654305f, 0.499177f, 0.324930f, 0.137677f, -0.054836f, -0.242668f, -0.415940f, -0.565859f, -0.683493f, -0.760474f, -0.792077f, -0.778024f, -0.720589f, -0.624483f, -0.498476f, -0.354312f, -0.203363f, -0.055601f, 0.079448f, 0.193754f, 0.282950f, 0.345938f, 0.383039f, 0.396039f, 0.388837f, 0.366082f, 0.331570f, 0.288732f, 0.241345f, 0.192568f, 0.144151f, 0.097195f, 0.052704f, 0.011148f, -0.027394f, -0.062510f, -0.093642f, -0.120625f, -0.143214f, -0.160685f, -0.172569f, -0.178917f, -0.179375f, -0.173102f, -0.159797f, -0.139499f, -0.111633f, -0.075980f, -0.034252f, 0.010916f, 0.057404f, 0.101926f, 0.138613f, 0.161970f, + 0.169562f, 0.159632f, 0.129698f, 0.081381f, 0.023065f, -0.036010f, -0.088771f, -0.122396f, -0.117183f, -0.067536f, -0.000965f, 0.039915f, 0.038373f, 0.015920f, 0.001538f, 0.001251f, 0.003701f, 0.002572f, 0.001346f, 0.002248f, 0.002607f, 0.001294f, 0.000524f, 0.000987f, 0.000860f, -0.000262f, -0.000829f, -0.000606f, -0.000896f, -0.001788f, -0.002153f, -0.001988f, -0.002250f, -0.002848f, -0.002957f, -0.002725f, -0.002844f, -0.003107f, -0.002939f, -0.002590f, -0.002528f, -0.002470f, -0.002063f, -0.001626f, -0.001418f, -0.001114f, -0.000569f, -0.000134f} + }, + { + {-0.080378f, -0.311517f, -0.607575f, -0.791939f, -0.801056f, -0.760728f, -0.739137f, -0.646344f, -0.447365f, -0.280582f, -0.279360f, -0.423325f, -0.622662f, -0.804319f, -0.867760f, -0.711139f, -0.374564f, -0.036973f, 0.187009f, 0.339438f, 0.474054f, 0.550709f, 0.537533f, 0.502849f, 0.524124f, 0.586937f, 0.644423f, 0.705382f, 0.790305f, 0.855034f, 0.834070f, 0.729675f, 0.593377f, 0.437006f, 0.224113f, -0.048481f, -0.312373f, -0.491566f, -0.576209f, -0.612643f, -0.640544f, -0.665031f, -0.680052f, -0.687657f, -0.686406f, -0.662500f, -0.605999f, -0.524271f, -0.429884f, -0.325685f, -0.210684f, -0.091141f, 0.023275f, 0.127676f, 0.220049f, 0.297836f, 0.361429f, 0.414922f, 0.459421f, 0.490535f, 0.503997f, 0.498318f, 0.471835f, 0.423949f, 0.360378f, 0.291632f, 0.225381f, 0.164098f, 0.109185f, 0.062781f, 0.025528f, -0.004197f, -0.028936f, -0.051742f, -0.076082f, -0.104578f, -0.138150f, -0.176078f, -0.215537f, -0.251862f, -0.281392f, -0.303940f, -0.321624f, -0.336474f, -0.349673f, -0.360447f, -0.363977f, -0.352405f, -0.319580f, -0.263976f, -0.187632f, -0.095277f, 0.004941f, 0.102546f, 0.187832f, 0.253454f, + 0.294802f, 0.311762f, 0.309781f, 0.297062f, 0.280794f, 0.266708f, 0.259989f, 0.264021f, 0.278984f, 0.303091f, 0.333931f, 0.367038f, 0.394275f, 0.405176f, 0.389668f, 0.339645f, 0.250213f, 0.121655f, -0.039539f, -0.222071f, -0.412200f, -0.595202f, -0.756231f, -0.881758f, -0.961227f, -0.987631f, -0.957056f, -0.868780f, -0.726460f, -0.538670f, -0.317638f, -0.077771f, 0.164807f, 0.393406f, 0.593707f, 0.755810f, 0.873499f, 0.943326f, 0.965432f, 0.943420f, 0.881696f, 0.783870f, 0.654305f, 0.499177f, 0.324930f, 0.137677f, -0.054836f, -0.242668f, -0.415940f, -0.565859f, -0.683493f, -0.760474f, -0.792077f, -0.778024f, -0.720589f, -0.624483f, -0.498476f, -0.354312f, -0.203363f, -0.055601f, 0.079448f, 0.193754f, 0.282950f, 0.345938f, 0.383039f, 0.396039f, 0.388837f, 0.366082f, 0.331570f, 0.288732f, 0.241345f, 0.192568f, 0.144151f, 0.097195f, 0.052704f, 0.011148f, -0.027394f, -0.062510f, -0.093642f, -0.120625f, -0.143214f, -0.160685f, -0.172569f, -0.178917f, -0.179375f, -0.173102f, -0.159797f, -0.139499f, -0.111633f, -0.075980f, -0.034252f, 0.010916f, 0.057404f, 0.101926f, 0.138613f, 0.161970f, + 0.169562f, 0.159632f, 0.129698f, 0.081381f, 0.023065f, -0.036010f, -0.088771f, -0.122396f, -0.117183f, -0.067536f, -0.000965f, 0.039915f, 0.038373f, 0.015920f, 0.001538f, 0.001251f, 0.003701f, 0.002572f, 0.001346f, 0.002248f, 0.002607f, 0.001294f, 0.000524f, 0.000987f, 0.000860f, -0.000262f, -0.000829f, -0.000606f, -0.000896f, -0.001788f, -0.002153f, -0.001988f, -0.002250f, -0.002848f, -0.002957f, -0.002725f, -0.002844f, -0.003107f, -0.002939f, -0.002590f, -0.002528f, -0.002470f, -0.002063f, -0.001626f, -0.001418f, -0.001114f, -0.000569f, -0.000134f}, + {0.021740f, 0.062265f, 0.089497f, 0.079979f, 0.019873f, -0.044423f, -0.038634f, 0.014329f, -0.006309f, -0.113590f, -0.115115f, 0.141366f, 0.508608f, 0.696113f, 0.638660f, 0.530885f, 0.513220f, 0.511265f, 0.413104f, 0.233094f, 0.033856f, -0.178208f, -0.394112f, -0.532465f, -0.516289f, -0.373221f, -0.199312f, -0.054469f, 0.064669f, 0.175334f, 0.270929f, 0.322634f, 0.297348f, 0.180897f, -0.005107f, -0.214019f, -0.406250f, -0.568975f, -0.708995f, -0.834425f, -0.942413f, -1.020169f, -1.058870f, -1.066737f, -1.064744f, -1.070779f, -1.092413f, -1.130543f, -1.180471f, -1.230349f, -1.267218f, -1.286478f, -1.292217f, -1.290295f, -1.284789f, -1.278764f, -1.274804f, -1.275839f, -1.285956f, -1.307719f, -1.339100f, -1.376367f, -1.418521f, -1.464319f, -1.506155f, -1.531614f, -1.530826f, -1.499868f, -1.440010f, -1.357948f, -1.265010f, -1.172182f, -1.086077f, -1.010355f, -0.948076f, -0.900542f, -0.865729f, -0.839379f, -0.816783f, -0.793921f, -0.768744f, -0.741295f, -0.711733f, -0.679567f, -0.645630f, -0.612730f, -0.583124f, -0.557524f, -0.537573f, -0.526798f, -0.527799f, -0.540308f, -0.562652f, -0.593201f, -0.629808f, -0.669386f, + -0.708515f, -0.743933f, -0.773005f, -0.794365f, -0.807476f, -0.811721f, -0.807186f, -0.795749f, -0.779350f, -0.757689f, -0.729622f, -0.695999f, -0.658877f, -0.618992f, -0.576449f, -0.532906f, -0.490747f, -0.450976f, -0.413608f, -0.379004f, -0.347546f, -0.319332f, -0.295027f, -0.275613f, -0.261247f, -0.252274f, -0.250937f, -0.259815f, -0.279334f, -0.309493f, -0.353092f, -0.414158f, -0.493999f, -0.592040f, -0.709860f, -0.850917f, -1.016122f, -1.202501f, -1.406580f, -1.626368f, -1.858539f, -2.095454f, -2.327361f, -2.547430f, -2.752372f, -2.937831f, -3.096805f, -3.225146f, -3.325214f, -3.400274f, -3.448580f, -3.467955f, -3.462820f, -3.440091f, -3.400547f, -3.341377f, -3.265259f, -3.179036f, -3.084322f, -2.977173f, -2.856905f, -2.727864f, -2.591707f, -2.444451f, -2.282751f, -2.108111f, -1.922919f, -1.725836f, -1.513704f, -1.286797f, -1.049763f, -0.806612f, -0.557242f, -0.301864f, -0.046431f, 0.201936f, 0.443240f, 0.681014f, 0.912264f, 1.130667f, 1.338214f, 1.541861f, 1.739858f, 1.924684f, 2.097432f, 2.263703f, 2.417459f, 2.545568f, 2.644263f, 2.712279f, 2.733362f, 2.686342f, 2.565077f, 2.367465f, 2.078112f, 1.688067f, + 1.216823f, 0.689229f, 0.115322f, -0.475183f, -1.011572f, -1.432585f, -1.708631f, -1.762445f, -1.452538f, -0.765837f, 0.007791f, 0.454087f, 0.430600f, 0.177956f, 0.006027f, -0.013234f, 0.008162f, 0.000516f, -0.008800f, 0.001070f, 0.006785f, -0.001814f, -0.005338f, 0.001955f, 0.004159f, -0.001933f, -0.003203f, 0.001947f, 0.002621f, -0.001703f, -0.001961f, 0.001637f, 0.001565f, -0.001450f, -0.001190f, 0.001261f, 0.000818f, -0.001182f, -0.000645f, 0.000918f, 0.000295f, -0.000884f, -0.000203f, 0.000626f, -0.000076f, -0.000552f, 0.000190f, 0.000362f} + }, + { + {0.020843f, 0.021772f, -0.074620f, -0.219246f, -0.250987f, -0.107501f, 0.010495f, -0.117159f, -0.350087f, -0.299453f, 0.133095f, 0.571464f, 0.635503f, 0.397361f, 0.214127f, 0.251024f, 0.351688f, 0.309346f, 0.096268f, -0.170755f, -0.368550f, -0.441001f, -0.403762f, -0.312694f, -0.213644f, -0.118863f, -0.033052f, 0.019339f, 0.006766f, -0.084398f, -0.244267f, -0.442069f, -0.632048f, -0.778310f, -0.879952f, -0.956019f, -1.006298f, -1.007224f, -0.948454f, -0.854412f, -0.765413f, -0.711451f, -0.704679f, -0.740188f, -0.797729f, -0.853597f, -0.897547f, -0.934478f, -0.969795f, -0.999408f, -1.014937f, -1.013415f, -0.999640f, -0.981235f, -0.962830f, -0.944810f, -0.926848f, -0.910262f, -0.894988f, -0.876689f, -0.850723f, -0.818230f, -0.784731f, -0.753005f, -0.720667f, -0.685021f, -0.647235f, -0.610640f, -0.576758f, -0.544244f, -0.511073f, -0.477026f, -0.444129f, -0.414956f, -0.390763f, -0.371204f, -0.355270f, -0.342030f, -0.331009f, -0.322541f, -0.317554f, -0.316405f, -0.318065f, -0.320982f, -0.324817f, -0.330999f, -0.341429f, -0.356903f, -0.377097f, -0.401882f, -0.431767f, -0.466439f, -0.503289f, -0.537982f, -0.566063f, -0.583561f, + -0.587138f, -0.575315f, -0.549603f, -0.513357f, -0.469423f, -0.419580f, -0.365934f, -0.311618f, -0.259754f, -0.212337f, -0.170616f, -0.136551f, -0.113765f, -0.106742f, -0.118986f, -0.152388f, -0.208330f, -0.287999f, -0.390564f, -0.512325f, -0.649221f, -0.799131f, -0.960097f, -1.127778f, -1.297417f, -1.467538f, -1.638728f, -1.809064f, -1.973949f, -2.130414f, -2.277763f, -2.413033f, -2.529737f, -2.623312f, -2.694688f, -2.746001f, -2.775857f, -2.782337f, -2.768361f, -2.739709f, -2.698669f, -2.643816f, -2.575709f, -2.498064f, -2.412212f, -2.314661f, -2.202237f, -2.076018f, -1.937466f, -1.784021f, -1.612358f, -1.423970f, -1.223605f, -1.013553f, -0.793839f, -0.567739f, -0.342670f, -0.124736f, 0.083821f, 0.280550f, 0.459977f, 0.617159f, 0.751201f, 0.862726f, 0.950153f, 1.011333f, 1.047323f, 1.061710f, 1.057110f, 1.035001f, 0.998567f, 0.953069f, 0.903025f, 0.850779f, 0.798188f, 0.748048f, 0.702999f, 0.663889f, 0.630078f, 0.601056f, 0.577007f, 0.557689f, 0.541546f, 0.526776f, 0.512917f, 0.500274f, 0.488072f, 0.474647f, 0.459326f, 0.442142f, 0.421629f, 0.395188f, 0.361846f, 0.322187f, 0.275584f, 0.220730f, + 0.158999f, 0.093656f, 0.025970f, -0.043388f, -0.109763f, -0.167134f, -0.213607f, -0.244943f, -0.243677f, -0.190704f, -0.096080f, -0.005466f, 0.037995f, 0.033141f, 0.012469f, 0.001728f, 0.000979f, 0.000762f, -0.000671f, -0.000492f, 0.000547f, 0.000254f, -0.000496f, -0.000131f, 0.000467f, 0.000134f, -0.000309f, 0.000007f, 0.000336f, 0.000034f, -0.000227f, 0.000024f, 0.000194f, -0.000047f, -0.000184f, 0.000006f, 0.000083f, -0.000088f, -0.000140f, -0.000006f, 0.000018f, -0.000084f, -0.000083f, -0.000003f, -0.000007f, -0.000044f, -0.000017f, 0.000006f}, + {0.020843f, 0.021772f, -0.074620f, -0.219246f, -0.250987f, -0.107501f, 0.010495f, -0.117159f, -0.350087f, -0.299453f, 0.133095f, 0.571464f, 0.635503f, 0.397361f, 0.214127f, 0.251024f, 0.351688f, 0.309346f, 0.096268f, -0.170755f, -0.368550f, -0.441001f, -0.403762f, -0.312694f, -0.213644f, -0.118863f, -0.033052f, 0.019339f, 0.006766f, -0.084398f, -0.244267f, -0.442069f, -0.632048f, -0.778310f, -0.879952f, -0.956019f, -1.006298f, -1.007224f, -0.948454f, -0.854412f, -0.765413f, -0.711451f, -0.704679f, -0.740188f, -0.797729f, -0.853597f, -0.897547f, -0.934478f, -0.969795f, -0.999408f, -1.014937f, -1.013415f, -0.999640f, -0.981235f, -0.962830f, -0.944810f, -0.926848f, -0.910262f, -0.894988f, -0.876689f, -0.850723f, -0.818230f, -0.784731f, -0.753005f, -0.720667f, -0.685021f, -0.647235f, -0.610640f, -0.576758f, -0.544244f, -0.511073f, -0.477026f, -0.444129f, -0.414956f, -0.390763f, -0.371204f, -0.355270f, -0.342030f, -0.331009f, -0.322541f, -0.317554f, -0.316405f, -0.318065f, -0.320982f, -0.324817f, -0.330999f, -0.341429f, -0.356903f, -0.377097f, -0.401882f, -0.431767f, -0.466439f, -0.503289f, -0.537982f, -0.566063f, -0.583561f, + -0.587138f, -0.575315f, -0.549603f, -0.513357f, -0.469423f, -0.419580f, -0.365934f, -0.311618f, -0.259754f, -0.212337f, -0.170616f, -0.136551f, -0.113765f, -0.106742f, -0.118986f, -0.152388f, -0.208330f, -0.287999f, -0.390564f, -0.512325f, -0.649221f, -0.799131f, -0.960097f, -1.127778f, -1.297417f, -1.467538f, -1.638728f, -1.809064f, -1.973949f, -2.130414f, -2.277763f, -2.413033f, -2.529737f, -2.623312f, -2.694688f, -2.746001f, -2.775857f, -2.782337f, -2.768361f, -2.739709f, -2.698669f, -2.643816f, -2.575709f, -2.498064f, -2.412212f, -2.314661f, -2.202237f, -2.076018f, -1.937466f, -1.784021f, -1.612358f, -1.423970f, -1.223605f, -1.013553f, -0.793839f, -0.567739f, -0.342670f, -0.124736f, 0.083821f, 0.280550f, 0.459977f, 0.617159f, 0.751201f, 0.862726f, 0.950153f, 1.011333f, 1.047323f, 1.061710f, 1.057110f, 1.035001f, 0.998567f, 0.953069f, 0.903025f, 0.850779f, 0.798188f, 0.748048f, 0.702999f, 0.663889f, 0.630078f, 0.601056f, 0.577007f, 0.557689f, 0.541546f, 0.526776f, 0.512917f, 0.500274f, 0.488072f, 0.474647f, 0.459326f, 0.442142f, 0.421629f, 0.395188f, 0.361846f, 0.322187f, 0.275584f, 0.220730f, + 0.158999f, 0.093656f, 0.025970f, -0.043388f, -0.109763f, -0.167134f, -0.213607f, -0.244943f, -0.243677f, -0.190704f, -0.096080f, -0.005466f, 0.037995f, 0.033141f, 0.012469f, 0.001728f, 0.000979f, 0.000762f, -0.000671f, -0.000492f, 0.000547f, 0.000254f, -0.000496f, -0.000131f, 0.000467f, 0.000134f, -0.000309f, 0.000007f, 0.000336f, 0.000034f, -0.000227f, 0.000024f, 0.000194f, -0.000047f, -0.000184f, 0.000006f, 0.000083f, -0.000088f, -0.000140f, -0.000006f, 0.000018f, -0.000084f, -0.000083f, -0.000003f, -0.000007f, -0.000044f, -0.000017f, 0.000006f} + }, + { + {0.011569f, 0.065153f, 0.150153f, 0.203635f, 0.205376f, 0.173096f, 0.078721f, -0.099478f, -0.273114f, -0.336729f, -0.337980f, -0.407198f, -0.542930f, -0.623111f, -0.612944f, -0.602716f, -0.639352f, -0.670207f, -0.665746f, -0.663210f, -0.669807f, -0.639016f, -0.563037f, -0.492634f, -0.453350f, -0.425831f, -0.411451f, -0.435590f, -0.481467f, -0.493772f, -0.454614f, -0.397179f, -0.343898f, -0.284417f, -0.214324f, -0.148331f, -0.092876f, -0.042119f, -0.001362f, 0.013895f, 0.000977f, -0.028018f, -0.062315f, -0.094962f, -0.116574f, -0.120585f, -0.110386f, -0.094260f, -0.079595f, -0.075577f, -0.092822f, -0.135978f, -0.201707f, -0.283621f, -0.373297f, -0.458913f, -0.530510f, -0.586050f, -0.628047f, -0.657110f, -0.672676f, -0.676154f, -0.668940f, -0.650025f, -0.618410f, -0.575398f, -0.523084f, -0.463279f, -0.398758f, -0.333031f, -0.268412f, -0.205886f, -0.146127f, -0.088932f, -0.032678f, 0.024059f, 0.081192f, 0.138116f, 0.194573f, 0.249639f, 0.300758f, 0.344246f, 0.376397f, 0.394340f, 0.395940f, 0.378322f, 0.336985f, 0.267596f, 0.167862f, 0.036412f, -0.127823f, -0.321958f, -0.536530f, -0.759956f, -0.984191f, -1.203033f, + -1.407738f, -1.589491f, -1.745039f, -1.875334f, -1.979759f, -2.056311f, -2.106550f, -2.135185f, -2.144138f, -2.131027f, -2.094254f, -2.036298f, -1.961129f, -1.871617f, -1.771308f, -1.666459f, -1.563804f, -1.466752f, -1.375328f, -1.289465f, -1.210671f, -1.140298f, -1.077990f, -1.023002f, -0.975880f, -0.937424f, -0.906552f, -0.880558f, -0.857370f, -0.836543f, -0.818233f, -0.802387f, -0.789314f, -0.780403f, -0.777788f, -0.783208f, -0.797242f, -0.819642f, -0.850299f, -0.889299f, -0.935805f, -0.987623f, -1.042663f, -1.100181f, -1.159526f, -1.218087f, -1.271834f, -1.317746f, -1.354190f, -1.378859f, -1.388441f, -1.381422f, -1.359724f, -1.326229f, -1.282128f, -1.228339f, -1.167951f, -1.104670f, -1.039474f, -0.971238f, -0.900258f, -0.828583f, -0.756941f, -0.684007f, -0.609260f, -0.534389f, -0.461087f, -0.389218f, -0.318074f, -0.248322f, -0.181644f, -0.118710f, -0.058387f, 0.000515f, 0.057409f, 0.111358f, 0.163934f, 0.218134f, 0.274375f, 0.331038f, 0.389352f, 0.453139f, 0.522861f, 0.595488f, 0.671219f, 0.753543f, 0.841415f, 0.929099f, 1.014516f, 1.098177f, 1.173021f, 1.225991f, 1.249730f, 1.240661f, 1.187460f, 1.077175f, + 0.910930f, 0.697192f, 0.435982f, 0.132198f, -0.183809f, -0.475682f, -0.724582f, -0.891658f, -0.880755f, -0.621256f, -0.207028f, 0.126680f, 0.218186f, 0.126237f, 0.023051f, -0.005289f, 0.003972f, 0.002567f, -0.004554f, -0.001212f, 0.003755f, 0.000381f, -0.003113f, 0.000002f, 0.002534f, -0.000198f, -0.001991f, 0.000414f, 0.001690f, -0.000399f, -0.001292f, 0.000483f, 0.001055f, -0.000473f, -0.000835f, 0.000423f, 0.000587f, -0.000458f, -0.000496f, 0.000328f, 0.000259f, -0.000368f, -0.000220f, 0.000227f, 0.000038f, -0.000216f, 0.000017f, 0.000113f}, + {-0.169685f, -0.479052f, -0.687718f, -0.745489f, -0.686580f, -0.594247f, -0.494277f, -0.350304f, -0.167242f, -0.017921f, 0.055447f, 0.093676f, 0.144873f, 0.201507f, 0.248863f, 0.316742f, 0.432390f, 0.556193f, 0.607823f, 0.540609f, 0.367689f, 0.137632f, -0.092198f, -0.276561f, -0.400357f, -0.471390f, -0.492220f, -0.455722f, -0.371284f, -0.272306f, -0.186944f, -0.117169f, -0.053347f, 0.007736f, 0.067806f, 0.134068f, 0.208872f, 0.279806f, 0.327290f, 0.337195f, 0.304321f, 0.232209f, 0.134659f, 0.032521f, -0.055207f, -0.116778f, -0.147170f, -0.148130f, -0.129185f, -0.103778f, -0.082038f, -0.067724f, -0.060382f, -0.057666f, -0.056328f, -0.053688f, -0.048964f, -0.042853f, -0.036531f, -0.031221f, -0.027425f, -0.023816f, -0.017450f, -0.005051f, 0.016360f, 0.048944f, 0.092045f, 0.140182f, 0.183898f, 0.212996f, 0.219429f, 0.199052f, 0.152798f, 0.086601f, 0.009223f, -0.070626f, -0.145890f, -0.211261f, -0.262537f, -0.295616f, -0.305743f, -0.288061f, -0.239616f, -0.161593f, -0.060644f, 0.051193f, 0.158413f, 0.245651f, 0.301519f, 0.320779f, 0.304347f, 0.257927f, 0.190207f, 0.111091f, 0.030284f, -0.043708f, + -0.104254f, -0.147026f, -0.170155f, -0.174264f, -0.162372f, -0.139375f, -0.110912f, -0.082026f, -0.056260f, -0.035389f, -0.019595f, -0.007861f, 0.001522f, 0.010463f, 0.020713f, 0.033631f, 0.049942f, 0.069377f, 0.090322f, 0.109823f, 0.124132f, 0.129578f, 0.123456f, 0.104770f, 0.074585f, 0.035726f, -0.008012f, -0.052580f, -0.094098f, -0.129167f, -0.155076f, -0.169720f, -0.171437f, -0.159175f, -0.132888f, -0.093787f, -0.044490f, 0.010781f, 0.066337f, 0.115819f, 0.153314f, 0.174321f, 0.176622f, 0.160923f, 0.130685f, 0.091034f, 0.047547f, 0.005359f, -0.031604f, -0.061171f, -0.082725f, -0.096493f, -0.103137f, -0.103621f, -0.098835f, -0.089236f, -0.075087f, -0.056903f, -0.035467f, -0.011778f, 0.012643f, 0.035685f, 0.055241f, 0.069703f, 0.077958f, 0.079528f, 0.074957f, 0.065658f, 0.053228f, 0.039180f, 0.025001f, 0.011729f, -0.000451f, -0.011772f, -0.022406f, -0.032763f, -0.043533f, -0.054817f, -0.065772f, -0.075306f, -0.082031f, -0.083268f, -0.075551f, -0.056593f, -0.025842f, 0.016050f, 0.065745f, 0.115218f, 0.153630f, 0.171432f, 0.161627f, 0.120156f, 0.050082f, -0.035140f, -0.116350f, -0.176001f, + -0.199580f, -0.176780f, -0.109811f, -0.018038f, 0.072290f, 0.139214f, 0.162279f, 0.123993f, 0.034014f, -0.055650f, -0.086819f, -0.053222f, -0.004112f, 0.015109f, 0.006552f, -0.002295f, -0.000894f, 0.001475f, -0.000301f, -0.001224f, 0.000780f, 0.001739f, 0.000548f, 0.000335f, 0.001638f, 0.001930f, 0.000993f, 0.000852f, 0.001510f, 0.001347f, 0.000509f, 0.000293f, 0.000490f, 0.000108f, -0.000571f, -0.000767f, -0.000749f, -0.001070f, -0.001443f, -0.001463f, -0.001373f, -0.001433f, -0.001436f, -0.001227f, -0.000969f, -0.000757f, -0.000502f, -0.000175f} + }, + { + {-0.169685f, -0.479052f, -0.687718f, -0.745489f, -0.686580f, -0.594247f, -0.494277f, -0.350304f, -0.167242f, -0.017921f, 0.055447f, 0.093676f, 0.144873f, 0.201507f, 0.248863f, 0.316742f, 0.432390f, 0.556193f, 0.607823f, 0.540609f, 0.367689f, 0.137632f, -0.092198f, -0.276561f, -0.400357f, -0.471390f, -0.492220f, -0.455722f, -0.371284f, -0.272306f, -0.186944f, -0.117169f, -0.053347f, 0.007736f, 0.067806f, 0.134068f, 0.208872f, 0.279806f, 0.327290f, 0.337195f, 0.304321f, 0.232209f, 0.134659f, 0.032521f, -0.055207f, -0.116778f, -0.147170f, -0.148130f, -0.129185f, -0.103778f, -0.082038f, -0.067724f, -0.060382f, -0.057666f, -0.056328f, -0.053688f, -0.048964f, -0.042853f, -0.036531f, -0.031221f, -0.027425f, -0.023816f, -0.017450f, -0.005051f, 0.016360f, 0.048944f, 0.092045f, 0.140182f, 0.183898f, 0.212996f, 0.219429f, 0.199052f, 0.152798f, 0.086601f, 0.009223f, -0.070626f, -0.145890f, -0.211261f, -0.262537f, -0.295616f, -0.305743f, -0.288061f, -0.239616f, -0.161593f, -0.060644f, 0.051193f, 0.158413f, 0.245651f, 0.301519f, 0.320779f, 0.304347f, 0.257927f, 0.190207f, 0.111091f, 0.030284f, -0.043708f, + -0.104254f, -0.147026f, -0.170155f, -0.174264f, -0.162372f, -0.139375f, -0.110912f, -0.082026f, -0.056260f, -0.035389f, -0.019595f, -0.007861f, 0.001522f, 0.010463f, 0.020713f, 0.033631f, 0.049942f, 0.069377f, 0.090322f, 0.109823f, 0.124132f, 0.129578f, 0.123456f, 0.104770f, 0.074585f, 0.035726f, -0.008012f, -0.052580f, -0.094098f, -0.129167f, -0.155076f, -0.169720f, -0.171437f, -0.159175f, -0.132888f, -0.093787f, -0.044490f, 0.010781f, 0.066337f, 0.115819f, 0.153314f, 0.174321f, 0.176622f, 0.160923f, 0.130685f, 0.091034f, 0.047547f, 0.005359f, -0.031604f, -0.061171f, -0.082725f, -0.096493f, -0.103137f, -0.103621f, -0.098835f, -0.089236f, -0.075087f, -0.056903f, -0.035467f, -0.011778f, 0.012643f, 0.035685f, 0.055241f, 0.069703f, 0.077958f, 0.079528f, 0.074957f, 0.065658f, 0.053228f, 0.039180f, 0.025001f, 0.011729f, -0.000451f, -0.011772f, -0.022406f, -0.032763f, -0.043533f, -0.054817f, -0.065772f, -0.075306f, -0.082031f, -0.083268f, -0.075551f, -0.056593f, -0.025842f, 0.016050f, 0.065745f, 0.115218f, 0.153630f, 0.171432f, 0.161627f, 0.120156f, 0.050082f, -0.035140f, -0.116350f, -0.176001f, + -0.199580f, -0.176780f, -0.109811f, -0.018038f, 0.072290f, 0.139214f, 0.162279f, 0.123993f, 0.034014f, -0.055650f, -0.086819f, -0.053222f, -0.004112f, 0.015109f, 0.006552f, -0.002295f, -0.000894f, 0.001475f, -0.000301f, -0.001224f, 0.000780f, 0.001739f, 0.000548f, 0.000335f, 0.001638f, 0.001930f, 0.000993f, 0.000852f, 0.001510f, 0.001347f, 0.000509f, 0.000293f, 0.000490f, 0.000108f, -0.000571f, -0.000767f, -0.000749f, -0.001070f, -0.001443f, -0.001463f, -0.001373f, -0.001433f, -0.001436f, -0.001227f, -0.000969f, -0.000757f, -0.000502f, -0.000175f}, + {0.011569f, 0.065153f, 0.150153f, 0.203635f, 0.205376f, 0.173096f, 0.078721f, -0.099478f, -0.273114f, -0.336729f, -0.337980f, -0.407198f, -0.542930f, -0.623111f, -0.612944f, -0.602716f, -0.639352f, -0.670207f, -0.665746f, -0.663210f, -0.669807f, -0.639016f, -0.563037f, -0.492634f, -0.453350f, -0.425831f, -0.411451f, -0.435590f, -0.481467f, -0.493772f, -0.454614f, -0.397179f, -0.343898f, -0.284417f, -0.214324f, -0.148331f, -0.092876f, -0.042119f, -0.001362f, 0.013895f, 0.000977f, -0.028018f, -0.062315f, -0.094962f, -0.116574f, -0.120585f, -0.110386f, -0.094260f, -0.079595f, -0.075577f, -0.092822f, -0.135978f, -0.201707f, -0.283621f, -0.373297f, -0.458913f, -0.530510f, -0.586050f, -0.628047f, -0.657110f, -0.672676f, -0.676154f, -0.668940f, -0.650025f, -0.618410f, -0.575398f, -0.523084f, -0.463279f, -0.398758f, -0.333031f, -0.268412f, -0.205886f, -0.146127f, -0.088932f, -0.032678f, 0.024059f, 0.081192f, 0.138116f, 0.194573f, 0.249639f, 0.300758f, 0.344246f, 0.376397f, 0.394340f, 0.395940f, 0.378322f, 0.336985f, 0.267596f, 0.167862f, 0.036412f, -0.127823f, -0.321958f, -0.536530f, -0.759956f, -0.984191f, -1.203033f, + -1.407738f, -1.589491f, -1.745039f, -1.875334f, -1.979759f, -2.056311f, -2.106550f, -2.135185f, -2.144138f, -2.131027f, -2.094254f, -2.036298f, -1.961129f, -1.871617f, -1.771308f, -1.666459f, -1.563804f, -1.466752f, -1.375328f, -1.289465f, -1.210671f, -1.140298f, -1.077990f, -1.023002f, -0.975880f, -0.937424f, -0.906552f, -0.880558f, -0.857370f, -0.836543f, -0.818233f, -0.802387f, -0.789314f, -0.780403f, -0.777788f, -0.783208f, -0.797242f, -0.819642f, -0.850299f, -0.889299f, -0.935805f, -0.987623f, -1.042663f, -1.100181f, -1.159526f, -1.218087f, -1.271834f, -1.317746f, -1.354190f, -1.378859f, -1.388441f, -1.381422f, -1.359724f, -1.326229f, -1.282128f, -1.228339f, -1.167951f, -1.104670f, -1.039474f, -0.971238f, -0.900258f, -0.828583f, -0.756941f, -0.684007f, -0.609260f, -0.534389f, -0.461087f, -0.389218f, -0.318074f, -0.248322f, -0.181644f, -0.118710f, -0.058387f, 0.000515f, 0.057409f, 0.111358f, 0.163934f, 0.218134f, 0.274375f, 0.331038f, 0.389352f, 0.453139f, 0.522861f, 0.595488f, 0.671219f, 0.753543f, 0.841415f, 0.929099f, 1.014516f, 1.098177f, 1.173021f, 1.225991f, 1.249730f, 1.240661f, 1.187460f, 1.077175f, + 0.910930f, 0.697192f, 0.435982f, 0.132198f, -0.183809f, -0.475682f, -0.724582f, -0.891658f, -0.880755f, -0.621256f, -0.207028f, 0.126680f, 0.218186f, 0.126237f, 0.023051f, -0.005289f, 0.003972f, 0.002567f, -0.004554f, -0.001212f, 0.003755f, 0.000381f, -0.003113f, 0.000002f, 0.002534f, -0.000198f, -0.001991f, 0.000414f, 0.001690f, -0.000399f, -0.001292f, 0.000483f, 0.001055f, -0.000473f, -0.000835f, 0.000423f, 0.000587f, -0.000458f, -0.000496f, 0.000328f, 0.000259f, -0.000368f, -0.000220f, 0.000227f, 0.000038f, -0.000216f, 0.000017f, 0.000113f} + }, + { + {0.014162f, 0.079119f, 0.192373f, 0.273045f, 0.251924f, 0.149637f, 0.020926f, -0.122502f, -0.278057f, -0.388982f, -0.399742f, -0.356867f, -0.363688f, -0.430590f, -0.461817f, -0.411004f, -0.354648f, -0.367414f, -0.410842f, -0.409099f, -0.367287f, -0.341672f, -0.339623f, -0.322888f, -0.283709f, -0.252116f, -0.238516f, -0.220734f, -0.185306f, -0.144497f, -0.113533f, -0.096567f, -0.091951f, -0.092389f, -0.083826f, -0.057563f, -0.019655f, 0.018077f, 0.048708f, 0.067918f, 0.071323f, 0.059246f, 0.036544f, 0.005242f, -0.035854f, -0.084054f, -0.132500f, -0.177134f, -0.218733f, -0.259382f, -0.301515f, -0.348575f, -0.402779f, -0.463490f, -0.528869f, -0.596495f, -0.662478f, -0.723615f, -0.779891f, -0.831486f, -0.875283f, -0.908241f, -0.931583f, -0.947488f, -0.954629f, -0.951018f, -0.937871f, -0.916524f, -0.884692f, -0.839543f, -0.781782f, -0.714062f, -0.638421f, -0.557458f, -0.475213f, -0.395089f, -0.318909f, -0.248274f, -0.184492f, -0.127606f, -0.077917f, -0.037597f, -0.008569f, 0.009628f, 0.017312f, 0.011628f, -0.011443f, -0.053626f, -0.115452f, -0.199369f, -0.308884f, -0.444843f, -0.604506f, -0.784300f, -0.981549f, -1.192357f, + -1.409125f, -1.622569f, -1.826460f, -2.017987f, -2.192991f, -2.344549f, -2.468303f, -2.565362f, -2.636848f, -2.679384f, -2.689877f, -2.671088f, -2.627835f, -2.561060f, -2.470869f, -2.362808f, -2.245776f, -2.125343f, -2.003654f, -1.884247f, -1.772264f, -1.670297f, -1.577576f, -1.493238f, -1.418065f, -1.353009f, -1.297583f, -1.249988f, -1.208402f, -1.171974f, -1.140140f, -1.111192f, -1.083035f, -1.055899f, -1.032625f, -1.015658f, -1.005579f, -1.003175f, -1.010700f, -1.029943f, -1.060636f, -1.101560f, -1.151968f, -1.211363f, -1.278569f, -1.351093f, -1.425253f, -1.497653f, -1.566149f, -1.627979f, -1.677910f, -1.710781f, -1.724954f, -1.720277f, -1.694168f, -1.643923f, -1.571750f, -1.482954f, -1.380137f, -1.263897f, -1.138026f, -1.008765f, -0.879318f, -0.749674f, -0.621380f, -0.498272f, -0.382754f, -0.274712f, -0.174008f, -0.081729f, 0.000918f, 0.073950f, 0.139119f, 0.198670f, 0.253061f, 0.301763f, 0.347006f, 0.393182f, 0.441347f, 0.489362f, 0.538806f, 0.595052f, 0.658904f, 0.726443f, 0.798707f, 0.881537f, 0.974294f, 1.070091f, 1.167737f, 1.269490f, 1.366474f, 1.441595f, 1.485849f, 1.494333f, 1.449955f, 1.333119f, + 1.143665f, 0.890490f, 0.570130f, 0.186750f, -0.219462f, -0.600083f, -0.930100f, -1.155403f, -1.143394f, -0.798347f, -0.249038f, 0.187134f, 0.296878f, 0.165312f, 0.025951f, -0.009102f, 0.005434f, 0.003510f, -0.006460f, -0.001638f, 0.005342f, 0.000501f, -0.004432f, 0.000038f, 0.003617f, -0.000337f, -0.002882f, 0.000630f, 0.002437f, -0.000642f, -0.001890f, 0.000764f, 0.001542f, -0.000762f, -0.001213f, 0.000714f, 0.000864f, -0.000752f, -0.000696f, 0.000595f, 0.000364f, -0.000627f, -0.000266f, 0.000442f, 0.000006f, -0.000404f, 0.000101f, 0.000251f}, + {-0.227017f, -0.610853f, -0.818539f, -0.827113f, -0.686898f, -0.457087f, -0.160740f, 0.181063f, 0.492006f, 0.663270f, 0.645501f, 0.491623f, 0.296597f, 0.115853f, -0.045972f, -0.190366f, -0.298151f, -0.347926f, -0.342693f, -0.305048f, -0.248107f, -0.163349f, -0.044348f, 0.087150f, 0.193393f, 0.255393f, 0.280153f, 0.274932f, 0.233779f, 0.155052f, 0.055515f, -0.042313f, -0.126031f, -0.190062f, -0.227345f, -0.232206f, -0.205038f, -0.149865f, -0.073744f, 0.009150f, 0.080879f, 0.131334f, 0.161815f, 0.176140f, 0.173876f, 0.153042f, 0.113606f, 0.057194f, -0.011688f, -0.082861f, -0.142578f, -0.179538f, -0.187757f, -0.166078f, -0.118901f, -0.056731f, 0.007389f, 0.063005f, 0.104104f, 0.128523f, 0.137613f, 0.134941f, 0.123116f, 0.101857f, 0.069275f, 0.024158f, -0.032605f, -0.096564f, -0.158344f, -0.204423f, -0.220368f, -0.195089f, -0.125489f, -0.020636f, 0.097710f, 0.200646f, 0.261717f, 0.265867f, 0.214146f, 0.122474f, 0.014892f, -0.085103f, -0.160437f, -0.201917f, -0.207135f, -0.178873f, -0.123758f, -0.051585f, 0.024949f, 0.091673f, 0.136311f, 0.152061f, 0.139120f, 0.103823f, 0.056376f, 0.007840f, + -0.032834f, -0.060514f, -0.073885f, -0.074522f, -0.065753f, -0.051457f, -0.035012f, -0.018814f, -0.004264f, 0.008156f, 0.018669f, 0.027701f, 0.035397f, 0.041400f, 0.044773f, 0.044029f, 0.037643f, 0.024948f, 0.006808f, -0.014330f, -0.034848f, -0.050700f, -0.058465f, -0.056356f, -0.044689f, -0.025767f, -0.003347f, 0.018238f, 0.035205f, 0.045211f, 0.047611f, 0.043172f, 0.033577f, 0.020863f, 0.006937f, -0.006651f, -0.018658f, -0.028044f, -0.033981f, -0.035885f, -0.033444f, -0.026747f, -0.016470f, -0.003905f, 0.009212f, 0.020942f, 0.029423f, 0.033278f, 0.032010f, 0.026116f, 0.016859f, 0.005952f, -0.004786f, -0.013832f, -0.020263f, -0.023725f, -0.024216f, -0.022003f, -0.017612f, -0.011677f, -0.004775f, 0.002521f, 0.009563f, 0.015703f, 0.020359f, 0.022925f, 0.022827f, 0.019784f, 0.013935f, 0.005753f, -0.003874f, -0.013545f, -0.021660f, -0.026897f, -0.028311f, -0.025374f, -0.018350f, -0.008412f, 0.002946f, 0.014306f, 0.024069f, 0.030568f, 0.032809f, 0.030492f, 0.023239f, 0.010889f, -0.005219f, -0.022346f, -0.037579f, -0.047634f, -0.048151f, -0.035867f, -0.012072f, 0.017486f, 0.045290f, 0.062856f, + 0.061692f, 0.038856f, 0.001862f, -0.035283f, -0.059860f, -0.062195f, -0.036787f, 0.007937f, 0.044601f, 0.046634f, 0.017252f, -0.012271f, -0.017935f, -0.006337f, 0.002146f, 0.001029f, -0.001521f, -0.000459f, 0.000817f, -0.000067f, -0.000660f, 0.000353f, 0.000950f, 0.000276f, -0.000030f, 0.000569f, 0.000705f, 0.000053f, -0.000227f, 0.000069f, -0.000002f, -0.000506f, -0.000627f, -0.000349f, -0.000332f, -0.000528f, -0.000394f, -0.000037f, 0.000086f, 0.000082f, 0.000281f, 0.000519f, 0.000524f, 0.000449f, 0.000475f, 0.000435f, 0.000230f, 0.000050f} + }, + { + {-0.227017f, -0.610853f, -0.818539f, -0.827113f, -0.686898f, -0.457087f, -0.160740f, 0.181063f, 0.492006f, 0.663270f, 0.645501f, 0.491623f, 0.296597f, 0.115853f, -0.045972f, -0.190366f, -0.298151f, -0.347926f, -0.342693f, -0.305048f, -0.248107f, -0.163349f, -0.044348f, 0.087150f, 0.193393f, 0.255393f, 0.280153f, 0.274932f, 0.233779f, 0.155052f, 0.055515f, -0.042313f, -0.126031f, -0.190062f, -0.227345f, -0.232206f, -0.205038f, -0.149865f, -0.073744f, 0.009150f, 0.080879f, 0.131334f, 0.161815f, 0.176140f, 0.173876f, 0.153042f, 0.113606f, 0.057194f, -0.011688f, -0.082861f, -0.142578f, -0.179538f, -0.187757f, -0.166078f, -0.118901f, -0.056731f, 0.007389f, 0.063005f, 0.104104f, 0.128523f, 0.137613f, 0.134941f, 0.123116f, 0.101857f, 0.069275f, 0.024158f, -0.032605f, -0.096564f, -0.158344f, -0.204423f, -0.220368f, -0.195089f, -0.125489f, -0.020636f, 0.097710f, 0.200646f, 0.261717f, 0.265867f, 0.214146f, 0.122474f, 0.014892f, -0.085103f, -0.160437f, -0.201917f, -0.207135f, -0.178873f, -0.123758f, -0.051585f, 0.024949f, 0.091673f, 0.136311f, 0.152061f, 0.139120f, 0.103823f, 0.056376f, 0.007840f, + -0.032834f, -0.060514f, -0.073885f, -0.074522f, -0.065753f, -0.051457f, -0.035012f, -0.018814f, -0.004264f, 0.008156f, 0.018669f, 0.027701f, 0.035397f, 0.041400f, 0.044773f, 0.044029f, 0.037643f, 0.024948f, 0.006808f, -0.014330f, -0.034848f, -0.050700f, -0.058465f, -0.056356f, -0.044689f, -0.025767f, -0.003347f, 0.018238f, 0.035205f, 0.045211f, 0.047611f, 0.043172f, 0.033577f, 0.020863f, 0.006937f, -0.006651f, -0.018658f, -0.028044f, -0.033981f, -0.035885f, -0.033444f, -0.026747f, -0.016470f, -0.003905f, 0.009212f, 0.020942f, 0.029423f, 0.033278f, 0.032010f, 0.026116f, 0.016859f, 0.005952f, -0.004786f, -0.013832f, -0.020263f, -0.023725f, -0.024216f, -0.022003f, -0.017612f, -0.011677f, -0.004775f, 0.002521f, 0.009563f, 0.015703f, 0.020359f, 0.022925f, 0.022827f, 0.019784f, 0.013935f, 0.005753f, -0.003874f, -0.013545f, -0.021660f, -0.026897f, -0.028311f, -0.025374f, -0.018350f, -0.008412f, 0.002946f, 0.014306f, 0.024069f, 0.030568f, 0.032809f, 0.030492f, 0.023239f, 0.010889f, -0.005219f, -0.022346f, -0.037579f, -0.047634f, -0.048151f, -0.035867f, -0.012072f, 0.017486f, 0.045290f, 0.062856f, + 0.061692f, 0.038856f, 0.001862f, -0.035283f, -0.059860f, -0.062195f, -0.036787f, 0.007937f, 0.044601f, 0.046634f, 0.017252f, -0.012271f, -0.017935f, -0.006337f, 0.002146f, 0.001029f, -0.001521f, -0.000459f, 0.000817f, -0.000067f, -0.000660f, 0.000353f, 0.000950f, 0.000276f, -0.000030f, 0.000569f, 0.000705f, 0.000053f, -0.000227f, 0.000069f, -0.000002f, -0.000506f, -0.000627f, -0.000349f, -0.000332f, -0.000528f, -0.000394f, -0.000037f, 0.000086f, 0.000082f, 0.000281f, 0.000519f, 0.000524f, 0.000449f, 0.000475f, 0.000435f, 0.000230f, 0.000050f}, + {0.014162f, 0.079119f, 0.192373f, 0.273045f, 0.251924f, 0.149637f, 0.020926f, -0.122502f, -0.278057f, -0.388982f, -0.399742f, -0.356867f, -0.363688f, -0.430590f, -0.461817f, -0.411004f, -0.354648f, -0.367414f, -0.410842f, -0.409099f, -0.367287f, -0.341672f, -0.339623f, -0.322888f, -0.283709f, -0.252116f, -0.238516f, -0.220734f, -0.185306f, -0.144497f, -0.113533f, -0.096567f, -0.091951f, -0.092389f, -0.083826f, -0.057563f, -0.019655f, 0.018077f, 0.048708f, 0.067918f, 0.071323f, 0.059246f, 0.036544f, 0.005242f, -0.035854f, -0.084054f, -0.132500f, -0.177134f, -0.218733f, -0.259382f, -0.301515f, -0.348575f, -0.402779f, -0.463490f, -0.528869f, -0.596495f, -0.662478f, -0.723615f, -0.779891f, -0.831486f, -0.875283f, -0.908241f, -0.931583f, -0.947488f, -0.954629f, -0.951018f, -0.937871f, -0.916524f, -0.884692f, -0.839543f, -0.781782f, -0.714062f, -0.638421f, -0.557458f, -0.475213f, -0.395089f, -0.318909f, -0.248274f, -0.184492f, -0.127606f, -0.077917f, -0.037597f, -0.008569f, 0.009628f, 0.017312f, 0.011628f, -0.011443f, -0.053626f, -0.115452f, -0.199369f, -0.308884f, -0.444843f, -0.604506f, -0.784300f, -0.981549f, -1.192357f, + -1.409125f, -1.622569f, -1.826460f, -2.017987f, -2.192991f, -2.344549f, -2.468303f, -2.565362f, -2.636848f, -2.679384f, -2.689877f, -2.671088f, -2.627835f, -2.561060f, -2.470869f, -2.362808f, -2.245776f, -2.125343f, -2.003654f, -1.884247f, -1.772264f, -1.670297f, -1.577576f, -1.493238f, -1.418065f, -1.353009f, -1.297583f, -1.249988f, -1.208402f, -1.171974f, -1.140140f, -1.111192f, -1.083035f, -1.055899f, -1.032625f, -1.015658f, -1.005579f, -1.003175f, -1.010700f, -1.029943f, -1.060636f, -1.101560f, -1.151968f, -1.211363f, -1.278569f, -1.351093f, -1.425253f, -1.497653f, -1.566149f, -1.627979f, -1.677910f, -1.710781f, -1.724954f, -1.720277f, -1.694168f, -1.643923f, -1.571750f, -1.482954f, -1.380137f, -1.263897f, -1.138026f, -1.008765f, -0.879318f, -0.749674f, -0.621380f, -0.498272f, -0.382754f, -0.274712f, -0.174008f, -0.081729f, 0.000918f, 0.073950f, 0.139119f, 0.198670f, 0.253061f, 0.301763f, 0.347006f, 0.393182f, 0.441347f, 0.489362f, 0.538806f, 0.595052f, 0.658904f, 0.726443f, 0.798707f, 0.881537f, 0.974294f, 1.070091f, 1.167737f, 1.269490f, 1.366474f, 1.441595f, 1.485849f, 1.494333f, 1.449955f, 1.333119f, + 1.143665f, 0.890490f, 0.570130f, 0.186750f, -0.219462f, -0.600083f, -0.930100f, -1.155403f, -1.143394f, -0.798347f, -0.249038f, 0.187134f, 0.296878f, 0.165312f, 0.025951f, -0.009102f, 0.005434f, 0.003510f, -0.006460f, -0.001638f, 0.005342f, 0.000501f, -0.004432f, 0.000038f, 0.003617f, -0.000337f, -0.002882f, 0.000630f, 0.002437f, -0.000642f, -0.001890f, 0.000764f, 0.001542f, -0.000762f, -0.001213f, 0.000714f, 0.000864f, -0.000752f, -0.000696f, 0.000595f, 0.000364f, -0.000627f, -0.000266f, 0.000442f, 0.000006f, -0.000404f, 0.000101f, 0.000251f} + }, + { + {0.042732f, 0.113314f, 0.176202f, 0.252685f, 0.281884f, 0.174262f, -0.028902f, -0.180587f, -0.233986f, -0.287382f, -0.386130f, -0.425463f, -0.325835f, -0.178382f, -0.114461f, -0.125567f, -0.120866f, -0.091304f, -0.099788f, -0.149408f, -0.175401f, -0.160079f, -0.161819f, -0.218211f, -0.289828f, -0.318343f, -0.292465f, -0.240485f, -0.191978f, -0.159418f, -0.133666f, -0.090469f, -0.019098f, 0.054253f, 0.088015f, 0.069071f, 0.020080f, -0.033141f, -0.083529f, -0.132397f, -0.175396f, -0.206306f, -0.226074f, -0.242406f, -0.263892f, -0.296267f, -0.341457f, -0.399032f, -0.469188f, -0.552919f, -0.648193f, -0.748197f, -0.845109f, -0.933962f, -1.011947f, -1.076813f, -1.128569f, -1.171494f, -1.212173f, -1.255672f, -1.304491f, -1.359954f, -1.422038f, -1.487064f, -1.547033f, -1.592617f, -1.616640f, -1.614662f, -1.584205f, -1.525739f, -1.444021f, -1.346192f, -1.237997f, -1.123060f, -1.005499f, -0.890943f, -0.784138f, -0.686938f, -0.599442f, -0.522145f, -0.456501f, -0.404312f, -0.367214f, -0.346412f, -0.342532f, -0.355339f, -0.382875f, -0.421110f, -0.466097f, -0.517365f, -0.578173f, -0.651999f, -0.740613f, -0.846331f, -0.973383f, -1.124324f, + -1.296390f, -1.483783f, -1.682030f, -1.886821f, -2.089453f, -2.277670f, -2.441976f, -2.578074f, -2.682664f, -2.751303f, -2.783009f, -2.783561f, -2.760778f, -2.718619f, -2.658947f, -2.586450f, -2.507126f, -2.422614f, -2.330300f, -2.229205f, -2.122072f, -2.011250f, -1.896456f, -1.778273f, -1.660862f, -1.549002f, -1.444261f, -1.345971f, -1.254532f, -1.171530f, -1.097176f, -1.029833f, -0.968588f, -0.914945f, -0.871217f, -0.838134f, -0.814965f, -0.801436f, -0.798271f, -0.805721f, -0.822625f, -0.847489f, -0.879927f, -0.920297f, -0.968011f, -1.020724f, -1.075381f, -1.129486f, -1.180488f, -1.223986f, -1.253993f, -1.265791f, -1.257367f, -1.227234f, -1.172823f, -1.093165f, -0.991598f, -0.873296f, -0.741394f, -0.598215f, -0.448782f, -0.299472f, -0.153850f, -0.013150f, 0.119688f, 0.239921f, 0.344752f, 0.434094f, 0.507626f, 0.563828f, 0.602225f, 0.624544f, 0.633321f, 0.630521f, 0.617681f, 0.596899f, 0.571519f, 0.545119f, 0.519474f, 0.494984f, 0.473597f, 0.458663f, 0.451052f, 0.449131f, 0.453874f, 0.469249f, 0.496098f, 0.531445f, 0.575166f, 0.629762f, 0.691627f, 0.750864f, 0.800872f, 0.837878f, 0.850653f, 0.823774f, + 0.751946f, 0.637275f, 0.475061f, 0.262253f, 0.017602f, -0.229919f, -0.464480f, -0.657131f, -0.724380f, -0.581353f, -0.268217f, 0.032040f, 0.155663f, 0.110828f, 0.028755f, -0.002038f, 0.003059f, 0.003053f, -0.003352f, -0.001791f, 0.002885f, 0.000944f, -0.002489f, -0.000503f, 0.002099f, 0.000264f, -0.001661f, 0.000033f, 0.001463f, -0.000069f, -0.001127f, 0.000210f, 0.000935f, -0.000257f, -0.000759f, 0.000241f, 0.000524f, -0.000328f, -0.000468f, 0.000216f, 0.000230f, -0.000297f, -0.000215f, 0.000167f, 0.000034f, -0.000183f, 0.000005f, 0.000090f}, + {-0.250909f, -0.661336f, -0.861225f, -0.846916f, -0.664218f, -0.342701f, 0.076872f, 0.488737f, 0.753326f, 0.794678f, 0.644668f, 0.387694f, 0.087110f, -0.222402f, -0.495680f, -0.664775f, -0.675318f, -0.525707f, -0.265768f, 0.036302f, 0.319925f, 0.533105f, 0.627711f, 0.573382f, 0.381856f, 0.110168f, -0.167080f, -0.388791f, -0.515916f, -0.526706f, -0.420116f, -0.223812f, 0.011549f, 0.230567f, 0.386430f, 0.446123f, 0.398575f, 0.263648f, 0.086018f, -0.086830f, -0.222117f, -0.302172f, -0.318170f, -0.270419f, -0.172076f, -0.047006f, 0.077560f, 0.176959f, 0.232529f, 0.235587f, 0.190743f, 0.114082f, 0.026025f, -0.055703f, -0.118661f, -0.155078f, -0.161686f, -0.140558f, -0.098598f, -0.044962f, 0.011333f, 0.062126f, 0.100520f, 0.122077f, 0.125459f, 0.111411f, 0.081471f, 0.037876f, -0.015751f, -0.073456f, -0.125593f, -0.158578f, -0.158714f, -0.119549f, -0.047405f, 0.039448f, 0.117161f, 0.164530f, 0.170112f, 0.135882f, 0.075272f, 0.006299f, -0.055781f, -0.101955f, -0.128540f, -0.134431f, -0.119079f, -0.082497f, -0.027309f, 0.038596f, 0.101279f, 0.143737f, 0.152211f, 0.122702f, 0.063597f, -0.007521f, + -0.071051f, -0.112331f, -0.125169f, -0.111443f, -0.078301f, -0.034928f, 0.009839f, 0.048818f, 0.077025f, 0.091668f, 0.091678f, 0.077234f, 0.049800f, 0.012550f, -0.029326f, -0.068680f, -0.097051f, -0.106411f, -0.092004f, -0.054995f, -0.003302f, 0.050087f, 0.090874f, 0.108187f, 0.098374f, 0.065929f, 0.021166f, -0.023770f, -0.058591f, -0.077199f, -0.078302f, -0.064504f, -0.040631f, -0.012245f, 0.015405f, 0.038112f, 0.053035f, 0.058570f, 0.054242f, 0.040853f, 0.020584f, -0.003249f, -0.026598f, -0.045207f, -0.055424f, -0.055094f, -0.044048f, -0.024168f, 0.000785f, 0.025763f, 0.045560f, 0.056006f, 0.054767f, 0.041927f, 0.020280f, -0.005230f, -0.028930f, -0.045847f, -0.052644f, -0.048279f, -0.034253f, -0.014018f, 0.008118f, 0.027817f, 0.041328f, 0.046258f, 0.042077f, 0.029925f, 0.012195f, -0.007720f, -0.025950f, -0.039008f, -0.044357f, -0.040660f, -0.028307f, -0.009797f, 0.010916f, 0.029525f, 0.041957f, 0.045064f, 0.037975f, 0.022610f, 0.002456f, -0.018582f, -0.036115f, -0.045810f, -0.045173f, -0.034131f, -0.014018f, 0.012025f, 0.037399f, 0.053505f, 0.054220f, 0.038177f, 0.008264f, -0.027360f, + -0.054784f, -0.060832f, -0.042426f, -0.007657f, 0.030216f, 0.055369f, 0.051860f, 0.017076f, -0.025749f, -0.042575f, -0.023699f, 0.005650f, 0.016563f, 0.008110f, -0.000864f, -0.000797f, 0.001703f, 0.000500f, -0.001538f, -0.001141f, -0.000404f, -0.001262f, -0.001848f, -0.000816f, 0.000201f, 0.000154f, 0.000304f, 0.001238f, 0.001720f, 0.001244f, 0.000819f, 0.000784f, 0.000347f, -0.000573f, -0.001141f, -0.001202f, -0.001315f, -0.001446f, -0.001099f, -0.000403f, 0.000147f, 0.000578f, 0.001107f, 0.001494f, 0.001472f, 0.001216f, 0.000888f, 0.000349f} + }, + { + {-0.250909f, -0.661336f, -0.861225f, -0.846916f, -0.664218f, -0.342701f, 0.076872f, 0.488737f, 0.753326f, 0.794678f, 0.644668f, 0.387694f, 0.087110f, -0.222402f, -0.495680f, -0.664775f, -0.675318f, -0.525707f, -0.265768f, 0.036302f, 0.319925f, 0.533105f, 0.627711f, 0.573382f, 0.381856f, 0.110168f, -0.167080f, -0.388791f, -0.515916f, -0.526706f, -0.420116f, -0.223812f, 0.011549f, 0.230567f, 0.386430f, 0.446123f, 0.398575f, 0.263648f, 0.086018f, -0.086830f, -0.222117f, -0.302172f, -0.318170f, -0.270419f, -0.172076f, -0.047006f, 0.077560f, 0.176959f, 0.232529f, 0.235587f, 0.190743f, 0.114082f, 0.026025f, -0.055703f, -0.118661f, -0.155078f, -0.161686f, -0.140558f, -0.098598f, -0.044962f, 0.011333f, 0.062126f, 0.100520f, 0.122077f, 0.125459f, 0.111411f, 0.081471f, 0.037876f, -0.015751f, -0.073456f, -0.125593f, -0.158578f, -0.158714f, -0.119549f, -0.047405f, 0.039448f, 0.117161f, 0.164530f, 0.170112f, 0.135882f, 0.075272f, 0.006299f, -0.055781f, -0.101955f, -0.128540f, -0.134431f, -0.119079f, -0.082497f, -0.027309f, 0.038596f, 0.101279f, 0.143737f, 0.152211f, 0.122702f, 0.063597f, -0.007521f, + -0.071051f, -0.112331f, -0.125169f, -0.111443f, -0.078301f, -0.034928f, 0.009839f, 0.048818f, 0.077025f, 0.091668f, 0.091678f, 0.077234f, 0.049800f, 0.012550f, -0.029326f, -0.068680f, -0.097051f, -0.106411f, -0.092004f, -0.054995f, -0.003302f, 0.050087f, 0.090874f, 0.108187f, 0.098374f, 0.065929f, 0.021166f, -0.023770f, -0.058591f, -0.077199f, -0.078302f, -0.064504f, -0.040631f, -0.012245f, 0.015405f, 0.038112f, 0.053035f, 0.058570f, 0.054242f, 0.040853f, 0.020584f, -0.003249f, -0.026598f, -0.045207f, -0.055424f, -0.055094f, -0.044048f, -0.024168f, 0.000785f, 0.025763f, 0.045560f, 0.056006f, 0.054767f, 0.041927f, 0.020280f, -0.005230f, -0.028930f, -0.045847f, -0.052644f, -0.048279f, -0.034253f, -0.014018f, 0.008118f, 0.027817f, 0.041328f, 0.046258f, 0.042077f, 0.029925f, 0.012195f, -0.007720f, -0.025950f, -0.039008f, -0.044357f, -0.040660f, -0.028307f, -0.009797f, 0.010916f, 0.029525f, 0.041957f, 0.045064f, 0.037975f, 0.022610f, 0.002456f, -0.018582f, -0.036115f, -0.045810f, -0.045173f, -0.034131f, -0.014018f, 0.012025f, 0.037399f, 0.053505f, 0.054220f, 0.038177f, 0.008264f, -0.027360f, + -0.054784f, -0.060832f, -0.042426f, -0.007657f, 0.030216f, 0.055369f, 0.051860f, 0.017076f, -0.025749f, -0.042575f, -0.023699f, 0.005650f, 0.016563f, 0.008110f, -0.000864f, -0.000797f, 0.001703f, 0.000500f, -0.001538f, -0.001141f, -0.000404f, -0.001262f, -0.001848f, -0.000816f, 0.000201f, 0.000154f, 0.000304f, 0.001238f, 0.001720f, 0.001244f, 0.000819f, 0.000784f, 0.000347f, -0.000573f, -0.001141f, -0.001202f, -0.001315f, -0.001446f, -0.001099f, -0.000403f, 0.000147f, 0.000578f, 0.001107f, 0.001494f, 0.001472f, 0.001216f, 0.000888f, 0.000349f}, + {0.042732f, 0.113314f, 0.176202f, 0.252685f, 0.281884f, 0.174262f, -0.028902f, -0.180587f, -0.233986f, -0.287382f, -0.386130f, -0.425463f, -0.325835f, -0.178382f, -0.114461f, -0.125567f, -0.120866f, -0.091304f, -0.099788f, -0.149408f, -0.175401f, -0.160079f, -0.161819f, -0.218211f, -0.289828f, -0.318343f, -0.292465f, -0.240485f, -0.191978f, -0.159418f, -0.133666f, -0.090469f, -0.019098f, 0.054253f, 0.088015f, 0.069071f, 0.020080f, -0.033141f, -0.083529f, -0.132397f, -0.175396f, -0.206306f, -0.226074f, -0.242406f, -0.263892f, -0.296267f, -0.341457f, -0.399032f, -0.469188f, -0.552919f, -0.648193f, -0.748197f, -0.845109f, -0.933962f, -1.011947f, -1.076813f, -1.128569f, -1.171494f, -1.212173f, -1.255672f, -1.304491f, -1.359954f, -1.422038f, -1.487064f, -1.547033f, -1.592617f, -1.616640f, -1.614662f, -1.584205f, -1.525739f, -1.444021f, -1.346192f, -1.237997f, -1.123060f, -1.005499f, -0.890943f, -0.784138f, -0.686938f, -0.599442f, -0.522145f, -0.456501f, -0.404312f, -0.367214f, -0.346412f, -0.342532f, -0.355339f, -0.382875f, -0.421110f, -0.466097f, -0.517365f, -0.578173f, -0.651999f, -0.740613f, -0.846331f, -0.973383f, -1.124324f, + -1.296390f, -1.483783f, -1.682030f, -1.886821f, -2.089453f, -2.277670f, -2.441976f, -2.578074f, -2.682664f, -2.751303f, -2.783009f, -2.783561f, -2.760778f, -2.718619f, -2.658947f, -2.586450f, -2.507126f, -2.422614f, -2.330300f, -2.229205f, -2.122072f, -2.011250f, -1.896456f, -1.778273f, -1.660862f, -1.549002f, -1.444261f, -1.345971f, -1.254532f, -1.171530f, -1.097176f, -1.029833f, -0.968588f, -0.914945f, -0.871217f, -0.838134f, -0.814965f, -0.801436f, -0.798271f, -0.805721f, -0.822625f, -0.847489f, -0.879927f, -0.920297f, -0.968011f, -1.020724f, -1.075381f, -1.129486f, -1.180488f, -1.223986f, -1.253993f, -1.265791f, -1.257367f, -1.227234f, -1.172823f, -1.093165f, -0.991598f, -0.873296f, -0.741394f, -0.598215f, -0.448782f, -0.299472f, -0.153850f, -0.013150f, 0.119688f, 0.239921f, 0.344752f, 0.434094f, 0.507626f, 0.563828f, 0.602225f, 0.624544f, 0.633321f, 0.630521f, 0.617681f, 0.596899f, 0.571519f, 0.545119f, 0.519474f, 0.494984f, 0.473597f, 0.458663f, 0.451052f, 0.449131f, 0.453874f, 0.469249f, 0.496098f, 0.531445f, 0.575166f, 0.629762f, 0.691627f, 0.750864f, 0.800872f, 0.837878f, 0.850653f, 0.823774f, + 0.751946f, 0.637275f, 0.475061f, 0.262253f, 0.017602f, -0.229919f, -0.464480f, -0.657131f, -0.724380f, -0.581353f, -0.268217f, 0.032040f, 0.155663f, 0.110828f, 0.028755f, -0.002038f, 0.003059f, 0.003053f, -0.003352f, -0.001791f, 0.002885f, 0.000944f, -0.002489f, -0.000503f, 0.002099f, 0.000264f, -0.001661f, 0.000033f, 0.001463f, -0.000069f, -0.001127f, 0.000210f, 0.000935f, -0.000257f, -0.000759f, 0.000241f, 0.000524f, -0.000328f, -0.000468f, 0.000216f, 0.000230f, -0.000297f, -0.000215f, 0.000167f, 0.000034f, -0.000183f, 0.000005f, 0.000090f} + }, + { + {-0.008117f, -0.029088f, -0.057048f, -0.081735f, -0.092189f, -0.085100f, -0.046258f, 0.061013f, 0.247665f, 0.439587f, 0.518097f, 0.436893f, 0.258432f, 0.069209f, -0.085972f, -0.179131f, -0.182780f, -0.110632f, -0.018595f, 0.061348f, 0.137561f, 0.195698f, 0.184660f, 0.090981f, -0.029833f, -0.119427f, -0.163497f, -0.160991f, -0.107102f, -0.026915f, 0.027637f, 0.034786f, 0.014084f, -0.027320f, -0.111107f, -0.240023f, -0.378923f, -0.496585f, -0.591277f, -0.668375f, -0.726093f, -0.769534f, -0.811105f, -0.852336f, -0.884973f, -0.908307f, -0.928671f, -0.947596f, -0.965411f, -0.988396f, -1.019242f, -1.049599f, -1.072930f, -1.095057f, -1.123669f, -1.157984f, -1.195511f, -1.238117f, -1.285188f, -1.330071f, -1.368128f, -1.401405f, -1.433429f, -1.465837f, -1.500686f, -1.540528f, -1.585844f, -1.634999f, -1.684816f, -1.729881f, -1.764985f, -1.789120f, -1.803259f, -1.805236f, -1.792176f, -1.766414f, -1.732839f, -1.691843f, -1.640852f, -1.580948f, -1.516199f, -1.448521f, -1.378711f, -1.310591f, -1.249109f, -1.195647f, -1.148671f, -1.107399f, -1.072096f, -1.042222f, -1.016132f, -0.991629f, -0.966575f, -0.940263f, -0.913765f, -0.887830f, + -0.861818f, -0.835753f, -0.811153f, -0.788325f, -0.765201f, -0.740195f, -0.713773f, -0.686076f, -0.655627f, -0.621644f, -0.585391f, -0.548400f, -0.511253f, -0.474595f, -0.439641f, -0.407373f, -0.378310f, -0.352841f, -0.330952f, -0.312187f, -0.296447f, -0.283965f, -0.274268f, -0.266290f, -0.259673f, -0.254827f, -0.251774f, -0.250098f, -0.249925f, -0.251995f, -0.257051f, -0.265902f, -0.279634f, -0.299233f, -0.325552f, -0.359646f, -0.402100f, -0.451970f, -0.507511f, -0.567748f, -0.632019f, -0.698338f, -0.763997f, -0.827724f, -0.889545f, -0.948515f, -1.002452f, -1.050350f, -1.093294f, -1.132284f, -1.166691f, -1.195985f, -1.221676f, -1.245932f, -1.269000f, -1.289688f, -1.308062f, -1.325687f, -1.342928f, -1.357937f, -1.369096f, -1.376762f, -1.381406f, -1.381343f, -1.373935f, -1.358365f, -1.335436f, -1.304589f, -1.262934f, -1.208217f, -1.141032f, -1.062204f, -0.969496f, -0.859997f, -0.734719f, -0.596717f, -0.445375f, -0.277897f, -0.096215f, 0.094002f, 0.291185f, 0.497134f, 0.708325f, 0.916667f, 1.119036f, 1.316063f, 1.501707f, 1.665244f, 1.802397f, 1.911586f, 1.981297f, 1.995663f, 1.949047f, 1.839685f, 1.656456f, 1.391696f, + 1.058526f, 0.675467f, 0.249613f, -0.199264f, -0.619582f, -0.963618f, -1.208061f, -1.294816f, -1.109269f, -0.622127f, -0.037804f, 0.321944f, 0.325104f, 0.139499f, 0.005477f, -0.011392f, 0.006042f, 0.001000f, -0.006817f, 0.000382f, 0.005296f, -0.001059f, -0.004165f, 0.001245f, 0.003241f, -0.001280f, -0.002498f, 0.001306f, 0.002025f, -0.001148f, -0.001520f, 0.001099f, 0.001208f, -0.000964f, -0.000921f, 0.000826f, 0.000648f, -0.000761f, -0.000515f, 0.000575f, 0.000271f, -0.000542f, -0.000203f, 0.000365f, 0.000014f, -0.000310f, 0.000064f, 0.000181f}, + {-0.129981f, -0.372476f, -0.578529f, -0.729243f, -0.764475f, -0.635793f, -0.411234f, -0.258736f, -0.302102f, -0.525369f, -0.805126f, -0.991322f, -0.983991f, -0.803176f, -0.584723f, -0.458600f, -0.436987f, -0.451679f, -0.459616f, -0.451677f, -0.395154f, -0.251867f, -0.050784f, 0.123344f, 0.221870f, 0.269667f, 0.313652f, 0.376737f, 0.462841f, 0.567567f, 0.673170f, 0.754338f, 0.795107f, 0.792591f, 0.752470f, 0.691691f, 0.634947f, 0.595069f, 0.562305f, 0.519235f, 0.458575f, 0.383012f, 0.298227f, 0.211056f, 0.126529f, 0.043347f, -0.042514f, -0.130277f, -0.215859f, -0.298302f, -0.378918f, -0.456881f, -0.530468f, -0.598896f, -0.658825f, -0.703316f, -0.727822f, -0.733246f, -0.721133f, -0.690755f, -0.642644f, -0.580117f, -0.505916f, -0.421525f, -0.330087f, -0.235562f, -0.138750f, -0.037980f, 0.066169f, 0.169625f, 0.267531f, 0.355691f, 0.430568f, 0.490492f, 0.536392f, 0.569778f, 0.590566f, 0.597566f, 0.590084f, 0.568477f, 0.533880f, 0.487697f, 0.431144f, 0.365726f, 0.294260f, 0.220525f, 0.147743f, 0.078228f, 0.014043f, -0.043456f, -0.094326f, -0.138832f, -0.176068f, -0.205120f, -0.226671f, -0.241986f, + -0.251293f, -0.254596f, -0.252994f, -0.247846f, -0.239708f, -0.229246f, -0.218093f, -0.207780f, -0.198730f, -0.190983f, -0.184906f, -0.180621f, -0.177602f, -0.175210f, -0.173034f, -0.170646f, -0.167447f, -0.162637f, -0.155080f, -0.143537f, -0.127170f, -0.105418f, -0.077693f, -0.043897f, -0.004918f, 0.038190f, 0.084983f, 0.134821f, 0.186035f, 0.236843f, 0.286214f, 0.332895f, 0.374623f, 0.409400f, 0.436550f, 0.455532f, 0.464788f, 0.462789f, 0.449137f, 0.423624f, 0.385300f, 0.333570f, 0.269292f, 0.193801f, 0.107779f, 0.012194f, -0.090333f, -0.196122f, -0.301746f, -0.403692f, -0.497310f, -0.577424f, -0.639930f, -0.681870f, -0.700365f, -0.693007f, -0.659496f, -0.601723f, -0.522170f, -0.423547f, -0.310025f, -0.187155f, -0.060052f, 0.067102f, 0.189708f, 0.302691f, 0.402232f, 0.486145f, 0.552331f, 0.598446f, 0.623264f, 0.626838f, 0.609193f, 0.570294f, 0.511336f, 0.434835f, 0.343621f, 0.240782f, 0.130231f, 0.016430f, -0.096110f, -0.202773f, -0.299055f, -0.381032f, -0.445029f, -0.487486f, -0.506123f, -0.500243f, -0.469027f, -0.411517f, -0.329438f, -0.227615f, -0.111000f, 0.014761f, 0.139062f, 0.247906f, + 0.330788f, 0.380428f, 0.386990f, 0.342751f, 0.253257f, 0.133183f, -0.006044f, -0.145689f, -0.238420f, -0.230859f, -0.127035f, -0.005841f, 0.051207f, 0.037489f, 0.006530f, -0.003104f, 0.001464f, 0.002113f, -0.000555f, 0.000795f, 0.003689f, 0.003262f, 0.002035f, 0.003451f, 0.005181f, 0.004704f, 0.004097f, 0.005202f, 0.006175f, 0.005667f, 0.005284f, 0.005991f, 0.006394f, 0.005824f, 0.005470f, 0.005772f, 0.005730f, 0.005088f, 0.004674f, 0.004609f, 0.004237f, 0.003551f, 0.003059f, 0.002698f, 0.002121f, 0.001454f, 0.000907f, 0.000332f} + }, + { + {-0.129981f, -0.372476f, -0.578529f, -0.729243f, -0.764475f, -0.635793f, -0.411234f, -0.258736f, -0.302102f, -0.525369f, -0.805126f, -0.991322f, -0.983991f, -0.803176f, -0.584723f, -0.458600f, -0.436987f, -0.451679f, -0.459616f, -0.451677f, -0.395154f, -0.251867f, -0.050784f, 0.123344f, 0.221870f, 0.269667f, 0.313652f, 0.376737f, 0.462841f, 0.567567f, 0.673170f, 0.754338f, 0.795107f, 0.792591f, 0.752470f, 0.691691f, 0.634947f, 0.595069f, 0.562305f, 0.519235f, 0.458575f, 0.383012f, 0.298227f, 0.211056f, 0.126529f, 0.043347f, -0.042514f, -0.130277f, -0.215859f, -0.298302f, -0.378918f, -0.456881f, -0.530468f, -0.598896f, -0.658825f, -0.703316f, -0.727822f, -0.733246f, -0.721133f, -0.690755f, -0.642644f, -0.580117f, -0.505916f, -0.421525f, -0.330087f, -0.235562f, -0.138750f, -0.037980f, 0.066169f, 0.169625f, 0.267531f, 0.355691f, 0.430568f, 0.490492f, 0.536392f, 0.569778f, 0.590566f, 0.597566f, 0.590084f, 0.568477f, 0.533880f, 0.487697f, 0.431144f, 0.365726f, 0.294260f, 0.220525f, 0.147743f, 0.078228f, 0.014043f, -0.043456f, -0.094326f, -0.138832f, -0.176068f, -0.205120f, -0.226671f, -0.241986f, + -0.251293f, -0.254596f, -0.252994f, -0.247846f, -0.239708f, -0.229246f, -0.218093f, -0.207780f, -0.198730f, -0.190983f, -0.184906f, -0.180621f, -0.177602f, -0.175210f, -0.173034f, -0.170646f, -0.167447f, -0.162637f, -0.155080f, -0.143537f, -0.127170f, -0.105418f, -0.077693f, -0.043897f, -0.004918f, 0.038190f, 0.084983f, 0.134821f, 0.186035f, 0.236843f, 0.286214f, 0.332895f, 0.374623f, 0.409400f, 0.436550f, 0.455532f, 0.464788f, 0.462789f, 0.449137f, 0.423624f, 0.385300f, 0.333570f, 0.269292f, 0.193801f, 0.107779f, 0.012194f, -0.090333f, -0.196122f, -0.301746f, -0.403692f, -0.497310f, -0.577424f, -0.639930f, -0.681870f, -0.700365f, -0.693007f, -0.659496f, -0.601723f, -0.522170f, -0.423547f, -0.310025f, -0.187155f, -0.060052f, 0.067102f, 0.189708f, 0.302691f, 0.402232f, 0.486145f, 0.552331f, 0.598446f, 0.623264f, 0.626838f, 0.609193f, 0.570294f, 0.511336f, 0.434835f, 0.343621f, 0.240782f, 0.130231f, 0.016430f, -0.096110f, -0.202773f, -0.299055f, -0.381032f, -0.445029f, -0.487486f, -0.506123f, -0.500243f, -0.469027f, -0.411517f, -0.329438f, -0.227615f, -0.111000f, 0.014761f, 0.139062f, 0.247906f, + 0.330788f, 0.380428f, 0.386990f, 0.342751f, 0.253257f, 0.133183f, -0.006044f, -0.145689f, -0.238420f, -0.230859f, -0.127035f, -0.005841f, 0.051207f, 0.037489f, 0.006530f, -0.003104f, 0.001464f, 0.002113f, -0.000555f, 0.000795f, 0.003689f, 0.003262f, 0.002035f, 0.003451f, 0.005181f, 0.004704f, 0.004097f, 0.005202f, 0.006175f, 0.005667f, 0.005284f, 0.005991f, 0.006394f, 0.005824f, 0.005470f, 0.005772f, 0.005730f, 0.005088f, 0.004674f, 0.004609f, 0.004237f, 0.003551f, 0.003059f, 0.002698f, 0.002121f, 0.001454f, 0.000907f, 0.000332f}, + {-0.008117f, -0.029088f, -0.057048f, -0.081735f, -0.092189f, -0.085100f, -0.046258f, 0.061013f, 0.247665f, 0.439587f, 0.518097f, 0.436893f, 0.258432f, 0.069209f, -0.085972f, -0.179131f, -0.182780f, -0.110632f, -0.018595f, 0.061348f, 0.137561f, 0.195698f, 0.184660f, 0.090981f, -0.029833f, -0.119427f, -0.163497f, -0.160991f, -0.107102f, -0.026915f, 0.027637f, 0.034786f, 0.014084f, -0.027320f, -0.111107f, -0.240023f, -0.378923f, -0.496585f, -0.591277f, -0.668375f, -0.726093f, -0.769534f, -0.811105f, -0.852336f, -0.884973f, -0.908307f, -0.928671f, -0.947596f, -0.965411f, -0.988396f, -1.019242f, -1.049599f, -1.072930f, -1.095057f, -1.123669f, -1.157984f, -1.195511f, -1.238117f, -1.285188f, -1.330071f, -1.368128f, -1.401405f, -1.433429f, -1.465837f, -1.500686f, -1.540528f, -1.585844f, -1.634999f, -1.684816f, -1.729881f, -1.764985f, -1.789120f, -1.803259f, -1.805236f, -1.792176f, -1.766414f, -1.732839f, -1.691843f, -1.640852f, -1.580948f, -1.516199f, -1.448521f, -1.378711f, -1.310591f, -1.249109f, -1.195647f, -1.148671f, -1.107399f, -1.072096f, -1.042222f, -1.016132f, -0.991629f, -0.966575f, -0.940263f, -0.913765f, -0.887830f, + -0.861818f, -0.835753f, -0.811153f, -0.788325f, -0.765201f, -0.740195f, -0.713773f, -0.686076f, -0.655627f, -0.621644f, -0.585391f, -0.548400f, -0.511253f, -0.474595f, -0.439641f, -0.407373f, -0.378310f, -0.352841f, -0.330952f, -0.312187f, -0.296447f, -0.283965f, -0.274268f, -0.266290f, -0.259673f, -0.254827f, -0.251774f, -0.250098f, -0.249925f, -0.251995f, -0.257051f, -0.265902f, -0.279634f, -0.299233f, -0.325552f, -0.359646f, -0.402100f, -0.451970f, -0.507511f, -0.567748f, -0.632019f, -0.698338f, -0.763997f, -0.827724f, -0.889545f, -0.948515f, -1.002452f, -1.050350f, -1.093294f, -1.132284f, -1.166691f, -1.195985f, -1.221676f, -1.245932f, -1.269000f, -1.289688f, -1.308062f, -1.325687f, -1.342928f, -1.357937f, -1.369096f, -1.376762f, -1.381406f, -1.381343f, -1.373935f, -1.358365f, -1.335436f, -1.304589f, -1.262934f, -1.208217f, -1.141032f, -1.062204f, -0.969496f, -0.859997f, -0.734719f, -0.596717f, -0.445375f, -0.277897f, -0.096215f, 0.094002f, 0.291185f, 0.497134f, 0.708325f, 0.916667f, 1.119036f, 1.316063f, 1.501707f, 1.665244f, 1.802397f, 1.911586f, 1.981297f, 1.995663f, 1.949047f, 1.839685f, 1.656456f, 1.391696f, + 1.058526f, 0.675467f, 0.249613f, -0.199264f, -0.619582f, -0.963618f, -1.208061f, -1.294816f, -1.109269f, -0.622127f, -0.037804f, 0.321944f, 0.325104f, 0.139499f, 0.005477f, -0.011392f, 0.006042f, 0.001000f, -0.006817f, 0.000382f, 0.005296f, -0.001059f, -0.004165f, 0.001245f, 0.003241f, -0.001280f, -0.002498f, 0.001306f, 0.002025f, -0.001148f, -0.001520f, 0.001099f, 0.001208f, -0.000964f, -0.000921f, 0.000826f, 0.000648f, -0.000761f, -0.000515f, 0.000575f, 0.000271f, -0.000542f, -0.000203f, 0.000365f, 0.000014f, -0.000310f, 0.000064f, 0.000181f} + }, + { + {0.008190f, 0.034888f, 0.081874f, 0.116453f, 0.067094f, -0.082555f, -0.227904f, -0.249422f, -0.166350f, -0.098117f, -0.087469f, -0.065513f, 0.001855f, 0.042159f, -0.012688f, -0.131557f, -0.247601f, -0.349249f, -0.457508f, -0.561835f, -0.630448f, -0.658599f, -0.667824f, -0.671646f, -0.668196f, -0.656704f, -0.642420f, -0.629382f, -0.617003f, -0.600360f, -0.572717f, -0.533674f, -0.493429f, -0.462386f, -0.438760f, -0.412139f, -0.375853f, -0.330971f, -0.282717f, -0.238117f, -0.203462f, -0.180067f, -0.164967f, -0.156908f, -0.157974f, -0.169237f, -0.189236f, -0.216716f, -0.250505f, -0.286503f, -0.318305f, -0.341119f, -0.353602f, -0.357480f, -0.357254f, -0.358766f, -0.366736f, -0.384550f, -0.415390f, -0.460458f, -0.516507f, -0.578128f, -0.641870f, -0.705454f, -0.764761f, -0.815673f, -0.858195f, -0.895392f, -0.928966f, -0.958784f, -0.985672f, -1.011344f, -1.035621f, -1.056027f, -1.070215f, -1.077265f, -1.076660f, -1.067391f, -1.048879f, -1.022623f, -0.992247f, -0.961199f, -0.930579f, -0.899824f, -0.868625f, -0.836503f, -0.801127f, -0.759410f, -0.710653f, -0.657040f, -0.601236f, -0.545210f, -0.491176f, -0.441730f, -0.398758f, -0.363349f, + -0.336665f, -0.320266f, -0.316119f, -0.326652f, -0.353697f, -0.396932f, -0.454447f, -0.524739f, -0.606457f, -0.696467f, -0.790534f, -0.886232f, -0.982956f, -1.078838f, -1.170101f, -1.254114f, -1.330746f, -1.399796f, -1.459170f, -1.506984f, -1.544018f, -1.572526f, -1.593450f, -1.606422f, -1.612266f, -1.613693f, -1.612687f, -1.608581f, -1.599998f, -1.587506f, -1.572353f, -1.553391f, -1.527791f, -1.494748f, -1.455923f, -1.412055f, -1.361940f, -1.305585f, -1.245838f, -1.185662f, -1.125860f, -1.066742f, -1.010255f, -0.958897f, -0.913497f, -0.873308f, -0.837820f, -0.807504f, -0.782697f, -0.762352f, -0.744553f, -0.728283f, -0.713809f, -0.700821f, -0.687346f, -0.671620f, -0.653905f, -0.634922f, -0.613574f, -0.588053f, -0.558390f, -0.525864f, -0.490403f, -0.450535f, -0.405710f, -0.356898f, -0.304721f, -0.248343f, -0.186701f, -0.120081f, -0.049746f, 0.023859f, 0.101582f, 0.183602f, 0.268055f, 0.353082f, 0.439140f, 0.527019f, 0.614682f, 0.699065f, 0.779803f, 0.857431f, 0.929095f, 0.990466f, 1.040682f, 1.080471f, 1.106909f, 1.115475f, 1.105390f, 1.077041f, 1.026573f, 0.949561f, 0.847139f, 0.722093f, 0.573442f, 0.402441f, + 0.218506f, 0.031580f, -0.153644f, -0.327407f, -0.469724f, -0.565679f, -0.610055f, -0.583192f, -0.449188f, -0.214263f, 0.027773f, 0.156235f, 0.139393f, 0.057497f, 0.003774f, -0.003113f, 0.002375f, -0.000038f, -0.002481f, 0.000451f, 0.001892f, -0.000644f, -0.001493f, 0.000649f, 0.001158f, -0.000616f, -0.000874f, 0.000622f, 0.000731f, -0.000522f, -0.000530f, 0.000507f, 0.000429f, -0.000443f, -0.000326f, 0.000378f, 0.000213f, -0.000364f, -0.000182f, 0.000267f, 0.000064f, -0.000275f, -0.000058f, 0.000182f, -0.000037f, -0.000172f, 0.000059f, 0.000111f}, + {-0.185552f, -0.533696f, -0.795197f, -0.893542f, -0.804694f, -0.602960f, -0.410567f, -0.289207f, -0.193943f, -0.044154f, 0.172404f, 0.382927f, 0.509981f, 0.545225f, 0.535614f, 0.515453f, 0.471712f, 0.372577f, 0.213012f, 0.026048f, -0.142991f, -0.267749f, -0.350655f, -0.407879f, -0.446665f, -0.457344f, -0.425810f, -0.349287f, -0.237376f, -0.102660f, 0.042599f, 0.181681f, 0.293768f, 0.363653f, 0.388804f, 0.375465f, 0.331172f, 0.263138f, 0.180465f, 0.093512f, 0.010635f, -0.063321f, -0.126103f, -0.177013f, -0.216204f, -0.243567f, -0.258067f, -0.258312f, -0.243240f, -0.211844f, -0.162993f, -0.096687f, -0.016030f, 0.071984f, 0.157709f, 0.231389f, 0.285400f, 0.314867f, 0.316825f, 0.289600f, 0.233632f, 0.152889f, 0.055165f, -0.049222f, -0.149371f, -0.235386f, -0.299246f, -0.334965f, -0.338337f, -0.307007f, -0.241511f, -0.147028f, -0.034470f, 0.080542f, 0.180988f, 0.252633f, 0.287299f, 0.284302f, 0.249915f, 0.194921f, 0.130906f, 0.066951f, 0.008345f, -0.042679f, -0.085530f, -0.120133f, -0.146148f, -0.162494f, -0.167472f, -0.159538f, -0.138348f, -0.105550f, -0.064858f, -0.021185f, 0.020732f, 0.057343f, + 0.086513f, 0.107283f, 0.119553f, 0.123700f, 0.120200f, 0.109487f, 0.092076f, 0.068684f, 0.040301f, 0.008337f, -0.025230f, -0.057916f, -0.086954f, -0.109551f, -0.123233f, -0.126275f, -0.118020f, -0.098962f, -0.070752f, -0.036148f, 0.001325f, 0.037957f, 0.070371f, 0.095805f, 0.112323f, 0.118906f, 0.115335f, 0.102001f, 0.079886f, 0.050640f, 0.016580f, -0.019334f, -0.053532f, -0.082149f, -0.101715f, -0.109891f, -0.105925f, -0.090814f, -0.067155f, -0.038578f, -0.008949f, 0.018297f, 0.040562f, 0.056348f, 0.065287f, 0.067860f, 0.065030f, 0.058014f, 0.048082f, 0.036305f, 0.023471f, 0.010221f, -0.002870f, -0.015342f, -0.026773f, -0.036614f, -0.044221f, -0.049020f, -0.050549f, -0.048442f, -0.042587f, -0.033275f, -0.021107f, -0.006895f, 0.008283f, 0.023113f, 0.036282f, 0.046616f, 0.053077f, 0.054911f, 0.051880f, 0.044235f, 0.032557f, 0.017817f, 0.001348f, -0.015481f, -0.031425f, -0.045128f, -0.055171f, -0.060547f, -0.060691f, -0.055031f, -0.043176f, -0.025610f, -0.003626f, 0.021182f, 0.046431f, 0.068218f, 0.082097f, 0.084759f, 0.074213f, 0.049725f, 0.013674f, -0.027125f, -0.063792f, -0.088620f, + -0.095442f, -0.080235f, -0.045136f, -0.000219f, 0.041813f, 0.070718f, 0.077187f, 0.054136f, 0.008482f, -0.033225f, -0.044133f, -0.024284f, 0.000669f, 0.009571f, 0.005114f, 0.001035f, 0.001842f, 0.002776f, 0.001639f, 0.000950f, 0.001513f, 0.001381f, 0.000219f, -0.000400f, -0.000314f, -0.000719f, -0.001578f, -0.001885f, -0.001710f, -0.001817f, -0.002061f, -0.001831f, -0.001308f, -0.000982f, -0.000701f, -0.000138f, 0.000498f, 0.000915f, 0.001247f, 0.001644f, 0.001936f, 0.001998f, 0.001941f, 0.001829f, 0.001581f, 0.001190f, 0.000735f, 0.000251f} + }, + { + {-0.185552f, -0.533696f, -0.795197f, -0.893542f, -0.804694f, -0.602960f, -0.410567f, -0.289207f, -0.193943f, -0.044154f, 0.172404f, 0.382927f, 0.509981f, 0.545225f, 0.535614f, 0.515453f, 0.471712f, 0.372577f, 0.213012f, 0.026048f, -0.142991f, -0.267749f, -0.350655f, -0.407879f, -0.446665f, -0.457344f, -0.425810f, -0.349287f, -0.237376f, -0.102660f, 0.042599f, 0.181681f, 0.293768f, 0.363653f, 0.388804f, 0.375465f, 0.331172f, 0.263138f, 0.180465f, 0.093512f, 0.010635f, -0.063321f, -0.126103f, -0.177013f, -0.216204f, -0.243567f, -0.258067f, -0.258312f, -0.243240f, -0.211844f, -0.162993f, -0.096687f, -0.016030f, 0.071984f, 0.157709f, 0.231389f, 0.285400f, 0.314867f, 0.316825f, 0.289600f, 0.233632f, 0.152889f, 0.055165f, -0.049222f, -0.149371f, -0.235386f, -0.299246f, -0.334965f, -0.338337f, -0.307007f, -0.241511f, -0.147028f, -0.034470f, 0.080542f, 0.180988f, 0.252633f, 0.287299f, 0.284302f, 0.249915f, 0.194921f, 0.130906f, 0.066951f, 0.008345f, -0.042679f, -0.085530f, -0.120133f, -0.146148f, -0.162494f, -0.167472f, -0.159538f, -0.138348f, -0.105550f, -0.064858f, -0.021185f, 0.020732f, 0.057343f, + 0.086513f, 0.107283f, 0.119553f, 0.123700f, 0.120200f, 0.109487f, 0.092076f, 0.068684f, 0.040301f, 0.008337f, -0.025230f, -0.057916f, -0.086954f, -0.109551f, -0.123233f, -0.126275f, -0.118020f, -0.098962f, -0.070752f, -0.036148f, 0.001325f, 0.037957f, 0.070371f, 0.095805f, 0.112323f, 0.118906f, 0.115335f, 0.102001f, 0.079886f, 0.050640f, 0.016580f, -0.019334f, -0.053532f, -0.082149f, -0.101715f, -0.109891f, -0.105925f, -0.090814f, -0.067155f, -0.038578f, -0.008949f, 0.018297f, 0.040562f, 0.056348f, 0.065287f, 0.067860f, 0.065030f, 0.058014f, 0.048082f, 0.036305f, 0.023471f, 0.010221f, -0.002870f, -0.015342f, -0.026773f, -0.036614f, -0.044221f, -0.049020f, -0.050549f, -0.048442f, -0.042587f, -0.033275f, -0.021107f, -0.006895f, 0.008283f, 0.023113f, 0.036282f, 0.046616f, 0.053077f, 0.054911f, 0.051880f, 0.044235f, 0.032557f, 0.017817f, 0.001348f, -0.015481f, -0.031425f, -0.045128f, -0.055171f, -0.060547f, -0.060691f, -0.055031f, -0.043176f, -0.025610f, -0.003626f, 0.021182f, 0.046431f, 0.068218f, 0.082097f, 0.084759f, 0.074213f, 0.049725f, 0.013674f, -0.027125f, -0.063792f, -0.088620f, + -0.095442f, -0.080235f, -0.045136f, -0.000219f, 0.041813f, 0.070718f, 0.077187f, 0.054136f, 0.008482f, -0.033225f, -0.044133f, -0.024284f, 0.000669f, 0.009571f, 0.005114f, 0.001035f, 0.001842f, 0.002776f, 0.001639f, 0.000950f, 0.001513f, 0.001381f, 0.000219f, -0.000400f, -0.000314f, -0.000719f, -0.001578f, -0.001885f, -0.001710f, -0.001817f, -0.002061f, -0.001831f, -0.001308f, -0.000982f, -0.000701f, -0.000138f, 0.000498f, 0.000915f, 0.001247f, 0.001644f, 0.001936f, 0.001998f, 0.001941f, 0.001829f, 0.001581f, 0.001190f, 0.000735f, 0.000251f}, + {0.008190f, 0.034888f, 0.081874f, 0.116453f, 0.067094f, -0.082555f, -0.227904f, -0.249422f, -0.166350f, -0.098117f, -0.087469f, -0.065513f, 0.001855f, 0.042159f, -0.012688f, -0.131557f, -0.247601f, -0.349249f, -0.457508f, -0.561835f, -0.630448f, -0.658599f, -0.667824f, -0.671646f, -0.668196f, -0.656704f, -0.642420f, -0.629382f, -0.617003f, -0.600360f, -0.572717f, -0.533674f, -0.493429f, -0.462386f, -0.438760f, -0.412139f, -0.375853f, -0.330971f, -0.282717f, -0.238117f, -0.203462f, -0.180067f, -0.164967f, -0.156908f, -0.157974f, -0.169237f, -0.189236f, -0.216716f, -0.250505f, -0.286503f, -0.318305f, -0.341119f, -0.353602f, -0.357480f, -0.357254f, -0.358766f, -0.366736f, -0.384550f, -0.415390f, -0.460458f, -0.516507f, -0.578128f, -0.641870f, -0.705454f, -0.764761f, -0.815673f, -0.858195f, -0.895392f, -0.928966f, -0.958784f, -0.985672f, -1.011344f, -1.035621f, -1.056027f, -1.070215f, -1.077265f, -1.076660f, -1.067391f, -1.048879f, -1.022623f, -0.992247f, -0.961199f, -0.930579f, -0.899824f, -0.868625f, -0.836503f, -0.801127f, -0.759410f, -0.710653f, -0.657040f, -0.601236f, -0.545210f, -0.491176f, -0.441730f, -0.398758f, -0.363349f, + -0.336665f, -0.320266f, -0.316119f, -0.326652f, -0.353697f, -0.396932f, -0.454447f, -0.524739f, -0.606457f, -0.696467f, -0.790534f, -0.886232f, -0.982956f, -1.078838f, -1.170101f, -1.254114f, -1.330746f, -1.399796f, -1.459170f, -1.506984f, -1.544018f, -1.572526f, -1.593450f, -1.606422f, -1.612266f, -1.613693f, -1.612687f, -1.608581f, -1.599998f, -1.587506f, -1.572353f, -1.553391f, -1.527791f, -1.494748f, -1.455923f, -1.412055f, -1.361940f, -1.305585f, -1.245838f, -1.185662f, -1.125860f, -1.066742f, -1.010255f, -0.958897f, -0.913497f, -0.873308f, -0.837820f, -0.807504f, -0.782697f, -0.762352f, -0.744553f, -0.728283f, -0.713809f, -0.700821f, -0.687346f, -0.671620f, -0.653905f, -0.634922f, -0.613574f, -0.588053f, -0.558390f, -0.525864f, -0.490403f, -0.450535f, -0.405710f, -0.356898f, -0.304721f, -0.248343f, -0.186701f, -0.120081f, -0.049746f, 0.023859f, 0.101582f, 0.183602f, 0.268055f, 0.353082f, 0.439140f, 0.527019f, 0.614682f, 0.699065f, 0.779803f, 0.857431f, 0.929095f, 0.990466f, 1.040682f, 1.080471f, 1.106909f, 1.115475f, 1.105390f, 1.077041f, 1.026573f, 0.949561f, 0.847139f, 0.722093f, 0.573442f, 0.402441f, + 0.218506f, 0.031580f, -0.153644f, -0.327407f, -0.469724f, -0.565679f, -0.610055f, -0.583192f, -0.449188f, -0.214263f, 0.027773f, 0.156235f, 0.139393f, 0.057497f, 0.003774f, -0.003113f, 0.002375f, -0.000038f, -0.002481f, 0.000451f, 0.001892f, -0.000644f, -0.001493f, 0.000649f, 0.001158f, -0.000616f, -0.000874f, 0.000622f, 0.000731f, -0.000522f, -0.000530f, 0.000507f, 0.000429f, -0.000443f, -0.000326f, 0.000378f, 0.000213f, -0.000364f, -0.000182f, 0.000267f, 0.000064f, -0.000275f, -0.000058f, 0.000182f, -0.000037f, -0.000172f, 0.000059f, 0.000111f} + }, + { + {0.000548f, 0.016581f, 0.053765f, 0.073281f, 0.025961f, -0.087700f, -0.207119f, -0.273414f, -0.285064f, -0.274298f, -0.250255f, -0.200671f, -0.140017f, -0.114239f, -0.149921f, -0.229225f, -0.323553f, -0.423074f, -0.520572f, -0.593892f, -0.626821f, -0.633223f, -0.641666f, -0.663565f, -0.689675f, -0.710438f, -0.725598f, -0.736662f, -0.742149f, -0.741673f, -0.737421f, -0.729820f, -0.715763f, -0.691715f, -0.655607f, -0.606006f, -0.543295f, -0.472954f, -0.404984f, -0.347908f, -0.304206f, -0.272432f, -0.251856f, -0.242831f, -0.243698f, -0.250172f, -0.258244f, -0.266093f, -0.273123f, -0.278938f, -0.283885f, -0.289531f, -0.298203f, -0.312469f, -0.334435f, -0.364557f, -0.401392f, -0.442943f, -0.487333f, -0.531807f, -0.572843f, -0.608619f, -0.640227f, -0.669360f, -0.695931f, -0.718798f, -0.737129f, -0.749510f, -0.752911f, -0.744271f, -0.722888f, -0.690591f, -0.650434f, -0.606110f, -0.561850f, -0.521475f, -0.486993f, -0.458126f, -0.433048f, -0.409626f, -0.386312f, -0.362259f, -0.336987f, -0.310333f, -0.282627f, -0.254475f, -0.226254f, -0.198128f, -0.170462f, -0.143899f, -0.119124f, -0.096842f, -0.077957f, -0.063776f, -0.056222f, -0.057684f, + -0.070113f, -0.094371f, -0.130791f, -0.179633f, -0.239941f, -0.308585f, -0.381898f, -0.458052f, -0.536571f, -0.616164f, -0.694955f, -0.772624f, -0.850111f, -0.926782f, -0.999760f, -1.066559f, -1.126570f, -1.179184f, -1.222302f, -1.254125f, -1.275290f, -1.287722f, -1.292081f, -1.287917f, -1.276087f, -1.259277f, -1.239681f, -1.217607f, -1.193156f, -1.167869f, -1.143244f, -1.118482f, -1.091357f, -1.060859f, -1.027345f, -0.990451f, -0.948918f, -0.902895f, -0.854755f, -0.806966f, -0.760446f, -0.715619f, -0.673842f, -0.636793f, -0.605072f, -0.578270f, -0.556179f, -0.539266f, -0.527859f, -0.521263f, -0.518112f, -0.517554f, -0.519483f, -0.523339f, -0.527397f, -0.529962f, -0.530623f, -0.529392f, -0.525185f, -0.516374f, -0.502523f, -0.484304f, -0.461738f, -0.433778f, -0.399827f, -0.360530f, -0.316583f, -0.267592f, -0.212873f, -0.152952f, -0.089351f, -0.022879f, 0.046836f, 0.119626f, 0.193722f, 0.267453f, 0.340856f, 0.414052f, 0.485116f, 0.551637f, 0.613347f, 0.670732f, 0.722013f, 0.764382f, 0.797237f, 0.820973f, 0.833604f, 0.832100f, 0.815925f, 0.785566f, 0.739077f, 0.674193f, 0.592209f, 0.495751f, 0.385312f, 0.262580f, + 0.134060f, 0.006641f, -0.116089f, -0.227998f, -0.317292f, -0.375423f, -0.399942f, -0.380080f, -0.295089f, -0.148552f, 0.003715f, 0.088509f, 0.084442f, 0.037741f, 0.004798f, -0.000952f, 0.001504f, 0.000011f, -0.001418f, 0.000239f, 0.001076f, -0.000365f, -0.000858f, 0.000368f, 0.000671f, -0.000340f, -0.000494f, 0.000359f, 0.000427f, -0.000288f, -0.000300f, 0.000287f, 0.000246f, -0.000250f, -0.000191f, 0.000205f, 0.000117f, -0.000209f, -0.000114f, 0.000138f, 0.000031f, -0.000158f, -0.000043f, 0.000092f, -0.000022f, -0.000096f, 0.000027f, 0.000057f}, + {-0.132877f, -0.397611f, -0.632915f, -0.770285f, -0.762715f, -0.657573f, -0.569424f, -0.556718f, -0.559329f, -0.492160f, -0.364513f, -0.254027f, -0.187319f, -0.112359f, 0.013869f, 0.171586f, 0.321788f, 0.450390f, 0.550169f, 0.601920f, 0.599231f, 0.564879f, 0.522168f, 0.469068f, 0.394550f, 0.302090f, 0.202848f, 0.098985f, -0.013558f, -0.133110f, -0.250310f, -0.352539f, -0.427473f, -0.468674f, -0.479833f, -0.468872f, -0.438208f, -0.385801f, -0.314336f, -0.233571f, -0.153994f, -0.082221f, -0.021254f, 0.029103f, 0.071856f, 0.110418f, 0.147141f, 0.184866f, 0.227200f, 0.274979f, 0.323626f, 0.364907f, 0.390119f, 0.392168f, 0.367889f, 0.319988f, 0.255281f, 0.180008f, 0.097315f, 0.008624f, -0.084265f, -0.178270f, -0.268396f, -0.347509f, -0.407904f, -0.443969f, -0.453626f, -0.437976f, -0.400261f, -0.344545f, -0.274131f, -0.190824f, -0.096114f, 0.006594f, 0.110784f, 0.207596f, 0.287902f, 0.344723f, 0.375140f, 0.380738f, 0.366034f, 0.336036f, 0.294883f, 0.246060f, 0.192748f, 0.137428f, 0.081636f, 0.026552f, -0.026567f, -0.076804f, -0.123861f, -0.167467f, -0.206909f, -0.241250f, -0.269252f, -0.288705f, + -0.296573f, -0.290377f, -0.269166f, -0.233229f, -0.183841f, -0.123651f, -0.056479f, 0.013719f, 0.083262f, 0.148262f, 0.204724f, 0.249465f, 0.280399f, 0.296003f, 0.295349f, 0.278768f, 0.247829f, 0.204674f, 0.151948f, 0.093150f, 0.032213f, -0.027384f, -0.082725f, -0.131073f, -0.170143f, -0.198644f, -0.216046f, -0.222008f, -0.216506f, -0.200271f, -0.174654f, -0.141292f, -0.102339f, -0.060692f, -0.019479f, 0.018647f, 0.051612f, 0.077849f, 0.096642f, 0.108377f, 0.114133f, 0.115126f, 0.112602f, 0.107828f, 0.101742f, 0.094680f, 0.086589f, 0.077282f, 0.066381f, 0.053290f, 0.037528f, 0.019026f, -0.001919f, -0.024735f, -0.048435f, -0.071577f, -0.092532f, -0.109764f, -0.121883f, -0.127706f, -0.126482f, -0.118056f, -0.102791f, -0.081468f, -0.055311f, -0.025990f, 0.004604f, 0.034617f, 0.062318f, 0.086086f, 0.104528f, 0.116707f, 0.122180f, 0.120819f, 0.112758f, 0.098561f, 0.079222f, 0.055839f, 0.029513f, 0.001623f, -0.026174f, -0.052450f, -0.076110f, -0.095839f, -0.109976f, -0.117213f, -0.116756f, -0.107640f, -0.088934f, -0.061097f, -0.026291f, 0.012728f, 0.052593f, 0.088103f, 0.113109f, 0.123416f, + 0.117418f, 0.094520f, 0.056280f, 0.009387f, -0.036193f, -0.072454f, -0.092836f, -0.088360f, -0.054153f, -0.003640f, 0.033648f, 0.037891f, 0.018462f, 0.000482f, -0.003500f, -0.000290f, 0.000806f, -0.000263f, -0.000070f, 0.000856f, 0.000579f, -0.000126f, 0.000123f, 0.000593f, 0.000279f, -0.000154f, 0.000040f, 0.000275f, 0.000000f, -0.000274f, -0.000137f, -0.000025f, -0.000233f, -0.000394f, -0.000293f, -0.000233f, -0.000362f, -0.000433f, -0.000345f, -0.000295f, -0.000349f, -0.000351f, -0.000262f, -0.000205f, -0.000205f, -0.000164f, -0.000070f, -0.000011f} + }, + { + {-0.132877f, -0.397611f, -0.632915f, -0.770285f, -0.762715f, -0.657573f, -0.569424f, -0.556718f, -0.559329f, -0.492160f, -0.364513f, -0.254027f, -0.187319f, -0.112359f, 0.013869f, 0.171586f, 0.321788f, 0.450390f, 0.550169f, 0.601920f, 0.599231f, 0.564879f, 0.522168f, 0.469068f, 0.394550f, 0.302090f, 0.202848f, 0.098985f, -0.013558f, -0.133110f, -0.250310f, -0.352539f, -0.427473f, -0.468674f, -0.479833f, -0.468872f, -0.438208f, -0.385801f, -0.314336f, -0.233571f, -0.153994f, -0.082221f, -0.021254f, 0.029103f, 0.071856f, 0.110418f, 0.147141f, 0.184866f, 0.227200f, 0.274979f, 0.323626f, 0.364907f, 0.390119f, 0.392168f, 0.367889f, 0.319988f, 0.255281f, 0.180008f, 0.097315f, 0.008624f, -0.084265f, -0.178270f, -0.268396f, -0.347509f, -0.407904f, -0.443969f, -0.453626f, -0.437976f, -0.400261f, -0.344545f, -0.274131f, -0.190824f, -0.096114f, 0.006594f, 0.110784f, 0.207596f, 0.287902f, 0.344723f, 0.375140f, 0.380738f, 0.366034f, 0.336036f, 0.294883f, 0.246060f, 0.192748f, 0.137428f, 0.081636f, 0.026552f, -0.026567f, -0.076804f, -0.123861f, -0.167467f, -0.206909f, -0.241250f, -0.269252f, -0.288705f, + -0.296573f, -0.290377f, -0.269166f, -0.233229f, -0.183841f, -0.123651f, -0.056479f, 0.013719f, 0.083262f, 0.148262f, 0.204724f, 0.249465f, 0.280399f, 0.296003f, 0.295349f, 0.278768f, 0.247829f, 0.204674f, 0.151948f, 0.093150f, 0.032213f, -0.027384f, -0.082725f, -0.131073f, -0.170143f, -0.198644f, -0.216046f, -0.222008f, -0.216506f, -0.200271f, -0.174654f, -0.141292f, -0.102339f, -0.060692f, -0.019479f, 0.018647f, 0.051612f, 0.077849f, 0.096642f, 0.108377f, 0.114133f, 0.115126f, 0.112602f, 0.107828f, 0.101742f, 0.094680f, 0.086589f, 0.077282f, 0.066381f, 0.053290f, 0.037528f, 0.019026f, -0.001919f, -0.024735f, -0.048435f, -0.071577f, -0.092532f, -0.109764f, -0.121883f, -0.127706f, -0.126482f, -0.118056f, -0.102791f, -0.081468f, -0.055311f, -0.025990f, 0.004604f, 0.034617f, 0.062318f, 0.086086f, 0.104528f, 0.116707f, 0.122180f, 0.120819f, 0.112758f, 0.098561f, 0.079222f, 0.055839f, 0.029513f, 0.001623f, -0.026174f, -0.052450f, -0.076110f, -0.095839f, -0.109976f, -0.117213f, -0.116756f, -0.107640f, -0.088934f, -0.061097f, -0.026291f, 0.012728f, 0.052593f, 0.088103f, 0.113109f, 0.123416f, + 0.117418f, 0.094520f, 0.056280f, 0.009387f, -0.036193f, -0.072454f, -0.092836f, -0.088360f, -0.054153f, -0.003640f, 0.033648f, 0.037891f, 0.018462f, 0.000482f, -0.003500f, -0.000290f, 0.000806f, -0.000263f, -0.000070f, 0.000856f, 0.000579f, -0.000126f, 0.000123f, 0.000593f, 0.000279f, -0.000154f, 0.000040f, 0.000275f, 0.000000f, -0.000274f, -0.000137f, -0.000025f, -0.000233f, -0.000394f, -0.000293f, -0.000233f, -0.000362f, -0.000433f, -0.000345f, -0.000295f, -0.000349f, -0.000351f, -0.000262f, -0.000205f, -0.000205f, -0.000164f, -0.000070f, -0.000011f}, + {0.000548f, 0.016581f, 0.053765f, 0.073281f, 0.025961f, -0.087700f, -0.207119f, -0.273414f, -0.285064f, -0.274298f, -0.250255f, -0.200671f, -0.140017f, -0.114239f, -0.149921f, -0.229225f, -0.323553f, -0.423074f, -0.520572f, -0.593892f, -0.626821f, -0.633223f, -0.641666f, -0.663565f, -0.689675f, -0.710438f, -0.725598f, -0.736662f, -0.742149f, -0.741673f, -0.737421f, -0.729820f, -0.715763f, -0.691715f, -0.655607f, -0.606006f, -0.543295f, -0.472954f, -0.404984f, -0.347908f, -0.304206f, -0.272432f, -0.251856f, -0.242831f, -0.243698f, -0.250172f, -0.258244f, -0.266093f, -0.273123f, -0.278938f, -0.283885f, -0.289531f, -0.298203f, -0.312469f, -0.334435f, -0.364557f, -0.401392f, -0.442943f, -0.487333f, -0.531807f, -0.572843f, -0.608619f, -0.640227f, -0.669360f, -0.695931f, -0.718798f, -0.737129f, -0.749510f, -0.752911f, -0.744271f, -0.722888f, -0.690591f, -0.650434f, -0.606110f, -0.561850f, -0.521475f, -0.486993f, -0.458126f, -0.433048f, -0.409626f, -0.386312f, -0.362259f, -0.336987f, -0.310333f, -0.282627f, -0.254475f, -0.226254f, -0.198128f, -0.170462f, -0.143899f, -0.119124f, -0.096842f, -0.077957f, -0.063776f, -0.056222f, -0.057684f, + -0.070113f, -0.094371f, -0.130791f, -0.179633f, -0.239941f, -0.308585f, -0.381898f, -0.458052f, -0.536571f, -0.616164f, -0.694955f, -0.772624f, -0.850111f, -0.926782f, -0.999760f, -1.066559f, -1.126570f, -1.179184f, -1.222302f, -1.254125f, -1.275290f, -1.287722f, -1.292081f, -1.287917f, -1.276087f, -1.259277f, -1.239681f, -1.217607f, -1.193156f, -1.167869f, -1.143244f, -1.118482f, -1.091357f, -1.060859f, -1.027345f, -0.990451f, -0.948918f, -0.902895f, -0.854755f, -0.806966f, -0.760446f, -0.715619f, -0.673842f, -0.636793f, -0.605072f, -0.578270f, -0.556179f, -0.539266f, -0.527859f, -0.521263f, -0.518112f, -0.517554f, -0.519483f, -0.523339f, -0.527397f, -0.529962f, -0.530623f, -0.529392f, -0.525185f, -0.516374f, -0.502523f, -0.484304f, -0.461738f, -0.433778f, -0.399827f, -0.360530f, -0.316583f, -0.267592f, -0.212873f, -0.152952f, -0.089351f, -0.022879f, 0.046836f, 0.119626f, 0.193722f, 0.267453f, 0.340856f, 0.414052f, 0.485116f, 0.551637f, 0.613347f, 0.670732f, 0.722013f, 0.764382f, 0.797237f, 0.820973f, 0.833604f, 0.832100f, 0.815925f, 0.785566f, 0.739077f, 0.674193f, 0.592209f, 0.495751f, 0.385312f, 0.262580f, + 0.134060f, 0.006641f, -0.116089f, -0.227998f, -0.317292f, -0.375423f, -0.399942f, -0.380080f, -0.295089f, -0.148552f, 0.003715f, 0.088509f, 0.084442f, 0.037741f, 0.004798f, -0.000952f, 0.001504f, 0.000011f, -0.001418f, 0.000239f, 0.001076f, -0.000365f, -0.000858f, 0.000368f, 0.000671f, -0.000340f, -0.000494f, 0.000359f, 0.000427f, -0.000288f, -0.000300f, 0.000287f, 0.000246f, -0.000250f, -0.000191f, 0.000205f, 0.000117f, -0.000209f, -0.000114f, 0.000138f, 0.000031f, -0.000158f, -0.000043f, 0.000092f, -0.000022f, -0.000096f, 0.000027f, 0.000057f} + } +}; +const float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; + +/********************** Sample Rate = 32000 **********************/ + +const float CRendBin_Combined_HRIR_latency_s_32kHz = 0.000020833333110f; +const int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz = 1; +const uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; +const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; +const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][1]={{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}},{{160},{160}}}; +const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz = 0; +const float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[15]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; +const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float CRendBin_Combined_HRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][160]={ + { + {1.274160f, 1.294020f, 1.337410f, 1.397007f, 1.430345f, 1.392644f, 1.321540f, 1.313359f, 1.357865f, 1.299918f, 1.074412f, 0.879944f, 0.959736f, 1.270988f, 1.546758f, 1.656396f, 1.720956f, 1.866458f, 2.047459f, 2.166309f, 2.211621f, 2.199100f, 2.091661f, 1.870665f, 1.617573f, 1.446851f, 1.393188f, 1.413236f, 1.466179f, 1.550859f, 1.683267f, 1.868310f, 2.085674f, 2.289697f, 2.432421f, 2.495403f, 2.495189f, 2.459782f, 2.406497f, 2.337636f, 2.248632f, 2.141773f, 2.034425f, 1.948929f, 1.893998f, 1.861756f, 1.839825f, 1.817228f, 1.782513f, 1.728672f, 1.660650f, 1.590534f, 1.526449f, 1.470717f, 1.424223f, 1.386891f, 1.357216f, 1.334362f, 1.316849f, 1.298879f, 1.273497f, 1.238579f, 1.193651f, 1.133144f, 1.050266f, 0.946198f, 0.830030f, 0.712686f, 0.605579f, 0.520129f, 0.462158f, 0.429220f, 0.416204f, 0.419491f, 0.434223f, 0.453184f, 0.470641f, 0.483821f, 0.491166f, 0.493159f, 0.493315f, 0.494589f, 0.497104f, 0.501870f, 0.512491f, 0.530588f, 0.554259f, 0.582935f, 0.618415f, 0.659661f, 0.701812f, 0.741007f, 0.775413f, 0.802205f, 0.818331f, 0.823262f, + 0.817499f, 0.800855f, 0.774865f, 0.743310f, 0.708492f, 0.671074f, 0.633855f, 0.600330f, 0.569970f, 0.540678f, 0.514469f, 0.494946f, 0.481818f, 0.473694f, 0.472732f, 0.481094f, 0.496964f, 0.518455f, 0.546609f, 0.581486f, 0.621040f, 0.665611f, 0.717402f, 0.775509f, 0.837954f, 0.906864f, 0.984687f, 1.068602f, 1.155523f, 1.247778f, 1.347134f, 1.449104f, 1.549101f, 1.647389f, 1.742972f, 1.829635f, 1.901324f, 1.954515f, 1.984287f, 1.984824f, 1.952760f, 1.885002f, 1.778297f, 1.635195f, 1.462468f, 1.261420f, 1.031242f, 0.781118f, 0.523064f, 0.255971f, -0.024648f, -0.309222f, -0.588359f, -0.870855f, -1.164972f, -1.466926f, -1.790488f, -2.153822f, -2.486393f, -2.616851f, -2.448223f, -2.105871f, -1.817613f, -1.687068f}, + {0.970276f, 0.989255f, 0.871577f, 0.597876f, 0.336366f, 0.173178f, 0.019706f, -0.159984f, -0.243784f, -0.153498f, 0.008399f, 0.095745f, 0.051486f, -0.138486f, -0.467152f, -0.822595f, -1.024373f, -1.014141f, -0.903886f, -0.794827f, -0.668354f, -0.501337f, -0.360612f, -0.305798f, -0.293410f, -0.252892f, -0.184179f, -0.111256f, -0.003926f, 0.177841f, 0.402150f, 0.597826f, 0.746294f, 0.878887f, 0.991944f, 1.024725f, 0.936772f, 0.767161f, 0.593896f, 0.457569f, 0.346793f, 0.240733f, 0.135325f, 0.029786f, -0.084188f, -0.208198f, -0.327790f, -0.427675f, -0.506080f, -0.566715f, -0.606654f, -0.620426f, -0.608890f, -0.577204f, -0.529440f, -0.469766f, -0.403401f, -0.332230f, -0.253653f, -0.166268f, -0.073041f, 0.021610f, 0.112939f, 0.193509f, 0.255064f, 0.294744f, 0.316342f, 0.324872f, 0.323044f, 0.313291f, 0.299731f, 0.286569f, 0.276133f, 0.269047f, 0.264854f, 0.261697f, 0.256138f, 0.244182f, 0.223051f, 0.192601f, 0.155342f, 0.114760f, 0.073144f, 0.030352f, -0.016156f, -0.070224f, -0.134644f, -0.208324f, -0.285309f, -0.356772f, -0.413944f, -0.449609f, -0.458703f, -0.439528f, -0.394930f, -0.331849f, + -0.259659f, -0.188462f, -0.126919f, -0.079747f, -0.047119f, -0.026644f, -0.014920f, -0.007007f, 0.003477f, 0.022326f, 0.053985f, 0.103077f, 0.173949f, 0.266925f, 0.376398f, 0.492936f, 0.604875f, 0.697909f, 0.757166f, 0.771956f, 0.737231f, 0.651307f, 0.515864f, 0.338233f, 0.130148f, -0.096058f, -0.327499f, -0.548579f, -0.742907f, -0.897278f, -1.001720f, -1.048233f, -1.033356f, -0.960708f, -0.838436f, -0.676033f, -0.484975f, -0.278710f, -0.069071f, 0.135392f, 0.327026f, 0.498327f, 0.643893f, 0.759696f, 0.840685f, 0.882278f, 0.882920f, 0.842334f, 0.760127f, 0.639470f, 0.488681f, 0.316680f, 0.131973f, -0.052258f, -0.220428f, -0.364266f, -0.478726f, -0.543965f, -0.528700f, -0.427785f, -0.288213f, -0.179234f, -0.133783f, -0.129365f} + }, + { + {0.970276f, 0.989255f, 0.871577f, 0.597876f, 0.336366f, 0.173178f, 0.019706f, -0.159984f, -0.243784f, -0.153498f, 0.008399f, 0.095745f, 0.051486f, -0.138486f, -0.467152f, -0.822595f, -1.024373f, -1.014141f, -0.903886f, -0.794827f, -0.668354f, -0.501337f, -0.360612f, -0.305798f, -0.293410f, -0.252892f, -0.184179f, -0.111256f, -0.003926f, 0.177841f, 0.402150f, 0.597826f, 0.746294f, 0.878887f, 0.991944f, 1.024725f, 0.936772f, 0.767161f, 0.593896f, 0.457569f, 0.346793f, 0.240733f, 0.135325f, 0.029786f, -0.084188f, -0.208198f, -0.327790f, -0.427675f, -0.506080f, -0.566715f, -0.606654f, -0.620426f, -0.608890f, -0.577204f, -0.529440f, -0.469766f, -0.403401f, -0.332230f, -0.253653f, -0.166268f, -0.073041f, 0.021610f, 0.112939f, 0.193509f, 0.255064f, 0.294744f, 0.316342f, 0.324872f, 0.323044f, 0.313291f, 0.299731f, 0.286569f, 0.276133f, 0.269047f, 0.264854f, 0.261697f, 0.256138f, 0.244182f, 0.223051f, 0.192601f, 0.155342f, 0.114760f, 0.073144f, 0.030352f, -0.016156f, -0.070224f, -0.134644f, -0.208324f, -0.285309f, -0.356772f, -0.413944f, -0.449609f, -0.458703f, -0.439528f, -0.394930f, -0.331849f, + -0.259659f, -0.188462f, -0.126919f, -0.079747f, -0.047119f, -0.026644f, -0.014920f, -0.007007f, 0.003477f, 0.022326f, 0.053985f, 0.103077f, 0.173949f, 0.266925f, 0.376398f, 0.492936f, 0.604875f, 0.697909f, 0.757166f, 0.771956f, 0.737231f, 0.651307f, 0.515864f, 0.338233f, 0.130148f, -0.096058f, -0.327499f, -0.548579f, -0.742907f, -0.897278f, -1.001720f, -1.048233f, -1.033356f, -0.960708f, -0.838436f, -0.676033f, -0.484975f, -0.278710f, -0.069071f, 0.135392f, 0.327026f, 0.498327f, 0.643893f, 0.759696f, 0.840685f, 0.882278f, 0.882920f, 0.842334f, 0.760127f, 0.639470f, 0.488681f, 0.316680f, 0.131973f, -0.052258f, -0.220428f, -0.364266f, -0.478726f, -0.543965f, -0.528700f, -0.427785f, -0.288213f, -0.179234f, -0.133783f, -0.129365f}, + {1.274160f, 1.294020f, 1.337410f, 1.397007f, 1.430345f, 1.392644f, 1.321540f, 1.313359f, 1.357865f, 1.299918f, 1.074412f, 0.879944f, 0.959736f, 1.270988f, 1.546758f, 1.656396f, 1.720956f, 1.866458f, 2.047459f, 2.166309f, 2.211621f, 2.199100f, 2.091661f, 1.870665f, 1.617573f, 1.446851f, 1.393188f, 1.413236f, 1.466179f, 1.550859f, 1.683267f, 1.868310f, 2.085674f, 2.289697f, 2.432421f, 2.495403f, 2.495189f, 2.459782f, 2.406497f, 2.337636f, 2.248632f, 2.141773f, 2.034425f, 1.948929f, 1.893998f, 1.861756f, 1.839825f, 1.817228f, 1.782513f, 1.728672f, 1.660650f, 1.590534f, 1.526449f, 1.470717f, 1.424223f, 1.386891f, 1.357216f, 1.334362f, 1.316849f, 1.298879f, 1.273497f, 1.238579f, 1.193651f, 1.133144f, 1.050266f, 0.946198f, 0.830030f, 0.712686f, 0.605579f, 0.520129f, 0.462158f, 0.429220f, 0.416204f, 0.419491f, 0.434223f, 0.453184f, 0.470641f, 0.483821f, 0.491166f, 0.493159f, 0.493315f, 0.494589f, 0.497104f, 0.501870f, 0.512491f, 0.530588f, 0.554259f, 0.582935f, 0.618415f, 0.659661f, 0.701812f, 0.741007f, 0.775413f, 0.802205f, 0.818331f, 0.823262f, + 0.817499f, 0.800855f, 0.774865f, 0.743310f, 0.708492f, 0.671074f, 0.633855f, 0.600330f, 0.569970f, 0.540678f, 0.514469f, 0.494946f, 0.481818f, 0.473694f, 0.472732f, 0.481094f, 0.496964f, 0.518455f, 0.546609f, 0.581486f, 0.621040f, 0.665611f, 0.717402f, 0.775509f, 0.837954f, 0.906864f, 0.984687f, 1.068602f, 1.155523f, 1.247778f, 1.347134f, 1.449104f, 1.549101f, 1.647389f, 1.742972f, 1.829635f, 1.901324f, 1.954515f, 1.984287f, 1.984824f, 1.952760f, 1.885002f, 1.778297f, 1.635195f, 1.462468f, 1.261420f, 1.031242f, 0.781118f, 0.523064f, 0.255971f, -0.024648f, -0.309222f, -0.588359f, -0.870855f, -1.164972f, -1.466926f, -1.790488f, -2.153822f, -2.486393f, -2.616851f, -2.448223f, -2.105871f, -1.817613f, -1.687068f} + }, + { + {1.085267f, 1.152261f, 1.211254f, 1.149749f, 0.971009f, 0.866642f, 0.973613f, 1.106024f, 0.955689f, 0.568331f, 0.367265f, 0.613757f, 1.064472f, 1.307157f, 1.265967f, 1.200519f, 1.313280f, 1.541852f, 1.705537f, 1.706229f, 1.568164f, 1.377410f, 1.218876f, 1.132463f, 1.108780f, 1.130031f, 1.199863f, 1.323700f, 1.481829f, 1.635911f, 1.747006f, 1.784852f, 1.742653f, 1.647793f, 1.537415f, 1.420984f, 1.285988f, 1.138370f, 1.013812f, 0.945860f, 0.939755f, 0.977271f, 1.030441f, 1.070328f, 1.078971f, 1.058884f, 1.024800f, 0.985828f, 0.939938f, 0.882986f, 0.817274f, 0.751424f, 0.694070f, 0.647432f, 0.607447f, 0.570514f, 0.536843f, 0.505711f, 0.472714f, 0.435641f, 0.398968f, 0.368542f, 0.344855f, 0.324511f, 0.305620f, 0.289416f, 0.278288f, 0.273203f, 0.272251f, 0.272533f, 0.274178f, 0.280435f, 0.293045f, 0.310308f, 0.330160f, 0.351786f, 0.373986f, 0.395582f, 0.417508f, 0.441271f, 0.465902f, 0.489267f, 0.511114f, 0.532441f, 0.553769f, 0.575766f, 0.598998f, 0.621885f, 0.641757f, 0.657943f, 0.670310f, 0.675616f, 0.669581f, 0.651537f, 0.623393f, 0.586505f, + 0.543751f, 0.501741f, 0.466651f, 0.440414f, 0.423767f, 0.419239f, 0.428634f, 0.451471f, 0.487558f, 0.537488f, 0.600521f, 0.675890f, 0.764826f, 0.867101f, 0.977943f, 1.092168f, 1.207453f, 1.319899f, 1.421773f, 1.507786f, 1.578085f, 1.631894f, 1.664687f, 1.674570f, 1.664682f, 1.636762f, 1.588484f, 1.518454f, 1.428003f, 1.317560f, 1.186183f, 1.034404f, 0.864540f, 0.680250f, 0.487109f, 0.289870f, 0.089451f, -0.112563f, -0.309528f, -0.496881f, -0.678674f, -0.858573f, -1.031550f, -1.194122f, -1.353146f, -1.513379f, -1.667664f, -1.810571f, -1.947846f, -2.081093f, -2.199345f, -2.296286f, -2.376795f, -2.438015f, -2.467707f, -2.466689f, -2.437081f, -2.336441f, -2.091727f, -1.697365f, -1.271170f, -0.969067f, -0.847236f, -0.833407f}, + {1.085267f, 1.152261f, 1.211254f, 1.149749f, 0.971009f, 0.866642f, 0.973613f, 1.106024f, 0.955689f, 0.568331f, 0.367265f, 0.613757f, 1.064472f, 1.307157f, 1.265967f, 1.200519f, 1.313280f, 1.541852f, 1.705537f, 1.706229f, 1.568164f, 1.377410f, 1.218876f, 1.132463f, 1.108780f, 1.130031f, 1.199863f, 1.323700f, 1.481829f, 1.635911f, 1.747006f, 1.784852f, 1.742653f, 1.647793f, 1.537415f, 1.420984f, 1.285988f, 1.138370f, 1.013812f, 0.945860f, 0.939755f, 0.977271f, 1.030441f, 1.070328f, 1.078971f, 1.058884f, 1.024800f, 0.985828f, 0.939938f, 0.882986f, 0.817274f, 0.751424f, 0.694070f, 0.647432f, 0.607447f, 0.570514f, 0.536843f, 0.505711f, 0.472714f, 0.435641f, 0.398968f, 0.368542f, 0.344855f, 0.324511f, 0.305620f, 0.289416f, 0.278288f, 0.273203f, 0.272251f, 0.272533f, 0.274178f, 0.280435f, 0.293045f, 0.310308f, 0.330160f, 0.351786f, 0.373986f, 0.395582f, 0.417508f, 0.441271f, 0.465902f, 0.489267f, 0.511114f, 0.532441f, 0.553769f, 0.575766f, 0.598998f, 0.621885f, 0.641757f, 0.657943f, 0.670310f, 0.675616f, 0.669581f, 0.651537f, 0.623393f, 0.586505f, + 0.543751f, 0.501741f, 0.466651f, 0.440414f, 0.423767f, 0.419239f, 0.428634f, 0.451471f, 0.487558f, 0.537488f, 0.600521f, 0.675890f, 0.764826f, 0.867101f, 0.977943f, 1.092168f, 1.207453f, 1.319899f, 1.421773f, 1.507786f, 1.578085f, 1.631894f, 1.664687f, 1.674570f, 1.664682f, 1.636762f, 1.588484f, 1.518454f, 1.428003f, 1.317560f, 1.186183f, 1.034404f, 0.864540f, 0.680250f, 0.487109f, 0.289870f, 0.089451f, -0.112563f, -0.309528f, -0.496881f, -0.678674f, -0.858573f, -1.031550f, -1.194122f, -1.353146f, -1.513379f, -1.667664f, -1.810571f, -1.947846f, -2.081093f, -2.199345f, -2.296286f, -2.376795f, -2.438015f, -2.467707f, -2.466689f, -2.437081f, -2.336441f, -2.091727f, -1.697365f, -1.271170f, -0.969067f, -0.847236f, -0.833407f} + }, + { + {1.063637f, 1.049948f, 1.086384f, 1.183797f, 1.296273f, 1.415018f, 1.543693f, 1.612469f, 1.556818f, 1.452907f, 1.427515f, 1.459162f, 1.420264f, 1.294044f, 1.190504f, 1.155630f, 1.120377f, 1.045118f, 0.972069f, 0.919124f, 0.847607f, 0.755348f, 0.695900f, 0.688650f, 0.697752f, 0.705992f, 0.727492f, 0.745497f, 0.716209f, 0.641022f, 0.570166f, 0.531001f, 0.507183f, 0.487583f, 0.484983f, 0.504740f, 0.536379f, 0.578041f, 0.637538f, 0.709342f, 0.774552f, 0.821621f, 0.850375f, 0.861813f, 0.858985f, 0.852665f, 0.855130f, 0.872248f, 0.905940f, 0.956533f, 1.018160f, 1.078485f, 1.125914f, 1.152867f, 1.153957f, 1.128181f, 1.082146f, 1.025211f, 0.962215f, 0.894440f, 0.824318f, 0.754663f, 0.686000f, 0.618588f, 0.555115f, 0.499006f, 0.452213f, 0.416110f, 0.392138f, 0.380331f, 0.378985f, 0.386260f, 0.400712f, 0.420754f, 0.445470f, 0.475732f, 0.513289f, 0.559298f, 0.614782f, 0.681710f, 0.762351f, 0.857613f, 0.966535f, 1.087403f, 1.219077f, 1.360788f, 1.510315f, 1.662975f, 1.812873f, 1.953724f, 2.077144f, 2.172270f, 2.230289f, 2.248747f, 2.229143f, 2.172148f, + 2.078893f, 1.955382f, 1.810735f, 1.651097f, 1.479367f, 1.300345f, 1.120903f, 0.944335f, 0.769404f, 0.596549f, 0.431085f, 0.278829f, 0.142420f, 0.023726f, -0.073876f, -0.148420f, -0.202406f, -0.240652f, -0.266342f, -0.280625f, -0.284772f, -0.281007f, -0.271464f, -0.257350f, -0.239505f, -0.219653f, -0.200403f, -0.183348f, -0.167670f, -0.151607f, -0.134585f, -0.116624f, -0.096605f, -0.073157f, -0.046830f, -0.019722f, 0.006408f, 0.030219f, 0.049849f, 0.063222f, 0.068554f, 0.064149f, 0.048963f, 0.023015f, -0.014445f, -0.065932f, -0.132497f, -0.211661f, -0.301246f, -0.401651f, -0.510888f, -0.622490f, -0.732373f, -0.841490f, -0.948993f, -1.053059f, -1.159075f, -1.265357f, -1.332750f, -1.299989f, -1.156448f, -0.976901f, -0.852061f, -0.803729f}, + {0.884083f, 0.742870f, 0.484034f, 0.189010f, -0.047347f, -0.209107f, -0.344738f, -0.459774f, -0.499823f, -0.451724f, -0.382172f, -0.347168f, -0.330087f, -0.301047f, -0.273879f, -0.260219f, -0.215653f, -0.082482f, 0.135367f, 0.371639f, 0.553528f, 0.638327f, 0.619182f, 0.521423f, 0.383944f, 0.230950f, 0.070136f, -0.081916f, -0.195335f, -0.256069f, -0.280341f, -0.291132f, -0.295855f, -0.293544f, -0.286342f, -0.272513f, -0.239647f, -0.175676f, -0.081987f, 0.027920f, 0.135920f, 0.222729f, 0.272143f, 0.278209f, 0.246991f, 0.191063f, 0.124955f, 0.063713f, 0.019080f, -0.005719f, -0.015586f, -0.017859f, -0.018227f, -0.020272f, -0.025418f, -0.032738f, -0.040246f, -0.046606f, -0.051516f, -0.055628f, -0.060728f, -0.068985f, -0.081305f, -0.096657f, -0.112333f, -0.123552f, -0.123315f, -0.104730f, -0.064704f, -0.005665f, 0.065287f, 0.138018f, 0.201361f, 0.245987f, 0.266784f, 0.262900f, 0.236050f, 0.188970f, 0.124607f, 0.045940f, -0.043179f, -0.136409f, -0.224142f, -0.294589f, -0.336178f, -0.340444f, -0.304841f, -0.234204f, -0.139606f, -0.035148f, 0.065318f, 0.150348f, 0.212111f, 0.246790f, 0.254210f, 0.237086f, + 0.200362f, 0.150513f, 0.094645f, 0.039670f, -0.008438f, -0.045554f, -0.070189f, -0.083386f, -0.087751f, -0.086464f, -0.082639f, -0.078760f, -0.076232f, -0.075397f, -0.075811f, -0.076287f, -0.074859f, -0.069085f, -0.056682f, -0.036162f, -0.007454f, 0.027621f, 0.065474f, 0.101542f, 0.131285f, 0.150979f, 0.158284f, 0.152450f, 0.134029f, 0.104444f, 0.065783f, 0.020707f, -0.027709f, -0.075976f, -0.120047f, -0.155502f, -0.178183f, -0.184820f, -0.173566f, -0.144714f, -0.101232f, -0.048394f, 0.007260f, 0.058957f, 0.100774f, 0.128927f, 0.142378f, 0.142213f, 0.130754f, 0.111206f, 0.087043f, 0.060849f, 0.034081f, 0.008064f, -0.015849f, -0.037361f, -0.056513f, -0.070516f, -0.073401f, -0.061979f, -0.041900f, -0.024640f, -0.017159f, -0.016562f} + }, + { + {0.884083f, 0.742870f, 0.484034f, 0.189010f, -0.047347f, -0.209107f, -0.344738f, -0.459774f, -0.499823f, -0.451724f, -0.382172f, -0.347168f, -0.330087f, -0.301047f, -0.273879f, -0.260219f, -0.215653f, -0.082482f, 0.135367f, 0.371639f, 0.553528f, 0.638327f, 0.619182f, 0.521423f, 0.383944f, 0.230950f, 0.070136f, -0.081916f, -0.195335f, -0.256069f, -0.280341f, -0.291132f, -0.295855f, -0.293544f, -0.286342f, -0.272513f, -0.239647f, -0.175676f, -0.081987f, 0.027920f, 0.135920f, 0.222729f, 0.272143f, 0.278209f, 0.246991f, 0.191063f, 0.124955f, 0.063713f, 0.019080f, -0.005719f, -0.015586f, -0.017859f, -0.018227f, -0.020272f, -0.025418f, -0.032738f, -0.040246f, -0.046606f, -0.051516f, -0.055628f, -0.060728f, -0.068985f, -0.081305f, -0.096657f, -0.112333f, -0.123552f, -0.123315f, -0.104730f, -0.064704f, -0.005665f, 0.065287f, 0.138018f, 0.201361f, 0.245987f, 0.266784f, 0.262900f, 0.236050f, 0.188970f, 0.124607f, 0.045940f, -0.043179f, -0.136409f, -0.224142f, -0.294589f, -0.336178f, -0.340444f, -0.304841f, -0.234204f, -0.139606f, -0.035148f, 0.065318f, 0.150348f, 0.212111f, 0.246790f, 0.254210f, 0.237086f, + 0.200362f, 0.150513f, 0.094645f, 0.039670f, -0.008438f, -0.045554f, -0.070189f, -0.083386f, -0.087751f, -0.086464f, -0.082639f, -0.078760f, -0.076232f, -0.075397f, -0.075811f, -0.076287f, -0.074859f, -0.069085f, -0.056682f, -0.036162f, -0.007454f, 0.027621f, 0.065474f, 0.101542f, 0.131285f, 0.150979f, 0.158284f, 0.152450f, 0.134029f, 0.104444f, 0.065783f, 0.020707f, -0.027709f, -0.075976f, -0.120047f, -0.155502f, -0.178183f, -0.184820f, -0.173566f, -0.144714f, -0.101232f, -0.048394f, 0.007260f, 0.058957f, 0.100774f, 0.128927f, 0.142378f, 0.142213f, 0.130754f, 0.111206f, 0.087043f, 0.060849f, 0.034081f, 0.008064f, -0.015849f, -0.037361f, -0.056513f, -0.070516f, -0.073401f, -0.061979f, -0.041900f, -0.024640f, -0.017159f, -0.016562f}, + {1.063637f, 1.049948f, 1.086384f, 1.183797f, 1.296273f, 1.415018f, 1.543693f, 1.612469f, 1.556818f, 1.452907f, 1.427515f, 1.459162f, 1.420264f, 1.294044f, 1.190504f, 1.155630f, 1.120377f, 1.045118f, 0.972069f, 0.919124f, 0.847607f, 0.755348f, 0.695900f, 0.688650f, 0.697752f, 0.705992f, 0.727492f, 0.745497f, 0.716209f, 0.641022f, 0.570166f, 0.531001f, 0.507183f, 0.487583f, 0.484983f, 0.504740f, 0.536379f, 0.578041f, 0.637538f, 0.709342f, 0.774552f, 0.821621f, 0.850375f, 0.861813f, 0.858985f, 0.852665f, 0.855130f, 0.872248f, 0.905940f, 0.956533f, 1.018160f, 1.078485f, 1.125914f, 1.152867f, 1.153957f, 1.128181f, 1.082146f, 1.025211f, 0.962215f, 0.894440f, 0.824318f, 0.754663f, 0.686000f, 0.618588f, 0.555115f, 0.499006f, 0.452213f, 0.416110f, 0.392138f, 0.380331f, 0.378985f, 0.386260f, 0.400712f, 0.420754f, 0.445470f, 0.475732f, 0.513289f, 0.559298f, 0.614782f, 0.681710f, 0.762351f, 0.857613f, 0.966535f, 1.087403f, 1.219077f, 1.360788f, 1.510315f, 1.662975f, 1.812873f, 1.953724f, 2.077144f, 2.172270f, 2.230289f, 2.248747f, 2.229143f, 2.172148f, + 2.078893f, 1.955382f, 1.810735f, 1.651097f, 1.479367f, 1.300345f, 1.120903f, 0.944335f, 0.769404f, 0.596549f, 0.431085f, 0.278829f, 0.142420f, 0.023726f, -0.073876f, -0.148420f, -0.202406f, -0.240652f, -0.266342f, -0.280625f, -0.284772f, -0.281007f, -0.271464f, -0.257350f, -0.239505f, -0.219653f, -0.200403f, -0.183348f, -0.167670f, -0.151607f, -0.134585f, -0.116624f, -0.096605f, -0.073157f, -0.046830f, -0.019722f, 0.006408f, 0.030219f, 0.049849f, 0.063222f, 0.068554f, 0.064149f, 0.048963f, 0.023015f, -0.014445f, -0.065932f, -0.132497f, -0.211661f, -0.301246f, -0.401651f, -0.510888f, -0.622490f, -0.732373f, -0.841490f, -0.948993f, -1.053059f, -1.159075f, -1.265357f, -1.332750f, -1.299989f, -1.156448f, -0.976901f, -0.852061f, -0.803729f} + }, + { + {1.162181f, 1.141798f, 1.179331f, 1.312669f, 1.480555f, 1.604003f, 1.670306f, 1.695382f, 1.657718f, 1.541807f, 1.413737f, 1.363031f, 1.373945f, 1.344708f, 1.245904f, 1.165785f, 1.167020f, 1.190832f, 1.158172f, 1.088594f, 1.049454f, 1.044643f, 1.028324f, 0.992763f, 0.971665f, 0.973963f, 0.973448f, 0.958360f, 0.946807f, 0.954173f, 0.976219f, 1.002416f, 1.024019f, 1.032959f, 1.029383f, 1.026640f, 1.038825f, 1.068822f, 1.113169f, 1.168957f, 1.230999f, 1.291508f, 1.346952f, 1.398324f, 1.443741f, 1.478287f, 1.501426f, 1.518040f, 1.532576f, 1.547027f, 1.562611f, 1.578765f, 1.592058f, 1.598749f, 1.596511f, 1.583342f, 1.558420f, 1.523901f, 1.482143f, 1.432374f, 1.373890f, 1.310066f, 1.244815f, 1.177941f, 1.108302f, 1.038172f, 0.970189f, 0.903576f, 0.837584f, 0.775562f, 0.722310f, 0.680443f, 0.651673f, 0.638265f, 0.641074f, 0.658779f, 0.689980f, 0.733722f, 0.788343f, 0.852546f, 0.926831f, 1.011394f, 1.104140f, 1.203288f, 1.309951f, 1.425422f, 1.547756f, 1.673494f, 1.800797f, 1.928139f, 2.051052f, 2.162499f, 2.256187f, 2.328001f, 2.374142f, 2.389503f, + 2.369730f, 2.314896f, 2.228939f, 2.114741f, 1.972694f, 1.805661f, 1.621289f, 1.426246f, 1.222051f, 1.010434f, 0.798653f, 0.594793f, 0.401641f, 0.220362f, 0.056562f, -0.082970f, -0.197029f, -0.288612f, -0.359153f, -0.408639f, -0.439636f, -0.457088f, -0.464729f, -0.464047f, -0.456113f, -0.442968f, -0.427436f, -0.411786f, -0.396493f, -0.381143f, -0.366415f, -0.353190f, -0.339754f, -0.322693f, -0.300816f, -0.275555f, -0.247788f, -0.217400f, -0.185761f, -0.155837f, -0.130316f, -0.111467f, -0.101559f, -0.102274f, -0.115577f, -0.144891f, -0.192498f, -0.257270f, -0.338656f, -0.439477f, -0.560090f, -0.695118f, -0.840907f, -0.998289f, -1.164095f, -1.332994f, -1.508120f, -1.680480f, -1.788383f, -1.743468f, -1.535858f, -1.279623f, -1.106724f, -1.043498f}, + {0.905588f, 0.678721f, 0.311452f, -0.074075f, -0.391395f, -0.617293f, -0.746184f, -0.740920f, -0.564252f, -0.254379f, 0.071055f, 0.303498f, 0.417361f, 0.449527f, 0.432288f, 0.367893f, 0.256058f, 0.119389f, -0.008961f, -0.114172f, -0.203831f, -0.281005f, -0.325060f, -0.311031f, -0.241850f, -0.146096f, -0.046032f, 0.054939f, 0.152046f, 0.226111f, 0.259475f, 0.251935f, 0.213195f, 0.150231f, 0.069290f, -0.018553f, -0.100712f, -0.166582f, -0.205558f, -0.209673f, -0.181832f, -0.135168f, -0.081370f, -0.024250f, 0.034933f, 0.092041f, 0.141134f, 0.175712f, 0.187987f, 0.171668f, 0.127233f, 0.062532f, -0.011072f, -0.081089f, -0.134991f, -0.163771f, -0.165597f, -0.144952f, -0.109017f, -0.065402f, -0.020706f, 0.021494f, 0.060945f, 0.098011f, 0.130933f, 0.155438f, 0.165387f, 0.153670f, 0.114571f, 0.047357f, -0.041172f, -0.136224f, -0.216658f, -0.259817f, -0.249548f, -0.183688f, -0.076336f, 0.046314f, 0.154535f, 0.224647f, 0.245627f, 0.219783f, 0.158447f, 0.076683f, -0.010276f, -0.088825f, -0.147781f, -0.178799f, -0.177443f, -0.145071f, -0.089700f, -0.024150f, 0.037705f, 0.084486f, 0.109662f, 0.112458f, + 0.097013f, 0.070123f, 0.038867f, 0.009115f, -0.015219f, -0.032411f, -0.042533f, -0.046682f, -0.046354f, -0.043035f, -0.037774f, -0.030925f, -0.022303f, -0.011540f, 0.001583f, 0.016669f, 0.032205f, 0.045559f, 0.053690f, 0.054105f, 0.045640f, 0.028983f, 0.006793f, -0.016842f, -0.037453f, -0.051237f, -0.055876f, -0.051059f, -0.038496f, -0.021237f, -0.002673f, 0.014251f, 0.027456f, 0.035870f, 0.039284f, 0.038016f, 0.032623f, 0.023845f, 0.012634f, 0.000134f, -0.012341f, -0.023309f, -0.031253f, -0.034934f, -0.033690f, -0.027594f, -0.017500f, -0.005027f, 0.007694f, 0.018568f, 0.026056f, 0.029352f, 0.028366f, 0.023762f, 0.016767f, 0.008566f, -0.000041f, -0.007969f, -0.013188f, -0.013852f, -0.010529f, -0.006339f, -0.004049f, -0.003641f} + }, + { + {0.905588f, 0.678721f, 0.311452f, -0.074075f, -0.391395f, -0.617293f, -0.746184f, -0.740920f, -0.564252f, -0.254379f, 0.071055f, 0.303498f, 0.417361f, 0.449527f, 0.432288f, 0.367893f, 0.256058f, 0.119389f, -0.008961f, -0.114172f, -0.203831f, -0.281005f, -0.325060f, -0.311031f, -0.241850f, -0.146096f, -0.046032f, 0.054939f, 0.152046f, 0.226111f, 0.259475f, 0.251935f, 0.213195f, 0.150231f, 0.069290f, -0.018553f, -0.100712f, -0.166582f, -0.205558f, -0.209673f, -0.181832f, -0.135168f, -0.081370f, -0.024250f, 0.034933f, 0.092041f, 0.141134f, 0.175712f, 0.187987f, 0.171668f, 0.127233f, 0.062532f, -0.011072f, -0.081089f, -0.134991f, -0.163771f, -0.165597f, -0.144952f, -0.109017f, -0.065402f, -0.020706f, 0.021494f, 0.060945f, 0.098011f, 0.130933f, 0.155438f, 0.165387f, 0.153670f, 0.114571f, 0.047357f, -0.041172f, -0.136224f, -0.216658f, -0.259817f, -0.249548f, -0.183688f, -0.076336f, 0.046314f, 0.154535f, 0.224647f, 0.245627f, 0.219783f, 0.158447f, 0.076683f, -0.010276f, -0.088825f, -0.147781f, -0.178799f, -0.177443f, -0.145071f, -0.089700f, -0.024150f, 0.037705f, 0.084486f, 0.109662f, 0.112458f, + 0.097013f, 0.070123f, 0.038867f, 0.009115f, -0.015219f, -0.032411f, -0.042533f, -0.046682f, -0.046354f, -0.043035f, -0.037774f, -0.030925f, -0.022303f, -0.011540f, 0.001583f, 0.016669f, 0.032205f, 0.045559f, 0.053690f, 0.054105f, 0.045640f, 0.028983f, 0.006793f, -0.016842f, -0.037453f, -0.051237f, -0.055876f, -0.051059f, -0.038496f, -0.021237f, -0.002673f, 0.014251f, 0.027456f, 0.035870f, 0.039284f, 0.038016f, 0.032623f, 0.023845f, 0.012634f, 0.000134f, -0.012341f, -0.023309f, -0.031253f, -0.034934f, -0.033690f, -0.027594f, -0.017500f, -0.005027f, 0.007694f, 0.018568f, 0.026056f, 0.029352f, 0.028366f, 0.023762f, 0.016767f, 0.008566f, -0.000041f, -0.007969f, -0.013188f, -0.013852f, -0.010529f, -0.006339f, -0.004049f, -0.003641f}, + {1.162181f, 1.141798f, 1.179331f, 1.312669f, 1.480555f, 1.604003f, 1.670306f, 1.695382f, 1.657718f, 1.541807f, 1.413737f, 1.363031f, 1.373945f, 1.344708f, 1.245904f, 1.165785f, 1.167020f, 1.190832f, 1.158172f, 1.088594f, 1.049454f, 1.044643f, 1.028324f, 0.992763f, 0.971665f, 0.973963f, 0.973448f, 0.958360f, 0.946807f, 0.954173f, 0.976219f, 1.002416f, 1.024019f, 1.032959f, 1.029383f, 1.026640f, 1.038825f, 1.068822f, 1.113169f, 1.168957f, 1.230999f, 1.291508f, 1.346952f, 1.398324f, 1.443741f, 1.478287f, 1.501426f, 1.518040f, 1.532576f, 1.547027f, 1.562611f, 1.578765f, 1.592058f, 1.598749f, 1.596511f, 1.583342f, 1.558420f, 1.523901f, 1.482143f, 1.432374f, 1.373890f, 1.310066f, 1.244815f, 1.177941f, 1.108302f, 1.038172f, 0.970189f, 0.903576f, 0.837584f, 0.775562f, 0.722310f, 0.680443f, 0.651673f, 0.638265f, 0.641074f, 0.658779f, 0.689980f, 0.733722f, 0.788343f, 0.852546f, 0.926831f, 1.011394f, 1.104140f, 1.203288f, 1.309951f, 1.425422f, 1.547756f, 1.673494f, 1.800797f, 1.928139f, 2.051052f, 2.162499f, 2.256187f, 2.328001f, 2.374142f, 2.389503f, + 2.369730f, 2.314896f, 2.228939f, 2.114741f, 1.972694f, 1.805661f, 1.621289f, 1.426246f, 1.222051f, 1.010434f, 0.798653f, 0.594793f, 0.401641f, 0.220362f, 0.056562f, -0.082970f, -0.197029f, -0.288612f, -0.359153f, -0.408639f, -0.439636f, -0.457088f, -0.464729f, -0.464047f, -0.456113f, -0.442968f, -0.427436f, -0.411786f, -0.396493f, -0.381143f, -0.366415f, -0.353190f, -0.339754f, -0.322693f, -0.300816f, -0.275555f, -0.247788f, -0.217400f, -0.185761f, -0.155837f, -0.130316f, -0.111467f, -0.101559f, -0.102274f, -0.115577f, -0.144891f, -0.192498f, -0.257270f, -0.338656f, -0.439477f, -0.560090f, -0.695118f, -0.840907f, -0.998289f, -1.164095f, -1.332994f, -1.508120f, -1.680480f, -1.788383f, -1.743468f, -1.535858f, -1.279623f, -1.106724f, -1.043498f} + }, + { + {1.159622f, 1.193691f, 1.237258f, 1.320849f, 1.487298f, 1.666553f, 1.724102f, 1.650966f, 1.573042f, 1.544114f, 1.472362f, 1.307714f, 1.161858f, 1.150104f, 1.223815f, 1.264871f, 1.263073f, 1.287888f, 1.342278f, 1.362131f, 1.337721f, 1.330944f, 1.368021f, 1.396360f, 1.364710f, 1.288691f, 1.218865f, 1.183954f, 1.180171f, 1.187830f, 1.187661f, 1.180495f, 1.195032f, 1.259113f, 1.362844f, 1.466040f, 1.540461f, 1.588501f, 1.622646f, 1.646051f, 1.658212f, 1.665631f, 1.678718f, 1.703510f, 1.739748f, 1.783278f, 1.828707f, 1.872076f, 1.911060f, 1.941699f, 1.957382f, 1.953400f, 1.930581f, 1.892863f, 1.843933f, 1.788203f, 1.732141f, 1.681303f, 1.636732f, 1.595689f, 1.554498f, 1.508967f, 1.453241f, 1.380844f, 1.287974f, 1.175649f, 1.048847f, 0.914443f, 0.780366f, 0.655432f, 0.547534f, 0.460905f, 0.396117f, 0.353230f, 0.333368f, 0.336440f, 0.359235f, 0.397509f, 0.448944f, 0.512890f, 0.588417f, 0.673852f, 0.767268f, 0.866240f, 0.967523f, 1.067477f, 1.162781f, 1.251696f, 1.335718f, 1.418848f, 1.503672f, 1.589111f, 1.673021f, 1.754375f, 1.830218f, 1.892793f, + 1.933260f, 1.946807f, 1.930919f, 1.880810f, 1.791440f, 1.663674f, 1.504434f, 1.320882f, 1.118452f, 0.904794f, 0.690996f, 0.486304f, 0.293952f, 0.114062f, -0.051677f, -0.200995f, -0.335215f, -0.458659f, -0.573224f, -0.676398f, -0.765669f, -0.841798f, -0.905649f, -0.954822f, -0.986818f, -1.003613f, -1.009628f, -1.006662f, -0.994352f, -0.974281f, -0.949658f, -0.921427f, -0.888107f, -0.849284f, -0.806653f, -0.762102f, -0.716996f, -0.672764f, -0.630702f, -0.592073f, -0.558976f, -0.533407f, -0.515537f, -0.505563f, -0.506735f, -0.523053f, -0.554958f, -0.601619f, -0.665696f, -0.750024f, -0.851507f, -0.964704f, -1.088238f, -1.219977f, -1.351507f, -1.477464f, -1.598506f, -1.692749f, -1.695051f, -1.547196f, -1.283387f, -1.029223f, -0.886823f, -0.846926f}, + {0.917530f, 0.651778f, 0.241502f, -0.178942f, -0.536560f, -0.786296f, -0.860850f, -0.706638f, -0.361171f, 0.046809f, 0.387357f, 0.602717f, 0.692047f, 0.656485f, 0.487419f, 0.202537f, -0.131209f, -0.422884f, -0.603096f, -0.644757f, -0.551449f, -0.342251f, -0.055144f, 0.244353f, 0.476752f, 0.583435f, 0.550410f, 0.400902f, 0.174798f, -0.079777f, -0.306983f, -0.454414f, -0.491763f, -0.418131f, -0.255796f, -0.044428f, 0.162865f, 0.313621f, 0.377506f, 0.355066f, 0.266380f, 0.136211f, -0.009740f, -0.143360f, -0.238377f, -0.278253f, -0.259547f, -0.190305f, -0.088010f, 0.022991f, 0.117569f, 0.177810f, 0.197350f, 0.179580f, 0.133113f, 0.068872f, -0.000779f, -0.063476f, -0.109645f, -0.134287f, -0.136342f, -0.117479f, -0.081934f, -0.036147f, 0.013007f, 0.059765f, 0.099237f, 0.126500f, 0.136441f, 0.124091f, 0.085864f, 0.023102f, -0.053770f, -0.125481f, -0.170570f, -0.174290f, -0.134420f, -0.062132f, 0.021772f, 0.094424f, 0.139321f, 0.150911f, 0.133188f, 0.094735f, 0.044256f, -0.011227f, -0.065550f, -0.111473f, -0.139846f, -0.141427f, -0.111062f, -0.052088f, 0.022029f, 0.091072f, 0.135690f, 0.145016f, + 0.119868f, 0.070626f, 0.012094f, -0.041731f, -0.081087f, -0.101328f, -0.102037f, -0.085784f, -0.057045f, -0.021038f, 0.017163f, 0.052643f, 0.080347f, 0.095430f, 0.094095f, 0.074476f, 0.037848f, -0.010003f, -0.058809f, -0.096245f, -0.111730f, -0.100012f, -0.063528f, -0.012321f, 0.039313f, 0.078026f, 0.095507f, 0.090021f, 0.065833f, 0.031042f, -0.005483f, -0.036519f, -0.057334f, -0.065748f, -0.062075f, -0.048499f, -0.027988f, -0.003851f, 0.020134f, 0.040124f, 0.053012f, 0.056670f, 0.050087f, 0.034085f, 0.011613f, -0.013157f, -0.035718f, -0.051525f, -0.056944f, -0.050760f, -0.034341f, -0.010740f, 0.015371f, 0.037961f, 0.051881f, 0.054631f, 0.045371f, 0.025148f, 0.000589f, -0.016591f, -0.019315f, -0.012675f, -0.006967f, -0.005603f} + }, + { + {0.917530f, 0.651778f, 0.241502f, -0.178942f, -0.536560f, -0.786296f, -0.860850f, -0.706638f, -0.361171f, 0.046809f, 0.387357f, 0.602717f, 0.692047f, 0.656485f, 0.487419f, 0.202537f, -0.131209f, -0.422884f, -0.603096f, -0.644757f, -0.551449f, -0.342251f, -0.055144f, 0.244353f, 0.476752f, 0.583435f, 0.550410f, 0.400902f, 0.174798f, -0.079777f, -0.306983f, -0.454414f, -0.491763f, -0.418131f, -0.255796f, -0.044428f, 0.162865f, 0.313621f, 0.377506f, 0.355066f, 0.266380f, 0.136211f, -0.009740f, -0.143360f, -0.238377f, -0.278253f, -0.259547f, -0.190305f, -0.088010f, 0.022991f, 0.117569f, 0.177810f, 0.197350f, 0.179580f, 0.133113f, 0.068872f, -0.000779f, -0.063476f, -0.109645f, -0.134287f, -0.136342f, -0.117479f, -0.081934f, -0.036147f, 0.013007f, 0.059765f, 0.099237f, 0.126500f, 0.136441f, 0.124091f, 0.085864f, 0.023102f, -0.053770f, -0.125481f, -0.170570f, -0.174290f, -0.134420f, -0.062132f, 0.021772f, 0.094424f, 0.139321f, 0.150911f, 0.133188f, 0.094735f, 0.044256f, -0.011227f, -0.065550f, -0.111473f, -0.139846f, -0.141427f, -0.111062f, -0.052088f, 0.022029f, 0.091072f, 0.135690f, 0.145016f, + 0.119868f, 0.070626f, 0.012094f, -0.041731f, -0.081087f, -0.101328f, -0.102037f, -0.085784f, -0.057045f, -0.021038f, 0.017163f, 0.052643f, 0.080347f, 0.095430f, 0.094095f, 0.074476f, 0.037848f, -0.010003f, -0.058809f, -0.096245f, -0.111730f, -0.100012f, -0.063528f, -0.012321f, 0.039313f, 0.078026f, 0.095507f, 0.090021f, 0.065833f, 0.031042f, -0.005483f, -0.036519f, -0.057334f, -0.065748f, -0.062075f, -0.048499f, -0.027988f, -0.003851f, 0.020134f, 0.040124f, 0.053012f, 0.056670f, 0.050087f, 0.034085f, 0.011613f, -0.013157f, -0.035718f, -0.051525f, -0.056944f, -0.050760f, -0.034341f, -0.010740f, 0.015371f, 0.037961f, 0.051881f, 0.054631f, 0.045371f, 0.025148f, 0.000589f, -0.016591f, -0.019315f, -0.012675f, -0.006967f, -0.005603f}, + {1.159622f, 1.193691f, 1.237258f, 1.320849f, 1.487298f, 1.666553f, 1.724102f, 1.650966f, 1.573042f, 1.544114f, 1.472362f, 1.307714f, 1.161858f, 1.150104f, 1.223815f, 1.264871f, 1.263073f, 1.287888f, 1.342278f, 1.362131f, 1.337721f, 1.330944f, 1.368021f, 1.396360f, 1.364710f, 1.288691f, 1.218865f, 1.183954f, 1.180171f, 1.187830f, 1.187661f, 1.180495f, 1.195032f, 1.259113f, 1.362844f, 1.466040f, 1.540461f, 1.588501f, 1.622646f, 1.646051f, 1.658212f, 1.665631f, 1.678718f, 1.703510f, 1.739748f, 1.783278f, 1.828707f, 1.872076f, 1.911060f, 1.941699f, 1.957382f, 1.953400f, 1.930581f, 1.892863f, 1.843933f, 1.788203f, 1.732141f, 1.681303f, 1.636732f, 1.595689f, 1.554498f, 1.508967f, 1.453241f, 1.380844f, 1.287974f, 1.175649f, 1.048847f, 0.914443f, 0.780366f, 0.655432f, 0.547534f, 0.460905f, 0.396117f, 0.353230f, 0.333368f, 0.336440f, 0.359235f, 0.397509f, 0.448944f, 0.512890f, 0.588417f, 0.673852f, 0.767268f, 0.866240f, 0.967523f, 1.067477f, 1.162781f, 1.251696f, 1.335718f, 1.418848f, 1.503672f, 1.589111f, 1.673021f, 1.754375f, 1.830218f, 1.892793f, + 1.933260f, 1.946807f, 1.930919f, 1.880810f, 1.791440f, 1.663674f, 1.504434f, 1.320882f, 1.118452f, 0.904794f, 0.690996f, 0.486304f, 0.293952f, 0.114062f, -0.051677f, -0.200995f, -0.335215f, -0.458659f, -0.573224f, -0.676398f, -0.765669f, -0.841798f, -0.905649f, -0.954822f, -0.986818f, -1.003613f, -1.009628f, -1.006662f, -0.994352f, -0.974281f, -0.949658f, -0.921427f, -0.888107f, -0.849284f, -0.806653f, -0.762102f, -0.716996f, -0.672764f, -0.630702f, -0.592073f, -0.558976f, -0.533407f, -0.515537f, -0.505563f, -0.506735f, -0.523053f, -0.554958f, -0.601619f, -0.665696f, -0.750024f, -0.851507f, -0.964704f, -1.088238f, -1.219977f, -1.351507f, -1.477464f, -1.598506f, -1.692749f, -1.695051f, -1.547196f, -1.283387f, -1.029223f, -0.886823f, -0.846926f} + }, + { + {1.204534f, 1.203210f, 1.190459f, 1.158364f, 1.109879f, 1.047847f, 0.967182f, 0.886071f, 0.875240f, 1.004287f, 1.246157f, 1.481970f, 1.615355f, 1.637426f, 1.577214f, 1.457598f, 1.321024f, 1.229774f, 1.206408f, 1.223980f, 1.272061f, 1.371986f, 1.508691f, 1.612777f, 1.637477f, 1.601706f, 1.541886f, 1.477270f, 1.436013f, 1.455349f, 1.534155f, 1.631670f, 1.725521f, 1.826471f, 1.929526f, 1.998858f, 2.013654f, 1.990557f, 1.951995f, 1.904864f, 1.854980f, 1.812358f, 1.776533f, 1.738280f, 1.696957f, 1.660023f, 1.629610f, 1.603794f, 1.584323f, 1.570732f, 1.554937f, 1.532291f, 1.509613f, 1.494021f, 1.482648f, 1.469744f, 1.454557f, 1.436482f, 1.411078f, 1.376370f, 1.336916f, 1.298175f, 1.261515f, 1.226108f, 1.191183f, 1.154956f, 1.113954f, 1.064034f, 1.001800f, 0.926672f, 0.841820f, 0.751089f, 0.655693f, 0.556482f, 0.457666f, 0.364250f, 0.277024f, 0.194155f, 0.116696f, 0.048473f, -0.008535f, -0.054762f, -0.089740f, -0.112245f, -0.123899f, -0.129341f, -0.132173f, -0.133099f, -0.132513f, -0.132606f, -0.135739f, -0.142102f, -0.150075f, -0.158190f, -0.165938f, -0.173194f, + -0.179698f, -0.185269f, -0.190331f, -0.196010f, -0.203236f, -0.211655f, -0.220071f, -0.228003f, -0.235580f, -0.241688f, -0.244000f, -0.241462f, -0.234924f, -0.224740f, -0.209975f, -0.190727f, -0.168794f, -0.145304f, -0.120014f, -0.093330f, -0.066541f, -0.039964f, -0.013201f, 0.013257f, 0.038995f, 0.065097f, 0.092403f, 0.120117f, 0.148133f, 0.178226f, 0.211116f, 0.245318f, 0.280246f, 0.316864f, 0.354258f, 0.389361f, 0.420350f, 0.446556f, 0.465866f, 0.476164f, 0.477674f, 0.470479f, 0.452941f, 0.425418f, 0.390777f, 0.349073f, 0.298093f, 0.240144f, 0.179989f, 0.116389f, 0.045546f, -0.029475f, -0.104553f, -0.184802f, -0.276288f, -0.377633f, -0.495071f, -0.645493f, -0.815390f, -0.936731f, -0.946277f, -0.861930f, -0.763516f, -0.709030f}, + {1.086199f, 1.004862f, 0.856920f, 0.638693f, 0.364003f, 0.130220f, 0.067679f, 0.200071f, 0.403211f, 0.509750f, 0.423010f, 0.156791f, -0.172783f, -0.408435f, -0.470895f, -0.422906f, -0.382903f, -0.401158f, -0.461457f, -0.557666f, -0.691515f, -0.814952f, -0.853789f, -0.795975f, -0.704559f, -0.639966f, -0.610169f, -0.594209f, -0.572008f, -0.524834f, -0.437816f, -0.312986f, -0.167818f, -0.022362f, 0.104727f, 0.198993f, 0.262493f, 0.315863f, 0.378159f, 0.450032f, 0.520371f, 0.579860f, 0.623926f, 0.651912f, 0.668089f, 0.677538f, 0.679621f, 0.670347f, 0.649417f, 0.619352f, 0.580188f, 0.530227f, 0.469047f, 0.395638f, 0.307512f, 0.205554f, 0.095977f, -0.015238f, -0.125770f, -0.233301f, -0.333345f, -0.422540f, -0.499945f, -0.564191f, -0.613419f, -0.648393f, -0.671605f, -0.682790f, -0.678457f, -0.655912f, -0.615299f, -0.558515f, -0.488718f, -0.410330f, -0.327205f, -0.240846f, -0.151506f, -0.060435f, 0.029743f, 0.116185f, 0.196603f, 0.269218f, 0.332259f, 0.383578f, 0.421216f, 0.444550f, 0.454402f, 0.452174f, 0.439605f, 0.418976f, 0.392290f, 0.360410f, 0.324023f, 0.284973f, 0.245420f, 0.206302f, + 0.167896f, 0.131240f, 0.097662f, 0.067544f, 0.040831f, 0.018067f, -0.000312f, -0.015097f, -0.027643f, -0.038677f, -0.048631f, -0.058475f, -0.069291f, -0.081482f, -0.095092f, -0.110486f, -0.128190f, -0.148421f, -0.171029f, -0.195562f, -0.221182f, -0.246725f, -0.270807f, -0.291832f, -0.308285f, -0.319211f, -0.323959f, -0.321487f, -0.310646f, -0.291111f, -0.263101f, -0.226361f, -0.180686f, -0.127219f, -0.067738f, -0.002935f, 0.066945f, 0.140199f, 0.214330f, 0.288003f, 0.360118f, 0.427762f, 0.487507f, 0.537747f, 0.577193f, 0.602502f, 0.610203f, 0.599283f, 0.569254f, 0.518270f, 0.446010f, 0.355357f, 0.248976f, 0.128708f, -0.000380f, -0.132271f, -0.265471f, -0.391680f, -0.476715f, -0.476959f, -0.392112f, -0.282972f, -0.214100f, -0.193429f} + }, + { + {1.086199f, 1.004862f, 0.856920f, 0.638693f, 0.364003f, 0.130220f, 0.067679f, 0.200071f, 0.403211f, 0.509750f, 0.423010f, 0.156791f, -0.172783f, -0.408435f, -0.470895f, -0.422906f, -0.382903f, -0.401158f, -0.461457f, -0.557666f, -0.691515f, -0.814952f, -0.853789f, -0.795975f, -0.704559f, -0.639966f, -0.610169f, -0.594209f, -0.572008f, -0.524834f, -0.437816f, -0.312986f, -0.167818f, -0.022362f, 0.104727f, 0.198993f, 0.262493f, 0.315863f, 0.378159f, 0.450032f, 0.520371f, 0.579860f, 0.623926f, 0.651912f, 0.668089f, 0.677538f, 0.679621f, 0.670347f, 0.649417f, 0.619352f, 0.580188f, 0.530227f, 0.469047f, 0.395638f, 0.307512f, 0.205554f, 0.095977f, -0.015238f, -0.125770f, -0.233301f, -0.333345f, -0.422540f, -0.499945f, -0.564191f, -0.613419f, -0.648393f, -0.671605f, -0.682790f, -0.678457f, -0.655912f, -0.615299f, -0.558515f, -0.488718f, -0.410330f, -0.327205f, -0.240846f, -0.151506f, -0.060435f, 0.029743f, 0.116185f, 0.196603f, 0.269218f, 0.332259f, 0.383578f, 0.421216f, 0.444550f, 0.454402f, 0.452174f, 0.439605f, 0.418976f, 0.392290f, 0.360410f, 0.324023f, 0.284973f, 0.245420f, 0.206302f, + 0.167896f, 0.131240f, 0.097662f, 0.067544f, 0.040831f, 0.018067f, -0.000312f, -0.015097f, -0.027643f, -0.038677f, -0.048631f, -0.058475f, -0.069291f, -0.081482f, -0.095092f, -0.110486f, -0.128190f, -0.148421f, -0.171029f, -0.195562f, -0.221182f, -0.246725f, -0.270807f, -0.291832f, -0.308285f, -0.319211f, -0.323959f, -0.321487f, -0.310646f, -0.291111f, -0.263101f, -0.226361f, -0.180686f, -0.127219f, -0.067738f, -0.002935f, 0.066945f, 0.140199f, 0.214330f, 0.288003f, 0.360118f, 0.427762f, 0.487507f, 0.537747f, 0.577193f, 0.602502f, 0.610203f, 0.599283f, 0.569254f, 0.518270f, 0.446010f, 0.355357f, 0.248976f, 0.128708f, -0.000380f, -0.132271f, -0.265471f, -0.391680f, -0.476715f, -0.476959f, -0.392112f, -0.282972f, -0.214100f, -0.193429f}, + {1.204534f, 1.203210f, 1.190459f, 1.158364f, 1.109879f, 1.047847f, 0.967182f, 0.886071f, 0.875240f, 1.004287f, 1.246157f, 1.481970f, 1.615355f, 1.637426f, 1.577214f, 1.457598f, 1.321024f, 1.229774f, 1.206408f, 1.223980f, 1.272061f, 1.371986f, 1.508691f, 1.612777f, 1.637477f, 1.601706f, 1.541886f, 1.477270f, 1.436013f, 1.455349f, 1.534155f, 1.631670f, 1.725521f, 1.826471f, 1.929526f, 1.998858f, 2.013654f, 1.990557f, 1.951995f, 1.904864f, 1.854980f, 1.812358f, 1.776533f, 1.738280f, 1.696957f, 1.660023f, 1.629610f, 1.603794f, 1.584323f, 1.570732f, 1.554937f, 1.532291f, 1.509613f, 1.494021f, 1.482648f, 1.469744f, 1.454557f, 1.436482f, 1.411078f, 1.376370f, 1.336916f, 1.298175f, 1.261515f, 1.226108f, 1.191183f, 1.154956f, 1.113954f, 1.064034f, 1.001800f, 0.926672f, 0.841820f, 0.751089f, 0.655693f, 0.556482f, 0.457666f, 0.364250f, 0.277024f, 0.194155f, 0.116696f, 0.048473f, -0.008535f, -0.054762f, -0.089740f, -0.112245f, -0.123899f, -0.129341f, -0.132173f, -0.133099f, -0.132513f, -0.132606f, -0.135739f, -0.142102f, -0.150075f, -0.158190f, -0.165938f, -0.173194f, + -0.179698f, -0.185269f, -0.190331f, -0.196010f, -0.203236f, -0.211655f, -0.220071f, -0.228003f, -0.235580f, -0.241688f, -0.244000f, -0.241462f, -0.234924f, -0.224740f, -0.209975f, -0.190727f, -0.168794f, -0.145304f, -0.120014f, -0.093330f, -0.066541f, -0.039964f, -0.013201f, 0.013257f, 0.038995f, 0.065097f, 0.092403f, 0.120117f, 0.148133f, 0.178226f, 0.211116f, 0.245318f, 0.280246f, 0.316864f, 0.354258f, 0.389361f, 0.420350f, 0.446556f, 0.465866f, 0.476164f, 0.477674f, 0.470479f, 0.452941f, 0.425418f, 0.390777f, 0.349073f, 0.298093f, 0.240144f, 0.179989f, 0.116389f, 0.045546f, -0.029475f, -0.104553f, -0.184802f, -0.276288f, -0.377633f, -0.495071f, -0.645493f, -0.815390f, -0.936731f, -0.946277f, -0.861930f, -0.763516f, -0.709030f} + }, + { + {1.136670f, 1.135642f, 1.159558f, 1.242764f, 1.363234f, 1.418639f, 1.336924f, 1.189682f, 1.113008f, 1.131924f, 1.157617f, 1.151455f, 1.181552f, 1.293689f, 1.426449f, 1.500166f, 1.514642f, 1.509585f, 1.486776f, 1.424261f, 1.330820f, 1.239551f, 1.165466f, 1.100846f, 1.040119f, 0.986673f, 0.942034f, 0.902330f, 0.862433f, 0.819391f, 0.776566f, 0.743854f, 0.727187f, 0.719668f, 0.709421f, 0.693441f, 0.678491f, 0.672553f, 0.680404f, 0.703111f, 0.736854f, 0.775141f, 0.814760f, 0.856596f, 0.900306f, 0.942530f, 0.980421f, 1.012484f, 1.035999f, 1.047912f, 1.048713f, 1.042995f, 1.036815f, 1.035930f, 1.044536f, 1.063597f, 1.091269f, 1.124936f, 1.160818f, 1.192654f, 1.214352f, 1.223836f, 1.221719f, 1.207688f, 1.181727f, 1.147450f, 1.110173f, 1.072170f, 1.032778f, 0.991992f, 0.950676f, 0.907968f, 0.861440f, 0.809940f, 0.754528f, 0.696829f, 0.637989f, 0.579463f, 0.523977f, 0.474852f, 0.433794f, 0.399580f, 0.369634f, 0.342464f, 0.317497f, 0.293477f, 0.269419f, 0.247151f, 0.230793f, 0.223510f, 0.226350f, 0.239825f, 0.264468f, 0.299833f, 0.344597f, 0.397722f, + 0.458584f, 0.526418f, 0.600176f, 0.677918f, 0.755919f, 0.829709f, 0.896231f, 0.953601f, 0.999158f, 1.030126f, 1.046156f, 1.048788f, 1.038255f, 1.013274f, 0.974186f, 0.923755f, 0.864275f, 0.796121f, 0.720041f, 0.639023f, 0.556603f, 0.474308f, 0.392028f, 0.310457f, 0.231609f, 0.156391f, 0.083091f, 0.009683f, -0.063465f, -0.135078f, -0.206105f, -0.278586f, -0.351844f, -0.422799f, -0.489943f, -0.553901f, -0.613917f, -0.667023f, -0.711334f, -0.747585f, -0.776837f, -0.798893f, -0.813586f, -0.822199f, -0.827084f, -0.830337f, -0.832774f, -0.834571f, -0.837262f, -0.843529f, -0.854126f, -0.867669f, -0.884714f, -0.908029f, -0.937931f, -0.973595f, -1.017808f, -1.066008f, -1.087268f, -1.038917f, -0.917834f, -0.780429f, -0.689733f, -0.656403f}, + {0.960640f, 0.816300f, 0.532130f, 0.162721f, -0.177503f, -0.386043f, -0.458478f, -0.483376f, -0.540231f, -0.613871f, -0.621946f, -0.516051f, -0.334075f, -0.151666f, -0.004270f, 0.128279f, 0.272309f, 0.416162f, 0.517877f, 0.544624f, 0.498443f, 0.408788f, 0.305793f, 0.199974f, 0.084387f, -0.046450f, -0.182699f, -0.304310f, -0.394850f, -0.445761f, -0.450978f, -0.406320f, -0.316884f, -0.199695f, -0.075242f, 0.041820f, 0.142995f, 0.221772f, 0.273300f, 0.296982f, 0.296450f, 0.276859f, 0.243007f, 0.198850f, 0.147055f, 0.089044f, 0.026127f, -0.039590f, -0.105511f, -0.168772f, -0.225337f, -0.269209f, -0.293289f, -0.291676f, -0.261993f, -0.206338f, -0.130253f, -0.040664f, 0.055241f, 0.149519f, 0.232931f, 0.295939f, 0.330770f, 0.333107f, 0.302661f, 0.242736f, 0.159157f, 0.059248f, -0.048476f, -0.153986f, -0.245588f, -0.310890f, -0.339319f, -0.325534f, -0.271853f, -0.188083f, -0.088946f, 0.009493f, 0.093484f, 0.154613f, 0.190898f, 0.205217f, 0.202369f, 0.186878f, 0.162125f, 0.130210f, 0.092281f, 0.049362f, 0.003253f, -0.043024f, -0.085315f, -0.119041f, -0.140550f, -0.148332f, -0.143136f, -0.127149f, + -0.103171f, -0.074084f, -0.042377f, -0.009910f, 0.021838f, 0.051455f, 0.077582f, 0.098903f, 0.113990f, 0.121384f, 0.119975f, 0.109245f, 0.089333f, 0.061281f, 0.027240f, -0.009804f, -0.046484f, -0.079281f, -0.104807f, -0.120441f, -0.124813f, -0.117785f, -0.100313f, -0.074391f, -0.042701f, -0.008052f, 0.026806f, 0.059088f, 0.086138f, 0.105684f, 0.115807f, 0.115012f, 0.102800f, 0.080165f, 0.049512f, 0.014383f, -0.020831f, -0.051690f, -0.074772f, -0.088141f, -0.091258f, -0.084989f, -0.071486f, -0.053399f, -0.033132f, -0.012815f, 0.005713f, 0.021390f, 0.033926f, 0.043146f, 0.048887f, 0.051423f, 0.051133f, 0.047899f, 0.041642f, 0.032825f, 0.021467f, 0.007161f, -0.008032f, -0.018531f, -0.020230f, -0.015601f, -0.010789f, -0.008773f} + }, + { + {0.960640f, 0.816300f, 0.532130f, 0.162721f, -0.177503f, -0.386043f, -0.458478f, -0.483376f, -0.540231f, -0.613871f, -0.621946f, -0.516051f, -0.334075f, -0.151666f, -0.004270f, 0.128279f, 0.272309f, 0.416162f, 0.517877f, 0.544624f, 0.498443f, 0.408788f, 0.305793f, 0.199974f, 0.084387f, -0.046450f, -0.182699f, -0.304310f, -0.394850f, -0.445761f, -0.450978f, -0.406320f, -0.316884f, -0.199695f, -0.075242f, 0.041820f, 0.142995f, 0.221772f, 0.273300f, 0.296982f, 0.296450f, 0.276859f, 0.243007f, 0.198850f, 0.147055f, 0.089044f, 0.026127f, -0.039590f, -0.105511f, -0.168772f, -0.225337f, -0.269209f, -0.293289f, -0.291676f, -0.261993f, -0.206338f, -0.130253f, -0.040664f, 0.055241f, 0.149519f, 0.232931f, 0.295939f, 0.330770f, 0.333107f, 0.302661f, 0.242736f, 0.159157f, 0.059248f, -0.048476f, -0.153986f, -0.245588f, -0.310890f, -0.339319f, -0.325534f, -0.271853f, -0.188083f, -0.088946f, 0.009493f, 0.093484f, 0.154613f, 0.190898f, 0.205217f, 0.202369f, 0.186878f, 0.162125f, 0.130210f, 0.092281f, 0.049362f, 0.003253f, -0.043024f, -0.085315f, -0.119041f, -0.140550f, -0.148332f, -0.143136f, -0.127149f, + -0.103171f, -0.074084f, -0.042377f, -0.009910f, 0.021838f, 0.051455f, 0.077582f, 0.098903f, 0.113990f, 0.121384f, 0.119975f, 0.109245f, 0.089333f, 0.061281f, 0.027240f, -0.009804f, -0.046484f, -0.079281f, -0.104807f, -0.120441f, -0.124813f, -0.117785f, -0.100313f, -0.074391f, -0.042701f, -0.008052f, 0.026806f, 0.059088f, 0.086138f, 0.105684f, 0.115807f, 0.115012f, 0.102800f, 0.080165f, 0.049512f, 0.014383f, -0.020831f, -0.051690f, -0.074772f, -0.088141f, -0.091258f, -0.084989f, -0.071486f, -0.053399f, -0.033132f, -0.012815f, 0.005713f, 0.021390f, 0.033926f, 0.043146f, 0.048887f, 0.051423f, 0.051133f, 0.047899f, 0.041642f, 0.032825f, 0.021467f, 0.007161f, -0.008032f, -0.018531f, -0.020230f, -0.015601f, -0.010789f, -0.008773f}, + {1.136670f, 1.135642f, 1.159558f, 1.242764f, 1.363234f, 1.418639f, 1.336924f, 1.189682f, 1.113008f, 1.131924f, 1.157617f, 1.151455f, 1.181552f, 1.293689f, 1.426449f, 1.500166f, 1.514642f, 1.509585f, 1.486776f, 1.424261f, 1.330820f, 1.239551f, 1.165466f, 1.100846f, 1.040119f, 0.986673f, 0.942034f, 0.902330f, 0.862433f, 0.819391f, 0.776566f, 0.743854f, 0.727187f, 0.719668f, 0.709421f, 0.693441f, 0.678491f, 0.672553f, 0.680404f, 0.703111f, 0.736854f, 0.775141f, 0.814760f, 0.856596f, 0.900306f, 0.942530f, 0.980421f, 1.012484f, 1.035999f, 1.047912f, 1.048713f, 1.042995f, 1.036815f, 1.035930f, 1.044536f, 1.063597f, 1.091269f, 1.124936f, 1.160818f, 1.192654f, 1.214352f, 1.223836f, 1.221719f, 1.207688f, 1.181727f, 1.147450f, 1.110173f, 1.072170f, 1.032778f, 0.991992f, 0.950676f, 0.907968f, 0.861440f, 0.809940f, 0.754528f, 0.696829f, 0.637989f, 0.579463f, 0.523977f, 0.474852f, 0.433794f, 0.399580f, 0.369634f, 0.342464f, 0.317497f, 0.293477f, 0.269419f, 0.247151f, 0.230793f, 0.223510f, 0.226350f, 0.239825f, 0.264468f, 0.299833f, 0.344597f, 0.397722f, + 0.458584f, 0.526418f, 0.600176f, 0.677918f, 0.755919f, 0.829709f, 0.896231f, 0.953601f, 0.999158f, 1.030126f, 1.046156f, 1.048788f, 1.038255f, 1.013274f, 0.974186f, 0.923755f, 0.864275f, 0.796121f, 0.720041f, 0.639023f, 0.556603f, 0.474308f, 0.392028f, 0.310457f, 0.231609f, 0.156391f, 0.083091f, 0.009683f, -0.063465f, -0.135078f, -0.206105f, -0.278586f, -0.351844f, -0.422799f, -0.489943f, -0.553901f, -0.613917f, -0.667023f, -0.711334f, -0.747585f, -0.776837f, -0.798893f, -0.813586f, -0.822199f, -0.827084f, -0.830337f, -0.832774f, -0.834571f, -0.837262f, -0.843529f, -0.854126f, -0.867669f, -0.884714f, -0.908029f, -0.937931f, -0.973595f, -1.017808f, -1.066008f, -1.087268f, -1.038917f, -0.917834f, -0.780429f, -0.689733f, -0.656403f} + }, + { + {1.068324f, 1.062066f, 1.083672f, 1.156642f, 1.251383f, 1.301241f, 1.270195f, 1.189834f, 1.115171f, 1.063568f, 1.022919f, 1.001888f, 1.030552f, 1.110370f, 1.199864f, 1.259787f, 1.284625f, 1.280603f, 1.242659f, 1.171775f, 1.093479f, 1.036606f, 1.002891f, 0.972808f, 0.933548f, 0.887633f, 0.839967f, 0.790500f, 0.739167f, 0.688251f, 0.638192f, 0.586505f, 0.531813f, 0.475822f, 0.421676f, 0.373637f, 0.338297f, 0.322536f, 0.328305f, 0.350663f, 0.382129f, 0.417959f, 0.456126f, 0.493831f, 0.526907f, 0.552956f, 0.572952f, 0.589166f, 0.603191f, 0.616479f, 0.631032f, 0.648516f, 0.669363f, 0.692743f, 0.716446f, 0.737125f, 0.751798f, 0.758883f, 0.757319f, 0.746131f, 0.726128f, 0.700462f, 0.671814f, 0.640056f, 0.603849f, 0.562908f, 0.517307f, 0.466388f, 0.410454f, 0.352646f, 0.297752f, 0.249844f, 0.211692f, 0.185011f, 0.169810f, 0.163886f, 0.163694f, 0.165778f, 0.167776f, 0.168909f, 0.169698f, 0.170965f, 0.173362f, 0.177738f, 0.185104f, 0.195926f, 0.210178f, 0.228154f, 0.250538f, 0.277725f, 0.309833f, 0.347232f, 0.390456f, 0.439791f, 0.495196f, 0.555920f, + 0.619949f, 0.684571f, 0.747409f, 0.805924f, 0.856574f, 0.896391f, 0.925191f, 0.944416f, 0.954283f, 0.954087f, 0.944612f, 0.927526f, 0.902506f, 0.867475f, 0.821809f, 0.767132f, 0.704886f, 0.635309f, 0.559349f, 0.479847f, 0.399919f, 0.321030f, 0.243461f, 0.168221f, 0.097457f, 0.032552f, -0.027272f, -0.083379f, -0.135625f, -0.183518f, -0.228709f, -0.273886f, -0.319427f, -0.363620f, -0.405822f, -0.446545f, -0.484543f, -0.516852f, -0.541980f, -0.560664f, -0.573598f, -0.580683f, -0.582341f, -0.579795f, -0.574373f, -0.567446f, -0.560136f, -0.552846f, -0.546452f, -0.543218f, -0.544596f, -0.549853f, -0.559220f, -0.575373f, -0.599427f, -0.630547f, -0.671011f, -0.720096f, -0.756779f, -0.745171f, -0.674094f, -0.580065f, -0.512363f, -0.485247f}, + {0.934518f, 0.857858f, 0.682018f, 0.418282f, 0.149886f, -0.022248f, -0.085705f, -0.132956f, -0.243348f, -0.384067f, -0.470420f, -0.490862f, -0.510507f, -0.564810f, -0.615008f, -0.613799f, -0.558408f, -0.464246f, -0.334644f, -0.179741f, -0.030327f, 0.091349f, 0.193272f, 0.290516f, 0.379280f, 0.447234f, 0.493298f, 0.523281f, 0.535766f, 0.522478f, 0.477212f, 0.399948f, 0.297897f, 0.184846f, 0.074020f, -0.029775f, -0.126981f, -0.213768f, -0.281234f, -0.323523f, -0.342095f, -0.342589f, -0.331435f, -0.314724f, -0.296652f, -0.278561f, -0.260507f, -0.242171f, -0.220746f, -0.189924f, -0.143224f, -0.078060f, 0.003244f, 0.094157f, 0.184987f, 0.265868f, 0.330948f, 0.379383f, 0.412093f, 0.428623f, 0.427005f, 0.404850f, 0.360089f, 0.292366f, 0.204920f, 0.104626f, -0.000261f, -0.102308f, -0.195788f, -0.277059f, -0.344399f, -0.396403f, -0.430000f, -0.440595f, -0.424427f, -0.380841f, -0.313172f, -0.228570f, -0.136582f, -0.046276f, 0.036288f, 0.108164f, 0.167991f, 0.215177f, 0.250068f, 0.273681f, 0.286922f, 0.290465f, 0.285187f, 0.272099f, 0.251841f, 0.224631f, 0.190554f, 0.149524f, 0.101233f, 0.045772f, + -0.015434f, -0.079411f, -0.142271f, -0.199904f, -0.248354f, -0.284186f, -0.304987f, -0.309598f, -0.297829f, -0.270211f, -0.228225f, -0.174500f, -0.112362f, -0.045271f, 0.023093f, 0.088668f, 0.147582f, 0.196800f, 0.233966f, 0.257190f, 0.265649f, 0.259970f, 0.241494f, 0.211697f, 0.172676f, 0.127321f, 0.078348f, 0.027873f, -0.021726f, -0.067568f, -0.107275f, -0.139243f, -0.161825f, -0.173602f, -0.174673f, -0.166498f, -0.150627f, -0.128782f, -0.103666f, -0.078044f, -0.053346f, -0.030259f, -0.009734f, 0.007887f, 0.023557f, 0.038115f, 0.051436f, 0.063720f, 0.075766f, 0.087264f, 0.096795f, 0.103721f, 0.107784f, 0.107330f, 0.100689f, 0.088113f, 0.069180f, 0.041288f, 0.006332f, -0.023956f, -0.037070f, -0.033441f, -0.024607f, -0.019448f} + }, + { + {0.934518f, 0.857858f, 0.682018f, 0.418282f, 0.149886f, -0.022248f, -0.085705f, -0.132956f, -0.243348f, -0.384067f, -0.470420f, -0.490862f, -0.510507f, -0.564810f, -0.615008f, -0.613799f, -0.558408f, -0.464246f, -0.334644f, -0.179741f, -0.030327f, 0.091349f, 0.193272f, 0.290516f, 0.379280f, 0.447234f, 0.493298f, 0.523281f, 0.535766f, 0.522478f, 0.477212f, 0.399948f, 0.297897f, 0.184846f, 0.074020f, -0.029775f, -0.126981f, -0.213768f, -0.281234f, -0.323523f, -0.342095f, -0.342589f, -0.331435f, -0.314724f, -0.296652f, -0.278561f, -0.260507f, -0.242171f, -0.220746f, -0.189924f, -0.143224f, -0.078060f, 0.003244f, 0.094157f, 0.184987f, 0.265868f, 0.330948f, 0.379383f, 0.412093f, 0.428623f, 0.427005f, 0.404850f, 0.360089f, 0.292366f, 0.204920f, 0.104626f, -0.000261f, -0.102308f, -0.195788f, -0.277059f, -0.344399f, -0.396403f, -0.430000f, -0.440595f, -0.424427f, -0.380841f, -0.313172f, -0.228570f, -0.136582f, -0.046276f, 0.036288f, 0.108164f, 0.167991f, 0.215177f, 0.250068f, 0.273681f, 0.286922f, 0.290465f, 0.285187f, 0.272099f, 0.251841f, 0.224631f, 0.190554f, 0.149524f, 0.101233f, 0.045772f, + -0.015434f, -0.079411f, -0.142271f, -0.199904f, -0.248354f, -0.284186f, -0.304987f, -0.309598f, -0.297829f, -0.270211f, -0.228225f, -0.174500f, -0.112362f, -0.045271f, 0.023093f, 0.088668f, 0.147582f, 0.196800f, 0.233966f, 0.257190f, 0.265649f, 0.259970f, 0.241494f, 0.211697f, 0.172676f, 0.127321f, 0.078348f, 0.027873f, -0.021726f, -0.067568f, -0.107275f, -0.139243f, -0.161825f, -0.173602f, -0.174673f, -0.166498f, -0.150627f, -0.128782f, -0.103666f, -0.078044f, -0.053346f, -0.030259f, -0.009734f, 0.007887f, 0.023557f, 0.038115f, 0.051436f, 0.063720f, 0.075766f, 0.087264f, 0.096795f, 0.103721f, 0.107784f, 0.107330f, 0.100689f, 0.088113f, 0.069180f, 0.041288f, 0.006332f, -0.023956f, -0.037070f, -0.033441f, -0.024607f, -0.019448f}, + {1.068324f, 1.062066f, 1.083672f, 1.156642f, 1.251383f, 1.301241f, 1.270195f, 1.189834f, 1.115171f, 1.063568f, 1.022919f, 1.001888f, 1.030552f, 1.110370f, 1.199864f, 1.259787f, 1.284625f, 1.280603f, 1.242659f, 1.171775f, 1.093479f, 1.036606f, 1.002891f, 0.972808f, 0.933548f, 0.887633f, 0.839967f, 0.790500f, 0.739167f, 0.688251f, 0.638192f, 0.586505f, 0.531813f, 0.475822f, 0.421676f, 0.373637f, 0.338297f, 0.322536f, 0.328305f, 0.350663f, 0.382129f, 0.417959f, 0.456126f, 0.493831f, 0.526907f, 0.552956f, 0.572952f, 0.589166f, 0.603191f, 0.616479f, 0.631032f, 0.648516f, 0.669363f, 0.692743f, 0.716446f, 0.737125f, 0.751798f, 0.758883f, 0.757319f, 0.746131f, 0.726128f, 0.700462f, 0.671814f, 0.640056f, 0.603849f, 0.562908f, 0.517307f, 0.466388f, 0.410454f, 0.352646f, 0.297752f, 0.249844f, 0.211692f, 0.185011f, 0.169810f, 0.163886f, 0.163694f, 0.165778f, 0.167776f, 0.168909f, 0.169698f, 0.170965f, 0.173362f, 0.177738f, 0.185104f, 0.195926f, 0.210178f, 0.228154f, 0.250538f, 0.277725f, 0.309833f, 0.347232f, 0.390456f, 0.439791f, 0.495196f, 0.555920f, + 0.619949f, 0.684571f, 0.747409f, 0.805924f, 0.856574f, 0.896391f, 0.925191f, 0.944416f, 0.954283f, 0.954087f, 0.944612f, 0.927526f, 0.902506f, 0.867475f, 0.821809f, 0.767132f, 0.704886f, 0.635309f, 0.559349f, 0.479847f, 0.399919f, 0.321030f, 0.243461f, 0.168221f, 0.097457f, 0.032552f, -0.027272f, -0.083379f, -0.135625f, -0.183518f, -0.228709f, -0.273886f, -0.319427f, -0.363620f, -0.405822f, -0.446545f, -0.484543f, -0.516852f, -0.541980f, -0.560664f, -0.573598f, -0.580683f, -0.582341f, -0.579795f, -0.574373f, -0.567446f, -0.560136f, -0.552846f, -0.546452f, -0.543218f, -0.544596f, -0.549853f, -0.559220f, -0.575373f, -0.599427f, -0.630547f, -0.671011f, -0.720096f, -0.756779f, -0.745171f, -0.674094f, -0.580065f, -0.512363f, -0.485247f} + } +}; +const float CRendBin_Combined_HRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][160]={ + { + {0.022597f, 0.065202f, 0.094800f, 0.087222f, 0.028863f, -0.033215f, -0.025115f, 0.029670f, 0.010871f, -0.094080f, -0.093395f, 0.164837f, 0.534054f, 0.723953f, 0.668586f, 0.562550f, 0.547018f, 0.547467f, 0.451265f, 0.273050f, 0.076100f, -0.133607f, -0.347652f, -0.484095f, -0.465506f, -0.320173f, -0.144456f, 0.002459f, 0.124086f, 0.236901f, 0.334318f, 0.388275f, 0.365496f, 0.251083f, 0.066984f, -0.139501f, -0.329262f, -0.490031f, -0.628003f, -0.750861f, -0.856460f, -0.932287f, -0.968749f, -0.973950f, -0.969671f, -0.973735f, -0.992918f, -1.028350f, -1.076088f, -1.123879f, -1.158091f, -1.174678f, -1.178288f, -1.174093f, -1.165759f, -1.157129f, -1.151037f, -1.149567f, -1.156736f, -1.175982f, -1.205151f, -1.239655f, -1.278806f, -1.322162f, -1.361620f, -1.384066f, -1.380279f, -1.346908f, -1.284430f, -1.199139f, -1.103249f, -1.007963f, -0.918939f, -0.839828f, -0.774659f, -0.724527f, -0.686467f, -0.656634f, -0.631187f, -0.605488f, -0.576739f, -0.545772f, -0.513340f, -0.478002f, -0.440201f, -0.403792f, -0.371197f, -0.342018f, -0.317969f, -0.303696f, -0.301471f, -0.309948f, -0.328028f, -0.355049f, -0.388060f, -0.423148f, + -0.457901f, -0.489672f, -0.514648f, -0.531085f, -0.539738f, -0.540079f, -0.530837f, -0.514091f, -0.493133f, -0.467135f, -0.433667f, -0.394405f, -0.352537f, -0.307676f, -0.258996f, -0.209516f, -0.162264f, -0.116664f, -0.072404f, -0.031550f, 0.005591f, 0.040704f, 0.072658f, 0.098740f, 0.119709f, 0.136856f, 0.146623f, 0.145056f, 0.133481f, 0.112977f, 0.078684f, 0.025978f, -0.044059f, -0.130730f, -0.238118f, -0.369115f, -0.521997f, -0.694951f, -0.886933f, -1.093940f, -1.310375f, -1.531202f, -1.748254f, -1.951169f, -2.135588f, -2.301024f, -2.440136f, -2.544008f, -2.616201f, -2.664228f, -2.682466f, -2.663745f, -2.617014f, -2.550432f, -2.454397f, -2.322601f, -2.151953f, -1.890105f, -1.449852f, -0.850895f, -0.291398f, 0.021597f, 0.081084f, 0.031473f}, + {-0.080276f, -0.311417f, -0.607640f, -0.791927f, -0.800857f, -0.760608f, -0.739148f, -0.646209f, -0.447092f, -0.280447f, -0.279295f, -0.423068f, -0.622336f, -0.804161f, -0.867594f, -0.710767f, -0.374205f, -0.036779f, 0.187292f, 0.339906f, 0.474434f, 0.550962f, 0.537943f, 0.503393f, 0.524522f, 0.587272f, 0.644960f, 0.705979f, 0.790728f, 0.855477f, 0.834725f, 0.730307f, 0.593843f, 0.437574f, 0.224869f, -0.047825f, -0.311841f, -0.490861f, -0.575373f, -0.611964f, -0.639917f, -0.664189f, -0.679158f, -0.686945f, -0.685661f, -0.661531f, -0.605064f, -0.523507f, -0.428999f, -0.324606f, -0.209719f, -0.090298f, 0.024311f, 0.128844f, 0.221046f, 0.298789f, 0.362618f, 0.416158f, 0.460462f, 0.491627f, 0.505331f, 0.499605f, 0.472944f, 0.425203f, 0.361839f, 0.292961f, 0.226591f, 0.165529f, 0.110752f, 0.064158f, 0.026873f, -0.002586f, -0.027283f, -0.050301f, -0.074568f, -0.102794f, -0.136426f, -0.174543f, -0.213824f, -0.249920f, -0.279603f, -0.302272f, -0.319692f, -0.334393f, -0.347809f, -0.358600f, -0.361817f, -0.350205f, -0.317616f, -0.261906f, -0.185247f, -0.092969f, 0.007045f, 0.104879f, 0.190432f, 0.255872f, + 0.297100f, 0.314390f, 0.312581f, 0.299610f, 0.283349f, 0.269653f, 0.262979f, 0.266740f, 0.281862f, 0.306365f, 0.337110f, 0.369991f, 0.397544f, 0.408784f, 0.393056f, 0.342920f, 0.253936f, 0.125604f, -0.035892f, -0.218368f, -0.407961f, -0.590892f, -0.752239f, -0.877499f, -0.956409f, -0.982915f, -0.952586f, -0.863813f, -0.720987f, -0.533454f, -0.312498f, -0.071910f, 0.171049f, 0.399293f, 0.599797f, 0.762809f, 0.880702f, 0.950183f, 0.972884f, 0.951927f, 0.890214f, 0.792224f, 0.663786f, 0.509824f, 0.335460f, 0.148522f, -0.042097f, -0.228597f, -0.401857f, -0.550339f, -0.664707f, -0.739759f, -0.770184f, -0.751394f, -0.686776f, -0.584706f, -0.445967f, -0.269185f, -0.078301f, 0.070423f, 0.128885f, 0.103757f, 0.049358f, 0.011607f} + }, + { + {-0.080276f, -0.311417f, -0.607640f, -0.791927f, -0.800857f, -0.760608f, -0.739148f, -0.646209f, -0.447092f, -0.280447f, -0.279295f, -0.423068f, -0.622336f, -0.804161f, -0.867594f, -0.710767f, -0.374205f, -0.036779f, 0.187292f, 0.339906f, 0.474434f, 0.550962f, 0.537943f, 0.503393f, 0.524522f, 0.587272f, 0.644960f, 0.705979f, 0.790728f, 0.855477f, 0.834725f, 0.730307f, 0.593843f, 0.437574f, 0.224869f, -0.047825f, -0.311841f, -0.490861f, -0.575373f, -0.611964f, -0.639917f, -0.664189f, -0.679158f, -0.686945f, -0.685661f, -0.661531f, -0.605064f, -0.523507f, -0.428999f, -0.324606f, -0.209719f, -0.090298f, 0.024311f, 0.128844f, 0.221046f, 0.298789f, 0.362618f, 0.416158f, 0.460462f, 0.491627f, 0.505331f, 0.499605f, 0.472944f, 0.425203f, 0.361839f, 0.292961f, 0.226591f, 0.165529f, 0.110752f, 0.064158f, 0.026873f, -0.002586f, -0.027283f, -0.050301f, -0.074568f, -0.102794f, -0.136426f, -0.174543f, -0.213824f, -0.249920f, -0.279603f, -0.302272f, -0.319692f, -0.334393f, -0.347809f, -0.358600f, -0.361817f, -0.350205f, -0.317616f, -0.261906f, -0.185247f, -0.092969f, 0.007045f, 0.104879f, 0.190432f, 0.255872f, + 0.297100f, 0.314390f, 0.312581f, 0.299610f, 0.283349f, 0.269653f, 0.262979f, 0.266740f, 0.281862f, 0.306365f, 0.337110f, 0.369991f, 0.397544f, 0.408784f, 0.393056f, 0.342920f, 0.253936f, 0.125604f, -0.035892f, -0.218368f, -0.407961f, -0.590892f, -0.752239f, -0.877499f, -0.956409f, -0.982915f, -0.952586f, -0.863813f, -0.720987f, -0.533454f, -0.312498f, -0.071910f, 0.171049f, 0.399293f, 0.599797f, 0.762809f, 0.880702f, 0.950183f, 0.972884f, 0.951927f, 0.890214f, 0.792224f, 0.663786f, 0.509824f, 0.335460f, 0.148522f, -0.042097f, -0.228597f, -0.401857f, -0.550339f, -0.664707f, -0.739759f, -0.770184f, -0.751394f, -0.686776f, -0.584706f, -0.445967f, -0.269185f, -0.078301f, 0.070423f, 0.128885f, 0.103757f, 0.049358f, 0.011607f}, + {0.022597f, 0.065202f, 0.094800f, 0.087222f, 0.028863f, -0.033215f, -0.025115f, 0.029670f, 0.010871f, -0.094080f, -0.093395f, 0.164837f, 0.534054f, 0.723953f, 0.668586f, 0.562550f, 0.547018f, 0.547467f, 0.451265f, 0.273050f, 0.076100f, -0.133607f, -0.347652f, -0.484095f, -0.465506f, -0.320173f, -0.144456f, 0.002459f, 0.124086f, 0.236901f, 0.334318f, 0.388275f, 0.365496f, 0.251083f, 0.066984f, -0.139501f, -0.329262f, -0.490031f, -0.628003f, -0.750861f, -0.856460f, -0.932287f, -0.968749f, -0.973950f, -0.969671f, -0.973735f, -0.992918f, -1.028350f, -1.076088f, -1.123879f, -1.158091f, -1.174678f, -1.178288f, -1.174093f, -1.165759f, -1.157129f, -1.151037f, -1.149567f, -1.156736f, -1.175982f, -1.205151f, -1.239655f, -1.278806f, -1.322162f, -1.361620f, -1.384066f, -1.380279f, -1.346908f, -1.284430f, -1.199139f, -1.103249f, -1.007963f, -0.918939f, -0.839828f, -0.774659f, -0.724527f, -0.686467f, -0.656634f, -0.631187f, -0.605488f, -0.576739f, -0.545772f, -0.513340f, -0.478002f, -0.440201f, -0.403792f, -0.371197f, -0.342018f, -0.317969f, -0.303696f, -0.301471f, -0.309948f, -0.328028f, -0.355049f, -0.388060f, -0.423148f, + -0.457901f, -0.489672f, -0.514648f, -0.531085f, -0.539738f, -0.540079f, -0.530837f, -0.514091f, -0.493133f, -0.467135f, -0.433667f, -0.394405f, -0.352537f, -0.307676f, -0.258996f, -0.209516f, -0.162264f, -0.116664f, -0.072404f, -0.031550f, 0.005591f, 0.040704f, 0.072658f, 0.098740f, 0.119709f, 0.136856f, 0.146623f, 0.145056f, 0.133481f, 0.112977f, 0.078684f, 0.025978f, -0.044059f, -0.130730f, -0.238118f, -0.369115f, -0.521997f, -0.694951f, -0.886933f, -1.093940f, -1.310375f, -1.531202f, -1.748254f, -1.951169f, -2.135588f, -2.301024f, -2.440136f, -2.544008f, -2.616201f, -2.664228f, -2.682466f, -2.663745f, -2.617014f, -2.550432f, -2.454397f, -2.322601f, -2.151953f, -1.890105f, -1.449852f, -0.850895f, -0.291398f, 0.021597f, 0.081084f, 0.031473f} + }, + { + {0.021336f, 0.022839f, -0.073302f, -0.217195f, -0.247984f, -0.104075f, 0.014239f, -0.112545f, -0.344615f, -0.293672f, 0.139315f, 0.578646f, 0.643404f, 0.405511f, 0.222872f, 0.260763f, 0.361987f, 0.319901f, 0.107580f, -0.158487f, -0.355870f, -0.427989f, -0.389853f, -0.297927f, -0.198578f, -0.103336f, -0.016535f, 0.036571f, 0.024244f, -0.066294f, -0.225146f, -0.422394f, -0.612111f, -0.757578f, -0.858245f, -0.933908f, -0.983839f, -0.983826f, -0.924185f, -0.829851f, -0.740362f, -0.685366f, -0.677873f, -0.713138f, -0.770012f, -0.824820f, -0.868218f, -0.904879f, -0.939349f, -0.967949f, -0.983081f, -0.981192f, -0.966416f, -0.947112f, -0.928422f, -0.909876f, -0.890814f, -0.873490f, -0.857977f, -0.838957f, -0.811865f, -0.778815f, -0.745042f, -0.712396f, -0.678987f, -0.642950f, -0.604773f, -0.567091f, -0.532266f, -0.499479f, -0.465735f, -0.430492f, -0.396831f, -0.367428f, -0.342441f, -0.321661f, -0.305164f, -0.291646f, -0.279605f, -0.269981f, -0.264614f, -0.263048f, -0.263497f, -0.265405f, -0.268988f, -0.274537f, -0.283634f, -0.298307f, -0.318291f, -0.342181f, -0.370706f, -0.404808f, -0.441384f, -0.474914f, -0.501713f, -0.518854f, + -0.521982f, -0.508767f, -0.481950f, -0.445493f, -0.400843f, -0.349459f, -0.294957f, -0.240473f, -0.187566f, -0.138571f, -0.096275f, -0.061952f, -0.037779f, -0.029269f, -0.041199f, -0.074110f, -0.128361f, -0.206759f, -0.309186f, -0.430094f, -0.565083f, -0.714033f, -0.874899f, -1.041263f, -1.208909f, -1.378424f, -1.549363f, -1.717858f, -1.880821f, -2.037000f, -2.183716f, -2.316614f, -2.431612f, -2.525085f, -2.595175f, -2.643617f, -2.672077f, -2.678363f, -2.662123f, -2.630131f, -2.587965f, -2.532325f, -2.460515f, -2.378974f, -2.291916f, -2.192016f, -2.073566f, -1.942343f, -1.801293f, -1.641629f, -1.459200f, -1.262257f, -1.053445f, -0.825148f, -0.579571f, -0.325028f, -0.046466f, 0.276154f, 0.595944f, 0.788105f, 0.756992f, 0.541774f, 0.282133f, 0.080550f}, + {0.021336f, 0.022839f, -0.073302f, -0.217195f, -0.247984f, -0.104075f, 0.014239f, -0.112545f, -0.344615f, -0.293672f, 0.139315f, 0.578646f, 0.643404f, 0.405511f, 0.222872f, 0.260763f, 0.361987f, 0.319901f, 0.107580f, -0.158487f, -0.355870f, -0.427989f, -0.389853f, -0.297927f, -0.198578f, -0.103336f, -0.016535f, 0.036571f, 0.024244f, -0.066294f, -0.225146f, -0.422394f, -0.612111f, -0.757578f, -0.858245f, -0.933908f, -0.983839f, -0.983826f, -0.924185f, -0.829851f, -0.740362f, -0.685366f, -0.677873f, -0.713138f, -0.770012f, -0.824820f, -0.868218f, -0.904879f, -0.939349f, -0.967949f, -0.983081f, -0.981192f, -0.966416f, -0.947112f, -0.928422f, -0.909876f, -0.890814f, -0.873490f, -0.857977f, -0.838957f, -0.811865f, -0.778815f, -0.745042f, -0.712396f, -0.678987f, -0.642950f, -0.604773f, -0.567091f, -0.532266f, -0.499479f, -0.465735f, -0.430492f, -0.396831f, -0.367428f, -0.342441f, -0.321661f, -0.305164f, -0.291646f, -0.279605f, -0.269981f, -0.264614f, -0.263048f, -0.263497f, -0.265405f, -0.268988f, -0.274537f, -0.283634f, -0.298307f, -0.318291f, -0.342181f, -0.370706f, -0.404808f, -0.441384f, -0.474914f, -0.501713f, -0.518854f, + -0.521982f, -0.508767f, -0.481950f, -0.445493f, -0.400843f, -0.349459f, -0.294957f, -0.240473f, -0.187566f, -0.138571f, -0.096275f, -0.061952f, -0.037779f, -0.029269f, -0.041199f, -0.074110f, -0.128361f, -0.206759f, -0.309186f, -0.430094f, -0.565083f, -0.714033f, -0.874899f, -1.041263f, -1.208909f, -1.378424f, -1.549363f, -1.717858f, -1.880821f, -2.037000f, -2.183716f, -2.316614f, -2.431612f, -2.525085f, -2.595175f, -2.643617f, -2.672077f, -2.678363f, -2.662123f, -2.630131f, -2.587965f, -2.532325f, -2.460515f, -2.378974f, -2.291916f, -2.192016f, -2.073566f, -1.942343f, -1.801293f, -1.641629f, -1.459200f, -1.262257f, -1.053445f, -0.825148f, -0.579571f, -0.325028f, -0.046466f, 0.276154f, 0.595944f, 0.788105f, 0.756992f, 0.541774f, 0.282133f, 0.080550f} + }, + { + {0.012018f, 0.066586f, 0.152639f, 0.207071f, 0.209717f, 0.178456f, 0.085121f, -0.092155f, -0.264863f, -0.327430f, -0.327666f, -0.395977f, -0.530744f, -0.609862f, -0.598708f, -0.587572f, -0.623204f, -0.652992f, -0.647573f, -0.644111f, -0.649663f, -0.617816f, -0.540898f, -0.469537f, -0.429175f, -0.400620f, -0.385308f, -0.408445f, -0.453223f, -0.464516f, -0.424417f, -0.365930f, -0.311545f, -0.251073f, -0.180010f, -0.112919f, -0.056366f, -0.004630f, 0.037141f, 0.053534f, 0.041699f, 0.013687f, -0.019541f, -0.051027f, -0.071574f, -0.074580f, -0.063254f, -0.045955f, -0.030239f, -0.025174f, -0.041237f, -0.083221f, -0.147899f, -0.228711f, -0.317157f, -0.401610f, -0.472141f, -0.526510f, -0.567243f, -0.595153f, -0.609617f, -0.611851f, -0.603354f, -0.583289f, -0.550511f, -0.506187f, -0.452584f, -0.391616f, -0.325856f, -0.258757f, -0.192849f, -0.129124f, -0.068038f, -0.009425f, 0.048121f, 0.106115f, 0.164670f, 0.223043f, 0.280807f, 0.337215f, 0.389845f, 0.434804f, 0.468298f, 0.487689f, 0.490882f, 0.474753f, 0.434821f, 0.367002f, 0.268928f, 0.138992f, -0.023741f, -0.216176f, -0.429032f, -0.650898f, -0.873502f, -1.090516f, + -1.293455f, -1.473572f, -1.627329f, -1.755674f, -1.858280f, -1.933078f, -1.981344f, -2.007913f, -2.014974f, -1.999942f, -1.960994f, -1.900865f, -1.823692f, -1.732040f, -1.629346f, -1.522206f, -1.417380f, -1.317914f, -1.223887f, -1.135589f, -1.054380f, -0.981265f, -0.916122f, -0.858499f, -0.808619f, -0.767042f, -0.733071f, -0.704146f, -0.677737f, -0.653344f, -0.631604f, -0.612382f, -0.595471f, -0.582461f, -0.575952f, -0.577320f, -0.586697f, -0.604312f, -0.630361f, -0.664275f, -0.705000f, -0.751057f, -0.800298f, -0.851098f, -0.903010f, -0.954211f, -0.999996f, -1.036419f, -1.062657f, -1.076833f, -1.073963f, -1.051969f, -1.014117f, -0.961872f, -0.892965f, -0.807931f, -0.703595f, -0.557881f, -0.349467f, -0.110075f, 0.071803f, 0.131434f, 0.094014f, 0.030195f}, + {-0.169676f, -0.479045f, -0.687725f, -0.745490f, -0.686566f, -0.594240f, -0.494282f, -0.350297f, -0.167225f, -0.017915f, 0.055446f, 0.093690f, 0.144892f, 0.201511f, 0.248867f, 0.316763f, 0.432409f, 0.556198f, 0.607835f, 0.540635f, 0.367708f, 0.137640f, -0.092179f, -0.276530f, -0.400339f, -0.471378f, -0.492192f, -0.455690f, -0.371267f, -0.272288f, -0.186910f, -0.117137f, -0.053329f, 0.007761f, 0.067846f, 0.134100f, 0.208892f, 0.279839f, 0.327334f, 0.337226f, 0.304345f, 0.232251f, 0.134706f, 0.032552f, -0.055175f, -0.116728f, -0.147122f, -0.148098f, -0.129145f, -0.103722f, -0.081991f, -0.067689f, -0.060332f, -0.057605f, -0.056281f, -0.053648f, -0.048905f, -0.042789f, -0.036484f, -0.031173f, -0.027357f, -0.023751f, -0.017402f, -0.004993f, 0.016436f, 0.049010f, 0.092097f, 0.140251f, 0.183980f, 0.213061f, 0.219488f, 0.199132f, 0.152883f, 0.086666f, 0.009291f, -0.070535f, -0.145803f, -0.211193f, -0.262456f, -0.295515f, -0.305654f, -0.287987f, -0.239522f, -0.161484f, -0.060555f, 0.051276f, 0.158521f, 0.245765f, 0.301610f, 0.320874f, 0.304470f, 0.258046f, 0.190303f, 0.111202f, 0.030420f, -0.043586f, + -0.104149f, -0.146895f, -0.170006f, -0.174138f, -0.162254f, -0.139224f, -0.110752f, -0.081894f, -0.056123f, -0.035216f, -0.019427f, -0.007720f, 0.001684f, 0.010659f, 0.020891f, 0.033788f, 0.050134f, 0.069595f, 0.090510f, 0.110004f, 0.124360f, 0.129820f, 0.123661f, 0.104987f, 0.074856f, 0.035992f, -0.007782f, -0.052315f, -0.093778f, -0.128870f, -0.154804f, -0.169387f, -0.171057f, -0.158834f, -0.132551f, -0.093363f, -0.044033f, 0.011189f, 0.066780f, 0.116375f, 0.153882f, 0.174846f, 0.177241f, 0.161682f, 0.131436f, 0.091780f, 0.048485f, 0.006475f, -0.030495f, -0.059949f, -0.081115f, -0.094605f, -0.101136f, -0.101084f, -0.095319f, -0.084867f, -0.069049f, -0.046151f, -0.018205f, 0.006293f, 0.017960f, 0.015621f, 0.007434f, 0.001653f} + }, + { + {-0.169676f, -0.479045f, -0.687725f, -0.745490f, -0.686566f, -0.594240f, -0.494282f, -0.350297f, -0.167225f, -0.017915f, 0.055446f, 0.093690f, 0.144892f, 0.201511f, 0.248867f, 0.316763f, 0.432409f, 0.556198f, 0.607835f, 0.540635f, 0.367708f, 0.137640f, -0.092179f, -0.276530f, -0.400339f, -0.471378f, -0.492192f, -0.455690f, -0.371267f, -0.272288f, -0.186910f, -0.117137f, -0.053329f, 0.007761f, 0.067846f, 0.134100f, 0.208892f, 0.279839f, 0.327334f, 0.337226f, 0.304345f, 0.232251f, 0.134706f, 0.032552f, -0.055175f, -0.116728f, -0.147122f, -0.148098f, -0.129145f, -0.103722f, -0.081991f, -0.067689f, -0.060332f, -0.057605f, -0.056281f, -0.053648f, -0.048905f, -0.042789f, -0.036484f, -0.031173f, -0.027357f, -0.023751f, -0.017402f, -0.004993f, 0.016436f, 0.049010f, 0.092097f, 0.140251f, 0.183980f, 0.213061f, 0.219488f, 0.199132f, 0.152883f, 0.086666f, 0.009291f, -0.070535f, -0.145803f, -0.211193f, -0.262456f, -0.295515f, -0.305654f, -0.287987f, -0.239522f, -0.161484f, -0.060555f, 0.051276f, 0.158521f, 0.245765f, 0.301610f, 0.320874f, 0.304470f, 0.258046f, 0.190303f, 0.111202f, 0.030420f, -0.043586f, + -0.104149f, -0.146895f, -0.170006f, -0.174138f, -0.162254f, -0.139224f, -0.110752f, -0.081894f, -0.056123f, -0.035216f, -0.019427f, -0.007720f, 0.001684f, 0.010659f, 0.020891f, 0.033788f, 0.050134f, 0.069595f, 0.090510f, 0.110004f, 0.124360f, 0.129820f, 0.123661f, 0.104987f, 0.074856f, 0.035992f, -0.007782f, -0.052315f, -0.093778f, -0.128870f, -0.154804f, -0.169387f, -0.171057f, -0.158834f, -0.132551f, -0.093363f, -0.044033f, 0.011189f, 0.066780f, 0.116375f, 0.153882f, 0.174846f, 0.177241f, 0.161682f, 0.131436f, 0.091780f, 0.048485f, 0.006475f, -0.030495f, -0.059949f, -0.081115f, -0.094605f, -0.101136f, -0.101084f, -0.095319f, -0.084867f, -0.069049f, -0.046151f, -0.018205f, 0.006293f, 0.017960f, 0.015621f, 0.007434f, 0.001653f}, + {0.012018f, 0.066586f, 0.152639f, 0.207071f, 0.209717f, 0.178456f, 0.085121f, -0.092155f, -0.264863f, -0.327430f, -0.327666f, -0.395977f, -0.530744f, -0.609862f, -0.598708f, -0.587572f, -0.623204f, -0.652992f, -0.647573f, -0.644111f, -0.649663f, -0.617816f, -0.540898f, -0.469537f, -0.429175f, -0.400620f, -0.385308f, -0.408445f, -0.453223f, -0.464516f, -0.424417f, -0.365930f, -0.311545f, -0.251073f, -0.180010f, -0.112919f, -0.056366f, -0.004630f, 0.037141f, 0.053534f, 0.041699f, 0.013687f, -0.019541f, -0.051027f, -0.071574f, -0.074580f, -0.063254f, -0.045955f, -0.030239f, -0.025174f, -0.041237f, -0.083221f, -0.147899f, -0.228711f, -0.317157f, -0.401610f, -0.472141f, -0.526510f, -0.567243f, -0.595153f, -0.609617f, -0.611851f, -0.603354f, -0.583289f, -0.550511f, -0.506187f, -0.452584f, -0.391616f, -0.325856f, -0.258757f, -0.192849f, -0.129124f, -0.068038f, -0.009425f, 0.048121f, 0.106115f, 0.164670f, 0.223043f, 0.280807f, 0.337215f, 0.389845f, 0.434804f, 0.468298f, 0.487689f, 0.490882f, 0.474753f, 0.434821f, 0.367002f, 0.268928f, 0.138992f, -0.023741f, -0.216176f, -0.429032f, -0.650898f, -0.873502f, -1.090516f, + -1.293455f, -1.473572f, -1.627329f, -1.755674f, -1.858280f, -1.933078f, -1.981344f, -2.007913f, -2.014974f, -1.999942f, -1.960994f, -1.900865f, -1.823692f, -1.732040f, -1.629346f, -1.522206f, -1.417380f, -1.317914f, -1.223887f, -1.135589f, -1.054380f, -0.981265f, -0.916122f, -0.858499f, -0.808619f, -0.767042f, -0.733071f, -0.704146f, -0.677737f, -0.653344f, -0.631604f, -0.612382f, -0.595471f, -0.582461f, -0.575952f, -0.577320f, -0.586697f, -0.604312f, -0.630361f, -0.664275f, -0.705000f, -0.751057f, -0.800298f, -0.851098f, -0.903010f, -0.954211f, -0.999996f, -1.036419f, -1.062657f, -1.076833f, -1.073963f, -1.051969f, -1.014117f, -0.961872f, -0.892965f, -0.807931f, -0.703595f, -0.557881f, -0.349467f, -0.110075f, 0.071803f, 0.131434f, 0.094014f, 0.030195f} + }, + { + {0.014752f, 0.080926f, 0.195425f, 0.277300f, 0.257363f, 0.156308f, 0.028839f, -0.113396f, -0.267755f, -0.377434f, -0.386960f, -0.342896f, -0.348502f, -0.414148f, -0.444149f, -0.392144f, -0.334551f, -0.346055f, -0.388264f, -0.385314f, -0.342243f, -0.315364f, -0.312098f, -0.294136f, -0.253677f, -0.220820f, -0.205998f, -0.186961f, -0.150236f, -0.108165f, -0.075965f, -0.057714f, -0.051787f, -0.050962f, -0.041140f, -0.013561f, 0.025666f, 0.064669f, 0.096591f, 0.117146f, 0.121878f, 0.111088f, 0.089713f, 0.059784f, 0.020022f, -0.026868f, -0.073943f, -0.117183f, -0.157438f, -0.196739f, -0.237459f, -0.283107f, -0.335948f, -0.395266f, -0.459191f, -0.525388f, -0.589979f, -0.649670f, -0.704454f, -0.754602f, -0.796966f, -0.828420f, -0.850237f, -0.864670f, -0.870324f, -0.865150f, -0.850447f, -0.827593f, -0.794208f, -0.747439f, -0.688089f, -0.618815f, -0.541545f, -0.458906f, -0.375037f, -0.293293f, -0.215404f, -0.143040f, -0.077588f, -0.019000f, 0.032484f, 0.074585f, 0.105344f, 0.125342f, 0.134906f, 0.131058f, 0.109800f, 0.069531f, 0.009669f, -0.072345f, -0.179941f, -0.313863f, -0.471475f, -0.649282f, -0.844479f, -1.053119f, + -1.267745f, -1.479091f, -1.680773f, -1.869994f, -2.042752f, -2.192065f, -2.313426f, -2.408035f, -2.477146f, -2.517248f, -2.525139f, -2.503743f, -2.457948f, -2.388501f, -2.295477f, -2.184628f, -2.064830f, -1.941431f, -1.816649f, -1.694232f, -1.579181f, -1.473891f, -1.377781f, -1.290140f, -1.211493f, -1.142683f, -1.083511f, -1.032207f, -0.986607f, -0.945898f, -0.909860f, -0.876620f, -0.843723f, -0.811646f, -0.783525f, -0.761406f, -0.745602f, -0.737373f, -0.739078f, -0.751862f, -0.775439f, -0.809243f, -0.852230f, -0.903080f, -0.961061f, -1.024309f, -1.088143f, -1.148390f, -1.204010f, -1.252283f, -1.285794f, -1.299183f, -1.292421f, -1.262728f, -1.203108f, -1.111036f, -0.979245f, -0.776277f, -0.476453f, -0.132899f, 0.122319f, 0.197804f, 0.136024f, 0.042576f}, + {-0.227014f, -0.610850f, -0.818539f, -0.827111f, -0.686892f, -0.457083f, -0.160737f, 0.181068f, 0.492015f, 0.663276f, 0.645507f, 0.491632f, 0.296608f, 0.115861f, -0.045963f, -0.190352f, -0.298137f, -0.347915f, -0.342680f, -0.305031f, -0.248092f, -0.163336f, -0.044330f, 0.087170f, 0.193410f, 0.255410f, 0.280175f, 0.274955f, 0.233799f, 0.155072f, 0.055541f, -0.042288f, -0.126009f, -0.190037f, -0.227316f, -0.232179f, -0.205012f, -0.149836f, -0.073712f, 0.009179f, 0.080908f, 0.131368f, 0.161850f, 0.176172f, 0.173910f, 0.153080f, 0.113644f, 0.057229f, -0.011649f, -0.082819f, -0.142538f, -0.179500f, -0.187713f, -0.166032f, -0.118858f, -0.056688f, 0.007437f, 0.063054f, 0.104150f, 0.128571f, 0.137667f, 0.134993f, 0.123166f, 0.101911f, 0.069333f, 0.024214f, -0.032551f, -0.096504f, -0.158282f, -0.204364f, -0.220307f, -0.195023f, -0.125423f, -0.020573f, 0.097777f, 0.200718f, 0.261787f, 0.265935f, 0.214220f, 0.122551f, 0.014966f, -0.085028f, -0.160356f, -0.201834f, -0.207055f, -0.178791f, -0.123669f, -0.051497f, 0.025035f, 0.091764f, 0.136407f, 0.152155f, 0.139214f, 0.103923f, 0.056479f, 0.007941f, + -0.032731f, -0.060404f, -0.073774f, -0.074412f, -0.065640f, -0.051337f, -0.034892f, -0.018694f, -0.004139f, 0.008287f, 0.018799f, 0.027833f, 0.035535f, 0.041544f, 0.044915f, 0.044175f, 0.037797f, 0.025105f, 0.006966f, -0.014167f, -0.034676f, -0.050526f, -0.058290f, -0.056172f, -0.044497f, -0.025572f, -0.003149f, 0.018446f, 0.035422f, 0.045432f, 0.047837f, 0.043411f, 0.033825f, 0.021117f, 0.007200f, -0.006372f, -0.018366f, -0.027745f, -0.033669f, -0.035551f, -0.033093f, -0.026384f, -0.016086f, -0.003488f, 0.009653f, 0.021402f, 0.029923f, 0.033831f, 0.032600f, 0.026745f, 0.017574f, 0.006768f, -0.003896f, -0.012818f, -0.019007f, -0.022208f, -0.022305f, -0.018895f, -0.012232f, -0.004535f, 0.000825f, 0.002230f, 0.001220f, 0.000243f} + }, + { + {-0.227014f, -0.610850f, -0.818539f, -0.827111f, -0.686892f, -0.457083f, -0.160737f, 0.181068f, 0.492015f, 0.663276f, 0.645507f, 0.491632f, 0.296608f, 0.115861f, -0.045963f, -0.190352f, -0.298137f, -0.347915f, -0.342680f, -0.305031f, -0.248092f, -0.163336f, -0.044330f, 0.087170f, 0.193410f, 0.255410f, 0.280175f, 0.274955f, 0.233799f, 0.155072f, 0.055541f, -0.042288f, -0.126009f, -0.190037f, -0.227316f, -0.232179f, -0.205012f, -0.149836f, -0.073712f, 0.009179f, 0.080908f, 0.131368f, 0.161850f, 0.176172f, 0.173910f, 0.153080f, 0.113644f, 0.057229f, -0.011649f, -0.082819f, -0.142538f, -0.179500f, -0.187713f, -0.166032f, -0.118858f, -0.056688f, 0.007437f, 0.063054f, 0.104150f, 0.128571f, 0.137667f, 0.134993f, 0.123166f, 0.101911f, 0.069333f, 0.024214f, -0.032551f, -0.096504f, -0.158282f, -0.204364f, -0.220307f, -0.195023f, -0.125423f, -0.020573f, 0.097777f, 0.200718f, 0.261787f, 0.265935f, 0.214220f, 0.122551f, 0.014966f, -0.085028f, -0.160356f, -0.201834f, -0.207055f, -0.178791f, -0.123669f, -0.051497f, 0.025035f, 0.091764f, 0.136407f, 0.152155f, 0.139214f, 0.103923f, 0.056479f, 0.007941f, + -0.032731f, -0.060404f, -0.073774f, -0.074412f, -0.065640f, -0.051337f, -0.034892f, -0.018694f, -0.004139f, 0.008287f, 0.018799f, 0.027833f, 0.035535f, 0.041544f, 0.044915f, 0.044175f, 0.037797f, 0.025105f, 0.006966f, -0.014167f, -0.034676f, -0.050526f, -0.058290f, -0.056172f, -0.044497f, -0.025572f, -0.003149f, 0.018446f, 0.035422f, 0.045432f, 0.047837f, 0.043411f, 0.033825f, 0.021117f, 0.007200f, -0.006372f, -0.018366f, -0.027745f, -0.033669f, -0.035551f, -0.033093f, -0.026384f, -0.016086f, -0.003488f, 0.009653f, 0.021402f, 0.029923f, 0.033831f, 0.032600f, 0.026745f, 0.017574f, 0.006768f, -0.003896f, -0.012818f, -0.019007f, -0.022208f, -0.022305f, -0.018895f, -0.012232f, -0.004535f, 0.000825f, 0.002230f, 0.001220f, 0.000243f}, + {0.014752f, 0.080926f, 0.195425f, 0.277300f, 0.257363f, 0.156308f, 0.028839f, -0.113396f, -0.267755f, -0.377434f, -0.386960f, -0.342896f, -0.348502f, -0.414148f, -0.444149f, -0.392144f, -0.334551f, -0.346055f, -0.388264f, -0.385314f, -0.342243f, -0.315364f, -0.312098f, -0.294136f, -0.253677f, -0.220820f, -0.205998f, -0.186961f, -0.150236f, -0.108165f, -0.075965f, -0.057714f, -0.051787f, -0.050962f, -0.041140f, -0.013561f, 0.025666f, 0.064669f, 0.096591f, 0.117146f, 0.121878f, 0.111088f, 0.089713f, 0.059784f, 0.020022f, -0.026868f, -0.073943f, -0.117183f, -0.157438f, -0.196739f, -0.237459f, -0.283107f, -0.335948f, -0.395266f, -0.459191f, -0.525388f, -0.589979f, -0.649670f, -0.704454f, -0.754602f, -0.796966f, -0.828420f, -0.850237f, -0.864670f, -0.870324f, -0.865150f, -0.850447f, -0.827593f, -0.794208f, -0.747439f, -0.688089f, -0.618815f, -0.541545f, -0.458906f, -0.375037f, -0.293293f, -0.215404f, -0.143040f, -0.077588f, -0.019000f, 0.032484f, 0.074585f, 0.105344f, 0.125342f, 0.134906f, 0.131058f, 0.109800f, 0.069531f, 0.009669f, -0.072345f, -0.179941f, -0.313863f, -0.471475f, -0.649282f, -0.844479f, -1.053119f, + -1.267745f, -1.479091f, -1.680773f, -1.869994f, -2.042752f, -2.192065f, -2.313426f, -2.408035f, -2.477146f, -2.517248f, -2.525139f, -2.503743f, -2.457948f, -2.388501f, -2.295477f, -2.184628f, -2.064830f, -1.941431f, -1.816649f, -1.694232f, -1.579181f, -1.473891f, -1.377781f, -1.290140f, -1.211493f, -1.142683f, -1.083511f, -1.032207f, -0.986607f, -0.945898f, -0.909860f, -0.876620f, -0.843723f, -0.811646f, -0.783525f, -0.761406f, -0.745602f, -0.737373f, -0.739078f, -0.751862f, -0.775439f, -0.809243f, -0.852230f, -0.903080f, -0.961061f, -1.024309f, -1.088143f, -1.148390f, -1.204010f, -1.252283f, -1.285794f, -1.299183f, -1.292421f, -1.262728f, -1.203108f, -1.111036f, -0.979245f, -0.776277f, -0.476453f, -0.132899f, 0.122319f, 0.197804f, 0.136024f, 0.042576f} + }, + { + {0.043211f, 0.114663f, 0.178350f, 0.255737f, 0.285888f, 0.179104f, -0.023247f, -0.173997f, -0.226462f, -0.279044f, -0.376950f, -0.415326f, -0.314791f, -0.166534f, -0.101737f, -0.111875f, -0.106297f, -0.075928f, -0.083496f, -0.132151f, -0.157295f, -0.141147f, -0.141935f, -0.197377f, -0.268166f, -0.295822f, -0.268965f, -0.216058f, -0.166730f, -0.133269f, -0.106523f, -0.062428f, 0.009773f, 0.084069f, 0.118826f, 0.100756f, 0.052619f, 0.000385f, -0.049019f, -0.097030f, -0.139136f, -0.169026f, -0.187831f, -0.203308f, -0.223852f, -0.255186f, -0.299437f, -0.356144f, -0.425306f, -0.507990f, -0.602347f, -0.701452f, -0.797320f, -0.885133f, -0.962214f, -1.026134f, -1.076805f, -1.118706f, -1.158479f, -1.200974f, -1.248680f, -1.303141f, -1.364299f, -1.428256f, -1.487099f, -1.531700f, -1.554756f, -1.551648f, -1.520065f, -1.460625f, -1.377882f, -1.278869f, -1.169561f, -1.053641f, -0.934981f, -0.819203f, -0.711302f, -0.613088f, -0.524413f, -0.445870f, -0.379143f, -0.325887f, -0.287530f, -0.265472f, -0.260511f, -0.272174f, -0.298377f, -0.335361f, -0.379247f, -0.429275f, -0.488690f, -0.561273f, -0.648741f, -0.753109f, -0.878725f, -1.028425f, + -1.199267f, -1.385196f, -1.581978f, -1.785517f, -1.986815f, -2.173455f, -2.336281f, -2.471087f, -2.574200f, -2.641158f, -2.671370f, -2.670549f, -2.646120f, -2.602190f, -2.540998f, -2.466998f, -2.385837f, -2.299472f, -2.205584f, -2.102795f, -1.993617f, -1.880860f, -1.764387f, -1.644251f, -1.524566f, -1.410674f, -1.304067f, -1.203483f, -1.109515f, -1.024333f, -0.947806f, -0.877724f, -0.813643f, -0.757572f, -0.711183f, -0.674763f, -0.648343f, -0.631942f, -0.625338f, -0.628602f, -0.641609f, -0.662782f, -0.690486f, -0.725337f, -0.767997f, -0.815397f, -0.862958f, -0.909125f, -0.952637f, -0.987183f, -1.004998f, -1.003395f, -0.980880f, -0.931098f, -0.849216f, -0.736166f, -0.582560f, -0.362530f, -0.077132f, 0.196027f, 0.339834f, 0.309726f, 0.180471f, 0.053468f}, + {-0.250917f, -0.661339f, -0.861207f, -0.846902f, -0.664218f, -0.342690f, 0.076900f, 0.488755f, 0.753334f, 0.794704f, 0.644706f, 0.387716f, 0.087130f, -0.222361f, -0.495635f, -0.664747f, -0.675285f, -0.525652f, -0.265718f, 0.036337f, 0.319974f, 0.533170f, 0.627765f, 0.573427f, 0.381921f, 0.110243f, -0.167021f, -0.388733f, -0.515836f, -0.526623f, -0.420050f, -0.223739f, 0.011644f, 0.230655f, 0.386504f, 0.446212f, 0.398682f, 0.263741f, 0.086103f, -0.086723f, -0.222001f, -0.302073f, -0.318070f, -0.270296f, -0.171952f, -0.046899f, 0.077676f, 0.177097f, 0.232660f, 0.235704f, 0.190877f, 0.114233f, 0.026162f, -0.055573f, -0.118508f, -0.154916f, -0.161542f, -0.140412f, -0.098426f, -0.044790f, 0.011487f, 0.062292f, 0.100710f, 0.122257f, 0.125625f, 0.111599f, 0.081676f, 0.038064f, -0.015568f, -0.073246f, -0.125374f, -0.158379f, -0.158510f, -0.119317f, -0.047174f, 0.039659f, 0.117388f, 0.164783f, 0.170354f, 0.136110f, 0.075525f, 0.006572f, -0.055527f, -0.101705f, -0.128258f, -0.134141f, -0.118811f, -0.082220f, -0.026999f, 0.038902f, 0.101566f, 0.144045f, 0.152550f, 0.123025f, 0.063907f, -0.007177f, + -0.070685f, -0.111988f, -0.124827f, -0.111060f, -0.077909f, -0.034563f, 0.010220f, 0.049241f, 0.077443f, 0.092064f, 0.092106f, 0.077698f, 0.050246f, 0.012985f, -0.028844f, -0.068172f, -0.096572f, -0.105925f, -0.091461f, -0.054444f, -0.002780f, 0.050639f, 0.091484f, 0.108787f, 0.098953f, 0.066563f, 0.021850f, -0.023112f, -0.057935f, -0.076466f, -0.077535f, -0.063771f, -0.039868f, -0.011391f, 0.016269f, 0.038948f, 0.053942f, 0.059572f, 0.055230f, 0.041838f, 0.021689f, -0.002057f, -0.025436f, -0.043993f, -0.054036f, -0.053641f, -0.042616f, -0.022580f, 0.002601f, 0.027618f, 0.047483f, 0.058276f, 0.057322f, 0.044558f, 0.023331f, -0.001451f, -0.024710f, -0.039879f, -0.040348f, -0.026668f, -0.009522f, -0.000100f, 0.000909f, 0.000035f} + }, + { + {-0.250917f, -0.661339f, -0.861207f, -0.846902f, -0.664218f, -0.342690f, 0.076900f, 0.488755f, 0.753334f, 0.794704f, 0.644706f, 0.387716f, 0.087130f, -0.222361f, -0.495635f, -0.664747f, -0.675285f, -0.525652f, -0.265718f, 0.036337f, 0.319974f, 0.533170f, 0.627765f, 0.573427f, 0.381921f, 0.110243f, -0.167021f, -0.388733f, -0.515836f, -0.526623f, -0.420050f, -0.223739f, 0.011644f, 0.230655f, 0.386504f, 0.446212f, 0.398682f, 0.263741f, 0.086103f, -0.086723f, -0.222001f, -0.302073f, -0.318070f, -0.270296f, -0.171952f, -0.046899f, 0.077676f, 0.177097f, 0.232660f, 0.235704f, 0.190877f, 0.114233f, 0.026162f, -0.055573f, -0.118508f, -0.154916f, -0.161542f, -0.140412f, -0.098426f, -0.044790f, 0.011487f, 0.062292f, 0.100710f, 0.122257f, 0.125625f, 0.111599f, 0.081676f, 0.038064f, -0.015568f, -0.073246f, -0.125374f, -0.158379f, -0.158510f, -0.119317f, -0.047174f, 0.039659f, 0.117388f, 0.164783f, 0.170354f, 0.136110f, 0.075525f, 0.006572f, -0.055527f, -0.101705f, -0.128258f, -0.134141f, -0.118811f, -0.082220f, -0.026999f, 0.038902f, 0.101566f, 0.144045f, 0.152550f, 0.123025f, 0.063907f, -0.007177f, + -0.070685f, -0.111988f, -0.124827f, -0.111060f, -0.077909f, -0.034563f, 0.010220f, 0.049241f, 0.077443f, 0.092064f, 0.092106f, 0.077698f, 0.050246f, 0.012985f, -0.028844f, -0.068172f, -0.096572f, -0.105925f, -0.091461f, -0.054444f, -0.002780f, 0.050639f, 0.091484f, 0.108787f, 0.098953f, 0.066563f, 0.021850f, -0.023112f, -0.057935f, -0.076466f, -0.077535f, -0.063771f, -0.039868f, -0.011391f, 0.016269f, 0.038948f, 0.053942f, 0.059572f, 0.055230f, 0.041838f, 0.021689f, -0.002057f, -0.025436f, -0.043993f, -0.054036f, -0.053641f, -0.042616f, -0.022580f, 0.002601f, 0.027618f, 0.047483f, 0.058276f, 0.057322f, 0.044558f, 0.023331f, -0.001451f, -0.024710f, -0.039879f, -0.040348f, -0.026668f, -0.009522f, -0.000100f, 0.000909f, 0.000035f}, + {0.043211f, 0.114663f, 0.178350f, 0.255737f, 0.285888f, 0.179104f, -0.023247f, -0.173997f, -0.226462f, -0.279044f, -0.376950f, -0.415326f, -0.314791f, -0.166534f, -0.101737f, -0.111875f, -0.106297f, -0.075928f, -0.083496f, -0.132151f, -0.157295f, -0.141147f, -0.141935f, -0.197377f, -0.268166f, -0.295822f, -0.268965f, -0.216058f, -0.166730f, -0.133269f, -0.106523f, -0.062428f, 0.009773f, 0.084069f, 0.118826f, 0.100756f, 0.052619f, 0.000385f, -0.049019f, -0.097030f, -0.139136f, -0.169026f, -0.187831f, -0.203308f, -0.223852f, -0.255186f, -0.299437f, -0.356144f, -0.425306f, -0.507990f, -0.602347f, -0.701452f, -0.797320f, -0.885133f, -0.962214f, -1.026134f, -1.076805f, -1.118706f, -1.158479f, -1.200974f, -1.248680f, -1.303141f, -1.364299f, -1.428256f, -1.487099f, -1.531700f, -1.554756f, -1.551648f, -1.520065f, -1.460625f, -1.377882f, -1.278869f, -1.169561f, -1.053641f, -0.934981f, -0.819203f, -0.711302f, -0.613088f, -0.524413f, -0.445870f, -0.379143f, -0.325887f, -0.287530f, -0.265472f, -0.260511f, -0.272174f, -0.298377f, -0.335361f, -0.379247f, -0.429275f, -0.488690f, -0.561273f, -0.648741f, -0.753109f, -0.878725f, -1.028425f, + -1.199267f, -1.385196f, -1.581978f, -1.785517f, -1.986815f, -2.173455f, -2.336281f, -2.471087f, -2.574200f, -2.641158f, -2.671370f, -2.670549f, -2.646120f, -2.602190f, -2.540998f, -2.466998f, -2.385837f, -2.299472f, -2.205584f, -2.102795f, -1.993617f, -1.880860f, -1.764387f, -1.644251f, -1.524566f, -1.410674f, -1.304067f, -1.203483f, -1.109515f, -1.024333f, -0.947806f, -0.877724f, -0.813643f, -0.757572f, -0.711183f, -0.674763f, -0.648343f, -0.631942f, -0.625338f, -0.628602f, -0.641609f, -0.662782f, -0.690486f, -0.725337f, -0.767997f, -0.815397f, -0.862958f, -0.909125f, -0.952637f, -0.987183f, -1.004998f, -1.003395f, -0.980880f, -0.931098f, -0.849216f, -0.736166f, -0.582560f, -0.362530f, -0.077132f, 0.196027f, 0.339834f, 0.309726f, 0.180471f, 0.053468f} + }, + { + {-0.007685f, -0.027507f, -0.054095f, -0.077744f, -0.087310f, -0.078964f, -0.038795f, 0.069420f, 0.257031f, 0.450295f, 0.530050f, 0.449733f, 0.272335f, 0.084500f, -0.069538f, -0.161822f, -0.164288f, -0.090752f, 0.002325f, 0.083182f, 0.160693f, 0.220174f, 0.210093f, 0.117413f, -0.002015f, -0.090343f, -0.133503f, -0.129881f, -0.074554f, 0.006798f, 0.062262f, 0.070660f, 0.051397f, 0.011062f, -0.071757f, -0.199300f, -0.336804f, -0.453472f, -0.547094f, -0.622722f, -0.679122f, -0.721601f, -0.761966f, -0.801674f, -0.833087f, -0.855441f, -0.874451f, -0.891846f, -0.908530f, -0.930458f, -0.959812f, -0.988680f, -1.010943f, -1.031888f, -1.058899f, -1.091801f, -1.128278f, -1.169543f, -1.214950f, -1.258511f, -1.295477f, -1.327242f, -1.357589f, -1.388759f, -1.422413f, -1.460583f, -1.504259f, -1.552224f, -1.600690f, -1.643955f, -1.677490f, -1.700431f, -1.713026f, -1.713123f, -1.698577f, -1.671550f, -1.636224f, -1.593323f, -1.540916f, -1.479604f, -1.412906f, -1.343349f, -1.272152f, -1.202419f, -1.138827f, -1.083544f, -1.035142f, -0.992009f, -0.954485f, -0.922860f, -0.895223f, -0.868589f, -0.841261f, -0.813242f, -0.784990f, -0.756664f, + -0.728377f, -0.700591f, -0.673949f, -0.648504f, -0.623136f, -0.596307f, -0.567494f, -0.537004f, -0.504339f, -0.468321f, -0.429292f, -0.389390f, -0.350011f, -0.310984f, -0.272863f, -0.237613f, -0.206211f, -0.177918f, -0.152490f, -0.130688f, -0.112365f, -0.096494f, -0.082923f, -0.071818f, -0.062192f, -0.053302f, -0.046074f, -0.041079f, -0.037253f, -0.034551f, -0.035132f, -0.040283f, -0.049461f, -0.063497f, -0.084978f, -0.114685f, -0.151385f, -0.194815f, -0.244968f, -0.299672f, -0.356620f, -0.415455f, -0.474774f, -0.531119f, -0.583532f, -0.633601f, -0.679431f, -0.716947f, -0.747534f, -0.775310f, -0.798076f, -0.811775f, -0.820314f, -0.828412f, -0.831431f, -0.825479f, -0.812449f, -0.774419f, -0.665729f, -0.468389f, -0.242150f, -0.078143f, -0.008766f, 0.002106f}, + {-0.129968f, -0.372393f, -0.578340f, -0.729002f, -0.764205f, -0.635435f, -0.410779f, -0.258243f, -0.301569f, -0.524734f, -0.804408f, -0.990576f, -0.983187f, -0.802264f, -0.583745f, -0.457595f, -0.435905f, -0.450492f, -0.458378f, -0.450407f, -0.393789f, -0.250404f, -0.049285f, 0.124891f, 0.223524f, 0.271404f, 0.315417f, 0.378570f, 0.464787f, 0.569578f, 0.675212f, 0.756468f, 0.797347f, 0.794880f, 0.754800f, 0.694127f, 0.637483f, 0.597643f, 0.564937f, 0.521985f, 0.461410f, 0.385881f, 0.301177f, 0.214129f, 0.129669f, 0.046526f, -0.039231f, -0.126876f, -0.212405f, -0.294795f, -0.375289f, -0.453145f, -0.526688f, -0.595041f, -0.654835f, -0.699235f, -0.723697f, -0.729022f, -0.716770f, -0.686317f, -0.638153f, -0.575500f, -0.501166f, -0.416714f, -0.325202f, -0.230531f, -0.133598f, -0.032773f, 0.071477f, 0.175093f, 0.273102f, 0.361324f, 0.436332f, 0.496419f, 0.542408f, 0.575872f, 0.596821f, 0.603979f, 0.596576f, 0.575075f, 0.540663f, 0.494625f, 0.438152f, 0.372876f, 0.301611f, 0.228007f, 0.155318f, 0.085985f, 0.022006f, -0.035375f, -0.086123f, -0.130408f, -0.167443f, -0.196380f, -0.217766f, -0.232828f, + -0.241945f, -0.245120f, -0.243300f, -0.237878f, -0.229559f, -0.218937f, -0.207509f, -0.196911f, -0.187682f, -0.179723f, -0.173313f, -0.168740f, -0.165527f, -0.162849f, -0.160290f, -0.157612f, -0.154177f, -0.148993f, -0.141009f, -0.129167f, -0.112488f, -0.090258f, -0.062070f, -0.027942f, 0.011466f, 0.055164f, 0.102457f, 0.152703f, 0.204508f, 0.256025f, 0.305953f, 0.353184f, 0.395721f, 0.431341f, 0.459153f, 0.478929f, 0.489277f, 0.488292f, 0.475516f, 0.451198f, 0.414350f, 0.363901f, 0.300928f, 0.227294f, 0.143319f, 0.049531f, -0.050798f, -0.153561f, -0.256130f, -0.355063f, -0.444423f, -0.519082f, -0.576123f, -0.611242f, -0.619307f, -0.598890f, -0.546613f, -0.447912f, -0.293914f, -0.116818f, 0.014790f, 0.058050f, 0.038715f, 0.010517f} + }, + { + {-0.129968f, -0.372393f, -0.578340f, -0.729002f, -0.764205f, -0.635435f, -0.410779f, -0.258243f, -0.301569f, -0.524734f, -0.804408f, -0.990576f, -0.983187f, -0.802264f, -0.583745f, -0.457595f, -0.435905f, -0.450492f, -0.458378f, -0.450407f, -0.393789f, -0.250404f, -0.049285f, 0.124891f, 0.223524f, 0.271404f, 0.315417f, 0.378570f, 0.464787f, 0.569578f, 0.675212f, 0.756468f, 0.797347f, 0.794880f, 0.754800f, 0.694127f, 0.637483f, 0.597643f, 0.564937f, 0.521985f, 0.461410f, 0.385881f, 0.301177f, 0.214129f, 0.129669f, 0.046526f, -0.039231f, -0.126876f, -0.212405f, -0.294795f, -0.375289f, -0.453145f, -0.526688f, -0.595041f, -0.654835f, -0.699235f, -0.723697f, -0.729022f, -0.716770f, -0.686317f, -0.638153f, -0.575500f, -0.501166f, -0.416714f, -0.325202f, -0.230531f, -0.133598f, -0.032773f, 0.071477f, 0.175093f, 0.273102f, 0.361324f, 0.436332f, 0.496419f, 0.542408f, 0.575872f, 0.596821f, 0.603979f, 0.596576f, 0.575075f, 0.540663f, 0.494625f, 0.438152f, 0.372876f, 0.301611f, 0.228007f, 0.155318f, 0.085985f, 0.022006f, -0.035375f, -0.086123f, -0.130408f, -0.167443f, -0.196380f, -0.217766f, -0.232828f, + -0.241945f, -0.245120f, -0.243300f, -0.237878f, -0.229559f, -0.218937f, -0.207509f, -0.196911f, -0.187682f, -0.179723f, -0.173313f, -0.168740f, -0.165527f, -0.162849f, -0.160290f, -0.157612f, -0.154177f, -0.148993f, -0.141009f, -0.129167f, -0.112488f, -0.090258f, -0.062070f, -0.027942f, 0.011466f, 0.055164f, 0.102457f, 0.152703f, 0.204508f, 0.256025f, 0.305953f, 0.353184f, 0.395721f, 0.431341f, 0.459153f, 0.478929f, 0.489277f, 0.488292f, 0.475516f, 0.451198f, 0.414350f, 0.363901f, 0.300928f, 0.227294f, 0.143319f, 0.049531f, -0.050798f, -0.153561f, -0.256130f, -0.355063f, -0.444423f, -0.519082f, -0.576123f, -0.611242f, -0.619307f, -0.598890f, -0.546613f, -0.447912f, -0.293914f, -0.116818f, 0.014790f, 0.058050f, 0.038715f, 0.010517f}, + {-0.007685f, -0.027507f, -0.054095f, -0.077744f, -0.087310f, -0.078964f, -0.038795f, 0.069420f, 0.257031f, 0.450295f, 0.530050f, 0.449733f, 0.272335f, 0.084500f, -0.069538f, -0.161822f, -0.164288f, -0.090752f, 0.002325f, 0.083182f, 0.160693f, 0.220174f, 0.210093f, 0.117413f, -0.002015f, -0.090343f, -0.133503f, -0.129881f, -0.074554f, 0.006798f, 0.062262f, 0.070660f, 0.051397f, 0.011062f, -0.071757f, -0.199300f, -0.336804f, -0.453472f, -0.547094f, -0.622722f, -0.679122f, -0.721601f, -0.761966f, -0.801674f, -0.833087f, -0.855441f, -0.874451f, -0.891846f, -0.908530f, -0.930458f, -0.959812f, -0.988680f, -1.010943f, -1.031888f, -1.058899f, -1.091801f, -1.128278f, -1.169543f, -1.214950f, -1.258511f, -1.295477f, -1.327242f, -1.357589f, -1.388759f, -1.422413f, -1.460583f, -1.504259f, -1.552224f, -1.600690f, -1.643955f, -1.677490f, -1.700431f, -1.713026f, -1.713123f, -1.698577f, -1.671550f, -1.636224f, -1.593323f, -1.540916f, -1.479604f, -1.412906f, -1.343349f, -1.272152f, -1.202419f, -1.138827f, -1.083544f, -1.035142f, -0.992009f, -0.954485f, -0.922860f, -0.895223f, -0.868589f, -0.841261f, -0.813242f, -0.784990f, -0.756664f, + -0.728377f, -0.700591f, -0.673949f, -0.648504f, -0.623136f, -0.596307f, -0.567494f, -0.537004f, -0.504339f, -0.468321f, -0.429292f, -0.389390f, -0.350011f, -0.310984f, -0.272863f, -0.237613f, -0.206211f, -0.177918f, -0.152490f, -0.130688f, -0.112365f, -0.096494f, -0.082923f, -0.071818f, -0.062192f, -0.053302f, -0.046074f, -0.041079f, -0.037253f, -0.034551f, -0.035132f, -0.040283f, -0.049461f, -0.063497f, -0.084978f, -0.114685f, -0.151385f, -0.194815f, -0.244968f, -0.299672f, -0.356620f, -0.415455f, -0.474774f, -0.531119f, -0.583532f, -0.633601f, -0.679431f, -0.716947f, -0.747534f, -0.775310f, -0.798076f, -0.811775f, -0.820314f, -0.828412f, -0.831431f, -0.825479f, -0.812449f, -0.774419f, -0.665729f, -0.468389f, -0.242150f, -0.078143f, -0.008766f, 0.002106f} + }, + { + {0.008569f, 0.036036f, 0.083803f, 0.119148f, 0.070548f, -0.078326f, -0.222894f, -0.243650f, -0.159814f, -0.090800f, -0.079375f, -0.056656f, 0.011482f, 0.052573f, -0.001498f, -0.119602f, -0.234866f, -0.335723f, -0.443207f, -0.546764f, -0.614586f, -0.641944f, -0.650393f, -0.653434f, -0.649185f, -0.636897f, -0.621833f, -0.608002f, -0.594814f, -0.577373f, -0.548943f, -0.509093f, -0.468031f, -0.436187f, -0.411762f, -0.384320f, -0.347210f, -0.301521f, -0.252453f, -0.207016f, -0.171531f, -0.147319f, -0.131387f, -0.122478f, -0.122706f, -0.133139f, -0.152285f, -0.178903f, -0.211845f, -0.246994f, -0.277923f, -0.299862f, -0.311486f, -0.314495f, -0.313374f, -0.313999f, -0.321093f, -0.338012f, -0.367937f, -0.412103f, -0.467256f, -0.527953f, -0.590760f, -0.653426f, -0.711811f, -0.761768f, -0.803336f, -0.839595f, -0.872213f, -0.901047f, -0.926960f, -0.951668f, -0.974952f, -0.994343f, -1.007533f, -1.013586f, -1.011948f, -1.001634f, -0.982097f, -0.954803f, -0.923350f, -0.891226f, -0.859546f, -0.827704f, -0.795383f, -0.762152f, -0.725674f, -0.682815f, -0.632889f, -0.578128f, -0.521168f, -0.463936f, -0.408686f, -0.358044f, -0.313851f, -0.277169f, + -0.249216f, -0.231562f, -0.226114f, -0.235302f, -0.261018f, -0.302923f, -0.359045f, -0.427912f, -0.508230f, -0.596814f, -0.689382f, -0.783568f, -0.878803f, -0.973138f, -1.062782f, -1.145182f, -1.220206f, -1.287561f, -1.345176f, -1.391256f, -1.426524f, -1.453153f, -1.472158f, -1.483234f, -1.487105f, -1.486427f, -1.483303f, -1.477082f, -1.466245f, -1.451366f, -1.433837f, -1.412447f, -1.384210f, -1.348415f, -1.306852f, -1.260094f, -1.206810f, -1.147202f, -1.084167f, -1.020388f, -0.956644f, -0.893519f, -0.832832f, -0.776711f, -0.726155f, -0.680677f, -0.639318f, -0.602179f, -0.570035f, -0.541815f, -0.514590f, -0.487168f, -0.460379f, -0.432551f, -0.399491f, -0.358843f, -0.305118f, -0.220990f, -0.093402f, 0.051282f, 0.149376f, 0.158777f, 0.102510f, 0.032573f}, + {-0.185559f, -0.533696f, -0.795174f, -0.893521f, -0.804685f, -0.602937f, -0.410524f, -0.289172f, -0.193916f, -0.044106f, 0.172466f, 0.382975f, 0.510029f, 0.545297f, 0.535692f, 0.515516f, 0.471783f, 0.372671f, 0.213104f, 0.026128f, -0.142895f, -0.267633f, -0.350549f, -0.407779f, -0.446543f, -0.457210f, -0.425690f, -0.349165f, -0.237230f, -0.102509f, 0.042736f, 0.181828f, 0.293938f, 0.363819f, 0.388959f, 0.375638f, 0.331364f, 0.263320f, 0.180641f, 0.093713f, 0.010848f, -0.063123f, -0.125901f, -0.176786f, -0.215972f, -0.243350f, -0.257838f, -0.258058f, -0.242990f, -0.211605f, -0.162734f, -0.096408f, -0.015762f, 0.072248f, 0.157999f, 0.231691f, 0.285687f, 0.315159f, 0.317146f, 0.289924f, 0.233942f, 0.153214f, 0.055517f, -0.048876f, -0.149035f, -0.235026f, -0.298865f, -0.334596f, -0.337970f, -0.306610f, -0.241101f, -0.146635f, -0.034068f, 0.080977f, 0.181425f, 0.253055f, 0.287741f, 0.284775f, 0.250380f, 0.195377f, 0.131392f, 0.067461f, 0.008841f, -0.042182f, -0.084996f, -0.119586f, -0.145618f, -0.161950f, -0.166889f, -0.158953f, -0.137777f, -0.104952f, -0.064224f, -0.020560f, 0.021350f, 0.058000f, + 0.087198f, 0.107952f, 0.120229f, 0.124423f, 0.120940f, 0.110209f, 0.092820f, 0.069478f, 0.041098f, 0.009121f, -0.024406f, -0.057046f, -0.086092f, -0.108691f, -0.122317f, -0.125322f, -0.117083f, -0.098008f, -0.069732f, -0.035104f, 0.002352f, 0.039025f, 0.071510f, 0.096953f, 0.113464f, 0.120114f, 0.116611f, 0.103273f, 0.081173f, 0.052018f, 0.018016f, -0.017906f, -0.052056f, -0.080561f, -0.100082f, -0.108258f, -0.104200f, -0.088962f, -0.065272f, -0.036665f, -0.006887f, 0.020495f, 0.042788f, 0.058666f, 0.067823f, 0.070539f, 0.067767f, 0.060956f, 0.051331f, 0.039723f, 0.027058f, 0.014228f, 0.001590f, -0.010580f, -0.021471f, -0.030400f, -0.037058f, -0.039808f, -0.035582f, -0.024114f, -0.010855f, -0.002418f, 0.000057f, 0.000072f} + }, + { + {-0.185559f, -0.533696f, -0.795174f, -0.893521f, -0.804685f, -0.602937f, -0.410524f, -0.289172f, -0.193916f, -0.044106f, 0.172466f, 0.382975f, 0.510029f, 0.545297f, 0.535692f, 0.515516f, 0.471783f, 0.372671f, 0.213104f, 0.026128f, -0.142895f, -0.267633f, -0.350549f, -0.407779f, -0.446543f, -0.457210f, -0.425690f, -0.349165f, -0.237230f, -0.102509f, 0.042736f, 0.181828f, 0.293938f, 0.363819f, 0.388959f, 0.375638f, 0.331364f, 0.263320f, 0.180641f, 0.093713f, 0.010848f, -0.063123f, -0.125901f, -0.176786f, -0.215972f, -0.243350f, -0.257838f, -0.258058f, -0.242990f, -0.211605f, -0.162734f, -0.096408f, -0.015762f, 0.072248f, 0.157999f, 0.231691f, 0.285687f, 0.315159f, 0.317146f, 0.289924f, 0.233942f, 0.153214f, 0.055517f, -0.048876f, -0.149035f, -0.235026f, -0.298865f, -0.334596f, -0.337970f, -0.306610f, -0.241101f, -0.146635f, -0.034068f, 0.080977f, 0.181425f, 0.253055f, 0.287741f, 0.284775f, 0.250380f, 0.195377f, 0.131392f, 0.067461f, 0.008841f, -0.042182f, -0.084996f, -0.119586f, -0.145618f, -0.161950f, -0.166889f, -0.158953f, -0.137777f, -0.104952f, -0.064224f, -0.020560f, 0.021350f, 0.058000f, + 0.087198f, 0.107952f, 0.120229f, 0.124423f, 0.120940f, 0.110209f, 0.092820f, 0.069478f, 0.041098f, 0.009121f, -0.024406f, -0.057046f, -0.086092f, -0.108691f, -0.122317f, -0.125322f, -0.117083f, -0.098008f, -0.069732f, -0.035104f, 0.002352f, 0.039025f, 0.071510f, 0.096953f, 0.113464f, 0.120114f, 0.116611f, 0.103273f, 0.081173f, 0.052018f, 0.018016f, -0.017906f, -0.052056f, -0.080561f, -0.100082f, -0.108258f, -0.104200f, -0.088962f, -0.065272f, -0.036665f, -0.006887f, 0.020495f, 0.042788f, 0.058666f, 0.067823f, 0.070539f, 0.067767f, 0.060956f, 0.051331f, 0.039723f, 0.027058f, 0.014228f, 0.001590f, -0.010580f, -0.021471f, -0.030400f, -0.037058f, -0.039808f, -0.035582f, -0.024114f, -0.010855f, -0.002418f, 0.000057f, 0.000072f}, + {0.008569f, 0.036036f, 0.083803f, 0.119148f, 0.070548f, -0.078326f, -0.222894f, -0.243650f, -0.159814f, -0.090800f, -0.079375f, -0.056656f, 0.011482f, 0.052573f, -0.001498f, -0.119602f, -0.234866f, -0.335723f, -0.443207f, -0.546764f, -0.614586f, -0.641944f, -0.650393f, -0.653434f, -0.649185f, -0.636897f, -0.621833f, -0.608002f, -0.594814f, -0.577373f, -0.548943f, -0.509093f, -0.468031f, -0.436187f, -0.411762f, -0.384320f, -0.347210f, -0.301521f, -0.252453f, -0.207016f, -0.171531f, -0.147319f, -0.131387f, -0.122478f, -0.122706f, -0.133139f, -0.152285f, -0.178903f, -0.211845f, -0.246994f, -0.277923f, -0.299862f, -0.311486f, -0.314495f, -0.313374f, -0.313999f, -0.321093f, -0.338012f, -0.367937f, -0.412103f, -0.467256f, -0.527953f, -0.590760f, -0.653426f, -0.711811f, -0.761768f, -0.803336f, -0.839595f, -0.872213f, -0.901047f, -0.926960f, -0.951668f, -0.974952f, -0.994343f, -1.007533f, -1.013586f, -1.011948f, -1.001634f, -0.982097f, -0.954803f, -0.923350f, -0.891226f, -0.859546f, -0.827704f, -0.795383f, -0.762152f, -0.725674f, -0.682815f, -0.632889f, -0.578128f, -0.521168f, -0.463936f, -0.408686f, -0.358044f, -0.313851f, -0.277169f, + -0.249216f, -0.231562f, -0.226114f, -0.235302f, -0.261018f, -0.302923f, -0.359045f, -0.427912f, -0.508230f, -0.596814f, -0.689382f, -0.783568f, -0.878803f, -0.973138f, -1.062782f, -1.145182f, -1.220206f, -1.287561f, -1.345176f, -1.391256f, -1.426524f, -1.453153f, -1.472158f, -1.483234f, -1.487105f, -1.486427f, -1.483303f, -1.477082f, -1.466245f, -1.451366f, -1.433837f, -1.412447f, -1.384210f, -1.348415f, -1.306852f, -1.260094f, -1.206810f, -1.147202f, -1.084167f, -1.020388f, -0.956644f, -0.893519f, -0.832832f, -0.776711f, -0.726155f, -0.680677f, -0.639318f, -0.602179f, -0.570035f, -0.541815f, -0.514590f, -0.487168f, -0.460379f, -0.432551f, -0.399491f, -0.358843f, -0.305118f, -0.220990f, -0.093402f, 0.051282f, 0.149376f, 0.158777f, 0.102510f, 0.032573f} + }, + { + {0.000818f, 0.017444f, 0.055261f, 0.075350f, 0.028576f, -0.084474f, -0.203267f, -0.269006f, -0.280096f, -0.268702f, -0.244047f, -0.193916f, -0.132682f, -0.106266f, -0.141353f, -0.220111f, -0.313836f, -0.412717f, -0.509637f, -0.582401f, -0.614704f, -0.620470f, -0.628348f, -0.649673f, -0.675138f, -0.695278f, -0.709877f, -0.720342f, -0.725172f, -0.724086f, -0.719270f, -0.711043f, -0.696324f, -0.671680f, -0.634992f, -0.584739f, -0.521369f, -0.450440f, -0.381867f, -0.324115f, -0.279763f, -0.247402f, -0.226194f, -0.216476f, -0.216704f, -0.222582f, -0.229987f, -0.237137f, -0.243538f, -0.248735f, -0.252984f, -0.257930f, -0.265977f, -0.279595f, -0.300835f, -0.330262f, -0.366467f, -0.407332f, -0.450975f, -0.494762f, -0.535151f, -0.570200f, -0.601049f, -0.629499f, -0.655394f, -0.677493f, -0.695060f, -0.706757f, -0.709441f, -0.699998f, -0.677852f, -0.644857f, -0.603934f, -0.558778f, -0.513757f, -0.472656f, -0.437355f, -0.407636f, -0.381795f, -0.357605f, -0.333418f, -0.308502f, -0.282455f, -0.254976f, -0.226350f, -0.197326f, -0.168302f, -0.139286f, -0.110657f, -0.083214f, -0.057592f, -0.034344f, -0.014464f, 0.000612f, 0.009079f, 0.008658f, + -0.002748f, -0.026081f, -0.061503f, -0.109231f, -0.168492f, -0.236158f, -0.308371f, -0.383343f, -0.460785f, -0.539319f, -0.616894f, -0.693318f, -0.769682f, -0.845181f, -0.916820f, -0.982312f, -1.041125f, -1.092420f, -1.134068f, -1.164515f, -1.184365f, -1.195293f, -1.198046f, -1.192412f, -1.179094f, -1.160558f, -1.139207f, -1.115521f, -1.089332f, -1.062057f, -1.035496f, -1.008900f, -0.979692f, -0.946885f, -0.911190f, -0.872108f, -0.828013f, -0.779273f, -0.728569f, -0.678022f, -0.628266f, -0.580141f, -0.535147f, -0.494398f, -0.458425f, -0.427379f, -0.400841f, -0.378568f, -0.361181f, -0.348470f, -0.338233f, -0.328932f, -0.321152f, -0.313945f, -0.303478f, -0.287185f, -0.261552f, -0.213238f, -0.127665f, -0.018184f, 0.068083f, 0.092632f, 0.064838f, 0.021246f}, + {-0.132893f, -0.397605f, -0.632845f, -0.770213f, -0.762671f, -0.657487f, -0.569283f, -0.556594f, -0.559219f, -0.491993f, -0.364307f, -0.253849f, -0.187137f, -0.112112f, 0.014136f, 0.171821f, 0.322049f, 0.450715f, 0.550492f, 0.602217f, 0.599573f, 0.565276f, 0.522546f, 0.469434f, 0.394977f, 0.302555f, 0.203283f, 0.099429f, -0.013047f, -0.132581f, -0.249813f, -0.352012f, -0.426880f, -0.468084f, -0.479268f, -0.468257f, -0.437536f, -0.385150f, -0.313695f, -0.232864f, -0.153248f, -0.081508f, -0.020528f, 0.029902f, 0.072671f, 0.111201f, 0.147960f, 0.185756f, 0.228084f, 0.275839f, 0.324544f, 0.365884f, 0.391073f, 0.393116f, 0.368911f, 0.321050f, 0.256310f, 0.181056f, 0.098444f, 0.009769f, -0.083153f, -0.177113f, -0.267162f, -0.346282f, -0.406698f, -0.442695f, -0.452288f, -0.436663f, -0.398947f, -0.343145f, -0.272690f, -0.189417f, -0.094678f, 0.008122f, 0.112328f, 0.209109f, 0.289473f, 0.346381f, 0.376791f, 0.382372f, 0.367753f, 0.337827f, 0.296648f, 0.247834f, 0.194626f, 0.139355f, 0.083528f, 0.028486f, -0.024521f, -0.074738f, -0.121823f, -0.165351f, -0.204687f, -0.239035f, -0.267045f, -0.286388f, + -0.294167f, -0.287997f, -0.266762f, -0.230689f, -0.181240f, -0.121082f, -0.053843f, 0.016500f, 0.086073f, 0.151052f, 0.207628f, 0.252510f, 0.283443f, 0.299057f, 0.298561f, 0.282101f, 0.251143f, 0.208046f, 0.155513f, 0.096805f, 0.035848f, -0.023629f, -0.078756f, -0.127050f, -0.166116f, -0.194424f, -0.211611f, -0.217549f, -0.211988f, -0.195487f, -0.169671f, -0.136297f, -0.097197f, -0.055217f, -0.013832f, 0.024328f, 0.057561f, 0.084189f, 0.103126f, 0.114971f, 0.121155f, 0.122583f, 0.120200f, 0.115693f, 0.110234f, 0.103651f, 0.095767f, 0.087016f, 0.077007f, 0.064469f, 0.049153f, 0.031743f, 0.012078f, -0.009949f, -0.032469f, -0.053467f, -0.072429f, -0.086119f, -0.086097f, -0.067552f, -0.038975f, -0.015688f, -0.004466f, -0.000879f} + }, + { + {-0.132893f, -0.397605f, -0.632845f, -0.770213f, -0.762671f, -0.657487f, -0.569283f, -0.556594f, -0.559219f, -0.491993f, -0.364307f, -0.253849f, -0.187137f, -0.112112f, 0.014136f, 0.171821f, 0.322049f, 0.450715f, 0.550492f, 0.602217f, 0.599573f, 0.565276f, 0.522546f, 0.469434f, 0.394977f, 0.302555f, 0.203283f, 0.099429f, -0.013047f, -0.132581f, -0.249813f, -0.352012f, -0.426880f, -0.468084f, -0.479268f, -0.468257f, -0.437536f, -0.385150f, -0.313695f, -0.232864f, -0.153248f, -0.081508f, -0.020528f, 0.029902f, 0.072671f, 0.111201f, 0.147960f, 0.185756f, 0.228084f, 0.275839f, 0.324544f, 0.365884f, 0.391073f, 0.393116f, 0.368911f, 0.321050f, 0.256310f, 0.181056f, 0.098444f, 0.009769f, -0.083153f, -0.177113f, -0.267162f, -0.346282f, -0.406698f, -0.442695f, -0.452288f, -0.436663f, -0.398947f, -0.343145f, -0.272690f, -0.189417f, -0.094678f, 0.008122f, 0.112328f, 0.209109f, 0.289473f, 0.346381f, 0.376791f, 0.382372f, 0.367753f, 0.337827f, 0.296648f, 0.247834f, 0.194626f, 0.139355f, 0.083528f, 0.028486f, -0.024521f, -0.074738f, -0.121823f, -0.165351f, -0.204687f, -0.239035f, -0.267045f, -0.286388f, + -0.294167f, -0.287997f, -0.266762f, -0.230689f, -0.181240f, -0.121082f, -0.053843f, 0.016500f, 0.086073f, 0.151052f, 0.207628f, 0.252510f, 0.283443f, 0.299057f, 0.298561f, 0.282101f, 0.251143f, 0.208046f, 0.155513f, 0.096805f, 0.035848f, -0.023629f, -0.078756f, -0.127050f, -0.166116f, -0.194424f, -0.211611f, -0.217549f, -0.211988f, -0.195487f, -0.169671f, -0.136297f, -0.097197f, -0.055217f, -0.013832f, 0.024328f, 0.057561f, 0.084189f, 0.103126f, 0.114971f, 0.121155f, 0.122583f, 0.120200f, 0.115693f, 0.110234f, 0.103651f, 0.095767f, 0.087016f, 0.077007f, 0.064469f, 0.049153f, 0.031743f, 0.012078f, -0.009949f, -0.032469f, -0.053467f, -0.072429f, -0.086119f, -0.086097f, -0.067552f, -0.038975f, -0.015688f, -0.004466f, -0.000879f}, + {0.000818f, 0.017444f, 0.055261f, 0.075350f, 0.028576f, -0.084474f, -0.203267f, -0.269006f, -0.280096f, -0.268702f, -0.244047f, -0.193916f, -0.132682f, -0.106266f, -0.141353f, -0.220111f, -0.313836f, -0.412717f, -0.509637f, -0.582401f, -0.614704f, -0.620470f, -0.628348f, -0.649673f, -0.675138f, -0.695278f, -0.709877f, -0.720342f, -0.725172f, -0.724086f, -0.719270f, -0.711043f, -0.696324f, -0.671680f, -0.634992f, -0.584739f, -0.521369f, -0.450440f, -0.381867f, -0.324115f, -0.279763f, -0.247402f, -0.226194f, -0.216476f, -0.216704f, -0.222582f, -0.229987f, -0.237137f, -0.243538f, -0.248735f, -0.252984f, -0.257930f, -0.265977f, -0.279595f, -0.300835f, -0.330262f, -0.366467f, -0.407332f, -0.450975f, -0.494762f, -0.535151f, -0.570200f, -0.601049f, -0.629499f, -0.655394f, -0.677493f, -0.695060f, -0.706757f, -0.709441f, -0.699998f, -0.677852f, -0.644857f, -0.603934f, -0.558778f, -0.513757f, -0.472656f, -0.437355f, -0.407636f, -0.381795f, -0.357605f, -0.333418f, -0.308502f, -0.282455f, -0.254976f, -0.226350f, -0.197326f, -0.168302f, -0.139286f, -0.110657f, -0.083214f, -0.057592f, -0.034344f, -0.014464f, 0.000612f, 0.009079f, 0.008658f, + -0.002748f, -0.026081f, -0.061503f, -0.109231f, -0.168492f, -0.236158f, -0.308371f, -0.383343f, -0.460785f, -0.539319f, -0.616894f, -0.693318f, -0.769682f, -0.845181f, -0.916820f, -0.982312f, -1.041125f, -1.092420f, -1.134068f, -1.164515f, -1.184365f, -1.195293f, -1.198046f, -1.192412f, -1.179094f, -1.160558f, -1.139207f, -1.115521f, -1.089332f, -1.062057f, -1.035496f, -1.008900f, -0.979692f, -0.946885f, -0.911190f, -0.872108f, -0.828013f, -0.779273f, -0.728569f, -0.678022f, -0.628266f, -0.580141f, -0.535147f, -0.494398f, -0.458425f, -0.427379f, -0.400841f, -0.378568f, -0.361181f, -0.348470f, -0.338233f, -0.328932f, -0.321152f, -0.313945f, -0.303478f, -0.287185f, -0.261552f, -0.213238f, -0.127665f, -0.018184f, 0.068083f, 0.092632f, 0.064838f, 0.021246f} + } +}; +const float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; + +/********************** Sample Rate = 16000 **********************/ + +const float CRendBin_Combined_HRIR_latency_s_16kHz = 0.000020833333110f; +const int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz = 1; +const uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]={{1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1}, {1, 1} }; +const uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; +const uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][1]={{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}},{{80},{80}}}; +const uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz = 0; +const float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[15]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; +const uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float CRendBin_Combined_HRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][80]={ + { + { 1.239183f, 1.256884f, 1.300573f, 1.362041f, 1.394364f, 1.354510f, 1.284249f, 1.277360f, 1.319933f, 1.260104f, 1.035831f, 0.841818f, 0.918943f, 1.228789f, 1.505938f, 1.615001f, 1.676409f, 1.821102f, 2.003314f, 2.120456f, 2.162423f, 2.149697f, 2.042953f, 1.819108f, 1.562774f, 1.392343f, 1.338502f, 1.354661f, 1.404734f, 1.489962f, 1.620994f, 1.801308f, 2.016368f, 2.220843f, 2.360726f, 2.418417f, 2.416549f, 2.381039f, 2.323273f, 2.248889f, 2.158818f, 2.050759f, 1.937222f, 1.846306f, 1.790643f, 1.755504f, 1.725726f, 1.698099f, 1.662521f, 1.603450f, 1.526080f, 1.451493f, 1.385684f, 1.321724f, 1.264611f, 1.223329f, 1.190008f, 1.155210f, 1.126054f, 1.104272f, 1.071790f, 1.020334f, 0.962879f, 0.897728f, 0.801926f, 0.675382f, 0.545582f, 0.420598f, 0.290433f, 0.173783f, 0.099765f, 0.050651f, -0.006501f, -0.051832f, -0.062025f, -0.095855f, -0.220501f, -0.379318f, -0.456547f, -0.451019f}, + { 0.976240f, 0.994260f, 0.876770f, 0.603987f, 0.342097f, 0.178057f, 0.025122f, -0.153833f, -0.238337f, -0.148669f, 0.014037f, 0.101818f, 0.056629f, -0.133626f, -0.461333f, -0.816719f, -1.019518f, -1.009183f, -0.897964f, -0.789252f, -0.663741f, -0.496239f, -0.354698f, -0.300607f, -0.288976f, -0.247649f, -0.178409f, -0.106503f, 0.000399f, 0.183189f, 0.407624f, 0.602115f, 0.750568f, 0.884249f, 0.996966f, 1.028551f, 0.941028f, 0.772393f, 0.598310f, 0.460945f, 0.351012f, 0.245637f, 0.138980f, 0.032720f, -0.080090f, -0.203879f, -0.325054f, -0.425206f, -0.502279f, -0.563310f, -0.605020f, -0.618514f, -0.605694f, -0.575144f, -0.529166f, -0.468635f, -0.401310f, -0.332120f, -0.255156f, -0.166385f, -0.072884f, 0.018825f, 0.108885f, 0.191215f, 0.251825f, 0.287375f, 0.308166f, 0.318458f, 0.313465f, 0.297736f, 0.283754f, 0.271359f, 0.252697f, 0.235107f, 0.229934f, 0.221035f, 0.178105f, 0.103282f, 0.033631f, -0.002717f} + }, + { + { 0.976240f, 0.994260f, 0.876770f, 0.603987f, 0.342097f, 0.178057f, 0.025122f, -0.153833f, -0.238337f, -0.148669f, 0.014037f, 0.101818f, 0.056629f, -0.133626f, -0.461333f, -0.816719f, -1.019518f, -1.009183f, -0.897964f, -0.789252f, -0.663741f, -0.496239f, -0.354698f, -0.300607f, -0.288976f, -0.247649f, -0.178409f, -0.106503f, 0.000399f, 0.183189f, 0.407624f, 0.602115f, 0.750568f, 0.884249f, 0.996966f, 1.028551f, 0.941028f, 0.772393f, 0.598310f, 0.460945f, 0.351012f, 0.245637f, 0.138980f, 0.032720f, -0.080090f, -0.203879f, -0.325054f, -0.425206f, -0.502279f, -0.563310f, -0.605020f, -0.618514f, -0.605694f, -0.575144f, -0.529166f, -0.468635f, -0.401310f, -0.332120f, -0.255156f, -0.166385f, -0.072884f, 0.018825f, 0.108885f, 0.191215f, 0.251825f, 0.287375f, 0.308166f, 0.318458f, 0.313465f, 0.297736f, 0.283754f, 0.271359f, 0.252697f, 0.235107f, 0.229934f, 0.221035f, 0.178105f, 0.103282f, 0.033631f, -0.002717f}, + { 1.239183f, 1.256884f, 1.300573f, 1.362041f, 1.394364f, 1.354510f, 1.284249f, 1.277360f, 1.319933f, 1.260104f, 1.035831f, 0.841818f, 0.918943f, 1.228789f, 1.505938f, 1.615001f, 1.676409f, 1.821102f, 2.003314f, 2.120456f, 2.162423f, 2.149697f, 2.042953f, 1.819108f, 1.562774f, 1.392343f, 1.338502f, 1.354661f, 1.404734f, 1.489962f, 1.620994f, 1.801308f, 2.016368f, 2.220843f, 2.360726f, 2.418417f, 2.416549f, 2.381039f, 2.323273f, 2.248889f, 2.158818f, 2.050759f, 1.937222f, 1.846306f, 1.790643f, 1.755504f, 1.725726f, 1.698099f, 1.662521f, 1.603450f, 1.526080f, 1.451493f, 1.385684f, 1.321724f, 1.264611f, 1.223329f, 1.190008f, 1.155210f, 1.126054f, 1.104272f, 1.071790f, 1.020334f, 0.962879f, 0.897728f, 0.801926f, 0.675382f, 0.545582f, 0.420598f, 0.290433f, 0.173783f, 0.099765f, 0.050651f, -0.006501f, -0.051832f, -0.062025f, -0.095855f, -0.220501f, -0.379318f, -0.456547f, -0.451019f} + }, + { + { 1.122002f, 1.187509f, 1.246713f, 1.186481f, 1.007012f, 0.901165f, 1.008728f, 1.141977f, 0.990263f, 0.601633f, 0.401412f, 0.648122f, 1.096958f, 1.338723f, 1.298435f, 1.232461f, 1.343043f, 1.571111f, 1.735520f, 1.734892f, 1.594568f, 1.403703f, 1.245465f, 1.156974f, 1.131157f, 1.152575f, 1.222042f, 1.343151f, 1.499436f, 1.653765f, 1.763643f, 1.798287f, 1.754626f, 1.659827f, 1.547259f, 1.427359f, 1.291280f, 1.143229f, 1.015463f, 0.943988f, 0.937070f, 0.973335f, 1.022309f, 1.058798f, 1.066678f, 1.044204f, 1.005034f, 0.962902f, 0.915965f, 0.855193f, 0.783640f, 0.714878f, 0.655748f, 0.603582f, 0.557141f, 0.517413f, 0.480665f, 0.442018f, 0.402043f, 0.361971f, 0.320178f, 0.279891f, 0.248672f, 0.224537f, 0.197411f, 0.168385f, 0.148883f, 0.138139f, 0.123963f, 0.107044f, 0.098600f, 0.095015f, 0.084669f, 0.075757f, 0.080895f, 0.078392f, 0.031664f, -0.052589f, -0.126934f, -0.162192f}, + { 1.122002f, 1.187509f, 1.246713f, 1.186481f, 1.007012f, 0.901165f, 1.008728f, 1.141977f, 0.990263f, 0.601633f, 0.401412f, 0.648122f, 1.096958f, 1.338723f, 1.298435f, 1.232461f, 1.343043f, 1.571111f, 1.735520f, 1.734892f, 1.594568f, 1.403703f, 1.245465f, 1.156974f, 1.131157f, 1.152575f, 1.222042f, 1.343151f, 1.499436f, 1.653765f, 1.763643f, 1.798287f, 1.754626f, 1.659827f, 1.547259f, 1.427359f, 1.291280f, 1.143229f, 1.015463f, 0.943988f, 0.937070f, 0.973335f, 1.022309f, 1.058798f, 1.066678f, 1.044204f, 1.005034f, 0.962902f, 0.915965f, 0.855193f, 0.783640f, 0.714878f, 0.655748f, 0.603582f, 0.557141f, 0.517413f, 0.480665f, 0.442018f, 0.402043f, 0.361971f, 0.320178f, 0.279891f, 0.248672f, 0.224537f, 0.197411f, 0.168385f, 0.148883f, 0.138139f, 0.123963f, 0.107044f, 0.098600f, 0.095015f, 0.084669f, 0.075757f, 0.080895f, 0.078392f, 0.031664f, -0.052589f, -0.126934f, -0.162192f} + }, + { + { 1.032458f, 1.019232f, 1.055503f, 1.152346f, 1.264895f, 1.383916f, 1.512110f, 1.580287f, 1.524747f, 1.420851f, 1.394704f, 1.425779f, 1.386971f, 1.260446f, 1.155939f, 1.120555f, 1.085289f, 1.009371f, 0.935215f, 0.881823f, 0.810096f, 0.716819f, 0.656194f, 0.648528f, 0.657128f, 0.664016f, 0.684330f, 0.701881f, 0.671714f, 0.594887f, 0.522873f, 0.483118f, 0.457983f, 0.436517f, 0.432787f, 0.451700f, 0.481548f, 0.521185f, 0.579543f, 0.650119f, 0.713051f, 0.757998f, 0.785521f, 0.795209f, 0.789636f, 0.781137f, 0.782151f, 0.796868f, 0.827388f, 0.875753f, 0.935530f, 0.992686f, 1.036578f, 1.061213f, 1.059833f, 1.030025f, 0.980163f, 0.920722f, 0.854362f, 0.781629f, 0.707493f, 0.634976f, 0.561728f, 0.488448f, 0.420947f, 0.361366f, 0.308394f, 0.265774f, 0.238195f, 0.221960f, 0.212568f, 0.214004f, 0.226821f, 0.241055f, 0.257494f, 0.292604f, 0.336204f, 0.334653f, 0.260903f, 0.178438f}, + { 0.889328f, 0.746996f, 0.488378f, 0.194430f, -0.042359f, -0.205117f, -0.340122f, -0.454284f, -0.495140f, -0.447770f, -0.377268f, -0.341727f, -0.325720f, -0.297022f, -0.268715f, -0.254946f, -0.211569f, -0.078288f, 0.140726f, 0.376638f, 0.557395f, 0.642762f, 0.624635f, 0.526071f, 0.387689f, 0.235666f, 0.075552f, -0.077664f, -0.191603f, -0.251078f, -0.275106f, -0.287280f, -0.292024f, -0.288334f, -0.281437f, -0.269025f, -0.235621f, -0.170355f, -0.077550f, 0.031117f, 0.140203f, 0.228000f, 0.275992f, 0.281213f, 0.251542f, 0.196072f, 0.128119f, 0.066628f, 0.023837f, -0.001236f, -0.013179f, -0.014941f, -0.013424f, -0.016640f, -0.023836f, -0.029784f, -0.035699f, -0.044247f, -0.050866f, -0.052722f, -0.056962f, -0.068512f, -0.081828f, -0.094138f, -0.110312f, -0.126037f, -0.125656f, -0.103544f, -0.066475f, -0.013511f, 0.059218f, 0.135030f, 0.189944f, 0.225062f, 0.249597f, 0.241962f, 0.175370f, 0.075689f, 0.002323f, -0.024232f} + }, + { + { 0.889328f, 0.746996f, 0.488378f, 0.194430f, -0.042359f, -0.205117f, -0.340122f, -0.454284f, -0.495140f, -0.447770f, -0.377268f, -0.341727f, -0.325720f, -0.297022f, -0.268715f, -0.254946f, -0.211569f, -0.078288f, 0.140726f, 0.376638f, 0.557395f, 0.642762f, 0.624635f, 0.526071f, 0.387689f, 0.235666f, 0.075552f, -0.077664f, -0.191603f, -0.251078f, -0.275106f, -0.287280f, -0.292024f, -0.288334f, -0.281437f, -0.269025f, -0.235621f, -0.170355f, -0.077550f, 0.031117f, 0.140203f, 0.228000f, 0.275992f, 0.281213f, 0.251542f, 0.196072f, 0.128119f, 0.066628f, 0.023837f, -0.001236f, -0.013179f, -0.014941f, -0.013424f, -0.016640f, -0.023836f, -0.029784f, -0.035699f, -0.044247f, -0.050866f, -0.052722f, -0.056962f, -0.068512f, -0.081828f, -0.094138f, -0.110312f, -0.126037f, -0.125656f, -0.103544f, -0.066475f, -0.013511f, 0.059218f, 0.135030f, 0.189944f, 0.225062f, 0.249597f, 0.241962f, 0.175370f, 0.075689f, 0.002323f, -0.024232f}, + { 1.032458f, 1.019232f, 1.055503f, 1.152346f, 1.264895f, 1.383916f, 1.512110f, 1.580287f, 1.524747f, 1.420851f, 1.394704f, 1.425779f, 1.386971f, 1.260446f, 1.155939f, 1.120555f, 1.085289f, 1.009371f, 0.935215f, 0.881823f, 0.810096f, 0.716819f, 0.656194f, 0.648528f, 0.657128f, 0.664016f, 0.684330f, 0.701881f, 0.671714f, 0.594887f, 0.522873f, 0.483118f, 0.457983f, 0.436517f, 0.432787f, 0.451700f, 0.481548f, 0.521185f, 0.579543f, 0.650119f, 0.713051f, 0.757998f, 0.785521f, 0.795209f, 0.789636f, 0.781137f, 0.782151f, 0.796868f, 0.827388f, 0.875753f, 0.935530f, 0.992686f, 1.036578f, 1.061213f, 1.059833f, 1.030025f, 0.980163f, 0.920722f, 0.854362f, 0.781629f, 0.707493f, 0.634976f, 0.561728f, 0.488448f, 0.420947f, 0.361366f, 0.308394f, 0.265774f, 0.238195f, 0.221960f, 0.212568f, 0.214004f, 0.226821f, 0.241055f, 0.257494f, 0.292604f, 0.336204f, 0.334653f, 0.260903f, 0.178438f} + }, + { + { 1.158112f, 1.137057f, 1.174613f, 1.308407f, 1.475864f, 1.598510f, 1.664862f, 1.690093f, 1.651597f, 1.534827f, 1.406784f, 1.355852f, 1.365578f, 1.335480f, 1.236605f, 1.155816f, 1.155572f, 1.178545f, 1.145617f, 1.074884f, 1.034046f, 1.028410f, 1.011514f, 0.974296f, 0.951351f, 0.952791f, 0.951270f, 0.934033f, 0.920539f, 0.926929f, 0.947425f, 0.971010f, 0.990610f, 0.998330f, 0.992556f, 0.986782f, 0.996893f, 1.025270f, 1.066679f, 1.119066f, 1.178909f, 1.237203f, 1.288894f, 1.336531f, 1.379512f, 1.411025f, 1.429533f, 1.442089f, 1.453763f, 1.464108f, 1.474121f, 1.485855f, 1.495586f, 1.496799f, 1.487971f, 1.469903f, 1.440331f, 1.398591f, 1.349095f, 1.293717f, 1.228938f, 1.155645f, 1.081269f, 1.007672f, 0.929250f, 0.846598f, 0.767662f, 0.692536f, 0.613816f, 0.534651f, 0.467779f, 0.414464f, 0.365611f, 0.326004f, 0.311159f, 0.311495f, 0.285175f, 0.203678f, 0.091850f, 0.011559f}, + { 0.901656f, 0.675975f, 0.308472f, -0.078196f, -0.395054f, -0.619898f, -0.749461f, -0.745121f, -0.567593f, -0.256959f, 0.067459f, 0.299340f, 0.414342f, 0.446852f, 0.428396f, 0.363898f, 0.253318f, 0.116508f, -0.013083f, -0.117898f, -0.206372f, -0.284180f, -0.329308f, -0.314412f, -0.244304f, -0.149614f, -0.050276f, 0.051936f, 0.149545f, 0.222247f, 0.255380f, 0.249297f, 0.210511f, 0.146069f, 0.065487f, -0.020890f, -0.103702f, -0.170940f, -0.208945f, -0.211820f, -0.185220f, -0.139572f, -0.084250f, -0.026357f, 0.031102f, 0.087784f, 0.138807f, 0.173470f, 0.183734f, 0.167784f, 0.125449f, 0.059969f, -0.015648f, -0.084348f, -0.136303f, -0.166828f, -0.170290f, -0.147307f, -0.109984f, -0.069086f, -0.025167f, 0.020371f, 0.060146f, 0.093657f, 0.127308f, 0.156007f, 0.164553f, 0.148834f, 0.112994f, 0.050508f, -0.042163f, -0.140492f, -0.212717f, -0.251404f, -0.249732f, -0.178192f, -0.041065f, 0.077068f, 0.097809f, 0.059914f} + }, + { + { 0.901656f, 0.675975f, 0.308472f, -0.078196f, -0.395054f, -0.619898f, -0.749461f, -0.745121f, -0.567593f, -0.256959f, 0.067459f, 0.299340f, 0.414342f, 0.446852f, 0.428396f, 0.363898f, 0.253318f, 0.116508f, -0.013083f, -0.117898f, -0.206372f, -0.284180f, -0.329308f, -0.314412f, -0.244304f, -0.149614f, -0.050276f, 0.051936f, 0.149545f, 0.222247f, 0.255380f, 0.249297f, 0.210511f, 0.146069f, 0.065487f, -0.020890f, -0.103702f, -0.170940f, -0.208945f, -0.211820f, -0.185220f, -0.139572f, -0.084250f, -0.026357f, 0.031102f, 0.087784f, 0.138807f, 0.173470f, 0.183734f, 0.167784f, 0.125449f, 0.059969f, -0.015648f, -0.084348f, -0.136303f, -0.166828f, -0.170290f, -0.147307f, -0.109984f, -0.069086f, -0.025167f, 0.020371f, 0.060146f, 0.093657f, 0.127308f, 0.156007f, 0.164553f, 0.148834f, 0.112994f, 0.050508f, -0.042163f, -0.140492f, -0.212717f, -0.251404f, -0.249732f, -0.178192f, -0.041065f, 0.077068f, 0.097809f, 0.059914f}, + { 1.158112f, 1.137057f, 1.174613f, 1.308407f, 1.475864f, 1.598510f, 1.664862f, 1.690093f, 1.651597f, 1.534827f, 1.406784f, 1.355852f, 1.365578f, 1.335480f, 1.236605f, 1.155816f, 1.155572f, 1.178545f, 1.145617f, 1.074884f, 1.034046f, 1.028410f, 1.011514f, 0.974296f, 0.951351f, 0.952791f, 0.951270f, 0.934033f, 0.920539f, 0.926929f, 0.947425f, 0.971010f, 0.990610f, 0.998330f, 0.992556f, 0.986782f, 0.996893f, 1.025270f, 1.066679f, 1.119066f, 1.178909f, 1.237203f, 1.288894f, 1.336531f, 1.379512f, 1.411025f, 1.429533f, 1.442089f, 1.453763f, 1.464108f, 1.474121f, 1.485855f, 1.495586f, 1.496799f, 1.487971f, 1.469903f, 1.440331f, 1.398591f, 1.349095f, 1.293717f, 1.228938f, 1.155645f, 1.081269f, 1.007672f, 0.929250f, 0.846598f, 0.767662f, 0.692536f, 0.613816f, 0.534651f, 0.467779f, 0.414464f, 0.365611f, 0.326004f, 0.311159f, 0.311495f, 0.285175f, 0.203678f, 0.091850f, 0.011559f} + }, + { + { 1.235520f, 1.267745f, 1.311533f, 1.396643f, 1.562142f, 1.739490f, 1.797650f, 1.725448f, 1.645715f, 1.615047f, 1.544151f, 1.379627f, 1.231268f, 1.218112f, 1.292699f, 1.332906f, 1.328133f, 1.351971f, 1.406972f, 1.424922f, 1.397315f, 1.389969f, 1.427081f, 1.452470f, 1.417648f, 1.341339f, 1.270667f, 1.231859f, 1.225126f, 1.232539f, 1.230373f, 1.218536f, 1.230471f, 1.294017f, 1.394390f, 1.492369f, 1.564549f, 1.611356f, 1.640653f, 1.658539f, 1.668696f, 1.673718f, 1.680425f, 1.699615f, 1.733804f, 1.773278f, 1.810830f, 1.848659f, 1.885086f, 1.909496f, 1.915897f, 1.906449f, 1.879898f, 1.833243f, 1.773732f, 1.712413f, 1.650523f, 1.587448f, 1.531042f, 1.483778f, 1.433378f, 1.371553f, 1.302603f, 1.222332f, 1.114931f, 0.981061f, 0.839087f, 0.693154f, 0.535784f, 0.381622f, 0.254990f, 0.148531f, 0.043270f, -0.043620f, -0.091644f, -0.138174f, -0.231231f, -0.338131f, -0.386098f, -0.378792f}, + { 0.914782f, 0.650055f, 0.239576f, -0.181854f, -0.539073f, -0.787899f, -0.863032f, -0.709618f, -0.363410f, 0.045228f, 0.384901f, 0.599773f, 0.690085f, 0.654823f, 0.484709f, 0.199734f, -0.132928f, -0.424723f, -0.606004f, -0.647328f, -0.552997f, -0.344341f, -0.058161f, 0.242078f, 0.475279f, 0.581052f, 0.547396f, 0.398952f, 0.173288f, -0.082456f, -0.309870f, -0.456050f, -0.493427f, -0.421065f, -0.258435f, -0.045804f, 0.160944f, 0.310519f, 0.375222f, 0.353858f, 0.264124f, 0.133068f, -0.011592f, -0.144525f, -0.241005f, -0.281276f, -0.260926f, -0.191571f, -0.090994f, 0.020279f, 0.116661f, 0.176292f, 0.194091f, 0.177389f, 0.132627f, 0.066960f, -0.004147f, -0.064907f, -0.109797f, -0.136697f, -0.139536f, -0.117862f, -0.081864f, -0.039087f, 0.010472f, 0.060857f, 0.099437f, 0.123178f, 0.135545f, 0.127536f, 0.086281f, 0.020181f, -0.050211f, -0.116826f, -0.168642f, -0.170590f, -0.104626f, -0.017451f, 0.025994f, 0.025448f} + }, + { + { 0.914782f, 0.650055f, 0.239576f, -0.181854f, -0.539073f, -0.787899f, -0.863032f, -0.709618f, -0.363410f, 0.045228f, 0.384901f, 0.599773f, 0.690085f, 0.654823f, 0.484709f, 0.199734f, -0.132928f, -0.424723f, -0.606004f, -0.647328f, -0.552997f, -0.344341f, -0.058161f, 0.242078f, 0.475279f, 0.581052f, 0.547396f, 0.398952f, 0.173288f, -0.082456f, -0.309870f, -0.456050f, -0.493427f, -0.421065f, -0.258435f, -0.045804f, 0.160944f, 0.310519f, 0.375222f, 0.353858f, 0.264124f, 0.133068f, -0.011592f, -0.144525f, -0.241005f, -0.281276f, -0.260926f, -0.191571f, -0.090994f, 0.020279f, 0.116661f, 0.176292f, 0.194091f, 0.177389f, 0.132627f, 0.066960f, -0.004147f, -0.064907f, -0.109797f, -0.136697f, -0.139536f, -0.117862f, -0.081864f, -0.039087f, 0.010472f, 0.060857f, 0.099437f, 0.123178f, 0.135545f, 0.127536f, 0.086281f, 0.020181f, -0.050211f, -0.116826f, -0.168642f, -0.170590f, -0.104626f, -0.017451f, 0.025994f, 0.025448f}, + { 1.235520f, 1.267745f, 1.311533f, 1.396643f, 1.562142f, 1.739490f, 1.797650f, 1.725448f, 1.645715f, 1.615047f, 1.544151f, 1.379627f, 1.231268f, 1.218112f, 1.292699f, 1.332906f, 1.328133f, 1.351971f, 1.406972f, 1.424922f, 1.397315f, 1.389969f, 1.427081f, 1.452470f, 1.417648f, 1.341339f, 1.270667f, 1.231859f, 1.225126f, 1.232539f, 1.230373f, 1.218536f, 1.230471f, 1.294017f, 1.394390f, 1.492369f, 1.564549f, 1.611356f, 1.640653f, 1.658539f, 1.668696f, 1.673718f, 1.680425f, 1.699615f, 1.733804f, 1.773278f, 1.810830f, 1.848659f, 1.885086f, 1.909496f, 1.915897f, 1.906449f, 1.879898f, 1.833243f, 1.773732f, 1.712413f, 1.650523f, 1.587448f, 1.531042f, 1.483778f, 1.433378f, 1.371553f, 1.302603f, 1.222332f, 1.114931f, 0.981061f, 0.839087f, 0.693154f, 0.535784f, 0.381622f, 0.254990f, 0.148531f, 0.043270f, -0.043620f, -0.091644f, -0.138174f, -0.231231f, -0.338131f, -0.386098f, -0.378792f} + }, + { + { 1.300965f, 1.294750f, 1.282817f, 1.255178f, 1.204577f, 1.137923f, 1.059580f, 0.981805f, 0.966983f, 1.092308f, 1.337634f, 1.575073f, 1.703047f, 1.722782f, 1.666581f, 1.546456f, 1.403671f, 1.311746f, 1.292222f, 1.306949f, 1.348731f, 1.449654f, 1.589237f, 1.688195f, 1.707228f, 1.673858f, 1.615172f, 1.543456f, 1.497797f, 1.520390f, 1.597903f, 1.686893f, 1.778063f, 1.882324f, 1.981161f, 2.041271f, 2.055297f, 2.034562f, 1.988601f, 1.932387f, 1.883493f, 1.841147f, 1.794770f, 1.748405f, 1.709284f, 1.669343f, 1.625551f, 1.593305f, 1.576244f, 1.555177f, 1.523771f, 1.496823f, 1.475255f, 1.446578f, 1.418163f, 1.403084f, 1.385586f, 1.347706f, 1.304713f, 1.269256f, 1.221100f, 1.154593f, 1.100549f, 1.063945f, 1.009439f, 0.935611f, 0.877621f, 0.821786f, 0.720980f, 0.594304f, 0.491179f, 0.378481f, 0.204744f, 0.026392f, -0.103932f, -0.295951f, -0.642665f, -0.968133f, -1.033163f, -0.924785f}, + { 1.056881f, 0.977664f, 0.829309f, 0.609050f, 0.335194f, 0.103305f, 0.039580f, 0.170337f, 0.375031f, 0.482951f, 0.394424f, 0.127225f, -0.200288f, -0.435291f, -0.499884f, -0.452044f, -0.409762f, -0.428220f, -0.490681f, -0.586139f, -0.717818f, -0.842320f, -0.883008f, -0.823590f, -0.730446f, -0.667660f, -0.639081f, -0.620834f, -0.597634f, -0.552777f, -0.466079f, -0.338552f, -0.193325f, -0.050363f, 0.077475f, 0.174494f, 0.237020f, 0.288121f, 0.352285f, 0.426567f, 0.494946f, 0.552824f, 0.599792f, 0.629446f, 0.642872f, 0.651801f, 0.657595f, 0.648892f, 0.624781f, 0.595680f, 0.560679f, 0.509928f, 0.445668f, 0.375032f, 0.291050f, 0.186825f, 0.074986f, -0.031392f, -0.138355f, -0.249537f, -0.350061f, -0.432142f, -0.507157f, -0.576005f, -0.622512f, -0.647800f, -0.670394f, -0.686010f, -0.673194f, -0.637570f, -0.598466f, -0.542641f, -0.451741f, -0.353357f, -0.271891f, -0.162755f, 0.010957f, 0.173137f, 0.221085f, 0.187717f} + }, + { + { 1.056881f, 0.977664f, 0.829309f, 0.609050f, 0.335194f, 0.103305f, 0.039580f, 0.170337f, 0.375031f, 0.482951f, 0.394424f, 0.127225f, -0.200288f, -0.435291f, -0.499884f, -0.452044f, -0.409762f, -0.428220f, -0.490681f, -0.586139f, -0.717818f, -0.842320f, -0.883008f, -0.823590f, -0.730446f, -0.667660f, -0.639081f, -0.620834f, -0.597634f, -0.552777f, -0.466079f, -0.338552f, -0.193325f, -0.050363f, 0.077475f, 0.174494f, 0.237020f, 0.288121f, 0.352285f, 0.426567f, 0.494946f, 0.552824f, 0.599792f, 0.629446f, 0.642872f, 0.651801f, 0.657595f, 0.648892f, 0.624781f, 0.595680f, 0.560679f, 0.509928f, 0.445668f, 0.375032f, 0.291050f, 0.186825f, 0.074986f, -0.031392f, -0.138355f, -0.249537f, -0.350061f, -0.432142f, -0.507157f, -0.576005f, -0.622512f, -0.647800f, -0.670394f, -0.686010f, -0.673194f, -0.637570f, -0.598466f, -0.542641f, -0.451741f, -0.353357f, -0.271891f, -0.162755f, 0.010957f, 0.173137f, 0.221085f, 0.187717f}, + { 1.300965f, 1.294750f, 1.282817f, 1.255178f, 1.204577f, 1.137923f, 1.059580f, 0.981805f, 0.966983f, 1.092308f, 1.337634f, 1.575073f, 1.703047f, 1.722782f, 1.666581f, 1.546456f, 1.403671f, 1.311746f, 1.292222f, 1.306949f, 1.348731f, 1.449654f, 1.589237f, 1.688195f, 1.707228f, 1.673858f, 1.615172f, 1.543456f, 1.497797f, 1.520390f, 1.597903f, 1.686893f, 1.778063f, 1.882324f, 1.981161f, 2.041271f, 2.055297f, 2.034562f, 1.988601f, 1.932387f, 1.883493f, 1.841147f, 1.794770f, 1.748405f, 1.709284f, 1.669343f, 1.625551f, 1.593305f, 1.576244f, 1.555177f, 1.523771f, 1.496823f, 1.475255f, 1.446578f, 1.418163f, 1.403084f, 1.385586f, 1.347706f, 1.304713f, 1.269256f, 1.221100f, 1.154593f, 1.100549f, 1.063945f, 1.009439f, 0.935611f, 0.877621f, 0.821786f, 0.720980f, 0.594304f, 0.491179f, 0.378481f, 0.204744f, 0.026392f, -0.103932f, -0.295951f, -0.642665f, -0.968133f, -1.033163f, -0.924785f} + }, + { + { 1.199748f, 1.195187f, 1.219693f, 1.306113f, 1.425047f, 1.477111f, 1.397070f, 1.252223f, 1.172655f, 1.188882f, 1.217061f, 1.212048f, 1.238227f, 1.348679f, 1.484315f, 1.557633f, 1.567620f, 1.562073f, 1.542003f, 1.477405f, 1.379422f, 1.288860f, 1.216806f, 1.148467f, 1.083662f, 1.031921f, 0.988049f, 0.943225f, 0.900165f, 0.859424f, 0.815628f, 0.776796f, 0.758198f, 0.753004f, 0.739708f, 0.717133f, 0.701610f, 0.697315f, 0.699875f, 0.716105f, 0.750519f, 0.788979f, 0.821105f, 0.857164f, 0.902405f, 0.942513f, 0.970953f, 0.998437f, 1.023655f, 1.030364f, 1.020180f, 1.011394f, 1.006072f, 0.996138f, 0.992784f, 1.010311f, 1.036592f, 1.056629f, 1.080188f, 1.111608f, 1.127724f, 1.118163f, 1.103894f, 1.089439f, 1.050792f, 0.990760f, 0.941697f, 0.900735f, 0.836298f, 0.760105f, 0.706490f, 0.651720f, 0.554145f, 0.447475f, 0.372905f, 0.259179f, 0.022580f, -0.250587f, -0.394385f, -0.405028f}, + { 0.954653f, 0.811443f, 0.527050f, 0.156554f, -0.183229f, -0.390764f, -0.463838f, -0.489615f, -0.545649f, -0.618563f, -0.627603f, -0.522242f, -0.339179f, -0.156441f, -0.010199f, 0.122255f, 0.267483f, 0.411203f, 0.511742f, 0.538871f, 0.493820f, 0.403566f, 0.299556f, 0.194567f, 0.079866f, -0.051976f, -0.188907f, -0.309334f, -0.399390f, -0.451587f, -0.457014f, -0.410966f, -0.321563f, -0.205765f, -0.080962f, 0.037500f, 0.138072f, 0.215566f, 0.268025f, 0.292898f, 0.291211f, 0.270674f, 0.238281f, 0.194880f, 0.141481f, 0.083085f, 0.022016f, -0.043580f, -0.111370f, -0.174259f, -0.228801f, -0.273350f, -0.299289f, -0.296400f, -0.264810f, -0.210717f, -0.136124f, -0.044272f, 0.053064f, 0.144902f, 0.227652f, 0.293924f, 0.329277f, 0.328445f, 0.298807f, 0.243094f, 0.158591f, 0.055206f, -0.049168f, -0.149592f, -0.244281f, -0.312080f, -0.331894f, -0.311981f, -0.264235f, -0.173081f, -0.039856f, 0.070126f, 0.093737f, 0.064463f} + }, + { + { 0.954653f, 0.811443f, 0.527050f, 0.156554f, -0.183229f, -0.390764f, -0.463838f, -0.489615f, -0.545649f, -0.618563f, -0.627603f, -0.522242f, -0.339179f, -0.156441f, -0.010199f, 0.122255f, 0.267483f, 0.411203f, 0.511742f, 0.538871f, 0.493820f, 0.403566f, 0.299556f, 0.194567f, 0.079866f, -0.051976f, -0.188907f, -0.309334f, -0.399390f, -0.451587f, -0.457014f, -0.410966f, -0.321563f, -0.205765f, -0.080962f, 0.037500f, 0.138072f, 0.215566f, 0.268025f, 0.292898f, 0.291211f, 0.270674f, 0.238281f, 0.194880f, 0.141481f, 0.083085f, 0.022016f, -0.043580f, -0.111370f, -0.174259f, -0.228801f, -0.273350f, -0.299289f, -0.296400f, -0.264810f, -0.210717f, -0.136124f, -0.044272f, 0.053064f, 0.144902f, 0.227652f, 0.293924f, 0.329277f, 0.328445f, 0.298807f, 0.243094f, 0.158591f, 0.055206f, -0.049168f, -0.149592f, -0.244281f, -0.312080f, -0.331894f, -0.311981f, -0.264235f, -0.173081f, -0.039856f, 0.070126f, 0.093737f, 0.064463f}, + { 1.199748f, 1.195187f, 1.219693f, 1.306113f, 1.425047f, 1.477111f, 1.397070f, 1.252223f, 1.172655f, 1.188882f, 1.217061f, 1.212048f, 1.238227f, 1.348679f, 1.484315f, 1.557633f, 1.567620f, 1.562073f, 1.542003f, 1.477405f, 1.379422f, 1.288860f, 1.216806f, 1.148467f, 1.083662f, 1.031921f, 0.988049f, 0.943225f, 0.900165f, 0.859424f, 0.815628f, 0.776796f, 0.758198f, 0.753004f, 0.739708f, 0.717133f, 0.701610f, 0.697315f, 0.699875f, 0.716105f, 0.750519f, 0.788979f, 0.821105f, 0.857164f, 0.902405f, 0.942513f, 0.970953f, 0.998437f, 1.023655f, 1.030364f, 1.020180f, 1.011394f, 1.006072f, 0.996138f, 0.992784f, 1.010311f, 1.036592f, 1.056629f, 1.080188f, 1.111608f, 1.127724f, 1.118163f, 1.103894f, 1.089439f, 1.050792f, 0.990760f, 0.941697f, 0.900735f, 0.836298f, 0.760105f, 0.706490f, 0.651720f, 0.554145f, 0.447475f, 0.372905f, 0.259179f, 0.022580f, -0.250587f, -0.394385f, -0.405028f} + }, + { + { 1.095196f, 1.087659f, 1.109446f, 1.183526f, 1.277660f, 1.326248f, 1.295715f, 1.216113f, 1.140298f, 1.087599f, 1.047695f, 1.026918f, 1.054001f, 1.133020f, 1.223338f, 1.282899f, 1.305886f, 1.301427f, 1.264195f, 1.192277f, 1.112040f, 1.055091f, 1.021765f, 0.989986f, 0.948874f, 0.903167f, 0.855360f, 0.803610f, 0.750668f, 0.700093f, 0.649182f, 0.594756f, 0.538805f, 0.483071f, 0.427223f, 0.376166f, 0.339951f, 0.324096f, 0.327235f, 0.346493f, 0.377413f, 0.412489f, 0.447089f, 0.481805f, 0.514503f, 0.538815f, 0.554366f, 0.567855f, 0.581390f, 0.591629f, 0.600978f, 0.616082f, 0.635914f, 0.654604f, 0.672499f, 0.691101f, 0.703654f, 0.704072f, 0.696257f, 0.683064f, 0.659027f, 0.624315f, 0.589073f, 0.554838f, 0.511458f, 0.458475f, 0.405848f, 0.350815f, 0.282369f, 0.208212f, 0.145223f, 0.088601f, 0.027005f, -0.024496f, -0.052219f, -0.086724f, -0.160473f, -0.239945f, -0.266704f, -0.251269f}, + { 0.923781f, 0.848774f, 0.672610f, 0.407285f, 0.139533f, -0.031128f, -0.095513f, -0.144050f, -0.253242f, -0.392890f, -0.480646f, -0.501871f, -0.519927f, -0.573731f, -0.625609f, -0.624544f, -0.567395f, -0.473405f, -0.345515f, -0.190062f, -0.038979f, 0.081850f, 0.182290f, 0.280740f, 0.370828f, 0.437344f, 0.482403f, 0.514120f, 0.527356f, 0.512218f, 0.466630f, 0.391413f, 0.289373f, 0.174311f, 0.063977f, -0.037733f, -0.135747f, -0.224401f, -0.290520f, -0.330999f, -0.351174f, -0.353060f, -0.339776f, -0.321845f, -0.306033f, -0.288531f, -0.267741f, -0.249068f, -0.230297f, -0.198972f, -0.149214f, -0.084819f, -0.006186f, 0.086559f, 0.180387f, 0.259264f, 0.322166f, 0.373929f, 0.409115f, 0.422408f, 0.419773f, 0.402555f, 0.359218f, 0.287224f, 0.200865f, 0.107257f, 0.002147f, -0.104650f, -0.193281f, -0.265652f, -0.335513f, -0.391102f, -0.411622f, -0.408716f, -0.397569f, -0.345739f, -0.220230f, -0.069285f, 0.021400f, 0.041382f} + }, + { + { 0.923781f, 0.848774f, 0.672610f, 0.407285f, 0.139533f, -0.031128f, -0.095513f, -0.144050f, -0.253242f, -0.392890f, -0.480646f, -0.501871f, -0.519927f, -0.573731f, -0.625609f, -0.624544f, -0.567395f, -0.473405f, -0.345515f, -0.190062f, -0.038979f, 0.081850f, 0.182290f, 0.280740f, 0.370828f, 0.437344f, 0.482403f, 0.514120f, 0.527356f, 0.512218f, 0.466630f, 0.391413f, 0.289373f, 0.174311f, 0.063977f, -0.037733f, -0.135747f, -0.224401f, -0.290520f, -0.330999f, -0.351174f, -0.353060f, -0.339776f, -0.321845f, -0.306033f, -0.288531f, -0.267741f, -0.249068f, -0.230297f, -0.198972f, -0.149214f, -0.084819f, -0.006186f, 0.086559f, 0.180387f, 0.259264f, 0.322166f, 0.373929f, 0.409115f, 0.422408f, 0.419773f, 0.402555f, 0.359218f, 0.287224f, 0.200865f, 0.107257f, 0.002147f, -0.104650f, -0.193281f, -0.265652f, -0.335513f, -0.391102f, -0.411622f, -0.408716f, -0.397569f, -0.345739f, -0.220230f, -0.069285f, 0.021400f, 0.041382f}, + { 1.095196f, 1.087659f, 1.109446f, 1.183526f, 1.277660f, 1.326248f, 1.295715f, 1.216113f, 1.140298f, 1.087599f, 1.047695f, 1.026918f, 1.054001f, 1.133020f, 1.223338f, 1.282899f, 1.305886f, 1.301427f, 1.264195f, 1.192277f, 1.112040f, 1.055091f, 1.021765f, 0.989986f, 0.948874f, 0.903167f, 0.855360f, 0.803610f, 0.750668f, 0.700093f, 0.649182f, 0.594756f, 0.538805f, 0.483071f, 0.427223f, 0.376166f, 0.339951f, 0.324096f, 0.327235f, 0.346493f, 0.377413f, 0.412489f, 0.447089f, 0.481805f, 0.514503f, 0.538815f, 0.554366f, 0.567855f, 0.581390f, 0.591629f, 0.600978f, 0.616082f, 0.635914f, 0.654604f, 0.672499f, 0.691101f, 0.703654f, 0.704072f, 0.696257f, 0.683064f, 0.659027f, 0.624315f, 0.589073f, 0.554838f, 0.511458f, 0.458475f, 0.405848f, 0.350815f, 0.282369f, 0.208212f, 0.145223f, 0.088601f, 0.027005f, -0.024496f, -0.052219f, -0.086724f, -0.160473f, -0.239945f, -0.266704f, -0.251269f} + } +}; +const float CRendBin_Combined_HRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][80]={ + { + { 0.022378f, 0.066864f, 0.100220f, 0.093715f, 0.035070f, -0.024338f, -0.012768f, 0.042367f, 0.023721f, -0.077890f, -0.074274f, 0.183759f, 0.553809f, 0.747512f, 0.694343f, 0.587820f, 0.573964f, 0.578407f, 0.483568f, 0.304887f, 0.110523f, -0.095311f, -0.308826f, -0.445379f, -0.423336f, -0.274568f, -0.099040f, 0.048443f, 0.174236f, 0.289760f, 0.386501f, 0.441979f, 0.423813f, 0.311166f, 0.126234f, -0.077587f, -0.262644f, -0.422706f, -0.561257f, -0.680234f, -0.781458f, -0.857623f, -0.893951f, -0.894126f, -0.886249f, -0.891524f, -0.909393f, -0.938889f, -0.984242f, -1.033780f, -1.065068f, -1.075220f, -1.078048f, -1.075622f, -1.062402f, -1.047450f, -1.042480f, -1.042105f, -1.042212f, -1.056085f, -1.088475f, -1.122510f, -1.152405f, -1.192513f, -1.237398f, -1.256660f, -1.241724f, -1.209120f, -1.154430f, -1.061585f, -0.953719f, -0.867433f, -0.789453f, -0.695255f, -0.622912f, -0.610275f, -0.589097f, -0.460324f, -0.251406f, -0.070859f}, + { -0.080681f, -0.311575f, -0.606702f, -0.791121f, -0.800787f, -0.759923f, -0.737510f, -0.645040f, -0.446445f, -0.278883f, -0.277043f, -0.421529f, -0.620997f, -0.801710f, -0.864807f, -0.708809f, -0.372056f, -0.033461f, 0.190558f, 0.342379f, 0.477503f, 0.555106f, 0.541666f, 0.506512f, 0.528602f, 0.592193f, 0.649163f, 0.709906f, 0.795888f, 0.861129f, 0.839487f, 0.735222f, 0.600129f, 0.443934f, 0.230326f, -0.041733f, -0.304398f, -0.483776f, -0.569025f, -0.604499f, -0.631290f, -0.656305f, -0.671663f, -0.677909f, -0.675805f, -0.652694f, -0.596100f, -0.512689f, -0.417832f, -0.314565f, -0.198891f, -0.077460f, 0.036945f, 0.140466f, 0.234222f, 0.313941f, 0.376985f, 0.429901f, 0.476606f, 0.509493f, 0.521856f, 0.516234f, 0.492881f, 0.446350f, 0.381165f, 0.313562f, 0.251474f, 0.190729f, 0.133710f, 0.090238f, 0.058310f, 0.027284f, -0.000482f, -0.017253f, -0.035696f, -0.074905f, -0.120974f, -0.134483f, -0.099419f, -0.035389f} + }, + { + { -0.080681f, -0.311575f, -0.606702f, -0.791121f, -0.800787f, -0.759923f, -0.737510f, -0.645040f, -0.446445f, -0.278883f, -0.277043f, -0.421529f, -0.620997f, -0.801710f, -0.864807f, -0.708809f, -0.372056f, -0.033461f, 0.190558f, 0.342379f, 0.477503f, 0.555106f, 0.541666f, 0.506512f, 0.528602f, 0.592193f, 0.649163f, 0.709906f, 0.795888f, 0.861129f, 0.839487f, 0.735222f, 0.600129f, 0.443934f, 0.230326f, -0.041733f, -0.304398f, -0.483776f, -0.569025f, -0.604499f, -0.631290f, -0.656305f, -0.671663f, -0.677909f, -0.675805f, -0.652694f, -0.596100f, -0.512689f, -0.417832f, -0.314565f, -0.198891f, -0.077460f, 0.036945f, 0.140466f, 0.234222f, 0.313941f, 0.376985f, 0.429901f, 0.476606f, 0.509493f, 0.521856f, 0.516234f, 0.492881f, 0.446350f, 0.381165f, 0.313562f, 0.251474f, 0.190729f, 0.133710f, 0.090238f, 0.058310f, 0.027284f, -0.000482f, -0.017253f, -0.035696f, -0.074905f, -0.120974f, -0.134483f, -0.099419f, -0.035389f}, + { 0.022378f, 0.066864f, 0.100220f, 0.093715f, 0.035070f, -0.024338f, -0.012768f, 0.042367f, 0.023721f, -0.077890f, -0.074274f, 0.183759f, 0.553809f, 0.747512f, 0.694343f, 0.587820f, 0.573964f, 0.578407f, 0.483568f, 0.304887f, 0.110523f, -0.095311f, -0.308826f, -0.445379f, -0.423336f, -0.274568f, -0.099040f, 0.048443f, 0.174236f, 0.289760f, 0.386501f, 0.441979f, 0.423813f, 0.311166f, 0.126234f, -0.077587f, -0.262644f, -0.422706f, -0.561257f, -0.680234f, -0.781458f, -0.857623f, -0.893951f, -0.894126f, -0.886249f, -0.891524f, -0.909393f, -0.938889f, -0.984242f, -1.033780f, -1.065068f, -1.075220f, -1.078048f, -1.075622f, -1.062402f, -1.047450f, -1.042480f, -1.042105f, -1.042212f, -1.056085f, -1.088475f, -1.122510f, -1.152405f, -1.192513f, -1.237398f, -1.256660f, -1.241724f, -1.209120f, -1.154430f, -1.061585f, -0.953719f, -0.867433f, -0.789453f, -0.695255f, -0.622912f, -0.610275f, -0.589097f, -0.460324f, -0.251406f, -0.070859f} + }, + { + { 0.021476f, 0.024861f, -0.068116f, -0.210706f, -0.241100f, -0.094748f, 0.026510f, -0.099482f, -0.330829f, -0.276985f, 0.158539f, 0.598292f, 0.664270f, 0.429569f, 0.248929f, 0.287073f, 0.390113f, 0.351295f, 0.140379f, -0.125369f, -0.320323f, -0.389331f, -0.350352f, -0.257811f, -0.155492f, -0.057513f, 0.029687f, 0.083907f, 0.074937f, -0.013414f, -0.172122f, -0.367613f, -0.553803f, -0.697739f, -0.798279f, -0.871482f, -0.917974f, -0.917107f, -0.857095f, -0.759630f, -0.667061f, -0.611822f, -0.603464f, -0.635057f, -0.689467f, -0.744489f, -0.786319f, -0.818993f, -0.851830f, -0.880879f, -0.893605f, -0.887722f, -0.872310f, -0.853424f, -0.831447f, -0.809294f, -0.790708f, -0.773489f, -0.753887f, -0.732134f, -0.706732f, -0.673217f, -0.634788f, -0.600942f, -0.570621f, -0.533372f, -0.490462f, -0.454214f, -0.424442f, -0.389736f, -0.352307f, -0.323871f, -0.299518f, -0.268423f, -0.245492f, -0.252120f, -0.267604f, -0.242741f, -0.162571f, -0.055414f}, + { 0.021476f, 0.024861f, -0.068116f, -0.210706f, -0.241100f, -0.094748f, 0.026510f, -0.099482f, -0.330829f, -0.276985f, 0.158539f, 0.598292f, 0.664270f, 0.429569f, 0.248929f, 0.287073f, 0.390113f, 0.351295f, 0.140379f, -0.125369f, -0.320323f, -0.389331f, -0.350352f, -0.257811f, -0.155492f, -0.057513f, 0.029687f, 0.083907f, 0.074937f, -0.013414f, -0.172122f, -0.367613f, -0.553803f, -0.697739f, -0.798279f, -0.871482f, -0.917974f, -0.917107f, -0.857095f, -0.759630f, -0.667061f, -0.611822f, -0.603464f, -0.635057f, -0.689467f, -0.744489f, -0.786319f, -0.818993f, -0.851830f, -0.880879f, -0.893605f, -0.887722f, -0.872310f, -0.853424f, -0.831447f, -0.809294f, -0.790708f, -0.773489f, -0.753887f, -0.732134f, -0.706732f, -0.673217f, -0.634788f, -0.600942f, -0.570621f, -0.533372f, -0.490462f, -0.454214f, -0.424442f, -0.389736f, -0.352307f, -0.323871f, -0.299518f, -0.268423f, -0.245492f, -0.252120f, -0.267604f, -0.242741f, -0.162571f, -0.055414f} + }, + { + { 0.012550f, 0.067634f, 0.153766f, 0.208915f, 0.212582f, 0.181638f, 0.088456f, -0.087931f, -0.259740f, -0.322157f, -0.322103f, -0.389409f, -0.523465f, -0.602542f, -0.590922f, -0.578743f, -0.613891f, -0.643676f, -0.637605f, -0.633153f, -0.638458f, -0.606573f, -0.528838f, -0.456632f, -0.416245f, -0.387548f, -0.371313f, -0.393834f, -0.438762f, -0.449766f, -0.408723f, -0.349918f, -0.295796f, -0.234874f, -0.162960f, -0.095890f, -0.039645f, 0.012676f, 0.055074f, 0.071089f, 0.058963f, 0.031594f, -0.001372f, -0.033590f, -0.054377f, -0.056813f, -0.045737f, -0.029510f, -0.013991f, -0.008625f, -0.025610f, -0.068996f, -0.133912f, -0.214970f, -0.305196f, -0.391408f, -0.462418f, -0.517985f, -0.561601f, -0.591744f, -0.607334f, -0.612344f, -0.608226f, -0.591190f, -0.561003f, -0.522128f, -0.475155f, -0.418857f, -0.358993f, -0.302348f, -0.247114f, -0.192269f, -0.145964f, -0.109859f, -0.073493f, -0.044166f, -0.054356f, -0.104447f, -0.126755f, -0.059336f}, + { -0.170186f, -0.479342f, -0.686815f, -0.744803f, -0.686817f, -0.593855f, -0.492851f, -0.349481f, -0.167107f, -0.016808f, 0.057296f, 0.094634f, 0.145504f, 0.203344f, 0.251038f, 0.317878f, 0.433639f, 0.558726f, 0.610245f, 0.542010f, 0.369670f, 0.140805f, -0.089577f, -0.274767f, -0.397554f, -0.467654f, -0.489404f, -0.453378f, -0.367597f, -0.268088f, -0.183887f, -0.114096f, -0.048744f, 0.012366f, 0.071213f, 0.138060f, 0.214392f, 0.284810f, 0.331220f, 0.342296f, 0.310739f, 0.237599f, 0.139351f, 0.038916f, -0.047914f, -0.110918f, -0.141407f, -0.140257f, -0.121022f, -0.097260f, -0.074818f, -0.058184f, -0.051302f, -0.050167f, -0.047162f, -0.042256f, -0.038820f, -0.033860f, -0.024785f, -0.017581f, -0.015893f, -0.012525f, -0.002230f, 0.011304f, 0.029908f, 0.063841f, 0.112146f, 0.160147f, 0.200633f, 0.233829f, 0.246965f, 0.224183f, 0.174767f, 0.118281f, 0.049361f, -0.041130f, -0.119607f, -0.135637f, -0.090349f, -0.028741f} + }, + { + { -0.170186f, -0.479342f, -0.686815f, -0.744803f, -0.686817f, -0.593855f, -0.492851f, -0.349481f, -0.167107f, -0.016808f, 0.057296f, 0.094634f, 0.145504f, 0.203344f, 0.251038f, 0.317878f, 0.433639f, 0.558726f, 0.610245f, 0.542010f, 0.369670f, 0.140805f, -0.089577f, -0.274767f, -0.397554f, -0.467654f, -0.489404f, -0.453378f, -0.367597f, -0.268088f, -0.183887f, -0.114096f, -0.048744f, 0.012366f, 0.071213f, 0.138060f, 0.214392f, 0.284810f, 0.331220f, 0.342296f, 0.310739f, 0.237599f, 0.139351f, 0.038916f, -0.047914f, -0.110918f, -0.141407f, -0.140257f, -0.121022f, -0.097260f, -0.074818f, -0.058184f, -0.051302f, -0.050167f, -0.047162f, -0.042256f, -0.038820f, -0.033860f, -0.024785f, -0.017581f, -0.015893f, -0.012525f, -0.002230f, 0.011304f, 0.029908f, 0.063841f, 0.112146f, 0.160147f, 0.200633f, 0.233829f, 0.246965f, 0.224183f, 0.174767f, 0.118281f, 0.049361f, -0.041130f, -0.119607f, -0.135637f, -0.090349f, -0.028741f}, + { 0.012550f, 0.067634f, 0.153766f, 0.208915f, 0.212582f, 0.181638f, 0.088456f, -0.087931f, -0.259740f, -0.322157f, -0.322103f, -0.389409f, -0.523465f, -0.602542f, -0.590922f, -0.578743f, -0.613891f, -0.643676f, -0.637605f, -0.633153f, -0.638458f, -0.606573f, -0.528838f, -0.456632f, -0.416245f, -0.387548f, -0.371313f, -0.393834f, -0.438762f, -0.449766f, -0.408723f, -0.349918f, -0.295796f, -0.234874f, -0.162960f, -0.095890f, -0.039645f, 0.012676f, 0.055074f, 0.071089f, 0.058963f, 0.031594f, -0.001372f, -0.033590f, -0.054377f, -0.056813f, -0.045737f, -0.029510f, -0.013991f, -0.008625f, -0.025610f, -0.068996f, -0.133912f, -0.214970f, -0.305196f, -0.391408f, -0.462418f, -0.517985f, -0.561601f, -0.591744f, -0.607334f, -0.612344f, -0.608226f, -0.591190f, -0.561003f, -0.522128f, -0.475155f, -0.418857f, -0.358993f, -0.302348f, -0.247114f, -0.192269f, -0.145964f, -0.109859f, -0.073493f, -0.044166f, -0.054356f, -0.104447f, -0.126755f, -0.059336f} + }, + { + { 0.015207f, 0.082976f, 0.199626f, 0.282859f, 0.263873f, 0.164643f, 0.039240f, -0.101852f, -0.255135f, -0.362796f, -0.370418f, -0.325378f, -0.329716f, -0.393214f, -0.421530f, -0.368644f, -0.309548f, -0.318855f, -0.359634f, -0.355814f, -0.310990f, -0.281959f, -0.277523f, -0.258612f, -0.216166f, -0.181301f, -0.165545f, -0.145397f, -0.106504f, -0.062660f, -0.029709f, -0.010119f, -0.001929f, 0.000359f, 0.010822f, 0.040007f, 0.081478f, 0.121574f, 0.154115f, 0.176543f, 0.183358f, 0.173258f, 0.152571f, 0.124730f, 0.086728f, 0.040116f, -0.006130f, -0.047172f, -0.086178f, -0.125612f, -0.165320f, -0.208844f, -0.261164f, -0.321029f, -0.383783f, -0.448219f, -0.513294f, -0.573993f, -0.627582f, -0.676780f, -0.721051f, -0.754143f, -0.775079f, -0.790142f, -0.799884f, -0.797462f, -0.782973f, -0.763866f, -0.738491f, -0.696980f, -0.640957f, -0.582720f, -0.523012f, -0.453255f, -0.384196f, -0.344834f, -0.339145f, -0.323832f, -0.245458f, -0.092605f}, + { -0.226452f, -0.610474f, -0.819401f, -0.827692f, -0.686438f, -0.457267f, -0.161985f, 0.180520f, 0.492244f, 0.662493f, 0.643987f, 0.491123f, 0.296483f, 0.114481f, -0.047643f, -0.190865f, -0.298744f, -0.349852f, -0.344425f, -0.305636f, -0.249293f, -0.165753f, -0.046077f, 0.086344f, 0.191530f, 0.252611f, 0.278443f, 0.273750f, 0.231193f, 0.152001f, 0.053787f, -0.044048f, -0.129347f, -0.193281f, -0.229191f, -0.234673f, -0.209049f, -0.153181f, -0.075871f, 0.005780f, 0.076238f, 0.127944f, 0.159180f, 0.171718f, 0.168690f, 0.149525f, 0.110173f, 0.051594f, -0.017343f, -0.086655f, -0.147164f, -0.186425f, -0.193841f, -0.170433f, -0.125073f, -0.065012f, 0.000827f, 0.057616f, 0.095796f, 0.118697f, 0.130362f, 0.127750f, 0.111905f, 0.090197f, 0.060794f, 0.013835f, -0.047969f, -0.110704f, -0.169346f, -0.220565f, -0.242402f, -0.213355f, -0.142698f, -0.050054f, 0.062130f, 0.172554f, 0.213346f, 0.146844f, 0.042880f, -0.001215f} + }, + { + { -0.226452f, -0.610474f, -0.819401f, -0.827692f, -0.686438f, -0.457267f, -0.161985f, 0.180520f, 0.492244f, 0.662493f, 0.643987f, 0.491123f, 0.296483f, 0.114481f, -0.047643f, -0.190865f, -0.298744f, -0.349852f, -0.344425f, -0.305636f, -0.249293f, -0.165753f, -0.046077f, 0.086344f, 0.191530f, 0.252611f, 0.278443f, 0.273750f, 0.231193f, 0.152001f, 0.053787f, -0.044048f, -0.129347f, -0.193281f, -0.229191f, -0.234673f, -0.209049f, -0.153181f, -0.075871f, 0.005780f, 0.076238f, 0.127944f, 0.159180f, 0.171718f, 0.168690f, 0.149525f, 0.110173f, 0.051594f, -0.017343f, -0.086655f, -0.147164f, -0.186425f, -0.193841f, -0.170433f, -0.125073f, -0.065012f, 0.000827f, 0.057616f, 0.095796f, 0.118697f, 0.130362f, 0.127750f, 0.111905f, 0.090197f, 0.060794f, 0.013835f, -0.047969f, -0.110704f, -0.169346f, -0.220565f, -0.242402f, -0.213355f, -0.142698f, -0.050054f, 0.062130f, 0.172554f, 0.213346f, 0.146844f, 0.042880f, -0.001215f}, + { 0.015207f, 0.082976f, 0.199626f, 0.282859f, 0.263873f, 0.164643f, 0.039240f, -0.101852f, -0.255135f, -0.362796f, -0.370418f, -0.325378f, -0.329716f, -0.393214f, -0.421530f, -0.368644f, -0.309548f, -0.318855f, -0.359634f, -0.355814f, -0.310990f, -0.281959f, -0.277523f, -0.258612f, -0.216166f, -0.181301f, -0.165545f, -0.145397f, -0.106504f, -0.062660f, -0.029709f, -0.010119f, -0.001929f, 0.000359f, 0.010822f, 0.040007f, 0.081478f, 0.121574f, 0.154115f, 0.176543f, 0.183358f, 0.173258f, 0.152571f, 0.124730f, 0.086728f, 0.040116f, -0.006130f, -0.047172f, -0.086178f, -0.125612f, -0.165320f, -0.208844f, -0.261164f, -0.321029f, -0.383783f, -0.448219f, -0.513294f, -0.573993f, -0.627582f, -0.676780f, -0.721051f, -0.754143f, -0.775079f, -0.790142f, -0.799884f, -0.797462f, -0.782973f, -0.763866f, -0.738491f, -0.696980f, -0.640957f, -0.582720f, -0.523012f, -0.453255f, -0.384196f, -0.344834f, -0.339145f, -0.323832f, -0.245458f, -0.092605f} + }, + { + { 0.043874f, 0.118615f, 0.187170f, 0.267150f, 0.298762f, 0.195948f, -0.001786f, -0.150558f, -0.201169f, -0.249208f, -0.342968f, -0.379815f, -0.276823f, -0.123637f, -0.055321f, -0.064144f, -0.055372f, -0.019931f, -0.024681f, -0.071956f, -0.093125f, -0.072032f, -0.070681f, -0.124387f, -0.190477f, -0.213583f, -0.185140f, -0.129878f, -0.075285f, -0.037892f, -0.009897f, 0.037383f, 0.115172f, 0.192625f, 0.228584f, 0.214650f, 0.172116f, 0.122202f, 0.074293f, 0.031381f, -0.005454f, -0.033813f, -0.050480f, -0.060008f, -0.075967f, -0.106394f, -0.147540f, -0.197695f, -0.263287f, -0.345414f, -0.435440f, -0.527778f, -0.621378f, -0.708615f, -0.779992f, -0.837472f, -0.887412f, -0.928280f, -0.960992f, -0.998110f, -1.046834f, -1.099343f, -1.152347f, -1.213052f, -1.274952f, -1.316249f, -1.330774f, -1.328349f, -1.302567f, -1.238211f, -1.148431f, -1.058310f, -0.960029f, -0.838091f, -0.721675f, -0.643318f, -0.563976f, -0.420296f, -0.230992f, -0.067404f}, + { -0.250425f, -0.660993f, -0.861916f, -0.847354f, -0.663762f, -0.342769f, 0.075917f, 0.488389f, 0.753654f, 0.794167f, 0.643546f, 0.387442f, 0.087205f, -0.223353f, -0.496873f, -0.664962f, -0.675562f, -0.527061f, -0.266948f, 0.036108f, 0.319252f, 0.531415f, 0.626600f, 0.573077f, 0.380686f, 0.108230f, -0.168101f, -0.389333f, -0.517617f, -0.528794f, -0.421069f, -0.224730f, 0.009319f, 0.228421f, 0.385471f, 0.444687f, 0.395852f, 0.261516f, 0.084932f, -0.088913f, -0.225266f, -0.304256f, -0.319554f, -0.273259f, -0.175564f, -0.049060f, 0.075661f, 0.173276f, 0.228789f, 0.233471f, 0.188067f, 0.109495f, 0.022104f, -0.058067f, -0.122426f, -0.160617f, -0.165769f, -0.143482f, -0.103837f, -0.051510f, 0.007014f, 0.058136f, 0.093287f, 0.114398f, 0.120649f, 0.105501f, 0.071425f, 0.028778f, -0.021679f, -0.082945f, -0.140051f, -0.169785f, -0.167405f, -0.136951f, -0.070323f, 0.025342f, 0.097572f, 0.097658f, 0.048524f, 0.010072f} + }, + { + { -0.250425f, -0.660993f, -0.861916f, -0.847354f, -0.663762f, -0.342769f, 0.075917f, 0.488389f, 0.753654f, 0.794167f, 0.643546f, 0.387442f, 0.087205f, -0.223353f, -0.496873f, -0.664962f, -0.675562f, -0.527061f, -0.266948f, 0.036108f, 0.319252f, 0.531415f, 0.626600f, 0.573077f, 0.380686f, 0.108230f, -0.168101f, -0.389333f, -0.517617f, -0.528794f, -0.421069f, -0.224730f, 0.009319f, 0.228421f, 0.385471f, 0.444687f, 0.395852f, 0.261516f, 0.084932f, -0.088913f, -0.225266f, -0.304256f, -0.319554f, -0.273259f, -0.175564f, -0.049060f, 0.075661f, 0.173276f, 0.228789f, 0.233471f, 0.188067f, 0.109495f, 0.022104f, -0.058067f, -0.122426f, -0.160617f, -0.165769f, -0.143482f, -0.103837f, -0.051510f, 0.007014f, 0.058136f, 0.093287f, 0.114398f, 0.120649f, 0.105501f, 0.071425f, 0.028778f, -0.021679f, -0.082945f, -0.140051f, -0.169785f, -0.167405f, -0.136951f, -0.070323f, 0.025342f, 0.097572f, 0.097658f, 0.048524f, 0.010072f}, + { 0.043874f, 0.118615f, 0.187170f, 0.267150f, 0.298762f, 0.195948f, -0.001786f, -0.150558f, -0.201169f, -0.249208f, -0.342968f, -0.379815f, -0.276823f, -0.123637f, -0.055321f, -0.064144f, -0.055372f, -0.019931f, -0.024681f, -0.071956f, -0.093125f, -0.072032f, -0.070681f, -0.124387f, -0.190477f, -0.213583f, -0.185140f, -0.129878f, -0.075285f, -0.037892f, -0.009897f, 0.037383f, 0.115172f, 0.192625f, 0.228584f, 0.214650f, 0.172116f, 0.122202f, 0.074293f, 0.031381f, -0.005454f, -0.033813f, -0.050480f, -0.060008f, -0.075967f, -0.106394f, -0.147540f, -0.197695f, -0.263287f, -0.345414f, -0.435440f, -0.527778f, -0.621378f, -0.708615f, -0.779992f, -0.837472f, -0.887412f, -0.928280f, -0.960992f, -0.998110f, -1.046834f, -1.099343f, -1.152347f, -1.213052f, -1.274952f, -1.316249f, -1.330774f, -1.328349f, -1.302567f, -1.238211f, -1.148431f, -1.058310f, -0.960029f, -0.838091f, -0.721675f, -0.643318f, -0.563976f, -0.420296f, -0.230992f, -0.067404f} + }, + { + { -0.008249f, -0.023875f, -0.041979f, -0.063309f, -0.073640f, -0.059262f, -0.011284f, 0.097582f, 0.285477f, 0.486324f, 0.572624f, 0.491726f, 0.316227f, 0.137033f, -0.012156f, -0.105624f, -0.104202f, -0.021615f, 0.074402f, 0.154222f, 0.237747f, 0.305961f, 0.296964f, 0.204183f, 0.092769f, 0.012136f, -0.031471f, -0.026266f, 0.038678f, 0.126072f, 0.180148f, 0.192426f, 0.183756f, 0.147374f, 0.063045f, -0.057919f, -0.184667f, -0.299635f, -0.393907f, -0.460136f, -0.506533f, -0.549402f, -0.588487f, -0.616178f, -0.639266f, -0.663562f, -0.678297f, -0.681604f, -0.692468f, -0.716955f, -0.738071f, -0.751671f, -0.771237f, -0.794008f, -0.808030f, -0.825704f, -0.862898f, -0.903459f, -0.930585f, -0.960504f, -1.001446f, -1.027630f, -1.034152f, -1.055212f, -1.095329f, -1.119803f, -1.134174f, -1.178290f, -1.233939f, -1.250091f, -1.249470f, -1.280087f, -1.296222f, -1.243131f, -1.194568f, -1.207898f, -1.128089f, -0.791051f, -0.344783f, -0.068924f}, + { -0.129176f, -0.372355f, -0.580936f, -0.731519f, -0.765299f, -0.638093f, -0.415763f, -0.262408f, -0.304775f, -0.530180f, -0.811605f, -0.996409f, -0.988773f, -0.810534f, -0.593000f, -0.465223f, -0.444154f, -0.461572f, -0.469589f, -0.460057f, -0.404974f, -0.264243f, -0.062429f, 0.112893f, 0.209151f, 0.254875f, 0.300256f, 0.363823f, 0.447014f, 0.550411f, 0.657817f, 0.738504f, 0.775995f, 0.773071f, 0.734806f, 0.672431f, 0.612396f, 0.573088f, 0.541817f, 0.496000f, 0.432424f, 0.358322f, 0.274224f, 0.183255f, 0.096563f, 0.015492f, -0.070928f, -0.163303f, -0.249973f, -0.330065f, -0.412884f, -0.495910f, -0.569287f, -0.635706f, -0.699812f, -0.749341f, -0.772273f, -0.776809f, -0.771105f, -0.745172f, -0.694274f, -0.633019f, -0.567658f, -0.486467f, -0.391507f, -0.301919f, -0.216594f, -0.116973f, -0.009649f, 0.082575f, 0.165971f, 0.256392f, 0.331306f, 0.367070f, 0.395334f, 0.440161f, 0.436284f, 0.315312f, 0.139811f, 0.028354f} + }, + { + { -0.129176f, -0.372355f, -0.580936f, -0.731519f, -0.765299f, -0.638093f, -0.415763f, -0.262408f, -0.304775f, -0.530180f, -0.811605f, -0.996409f, -0.988773f, -0.810534f, -0.593000f, -0.465223f, -0.444154f, -0.461572f, -0.469589f, -0.460057f, -0.404974f, -0.264243f, -0.062429f, 0.112893f, 0.209151f, 0.254875f, 0.300256f, 0.363823f, 0.447014f, 0.550411f, 0.657817f, 0.738504f, 0.775995f, 0.773071f, 0.734806f, 0.672431f, 0.612396f, 0.573088f, 0.541817f, 0.496000f, 0.432424f, 0.358322f, 0.274224f, 0.183255f, 0.096563f, 0.015492f, -0.070928f, -0.163303f, -0.249973f, -0.330065f, -0.412884f, -0.495910f, -0.569287f, -0.635706f, -0.699812f, -0.749341f, -0.772273f, -0.776809f, -0.771105f, -0.745172f, -0.694274f, -0.633019f, -0.567658f, -0.486467f, -0.391507f, -0.301919f, -0.216594f, -0.116973f, -0.009649f, 0.082575f, 0.165971f, 0.256392f, 0.331306f, 0.367070f, 0.395334f, 0.440161f, 0.436284f, 0.315312f, 0.139811f, 0.028354f}, + { -0.008249f, -0.023875f, -0.041979f, -0.063309f, -0.073640f, -0.059262f, -0.011284f, 0.097582f, 0.285477f, 0.486324f, 0.572624f, 0.491726f, 0.316227f, 0.137033f, -0.012156f, -0.105624f, -0.104202f, -0.021615f, 0.074402f, 0.154222f, 0.237747f, 0.305961f, 0.296964f, 0.204183f, 0.092769f, 0.012136f, -0.031471f, -0.026266f, 0.038678f, 0.126072f, 0.180148f, 0.192426f, 0.183756f, 0.147374f, 0.063045f, -0.057919f, -0.184667f, -0.299635f, -0.393907f, -0.460136f, -0.506533f, -0.549402f, -0.588487f, -0.616178f, -0.639266f, -0.663562f, -0.678297f, -0.681604f, -0.692468f, -0.716955f, -0.738071f, -0.751671f, -0.771237f, -0.794008f, -0.808030f, -0.825704f, -0.862898f, -0.903459f, -0.930585f, -0.960504f, -1.001446f, -1.027630f, -1.034152f, -1.055212f, -1.095329f, -1.119803f, -1.134174f, -1.178290f, -1.233939f, -1.250091f, -1.249470f, -1.280087f, -1.296222f, -1.243131f, -1.194568f, -1.207898f, -1.128089f, -0.791051f, -0.344783f, -0.068924f} + }, + { + { 0.008075f, 0.038401f, 0.092119f, 0.128962f, 0.079637f, -0.065053f, -0.204165f, -0.224635f, -0.140768f, -0.066458f, -0.050504f, -0.028394f, 0.040936f, 0.088066f, 0.037282f, -0.081872f, -0.194521f, -0.289072f, -0.394663f, -0.499173f, -0.562874f, -0.584190f, -0.592102f, -0.595436f, -0.585667f, -0.568122f, -0.553640f, -0.538921f, -0.519114f, -0.497646f, -0.470495f, -0.428155f, -0.379841f, -0.345508f, -0.322485f, -0.290690f, -0.246286f, -0.199763f, -0.151541f, -0.099834f, -0.057672f, -0.034172f, -0.017802f, -0.000878f, 0.004292f, -0.008040f, -0.024761f, -0.042033f, -0.071452f, -0.109073f, -0.134965f, -0.146883f, -0.157322f, -0.162505f, -0.153258f, -0.144070f, -0.152591f, -0.170264f, -0.188683f, -0.224375f, -0.283614f, -0.342228f, -0.390085f, -0.447088f, -0.512027f, -0.555207f, -0.578613f, -0.614251f, -0.655544f, -0.670096f, -0.675523f, -0.709585f, -0.743735f, -0.735534f, -0.731747f, -0.782838f, -0.795910f, -0.638017f, -0.353740f, -0.100737f}, + { -0.185046f, -0.533405f, -0.796105f, -0.894228f, -0.804452f, -0.603356f, -0.412000f, -0.290027f, -0.194076f, -0.045276f, 0.170549f, 0.381975f, 0.509347f, 0.543373f, 0.533437f, 0.514324f, 0.470452f, 0.370026f, 0.210592f, 0.024650f, -0.144992f, -0.270937f, -0.353268f, -0.409676f, -0.449497f, -0.461092f, -0.428614f, -0.351647f, -0.241101f, -0.106882f, 0.039551f, 0.178574f, 0.289123f, 0.359025f, 0.385395f, 0.371418f, 0.325610f, 0.258144f, 0.176512f, 0.088334f, 0.004181f, -0.068701f, -0.130850f, -0.183510f, -0.223524f, -0.249431f, -0.263934f, -0.266307f, -0.251421f, -0.218401f, -0.170386f, -0.106369f, -0.025129f, 0.064373f, 0.148277f, 0.219795f, 0.275208f, 0.305623f, 0.304678f, 0.275767f, 0.221954f, 0.141085f, 0.039338f, -0.065853f, -0.163340f, -0.251323f, -0.320332f, -0.355470f, -0.356285f, -0.330135f, -0.270928f, -0.173746f, -0.060564f, 0.042406f, 0.135600f, 0.213726f, 0.231029f, 0.159392f, 0.057068f, 0.005821f} + }, + { + { -0.185046f, -0.533405f, -0.796105f, -0.894228f, -0.804452f, -0.603356f, -0.412000f, -0.290027f, -0.194076f, -0.045276f, 0.170549f, 0.381975f, 0.509347f, 0.543373f, 0.533437f, 0.514324f, 0.470452f, 0.370026f, 0.210592f, 0.024650f, -0.144992f, -0.270937f, -0.353268f, -0.409676f, -0.449497f, -0.461092f, -0.428614f, -0.351647f, -0.241101f, -0.106882f, 0.039551f, 0.178574f, 0.289123f, 0.359025f, 0.385395f, 0.371418f, 0.325610f, 0.258144f, 0.176512f, 0.088334f, 0.004181f, -0.068701f, -0.130850f, -0.183510f, -0.223524f, -0.249431f, -0.263934f, -0.266307f, -0.251421f, -0.218401f, -0.170386f, -0.106369f, -0.025129f, 0.064373f, 0.148277f, 0.219795f, 0.275208f, 0.305623f, 0.304678f, 0.275767f, 0.221954f, 0.141085f, 0.039338f, -0.065853f, -0.163340f, -0.251323f, -0.320332f, -0.355470f, -0.356285f, -0.330135f, -0.270928f, -0.173746f, -0.060564f, 0.042406f, 0.135600f, 0.213726f, 0.231029f, 0.159392f, 0.057068f, 0.005821f}, + { 0.008075f, 0.038401f, 0.092119f, 0.128962f, 0.079637f, -0.065053f, -0.204165f, -0.224635f, -0.140768f, -0.066458f, -0.050504f, -0.028394f, 0.040936f, 0.088066f, 0.037282f, -0.081872f, -0.194521f, -0.289072f, -0.394663f, -0.499173f, -0.562874f, -0.584190f, -0.592102f, -0.595436f, -0.585667f, -0.568122f, -0.553640f, -0.538921f, -0.519114f, -0.497646f, -0.470495f, -0.428155f, -0.379841f, -0.345508f, -0.322485f, -0.290690f, -0.246286f, -0.199763f, -0.151541f, -0.099834f, -0.057672f, -0.034172f, -0.017802f, -0.000878f, 0.004292f, -0.008040f, -0.024761f, -0.042033f, -0.071452f, -0.109073f, -0.134965f, -0.146883f, -0.157322f, -0.162505f, -0.153258f, -0.144070f, -0.152591f, -0.170264f, -0.188683f, -0.224375f, -0.283614f, -0.342228f, -0.390085f, -0.447088f, -0.512027f, -0.555207f, -0.578613f, -0.614251f, -0.655544f, -0.670096f, -0.675523f, -0.709585f, -0.743735f, -0.735534f, -0.731747f, -0.782838f, -0.795910f, -0.638017f, -0.353740f, -0.100737f} + }, + { + { 0.000904f, 0.019079f, 0.059553f, 0.080705f, 0.034196f, -0.076830f, -0.193142f, -0.258252f, -0.268806f, -0.254990f, -0.228184f, -0.177744f, -0.115561f, -0.086453f, -0.119832f, -0.198441f, -0.290706f, -0.386796f, -0.482507f, -0.555089f, -0.585391f, -0.588459f, -0.595614f, -0.616524f, -0.639482f, -0.657203f, -0.671485f, -0.681113f, -0.683039f, -0.679975f, -0.675099f, -0.665460f, -0.647607f, -0.621543f, -0.584847f, -0.532515f, -0.465996f, -0.394252f, -0.325482f, -0.264963f, -0.217691f, -0.185088f, -0.163233f, -0.150126f, -0.147912f, -0.154002f, -0.160060f, -0.163355f, -0.168022f, -0.173673f, -0.175655f, -0.176533f, -0.183744f, -0.197756f, -0.215649f, -0.241146f, -0.277541f, -0.318350f, -0.357489f, -0.397941f, -0.439603f, -0.473662f, -0.498885f, -0.525211f, -0.553450f, -0.573005f, -0.584023f, -0.595757f, -0.601812f, -0.587350f, -0.558307f, -0.529550f, -0.493088f, -0.438500f, -0.389008f, -0.365560f, -0.332967f, -0.244399f, -0.123587f, -0.032071f}, + { -0.132162f, -0.397236f, -0.634303f, -0.771385f, -0.762505f, -0.658311f, -0.571695f, -0.558140f, -0.559785f, -0.494070f, -0.367521f, -0.255768f, -0.188621f, -0.115450f, 0.010262f, 0.169458f, 0.319455f, 0.446157f, 0.546073f, 0.599271f, 0.595696f, 0.559582f, 0.517646f, 0.465704f, 0.389674f, 0.295832f, 0.197897f, 0.094666f, -0.019874f, -0.140220f, -0.255773f, -0.358086f, -0.435284f, -0.476549f, -0.485983f, -0.475938f, -0.447530f, -0.394402f, -0.321446f, -0.242452f, -0.164819f, -0.091592f, -0.029697f, 0.018115f, 0.059537f, 0.100122f, 0.136881f, 0.171477f, 0.213363f, 0.263443f, 0.310946f, 0.348805f, 0.374651f, 0.378869f, 0.352030f, 0.300800f, 0.237909f, 0.164126f, 0.077292f, -0.014164f, -0.104092f, -0.197998f, -0.293956f, -0.374701f, -0.431205f, -0.469564f, -0.486835f, -0.470926f, -0.428871f, -0.379532f, -0.318676f, -0.231739f, -0.133210f, -0.045037f, 0.047998f, 0.159994f, 0.240253f, 0.223460f, 0.130155f, 0.037254f} + }, + { + { -0.132162f, -0.397236f, -0.634303f, -0.771385f, -0.762505f, -0.658311f, -0.571695f, -0.558140f, -0.559785f, -0.494070f, -0.367521f, -0.255768f, -0.188621f, -0.115450f, 0.010262f, 0.169458f, 0.319455f, 0.446157f, 0.546073f, 0.599271f, 0.595696f, 0.559582f, 0.517646f, 0.465704f, 0.389674f, 0.295832f, 0.197897f, 0.094666f, -0.019874f, -0.140220f, -0.255773f, -0.358086f, -0.435284f, -0.476549f, -0.485983f, -0.475938f, -0.447530f, -0.394402f, -0.321446f, -0.242452f, -0.164819f, -0.091592f, -0.029697f, 0.018115f, 0.059537f, 0.100122f, 0.136881f, 0.171477f, 0.213363f, 0.263443f, 0.310946f, 0.348805f, 0.374651f, 0.378869f, 0.352030f, 0.300800f, 0.237909f, 0.164126f, 0.077292f, -0.014164f, -0.104092f, -0.197998f, -0.293956f, -0.374701f, -0.431205f, -0.469564f, -0.486835f, -0.470926f, -0.428871f, -0.379532f, -0.318676f, -0.231739f, -0.133210f, -0.045037f, 0.047998f, 0.159994f, 0.240253f, 0.223460f, 0.130155f, 0.037254f}, + { 0.000904f, 0.019079f, 0.059553f, 0.080705f, 0.034196f, -0.076830f, -0.193142f, -0.258252f, -0.268806f, -0.254990f, -0.228184f, -0.177744f, -0.115561f, -0.086453f, -0.119832f, -0.198441f, -0.290706f, -0.386796f, -0.482507f, -0.555089f, -0.585391f, -0.588459f, -0.595614f, -0.616524f, -0.639482f, -0.657203f, -0.671485f, -0.681113f, -0.683039f, -0.679975f, -0.675099f, -0.665460f, -0.647607f, -0.621543f, -0.584847f, -0.532515f, -0.465996f, -0.394252f, -0.325482f, -0.264963f, -0.217691f, -0.185088f, -0.163233f, -0.150126f, -0.147912f, -0.154002f, -0.160060f, -0.163355f, -0.168022f, -0.173673f, -0.175655f, -0.176533f, -0.183744f, -0.197756f, -0.215649f, -0.241146f, -0.277541f, -0.318350f, -0.357489f, -0.397941f, -0.439603f, -0.473662f, -0.498885f, -0.525211f, -0.553450f, -0.573005f, -0.584023f, -0.595757f, -0.601812f, -0.587350f, -0.558307f, -0.529550f, -0.493088f, -0.438500f, -0.389008f, -0.365560f, -0.332967f, -0.244399f, -0.123587f, -0.032071f} + } +}; +const float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; + +/********************** Sample Rate = 48000 **********************/ + +const float CRendBin_HOA3_HRIR_latency_s_48kHz = 0.001333333319053f; +const int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz = 2; +const uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[16][BINAURAL_CHANNELS]={{2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2} }; +const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {0, 0}; +const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[16][BINAURAL_CHANNELS][2]={{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}},{{240, 240},{240, 240}}}; +const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz = 0; +const float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[16]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; +const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float CRendBin_HOA3_HRIR_coeff_re_48kHz[16][BINAURAL_CHANNELS][480]={ + { + {-0.007743f, -0.007558f, -0.007195f, -0.006666f, -0.005988f, -0.005184f, -0.004281f, -0.003308f, -0.002297f, -0.001282f, -0.000295f, 0.000632f, 0.001470f, 0.002193f, 0.002779f, 0.003212f, 0.003480f, 0.003577f, 0.003506f, 0.003272f, 0.002887f, 0.002371f, 0.001744f, 0.001033f, 0.000266f, -0.000524f, -0.001308f, -0.002054f, -0.002731f, -0.003314f, -0.003778f, -0.004105f, -0.004278f, -0.004290f, -0.004136f, -0.003818f, -0.003346f, -0.002730f, -0.001990f, -0.001147f, -0.000226f, 0.000744f, 0.001734f, 0.002716f, 0.003658f, 0.004535f, 0.005321f, 0.005993f, 0.006535f, 0.006932f, 0.007177f, 0.007266f, 0.007200f, 0.006986f, 0.006636f, 0.006164f, 0.005590f, 0.004934f, 0.004220f, 0.003472f, 0.002715f, 0.001972f, 0.001265f, 0.000614f, 0.000036f, -0.000456f, -0.000852f, -0.001146f, -0.001339f, -0.001431f, -0.001430f, -0.001345f, -0.001189f, -0.000977f, -0.000725f, -0.000450f, -0.000171f, 0.000097f, 0.000338f, 0.000538f, 0.000686f, 0.000774f, 0.000798f, 0.000755f, 0.000647f, 0.000478f, 0.000258f, -0.000005f, -0.000297f, -0.000604f, -0.000913f, -0.001206f, -0.001471f, -0.001692f, -0.001859f, -0.001960f, + -0.001990f, -0.001944f, -0.001821f, -0.001623f, -0.001356f, -0.001028f, -0.000650f, -0.000236f, 0.000198f, 0.000637f, 0.001062f, 0.001458f, 0.001807f, 0.002094f, 0.002307f, 0.002436f, 0.002471f, 0.002410f, 0.002250f, 0.001996f, 0.001651f, 0.001227f, 0.000734f, 0.000187f, -0.000397f, -0.001000f, -0.001604f, -0.002189f, -0.002738f, -0.003233f, -0.003660f, -0.004005f, -0.004258f, -0.004412f, -0.004464f, -0.004414f, -0.004263f, -0.004019f, -0.003691f, -0.003290f, -0.002831f, -0.002328f, -0.001799f, -0.001260f, -0.000729f, -0.000219f, 0.000253f, 0.000676f, 0.001039f, 0.001336f, 0.001560f, 0.001710f, 0.001787f, 0.001795f, 0.001740f, 0.001631f, 0.001477f, 0.001291f, 0.001084f, 0.000869f, 0.000659f, 0.000464f, 0.000294f, 0.000159f, 0.000065f, 0.000015f, 0.000012f, 0.000054f, 0.000139f, 0.000261f, 0.000413f, 0.000585f, 0.000768f, 0.000951f, 0.001122f, 0.001271f, 0.001387f, 0.001462f, 0.001487f, 0.001458f, 0.001371f, 0.001226f, 0.001024f, 0.000770f, 0.000469f, 0.000130f, -0.000237f, -0.000619f, -0.001004f, -0.001379f, -0.001731f, -0.002048f, -0.002318f, -0.002532f, -0.002681f, -0.002760f, + -0.002766f, -0.002698f, -0.002559f, -0.002353f, -0.002087f, -0.001772f, -0.001418f, -0.001038f, -0.000646f, -0.000256f, 0.000117f, 0.000461f, 0.000764f, 0.001013f, 0.001202f, 0.001322f, 0.001371f, 0.001348f, 0.001254f, 0.001093f, 0.000873f, 0.000602f, 0.000291f, -0.000048f, -0.000400f, -0.000753f, -0.001092f, -0.001406f, -0.001680f, -0.001907f, -0.002076f, -0.002182f, -0.002222f, -0.002195f, -0.002102f, -0.001947f, -0.001739f, -0.001485f, -0.001196f, -0.000885f, -0.000563f, -0.000245f, 0.000056f, 0.000329f, 0.000561f, 0.000745f, 0.000871f, 0.000936f, 0.874744f, 0.116038f, -0.662441f, -0.827243f, -0.402995f, 0.289219f, 0.777716f, 0.685468f, 0.185590f, -0.493054f, -0.845543f, -0.701112f, -0.169822f, 0.554816f, 0.803711f, 0.562077f, -0.069675f, -0.622495f, -0.781014f, -0.389092f, 0.215356f, 0.699522f, 0.690218f, 0.204725f, -0.389698f, -0.710518f, -0.532733f, -0.008668f, 0.516164f, 0.684794f, 0.399502f, -0.157365f, -0.611437f, -0.649130f, -0.248718f, 0.314094f, 0.667438f, 0.566124f, 0.102008f, -0.423539f, -0.611442f, -0.605219f, -0.119896f, 0.439049f, 0.716128f, 0.472981f, -0.083944f, -0.590980f, + -0.676140f, -0.304134f, 0.279336f, 0.670561f, 0.602354f, 0.111260f, -0.451186f, -0.697564f, -0.455095f, 0.073426f, 0.529809f, 0.615436f, 0.268620f, -0.258841f, -0.598350f, -0.541586f, -0.093143f, 0.452635f, 0.668540f, 0.437278f, -0.106588f, -0.567294f, -0.653630f, -0.294182f, 0.267007f, 0.638346f, 0.582978f, 0.123374f, -0.429176f, -0.700189f, -0.473598f, 0.049201f, 0.530224f, 0.600061f, 0.268114f, -0.222115f, -0.603516f, -0.549236f, -0.121190f, 0.409789f, 0.654206f, 0.450342f, -0.058339f, -0.539424f, -0.638139f, -0.303548f, 0.210202f, 0.613552f, 0.586286f, 0.181245f, -0.311242f, -0.603267f, -0.500979f, -0.070766f, 0.392784f, 0.575899f, 0.388449f, -0.079622f, -0.471543f, -0.550515f, -0.252483f, 0.225112f, 0.560233f, 0.501195f, 0.088979f, -0.389568f, -0.616564f, -0.388516f, 0.087457f, 0.516491f, 0.603478f, 0.270287f, -0.264257f, -0.628381f, -0.544418f, -0.085427f, 0.417717f, 0.625695f, 0.396777f, -0.104381f, -0.518951f, -0.566067f, -0.223737f, 0.251795f, 0.549033f, 0.465643f, 0.054492f, -0.371032f, -0.544392f, -0.348233f, 0.081606f, 0.465192f, 0.525950f, 0.228049f, -0.225864f, -0.513316f, + -0.444995f, -0.072351f, 0.338365f, 0.508348f, 0.313193f, -0.092672f, -0.444725f, -0.474146f, -0.170556f, 0.255870f, 0.483517f, 0.367405f, -0.019046f, -0.360357f, -0.458396f, -0.219427f, 0.183072f, 0.464582f, 0.399087f, 0.054445f, -0.355513f, -0.503123f, -0.266677f, 0.157341f, 0.472099f, 0.437246f, 0.064651f, -0.376213f, -0.543538f, -0.285626f, 0.200362f, 0.539895f, 0.464228f, 0.014684f, -0.447591f, -0.531674f, -0.222697f, 0.271333f, 0.544990f, 0.362913f, -0.136141f, -0.527405f, -0.465809f, 0.013651f, 0.482914f, 0.505125f, 0.046413f, -0.453673f, -0.499113f, -0.044012f, 0.432176f, 0.428347f, -0.038277f, -0.425444f, -0.285800f, 0.182464f, 0.345587f, -0.006216f, -0.239016f, -0.030037f, 0.092603f, 0.007249f, -0.019244f, -0.003579f, -0.000623f, -0.001458f, -0.001441f, -0.001327f, -0.002820f, -0.002466f, -0.001718f, -0.002159f, -0.001581f, -0.001010f, -0.001896f, -0.001492f, -0.002548f, -0.001642f, -0.001386f, -0.001124f, -0.000852f, -0.002251f, -0.001420f, -0.000767f, -0.002070f, -0.002048f, -0.001322f, -0.001390f, -0.001647f, -0.001369f, -0.002590f, -0.001041f, -0.001429f, -0.001899f, -0.000935f, -0.002037f}, + {-0.007743f, -0.007558f, -0.007195f, -0.006666f, -0.005988f, -0.005184f, -0.004281f, -0.003308f, -0.002297f, -0.001282f, -0.000295f, 0.000632f, 0.001470f, 0.002193f, 0.002779f, 0.003212f, 0.003480f, 0.003577f, 0.003506f, 0.003272f, 0.002887f, 0.002371f, 0.001744f, 0.001033f, 0.000266f, -0.000524f, -0.001308f, -0.002054f, -0.002731f, -0.003314f, -0.003778f, -0.004105f, -0.004278f, -0.004290f, -0.004136f, -0.003818f, -0.003346f, -0.002730f, -0.001990f, -0.001147f, -0.000226f, 0.000744f, 0.001734f, 0.002716f, 0.003658f, 0.004535f, 0.005321f, 0.005993f, 0.006535f, 0.006932f, 0.007177f, 0.007266f, 0.007200f, 0.006986f, 0.006636f, 0.006164f, 0.005590f, 0.004934f, 0.004220f, 0.003472f, 0.002715f, 0.001972f, 0.001265f, 0.000614f, 0.000036f, -0.000456f, -0.000852f, -0.001146f, -0.001339f, -0.001431f, -0.001430f, -0.001345f, -0.001189f, -0.000977f, -0.000725f, -0.000450f, -0.000171f, 0.000097f, 0.000338f, 0.000538f, 0.000686f, 0.000774f, 0.000798f, 0.000755f, 0.000647f, 0.000478f, 0.000258f, -0.000005f, -0.000297f, -0.000604f, -0.000913f, -0.001206f, -0.001471f, -0.001692f, -0.001859f, -0.001960f, + -0.001990f, -0.001944f, -0.001821f, -0.001623f, -0.001356f, -0.001028f, -0.000650f, -0.000236f, 0.000198f, 0.000637f, 0.001062f, 0.001458f, 0.001807f, 0.002094f, 0.002307f, 0.002436f, 0.002471f, 0.002410f, 0.002250f, 0.001996f, 0.001651f, 0.001227f, 0.000734f, 0.000187f, -0.000397f, -0.001000f, -0.001604f, -0.002189f, -0.002738f, -0.003233f, -0.003660f, -0.004005f, -0.004258f, -0.004412f, -0.004464f, -0.004414f, -0.004263f, -0.004019f, -0.003691f, -0.003290f, -0.002831f, -0.002328f, -0.001799f, -0.001260f, -0.000729f, -0.000219f, 0.000253f, 0.000676f, 0.001039f, 0.001336f, 0.001560f, 0.001710f, 0.001787f, 0.001795f, 0.001740f, 0.001631f, 0.001477f, 0.001291f, 0.001084f, 0.000869f, 0.000659f, 0.000464f, 0.000294f, 0.000159f, 0.000065f, 0.000015f, 0.000012f, 0.000054f, 0.000139f, 0.000261f, 0.000413f, 0.000585f, 0.000768f, 0.000951f, 0.001122f, 0.001271f, 0.001387f, 0.001462f, 0.001487f, 0.001458f, 0.001371f, 0.001226f, 0.001024f, 0.000770f, 0.000469f, 0.000130f, -0.000237f, -0.000619f, -0.001004f, -0.001379f, -0.001731f, -0.002048f, -0.002318f, -0.002532f, -0.002681f, -0.002760f, + -0.002766f, -0.002698f, -0.002559f, -0.002353f, -0.002087f, -0.001772f, -0.001418f, -0.001038f, -0.000646f, -0.000256f, 0.000117f, 0.000461f, 0.000764f, 0.001013f, 0.001202f, 0.001322f, 0.001371f, 0.001348f, 0.001254f, 0.001093f, 0.000873f, 0.000602f, 0.000291f, -0.000048f, -0.000400f, -0.000753f, -0.001092f, -0.001406f, -0.001680f, -0.001907f, -0.002076f, -0.002182f, -0.002222f, -0.002195f, -0.002102f, -0.001947f, -0.001739f, -0.001485f, -0.001196f, -0.000885f, -0.000563f, -0.000245f, 0.000056f, 0.000329f, 0.000561f, 0.000745f, 0.000871f, 0.000936f, 0.874744f, 0.116038f, -0.662441f, -0.827243f, -0.402995f, 0.289219f, 0.777716f, 0.685468f, 0.185590f, -0.493054f, -0.845543f, -0.701112f, -0.169822f, 0.554816f, 0.803711f, 0.562077f, -0.069675f, -0.622495f, -0.781014f, -0.389092f, 0.215356f, 0.699522f, 0.690218f, 0.204725f, -0.389698f, -0.710518f, -0.532733f, -0.008668f, 0.516164f, 0.684794f, 0.399502f, -0.157365f, -0.611437f, -0.649130f, -0.248718f, 0.314094f, 0.667438f, 0.566124f, 0.102008f, -0.423539f, -0.611442f, -0.605219f, -0.119896f, 0.439049f, 0.716128f, 0.472981f, -0.083944f, -0.590980f, + -0.676140f, -0.304134f, 0.279336f, 0.670561f, 0.602354f, 0.111260f, -0.451186f, -0.697564f, -0.455095f, 0.073426f, 0.529809f, 0.615436f, 0.268620f, -0.258841f, -0.598350f, -0.541586f, -0.093143f, 0.452635f, 0.668540f, 0.437278f, -0.106588f, -0.567294f, -0.653630f, -0.294182f, 0.267007f, 0.638346f, 0.582978f, 0.123374f, -0.429176f, -0.700189f, -0.473598f, 0.049201f, 0.530224f, 0.600061f, 0.268114f, -0.222115f, -0.603516f, -0.549236f, -0.121190f, 0.409789f, 0.654206f, 0.450342f, -0.058339f, -0.539424f, -0.638139f, -0.303548f, 0.210202f, 0.613552f, 0.586286f, 0.181245f, -0.311242f, -0.603267f, -0.500979f, -0.070766f, 0.392784f, 0.575899f, 0.388449f, -0.079622f, -0.471543f, -0.550515f, -0.252483f, 0.225112f, 0.560233f, 0.501195f, 0.088979f, -0.389568f, -0.616564f, -0.388516f, 0.087457f, 0.516491f, 0.603478f, 0.270287f, -0.264257f, -0.628381f, -0.544418f, -0.085427f, 0.417717f, 0.625695f, 0.396777f, -0.104381f, -0.518951f, -0.566067f, -0.223737f, 0.251795f, 0.549033f, 0.465643f, 0.054492f, -0.371032f, -0.544392f, -0.348233f, 0.081606f, 0.465192f, 0.525950f, 0.228049f, -0.225864f, -0.513316f, + -0.444995f, -0.072351f, 0.338365f, 0.508348f, 0.313193f, -0.092672f, -0.444725f, -0.474146f, -0.170556f, 0.255870f, 0.483517f, 0.367405f, -0.019046f, -0.360357f, -0.458396f, -0.219427f, 0.183072f, 0.464582f, 0.399087f, 0.054445f, -0.355513f, -0.503123f, -0.266677f, 0.157341f, 0.472099f, 0.437246f, 0.064651f, -0.376213f, -0.543538f, -0.285626f, 0.200362f, 0.539895f, 0.464228f, 0.014684f, -0.447591f, -0.531674f, -0.222697f, 0.271333f, 0.544990f, 0.362913f, -0.136141f, -0.527405f, -0.465809f, 0.013651f, 0.482914f, 0.505125f, 0.046413f, -0.453673f, -0.499113f, -0.044012f, 0.432176f, 0.428347f, -0.038277f, -0.425444f, -0.285800f, 0.182464f, 0.345587f, -0.006216f, -0.239016f, -0.030037f, 0.092603f, 0.007249f, -0.019244f, -0.003579f, -0.000623f, -0.001458f, -0.001441f, -0.001327f, -0.002820f, -0.002466f, -0.001718f, -0.002159f, -0.001581f, -0.001010f, -0.001896f, -0.001492f, -0.002548f, -0.001642f, -0.001386f, -0.001124f, -0.000852f, -0.002251f, -0.001420f, -0.000767f, -0.002070f, -0.002048f, -0.001322f, -0.001390f, -0.001647f, -0.001369f, -0.002590f, -0.001041f, -0.001429f, -0.001899f, -0.000935f, -0.002037f} + }, + { + {-0.000037f, -0.000125f, -0.000295f, -0.000533f, -0.000818f, -0.001126f, -0.001426f, -0.001686f, -0.001873f, -0.001953f, -0.001893f, -0.001665f, -0.001246f, -0.000616f, 0.000234f, 0.001309f, 0.002601f, 0.004098f, 0.005777f, 0.007606f, 0.009548f, 0.011558f, 0.013587f, 0.015580f, 0.017483f, 0.019242f, 0.020802f, 0.022115f, 0.023135f, 0.023826f, 0.024158f, 0.024112f, 0.023679f, 0.022860f, 0.021667f, 0.020125f, 0.018265f, 0.016132f, 0.013774f, 0.011251f, 0.008623f, 0.005956f, 0.003315f, 0.000767f, -0.001627f, -0.003810f, -0.005730f, -0.007346f, -0.008623f, -0.009538f, -0.010079f, -0.010244f, -0.010044f, -0.009498f, -0.008635f, -0.007496f, -0.006125f, -0.004574f, -0.002898f, -0.001155f, 0.000596f, 0.002300f, 0.003903f, 0.005356f, 0.006618f, 0.007653f, 0.008436f, 0.008949f, 0.009183f, 0.009140f, 0.008829f, 0.008268f, 0.007483f, 0.006506f, 0.005372f, 0.004123f, 0.002800f, 0.001448f, 0.000107f, -0.001182f, -0.002383f, -0.003463f, -0.004396f, -0.005161f, -0.005746f, -0.006142f, -0.006349f, -0.006372f, -0.006224f, -0.005920f, -0.005481f, -0.004930f, -0.004295f, -0.003601f, -0.002875f, -0.002144f, + -0.001432f, -0.000759f, -0.000144f, 0.000400f, 0.000863f, 0.001239f, 0.001527f, 0.001729f, 0.001852f, 0.001905f, 0.001897f, 0.001844f, 0.001757f, 0.001651f, 0.001538f, 0.001430f, 0.001336f, 0.001264f, 0.001219f, 0.001201f, 0.001209f, 0.001240f, 0.001287f, 0.001341f, 0.001392f, 0.001429f, 0.001440f, 0.001414f, 0.001341f, 0.001213f, 0.001024f, 0.000769f, 0.000449f, 0.000067f, -0.000372f, -0.000859f, -0.001380f, -0.001922f, -0.002467f, -0.002996f, -0.003492f, -0.003934f, -0.004305f, -0.004588f, -0.004769f, -0.004837f, -0.004783f, -0.004606f, -0.004304f, -0.003885f, -0.003356f, -0.002733f, -0.002032f, -0.001275f, -0.000484f, 0.000315f, 0.001096f, 0.001834f, 0.002503f, 0.003081f, 0.003548f, 0.003887f, 0.004087f, 0.004138f, 0.004040f, 0.003796f, 0.003412f, 0.002903f, 0.002285f, 0.001582f, 0.000816f, 0.000016f, -0.000791f, -0.001574f, -0.002307f, -0.002963f, -0.003518f, -0.003951f, -0.004247f, -0.004395f, -0.004389f, -0.004228f, -0.003918f, -0.003469f, -0.002898f, -0.002223f, -0.001468f, -0.000659f, 0.000175f, 0.001005f, 0.001803f, 0.002542f, 0.003197f, 0.003745f, 0.004170f, 0.004457f, + 0.004599f, 0.004593f, 0.004441f, 0.004153f, 0.003740f, 0.003220f, 0.002614f, 0.001946f, 0.001242f, 0.000529f, -0.000165f, -0.000816f, -0.001399f, -0.001893f, -0.002282f, -0.002551f, -0.002692f, -0.002704f, -0.002586f, -0.002347f, -0.001998f, -0.001555f, -0.001036f, -0.000465f, 0.000136f, 0.000741f, 0.001325f, 0.001865f, 0.002340f, 0.002729f, 0.003019f, 0.003197f, 0.003258f, 0.003199f, 0.003023f, 0.002738f, 0.002356f, 0.001893f, 0.001368f, 0.000803f, 0.000221f, -0.000355f, -0.000900f, -0.001394f, -0.001815f, -0.002146f, -0.002375f, -0.002492f, 0.102067f, 0.340374f, 0.253576f, -0.392824f, -0.863480f, -0.541285f, 0.348747f, 0.908338f, 0.675127f, 0.029763f, -0.332153f, -0.699319f, -0.237615f, 0.263874f, 0.599313f, 0.464551f, 0.108943f, -0.429287f, -0.590275f, -0.410124f, 0.075999f, 0.451859f, 0.602381f, 0.261955f, -0.272532f, -0.611835f, -0.494864f, -0.123053f, 0.374729f, 0.621529f, 0.458242f, 0.034874f, -0.487088f, -0.663934f, -0.416264f, 0.141788f, 0.610468f, 0.748296f, 0.313634f, -0.331232f, -0.814857f, -0.565392f, 0.019484f, 0.617619f, 0.797305f, 0.434767f, -0.248637f, -0.751056f, + -0.724588f, -0.188109f, 0.430504f, 0.771733f, 0.576749f, 0.008453f, -0.604160f, -0.760334f, -0.426276f, 0.190034f, 0.626999f, 0.665805f, 0.215852f, -0.370023f, -0.714810f, -0.578496f, -0.065875f, 0.452677f, 0.808784f, 0.610411f, -0.009182f, -0.639069f, -0.817950f, -0.473376f, 0.228548f, 0.746920f, 0.794849f, 0.274199f, -0.440060f, -0.846523f, -0.713642f, -0.056773f, 0.601525f, 0.786555f, 0.464751f, -0.138588f, -0.713334f, -0.747887f, -0.263577f, 0.412564f, 0.819784f, 0.649608f, 0.052727f, -0.553307f, -0.819208f, -0.502275f, 0.100429f, 0.679034f, 0.756242f, 0.347214f, -0.301781f, -0.727920f, -0.654618f, -0.125292f, 0.484910f, 0.738531f, 0.520485f, -0.083904f, -0.617421f, -0.729817f, -0.287874f, 0.330201f, 0.740371f, 0.602818f, 0.067640f, -0.527236f, -0.755411f, -0.426334f, 0.208118f, 0.688928f, 0.733810f, 0.282400f, -0.391717f, -0.764435f, -0.614978f, -0.059433f, 0.532077f, 0.757324f, 0.440711f, -0.155543f, -0.625442f, -0.635152f, -0.221708f, 0.327142f, 0.664040f, 0.523697f, 0.026158f, -0.479470f, -0.651830f, -0.387733f, 0.140806f, 0.584307f, 0.618295f, 0.236836f, -0.300408f, -0.633192f, + -0.514642f, -0.027482f, 0.456828f, 0.622653f, 0.365466f, -0.159245f, -0.572755f, -0.570376f, -0.176307f, 0.353824f, 0.612098f, 0.441220f, -0.055421f, -0.467380f, -0.571616f, -0.254627f, 0.252806f, 0.617633f, 0.502197f, 0.048927f, -0.469973f, -0.648555f, -0.325167f, 0.222546f, 0.618981f, 0.552694f, 0.073944f, -0.489228f, -0.693035f, -0.373494f, 0.256126f, 0.688764f, 0.589141f, 0.010161f, -0.569339f, -0.768008f, -0.278704f, 0.453206f, 0.830687f, 0.518906f, -0.222511f, -0.778247f, -0.654275f, 0.052124f, 0.715401f, 0.722228f, 0.066974f, -0.638539f, -0.706863f, -0.078273f, 0.610052f, 0.635849f, -0.009045f, -0.598320f, -0.447012f, 0.239234f, 0.532691f, 0.030543f, -0.354172f, -0.057609f, 0.147463f, 0.024064f, -0.022992f, -0.000013f, 0.004885f, 0.003122f, 0.002322f, 0.001677f, 0.002744f, 0.004802f, 0.004419f, 0.003188f, 0.002682f, 0.001137f, 0.001908f, 0.002869f, 0.003807f, 0.001619f, 0.002752f, 0.001867f, 0.003558f, 0.003116f, 0.000532f, 0.003231f, 0.001722f, 0.002239f, 0.004198f, 0.001317f, 0.004158f, 0.002167f, 0.003823f, 0.002629f, 0.002598f, 0.003009f, 0.002802f, 0.005357f}, + {0.000037f, 0.000125f, 0.000295f, 0.000533f, 0.000818f, 0.001126f, 0.001426f, 0.001686f, 0.001873f, 0.001953f, 0.001893f, 0.001665f, 0.001246f, 0.000616f, -0.000234f, -0.001309f, -0.002601f, -0.004098f, -0.005777f, -0.007606f, -0.009548f, -0.011558f, -0.013587f, -0.015580f, -0.017483f, -0.019242f, -0.020802f, -0.022115f, -0.023135f, -0.023826f, -0.024158f, -0.024112f, -0.023679f, -0.022860f, -0.021667f, -0.020125f, -0.018265f, -0.016132f, -0.013774f, -0.011251f, -0.008623f, -0.005956f, -0.003315f, -0.000767f, 0.001627f, 0.003810f, 0.005730f, 0.007346f, 0.008623f, 0.009538f, 0.010079f, 0.010244f, 0.010044f, 0.009498f, 0.008635f, 0.007496f, 0.006125f, 0.004574f, 0.002898f, 0.001155f, -0.000596f, -0.002300f, -0.003903f, -0.005356f, -0.006618f, -0.007653f, -0.008436f, -0.008949f, -0.009183f, -0.009140f, -0.008829f, -0.008268f, -0.007483f, -0.006506f, -0.005372f, -0.004123f, -0.002800f, -0.001448f, -0.000107f, 0.001182f, 0.002383f, 0.003463f, 0.004396f, 0.005161f, 0.005746f, 0.006142f, 0.006349f, 0.006372f, 0.006224f, 0.005920f, 0.005481f, 0.004930f, 0.004295f, 0.003601f, 0.002875f, 0.002144f, + 0.001432f, 0.000759f, 0.000144f, -0.000400f, -0.000863f, -0.001239f, -0.001527f, -0.001729f, -0.001852f, -0.001905f, -0.001897f, -0.001844f, -0.001757f, -0.001651f, -0.001538f, -0.001430f, -0.001336f, -0.001264f, -0.001219f, -0.001201f, -0.001209f, -0.001240f, -0.001287f, -0.001341f, -0.001392f, -0.001429f, -0.001440f, -0.001414f, -0.001341f, -0.001213f, -0.001024f, -0.000769f, -0.000449f, -0.000067f, 0.000372f, 0.000859f, 0.001380f, 0.001922f, 0.002467f, 0.002996f, 0.003492f, 0.003934f, 0.004305f, 0.004588f, 0.004769f, 0.004837f, 0.004783f, 0.004606f, 0.004304f, 0.003885f, 0.003356f, 0.002733f, 0.002032f, 0.001275f, 0.000484f, -0.000315f, -0.001096f, -0.001834f, -0.002503f, -0.003081f, -0.003548f, -0.003887f, -0.004087f, -0.004138f, -0.004040f, -0.003796f, -0.003412f, -0.002903f, -0.002285f, -0.001582f, -0.000816f, -0.000016f, 0.000791f, 0.001574f, 0.002307f, 0.002963f, 0.003518f, 0.003951f, 0.004247f, 0.004395f, 0.004389f, 0.004228f, 0.003918f, 0.003469f, 0.002898f, 0.002223f, 0.001468f, 0.000659f, -0.000175f, -0.001005f, -0.001803f, -0.002542f, -0.003197f, -0.003745f, -0.004170f, -0.004457f, + -0.004599f, -0.004593f, -0.004441f, -0.004153f, -0.003740f, -0.003220f, -0.002614f, -0.001946f, -0.001242f, -0.000529f, 0.000165f, 0.000816f, 0.001399f, 0.001893f, 0.002282f, 0.002551f, 0.002692f, 0.002704f, 0.002586f, 0.002347f, 0.001998f, 0.001555f, 0.001036f, 0.000465f, -0.000136f, -0.000741f, -0.001325f, -0.001865f, -0.002340f, -0.002729f, -0.003019f, -0.003197f, -0.003258f, -0.003199f, -0.003023f, -0.002738f, -0.002356f, -0.001893f, -0.001368f, -0.000803f, -0.000221f, 0.000355f, 0.000900f, 0.001394f, 0.001815f, 0.002146f, 0.002375f, 0.002492f, -0.102067f, -0.340374f, -0.253576f, 0.392824f, 0.863480f, 0.541285f, -0.348747f, -0.908338f, -0.675127f, -0.029763f, 0.332153f, 0.699319f, 0.237615f, -0.263874f, -0.599313f, -0.464551f, -0.108943f, 0.429287f, 0.590275f, 0.410124f, -0.075999f, -0.451859f, -0.602381f, -0.261955f, 0.272532f, 0.611835f, 0.494864f, 0.123053f, -0.374729f, -0.621529f, -0.458242f, -0.034874f, 0.487088f, 0.663934f, 0.416264f, -0.141788f, -0.610468f, -0.748296f, -0.313634f, 0.331232f, 0.814857f, 0.565392f, -0.019484f, -0.617619f, -0.797305f, -0.434767f, 0.248637f, 0.751056f, + 0.724588f, 0.188109f, -0.430504f, -0.771733f, -0.576749f, -0.008453f, 0.604160f, 0.760334f, 0.426276f, -0.190034f, -0.626999f, -0.665805f, -0.215852f, 0.370023f, 0.714810f, 0.578496f, 0.065875f, -0.452677f, -0.808784f, -0.610411f, 0.009182f, 0.639069f, 0.817950f, 0.473376f, -0.228548f, -0.746920f, -0.794849f, -0.274199f, 0.440060f, 0.846523f, 0.713642f, 0.056773f, -0.601525f, -0.786555f, -0.464751f, 0.138588f, 0.713334f, 0.747887f, 0.263577f, -0.412564f, -0.819784f, -0.649608f, -0.052727f, 0.553307f, 0.819208f, 0.502275f, -0.100429f, -0.679034f, -0.756242f, -0.347214f, 0.301781f, 0.727920f, 0.654618f, 0.125292f, -0.484910f, -0.738531f, -0.520485f, 0.083904f, 0.617421f, 0.729817f, 0.287874f, -0.330201f, -0.740371f, -0.602818f, -0.067640f, 0.527236f, 0.755411f, 0.426334f, -0.208118f, -0.688928f, -0.733810f, -0.282400f, 0.391717f, 0.764435f, 0.614978f, 0.059433f, -0.532077f, -0.757324f, -0.440711f, 0.155543f, 0.625442f, 0.635152f, 0.221708f, -0.327142f, -0.664040f, -0.523697f, -0.026158f, 0.479470f, 0.651830f, 0.387733f, -0.140806f, -0.584307f, -0.618295f, -0.236836f, 0.300408f, 0.633192f, + 0.514642f, 0.027482f, -0.456828f, -0.622653f, -0.365466f, 0.159245f, 0.572755f, 0.570376f, 0.176307f, -0.353824f, -0.612098f, -0.441220f, 0.055421f, 0.467380f, 0.571616f, 0.254627f, -0.252806f, -0.617633f, -0.502197f, -0.048927f, 0.469973f, 0.648555f, 0.325167f, -0.222546f, -0.618981f, -0.552694f, -0.073944f, 0.489228f, 0.693035f, 0.373494f, -0.256126f, -0.688764f, -0.589141f, -0.010161f, 0.569339f, 0.768008f, 0.278704f, -0.453206f, -0.830687f, -0.518906f, 0.222511f, 0.778247f, 0.654275f, -0.052124f, -0.715401f, -0.722228f, -0.066974f, 0.638539f, 0.706863f, 0.078273f, -0.610052f, -0.635849f, 0.009045f, 0.598320f, 0.447012f, -0.239234f, -0.532691f, -0.030543f, 0.354172f, 0.057609f, -0.147463f, -0.024064f, 0.022992f, 0.000013f, -0.004885f, -0.003122f, -0.002322f, -0.001677f, -0.002744f, -0.004802f, -0.004419f, -0.003188f, -0.002682f, -0.001137f, -0.001908f, -0.002869f, -0.003807f, -0.001619f, -0.002752f, -0.001867f, -0.003558f, -0.003116f, -0.000532f, -0.003231f, -0.001722f, -0.002239f, -0.004198f, -0.001317f, -0.004158f, -0.002167f, -0.003823f, -0.002629f, -0.002598f, -0.003009f, -0.002802f, -0.005357f} + }, + { + {0.057990f, 0.057551f, 0.056676f, 0.055371f, 0.053644f, 0.051507f, 0.048977f, 0.046072f, 0.042817f, 0.039239f, 0.035373f, 0.031256f, 0.026931f, 0.022447f, 0.017856f, 0.013215f, 0.008585f, 0.004028f, -0.000390f, -0.004604f, -0.008549f, -0.012161f, -0.015382f, -0.018157f, -0.020438f, -0.022185f, -0.023367f, -0.023963f, -0.023964f, -0.023372f, -0.022202f, -0.020480f, -0.018246f, -0.015550f, -0.012453f, -0.009027f, -0.005348f, -0.001502f, 0.002422f, 0.006333f, 0.010141f, 0.013758f, 0.017100f, 0.020090f, 0.022660f, 0.024752f, 0.026322f, 0.027338f, 0.027781f, 0.027647f, 0.026950f, 0.025713f, 0.023975f, 0.021790f, 0.019218f, 0.016332f, 0.013210f, 0.009937f, 0.006599f, 0.003282f, 0.000072f, -0.002950f, -0.005713f, -0.008148f, -0.010202f, -0.011830f, -0.013001f, -0.013695f, -0.013909f, -0.013649f, -0.012937f, -0.011804f, -0.010294f, -0.008458f, -0.006355f, -0.004051f, -0.001614f, 0.000887f, 0.003382f, 0.005806f, 0.008094f, 0.010193f, 0.012051f, 0.013630f, 0.014897f, 0.015832f, 0.016424f, 0.016670f, 0.016581f, 0.016172f, 0.015469f, 0.014504f, 0.013315f, 0.011944f, 0.010435f, 0.008834f, + 0.007186f, 0.005535f, 0.003922f, 0.002385f, 0.000955f, -0.000341f, -0.001482f, -0.002453f, -0.003245f, -0.003857f, -0.004292f, -0.004558f, -0.004668f, -0.004638f, -0.004488f, -0.004237f, -0.003909f, -0.003524f, -0.003104f, -0.002668f, -0.002234f, -0.001816f, -0.001426f, -0.001073f, -0.000762f, -0.000497f, -0.000277f, -0.000099f, 0.000041f, 0.000150f, 0.000234f, 0.000301f, 0.000359f, 0.000415f, 0.000474f, 0.000542f, 0.000621f, 0.000713f, 0.000817f, 0.000931f, 0.001050f, 0.001170f, 0.001285f, 0.001386f, 0.001467f, 0.001521f, 0.001540f, 0.001520f, 0.001457f, 0.001347f, 0.001191f, 0.000991f, 0.000749f, 0.000474f, 0.000172f, -0.000147f, -0.000470f, -0.000786f, -0.001081f, -0.001342f, -0.001557f, -0.001713f, -0.001800f, -0.001808f, -0.001733f, -0.001568f, -0.001314f, -0.000971f, -0.000544f, -0.000040f, 0.000530f, 0.001156f, 0.001823f, 0.002515f, 0.003216f, 0.003911f, 0.004581f, 0.005211f, 0.005787f, 0.006296f, 0.006726f, 0.007071f, 0.007323f, 0.007481f, 0.007545f, 0.007518f, 0.007406f, 0.007217f, 0.006961f, 0.006651f, 0.006300f, 0.005922f, 0.005531f, 0.005141f, 0.004765f, 0.004415f, + 0.004100f, 0.003830f, 0.003610f, 0.003444f, 0.003334f, 0.003277f, 0.003271f, 0.003311f, 0.003390f, 0.003499f, 0.003630f, 0.003772f, 0.003916f, 0.004053f, 0.004174f, 0.004271f, 0.004338f, 0.004371f, 0.004367f, 0.004324f, 0.004246f, 0.004133f, 0.003990f, 0.003824f, 0.003641f, 0.003450f, 0.003257f, 0.003073f, 0.002903f, 0.002757f, 0.002639f, 0.002555f, 0.002508f, 0.002500f, 0.002531f, 0.002600f, 0.002703f, 0.002835f, 0.002991f, 0.003163f, 0.003343f, 0.003525f, 0.003698f, 0.003857f, 0.003993f, 0.004101f, 0.004175f, 0.004213f, 0.025493f, -0.047455f, -0.206540f, -0.180737f, 0.076698f, 0.007288f, -0.166173f, -0.202836f, -0.244911f, -0.225975f, -0.104465f, 0.272194f, 0.125062f, 0.081907f, 0.216402f, -0.010589f, -0.079220f, -0.139664f, -0.034890f, -0.030574f, 0.087613f, 0.152898f, 0.252140f, 0.072496f, -0.131820f, -0.186218f, 0.030134f, 0.161903f, 0.228954f, 0.120766f, -0.019227f, -0.224895f, -0.167825f, -0.058346f, 0.178973f, 0.240116f, 0.161527f, -0.083111f, -0.165331f, -0.176407f, 0.041491f, -0.197156f, -0.142013f, -0.004267f, 0.188880f, 0.191319f, 0.081722f, -0.127133f, + -0.228454f, -0.207586f, 0.057983f, 0.248368f, 0.308434f, 0.142332f, -0.137033f, -0.397708f, -0.321202f, 0.011995f, 0.416821f, 0.511799f, 0.290059f, -0.186803f, -0.492613f, -0.494386f, -0.057184f, 0.388077f, 0.468303f, 0.122035f, -0.298587f, -0.493250f, -0.282021f, 0.102010f, 0.381789f, 0.379117f, 0.065081f, -0.263329f, -0.364143f, -0.234270f, 0.158247f, 0.329315f, 0.263075f, 0.012767f, -0.234963f, -0.319959f, -0.150808f, 0.078276f, 0.254248f, 0.216596f, 0.039173f, -0.127683f, -0.202735f, -0.151174f, -0.029901f, 0.045948f, 0.133607f, 0.107376f, -0.003139f, -0.091457f, -0.149897f, -0.078458f, 0.129406f, 0.250965f, 0.193469f, -0.015697f, -0.286780f, -0.327940f, -0.123900f, 0.166658f, 0.337032f, 0.283810f, 0.025301f, -0.238622f, -0.299722f, -0.161796f, 0.128558f, 0.255374f, 0.237808f, 0.030703f, -0.148637f, -0.247569f, -0.123435f, 0.005753f, 0.131947f, 0.168550f, 0.092217f, -0.010030f, -0.064929f, -0.098678f, -0.091864f, -0.053448f, 0.029236f, 0.072744f, 0.087151f, 0.035778f, -0.028064f, -0.088679f, -0.082291f, -0.042768f, 0.033241f, 0.094467f, 0.076939f, 0.019309f, -0.045104f, -0.073694f, + -0.046734f, -0.009283f, 0.052709f, 0.072200f, 0.025338f, -0.010891f, -0.047185f, -0.046494f, -0.008576f, 0.031316f, 0.055596f, 0.012706f, -0.012001f, -0.047642f, -0.041810f, -0.002784f, 0.043247f, 0.027354f, 0.016670f, -0.016791f, -0.046652f, -0.032431f, -0.010611f, 0.027002f, 0.032900f, 0.008735f, -0.024343f, -0.040507f, -0.015884f, 0.019326f, 0.016809f, -0.008429f, -0.037666f, -0.036170f, -0.016857f, -0.024047f, 0.089287f, 0.114137f, 0.047188f, -0.081205f, -0.128577f, -0.055059f, 0.088676f, 0.143960f, 0.052069f, -0.101950f, -0.145637f, -0.031726f, 0.118112f, 0.128265f, -0.007591f, -0.128859f, -0.086502f, 0.055411f, 0.113541f, 0.010025f, -0.092906f, -0.036297f, 0.057924f, 0.017587f, -0.023888f, -0.005725f, 0.005014f, -0.001565f, -0.000171f, -0.000855f, 0.000693f, 0.000005f, -0.000326f, -0.002626f, -0.001412f, -0.001083f, -0.001205f, -0.000870f, -0.000136f, -0.001613f, -0.000940f, -0.003150f, -0.001555f, -0.000591f, 0.000728f, 0.000136f, -0.000155f, -0.000405f, -0.000913f, -0.001417f, -0.001185f, -0.001152f, -0.000419f, -0.000418f, -0.000787f, -0.000272f, -0.000412f, -0.000635f, -0.001489f, -0.001892f}, + {0.057990f, 0.057551f, 0.056676f, 0.055371f, 0.053644f, 0.051507f, 0.048977f, 0.046072f, 0.042817f, 0.039239f, 0.035373f, 0.031256f, 0.026931f, 0.022447f, 0.017856f, 0.013215f, 0.008585f, 0.004028f, -0.000390f, -0.004604f, -0.008549f, -0.012161f, -0.015382f, -0.018157f, -0.020438f, -0.022185f, -0.023367f, -0.023963f, -0.023964f, -0.023372f, -0.022202f, -0.020480f, -0.018246f, -0.015550f, -0.012453f, -0.009027f, -0.005348f, -0.001502f, 0.002422f, 0.006333f, 0.010141f, 0.013758f, 0.017100f, 0.020090f, 0.022660f, 0.024752f, 0.026322f, 0.027338f, 0.027781f, 0.027647f, 0.026950f, 0.025713f, 0.023975f, 0.021790f, 0.019218f, 0.016332f, 0.013210f, 0.009937f, 0.006599f, 0.003282f, 0.000072f, -0.002950f, -0.005713f, -0.008148f, -0.010202f, -0.011830f, -0.013001f, -0.013695f, -0.013909f, -0.013649f, -0.012937f, -0.011804f, -0.010294f, -0.008458f, -0.006355f, -0.004051f, -0.001614f, 0.000887f, 0.003382f, 0.005806f, 0.008094f, 0.010193f, 0.012051f, 0.013630f, 0.014897f, 0.015832f, 0.016424f, 0.016670f, 0.016581f, 0.016172f, 0.015469f, 0.014504f, 0.013315f, 0.011944f, 0.010435f, 0.008834f, + 0.007186f, 0.005535f, 0.003922f, 0.002385f, 0.000955f, -0.000341f, -0.001482f, -0.002453f, -0.003245f, -0.003857f, -0.004292f, -0.004558f, -0.004668f, -0.004638f, -0.004488f, -0.004237f, -0.003909f, -0.003524f, -0.003104f, -0.002668f, -0.002234f, -0.001816f, -0.001426f, -0.001073f, -0.000762f, -0.000497f, -0.000277f, -0.000099f, 0.000041f, 0.000150f, 0.000234f, 0.000301f, 0.000359f, 0.000415f, 0.000474f, 0.000542f, 0.000621f, 0.000713f, 0.000817f, 0.000931f, 0.001050f, 0.001170f, 0.001285f, 0.001386f, 0.001467f, 0.001521f, 0.001540f, 0.001520f, 0.001457f, 0.001347f, 0.001191f, 0.000991f, 0.000749f, 0.000474f, 0.000172f, -0.000147f, -0.000470f, -0.000786f, -0.001081f, -0.001342f, -0.001557f, -0.001713f, -0.001800f, -0.001808f, -0.001733f, -0.001568f, -0.001314f, -0.000971f, -0.000544f, -0.000040f, 0.000530f, 0.001156f, 0.001823f, 0.002515f, 0.003216f, 0.003911f, 0.004581f, 0.005211f, 0.005787f, 0.006296f, 0.006726f, 0.007071f, 0.007323f, 0.007481f, 0.007545f, 0.007518f, 0.007406f, 0.007217f, 0.006961f, 0.006651f, 0.006300f, 0.005922f, 0.005531f, 0.005141f, 0.004765f, 0.004415f, + 0.004100f, 0.003830f, 0.003610f, 0.003444f, 0.003334f, 0.003277f, 0.003271f, 0.003311f, 0.003390f, 0.003499f, 0.003630f, 0.003772f, 0.003916f, 0.004053f, 0.004174f, 0.004271f, 0.004338f, 0.004371f, 0.004367f, 0.004324f, 0.004246f, 0.004133f, 0.003990f, 0.003824f, 0.003641f, 0.003450f, 0.003257f, 0.003073f, 0.002903f, 0.002757f, 0.002639f, 0.002555f, 0.002508f, 0.002500f, 0.002531f, 0.002600f, 0.002703f, 0.002835f, 0.002991f, 0.003163f, 0.003343f, 0.003525f, 0.003698f, 0.003857f, 0.003993f, 0.004101f, 0.004175f, 0.004213f, 0.025493f, -0.047455f, -0.206540f, -0.180737f, 0.076698f, 0.007288f, -0.166173f, -0.202836f, -0.244911f, -0.225975f, -0.104465f, 0.272194f, 0.125062f, 0.081907f, 0.216402f, -0.010589f, -0.079220f, -0.139664f, -0.034890f, -0.030574f, 0.087613f, 0.152898f, 0.252140f, 0.072496f, -0.131820f, -0.186218f, 0.030134f, 0.161903f, 0.228954f, 0.120766f, -0.019227f, -0.224895f, -0.167825f, -0.058346f, 0.178973f, 0.240116f, 0.161527f, -0.083111f, -0.165331f, -0.176407f, 0.041491f, -0.197156f, -0.142013f, -0.004267f, 0.188880f, 0.191319f, 0.081722f, -0.127133f, + -0.228454f, -0.207586f, 0.057983f, 0.248368f, 0.308434f, 0.142332f, -0.137033f, -0.397708f, -0.321202f, 0.011995f, 0.416821f, 0.511799f, 0.290059f, -0.186803f, -0.492613f, -0.494386f, -0.057184f, 0.388077f, 0.468303f, 0.122035f, -0.298587f, -0.493250f, -0.282021f, 0.102010f, 0.381789f, 0.379117f, 0.065081f, -0.263329f, -0.364143f, -0.234270f, 0.158247f, 0.329315f, 0.263075f, 0.012767f, -0.234963f, -0.319959f, -0.150808f, 0.078276f, 0.254248f, 0.216596f, 0.039173f, -0.127683f, -0.202735f, -0.151174f, -0.029901f, 0.045948f, 0.133607f, 0.107376f, -0.003139f, -0.091457f, -0.149897f, -0.078458f, 0.129406f, 0.250965f, 0.193469f, -0.015697f, -0.286780f, -0.327940f, -0.123900f, 0.166658f, 0.337032f, 0.283810f, 0.025301f, -0.238622f, -0.299722f, -0.161796f, 0.128558f, 0.255374f, 0.237808f, 0.030703f, -0.148637f, -0.247569f, -0.123435f, 0.005753f, 0.131947f, 0.168550f, 0.092217f, -0.010030f, -0.064929f, -0.098678f, -0.091864f, -0.053448f, 0.029236f, 0.072744f, 0.087151f, 0.035778f, -0.028064f, -0.088679f, -0.082291f, -0.042768f, 0.033241f, 0.094467f, 0.076939f, 0.019309f, -0.045104f, -0.073694f, + -0.046734f, -0.009283f, 0.052709f, 0.072200f, 0.025338f, -0.010891f, -0.047185f, -0.046494f, -0.008576f, 0.031316f, 0.055596f, 0.012706f, -0.012001f, -0.047642f, -0.041810f, -0.002784f, 0.043247f, 0.027354f, 0.016670f, -0.016791f, -0.046652f, -0.032431f, -0.010611f, 0.027002f, 0.032900f, 0.008735f, -0.024343f, -0.040507f, -0.015884f, 0.019326f, 0.016809f, -0.008429f, -0.037666f, -0.036170f, -0.016857f, -0.024047f, 0.089287f, 0.114137f, 0.047188f, -0.081205f, -0.128577f, -0.055059f, 0.088676f, 0.143960f, 0.052069f, -0.101950f, -0.145637f, -0.031726f, 0.118112f, 0.128265f, -0.007591f, -0.128859f, -0.086502f, 0.055411f, 0.113541f, 0.010025f, -0.092906f, -0.036297f, 0.057924f, 0.017587f, -0.023888f, -0.005725f, 0.005014f, -0.001565f, -0.000171f, -0.000855f, 0.000693f, 0.000005f, -0.000326f, -0.002626f, -0.001412f, -0.001083f, -0.001205f, -0.000870f, -0.000136f, -0.001613f, -0.000940f, -0.003150f, -0.001555f, -0.000591f, 0.000728f, 0.000136f, -0.000155f, -0.000405f, -0.000913f, -0.001417f, -0.001185f, -0.001152f, -0.000419f, -0.000418f, -0.000787f, -0.000272f, -0.000412f, -0.000635f, -0.001489f, -0.001892f} + }, + { + {0.053939f, 0.053168f, 0.051645f, 0.049411f, 0.046524f, 0.043059f, 0.039106f, 0.034766f, 0.030149f, 0.025371f, 0.020548f, 0.015798f, 0.011232f, 0.006952f, 0.003053f, -0.000388f, -0.003306f, -0.005656f, -0.007410f, -0.008558f, -0.009110f, -0.009095f, -0.008557f, -0.007556f, -0.006164f, -0.004465f, -0.002548f, -0.000510f, 0.001554f, 0.003549f, 0.005387f, 0.006984f, 0.008271f, 0.009189f, 0.009693f, 0.009755f, 0.009362f, 0.008518f, 0.007244f, 0.005576f, 0.003562f, 0.001266f, -0.001241f, -0.003880f, -0.006567f, -0.009216f, -0.011741f, -0.014061f, -0.016102f, -0.017797f, -0.019091f, -0.019942f, -0.020323f, -0.020220f, -0.019635f, -0.018586f, -0.017105f, -0.015237f, -0.013041f, -0.010583f, -0.007940f, -0.005192f, -0.002424f, 0.000280f, 0.002838f, 0.005173f, 0.007216f, 0.008906f, 0.010194f, 0.011044f, 0.011434f, 0.011355f, 0.010813f, 0.009828f, 0.008434f, 0.006676f, 0.004611f, 0.002303f, -0.000174f, -0.002746f, -0.005333f, -0.007857f, -0.010242f, -0.012419f, -0.014323f, -0.015899f, -0.017103f, -0.017903f, -0.018277f, -0.018217f, -0.017730f, -0.016832f, -0.015553f, -0.013933f, -0.012022f, -0.009877f, + -0.007561f, -0.005142f, -0.002689f, -0.000270f, 0.002046f, 0.004198f, 0.006129f, 0.007788f, 0.009135f, 0.010139f, 0.010778f, 0.011044f, 0.010935f, 0.010465f, 0.009654f, 0.008534f, 0.007142f, 0.005525f, 0.003734f, 0.001824f, -0.000148f, -0.002124f, -0.004047f, -0.005864f, -0.007524f, -0.008982f, -0.010201f, -0.011149f, -0.011804f, -0.012151f, -0.012183f, -0.011904f, -0.011324f, -0.010460f, -0.009340f, -0.007993f, -0.006456f, -0.004770f, -0.002977f, -0.001123f, 0.000747f, 0.002589f, 0.004361f, 0.006022f, 0.007538f, 0.008876f, 0.010011f, 0.010923f, 0.011596f, 0.012024f, 0.012203f, 0.012138f, 0.011837f, 0.011315f, 0.010592f, 0.009691f, 0.008638f, 0.007461f, 0.006193f, 0.004863f, 0.003505f, 0.002149f, 0.000826f, -0.000436f, -0.001612f, -0.002679f, -0.003617f, -0.004412f, -0.005051f, -0.005526f, -0.005834f, -0.005975f, -0.005953f, -0.005775f, -0.005453f, -0.005000f, -0.004431f, -0.003766f, -0.003024f, -0.002226f, -0.001392f, -0.000545f, 0.000295f, 0.001109f, 0.001878f, 0.002584f, 0.003215f, 0.003756f, 0.004200f, 0.004538f, 0.004768f, 0.004887f, 0.004897f, 0.004804f, 0.004613f, 0.004333f, + 0.003977f, 0.003556f, 0.003085f, 0.002579f, 0.002053f, 0.001523f, 0.001003f, 0.000508f, 0.000051f, -0.000356f, -0.000703f, -0.000982f, -0.001188f, -0.001317f, -0.001369f, -0.001344f, -0.001246f, -0.001082f, -0.000859f, -0.000586f, -0.000274f, 0.000064f, 0.000418f, 0.000774f, 0.001120f, 0.001444f, 0.001735f, 0.001983f, 0.002182f, 0.002323f, 0.002403f, 0.002420f, 0.002374f, 0.002268f, 0.002104f, 0.001890f, 0.001633f, 0.001342f, 0.001028f, 0.000702f, 0.000375f, 0.000059f, -0.000236f, -0.000499f, -0.000722f, -0.000895f, -0.001015f, -0.001075f, 0.049892f, 0.047990f, -0.033258f, -0.133611f, -0.052183f, 0.061542f, -0.066189f, -0.089403f, -0.087291f, -0.054690f, -0.271607f, 0.096603f, -0.267726f, -0.264256f, 0.129132f, 0.545913f, 0.617339f, 0.272794f, -0.174907f, -0.533748f, -0.554207f, -0.047609f, 0.546477f, 0.739049f, 0.437232f, -0.183155f, -0.701637f, -0.783026f, -0.180038f, 0.530674f, 0.909066f, 0.571940f, -0.135388f, -0.739667f, -0.743880f, -0.233864f, 0.430650f, 0.757264f, 0.447132f, -0.114267f, -0.697564f, -0.285638f, 0.199784f, 0.551573f, 0.527110f, 0.166839f, -0.279615f, -0.511378f, + -0.414597f, -0.035481f, 0.341233f, 0.439039f, 0.261439f, -0.073149f, -0.320806f, -0.349659f, -0.137619f, 0.104207f, 0.286915f, 0.269047f, 0.082840f, -0.149283f, -0.281998f, -0.208006f, -0.019203f, 0.101892f, 0.320901f, 0.235951f, 0.042155f, -0.220082f, -0.218070f, -0.072821f, 0.123239f, 0.178973f, 0.115959f, -0.050898f, -0.138270f, -0.074258f, 0.036054f, 0.153232f, 0.152791f, 0.013746f, -0.140713f, -0.160471f, -0.062189f, 0.111791f, 0.259895f, 0.179835f, 0.030866f, -0.155186f, -0.163893f, -0.024727f, 0.057868f, 0.095150f, 0.048223f, -0.039504f, -0.025509f, -0.025762f, 0.060861f, 0.031466f, -0.120354f, -0.222981f, -0.180983f, 0.016892f, 0.223071f, 0.273060f, 0.085555f, -0.173778f, -0.344302f, -0.229392f, 0.091982f, 0.346138f, 0.343015f, 0.091762f, -0.246905f, -0.397401f, -0.330364f, 0.031457f, 0.369990f, 0.427005f, 0.131021f, -0.260986f, -0.436361f, -0.310050f, 0.029087f, 0.323590f, 0.385483f, 0.170781f, -0.141240f, -0.359812f, -0.310507f, -0.043287f, 0.254955f, 0.384213f, 0.215259f, -0.062184f, -0.327732f, -0.348448f, -0.119290f, 0.201937f, 0.353261f, 0.283515f, -0.011811f, -0.252592f, + -0.339514f, -0.211221f, 0.051300f, 0.280752f, 0.283220f, 0.092064f, -0.144765f, -0.288062f, -0.208872f, 0.005855f, 0.237021f, 0.313554f, 0.130575f, -0.114179f, -0.277431f, -0.250920f, -0.032791f, 0.225855f, 0.278421f, 0.137232f, -0.080003f, -0.245236f, -0.213592f, -0.037867f, 0.158155f, 0.242168f, 0.125690f, -0.102714f, -0.254825f, -0.211195f, 0.003451f, 0.225300f, 0.258602f, 0.103888f, -0.159026f, -0.337059f, -0.112344f, 0.196349f, 0.357577f, 0.198215f, -0.126973f, -0.336837f, -0.230151f, 0.083405f, 0.320534f, 0.248317f, -0.055685f, -0.288169f, -0.219367f, 0.063406f, 0.263101f, 0.170224f, -0.090796f, -0.222565f, -0.079326f, 0.141957f, 0.144276f, -0.049174f, -0.100479f, 0.016247f, 0.040632f, -0.004263f, -0.004172f, 0.001039f, 0.002231f, -0.000104f, 0.003192f, 0.001874f, 0.000180f, 0.001159f, 0.001815f, 0.000130f, 0.000856f, 0.001144f, 0.001903f, 0.000931f, 0.000960f, 0.001644f, 0.001821f, 0.000738f, -0.000514f, 0.000766f, 0.002281f, 0.002899f, 0.001980f, 0.001944f, 0.000363f, 0.002092f, -0.000780f, -0.002933f, 0.002161f, 0.003171f, 0.003051f, 0.001162f, 0.000614f, 0.001346f}, + {0.053939f, 0.053168f, 0.051645f, 0.049411f, 0.046524f, 0.043059f, 0.039106f, 0.034766f, 0.030149f, 0.025371f, 0.020548f, 0.015798f, 0.011232f, 0.006952f, 0.003053f, -0.000388f, -0.003306f, -0.005656f, -0.007410f, -0.008558f, -0.009110f, -0.009095f, -0.008557f, -0.007556f, -0.006164f, -0.004465f, -0.002548f, -0.000510f, 0.001554f, 0.003549f, 0.005387f, 0.006984f, 0.008271f, 0.009189f, 0.009693f, 0.009755f, 0.009362f, 0.008518f, 0.007244f, 0.005576f, 0.003562f, 0.001266f, -0.001241f, -0.003880f, -0.006567f, -0.009216f, -0.011741f, -0.014061f, -0.016102f, -0.017797f, -0.019091f, -0.019942f, -0.020323f, -0.020220f, -0.019635f, -0.018586f, -0.017105f, -0.015237f, -0.013041f, -0.010583f, -0.007940f, -0.005192f, -0.002424f, 0.000280f, 0.002838f, 0.005173f, 0.007216f, 0.008906f, 0.010194f, 0.011044f, 0.011434f, 0.011355f, 0.010813f, 0.009828f, 0.008434f, 0.006676f, 0.004611f, 0.002303f, -0.000174f, -0.002746f, -0.005333f, -0.007857f, -0.010242f, -0.012419f, -0.014323f, -0.015899f, -0.017103f, -0.017903f, -0.018277f, -0.018217f, -0.017730f, -0.016832f, -0.015553f, -0.013933f, -0.012022f, -0.009877f, + -0.007561f, -0.005142f, -0.002689f, -0.000270f, 0.002046f, 0.004198f, 0.006129f, 0.007788f, 0.009135f, 0.010139f, 0.010778f, 0.011044f, 0.010935f, 0.010465f, 0.009654f, 0.008534f, 0.007142f, 0.005525f, 0.003734f, 0.001824f, -0.000148f, -0.002124f, -0.004047f, -0.005864f, -0.007524f, -0.008982f, -0.010201f, -0.011149f, -0.011804f, -0.012151f, -0.012183f, -0.011904f, -0.011324f, -0.010460f, -0.009340f, -0.007993f, -0.006456f, -0.004770f, -0.002977f, -0.001123f, 0.000747f, 0.002589f, 0.004361f, 0.006022f, 0.007538f, 0.008876f, 0.010011f, 0.010923f, 0.011596f, 0.012024f, 0.012203f, 0.012138f, 0.011837f, 0.011315f, 0.010592f, 0.009691f, 0.008638f, 0.007461f, 0.006193f, 0.004863f, 0.003505f, 0.002149f, 0.000826f, -0.000436f, -0.001612f, -0.002679f, -0.003617f, -0.004412f, -0.005051f, -0.005526f, -0.005834f, -0.005975f, -0.005953f, -0.005775f, -0.005453f, -0.005000f, -0.004431f, -0.003766f, -0.003024f, -0.002226f, -0.001392f, -0.000545f, 0.000295f, 0.001109f, 0.001878f, 0.002584f, 0.003215f, 0.003756f, 0.004200f, 0.004538f, 0.004768f, 0.004887f, 0.004897f, 0.004804f, 0.004613f, 0.004333f, + 0.003977f, 0.003556f, 0.003085f, 0.002579f, 0.002053f, 0.001523f, 0.001003f, 0.000508f, 0.000051f, -0.000356f, -0.000703f, -0.000982f, -0.001188f, -0.001317f, -0.001369f, -0.001344f, -0.001246f, -0.001082f, -0.000859f, -0.000586f, -0.000274f, 0.000064f, 0.000418f, 0.000774f, 0.001120f, 0.001444f, 0.001735f, 0.001983f, 0.002182f, 0.002323f, 0.002403f, 0.002420f, 0.002374f, 0.002268f, 0.002104f, 0.001890f, 0.001633f, 0.001342f, 0.001028f, 0.000702f, 0.000375f, 0.000059f, -0.000236f, -0.000499f, -0.000722f, -0.000895f, -0.001015f, -0.001075f, 0.049892f, 0.047990f, -0.033258f, -0.133611f, -0.052183f, 0.061542f, -0.066189f, -0.089403f, -0.087291f, -0.054690f, -0.271607f, 0.096603f, -0.267726f, -0.264256f, 0.129132f, 0.545913f, 0.617339f, 0.272794f, -0.174907f, -0.533748f, -0.554207f, -0.047609f, 0.546477f, 0.739049f, 0.437232f, -0.183155f, -0.701637f, -0.783026f, -0.180038f, 0.530674f, 0.909066f, 0.571940f, -0.135388f, -0.739667f, -0.743880f, -0.233864f, 0.430650f, 0.757264f, 0.447132f, -0.114267f, -0.697564f, -0.285638f, 0.199784f, 0.551573f, 0.527110f, 0.166839f, -0.279615f, -0.511378f, + -0.414597f, -0.035481f, 0.341233f, 0.439039f, 0.261439f, -0.073149f, -0.320806f, -0.349659f, -0.137619f, 0.104207f, 0.286915f, 0.269047f, 0.082840f, -0.149283f, -0.281998f, -0.208006f, -0.019203f, 0.101892f, 0.320901f, 0.235951f, 0.042155f, -0.220082f, -0.218070f, -0.072821f, 0.123239f, 0.178973f, 0.115959f, -0.050898f, -0.138270f, -0.074258f, 0.036054f, 0.153232f, 0.152791f, 0.013746f, -0.140713f, -0.160471f, -0.062189f, 0.111791f, 0.259895f, 0.179835f, 0.030866f, -0.155186f, -0.163893f, -0.024727f, 0.057868f, 0.095150f, 0.048223f, -0.039504f, -0.025509f, -0.025762f, 0.060861f, 0.031466f, -0.120354f, -0.222981f, -0.180983f, 0.016892f, 0.223071f, 0.273060f, 0.085555f, -0.173778f, -0.344302f, -0.229392f, 0.091982f, 0.346138f, 0.343015f, 0.091762f, -0.246905f, -0.397401f, -0.330364f, 0.031457f, 0.369990f, 0.427005f, 0.131021f, -0.260986f, -0.436361f, -0.310050f, 0.029087f, 0.323590f, 0.385483f, 0.170781f, -0.141240f, -0.359812f, -0.310507f, -0.043287f, 0.254955f, 0.384213f, 0.215259f, -0.062184f, -0.327732f, -0.348448f, -0.119290f, 0.201937f, 0.353261f, 0.283515f, -0.011811f, -0.252592f, + -0.339514f, -0.211221f, 0.051300f, 0.280752f, 0.283220f, 0.092064f, -0.144765f, -0.288062f, -0.208872f, 0.005855f, 0.237021f, 0.313554f, 0.130575f, -0.114179f, -0.277431f, -0.250920f, -0.032791f, 0.225855f, 0.278421f, 0.137232f, -0.080003f, -0.245236f, -0.213592f, -0.037867f, 0.158155f, 0.242168f, 0.125690f, -0.102714f, -0.254825f, -0.211195f, 0.003451f, 0.225300f, 0.258602f, 0.103888f, -0.159026f, -0.337059f, -0.112344f, 0.196349f, 0.357577f, 0.198215f, -0.126973f, -0.336837f, -0.230151f, 0.083405f, 0.320534f, 0.248317f, -0.055685f, -0.288169f, -0.219367f, 0.063406f, 0.263101f, 0.170224f, -0.090796f, -0.222565f, -0.079326f, 0.141957f, 0.144276f, -0.049174f, -0.100479f, 0.016247f, 0.040632f, -0.004263f, -0.004172f, 0.001039f, 0.002231f, -0.000104f, 0.003192f, 0.001874f, 0.000180f, 0.001159f, 0.001815f, 0.000130f, 0.000856f, 0.001144f, 0.001903f, 0.000931f, 0.000960f, 0.001644f, 0.001821f, 0.000738f, -0.000514f, 0.000766f, 0.002281f, 0.002899f, 0.001980f, 0.001944f, 0.000363f, 0.002092f, -0.000780f, -0.002933f, 0.002161f, 0.003171f, 0.003051f, 0.001162f, 0.000614f, 0.001346f} + }, + { + {0.041901f, 0.041644f, 0.041132f, 0.040369f, 0.039360f, 0.038115f, 0.036644f, 0.034960f, 0.033080f, 0.031023f, 0.028809f, 0.026466f, 0.024020f, 0.021503f, 0.018948f, 0.016390f, 0.013868f, 0.011418f, 0.009081f, 0.006893f, 0.004891f, 0.003110f, 0.001579f, 0.000327f, -0.000627f, -0.001266f, -0.001584f, -0.001578f, -0.001255f, -0.000629f, 0.000275f, 0.001430f, 0.002798f, 0.004334f, 0.005991f, 0.007715f, 0.009451f, 0.011139f, 0.012723f, 0.014147f, 0.015357f, 0.016306f, 0.016952f, 0.017258f, 0.017201f, 0.016763f, 0.015936f, 0.014726f, 0.013146f, 0.011220f, 0.008981f, 0.006473f, 0.003744f, 0.000852f, -0.002144f, -0.005180f, -0.008192f, -0.011115f, -0.013889f, -0.016456f, -0.018766f, -0.020774f, -0.022445f, -0.023754f, -0.024685f, -0.025231f, -0.025398f, -0.025201f, -0.024663f, -0.023818f, -0.022705f, -0.021370f, -0.019863f, -0.018236f, -0.016543f, -0.014836f, -0.013165f, -0.011578f, -0.010113f, -0.008805f, -0.007681f, -0.006758f, -0.006047f, -0.005549f, -0.005257f, -0.005155f, -0.005223f, -0.005432f, -0.005751f, -0.006144f, -0.006574f, -0.007004f, -0.007397f, -0.007720f, -0.007944f, -0.008045f, + -0.008005f, -0.007812f, -0.007463f, -0.006961f, -0.006316f, -0.005545f, -0.004673f, -0.003728f, -0.002743f, -0.001752f, -0.000794f, 0.000097f, 0.000883f, 0.001533f, 0.002019f, 0.002318f, 0.002414f, 0.002298f, 0.001968f, 0.001430f, 0.000700f, -0.000203f, -0.001249f, -0.002404f, -0.003629f, -0.004882f, -0.006117f, -0.007289f, -0.008353f, -0.009267f, -0.009993f, -0.010497f, -0.010752f, -0.010739f, -0.010447f, -0.009872f, -0.009020f, -0.007906f, -0.006552f, -0.004990f, -0.003255f, -0.001391f, 0.000554f, 0.002531f, 0.004488f, 0.006374f, 0.008138f, 0.009735f, 0.011121f, 0.012261f, 0.013125f, 0.013691f, 0.013945f, 0.013883f, 0.013507f, 0.012829f, 0.011869f, 0.010655f, 0.009219f, 0.007599f, 0.005840f, 0.003986f, 0.002083f, 0.000180f, -0.001679f, -0.003450f, -0.005094f, -0.006576f, -0.007867f, -0.008943f, -0.009788f, -0.010393f, -0.010753f, -0.010873f, -0.010762f, -0.010435f, -0.009913f, -0.009219f, -0.008380f, -0.007427f, -0.006389f, -0.005298f, -0.004184f, -0.003075f, -0.001998f, -0.000976f, -0.000030f, 0.000825f, 0.001575f, 0.002213f, 0.002733f, 0.003136f, 0.003424f, 0.003602f, 0.003680f, 0.003668f, + 0.003577f, 0.003421f, 0.003213f, 0.002966f, 0.002694f, 0.002407f, 0.002117f, 0.001833f, 0.001562f, 0.001310f, 0.001082f, 0.000879f, 0.000704f, 0.000555f, 0.000431f, 0.000331f, 0.000251f, 0.000189f, 0.000142f, 0.000107f, 0.000082f, 0.000064f, 0.000052f, 0.000046f, 0.000044f, 0.000047f, 0.000055f, 0.000071f, 0.000094f, 0.000127f, 0.000170f, 0.000224f, 0.000290f, 0.000369f, 0.000459f, 0.000561f, 0.000672f, 0.000790f, 0.000912f, 0.001037f, 0.001159f, 0.001277f, 0.001386f, 0.001482f, 0.001564f, 0.001627f, 0.001671f, 0.001693f, -0.008589f, -0.013706f, -0.011480f, -0.019507f, -0.084522f, -0.068258f, -0.074407f, 0.006022f, -0.067948f, -0.035105f, -0.113541f, 0.025271f, -0.099929f, -0.161352f, 0.090732f, 0.307217f, 0.230926f, 0.193524f, -0.085241f, -0.256383f, -0.088475f, -0.069444f, 0.162221f, 0.143857f, 0.081764f, -0.108640f, -0.218760f, -0.183481f, 0.035748f, 0.217219f, 0.277907f, 0.149093f, -0.077173f, -0.379104f, -0.268807f, 0.110869f, 0.337248f, 0.322414f, 0.116275f, -0.214108f, -0.405948f, -0.119559f, 0.205668f, 0.360167f, 0.308288f, 0.030463f, -0.224371f, -0.290891f, + -0.230312f, -0.083689f, 0.192198f, 0.256347f, 0.249895f, 0.006398f, -0.133492f, -0.289328f, -0.121189f, -0.013016f, 0.252580f, 0.282690f, 0.023350f, 0.006112f, -0.200784f, -0.265022f, -0.097706f, 0.187679f, 0.257554f, 0.123191f, -0.143874f, -0.318190f, -0.222703f, -0.006171f, 0.175978f, 0.299184f, 0.196664f, -0.081596f, -0.264277f, -0.266021f, 0.041392f, 0.221364f, 0.275588f, 0.198585f, -0.143864f, -0.297232f, -0.244483f, 0.042519f, 0.230431f, 0.266412f, 0.069441f, -0.176026f, -0.242817f, -0.105670f, 0.058095f, 0.091494f, -0.006481f, -0.079556f, -0.051063f, -0.011345f, 0.063851f, 0.023359f, -0.117032f, -0.175189f, -0.150623f, 0.008055f, 0.146025f, 0.202026f, 0.075495f, -0.077481f, -0.244727f, -0.212741f, -0.061630f, 0.111017f, 0.269495f, 0.230027f, -0.040848f, -0.229507f, -0.203636f, -0.057604f, 0.188787f, 0.209641f, 0.097030f, 0.012440f, -0.228649f, -0.213129f, -0.114776f, 0.056545f, 0.171551f, 0.135038f, -0.008104f, -0.094644f, -0.109245f, -0.031083f, 0.042358f, 0.096241f, 0.061876f, 0.001161f, -0.066020f, -0.132764f, -0.071367f, 0.033501f, 0.081855f, 0.092746f, 0.018466f, -0.045010f, + -0.086509f, -0.101242f, -0.042110f, 0.028859f, 0.063454f, 0.029496f, -0.012907f, -0.044474f, -0.028225f, -0.015706f, 0.043059f, 0.082143f, 0.044775f, -0.036787f, -0.083370f, -0.092755f, -0.025675f, 0.110962f, 0.136245f, 0.074590f, -0.022154f, -0.107603f, -0.096543f, -0.032923f, 0.041587f, 0.074610f, 0.043238f, -0.031976f, -0.114357f, -0.096251f, -0.011309f, 0.075988f, 0.137679f, 0.023208f, -0.078534f, -0.307022f, -0.159274f, 0.170167f, 0.368532f, 0.258626f, -0.077972f, -0.339673f, -0.285783f, 0.038908f, 0.323796f, 0.299487f, -0.011876f, -0.295894f, -0.273170f, 0.028462f, 0.279003f, 0.220583f, -0.071685f, -0.249678f, -0.118577f, 0.142453f, 0.181962f, -0.040878f, -0.131885f, 0.009338f, 0.051482f, -0.002209f, -0.009751f, -0.000868f, 0.001002f, 0.000512f, 0.002613f, -0.001675f, -0.000713f, -0.001351f, -0.000432f, -0.000353f, 0.001025f, 0.000304f, -0.001145f, -0.000262f, 0.001746f, -0.000411f, -0.000323f, -0.001006f, 0.000548f, -0.000515f, -0.001958f, -0.000622f, -0.000196f, 0.001542f, 0.001213f, -0.002762f, -0.000766f, -0.003663f, -0.000140f, -0.000560f, 0.000919f, 0.000676f, -0.001502f, -0.002685f}, + {-0.041901f, -0.041644f, -0.041132f, -0.040369f, -0.039360f, -0.038115f, -0.036644f, -0.034960f, -0.033080f, -0.031023f, -0.028809f, -0.026466f, -0.024020f, -0.021503f, -0.018948f, -0.016390f, -0.013868f, -0.011418f, -0.009081f, -0.006893f, -0.004891f, -0.003110f, -0.001579f, -0.000327f, 0.000627f, 0.001266f, 0.001584f, 0.001578f, 0.001255f, 0.000629f, -0.000275f, -0.001430f, -0.002798f, -0.004334f, -0.005991f, -0.007715f, -0.009451f, -0.011139f, -0.012723f, -0.014147f, -0.015357f, -0.016306f, -0.016952f, -0.017258f, -0.017201f, -0.016763f, -0.015936f, -0.014726f, -0.013146f, -0.011220f, -0.008981f, -0.006473f, -0.003744f, -0.000852f, 0.002144f, 0.005180f, 0.008192f, 0.011115f, 0.013889f, 0.016456f, 0.018766f, 0.020774f, 0.022445f, 0.023754f, 0.024685f, 0.025231f, 0.025398f, 0.025201f, 0.024663f, 0.023818f, 0.022705f, 0.021370f, 0.019863f, 0.018236f, 0.016543f, 0.014836f, 0.013165f, 0.011578f, 0.010113f, 0.008805f, 0.007681f, 0.006758f, 0.006047f, 0.005549f, 0.005257f, 0.005155f, 0.005223f, 0.005432f, 0.005751f, 0.006144f, 0.006574f, 0.007004f, 0.007397f, 0.007720f, 0.007944f, 0.008045f, + 0.008005f, 0.007812f, 0.007463f, 0.006961f, 0.006316f, 0.005545f, 0.004673f, 0.003728f, 0.002743f, 0.001752f, 0.000794f, -0.000097f, -0.000883f, -0.001533f, -0.002019f, -0.002318f, -0.002414f, -0.002298f, -0.001968f, -0.001430f, -0.000700f, 0.000203f, 0.001249f, 0.002404f, 0.003629f, 0.004882f, 0.006117f, 0.007289f, 0.008353f, 0.009267f, 0.009993f, 0.010497f, 0.010752f, 0.010739f, 0.010447f, 0.009872f, 0.009020f, 0.007906f, 0.006552f, 0.004990f, 0.003255f, 0.001391f, -0.000554f, -0.002531f, -0.004488f, -0.006374f, -0.008138f, -0.009735f, -0.011121f, -0.012261f, -0.013125f, -0.013691f, -0.013945f, -0.013883f, -0.013507f, -0.012829f, -0.011869f, -0.010655f, -0.009219f, -0.007599f, -0.005840f, -0.003986f, -0.002083f, -0.000180f, 0.001679f, 0.003450f, 0.005094f, 0.006576f, 0.007867f, 0.008943f, 0.009788f, 0.010393f, 0.010753f, 0.010873f, 0.010762f, 0.010435f, 0.009913f, 0.009219f, 0.008380f, 0.007427f, 0.006389f, 0.005298f, 0.004184f, 0.003075f, 0.001998f, 0.000976f, 0.000030f, -0.000825f, -0.001575f, -0.002213f, -0.002733f, -0.003136f, -0.003424f, -0.003602f, -0.003680f, -0.003668f, + -0.003577f, -0.003421f, -0.003213f, -0.002966f, -0.002694f, -0.002407f, -0.002117f, -0.001833f, -0.001562f, -0.001310f, -0.001082f, -0.000879f, -0.000704f, -0.000555f, -0.000431f, -0.000331f, -0.000251f, -0.000189f, -0.000142f, -0.000107f, -0.000082f, -0.000064f, -0.000052f, -0.000046f, -0.000044f, -0.000047f, -0.000055f, -0.000071f, -0.000094f, -0.000127f, -0.000170f, -0.000224f, -0.000290f, -0.000369f, -0.000459f, -0.000561f, -0.000672f, -0.000790f, -0.000912f, -0.001037f, -0.001159f, -0.001277f, -0.001386f, -0.001482f, -0.001564f, -0.001627f, -0.001671f, -0.001693f, 0.008589f, 0.013706f, 0.011480f, 0.019507f, 0.084522f, 0.068258f, 0.074407f, -0.006022f, 0.067948f, 0.035105f, 0.113541f, -0.025271f, 0.099929f, 0.161352f, -0.090732f, -0.307217f, -0.230926f, -0.193524f, 0.085241f, 0.256383f, 0.088475f, 0.069444f, -0.162221f, -0.143857f, -0.081764f, 0.108640f, 0.218760f, 0.183481f, -0.035748f, -0.217219f, -0.277907f, -0.149093f, 0.077173f, 0.379104f, 0.268807f, -0.110869f, -0.337248f, -0.322414f, -0.116275f, 0.214108f, 0.405948f, 0.119559f, -0.205668f, -0.360167f, -0.308288f, -0.030463f, 0.224371f, 0.290891f, + 0.230312f, 0.083689f, -0.192198f, -0.256347f, -0.249895f, -0.006398f, 0.133492f, 0.289328f, 0.121189f, 0.013016f, -0.252580f, -0.282690f, -0.023350f, -0.006112f, 0.200784f, 0.265022f, 0.097706f, -0.187679f, -0.257554f, -0.123191f, 0.143874f, 0.318190f, 0.222703f, 0.006171f, -0.175978f, -0.299184f, -0.196664f, 0.081596f, 0.264277f, 0.266021f, -0.041392f, -0.221364f, -0.275588f, -0.198585f, 0.143864f, 0.297232f, 0.244483f, -0.042519f, -0.230431f, -0.266412f, -0.069441f, 0.176026f, 0.242817f, 0.105670f, -0.058095f, -0.091494f, 0.006481f, 0.079556f, 0.051063f, 0.011345f, -0.063851f, -0.023359f, 0.117032f, 0.175189f, 0.150623f, -0.008055f, -0.146025f, -0.202026f, -0.075495f, 0.077481f, 0.244727f, 0.212741f, 0.061630f, -0.111017f, -0.269495f, -0.230027f, 0.040848f, 0.229507f, 0.203636f, 0.057604f, -0.188787f, -0.209641f, -0.097030f, -0.012440f, 0.228649f, 0.213129f, 0.114776f, -0.056545f, -0.171551f, -0.135038f, 0.008104f, 0.094644f, 0.109245f, 0.031083f, -0.042358f, -0.096241f, -0.061876f, -0.001161f, 0.066020f, 0.132764f, 0.071367f, -0.033501f, -0.081855f, -0.092746f, -0.018466f, 0.045010f, + 0.086509f, 0.101242f, 0.042110f, -0.028859f, -0.063454f, -0.029496f, 0.012907f, 0.044474f, 0.028225f, 0.015706f, -0.043059f, -0.082143f, -0.044775f, 0.036787f, 0.083370f, 0.092755f, 0.025675f, -0.110962f, -0.136245f, -0.074590f, 0.022154f, 0.107603f, 0.096543f, 0.032923f, -0.041587f, -0.074610f, -0.043238f, 0.031976f, 0.114357f, 0.096251f, 0.011309f, -0.075988f, -0.137679f, -0.023208f, 0.078534f, 0.307022f, 0.159274f, -0.170167f, -0.368532f, -0.258626f, 0.077972f, 0.339673f, 0.285783f, -0.038908f, -0.323796f, -0.299487f, 0.011876f, 0.295894f, 0.273170f, -0.028462f, -0.279003f, -0.220583f, 0.071685f, 0.249678f, 0.118577f, -0.142453f, -0.181962f, 0.040878f, 0.131885f, -0.009338f, -0.051482f, 0.002209f, 0.009751f, 0.000868f, -0.001002f, -0.000512f, -0.002613f, 0.001675f, 0.000713f, 0.001351f, 0.000432f, 0.000353f, -0.001025f, -0.000304f, 0.001145f, 0.000262f, -0.001746f, 0.000411f, 0.000323f, 0.001006f, -0.000548f, 0.000515f, 0.001958f, 0.000622f, 0.000196f, -0.001542f, -0.001213f, 0.002762f, 0.000766f, 0.003663f, 0.000140f, 0.000560f, -0.000919f, -0.000676f, 0.001502f, 0.002685f} + }, + { + {0.027990f, 0.028005f, 0.028028f, 0.028053f, 0.028063f, 0.028043f, 0.027973f, 0.027831f, 0.027596f, 0.027246f, 0.026761f, 0.026124f, 0.025322f, 0.024348f, 0.023197f, 0.021873f, 0.020385f, 0.018748f, 0.016984f, 0.015119f, 0.013185f, 0.011218f, 0.009255f, 0.007337f, 0.005503f, 0.003793f, 0.002242f, 0.000883f, -0.000256f, -0.001156f, -0.001801f, -0.002185f, -0.002310f, -0.002185f, -0.001828f, -0.001262f, -0.000520f, 0.000362f, 0.001343f, 0.002380f, 0.003425f, 0.004436f, 0.005367f, 0.006178f, 0.006835f, 0.007307f, 0.007572f, 0.007615f, 0.007429f, 0.007017f, 0.006390f, 0.005566f, 0.004572f, 0.003442f, 0.002214f, 0.000931f, -0.000362f, -0.001619f, -0.002794f, -0.003844f, -0.004729f, -0.005417f, -0.005879f, -0.006096f, -0.006056f, -0.005756f, -0.005203f, -0.004411f, -0.003403f, -0.002210f, -0.000868f, 0.000582f, 0.002093f, 0.003620f, 0.005113f, 0.006526f, 0.007817f, 0.008944f, 0.009876f, 0.010585f, 0.011052f, 0.011267f, 0.011226f, 0.010937f, 0.010415f, 0.009680f, 0.008763f, 0.007699f, 0.006527f, 0.005289f, 0.004029f, 0.002790f, 0.001615f, 0.000542f, -0.000394f, -0.001166f, + -0.001750f, -0.002132f, -0.002305f, -0.002271f, -0.002036f, -0.001618f, -0.001038f, -0.000325f, 0.000488f, 0.001367f, 0.002273f, 0.003169f, 0.004016f, 0.004780f, 0.005430f, 0.005940f, 0.006287f, 0.006458f, 0.006444f, 0.006245f, 0.005866f, 0.005321f, 0.004627f, 0.003808f, 0.002892f, 0.001910f, 0.000895f, -0.000121f, -0.001103f, -0.002021f, -0.002849f, -0.003561f, -0.004139f, -0.004570f, -0.004847f, -0.004968f, -0.004939f, -0.004770f, -0.004477f, -0.004080f, -0.003603f, -0.003074f, -0.002519f, -0.001968f, -0.001447f, -0.000983f, -0.000597f, -0.000309f, -0.000133f, -0.000077f, -0.000145f, -0.000334f, -0.000637f, -0.001041f, -0.001528f, -0.002076f, -0.002662f, -0.003258f, -0.003837f, -0.004372f, -0.004836f, -0.005204f, -0.005458f, -0.005580f, -0.005557f, -0.005385f, -0.005060f, -0.004589f, -0.003981f, -0.003251f, -0.002419f, -0.001509f, -0.000546f, 0.000440f, 0.001420f, 0.002365f, 0.003247f, 0.004040f, 0.004721f, 0.005271f, 0.005678f, 0.005931f, 0.006028f, 0.005970f, 0.005766f, 0.005426f, 0.004969f, 0.004416f, 0.003789f, 0.003114f, 0.002420f, 0.001732f, 0.001076f, 0.000478f, -0.000043f, -0.000468f, + -0.000783f, -0.000980f, -0.001055f, -0.001009f, -0.000847f, -0.000579f, -0.000221f, 0.000211f, 0.000697f, 0.001213f, 0.001738f, 0.002249f, 0.002723f, 0.003140f, 0.003485f, 0.003741f, 0.003899f, 0.003954f, 0.003903f, 0.003749f, 0.003500f, 0.003166f, 0.002762f, 0.002305f, 0.001813f, 0.001308f, 0.000810f, 0.000340f, -0.000084f, -0.000445f, -0.000728f, -0.000924f, -0.001023f, -0.001025f, -0.000930f, -0.000742f, -0.000472f, -0.000131f, 0.000265f, 0.000698f, 0.001151f, 0.001602f, 0.002033f, 0.002424f, 0.002760f, 0.003025f, 0.003208f, 0.003302f, -0.032158f, -0.046833f, -0.027272f, -0.016391f, -0.081230f, -0.040334f, -0.044233f, -0.101522f, -0.273682f, -0.111065f, 0.010397f, 0.201649f, -0.125347f, -0.213447f, 0.130225f, 0.239388f, 0.175666f, 0.076501f, -0.046882f, -0.188087f, -0.040587f, -0.052777f, 0.136348f, 0.108998f, 0.071914f, -0.078411f, 0.045397f, -0.025762f, 0.050736f, -0.061556f, -0.071913f, 0.045355f, 0.114936f, 0.162979f, 0.108390f, -0.007783f, -0.125580f, -0.119828f, -0.037017f, 0.054773f, 0.129187f, 0.087269f, 0.057169f, 0.039024f, -0.049536f, -0.025118f, -0.030408f, 0.015725f, + 0.014511f, -0.054591f, 0.039370f, 0.037187f, 0.051297f, 0.003383f, -0.048966f, -0.114383f, -0.048045f, 0.074534f, 0.218755f, 0.143640f, 0.038173f, -0.095445f, -0.194052f, -0.153489f, 0.019498f, 0.123819f, 0.178131f, 0.009808f, -0.137529f, -0.191101f, 0.004305f, 0.185018f, 0.250203f, 0.051325f, -0.212989f, -0.330886f, -0.161339f, 0.151261f, 0.362329f, 0.321536f, 0.032559f, -0.246685f, -0.404872f, -0.251175f, 0.091372f, 0.306711f, 0.310470f, 0.099365f, -0.202046f, -0.326032f, -0.218682f, 0.036550f, 0.204057f, 0.201308f, 0.102938f, -0.067942f, -0.154368f, -0.121237f, -0.025975f, 0.115722f, 0.134627f, 0.085124f, 0.012716f, -0.032068f, -0.114969f, -0.153559f, -0.113738f, 0.035265f, 0.140270f, 0.195745f, 0.081435f, -0.058531f, -0.181768f, -0.164670f, -0.051989f, 0.061720f, 0.209701f, 0.162171f, 0.046233f, -0.137134f, -0.169130f, -0.078092f, -0.023700f, 0.073608f, 0.104920f, 0.089401f, 0.026370f, -0.049912f, -0.109171f, -0.100252f, -0.030372f, 0.043768f, 0.094858f, 0.073096f, -0.005715f, -0.114473f, -0.092123f, -0.033089f, 0.022771f, 0.051720f, 0.027033f, -0.004410f, -0.027660f, -0.007557f, + 0.027030f, 0.040251f, 0.030178f, 0.001408f, -0.064907f, -0.059277f, -0.034878f, -0.000683f, 0.038725f, 0.067961f, 0.032636f, -0.049619f, -0.082172f, -0.062792f, -0.004106f, 0.059555f, 0.079096f, -0.021453f, -0.069399f, -0.083642f, -0.036959f, 0.020946f, 0.051561f, 0.063735f, 0.038631f, -0.019134f, -0.069186f, -0.066851f, 0.020319f, 0.047934f, 0.055697f, 0.006777f, -0.062843f, -0.056647f, -0.069231f, -0.023056f, 0.100717f, 0.119971f, 0.035186f, -0.092918f, -0.130130f, -0.047746f, 0.082491f, 0.122115f, 0.041456f, -0.078171f, -0.114526f, -0.039584f, 0.073601f, 0.096201f, 0.018784f, -0.079570f, -0.080645f, 0.002115f, 0.071886f, 0.041651f, -0.042178f, -0.050420f, 0.017227f, 0.025339f, -0.007606f, -0.011025f, 0.000787f, -0.002242f, -0.003983f, -0.003079f, 0.001395f, -0.000121f, -0.002287f, -0.003160f, -0.002294f, -0.002673f, -0.001601f, -0.002908f, -0.003412f, -0.001842f, -0.000148f, -0.002231f, -0.002496f, -0.003088f, -0.001460f, -0.001897f, -0.001890f, -0.000061f, -0.002011f, -0.002058f, -0.002790f, -0.001119f, -0.001602f, -0.004154f, -0.003795f, -0.001532f, -0.000538f, -0.001093f, -0.001079f, -0.003076f}, + {-0.027990f, -0.028005f, -0.028028f, -0.028053f, -0.028063f, -0.028043f, -0.027973f, -0.027831f, -0.027596f, -0.027246f, -0.026761f, -0.026124f, -0.025322f, -0.024348f, -0.023197f, -0.021873f, -0.020385f, -0.018748f, -0.016984f, -0.015119f, -0.013185f, -0.011218f, -0.009255f, -0.007337f, -0.005503f, -0.003793f, -0.002242f, -0.000883f, 0.000256f, 0.001156f, 0.001801f, 0.002185f, 0.002310f, 0.002185f, 0.001828f, 0.001262f, 0.000520f, -0.000362f, -0.001343f, -0.002380f, -0.003425f, -0.004436f, -0.005367f, -0.006178f, -0.006835f, -0.007307f, -0.007572f, -0.007615f, -0.007429f, -0.007017f, -0.006390f, -0.005566f, -0.004572f, -0.003442f, -0.002214f, -0.000931f, 0.000362f, 0.001619f, 0.002794f, 0.003844f, 0.004729f, 0.005417f, 0.005879f, 0.006096f, 0.006056f, 0.005756f, 0.005203f, 0.004411f, 0.003403f, 0.002210f, 0.000868f, -0.000582f, -0.002093f, -0.003620f, -0.005113f, -0.006526f, -0.007817f, -0.008944f, -0.009876f, -0.010585f, -0.011052f, -0.011267f, -0.011226f, -0.010937f, -0.010415f, -0.009680f, -0.008763f, -0.007699f, -0.006527f, -0.005289f, -0.004029f, -0.002790f, -0.001615f, -0.000542f, 0.000394f, 0.001166f, + 0.001750f, 0.002132f, 0.002305f, 0.002271f, 0.002036f, 0.001618f, 0.001038f, 0.000325f, -0.000488f, -0.001367f, -0.002273f, -0.003169f, -0.004016f, -0.004780f, -0.005430f, -0.005940f, -0.006287f, -0.006458f, -0.006444f, -0.006245f, -0.005866f, -0.005321f, -0.004627f, -0.003808f, -0.002892f, -0.001910f, -0.000895f, 0.000121f, 0.001103f, 0.002021f, 0.002849f, 0.003561f, 0.004139f, 0.004570f, 0.004847f, 0.004968f, 0.004939f, 0.004770f, 0.004477f, 0.004080f, 0.003603f, 0.003074f, 0.002519f, 0.001968f, 0.001447f, 0.000983f, 0.000597f, 0.000309f, 0.000133f, 0.000077f, 0.000145f, 0.000334f, 0.000637f, 0.001041f, 0.001528f, 0.002076f, 0.002662f, 0.003258f, 0.003837f, 0.004372f, 0.004836f, 0.005204f, 0.005458f, 0.005580f, 0.005557f, 0.005385f, 0.005060f, 0.004589f, 0.003981f, 0.003251f, 0.002419f, 0.001509f, 0.000546f, -0.000440f, -0.001420f, -0.002365f, -0.003247f, -0.004040f, -0.004721f, -0.005271f, -0.005678f, -0.005931f, -0.006028f, -0.005970f, -0.005766f, -0.005426f, -0.004969f, -0.004416f, -0.003789f, -0.003114f, -0.002420f, -0.001732f, -0.001076f, -0.000478f, 0.000043f, 0.000468f, + 0.000783f, 0.000980f, 0.001055f, 0.001009f, 0.000847f, 0.000579f, 0.000221f, -0.000211f, -0.000697f, -0.001213f, -0.001738f, -0.002249f, -0.002723f, -0.003140f, -0.003485f, -0.003741f, -0.003899f, -0.003954f, -0.003903f, -0.003749f, -0.003500f, -0.003166f, -0.002762f, -0.002305f, -0.001813f, -0.001308f, -0.000810f, -0.000340f, 0.000084f, 0.000445f, 0.000728f, 0.000924f, 0.001023f, 0.001025f, 0.000930f, 0.000742f, 0.000472f, 0.000131f, -0.000265f, -0.000698f, -0.001151f, -0.001602f, -0.002033f, -0.002424f, -0.002760f, -0.003025f, -0.003208f, -0.003302f, 0.032158f, 0.046833f, 0.027272f, 0.016391f, 0.081230f, 0.040334f, 0.044233f, 0.101522f, 0.273682f, 0.111065f, -0.010397f, -0.201649f, 0.125347f, 0.213447f, -0.130225f, -0.239388f, -0.175666f, -0.076501f, 0.046882f, 0.188087f, 0.040587f, 0.052777f, -0.136348f, -0.108998f, -0.071914f, 0.078411f, -0.045397f, 0.025762f, -0.050736f, 0.061556f, 0.071913f, -0.045355f, -0.114936f, -0.162979f, -0.108390f, 0.007783f, 0.125580f, 0.119828f, 0.037017f, -0.054773f, -0.129187f, -0.087269f, -0.057169f, -0.039024f, 0.049536f, 0.025118f, 0.030408f, -0.015725f, + -0.014511f, 0.054591f, -0.039370f, -0.037187f, -0.051297f, -0.003383f, 0.048966f, 0.114383f, 0.048045f, -0.074534f, -0.218755f, -0.143640f, -0.038173f, 0.095445f, 0.194052f, 0.153489f, -0.019498f, -0.123819f, -0.178131f, -0.009808f, 0.137529f, 0.191101f, -0.004305f, -0.185018f, -0.250203f, -0.051325f, 0.212989f, 0.330886f, 0.161339f, -0.151261f, -0.362329f, -0.321536f, -0.032559f, 0.246685f, 0.404872f, 0.251175f, -0.091372f, -0.306711f, -0.310470f, -0.099365f, 0.202046f, 0.326032f, 0.218682f, -0.036550f, -0.204057f, -0.201308f, -0.102938f, 0.067942f, 0.154368f, 0.121237f, 0.025975f, -0.115722f, -0.134627f, -0.085124f, -0.012716f, 0.032068f, 0.114969f, 0.153559f, 0.113738f, -0.035265f, -0.140270f, -0.195745f, -0.081435f, 0.058531f, 0.181768f, 0.164670f, 0.051989f, -0.061720f, -0.209701f, -0.162171f, -0.046233f, 0.137134f, 0.169130f, 0.078092f, 0.023700f, -0.073608f, -0.104920f, -0.089401f, -0.026370f, 0.049912f, 0.109171f, 0.100252f, 0.030372f, -0.043768f, -0.094858f, -0.073096f, 0.005715f, 0.114473f, 0.092123f, 0.033089f, -0.022771f, -0.051720f, -0.027033f, 0.004410f, 0.027660f, 0.007557f, + -0.027030f, -0.040251f, -0.030178f, -0.001408f, 0.064907f, 0.059277f, 0.034878f, 0.000683f, -0.038725f, -0.067961f, -0.032636f, 0.049619f, 0.082172f, 0.062792f, 0.004106f, -0.059555f, -0.079096f, 0.021453f, 0.069399f, 0.083642f, 0.036959f, -0.020946f, -0.051561f, -0.063735f, -0.038631f, 0.019134f, 0.069186f, 0.066851f, -0.020319f, -0.047934f, -0.055697f, -0.006777f, 0.062843f, 0.056647f, 0.069231f, 0.023056f, -0.100717f, -0.119971f, -0.035186f, 0.092918f, 0.130130f, 0.047746f, -0.082491f, -0.122115f, -0.041456f, 0.078171f, 0.114526f, 0.039584f, -0.073601f, -0.096201f, -0.018784f, 0.079570f, 0.080645f, -0.002115f, -0.071886f, -0.041651f, 0.042178f, 0.050420f, -0.017227f, -0.025339f, 0.007606f, 0.011025f, -0.000787f, 0.002242f, 0.003983f, 0.003079f, -0.001395f, 0.000121f, 0.002287f, 0.003160f, 0.002294f, 0.002673f, 0.001601f, 0.002908f, 0.003412f, 0.001842f, 0.000148f, 0.002231f, 0.002496f, 0.003088f, 0.001460f, 0.001897f, 0.001890f, 0.000061f, 0.002011f, 0.002058f, 0.002790f, 0.001119f, 0.001602f, 0.004154f, 0.003795f, 0.001532f, 0.000538f, 0.001093f, 0.001079f, 0.003076f} + }, + { + {0.025610f, 0.025966f, 0.026661f, 0.027659f, 0.028909f, 0.030346f, 0.031894f, 0.033470f, 0.034985f, 0.036349f, 0.037476f, 0.038287f, 0.038710f, 0.038690f, 0.038186f, 0.037173f, 0.035647f, 0.033624f, 0.031139f, 0.028244f, 0.025013f, 0.021529f, 0.017890f, 0.014204f, 0.010581f, 0.007134f, 0.003970f, 0.001193f, -0.001109f, -0.002859f, -0.003998f, -0.004489f, -0.004315f, -0.003483f, -0.002021f, 0.000018f, 0.002563f, 0.005523f, 0.008791f, 0.012247f, 0.015764f, 0.019211f, 0.022455f, 0.025371f, 0.027839f, 0.029756f, 0.031033f, 0.031602f, 0.031415f, 0.030452f, 0.028713f, 0.026225f, 0.023040f, 0.019230f, 0.014888f, 0.010125f, 0.005062f, -0.000166f, -0.005423f, -0.010571f, -0.015474f, -0.020008f, -0.024058f, -0.027526f, -0.030333f, -0.032420f, -0.033753f, -0.034319f, -0.034130f, -0.033220f, -0.031645f, -0.029479f, -0.026815f, -0.023755f, -0.020413f, -0.016907f, -0.013358f, -0.009882f, -0.006589f, -0.003579f, -0.000938f, 0.001262f, 0.002970f, 0.004152f, 0.004794f, 0.004902f, 0.004503f, 0.003637f, 0.002365f, 0.000756f, -0.001107f, -0.003138f, -0.005245f, -0.007337f, -0.009326f, -0.011131f, + -0.012679f, -0.013911f, -0.014781f, -0.015257f, -0.015323f, -0.014980f, -0.014243f, -0.013143f, -0.011724f, -0.010039f, -0.008152f, -0.006131f, -0.004050f, -0.001979f, 0.000009f, 0.001850f, 0.003486f, 0.004868f, 0.005959f, 0.006734f, 0.007179f, 0.007297f, 0.007101f, 0.006614f, 0.005874f, 0.004926f, 0.003819f, 0.002613f, 0.001364f, 0.000132f, -0.001026f, -0.002059f, -0.002919f, -0.003571f, -0.003985f, -0.004144f, -0.004040f, -0.003677f, -0.003070f, -0.002242f, -0.001225f, -0.000058f, 0.001213f, 0.002541f, 0.003876f, 0.005170f, 0.006377f, 0.007455f, 0.008368f, 0.009087f, 0.009593f, 0.009873f, 0.009925f, 0.009757f, 0.009381f, 0.008822f, 0.008109f, 0.007275f, 0.006358f, 0.005397f, 0.004431f, 0.003499f, 0.002634f, 0.001865f, 0.001217f, 0.000706f, 0.000341f, 0.000123f, 0.000045f, 0.000094f, 0.000248f, 0.000483f, 0.000766f, 0.001064f, 0.001343f, 0.001568f, 0.001707f, 0.001730f, 0.001613f, 0.001339f, 0.000896f, 0.000281f, -0.000500f, -0.001435f, -0.002504f, -0.003679f, -0.004926f, -0.006208f, -0.007483f, -0.008708f, -0.009840f, -0.010839f, -0.011667f, -0.012292f, -0.012687f, -0.012836f, + -0.012728f, -0.012362f, -0.011747f, -0.010900f, -0.009847f, -0.008622f, -0.007264f, -0.005817f, -0.004330f, -0.002852f, -0.001433f, -0.000118f, 0.001048f, 0.002029f, 0.002793f, 0.003319f, 0.003593f, 0.003610f, 0.003377f, 0.002907f, 0.002226f, 0.001363f, 0.000358f, -0.000748f, -0.001907f, -0.003072f, -0.004195f, -0.005231f, -0.006137f, -0.006877f, -0.007423f, -0.007752f, -0.007852f, -0.007721f, -0.007363f, -0.006795f, -0.006040f, -0.005128f, -0.004097f, -0.002990f, -0.001850f, -0.000725f, 0.000341f, 0.001304f, 0.002126f, 0.002773f, 0.003220f, 0.003448f, -0.062172f, -0.091515f, -0.072763f, 0.070171f, -0.008941f, -0.099493f, -0.108939f, -0.147460f, -0.248276f, -0.178114f, -0.034602f, 0.058273f, -0.136470f, -0.217398f, 0.034715f, -0.063726f, -0.030817f, 0.068934f, 0.197802f, 0.101927f, -0.063032f, 0.004692f, -0.071259f, -0.096027f, -0.035763f, 0.098619f, 0.375310f, 0.252493f, 0.089705f, -0.043696f, -0.173499f, -0.130961f, -0.135621f, 0.295667f, 0.451114f, 0.238014f, -0.127549f, -0.279218f, -0.349355f, -0.078250f, 0.363353f, 0.168766f, 0.174663f, -0.032703f, -0.169587f, -0.097054f, 0.223490f, 0.428374f, + 0.231674f, -0.343396f, -0.481211f, -0.423973f, 0.047945f, 0.399053f, 0.562478f, 0.255866f, -0.070070f, -0.423145f, -0.236500f, -0.018686f, -0.046020f, 0.340138f, 0.153029f, -0.135824f, -0.140186f, 0.214839f, -0.119183f, -0.258816f, -0.374971f, -0.158821f, -0.013087f, 0.153132f, 0.104243f, 0.158932f, 0.044119f, -0.046752f, -0.113389f, -0.220468f, -0.152913f, 0.054289f, 0.156006f, 0.099701f, -0.178202f, -0.297953f, -0.100918f, 0.255658f, 0.470123f, 0.279739f, -0.145172f, -0.515016f, -0.514805f, -0.096374f, 0.448823f, 0.583482f, 0.312449f, -0.142389f, -0.399044f, -0.480280f, -0.057314f, 0.187400f, 0.276702f, 0.141990f, -0.082796f, -0.258281f, -0.248877f, -0.048325f, 0.214102f, 0.309213f, 0.187387f, -0.075422f, -0.272167f, -0.307918f, -0.178783f, 0.017618f, 0.249229f, 0.359000f, 0.148202f, -0.155440f, -0.409498f, -0.358952f, 0.002647f, 0.262971f, 0.388537f, 0.274792f, -0.088734f, -0.362447f, -0.397575f, -0.155395f, 0.151434f, 0.411319f, 0.362653f, 0.063857f, -0.326209f, -0.457817f, -0.329221f, 0.056563f, 0.384616f, 0.475754f, 0.182653f, -0.249120f, -0.487117f, -0.387725f, -0.025216f, 0.349249f, + 0.481058f, 0.269217f, -0.158897f, -0.449593f, -0.425922f, -0.091493f, 0.271958f, 0.425929f, 0.250062f, -0.106214f, -0.344123f, -0.310552f, -0.025361f, 0.232261f, 0.363327f, 0.161035f, -0.124671f, -0.269196f, -0.227176f, -0.012995f, 0.217935f, 0.279720f, 0.129086f, -0.129026f, -0.289828f, -0.227366f, 0.023489f, 0.232246f, 0.260926f, 0.106217f, -0.139601f, -0.247048f, -0.130607f, 0.058323f, 0.220883f, 0.327093f, -0.092404f, -0.398289f, -0.395170f, -0.061263f, 0.279569f, 0.361623f, 0.113971f, -0.221012f, -0.353200f, -0.168261f, 0.140828f, 0.292861f, 0.150711f, -0.131760f, -0.261245f, -0.124104f, 0.114667f, 0.191874f, 0.040400f, -0.139259f, -0.123195f, 0.038250f, 0.082579f, -0.012815f, -0.041801f, -0.007158f, -0.000334f, -0.005782f, -0.007424f, -0.006915f, -0.006995f, -0.005584f, -0.005366f, -0.006011f, -0.006448f, -0.006286f, -0.007543f, -0.005083f, -0.006372f, -0.005205f, -0.007209f, -0.007291f, -0.006362f, -0.005063f, -0.005453f, -0.008310f, -0.005609f, -0.004844f, -0.006088f, -0.005906f, -0.005358f, -0.006688f, -0.004550f, -0.004954f, -0.007725f, -0.006471f, -0.004609f, -0.004685f, -0.004876f, -0.007015f}, + {0.025610f, 0.025966f, 0.026661f, 0.027659f, 0.028909f, 0.030346f, 0.031894f, 0.033470f, 0.034985f, 0.036349f, 0.037476f, 0.038287f, 0.038710f, 0.038690f, 0.038186f, 0.037173f, 0.035647f, 0.033624f, 0.031139f, 0.028244f, 0.025013f, 0.021529f, 0.017890f, 0.014204f, 0.010581f, 0.007134f, 0.003970f, 0.001193f, -0.001109f, -0.002859f, -0.003998f, -0.004489f, -0.004315f, -0.003483f, -0.002021f, 0.000018f, 0.002563f, 0.005523f, 0.008791f, 0.012247f, 0.015764f, 0.019211f, 0.022455f, 0.025371f, 0.027839f, 0.029756f, 0.031033f, 0.031602f, 0.031415f, 0.030452f, 0.028713f, 0.026225f, 0.023040f, 0.019230f, 0.014888f, 0.010125f, 0.005062f, -0.000166f, -0.005423f, -0.010571f, -0.015474f, -0.020008f, -0.024058f, -0.027526f, -0.030333f, -0.032420f, -0.033753f, -0.034319f, -0.034130f, -0.033220f, -0.031645f, -0.029479f, -0.026815f, -0.023755f, -0.020413f, -0.016907f, -0.013358f, -0.009882f, -0.006589f, -0.003579f, -0.000938f, 0.001262f, 0.002970f, 0.004152f, 0.004794f, 0.004902f, 0.004503f, 0.003637f, 0.002365f, 0.000756f, -0.001107f, -0.003138f, -0.005245f, -0.007337f, -0.009326f, -0.011131f, + -0.012679f, -0.013911f, -0.014781f, -0.015257f, -0.015323f, -0.014980f, -0.014243f, -0.013143f, -0.011724f, -0.010039f, -0.008152f, -0.006131f, -0.004050f, -0.001979f, 0.000009f, 0.001850f, 0.003486f, 0.004868f, 0.005959f, 0.006734f, 0.007179f, 0.007297f, 0.007101f, 0.006614f, 0.005874f, 0.004926f, 0.003819f, 0.002613f, 0.001364f, 0.000132f, -0.001026f, -0.002059f, -0.002919f, -0.003571f, -0.003985f, -0.004144f, -0.004040f, -0.003677f, -0.003070f, -0.002242f, -0.001225f, -0.000058f, 0.001213f, 0.002541f, 0.003876f, 0.005170f, 0.006377f, 0.007455f, 0.008368f, 0.009087f, 0.009593f, 0.009873f, 0.009925f, 0.009757f, 0.009381f, 0.008822f, 0.008109f, 0.007275f, 0.006358f, 0.005397f, 0.004431f, 0.003499f, 0.002634f, 0.001865f, 0.001217f, 0.000706f, 0.000341f, 0.000123f, 0.000045f, 0.000094f, 0.000248f, 0.000483f, 0.000766f, 0.001064f, 0.001343f, 0.001568f, 0.001707f, 0.001730f, 0.001613f, 0.001339f, 0.000896f, 0.000281f, -0.000500f, -0.001435f, -0.002504f, -0.003679f, -0.004926f, -0.006208f, -0.007483f, -0.008708f, -0.009840f, -0.010839f, -0.011667f, -0.012292f, -0.012687f, -0.012836f, + -0.012728f, -0.012362f, -0.011747f, -0.010900f, -0.009847f, -0.008622f, -0.007264f, -0.005817f, -0.004330f, -0.002852f, -0.001433f, -0.000118f, 0.001048f, 0.002029f, 0.002793f, 0.003319f, 0.003593f, 0.003610f, 0.003377f, 0.002907f, 0.002226f, 0.001363f, 0.000358f, -0.000748f, -0.001907f, -0.003072f, -0.004195f, -0.005231f, -0.006137f, -0.006877f, -0.007423f, -0.007752f, -0.007852f, -0.007721f, -0.007363f, -0.006795f, -0.006040f, -0.005128f, -0.004097f, -0.002990f, -0.001850f, -0.000725f, 0.000341f, 0.001304f, 0.002126f, 0.002773f, 0.003220f, 0.003448f, -0.062172f, -0.091515f, -0.072763f, 0.070171f, -0.008941f, -0.099493f, -0.108939f, -0.147460f, -0.248276f, -0.178114f, -0.034602f, 0.058273f, -0.136470f, -0.217398f, 0.034715f, -0.063726f, -0.030817f, 0.068934f, 0.197802f, 0.101927f, -0.063032f, 0.004692f, -0.071259f, -0.096027f, -0.035763f, 0.098619f, 0.375310f, 0.252493f, 0.089705f, -0.043696f, -0.173499f, -0.130961f, -0.135621f, 0.295667f, 0.451114f, 0.238014f, -0.127549f, -0.279218f, -0.349355f, -0.078250f, 0.363353f, 0.168766f, 0.174663f, -0.032703f, -0.169587f, -0.097054f, 0.223490f, 0.428374f, + 0.231674f, -0.343396f, -0.481211f, -0.423973f, 0.047945f, 0.399053f, 0.562478f, 0.255866f, -0.070070f, -0.423145f, -0.236500f, -0.018686f, -0.046020f, 0.340138f, 0.153029f, -0.135824f, -0.140186f, 0.214839f, -0.119183f, -0.258816f, -0.374971f, -0.158821f, -0.013087f, 0.153132f, 0.104243f, 0.158932f, 0.044119f, -0.046752f, -0.113389f, -0.220468f, -0.152913f, 0.054289f, 0.156006f, 0.099701f, -0.178202f, -0.297953f, -0.100918f, 0.255658f, 0.470123f, 0.279739f, -0.145172f, -0.515016f, -0.514805f, -0.096374f, 0.448823f, 0.583482f, 0.312449f, -0.142389f, -0.399044f, -0.480280f, -0.057314f, 0.187400f, 0.276702f, 0.141990f, -0.082796f, -0.258281f, -0.248877f, -0.048325f, 0.214102f, 0.309213f, 0.187387f, -0.075422f, -0.272167f, -0.307918f, -0.178783f, 0.017618f, 0.249229f, 0.359000f, 0.148202f, -0.155440f, -0.409498f, -0.358952f, 0.002647f, 0.262971f, 0.388537f, 0.274792f, -0.088734f, -0.362447f, -0.397575f, -0.155395f, 0.151434f, 0.411319f, 0.362653f, 0.063857f, -0.326209f, -0.457817f, -0.329221f, 0.056563f, 0.384616f, 0.475754f, 0.182653f, -0.249120f, -0.487117f, -0.387725f, -0.025216f, 0.349249f, + 0.481058f, 0.269217f, -0.158897f, -0.449593f, -0.425922f, -0.091493f, 0.271958f, 0.425929f, 0.250062f, -0.106214f, -0.344123f, -0.310552f, -0.025361f, 0.232261f, 0.363327f, 0.161035f, -0.124671f, -0.269196f, -0.227176f, -0.012995f, 0.217935f, 0.279720f, 0.129086f, -0.129026f, -0.289828f, -0.227366f, 0.023489f, 0.232246f, 0.260926f, 0.106217f, -0.139601f, -0.247048f, -0.130607f, 0.058323f, 0.220883f, 0.327093f, -0.092404f, -0.398289f, -0.395170f, -0.061263f, 0.279569f, 0.361623f, 0.113971f, -0.221012f, -0.353200f, -0.168261f, 0.140828f, 0.292861f, 0.150711f, -0.131760f, -0.261245f, -0.124104f, 0.114667f, 0.191874f, 0.040400f, -0.139259f, -0.123195f, 0.038250f, 0.082579f, -0.012815f, -0.041801f, -0.007158f, -0.000334f, -0.005782f, -0.007424f, -0.006915f, -0.006995f, -0.005584f, -0.005366f, -0.006011f, -0.006448f, -0.006286f, -0.007543f, -0.005083f, -0.006372f, -0.005205f, -0.007209f, -0.007291f, -0.006362f, -0.005063f, -0.005453f, -0.008310f, -0.005609f, -0.004844f, -0.006088f, -0.005906f, -0.005358f, -0.006688f, -0.004550f, -0.004954f, -0.007725f, -0.006471f, -0.004609f, -0.004685f, -0.004876f, -0.007015f} + }, + { + {0.047152f, 0.046419f, 0.044975f, 0.042863f, 0.040145f, 0.036900f, 0.033224f, 0.029222f, 0.025009f, 0.020704f, 0.016426f, 0.012291f, 0.008408f, 0.004875f, 0.001776f, -0.000820f, -0.002863f, -0.004323f, -0.005190f, -0.005475f, -0.005207f, -0.004435f, -0.003223f, -0.001648f, 0.000201f, 0.002228f, 0.004334f, 0.006419f, 0.008387f, 0.010150f, 0.011629f, 0.012757f, 0.013484f, 0.013775f, 0.013613f, 0.013002f, 0.011961f, 0.010526f, 0.008751f, 0.006702f, 0.004456f, 0.002098f, -0.000281f, -0.002589f, -0.004736f, -0.006636f, -0.008212f, -0.009397f, -0.010137f, -0.010395f, -0.010148f, -0.009391f, -0.008135f, -0.006409f, -0.004258f, -0.001740f, 0.001075f, 0.004108f, 0.007272f, 0.010478f, 0.013635f, 0.016655f, 0.019455f, 0.021961f, 0.024107f, 0.025844f, 0.027131f, 0.027947f, 0.028283f, 0.028147f, 0.027560f, 0.026559f, 0.025189f, 0.023509f, 0.021583f, 0.019480f, 0.017274f, 0.015037f, 0.012837f, 0.010740f, 0.008803f, 0.007073f, 0.005589f, 0.004377f, 0.003450f, 0.002810f, 0.002447f, 0.002341f, 0.002460f, 0.002767f, 0.003215f, 0.003756f, 0.004338f, 0.004910f, 0.005423f, 0.005832f, + 0.006099f, 0.006192f, 0.006090f, 0.005779f, 0.005258f, 0.004533f, 0.003622f, 0.002551f, 0.001353f, 0.000070f, -0.001256f, -0.002575f, -0.003840f, -0.005004f, -0.006021f, -0.006853f, -0.007466f, -0.007835f, -0.007943f, -0.007781f, -0.007353f, -0.006669f, -0.005750f, -0.004625f, -0.003331f, -0.001908f, -0.000405f, 0.001131f, 0.002649f, 0.004102f, 0.005442f, 0.006629f, 0.007626f, 0.008406f, 0.008947f, 0.009238f, 0.009276f, 0.009066f, 0.008622f, 0.007967f, 0.007129f, 0.006142f, 0.005045f, 0.003878f, 0.002683f, 0.001502f, 0.000374f, -0.000666f, -0.001588f, -0.002367f, -0.002985f, -0.003431f, -0.003702f, -0.003802f, -0.003741f, -0.003538f, -0.003215f, -0.002797f, -0.002316f, -0.001801f, -0.001286f, -0.000799f, -0.000370f, -0.000021f, 0.000228f, 0.000362f, 0.000375f, 0.000264f, 0.000034f, -0.000302f, -0.000729f, -0.001224f, -0.001762f, -0.002315f, -0.002853f, -0.003344f, -0.003760f, -0.004075f, -0.004263f, -0.004307f, -0.004193f, -0.003914f, -0.003467f, -0.002860f, -0.002103f, -0.001214f, -0.000217f, 0.000860f, 0.001987f, 0.003130f, 0.004254f, 0.005325f, 0.006310f, 0.007179f, 0.007908f, 0.008474f, + 0.008862f, 0.009065f, 0.009080f, 0.008910f, 0.008569f, 0.008071f, 0.007441f, 0.006704f, 0.005891f, 0.005035f, 0.004169f, 0.003326f, 0.002538f, 0.001833f, 0.001236f, 0.000767f, 0.000440f, 0.000265f, 0.000243f, 0.000370f, 0.000636f, 0.001026f, 0.001519f, 0.002091f, 0.002714f, 0.003360f, 0.004000f, 0.004604f, 0.005146f, 0.005601f, 0.005950f, 0.006177f, 0.006272f, 0.006232f, 0.006057f, 0.005755f, 0.005338f, 0.004825f, 0.004237f, 0.003598f, 0.002936f, 0.002278f, 0.001651f, 0.001083f, 0.000598f, 0.000214f, -0.000051f, -0.000186f, -0.014399f, -0.088918f, -0.104568f, 0.033774f, 0.006889f, -0.014211f, -0.339412f, -0.200382f, -0.197825f, -0.256243f, -0.049747f, 0.153723f, 0.189341f, 0.030845f, 0.049345f, 0.023389f, 0.124600f, -0.055314f, 0.034364f, 0.042592f, 0.009443f, 0.028243f, 0.002752f, -0.002188f, 0.008221f, -0.011938f, -0.027058f, 0.014048f, 0.003354f, -0.058375f, -0.073083f, -0.034868f, 0.005558f, -0.010350f, -0.046182f, -0.010972f, 0.053029f, 0.157632f, 0.016291f, -0.057067f, -0.213388f, 0.018673f, 0.169634f, 0.193574f, 0.145085f, -0.084971f, -0.237624f, -0.226809f, + -0.110297f, 0.096854f, 0.213419f, 0.198516f, 0.019172f, -0.167969f, -0.238403f, -0.157229f, -0.008594f, 0.166266f, 0.146397f, 0.056850f, 0.078227f, -0.230405f, -0.182536f, -0.000273f, 0.081119f, -0.082448f, 0.310260f, 0.369648f, 0.327330f, -0.054515f, -0.303985f, -0.330843f, 0.023930f, 0.249376f, 0.283462f, 0.082354f, -0.210615f, -0.253664f, -0.298859f, -0.051273f, 0.258919f, 0.344791f, 0.212825f, -0.062716f, -0.254123f, -0.228433f, 0.024020f, 0.174971f, 0.169038f, -0.016732f, -0.152145f, -0.181161f, -0.026750f, 0.108313f, 0.105190f, 0.005511f, -0.080886f, -0.175720f, -0.053616f, 0.124221f, 0.328626f, 0.269120f, -0.012363f, -0.366991f, -0.418201f, -0.179777f, 0.226324f, 0.502263f, 0.469250f, 0.157321f, -0.343881f, -0.631262f, -0.403278f, 0.113845f, 0.477319f, 0.374508f, -0.060622f, -0.349411f, -0.409097f, -0.083539f, 0.217155f, 0.263939f, 0.250254f, -0.057498f, -0.154273f, -0.182069f, -0.042848f, 0.108637f, 0.149146f, 0.048201f, -0.034839f, -0.113656f, -0.076942f, 0.021116f, 0.113304f, 0.085027f, 0.004350f, -0.092580f, -0.102413f, -0.029857f, 0.069689f, 0.114991f, 0.094846f, -0.030280f, + -0.136362f, -0.139061f, -0.036977f, 0.094935f, 0.173700f, 0.157429f, 0.014736f, -0.146953f, -0.191168f, -0.145844f, -0.001188f, 0.157952f, 0.198629f, 0.089918f, -0.075089f, -0.194002f, -0.170286f, -0.047141f, 0.122563f, 0.190138f, 0.123703f, -0.025843f, -0.186317f, -0.197764f, -0.034739f, 0.119741f, 0.200216f, 0.110432f, -0.010105f, -0.153690f, -0.166144f, -0.039158f, 0.099676f, 0.143215f, 0.059367f, -0.190863f, -0.163854f, 0.031416f, 0.208956f, 0.221929f, 0.042610f, -0.164837f, -0.219071f, -0.058930f, 0.162295f, 0.234901f, 0.081855f, -0.143458f, -0.211225f, -0.049183f, 0.162727f, 0.191917f, 0.007000f, -0.167170f, -0.118384f, 0.082358f, 0.149077f, -0.009682f, -0.097921f, 0.005018f, 0.046167f, 0.000346f, -0.005773f, 0.003501f, 0.005151f, 0.002723f, 0.003190f, 0.002225f, 0.003858f, 0.003725f, 0.004658f, 0.004453f, 0.001746f, 0.003153f, 0.002864f, 0.003655f, 0.003188f, 0.003292f, 0.001931f, 0.002658f, 0.001276f, 0.002184f, 0.003202f, 0.006402f, 0.002000f, 0.002265f, 0.000766f, 0.003939f, 0.004158f, 0.002916f, 0.002643f, 0.001368f, 0.002446f, 0.003088f, 0.003033f, 0.003336f}, + {0.047152f, 0.046419f, 0.044975f, 0.042863f, 0.040145f, 0.036900f, 0.033224f, 0.029222f, 0.025009f, 0.020704f, 0.016426f, 0.012291f, 0.008408f, 0.004875f, 0.001776f, -0.000820f, -0.002863f, -0.004323f, -0.005190f, -0.005475f, -0.005207f, -0.004435f, -0.003223f, -0.001648f, 0.000201f, 0.002228f, 0.004334f, 0.006419f, 0.008387f, 0.010150f, 0.011629f, 0.012757f, 0.013484f, 0.013775f, 0.013613f, 0.013002f, 0.011961f, 0.010526f, 0.008751f, 0.006702f, 0.004456f, 0.002098f, -0.000281f, -0.002589f, -0.004736f, -0.006636f, -0.008212f, -0.009397f, -0.010137f, -0.010395f, -0.010148f, -0.009391f, -0.008135f, -0.006409f, -0.004258f, -0.001740f, 0.001075f, 0.004108f, 0.007272f, 0.010478f, 0.013635f, 0.016655f, 0.019455f, 0.021961f, 0.024107f, 0.025844f, 0.027131f, 0.027947f, 0.028283f, 0.028147f, 0.027560f, 0.026559f, 0.025189f, 0.023509f, 0.021583f, 0.019480f, 0.017274f, 0.015037f, 0.012837f, 0.010740f, 0.008803f, 0.007073f, 0.005589f, 0.004377f, 0.003450f, 0.002810f, 0.002447f, 0.002341f, 0.002460f, 0.002767f, 0.003215f, 0.003756f, 0.004338f, 0.004910f, 0.005423f, 0.005832f, + 0.006099f, 0.006192f, 0.006090f, 0.005779f, 0.005258f, 0.004533f, 0.003622f, 0.002551f, 0.001353f, 0.000070f, -0.001256f, -0.002575f, -0.003840f, -0.005004f, -0.006021f, -0.006853f, -0.007466f, -0.007835f, -0.007943f, -0.007781f, -0.007353f, -0.006669f, -0.005750f, -0.004625f, -0.003331f, -0.001908f, -0.000405f, 0.001131f, 0.002649f, 0.004102f, 0.005442f, 0.006629f, 0.007626f, 0.008406f, 0.008947f, 0.009238f, 0.009276f, 0.009066f, 0.008622f, 0.007967f, 0.007129f, 0.006142f, 0.005045f, 0.003878f, 0.002683f, 0.001502f, 0.000374f, -0.000666f, -0.001588f, -0.002367f, -0.002985f, -0.003431f, -0.003702f, -0.003802f, -0.003741f, -0.003538f, -0.003215f, -0.002797f, -0.002316f, -0.001801f, -0.001286f, -0.000799f, -0.000370f, -0.000021f, 0.000228f, 0.000362f, 0.000375f, 0.000264f, 0.000034f, -0.000302f, -0.000729f, -0.001224f, -0.001762f, -0.002315f, -0.002853f, -0.003344f, -0.003760f, -0.004075f, -0.004263f, -0.004307f, -0.004193f, -0.003914f, -0.003467f, -0.002860f, -0.002103f, -0.001214f, -0.000217f, 0.000860f, 0.001987f, 0.003130f, 0.004254f, 0.005325f, 0.006310f, 0.007179f, 0.007908f, 0.008474f, + 0.008862f, 0.009065f, 0.009080f, 0.008910f, 0.008569f, 0.008071f, 0.007441f, 0.006704f, 0.005891f, 0.005035f, 0.004169f, 0.003326f, 0.002538f, 0.001833f, 0.001236f, 0.000767f, 0.000440f, 0.000265f, 0.000243f, 0.000370f, 0.000636f, 0.001026f, 0.001519f, 0.002091f, 0.002714f, 0.003360f, 0.004000f, 0.004604f, 0.005146f, 0.005601f, 0.005950f, 0.006177f, 0.006272f, 0.006232f, 0.006057f, 0.005755f, 0.005338f, 0.004825f, 0.004237f, 0.003598f, 0.002936f, 0.002278f, 0.001651f, 0.001083f, 0.000598f, 0.000214f, -0.000051f, -0.000186f, -0.014399f, -0.088918f, -0.104568f, 0.033774f, 0.006889f, -0.014211f, -0.339412f, -0.200382f, -0.197825f, -0.256243f, -0.049747f, 0.153723f, 0.189341f, 0.030845f, 0.049345f, 0.023389f, 0.124600f, -0.055314f, 0.034364f, 0.042592f, 0.009443f, 0.028243f, 0.002752f, -0.002188f, 0.008221f, -0.011938f, -0.027058f, 0.014048f, 0.003354f, -0.058375f, -0.073083f, -0.034868f, 0.005558f, -0.010350f, -0.046182f, -0.010972f, 0.053029f, 0.157632f, 0.016291f, -0.057067f, -0.213388f, 0.018673f, 0.169634f, 0.193574f, 0.145085f, -0.084971f, -0.237624f, -0.226809f, + -0.110297f, 0.096854f, 0.213419f, 0.198516f, 0.019172f, -0.167969f, -0.238403f, -0.157229f, -0.008594f, 0.166266f, 0.146397f, 0.056850f, 0.078227f, -0.230405f, -0.182536f, -0.000273f, 0.081119f, -0.082448f, 0.310260f, 0.369648f, 0.327330f, -0.054515f, -0.303985f, -0.330843f, 0.023930f, 0.249376f, 0.283462f, 0.082354f, -0.210615f, -0.253664f, -0.298859f, -0.051273f, 0.258919f, 0.344791f, 0.212825f, -0.062716f, -0.254123f, -0.228433f, 0.024020f, 0.174971f, 0.169038f, -0.016732f, -0.152145f, -0.181161f, -0.026750f, 0.108313f, 0.105190f, 0.005511f, -0.080886f, -0.175720f, -0.053616f, 0.124221f, 0.328626f, 0.269120f, -0.012363f, -0.366991f, -0.418201f, -0.179777f, 0.226324f, 0.502263f, 0.469250f, 0.157321f, -0.343881f, -0.631262f, -0.403278f, 0.113845f, 0.477319f, 0.374508f, -0.060622f, -0.349411f, -0.409097f, -0.083539f, 0.217155f, 0.263939f, 0.250254f, -0.057498f, -0.154273f, -0.182069f, -0.042848f, 0.108637f, 0.149146f, 0.048201f, -0.034839f, -0.113656f, -0.076942f, 0.021116f, 0.113304f, 0.085027f, 0.004350f, -0.092580f, -0.102413f, -0.029857f, 0.069689f, 0.114991f, 0.094846f, -0.030280f, + -0.136362f, -0.139061f, -0.036977f, 0.094935f, 0.173700f, 0.157429f, 0.014736f, -0.146953f, -0.191168f, -0.145844f, -0.001188f, 0.157952f, 0.198629f, 0.089918f, -0.075089f, -0.194002f, -0.170286f, -0.047141f, 0.122563f, 0.190138f, 0.123703f, -0.025843f, -0.186317f, -0.197764f, -0.034739f, 0.119741f, 0.200216f, 0.110432f, -0.010105f, -0.153690f, -0.166144f, -0.039158f, 0.099676f, 0.143215f, 0.059367f, -0.190863f, -0.163854f, 0.031416f, 0.208956f, 0.221929f, 0.042610f, -0.164837f, -0.219071f, -0.058930f, 0.162295f, 0.234901f, 0.081855f, -0.143458f, -0.211225f, -0.049183f, 0.162727f, 0.191917f, 0.007000f, -0.167170f, -0.118384f, 0.082358f, 0.149077f, -0.009682f, -0.097921f, 0.005018f, 0.046167f, 0.000346f, -0.005773f, 0.003501f, 0.005151f, 0.002723f, 0.003190f, 0.002225f, 0.003858f, 0.003725f, 0.004658f, 0.004453f, 0.001746f, 0.003153f, 0.002864f, 0.003655f, 0.003188f, 0.003292f, 0.001931f, 0.002658f, 0.001276f, 0.002184f, 0.003202f, 0.006402f, 0.002000f, 0.002265f, 0.000766f, 0.003939f, 0.004158f, 0.002916f, 0.002643f, 0.001368f, 0.002446f, 0.003088f, 0.003033f, 0.003336f} + }, + { + {0.020127f, 0.019564f, 0.018453f, 0.016824f, 0.014720f, 0.012199f, 0.009327f, 0.006183f, 0.002851f, -0.000580f, -0.004016f, -0.007366f, -0.010538f, -0.013447f, -0.016013f, -0.018166f, -0.019846f, -0.021005f, -0.021609f, -0.021638f, -0.021086f, -0.019962f, -0.018288f, -0.016102f, -0.013452f, -0.010398f, -0.007010f, -0.003364f, 0.000457f, 0.004367f, 0.008280f, 0.012111f, 0.015777f, 0.019202f, 0.022315f, 0.025057f, 0.027376f, 0.029232f, 0.030599f, 0.031461f, 0.031816f, 0.031671f, 0.031050f, 0.029982f, 0.028509f, 0.026681f, 0.024553f, 0.022187f, 0.019647f, 0.016999f, 0.014309f, 0.011639f, 0.009051f, 0.006600f, 0.004335f, 0.002298f, 0.000523f, -0.000965f, -0.002147f, -0.003018f, -0.003575f, -0.003830f, -0.003796f, -0.003497f, -0.002961f, -0.002220f, -0.001310f, -0.000270f, 0.000862f, 0.002046f, 0.003247f, 0.004427f, 0.005556f, 0.006605f, 0.007551f, 0.008374f, 0.009061f, 0.009603f, 0.009995f, 0.010239f, 0.010340f, 0.010305f, 0.010146f, 0.009877f, 0.009513f, 0.009072f, 0.008569f, 0.008021f, 0.007443f, 0.006849f, 0.006250f, 0.005657f, 0.005077f, 0.004514f, 0.003972f, 0.003449f, + 0.002944f, 0.002455f, 0.001975f, 0.001500f, 0.001023f, 0.000538f, 0.000041f, -0.000474f, -0.001008f, -0.001565f, -0.002143f, -0.002739f, -0.003350f, -0.003968f, -0.004586f, -0.005194f, -0.005780f, -0.006332f, -0.006838f, -0.007285f, -0.007661f, -0.007955f, -0.008158f, -0.008261f, -0.008260f, -0.008152f, -0.007935f, -0.007614f, -0.007193f, -0.006682f, -0.006092f, -0.005437f, -0.004733f, -0.003998f, -0.003250f, -0.002510f, -0.001797f, -0.001131f, -0.000530f, -0.000012f, 0.000409f, 0.000721f, 0.000914f, 0.000981f, 0.000920f, 0.000730f, 0.000417f, -0.000014f, -0.000552f, -0.001183f, -0.001893f, -0.002664f, -0.003477f, -0.004313f, -0.005151f, -0.005971f, -0.006755f, -0.007484f, -0.008143f, -0.008718f, -0.009198f, -0.009574f, -0.009842f, -0.009998f, -0.010043f, -0.009981f, -0.009818f, -0.009564f, -0.009227f, -0.008823f, -0.008363f, -0.007862f, -0.007336f, -0.006799f, -0.006264f, -0.005746f, -0.005254f, -0.004800f, -0.004392f, -0.004034f, -0.003731f, -0.003483f, -0.003291f, -0.003151f, -0.003060f, -0.003010f, -0.002994f, -0.003005f, -0.003033f, -0.003070f, -0.003107f, -0.003136f, -0.003149f, -0.003140f, -0.003105f, -0.003039f, + -0.002942f, -0.002813f, -0.002654f, -0.002466f, -0.002256f, -0.002028f, -0.001789f, -0.001546f, -0.001306f, -0.001077f, -0.000865f, -0.000678f, -0.000522f, -0.000401f, -0.000319f, -0.000279f, -0.000280f, -0.000323f, -0.000404f, -0.000522f, -0.000670f, -0.000842f, -0.001033f, -0.001235f, -0.001440f, -0.001639f, -0.001827f, -0.001996f, -0.002139f, -0.002251f, -0.002329f, -0.002369f, -0.002371f, -0.002334f, -0.002261f, -0.002154f, -0.002017f, -0.001856f, -0.001677f, -0.001488f, -0.001294f, -0.001105f, -0.000927f, -0.000766f, -0.000630f, -0.000523f, -0.000449f, -0.000412f, -0.014151f, 0.039337f, -0.009261f, -0.048279f, -0.015075f, 0.009931f, 0.016956f, 0.126611f, 0.199676f, 0.247669f, -0.052009f, -0.166393f, -0.248453f, -0.100524f, 0.104113f, 0.332347f, 0.192038f, 0.074604f, -0.098523f, -0.080987f, -0.048782f, 0.050214f, -0.015708f, -0.046663f, -0.035120f, -0.020731f, 0.024618f, 0.126910f, 0.109013f, 0.139900f, -0.066775f, -0.193711f, -0.186368f, -0.061481f, 0.134857f, 0.271718f, 0.167815f, -0.028485f, -0.220587f, -0.176122f, 0.052869f, 0.014749f, 0.044216f, 0.024563f, 0.012979f, -0.046201f, -0.072822f, 0.081452f, + 0.084678f, -0.086224f, -0.090877f, -0.104086f, -0.040794f, 0.029843f, 0.143701f, 0.103193f, 0.063207f, -0.055107f, -0.065673f, -0.095260f, -0.027833f, 0.096659f, 0.166484f, 0.103337f, 0.012089f, -0.106923f, -0.226200f, -0.244058f, -0.041068f, 0.180731f, 0.277362f, 0.277711f, 0.158361f, -0.095499f, -0.346798f, -0.338543f, -0.124445f, 0.158028f, 0.304308f, 0.289049f, 0.048713f, -0.175475f, -0.299394f, -0.229171f, 0.044670f, 0.173668f, 0.073384f, -0.087531f, -0.142934f, -0.123168f, 0.004141f, 0.079146f, 0.121943f, 0.095298f, 0.028484f, -0.076227f, -0.146192f, -0.055801f, 0.023663f, 0.107204f, 0.137803f, 0.026475f, -0.075617f, -0.157564f, -0.101773f, 0.032719f, 0.182020f, 0.145379f, -0.064918f, -0.190720f, -0.146656f, -0.008983f, 0.178396f, 0.219287f, 0.110936f, -0.157996f, -0.400782f, -0.284468f, 0.057294f, 0.286167f, 0.308590f, 0.056655f, -0.173065f, -0.257245f, -0.177888f, 0.080312f, 0.201813f, 0.215213f, 0.086871f, -0.098072f, -0.204441f, -0.162266f, -0.022601f, 0.186823f, 0.214745f, 0.125103f, -0.102279f, -0.251245f, -0.218701f, -0.022069f, 0.125565f, 0.222139f, 0.159612f, 0.010752f, + -0.169728f, -0.206679f, -0.085379f, 0.106638f, 0.118277f, 0.089598f, -0.024958f, -0.122614f, -0.092495f, -0.005718f, 0.053518f, 0.032109f, 0.013678f, -0.011855f, -0.023277f, -0.026915f, -0.025700f, -0.048447f, -0.015780f, 0.028899f, 0.060556f, 0.037983f, -0.004137f, -0.049395f, -0.051257f, -0.028121f, 0.004230f, 0.040847f, 0.064514f, 0.017160f, -0.019601f, -0.059654f, -0.043605f, 0.021966f, 0.007920f, -0.021072f, -0.040672f, 0.003927f, 0.038201f, 0.043360f, -0.010796f, -0.047209f, -0.039646f, 0.022779f, 0.053054f, 0.024522f, -0.037072f, -0.052419f, -0.009074f, 0.045387f, 0.042043f, -0.007891f, -0.054910f, -0.031857f, 0.030133f, 0.051439f, -0.008864f, -0.052426f, -0.007621f, 0.030137f, -0.000197f, -0.009380f, -0.000042f, -0.000829f, -0.002167f, -0.000541f, -0.000478f, -0.000541f, -0.000586f, 0.000333f, -0.001820f, -0.001863f, -0.001979f, -0.000635f, -0.001398f, -0.000042f, -0.001265f, -0.001653f, -0.001439f, -0.001095f, -0.003172f, -0.001245f, -0.000398f, 0.000360f, -0.000036f, -0.002032f, -0.000729f, -0.002114f, -0.001880f, -0.001614f, -0.001210f, 0.000266f, -0.000904f, -0.001292f, -0.000951f, -0.001328f}, + {0.020127f, 0.019564f, 0.018453f, 0.016824f, 0.014720f, 0.012199f, 0.009327f, 0.006183f, 0.002851f, -0.000580f, -0.004016f, -0.007366f, -0.010538f, -0.013447f, -0.016013f, -0.018166f, -0.019846f, -0.021005f, -0.021609f, -0.021638f, -0.021086f, -0.019962f, -0.018288f, -0.016102f, -0.013452f, -0.010398f, -0.007010f, -0.003364f, 0.000457f, 0.004367f, 0.008280f, 0.012111f, 0.015777f, 0.019202f, 0.022315f, 0.025057f, 0.027376f, 0.029232f, 0.030599f, 0.031461f, 0.031816f, 0.031671f, 0.031050f, 0.029982f, 0.028509f, 0.026681f, 0.024553f, 0.022187f, 0.019647f, 0.016999f, 0.014309f, 0.011639f, 0.009051f, 0.006600f, 0.004335f, 0.002298f, 0.000523f, -0.000965f, -0.002147f, -0.003018f, -0.003575f, -0.003830f, -0.003796f, -0.003497f, -0.002961f, -0.002220f, -0.001310f, -0.000270f, 0.000862f, 0.002046f, 0.003247f, 0.004427f, 0.005556f, 0.006605f, 0.007551f, 0.008374f, 0.009061f, 0.009603f, 0.009995f, 0.010239f, 0.010340f, 0.010305f, 0.010146f, 0.009877f, 0.009513f, 0.009072f, 0.008569f, 0.008021f, 0.007443f, 0.006849f, 0.006250f, 0.005657f, 0.005077f, 0.004514f, 0.003972f, 0.003449f, + 0.002944f, 0.002455f, 0.001975f, 0.001500f, 0.001023f, 0.000538f, 0.000041f, -0.000474f, -0.001008f, -0.001565f, -0.002143f, -0.002739f, -0.003350f, -0.003968f, -0.004586f, -0.005194f, -0.005780f, -0.006332f, -0.006838f, -0.007285f, -0.007661f, -0.007955f, -0.008158f, -0.008261f, -0.008260f, -0.008152f, -0.007935f, -0.007614f, -0.007193f, -0.006682f, -0.006092f, -0.005437f, -0.004733f, -0.003998f, -0.003250f, -0.002510f, -0.001797f, -0.001131f, -0.000530f, -0.000012f, 0.000409f, 0.000721f, 0.000914f, 0.000981f, 0.000920f, 0.000730f, 0.000417f, -0.000014f, -0.000552f, -0.001183f, -0.001893f, -0.002664f, -0.003477f, -0.004313f, -0.005151f, -0.005971f, -0.006755f, -0.007484f, -0.008143f, -0.008718f, -0.009198f, -0.009574f, -0.009842f, -0.009998f, -0.010043f, -0.009981f, -0.009818f, -0.009564f, -0.009227f, -0.008823f, -0.008363f, -0.007862f, -0.007336f, -0.006799f, -0.006264f, -0.005746f, -0.005254f, -0.004800f, -0.004392f, -0.004034f, -0.003731f, -0.003483f, -0.003291f, -0.003151f, -0.003060f, -0.003010f, -0.002994f, -0.003005f, -0.003033f, -0.003070f, -0.003107f, -0.003136f, -0.003149f, -0.003140f, -0.003105f, -0.003039f, + -0.002942f, -0.002813f, -0.002654f, -0.002466f, -0.002256f, -0.002028f, -0.001789f, -0.001546f, -0.001306f, -0.001077f, -0.000865f, -0.000678f, -0.000522f, -0.000401f, -0.000319f, -0.000279f, -0.000280f, -0.000323f, -0.000404f, -0.000522f, -0.000670f, -0.000842f, -0.001033f, -0.001235f, -0.001440f, -0.001639f, -0.001827f, -0.001996f, -0.002139f, -0.002251f, -0.002329f, -0.002369f, -0.002371f, -0.002334f, -0.002261f, -0.002154f, -0.002017f, -0.001856f, -0.001677f, -0.001488f, -0.001294f, -0.001105f, -0.000927f, -0.000766f, -0.000630f, -0.000523f, -0.000449f, -0.000412f, -0.014151f, 0.039337f, -0.009261f, -0.048279f, -0.015075f, 0.009931f, 0.016956f, 0.126611f, 0.199676f, 0.247669f, -0.052009f, -0.166393f, -0.248453f, -0.100524f, 0.104113f, 0.332347f, 0.192038f, 0.074604f, -0.098523f, -0.080987f, -0.048782f, 0.050214f, -0.015708f, -0.046663f, -0.035120f, -0.020731f, 0.024618f, 0.126910f, 0.109013f, 0.139900f, -0.066775f, -0.193711f, -0.186368f, -0.061481f, 0.134857f, 0.271718f, 0.167815f, -0.028485f, -0.220587f, -0.176122f, 0.052869f, 0.014749f, 0.044216f, 0.024563f, 0.012979f, -0.046201f, -0.072822f, 0.081452f, + 0.084678f, -0.086224f, -0.090877f, -0.104086f, -0.040794f, 0.029843f, 0.143701f, 0.103193f, 0.063207f, -0.055107f, -0.065673f, -0.095260f, -0.027833f, 0.096659f, 0.166484f, 0.103337f, 0.012089f, -0.106923f, -0.226200f, -0.244058f, -0.041068f, 0.180731f, 0.277362f, 0.277711f, 0.158361f, -0.095499f, -0.346798f, -0.338543f, -0.124445f, 0.158028f, 0.304308f, 0.289049f, 0.048713f, -0.175475f, -0.299394f, -0.229171f, 0.044670f, 0.173668f, 0.073384f, -0.087531f, -0.142934f, -0.123168f, 0.004141f, 0.079146f, 0.121943f, 0.095298f, 0.028484f, -0.076227f, -0.146192f, -0.055801f, 0.023663f, 0.107204f, 0.137803f, 0.026475f, -0.075617f, -0.157564f, -0.101773f, 0.032719f, 0.182020f, 0.145379f, -0.064918f, -0.190720f, -0.146656f, -0.008983f, 0.178396f, 0.219287f, 0.110936f, -0.157996f, -0.400782f, -0.284468f, 0.057294f, 0.286167f, 0.308590f, 0.056655f, -0.173065f, -0.257245f, -0.177888f, 0.080312f, 0.201813f, 0.215213f, 0.086871f, -0.098072f, -0.204441f, -0.162266f, -0.022601f, 0.186823f, 0.214745f, 0.125103f, -0.102279f, -0.251245f, -0.218701f, -0.022069f, 0.125565f, 0.222139f, 0.159612f, 0.010752f, + -0.169728f, -0.206679f, -0.085379f, 0.106638f, 0.118277f, 0.089598f, -0.024958f, -0.122614f, -0.092495f, -0.005718f, 0.053518f, 0.032109f, 0.013678f, -0.011855f, -0.023277f, -0.026915f, -0.025700f, -0.048447f, -0.015780f, 0.028899f, 0.060556f, 0.037983f, -0.004137f, -0.049395f, -0.051257f, -0.028121f, 0.004230f, 0.040847f, 0.064514f, 0.017160f, -0.019601f, -0.059654f, -0.043605f, 0.021966f, 0.007920f, -0.021072f, -0.040672f, 0.003927f, 0.038201f, 0.043360f, -0.010796f, -0.047209f, -0.039646f, 0.022779f, 0.053054f, 0.024522f, -0.037072f, -0.052419f, -0.009074f, 0.045387f, 0.042043f, -0.007891f, -0.054910f, -0.031857f, 0.030133f, 0.051439f, -0.008864f, -0.052426f, -0.007621f, 0.030137f, -0.000197f, -0.009380f, -0.000042f, -0.000829f, -0.002167f, -0.000541f, -0.000478f, -0.000541f, -0.000586f, 0.000333f, -0.001820f, -0.001863f, -0.001979f, -0.000635f, -0.001398f, -0.000042f, -0.001265f, -0.001653f, -0.001439f, -0.001095f, -0.003172f, -0.001245f, -0.000398f, 0.000360f, -0.000036f, -0.002032f, -0.000729f, -0.002114f, -0.001880f, -0.001614f, -0.001210f, 0.000266f, -0.000904f, -0.001292f, -0.000951f, -0.001328f} + }, + { + {0.011383f, 0.011186f, 0.010798f, 0.010228f, 0.009495f, 0.008617f, 0.007619f, 0.006530f, 0.005379f, 0.004198f, 0.003020f, 0.001877f, 0.000801f, -0.000180f, -0.001039f, -0.001754f, -0.002305f, -0.002679f, -0.002866f, -0.002863f, -0.002671f, -0.002297f, -0.001751f, -0.001049f, -0.000213f, 0.000736f, 0.001769f, 0.002860f, 0.003977f, 0.005090f, 0.006167f, 0.007180f, 0.008098f, 0.008897f, 0.009550f, 0.010038f, 0.010342f, 0.010448f, 0.010346f, 0.010029f, 0.009494f, 0.008744f, 0.007781f, 0.006616f, 0.005259f, 0.003724f, 0.002030f, 0.000194f, -0.001760f, -0.003810f, -0.005932f, -0.008100f, -0.010287f, -0.012466f, -0.014611f, -0.016694f, -0.018689f, -0.020570f, -0.022310f, -0.023887f, -0.025276f, -0.026459f, -0.027414f, -0.028127f, -0.028584f, -0.028773f, -0.028687f, -0.028323f, -0.027682f, -0.026767f, -0.025588f, -0.024158f, -0.022495f, -0.020621f, -0.018562f, -0.016349f, -0.014016f, -0.011601f, -0.009142f, -0.006681f, -0.004261f, -0.001924f, 0.000288f, 0.002333f, 0.004175f, 0.005779f, 0.007115f, 0.008157f, 0.008887f, 0.009291f, 0.009362f, 0.009103f, 0.008519f, 0.007627f, 0.006447f, 0.005008f, + 0.003342f, 0.001488f, -0.000513f, -0.002614f, -0.004769f, -0.006931f, -0.009053f, -0.011090f, -0.012999f, -0.014742f, -0.016286f, -0.017602f, -0.018670f, -0.019473f, -0.020004f, -0.020262f, -0.020253f, -0.019988f, -0.019486f, -0.018769f, -0.017865f, -0.016804f, -0.015621f, -0.014348f, -0.013021f, -0.011673f, -0.010336f, -0.009039f, -0.007807f, -0.006662f, -0.005620f, -0.004694f, -0.003891f, -0.003213f, -0.002657f, -0.002218f, -0.001887f, -0.001650f, -0.001494f, -0.001403f, -0.001361f, -0.001353f, -0.001366f, -0.001388f, -0.001409f, -0.001423f, -0.001429f, -0.001427f, -0.001421f, -0.001419f, -0.001432f, -0.001474f, -0.001558f, -0.001701f, -0.001918f, -0.002226f, -0.002637f, -0.003164f, -0.003813f, -0.004590f, -0.005495f, -0.006523f, -0.007664f, -0.008904f, -0.010222f, -0.011597f, -0.012999f, -0.014398f, -0.015761f, -0.017054f, -0.018242f, -0.019293f, -0.020174f, -0.020858f, -0.021319f, -0.021540f, -0.021508f, -0.021214f, -0.020661f, -0.019854f, -0.018808f, -0.017544f, -0.016088f, -0.014473f, -0.012735f, -0.010915f, -0.009056f, -0.007200f, -0.005391f, -0.003671f, -0.002079f, -0.000649f, 0.000588f, 0.001610f, 0.002400f, 0.002946f, + 0.003247f, 0.003307f, 0.003139f, 0.002759f, 0.002194f, 0.001472f, 0.000626f, -0.000308f, -0.001292f, -0.002288f, -0.003259f, -0.004171f, -0.004993f, -0.005697f, -0.006262f, -0.006673f, -0.006919f, -0.006999f, -0.006914f, -0.006675f, -0.006296f, -0.005798f, -0.005204f, -0.004543f, -0.003843f, -0.003135f, -0.002447f, -0.001809f, -0.001247f, -0.000781f, -0.000432f, -0.000211f, -0.000127f, -0.000181f, -0.000371f, -0.000686f, -0.001113f, -0.001634f, -0.002227f, -0.002866f, -0.003526f, -0.004179f, -0.004798f, -0.005358f, -0.005836f, -0.006213f, -0.006472f, -0.006605f, -0.006998f, -0.007302f, -0.009285f, 0.001946f, -0.011202f, 0.010434f, 0.038234f, 0.047188f, -0.002116f, -0.058181f, -0.008719f, 0.080501f, 0.166412f, 0.130947f, -0.065633f, -0.225874f, -0.117186f, -0.107285f, 0.050453f, 0.030896f, 0.014089f, 0.071935f, 0.123050f, -0.050048f, -0.131004f, -0.054090f, -0.035697f, 0.042958f, 0.121916f, 0.060453f, 0.081295f, 0.027237f, -0.106500f, -0.090785f, 0.011481f, 0.130883f, 0.113592f, -0.013612f, -0.075622f, -0.126169f, -0.000034f, 0.128718f, 0.118850f, 0.055358f, -0.030814f, -0.126930f, -0.098443f, -0.013206f, + 0.018041f, 0.043026f, 0.047928f, 0.037975f, 0.072457f, 0.009024f, -0.006488f, -0.029939f, -0.004033f, -0.046866f, 0.070776f, 0.124386f, -0.027794f, 0.103948f, -0.013067f, -0.156957f, -0.037500f, 0.088757f, -0.010331f, -0.103131f, -0.114647f, -0.056834f, 0.032948f, 0.110615f, 0.105636f, 0.060598f, -0.099175f, -0.162321f, -0.043659f, 0.147583f, 0.177857f, 0.058867f, -0.097171f, -0.095133f, -0.074913f, 0.003973f, 0.109863f, 0.126805f, -0.001215f, -0.145587f, -0.148811f, -0.063469f, 0.092143f, 0.033766f, 0.070635f, -0.014765f, -0.100284f, -0.089819f, -0.043569f, 0.207105f, 0.117878f, 0.040455f, -0.028645f, 0.085072f, 0.048328f, -0.025363f, -0.123722f, -0.096264f, -0.020690f, 0.122851f, 0.058308f, -0.063702f, -0.178735f, -0.082291f, 0.092825f, 0.204646f, 0.098992f, -0.009351f, -0.211555f, -0.163706f, 0.059042f, 0.248569f, 0.221289f, 0.081352f, -0.128114f, -0.192953f, -0.174097f, 0.017787f, 0.113572f, 0.193936f, 0.059321f, -0.062213f, -0.151698f, -0.104186f, -0.003643f, 0.200419f, 0.139390f, 0.049724f, -0.128159f, -0.239877f, -0.153039f, 0.088733f, 0.245812f, 0.272284f, 0.112405f, -0.061009f, + -0.183121f, -0.122927f, -0.031436f, 0.095909f, 0.145585f, 0.070347f, -0.057318f, -0.123796f, -0.075604f, 0.118445f, 0.162034f, 0.039343f, -0.068750f, -0.141701f, -0.113409f, -0.023384f, 0.063457f, 0.098375f, 0.066934f, -0.001273f, -0.103206f, -0.120582f, -0.057365f, 0.041736f, 0.106670f, 0.098947f, 0.033093f, -0.058760f, -0.120056f, -0.095522f, -0.028166f, 0.051268f, 0.123035f, 0.071960f, -0.077613f, -0.397179f, -0.228099f, 0.207627f, 0.479767f, 0.380003f, -0.052829f, -0.415736f, -0.418186f, -0.015359f, 0.398178f, 0.458893f, 0.078948f, -0.354241f, -0.424500f, -0.050655f, 0.355875f, 0.371308f, -0.011293f, -0.334910f, -0.239494f, 0.144311f, 0.290245f, 0.014109f, -0.190746f, -0.022066f, 0.084360f, 0.014742f, -0.009296f, 0.002098f, 0.004677f, 0.006425f, 0.003394f, 0.005549f, 0.002100f, 0.002641f, 0.002453f, 0.001752f, 0.003888f, 0.004496f, 0.000021f, 0.003081f, 0.002653f, 0.005549f, 0.001527f, 0.004676f, 0.003669f, 0.002300f, 0.003097f, 0.003088f, 0.003046f, 0.005155f, 0.004289f, 0.004373f, 0.002084f, 0.002798f, 0.003251f, 0.003214f, 0.005724f, 0.003667f, 0.004292f, 0.004786f}, + {-0.011383f, -0.011186f, -0.010798f, -0.010228f, -0.009495f, -0.008617f, -0.007619f, -0.006530f, -0.005379f, -0.004198f, -0.003020f, -0.001877f, -0.000801f, 0.000180f, 0.001039f, 0.001754f, 0.002305f, 0.002679f, 0.002866f, 0.002863f, 0.002671f, 0.002297f, 0.001751f, 0.001049f, 0.000213f, -0.000736f, -0.001769f, -0.002860f, -0.003977f, -0.005090f, -0.006167f, -0.007180f, -0.008098f, -0.008897f, -0.009550f, -0.010038f, -0.010342f, -0.010448f, -0.010346f, -0.010029f, -0.009494f, -0.008744f, -0.007781f, -0.006616f, -0.005259f, -0.003724f, -0.002030f, -0.000194f, 0.001760f, 0.003810f, 0.005932f, 0.008100f, 0.010287f, 0.012466f, 0.014611f, 0.016694f, 0.018689f, 0.020570f, 0.022310f, 0.023887f, 0.025276f, 0.026459f, 0.027414f, 0.028127f, 0.028584f, 0.028773f, 0.028687f, 0.028323f, 0.027682f, 0.026767f, 0.025588f, 0.024158f, 0.022495f, 0.020621f, 0.018562f, 0.016349f, 0.014016f, 0.011601f, 0.009142f, 0.006681f, 0.004261f, 0.001924f, -0.000288f, -0.002333f, -0.004175f, -0.005779f, -0.007115f, -0.008157f, -0.008887f, -0.009291f, -0.009362f, -0.009103f, -0.008519f, -0.007627f, -0.006447f, -0.005008f, + -0.003342f, -0.001488f, 0.000513f, 0.002614f, 0.004769f, 0.006931f, 0.009053f, 0.011090f, 0.012999f, 0.014742f, 0.016286f, 0.017602f, 0.018670f, 0.019473f, 0.020004f, 0.020262f, 0.020253f, 0.019988f, 0.019486f, 0.018769f, 0.017865f, 0.016804f, 0.015621f, 0.014348f, 0.013021f, 0.011673f, 0.010336f, 0.009039f, 0.007807f, 0.006662f, 0.005620f, 0.004694f, 0.003891f, 0.003213f, 0.002657f, 0.002218f, 0.001887f, 0.001650f, 0.001494f, 0.001403f, 0.001361f, 0.001353f, 0.001366f, 0.001388f, 0.001409f, 0.001423f, 0.001429f, 0.001427f, 0.001421f, 0.001419f, 0.001432f, 0.001474f, 0.001558f, 0.001701f, 0.001918f, 0.002226f, 0.002637f, 0.003164f, 0.003813f, 0.004590f, 0.005495f, 0.006523f, 0.007664f, 0.008904f, 0.010222f, 0.011597f, 0.012999f, 0.014398f, 0.015761f, 0.017054f, 0.018242f, 0.019293f, 0.020174f, 0.020858f, 0.021319f, 0.021540f, 0.021508f, 0.021214f, 0.020661f, 0.019854f, 0.018808f, 0.017544f, 0.016088f, 0.014473f, 0.012735f, 0.010915f, 0.009056f, 0.007200f, 0.005391f, 0.003671f, 0.002079f, 0.000649f, -0.000588f, -0.001610f, -0.002400f, -0.002946f, + -0.003247f, -0.003307f, -0.003139f, -0.002759f, -0.002194f, -0.001472f, -0.000626f, 0.000308f, 0.001292f, 0.002288f, 0.003259f, 0.004171f, 0.004993f, 0.005697f, 0.006262f, 0.006673f, 0.006919f, 0.006999f, 0.006914f, 0.006675f, 0.006296f, 0.005798f, 0.005204f, 0.004543f, 0.003843f, 0.003135f, 0.002447f, 0.001809f, 0.001247f, 0.000781f, 0.000432f, 0.000211f, 0.000127f, 0.000181f, 0.000371f, 0.000686f, 0.001113f, 0.001634f, 0.002227f, 0.002866f, 0.003526f, 0.004179f, 0.004798f, 0.005358f, 0.005836f, 0.006213f, 0.006472f, 0.006605f, 0.006998f, 0.007302f, 0.009285f, -0.001946f, 0.011202f, -0.010434f, -0.038234f, -0.047188f, 0.002116f, 0.058181f, 0.008719f, -0.080501f, -0.166412f, -0.130947f, 0.065633f, 0.225874f, 0.117186f, 0.107285f, -0.050453f, -0.030896f, -0.014089f, -0.071935f, -0.123050f, 0.050048f, 0.131004f, 0.054090f, 0.035697f, -0.042958f, -0.121916f, -0.060453f, -0.081295f, -0.027237f, 0.106500f, 0.090785f, -0.011481f, -0.130883f, -0.113592f, 0.013612f, 0.075622f, 0.126169f, 0.000034f, -0.128718f, -0.118850f, -0.055358f, 0.030814f, 0.126930f, 0.098443f, 0.013206f, + -0.018041f, -0.043026f, -0.047928f, -0.037975f, -0.072457f, -0.009024f, 0.006488f, 0.029939f, 0.004033f, 0.046866f, -0.070776f, -0.124386f, 0.027794f, -0.103948f, 0.013067f, 0.156957f, 0.037500f, -0.088757f, 0.010331f, 0.103131f, 0.114647f, 0.056834f, -0.032948f, -0.110615f, -0.105636f, -0.060598f, 0.099175f, 0.162321f, 0.043659f, -0.147583f, -0.177857f, -0.058867f, 0.097171f, 0.095133f, 0.074913f, -0.003973f, -0.109863f, -0.126805f, 0.001215f, 0.145587f, 0.148811f, 0.063469f, -0.092143f, -0.033766f, -0.070635f, 0.014765f, 0.100284f, 0.089819f, 0.043569f, -0.207105f, -0.117878f, -0.040455f, 0.028645f, -0.085072f, -0.048328f, 0.025363f, 0.123722f, 0.096264f, 0.020690f, -0.122851f, -0.058308f, 0.063702f, 0.178735f, 0.082291f, -0.092825f, -0.204646f, -0.098992f, 0.009351f, 0.211555f, 0.163706f, -0.059042f, -0.248569f, -0.221289f, -0.081352f, 0.128114f, 0.192953f, 0.174097f, -0.017787f, -0.113572f, -0.193936f, -0.059321f, 0.062213f, 0.151698f, 0.104186f, 0.003643f, -0.200419f, -0.139390f, -0.049724f, 0.128159f, 0.239877f, 0.153039f, -0.088733f, -0.245812f, -0.272284f, -0.112405f, 0.061009f, + 0.183121f, 0.122927f, 0.031436f, -0.095909f, -0.145585f, -0.070347f, 0.057318f, 0.123796f, 0.075604f, -0.118445f, -0.162034f, -0.039343f, 0.068750f, 0.141701f, 0.113409f, 0.023384f, -0.063457f, -0.098375f, -0.066934f, 0.001273f, 0.103206f, 0.120582f, 0.057365f, -0.041736f, -0.106670f, -0.098947f, -0.033093f, 0.058760f, 0.120056f, 0.095522f, 0.028166f, -0.051268f, -0.123035f, -0.071960f, 0.077613f, 0.397179f, 0.228099f, -0.207627f, -0.479767f, -0.380003f, 0.052829f, 0.415736f, 0.418186f, 0.015359f, -0.398178f, -0.458893f, -0.078948f, 0.354241f, 0.424500f, 0.050655f, -0.355875f, -0.371308f, 0.011293f, 0.334910f, 0.239494f, -0.144311f, -0.290245f, -0.014109f, 0.190746f, 0.022066f, -0.084360f, -0.014742f, 0.009296f, -0.002098f, -0.004677f, -0.006425f, -0.003394f, -0.005549f, -0.002100f, -0.002641f, -0.002453f, -0.001752f, -0.003888f, -0.004496f, -0.000021f, -0.003081f, -0.002653f, -0.005549f, -0.001527f, -0.004676f, -0.003669f, -0.002300f, -0.003097f, -0.003088f, -0.003046f, -0.005155f, -0.004289f, -0.004373f, -0.002084f, -0.002798f, -0.003251f, -0.003214f, -0.005724f, -0.003667f, -0.004292f, -0.004786f} + }, + { + {0.004457f, 0.004803f, 0.005482f, 0.006472f, 0.007739f, 0.009242f, 0.010928f, 0.012742f, 0.014622f, 0.016505f, 0.018326f, 0.020024f, 0.021540f, 0.022823f, 0.023827f, 0.024516f, 0.024865f, 0.024857f, 0.024487f, 0.023764f, 0.022702f, 0.021331f, 0.019685f, 0.017808f, 0.015751f, 0.013567f, 0.011312f, 0.009044f, 0.006818f, 0.004688f, 0.002701f, 0.000900f, -0.000681f, -0.002014f, -0.003083f, -0.003877f, -0.004396f, -0.004649f, -0.004651f, -0.004424f, -0.003997f, -0.003402f, -0.002673f, -0.001845f, -0.000955f, -0.000035f, 0.000883f, 0.001776f, 0.002621f, 0.003406f, 0.004122f, 0.004769f, 0.005351f, 0.005881f, 0.006376f, 0.006856f, 0.007348f, 0.007876f, 0.008469f, 0.009152f, 0.009951f, 0.010886f, 0.011973f, 0.013223f, 0.014638f, 0.016216f, 0.017947f, 0.019811f, 0.021784f, 0.023835f, 0.025926f, 0.028015f, 0.030057f, 0.032006f, 0.033814f, 0.035436f, 0.036827f, 0.037950f, 0.038769f, 0.039260f, 0.039401f, 0.039184f, 0.038605f, 0.037672f, 0.036400f, 0.034814f, 0.032946f, 0.030833f, 0.028519f, 0.026053f, 0.023486f, 0.020868f, 0.018251f, 0.015685f, 0.013215f, 0.010884f, + 0.008726f, 0.006771f, 0.005041f, 0.003550f, 0.002304f, 0.001302f, 0.000536f, -0.000009f, -0.000353f, -0.000522f, -0.000543f, -0.000448f, -0.000269f, -0.000037f, 0.000218f, 0.000468f, 0.000688f, 0.000859f, 0.000966f, 0.000998f, 0.000950f, 0.000823f, 0.000622f, 0.000355f, 0.000037f, -0.000316f, -0.000687f, -0.001057f, -0.001407f, -0.001718f, -0.001974f, -0.002160f, -0.002268f, -0.002288f, -0.002220f, -0.002063f, -0.001823f, -0.001509f, -0.001134f, -0.000713f, -0.000264f, 0.000194f, 0.000641f, 0.001059f, 0.001430f, 0.001737f, 0.001967f, 0.002112f, 0.002164f, 0.002123f, 0.001991f, 0.001774f, 0.001484f, 0.001134f, 0.000742f, 0.000328f, -0.000088f, -0.000484f, -0.000839f, -0.001133f, -0.001349f, -0.001470f, -0.001486f, -0.001391f, -0.001180f, -0.000856f, -0.000427f, 0.000098f, 0.000702f, 0.001366f, 0.002069f, 0.002786f, 0.003493f, 0.004165f, 0.004776f, 0.005304f, 0.005731f, 0.006038f, 0.006215f, 0.006253f, 0.006152f, 0.005915f, 0.005548f, 0.005068f, 0.004490f, 0.003838f, 0.003135f, 0.002410f, 0.001691f, 0.001006f, 0.000382f, -0.000155f, -0.000582f, -0.000882f, -0.001040f, -0.001049f, + -0.000904f, -0.000608f, -0.000171f, 0.000394f, 0.001069f, 0.001831f, 0.002653f, 0.003506f, 0.004360f, 0.005185f, 0.005952f, 0.006632f, 0.007202f, 0.007642f, 0.007935f, 0.008072f, 0.008047f, 0.007864f, 0.007529f, 0.007055f, 0.006461f, 0.005769f, 0.005006f, 0.004202f, 0.003387f, 0.002591f, 0.001847f, 0.001180f, 0.000619f, 0.000183f, -0.000111f, -0.000251f, -0.000231f, -0.000053f, 0.000277f, 0.000747f, 0.001339f, 0.002030f, 0.002795f, 0.003604f, 0.004428f, 0.005234f, 0.005992f, 0.006673f, 0.007253f, 0.007707f, 0.008020f, 0.008180f, -0.023080f, 0.017255f, 0.009678f, -0.011088f, -0.020983f, -0.001735f, -0.031981f, -0.037461f, -0.201735f, -0.238518f, 0.004204f, 0.076735f, -0.004756f, -0.025361f, 0.027211f, -0.019033f, -0.058846f, 0.013061f, 0.041154f, -0.003229f, 0.085427f, -0.052678f, -0.014999f, -0.044477f, -0.016524f, 0.051942f, 0.048424f, 0.116574f, -0.062608f, -0.053412f, -0.032905f, 0.028786f, 0.000561f, -0.050637f, -0.047139f, -0.023233f, -0.032433f, 0.069848f, 0.044266f, -0.030568f, -0.045929f, -0.046424f, 0.023603f, 0.074502f, 0.070463f, -0.006424f, -0.108626f, -0.071322f, + -0.065093f, -0.085552f, -0.010056f, 0.075042f, 0.070567f, -0.019741f, -0.089702f, -0.097700f, -0.063491f, 0.066151f, 0.096163f, 0.062052f, 0.045207f, -0.175419f, -0.159971f, -0.014387f, 0.038870f, 0.002240f, 0.236593f, 0.087543f, 0.026099f, -0.086112f, -0.066294f, 0.050274f, 0.187045f, 0.211058f, 0.034819f, -0.105354f, -0.116580f, -0.240834f, -0.192060f, 0.078708f, 0.199071f, 0.082504f, -0.059802f, -0.031618f, -0.213500f, -0.340961f, -0.088397f, 0.032796f, 0.193430f, 0.127659f, 0.018922f, -0.218201f, -0.213684f, -0.116907f, 0.089426f, 0.147526f, 0.155369f, -0.095128f, -0.145553f, -0.076523f, 0.099395f, 0.167693f, 0.163064f, -0.059897f, -0.186886f, -0.196185f, 0.021562f, 0.203422f, 0.303995f, 0.158257f, -0.137884f, -0.372733f, -0.355944f, -0.040808f, 0.262717f, 0.219980f, 0.026477f, -0.109705f, -0.250266f, -0.199136f, 0.000263f, 0.170630f, 0.232540f, 0.046589f, -0.047705f, -0.178808f, -0.204458f, -0.049330f, 0.114216f, 0.180834f, 0.138758f, -0.029559f, -0.178497f, -0.209665f, -0.022738f, 0.159440f, 0.212599f, 0.085953f, -0.080565f, -0.190275f, -0.193684f, -0.061446f, 0.104574f, 0.120742f, + 0.040625f, -0.046597f, -0.077670f, -0.083227f, -0.093542f, -0.005046f, 0.070144f, 0.088945f, 0.023759f, -0.074423f, -0.140730f, -0.082456f, 0.043191f, 0.076740f, 0.089912f, 0.022335f, -0.065760f, -0.120857f, -0.075501f, 0.019147f, 0.067641f, 0.067659f, 0.025161f, -0.039109f, -0.032581f, -0.025880f, 0.021715f, 0.001680f, 0.027937f, -0.033921f, -0.038421f, -0.045726f, 0.025639f, 0.023107f, 0.040383f, -0.095445f, -0.189905f, -0.084207f, 0.077202f, 0.183977f, 0.127790f, -0.042108f, -0.183065f, -0.152692f, 0.018627f, 0.170712f, 0.153600f, -0.027257f, -0.179305f, -0.143176f, 0.046629f, 0.169116f, 0.086310f, -0.100029f, -0.154624f, -0.007877f, 0.127514f, 0.040025f, -0.086180f, -0.030789f, 0.034832f, -0.000504f, -0.015469f, -0.005420f, -0.004356f, -0.003216f, -0.001101f, -0.003867f, -0.002833f, -0.004278f, -0.004491f, -0.003796f, -0.003657f, -0.005810f, -0.005043f, -0.007314f, -0.003679f, -0.003831f, -0.004629f, -0.007485f, -0.004645f, -0.006691f, -0.002879f, -0.005852f, -0.006690f, -0.006330f, -0.008273f, -0.004149f, -0.005079f, -0.003481f, -0.008020f, -0.004895f, -0.004774f, -0.003941f, -0.002730f, -0.007628f}, + {-0.004457f, -0.004803f, -0.005482f, -0.006472f, -0.007739f, -0.009242f, -0.010928f, -0.012742f, -0.014622f, -0.016505f, -0.018326f, -0.020024f, -0.021540f, -0.022823f, -0.023827f, -0.024516f, -0.024865f, -0.024857f, -0.024487f, -0.023764f, -0.022702f, -0.021331f, -0.019685f, -0.017808f, -0.015751f, -0.013567f, -0.011312f, -0.009044f, -0.006818f, -0.004688f, -0.002701f, -0.000900f, 0.000681f, 0.002014f, 0.003083f, 0.003877f, 0.004396f, 0.004649f, 0.004651f, 0.004424f, 0.003997f, 0.003402f, 0.002673f, 0.001845f, 0.000955f, 0.000035f, -0.000883f, -0.001776f, -0.002621f, -0.003406f, -0.004122f, -0.004769f, -0.005351f, -0.005881f, -0.006376f, -0.006856f, -0.007348f, -0.007876f, -0.008469f, -0.009152f, -0.009951f, -0.010886f, -0.011973f, -0.013223f, -0.014638f, -0.016216f, -0.017947f, -0.019811f, -0.021784f, -0.023835f, -0.025926f, -0.028015f, -0.030057f, -0.032006f, -0.033814f, -0.035436f, -0.036827f, -0.037950f, -0.038769f, -0.039260f, -0.039401f, -0.039184f, -0.038605f, -0.037672f, -0.036400f, -0.034814f, -0.032946f, -0.030833f, -0.028519f, -0.026053f, -0.023486f, -0.020868f, -0.018251f, -0.015685f, -0.013215f, -0.010884f, + -0.008726f, -0.006771f, -0.005041f, -0.003550f, -0.002304f, -0.001302f, -0.000536f, 0.000009f, 0.000353f, 0.000522f, 0.000543f, 0.000448f, 0.000269f, 0.000037f, -0.000218f, -0.000468f, -0.000688f, -0.000859f, -0.000966f, -0.000998f, -0.000950f, -0.000823f, -0.000622f, -0.000355f, -0.000037f, 0.000316f, 0.000687f, 0.001057f, 0.001407f, 0.001718f, 0.001974f, 0.002160f, 0.002268f, 0.002288f, 0.002220f, 0.002063f, 0.001823f, 0.001509f, 0.001134f, 0.000713f, 0.000264f, -0.000194f, -0.000641f, -0.001059f, -0.001430f, -0.001737f, -0.001967f, -0.002112f, -0.002164f, -0.002123f, -0.001991f, -0.001774f, -0.001484f, -0.001134f, -0.000742f, -0.000328f, 0.000088f, 0.000484f, 0.000839f, 0.001133f, 0.001349f, 0.001470f, 0.001486f, 0.001391f, 0.001180f, 0.000856f, 0.000427f, -0.000098f, -0.000702f, -0.001366f, -0.002069f, -0.002786f, -0.003493f, -0.004165f, -0.004776f, -0.005304f, -0.005731f, -0.006038f, -0.006215f, -0.006253f, -0.006152f, -0.005915f, -0.005548f, -0.005068f, -0.004490f, -0.003838f, -0.003135f, -0.002410f, -0.001691f, -0.001006f, -0.000382f, 0.000155f, 0.000582f, 0.000882f, 0.001040f, 0.001049f, + 0.000904f, 0.000608f, 0.000171f, -0.000394f, -0.001069f, -0.001831f, -0.002653f, -0.003506f, -0.004360f, -0.005185f, -0.005952f, -0.006632f, -0.007202f, -0.007642f, -0.007935f, -0.008072f, -0.008047f, -0.007864f, -0.007529f, -0.007055f, -0.006461f, -0.005769f, -0.005006f, -0.004202f, -0.003387f, -0.002591f, -0.001847f, -0.001180f, -0.000619f, -0.000183f, 0.000111f, 0.000251f, 0.000231f, 0.000053f, -0.000277f, -0.000747f, -0.001339f, -0.002030f, -0.002795f, -0.003604f, -0.004428f, -0.005234f, -0.005992f, -0.006673f, -0.007253f, -0.007707f, -0.008020f, -0.008180f, 0.023080f, -0.017255f, -0.009678f, 0.011088f, 0.020983f, 0.001735f, 0.031981f, 0.037461f, 0.201735f, 0.238518f, -0.004204f, -0.076735f, 0.004756f, 0.025361f, -0.027211f, 0.019033f, 0.058846f, -0.013061f, -0.041154f, 0.003229f, -0.085427f, 0.052678f, 0.014999f, 0.044477f, 0.016524f, -0.051942f, -0.048424f, -0.116574f, 0.062608f, 0.053412f, 0.032905f, -0.028786f, -0.000561f, 0.050637f, 0.047139f, 0.023233f, 0.032433f, -0.069848f, -0.044266f, 0.030568f, 0.045929f, 0.046424f, -0.023603f, -0.074502f, -0.070463f, 0.006424f, 0.108626f, 0.071322f, + 0.065093f, 0.085552f, 0.010056f, -0.075042f, -0.070567f, 0.019741f, 0.089702f, 0.097700f, 0.063491f, -0.066151f, -0.096163f, -0.062052f, -0.045207f, 0.175419f, 0.159971f, 0.014387f, -0.038870f, -0.002240f, -0.236593f, -0.087543f, -0.026099f, 0.086112f, 0.066294f, -0.050274f, -0.187045f, -0.211058f, -0.034819f, 0.105354f, 0.116580f, 0.240834f, 0.192060f, -0.078708f, -0.199071f, -0.082504f, 0.059802f, 0.031618f, 0.213500f, 0.340961f, 0.088397f, -0.032796f, -0.193430f, -0.127659f, -0.018922f, 0.218201f, 0.213684f, 0.116907f, -0.089426f, -0.147526f, -0.155369f, 0.095128f, 0.145553f, 0.076523f, -0.099395f, -0.167693f, -0.163064f, 0.059897f, 0.186886f, 0.196185f, -0.021562f, -0.203422f, -0.303995f, -0.158257f, 0.137884f, 0.372733f, 0.355944f, 0.040808f, -0.262717f, -0.219980f, -0.026477f, 0.109705f, 0.250266f, 0.199136f, -0.000263f, -0.170630f, -0.232540f, -0.046589f, 0.047705f, 0.178808f, 0.204458f, 0.049330f, -0.114216f, -0.180834f, -0.138758f, 0.029559f, 0.178497f, 0.209665f, 0.022738f, -0.159440f, -0.212599f, -0.085953f, 0.080565f, 0.190275f, 0.193684f, 0.061446f, -0.104574f, -0.120742f, + -0.040625f, 0.046597f, 0.077670f, 0.083227f, 0.093542f, 0.005046f, -0.070144f, -0.088945f, -0.023759f, 0.074423f, 0.140730f, 0.082456f, -0.043191f, -0.076740f, -0.089912f, -0.022335f, 0.065760f, 0.120857f, 0.075501f, -0.019147f, -0.067641f, -0.067659f, -0.025161f, 0.039109f, 0.032581f, 0.025880f, -0.021715f, -0.001680f, -0.027937f, 0.033921f, 0.038421f, 0.045726f, -0.025639f, -0.023107f, -0.040383f, 0.095445f, 0.189905f, 0.084207f, -0.077202f, -0.183977f, -0.127790f, 0.042108f, 0.183065f, 0.152692f, -0.018627f, -0.170712f, -0.153600f, 0.027257f, 0.179305f, 0.143176f, -0.046629f, -0.169116f, -0.086310f, 0.100029f, 0.154624f, 0.007877f, -0.127514f, -0.040025f, 0.086180f, 0.030789f, -0.034832f, 0.000504f, 0.015469f, 0.005420f, 0.004356f, 0.003216f, 0.001101f, 0.003867f, 0.002833f, 0.004278f, 0.004491f, 0.003796f, 0.003657f, 0.005810f, 0.005043f, 0.007314f, 0.003679f, 0.003831f, 0.004629f, 0.007485f, 0.004645f, 0.006691f, 0.002879f, 0.005852f, 0.006690f, 0.006330f, 0.008273f, 0.004149f, 0.005079f, 0.003481f, 0.008020f, 0.004895f, 0.004774f, 0.003941f, 0.002730f, 0.007628f} + }, + { + {-0.040881f, -0.039965f, -0.038159f, -0.035521f, -0.032131f, -0.028094f, -0.023534f, -0.018587f, -0.013405f, -0.008140f, -0.002948f, 0.002020f, 0.006624f, 0.010739f, 0.014255f, 0.017086f, 0.019171f, 0.020472f, 0.020982f, 0.020716f, 0.019718f, 0.018055f, 0.015816f, 0.013106f, 0.010045f, 0.006761f, 0.003390f, 0.000064f, -0.003089f, -0.005948f, -0.008409f, -0.010382f, -0.011799f, -0.012613f, -0.012801f, -0.012364f, -0.011328f, -0.009738f, -0.007662f, -0.005186f, -0.002408f, 0.000561f, 0.003605f, 0.006606f, 0.009449f, 0.012024f, 0.014233f, 0.015990f, 0.017228f, 0.017899f, 0.017975f, 0.017451f, 0.016342f, 0.014686f, 0.012538f, 0.009971f, 0.007074f, 0.003945f, 0.000690f, -0.002582f, -0.005762f, -0.008746f, -0.011438f, -0.013752f, -0.015620f, -0.016988f, -0.017820f, -0.018103f, -0.017839f, -0.017054f, -0.015789f, -0.014103f, -0.012067f, -0.009765f, -0.007288f, -0.004733f, -0.002195f, 0.000231f, 0.002457f, 0.004404f, 0.006007f, 0.007212f, 0.007983f, 0.008300f, 0.008161f, 0.007579f, 0.006588f, 0.005231f, 0.003568f, 0.001667f, -0.000396f, -0.002539f, -0.004681f, -0.006741f, -0.008644f, -0.010323f, + -0.011721f, -0.012791f, -0.013503f, -0.013841f, -0.013802f, -0.013400f, -0.012664f, -0.011633f, -0.010359f, -0.008904f, -0.007334f, -0.005721f, -0.004135f, -0.002648f, -0.001324f, -0.000220f, 0.000614f, 0.001141f, 0.001337f, 0.001191f, 0.000706f, -0.000101f, -0.001202f, -0.002555f, -0.004110f, -0.005806f, -0.007579f, -0.009361f, -0.011084f, -0.012681f, -0.014090f, -0.015257f, -0.016136f, -0.016692f, -0.016901f, -0.016753f, -0.016251f, -0.015410f, -0.014257f, -0.012832f, -0.011182f, -0.009364f, -0.007438f, -0.005469f, -0.003522f, -0.001662f, 0.000053f, 0.001569f, 0.002840f, 0.003830f, 0.004514f, 0.004877f, 0.004918f, 0.004647f, 0.004082f, 0.003255f, 0.002204f, 0.000975f, -0.000380f, -0.001809f, -0.003256f, -0.004668f, -0.005995f, -0.007191f, -0.008219f, -0.009049f, -0.009660f, -0.010039f, -0.010187f, -0.010111f, -0.009828f, -0.009363f, -0.008750f, -0.008025f, -0.007229f, -0.006407f, -0.005599f, -0.004849f, -0.004192f, -0.003661f, -0.003282f, -0.003074f, -0.003046f, -0.003199f, -0.003528f, -0.004016f, -0.004641f, -0.005375f, -0.006183f, -0.007027f, -0.007870f, -0.008669f, -0.009389f, -0.009992f, -0.010450f, -0.010736f, + -0.010834f, -0.010735f, -0.010435f, -0.009943f, -0.009273f, -0.008447f, -0.007494f, -0.006448f, -0.005347f, -0.004233f, -0.003147f, -0.002130f, -0.001219f, -0.000448f, 0.000152f, 0.000562f, 0.000766f, 0.000758f, 0.000540f, 0.000123f, -0.000475f, -0.001229f, -0.002106f, -0.003070f, -0.004081f, -0.005098f, -0.006077f, -0.006980f, -0.007769f, -0.008411f, -0.008879f, -0.009156f, -0.009228f, -0.009093f, -0.008755f, -0.008228f, -0.007533f, -0.006698f, -0.005756f, -0.004745f, -0.003705f, -0.002679f, -0.001707f, -0.000829f, -0.000080f, 0.000510f, 0.000916f, 0.001124f, 0.001405f, -0.011307f, 0.023755f, 0.010060f, 0.007247f, 0.047340f, 0.037354f, -0.162787f, -0.162415f, -0.105082f, -0.018683f, 0.015858f, -0.054927f, -0.017871f, 0.216992f, 0.114575f, 0.071094f, -0.102642f, -0.015053f, 0.038868f, 0.109641f, 0.010900f, 0.003695f, -0.044931f, -0.067549f, -0.039879f, -0.028640f, -0.006825f, 0.044025f, 0.074633f, 0.068953f, -0.006513f, -0.131510f, -0.149665f, 0.005649f, 0.072184f, 0.101365f, 0.070488f, -0.005129f, -0.102374f, 0.162843f, -0.036980f, -0.071588f, -0.127539f, -0.101807f, 0.021461f, 0.192087f, 0.205971f, + 0.044353f, -0.202735f, -0.313378f, -0.270330f, 0.048024f, 0.305831f, 0.370715f, 0.273108f, -0.081253f, -0.352290f, -0.324178f, -0.071810f, -0.027099f, 0.314215f, 0.189838f, 0.005054f, -0.042232f, 0.088868f, -0.150193f, -0.020693f, -0.082737f, -0.035341f, -0.169353f, -0.150333f, -0.116398f, 0.089213f, 0.131883f, 0.177783f, -0.001054f, -0.186749f, -0.416386f, -0.157525f, 0.096505f, 0.311886f, 0.111138f, -0.093343f, -0.115374f, -0.089440f, 0.106927f, 0.135966f, 0.024655f, -0.177522f, -0.242578f, -0.118012f, 0.125475f, 0.314922f, 0.181500f, -0.073097f, -0.316649f, -0.389086f, -0.057635f, 0.169788f, 0.266739f, 0.089674f, -0.167879f, -0.348737f, -0.247511f, 0.018748f, 0.266828f, 0.312541f, 0.131098f, -0.088081f, -0.234146f, -0.241476f, -0.075798f, 0.114267f, 0.186007f, 0.028598f, -0.153952f, -0.128974f, -0.105816f, -0.012368f, 0.052341f, 0.051225f, -0.011653f, 0.005902f, -0.056305f, -0.040576f, -0.060932f, -0.026504f, -0.033534f, 0.068671f, 0.128337f, 0.085491f, -0.065497f, -0.180343f, -0.213819f, -0.063258f, 0.184496f, 0.324874f, 0.192777f, -0.044238f, -0.270100f, -0.311131f, -0.130907f, 0.119784f, + 0.260308f, 0.222679f, -0.025611f, -0.265754f, -0.246170f, -0.017878f, 0.155285f, 0.223147f, 0.105955f, -0.073536f, -0.160483f, -0.117929f, -0.026936f, 0.080816f, 0.141065f, 0.069388f, -0.056032f, -0.104513f, -0.097304f, 0.017071f, 0.108282f, 0.136150f, 0.050768f, -0.085694f, -0.150248f, -0.106420f, 0.039844f, 0.128671f, 0.141846f, 0.032064f, -0.075533f, -0.108401f, -0.077053f, 0.017857f, 0.086372f, 0.144167f, -0.054317f, -0.187772f, -0.175366f, 0.016080f, 0.171246f, 0.163549f, -0.024564f, -0.177619f, -0.155765f, 0.026498f, 0.149948f, 0.106725f, -0.054458f, -0.135474f, -0.071082f, 0.057778f, 0.089388f, 0.013412f, -0.071645f, -0.058854f, 0.017501f, 0.047369f, -0.015272f, -0.026602f, -0.001780f, 0.000565f, -0.007389f, -0.005318f, -0.006795f, -0.004696f, -0.006953f, -0.003315f, -0.004558f, -0.001633f, -0.005423f, -0.005203f, -0.007470f, -0.004443f, -0.007558f, -0.005285f, -0.006401f, -0.005032f, -0.005035f, -0.001361f, -0.006098f, -0.005330f, -0.005546f, -0.003775f, -0.005107f, -0.005011f, -0.005249f, -0.004569f, -0.006403f, -0.004169f, -0.004055f, -0.005732f, -0.005934f, -0.005591f, -0.004628f, -0.004699f}, + {0.040881f, 0.039965f, 0.038159f, 0.035521f, 0.032131f, 0.028094f, 0.023534f, 0.018587f, 0.013405f, 0.008140f, 0.002948f, -0.002020f, -0.006624f, -0.010739f, -0.014255f, -0.017086f, -0.019171f, -0.020472f, -0.020982f, -0.020716f, -0.019718f, -0.018055f, -0.015816f, -0.013106f, -0.010045f, -0.006761f, -0.003390f, -0.000064f, 0.003089f, 0.005948f, 0.008409f, 0.010382f, 0.011799f, 0.012613f, 0.012801f, 0.012364f, 0.011328f, 0.009738f, 0.007662f, 0.005186f, 0.002408f, -0.000561f, -0.003605f, -0.006606f, -0.009449f, -0.012024f, -0.014233f, -0.015990f, -0.017228f, -0.017899f, -0.017975f, -0.017451f, -0.016342f, -0.014686f, -0.012538f, -0.009971f, -0.007074f, -0.003945f, -0.000690f, 0.002582f, 0.005762f, 0.008746f, 0.011438f, 0.013752f, 0.015620f, 0.016988f, 0.017820f, 0.018103f, 0.017839f, 0.017054f, 0.015789f, 0.014103f, 0.012067f, 0.009765f, 0.007288f, 0.004733f, 0.002195f, -0.000231f, -0.002457f, -0.004404f, -0.006007f, -0.007212f, -0.007983f, -0.008300f, -0.008161f, -0.007579f, -0.006588f, -0.005231f, -0.003568f, -0.001667f, 0.000396f, 0.002539f, 0.004681f, 0.006741f, 0.008644f, 0.010323f, + 0.011721f, 0.012791f, 0.013503f, 0.013841f, 0.013802f, 0.013400f, 0.012664f, 0.011633f, 0.010359f, 0.008904f, 0.007334f, 0.005721f, 0.004135f, 0.002648f, 0.001324f, 0.000220f, -0.000614f, -0.001141f, -0.001337f, -0.001191f, -0.000706f, 0.000101f, 0.001202f, 0.002555f, 0.004110f, 0.005806f, 0.007579f, 0.009361f, 0.011084f, 0.012681f, 0.014090f, 0.015257f, 0.016136f, 0.016692f, 0.016901f, 0.016753f, 0.016251f, 0.015410f, 0.014257f, 0.012832f, 0.011182f, 0.009364f, 0.007438f, 0.005469f, 0.003522f, 0.001662f, -0.000053f, -0.001569f, -0.002840f, -0.003830f, -0.004514f, -0.004877f, -0.004918f, -0.004647f, -0.004082f, -0.003255f, -0.002204f, -0.000975f, 0.000380f, 0.001809f, 0.003256f, 0.004668f, 0.005995f, 0.007191f, 0.008219f, 0.009049f, 0.009660f, 0.010039f, 0.010187f, 0.010111f, 0.009828f, 0.009363f, 0.008750f, 0.008025f, 0.007229f, 0.006407f, 0.005599f, 0.004849f, 0.004192f, 0.003661f, 0.003282f, 0.003074f, 0.003046f, 0.003199f, 0.003528f, 0.004016f, 0.004641f, 0.005375f, 0.006183f, 0.007027f, 0.007870f, 0.008669f, 0.009389f, 0.009992f, 0.010450f, 0.010736f, + 0.010834f, 0.010735f, 0.010435f, 0.009943f, 0.009273f, 0.008447f, 0.007494f, 0.006448f, 0.005347f, 0.004233f, 0.003147f, 0.002130f, 0.001219f, 0.000448f, -0.000152f, -0.000562f, -0.000766f, -0.000758f, -0.000540f, -0.000123f, 0.000475f, 0.001229f, 0.002106f, 0.003070f, 0.004081f, 0.005098f, 0.006077f, 0.006980f, 0.007769f, 0.008411f, 0.008879f, 0.009156f, 0.009228f, 0.009093f, 0.008755f, 0.008228f, 0.007533f, 0.006698f, 0.005756f, 0.004745f, 0.003705f, 0.002679f, 0.001707f, 0.000829f, 0.000080f, -0.000510f, -0.000916f, -0.001124f, -0.001405f, 0.011307f, -0.023755f, -0.010060f, -0.007247f, -0.047340f, -0.037354f, 0.162787f, 0.162415f, 0.105082f, 0.018683f, -0.015858f, 0.054927f, 0.017871f, -0.216992f, -0.114575f, -0.071094f, 0.102642f, 0.015053f, -0.038868f, -0.109641f, -0.010900f, -0.003695f, 0.044931f, 0.067549f, 0.039879f, 0.028640f, 0.006825f, -0.044025f, -0.074633f, -0.068953f, 0.006513f, 0.131510f, 0.149665f, -0.005649f, -0.072184f, -0.101365f, -0.070488f, 0.005129f, 0.102374f, -0.162843f, 0.036980f, 0.071588f, 0.127539f, 0.101807f, -0.021461f, -0.192087f, -0.205971f, + -0.044353f, 0.202735f, 0.313378f, 0.270330f, -0.048024f, -0.305831f, -0.370715f, -0.273108f, 0.081253f, 0.352290f, 0.324178f, 0.071810f, 0.027099f, -0.314215f, -0.189838f, -0.005054f, 0.042232f, -0.088868f, 0.150193f, 0.020693f, 0.082737f, 0.035341f, 0.169353f, 0.150333f, 0.116398f, -0.089213f, -0.131883f, -0.177783f, 0.001054f, 0.186749f, 0.416386f, 0.157525f, -0.096505f, -0.311886f, -0.111138f, 0.093343f, 0.115374f, 0.089440f, -0.106927f, -0.135966f, -0.024655f, 0.177522f, 0.242578f, 0.118012f, -0.125475f, -0.314922f, -0.181500f, 0.073097f, 0.316649f, 0.389086f, 0.057635f, -0.169788f, -0.266739f, -0.089674f, 0.167879f, 0.348737f, 0.247511f, -0.018748f, -0.266828f, -0.312541f, -0.131098f, 0.088081f, 0.234146f, 0.241476f, 0.075798f, -0.114267f, -0.186007f, -0.028598f, 0.153952f, 0.128974f, 0.105816f, 0.012368f, -0.052341f, -0.051225f, 0.011653f, -0.005902f, 0.056305f, 0.040576f, 0.060932f, 0.026504f, 0.033534f, -0.068671f, -0.128337f, -0.085491f, 0.065497f, 0.180343f, 0.213819f, 0.063258f, -0.184496f, -0.324874f, -0.192777f, 0.044238f, 0.270100f, 0.311131f, 0.130907f, -0.119784f, + -0.260308f, -0.222679f, 0.025611f, 0.265754f, 0.246170f, 0.017878f, -0.155285f, -0.223147f, -0.105955f, 0.073536f, 0.160483f, 0.117929f, 0.026936f, -0.080816f, -0.141065f, -0.069388f, 0.056032f, 0.104513f, 0.097304f, -0.017071f, -0.108282f, -0.136150f, -0.050768f, 0.085694f, 0.150248f, 0.106420f, -0.039844f, -0.128671f, -0.141846f, -0.032064f, 0.075533f, 0.108401f, 0.077053f, -0.017857f, -0.086372f, -0.144167f, 0.054317f, 0.187772f, 0.175366f, -0.016080f, -0.171246f, -0.163549f, 0.024564f, 0.177619f, 0.155765f, -0.026498f, -0.149948f, -0.106725f, 0.054458f, 0.135474f, 0.071082f, -0.057778f, -0.089388f, -0.013412f, 0.071645f, 0.058854f, -0.017501f, -0.047369f, 0.015272f, 0.026602f, 0.001780f, -0.000565f, 0.007389f, 0.005318f, 0.006795f, 0.004696f, 0.006953f, 0.003315f, 0.004558f, 0.001633f, 0.005423f, 0.005203f, 0.007470f, 0.004443f, 0.007558f, 0.005285f, 0.006401f, 0.005032f, 0.005035f, 0.001361f, 0.006098f, 0.005330f, 0.005546f, 0.003775f, 0.005107f, 0.005011f, 0.005249f, 0.004569f, 0.006403f, 0.004169f, 0.004055f, 0.005732f, 0.005934f, 0.005591f, 0.004628f, 0.004699f} + }, + { + {-0.029892f, -0.029542f, -0.028856f, -0.027857f, -0.026583f, -0.025079f, -0.023399f, -0.021600f, -0.019744f, -0.017891f, -0.016098f, -0.014418f, -0.012895f, -0.011561f, -0.010440f, -0.009540f, -0.008855f, -0.008369f, -0.008049f, -0.007854f, -0.007730f, -0.007616f, -0.007448f, -0.007158f, -0.006680f, -0.005952f, -0.004918f, -0.003536f, -0.001775f, 0.000383f, 0.002934f, 0.005861f, 0.009126f, 0.012674f, 0.016434f, 0.020319f, 0.024230f, 0.028058f, 0.031689f, 0.035007f, 0.037898f, 0.040252f, 0.041972f, 0.042973f, 0.043189f, 0.042572f, 0.041100f, 0.038772f, 0.035614f, 0.031677f, 0.027035f, 0.021787f, 0.016048f, 0.009953f, 0.003650f, -0.002707f, -0.008959f, -0.014945f, -0.020515f, -0.025524f, -0.029848f, -0.033376f, -0.036023f, -0.037728f, -0.038458f, -0.038206f, -0.036995f, -0.034872f, -0.031914f, -0.028218f, -0.023902f, -0.019098f, -0.013952f, -0.008616f, -0.003243f, 0.002016f, 0.007018f, 0.011632f, 0.015743f, 0.019255f, 0.022095f, 0.024213f, 0.025584f, 0.026207f, 0.026107f, 0.025331f, 0.023946f, 0.022036f, 0.019699f, 0.017044f, 0.014184f, 0.011235f, 0.008308f, 0.005510f, 0.002935f, 0.000663f, + -0.001242f, -0.002733f, -0.003786f, -0.004393f, -0.004571f, -0.004350f, -0.003782f, -0.002930f, -0.001872f, -0.000690f, 0.000525f, 0.001683f, 0.002699f, 0.003490f, 0.003986f, 0.004128f, 0.003872f, 0.003192f, 0.002077f, 0.000537f, -0.001401f, -0.003695f, -0.006286f, -0.009104f, -0.012065f, -0.015083f, -0.018065f, -0.020919f, -0.023555f, -0.025891f, -0.027854f, -0.029383f, -0.030432f, -0.030969f, -0.030982f, -0.030475f, -0.029468f, -0.027999f, -0.026120f, -0.023894f, -0.021395f, -0.018706f, -0.015911f, -0.013097f, -0.010347f, -0.007739f, -0.005344f, -0.003220f, -0.001415f, 0.000040f, 0.001127f, 0.001844f, 0.002204f, 0.002235f, 0.001976f, 0.001478f, 0.000801f, 0.000009f, -0.000830f, -0.001647f, -0.002379f, -0.002965f, -0.003354f, -0.003506f, -0.003391f, -0.002992f, -0.002309f, -0.001353f, -0.000149f, 0.001265f, 0.002842f, 0.004523f, 0.006247f, 0.007944f, 0.009546f, 0.010988f, 0.012205f, 0.013144f, 0.013759f, 0.014014f, 0.013888f, 0.013374f, 0.012478f, 0.011219f, 0.009633f, 0.007766f, 0.005674f, 0.003424f, 0.001085f, -0.001265f, -0.003552f, -0.005703f, -0.007649f, -0.009329f, -0.010692f, -0.011698f, + -0.012321f, -0.012549f, -0.012384f, -0.011842f, -0.010953f, -0.009760f, -0.008315f, -0.006679f, -0.004921f, -0.003112f, -0.001323f, 0.000375f, 0.001917f, 0.003245f, 0.004311f, 0.005076f, 0.005514f, 0.005615f, 0.005380f, 0.004824f, 0.003975f, 0.002872f, 0.001564f, 0.000109f, -0.001431f, -0.002990f, -0.004504f, -0.005909f, -0.007146f, -0.008165f, -0.008925f, -0.009393f, -0.009551f, -0.009394f, -0.008928f, -0.008172f, -0.007159f, -0.005929f, -0.004534f, -0.003031f, -0.001480f, 0.000053f, 0.001507f, 0.002823f, 0.003946f, 0.004831f, 0.005442f, 0.005753f, 0.036056f, 0.021124f, 0.026973f, 0.002853f, 0.025504f, -0.036759f, 0.120369f, 0.068962f, -0.020475f, -0.006364f, 0.082802f, -0.095240f, 0.015746f, 0.112186f, -0.049374f, -0.361187f, -0.225574f, -0.127324f, 0.157493f, 0.116115f, -0.176209f, -0.033021f, 0.133424f, 0.235411f, 0.062228f, -0.044699f, -0.116768f, -0.191572f, -0.051900f, 0.128522f, 0.226795f, 0.159784f, 0.002433f, -0.116993f, -0.146142f, -0.075191f, 0.062285f, 0.165989f, 0.094672f, 0.046845f, -0.069561f, -0.120506f, -0.054545f, 0.095776f, 0.175229f, 0.142224f, -0.009731f, -0.071782f, + -0.077554f, -0.112175f, -0.041778f, 0.011164f, 0.128118f, 0.208308f, 0.235745f, 0.111922f, -0.132997f, -0.259796f, -0.113422f, 0.074893f, -0.038254f, 0.238270f, 0.168505f, 0.082608f, -0.031260f, 0.116822f, -0.233589f, -0.185223f, -0.173442f, 0.043233f, 0.021947f, 0.054493f, -0.126625f, 0.023288f, 0.105875f, 0.198739f, 0.250896f, -0.249375f, -0.448407f, -0.145145f, 0.106279f, 0.302558f, 0.246126f, 0.196574f, -0.235638f, -0.653698f, -0.528796f, -0.090020f, 0.349899f, 0.436636f, 0.195874f, -0.175564f, -0.414966f, -0.390250f, -0.051659f, 0.151280f, 0.221583f, 0.036830f, -0.113118f, -0.102813f, 0.129464f, 0.150724f, 0.030080f, -0.103389f, -0.144849f, -0.060319f, 0.117822f, 0.184830f, 0.123875f, -0.015875f, -0.102409f, -0.076583f, -0.014518f, 0.191465f, 0.143807f, -0.120737f, -0.168517f, -0.104127f, -0.043151f, 0.037230f, 0.046696f, -0.021623f, -0.120959f, -0.067850f, -0.039591f, -0.013026f, -0.008023f, 0.001913f, -0.040271f, -0.073136f, 0.018257f, 0.059690f, 0.043106f, -0.031780f, -0.123499f, -0.075675f, -0.003068f, 0.069011f, 0.094692f, 0.066325f, -0.067325f, -0.140321f, -0.080914f, 0.095344f, + 0.192658f, 0.148638f, -0.039963f, -0.225561f, -0.285811f, -0.131370f, 0.112440f, 0.338432f, 0.285997f, 0.056425f, -0.307868f, -0.433614f, -0.250132f, 0.100298f, 0.381305f, 0.396289f, 0.121852f, -0.230055f, -0.398159f, -0.299296f, -0.003885f, 0.316878f, 0.413720f, 0.151302f, -0.177576f, -0.366316f, -0.264946f, 0.003264f, 0.196150f, 0.209733f, 0.039209f, -0.155458f, -0.213414f, -0.109735f, 0.103263f, 0.311253f, 0.159213f, -0.165452f, -0.350194f, -0.227372f, 0.093303f, 0.300425f, 0.213728f, -0.091342f, -0.300816f, -0.218461f, 0.065816f, 0.244071f, 0.162550f, -0.092415f, -0.238137f, -0.128252f, 0.100712f, 0.181651f, 0.030990f, -0.157017f, -0.115265f, 0.070998f, 0.081800f, -0.046351f, -0.044295f, 0.008006f, 0.002149f, -0.009225f, -0.006588f, -0.009025f, -0.006800f, -0.005616f, -0.005679f, -0.009525f, -0.008407f, -0.006958f, -0.003893f, -0.006852f, -0.008169f, -0.007599f, -0.008781f, -0.005618f, -0.005729f, -0.006583f, -0.011031f, -0.006071f, -0.008584f, -0.006814f, -0.003493f, -0.006068f, -0.008759f, -0.010555f, -0.008607f, -0.005921f, -0.007738f, -0.005798f, -0.007830f, -0.004725f, -0.005808f, -0.010209f}, + {-0.029892f, -0.029542f, -0.028856f, -0.027857f, -0.026583f, -0.025079f, -0.023399f, -0.021600f, -0.019744f, -0.017891f, -0.016098f, -0.014418f, -0.012895f, -0.011561f, -0.010440f, -0.009540f, -0.008855f, -0.008369f, -0.008049f, -0.007854f, -0.007730f, -0.007616f, -0.007448f, -0.007158f, -0.006680f, -0.005952f, -0.004918f, -0.003536f, -0.001775f, 0.000383f, 0.002934f, 0.005861f, 0.009126f, 0.012674f, 0.016434f, 0.020319f, 0.024230f, 0.028058f, 0.031689f, 0.035007f, 0.037898f, 0.040252f, 0.041972f, 0.042973f, 0.043189f, 0.042572f, 0.041100f, 0.038772f, 0.035614f, 0.031677f, 0.027035f, 0.021787f, 0.016048f, 0.009953f, 0.003650f, -0.002707f, -0.008959f, -0.014945f, -0.020515f, -0.025524f, -0.029848f, -0.033376f, -0.036023f, -0.037728f, -0.038458f, -0.038206f, -0.036995f, -0.034872f, -0.031914f, -0.028218f, -0.023902f, -0.019098f, -0.013952f, -0.008616f, -0.003243f, 0.002016f, 0.007018f, 0.011632f, 0.015743f, 0.019255f, 0.022095f, 0.024213f, 0.025584f, 0.026207f, 0.026107f, 0.025331f, 0.023946f, 0.022036f, 0.019699f, 0.017044f, 0.014184f, 0.011235f, 0.008308f, 0.005510f, 0.002935f, 0.000663f, + -0.001242f, -0.002733f, -0.003786f, -0.004393f, -0.004571f, -0.004350f, -0.003782f, -0.002930f, -0.001872f, -0.000690f, 0.000525f, 0.001683f, 0.002699f, 0.003490f, 0.003986f, 0.004128f, 0.003872f, 0.003192f, 0.002077f, 0.000537f, -0.001401f, -0.003695f, -0.006286f, -0.009104f, -0.012065f, -0.015083f, -0.018065f, -0.020919f, -0.023555f, -0.025891f, -0.027854f, -0.029383f, -0.030432f, -0.030969f, -0.030982f, -0.030475f, -0.029468f, -0.027999f, -0.026120f, -0.023894f, -0.021395f, -0.018706f, -0.015911f, -0.013097f, -0.010347f, -0.007739f, -0.005344f, -0.003220f, -0.001415f, 0.000040f, 0.001127f, 0.001844f, 0.002204f, 0.002235f, 0.001976f, 0.001478f, 0.000801f, 0.000009f, -0.000830f, -0.001647f, -0.002379f, -0.002965f, -0.003354f, -0.003506f, -0.003391f, -0.002992f, -0.002309f, -0.001353f, -0.000149f, 0.001265f, 0.002842f, 0.004523f, 0.006247f, 0.007944f, 0.009546f, 0.010988f, 0.012205f, 0.013144f, 0.013759f, 0.014014f, 0.013888f, 0.013374f, 0.012478f, 0.011219f, 0.009633f, 0.007766f, 0.005674f, 0.003424f, 0.001085f, -0.001265f, -0.003552f, -0.005703f, -0.007649f, -0.009329f, -0.010692f, -0.011698f, + -0.012321f, -0.012549f, -0.012384f, -0.011842f, -0.010953f, -0.009760f, -0.008315f, -0.006679f, -0.004921f, -0.003112f, -0.001323f, 0.000375f, 0.001917f, 0.003245f, 0.004311f, 0.005076f, 0.005514f, 0.005615f, 0.005380f, 0.004824f, 0.003975f, 0.002872f, 0.001564f, 0.000109f, -0.001431f, -0.002990f, -0.004504f, -0.005909f, -0.007146f, -0.008165f, -0.008925f, -0.009393f, -0.009551f, -0.009394f, -0.008928f, -0.008172f, -0.007159f, -0.005929f, -0.004534f, -0.003031f, -0.001480f, 0.000053f, 0.001507f, 0.002823f, 0.003946f, 0.004831f, 0.005442f, 0.005753f, 0.036056f, 0.021124f, 0.026973f, 0.002853f, 0.025504f, -0.036759f, 0.120369f, 0.068962f, -0.020475f, -0.006364f, 0.082802f, -0.095240f, 0.015746f, 0.112186f, -0.049374f, -0.361187f, -0.225574f, -0.127324f, 0.157493f, 0.116115f, -0.176209f, -0.033021f, 0.133424f, 0.235411f, 0.062228f, -0.044699f, -0.116768f, -0.191572f, -0.051900f, 0.128522f, 0.226795f, 0.159784f, 0.002433f, -0.116993f, -0.146142f, -0.075191f, 0.062285f, 0.165989f, 0.094672f, 0.046845f, -0.069561f, -0.120506f, -0.054545f, 0.095776f, 0.175229f, 0.142224f, -0.009731f, -0.071782f, + -0.077554f, -0.112175f, -0.041778f, 0.011164f, 0.128118f, 0.208308f, 0.235745f, 0.111922f, -0.132997f, -0.259796f, -0.113422f, 0.074893f, -0.038254f, 0.238270f, 0.168505f, 0.082608f, -0.031260f, 0.116822f, -0.233589f, -0.185223f, -0.173442f, 0.043233f, 0.021947f, 0.054493f, -0.126625f, 0.023288f, 0.105875f, 0.198739f, 0.250896f, -0.249375f, -0.448407f, -0.145145f, 0.106279f, 0.302558f, 0.246126f, 0.196574f, -0.235638f, -0.653698f, -0.528796f, -0.090020f, 0.349899f, 0.436636f, 0.195874f, -0.175564f, -0.414966f, -0.390250f, -0.051659f, 0.151280f, 0.221583f, 0.036830f, -0.113118f, -0.102813f, 0.129464f, 0.150724f, 0.030080f, -0.103389f, -0.144849f, -0.060319f, 0.117822f, 0.184830f, 0.123875f, -0.015875f, -0.102409f, -0.076583f, -0.014518f, 0.191465f, 0.143807f, -0.120737f, -0.168517f, -0.104127f, -0.043151f, 0.037230f, 0.046696f, -0.021623f, -0.120959f, -0.067850f, -0.039591f, -0.013026f, -0.008023f, 0.001913f, -0.040271f, -0.073136f, 0.018257f, 0.059690f, 0.043106f, -0.031780f, -0.123499f, -0.075675f, -0.003068f, 0.069011f, 0.094692f, 0.066325f, -0.067325f, -0.140321f, -0.080914f, 0.095344f, + 0.192658f, 0.148638f, -0.039963f, -0.225561f, -0.285811f, -0.131370f, 0.112440f, 0.338432f, 0.285997f, 0.056425f, -0.307868f, -0.433614f, -0.250132f, 0.100298f, 0.381305f, 0.396289f, 0.121852f, -0.230055f, -0.398159f, -0.299296f, -0.003885f, 0.316878f, 0.413720f, 0.151302f, -0.177576f, -0.366316f, -0.264946f, 0.003264f, 0.196150f, 0.209733f, 0.039209f, -0.155458f, -0.213414f, -0.109735f, 0.103263f, 0.311253f, 0.159213f, -0.165452f, -0.350194f, -0.227372f, 0.093303f, 0.300425f, 0.213728f, -0.091342f, -0.300816f, -0.218461f, 0.065816f, 0.244071f, 0.162550f, -0.092415f, -0.238137f, -0.128252f, 0.100712f, 0.181651f, 0.030990f, -0.157017f, -0.115265f, 0.070998f, 0.081800f, -0.046351f, -0.044295f, 0.008006f, 0.002149f, -0.009225f, -0.006588f, -0.009025f, -0.006800f, -0.005616f, -0.005679f, -0.009525f, -0.008407f, -0.006958f, -0.003893f, -0.006852f, -0.008169f, -0.007599f, -0.008781f, -0.005618f, -0.005729f, -0.006583f, -0.011031f, -0.006071f, -0.008584f, -0.006814f, -0.003493f, -0.006068f, -0.008759f, -0.010555f, -0.008607f, -0.005921f, -0.007738f, -0.005798f, -0.007830f, -0.004725f, -0.005808f, -0.010209f} + }, + { + {-0.014853f, -0.014704f, -0.014411f, -0.013990f, -0.013461f, -0.012849f, -0.012185f, -0.011500f, -0.010831f, -0.010211f, -0.009675f, -0.009252f, -0.008968f, -0.008844f, -0.008893f, -0.009121f, -0.009525f, -0.010095f, -0.010810f, -0.011644f, -0.012561f, -0.013520f, -0.014474f, -0.015372f, -0.016163f, -0.016793f, -0.017211f, -0.017371f, -0.017230f, -0.016755f, -0.015919f, -0.014708f, -0.013117f, -0.011153f, -0.008836f, -0.006199f, -0.003284f, -0.000147f, 0.003149f, 0.006531f, 0.009921f, 0.013235f, 0.016389f, 0.019297f, 0.021880f, 0.024059f, 0.025766f, 0.026943f, 0.027540f, 0.027524f, 0.026875f, 0.025588f, 0.023674f, 0.021160f, 0.018087f, 0.014513f, 0.010507f, 0.006150f, 0.001532f, -0.003249f, -0.008091f, -0.012889f, -0.017541f, -0.021946f, -0.026010f, -0.029648f, -0.032785f, -0.035358f, -0.037320f, -0.038638f, -0.039295f, -0.039291f, -0.038643f, -0.037382f, -0.035555f, -0.033222f, -0.030454f, -0.027331f, -0.023942f, -0.020380f, -0.016738f, -0.013112f, -0.009591f, -0.006263f, -0.003205f, -0.000485f, 0.001839f, 0.003724f, 0.005139f, 0.006068f, 0.006509f, 0.006473f, 0.005989f, 0.005093f, 0.003835f, 0.002275f, + 0.000479f, -0.001479f, -0.003525f, -0.005581f, -0.007571f, -0.009421f, -0.011066f, -0.012443f, -0.013502f, -0.014201f, -0.014508f, -0.014406f, -0.013888f, -0.012960f, -0.011639f, -0.009953f, -0.007944f, -0.005657f, -0.003151f, -0.000486f, 0.002270f, 0.005050f, 0.007783f, 0.010401f, 0.012840f, 0.015038f, 0.016941f, 0.018502f, 0.019684f, 0.020458f, 0.020805f, 0.020716f, 0.020195f, 0.019253f, 0.017912f, 0.016203f, 0.014165f, 0.011845f, 0.009293f, 0.006565f, 0.003720f, 0.000819f, -0.002080f, -0.004917f, -0.007637f, -0.010188f, -0.012524f, -0.014605f, -0.016397f, -0.017873f, -0.019017f, -0.019817f, -0.020271f, -0.020385f, -0.020172f, -0.019650f, -0.018847f, -0.017792f, -0.016521f, -0.015073f, -0.013489f, -0.011811f, -0.010081f, -0.008343f, -0.006635f, -0.004996f, -0.003461f, -0.002058f, -0.000816f, 0.000247f, 0.001113f, 0.001773f, 0.002222f, 0.002460f, 0.002493f, 0.002331f, 0.001987f, 0.001482f, 0.000834f, 0.000069f, -0.000788f, -0.001710f, -0.002671f, -0.003644f, -0.004603f, -0.005524f, -0.006384f, -0.007165f, -0.007850f, -0.008424f, -0.008879f, -0.009209f, -0.009409f, -0.009481f, -0.009429f, -0.009260f, + -0.008984f, -0.008613f, -0.008161f, -0.007645f, -0.007081f, -0.006485f, -0.005876f, -0.005271f, -0.004684f, -0.004131f, -0.003625f, -0.003177f, -0.002795f, -0.002486f, -0.002254f, -0.002099f, -0.002022f, -0.002019f, -0.002085f, -0.002212f, -0.002392f, -0.002614f, -0.002869f, -0.003143f, -0.003427f, -0.003708f, -0.003977f, -0.004223f, -0.004439f, -0.004617f, -0.004752f, -0.004840f, -0.004880f, -0.004873f, -0.004819f, -0.004724f, -0.004591f, -0.004428f, -0.004241f, -0.004040f, -0.003832f, -0.003627f, -0.003433f, -0.003257f, -0.003107f, -0.002990f, -0.002908f, -0.002867f, -0.021142f, -0.012772f, 0.041782f, 0.011461f, -0.023324f, -0.048552f, 0.083324f, 0.128741f, 0.163210f, 0.022466f, -0.073034f, -0.164555f, -0.008334f, 0.027284f, -0.094363f, -0.135137f, -0.128155f, -0.159423f, 0.082480f, 0.276145f, 0.024414f, 0.012123f, -0.073510f, -0.075878f, -0.059393f, 0.141106f, 0.094630f, 0.252383f, 0.019271f, 0.006408f, -0.120424f, -0.077277f, -0.046363f, 0.087579f, 0.149186f, 0.113399f, -0.009919f, -0.070191f, -0.072746f, -0.074360f, -0.034070f, 0.050165f, 0.105453f, 0.054835f, -0.023624f, -0.052217f, -0.043143f, 0.060931f, + 0.037146f, -0.077516f, -0.101350f, -0.030535f, 0.010477f, 0.027091f, 0.106609f, -0.004045f, 0.035518f, -0.038627f, 0.027477f, -0.009505f, -0.146818f, 0.148435f, 0.115373f, -0.024588f, -0.084493f, 0.082609f, -0.189595f, -0.023110f, -0.024360f, 0.019452f, -0.139658f, -0.250359f, -0.312635f, 0.005022f, 0.285309f, 0.301526f, 0.106997f, -0.150844f, -0.259924f, -0.206224f, 0.000870f, 0.241643f, 0.281995f, 0.062769f, -0.089250f, -0.041351f, 0.002812f, 0.054198f, 0.045527f, 0.040906f, -0.053555f, -0.145768f, -0.138296f, -0.016220f, 0.154665f, 0.237434f, 0.194321f, 0.016704f, -0.203386f, -0.280457f, -0.244762f, 0.079565f, 0.301006f, 0.366981f, 0.209383f, -0.097659f, -0.290700f, -0.270046f, -0.115097f, 0.058905f, 0.086002f, 0.106486f, 0.028261f, -0.094005f, -0.005879f, 0.130444f, 0.200986f, -0.052487f, -0.121960f, -0.124044f, 0.042045f, 0.084948f, 0.176359f, 0.093919f, -0.040256f, -0.179410f, -0.211577f, -0.091507f, 0.129094f, 0.291859f, 0.261148f, 0.052084f, -0.248293f, -0.365230f, -0.303634f, 0.002162f, 0.338277f, 0.428645f, 0.233104f, -0.079498f, -0.326450f, -0.334632f, -0.092269f, 0.060237f, + 0.159157f, 0.139104f, 0.076327f, -0.011701f, -0.089277f, -0.092387f, -0.028372f, 0.036030f, 0.113183f, 0.072351f, 0.020929f, -0.031411f, -0.112913f, -0.067827f, -0.012575f, 0.118199f, 0.122719f, 0.053657f, -0.066424f, -0.129719f, -0.134491f, -0.023484f, 0.111408f, 0.114918f, 0.026332f, 0.015100f, -0.020594f, -0.043328f, -0.065491f, -0.008995f, 0.028595f, 0.063051f, 0.066698f, 0.020313f, -0.018236f, 0.019814f, -0.129555f, -0.137360f, -0.047141f, 0.080344f, 0.098521f, 0.034005f, -0.063626f, -0.085019f, -0.038896f, 0.031129f, 0.050531f, 0.026089f, -0.021032f, -0.038992f, -0.035237f, 0.003396f, 0.028927f, 0.029184f, -0.008887f, -0.036009f, -0.020577f, 0.026326f, 0.015104f, -0.015360f, -0.013356f, 0.007853f, -0.001375f, -0.000048f, -0.004307f, 0.001124f, -0.000891f, -0.000933f, -0.002570f, 0.000851f, -0.002801f, -0.000454f, -0.000990f, -0.000218f, -0.001979f, 0.003152f, -0.001396f, -0.001332f, 0.003680f, 0.001222f, 0.000151f, -0.000306f, -0.001812f, -0.001295f, -0.002856f, 0.000203f, -0.004890f, 0.002523f, 0.000903f, 0.002135f, -0.002393f, -0.001312f, 0.000310f, -0.002222f, -0.000223f, -0.000378f}, + {-0.014853f, -0.014704f, -0.014411f, -0.013990f, -0.013461f, -0.012849f, -0.012185f, -0.011500f, -0.010831f, -0.010211f, -0.009675f, -0.009252f, -0.008968f, -0.008844f, -0.008893f, -0.009121f, -0.009525f, -0.010095f, -0.010810f, -0.011644f, -0.012561f, -0.013520f, -0.014474f, -0.015372f, -0.016163f, -0.016793f, -0.017211f, -0.017371f, -0.017230f, -0.016755f, -0.015919f, -0.014708f, -0.013117f, -0.011153f, -0.008836f, -0.006199f, -0.003284f, -0.000147f, 0.003149f, 0.006531f, 0.009921f, 0.013235f, 0.016389f, 0.019297f, 0.021880f, 0.024059f, 0.025766f, 0.026943f, 0.027540f, 0.027524f, 0.026875f, 0.025588f, 0.023674f, 0.021160f, 0.018087f, 0.014513f, 0.010507f, 0.006150f, 0.001532f, -0.003249f, -0.008091f, -0.012889f, -0.017541f, -0.021946f, -0.026010f, -0.029648f, -0.032785f, -0.035358f, -0.037320f, -0.038638f, -0.039295f, -0.039291f, -0.038643f, -0.037382f, -0.035555f, -0.033222f, -0.030454f, -0.027331f, -0.023942f, -0.020380f, -0.016738f, -0.013112f, -0.009591f, -0.006263f, -0.003205f, -0.000485f, 0.001839f, 0.003724f, 0.005139f, 0.006068f, 0.006509f, 0.006473f, 0.005989f, 0.005093f, 0.003835f, 0.002275f, + 0.000479f, -0.001479f, -0.003525f, -0.005581f, -0.007571f, -0.009421f, -0.011066f, -0.012443f, -0.013502f, -0.014201f, -0.014508f, -0.014406f, -0.013888f, -0.012960f, -0.011639f, -0.009953f, -0.007944f, -0.005657f, -0.003151f, -0.000486f, 0.002270f, 0.005050f, 0.007783f, 0.010401f, 0.012840f, 0.015038f, 0.016941f, 0.018502f, 0.019684f, 0.020458f, 0.020805f, 0.020716f, 0.020195f, 0.019253f, 0.017912f, 0.016203f, 0.014165f, 0.011845f, 0.009293f, 0.006565f, 0.003720f, 0.000819f, -0.002080f, -0.004917f, -0.007637f, -0.010188f, -0.012524f, -0.014605f, -0.016397f, -0.017873f, -0.019017f, -0.019817f, -0.020271f, -0.020385f, -0.020172f, -0.019650f, -0.018847f, -0.017792f, -0.016521f, -0.015073f, -0.013489f, -0.011811f, -0.010081f, -0.008343f, -0.006635f, -0.004996f, -0.003461f, -0.002058f, -0.000816f, 0.000247f, 0.001113f, 0.001773f, 0.002222f, 0.002460f, 0.002493f, 0.002331f, 0.001987f, 0.001482f, 0.000834f, 0.000069f, -0.000788f, -0.001710f, -0.002671f, -0.003644f, -0.004603f, -0.005524f, -0.006384f, -0.007165f, -0.007850f, -0.008424f, -0.008879f, -0.009209f, -0.009409f, -0.009481f, -0.009429f, -0.009260f, + -0.008984f, -0.008613f, -0.008161f, -0.007645f, -0.007081f, -0.006485f, -0.005876f, -0.005271f, -0.004684f, -0.004131f, -0.003625f, -0.003177f, -0.002795f, -0.002486f, -0.002254f, -0.002099f, -0.002022f, -0.002019f, -0.002085f, -0.002212f, -0.002392f, -0.002614f, -0.002869f, -0.003143f, -0.003427f, -0.003708f, -0.003977f, -0.004223f, -0.004439f, -0.004617f, -0.004752f, -0.004840f, -0.004880f, -0.004873f, -0.004819f, -0.004724f, -0.004591f, -0.004428f, -0.004241f, -0.004040f, -0.003832f, -0.003627f, -0.003433f, -0.003257f, -0.003107f, -0.002990f, -0.002908f, -0.002867f, -0.021142f, -0.012772f, 0.041782f, 0.011461f, -0.023324f, -0.048552f, 0.083324f, 0.128741f, 0.163210f, 0.022466f, -0.073034f, -0.164555f, -0.008334f, 0.027284f, -0.094363f, -0.135137f, -0.128155f, -0.159423f, 0.082480f, 0.276145f, 0.024414f, 0.012123f, -0.073510f, -0.075878f, -0.059393f, 0.141106f, 0.094630f, 0.252383f, 0.019271f, 0.006408f, -0.120424f, -0.077277f, -0.046363f, 0.087579f, 0.149186f, 0.113399f, -0.009919f, -0.070191f, -0.072746f, -0.074360f, -0.034070f, 0.050165f, 0.105453f, 0.054835f, -0.023624f, -0.052217f, -0.043143f, 0.060931f, + 0.037146f, -0.077516f, -0.101350f, -0.030535f, 0.010477f, 0.027091f, 0.106609f, -0.004045f, 0.035518f, -0.038627f, 0.027477f, -0.009505f, -0.146818f, 0.148435f, 0.115373f, -0.024588f, -0.084493f, 0.082609f, -0.189595f, -0.023110f, -0.024360f, 0.019452f, -0.139658f, -0.250359f, -0.312635f, 0.005022f, 0.285309f, 0.301526f, 0.106997f, -0.150844f, -0.259924f, -0.206224f, 0.000870f, 0.241643f, 0.281995f, 0.062769f, -0.089250f, -0.041351f, 0.002812f, 0.054198f, 0.045527f, 0.040906f, -0.053555f, -0.145768f, -0.138296f, -0.016220f, 0.154665f, 0.237434f, 0.194321f, 0.016704f, -0.203386f, -0.280457f, -0.244762f, 0.079565f, 0.301006f, 0.366981f, 0.209383f, -0.097659f, -0.290700f, -0.270046f, -0.115097f, 0.058905f, 0.086002f, 0.106486f, 0.028261f, -0.094005f, -0.005879f, 0.130444f, 0.200986f, -0.052487f, -0.121960f, -0.124044f, 0.042045f, 0.084948f, 0.176359f, 0.093919f, -0.040256f, -0.179410f, -0.211577f, -0.091507f, 0.129094f, 0.291859f, 0.261148f, 0.052084f, -0.248293f, -0.365230f, -0.303634f, 0.002162f, 0.338277f, 0.428645f, 0.233104f, -0.079498f, -0.326450f, -0.334632f, -0.092269f, 0.060237f, + 0.159157f, 0.139104f, 0.076327f, -0.011701f, -0.089277f, -0.092387f, -0.028372f, 0.036030f, 0.113183f, 0.072351f, 0.020929f, -0.031411f, -0.112913f, -0.067827f, -0.012575f, 0.118199f, 0.122719f, 0.053657f, -0.066424f, -0.129719f, -0.134491f, -0.023484f, 0.111408f, 0.114918f, 0.026332f, 0.015100f, -0.020594f, -0.043328f, -0.065491f, -0.008995f, 0.028595f, 0.063051f, 0.066698f, 0.020313f, -0.018236f, 0.019814f, -0.129555f, -0.137360f, -0.047141f, 0.080344f, 0.098521f, 0.034005f, -0.063626f, -0.085019f, -0.038896f, 0.031129f, 0.050531f, 0.026089f, -0.021032f, -0.038992f, -0.035237f, 0.003396f, 0.028927f, 0.029184f, -0.008887f, -0.036009f, -0.020577f, 0.026326f, 0.015104f, -0.015360f, -0.013356f, 0.007853f, -0.001375f, -0.000048f, -0.004307f, 0.001124f, -0.000891f, -0.000933f, -0.002570f, 0.000851f, -0.002801f, -0.000454f, -0.000990f, -0.000218f, -0.001979f, 0.003152f, -0.001396f, -0.001332f, 0.003680f, 0.001222f, 0.000151f, -0.000306f, -0.001812f, -0.001295f, -0.002856f, 0.000203f, -0.004890f, 0.002523f, 0.000903f, 0.002135f, -0.002393f, -0.001312f, 0.000310f, -0.002222f, -0.000223f, -0.000378f} + }, + { + {0.030630f, 0.029886f, 0.028419f, 0.026269f, 0.023494f, 0.020171f, 0.016388f, 0.012248f, 0.007859f, 0.003338f, -0.001200f, -0.005641f, -0.009876f, -0.013804f, -0.017337f, -0.020400f, -0.022935f, -0.024898f, -0.026269f, -0.027040f, -0.027226f, -0.026858f, -0.025979f, -0.024651f, -0.022944f, -0.020937f, -0.018715f, -0.016365f, -0.013975f, -0.011627f, -0.009400f, -0.007362f, -0.005571f, -0.004073f, -0.002900f, -0.002071f, -0.001588f, -0.001443f, -0.001612f, -0.002061f, -0.002744f, -0.003610f, -0.004601f, -0.005654f, -0.006709f, -0.007705f, -0.008586f, -0.009302f, -0.009810f, -0.010078f, -0.010084f, -0.009816f, -0.009274f, -0.008469f, -0.007422f, -0.006164f, -0.004732f, -0.003171f, -0.001530f, 0.000141f, 0.001791f, 0.003371f, 0.004836f, 0.006146f, 0.007269f, 0.008179f, 0.008862f, 0.009311f, 0.009530f, 0.009530f, 0.009332f, 0.008965f, 0.008463f, 0.007863f, 0.007208f, 0.006538f, 0.005896f, 0.005319f, 0.004841f, 0.004491f, 0.004289f, 0.004247f, 0.004371f, 0.004656f, 0.005087f, 0.005645f, 0.006301f, 0.007019f, 0.007762f, 0.008485f, 0.009148f, 0.009706f, 0.010119f, 0.010352f, 0.010375f, 0.010165f, + 0.009708f, 0.009001f, 0.008046f, 0.006861f, 0.005470f, 0.003906f, 0.002212f, 0.000436f, -0.001369f, -0.003144f, -0.004831f, -0.006373f, -0.007713f, -0.008801f, -0.009593f, -0.010051f, -0.010149f, -0.009870f, -0.009208f, -0.008168f, -0.006767f, -0.005033f, -0.003004f, -0.000725f, 0.001749f, 0.004359f, 0.007042f, 0.009732f, 0.012365f, 0.014878f, 0.017212f, 0.019314f, 0.021138f, 0.022648f, 0.023816f, 0.024624f, 0.025066f, 0.025145f, 0.024873f, 0.024274f, 0.023376f, 0.022217f, 0.020840f, 0.019289f, 0.017613f, 0.015860f, 0.014077f, 0.012308f, 0.010594f, 0.008969f, 0.007461f, 0.006094f, 0.004882f, 0.003833f, 0.002948f, 0.002223f, 0.001646f, 0.001203f, 0.000875f, 0.000640f, 0.000476f, 0.000360f, 0.000273f, 0.000194f, 0.000108f, 0.000003f, -0.000128f, -0.000288f, -0.000476f, -0.000686f, -0.000906f, -0.001125f, -0.001324f, -0.001488f, -0.001596f, -0.001630f, -0.001575f, -0.001415f, -0.001139f, -0.000741f, -0.000217f, 0.000429f, 0.001189f, 0.002051f, 0.002998f, 0.004006f, 0.005050f, 0.006102f, 0.007132f, 0.008110f, 0.009004f, 0.009788f, 0.010435f, 0.010925f, 0.011241f, 0.011371f, + 0.011312f, 0.011064f, 0.010635f, 0.010040f, 0.009298f, 0.008435f, 0.007480f, 0.006465f, 0.005424f, 0.004394f, 0.003408f, 0.002500f, 0.001700f, 0.001033f, 0.000520f, 0.000176f, 0.000009f, 0.000021f, 0.000206f, 0.000552f, 0.001043f, 0.001654f, 0.002358f, 0.003124f, 0.003918f, 0.004707f, 0.005455f, 0.006132f, 0.006708f, 0.007158f, 0.007462f, 0.007606f, 0.007583f, 0.007391f, 0.007036f, 0.006531f, 0.005894f, 0.005148f, 0.004321f, 0.003444f, 0.002551f, 0.001675f, 0.000851f, 0.000109f, -0.000522f, -0.001018f, -0.001359f, -0.001533f, -0.013588f, -0.039467f, -0.037901f, -0.021588f, 0.011313f, 0.000789f, -0.055494f, 0.005170f, -0.073707f, -0.098420f, -0.068258f, -0.001448f, -0.054406f, 0.005726f, -0.020404f, -0.008435f, -0.065711f, -0.030719f, 0.136399f, 0.158010f, -0.089710f, -0.028559f, 0.013863f, 0.105298f, 0.066637f, 0.035608f, 0.039413f, -0.028561f, -0.059565f, -0.060206f, 0.033290f, 0.092845f, -0.009329f, -0.065797f, -0.068659f, -0.005349f, 0.042261f, 0.099630f, 0.025256f, -0.005513f, -0.041187f, 0.031916f, 0.017488f, 0.091830f, 0.037378f, 0.014187f, -0.023848f, -0.000482f, + -0.050457f, -0.055721f, -0.058509f, 0.077087f, 0.048546f, 0.027771f, -0.043394f, -0.103564f, -0.084214f, 0.008461f, 0.031071f, 0.040095f, 0.097907f, -0.095014f, -0.111959f, -0.069063f, 0.011158f, -0.025619f, 0.173890f, 0.126003f, 0.099104f, -0.033678f, -0.044920f, -0.097036f, 0.056543f, 0.058742f, 0.064084f, 0.051523f, 0.013651f, -0.166152f, -0.244119f, -0.147183f, 0.090228f, 0.235326f, 0.281570f, 0.040560f, -0.139487f, -0.269164f, -0.126385f, 0.045203f, 0.226480f, 0.214837f, 0.079560f, -0.049083f, -0.283805f, -0.236087f, 0.000289f, 0.173246f, 0.206911f, 0.015769f, -0.144701f, -0.163731f, -0.050881f, 0.084700f, 0.150058f, 0.014995f, -0.147567f, -0.221592f, -0.110711f, 0.103520f, 0.274064f, 0.143869f, -0.128538f, -0.312151f, -0.225086f, -0.092757f, 0.300536f, 0.418715f, 0.127606f, -0.230029f, -0.341479f, -0.195968f, 0.122780f, 0.284097f, 0.358943f, 0.123112f, -0.127152f, -0.283415f, -0.196468f, 0.014572f, 0.231089f, 0.266968f, 0.093281f, -0.111264f, -0.201375f, -0.113465f, 0.096944f, 0.219131f, 0.117782f, -0.054741f, -0.153716f, -0.120550f, 0.107774f, 0.195634f, 0.116388f, -0.062415f, + -0.192398f, -0.210544f, -0.029201f, 0.201855f, 0.249644f, 0.100840f, -0.102094f, -0.237392f, -0.208560f, -0.069246f, 0.169403f, 0.299624f, 0.217982f, -0.028703f, -0.265906f, -0.319232f, -0.125647f, 0.173379f, 0.338687f, 0.240591f, -0.008976f, -0.264023f, -0.333698f, -0.135412f, 0.048295f, 0.226408f, 0.212682f, 0.097199f, -0.085554f, -0.155354f, -0.131984f, -0.011196f, 0.083124f, 0.107153f, 0.036576f, -0.152611f, 0.004281f, 0.119319f, 0.165601f, 0.066304f, -0.049091f, -0.120765f, -0.070825f, 0.028825f, 0.109023f, 0.094864f, 0.018672f, -0.068787f, -0.085827f, -0.030428f, 0.063047f, 0.093016f, 0.044563f, -0.052808f, -0.080650f, -0.006784f, 0.083424f, 0.041339f, -0.039872f, -0.022357f, 0.024608f, 0.013488f, 0.000998f, 0.003189f, 0.007823f, 0.002533f, 0.003391f, 0.000901f, 0.002675f, 0.003156f, 0.003914f, 0.004147f, 0.003899f, -0.001965f, 0.005109f, 0.006066f, 0.003780f, 0.002728f, 0.005253f, 0.005267f, 0.004289f, 0.002943f, 0.005577f, 0.000016f, 0.002358f, 0.001586f, 0.006119f, 0.001132f, 0.000415f, 0.003371f, 0.002974f, 0.001878f, 0.008552f, 0.005038f, 0.004298f, 0.003232f}, + {0.030630f, 0.029886f, 0.028419f, 0.026269f, 0.023494f, 0.020171f, 0.016388f, 0.012248f, 0.007859f, 0.003338f, -0.001200f, -0.005641f, -0.009876f, -0.013804f, -0.017337f, -0.020400f, -0.022935f, -0.024898f, -0.026269f, -0.027040f, -0.027226f, -0.026858f, -0.025979f, -0.024651f, -0.022944f, -0.020937f, -0.018715f, -0.016365f, -0.013975f, -0.011627f, -0.009400f, -0.007362f, -0.005571f, -0.004073f, -0.002900f, -0.002071f, -0.001588f, -0.001443f, -0.001612f, -0.002061f, -0.002744f, -0.003610f, -0.004601f, -0.005654f, -0.006709f, -0.007705f, -0.008586f, -0.009302f, -0.009810f, -0.010078f, -0.010084f, -0.009816f, -0.009274f, -0.008469f, -0.007422f, -0.006164f, -0.004732f, -0.003171f, -0.001530f, 0.000141f, 0.001791f, 0.003371f, 0.004836f, 0.006146f, 0.007269f, 0.008179f, 0.008862f, 0.009311f, 0.009530f, 0.009530f, 0.009332f, 0.008965f, 0.008463f, 0.007863f, 0.007208f, 0.006538f, 0.005896f, 0.005319f, 0.004841f, 0.004491f, 0.004289f, 0.004247f, 0.004371f, 0.004656f, 0.005087f, 0.005645f, 0.006301f, 0.007019f, 0.007762f, 0.008485f, 0.009148f, 0.009706f, 0.010119f, 0.010352f, 0.010375f, 0.010165f, + 0.009708f, 0.009001f, 0.008046f, 0.006861f, 0.005470f, 0.003906f, 0.002212f, 0.000436f, -0.001369f, -0.003144f, -0.004831f, -0.006373f, -0.007713f, -0.008801f, -0.009593f, -0.010051f, -0.010149f, -0.009870f, -0.009208f, -0.008168f, -0.006767f, -0.005033f, -0.003004f, -0.000725f, 0.001749f, 0.004359f, 0.007042f, 0.009732f, 0.012365f, 0.014878f, 0.017212f, 0.019314f, 0.021138f, 0.022648f, 0.023816f, 0.024624f, 0.025066f, 0.025145f, 0.024873f, 0.024274f, 0.023376f, 0.022217f, 0.020840f, 0.019289f, 0.017613f, 0.015860f, 0.014077f, 0.012308f, 0.010594f, 0.008969f, 0.007461f, 0.006094f, 0.004882f, 0.003833f, 0.002948f, 0.002223f, 0.001646f, 0.001203f, 0.000875f, 0.000640f, 0.000476f, 0.000360f, 0.000273f, 0.000194f, 0.000108f, 0.000003f, -0.000128f, -0.000288f, -0.000476f, -0.000686f, -0.000906f, -0.001125f, -0.001324f, -0.001488f, -0.001596f, -0.001630f, -0.001575f, -0.001415f, -0.001139f, -0.000741f, -0.000217f, 0.000429f, 0.001189f, 0.002051f, 0.002998f, 0.004006f, 0.005050f, 0.006102f, 0.007132f, 0.008110f, 0.009004f, 0.009788f, 0.010435f, 0.010925f, 0.011241f, 0.011371f, + 0.011312f, 0.011064f, 0.010635f, 0.010040f, 0.009298f, 0.008435f, 0.007480f, 0.006465f, 0.005424f, 0.004394f, 0.003408f, 0.002500f, 0.001700f, 0.001033f, 0.000520f, 0.000176f, 0.000009f, 0.000021f, 0.000206f, 0.000552f, 0.001043f, 0.001654f, 0.002358f, 0.003124f, 0.003918f, 0.004707f, 0.005455f, 0.006132f, 0.006708f, 0.007158f, 0.007462f, 0.007606f, 0.007583f, 0.007391f, 0.007036f, 0.006531f, 0.005894f, 0.005148f, 0.004321f, 0.003444f, 0.002551f, 0.001675f, 0.000851f, 0.000109f, -0.000522f, -0.001018f, -0.001359f, -0.001533f, -0.013588f, -0.039467f, -0.037901f, -0.021588f, 0.011313f, 0.000789f, -0.055494f, 0.005170f, -0.073707f, -0.098420f, -0.068258f, -0.001448f, -0.054406f, 0.005726f, -0.020404f, -0.008435f, -0.065711f, -0.030719f, 0.136399f, 0.158010f, -0.089710f, -0.028559f, 0.013863f, 0.105298f, 0.066637f, 0.035608f, 0.039413f, -0.028561f, -0.059565f, -0.060206f, 0.033290f, 0.092845f, -0.009329f, -0.065797f, -0.068659f, -0.005349f, 0.042261f, 0.099630f, 0.025256f, -0.005513f, -0.041187f, 0.031916f, 0.017488f, 0.091830f, 0.037378f, 0.014187f, -0.023848f, -0.000482f, + -0.050457f, -0.055721f, -0.058509f, 0.077087f, 0.048546f, 0.027771f, -0.043394f, -0.103564f, -0.084214f, 0.008461f, 0.031071f, 0.040095f, 0.097907f, -0.095014f, -0.111959f, -0.069063f, 0.011158f, -0.025619f, 0.173890f, 0.126003f, 0.099104f, -0.033678f, -0.044920f, -0.097036f, 0.056543f, 0.058742f, 0.064084f, 0.051523f, 0.013651f, -0.166152f, -0.244119f, -0.147183f, 0.090228f, 0.235326f, 0.281570f, 0.040560f, -0.139487f, -0.269164f, -0.126385f, 0.045203f, 0.226480f, 0.214837f, 0.079560f, -0.049083f, -0.283805f, -0.236087f, 0.000289f, 0.173246f, 0.206911f, 0.015769f, -0.144701f, -0.163731f, -0.050881f, 0.084700f, 0.150058f, 0.014995f, -0.147567f, -0.221592f, -0.110711f, 0.103520f, 0.274064f, 0.143869f, -0.128538f, -0.312151f, -0.225086f, -0.092757f, 0.300536f, 0.418715f, 0.127606f, -0.230029f, -0.341479f, -0.195968f, 0.122780f, 0.284097f, 0.358943f, 0.123112f, -0.127152f, -0.283415f, -0.196468f, 0.014572f, 0.231089f, 0.266968f, 0.093281f, -0.111264f, -0.201375f, -0.113465f, 0.096944f, 0.219131f, 0.117782f, -0.054741f, -0.153716f, -0.120550f, 0.107774f, 0.195634f, 0.116388f, -0.062415f, + -0.192398f, -0.210544f, -0.029201f, 0.201855f, 0.249644f, 0.100840f, -0.102094f, -0.237392f, -0.208560f, -0.069246f, 0.169403f, 0.299624f, 0.217982f, -0.028703f, -0.265906f, -0.319232f, -0.125647f, 0.173379f, 0.338687f, 0.240591f, -0.008976f, -0.264023f, -0.333698f, -0.135412f, 0.048295f, 0.226408f, 0.212682f, 0.097199f, -0.085554f, -0.155354f, -0.131984f, -0.011196f, 0.083124f, 0.107153f, 0.036576f, -0.152611f, 0.004281f, 0.119319f, 0.165601f, 0.066304f, -0.049091f, -0.120765f, -0.070825f, 0.028825f, 0.109023f, 0.094864f, 0.018672f, -0.068787f, -0.085827f, -0.030428f, 0.063047f, 0.093016f, 0.044563f, -0.052808f, -0.080650f, -0.006784f, 0.083424f, 0.041339f, -0.039872f, -0.022357f, 0.024608f, 0.013488f, 0.000998f, 0.003189f, 0.007823f, 0.002533f, 0.003391f, 0.000901f, 0.002675f, 0.003156f, 0.003914f, 0.004147f, 0.003899f, -0.001965f, 0.005109f, 0.006066f, 0.003780f, 0.002728f, 0.005253f, 0.005267f, 0.004289f, 0.002943f, 0.005577f, 0.000016f, 0.002358f, 0.001586f, 0.006119f, 0.001132f, 0.000415f, 0.003371f, 0.002974f, 0.001878f, 0.008552f, 0.005038f, 0.004298f, 0.003232f} + }, + { + {0.014266f, 0.014099f, 0.013769f, 0.013283f, 0.012652f, 0.011891f, 0.011016f, 0.010046f, 0.009002f, 0.007906f, 0.006780f, 0.005647f, 0.004528f, 0.003444f, 0.002411f, 0.001448f, 0.000565f, -0.000225f, -0.000916f, -0.001505f, -0.001991f, -0.002377f, -0.002669f, -0.002875f, -0.003006f, -0.003074f, -0.003092f, -0.003075f, -0.003035f, -0.002988f, -0.002943f, -0.002912f, -0.002903f, -0.002920f, -0.002967f, -0.003043f, -0.003143f, -0.003262f, -0.003388f, -0.003509f, -0.003610f, -0.003674f, -0.003683f, -0.003618f, -0.003460f, -0.003192f, -0.002798f, -0.002262f, -0.001574f, -0.000725f, 0.000287f, 0.001462f, 0.002796f, 0.004279f, 0.005895f, 0.007626f, 0.009448f, 0.011333f, 0.013252f, 0.015170f, 0.017054f, 0.018868f, 0.020575f, 0.022141f, 0.023533f, 0.024722f, 0.025682f, 0.026391f, 0.026832f, 0.026996f, 0.026878f, 0.026480f, 0.025810f, 0.024882f, 0.023717f, 0.022341f, 0.020783f, 0.019079f, 0.017266f, 0.015382f, 0.013469f, 0.011568f, 0.009715f, 0.007950f, 0.006304f, 0.004808f, 0.003484f, 0.002353f, 0.001426f, 0.000710f, 0.000204f, -0.000098f, -0.000208f, -0.000146f, 0.000067f, 0.000404f, + 0.000834f, 0.001326f, 0.001846f, 0.002362f, 0.002842f, 0.003256f, 0.003578f, 0.003787f, 0.003865f, 0.003802f, 0.003590f, 0.003231f, 0.002731f, 0.002102f, 0.001361f, 0.000532f, -0.000359f, -0.001283f, -0.002207f, -0.003099f, -0.003926f, -0.004655f, -0.005258f, -0.005708f, -0.005983f, -0.006067f, -0.005949f, -0.005623f, -0.005091f, -0.004362f, -0.003450f, -0.002375f, -0.001163f, 0.000154f, 0.001544f, 0.002968f, 0.004388f, 0.005765f, 0.007059f, 0.008236f, 0.009260f, 0.010103f, 0.010741f, 0.011154f, 0.011332f, 0.011269f, 0.010966f, 0.010433f, 0.009686f, 0.008745f, 0.007638f, 0.006399f, 0.005062f, 0.003666f, 0.002253f, 0.000862f, -0.000467f, -0.001695f, -0.002788f, -0.003716f, -0.004452f, -0.004977f, -0.005277f, -0.005346f, -0.005184f, -0.004796f, -0.004196f, -0.003401f, -0.002437f, -0.001331f, -0.000115f, 0.001176f, 0.002508f, 0.003843f, 0.005147f, 0.006387f, 0.007532f, 0.008555f, 0.009434f, 0.010150f, 0.010693f, 0.011055f, 0.011234f, 0.011236f, 0.011070f, 0.010750f, 0.010293f, 0.009722f, 0.009059f, 0.008331f, 0.007563f, 0.006782f, 0.006013f, 0.005278f, 0.004598f, 0.003992f, + 0.003473f, 0.003051f, 0.002733f, 0.002520f, 0.002411f, 0.002400f, 0.002478f, 0.002634f, 0.002854f, 0.003121f, 0.003421f, 0.003735f, 0.004047f, 0.004342f, 0.004607f, 0.004828f, 0.004998f, 0.005109f, 0.005157f, 0.005142f, 0.005066f, 0.004933f, 0.004750f, 0.004527f, 0.004273f, 0.004001f, 0.003723f, 0.003450f, 0.003194f, 0.002966f, 0.002774f, 0.002627f, 0.002529f, 0.002482f, 0.002488f, 0.002545f, 0.002649f, 0.002793f, 0.002970f, 0.003171f, 0.003386f, 0.003604f, 0.003815f, 0.004009f, 0.004176f, 0.004308f, 0.004400f, 0.004447f, -0.008117f, -0.004781f, -0.006598f, -0.018545f, -0.025597f, 0.042077f, -0.015089f, -0.029318f, -0.005835f, -0.008171f, 0.065454f, 0.017045f, -0.029551f, 0.007135f, -0.076603f, -0.157012f, -0.066141f, -0.026523f, 0.057249f, 0.043034f, -0.070796f, -0.020043f, 0.023324f, 0.089411f, 0.084758f, 0.035790f, 0.023783f, 0.033177f, -0.041975f, -0.060794f, -0.142789f, 0.008082f, 0.042334f, 0.010198f, 0.030540f, 0.037254f, -0.074155f, -0.097473f, -0.048026f, 0.009435f, 0.067059f, 0.102453f, 0.072618f, 0.019962f, -0.034514f, -0.021699f, -0.024063f, 0.049352f, + 0.036632f, 0.016999f, -0.031435f, 0.004227f, -0.113697f, -0.018912f, 0.056030f, 0.016169f, 0.091707f, 0.078866f, -0.054679f, -0.123760f, 0.051217f, -0.068318f, 0.096888f, 0.072978f, 0.072757f, -0.076411f, -0.090509f, -0.010835f, 0.057468f, 0.075408f, 0.063779f, 0.025827f, 0.041213f, -0.078705f, -0.097994f, -0.030170f, 0.123951f, 0.082740f, -0.042369f, -0.048554f, -0.066582f, -0.106656f, -0.039913f, 0.054512f, 0.049807f, -0.114358f, -0.215607f, -0.205969f, 0.041956f, 0.234425f, 0.265590f, 0.103549f, -0.087024f, -0.245732f, -0.151602f, 0.030550f, 0.142402f, 0.082910f, 0.004883f, -0.071084f, -0.045589f, -0.014730f, 0.027929f, 0.030718f, 0.062894f, -0.059104f, -0.059472f, -0.132011f, -0.061556f, -0.023570f, 0.124157f, 0.172644f, 0.122441f, -0.128672f, -0.148254f, -0.044770f, -0.080031f, 0.032261f, 0.085118f, 0.136007f, 0.037226f, -0.130449f, -0.059001f, -0.056811f, 0.088079f, 0.162189f, 0.121557f, 0.038020f, -0.016111f, -0.151295f, -0.181267f, -0.100758f, 0.108348f, 0.272622f, 0.281771f, 0.067561f, -0.207803f, -0.273469f, -0.163158f, 0.051822f, 0.244010f, 0.261897f, 0.080929f, -0.137511f, + -0.268044f, -0.175537f, 0.052243f, 0.301171f, 0.208899f, -0.013515f, -0.180532f, -0.265725f, -0.153590f, 0.052063f, 0.197927f, 0.187255f, 0.049341f, -0.083697f, -0.144994f, -0.126802f, -0.006250f, 0.055872f, 0.085810f, 0.031950f, -0.047777f, -0.119150f, -0.105607f, -0.004721f, 0.108134f, 0.123686f, 0.054182f, -0.053034f, -0.105318f, -0.096349f, -0.017170f, 0.093395f, 0.062758f, 0.028064f, -0.071315f, -0.075505f, 0.101127f, 0.140895f, 0.070198f, -0.086650f, -0.148540f, -0.081551f, 0.076697f, 0.146288f, 0.071101f, -0.088899f, -0.135306f, -0.039831f, 0.097748f, 0.110281f, -0.006700f, -0.108368f, -0.068172f, 0.050684f, 0.087551f, -0.007703f, -0.072486f, -0.013393f, 0.050897f, 0.004567f, -0.024493f, -0.002029f, 0.006294f, -0.004220f, -0.002998f, -0.002927f, -0.000138f, -0.002606f, 0.002296f, 0.000322f, 0.001175f, -0.000720f, 0.000056f, -0.006301f, -0.001237f, -0.005921f, 0.002369f, 0.000285f, -0.003134f, -0.000816f, 0.002985f, -0.001983f, 0.000990f, -0.001084f, -0.003292f, -0.003434f, -0.002880f, 0.000129f, -0.001524f, 0.000604f, 0.001678f, -0.002724f, -0.002961f, 0.000212f, -0.001253f, -0.001810f}, + {0.014266f, 0.014099f, 0.013769f, 0.013283f, 0.012652f, 0.011891f, 0.011016f, 0.010046f, 0.009002f, 0.007906f, 0.006780f, 0.005647f, 0.004528f, 0.003444f, 0.002411f, 0.001448f, 0.000565f, -0.000225f, -0.000916f, -0.001505f, -0.001991f, -0.002377f, -0.002669f, -0.002875f, -0.003006f, -0.003074f, -0.003092f, -0.003075f, -0.003035f, -0.002988f, -0.002943f, -0.002912f, -0.002903f, -0.002920f, -0.002967f, -0.003043f, -0.003143f, -0.003262f, -0.003388f, -0.003509f, -0.003610f, -0.003674f, -0.003683f, -0.003618f, -0.003460f, -0.003192f, -0.002798f, -0.002262f, -0.001574f, -0.000725f, 0.000287f, 0.001462f, 0.002796f, 0.004279f, 0.005895f, 0.007626f, 0.009448f, 0.011333f, 0.013252f, 0.015170f, 0.017054f, 0.018868f, 0.020575f, 0.022141f, 0.023533f, 0.024722f, 0.025682f, 0.026391f, 0.026832f, 0.026996f, 0.026878f, 0.026480f, 0.025810f, 0.024882f, 0.023717f, 0.022341f, 0.020783f, 0.019079f, 0.017266f, 0.015382f, 0.013469f, 0.011568f, 0.009715f, 0.007950f, 0.006304f, 0.004808f, 0.003484f, 0.002353f, 0.001426f, 0.000710f, 0.000204f, -0.000098f, -0.000208f, -0.000146f, 0.000067f, 0.000404f, + 0.000834f, 0.001326f, 0.001846f, 0.002362f, 0.002842f, 0.003256f, 0.003578f, 0.003787f, 0.003865f, 0.003802f, 0.003590f, 0.003231f, 0.002731f, 0.002102f, 0.001361f, 0.000532f, -0.000359f, -0.001283f, -0.002207f, -0.003099f, -0.003926f, -0.004655f, -0.005258f, -0.005708f, -0.005983f, -0.006067f, -0.005949f, -0.005623f, -0.005091f, -0.004362f, -0.003450f, -0.002375f, -0.001163f, 0.000154f, 0.001544f, 0.002968f, 0.004388f, 0.005765f, 0.007059f, 0.008236f, 0.009260f, 0.010103f, 0.010741f, 0.011154f, 0.011332f, 0.011269f, 0.010966f, 0.010433f, 0.009686f, 0.008745f, 0.007638f, 0.006399f, 0.005062f, 0.003666f, 0.002253f, 0.000862f, -0.000467f, -0.001695f, -0.002788f, -0.003716f, -0.004452f, -0.004977f, -0.005277f, -0.005346f, -0.005184f, -0.004796f, -0.004196f, -0.003401f, -0.002437f, -0.001331f, -0.000115f, 0.001176f, 0.002508f, 0.003843f, 0.005147f, 0.006387f, 0.007532f, 0.008555f, 0.009434f, 0.010150f, 0.010693f, 0.011055f, 0.011234f, 0.011236f, 0.011070f, 0.010750f, 0.010293f, 0.009722f, 0.009059f, 0.008331f, 0.007563f, 0.006782f, 0.006013f, 0.005278f, 0.004598f, 0.003992f, + 0.003473f, 0.003051f, 0.002733f, 0.002520f, 0.002411f, 0.002400f, 0.002478f, 0.002634f, 0.002854f, 0.003121f, 0.003421f, 0.003735f, 0.004047f, 0.004342f, 0.004607f, 0.004828f, 0.004998f, 0.005109f, 0.005157f, 0.005142f, 0.005066f, 0.004933f, 0.004750f, 0.004527f, 0.004273f, 0.004001f, 0.003723f, 0.003450f, 0.003194f, 0.002966f, 0.002774f, 0.002627f, 0.002529f, 0.002482f, 0.002488f, 0.002545f, 0.002649f, 0.002793f, 0.002970f, 0.003171f, 0.003386f, 0.003604f, 0.003815f, 0.004009f, 0.004176f, 0.004308f, 0.004400f, 0.004447f, -0.008117f, -0.004781f, -0.006598f, -0.018545f, -0.025597f, 0.042077f, -0.015089f, -0.029318f, -0.005835f, -0.008171f, 0.065454f, 0.017045f, -0.029551f, 0.007135f, -0.076603f, -0.157012f, -0.066141f, -0.026523f, 0.057249f, 0.043034f, -0.070796f, -0.020043f, 0.023324f, 0.089411f, 0.084758f, 0.035790f, 0.023783f, 0.033177f, -0.041975f, -0.060794f, -0.142789f, 0.008082f, 0.042334f, 0.010198f, 0.030540f, 0.037254f, -0.074155f, -0.097473f, -0.048026f, 0.009435f, 0.067059f, 0.102453f, 0.072618f, 0.019962f, -0.034514f, -0.021699f, -0.024063f, 0.049352f, + 0.036632f, 0.016999f, -0.031435f, 0.004227f, -0.113697f, -0.018912f, 0.056030f, 0.016169f, 0.091707f, 0.078866f, -0.054679f, -0.123760f, 0.051217f, -0.068318f, 0.096888f, 0.072978f, 0.072757f, -0.076411f, -0.090509f, -0.010835f, 0.057468f, 0.075408f, 0.063779f, 0.025827f, 0.041213f, -0.078705f, -0.097994f, -0.030170f, 0.123951f, 0.082740f, -0.042369f, -0.048554f, -0.066582f, -0.106656f, -0.039913f, 0.054512f, 0.049807f, -0.114358f, -0.215607f, -0.205969f, 0.041956f, 0.234425f, 0.265590f, 0.103549f, -0.087024f, -0.245732f, -0.151602f, 0.030550f, 0.142402f, 0.082910f, 0.004883f, -0.071084f, -0.045589f, -0.014730f, 0.027929f, 0.030718f, 0.062894f, -0.059104f, -0.059472f, -0.132011f, -0.061556f, -0.023570f, 0.124157f, 0.172644f, 0.122441f, -0.128672f, -0.148254f, -0.044770f, -0.080031f, 0.032261f, 0.085118f, 0.136007f, 0.037226f, -0.130449f, -0.059001f, -0.056811f, 0.088079f, 0.162189f, 0.121557f, 0.038020f, -0.016111f, -0.151295f, -0.181267f, -0.100758f, 0.108348f, 0.272622f, 0.281771f, 0.067561f, -0.207803f, -0.273469f, -0.163158f, 0.051822f, 0.244010f, 0.261897f, 0.080929f, -0.137511f, + -0.268044f, -0.175537f, 0.052243f, 0.301171f, 0.208899f, -0.013515f, -0.180532f, -0.265725f, -0.153590f, 0.052063f, 0.197927f, 0.187255f, 0.049341f, -0.083697f, -0.144994f, -0.126802f, -0.006250f, 0.055872f, 0.085810f, 0.031950f, -0.047777f, -0.119150f, -0.105607f, -0.004721f, 0.108134f, 0.123686f, 0.054182f, -0.053034f, -0.105318f, -0.096349f, -0.017170f, 0.093395f, 0.062758f, 0.028064f, -0.071315f, -0.075505f, 0.101127f, 0.140895f, 0.070198f, -0.086650f, -0.148540f, -0.081551f, 0.076697f, 0.146288f, 0.071101f, -0.088899f, -0.135306f, -0.039831f, 0.097748f, 0.110281f, -0.006700f, -0.108368f, -0.068172f, 0.050684f, 0.087551f, -0.007703f, -0.072486f, -0.013393f, 0.050897f, 0.004567f, -0.024493f, -0.002029f, 0.006294f, -0.004220f, -0.002998f, -0.002927f, -0.000138f, -0.002606f, 0.002296f, 0.000322f, 0.001175f, -0.000720f, 0.000056f, -0.006301f, -0.001237f, -0.005921f, 0.002369f, 0.000285f, -0.003134f, -0.000816f, 0.002985f, -0.001983f, 0.000990f, -0.001084f, -0.003292f, -0.003434f, -0.002880f, 0.000129f, -0.001524f, 0.000604f, 0.001678f, -0.002724f, -0.002961f, 0.000212f, -0.001253f, -0.001810f} + } +}; +const float CRendBin_HOA3_HRIR_coeff_im_48kHz[16][BINAURAL_CHANNELS][480]={ + { + {0.000549f, 0.001631f, 0.002663f, 0.003615f, 0.004457f, 0.005166f, 0.005720f, 0.006107f, 0.006315f, 0.006343f, 0.006195f, 0.005878f, 0.005408f, 0.004806f, 0.004094f, 0.003303f, 0.002461f, 0.001602f, 0.000756f, -0.000043f, -0.000768f, -0.001390f, -0.001888f, -0.002243f, -0.002443f, -0.002479f, -0.002352f, -0.002064f, -0.001626f, -0.001054f, -0.000369f, 0.000407f, 0.001245f, 0.002115f, 0.002988f, 0.003833f, 0.004619f, 0.005320f, 0.005911f, 0.006370f, 0.006682f, 0.006834f, 0.006822f, 0.006644f, 0.006305f, 0.005815f, 0.005189f, 0.004445f, 0.003606f, 0.002698f, 0.001746f, 0.000779f, -0.000176f, -0.001093f, -0.001948f, -0.002718f, -0.003385f, -0.003937f, -0.004361f, -0.004654f, -0.004815f, -0.004847f, -0.004759f, -0.004562f, -0.004272f, -0.003906f, -0.003484f, -0.003026f, -0.002552f, -0.002084f, -0.001639f, -0.001234f, -0.000884f, -0.000600f, -0.000389f, -0.000255f, -0.000199f, -0.000217f, -0.000303f, -0.000448f, -0.000640f, -0.000865f, -0.001108f, -0.001354f, -0.001587f, -0.001793f, -0.001958f, -0.002073f, -0.002127f, -0.002116f, -0.002037f, -0.001890f, -0.001680f, -0.001413f, -0.001098f, -0.000749f, + -0.000378f, -0.000000f, 0.000367f, 0.000709f, 0.001010f, 0.001257f, 0.001436f, 0.001539f, 0.001559f, 0.001491f, 0.001336f, 0.001096f, 0.000777f, 0.000389f, -0.000057f, -0.000545f, -0.001059f, -0.001582f, -0.002095f, -0.002580f, -0.003020f, -0.003398f, -0.003701f, -0.003916f, -0.004034f, -0.004051f, -0.003962f, -0.003771f, -0.003482f, -0.003102f, -0.002643f, -0.002118f, -0.001543f, -0.000936f, -0.000313f, 0.000306f, 0.000903f, 0.001462f, 0.001967f, 0.002405f, 0.002765f, 0.003039f, 0.003223f, 0.003314f, 0.003315f, 0.003231f, 0.003067f, 0.002836f, 0.002547f, 0.002215f, 0.001853f, 0.001477f, 0.001101f, 0.000738f, 0.000401f, 0.000100f, -0.000155f, -0.000359f, -0.000508f, -0.000601f, -0.000639f, -0.000628f, -0.000572f, -0.000481f, -0.000363f, -0.000230f, -0.000092f, 0.000039f, 0.000152f, 0.000238f, 0.000289f, 0.000298f, 0.000260f, 0.000174f, 0.000039f, -0.000141f, -0.000362f, -0.000616f, -0.000895f, -0.001188f, -0.001484f, -0.001771f, -0.002037f, -0.002270f, -0.002460f, -0.002598f, -0.002675f, -0.002688f, -0.002633f, -0.002510f, -0.002320f, -0.002070f, -0.001765f, -0.001416f, -0.001033f, -0.000628f, + -0.000217f, 0.000189f, 0.000575f, 0.000927f, 0.001235f, 0.001487f, 0.001674f, 0.001792f, 0.001836f, 0.001806f, 0.001703f, 0.001532f, 0.001300f, 0.001017f, 0.000693f, 0.000341f, -0.000025f, -0.000392f, -0.000744f, -0.001069f, -0.001355f, -0.001591f, -0.001768f, -0.001881f, -0.001924f, -0.001898f, -0.001803f, -0.001645f, -0.001429f, -0.001165f, -0.000863f, -0.000536f, -0.000196f, 0.000143f, 0.000468f, 0.000765f, 0.001024f, 0.001235f, 0.001389f, 0.001482f, 0.001510f, 0.001472f, 0.001370f, 0.001211f, 0.000999f, 0.000746f, 0.000460f, 0.000156f, -0.459988f, -0.951364f, -0.610488f, 0.138856f, 0.698197f, 0.756538f, 0.243251f, -0.421561f, -0.809017f, -0.723124f, -0.130978f, 0.462606f, 0.869329f, 0.668927f, 0.030586f, -0.563056f, -0.788995f, -0.467552f, 0.152083f, 0.679937f, 0.729245f, 0.338703f, -0.322545f, -0.698697f, -0.615539f, -0.094425f, 0.456741f, 0.704130f, 0.460061f, -0.071586f, -0.567986f, -0.669722f, -0.335589f, 0.246636f, 0.632875f, 0.618595f, 0.155702f, -0.373707f, -0.695337f, -0.504141f, -0.123673f, 0.357714f, 0.720972f, 0.555961f, 0.039481f, -0.524585f, -0.688642f, -0.391594f, + 0.199571f, 0.632368f, 0.653497f, 0.212242f, -0.363710f, -0.698362f, -0.533969f, -0.013174f, 0.510447f, 0.654537f, 0.374430f, -0.161899f, -0.563497f, -0.567399f, -0.172138f, 0.340047f, 0.661268f, 0.495634f, -0.012328f, -0.517845f, -0.669687f, -0.364384f, 0.180465f, 0.612619f, 0.618588f, 0.208082f, -0.346706f, -0.674587f, -0.546981f, -0.034491f, 0.493899f, 0.663842f, 0.384299f, -0.161248f, -0.530011f, -0.571216f, -0.199479f, 0.330839f, 0.641365f, 0.517783f, 0.029365f, -0.469162f, -0.650912f, -0.382365f, 0.162567f, 0.572309f, 0.620024f, 0.258968f, -0.286565f, -0.604121f, -0.539109f, -0.134658f, 0.351582f, 0.601150f, 0.439245f, 0.005804f, -0.429748f, -0.570360f, -0.309470f, 0.144957f, 0.518672f, 0.532375f, 0.181912f, -0.316777f, -0.582908f, -0.462849f, 0.006490f, 0.467799f, 0.600352f, 0.338467f, -0.171078f, -0.576634f, -0.591189f, -0.184358f, 0.357559f, 0.635154f, 0.475979f, -0.006956f, -0.474676f, -0.603798f, -0.308351f, 0.187600f, 0.541923f, 0.513726f, 0.151033f, -0.322051f, -0.548969f, -0.399484f, 0.016445f, 0.417020f, 0.542622f, 0.294498f, -0.155090f, -0.498546f, -0.492820f, -0.152761f, + 0.286108f, 0.512682f, 0.385987f, -0.014018f, -0.390285f, -0.496220f, -0.247561f, 0.178302f, 0.478161f, 0.429657f, 0.081502f, -0.320164f, -0.471944f, -0.286304f, 0.091236f, 0.417376f, 0.439153f, 0.136549f, -0.272420f, -0.487026f, -0.361011f, 0.059105f, 0.421041f, 0.473316f, 0.174411f, -0.265012f, -0.518633f, -0.380817f, 0.063996f, 0.474638f, 0.521219f, 0.163071f, -0.331621f, -0.576037f, -0.349084f, 0.134778f, 0.496984f, 0.477692f, 0.054462f, -0.415126f, -0.543009f, -0.197895f, 0.324273f, 0.569567f, 0.294501f, -0.250950f, -0.561133f, -0.322396f, 0.225841f, 0.532439f, 0.278501f, -0.248472f, -0.474949f, -0.151682f, 0.312118f, 0.347247f, -0.075374f, -0.303858f, -0.026373f, 0.162830f, 0.018239f, -0.044566f, -0.004146f, 0.006047f, 0.000605f, 0.000729f, -0.000193f, 0.000013f, -0.000995f, 0.001505f, -0.000002f, 0.001062f, 0.000599f, 0.000661f, -0.000421f, 0.000596f, -0.000387f, 0.001767f, -0.000116f, 0.001335f, -0.000958f, 0.000380f, 0.000386f, 0.000219f, -0.001087f, 0.000999f, -0.000098f, 0.000362f, -0.000387f, 0.000100f, -0.000422f, 0.001448f, -0.001190f, 0.001039f, -0.000707f, -0.000023f}, + {0.000549f, 0.001631f, 0.002663f, 0.003615f, 0.004457f, 0.005166f, 0.005720f, 0.006107f, 0.006315f, 0.006343f, 0.006195f, 0.005878f, 0.005408f, 0.004806f, 0.004094f, 0.003303f, 0.002461f, 0.001602f, 0.000756f, -0.000043f, -0.000768f, -0.001390f, -0.001888f, -0.002243f, -0.002443f, -0.002479f, -0.002352f, -0.002064f, -0.001626f, -0.001054f, -0.000369f, 0.000407f, 0.001245f, 0.002115f, 0.002988f, 0.003833f, 0.004619f, 0.005320f, 0.005911f, 0.006370f, 0.006682f, 0.006834f, 0.006822f, 0.006644f, 0.006305f, 0.005815f, 0.005189f, 0.004445f, 0.003606f, 0.002698f, 0.001746f, 0.000779f, -0.000176f, -0.001093f, -0.001948f, -0.002718f, -0.003385f, -0.003937f, -0.004361f, -0.004654f, -0.004815f, -0.004847f, -0.004759f, -0.004562f, -0.004272f, -0.003906f, -0.003484f, -0.003026f, -0.002552f, -0.002084f, -0.001639f, -0.001234f, -0.000884f, -0.000600f, -0.000389f, -0.000255f, -0.000199f, -0.000217f, -0.000303f, -0.000448f, -0.000640f, -0.000865f, -0.001108f, -0.001354f, -0.001587f, -0.001793f, -0.001958f, -0.002073f, -0.002127f, -0.002116f, -0.002037f, -0.001890f, -0.001680f, -0.001413f, -0.001098f, -0.000749f, + -0.000378f, -0.000000f, 0.000367f, 0.000709f, 0.001010f, 0.001257f, 0.001436f, 0.001539f, 0.001559f, 0.001491f, 0.001336f, 0.001096f, 0.000777f, 0.000389f, -0.000057f, -0.000545f, -0.001059f, -0.001582f, -0.002095f, -0.002580f, -0.003020f, -0.003398f, -0.003701f, -0.003916f, -0.004034f, -0.004051f, -0.003962f, -0.003771f, -0.003482f, -0.003102f, -0.002643f, -0.002118f, -0.001543f, -0.000936f, -0.000313f, 0.000306f, 0.000903f, 0.001462f, 0.001967f, 0.002405f, 0.002765f, 0.003039f, 0.003223f, 0.003314f, 0.003315f, 0.003231f, 0.003067f, 0.002836f, 0.002547f, 0.002215f, 0.001853f, 0.001477f, 0.001101f, 0.000738f, 0.000401f, 0.000100f, -0.000155f, -0.000359f, -0.000508f, -0.000601f, -0.000639f, -0.000628f, -0.000572f, -0.000481f, -0.000363f, -0.000230f, -0.000092f, 0.000039f, 0.000152f, 0.000238f, 0.000289f, 0.000298f, 0.000260f, 0.000174f, 0.000039f, -0.000141f, -0.000362f, -0.000616f, -0.000895f, -0.001188f, -0.001484f, -0.001771f, -0.002037f, -0.002270f, -0.002460f, -0.002598f, -0.002675f, -0.002688f, -0.002633f, -0.002510f, -0.002320f, -0.002070f, -0.001765f, -0.001416f, -0.001033f, -0.000628f, + -0.000217f, 0.000189f, 0.000575f, 0.000927f, 0.001235f, 0.001487f, 0.001674f, 0.001792f, 0.001836f, 0.001806f, 0.001703f, 0.001532f, 0.001300f, 0.001017f, 0.000693f, 0.000341f, -0.000025f, -0.000392f, -0.000744f, -0.001069f, -0.001355f, -0.001591f, -0.001768f, -0.001881f, -0.001924f, -0.001898f, -0.001803f, -0.001645f, -0.001429f, -0.001165f, -0.000863f, -0.000536f, -0.000196f, 0.000143f, 0.000468f, 0.000765f, 0.001024f, 0.001235f, 0.001389f, 0.001482f, 0.001510f, 0.001472f, 0.001370f, 0.001211f, 0.000999f, 0.000746f, 0.000460f, 0.000156f, -0.459988f, -0.951364f, -0.610488f, 0.138856f, 0.698197f, 0.756538f, 0.243251f, -0.421561f, -0.809017f, -0.723124f, -0.130978f, 0.462606f, 0.869329f, 0.668927f, 0.030586f, -0.563056f, -0.788995f, -0.467552f, 0.152083f, 0.679937f, 0.729245f, 0.338703f, -0.322545f, -0.698697f, -0.615539f, -0.094425f, 0.456741f, 0.704130f, 0.460061f, -0.071586f, -0.567986f, -0.669722f, -0.335589f, 0.246636f, 0.632875f, 0.618595f, 0.155702f, -0.373707f, -0.695337f, -0.504141f, -0.123673f, 0.357714f, 0.720972f, 0.555961f, 0.039481f, -0.524585f, -0.688642f, -0.391594f, + 0.199571f, 0.632368f, 0.653497f, 0.212242f, -0.363710f, -0.698362f, -0.533969f, -0.013174f, 0.510447f, 0.654537f, 0.374430f, -0.161899f, -0.563497f, -0.567399f, -0.172138f, 0.340047f, 0.661268f, 0.495634f, -0.012328f, -0.517845f, -0.669687f, -0.364384f, 0.180465f, 0.612619f, 0.618588f, 0.208082f, -0.346706f, -0.674587f, -0.546981f, -0.034491f, 0.493899f, 0.663842f, 0.384299f, -0.161248f, -0.530011f, -0.571216f, -0.199479f, 0.330839f, 0.641365f, 0.517783f, 0.029365f, -0.469162f, -0.650912f, -0.382365f, 0.162567f, 0.572309f, 0.620024f, 0.258968f, -0.286565f, -0.604121f, -0.539109f, -0.134658f, 0.351582f, 0.601150f, 0.439245f, 0.005804f, -0.429748f, -0.570360f, -0.309470f, 0.144957f, 0.518672f, 0.532375f, 0.181912f, -0.316777f, -0.582908f, -0.462849f, 0.006490f, 0.467799f, 0.600352f, 0.338467f, -0.171078f, -0.576634f, -0.591189f, -0.184358f, 0.357559f, 0.635154f, 0.475979f, -0.006956f, -0.474676f, -0.603798f, -0.308351f, 0.187600f, 0.541923f, 0.513726f, 0.151033f, -0.322051f, -0.548969f, -0.399484f, 0.016445f, 0.417020f, 0.542622f, 0.294498f, -0.155090f, -0.498546f, -0.492820f, -0.152761f, + 0.286108f, 0.512682f, 0.385987f, -0.014018f, -0.390285f, -0.496220f, -0.247561f, 0.178302f, 0.478161f, 0.429657f, 0.081502f, -0.320164f, -0.471944f, -0.286304f, 0.091236f, 0.417376f, 0.439153f, 0.136549f, -0.272420f, -0.487026f, -0.361011f, 0.059105f, 0.421041f, 0.473316f, 0.174411f, -0.265012f, -0.518633f, -0.380817f, 0.063996f, 0.474638f, 0.521219f, 0.163071f, -0.331621f, -0.576037f, -0.349084f, 0.134778f, 0.496984f, 0.477692f, 0.054462f, -0.415126f, -0.543009f, -0.197895f, 0.324273f, 0.569567f, 0.294501f, -0.250950f, -0.561133f, -0.322396f, 0.225841f, 0.532439f, 0.278501f, -0.248472f, -0.474949f, -0.151682f, 0.312118f, 0.347247f, -0.075374f, -0.303858f, -0.026373f, 0.162830f, 0.018239f, -0.044566f, -0.004146f, 0.006047f, 0.000605f, 0.000729f, -0.000193f, 0.000013f, -0.000995f, 0.001505f, -0.000002f, 0.001062f, 0.000599f, 0.000661f, -0.000421f, 0.000596f, -0.000387f, 0.001767f, -0.000116f, 0.001335f, -0.000958f, 0.000380f, 0.000386f, 0.000219f, -0.001087f, 0.000999f, -0.000098f, 0.000362f, -0.000387f, 0.000100f, -0.000422f, 0.001448f, -0.001190f, 0.001039f, -0.000707f, -0.000023f} + }, + { + {0.000033f, 0.000115f, 0.000241f, 0.000437f, 0.000727f, 0.001129f, 0.001655f, 0.002311f, 0.003095f, 0.003997f, 0.005000f, 0.006080f, 0.007207f, 0.008344f, 0.009452f, 0.010488f, 0.011408f, 0.012168f, 0.012727f, 0.013047f, 0.013096f, 0.012849f, 0.012289f, 0.011407f, 0.010204f, 0.008692f, 0.006891f, 0.004833f, 0.002557f, 0.000110f, -0.002454f, -0.005076f, -0.007695f, -0.010247f, -0.012669f, -0.014902f, -0.016890f, -0.018583f, -0.019939f, -0.020927f, -0.021524f, -0.021719f, -0.021511f, -0.020913f, -0.019945f, -0.018640f, -0.017040f, -0.015194f, -0.013159f, -0.010993f, -0.008762f, -0.006527f, -0.004353f, -0.002298f, -0.000417f, 0.001242f, 0.002639f, 0.003742f, 0.004530f, 0.004993f, 0.005128f, 0.004945f, 0.004462f, 0.003708f, 0.002717f, 0.001530f, 0.000194f, -0.001242f, -0.002728f, -0.004213f, -0.005648f, -0.006988f, -0.008193f, -0.009228f, -0.010064f, -0.010683f, -0.011072f, -0.011225f, -0.011147f, -0.010848f, -0.010345f, -0.009663f, -0.008828f, -0.007874f, -0.006833f, -0.005740f, -0.004631f, -0.003539f, -0.002495f, -0.001526f, -0.000655f, 0.000100f, 0.000726f, 0.001215f, 0.001564f, 0.001777f, + 0.001862f, 0.001828f, 0.001693f, 0.001472f, 0.001184f, 0.000850f, 0.000488f, 0.000116f, -0.000248f, -0.000591f, -0.000901f, -0.001170f, -0.001394f, -0.001571f, -0.001703f, -0.001795f, -0.001854f, -0.001888f, -0.001908f, -0.001924f, -0.001948f, -0.001988f, -0.002054f, -0.002152f, -0.002286f, -0.002457f, -0.002663f, -0.002901f, -0.003162f, -0.003438f, -0.003715f, -0.003981f, -0.004221f, -0.004421f, -0.004565f, -0.004641f, -0.004636f, -0.004542f, -0.004353f, -0.004066f, -0.003682f, -0.003206f, -0.002647f, -0.002017f, -0.001331f, -0.000609f, 0.000129f, 0.000860f, 0.001562f, 0.002212f, 0.002787f, 0.003268f, 0.003637f, 0.003881f, 0.003990f, 0.003958f, 0.003786f, 0.003477f, 0.003040f, 0.002489f, 0.001844f, 0.001124f, 0.000354f, -0.000438f, -0.001225f, -0.001980f, -0.002675f, -0.003285f, -0.003789f, -0.004167f, -0.004406f, -0.004495f, -0.004431f, -0.004215f, -0.003854f, -0.003359f, -0.002748f, -0.002040f, -0.001261f, -0.000438f, 0.000402f, 0.001229f, 0.002013f, 0.002729f, 0.003351f, 0.003858f, 0.004232f, 0.004463f, 0.004541f, 0.004466f, 0.004242f, 0.003877f, 0.003386f, 0.002787f, 0.002103f, 0.001359f, + 0.000583f, -0.000199f, -0.000957f, -0.001665f, -0.002299f, -0.002836f, -0.003258f, -0.003553f, -0.003712f, -0.003732f, -0.003614f, -0.003366f, -0.002999f, -0.002531f, -0.001981f, -0.001373f, -0.000730f, -0.000078f, 0.000556f, 0.001147f, 0.001674f, 0.002116f, 0.002456f, 0.002683f, 0.002788f, 0.002770f, 0.002631f, 0.002377f, 0.002020f, 0.001577f, 0.001065f, 0.000507f, -0.000074f, -0.000653f, -0.001208f, -0.001715f, -0.002153f, -0.002504f, -0.002755f, -0.002894f, -0.002917f, -0.002822f, -0.002613f, -0.002299f, -0.001892f, -0.001409f, -0.000869f, -0.000293f, 0.049131f, -0.015616f, -0.522292f, -0.600258f, -0.029599f, 0.813772f, 0.895386f, 0.289781f, -0.543579f, -0.625267f, -0.515360f, 0.034943f, 0.575737f, 0.501286f, 0.121036f, -0.361330f, -0.606864f, -0.495434f, 0.005356f, 0.414851f, 0.580779f, 0.318371f, -0.123311f, -0.593897f, -0.557451f, -0.169763f, 0.347590f, 0.571183f, 0.524966f, 0.030215f, -0.384597f, -0.656131f, -0.441995f, 0.048106f, 0.566672f, 0.677656f, 0.404255f, -0.224061f, -0.700876f, -0.731566f, -0.152888f, 0.531724f, 0.760169f, 0.501596f, -0.144728f, -0.704601f, -0.795966f, -0.330431f, + 0.353769f, 0.753201f, 0.632239f, 0.089246f, -0.518902f, -0.792079f, -0.525313f, 0.104648f, 0.617031f, 0.707476f, 0.314736f, -0.260498f, -0.691655f, -0.601412f, -0.141066f, 0.463251f, 0.710407f, 0.595793f, 0.079532f, -0.566041f, -0.843219f, -0.546416f, 0.105977f, 0.689965f, 0.809491f, 0.360253f, -0.318746f, -0.836742f, -0.743698f, -0.190055f, 0.522132f, 0.866911f, 0.580073f, -0.073123f, -0.601450f, -0.773098f, -0.387519f, 0.305634f, 0.768200f, 0.716101f, 0.158541f, -0.513838f, -0.804112f, -0.591068f, 0.032888f, 0.617203f, 0.790415f, 0.449739f, -0.218370f, -0.690069f, -0.721129f, -0.227665f, 0.387618f, 0.763053f, 0.570480f, 0.034747f, -0.545742f, -0.740702f, -0.422311f, 0.218477f, 0.693095f, 0.673995f, 0.183893f, -0.441957f, -0.734538f, -0.536156f, 0.074688f, 0.632881f, 0.739209f, 0.338747f, -0.278687f, -0.756625f, -0.698729f, -0.160207f, 0.460456f, 0.758172f, 0.544559f, -0.052809f, -0.595830f, -0.706044f, -0.331895f, 0.255145f, 0.628821f, 0.584354f, 0.128971f, -0.420826f, -0.663711f, -0.453743f, 0.061328f, 0.526863f, 0.647273f, 0.317473f, -0.228324f, -0.609292f, -0.576534f, -0.146893f, + 0.392392f, 0.635176f, 0.429766f, -0.061573f, -0.513517f, -0.617936f, -0.268287f, 0.255404f, 0.606177f, 0.516536f, 0.065794f, -0.428316f, -0.592311f, -0.336865f, 0.139531f, 0.539778f, 0.555964f, 0.157542f, -0.382310f, -0.625238f, -0.458078f, 0.099422f, 0.550784f, 0.609096f, 0.201930f, -0.351519f, -0.671711f, -0.479070f, 0.078702f, 0.611679f, 0.668634f, 0.215243f, -0.430488f, -0.717891f, -0.470740f, 0.197954f, 0.766795f, 0.682469f, 0.044272f, -0.648601f, -0.791369f, -0.268294f, 0.498422f, 0.820191f, 0.406963f, -0.377448f, -0.799427f, -0.464122f, 0.311450f, 0.753181f, 0.422651f, -0.330904f, -0.685414f, -0.265079f, 0.430938f, 0.533296f, -0.072866f, -0.462007f, -0.064815f, 0.243788f, 0.040393f, -0.070903f, -0.008836f, 0.006176f, 0.000743f, -0.001883f, -0.000500f, -0.000516f, 0.001860f, 0.000220f, -0.001136f, -0.001868f, -0.001613f, -0.001259f, 0.000712f, 0.000443f, -0.000560f, -0.001141f, 0.000506f, -0.000510f, 0.001301f, -0.002347f, 0.000487f, 0.000658f, -0.000408f, 0.001931f, -0.000180f, 0.000240f, 0.001278f, -0.000570f, 0.001468f, -0.001239f, 0.001603f, -0.000209f, 0.002269f, 0.000913f}, + {-0.000033f, -0.000115f, -0.000241f, -0.000437f, -0.000727f, -0.001129f, -0.001655f, -0.002311f, -0.003095f, -0.003997f, -0.005000f, -0.006080f, -0.007207f, -0.008344f, -0.009452f, -0.010488f, -0.011408f, -0.012168f, -0.012727f, -0.013047f, -0.013096f, -0.012849f, -0.012289f, -0.011407f, -0.010204f, -0.008692f, -0.006891f, -0.004833f, -0.002557f, -0.000110f, 0.002454f, 0.005076f, 0.007695f, 0.010247f, 0.012669f, 0.014902f, 0.016890f, 0.018583f, 0.019939f, 0.020927f, 0.021524f, 0.021719f, 0.021511f, 0.020913f, 0.019945f, 0.018640f, 0.017040f, 0.015194f, 0.013159f, 0.010993f, 0.008762f, 0.006527f, 0.004353f, 0.002298f, 0.000417f, -0.001242f, -0.002639f, -0.003742f, -0.004530f, -0.004993f, -0.005128f, -0.004945f, -0.004462f, -0.003708f, -0.002717f, -0.001530f, -0.000194f, 0.001242f, 0.002728f, 0.004213f, 0.005648f, 0.006988f, 0.008193f, 0.009228f, 0.010064f, 0.010683f, 0.011072f, 0.011225f, 0.011147f, 0.010848f, 0.010345f, 0.009663f, 0.008828f, 0.007874f, 0.006833f, 0.005740f, 0.004631f, 0.003539f, 0.002495f, 0.001526f, 0.000655f, -0.000100f, -0.000726f, -0.001215f, -0.001564f, -0.001777f, + -0.001862f, -0.001828f, -0.001693f, -0.001472f, -0.001184f, -0.000850f, -0.000488f, -0.000116f, 0.000248f, 0.000591f, 0.000901f, 0.001170f, 0.001394f, 0.001571f, 0.001703f, 0.001795f, 0.001854f, 0.001888f, 0.001908f, 0.001924f, 0.001948f, 0.001988f, 0.002054f, 0.002152f, 0.002286f, 0.002457f, 0.002663f, 0.002901f, 0.003162f, 0.003438f, 0.003715f, 0.003981f, 0.004221f, 0.004421f, 0.004565f, 0.004641f, 0.004636f, 0.004542f, 0.004353f, 0.004066f, 0.003682f, 0.003206f, 0.002647f, 0.002017f, 0.001331f, 0.000609f, -0.000129f, -0.000860f, -0.001562f, -0.002212f, -0.002787f, -0.003268f, -0.003637f, -0.003881f, -0.003990f, -0.003958f, -0.003786f, -0.003477f, -0.003040f, -0.002489f, -0.001844f, -0.001124f, -0.000354f, 0.000438f, 0.001225f, 0.001980f, 0.002675f, 0.003285f, 0.003789f, 0.004167f, 0.004406f, 0.004495f, 0.004431f, 0.004215f, 0.003854f, 0.003359f, 0.002748f, 0.002040f, 0.001261f, 0.000438f, -0.000402f, -0.001229f, -0.002013f, -0.002729f, -0.003351f, -0.003858f, -0.004232f, -0.004463f, -0.004541f, -0.004466f, -0.004242f, -0.003877f, -0.003386f, -0.002787f, -0.002103f, -0.001359f, + -0.000583f, 0.000199f, 0.000957f, 0.001665f, 0.002299f, 0.002836f, 0.003258f, 0.003553f, 0.003712f, 0.003732f, 0.003614f, 0.003366f, 0.002999f, 0.002531f, 0.001981f, 0.001373f, 0.000730f, 0.000078f, -0.000556f, -0.001147f, -0.001674f, -0.002116f, -0.002456f, -0.002683f, -0.002788f, -0.002770f, -0.002631f, -0.002377f, -0.002020f, -0.001577f, -0.001065f, -0.000507f, 0.000074f, 0.000653f, 0.001208f, 0.001715f, 0.002153f, 0.002504f, 0.002755f, 0.002894f, 0.002917f, 0.002822f, 0.002613f, 0.002299f, 0.001892f, 0.001409f, 0.000869f, 0.000293f, -0.049131f, 0.015616f, 0.522292f, 0.600258f, 0.029599f, -0.813772f, -0.895386f, -0.289781f, 0.543579f, 0.625267f, 0.515360f, -0.034943f, -0.575737f, -0.501286f, -0.121036f, 0.361330f, 0.606864f, 0.495434f, -0.005356f, -0.414851f, -0.580779f, -0.318371f, 0.123311f, 0.593897f, 0.557451f, 0.169763f, -0.347590f, -0.571183f, -0.524966f, -0.030215f, 0.384597f, 0.656131f, 0.441995f, -0.048106f, -0.566672f, -0.677656f, -0.404255f, 0.224061f, 0.700876f, 0.731566f, 0.152888f, -0.531724f, -0.760169f, -0.501596f, 0.144728f, 0.704601f, 0.795966f, 0.330431f, + -0.353769f, -0.753201f, -0.632239f, -0.089246f, 0.518902f, 0.792079f, 0.525313f, -0.104648f, -0.617031f, -0.707476f, -0.314736f, 0.260498f, 0.691655f, 0.601412f, 0.141066f, -0.463251f, -0.710407f, -0.595793f, -0.079532f, 0.566041f, 0.843219f, 0.546416f, -0.105977f, -0.689965f, -0.809491f, -0.360253f, 0.318746f, 0.836742f, 0.743698f, 0.190055f, -0.522132f, -0.866911f, -0.580073f, 0.073123f, 0.601450f, 0.773098f, 0.387519f, -0.305634f, -0.768200f, -0.716101f, -0.158541f, 0.513838f, 0.804112f, 0.591068f, -0.032888f, -0.617203f, -0.790415f, -0.449739f, 0.218370f, 0.690069f, 0.721129f, 0.227665f, -0.387618f, -0.763053f, -0.570480f, -0.034747f, 0.545742f, 0.740702f, 0.422311f, -0.218477f, -0.693095f, -0.673995f, -0.183893f, 0.441957f, 0.734538f, 0.536156f, -0.074688f, -0.632881f, -0.739209f, -0.338747f, 0.278687f, 0.756625f, 0.698729f, 0.160207f, -0.460456f, -0.758172f, -0.544559f, 0.052809f, 0.595830f, 0.706044f, 0.331895f, -0.255145f, -0.628821f, -0.584354f, -0.128971f, 0.420826f, 0.663711f, 0.453743f, -0.061328f, -0.526863f, -0.647273f, -0.317473f, 0.228324f, 0.609292f, 0.576534f, 0.146893f, + -0.392392f, -0.635176f, -0.429766f, 0.061573f, 0.513517f, 0.617936f, 0.268287f, -0.255404f, -0.606177f, -0.516536f, -0.065794f, 0.428316f, 0.592311f, 0.336865f, -0.139531f, -0.539778f, -0.555964f, -0.157542f, 0.382310f, 0.625238f, 0.458078f, -0.099422f, -0.550784f, -0.609096f, -0.201930f, 0.351519f, 0.671711f, 0.479070f, -0.078702f, -0.611679f, -0.668634f, -0.215243f, 0.430488f, 0.717891f, 0.470740f, -0.197954f, -0.766795f, -0.682469f, -0.044272f, 0.648601f, 0.791369f, 0.268294f, -0.498422f, -0.820191f, -0.406963f, 0.377448f, 0.799427f, 0.464122f, -0.311450f, -0.753181f, -0.422651f, 0.330904f, 0.685414f, 0.265079f, -0.430938f, -0.533296f, 0.072866f, 0.462007f, 0.064815f, -0.243788f, -0.040393f, 0.070903f, 0.008836f, -0.006176f, -0.000743f, 0.001883f, 0.000500f, 0.000516f, -0.001860f, -0.000220f, 0.001136f, 0.001868f, 0.001613f, 0.001259f, -0.000712f, -0.000443f, 0.000560f, 0.001141f, -0.000506f, 0.000510f, -0.001301f, 0.002347f, -0.000487f, -0.000658f, 0.000408f, -0.001931f, 0.000180f, -0.000240f, -0.001278f, 0.000570f, -0.001468f, 0.001239f, -0.001603f, 0.000209f, -0.002269f, -0.000913f} + }, + { + {-0.002272f, -0.006795f, -0.011257f, -0.015617f, -0.019835f, -0.023870f, -0.027681f, -0.031227f, -0.034468f, -0.037367f, -0.039885f, -0.041987f, -0.043643f, -0.044825f, -0.045510f, -0.045682f, -0.045329f, -0.044450f, -0.043050f, -0.041143f, -0.038752f, -0.035909f, -0.032657f, -0.029046f, -0.025134f, -0.020989f, -0.016682f, -0.012291f, -0.007898f, -0.003585f, 0.000565f, 0.004471f, 0.008056f, 0.011249f, 0.013987f, 0.016216f, 0.017893f, 0.018988f, 0.019483f, 0.019374f, 0.018672f, 0.017402f, 0.015600f, 0.013318f, 0.010618f, 0.007572f, 0.004259f, 0.000766f, -0.002818f, -0.006400f, -0.009890f, -0.013202f, -0.016252f, -0.018968f, -0.021285f, -0.023149f, -0.024521f, -0.025372f, -0.025691f, -0.025479f, -0.024751f, -0.023537f, -0.021877f, -0.019824f, -0.017440f, -0.014795f, -0.011964f, -0.009025f, -0.006057f, -0.003140f, -0.000347f, 0.002250f, 0.004591f, 0.006621f, 0.008296f, 0.009584f, 0.010463f, 0.010925f, 0.010971f, 0.010616f, 0.009883f, 0.008806f, 0.007428f, 0.005795f, 0.003963f, 0.001987f, -0.000073f, -0.002162f, -0.004221f, -0.006199f, -0.008049f, -0.009728f, -0.011202f, -0.012444f, -0.013434f, -0.014163f, + -0.014628f, -0.014832f, -0.014789f, -0.014516f, -0.014036f, -0.013377f, -0.012571f, -0.011648f, -0.010644f, -0.009589f, -0.008516f, -0.007453f, -0.006427f, -0.005458f, -0.004566f, -0.003762f, -0.003057f, -0.002455f, -0.001955f, -0.001554f, -0.001247f, -0.001022f, -0.000870f, -0.000777f, -0.000731f, -0.000719f, -0.000729f, -0.000749f, -0.000770f, -0.000785f, -0.000788f, -0.000777f, -0.000751f, -0.000710f, -0.000659f, -0.000600f, -0.000539f, -0.000482f, -0.000436f, -0.000405f, -0.000395f, -0.000409f, -0.000449f, -0.000517f, -0.000610f, -0.000725f, -0.000858f, -0.001002f, -0.001149f, -0.001288f, -0.001412f, -0.001508f, -0.001568f, -0.001582f, -0.001542f, -0.001441f, -0.001274f, -0.001038f, -0.000734f, -0.000365f, 0.000066f, 0.000550f, 0.001078f, 0.001638f, 0.002216f, 0.002797f, 0.003367f, 0.003909f, 0.004408f, 0.004850f, 0.005222f, 0.005512f, 0.005712f, 0.005815f, 0.005818f, 0.005721f, 0.005526f, 0.005238f, 0.004865f, 0.004419f, 0.003912f, 0.003358f, 0.002773f, 0.002172f, 0.001572f, 0.000989f, 0.000436f, -0.000072f, -0.000525f, -0.000914f, -0.001232f, -0.001476f, -0.001643f, -0.001736f, -0.001759f, -0.001718f, + -0.001620f, -0.001476f, -0.001297f, -0.001095f, -0.000880f, -0.000665f, -0.000460f, -0.000275f, -0.000118f, 0.000004f, 0.000088f, 0.000129f, 0.000129f, 0.000089f, 0.000012f, -0.000096f, -0.000228f, -0.000378f, -0.000536f, -0.000694f, -0.000843f, -0.000975f, -0.001084f, -0.001163f, -0.001208f, -0.001215f, -0.001183f, -0.001114f, -0.001009f, -0.000872f, -0.000709f, -0.000526f, -0.000331f, -0.000131f, 0.000065f, 0.000250f, 0.000415f, 0.000555f, 0.000663f, 0.000736f, 0.000771f, 0.000767f, 0.000725f, 0.000648f, 0.000540f, 0.000405f, 0.000251f, 0.000085f, -0.059789f, -0.102829f, -0.092753f, 0.169252f, 0.093765f, -0.110248f, -0.095322f, 0.009461f, 0.074713f, 0.221773f, 0.387343f, 0.304712f, -0.048022f, 0.160610f, -0.081762f, -0.113382f, -0.081985f, 0.078842f, 0.099060f, 0.161641f, 0.146515f, 0.134489f, -0.053092f, -0.199125f, -0.154658f, 0.111864f, 0.191718f, 0.134431f, -0.053547f, -0.160212f, -0.247981f, -0.088622f, 0.085153f, 0.222292f, 0.162242f, -0.013458f, -0.238175f, -0.220659f, -0.130588f, 0.083230f, -0.006207f, -0.064393f, 0.177034f, 0.211256f, 0.150919f, -0.065328f, -0.180990f, -0.183912f, + -0.016825f, 0.198157f, 0.309640f, 0.155162f, -0.070330f, -0.296548f, -0.324287f, -0.090291f, 0.289213f, 0.471930f, 0.310026f, -0.111317f, -0.473323f, -0.533542f, -0.208394f, 0.244730f, 0.540629f, 0.312600f, -0.147136f, -0.472310f, -0.372218f, 0.003398f, 0.387393f, 0.428112f, 0.198046f, -0.184664f, -0.399299f, -0.269342f, 0.015118f, 0.323212f, 0.361407f, 0.070727f, -0.185849f, -0.326405f, -0.211415f, 0.043730f, 0.263641f, 0.263832f, 0.112385f, -0.133428f, -0.218343f, -0.175736f, -0.025087f, 0.111237f, 0.154633f, 0.126215f, 0.065378f, -0.077963f, -0.105330f, -0.075156f, 0.037828f, 0.184245f, 0.203843f, 0.017538f, -0.180532f, -0.306739f, -0.183135f, 0.120400f, 0.329952f, 0.313537f, 0.081923f, -0.191752f, -0.341449f, -0.208336f, 0.036696f, 0.273900f, 0.269394f, 0.080001f, -0.140039f, -0.256785f, -0.187831f, -0.003402f, 0.168854f, 0.171834f, 0.130938f, -0.020893f, -0.112005f, -0.126611f, -0.078294f, -0.032492f, 0.036975f, 0.085114f, 0.097007f, 0.040828f, -0.017462f, -0.082045f, -0.077678f, -0.040142f, 0.042448f, 0.078425f, 0.102311f, 0.029889f, -0.039703f, -0.081530f, -0.060571f, -0.006374f, + 0.047472f, 0.063504f, 0.059607f, -0.017375f, -0.048996f, -0.050657f, -0.024905f, 0.023163f, 0.046934f, 0.038970f, -0.010564f, -0.045341f, -0.037140f, -0.022486f, 0.030092f, 0.047710f, 0.024071f, -0.021430f, -0.024707f, -0.047456f, -0.005417f, 0.018754f, 0.040895f, 0.026417f, -0.007848f, -0.034097f, -0.027195f, 0.003021f, 0.035275f, 0.019933f, -0.011997f, -0.023716f, -0.011194f, 0.030116f, 0.027922f, 0.075121f, 0.083562f, -0.036478f, -0.111375f, -0.108350f, 0.022050f, 0.120270f, 0.118130f, -0.027445f, -0.135747f, -0.117002f, 0.042730f, 0.142848f, 0.094614f, -0.070999f, -0.137432f, -0.050371f, 0.099772f, 0.104817f, -0.015100f, -0.110045f, -0.026105f, 0.072741f, 0.032957f, -0.043118f, -0.006230f, 0.008846f, 0.005076f, -0.004781f, 0.004484f, -0.003187f, 0.004079f, -0.004361f, 0.001958f, -0.004392f, 0.004279f, -0.003276f, 0.003650f, -0.002566f, 0.002882f, -0.003588f, 0.002789f, -0.003288f, 0.005494f, -0.001615f, 0.004485f, -0.003597f, 0.003197f, -0.003885f, 0.002673f, -0.003492f, 0.003498f, -0.002798f, 0.003864f, -0.003417f, 0.003344f, -0.003215f, 0.002718f, -0.004054f, 0.002212f, -0.003445f}, + {-0.002272f, -0.006795f, -0.011257f, -0.015617f, -0.019835f, -0.023870f, -0.027681f, -0.031227f, -0.034468f, -0.037367f, -0.039885f, -0.041987f, -0.043643f, -0.044825f, -0.045510f, -0.045682f, -0.045329f, -0.044450f, -0.043050f, -0.041143f, -0.038752f, -0.035909f, -0.032657f, -0.029046f, -0.025134f, -0.020989f, -0.016682f, -0.012291f, -0.007898f, -0.003585f, 0.000565f, 0.004471f, 0.008056f, 0.011249f, 0.013987f, 0.016216f, 0.017893f, 0.018988f, 0.019483f, 0.019374f, 0.018672f, 0.017402f, 0.015600f, 0.013318f, 0.010618f, 0.007572f, 0.004259f, 0.000766f, -0.002818f, -0.006400f, -0.009890f, -0.013202f, -0.016252f, -0.018968f, -0.021285f, -0.023149f, -0.024521f, -0.025372f, -0.025691f, -0.025479f, -0.024751f, -0.023537f, -0.021877f, -0.019824f, -0.017440f, -0.014795f, -0.011964f, -0.009025f, -0.006057f, -0.003140f, -0.000347f, 0.002250f, 0.004591f, 0.006621f, 0.008296f, 0.009584f, 0.010463f, 0.010925f, 0.010971f, 0.010616f, 0.009883f, 0.008806f, 0.007428f, 0.005795f, 0.003963f, 0.001987f, -0.000073f, -0.002162f, -0.004221f, -0.006199f, -0.008049f, -0.009728f, -0.011202f, -0.012444f, -0.013434f, -0.014163f, + -0.014628f, -0.014832f, -0.014789f, -0.014516f, -0.014036f, -0.013377f, -0.012571f, -0.011648f, -0.010644f, -0.009589f, -0.008516f, -0.007453f, -0.006427f, -0.005458f, -0.004566f, -0.003762f, -0.003057f, -0.002455f, -0.001955f, -0.001554f, -0.001247f, -0.001022f, -0.000870f, -0.000777f, -0.000731f, -0.000719f, -0.000729f, -0.000749f, -0.000770f, -0.000785f, -0.000788f, -0.000777f, -0.000751f, -0.000710f, -0.000659f, -0.000600f, -0.000539f, -0.000482f, -0.000436f, -0.000405f, -0.000395f, -0.000409f, -0.000449f, -0.000517f, -0.000610f, -0.000725f, -0.000858f, -0.001002f, -0.001149f, -0.001288f, -0.001412f, -0.001508f, -0.001568f, -0.001582f, -0.001542f, -0.001441f, -0.001274f, -0.001038f, -0.000734f, -0.000365f, 0.000066f, 0.000550f, 0.001078f, 0.001638f, 0.002216f, 0.002797f, 0.003367f, 0.003909f, 0.004408f, 0.004850f, 0.005222f, 0.005512f, 0.005712f, 0.005815f, 0.005818f, 0.005721f, 0.005526f, 0.005238f, 0.004865f, 0.004419f, 0.003912f, 0.003358f, 0.002773f, 0.002172f, 0.001572f, 0.000989f, 0.000436f, -0.000072f, -0.000525f, -0.000914f, -0.001232f, -0.001476f, -0.001643f, -0.001736f, -0.001759f, -0.001718f, + -0.001620f, -0.001476f, -0.001297f, -0.001095f, -0.000880f, -0.000665f, -0.000460f, -0.000275f, -0.000118f, 0.000004f, 0.000088f, 0.000129f, 0.000129f, 0.000089f, 0.000012f, -0.000096f, -0.000228f, -0.000378f, -0.000536f, -0.000694f, -0.000843f, -0.000975f, -0.001084f, -0.001163f, -0.001208f, -0.001215f, -0.001183f, -0.001114f, -0.001009f, -0.000872f, -0.000709f, -0.000526f, -0.000331f, -0.000131f, 0.000065f, 0.000250f, 0.000415f, 0.000555f, 0.000663f, 0.000736f, 0.000771f, 0.000767f, 0.000725f, 0.000648f, 0.000540f, 0.000405f, 0.000251f, 0.000085f, -0.059789f, -0.102829f, -0.092753f, 0.169252f, 0.093765f, -0.110248f, -0.095322f, 0.009461f, 0.074713f, 0.221773f, 0.387343f, 0.304712f, -0.048022f, 0.160610f, -0.081762f, -0.113382f, -0.081985f, 0.078842f, 0.099060f, 0.161641f, 0.146515f, 0.134489f, -0.053092f, -0.199125f, -0.154658f, 0.111864f, 0.191718f, 0.134431f, -0.053547f, -0.160212f, -0.247981f, -0.088622f, 0.085153f, 0.222292f, 0.162242f, -0.013458f, -0.238175f, -0.220659f, -0.130588f, 0.083230f, -0.006207f, -0.064393f, 0.177034f, 0.211256f, 0.150919f, -0.065328f, -0.180990f, -0.183912f, + -0.016825f, 0.198157f, 0.309640f, 0.155162f, -0.070330f, -0.296548f, -0.324287f, -0.090291f, 0.289213f, 0.471930f, 0.310026f, -0.111317f, -0.473323f, -0.533542f, -0.208394f, 0.244730f, 0.540629f, 0.312600f, -0.147136f, -0.472310f, -0.372218f, 0.003398f, 0.387393f, 0.428112f, 0.198046f, -0.184664f, -0.399299f, -0.269342f, 0.015118f, 0.323212f, 0.361407f, 0.070727f, -0.185849f, -0.326405f, -0.211415f, 0.043730f, 0.263641f, 0.263832f, 0.112385f, -0.133428f, -0.218343f, -0.175736f, -0.025087f, 0.111237f, 0.154633f, 0.126215f, 0.065378f, -0.077963f, -0.105330f, -0.075156f, 0.037828f, 0.184245f, 0.203843f, 0.017538f, -0.180532f, -0.306739f, -0.183135f, 0.120400f, 0.329952f, 0.313537f, 0.081923f, -0.191752f, -0.341449f, -0.208336f, 0.036696f, 0.273900f, 0.269394f, 0.080001f, -0.140039f, -0.256785f, -0.187831f, -0.003402f, 0.168854f, 0.171834f, 0.130938f, -0.020893f, -0.112005f, -0.126611f, -0.078294f, -0.032492f, 0.036975f, 0.085114f, 0.097007f, 0.040828f, -0.017462f, -0.082045f, -0.077678f, -0.040142f, 0.042448f, 0.078425f, 0.102311f, 0.029889f, -0.039703f, -0.081530f, -0.060571f, -0.006374f, + 0.047472f, 0.063504f, 0.059607f, -0.017375f, -0.048996f, -0.050657f, -0.024905f, 0.023163f, 0.046934f, 0.038970f, -0.010564f, -0.045341f, -0.037140f, -0.022486f, 0.030092f, 0.047710f, 0.024071f, -0.021430f, -0.024707f, -0.047456f, -0.005417f, 0.018754f, 0.040895f, 0.026417f, -0.007848f, -0.034097f, -0.027195f, 0.003021f, 0.035275f, 0.019933f, -0.011997f, -0.023716f, -0.011194f, 0.030116f, 0.027922f, 0.075121f, 0.083562f, -0.036478f, -0.111375f, -0.108350f, 0.022050f, 0.120270f, 0.118130f, -0.027445f, -0.135747f, -0.117002f, 0.042730f, 0.142848f, 0.094614f, -0.070999f, -0.137432f, -0.050371f, 0.099772f, 0.104817f, -0.015100f, -0.110045f, -0.026105f, 0.072741f, 0.032957f, -0.043118f, -0.006230f, 0.008846f, 0.005076f, -0.004781f, 0.004484f, -0.003187f, 0.004079f, -0.004361f, 0.001958f, -0.004392f, 0.004279f, -0.003276f, 0.003650f, -0.002566f, 0.002882f, -0.003588f, 0.002789f, -0.003288f, 0.005494f, -0.001615f, 0.004485f, -0.003597f, 0.003197f, -0.003885f, 0.002673f, -0.003492f, 0.003498f, -0.002798f, 0.003864f, -0.003417f, 0.003344f, -0.003215f, 0.002718f, -0.004054f, 0.002212f, -0.003445f} + }, + { + {-0.002789f, -0.008307f, -0.013643f, -0.018683f, -0.023322f, -0.027463f, -0.031025f, -0.033946f, -0.036178f, -0.037694f, -0.038488f, -0.038572f, -0.037978f, -0.036756f, -0.034972f, -0.032707f, -0.030052f, -0.027107f, -0.023977f, -0.020770f, -0.017592f, -0.014544f, -0.011719f, -0.009201f, -0.007061f, -0.005352f, -0.004116f, -0.003373f, -0.003127f, -0.003367f, -0.004062f, -0.005167f, -0.006623f, -0.008359f, -0.010298f, -0.012354f, -0.014437f, -0.016461f, -0.018337f, -0.019988f, -0.021340f, -0.022333f, -0.022918f, -0.023060f, -0.022740f, -0.021955f, -0.020718f, -0.019054f, -0.017008f, -0.014632f, -0.011993f, -0.009166f, -0.006230f, -0.003272f, -0.000376f, 0.002375f, 0.004901f, 0.007130f, 0.008999f, 0.010457f, 0.011466f, 0.012000f, 0.012051f, 0.011622f, 0.010733f, 0.009419f, 0.007726f, 0.005712f, 0.003444f, 0.000997f, -0.001550f, -0.004114f, -0.006615f, -0.008973f, -0.011113f, -0.012969f, -0.014483f, -0.015610f, -0.016313f, -0.016573f, -0.016380f, -0.015743f, -0.014678f, -0.013220f, -0.011411f, -0.009304f, -0.006962f, -0.004452f, -0.001847f, 0.000778f, 0.003351f, 0.005800f, 0.008057f, 0.010062f, 0.011763f, 0.013118f, + 0.014095f, 0.014673f, 0.014843f, 0.014609f, 0.013987f, 0.013001f, 0.011687f, 0.010091f, 0.008264f, 0.006264f, 0.004152f, 0.001991f, -0.000154f, -0.002222f, -0.004154f, -0.005897f, -0.007404f, -0.008635f, -0.009559f, -0.010155f, -0.010410f, -0.010323f, -0.009900f, -0.009158f, -0.008122f, -0.006824f, -0.005303f, -0.003604f, -0.001774f, 0.000137f, 0.002076f, 0.003992f, 0.005837f, 0.007562f, 0.009127f, 0.010494f, 0.011632f, 0.012516f, 0.013128f, 0.013459f, 0.013506f, 0.013272f, 0.012769f, 0.012014f, 0.011030f, 0.009846f, 0.008492f, 0.007005f, 0.005422f, 0.003780f, 0.002118f, 0.000474f, -0.001116f, -0.002619f, -0.004005f, -0.005246f, -0.006321f, -0.007211f, -0.007906f, -0.008396f, -0.008678f, -0.008756f, -0.008634f, -0.008326f, -0.007844f, -0.007207f, -0.006436f, -0.005554f, -0.004585f, -0.003556f, -0.002492f, -0.001419f, -0.000362f, 0.000657f, 0.001614f, 0.002490f, 0.003269f, 0.003937f, 0.004482f, 0.004898f, 0.005180f, 0.005327f, 0.005341f, 0.005228f, 0.004995f, 0.004654f, 0.004217f, 0.003699f, 0.003116f, 0.002486f, 0.001826f, 0.001153f, 0.000487f, -0.000158f, -0.000764f, -0.001317f, + -0.001807f, -0.002221f, -0.002553f, -0.002796f, -0.002948f, -0.003009f, -0.002981f, -0.002868f, -0.002678f, -0.002419f, -0.002101f, -0.001738f, -0.001341f, -0.000924f, -0.000501f, -0.000085f, 0.000310f, 0.000672f, 0.000991f, 0.001258f, 0.001466f, 0.001608f, 0.001683f, 0.001690f, 0.001630f, 0.001506f, 0.001325f, 0.001094f, 0.000823f, 0.000520f, 0.000198f, -0.000132f, -0.000458f, -0.000769f, -0.001053f, -0.001301f, -0.001504f, -0.001654f, -0.001748f, -0.001781f, -0.001753f, -0.001665f, -0.001519f, -0.001321f, -0.001078f, -0.000798f, -0.000490f, -0.000165f, 0.017176f, -0.095187f, -0.084606f, -0.066811f, 0.125559f, -0.055178f, -0.043647f, -0.055244f, 0.072692f, -0.100566f, 0.144466f, 0.115529f, -0.073006f, 0.428083f, 0.536602f, 0.361472f, -0.187950f, -0.504191f, -0.536616f, -0.209228f, 0.324262f, 0.717470f, 0.478981f, -0.076945f, -0.630505f, -0.733172f, -0.375303f, 0.361746f, 0.851780f, 0.698445f, 0.037438f, -0.675581f, -0.833947f, -0.418577f, 0.332675f, 0.737928f, 0.682865f, 0.031743f, -0.473913f, -0.676649f, -0.117154f, 0.532501f, 0.479968f, 0.217465f, -0.301848f, -0.549401f, -0.506875f, -0.111072f, + 0.270243f, 0.498796f, 0.300719f, -0.032138f, -0.355314f, -0.392730f, -0.221885f, 0.107243f, 0.283997f, 0.295613f, 0.107448f, -0.126633f, -0.290794f, -0.236983f, -0.062118f, 0.192882f, 0.217201f, 0.246534f, 0.077800f, -0.182329f, -0.291132f, -0.187252f, 0.073341f, 0.190753f, 0.164380f, -0.004872f, -0.127444f, -0.163991f, -0.015512f, 0.092454f, 0.131975f, 0.055603f, -0.096848f, -0.186120f, -0.110515f, 0.053529f, 0.167286f, 0.194905f, 0.025435f, -0.166737f, -0.232992f, -0.166609f, 0.041217f, 0.101374f, 0.059077f, -0.013888f, -0.098945f, -0.070482f, -0.025854f, -0.002388f, -0.004873f, -0.144900f, -0.143526f, -0.024917f, 0.174840f, 0.253184f, 0.159423f, -0.101731f, -0.281333f, -0.266236f, -0.020673f, 0.276208f, 0.361017f, 0.143252f, -0.173068f, -0.399336f, -0.321599f, -0.051770f, 0.281296f, 0.447241f, 0.242085f, -0.149283f, -0.440122f, -0.363316f, -0.037746f, 0.303052f, 0.419547f, 0.243804f, -0.087344f, -0.340480f, -0.342191f, -0.114542f, 0.211909f, 0.363800f, 0.284290f, -0.029414f, -0.291687f, -0.360590f, -0.187496f, 0.133136f, 0.356109f, 0.307411f, 0.052787f, -0.239933f, -0.364350f, -0.224866f, + 0.017593f, 0.263960f, 0.324224f, 0.167012f, -0.114450f, -0.267339f, -0.247516f, -0.036651f, 0.195931f, 0.291766f, 0.198195f, -0.068327f, -0.278376f, -0.265980f, -0.093008f, 0.159531f, 0.300914f, 0.205936f, -0.054356f, -0.225104f, -0.255082f, -0.090307f, 0.125451f, 0.237868f, 0.175738f, -0.017821f, -0.216213f, -0.228798f, -0.061587f, 0.173951f, 0.277154f, 0.171367f, -0.077741f, -0.239995f, -0.256539f, 0.042831f, 0.319227f, 0.274893f, -0.000013f, -0.298031f, -0.323092f, -0.070354f, 0.245828f, 0.321677f, 0.100790f, -0.219246f, -0.313970f, -0.105338f, 0.193433f, 0.273140f, 0.068388f, -0.193449f, -0.221340f, -0.006955f, 0.190425f, 0.125486f, -0.090515f, -0.132627f, 0.025865f, 0.066881f, -0.010202f, -0.019306f, 0.001199f, -0.000057f, -0.000712f, -0.001216f, 0.000966f, -0.003512f, -0.000585f, -0.000861f, -0.000802f, -0.001826f, 0.000550f, -0.000723f, 0.000118f, -0.001682f, 0.000548f, -0.000821f, -0.000305f, -0.002193f, 0.000435f, 0.000823f, 0.001605f, -0.000919f, -0.000456f, -0.001958f, -0.000591f, -0.001151f, -0.002830f, 0.001704f, 0.003810f, 0.000403f, -0.000276f, -0.001902f, 0.000440f, -0.000242f}, + {-0.002789f, -0.008307f, -0.013643f, -0.018683f, -0.023322f, -0.027463f, -0.031025f, -0.033946f, -0.036178f, -0.037694f, -0.038488f, -0.038572f, -0.037978f, -0.036756f, -0.034972f, -0.032707f, -0.030052f, -0.027107f, -0.023977f, -0.020770f, -0.017592f, -0.014544f, -0.011719f, -0.009201f, -0.007061f, -0.005352f, -0.004116f, -0.003373f, -0.003127f, -0.003367f, -0.004062f, -0.005167f, -0.006623f, -0.008359f, -0.010298f, -0.012354f, -0.014437f, -0.016461f, -0.018337f, -0.019988f, -0.021340f, -0.022333f, -0.022918f, -0.023060f, -0.022740f, -0.021955f, -0.020718f, -0.019054f, -0.017008f, -0.014632f, -0.011993f, -0.009166f, -0.006230f, -0.003272f, -0.000376f, 0.002375f, 0.004901f, 0.007130f, 0.008999f, 0.010457f, 0.011466f, 0.012000f, 0.012051f, 0.011622f, 0.010733f, 0.009419f, 0.007726f, 0.005712f, 0.003444f, 0.000997f, -0.001550f, -0.004114f, -0.006615f, -0.008973f, -0.011113f, -0.012969f, -0.014483f, -0.015610f, -0.016313f, -0.016573f, -0.016380f, -0.015743f, -0.014678f, -0.013220f, -0.011411f, -0.009304f, -0.006962f, -0.004452f, -0.001847f, 0.000778f, 0.003351f, 0.005800f, 0.008057f, 0.010062f, 0.011763f, 0.013118f, + 0.014095f, 0.014673f, 0.014843f, 0.014609f, 0.013987f, 0.013001f, 0.011687f, 0.010091f, 0.008264f, 0.006264f, 0.004152f, 0.001991f, -0.000154f, -0.002222f, -0.004154f, -0.005897f, -0.007404f, -0.008635f, -0.009559f, -0.010155f, -0.010410f, -0.010323f, -0.009900f, -0.009158f, -0.008122f, -0.006824f, -0.005303f, -0.003604f, -0.001774f, 0.000137f, 0.002076f, 0.003992f, 0.005837f, 0.007562f, 0.009127f, 0.010494f, 0.011632f, 0.012516f, 0.013128f, 0.013459f, 0.013506f, 0.013272f, 0.012769f, 0.012014f, 0.011030f, 0.009846f, 0.008492f, 0.007005f, 0.005422f, 0.003780f, 0.002118f, 0.000474f, -0.001116f, -0.002619f, -0.004005f, -0.005246f, -0.006321f, -0.007211f, -0.007906f, -0.008396f, -0.008678f, -0.008756f, -0.008634f, -0.008326f, -0.007844f, -0.007207f, -0.006436f, -0.005554f, -0.004585f, -0.003556f, -0.002492f, -0.001419f, -0.000362f, 0.000657f, 0.001614f, 0.002490f, 0.003269f, 0.003937f, 0.004482f, 0.004898f, 0.005180f, 0.005327f, 0.005341f, 0.005228f, 0.004995f, 0.004654f, 0.004217f, 0.003699f, 0.003116f, 0.002486f, 0.001826f, 0.001153f, 0.000487f, -0.000158f, -0.000764f, -0.001317f, + -0.001807f, -0.002221f, -0.002553f, -0.002796f, -0.002948f, -0.003009f, -0.002981f, -0.002868f, -0.002678f, -0.002419f, -0.002101f, -0.001738f, -0.001341f, -0.000924f, -0.000501f, -0.000085f, 0.000310f, 0.000672f, 0.000991f, 0.001258f, 0.001466f, 0.001608f, 0.001683f, 0.001690f, 0.001630f, 0.001506f, 0.001325f, 0.001094f, 0.000823f, 0.000520f, 0.000198f, -0.000132f, -0.000458f, -0.000769f, -0.001053f, -0.001301f, -0.001504f, -0.001654f, -0.001748f, -0.001781f, -0.001753f, -0.001665f, -0.001519f, -0.001321f, -0.001078f, -0.000798f, -0.000490f, -0.000165f, 0.017176f, -0.095187f, -0.084606f, -0.066811f, 0.125559f, -0.055178f, -0.043647f, -0.055244f, 0.072692f, -0.100566f, 0.144466f, 0.115529f, -0.073006f, 0.428083f, 0.536602f, 0.361472f, -0.187950f, -0.504191f, -0.536616f, -0.209228f, 0.324262f, 0.717470f, 0.478981f, -0.076945f, -0.630505f, -0.733172f, -0.375303f, 0.361746f, 0.851780f, 0.698445f, 0.037438f, -0.675581f, -0.833947f, -0.418577f, 0.332675f, 0.737928f, 0.682865f, 0.031743f, -0.473913f, -0.676649f, -0.117154f, 0.532501f, 0.479968f, 0.217465f, -0.301848f, -0.549401f, -0.506875f, -0.111072f, + 0.270243f, 0.498796f, 0.300719f, -0.032138f, -0.355314f, -0.392730f, -0.221885f, 0.107243f, 0.283997f, 0.295613f, 0.107448f, -0.126633f, -0.290794f, -0.236983f, -0.062118f, 0.192882f, 0.217201f, 0.246534f, 0.077800f, -0.182329f, -0.291132f, -0.187252f, 0.073341f, 0.190753f, 0.164380f, -0.004872f, -0.127444f, -0.163991f, -0.015512f, 0.092454f, 0.131975f, 0.055603f, -0.096848f, -0.186120f, -0.110515f, 0.053529f, 0.167286f, 0.194905f, 0.025435f, -0.166737f, -0.232992f, -0.166609f, 0.041217f, 0.101374f, 0.059077f, -0.013888f, -0.098945f, -0.070482f, -0.025854f, -0.002388f, -0.004873f, -0.144900f, -0.143526f, -0.024917f, 0.174840f, 0.253184f, 0.159423f, -0.101731f, -0.281333f, -0.266236f, -0.020673f, 0.276208f, 0.361017f, 0.143252f, -0.173068f, -0.399336f, -0.321599f, -0.051770f, 0.281296f, 0.447241f, 0.242085f, -0.149283f, -0.440122f, -0.363316f, -0.037746f, 0.303052f, 0.419547f, 0.243804f, -0.087344f, -0.340480f, -0.342191f, -0.114542f, 0.211909f, 0.363800f, 0.284290f, -0.029414f, -0.291687f, -0.360590f, -0.187496f, 0.133136f, 0.356109f, 0.307411f, 0.052787f, -0.239933f, -0.364350f, -0.224866f, + 0.017593f, 0.263960f, 0.324224f, 0.167012f, -0.114450f, -0.267339f, -0.247516f, -0.036651f, 0.195931f, 0.291766f, 0.198195f, -0.068327f, -0.278376f, -0.265980f, -0.093008f, 0.159531f, 0.300914f, 0.205936f, -0.054356f, -0.225104f, -0.255082f, -0.090307f, 0.125451f, 0.237868f, 0.175738f, -0.017821f, -0.216213f, -0.228798f, -0.061587f, 0.173951f, 0.277154f, 0.171367f, -0.077741f, -0.239995f, -0.256539f, 0.042831f, 0.319227f, 0.274893f, -0.000013f, -0.298031f, -0.323092f, -0.070354f, 0.245828f, 0.321677f, 0.100790f, -0.219246f, -0.313970f, -0.105338f, 0.193433f, 0.273140f, 0.068388f, -0.193449f, -0.221340f, -0.006955f, 0.190425f, 0.125486f, -0.090515f, -0.132627f, 0.025865f, 0.066881f, -0.010202f, -0.019306f, 0.001199f, -0.000057f, -0.000712f, -0.001216f, 0.000966f, -0.003512f, -0.000585f, -0.000861f, -0.000802f, -0.001826f, 0.000550f, -0.000723f, 0.000118f, -0.001682f, 0.000548f, -0.000821f, -0.000305f, -0.002193f, 0.000435f, 0.000823f, 0.001605f, -0.000919f, -0.000456f, -0.001958f, -0.000591f, -0.001151f, -0.002830f, 0.001704f, 0.003810f, 0.000403f, -0.000276f, -0.001902f, 0.000440f, -0.000242f} + }, + { + {-0.001398f, -0.004182f, -0.006929f, -0.009613f, -0.012210f, -0.014694f, -0.017042f, -0.019228f, -0.021231f, -0.023026f, -0.024594f, -0.025915f, -0.026973f, -0.027753f, -0.028247f, -0.028448f, -0.028355f, -0.027972f, -0.027307f, -0.026377f, -0.025200f, -0.023805f, -0.022221f, -0.020487f, -0.018643f, -0.016735f, -0.014809f, -0.012916f, -0.011104f, -0.009424f, -0.007923f, -0.006643f, -0.005625f, -0.004901f, -0.004498f, -0.004433f, -0.004717f, -0.005350f, -0.006323f, -0.007618f, -0.009207f, -0.011054f, -0.013115f, -0.015340f, -0.017673f, -0.020053f, -0.022418f, -0.024705f, -0.026852f, -0.028801f, -0.030496f, -0.031889f, -0.032939f, -0.033615f, -0.033894f, -0.033763f, -0.033221f, -0.032277f, -0.030951f, -0.029271f, -0.027277f, -0.025014f, -0.022533f, -0.019893f, -0.017153f, -0.014374f, -0.011616f, -0.008939f, -0.006395f, -0.004034f, -0.001897f, -0.000018f, 0.001578f, 0.002877f, 0.003871f, 0.004566f, 0.004972f, 0.005112f, 0.005014f, 0.004712f, 0.004245f, 0.003655f, 0.002988f, 0.002286f, 0.001593f, 0.000947f, 0.000384f, -0.000067f, -0.000383f, -0.000548f, -0.000555f, -0.000403f, -0.000100f, 0.000340f, 0.000896f, 0.001542f, + 0.002248f, 0.002979f, 0.003701f, 0.004380f, 0.004981f, 0.005473f, 0.005830f, 0.006030f, 0.006058f, 0.005906f, 0.005571f, 0.005060f, 0.004387f, 0.003572f, 0.002642f, 0.001628f, 0.000567f, -0.000503f, -0.001539f, -0.002501f, -0.003351f, -0.004051f, -0.004568f, -0.004877f, -0.004957f, -0.004794f, -0.004384f, -0.003731f, -0.002845f, -0.001746f, -0.000463f, 0.000972f, 0.002517f, 0.004130f, 0.005761f, 0.007363f, 0.008885f, 0.010280f, 0.011503f, 0.012513f, 0.013275f, 0.013762f, 0.013953f, 0.013836f, 0.013408f, 0.012675f, 0.011652f, 0.010360f, 0.008831f, 0.007102f, 0.005214f, 0.003214f, 0.001153f, -0.000919f, -0.002950f, -0.004893f, -0.006699f, -0.008327f, -0.009741f, -0.010910f, -0.011810f, -0.012426f, -0.012750f, -0.012782f, -0.012530f, -0.012007f, -0.011237f, -0.010245f, -0.009064f, -0.007730f, -0.006280f, -0.004755f, -0.003194f, -0.001637f, -0.000119f, 0.001324f, 0.002663f, 0.003873f, 0.004931f, 0.005824f, 0.006540f, 0.007076f, 0.007431f, 0.007611f, 0.007626f, 0.007489f, 0.007217f, 0.006829f, 0.006346f, 0.005788f, 0.005178f, 0.004536f, 0.003883f, 0.003236f, 0.002612f, 0.002024f, + 0.001483f, 0.000998f, 0.000574f, 0.000214f, -0.000082f, -0.000314f, -0.000487f, -0.000605f, -0.000674f, -0.000702f, -0.000694f, -0.000659f, -0.000603f, -0.000532f, -0.000452f, -0.000367f, -0.000280f, -0.000196f, -0.000114f, -0.000037f, 0.000037f, 0.000107f, 0.000173f, 0.000238f, 0.000303f, 0.000367f, 0.000433f, 0.000499f, 0.000567f, 0.000636f, 0.000704f, 0.000769f, 0.000831f, 0.000886f, 0.000932f, 0.000966f, 0.000987f, 0.000992f, 0.000979f, 0.000947f, 0.000896f, 0.000825f, 0.000735f, 0.000628f, 0.000505f, 0.000370f, 0.000226f, 0.000076f, 0.009537f, -0.025098f, 0.002786f, -0.063195f, -0.011454f, -0.003229f, 0.064313f, 0.015733f, 0.011226f, 0.012941f, 0.058888f, 0.091003f, -0.032689f, 0.214915f, 0.315019f, 0.133084f, -0.086255f, -0.175700f, -0.329061f, 0.007385f, 0.076743f, 0.172848f, 0.129603f, -0.050093f, -0.147751f, -0.174632f, -0.016302f, 0.183859f, 0.275204f, 0.164708f, -0.046160f, -0.231085f, -0.305367f, -0.102624f, 0.318419f, 0.373301f, 0.151958f, -0.142073f, -0.327602f, -0.316282f, 0.056588f, 0.374551f, 0.289291f, 0.067277f, -0.238822f, -0.368754f, -0.260695f, -0.020030f, + 0.130222f, 0.304065f, 0.227394f, 0.048681f, -0.170527f, -0.268830f, -0.199083f, -0.018513f, 0.202927f, 0.204249f, 0.217268f, -0.177928f, -0.183146f, -0.198042f, -0.177634f, 0.058768f, 0.262191f, 0.200701f, -0.052419f, -0.252923f, -0.275988f, -0.049426f, 0.207429f, 0.273299f, 0.208886f, 0.013765f, -0.244023f, -0.286224f, -0.113709f, 0.172389f, 0.313132f, 0.124798f, -0.017737f, -0.298624f, -0.315803f, -0.087124f, 0.189075f, 0.280196f, 0.123507f, -0.110427f, -0.296829f, -0.222220f, -0.002989f, 0.148554f, 0.108602f, -0.027102f, -0.095315f, -0.032799f, 0.026530f, 0.041807f, 0.008194f, -0.121200f, -0.101256f, -0.003539f, 0.143894f, 0.201917f, 0.134308f, -0.044255f, -0.179498f, -0.196896f, -0.077737f, 0.144113f, 0.232885f, 0.232204f, 0.078859f, -0.184195f, -0.281655f, -0.102618f, 0.100404f, 0.234960f, 0.179685f, -0.069331f, -0.132755f, -0.230639f, -0.151544f, 0.074729f, 0.170532f, 0.204106f, 0.063404f, -0.088652f, -0.140248f, -0.063267f, 0.029244f, 0.099832f, 0.076021f, 0.020095f, -0.072666f, -0.081413f, -0.089380f, 0.004151f, 0.105303f, 0.104567f, 0.041334f, -0.033844f, -0.099053f, -0.068595f, + -0.043828f, 0.039783f, 0.086204f, 0.084819f, 0.014423f, -0.026491f, -0.038131f, 0.002549f, 0.027963f, 0.054907f, 0.060903f, 0.000251f, -0.073438f, -0.075337f, -0.024455f, 0.050430f, 0.132453f, 0.105391f, -0.027614f, -0.100381f, -0.131174f, -0.056092f, 0.032895f, 0.085088f, 0.063533f, 0.003182f, -0.071345f, -0.087193f, -0.040483f, 0.081616f, 0.100384f, 0.102589f, -0.046386f, -0.122259f, -0.163890f, -0.009890f, 0.324037f, 0.313620f, 0.065158f, -0.273810f, -0.351656f, -0.129786f, 0.227440f, 0.356748f, 0.161216f, -0.193691f, -0.342080f, -0.158923f, 0.181586f, 0.312851f, 0.119461f, -0.188232f, -0.260462f, -0.037299f, 0.204803f, 0.166662f, -0.082503f, -0.167438f, 0.019261f, 0.089158f, -0.004467f, -0.024844f, 0.000708f, 0.003341f, 0.001287f, 0.000897f, -0.000649f, -0.002509f, 0.000959f, -0.000583f, 0.001758f, 0.000265f, 0.001482f, -0.001572f, 0.000488f, 0.000974f, 0.000454f, -0.001844f, 0.000233f, -0.000726f, 0.000899f, -0.002310f, 0.000677f, 0.000363f, 0.001329f, 0.000209f, -0.002589f, -0.001986f, -0.000225f, -0.000729f, 0.002987f, -0.000728f, 0.001898f, -0.002967f, -0.000898f, -0.001951f}, + {0.001398f, 0.004182f, 0.006929f, 0.009613f, 0.012210f, 0.014694f, 0.017042f, 0.019228f, 0.021231f, 0.023026f, 0.024594f, 0.025915f, 0.026973f, 0.027753f, 0.028247f, 0.028448f, 0.028355f, 0.027972f, 0.027307f, 0.026377f, 0.025200f, 0.023805f, 0.022221f, 0.020487f, 0.018643f, 0.016735f, 0.014809f, 0.012916f, 0.011104f, 0.009424f, 0.007923f, 0.006643f, 0.005625f, 0.004901f, 0.004498f, 0.004433f, 0.004717f, 0.005350f, 0.006323f, 0.007618f, 0.009207f, 0.011054f, 0.013115f, 0.015340f, 0.017673f, 0.020053f, 0.022418f, 0.024705f, 0.026852f, 0.028801f, 0.030496f, 0.031889f, 0.032939f, 0.033615f, 0.033894f, 0.033763f, 0.033221f, 0.032277f, 0.030951f, 0.029271f, 0.027277f, 0.025014f, 0.022533f, 0.019893f, 0.017153f, 0.014374f, 0.011616f, 0.008939f, 0.006395f, 0.004034f, 0.001897f, 0.000018f, -0.001578f, -0.002877f, -0.003871f, -0.004566f, -0.004972f, -0.005112f, -0.005014f, -0.004712f, -0.004245f, -0.003655f, -0.002988f, -0.002286f, -0.001593f, -0.000947f, -0.000384f, 0.000067f, 0.000383f, 0.000548f, 0.000555f, 0.000403f, 0.000100f, -0.000340f, -0.000896f, -0.001542f, + -0.002248f, -0.002979f, -0.003701f, -0.004380f, -0.004981f, -0.005473f, -0.005830f, -0.006030f, -0.006058f, -0.005906f, -0.005571f, -0.005060f, -0.004387f, -0.003572f, -0.002642f, -0.001628f, -0.000567f, 0.000503f, 0.001539f, 0.002501f, 0.003351f, 0.004051f, 0.004568f, 0.004877f, 0.004957f, 0.004794f, 0.004384f, 0.003731f, 0.002845f, 0.001746f, 0.000463f, -0.000972f, -0.002517f, -0.004130f, -0.005761f, -0.007363f, -0.008885f, -0.010280f, -0.011503f, -0.012513f, -0.013275f, -0.013762f, -0.013953f, -0.013836f, -0.013408f, -0.012675f, -0.011652f, -0.010360f, -0.008831f, -0.007102f, -0.005214f, -0.003214f, -0.001153f, 0.000919f, 0.002950f, 0.004893f, 0.006699f, 0.008327f, 0.009741f, 0.010910f, 0.011810f, 0.012426f, 0.012750f, 0.012782f, 0.012530f, 0.012007f, 0.011237f, 0.010245f, 0.009064f, 0.007730f, 0.006280f, 0.004755f, 0.003194f, 0.001637f, 0.000119f, -0.001324f, -0.002663f, -0.003873f, -0.004931f, -0.005824f, -0.006540f, -0.007076f, -0.007431f, -0.007611f, -0.007626f, -0.007489f, -0.007217f, -0.006829f, -0.006346f, -0.005788f, -0.005178f, -0.004536f, -0.003883f, -0.003236f, -0.002612f, -0.002024f, + -0.001483f, -0.000998f, -0.000574f, -0.000214f, 0.000082f, 0.000314f, 0.000487f, 0.000605f, 0.000674f, 0.000702f, 0.000694f, 0.000659f, 0.000603f, 0.000532f, 0.000452f, 0.000367f, 0.000280f, 0.000196f, 0.000114f, 0.000037f, -0.000037f, -0.000107f, -0.000173f, -0.000238f, -0.000303f, -0.000367f, -0.000433f, -0.000499f, -0.000567f, -0.000636f, -0.000704f, -0.000769f, -0.000831f, -0.000886f, -0.000932f, -0.000966f, -0.000987f, -0.000992f, -0.000979f, -0.000947f, -0.000896f, -0.000825f, -0.000735f, -0.000628f, -0.000505f, -0.000370f, -0.000226f, -0.000076f, -0.009537f, 0.025098f, -0.002786f, 0.063195f, 0.011454f, 0.003229f, -0.064313f, -0.015733f, -0.011226f, -0.012941f, -0.058888f, -0.091003f, 0.032689f, -0.214915f, -0.315019f, -0.133084f, 0.086255f, 0.175700f, 0.329061f, -0.007385f, -0.076743f, -0.172848f, -0.129603f, 0.050093f, 0.147751f, 0.174632f, 0.016302f, -0.183859f, -0.275204f, -0.164708f, 0.046160f, 0.231085f, 0.305367f, 0.102624f, -0.318419f, -0.373301f, -0.151958f, 0.142073f, 0.327602f, 0.316282f, -0.056588f, -0.374551f, -0.289291f, -0.067277f, 0.238822f, 0.368754f, 0.260695f, 0.020030f, + -0.130222f, -0.304065f, -0.227394f, -0.048681f, 0.170527f, 0.268830f, 0.199083f, 0.018513f, -0.202927f, -0.204249f, -0.217268f, 0.177928f, 0.183146f, 0.198042f, 0.177634f, -0.058768f, -0.262191f, -0.200701f, 0.052419f, 0.252923f, 0.275988f, 0.049426f, -0.207429f, -0.273299f, -0.208886f, -0.013765f, 0.244023f, 0.286224f, 0.113709f, -0.172389f, -0.313132f, -0.124798f, 0.017737f, 0.298624f, 0.315803f, 0.087124f, -0.189075f, -0.280196f, -0.123507f, 0.110427f, 0.296829f, 0.222220f, 0.002989f, -0.148554f, -0.108602f, 0.027102f, 0.095315f, 0.032799f, -0.026530f, -0.041807f, -0.008194f, 0.121200f, 0.101256f, 0.003539f, -0.143894f, -0.201917f, -0.134308f, 0.044255f, 0.179498f, 0.196896f, 0.077737f, -0.144113f, -0.232885f, -0.232204f, -0.078859f, 0.184195f, 0.281655f, 0.102618f, -0.100404f, -0.234960f, -0.179685f, 0.069331f, 0.132755f, 0.230639f, 0.151544f, -0.074729f, -0.170532f, -0.204106f, -0.063404f, 0.088652f, 0.140248f, 0.063267f, -0.029244f, -0.099832f, -0.076021f, -0.020095f, 0.072666f, 0.081413f, 0.089380f, -0.004151f, -0.105303f, -0.104567f, -0.041334f, 0.033844f, 0.099053f, 0.068595f, + 0.043828f, -0.039783f, -0.086204f, -0.084819f, -0.014423f, 0.026491f, 0.038131f, -0.002549f, -0.027963f, -0.054907f, -0.060903f, -0.000251f, 0.073438f, 0.075337f, 0.024455f, -0.050430f, -0.132453f, -0.105391f, 0.027614f, 0.100381f, 0.131174f, 0.056092f, -0.032895f, -0.085088f, -0.063533f, -0.003182f, 0.071345f, 0.087193f, 0.040483f, -0.081616f, -0.100384f, -0.102589f, 0.046386f, 0.122259f, 0.163890f, 0.009890f, -0.324037f, -0.313620f, -0.065158f, 0.273810f, 0.351656f, 0.129786f, -0.227440f, -0.356748f, -0.161216f, 0.193691f, 0.342080f, 0.158923f, -0.181586f, -0.312851f, -0.119461f, 0.188232f, 0.260462f, 0.037299f, -0.204803f, -0.166662f, 0.082503f, 0.167438f, -0.019261f, -0.089158f, 0.004467f, 0.024844f, -0.000708f, -0.003341f, -0.001287f, -0.000897f, 0.000649f, 0.002509f, -0.000959f, 0.000583f, -0.001758f, -0.000265f, -0.001482f, 0.001572f, -0.000488f, -0.000974f, -0.000454f, 0.001844f, -0.000233f, 0.000726f, -0.000899f, 0.002310f, -0.000677f, -0.000363f, -0.001329f, -0.000209f, 0.002589f, 0.001986f, 0.000225f, 0.000729f, -0.002987f, 0.000728f, -0.001898f, 0.002967f, 0.000898f, 0.001951f} + }, + { + {-0.000465f, -0.001404f, -0.002369f, -0.003376f, -0.004436f, -0.005561f, -0.006755f, -0.008017f, -0.009344f, -0.010725f, -0.012145f, -0.013583f, -0.015015f, -0.016415f, -0.017751f, -0.018992f, -0.020108f, -0.021068f, -0.021845f, -0.022413f, -0.022755f, -0.022856f, -0.022709f, -0.022314f, -0.021677f, -0.020814f, -0.019744f, -0.018496f, -0.017103f, -0.015602f, -0.014037f, -0.012450f, -0.010886f, -0.009389f, -0.008001f, -0.006759f, -0.005696f, -0.004839f, -0.004207f, -0.003813f, -0.003660f, -0.003742f, -0.004047f, -0.004552f, -0.005231f, -0.006048f, -0.006964f, -0.007936f, -0.008918f, -0.009866f, -0.010735f, -0.011484f, -0.012075f, -0.012477f, -0.012666f, -0.012624f, -0.012343f, -0.011823f, -0.011072f, -0.010110f, -0.008959f, -0.007654f, -0.006231f, -0.004734f, -0.003209f, -0.001703f, -0.000262f, 0.001067f, 0.002243f, 0.003228f, 0.003993f, 0.004514f, 0.004775f, 0.004770f, 0.004501f, 0.003977f, 0.003219f, 0.002253f, 0.001113f, -0.000163f, -0.001532f, -0.002948f, -0.004365f, -0.005736f, -0.007019f, -0.008174f, -0.009165f, -0.009964f, -0.010550f, -0.010909f, -0.011035f, -0.010933f, -0.010612f, -0.010091f, -0.009396f, -0.008557f, + -0.007610f, -0.006595f, -0.005550f, -0.004518f, -0.003538f, -0.002646f, -0.001875f, -0.001254f, -0.000804f, -0.000539f, -0.000468f, -0.000591f, -0.000900f, -0.001382f, -0.002016f, -0.002776f, -0.003634f, -0.004554f, -0.005503f, -0.006443f, -0.007341f, -0.008162f, -0.008878f, -0.009463f, -0.009896f, -0.010164f, -0.010259f, -0.010179f, -0.009929f, -0.009520f, -0.008970f, -0.008299f, -0.007535f, -0.006704f, -0.005838f, -0.004967f, -0.004121f, -0.003328f, -0.002614f, -0.002000f, -0.001501f, -0.001130f, -0.000892f, -0.000788f, -0.000810f, -0.000948f, -0.001186f, -0.001503f, -0.001875f, -0.002277f, -0.002682f, -0.003063f, -0.003393f, -0.003648f, -0.003808f, -0.003856f, -0.003779f, -0.003570f, -0.003229f, -0.002759f, -0.002169f, -0.001474f, -0.000694f, 0.000148f, 0.001028f, 0.001916f, 0.002785f, 0.003605f, 0.004349f, 0.004992f, 0.005513f, 0.005894f, 0.006122f, 0.006190f, 0.006096f, 0.005843f, 0.005440f, 0.004902f, 0.004247f, 0.003499f, 0.002682f, 0.001824f, 0.000955f, 0.000103f, -0.000705f, -0.001443f, -0.002088f, -0.002622f, -0.003029f, -0.003302f, -0.003435f, -0.003429f, -0.003292f, -0.003032f, -0.002666f, -0.002213f, + -0.001695f, -0.001134f, -0.000556f, 0.000015f, 0.000554f, 0.001039f, 0.001452f, 0.001777f, 0.002000f, 0.002116f, 0.002120f, 0.002014f, 0.001806f, 0.001504f, 0.001123f, 0.000681f, 0.000196f, -0.000310f, -0.000816f, -0.001299f, -0.001741f, -0.002123f, -0.002428f, -0.002646f, -0.002766f, -0.002786f, -0.002704f, -0.002524f, -0.002255f, -0.001909f, -0.001499f, -0.001043f, -0.000561f, -0.000072f, 0.000403f, 0.000846f, 0.001238f, 0.001564f, 0.001811f, 0.001970f, 0.002035f, 0.002005f, 0.001881f, 0.001672f, 0.001386f, 0.001037f, 0.000642f, 0.000217f, -0.001771f, -0.006509f, 0.021218f, -0.038823f, -0.011955f, 0.006621f, -0.022612f, -0.091329f, 0.050131f, 0.231275f, 0.216905f, 0.058289f, -0.170730f, 0.265267f, 0.272061f, 0.108026f, -0.098152f, -0.093782f, -0.191434f, 0.041068f, 0.077779f, 0.153635f, 0.115409f, 0.000412f, -0.091943f, -0.012296f, 0.033729f, -0.008604f, 0.021260f, -0.062307f, 0.115324f, 0.113905f, 0.093298f, -0.017337f, -0.112194f, -0.159297f, -0.075821f, 0.053020f, 0.117890f, 0.118754f, 0.040959f, -0.045215f, -0.040676f, -0.088463f, -0.062670f, -0.000527f, -0.003547f, 0.037605f, + -0.048673f, 0.027213f, 0.042369f, 0.001320f, -0.030588f, -0.064022f, -0.062636f, 0.020981f, 0.124786f, 0.158579f, 0.031542f, -0.138539f, -0.178898f, -0.174371f, -0.050201f, 0.125858f, 0.166937f, 0.095657f, -0.065029f, -0.187046f, -0.105766f, 0.076904f, 0.222051f, 0.114834f, -0.090380f, -0.301362f, -0.214266f, 0.032387f, 0.318904f, 0.313672f, 0.105259f, -0.239403f, -0.380528f, -0.301328f, -0.009186f, 0.307860f, 0.362465f, 0.142829f, -0.125570f, -0.338388f, -0.275916f, -0.027072f, 0.226341f, 0.279907f, 0.133181f, -0.048681f, -0.163439f, -0.178024f, -0.037065f, 0.068988f, 0.155843f, 0.101329f, -0.013498f, -0.095146f, -0.105885f, -0.112835f, -0.080862f, 0.011656f, 0.137496f, 0.173189f, 0.102717f, -0.040418f, -0.178866f, -0.172001f, -0.085014f, 0.094635f, 0.149504f, 0.179765f, 0.058294f, -0.115007f, -0.196490f, -0.164638f, 0.021371f, 0.081504f, 0.111317f, 0.091809f, 0.009121f, -0.059923f, -0.110283f, -0.101207f, -0.044888f, 0.048637f, 0.090221f, 0.082468f, 0.012110f, -0.067582f, -0.120570f, -0.062062f, 0.046498f, 0.069486f, 0.067465f, 0.012578f, -0.021644f, -0.029169f, -0.000807f, 0.027809f, + 0.023619f, -0.010232f, -0.035235f, -0.068464f, -0.045281f, 0.016621f, 0.036291f, 0.053031f, 0.035968f, -0.007885f, -0.080731f, -0.071418f, -0.014221f, 0.050538f, 0.070548f, 0.051202f, -0.049188f, -0.087715f, -0.035265f, 0.020442f, 0.077010f, 0.066420f, 0.037202f, -0.007388f, -0.055334f, -0.066451f, -0.030671f, 0.050953f, 0.069560f, 0.017126f, -0.021652f, -0.078683f, -0.039305f, 0.003748f, 0.034086f, 0.112302f, 0.082916f, -0.042044f, -0.124954f, -0.099556f, 0.027331f, 0.122032f, 0.101599f, -0.023147f, -0.113462f, -0.092581f, 0.020670f, 0.105113f, 0.079967f, -0.029626f, -0.096065f, -0.059540f, 0.044136f, 0.081574f, 0.027577f, -0.058395f, -0.048951f, 0.026629f, 0.040829f, -0.012841f, -0.015365f, 0.001796f, 0.004625f, -0.003680f, 0.001891f, 0.001369f, 0.003418f, -0.003678f, -0.000207f, -0.002016f, 0.001498f, -0.001351f, 0.001518f, -0.002317f, 0.002310f, 0.000464f, 0.001450f, -0.002586f, 0.001277f, -0.001014f, 0.002699f, -0.001753f, 0.002854f, -0.001710f, 0.000280f, -0.001913f, 0.001334f, -0.000786f, -0.000541f, -0.002219f, 0.002868f, 0.000858f, 0.001782f, -0.001423f, 0.000322f, -0.002513f}, + {0.000465f, 0.001404f, 0.002369f, 0.003376f, 0.004436f, 0.005561f, 0.006755f, 0.008017f, 0.009344f, 0.010725f, 0.012145f, 0.013583f, 0.015015f, 0.016415f, 0.017751f, 0.018992f, 0.020108f, 0.021068f, 0.021845f, 0.022413f, 0.022755f, 0.022856f, 0.022709f, 0.022314f, 0.021677f, 0.020814f, 0.019744f, 0.018496f, 0.017103f, 0.015602f, 0.014037f, 0.012450f, 0.010886f, 0.009389f, 0.008001f, 0.006759f, 0.005696f, 0.004839f, 0.004207f, 0.003813f, 0.003660f, 0.003742f, 0.004047f, 0.004552f, 0.005231f, 0.006048f, 0.006964f, 0.007936f, 0.008918f, 0.009866f, 0.010735f, 0.011484f, 0.012075f, 0.012477f, 0.012666f, 0.012624f, 0.012343f, 0.011823f, 0.011072f, 0.010110f, 0.008959f, 0.007654f, 0.006231f, 0.004734f, 0.003209f, 0.001703f, 0.000262f, -0.001067f, -0.002243f, -0.003228f, -0.003993f, -0.004514f, -0.004775f, -0.004770f, -0.004501f, -0.003977f, -0.003219f, -0.002253f, -0.001113f, 0.000163f, 0.001532f, 0.002948f, 0.004365f, 0.005736f, 0.007019f, 0.008174f, 0.009165f, 0.009964f, 0.010550f, 0.010909f, 0.011035f, 0.010933f, 0.010612f, 0.010091f, 0.009396f, 0.008557f, + 0.007610f, 0.006595f, 0.005550f, 0.004518f, 0.003538f, 0.002646f, 0.001875f, 0.001254f, 0.000804f, 0.000539f, 0.000468f, 0.000591f, 0.000900f, 0.001382f, 0.002016f, 0.002776f, 0.003634f, 0.004554f, 0.005503f, 0.006443f, 0.007341f, 0.008162f, 0.008878f, 0.009463f, 0.009896f, 0.010164f, 0.010259f, 0.010179f, 0.009929f, 0.009520f, 0.008970f, 0.008299f, 0.007535f, 0.006704f, 0.005838f, 0.004967f, 0.004121f, 0.003328f, 0.002614f, 0.002000f, 0.001501f, 0.001130f, 0.000892f, 0.000788f, 0.000810f, 0.000948f, 0.001186f, 0.001503f, 0.001875f, 0.002277f, 0.002682f, 0.003063f, 0.003393f, 0.003648f, 0.003808f, 0.003856f, 0.003779f, 0.003570f, 0.003229f, 0.002759f, 0.002169f, 0.001474f, 0.000694f, -0.000148f, -0.001028f, -0.001916f, -0.002785f, -0.003605f, -0.004349f, -0.004992f, -0.005513f, -0.005894f, -0.006122f, -0.006190f, -0.006096f, -0.005843f, -0.005440f, -0.004902f, -0.004247f, -0.003499f, -0.002682f, -0.001824f, -0.000955f, -0.000103f, 0.000705f, 0.001443f, 0.002088f, 0.002622f, 0.003029f, 0.003302f, 0.003435f, 0.003429f, 0.003292f, 0.003032f, 0.002666f, 0.002213f, + 0.001695f, 0.001134f, 0.000556f, -0.000015f, -0.000554f, -0.001039f, -0.001452f, -0.001777f, -0.002000f, -0.002116f, -0.002120f, -0.002014f, -0.001806f, -0.001504f, -0.001123f, -0.000681f, -0.000196f, 0.000310f, 0.000816f, 0.001299f, 0.001741f, 0.002123f, 0.002428f, 0.002646f, 0.002766f, 0.002786f, 0.002704f, 0.002524f, 0.002255f, 0.001909f, 0.001499f, 0.001043f, 0.000561f, 0.000072f, -0.000403f, -0.000846f, -0.001238f, -0.001564f, -0.001811f, -0.001970f, -0.002035f, -0.002005f, -0.001881f, -0.001672f, -0.001386f, -0.001037f, -0.000642f, -0.000217f, 0.001771f, 0.006509f, -0.021218f, 0.038823f, 0.011955f, -0.006621f, 0.022612f, 0.091329f, -0.050131f, -0.231275f, -0.216905f, -0.058289f, 0.170730f, -0.265267f, -0.272061f, -0.108026f, 0.098152f, 0.093782f, 0.191434f, -0.041068f, -0.077779f, -0.153635f, -0.115409f, -0.000412f, 0.091943f, 0.012296f, -0.033729f, 0.008604f, -0.021260f, 0.062307f, -0.115324f, -0.113905f, -0.093298f, 0.017337f, 0.112194f, 0.159297f, 0.075821f, -0.053020f, -0.117890f, -0.118754f, -0.040959f, 0.045215f, 0.040676f, 0.088463f, 0.062670f, 0.000527f, 0.003547f, -0.037605f, + 0.048673f, -0.027213f, -0.042369f, -0.001320f, 0.030588f, 0.064022f, 0.062636f, -0.020981f, -0.124786f, -0.158579f, -0.031542f, 0.138539f, 0.178898f, 0.174371f, 0.050201f, -0.125858f, -0.166937f, -0.095657f, 0.065029f, 0.187046f, 0.105766f, -0.076904f, -0.222051f, -0.114834f, 0.090380f, 0.301362f, 0.214266f, -0.032387f, -0.318904f, -0.313672f, -0.105259f, 0.239403f, 0.380528f, 0.301328f, 0.009186f, -0.307860f, -0.362465f, -0.142829f, 0.125570f, 0.338388f, 0.275916f, 0.027072f, -0.226341f, -0.279907f, -0.133181f, 0.048681f, 0.163439f, 0.178024f, 0.037065f, -0.068988f, -0.155843f, -0.101329f, 0.013498f, 0.095146f, 0.105885f, 0.112835f, 0.080862f, -0.011656f, -0.137496f, -0.173189f, -0.102717f, 0.040418f, 0.178866f, 0.172001f, 0.085014f, -0.094635f, -0.149504f, -0.179765f, -0.058294f, 0.115007f, 0.196490f, 0.164638f, -0.021371f, -0.081504f, -0.111317f, -0.091809f, -0.009121f, 0.059923f, 0.110283f, 0.101207f, 0.044888f, -0.048637f, -0.090221f, -0.082468f, -0.012110f, 0.067582f, 0.120570f, 0.062062f, -0.046498f, -0.069486f, -0.067465f, -0.012578f, 0.021644f, 0.029169f, 0.000807f, -0.027809f, + -0.023619f, 0.010232f, 0.035235f, 0.068464f, 0.045281f, -0.016621f, -0.036291f, -0.053031f, -0.035968f, 0.007885f, 0.080731f, 0.071418f, 0.014221f, -0.050538f, -0.070548f, -0.051202f, 0.049188f, 0.087715f, 0.035265f, -0.020442f, -0.077010f, -0.066420f, -0.037202f, 0.007388f, 0.055334f, 0.066451f, 0.030671f, -0.050953f, -0.069560f, -0.017126f, 0.021652f, 0.078683f, 0.039305f, -0.003748f, -0.034086f, -0.112302f, -0.082916f, 0.042044f, 0.124954f, 0.099556f, -0.027331f, -0.122032f, -0.101599f, 0.023147f, 0.113462f, 0.092581f, -0.020670f, -0.105113f, -0.079967f, 0.029626f, 0.096065f, 0.059540f, -0.044136f, -0.081574f, -0.027577f, 0.058395f, 0.048951f, -0.026629f, -0.040829f, 0.012841f, 0.015365f, -0.001796f, -0.004625f, 0.003680f, -0.001891f, -0.001369f, -0.003418f, 0.003678f, 0.000207f, 0.002016f, -0.001498f, 0.001351f, -0.001518f, 0.002317f, -0.002310f, -0.000464f, -0.001450f, 0.002586f, -0.001277f, 0.001014f, -0.002699f, 0.001753f, -0.002854f, 0.001710f, -0.000280f, 0.001913f, -0.001334f, 0.000786f, 0.000541f, 0.002219f, -0.002868f, -0.000858f, -0.001782f, 0.001423f, -0.000322f, 0.002513f} + }, + { + {0.000351f, 0.001011f, 0.001545f, 0.001875f, 0.001932f, 0.001659f, 0.001012f, -0.000033f, -0.001487f, -0.003338f, -0.005558f, -0.008100f, -0.010904f, -0.013893f, -0.016979f, -0.020069f, -0.023061f, -0.025858f, -0.028363f, -0.030486f, -0.032151f, -0.033292f, -0.033863f, -0.033835f, -0.033202f, -0.031977f, -0.030196f, -0.027913f, -0.025203f, -0.022158f, -0.018881f, -0.015488f, -0.012100f, -0.008840f, -0.005830f, -0.003184f, -0.001006f, 0.000613f, 0.001602f, 0.001907f, 0.001499f, 0.000373f, -0.001454f, -0.003940f, -0.007021f, -0.010610f, -0.014606f, -0.018889f, -0.023331f, -0.027797f, -0.032147f, -0.036248f, -0.039969f, -0.043192f, -0.045815f, -0.047752f, -0.048938f, -0.049333f, -0.048920f, -0.047705f, -0.045721f, -0.043022f, -0.039685f, -0.035803f, -0.031487f, -0.026859f, -0.022046f, -0.017180f, -0.012393f, -0.007810f, -0.003547f, 0.000292f, 0.003620f, 0.006370f, 0.008492f, 0.009960f, 0.010770f, 0.010938f, 0.010503f, 0.009520f, 0.008062f, 0.006214f, 0.004073f, 0.001741f, -0.000678f, -0.003079f, -0.005364f, -0.007440f, -0.009229f, -0.010664f, -0.011694f, -0.012284f, -0.012420f, -0.012102f, -0.011349f, -0.010196f, + -0.008692f, -0.006898f, -0.004886f, -0.002731f, -0.000515f, 0.001682f, 0.003781f, 0.005709f, 0.007403f, 0.008808f, 0.009882f, 0.010597f, 0.010939f, 0.010907f, 0.010517f, 0.009795f, 0.008781f, 0.007523f, 0.006079f, 0.004510f, 0.002881f, 0.001259f, -0.000294f, -0.001719f, -0.002965f, -0.003988f, -0.004756f, -0.005248f, -0.005452f, -0.005372f, -0.005020f, -0.004421f, -0.003609f, -0.002625f, -0.001517f, -0.000336f, 0.000863f, 0.002027f, 0.003105f, 0.004050f, 0.004821f, 0.005386f, 0.005721f, 0.005810f, 0.005649f, 0.005244f, 0.004608f, 0.003765f, 0.002746f, 0.001588f, 0.000331f, -0.000980f, -0.002301f, -0.003588f, -0.004801f, -0.005903f, -0.006865f, -0.007662f, -0.008280f, -0.008711f, -0.008955f, -0.009022f, -0.008930f, -0.008699f, -0.008361f, -0.007945f, -0.007489f, -0.007026f, -0.006592f, -0.006220f, -0.005936f, -0.005763f, -0.005719f, -0.005812f, -0.006044f, -0.006408f, -0.006890f, -0.007470f, -0.008121f, -0.008811f, -0.009505f, -0.010165f, -0.010753f, -0.011232f, -0.011568f, -0.011733f, -0.011702f, -0.011459f, -0.010995f, -0.010310f, -0.009413f, -0.008318f, -0.007052f, -0.005647f, -0.004140f, -0.002574f, + -0.000995f, 0.000550f, 0.002013f, 0.003350f, 0.004519f, 0.005485f, 0.006220f, 0.006702f, 0.006920f, 0.006871f, 0.006562f, 0.006009f, 0.005237f, 0.004279f, 0.003174f, 0.001966f, 0.000702f, -0.000568f, -0.001795f, -0.002932f, -0.003936f, -0.004770f, -0.005403f, -0.005812f, -0.005985f, -0.005916f, -0.005611f, -0.005085f, -0.004360f, -0.003467f, -0.002444f, -0.001332f, -0.000177f, 0.000974f, 0.002075f, 0.003082f, 0.003955f, 0.004659f, 0.005166f, 0.005457f, 0.005521f, 0.005356f, 0.004970f, 0.004378f, 0.003607f, 0.002688f, 0.001658f, 0.000560f, 0.001365f, -0.005282f, 0.091386f, 0.027096f, -0.110470f, -0.072853f, -0.047053f, -0.060849f, 0.019689f, 0.179100f, 0.180847f, 0.052269f, -0.078928f, 0.202594f, 0.182531f, 0.087056f, 0.204108f, 0.200376f, 0.111086f, -0.098967f, -0.003997f, 0.037594f, 0.006320f, 0.130559f, 0.198318f, 0.306011f, 0.137971f, -0.168854f, -0.168012f, -0.202469f, -0.028656f, 0.059362f, 0.277224f, 0.354088f, -0.072346f, -0.351328f, -0.377967f, -0.122179f, 0.080254f, 0.468769f, 0.159139f, -0.071262f, -0.114378f, -0.217912f, -0.030676f, 0.193918f, 0.235601f, -0.074225f, + -0.515604f, -0.464563f, -0.047118f, 0.323559f, 0.559021f, 0.307643f, -0.066844f, -0.469425f, -0.435315f, -0.253431f, 0.245073f, 0.044140f, 0.250680f, 0.056655f, -0.264860f, -0.252830f, 0.108479f, -0.098469f, -0.316136f, -0.153824f, 0.050116f, 0.266847f, 0.233378f, 0.153505f, 0.013379f, -0.016834f, -0.179006f, -0.104367f, -0.135727f, 0.001192f, 0.165036f, 0.202483f, 0.030499f, -0.143798f, -0.194432f, 0.118753f, 0.340240f, 0.354315f, -0.026860f, -0.389394f, -0.510589f, -0.197218f, 0.271761f, 0.631820f, 0.425170f, -0.058408f, -0.484943f, -0.476308f, -0.263813f, 0.177632f, 0.410086f, 0.219180f, 0.010928f, -0.226147f, -0.235120f, -0.102069f, 0.152772f, 0.293250f, 0.231404f, -0.031223f, -0.254637f, -0.322474f, -0.160527f, 0.057017f, 0.248437f, 0.294002f, 0.228441f, -0.081658f, -0.331972f, -0.349940f, -0.117661f, 0.271573f, 0.421057f, 0.257790f, 0.016894f, -0.327288f, -0.407511f, -0.211055f, 0.144184f, 0.365284f, 0.381074f, 0.127687f, -0.233440f, -0.455060f, -0.340202f, 0.005594f, 0.347046f, 0.479449f, 0.269346f, -0.124816f, -0.469715f, -0.425124f, -0.091510f, 0.310163f, 0.488578f, 0.338187f, + -0.048840f, -0.409422f, -0.465075f, -0.172028f, 0.226861f, 0.462260f, 0.345374f, 0.015127f, -0.324667f, -0.362308f, -0.137012f, 0.203355f, 0.345099f, 0.251686f, -0.032658f, -0.306335f, -0.272934f, -0.081282f, 0.159200f, 0.275533f, 0.181888f, -0.065405f, -0.261459f, -0.271706f, -0.062225f, 0.187779f, 0.293385f, 0.144842f, -0.073625f, -0.262863f, -0.225519f, -0.024463f, 0.184510f, 0.178295f, 0.124958f, -0.226115f, -0.448434f, -0.171999f, 0.191953f, 0.423991f, 0.259954f, -0.078384f, -0.350027f, -0.275698f, 0.018586f, 0.296410f, 0.273919f, 0.024354f, -0.241972f, -0.234854f, -0.008607f, 0.211595f, 0.180961f, -0.024704f, -0.177770f, -0.092307f, 0.083111f, 0.115066f, -0.020591f, -0.057406f, -0.000249f, 0.020003f, -0.000291f, 0.001135f, -0.001590f, 0.003310f, -0.000324f, 0.003949f, -0.001306f, 0.002062f, -0.001281f, 0.001886f, -0.000542f, 0.003265f, -0.001631f, 0.002411f, -0.002831f, 0.003455f, -0.000559f, 0.003497f, -0.003104f, 0.002614f, 0.000646f, 0.002225f, -0.001745f, 0.002795f, -0.001764f, 0.002432f, -0.000396f, 0.000214f, -0.002129f, 0.003695f, -0.000641f, 0.001720f, -0.002786f, 0.000426f}, + {0.000351f, 0.001011f, 0.001545f, 0.001875f, 0.001932f, 0.001659f, 0.001012f, -0.000033f, -0.001487f, -0.003338f, -0.005558f, -0.008100f, -0.010904f, -0.013893f, -0.016979f, -0.020069f, -0.023061f, -0.025858f, -0.028363f, -0.030486f, -0.032151f, -0.033292f, -0.033863f, -0.033835f, -0.033202f, -0.031977f, -0.030196f, -0.027913f, -0.025203f, -0.022158f, -0.018881f, -0.015488f, -0.012100f, -0.008840f, -0.005830f, -0.003184f, -0.001006f, 0.000613f, 0.001602f, 0.001907f, 0.001499f, 0.000373f, -0.001454f, -0.003940f, -0.007021f, -0.010610f, -0.014606f, -0.018889f, -0.023331f, -0.027797f, -0.032147f, -0.036248f, -0.039969f, -0.043192f, -0.045815f, -0.047752f, -0.048938f, -0.049333f, -0.048920f, -0.047705f, -0.045721f, -0.043022f, -0.039685f, -0.035803f, -0.031487f, -0.026859f, -0.022046f, -0.017180f, -0.012393f, -0.007810f, -0.003547f, 0.000292f, 0.003620f, 0.006370f, 0.008492f, 0.009960f, 0.010770f, 0.010938f, 0.010503f, 0.009520f, 0.008062f, 0.006214f, 0.004073f, 0.001741f, -0.000678f, -0.003079f, -0.005364f, -0.007440f, -0.009229f, -0.010664f, -0.011694f, -0.012284f, -0.012420f, -0.012102f, -0.011349f, -0.010196f, + -0.008692f, -0.006898f, -0.004886f, -0.002731f, -0.000515f, 0.001682f, 0.003781f, 0.005709f, 0.007403f, 0.008808f, 0.009882f, 0.010597f, 0.010939f, 0.010907f, 0.010517f, 0.009795f, 0.008781f, 0.007523f, 0.006079f, 0.004510f, 0.002881f, 0.001259f, -0.000294f, -0.001719f, -0.002965f, -0.003988f, -0.004756f, -0.005248f, -0.005452f, -0.005372f, -0.005020f, -0.004421f, -0.003609f, -0.002625f, -0.001517f, -0.000336f, 0.000863f, 0.002027f, 0.003105f, 0.004050f, 0.004821f, 0.005386f, 0.005721f, 0.005810f, 0.005649f, 0.005244f, 0.004608f, 0.003765f, 0.002746f, 0.001588f, 0.000331f, -0.000980f, -0.002301f, -0.003588f, -0.004801f, -0.005903f, -0.006865f, -0.007662f, -0.008280f, -0.008711f, -0.008955f, -0.009022f, -0.008930f, -0.008699f, -0.008361f, -0.007945f, -0.007489f, -0.007026f, -0.006592f, -0.006220f, -0.005936f, -0.005763f, -0.005719f, -0.005812f, -0.006044f, -0.006408f, -0.006890f, -0.007470f, -0.008121f, -0.008811f, -0.009505f, -0.010165f, -0.010753f, -0.011232f, -0.011568f, -0.011733f, -0.011702f, -0.011459f, -0.010995f, -0.010310f, -0.009413f, -0.008318f, -0.007052f, -0.005647f, -0.004140f, -0.002574f, + -0.000995f, 0.000550f, 0.002013f, 0.003350f, 0.004519f, 0.005485f, 0.006220f, 0.006702f, 0.006920f, 0.006871f, 0.006562f, 0.006009f, 0.005237f, 0.004279f, 0.003174f, 0.001966f, 0.000702f, -0.000568f, -0.001795f, -0.002932f, -0.003936f, -0.004770f, -0.005403f, -0.005812f, -0.005985f, -0.005916f, -0.005611f, -0.005085f, -0.004360f, -0.003467f, -0.002444f, -0.001332f, -0.000177f, 0.000974f, 0.002075f, 0.003082f, 0.003955f, 0.004659f, 0.005166f, 0.005457f, 0.005521f, 0.005356f, 0.004970f, 0.004378f, 0.003607f, 0.002688f, 0.001658f, 0.000560f, 0.001365f, -0.005282f, 0.091386f, 0.027096f, -0.110470f, -0.072853f, -0.047053f, -0.060849f, 0.019689f, 0.179100f, 0.180847f, 0.052269f, -0.078928f, 0.202594f, 0.182531f, 0.087056f, 0.204108f, 0.200376f, 0.111086f, -0.098967f, -0.003997f, 0.037594f, 0.006320f, 0.130559f, 0.198318f, 0.306011f, 0.137971f, -0.168854f, -0.168012f, -0.202469f, -0.028656f, 0.059362f, 0.277224f, 0.354088f, -0.072346f, -0.351328f, -0.377967f, -0.122179f, 0.080254f, 0.468769f, 0.159139f, -0.071262f, -0.114378f, -0.217912f, -0.030676f, 0.193918f, 0.235601f, -0.074225f, + -0.515604f, -0.464563f, -0.047118f, 0.323559f, 0.559021f, 0.307643f, -0.066844f, -0.469425f, -0.435315f, -0.253431f, 0.245073f, 0.044140f, 0.250680f, 0.056655f, -0.264860f, -0.252830f, 0.108479f, -0.098469f, -0.316136f, -0.153824f, 0.050116f, 0.266847f, 0.233378f, 0.153505f, 0.013379f, -0.016834f, -0.179006f, -0.104367f, -0.135727f, 0.001192f, 0.165036f, 0.202483f, 0.030499f, -0.143798f, -0.194432f, 0.118753f, 0.340240f, 0.354315f, -0.026860f, -0.389394f, -0.510589f, -0.197218f, 0.271761f, 0.631820f, 0.425170f, -0.058408f, -0.484943f, -0.476308f, -0.263813f, 0.177632f, 0.410086f, 0.219180f, 0.010928f, -0.226147f, -0.235120f, -0.102069f, 0.152772f, 0.293250f, 0.231404f, -0.031223f, -0.254637f, -0.322474f, -0.160527f, 0.057017f, 0.248437f, 0.294002f, 0.228441f, -0.081658f, -0.331972f, -0.349940f, -0.117661f, 0.271573f, 0.421057f, 0.257790f, 0.016894f, -0.327288f, -0.407511f, -0.211055f, 0.144184f, 0.365284f, 0.381074f, 0.127687f, -0.233440f, -0.455060f, -0.340202f, 0.005594f, 0.347046f, 0.479449f, 0.269346f, -0.124816f, -0.469715f, -0.425124f, -0.091510f, 0.310163f, 0.488578f, 0.338187f, + -0.048840f, -0.409422f, -0.465075f, -0.172028f, 0.226861f, 0.462260f, 0.345374f, 0.015127f, -0.324667f, -0.362308f, -0.137012f, 0.203355f, 0.345099f, 0.251686f, -0.032658f, -0.306335f, -0.272934f, -0.081282f, 0.159200f, 0.275533f, 0.181888f, -0.065405f, -0.261459f, -0.271706f, -0.062225f, 0.187779f, 0.293385f, 0.144842f, -0.073625f, -0.262863f, -0.225519f, -0.024463f, 0.184510f, 0.178295f, 0.124958f, -0.226115f, -0.448434f, -0.171999f, 0.191953f, 0.423991f, 0.259954f, -0.078384f, -0.350027f, -0.275698f, 0.018586f, 0.296410f, 0.273919f, 0.024354f, -0.241972f, -0.234854f, -0.008607f, 0.211595f, 0.180961f, -0.024704f, -0.177770f, -0.092307f, 0.083111f, 0.115066f, -0.020591f, -0.057406f, -0.000249f, 0.020003f, -0.000291f, 0.001135f, -0.001590f, 0.003310f, -0.000324f, 0.003949f, -0.001306f, 0.002062f, -0.001281f, 0.001886f, -0.000542f, 0.003265f, -0.001631f, 0.002411f, -0.002831f, 0.003455f, -0.000559f, 0.003497f, -0.003104f, 0.002614f, 0.000646f, 0.002225f, -0.001745f, 0.002795f, -0.001764f, 0.002432f, -0.000396f, 0.000214f, -0.002129f, 0.003695f, -0.000641f, 0.001720f, -0.002786f, 0.000426f} + }, + { + {-0.002431f, -0.007230f, -0.011846f, -0.016163f, -0.020075f, -0.023489f, -0.026328f, -0.028532f, -0.030062f, -0.030900f, -0.031050f, -0.030535f, -0.029400f, -0.027708f, -0.025538f, -0.022979f, -0.020135f, -0.017113f, -0.014022f, -0.010971f, -0.008064f, -0.005397f, -0.003053f, -0.001100f, 0.000408f, 0.001437f, 0.001971f, 0.002014f, 0.001588f, 0.000734f, -0.000493f, -0.002024f, -0.003777f, -0.005666f, -0.007596f, -0.009476f, -0.011214f, -0.012724f, -0.013931f, -0.014771f, -0.015193f, -0.015163f, -0.014664f, -0.013695f, -0.012275f, -0.010438f, -0.008235f, -0.005728f, -0.002995f, -0.000117f, 0.002813f, 0.005705f, 0.008466f, 0.011009f, 0.013252f, 0.015123f, 0.016564f, 0.017529f, 0.017987f, 0.017924f, 0.017342f, 0.016259f, 0.014711f, 0.012743f, 0.010417f, 0.007803f, 0.004976f, 0.002021f, -0.000980f, -0.003945f, -0.006793f, -0.009453f, -0.011861f, -0.013964f, -0.015721f, -0.017104f, -0.018099f, -0.018706f, -0.018937f, -0.018819f, -0.018387f, -0.017687f, -0.016771f, -0.015698f, -0.014527f, -0.013319f, -0.012131f, -0.011018f, -0.010028f, -0.009198f, -0.008560f, -0.008133f, -0.007926f, -0.007937f, -0.008154f, -0.008554f, + -0.009107f, -0.009775f, -0.010516f, -0.011281f, -0.012025f, -0.012699f, -0.013258f, -0.013664f, -0.013882f, -0.013885f, -0.013656f, -0.013188f, -0.012481f, -0.011546f, -0.010405f, -0.009086f, -0.007625f, -0.006066f, -0.004454f, -0.002839f, -0.001270f, 0.000203f, 0.001535f, 0.002685f, 0.003619f, 0.004308f, 0.004735f, 0.004889f, 0.004771f, 0.004389f, 0.003761f, 0.002914f, 0.001880f, 0.000698f, -0.000588f, -0.001932f, -0.003288f, -0.004610f, -0.005853f, -0.006978f, -0.007951f, -0.008744f, -0.009336f, -0.009715f, -0.009876f, -0.009823f, -0.009567f, -0.009128f, -0.008529f, -0.007799f, -0.006974f, -0.006086f, -0.005174f, -0.004272f, -0.003414f, -0.002628f, -0.001941f, -0.001371f, -0.000933f, -0.000631f, -0.000467f, -0.000433f, -0.000517f, -0.000699f, -0.000958f, -0.001266f, -0.001594f, -0.001914f, -0.002196f, -0.002413f, -0.002540f, -0.002557f, -0.002450f, -0.002208f, -0.001827f, -0.001312f, -0.000671f, 0.000079f, 0.000920f, 0.001824f, 0.002763f, 0.003706f, 0.004620f, 0.005473f, 0.006233f, 0.006873f, 0.007367f, 0.007696f, 0.007847f, 0.007811f, 0.007587f, 0.007181f, 0.006606f, 0.005878f, 0.005023f, 0.004067f, + 0.003043f, 0.001984f, 0.000926f, -0.000098f, -0.001055f, -0.001913f, -0.002648f, -0.003238f, -0.003668f, -0.003928f, -0.004016f, -0.003935f, -0.003696f, -0.003313f, -0.002809f, -0.002209f, -0.001541f, -0.000835f, -0.000123f, 0.000563f, 0.001196f, 0.001749f, 0.002198f, 0.002527f, 0.002723f, 0.002779f, 0.002695f, 0.002476f, 0.002133f, 0.001683f, 0.001146f, 0.000546f, -0.000089f, -0.000732f, -0.001354f, -0.001929f, -0.002430f, -0.002836f, -0.003130f, -0.003297f, -0.003331f, -0.003229f, -0.002996f, -0.002639f, -0.002175f, -0.001620f, -0.001000f, -0.000338f, -0.018290f, -0.062542f, 0.075373f, 0.023942f, -0.043869f, -0.192620f, -0.125258f, 0.151248f, 0.025188f, 0.252837f, 0.330054f, 0.289273f, 0.019560f, 0.027911f, 0.021279f, 0.080888f, -0.016728f, -0.037625f, 0.082546f, -0.021887f, 0.015778f, -0.008822f, -0.010483f, -0.001995f, -0.001428f, -0.021831f, 0.015079f, 0.012810f, -0.034509f, -0.033014f, 0.031136f, 0.059442f, 0.050913f, 0.004466f, 0.051857f, 0.078859f, 0.120192f, -0.015399f, -0.108147f, -0.094294f, 0.046426f, 0.262133f, 0.079013f, -0.001468f, -0.210725f, -0.235095f, -0.104065f, 0.105383f, + 0.215871f, 0.245890f, 0.063137f, -0.094421f, -0.246703f, -0.137069f, -0.002323f, 0.198470f, 0.210950f, 0.182676f, -0.069049f, 0.003720f, -0.182436f, -0.097736f, 0.145036f, 0.243565f, 0.045020f, 0.222209f, 0.277898f, -0.033674f, -0.277553f, -0.438511f, -0.182238f, 0.138761f, 0.347199f, 0.116233f, -0.089010f, -0.345756f, -0.215789f, -0.056986f, 0.155095f, 0.380138f, 0.258245f, -0.011012f, -0.261045f, -0.300396f, -0.131265f, 0.144730f, 0.224700f, 0.088212f, -0.110429f, -0.191985f, -0.100833f, 0.068341f, 0.174078f, 0.092212f, -0.046042f, -0.089726f, -0.082558f, 0.053932f, 0.209877f, 0.224859f, 0.062561f, -0.248984f, -0.397906f, -0.249788f, 0.149703f, 0.422700f, 0.454342f, 0.129361f, -0.262008f, -0.568459f, -0.523737f, -0.060849f, 0.446629f, 0.537808f, 0.189092f, -0.301296f, -0.429567f, -0.206890f, 0.150223f, 0.422084f, 0.238417f, 0.070144f, -0.187961f, -0.253082f, -0.085001f, 0.047626f, 0.184962f, 0.118252f, -0.017623f, -0.111506f, -0.092764f, -0.032066f, 0.088418f, 0.108586f, 0.046415f, -0.070387f, -0.099868f, -0.069341f, 0.047191f, 0.104158f, 0.095540f, 0.005518f, -0.089450f, -0.148444f, + -0.055762f, 0.065694f, 0.163000f, 0.133901f, 0.035208f, -0.117751f, -0.205851f, -0.144787f, 0.002520f, 0.129263f, 0.208158f, 0.130617f, -0.038862f, -0.176770f, -0.182205f, -0.062025f, 0.102914f, 0.194411f, 0.164397f, 0.004247f, -0.132913f, -0.191209f, -0.100734f, 0.103360f, 0.206840f, 0.161036f, 0.006662f, -0.133314f, -0.164263f, -0.103104f, 0.072983f, 0.163216f, 0.116373f, -0.011197f, -0.164415f, -0.108598f, 0.159688f, 0.216945f, 0.128949f, -0.106626f, -0.222040f, -0.161871f, 0.069665f, 0.219679f, 0.180035f, -0.048692f, -0.211565f, -0.174812f, 0.054405f, 0.204882f, 0.143031f, -0.084741f, -0.191758f, -0.077955f, 0.131194f, 0.141344f, -0.034264f, -0.132219f, 0.006956f, 0.067337f, 0.001168f, -0.024976f, 0.005599f, 0.000442f, 0.003906f, -0.003997f, 0.004107f, -0.002965f, 0.005384f, -0.003211f, 0.004713f, -0.005429f, 0.003167f, -0.003119f, 0.003858f, -0.003361f, 0.003274f, -0.004298f, 0.003072f, -0.003647f, 0.003571f, -0.001956f, 0.005858f, -0.003621f, 0.000852f, -0.003328f, 0.003440f, -0.000548f, 0.001963f, -0.003313f, 0.001772f, -0.002875f, 0.003917f, -0.002348f, 0.003217f, -0.002608f}, + {-0.002431f, -0.007230f, -0.011846f, -0.016163f, -0.020075f, -0.023489f, -0.026328f, -0.028532f, -0.030062f, -0.030900f, -0.031050f, -0.030535f, -0.029400f, -0.027708f, -0.025538f, -0.022979f, -0.020135f, -0.017113f, -0.014022f, -0.010971f, -0.008064f, -0.005397f, -0.003053f, -0.001100f, 0.000408f, 0.001437f, 0.001971f, 0.002014f, 0.001588f, 0.000734f, -0.000493f, -0.002024f, -0.003777f, -0.005666f, -0.007596f, -0.009476f, -0.011214f, -0.012724f, -0.013931f, -0.014771f, -0.015193f, -0.015163f, -0.014664f, -0.013695f, -0.012275f, -0.010438f, -0.008235f, -0.005728f, -0.002995f, -0.000117f, 0.002813f, 0.005705f, 0.008466f, 0.011009f, 0.013252f, 0.015123f, 0.016564f, 0.017529f, 0.017987f, 0.017924f, 0.017342f, 0.016259f, 0.014711f, 0.012743f, 0.010417f, 0.007803f, 0.004976f, 0.002021f, -0.000980f, -0.003945f, -0.006793f, -0.009453f, -0.011861f, -0.013964f, -0.015721f, -0.017104f, -0.018099f, -0.018706f, -0.018937f, -0.018819f, -0.018387f, -0.017687f, -0.016771f, -0.015698f, -0.014527f, -0.013319f, -0.012131f, -0.011018f, -0.010028f, -0.009198f, -0.008560f, -0.008133f, -0.007926f, -0.007937f, -0.008154f, -0.008554f, + -0.009107f, -0.009775f, -0.010516f, -0.011281f, -0.012025f, -0.012699f, -0.013258f, -0.013664f, -0.013882f, -0.013885f, -0.013656f, -0.013188f, -0.012481f, -0.011546f, -0.010405f, -0.009086f, -0.007625f, -0.006066f, -0.004454f, -0.002839f, -0.001270f, 0.000203f, 0.001535f, 0.002685f, 0.003619f, 0.004308f, 0.004735f, 0.004889f, 0.004771f, 0.004389f, 0.003761f, 0.002914f, 0.001880f, 0.000698f, -0.000588f, -0.001932f, -0.003288f, -0.004610f, -0.005853f, -0.006978f, -0.007951f, -0.008744f, -0.009336f, -0.009715f, -0.009876f, -0.009823f, -0.009567f, -0.009128f, -0.008529f, -0.007799f, -0.006974f, -0.006086f, -0.005174f, -0.004272f, -0.003414f, -0.002628f, -0.001941f, -0.001371f, -0.000933f, -0.000631f, -0.000467f, -0.000433f, -0.000517f, -0.000699f, -0.000958f, -0.001266f, -0.001594f, -0.001914f, -0.002196f, -0.002413f, -0.002540f, -0.002557f, -0.002450f, -0.002208f, -0.001827f, -0.001312f, -0.000671f, 0.000079f, 0.000920f, 0.001824f, 0.002763f, 0.003706f, 0.004620f, 0.005473f, 0.006233f, 0.006873f, 0.007367f, 0.007696f, 0.007847f, 0.007811f, 0.007587f, 0.007181f, 0.006606f, 0.005878f, 0.005023f, 0.004067f, + 0.003043f, 0.001984f, 0.000926f, -0.000098f, -0.001055f, -0.001913f, -0.002648f, -0.003238f, -0.003668f, -0.003928f, -0.004016f, -0.003935f, -0.003696f, -0.003313f, -0.002809f, -0.002209f, -0.001541f, -0.000835f, -0.000123f, 0.000563f, 0.001196f, 0.001749f, 0.002198f, 0.002527f, 0.002723f, 0.002779f, 0.002695f, 0.002476f, 0.002133f, 0.001683f, 0.001146f, 0.000546f, -0.000089f, -0.000732f, -0.001354f, -0.001929f, -0.002430f, -0.002836f, -0.003130f, -0.003297f, -0.003331f, -0.003229f, -0.002996f, -0.002639f, -0.002175f, -0.001620f, -0.001000f, -0.000338f, -0.018290f, -0.062542f, 0.075373f, 0.023942f, -0.043869f, -0.192620f, -0.125258f, 0.151248f, 0.025188f, 0.252837f, 0.330054f, 0.289273f, 0.019560f, 0.027911f, 0.021279f, 0.080888f, -0.016728f, -0.037625f, 0.082546f, -0.021887f, 0.015778f, -0.008822f, -0.010483f, -0.001995f, -0.001428f, -0.021831f, 0.015079f, 0.012810f, -0.034509f, -0.033014f, 0.031136f, 0.059442f, 0.050913f, 0.004466f, 0.051857f, 0.078859f, 0.120192f, -0.015399f, -0.108147f, -0.094294f, 0.046426f, 0.262133f, 0.079013f, -0.001468f, -0.210725f, -0.235095f, -0.104065f, 0.105383f, + 0.215871f, 0.245890f, 0.063137f, -0.094421f, -0.246703f, -0.137069f, -0.002323f, 0.198470f, 0.210950f, 0.182676f, -0.069049f, 0.003720f, -0.182436f, -0.097736f, 0.145036f, 0.243565f, 0.045020f, 0.222209f, 0.277898f, -0.033674f, -0.277553f, -0.438511f, -0.182238f, 0.138761f, 0.347199f, 0.116233f, -0.089010f, -0.345756f, -0.215789f, -0.056986f, 0.155095f, 0.380138f, 0.258245f, -0.011012f, -0.261045f, -0.300396f, -0.131265f, 0.144730f, 0.224700f, 0.088212f, -0.110429f, -0.191985f, -0.100833f, 0.068341f, 0.174078f, 0.092212f, -0.046042f, -0.089726f, -0.082558f, 0.053932f, 0.209877f, 0.224859f, 0.062561f, -0.248984f, -0.397906f, -0.249788f, 0.149703f, 0.422700f, 0.454342f, 0.129361f, -0.262008f, -0.568459f, -0.523737f, -0.060849f, 0.446629f, 0.537808f, 0.189092f, -0.301296f, -0.429567f, -0.206890f, 0.150223f, 0.422084f, 0.238417f, 0.070144f, -0.187961f, -0.253082f, -0.085001f, 0.047626f, 0.184962f, 0.118252f, -0.017623f, -0.111506f, -0.092764f, -0.032066f, 0.088418f, 0.108586f, 0.046415f, -0.070387f, -0.099868f, -0.069341f, 0.047191f, 0.104158f, 0.095540f, 0.005518f, -0.089450f, -0.148444f, + -0.055762f, 0.065694f, 0.163000f, 0.133901f, 0.035208f, -0.117751f, -0.205851f, -0.144787f, 0.002520f, 0.129263f, 0.208158f, 0.130617f, -0.038862f, -0.176770f, -0.182205f, -0.062025f, 0.102914f, 0.194411f, 0.164397f, 0.004247f, -0.132913f, -0.191209f, -0.100734f, 0.103360f, 0.206840f, 0.161036f, 0.006662f, -0.133314f, -0.164263f, -0.103104f, 0.072983f, 0.163216f, 0.116373f, -0.011197f, -0.164415f, -0.108598f, 0.159688f, 0.216945f, 0.128949f, -0.106626f, -0.222040f, -0.161871f, 0.069665f, 0.219679f, 0.180035f, -0.048692f, -0.211565f, -0.174812f, 0.054405f, 0.204882f, 0.143031f, -0.084741f, -0.191758f, -0.077955f, 0.131194f, 0.141344f, -0.034264f, -0.132219f, 0.006956f, 0.067337f, 0.001168f, -0.024976f, 0.005599f, 0.000442f, 0.003906f, -0.003997f, 0.004107f, -0.002965f, 0.005384f, -0.003211f, 0.004713f, -0.005429f, 0.003167f, -0.003119f, 0.003858f, -0.003361f, 0.003274f, -0.004298f, 0.003072f, -0.003647f, 0.003571f, -0.001956f, 0.005858f, -0.003621f, 0.000852f, -0.003328f, 0.003440f, -0.000548f, 0.001963f, -0.003313f, 0.001772f, -0.002875f, 0.003917f, -0.002348f, 0.003217f, -0.002608f} + }, + { + {-0.001645f, -0.004889f, -0.007994f, -0.010872f, -0.013441f, -0.015627f, -0.017366f, -0.018606f, -0.019309f, -0.019449f, -0.019017f, -0.018018f, -0.016473f, -0.014415f, -0.011894f, -0.008968f, -0.005708f, -0.002193f, 0.001492f, 0.005258f, 0.009013f, 0.012668f, 0.016133f, 0.019327f, 0.022174f, 0.024608f, 0.026572f, 0.028024f, 0.028931f, 0.029277f, 0.029057f, 0.028283f, 0.026975f, 0.025171f, 0.022916f, 0.020266f, 0.017286f, 0.014047f, 0.010624f, 0.007094f, 0.003535f, 0.000024f, -0.003366f, -0.006569f, -0.009523f, -0.012176f, -0.014484f, -0.016413f, -0.017941f, -0.019056f, -0.019756f, -0.020049f, -0.019954f, -0.019497f, -0.018714f, -0.017645f, -0.016336f, -0.014838f, -0.013201f, -0.011478f, -0.009722f, -0.007980f, -0.006300f, -0.004722f, -0.003284f, -0.002015f, -0.000939f, -0.000073f, 0.000573f, 0.000994f, 0.001195f, 0.001184f, 0.000974f, 0.000585f, 0.000037f, -0.000645f, -0.001434f, -0.002304f, -0.003228f, -0.004180f, -0.005136f, -0.006074f, -0.006975f, -0.007823f, -0.008607f, -0.009317f, -0.009947f, -0.010497f, -0.010966f, -0.011359f, -0.011681f, -0.011939f, -0.012142f, -0.012299f, -0.012420f, -0.012512f, + -0.012584f, -0.012641f, -0.012688f, -0.012728f, -0.012762f, -0.012789f, -0.012806f, -0.012808f, -0.012789f, -0.012743f, -0.012661f, -0.012535f, -0.012358f, -0.012123f, -0.011825f, -0.011457f, -0.011019f, -0.010510f, -0.009931f, -0.009287f, -0.008586f, -0.007835f, -0.007048f, -0.006237f, -0.005417f, -0.004604f, -0.003816f, -0.003069f, -0.002380f, -0.001765f, -0.001239f, -0.000814f, -0.000500f, -0.000304f, -0.000232f, -0.000285f, -0.000460f, -0.000753f, -0.001155f, -0.001654f, -0.002236f, -0.002885f, -0.003582f, -0.004308f, -0.005042f, -0.005763f, -0.006450f, -0.007084f, -0.007647f, -0.008124f, -0.008499f, -0.008763f, -0.008907f, -0.008927f, -0.008822f, -0.008594f, -0.008248f, -0.007793f, -0.007239f, -0.006599f, -0.005890f, -0.005128f, -0.004330f, -0.003514f, -0.002698f, -0.001899f, -0.001133f, -0.000414f, 0.000244f, 0.000833f, 0.001344f, 0.001771f, 0.002114f, 0.002371f, 0.002545f, 0.002642f, 0.002667f, 0.002630f, 0.002541f, 0.002410f, 0.002249f, 0.002069f, 0.001881f, 0.001696f, 0.001524f, 0.001371f, 0.001246f, 0.001152f, 0.001093f, 0.001070f, 0.001082f, 0.001127f, 0.001201f, 0.001298f, 0.001412f, 0.001537f, + 0.001664f, 0.001786f, 0.001896f, 0.001986f, 0.002051f, 0.002085f, 0.002084f, 0.002047f, 0.001972f, 0.001859f, 0.001712f, 0.001533f, 0.001327f, 0.001100f, 0.000859f, 0.000610f, 0.000363f, 0.000124f, -0.000099f, -0.000300f, -0.000472f, -0.000610f, -0.000710f, -0.000770f, -0.000790f, -0.000768f, -0.000708f, -0.000612f, -0.000486f, -0.000334f, -0.000164f, 0.000018f, 0.000204f, 0.000386f, 0.000558f, 0.000711f, 0.000840f, 0.000940f, 0.001007f, 0.001037f, 0.001030f, 0.000985f, 0.000904f, 0.000790f, 0.000647f, 0.000480f, 0.000295f, 0.000100f, 0.051440f, -0.017404f, -0.015031f, -0.006631f, 0.084912f, 0.030042f, 0.126303f, 0.077667f, 0.061283f, -0.206804f, -0.266513f, -0.146299f, 0.048463f, 0.221834f, 0.276928f, 0.058618f, -0.164883f, -0.206521f, -0.157245f, -0.019971f, 0.022484f, 0.009127f, -0.074832f, -0.003766f, 0.011558f, 0.046388f, 0.084463f, 0.035029f, -0.041705f, -0.135144f, -0.247107f, -0.068341f, 0.062401f, 0.215002f, 0.182115f, 0.017813f, -0.224853f, -0.242217f, -0.154143f, 0.140675f, 0.085035f, 0.013789f, 0.004699f, -0.030640f, -0.048520f, -0.053992f, 0.042938f, 0.077860f, + -0.122612f, -0.094380f, -0.021180f, 0.048656f, 0.098990f, 0.131997f, 0.049407f, -0.051469f, -0.107798f, -0.102519f, -0.027519f, 0.017002f, 0.121854f, 0.099067f, -0.012549f, -0.136986f, -0.168680f, -0.174574f, -0.066879f, 0.136946f, 0.301285f, 0.218697f, 0.064603f, -0.129712f, -0.295903f, -0.372101f, -0.176103f, 0.125151f, 0.321045f, 0.280827f, 0.079868f, -0.182004f, -0.337718f, -0.255048f, -0.075833f, 0.186080f, 0.229930f, 0.034094f, -0.137032f, -0.117218f, -0.015998f, 0.102881f, 0.148584f, 0.090919f, 0.023247f, -0.071571f, -0.111685f, -0.117527f, 0.010460f, 0.106725f, 0.099762f, 0.070302f, -0.064238f, -0.141554f, -0.120835f, -0.020430f, 0.117272f, 0.156353f, 0.059997f, -0.155890f, -0.200814f, -0.054347f, 0.108571f, 0.190060f, 0.124766f, -0.081814f, -0.251485f, -0.318244f, -0.060085f, 0.291755f, 0.371072f, 0.175054f, -0.113281f, -0.303607f, -0.187642f, -0.017714f, 0.224460f, 0.243779f, 0.102581f, -0.074083f, -0.204041f, -0.200559f, -0.040905f, 0.108675f, 0.223579f, 0.138661f, -0.050251f, -0.213777f, -0.246007f, -0.079520f, 0.144106f, 0.230220f, 0.169662f, 0.026378f, -0.146485f, -0.219150f, + -0.151349f, 0.038709f, 0.179876f, 0.134576f, -0.009275f, -0.077913f, -0.144363f, -0.041473f, 0.052335f, 0.093512f, 0.027278f, -0.011454f, -0.031205f, -0.026190f, -0.019791f, -0.000507f, -0.007044f, 0.020804f, 0.056088f, 0.052051f, 0.007688f, -0.040209f, -0.055811f, -0.032228f, 0.014392f, 0.040408f, 0.049053f, 0.038043f, -0.015223f, -0.058610f, -0.047302f, -0.026520f, 0.045780f, 0.026105f, -0.013310f, -0.017261f, 0.022633f, 0.048770f, 0.024043f, -0.024744f, -0.049378f, -0.012487f, 0.038986f, 0.054117f, 0.000389f, -0.046756f, -0.042967f, 0.017333f, 0.052966f, 0.029892f, -0.029762f, -0.051009f, -0.014580f, 0.046694f, 0.043299f, -0.016820f, -0.055613f, 0.000172f, 0.042298f, 0.006846f, -0.019183f, 0.002989f, 0.001877f, 0.000899f, -0.000117f, 0.002684f, -0.000509f, 0.001446f, -0.000408f, 0.000453f, -0.002198f, 0.001084f, -0.000278f, 0.001686f, -0.000636f, 0.001433f, -0.002012f, 0.001090f, -0.000798f, 0.000549f, -0.000918f, 0.003335f, -0.000223f, 0.001920f, -0.002619f, 0.000713f, -0.001257f, 0.000292f, -0.000361f, 0.001446f, 0.000380f, 0.001368f, -0.001780f, 0.001050f, -0.001139f, 0.000807f}, + {-0.001645f, -0.004889f, -0.007994f, -0.010872f, -0.013441f, -0.015627f, -0.017366f, -0.018606f, -0.019309f, -0.019449f, -0.019017f, -0.018018f, -0.016473f, -0.014415f, -0.011894f, -0.008968f, -0.005708f, -0.002193f, 0.001492f, 0.005258f, 0.009013f, 0.012668f, 0.016133f, 0.019327f, 0.022174f, 0.024608f, 0.026572f, 0.028024f, 0.028931f, 0.029277f, 0.029057f, 0.028283f, 0.026975f, 0.025171f, 0.022916f, 0.020266f, 0.017286f, 0.014047f, 0.010624f, 0.007094f, 0.003535f, 0.000024f, -0.003366f, -0.006569f, -0.009523f, -0.012176f, -0.014484f, -0.016413f, -0.017941f, -0.019056f, -0.019756f, -0.020049f, -0.019954f, -0.019497f, -0.018714f, -0.017645f, -0.016336f, -0.014838f, -0.013201f, -0.011478f, -0.009722f, -0.007980f, -0.006300f, -0.004722f, -0.003284f, -0.002015f, -0.000939f, -0.000073f, 0.000573f, 0.000994f, 0.001195f, 0.001184f, 0.000974f, 0.000585f, 0.000037f, -0.000645f, -0.001434f, -0.002304f, -0.003228f, -0.004180f, -0.005136f, -0.006074f, -0.006975f, -0.007823f, -0.008607f, -0.009317f, -0.009947f, -0.010497f, -0.010966f, -0.011359f, -0.011681f, -0.011939f, -0.012142f, -0.012299f, -0.012420f, -0.012512f, + -0.012584f, -0.012641f, -0.012688f, -0.012728f, -0.012762f, -0.012789f, -0.012806f, -0.012808f, -0.012789f, -0.012743f, -0.012661f, -0.012535f, -0.012358f, -0.012123f, -0.011825f, -0.011457f, -0.011019f, -0.010510f, -0.009931f, -0.009287f, -0.008586f, -0.007835f, -0.007048f, -0.006237f, -0.005417f, -0.004604f, -0.003816f, -0.003069f, -0.002380f, -0.001765f, -0.001239f, -0.000814f, -0.000500f, -0.000304f, -0.000232f, -0.000285f, -0.000460f, -0.000753f, -0.001155f, -0.001654f, -0.002236f, -0.002885f, -0.003582f, -0.004308f, -0.005042f, -0.005763f, -0.006450f, -0.007084f, -0.007647f, -0.008124f, -0.008499f, -0.008763f, -0.008907f, -0.008927f, -0.008822f, -0.008594f, -0.008248f, -0.007793f, -0.007239f, -0.006599f, -0.005890f, -0.005128f, -0.004330f, -0.003514f, -0.002698f, -0.001899f, -0.001133f, -0.000414f, 0.000244f, 0.000833f, 0.001344f, 0.001771f, 0.002114f, 0.002371f, 0.002545f, 0.002642f, 0.002667f, 0.002630f, 0.002541f, 0.002410f, 0.002249f, 0.002069f, 0.001881f, 0.001696f, 0.001524f, 0.001371f, 0.001246f, 0.001152f, 0.001093f, 0.001070f, 0.001082f, 0.001127f, 0.001201f, 0.001298f, 0.001412f, 0.001537f, + 0.001664f, 0.001786f, 0.001896f, 0.001986f, 0.002051f, 0.002085f, 0.002084f, 0.002047f, 0.001972f, 0.001859f, 0.001712f, 0.001533f, 0.001327f, 0.001100f, 0.000859f, 0.000610f, 0.000363f, 0.000124f, -0.000099f, -0.000300f, -0.000472f, -0.000610f, -0.000710f, -0.000770f, -0.000790f, -0.000768f, -0.000708f, -0.000612f, -0.000486f, -0.000334f, -0.000164f, 0.000018f, 0.000204f, 0.000386f, 0.000558f, 0.000711f, 0.000840f, 0.000940f, 0.001007f, 0.001037f, 0.001030f, 0.000985f, 0.000904f, 0.000790f, 0.000647f, 0.000480f, 0.000295f, 0.000100f, 0.051440f, -0.017404f, -0.015031f, -0.006631f, 0.084912f, 0.030042f, 0.126303f, 0.077667f, 0.061283f, -0.206804f, -0.266513f, -0.146299f, 0.048463f, 0.221834f, 0.276928f, 0.058618f, -0.164883f, -0.206521f, -0.157245f, -0.019971f, 0.022484f, 0.009127f, -0.074832f, -0.003766f, 0.011558f, 0.046388f, 0.084463f, 0.035029f, -0.041705f, -0.135144f, -0.247107f, -0.068341f, 0.062401f, 0.215002f, 0.182115f, 0.017813f, -0.224853f, -0.242217f, -0.154143f, 0.140675f, 0.085035f, 0.013789f, 0.004699f, -0.030640f, -0.048520f, -0.053992f, 0.042938f, 0.077860f, + -0.122612f, -0.094380f, -0.021180f, 0.048656f, 0.098990f, 0.131997f, 0.049407f, -0.051469f, -0.107798f, -0.102519f, -0.027519f, 0.017002f, 0.121854f, 0.099067f, -0.012549f, -0.136986f, -0.168680f, -0.174574f, -0.066879f, 0.136946f, 0.301285f, 0.218697f, 0.064603f, -0.129712f, -0.295903f, -0.372101f, -0.176103f, 0.125151f, 0.321045f, 0.280827f, 0.079868f, -0.182004f, -0.337718f, -0.255048f, -0.075833f, 0.186080f, 0.229930f, 0.034094f, -0.137032f, -0.117218f, -0.015998f, 0.102881f, 0.148584f, 0.090919f, 0.023247f, -0.071571f, -0.111685f, -0.117527f, 0.010460f, 0.106725f, 0.099762f, 0.070302f, -0.064238f, -0.141554f, -0.120835f, -0.020430f, 0.117272f, 0.156353f, 0.059997f, -0.155890f, -0.200814f, -0.054347f, 0.108571f, 0.190060f, 0.124766f, -0.081814f, -0.251485f, -0.318244f, -0.060085f, 0.291755f, 0.371072f, 0.175054f, -0.113281f, -0.303607f, -0.187642f, -0.017714f, 0.224460f, 0.243779f, 0.102581f, -0.074083f, -0.204041f, -0.200559f, -0.040905f, 0.108675f, 0.223579f, 0.138661f, -0.050251f, -0.213777f, -0.246007f, -0.079520f, 0.144106f, 0.230220f, 0.169662f, 0.026378f, -0.146485f, -0.219150f, + -0.151349f, 0.038709f, 0.179876f, 0.134576f, -0.009275f, -0.077913f, -0.144363f, -0.041473f, 0.052335f, 0.093512f, 0.027278f, -0.011454f, -0.031205f, -0.026190f, -0.019791f, -0.000507f, -0.007044f, 0.020804f, 0.056088f, 0.052051f, 0.007688f, -0.040209f, -0.055811f, -0.032228f, 0.014392f, 0.040408f, 0.049053f, 0.038043f, -0.015223f, -0.058610f, -0.047302f, -0.026520f, 0.045780f, 0.026105f, -0.013310f, -0.017261f, 0.022633f, 0.048770f, 0.024043f, -0.024744f, -0.049378f, -0.012487f, 0.038986f, 0.054117f, 0.000389f, -0.046756f, -0.042967f, 0.017333f, 0.052966f, 0.029892f, -0.029762f, -0.051009f, -0.014580f, 0.046694f, 0.043299f, -0.016820f, -0.055613f, 0.000172f, 0.042298f, 0.006846f, -0.019183f, 0.002989f, 0.001877f, 0.000899f, -0.000117f, 0.002684f, -0.000509f, 0.001446f, -0.000408f, 0.000453f, -0.002198f, 0.001084f, -0.000278f, 0.001686f, -0.000636f, 0.001433f, -0.002012f, 0.001090f, -0.000798f, 0.000549f, -0.000918f, 0.003335f, -0.000223f, 0.001920f, -0.002619f, 0.000713f, -0.001257f, 0.000292f, -0.000361f, 0.001446f, 0.000380f, 0.001368f, -0.001780f, 0.001050f, -0.001139f, 0.000807f} + }, + { + {-0.000690f, -0.002053f, -0.003367f, -0.004601f, -0.005728f, -0.006720f, -0.007557f, -0.008222f, -0.008701f, -0.008989f, -0.009083f, -0.008987f, -0.008711f, -0.008268f, -0.007678f, -0.006963f, -0.006150f, -0.005268f, -0.004347f, -0.003420f, -0.002518f, -0.001673f, -0.000914f, -0.000269f, 0.000238f, 0.000585f, 0.000757f, 0.000739f, 0.000525f, 0.000111f, -0.000501f, -0.001306f, -0.002292f, -0.003446f, -0.004750f, -0.006182f, -0.007719f, -0.009334f, -0.011001f, -0.012691f, -0.014375f, -0.016025f, -0.017613f, -0.019112f, -0.020496f, -0.021743f, -0.022829f, -0.023737f, -0.024449f, -0.024952f, -0.025234f, -0.025286f, -0.025103f, -0.024683f, -0.024026f, -0.023135f, -0.022016f, -0.020679f, -0.019136f, -0.017401f, -0.015492f, -0.013430f, -0.011237f, -0.008940f, -0.006565f, -0.004143f, -0.001704f, 0.000718f, 0.003089f, 0.005377f, 0.007546f, 0.009564f, 0.011399f, 0.013020f, 0.014400f, 0.015515f, 0.016344f, 0.016871f, 0.017086f, 0.016982f, 0.016561f, 0.015827f, 0.014793f, 0.013478f, 0.011905f, 0.010103f, 0.008109f, 0.005959f, 0.003697f, 0.001368f, -0.000981f, -0.003304f, -0.005551f, -0.007679f, -0.009644f, -0.011407f, + -0.012933f, -0.014192f, -0.015163f, -0.015828f, -0.016178f, -0.016213f, -0.015936f, -0.015362f, -0.014509f, -0.013404f, -0.012076f, -0.010562f, -0.008900f, -0.007133f, -0.005302f, -0.003450f, -0.001619f, 0.000153f, 0.001828f, 0.003374f, 0.004765f, 0.005979f, 0.006999f, 0.007816f, 0.008426f, 0.008831f, 0.009037f, 0.009057f, 0.008907f, 0.008608f, 0.008181f, 0.007650f, 0.007040f, 0.006375f, 0.005679f, 0.004971f, 0.004271f, 0.003593f, 0.002949f, 0.002346f, 0.001788f, 0.001275f, 0.000803f, 0.000365f, -0.000047f, -0.000445f, -0.000840f, -0.001245f, -0.001672f, -0.002130f, -0.002627f, -0.003169f, -0.003757f, -0.004391f, -0.005063f, -0.005765f, -0.006483f, -0.007200f, -0.007896f, -0.008548f, -0.009133f, -0.009624f, -0.009999f, -0.010233f, -0.010305f, -0.010196f, -0.009892f, -0.009383f, -0.008666f, -0.007741f, -0.006616f, -0.005305f, -0.003827f, -0.002207f, -0.000476f, 0.001333f, 0.003180f, 0.005028f, 0.006833f, 0.008555f, 0.010155f, 0.011596f, 0.012844f, 0.013871f, 0.014654f, 0.015176f, 0.015429f, 0.015411f, 0.015126f, 0.014589f, 0.013818f, 0.012839f, 0.011683f, 0.010388f, 0.008990f, 0.007533f, + 0.006057f, 0.004604f, 0.003214f, 0.001923f, 0.000764f, -0.000238f, -0.001059f, -0.001686f, -0.002112f, -0.002334f, -0.002360f, -0.002202f, -0.001877f, -0.001411f, -0.000830f, -0.000166f, 0.000549f, 0.001282f, 0.001998f, 0.002668f, 0.003262f, 0.003756f, 0.004130f, 0.004368f, 0.004463f, 0.004411f, 0.004214f, 0.003882f, 0.003429f, 0.002872f, 0.002235f, 0.001542f, 0.000822f, 0.000102f, -0.000590f, -0.001227f, -0.001786f, -0.002246f, -0.002591f, -0.002809f, -0.002893f, -0.002843f, -0.002662f, -0.002362f, -0.001955f, -0.001462f, -0.000904f, -0.000306f, 0.000296f, 0.003937f, 0.009648f, 0.012419f, 0.011267f, 0.040238f, 0.015703f, -0.011552f, -0.058160f, 0.013046f, 0.072824f, 0.088627f, -0.015958f, -0.160738f, -0.254131f, -0.050171f, 0.053966f, 0.110719f, 0.126033f, 0.010242f, 0.054476f, 0.047715f, -0.060406f, -0.155297f, 0.013718f, 0.062056f, 0.089206f, 0.119108f, 0.035385f, -0.029856f, -0.021391f, -0.127605f, -0.058302f, 0.063474f, 0.126353f, 0.057306f, -0.086294f, -0.115687f, -0.061619f, 0.036661f, 0.157767f, 0.060098f, -0.043304f, -0.112367f, -0.120737f, -0.060150f, 0.071453f, 0.076516f, + 0.063806f, 0.039984f, 0.012824f, 0.010209f, -0.018528f, -0.064632f, -0.023531f, -0.020034f, 0.014198f, 0.015704f, 0.120472f, -0.088570f, -0.026549f, -0.032296f, -0.172561f, -0.040071f, 0.109757f, -0.008742f, -0.101366f, -0.055359f, 0.046352f, 0.103096f, 0.129563f, 0.047553f, -0.024178f, -0.125148f, -0.117219f, 0.036596f, 0.186238f, 0.123714f, -0.045137f, -0.171506f, -0.106041f, -0.002482f, 0.055770f, 0.107032f, 0.059515f, -0.077665f, -0.169167f, -0.091629f, 0.046448f, 0.144953f, 0.091318f, -0.011980f, 0.009144f, -0.117581f, 0.016691f, 0.032711f, 0.218095f, 0.098833f, -0.062401f, -0.088608f, -0.001681f, 0.001069f, -0.093855f, -0.119791f, -0.048200f, 0.050228f, 0.123198f, 0.041732f, -0.097033f, -0.117008f, 0.012802f, 0.172574f, 0.184757f, 0.009102f, -0.120569f, -0.172745f, -0.076288f, 0.177154f, 0.250881f, 0.099183f, -0.107409f, -0.237621f, -0.190393f, -0.046260f, 0.129260f, 0.187136f, 0.116149f, -0.021548f, -0.160583f, -0.126560f, -0.027619f, 0.100470f, 0.179752f, 0.093998f, -0.109599f, -0.153948f, -0.181134f, 0.020372f, 0.217498f, 0.277900f, 0.121373f, -0.074423f, -0.234906f, -0.205704f, + -0.082379f, 0.085297f, 0.116048f, 0.117933f, -0.030242f, -0.117081f, -0.129572f, -0.010412f, 0.112942f, 0.131377f, -0.076372f, -0.144450f, -0.141864f, -0.036980f, 0.060290f, 0.118163f, 0.075497f, 0.007247f, -0.076572f, -0.106067f, -0.084042f, 0.039064f, 0.097812f, 0.118444f, 0.030211f, -0.043478f, -0.118658f, -0.097851f, -0.039008f, 0.070489f, 0.085911f, 0.105045f, -0.013103f, -0.109826f, -0.234591f, -0.026291f, 0.411073f, 0.430086f, 0.115483f, -0.325910f, -0.478239f, -0.221265f, 0.238392f, 0.486933f, 0.281713f, -0.180712f, -0.476652f, -0.295784f, 0.161026f, 0.445223f, 0.244443f, -0.190672f, -0.395177f, -0.136553f, 0.241464f, 0.292475f, -0.052163f, -0.246516f, -0.033780f, 0.137826f, 0.013441f, -0.035850f, -0.009276f, 0.005239f, -0.002221f, 0.001268f, -0.004987f, 0.001142f, -0.006533f, 0.002459f, -0.004739f, 0.003077f, -0.001965f, 0.000451f, -0.003766f, 0.004415f, -0.001868f, 0.003175f, -0.004095f, 0.005067f, -0.005135f, 0.003633f, -0.002886f, 0.003814f, -0.001883f, 0.004380f, -0.003811f, 0.002574f, -0.004489f, 0.004757f, -0.003096f, 0.005553f, -0.002642f, 0.002949f, -0.002289f, 0.003374f}, + {0.000690f, 0.002053f, 0.003367f, 0.004601f, 0.005728f, 0.006720f, 0.007557f, 0.008222f, 0.008701f, 0.008989f, 0.009083f, 0.008987f, 0.008711f, 0.008268f, 0.007678f, 0.006963f, 0.006150f, 0.005268f, 0.004347f, 0.003420f, 0.002518f, 0.001673f, 0.000914f, 0.000269f, -0.000238f, -0.000585f, -0.000757f, -0.000739f, -0.000525f, -0.000111f, 0.000501f, 0.001306f, 0.002292f, 0.003446f, 0.004750f, 0.006182f, 0.007719f, 0.009334f, 0.011001f, 0.012691f, 0.014375f, 0.016025f, 0.017613f, 0.019112f, 0.020496f, 0.021743f, 0.022829f, 0.023737f, 0.024449f, 0.024952f, 0.025234f, 0.025286f, 0.025103f, 0.024683f, 0.024026f, 0.023135f, 0.022016f, 0.020679f, 0.019136f, 0.017401f, 0.015492f, 0.013430f, 0.011237f, 0.008940f, 0.006565f, 0.004143f, 0.001704f, -0.000718f, -0.003089f, -0.005377f, -0.007546f, -0.009564f, -0.011399f, -0.013020f, -0.014400f, -0.015515f, -0.016344f, -0.016871f, -0.017086f, -0.016982f, -0.016561f, -0.015827f, -0.014793f, -0.013478f, -0.011905f, -0.010103f, -0.008109f, -0.005959f, -0.003697f, -0.001368f, 0.000981f, 0.003304f, 0.005551f, 0.007679f, 0.009644f, 0.011407f, + 0.012933f, 0.014192f, 0.015163f, 0.015828f, 0.016178f, 0.016213f, 0.015936f, 0.015362f, 0.014509f, 0.013404f, 0.012076f, 0.010562f, 0.008900f, 0.007133f, 0.005302f, 0.003450f, 0.001619f, -0.000153f, -0.001828f, -0.003374f, -0.004765f, -0.005979f, -0.006999f, -0.007816f, -0.008426f, -0.008831f, -0.009037f, -0.009057f, -0.008907f, -0.008608f, -0.008181f, -0.007650f, -0.007040f, -0.006375f, -0.005679f, -0.004971f, -0.004271f, -0.003593f, -0.002949f, -0.002346f, -0.001788f, -0.001275f, -0.000803f, -0.000365f, 0.000047f, 0.000445f, 0.000840f, 0.001245f, 0.001672f, 0.002130f, 0.002627f, 0.003169f, 0.003757f, 0.004391f, 0.005063f, 0.005765f, 0.006483f, 0.007200f, 0.007896f, 0.008548f, 0.009133f, 0.009624f, 0.009999f, 0.010233f, 0.010305f, 0.010196f, 0.009892f, 0.009383f, 0.008666f, 0.007741f, 0.006616f, 0.005305f, 0.003827f, 0.002207f, 0.000476f, -0.001333f, -0.003180f, -0.005028f, -0.006833f, -0.008555f, -0.010155f, -0.011596f, -0.012844f, -0.013871f, -0.014654f, -0.015176f, -0.015429f, -0.015411f, -0.015126f, -0.014589f, -0.013818f, -0.012839f, -0.011683f, -0.010388f, -0.008990f, -0.007533f, + -0.006057f, -0.004604f, -0.003214f, -0.001923f, -0.000764f, 0.000238f, 0.001059f, 0.001686f, 0.002112f, 0.002334f, 0.002360f, 0.002202f, 0.001877f, 0.001411f, 0.000830f, 0.000166f, -0.000549f, -0.001282f, -0.001998f, -0.002668f, -0.003262f, -0.003756f, -0.004130f, -0.004368f, -0.004463f, -0.004411f, -0.004214f, -0.003882f, -0.003429f, -0.002872f, -0.002235f, -0.001542f, -0.000822f, -0.000102f, 0.000590f, 0.001227f, 0.001786f, 0.002246f, 0.002591f, 0.002809f, 0.002893f, 0.002843f, 0.002662f, 0.002362f, 0.001955f, 0.001462f, 0.000904f, 0.000306f, -0.000296f, -0.003937f, -0.009648f, -0.012419f, -0.011267f, -0.040238f, -0.015703f, 0.011552f, 0.058160f, -0.013046f, -0.072824f, -0.088627f, 0.015958f, 0.160738f, 0.254131f, 0.050171f, -0.053966f, -0.110719f, -0.126033f, -0.010242f, -0.054476f, -0.047715f, 0.060406f, 0.155297f, -0.013718f, -0.062056f, -0.089206f, -0.119108f, -0.035385f, 0.029856f, 0.021391f, 0.127605f, 0.058302f, -0.063474f, -0.126353f, -0.057306f, 0.086294f, 0.115687f, 0.061619f, -0.036661f, -0.157767f, -0.060098f, 0.043304f, 0.112367f, 0.120737f, 0.060150f, -0.071453f, -0.076516f, + -0.063806f, -0.039984f, -0.012824f, -0.010209f, 0.018528f, 0.064632f, 0.023531f, 0.020034f, -0.014198f, -0.015704f, -0.120472f, 0.088570f, 0.026549f, 0.032296f, 0.172561f, 0.040071f, -0.109757f, 0.008742f, 0.101366f, 0.055359f, -0.046352f, -0.103096f, -0.129563f, -0.047553f, 0.024178f, 0.125148f, 0.117219f, -0.036596f, -0.186238f, -0.123714f, 0.045137f, 0.171506f, 0.106041f, 0.002482f, -0.055770f, -0.107032f, -0.059515f, 0.077665f, 0.169167f, 0.091629f, -0.046448f, -0.144953f, -0.091318f, 0.011980f, -0.009144f, 0.117581f, -0.016691f, -0.032711f, -0.218095f, -0.098833f, 0.062401f, 0.088608f, 0.001681f, -0.001069f, 0.093855f, 0.119791f, 0.048200f, -0.050228f, -0.123198f, -0.041732f, 0.097033f, 0.117008f, -0.012802f, -0.172574f, -0.184757f, -0.009102f, 0.120569f, 0.172745f, 0.076288f, -0.177154f, -0.250881f, -0.099183f, 0.107409f, 0.237621f, 0.190393f, 0.046260f, -0.129260f, -0.187136f, -0.116149f, 0.021548f, 0.160583f, 0.126560f, 0.027619f, -0.100470f, -0.179752f, -0.093998f, 0.109599f, 0.153948f, 0.181134f, -0.020372f, -0.217498f, -0.277900f, -0.121373f, 0.074423f, 0.234906f, 0.205704f, + 0.082379f, -0.085297f, -0.116048f, -0.117933f, 0.030242f, 0.117081f, 0.129572f, 0.010412f, -0.112942f, -0.131377f, 0.076372f, 0.144450f, 0.141864f, 0.036980f, -0.060290f, -0.118163f, -0.075497f, -0.007247f, 0.076572f, 0.106067f, 0.084042f, -0.039064f, -0.097812f, -0.118444f, -0.030211f, 0.043478f, 0.118658f, 0.097851f, 0.039008f, -0.070489f, -0.085911f, -0.105045f, 0.013103f, 0.109826f, 0.234591f, 0.026291f, -0.411073f, -0.430086f, -0.115483f, 0.325910f, 0.478239f, 0.221265f, -0.238392f, -0.486933f, -0.281713f, 0.180712f, 0.476652f, 0.295784f, -0.161026f, -0.445223f, -0.244443f, 0.190672f, 0.395177f, 0.136553f, -0.241464f, -0.292475f, 0.052163f, 0.246516f, 0.033780f, -0.137826f, -0.013441f, 0.035850f, 0.009276f, -0.005239f, 0.002221f, -0.001268f, 0.004987f, -0.001142f, 0.006533f, -0.002459f, 0.004739f, -0.003077f, 0.001965f, -0.000451f, 0.003766f, -0.004415f, 0.001868f, -0.003175f, 0.004095f, -0.005067f, 0.005135f, -0.003633f, 0.002886f, -0.003814f, 0.001883f, -0.004380f, 0.003811f, -0.002574f, 0.004489f, -0.004757f, 0.003096f, -0.005553f, 0.002642f, -0.002949f, 0.002289f, -0.003374f} + }, + { + {0.000859f, 0.002546f, 0.004137f, 0.005573f, 0.006798f, 0.007766f, 0.008436f, 0.008779f, 0.008777f, 0.008421f, 0.007715f, 0.006676f, 0.005329f, 0.003711f, 0.001866f, -0.000155f, -0.002292f, -0.004487f, -0.006677f, -0.008800f, -0.010797f, -0.012613f, -0.014199f, -0.015515f, -0.016527f, -0.017213f, -0.017560f, -0.017564f, -0.017234f, -0.016584f, -0.015642f, -0.014439f, -0.013015f, -0.011413f, -0.009678f, -0.007859f, -0.006004f, -0.004156f, -0.002357f, -0.000644f, 0.000952f, 0.002409f, 0.003709f, 0.004844f, 0.005813f, 0.006621f, 0.007281f, 0.007810f, 0.008230f, 0.008566f, 0.008846f, 0.009095f, 0.009341f, 0.009606f, 0.009911f, 0.010269f, 0.010690f, 0.011177f, 0.011727f, 0.012329f, 0.012965f, 0.013615f, 0.014250f, 0.014838f, 0.015346f, 0.015737f, 0.015976f, 0.016028f, 0.015860f, 0.015447f, 0.014766f, 0.013801f, 0.012546f, 0.010999f, 0.009171f, 0.007076f, 0.004742f, 0.002199f, -0.000513f, -0.003349f, -0.006259f, -0.009193f, -0.012095f, -0.014913f, -0.017595f, -0.020094f, -0.022364f, -0.024369f, -0.026078f, -0.027468f, -0.028525f, -0.029243f, -0.029625f, -0.029682f, -0.029434f, -0.028905f, + -0.028130f, -0.027144f, -0.025987f, -0.024703f, -0.023333f, -0.021921f, -0.020506f, -0.019125f, -0.017811f, -0.016591f, -0.015486f, -0.014511f, -0.013675f, -0.012980f, -0.012422f, -0.011993f, -0.011678f, -0.011460f, -0.011317f, -0.011228f, -0.011169f, -0.011117f, -0.011051f, -0.010951f, -0.010802f, -0.010592f, -0.010311f, -0.009957f, -0.009530f, -0.009035f, -0.008482f, -0.007882f, -0.007252f, -0.006607f, -0.005968f, -0.005352f, -0.004777f, -0.004260f, -0.003816f, -0.003455f, -0.003186f, -0.003012f, -0.002933f, -0.002945f, -0.003039f, -0.003203f, -0.003423f, -0.003681f, -0.003957f, -0.004231f, -0.004482f, -0.004693f, -0.004843f, -0.004920f, -0.004909f, -0.004804f, -0.004600f, -0.004297f, -0.003901f, -0.003419f, -0.002867f, -0.002259f, -0.001617f, -0.000961f, -0.000314f, 0.000300f, 0.000859f, 0.001341f, 0.001728f, 0.002005f, 0.002161f, 0.002188f, 0.002085f, 0.001854f, 0.001504f, 0.001048f, 0.000501f, -0.000114f, -0.000775f, -0.001455f, -0.002127f, -0.002765f, -0.003342f, -0.003835f, -0.004222f, -0.004485f, -0.004613f, -0.004596f, -0.004433f, -0.004127f, -0.003686f, -0.003124f, -0.002460f, -0.001716f, -0.000917f, -0.000093f, + 0.000728f, 0.001515f, 0.002241f, 0.002879f, 0.003406f, 0.003801f, 0.004051f, 0.004146f, 0.004082f, 0.003861f, 0.003492f, 0.002988f, 0.002368f, 0.001654f, 0.000873f, 0.000055f, -0.000770f, -0.001572f, -0.002319f, -0.002985f, -0.003543f, -0.003974f, -0.004260f, -0.004391f, -0.004362f, -0.004174f, -0.003834f, -0.003355f, -0.002754f, -0.002054f, -0.001281f, -0.000466f, 0.000363f, 0.001173f, 0.001934f, 0.002618f, 0.003198f, 0.003654f, 0.003967f, 0.004127f, 0.004128f, 0.003969f, 0.003658f, 0.003206f, 0.002631f, 0.001955f, 0.001204f, 0.000406f, 0.017226f, 0.012013f, -0.028321f, -0.030423f, -0.022893f, -0.033501f, -0.060821f, -0.088080f, -0.112243f, 0.154253f, 0.203443f, 0.058316f, -0.012445f, 0.055654f, 0.021804f, -0.008967f, 0.035061f, 0.095283f, -0.000718f, 0.050392f, -0.018996f, -0.055789f, 0.032982f, -0.007091f, 0.094774f, 0.026985f, 0.048263f, -0.071591f, -0.107635f, 0.011283f, 0.017843f, 0.025335f, -0.054642f, -0.015553f, 0.014738f, 0.028520f, 0.050245f, 0.062858f, -0.068352f, -0.030551f, -0.019679f, 0.052072f, 0.057232f, 0.021821f, -0.070286f, -0.113515f, -0.071628f, 0.027134f, + -0.012002f, 0.068095f, 0.094405f, 0.068474f, -0.058745f, -0.073551f, -0.048971f, 0.047774f, 0.095484f, 0.136276f, -0.020782f, -0.008228f, -0.156104f, -0.089359f, 0.090499f, 0.174599f, 0.045334f, 0.164127f, 0.055132f, -0.122527f, -0.092643f, -0.072552f, 0.080633f, 0.116478f, 0.056780f, -0.140743f, -0.260926f, -0.168795f, -0.133615f, -0.060155f, 0.178317f, 0.217051f, -0.005971f, -0.165801f, -0.140198f, -0.114298f, -0.209628f, 0.119419f, 0.231336f, 0.219009f, 0.076439f, -0.087801f, -0.201419f, -0.123932f, 0.079096f, 0.213570f, 0.193245f, 0.071682f, -0.105801f, -0.155119f, 0.036797f, 0.147391f, 0.158791f, 0.027849f, -0.132063f, -0.217392f, -0.063462f, 0.120396f, 0.255590f, 0.137794f, -0.053665f, -0.330210f, -0.344688f, -0.158570f, 0.200625f, 0.367654f, 0.189377f, -0.125986f, -0.191932f, -0.177880f, -0.044655f, 0.177784f, 0.243707f, 0.166341f, -0.059203f, -0.181411f, -0.141760f, -0.105250f, 0.101497f, 0.204489f, 0.162081f, 0.018700f, -0.128499f, -0.199396f, -0.101125f, 0.091973f, 0.230468f, 0.135103f, -0.041913f, -0.203133f, -0.185174f, -0.090538f, 0.079898f, 0.180571f, 0.130038f, -0.027597f, + -0.089495f, -0.090417f, -0.024452f, -0.007223f, 0.068041f, 0.110296f, 0.065420f, -0.023719f, -0.095513f, -0.089005f, 0.002369f, 0.124344f, 0.110889f, 0.042596f, -0.026849f, -0.096845f, -0.081131f, -0.002341f, 0.095227f, 0.102042f, 0.044684f, -0.010971f, -0.063710f, -0.034114f, -0.001677f, 0.030173f, 0.013740f, -0.000268f, -0.021227f, -0.043999f, -0.001913f, 0.026924f, 0.041319f, -0.015041f, -0.054437f, -0.130356f, 0.047521f, 0.167756f, 0.184390f, 0.033196f, -0.121109f, -0.184845f, -0.054031f, 0.118381f, 0.199260f, 0.079203f, -0.103129f, -0.191235f, -0.059463f, 0.122197f, 0.182977f, 0.024420f, -0.135288f, -0.134242f, 0.050368f, 0.146347f, 0.040904f, -0.109526f, -0.032549f, 0.056726f, 0.019439f, -0.025118f, 0.005572f, 0.001777f, 0.007640f, 0.000271f, 0.005556f, -0.003630f, 0.004957f, -0.004408f, 0.004800f, -0.003228f, 0.002972f, -0.004344f, 0.003459f, -0.002986f, 0.006276f, -0.004350f, 0.002435f, -0.004030f, 0.004971f, -0.003604f, 0.005546f, -0.007147f, 0.005138f, -0.005555f, 0.006601f, -0.002204f, 0.005298f, -0.004820f, 0.003456f, -0.001146f, 0.004085f, -0.002134f, 0.001776f, -0.006348f}, + {-0.000859f, -0.002546f, -0.004137f, -0.005573f, -0.006798f, -0.007766f, -0.008436f, -0.008779f, -0.008777f, -0.008421f, -0.007715f, -0.006676f, -0.005329f, -0.003711f, -0.001866f, 0.000155f, 0.002292f, 0.004487f, 0.006677f, 0.008800f, 0.010797f, 0.012613f, 0.014199f, 0.015515f, 0.016527f, 0.017213f, 0.017560f, 0.017564f, 0.017234f, 0.016584f, 0.015642f, 0.014439f, 0.013015f, 0.011413f, 0.009678f, 0.007859f, 0.006004f, 0.004156f, 0.002357f, 0.000644f, -0.000952f, -0.002409f, -0.003709f, -0.004844f, -0.005813f, -0.006621f, -0.007281f, -0.007810f, -0.008230f, -0.008566f, -0.008846f, -0.009095f, -0.009341f, -0.009606f, -0.009911f, -0.010269f, -0.010690f, -0.011177f, -0.011727f, -0.012329f, -0.012965f, -0.013615f, -0.014250f, -0.014838f, -0.015346f, -0.015737f, -0.015976f, -0.016028f, -0.015860f, -0.015447f, -0.014766f, -0.013801f, -0.012546f, -0.010999f, -0.009171f, -0.007076f, -0.004742f, -0.002199f, 0.000513f, 0.003349f, 0.006259f, 0.009193f, 0.012095f, 0.014913f, 0.017595f, 0.020094f, 0.022364f, 0.024369f, 0.026078f, 0.027468f, 0.028525f, 0.029243f, 0.029625f, 0.029682f, 0.029434f, 0.028905f, + 0.028130f, 0.027144f, 0.025987f, 0.024703f, 0.023333f, 0.021921f, 0.020506f, 0.019125f, 0.017811f, 0.016591f, 0.015486f, 0.014511f, 0.013675f, 0.012980f, 0.012422f, 0.011993f, 0.011678f, 0.011460f, 0.011317f, 0.011228f, 0.011169f, 0.011117f, 0.011051f, 0.010951f, 0.010802f, 0.010592f, 0.010311f, 0.009957f, 0.009530f, 0.009035f, 0.008482f, 0.007882f, 0.007252f, 0.006607f, 0.005968f, 0.005352f, 0.004777f, 0.004260f, 0.003816f, 0.003455f, 0.003186f, 0.003012f, 0.002933f, 0.002945f, 0.003039f, 0.003203f, 0.003423f, 0.003681f, 0.003957f, 0.004231f, 0.004482f, 0.004693f, 0.004843f, 0.004920f, 0.004909f, 0.004804f, 0.004600f, 0.004297f, 0.003901f, 0.003419f, 0.002867f, 0.002259f, 0.001617f, 0.000961f, 0.000314f, -0.000300f, -0.000859f, -0.001341f, -0.001728f, -0.002005f, -0.002161f, -0.002188f, -0.002085f, -0.001854f, -0.001504f, -0.001048f, -0.000501f, 0.000114f, 0.000775f, 0.001455f, 0.002127f, 0.002765f, 0.003342f, 0.003835f, 0.004222f, 0.004485f, 0.004613f, 0.004596f, 0.004433f, 0.004127f, 0.003686f, 0.003124f, 0.002460f, 0.001716f, 0.000917f, 0.000093f, + -0.000728f, -0.001515f, -0.002241f, -0.002879f, -0.003406f, -0.003801f, -0.004051f, -0.004146f, -0.004082f, -0.003861f, -0.003492f, -0.002988f, -0.002368f, -0.001654f, -0.000873f, -0.000055f, 0.000770f, 0.001572f, 0.002319f, 0.002985f, 0.003543f, 0.003974f, 0.004260f, 0.004391f, 0.004362f, 0.004174f, 0.003834f, 0.003355f, 0.002754f, 0.002054f, 0.001281f, 0.000466f, -0.000363f, -0.001173f, -0.001934f, -0.002618f, -0.003198f, -0.003654f, -0.003967f, -0.004127f, -0.004128f, -0.003969f, -0.003658f, -0.003206f, -0.002631f, -0.001955f, -0.001204f, -0.000406f, -0.017226f, -0.012013f, 0.028321f, 0.030423f, 0.022893f, 0.033501f, 0.060821f, 0.088080f, 0.112243f, -0.154253f, -0.203443f, -0.058316f, 0.012445f, -0.055654f, -0.021804f, 0.008967f, -0.035061f, -0.095283f, 0.000718f, -0.050392f, 0.018996f, 0.055789f, -0.032982f, 0.007091f, -0.094774f, -0.026985f, -0.048263f, 0.071591f, 0.107635f, -0.011283f, -0.017843f, -0.025335f, 0.054642f, 0.015553f, -0.014738f, -0.028520f, -0.050245f, -0.062858f, 0.068352f, 0.030551f, 0.019679f, -0.052072f, -0.057232f, -0.021821f, 0.070286f, 0.113515f, 0.071628f, -0.027134f, + 0.012002f, -0.068095f, -0.094405f, -0.068474f, 0.058745f, 0.073551f, 0.048971f, -0.047774f, -0.095484f, -0.136276f, 0.020782f, 0.008228f, 0.156104f, 0.089359f, -0.090499f, -0.174599f, -0.045334f, -0.164127f, -0.055132f, 0.122527f, 0.092643f, 0.072552f, -0.080633f, -0.116478f, -0.056780f, 0.140743f, 0.260926f, 0.168795f, 0.133615f, 0.060155f, -0.178317f, -0.217051f, 0.005971f, 0.165801f, 0.140198f, 0.114298f, 0.209628f, -0.119419f, -0.231336f, -0.219009f, -0.076439f, 0.087801f, 0.201419f, 0.123932f, -0.079096f, -0.213570f, -0.193245f, -0.071682f, 0.105801f, 0.155119f, -0.036797f, -0.147391f, -0.158791f, -0.027849f, 0.132063f, 0.217392f, 0.063462f, -0.120396f, -0.255590f, -0.137794f, 0.053665f, 0.330210f, 0.344688f, 0.158570f, -0.200625f, -0.367654f, -0.189377f, 0.125986f, 0.191932f, 0.177880f, 0.044655f, -0.177784f, -0.243707f, -0.166341f, 0.059203f, 0.181411f, 0.141760f, 0.105250f, -0.101497f, -0.204489f, -0.162081f, -0.018700f, 0.128499f, 0.199396f, 0.101125f, -0.091973f, -0.230468f, -0.135103f, 0.041913f, 0.203133f, 0.185174f, 0.090538f, -0.079898f, -0.180571f, -0.130038f, 0.027597f, + 0.089495f, 0.090417f, 0.024452f, 0.007223f, -0.068041f, -0.110296f, -0.065420f, 0.023719f, 0.095513f, 0.089005f, -0.002369f, -0.124344f, -0.110889f, -0.042596f, 0.026849f, 0.096845f, 0.081131f, 0.002341f, -0.095227f, -0.102042f, -0.044684f, 0.010971f, 0.063710f, 0.034114f, 0.001677f, -0.030173f, -0.013740f, 0.000268f, 0.021227f, 0.043999f, 0.001913f, -0.026924f, -0.041319f, 0.015041f, 0.054437f, 0.130356f, -0.047521f, -0.167756f, -0.184390f, -0.033196f, 0.121109f, 0.184845f, 0.054031f, -0.118381f, -0.199260f, -0.079203f, 0.103129f, 0.191235f, 0.059463f, -0.122197f, -0.182977f, -0.024420f, 0.135288f, 0.134242f, -0.050368f, -0.146347f, -0.040904f, 0.109526f, 0.032549f, -0.056726f, -0.019439f, 0.025118f, -0.005572f, -0.001777f, -0.007640f, -0.000271f, -0.005556f, 0.003630f, -0.004957f, 0.004408f, -0.004800f, 0.003228f, -0.002972f, 0.004344f, -0.003459f, 0.002986f, -0.006276f, 0.004350f, -0.002435f, 0.004030f, -0.004971f, 0.003604f, -0.005546f, 0.007147f, -0.005138f, 0.005555f, -0.006601f, 0.002204f, -0.005298f, 0.004820f, -0.003456f, 0.001146f, -0.004085f, 0.002134f, -0.001776f, 0.006348f} + }, + { + {0.002823f, 0.008389f, 0.013718f, 0.018663f, 0.023087f, 0.026869f, 0.029913f, 0.032143f, 0.033511f, 0.033996f, 0.033606f, 0.032375f, 0.030364f, 0.027658f, 0.024363f, 0.020601f, 0.016506f, 0.012223f, 0.007896f, 0.003669f, -0.000321f, -0.003949f, -0.007105f, -0.009700f, -0.011666f, -0.012957f, -0.013555f, -0.013467f, -0.012723f, -0.011378f, -0.009508f, -0.007205f, -0.004577f, -0.001742f, 0.001176f, 0.004055f, 0.006772f, 0.009215f, 0.011282f, 0.012888f, 0.013963f, 0.014463f, 0.014361f, 0.013656f, 0.012367f, 0.010538f, 0.008230f, 0.005521f, 0.002507f, -0.000709f, -0.004016f, -0.007300f, -0.010448f, -0.013354f, -0.015920f, -0.018061f, -0.019709f, -0.020812f, -0.021339f, -0.021280f, -0.020645f, -0.019465f, -0.017788f, -0.015681f, -0.013224f, -0.010508f, -0.007634f, -0.004703f, -0.001820f, 0.000915f, 0.003409f, 0.005581f, 0.007360f, 0.008693f, 0.009542f, 0.009890f, 0.009735f, 0.009098f, 0.008012f, 0.006530f, 0.004715f, 0.002644f, 0.000400f, -0.001930f, -0.004255f, -0.006490f, -0.008552f, -0.010368f, -0.011876f, -0.013026f, -0.013783f, -0.014130f, -0.014062f, -0.013593f, -0.012752f, -0.011581f, + -0.010133f, -0.008474f, -0.006673f, -0.004805f, -0.002947f, -0.001172f, 0.000449f, 0.001855f, 0.002993f, 0.003823f, 0.004317f, 0.004461f, 0.004257f, 0.003718f, 0.002874f, 0.001765f, 0.000442f, -0.001035f, -0.002601f, -0.004187f, -0.005723f, -0.007142f, -0.008382f, -0.009387f, -0.010111f, -0.010518f, -0.010586f, -0.010304f, -0.009677f, -0.008721f, -0.007466f, -0.005953f, -0.004231f, -0.002360f, -0.000403f, 0.001572f, 0.003499f, 0.005312f, 0.006948f, 0.008354f, 0.009484f, 0.010301f, 0.010781f, 0.010912f, 0.010694f, 0.010139f, 0.009271f, 0.008126f, 0.006747f, 0.005185f, 0.003497f, 0.001744f, -0.000014f, -0.001718f, -0.003312f, -0.004745f, -0.005974f, -0.006966f, -0.007695f, -0.008148f, -0.008322f, -0.008224f, -0.007872f, -0.007293f, -0.006522f, -0.005599f, -0.004569f, -0.003480f, -0.002381f, -0.001318f, -0.000335f, 0.000531f, 0.001246f, 0.001787f, 0.002138f, 0.002292f, 0.002251f, 0.002026f, 0.001637f, 0.001110f, 0.000477f, -0.000225f, -0.000958f, -0.001679f, -0.002351f, -0.002936f, -0.003401f, -0.003718f, -0.003867f, -0.003834f, -0.003615f, -0.003212f, -0.002637f, -0.001909f, -0.001054f, -0.000104f, + 0.000904f, 0.001932f, 0.002939f, 0.003884f, 0.004730f, 0.005443f, 0.005992f, 0.006355f, 0.006517f, 0.006469f, 0.006213f, 0.005757f, 0.005118f, 0.004320f, 0.003395f, 0.002378f, 0.001308f, 0.000226f, -0.000824f, -0.001802f, -0.002672f, -0.003398f, -0.003953f, -0.004317f, -0.004477f, -0.004427f, -0.004171f, -0.003721f, -0.003096f, -0.002324f, -0.001436f, -0.000471f, 0.000533f, 0.001532f, 0.002486f, 0.003354f, 0.004101f, 0.004694f, 0.005110f, 0.005330f, 0.005344f, 0.005150f, 0.004755f, 0.004175f, 0.003431f, 0.002551f, 0.001572f, 0.000531f, -0.025688f, 0.026915f, -0.008551f, -0.003691f, -0.022601f, -0.000660f, -0.156528f, -0.111393f, 0.028493f, 0.108824f, 0.104758f, 0.065063f, 0.026530f, 0.213562f, 0.082655f, -0.061031f, -0.117392f, -0.066242f, 0.072011f, 0.041473f, -0.014914f, -0.097632f, -0.041251f, -0.081319f, 0.004432f, 0.010078f, 0.037392f, 0.044746f, 0.051890f, -0.005366f, -0.064750f, -0.128326f, -0.085975f, 0.083484f, 0.137437f, 0.073582f, 0.001098f, -0.053269f, -0.120250f, 0.054962f, 0.016628f, -0.181935f, -0.023235f, -0.049819f, 0.135352f, 0.140517f, 0.115850f, -0.150025f, + -0.246660f, -0.254713f, 0.010057f, 0.217888f, 0.425324f, 0.170587f, -0.000894f, -0.366132f, -0.390544f, -0.248375f, 0.184205f, 0.154963f, 0.288394f, 0.122914f, -0.153765f, -0.193585f, -0.006970f, -0.150889f, -0.112666f, -0.021523f, -0.064199f, -0.061539f, -0.070544f, 0.060940f, 0.154890f, 0.167767f, 0.034782f, -0.101531f, -0.250810f, -0.230540f, 0.019017f, 0.347077f, 0.277001f, 0.085076f, -0.242863f, -0.095458f, -0.042193f, 0.130637f, 0.092155f, -0.057397f, -0.199128f, -0.145930f, 0.044730f, 0.234143f, 0.243780f, 0.023978f, -0.278476f, -0.308623f, -0.219451f, 0.162768f, 0.334214f, 0.210667f, -0.033177f, -0.258524f, -0.246503f, -0.028790f, 0.263949f, 0.345040f, 0.216509f, -0.075180f, -0.255710f, -0.257503f, -0.115401f, 0.083209f, 0.221638f, 0.156401f, -0.024868f, -0.200868f, -0.087228f, 0.018970f, 0.088801f, 0.115951f, 0.072505f, -0.017732f, -0.009354f, -0.023435f, -0.018067f, 0.014657f, 0.031956f, 0.057493f, 0.079698f, 0.112267f, 0.000138f, -0.113165f, -0.157296f, -0.056569f, 0.107155f, 0.278913f, 0.245623f, 0.007285f, -0.245854f, -0.298588f, -0.180016f, 0.096249f, 0.281524f, 0.268503f, + 0.076388f, -0.160191f, -0.288207f, -0.124868f, 0.152759f, 0.261110f, 0.166910f, -0.006599f, -0.177852f, -0.162466f, -0.039010f, 0.089040f, 0.132594f, 0.118348f, 0.001736f, -0.111109f, -0.102237f, -0.018782f, 0.077950f, 0.136106f, 0.067304f, -0.033510f, -0.146148f, -0.119064f, -0.014996f, 0.123470f, 0.149227f, 0.065867f, -0.056608f, -0.146168f, -0.095006f, -0.020288f, 0.077417f, 0.084737f, 0.060939f, -0.093503f, -0.197415f, -0.057628f, 0.116799f, 0.213634f, 0.084091f, -0.102030f, -0.200069f, -0.070761f, 0.108761f, 0.181640f, 0.047338f, -0.102865f, -0.140615f, -0.008568f, 0.099425f, 0.097485f, -0.022045f, -0.079000f, -0.045199f, 0.048425f, 0.054467f, -0.007508f, -0.041201f, 0.012327f, 0.007542f, 0.002916f, -0.005532f, 0.005379f, -0.002943f, 0.005489f, -0.002093f, 0.006741f, -0.002504f, 0.004367f, -0.005957f, 0.003284f, -0.003766f, 0.004741f, -0.004155f, 0.006042f, -0.003084f, 0.006195f, -0.001465f, 0.004644f, -0.006098f, 0.005356f, -0.003579f, 0.005223f, -0.004932f, 0.004642f, -0.004095f, 0.004139f, -0.004242f, 0.005984f, -0.005431f, 0.003672f, -0.004344f, 0.005198f, -0.003723f, 0.004351f}, + {-0.002823f, -0.008389f, -0.013718f, -0.018663f, -0.023087f, -0.026869f, -0.029913f, -0.032143f, -0.033511f, -0.033996f, -0.033606f, -0.032375f, -0.030364f, -0.027658f, -0.024363f, -0.020601f, -0.016506f, -0.012223f, -0.007896f, -0.003669f, 0.000321f, 0.003949f, 0.007105f, 0.009700f, 0.011666f, 0.012957f, 0.013555f, 0.013467f, 0.012723f, 0.011378f, 0.009508f, 0.007205f, 0.004577f, 0.001742f, -0.001176f, -0.004055f, -0.006772f, -0.009215f, -0.011282f, -0.012888f, -0.013963f, -0.014463f, -0.014361f, -0.013656f, -0.012367f, -0.010538f, -0.008230f, -0.005521f, -0.002507f, 0.000709f, 0.004016f, 0.007300f, 0.010448f, 0.013354f, 0.015920f, 0.018061f, 0.019709f, 0.020812f, 0.021339f, 0.021280f, 0.020645f, 0.019465f, 0.017788f, 0.015681f, 0.013224f, 0.010508f, 0.007634f, 0.004703f, 0.001820f, -0.000915f, -0.003409f, -0.005581f, -0.007360f, -0.008693f, -0.009542f, -0.009890f, -0.009735f, -0.009098f, -0.008012f, -0.006530f, -0.004715f, -0.002644f, -0.000400f, 0.001930f, 0.004255f, 0.006490f, 0.008552f, 0.010368f, 0.011876f, 0.013026f, 0.013783f, 0.014130f, 0.014062f, 0.013593f, 0.012752f, 0.011581f, + 0.010133f, 0.008474f, 0.006673f, 0.004805f, 0.002947f, 0.001172f, -0.000449f, -0.001855f, -0.002993f, -0.003823f, -0.004317f, -0.004461f, -0.004257f, -0.003718f, -0.002874f, -0.001765f, -0.000442f, 0.001035f, 0.002601f, 0.004187f, 0.005723f, 0.007142f, 0.008382f, 0.009387f, 0.010111f, 0.010518f, 0.010586f, 0.010304f, 0.009677f, 0.008721f, 0.007466f, 0.005953f, 0.004231f, 0.002360f, 0.000403f, -0.001572f, -0.003499f, -0.005312f, -0.006948f, -0.008354f, -0.009484f, -0.010301f, -0.010781f, -0.010912f, -0.010694f, -0.010139f, -0.009271f, -0.008126f, -0.006747f, -0.005185f, -0.003497f, -0.001744f, 0.000014f, 0.001718f, 0.003312f, 0.004745f, 0.005974f, 0.006966f, 0.007695f, 0.008148f, 0.008322f, 0.008224f, 0.007872f, 0.007293f, 0.006522f, 0.005599f, 0.004569f, 0.003480f, 0.002381f, 0.001318f, 0.000335f, -0.000531f, -0.001246f, -0.001787f, -0.002138f, -0.002292f, -0.002251f, -0.002026f, -0.001637f, -0.001110f, -0.000477f, 0.000225f, 0.000958f, 0.001679f, 0.002351f, 0.002936f, 0.003401f, 0.003718f, 0.003867f, 0.003834f, 0.003615f, 0.003212f, 0.002637f, 0.001909f, 0.001054f, 0.000104f, + -0.000904f, -0.001932f, -0.002939f, -0.003884f, -0.004730f, -0.005443f, -0.005992f, -0.006355f, -0.006517f, -0.006469f, -0.006213f, -0.005757f, -0.005118f, -0.004320f, -0.003395f, -0.002378f, -0.001308f, -0.000226f, 0.000824f, 0.001802f, 0.002672f, 0.003398f, 0.003953f, 0.004317f, 0.004477f, 0.004427f, 0.004171f, 0.003721f, 0.003096f, 0.002324f, 0.001436f, 0.000471f, -0.000533f, -0.001532f, -0.002486f, -0.003354f, -0.004101f, -0.004694f, -0.005110f, -0.005330f, -0.005344f, -0.005150f, -0.004755f, -0.004175f, -0.003431f, -0.002551f, -0.001572f, -0.000531f, 0.025688f, -0.026915f, 0.008551f, 0.003691f, 0.022601f, 0.000660f, 0.156528f, 0.111393f, -0.028493f, -0.108824f, -0.104758f, -0.065063f, -0.026530f, -0.213562f, -0.082655f, 0.061031f, 0.117392f, 0.066242f, -0.072011f, -0.041473f, 0.014914f, 0.097632f, 0.041251f, 0.081319f, -0.004432f, -0.010078f, -0.037392f, -0.044746f, -0.051890f, 0.005366f, 0.064750f, 0.128326f, 0.085975f, -0.083484f, -0.137437f, -0.073582f, -0.001098f, 0.053269f, 0.120250f, -0.054962f, -0.016628f, 0.181935f, 0.023235f, 0.049819f, -0.135352f, -0.140517f, -0.115850f, 0.150025f, + 0.246660f, 0.254713f, -0.010057f, -0.217888f, -0.425324f, -0.170587f, 0.000894f, 0.366132f, 0.390544f, 0.248375f, -0.184205f, -0.154963f, -0.288394f, -0.122914f, 0.153765f, 0.193585f, 0.006970f, 0.150889f, 0.112666f, 0.021523f, 0.064199f, 0.061539f, 0.070544f, -0.060940f, -0.154890f, -0.167767f, -0.034782f, 0.101531f, 0.250810f, 0.230540f, -0.019017f, -0.347077f, -0.277001f, -0.085076f, 0.242863f, 0.095458f, 0.042193f, -0.130637f, -0.092155f, 0.057397f, 0.199128f, 0.145930f, -0.044730f, -0.234143f, -0.243780f, -0.023978f, 0.278476f, 0.308623f, 0.219451f, -0.162768f, -0.334214f, -0.210667f, 0.033177f, 0.258524f, 0.246503f, 0.028790f, -0.263949f, -0.345040f, -0.216509f, 0.075180f, 0.255710f, 0.257503f, 0.115401f, -0.083209f, -0.221638f, -0.156401f, 0.024868f, 0.200868f, 0.087228f, -0.018970f, -0.088801f, -0.115951f, -0.072505f, 0.017732f, 0.009354f, 0.023435f, 0.018067f, -0.014657f, -0.031956f, -0.057493f, -0.079698f, -0.112267f, -0.000138f, 0.113165f, 0.157296f, 0.056569f, -0.107155f, -0.278913f, -0.245623f, -0.007285f, 0.245854f, 0.298588f, 0.180016f, -0.096249f, -0.281524f, -0.268503f, + -0.076388f, 0.160191f, 0.288207f, 0.124868f, -0.152759f, -0.261110f, -0.166910f, 0.006599f, 0.177852f, 0.162466f, 0.039010f, -0.089040f, -0.132594f, -0.118348f, -0.001736f, 0.111109f, 0.102237f, 0.018782f, -0.077950f, -0.136106f, -0.067304f, 0.033510f, 0.146148f, 0.119064f, 0.014996f, -0.123470f, -0.149227f, -0.065867f, 0.056608f, 0.146168f, 0.095006f, 0.020288f, -0.077417f, -0.084737f, -0.060939f, 0.093503f, 0.197415f, 0.057628f, -0.116799f, -0.213634f, -0.084091f, 0.102030f, 0.200069f, 0.070761f, -0.108761f, -0.181640f, -0.047338f, 0.102865f, 0.140615f, 0.008568f, -0.099425f, -0.097485f, 0.022045f, 0.079000f, 0.045199f, -0.048425f, -0.054467f, 0.007508f, 0.041201f, -0.012327f, -0.007542f, -0.002916f, 0.005532f, -0.005379f, 0.002943f, -0.005489f, 0.002093f, -0.006741f, 0.002504f, -0.004367f, 0.005957f, -0.003284f, 0.003766f, -0.004741f, 0.004155f, -0.006042f, 0.003084f, -0.006195f, 0.001465f, -0.004644f, 0.006098f, -0.005356f, 0.003579f, -0.005223f, 0.004932f, -0.004642f, 0.004095f, -0.004139f, 0.004242f, -0.005984f, 0.005431f, -0.003672f, 0.004344f, -0.005198f, 0.003723f, -0.004351f} + }, + { + {0.001322f, 0.003935f, 0.006454f, 0.008823f, 0.010990f, 0.012913f, 0.014559f, 0.015910f, 0.016958f, 0.017708f, 0.018180f, 0.018402f, 0.018417f, 0.018273f, 0.018026f, 0.017734f, 0.017457f, 0.017253f, 0.017173f, 0.017263f, 0.017556f, 0.018075f, 0.018827f, 0.019806f, 0.020989f, 0.022340f, 0.023806f, 0.025324f, 0.026820f, 0.028211f, 0.029412f, 0.030333f, 0.030889f, 0.031000f, 0.030596f, 0.029620f, 0.028029f, 0.025801f, 0.022932f, 0.019439f, 0.015364f, 0.010767f, 0.005729f, 0.000352f, -0.005250f, -0.010946f, -0.016601f, -0.022070f, -0.027213f, -0.031890f, -0.035972f, -0.039343f, -0.041903f, -0.043576f, -0.044305f, -0.044062f, -0.042844f, -0.040677f, -0.037614f, -0.033732f, -0.029132f, -0.023937f, -0.018286f, -0.012331f, -0.006230f, -0.000148f, 0.005754f, 0.011323f, 0.016416f, 0.020904f, 0.024682f, 0.027663f, 0.029787f, 0.031022f, 0.031361f, 0.030824f, 0.029458f, 0.027331f, 0.024536f, 0.021179f, 0.017383f, 0.013279f, 0.009000f, 0.004684f, 0.000460f, -0.003551f, -0.007238f, -0.010511f, -0.013294f, -0.015534f, -0.017202f, -0.018289f, -0.018808f, -0.018794f, -0.018299f, -0.017394f, + -0.016159f, -0.014687f, -0.013074f, -0.011419f, -0.009818f, -0.008360f, -0.007125f, -0.006182f, -0.005580f, -0.005356f, -0.005525f, -0.006084f, -0.007015f, -0.008277f, -0.009817f, -0.011568f, -0.013452f, -0.015384f, -0.017274f, -0.019033f, -0.020574f, -0.021819f, -0.022695f, -0.023147f, -0.023132f, -0.022623f, -0.021611f, -0.020105f, -0.018133f, -0.015736f, -0.012973f, -0.009914f, -0.006640f, -0.003239f, 0.000198f, 0.003579f, 0.006813f, 0.009818f, 0.012520f, 0.014855f, 0.016775f, 0.018244f, 0.019247f, 0.019780f, 0.019859f, 0.019513f, 0.018788f, 0.017739f, 0.016430f, 0.014934f, 0.013327f, 0.011684f, 0.010080f, 0.008584f, 0.007256f, 0.006146f, 0.005294f, 0.004724f, 0.004447f, 0.004460f, 0.004745f, 0.005272f, 0.005999f, 0.006873f, 0.007837f, 0.008825f, 0.009773f, 0.010616f, 0.011293f, 0.011749f, 0.011938f, 0.011825f, 0.011387f, 0.010615f, 0.009512f, 0.008099f, 0.006405f, 0.004475f, 0.002364f, 0.000133f, -0.002148f, -0.004406f, -0.006569f, -0.008566f, -0.010332f, -0.011806f, -0.012942f, -0.013701f, -0.014060f, -0.014009f, -0.013554f, -0.012712f, -0.011516f, -0.010013f, -0.008257f, -0.006312f, + -0.004251f, -0.002146f, -0.000073f, 0.001895f, 0.003690f, 0.005252f, 0.006529f, 0.007482f, 0.008083f, 0.008319f, 0.008192f, 0.007716f, 0.006918f, 0.005840f, 0.004531f, 0.003050f, 0.001461f, -0.000167f, -0.001766f, -0.003271f, -0.004619f, -0.005755f, -0.006635f, -0.007225f, -0.007501f, -0.007454f, -0.007090f, -0.006424f, -0.005486f, -0.004316f, -0.002964f, -0.001486f, 0.000056f, 0.001598f, 0.003076f, 0.004430f, 0.005603f, 0.006548f, 0.007227f, 0.007610f, 0.007683f, 0.007443f, 0.006899f, 0.006074f, 0.005002f, 0.003726f, 0.002298f, 0.000777f, -0.030696f, 0.010079f, -0.038675f, 0.012582f, -0.040801f, 0.045322f, 0.035278f, -0.097745f, -0.078951f, 0.014559f, -0.086888f, -0.091152f, 0.053565f, -0.108519f, -0.285451f, -0.115492f, 0.174039f, 0.213796f, 0.243672f, -0.145965f, 0.017388f, 0.185458f, 0.179834f, -0.035021f, -0.162928f, -0.117639f, -0.077068f, 0.058654f, 0.229831f, 0.175223f, 0.046760f, -0.150464f, -0.165831f, -0.118794f, 0.039510f, 0.116700f, 0.173975f, 0.016928f, -0.057488f, -0.115028f, -0.092878f, 0.005873f, 0.141806f, 0.125902f, 0.030814f, -0.131927f, -0.150309f, -0.081015f, + -0.030206f, 0.022789f, 0.121464f, 0.113373f, 0.153768f, 0.011404f, -0.081105f, -0.307289f, -0.230855f, -0.079987f, 0.219398f, 0.020953f, 0.139568f, 0.076876f, -0.106696f, -0.202691f, -0.072874f, -0.212543f, -0.238707f, 0.008286f, 0.086439f, 0.133956f, -0.003077f, -0.030179f, -0.044500f, 0.169272f, 0.012399f, 0.043748f, -0.335844f, -0.427871f, 0.029599f, 0.301234f, 0.250250f, 0.067467f, -0.179678f, -0.363815f, -0.593776f, -0.157676f, 0.327665f, 0.584992f, 0.348499f, -0.048251f, -0.391810f, -0.372665f, -0.160141f, 0.241420f, 0.352707f, 0.236621f, -0.001022f, -0.134055f, -0.053121f, 0.141937f, 0.146798f, -0.055752f, -0.132145f, -0.096131f, 0.042013f, 0.164349f, 0.158217f, 0.000641f, -0.119515f, -0.161831f, -0.052040f, 0.024591f, 0.117203f, 0.055545f, -0.216649f, -0.214301f, -0.030497f, 0.038761f, 0.075765f, 0.040536f, -0.036389f, -0.103000f, -0.034191f, 0.044298f, 0.034372f, 0.036930f, 0.015048f, 0.003259f, -0.027983f, 0.049992f, 0.082727f, 0.012939f, -0.043868f, -0.091831f, -0.011452f, 0.085173f, 0.104380f, 0.071771f, 0.001449f, -0.092150f, -0.112132f, 0.005303f, 0.141831f, 0.155707f, + 0.010751f, -0.163970f, -0.245046f, -0.148464f, 0.078076f, 0.270186f, 0.300173f, 0.099280f, -0.205232f, -0.380479f, -0.317213f, 0.056430f, 0.345089f, 0.427063f, 0.189260f, -0.159506f, -0.416259f, -0.340820f, -0.060319f, 0.260954f, 0.388964f, 0.267633f, -0.113508f, -0.379353f, -0.350004f, -0.086303f, 0.208950f, 0.285451f, 0.142200f, -0.078494f, -0.215562f, -0.149965f, 0.034041f, 0.192228f, 0.234471f, 0.017520f, -0.298944f, -0.295611f, -0.045851f, 0.268164f, 0.308789f, 0.082452f, -0.227730f, -0.294581f, -0.082215f, 0.211627f, 0.266252f, 0.067987f, -0.185676f, -0.223757f, -0.027744f, 0.188095f, 0.173846f, -0.024262f, -0.178182f, -0.080763f, 0.112276f, 0.111610f, -0.054879f, -0.058273f, 0.025991f, 0.023344f, -0.007588f, 0.000557f, -0.001454f, 0.002463f, 0.000901f, 0.003014f, -0.002952f, 0.000982f, 0.000588f, 0.004419f, -0.000529f, -0.000775f, -0.001110f, 0.001083f, 0.000192f, 0.003196f, -0.001687f, -0.001023f, -0.001387f, 0.003966f, -0.002321f, 0.005528f, -0.002013f, -0.000908f, -0.004451f, 0.001728f, 0.001047f, 0.002773f, -0.001200f, 0.002569f, -0.001884f, 0.003416f, -0.005666f, 0.000214f}, + {0.001322f, 0.003935f, 0.006454f, 0.008823f, 0.010990f, 0.012913f, 0.014559f, 0.015910f, 0.016958f, 0.017708f, 0.018180f, 0.018402f, 0.018417f, 0.018273f, 0.018026f, 0.017734f, 0.017457f, 0.017253f, 0.017173f, 0.017263f, 0.017556f, 0.018075f, 0.018827f, 0.019806f, 0.020989f, 0.022340f, 0.023806f, 0.025324f, 0.026820f, 0.028211f, 0.029412f, 0.030333f, 0.030889f, 0.031000f, 0.030596f, 0.029620f, 0.028029f, 0.025801f, 0.022932f, 0.019439f, 0.015364f, 0.010767f, 0.005729f, 0.000352f, -0.005250f, -0.010946f, -0.016601f, -0.022070f, -0.027213f, -0.031890f, -0.035972f, -0.039343f, -0.041903f, -0.043576f, -0.044305f, -0.044062f, -0.042844f, -0.040677f, -0.037614f, -0.033732f, -0.029132f, -0.023937f, -0.018286f, -0.012331f, -0.006230f, -0.000148f, 0.005754f, 0.011323f, 0.016416f, 0.020904f, 0.024682f, 0.027663f, 0.029787f, 0.031022f, 0.031361f, 0.030824f, 0.029458f, 0.027331f, 0.024536f, 0.021179f, 0.017383f, 0.013279f, 0.009000f, 0.004684f, 0.000460f, -0.003551f, -0.007238f, -0.010511f, -0.013294f, -0.015534f, -0.017202f, -0.018289f, -0.018808f, -0.018794f, -0.018299f, -0.017394f, + -0.016159f, -0.014687f, -0.013074f, -0.011419f, -0.009818f, -0.008360f, -0.007125f, -0.006182f, -0.005580f, -0.005356f, -0.005525f, -0.006084f, -0.007015f, -0.008277f, -0.009817f, -0.011568f, -0.013452f, -0.015384f, -0.017274f, -0.019033f, -0.020574f, -0.021819f, -0.022695f, -0.023147f, -0.023132f, -0.022623f, -0.021611f, -0.020105f, -0.018133f, -0.015736f, -0.012973f, -0.009914f, -0.006640f, -0.003239f, 0.000198f, 0.003579f, 0.006813f, 0.009818f, 0.012520f, 0.014855f, 0.016775f, 0.018244f, 0.019247f, 0.019780f, 0.019859f, 0.019513f, 0.018788f, 0.017739f, 0.016430f, 0.014934f, 0.013327f, 0.011684f, 0.010080f, 0.008584f, 0.007256f, 0.006146f, 0.005294f, 0.004724f, 0.004447f, 0.004460f, 0.004745f, 0.005272f, 0.005999f, 0.006873f, 0.007837f, 0.008825f, 0.009773f, 0.010616f, 0.011293f, 0.011749f, 0.011938f, 0.011825f, 0.011387f, 0.010615f, 0.009512f, 0.008099f, 0.006405f, 0.004475f, 0.002364f, 0.000133f, -0.002148f, -0.004406f, -0.006569f, -0.008566f, -0.010332f, -0.011806f, -0.012942f, -0.013701f, -0.014060f, -0.014009f, -0.013554f, -0.012712f, -0.011516f, -0.010013f, -0.008257f, -0.006312f, + -0.004251f, -0.002146f, -0.000073f, 0.001895f, 0.003690f, 0.005252f, 0.006529f, 0.007482f, 0.008083f, 0.008319f, 0.008192f, 0.007716f, 0.006918f, 0.005840f, 0.004531f, 0.003050f, 0.001461f, -0.000167f, -0.001766f, -0.003271f, -0.004619f, -0.005755f, -0.006635f, -0.007225f, -0.007501f, -0.007454f, -0.007090f, -0.006424f, -0.005486f, -0.004316f, -0.002964f, -0.001486f, 0.000056f, 0.001598f, 0.003076f, 0.004430f, 0.005603f, 0.006548f, 0.007227f, 0.007610f, 0.007683f, 0.007443f, 0.006899f, 0.006074f, 0.005002f, 0.003726f, 0.002298f, 0.000777f, -0.030696f, 0.010079f, -0.038675f, 0.012582f, -0.040801f, 0.045322f, 0.035278f, -0.097745f, -0.078951f, 0.014559f, -0.086888f, -0.091152f, 0.053565f, -0.108519f, -0.285451f, -0.115492f, 0.174039f, 0.213796f, 0.243672f, -0.145965f, 0.017388f, 0.185458f, 0.179834f, -0.035021f, -0.162928f, -0.117639f, -0.077068f, 0.058654f, 0.229831f, 0.175223f, 0.046760f, -0.150464f, -0.165831f, -0.118794f, 0.039510f, 0.116700f, 0.173975f, 0.016928f, -0.057488f, -0.115028f, -0.092878f, 0.005873f, 0.141806f, 0.125902f, 0.030814f, -0.131927f, -0.150309f, -0.081015f, + -0.030206f, 0.022789f, 0.121464f, 0.113373f, 0.153768f, 0.011404f, -0.081105f, -0.307289f, -0.230855f, -0.079987f, 0.219398f, 0.020953f, 0.139568f, 0.076876f, -0.106696f, -0.202691f, -0.072874f, -0.212543f, -0.238707f, 0.008286f, 0.086439f, 0.133956f, -0.003077f, -0.030179f, -0.044500f, 0.169272f, 0.012399f, 0.043748f, -0.335844f, -0.427871f, 0.029599f, 0.301234f, 0.250250f, 0.067467f, -0.179678f, -0.363815f, -0.593776f, -0.157676f, 0.327665f, 0.584992f, 0.348499f, -0.048251f, -0.391810f, -0.372665f, -0.160141f, 0.241420f, 0.352707f, 0.236621f, -0.001022f, -0.134055f, -0.053121f, 0.141937f, 0.146798f, -0.055752f, -0.132145f, -0.096131f, 0.042013f, 0.164349f, 0.158217f, 0.000641f, -0.119515f, -0.161831f, -0.052040f, 0.024591f, 0.117203f, 0.055545f, -0.216649f, -0.214301f, -0.030497f, 0.038761f, 0.075765f, 0.040536f, -0.036389f, -0.103000f, -0.034191f, 0.044298f, 0.034372f, 0.036930f, 0.015048f, 0.003259f, -0.027983f, 0.049992f, 0.082727f, 0.012939f, -0.043868f, -0.091831f, -0.011452f, 0.085173f, 0.104380f, 0.071771f, 0.001449f, -0.092150f, -0.112132f, 0.005303f, 0.141831f, 0.155707f, + 0.010751f, -0.163970f, -0.245046f, -0.148464f, 0.078076f, 0.270186f, 0.300173f, 0.099280f, -0.205232f, -0.380479f, -0.317213f, 0.056430f, 0.345089f, 0.427063f, 0.189260f, -0.159506f, -0.416259f, -0.340820f, -0.060319f, 0.260954f, 0.388964f, 0.267633f, -0.113508f, -0.379353f, -0.350004f, -0.086303f, 0.208950f, 0.285451f, 0.142200f, -0.078494f, -0.215562f, -0.149965f, 0.034041f, 0.192228f, 0.234471f, 0.017520f, -0.298944f, -0.295611f, -0.045851f, 0.268164f, 0.308789f, 0.082452f, -0.227730f, -0.294581f, -0.082215f, 0.211627f, 0.266252f, 0.067987f, -0.185676f, -0.223757f, -0.027744f, 0.188095f, 0.173846f, -0.024262f, -0.178182f, -0.080763f, 0.112276f, 0.111610f, -0.054879f, -0.058273f, 0.025991f, 0.023344f, -0.007588f, 0.000557f, -0.001454f, 0.002463f, 0.000901f, 0.003014f, -0.002952f, 0.000982f, 0.000588f, 0.004419f, -0.000529f, -0.000775f, -0.001110f, 0.001083f, 0.000192f, 0.003196f, -0.001687f, -0.001023f, -0.001387f, 0.003966f, -0.002321f, 0.005528f, -0.002013f, -0.000908f, -0.004451f, 0.001728f, 0.001047f, 0.002773f, -0.001200f, 0.002569f, -0.001884f, 0.003416f, -0.005666f, 0.000214f} + }, + { + {0.000429f, 0.001272f, 0.002066f, 0.002781f, 0.003390f, 0.003873f, 0.004214f, 0.004402f, 0.004438f, 0.004326f, 0.004079f, 0.003719f, 0.003271f, 0.002769f, 0.002248f, 0.001749f, 0.001312f, 0.000979f, 0.000788f, 0.000775f, 0.000970f, 0.001397f, 0.002072f, 0.003001f, 0.004181f, 0.005599f, 0.007231f, 0.009046f, 0.010999f, 0.013041f, 0.015114f, 0.017154f, 0.019095f, 0.020868f, 0.022405f, 0.023641f, 0.024517f, 0.024978f, 0.024980f, 0.024489f, 0.023484f, 0.021955f, 0.019907f, 0.017361f, 0.014349f, 0.010918f, 0.007130f, 0.003053f, -0.001229f, -0.005629f, -0.010052f, -0.014400f, -0.018576f, -0.022483f, -0.026031f, -0.029135f, -0.031720f, -0.033725f, -0.035098f, -0.035806f, -0.035830f, -0.035166f, -0.033829f, -0.031849f, -0.029272f, -0.026158f, -0.022579f, -0.018619f, -0.014370f, -0.009930f, -0.005400f, -0.000884f, 0.003519f, 0.007712f, 0.011607f, 0.015122f, 0.018190f, 0.020756f, 0.022777f, 0.024227f, 0.025095f, 0.025387f, 0.025121f, 0.024332f, 0.023068f, 0.021387f, 0.019357f, 0.017056f, 0.014564f, 0.011967f, 0.009348f, 0.006792f, 0.004377f, 0.002175f, 0.000251f, -0.001340f, + -0.002556f, -0.003366f, -0.003753f, -0.003712f, -0.003251f, -0.002392f, -0.001169f, 0.000375f, 0.002186f, 0.004204f, 0.006362f, 0.008589f, 0.010814f, 0.012965f, 0.014971f, 0.016768f, 0.018295f, 0.019503f, 0.020346f, 0.020793f, 0.020821f, 0.020419f, 0.019587f, 0.018337f, 0.016691f, 0.014681f, 0.012349f, 0.009745f, 0.006923f, 0.003944f, 0.000874f, -0.002223f, -0.005280f, -0.008234f, -0.011022f, -0.013590f, -0.015885f, -0.017865f, -0.019493f, -0.020743f, -0.021597f, -0.022046f, -0.022090f, -0.021739f, -0.021012f, -0.019933f, -0.018535f, -0.016859f, -0.014948f, -0.012849f, -0.010613f, -0.008293f, -0.005939f, -0.003602f, -0.001332f, 0.000828f, 0.002836f, 0.004656f, 0.006259f, 0.007619f, 0.008720f, 0.009550f, 0.010106f, 0.010389f, 0.010407f, 0.010175f, 0.009711f, 0.009040f, 0.008189f, 0.007188f, 0.006069f, 0.004866f, 0.003613f, 0.002344f, 0.001092f, -0.000114f, -0.001245f, -0.002277f, -0.003189f, -0.003963f, -0.004586f, -0.005050f, -0.005351f, -0.005489f, -0.005468f, -0.005296f, -0.004984f, -0.004547f, -0.004003f, -0.003369f, -0.002667f, -0.001918f, -0.001143f, -0.000364f, 0.000399f, 0.001128f, + 0.001804f, 0.002412f, 0.002941f, 0.003381f, 0.003724f, 0.003967f, 0.004108f, 0.004150f, 0.004096f, 0.003954f, 0.003734f, 0.003444f, 0.003099f, 0.002712f, 0.002295f, 0.001864f, 0.001431f, 0.001011f, 0.000614f, 0.000253f, -0.000065f, -0.000333f, -0.000544f, -0.000697f, -0.000789f, -0.000823f, -0.000802f, -0.000729f, -0.000612f, -0.000459f, -0.000277f, -0.000077f, 0.000132f, 0.000340f, 0.000538f, 0.000717f, 0.000871f, 0.000991f, 0.001075f, 0.001117f, 0.001116f, 0.001073f, 0.000988f, 0.000866f, 0.000710f, 0.000528f, 0.000325f, 0.000110f, 0.004325f, 0.038062f, 0.020580f, -0.024641f, -0.010812f, 0.065193f, 0.106067f, 0.011613f, -0.082134f, -0.198732f, -0.130452f, -0.044671f, 0.099718f, -0.096835f, -0.057591f, -0.027115f, 0.073916f, 0.130933f, 0.339398f, -0.032221f, -0.083327f, -0.075477f, -0.011526f, 0.011000f, 0.186231f, 0.095079f, 0.087461f, -0.057836f, -0.177390f, -0.100523f, -0.090915f, 0.056568f, 0.079578f, 0.127256f, -0.011849f, -0.101805f, -0.152564f, -0.064817f, -0.032282f, 0.024912f, 0.071233f, 0.080544f, -0.003501f, -0.087247f, -0.076317f, -0.035437f, 0.035623f, 0.024788f, + -0.091994f, -0.079745f, 0.020901f, 0.074127f, 0.043623f, 0.064571f, -0.010169f, -0.064132f, -0.009114f, -0.068800f, 0.047633f, -0.142630f, 0.105867f, 0.093698f, -0.096038f, -0.167419f, 0.026841f, -0.110855f, -0.091647f, 0.073117f, -0.032957f, -0.056334f, -0.156696f, -0.014605f, 0.194360f, 0.437939f, 0.198456f, -0.047092f, -0.274072f, -0.198778f, -0.026182f, 0.206621f, 0.301615f, 0.217354f, -0.072622f, -0.197400f, -0.081358f, 0.030432f, 0.033997f, 0.021622f, -0.034318f, -0.063383f, -0.118311f, -0.018524f, 0.101311f, 0.212623f, 0.162632f, 0.016773f, -0.165046f, -0.273346f, -0.193594f, -0.000947f, 0.245901f, 0.378040f, 0.174211f, -0.055126f, -0.339109f, -0.345752f, -0.166324f, 0.090062f, 0.198502f, 0.178359f, 0.053506f, 0.023101f, -0.108601f, 0.021106f, 0.102141f, 0.119987f, -0.125830f, -0.180442f, -0.053532f, 0.089257f, 0.129860f, 0.068003f, -0.005655f, -0.170720f, -0.174745f, -0.116848f, 0.079347f, 0.218131f, 0.247059f, 0.053708f, -0.177930f, -0.357342f, -0.276339f, -0.023190f, 0.259482f, 0.433787f, 0.279328f, -0.065102f, -0.348322f, -0.387358f, -0.207420f, 0.119153f, 0.252331f, 0.194574f, + 0.095594f, -0.038457f, -0.090909f, -0.118740f, -0.055565f, 0.031000f, 0.086467f, 0.084120f, 0.031550f, -0.075907f, -0.066799f, -0.104845f, -0.014430f, 0.057053f, 0.115622f, 0.073755f, -0.050623f, -0.130727f, -0.127212f, -0.045579f, 0.068296f, 0.153761f, 0.099787f, -0.039918f, -0.060346f, -0.051542f, -0.052361f, -0.034906f, 0.018428f, 0.057516f, 0.043171f, 0.014680f, -0.035625f, -0.083127f, -0.036201f, -0.088496f, -0.099303f, 0.059697f, 0.122499f, 0.100904f, -0.025937f, -0.084272f, -0.077960f, 0.016659f, 0.062050f, 0.062134f, -0.001570f, -0.034258f, -0.042715f, -0.004483f, 0.021577f, 0.044006f, 0.013080f, -0.014641f, -0.038426f, -0.002938f, 0.029375f, 0.025165f, -0.023109f, -0.009682f, 0.008798f, 0.010358f, -0.006268f, 0.004481f, -0.003225f, 0.007309f, -0.004619f, 0.004374f, -0.002460f, 0.005010f, -0.003899f, 0.006250f, -0.002826f, 0.004784f, -0.001410f, 0.005846f, -0.006009f, 0.007681f, -0.002530f, 0.001607f, -0.004596f, 0.001338f, -0.004160f, 0.002091f, -0.002249f, 0.002802f, -0.001929f, 0.007748f, -0.004506f, 0.003110f, -0.007015f, 0.005977f, -0.005323f, 0.004130f, -0.003102f, 0.003839f}, + {0.000429f, 0.001272f, 0.002066f, 0.002781f, 0.003390f, 0.003873f, 0.004214f, 0.004402f, 0.004438f, 0.004326f, 0.004079f, 0.003719f, 0.003271f, 0.002769f, 0.002248f, 0.001749f, 0.001312f, 0.000979f, 0.000788f, 0.000775f, 0.000970f, 0.001397f, 0.002072f, 0.003001f, 0.004181f, 0.005599f, 0.007231f, 0.009046f, 0.010999f, 0.013041f, 0.015114f, 0.017154f, 0.019095f, 0.020868f, 0.022405f, 0.023641f, 0.024517f, 0.024978f, 0.024980f, 0.024489f, 0.023484f, 0.021955f, 0.019907f, 0.017361f, 0.014349f, 0.010918f, 0.007130f, 0.003053f, -0.001229f, -0.005629f, -0.010052f, -0.014400f, -0.018576f, -0.022483f, -0.026031f, -0.029135f, -0.031720f, -0.033725f, -0.035098f, -0.035806f, -0.035830f, -0.035166f, -0.033829f, -0.031849f, -0.029272f, -0.026158f, -0.022579f, -0.018619f, -0.014370f, -0.009930f, -0.005400f, -0.000884f, 0.003519f, 0.007712f, 0.011607f, 0.015122f, 0.018190f, 0.020756f, 0.022777f, 0.024227f, 0.025095f, 0.025387f, 0.025121f, 0.024332f, 0.023068f, 0.021387f, 0.019357f, 0.017056f, 0.014564f, 0.011967f, 0.009348f, 0.006792f, 0.004377f, 0.002175f, 0.000251f, -0.001340f, + -0.002556f, -0.003366f, -0.003753f, -0.003712f, -0.003251f, -0.002392f, -0.001169f, 0.000375f, 0.002186f, 0.004204f, 0.006362f, 0.008589f, 0.010814f, 0.012965f, 0.014971f, 0.016768f, 0.018295f, 0.019503f, 0.020346f, 0.020793f, 0.020821f, 0.020419f, 0.019587f, 0.018337f, 0.016691f, 0.014681f, 0.012349f, 0.009745f, 0.006923f, 0.003944f, 0.000874f, -0.002223f, -0.005280f, -0.008234f, -0.011022f, -0.013590f, -0.015885f, -0.017865f, -0.019493f, -0.020743f, -0.021597f, -0.022046f, -0.022090f, -0.021739f, -0.021012f, -0.019933f, -0.018535f, -0.016859f, -0.014948f, -0.012849f, -0.010613f, -0.008293f, -0.005939f, -0.003602f, -0.001332f, 0.000828f, 0.002836f, 0.004656f, 0.006259f, 0.007619f, 0.008720f, 0.009550f, 0.010106f, 0.010389f, 0.010407f, 0.010175f, 0.009711f, 0.009040f, 0.008189f, 0.007188f, 0.006069f, 0.004866f, 0.003613f, 0.002344f, 0.001092f, -0.000114f, -0.001245f, -0.002277f, -0.003189f, -0.003963f, -0.004586f, -0.005050f, -0.005351f, -0.005489f, -0.005468f, -0.005296f, -0.004984f, -0.004547f, -0.004003f, -0.003369f, -0.002667f, -0.001918f, -0.001143f, -0.000364f, 0.000399f, 0.001128f, + 0.001804f, 0.002412f, 0.002941f, 0.003381f, 0.003724f, 0.003967f, 0.004108f, 0.004150f, 0.004096f, 0.003954f, 0.003734f, 0.003444f, 0.003099f, 0.002712f, 0.002295f, 0.001864f, 0.001431f, 0.001011f, 0.000614f, 0.000253f, -0.000065f, -0.000333f, -0.000544f, -0.000697f, -0.000789f, -0.000823f, -0.000802f, -0.000729f, -0.000612f, -0.000459f, -0.000277f, -0.000077f, 0.000132f, 0.000340f, 0.000538f, 0.000717f, 0.000871f, 0.000991f, 0.001075f, 0.001117f, 0.001116f, 0.001073f, 0.000988f, 0.000866f, 0.000710f, 0.000528f, 0.000325f, 0.000110f, 0.004325f, 0.038062f, 0.020580f, -0.024641f, -0.010812f, 0.065193f, 0.106067f, 0.011613f, -0.082134f, -0.198732f, -0.130452f, -0.044671f, 0.099718f, -0.096835f, -0.057591f, -0.027115f, 0.073916f, 0.130933f, 0.339398f, -0.032221f, -0.083327f, -0.075477f, -0.011526f, 0.011000f, 0.186231f, 0.095079f, 0.087461f, -0.057836f, -0.177390f, -0.100523f, -0.090915f, 0.056568f, 0.079578f, 0.127256f, -0.011849f, -0.101805f, -0.152564f, -0.064817f, -0.032282f, 0.024912f, 0.071233f, 0.080544f, -0.003501f, -0.087247f, -0.076317f, -0.035437f, 0.035623f, 0.024788f, + -0.091994f, -0.079745f, 0.020901f, 0.074127f, 0.043623f, 0.064571f, -0.010169f, -0.064132f, -0.009114f, -0.068800f, 0.047633f, -0.142630f, 0.105867f, 0.093698f, -0.096038f, -0.167419f, 0.026841f, -0.110855f, -0.091647f, 0.073117f, -0.032957f, -0.056334f, -0.156696f, -0.014605f, 0.194360f, 0.437939f, 0.198456f, -0.047092f, -0.274072f, -0.198778f, -0.026182f, 0.206621f, 0.301615f, 0.217354f, -0.072622f, -0.197400f, -0.081358f, 0.030432f, 0.033997f, 0.021622f, -0.034318f, -0.063383f, -0.118311f, -0.018524f, 0.101311f, 0.212623f, 0.162632f, 0.016773f, -0.165046f, -0.273346f, -0.193594f, -0.000947f, 0.245901f, 0.378040f, 0.174211f, -0.055126f, -0.339109f, -0.345752f, -0.166324f, 0.090062f, 0.198502f, 0.178359f, 0.053506f, 0.023101f, -0.108601f, 0.021106f, 0.102141f, 0.119987f, -0.125830f, -0.180442f, -0.053532f, 0.089257f, 0.129860f, 0.068003f, -0.005655f, -0.170720f, -0.174745f, -0.116848f, 0.079347f, 0.218131f, 0.247059f, 0.053708f, -0.177930f, -0.357342f, -0.276339f, -0.023190f, 0.259482f, 0.433787f, 0.279328f, -0.065102f, -0.348322f, -0.387358f, -0.207420f, 0.119153f, 0.252331f, 0.194574f, + 0.095594f, -0.038457f, -0.090909f, -0.118740f, -0.055565f, 0.031000f, 0.086467f, 0.084120f, 0.031550f, -0.075907f, -0.066799f, -0.104845f, -0.014430f, 0.057053f, 0.115622f, 0.073755f, -0.050623f, -0.130727f, -0.127212f, -0.045579f, 0.068296f, 0.153761f, 0.099787f, -0.039918f, -0.060346f, -0.051542f, -0.052361f, -0.034906f, 0.018428f, 0.057516f, 0.043171f, 0.014680f, -0.035625f, -0.083127f, -0.036201f, -0.088496f, -0.099303f, 0.059697f, 0.122499f, 0.100904f, -0.025937f, -0.084272f, -0.077960f, 0.016659f, 0.062050f, 0.062134f, -0.001570f, -0.034258f, -0.042715f, -0.004483f, 0.021577f, 0.044006f, 0.013080f, -0.014641f, -0.038426f, -0.002938f, 0.029375f, 0.025165f, -0.023109f, -0.009682f, 0.008798f, 0.010358f, -0.006268f, 0.004481f, -0.003225f, 0.007309f, -0.004619f, 0.004374f, -0.002460f, 0.005010f, -0.003899f, 0.006250f, -0.002826f, 0.004784f, -0.001410f, 0.005846f, -0.006009f, 0.007681f, -0.002530f, 0.001607f, -0.004596f, 0.001338f, -0.004160f, 0.002091f, -0.002249f, 0.002802f, -0.001929f, 0.007748f, -0.004506f, 0.003110f, -0.007015f, 0.005977f, -0.005323f, 0.004130f, -0.003102f, 0.003839f} + }, + { + {-0.002413f, -0.007177f, -0.011763f, -0.016054f, -0.019947f, -0.023348f, -0.026178f, -0.028375f, -0.029895f, -0.030714f, -0.030827f, -0.030250f, -0.029018f, -0.027181f, -0.024809f, -0.021981f, -0.018790f, -0.015333f, -0.011714f, -0.008037f, -0.004401f, -0.000904f, 0.002368f, 0.005338f, 0.007945f, 0.010139f, 0.011889f, 0.013178f, 0.014007f, 0.014391f, 0.014362f, 0.013961f, 0.013244f, 0.012273f, 0.011117f, 0.009849f, 0.008539f, 0.007259f, 0.006075f, 0.005045f, 0.004218f, 0.003634f, 0.003320f, 0.003292f, 0.003551f, 0.004089f, 0.004883f, 0.005903f, 0.007108f, 0.008451f, 0.009879f, 0.011338f, 0.012772f, 0.014126f, 0.015352f, 0.016405f, 0.017248f, 0.017852f, 0.018199f, 0.018280f, 0.018097f, 0.017660f, 0.016992f, 0.016120f, 0.015081f, 0.013916f, 0.012669f, 0.011387f, 0.010116f, 0.008899f, 0.007777f, 0.006782f, 0.005944f, 0.005281f, 0.004804f, 0.004514f, 0.004406f, 0.004463f, 0.004663f, 0.004976f, 0.005367f, 0.005799f, 0.006230f, 0.006622f, 0.006935f, 0.007134f, 0.007190f, 0.007081f, 0.006789f, 0.006309f, 0.005642f, 0.004801f, 0.003804f, 0.002681f, 0.001468f, 0.000206f, + -0.001057f, -0.002273f, -0.003391f, -0.004362f, -0.005139f, -0.005679f, -0.005949f, -0.005920f, -0.005574f, -0.004904f, -0.003912f, -0.002610f, -0.001024f, 0.000814f, 0.002859f, 0.005061f, 0.007363f, 0.009703f, 0.012018f, 0.014242f, 0.016313f, 0.018172f, 0.019765f, 0.021045f, 0.021975f, 0.022526f, 0.022681f, 0.022434f, 0.021790f, 0.020765f, 0.019385f, 0.017686f, 0.015712f, 0.013513f, 0.011145f, 0.008666f, 0.006135f, 0.003611f, 0.001151f, -0.001192f, -0.003373f, -0.005351f, -0.007095f, -0.008580f, -0.009793f, -0.010727f, -0.011384f, -0.011776f, -0.011920f, -0.011840f, -0.011563f, -0.011123f, -0.010552f, -0.009886f, -0.009157f, -0.008398f, -0.007636f, -0.006896f, -0.006197f, -0.005553f, -0.004972f, -0.004458f, -0.004008f, -0.003616f, -0.003271f, -0.002959f, -0.002665f, -0.002371f, -0.002061f, -0.001720f, -0.001334f, -0.000894f, -0.000392f, 0.000174f, 0.000801f, 0.001483f, 0.002208f, 0.002960f, 0.003721f, 0.004468f, 0.005178f, 0.005827f, 0.006389f, 0.006842f, 0.007166f, 0.007342f, 0.007358f, 0.007206f, 0.006882f, 0.006391f, 0.005742f, 0.004949f, 0.004032f, 0.003017f, 0.001932f, 0.000809f, + -0.000319f, -0.001416f, -0.002451f, -0.003390f, -0.004206f, -0.004874f, -0.005375f, -0.005695f, -0.005827f, -0.005770f, -0.005531f, -0.005123f, -0.004563f, -0.003876f, -0.003091f, -0.002239f, -0.001355f, -0.000473f, 0.000372f, 0.001148f, 0.001824f, 0.002375f, 0.002781f, 0.003027f, 0.003104f, 0.003011f, 0.002753f, 0.002342f, 0.001795f, 0.001137f, 0.000393f, -0.000404f, -0.001221f, -0.002025f, -0.002782f, -0.003461f, -0.004032f, -0.004472f, -0.004761f, -0.004886f, -0.004839f, -0.004619f, -0.004235f, -0.003697f, -0.003026f, -0.002244f, -0.001380f, -0.000466f, -0.000615f, -0.021191f, 0.027880f, 0.012174f, 0.032338f, -0.054992f, 0.011160f, -0.023717f, -0.040512f, 0.010908f, 0.085733f, 0.035783f, 0.048874f, 0.056802f, 0.031973f, 0.031169f, 0.042248f, 0.148670f, 0.144374f, -0.094051f, -0.074670f, 0.080443f, 0.071192f, 0.060975f, -0.051582f, -0.011649f, -0.064562f, -0.058762f, -0.021654f, 0.049947f, 0.086487f, -0.021086f, -0.079879f, -0.023443f, 0.046919f, 0.080546f, 0.076935f, 0.005172f, -0.051518f, -0.030896f, 0.017684f, 0.041659f, 0.021894f, 0.015478f, -0.074044f, -0.043204f, -0.052144f, -0.021901f, + -0.054245f, 0.013077f, 0.053051f, 0.081595f, -0.063261f, -0.031584f, -0.113133f, 0.008047f, 0.038664f, 0.118693f, -0.004410f, 0.077017f, -0.103930f, -0.081495f, 0.003826f, 0.124312f, 0.050884f, 0.151746f, 0.094586f, -0.030841f, -0.107123f, -0.098013f, -0.055043f, 0.042530f, 0.084145f, -0.010977f, -0.026112f, -0.073697f, -0.151197f, -0.145617f, 0.038560f, 0.236814f, 0.255649f, 0.130794f, -0.120527f, -0.269751f, -0.195657f, -0.007831f, 0.208284f, 0.211839f, 0.124481f, -0.119691f, -0.185847f, -0.250728f, -0.124480f, 0.172273f, 0.240133f, 0.139943f, -0.084784f, -0.203705f, -0.115258f, 0.048286f, 0.137808f, 0.117562f, -0.045046f, -0.165917f, -0.125860f, 0.050754f, 0.210969f, 0.243112f, 0.023364f, -0.223044f, -0.264048f, -0.023971f, 0.182798f, 0.357620f, 0.336762f, -0.089491f, -0.361557f, -0.268941f, 0.033550f, 0.314113f, 0.336011f, 0.169341f, -0.085608f, -0.318431f, -0.253429f, -0.064344f, 0.199461f, 0.264282f, 0.179393f, -0.083483f, -0.222066f, -0.192701f, -0.004908f, 0.165831f, 0.198551f, 0.012269f, -0.158841f, -0.161697f, -0.044380f, 0.138979f, 0.174485f, -0.016049f, -0.161850f, -0.203848f, + -0.080865f, 0.100964f, 0.260636f, 0.163338f, -0.061272f, -0.230647f, -0.219669f, -0.071659f, 0.126849f, 0.250508f, 0.243999f, 0.015787f, -0.212824f, -0.321049f, -0.177592f, 0.088023f, 0.321437f, 0.290189f, 0.050094f, -0.234798f, -0.321695f, -0.226345f, 0.084210f, 0.251862f, 0.265496f, 0.138093f, -0.064518f, -0.178604f, -0.172685f, -0.030430f, 0.079900f, 0.157663f, 0.077999f, 0.015414f, -0.124574f, 0.006968f, 0.164962f, 0.085234f, -0.024024f, -0.142999f, -0.114214f, -0.029137f, 0.091986f, 0.101595f, 0.046692f, -0.061337f, -0.097706f, -0.072977f, 0.023678f, 0.081482f, 0.076747f, -0.015231f, -0.078642f, -0.077566f, 0.025165f, 0.081296f, 0.034390f, -0.067929f, -0.030864f, 0.025283f, 0.020473f, -0.015586f, -0.001156f, -0.003147f, 0.001510f, -0.008340f, 0.001776f, -0.006130f, 0.004503f, -0.004098f, 0.003664f, -0.004185f, 0.000306f, -0.003483f, 0.008412f, -0.004797f, 0.002505f, -0.003378f, 0.004609f, -0.004696f, 0.001396f, -0.003903f, 0.001049f, -0.006249f, 0.004345f, -0.002750f, 0.004282f, -0.007419f, 0.006100f, -0.002088f, 0.004488f, -0.000247f, 0.006924f, -0.006715f, 0.004240f, -0.005750f}, + {-0.002413f, -0.007177f, -0.011763f, -0.016054f, -0.019947f, -0.023348f, -0.026178f, -0.028375f, -0.029895f, -0.030714f, -0.030827f, -0.030250f, -0.029018f, -0.027181f, -0.024809f, -0.021981f, -0.018790f, -0.015333f, -0.011714f, -0.008037f, -0.004401f, -0.000904f, 0.002368f, 0.005338f, 0.007945f, 0.010139f, 0.011889f, 0.013178f, 0.014007f, 0.014391f, 0.014362f, 0.013961f, 0.013244f, 0.012273f, 0.011117f, 0.009849f, 0.008539f, 0.007259f, 0.006075f, 0.005045f, 0.004218f, 0.003634f, 0.003320f, 0.003292f, 0.003551f, 0.004089f, 0.004883f, 0.005903f, 0.007108f, 0.008451f, 0.009879f, 0.011338f, 0.012772f, 0.014126f, 0.015352f, 0.016405f, 0.017248f, 0.017852f, 0.018199f, 0.018280f, 0.018097f, 0.017660f, 0.016992f, 0.016120f, 0.015081f, 0.013916f, 0.012669f, 0.011387f, 0.010116f, 0.008899f, 0.007777f, 0.006782f, 0.005944f, 0.005281f, 0.004804f, 0.004514f, 0.004406f, 0.004463f, 0.004663f, 0.004976f, 0.005367f, 0.005799f, 0.006230f, 0.006622f, 0.006935f, 0.007134f, 0.007190f, 0.007081f, 0.006789f, 0.006309f, 0.005642f, 0.004801f, 0.003804f, 0.002681f, 0.001468f, 0.000206f, + -0.001057f, -0.002273f, -0.003391f, -0.004362f, -0.005139f, -0.005679f, -0.005949f, -0.005920f, -0.005574f, -0.004904f, -0.003912f, -0.002610f, -0.001024f, 0.000814f, 0.002859f, 0.005061f, 0.007363f, 0.009703f, 0.012018f, 0.014242f, 0.016313f, 0.018172f, 0.019765f, 0.021045f, 0.021975f, 0.022526f, 0.022681f, 0.022434f, 0.021790f, 0.020765f, 0.019385f, 0.017686f, 0.015712f, 0.013513f, 0.011145f, 0.008666f, 0.006135f, 0.003611f, 0.001151f, -0.001192f, -0.003373f, -0.005351f, -0.007095f, -0.008580f, -0.009793f, -0.010727f, -0.011384f, -0.011776f, -0.011920f, -0.011840f, -0.011563f, -0.011123f, -0.010552f, -0.009886f, -0.009157f, -0.008398f, -0.007636f, -0.006896f, -0.006197f, -0.005553f, -0.004972f, -0.004458f, -0.004008f, -0.003616f, -0.003271f, -0.002959f, -0.002665f, -0.002371f, -0.002061f, -0.001720f, -0.001334f, -0.000894f, -0.000392f, 0.000174f, 0.000801f, 0.001483f, 0.002208f, 0.002960f, 0.003721f, 0.004468f, 0.005178f, 0.005827f, 0.006389f, 0.006842f, 0.007166f, 0.007342f, 0.007358f, 0.007206f, 0.006882f, 0.006391f, 0.005742f, 0.004949f, 0.004032f, 0.003017f, 0.001932f, 0.000809f, + -0.000319f, -0.001416f, -0.002451f, -0.003390f, -0.004206f, -0.004874f, -0.005375f, -0.005695f, -0.005827f, -0.005770f, -0.005531f, -0.005123f, -0.004563f, -0.003876f, -0.003091f, -0.002239f, -0.001355f, -0.000473f, 0.000372f, 0.001148f, 0.001824f, 0.002375f, 0.002781f, 0.003027f, 0.003104f, 0.003011f, 0.002753f, 0.002342f, 0.001795f, 0.001137f, 0.000393f, -0.000404f, -0.001221f, -0.002025f, -0.002782f, -0.003461f, -0.004032f, -0.004472f, -0.004761f, -0.004886f, -0.004839f, -0.004619f, -0.004235f, -0.003697f, -0.003026f, -0.002244f, -0.001380f, -0.000466f, -0.000615f, -0.021191f, 0.027880f, 0.012174f, 0.032338f, -0.054992f, 0.011160f, -0.023717f, -0.040512f, 0.010908f, 0.085733f, 0.035783f, 0.048874f, 0.056802f, 0.031973f, 0.031169f, 0.042248f, 0.148670f, 0.144374f, -0.094051f, -0.074670f, 0.080443f, 0.071192f, 0.060975f, -0.051582f, -0.011649f, -0.064562f, -0.058762f, -0.021654f, 0.049947f, 0.086487f, -0.021086f, -0.079879f, -0.023443f, 0.046919f, 0.080546f, 0.076935f, 0.005172f, -0.051518f, -0.030896f, 0.017684f, 0.041659f, 0.021894f, 0.015478f, -0.074044f, -0.043204f, -0.052144f, -0.021901f, + -0.054245f, 0.013077f, 0.053051f, 0.081595f, -0.063261f, -0.031584f, -0.113133f, 0.008047f, 0.038664f, 0.118693f, -0.004410f, 0.077017f, -0.103930f, -0.081495f, 0.003826f, 0.124312f, 0.050884f, 0.151746f, 0.094586f, -0.030841f, -0.107123f, -0.098013f, -0.055043f, 0.042530f, 0.084145f, -0.010977f, -0.026112f, -0.073697f, -0.151197f, -0.145617f, 0.038560f, 0.236814f, 0.255649f, 0.130794f, -0.120527f, -0.269751f, -0.195657f, -0.007831f, 0.208284f, 0.211839f, 0.124481f, -0.119691f, -0.185847f, -0.250728f, -0.124480f, 0.172273f, 0.240133f, 0.139943f, -0.084784f, -0.203705f, -0.115258f, 0.048286f, 0.137808f, 0.117562f, -0.045046f, -0.165917f, -0.125860f, 0.050754f, 0.210969f, 0.243112f, 0.023364f, -0.223044f, -0.264048f, -0.023971f, 0.182798f, 0.357620f, 0.336762f, -0.089491f, -0.361557f, -0.268941f, 0.033550f, 0.314113f, 0.336011f, 0.169341f, -0.085608f, -0.318431f, -0.253429f, -0.064344f, 0.199461f, 0.264282f, 0.179393f, -0.083483f, -0.222066f, -0.192701f, -0.004908f, 0.165831f, 0.198551f, 0.012269f, -0.158841f, -0.161697f, -0.044380f, 0.138979f, 0.174485f, -0.016049f, -0.161850f, -0.203848f, + -0.080865f, 0.100964f, 0.260636f, 0.163338f, -0.061272f, -0.230647f, -0.219669f, -0.071659f, 0.126849f, 0.250508f, 0.243999f, 0.015787f, -0.212824f, -0.321049f, -0.177592f, 0.088023f, 0.321437f, 0.290189f, 0.050094f, -0.234798f, -0.321695f, -0.226345f, 0.084210f, 0.251862f, 0.265496f, 0.138093f, -0.064518f, -0.178604f, -0.172685f, -0.030430f, 0.079900f, 0.157663f, 0.077999f, 0.015414f, -0.124574f, 0.006968f, 0.164962f, 0.085234f, -0.024024f, -0.142999f, -0.114214f, -0.029137f, 0.091986f, 0.101595f, 0.046692f, -0.061337f, -0.097706f, -0.072977f, 0.023678f, 0.081482f, 0.076747f, -0.015231f, -0.078642f, -0.077566f, 0.025165f, 0.081296f, 0.034390f, -0.067929f, -0.030864f, 0.025283f, 0.020473f, -0.015586f, -0.001156f, -0.003147f, 0.001510f, -0.008340f, 0.001776f, -0.006130f, 0.004503f, -0.004098f, 0.003664f, -0.004185f, 0.000306f, -0.003483f, 0.008412f, -0.004797f, 0.002505f, -0.003378f, 0.004609f, -0.004696f, 0.001396f, -0.003903f, 0.001049f, -0.006249f, 0.004345f, -0.002750f, 0.004282f, -0.007419f, 0.006100f, -0.002088f, 0.004488f, -0.000247f, 0.006924f, -0.006715f, 0.004240f, -0.005750f} + }, + { + {-0.000629f, -0.001876f, -0.003086f, -0.004238f, -0.005309f, -0.006281f, -0.007137f, -0.007864f, -0.008450f, -0.008890f, -0.009180f, -0.009320f, -0.009315f, -0.009171f, -0.008900f, -0.008514f, -0.008029f, -0.007460f, -0.006826f, -0.006145f, -0.005435f, -0.004713f, -0.003994f, -0.003292f, -0.002620f, -0.001986f, -0.001396f, -0.000854f, -0.000358f, 0.000093f, 0.000506f, 0.000888f, 0.001251f, 0.001607f, 0.001968f, 0.002348f, 0.002760f, 0.003218f, 0.003733f, 0.004313f, 0.004966f, 0.005696f, 0.006502f, 0.007382f, 0.008328f, 0.009330f, 0.010372f, 0.011438f, 0.012504f, 0.013549f, 0.014546f, 0.015468f, 0.016288f, 0.016979f, 0.017514f, 0.017870f, 0.018024f, 0.017960f, 0.017664f, 0.017126f, 0.016343f, 0.015318f, 0.014057f, 0.012575f, 0.010890f, 0.009026f, 0.007012f, 0.004880f, 0.002668f, 0.000413f, -0.001845f, -0.004064f, -0.006205f, -0.008229f, -0.010102f, -0.011790f, -0.013267f, -0.014510f, -0.015503f, -0.016234f, -0.016701f, -0.016906f, -0.016859f, -0.016573f, -0.016072f, -0.015380f, -0.014527f, -0.013548f, -0.012477f, -0.011352f, -0.010209f, -0.009085f, -0.008012f, -0.007022f, -0.006141f, -0.005391f, + -0.004787f, -0.004341f, -0.004057f, -0.003932f, -0.003959f, -0.004124f, -0.004408f, -0.004789f, -0.005239f, -0.005729f, -0.006227f, -0.006703f, -0.007125f, -0.007464f, -0.007694f, -0.007791f, -0.007738f, -0.007521f, -0.007133f, -0.006573f, -0.005847f, -0.004964f, -0.003944f, -0.002806f, -0.001580f, -0.000296f, 0.001013f, 0.002311f, 0.003562f, 0.004729f, 0.005778f, 0.006679f, 0.007404f, 0.007929f, 0.008238f, 0.008319f, 0.008169f, 0.007789f, 0.007189f, 0.006385f, 0.005397f, 0.004255f, 0.002989f, 0.001637f, 0.000237f, -0.001170f, -0.002545f, -0.003846f, -0.005036f, -0.006080f, -0.006947f, -0.007613f, -0.008058f, -0.008269f, -0.008240f, -0.007971f, -0.007471f, -0.006754f, -0.005840f, -0.004756f, -0.003532f, -0.002203f, -0.000807f, 0.000619f, 0.002035f, 0.003402f, 0.004684f, 0.005848f, 0.006865f, 0.007710f, 0.008363f, 0.008811f, 0.009047f, 0.009069f, 0.008884f, 0.008501f, 0.007938f, 0.007215f, 0.006357f, 0.005391f, 0.004350f, 0.003262f, 0.002161f, 0.001077f, 0.000037f, -0.000931f, -0.001804f, -0.002565f, -0.003197f, -0.003693f, -0.004045f, -0.004256f, -0.004328f, -0.004271f, -0.004097f, -0.003821f, + -0.003462f, -0.003040f, -0.002574f, -0.002087f, -0.001599f, -0.001129f, -0.000694f, -0.000309f, 0.000014f, 0.000266f, 0.000442f, 0.000539f, 0.000560f, 0.000508f, 0.000391f, 0.000219f, 0.000002f, -0.000245f, -0.000509f, -0.000777f, -0.001035f, -0.001269f, -0.001471f, -0.001629f, -0.001737f, -0.001790f, -0.001787f, -0.001728f, -0.001616f, -0.001456f, -0.001255f, -0.001023f, -0.000770f, -0.000505f, -0.000242f, 0.000010f, 0.000241f, 0.000440f, 0.000602f, 0.000719f, 0.000789f, 0.000810f, 0.000782f, 0.000710f, 0.000598f, 0.000452f, 0.000281f, 0.000096f, 0.003833f, -0.002393f, -0.001550f, -0.010768f, 0.032629f, 0.011306f, -0.044284f, 0.018314f, 0.003978f, 0.038048f, 0.006921f, -0.071210f, -0.029689f, -0.044542f, -0.099327f, 0.020127f, 0.098187f, 0.091075f, 0.086575f, -0.042671f, 0.007877f, 0.078891f, 0.084995f, 0.054082f, -0.021638f, -0.048082f, -0.022392f, -0.071858f, -0.067982f, -0.059163f, 0.033391f, 0.127379f, 0.007895f, 0.018223f, 0.005708f, -0.047327f, -0.074037f, 0.045486f, 0.080097f, 0.109529f, 0.075418f, 0.024993f, -0.049446f, -0.061939f, -0.038186f, 0.006499f, 0.027318f, 0.040559f, + -0.033439f, -0.035134f, -0.033588f, -0.020991f, -0.034200f, 0.145024f, 0.003104f, 0.062410f, -0.002398f, -0.055186f, -0.153519f, 0.085516f, 0.013526f, 0.050198f, 0.080210f, -0.026815f, -0.080563f, -0.105866f, 0.039693f, 0.079955f, 0.053818f, 0.007022f, -0.049899f, -0.040756f, -0.090243f, -0.096030f, 0.014919f, 0.099631f, 0.049712f, -0.117783f, -0.104527f, -0.047732f, -0.058681f, 0.011162f, 0.071316f, 0.042627f, -0.104107f, -0.123039f, -0.013747f, 0.203720f, 0.300154f, 0.163747f, -0.071562f, -0.218673f, -0.226938f, -0.051208f, 0.155922f, 0.185269f, 0.051669f, -0.059647f, -0.090049f, -0.032626f, 0.023640f, 0.050562f, 0.020662f, 0.021180f, -0.064624f, -0.074480f, -0.033960f, 0.015714f, 0.109849f, 0.132771f, 0.140950f, -0.014645f, -0.158302f, -0.188966f, 0.057032f, 0.035205f, 0.090630f, 0.127866f, 0.070389f, -0.005047f, -0.151082f, -0.039095f, 0.060604f, 0.101319f, 0.155564f, 0.015911f, -0.077633f, -0.120064f, -0.128551f, -0.103619f, 0.069509f, 0.194971f, 0.254877f, 0.084847f, -0.134256f, -0.334629f, -0.222454f, 0.004266f, 0.210033f, 0.251997f, 0.137596f, -0.119336f, -0.256430f, -0.239825f, + -0.025960f, 0.182839f, 0.278925f, 0.086432f, -0.206817f, -0.257206f, -0.181695f, 0.010354f, 0.202964f, 0.229244f, 0.098833f, -0.087026f, -0.181307f, -0.141921f, -0.048110f, 0.075799f, 0.114635f, 0.060613f, -0.007091f, -0.085373f, -0.082937f, -0.027346f, 0.088356f, 0.139427f, 0.092503f, -0.030368f, -0.103502f, -0.107065f, -0.020528f, 0.052644f, 0.128449f, 0.060539f, -0.024419f, -0.053943f, -0.053067f, 0.104894f, 0.110330f, -0.030292f, -0.137751f, -0.137278f, 0.001888f, 0.123472f, 0.133148f, -0.007019f, -0.129875f, -0.123791f, 0.026745f, 0.121553f, 0.087812f, -0.059539f, -0.115914f, -0.041189f, 0.084327f, 0.080379f, -0.023472f, -0.085842f, -0.004187f, 0.058332f, 0.012800f, -0.041715f, -0.000345f, 0.009540f, 0.000671f, -0.007229f, 0.003356f, -0.001562f, 0.003583f, -0.001390f, 0.004748f, -0.004077f, 0.001544f, -0.004733f, -0.001209f, -0.004578f, 0.003593f, -0.002046f, 0.008076f, -0.006694f, 0.003824f, -0.000642f, 0.003010f, -0.005633f, 0.003952f, -0.007572f, 0.002614f, -0.004205f, 0.006070f, -0.002496f, 0.004053f, -0.001677f, 0.001551f, -0.006302f, 0.004819f, -0.002902f, 0.002256f, -0.003500f}, + {-0.000629f, -0.001876f, -0.003086f, -0.004238f, -0.005309f, -0.006281f, -0.007137f, -0.007864f, -0.008450f, -0.008890f, -0.009180f, -0.009320f, -0.009315f, -0.009171f, -0.008900f, -0.008514f, -0.008029f, -0.007460f, -0.006826f, -0.006145f, -0.005435f, -0.004713f, -0.003994f, -0.003292f, -0.002620f, -0.001986f, -0.001396f, -0.000854f, -0.000358f, 0.000093f, 0.000506f, 0.000888f, 0.001251f, 0.001607f, 0.001968f, 0.002348f, 0.002760f, 0.003218f, 0.003733f, 0.004313f, 0.004966f, 0.005696f, 0.006502f, 0.007382f, 0.008328f, 0.009330f, 0.010372f, 0.011438f, 0.012504f, 0.013549f, 0.014546f, 0.015468f, 0.016288f, 0.016979f, 0.017514f, 0.017870f, 0.018024f, 0.017960f, 0.017664f, 0.017126f, 0.016343f, 0.015318f, 0.014057f, 0.012575f, 0.010890f, 0.009026f, 0.007012f, 0.004880f, 0.002668f, 0.000413f, -0.001845f, -0.004064f, -0.006205f, -0.008229f, -0.010102f, -0.011790f, -0.013267f, -0.014510f, -0.015503f, -0.016234f, -0.016701f, -0.016906f, -0.016859f, -0.016573f, -0.016072f, -0.015380f, -0.014527f, -0.013548f, -0.012477f, -0.011352f, -0.010209f, -0.009085f, -0.008012f, -0.007022f, -0.006141f, -0.005391f, + -0.004787f, -0.004341f, -0.004057f, -0.003932f, -0.003959f, -0.004124f, -0.004408f, -0.004789f, -0.005239f, -0.005729f, -0.006227f, -0.006703f, -0.007125f, -0.007464f, -0.007694f, -0.007791f, -0.007738f, -0.007521f, -0.007133f, -0.006573f, -0.005847f, -0.004964f, -0.003944f, -0.002806f, -0.001580f, -0.000296f, 0.001013f, 0.002311f, 0.003562f, 0.004729f, 0.005778f, 0.006679f, 0.007404f, 0.007929f, 0.008238f, 0.008319f, 0.008169f, 0.007789f, 0.007189f, 0.006385f, 0.005397f, 0.004255f, 0.002989f, 0.001637f, 0.000237f, -0.001170f, -0.002545f, -0.003846f, -0.005036f, -0.006080f, -0.006947f, -0.007613f, -0.008058f, -0.008269f, -0.008240f, -0.007971f, -0.007471f, -0.006754f, -0.005840f, -0.004756f, -0.003532f, -0.002203f, -0.000807f, 0.000619f, 0.002035f, 0.003402f, 0.004684f, 0.005848f, 0.006865f, 0.007710f, 0.008363f, 0.008811f, 0.009047f, 0.009069f, 0.008884f, 0.008501f, 0.007938f, 0.007215f, 0.006357f, 0.005391f, 0.004350f, 0.003262f, 0.002161f, 0.001077f, 0.000037f, -0.000931f, -0.001804f, -0.002565f, -0.003197f, -0.003693f, -0.004045f, -0.004256f, -0.004328f, -0.004271f, -0.004097f, -0.003821f, + -0.003462f, -0.003040f, -0.002574f, -0.002087f, -0.001599f, -0.001129f, -0.000694f, -0.000309f, 0.000014f, 0.000266f, 0.000442f, 0.000539f, 0.000560f, 0.000508f, 0.000391f, 0.000219f, 0.000002f, -0.000245f, -0.000509f, -0.000777f, -0.001035f, -0.001269f, -0.001471f, -0.001629f, -0.001737f, -0.001790f, -0.001787f, -0.001728f, -0.001616f, -0.001456f, -0.001255f, -0.001023f, -0.000770f, -0.000505f, -0.000242f, 0.000010f, 0.000241f, 0.000440f, 0.000602f, 0.000719f, 0.000789f, 0.000810f, 0.000782f, 0.000710f, 0.000598f, 0.000452f, 0.000281f, 0.000096f, 0.003833f, -0.002393f, -0.001550f, -0.010768f, 0.032629f, 0.011306f, -0.044284f, 0.018314f, 0.003978f, 0.038048f, 0.006921f, -0.071210f, -0.029689f, -0.044542f, -0.099327f, 0.020127f, 0.098187f, 0.091075f, 0.086575f, -0.042671f, 0.007877f, 0.078891f, 0.084995f, 0.054082f, -0.021638f, -0.048082f, -0.022392f, -0.071858f, -0.067982f, -0.059163f, 0.033391f, 0.127379f, 0.007895f, 0.018223f, 0.005708f, -0.047327f, -0.074037f, 0.045486f, 0.080097f, 0.109529f, 0.075418f, 0.024993f, -0.049446f, -0.061939f, -0.038186f, 0.006499f, 0.027318f, 0.040559f, + -0.033439f, -0.035134f, -0.033588f, -0.020991f, -0.034200f, 0.145024f, 0.003104f, 0.062410f, -0.002398f, -0.055186f, -0.153519f, 0.085516f, 0.013526f, 0.050198f, 0.080210f, -0.026815f, -0.080563f, -0.105866f, 0.039693f, 0.079955f, 0.053818f, 0.007022f, -0.049899f, -0.040756f, -0.090243f, -0.096030f, 0.014919f, 0.099631f, 0.049712f, -0.117783f, -0.104527f, -0.047732f, -0.058681f, 0.011162f, 0.071316f, 0.042627f, -0.104107f, -0.123039f, -0.013747f, 0.203720f, 0.300154f, 0.163747f, -0.071562f, -0.218673f, -0.226938f, -0.051208f, 0.155922f, 0.185269f, 0.051669f, -0.059647f, -0.090049f, -0.032626f, 0.023640f, 0.050562f, 0.020662f, 0.021180f, -0.064624f, -0.074480f, -0.033960f, 0.015714f, 0.109849f, 0.132771f, 0.140950f, -0.014645f, -0.158302f, -0.188966f, 0.057032f, 0.035205f, 0.090630f, 0.127866f, 0.070389f, -0.005047f, -0.151082f, -0.039095f, 0.060604f, 0.101319f, 0.155564f, 0.015911f, -0.077633f, -0.120064f, -0.128551f, -0.103619f, 0.069509f, 0.194971f, 0.254877f, 0.084847f, -0.134256f, -0.334629f, -0.222454f, 0.004266f, 0.210033f, 0.251997f, 0.137596f, -0.119336f, -0.256430f, -0.239825f, + -0.025960f, 0.182839f, 0.278925f, 0.086432f, -0.206817f, -0.257206f, -0.181695f, 0.010354f, 0.202964f, 0.229244f, 0.098833f, -0.087026f, -0.181307f, -0.141921f, -0.048110f, 0.075799f, 0.114635f, 0.060613f, -0.007091f, -0.085373f, -0.082937f, -0.027346f, 0.088356f, 0.139427f, 0.092503f, -0.030368f, -0.103502f, -0.107065f, -0.020528f, 0.052644f, 0.128449f, 0.060539f, -0.024419f, -0.053943f, -0.053067f, 0.104894f, 0.110330f, -0.030292f, -0.137751f, -0.137278f, 0.001888f, 0.123472f, 0.133148f, -0.007019f, -0.129875f, -0.123791f, 0.026745f, 0.121553f, 0.087812f, -0.059539f, -0.115914f, -0.041189f, 0.084327f, 0.080379f, -0.023472f, -0.085842f, -0.004187f, 0.058332f, 0.012800f, -0.041715f, -0.000345f, 0.009540f, 0.000671f, -0.007229f, 0.003356f, -0.001562f, 0.003583f, -0.001390f, 0.004748f, -0.004077f, 0.001544f, -0.004733f, -0.001209f, -0.004578f, 0.003593f, -0.002046f, 0.008076f, -0.006694f, 0.003824f, -0.000642f, 0.003010f, -0.005633f, 0.003952f, -0.007572f, 0.002614f, -0.004205f, 0.006070f, -0.002496f, 0.004053f, -0.001677f, 0.001551f, -0.006302f, 0.004819f, -0.002902f, 0.002256f, -0.003500f} + } +}; +const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]={NULL,NULL}; + +/********************** Sample Rate = 32000 **********************/ + +const float CRendBin_HOA3_HRIR_latency_s_32kHz = 0.001333333319053f; +const int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz = 2; +const uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[16][BINAURAL_CHANNELS]={{2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2} }; +const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {0, 0}; +const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[16][BINAURAL_CHANNELS][2]={{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}},{{160, 160},{160, 160}}}; +const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz = 0; +const float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[16]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; +const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float CRendBin_HOA3_HRIR_coeff_re_32kHz[16][BINAURAL_CHANNELS][320]={ + { + {-0.008122f, -0.007933f, -0.007561f, -0.007019f, -0.006325f, -0.005502f, -0.004578f, -0.003583f, -0.002551f, -0.001514f, -0.000508f, 0.000436f, 0.001287f, 0.002019f, 0.002609f, 0.003042f, 0.003305f, 0.003394f, 0.003309f, 0.003059f, 0.002655f, 0.002117f, 0.001467f, 0.000733f, -0.000055f, -0.000865f, -0.001666f, -0.002426f, -0.003114f, -0.003702f, -0.004167f, -0.004490f, -0.004655f, -0.004654f, -0.004483f, -0.004147f, -0.003653f, -0.003014f, -0.002251f, -0.001386f, -0.000446f, 0.000542f, 0.001546f, 0.002537f, 0.003485f, 0.004362f, 0.005143f, 0.005806f, 0.006334f, 0.006713f, 0.006936f, 0.007001f, 0.006910f, 0.006671f, 0.006296f, 0.005802f, 0.005207f, 0.004535f, 0.003809f, 0.003054f, 0.002295f, 0.001555f, 0.000857f, 0.000219f, -0.000341f, -0.000811f, -0.001184f, -0.001453f, -0.001620f, -0.001687f, -0.001663f, -0.001559f, -0.001387f, -0.001163f, -0.000906f, -0.000631f, -0.000358f, -0.000102f, 0.000122f, 0.000300f, 0.000422f, 0.000482f, 0.000474f, 0.000400f, 0.000261f, 0.000064f, -0.000182f, -0.000465f, -0.000773f, -0.001091f, -0.001403f, -0.001693f, -0.001948f, -0.002154f, -0.002299f, -0.002376f, + -0.002377f, -0.002299f, -0.002145f, -0.001916f, -0.001620f, -0.001268f, -0.000871f, -0.000444f, -0.000003f, 0.000433f, 0.000849f, 0.001227f, 0.001551f, 0.001806f, 0.001982f, 0.002068f, 0.002059f, 0.001952f, 0.001747f, 0.001450f, 0.001067f, 0.000611f, 0.000093f, -0.000470f, -0.001062f, -0.001662f, -0.002254f, -0.002818f, -0.003338f, -0.003797f, -0.004183f, -0.004483f, -0.004691f, -0.004802f, -0.004815f, -0.004731f, -0.004556f, -0.004299f, -0.003971f, -0.003585f, -0.003155f, -0.002698f, -0.002230f, -0.001767f, -0.001324f, -0.000916f, -0.000554f, -0.000247f, -0.000004f, 0.000173f, 0.000281f, 0.000321f, 0.000299f, 0.000222f, 0.000097f, -0.000064f, -0.000250f, -0.000449f, -0.000647f, -0.000833f, -0.000997f, -0.001128f, -0.001220f, -0.001267f, 0.875363f, 0.116654f, -0.661817f, -0.826629f, -0.402369f, 0.289829f, 0.778345f, 0.686075f, 0.186222f, -0.492450f, -0.844907f, -0.700511f, -0.169182f, 0.555413f, 0.804353f, 0.562671f, -0.069029f, -0.621903f, -0.780365f, -0.388504f, 0.216008f, 0.700107f, 0.690873f, 0.205307f, -0.389038f, -0.709940f, -0.532071f, -0.008092f, 0.516830f, 0.685366f, 0.400172f, -0.156796f, + -0.610764f, -0.648564f, -0.248041f, 0.314656f, 0.668118f, 0.566683f, 0.102692f, -0.422984f, -0.610754f, -0.604667f, -0.119204f, 0.439597f, 0.716823f, 0.473525f, -0.083245f, -0.590438f, -0.675436f, -0.303597f, 0.280043f, 0.671094f, 0.603066f, 0.111790f, -0.450470f, -0.697038f, -0.454375f, 0.073947f, 0.530533f, 0.615953f, 0.269348f, -0.258327f, -0.597617f, -0.541078f, -0.092406f, 0.453139f, 0.669282f, 0.437777f, -0.105841f, -0.566799f, -0.652878f, -0.293692f, 0.267762f, 0.638830f, 0.583739f, 0.123852f, -0.428410f, -0.699716f, -0.472827f, 0.049668f, 0.530999f, 0.600521f, 0.268894f, -0.221661f, -0.602731f, -0.548789f, -0.120400f, 0.410229f, 0.655002f, 0.450774f, -0.057538f, -0.539000f, -0.637333f, -0.303133f, 0.211013f, 0.613957f, 0.587101f, 0.181641f, -0.310422f, -0.602883f, -0.500154f, -0.070393f, 0.393613f, 0.576259f, 0.389283f, -0.079276f, -0.470705f, -0.550184f, -0.251642f, 0.225426f, 0.561077f, 0.501491f, 0.089824f, -0.389292f, -0.615716f, -0.388263f, 0.088304f, 0.516718f, 0.604324f, 0.270485f, -0.263414f, -0.628216f, -0.543581f, -0.085300f, 0.418545f, 0.625778f, 0.397591f, -0.104349f, + -0.518155f, -0.566096f, -0.222967f, 0.251693f, 0.549767f, 0.465451f, 0.055175f, -0.371335f, -0.543778f, -0.348676f, 0.082121f, 0.464566f, 0.526323f, 0.227178f, -0.225699f, -0.514528f, -0.445148f, -0.074063f, 0.337702f, 0.505853f, 0.311651f, -0.096507f, -0.447922f, -0.480465f, -0.176267f, 0.237952f, 0.407723f, 0.224503f, -0.015059f, -0.056214f, -0.018457f, -0.003490f}, + {-0.008122f, -0.007933f, -0.007561f, -0.007019f, -0.006325f, -0.005502f, -0.004578f, -0.003583f, -0.002551f, -0.001514f, -0.000508f, 0.000436f, 0.001287f, 0.002019f, 0.002609f, 0.003042f, 0.003305f, 0.003394f, 0.003309f, 0.003059f, 0.002655f, 0.002117f, 0.001467f, 0.000733f, -0.000055f, -0.000865f, -0.001666f, -0.002426f, -0.003114f, -0.003702f, -0.004167f, -0.004490f, -0.004655f, -0.004654f, -0.004483f, -0.004147f, -0.003653f, -0.003014f, -0.002251f, -0.001386f, -0.000446f, 0.000542f, 0.001546f, 0.002537f, 0.003485f, 0.004362f, 0.005143f, 0.005806f, 0.006334f, 0.006713f, 0.006936f, 0.007001f, 0.006910f, 0.006671f, 0.006296f, 0.005802f, 0.005207f, 0.004535f, 0.003809f, 0.003054f, 0.002295f, 0.001555f, 0.000857f, 0.000219f, -0.000341f, -0.000811f, -0.001184f, -0.001453f, -0.001620f, -0.001687f, -0.001663f, -0.001559f, -0.001387f, -0.001163f, -0.000906f, -0.000631f, -0.000358f, -0.000102f, 0.000122f, 0.000300f, 0.000422f, 0.000482f, 0.000474f, 0.000400f, 0.000261f, 0.000064f, -0.000182f, -0.000465f, -0.000773f, -0.001091f, -0.001403f, -0.001693f, -0.001948f, -0.002154f, -0.002299f, -0.002376f, + -0.002377f, -0.002299f, -0.002145f, -0.001916f, -0.001620f, -0.001268f, -0.000871f, -0.000444f, -0.000003f, 0.000433f, 0.000849f, 0.001227f, 0.001551f, 0.001806f, 0.001982f, 0.002068f, 0.002059f, 0.001952f, 0.001747f, 0.001450f, 0.001067f, 0.000611f, 0.000093f, -0.000470f, -0.001062f, -0.001662f, -0.002254f, -0.002818f, -0.003338f, -0.003797f, -0.004183f, -0.004483f, -0.004691f, -0.004802f, -0.004815f, -0.004731f, -0.004556f, -0.004299f, -0.003971f, -0.003585f, -0.003155f, -0.002698f, -0.002230f, -0.001767f, -0.001324f, -0.000916f, -0.000554f, -0.000247f, -0.000004f, 0.000173f, 0.000281f, 0.000321f, 0.000299f, 0.000222f, 0.000097f, -0.000064f, -0.000250f, -0.000449f, -0.000647f, -0.000833f, -0.000997f, -0.001128f, -0.001220f, -0.001267f, 0.875363f, 0.116654f, -0.661817f, -0.826629f, -0.402369f, 0.289829f, 0.778345f, 0.686075f, 0.186222f, -0.492450f, -0.844907f, -0.700511f, -0.169182f, 0.555413f, 0.804353f, 0.562671f, -0.069029f, -0.621903f, -0.780365f, -0.388504f, 0.216008f, 0.700107f, 0.690873f, 0.205307f, -0.389038f, -0.709940f, -0.532071f, -0.008092f, 0.516830f, 0.685366f, 0.400172f, -0.156796f, + -0.610764f, -0.648564f, -0.248041f, 0.314656f, 0.668118f, 0.566683f, 0.102692f, -0.422984f, -0.610754f, -0.604667f, -0.119204f, 0.439597f, 0.716823f, 0.473525f, -0.083245f, -0.590438f, -0.675436f, -0.303597f, 0.280043f, 0.671094f, 0.603066f, 0.111790f, -0.450470f, -0.697038f, -0.454375f, 0.073947f, 0.530533f, 0.615953f, 0.269348f, -0.258327f, -0.597617f, -0.541078f, -0.092406f, 0.453139f, 0.669282f, 0.437777f, -0.105841f, -0.566799f, -0.652878f, -0.293692f, 0.267762f, 0.638830f, 0.583739f, 0.123852f, -0.428410f, -0.699716f, -0.472827f, 0.049668f, 0.530999f, 0.600521f, 0.268894f, -0.221661f, -0.602731f, -0.548789f, -0.120400f, 0.410229f, 0.655002f, 0.450774f, -0.057538f, -0.539000f, -0.637333f, -0.303133f, 0.211013f, 0.613957f, 0.587101f, 0.181641f, -0.310422f, -0.602883f, -0.500154f, -0.070393f, 0.393613f, 0.576259f, 0.389283f, -0.079276f, -0.470705f, -0.550184f, -0.251642f, 0.225426f, 0.561077f, 0.501491f, 0.089824f, -0.389292f, -0.615716f, -0.388263f, 0.088304f, 0.516718f, 0.604324f, 0.270485f, -0.263414f, -0.628216f, -0.543581f, -0.085300f, 0.418545f, 0.625778f, 0.397591f, -0.104349f, + -0.518155f, -0.566096f, -0.222967f, 0.251693f, 0.549767f, 0.465451f, 0.055175f, -0.371335f, -0.543778f, -0.348676f, 0.082121f, 0.464566f, 0.526323f, 0.227178f, -0.225699f, -0.514528f, -0.445148f, -0.074063f, 0.337702f, 0.505853f, 0.311651f, -0.096507f, -0.447922f, -0.480465f, -0.176267f, 0.237952f, 0.407723f, 0.224503f, -0.015059f, -0.056214f, -0.018457f, -0.003490f} + }, + { + {-0.000273f, -0.000358f, -0.000520f, -0.000746f, -0.001017f, -0.001307f, -0.001588f, -0.001829f, -0.001995f, -0.002055f, -0.001978f, -0.001734f, -0.001302f, -0.000663f, 0.000193f, 0.001268f, 0.002558f, 0.004048f, 0.005715f, 0.007530f, 0.009455f, 0.011446f, 0.013453f, 0.015426f, 0.017308f, 0.019047f, 0.020590f, 0.021887f, 0.022896f, 0.023579f, 0.023907f, 0.023862f, 0.023434f, 0.022624f, 0.021445f, 0.019919f, 0.018078f, 0.015965f, 0.013629f, 0.011127f, 0.008519f, 0.005871f, 0.003246f, 0.000710f, -0.001675f, -0.003854f, -0.005775f, -0.007396f, -0.008683f, -0.009612f, -0.010172f, -0.010358f, -0.010181f, -0.009660f, -0.008823f, -0.007708f, -0.006360f, -0.004829f, -0.003170f, -0.001440f, 0.000303f, 0.002004f, 0.003609f, 0.005069f, 0.006343f, 0.007396f, 0.008199f, 0.008735f, 0.008995f, 0.008977f, 0.008692f, 0.008155f, 0.007392f, 0.006432f, 0.005312f, 0.004071f, 0.002750f, 0.001393f, 0.000042f, -0.001263f, -0.002485f, -0.003591f, -0.004554f, -0.005353f, -0.005972f, -0.006402f, -0.006643f, -0.006697f, -0.006575f, -0.006293f, -0.005870f, -0.005329f, -0.004695f, -0.003995f, -0.003257f, -0.002507f, + -0.001769f, -0.001065f, -0.000415f, 0.000165f, 0.000666f, 0.001078f, 0.001399f, 0.001631f, 0.001776f, 0.001844f, 0.001843f, 0.001787f, 0.001687f, 0.001558f, 0.001413f, 0.001264f, 0.001122f, 0.000996f, 0.000892f, 0.000814f, 0.000763f, 0.000737f, 0.000731f, 0.000741f, 0.000757f, 0.000769f, 0.000769f, 0.000746f, 0.000689f, 0.000591f, 0.000444f, 0.000243f, -0.000014f, -0.000327f, -0.000694f, -0.001108f, -0.001561f, -0.002042f, -0.002539f, -0.003036f, -0.003519f, -0.003972f, -0.004378f, -0.004724f, -0.004996f, -0.005184f, -0.005280f, -0.005277f, -0.005175f, -0.004976f, -0.004683f, -0.004307f, -0.003859f, -0.003353f, -0.002807f, -0.002238f, -0.001667f, -0.001113f, -0.000596f, -0.000133f, 0.000259f, 0.000565f, 0.000776f, 0.000883f, 0.102988f, 0.341294f, 0.254497f, -0.391906f, -0.862557f, -0.540368f, 0.349671f, 0.909254f, 0.676052f, 0.030677f, -0.331228f, -0.698406f, -0.236689f, 0.264785f, 0.600240f, 0.465461f, 0.109871f, -0.428379f, -0.589347f, -0.409218f, 0.076928f, 0.452763f, 0.603311f, 0.262857f, -0.271601f, -0.610935f, -0.493932f, -0.122155f, 0.375662f, 0.622425f, 0.459174f, 0.035767f, + -0.486155f, -0.663043f, -0.415330f, 0.142677f, 0.611402f, 0.749182f, 0.314569f, -0.330349f, -0.813922f, -0.564511f, 0.020420f, 0.618496f, 0.798240f, 0.435640f, -0.247700f, -0.750185f, -0.723652f, -0.187242f, 0.431441f, 0.772596f, 0.577686f, 0.009311f, -0.603223f, -0.759479f, -0.425338f, 0.190884f, 0.627938f, 0.666650f, 0.216790f, -0.369183f, -0.713871f, -0.577661f, -0.064936f, 0.453506f, 0.809723f, 0.611234f, -0.008242f, -0.638253f, -0.817010f, -0.472566f, 0.229487f, 0.747722f, 0.795789f, 0.274994f, -0.439120f, -0.845736f, -0.712702f, -0.055994f, 0.602465f, 0.787324f, 0.465691f, -0.137828f, -0.712394f, -0.747138f, -0.262637f, 0.413301f, 0.820724f, 0.650333f, 0.053666f, -0.552595f, -0.818269f, -0.501577f, 0.101368f, 0.679716f, 0.757179f, 0.347880f, -0.300844f, -0.727271f, -0.653682f, -0.124663f, 0.485844f, 0.739138f, 0.521417f, -0.083320f, -0.616491f, -0.729258f, -0.286947f, 0.330731f, 0.741294f, 0.603318f, 0.068560f, -0.526770f, -0.754496f, -0.425907f, 0.209026f, 0.689311f, 0.734710f, 0.282736f, -0.390827f, -0.764154f, -0.614101f, -0.059215f, 0.532938f, 0.757470f, 0.441552f, -0.155480f, + -0.624627f, -0.635188f, -0.220928f, 0.326989f, 0.664776f, 0.523404f, 0.026833f, -0.479936f, -0.651236f, -0.388414f, 0.141286f, 0.583351f, 0.618613f, 0.235517f, -0.300328f, -0.635007f, -0.514926f, -0.030010f, 0.455951f, 0.619030f, 0.363555f, -0.164710f, -0.576657f, -0.579246f, -0.183449f, 0.328783f, 0.516179f, 0.267201f, -0.030584f, -0.073694f, -0.023572f, -0.004919f}, + {0.000273f, 0.000358f, 0.000520f, 0.000746f, 0.001017f, 0.001307f, 0.001588f, 0.001829f, 0.001995f, 0.002055f, 0.001978f, 0.001734f, 0.001302f, 0.000663f, -0.000193f, -0.001268f, -0.002558f, -0.004048f, -0.005715f, -0.007530f, -0.009455f, -0.011446f, -0.013453f, -0.015426f, -0.017308f, -0.019047f, -0.020590f, -0.021887f, -0.022896f, -0.023579f, -0.023907f, -0.023862f, -0.023434f, -0.022624f, -0.021445f, -0.019919f, -0.018078f, -0.015965f, -0.013629f, -0.011127f, -0.008519f, -0.005871f, -0.003246f, -0.000710f, 0.001675f, 0.003854f, 0.005775f, 0.007396f, 0.008683f, 0.009612f, 0.010172f, 0.010358f, 0.010181f, 0.009660f, 0.008823f, 0.007708f, 0.006360f, 0.004829f, 0.003170f, 0.001440f, -0.000303f, -0.002004f, -0.003609f, -0.005069f, -0.006343f, -0.007396f, -0.008199f, -0.008735f, -0.008995f, -0.008977f, -0.008692f, -0.008155f, -0.007392f, -0.006432f, -0.005312f, -0.004071f, -0.002750f, -0.001393f, -0.000042f, 0.001263f, 0.002485f, 0.003591f, 0.004554f, 0.005353f, 0.005972f, 0.006402f, 0.006643f, 0.006697f, 0.006575f, 0.006293f, 0.005870f, 0.005329f, 0.004695f, 0.003995f, 0.003257f, 0.002507f, + 0.001769f, 0.001065f, 0.000415f, -0.000165f, -0.000666f, -0.001078f, -0.001399f, -0.001631f, -0.001776f, -0.001844f, -0.001843f, -0.001787f, -0.001687f, -0.001558f, -0.001413f, -0.001264f, -0.001122f, -0.000996f, -0.000892f, -0.000814f, -0.000763f, -0.000737f, -0.000731f, -0.000741f, -0.000757f, -0.000769f, -0.000769f, -0.000746f, -0.000689f, -0.000591f, -0.000444f, -0.000243f, 0.000014f, 0.000327f, 0.000694f, 0.001108f, 0.001561f, 0.002042f, 0.002539f, 0.003036f, 0.003519f, 0.003972f, 0.004378f, 0.004724f, 0.004996f, 0.005184f, 0.005280f, 0.005277f, 0.005175f, 0.004976f, 0.004683f, 0.004307f, 0.003859f, 0.003353f, 0.002807f, 0.002238f, 0.001667f, 0.001113f, 0.000596f, 0.000133f, -0.000259f, -0.000565f, -0.000776f, -0.000883f, -0.102988f, -0.341294f, -0.254497f, 0.391906f, 0.862557f, 0.540368f, -0.349671f, -0.909254f, -0.676052f, -0.030677f, 0.331228f, 0.698406f, 0.236689f, -0.264785f, -0.600240f, -0.465461f, -0.109871f, 0.428379f, 0.589347f, 0.409218f, -0.076928f, -0.452763f, -0.603311f, -0.262857f, 0.271601f, 0.610935f, 0.493932f, 0.122155f, -0.375662f, -0.622425f, -0.459174f, -0.035767f, + 0.486155f, 0.663043f, 0.415330f, -0.142677f, -0.611402f, -0.749182f, -0.314569f, 0.330349f, 0.813922f, 0.564511f, -0.020420f, -0.618496f, -0.798240f, -0.435640f, 0.247700f, 0.750185f, 0.723652f, 0.187242f, -0.431441f, -0.772596f, -0.577686f, -0.009311f, 0.603223f, 0.759479f, 0.425338f, -0.190884f, -0.627938f, -0.666650f, -0.216790f, 0.369183f, 0.713871f, 0.577661f, 0.064936f, -0.453506f, -0.809723f, -0.611234f, 0.008242f, 0.638253f, 0.817010f, 0.472566f, -0.229487f, -0.747722f, -0.795789f, -0.274994f, 0.439120f, 0.845736f, 0.712702f, 0.055994f, -0.602465f, -0.787324f, -0.465691f, 0.137828f, 0.712394f, 0.747138f, 0.262637f, -0.413301f, -0.820724f, -0.650333f, -0.053666f, 0.552595f, 0.818269f, 0.501577f, -0.101368f, -0.679716f, -0.757179f, -0.347880f, 0.300844f, 0.727271f, 0.653682f, 0.124663f, -0.485844f, -0.739138f, -0.521417f, 0.083320f, 0.616491f, 0.729258f, 0.286947f, -0.330731f, -0.741294f, -0.603318f, -0.068560f, 0.526770f, 0.754496f, 0.425907f, -0.209026f, -0.689311f, -0.734710f, -0.282736f, 0.390827f, 0.764154f, 0.614101f, 0.059215f, -0.532938f, -0.757470f, -0.441552f, 0.155480f, + 0.624627f, 0.635188f, 0.220928f, -0.326989f, -0.664776f, -0.523404f, -0.026833f, 0.479936f, 0.651236f, 0.388414f, -0.141286f, -0.583351f, -0.618613f, -0.235517f, 0.300328f, 0.635007f, 0.514926f, 0.030010f, -0.455951f, -0.619030f, -0.363555f, 0.164710f, 0.576657f, 0.579246f, 0.183449f, -0.328783f, -0.516179f, -0.267201f, 0.030584f, 0.073694f, 0.023572f, 0.004919f} + }, + { + {0.059356f, 0.058918f, 0.058045f, 0.056742f, 0.055018f, 0.052885f, 0.050359f, 0.047458f, 0.044207f, 0.040633f, 0.036770f, 0.032655f, 0.028332f, 0.023848f, 0.019257f, 0.014615f, 0.009983f, 0.005423f, 0.001002f, -0.003216f, -0.007164f, -0.010780f, -0.014005f, -0.016783f, -0.019066f, -0.020814f, -0.021996f, -0.022592f, -0.022591f, -0.021996f, -0.020822f, -0.019095f, -0.016856f, -0.014154f, -0.011051f, -0.007618f, -0.003934f, -0.000083f, 0.003845f, 0.007760f, 0.011570f, 0.015188f, 0.018529f, 0.021517f, 0.024084f, 0.026173f, 0.027739f, 0.028749f, 0.029187f, 0.029049f, 0.028346f, 0.027106f, 0.025366f, 0.023179f, 0.020608f, 0.017724f, 0.014606f, 0.011338f, 0.008007f, 0.004699f, 0.001498f, -0.001515f, -0.004266f, -0.006691f, -0.008735f, -0.010354f, -0.011517f, -0.012206f, -0.012415f, -0.012153f, -0.011440f, -0.010309f, -0.008803f, -0.006972f, -0.004877f, -0.002581f, -0.000152f, 0.002341f, 0.004829f, 0.007246f, 0.009530f, 0.011626f, 0.013485f, 0.015066f, 0.016339f, 0.017283f, 0.017887f, 0.018148f, 0.018075f, 0.017685f, 0.017001f, 0.016057f, 0.014888f, 0.013535f, 0.012042f, 0.010455f, + 0.008818f, 0.007174f, 0.005564f, 0.004026f, 0.002591f, 0.001287f, 0.000135f, -0.000850f, -0.001658f, -0.002286f, -0.002736f, -0.003016f, -0.003136f, -0.003113f, -0.002964f, -0.002710f, -0.002371f, -0.001969f, -0.001525f, -0.001059f, -0.000589f, -0.000130f, 0.000304f, 0.000704f, 0.001062f, 0.001373f, 0.001636f, 0.001852f, 0.002023f, 0.002155f, 0.002253f, 0.002324f, 0.002376f, 0.002416f, 0.002450f, 0.002485f, 0.002527f, 0.002578f, 0.002641f, 0.002719f, 0.002809f, 0.002912f, 0.003026f, 0.003145f, 0.003268f, 0.003390f, 0.003507f, 0.003615f, 0.003711f, 0.003791f, 0.003854f, 0.003899f, 0.003925f, 0.003934f, 0.003926f, 0.003905f, 0.003874f, 0.003835f, 0.003793f, 0.003751f, 0.003712f, 0.003681f, 0.003658f, 0.003646f, 0.025435f, -0.047501f, -0.206609f, -0.180773f, 0.076618f, 0.007264f, -0.166264f, -0.202849f, -0.245013f, -0.225976f, -0.104578f, 0.272204f, 0.124939f, 0.081930f, 0.216268f, -0.010555f, -0.079365f, -0.139618f, -0.035045f, -0.030516f, 0.087447f, 0.152968f, 0.251964f, 0.072578f, -0.132006f, -0.186124f, 0.029938f, 0.162010f, 0.228747f, 0.120886f, -0.019444f, -0.224763f, + -0.168052f, -0.058201f, 0.178736f, 0.240274f, 0.161280f, -0.082940f, -0.165587f, -0.176223f, 0.041225f, -0.196959f, -0.142288f, -0.004056f, 0.188594f, 0.191543f, 0.081427f, -0.126895f, -0.228758f, -0.207334f, 0.057669f, 0.248634f, 0.308111f, 0.142612f, -0.137366f, -0.397413f, -0.321543f, 0.012304f, 0.416471f, 0.512123f, 0.289699f, -0.186465f, -0.492982f, -0.494032f, -0.057562f, 0.388446f, 0.467916f, 0.122419f, -0.298982f, -0.492849f, -0.282425f, 0.102427f, 0.381377f, 0.379549f, 0.064660f, -0.262880f, -0.364571f, -0.233805f, 0.157811f, 0.329797f, 0.262631f, 0.013266f, -0.235415f, -0.319442f, -0.151267f, 0.078810f, 0.253781f, 0.217149f, 0.038698f, -0.127112f, -0.203217f, -0.150585f, -0.030391f, 0.046557f, 0.133111f, 0.108005f, -0.003642f, -0.090809f, -0.150407f, -0.077790f, 0.128890f, 0.251654f, 0.192947f, -0.014988f, -0.287307f, -0.327209f, -0.124433f, 0.167411f, 0.336493f, 0.284586f, 0.024757f, -0.237824f, -0.300271f, -0.160975f, 0.128004f, 0.256220f, 0.237250f, 0.031573f, -0.149200f, -0.246673f, -0.124003f, 0.006675f, 0.131374f, 0.169499f, 0.091640f, -0.009052f, -0.065511f, -0.097672f, + -0.092451f, -0.052411f, 0.028642f, 0.073811f, 0.086550f, 0.036878f, -0.028675f, -0.087544f, -0.082915f, -0.041597f, 0.032600f, 0.095675f, 0.076272f, 0.020556f, -0.045808f, -0.072406f, -0.047495f, -0.007953f, 0.051857f, 0.073567f, 0.024330f, -0.009503f, -0.048483f, -0.045138f, -0.010428f, 0.031531f, 0.045241f, 0.008668f, -0.006942f, -0.007100f, -0.002881f, -0.000993f}, + {0.059356f, 0.058918f, 0.058045f, 0.056742f, 0.055018f, 0.052885f, 0.050359f, 0.047458f, 0.044207f, 0.040633f, 0.036770f, 0.032655f, 0.028332f, 0.023848f, 0.019257f, 0.014615f, 0.009983f, 0.005423f, 0.001002f, -0.003216f, -0.007164f, -0.010780f, -0.014005f, -0.016783f, -0.019066f, -0.020814f, -0.021996f, -0.022592f, -0.022591f, -0.021996f, -0.020822f, -0.019095f, -0.016856f, -0.014154f, -0.011051f, -0.007618f, -0.003934f, -0.000083f, 0.003845f, 0.007760f, 0.011570f, 0.015188f, 0.018529f, 0.021517f, 0.024084f, 0.026173f, 0.027739f, 0.028749f, 0.029187f, 0.029049f, 0.028346f, 0.027106f, 0.025366f, 0.023179f, 0.020608f, 0.017724f, 0.014606f, 0.011338f, 0.008007f, 0.004699f, 0.001498f, -0.001515f, -0.004266f, -0.006691f, -0.008735f, -0.010354f, -0.011517f, -0.012206f, -0.012415f, -0.012153f, -0.011440f, -0.010309f, -0.008803f, -0.006972f, -0.004877f, -0.002581f, -0.000152f, 0.002341f, 0.004829f, 0.007246f, 0.009530f, 0.011626f, 0.013485f, 0.015066f, 0.016339f, 0.017283f, 0.017887f, 0.018148f, 0.018075f, 0.017685f, 0.017001f, 0.016057f, 0.014888f, 0.013535f, 0.012042f, 0.010455f, + 0.008818f, 0.007174f, 0.005564f, 0.004026f, 0.002591f, 0.001287f, 0.000135f, -0.000850f, -0.001658f, -0.002286f, -0.002736f, -0.003016f, -0.003136f, -0.003113f, -0.002964f, -0.002710f, -0.002371f, -0.001969f, -0.001525f, -0.001059f, -0.000589f, -0.000130f, 0.000304f, 0.000704f, 0.001062f, 0.001373f, 0.001636f, 0.001852f, 0.002023f, 0.002155f, 0.002253f, 0.002324f, 0.002376f, 0.002416f, 0.002450f, 0.002485f, 0.002527f, 0.002578f, 0.002641f, 0.002719f, 0.002809f, 0.002912f, 0.003026f, 0.003145f, 0.003268f, 0.003390f, 0.003507f, 0.003615f, 0.003711f, 0.003791f, 0.003854f, 0.003899f, 0.003925f, 0.003934f, 0.003926f, 0.003905f, 0.003874f, 0.003835f, 0.003793f, 0.003751f, 0.003712f, 0.003681f, 0.003658f, 0.003646f, 0.025435f, -0.047501f, -0.206609f, -0.180773f, 0.076618f, 0.007264f, -0.166264f, -0.202849f, -0.245013f, -0.225976f, -0.104578f, 0.272204f, 0.124939f, 0.081930f, 0.216268f, -0.010555f, -0.079365f, -0.139618f, -0.035045f, -0.030516f, 0.087447f, 0.152968f, 0.251964f, 0.072578f, -0.132006f, -0.186124f, 0.029938f, 0.162010f, 0.228747f, 0.120886f, -0.019444f, -0.224763f, + -0.168052f, -0.058201f, 0.178736f, 0.240274f, 0.161280f, -0.082940f, -0.165587f, -0.176223f, 0.041225f, -0.196959f, -0.142288f, -0.004056f, 0.188594f, 0.191543f, 0.081427f, -0.126895f, -0.228758f, -0.207334f, 0.057669f, 0.248634f, 0.308111f, 0.142612f, -0.137366f, -0.397413f, -0.321543f, 0.012304f, 0.416471f, 0.512123f, 0.289699f, -0.186465f, -0.492982f, -0.494032f, -0.057562f, 0.388446f, 0.467916f, 0.122419f, -0.298982f, -0.492849f, -0.282425f, 0.102427f, 0.381377f, 0.379549f, 0.064660f, -0.262880f, -0.364571f, -0.233805f, 0.157811f, 0.329797f, 0.262631f, 0.013266f, -0.235415f, -0.319442f, -0.151267f, 0.078810f, 0.253781f, 0.217149f, 0.038698f, -0.127112f, -0.203217f, -0.150585f, -0.030391f, 0.046557f, 0.133111f, 0.108005f, -0.003642f, -0.090809f, -0.150407f, -0.077790f, 0.128890f, 0.251654f, 0.192947f, -0.014988f, -0.287307f, -0.327209f, -0.124433f, 0.167411f, 0.336493f, 0.284586f, 0.024757f, -0.237824f, -0.300271f, -0.160975f, 0.128004f, 0.256220f, 0.237250f, 0.031573f, -0.149200f, -0.246673f, -0.124003f, 0.006675f, 0.131374f, 0.169499f, 0.091640f, -0.009052f, -0.065511f, -0.097672f, + -0.092451f, -0.052411f, 0.028642f, 0.073811f, 0.086550f, 0.036878f, -0.028675f, -0.087544f, -0.082915f, -0.041597f, 0.032600f, 0.095675f, 0.076272f, 0.020556f, -0.045808f, -0.072406f, -0.047495f, -0.007953f, 0.051857f, 0.073567f, 0.024330f, -0.009503f, -0.048483f, -0.045138f, -0.010428f, 0.031531f, 0.045241f, 0.008668f, -0.006942f, -0.007100f, -0.002881f, -0.000993f} + }, + { + {0.053625f, 0.052866f, 0.051368f, 0.049170f, 0.046329f, 0.042918f, 0.039023f, 0.034745f, 0.030190f, 0.025471f, 0.020704f, 0.016002f, 0.011474f, 0.007223f, 0.003339f, -0.000098f, -0.003026f, -0.005398f, -0.007185f, -0.008378f, -0.008983f, -0.009027f, -0.008552f, -0.007615f, -0.006285f, -0.004645f, -0.002780f, -0.000785f, 0.001246f, 0.003222f, 0.005052f, 0.006656f, 0.007962f, 0.008912f, 0.009459f, 0.009574f, 0.009241f, 0.008462f, 0.007255f, 0.005653f, 0.003703f, 0.001463f, -0.000996f, -0.003599f, -0.006261f, -0.008899f, -0.011428f, -0.013766f, -0.015839f, -0.017578f, -0.018928f, -0.019844f, -0.020294f, -0.020265f, -0.019753f, -0.018775f, -0.017358f, -0.015546f, -0.013394f, -0.010967f, -0.008340f, -0.005593f, -0.002809f, -0.000075f, 0.002529f, 0.004922f, 0.007034f, 0.008800f, 0.010169f, 0.011101f, 0.011570f, 0.011564f, 0.011086f, 0.010152f, 0.008795f, 0.007057f, 0.004995f, 0.002671f, 0.000160f, -0.002463f, -0.005116f, -0.007719f, -0.010194f, -0.012465f, -0.014467f, -0.016138f, -0.017432f, -0.018311f, -0.018750f, -0.018740f, -0.018282f, -0.017393f, -0.016100f, -0.014445f, -0.012478f, -0.010258f, + -0.007851f, -0.005328f, -0.002762f, -0.000228f, 0.002203f, 0.004463f, 0.006489f, 0.008228f, 0.009634f, 0.010673f, 0.011321f, 0.011567f, 0.011411f, 0.010866f, 0.009955f, 0.008712f, 0.007181f, 0.005413f, 0.003464f, 0.001397f, -0.000724f, -0.002835f, -0.004872f, -0.006776f, -0.008491f, -0.009969f, -0.011170f, -0.012061f, -0.012620f, -0.012835f, -0.012705f, -0.012239f, -0.011454f, -0.010378f, -0.009045f, -0.007498f, -0.005785f, -0.003955f, -0.002062f, -0.000161f, 0.001697f, 0.003461f, 0.005087f, 0.006533f, 0.007766f, 0.008761f, 0.009499f, 0.009972f, 0.010178f, 0.010127f, 0.009834f, 0.009323f, 0.008624f, 0.007772f, 0.006808f, 0.005773f, 0.004712f, 0.003667f, 0.002682f, 0.001795f, 0.001040f, 0.000447f, 0.000039f, -0.000170f, 0.050249f, 0.048348f, -0.032902f, -0.133252f, -0.051827f, 0.061902f, -0.065834f, -0.089043f, -0.086938f, -0.054330f, -0.271254f, 0.096964f, -0.267374f, -0.263896f, 0.129482f, 0.546273f, 0.617687f, 0.273155f, -0.174560f, -0.533387f, -0.553862f, -0.047249f, 0.546821f, 0.739409f, 0.437574f, -0.182795f, -0.701297f, -0.782666f, -0.179700f, 0.531033f, 0.909401f, 0.572299f, + -0.135054f, -0.739309f, -0.743548f, -0.233507f, 0.430979f, 0.757620f, 0.447458f, -0.113912f, -0.697241f, -0.285283f, 0.200104f, 0.551926f, 0.527428f, 0.167191f, -0.279300f, -0.511028f, -0.414285f, -0.035132f, 0.341541f, 0.439386f, 0.261744f, -0.072803f, -0.320505f, -0.349316f, -0.137322f, 0.104548f, 0.287208f, 0.269386f, 0.083129f, -0.148946f, -0.281713f, -0.207672f, -0.018923f, 0.102224f, 0.321176f, 0.236280f, 0.042425f, -0.219756f, -0.217805f, -0.072498f, 0.123498f, 0.179293f, 0.116213f, -0.050582f, -0.138022f, -0.073945f, 0.036296f, 0.153541f, 0.153026f, 0.014050f, -0.140485f, -0.160171f, -0.061968f, 0.112086f, 0.260109f, 0.180126f, 0.031071f, -0.154900f, -0.163696f, -0.024447f, 0.058056f, 0.095424f, 0.048401f, -0.039236f, -0.025341f, -0.025501f, 0.061017f, 0.031721f, -0.120208f, -0.222734f, -0.180850f, 0.017131f, 0.223191f, 0.273290f, 0.085660f, -0.173557f, -0.344212f, -0.229181f, 0.092056f, 0.346337f, 0.343069f, 0.091950f, -0.246870f, -0.397226f, -0.330350f, 0.031617f, 0.369979f, 0.427147f, 0.130983f, -0.260862f, -0.436429f, -0.309947f, 0.028984f, 0.323668f, 0.385342f, 0.170831f, + -0.141426f, -0.359796f, -0.310746f, -0.043311f, 0.254655f, 0.384138f, 0.214884f, -0.062321f, -0.328198f, -0.348665f, -0.119870f, 0.201613f, 0.352533f, 0.283046f, -0.012735f, -0.253267f, -0.340710f, -0.212202f, 0.049709f, 0.279291f, 0.281016f, 0.089799f, -0.147975f, -0.291692f, -0.212827f, 0.000441f, 0.200148f, 0.196099f, 0.046973f, -0.016103f, -0.005004f, 0.002778f}, + {0.053625f, 0.052866f, 0.051368f, 0.049170f, 0.046329f, 0.042918f, 0.039023f, 0.034745f, 0.030190f, 0.025471f, 0.020704f, 0.016002f, 0.011474f, 0.007223f, 0.003339f, -0.000098f, -0.003026f, -0.005398f, -0.007185f, -0.008378f, -0.008983f, -0.009027f, -0.008552f, -0.007615f, -0.006285f, -0.004645f, -0.002780f, -0.000785f, 0.001246f, 0.003222f, 0.005052f, 0.006656f, 0.007962f, 0.008912f, 0.009459f, 0.009574f, 0.009241f, 0.008462f, 0.007255f, 0.005653f, 0.003703f, 0.001463f, -0.000996f, -0.003599f, -0.006261f, -0.008899f, -0.011428f, -0.013766f, -0.015839f, -0.017578f, -0.018928f, -0.019844f, -0.020294f, -0.020265f, -0.019753f, -0.018775f, -0.017358f, -0.015546f, -0.013394f, -0.010967f, -0.008340f, -0.005593f, -0.002809f, -0.000075f, 0.002529f, 0.004922f, 0.007034f, 0.008800f, 0.010169f, 0.011101f, 0.011570f, 0.011564f, 0.011086f, 0.010152f, 0.008795f, 0.007057f, 0.004995f, 0.002671f, 0.000160f, -0.002463f, -0.005116f, -0.007719f, -0.010194f, -0.012465f, -0.014467f, -0.016138f, -0.017432f, -0.018311f, -0.018750f, -0.018740f, -0.018282f, -0.017393f, -0.016100f, -0.014445f, -0.012478f, -0.010258f, + -0.007851f, -0.005328f, -0.002762f, -0.000228f, 0.002203f, 0.004463f, 0.006489f, 0.008228f, 0.009634f, 0.010673f, 0.011321f, 0.011567f, 0.011411f, 0.010866f, 0.009955f, 0.008712f, 0.007181f, 0.005413f, 0.003464f, 0.001397f, -0.000724f, -0.002835f, -0.004872f, -0.006776f, -0.008491f, -0.009969f, -0.011170f, -0.012061f, -0.012620f, -0.012835f, -0.012705f, -0.012239f, -0.011454f, -0.010378f, -0.009045f, -0.007498f, -0.005785f, -0.003955f, -0.002062f, -0.000161f, 0.001697f, 0.003461f, 0.005087f, 0.006533f, 0.007766f, 0.008761f, 0.009499f, 0.009972f, 0.010178f, 0.010127f, 0.009834f, 0.009323f, 0.008624f, 0.007772f, 0.006808f, 0.005773f, 0.004712f, 0.003667f, 0.002682f, 0.001795f, 0.001040f, 0.000447f, 0.000039f, -0.000170f, 0.050249f, 0.048348f, -0.032902f, -0.133252f, -0.051827f, 0.061902f, -0.065834f, -0.089043f, -0.086938f, -0.054330f, -0.271254f, 0.096964f, -0.267374f, -0.263896f, 0.129482f, 0.546273f, 0.617687f, 0.273155f, -0.174560f, -0.533387f, -0.553862f, -0.047249f, 0.546821f, 0.739409f, 0.437574f, -0.182795f, -0.701297f, -0.782666f, -0.179700f, 0.531033f, 0.909401f, 0.572299f, + -0.135054f, -0.739309f, -0.743548f, -0.233507f, 0.430979f, 0.757620f, 0.447458f, -0.113912f, -0.697241f, -0.285283f, 0.200104f, 0.551926f, 0.527428f, 0.167191f, -0.279300f, -0.511028f, -0.414285f, -0.035132f, 0.341541f, 0.439386f, 0.261744f, -0.072803f, -0.320505f, -0.349316f, -0.137322f, 0.104548f, 0.287208f, 0.269386f, 0.083129f, -0.148946f, -0.281713f, -0.207672f, -0.018923f, 0.102224f, 0.321176f, 0.236280f, 0.042425f, -0.219756f, -0.217805f, -0.072498f, 0.123498f, 0.179293f, 0.116213f, -0.050582f, -0.138022f, -0.073945f, 0.036296f, 0.153541f, 0.153026f, 0.014050f, -0.140485f, -0.160171f, -0.061968f, 0.112086f, 0.260109f, 0.180126f, 0.031071f, -0.154900f, -0.163696f, -0.024447f, 0.058056f, 0.095424f, 0.048401f, -0.039236f, -0.025341f, -0.025501f, 0.061017f, 0.031721f, -0.120208f, -0.222734f, -0.180850f, 0.017131f, 0.223191f, 0.273290f, 0.085660f, -0.173557f, -0.344212f, -0.229181f, 0.092056f, 0.346337f, 0.343069f, 0.091950f, -0.246870f, -0.397226f, -0.330350f, 0.031617f, 0.369979f, 0.427147f, 0.130983f, -0.260862f, -0.436429f, -0.309947f, 0.028984f, 0.323668f, 0.385342f, 0.170831f, + -0.141426f, -0.359796f, -0.310746f, -0.043311f, 0.254655f, 0.384138f, 0.214884f, -0.062321f, -0.328198f, -0.348665f, -0.119870f, 0.201613f, 0.352533f, 0.283046f, -0.012735f, -0.253267f, -0.340710f, -0.212202f, 0.049709f, 0.279291f, 0.281016f, 0.089799f, -0.147975f, -0.291692f, -0.212827f, 0.000441f, 0.200148f, 0.196099f, 0.046973f, -0.016103f, -0.005004f, 0.002778f} + }, + { + {0.041404f, 0.041181f, 0.040735f, 0.040068f, 0.039181f, 0.038078f, 0.036763f, 0.035243f, 0.033527f, 0.031627f, 0.029558f, 0.027339f, 0.024993f, 0.022545f, 0.020028f, 0.017474f, 0.014920f, 0.012407f, 0.009975f, 0.007665f, 0.005521f, 0.003582f, 0.001885f, 0.000465f, -0.000651f, -0.001440f, -0.001887f, -0.001986f, -0.001739f, -0.001156f, -0.000259f, 0.000924f, 0.002354f, 0.003985f, 0.005764f, 0.007634f, 0.009531f, 0.011392f, 0.013150f, 0.014743f, 0.016111f, 0.017197f, 0.017955f, 0.018344f, 0.018334f, 0.017906f, 0.017053f, 0.015780f, 0.014102f, 0.012048f, 0.009657f, 0.006977f, 0.004066f, 0.000987f, -0.002192f, -0.005397f, -0.008559f, -0.011606f, -0.014472f, -0.017094f, -0.019419f, -0.021403f, -0.023011f, -0.024218f, -0.025013f, -0.025397f, -0.025380f, -0.024986f, -0.024246f, -0.023202f, -0.021903f, -0.020403f, -0.018758f, -0.017029f, -0.015274f, -0.013548f, -0.011903f, -0.010384f, -0.009031f, -0.007873f, -0.006930f, -0.006214f, -0.005725f, -0.005456f, -0.005389f, -0.005500f, -0.005758f, -0.006126f, -0.006565f, -0.007033f, -0.007489f, -0.007894f, -0.008211f, -0.008410f, -0.008465f, -0.008359f, + -0.008083f, -0.007635f, -0.007021f, -0.006257f, -0.005365f, -0.004374f, -0.003317f, -0.002232f, -0.001159f, -0.000140f, 0.000786f, 0.001581f, 0.002214f, 0.002656f, 0.002888f, 0.002895f, 0.002675f, 0.002230f, 0.001573f, 0.000725f, -0.000284f, -0.001422f, -0.002646f, -0.003913f, -0.005176f, -0.006389f, -0.007505f, -0.008481f, -0.009279f, -0.009864f, -0.010212f, -0.010304f, -0.010130f, -0.009691f, -0.008994f, -0.008057f, -0.006906f, -0.005572f, -0.004093f, -0.002513f, -0.000877f, 0.000768f, 0.002376f, 0.003903f, 0.005308f, 0.006555f, 0.007615f, 0.008468f, 0.009098f, 0.009501f, 0.009680f, 0.009647f, 0.009419f, 0.009023f, 0.008491f, 0.007857f, 0.007161f, 0.006441f, 0.005737f, 0.005085f, 0.004520f, 0.004069f, 0.003756f, 0.003595f, -0.008836f, -0.013947f, -0.011734f, -0.019741f, -0.084781f, -0.068486f, -0.074672f, 0.005801f, -0.068220f, -0.035320f, -0.113818f, 0.025063f, -0.100212f, -0.161553f, 0.090443f, 0.307023f, 0.230631f, 0.193338f, -0.085542f, -0.256562f, -0.088782f, -0.069616f, 0.161908f, 0.143692f, 0.081446f, -0.108797f, -0.219084f, -0.183631f, 0.035419f, 0.217078f, 0.277572f, 0.148960f, + -0.077514f, -0.379229f, -0.269153f, 0.110752f, 0.336897f, 0.322305f, 0.115919f, -0.214207f, -0.406310f, -0.119649f, 0.205301f, 0.360085f, 0.307915f, 0.030391f, -0.224748f, -0.290953f, -0.230695f, -0.083741f, 0.191810f, 0.256304f, 0.249502f, 0.006366f, -0.133890f, -0.289349f, -0.121593f, -0.013026f, 0.252172f, 0.282690f, 0.022936f, 0.006124f, -0.201204f, -0.264997f, -0.098130f, 0.187715f, 0.257124f, 0.123241f, -0.144308f, -0.318128f, -0.223143f, -0.006095f, 0.175533f, 0.299275f, 0.196213f, -0.081491f, -0.264732f, -0.265901f, 0.040931f, 0.221500f, 0.275122f, 0.198737f, -0.144336f, -0.297062f, -0.244960f, 0.042707f, 0.229949f, 0.266618f, 0.068954f, -0.175800f, -0.243310f, -0.105423f, 0.057597f, 0.091762f, -0.006985f, -0.079265f, -0.051572f, -0.011031f, 0.063336f, 0.023698f, -0.117553f, -0.174823f, -0.151150f, 0.008448f, 0.145491f, 0.202448f, 0.074955f, -0.077028f, -0.245274f, -0.212254f, -0.062183f, 0.111539f, 0.268934f, 0.230586f, -0.041415f, -0.228907f, -0.204211f, -0.056961f, 0.188204f, 0.210330f, 0.096438f, 0.013180f, -0.229251f, -0.212336f, -0.115388f, 0.057396f, 0.170929f, 0.135953f, + -0.008739f, -0.093660f, -0.109893f, -0.030024f, 0.041695f, 0.097382f, 0.061194f, 0.002393f, -0.066722f, -0.131433f, -0.072092f, 0.034941f, 0.081100f, 0.094303f, 0.017674f, -0.043325f, -0.087348f, -0.099424f, -0.043012f, 0.030806f, 0.062464f, 0.031543f, -0.014017f, -0.042408f, -0.029252f, -0.013344f, 0.037483f, 0.053543f, 0.019193f, -0.004597f, 0.000627f, 0.001527f}, + {-0.041404f, -0.041181f, -0.040735f, -0.040068f, -0.039181f, -0.038078f, -0.036763f, -0.035243f, -0.033527f, -0.031627f, -0.029558f, -0.027339f, -0.024993f, -0.022545f, -0.020028f, -0.017474f, -0.014920f, -0.012407f, -0.009975f, -0.007665f, -0.005521f, -0.003582f, -0.001885f, -0.000465f, 0.000651f, 0.001440f, 0.001887f, 0.001986f, 0.001739f, 0.001156f, 0.000259f, -0.000924f, -0.002354f, -0.003985f, -0.005764f, -0.007634f, -0.009531f, -0.011392f, -0.013150f, -0.014743f, -0.016111f, -0.017197f, -0.017955f, -0.018344f, -0.018334f, -0.017906f, -0.017053f, -0.015780f, -0.014102f, -0.012048f, -0.009657f, -0.006977f, -0.004066f, -0.000987f, 0.002192f, 0.005397f, 0.008559f, 0.011606f, 0.014472f, 0.017094f, 0.019419f, 0.021403f, 0.023011f, 0.024218f, 0.025013f, 0.025397f, 0.025380f, 0.024986f, 0.024246f, 0.023202f, 0.021903f, 0.020403f, 0.018758f, 0.017029f, 0.015274f, 0.013548f, 0.011903f, 0.010384f, 0.009031f, 0.007873f, 0.006930f, 0.006214f, 0.005725f, 0.005456f, 0.005389f, 0.005500f, 0.005758f, 0.006126f, 0.006565f, 0.007033f, 0.007489f, 0.007894f, 0.008211f, 0.008410f, 0.008465f, 0.008359f, + 0.008083f, 0.007635f, 0.007021f, 0.006257f, 0.005365f, 0.004374f, 0.003317f, 0.002232f, 0.001159f, 0.000140f, -0.000786f, -0.001581f, -0.002214f, -0.002656f, -0.002888f, -0.002895f, -0.002675f, -0.002230f, -0.001573f, -0.000725f, 0.000284f, 0.001422f, 0.002646f, 0.003913f, 0.005176f, 0.006389f, 0.007505f, 0.008481f, 0.009279f, 0.009864f, 0.010212f, 0.010304f, 0.010130f, 0.009691f, 0.008994f, 0.008057f, 0.006906f, 0.005572f, 0.004093f, 0.002513f, 0.000877f, -0.000768f, -0.002376f, -0.003903f, -0.005308f, -0.006555f, -0.007615f, -0.008468f, -0.009098f, -0.009501f, -0.009680f, -0.009647f, -0.009419f, -0.009023f, -0.008491f, -0.007857f, -0.007161f, -0.006441f, -0.005737f, -0.005085f, -0.004520f, -0.004069f, -0.003756f, -0.003595f, 0.008836f, 0.013947f, 0.011734f, 0.019741f, 0.084781f, 0.068486f, 0.074672f, -0.005801f, 0.068220f, 0.035320f, 0.113818f, -0.025063f, 0.100212f, 0.161553f, -0.090443f, -0.307023f, -0.230631f, -0.193338f, 0.085542f, 0.256562f, 0.088782f, 0.069616f, -0.161908f, -0.143692f, -0.081446f, 0.108797f, 0.219084f, 0.183631f, -0.035419f, -0.217078f, -0.277572f, -0.148960f, + 0.077514f, 0.379229f, 0.269153f, -0.110752f, -0.336897f, -0.322305f, -0.115919f, 0.214207f, 0.406310f, 0.119649f, -0.205301f, -0.360085f, -0.307915f, -0.030391f, 0.224748f, 0.290953f, 0.230695f, 0.083741f, -0.191810f, -0.256304f, -0.249502f, -0.006366f, 0.133890f, 0.289349f, 0.121593f, 0.013026f, -0.252172f, -0.282690f, -0.022936f, -0.006124f, 0.201204f, 0.264997f, 0.098130f, -0.187715f, -0.257124f, -0.123241f, 0.144308f, 0.318128f, 0.223143f, 0.006095f, -0.175533f, -0.299275f, -0.196213f, 0.081491f, 0.264732f, 0.265901f, -0.040931f, -0.221500f, -0.275122f, -0.198737f, 0.144336f, 0.297062f, 0.244960f, -0.042707f, -0.229949f, -0.266618f, -0.068954f, 0.175800f, 0.243310f, 0.105423f, -0.057597f, -0.091762f, 0.006985f, 0.079265f, 0.051572f, 0.011031f, -0.063336f, -0.023698f, 0.117553f, 0.174823f, 0.151150f, -0.008448f, -0.145491f, -0.202448f, -0.074955f, 0.077028f, 0.245274f, 0.212254f, 0.062183f, -0.111539f, -0.268934f, -0.230586f, 0.041415f, 0.228907f, 0.204211f, 0.056961f, -0.188204f, -0.210330f, -0.096438f, -0.013180f, 0.229251f, 0.212336f, 0.115388f, -0.057396f, -0.170929f, -0.135953f, + 0.008739f, 0.093660f, 0.109893f, 0.030024f, -0.041695f, -0.097382f, -0.061194f, -0.002393f, 0.066722f, 0.131433f, 0.072092f, -0.034941f, -0.081100f, -0.094303f, -0.017674f, 0.043325f, 0.087348f, 0.099424f, 0.043012f, -0.030806f, -0.062464f, -0.031543f, 0.014017f, 0.042408f, 0.029252f, 0.013344f, -0.037483f, -0.053543f, -0.019193f, 0.004597f, -0.000627f, -0.001527f} + }, + { + {0.028626f, 0.028642f, 0.028671f, 0.028702f, 0.028721f, 0.028711f, 0.028652f, 0.028521f, 0.028297f, 0.027957f, 0.027481f, 0.026852f, 0.026056f, 0.025086f, 0.023936f, 0.022611f, 0.021120f, 0.019477f, 0.017705f, 0.015831f, 0.013886f, 0.011907f, 0.009933f, 0.008003f, 0.006159f, 0.004439f, 0.002881f, 0.001516f, 0.000373f, -0.000527f, -0.001171f, -0.001551f, -0.001670f, -0.001537f, -0.001170f, -0.000593f, 0.000160f, 0.001054f, 0.002046f, 0.003092f, 0.004146f, 0.005163f, 0.006098f, 0.006912f, 0.007567f, 0.008036f, 0.008294f, 0.008328f, 0.008132f, 0.007708f, 0.007068f, 0.006231f, 0.005225f, 0.004082f, 0.002843f, 0.001551f, 0.000250f, -0.001011f, -0.002187f, -0.003236f, -0.004118f, -0.004799f, -0.005252f, -0.005458f, -0.005406f, -0.005094f, -0.004528f, -0.003723f, -0.002704f, -0.001502f, -0.000152f, 0.001302f, 0.002815f, 0.004339f, 0.005828f, 0.007233f, 0.008513f, 0.009628f, 0.010545f, 0.011238f, 0.011688f, 0.011887f, 0.011831f, 0.011528f, 0.010994f, 0.010251f, 0.009329f, 0.008264f, 0.007093f, 0.005861f, 0.004610f, 0.003383f, 0.002222f, 0.001165f, 0.000245f, -0.000509f, + -0.001078f, -0.001446f, -0.001608f, -0.001565f, -0.001327f, -0.000908f, -0.000334f, 0.000370f, 0.001171f, 0.002033f, 0.002919f, 0.003791f, 0.004615f, 0.005355f, 0.005983f, 0.006471f, 0.006801f, 0.006959f, 0.006937f, 0.006736f, 0.006361f, 0.005825f, 0.005147f, 0.004348f, 0.003458f, 0.002504f, 0.001519f, 0.000534f, -0.000420f, -0.001312f, -0.002119f, -0.002816f, -0.003387f, -0.003819f, -0.004106f, -0.004247f, -0.004246f, -0.004112f, -0.003861f, -0.003510f, -0.003082f, -0.002598f, -0.002086f, -0.001569f, -0.001071f, -0.000615f, -0.000219f, 0.000100f, 0.000330f, 0.000465f, 0.000501f, 0.000441f, 0.000291f, 0.000061f, -0.000235f, -0.000579f, -0.000954f, -0.001339f, -0.001715f, -0.002062f, -0.002363f, -0.002603f, -0.002770f, -0.002856f, -0.031883f, -0.046548f, -0.027006f, -0.016097f, -0.080974f, -0.040031f, -0.043987f, -0.101210f, -0.273445f, -0.110743f, 0.010624f, 0.201980f, -0.125129f, -0.213107f, 0.130433f, 0.239737f, 0.175863f, 0.076859f, -0.046694f, -0.187719f, -0.040409f, -0.052401f, 0.136515f, 0.109383f, 0.072071f, -0.078017f, 0.045544f, -0.025358f, 0.050872f, -0.061143f, -0.071787f, 0.045776f, + 0.115052f, 0.163409f, 0.108495f, -0.007344f, -0.125486f, -0.119381f, -0.036933f, 0.055229f, 0.129259f, 0.087735f, 0.057230f, 0.039498f, -0.049486f, -0.024636f, -0.030369f, 0.016216f, 0.014539f, -0.054091f, 0.039386f, 0.037695f, 0.051301f, 0.003901f, -0.048974f, -0.113857f, -0.048065f, 0.075069f, 0.218723f, 0.144183f, 0.038129f, -0.094893f, -0.194108f, -0.152929f, 0.019428f, 0.124388f, 0.178049f, 0.010386f, -0.137624f, -0.190515f, 0.004197f, 0.185613f, 0.250081f, 0.051928f, -0.213124f, -0.330274f, -0.161489f, 0.151882f, 0.362165f, 0.322165f, 0.032381f, -0.246047f, -0.405064f, -0.250528f, 0.091165f, 0.307366f, 0.310248f, 0.100028f, -0.202284f, -0.325360f, -0.218936f, 0.037230f, 0.203787f, 0.201997f, 0.102652f, -0.067244f, -0.154671f, -0.120531f, -0.026295f, 0.116436f, 0.134289f, 0.085847f, 0.012360f, -0.031336f, -0.115344f, -0.152819f, -0.114131f, 0.036014f, 0.139857f, 0.196502f, 0.081002f, -0.057765f, -0.182221f, -0.163896f, -0.052464f, 0.062503f, 0.209205f, 0.162963f, 0.045714f, -0.136333f, -0.169673f, -0.077282f, -0.024267f, 0.074428f, 0.104327f, 0.090231f, 0.025751f, -0.049072f, + -0.109818f, -0.099401f, -0.031049f, 0.044631f, 0.094151f, 0.073971f, -0.006456f, -0.113584f, -0.092900f, -0.032184f, 0.021955f, 0.052643f, 0.026174f, -0.003465f, -0.028569f, -0.006586f, 0.026063f, 0.041254f, 0.029136f, 0.002444f, -0.066057f, -0.058221f, -0.036227f, 0.000289f, 0.036723f, 0.066118f, 0.024742f, -0.034124f, -0.035054f, -0.014016f, -0.006304f, -0.005896f}, + {-0.028626f, -0.028642f, -0.028671f, -0.028702f, -0.028721f, -0.028711f, -0.028652f, -0.028521f, -0.028297f, -0.027957f, -0.027481f, -0.026852f, -0.026056f, -0.025086f, -0.023936f, -0.022611f, -0.021120f, -0.019477f, -0.017705f, -0.015831f, -0.013886f, -0.011907f, -0.009933f, -0.008003f, -0.006159f, -0.004439f, -0.002881f, -0.001516f, -0.000373f, 0.000527f, 0.001171f, 0.001551f, 0.001670f, 0.001537f, 0.001170f, 0.000593f, -0.000160f, -0.001054f, -0.002046f, -0.003092f, -0.004146f, -0.005163f, -0.006098f, -0.006912f, -0.007567f, -0.008036f, -0.008294f, -0.008328f, -0.008132f, -0.007708f, -0.007068f, -0.006231f, -0.005225f, -0.004082f, -0.002843f, -0.001551f, -0.000250f, 0.001011f, 0.002187f, 0.003236f, 0.004118f, 0.004799f, 0.005252f, 0.005458f, 0.005406f, 0.005094f, 0.004528f, 0.003723f, 0.002704f, 0.001502f, 0.000152f, -0.001302f, -0.002815f, -0.004339f, -0.005828f, -0.007233f, -0.008513f, -0.009628f, -0.010545f, -0.011238f, -0.011688f, -0.011887f, -0.011831f, -0.011528f, -0.010994f, -0.010251f, -0.009329f, -0.008264f, -0.007093f, -0.005861f, -0.004610f, -0.003383f, -0.002222f, -0.001165f, -0.000245f, 0.000509f, + 0.001078f, 0.001446f, 0.001608f, 0.001565f, 0.001327f, 0.000908f, 0.000334f, -0.000370f, -0.001171f, -0.002033f, -0.002919f, -0.003791f, -0.004615f, -0.005355f, -0.005983f, -0.006471f, -0.006801f, -0.006959f, -0.006937f, -0.006736f, -0.006361f, -0.005825f, -0.005147f, -0.004348f, -0.003458f, -0.002504f, -0.001519f, -0.000534f, 0.000420f, 0.001312f, 0.002119f, 0.002816f, 0.003387f, 0.003819f, 0.004106f, 0.004247f, 0.004246f, 0.004112f, 0.003861f, 0.003510f, 0.003082f, 0.002598f, 0.002086f, 0.001569f, 0.001071f, 0.000615f, 0.000219f, -0.000100f, -0.000330f, -0.000465f, -0.000501f, -0.000441f, -0.000291f, -0.000061f, 0.000235f, 0.000579f, 0.000954f, 0.001339f, 0.001715f, 0.002062f, 0.002363f, 0.002603f, 0.002770f, 0.002856f, 0.031883f, 0.046548f, 0.027006f, 0.016097f, 0.080974f, 0.040031f, 0.043987f, 0.101210f, 0.273445f, 0.110743f, -0.010624f, -0.201980f, 0.125129f, 0.213107f, -0.130433f, -0.239737f, -0.175863f, -0.076859f, 0.046694f, 0.187719f, 0.040409f, 0.052401f, -0.136515f, -0.109383f, -0.072071f, 0.078017f, -0.045544f, 0.025358f, -0.050872f, 0.061143f, 0.071787f, -0.045776f, + -0.115052f, -0.163409f, -0.108495f, 0.007344f, 0.125486f, 0.119381f, 0.036933f, -0.055229f, -0.129259f, -0.087735f, -0.057230f, -0.039498f, 0.049486f, 0.024636f, 0.030369f, -0.016216f, -0.014539f, 0.054091f, -0.039386f, -0.037695f, -0.051301f, -0.003901f, 0.048974f, 0.113857f, 0.048065f, -0.075069f, -0.218723f, -0.144183f, -0.038129f, 0.094893f, 0.194108f, 0.152929f, -0.019428f, -0.124388f, -0.178049f, -0.010386f, 0.137624f, 0.190515f, -0.004197f, -0.185613f, -0.250081f, -0.051928f, 0.213124f, 0.330274f, 0.161489f, -0.151882f, -0.362165f, -0.322165f, -0.032381f, 0.246047f, 0.405064f, 0.250528f, -0.091165f, -0.307366f, -0.310248f, -0.100028f, 0.202284f, 0.325360f, 0.218936f, -0.037230f, -0.203787f, -0.201997f, -0.102652f, 0.067244f, 0.154671f, 0.120531f, 0.026295f, -0.116436f, -0.134289f, -0.085847f, -0.012360f, 0.031336f, 0.115344f, 0.152819f, 0.114131f, -0.036014f, -0.139857f, -0.196502f, -0.081002f, 0.057765f, 0.182221f, 0.163896f, 0.052464f, -0.062503f, -0.209205f, -0.162963f, -0.045714f, 0.136333f, 0.169673f, 0.077282f, 0.024267f, -0.074428f, -0.104327f, -0.090231f, -0.025751f, 0.049072f, + 0.109818f, 0.099401f, 0.031049f, -0.044631f, -0.094151f, -0.073971f, 0.006456f, 0.113584f, 0.092900f, 0.032184f, -0.021955f, -0.052643f, -0.026174f, 0.003465f, 0.028569f, 0.006586f, -0.026063f, -0.041254f, -0.029136f, -0.002444f, 0.066057f, 0.058221f, 0.036227f, -0.000289f, -0.036723f, -0.066118f, -0.024742f, 0.034124f, 0.035054f, 0.014016f, 0.006304f, 0.005896f} + }, + { + {0.025310f, 0.025687f, 0.026423f, 0.027479f, 0.028803f, 0.030327f, 0.031971f, 0.033646f, 0.035260f, 0.036719f, 0.037934f, 0.038819f, 0.039302f, 0.039323f, 0.038839f, 0.037826f, 0.036279f, 0.034214f, 0.031669f, 0.028699f, 0.025378f, 0.021796f, 0.018055f, 0.014265f, 0.010543f, 0.007004f, 0.003761f, 0.000920f, -0.001427f, -0.003202f, -0.004345f, -0.004818f, -0.004606f, -0.003716f, -0.002180f, -0.000053f, 0.002590f, 0.005652f, 0.009022f, 0.012578f, 0.016186f, 0.019711f, 0.023017f, 0.025976f, 0.028466f, 0.030383f, 0.031636f, 0.032159f, 0.031907f, 0.030860f, 0.029023f, 0.026427f, 0.023127f, 0.019201f, 0.014747f, 0.009880f, 0.004727f, -0.000576f, -0.005887f, -0.011066f, -0.015978f, -0.020496f, -0.024506f, -0.027913f, -0.030640f, -0.032632f, -0.033857f, -0.034310f, -0.034006f, -0.032985f, -0.031308f, -0.029055f, -0.026321f, -0.023213f, -0.019849f, -0.016346f, -0.012827f, -0.009407f, -0.006194f, -0.003285f, -0.000764f, 0.001304f, 0.002872f, 0.003912f, 0.004415f, 0.004395f, 0.003882f, 0.002923f, 0.001580f, -0.000071f, -0.001949f, -0.003965f, -0.006027f, -0.008047f, -0.009940f, -0.011630f, + -0.013049f, -0.014143f, -0.014873f, -0.015213f, -0.015155f, -0.014706f, -0.013887f, -0.012733f, -0.011291f, -0.009618f, -0.007779f, -0.005841f, -0.003874f, -0.001948f, -0.000129f, 0.001525f, 0.002963f, 0.004143f, 0.005037f, 0.005626f, 0.005908f, 0.005888f, 0.005586f, 0.005033f, 0.004268f, 0.003335f, 0.002288f, 0.001178f, 0.000062f, -0.001008f, -0.001982f, -0.002818f, -0.003480f, -0.003940f, -0.004181f, -0.004195f, -0.003984f, -0.003562f, -0.002948f, -0.002172f, -0.001269f, -0.000279f, 0.000755f, 0.001790f, 0.002784f, 0.003696f, 0.004492f, 0.005144f, 0.005628f, 0.005932f, 0.006051f, 0.005986f, 0.005752f, 0.005365f, 0.004852f, 0.004244f, 0.003576f, 0.002883f, 0.002204f, 0.001575f, 0.001027f, 0.000590f, 0.000286f, 0.000130f, -0.062719f, -0.092049f, -0.073323f, 0.069649f, -0.009513f, -0.100002f, -0.109524f, -0.147956f, -0.248873f, -0.178598f, -0.035212f, 0.057802f, -0.137092f, -0.217856f, 0.034081f, -0.064171f, -0.031464f, 0.068502f, 0.197143f, 0.101509f, -0.063704f, 0.004287f, -0.071943f, -0.096419f, -0.036460f, 0.098240f, 0.374600f, 0.252128f, 0.088983f, -0.044047f, -0.174233f, -0.131298f, + -0.136368f, 0.295343f, 0.450354f, 0.237705f, -0.128321f, -0.279512f, -0.350140f, -0.078530f, 0.362555f, 0.168500f, 0.173851f, -0.032953f, -0.170410f, -0.097289f, 0.222653f, 0.428155f, 0.230823f, -0.343600f, -0.482075f, -0.424160f, 0.047068f, 0.398882f, 0.561588f, 0.255711f, -0.070975f, -0.423283f, -0.237417f, -0.018807f, -0.046951f, 0.340034f, 0.152083f, -0.135910f, -0.141146f, 0.214772f, -0.120158f, -0.258864f, -0.375960f, -0.158851f, -0.014091f, 0.153122f, 0.103225f, 0.158943f, 0.043085f, -0.046721f, -0.114438f, -0.220415f, -0.153978f, 0.054363f, 0.154925f, 0.099798f, -0.179298f, -0.297833f, -0.102031f, 0.255803f, 0.468993f, 0.279909f, -0.146318f, -0.514820f, -0.515969f, -0.096151f, 0.447641f, 0.583733f, 0.311249f, -0.142109f, -0.400262f, -0.479969f, -0.058551f, 0.187743f, 0.275447f, 0.142366f, -0.084071f, -0.257869f, -0.250172f, -0.047876f, 0.212787f, 0.309702f, 0.186050f, -0.074890f, -0.273524f, -0.307341f, -0.180162f, 0.018243f, 0.247828f, 0.359676f, 0.146780f, -0.154708f, -0.410942f, -0.358159f, 0.001180f, 0.263830f, 0.387048f, 0.275723f, -0.090244f, -0.361436f, -0.399106f, -0.154295f, + 0.149885f, 0.412521f, 0.361088f, 0.065173f, -0.327785f, -0.456368f, -0.330803f, 0.058165f, 0.383040f, 0.477541f, 0.181098f, -0.247109f, -0.488622f, -0.385433f, -0.026630f, 0.351904f, 0.479808f, 0.272364f, -0.159846f, -0.445736f, -0.426307f, -0.086532f, 0.272691f, 0.432691f, 0.252161f, -0.094124f, -0.290550f, -0.191220f, -0.001330f, 0.035416f, 0.015705f, 0.002131f}, + {0.025310f, 0.025687f, 0.026423f, 0.027479f, 0.028803f, 0.030327f, 0.031971f, 0.033646f, 0.035260f, 0.036719f, 0.037934f, 0.038819f, 0.039302f, 0.039323f, 0.038839f, 0.037826f, 0.036279f, 0.034214f, 0.031669f, 0.028699f, 0.025378f, 0.021796f, 0.018055f, 0.014265f, 0.010543f, 0.007004f, 0.003761f, 0.000920f, -0.001427f, -0.003202f, -0.004345f, -0.004818f, -0.004606f, -0.003716f, -0.002180f, -0.000053f, 0.002590f, 0.005652f, 0.009022f, 0.012578f, 0.016186f, 0.019711f, 0.023017f, 0.025976f, 0.028466f, 0.030383f, 0.031636f, 0.032159f, 0.031907f, 0.030860f, 0.029023f, 0.026427f, 0.023127f, 0.019201f, 0.014747f, 0.009880f, 0.004727f, -0.000576f, -0.005887f, -0.011066f, -0.015978f, -0.020496f, -0.024506f, -0.027913f, -0.030640f, -0.032632f, -0.033857f, -0.034310f, -0.034006f, -0.032985f, -0.031308f, -0.029055f, -0.026321f, -0.023213f, -0.019849f, -0.016346f, -0.012827f, -0.009407f, -0.006194f, -0.003285f, -0.000764f, 0.001304f, 0.002872f, 0.003912f, 0.004415f, 0.004395f, 0.003882f, 0.002923f, 0.001580f, -0.000071f, -0.001949f, -0.003965f, -0.006027f, -0.008047f, -0.009940f, -0.011630f, + -0.013049f, -0.014143f, -0.014873f, -0.015213f, -0.015155f, -0.014706f, -0.013887f, -0.012733f, -0.011291f, -0.009618f, -0.007779f, -0.005841f, -0.003874f, -0.001948f, -0.000129f, 0.001525f, 0.002963f, 0.004143f, 0.005037f, 0.005626f, 0.005908f, 0.005888f, 0.005586f, 0.005033f, 0.004268f, 0.003335f, 0.002288f, 0.001178f, 0.000062f, -0.001008f, -0.001982f, -0.002818f, -0.003480f, -0.003940f, -0.004181f, -0.004195f, -0.003984f, -0.003562f, -0.002948f, -0.002172f, -0.001269f, -0.000279f, 0.000755f, 0.001790f, 0.002784f, 0.003696f, 0.004492f, 0.005144f, 0.005628f, 0.005932f, 0.006051f, 0.005986f, 0.005752f, 0.005365f, 0.004852f, 0.004244f, 0.003576f, 0.002883f, 0.002204f, 0.001575f, 0.001027f, 0.000590f, 0.000286f, 0.000130f, -0.062719f, -0.092049f, -0.073323f, 0.069649f, -0.009513f, -0.100002f, -0.109524f, -0.147956f, -0.248873f, -0.178598f, -0.035212f, 0.057802f, -0.137092f, -0.217856f, 0.034081f, -0.064171f, -0.031464f, 0.068502f, 0.197143f, 0.101509f, -0.063704f, 0.004287f, -0.071943f, -0.096419f, -0.036460f, 0.098240f, 0.374600f, 0.252128f, 0.088983f, -0.044047f, -0.174233f, -0.131298f, + -0.136368f, 0.295343f, 0.450354f, 0.237705f, -0.128321f, -0.279512f, -0.350140f, -0.078530f, 0.362555f, 0.168500f, 0.173851f, -0.032953f, -0.170410f, -0.097289f, 0.222653f, 0.428155f, 0.230823f, -0.343600f, -0.482075f, -0.424160f, 0.047068f, 0.398882f, 0.561588f, 0.255711f, -0.070975f, -0.423283f, -0.237417f, -0.018807f, -0.046951f, 0.340034f, 0.152083f, -0.135910f, -0.141146f, 0.214772f, -0.120158f, -0.258864f, -0.375960f, -0.158851f, -0.014091f, 0.153122f, 0.103225f, 0.158943f, 0.043085f, -0.046721f, -0.114438f, -0.220415f, -0.153978f, 0.054363f, 0.154925f, 0.099798f, -0.179298f, -0.297833f, -0.102031f, 0.255803f, 0.468993f, 0.279909f, -0.146318f, -0.514820f, -0.515969f, -0.096151f, 0.447641f, 0.583733f, 0.311249f, -0.142109f, -0.400262f, -0.479969f, -0.058551f, 0.187743f, 0.275447f, 0.142366f, -0.084071f, -0.257869f, -0.250172f, -0.047876f, 0.212787f, 0.309702f, 0.186050f, -0.074890f, -0.273524f, -0.307341f, -0.180162f, 0.018243f, 0.247828f, 0.359676f, 0.146780f, -0.154708f, -0.410942f, -0.358159f, 0.001180f, 0.263830f, 0.387048f, 0.275723f, -0.090244f, -0.361436f, -0.399106f, -0.154295f, + 0.149885f, 0.412521f, 0.361088f, 0.065173f, -0.327785f, -0.456368f, -0.330803f, 0.058165f, 0.383040f, 0.477541f, 0.181098f, -0.247109f, -0.488622f, -0.385433f, -0.026630f, 0.351904f, 0.479808f, 0.272364f, -0.159846f, -0.445736f, -0.426307f, -0.086532f, 0.272691f, 0.432691f, 0.252161f, -0.094124f, -0.290550f, -0.191220f, -0.001330f, 0.035416f, 0.015705f, 0.002131f} + }, + { + {0.049252f, 0.048505f, 0.047032f, 0.044879f, 0.042109f, 0.038804f, 0.035061f, 0.030990f, 0.026708f, 0.022336f, 0.017998f, 0.013811f, 0.009887f, 0.006325f, 0.003212f, 0.000616f, -0.001412f, -0.002843f, -0.003669f, -0.003901f, -0.003572f, -0.002732f, -0.001448f, 0.000197f, 0.002114f, 0.004204f, 0.006363f, 0.008491f, 0.010489f, 0.012268f, 0.013747f, 0.014860f, 0.015558f, 0.015807f, 0.015592f, 0.014918f, 0.013808f, 0.012301f, 0.010453f, 0.008334f, 0.006024f, 0.003612f, 0.001190f, -0.001148f, -0.003310f, -0.005209f, -0.006768f, -0.007922f, -0.008617f, -0.008817f, -0.008503f, -0.007671f, -0.006338f, -0.004534f, -0.002308f, 0.000279f, 0.003153f, 0.006233f, 0.009431f, 0.012654f, 0.015812f, 0.018815f, 0.021583f, 0.024042f, 0.026129f, 0.027795f, 0.029005f, 0.029740f, 0.029994f, 0.029780f, 0.029122f, 0.028059f, 0.026641f, 0.024928f, 0.022987f, 0.020887f, 0.018702f, 0.016503f, 0.014358f, 0.012331f, 0.010474f, 0.008833f, 0.007442f, 0.006322f, 0.005484f, 0.004926f, 0.004634f, 0.004584f, 0.004742f, 0.005069f, 0.005517f, 0.006037f, 0.006579f, 0.007092f, 0.007531f, 0.007854f, + 0.008025f, 0.008018f, 0.007815f, 0.007408f, 0.006800f, 0.006002f, 0.005035f, 0.003927f, 0.002715f, 0.001441f, 0.000148f, -0.001115f, -0.002303f, -0.003371f, -0.004279f, -0.004990f, -0.005478f, -0.005721f, -0.005708f, -0.005438f, -0.004916f, -0.004159f, -0.003191f, -0.002043f, -0.000754f, 0.000634f, 0.002076f, 0.003525f, 0.004935f, 0.006261f, 0.007464f, 0.008508f, 0.009363f, 0.010009f, 0.010432f, 0.010625f, 0.010593f, 0.010344f, 0.009898f, 0.009277f, 0.008512f, 0.007636f, 0.006683f, 0.005691f, 0.004696f, 0.003732f, 0.002830f, 0.002016f, 0.001311f, 0.000731f, 0.000286f, -0.000024f, -0.000201f, -0.000255f, -0.000199f, -0.000054f, 0.000159f, 0.000418f, 0.000696f, 0.000971f, 0.001220f, 0.001425f, 0.001571f, 0.001646f, -0.014926f, -0.089426f, -0.105113f, 0.033285f, 0.006325f, -0.014680f, -0.339995f, -0.200832f, -0.198426f, -0.256673f, -0.050366f, 0.153312f, 0.188704f, 0.030454f, 0.048690f, 0.023019f, 0.123926f, -0.055664f, 0.033674f, 0.042263f, 0.008735f, 0.027934f, 0.002027f, -0.002475f, 0.007478f, -0.012204f, -0.027819f, 0.013803f, 0.002576f, -0.058598f, -0.073877f, -0.035068f, + 0.004746f, -0.010529f, -0.047010f, -0.011128f, 0.052184f, 0.157500f, 0.015430f, -0.057176f, -0.214266f, 0.018587f, 0.168739f, 0.193512f, 0.144175f, -0.085009f, -0.238551f, -0.226822f, -0.111240f, 0.096866f, 0.212460f, 0.198553f, 0.018198f, -0.167907f, -0.239394f, -0.157140f, -0.009600f, 0.166381f, 0.145376f, 0.056992f, 0.077190f, -0.230234f, -0.183588f, -0.000075f, 0.080051f, -0.082221f, 0.309177f, 0.369904f, 0.326232f, -0.054229f, -0.305098f, -0.330527f, 0.022802f, 0.249722f, 0.282320f, 0.082731f, -0.211771f, -0.253254f, -0.300030f, -0.050831f, 0.257734f, 0.345267f, 0.211626f, -0.062206f, -0.255335f, -0.227888f, 0.022794f, 0.175552f, 0.167798f, -0.016114f, -0.153397f, -0.180506f, -0.028015f, 0.109007f, 0.103911f, 0.006245f, -0.082177f, -0.174945f, -0.054919f, 0.125037f, 0.327312f, 0.269979f, -0.013689f, -0.366086f, -0.419537f, -0.178826f, 0.224978f, 0.503260f, 0.467893f, 0.158368f, -0.345247f, -0.630165f, -0.404654f, 0.114994f, 0.475935f, 0.375711f, -0.062013f, -0.348152f, -0.410496f, -0.082221f, 0.215751f, 0.265317f, 0.248844f, -0.056057f, -0.155688f, -0.180562f, -0.044266f, 0.110211f, + 0.147724f, 0.049847f, -0.036263f, -0.111937f, -0.078368f, 0.022911f, 0.111876f, 0.086901f, 0.002921f, -0.090624f, -0.103845f, -0.027816f, 0.068250f, 0.117116f, 0.093396f, -0.028071f, -0.137833f, -0.136771f, -0.038484f, 0.097302f, 0.172137f, 0.159891f, 0.013142f, -0.144177f, -0.191770f, -0.136983f, -0.000232f, 0.108200f, 0.075797f, 0.020524f, 0.004679f, 0.007371f}, + {0.049252f, 0.048505f, 0.047032f, 0.044879f, 0.042109f, 0.038804f, 0.035061f, 0.030990f, 0.026708f, 0.022336f, 0.017998f, 0.013811f, 0.009887f, 0.006325f, 0.003212f, 0.000616f, -0.001412f, -0.002843f, -0.003669f, -0.003901f, -0.003572f, -0.002732f, -0.001448f, 0.000197f, 0.002114f, 0.004204f, 0.006363f, 0.008491f, 0.010489f, 0.012268f, 0.013747f, 0.014860f, 0.015558f, 0.015807f, 0.015592f, 0.014918f, 0.013808f, 0.012301f, 0.010453f, 0.008334f, 0.006024f, 0.003612f, 0.001190f, -0.001148f, -0.003310f, -0.005209f, -0.006768f, -0.007922f, -0.008617f, -0.008817f, -0.008503f, -0.007671f, -0.006338f, -0.004534f, -0.002308f, 0.000279f, 0.003153f, 0.006233f, 0.009431f, 0.012654f, 0.015812f, 0.018815f, 0.021583f, 0.024042f, 0.026129f, 0.027795f, 0.029005f, 0.029740f, 0.029994f, 0.029780f, 0.029122f, 0.028059f, 0.026641f, 0.024928f, 0.022987f, 0.020887f, 0.018702f, 0.016503f, 0.014358f, 0.012331f, 0.010474f, 0.008833f, 0.007442f, 0.006322f, 0.005484f, 0.004926f, 0.004634f, 0.004584f, 0.004742f, 0.005069f, 0.005517f, 0.006037f, 0.006579f, 0.007092f, 0.007531f, 0.007854f, + 0.008025f, 0.008018f, 0.007815f, 0.007408f, 0.006800f, 0.006002f, 0.005035f, 0.003927f, 0.002715f, 0.001441f, 0.000148f, -0.001115f, -0.002303f, -0.003371f, -0.004279f, -0.004990f, -0.005478f, -0.005721f, -0.005708f, -0.005438f, -0.004916f, -0.004159f, -0.003191f, -0.002043f, -0.000754f, 0.000634f, 0.002076f, 0.003525f, 0.004935f, 0.006261f, 0.007464f, 0.008508f, 0.009363f, 0.010009f, 0.010432f, 0.010625f, 0.010593f, 0.010344f, 0.009898f, 0.009277f, 0.008512f, 0.007636f, 0.006683f, 0.005691f, 0.004696f, 0.003732f, 0.002830f, 0.002016f, 0.001311f, 0.000731f, 0.000286f, -0.000024f, -0.000201f, -0.000255f, -0.000199f, -0.000054f, 0.000159f, 0.000418f, 0.000696f, 0.000971f, 0.001220f, 0.001425f, 0.001571f, 0.001646f, -0.014926f, -0.089426f, -0.105113f, 0.033285f, 0.006325f, -0.014680f, -0.339995f, -0.200832f, -0.198426f, -0.256673f, -0.050366f, 0.153312f, 0.188704f, 0.030454f, 0.048690f, 0.023019f, 0.123926f, -0.055664f, 0.033674f, 0.042263f, 0.008735f, 0.027934f, 0.002027f, -0.002475f, 0.007478f, -0.012204f, -0.027819f, 0.013803f, 0.002576f, -0.058598f, -0.073877f, -0.035068f, + 0.004746f, -0.010529f, -0.047010f, -0.011128f, 0.052184f, 0.157500f, 0.015430f, -0.057176f, -0.214266f, 0.018587f, 0.168739f, 0.193512f, 0.144175f, -0.085009f, -0.238551f, -0.226822f, -0.111240f, 0.096866f, 0.212460f, 0.198553f, 0.018198f, -0.167907f, -0.239394f, -0.157140f, -0.009600f, 0.166381f, 0.145376f, 0.056992f, 0.077190f, -0.230234f, -0.183588f, -0.000075f, 0.080051f, -0.082221f, 0.309177f, 0.369904f, 0.326232f, -0.054229f, -0.305098f, -0.330527f, 0.022802f, 0.249722f, 0.282320f, 0.082731f, -0.211771f, -0.253254f, -0.300030f, -0.050831f, 0.257734f, 0.345267f, 0.211626f, -0.062206f, -0.255335f, -0.227888f, 0.022794f, 0.175552f, 0.167798f, -0.016114f, -0.153397f, -0.180506f, -0.028015f, 0.109007f, 0.103911f, 0.006245f, -0.082177f, -0.174945f, -0.054919f, 0.125037f, 0.327312f, 0.269979f, -0.013689f, -0.366086f, -0.419537f, -0.178826f, 0.224978f, 0.503260f, 0.467893f, 0.158368f, -0.345247f, -0.630165f, -0.404654f, 0.114994f, 0.475935f, 0.375711f, -0.062013f, -0.348152f, -0.410496f, -0.082221f, 0.215751f, 0.265317f, 0.248844f, -0.056057f, -0.155688f, -0.180562f, -0.044266f, 0.110211f, + 0.147724f, 0.049847f, -0.036263f, -0.111937f, -0.078368f, 0.022911f, 0.111876f, 0.086901f, 0.002921f, -0.090624f, -0.103845f, -0.027816f, 0.068250f, 0.117116f, 0.093396f, -0.028071f, -0.137833f, -0.136771f, -0.038484f, 0.097302f, 0.172137f, 0.159891f, 0.013142f, -0.144177f, -0.191770f, -0.136983f, -0.000232f, 0.108200f, 0.075797f, 0.020524f, 0.004679f, 0.007371f} + }, + { + {0.020524f, 0.019954f, 0.018829f, 0.017179f, 0.015049f, 0.012498f, 0.009593f, 0.006414f, 0.003047f, -0.000417f, -0.003884f, -0.007261f, -0.010454f, -0.013378f, -0.015953f, -0.018107f, -0.019780f, -0.020927f, -0.021512f, -0.021516f, -0.020934f, -0.019777f, -0.018070f, -0.015849f, -0.013166f, -0.010083f, -0.006669f, -0.003003f, 0.000831f, 0.004749f, 0.008661f, 0.012484f, 0.016134f, 0.019537f, 0.022622f, 0.025331f, 0.027614f, 0.029432f, 0.030761f, 0.031586f, 0.031906f, 0.031731f, 0.031085f, 0.029999f, 0.028515f, 0.026683f, 0.024560f, 0.022205f, 0.019684f, 0.017061f, 0.014399f, 0.011763f, 0.009210f, 0.006795f, 0.004564f, 0.002558f, 0.000810f, -0.000657f, -0.001825f, -0.002689f, -0.003249f, -0.003513f, -0.003498f, -0.003225f, -0.002722f, -0.002019f, -0.001152f, -0.000157f, 0.000930f, 0.002070f, 0.003228f, 0.004372f, 0.005470f, 0.006495f, 0.007424f, 0.008241f, 0.008929f, 0.009482f, 0.009893f, 0.010163f, 0.010295f, 0.010296f, 0.010175f, 0.009946f, 0.009620f, 0.009213f, 0.008740f, 0.008214f, 0.007651f, 0.007062f, 0.006460f, 0.005852f, 0.005247f, 0.004650f, 0.004064f, 0.003492f, + 0.002932f, 0.002383f, 0.001843f, 0.001308f, 0.000775f, 0.000239f, -0.000302f, -0.000852f, -0.001413f, -0.001984f, -0.002566f, -0.003155f, -0.003747f, -0.004338f, -0.004921f, -0.005487f, -0.006028f, -0.006534f, -0.006994f, -0.007400f, -0.007741f, -0.008010f, -0.008197f, -0.008298f, -0.008307f, -0.008224f, -0.008047f, -0.007779f, -0.007425f, -0.006992f, -0.006489f, -0.005928f, -0.005323f, -0.004687f, -0.004037f, -0.003390f, -0.002763f, -0.002172f, -0.001634f, -0.001164f, -0.000775f, -0.000480f, -0.000288f, -0.000207f, -0.000239f, -0.000386f, -0.000648f, -0.001019f, -0.001491f, -0.002055f, -0.002698f, -0.003404f, -0.004157f, -0.004940f, -0.005733f, -0.006516f, -0.007271f, -0.007979f, -0.008622f, -0.009185f, -0.009653f, -0.010015f, -0.010262f, -0.010386f, -0.013960f, 0.039538f, -0.009080f, -0.048067f, -0.014905f, 0.010152f, 0.017116f, 0.126842f, 0.199826f, 0.247910f, -0.051869f, -0.166142f, -0.248324f, -0.100263f, 0.104231f, 0.332617f, 0.192145f, 0.074884f, -0.098427f, -0.080697f, -0.048697f, 0.050512f, -0.015635f, -0.046354f, -0.035057f, -0.020414f, 0.024669f, 0.127237f, 0.109052f, 0.140236f, -0.066748f, -0.193365f, + -0.186352f, -0.061126f, 0.134861f, 0.272082f, 0.167805f, -0.028111f, -0.220608f, -0.175739f, 0.052834f, 0.015141f, 0.044169f, 0.024964f, 0.012918f, -0.045790f, -0.072895f, 0.081872f, 0.084591f, -0.085795f, -0.090978f, -0.103647f, -0.040909f, 0.030292f, 0.143571f, 0.103650f, 0.063063f, -0.054640f, -0.065832f, -0.094783f, -0.028008f, 0.097145f, 0.166294f, 0.103833f, 0.011883f, -0.106418f, -0.226422f, -0.243543f, -0.041307f, 0.181256f, 0.277106f, 0.278246f, 0.158088f, -0.094954f, -0.347089f, -0.337988f, -0.124755f, 0.158593f, 0.303979f, 0.289625f, 0.048365f, -0.174889f, -0.299761f, -0.228573f, 0.044282f, 0.174276f, 0.072975f, -0.086911f, -0.143364f, -0.122536f, 0.003688f, 0.079789f, 0.121467f, 0.095954f, 0.027984f, -0.075559f, -0.146718f, -0.055121f, 0.023112f, 0.107898f, 0.137225f, 0.027182f, -0.076223f, -0.156842f, -0.102407f, 0.033455f, 0.181355f, 0.146131f, -0.065615f, -0.189951f, -0.147386f, -0.008197f, 0.177630f, 0.220091f, 0.110133f, -0.157173f, -0.401624f, -0.283624f, 0.056410f, 0.287032f, 0.307662f, 0.057544f, -0.174041f, -0.256330f, -0.178914f, 0.081254f, 0.200731f, 0.216187f, + 0.085729f, -0.097065f, -0.205649f, -0.161221f, -0.023881f, 0.187910f, 0.213384f, 0.126237f, -0.103732f, -0.250056f, -0.220258f, -0.020818f, 0.123885f, 0.223463f, 0.157788f, 0.012163f, -0.171729f, -0.205165f, -0.087605f, 0.108279f, 0.115753f, 0.091401f, -0.027898f, -0.120550f, -0.095680f, -0.003018f, 0.042296f, 0.022227f, 0.001533f, -0.002457f, -0.002996f, -0.001826f}, + {0.020524f, 0.019954f, 0.018829f, 0.017179f, 0.015049f, 0.012498f, 0.009593f, 0.006414f, 0.003047f, -0.000417f, -0.003884f, -0.007261f, -0.010454f, -0.013378f, -0.015953f, -0.018107f, -0.019780f, -0.020927f, -0.021512f, -0.021516f, -0.020934f, -0.019777f, -0.018070f, -0.015849f, -0.013166f, -0.010083f, -0.006669f, -0.003003f, 0.000831f, 0.004749f, 0.008661f, 0.012484f, 0.016134f, 0.019537f, 0.022622f, 0.025331f, 0.027614f, 0.029432f, 0.030761f, 0.031586f, 0.031906f, 0.031731f, 0.031085f, 0.029999f, 0.028515f, 0.026683f, 0.024560f, 0.022205f, 0.019684f, 0.017061f, 0.014399f, 0.011763f, 0.009210f, 0.006795f, 0.004564f, 0.002558f, 0.000810f, -0.000657f, -0.001825f, -0.002689f, -0.003249f, -0.003513f, -0.003498f, -0.003225f, -0.002722f, -0.002019f, -0.001152f, -0.000157f, 0.000930f, 0.002070f, 0.003228f, 0.004372f, 0.005470f, 0.006495f, 0.007424f, 0.008241f, 0.008929f, 0.009482f, 0.009893f, 0.010163f, 0.010295f, 0.010296f, 0.010175f, 0.009946f, 0.009620f, 0.009213f, 0.008740f, 0.008214f, 0.007651f, 0.007062f, 0.006460f, 0.005852f, 0.005247f, 0.004650f, 0.004064f, 0.003492f, + 0.002932f, 0.002383f, 0.001843f, 0.001308f, 0.000775f, 0.000239f, -0.000302f, -0.000852f, -0.001413f, -0.001984f, -0.002566f, -0.003155f, -0.003747f, -0.004338f, -0.004921f, -0.005487f, -0.006028f, -0.006534f, -0.006994f, -0.007400f, -0.007741f, -0.008010f, -0.008197f, -0.008298f, -0.008307f, -0.008224f, -0.008047f, -0.007779f, -0.007425f, -0.006992f, -0.006489f, -0.005928f, -0.005323f, -0.004687f, -0.004037f, -0.003390f, -0.002763f, -0.002172f, -0.001634f, -0.001164f, -0.000775f, -0.000480f, -0.000288f, -0.000207f, -0.000239f, -0.000386f, -0.000648f, -0.001019f, -0.001491f, -0.002055f, -0.002698f, -0.003404f, -0.004157f, -0.004940f, -0.005733f, -0.006516f, -0.007271f, -0.007979f, -0.008622f, -0.009185f, -0.009653f, -0.010015f, -0.010262f, -0.010386f, -0.013960f, 0.039538f, -0.009080f, -0.048067f, -0.014905f, 0.010152f, 0.017116f, 0.126842f, 0.199826f, 0.247910f, -0.051869f, -0.166142f, -0.248324f, -0.100263f, 0.104231f, 0.332617f, 0.192145f, 0.074884f, -0.098427f, -0.080697f, -0.048697f, 0.050512f, -0.015635f, -0.046354f, -0.035057f, -0.020414f, 0.024669f, 0.127237f, 0.109052f, 0.140236f, -0.066748f, -0.193365f, + -0.186352f, -0.061126f, 0.134861f, 0.272082f, 0.167805f, -0.028111f, -0.220608f, -0.175739f, 0.052834f, 0.015141f, 0.044169f, 0.024964f, 0.012918f, -0.045790f, -0.072895f, 0.081872f, 0.084591f, -0.085795f, -0.090978f, -0.103647f, -0.040909f, 0.030292f, 0.143571f, 0.103650f, 0.063063f, -0.054640f, -0.065832f, -0.094783f, -0.028008f, 0.097145f, 0.166294f, 0.103833f, 0.011883f, -0.106418f, -0.226422f, -0.243543f, -0.041307f, 0.181256f, 0.277106f, 0.278246f, 0.158088f, -0.094954f, -0.347089f, -0.337988f, -0.124755f, 0.158593f, 0.303979f, 0.289625f, 0.048365f, -0.174889f, -0.299761f, -0.228573f, 0.044282f, 0.174276f, 0.072975f, -0.086911f, -0.143364f, -0.122536f, 0.003688f, 0.079789f, 0.121467f, 0.095954f, 0.027984f, -0.075559f, -0.146718f, -0.055121f, 0.023112f, 0.107898f, 0.137225f, 0.027182f, -0.076223f, -0.156842f, -0.102407f, 0.033455f, 0.181355f, 0.146131f, -0.065615f, -0.189951f, -0.147386f, -0.008197f, 0.177630f, 0.220091f, 0.110133f, -0.157173f, -0.401624f, -0.283624f, 0.056410f, 0.287032f, 0.307662f, 0.057544f, -0.174041f, -0.256330f, -0.178914f, 0.081254f, 0.200731f, 0.216187f, + 0.085729f, -0.097065f, -0.205649f, -0.161221f, -0.023881f, 0.187910f, 0.213384f, 0.126237f, -0.103732f, -0.250056f, -0.220258f, -0.020818f, 0.123885f, 0.223463f, 0.157788f, 0.012163f, -0.171729f, -0.205165f, -0.087605f, 0.108279f, 0.115753f, 0.091401f, -0.027898f, -0.120550f, -0.095680f, -0.003018f, 0.042296f, 0.022227f, 0.001533f, -0.002457f, -0.002996f, -0.001826f} + }, + { + {0.009644f, 0.009468f, 0.009121f, 0.008611f, 0.007953f, 0.007163f, 0.006262f, 0.005274f, 0.004225f, 0.003142f, 0.002054f, 0.000988f, -0.000027f, -0.000965f, -0.001801f, -0.002514f, -0.003085f, -0.003500f, -0.003747f, -0.003820f, -0.003717f, -0.003442f, -0.003001f, -0.002405f, -0.001670f, -0.000816f, 0.000135f, 0.001158f, 0.002227f, 0.003311f, 0.004383f, 0.005411f, 0.006366f, 0.007221f, 0.007949f, 0.008525f, 0.008928f, 0.009139f, 0.009144f, 0.008931f, 0.008492f, 0.007825f, 0.006931f, 0.005815f, 0.004486f, 0.002956f, 0.001243f, -0.000633f, -0.002650f, -0.004782f, -0.007002f, -0.009278f, -0.011582f, -0.013881f, -0.016142f, -0.018335f, -0.020427f, -0.022388f, -0.024190f, -0.025805f, -0.027209f, -0.028381f, -0.029301f, -0.029955f, -0.030332f, -0.030425f, -0.030229f, -0.029747f, -0.028983f, -0.027949f, -0.026658f, -0.025129f, -0.023384f, -0.021450f, -0.019356f, -0.017135f, -0.014821f, -0.012453f, -0.010068f, -0.007705f, -0.005403f, -0.003199f, -0.001132f, 0.000765f, 0.002459f, 0.003923f, 0.005133f, 0.006068f, 0.006714f, 0.007061f, 0.007107f, 0.006853f, 0.006307f, 0.005483f, 0.004398f, 0.003078f, + 0.001550f, -0.000154f, -0.001998f, -0.003945f, -0.005954f, -0.007986f, -0.010000f, -0.011957f, -0.013820f, -0.015553f, -0.017125f, -0.018509f, -0.019682f, -0.020625f, -0.021326f, -0.021779f, -0.021981f, -0.021937f, -0.021655f, -0.021150f, -0.020440f, -0.019547f, -0.018497f, -0.017318f, -0.016038f, -0.014690f, -0.013303f, -0.011907f, -0.010533f, -0.009205f, -0.007950f, -0.006788f, -0.005737f, -0.004812f, -0.004024f, -0.003378f, -0.002878f, -0.002524f, -0.002310f, -0.002231f, -0.002277f, -0.002435f, -0.002693f, -0.003035f, -0.003447f, -0.003913f, -0.004418f, -0.004947f, -0.005487f, -0.006026f, -0.006553f, -0.007060f, -0.007537f, -0.007981f, -0.008386f, -0.008750f, -0.009072f, -0.009351f, -0.009586f, -0.009780f, -0.009933f, -0.010047f, -0.010122f, -0.010159f, -0.006381f, -0.006690f, -0.008662f, 0.002553f, -0.010574f, 0.011035f, 0.038869f, 0.047782f, -0.001476f, -0.057592f, -0.008074f, 0.081084f, 0.167063f, 0.131524f, -0.064977f, -0.225303f, -0.116524f, -0.106720f, 0.051120f, 0.031455f, 0.014761f, 0.072488f, 0.123728f, -0.049501f, -0.130322f, -0.053549f, -0.035009f, 0.043494f, 0.122608f, 0.060982f, 0.081993f, 0.027759f, + -0.105798f, -0.090269f, 0.012188f, 0.131393f, 0.114304f, -0.013108f, -0.074906f, -0.125671f, 0.000687f, 0.129210f, 0.119575f, 0.055843f, -0.030085f, -0.126451f, -0.097710f, -0.012733f, 0.018779f, 0.043493f, 0.048670f, 0.038435f, 0.073203f, 0.009477f, -0.005739f, -0.029491f, -0.003281f, -0.046425f, 0.071531f, 0.124820f, -0.027036f, 0.104377f, -0.012306f, -0.156535f, -0.036736f, 0.089173f, -0.009564f, -0.102722f, -0.113879f, -0.056432f, 0.033718f, 0.111011f, 0.106408f, 0.060987f, -0.098402f, -0.161937f, -0.042886f, 0.147960f, 0.178631f, 0.059238f, -0.096398f, -0.094768f, -0.074140f, 0.004331f, 0.110634f, 0.127157f, -0.000446f, -0.145241f, -0.148045f, -0.063129f, 0.092906f, 0.034099f, 0.071394f, -0.014437f, -0.099531f, -0.089497f, -0.042822f, 0.207421f, 0.118617f, 0.040766f, -0.027915f, 0.085377f, 0.049048f, -0.025063f, -0.123015f, -0.095969f, -0.019997f, 0.123141f, 0.058986f, -0.063417f, -0.178076f, -0.082010f, 0.093463f, 0.204923f, 0.099605f, -0.009078f, -0.210971f, -0.163437f, 0.059593f, 0.248835f, 0.221802f, 0.081614f, -0.127644f, -0.192694f, -0.173678f, 0.018043f, 0.113932f, 0.194188f, + 0.059613f, -0.061966f, -0.151487f, -0.103943f, -0.003527f, 0.200654f, 0.139393f, 0.049949f, -0.128293f, -0.239667f, -0.153340f, 0.088918f, 0.245305f, 0.272430f, 0.111636f, -0.060927f, -0.184231f, -0.122958f, -0.033009f, 0.095671f, 0.143342f, 0.069690f, -0.060631f, -0.125431f, -0.080599f, 0.110443f, 0.131602f, 0.016236f, -0.033800f, -0.029587f, -0.011078f, -0.007853f}, + {-0.009644f, -0.009468f, -0.009121f, -0.008611f, -0.007953f, -0.007163f, -0.006262f, -0.005274f, -0.004225f, -0.003142f, -0.002054f, -0.000988f, 0.000027f, 0.000965f, 0.001801f, 0.002514f, 0.003085f, 0.003500f, 0.003747f, 0.003820f, 0.003717f, 0.003442f, 0.003001f, 0.002405f, 0.001670f, 0.000816f, -0.000135f, -0.001158f, -0.002227f, -0.003311f, -0.004383f, -0.005411f, -0.006366f, -0.007221f, -0.007949f, -0.008525f, -0.008928f, -0.009139f, -0.009144f, -0.008931f, -0.008492f, -0.007825f, -0.006931f, -0.005815f, -0.004486f, -0.002956f, -0.001243f, 0.000633f, 0.002650f, 0.004782f, 0.007002f, 0.009278f, 0.011582f, 0.013881f, 0.016142f, 0.018335f, 0.020427f, 0.022388f, 0.024190f, 0.025805f, 0.027209f, 0.028381f, 0.029301f, 0.029955f, 0.030332f, 0.030425f, 0.030229f, 0.029747f, 0.028983f, 0.027949f, 0.026658f, 0.025129f, 0.023384f, 0.021450f, 0.019356f, 0.017135f, 0.014821f, 0.012453f, 0.010068f, 0.007705f, 0.005403f, 0.003199f, 0.001132f, -0.000765f, -0.002459f, -0.003923f, -0.005133f, -0.006068f, -0.006714f, -0.007061f, -0.007107f, -0.006853f, -0.006307f, -0.005483f, -0.004398f, -0.003078f, + -0.001550f, 0.000154f, 0.001998f, 0.003945f, 0.005954f, 0.007986f, 0.010000f, 0.011957f, 0.013820f, 0.015553f, 0.017125f, 0.018509f, 0.019682f, 0.020625f, 0.021326f, 0.021779f, 0.021981f, 0.021937f, 0.021655f, 0.021150f, 0.020440f, 0.019547f, 0.018497f, 0.017318f, 0.016038f, 0.014690f, 0.013303f, 0.011907f, 0.010533f, 0.009205f, 0.007950f, 0.006788f, 0.005737f, 0.004812f, 0.004024f, 0.003378f, 0.002878f, 0.002524f, 0.002310f, 0.002231f, 0.002277f, 0.002435f, 0.002693f, 0.003035f, 0.003447f, 0.003913f, 0.004418f, 0.004947f, 0.005487f, 0.006026f, 0.006553f, 0.007060f, 0.007537f, 0.007981f, 0.008386f, 0.008750f, 0.009072f, 0.009351f, 0.009586f, 0.009780f, 0.009933f, 0.010047f, 0.010122f, 0.010159f, 0.006381f, 0.006690f, 0.008662f, -0.002553f, 0.010574f, -0.011035f, -0.038869f, -0.047782f, 0.001476f, 0.057592f, 0.008074f, -0.081084f, -0.167063f, -0.131524f, 0.064977f, 0.225303f, 0.116524f, 0.106720f, -0.051120f, -0.031455f, -0.014761f, -0.072488f, -0.123728f, 0.049501f, 0.130322f, 0.053549f, 0.035009f, -0.043494f, -0.122608f, -0.060982f, -0.081993f, -0.027759f, + 0.105798f, 0.090269f, -0.012188f, -0.131393f, -0.114304f, 0.013108f, 0.074906f, 0.125671f, -0.000687f, -0.129210f, -0.119575f, -0.055843f, 0.030085f, 0.126451f, 0.097710f, 0.012733f, -0.018779f, -0.043493f, -0.048670f, -0.038435f, -0.073203f, -0.009477f, 0.005739f, 0.029491f, 0.003281f, 0.046425f, -0.071531f, -0.124820f, 0.027036f, -0.104377f, 0.012306f, 0.156535f, 0.036736f, -0.089173f, 0.009564f, 0.102722f, 0.113879f, 0.056432f, -0.033718f, -0.111011f, -0.106408f, -0.060987f, 0.098402f, 0.161937f, 0.042886f, -0.147960f, -0.178631f, -0.059238f, 0.096398f, 0.094768f, 0.074140f, -0.004331f, -0.110634f, -0.127157f, 0.000446f, 0.145241f, 0.148045f, 0.063129f, -0.092906f, -0.034099f, -0.071394f, 0.014437f, 0.099531f, 0.089497f, 0.042822f, -0.207421f, -0.118617f, -0.040766f, 0.027915f, -0.085377f, -0.049048f, 0.025063f, 0.123015f, 0.095969f, 0.019997f, -0.123141f, -0.058986f, 0.063417f, 0.178076f, 0.082010f, -0.093463f, -0.204923f, -0.099605f, 0.009078f, 0.210971f, 0.163437f, -0.059593f, -0.248835f, -0.221802f, -0.081614f, 0.127644f, 0.192694f, 0.173678f, -0.018043f, -0.113932f, -0.194188f, + -0.059613f, 0.061966f, 0.151487f, 0.103943f, 0.003527f, -0.200654f, -0.139393f, -0.049949f, 0.128293f, 0.239667f, 0.153340f, -0.088918f, -0.245305f, -0.272430f, -0.111636f, 0.060927f, 0.184231f, 0.122958f, 0.033009f, -0.095671f, -0.143342f, -0.069690f, 0.060631f, 0.125431f, 0.080599f, -0.110443f, -0.131602f, -0.016236f, 0.033800f, 0.029587f, 0.011078f, 0.007853f} + }, + { + {0.006688f, 0.007032f, 0.007708f, 0.008693f, 0.009955f, 0.011450f, 0.013128f, 0.014934f, 0.016805f, 0.018680f, 0.020493f, 0.022184f, 0.023695f, 0.024974f, 0.025975f, 0.026664f, 0.027013f, 0.027007f, 0.026642f, 0.025924f, 0.024870f, 0.023506f, 0.021869f, 0.020002f, 0.017953f, 0.015777f, 0.013530f, 0.011269f, 0.009049f, 0.006923f, 0.004938f, 0.003137f, 0.001555f, 0.000218f, -0.000856f, -0.001656f, -0.002184f, -0.002445f, -0.002456f, -0.002239f, -0.001822f, -0.001235f, -0.000513f, 0.000308f, 0.001194f, 0.002110f, 0.003028f, 0.003922f, 0.004771f, 0.005561f, 0.006284f, 0.006939f, 0.007531f, 0.008072f, 0.008578f, 0.009070f, 0.009572f, 0.010110f, 0.010711f, 0.011402f, 0.012205f, 0.013143f, 0.014230f, 0.015478f, 0.016889f, 0.018460f, 0.020182f, 0.022036f, 0.023998f, 0.026036f, 0.028115f, 0.030192f, 0.032223f, 0.034162f, 0.035962f, 0.037578f, 0.038966f, 0.040089f, 0.040911f, 0.041407f, 0.041557f, 0.041350f, 0.040785f, 0.039867f, 0.038611f, 0.037042f, 0.035190f, 0.033093f, 0.030793f, 0.028340f, 0.025782f, 0.023170f, 0.020557f, 0.017990f, 0.015516f, 0.013176f, + 0.011007f, 0.009038f, 0.007291f, 0.005781f, 0.004515f, 0.003494f, 0.002709f, 0.002148f, 0.001790f, 0.001611f, 0.001583f, 0.001676f, 0.001859f, 0.002099f, 0.002368f, 0.002637f, 0.002880f, 0.003079f, 0.003215f, 0.003278f, 0.003263f, 0.003167f, 0.002995f, 0.002754f, 0.002457f, 0.002119f, 0.001756f, 0.001388f, 0.001032f, 0.000707f, 0.000430f, 0.000215f, 0.000074f, 0.000016f, 0.000045f, 0.000162f, 0.000364f, 0.000643f, 0.000991f, 0.001393f, 0.001834f, 0.002298f, 0.002766f, 0.003220f, 0.003643f, 0.004020f, 0.004337f, 0.004582f, 0.004748f, 0.004831f, 0.004830f, 0.004748f, 0.004591f, 0.004369f, 0.004094f, 0.003781f, 0.003445f, 0.003103f, 0.002773f, 0.002468f, 0.002206f, 0.001997f, 0.001852f, 0.001778f, -0.023727f, 0.016634f, 0.009006f, -0.011685f, -0.021680f, -0.002306f, -0.032702f, -0.038006f, -0.202481f, -0.239038f, 0.003434f, 0.076241f, -0.005551f, -0.025828f, 0.026393f, -0.019474f, -0.059689f, 0.012646f, 0.040288f, -0.003617f, 0.084536f, -0.053039f, -0.015912f, -0.044810f, -0.017461f, 0.051636f, 0.047463f, 0.116297f, -0.063592f, -0.053661f, -0.033912f, 0.028565f, + -0.000470f, -0.050829f, -0.048193f, -0.023396f, -0.033510f, 0.069715f, 0.043166f, -0.030671f, -0.047051f, -0.046498f, 0.022457f, 0.074459f, 0.069295f, -0.006436f, -0.109817f, -0.071303f, -0.066306f, -0.085501f, -0.011291f, 0.075125f, 0.069309f, -0.019625f, -0.090982f, -0.097550f, -0.064793f, 0.066334f, 0.094839f, 0.062269f, 0.043861f, -0.175167f, -0.161338f, -0.014099f, 0.037481f, 0.002564f, 0.235182f, 0.087904f, 0.024666f, -0.085714f, -0.067747f, 0.050710f, 0.185571f, 0.211533f, 0.033323f, -0.104839f, -0.118096f, -0.240279f, -0.193597f, 0.079305f, 0.197514f, 0.083143f, -0.061378f, -0.030936f, -0.215096f, -0.340234f, -0.090012f, 0.033569f, 0.191795f, 0.128478f, 0.017269f, -0.217333f, -0.215355f, -0.115990f, 0.087738f, 0.148494f, 0.153664f, -0.094107f, -0.147274f, -0.075449f, 0.097659f, 0.168823f, 0.161313f, -0.058709f, -0.188651f, -0.194937f, 0.019785f, 0.204732f, 0.302206f, 0.159633f, -0.139682f, -0.371291f, -0.357750f, -0.039294f, 0.260904f, 0.221567f, 0.024660f, -0.108040f, -0.252084f, -0.197389f, -0.001554f, 0.172462f, 0.230729f, 0.048514f, -0.049506f, -0.176786f, -0.206245f, -0.047202f, + 0.112449f, 0.183076f, 0.137019f, -0.027194f, -0.180198f, -0.207164f, -0.024390f, 0.162092f, 0.211010f, 0.088774f, -0.082070f, -0.187258f, -0.195080f, -0.058200f, 0.103324f, 0.124264f, 0.039575f, -0.042726f, -0.078431f, -0.078889f, -0.093859f, -0.000030f, 0.070585f, 0.095080f, 0.025593f, -0.064250f, -0.117292f, -0.045434f, 0.019444f, 0.013527f, 0.004283f, 0.000702f}, + {-0.006688f, -0.007032f, -0.007708f, -0.008693f, -0.009955f, -0.011450f, -0.013128f, -0.014934f, -0.016805f, -0.018680f, -0.020493f, -0.022184f, -0.023695f, -0.024974f, -0.025975f, -0.026664f, -0.027013f, -0.027007f, -0.026642f, -0.025924f, -0.024870f, -0.023506f, -0.021869f, -0.020002f, -0.017953f, -0.015777f, -0.013530f, -0.011269f, -0.009049f, -0.006923f, -0.004938f, -0.003137f, -0.001555f, -0.000218f, 0.000856f, 0.001656f, 0.002184f, 0.002445f, 0.002456f, 0.002239f, 0.001822f, 0.001235f, 0.000513f, -0.000308f, -0.001194f, -0.002110f, -0.003028f, -0.003922f, -0.004771f, -0.005561f, -0.006284f, -0.006939f, -0.007531f, -0.008072f, -0.008578f, -0.009070f, -0.009572f, -0.010110f, -0.010711f, -0.011402f, -0.012205f, -0.013143f, -0.014230f, -0.015478f, -0.016889f, -0.018460f, -0.020182f, -0.022036f, -0.023998f, -0.026036f, -0.028115f, -0.030192f, -0.032223f, -0.034162f, -0.035962f, -0.037578f, -0.038966f, -0.040089f, -0.040911f, -0.041407f, -0.041557f, -0.041350f, -0.040785f, -0.039867f, -0.038611f, -0.037042f, -0.035190f, -0.033093f, -0.030793f, -0.028340f, -0.025782f, -0.023170f, -0.020557f, -0.017990f, -0.015516f, -0.013176f, + -0.011007f, -0.009038f, -0.007291f, -0.005781f, -0.004515f, -0.003494f, -0.002709f, -0.002148f, -0.001790f, -0.001611f, -0.001583f, -0.001676f, -0.001859f, -0.002099f, -0.002368f, -0.002637f, -0.002880f, -0.003079f, -0.003215f, -0.003278f, -0.003263f, -0.003167f, -0.002995f, -0.002754f, -0.002457f, -0.002119f, -0.001756f, -0.001388f, -0.001032f, -0.000707f, -0.000430f, -0.000215f, -0.000074f, -0.000016f, -0.000045f, -0.000162f, -0.000364f, -0.000643f, -0.000991f, -0.001393f, -0.001834f, -0.002298f, -0.002766f, -0.003220f, -0.003643f, -0.004020f, -0.004337f, -0.004582f, -0.004748f, -0.004831f, -0.004830f, -0.004748f, -0.004591f, -0.004369f, -0.004094f, -0.003781f, -0.003445f, -0.003103f, -0.002773f, -0.002468f, -0.002206f, -0.001997f, -0.001852f, -0.001778f, 0.023727f, -0.016634f, -0.009006f, 0.011685f, 0.021680f, 0.002306f, 0.032702f, 0.038006f, 0.202481f, 0.239038f, -0.003434f, -0.076241f, 0.005551f, 0.025828f, -0.026393f, 0.019474f, 0.059689f, -0.012646f, -0.040288f, 0.003617f, -0.084536f, 0.053039f, 0.015912f, 0.044810f, 0.017461f, -0.051636f, -0.047463f, -0.116297f, 0.063592f, 0.053661f, 0.033912f, -0.028565f, + 0.000470f, 0.050829f, 0.048193f, 0.023396f, 0.033510f, -0.069715f, -0.043166f, 0.030671f, 0.047051f, 0.046498f, -0.022457f, -0.074459f, -0.069295f, 0.006436f, 0.109817f, 0.071303f, 0.066306f, 0.085501f, 0.011291f, -0.075125f, -0.069309f, 0.019625f, 0.090982f, 0.097550f, 0.064793f, -0.066334f, -0.094839f, -0.062269f, -0.043861f, 0.175167f, 0.161338f, 0.014099f, -0.037481f, -0.002564f, -0.235182f, -0.087904f, -0.024666f, 0.085714f, 0.067747f, -0.050710f, -0.185571f, -0.211533f, -0.033323f, 0.104839f, 0.118096f, 0.240279f, 0.193597f, -0.079305f, -0.197514f, -0.083143f, 0.061378f, 0.030936f, 0.215096f, 0.340234f, 0.090012f, -0.033569f, -0.191795f, -0.128478f, -0.017269f, 0.217333f, 0.215355f, 0.115990f, -0.087738f, -0.148494f, -0.153664f, 0.094107f, 0.147274f, 0.075449f, -0.097659f, -0.168823f, -0.161313f, 0.058709f, 0.188651f, 0.194937f, -0.019785f, -0.204732f, -0.302206f, -0.159633f, 0.139682f, 0.371291f, 0.357750f, 0.039294f, -0.260904f, -0.221567f, -0.024660f, 0.108040f, 0.252084f, 0.197389f, 0.001554f, -0.172462f, -0.230729f, -0.048514f, 0.049506f, 0.176786f, 0.206245f, 0.047202f, + -0.112449f, -0.183076f, -0.137019f, 0.027194f, 0.180198f, 0.207164f, 0.024390f, -0.162092f, -0.211010f, -0.088774f, 0.082070f, 0.187258f, 0.195080f, 0.058200f, -0.103324f, -0.124264f, -0.039575f, 0.042726f, 0.078431f, 0.078889f, 0.093859f, 0.000030f, -0.070585f, -0.095080f, -0.025593f, 0.064250f, 0.117292f, 0.045434f, -0.019444f, -0.013527f, -0.004283f, -0.000702f} + }, + { + {-0.042673f, -0.041730f, -0.039874f, -0.037163f, -0.033680f, -0.029535f, -0.024856f, -0.019785f, -0.014478f, -0.009095f, -0.003795f, 0.001267f, 0.005945f, 0.010111f, 0.013653f, 0.016485f, 0.018543f, 0.019793f, 0.020227f, 0.019867f, 0.018758f, 0.016974f, 0.014606f, 0.011768f, 0.008583f, 0.005187f, 0.001718f, -0.001687f, -0.004895f, -0.007785f, -0.010249f, -0.012198f, -0.013566f, -0.014306f, -0.014401f, -0.013853f, -0.012694f, -0.010976f, -0.008770f, -0.006170f, -0.003278f, -0.000211f, 0.002912f, 0.005967f, 0.008838f, 0.011412f, 0.013592f, 0.015292f, 0.016449f, 0.017016f, 0.016970f, 0.016311f, 0.015061f, 0.013261f, 0.010975f, 0.008281f, 0.005272f, 0.002053f, -0.001267f, -0.004575f, -0.007762f, -0.010723f, -0.013361f, -0.015596f, -0.017360f, -0.018605f, -0.019301f, -0.019439f, -0.019030f, -0.018105f, -0.016711f, -0.014913f, -0.012790f, -0.010428f, -0.007922f, -0.005370f, -0.002870f, -0.000514f, 0.001612f, 0.003434f, 0.004888f, 0.005930f, 0.006527f, 0.006669f, 0.006361f, 0.005623f, 0.004494f, 0.003025f, 0.001281f, -0.000667f, -0.002739f, -0.004855f, -0.006933f, -0.008895f, -0.010671f, -0.012198f, + -0.013427f, -0.014318f, -0.014850f, -0.015013f, -0.014816f, -0.014280f, -0.013438f, -0.012339f, -0.011038f, -0.009599f, -0.008090f, -0.006582f, -0.005142f, -0.003835f, -0.002722f, -0.001851f, -0.001261f, -0.000981f, -0.001023f, -0.001390f, -0.002068f, -0.003032f, -0.004245f, -0.005661f, -0.007225f, -0.008877f, -0.010553f, -0.012188f, -0.013720f, -0.015092f, -0.016251f, -0.017156f, -0.017772f, -0.018079f, -0.018067f, -0.017739f, -0.017110f, -0.016205f, -0.015061f, -0.013722f, -0.012239f, -0.010666f, -0.009062f, -0.007482f, -0.005982f, -0.004610f, -0.003411f, -0.002418f, -0.001657f, -0.001143f, -0.000880f, -0.000862f, -0.001071f, -0.001483f, -0.002062f, -0.002769f, -0.003559f, -0.004386f, -0.005202f, -0.005962f, -0.006625f, -0.007155f, -0.007525f, -0.007715f, 0.000703f, -0.012014f, 0.023058f, 0.009347f, 0.006556f, 0.046623f, 0.036669f, -0.163509f, -0.163094f, -0.105808f, -0.019357f, 0.015128f, -0.055594f, -0.018606f, 0.216331f, 0.113836f, 0.070440f, -0.103385f, -0.015700f, 0.038121f, 0.109001f, 0.010150f, 0.003061f, -0.045685f, -0.068175f, -0.040635f, -0.029258f, -0.007584f, 0.043414f, 0.073871f, 0.068350f, -0.007277f, + -0.132105f, -0.150432f, 0.005063f, 0.071415f, 0.100787f, 0.069717f, -0.005698f, -0.103146f, 0.162283f, -0.037753f, -0.072138f, -0.128314f, -0.102348f, 0.020686f, 0.191555f, 0.205195f, 0.043832f, -0.203511f, -0.313890f, -0.271106f, 0.047523f, 0.305055f, 0.370226f, 0.272333f, -0.081732f, -0.353064f, -0.324645f, -0.072582f, -0.027554f, 0.313444f, 0.189395f, 0.004285f, -0.042663f, 0.088102f, -0.150611f, -0.021456f, -0.083142f, -0.036100f, -0.169744f, -0.151088f, -0.116774f, 0.088463f, 0.131521f, 0.177038f, -0.001401f, -0.187488f, -0.416717f, -0.158257f, 0.096190f, 0.311161f, 0.110840f, -0.094059f, -0.115655f, -0.090147f, 0.106664f, 0.135269f, 0.024411f, -0.178208f, -0.242803f, -0.118685f, 0.125271f, 0.314262f, 0.181317f, -0.073741f, -0.316811f, -0.389714f, -0.057773f, 0.169178f, 0.266624f, 0.089083f, -0.167968f, -0.349306f, -0.247575f, 0.018203f, 0.266792f, 0.312023f, 0.131091f, -0.088570f, -0.234122f, -0.241933f, -0.075741f, 0.113846f, 0.186098f, 0.028217f, -0.153824f, -0.129312f, -0.105649f, -0.012657f, 0.052550f, 0.050992f, -0.011399f, 0.005730f, -0.056003f, -0.040678f, -0.060576f, -0.026527f, + -0.033121f, 0.068738f, 0.128814f, 0.085662f, -0.064948f, -0.180050f, -0.213189f, -0.062824f, 0.185219f, 0.325475f, 0.193610f, -0.043435f, -0.269135f, -0.310078f, -0.129779f, 0.121151f, 0.261649f, 0.224457f, -0.023976f, -0.263413f, -0.244097f, -0.014710f, 0.158079f, 0.227605f, 0.109615f, -0.065107f, -0.132971f, -0.069191f, -0.004626f, 0.014712f, 0.007118f, 0.001950f}, + {0.042673f, 0.041730f, 0.039874f, 0.037163f, 0.033680f, 0.029535f, 0.024856f, 0.019785f, 0.014478f, 0.009095f, 0.003795f, -0.001267f, -0.005945f, -0.010111f, -0.013653f, -0.016485f, -0.018543f, -0.019793f, -0.020227f, -0.019867f, -0.018758f, -0.016974f, -0.014606f, -0.011768f, -0.008583f, -0.005187f, -0.001718f, 0.001687f, 0.004895f, 0.007785f, 0.010249f, 0.012198f, 0.013566f, 0.014306f, 0.014401f, 0.013853f, 0.012694f, 0.010976f, 0.008770f, 0.006170f, 0.003278f, 0.000211f, -0.002912f, -0.005967f, -0.008838f, -0.011412f, -0.013592f, -0.015292f, -0.016449f, -0.017016f, -0.016970f, -0.016311f, -0.015061f, -0.013261f, -0.010975f, -0.008281f, -0.005272f, -0.002053f, 0.001267f, 0.004575f, 0.007762f, 0.010723f, 0.013361f, 0.015596f, 0.017360f, 0.018605f, 0.019301f, 0.019439f, 0.019030f, 0.018105f, 0.016711f, 0.014913f, 0.012790f, 0.010428f, 0.007922f, 0.005370f, 0.002870f, 0.000514f, -0.001612f, -0.003434f, -0.004888f, -0.005930f, -0.006527f, -0.006669f, -0.006361f, -0.005623f, -0.004494f, -0.003025f, -0.001281f, 0.000667f, 0.002739f, 0.004855f, 0.006933f, 0.008895f, 0.010671f, 0.012198f, + 0.013427f, 0.014318f, 0.014850f, 0.015013f, 0.014816f, 0.014280f, 0.013438f, 0.012339f, 0.011038f, 0.009599f, 0.008090f, 0.006582f, 0.005142f, 0.003835f, 0.002722f, 0.001851f, 0.001261f, 0.000981f, 0.001023f, 0.001390f, 0.002068f, 0.003032f, 0.004245f, 0.005661f, 0.007225f, 0.008877f, 0.010553f, 0.012188f, 0.013720f, 0.015092f, 0.016251f, 0.017156f, 0.017772f, 0.018079f, 0.018067f, 0.017739f, 0.017110f, 0.016205f, 0.015061f, 0.013722f, 0.012239f, 0.010666f, 0.009062f, 0.007482f, 0.005982f, 0.004610f, 0.003411f, 0.002418f, 0.001657f, 0.001143f, 0.000880f, 0.000862f, 0.001071f, 0.001483f, 0.002062f, 0.002769f, 0.003559f, 0.004386f, 0.005202f, 0.005962f, 0.006625f, 0.007155f, 0.007525f, 0.007715f, -0.000703f, 0.012014f, -0.023058f, -0.009347f, -0.006556f, -0.046623f, -0.036669f, 0.163509f, 0.163094f, 0.105808f, 0.019357f, -0.015128f, 0.055594f, 0.018606f, -0.216331f, -0.113836f, -0.070440f, 0.103385f, 0.015700f, -0.038121f, -0.109001f, -0.010150f, -0.003061f, 0.045685f, 0.068175f, 0.040635f, 0.029258f, 0.007584f, -0.043414f, -0.073871f, -0.068350f, 0.007277f, + 0.132105f, 0.150432f, -0.005063f, -0.071415f, -0.100787f, -0.069717f, 0.005698f, 0.103146f, -0.162283f, 0.037753f, 0.072138f, 0.128314f, 0.102348f, -0.020686f, -0.191555f, -0.205195f, -0.043832f, 0.203511f, 0.313890f, 0.271106f, -0.047523f, -0.305055f, -0.370226f, -0.272333f, 0.081732f, 0.353064f, 0.324645f, 0.072582f, 0.027554f, -0.313444f, -0.189395f, -0.004285f, 0.042663f, -0.088102f, 0.150611f, 0.021456f, 0.083142f, 0.036100f, 0.169744f, 0.151088f, 0.116774f, -0.088463f, -0.131521f, -0.177038f, 0.001401f, 0.187488f, 0.416717f, 0.158257f, -0.096190f, -0.311161f, -0.110840f, 0.094059f, 0.115655f, 0.090147f, -0.106664f, -0.135269f, -0.024411f, 0.178208f, 0.242803f, 0.118685f, -0.125271f, -0.314262f, -0.181317f, 0.073741f, 0.316811f, 0.389714f, 0.057773f, -0.169178f, -0.266624f, -0.089083f, 0.167968f, 0.349306f, 0.247575f, -0.018203f, -0.266792f, -0.312023f, -0.131091f, 0.088570f, 0.234122f, 0.241933f, 0.075741f, -0.113846f, -0.186098f, -0.028217f, 0.153824f, 0.129312f, 0.105649f, 0.012657f, -0.052550f, -0.050992f, 0.011399f, -0.005730f, 0.056003f, 0.040678f, 0.060576f, 0.026527f, + 0.033121f, -0.068738f, -0.128814f, -0.085662f, 0.064948f, 0.180050f, 0.213189f, 0.062824f, -0.185219f, -0.325475f, -0.193610f, 0.043435f, 0.269135f, 0.310078f, 0.129779f, -0.121151f, -0.261649f, -0.224457f, 0.023976f, 0.263413f, 0.244097f, 0.014710f, -0.158079f, -0.227605f, -0.109615f, 0.065107f, 0.132971f, 0.069191f, 0.004626f, -0.014712f, -0.007118f, -0.001950f} + }, + { + {-0.031658f, -0.031297f, -0.030589f, -0.029558f, -0.028244f, -0.026693f, -0.024961f, -0.023108f, -0.021197f, -0.019293f, -0.017453f, -0.015733f, -0.014178f, -0.012823f, -0.011691f, -0.010791f, -0.010119f, -0.009655f, -0.009369f, -0.009215f, -0.009139f, -0.009079f, -0.008966f, -0.008732f, -0.008307f, -0.007627f, -0.006635f, -0.005285f, -0.003546f, -0.001400f, 0.001151f, 0.004090f, 0.007378f, 0.010960f, 0.014762f, 0.018696f, 0.022660f, 0.026545f, 0.030233f, 0.033604f, 0.036543f, 0.038939f, 0.040691f, 0.041714f, 0.041939f, 0.041320f, 0.039833f, 0.037479f, 0.034284f, 0.030301f, 0.025606f, 0.020299f, 0.014499f, 0.008344f, 0.001982f, -0.004428f, -0.010724f, -0.016746f, -0.022339f, -0.027361f, -0.031682f, -0.035196f, -0.037817f, -0.039484f, -0.040166f, -0.039858f, -0.038586f, -0.036401f, -0.033380f, -0.029624f, -0.025254f, -0.020406f, -0.015225f, -0.009867f, -0.004485f, 0.000768f, 0.005751f, 0.010331f, 0.014397f, 0.017853f, 0.020629f, 0.022677f, 0.023976f, 0.024528f, 0.024360f, 0.023523f, 0.022087f, 0.020138f, 0.017775f, 0.015110f, 0.012256f, 0.009328f, 0.006438f, 0.003689f, 0.001175f, -0.001027f, + -0.002856f, -0.004270f, -0.005245f, -0.005781f, -0.005894f, -0.005621f, -0.005015f, -0.004141f, -0.003077f, -0.001909f, -0.000724f, 0.000387f, 0.001340f, 0.002056f, 0.002467f, 0.002519f, 0.002172f, 0.001402f, 0.000205f, -0.001407f, -0.003403f, -0.005737f, -0.008349f, -0.011165f, -0.014104f, -0.017078f, -0.019996f, -0.022768f, -0.025309f, -0.027538f, -0.029388f, -0.030804f, -0.031742f, -0.032179f, -0.032105f, -0.031528f, -0.030472f, -0.028978f, -0.027098f, -0.024896f, -0.022445f, -0.019824f, -0.017114f, -0.014397f, -0.011749f, -0.009244f, -0.006944f, -0.004900f, -0.003155f, -0.001732f, -0.000646f, 0.000106f, 0.000538f, 0.000677f, 0.000562f, 0.000237f, -0.000245f, -0.000829f, -0.001459f, -0.002081f, -0.002644f, -0.003107f, -0.003436f, -0.003606f, 0.035933f, 0.020984f, 0.026867f, 0.002696f, 0.025415f, -0.036934f, 0.120298f, 0.068769f, -0.020529f, -0.006575f, 0.082765f, -0.095468f, 0.015725f, 0.111940f, -0.049377f, -0.361451f, -0.225560f, -0.127606f, 0.157523f, 0.115815f, -0.176161f, -0.033340f, 0.133488f, 0.235074f, 0.062310f, -0.045055f, -0.116670f, -0.191947f, -0.051784f, 0.128127f, 0.226928f, 0.159370f, + 0.002583f, -0.117427f, -0.145975f, -0.075645f, 0.062470f, 0.165515f, 0.094874f, 0.046350f, -0.069340f, -0.121021f, -0.054308f, 0.095239f, 0.175485f, 0.141666f, -0.009457f, -0.072362f, -0.077262f, -0.112777f, -0.041468f, 0.010540f, 0.128448f, 0.207661f, 0.236093f, 0.111252f, -0.132629f, -0.260489f, -0.113035f, 0.074176f, -0.037847f, 0.237528f, 0.168932f, 0.081841f, -0.030812f, 0.116029f, -0.233120f, -0.186041f, -0.172953f, 0.042388f, 0.022458f, 0.053621f, -0.126092f, 0.022388f, 0.106431f, 0.197811f, 0.251476f, -0.250332f, -0.447804f, -0.146131f, 0.106907f, 0.301541f, 0.246779f, 0.195526f, -0.234959f, -0.654778f, -0.528090f, -0.091133f, 0.350633f, 0.435490f, 0.196637f, -0.176745f, -0.414173f, -0.391466f, -0.050836f, 0.150028f, 0.222439f, 0.035540f, -0.112228f, -0.104142f, 0.130390f, 0.149355f, 0.031043f, -0.104799f, -0.143846f, -0.061771f, 0.118866f, 0.183334f, 0.124964f, -0.017414f, -0.101273f, -0.078169f, -0.013332f, 0.189832f, 0.145048f, -0.122418f, -0.167217f, -0.105858f, -0.041787f, 0.035448f, 0.048130f, -0.023457f, -0.119449f, -0.069736f, -0.037997f, -0.014965f, -0.006334f, -0.000078f, + -0.038475f, -0.075177f, 0.020174f, 0.057602f, 0.045164f, -0.033911f, -0.121277f, -0.077838f, -0.000650f, 0.066829f, 0.097348f, 0.064148f, -0.064369f, -0.142455f, -0.077573f, 0.093315f, 0.196517f, 0.146823f, -0.035371f, -0.226970f, -0.280115f, -0.132018f, 0.119916f, 0.339091f, 0.295249f, 0.056229f, -0.254791f, -0.278626f, -0.087325f, 0.007573f, 0.004968f, -0.008294f}, + {-0.031658f, -0.031297f, -0.030589f, -0.029558f, -0.028244f, -0.026693f, -0.024961f, -0.023108f, -0.021197f, -0.019293f, -0.017453f, -0.015733f, -0.014178f, -0.012823f, -0.011691f, -0.010791f, -0.010119f, -0.009655f, -0.009369f, -0.009215f, -0.009139f, -0.009079f, -0.008966f, -0.008732f, -0.008307f, -0.007627f, -0.006635f, -0.005285f, -0.003546f, -0.001400f, 0.001151f, 0.004090f, 0.007378f, 0.010960f, 0.014762f, 0.018696f, 0.022660f, 0.026545f, 0.030233f, 0.033604f, 0.036543f, 0.038939f, 0.040691f, 0.041714f, 0.041939f, 0.041320f, 0.039833f, 0.037479f, 0.034284f, 0.030301f, 0.025606f, 0.020299f, 0.014499f, 0.008344f, 0.001982f, -0.004428f, -0.010724f, -0.016746f, -0.022339f, -0.027361f, -0.031682f, -0.035196f, -0.037817f, -0.039484f, -0.040166f, -0.039858f, -0.038586f, -0.036401f, -0.033380f, -0.029624f, -0.025254f, -0.020406f, -0.015225f, -0.009867f, -0.004485f, 0.000768f, 0.005751f, 0.010331f, 0.014397f, 0.017853f, 0.020629f, 0.022677f, 0.023976f, 0.024528f, 0.024360f, 0.023523f, 0.022087f, 0.020138f, 0.017775f, 0.015110f, 0.012256f, 0.009328f, 0.006438f, 0.003689f, 0.001175f, -0.001027f, + -0.002856f, -0.004270f, -0.005245f, -0.005781f, -0.005894f, -0.005621f, -0.005015f, -0.004141f, -0.003077f, -0.001909f, -0.000724f, 0.000387f, 0.001340f, 0.002056f, 0.002467f, 0.002519f, 0.002172f, 0.001402f, 0.000205f, -0.001407f, -0.003403f, -0.005737f, -0.008349f, -0.011165f, -0.014104f, -0.017078f, -0.019996f, -0.022768f, -0.025309f, -0.027538f, -0.029388f, -0.030804f, -0.031742f, -0.032179f, -0.032105f, -0.031528f, -0.030472f, -0.028978f, -0.027098f, -0.024896f, -0.022445f, -0.019824f, -0.017114f, -0.014397f, -0.011749f, -0.009244f, -0.006944f, -0.004900f, -0.003155f, -0.001732f, -0.000646f, 0.000106f, 0.000538f, 0.000677f, 0.000562f, 0.000237f, -0.000245f, -0.000829f, -0.001459f, -0.002081f, -0.002644f, -0.003107f, -0.003436f, -0.003606f, 0.035933f, 0.020984f, 0.026867f, 0.002696f, 0.025415f, -0.036934f, 0.120298f, 0.068769f, -0.020529f, -0.006575f, 0.082765f, -0.095468f, 0.015725f, 0.111940f, -0.049377f, -0.361451f, -0.225560f, -0.127606f, 0.157523f, 0.115815f, -0.176161f, -0.033340f, 0.133488f, 0.235074f, 0.062310f, -0.045055f, -0.116670f, -0.191947f, -0.051784f, 0.128127f, 0.226928f, 0.159370f, + 0.002583f, -0.117427f, -0.145975f, -0.075645f, 0.062470f, 0.165515f, 0.094874f, 0.046350f, -0.069340f, -0.121021f, -0.054308f, 0.095239f, 0.175485f, 0.141666f, -0.009457f, -0.072362f, -0.077262f, -0.112777f, -0.041468f, 0.010540f, 0.128448f, 0.207661f, 0.236093f, 0.111252f, -0.132629f, -0.260489f, -0.113035f, 0.074176f, -0.037847f, 0.237528f, 0.168932f, 0.081841f, -0.030812f, 0.116029f, -0.233120f, -0.186041f, -0.172953f, 0.042388f, 0.022458f, 0.053621f, -0.126092f, 0.022388f, 0.106431f, 0.197811f, 0.251476f, -0.250332f, -0.447804f, -0.146131f, 0.106907f, 0.301541f, 0.246779f, 0.195526f, -0.234959f, -0.654778f, -0.528090f, -0.091133f, 0.350633f, 0.435490f, 0.196637f, -0.176745f, -0.414173f, -0.391466f, -0.050836f, 0.150028f, 0.222439f, 0.035540f, -0.112228f, -0.104142f, 0.130390f, 0.149355f, 0.031043f, -0.104799f, -0.143846f, -0.061771f, 0.118866f, 0.183334f, 0.124964f, -0.017414f, -0.101273f, -0.078169f, -0.013332f, 0.189832f, 0.145048f, -0.122418f, -0.167217f, -0.105858f, -0.041787f, 0.035448f, 0.048130f, -0.023457f, -0.119449f, -0.069736f, -0.037997f, -0.014965f, -0.006334f, -0.000078f, + -0.038475f, -0.075177f, 0.020174f, 0.057602f, 0.045164f, -0.033911f, -0.121277f, -0.077838f, -0.000650f, 0.066829f, 0.097348f, 0.064148f, -0.064369f, -0.142455f, -0.077573f, 0.093315f, 0.196517f, 0.146823f, -0.035371f, -0.226970f, -0.280115f, -0.132018f, 0.119916f, 0.339091f, 0.295249f, 0.056229f, -0.254791f, -0.278626f, -0.087325f, 0.007573f, 0.004968f, -0.008294f} + }, + { + {-0.015408f, -0.015285f, -0.015045f, -0.014699f, -0.014264f, -0.013763f, -0.013221f, -0.012665f, -0.012125f, -0.011630f, -0.011207f, -0.010883f, -0.010680f, -0.010613f, -0.010695f, -0.010928f, -0.011312f, -0.011835f, -0.012479f, -0.013221f, -0.014029f, -0.014866f, -0.015690f, -0.016456f, -0.017119f, -0.017630f, -0.017943f, -0.018017f, -0.017814f, -0.017300f, -0.016454f, -0.015260f, -0.013714f, -0.011820f, -0.009596f, -0.007071f, -0.004283f, -0.001282f, 0.001874f, 0.005119f, 0.008379f, 0.011578f, 0.014635f, 0.017470f, 0.020005f, 0.022165f, 0.023883f, 0.025098f, 0.025763f, 0.025840f, 0.025305f, 0.024148f, 0.022376f, 0.020009f, 0.017083f, 0.013647f, 0.009766f, 0.005515f, 0.000979f, -0.003748f, -0.008566f, -0.013374f, -0.018066f, -0.022543f, -0.026708f, -0.030471f, -0.033752f, -0.036484f, -0.038612f, -0.040097f, -0.040914f, -0.041057f, -0.040536f, -0.039377f, -0.037621f, -0.035325f, -0.032558f, -0.029401f, -0.025942f, -0.022276f, -0.018502f, -0.014719f, -0.011026f, -0.007514f, -0.004270f, -0.001371f, 0.001119f, 0.003148f, 0.004679f, 0.005688f, 0.006171f, 0.006137f, 0.005610f, 0.004629f, 0.003246f, 0.001525f, + -0.000461f, -0.002632f, -0.004905f, -0.007193f, -0.009411f, -0.011474f, -0.013307f, -0.014840f, -0.016015f, -0.016782f, -0.017108f, -0.016971f, -0.016366f, -0.015300f, -0.013795f, -0.011888f, -0.009625f, -0.007066f, -0.004279f, -0.001337f, 0.001679f, 0.004689f, 0.007611f, 0.010367f, 0.012881f, 0.015088f, 0.016929f, 0.018356f, 0.019333f, 0.019837f, 0.019856f, 0.019395f, 0.018467f, 0.017103f, 0.015340f, 0.013228f, 0.010824f, 0.008193f, 0.005403f, 0.002524f, -0.000374f, -0.003221f, -0.005953f, -0.008511f, -0.010844f, -0.012909f, -0.014675f, -0.016119f, -0.017231f, -0.018011f, -0.018470f, -0.018628f, -0.018516f, -0.018171f, -0.017635f, -0.016957f, -0.016187f, -0.015375f, -0.014571f, -0.013822f, -0.013169f, -0.012646f, -0.012282f, -0.012095f, -0.020686f, -0.012326f, 0.042249f, 0.011897f, -0.022847f, -0.048127f, 0.083811f, 0.129155f, 0.163708f, 0.022869f, -0.072526f, -0.164162f, -0.007816f, 0.027666f, -0.093836f, -0.134766f, -0.127618f, -0.159064f, 0.083027f, 0.276492f, 0.024970f, 0.012459f, -0.072943f, -0.075554f, -0.058818f, 0.141418f, 0.095215f, 0.252683f, 0.019866f, 0.006696f, -0.119821f, -0.077002f, + -0.045750f, 0.087841f, 0.149808f, 0.113649f, -0.009288f, -0.069954f, -0.072106f, -0.074136f, -0.033421f, 0.050376f, 0.106111f, 0.055032f, -0.022958f, -0.052034f, -0.042467f, 0.061100f, 0.037831f, -0.077361f, -0.100657f, -0.030394f, 0.011179f, 0.027216f, 0.107319f, -0.003935f, 0.036237f, -0.038532f, 0.028205f, -0.009426f, -0.146082f, 0.148498f, 0.116117f, -0.024541f, -0.083741f, 0.082639f, -0.188835f, -0.023098f, -0.023592f, 0.019447f, -0.138882f, -0.250382f, -0.311850f, 0.004980f, 0.286101f, 0.301464f, 0.107797f, -0.150925f, -0.259117f, -0.206325f, 0.001685f, 0.241522f, 0.282817f, 0.062626f, -0.088421f, -0.041516f, 0.003648f, 0.054010f, 0.046370f, 0.040694f, -0.052706f, -0.146004f, -0.137439f, -0.016482f, 0.155527f, 0.237146f, 0.195189f, 0.016389f, -0.202511f, -0.280801f, -0.243882f, 0.079192f, 0.301892f, 0.366577f, 0.210273f, -0.098096f, -0.289805f, -0.270517f, -0.114198f, 0.058399f, 0.086904f, 0.105942f, 0.029166f, -0.094588f, -0.004971f, 0.129819f, 0.201895f, -0.053156f, -0.121050f, -0.124760f, 0.042954f, 0.084181f, 0.177267f, 0.093099f, -0.039351f, -0.180287f, -0.210676f, -0.092445f, + 0.129987f, 0.290854f, 0.262032f, 0.051008f, -0.247422f, -0.366382f, -0.302780f, 0.000925f, 0.339108f, 0.427318f, 0.233903f, -0.080922f, -0.325694f, -0.336162f, -0.091573f, 0.058594f, 0.159764f, 0.137345f, 0.076793f, -0.013573f, -0.089058f, -0.094353f, -0.028671f, 0.034008f, 0.110977f, 0.068440f, 0.011509f, -0.020070f, -0.051275f, -0.009802f, -0.008549f, -0.003679f}, + {-0.015408f, -0.015285f, -0.015045f, -0.014699f, -0.014264f, -0.013763f, -0.013221f, -0.012665f, -0.012125f, -0.011630f, -0.011207f, -0.010883f, -0.010680f, -0.010613f, -0.010695f, -0.010928f, -0.011312f, -0.011835f, -0.012479f, -0.013221f, -0.014029f, -0.014866f, -0.015690f, -0.016456f, -0.017119f, -0.017630f, -0.017943f, -0.018017f, -0.017814f, -0.017300f, -0.016454f, -0.015260f, -0.013714f, -0.011820f, -0.009596f, -0.007071f, -0.004283f, -0.001282f, 0.001874f, 0.005119f, 0.008379f, 0.011578f, 0.014635f, 0.017470f, 0.020005f, 0.022165f, 0.023883f, 0.025098f, 0.025763f, 0.025840f, 0.025305f, 0.024148f, 0.022376f, 0.020009f, 0.017083f, 0.013647f, 0.009766f, 0.005515f, 0.000979f, -0.003748f, -0.008566f, -0.013374f, -0.018066f, -0.022543f, -0.026708f, -0.030471f, -0.033752f, -0.036484f, -0.038612f, -0.040097f, -0.040914f, -0.041057f, -0.040536f, -0.039377f, -0.037621f, -0.035325f, -0.032558f, -0.029401f, -0.025942f, -0.022276f, -0.018502f, -0.014719f, -0.011026f, -0.007514f, -0.004270f, -0.001371f, 0.001119f, 0.003148f, 0.004679f, 0.005688f, 0.006171f, 0.006137f, 0.005610f, 0.004629f, 0.003246f, 0.001525f, + -0.000461f, -0.002632f, -0.004905f, -0.007193f, -0.009411f, -0.011474f, -0.013307f, -0.014840f, -0.016015f, -0.016782f, -0.017108f, -0.016971f, -0.016366f, -0.015300f, -0.013795f, -0.011888f, -0.009625f, -0.007066f, -0.004279f, -0.001337f, 0.001679f, 0.004689f, 0.007611f, 0.010367f, 0.012881f, 0.015088f, 0.016929f, 0.018356f, 0.019333f, 0.019837f, 0.019856f, 0.019395f, 0.018467f, 0.017103f, 0.015340f, 0.013228f, 0.010824f, 0.008193f, 0.005403f, 0.002524f, -0.000374f, -0.003221f, -0.005953f, -0.008511f, -0.010844f, -0.012909f, -0.014675f, -0.016119f, -0.017231f, -0.018011f, -0.018470f, -0.018628f, -0.018516f, -0.018171f, -0.017635f, -0.016957f, -0.016187f, -0.015375f, -0.014571f, -0.013822f, -0.013169f, -0.012646f, -0.012282f, -0.012095f, -0.020686f, -0.012326f, 0.042249f, 0.011897f, -0.022847f, -0.048127f, 0.083811f, 0.129155f, 0.163708f, 0.022869f, -0.072526f, -0.164162f, -0.007816f, 0.027666f, -0.093836f, -0.134766f, -0.127618f, -0.159064f, 0.083027f, 0.276492f, 0.024970f, 0.012459f, -0.072943f, -0.075554f, -0.058818f, 0.141418f, 0.095215f, 0.252683f, 0.019866f, 0.006696f, -0.119821f, -0.077002f, + -0.045750f, 0.087841f, 0.149808f, 0.113649f, -0.009288f, -0.069954f, -0.072106f, -0.074136f, -0.033421f, 0.050376f, 0.106111f, 0.055032f, -0.022958f, -0.052034f, -0.042467f, 0.061100f, 0.037831f, -0.077361f, -0.100657f, -0.030394f, 0.011179f, 0.027216f, 0.107319f, -0.003935f, 0.036237f, -0.038532f, 0.028205f, -0.009426f, -0.146082f, 0.148498f, 0.116117f, -0.024541f, -0.083741f, 0.082639f, -0.188835f, -0.023098f, -0.023592f, 0.019447f, -0.138882f, -0.250382f, -0.311850f, 0.004980f, 0.286101f, 0.301464f, 0.107797f, -0.150925f, -0.259117f, -0.206325f, 0.001685f, 0.241522f, 0.282817f, 0.062626f, -0.088421f, -0.041516f, 0.003648f, 0.054010f, 0.046370f, 0.040694f, -0.052706f, -0.146004f, -0.137439f, -0.016482f, 0.155527f, 0.237146f, 0.195189f, 0.016389f, -0.202511f, -0.280801f, -0.243882f, 0.079192f, 0.301892f, 0.366577f, 0.210273f, -0.098096f, -0.289805f, -0.270517f, -0.114198f, 0.058399f, 0.086904f, 0.105942f, 0.029166f, -0.094588f, -0.004971f, 0.129819f, 0.201895f, -0.053156f, -0.121050f, -0.124760f, 0.042954f, 0.084181f, 0.177267f, 0.093099f, -0.039351f, -0.180287f, -0.210676f, -0.092445f, + 0.129987f, 0.290854f, 0.262032f, 0.051008f, -0.247422f, -0.366382f, -0.302780f, 0.000925f, 0.339108f, 0.427318f, 0.233903f, -0.080922f, -0.325694f, -0.336162f, -0.091573f, 0.058594f, 0.159764f, 0.137345f, 0.076793f, -0.013573f, -0.089058f, -0.094353f, -0.028671f, 0.034008f, 0.110977f, 0.068440f, 0.011509f, -0.020070f, -0.051275f, -0.009802f, -0.008549f, -0.003679f} + }, + { + {0.032299f, 0.031544f, 0.030055f, 0.027873f, 0.025059f, 0.021690f, 0.017856f, 0.013663f, 0.009222f, 0.004650f, 0.000066f, -0.004415f, -0.008680f, -0.012630f, -0.016174f, -0.019236f, -0.021759f, -0.023700f, -0.025037f, -0.025768f, -0.025906f, -0.025484f, -0.024551f, -0.023167f, -0.021406f, -0.019350f, -0.017085f, -0.014701f, -0.012287f, -0.009926f, -0.007696f, -0.005667f, -0.003897f, -0.002429f, -0.001295f, -0.000512f, -0.000081f, 0.000010f, -0.000213f, -0.000713f, -0.001443f, -0.002350f, -0.003372f, -0.004446f, -0.005511f, -0.006505f, -0.007372f, -0.008061f, -0.008533f, -0.008755f, -0.008706f, -0.008379f, -0.007775f, -0.006907f, -0.005800f, -0.004486f, -0.003005f, -0.001405f, 0.000266f, 0.001954f, 0.003609f, 0.005181f, 0.006625f, 0.007903f, 0.008984f, 0.009845f, 0.010472f, 0.010863f, 0.011022f, 0.010966f, 0.010717f, 0.010306f, 0.009770f, 0.009148f, 0.008484f, 0.007820f, 0.007197f, 0.006653f, 0.006221f, 0.005927f, 0.005791f, 0.005822f, 0.006022f, 0.006383f, 0.006889f, 0.007515f, 0.008231f, 0.009000f, 0.009779f, 0.010525f, 0.011195f, 0.011745f, 0.012135f, 0.012331f, 0.012304f, 0.012035f, + 0.011513f, 0.010735f, 0.009710f, 0.008458f, 0.007006f, 0.005391f, 0.003659f, 0.001860f, 0.000049f, -0.001714f, -0.003372f, -0.004865f, -0.006142f, -0.007151f, -0.007852f, -0.008212f, -0.008206f, -0.007822f, -0.007059f, -0.005925f, -0.004442f, -0.002640f, -0.000561f, 0.001749f, 0.004233f, 0.006831f, 0.009481f, 0.012119f, 0.014683f, 0.017113f, 0.019354f, 0.021358f, 0.023083f, 0.024499f, 0.025582f, 0.026320f, 0.026709f, 0.026758f, 0.026480f, 0.025901f, 0.025050f, 0.023964f, 0.022684f, 0.021252f, 0.019712f, 0.018108f, 0.016481f, 0.014870f, 0.013308f, 0.011825f, 0.010443f, 0.009182f, 0.008051f, 0.007056f, 0.006199f, 0.005475f, 0.004876f, 0.004392f, 0.004010f, 0.003717f, 0.003501f, 0.003350f, 0.003255f, 0.003210f, -0.013680f, -0.039550f, -0.038004f, -0.021661f, 0.011200f, 0.000727f, -0.055616f, 0.005118f, -0.073839f, -0.098462f, -0.068399f, -0.001479f, -0.054556f, 0.005705f, -0.020564f, -0.008444f, -0.065880f, -0.030718f, 0.136221f, 0.158023f, -0.089897f, -0.028536f, 0.013666f, 0.105333f, 0.066431f, 0.035655f, 0.039198f, -0.028502f, -0.059788f, -0.060135f, 0.033058f, 0.092928f, + -0.009570f, -0.065701f, -0.068909f, -0.005240f, 0.042002f, 0.099751f, 0.024988f, -0.005379f, -0.041463f, 0.032064f, 0.017203f, 0.091991f, 0.037084f, 0.014363f, -0.024151f, -0.000292f, -0.050768f, -0.055517f, -0.058829f, 0.077306f, 0.048217f, 0.028005f, -0.043731f, -0.103314f, -0.084560f, 0.008726f, 0.030716f, 0.040377f, 0.097543f, -0.094716f, -0.112332f, -0.068748f, 0.010776f, -0.025287f, 0.173500f, 0.126353f, 0.098705f, -0.033310f, -0.045328f, -0.096649f, 0.056125f, 0.059148f, 0.063656f, 0.051949f, 0.013214f, -0.165706f, -0.244565f, -0.146717f, 0.089772f, 0.235814f, 0.281104f, 0.041070f, -0.139964f, -0.268631f, -0.126872f, 0.045759f, 0.225982f, 0.215417f, 0.079051f, -0.048478f, -0.284325f, -0.235456f, -0.000243f, 0.173903f, 0.206366f, 0.016453f, -0.145258f, -0.163019f, -0.051451f, 0.085441f, 0.149474f, 0.015766f, -0.148167f, -0.220790f, -0.111326f, 0.104355f, 0.273432f, 0.144737f, -0.129187f, -0.311249f, -0.225754f, -0.091820f, 0.299847f, 0.419689f, 0.126895f, -0.229018f, -0.342215f, -0.194918f, 0.122016f, 0.285187f, 0.358148f, 0.124243f, -0.127982f, -0.282243f, -0.197338f, 0.015785f, + 0.230173f, 0.268222f, 0.092309f, -0.109969f, -0.202412f, -0.112134f, 0.095827f, 0.220495f, 0.116567f, -0.053352f, -0.155056f, -0.119150f, 0.106271f, 0.197023f, 0.114667f, -0.061074f, -0.194423f, -0.209315f, -0.031668f, 0.202858f, 0.246496f, 0.101415f, -0.106340f, -0.237504f, -0.213684f, -0.067325f, 0.140445f, 0.193717f, 0.078110f, 0.001223f, -0.002604f, 0.006252f}, + {0.032299f, 0.031544f, 0.030055f, 0.027873f, 0.025059f, 0.021690f, 0.017856f, 0.013663f, 0.009222f, 0.004650f, 0.000066f, -0.004415f, -0.008680f, -0.012630f, -0.016174f, -0.019236f, -0.021759f, -0.023700f, -0.025037f, -0.025768f, -0.025906f, -0.025484f, -0.024551f, -0.023167f, -0.021406f, -0.019350f, -0.017085f, -0.014701f, -0.012287f, -0.009926f, -0.007696f, -0.005667f, -0.003897f, -0.002429f, -0.001295f, -0.000512f, -0.000081f, 0.000010f, -0.000213f, -0.000713f, -0.001443f, -0.002350f, -0.003372f, -0.004446f, -0.005511f, -0.006505f, -0.007372f, -0.008061f, -0.008533f, -0.008755f, -0.008706f, -0.008379f, -0.007775f, -0.006907f, -0.005800f, -0.004486f, -0.003005f, -0.001405f, 0.000266f, 0.001954f, 0.003609f, 0.005181f, 0.006625f, 0.007903f, 0.008984f, 0.009845f, 0.010472f, 0.010863f, 0.011022f, 0.010966f, 0.010717f, 0.010306f, 0.009770f, 0.009148f, 0.008484f, 0.007820f, 0.007197f, 0.006653f, 0.006221f, 0.005927f, 0.005791f, 0.005822f, 0.006022f, 0.006383f, 0.006889f, 0.007515f, 0.008231f, 0.009000f, 0.009779f, 0.010525f, 0.011195f, 0.011745f, 0.012135f, 0.012331f, 0.012304f, 0.012035f, + 0.011513f, 0.010735f, 0.009710f, 0.008458f, 0.007006f, 0.005391f, 0.003659f, 0.001860f, 0.000049f, -0.001714f, -0.003372f, -0.004865f, -0.006142f, -0.007151f, -0.007852f, -0.008212f, -0.008206f, -0.007822f, -0.007059f, -0.005925f, -0.004442f, -0.002640f, -0.000561f, 0.001749f, 0.004233f, 0.006831f, 0.009481f, 0.012119f, 0.014683f, 0.017113f, 0.019354f, 0.021358f, 0.023083f, 0.024499f, 0.025582f, 0.026320f, 0.026709f, 0.026758f, 0.026480f, 0.025901f, 0.025050f, 0.023964f, 0.022684f, 0.021252f, 0.019712f, 0.018108f, 0.016481f, 0.014870f, 0.013308f, 0.011825f, 0.010443f, 0.009182f, 0.008051f, 0.007056f, 0.006199f, 0.005475f, 0.004876f, 0.004392f, 0.004010f, 0.003717f, 0.003501f, 0.003350f, 0.003255f, 0.003210f, -0.013680f, -0.039550f, -0.038004f, -0.021661f, 0.011200f, 0.000727f, -0.055616f, 0.005118f, -0.073839f, -0.098462f, -0.068399f, -0.001479f, -0.054556f, 0.005705f, -0.020564f, -0.008444f, -0.065880f, -0.030718f, 0.136221f, 0.158023f, -0.089897f, -0.028536f, 0.013666f, 0.105333f, 0.066431f, 0.035655f, 0.039198f, -0.028502f, -0.059788f, -0.060135f, 0.033058f, 0.092928f, + -0.009570f, -0.065701f, -0.068909f, -0.005240f, 0.042002f, 0.099751f, 0.024988f, -0.005379f, -0.041463f, 0.032064f, 0.017203f, 0.091991f, 0.037084f, 0.014363f, -0.024151f, -0.000292f, -0.050768f, -0.055517f, -0.058829f, 0.077306f, 0.048217f, 0.028005f, -0.043731f, -0.103314f, -0.084560f, 0.008726f, 0.030716f, 0.040377f, 0.097543f, -0.094716f, -0.112332f, -0.068748f, 0.010776f, -0.025287f, 0.173500f, 0.126353f, 0.098705f, -0.033310f, -0.045328f, -0.096649f, 0.056125f, 0.059148f, 0.063656f, 0.051949f, 0.013214f, -0.165706f, -0.244565f, -0.146717f, 0.089772f, 0.235814f, 0.281104f, 0.041070f, -0.139964f, -0.268631f, -0.126872f, 0.045759f, 0.225982f, 0.215417f, 0.079051f, -0.048478f, -0.284325f, -0.235456f, -0.000243f, 0.173903f, 0.206366f, 0.016453f, -0.145258f, -0.163019f, -0.051451f, 0.085441f, 0.149474f, 0.015766f, -0.148167f, -0.220790f, -0.111326f, 0.104355f, 0.273432f, 0.144737f, -0.129187f, -0.311249f, -0.225754f, -0.091820f, 0.299847f, 0.419689f, 0.126895f, -0.229018f, -0.342215f, -0.194918f, 0.122016f, 0.285187f, 0.358148f, 0.124243f, -0.127982f, -0.282243f, -0.197338f, 0.015785f, + 0.230173f, 0.268222f, 0.092309f, -0.109969f, -0.202412f, -0.112134f, 0.095827f, 0.220495f, 0.116567f, -0.053352f, -0.155056f, -0.119150f, 0.106271f, 0.197023f, 0.114667f, -0.061074f, -0.194423f, -0.209315f, -0.031668f, 0.202858f, 0.246496f, 0.101415f, -0.106340f, -0.237504f, -0.213684f, -0.067325f, 0.140445f, 0.193717f, 0.078110f, 0.001223f, -0.002604f, 0.006252f} + }, + { + {0.015793f, 0.015614f, 0.015261f, 0.014743f, 0.014070f, 0.013261f, 0.012332f, 0.011307f, 0.010207f, 0.009057f, 0.007883f, 0.006708f, 0.005555f, 0.004447f, 0.003403f, 0.002438f, 0.001568f, 0.000800f, 0.000142f, -0.000404f, -0.000841f, -0.001172f, -0.001407f, -0.001555f, -0.001630f, -0.001646f, -0.001620f, -0.001566f, -0.001501f, -0.001438f, -0.001391f, -0.001369f, -0.001381f, -0.001430f, -0.001519f, -0.001643f, -0.001798f, -0.001974f, -0.002158f, -0.002335f, -0.002488f, -0.002597f, -0.002642f, -0.002603f, -0.002459f, -0.002192f, -0.001786f, -0.001226f, -0.000503f, 0.000391f, 0.001457f, 0.002693f, 0.004091f, 0.005638f, 0.007317f, 0.009107f, 0.010980f, 0.012909f, 0.014859f, 0.016797f, 0.018687f, 0.020493f, 0.022179f, 0.023712f, 0.025060f, 0.026196f, 0.027096f, 0.027741f, 0.028118f, 0.028219f, 0.028042f, 0.027592f, 0.026880f, 0.025923f, 0.024741f, 0.023363f, 0.021819f, 0.020143f, 0.018371f, 0.016542f, 0.014694f, 0.012864f, 0.011089f, 0.009403f, 0.007835f, 0.006412f, 0.005154f, 0.004078f, 0.003193f, 0.002504f, 0.002009f, 0.001702f, 0.001570f, 0.001595f, 0.001757f, 0.002031f, + 0.002389f, 0.002802f, 0.003242f, 0.003679f, 0.004085f, 0.004434f, 0.004704f, 0.004875f, 0.004933f, 0.004867f, 0.004674f, 0.004352f, 0.003909f, 0.003354f, 0.002702f, 0.001973f, 0.001191f, 0.000379f, -0.000434f, -0.001219f, -0.001948f, -0.002594f, -0.003131f, -0.003534f, -0.003786f, -0.003869f, -0.003775f, -0.003496f, -0.003032f, -0.002390f, -0.001580f, -0.000618f, 0.000476f, 0.001676f, 0.002954f, 0.004278f, 0.005615f, 0.006931f, 0.008192f, 0.009366f, 0.010421f, 0.011330f, 0.012069f, 0.012618f, 0.012963f, 0.013095f, 0.013013f, 0.012718f, 0.012221f, 0.011536f, 0.010683f, 0.009688f, 0.008580f, 0.007390f, 0.006154f, 0.004907f, 0.003686f, 0.002526f, 0.001461f, 0.000522f, -0.000265f, -0.000876f, -0.001293f, -0.001505f, -0.007783f, -0.004437f, -0.006273f, -0.018191f, -0.025282f, 0.042441f, -0.014784f, -0.028944f, -0.005539f, -0.007788f, 0.065740f, 0.017438f, -0.029275f, 0.007538f, -0.076337f, -0.156600f, -0.065884f, -0.026101f, 0.057496f, 0.043466f, -0.070559f, -0.019601f, 0.023551f, 0.089863f, 0.084975f, 0.036251f, 0.023990f, 0.033648f, -0.041778f, -0.060314f, -0.142602f, 0.008572f, + 0.042511f, 0.010698f, 0.030706f, 0.037763f, -0.073999f, -0.096953f, -0.047880f, 0.009965f, 0.067194f, 0.102992f, 0.072743f, 0.020511f, -0.034400f, -0.021139f, -0.023958f, 0.049921f, 0.036726f, 0.017578f, -0.031352f, 0.004816f, -0.113625f, -0.018313f, 0.056091f, 0.016778f, 0.091757f, 0.079485f, -0.054640f, -0.123131f, 0.051245f, -0.067679f, 0.096904f, 0.073628f, 0.072762f, -0.075751f, -0.090515f, -0.010165f, 0.057450f, 0.076087f, 0.063748f, 0.026516f, 0.041170f, -0.078005f, -0.098049f, -0.029460f, 0.123883f, 0.083460f, -0.042449f, -0.047824f, -0.066676f, -0.105916f, -0.040019f, 0.055262f, 0.049687f, -0.113598f, -0.215741f, -0.205199f, 0.041807f, 0.235204f, 0.265427f, 0.104337f, -0.087201f, -0.244934f, -0.151795f, 0.031357f, 0.142193f, 0.083725f, 0.004657f, -0.070260f, -0.045831f, -0.013898f, 0.027669f, 0.031559f, 0.062616f, -0.058257f, -0.059770f, -0.131156f, -0.061874f, -0.022709f, 0.123818f, 0.173510f, 0.122079f, -0.127801f, -0.148640f, -0.043896f, -0.080444f, 0.033137f, 0.084677f, 0.136884f, 0.036755f, -0.129573f, -0.059507f, -0.055939f, 0.087536f, 0.163054f, 0.120972f, 0.038874f, + -0.016745f, -0.150456f, -0.181956f, -0.099941f, 0.107594f, 0.273411f, 0.280940f, 0.068309f, -0.208727f, -0.272775f, -0.164199f, 0.052441f, 0.242820f, 0.262410f, 0.079543f, -0.137148f, -0.269699f, -0.175399f, 0.050200f, 0.300957f, 0.206259f, -0.014310f, -0.184154f, -0.267489f, -0.158250f, 0.047583f, 0.164514f, 0.116695f, 0.013346f, -0.013466f, -0.005674f, -0.000653f}, + {0.015793f, 0.015614f, 0.015261f, 0.014743f, 0.014070f, 0.013261f, 0.012332f, 0.011307f, 0.010207f, 0.009057f, 0.007883f, 0.006708f, 0.005555f, 0.004447f, 0.003403f, 0.002438f, 0.001568f, 0.000800f, 0.000142f, -0.000404f, -0.000841f, -0.001172f, -0.001407f, -0.001555f, -0.001630f, -0.001646f, -0.001620f, -0.001566f, -0.001501f, -0.001438f, -0.001391f, -0.001369f, -0.001381f, -0.001430f, -0.001519f, -0.001643f, -0.001798f, -0.001974f, -0.002158f, -0.002335f, -0.002488f, -0.002597f, -0.002642f, -0.002603f, -0.002459f, -0.002192f, -0.001786f, -0.001226f, -0.000503f, 0.000391f, 0.001457f, 0.002693f, 0.004091f, 0.005638f, 0.007317f, 0.009107f, 0.010980f, 0.012909f, 0.014859f, 0.016797f, 0.018687f, 0.020493f, 0.022179f, 0.023712f, 0.025060f, 0.026196f, 0.027096f, 0.027741f, 0.028118f, 0.028219f, 0.028042f, 0.027592f, 0.026880f, 0.025923f, 0.024741f, 0.023363f, 0.021819f, 0.020143f, 0.018371f, 0.016542f, 0.014694f, 0.012864f, 0.011089f, 0.009403f, 0.007835f, 0.006412f, 0.005154f, 0.004078f, 0.003193f, 0.002504f, 0.002009f, 0.001702f, 0.001570f, 0.001595f, 0.001757f, 0.002031f, + 0.002389f, 0.002802f, 0.003242f, 0.003679f, 0.004085f, 0.004434f, 0.004704f, 0.004875f, 0.004933f, 0.004867f, 0.004674f, 0.004352f, 0.003909f, 0.003354f, 0.002702f, 0.001973f, 0.001191f, 0.000379f, -0.000434f, -0.001219f, -0.001948f, -0.002594f, -0.003131f, -0.003534f, -0.003786f, -0.003869f, -0.003775f, -0.003496f, -0.003032f, -0.002390f, -0.001580f, -0.000618f, 0.000476f, 0.001676f, 0.002954f, 0.004278f, 0.005615f, 0.006931f, 0.008192f, 0.009366f, 0.010421f, 0.011330f, 0.012069f, 0.012618f, 0.012963f, 0.013095f, 0.013013f, 0.012718f, 0.012221f, 0.011536f, 0.010683f, 0.009688f, 0.008580f, 0.007390f, 0.006154f, 0.004907f, 0.003686f, 0.002526f, 0.001461f, 0.000522f, -0.000265f, -0.000876f, -0.001293f, -0.001505f, -0.007783f, -0.004437f, -0.006273f, -0.018191f, -0.025282f, 0.042441f, -0.014784f, -0.028944f, -0.005539f, -0.007788f, 0.065740f, 0.017438f, -0.029275f, 0.007538f, -0.076337f, -0.156600f, -0.065884f, -0.026101f, 0.057496f, 0.043466f, -0.070559f, -0.019601f, 0.023551f, 0.089863f, 0.084975f, 0.036251f, 0.023990f, 0.033648f, -0.041778f, -0.060314f, -0.142602f, 0.008572f, + 0.042511f, 0.010698f, 0.030706f, 0.037763f, -0.073999f, -0.096953f, -0.047880f, 0.009965f, 0.067194f, 0.102992f, 0.072743f, 0.020511f, -0.034400f, -0.021139f, -0.023958f, 0.049921f, 0.036726f, 0.017578f, -0.031352f, 0.004816f, -0.113625f, -0.018313f, 0.056091f, 0.016778f, 0.091757f, 0.079485f, -0.054640f, -0.123131f, 0.051245f, -0.067679f, 0.096904f, 0.073628f, 0.072762f, -0.075751f, -0.090515f, -0.010165f, 0.057450f, 0.076087f, 0.063748f, 0.026516f, 0.041170f, -0.078005f, -0.098049f, -0.029460f, 0.123883f, 0.083460f, -0.042449f, -0.047824f, -0.066676f, -0.105916f, -0.040019f, 0.055262f, 0.049687f, -0.113598f, -0.215741f, -0.205199f, 0.041807f, 0.235204f, 0.265427f, 0.104337f, -0.087201f, -0.244934f, -0.151795f, 0.031357f, 0.142193f, 0.083725f, 0.004657f, -0.070260f, -0.045831f, -0.013898f, 0.027669f, 0.031559f, 0.062616f, -0.058257f, -0.059770f, -0.131156f, -0.061874f, -0.022709f, 0.123818f, 0.173510f, 0.122079f, -0.127801f, -0.148640f, -0.043896f, -0.080444f, 0.033137f, 0.084677f, 0.136884f, 0.036755f, -0.129573f, -0.059507f, -0.055939f, 0.087536f, 0.163054f, 0.120972f, 0.038874f, + -0.016745f, -0.150456f, -0.181956f, -0.099941f, 0.107594f, 0.273411f, 0.280940f, 0.068309f, -0.208727f, -0.272775f, -0.164199f, 0.052441f, 0.242820f, 0.262410f, 0.079543f, -0.137148f, -0.269699f, -0.175399f, 0.050200f, 0.300957f, 0.206259f, -0.014310f, -0.184154f, -0.267489f, -0.158250f, 0.047583f, 0.164514f, 0.116695f, 0.013346f, -0.013466f, -0.005674f, -0.000653f} + } +}; +const float CRendBin_HOA3_HRIR_coeff_im_32kHz[16][BINAURAL_CHANNELS][320]={ + { + {0.000560f, 0.001661f, 0.002712f, 0.003680f, 0.004535f, 0.005253f, 0.005813f, 0.006200f, 0.006405f, 0.006425f, 0.006264f, 0.005931f, 0.005442f, 0.004817f, 0.004083f, 0.003268f, 0.002403f, 0.001521f, 0.000656f, -0.000161f, -0.000898f, -0.001530f, -0.002032f, -0.002387f, -0.002582f, -0.002609f, -0.002468f, -0.002164f, -0.001707f, -0.001115f, -0.000408f, 0.000388f, 0.001245f, 0.002133f, 0.003020f, 0.003875f, 0.004668f, 0.005370f, 0.005957f, 0.006408f, 0.006706f, 0.006842f, 0.006809f, 0.006608f, 0.006244f, 0.005728f, 0.005076f, 0.004308f, 0.003448f, 0.002521f, 0.001554f, 0.000577f, -0.000384f, -0.001302f, -0.002151f, -0.002912f, -0.003566f, -0.004099f, -0.004503f, -0.004774f, -0.004911f, -0.004920f, -0.004810f, -0.004594f, -0.004288f, -0.003910f, -0.003481f, -0.003021f, -0.002551f, -0.002092f, -0.001662f, -0.001277f, -0.000951f, -0.000694f, -0.000513f, -0.000409f, -0.000383f, -0.000431f, -0.000544f, -0.000712f, -0.000922f, -0.001160f, -0.001410f, -0.001657f, -0.001886f, -0.002081f, -0.002230f, -0.002324f, -0.002354f, -0.002316f, -0.002208f, -0.002033f, -0.001796f, -0.001505f, -0.001171f, -0.000807f, + -0.000428f, -0.000050f, 0.000312f, 0.000641f, 0.000922f, 0.001141f, 0.001289f, 0.001355f, 0.001334f, 0.001225f, 0.001028f, 0.000748f, 0.000392f, -0.000029f, -0.000500f, -0.001007f, -0.001533f, -0.002058f, -0.002566f, -0.003037f, -0.003455f, -0.003805f, -0.004073f, -0.004251f, -0.004330f, -0.004307f, -0.004182f, -0.003958f, -0.003643f, -0.003245f, -0.002778f, -0.002256f, -0.001695f, -0.001114f, -0.000530f, 0.000039f, 0.000576f, 0.001067f, 0.001497f, 0.001857f, 0.002137f, 0.002333f, 0.002443f, 0.002469f, 0.002415f, 0.002288f, 0.002098f, 0.001857f, 0.001577f, 0.001272f, 0.000957f, 0.000645f, 0.000350f, 0.000083f, -0.000146f, -0.000329f, -0.000461f, -0.000540f, -0.000566f, -0.000541f, -0.000472f, -0.000365f, -0.000231f, -0.000079f, -0.460259f, -0.951079f, -0.610747f, 0.139152f, 0.697949f, 0.756847f, 0.243016f, -0.421240f, -0.809240f, -0.722790f, -0.131189f, 0.462952f, 0.869130f, 0.669286f, 0.030399f, -0.562684f, -0.789169f, -0.467168f, 0.151920f, 0.680335f, 0.729095f, 0.339114f, -0.322683f, -0.698273f, -0.615664f, -0.093987f, 0.456628f, 0.704581f, 0.459961f, -0.071120f, -0.568074f, -0.669242f, + -0.335663f, 0.247131f, 0.632814f, 0.619104f, 0.155654f, -0.373183f, -0.695371f, -0.503600f, -0.123694f, 0.358269f, 0.720965f, 0.556532f, 0.039488f, -0.523997f, -0.688621f, -0.390989f, 0.199606f, 0.632990f, 0.653547f, 0.212882f, -0.363644f, -0.697704f, -0.533888f, -0.012498f, 0.510544f, 0.655232f, 0.374543f, -0.161184f, -0.563367f, -0.566663f, -0.171992f, 0.340804f, 0.661432f, 0.496413f, -0.012145f, -0.517044f, -0.669485f, -0.363559f, 0.180685f, 0.613468f, 0.618828f, 0.208956f, -0.346445f, -0.673686f, -0.546699f, -0.033563f, 0.494204f, 0.664797f, 0.384626f, -0.160262f, -0.529660f, -0.570199f, -0.199102f, 0.331888f, 0.641768f, 0.518867f, 0.029795f, -0.468042f, -0.650452f, -0.381207f, 0.163056f, 0.573507f, 0.620545f, 0.260207f, -0.286010f, -0.602836f, -0.538518f, -0.133326f, 0.352210f, 0.602532f, 0.439914f, 0.007239f, -0.429036f, -0.568867f, -0.308712f, 0.146511f, 0.519479f, 0.533995f, 0.182772f, -0.315085f, -0.581991f, -0.461079f, 0.007470f, 0.469652f, 0.601398f, 0.340411f, -0.169957f, -0.574590f, -0.589987f, -0.182204f, 0.358851f, 0.637429f, 0.477370f, -0.004546f, -0.473175f, -0.601238f, + -0.306724f, 0.190330f, 0.543690f, 0.516648f, 0.152960f, -0.318909f, -0.546856f, -0.396088f, 0.018774f, 0.420713f, 0.545205f, 0.298542f, -0.152204f, -0.494079f, -0.489567f, -0.147781f, 0.289809f, 0.518298f, 0.390240f, -0.007614f, -0.385375f, -0.488880f, -0.242032f, 0.186344f, 0.481677f, 0.422991f, 0.071320f, -0.202729f, -0.173620f, -0.040696f, -0.001221f, 0.001660f}, + {0.000560f, 0.001661f, 0.002712f, 0.003680f, 0.004535f, 0.005253f, 0.005813f, 0.006200f, 0.006405f, 0.006425f, 0.006264f, 0.005931f, 0.005442f, 0.004817f, 0.004083f, 0.003268f, 0.002403f, 0.001521f, 0.000656f, -0.000161f, -0.000898f, -0.001530f, -0.002032f, -0.002387f, -0.002582f, -0.002609f, -0.002468f, -0.002164f, -0.001707f, -0.001115f, -0.000408f, 0.000388f, 0.001245f, 0.002133f, 0.003020f, 0.003875f, 0.004668f, 0.005370f, 0.005957f, 0.006408f, 0.006706f, 0.006842f, 0.006809f, 0.006608f, 0.006244f, 0.005728f, 0.005076f, 0.004308f, 0.003448f, 0.002521f, 0.001554f, 0.000577f, -0.000384f, -0.001302f, -0.002151f, -0.002912f, -0.003566f, -0.004099f, -0.004503f, -0.004774f, -0.004911f, -0.004920f, -0.004810f, -0.004594f, -0.004288f, -0.003910f, -0.003481f, -0.003021f, -0.002551f, -0.002092f, -0.001662f, -0.001277f, -0.000951f, -0.000694f, -0.000513f, -0.000409f, -0.000383f, -0.000431f, -0.000544f, -0.000712f, -0.000922f, -0.001160f, -0.001410f, -0.001657f, -0.001886f, -0.002081f, -0.002230f, -0.002324f, -0.002354f, -0.002316f, -0.002208f, -0.002033f, -0.001796f, -0.001505f, -0.001171f, -0.000807f, + -0.000428f, -0.000050f, 0.000312f, 0.000641f, 0.000922f, 0.001141f, 0.001289f, 0.001355f, 0.001334f, 0.001225f, 0.001028f, 0.000748f, 0.000392f, -0.000029f, -0.000500f, -0.001007f, -0.001533f, -0.002058f, -0.002566f, -0.003037f, -0.003455f, -0.003805f, -0.004073f, -0.004251f, -0.004330f, -0.004307f, -0.004182f, -0.003958f, -0.003643f, -0.003245f, -0.002778f, -0.002256f, -0.001695f, -0.001114f, -0.000530f, 0.000039f, 0.000576f, 0.001067f, 0.001497f, 0.001857f, 0.002137f, 0.002333f, 0.002443f, 0.002469f, 0.002415f, 0.002288f, 0.002098f, 0.001857f, 0.001577f, 0.001272f, 0.000957f, 0.000645f, 0.000350f, 0.000083f, -0.000146f, -0.000329f, -0.000461f, -0.000540f, -0.000566f, -0.000541f, -0.000472f, -0.000365f, -0.000231f, -0.000079f, -0.460259f, -0.951079f, -0.610747f, 0.139152f, 0.697949f, 0.756847f, 0.243016f, -0.421240f, -0.809240f, -0.722790f, -0.131189f, 0.462952f, 0.869130f, 0.669286f, 0.030399f, -0.562684f, -0.789169f, -0.467168f, 0.151920f, 0.680335f, 0.729095f, 0.339114f, -0.322683f, -0.698273f, -0.615664f, -0.093987f, 0.456628f, 0.704581f, 0.459961f, -0.071120f, -0.568074f, -0.669242f, + -0.335663f, 0.247131f, 0.632814f, 0.619104f, 0.155654f, -0.373183f, -0.695371f, -0.503600f, -0.123694f, 0.358269f, 0.720965f, 0.556532f, 0.039488f, -0.523997f, -0.688621f, -0.390989f, 0.199606f, 0.632990f, 0.653547f, 0.212882f, -0.363644f, -0.697704f, -0.533888f, -0.012498f, 0.510544f, 0.655232f, 0.374543f, -0.161184f, -0.563367f, -0.566663f, -0.171992f, 0.340804f, 0.661432f, 0.496413f, -0.012145f, -0.517044f, -0.669485f, -0.363559f, 0.180685f, 0.613468f, 0.618828f, 0.208956f, -0.346445f, -0.673686f, -0.546699f, -0.033563f, 0.494204f, 0.664797f, 0.384626f, -0.160262f, -0.529660f, -0.570199f, -0.199102f, 0.331888f, 0.641768f, 0.518867f, 0.029795f, -0.468042f, -0.650452f, -0.381207f, 0.163056f, 0.573507f, 0.620545f, 0.260207f, -0.286010f, -0.602836f, -0.538518f, -0.133326f, 0.352210f, 0.602532f, 0.439914f, 0.007239f, -0.429036f, -0.568867f, -0.308712f, 0.146511f, 0.519479f, 0.533995f, 0.182772f, -0.315085f, -0.581991f, -0.461079f, 0.007470f, 0.469652f, 0.601398f, 0.340411f, -0.169957f, -0.574590f, -0.589987f, -0.182204f, 0.358851f, 0.637429f, 0.477370f, -0.004546f, -0.473175f, -0.601238f, + -0.306724f, 0.190330f, 0.543690f, 0.516648f, 0.152960f, -0.318909f, -0.546856f, -0.396088f, 0.018774f, 0.420713f, 0.545205f, 0.298542f, -0.152204f, -0.494079f, -0.489567f, -0.147781f, 0.289809f, 0.518298f, 0.390240f, -0.007614f, -0.385375f, -0.488880f, -0.242032f, 0.186344f, 0.481677f, 0.422991f, 0.071320f, -0.202729f, -0.173620f, -0.040696f, -0.001221f, 0.001660f} + }, + { + {0.000043f, 0.000144f, 0.000288f, 0.000500f, 0.000803f, 0.001215f, 0.001748f, 0.002406f, 0.003188f, 0.004083f, 0.005077f, 0.006143f, 0.007254f, 0.008372f, 0.009460f, 0.010475f, 0.011374f, 0.012114f, 0.012655f, 0.012959f, 0.012996f, 0.012740f, 0.012174f, 0.011291f, 0.010092f, 0.008588f, 0.006799f, 0.004755f, 0.002496f, 0.000069f, -0.002475f, -0.005077f, -0.007675f, -0.010209f, -0.012615f, -0.014835f, -0.016813f, -0.018501f, -0.019856f, -0.020848f, -0.021453f, -0.021661f, -0.021469f, -0.020890f, -0.019943f, -0.018662f, -0.017086f, -0.015264f, -0.013251f, -0.011106f, -0.008892f, -0.006671f, -0.004506f, -0.002455f, -0.000574f, 0.001091f, 0.002497f, 0.003615f, 0.004422f, 0.004905f, 0.005063f, 0.004904f, 0.004446f, 0.003715f, 0.002745f, 0.001576f, 0.000254f, -0.001173f, -0.002655f, -0.004142f, -0.005584f, -0.006937f, -0.008160f, -0.009218f, -0.010081f, -0.010730f, -0.011149f, -0.011334f, -0.011287f, -0.011017f, -0.010541f, -0.009880f, -0.009063f, -0.008119f, -0.007082f, -0.005988f, -0.004870f, -0.003763f, -0.002698f, -0.001703f, -0.000803f, -0.000016f, 0.000642f, 0.001163f, 0.001543f, 0.001783f, + 0.001888f, 0.001871f, 0.001743f, 0.001522f, 0.001226f, 0.000875f, 0.000487f, 0.000082f, -0.000322f, -0.000711f, -0.001071f, -0.001392f, -0.001669f, -0.001897f, -0.002077f, -0.002211f, -0.002304f, -0.002364f, -0.002399f, -0.002421f, -0.002438f, -0.002462f, -0.002500f, -0.002561f, -0.002650f, -0.002771f, -0.002924f, -0.003107f, -0.003317f, -0.003546f, -0.003785f, -0.004025f, -0.004252f, -0.004455f, -0.004621f, -0.004737f, -0.004793f, -0.004780f, -0.004690f, -0.004518f, -0.004265f, -0.003930f, -0.003519f, -0.003041f, -0.002505f, -0.001925f, -0.001317f, -0.000698f, -0.000087f, 0.000500f, 0.001043f, 0.001526f, 0.001935f, 0.002255f, 0.002479f, 0.002599f, 0.002613f, 0.002521f, 0.002329f, 0.002045f, 0.001680f, 0.001249f, 0.000769f, 0.000260f, 0.048997f, -0.015463f, -0.522407f, -0.600085f, -0.029695f, 0.813964f, 0.895309f, 0.289993f, -0.543636f, -0.625036f, -0.515398f, 0.035194f, 0.575718f, 0.501556f, 0.121036f, -0.361039f, -0.606845f, -0.495123f, 0.005394f, 0.415183f, 0.580837f, 0.318723f, -0.123234f, -0.593524f, -0.557355f, -0.169369f, 0.347707f, 0.571599f, 0.525102f, 0.030652f, -0.384441f, -0.655672f, + -0.441819f, 0.048587f, 0.566868f, 0.678160f, 0.404472f, -0.223534f, -0.700639f, -0.731015f, -0.152629f, 0.532299f, 0.760448f, 0.502195f, -0.144427f, -0.703978f, -0.795643f, -0.329782f, 0.354114f, 0.753876f, 0.632607f, 0.089946f, -0.518511f, -0.791351f, -0.524899f, 0.105404f, 0.617469f, 0.708260f, 0.315198f, -0.259685f, -0.691168f, -0.600568f, -0.140553f, 0.464125f, 0.710946f, 0.596699f, 0.080098f, -0.565102f, -0.842626f, -0.545444f, 0.106598f, 0.690972f, 0.810141f, 0.361296f, -0.318065f, -0.835661f, -0.742986f, -0.188936f, 0.522876f, 0.868070f, 0.580850f, -0.071922f, -0.600638f, -0.771853f, -0.386671f, 0.306924f, 0.769086f, 0.717438f, 0.159465f, -0.512452f, -0.803147f, -0.589629f, 0.033897f, 0.618695f, 0.791468f, 0.451289f, -0.217270f, -0.688459f, -0.719979f, -0.225991f, 0.388821f, 0.764794f, 0.571738f, 0.036560f, -0.544424f, -0.738813f, -0.420931f, 0.220447f, 0.694543f, 0.676052f, 0.185413f, -0.439806f, -0.732939f, -0.533904f, 0.076370f, 0.635241f, 0.740983f, 0.341226f, -0.276814f, -0.754017f, -0.696747f, -0.157458f, 0.462557f, 0.761077f, 0.546792f, -0.049733f, -0.593449f, -0.702775f, + -0.329350f, 0.258630f, 0.631552f, 0.588083f, 0.131914f, -0.416817f, -0.660524f, -0.449411f, 0.064797f, 0.531572f, 0.651073f, 0.322630f, -0.224129f, -0.603598f, -0.571861f, -0.140543f, 0.397649f, 0.642342f, 0.435744f, -0.053386f, -0.506667f, -0.608518f, -0.260578f, 0.265807f, 0.611486f, 0.509185f, 0.058931f, -0.271691f, -0.217337f, -0.048702f, -0.000227f, 0.001508f}, + {-0.000043f, -0.000144f, -0.000288f, -0.000500f, -0.000803f, -0.001215f, -0.001748f, -0.002406f, -0.003188f, -0.004083f, -0.005077f, -0.006143f, -0.007254f, -0.008372f, -0.009460f, -0.010475f, -0.011374f, -0.012114f, -0.012655f, -0.012959f, -0.012996f, -0.012740f, -0.012174f, -0.011291f, -0.010092f, -0.008588f, -0.006799f, -0.004755f, -0.002496f, -0.000069f, 0.002475f, 0.005077f, 0.007675f, 0.010209f, 0.012615f, 0.014835f, 0.016813f, 0.018501f, 0.019856f, 0.020848f, 0.021453f, 0.021661f, 0.021469f, 0.020890f, 0.019943f, 0.018662f, 0.017086f, 0.015264f, 0.013251f, 0.011106f, 0.008892f, 0.006671f, 0.004506f, 0.002455f, 0.000574f, -0.001091f, -0.002497f, -0.003615f, -0.004422f, -0.004905f, -0.005063f, -0.004904f, -0.004446f, -0.003715f, -0.002745f, -0.001576f, -0.000254f, 0.001173f, 0.002655f, 0.004142f, 0.005584f, 0.006937f, 0.008160f, 0.009218f, 0.010081f, 0.010730f, 0.011149f, 0.011334f, 0.011287f, 0.011017f, 0.010541f, 0.009880f, 0.009063f, 0.008119f, 0.007082f, 0.005988f, 0.004870f, 0.003763f, 0.002698f, 0.001703f, 0.000803f, 0.000016f, -0.000642f, -0.001163f, -0.001543f, -0.001783f, + -0.001888f, -0.001871f, -0.001743f, -0.001522f, -0.001226f, -0.000875f, -0.000487f, -0.000082f, 0.000322f, 0.000711f, 0.001071f, 0.001392f, 0.001669f, 0.001897f, 0.002077f, 0.002211f, 0.002304f, 0.002364f, 0.002399f, 0.002421f, 0.002438f, 0.002462f, 0.002500f, 0.002561f, 0.002650f, 0.002771f, 0.002924f, 0.003107f, 0.003317f, 0.003546f, 0.003785f, 0.004025f, 0.004252f, 0.004455f, 0.004621f, 0.004737f, 0.004793f, 0.004780f, 0.004690f, 0.004518f, 0.004265f, 0.003930f, 0.003519f, 0.003041f, 0.002505f, 0.001925f, 0.001317f, 0.000698f, 0.000087f, -0.000500f, -0.001043f, -0.001526f, -0.001935f, -0.002255f, -0.002479f, -0.002599f, -0.002613f, -0.002521f, -0.002329f, -0.002045f, -0.001680f, -0.001249f, -0.000769f, -0.000260f, -0.048997f, 0.015463f, 0.522407f, 0.600085f, 0.029695f, -0.813964f, -0.895309f, -0.289993f, 0.543636f, 0.625036f, 0.515398f, -0.035194f, -0.575718f, -0.501556f, -0.121036f, 0.361039f, 0.606845f, 0.495123f, -0.005394f, -0.415183f, -0.580837f, -0.318723f, 0.123234f, 0.593524f, 0.557355f, 0.169369f, -0.347707f, -0.571599f, -0.525102f, -0.030652f, 0.384441f, 0.655672f, + 0.441819f, -0.048587f, -0.566868f, -0.678160f, -0.404472f, 0.223534f, 0.700639f, 0.731015f, 0.152629f, -0.532299f, -0.760448f, -0.502195f, 0.144427f, 0.703978f, 0.795643f, 0.329782f, -0.354114f, -0.753876f, -0.632607f, -0.089946f, 0.518511f, 0.791351f, 0.524899f, -0.105404f, -0.617469f, -0.708260f, -0.315198f, 0.259685f, 0.691168f, 0.600568f, 0.140553f, -0.464125f, -0.710946f, -0.596699f, -0.080098f, 0.565102f, 0.842626f, 0.545444f, -0.106598f, -0.690972f, -0.810141f, -0.361296f, 0.318065f, 0.835661f, 0.742986f, 0.188936f, -0.522876f, -0.868070f, -0.580850f, 0.071922f, 0.600638f, 0.771853f, 0.386671f, -0.306924f, -0.769086f, -0.717438f, -0.159465f, 0.512452f, 0.803147f, 0.589629f, -0.033897f, -0.618695f, -0.791468f, -0.451289f, 0.217270f, 0.688459f, 0.719979f, 0.225991f, -0.388821f, -0.764794f, -0.571738f, -0.036560f, 0.544424f, 0.738813f, 0.420931f, -0.220447f, -0.694543f, -0.676052f, -0.185413f, 0.439806f, 0.732939f, 0.533904f, -0.076370f, -0.635241f, -0.740983f, -0.341226f, 0.276814f, 0.754017f, 0.696747f, 0.157458f, -0.462557f, -0.761077f, -0.546792f, 0.049733f, 0.593449f, 0.702775f, + 0.329350f, -0.258630f, -0.631552f, -0.588083f, -0.131914f, 0.416817f, 0.660524f, 0.449411f, -0.064797f, -0.531572f, -0.651073f, -0.322630f, 0.224129f, 0.603598f, 0.571861f, 0.140543f, -0.397649f, -0.642342f, -0.435744f, 0.053386f, 0.506667f, 0.608518f, 0.260578f, -0.265807f, -0.611486f, -0.509185f, -0.058931f, 0.271691f, 0.217337f, 0.048702f, 0.000227f, -0.001508f} + }, + { + {-0.002267f, -0.006781f, -0.011234f, -0.015586f, -0.019796f, -0.023824f, -0.027628f, -0.031169f, -0.034406f, -0.037301f, -0.039816f, -0.041916f, -0.043571f, -0.044751f, -0.045434f, -0.045604f, -0.045249f, -0.044368f, -0.042964f, -0.041052f, -0.038655f, -0.035806f, -0.032547f, -0.028927f, -0.025007f, -0.020851f, -0.016534f, -0.012133f, -0.007730f, -0.003407f, 0.000753f, 0.004667f, 0.008260f, 0.011460f, 0.014203f, 0.016436f, 0.018117f, 0.019214f, 0.019710f, 0.019602f, 0.018900f, 0.017629f, 0.015828f, 0.013547f, 0.010848f, 0.007803f, 0.004494f, 0.001006f, -0.002572f, -0.006146f, -0.009627f, -0.012928f, -0.015967f, -0.018670f, -0.020974f, -0.022825f, -0.024183f, -0.025023f, -0.025330f, -0.025107f, -0.024370f, -0.023148f, -0.021482f, -0.019425f, -0.017039f, -0.014394f, -0.011564f, -0.008627f, -0.005663f, -0.002749f, 0.000039f, 0.002634f, 0.004973f, 0.007002f, 0.008679f, 0.009970f, 0.010856f, 0.011326f, 0.011383f, 0.011041f, 0.010324f, 0.009265f, 0.007905f, 0.006292f, 0.004479f, 0.002522f, 0.000479f, -0.001593f, -0.003639f, -0.005606f, -0.007448f, -0.009123f, -0.010596f, -0.011841f, -0.012837f, -0.013575f, + -0.014049f, -0.014265f, -0.014234f, -0.013972f, -0.013503f, -0.012852f, -0.012050f, -0.011128f, -0.010119f, -0.009056f, -0.007969f, -0.006887f, -0.005837f, -0.004840f, -0.003916f, -0.003079f, -0.002339f, -0.001702f, -0.001168f, -0.000738f, -0.000404f, -0.000159f, 0.000006f, 0.000105f, 0.000149f, 0.000151f, 0.000123f, 0.000078f, 0.000026f, -0.000024f, -0.000065f, -0.000092f, -0.000102f, -0.000092f, -0.000064f, -0.000018f, 0.000041f, 0.000110f, 0.000185f, 0.000260f, 0.000331f, 0.000394f, 0.000444f, 0.000479f, 0.000497f, 0.000497f, 0.000480f, 0.000446f, 0.000397f, 0.000337f, 0.000269f, 0.000197f, 0.000124f, 0.000055f, -0.000008f, -0.000060f, -0.000100f, -0.000126f, -0.000138f, -0.000136f, -0.000121f, -0.000095f, -0.000060f, -0.000021f, -0.058407f, -0.104213f, -0.091374f, 0.167866f, 0.095142f, -0.111637f, -0.093947f, 0.008070f, 0.076086f, 0.220379f, 0.388714f, 0.303315f, -0.046653f, 0.159210f, -0.080395f, -0.114785f, -0.080619f, 0.077435f, 0.100425f, 0.160232f, 0.147878f, 0.133076f, -0.051730f, -0.200541f, -0.153297f, 0.110444f, 0.193077f, 0.133008f, -0.052189f, -0.161640f, -0.246623f, -0.090053f, + 0.086510f, 0.220857f, 0.163599f, -0.014898f, -0.236818f, -0.222103f, -0.129232f, 0.081782f, -0.004850f, -0.065845f, 0.178391f, 0.209799f, 0.152276f, -0.066789f, -0.179632f, -0.185378f, -0.015467f, 0.196687f, 0.310999f, 0.153687f, -0.068969f, -0.298029f, -0.322925f, -0.091777f, 0.290577f, 0.470439f, 0.311392f, -0.112813f, -0.471956f, -0.535044f, -0.207024f, 0.243222f, 0.542002f, 0.311086f, -0.145760f, -0.473830f, -0.370839f, 0.001872f, 0.388776f, 0.426580f, 0.199433f, -0.186202f, -0.397908f, -0.270887f, 0.016514f, 0.321660f, 0.362808f, 0.069168f, -0.184442f, -0.327971f, -0.210001f, 0.042157f, 0.265061f, 0.262252f, 0.113813f, -0.135017f, -0.216907f, -0.177332f, -0.023642f, 0.109633f, 0.156087f, 0.124602f, 0.066843f, -0.079584f, -0.103854f, -0.076786f, 0.039317f, 0.182606f, 0.205344f, 0.015890f, -0.179015f, -0.308396f, -0.181602f, 0.118732f, 0.331502f, 0.311859f, 0.083492f, -0.193440f, -0.339859f, -0.210035f, 0.038309f, 0.272190f, 0.271032f, 0.078279f, -0.138374f, -0.258518f, -0.186134f, -0.005147f, 0.170585f, 0.170076f, 0.132706f, -0.022662f, -0.110194f, -0.128394f, -0.076436f, -0.034288f, + 0.038887f, 0.083304f, 0.098979f, 0.039004f, -0.015421f, -0.083882f, -0.075557f, -0.041993f, 0.044662f, 0.076560f, 0.104634f, 0.028010f, -0.037251f, -0.083421f, -0.057962f, -0.008276f, 0.050276f, 0.061592f, 0.062659f, -0.019294f, -0.045618f, -0.052590f, -0.021082f, 0.021156f, 0.051217f, 0.035327f, -0.003896f, -0.032706f, -0.007792f, -0.007871f, 0.005964f, -0.004716f}, + {-0.002267f, -0.006781f, -0.011234f, -0.015586f, -0.019796f, -0.023824f, -0.027628f, -0.031169f, -0.034406f, -0.037301f, -0.039816f, -0.041916f, -0.043571f, -0.044751f, -0.045434f, -0.045604f, -0.045249f, -0.044368f, -0.042964f, -0.041052f, -0.038655f, -0.035806f, -0.032547f, -0.028927f, -0.025007f, -0.020851f, -0.016534f, -0.012133f, -0.007730f, -0.003407f, 0.000753f, 0.004667f, 0.008260f, 0.011460f, 0.014203f, 0.016436f, 0.018117f, 0.019214f, 0.019710f, 0.019602f, 0.018900f, 0.017629f, 0.015828f, 0.013547f, 0.010848f, 0.007803f, 0.004494f, 0.001006f, -0.002572f, -0.006146f, -0.009627f, -0.012928f, -0.015967f, -0.018670f, -0.020974f, -0.022825f, -0.024183f, -0.025023f, -0.025330f, -0.025107f, -0.024370f, -0.023148f, -0.021482f, -0.019425f, -0.017039f, -0.014394f, -0.011564f, -0.008627f, -0.005663f, -0.002749f, 0.000039f, 0.002634f, 0.004973f, 0.007002f, 0.008679f, 0.009970f, 0.010856f, 0.011326f, 0.011383f, 0.011041f, 0.010324f, 0.009265f, 0.007905f, 0.006292f, 0.004479f, 0.002522f, 0.000479f, -0.001593f, -0.003639f, -0.005606f, -0.007448f, -0.009123f, -0.010596f, -0.011841f, -0.012837f, -0.013575f, + -0.014049f, -0.014265f, -0.014234f, -0.013972f, -0.013503f, -0.012852f, -0.012050f, -0.011128f, -0.010119f, -0.009056f, -0.007969f, -0.006887f, -0.005837f, -0.004840f, -0.003916f, -0.003079f, -0.002339f, -0.001702f, -0.001168f, -0.000738f, -0.000404f, -0.000159f, 0.000006f, 0.000105f, 0.000149f, 0.000151f, 0.000123f, 0.000078f, 0.000026f, -0.000024f, -0.000065f, -0.000092f, -0.000102f, -0.000092f, -0.000064f, -0.000018f, 0.000041f, 0.000110f, 0.000185f, 0.000260f, 0.000331f, 0.000394f, 0.000444f, 0.000479f, 0.000497f, 0.000497f, 0.000480f, 0.000446f, 0.000397f, 0.000337f, 0.000269f, 0.000197f, 0.000124f, 0.000055f, -0.000008f, -0.000060f, -0.000100f, -0.000126f, -0.000138f, -0.000136f, -0.000121f, -0.000095f, -0.000060f, -0.000021f, -0.058407f, -0.104213f, -0.091374f, 0.167866f, 0.095142f, -0.111637f, -0.093947f, 0.008070f, 0.076086f, 0.220379f, 0.388714f, 0.303315f, -0.046653f, 0.159210f, -0.080395f, -0.114785f, -0.080619f, 0.077435f, 0.100425f, 0.160232f, 0.147878f, 0.133076f, -0.051730f, -0.200541f, -0.153297f, 0.110444f, 0.193077f, 0.133008f, -0.052189f, -0.161640f, -0.246623f, -0.090053f, + 0.086510f, 0.220857f, 0.163599f, -0.014898f, -0.236818f, -0.222103f, -0.129232f, 0.081782f, -0.004850f, -0.065845f, 0.178391f, 0.209799f, 0.152276f, -0.066789f, -0.179632f, -0.185378f, -0.015467f, 0.196687f, 0.310999f, 0.153687f, -0.068969f, -0.298029f, -0.322925f, -0.091777f, 0.290577f, 0.470439f, 0.311392f, -0.112813f, -0.471956f, -0.535044f, -0.207024f, 0.243222f, 0.542002f, 0.311086f, -0.145760f, -0.473830f, -0.370839f, 0.001872f, 0.388776f, 0.426580f, 0.199433f, -0.186202f, -0.397908f, -0.270887f, 0.016514f, 0.321660f, 0.362808f, 0.069168f, -0.184442f, -0.327971f, -0.210001f, 0.042157f, 0.265061f, 0.262252f, 0.113813f, -0.135017f, -0.216907f, -0.177332f, -0.023642f, 0.109633f, 0.156087f, 0.124602f, 0.066843f, -0.079584f, -0.103854f, -0.076786f, 0.039317f, 0.182606f, 0.205344f, 0.015890f, -0.179015f, -0.308396f, -0.181602f, 0.118732f, 0.331502f, 0.311859f, 0.083492f, -0.193440f, -0.339859f, -0.210035f, 0.038309f, 0.272190f, 0.271032f, 0.078279f, -0.138374f, -0.258518f, -0.186134f, -0.005147f, 0.170585f, 0.170076f, 0.132706f, -0.022662f, -0.110194f, -0.128394f, -0.076436f, -0.034288f, + 0.038887f, 0.083304f, 0.098979f, 0.039004f, -0.015421f, -0.083882f, -0.075557f, -0.041993f, 0.044662f, 0.076560f, 0.104634f, 0.028010f, -0.037251f, -0.083421f, -0.057962f, -0.008276f, 0.050276f, 0.061592f, 0.062659f, -0.019294f, -0.045618f, -0.052590f, -0.021082f, 0.021156f, 0.051217f, 0.035327f, -0.003896f, -0.032706f, -0.007792f, -0.007871f, 0.005964f, -0.004716f} + }, + { + {-0.002758f, -0.008214f, -0.013493f, -0.018483f, -0.023078f, -0.027187f, -0.030729f, -0.033641f, -0.035877f, -0.037411f, -0.038233f, -0.038357f, -0.037811f, -0.036645f, -0.034921f, -0.032719f, -0.030125f, -0.027239f, -0.024162f, -0.021001f, -0.017858f, -0.014833f, -0.012020f, -0.009500f, -0.007345f, -0.005609f, -0.004333f, -0.003542f, -0.003240f, -0.003417f, -0.004046f, -0.005086f, -0.006478f, -0.008157f, -0.010046f, -0.012060f, -0.014115f, -0.016122f, -0.017997f, -0.019659f, -0.021036f, -0.022066f, -0.022699f, -0.022899f, -0.022644f, -0.021928f, -0.020760f, -0.019164f, -0.017180f, -0.014860f, -0.012267f, -0.009473f, -0.006558f, -0.003605f, -0.000699f, 0.002077f, 0.004641f, 0.006922f, 0.008853f, 0.010382f, 0.011466f, 0.012078f, 0.012205f, 0.011848f, 0.011025f, 0.009765f, 0.008114f, 0.006127f, 0.003869f, 0.001416f, -0.001155f, -0.003759f, -0.006314f, -0.008739f, -0.010956f, -0.012896f, -0.014498f, -0.015712f, -0.016499f, -0.016833f, -0.016705f, -0.016117f, -0.015086f, -0.013642f, -0.011827f, -0.009695f, -0.007308f, -0.004735f, -0.002052f, 0.000665f, 0.003338f, 0.005892f, 0.008256f, 0.010363f, 0.012159f, 0.013595f, + 0.014636f, 0.015258f, 0.015451f, 0.015215f, 0.014566f, 0.013529f, 0.012142f, 0.010452f, 0.008514f, 0.006391f, 0.004149f, 0.001856f, -0.000417f, -0.002603f, -0.004637f, -0.006461f, -0.008024f, -0.009281f, -0.010200f, -0.010759f, -0.010943f, -0.010755f, -0.010202f, -0.009307f, -0.008100f, -0.006621f, -0.004914f, -0.003034f, -0.001036f, 0.001021f, 0.003077f, 0.005075f, 0.006958f, 0.008677f, 0.010187f, 0.011449f, 0.012435f, 0.013124f, 0.013504f, 0.013575f, 0.013342f, 0.012823f, 0.012043f, 0.011032f, 0.009830f, 0.008478f, 0.007023f, 0.005512f, 0.003994f, 0.002515f, 0.001120f, -0.000151f, -0.001265f, -0.002191f, -0.002911f, -0.003409f, -0.003681f, -0.003730f, -0.003567f, -0.003209f, -0.002683f, -0.002019f, -0.001253f, -0.000425f, 0.017164f, -0.095166f, -0.084610f, -0.066781f, 0.125564f, -0.055140f, -0.043633f, -0.055197f, 0.072714f, -0.100511f, 0.144497f, 0.115593f, -0.072967f, 0.428156f, 0.536649f, 0.361553f, -0.187894f, -0.504100f, -0.536552f, -0.209129f, 0.324334f, 0.717579f, 0.479062f, -0.076828f, -0.630415f, -0.733045f, -0.375205f, 0.361882f, 0.851886f, 0.698590f, 0.037553f, -0.675426f, + -0.833824f, -0.418413f, 0.332807f, 0.738102f, 0.683005f, 0.031927f, -0.473763f, -0.676455f, -0.116995f, 0.532705f, 0.480135f, 0.217679f, -0.301672f, -0.549176f, -0.506689f, -0.110837f, 0.270437f, 0.499041f, 0.300922f, -0.031881f, -0.355101f, -0.392462f, -0.221663f, 0.107522f, 0.284228f, 0.295903f, 0.107689f, -0.126331f, -0.290544f, -0.236669f, -0.061858f, 0.193208f, 0.217471f, 0.246872f, 0.078080f, -0.181977f, -0.290841f, -0.186887f, 0.073642f, 0.191131f, 0.164691f, -0.004480f, -0.127122f, -0.163585f, -0.015179f, 0.092875f, 0.132319f, 0.056038f, -0.096492f, -0.185668f, -0.110148f, 0.053996f, 0.167665f, 0.195388f, 0.025827f, -0.166236f, -0.232588f, -0.166091f, 0.041634f, 0.101911f, 0.059508f, -0.013331f, -0.098501f, -0.069904f, -0.025396f, -0.001789f, -0.004400f, -0.144278f, -0.143038f, -0.024272f, 0.175344f, 0.253854f, 0.159944f, -0.101035f, -0.280794f, -0.265512f, -0.020116f, 0.276962f, 0.361592f, 0.144039f, -0.172472f, -0.398515f, -0.320982f, -0.050912f, 0.281935f, 0.448140f, 0.242748f, -0.148340f, -0.439433f, -0.362324f, -0.037030f, 0.304097f, 0.420291f, 0.244908f, -0.086568f, -0.339309f, + -0.341381f, -0.113297f, 0.212756f, 0.365130f, 0.285176f, -0.027987f, -0.290757f, -0.359049f, -0.186519f, 0.134808f, 0.357137f, 0.309240f, 0.053867f, -0.237918f, -0.363218f, -0.222627f, 0.018767f, 0.266466f, 0.325402f, 0.169829f, -0.113374f, -0.264223f, -0.246908f, -0.033550f, 0.194119f, 0.284522f, 0.165400f, -0.044492f, -0.108267f, -0.038686f, -0.008172f, 0.001053f}, + {-0.002758f, -0.008214f, -0.013493f, -0.018483f, -0.023078f, -0.027187f, -0.030729f, -0.033641f, -0.035877f, -0.037411f, -0.038233f, -0.038357f, -0.037811f, -0.036645f, -0.034921f, -0.032719f, -0.030125f, -0.027239f, -0.024162f, -0.021001f, -0.017858f, -0.014833f, -0.012020f, -0.009500f, -0.007345f, -0.005609f, -0.004333f, -0.003542f, -0.003240f, -0.003417f, -0.004046f, -0.005086f, -0.006478f, -0.008157f, -0.010046f, -0.012060f, -0.014115f, -0.016122f, -0.017997f, -0.019659f, -0.021036f, -0.022066f, -0.022699f, -0.022899f, -0.022644f, -0.021928f, -0.020760f, -0.019164f, -0.017180f, -0.014860f, -0.012267f, -0.009473f, -0.006558f, -0.003605f, -0.000699f, 0.002077f, 0.004641f, 0.006922f, 0.008853f, 0.010382f, 0.011466f, 0.012078f, 0.012205f, 0.011848f, 0.011025f, 0.009765f, 0.008114f, 0.006127f, 0.003869f, 0.001416f, -0.001155f, -0.003759f, -0.006314f, -0.008739f, -0.010956f, -0.012896f, -0.014498f, -0.015712f, -0.016499f, -0.016833f, -0.016705f, -0.016117f, -0.015086f, -0.013642f, -0.011827f, -0.009695f, -0.007308f, -0.004735f, -0.002052f, 0.000665f, 0.003338f, 0.005892f, 0.008256f, 0.010363f, 0.012159f, 0.013595f, + 0.014636f, 0.015258f, 0.015451f, 0.015215f, 0.014566f, 0.013529f, 0.012142f, 0.010452f, 0.008514f, 0.006391f, 0.004149f, 0.001856f, -0.000417f, -0.002603f, -0.004637f, -0.006461f, -0.008024f, -0.009281f, -0.010200f, -0.010759f, -0.010943f, -0.010755f, -0.010202f, -0.009307f, -0.008100f, -0.006621f, -0.004914f, -0.003034f, -0.001036f, 0.001021f, 0.003077f, 0.005075f, 0.006958f, 0.008677f, 0.010187f, 0.011449f, 0.012435f, 0.013124f, 0.013504f, 0.013575f, 0.013342f, 0.012823f, 0.012043f, 0.011032f, 0.009830f, 0.008478f, 0.007023f, 0.005512f, 0.003994f, 0.002515f, 0.001120f, -0.000151f, -0.001265f, -0.002191f, -0.002911f, -0.003409f, -0.003681f, -0.003730f, -0.003567f, -0.003209f, -0.002683f, -0.002019f, -0.001253f, -0.000425f, 0.017164f, -0.095166f, -0.084610f, -0.066781f, 0.125564f, -0.055140f, -0.043633f, -0.055197f, 0.072714f, -0.100511f, 0.144497f, 0.115593f, -0.072967f, 0.428156f, 0.536649f, 0.361553f, -0.187894f, -0.504100f, -0.536552f, -0.209129f, 0.324334f, 0.717579f, 0.479062f, -0.076828f, -0.630415f, -0.733045f, -0.375205f, 0.361882f, 0.851886f, 0.698590f, 0.037553f, -0.675426f, + -0.833824f, -0.418413f, 0.332807f, 0.738102f, 0.683005f, 0.031927f, -0.473763f, -0.676455f, -0.116995f, 0.532705f, 0.480135f, 0.217679f, -0.301672f, -0.549176f, -0.506689f, -0.110837f, 0.270437f, 0.499041f, 0.300922f, -0.031881f, -0.355101f, -0.392462f, -0.221663f, 0.107522f, 0.284228f, 0.295903f, 0.107689f, -0.126331f, -0.290544f, -0.236669f, -0.061858f, 0.193208f, 0.217471f, 0.246872f, 0.078080f, -0.181977f, -0.290841f, -0.186887f, 0.073642f, 0.191131f, 0.164691f, -0.004480f, -0.127122f, -0.163585f, -0.015179f, 0.092875f, 0.132319f, 0.056038f, -0.096492f, -0.185668f, -0.110148f, 0.053996f, 0.167665f, 0.195388f, 0.025827f, -0.166236f, -0.232588f, -0.166091f, 0.041634f, 0.101911f, 0.059508f, -0.013331f, -0.098501f, -0.069904f, -0.025396f, -0.001789f, -0.004400f, -0.144278f, -0.143038f, -0.024272f, 0.175344f, 0.253854f, 0.159944f, -0.101035f, -0.280794f, -0.265512f, -0.020116f, 0.276962f, 0.361592f, 0.144039f, -0.172472f, -0.398515f, -0.320982f, -0.050912f, 0.281935f, 0.448140f, 0.242748f, -0.148340f, -0.439433f, -0.362324f, -0.037030f, 0.304097f, 0.420291f, 0.244908f, -0.086568f, -0.339309f, + -0.341381f, -0.113297f, 0.212756f, 0.365130f, 0.285176f, -0.027987f, -0.290757f, -0.359049f, -0.186519f, 0.134808f, 0.357137f, 0.309240f, 0.053867f, -0.237918f, -0.363218f, -0.222627f, 0.018767f, 0.266466f, 0.325402f, 0.169829f, -0.113374f, -0.264223f, -0.246908f, -0.033550f, 0.194119f, 0.284522f, 0.165400f, -0.044492f, -0.108267f, -0.038686f, -0.008172f, 0.001053f} + }, + { + {-0.001314f, -0.003934f, -0.006527f, -0.009075f, -0.011558f, -0.013956f, -0.016248f, -0.018413f, -0.020427f, -0.022268f, -0.023913f, -0.025340f, -0.026526f, -0.027454f, -0.028106f, -0.028470f, -0.028537f, -0.028304f, -0.027773f, -0.026955f, -0.025863f, -0.024520f, -0.022957f, -0.021207f, -0.019313f, -0.017322f, -0.015285f, -0.013255f, -0.011288f, -0.009439f, -0.007763f, -0.006312f, -0.005130f, -0.004258f, -0.003730f, -0.003568f, -0.003786f, -0.004389f, -0.005367f, -0.006704f, -0.008368f, -0.010323f, -0.012518f, -0.014897f, -0.017398f, -0.019954f, -0.022494f, -0.024947f, -0.027245f, -0.029320f, -0.031114f, -0.032572f, -0.033651f, -0.034317f, -0.034547f, -0.034331f, -0.033669f, -0.032576f, -0.031078f, -0.029210f, -0.027019f, -0.024559f, -0.021890f, -0.019077f, -0.016188f, -0.013291f, -0.010451f, -0.007730f, -0.005185f, -0.002865f, -0.000810f, 0.000949f, 0.002393f, 0.003513f, 0.004311f, 0.004798f, 0.004996f, 0.004935f, 0.004654f, 0.004194f, 0.003603f, 0.002930f, 0.002222f, 0.001527f, 0.000888f, 0.000344f, -0.000075f, -0.000343f, -0.000446f, -0.000376f, -0.000134f, 0.000269f, 0.000815f, 0.001479f, 0.002231f, 0.003035f, + 0.003854f, 0.004647f, 0.005377f, 0.006008f, 0.006506f, 0.006844f, 0.007003f, 0.006967f, 0.006731f, 0.006299f, 0.005681f, 0.004897f, 0.003971f, 0.002939f, 0.001836f, 0.000705f, -0.000411f, -0.001468f, -0.002422f, -0.003233f, -0.003867f, -0.004293f, -0.004488f, -0.004438f, -0.004136f, -0.003585f, -0.002797f, -0.001792f, -0.000597f, 0.000752f, 0.002215f, 0.003748f, 0.005303f, 0.006831f, 0.008286f, 0.009623f, 0.010799f, 0.011781f, 0.012539f, 0.013052f, 0.013308f, 0.013303f, 0.013043f, 0.012540f, 0.011816f, 0.010901f, 0.009827f, 0.008635f, 0.007366f, 0.006064f, 0.004771f, 0.003528f, 0.002374f, 0.001341f, 0.000455f, -0.000264f, -0.000804f, -0.001161f, -0.001340f, -0.001352f, -0.001217f, -0.000961f, -0.000614f, -0.000211f, 0.009824f, -0.025392f, 0.003068f, -0.063495f, -0.011179f, -0.003535f, 0.064582f, 0.015421f, 0.011489f, 0.012622f, 0.059145f, 0.090678f, -0.032440f, 0.214585f, 0.315262f, 0.132747f, -0.086018f, -0.176043f, -0.328831f, 0.007037f, 0.076966f, 0.172493f, 0.129820f, -0.050454f, -0.147541f, -0.174998f, -0.016099f, 0.183486f, 0.275400f, 0.164329f, -0.045971f, -0.231470f, + -0.305185f, -0.103015f, 0.318594f, 0.372904f, 0.152126f, -0.142477f, -0.327441f, -0.316692f, 0.056741f, 0.374135f, 0.289437f, 0.066855f, -0.238684f, -0.369182f, -0.260565f, -0.020464f, 0.130344f, 0.303624f, 0.227508f, 0.048235f, -0.170420f, -0.269283f, -0.198985f, -0.018973f, 0.203016f, 0.203783f, 0.217349f, -0.178400f, -0.183073f, -0.198521f, -0.177570f, 0.058283f, 0.262246f, 0.200208f, -0.052373f, -0.253422f, -0.275952f, -0.049932f, 0.207456f, 0.272786f, 0.208903f, 0.013245f, -0.244016f, -0.286750f, -0.113712f, 0.171855f, 0.313119f, 0.124258f, -0.017760f, -0.299172f, -0.315837f, -0.087679f, 0.189029f, 0.279633f, 0.123450f, -0.110997f, -0.296898f, -0.222798f, -0.003069f, 0.147969f, 0.108509f, -0.027695f, -0.095420f, -0.033400f, 0.026412f, 0.041198f, 0.008063f, -0.121817f, -0.101401f, -0.004164f, 0.143735f, 0.201285f, 0.134135f, -0.044895f, -0.179687f, -0.197544f, -0.077941f, 0.143457f, 0.232665f, 0.231540f, 0.078622f, -0.184865f, -0.281909f, -0.103295f, 0.100131f, 0.234276f, 0.179393f, -0.070021f, -0.133067f, -0.231333f, -0.151877f, 0.074031f, 0.170175f, 0.203405f, 0.063023f, -0.089352f, + -0.140655f, -0.063965f, 0.028808f, 0.099140f, 0.075553f, 0.019414f, -0.073169f, -0.082078f, -0.089922f, 0.003511f, 0.104713f, 0.103963f, 0.040688f, -0.034396f, -0.099769f, -0.069072f, -0.044637f, 0.039414f, 0.085266f, 0.084605f, 0.013281f, -0.026480f, -0.039645f, 0.002861f, 0.025499f, 0.053876f, 0.048795f, 0.001223f, -0.029655f, -0.009701f, -0.002193f, 0.000621f}, + {0.001314f, 0.003934f, 0.006527f, 0.009075f, 0.011558f, 0.013956f, 0.016248f, 0.018413f, 0.020427f, 0.022268f, 0.023913f, 0.025340f, 0.026526f, 0.027454f, 0.028106f, 0.028470f, 0.028537f, 0.028304f, 0.027773f, 0.026955f, 0.025863f, 0.024520f, 0.022957f, 0.021207f, 0.019313f, 0.017322f, 0.015285f, 0.013255f, 0.011288f, 0.009439f, 0.007763f, 0.006312f, 0.005130f, 0.004258f, 0.003730f, 0.003568f, 0.003786f, 0.004389f, 0.005367f, 0.006704f, 0.008368f, 0.010323f, 0.012518f, 0.014897f, 0.017398f, 0.019954f, 0.022494f, 0.024947f, 0.027245f, 0.029320f, 0.031114f, 0.032572f, 0.033651f, 0.034317f, 0.034547f, 0.034331f, 0.033669f, 0.032576f, 0.031078f, 0.029210f, 0.027019f, 0.024559f, 0.021890f, 0.019077f, 0.016188f, 0.013291f, 0.010451f, 0.007730f, 0.005185f, 0.002865f, 0.000810f, -0.000949f, -0.002393f, -0.003513f, -0.004311f, -0.004798f, -0.004996f, -0.004935f, -0.004654f, -0.004194f, -0.003603f, -0.002930f, -0.002222f, -0.001527f, -0.000888f, -0.000344f, 0.000075f, 0.000343f, 0.000446f, 0.000376f, 0.000134f, -0.000269f, -0.000815f, -0.001479f, -0.002231f, -0.003035f, + -0.003854f, -0.004647f, -0.005377f, -0.006008f, -0.006506f, -0.006844f, -0.007003f, -0.006967f, -0.006731f, -0.006299f, -0.005681f, -0.004897f, -0.003971f, -0.002939f, -0.001836f, -0.000705f, 0.000411f, 0.001468f, 0.002422f, 0.003233f, 0.003867f, 0.004293f, 0.004488f, 0.004438f, 0.004136f, 0.003585f, 0.002797f, 0.001792f, 0.000597f, -0.000752f, -0.002215f, -0.003748f, -0.005303f, -0.006831f, -0.008286f, -0.009623f, -0.010799f, -0.011781f, -0.012539f, -0.013052f, -0.013308f, -0.013303f, -0.013043f, -0.012540f, -0.011816f, -0.010901f, -0.009827f, -0.008635f, -0.007366f, -0.006064f, -0.004771f, -0.003528f, -0.002374f, -0.001341f, -0.000455f, 0.000264f, 0.000804f, 0.001161f, 0.001340f, 0.001352f, 0.001217f, 0.000961f, 0.000614f, 0.000211f, -0.009824f, 0.025392f, -0.003068f, 0.063495f, 0.011179f, 0.003535f, -0.064582f, -0.015421f, -0.011489f, -0.012622f, -0.059145f, -0.090678f, 0.032440f, -0.214585f, -0.315262f, -0.132747f, 0.086018f, 0.176043f, 0.328831f, -0.007037f, -0.076966f, -0.172493f, -0.129820f, 0.050454f, 0.147541f, 0.174998f, 0.016099f, -0.183486f, -0.275400f, -0.164329f, 0.045971f, 0.231470f, + 0.305185f, 0.103015f, -0.318594f, -0.372904f, -0.152126f, 0.142477f, 0.327441f, 0.316692f, -0.056741f, -0.374135f, -0.289437f, -0.066855f, 0.238684f, 0.369182f, 0.260565f, 0.020464f, -0.130344f, -0.303624f, -0.227508f, -0.048235f, 0.170420f, 0.269283f, 0.198985f, 0.018973f, -0.203016f, -0.203783f, -0.217349f, 0.178400f, 0.183073f, 0.198521f, 0.177570f, -0.058283f, -0.262246f, -0.200208f, 0.052373f, 0.253422f, 0.275952f, 0.049932f, -0.207456f, -0.272786f, -0.208903f, -0.013245f, 0.244016f, 0.286750f, 0.113712f, -0.171855f, -0.313119f, -0.124258f, 0.017760f, 0.299172f, 0.315837f, 0.087679f, -0.189029f, -0.279633f, -0.123450f, 0.110997f, 0.296898f, 0.222798f, 0.003069f, -0.147969f, -0.108509f, 0.027695f, 0.095420f, 0.033400f, -0.026412f, -0.041198f, -0.008063f, 0.121817f, 0.101401f, 0.004164f, -0.143735f, -0.201285f, -0.134135f, 0.044895f, 0.179687f, 0.197544f, 0.077941f, -0.143457f, -0.232665f, -0.231540f, -0.078622f, 0.184865f, 0.281909f, 0.103295f, -0.100131f, -0.234276f, -0.179393f, 0.070021f, 0.133067f, 0.231333f, 0.151877f, -0.074031f, -0.170175f, -0.203405f, -0.063023f, 0.089352f, + 0.140655f, 0.063965f, -0.028808f, -0.099140f, -0.075553f, -0.019414f, 0.073169f, 0.082078f, 0.089922f, -0.003511f, -0.104713f, -0.103963f, -0.040688f, 0.034396f, 0.099769f, 0.069072f, 0.044637f, -0.039414f, -0.085266f, -0.084605f, -0.013281f, 0.026480f, 0.039645f, -0.002861f, -0.025499f, -0.053876f, -0.048795f, -0.001223f, 0.029655f, 0.009701f, 0.002193f, -0.000621f} + }, + { + {-0.000457f, -0.001380f, -0.002330f, -0.003323f, -0.004372f, -0.005487f, -0.006672f, -0.007930f, -0.009253f, -0.010633f, -0.012054f, -0.013496f, -0.014933f, -0.016338f, -0.017681f, -0.018929f, -0.020051f, -0.021016f, -0.021796f, -0.022367f, -0.022709f, -0.022807f, -0.022655f, -0.022253f, -0.021607f, -0.020731f, -0.019647f, -0.018384f, -0.016975f, -0.015458f, -0.013877f, -0.012274f, -0.010695f, -0.009185f, -0.007786f, -0.006535f, -0.005466f, -0.004605f, -0.003973f, -0.003580f, -0.003429f, -0.003517f, -0.003828f, -0.004340f, -0.005026f, -0.005850f, -0.006772f, -0.007748f, -0.008734f, -0.009682f, -0.010549f, -0.011293f, -0.011876f, -0.012268f, -0.012444f, -0.012387f, -0.012090f, -0.011552f, -0.010783f, -0.009802f, -0.008634f, -0.007312f, -0.005875f, -0.004365f, -0.002830f, -0.001317f, 0.000128f, 0.001458f, 0.002632f, 0.003614f, 0.004372f, 0.004886f, 0.005138f, 0.005124f, 0.004845f, 0.004314f, 0.003551f, 0.002581f, 0.001440f, 0.000167f, -0.001196f, -0.002603f, -0.004007f, -0.005363f, -0.006627f, -0.007761f, -0.008730f, -0.009507f, -0.010070f, -0.010408f, -0.010515f, -0.010395f, -0.010059f, -0.009528f, -0.008825f, -0.007983f, + -0.007038f, -0.006026f, -0.004990f, -0.003968f, -0.003000f, -0.002121f, -0.001364f, -0.000755f, -0.000315f, -0.000058f, 0.000009f, -0.000112f, -0.000416f, -0.000886f, -0.001505f, -0.002244f, -0.003076f, -0.003968f, -0.004884f, -0.005791f, -0.006655f, -0.007444f, -0.008130f, -0.008688f, -0.009100f, -0.009352f, -0.009438f, -0.009356f, -0.009111f, -0.008715f, -0.008183f, -0.007536f, -0.006798f, -0.005996f, -0.005158f, -0.004312f, -0.003487f, -0.002708f, -0.001998f, -0.001376f, -0.000858f, -0.000454f, -0.000169f, -0.000004f, 0.000047f, -0.000006f, -0.000151f, -0.000371f, -0.000645f, -0.000953f, -0.001272f, -0.001581f, -0.001860f, -0.002091f, -0.002257f, -0.002346f, -0.002352f, -0.002269f, -0.002099f, -0.001846f, -0.001520f, -0.001132f, -0.000698f, -0.000236f, -0.001082f, -0.007192f, 0.021913f, -0.039500f, -0.011254f, 0.005951f, -0.021905f, -0.091993f, 0.050845f, 0.230618f, 0.217625f, 0.057638f, -0.170004f, 0.264623f, 0.272793f, 0.107389f, -0.097414f, -0.094413f, -0.190690f, 0.040445f, 0.078529f, 0.153019f, 0.116165f, -0.000198f, -0.091181f, -0.012899f, 0.034497f, -0.009199f, 0.022034f, -0.062895f, 0.116104f, 0.113324f, + 0.094084f, -0.017911f, -0.111402f, -0.159862f, -0.075024f, 0.052462f, 0.118694f, 0.118204f, 0.041768f, -0.045757f, -0.039860f, -0.088998f, -0.061848f, -0.001053f, -0.002719f, 0.037087f, -0.047839f, 0.026704f, 0.043210f, 0.000819f, -0.029741f, -0.064514f, -0.061783f, 0.020498f, 0.125645f, 0.158106f, 0.032407f, -0.139003f, -0.178026f, -0.174825f, -0.049323f, 0.125413f, 0.167822f, 0.095223f, -0.064137f, -0.187470f, -0.104867f, 0.076490f, 0.222956f, 0.114431f, -0.089468f, -0.301755f, -0.213346f, 0.032006f, 0.319832f, 0.313302f, 0.106194f, -0.239761f, -0.379586f, -0.301674f, -0.008235f, 0.307527f, 0.363424f, 0.142509f, -0.124602f, -0.338695f, -0.274940f, -0.027364f, 0.227327f, 0.279629f, 0.134176f, -0.048945f, -0.162434f, -0.178272f, -0.036050f, 0.068756f, 0.156869f, 0.101113f, -0.012461f, -0.095345f, -0.104836f, -0.113016f, -0.079800f, 0.011494f, 0.138572f, 0.173046f, 0.103807f, -0.040540f, -0.177760f, -0.172102f, -0.083891f, 0.094557f, 0.150645f, 0.179711f, 0.059456f, -0.115036f, -0.195307f, -0.164640f, 0.022578f, 0.081531f, 0.112551f, 0.091867f, 0.010385f, -0.059832f, -0.108985f, -0.101079f, + -0.043551f, 0.048804f, 0.091602f, 0.082680f, 0.013543f, -0.067321f, -0.119076f, -0.061746f, 0.048065f, 0.069868f, 0.069122f, 0.013037f, -0.019875f, -0.028618f, 0.001104f, 0.028477f, 0.025717f, -0.009408f, -0.032878f, -0.067421f, -0.042545f, 0.018003f, 0.039629f, 0.054995f, 0.040191f, -0.004595f, -0.064461f, -0.041332f, -0.001837f, 0.010840f, 0.002272f, 0.002112f}, + {0.000457f, 0.001380f, 0.002330f, 0.003323f, 0.004372f, 0.005487f, 0.006672f, 0.007930f, 0.009253f, 0.010633f, 0.012054f, 0.013496f, 0.014933f, 0.016338f, 0.017681f, 0.018929f, 0.020051f, 0.021016f, 0.021796f, 0.022367f, 0.022709f, 0.022807f, 0.022655f, 0.022253f, 0.021607f, 0.020731f, 0.019647f, 0.018384f, 0.016975f, 0.015458f, 0.013877f, 0.012274f, 0.010695f, 0.009185f, 0.007786f, 0.006535f, 0.005466f, 0.004605f, 0.003973f, 0.003580f, 0.003429f, 0.003517f, 0.003828f, 0.004340f, 0.005026f, 0.005850f, 0.006772f, 0.007748f, 0.008734f, 0.009682f, 0.010549f, 0.011293f, 0.011876f, 0.012268f, 0.012444f, 0.012387f, 0.012090f, 0.011552f, 0.010783f, 0.009802f, 0.008634f, 0.007312f, 0.005875f, 0.004365f, 0.002830f, 0.001317f, -0.000128f, -0.001458f, -0.002632f, -0.003614f, -0.004372f, -0.004886f, -0.005138f, -0.005124f, -0.004845f, -0.004314f, -0.003551f, -0.002581f, -0.001440f, -0.000167f, 0.001196f, 0.002603f, 0.004007f, 0.005363f, 0.006627f, 0.007761f, 0.008730f, 0.009507f, 0.010070f, 0.010408f, 0.010515f, 0.010395f, 0.010059f, 0.009528f, 0.008825f, 0.007983f, + 0.007038f, 0.006026f, 0.004990f, 0.003968f, 0.003000f, 0.002121f, 0.001364f, 0.000755f, 0.000315f, 0.000058f, -0.000009f, 0.000112f, 0.000416f, 0.000886f, 0.001505f, 0.002244f, 0.003076f, 0.003968f, 0.004884f, 0.005791f, 0.006655f, 0.007444f, 0.008130f, 0.008688f, 0.009100f, 0.009352f, 0.009438f, 0.009356f, 0.009111f, 0.008715f, 0.008183f, 0.007536f, 0.006798f, 0.005996f, 0.005158f, 0.004312f, 0.003487f, 0.002708f, 0.001998f, 0.001376f, 0.000858f, 0.000454f, 0.000169f, 0.000004f, -0.000047f, 0.000006f, 0.000151f, 0.000371f, 0.000645f, 0.000953f, 0.001272f, 0.001581f, 0.001860f, 0.002091f, 0.002257f, 0.002346f, 0.002352f, 0.002269f, 0.002099f, 0.001846f, 0.001520f, 0.001132f, 0.000698f, 0.000236f, 0.001082f, 0.007192f, -0.021913f, 0.039500f, 0.011254f, -0.005951f, 0.021905f, 0.091993f, -0.050845f, -0.230618f, -0.217625f, -0.057638f, 0.170004f, -0.264623f, -0.272793f, -0.107389f, 0.097414f, 0.094413f, 0.190690f, -0.040445f, -0.078529f, -0.153019f, -0.116165f, 0.000198f, 0.091181f, 0.012899f, -0.034497f, 0.009199f, -0.022034f, 0.062895f, -0.116104f, -0.113324f, + -0.094084f, 0.017911f, 0.111402f, 0.159862f, 0.075024f, -0.052462f, -0.118694f, -0.118204f, -0.041768f, 0.045757f, 0.039860f, 0.088998f, 0.061848f, 0.001053f, 0.002719f, -0.037087f, 0.047839f, -0.026704f, -0.043210f, -0.000819f, 0.029741f, 0.064514f, 0.061783f, -0.020498f, -0.125645f, -0.158106f, -0.032407f, 0.139003f, 0.178026f, 0.174825f, 0.049323f, -0.125413f, -0.167822f, -0.095223f, 0.064137f, 0.187470f, 0.104867f, -0.076490f, -0.222956f, -0.114431f, 0.089468f, 0.301755f, 0.213346f, -0.032006f, -0.319832f, -0.313302f, -0.106194f, 0.239761f, 0.379586f, 0.301674f, 0.008235f, -0.307527f, -0.363424f, -0.142509f, 0.124602f, 0.338695f, 0.274940f, 0.027364f, -0.227327f, -0.279629f, -0.134176f, 0.048945f, 0.162434f, 0.178272f, 0.036050f, -0.068756f, -0.156869f, -0.101113f, 0.012461f, 0.095345f, 0.104836f, 0.113016f, 0.079800f, -0.011494f, -0.138572f, -0.173046f, -0.103807f, 0.040540f, 0.177760f, 0.172102f, 0.083891f, -0.094557f, -0.150645f, -0.179711f, -0.059456f, 0.115036f, 0.195307f, 0.164640f, -0.022578f, -0.081531f, -0.112551f, -0.091867f, -0.010385f, 0.059832f, 0.108985f, 0.101079f, + 0.043551f, -0.048804f, -0.091602f, -0.082680f, -0.013543f, 0.067321f, 0.119076f, 0.061746f, -0.048065f, -0.069868f, -0.069122f, -0.013037f, 0.019875f, 0.028618f, -0.001104f, -0.028477f, -0.025717f, 0.009408f, 0.032878f, 0.067421f, 0.042545f, -0.018003f, -0.039629f, -0.054995f, -0.040191f, 0.004595f, 0.064461f, 0.041332f, 0.001837f, -0.010840f, -0.002272f, -0.002112f} + }, + { + {0.000405f, 0.001169f, 0.001801f, 0.002218f, 0.002349f, 0.002132f, 0.001524f, 0.000495f, -0.000962f, -0.002837f, -0.005100f, -0.007704f, -0.010583f, -0.013657f, -0.016836f, -0.020020f, -0.023105f, -0.025989f, -0.028570f, -0.030756f, -0.032466f, -0.033633f, -0.034209f, -0.034166f, -0.033496f, -0.032215f, -0.030359f, -0.027987f, -0.025177f, -0.022024f, -0.018637f, -0.015135f, -0.011644f, -0.008292f, -0.005203f, -0.002496f, -0.000277f, 0.001362f, 0.002349f, 0.002630f, 0.002178f, 0.000989f, -0.000917f, -0.003494f, -0.006672f, -0.010363f, -0.014459f, -0.018836f, -0.023361f, -0.027895f, -0.032296f, -0.036426f, -0.040154f, -0.043362f, -0.045945f, -0.047820f, -0.048926f, -0.049223f, -0.048698f, -0.047363f, -0.045255f, -0.042434f, -0.038981f, -0.034994f, -0.030589f, -0.025889f, -0.021028f, -0.016138f, -0.011351f, -0.006794f, -0.002581f, 0.001187f, 0.004427f, 0.007072f, 0.009081f, 0.010432f, 0.011126f, 0.011185f, 0.010652f, 0.009589f, 0.008072f, 0.006189f, 0.004040f, 0.001728f, -0.000642f, -0.002969f, -0.005154f, -0.007111f, -0.008763f, -0.010050f, -0.010927f, -0.011366f, -0.011356f, -0.010906f, -0.010040f, -0.008798f, + -0.007232f, -0.005406f, -0.003393f, -0.001270f, 0.000884f, 0.002991f, 0.004977f, 0.006773f, 0.008322f, 0.009576f, 0.010501f, 0.011075f, 0.011292f, 0.011158f, 0.010694f, 0.009932f, 0.008913f, 0.007690f, 0.006319f, 0.004861f, 0.003379f, 0.001932f, 0.000579f, -0.000630f, -0.001651f, -0.002450f, -0.003003f, -0.003297f, -0.003332f, -0.003115f, -0.002668f, -0.002019f, -0.001204f, -0.000266f, 0.000749f, 0.001793f, 0.002817f, 0.003776f, 0.004628f, 0.005337f, 0.005874f, 0.006220f, 0.006362f, 0.006300f, 0.006038f, 0.005594f, 0.004990f, 0.004255f, 0.003425f, 0.002538f, 0.001633f, 0.000750f, -0.000074f, -0.000806f, -0.001416f, -0.001882f, -0.002190f, -0.002332f, -0.002309f, -0.002132f, -0.001816f, -0.001384f, -0.000866f, -0.000295f, 0.001541f, -0.005469f, 0.091550f, 0.026897f, -0.110318f, -0.073062f, -0.046913f, -0.061069f, 0.019816f, 0.178869f, 0.180961f, 0.052028f, -0.078827f, 0.202343f, 0.182619f, 0.086795f, 0.204182f, 0.200105f, 0.111146f, -0.099247f, -0.003951f, 0.037305f, 0.006350f, 0.130261f, 0.198333f, 0.305704f, 0.137971f, -0.169170f, -0.168028f, -0.202794f, -0.028688f, 0.059029f, + 0.277175f, 0.353746f, -0.072412f, -0.351677f, -0.378052f, -0.122537f, 0.080151f, 0.468403f, 0.159017f, -0.071636f, -0.114519f, -0.218293f, -0.030837f, 0.193529f, 0.235419f, -0.074620f, -0.515807f, -0.464965f, -0.047342f, 0.323149f, 0.558774f, 0.307225f, -0.067114f, -0.469849f, -0.435609f, -0.253862f, 0.244754f, 0.043703f, 0.250335f, 0.056211f, -0.265231f, -0.253281f, 0.108080f, -0.098926f, -0.316563f, -0.154288f, 0.049659f, 0.266377f, 0.232891f, 0.153029f, 0.012859f, -0.017317f, -0.179558f, -0.104856f, -0.136314f, 0.000697f, 0.164413f, 0.201981f, 0.029839f, -0.144306f, -0.195132f, 0.118239f, 0.339500f, 0.353795f, -0.027643f, -0.389921f, -0.511417f, -0.197752f, 0.270887f, 0.631279f, 0.424246f, -0.058956f, -0.485919f, -0.476863f, -0.264843f, 0.177069f, 0.408998f, 0.218609f, 0.009780f, -0.226727f, -0.236332f, -0.102657f, 0.151492f, 0.292652f, 0.230052f, -0.031832f, -0.256067f, -0.323093f, -0.162039f, 0.056385f, 0.246837f, 0.293356f, 0.226747f, -0.082319f, -0.333768f, -0.350618f, -0.119567f, 0.270876f, 0.419031f, 0.257070f, 0.014739f, -0.328034f, -0.409808f, -0.211830f, 0.141731f, 0.364473f, + 0.378449f, 0.126836f, -0.236256f, -0.455961f, -0.343232f, 0.004634f, 0.343774f, 0.478417f, 0.265800f, -0.125937f, -0.473577f, -0.426358f, -0.095738f, 0.308788f, 0.483920f, 0.336634f, -0.054008f, -0.411204f, -0.470853f, -0.174093f, 0.220369f, 0.459898f, 0.338166f, 0.012781f, -0.330932f, -0.351817f, -0.123505f, 0.133013f, 0.122591f, 0.039645f, -0.001385f, 0.002204f}, + {0.000405f, 0.001169f, 0.001801f, 0.002218f, 0.002349f, 0.002132f, 0.001524f, 0.000495f, -0.000962f, -0.002837f, -0.005100f, -0.007704f, -0.010583f, -0.013657f, -0.016836f, -0.020020f, -0.023105f, -0.025989f, -0.028570f, -0.030756f, -0.032466f, -0.033633f, -0.034209f, -0.034166f, -0.033496f, -0.032215f, -0.030359f, -0.027987f, -0.025177f, -0.022024f, -0.018637f, -0.015135f, -0.011644f, -0.008292f, -0.005203f, -0.002496f, -0.000277f, 0.001362f, 0.002349f, 0.002630f, 0.002178f, 0.000989f, -0.000917f, -0.003494f, -0.006672f, -0.010363f, -0.014459f, -0.018836f, -0.023361f, -0.027895f, -0.032296f, -0.036426f, -0.040154f, -0.043362f, -0.045945f, -0.047820f, -0.048926f, -0.049223f, -0.048698f, -0.047363f, -0.045255f, -0.042434f, -0.038981f, -0.034994f, -0.030589f, -0.025889f, -0.021028f, -0.016138f, -0.011351f, -0.006794f, -0.002581f, 0.001187f, 0.004427f, 0.007072f, 0.009081f, 0.010432f, 0.011126f, 0.011185f, 0.010652f, 0.009589f, 0.008072f, 0.006189f, 0.004040f, 0.001728f, -0.000642f, -0.002969f, -0.005154f, -0.007111f, -0.008763f, -0.010050f, -0.010927f, -0.011366f, -0.011356f, -0.010906f, -0.010040f, -0.008798f, + -0.007232f, -0.005406f, -0.003393f, -0.001270f, 0.000884f, 0.002991f, 0.004977f, 0.006773f, 0.008322f, 0.009576f, 0.010501f, 0.011075f, 0.011292f, 0.011158f, 0.010694f, 0.009932f, 0.008913f, 0.007690f, 0.006319f, 0.004861f, 0.003379f, 0.001932f, 0.000579f, -0.000630f, -0.001651f, -0.002450f, -0.003003f, -0.003297f, -0.003332f, -0.003115f, -0.002668f, -0.002019f, -0.001204f, -0.000266f, 0.000749f, 0.001793f, 0.002817f, 0.003776f, 0.004628f, 0.005337f, 0.005874f, 0.006220f, 0.006362f, 0.006300f, 0.006038f, 0.005594f, 0.004990f, 0.004255f, 0.003425f, 0.002538f, 0.001633f, 0.000750f, -0.000074f, -0.000806f, -0.001416f, -0.001882f, -0.002190f, -0.002332f, -0.002309f, -0.002132f, -0.001816f, -0.001384f, -0.000866f, -0.000295f, 0.001541f, -0.005469f, 0.091550f, 0.026897f, -0.110318f, -0.073062f, -0.046913f, -0.061069f, 0.019816f, 0.178869f, 0.180961f, 0.052028f, -0.078827f, 0.202343f, 0.182619f, 0.086795f, 0.204182f, 0.200105f, 0.111146f, -0.099247f, -0.003951f, 0.037305f, 0.006350f, 0.130261f, 0.198333f, 0.305704f, 0.137971f, -0.169170f, -0.168028f, -0.202794f, -0.028688f, 0.059029f, + 0.277175f, 0.353746f, -0.072412f, -0.351677f, -0.378052f, -0.122537f, 0.080151f, 0.468403f, 0.159017f, -0.071636f, -0.114519f, -0.218293f, -0.030837f, 0.193529f, 0.235419f, -0.074620f, -0.515807f, -0.464965f, -0.047342f, 0.323149f, 0.558774f, 0.307225f, -0.067114f, -0.469849f, -0.435609f, -0.253862f, 0.244754f, 0.043703f, 0.250335f, 0.056211f, -0.265231f, -0.253281f, 0.108080f, -0.098926f, -0.316563f, -0.154288f, 0.049659f, 0.266377f, 0.232891f, 0.153029f, 0.012859f, -0.017317f, -0.179558f, -0.104856f, -0.136314f, 0.000697f, 0.164413f, 0.201981f, 0.029839f, -0.144306f, -0.195132f, 0.118239f, 0.339500f, 0.353795f, -0.027643f, -0.389921f, -0.511417f, -0.197752f, 0.270887f, 0.631279f, 0.424246f, -0.058956f, -0.485919f, -0.476863f, -0.264843f, 0.177069f, 0.408998f, 0.218609f, 0.009780f, -0.226727f, -0.236332f, -0.102657f, 0.151492f, 0.292652f, 0.230052f, -0.031832f, -0.256067f, -0.323093f, -0.162039f, 0.056385f, 0.246837f, 0.293356f, 0.226747f, -0.082319f, -0.333768f, -0.350618f, -0.119567f, 0.270876f, 0.419031f, 0.257070f, 0.014739f, -0.328034f, -0.409808f, -0.211830f, 0.141731f, 0.364473f, + 0.378449f, 0.126836f, -0.236256f, -0.455961f, -0.343232f, 0.004634f, 0.343774f, 0.478417f, 0.265800f, -0.125937f, -0.473577f, -0.426358f, -0.095738f, 0.308788f, 0.483920f, 0.336634f, -0.054008f, -0.411204f, -0.470853f, -0.174093f, 0.220369f, 0.459898f, 0.338166f, 0.012781f, -0.330932f, -0.351817f, -0.123505f, 0.133013f, 0.122591f, 0.039645f, -0.001385f, 0.002204f} + }, + { + {-0.002461f, -0.007319f, -0.011989f, -0.016353f, -0.020303f, -0.023742f, -0.026593f, -0.028795f, -0.030308f, -0.031115f, -0.031221f, -0.030650f, -0.029449f, -0.027683f, -0.025434f, -0.022796f, -0.019873f, -0.016777f, -0.013619f, -0.010512f, -0.007560f, -0.004861f, -0.002499f, -0.000544f, 0.000952f, 0.001954f, 0.002451f, 0.002445f, 0.001964f, 0.001049f, -0.000241f, -0.001833f, -0.003643f, -0.005580f, -0.007550f, -0.009456f, -0.011206f, -0.012715f, -0.013904f, -0.014711f, -0.015087f, -0.014997f, -0.014427f, -0.013380f, -0.011877f, -0.009954f, -0.007667f, -0.005081f, -0.002276f, 0.000663f, 0.003642f, 0.006568f, 0.009347f, 0.011892f, 0.014121f, 0.015964f, 0.017363f, 0.018274f, 0.018670f, 0.018540f, 0.017888f, 0.016738f, 0.015126f, 0.013104f, 0.010735f, 0.008091f, 0.005250f, 0.002298f, -0.000683f, -0.003610f, -0.006404f, -0.008995f, -0.011322f, -0.013335f, -0.014995f, -0.016280f, -0.017178f, -0.017693f, -0.017841f, -0.017653f, -0.017165f, -0.016427f, -0.015491f, -0.014417f, -0.013264f, -0.012092f, -0.010957f, -0.009910f, -0.008995f, -0.008247f, -0.007694f, -0.007349f, -0.007219f, -0.007296f, -0.007564f, -0.007999f, + -0.008567f, -0.009229f, -0.009941f, -0.010657f, -0.011330f, -0.011914f, -0.012370f, -0.012659f, -0.012754f, -0.012631f, -0.012279f, -0.011694f, -0.010882f, -0.009860f, -0.008651f, -0.007287f, -0.005807f, -0.004253f, -0.002672f, -0.001112f, 0.000380f, 0.001759f, 0.002984f, 0.004018f, 0.004833f, 0.005408f, 0.005731f, 0.005796f, 0.005610f, 0.005186f, 0.004544f, 0.003715f, 0.002732f, 0.001634f, 0.000462f, -0.000742f, -0.001933f, -0.003073f, -0.004125f, -0.005055f, -0.005838f, -0.006454f, -0.006889f, -0.007139f, -0.007205f, -0.007096f, -0.006827f, -0.006419f, -0.005896f, -0.005285f, -0.004616f, -0.003919f, -0.003222f, -0.002553f, -0.001934f, -0.001383f, -0.000915f, -0.000539f, -0.000256f, -0.000064f, 0.000046f, 0.000086f, 0.000073f, 0.000028f, -0.016524f, -0.064320f, 0.077125f, 0.022151f, -0.042129f, -0.194424f, -0.123531f, 0.149430f, 0.026902f, 0.251006f, 0.331756f, 0.287429f, 0.021249f, 0.026054f, 0.022955f, 0.079017f, -0.015064f, -0.039510f, 0.084197f, -0.023785f, 0.017416f, -0.010733f, -0.008857f, -0.003921f, 0.000185f, -0.023770f, 0.016679f, 0.010856f, -0.032920f, -0.034982f, 0.032712f, 0.057460f, + 0.052476f, 0.002469f, 0.053407f, 0.076847f, 0.121729f, -0.017425f, -0.106622f, -0.096335f, 0.047938f, 0.260077f, 0.080512f, -0.003540f, -0.209238f, -0.237182f, -0.102591f, 0.103280f, 0.217333f, 0.243771f, 0.064586f, -0.096557f, -0.245267f, -0.139221f, -0.000900f, 0.196301f, 0.212360f, 0.180491f, -0.067653f, 0.001517f, -0.181052f, -0.099956f, 0.146406f, 0.241327f, 0.046377f, 0.219953f, 0.279241f, -0.035949f, -0.276223f, -0.440805f, -0.180922f, 0.136448f, 0.348502f, 0.113900f, -0.087721f, -0.348109f, -0.214514f, -0.059360f, 0.156355f, 0.377743f, 0.259491f, -0.013428f, -0.259813f, -0.302835f, -0.130048f, 0.142268f, 0.225902f, 0.085727f, -0.109242f, -0.194494f, -0.099661f, 0.065807f, 0.175235f, 0.089653f, -0.044902f, -0.092312f, -0.081433f, 0.051319f, 0.210985f, 0.222219f, 0.063654f, -0.251653f, -0.396830f, -0.252488f, 0.150761f, 0.419968f, 0.455384f, 0.126597f, -0.260984f, -0.571256f, -0.522732f, -0.063682f, 0.447615f, 0.534938f, 0.190059f, -0.304205f, -0.428620f, -0.209841f, 0.151149f, 0.419089f, 0.239321f, 0.067103f, -0.187080f, -0.256172f, -0.084144f, 0.044483f, 0.185793f, 0.115053f, + -0.016819f, -0.114767f, -0.091989f, -0.035395f, 0.089159f, 0.105183f, 0.047119f, -0.073873f, -0.099207f, -0.072923f, 0.047801f, 0.100466f, 0.096086f, 0.001693f, -0.088988f, -0.152437f, -0.055419f, 0.061478f, 0.163163f, 0.129363f, 0.035064f, -0.122817f, -0.206598f, -0.150847f, 0.000562f, 0.117664f, 0.176597f, 0.075677f, -0.015394f, -0.030687f, -0.004427f, -0.004042f}, + {-0.002461f, -0.007319f, -0.011989f, -0.016353f, -0.020303f, -0.023742f, -0.026593f, -0.028795f, -0.030308f, -0.031115f, -0.031221f, -0.030650f, -0.029449f, -0.027683f, -0.025434f, -0.022796f, -0.019873f, -0.016777f, -0.013619f, -0.010512f, -0.007560f, -0.004861f, -0.002499f, -0.000544f, 0.000952f, 0.001954f, 0.002451f, 0.002445f, 0.001964f, 0.001049f, -0.000241f, -0.001833f, -0.003643f, -0.005580f, -0.007550f, -0.009456f, -0.011206f, -0.012715f, -0.013904f, -0.014711f, -0.015087f, -0.014997f, -0.014427f, -0.013380f, -0.011877f, -0.009954f, -0.007667f, -0.005081f, -0.002276f, 0.000663f, 0.003642f, 0.006568f, 0.009347f, 0.011892f, 0.014121f, 0.015964f, 0.017363f, 0.018274f, 0.018670f, 0.018540f, 0.017888f, 0.016738f, 0.015126f, 0.013104f, 0.010735f, 0.008091f, 0.005250f, 0.002298f, -0.000683f, -0.003610f, -0.006404f, -0.008995f, -0.011322f, -0.013335f, -0.014995f, -0.016280f, -0.017178f, -0.017693f, -0.017841f, -0.017653f, -0.017165f, -0.016427f, -0.015491f, -0.014417f, -0.013264f, -0.012092f, -0.010957f, -0.009910f, -0.008995f, -0.008247f, -0.007694f, -0.007349f, -0.007219f, -0.007296f, -0.007564f, -0.007999f, + -0.008567f, -0.009229f, -0.009941f, -0.010657f, -0.011330f, -0.011914f, -0.012370f, -0.012659f, -0.012754f, -0.012631f, -0.012279f, -0.011694f, -0.010882f, -0.009860f, -0.008651f, -0.007287f, -0.005807f, -0.004253f, -0.002672f, -0.001112f, 0.000380f, 0.001759f, 0.002984f, 0.004018f, 0.004833f, 0.005408f, 0.005731f, 0.005796f, 0.005610f, 0.005186f, 0.004544f, 0.003715f, 0.002732f, 0.001634f, 0.000462f, -0.000742f, -0.001933f, -0.003073f, -0.004125f, -0.005055f, -0.005838f, -0.006454f, -0.006889f, -0.007139f, -0.007205f, -0.007096f, -0.006827f, -0.006419f, -0.005896f, -0.005285f, -0.004616f, -0.003919f, -0.003222f, -0.002553f, -0.001934f, -0.001383f, -0.000915f, -0.000539f, -0.000256f, -0.000064f, 0.000046f, 0.000086f, 0.000073f, 0.000028f, -0.016524f, -0.064320f, 0.077125f, 0.022151f, -0.042129f, -0.194424f, -0.123531f, 0.149430f, 0.026902f, 0.251006f, 0.331756f, 0.287429f, 0.021249f, 0.026054f, 0.022955f, 0.079017f, -0.015064f, -0.039510f, 0.084197f, -0.023785f, 0.017416f, -0.010733f, -0.008857f, -0.003921f, 0.000185f, -0.023770f, 0.016679f, 0.010856f, -0.032920f, -0.034982f, 0.032712f, 0.057460f, + 0.052476f, 0.002469f, 0.053407f, 0.076847f, 0.121729f, -0.017425f, -0.106622f, -0.096335f, 0.047938f, 0.260077f, 0.080512f, -0.003540f, -0.209238f, -0.237182f, -0.102591f, 0.103280f, 0.217333f, 0.243771f, 0.064586f, -0.096557f, -0.245267f, -0.139221f, -0.000900f, 0.196301f, 0.212360f, 0.180491f, -0.067653f, 0.001517f, -0.181052f, -0.099956f, 0.146406f, 0.241327f, 0.046377f, 0.219953f, 0.279241f, -0.035949f, -0.276223f, -0.440805f, -0.180922f, 0.136448f, 0.348502f, 0.113900f, -0.087721f, -0.348109f, -0.214514f, -0.059360f, 0.156355f, 0.377743f, 0.259491f, -0.013428f, -0.259813f, -0.302835f, -0.130048f, 0.142268f, 0.225902f, 0.085727f, -0.109242f, -0.194494f, -0.099661f, 0.065807f, 0.175235f, 0.089653f, -0.044902f, -0.092312f, -0.081433f, 0.051319f, 0.210985f, 0.222219f, 0.063654f, -0.251653f, -0.396830f, -0.252488f, 0.150761f, 0.419968f, 0.455384f, 0.126597f, -0.260984f, -0.571256f, -0.522732f, -0.063682f, 0.447615f, 0.534938f, 0.190059f, -0.304205f, -0.428620f, -0.209841f, 0.151149f, 0.419089f, 0.239321f, 0.067103f, -0.187080f, -0.256172f, -0.084144f, 0.044483f, 0.185793f, 0.115053f, + -0.016819f, -0.114767f, -0.091989f, -0.035395f, 0.089159f, 0.105183f, 0.047119f, -0.073873f, -0.099207f, -0.072923f, 0.047801f, 0.100466f, 0.096086f, 0.001693f, -0.088988f, -0.152437f, -0.055419f, 0.061478f, 0.163163f, 0.129363f, 0.035064f, -0.122817f, -0.206598f, -0.150847f, 0.000562f, 0.117664f, 0.176597f, 0.075677f, -0.015394f, -0.030687f, -0.004427f, -0.004042f} + }, + { + {-0.001660f, -0.004932f, -0.008064f, -0.010965f, -0.013553f, -0.015751f, -0.017496f, -0.018735f, -0.019429f, -0.019553f, -0.019099f, -0.018072f, -0.016493f, -0.014399f, -0.011839f, -0.008873f, -0.005574f, -0.002021f, 0.001698f, 0.005493f, 0.009271f, 0.012942f, 0.016417f, 0.019613f, 0.022455f, 0.024877f, 0.026823f, 0.028252f, 0.029132f, 0.029448f, 0.029198f, 0.028393f, 0.027058f, 0.025229f, 0.022955f, 0.020291f, 0.017305f, 0.014067f, 0.010652f, 0.007138f, 0.003602f, 0.000120f, -0.003235f, -0.006399f, -0.009311f, -0.011921f, -0.014186f, -0.016075f, -0.017566f, -0.018649f, -0.019323f, -0.019597f, -0.019490f, -0.019031f, -0.018252f, -0.017195f, -0.015906f, -0.014432f, -0.012824f, -0.011134f, -0.009410f, -0.007702f, -0.006052f, -0.004502f, -0.003085f, -0.001832f, -0.000764f, 0.000103f, 0.000757f, 0.001197f, 0.001424f, 0.001446f, 0.001276f, 0.000931f, 0.000432f, -0.000200f, -0.000939f, -0.001761f, -0.002641f, -0.003554f, -0.004478f, -0.005392f, -0.006279f, -0.007122f, -0.007909f, -0.008632f, -0.009284f, -0.009861f, -0.010364f, -0.010794f, -0.011155f, -0.011452f, -0.011692f, -0.011882f, -0.012029f, -0.012139f, + -0.012220f, -0.012275f, -0.012311f, -0.012328f, -0.012329f, -0.012313f, -0.012278f, -0.012222f, -0.012140f, -0.012027f, -0.011879f, -0.011688f, -0.011451f, -0.011162f, -0.010818f, -0.010415f, -0.009952f, -0.009431f, -0.008851f, -0.008219f, -0.007540f, -0.006822f, -0.006075f, -0.005309f, -0.004538f, -0.003774f, -0.003033f, -0.002327f, -0.001671f, -0.001078f, -0.000561f, -0.000131f, 0.000205f, 0.000438f, 0.000564f, 0.000582f, 0.000493f, 0.000300f, 0.000009f, -0.000370f, -0.000827f, -0.001347f, -0.001915f, -0.002514f, -0.003127f, -0.003734f, -0.004318f, -0.004859f, -0.005342f, -0.005749f, -0.006067f, -0.006284f, -0.006390f, -0.006379f, -0.006246f, -0.005992f, -0.005619f, -0.005131f, -0.004538f, -0.003851f, -0.003083f, -0.002250f, -0.001370f, -0.000460f, 0.051673f, -0.017632f, -0.014793f, -0.006854f, 0.085155f, 0.029825f, 0.126550f, 0.077456f, 0.061534f, -0.207009f, -0.266257f, -0.146498f, 0.048723f, 0.221641f, 0.277191f, 0.058431f, -0.164615f, -0.206701f, -0.156974f, -0.020143f, 0.022758f, 0.008961f, -0.074555f, -0.003925f, 0.011839f, 0.046237f, 0.084746f, 0.034886f, -0.041420f, -0.135279f, -0.246819f, -0.068468f, + 0.062692f, 0.214884f, 0.182407f, 0.017704f, -0.224559f, -0.242317f, -0.153848f, 0.140584f, 0.085332f, 0.013707f, 0.004997f, -0.030712f, -0.048221f, -0.054054f, 0.043237f, 0.077808f, -0.122313f, -0.094422f, -0.020880f, 0.048625f, 0.099290f, 0.131977f, 0.049706f, -0.051476f, -0.107499f, -0.102515f, -0.027222f, 0.017018f, 0.122150f, 0.099096f, -0.012255f, -0.136944f, -0.168388f, -0.174519f, -0.066589f, 0.137016f, 0.301572f, 0.218780f, 0.064888f, -0.129614f, -0.295622f, -0.371987f, -0.175825f, 0.125281f, 0.321318f, 0.280973f, 0.080136f, -0.181841f, -0.337455f, -0.254867f, -0.075576f, 0.186279f, 0.230182f, 0.034312f, -0.136787f, -0.116980f, -0.015761f, 0.103139f, 0.148813f, 0.091199f, 0.023468f, -0.071270f, -0.111474f, -0.117202f, 0.010661f, 0.107073f, 0.099952f, 0.070676f, -0.064059f, -0.141154f, -0.120669f, -0.020003f, 0.117424f, 0.156810f, 0.060135f, -0.155403f, -0.200692f, -0.053828f, 0.108676f, 0.190613f, 0.124853f, -0.081226f, -0.251418f, -0.317618f, -0.060039f, 0.292421f, 0.371096f, 0.175763f, -0.113281f, -0.302853f, -0.187668f, -0.016911f, 0.224405f, 0.244635f, 0.102496f, -0.073172f, + -0.204158f, -0.199586f, -0.041058f, 0.109714f, 0.223389f, 0.139773f, -0.050482f, -0.212584f, -0.246282f, -0.078238f, 0.143784f, 0.231603f, 0.169289f, 0.027874f, -0.146913f, -0.217525f, -0.151836f, 0.040485f, 0.179321f, 0.136528f, -0.009910f, -0.075759f, -0.145118f, -0.039104f, 0.051169f, 0.093606f, 0.021532f, -0.001614f, -0.016184f, 0.004221f, -0.007703f, 0.007556f}, + {-0.001660f, -0.004932f, -0.008064f, -0.010965f, -0.013553f, -0.015751f, -0.017496f, -0.018735f, -0.019429f, -0.019553f, -0.019099f, -0.018072f, -0.016493f, -0.014399f, -0.011839f, -0.008873f, -0.005574f, -0.002021f, 0.001698f, 0.005493f, 0.009271f, 0.012942f, 0.016417f, 0.019613f, 0.022455f, 0.024877f, 0.026823f, 0.028252f, 0.029132f, 0.029448f, 0.029198f, 0.028393f, 0.027058f, 0.025229f, 0.022955f, 0.020291f, 0.017305f, 0.014067f, 0.010652f, 0.007138f, 0.003602f, 0.000120f, -0.003235f, -0.006399f, -0.009311f, -0.011921f, -0.014186f, -0.016075f, -0.017566f, -0.018649f, -0.019323f, -0.019597f, -0.019490f, -0.019031f, -0.018252f, -0.017195f, -0.015906f, -0.014432f, -0.012824f, -0.011134f, -0.009410f, -0.007702f, -0.006052f, -0.004502f, -0.003085f, -0.001832f, -0.000764f, 0.000103f, 0.000757f, 0.001197f, 0.001424f, 0.001446f, 0.001276f, 0.000931f, 0.000432f, -0.000200f, -0.000939f, -0.001761f, -0.002641f, -0.003554f, -0.004478f, -0.005392f, -0.006279f, -0.007122f, -0.007909f, -0.008632f, -0.009284f, -0.009861f, -0.010364f, -0.010794f, -0.011155f, -0.011452f, -0.011692f, -0.011882f, -0.012029f, -0.012139f, + -0.012220f, -0.012275f, -0.012311f, -0.012328f, -0.012329f, -0.012313f, -0.012278f, -0.012222f, -0.012140f, -0.012027f, -0.011879f, -0.011688f, -0.011451f, -0.011162f, -0.010818f, -0.010415f, -0.009952f, -0.009431f, -0.008851f, -0.008219f, -0.007540f, -0.006822f, -0.006075f, -0.005309f, -0.004538f, -0.003774f, -0.003033f, -0.002327f, -0.001671f, -0.001078f, -0.000561f, -0.000131f, 0.000205f, 0.000438f, 0.000564f, 0.000582f, 0.000493f, 0.000300f, 0.000009f, -0.000370f, -0.000827f, -0.001347f, -0.001915f, -0.002514f, -0.003127f, -0.003734f, -0.004318f, -0.004859f, -0.005342f, -0.005749f, -0.006067f, -0.006284f, -0.006390f, -0.006379f, -0.006246f, -0.005992f, -0.005619f, -0.005131f, -0.004538f, -0.003851f, -0.003083f, -0.002250f, -0.001370f, -0.000460f, 0.051673f, -0.017632f, -0.014793f, -0.006854f, 0.085155f, 0.029825f, 0.126550f, 0.077456f, 0.061534f, -0.207009f, -0.266257f, -0.146498f, 0.048723f, 0.221641f, 0.277191f, 0.058431f, -0.164615f, -0.206701f, -0.156974f, -0.020143f, 0.022758f, 0.008961f, -0.074555f, -0.003925f, 0.011839f, 0.046237f, 0.084746f, 0.034886f, -0.041420f, -0.135279f, -0.246819f, -0.068468f, + 0.062692f, 0.214884f, 0.182407f, 0.017704f, -0.224559f, -0.242317f, -0.153848f, 0.140584f, 0.085332f, 0.013707f, 0.004997f, -0.030712f, -0.048221f, -0.054054f, 0.043237f, 0.077808f, -0.122313f, -0.094422f, -0.020880f, 0.048625f, 0.099290f, 0.131977f, 0.049706f, -0.051476f, -0.107499f, -0.102515f, -0.027222f, 0.017018f, 0.122150f, 0.099096f, -0.012255f, -0.136944f, -0.168388f, -0.174519f, -0.066589f, 0.137016f, 0.301572f, 0.218780f, 0.064888f, -0.129614f, -0.295622f, -0.371987f, -0.175825f, 0.125281f, 0.321318f, 0.280973f, 0.080136f, -0.181841f, -0.337455f, -0.254867f, -0.075576f, 0.186279f, 0.230182f, 0.034312f, -0.136787f, -0.116980f, -0.015761f, 0.103139f, 0.148813f, 0.091199f, 0.023468f, -0.071270f, -0.111474f, -0.117202f, 0.010661f, 0.107073f, 0.099952f, 0.070676f, -0.064059f, -0.141154f, -0.120669f, -0.020003f, 0.117424f, 0.156810f, 0.060135f, -0.155403f, -0.200692f, -0.053828f, 0.108676f, 0.190613f, 0.124853f, -0.081226f, -0.251418f, -0.317618f, -0.060039f, 0.292421f, 0.371096f, 0.175763f, -0.113281f, -0.302853f, -0.187668f, -0.016911f, 0.224405f, 0.244635f, 0.102496f, -0.073172f, + -0.204158f, -0.199586f, -0.041058f, 0.109714f, 0.223389f, 0.139773f, -0.050482f, -0.212584f, -0.246282f, -0.078238f, 0.143784f, 0.231603f, 0.169289f, 0.027874f, -0.146913f, -0.217525f, -0.151836f, 0.040485f, 0.179321f, 0.136528f, -0.009910f, -0.075759f, -0.145118f, -0.039104f, 0.051169f, 0.093606f, 0.021532f, -0.001614f, -0.016184f, 0.004221f, -0.007703f, 0.007556f} + }, + { + {-0.000640f, -0.001906f, -0.003129f, -0.004283f, -0.005343f, -0.006287f, -0.007094f, -0.007750f, -0.008242f, -0.008562f, -0.008709f, -0.008684f, -0.008492f, -0.008146f, -0.007659f, -0.007050f, -0.006342f, -0.005558f, -0.004726f, -0.003873f, -0.003029f, -0.002222f, -0.001480f, -0.000831f, -0.000298f, 0.000096f, 0.000332f, 0.000394f, 0.000272f, -0.000042f, -0.000551f, -0.001253f, -0.002142f, -0.003209f, -0.004440f, -0.005816f, -0.007316f, -0.008917f, -0.010592f, -0.012312f, -0.014048f, -0.015769f, -0.017444f, -0.019044f, -0.020538f, -0.021899f, -0.023099f, -0.024116f, -0.024927f, -0.025514f, -0.025863f, -0.025961f, -0.025802f, -0.025381f, -0.024700f, -0.023761f, -0.022573f, -0.021149f, -0.019504f, -0.017657f, -0.015630f, -0.013450f, -0.011145f, -0.008744f, -0.006281f, -0.003789f, -0.001304f, 0.001141f, 0.003510f, 0.005768f, 0.007883f, 0.009822f, 0.011558f, 0.013064f, 0.014316f, 0.015297f, 0.015991f, 0.016388f, 0.016483f, 0.016275f, 0.015770f, 0.014978f, 0.013912f, 0.012595f, 0.011049f, 0.009305f, 0.007394f, 0.005352f, 0.003217f, 0.001030f, -0.001169f, -0.003339f, -0.005439f, -0.007430f, -0.009275f, -0.010942f, + -0.012399f, -0.013621f, -0.014588f, -0.015285f, -0.015701f, -0.015833f, -0.015683f, -0.015258f, -0.014573f, -0.013645f, -0.012499f, -0.011161f, -0.009662f, -0.008036f, -0.006319f, -0.004547f, -0.002757f, -0.000984f, 0.000736f, 0.002371f, 0.003893f, 0.005274f, 0.006494f, 0.007535f, 0.008384f, 0.009033f, 0.009480f, 0.009726f, 0.009778f, 0.009644f, 0.009340f, 0.008882f, 0.008290f, 0.007585f, 0.006789f, 0.005927f, 0.005020f, 0.004093f, 0.003166f, 0.002259f, 0.001389f, 0.000573f, -0.000176f, -0.000850f, -0.001440f, -0.001942f, -0.002354f, -0.002676f, -0.002910f, -0.003060f, -0.003133f, -0.003134f, -0.003072f, -0.002953f, -0.002786f, -0.002579f, -0.002337f, -0.002069f, -0.001780f, -0.001475f, -0.001158f, -0.000832f, -0.000502f, -0.000168f, -0.000950f, 0.005196f, 0.008415f, 0.013691f, 0.010046f, 0.041524f, 0.014494f, -0.010253f, -0.059357f, 0.014360f, 0.071639f, 0.089955f, -0.017131f, -0.159396f, -0.255292f, -0.048815f, 0.052816f, 0.112090f, 0.124895f, 0.011629f, 0.053349f, 0.049117f, -0.061521f, -0.153878f, 0.012614f, 0.063490f, 0.088113f, 0.120559f, 0.034303f, -0.028388f, -0.022463f, -0.126119f, + -0.059362f, 0.064977f, 0.125303f, 0.058828f, -0.087333f, -0.114147f, -0.062648f, 0.038220f, 0.156749f, 0.061676f, -0.044312f, -0.110768f, -0.121734f, -0.058530f, 0.070467f, 0.078156f, 0.062830f, 0.041647f, 0.011858f, 0.011894f, -0.019483f, -0.062924f, -0.024475f, -0.018302f, 0.013264f, 0.017461f, 0.119548f, -0.086788f, -0.027462f, -0.030487f, -0.173463f, -0.038236f, 0.108866f, -0.006879f, -0.102246f, -0.053467f, 0.045483f, 0.105019f, 0.128705f, 0.049507f, -0.025025f, -0.123162f, -0.118054f, 0.038616f, 0.185415f, 0.125769f, -0.045948f, -0.169415f, -0.106840f, -0.000353f, 0.054983f, 0.109200f, 0.058742f, -0.075455f, -0.169927f, -0.089376f, 0.045702f, 0.147251f, 0.090587f, -0.009634f, 0.008427f, -0.115185f, 0.015990f, 0.035158f, 0.217410f, 0.101335f, -0.063069f, -0.086048f, -0.002331f, 0.003691f, -0.094486f, -0.117104f, -0.048811f, 0.052984f, 0.122608f, 0.044561f, -0.097600f, -0.114101f, 0.012259f, 0.175564f, 0.184240f, 0.012182f, -0.121057f, -0.169569f, -0.076746f, 0.180433f, 0.250457f, 0.102575f, -0.107796f, -0.234107f, -0.190740f, -0.042613f, 0.128958f, 0.190930f, 0.115898f, -0.017594f, + -0.160777f, -0.122426f, -0.027748f, 0.104804f, 0.179697f, 0.098558f, -0.109567f, -0.149131f, -0.181002f, 0.025485f, 0.217751f, 0.283358f, 0.121772f, -0.068555f, -0.234328f, -0.199341f, -0.081574f, 0.092274f, 0.117148f, 0.125694f, -0.028746f, -0.108284f, -0.127547f, -0.000233f, 0.115058f, 0.139202f, -0.065825f, -0.078859f, -0.059174f, 0.008264f, -0.010895f, 0.013050f}, + {0.000640f, 0.001906f, 0.003129f, 0.004283f, 0.005343f, 0.006287f, 0.007094f, 0.007750f, 0.008242f, 0.008562f, 0.008709f, 0.008684f, 0.008492f, 0.008146f, 0.007659f, 0.007050f, 0.006342f, 0.005558f, 0.004726f, 0.003873f, 0.003029f, 0.002222f, 0.001480f, 0.000831f, 0.000298f, -0.000096f, -0.000332f, -0.000394f, -0.000272f, 0.000042f, 0.000551f, 0.001253f, 0.002142f, 0.003209f, 0.004440f, 0.005816f, 0.007316f, 0.008917f, 0.010592f, 0.012312f, 0.014048f, 0.015769f, 0.017444f, 0.019044f, 0.020538f, 0.021899f, 0.023099f, 0.024116f, 0.024927f, 0.025514f, 0.025863f, 0.025961f, 0.025802f, 0.025381f, 0.024700f, 0.023761f, 0.022573f, 0.021149f, 0.019504f, 0.017657f, 0.015630f, 0.013450f, 0.011145f, 0.008744f, 0.006281f, 0.003789f, 0.001304f, -0.001141f, -0.003510f, -0.005768f, -0.007883f, -0.009822f, -0.011558f, -0.013064f, -0.014316f, -0.015297f, -0.015991f, -0.016388f, -0.016483f, -0.016275f, -0.015770f, -0.014978f, -0.013912f, -0.012595f, -0.011049f, -0.009305f, -0.007394f, -0.005352f, -0.003217f, -0.001030f, 0.001169f, 0.003339f, 0.005439f, 0.007430f, 0.009275f, 0.010942f, + 0.012399f, 0.013621f, 0.014588f, 0.015285f, 0.015701f, 0.015833f, 0.015683f, 0.015258f, 0.014573f, 0.013645f, 0.012499f, 0.011161f, 0.009662f, 0.008036f, 0.006319f, 0.004547f, 0.002757f, 0.000984f, -0.000736f, -0.002371f, -0.003893f, -0.005274f, -0.006494f, -0.007535f, -0.008384f, -0.009033f, -0.009480f, -0.009726f, -0.009778f, -0.009644f, -0.009340f, -0.008882f, -0.008290f, -0.007585f, -0.006789f, -0.005927f, -0.005020f, -0.004093f, -0.003166f, -0.002259f, -0.001389f, -0.000573f, 0.000176f, 0.000850f, 0.001440f, 0.001942f, 0.002354f, 0.002676f, 0.002910f, 0.003060f, 0.003133f, 0.003134f, 0.003072f, 0.002953f, 0.002786f, 0.002579f, 0.002337f, 0.002069f, 0.001780f, 0.001475f, 0.001158f, 0.000832f, 0.000502f, 0.000168f, 0.000950f, -0.005196f, -0.008415f, -0.013691f, -0.010046f, -0.041524f, -0.014494f, 0.010253f, 0.059357f, -0.014360f, -0.071639f, -0.089955f, 0.017131f, 0.159396f, 0.255292f, 0.048815f, -0.052816f, -0.112090f, -0.124895f, -0.011629f, -0.053349f, -0.049117f, 0.061521f, 0.153878f, -0.012614f, -0.063490f, -0.088113f, -0.120559f, -0.034303f, 0.028388f, 0.022463f, 0.126119f, + 0.059362f, -0.064977f, -0.125303f, -0.058828f, 0.087333f, 0.114147f, 0.062648f, -0.038220f, -0.156749f, -0.061676f, 0.044312f, 0.110768f, 0.121734f, 0.058530f, -0.070467f, -0.078156f, -0.062830f, -0.041647f, -0.011858f, -0.011894f, 0.019483f, 0.062924f, 0.024475f, 0.018302f, -0.013264f, -0.017461f, -0.119548f, 0.086788f, 0.027462f, 0.030487f, 0.173463f, 0.038236f, -0.108866f, 0.006879f, 0.102246f, 0.053467f, -0.045483f, -0.105019f, -0.128705f, -0.049507f, 0.025025f, 0.123162f, 0.118054f, -0.038616f, -0.185415f, -0.125769f, 0.045948f, 0.169415f, 0.106840f, 0.000353f, -0.054983f, -0.109200f, -0.058742f, 0.075455f, 0.169927f, 0.089376f, -0.045702f, -0.147251f, -0.090587f, 0.009634f, -0.008427f, 0.115185f, -0.015990f, -0.035158f, -0.217410f, -0.101335f, 0.063069f, 0.086048f, 0.002331f, -0.003691f, 0.094486f, 0.117104f, 0.048811f, -0.052984f, -0.122608f, -0.044561f, 0.097600f, 0.114101f, -0.012259f, -0.175564f, -0.184240f, -0.012182f, 0.121057f, 0.169569f, 0.076746f, -0.180433f, -0.250457f, -0.102575f, 0.107796f, 0.234107f, 0.190740f, 0.042613f, -0.128958f, -0.190930f, -0.115898f, 0.017594f, + 0.160777f, 0.122426f, 0.027748f, -0.104804f, -0.179697f, -0.098558f, 0.109567f, 0.149131f, 0.181002f, -0.025485f, -0.217751f, -0.283358f, -0.121772f, 0.068555f, 0.234328f, 0.199341f, 0.081574f, -0.092274f, -0.117148f, -0.125694f, 0.028746f, 0.108284f, 0.127547f, 0.000233f, -0.115058f, -0.139202f, 0.065825f, 0.078859f, 0.059174f, -0.008264f, 0.010895f, -0.013050f} + }, + { + {0.000861f, 0.002552f, 0.004148f, 0.005589f, 0.006822f, 0.007797f, 0.008477f, 0.008831f, 0.008842f, 0.008500f, 0.007811f, 0.006790f, 0.005462f, 0.003864f, 0.002039f, 0.000040f, -0.002076f, -0.004250f, -0.006419f, -0.008523f, -0.010502f, -0.012301f, -0.013872f, -0.015175f, -0.016176f, -0.016852f, -0.017190f, -0.017188f, -0.016852f, -0.016198f, -0.015252f, -0.014045f, -0.012617f, -0.011010f, -0.009271f, -0.007445f, -0.005582f, -0.003724f, -0.001914f, -0.000187f, 0.001425f, 0.002899f, 0.004218f, 0.005374f, 0.006365f, 0.007196f, 0.007880f, 0.008432f, 0.008875f, 0.009235f, 0.009536f, 0.009806f, 0.010070f, 0.010351f, 0.010670f, 0.011041f, 0.011472f, 0.011967f, 0.012523f, 0.013129f, 0.013770f, 0.014422f, 0.015059f, 0.015651f, 0.016162f, 0.016557f, 0.016802f, 0.016862f, 0.016705f, 0.016305f, 0.015639f, 0.014693f, 0.013459f, 0.011936f, 0.010133f, 0.008066f, 0.005760f, 0.003247f, 0.000565f, -0.002242f, -0.005124f, -0.008031f, -0.010909f, -0.013705f, -0.016369f, -0.018851f, -0.021109f, -0.023105f, -0.024807f, -0.026193f, -0.027249f, -0.027967f, -0.028350f, -0.028408f, -0.028160f, -0.027632f, + -0.026853f, -0.025862f, -0.024696f, -0.023399f, -0.022012f, -0.020579f, -0.019138f, -0.017726f, -0.016378f, -0.015120f, -0.013974f, -0.012957f, -0.012077f, -0.011339f, -0.010740f, -0.010271f, -0.009920f, -0.009670f, -0.009501f, -0.009391f, -0.009317f, -0.009256f, -0.009187f, -0.009090f, -0.008949f, -0.008749f, -0.008483f, -0.008144f, -0.007732f, -0.007250f, -0.006705f, -0.006108f, -0.005474f, -0.004817f, -0.004156f, -0.003507f, -0.002889f, -0.002319f, -0.001811f, -0.001378f, -0.001028f, -0.000769f, -0.000601f, -0.000524f, -0.000532f, -0.000617f, -0.000767f, -0.000968f, -0.001205f, -0.001459f, -0.001714f, -0.001952f, -0.002157f, -0.002315f, -0.002413f, -0.002443f, -0.002398f, -0.002277f, -0.002080f, -0.001812f, -0.001480f, -0.001097f, -0.000674f, -0.000228f, 0.019411f, 0.009812f, -0.026151f, -0.032640f, -0.020738f, -0.035733f, -0.058682f, -0.090327f, -0.110120f, 0.151989f, 0.205551f, 0.056037f, -0.010353f, 0.053360f, 0.023881f, -0.011277f, 0.037123f, 0.092957f, 0.001328f, 0.048049f, -0.016966f, -0.058148f, 0.034997f, -0.009466f, 0.096773f, 0.024594f, 0.050246f, -0.073998f, -0.105668f, 0.008860f, 0.019794f, 0.022894f, + -0.052707f, -0.018010f, 0.016656f, 0.026045f, 0.052147f, 0.060366f, -0.066466f, -0.033060f, -0.017809f, 0.049546f, 0.059084f, 0.019277f, -0.068450f, -0.116077f, -0.069810f, 0.024554f, -0.010201f, 0.065496f, 0.096188f, 0.065856f, -0.056979f, -0.076188f, -0.047224f, 0.045117f, 0.097213f, 0.133600f, -0.019070f, -0.010924f, -0.154412f, -0.092075f, 0.092172f, 0.171862f, 0.046988f, 0.161369f, 0.056767f, -0.125307f, -0.091028f, -0.075354f, 0.082227f, 0.113654f, 0.058354f, -0.143590f, -0.259374f, -0.171666f, -0.132084f, -0.063050f, 0.179825f, 0.214131f, -0.004485f, -0.168746f, -0.138735f, -0.117269f, -0.208188f, 0.116421f, 0.232751f, 0.215983f, 0.077830f, -0.090856f, -0.200054f, -0.127017f, 0.080435f, 0.210455f, 0.194556f, 0.068536f, -0.104517f, -0.158299f, 0.038053f, 0.144177f, 0.160016f, 0.024600f, -0.130868f, -0.220678f, -0.062299f, 0.117071f, 0.256720f, 0.134429f, -0.052569f, -0.333617f, -0.343628f, -0.162022f, 0.201648f, 0.364155f, 0.190360f, -0.129535f, -0.190990f, -0.181481f, -0.043755f, 0.174126f, 0.244561f, 0.162623f, -0.058397f, -0.185193f, -0.141005f, -0.109101f, 0.102198f, 0.200563f, + 0.162725f, 0.014693f, -0.127916f, -0.203493f, -0.100609f, 0.087777f, 0.230913f, 0.130797f, -0.041546f, -0.207563f, -0.184892f, -0.095109f, 0.080087f, 0.175837f, 0.130124f, -0.032520f, -0.089523f, -0.095566f, -0.024602f, -0.012643f, 0.067768f, 0.104563f, 0.065081f, -0.029704f, -0.095207f, -0.091501f, 0.004209f, 0.077510f, 0.045222f, 0.005480f, 0.003975f, -0.002531f}, + {-0.000861f, -0.002552f, -0.004148f, -0.005589f, -0.006822f, -0.007797f, -0.008477f, -0.008831f, -0.008842f, -0.008500f, -0.007811f, -0.006790f, -0.005462f, -0.003864f, -0.002039f, -0.000040f, 0.002076f, 0.004250f, 0.006419f, 0.008523f, 0.010502f, 0.012301f, 0.013872f, 0.015175f, 0.016176f, 0.016852f, 0.017190f, 0.017188f, 0.016852f, 0.016198f, 0.015252f, 0.014045f, 0.012617f, 0.011010f, 0.009271f, 0.007445f, 0.005582f, 0.003724f, 0.001914f, 0.000187f, -0.001425f, -0.002899f, -0.004218f, -0.005374f, -0.006365f, -0.007196f, -0.007880f, -0.008432f, -0.008875f, -0.009235f, -0.009536f, -0.009806f, -0.010070f, -0.010351f, -0.010670f, -0.011041f, -0.011472f, -0.011967f, -0.012523f, -0.013129f, -0.013770f, -0.014422f, -0.015059f, -0.015651f, -0.016162f, -0.016557f, -0.016802f, -0.016862f, -0.016705f, -0.016305f, -0.015639f, -0.014693f, -0.013459f, -0.011936f, -0.010133f, -0.008066f, -0.005760f, -0.003247f, -0.000565f, 0.002242f, 0.005124f, 0.008031f, 0.010909f, 0.013705f, 0.016369f, 0.018851f, 0.021109f, 0.023105f, 0.024807f, 0.026193f, 0.027249f, 0.027967f, 0.028350f, 0.028408f, 0.028160f, 0.027632f, + 0.026853f, 0.025862f, 0.024696f, 0.023399f, 0.022012f, 0.020579f, 0.019138f, 0.017726f, 0.016378f, 0.015120f, 0.013974f, 0.012957f, 0.012077f, 0.011339f, 0.010740f, 0.010271f, 0.009920f, 0.009670f, 0.009501f, 0.009391f, 0.009317f, 0.009256f, 0.009187f, 0.009090f, 0.008949f, 0.008749f, 0.008483f, 0.008144f, 0.007732f, 0.007250f, 0.006705f, 0.006108f, 0.005474f, 0.004817f, 0.004156f, 0.003507f, 0.002889f, 0.002319f, 0.001811f, 0.001378f, 0.001028f, 0.000769f, 0.000601f, 0.000524f, 0.000532f, 0.000617f, 0.000767f, 0.000968f, 0.001205f, 0.001459f, 0.001714f, 0.001952f, 0.002157f, 0.002315f, 0.002413f, 0.002443f, 0.002398f, 0.002277f, 0.002080f, 0.001812f, 0.001480f, 0.001097f, 0.000674f, 0.000228f, -0.019411f, -0.009812f, 0.026151f, 0.032640f, 0.020738f, 0.035733f, 0.058682f, 0.090327f, 0.110120f, -0.151989f, -0.205551f, -0.056037f, 0.010353f, -0.053360f, -0.023881f, 0.011277f, -0.037123f, -0.092957f, -0.001328f, -0.048049f, 0.016966f, 0.058148f, -0.034997f, 0.009466f, -0.096773f, -0.024594f, -0.050246f, 0.073998f, 0.105668f, -0.008860f, -0.019794f, -0.022894f, + 0.052707f, 0.018010f, -0.016656f, -0.026045f, -0.052147f, -0.060366f, 0.066466f, 0.033060f, 0.017809f, -0.049546f, -0.059084f, -0.019277f, 0.068450f, 0.116077f, 0.069810f, -0.024554f, 0.010201f, -0.065496f, -0.096188f, -0.065856f, 0.056979f, 0.076188f, 0.047224f, -0.045117f, -0.097213f, -0.133600f, 0.019070f, 0.010924f, 0.154412f, 0.092075f, -0.092172f, -0.171862f, -0.046988f, -0.161369f, -0.056767f, 0.125307f, 0.091028f, 0.075354f, -0.082227f, -0.113654f, -0.058354f, 0.143590f, 0.259374f, 0.171666f, 0.132084f, 0.063050f, -0.179825f, -0.214131f, 0.004485f, 0.168746f, 0.138735f, 0.117269f, 0.208188f, -0.116421f, -0.232751f, -0.215983f, -0.077830f, 0.090856f, 0.200054f, 0.127017f, -0.080435f, -0.210455f, -0.194556f, -0.068536f, 0.104517f, 0.158299f, -0.038053f, -0.144177f, -0.160016f, -0.024600f, 0.130868f, 0.220678f, 0.062299f, -0.117071f, -0.256720f, -0.134429f, 0.052569f, 0.333617f, 0.343628f, 0.162022f, -0.201648f, -0.364155f, -0.190360f, 0.129535f, 0.190990f, 0.181481f, 0.043755f, -0.174126f, -0.244561f, -0.162623f, 0.058397f, 0.185193f, 0.141005f, 0.109101f, -0.102198f, -0.200563f, + -0.162725f, -0.014693f, 0.127916f, 0.203493f, 0.100609f, -0.087777f, -0.230913f, -0.130797f, 0.041546f, 0.207563f, 0.184892f, 0.095109f, -0.080087f, -0.175837f, -0.130124f, 0.032520f, 0.089523f, 0.095566f, 0.024602f, 0.012643f, -0.067768f, -0.104563f, -0.065081f, 0.029704f, 0.095207f, 0.091501f, -0.004209f, -0.077510f, -0.045222f, -0.005480f, -0.003975f, 0.002531f} + }, + { + {0.002884f, 0.008570f, 0.014011f, 0.019055f, 0.023559f, 0.027402f, 0.030483f, 0.032723f, 0.034076f, 0.034520f, 0.034065f, 0.032748f, 0.030633f, 0.027810f, 0.024389f, 0.020498f, 0.016277f, 0.011875f, 0.007442f, 0.003127f, -0.000930f, -0.004601f, -0.007775f, -0.010361f, -0.012290f, -0.013521f, -0.014037f, -0.013848f, -0.012990f, -0.011521f, -0.009524f, -0.007097f, -0.004352f, -0.001413f, 0.001592f, 0.004536f, 0.007293f, 0.009749f, 0.011801f, 0.013365f, 0.014373f, 0.014782f, 0.014571f, 0.013741f, 0.012318f, 0.010350f, 0.007906f, 0.005069f, 0.001940f, -0.001373f, -0.004754f, -0.008086f, -0.011254f, -0.014150f, -0.016677f, -0.018753f, -0.020310f, -0.021302f, -0.021702f, -0.021505f, -0.020727f, -0.019406f, -0.017597f, -0.015372f, -0.012816f, -0.010026f, -0.007106f, -0.004159f, -0.001292f, 0.001396f, 0.003814f, 0.005882f, 0.007534f, 0.008722f, 0.009416f, 0.009603f, 0.009290f, 0.008502f, 0.007282f, 0.005686f, 0.003785f, 0.001659f, -0.000607f, -0.002923f, -0.005200f, -0.007353f, -0.009303f, -0.010981f, -0.012332f, -0.013311f, -0.013892f, -0.014064f, -0.013831f, -0.013215f, -0.012252f, -0.010988f, + -0.009484f, -0.007806f, -0.006027f, -0.004222f, -0.002464f, -0.000825f, 0.000631f, 0.001849f, 0.002785f, 0.003405f, 0.003693f, 0.003643f, 0.003265f, 0.002583f, 0.001633f, 0.000460f, -0.000880f, -0.002326f, -0.003811f, -0.005270f, -0.006636f, -0.007849f, -0.008855f, -0.009608f, -0.010071f, -0.010222f, -0.010049f, -0.009554f, -0.008750f, -0.007665f, -0.006335f, -0.004806f, -0.003133f, -0.001372f, 0.000414f, 0.002164f, 0.003820f, 0.005325f, 0.006633f, 0.007703f, 0.008506f, 0.009022f, 0.009245f, 0.009177f, 0.008834f, 0.008242f, 0.007434f, 0.006452f, 0.005344f, 0.004160f, 0.002952f, 0.001771f, 0.000666f, -0.000321f, -0.001155f, -0.001806f, -0.002258f, -0.002501f, -0.002538f, -0.002380f, -0.002048f, -0.001572f, -0.000988f, -0.000337f, -0.026889f, 0.028099f, -0.009768f, -0.002524f, -0.023835f, 0.000490f, -0.157780f, -0.110259f, 0.027223f, 0.109942f, 0.103470f, 0.066165f, 0.025224f, 0.214648f, 0.081330f, -0.059959f, -0.118736f, -0.065186f, 0.070648f, 0.042514f, -0.016296f, -0.096606f, -0.042653f, -0.080307f, 0.003010f, 0.011074f, 0.035949f, 0.045728f, 0.050427f, -0.004399f, -0.066235f, -0.127373f, + -0.087482f, 0.084423f, 0.135908f, 0.074507f, -0.000454f, -0.052359f, -0.121824f, 0.055859f, 0.015029f, -0.181052f, -0.024857f, -0.048949f, 0.133705f, 0.141373f, 0.114178f, -0.149183f, -0.248358f, -0.253884f, 0.008334f, 0.218703f, 0.423573f, 0.171390f, -0.002672f, -0.365342f, -0.392351f, -0.247599f, 0.182369f, 0.155726f, 0.286528f, 0.123664f, -0.155661f, -0.192848f, -0.008898f, -0.150165f, -0.114626f, -0.020812f, -0.066192f, -0.060841f, -0.072571f, 0.061626f, 0.152827f, 0.168440f, 0.032683f, -0.100871f, -0.252947f, -0.229892f, 0.016842f, 0.347712f, 0.274786f, 0.085698f, -0.245119f, -0.094849f, -0.044493f, 0.131234f, 0.089811f, -0.056813f, -0.201518f, -0.145359f, 0.042291f, 0.234702f, 0.241292f, 0.024524f, -0.281017f, -0.308090f, -0.222045f, 0.163288f, 0.331563f, 0.211175f, -0.035887f, -0.258029f, -0.249274f, -0.028308f, 0.261113f, 0.345509f, 0.213605f, -0.074724f, -0.258686f, -0.257060f, -0.118453f, 0.083639f, 0.218506f, 0.156818f, -0.028084f, -0.200464f, -0.090533f, 0.019360f, 0.085401f, 0.116327f, 0.069003f, -0.017370f, -0.012965f, -0.023087f, -0.021796f, 0.014991f, 0.028101f, 0.057813f, + 0.075705f, 0.112571f, -0.004005f, -0.112876f, -0.161603f, -0.056295f, 0.102665f, 0.279171f, 0.240931f, 0.007528f, -0.250775f, -0.298360f, -0.185196f, 0.096465f, 0.276045f, 0.268710f, 0.070561f, -0.159979f, -0.294447f, -0.124619f, 0.146034f, 0.261495f, 0.159653f, -0.005708f, -0.184892f, -0.154563f, -0.041142f, 0.064629f, 0.040595f, 0.027037f, -0.007256f, 0.008844f}, + {-0.002884f, -0.008570f, -0.014011f, -0.019055f, -0.023559f, -0.027402f, -0.030483f, -0.032723f, -0.034076f, -0.034520f, -0.034065f, -0.032748f, -0.030633f, -0.027810f, -0.024389f, -0.020498f, -0.016277f, -0.011875f, -0.007442f, -0.003127f, 0.000930f, 0.004601f, 0.007775f, 0.010361f, 0.012290f, 0.013521f, 0.014037f, 0.013848f, 0.012990f, 0.011521f, 0.009524f, 0.007097f, 0.004352f, 0.001413f, -0.001592f, -0.004536f, -0.007293f, -0.009749f, -0.011801f, -0.013365f, -0.014373f, -0.014782f, -0.014571f, -0.013741f, -0.012318f, -0.010350f, -0.007906f, -0.005069f, -0.001940f, 0.001373f, 0.004754f, 0.008086f, 0.011254f, 0.014150f, 0.016677f, 0.018753f, 0.020310f, 0.021302f, 0.021702f, 0.021505f, 0.020727f, 0.019406f, 0.017597f, 0.015372f, 0.012816f, 0.010026f, 0.007106f, 0.004159f, 0.001292f, -0.001396f, -0.003814f, -0.005882f, -0.007534f, -0.008722f, -0.009416f, -0.009603f, -0.009290f, -0.008502f, -0.007282f, -0.005686f, -0.003785f, -0.001659f, 0.000607f, 0.002923f, 0.005200f, 0.007353f, 0.009303f, 0.010981f, 0.012332f, 0.013311f, 0.013892f, 0.014064f, 0.013831f, 0.013215f, 0.012252f, 0.010988f, + 0.009484f, 0.007806f, 0.006027f, 0.004222f, 0.002464f, 0.000825f, -0.000631f, -0.001849f, -0.002785f, -0.003405f, -0.003693f, -0.003643f, -0.003265f, -0.002583f, -0.001633f, -0.000460f, 0.000880f, 0.002326f, 0.003811f, 0.005270f, 0.006636f, 0.007849f, 0.008855f, 0.009608f, 0.010071f, 0.010222f, 0.010049f, 0.009554f, 0.008750f, 0.007665f, 0.006335f, 0.004806f, 0.003133f, 0.001372f, -0.000414f, -0.002164f, -0.003820f, -0.005325f, -0.006633f, -0.007703f, -0.008506f, -0.009022f, -0.009245f, -0.009177f, -0.008834f, -0.008242f, -0.007434f, -0.006452f, -0.005344f, -0.004160f, -0.002952f, -0.001771f, -0.000666f, 0.000321f, 0.001155f, 0.001806f, 0.002258f, 0.002501f, 0.002538f, 0.002380f, 0.002048f, 0.001572f, 0.000988f, 0.000337f, 0.026889f, -0.028099f, 0.009768f, 0.002524f, 0.023835f, -0.000490f, 0.157780f, 0.110259f, -0.027223f, -0.109942f, -0.103470f, -0.066165f, -0.025224f, -0.214648f, -0.081330f, 0.059959f, 0.118736f, 0.065186f, -0.070648f, -0.042514f, 0.016296f, 0.096606f, 0.042653f, 0.080307f, -0.003010f, -0.011074f, -0.035949f, -0.045728f, -0.050427f, 0.004399f, 0.066235f, 0.127373f, + 0.087482f, -0.084423f, -0.135908f, -0.074507f, 0.000454f, 0.052359f, 0.121824f, -0.055859f, -0.015029f, 0.181052f, 0.024857f, 0.048949f, -0.133705f, -0.141373f, -0.114178f, 0.149183f, 0.248358f, 0.253884f, -0.008334f, -0.218703f, -0.423573f, -0.171390f, 0.002672f, 0.365342f, 0.392351f, 0.247599f, -0.182369f, -0.155726f, -0.286528f, -0.123664f, 0.155661f, 0.192848f, 0.008898f, 0.150165f, 0.114626f, 0.020812f, 0.066192f, 0.060841f, 0.072571f, -0.061626f, -0.152827f, -0.168440f, -0.032683f, 0.100871f, 0.252947f, 0.229892f, -0.016842f, -0.347712f, -0.274786f, -0.085698f, 0.245119f, 0.094849f, 0.044493f, -0.131234f, -0.089811f, 0.056813f, 0.201518f, 0.145359f, -0.042291f, -0.234702f, -0.241292f, -0.024524f, 0.281017f, 0.308090f, 0.222045f, -0.163288f, -0.331563f, -0.211175f, 0.035887f, 0.258029f, 0.249274f, 0.028308f, -0.261113f, -0.345509f, -0.213605f, 0.074724f, 0.258686f, 0.257060f, 0.118453f, -0.083639f, -0.218506f, -0.156818f, 0.028084f, 0.200464f, 0.090533f, -0.019360f, -0.085401f, -0.116327f, -0.069003f, 0.017370f, 0.012965f, 0.023087f, 0.021796f, -0.014991f, -0.028101f, -0.057813f, + -0.075705f, -0.112571f, 0.004005f, 0.112876f, 0.161603f, 0.056295f, -0.102665f, -0.279171f, -0.240931f, -0.007528f, 0.250775f, 0.298360f, 0.185196f, -0.096465f, -0.276045f, -0.268710f, -0.070561f, 0.159979f, 0.294447f, 0.124619f, -0.146034f, -0.261495f, -0.159653f, 0.005708f, 0.184892f, 0.154563f, 0.041142f, -0.064629f, -0.040595f, -0.027037f, 0.007256f, -0.008844f} + }, + { + {0.001345f, 0.004002f, 0.006562f, 0.008966f, 0.011161f, 0.013102f, 0.014757f, 0.016105f, 0.017138f, 0.017863f, 0.018298f, 0.018475f, 0.018437f, 0.018234f, 0.017924f, 0.017569f, 0.017230f, 0.016967f, 0.016834f, 0.016878f, 0.017136f, 0.017629f, 0.018367f, 0.019343f, 0.020535f, 0.021905f, 0.023400f, 0.024955f, 0.026493f, 0.027930f, 0.029178f, 0.030145f, 0.030743f, 0.030890f, 0.030514f, 0.029556f, 0.027972f, 0.025739f, 0.022853f, 0.019332f, 0.015217f, 0.010571f, 0.005476f, 0.000035f, -0.005633f, -0.011399f, -0.017120f, -0.022653f, -0.027852f, -0.032578f, -0.036698f, -0.040096f, -0.042672f, -0.044346f, -0.045065f, -0.044800f, -0.043551f, -0.041344f, -0.038234f, -0.034302f, -0.029651f, -0.024407f, -0.018711f, -0.012717f, -0.006588f, -0.000489f, 0.005419f, 0.010980f, 0.016050f, 0.020504f, 0.024233f, 0.027155f, 0.029211f, 0.030371f, 0.030631f, 0.030014f, 0.028569f, 0.026369f, 0.023508f, 0.020095f, 0.016255f, 0.012120f, 0.007825f, 0.003507f, -0.000704f, -0.004688f, -0.008338f, -0.011562f, -0.014291f, -0.016474f, -0.018083f, -0.019114f, -0.019583f, -0.019528f, -0.019005f, -0.018085f, + -0.016852f, -0.015398f, -0.013821f, -0.012219f, -0.010685f, -0.009309f, -0.008167f, -0.007324f, -0.006827f, -0.006708f, -0.006979f, -0.007635f, -0.008650f, -0.009983f, -0.011579f, -0.013367f, -0.015270f, -0.017202f, -0.019073f, -0.020797f, -0.022290f, -0.023474f, -0.024284f, -0.024666f, -0.024583f, -0.024012f, -0.022950f, -0.021410f, -0.019422f, -0.017031f, -0.014298f, -0.011294f, -0.008100f, -0.004803f, -0.001491f, 0.001745f, 0.004821f, 0.007659f, 0.010188f, 0.012352f, 0.014108f, 0.015425f, 0.016291f, 0.016708f, 0.016693f, 0.016278f, 0.015506f, 0.014430f, 0.013112f, 0.011619f, 0.010018f, 0.008378f, 0.006763f, 0.005232f, 0.003834f, 0.002610f, 0.001587f, 0.000782f, 0.000198f, -0.000174f, -0.000355f, -0.000376f, -0.000276f, -0.000100f, -0.032205f, 0.011586f, -0.040186f, 0.014088f, -0.042313f, 0.046827f, 0.033764f, -0.096242f, -0.080467f, 0.016061f, -0.088406f, -0.089652f, 0.052045f, -0.107020f, -0.286973f, -0.113994f, 0.172515f, 0.215293f, 0.242145f, -0.144469f, 0.015859f, 0.186953f, 0.178302f, -0.033527f, -0.164463f, -0.116146f, -0.078606f, 0.060146f, 0.228290f, 0.176714f, 0.045216f, -0.148974f, + -0.167378f, -0.117306f, 0.037959f, 0.118187f, 0.172420f, 0.018415f, -0.059047f, -0.113543f, -0.094441f, 0.007358f, 0.140239f, 0.127385f, 0.029243f, -0.130445f, -0.151885f, -0.079534f, -0.031788f, 0.024268f, 0.119878f, 0.114851f, 0.152176f, 0.012880f, -0.082703f, -0.305814f, -0.232458f, -0.078515f, 0.217788f, 0.022424f, 0.137951f, 0.078344f, -0.108319f, -0.201225f, -0.074505f, -0.211080f, -0.240345f, 0.009746f, 0.084793f, 0.135413f, -0.004733f, -0.028726f, -0.046164f, 0.170722f, 0.010726f, 0.045193f, -0.337527f, -0.426429f, 0.027906f, 0.302670f, 0.248545f, 0.068898f, -0.181394f, -0.362390f, -0.595504f, -0.156258f, 0.325924f, 0.586403f, 0.346745f, -0.046848f, -0.393579f, -0.371270f, -0.161925f, 0.242804f, 0.350908f, 0.237995f, -0.002838f, -0.132692f, -0.054955f, 0.143286f, 0.144945f, -0.054418f, -0.134018f, -0.094813f, 0.040119f, 0.165650f, 0.156301f, 0.001921f, -0.121456f, -0.160572f, -0.054007f, 0.025824f, 0.115209f, 0.056750f, -0.218672f, -0.213128f, -0.032553f, 0.039900f, 0.073676f, 0.041634f, -0.038515f, -0.101947f, -0.036357f, 0.045300f, 0.032164f, 0.037874f, 0.012793f, 0.004136f, + -0.030288f, 0.050791f, 0.080366f, 0.013649f, -0.046289f, -0.091225f, -0.013940f, 0.085658f, 0.101820f, 0.072115f, -0.001188f, -0.091973f, -0.114852f, 0.005284f, 0.139027f, 0.155460f, 0.007874f, -0.164472f, -0.247952f, -0.149218f, 0.075276f, 0.269313f, 0.297946f, 0.099007f, -0.204590f, -0.365654f, -0.268602f, 0.045711f, 0.130835f, 0.071040f, 0.007248f, 0.006140f}, + {0.001345f, 0.004002f, 0.006562f, 0.008966f, 0.011161f, 0.013102f, 0.014757f, 0.016105f, 0.017138f, 0.017863f, 0.018298f, 0.018475f, 0.018437f, 0.018234f, 0.017924f, 0.017569f, 0.017230f, 0.016967f, 0.016834f, 0.016878f, 0.017136f, 0.017629f, 0.018367f, 0.019343f, 0.020535f, 0.021905f, 0.023400f, 0.024955f, 0.026493f, 0.027930f, 0.029178f, 0.030145f, 0.030743f, 0.030890f, 0.030514f, 0.029556f, 0.027972f, 0.025739f, 0.022853f, 0.019332f, 0.015217f, 0.010571f, 0.005476f, 0.000035f, -0.005633f, -0.011399f, -0.017120f, -0.022653f, -0.027852f, -0.032578f, -0.036698f, -0.040096f, -0.042672f, -0.044346f, -0.045065f, -0.044800f, -0.043551f, -0.041344f, -0.038234f, -0.034302f, -0.029651f, -0.024407f, -0.018711f, -0.012717f, -0.006588f, -0.000489f, 0.005419f, 0.010980f, 0.016050f, 0.020504f, 0.024233f, 0.027155f, 0.029211f, 0.030371f, 0.030631f, 0.030014f, 0.028569f, 0.026369f, 0.023508f, 0.020095f, 0.016255f, 0.012120f, 0.007825f, 0.003507f, -0.000704f, -0.004688f, -0.008338f, -0.011562f, -0.014291f, -0.016474f, -0.018083f, -0.019114f, -0.019583f, -0.019528f, -0.019005f, -0.018085f, + -0.016852f, -0.015398f, -0.013821f, -0.012219f, -0.010685f, -0.009309f, -0.008167f, -0.007324f, -0.006827f, -0.006708f, -0.006979f, -0.007635f, -0.008650f, -0.009983f, -0.011579f, -0.013367f, -0.015270f, -0.017202f, -0.019073f, -0.020797f, -0.022290f, -0.023474f, -0.024284f, -0.024666f, -0.024583f, -0.024012f, -0.022950f, -0.021410f, -0.019422f, -0.017031f, -0.014298f, -0.011294f, -0.008100f, -0.004803f, -0.001491f, 0.001745f, 0.004821f, 0.007659f, 0.010188f, 0.012352f, 0.014108f, 0.015425f, 0.016291f, 0.016708f, 0.016693f, 0.016278f, 0.015506f, 0.014430f, 0.013112f, 0.011619f, 0.010018f, 0.008378f, 0.006763f, 0.005232f, 0.003834f, 0.002610f, 0.001587f, 0.000782f, 0.000198f, -0.000174f, -0.000355f, -0.000376f, -0.000276f, -0.000100f, -0.032205f, 0.011586f, -0.040186f, 0.014088f, -0.042313f, 0.046827f, 0.033764f, -0.096242f, -0.080467f, 0.016061f, -0.088406f, -0.089652f, 0.052045f, -0.107020f, -0.286973f, -0.113994f, 0.172515f, 0.215293f, 0.242145f, -0.144469f, 0.015859f, 0.186953f, 0.178302f, -0.033527f, -0.164463f, -0.116146f, -0.078606f, 0.060146f, 0.228290f, 0.176714f, 0.045216f, -0.148974f, + -0.167378f, -0.117306f, 0.037959f, 0.118187f, 0.172420f, 0.018415f, -0.059047f, -0.113543f, -0.094441f, 0.007358f, 0.140239f, 0.127385f, 0.029243f, -0.130445f, -0.151885f, -0.079534f, -0.031788f, 0.024268f, 0.119878f, 0.114851f, 0.152176f, 0.012880f, -0.082703f, -0.305814f, -0.232458f, -0.078515f, 0.217788f, 0.022424f, 0.137951f, 0.078344f, -0.108319f, -0.201225f, -0.074505f, -0.211080f, -0.240345f, 0.009746f, 0.084793f, 0.135413f, -0.004733f, -0.028726f, -0.046164f, 0.170722f, 0.010726f, 0.045193f, -0.337527f, -0.426429f, 0.027906f, 0.302670f, 0.248545f, 0.068898f, -0.181394f, -0.362390f, -0.595504f, -0.156258f, 0.325924f, 0.586403f, 0.346745f, -0.046848f, -0.393579f, -0.371270f, -0.161925f, 0.242804f, 0.350908f, 0.237995f, -0.002838f, -0.132692f, -0.054955f, 0.143286f, 0.144945f, -0.054418f, -0.134018f, -0.094813f, 0.040119f, 0.165650f, 0.156301f, 0.001921f, -0.121456f, -0.160572f, -0.054007f, 0.025824f, 0.115209f, 0.056750f, -0.218672f, -0.213128f, -0.032553f, 0.039900f, 0.073676f, 0.041634f, -0.038515f, -0.101947f, -0.036357f, 0.045300f, 0.032164f, 0.037874f, 0.012793f, 0.004136f, + -0.030288f, 0.050791f, 0.080366f, 0.013649f, -0.046289f, -0.091225f, -0.013940f, 0.085658f, 0.101820f, 0.072115f, -0.001188f, -0.091973f, -0.114852f, 0.005284f, 0.139027f, 0.155460f, 0.007874f, -0.164472f, -0.247952f, -0.149218f, 0.075276f, 0.269313f, 0.297946f, 0.099007f, -0.204590f, -0.365654f, -0.268602f, 0.045711f, 0.130835f, 0.071040f, 0.007248f, 0.006140f} + }, + { + {0.000362f, 0.001073f, 0.001744f, 0.002349f, 0.002866f, 0.003277f, 0.003570f, 0.003738f, 0.003779f, 0.003698f, 0.003508f, 0.003226f, 0.002876f, 0.002485f, 0.002085f, 0.001710f, 0.001397f, 0.001181f, 0.001094f, 0.001169f, 0.001431f, 0.001901f, 0.002592f, 0.003510f, 0.004653f, 0.006007f, 0.007553f, 0.009260f, 0.011090f, 0.012998f, 0.014931f, 0.016831f, 0.018638f, 0.020289f, 0.021720f, 0.022871f, 0.023686f, 0.024113f, 0.024109f, 0.023641f, 0.022686f, 0.021232f, 0.019283f, 0.016852f, 0.013969f, 0.010675f, 0.007023f, 0.003079f, -0.001081f, -0.005376f, -0.009714f, -0.014004f, -0.018149f, -0.022056f, -0.025634f, -0.028799f, -0.031473f, -0.033592f, -0.035100f, -0.035957f, -0.036140f, -0.035639f, -0.034460f, -0.032629f, -0.030184f, -0.027179f, -0.023683f, -0.019776f, -0.015546f, -0.011091f, -0.006513f, -0.001916f, 0.002596f, 0.006922f, 0.010968f, 0.014648f, 0.017885f, 0.020617f, 0.022794f, 0.024383f, 0.025367f, 0.025744f, 0.025530f, 0.024755f, 0.023465f, 0.021719f, 0.019588f, 0.017150f, 0.014493f, 0.011706f, 0.008882f, 0.006113f, 0.003485f, 0.001081f, -0.001026f, -0.002775f, + -0.004115f, -0.005009f, -0.005435f, -0.005387f, -0.004872f, -0.003914f, -0.002548f, -0.000824f, 0.001197f, 0.003446f, 0.005846f, 0.008317f, 0.010775f, 0.013138f, 0.015324f, 0.017260f, 0.018878f, 0.020119f, 0.020938f, 0.021298f, 0.021179f, 0.020573f, 0.019487f, 0.017941f, 0.015968f, 0.013612f, 0.010929f, 0.007984f, 0.004847f, 0.001593f, -0.001699f, -0.004952f, -0.008089f, -0.011040f, -0.013738f, -0.016128f, -0.018162f, -0.019804f, -0.021028f, -0.021822f, -0.022185f, -0.022130f, -0.021678f, -0.020863f, -0.019726f, -0.018317f, -0.016691f, -0.014906f, -0.013022f, -0.011101f, -0.009198f, -0.007369f, -0.005660f, -0.004113f, -0.002759f, -0.001622f, -0.000713f, -0.000037f, 0.000414f, 0.000657f, 0.000717f, 0.000625f, 0.000421f, 0.000148f, 0.003153f, 0.039246f, 0.019417f, -0.023447f, -0.011964f, 0.066398f, 0.104926f, 0.012829f, -0.083265f, -0.197505f, -0.131572f, -0.043432f, 0.098608f, -0.095586f, -0.058691f, -0.025854f, 0.072826f, 0.132206f, 0.338317f, -0.030937f, -0.084397f, -0.074181f, -0.012587f, 0.012308f, 0.185180f, 0.096400f, 0.086420f, -0.056502f, -0.178421f, -0.099177f, -0.091937f, 0.057927f, + 0.078566f, 0.128628f, -0.012851f, -0.100419f, -0.153556f, -0.063418f, -0.033265f, 0.026325f, 0.070259f, 0.081971f, -0.004465f, -0.085805f, -0.077271f, -0.033981f, 0.034679f, 0.026259f, -0.092928f, -0.078258f, 0.019976f, 0.075629f, 0.042707f, 0.066090f, -0.011075f, -0.062597f, -0.010010f, -0.067249f, 0.046747f, -0.141062f, 0.104991f, 0.095284f, -0.096905f, -0.165815f, 0.025985f, -0.109232f, -0.092494f, 0.074759f, -0.033794f, -0.054673f, -0.157522f, -0.012924f, 0.193544f, 0.439641f, 0.197651f, -0.045368f, -0.274867f, -0.197032f, -0.026967f, 0.208389f, 0.300841f, 0.219146f, -0.073385f, -0.195584f, -0.082110f, 0.032274f, 0.033256f, 0.023490f, -0.035048f, -0.061489f, -0.119029f, -0.016601f, 0.100604f, 0.214575f, 0.161937f, 0.018756f, -0.165729f, -0.271331f, -0.194265f, 0.001101f, 0.245243f, 0.380123f, 0.173566f, -0.053007f, -0.339741f, -0.343594f, -0.166942f, 0.092259f, 0.197898f, 0.180599f, 0.052916f, 0.025386f, -0.109175f, 0.023439f, 0.101582f, 0.122370f, -0.126372f, -0.178005f, -0.054058f, 0.091751f, 0.129352f, 0.070559f, -0.006143f, -0.168099f, -0.175214f, -0.114156f, 0.078900f, 0.220900f, + 0.246636f, 0.056560f, -0.178328f, -0.354397f, -0.276709f, -0.020144f, 0.259144f, 0.436947f, 0.279027f, -0.061814f, -0.348580f, -0.383924f, -0.207627f, 0.122758f, 0.252189f, 0.198382f, 0.095538f, -0.034397f, -0.090844f, -0.114349f, -0.055317f, 0.035860f, 0.087028f, 0.089706f, 0.032524f, -0.067118f, -0.056800f, -0.060686f, -0.007022f, 0.013520f, -0.000301f, 0.004991f}, + {0.000362f, 0.001073f, 0.001744f, 0.002349f, 0.002866f, 0.003277f, 0.003570f, 0.003738f, 0.003779f, 0.003698f, 0.003508f, 0.003226f, 0.002876f, 0.002485f, 0.002085f, 0.001710f, 0.001397f, 0.001181f, 0.001094f, 0.001169f, 0.001431f, 0.001901f, 0.002592f, 0.003510f, 0.004653f, 0.006007f, 0.007553f, 0.009260f, 0.011090f, 0.012998f, 0.014931f, 0.016831f, 0.018638f, 0.020289f, 0.021720f, 0.022871f, 0.023686f, 0.024113f, 0.024109f, 0.023641f, 0.022686f, 0.021232f, 0.019283f, 0.016852f, 0.013969f, 0.010675f, 0.007023f, 0.003079f, -0.001081f, -0.005376f, -0.009714f, -0.014004f, -0.018149f, -0.022056f, -0.025634f, -0.028799f, -0.031473f, -0.033592f, -0.035100f, -0.035957f, -0.036140f, -0.035639f, -0.034460f, -0.032629f, -0.030184f, -0.027179f, -0.023683f, -0.019776f, -0.015546f, -0.011091f, -0.006513f, -0.001916f, 0.002596f, 0.006922f, 0.010968f, 0.014648f, 0.017885f, 0.020617f, 0.022794f, 0.024383f, 0.025367f, 0.025744f, 0.025530f, 0.024755f, 0.023465f, 0.021719f, 0.019588f, 0.017150f, 0.014493f, 0.011706f, 0.008882f, 0.006113f, 0.003485f, 0.001081f, -0.001026f, -0.002775f, + -0.004115f, -0.005009f, -0.005435f, -0.005387f, -0.004872f, -0.003914f, -0.002548f, -0.000824f, 0.001197f, 0.003446f, 0.005846f, 0.008317f, 0.010775f, 0.013138f, 0.015324f, 0.017260f, 0.018878f, 0.020119f, 0.020938f, 0.021298f, 0.021179f, 0.020573f, 0.019487f, 0.017941f, 0.015968f, 0.013612f, 0.010929f, 0.007984f, 0.004847f, 0.001593f, -0.001699f, -0.004952f, -0.008089f, -0.011040f, -0.013738f, -0.016128f, -0.018162f, -0.019804f, -0.021028f, -0.021822f, -0.022185f, -0.022130f, -0.021678f, -0.020863f, -0.019726f, -0.018317f, -0.016691f, -0.014906f, -0.013022f, -0.011101f, -0.009198f, -0.007369f, -0.005660f, -0.004113f, -0.002759f, -0.001622f, -0.000713f, -0.000037f, 0.000414f, 0.000657f, 0.000717f, 0.000625f, 0.000421f, 0.000148f, 0.003153f, 0.039246f, 0.019417f, -0.023447f, -0.011964f, 0.066398f, 0.104926f, 0.012829f, -0.083265f, -0.197505f, -0.131572f, -0.043432f, 0.098608f, -0.095586f, -0.058691f, -0.025854f, 0.072826f, 0.132206f, 0.338317f, -0.030937f, -0.084397f, -0.074181f, -0.012587f, 0.012308f, 0.185180f, 0.096400f, 0.086420f, -0.056502f, -0.178421f, -0.099177f, -0.091937f, 0.057927f, + 0.078566f, 0.128628f, -0.012851f, -0.100419f, -0.153556f, -0.063418f, -0.033265f, 0.026325f, 0.070259f, 0.081971f, -0.004465f, -0.085805f, -0.077271f, -0.033981f, 0.034679f, 0.026259f, -0.092928f, -0.078258f, 0.019976f, 0.075629f, 0.042707f, 0.066090f, -0.011075f, -0.062597f, -0.010010f, -0.067249f, 0.046747f, -0.141062f, 0.104991f, 0.095284f, -0.096905f, -0.165815f, 0.025985f, -0.109232f, -0.092494f, 0.074759f, -0.033794f, -0.054673f, -0.157522f, -0.012924f, 0.193544f, 0.439641f, 0.197651f, -0.045368f, -0.274867f, -0.197032f, -0.026967f, 0.208389f, 0.300841f, 0.219146f, -0.073385f, -0.195584f, -0.082110f, 0.032274f, 0.033256f, 0.023490f, -0.035048f, -0.061489f, -0.119029f, -0.016601f, 0.100604f, 0.214575f, 0.161937f, 0.018756f, -0.165729f, -0.271331f, -0.194265f, 0.001101f, 0.245243f, 0.380123f, 0.173566f, -0.053007f, -0.339741f, -0.343594f, -0.166942f, 0.092259f, 0.197898f, 0.180599f, 0.052916f, 0.025386f, -0.109175f, 0.023439f, 0.101582f, 0.122370f, -0.126372f, -0.178005f, -0.054058f, 0.091751f, 0.129352f, 0.070559f, -0.006143f, -0.168099f, -0.175214f, -0.114156f, 0.078900f, 0.220900f, + 0.246636f, 0.056560f, -0.178328f, -0.354397f, -0.276709f, -0.020144f, 0.259144f, 0.436947f, 0.279027f, -0.061814f, -0.348580f, -0.383924f, -0.207627f, 0.122758f, 0.252189f, 0.198382f, 0.095538f, -0.034397f, -0.090844f, -0.114349f, -0.055317f, 0.035860f, 0.087028f, 0.089706f, 0.032524f, -0.067118f, -0.056800f, -0.060686f, -0.007022f, 0.013520f, -0.000301f, 0.004991f} + }, + { + {-0.002437f, -0.007249f, -0.011878f, -0.016208f, -0.020132f, -0.023555f, -0.026396f, -0.028594f, -0.030103f, -0.030901f, -0.030982f, -0.030365f, -0.029084f, -0.027193f, -0.024763f, -0.021877f, -0.018627f, -0.015116f, -0.011448f, -0.007729f, -0.004061f, -0.000542f, 0.002741f, 0.005712f, 0.008307f, 0.010480f, 0.012198f, 0.013448f, 0.014232f, 0.014568f, 0.014488f, 0.014039f, 0.013276f, 0.012265f, 0.011077f, 0.009785f, 0.008463f, 0.007182f, 0.006009f, 0.005001f, 0.004208f, 0.003667f, 0.003405f, 0.003434f, 0.003755f, 0.004356f, 0.005213f, 0.006292f, 0.007550f, 0.008939f, 0.010403f, 0.011886f, 0.013333f, 0.014688f, 0.015902f, 0.016932f, 0.017741f, 0.018302f, 0.018600f, 0.018628f, 0.018389f, 0.017899f, 0.017180f, 0.016263f, 0.015189f, 0.013998f, 0.012738f, 0.011455f, 0.010197f, 0.009007f, 0.007923f, 0.006979f, 0.006200f, 0.005604f, 0.005199f, 0.004984f, 0.004949f, 0.005075f, 0.005338f, 0.005705f, 0.006139f, 0.006600f, 0.007047f, 0.007439f, 0.007738f, 0.007910f, 0.007927f, 0.007767f, 0.007417f, 0.006874f, 0.006142f, 0.005236f, 0.004179f, 0.003004f, 0.001749f, 0.000459f, + -0.000818f, -0.002032f, -0.003131f, -0.004065f, -0.004790f, -0.005264f, -0.005455f, -0.005338f, -0.004898f, -0.004130f, -0.003042f, -0.001649f, 0.000020f, 0.001928f, 0.004029f, 0.006271f, 0.008594f, 0.010936f, 0.013233f, 0.015422f, 0.017441f, 0.019234f, 0.020751f, 0.021948f, 0.022792f, 0.023260f, 0.023339f, 0.023028f, 0.022334f, 0.021278f, 0.019890f, 0.018206f, 0.016271f, 0.014137f, 0.011857f, 0.009488f, 0.007087f, 0.004707f, 0.002402f, 0.000219f, -0.001802f, -0.003625f, -0.005223f, -0.006579f, -0.007681f, -0.008525f, -0.009118f, -0.009470f, -0.009597f, -0.009522f, -0.009269f, -0.008865f, -0.008338f, -0.007716f, -0.007025f, -0.006287f, -0.005524f, -0.004752f, -0.003983f, -0.003226f, -0.002485f, -0.001761f, -0.001050f, -0.000349f, 0.000798f, -0.022608f, 0.029290f, 0.010754f, 0.033745f, -0.056416f, 0.012564f, -0.025145f, -0.039111f, 0.009475f, 0.087132f, 0.034345f, 0.050271f, 0.055360f, 0.033369f, 0.029722f, 0.043641f, 0.147217f, 0.145766f, -0.095509f, -0.073279f, 0.078979f, 0.072582f, 0.059506f, -0.050192f, -0.013124f, -0.063172f, -0.060244f, -0.020264f, 0.048458f, 0.087877f, -0.022581f, + -0.078489f, -0.024945f, 0.048310f, 0.079037f, 0.078327f, 0.003655f, -0.050125f, -0.032420f, 0.019079f, 0.040126f, 0.023291f, 0.013937f, -0.072645f, -0.044753f, -0.050742f, -0.023459f, -0.052839f, 0.011511f, 0.054459f, 0.080019f, -0.061848f, -0.033169f, -0.111716f, 0.006452f, 0.040085f, 0.117089f, -0.002984f, 0.075402f, -0.102498f, -0.083120f, 0.005264f, 0.122676f, 0.052329f, 0.150099f, 0.096037f, -0.032499f, -0.105663f, -0.099683f, -0.053576f, 0.040849f, 0.085621f, -0.012670f, -0.024627f, -0.075403f, -0.149701f, -0.147335f, 0.040066f, 0.235083f, 0.257166f, 0.129050f, -0.118997f, -0.271508f, -0.194114f, -0.009602f, 0.209841f, 0.210054f, 0.126052f, -0.121489f, -0.184259f, -0.252540f, -0.122876f, 0.170446f, 0.241755f, 0.138102f, -0.083143f, -0.205561f, -0.113596f, 0.046416f, 0.139492f, 0.115677f, -0.043339f, -0.167817f, -0.124128f, 0.048838f, 0.212727f, 0.241182f, 0.025151f, -0.224988f, -0.262230f, -0.025929f, 0.184648f, 0.355649f, 0.338647f, -0.091475f, -0.359634f, -0.270936f, 0.035513f, 0.312107f, 0.338017f, 0.167326f, -0.083554f, -0.320453f, -0.251326f, -0.066371f, 0.201620f, 0.262253f, + 0.181611f, -0.085509f, -0.219784f, -0.194721f, -0.002556f, 0.163824f, 0.200978f, 0.010282f, -0.156332f, -0.163656f, -0.041784f, 0.137059f, 0.177173f, -0.017919f, -0.159069f, -0.205658f, -0.078000f, 0.099218f, 0.263550f, 0.161633f, -0.058418f, -0.232437f, -0.217229f, -0.074059f, 0.127299f, 0.238100f, 0.208174f, 0.001426f, -0.078885f, -0.054832f, -0.003657f, -0.006916f}, + {-0.002437f, -0.007249f, -0.011878f, -0.016208f, -0.020132f, -0.023555f, -0.026396f, -0.028594f, -0.030103f, -0.030901f, -0.030982f, -0.030365f, -0.029084f, -0.027193f, -0.024763f, -0.021877f, -0.018627f, -0.015116f, -0.011448f, -0.007729f, -0.004061f, -0.000542f, 0.002741f, 0.005712f, 0.008307f, 0.010480f, 0.012198f, 0.013448f, 0.014232f, 0.014568f, 0.014488f, 0.014039f, 0.013276f, 0.012265f, 0.011077f, 0.009785f, 0.008463f, 0.007182f, 0.006009f, 0.005001f, 0.004208f, 0.003667f, 0.003405f, 0.003434f, 0.003755f, 0.004356f, 0.005213f, 0.006292f, 0.007550f, 0.008939f, 0.010403f, 0.011886f, 0.013333f, 0.014688f, 0.015902f, 0.016932f, 0.017741f, 0.018302f, 0.018600f, 0.018628f, 0.018389f, 0.017899f, 0.017180f, 0.016263f, 0.015189f, 0.013998f, 0.012738f, 0.011455f, 0.010197f, 0.009007f, 0.007923f, 0.006979f, 0.006200f, 0.005604f, 0.005199f, 0.004984f, 0.004949f, 0.005075f, 0.005338f, 0.005705f, 0.006139f, 0.006600f, 0.007047f, 0.007439f, 0.007738f, 0.007910f, 0.007927f, 0.007767f, 0.007417f, 0.006874f, 0.006142f, 0.005236f, 0.004179f, 0.003004f, 0.001749f, 0.000459f, + -0.000818f, -0.002032f, -0.003131f, -0.004065f, -0.004790f, -0.005264f, -0.005455f, -0.005338f, -0.004898f, -0.004130f, -0.003042f, -0.001649f, 0.000020f, 0.001928f, 0.004029f, 0.006271f, 0.008594f, 0.010936f, 0.013233f, 0.015422f, 0.017441f, 0.019234f, 0.020751f, 0.021948f, 0.022792f, 0.023260f, 0.023339f, 0.023028f, 0.022334f, 0.021278f, 0.019890f, 0.018206f, 0.016271f, 0.014137f, 0.011857f, 0.009488f, 0.007087f, 0.004707f, 0.002402f, 0.000219f, -0.001802f, -0.003625f, -0.005223f, -0.006579f, -0.007681f, -0.008525f, -0.009118f, -0.009470f, -0.009597f, -0.009522f, -0.009269f, -0.008865f, -0.008338f, -0.007716f, -0.007025f, -0.006287f, -0.005524f, -0.004752f, -0.003983f, -0.003226f, -0.002485f, -0.001761f, -0.001050f, -0.000349f, 0.000798f, -0.022608f, 0.029290f, 0.010754f, 0.033745f, -0.056416f, 0.012564f, -0.025145f, -0.039111f, 0.009475f, 0.087132f, 0.034345f, 0.050271f, 0.055360f, 0.033369f, 0.029722f, 0.043641f, 0.147217f, 0.145766f, -0.095509f, -0.073279f, 0.078979f, 0.072582f, 0.059506f, -0.050192f, -0.013124f, -0.063172f, -0.060244f, -0.020264f, 0.048458f, 0.087877f, -0.022581f, + -0.078489f, -0.024945f, 0.048310f, 0.079037f, 0.078327f, 0.003655f, -0.050125f, -0.032420f, 0.019079f, 0.040126f, 0.023291f, 0.013937f, -0.072645f, -0.044753f, -0.050742f, -0.023459f, -0.052839f, 0.011511f, 0.054459f, 0.080019f, -0.061848f, -0.033169f, -0.111716f, 0.006452f, 0.040085f, 0.117089f, -0.002984f, 0.075402f, -0.102498f, -0.083120f, 0.005264f, 0.122676f, 0.052329f, 0.150099f, 0.096037f, -0.032499f, -0.105663f, -0.099683f, -0.053576f, 0.040849f, 0.085621f, -0.012670f, -0.024627f, -0.075403f, -0.149701f, -0.147335f, 0.040066f, 0.235083f, 0.257166f, 0.129050f, -0.118997f, -0.271508f, -0.194114f, -0.009602f, 0.209841f, 0.210054f, 0.126052f, -0.121489f, -0.184259f, -0.252540f, -0.122876f, 0.170446f, 0.241755f, 0.138102f, -0.083143f, -0.205561f, -0.113596f, 0.046416f, 0.139492f, 0.115677f, -0.043339f, -0.167817f, -0.124128f, 0.048838f, 0.212727f, 0.241182f, 0.025151f, -0.224988f, -0.262230f, -0.025929f, 0.184648f, 0.355649f, 0.338647f, -0.091475f, -0.359634f, -0.270936f, 0.035513f, 0.312107f, 0.338017f, 0.167326f, -0.083554f, -0.320453f, -0.251326f, -0.066371f, 0.201620f, 0.262253f, + 0.181611f, -0.085509f, -0.219784f, -0.194721f, -0.002556f, 0.163824f, 0.200978f, 0.010282f, -0.156332f, -0.163656f, -0.041784f, 0.137059f, 0.177173f, -0.017919f, -0.159069f, -0.205658f, -0.078000f, 0.099218f, 0.263550f, 0.161633f, -0.058418f, -0.232437f, -0.217229f, -0.074059f, 0.127299f, 0.238100f, 0.208174f, 0.001426f, -0.078885f, -0.054832f, -0.003657f, -0.006916f} + }, + { + {-0.000655f, -0.001951f, -0.003209f, -0.004401f, -0.005506f, -0.006501f, -0.007370f, -0.008098f, -0.008674f, -0.009092f, -0.009349f, -0.009447f, -0.009392f, -0.009192f, -0.008861f, -0.008413f, -0.007867f, -0.007241f, -0.006556f, -0.005831f, -0.005086f, -0.004340f, -0.003609f, -0.002907f, -0.002246f, -0.001635f, -0.001078f, -0.000576f, -0.000128f, 0.000272f, 0.000631f, 0.000961f, 0.001275f, 0.001587f, 0.001912f, 0.002266f, 0.002663f, 0.003117f, 0.003641f, 0.004243f, 0.004929f, 0.005702f, 0.006561f, 0.007500f, 0.008510f, 0.009577f, 0.010685f, 0.011813f, 0.012936f, 0.014030f, 0.015066f, 0.016015f, 0.016850f, 0.017543f, 0.018067f, 0.018399f, 0.018519f, 0.018410f, 0.018062f, 0.017467f, 0.016625f, 0.015540f, 0.014224f, 0.012691f, 0.010964f, 0.009068f, 0.007035f, 0.004897f, 0.002693f, 0.000460f, -0.001761f, -0.003932f, -0.006014f, -0.007971f, -0.009770f, -0.011382f, -0.012783f, -0.013952f, -0.014877f, -0.015550f, -0.015970f, -0.016141f, -0.016074f, -0.015786f, -0.015296f, -0.014631f, -0.013819f, -0.012893f, -0.011885f, -0.010830f, -0.009761f, -0.008710f, -0.007708f, -0.006783f, -0.005956f, -0.005247f, + -0.004670f, -0.004234f, -0.003942f, -0.003791f, -0.003774f, -0.003880f, -0.004090f, -0.004385f, -0.004740f, -0.005131f, -0.005529f, -0.005908f, -0.006240f, -0.006500f, -0.006665f, -0.006715f, -0.006634f, -0.006411f, -0.006038f, -0.005514f, -0.004844f, -0.004035f, -0.003103f, -0.002066f, -0.000946f, 0.000230f, 0.001433f, 0.002634f, 0.003800f, 0.004900f, 0.005904f, 0.006784f, 0.007514f, 0.008074f, 0.008446f, 0.008617f, 0.008582f, 0.008340f, 0.007894f, 0.007257f, 0.006443f, 0.005474f, 0.004377f, 0.003179f, 0.001914f, 0.000616f, -0.000680f, -0.001937f, -0.003122f, -0.004202f, -0.005146f, -0.005929f, -0.006530f, -0.006932f, -0.007125f, -0.007104f, -0.006870f, -0.006432f, -0.005803f, -0.005002f, -0.004053f, -0.002984f, -0.001826f, -0.000615f, 0.005093f, -0.003646f, -0.000283f, -0.012014f, 0.033903f, 0.010066f, -0.043003f, 0.017081f, 0.005267f, 0.036821f, 0.008218f, -0.072431f, -0.028385f, -0.045756f, -0.098015f, 0.018919f, 0.099508f, 0.089873f, 0.087904f, -0.043867f, 0.009214f, 0.077701f, 0.086341f, 0.052898f, -0.020283f, -0.049260f, -0.021028f, -0.073031f, -0.066609f, -0.060330f, 0.034773f, 0.126218f, + 0.009288f, 0.017068f, 0.007110f, -0.048477f, -0.072624f, 0.044341f, 0.081520f, 0.108391f, 0.076852f, 0.023860f, -0.048001f, -0.063067f, -0.036730f, 0.005377f, 0.028787f, 0.039442f, -0.031959f, -0.036245f, -0.032095f, -0.022097f, -0.032694f, 0.143925f, 0.004623f, 0.061316f, -0.000865f, -0.056275f, -0.151972f, 0.084433f, 0.015088f, 0.049121f, 0.081787f, -0.027886f, -0.078970f, -0.106931f, 0.041302f, 0.078896f, 0.055445f, 0.005969f, -0.048255f, -0.041803f, -0.088581f, -0.097071f, 0.016601f, 0.098597f, 0.051414f, -0.118811f, -0.102804f, -0.048753f, -0.056937f, 0.010149f, 0.073083f, 0.041621f, -0.102317f, -0.124038f, -0.011932f, 0.202729f, 0.301995f, 0.162765f, -0.069694f, -0.219647f, -0.225042f, -0.052172f, 0.157848f, 0.184314f, 0.053627f, -0.060592f, -0.088058f, -0.033560f, 0.025667f, 0.049639f, 0.022726f, 0.020269f, -0.062520f, -0.075378f, -0.031814f, 0.014830f, 0.112040f, 0.131902f, 0.143188f, -0.015498f, -0.156012f, -0.189801f, 0.059376f, 0.034389f, 0.093034f, 0.127071f, 0.072857f, -0.005818f, -0.148545f, -0.039841f, 0.063216f, 0.100603f, 0.158258f, 0.015227f, -0.074849f, -0.120711f, + -0.125667f, -0.104225f, 0.072503f, 0.194413f, 0.257993f, 0.084344f, -0.131001f, -0.335068f, -0.219043f, 0.003901f, 0.213622f, 0.251721f, 0.141389f, -0.119509f, -0.252400f, -0.239874f, -0.021656f, 0.182933f, 0.283543f, 0.086681f, -0.201864f, -0.256839f, -0.176503f, 0.010550f, 0.207102f, 0.221211f, 0.088061f, -0.058597f, -0.064795f, -0.023744f, -0.001035f, -0.002587f}, + {-0.000655f, -0.001951f, -0.003209f, -0.004401f, -0.005506f, -0.006501f, -0.007370f, -0.008098f, -0.008674f, -0.009092f, -0.009349f, -0.009447f, -0.009392f, -0.009192f, -0.008861f, -0.008413f, -0.007867f, -0.007241f, -0.006556f, -0.005831f, -0.005086f, -0.004340f, -0.003609f, -0.002907f, -0.002246f, -0.001635f, -0.001078f, -0.000576f, -0.000128f, 0.000272f, 0.000631f, 0.000961f, 0.001275f, 0.001587f, 0.001912f, 0.002266f, 0.002663f, 0.003117f, 0.003641f, 0.004243f, 0.004929f, 0.005702f, 0.006561f, 0.007500f, 0.008510f, 0.009577f, 0.010685f, 0.011813f, 0.012936f, 0.014030f, 0.015066f, 0.016015f, 0.016850f, 0.017543f, 0.018067f, 0.018399f, 0.018519f, 0.018410f, 0.018062f, 0.017467f, 0.016625f, 0.015540f, 0.014224f, 0.012691f, 0.010964f, 0.009068f, 0.007035f, 0.004897f, 0.002693f, 0.000460f, -0.001761f, -0.003932f, -0.006014f, -0.007971f, -0.009770f, -0.011382f, -0.012783f, -0.013952f, -0.014877f, -0.015550f, -0.015970f, -0.016141f, -0.016074f, -0.015786f, -0.015296f, -0.014631f, -0.013819f, -0.012893f, -0.011885f, -0.010830f, -0.009761f, -0.008710f, -0.007708f, -0.006783f, -0.005956f, -0.005247f, + -0.004670f, -0.004234f, -0.003942f, -0.003791f, -0.003774f, -0.003880f, -0.004090f, -0.004385f, -0.004740f, -0.005131f, -0.005529f, -0.005908f, -0.006240f, -0.006500f, -0.006665f, -0.006715f, -0.006634f, -0.006411f, -0.006038f, -0.005514f, -0.004844f, -0.004035f, -0.003103f, -0.002066f, -0.000946f, 0.000230f, 0.001433f, 0.002634f, 0.003800f, 0.004900f, 0.005904f, 0.006784f, 0.007514f, 0.008074f, 0.008446f, 0.008617f, 0.008582f, 0.008340f, 0.007894f, 0.007257f, 0.006443f, 0.005474f, 0.004377f, 0.003179f, 0.001914f, 0.000616f, -0.000680f, -0.001937f, -0.003122f, -0.004202f, -0.005146f, -0.005929f, -0.006530f, -0.006932f, -0.007125f, -0.007104f, -0.006870f, -0.006432f, -0.005803f, -0.005002f, -0.004053f, -0.002984f, -0.001826f, -0.000615f, 0.005093f, -0.003646f, -0.000283f, -0.012014f, 0.033903f, 0.010066f, -0.043003f, 0.017081f, 0.005267f, 0.036821f, 0.008218f, -0.072431f, -0.028385f, -0.045756f, -0.098015f, 0.018919f, 0.099508f, 0.089873f, 0.087904f, -0.043867f, 0.009214f, 0.077701f, 0.086341f, 0.052898f, -0.020283f, -0.049260f, -0.021028f, -0.073031f, -0.066609f, -0.060330f, 0.034773f, 0.126218f, + 0.009288f, 0.017068f, 0.007110f, -0.048477f, -0.072624f, 0.044341f, 0.081520f, 0.108391f, 0.076852f, 0.023860f, -0.048001f, -0.063067f, -0.036730f, 0.005377f, 0.028787f, 0.039442f, -0.031959f, -0.036245f, -0.032095f, -0.022097f, -0.032694f, 0.143925f, 0.004623f, 0.061316f, -0.000865f, -0.056275f, -0.151972f, 0.084433f, 0.015088f, 0.049121f, 0.081787f, -0.027886f, -0.078970f, -0.106931f, 0.041302f, 0.078896f, 0.055445f, 0.005969f, -0.048255f, -0.041803f, -0.088581f, -0.097071f, 0.016601f, 0.098597f, 0.051414f, -0.118811f, -0.102804f, -0.048753f, -0.056937f, 0.010149f, 0.073083f, 0.041621f, -0.102317f, -0.124038f, -0.011932f, 0.202729f, 0.301995f, 0.162765f, -0.069694f, -0.219647f, -0.225042f, -0.052172f, 0.157848f, 0.184314f, 0.053627f, -0.060592f, -0.088058f, -0.033560f, 0.025667f, 0.049639f, 0.022726f, 0.020269f, -0.062520f, -0.075378f, -0.031814f, 0.014830f, 0.112040f, 0.131902f, 0.143188f, -0.015498f, -0.156012f, -0.189801f, 0.059376f, 0.034389f, 0.093034f, 0.127071f, 0.072857f, -0.005818f, -0.148545f, -0.039841f, 0.063216f, 0.100603f, 0.158258f, 0.015227f, -0.074849f, -0.120711f, + -0.125667f, -0.104225f, 0.072503f, 0.194413f, 0.257993f, 0.084344f, -0.131001f, -0.335068f, -0.219043f, 0.003901f, 0.213622f, 0.251721f, 0.141389f, -0.119509f, -0.252400f, -0.239874f, -0.021656f, 0.182933f, 0.283543f, 0.086681f, -0.201864f, -0.256839f, -0.176503f, 0.010550f, 0.207102f, 0.221211f, 0.088061f, -0.058597f, -0.064795f, -0.023744f, -0.001035f, -0.002587f} + } +}; +const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]={NULL,NULL}; + +/********************** Sample Rate = 16000 **********************/ + +const float CRendBin_HOA3_HRIR_latency_s_16kHz = 0.001333333319053f; +const int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz = 2; +const uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[16][BINAURAL_CHANNELS]={{2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2}, {2, 2} }; +const uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {0, 0}; +const uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[16][BINAURAL_CHANNELS][2]={{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}},{{80, 80},{80, 80}}}; +const uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz = 0; +const float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[16]={0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f}; +const uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][160]={ + { + {-0.007698f, -0.007490f, -0.007083f, -0.006489f, -0.005730f, -0.004832f, -0.003826f, -0.002746f, -0.001630f, -0.000515f, 0.000560f, 0.001561f, 0.002454f, 0.003210f, 0.003807f, 0.004225f, 0.004456f, 0.004495f, 0.004344f, 0.004015f, 0.003524f, 0.002893f, 0.002150f, 0.001327f, 0.000457f, -0.000424f, -0.001279f, -0.002075f, -0.002778f, -0.003360f, -0.003797f, -0.004070f, -0.004166f, -0.004079f, -0.003811f, -0.003367f, -0.002762f, -0.002015f, -0.001149f, -0.000193f, 0.000821f, 0.001862f, 0.002895f, 0.003887f, 0.004808f, 0.005630f, 0.006328f, 0.006883f, 0.007281f, 0.007514f, 0.007580f, 0.007483f, 0.007232f, 0.006843f, 0.006334f, 0.005728f, 0.005052f, 0.004333f, 0.003600f, 0.002879f, 0.002198f, 0.001579f, 0.001044f, 0.000609f, 0.000284f, 0.000076f, -0.000012f, 0.000014f, 0.000147f, 0.000373f, 0.000677f, 0.001039f, 0.001437f, 0.001850f, 0.002254f, 0.002628f, 0.002954f, 0.003214f, 0.003395f, 0.003487f, 0.873088f, 0.114402f, -0.664115f, -0.828857f, -0.404687f, 0.287627f, 0.776007f, 0.683901f, 0.183866f, -0.494594f, -0.847280f, -0.702624f, -0.171571f, 0.553333f, 0.801950f, 0.560626f, + -0.071445f, -0.623912f, -0.782793f, -0.390473f, 0.213570f, 0.698180f, 0.688426f, 0.203425f, -0.391493f, -0.711773f, -0.534531f, -0.009874f, 0.514367f, 0.683640f, 0.397707f, -0.158462f, -0.613228f, -0.650165f, -0.250501f, 0.313126f, 0.665665f, 0.565230f, 0.100249f, -0.424351f, -0.613182f, -0.605940f, -0.121612f, 0.438429f, 0.714441f, 0.472475f, -0.085594f, -0.591355f, -0.677742f, -0.304361f, 0.277793f, 0.670506f, 0.600885f, 0.111407f, -0.452561f, -0.697177f, -0.456348f, 0.074105f, 0.528714f, 0.616475f, 0.267734f, -0.257343f, -0.598948f, -0.539488f, -0.093337f, 0.455552f, 0.668938f, 0.441368f, -0.105273f, -0.561401f, -0.650789f, -0.285248f, 0.272664f, 0.653204f, 0.594723f, 0.152718f, -0.397975f, -0.501182f, -0.136747f, -0.047847f}, + {-0.007698f, -0.007490f, -0.007083f, -0.006489f, -0.005730f, -0.004832f, -0.003826f, -0.002746f, -0.001630f, -0.000515f, 0.000560f, 0.001561f, 0.002454f, 0.003210f, 0.003807f, 0.004225f, 0.004456f, 0.004495f, 0.004344f, 0.004015f, 0.003524f, 0.002893f, 0.002150f, 0.001327f, 0.000457f, -0.000424f, -0.001279f, -0.002075f, -0.002778f, -0.003360f, -0.003797f, -0.004070f, -0.004166f, -0.004079f, -0.003811f, -0.003367f, -0.002762f, -0.002015f, -0.001149f, -0.000193f, 0.000821f, 0.001862f, 0.002895f, 0.003887f, 0.004808f, 0.005630f, 0.006328f, 0.006883f, 0.007281f, 0.007514f, 0.007580f, 0.007483f, 0.007232f, 0.006843f, 0.006334f, 0.005728f, 0.005052f, 0.004333f, 0.003600f, 0.002879f, 0.002198f, 0.001579f, 0.001044f, 0.000609f, 0.000284f, 0.000076f, -0.000012f, 0.000014f, 0.000147f, 0.000373f, 0.000677f, 0.001039f, 0.001437f, 0.001850f, 0.002254f, 0.002628f, 0.002954f, 0.003214f, 0.003395f, 0.003487f, 0.873088f, 0.114402f, -0.664115f, -0.828857f, -0.404687f, 0.287627f, 0.776007f, 0.683901f, 0.183866f, -0.494594f, -0.847280f, -0.702624f, -0.171571f, 0.553333f, 0.801950f, 0.560626f, + -0.071445f, -0.623912f, -0.782793f, -0.390473f, 0.213570f, 0.698180f, 0.688426f, 0.203425f, -0.391493f, -0.711773f, -0.534531f, -0.009874f, 0.514367f, 0.683640f, 0.397707f, -0.158462f, -0.613228f, -0.650165f, -0.250501f, 0.313126f, 0.665665f, 0.565230f, 0.100249f, -0.424351f, -0.613182f, -0.605940f, -0.121612f, 0.438429f, 0.714441f, 0.472475f, -0.085594f, -0.591355f, -0.677742f, -0.304361f, 0.277793f, 0.670506f, 0.600885f, 0.111407f, -0.452561f, -0.697177f, -0.456348f, 0.074105f, 0.528714f, 0.616475f, 0.267734f, -0.257343f, -0.598948f, -0.539488f, -0.093337f, 0.455552f, 0.668938f, 0.441368f, -0.105273f, -0.561401f, -0.650789f, -0.285248f, 0.272664f, 0.653204f, 0.594723f, 0.152718f, -0.397975f, -0.501182f, -0.136747f, -0.047847f} + }, + { + {0.000979f, 0.000859f, 0.000628f, 0.000303f, -0.000093f, -0.000529f, -0.000968f, -0.001372f, -0.001699f, -0.001911f, -0.001967f, -0.001834f, -0.001483f, -0.000892f, -0.000050f, 0.001049f, 0.002396f, 0.003976f, 0.005761f, 0.007716f, 0.009796f, 0.011949f, 0.014118f, 0.016243f, 0.018261f, 0.020110f, 0.021733f, 0.023075f, 0.024089f, 0.024736f, 0.024990f, 0.024832f, 0.024257f, 0.023273f, 0.021899f, 0.020167f, 0.018118f, 0.015803f, 0.013282f, 0.010620f, 0.007886f, 0.005150f, 0.002483f, -0.000050f, -0.002385f, -0.004470f, -0.006257f, -0.007712f, -0.008809f, -0.009536f, -0.009892f, -0.009888f, -0.009546f, -0.008897f, -0.007982f, -0.006849f, -0.005551f, -0.004142f, -0.002679f, -0.001219f, 0.000187f, 0.001491f, 0.002652f, 0.003637f, 0.004422f, 0.004992f, 0.005341f, 0.005476f, 0.005408f, 0.005160f, 0.004761f, 0.004243f, 0.003646f, 0.003008f, 0.002371f, 0.001772f, 0.001246f, 0.000823f, 0.000528f, 0.000376f, 0.101304f, 0.339648f, 0.252777f, -0.393513f, -0.864314f, -0.541937f, 0.347878f, 0.907725f, 0.674223f, 0.029188f, -0.333092f, -0.699853f, -0.238588f, 0.263380f, 0.598306f, 0.464099f, + 0.107903f, -0.429695f, -0.591349f, -0.410488f, 0.074892f, 0.451542f, 0.601242f, 0.261686f, -0.273703f, -0.612053f, -0.496067f, -0.123218f, 0.373495f, 0.621420f, 0.456977f, 0.034825f, -0.488382f, -0.663918f, -0.417587f, 0.141872f, 0.609117f, 0.748454f, 0.312259f, -0.330994f, -0.816255f, -0.565065f, 0.018068f, 0.618044f, 0.795873f, 0.435300f, -0.250077f, -0.750399f, -0.726031f, -0.187310f, 0.429070f, 0.772695f, 0.575337f, 0.009608f, -0.605531f, -0.758946f, -0.427578f, 0.191705f, 0.625802f, 0.667829f, 0.214816f, -0.367542f, -0.715600f, -0.575407f, -0.066289f, 0.456607f, 0.808964f, 0.615571f, -0.008032f, -0.631988f, -0.815117f, -0.462997f, 0.234557f, 0.763803f, 0.807672f, 0.306931f, -0.408833f, -0.618503f, -0.218248f, -0.076060f}, + {-0.000979f, -0.000859f, -0.000628f, -0.000303f, 0.000093f, 0.000529f, 0.000968f, 0.001372f, 0.001699f, 0.001911f, 0.001967f, 0.001834f, 0.001483f, 0.000892f, 0.000050f, -0.001049f, -0.002396f, -0.003976f, -0.005761f, -0.007716f, -0.009796f, -0.011949f, -0.014118f, -0.016243f, -0.018261f, -0.020110f, -0.021733f, -0.023075f, -0.024089f, -0.024736f, -0.024990f, -0.024832f, -0.024257f, -0.023273f, -0.021899f, -0.020167f, -0.018118f, -0.015803f, -0.013282f, -0.010620f, -0.007886f, -0.005150f, -0.002483f, 0.000050f, 0.002385f, 0.004470f, 0.006257f, 0.007712f, 0.008809f, 0.009536f, 0.009892f, 0.009888f, 0.009546f, 0.008897f, 0.007982f, 0.006849f, 0.005551f, 0.004142f, 0.002679f, 0.001219f, -0.000187f, -0.001491f, -0.002652f, -0.003637f, -0.004422f, -0.004992f, -0.005341f, -0.005476f, -0.005408f, -0.005160f, -0.004761f, -0.004243f, -0.003646f, -0.003008f, -0.002371f, -0.001772f, -0.001246f, -0.000823f, -0.000528f, -0.000376f, -0.101304f, -0.339648f, -0.252777f, 0.393513f, 0.864314f, 0.541937f, -0.347878f, -0.907725f, -0.674223f, -0.029188f, 0.333092f, 0.699853f, 0.238588f, -0.263380f, -0.598306f, -0.464099f, + -0.107903f, 0.429695f, 0.591349f, 0.410488f, -0.074892f, -0.451542f, -0.601242f, -0.261686f, 0.273703f, 0.612053f, 0.496067f, 0.123218f, -0.373495f, -0.621420f, -0.456977f, -0.034825f, 0.488382f, 0.663918f, 0.417587f, -0.141872f, -0.609117f, -0.748454f, -0.312259f, 0.330994f, 0.816255f, 0.565065f, -0.018068f, -0.618044f, -0.795873f, -0.435300f, 0.250077f, 0.750399f, 0.726031f, 0.187310f, -0.429070f, -0.772695f, -0.575337f, -0.009608f, 0.605531f, 0.758946f, 0.427578f, -0.191705f, -0.625802f, -0.667829f, -0.214816f, 0.367542f, 0.715600f, 0.575407f, 0.066289f, -0.456607f, -0.808964f, -0.615571f, 0.008032f, 0.631988f, 0.815117f, 0.462997f, -0.234557f, -0.763803f, -0.807672f, -0.306931f, 0.408833f, 0.618503f, 0.218248f, 0.076060f} + }, + { + {0.062484f, 0.062132f, 0.061426f, 0.060364f, 0.058943f, 0.057161f, 0.055018f, 0.052514f, 0.049655f, 0.046449f, 0.042913f, 0.039069f, 0.034946f, 0.030583f, 0.026026f, 0.021329f, 0.016555f, 0.011772f, 0.007057f, 0.002488f, -0.001854f, -0.005886f, -0.009530f, -0.012711f, -0.015360f, -0.017419f, -0.018840f, -0.019589f, -0.019649f, -0.019014f, -0.017700f, -0.015738f, -0.013176f, -0.010076f, -0.006518f, -0.002592f, 0.001601f, 0.005953f, 0.010350f, 0.014679f, 0.018826f, 0.022686f, 0.026161f, 0.029164f, 0.031622f, 0.033479f, 0.034699f, 0.035260f, 0.035166f, 0.034435f, 0.033108f, 0.031239f, 0.028902f, 0.026180f, 0.023168f, 0.019967f, 0.016682f, 0.013417f, 0.010273f, 0.007344f, 0.004715f, 0.002454f, 0.000620f, -0.000749f, -0.001632f, -0.002024f, -0.001940f, -0.001411f, -0.000486f, 0.000776f, 0.002302f, 0.004012f, 0.005822f, 0.007645f, 0.009395f, 0.010992f, 0.012364f, 0.013450f, 0.014202f, 0.014586f, 0.022958f, -0.049893f, -0.209171f, -0.183077f, 0.073972f, 0.005048f, -0.168993f, -0.204974f, -0.247823f, -0.228010f, -0.107469f, 0.270264f, 0.121968f, 0.080084f, 0.213218f, -0.012303f, + -0.082492f, -0.141268f, -0.038249f, -0.032065f, 0.084166f, 0.151523f, 0.248608f, 0.071240f, -0.135437f, -0.187353f, 0.026434f, 0.160893f, 0.225170f, 0.119884f, -0.023092f, -0.225645f, -0.171771f, -0.058959f, 0.174948f, 0.239644f, 0.157424f, -0.083437f, -0.169510f, -0.176581f, 0.037238f, -0.197171f, -0.146337f, -0.004115f, 0.184486f, 0.191645f, 0.077263f, -0.126621f, -0.232975f, -0.206877f, 0.053405f, 0.249289f, 0.303806f, 0.143482f, -0.141705f, -0.396307f, -0.325906f, 0.013674f, 0.412100f, 0.513794f, 0.285338f, -0.184442f, -0.497306f, -0.491586f, -0.061807f, 0.391423f, 0.463816f, 0.126103f, -0.302822f, -0.488148f, -0.285776f, 0.108766f, 0.379058f, 0.389034f, 0.065148f, -0.245125f, -0.346104f, -0.137250f, 0.068615f, 0.025104f}, + {0.062484f, 0.062132f, 0.061426f, 0.060364f, 0.058943f, 0.057161f, 0.055018f, 0.052514f, 0.049655f, 0.046449f, 0.042913f, 0.039069f, 0.034946f, 0.030583f, 0.026026f, 0.021329f, 0.016555f, 0.011772f, 0.007057f, 0.002488f, -0.001854f, -0.005886f, -0.009530f, -0.012711f, -0.015360f, -0.017419f, -0.018840f, -0.019589f, -0.019649f, -0.019014f, -0.017700f, -0.015738f, -0.013176f, -0.010076f, -0.006518f, -0.002592f, 0.001601f, 0.005953f, 0.010350f, 0.014679f, 0.018826f, 0.022686f, 0.026161f, 0.029164f, 0.031622f, 0.033479f, 0.034699f, 0.035260f, 0.035166f, 0.034435f, 0.033108f, 0.031239f, 0.028902f, 0.026180f, 0.023168f, 0.019967f, 0.016682f, 0.013417f, 0.010273f, 0.007344f, 0.004715f, 0.002454f, 0.000620f, -0.000749f, -0.001632f, -0.002024f, -0.001940f, -0.001411f, -0.000486f, 0.000776f, 0.002302f, 0.004012f, 0.005822f, 0.007645f, 0.009395f, 0.010992f, 0.012364f, 0.013450f, 0.014202f, 0.014586f, 0.022958f, -0.049893f, -0.209171f, -0.183077f, 0.073972f, 0.005048f, -0.168993f, -0.204974f, -0.247823f, -0.228010f, -0.107469f, 0.270264f, 0.121968f, 0.080084f, 0.213218f, -0.012303f, + -0.082492f, -0.141268f, -0.038249f, -0.032065f, 0.084166f, 0.151523f, 0.248608f, 0.071240f, -0.135437f, -0.187353f, 0.026434f, 0.160893f, 0.225170f, 0.119884f, -0.023092f, -0.225645f, -0.171771f, -0.058959f, 0.174948f, 0.239644f, 0.157424f, -0.083437f, -0.169510f, -0.176581f, 0.037238f, -0.197171f, -0.146337f, -0.004115f, 0.184486f, 0.191645f, 0.077263f, -0.126621f, -0.232975f, -0.206877f, 0.053405f, 0.249289f, 0.303806f, 0.143482f, -0.141705f, -0.396307f, -0.325906f, 0.013674f, 0.412100f, 0.513794f, 0.285338f, -0.184442f, -0.497306f, -0.491586f, -0.061807f, 0.391423f, 0.463816f, 0.126103f, -0.302822f, -0.488148f, -0.285776f, 0.108766f, 0.379058f, 0.389034f, 0.065148f, -0.245125f, -0.346104f, -0.137250f, 0.068615f, 0.025104f} + }, + { + {0.057111f, 0.056250f, 0.054553f, 0.052067f, 0.048864f, 0.045033f, 0.040682f, 0.035931f, 0.030910f, 0.025755f, 0.020601f, 0.015580f, 0.010819f, 0.006430f, 0.002512f, -0.000855f, -0.003609f, -0.005712f, -0.007148f, -0.007921f, -0.008060f, -0.007613f, -0.006645f, -0.005236f, -0.003482f, -0.001483f, 0.000655f, 0.002823f, 0.004917f, 0.006840f, 0.008502f, 0.009830f, 0.010762f, 0.011256f, 0.011286f, 0.010845f, 0.009946f, 0.008617f, 0.006903f, 0.004863f, 0.002566f, 0.000091f, -0.002479f, -0.005057f, -0.007559f, -0.009903f, -0.012017f, -0.013836f, -0.015308f, -0.016394f, -0.017068f, -0.017319f, -0.017154f, -0.016589f, -0.015656f, -0.014398f, -0.012866f, -0.011118f, -0.009219f, -0.007232f, -0.005221f, -0.003248f, -0.001369f, 0.000369f, 0.001925f, 0.003271f, 0.004388f, 0.005268f, 0.005913f, 0.006336f, 0.006558f, 0.006608f, 0.006518f, 0.006326f, 0.006071f, 0.005790f, 0.005517f, 0.005284f, 0.005115f, 0.005026f, 0.050263f, 0.048416f, -0.032945f, -0.133132f, -0.051928f, 0.062074f, -0.065995f, -0.088821f, -0.087160f, -0.054059f, -0.271541f, 0.097281f, -0.267727f, -0.263532f, 0.129059f, 0.546682f, + 0.617193f, 0.273608f, -0.175130f, -0.532891f, -0.554510f, -0.046712f, 0.546091f, 0.739987f, 0.436759f, -0.182178f, -0.702202f, -0.782010f, -0.180699f, 0.531728f, 0.908302f, 0.573031f, -0.136258f, -0.738541f, -0.744864f, -0.232703f, 0.429545f, 0.758458f, 0.445898f, -0.113039f, -0.698934f, -0.284378f, 0.198267f, 0.552864f, 0.525436f, 0.168161f, -0.281458f, -0.510027f, -0.416623f, -0.034099f, 0.339007f, 0.440450f, 0.258996f, -0.071709f, -0.323488f, -0.348190f, -0.140564f, 0.105708f, 0.283677f, 0.270582f, 0.079276f, -0.147708f, -0.285929f, -0.206381f, -0.023550f, 0.103586f, 0.316081f, 0.237749f, 0.036797f, -0.218107f, -0.224030f, -0.070507f, 0.116657f, 0.182062f, 0.109038f, -0.045436f, -0.141025f, -0.044537f, 0.014158f, 0.007622f}, + {0.057111f, 0.056250f, 0.054553f, 0.052067f, 0.048864f, 0.045033f, 0.040682f, 0.035931f, 0.030910f, 0.025755f, 0.020601f, 0.015580f, 0.010819f, 0.006430f, 0.002512f, -0.000855f, -0.003609f, -0.005712f, -0.007148f, -0.007921f, -0.008060f, -0.007613f, -0.006645f, -0.005236f, -0.003482f, -0.001483f, 0.000655f, 0.002823f, 0.004917f, 0.006840f, 0.008502f, 0.009830f, 0.010762f, 0.011256f, 0.011286f, 0.010845f, 0.009946f, 0.008617f, 0.006903f, 0.004863f, 0.002566f, 0.000091f, -0.002479f, -0.005057f, -0.007559f, -0.009903f, -0.012017f, -0.013836f, -0.015308f, -0.016394f, -0.017068f, -0.017319f, -0.017154f, -0.016589f, -0.015656f, -0.014398f, -0.012866f, -0.011118f, -0.009219f, -0.007232f, -0.005221f, -0.003248f, -0.001369f, 0.000369f, 0.001925f, 0.003271f, 0.004388f, 0.005268f, 0.005913f, 0.006336f, 0.006558f, 0.006608f, 0.006518f, 0.006326f, 0.006071f, 0.005790f, 0.005517f, 0.005284f, 0.005115f, 0.005026f, 0.050263f, 0.048416f, -0.032945f, -0.133132f, -0.051928f, 0.062074f, -0.065995f, -0.088821f, -0.087160f, -0.054059f, -0.271541f, 0.097281f, -0.267727f, -0.263532f, 0.129059f, 0.546682f, + 0.617193f, 0.273608f, -0.175130f, -0.532891f, -0.554510f, -0.046712f, 0.546091f, 0.739987f, 0.436759f, -0.182178f, -0.702202f, -0.782010f, -0.180699f, 0.531728f, 0.908302f, 0.573031f, -0.136258f, -0.738541f, -0.744864f, -0.232703f, 0.429545f, 0.758458f, 0.445898f, -0.113039f, -0.698934f, -0.284378f, 0.198267f, 0.552864f, 0.525436f, 0.168161f, -0.281458f, -0.510027f, -0.416623f, -0.034099f, 0.339007f, 0.440450f, 0.258996f, -0.071709f, -0.323488f, -0.348190f, -0.140564f, 0.105708f, 0.283677f, 0.270582f, 0.079276f, -0.147708f, -0.285929f, -0.206381f, -0.023550f, 0.103586f, 0.316081f, 0.237749f, 0.036797f, -0.218107f, -0.224030f, -0.070507f, 0.116657f, 0.182062f, 0.109038f, -0.045436f, -0.141025f, -0.044537f, 0.014158f, 0.007622f} + }, + { + {0.041602f, 0.041394f, 0.040978f, 0.040354f, 0.039522f, 0.038480f, 0.037231f, 0.035778f, 0.034126f, 0.032282f, 0.030260f, 0.028074f, 0.025746f, 0.023299f, 0.020763f, 0.018173f, 0.015566f, 0.012983f, 0.010468f, 0.008068f, 0.005826f, 0.003789f, 0.001998f, 0.000491f, -0.000698f, -0.001545f, -0.002030f, -0.002144f, -0.001888f, -0.001272f, -0.000319f, 0.000942f, 0.002468f, 0.004209f, 0.006108f, 0.008100f, 0.010117f, 0.012086f, 0.013937f, 0.015600f, 0.017007f, 0.018100f, 0.018826f, 0.019144f, 0.019023f, 0.018444f, 0.017404f, 0.015911f, 0.013989f, 0.011673f, 0.009011f, 0.006063f, 0.002897f, -0.000411f, -0.003783f, -0.007135f, -0.010385f, -0.013456f, -0.016272f, -0.018768f, -0.020890f, -0.022592f, -0.023845f, -0.024631f, -0.024949f, -0.024813f, -0.024248f, -0.023296f, -0.022008f, -0.020448f, -0.018686f, -0.016797f, -0.014860f, -0.012953f, -0.011154f, -0.009534f, -0.008154f, -0.007071f, -0.006324f, -0.005944f, -0.009138f, -0.014208f, -0.012076f, -0.019963f, -0.085166f, -0.068669f, -0.075100f, 0.005656f, -0.068692f, -0.035429f, -0.114336f, 0.024991f, -0.100777f, -0.161590f, 0.089829f, 0.307021f, + 0.229967f, 0.193370f, -0.086257f, -0.256496f, -0.089551f, -0.069518f, 0.161084f, 0.143823f, 0.080564f, -0.108634f, -0.220026f, -0.183436f, 0.034413f, 0.217304f, 0.276501f, 0.149216f, -0.078653f, -0.378943f, -0.270365f, 0.111069f, 0.335609f, 0.322652f, 0.114550f, -0.213831f, -0.407765f, -0.119243f, 0.203755f, 0.360522f, 0.306272f, 0.030860f, -0.226497f, -0.290452f, -0.232556f, -0.083205f, 0.189825f, 0.256878f, 0.247384f, 0.006984f, -0.136156f, -0.288681f, -0.124020f, -0.012294f, 0.249563f, 0.283504f, 0.020125f, 0.007048f, -0.204243f, -0.263916f, -0.101428f, 0.189034f, 0.253534f, 0.124939f, -0.148221f, -0.315778f, -0.227382f, -0.002516f, 0.171087f, 0.305535f, 0.192294f, -0.067680f, -0.259825f, -0.171751f, 0.014589f, 0.007614f}, + {-0.041602f, -0.041394f, -0.040978f, -0.040354f, -0.039522f, -0.038480f, -0.037231f, -0.035778f, -0.034126f, -0.032282f, -0.030260f, -0.028074f, -0.025746f, -0.023299f, -0.020763f, -0.018173f, -0.015566f, -0.012983f, -0.010468f, -0.008068f, -0.005826f, -0.003789f, -0.001998f, -0.000491f, 0.000698f, 0.001545f, 0.002030f, 0.002144f, 0.001888f, 0.001272f, 0.000319f, -0.000942f, -0.002468f, -0.004209f, -0.006108f, -0.008100f, -0.010117f, -0.012086f, -0.013937f, -0.015600f, -0.017007f, -0.018100f, -0.018826f, -0.019144f, -0.019023f, -0.018444f, -0.017404f, -0.015911f, -0.013989f, -0.011673f, -0.009011f, -0.006063f, -0.002897f, 0.000411f, 0.003783f, 0.007135f, 0.010385f, 0.013456f, 0.016272f, 0.018768f, 0.020890f, 0.022592f, 0.023845f, 0.024631f, 0.024949f, 0.024813f, 0.024248f, 0.023296f, 0.022008f, 0.020448f, 0.018686f, 0.016797f, 0.014860f, 0.012953f, 0.011154f, 0.009534f, 0.008154f, 0.007071f, 0.006324f, 0.005944f, 0.009138f, 0.014208f, 0.012076f, 0.019963f, 0.085166f, 0.068669f, 0.075100f, -0.005656f, 0.068692f, 0.035429f, 0.114336f, -0.024991f, 0.100777f, 0.161590f, -0.089829f, -0.307021f, + -0.229967f, -0.193370f, 0.086257f, 0.256496f, 0.089551f, 0.069518f, -0.161084f, -0.143823f, -0.080564f, 0.108634f, 0.220026f, 0.183436f, -0.034413f, -0.217304f, -0.276501f, -0.149216f, 0.078653f, 0.378943f, 0.270365f, -0.111069f, -0.335609f, -0.322652f, -0.114550f, 0.213831f, 0.407765f, 0.119243f, -0.203755f, -0.360522f, -0.306272f, -0.030860f, 0.226497f, 0.290452f, 0.232556f, 0.083205f, -0.189825f, -0.256878f, -0.247384f, -0.006984f, 0.136156f, 0.288681f, 0.124020f, 0.012294f, -0.249563f, -0.283504f, -0.020125f, -0.007048f, 0.204243f, 0.263916f, 0.101428f, -0.189034f, -0.253534f, -0.124939f, 0.148221f, 0.315778f, 0.227382f, 0.002516f, -0.171087f, -0.305535f, -0.192294f, 0.067680f, 0.259825f, 0.171751f, -0.014589f, -0.007614f} + }, + { + {0.030389f, 0.030416f, 0.030464f, 0.030522f, 0.030576f, 0.030605f, 0.030589f, 0.030503f, 0.030321f, 0.030021f, 0.029580f, 0.028978f, 0.028201f, 0.027239f, 0.026088f, 0.024750f, 0.023236f, 0.021562f, 0.019750f, 0.017829f, 0.015834f, 0.013803f, 0.011776f, 0.009798f, 0.007909f, 0.006153f, 0.004567f, 0.003185f, 0.002036f, 0.001142f, 0.000515f, 0.000162f, 0.000080f, 0.000257f, 0.000673f, 0.001300f, 0.002104f, 0.003045f, 0.004077f, 0.005154f, 0.006229f, 0.007252f, 0.008179f, 0.008970f, 0.009587f, 0.010003f, 0.010196f, 0.010154f, 0.009874f, 0.009362f, 0.008633f, 0.007711f, 0.006626f, 0.005417f, 0.004125f, 0.002798f, 0.001483f, 0.000229f, -0.000919f, -0.001917f, -0.002728f, -0.003322f, -0.003675f, -0.003772f, -0.003608f, -0.003188f, -0.002524f, -0.001640f, -0.000566f, 0.000660f, 0.001995f, 0.003391f, 0.004799f, 0.006169f, 0.007450f, 0.008597f, 0.009568f, 0.010329f, 0.010852f, 0.011119f, -0.032862f, -0.047478f, -0.028036f, -0.016979f, -0.082054f, -0.040865f, -0.045119f, -0.101997f, -0.274631f, -0.111485f, 0.009384f, 0.201284f, -0.126425f, -0.213759f, 0.129081f, 0.239129f, + 0.174454f, 0.076294f, -0.048163f, -0.188243f, -0.041938f, -0.052883f, 0.134924f, 0.108941f, 0.070416f, -0.078420f, 0.043823f, -0.025724f, 0.049083f, -0.061473f, -0.073646f, 0.045482f, 0.113120f, 0.163148f, 0.106488f, -0.007573f, -0.127571f, -0.119581f, -0.039101f, 0.055057f, 0.127006f, 0.087586f, 0.054887f, 0.039371f, -0.051924f, -0.024746f, -0.032908f, 0.016118f, 0.011892f, -0.054182f, 0.036623f, 0.037604f, 0.048414f, 0.003800f, -0.051998f, -0.113977f, -0.051239f, 0.074915f, 0.215380f, 0.143978f, 0.034595f, -0.095172f, -0.197864f, -0.153315f, 0.015408f, 0.123852f, 0.173705f, 0.009635f, -0.142381f, -0.191574f, -0.001107f, 0.184099f, 0.244045f, 0.049760f, -0.219899f, -0.332838f, -0.161023f, 0.133641f, 0.124055f, 0.045424f}, + {-0.030389f, -0.030416f, -0.030464f, -0.030522f, -0.030576f, -0.030605f, -0.030589f, -0.030503f, -0.030321f, -0.030021f, -0.029580f, -0.028978f, -0.028201f, -0.027239f, -0.026088f, -0.024750f, -0.023236f, -0.021562f, -0.019750f, -0.017829f, -0.015834f, -0.013803f, -0.011776f, -0.009798f, -0.007909f, -0.006153f, -0.004567f, -0.003185f, -0.002036f, -0.001142f, -0.000515f, -0.000162f, -0.000080f, -0.000257f, -0.000673f, -0.001300f, -0.002104f, -0.003045f, -0.004077f, -0.005154f, -0.006229f, -0.007252f, -0.008179f, -0.008970f, -0.009587f, -0.010003f, -0.010196f, -0.010154f, -0.009874f, -0.009362f, -0.008633f, -0.007711f, -0.006626f, -0.005417f, -0.004125f, -0.002798f, -0.001483f, -0.000229f, 0.000919f, 0.001917f, 0.002728f, 0.003322f, 0.003675f, 0.003772f, 0.003608f, 0.003188f, 0.002524f, 0.001640f, 0.000566f, -0.000660f, -0.001995f, -0.003391f, -0.004799f, -0.006169f, -0.007450f, -0.008597f, -0.009568f, -0.010329f, -0.010852f, -0.011119f, 0.032862f, 0.047478f, 0.028036f, 0.016979f, 0.082054f, 0.040865f, 0.045119f, 0.101997f, 0.274631f, 0.111485f, -0.009384f, -0.201284f, 0.126425f, 0.213759f, -0.129081f, -0.239129f, + -0.174454f, -0.076294f, 0.048163f, 0.188243f, 0.041938f, 0.052883f, -0.134924f, -0.108941f, -0.070416f, 0.078420f, -0.043823f, 0.025724f, -0.049083f, 0.061473f, 0.073646f, -0.045482f, -0.113120f, -0.163148f, -0.106488f, 0.007573f, 0.127571f, 0.119581f, 0.039101f, -0.055057f, -0.127006f, -0.087586f, -0.054887f, -0.039371f, 0.051924f, 0.024746f, 0.032908f, -0.016118f, -0.011892f, 0.054182f, -0.036623f, -0.037604f, -0.048414f, -0.003800f, 0.051998f, 0.113977f, 0.051239f, -0.074915f, -0.215380f, -0.143978f, -0.034595f, 0.095172f, 0.197864f, 0.153315f, -0.015408f, -0.123852f, -0.173705f, -0.009635f, 0.142381f, 0.191574f, 0.001107f, -0.184099f, -0.244045f, -0.049760f, 0.219899f, 0.332838f, 0.161023f, -0.133641f, -0.124055f, -0.045424f} + }, + { + {0.023099f, 0.023530f, 0.024370f, 0.025577f, 0.027089f, 0.028829f, 0.030707f, 0.032622f, 0.034469f, 0.036142f, 0.037540f, 0.038568f, 0.039146f, 0.039207f, 0.038706f, 0.037618f, 0.035941f, 0.033696f, 0.030927f, 0.027701f, 0.024104f, 0.020238f, 0.016218f, 0.012169f, 0.008218f, 0.004495f, 0.001120f, -0.001794f, -0.004149f, -0.005867f, -0.006891f, -0.007188f, -0.006750f, -0.005597f, -0.003775f, -0.001352f, 0.001577f, 0.004902f, 0.008495f, 0.012218f, 0.015926f, 0.019473f, 0.022718f, 0.025528f, 0.027784f, 0.029386f, 0.030256f, 0.030338f, 0.029605f, 0.028057f, 0.025720f, 0.022647f, 0.018917f, 0.014627f, 0.009896f, 0.004852f, -0.000365f, -0.005613f, -0.010750f, -0.015640f, -0.020162f, -0.024206f, -0.027684f, -0.030528f, -0.032697f, -0.034173f, -0.034963f, -0.035103f, -0.034646f, -0.033669f, -0.032266f, -0.030541f, -0.028610f, -0.026591f, -0.024599f, -0.022746f, -0.021131f, -0.019841f, -0.018942f, -0.018481f, -0.062673f, -0.091999f, -0.073281f, 0.069704f, -0.009475f, -0.099943f, -0.109490f, -0.147892f, -0.248842f, -0.178530f, -0.035184f, 0.057875f, -0.137067f, -0.217779f, 0.034105f, -0.064091f, + -0.031441f, 0.068585f, 0.197166f, 0.101594f, -0.063679f, 0.004375f, -0.071916f, -0.096329f, -0.036429f, 0.098331f, 0.374637f, 0.252218f, 0.089028f, -0.043957f, -0.174179f, -0.131210f, -0.136302f, 0.295429f, 0.450436f, 0.237787f, -0.128220f, -0.279436f, -0.350015f, -0.078461f, 0.362708f, 0.168562f, 0.174039f, -0.032901f, -0.170182f, -0.097249f, 0.222931f, 0.428182f, 0.231161f, -0.343587f, -0.481664f, -0.424163f, 0.047567f, 0.398863f, 0.562194f, 0.255677f, -0.070235f, -0.423328f, -0.236512f, -0.018858f, -0.045838f, 0.339990f, 0.153464f, -0.135925f, -0.139416f, 0.214827f, -0.117956f, -0.258660f, -0.373100f, -0.158343f, -0.010260f, 0.154267f, 0.108609f, 0.161556f, 0.051308f, -0.039987f, -0.098993f, -0.159335f, -0.044951f, -0.017591f}, + {0.023099f, 0.023530f, 0.024370f, 0.025577f, 0.027089f, 0.028829f, 0.030707f, 0.032622f, 0.034469f, 0.036142f, 0.037540f, 0.038568f, 0.039146f, 0.039207f, 0.038706f, 0.037618f, 0.035941f, 0.033696f, 0.030927f, 0.027701f, 0.024104f, 0.020238f, 0.016218f, 0.012169f, 0.008218f, 0.004495f, 0.001120f, -0.001794f, -0.004149f, -0.005867f, -0.006891f, -0.007188f, -0.006750f, -0.005597f, -0.003775f, -0.001352f, 0.001577f, 0.004902f, 0.008495f, 0.012218f, 0.015926f, 0.019473f, 0.022718f, 0.025528f, 0.027784f, 0.029386f, 0.030256f, 0.030338f, 0.029605f, 0.028057f, 0.025720f, 0.022647f, 0.018917f, 0.014627f, 0.009896f, 0.004852f, -0.000365f, -0.005613f, -0.010750f, -0.015640f, -0.020162f, -0.024206f, -0.027684f, -0.030528f, -0.032697f, -0.034173f, -0.034963f, -0.035103f, -0.034646f, -0.033669f, -0.032266f, -0.030541f, -0.028610f, -0.026591f, -0.024599f, -0.022746f, -0.021131f, -0.019841f, -0.018942f, -0.018481f, -0.062673f, -0.091999f, -0.073281f, 0.069704f, -0.009475f, -0.099943f, -0.109490f, -0.147892f, -0.248842f, -0.178530f, -0.035184f, 0.057875f, -0.137067f, -0.217779f, 0.034105f, -0.064091f, + -0.031441f, 0.068585f, 0.197166f, 0.101594f, -0.063679f, 0.004375f, -0.071916f, -0.096329f, -0.036429f, 0.098331f, 0.374637f, 0.252218f, 0.089028f, -0.043957f, -0.174179f, -0.131210f, -0.136302f, 0.295429f, 0.450436f, 0.237787f, -0.128220f, -0.279436f, -0.350015f, -0.078461f, 0.362708f, 0.168562f, 0.174039f, -0.032901f, -0.170182f, -0.097249f, 0.222931f, 0.428182f, 0.231161f, -0.343587f, -0.481664f, -0.424163f, 0.047567f, 0.398863f, 0.562194f, 0.255677f, -0.070235f, -0.423328f, -0.236512f, -0.018858f, -0.045838f, 0.339990f, 0.153464f, -0.135925f, -0.139416f, 0.214827f, -0.117956f, -0.258660f, -0.373100f, -0.158343f, -0.010260f, 0.154267f, 0.108609f, 0.161556f, 0.051308f, -0.039987f, -0.098993f, -0.159335f, -0.044951f, -0.017591f} + }, + { + {0.054691f, 0.053876f, 0.052270f, 0.049925f, 0.046914f, 0.043330f, 0.039284f, 0.034900f, 0.030310f, 0.025651f, 0.021061f, 0.016669f, 0.012598f, 0.008954f, 0.005830f, 0.003295f, 0.001396f, 0.000158f, -0.000418f, -0.000357f, 0.000297f, 0.001475f, 0.003097f, 0.005063f, 0.007266f, 0.009593f, 0.011929f, 0.014162f, 0.016187f, 0.017911f, 0.019255f, 0.020157f, 0.020575f, 0.020488f, 0.019896f, 0.018820f, 0.017302f, 0.015401f, 0.013194f, 0.010768f, 0.008221f, 0.005655f, 0.003174f, 0.000878f, -0.001139f, -0.002793f, -0.004014f, -0.004750f, -0.004964f, -0.004641f, -0.003785f, -0.002420f, -0.000589f, 0.001650f, 0.004224f, 0.007046f, 0.010023f, 0.013059f, 0.016054f, 0.018914f, 0.021549f, 0.023883f, 0.025849f, 0.027397f, 0.028495f, 0.029128f, 0.029299f, 0.029030f, 0.028360f, 0.027343f, 0.026044f, 0.024540f, 0.022913f, 0.021249f, 0.019632f, 0.018143f, 0.016856f, 0.015832f, 0.015121f, 0.014756f, -0.015374f, -0.089788f, -0.105645f, 0.033011f, 0.005709f, -0.014866f, -0.340692f, -0.200927f, -0.199203f, -0.256675f, -0.051222f, 0.153406f, 0.187770f, 0.030644f, 0.047679f, 0.023308f, + 0.122841f, -0.055274f, 0.032513f, 0.042757f, 0.007501f, 0.028536f, 0.000722f, -0.001765f, 0.006102f, -0.011380f, -0.029264f, 0.014743f, 0.001064f, -0.057539f, -0.075456f, -0.033885f, 0.003103f, -0.009218f, -0.048717f, -0.009685f, 0.050417f, 0.159080f, 0.013605f, -0.055453f, -0.216146f, 0.020459f, 0.166808f, 0.195538f, 0.142197f, -0.082820f, -0.240570f, -0.224463f, -0.113294f, 0.099404f, 0.210380f, 0.201281f, 0.016103f, -0.164977f, -0.241489f, -0.153995f, -0.011674f, 0.169760f, 0.143349f, 0.060626f, 0.075250f, -0.226318f, -0.185383f, 0.004166f, 0.078487f, -0.077596f, 0.307982f, 0.375011f, 0.325637f, -0.048462f, -0.304667f, -0.323737f, 0.025128f, 0.258415f, 0.288636f, 0.095959f, -0.193941f, -0.184479f, -0.080809f, -0.026990f}, + {0.054691f, 0.053876f, 0.052270f, 0.049925f, 0.046914f, 0.043330f, 0.039284f, 0.034900f, 0.030310f, 0.025651f, 0.021061f, 0.016669f, 0.012598f, 0.008954f, 0.005830f, 0.003295f, 0.001396f, 0.000158f, -0.000418f, -0.000357f, 0.000297f, 0.001475f, 0.003097f, 0.005063f, 0.007266f, 0.009593f, 0.011929f, 0.014162f, 0.016187f, 0.017911f, 0.019255f, 0.020157f, 0.020575f, 0.020488f, 0.019896f, 0.018820f, 0.017302f, 0.015401f, 0.013194f, 0.010768f, 0.008221f, 0.005655f, 0.003174f, 0.000878f, -0.001139f, -0.002793f, -0.004014f, -0.004750f, -0.004964f, -0.004641f, -0.003785f, -0.002420f, -0.000589f, 0.001650f, 0.004224f, 0.007046f, 0.010023f, 0.013059f, 0.016054f, 0.018914f, 0.021549f, 0.023883f, 0.025849f, 0.027397f, 0.028495f, 0.029128f, 0.029299f, 0.029030f, 0.028360f, 0.027343f, 0.026044f, 0.024540f, 0.022913f, 0.021249f, 0.019632f, 0.018143f, 0.016856f, 0.015832f, 0.015121f, 0.014756f, -0.015374f, -0.089788f, -0.105645f, 0.033011f, 0.005709f, -0.014866f, -0.340692f, -0.200927f, -0.199203f, -0.256675f, -0.051222f, 0.153406f, 0.187770f, 0.030644f, 0.047679f, 0.023308f, + 0.122841f, -0.055274f, 0.032513f, 0.042757f, 0.007501f, 0.028536f, 0.000722f, -0.001765f, 0.006102f, -0.011380f, -0.029264f, 0.014743f, 0.001064f, -0.057539f, -0.075456f, -0.033885f, 0.003103f, -0.009218f, -0.048717f, -0.009685f, 0.050417f, 0.159080f, 0.013605f, -0.055453f, -0.216146f, 0.020459f, 0.166808f, 0.195538f, 0.142197f, -0.082820f, -0.240570f, -0.224463f, -0.113294f, 0.099404f, 0.210380f, 0.201281f, 0.016103f, -0.164977f, -0.241489f, -0.153995f, -0.011674f, 0.169760f, 0.143349f, 0.060626f, 0.075250f, -0.226318f, -0.185383f, 0.004166f, 0.078487f, -0.077596f, 0.307982f, 0.375011f, 0.325637f, -0.048462f, -0.304667f, -0.323737f, 0.025128f, 0.258415f, 0.288636f, 0.095959f, -0.193941f, -0.184479f, -0.080809f, -0.026990f} + }, + { + {0.021533f, 0.020944f, 0.019781f, 0.018078f, 0.015881f, 0.013252f, 0.010263f, 0.006997f, 0.003545f, 0.000002f, -0.003535f, -0.006968f, -0.010202f, -0.013148f, -0.015726f, -0.017864f, -0.019504f, -0.020599f, -0.021119f, -0.021047f, -0.020383f, -0.019141f, -0.017351f, -0.015054f, -0.012307f, -0.009174f, -0.005728f, -0.002052f, 0.001771f, 0.005653f, 0.009509f, 0.013254f, 0.016809f, 0.020102f, 0.023067f, 0.025651f, 0.027810f, 0.029509f, 0.030730f, 0.031463f, 0.031710f, 0.031486f, 0.030816f, 0.029732f, 0.028278f, 0.026500f, 0.024452f, 0.022192f, 0.019777f, 0.017267f, 0.014720f, 0.012191f, 0.009732f, 0.007390f, 0.005205f, 0.003213f, 0.001442f, -0.000087f, -0.001360f, -0.002371f, -0.003117f, -0.003606f, -0.003849f, -0.003862f, -0.003667f, -0.003286f, -0.002748f, -0.002081f, -0.001316f, -0.000483f, 0.000388f, 0.001267f, 0.002127f, 0.002940f, 0.003683f, 0.004336f, 0.004881f, 0.005302f, 0.005589f, 0.005735f, -0.013971f, 0.039564f, -0.009130f, -0.048006f, -0.014996f, 0.010247f, 0.016980f, 0.126968f, 0.199644f, 0.248065f, -0.052099f, -0.165961f, -0.248606f, -0.100058f, 0.103896f, 0.332845f, + 0.191755f, 0.075132f, -0.098877f, -0.080432f, -0.049208f, 0.050792f, -0.016211f, -0.046062f, -0.035703f, -0.020113f, 0.023951f, 0.127544f, 0.108258f, 0.140546f, -0.067622f, -0.193057f, -0.187311f, -0.060823f, 0.133812f, 0.272375f, 0.166661f, -0.027833f, -0.221854f, -0.175482f, 0.051480f, 0.015371f, 0.042700f, 0.025158f, 0.011325f, -0.045641f, -0.074621f, 0.081967f, 0.082721f, -0.085767f, -0.093004f, -0.103701f, -0.043105f, 0.030138f, 0.141188f, 0.103375f, 0.060473f, -0.055064f, -0.068653f, -0.095392f, -0.031089f, 0.096306f, 0.162914f, 0.102703f, 0.008155f, -0.107921f, -0.230563f, -0.245539f, -0.045950f, 0.178590f, 0.271838f, 0.274633f, 0.152049f, -0.099951f, -0.353791f, -0.344662f, -0.124481f, 0.130436f, 0.105403f, 0.035328f}, + {0.021533f, 0.020944f, 0.019781f, 0.018078f, 0.015881f, 0.013252f, 0.010263f, 0.006997f, 0.003545f, 0.000002f, -0.003535f, -0.006968f, -0.010202f, -0.013148f, -0.015726f, -0.017864f, -0.019504f, -0.020599f, -0.021119f, -0.021047f, -0.020383f, -0.019141f, -0.017351f, -0.015054f, -0.012307f, -0.009174f, -0.005728f, -0.002052f, 0.001771f, 0.005653f, 0.009509f, 0.013254f, 0.016809f, 0.020102f, 0.023067f, 0.025651f, 0.027810f, 0.029509f, 0.030730f, 0.031463f, 0.031710f, 0.031486f, 0.030816f, 0.029732f, 0.028278f, 0.026500f, 0.024452f, 0.022192f, 0.019777f, 0.017267f, 0.014720f, 0.012191f, 0.009732f, 0.007390f, 0.005205f, 0.003213f, 0.001442f, -0.000087f, -0.001360f, -0.002371f, -0.003117f, -0.003606f, -0.003849f, -0.003862f, -0.003667f, -0.003286f, -0.002748f, -0.002081f, -0.001316f, -0.000483f, 0.000388f, 0.001267f, 0.002127f, 0.002940f, 0.003683f, 0.004336f, 0.004881f, 0.005302f, 0.005589f, 0.005735f, -0.013971f, 0.039564f, -0.009130f, -0.048006f, -0.014996f, 0.010247f, 0.016980f, 0.126968f, 0.199644f, 0.248065f, -0.052099f, -0.165961f, -0.248606f, -0.100058f, 0.103896f, 0.332845f, + 0.191755f, 0.075132f, -0.098877f, -0.080432f, -0.049208f, 0.050792f, -0.016211f, -0.046062f, -0.035703f, -0.020113f, 0.023951f, 0.127544f, 0.108258f, 0.140546f, -0.067622f, -0.193057f, -0.187311f, -0.060823f, 0.133812f, 0.272375f, 0.166661f, -0.027833f, -0.221854f, -0.175482f, 0.051480f, 0.015371f, 0.042700f, 0.025158f, 0.011325f, -0.045641f, -0.074621f, 0.081967f, 0.082721f, -0.085767f, -0.093004f, -0.103701f, -0.043105f, 0.030138f, 0.141188f, 0.103375f, 0.060473f, -0.055064f, -0.068653f, -0.095392f, -0.031089f, 0.096306f, 0.162914f, 0.102703f, 0.008155f, -0.107921f, -0.230563f, -0.245539f, -0.045950f, 0.178590f, 0.271838f, 0.274633f, 0.152049f, -0.099951f, -0.353791f, -0.344662f, -0.124481f, 0.130436f, 0.105403f, 0.035328f} + }, + { + {0.006034f, 0.005898f, 0.005630f, 0.005234f, 0.004718f, 0.004092f, 0.003369f, 0.002564f, 0.001693f, 0.000774f, -0.000172f, -0.001126f, -0.002064f, -0.002966f, -0.003810f, -0.004574f, -0.005239f, -0.005786f, -0.006198f, -0.006462f, -0.006568f, -0.006509f, -0.006281f, -0.005886f, -0.005329f, -0.004620f, -0.003775f, -0.002811f, -0.001754f, -0.000629f, 0.000533f, 0.001699f, 0.002833f, 0.003900f, 0.004862f, 0.005685f, 0.006333f, 0.006776f, 0.006986f, 0.006938f, 0.006615f, 0.006005f, 0.005102f, 0.003908f, 0.002430f, 0.000685f, -0.001305f, -0.003512f, -0.005899f, -0.008426f, -0.011049f, -0.013719f, -0.016387f, -0.019002f, -0.021513f, -0.023872f, -0.026034f, -0.027958f, -0.029610f, -0.030961f, -0.031991f, -0.032686f, -0.033043f, -0.033065f, -0.032768f, -0.032170f, -0.031303f, -0.030202f, -0.028910f, -0.027472f, -0.025940f, -0.024365f, -0.022801f, -0.021298f, -0.019907f, -0.018671f, -0.017632f, -0.016821f, -0.016267f, -0.015985f, -0.007218f, -0.007566f, -0.009460f, 0.001637f, -0.011333f, 0.010080f, 0.038148f, 0.046788f, -0.002158f, -0.058626f, -0.008716f, 0.080009f, 0.166461f, 0.130407f, -0.065540f, -0.226461f, + -0.117046f, -0.107922f, 0.050639f, 0.030209f, 0.014323f, 0.071197f, 0.123332f, -0.050839f, -0.130673f, -0.054935f, -0.035316f, 0.042057f, 0.122348f, 0.059493f, 0.081780f, 0.026216f, -0.105960f, -0.091869f, 0.012077f, 0.129733f, 0.114245f, -0.014831f, -0.074909f, -0.127461f, 0.000742f, 0.127348f, 0.119691f, 0.053906f, -0.029906f, -0.128471f, -0.097463f, -0.014842f, 0.019096f, 0.041287f, 0.049061f, 0.036122f, 0.073673f, 0.007047f, -0.005184f, -0.032054f, -0.002638f, -0.049137f, 0.072268f, 0.121937f, -0.026202f, 0.101295f, -0.011372f, -0.159853f, -0.035704f, 0.085567f, -0.008444f, -0.106689f, -0.112697f, -0.060874f, 0.034895f, 0.105899f, 0.107430f, 0.054834f, -0.097858f, -0.169880f, -0.041617f, 0.114684f, 0.055230f, 0.021408f}, + {-0.006034f, -0.005898f, -0.005630f, -0.005234f, -0.004718f, -0.004092f, -0.003369f, -0.002564f, -0.001693f, -0.000774f, 0.000172f, 0.001126f, 0.002064f, 0.002966f, 0.003810f, 0.004574f, 0.005239f, 0.005786f, 0.006198f, 0.006462f, 0.006568f, 0.006509f, 0.006281f, 0.005886f, 0.005329f, 0.004620f, 0.003775f, 0.002811f, 0.001754f, 0.000629f, -0.000533f, -0.001699f, -0.002833f, -0.003900f, -0.004862f, -0.005685f, -0.006333f, -0.006776f, -0.006986f, -0.006938f, -0.006615f, -0.006005f, -0.005102f, -0.003908f, -0.002430f, -0.000685f, 0.001305f, 0.003512f, 0.005899f, 0.008426f, 0.011049f, 0.013719f, 0.016387f, 0.019002f, 0.021513f, 0.023872f, 0.026034f, 0.027958f, 0.029610f, 0.030961f, 0.031991f, 0.032686f, 0.033043f, 0.033065f, 0.032768f, 0.032170f, 0.031303f, 0.030202f, 0.028910f, 0.027472f, 0.025940f, 0.024365f, 0.022801f, 0.021298f, 0.019907f, 0.018671f, 0.017632f, 0.016821f, 0.016267f, 0.015985f, 0.007218f, 0.007566f, 0.009460f, -0.001637f, 0.011333f, -0.010080f, -0.038148f, -0.046788f, 0.002158f, 0.058626f, 0.008716f, -0.080009f, -0.166461f, -0.130407f, 0.065540f, 0.226461f, + 0.117046f, 0.107922f, -0.050639f, -0.030209f, -0.014323f, -0.071197f, -0.123332f, 0.050839f, 0.130673f, 0.054935f, 0.035316f, -0.042057f, -0.122348f, -0.059493f, -0.081780f, -0.026216f, 0.105960f, 0.091869f, -0.012077f, -0.129733f, -0.114245f, 0.014831f, 0.074909f, 0.127461f, -0.000742f, -0.127348f, -0.119691f, -0.053906f, 0.029906f, 0.128471f, 0.097463f, 0.014842f, -0.019096f, -0.041287f, -0.049061f, -0.036122f, -0.073673f, -0.007047f, 0.005184f, 0.032054f, 0.002638f, 0.049137f, -0.072268f, -0.121937f, 0.026202f, -0.101295f, 0.011372f, 0.159853f, 0.035704f, -0.085567f, 0.008444f, 0.106689f, 0.112697f, 0.060874f, -0.034895f, -0.105899f, -0.107430f, -0.054834f, 0.097858f, 0.169880f, 0.041617f, -0.114684f, -0.055230f, -0.021408f} + }, + { + {0.010863f, 0.011200f, 0.011864f, 0.012832f, 0.014071f, 0.015541f, 0.017191f, 0.018966f, 0.020807f, 0.022651f, 0.024437f, 0.026104f, 0.027595f, 0.028860f, 0.029854f, 0.030542f, 0.030898f, 0.030907f, 0.030563f, 0.029873f, 0.028853f, 0.027528f, 0.025934f, 0.024111f, 0.022107f, 0.019975f, 0.017769f, 0.015543f, 0.013353f, 0.011248f, 0.009277f, 0.007480f, 0.005891f, 0.004538f, 0.003438f, 0.002603f, 0.002033f, 0.001724f, 0.001661f, 0.001826f, 0.002194f, 0.002735f, 0.003419f, 0.004213f, 0.005084f, 0.006003f, 0.006940f, 0.007871f, 0.008778f, 0.009645f, 0.010463f, 0.011230f, 0.011947f, 0.012622f, 0.013268f, 0.013899f, 0.014533f, 0.015191f, 0.015893f, 0.016657f, 0.017502f, 0.018441f, 0.019485f, 0.020639f, 0.021904f, 0.023275f, 0.024740f, 0.026284f, 0.027885f, 0.029517f, 0.031150f, 0.032753f, 0.034291f, 0.035730f, 0.037036f, 0.038179f, 0.039130f, 0.039865f, 0.040366f, 0.040620f, -0.022267f, 0.018161f, 0.010400f, -0.010091f, -0.020353f, -0.000646f, -0.031444f, -0.036280f, -0.201290f, -0.237245f, 0.004557f, 0.078100f, -0.004496f, -0.023904f, 0.027379f, -0.017484f, + -0.058772f, 0.014702f, 0.041136f, -0.001496f, 0.085314f, -0.050852f, -0.015205f, -0.042559f, -0.016824f, 0.053952f, 0.048029f, 0.118676f, -0.063098f, -0.051219f, -0.033491f, 0.031069f, -0.000121f, -0.048264f, -0.047918f, -0.020772f, -0.033309f, 0.072396f, 0.043293f, -0.027935f, -0.046999f, -0.043709f, 0.022435f, 0.077296f, 0.069198f, -0.003554f, -0.109988f, -0.068384f, -0.066551f, -0.082551f, -0.011608f, 0.078097f, 0.068922f, -0.016644f, -0.091435f, -0.094576f, -0.065306f, 0.069282f, 0.094273f, 0.065165f, 0.043257f, -0.172358f, -0.161959f, -0.011422f, 0.036877f, 0.005049f, 0.234653f, 0.090119f, 0.024315f, -0.083867f, -0.067721f, 0.052087f, 0.186407f, 0.212440f, 0.036082f, -0.103702f, -0.109180f, -0.194275f, -0.062967f, -0.034265f}, + {-0.010863f, -0.011200f, -0.011864f, -0.012832f, -0.014071f, -0.015541f, -0.017191f, -0.018966f, -0.020807f, -0.022651f, -0.024437f, -0.026104f, -0.027595f, -0.028860f, -0.029854f, -0.030542f, -0.030898f, -0.030907f, -0.030563f, -0.029873f, -0.028853f, -0.027528f, -0.025934f, -0.024111f, -0.022107f, -0.019975f, -0.017769f, -0.015543f, -0.013353f, -0.011248f, -0.009277f, -0.007480f, -0.005891f, -0.004538f, -0.003438f, -0.002603f, -0.002033f, -0.001724f, -0.001661f, -0.001826f, -0.002194f, -0.002735f, -0.003419f, -0.004213f, -0.005084f, -0.006003f, -0.006940f, -0.007871f, -0.008778f, -0.009645f, -0.010463f, -0.011230f, -0.011947f, -0.012622f, -0.013268f, -0.013899f, -0.014533f, -0.015191f, -0.015893f, -0.016657f, -0.017502f, -0.018441f, -0.019485f, -0.020639f, -0.021904f, -0.023275f, -0.024740f, -0.026284f, -0.027885f, -0.029517f, -0.031150f, -0.032753f, -0.034291f, -0.035730f, -0.037036f, -0.038179f, -0.039130f, -0.039865f, -0.040366f, -0.040620f, 0.022267f, -0.018161f, -0.010400f, 0.010091f, 0.020353f, 0.000646f, 0.031444f, 0.036280f, 0.201290f, 0.237245f, -0.004557f, -0.078100f, 0.004496f, 0.023904f, -0.027379f, 0.017484f, + 0.058772f, -0.014702f, -0.041136f, 0.001496f, -0.085314f, 0.050852f, 0.015205f, 0.042559f, 0.016824f, -0.053952f, -0.048029f, -0.118676f, 0.063098f, 0.051219f, 0.033491f, -0.031069f, 0.000121f, 0.048264f, 0.047918f, 0.020772f, 0.033309f, -0.072396f, -0.043293f, 0.027935f, 0.046999f, 0.043709f, -0.022435f, -0.077296f, -0.069198f, 0.003554f, 0.109988f, 0.068384f, 0.066551f, 0.082551f, 0.011608f, -0.078097f, -0.068922f, 0.016644f, 0.091435f, 0.094576f, 0.065306f, -0.069282f, -0.094273f, -0.065165f, -0.043257f, 0.172358f, 0.161959f, 0.011422f, -0.036877f, -0.005049f, -0.234653f, -0.090119f, -0.024315f, 0.083867f, 0.067721f, -0.052087f, -0.186407f, -0.212440f, -0.036082f, 0.103702f, 0.109180f, 0.194275f, 0.062967f, 0.034265f} + }, + { + {-0.047822f, -0.046886f, -0.045043f, -0.042352f, -0.038896f, -0.034783f, -0.030142f, -0.025115f, -0.019857f, -0.014526f, -0.009281f, -0.004276f, 0.000345f, 0.004455f, 0.007945f, 0.010729f, 0.012746f, 0.013964f, 0.014376f, 0.014004f, 0.012896f, 0.011125f, 0.008784f, 0.005982f, 0.002846f, -0.000495f, -0.003902f, -0.007243f, -0.010387f, -0.013218f, -0.015632f, -0.017545f, -0.018893f, -0.019635f, -0.019754f, -0.019258f, -0.018178f, -0.016565f, -0.014493f, -0.012051f, -0.009339f, -0.006467f, -0.003552f, -0.000709f, 0.001952f, 0.004327f, 0.006325f, 0.007870f, 0.008902f, 0.009381f, 0.009288f, 0.008624f, 0.007411f, 0.005688f, 0.003513f, 0.000955f, -0.001902f, -0.004970f, -0.008152f, -0.011356f, -0.014490f, -0.017469f, -0.020219f, -0.022676f, -0.024792f, -0.026535f, -0.027888f, -0.028851f, -0.029440f, -0.029684f, -0.029627f, -0.029319f, -0.028823f, -0.028200f, -0.027516f, -0.026834f, -0.026211f, -0.025697f, -0.025331f, -0.025141f, 0.002437f, -0.010385f, 0.024897f, 0.010871f, 0.008500f, 0.048040f, 0.038717f, -0.162200f, -0.160942f, -0.104608f, -0.017099f, 0.016216f, -0.053230f, -0.017630f, 0.218802f, 0.114696f, + 0.073019f, -0.102643f, -0.013011f, 0.038742f, 0.111803f, 0.010647f, 0.005978f, -0.045316f, -0.065141f, -0.040399f, -0.026103f, -0.007485f, 0.046694f, 0.073828f, 0.071760f, -0.007469f, -0.128561f, -0.150778f, 0.008746f, 0.070907f, 0.104617f, 0.069038f, -0.001713f, -0.104005f, 0.166432f, -0.038802f, -0.067815f, -0.129565f, -0.097838f, 0.019219f, 0.196267f, 0.203497f, 0.048762f, -0.205457f, -0.308719f, -0.273321f, 0.052960f, 0.302549f, 0.375961f, 0.269508f, -0.075659f, -0.356239f, -0.318182f, -0.076143f, -0.020635f, 0.309454f, 0.196861f, -0.000183f, -0.034524f, 0.083096f, -0.141618f, -0.027066f, -0.073019f, -0.042380f, -0.158044f, -0.158085f, -0.102720f, 0.080799f, 0.149340f, 0.168961f, 0.019283f, -0.165627f, -0.131561f, -0.049136f}, + {0.047822f, 0.046886f, 0.045043f, 0.042352f, 0.038896f, 0.034783f, 0.030142f, 0.025115f, 0.019857f, 0.014526f, 0.009281f, 0.004276f, -0.000345f, -0.004455f, -0.007945f, -0.010729f, -0.012746f, -0.013964f, -0.014376f, -0.014004f, -0.012896f, -0.011125f, -0.008784f, -0.005982f, -0.002846f, 0.000495f, 0.003902f, 0.007243f, 0.010387f, 0.013218f, 0.015632f, 0.017545f, 0.018893f, 0.019635f, 0.019754f, 0.019258f, 0.018178f, 0.016565f, 0.014493f, 0.012051f, 0.009339f, 0.006467f, 0.003552f, 0.000709f, -0.001952f, -0.004327f, -0.006325f, -0.007870f, -0.008902f, -0.009381f, -0.009288f, -0.008624f, -0.007411f, -0.005688f, -0.003513f, -0.000955f, 0.001902f, 0.004970f, 0.008152f, 0.011356f, 0.014490f, 0.017469f, 0.020219f, 0.022676f, 0.024792f, 0.026535f, 0.027888f, 0.028851f, 0.029440f, 0.029684f, 0.029627f, 0.029319f, 0.028823f, 0.028200f, 0.027516f, 0.026834f, 0.026211f, 0.025697f, 0.025331f, 0.025141f, -0.002437f, 0.010385f, -0.024897f, -0.010871f, -0.008500f, -0.048040f, -0.038717f, 0.162200f, 0.160942f, 0.104608f, 0.017099f, -0.016216f, 0.053230f, 0.017630f, -0.218802f, -0.114696f, + -0.073019f, 0.102643f, 0.013011f, -0.038742f, -0.111803f, -0.010647f, -0.005978f, 0.045316f, 0.065141f, 0.040399f, 0.026103f, 0.007485f, -0.046694f, -0.073828f, -0.071760f, 0.007469f, 0.128561f, 0.150778f, -0.008746f, -0.070907f, -0.104617f, -0.069038f, 0.001713f, 0.104005f, -0.166432f, 0.038802f, 0.067815f, 0.129565f, 0.097838f, -0.019219f, -0.196267f, -0.203497f, -0.048762f, 0.205457f, 0.308719f, 0.273321f, -0.052960f, -0.302549f, -0.375961f, -0.269508f, 0.075659f, 0.356239f, 0.318182f, 0.076143f, 0.020635f, -0.309454f, -0.196861f, 0.000183f, 0.034524f, -0.083096f, 0.141618f, 0.027066f, 0.073019f, 0.042380f, 0.158044f, 0.158085f, 0.102720f, -0.080799f, -0.149340f, -0.168961f, -0.019283f, 0.165627f, 0.131561f, 0.049136f} + }, + { + {-0.037392f, -0.036989f, -0.036200f, -0.035053f, -0.033593f, -0.031874f, -0.029959f, -0.027919f, -0.025825f, -0.023751f, -0.021765f, -0.019928f, -0.018293f, -0.016899f, -0.015772f, -0.014922f, -0.014343f, -0.014013f, -0.013895f, -0.013936f, -0.014074f, -0.014236f, -0.014345f, -0.014321f, -0.014085f, -0.013563f, -0.012691f, -0.011417f, -0.009706f, -0.007538f, -0.004915f, -0.001859f, 0.001586f, 0.005357f, 0.009371f, 0.013529f, 0.017716f, 0.021811f, 0.025682f, 0.029200f, 0.032238f, 0.034675f, 0.036406f, 0.037341f, 0.037412f, 0.036574f, 0.034809f, 0.032127f, 0.028567f, 0.024194f, 0.019101f, 0.013404f, 0.007241f, 0.000766f, -0.005857f, -0.012455f, -0.018856f, -0.024892f, -0.030405f, -0.035254f, -0.039318f, -0.042501f, -0.044733f, -0.045978f, -0.046230f, -0.045514f, -0.043889f, -0.041441f, -0.038284f, -0.034554f, -0.030404f, -0.026000f, -0.021517f, -0.017126f, -0.012997f, -0.009288f, -0.006137f, -0.003664f, -0.001963f, -0.001095f, 0.040016f, 0.024974f, 0.031039f, 0.006591f, 0.029674f, -0.033138f, 0.124640f, 0.072462f, -0.016105f, -0.002988f, 0.087269f, -0.091992f, 0.020306f, 0.115300f, -0.044722f, -0.358212f, + -0.220831f, -0.124493f, 0.162324f, 0.118796f, -0.171291f, -0.030497f, 0.138427f, 0.237770f, 0.067315f, -0.042512f, -0.111599f, -0.189566f, -0.046650f, 0.130336f, 0.232124f, 0.161396f, 0.007841f, -0.115595f, -0.140657f, -0.074020f, 0.067847f, 0.166918f, 0.100309f, 0.047515f, -0.063850f, -0.120113f, -0.048761f, 0.095869f, 0.181085f, 0.141993f, -0.003804f, -0.072366f, -0.071557f, -0.113145f, -0.035713f, 0.009771f, 0.134251f, 0.206445f, 0.241944f, 0.109536f, -0.126733f, -0.262770f, -0.107096f, 0.071251f, -0.031866f, 0.233860f, 0.174952f, 0.077308f, -0.024756f, 0.110470f, -0.227029f, -0.192836f, -0.166829f, 0.034076f, 0.028605f, 0.043400f, -0.119984f, 0.009704f, 0.111958f, 0.181593f, 0.244586f, -0.232359f, -0.167522f, -0.065493f}, + {-0.037392f, -0.036989f, -0.036200f, -0.035053f, -0.033593f, -0.031874f, -0.029959f, -0.027919f, -0.025825f, -0.023751f, -0.021765f, -0.019928f, -0.018293f, -0.016899f, -0.015772f, -0.014922f, -0.014343f, -0.014013f, -0.013895f, -0.013936f, -0.014074f, -0.014236f, -0.014345f, -0.014321f, -0.014085f, -0.013563f, -0.012691f, -0.011417f, -0.009706f, -0.007538f, -0.004915f, -0.001859f, 0.001586f, 0.005357f, 0.009371f, 0.013529f, 0.017716f, 0.021811f, 0.025682f, 0.029200f, 0.032238f, 0.034675f, 0.036406f, 0.037341f, 0.037412f, 0.036574f, 0.034809f, 0.032127f, 0.028567f, 0.024194f, 0.019101f, 0.013404f, 0.007241f, 0.000766f, -0.005857f, -0.012455f, -0.018856f, -0.024892f, -0.030405f, -0.035254f, -0.039318f, -0.042501f, -0.044733f, -0.045978f, -0.046230f, -0.045514f, -0.043889f, -0.041441f, -0.038284f, -0.034554f, -0.030404f, -0.026000f, -0.021517f, -0.017126f, -0.012997f, -0.009288f, -0.006137f, -0.003664f, -0.001963f, -0.001095f, 0.040016f, 0.024974f, 0.031039f, 0.006591f, 0.029674f, -0.033138f, 0.124640f, 0.072462f, -0.016105f, -0.002988f, 0.087269f, -0.091992f, 0.020306f, 0.115300f, -0.044722f, -0.358212f, + -0.220831f, -0.124493f, 0.162324f, 0.118796f, -0.171291f, -0.030497f, 0.138427f, 0.237770f, 0.067315f, -0.042512f, -0.111599f, -0.189566f, -0.046650f, 0.130336f, 0.232124f, 0.161396f, 0.007841f, -0.115595f, -0.140657f, -0.074020f, 0.067847f, 0.166918f, 0.100309f, 0.047515f, -0.063850f, -0.120113f, -0.048761f, 0.095869f, 0.181085f, 0.141993f, -0.003804f, -0.072366f, -0.071557f, -0.113145f, -0.035713f, 0.009771f, 0.134251f, 0.206445f, 0.241944f, 0.109536f, -0.126733f, -0.262770f, -0.107096f, 0.071251f, -0.031866f, 0.233860f, 0.174952f, 0.077308f, -0.024756f, 0.110470f, -0.227029f, -0.192836f, -0.166829f, 0.034076f, 0.028605f, 0.043400f, -0.119984f, 0.009704f, 0.111958f, 0.181593f, 0.244586f, -0.232359f, -0.167522f, -0.065493f} + }, + { + {-0.023121f, -0.022852f, -0.022326f, -0.021568f, -0.020616f, -0.019513f, -0.018315f, -0.017079f, -0.015867f, -0.014739f, -0.013755f, -0.012965f, -0.012415f, -0.012138f, -0.012157f, -0.012480f, -0.013101f, -0.014001f, -0.015146f, -0.016488f, -0.017970f, -0.019524f, -0.021074f, -0.022542f, -0.023848f, -0.024913f, -0.025665f, -0.026038f, -0.025979f, -0.025447f, -0.024416f, -0.022879f, -0.020843f, -0.018337f, -0.015404f, -0.012105f, -0.008515f, -0.004723f, -0.000825f, 0.003074f, 0.006867f, 0.010447f, 0.013710f, 0.016561f, 0.018913f, 0.020695f, 0.021850f, 0.022338f, 0.022141f, 0.021257f, 0.019706f, 0.017525f, 0.014769f, 0.011510f, 0.007830f, 0.003824f, -0.000408f, -0.004762f, -0.009133f, -0.013422f, -0.017535f, -0.021387f, -0.024907f, -0.028038f, -0.030737f, -0.032980f, -0.034759f, -0.036082f, -0.036974f, -0.037472f, -0.037625f, -0.037494f, -0.037141f, -0.036637f, -0.036049f, -0.035443f, -0.034879f, -0.034408f, -0.034071f, -0.033895f, -0.021504f, -0.013236f, 0.041524f, 0.010894f, -0.023477f, -0.049221f, 0.083276f, 0.127970f, 0.163269f, 0.021594f, -0.072866f, -0.165528f, -0.008057f, 0.026210f, -0.093974f, -0.136312f, + -0.127652f, -0.160700f, 0.083099f, 0.274765f, 0.025151f, 0.010641f, -0.072650f, -0.077463f, -0.058408f, 0.139417f, 0.095744f, 0.250590f, 0.020518f, 0.004510f, -0.119040f, -0.079281f, -0.044836f, 0.085468f, 0.150862f, 0.111181f, -0.008086f, -0.072516f, -0.070749f, -0.076794f, -0.031900f, 0.047623f, 0.107806f, 0.052183f, -0.021076f, -0.054978f, -0.040386f, 0.058062f, 0.040128f, -0.080490f, -0.098124f, -0.033613f, 0.013971f, 0.023914f, 0.110398f, -0.007314f, 0.039636f, -0.041975f, 0.031967f, -0.012918f, -0.141902f, 0.144984f, 0.120785f, -0.028039f, -0.078491f, 0.079219f, -0.182873f, -0.026340f, -0.016735f, 0.016552f, -0.130854f, -0.252620f, -0.302233f, 0.004013f, 0.297833f, 0.302971f, 0.117143f, -0.118876f, -0.080972f, -0.022568f}, + {-0.023121f, -0.022852f, -0.022326f, -0.021568f, -0.020616f, -0.019513f, -0.018315f, -0.017079f, -0.015867f, -0.014739f, -0.013755f, -0.012965f, -0.012415f, -0.012138f, -0.012157f, -0.012480f, -0.013101f, -0.014001f, -0.015146f, -0.016488f, -0.017970f, -0.019524f, -0.021074f, -0.022542f, -0.023848f, -0.024913f, -0.025665f, -0.026038f, -0.025979f, -0.025447f, -0.024416f, -0.022879f, -0.020843f, -0.018337f, -0.015404f, -0.012105f, -0.008515f, -0.004723f, -0.000825f, 0.003074f, 0.006867f, 0.010447f, 0.013710f, 0.016561f, 0.018913f, 0.020695f, 0.021850f, 0.022338f, 0.022141f, 0.021257f, 0.019706f, 0.017525f, 0.014769f, 0.011510f, 0.007830f, 0.003824f, -0.000408f, -0.004762f, -0.009133f, -0.013422f, -0.017535f, -0.021387f, -0.024907f, -0.028038f, -0.030737f, -0.032980f, -0.034759f, -0.036082f, -0.036974f, -0.037472f, -0.037625f, -0.037494f, -0.037141f, -0.036637f, -0.036049f, -0.035443f, -0.034879f, -0.034408f, -0.034071f, -0.033895f, -0.021504f, -0.013236f, 0.041524f, 0.010894f, -0.023477f, -0.049221f, 0.083276f, 0.127970f, 0.163269f, 0.021594f, -0.072866f, -0.165528f, -0.008057f, 0.026210f, -0.093974f, -0.136312f, + -0.127652f, -0.160700f, 0.083099f, 0.274765f, 0.025151f, 0.010641f, -0.072650f, -0.077463f, -0.058408f, 0.139417f, 0.095744f, 0.250590f, 0.020518f, 0.004510f, -0.119040f, -0.079281f, -0.044836f, 0.085468f, 0.150862f, 0.111181f, -0.008086f, -0.072516f, -0.070749f, -0.076794f, -0.031900f, 0.047623f, 0.107806f, 0.052183f, -0.021076f, -0.054978f, -0.040386f, 0.058062f, 0.040128f, -0.080490f, -0.098124f, -0.033613f, 0.013971f, 0.023914f, 0.110398f, -0.007314f, 0.039636f, -0.041975f, 0.031967f, -0.012918f, -0.141902f, 0.144984f, 0.120785f, -0.028039f, -0.078491f, 0.079219f, -0.182873f, -0.026340f, -0.016735f, 0.016552f, -0.130854f, -0.252620f, -0.302233f, 0.004013f, 0.297833f, 0.302971f, 0.117143f, -0.118876f, -0.080972f, -0.022568f} + }, + { + {0.034688f, 0.033944f, 0.032478f, 0.030329f, 0.027557f, 0.024237f, 0.020459f, 0.016325f, 0.011946f, 0.007436f, 0.002911f, -0.001515f, -0.005731f, -0.009639f, -0.013151f, -0.016191f, -0.018701f, -0.020640f, -0.021987f, -0.022735f, -0.022900f, -0.022511f, -0.021615f, -0.020272f, -0.018551f, -0.016532f, -0.014299f, -0.011939f, -0.009537f, -0.007177f, -0.004934f, -0.002876f, -0.001059f, 0.000471f, 0.001684f, 0.002562f, 0.003102f, 0.003313f, 0.003219f, 0.002853f, 0.002260f, 0.001489f, 0.000598f, -0.000354f, -0.001308f, -0.002205f, -0.002992f, -0.003619f, -0.004046f, -0.004242f, -0.004184f, -0.003860f, -0.003268f, -0.002418f, -0.001327f, -0.000022f, 0.001465f, 0.003095f, 0.004825f, 0.006610f, 0.008407f, 0.010173f, 0.011868f, 0.013457f, 0.014912f, 0.016210f, 0.017337f, 0.018284f, 0.019051f, 0.019646f, 0.020080f, 0.020372f, 0.020542f, 0.020616f, 0.020619f, 0.020575f, 0.020509f, 0.020440f, 0.020384f, 0.020353f, -0.013744f, -0.039606f, -0.038073f, -0.021709f, 0.011125f, 0.000688f, -0.055696f, 0.005090f, -0.073923f, -0.098478f, -0.068486f, -0.001483f, -0.054646f, 0.005715f, -0.020655f, -0.008419f, + -0.065972f, -0.030677f, 0.136130f, 0.158082f, -0.089988f, -0.028457f, 0.013578f, 0.105433f, 0.066346f, 0.035777f, 0.039117f, -0.028355f, -0.059865f, -0.059961f, 0.032987f, 0.093131f, -0.009634f, -0.065466f, -0.068966f, -0.004971f, 0.041955f, 0.100058f, 0.024953f, -0.005031f, -0.041486f, 0.032456f, 0.017195f, 0.092432f, 0.037094f, 0.014858f, -0.024121f, 0.000262f, -0.050715f, -0.054897f, -0.058748f, 0.078000f, 0.048332f, 0.028781f, -0.043575f, -0.102444f, -0.084352f, 0.009705f, 0.030990f, 0.041481f, 0.097902f, -0.093464f, -0.111859f, -0.067315f, 0.011407f, -0.023626f, 0.174361f, 0.128315f, 0.099916f, -0.030923f, -0.043553f, -0.093602f, 0.058886f, 0.063368f, 0.068266f, 0.058630f, 0.019437f, -0.126861f, -0.076242f, -0.027872f}, + {0.034688f, 0.033944f, 0.032478f, 0.030329f, 0.027557f, 0.024237f, 0.020459f, 0.016325f, 0.011946f, 0.007436f, 0.002911f, -0.001515f, -0.005731f, -0.009639f, -0.013151f, -0.016191f, -0.018701f, -0.020640f, -0.021987f, -0.022735f, -0.022900f, -0.022511f, -0.021615f, -0.020272f, -0.018551f, -0.016532f, -0.014299f, -0.011939f, -0.009537f, -0.007177f, -0.004934f, -0.002876f, -0.001059f, 0.000471f, 0.001684f, 0.002562f, 0.003102f, 0.003313f, 0.003219f, 0.002853f, 0.002260f, 0.001489f, 0.000598f, -0.000354f, -0.001308f, -0.002205f, -0.002992f, -0.003619f, -0.004046f, -0.004242f, -0.004184f, -0.003860f, -0.003268f, -0.002418f, -0.001327f, -0.000022f, 0.001465f, 0.003095f, 0.004825f, 0.006610f, 0.008407f, 0.010173f, 0.011868f, 0.013457f, 0.014912f, 0.016210f, 0.017337f, 0.018284f, 0.019051f, 0.019646f, 0.020080f, 0.020372f, 0.020542f, 0.020616f, 0.020619f, 0.020575f, 0.020509f, 0.020440f, 0.020384f, 0.020353f, -0.013744f, -0.039606f, -0.038073f, -0.021709f, 0.011125f, 0.000688f, -0.055696f, 0.005090f, -0.073923f, -0.098478f, -0.068486f, -0.001483f, -0.054646f, 0.005715f, -0.020655f, -0.008419f, + -0.065972f, -0.030677f, 0.136130f, 0.158082f, -0.089988f, -0.028457f, 0.013578f, 0.105433f, 0.066346f, 0.035777f, 0.039117f, -0.028355f, -0.059865f, -0.059961f, 0.032987f, 0.093131f, -0.009634f, -0.065466f, -0.068966f, -0.004971f, 0.041955f, 0.100058f, 0.024953f, -0.005031f, -0.041486f, 0.032456f, 0.017195f, 0.092432f, 0.037094f, 0.014858f, -0.024121f, 0.000262f, -0.050715f, -0.054897f, -0.058748f, 0.078000f, 0.048332f, 0.028781f, -0.043575f, -0.102444f, -0.084352f, 0.009705f, 0.030990f, 0.041481f, 0.097902f, -0.093464f, -0.111859f, -0.067315f, 0.011407f, -0.023626f, 0.174361f, 0.128315f, 0.099916f, -0.030923f, -0.043553f, -0.093602f, 0.058886f, 0.063368f, 0.068266f, 0.058630f, 0.019437f, -0.126861f, -0.076242f, -0.027872f} + }, + { + {0.020864f, 0.020628f, 0.020162f, 0.019480f, 0.018603f, 0.017556f, 0.016370f, 0.015079f, 0.013718f, 0.012325f, 0.010936f, 0.009588f, 0.008311f, 0.007135f, 0.006083f, 0.005172f, 0.004415f, 0.003816f, 0.003374f, 0.003082f, 0.002927f, 0.002891f, 0.002953f, 0.003086f, 0.003264f, 0.003461f, 0.003649f, 0.003803f, 0.003904f, 0.003932f, 0.003877f, 0.003730f, 0.003492f, 0.003167f, 0.002768f, 0.002310f, 0.001816f, 0.001313f, 0.000830f, 0.000398f, 0.000050f, -0.000182f, -0.000270f, -0.000186f, 0.000092f, 0.000581f, 0.001290f, 0.002224f, 0.003379f, 0.004744f, 0.006300f, 0.008023f, 0.009882f, 0.011841f, 0.013860f, 0.015896f, 0.017906f, 0.019847f, 0.021676f, 0.023356f, 0.024853f, 0.026138f, 0.027190f, 0.027995f, 0.028547f, 0.028848f, 0.028908f, 0.028744f, 0.028381f, 0.027849f, 0.027185f, 0.026425f, 0.025613f, 0.024788f, 0.023992f, 0.023264f, 0.022636f, 0.022138f, 0.021793f, 0.021617f, -0.006798f, -0.003380f, -0.005360f, -0.017063f, -0.024441f, 0.043640f, -0.014016f, -0.027673f, -0.004845f, -0.006445f, 0.066361f, 0.018852f, -0.028729f, 0.009025f, -0.075865f, -0.155041f, + -0.065489f, -0.024469f, 0.057814f, 0.045172f, -0.070320f, -0.017821f, 0.023709f, 0.091718f, 0.085051f, 0.038182f, 0.023982f, 0.035655f, -0.041871f, -0.058230f, -0.142784f, 0.010733f, 0.042238f, 0.012938f, 0.030339f, 0.040082f, -0.074463f, -0.094555f, -0.048446f, 0.012442f, 0.066522f, 0.105550f, 0.071961f, 0.023148f, -0.035299f, -0.018424f, -0.024981f, 0.052714f, 0.035572f, 0.020446f, -0.032645f, 0.007755f, -0.115069f, -0.015310f, 0.054485f, 0.019836f, 0.089972f, 0.082585f, -0.056621f, -0.120010f, 0.049043f, -0.064568f, 0.094450f, 0.076680f, 0.070013f, -0.072832f, -0.093618f, -0.007507f, 0.053902f, 0.078265f, 0.059600f, 0.027789f, 0.036114f, -0.078578f, -0.104827f, -0.034592f, 0.110081f, 0.044529f, -0.025476f, -0.014728f}, + {0.020864f, 0.020628f, 0.020162f, 0.019480f, 0.018603f, 0.017556f, 0.016370f, 0.015079f, 0.013718f, 0.012325f, 0.010936f, 0.009588f, 0.008311f, 0.007135f, 0.006083f, 0.005172f, 0.004415f, 0.003816f, 0.003374f, 0.003082f, 0.002927f, 0.002891f, 0.002953f, 0.003086f, 0.003264f, 0.003461f, 0.003649f, 0.003803f, 0.003904f, 0.003932f, 0.003877f, 0.003730f, 0.003492f, 0.003167f, 0.002768f, 0.002310f, 0.001816f, 0.001313f, 0.000830f, 0.000398f, 0.000050f, -0.000182f, -0.000270f, -0.000186f, 0.000092f, 0.000581f, 0.001290f, 0.002224f, 0.003379f, 0.004744f, 0.006300f, 0.008023f, 0.009882f, 0.011841f, 0.013860f, 0.015896f, 0.017906f, 0.019847f, 0.021676f, 0.023356f, 0.024853f, 0.026138f, 0.027190f, 0.027995f, 0.028547f, 0.028848f, 0.028908f, 0.028744f, 0.028381f, 0.027849f, 0.027185f, 0.026425f, 0.025613f, 0.024788f, 0.023992f, 0.023264f, 0.022636f, 0.022138f, 0.021793f, 0.021617f, -0.006798f, -0.003380f, -0.005360f, -0.017063f, -0.024441f, 0.043640f, -0.014016f, -0.027673f, -0.004845f, -0.006445f, 0.066361f, 0.018852f, -0.028729f, 0.009025f, -0.075865f, -0.155041f, + -0.065489f, -0.024469f, 0.057814f, 0.045172f, -0.070320f, -0.017821f, 0.023709f, 0.091718f, 0.085051f, 0.038182f, 0.023982f, 0.035655f, -0.041871f, -0.058230f, -0.142784f, 0.010733f, 0.042238f, 0.012938f, 0.030339f, 0.040082f, -0.074463f, -0.094555f, -0.048446f, 0.012442f, 0.066522f, 0.105550f, 0.071961f, 0.023148f, -0.035299f, -0.018424f, -0.024981f, 0.052714f, 0.035572f, 0.020446f, -0.032645f, 0.007755f, -0.115069f, -0.015310f, 0.054485f, 0.019836f, 0.089972f, 0.082585f, -0.056621f, -0.120010f, 0.049043f, -0.064568f, 0.094450f, 0.076680f, 0.070013f, -0.072832f, -0.093618f, -0.007507f, 0.053902f, 0.078265f, 0.059600f, 0.027789f, 0.036114f, -0.078578f, -0.104827f, -0.034592f, 0.110081f, 0.044529f, -0.025476f, -0.014728f} + } +}; +const float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][160]={ + { + {0.000607f, 0.001803f, 0.002941f, 0.003987f, 0.004908f, 0.005676f, 0.006269f, 0.006670f, 0.006871f, 0.006869f, 0.006669f, 0.006284f, 0.005731f, 0.005035f, 0.004225f, 0.003335f, 0.002399f, 0.001456f, 0.000541f, -0.000310f, -0.001064f, -0.001692f, -0.002171f, -0.002481f, -0.002612f, -0.002559f, -0.002323f, -0.001912f, -0.001343f, -0.000635f, 0.000185f, 0.001087f, 0.002039f, 0.003006f, 0.003952f, 0.004845f, 0.005652f, 0.006344f, 0.006897f, 0.007292f, 0.007516f, 0.007561f, 0.007426f, 0.007117f, 0.006645f, 0.006027f, 0.005286f, 0.004447f, 0.003538f, 0.002591f, 0.001637f, 0.000706f, -0.000172f, -0.000971f, -0.001669f, -0.002246f, -0.002689f, -0.002991f, -0.003148f, -0.003164f, -0.003048f, -0.002812f, -0.002473f, -0.002053f, -0.001575f, -0.001062f, -0.000541f, -0.000035f, 0.000433f, 0.000842f, 0.001176f, 0.001423f, 0.001573f, 0.001623f, 0.001574f, 0.001432f, 0.001208f, 0.000914f, 0.000570f, 0.000194f, -0.459479f, -0.951950f, -0.610059f, 0.138191f, 0.698547f, 0.755794f, 0.243522f, -0.422384f, -0.808827f, -0.724027f, -0.130870f, 0.461622f, 0.869354f, 0.667862f, 0.030528f, -0.564204f, + -0.789139f, -0.468785f, 0.151851f, 0.678618f, 0.728923f, 0.337296f, -0.322960f, -0.700194f, -0.616049f, -0.096016f, 0.456132f, 0.702443f, 0.459349f, -0.073372f, -0.568805f, -0.671612f, -0.336520f, 0.244638f, 0.631826f, 0.616483f, 0.154529f, -0.375939f, -0.696641f, -0.506498f, -0.125118f, 0.355222f, 0.719377f, 0.553326f, 0.037725f, -0.527374f, -0.690573f, -0.394549f, 0.197449f, 0.629232f, 0.651166f, 0.208908f, -0.366272f, -0.701915f, -0.536790f, -0.016971f, 0.507334f, 0.650466f, 0.370984f, -0.166281f, -0.567325f, -0.572139f, -0.176415f, 0.334892f, 0.656461f, 0.489993f, -0.017768f, -0.524054f, -0.675884f, -0.371239f, 0.173392f, 0.605124f, 0.610706f, 0.200456f, -0.353918f, -0.678277f, -0.528640f, 0.011060f, 0.178932f, 0.016192f}, + {0.000607f, 0.001803f, 0.002941f, 0.003987f, 0.004908f, 0.005676f, 0.006269f, 0.006670f, 0.006871f, 0.006869f, 0.006669f, 0.006284f, 0.005731f, 0.005035f, 0.004225f, 0.003335f, 0.002399f, 0.001456f, 0.000541f, -0.000310f, -0.001064f, -0.001692f, -0.002171f, -0.002481f, -0.002612f, -0.002559f, -0.002323f, -0.001912f, -0.001343f, -0.000635f, 0.000185f, 0.001087f, 0.002039f, 0.003006f, 0.003952f, 0.004845f, 0.005652f, 0.006344f, 0.006897f, 0.007292f, 0.007516f, 0.007561f, 0.007426f, 0.007117f, 0.006645f, 0.006027f, 0.005286f, 0.004447f, 0.003538f, 0.002591f, 0.001637f, 0.000706f, -0.000172f, -0.000971f, -0.001669f, -0.002246f, -0.002689f, -0.002991f, -0.003148f, -0.003164f, -0.003048f, -0.002812f, -0.002473f, -0.002053f, -0.001575f, -0.001062f, -0.000541f, -0.000035f, 0.000433f, 0.000842f, 0.001176f, 0.001423f, 0.001573f, 0.001623f, 0.001574f, 0.001432f, 0.001208f, 0.000914f, 0.000570f, 0.000194f, -0.459479f, -0.951950f, -0.610059f, 0.138191f, 0.698547f, 0.755794f, 0.243522f, -0.422384f, -0.808827f, -0.724027f, -0.130870f, 0.461622f, 0.869354f, 0.667862f, 0.030528f, -0.564204f, + -0.789139f, -0.468785f, 0.151851f, 0.678618f, 0.728923f, 0.337296f, -0.322960f, -0.700194f, -0.616049f, -0.096016f, 0.456132f, 0.702443f, 0.459349f, -0.073372f, -0.568805f, -0.671612f, -0.336520f, 0.244638f, 0.631826f, 0.616483f, 0.154529f, -0.375939f, -0.696641f, -0.506498f, -0.125118f, 0.355222f, 0.719377f, 0.553326f, 0.037725f, -0.527374f, -0.690573f, -0.394549f, 0.197449f, 0.629232f, 0.651166f, 0.208908f, -0.366272f, -0.701915f, -0.536790f, -0.016971f, 0.507334f, 0.650466f, 0.370984f, -0.166281f, -0.567325f, -0.572139f, -0.176415f, 0.334892f, 0.656461f, 0.489993f, -0.017768f, -0.524054f, -0.675884f, -0.371239f, 0.173392f, 0.605124f, 0.610706f, 0.200456f, -0.353918f, -0.678277f, -0.528640f, 0.011060f, 0.178932f, 0.016192f} + }, + { + {-0.000028f, -0.000064f, -0.000047f, 0.000057f, 0.000277f, 0.000636f, 0.001148f, 0.001820f, 0.002652f, 0.003632f, 0.004741f, 0.005950f, 0.007223f, 0.008519f, 0.009791f, 0.010988f, 0.012060f, 0.012957f, 0.013630f, 0.014038f, 0.014144f, 0.013921f, 0.013351f, 0.012427f, 0.011152f, 0.009542f, 0.007624f, 0.005434f, 0.003019f, 0.000435f, -0.002256f, -0.004988f, -0.007692f, -0.010299f, -0.012741f, -0.014955f, -0.016883f, -0.018478f, -0.019699f, -0.020520f, -0.020923f, -0.020906f, -0.020476f, -0.019656f, -0.018475f, -0.016978f, -0.015215f, -0.013244f, -0.011126f, -0.008927f, -0.006712f, -0.004545f, -0.002485f, -0.000587f, 0.001104f, 0.002550f, 0.003724f, 0.004610f, 0.005201f, 0.005502f, 0.005529f, 0.005305f, 0.004864f, 0.004243f, 0.003487f, 0.002642f, 0.001754f, 0.000870f, 0.000034f, -0.000716f, -0.001348f, -0.001837f, -0.002165f, -0.002323f, -0.002313f, -0.002143f, -0.001829f, -0.001397f, -0.000875f, -0.000298f, 0.049516f, -0.016037f, -0.521945f, -0.600714f, -0.029292f, 0.813281f, 0.895652f, 0.289258f, -0.543355f, -0.625823f, -0.515181f, 0.034355f, 0.575869f, 0.500667f, 0.121120f, -0.361979f, + -0.606832f, -0.496113f, 0.005333f, 0.414143f, 0.580698f, 0.317632f, -0.123453f, -0.594664f, -0.557657f, -0.170560f, 0.347315f, 0.570357f, 0.524617f, 0.029358f, -0.385025f, -0.657018f, -0.442508f, 0.047188f, 0.566067f, 0.676706f, 0.403551f, -0.225043f, -0.701688f, -0.732583f, -0.153816f, 0.530671f, 0.759112f, 0.500505f, -0.145926f, -0.705732f, -0.797320f, -0.331604f, 0.352242f, 0.751981f, 0.630519f, 0.087976f, -0.520840f, -0.793402f, -0.527497f, 0.103267f, 0.614565f, 0.706032f, 0.311946f, -0.262008f, -0.694822f, -0.602989f, -0.144676f, 0.461612f, 0.706272f, 0.594113f, 0.074776f, -0.567699f, -0.848702f, -0.547886f, 0.099706f, 0.689166f, 0.802677f, 0.361753f, -0.323913f, -0.825131f, -0.715404f, -0.075227f, 0.194978f, 0.028869f}, + {0.000028f, 0.000064f, 0.000047f, -0.000057f, -0.000277f, -0.000636f, -0.001148f, -0.001820f, -0.002652f, -0.003632f, -0.004741f, -0.005950f, -0.007223f, -0.008519f, -0.009791f, -0.010988f, -0.012060f, -0.012957f, -0.013630f, -0.014038f, -0.014144f, -0.013921f, -0.013351f, -0.012427f, -0.011152f, -0.009542f, -0.007624f, -0.005434f, -0.003019f, -0.000435f, 0.002256f, 0.004988f, 0.007692f, 0.010299f, 0.012741f, 0.014955f, 0.016883f, 0.018478f, 0.019699f, 0.020520f, 0.020923f, 0.020906f, 0.020476f, 0.019656f, 0.018475f, 0.016978f, 0.015215f, 0.013244f, 0.011126f, 0.008927f, 0.006712f, 0.004545f, 0.002485f, 0.000587f, -0.001104f, -0.002550f, -0.003724f, -0.004610f, -0.005201f, -0.005502f, -0.005529f, -0.005305f, -0.004864f, -0.004243f, -0.003487f, -0.002642f, -0.001754f, -0.000870f, -0.000034f, 0.000716f, 0.001348f, 0.001837f, 0.002165f, 0.002323f, 0.002313f, 0.002143f, 0.001829f, 0.001397f, 0.000875f, 0.000298f, -0.049516f, 0.016037f, 0.521945f, 0.600714f, 0.029292f, -0.813281f, -0.895652f, -0.289258f, 0.543355f, 0.625823f, 0.515181f, -0.034355f, -0.575869f, -0.500667f, -0.121120f, 0.361979f, + 0.606832f, 0.496113f, -0.005333f, -0.414143f, -0.580698f, -0.317632f, 0.123453f, 0.594664f, 0.557657f, 0.170560f, -0.347315f, -0.570357f, -0.524617f, -0.029358f, 0.385025f, 0.657018f, 0.442508f, -0.047188f, -0.566067f, -0.676706f, -0.403551f, 0.225043f, 0.701688f, 0.732583f, 0.153816f, -0.530671f, -0.759112f, -0.500505f, 0.145926f, 0.705732f, 0.797320f, 0.331604f, -0.352242f, -0.751981f, -0.630519f, -0.087976f, 0.520840f, 0.793402f, 0.527497f, -0.103267f, -0.614565f, -0.706032f, -0.311946f, 0.262008f, 0.694822f, 0.602989f, 0.144676f, -0.461612f, -0.706272f, -0.594113f, -0.074776f, 0.567699f, 0.848702f, 0.547886f, -0.099706f, -0.689166f, -0.802677f, -0.361753f, 0.323913f, 0.825131f, 0.715404f, 0.075227f, -0.194978f, -0.028869f} + }, + { + {-0.002049f, -0.006137f, -0.010191f, -0.014189f, -0.018104f, -0.021908f, -0.025569f, -0.029052f, -0.032317f, -0.035324f, -0.038027f, -0.040382f, -0.042343f, -0.043866f, -0.044911f, -0.045440f, -0.045425f, -0.044844f, -0.043685f, -0.041947f, -0.039643f, -0.036797f, -0.033448f, -0.029645f, -0.025454f, -0.020950f, -0.016218f, -0.011354f, -0.006457f, -0.001632f, 0.003016f, 0.007386f, 0.011379f, 0.014907f, 0.017890f, 0.020262f, 0.021975f, 0.022994f, 0.023306f, 0.022916f, 0.021846f, 0.020138f, 0.017854f, 0.015067f, 0.011866f, 0.008351f, 0.004630f, 0.000813f, -0.002986f, -0.006656f, -0.010095f, -0.013206f, -0.015906f, -0.018127f, -0.019817f, -0.020943f, -0.021489f, -0.021460f, -0.020879f, -0.019786f, -0.018238f, -0.016306f, -0.014069f, -0.011618f, -0.009046f, -0.006448f, -0.003917f, -0.001539f, 0.000606f, 0.002452f, 0.003945f, 0.005047f, 0.005737f, 0.006012f, 0.005883f, 0.005383f, 0.004554f, 0.003455f, 0.002156f, 0.000733f, -0.053532f, -0.109196f, -0.086606f, 0.162774f, 0.099803f, -0.116839f, -0.089392f, 0.002755f, 0.080534f, 0.214951f, 0.393055f, 0.297771f, -0.042420f, 0.153547f, -0.076270f, -0.120569f, + -0.076604f, 0.071527f, 0.104329f, 0.154195f, 0.151670f, 0.126907f, -0.048054f, -0.206848f, -0.149739f, 0.103995f, 0.196515f, 0.126410f, -0.048876f, -0.168393f, -0.243439f, -0.096971f, 0.089561f, 0.213767f, 0.166510f, -0.022170f, -0.234052f, -0.229570f, -0.126619f, 0.074107f, -0.002399f, -0.073743f, 0.180669f, 0.201660f, 0.154371f, -0.075191f, -0.177736f, -0.194067f, -0.013786f, 0.187680f, 0.312445f, 0.144326f, -0.067784f, -0.307789f, -0.322030f, -0.101992f, 0.291143f, 0.459699f, 0.311581f, -0.124169f, -0.472205f, -0.547137f, -0.207796f, 0.230226f, 0.540592f, 0.296952f, -0.147969f, -0.489454f, -0.374088f, -0.015802f, 0.384106f, 0.405885f, 0.192708f, -0.211852f, -0.407725f, -0.306114f, 0.005897f, 0.206910f, 0.112954f, -0.018858f}, + {-0.002049f, -0.006137f, -0.010191f, -0.014189f, -0.018104f, -0.021908f, -0.025569f, -0.029052f, -0.032317f, -0.035324f, -0.038027f, -0.040382f, -0.042343f, -0.043866f, -0.044911f, -0.045440f, -0.045425f, -0.044844f, -0.043685f, -0.041947f, -0.039643f, -0.036797f, -0.033448f, -0.029645f, -0.025454f, -0.020950f, -0.016218f, -0.011354f, -0.006457f, -0.001632f, 0.003016f, 0.007386f, 0.011379f, 0.014907f, 0.017890f, 0.020262f, 0.021975f, 0.022994f, 0.023306f, 0.022916f, 0.021846f, 0.020138f, 0.017854f, 0.015067f, 0.011866f, 0.008351f, 0.004630f, 0.000813f, -0.002986f, -0.006656f, -0.010095f, -0.013206f, -0.015906f, -0.018127f, -0.019817f, -0.020943f, -0.021489f, -0.021460f, -0.020879f, -0.019786f, -0.018238f, -0.016306f, -0.014069f, -0.011618f, -0.009046f, -0.006448f, -0.003917f, -0.001539f, 0.000606f, 0.002452f, 0.003945f, 0.005047f, 0.005737f, 0.006012f, 0.005883f, 0.005383f, 0.004554f, 0.003455f, 0.002156f, 0.000733f, -0.053532f, -0.109196f, -0.086606f, 0.162774f, 0.099803f, -0.116839f, -0.089392f, 0.002755f, 0.080534f, 0.214951f, 0.393055f, 0.297771f, -0.042420f, 0.153547f, -0.076270f, -0.120569f, + -0.076604f, 0.071527f, 0.104329f, 0.154195f, 0.151670f, 0.126907f, -0.048054f, -0.206848f, -0.149739f, 0.103995f, 0.196515f, 0.126410f, -0.048876f, -0.168393f, -0.243439f, -0.096971f, 0.089561f, 0.213767f, 0.166510f, -0.022170f, -0.234052f, -0.229570f, -0.126619f, 0.074107f, -0.002399f, -0.073743f, 0.180669f, 0.201660f, 0.154371f, -0.075191f, -0.177736f, -0.194067f, -0.013786f, 0.187680f, 0.312445f, 0.144326f, -0.067784f, -0.307789f, -0.322030f, -0.101992f, 0.291143f, 0.459699f, 0.311581f, -0.124169f, -0.472205f, -0.547137f, -0.207796f, 0.230226f, 0.540592f, 0.296952f, -0.147969f, -0.489454f, -0.374088f, -0.015802f, 0.384106f, 0.405885f, 0.192708f, -0.211852f, -0.407725f, -0.306114f, 0.005897f, 0.206910f, 0.112954f, -0.018858f} + }, + { + {-0.002979f, -0.008865f, -0.014542f, -0.019875f, -0.024743f, -0.029039f, -0.032672f, -0.035573f, -0.037694f, -0.039013f, -0.039531f, -0.039270f, -0.038279f, -0.036624f, -0.034392f, -0.031683f, -0.028609f, -0.025289f, -0.021845f, -0.018401f, -0.015072f, -0.011968f, -0.009183f, -0.006800f, -0.004881f, -0.003472f, -0.002596f, -0.002257f, -0.002438f, -0.003104f, -0.004203f, -0.005666f, -0.007416f, -0.009364f, -0.011416f, -0.013477f, -0.015454f, -0.017259f, -0.018811f, -0.020042f, -0.020895f, -0.021330f, -0.021323f, -0.020864f, -0.019962f, -0.018642f, -0.016942f, -0.014912f, -0.012615f, -0.010120f, -0.007501f, -0.004836f, -0.002200f, 0.000335f, 0.002701f, 0.004842f, 0.006707f, 0.008262f, 0.009481f, 0.010354f, 0.010882f, 0.011077f, 0.010965f, 0.010580f, 0.009961f, 0.009156f, 0.008215f, 0.007188f, 0.006125f, 0.005072f, 0.004069f, 0.003150f, 0.002341f, 0.001658f, 0.001109f, 0.000692f, 0.000396f, 0.000204f, 0.000089f, 0.000024f, 0.018537f, -0.096517f, -0.083216f, -0.068111f, 0.126978f, -0.056448f, -0.042199f, -0.056482f, 0.074167f, -0.101773f, 0.145968f, 0.114355f, -0.071478f, 0.426941f, 0.538155f, 0.360363f, + -0.186372f, -0.505267f, -0.535014f, -0.210270f, 0.325886f, 0.716462f, 0.480627f, -0.077920f, -0.628838f, -0.734112f, -0.373618f, 0.360840f, 0.853482f, 0.697573f, 0.039156f, -0.676419f, -0.832215f, -0.419382f, 0.334418f, 0.737157f, 0.684616f, 0.031005f, -0.472156f, -0.677356f, -0.115395f, 0.531824f, 0.481723f, 0.216816f, -0.300102f, -0.550024f, -0.505144f, -0.111673f, 0.271949f, 0.498213f, 0.302390f, -0.032707f, -0.353690f, -0.393293f, -0.220326f, 0.106674f, 0.285470f, 0.295027f, 0.108805f, -0.127253f, -0.289592f, -0.237662f, -0.061127f, 0.192110f, 0.217903f, 0.245619f, 0.078096f, -0.183461f, -0.291423f, -0.188723f, 0.072156f, 0.188735f, 0.161749f, -0.007838f, -0.132645f, -0.168727f, -0.025125f, 0.068325f, 0.026307f, 0.002243f}, + {-0.002979f, -0.008865f, -0.014542f, -0.019875f, -0.024743f, -0.029039f, -0.032672f, -0.035573f, -0.037694f, -0.039013f, -0.039531f, -0.039270f, -0.038279f, -0.036624f, -0.034392f, -0.031683f, -0.028609f, -0.025289f, -0.021845f, -0.018401f, -0.015072f, -0.011968f, -0.009183f, -0.006800f, -0.004881f, -0.003472f, -0.002596f, -0.002257f, -0.002438f, -0.003104f, -0.004203f, -0.005666f, -0.007416f, -0.009364f, -0.011416f, -0.013477f, -0.015454f, -0.017259f, -0.018811f, -0.020042f, -0.020895f, -0.021330f, -0.021323f, -0.020864f, -0.019962f, -0.018642f, -0.016942f, -0.014912f, -0.012615f, -0.010120f, -0.007501f, -0.004836f, -0.002200f, 0.000335f, 0.002701f, 0.004842f, 0.006707f, 0.008262f, 0.009481f, 0.010354f, 0.010882f, 0.011077f, 0.010965f, 0.010580f, 0.009961f, 0.009156f, 0.008215f, 0.007188f, 0.006125f, 0.005072f, 0.004069f, 0.003150f, 0.002341f, 0.001658f, 0.001109f, 0.000692f, 0.000396f, 0.000204f, 0.000089f, 0.000024f, 0.018537f, -0.096517f, -0.083216f, -0.068111f, 0.126978f, -0.056448f, -0.042199f, -0.056482f, 0.074167f, -0.101773f, 0.145968f, 0.114355f, -0.071478f, 0.426941f, 0.538155f, 0.360363f, + -0.186372f, -0.505267f, -0.535014f, -0.210270f, 0.325886f, 0.716462f, 0.480627f, -0.077920f, -0.628838f, -0.734112f, -0.373618f, 0.360840f, 0.853482f, 0.697573f, 0.039156f, -0.676419f, -0.832215f, -0.419382f, 0.334418f, 0.737157f, 0.684616f, 0.031005f, -0.472156f, -0.677356f, -0.115395f, 0.531824f, 0.481723f, 0.216816f, -0.300102f, -0.550024f, -0.505144f, -0.111673f, 0.271949f, 0.498213f, 0.302390f, -0.032707f, -0.353690f, -0.393293f, -0.220326f, 0.106674f, 0.285470f, 0.295027f, 0.108805f, -0.127253f, -0.289592f, -0.237662f, -0.061127f, 0.192110f, 0.217903f, 0.245619f, 0.078096f, -0.183461f, -0.291423f, -0.188723f, 0.072156f, 0.188735f, 0.161749f, -0.007838f, -0.132645f, -0.168727f, -0.025125f, 0.068325f, 0.026307f, 0.002243f} + }, + { + {-0.001271f, -0.003806f, -0.006319f, -0.008795f, -0.011219f, -0.013571f, -0.015834f, -0.017985f, -0.020002f, -0.021861f, -0.023538f, -0.025008f, -0.026245f, -0.027228f, -0.027936f, -0.028352f, -0.028464f, -0.028264f, -0.027752f, -0.026933f, -0.025823f, -0.024440f, -0.022816f, -0.020986f, -0.018994f, -0.016889f, -0.014727f, -0.012565f, -0.010464f, -0.008486f, -0.006689f, -0.005131f, -0.003862f, -0.002926f, -0.002361f, -0.002191f, -0.002431f, -0.003086f, -0.004144f, -0.005586f, -0.007376f, -0.009470f, -0.011811f, -0.014337f, -0.016976f, -0.019652f, -0.022285f, -0.024798f, -0.027114f, -0.029160f, -0.030872f, -0.032194f, -0.033081f, -0.033500f, -0.033433f, -0.032875f, -0.031837f, -0.030342f, -0.028429f, -0.026147f, -0.023558f, -0.020731f, -0.017743f, -0.014674f, -0.011606f, -0.008619f, -0.005791f, -0.003191f, -0.000880f, 0.001090f, 0.002682f, 0.003872f, 0.004648f, 0.005017f, 0.004998f, 0.004624f, 0.003939f, 0.003003f, 0.001878f, 0.000639f, 0.010287f, -0.025862f, 0.003522f, -0.063971f, -0.010736f, -0.004017f, 0.065013f, 0.014935f, 0.011906f, 0.012134f, 0.059546f, 0.090188f, -0.032056f, 0.214094f, 0.315625f, 0.132257f, + -0.085677f, -0.176533f, -0.328515f, 0.006548f, 0.077254f, 0.172006f, 0.130077f, -0.050939f, -0.147319f, -0.175481f, -0.015915f, 0.183005f, 0.275542f, 0.163849f, -0.045876f, -0.231947f, -0.305143f, -0.103493f, 0.318577f, 0.372426f, 0.152045f, -0.142956f, -0.327595f, -0.317176f, 0.056505f, 0.373643f, 0.289109f, 0.066352f, -0.239115f, -0.369703f, -0.261113f, -0.021009f, 0.129663f, 0.303046f, 0.226674f, 0.047611f, -0.171431f, -0.269969f, -0.200202f, -0.019742f, 0.201558f, 0.202901f, 0.215602f, -0.179436f, -0.185167f, -0.199768f, -0.180089f, 0.056742f, 0.259194f, 0.198250f, -0.056107f, -0.255992f, -0.280588f, -0.053432f, 0.201582f, 0.267791f, 0.201270f, 0.005637f, -0.254080f, -0.299426f, -0.121162f, 0.120114f, 0.089266f, -0.000746f}, + {0.001271f, 0.003806f, 0.006319f, 0.008795f, 0.011219f, 0.013571f, 0.015834f, 0.017985f, 0.020002f, 0.021861f, 0.023538f, 0.025008f, 0.026245f, 0.027228f, 0.027936f, 0.028352f, 0.028464f, 0.028264f, 0.027752f, 0.026933f, 0.025823f, 0.024440f, 0.022816f, 0.020986f, 0.018994f, 0.016889f, 0.014727f, 0.012565f, 0.010464f, 0.008486f, 0.006689f, 0.005131f, 0.003862f, 0.002926f, 0.002361f, 0.002191f, 0.002431f, 0.003086f, 0.004144f, 0.005586f, 0.007376f, 0.009470f, 0.011811f, 0.014337f, 0.016976f, 0.019652f, 0.022285f, 0.024798f, 0.027114f, 0.029160f, 0.030872f, 0.032194f, 0.033081f, 0.033500f, 0.033433f, 0.032875f, 0.031837f, 0.030342f, 0.028429f, 0.026147f, 0.023558f, 0.020731f, 0.017743f, 0.014674f, 0.011606f, 0.008619f, 0.005791f, 0.003191f, 0.000880f, -0.001090f, -0.002682f, -0.003872f, -0.004648f, -0.005017f, -0.004998f, -0.004624f, -0.003939f, -0.003003f, -0.001878f, -0.000639f, -0.010287f, 0.025862f, -0.003522f, 0.063971f, 0.010736f, 0.004017f, -0.065013f, -0.014935f, -0.011906f, -0.012134f, -0.059546f, -0.090188f, 0.032056f, -0.214094f, -0.315625f, -0.132257f, + 0.085677f, 0.176533f, 0.328515f, -0.006548f, -0.077254f, -0.172006f, -0.130077f, 0.050939f, 0.147319f, 0.175481f, 0.015915f, -0.183005f, -0.275542f, -0.163849f, 0.045876f, 0.231947f, 0.305143f, 0.103493f, -0.318577f, -0.372426f, -0.152045f, 0.142956f, 0.327595f, 0.317176f, -0.056505f, -0.373643f, -0.289109f, -0.066352f, 0.239115f, 0.369703f, 0.261113f, 0.021009f, -0.129663f, -0.303046f, -0.226674f, -0.047611f, 0.171431f, 0.269969f, 0.200202f, 0.019742f, -0.201558f, -0.202901f, -0.215602f, 0.179436f, 0.185167f, 0.199768f, 0.180089f, -0.056742f, -0.259194f, -0.198250f, 0.056107f, 0.255992f, 0.280588f, 0.053432f, -0.201582f, -0.267791f, -0.201270f, -0.005637f, 0.254080f, 0.299426f, 0.121162f, -0.120114f, -0.089266f, 0.000746f} + }, + { + {-0.000422f, -0.001277f, -0.002162f, -0.003095f, -0.004091f, -0.005161f, -0.006311f, -0.007544f, -0.008852f, -0.010227f, -0.011651f, -0.013103f, -0.014557f, -0.015982f, -0.017346f, -0.018615f, -0.019755f, -0.020732f, -0.021517f, -0.022084f, -0.022411f, -0.022485f, -0.022297f, -0.021847f, -0.021144f, -0.020204f, -0.019048f, -0.017708f, -0.016220f, -0.014625f, -0.012968f, -0.011295f, -0.009655f, -0.008093f, -0.006653f, -0.005373f, -0.004289f, -0.003426f, -0.002802f, -0.002429f, -0.002307f, -0.002428f, -0.002776f, -0.003325f, -0.004044f, -0.004894f, -0.005832f, -0.006811f, -0.007785f, -0.008704f, -0.009524f, -0.010204f, -0.010706f, -0.011001f, -0.011067f, -0.010890f, -0.010467f, -0.009803f, -0.008912f, -0.007818f, -0.006551f, -0.005150f, -0.003656f, -0.002118f, -0.000584f, 0.000896f, 0.002275f, 0.003508f, 0.004556f, 0.005386f, 0.005974f, 0.006302f, 0.006362f, 0.006159f, 0.005703f, 0.005015f, 0.004125f, 0.003070f, 0.001892f, 0.000639f, 0.000874f, -0.009172f, 0.023843f, -0.041505f, -0.009350f, 0.003922f, -0.020028f, -0.094046f, 0.052693f, 0.228541f, 0.219444f, 0.055538f, -0.168216f, 0.262500f, 0.274549f, 0.105242f, + -0.095691f, -0.096583f, -0.189003f, 0.038250f, 0.080178f, 0.150798f, 0.117774f, -0.002444f, -0.089614f, -0.015171f, 0.036019f, -0.011500f, 0.023508f, -0.065226f, 0.117525f, 0.110962f, 0.095450f, -0.020307f, -0.110097f, -0.162295f, -0.073784f, 0.049988f, 0.119861f, 0.115686f, 0.042856f, -0.048324f, -0.038860f, -0.091620f, -0.060945f, -0.003739f, -0.001925f, 0.034329f, -0.047167f, 0.023862f, 0.043742f, -0.002122f, -0.029370f, -0.067574f, -0.061597f, 0.017295f, 0.125612f, 0.154726f, 0.032113f, -0.142604f, -0.178638f, -0.178711f, -0.050331f, 0.121150f, 0.166307f, 0.090444f, -0.066326f, -0.192987f, -0.107998f, 0.069844f, 0.218412f, 0.105896f, -0.096378f, -0.313954f, -0.225068f, 0.010541f, 0.290160f, 0.197862f, 0.008664f, -0.018292f}, + {0.000422f, 0.001277f, 0.002162f, 0.003095f, 0.004091f, 0.005161f, 0.006311f, 0.007544f, 0.008852f, 0.010227f, 0.011651f, 0.013103f, 0.014557f, 0.015982f, 0.017346f, 0.018615f, 0.019755f, 0.020732f, 0.021517f, 0.022084f, 0.022411f, 0.022485f, 0.022297f, 0.021847f, 0.021144f, 0.020204f, 0.019048f, 0.017708f, 0.016220f, 0.014625f, 0.012968f, 0.011295f, 0.009655f, 0.008093f, 0.006653f, 0.005373f, 0.004289f, 0.003426f, 0.002802f, 0.002429f, 0.002307f, 0.002428f, 0.002776f, 0.003325f, 0.004044f, 0.004894f, 0.005832f, 0.006811f, 0.007785f, 0.008704f, 0.009524f, 0.010204f, 0.010706f, 0.011001f, 0.011067f, 0.010890f, 0.010467f, 0.009803f, 0.008912f, 0.007818f, 0.006551f, 0.005150f, 0.003656f, 0.002118f, 0.000584f, -0.000896f, -0.002275f, -0.003508f, -0.004556f, -0.005386f, -0.005974f, -0.006302f, -0.006362f, -0.006159f, -0.005703f, -0.005015f, -0.004125f, -0.003070f, -0.001892f, -0.000639f, -0.000874f, 0.009172f, -0.023843f, 0.041505f, 0.009350f, -0.003922f, 0.020028f, 0.094046f, -0.052693f, -0.228541f, -0.219444f, -0.055538f, 0.168216f, -0.262500f, -0.274549f, -0.105242f, + 0.095691f, 0.096583f, 0.189003f, -0.038250f, -0.080178f, -0.150798f, -0.117774f, 0.002444f, 0.089614f, 0.015171f, -0.036019f, 0.011500f, -0.023508f, 0.065226f, -0.117525f, -0.110962f, -0.095450f, 0.020307f, 0.110097f, 0.162295f, 0.073784f, -0.049988f, -0.119861f, -0.115686f, -0.042856f, 0.048324f, 0.038860f, 0.091620f, 0.060945f, 0.003739f, 0.001925f, -0.034329f, 0.047167f, -0.023862f, -0.043742f, 0.002122f, 0.029370f, 0.067574f, 0.061597f, -0.017295f, -0.125612f, -0.154726f, -0.032113f, 0.142604f, 0.178638f, 0.178711f, 0.050331f, -0.121150f, -0.166307f, -0.090444f, 0.066326f, 0.192987f, 0.107998f, -0.069844f, -0.218412f, -0.105896f, 0.096378f, 0.313954f, 0.225068f, -0.010541f, -0.290160f, -0.197862f, -0.008664f, 0.018292f} + }, + { + {0.000526f, 0.001528f, 0.002380f, 0.002988f, 0.003270f, 0.003158f, 0.002603f, 0.001572f, 0.000058f, -0.001926f, -0.004346f, -0.007147f, -0.010252f, -0.013572f, -0.017003f, -0.020433f, -0.023745f, -0.026825f, -0.029561f, -0.031852f, -0.033611f, -0.034767f, -0.035272f, -0.035100f, -0.034248f, -0.032740f, -0.030623f, -0.027968f, -0.024868f, -0.021431f, -0.017782f, -0.014055f, -0.010386f, -0.006916f, -0.003776f, -0.001091f, 0.001031f, 0.002501f, 0.003251f, 0.003239f, 0.002447f, 0.000887f, -0.001404f, -0.004360f, -0.007895f, -0.011901f, -0.016251f, -0.020809f, -0.025429f, -0.029963f, -0.034266f, -0.038199f, -0.041639f, -0.044477f, -0.046626f, -0.048022f, -0.048626f, -0.048426f, -0.047439f, -0.045703f, -0.043285f, -0.040270f, -0.036762f, -0.032879f, -0.028747f, -0.024497f, -0.020259f, -0.016157f, -0.012304f, -0.008801f, -0.005727f, -0.003143f, -0.001085f, 0.000434f, 0.001426f, 0.001925f, 0.001988f, 0.001692f, 0.001126f, 0.000394f, 0.000377f, -0.004315f, 0.090374f, 0.028043f, -0.111509f, -0.071921f, -0.048123f, -0.059930f, 0.018585f, 0.180009f, 0.179706f, 0.053170f, -0.080109f, 0.203490f, 0.181306f, 0.087950f, + 0.202835f, 0.201270f, 0.109761f, -0.098069f, -0.005379f, 0.038498f, 0.004876f, 0.131472f, 0.196808f, 0.306935f, 0.136389f, -0.167915f, -0.169671f, -0.201512f, -0.030400f, 0.060340f, 0.275389f, 0.355090f, -0.074280f, -0.350298f, -0.380008f, -0.121118f, 0.078095f, 0.469865f, 0.156853f, -0.070127f, -0.116803f, -0.216734f, -0.033254f, 0.195144f, 0.232857f, -0.072946f, -0.518533f, -0.463226f, -0.050250f, 0.324958f, 0.555663f, 0.309110f, -0.070454f, -0.467882f, -0.439207f, -0.251808f, 0.240861f, 0.045852f, 0.246108f, 0.058463f, -0.269844f, -0.250916f, 0.103022f, -0.096435f, -0.322138f, -0.151651f, 0.043486f, 0.269199f, 0.226042f, 0.156135f, 0.005328f, -0.013613f, -0.187280f, -0.099045f, -0.136306f, 0.023148f, 0.048837f, 0.021336f}, + {0.000526f, 0.001528f, 0.002380f, 0.002988f, 0.003270f, 0.003158f, 0.002603f, 0.001572f, 0.000058f, -0.001926f, -0.004346f, -0.007147f, -0.010252f, -0.013572f, -0.017003f, -0.020433f, -0.023745f, -0.026825f, -0.029561f, -0.031852f, -0.033611f, -0.034767f, -0.035272f, -0.035100f, -0.034248f, -0.032740f, -0.030623f, -0.027968f, -0.024868f, -0.021431f, -0.017782f, -0.014055f, -0.010386f, -0.006916f, -0.003776f, -0.001091f, 0.001031f, 0.002501f, 0.003251f, 0.003239f, 0.002447f, 0.000887f, -0.001404f, -0.004360f, -0.007895f, -0.011901f, -0.016251f, -0.020809f, -0.025429f, -0.029963f, -0.034266f, -0.038199f, -0.041639f, -0.044477f, -0.046626f, -0.048022f, -0.048626f, -0.048426f, -0.047439f, -0.045703f, -0.043285f, -0.040270f, -0.036762f, -0.032879f, -0.028747f, -0.024497f, -0.020259f, -0.016157f, -0.012304f, -0.008801f, -0.005727f, -0.003143f, -0.001085f, 0.000434f, 0.001426f, 0.001925f, 0.001988f, 0.001692f, 0.001126f, 0.000394f, 0.000377f, -0.004315f, 0.090374f, 0.028043f, -0.111509f, -0.071921f, -0.048123f, -0.059930f, 0.018585f, 0.180009f, 0.179706f, 0.053170f, -0.080109f, 0.203490f, 0.181306f, 0.087950f, + 0.202835f, 0.201270f, 0.109761f, -0.098069f, -0.005379f, 0.038498f, 0.004876f, 0.131472f, 0.196808f, 0.306935f, 0.136389f, -0.167915f, -0.169671f, -0.201512f, -0.030400f, 0.060340f, 0.275389f, 0.355090f, -0.074280f, -0.350298f, -0.380008f, -0.121118f, 0.078095f, 0.469865f, 0.156853f, -0.070127f, -0.116803f, -0.216734f, -0.033254f, 0.195144f, 0.232857f, -0.072946f, -0.518533f, -0.463226f, -0.050250f, 0.324958f, 0.555663f, 0.309110f, -0.070454f, -0.467882f, -0.439207f, -0.251808f, 0.240861f, 0.045852f, 0.246108f, 0.058463f, -0.269844f, -0.250916f, 0.103022f, -0.096435f, -0.322138f, -0.151651f, 0.043486f, 0.269199f, 0.226042f, 0.156135f, 0.005328f, -0.013613f, -0.187280f, -0.099045f, -0.136306f, 0.023148f, 0.048837f, 0.021336f} + }, + { + {-0.002594f, -0.007712f, -0.012620f, -0.017185f, -0.021288f, -0.024824f, -0.027705f, -0.029870f, -0.031276f, -0.031910f, -0.031781f, -0.030924f, -0.029396f, -0.027276f, -0.024661f, -0.021660f, -0.018394f, -0.014987f, -0.011567f, -0.008255f, -0.005167f, -0.002405f, -0.000055f, 0.001814f, 0.003156f, 0.003943f, 0.004175f, 0.003871f, 0.003071f, 0.001837f, 0.000245f, -0.001616f, -0.003644f, -0.005734f, -0.007780f, -0.009677f, -0.011328f, -0.012647f, -0.013560f, -0.014012f, -0.013966f, -0.013404f, -0.012331f, -0.010768f, -0.008761f, -0.006369f, -0.003667f, -0.000745f, 0.002303f, 0.005375f, 0.008369f, 0.011187f, 0.013736f, 0.015934f, 0.017713f, 0.019021f, 0.019821f, 0.020099f, 0.019857f, 0.019117f, 0.017919f, 0.016319f, 0.014386f, 0.012201f, 0.009851f, 0.007428f, 0.005024f, 0.002726f, 0.000617f, -0.001232f, -0.002763f, -0.003932f, -0.004714f, -0.005098f, -0.005093f, -0.004726f, -0.004038f, -0.003084f, -0.001932f, -0.000658f, -0.012474f, -0.068409f, 0.081137f, 0.018024f, -0.038156f, -0.198590f, -0.119597f, 0.145225f, 0.030798f, 0.246762f, 0.335612f, 0.283146f, 0.025065f, 0.021730f, 0.026732f, 0.074654f, + -0.011328f, -0.043913f, 0.087894f, -0.028229f, 0.021072f, -0.015218f, -0.005244f, -0.008447f, 0.003756f, -0.028338f, 0.020207f, 0.006246f, -0.029437f, -0.039636f, 0.036150f, 0.052762f, 0.055867f, -0.002273f, 0.056749f, 0.072060f, 0.125021f, -0.022258f, -0.103383f, -0.101215f, 0.051122f, 0.255149f, 0.083638f, -0.008516f, -0.206175f, -0.242208f, -0.099596f, 0.098204f, 0.220255f, 0.238644f, 0.067428f, -0.101735f, -0.242515f, -0.144450f, 0.001750f, 0.191021f, 0.214892f, 0.175162f, -0.065258f, -0.003858f, -0.178822f, -0.105369f, 0.148433f, 0.235889f, 0.048148f, 0.214517f, 0.280683f, -0.041329f, -0.275217f, -0.446013f, -0.180500f, 0.131700f, 0.348173f, 0.110471f, -0.088639f, -0.346427f, -0.207886f, -0.015941f, 0.061582f, 0.008943f}, + {-0.002594f, -0.007712f, -0.012620f, -0.017185f, -0.021288f, -0.024824f, -0.027705f, -0.029870f, -0.031276f, -0.031910f, -0.031781f, -0.030924f, -0.029396f, -0.027276f, -0.024661f, -0.021660f, -0.018394f, -0.014987f, -0.011567f, -0.008255f, -0.005167f, -0.002405f, -0.000055f, 0.001814f, 0.003156f, 0.003943f, 0.004175f, 0.003871f, 0.003071f, 0.001837f, 0.000245f, -0.001616f, -0.003644f, -0.005734f, -0.007780f, -0.009677f, -0.011328f, -0.012647f, -0.013560f, -0.014012f, -0.013966f, -0.013404f, -0.012331f, -0.010768f, -0.008761f, -0.006369f, -0.003667f, -0.000745f, 0.002303f, 0.005375f, 0.008369f, 0.011187f, 0.013736f, 0.015934f, 0.017713f, 0.019021f, 0.019821f, 0.020099f, 0.019857f, 0.019117f, 0.017919f, 0.016319f, 0.014386f, 0.012201f, 0.009851f, 0.007428f, 0.005024f, 0.002726f, 0.000617f, -0.001232f, -0.002763f, -0.003932f, -0.004714f, -0.005098f, -0.005093f, -0.004726f, -0.004038f, -0.003084f, -0.001932f, -0.000658f, -0.012474f, -0.068409f, 0.081137f, 0.018024f, -0.038156f, -0.198590f, -0.119597f, 0.145225f, 0.030798f, 0.246762f, 0.335612f, 0.283146f, 0.025065f, 0.021730f, 0.026732f, 0.074654f, + -0.011328f, -0.043913f, 0.087894f, -0.028229f, 0.021072f, -0.015218f, -0.005244f, -0.008447f, 0.003756f, -0.028338f, 0.020207f, 0.006246f, -0.029437f, -0.039636f, 0.036150f, 0.052762f, 0.055867f, -0.002273f, 0.056749f, 0.072060f, 0.125021f, -0.022258f, -0.103383f, -0.101215f, 0.051122f, 0.255149f, 0.083638f, -0.008516f, -0.206175f, -0.242208f, -0.099596f, 0.098204f, 0.220255f, 0.238644f, 0.067428f, -0.101735f, -0.242515f, -0.144450f, 0.001750f, 0.191021f, 0.214892f, 0.175162f, -0.065258f, -0.003858f, -0.178822f, -0.105369f, 0.148433f, 0.235889f, 0.048148f, 0.214517f, 0.280683f, -0.041329f, -0.275217f, -0.446013f, -0.180500f, 0.131700f, 0.348173f, 0.110471f, -0.088639f, -0.346427f, -0.207886f, -0.015941f, 0.061582f, 0.008943f} + }, + { + {-0.001692f, -0.005028f, -0.008216f, -0.011163f, -0.013784f, -0.015999f, -0.017743f, -0.018963f, -0.019618f, -0.019685f, -0.019158f, -0.018044f, -0.016368f, -0.014170f, -0.011503f, -0.008432f, -0.005034f, -0.001394f, 0.002400f, 0.006252f, 0.010069f, 0.013758f, 0.017231f, 0.020405f, 0.023206f, 0.025572f, 0.027450f, 0.028802f, 0.029603f, 0.029841f, 0.029520f, 0.028655f, 0.027275f, 0.025421f, 0.023143f, 0.020501f, 0.017560f, 0.014391f, 0.011068f, 0.007665f, 0.004257f, 0.000915f, -0.002296f, -0.005315f, -0.008088f, -0.010571f, -0.012727f, -0.014530f, -0.015961f, -0.017015f, -0.017691f, -0.018000f, -0.017960f, -0.017595f, -0.016937f, -0.016020f, -0.014885f, -0.013572f, -0.012124f, -0.010586f, -0.008998f, -0.007401f, -0.005833f, -0.004328f, -0.002917f, -0.001626f, -0.000476f, 0.000517f, 0.001341f, 0.001989f, 0.002459f, 0.002753f, 0.002880f, 0.002848f, 0.002672f, 0.002368f, 0.001958f, 0.001461f, 0.000902f, 0.000305f, 0.052321f, -0.018258f, -0.014124f, -0.007458f, 0.085842f, 0.029245f, 0.127256f, 0.076902f, 0.062256f, -0.207538f, -0.265521f, -0.146999f, 0.049472f, 0.221169f, 0.277951f, 0.057988f, + -0.163846f, -0.207114f, -0.156198f, -0.020525f, 0.023538f, 0.008611f, -0.073772f, -0.004242f, 0.012621f, 0.045953f, 0.085524f, 0.034636f, -0.040649f, -0.135494f, -0.246060f, -0.068648f, 0.063436f, 0.214739f, 0.183131f, 0.017595f, -0.223861f, -0.242391f, -0.153182f, 0.140545f, 0.085957f, 0.013702f, 0.005574f, -0.030685f, -0.047703f, -0.053997f, 0.043684f, 0.077892f, -0.121951f, -0.094316f, -0.020622f, 0.048746f, 0.099422f, 0.132104f, 0.049686f, -0.051357f, -0.107707f, -0.102422f, -0.027663f, 0.017056f, 0.121416f, 0.099038f, -0.013366f, -0.137160f, -0.169993f, -0.174993f, -0.068867f, 0.136114f, 0.298336f, 0.217147f, 0.060197f, -0.132593f, -0.302768f, -0.377783f, -0.187963f, 0.111969f, 0.290674f, 0.187006f, -0.004044f, -0.005747f}, + {-0.001692f, -0.005028f, -0.008216f, -0.011163f, -0.013784f, -0.015999f, -0.017743f, -0.018963f, -0.019618f, -0.019685f, -0.019158f, -0.018044f, -0.016368f, -0.014170f, -0.011503f, -0.008432f, -0.005034f, -0.001394f, 0.002400f, 0.006252f, 0.010069f, 0.013758f, 0.017231f, 0.020405f, 0.023206f, 0.025572f, 0.027450f, 0.028802f, 0.029603f, 0.029841f, 0.029520f, 0.028655f, 0.027275f, 0.025421f, 0.023143f, 0.020501f, 0.017560f, 0.014391f, 0.011068f, 0.007665f, 0.004257f, 0.000915f, -0.002296f, -0.005315f, -0.008088f, -0.010571f, -0.012727f, -0.014530f, -0.015961f, -0.017015f, -0.017691f, -0.018000f, -0.017960f, -0.017595f, -0.016937f, -0.016020f, -0.014885f, -0.013572f, -0.012124f, -0.010586f, -0.008998f, -0.007401f, -0.005833f, -0.004328f, -0.002917f, -0.001626f, -0.000476f, 0.000517f, 0.001341f, 0.001989f, 0.002459f, 0.002753f, 0.002880f, 0.002848f, 0.002672f, 0.002368f, 0.001958f, 0.001461f, 0.000902f, 0.000305f, 0.052321f, -0.018258f, -0.014124f, -0.007458f, 0.085842f, 0.029245f, 0.127256f, 0.076902f, 0.062256f, -0.207538f, -0.265521f, -0.146999f, 0.049472f, 0.221169f, 0.277951f, 0.057988f, + -0.163846f, -0.207114f, -0.156198f, -0.020525f, 0.023538f, 0.008611f, -0.073772f, -0.004242f, 0.012621f, 0.045953f, 0.085524f, 0.034636f, -0.040649f, -0.135494f, -0.246060f, -0.068648f, 0.063436f, 0.214739f, 0.183131f, 0.017595f, -0.223861f, -0.242391f, -0.153182f, 0.140545f, 0.085957f, 0.013702f, 0.005574f, -0.030685f, -0.047703f, -0.053997f, 0.043684f, 0.077892f, -0.121951f, -0.094316f, -0.020622f, 0.048746f, 0.099422f, 0.132104f, 0.049686f, -0.051357f, -0.107707f, -0.102422f, -0.027663f, 0.017056f, 0.121416f, 0.099038f, -0.013366f, -0.137160f, -0.169993f, -0.174993f, -0.068867f, 0.136114f, 0.298336f, 0.217147f, 0.060197f, -0.132593f, -0.302768f, -0.377783f, -0.187963f, 0.111969f, 0.290674f, 0.187006f, -0.004044f, -0.005747f} + }, + { + {-0.000558f, -0.001666f, -0.002744f, -0.003775f, -0.004741f, -0.005625f, -0.006412f, -0.007089f, -0.007643f, -0.008067f, -0.008352f, -0.008496f, -0.008497f, -0.008358f, -0.008085f, -0.007687f, -0.007176f, -0.006567f, -0.005880f, -0.005135f, -0.004356f, -0.003569f, -0.002801f, -0.002080f, -0.001434f, -0.000891f, -0.000478f, -0.000218f, -0.000135f, -0.000246f, -0.000566f, -0.001105f, -0.001866f, -0.002850f, -0.004049f, -0.005450f, -0.007035f, -0.008780f, -0.010654f, -0.012624f, -0.014652f, -0.016695f, -0.018712f, -0.020655f, -0.022482f, -0.024149f, -0.025614f, -0.026839f, -0.027792f, -0.028446f, -0.028779f, -0.028778f, -0.028436f, -0.027756f, -0.026748f, -0.025430f, -0.023827f, -0.021974f, -0.019908f, -0.017674f, -0.015321f, -0.012901f, -0.010465f, -0.008068f, -0.005760f, -0.003590f, -0.001603f, 0.000163f, 0.001675f, 0.002908f, 0.003846f, 0.004482f, 0.004816f, 0.004858f, 0.004627f, 0.004150f, 0.003460f, 0.002599f, 0.001611f, 0.000546f, -0.003770f, 0.007996f, 0.005573f, 0.016472f, 0.007182f, 0.044288f, 0.011606f, -0.007505f, -0.062271f, 0.017093f, 0.068697f, 0.092675f, -0.020103f, -0.156687f, -0.258295f, -0.046116f, + 0.049780f, 0.114779f, 0.121823f, 0.014310f, 0.050240f, 0.051792f, -0.064670f, -0.151209f, 0.009424f, 0.066156f, 0.084879f, 0.123221f, 0.031022f, -0.025727f, -0.025793f, -0.123459f, -0.062745f, 0.067638f, 0.121865f, 0.061490f, -0.090830f, -0.111481f, -0.066207f, 0.040890f, 0.153123f, 0.064350f, -0.048007f, -0.108089f, -0.125505f, -0.055847f, 0.066616f, 0.080845f, 0.058894f, 0.044339f, 0.007831f, 0.014588f, -0.023608f, -0.060232f, -0.028704f, -0.015617f, 0.008922f, 0.020130f, 0.115085f, -0.084148f, -0.032057f, -0.027896f, -0.178202f, -0.035726f, 0.103966f, -0.004503f, -0.107328f, -0.051314f, 0.040183f, 0.106784f, 0.123118f, 0.050550f, -0.031071f, -0.123654f, -0.125188f, 0.033855f, 0.170898f, 0.080395f, -0.029415f, 0.001535f}, + {0.000558f, 0.001666f, 0.002744f, 0.003775f, 0.004741f, 0.005625f, 0.006412f, 0.007089f, 0.007643f, 0.008067f, 0.008352f, 0.008496f, 0.008497f, 0.008358f, 0.008085f, 0.007687f, 0.007176f, 0.006567f, 0.005880f, 0.005135f, 0.004356f, 0.003569f, 0.002801f, 0.002080f, 0.001434f, 0.000891f, 0.000478f, 0.000218f, 0.000135f, 0.000246f, 0.000566f, 0.001105f, 0.001866f, 0.002850f, 0.004049f, 0.005450f, 0.007035f, 0.008780f, 0.010654f, 0.012624f, 0.014652f, 0.016695f, 0.018712f, 0.020655f, 0.022482f, 0.024149f, 0.025614f, 0.026839f, 0.027792f, 0.028446f, 0.028779f, 0.028778f, 0.028436f, 0.027756f, 0.026748f, 0.025430f, 0.023827f, 0.021974f, 0.019908f, 0.017674f, 0.015321f, 0.012901f, 0.010465f, 0.008068f, 0.005760f, 0.003590f, 0.001603f, -0.000163f, -0.001675f, -0.002908f, -0.003846f, -0.004482f, -0.004816f, -0.004858f, -0.004627f, -0.004150f, -0.003460f, -0.002599f, -0.001611f, -0.000546f, 0.003770f, -0.007996f, -0.005573f, -0.016472f, -0.007182f, -0.044288f, -0.011606f, 0.007505f, 0.062271f, -0.017093f, -0.068697f, -0.092675f, 0.020103f, 0.156687f, 0.258295f, 0.046116f, + -0.049780f, -0.114779f, -0.121823f, -0.014310f, -0.050240f, -0.051792f, 0.064670f, 0.151209f, -0.009424f, -0.066156f, -0.084879f, -0.123221f, -0.031022f, 0.025727f, 0.025793f, 0.123459f, 0.062745f, -0.067638f, -0.121865f, -0.061490f, 0.090830f, 0.111481f, 0.066207f, -0.040890f, -0.153123f, -0.064350f, 0.048007f, 0.108089f, 0.125505f, 0.055847f, -0.066616f, -0.080845f, -0.058894f, -0.044339f, -0.007831f, -0.014588f, 0.023608f, 0.060232f, 0.028704f, 0.015617f, -0.008922f, -0.020130f, -0.115085f, 0.084148f, 0.032057f, 0.027896f, 0.178202f, 0.035726f, -0.103966f, 0.004503f, 0.107328f, 0.051314f, -0.040183f, -0.106784f, -0.123118f, -0.050550f, 0.031071f, 0.123654f, 0.125188f, -0.033855f, -0.170898f, -0.080395f, 0.029415f, -0.001535f} + }, + { + {0.000862f, 0.002556f, 0.004157f, 0.005606f, 0.006850f, 0.007842f, 0.008545f, 0.008928f, 0.008973f, 0.008674f, 0.008032f, 0.007065f, 0.005796f, 0.004261f, 0.002503f, 0.000572f, -0.001476f, -0.003582f, -0.005686f, -0.007728f, -0.009650f, -0.011400f, -0.012929f, -0.014196f, -0.015171f, -0.015829f, -0.016158f, -0.016154f, -0.015822f, -0.015178f, -0.014245f, -0.013053f, -0.011640f, -0.010045f, -0.008313f, -0.006489f, -0.004618f, -0.002742f, -0.000902f, 0.000867f, 0.002535f, 0.004078f, 0.005479f, 0.006727f, 0.007819f, 0.008758f, 0.009553f, 0.010216f, 0.010766f, 0.011222f, 0.011608f, 0.011945f, 0.012255f, 0.012557f, 0.012867f, 0.013199f, 0.013560f, 0.013952f, 0.014374f, 0.014816f, 0.015268f, 0.015710f, 0.016124f, 0.016484f, 0.016766f, 0.016942f, 0.016989f, 0.016882f, 0.016600f, 0.016127f, 0.015449f, 0.014561f, 0.013461f, 0.012156f, 0.010657f, 0.008982f, 0.007154f, 0.005202f, 0.003159f, 0.001059f, 0.023448f, 0.005825f, -0.022065f, -0.036579f, -0.016601f, -0.039625f, -0.054493f, -0.094171f, -0.105878f, 0.148193f, 0.209846f, 0.052288f, -0.006002f, 0.049658f, 0.028289f, -0.014931f, + 0.041590f, 0.089350f, 0.005856f, 0.044491f, -0.012375f, -0.061657f, 0.039654f, -0.012926f, 0.101497f, 0.021184f, 0.055042f, -0.077356f, -0.100797f, 0.005554f, 0.024743f, 0.019643f, -0.047675f, -0.021206f, 0.021776f, 0.022907f, 0.057359f, 0.057288f, -0.061156f, -0.036074f, -0.012394f, 0.046598f, 0.064612f, 0.016399f, -0.062802f, -0.118880f, -0.064031f, 0.021831f, -0.004281f, 0.062860f, 0.102262f, 0.063315f, -0.050738f, -0.078626f, -0.040798f, 0.042795f, 0.103842f, 0.131407f, -0.012216f, -0.012968f, -0.147305f, -0.093946f, 0.099562f, 0.170198f, 0.054699f, 0.159959f, 0.064843f, -0.126388f, -0.082527f, -0.075983f, 0.091236f, 0.113720f, 0.068035f, -0.142226f, -0.248413f, -0.166680f, -0.111711f, -0.032544f, 0.089623f, -0.019143f}, + {-0.000862f, -0.002556f, -0.004157f, -0.005606f, -0.006850f, -0.007842f, -0.008545f, -0.008928f, -0.008973f, -0.008674f, -0.008032f, -0.007065f, -0.005796f, -0.004261f, -0.002503f, -0.000572f, 0.001476f, 0.003582f, 0.005686f, 0.007728f, 0.009650f, 0.011400f, 0.012929f, 0.014196f, 0.015171f, 0.015829f, 0.016158f, 0.016154f, 0.015822f, 0.015178f, 0.014245f, 0.013053f, 0.011640f, 0.010045f, 0.008313f, 0.006489f, 0.004618f, 0.002742f, 0.000902f, -0.000867f, -0.002535f, -0.004078f, -0.005479f, -0.006727f, -0.007819f, -0.008758f, -0.009553f, -0.010216f, -0.010766f, -0.011222f, -0.011608f, -0.011945f, -0.012255f, -0.012557f, -0.012867f, -0.013199f, -0.013560f, -0.013952f, -0.014374f, -0.014816f, -0.015268f, -0.015710f, -0.016124f, -0.016484f, -0.016766f, -0.016942f, -0.016989f, -0.016882f, -0.016600f, -0.016127f, -0.015449f, -0.014561f, -0.013461f, -0.012156f, -0.010657f, -0.008982f, -0.007154f, -0.005202f, -0.003159f, -0.001059f, -0.023448f, -0.005825f, 0.022065f, 0.036579f, 0.016601f, 0.039625f, 0.054493f, 0.094171f, 0.105878f, -0.148193f, -0.209846f, -0.052288f, 0.006002f, -0.049658f, -0.028289f, 0.014931f, + -0.041590f, -0.089350f, -0.005856f, -0.044491f, 0.012375f, 0.061657f, -0.039654f, 0.012926f, -0.101497f, -0.021184f, -0.055042f, 0.077356f, 0.100797f, -0.005554f, -0.024743f, -0.019643f, 0.047675f, 0.021206f, -0.021776f, -0.022907f, -0.057359f, -0.057288f, 0.061156f, 0.036074f, 0.012394f, -0.046598f, -0.064612f, -0.016399f, 0.062802f, 0.118880f, 0.064031f, -0.021831f, 0.004281f, -0.062860f, -0.102262f, -0.063315f, 0.050738f, 0.078626f, 0.040798f, -0.042795f, -0.103842f, -0.131407f, 0.012216f, 0.012968f, 0.147305f, 0.093946f, -0.099562f, -0.170198f, -0.054699f, -0.159959f, -0.064843f, 0.126388f, 0.082527f, 0.075983f, -0.091236f, -0.113720f, -0.068035f, 0.142226f, 0.248413f, 0.166680f, 0.111711f, 0.032544f, -0.089623f, 0.019143f} + }, + { + {0.002838f, 0.008432f, 0.013783f, 0.018737f, 0.023156f, 0.026916f, 0.029917f, 0.032084f, 0.033369f, 0.033752f, 0.033243f, 0.031880f, 0.029728f, 0.026877f, 0.023436f, 0.019533f, 0.015308f, 0.010907f, 0.006479f, 0.002172f, -0.001878f, -0.005545f, -0.008720f, -0.011315f, -0.013266f, -0.014533f, -0.015101f, -0.014982f, -0.014214f, -0.012856f, -0.010989f, -0.008711f, -0.006132f, -0.003373f, -0.000558f, 0.002190f, 0.004751f, 0.007016f, 0.008888f, 0.010286f, 0.011150f, 0.011440f, 0.011137f, 0.010247f, 0.008796f, 0.006831f, 0.004417f, 0.001634f, -0.001424f, -0.004656f, -0.007955f, -0.011217f, -0.014336f, -0.017218f, -0.019776f, -0.021940f, -0.023652f, -0.024875f, -0.025587f, -0.025788f, -0.025492f, -0.024734f, -0.023560f, -0.022031f, -0.020217f, -0.018193f, -0.016039f, -0.013833f, -0.011651f, -0.009559f, -0.007617f, -0.005872f, -0.004357f, -0.003092f, -0.002082f, -0.001315f, -0.000769f, -0.000408f, -0.000187f, -0.000052f, -0.032260f, 0.033530f, -0.015083f, 0.002969f, -0.029097f, 0.006049f, -0.162991f, -0.104632f, 0.022061f, 0.115641f, 0.098353f, 0.071940f, 0.020150f, 0.220503f, 0.076297f, -0.054021f, + -0.123732f, -0.059160f, 0.065687f, 0.048633f, -0.021224f, -0.090388f, -0.047552f, -0.073986f, -0.001862f, 0.017505f, 0.031101f, 0.052275f, 0.045599f, 0.002273f, -0.071046f, -0.120569f, -0.092279f, 0.091367f, 0.131120f, 0.081603f, -0.005236f, -0.045101f, -0.126606f, 0.063292f, 0.010243f, -0.173430f, -0.029654f, -0.041122f, 0.128891f, 0.149425f, 0.109340f, -0.140884f, -0.253227f, -0.245313f, 0.003423f, 0.227577f, 0.418611f, 0.180603f, -0.007698f, -0.355744f, -0.397453f, -0.237559f, 0.177173f, 0.166279f, 0.281223f, 0.134825f, -0.161094f, -0.180949f, -0.014477f, -0.137344f, -0.120363f, -0.006787f, -0.072081f, -0.045147f, -0.078544f, 0.079862f, 0.147038f, 0.191205f, 0.028206f, -0.067228f, -0.245851f, -0.108712f, 0.005946f, 0.041767f}, + {-0.002838f, -0.008432f, -0.013783f, -0.018737f, -0.023156f, -0.026916f, -0.029917f, -0.032084f, -0.033369f, -0.033752f, -0.033243f, -0.031880f, -0.029728f, -0.026877f, -0.023436f, -0.019533f, -0.015308f, -0.010907f, -0.006479f, -0.002172f, 0.001878f, 0.005545f, 0.008720f, 0.011315f, 0.013266f, 0.014533f, 0.015101f, 0.014982f, 0.014214f, 0.012856f, 0.010989f, 0.008711f, 0.006132f, 0.003373f, 0.000558f, -0.002190f, -0.004751f, -0.007016f, -0.008888f, -0.010286f, -0.011150f, -0.011440f, -0.011137f, -0.010247f, -0.008796f, -0.006831f, -0.004417f, -0.001634f, 0.001424f, 0.004656f, 0.007955f, 0.011217f, 0.014336f, 0.017218f, 0.019776f, 0.021940f, 0.023652f, 0.024875f, 0.025587f, 0.025788f, 0.025492f, 0.024734f, 0.023560f, 0.022031f, 0.020217f, 0.018193f, 0.016039f, 0.013833f, 0.011651f, 0.009559f, 0.007617f, 0.005872f, 0.004357f, 0.003092f, 0.002082f, 0.001315f, 0.000769f, 0.000408f, 0.000187f, 0.000052f, 0.032260f, -0.033530f, 0.015083f, -0.002969f, 0.029097f, -0.006049f, 0.162991f, 0.104632f, -0.022061f, -0.115641f, -0.098353f, -0.071940f, -0.020150f, -0.220503f, -0.076297f, 0.054021f, + 0.123732f, 0.059160f, -0.065687f, -0.048633f, 0.021224f, 0.090388f, 0.047552f, 0.073986f, 0.001862f, -0.017505f, -0.031101f, -0.052275f, -0.045599f, -0.002273f, 0.071046f, 0.120569f, 0.092279f, -0.091367f, -0.131120f, -0.081603f, 0.005236f, 0.045101f, 0.126606f, -0.063292f, -0.010243f, 0.173430f, 0.029654f, 0.041122f, -0.128891f, -0.149425f, -0.109340f, 0.140884f, 0.253227f, 0.245313f, -0.003423f, -0.227577f, -0.418611f, -0.180603f, 0.007698f, 0.355744f, 0.397453f, 0.237559f, -0.177173f, -0.166279f, -0.281223f, -0.134825f, 0.161094f, 0.180949f, 0.014477f, 0.137344f, 0.120363f, 0.006787f, 0.072081f, 0.045147f, 0.078544f, -0.079862f, -0.147038f, -0.191205f, -0.028206f, 0.067228f, 0.245851f, 0.108712f, -0.005946f, -0.041767f} + }, + { + {0.001417f, 0.004213f, 0.006899f, 0.009406f, 0.011674f, 0.013652f, 0.015305f, 0.016608f, 0.017553f, 0.018149f, 0.018418f, 0.018397f, 0.018136f, 0.017694f, 0.017137f, 0.016538f, 0.015967f, 0.015493f, 0.015180f, 0.015080f, 0.015235f, 0.015670f, 0.016397f, 0.017407f, 0.018674f, 0.020154f, 0.021789f, 0.023502f, 0.025209f, 0.026812f, 0.028212f, 0.029308f, 0.030000f, 0.030198f, 0.029822f, 0.028808f, 0.027110f, 0.024706f, 0.021593f, 0.017795f, 0.013362f, 0.008367f, 0.002904f, -0.002910f, -0.008943f, -0.015050f, -0.021075f, -0.026863f, -0.032258f, -0.037112f, -0.041288f, -0.044668f, -0.047156f, -0.048678f, -0.049192f, -0.048682f, -0.047166f, -0.044690f, -0.041333f, -0.037198f, -0.032413f, -0.027126f, -0.021500f, -0.015708f, -0.009928f, -0.004333f, 0.000909f, 0.005646f, 0.009741f, 0.013084f, 0.015591f, 0.017208f, 0.017913f, 0.017715f, 0.016657f, 0.014812f, 0.012282f, 0.009191f, 0.005685f, 0.001924f, -0.037055f, 0.016619f, -0.044855f, 0.019307f, -0.046802f, 0.052235f, 0.029452f, -0.090642f, -0.084602f, 0.021858f, -0.092365f, -0.083654f, 0.048261f, -0.100817f, -0.290582f, -0.107580f, + 0.169082f, 0.221924f, 0.238889f, -0.137615f, 0.012779f, 0.194037f, 0.175402f, -0.026204f, -0.167182f, -0.108575f, -0.081142f, 0.067975f, 0.225941f, 0.184811f, 0.043057f, -0.140596f, -0.169342f, -0.108633f, 0.036195f, 0.127169f, 0.170863f, 0.027724f, -0.060391f, -0.103888f, -0.095562f, 0.017380f, 0.139349f, 0.137799f, 0.028598f, -0.119610f, -0.152271f, -0.068246f, -0.031898f, 0.036047f, 0.120064f, 0.127166f, 0.152684f, 0.025783f, -0.081842f, -0.292260f, -0.231206f, -0.064232f, 0.219482f, 0.037531f, 0.140152f, 0.094400f, -0.105524f, -0.184059f, -0.070996f, -0.192582f, -0.235947f, 0.029902f, 0.090350f, 0.157738f, 0.002441f, -0.003316f, -0.036480f, 0.201197f, 0.025254f, 0.086645f, -0.302854f, -0.271850f, 0.039836f, 0.008343f}, + {0.001417f, 0.004213f, 0.006899f, 0.009406f, 0.011674f, 0.013652f, 0.015305f, 0.016608f, 0.017553f, 0.018149f, 0.018418f, 0.018397f, 0.018136f, 0.017694f, 0.017137f, 0.016538f, 0.015967f, 0.015493f, 0.015180f, 0.015080f, 0.015235f, 0.015670f, 0.016397f, 0.017407f, 0.018674f, 0.020154f, 0.021789f, 0.023502f, 0.025209f, 0.026812f, 0.028212f, 0.029308f, 0.030000f, 0.030198f, 0.029822f, 0.028808f, 0.027110f, 0.024706f, 0.021593f, 0.017795f, 0.013362f, 0.008367f, 0.002904f, -0.002910f, -0.008943f, -0.015050f, -0.021075f, -0.026863f, -0.032258f, -0.037112f, -0.041288f, -0.044668f, -0.047156f, -0.048678f, -0.049192f, -0.048682f, -0.047166f, -0.044690f, -0.041333f, -0.037198f, -0.032413f, -0.027126f, -0.021500f, -0.015708f, -0.009928f, -0.004333f, 0.000909f, 0.005646f, 0.009741f, 0.013084f, 0.015591f, 0.017208f, 0.017913f, 0.017715f, 0.016657f, 0.014812f, 0.012282f, 0.009191f, 0.005685f, 0.001924f, -0.037055f, 0.016619f, -0.044855f, 0.019307f, -0.046802f, 0.052235f, 0.029452f, -0.090642f, -0.084602f, 0.021858f, -0.092365f, -0.083654f, 0.048261f, -0.100817f, -0.290582f, -0.107580f, + 0.169082f, 0.221924f, 0.238889f, -0.137615f, 0.012779f, 0.194037f, 0.175402f, -0.026204f, -0.167182f, -0.108575f, -0.081142f, 0.067975f, 0.225941f, 0.184811f, 0.043057f, -0.140596f, -0.169342f, -0.108633f, 0.036195f, 0.127169f, 0.170863f, 0.027724f, -0.060391f, -0.103888f, -0.095562f, 0.017380f, 0.139349f, 0.137799f, 0.028598f, -0.119610f, -0.152271f, -0.068246f, -0.031898f, 0.036047f, 0.120064f, 0.127166f, 0.152684f, 0.025783f, -0.081842f, -0.292260f, -0.231206f, -0.064232f, 0.219482f, 0.037531f, 0.140152f, 0.094400f, -0.105524f, -0.184059f, -0.070996f, -0.192582f, -0.235947f, 0.029902f, 0.090350f, 0.157738f, 0.002441f, -0.003316f, -0.036480f, 0.201197f, 0.025254f, 0.086645f, -0.302854f, -0.271850f, 0.039836f, 0.008343f} + }, + { + {0.000678f, 0.002005f, 0.003245f, 0.004342f, 0.005251f, 0.005932f, 0.006358f, 0.006511f, 0.006390f, 0.006004f, 0.005376f, 0.004542f, 0.003548f, 0.002449f, 0.001309f, 0.000193f, -0.000829f, -0.001692f, -0.002332f, -0.002695f, -0.002734f, -0.002415f, -0.001719f, -0.000640f, 0.000810f, 0.002605f, 0.004701f, 0.007042f, 0.009559f, 0.012171f, 0.014789f, 0.017321f, 0.019670f, 0.021745f, 0.023456f, 0.024724f, 0.025479f, 0.025666f, 0.025247f, 0.024200f, 0.022524f, 0.020235f, 0.017369f, 0.013981f, 0.010140f, 0.005932f, 0.001453f, -0.003193f, -0.007894f, -0.012539f, -0.017017f, -0.021225f, -0.025065f, -0.028453f, -0.031320f, -0.033611f, -0.035290f, -0.036339f, -0.036761f, -0.036573f, -0.035812f, -0.034531f, -0.032792f, -0.030672f, -0.028253f, -0.025620f, -0.022861f, -0.020061f, -0.017297f, -0.014642f, -0.012154f, -0.009880f, -0.007853f, -0.006092f, -0.004597f, -0.003358f, -0.002349f, -0.001532f, -0.000859f, -0.000276f, -0.001478f, 0.043843f, 0.014752f, -0.018881f, -0.016664f, 0.070932f, 0.100190f, 0.017333f, -0.088039f, -0.193031f, -0.136385f, -0.038987f, 0.093755f, -0.091169f, -0.063585f, -0.021465f, + 0.067888f, 0.136567f, 0.333335f, -0.026602f, -0.089426f, -0.069872f, -0.017664f, 0.016592f, 0.180053f, 0.100658f, 0.081240f, -0.052269f, -0.183656f, -0.094968f, -0.097229f, 0.062112f, 0.073215f, 0.132789f, -0.018266f, -0.096281f, -0.159036f, -0.059303f, -0.038813f, 0.030417f, 0.064639f, 0.086041f, -0.010160f, -0.081758f, -0.083045f, -0.029956f, 0.028823f, 0.030263f, -0.098869f, -0.074274f, 0.013947f, 0.079593f, 0.036589f, 0.070035f, -0.017284f, -0.058669f, -0.016308f, -0.063333f, 0.040365f, -0.137154f, 0.098537f, 0.099193f, -0.103408f, -0.161889f, 0.019474f, -0.105259f, -0.098933f, 0.078835f, -0.040012f, -0.050375f, -0.163213f, -0.008125f, 0.189076f, 0.445716f, 0.196394f, -0.035165f, -0.260981f, -0.127357f, -0.001061f, 0.023980f}, + {0.000678f, 0.002005f, 0.003245f, 0.004342f, 0.005251f, 0.005932f, 0.006358f, 0.006511f, 0.006390f, 0.006004f, 0.005376f, 0.004542f, 0.003548f, 0.002449f, 0.001309f, 0.000193f, -0.000829f, -0.001692f, -0.002332f, -0.002695f, -0.002734f, -0.002415f, -0.001719f, -0.000640f, 0.000810f, 0.002605f, 0.004701f, 0.007042f, 0.009559f, 0.012171f, 0.014789f, 0.017321f, 0.019670f, 0.021745f, 0.023456f, 0.024724f, 0.025479f, 0.025666f, 0.025247f, 0.024200f, 0.022524f, 0.020235f, 0.017369f, 0.013981f, 0.010140f, 0.005932f, 0.001453f, -0.003193f, -0.007894f, -0.012539f, -0.017017f, -0.021225f, -0.025065f, -0.028453f, -0.031320f, -0.033611f, -0.035290f, -0.036339f, -0.036761f, -0.036573f, -0.035812f, -0.034531f, -0.032792f, -0.030672f, -0.028253f, -0.025620f, -0.022861f, -0.020061f, -0.017297f, -0.014642f, -0.012154f, -0.009880f, -0.007853f, -0.006092f, -0.004597f, -0.003358f, -0.002349f, -0.001532f, -0.000859f, -0.000276f, -0.001478f, 0.043843f, 0.014752f, -0.018881f, -0.016664f, 0.070932f, 0.100190f, 0.017333f, -0.088039f, -0.193031f, -0.136385f, -0.038987f, 0.093755f, -0.091169f, -0.063585f, -0.021465f, + 0.067888f, 0.136567f, 0.333335f, -0.026602f, -0.089426f, -0.069872f, -0.017664f, 0.016592f, 0.180053f, 0.100658f, 0.081240f, -0.052269f, -0.183656f, -0.094968f, -0.097229f, 0.062112f, 0.073215f, 0.132789f, -0.018266f, -0.096281f, -0.159036f, -0.059303f, -0.038813f, 0.030417f, 0.064639f, 0.086041f, -0.010160f, -0.081758f, -0.083045f, -0.029956f, 0.028823f, 0.030263f, -0.098869f, -0.074274f, 0.013947f, 0.079593f, 0.036589f, 0.070035f, -0.017284f, -0.058669f, -0.016308f, -0.063333f, 0.040365f, -0.137154f, 0.098537f, 0.099193f, -0.103408f, -0.161889f, 0.019474f, -0.105259f, -0.098933f, 0.078835f, -0.040012f, -0.050375f, -0.163213f, -0.008125f, 0.189076f, 0.445716f, 0.196394f, -0.035165f, -0.260981f, -0.127357f, -0.001061f, 0.023980f} + }, + { + {-0.002408f, -0.007164f, -0.011740f, -0.016022f, -0.019904f, -0.023293f, -0.026111f, -0.028295f, -0.029802f, -0.030607f, -0.030708f, -0.030118f, -0.028874f, -0.027028f, -0.024647f, -0.021813f, -0.018618f, -0.015159f, -0.011540f, -0.007865f, -0.004233f, -0.000740f, 0.002528f, 0.005496f, 0.008101f, 0.010297f, 0.012051f, 0.013349f, 0.014191f, 0.014593f, 0.014587f, 0.014214f, 0.013529f, 0.012594f, 0.011477f, 0.010247f, 0.008977f, 0.007734f, 0.006583f, 0.005581f, 0.004776f, 0.004206f, 0.003897f, 0.003865f, 0.004111f, 0.004627f, 0.005393f, 0.006379f, 0.007547f, 0.008852f, 0.010246f, 0.011676f, 0.013091f, 0.014440f, 0.015676f, 0.016757f, 0.017647f, 0.018320f, 0.018756f, 0.018945f, 0.018885f, 0.018584f, 0.018055f, 0.017321f, 0.016409f, 0.015350f, 0.014179f, 0.012929f, 0.011636f, 0.010331f, 0.009044f, 0.007799f, 0.006615f, 0.005505f, 0.004475f, 0.003527f, 0.002653f, 0.001845f, 0.001086f, 0.000359f, 0.003451f, -0.025273f, 0.031934f, 0.008073f, 0.036383f, -0.059115f, 0.015201f, -0.027867f, -0.036472f, 0.006728f, 0.089776f, 0.031569f, 0.052924f, 0.052550f, 0.036035f, 0.026876f, + 0.046325f, 0.144330f, 0.148471f, -0.098440f, -0.070547f, 0.075999f, 0.075345f, 0.056472f, -0.047392f, -0.016216f, -0.060330f, -0.063398f, -0.017374f, 0.045235f, 0.090822f, -0.025879f, -0.075482f, -0.028323f, 0.051387f, 0.075571f, 0.081483f, 0.000095f, -0.046879f, -0.036083f, 0.022425f, 0.036351f, 0.026749f, 0.010041f, -0.069061f, -0.048783f, -0.047015f, -0.027634f, -0.048952f, 0.007175f, 0.058529f, 0.075508f, -0.057571f, -0.037875f, -0.107202f, 0.001530f, 0.044873f, 0.111928f, 0.002121f, 0.069973f, -0.097021f, -0.088849f, 0.011183f, 0.116610f, 0.058783f, 0.143659f, 0.103156f, -0.039348f, -0.097690f, -0.106951f, -0.044435f, 0.033247f, 0.096534f, -0.020143f, -0.010372f, -0.080353f, -0.122396f, -0.107125f, 0.051493f, -0.012680f}, + {-0.002408f, -0.007164f, -0.011740f, -0.016022f, -0.019904f, -0.023293f, -0.026111f, -0.028295f, -0.029802f, -0.030607f, -0.030708f, -0.030118f, -0.028874f, -0.027028f, -0.024647f, -0.021813f, -0.018618f, -0.015159f, -0.011540f, -0.007865f, -0.004233f, -0.000740f, 0.002528f, 0.005496f, 0.008101f, 0.010297f, 0.012051f, 0.013349f, 0.014191f, 0.014593f, 0.014587f, 0.014214f, 0.013529f, 0.012594f, 0.011477f, 0.010247f, 0.008977f, 0.007734f, 0.006583f, 0.005581f, 0.004776f, 0.004206f, 0.003897f, 0.003865f, 0.004111f, 0.004627f, 0.005393f, 0.006379f, 0.007547f, 0.008852f, 0.010246f, 0.011676f, 0.013091f, 0.014440f, 0.015676f, 0.016757f, 0.017647f, 0.018320f, 0.018756f, 0.018945f, 0.018885f, 0.018584f, 0.018055f, 0.017321f, 0.016409f, 0.015350f, 0.014179f, 0.012929f, 0.011636f, 0.010331f, 0.009044f, 0.007799f, 0.006615f, 0.005505f, 0.004475f, 0.003527f, 0.002653f, 0.001845f, 0.001086f, 0.000359f, 0.003451f, -0.025273f, 0.031934f, 0.008073f, 0.036383f, -0.059115f, 0.015201f, -0.027867f, -0.036472f, 0.006728f, 0.089776f, 0.031569f, 0.052924f, 0.052550f, 0.036035f, 0.026876f, + 0.046325f, 0.144330f, 0.148471f, -0.098440f, -0.070547f, 0.075999f, 0.075345f, 0.056472f, -0.047392f, -0.016216f, -0.060330f, -0.063398f, -0.017374f, 0.045235f, 0.090822f, -0.025879f, -0.075482f, -0.028323f, 0.051387f, 0.075571f, 0.081483f, 0.000095f, -0.046879f, -0.036083f, 0.022425f, 0.036351f, 0.026749f, 0.010041f, -0.069061f, -0.048783f, -0.047015f, -0.027634f, -0.048952f, 0.007175f, 0.058529f, 0.075508f, -0.057571f, -0.037875f, -0.107202f, 0.001530f, 0.044873f, 0.111928f, 0.002121f, 0.069973f, -0.097021f, -0.088849f, 0.011183f, 0.116610f, 0.058783f, 0.143659f, 0.103156f, -0.039348f, -0.097690f, -0.106951f, -0.044435f, 0.033247f, 0.096534f, -0.020143f, -0.010372f, -0.080353f, -0.122396f, -0.107125f, 0.051493f, -0.012680f} + }, + { + {-0.000769f, -0.002289f, -0.003749f, -0.005115f, -0.006352f, -0.007430f, -0.008327f, -0.009024f, -0.009511f, -0.009782f, -0.009840f, -0.009694f, -0.009361f, -0.008859f, -0.008215f, -0.007457f, -0.006616f, -0.005724f, -0.004812f, -0.003911f, -0.003047f, -0.002244f, -0.001520f, -0.000889f, -0.000357f, 0.000073f, 0.000406f, 0.000654f, 0.000831f, 0.000957f, 0.001057f, 0.001156f, 0.001281f, 0.001459f, 0.001716f, 0.002074f, 0.002553f, 0.003168f, 0.003926f, 0.004831f, 0.005879f, 0.007059f, 0.008354f, 0.009742f, 0.011192f, 0.012674f, 0.014150f, 0.015581f, 0.016930f, 0.018156f, 0.019224f, 0.020100f, 0.020757f, 0.021171f, 0.021326f, 0.021214f, 0.020833f, 0.020192f, 0.019304f, 0.018191f, 0.016883f, 0.015413f, 0.013821f, 0.012147f, 0.010437f, 0.008733f, 0.007078f, 0.005512f, 0.004070f, 0.002782f, 0.001673f, 0.000758f, 0.000045f, -0.000464f, -0.000778f, -0.000910f, -0.000885f, -0.000730f, -0.000477f, -0.000166f, 0.008996f, -0.007501f, 0.003669f, -0.015821f, 0.037905f, 0.006306f, -0.038948f, 0.013367f, 0.009375f, 0.033153f, 0.012381f, -0.076053f, -0.024165f, -0.049333f, -0.093735f, 0.015389f, + 0.103849f, 0.086389f, 0.092310f, -0.047303f, 0.013689f, 0.074313f, 0.090886f, 0.049559f, -0.015663f, -0.052549f, -0.016329f, -0.076266f, -0.061826f, -0.063511f, 0.039646f, 0.123095f, 0.014255f, 0.014006f, 0.012179f, -0.051475f, -0.067447f, 0.041413f, 0.086814f, 0.105537f, 0.082272f, 0.021088f, -0.042444f, -0.065750f, -0.031024f, 0.002792f, 0.034656f, 0.036967f, -0.025911f, -0.038597f, -0.025850f, -0.024307f, -0.026230f, 0.141877f, 0.011333f, 0.059458f, 0.006121f, -0.057907f, -0.144673f, 0.083071f, 0.022746f, 0.048092f, 0.089863f, -0.028500f, -0.070405f, -0.107009f, 0.050452f, 0.079530f, 0.065303f, 0.007590f, -0.037520f, -0.038727f, -0.076749f, -0.091653f, 0.029711f, 0.108371f, 0.063467f, -0.081410f, -0.017582f, -0.012313f}, + {-0.000769f, -0.002289f, -0.003749f, -0.005115f, -0.006352f, -0.007430f, -0.008327f, -0.009024f, -0.009511f, -0.009782f, -0.009840f, -0.009694f, -0.009361f, -0.008859f, -0.008215f, -0.007457f, -0.006616f, -0.005724f, -0.004812f, -0.003911f, -0.003047f, -0.002244f, -0.001520f, -0.000889f, -0.000357f, 0.000073f, 0.000406f, 0.000654f, 0.000831f, 0.000957f, 0.001057f, 0.001156f, 0.001281f, 0.001459f, 0.001716f, 0.002074f, 0.002553f, 0.003168f, 0.003926f, 0.004831f, 0.005879f, 0.007059f, 0.008354f, 0.009742f, 0.011192f, 0.012674f, 0.014150f, 0.015581f, 0.016930f, 0.018156f, 0.019224f, 0.020100f, 0.020757f, 0.021171f, 0.021326f, 0.021214f, 0.020833f, 0.020192f, 0.019304f, 0.018191f, 0.016883f, 0.015413f, 0.013821f, 0.012147f, 0.010437f, 0.008733f, 0.007078f, 0.005512f, 0.004070f, 0.002782f, 0.001673f, 0.000758f, 0.000045f, -0.000464f, -0.000778f, -0.000910f, -0.000885f, -0.000730f, -0.000477f, -0.000166f, 0.008996f, -0.007501f, 0.003669f, -0.015821f, 0.037905f, 0.006306f, -0.038948f, 0.013367f, 0.009375f, 0.033153f, 0.012381f, -0.076053f, -0.024165f, -0.049333f, -0.093735f, 0.015389f, + 0.103849f, 0.086389f, 0.092310f, -0.047303f, 0.013689f, 0.074313f, 0.090886f, 0.049559f, -0.015663f, -0.052549f, -0.016329f, -0.076266f, -0.061826f, -0.063511f, 0.039646f, 0.123095f, 0.014255f, 0.014006f, 0.012179f, -0.051475f, -0.067447f, 0.041413f, 0.086814f, 0.105537f, 0.082272f, 0.021088f, -0.042444f, -0.065750f, -0.031024f, 0.002792f, 0.034656f, 0.036967f, -0.025911f, -0.038597f, -0.025850f, -0.024307f, -0.026230f, 0.141877f, 0.011333f, 0.059458f, 0.006121f, -0.057907f, -0.144673f, 0.083071f, 0.022746f, 0.048092f, 0.089863f, -0.028500f, -0.070405f, -0.107009f, 0.050452f, 0.079530f, 0.065303f, 0.007590f, -0.037520f, -0.038727f, -0.076749f, -0.091653f, 0.029711f, 0.108371f, 0.063467f, -0.081410f, -0.017582f, -0.012313f} + } +}; +const float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; +const float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]={NULL,NULL}; + +/********************** Sample Rate = 48000 **********************/ + +const float CRendBin_Combined_BRIR_latency_s_48kHz = 0.000145833328133f; +const int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz = 22; +const uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]={{22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22} }; +const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS] = {40, 40}; +const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][22]={{{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240},{116, 118, 117, 121, 112, 119, 121, 131, 134, 131, 137, 127, 134, 135, 134, 135, 129, 139, 135, 130, 128, 240}},{{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240},{122, 106, 121, 114, 121, 123, 119, 126, 123, 126, 127, 130, 128, 136, 132, 131, 129, 141, 137, 131, 129, 240}},{{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240},{118, 104, 116, 104, 123, 123, 122, 125, 130, 128, 132, 135, 131, 132, 131, 132, 135, 137, 144, 129, 129, 240}},{{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240},{102, 117, 116, 121, 117, 114, 115, 125, 126, 124, 125, 142, 133, 124, 129, 132, 134, 137, 143, 125, 125, 240}},{{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240},{116, 115, 117, 120, 121, 119, 125, 129, 123, 129, 124, 127, 128, 143, 133, 131, 136, 141, 158, 127, 131, 240}},{{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240},{112, 106, 118, 123, 115, 120, 129, 123, 130, 127, 130, 130, 131, 131, 131, 135, 134, 153, 138, 132, 127, 240}},{{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240},{107, 112, 111, 120, 115, 125, 122, 123, 132, 123, 133, 138, 125, 134, 130, 131, 135, 137, 136, 127, 121, 240}},{{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240},{111, 113, 132, 115, 121, 123, 121, 127, 135, 128, 129, 128, 133, 130, 133, 138, 134, 137, 152, 138, 124, 240}},{{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240},{114, 104, 114, 117, 125, 127, 123, 129, 123, 127, 144, 131, 138, 132, 129, 129, 132, 134, 136, 127, 121, 240}},{{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240},{100, 102, 112, 118, 115, 116, 118, 116, 121, 124, 125, 121, 125, 130, 127, 132, 133, 134, 134, 129, 132, 240}},{{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240},{106, 93, 103, 108, 124, 111, 114, 115, 120, 121, 119, 123, 131, 130, 132, 132, 132, 131, 140, 129, 131, 240}},{{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240},{108, 101, 115, 115, 115, 110, 121, 124, 124, 120, 122, 129, 124, 128, 125, 132, 135, 133, 138, 160, 119, 240}},{{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240},{112, 106, 114, 110, 128, 117, 120, 126, 124, 128, 126, 132, 129, 127, 133, 134, 136, 133, 154, 197, 129, 240}},{{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240},{102, 107, 111, 116, 116, 120, 118, 115, 120, 119, 128, 131, 131, 130, 128, 126, 126, 132, 145, 136, 133, 240}},{{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240},{111, 117, 106, 120, 123, 121, 125, 125, 130, 125, 123, 123, 127, 131, 125, 131, 135, 134, 148, 134, 132, 240}}}; +const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz = 98; +const float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[15]={0.224183f, 0.227455f, 0.241830f, 0.207155f, 0.218087f, 0.222942f, 0.232158f, 0.248203f, 0.249262f, 0.261591f, 0.246276f, 0.279163f, 0.285701f, 0.262541f, 0.271844f}; +const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98},{47, 47, 47, 47, 47, 47, 51, 51, 58, 58, 58, 65, 65, 65, 65, 65, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 91, 91, 93, 93, 93, 98}}; +const float CRendBin_Combined_BRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][2955]={ + { + {-0.009093f, 0.009357f, -0.003453f, 0.000012f, 0.008747f, -0.004985f, 0.003413f, -0.000634f, 0.001224f, -0.005937f, -0.012436f, -0.002558f, 0.004885f, -0.003188f, 0.002971f, 0.004317f, 0.003658f, -0.002726f, 0.002070f, -0.007687f, -0.001416f, 0.001935f, 0.003177f, -0.000251f, -0.000183f, 0.000966f, 0.001890f, -0.006432f, -0.005361f, 0.002269f, 0.004446f, -0.002213f, 0.004654f, 0.008920f, -0.011982f, 0.001718f, -0.005741f, -0.003864f, 0.002657f, -0.001469f, 0.007339f, -0.002261f, 0.006608f, 0.003502f, 0.001066f, -0.000452f, 0.003522f, 0.000236f, -0.000743f, -0.003707f, 0.010716f, -0.007427f, -0.002282f, 0.003802f, 0.004147f, -0.000158f, -0.003653f, 0.002094f, -0.004039f, 0.004196f, 0.000776f, 0.001549f, -0.000111f, -0.001391f, -0.001353f, 0.005598f, -0.014358f, 0.003399f, -0.001873f, -0.008279f, -0.001439f, 0.007045f, 0.003361f, 0.004391f, -0.006305f, 0.005087f, -0.002217f, 0.003215f, 0.001901f, 0.002512f, -0.002684f, 0.001092f, 0.003738f, -0.002456f, -0.005636f, 0.002331f, -0.005235f, 0.001052f, 0.003778f, 0.000046f, -0.001918f, -0.002121f, 0.000983f, 0.002093f, -0.000885f, 0.002506f, + 0.000072f, 0.001810f, 0.001468f, -0.000633f, -0.000400f, 0.000722f, -0.000855f, -0.000439f, -0.000674f, 0.000736f, -0.001170f, 0.000615f, -0.001693f, -0.000356f, -0.001593f, -0.000167f, -0.000536f, -0.001693f, -0.000430f, 0.000869f, -0.016548f, 0.013099f, -0.006110f, 0.003024f, 0.002545f, 0.000530f, -0.003448f, -0.000153f, -0.009247f, -0.011535f, 0.003315f, -0.002100f, 0.003770f, 0.003820f, 0.010643f, -0.008458f, 0.001381f, 0.007304f, 0.007055f, -0.006833f, -0.007323f, -0.003795f, -0.006343f, 0.000756f, -0.002040f, -0.004870f, -0.003752f, 0.000195f, -0.011680f, -0.011100f, -0.002255f, 0.002419f, -0.000896f, 0.001112f, -0.001224f, 0.002740f, -0.006075f, 0.007338f, -0.002398f, 0.004255f, -0.000762f, 0.003059f, -0.005530f, 0.002101f, 0.004053f, 0.004914f, 0.002178f, 0.001088f, 0.001822f, -0.001847f, -0.004563f, 0.009718f, 0.007337f, 0.003204f, -0.003443f, 0.012008f, 0.008134f, -0.003185f, 0.007655f, -0.000423f, -0.005762f, -0.001269f, -0.002000f, -0.005077f, 0.003548f, 0.004120f, 0.002022f, -0.003855f, 0.008485f, -0.005344f, 0.005024f, 0.007247f, -0.001229f, 0.000911f, -0.010281f, -0.004429f, + -0.011074f, 0.001827f, 0.005457f, -0.005184f, -0.001478f, 0.002281f, -0.004939f, -0.001227f, 0.002601f, -0.000101f, 0.001903f, -0.000963f, -0.002567f, -0.007177f, -0.003478f, -0.001127f, -0.001641f, -0.000406f, -0.000022f, 0.000663f, -0.000778f, -0.001037f, -0.002571f, -0.001026f, 0.000215f, 0.000803f, 0.000720f, -0.001278f, -0.000114f, 0.000175f, 0.000535f, -0.000117f, 0.000549f, 0.000069f, 0.000886f, 0.000094f, -0.001187f, -0.001996f, -0.002159f, 0.000001f, -0.001221f, -0.001584f, 0.000446f, 0.014016f, 0.006425f, -0.005359f, 0.002405f, 0.001850f, 0.022319f, -0.006555f, 0.006402f, 0.010902f, -0.002095f, 0.009925f, 0.004039f, 0.006766f, -0.008829f, -0.003238f, -0.010349f, -0.004751f, 0.006972f, -0.000161f, -0.004927f, 0.001222f, -0.007261f, -0.000524f, -0.004758f, 0.006675f, -0.002917f, -0.000866f, -0.002631f, 0.003572f, 0.001537f, 0.000128f, -0.000865f, 0.002945f, -0.010921f, -0.008350f, 0.003731f, 0.001053f, -0.001082f, -0.005474f, 0.012960f, 0.003783f, -0.001700f, 0.004347f, 0.005112f, 0.000067f, 0.002512f, 0.001279f, -0.006453f, 0.005877f, -0.007677f, -0.005716f, 0.006812f, -0.008090f, + 0.006993f, 0.003218f, -0.006206f, 0.010649f, 0.005668f, 0.004133f, -0.002939f, 0.009660f, 0.002181f, -0.001241f, -0.002847f, 0.002993f, 0.001057f, -0.001603f, -0.011385f, -0.001565f, -0.002282f, 0.003532f, -0.006724f, 0.009045f, -0.003204f, 0.007427f, -0.007772f, 0.000337f, -0.000894f, 0.009233f, -0.004361f, -0.002925f, 0.001575f, 0.003488f, -0.000206f, 0.001881f, -0.001494f, -0.008342f, -0.001040f, -0.000510f, -0.000534f, -0.001062f, -0.000260f, 0.000129f, -0.001250f, -0.001530f, -0.001832f, -0.001890f, 0.000054f, -0.000683f, -0.000057f, 0.001245f, -0.001510f, 0.000996f, 0.001024f, 0.002591f, -0.003097f, 0.002064f, 0.000803f, 0.001625f, -0.000282f, 0.002410f, 0.000776f, -0.001022f, -0.001925f, -0.000436f, -0.000968f, 0.023325f, -0.019306f, -0.016942f, -0.005439f, 0.017868f, -0.002462f, -0.009634f, 0.012241f, -0.008104f, 0.005797f, -0.000413f, -0.013267f, -0.009008f, 0.011237f, -0.007228f, 0.005580f, -0.007543f, 0.007434f, -0.003262f, -0.002029f, -0.000807f, -0.007304f, 0.003910f, 0.005393f, -0.007325f, 0.001832f, -0.003702f, 0.001545f, 0.003411f, -0.001050f, 0.004873f, 0.001485f, 0.003997f, + 0.006281f, -0.007979f, -0.005878f, 0.007304f, 0.000399f, 0.005685f, 0.005521f, -0.005039f, -0.007557f, -0.002961f, 0.001340f, 0.010043f, -0.010754f, 0.004517f, -0.012012f, -0.014604f, -0.003423f, -0.008320f, -0.001375f, -0.009869f, -0.018881f, -0.009944f, 0.008808f, 0.008277f, 0.005352f, -0.006220f, 0.018133f, -0.005491f, 0.003081f, -0.009929f, -0.009417f, 0.002570f, 0.000024f, -0.000836f, -0.011895f, -0.003811f, -0.000660f, -0.002326f, -0.002293f, -0.006335f, -0.005144f, 0.001409f, -0.001630f, -0.003435f, 0.000421f, -0.006134f, 0.001131f, 0.003632f, 0.006207f, 0.003542f, -0.005212f, 0.005585f, -0.003592f, -0.000254f, 0.006173f, 0.002704f, 0.000919f, -0.001927f, 0.003182f, 0.003724f, 0.002853f, 0.000722f, -0.001581f, 0.000634f, 0.004389f, 0.002350f, 0.002829f, 0.001301f, -0.001639f, 0.002440f, 0.000455f, -0.000174f, 0.000668f, -0.001151f, 0.000416f, 0.000739f, -0.001306f, 0.002502f, 0.003576f, 0.004317f, -0.000284f, -0.000226f, 0.000603f, -0.002627f, 0.003921f, -0.000167f, 0.002439f, -0.000508f, 0.029790f, -0.009842f, 0.013902f, -0.003772f, 0.018702f, -0.003686f, -0.002977f, 0.003132f, + 0.003710f, -0.003211f, -0.021663f, 0.002097f, -0.002175f, -0.005768f, -0.000428f, -0.001053f, 0.007575f, -0.002481f, 0.018260f, -0.002442f, 0.001965f, -0.001328f, 0.010280f, -0.002051f, 0.003472f, -0.008595f, -0.000446f, -0.005904f, -0.006278f, -0.001760f, -0.001909f, 0.000078f, 0.006534f, -0.011787f, -0.003635f, 0.004008f, -0.001515f, 0.008164f, 0.001712f, -0.002058f, -0.005580f, -0.005368f, -0.005921f, -0.010776f, 0.003886f, 0.004581f, 0.003849f, -0.018788f, -0.002952f, 0.013285f, 0.007260f, -0.002999f, -0.000788f, -0.005808f, -0.013110f, -0.013676f, 0.013454f, -0.004205f, -0.009379f, -0.005110f, 0.007211f, 0.005925f, 0.000467f, 0.006641f, 0.002531f, 0.006423f, -0.003376f, -0.013407f, -0.004790f, -0.006033f, -0.007063f, 0.009888f, 0.006315f, -0.001088f, 0.010780f, 0.016463f, -0.004137f, 0.006981f, -0.006579f, -0.000806f, -0.000109f, 0.007173f, -0.000773f, 0.001801f, 0.001419f, 0.002230f, 0.005473f, -0.005651f, 0.004245f, -0.002935f, 0.000241f, -0.003598f, 0.000405f, 0.001902f, 0.003837f, 0.002941f, -0.000289f, 0.001056f, 0.000049f, -0.000439f, 0.001885f, -0.005330f, -0.000951f, -0.004254f, + 0.000783f, -0.000763f, -0.000882f, -0.001862f, -0.001319f, -0.002219f, 0.002179f, 0.001122f, -0.044640f, 0.024578f, 0.008968f, -0.002035f, -0.001961f, 0.000146f, -0.006776f, -0.012418f, -0.002677f, 0.006108f, 0.018934f, 0.012733f, -0.017209f, -0.003263f, -0.010228f, 0.007041f, -0.000849f, -0.023249f, -0.006842f, 0.014321f, 0.008855f, 0.004920f, 0.012144f, 0.007375f, -0.001209f, -0.001495f, 0.003609f, -0.008824f, -0.005206f, 0.002081f, 0.010599f, -0.004410f, -0.008856f, -0.012822f, -0.006446f, 0.006469f, 0.020852f, 0.001493f, -0.003611f, 0.004461f, -0.004254f, -0.015388f, 0.001188f, -0.010848f, -0.008535f, -0.010120f, 0.006377f, -0.000572f, -0.014431f, 0.002752f, 0.005525f, 0.005708f, -0.015616f, -0.008641f, -0.005789f, -0.003843f, -0.001664f, -0.005745f, -0.002756f, -0.007440f, -0.015155f, -0.001734f, -0.012864f, -0.015458f, -0.009559f, -0.002702f, 0.002716f, -0.009187f, -0.013573f, 0.004052f, 0.010970f, -0.000537f, -0.001964f, -0.001263f, 0.007992f, -0.011854f, 0.008926f, 0.014062f, 0.013680f, 0.010778f, 0.018384f, 0.000263f, -0.007515f, 0.004972f, 0.000865f, -0.001910f, -0.001665f, 0.000051f, + -0.004143f, 0.006098f, 0.000355f, 0.000488f, -0.003686f, -0.000994f, 0.002039f, 0.002320f, -0.002129f, -0.001951f, 0.001203f, 0.006291f, -0.000773f, 0.002412f, 0.002154f, 0.005383f, -0.004299f, 0.000310f, -0.000049f, -0.004794f, 0.000773f, 0.000705f, 0.004133f, 0.000483f, 0.000886f, 0.003550f, 0.002265f, -0.005983f, 0.002297f, -0.002121f, 0.001952f, -0.018436f, 0.007010f, -0.009100f, -0.001536f, 0.002449f, 0.005495f, -0.000728f, 0.009596f, 0.000270f, -0.001880f, -0.025882f, 0.012058f, -0.004784f, -0.005461f, 0.009329f, -0.014975f, -0.020625f, 0.008476f, -0.007210f, -0.009636f, -0.003032f, 0.018696f, 0.011751f, -0.006774f, -0.004002f, 0.008726f, -0.002562f, -0.000880f, 0.002531f, 0.008519f, 0.015559f, 0.009946f, 0.012592f, -0.001877f, -0.000528f, 0.000359f, -0.008271f, 0.002170f, -0.003478f, 0.021215f, -0.016166f, -0.009319f, -0.008546f, -0.007956f, 0.005102f, 0.002926f, 0.007590f, -0.001203f, -0.010679f, -0.014253f, -0.004132f, -0.017758f, -0.024815f, -0.004920f, 0.000677f, 0.019342f, 0.003826f, -0.015229f, -0.003924f, 0.014516f, -0.006128f, 0.004904f, 0.004351f, 0.008175f, -0.011492f, + -0.017167f, -0.007626f, -0.008707f, 0.027802f, 0.003168f, -0.008923f, 0.006115f, 0.004632f, -0.001987f, 0.003496f, 0.006426f, -0.000781f, 0.012407f, -0.016352f, -0.014570f, 0.004738f, -0.006694f, 0.014812f, -0.006787f, -0.000395f, 0.008041f, -0.002460f, 0.007133f, -0.000444f, -0.000290f, -0.000504f, -0.002336f, -0.000275f, 0.006427f, 0.002344f, 0.006247f, 0.003451f, 0.003154f, 0.000202f, -0.002190f, -0.001028f, 0.002660f, -0.000830f, 0.000859f, -0.001285f, 0.004510f, -0.003695f, 0.002659f, -0.003314f, 0.004550f, -0.004294f, 0.000488f, -0.000437f, -0.000378f, 0.003158f, 0.004297f, -0.004494f, 0.003209f, 0.001692f, -0.001413f, 0.006530f, 0.015738f, 0.004848f, -0.001499f, 0.010820f, -0.002271f, -0.013880f, -0.002738f, -0.001394f, 0.013303f, -0.007799f, -0.002015f, -0.004304f, 0.001985f, -0.004358f, 0.000635f, 0.004235f, 0.006176f, 0.009030f, 0.005826f, 0.002742f, 0.023469f, 0.009163f, 0.007576f, -0.001182f, -0.018879f, 0.001056f, -0.015763f, 0.004578f, -0.010757f, 0.002411f, -0.000172f, 0.005842f, 0.028904f, 0.008101f, -0.004743f, 0.010302f, -0.008456f, 0.008753f, -0.005334f, 0.015015f, + -0.008521f, -0.000255f, -0.011645f, 0.006769f, 0.011330f, -0.013723f, 0.027150f, -0.006901f, 0.001789f, -0.004392f, -0.007578f, 0.002759f, -0.008429f, -0.023649f, 0.003772f, -0.006067f, -0.001500f, -0.014674f, 0.003248f, -0.005309f, -0.024350f, -0.011118f, -0.006936f, -0.021534f, 0.011936f, 0.030608f, 0.037116f, -0.035716f, -0.027328f, -0.015217f, 0.001328f, 0.008689f, -0.011150f, 0.004922f, -0.012629f, 0.003114f, 0.017041f, 0.026401f, -0.018473f, 0.029583f, 0.009362f, 0.003328f, 0.004910f, 0.005218f, -0.006758f, 0.010055f, 0.009244f, 0.011222f, 0.008578f, 0.003518f, 0.013087f, -0.000087f, 0.004000f, -0.000390f, -0.000189f, 0.007035f, -0.002272f, -0.008820f, -0.002503f, 0.005534f, 0.004248f, 0.001651f, -0.000220f, -0.000691f, -0.000895f, 0.005580f, 0.004420f, 0.001880f, -0.005254f, 0.001162f, 0.001288f, -0.000046f, 0.005955f, 0.002525f, 0.003644f, -0.000159f, 0.004421f, 0.002508f, 0.004472f, 0.006260f, 0.006518f, 0.000295f, 0.000107f, -0.003478f, 0.007204f, 0.006436f, -0.000909f, -0.002150f, 0.000595f, 0.004603f, -0.001873f, 0.013170f, -0.025585f, 0.036484f, 0.000490f, 0.021254f, + 0.007512f, -0.007821f, -0.008090f, 0.019678f, -0.012038f, 0.012336f, 0.015245f, -0.002264f, -0.011217f, 0.000363f, 0.015775f, 0.008799f, 0.007964f, 0.006925f, -0.001733f, 0.002337f, 0.005102f, 0.020129f, 0.014051f, -0.011134f, -0.009596f, -0.001906f, -0.005017f, -0.002503f, -0.011000f, -0.007377f, 0.009926f, 0.017728f, 0.004282f, 0.026867f, -0.007877f, 0.029403f, 0.001034f, 0.013719f, 0.032341f, 0.022888f, 0.007100f, 0.006436f, 0.014441f, -0.003464f, -0.013518f, -0.000319f, 0.013568f, -0.008247f, -0.015466f, 0.000325f, -0.002732f, 0.029612f, 0.023657f, -0.000539f, 0.033418f, -0.003241f, 0.017810f, 0.009343f, 0.014013f, -0.002117f, -0.011989f, 0.014908f, -0.003396f, 0.017482f, 0.011784f, 0.037214f, -0.021291f, -0.003837f, -0.042636f, 0.008759f, -0.021146f, -0.003060f, 0.019104f, -0.008208f, 0.007637f, -0.003704f, 0.022392f, -0.006213f, -0.016219f, -0.001415f, -0.005759f, 0.006597f, -0.001387f, 0.010818f, 0.012572f, 0.003220f, -0.003775f, 0.010049f, -0.002634f, 0.004236f, -0.000321f, -0.006995f, 0.004295f, 0.004583f, 0.008624f, 0.004492f, 0.009707f, 0.004332f, -0.000568f, 0.000212f, + -0.003502f, -0.000059f, 0.009503f, -0.003710f, -0.007839f, 0.004116f, -0.000922f, 0.001297f, 0.007706f, 0.001681f, 0.001593f, 0.003223f, 0.004989f, -0.001861f, -0.001383f, 0.003435f, 0.006163f, 0.010409f, 0.009295f, -0.000154f, 0.004195f, -0.000041f, -0.000856f, 0.004478f, 0.006414f, 0.005775f, -0.003665f, -0.000020f, -0.001469f, 0.007704f, 0.001097f, -0.001569f, 0.000934f, -0.024552f, -0.018036f, 0.008784f, -0.014588f, 0.008267f, -0.008828f, 0.002357f, 0.022468f, -0.003896f, -0.021338f, 0.005692f, -0.009009f, 0.021635f, -0.022804f, -0.015929f, 0.009165f, 0.010390f, 0.015753f, 0.000494f, -0.001668f, 0.010157f, -0.006324f, -0.015611f, 0.009548f, -0.006463f, -0.012510f, 0.003641f, 0.012027f, -0.008978f, 0.022708f, 0.009170f, -0.000957f, 0.002923f, 0.011049f, 0.004816f, -0.039128f, 0.015859f, -0.004142f, -0.004195f, -0.006882f, 0.020665f, -0.000037f, 0.022011f, 0.000756f, 0.001864f, 0.002260f, -0.005905f, -0.002550f, 0.010662f, -0.012671f, 0.002900f, 0.035255f, 0.003060f, 0.025872f, 0.001965f, -0.005497f, -0.002910f, -0.017751f, -0.036503f, -0.026753f, 0.012011f, 0.016527f, -0.007261f, + 0.027691f, 0.011887f, -0.020133f, -0.011641f, 0.025335f, 0.018124f, 0.016724f, 0.005166f, -0.008057f, 0.000204f, -0.001607f, -0.015725f, -0.005055f, -0.009202f, -0.043097f, -0.018465f, -0.001207f, 0.028785f, 0.006199f, -0.006678f, 0.002873f, 0.024716f, -0.006359f, 0.001247f, -0.000079f, 0.006261f, -0.008351f, -0.003894f, -0.006302f, -0.003485f, -0.002383f, 0.005950f, -0.000531f, -0.001057f, -0.000621f, 0.004668f, 0.003476f, 0.007279f, -0.005393f, -0.008021f, 0.002640f, -0.008485f, -0.004962f, 0.001100f, 0.002822f, 0.001023f, -0.001764f, 0.008932f, -0.004423f, -0.002607f, -0.010568f, 0.003960f, -0.009586f, 0.007395f, 0.002948f, 0.004931f, -0.008171f, 0.000768f, -0.001663f, 0.003905f, -0.004852f, 0.003065f, -0.004379f, 0.004979f, -0.009061f, 0.000398f, -0.010574f, 0.011377f, 0.010704f, 0.023178f, 0.008746f, 0.007682f, 0.026630f, 0.022243f, 0.018543f, 0.000602f, 0.006817f, 0.001308f, -0.004482f, -0.005361f, 0.004252f, -0.002273f, -0.016173f, 0.003364f, 0.015595f, -0.000333f, -0.004672f, 0.004715f, -0.039324f, 0.012890f, -0.015748f, 0.009572f, 0.013137f, 0.011826f, -0.014856f, 0.007778f, + -0.001657f, -0.000476f, 0.023062f, 0.016816f, 0.000088f, 0.008939f, 0.006587f, -0.003294f, -0.013393f, 0.003085f, 0.011185f, 0.000080f, 0.016388f, 0.004813f, 0.014811f, 0.029339f, 0.001398f, 0.011763f, 0.012481f, 0.015673f, -0.000806f, -0.010252f, 0.025327f, -0.009984f, 0.020421f, -0.024344f, -0.020055f, 0.027788f, -0.001540f, 0.009103f, 0.016319f, 0.024235f, 0.031365f, 0.013164f, 0.004202f, -0.015496f, 0.006801f, -0.003265f, -0.028293f, 0.023789f, 0.014762f, -0.023162f, -0.001490f, 0.001328f, -0.028995f, 0.009601f, 0.022840f, 0.013463f, -0.000311f, 0.008723f, 0.006167f, -0.013550f, 0.025011f, 0.002314f, -0.005038f, 0.012852f, 0.024739f, 0.009665f, -0.001109f, -0.008777f, -0.006920f, -0.003075f, 0.004142f, 0.006918f, 0.010163f, 0.003260f, 0.001673f, 0.003120f, 0.011895f, 0.010632f, 0.013236f, -0.000259f, -0.001512f, 0.005210f, 0.011320f, -0.000044f, 0.000962f, -0.002373f, 0.005178f, 0.000857f, -0.001413f, -0.004391f, 0.002629f, -0.008311f, -0.014783f, -0.000749f, 0.008154f, -0.000290f, 0.005738f, -0.007079f, 0.004385f, 0.000243f, 0.004993f, 0.000722f, -0.004063f, 0.003264f, + -0.002777f, -0.002240f, -0.001037f, -0.008956f, 0.006200f, -0.003339f, 0.002505f, 0.004866f, 0.000148f, -0.001335f, -0.004229f, -0.005820f, -0.001313f, -0.064905f, -0.040358f, 0.013209f, 0.013829f, 0.026697f, 0.044132f, -0.012127f, -0.006897f, -0.014033f, -0.013015f, -0.016558f, -0.017756f, 0.001466f, 0.007120f, 0.005609f, 0.027838f, 0.001241f, 0.027315f, -0.001354f, 0.009394f, 0.012673f, 0.009704f, 0.020363f, 0.014483f, 0.001059f, 0.017894f, -0.000192f, -0.002136f, -0.010280f, 0.012099f, -0.001593f, -0.026693f, -0.023027f, 0.014459f, -0.003300f, 0.031788f, 0.019039f, 0.020432f, 0.007617f, -0.040047f, 0.009694f, 0.025137f, -0.003810f, 0.007291f, -0.006080f, 0.004962f, 0.031664f, -0.001134f, 0.026548f, 0.044123f, 0.002541f, -0.016705f, -0.000413f, 0.000425f, -0.027658f, 0.037446f, 0.017924f, -0.005019f, -0.002075f, 0.027118f, 0.012866f, -0.032960f, -0.026741f, 0.010520f, -0.011601f, 0.015693f, 0.011422f, 0.004941f, -0.012970f, -0.023431f, -0.001066f, 0.005880f, 0.004457f, 0.025257f, -0.033926f, 0.004923f, -0.002270f, -0.028847f, -0.013684f, -0.029012f, 0.025343f, -0.008648f, 0.035018f, + -0.027547f, 0.002610f, -0.013282f, 0.019925f, 0.008599f, -0.008544f, -0.001710f, 0.018370f, 0.001098f, 0.005778f, -0.010652f, -0.005580f, -0.009017f, 0.016298f, 0.008014f, 0.000005f, 0.004269f, 0.004936f, -0.014927f, 0.001077f, -0.004241f, 0.005291f, 0.003055f, -0.003144f, -0.015255f, -0.005226f, -0.011283f, 0.013494f, -0.010036f, 0.002265f, -0.002739f, 0.013368f, -0.002866f, -0.002236f, -0.004785f, -0.008188f, -0.000549f, -0.005400f, 0.005226f, 0.014752f, 0.012713f, -0.000800f, -0.013439f, 0.017093f, 0.046032f, -0.054794f, -0.015331f, -0.026713f, -0.001126f, 0.008684f, 0.001450f, 0.036733f, -0.037912f, 0.017922f, -0.005176f, 0.007318f, -0.004590f, 0.020169f, -0.011123f, -0.018777f, -0.001568f, -0.005476f, 0.014262f, -0.001193f, 0.009644f, 0.021366f, -0.004444f, -0.016025f, -0.002139f, 0.024028f, -0.014136f, 0.005722f, 0.005413f, 0.000945f, -0.002176f, 0.023862f, -0.000895f, -0.006168f, -0.039862f, 0.012816f, -0.009857f, -0.025193f, -0.021900f, -0.005832f, -0.024277f, -0.014324f, -0.021080f, 0.009993f, -0.024879f, 0.024822f, -0.022833f, 0.015384f, -0.011792f, 0.030095f, -0.029155f, -0.016960f, + -0.004380f, 0.017430f, 0.007197f, 0.000132f, -0.011990f, -0.023916f, 0.002444f, 0.009324f, 0.034138f, 0.017874f, 0.007464f, -0.019534f, 0.011628f, -0.017331f, -0.019507f, 0.017018f, -0.018936f, 0.009012f, 0.022133f, 0.018430f, -0.004899f, -0.007071f, -0.015933f, 0.026588f, 0.002625f, 0.025445f, 0.041189f, -0.008079f, -0.021577f, -0.009671f, -0.007167f, -0.014855f, 0.006542f, -0.024641f, 0.010749f, 0.008005f, 0.007424f, 0.019442f, -0.013733f, 0.000696f, -0.002477f, 0.004910f, 0.017736f, 0.000490f, 0.013955f, -0.005078f, -0.000302f, 0.001722f, -0.007862f, -0.002851f, 0.008398f, 0.004393f, -0.011249f, -0.014766f, -0.006970f, 0.006476f, 0.005872f, -0.006503f, 0.021092f, 0.006139f, -0.015352f, 0.007728f, 0.011294f, 0.028037f, 0.022845f, 0.012760f, 0.004772f, 0.002682f, -0.011734f, -0.009255f, -0.000338f, -0.009375f, 0.001826f, -0.005447f, -0.017151f, 0.009472f, -0.005636f, -0.002419f, 0.002098f, 0.009343f, 0.000289f, -0.007943f, 0.029788f, 0.041520f, -0.045380f, 0.032131f, 0.022176f, 0.000420f, 0.015762f, 0.055412f, -0.016501f, -0.016850f, 0.004602f, 0.015825f, 0.022574f, 0.006991f, + -0.022626f, 0.024100f, -0.009835f, 0.048887f, -0.002033f, -0.008865f, 0.015312f, 0.012348f, 0.012166f, -0.001210f, 0.045807f, -0.039335f, 0.008707f, -0.001377f, 0.012050f, -0.016799f, -0.032908f, 0.015341f, 0.011901f, 0.012391f, -0.011990f, -0.009236f, 0.038173f, 0.013924f, 0.048158f, 0.003805f, -0.018806f, -0.002605f, 0.010141f, -0.004912f, 0.050020f, -0.007045f, 0.026906f, -0.005578f, 0.044807f, 0.015946f, 0.011561f, -0.011700f, -0.003280f, 0.024415f, -0.000249f, 0.026191f, 0.019542f, 0.023072f, -0.032212f, 0.004414f, 0.021787f, 0.026422f, 0.019491f, 0.014859f, 0.035705f, 0.044062f, -0.034808f, -0.004717f, 0.067220f, -0.016960f, -0.019111f, 0.043344f, 0.058567f, 0.000502f, -0.001305f, -0.032693f, -0.027105f, -0.002343f, 0.029061f, -0.004960f, -0.006319f, 0.000751f, -0.002984f, -0.008860f, -0.023556f, -0.008939f, -0.002432f, -0.014115f, 0.000228f, 0.013255f, -0.008422f, 0.017119f, -0.018588f, 0.015026f, -0.004319f, 0.013017f, -0.014099f, -0.000119f, 0.009390f, 0.005338f, 0.016548f, -0.003613f, -0.009750f, -0.004574f, 0.004469f, 0.015183f, 0.004009f, -0.006178f, 0.021093f, -0.007320f, + 0.010822f, 0.010956f, -0.002616f, -0.002968f, -0.005545f, 0.031203f, -0.012213f, 0.003547f, 0.007484f, 0.011278f, -0.006355f, -0.021104f, -0.012542f, -0.004104f, 0.023392f, 0.011105f, -0.002389f, 0.000925f, 0.007955f, -0.002048f, -0.000280f, 0.007984f, 0.003941f, 0.001668f, -0.000340f, 0.018615f, 0.041915f, -0.002587f, 0.013050f, -0.035855f, 0.034085f, -0.018185f, -0.011258f, -0.031389f, -0.020417f, 0.064293f, 0.000813f, -0.045302f, -0.020286f, -0.001367f, 0.000081f, -0.005996f, 0.049624f, 0.023208f, -0.004361f, -0.020786f, -0.002098f, 0.013060f, -0.006290f, 0.066225f, 0.013943f, 0.029109f, 0.009896f, -0.014938f, -0.037665f, 0.008805f, -0.000591f, 0.005862f, -0.029232f, -0.003093f, -0.019804f, 0.022325f, -0.000049f, 0.003652f, 0.022998f, -0.021006f, -0.015584f, 0.004566f, 0.000818f, 0.006879f, -0.032303f, -0.025228f, -0.055204f, -0.028777f, 0.002147f, -0.031415f, 0.003988f, -0.022797f, -0.013882f, 0.040829f, 0.012602f, -0.019866f, 0.011985f, 0.004628f, -0.000423f, 0.039282f, -0.006995f, 0.047589f, 0.017937f, -0.020485f, -0.058369f, 0.010128f, 0.008972f, 0.032174f, -0.017684f, -0.041731f, + -0.015177f, 0.012102f, 0.001764f, -0.009953f, -0.030360f, -0.009645f, -0.042773f, -0.048350f, 0.014768f, -0.002687f, 0.049196f, -0.015844f, -0.030552f, -0.026238f, -0.002791f, 0.035039f, -0.002271f, 0.012915f, 0.022088f, 0.017228f, -0.008090f, 0.011436f, 0.014959f, 0.005152f, 0.015331f, 0.015483f, -0.011373f, -0.001561f, 0.021624f, -0.004345f, 0.002634f, 0.021020f, -0.004437f, 0.012490f, -0.015960f, 0.006099f, 0.011589f, -0.007036f, 0.006724f, 0.006956f, -0.014971f, 0.019290f, -0.018670f, 0.009355f, 0.009149f, 0.015332f, -0.004306f, -0.010448f, 0.019988f, -0.002653f, 0.014632f, -0.021831f, -0.011204f, -0.016011f, -0.014106f, 0.002105f, -0.011728f, 0.008406f, 0.000562f, 0.003561f, -0.022526f, 0.002490f, -0.006828f, 0.030597f, -0.032992f, -0.001584f, 0.051234f, -0.010509f, 0.015475f, 0.005703f, 0.007173f, -0.047189f, 0.039991f, -0.003535f, -0.037651f, -0.021927f, 0.020452f, -0.005312f, 0.010474f, 0.000138f, -0.015327f, -0.011410f, 0.007340f, -0.011432f, -0.002267f, -0.000310f, -0.054748f, -0.014093f, -0.036546f, 0.008540f, 0.013657f, 0.000010f, -0.015811f, 0.006896f, -0.007305f, 0.022005f, + -0.048382f, 0.003613f, 0.009023f, 0.028304f, -0.020783f, 0.026392f, -0.020463f, 0.016913f, 0.004940f, 0.020605f, -0.031410f, 0.010099f, -0.015306f, -0.033604f, 0.022561f, -0.027132f, -0.054668f, 0.008430f, -0.004666f, 0.043828f, -0.020487f, 0.006411f, 0.020505f, 0.029188f, 0.033191f, 0.003845f, -0.010684f, -0.020249f, 0.001170f, 0.015894f, 0.022038f, -0.042670f, 0.048701f, -0.000044f, -0.032009f, -0.023989f, -0.042761f, 0.017958f, 0.011034f, 0.017567f, 0.008146f, 0.046240f, -0.015778f, 0.050227f, -0.026550f, 0.012020f, -0.010475f, -0.022842f, -0.068997f, 0.039581f, 0.008046f, -0.018095f, -0.046666f, -0.002400f, 0.009290f, -0.003696f, 0.017811f, -0.012383f, -0.014637f, -0.002106f, 0.007896f, -0.012902f, -0.012542f, -0.008018f, -0.001905f, 0.007666f, -0.003571f, -0.003855f, -0.018178f, 0.014249f, 0.000977f, -0.009888f, 0.009107f, -0.007075f, 0.014983f, -0.004110f, 0.007766f, 0.009944f, 0.018389f, -0.005793f, 0.016750f, 0.002170f, 0.001449f, -0.017128f, -0.013198f, 0.004653f, 0.007134f, 0.002796f, 0.001481f, -0.003017f, -0.010903f, -0.005979f, -0.004880f, -0.012123f, -0.005187f, 0.022236f, + -0.010375f, -0.012046f, 0.007364f, -0.026903f, 0.000463f, -0.006774f, -0.040861f, -0.000101f, 0.022625f, -0.008911f, -0.044268f, -0.006999f, -0.064720f, 0.031437f, -0.071535f, 0.042793f, -0.049447f, -0.043128f, 0.012348f, 0.037136f, 0.027728f, -0.024544f, 0.026013f, 0.046704f, 0.008320f, 0.007027f, 0.011002f, 0.004265f, -0.027463f, 0.033519f, -0.056135f, -0.034830f, 0.003173f, -0.003418f, -0.003588f, -0.007405f, -0.013979f, 0.007558f, 0.051693f, 0.013428f, 0.007193f, 0.004906f, -0.024311f, 0.030076f, -0.005423f, -0.051933f, -0.008006f, 0.001185f, 0.001117f, -0.035504f, -0.025137f, 0.027443f, -0.008925f, 0.047044f, 0.008706f, 0.000110f, -0.038233f, -0.020875f, 0.014078f, 0.006148f, -0.010434f, 0.040329f, -0.031866f, -0.019263f, -0.001406f, -0.002264f, 0.037964f, 0.003184f, 0.044412f, 0.000111f, -0.036330f, 0.009145f, -0.030978f, 0.023694f, -0.004370f, 0.032252f, 0.060776f, -0.093463f, 0.031853f, 0.013075f, 0.017109f, 0.035552f, 0.008754f, -0.042789f, -0.009992f, -0.003759f, -0.007798f, 0.022076f, -0.043991f, 0.004316f, -0.011550f, -0.006105f, -0.030327f, -0.016120f, -0.045861f, 0.005274f, + -0.002932f, 0.004895f, 0.012574f, -0.018416f, -0.003415f, 0.022446f, -0.013758f, 0.004563f, -0.007688f, -0.022380f, 0.010434f, 0.013854f, -0.015894f, -0.001452f, -0.025079f, -0.001247f, -0.036256f, 0.013235f, 0.008808f, -0.004280f, 0.003793f, -0.008892f, 0.001432f, 0.007606f, -0.005894f, -0.006503f, 0.020568f, 0.025520f, -0.005783f, 0.008643f, 0.003964f, 0.026199f, 0.011414f, -0.032365f, 0.004209f, 0.019017f, -0.010778f, 0.019219f, 0.005970f, 0.008417f, 0.076525f, 0.066123f, -0.018987f, -0.025646f, -0.001568f, -0.050395f, 0.029348f, -0.002924f, 0.011040f, 0.003868f, -0.025504f, 0.076345f, -0.032877f, -0.134797f, -0.019775f, 0.026845f, -0.090768f, -0.015592f, 0.028336f, -0.076890f, 0.010609f, 0.049985f, -0.035378f, 0.049866f, -0.047981f, 0.042836f, 0.053146f, -0.034027f, 0.014434f, -0.004948f, 0.001100f, -0.014442f, -0.021104f, -0.003927f, 0.032691f, -0.021152f, -0.035188f, -0.019237f, -0.028346f, -0.003041f, -0.022262f, -0.003675f, 0.011678f, -0.005330f, 0.031931f, -0.028269f, -0.034726f, 0.027586f, -0.036729f, -0.054458f, -0.069821f, -0.024353f, -0.001711f, 0.013527f, 0.038828f, -0.016282f, + 0.017377f, 0.018174f, -0.012848f, -0.006056f, 0.064015f, -0.042399f, -0.001683f, 0.043808f, 0.013549f, 0.034439f, -0.008663f, 0.012531f, 0.048598f, 0.024972f, -0.002688f, -0.005970f, -0.030026f, 0.012259f, 0.048888f, -0.045533f, 0.034570f, -0.045059f, 0.013104f, 0.063629f, 0.014641f, -0.035792f, 0.036167f, 0.005721f, -0.022880f, -0.017867f, 0.043776f, 0.014394f, 0.018868f, -0.002664f, 0.003291f, 0.011994f, 0.014347f, -0.001327f, -0.004409f, 0.018614f, 0.016236f, 0.003409f, -0.021667f, 0.023819f, 0.002933f, -0.008234f, 0.005850f, 0.008159f, -0.015776f, -0.004190f, 0.012150f, 0.002342f, 0.020246f, -0.025012f, 0.037615f, 0.029149f, -0.005183f, -0.023852f, -0.009692f, 0.025081f, 0.028674f, 0.046261f, -0.001430f, 0.008910f, 0.007570f, 0.025366f, -0.038591f, -0.020583f, 0.038716f, 0.024227f, 0.002625f, -0.006248f, 0.003327f, 0.010707f, -0.020200f, -0.015846f, -0.013588f, 0.002842f, 0.012347f, -0.006228f, -0.000051f, 0.020115f, -0.021484f, -0.015235f, 0.067707f, 0.046008f, -0.064473f, -0.012697f, 0.058355f, -0.017249f, -0.035470f, -0.024944f, -0.035591f, -0.020860f, 0.058915f, 0.036068f, + -0.004308f, 0.026942f, -0.005981f, 0.032756f, -0.019958f, -0.010937f, 0.065418f, -0.026686f, 0.012161f, -0.018446f, -0.006613f, -0.000376f, 0.018196f, 0.053252f, 0.020800f, -0.035489f, -0.010092f, -0.001296f, -0.005005f, 0.030126f, 0.004408f, 0.053613f, -0.015268f, 0.009555f, -0.005061f, 0.015898f, -0.044210f, 0.027181f, -0.040744f, 0.028237f, -0.001738f, 0.041281f, -0.010229f, 0.030699f, -0.013545f, 0.009904f, 0.017872f, -0.017326f, 0.018505f, 0.041668f, 0.052073f, -0.026996f, 0.053351f, 0.022572f, 0.063210f, -0.017680f, 0.012305f, -0.002012f, -0.007248f, -0.011703f, -0.003853f, -0.020453f, -0.102366f, -0.064438f, -0.019438f, -0.000991f, 0.015089f, 0.007552f, 0.024266f, 0.039038f, -0.056095f, -0.002893f, -0.022350f, 0.085959f, -0.005477f, -0.025809f, -0.006923f, -0.074914f, -0.062353f, 0.094967f, 0.039060f, 0.021427f, -0.014054f, 0.029919f, 0.003019f, -0.068600f, 0.014643f, 0.004901f, -0.025607f, -0.026640f, 0.004921f, 0.000601f, 0.007931f, -0.014201f, -0.006715f, -0.033527f, -0.027911f, 0.012281f, 0.015643f, 0.013242f, 0.010706f, -0.017366f, -0.025114f, -0.015545f, -0.032675f, 0.021251f, + 0.007874f, -0.059147f, -0.006330f, -0.017063f, -0.003393f, 0.029122f, -0.026590f, -0.038252f, -0.007706f, 0.024884f, 0.009130f, -0.026547f, 0.016649f, 0.034352f, -0.062980f, -0.017095f, 0.023516f, -0.001109f, -0.004029f, -0.012138f, -0.001735f, 0.011134f, 0.019928f, 0.004504f, -0.007963f, 0.050811f, -0.073927f, 0.069237f, -0.020439f, -0.020914f, 0.017699f, 0.032128f, -0.057924f, -0.011756f, 0.000846f, 0.011342f, 0.002944f, -0.001850f, 0.028809f, -0.017781f, 0.003557f, 0.015018f, 0.016706f, 0.023949f, 0.019838f, 0.006462f, -0.031849f, -0.006611f, 0.042954f, -0.042104f, -0.035958f, 0.044436f, 0.015104f, 0.031322f, 0.048688f, 0.075473f, -0.017319f, -0.048413f, 0.063914f, -0.026129f, -0.010956f, 0.066505f, 0.020841f, -0.024773f, -0.069806f, -0.046265f, -0.007131f, -0.026007f, 0.032644f, 0.065522f, 0.033598f, -0.022870f, 0.067467f, 0.022449f, -0.024608f, 0.018352f, 0.075312f, 0.021533f, 0.014506f, -0.016212f, -0.060535f, -0.081424f, -0.064582f, -0.004958f, 0.048790f, 0.014641f, 0.030796f, 0.115326f, 0.056896f, -0.069527f, -0.046705f, 0.030367f, -0.095896f, -0.044339f, 0.082554f, 0.029202f, + -0.106530f, -0.089167f, -0.041275f, -0.068348f, -0.063982f, -0.038587f, 0.057886f, -0.016832f, -0.012191f, 0.150840f, 0.025374f, -0.043864f, -0.012098f, -0.047372f, 0.080301f, -0.017300f, 0.017419f, 0.005182f, 0.001121f, -0.044380f, -0.017043f, -0.003842f, -0.022316f, 0.004903f, 0.017204f, 0.038931f, 0.005093f, -0.027155f, -0.001183f, -0.000560f, -0.017665f, 0.007701f, 0.011387f, 0.012887f, -0.034888f, 0.008507f, -0.032320f, 0.005162f, 0.016925f, -0.002370f, 0.025750f, -0.006726f, -0.001709f, 0.025600f, -0.005371f, 0.014089f, 0.028919f, -0.010343f, 0.008604f, 0.019461f, 0.021740f, 0.017356f, 0.003573f, 0.003940f, 0.015125f, -0.016530f, -0.006164f, 0.009856f, 0.028580f, -0.103351f, 0.071450f, 0.030622f, 0.023055f, 0.028664f, -0.011176f, 0.035193f, 0.028874f, 0.041274f, -0.007956f, 0.056636f, -0.035758f, 0.042940f, -0.015794f, -0.033051f, -0.010581f, -0.054157f, 0.005487f, -0.019946f, 0.018975f, -0.013814f, -0.021076f, 0.051769f, -0.059732f, 0.038350f, -0.002194f, -0.026057f, -0.010564f, 0.022882f, 0.025819f, 0.018672f, 0.048922f, 0.039478f, -0.028609f, -0.006033f, -0.025618f, 0.021963f, + -0.022731f, 0.017110f, 0.023460f, 0.010730f, 0.013075f, 0.008700f, -0.014199f, 0.054104f, -0.005288f, 0.016021f, 0.005195f, 0.024887f, 0.013631f, -0.064894f, 0.003970f, -0.038854f, 0.009651f, 0.028529f, -0.005548f, -0.027532f, -0.025406f, 0.060319f, -0.064083f, -0.051705f, 0.094521f, -0.040347f, 0.024321f, 0.009350f, 0.030175f, -0.014377f, 0.015659f, -0.066040f, 0.004241f, 0.064000f, -0.034596f, -0.025972f, 0.054946f, -0.003837f, -0.046090f, -0.033972f, 0.020068f, -0.018020f, -0.010946f, 0.034203f, -0.025555f, 0.008474f, 0.042380f, -0.048144f, 0.002860f, 0.028101f, -0.015915f, -0.009617f, -0.012874f, 0.017281f, 0.004471f, 0.006950f, -0.006633f, 0.009802f, 0.007084f, -0.009489f, 0.000412f, 0.001673f, 0.025144f, 0.012809f, -0.024204f, 0.029187f, 0.006981f, -0.014889f, 0.008199f, 0.008908f, -0.002976f, -0.008717f, 0.020608f, 0.000025f, 0.006726f, 0.002620f, 0.026745f, -0.012574f, -0.010529f, 0.016448f, -0.024659f, 0.030616f, -0.002641f, -0.017284f, -0.003194f, -0.001834f, 0.003337f, -0.000330f, -0.012113f, -0.001741f, 0.015603f, 0.032804f, -0.060728f, -0.247440f, -0.266964f, -0.009373f, + -0.152999f, 0.136082f, 0.491099f, 0.214250f, 0.296300f, 0.374162f, -0.140874f, -0.099518f, -0.039432f, -0.335401f, -0.234506f, -0.075788f, -0.367831f, -0.160096f, -0.032443f, -0.150136f, 0.036191f, 0.345953f, 0.314286f, 0.340132f, 0.440719f, 0.265742f, -0.023546f, 0.099373f, -0.098396f, -0.391457f, -0.212567f, -0.157138f, -0.325270f, -0.222848f, 0.012765f, -0.250289f, -0.082199f, 0.055725f, -0.250154f, -0.128048f, 0.187708f, 0.073094f, 0.203540f, 0.506634f, 0.411855f, 0.333199f, 0.599070f, 0.435013f, -0.007100f, 0.062911f, -0.111641f, -0.536124f, -0.512556f, -0.528650f, -0.823762f, -0.557788f, -0.344723f, -0.337332f, 0.004290f, 0.267937f, 0.301636f, 0.422757f, 0.639735f, 0.592167f, 0.499866f, 0.493642f, 0.282719f, 0.099655f, 0.015906f, -0.030029f, -0.223960f, -0.385477f, -0.473491f, -0.506858f, -0.684593f, -0.568956f, -0.438846f, -0.214529f, 0.229665f, 0.677771f, 0.631170f, 0.691713f, 0.485037f, 0.059447f, -0.065749f, -0.207268f, -0.285190f, -0.192637f, -0.094550f, -0.095223f, -0.042199f, -0.043528f, -0.069386f, 0.000769f, 0.010108f, 0.050653f, 0.157730f, 0.143380f, 0.105595f, 0.145263f, + -0.013673f, -0.093455f, -0.012573f, -0.109789f, -0.095175f, 0.059193f, 0.063877f, 0.014978f, 0.014640f, -0.167476f, -0.428838f, -0.405934f, -0.345853f, -0.260419f, 0.126834f, 0.391364f, 0.478427f, 0.604473f, 0.541737f, 0.334285f, 0.231952f, 0.082443f, -0.096313f, -0.201737f, -0.240818f, -0.312155f, -0.383224f, -0.432066f, -0.504758f, -0.448724f, -0.155351f, 0.110437f, 0.259758f, 0.336945f, 0.366055f, 0.274733f, 0.190447f, 0.095387f, -0.003870f, -0.011298f, 0.046171f, 0.073964f, 0.080819f, 0.087884f, 0.072513f, 0.005335f, -0.062352f, -0.133103f, -0.237092f, -0.228699f, -0.186267f, -0.155753f, -0.087364f, -0.013190f, 0.043910f, 0.062959f, 0.066431f, 0.041791f, 0.026004f, 0.037812f, 0.060081f, 0.084366f, 0.114700f, 0.136351f, 0.131398f, 0.095680f, 0.047714f, -0.010570f, -0.053639f, -0.070819f, -0.094044f, -0.117777f, -0.116368f, -0.090168f, -0.068798f, -0.049685f, -0.037634f, -0.022670f, 0.004563f, 0.040293f, 0.060239f, 0.055420f, 0.051638f, 0.044296f, 0.025907f, 0.021948f, 0.018517f, 0.007794f, 0.016103f, 0.032527f, 0.030579f, 0.027152f, 0.027979f, 0.006233f, -0.020024f, -0.037287f, + -0.062881f, -0.075621f, -0.063897f, -0.049148f, -0.035477f, -0.005117f, 0.014548f, 0.020899f, 0.027328f, 0.020490f, 0.008036f, 0.008750f, 0.019930f, 0.024352f, 0.037876f, 0.041461f, 0.035193f, 0.028640f, 0.011212f, -0.012704f, -0.033126f, -0.044366f, -0.047763f, -0.042241f, -0.028241f, -0.010037f, 0.006465f, 0.014136f, 0.015423f, 0.011579f, 0.008794f, 0.008063f, 0.008134f, 0.007167f, 0.005495f, 0.002511f, -0.000251f, -0.002134f, -0.003068f, -0.002913f, -0.002223f, -0.001145f, -0.000476f}, + {-0.014413f, 0.007078f, -0.016398f, 0.003284f, 0.001257f, 0.001089f, -0.011168f, -0.003924f, 0.003153f, -0.002406f, 0.003722f, 0.005905f, 0.003594f, -0.000097f, 0.004673f, -0.012640f, 0.000371f, -0.000441f, -0.000248f, 0.007028f, 0.010675f, -0.011076f, -0.002432f, -0.006699f, -0.002135f, 0.004012f, 0.007347f, 0.001229f, 0.001872f, -0.002693f, -0.003559f, -0.002905f, -0.002185f, -0.005019f, 0.002837f, -0.005060f, -0.003381f, 0.005857f, -0.004895f, 0.004216f, 0.000757f, -0.012519f, -0.004190f, -0.006880f, -0.001592f, 0.005380f, -0.003647f, -0.001057f, -0.003585f, -0.003737f, -0.002574f, 0.005259f, 0.008003f, 0.001503f, 0.004480f, 0.003545f, -0.004144f, -0.007950f, 0.004358f, 0.003570f, -0.001677f, -0.006837f, -0.005667f, 0.005216f, 0.001118f, 0.003910f, 0.001916f, -0.010533f, -0.003419f, -0.003898f, 0.005903f, 0.002395f, -0.010559f, 0.002832f, -0.005563f, -0.001710f, -0.000481f, -0.003820f, 0.003104f, -0.003483f, 0.000887f, 0.004089f, 0.004260f, 0.002605f, 0.002960f, 0.001920f, -0.000265f, 0.002048f, 0.002557f, 0.000267f, -0.001990f, 0.002869f, 0.000662f, 0.000054f, -0.000763f, -0.001877f, + 0.000990f, 0.001819f, 0.000399f, 0.001496f, -0.000490f, -0.000945f, 0.000054f, -0.001467f, 0.001645f, -0.000251f, 0.001931f, -0.000334f, 0.000437f, -0.000157f, 0.001801f, 0.000928f, -0.000012f, -0.000704f, 0.001170f, -0.000796f, -0.020558f, 0.013402f, -0.009891f, 0.001231f, -0.001427f, -0.003852f, 0.010238f, -0.009237f, -0.006185f, -0.000126f, 0.010828f, -0.004185f, -0.000753f, -0.001295f, 0.008936f, -0.005584f, -0.014643f, -0.003344f, -0.007590f, -0.010265f, 0.000258f, -0.000923f, 0.001558f, 0.005755f, 0.009547f, 0.005915f, 0.000814f, 0.014673f, 0.005636f, 0.000389f, 0.010424f, 0.010951f, -0.001011f, -0.006070f, 0.000298f, 0.004778f, 0.003783f, -0.000194f, -0.002258f, -0.008692f, -0.007696f, -0.003826f, 0.008334f, 0.003397f, 0.014445f, 0.008145f, -0.000782f, 0.004773f, 0.005806f, 0.001882f, -0.009193f, 0.009703f, -0.004025f, 0.005025f, -0.000526f, 0.003003f, -0.010937f, -0.001825f, -0.003572f, 0.003720f, -0.003436f, -0.004177f, 0.011133f, -0.000877f, -0.008604f, 0.003249f, -0.006582f, 0.005167f, -0.003775f, 0.008354f, 0.007141f, 0.008009f, 0.002586f, -0.007901f, 0.004152f, -0.001277f, + 0.004090f, -0.003471f, 0.001063f, 0.011009f, -0.004426f, 0.005301f, 0.007153f, -0.001185f, 0.000296f, -0.000421f, -0.001479f, -0.003038f, 0.001692f, -0.000261f, 0.002623f, -0.000145f, 0.002089f, 0.000059f, 0.000029f, 0.001518f, 0.002546f, 0.001046f, 0.002437f, 0.002810f, -0.000707f, -0.002189f, 0.003597f, 0.000334f, -0.000267f, 0.000216f, 0.002129f, -0.000691f, -0.002227f, 0.001020f, -0.000662f, 0.000523f, -0.000086f, 0.002185f, 0.000568f, 0.001157f, 0.000574f, -0.001960f, 0.004112f, 0.004616f, 0.000263f, -0.003950f, 0.004312f, 0.001697f, 0.001327f, 0.002052f, -0.016141f, 0.005263f, -0.010276f, 0.001731f, 0.003366f, 0.003529f, -0.004700f, 0.008605f, 0.001390f, -0.003164f, -0.001454f, 0.010038f, 0.007222f, -0.004351f, -0.005584f, -0.004594f, 0.003905f, 0.007122f, -0.004274f, -0.004692f, 0.001416f, -0.018324f, -0.000020f, -0.007817f, -0.003065f, -0.007777f, -0.010180f, -0.001251f, 0.009312f, 0.002562f, -0.008291f, -0.002206f, 0.007976f, 0.002407f, -0.005078f, 0.008998f, -0.003891f, -0.012549f, -0.003713f, 0.007045f, -0.003086f, 0.008335f, 0.015964f, 0.012886f, 0.001812f, -0.000182f, + 0.004534f, -0.001961f, -0.009375f, 0.000092f, 0.003576f, -0.006745f, 0.005711f, -0.013370f, -0.001966f, 0.000820f, -0.005639f, -0.004375f, 0.005855f, 0.011636f, -0.009091f, -0.009545f, 0.005961f, 0.005946f, 0.011006f, 0.003519f, -0.006365f, 0.008744f, 0.007602f, -0.002537f, 0.008473f, -0.009347f, 0.009490f, 0.002271f, 0.006448f, 0.001273f, -0.004975f, -0.002901f, -0.000864f, 0.002057f, 0.000246f, -0.004614f, 0.001630f, 0.000022f, -0.002634f, -0.002231f, 0.000673f, -0.000710f, 0.002114f, 0.000089f, 0.003491f, -0.002522f, -0.001761f, -0.000161f, 0.000500f, 0.002940f, -0.001448f, -0.003007f, 0.001414f, 0.000073f, -0.000562f, 0.001985f, -0.000392f, 0.001187f, -0.001272f, 0.001195f, 0.001874f, 0.000193f, 0.002995f, 0.027504f, -0.010731f, -0.004744f, -0.001797f, 0.019821f, -0.002009f, 0.014983f, -0.010951f, 0.013199f, -0.013129f, -0.011522f, 0.002729f, 0.006234f, -0.007765f, -0.001931f, 0.003916f, -0.001043f, 0.005117f, -0.008004f, 0.009169f, 0.003298f, -0.009901f, -0.000405f, 0.003928f, 0.003061f, 0.001732f, 0.018647f, 0.014854f, 0.011617f, -0.000033f, 0.007531f, 0.000677f, 0.002152f, + 0.005562f, -0.017264f, -0.002666f, 0.010476f, 0.006805f, 0.008126f, -0.000224f, -0.003082f, 0.003774f, -0.000706f, 0.021035f, -0.003216f, 0.003522f, 0.002089f, 0.001000f, -0.006257f, 0.012603f, -0.001461f, 0.013105f, -0.007261f, -0.007618f, 0.005419f, -0.005085f, -0.017557f, -0.008107f, 0.003508f, -0.001694f, -0.012564f, 0.003472f, 0.000015f, 0.016292f, 0.001409f, 0.001388f, -0.005009f, 0.005913f, 0.006006f, -0.001367f, -0.000971f, 0.014308f, 0.010519f, 0.010438f, -0.006930f, -0.009867f, -0.008606f, -0.016837f, 0.001383f, -0.011928f, -0.004034f, 0.000723f, -0.006502f, -0.007432f, -0.004140f, -0.000864f, -0.002540f, 0.003929f, 0.007366f, -0.001408f, -0.000866f, -0.003341f, 0.001699f, -0.002427f, -0.002781f, 0.001155f, 0.002013f, 0.000005f, 0.002597f, -0.001546f, 0.000086f, -0.001494f, -0.000994f, -0.000827f, 0.001512f, -0.000934f, -0.000915f, -0.000568f, -0.002393f, -0.002744f, 0.000164f, -0.000326f, -0.003288f, 0.002769f, 0.002800f, 0.003381f, -0.000064f, -0.002405f, -0.001390f, 0.002652f, 0.000710f, 0.020386f, -0.015901f, -0.000264f, -0.016639f, -0.010883f, -0.006398f, 0.014696f, 0.008677f, + -0.020129f, -0.027575f, -0.010525f, 0.009914f, 0.007097f, -0.004019f, 0.009637f, 0.000226f, -0.002217f, 0.001213f, -0.014426f, 0.004520f, -0.001774f, 0.001348f, 0.004751f, 0.001117f, 0.000095f, 0.006251f, 0.005521f, -0.009551f, -0.009504f, 0.011150f, -0.003341f, -0.005292f, 0.006901f, -0.018826f, 0.004671f, 0.004087f, -0.017313f, 0.006486f, 0.018234f, 0.011081f, 0.012566f, 0.002674f, 0.007006f, 0.017295f, 0.003383f, 0.003402f, -0.019528f, 0.010528f, 0.015007f, 0.012276f, 0.002499f, 0.012469f, -0.013864f, 0.013949f, -0.003979f, -0.013670f, -0.021100f, -0.000078f, -0.013359f, -0.010781f, -0.004508f, -0.012833f, -0.032157f, 0.001535f, 0.001860f, -0.000950f, 0.005210f, 0.016040f, 0.006162f, 0.006550f, 0.004424f, -0.011419f, 0.001874f, 0.005537f, 0.004821f, 0.004236f, 0.004889f, -0.011722f, -0.003330f, -0.014811f, -0.006554f, -0.000940f, 0.003681f, -0.005329f, 0.005505f, 0.001200f, 0.001138f, -0.003607f, -0.000399f, -0.001850f, 0.000240f, -0.002011f, 0.002214f, 0.000786f, 0.001731f, -0.000411f, -0.002513f, -0.002141f, -0.002026f, 0.002435f, 0.001702f, 0.000136f, -0.000824f, -0.001927f, + -0.002008f, -0.002040f, -0.006498f, 0.001156f, 0.001183f, -0.004964f, -0.002422f, -0.001712f, -0.043658f, 0.021565f, 0.002816f, -0.016936f, 0.004167f, -0.001825f, -0.004972f, -0.003424f, -0.009582f, 0.005208f, -0.004896f, 0.001057f, 0.006332f, 0.005850f, 0.018967f, -0.007612f, -0.018060f, 0.009886f, -0.022911f, -0.009850f, 0.003774f, 0.003198f, 0.002645f, 0.007473f, 0.009235f, 0.007973f, -0.000140f, 0.010539f, 0.000710f, -0.004129f, 0.013969f, 0.008681f, -0.004224f, 0.008335f, -0.014400f, 0.027293f, 0.001052f, 0.005112f, -0.002535f, -0.023355f, -0.004031f, -0.008666f, -0.008177f, 0.003674f, 0.019519f, 0.000595f, 0.000836f, -0.002471f, -0.005363f, -0.012583f, 0.004013f, -0.002038f, 0.006999f, -0.015867f, 0.005385f, 0.008525f, 0.003747f, -0.011741f, -0.004172f, 0.003157f, 0.001536f, 0.009603f, 0.001890f, 0.033185f, -0.009445f, -0.014068f, -0.016040f, -0.004800f, 0.000348f, 0.011887f, -0.015979f, -0.002014f, -0.006846f, 0.007369f, -0.023337f, -0.000952f, -0.006319f, -0.009709f, 0.002913f, -0.002768f, 0.006370f, -0.000759f, 0.011700f, 0.007481f, -0.000033f, 0.002564f, 0.000905f, 0.001555f, + 0.013564f, 0.001716f, 0.009698f, 0.003606f, -0.002455f, 0.000341f, 0.000344f, 0.002898f, -0.001790f, 0.001539f, -0.000527f, 0.004209f, 0.000752f, -0.002966f, -0.004472f, 0.003719f, -0.001729f, -0.005206f, -0.002355f, -0.002680f, -0.001248f, -0.001505f, -0.000114f, 0.006702f, 0.000097f, 0.001980f, 0.000778f, 0.002792f, -0.002620f, -0.001312f, -0.004816f, -0.005334f, 0.020007f, -0.006085f, -0.004445f, 0.004512f, 0.006090f, -0.015664f, -0.015805f, -0.014437f, -0.013552f, -0.022338f, 0.014503f, -0.012967f, 0.004256f, 0.005741f, 0.020795f, -0.003145f, -0.004624f, 0.016335f, 0.003984f, 0.003618f, -0.018631f, -0.012129f, 0.009541f, 0.004278f, 0.007638f, 0.011350f, -0.019642f, 0.000463f, 0.008747f, 0.019229f, 0.000057f, 0.002034f, -0.002610f, 0.000251f, -0.012732f, -0.002222f, -0.003788f, -0.023910f, -0.001691f, 0.007615f, -0.013611f, 0.006168f, -0.014829f, 0.000147f, -0.010185f, -0.001913f, -0.003010f, 0.001593f, 0.019716f, -0.005449f, 0.000501f, 0.010207f, -0.005339f, 0.006071f, -0.015920f, -0.028578f, -0.015409f, -0.008510f, -0.003842f, 0.003286f, 0.019450f, -0.008820f, 0.005387f, 0.004894f, + -0.013594f, 0.004885f, -0.010417f, -0.003535f, 0.007264f, 0.019705f, -0.002767f, -0.000839f, 0.006453f, -0.000237f, -0.018086f, -0.017130f, -0.007051f, 0.017502f, -0.001865f, -0.025745f, 0.002051f, -0.016848f, -0.007346f, -0.003343f, -0.001590f, 0.005957f, -0.006351f, -0.001793f, 0.006670f, -0.001634f, 0.007796f, 0.006757f, 0.004959f, -0.002888f, 0.007638f, -0.006433f, -0.004770f, -0.004503f, 0.001329f, -0.000583f, -0.001219f, -0.001381f, -0.001073f, -0.002108f, 0.001683f, -0.000419f, 0.004993f, -0.003131f, -0.001902f, 0.002194f, -0.002676f, -0.001518f, -0.007295f, -0.008892f, -0.000602f, 0.000895f, 0.004661f, 0.000776f, 0.002892f, 0.000387f, 0.019056f, 0.020014f, -0.006343f, 0.001715f, 0.020993f, -0.021684f, -0.019328f, 0.016040f, -0.004054f, 0.002061f, 0.014526f, -0.003055f, -0.004203f, 0.014541f, -0.027392f, 0.011447f, -0.001413f, 0.004463f, 0.013056f, 0.013518f, -0.015427f, 0.002749f, -0.021127f, 0.006303f, -0.006497f, -0.002376f, -0.014767f, -0.000879f, -0.021084f, 0.001892f, -0.018304f, 0.012547f, -0.006558f, 0.002272f, 0.022378f, 0.010353f, 0.009901f, -0.018155f, 0.003106f, 0.020824f, + -0.005172f, -0.029880f, 0.015754f, -0.003749f, 0.002691f, -0.005969f, -0.014027f, 0.019553f, 0.006841f, 0.015915f, 0.003773f, 0.002216f, -0.013451f, -0.017257f, 0.005945f, 0.007932f, 0.008370f, 0.011317f, 0.026100f, -0.000968f, -0.020671f, -0.013386f, 0.015609f, -0.002373f, -0.017810f, -0.004702f, -0.001337f, -0.004868f, -0.022479f, 0.000275f, 0.002773f, 0.005476f, -0.008320f, 0.012737f, -0.000929f, 0.001349f, 0.017941f, 0.009254f, 0.018687f, -0.018723f, -0.008093f, 0.003389f, -0.010551f, 0.008448f, 0.004922f, 0.005157f, -0.001086f, -0.002418f, -0.001876f, -0.000330f, -0.007669f, 0.009361f, -0.003766f, 0.005729f, -0.001851f, 0.006681f, -0.003014f, -0.003362f, 0.000075f, 0.003830f, -0.003660f, -0.000152f, -0.001178f, -0.003729f, -0.002224f, 0.001682f, -0.004441f, -0.001290f, -0.009024f, -0.006771f, 0.003281f, 0.005961f, 0.002726f, 0.002712f, -0.001292f, -0.000715f, -0.004445f, -0.000655f, 0.004055f, -0.005780f, -0.001231f, 0.002667f, -0.001582f, 0.004675f, 0.004107f, -0.003232f, -0.001740f, 0.004184f, 0.002458f, -0.002169f, -0.000145f, 0.015299f, -0.018647f, 0.021817f, -0.004925f, 0.023078f, + -0.018868f, 0.017081f, 0.001867f, -0.001813f, 0.028744f, -0.015030f, 0.001707f, -0.014588f, -0.004359f, 0.043824f, 0.021138f, 0.009302f, 0.006328f, 0.012462f, -0.007018f, -0.000061f, -0.037068f, 0.006881f, -0.001562f, -0.016025f, 0.017753f, 0.013329f, -0.000570f, 0.003165f, -0.021428f, 0.018870f, -0.010016f, 0.020041f, 0.013114f, 0.010702f, -0.015380f, -0.002700f, -0.012934f, 0.019245f, 0.004414f, -0.007003f, 0.034087f, 0.016307f, -0.003865f, 0.001796f, -0.028273f, 0.004803f, 0.001293f, 0.022449f, -0.010100f, -0.028731f, -0.004963f, -0.007945f, -0.005606f, -0.040609f, -0.020261f, -0.043253f, -0.022059f, -0.015452f, 0.005073f, -0.010867f, 0.020406f, 0.002559f, -0.023377f, 0.014106f, -0.015647f, 0.022104f, -0.019714f, -0.015955f, 0.011490f, 0.019693f, 0.019362f, 0.000082f, -0.018198f, -0.014487f, 0.008868f, -0.011877f, 0.000424f, -0.005987f, 0.007298f, -0.008143f, -0.012031f, 0.021196f, 0.009793f, 0.002921f, -0.003397f, 0.008009f, 0.004485f, 0.009852f, -0.000951f, 0.006684f, 0.002326f, 0.011063f, 0.000186f, -0.000481f, 0.000591f, -0.005394f, 0.000160f, 0.002860f, 0.001320f, 0.001252f, + 0.000260f, 0.008537f, 0.003858f, -0.006660f, 0.000707f, 0.003910f, -0.002157f, -0.002511f, -0.001660f, 0.000564f, 0.001583f, 0.004330f, -0.001112f, 0.002972f, 0.004927f, -0.000974f, -0.005082f, -0.000382f, -0.005537f, -0.002351f, -0.005117f, -0.003203f, 0.004359f, 0.000370f, -0.002882f, 0.002906f, 0.001564f, 0.006099f, -0.003597f, -0.001793f, -0.005477f, 0.002421f, 0.001193f, -0.026325f, -0.031353f, -0.020606f, -0.002520f, 0.000111f, -0.003616f, 0.008097f, 0.012050f, 0.008528f, 0.000514f, 0.004815f, -0.009597f, 0.007161f, -0.020015f, -0.028104f, 0.001418f, 0.022469f, 0.004362f, -0.007207f, 0.018080f, 0.010916f, 0.017517f, 0.029135f, 0.004234f, -0.008315f, -0.017716f, -0.014079f, 0.008880f, -0.016214f, -0.011087f, 0.004830f, -0.012727f, -0.028673f, -0.015487f, -0.001093f, -0.002870f, 0.007348f, -0.006047f, 0.016694f, 0.005217f, 0.006658f, 0.022902f, -0.003064f, 0.003176f, 0.005713f, -0.017343f, 0.021597f, 0.003991f, -0.018964f, -0.031365f, 0.008641f, 0.003389f, -0.022644f, 0.025048f, 0.016452f, -0.020957f, 0.007803f, 0.021140f, 0.012131f, 0.006052f, 0.017654f, -0.007309f, -0.006372f, + 0.001822f, -0.008947f, -0.014653f, 0.026517f, -0.022637f, -0.002044f, 0.010219f, 0.002765f, 0.040906f, -0.034510f, 0.011221f, -0.003937f, 0.000363f, 0.011836f, 0.000984f, 0.002966f, -0.008899f, 0.005893f, -0.020265f, -0.043543f, -0.001955f, 0.000016f, -0.022139f, -0.013857f, -0.002632f, 0.008892f, 0.007797f, 0.003666f, 0.002392f, -0.006786f, 0.000301f, -0.009728f, -0.004661f, -0.001433f, -0.005447f, -0.008711f, 0.003705f, -0.001198f, 0.002108f, -0.004181f, -0.002951f, 0.002761f, -0.007039f, -0.015513f, -0.005101f, 0.001659f, -0.003843f, -0.014935f, -0.008138f, 0.007011f, 0.004929f, 0.003631f, -0.002558f, -0.005378f, -0.006918f, -0.000794f, -0.003219f, -0.008218f, -0.006780f, -0.009791f, -0.004908f, -0.006412f, -0.006506f, 0.000388f, -0.001204f, 0.003412f, -0.002236f, 0.003328f, -0.001873f, 0.005791f, -0.007676f, -0.020695f, 0.018420f, -0.037499f, -0.026622f, 0.019926f, -0.000838f, -0.034138f, 0.017649f, -0.019925f, 0.038855f, 0.007874f, -0.050961f, -0.006375f, 0.004711f, -0.012772f, 0.003908f, 0.009018f, 0.018179f, 0.015635f, -0.029586f, -0.001172f, 0.002830f, -0.006019f, -0.027115f, -0.004069f, + -0.005588f, -0.009197f, -0.008240f, -0.000255f, 0.002055f, 0.023265f, 0.025375f, -0.007709f, 0.013682f, 0.011933f, 0.011553f, 0.025400f, 0.000350f, 0.006946f, -0.029058f, -0.009837f, 0.010273f, -0.005587f, 0.014063f, 0.034827f, 0.005124f, -0.030162f, -0.067591f, 0.000024f, -0.020831f, 0.019380f, -0.012770f, -0.006700f, -0.013278f, -0.036331f, 0.015900f, 0.049018f, 0.002862f, 0.012995f, -0.038300f, 0.008133f, -0.004345f, -0.017042f, 0.004394f, 0.018938f, 0.009732f, 0.015326f, -0.016499f, 0.024451f, 0.014202f, -0.028012f, -0.041955f, -0.002442f, -0.031907f, -0.029606f, -0.019032f, -0.021762f, 0.002856f, 0.039574f, 0.015091f, 0.001699f, -0.005270f, 0.025579f, -0.012907f, -0.018593f, -0.003035f, 0.004210f, -0.002981f, 0.004937f, 0.003911f, 0.000510f, 0.003958f, 0.009975f, 0.003547f, -0.000759f, 0.000706f, -0.003458f, -0.003746f, 0.010466f, -0.003094f, 0.010308f, 0.000227f, -0.005355f, 0.001212f, -0.002667f, -0.004242f, 0.012413f, -0.002935f, 0.006868f, -0.014879f, -0.001570f, 0.007209f, 0.000264f, 0.002940f, 0.012696f, -0.009301f, 0.011637f, -0.001159f, 0.001609f, 0.003441f, -0.003441f, + 0.008616f, 0.001619f, 0.000490f, 0.001889f, 0.000398f, 0.004317f, 0.011097f, -0.004264f, 0.003874f, 0.004755f, 0.004291f, 0.005311f, -0.001774f, -0.073766f, -0.046589f, 0.033403f, 0.026896f, 0.043767f, -0.000183f, 0.017224f, 0.004252f, 0.013792f, -0.000580f, 0.008882f, -0.019430f, -0.023303f, -0.014465f, -0.020867f, -0.013461f, -0.014879f, 0.017804f, 0.042065f, 0.009181f, -0.051418f, -0.012219f, 0.008963f, -0.013657f, 0.012509f, -0.029380f, -0.002421f, -0.001001f, 0.001664f, 0.014311f, 0.010810f, 0.002006f, -0.003584f, -0.006567f, 0.011911f, 0.023237f, -0.018677f, -0.028903f, 0.019176f, 0.009152f, 0.025167f, 0.011513f, 0.036609f, -0.025364f, -0.008957f, 0.023407f, 0.034901f, 0.030372f, 0.017924f, 0.008547f, -0.007556f, 0.002299f, -0.004465f, 0.000130f, 0.012053f, -0.045677f, 0.024489f, -0.003604f, 0.006588f, -0.003023f, 0.034617f, -0.010587f, -0.000584f, -0.007610f, 0.021925f, 0.018672f, -0.039039f, 0.027953f, -0.033221f, -0.001679f, -0.016885f, -0.016675f, 0.015060f, 0.002765f, -0.051750f, -0.004581f, -0.004156f, -0.009536f, -0.006097f, -0.001215f, -0.006679f, 0.026845f, 0.002557f, + 0.025680f, -0.008206f, 0.030366f, 0.014240f, -0.015682f, 0.006595f, -0.003916f, 0.001656f, 0.001975f, 0.002775f, 0.004099f, 0.001475f, -0.005881f, -0.009816f, 0.015111f, 0.006605f, 0.012405f, 0.003366f, -0.007367f, 0.014172f, 0.000567f, 0.000654f, 0.010767f, -0.030230f, -0.013959f, -0.013488f, 0.004246f, -0.000504f, -0.020457f, 0.000789f, 0.003454f, -0.001045f, -0.003829f, -0.000152f, 0.007054f, -0.007585f, -0.000282f, 0.008058f, 0.004088f, 0.009842f, -0.008664f, -0.004357f, 0.002500f, 0.010686f, 0.040873f, -0.045597f, -0.001105f, -0.025943f, -0.073072f, -0.008693f, -0.027005f, -0.057691f, 0.011461f, -0.000433f, -0.011256f, 0.003562f, 0.030917f, -0.002065f, -0.032793f, 0.011174f, 0.001268f, -0.010583f, -0.007930f, -0.005900f, 0.001602f, 0.035630f, -0.008064f, -0.001377f, 0.016154f, 0.011915f, -0.005191f, 0.017220f, 0.015765f, -0.007686f, -0.007548f, -0.014404f, 0.019811f, -0.004812f, -0.034250f, 0.005158f, -0.002315f, 0.011687f, 0.044767f, -0.029980f, -0.048033f, -0.030329f, -0.014062f, 0.006569f, 0.015962f, 0.008441f, 0.034068f, 0.016981f, -0.024087f, -0.013951f, -0.032838f, 0.028325f, + 0.017427f, 0.003090f, 0.005987f, -0.018885f, 0.001942f, -0.019978f, 0.034348f, 0.033672f, 0.002369f, -0.015793f, -0.008781f, 0.003259f, 0.031267f, 0.062406f, 0.038414f, -0.005988f, -0.013994f, 0.000789f, 0.019853f, 0.008560f, 0.018322f, 0.025240f, -0.025111f, -0.001245f, -0.048399f, -0.032674f, -0.031111f, -0.020900f, 0.012978f, 0.029618f, 0.020373f, 0.003154f, -0.005945f, -0.002860f, -0.026954f, -0.033930f, -0.008574f, -0.018064f, -0.016991f, 0.003809f, -0.003462f, -0.004407f, 0.000158f, 0.001008f, 0.007708f, -0.008703f, 0.017277f, -0.017665f, 0.007407f, -0.022463f, -0.007524f, -0.000126f, 0.004124f, -0.000757f, 0.003915f, 0.008482f, -0.006094f, 0.000916f, 0.020536f, 0.025005f, 0.030194f, 0.016489f, 0.018907f, 0.008470f, 0.003583f, 0.001312f, 0.000518f, 0.001041f, -0.005304f, -0.016422f, -0.016008f, -0.002759f, 0.012410f, -0.000120f, 0.001899f, -0.006787f, -0.004763f, 0.001804f, 0.015190f, 0.009476f, 0.018132f, 0.014574f, 0.012993f, 0.015663f, -0.035637f, -0.004174f, -0.018448f, 0.026852f, -0.029608f, 0.005760f, 0.002615f, 0.052502f, -0.032449f, -0.009494f, -0.033376f, -0.007204f, + -0.032968f, -0.027698f, -0.019992f, 0.010362f, -0.035465f, -0.025718f, -0.038567f, -0.009834f, -0.005799f, -0.011787f, -0.017428f, -0.042975f, 0.011241f, -0.030372f, 0.012284f, -0.031867f, 0.039299f, 0.006070f, 0.017613f, -0.007569f, -0.037074f, 0.019877f, 0.011496f, -0.012461f, 0.019846f, 0.027789f, -0.015017f, -0.039927f, -0.021398f, 0.053556f, -0.022884f, -0.001730f, 0.001373f, -0.009067f, 0.011762f, 0.034716f, 0.006149f, 0.014775f, -0.011184f, 0.024840f, 0.000338f, 0.019570f, 0.005949f, 0.006653f, -0.000618f, 0.002019f, 0.042439f, 0.012881f, 0.101620f, -0.062024f, 0.039590f, 0.055709f, -0.014733f, 0.001280f, 0.028710f, -0.020810f, -0.006121f, 0.046643f, 0.018452f, -0.007769f, 0.024727f, -0.010590f, -0.045188f, -0.033405f, 0.011306f, 0.001818f, -0.060371f, -0.016793f, -0.006204f, -0.031340f, 0.016066f, 0.009389f, -0.020413f, -0.016690f, -0.012347f, 0.001758f, 0.005506f, 0.012762f, -0.010642f, 0.001491f, 0.007403f, -0.003355f, -0.013472f, 0.003682f, 0.002752f, 0.004206f, 0.012481f, 0.002210f, -0.007714f, 0.000989f, 0.014461f, 0.012855f, 0.006186f, -0.014461f, -0.000401f, 0.026502f, + -0.007668f, -0.005649f, 0.014632f, -0.014471f, -0.025065f, -0.007174f, 0.001255f, -0.003312f, -0.012931f, -0.004012f, -0.000899f, -0.014213f, -0.003066f, 0.001424f, -0.004066f, -0.014764f, -0.024338f, 0.009088f, 0.025840f, 0.009294f, -0.000714f, 0.000814f, -0.005054f, -0.015526f, -0.012493f, 0.056435f, 0.063078f, 0.000804f, 0.045509f, 0.045327f, -0.002599f, 0.020369f, -0.045773f, -0.014227f, 0.040372f, 0.003790f, 0.039860f, 0.055829f, 0.045954f, -0.009307f, 0.029959f, -0.046876f, -0.073098f, -0.031299f, -0.027396f, 0.017549f, 0.000049f, 0.018780f, 0.020288f, 0.043960f, 0.033988f, 0.011836f, -0.034896f, -0.004272f, 0.034737f, 0.011170f, -0.017168f, 0.022369f, 0.047927f, -0.005438f, 0.016628f, -0.039207f, 0.018672f, -0.030959f, -0.008471f, -0.019669f, -0.040713f, 0.024875f, 0.002726f, 0.012112f, 0.048549f, -0.026346f, -0.029661f, 0.017511f, 0.050309f, -0.039651f, -0.026590f, 0.016334f, -0.012881f, 0.071137f, 0.052606f, -0.050147f, -0.019012f, -0.039657f, 0.002025f, 0.043373f, -0.020258f, -0.030232f, -0.013862f, 0.002597f, 0.010351f, -0.036179f, 0.008534f, 0.072494f, 0.005141f, -0.048600f, + -0.074209f, 0.059703f, -0.071591f, -0.060086f, -0.035226f, -0.030778f, -0.051839f, 0.013703f, 0.012985f, 0.083001f, 0.020632f, 0.036407f, -0.018526f, 0.039597f, -0.005032f, -0.017167f, 0.014831f, 0.001645f, -0.004018f, 0.040604f, 0.005006f, 0.020676f, 0.025771f, 0.013848f, 0.030935f, -0.009065f, 0.008214f, -0.006964f, -0.002730f, -0.006931f, -0.026399f, -0.019593f, -0.021836f, 0.024697f, 0.008673f, 0.021967f, 0.027267f, -0.006305f, 0.016254f, 0.035412f, 0.012621f, -0.011770f, 0.018174f, 0.021151f, 0.007134f, -0.005274f, -0.026084f, -0.023473f, 0.022903f, 0.009527f, 0.015166f, 0.030206f, 0.067419f, 0.028833f, 0.016851f, 0.012161f, 0.018932f, -0.010365f, -0.002460f, 0.033828f, -0.022129f, -0.027066f, -0.005459f, 0.012866f, -0.011797f, 0.012195f, 0.007243f, -0.065744f, -0.037990f, -0.049363f, 0.013398f, 0.027864f, 0.009946f, 0.042612f, 0.038220f, 0.053972f, 0.016874f, 0.058914f, 0.026369f, 0.038145f, -0.018402f, -0.006991f, -0.018499f, -0.044816f, -0.032242f, -0.069505f, -0.041285f, -0.013077f, -0.040562f, 0.009350f, -0.001427f, -0.000692f, 0.016846f, 0.014107f, 0.006494f, 0.034211f, + -0.008352f, -0.027638f, 0.040619f, 0.004151f, -0.053418f, -0.022674f, -0.005659f, -0.063925f, -0.048720f, -0.047034f, 0.004513f, 0.023407f, 0.006337f, -0.024243f, -0.003015f, 0.027387f, 0.016666f, 0.064553f, 0.012033f, -0.085642f, -0.028635f, -0.014378f, 0.013825f, 0.013983f, -0.009845f, -0.022308f, 0.031973f, -0.047160f, -0.008811f, -0.037688f, 0.029029f, -0.074605f, -0.046558f, -0.060720f, -0.049249f, 0.002970f, -0.027776f, -0.020823f, -0.049435f, 0.025514f, 0.088794f, -0.001636f, 0.057378f, -0.031181f, 0.014036f, -0.041480f, -0.000231f, 0.063962f, 0.015006f, -0.029187f, 0.003265f, 0.025082f, -0.042829f, -0.065432f, -0.035748f, 0.017683f, -0.051613f, 0.022894f, -0.000913f, -0.000640f, 0.032867f, 0.018053f, -0.009005f, 0.039161f, 0.037977f, 0.031484f, -0.010295f, -0.009692f, -0.006931f, 0.000416f, 0.026353f, 0.020021f, 0.013161f, 0.001590f, 0.027455f, 0.016314f, 0.003960f, 0.004596f, 0.020221f, -0.007595f, -0.007391f, 0.015304f, -0.021756f, 0.020331f, -0.018970f, -0.017241f, -0.022277f, 0.039341f, 0.023382f, 0.036668f, 0.012546f, 0.014526f, 0.002647f, 0.003636f, 0.016851f, -0.025530f, + -0.043546f, 0.004571f, 0.011414f, 0.011968f, 0.015752f, -0.002787f, -0.017288f, 0.049492f, 0.020382f, 0.049929f, -0.080855f, 0.035428f, 0.061142f, -0.005668f, 0.070384f, -0.036930f, -0.106848f, -0.055138f, -0.000547f, -0.010413f, 0.012010f, -0.038079f, 0.037187f, 0.052581f, -0.046914f, 0.041826f, -0.025625f, -0.031292f, -0.074585f, -0.030235f, -0.042795f, -0.028075f, -0.034202f, 0.034013f, 0.005184f, -0.066685f, -0.085621f, 0.065095f, 0.014802f, 0.023535f, -0.019916f, 0.005505f, -0.023078f, 0.000931f, 0.019838f, 0.030217f, 0.027226f, 0.072871f, 0.002453f, -0.051739f, 0.070492f, -0.007121f, -0.018165f, -0.032342f, 0.029814f, -0.057554f, -0.038768f, 0.033189f, -0.030001f, -0.044747f, -0.056486f, -0.049235f, -0.010490f, 0.006981f, 0.005462f, -0.014953f, 0.061117f, 0.052304f, -0.004917f, -0.029248f, -0.050931f, -0.058194f, 0.014545f, 0.012727f, -0.011434f, -0.005340f, 0.083847f, 0.006035f, -0.024354f, 0.036578f, 0.017467f, -0.054809f, 0.044007f, 0.080113f, -0.087323f, 0.141609f, 0.037807f, 0.041177f, 0.015556f, 0.041471f, -0.011135f, -0.086766f, 0.059794f, 0.005508f, -0.010759f, 0.062476f, + -0.073544f, 0.013320f, 0.013011f, 0.000016f, -0.007046f, 0.003534f, -0.005680f, -0.019909f, 0.010929f, 0.022216f, -0.018070f, -0.001880f, -0.026762f, -0.030314f, 0.039960f, -0.008385f, -0.019532f, 0.009609f, -0.010632f, -0.024020f, -0.044338f, -0.009740f, -0.015049f, 0.039311f, -0.037202f, -0.003296f, 0.045778f, -0.009219f, 0.036585f, -0.012587f, -0.031949f, 0.017111f, -0.006427f, -0.014711f, 0.018946f, 0.004964f, 0.050407f, -0.006243f, -0.000771f, 0.032864f, 0.100920f, 0.044152f, 0.002064f, -0.034200f, 0.048062f, -0.001118f, 0.003213f, -0.023532f, 0.043845f, -0.051513f, 0.037100f, 0.035593f, 0.037585f, 0.017984f, -0.014121f, 0.049844f, 0.062683f, -0.013168f, 0.025764f, -0.039344f, 0.063082f, 0.026684f, 0.020976f, -0.040708f, -0.088450f, 0.017249f, -0.027231f, -0.020500f, -0.035984f, -0.045465f, 0.027106f, 0.011900f, -0.022080f, 0.004709f, 0.001986f, -0.024184f, -0.107995f, -0.007072f, -0.023024f, -0.011408f, -0.001771f, 0.075676f, 0.051798f, -0.025698f, 0.019493f, -0.050438f, 0.005500f, 0.037131f, -0.057322f, -0.053456f, -0.043736f, 0.068455f, -0.049547f, 0.013950f, 0.055173f, -0.074859f, + -0.069286f, 0.063366f, 0.050616f, 0.053130f, 0.071396f, 0.026058f, -0.091548f, 0.020248f, 0.026959f, -0.008473f, 0.149277f, -0.015839f, -0.022826f, -0.067897f, -0.058433f, 0.029710f, -0.053862f, 0.034661f, 0.012140f, 0.039254f, 0.081751f, -0.052905f, -0.035874f, 0.099214f, -0.060747f, -0.067424f, 0.043731f, -0.086723f, 0.062712f, -0.066047f, 0.014904f, 0.022141f, -0.047568f, 0.019282f, -0.055210f, 0.037962f, 0.070344f, -0.003318f, 0.012184f, 0.014015f, 0.002589f, -0.021955f, -0.020292f, -0.005064f, 0.020391f, -0.009543f, 0.013761f, -0.014747f, -0.043642f, 0.018245f, 0.003871f, 0.029208f, 0.014729f, 0.025442f, -0.008808f, -0.009124f, -0.043241f, 0.029898f, -0.005794f, -0.040003f, 0.009301f, 0.080877f, 0.022584f, -0.021279f, 0.024018f, 0.043319f, -0.021605f, 0.004286f, 0.033728f, -0.017384f, 0.033648f, 0.010866f, -0.010345f, -0.052866f, 0.009074f, -0.020539f, -0.001061f, 0.064716f, -0.029595f, 0.002900f, 0.012835f, 0.008947f, -0.018428f, 0.021552f, 0.074087f, 0.005396f, -0.064771f, 0.090390f, 0.021328f, -0.006959f, 0.064226f, 0.031363f, 0.051809f, 0.018779f, -0.079047f, -0.018103f, + -0.030048f, 0.035926f, 0.090387f, -0.058695f, 0.013961f, -0.028649f, 0.039846f, 0.045741f, -0.062259f, 0.050430f, -0.050142f, -0.045375f, 0.021894f, 0.041341f, 0.001096f, 0.013105f, 0.032230f, -0.050734f, 0.043289f, 0.002528f, 0.052991f, -0.010444f, -0.014835f, 0.016574f, 0.078808f, -0.036600f, 0.063553f, -0.031994f, 0.012304f, 0.015863f, 0.063523f, -0.004699f, -0.004794f, 0.021148f, 0.096080f, 0.005443f, -0.076202f, -0.007073f, -0.091610f, 0.053721f, -0.000401f, 0.148256f, 0.031350f, -0.044555f, -0.013824f, 0.032043f, -0.033594f, 0.051455f, 0.096784f, 0.065717f, 0.000891f, 0.027381f, 0.041607f, -0.005755f, -0.045875f, -0.007185f, -0.010867f, -0.156708f, 0.096545f, 0.071484f, 0.066279f, 0.015162f, -0.068020f, -0.021176f, 0.050311f, 0.025361f, 0.043749f, 0.022880f, -0.149703f, -0.054333f, 0.091037f, 0.024161f, 0.029018f, 0.077843f, -0.056431f, -0.002875f, -0.008421f, 0.043618f, 0.010731f, -0.005496f, -0.012739f, 0.034130f, -0.009813f, -0.041805f, 0.019607f, -0.020751f, -0.023910f, 0.019994f, 0.030403f, -0.024038f, -0.007752f, -0.001982f, 0.023867f, -0.032463f, 0.024825f, -0.028823f, + 0.012467f, -0.048984f, -0.049495f, 0.047336f, 0.005732f, 0.003093f, -0.006184f, -0.036522f, -0.011439f, 0.031288f, 0.002931f, 0.009830f, 0.053537f, -0.009595f, -0.041624f, -0.005180f, -0.023891f, 0.017228f, 0.019704f, -0.020791f, -0.017130f, 0.020096f, 0.044271f, 0.055425f, -0.002300f, 0.058733f, -0.036234f, 0.059773f, -0.054603f, 0.009285f, 0.028586f, -0.027995f, 0.004016f, 0.011320f, -0.014948f, -0.029215f, -0.055278f, 0.084289f, -0.018900f, -0.016459f, -0.028128f, -0.004581f, -0.011652f, 0.027505f, -0.056674f, -0.016172f, -0.035503f, 0.012322f, -0.035701f, 0.034359f, -0.000334f, 0.017802f, -0.039382f, -0.071355f, 0.003256f, -0.052092f, -0.054773f, 0.024973f, -0.042059f, -0.035236f, 0.068997f, -0.025345f, -0.040606f, 0.005441f, -0.041760f, 0.019785f, 0.025921f, -0.007323f, -0.034167f, -0.009610f, 0.019577f, 0.017739f, -0.015675f, -0.001134f, 0.060732f, -0.010525f, -0.037895f, -0.047446f, -0.007151f, -0.020586f, -0.072249f, 0.067904f, 0.023048f, -0.082232f, 0.050563f, -0.003266f, -0.034977f, 0.159333f, 0.089148f, 0.073608f, 0.038479f, 0.022784f, -0.038098f, 0.006348f, 0.017091f, 0.019209f, + 0.006710f, 0.070077f, 0.015170f, -0.020131f, -0.034708f, -0.140047f, 0.028229f, 0.019014f, -0.001164f, -0.026878f, -0.053442f, -0.009894f, -0.034618f, -0.029954f, -0.002723f, 0.044992f, -0.030970f, 0.077409f, 0.010704f, -0.014686f, -0.005952f, -0.005886f, 0.005526f, 0.032974f, -0.013146f, 0.008782f, 0.022054f, 0.008520f, 0.003724f, 0.018385f, -0.029303f, 0.014663f, 0.004491f, 0.045673f, -0.016303f, -0.010461f, -0.013070f, -0.010570f, -0.036392f, -0.018634f, 0.012272f, -0.038142f, 0.028291f, -0.007059f, -0.019368f, 0.027598f, 0.016218f, 0.023361f, -0.009212f, -0.002665f, 0.002162f, 0.005175f, -0.025464f, 0.013819f, 0.000903f, -0.000244f, -0.003095f, 0.017002f, 0.008048f, -0.073295f, 0.122376f, 0.015164f, 0.039776f, 0.021460f, -0.030962f, 0.022353f, 0.034118f, 0.008132f, -0.004012f, -0.030192f, -0.005691f, 0.007890f, -0.014368f, -0.011038f, 0.004674f, 0.013306f, 0.035271f, -0.025248f, 0.014563f, 0.000967f, 0.028060f, -0.010564f, 0.005185f, 0.008913f, -0.033238f, 0.026163f, 0.003854f, 0.006113f, 0.009108f, 0.009361f, -0.021225f, 0.021658f, -0.018356f, 0.004051f, 0.020757f, -0.012035f, + 0.020345f, -0.009465f, 0.025763f, 0.019842f, 0.011382f, -0.032988f, 0.023868f, 0.017971f, 0.014359f, 0.040013f, -0.039369f, -0.003900f, -0.000777f, -0.008777f, 0.011498f, -0.020618f, -0.032679f, 0.021639f, 0.024622f, 0.012057f, -0.003493f, 0.004820f, -0.003873f, 0.012524f, -0.011717f, 0.004788f, -0.024358f, 0.021316f, -0.037596f, 0.034626f, 0.019206f, -0.012295f, -0.000910f, 0.014083f, 0.000654f, 0.012571f, -0.000119f, 0.000979f, -0.001628f, -0.013125f, 0.017654f, 0.023931f, -0.021926f, -0.005461f, 0.004144f, 0.013051f, -0.010155f, -0.010783f, 0.002493f, 0.003951f, -0.002805f, 0.001937f, -0.008273f, 0.002479f, 0.009716f, -0.008350f, 0.001808f, 0.005402f, -0.008451f, 0.006432f, 0.008486f, -0.001331f, -0.003160f, -0.004723f, 0.001401f, 0.017725f, -0.007181f, 0.001832f, -0.017248f, 0.000474f, 0.018515f, -0.013855f, 0.013715f, -0.007018f, 0.000787f, 0.030591f, -0.005730f, 0.000059f, -0.000917f, -0.010172f, 0.015878f, 0.006036f, 0.006687f, 0.006034f, -0.005324f, 0.003586f, 0.017447f, -0.005733f, 0.011821f, -0.008430f, -0.001531f, 0.023549f, -0.098236f, -0.228574f, -0.036704f, 0.133555f, + 0.121180f, 0.298747f, 0.155881f, -0.080540f, -0.024915f, -0.165594f, -0.281142f, -0.019486f, -0.127889f, -0.017873f, 0.204472f, 0.087337f, 0.157916f, 0.242707f, -0.028484f, -0.035630f, -0.123564f, -0.209759f, -0.166980f, -0.010799f, -0.062907f, -0.023783f, 0.173953f, 0.055209f, 0.113054f, 0.205911f, 0.033463f, -0.000867f, 0.021037f, -0.125286f, -0.189952f, 0.032571f, -0.196283f, -0.128226f, 0.043199f, -0.019715f, 0.031552f, 0.252241f, 0.028628f, 0.096703f, 0.205640f, -0.041025f, 0.006064f, 0.045940f, -0.198894f, -0.165567f, -0.059021f, -0.225959f, -0.087874f, 0.028826f, 0.041451f, 0.155680f, 0.218869f, 0.156312f, 0.109940f, 0.096150f, -0.036891f, -0.132327f, -0.109086f, -0.163606f, -0.172336f, -0.073648f, -0.043962f, 0.001215f, 0.143915f, 0.172230f, 0.053500f, 0.134606f, 0.038836f, -0.042509f, 0.027901f, -0.093675f, -0.130764f, -0.025413f, -0.060971f, -0.040418f, 0.073057f, -0.002616f, 0.050814f, 0.091514f, -0.025516f, -0.001888f, -0.000440f, -0.046135f, -0.014695f, -0.003049f, -0.035146f, 0.038862f, 0.013574f, -0.008857f, 0.062781f, 0.020341f, -0.009534f, 0.060956f, -0.021828f, -0.064945f, + 0.000806f, -0.099302f, -0.070133f, 0.021712f, -0.066704f, 0.014377f, 0.076208f, 0.056608f, 0.104054f, 0.114276f, 0.041012f, 0.040572f, -0.005316f, -0.093760f, -0.131948f, -0.134947f, -0.141785f, -0.089476f, -0.007318f, 0.045621f, 0.096986f, 0.169722f, 0.181201f, 0.151249f, 0.117545f, -0.006725f, -0.111652f, -0.158876f, -0.204182f, -0.207300f, -0.111363f, -0.033024f, 0.086301f, 0.184252f, 0.165885f, 0.100802f, 0.073714f, 0.022102f, -0.016128f, -0.024435f, -0.073975f, -0.084277f, -0.064334f, -0.052776f, -0.038828f, -0.007289f, 0.007141f, 0.031155f, 0.044969f, 0.047224f, 0.044306f, 0.041279f, 0.019895f, 0.001500f, -0.016027f, -0.023973f, -0.035554f, -0.034327f, -0.026423f, -0.013966f, -0.006020f, 0.006553f, 0.011273f, 0.016281f, 0.012833f, 0.011110f, 0.008848f, 0.008733f, 0.002494f, 0.002317f, 0.001898f, 0.000788f, -0.004221f, -0.001229f, -0.006334f, -0.012221f, -0.013283f, -0.012597f, -0.011935f, -0.000495f, 0.001885f, 0.006730f, 0.014221f, 0.017456f, 0.016270f, 0.014737f, 0.004964f, -0.001634f, -0.010073f, -0.015324f, -0.017356f, -0.013108f, -0.009409f, -0.003419f, 0.002670f, 0.007956f, + 0.008734f, 0.010012f, 0.007830f, 0.005363f, 0.002708f, -0.000058f, -0.003891f, -0.002906f, -0.004157f, -0.003304f, -0.002606f, -0.002612f, -0.001274f, 0.000560f, -0.002128f, -0.001271f, -0.000276f, 0.001100f, 0.002595f, 0.002581f, 0.002739f, 0.004468f, 0.002880f, 0.001534f, -0.000136f, -0.002095f, -0.003504f, -0.003484f, -0.003938f, -0.002791f, -0.001602f, -0.000358f, 0.000830f, 0.001864f, 0.001881f, 0.001989f, 0.001631f, 0.001113f, 0.000282f, -0.000081f, -0.000545f, -0.000782f, -0.000868f} + }, + { + {-0.008179f, 0.008688f, 0.002212f, -0.004646f, -0.002042f, -0.010413f, -0.002752f, 0.008817f, -0.004587f, -0.003324f, 0.002749f, -0.001310f, -0.000282f, 0.000613f, -0.002748f, -0.002187f, 0.010671f, 0.005229f, -0.001246f, 0.000583f, -0.001533f, -0.003108f, 0.001510f, 0.003862f, 0.005892f, -0.001427f, 0.002282f, 0.002766f, -0.009359f, -0.002816f, 0.000026f, -0.001798f, 0.005812f, 0.000595f, -0.001936f, 0.005263f, -0.003916f, 0.001826f, 0.008100f, -0.004397f, 0.000553f, 0.001152f, 0.006158f, -0.002284f, 0.008478f, -0.011891f, -0.004328f, 0.005280f, -0.002335f, -0.010066f, 0.000762f, 0.002112f, 0.003410f, 0.003545f, -0.001064f, -0.004293f, 0.000407f, -0.003889f, -0.002665f, 0.001257f, 0.005050f, 0.004698f, -0.006731f, 0.006024f, -0.007369f, 0.006682f, 0.000404f, 0.005869f, -0.002231f, -0.004724f, -0.002101f, 0.003971f, -0.000729f, -0.000911f, -0.001150f, 0.005471f, -0.005795f, 0.003066f, 0.001441f, 0.001526f, 0.001864f, 0.004392f, 0.001397f, -0.002706f, -0.003125f, -0.001663f, 0.002365f, -0.000437f, -0.002292f, 0.000516f, -0.002770f, -0.000542f, -0.000184f, -0.002768f, -0.001127f, -0.001526f, + 0.000383f, 0.001608f, -0.001911f, -0.001302f, 0.000801f, -0.000314f, -0.002737f, 0.000052f, 0.001501f, -0.000987f, -0.000134f, 0.000643f, -0.000251f, 0.001159f, 0.000785f, 0.000165f, -0.002070f, -0.000607f, 0.000078f, -0.000852f, 0.000057f, -0.000140f, -0.001452f, 0.000906f, -0.002461f, -0.000395f, -0.028491f, 0.009336f, -0.010365f, -0.004138f, -0.008489f, -0.008715f, 0.004933f, -0.002916f, -0.007363f, -0.003961f, 0.009981f, 0.014843f, -0.008139f, -0.003037f, -0.000736f, -0.010712f, -0.010069f, 0.000741f, -0.001031f, 0.006524f, 0.002188f, 0.004856f, -0.004304f, -0.002697f, -0.005572f, 0.001553f, 0.009573f, 0.004151f, 0.001848f, -0.006194f, 0.004672f, 0.001405f, 0.002853f, -0.004048f, 0.000340f, 0.001405f, 0.002137f, -0.005495f, -0.004028f, 0.001489f, -0.007587f, -0.007750f, 0.003302f, 0.005858f, -0.006617f, -0.003332f, -0.002563f, 0.000463f, 0.005833f, 0.004706f, 0.002022f, 0.000877f, 0.015114f, 0.005931f, -0.004800f, 0.005880f, 0.004177f, -0.004217f, 0.007129f, -0.002677f, -0.001815f, -0.000052f, -0.003139f, 0.006341f, -0.003600f, 0.001656f, 0.003807f, 0.003056f, -0.005679f, 0.002214f, + 0.001032f, 0.001131f, -0.002002f, -0.002818f, -0.001202f, 0.008862f, 0.000566f, -0.002645f, -0.001929f, 0.002080f, -0.008013f, 0.001532f, 0.004729f, -0.000324f, 0.003052f, -0.001774f, -0.002906f, 0.001915f, 0.001730f, -0.000760f, 0.002964f, 0.001526f, -0.000884f, 0.002108f, 0.002194f, 0.003702f, 0.000453f, -0.000004f, -0.000295f, -0.001137f, -0.001614f, -0.000178f, -0.000317f, -0.001008f, 0.001061f, -0.000372f, 0.003648f, 0.021610f, 0.008577f, -0.001572f, 0.000919f, 0.004904f, 0.002533f, -0.001528f, -0.009429f, 0.000241f, 0.008246f, -0.008587f, -0.001017f, -0.016061f, 0.004135f, 0.006453f, 0.000370f, -0.003873f, 0.011631f, 0.008160f, -0.007601f, 0.003580f, 0.000378f, -0.006672f, 0.010372f, 0.005691f, -0.000745f, 0.004152f, 0.009879f, -0.003147f, -0.002120f, 0.000601f, -0.000006f, 0.000174f, 0.002323f, 0.012148f, 0.002394f, 0.001758f, -0.019810f, -0.001109f, 0.000833f, 0.002294f, -0.009001f, 0.002003f, -0.007274f, -0.005598f, -0.007690f, -0.005047f, -0.000022f, 0.002227f, -0.004726f, 0.004590f, -0.011412f, -0.006583f, -0.000761f, -0.000218f, 0.003570f, -0.004614f, -0.001128f, -0.004185f, + 0.002395f, 0.006074f, -0.003785f, 0.000591f, -0.003287f, -0.000655f, 0.009454f, 0.007390f, -0.003079f, 0.006921f, -0.003421f, -0.006033f, -0.007519f, -0.000632f, -0.000764f, -0.005096f, 0.004466f, -0.000872f, 0.001222f, -0.000631f, -0.001728f, 0.000266f, -0.001144f, -0.004148f, -0.000332f, -0.006565f, 0.000659f, -0.003273f, -0.002162f, -0.005529f, 0.006249f, -0.002018f, 0.002081f, 0.004241f, 0.001636f, -0.002280f, -0.000587f, -0.002552f, -0.000257f, 0.001007f, -0.002509f, 0.002428f, -0.000283f, 0.000191f, 0.000283f, -0.000978f, 0.001396f, 0.000771f, 0.000385f, 0.000100f, 0.003495f, 0.001630f, -0.001234f, -0.002525f, -0.002303f, 0.002070f, 0.002825f, -0.000102f, 0.000658f, 0.002722f, 0.000360f, 0.034068f, -0.015020f, 0.002677f, -0.001386f, -0.006447f, 0.005299f, 0.009453f, -0.006362f, 0.010173f, -0.000703f, 0.010860f, 0.002913f, 0.003746f, -0.004875f, 0.006097f, 0.002274f, 0.006246f, -0.013594f, 0.007074f, -0.008094f, 0.002355f, -0.006819f, 0.008308f, -0.002441f, 0.008370f, -0.005135f, 0.002996f, -0.003413f, -0.000874f, -0.000512f, -0.000994f, 0.003208f, 0.017541f, 0.000646f, 0.005054f, + -0.005029f, -0.008329f, 0.000210f, 0.000023f, 0.000211f, 0.002555f, -0.005814f, 0.011459f, -0.000872f, 0.009585f, 0.000542f, -0.004339f, -0.005452f, -0.014717f, 0.007029f, 0.004615f, -0.006953f, 0.000625f, 0.005709f, 0.002970f, -0.017119f, 0.010008f, -0.000707f, 0.007075f, -0.010336f, -0.011120f, -0.005466f, -0.010835f, -0.002098f, 0.012230f, 0.002439f, -0.004875f, 0.000605f, 0.006858f, -0.002486f, -0.005752f, -0.003050f, -0.006434f, 0.004375f, -0.009684f, -0.001814f, -0.007463f, -0.002931f, -0.000172f, 0.008081f, 0.003723f, 0.000770f, 0.002426f, 0.010179f, 0.005280f, 0.001133f, 0.003632f, -0.003042f, -0.001287f, 0.000563f, 0.000051f, 0.001521f, 0.000723f, -0.001903f, 0.000870f, 0.003512f, -0.000393f, 0.000660f, 0.001217f, -0.001882f, -0.002520f, 0.002158f, -0.002989f, 0.003260f, 0.001860f, 0.003011f, -0.000067f, -0.001324f, 0.001785f, 0.002980f, 0.000670f, -0.001414f, 0.000873f, -0.000214f, 0.008858f, -0.021062f, 0.004192f, -0.006700f, -0.019248f, -0.014861f, 0.007772f, 0.008669f, 0.011447f, -0.005796f, -0.003045f, 0.007845f, 0.003714f, 0.011767f, 0.003785f, -0.001417f, 0.001138f, + 0.007475f, 0.014675f, -0.003873f, 0.004225f, -0.000278f, 0.011878f, 0.002651f, -0.000802f, -0.002497f, -0.009190f, -0.013968f, 0.000081f, -0.002096f, 0.004100f, -0.000889f, 0.003198f, 0.002325f, 0.000780f, 0.000784f, 0.002696f, -0.004842f, 0.000467f, 0.006487f, 0.010253f, -0.005158f, 0.001164f, -0.004559f, -0.005988f, 0.008411f, -0.006601f, -0.016402f, -0.006464f, -0.004287f, 0.007770f, 0.000537f, 0.008579f, 0.007778f, -0.004240f, 0.000230f, -0.006814f, -0.001061f, -0.002955f, 0.009991f, -0.012790f, -0.000493f, 0.004241f, -0.013615f, -0.015233f, 0.000107f, 0.004642f, 0.009486f, -0.006752f, -0.016191f, 0.008337f, -0.014951f, 0.017282f, 0.009659f, 0.002807f, 0.007253f, -0.000219f, -0.007272f, 0.021984f, -0.002143f, 0.010619f, -0.000547f, 0.015366f, 0.010452f, 0.005593f, -0.001713f, -0.003043f, -0.005314f, -0.001943f, 0.002183f, 0.000521f, 0.004110f, -0.004393f, 0.002503f, -0.002350f, -0.001730f, -0.001671f, -0.001935f, 0.002057f, -0.001264f, -0.000071f, -0.003422f, -0.000182f, 0.001856f, 0.003685f, -0.003895f, -0.004597f, 0.000481f, 0.001992f, -0.000195f, 0.002401f, -0.001531f, 0.000258f, + -0.001958f, -0.000604f, 0.001088f, 0.002270f, 0.002643f, 0.001661f, -0.002396f, -0.003356f, -0.046246f, 0.009721f, 0.002508f, -0.023148f, -0.029252f, -0.004572f, -0.022547f, 0.018619f, 0.005449f, -0.013533f, 0.001018f, -0.006215f, 0.002216f, -0.009191f, 0.001360f, -0.000379f, 0.000272f, 0.013169f, -0.004488f, -0.002881f, -0.005264f, -0.004635f, -0.012110f, -0.008076f, 0.012480f, -0.004932f, 0.007953f, -0.006705f, 0.003536f, 0.000360f, 0.007203f, -0.007009f, 0.005496f, -0.007042f, 0.003305f, -0.002601f, -0.004323f, 0.004607f, -0.011307f, 0.004562f, -0.005674f, -0.001948f, -0.008172f, 0.020309f, 0.009765f, 0.017826f, -0.007364f, 0.007606f, 0.006171f, -0.003356f, 0.003319f, -0.008217f, 0.009055f, 0.019532f, 0.015497f, -0.010519f, -0.002682f, 0.004693f, -0.007548f, -0.005037f, -0.013349f, -0.025162f, -0.008407f, 0.013136f, 0.004851f, -0.006094f, 0.002752f, 0.001485f, -0.006714f, -0.011872f, -0.011953f, 0.008784f, 0.001193f, -0.018455f, 0.002169f, 0.001950f, -0.000720f, -0.001238f, 0.006367f, 0.013647f, -0.001180f, 0.000138f, 0.002085f, 0.000140f, -0.003350f, -0.012151f, 0.004273f, 0.004300f, + 0.002733f, 0.005901f, 0.003684f, -0.005113f, 0.001561f, -0.003163f, 0.000892f, -0.002652f, -0.000925f, -0.002951f, 0.000287f, 0.000848f, -0.000165f, -0.002095f, -0.001973f, -0.000510f, 0.001168f, 0.000076f, 0.004734f, 0.001766f, 0.004433f, 0.004718f, 0.005160f, -0.005780f, -0.005806f, -0.002109f, 0.004758f, -0.001397f, 0.001883f, -0.001626f, 0.002726f, 0.002778f, 0.001917f, -0.002743f, -0.001413f, -0.018292f, -0.007686f, -0.004837f, 0.013626f, -0.003741f, 0.003158f, -0.014280f, -0.014884f, 0.000626f, 0.004191f, -0.008763f, -0.005052f, -0.008230f, 0.016734f, 0.003605f, -0.005726f, -0.012382f, -0.012197f, -0.011950f, -0.003376f, 0.005588f, 0.016818f, 0.005379f, 0.009473f, -0.007688f, 0.017920f, 0.010174f, 0.003244f, 0.000101f, 0.018437f, -0.010913f, 0.001701f, 0.005760f, 0.012467f, -0.020365f, -0.010366f, 0.008742f, 0.003515f, -0.002897f, 0.021081f, -0.009332f, 0.005940f, 0.012644f, 0.003930f, 0.002046f, 0.009281f, 0.003688f, 0.004609f, 0.004647f, 0.002002f, 0.005370f, -0.000326f, 0.007956f, -0.001878f, 0.019645f, -0.014360f, 0.016150f, 0.012905f, -0.011340f, 0.012783f, 0.002269f, + 0.010867f, 0.010901f, -0.024130f, -0.000732f, -0.000962f, -0.007361f, 0.003868f, -0.006650f, 0.006700f, -0.002836f, 0.015400f, -0.001772f, 0.002432f, 0.006215f, 0.004340f, 0.006012f, -0.009797f, -0.003388f, -0.010010f, -0.009386f, -0.005309f, 0.014846f, 0.002255f, -0.004851f, 0.004439f, 0.004027f, 0.001930f, -0.002610f, 0.001587f, -0.001873f, 0.005921f, 0.002144f, 0.001904f, -0.002937f, 0.001852f, -0.005696f, -0.000478f, 0.006437f, 0.003441f, -0.001144f, 0.002214f, 0.002226f, -0.001777f, 0.002666f, 0.001902f, 0.006243f, 0.003540f, -0.003605f, -0.001340f, -0.002173f, 0.001993f, -0.005709f, 0.001708f, 0.003013f, 0.001956f, -0.000917f, -0.000217f, -0.000583f, 0.024119f, -0.006457f, -0.003811f, -0.005996f, 0.017163f, 0.008973f, 0.001783f, 0.006499f, -0.011704f, 0.025681f, 0.008478f, -0.002109f, 0.009670f, 0.012362f, -0.021078f, -0.001491f, 0.004929f, 0.002377f, -0.000075f, 0.017710f, -0.008601f, -0.010892f, 0.024445f, 0.003613f, -0.001780f, -0.002526f, 0.012757f, 0.000888f, -0.001897f, -0.002497f, -0.005982f, 0.006285f, -0.003721f, 0.008413f, 0.005956f, -0.015530f, -0.014652f, 0.001730f, + 0.028878f, -0.000448f, 0.005873f, -0.017939f, 0.008778f, 0.011763f, -0.007403f, 0.008691f, 0.010900f, -0.018194f, -0.011059f, -0.002387f, -0.023181f, -0.012411f, -0.013842f, 0.003945f, -0.004755f, -0.005261f, -0.002558f, 0.016163f, -0.022347f, 0.009739f, 0.004843f, -0.007377f, 0.013627f, -0.008863f, 0.001303f, -0.018897f, -0.000399f, 0.011203f, 0.010188f, 0.021209f, -0.025236f, -0.006418f, -0.028015f, -0.006163f, -0.000571f, -0.006820f, 0.003140f, -0.001528f, 0.025485f, 0.019625f, 0.011200f, -0.012850f, 0.000651f, 0.004719f, 0.012423f, 0.015119f, -0.000349f, -0.000109f, -0.002175f, 0.000145f, 0.008696f, -0.000606f, -0.000749f, -0.000538f, 0.000160f, 0.000247f, 0.001062f, 0.003336f, -0.003583f, -0.001327f, 0.003644f, 0.000406f, 0.003369f, -0.000323f, 0.000384f, -0.003139f, 0.004625f, 0.002633f, 0.000074f, 0.004119f, -0.002182f, -0.000498f, 0.004067f, 0.000861f, -0.000672f, -0.005250f, -0.000314f, 0.000899f, 0.000758f, -0.002028f, 0.005218f, 0.008456f, -0.001553f, -0.000487f, -0.003882f, 0.002626f, 0.016334f, -0.018678f, 0.000448f, -0.011511f, 0.031537f, -0.013564f, -0.007854f, 0.027310f, + 0.020559f, 0.003673f, -0.038475f, -0.009510f, 0.017477f, 0.001263f, -0.001992f, -0.005623f, -0.003169f, -0.003155f, 0.002529f, 0.005768f, 0.005266f, 0.004982f, 0.033806f, -0.007253f, -0.005073f, -0.000140f, 0.004288f, -0.010289f, 0.005823f, 0.003437f, -0.001412f, -0.011308f, -0.007146f, 0.012095f, 0.012987f, 0.024690f, 0.006212f, -0.010399f, 0.006139f, -0.000488f, 0.006225f, 0.000295f, 0.013652f, -0.011661f, -0.017286f, -0.017840f, 0.011431f, -0.005208f, 0.002279f, 0.004433f, -0.006456f, -0.001343f, 0.029366f, 0.009904f, -0.025027f, 0.017530f, 0.005519f, 0.029702f, -0.015673f, -0.014821f, 0.008510f, 0.015907f, 0.010980f, 0.006017f, -0.002880f, 0.000759f, 0.007558f, -0.009916f, -0.002923f, 0.000137f, 0.012560f, -0.009381f, 0.025361f, -0.001107f, -0.000473f, -0.013365f, -0.014978f, 0.028952f, 0.008543f, -0.024107f, -0.005716f, 0.019896f, 0.013814f, 0.002584f, 0.004929f, -0.012370f, 0.003697f, 0.003048f, 0.003805f, 0.002031f, 0.004238f, -0.005794f, -0.006915f, 0.000715f, -0.000317f, -0.005806f, -0.001970f, 0.005027f, 0.005020f, -0.007699f, 0.001881f, -0.000195f, 0.003172f, 0.004310f, + -0.001352f, -0.001502f, -0.001948f, 0.002850f, 0.008866f, -0.006670f, 0.004843f, -0.000601f, 0.000125f, -0.003984f, -0.000980f, -0.003011f, -0.002007f, 0.004115f, -0.001575f, -0.002676f, -0.005909f, -0.000379f, -0.003383f, -0.022633f, -0.019190f, -0.007409f, 0.007143f, 0.007330f, 0.035175f, 0.034149f, -0.003867f, 0.002841f, 0.001604f, 0.000348f, -0.000290f, -0.006953f, -0.022764f, -0.017446f, -0.008961f, 0.008181f, -0.006281f, -0.019801f, -0.005541f, 0.003865f, -0.001383f, -0.030403f, -0.008871f, 0.006836f, -0.003028f, 0.002972f, 0.002195f, 0.009248f, 0.013512f, 0.002257f, -0.009640f, 0.009981f, 0.010400f, 0.007334f, -0.000317f, 0.013444f, -0.026650f, 0.009044f, -0.023603f, 0.029611f, -0.020866f, 0.008152f, -0.022145f, -0.003603f, -0.024752f, -0.013044f, -0.015394f, -0.016667f, 0.011573f, -0.014646f, -0.002760f, 0.005268f, -0.000103f, -0.007767f, -0.005573f, -0.002491f, -0.024212f, 0.000885f, 0.001672f, 0.012140f, -0.037845f, 0.000984f, -0.000905f, 0.017781f, 0.021346f, -0.014351f, -0.008792f, 0.000895f, 0.016416f, -0.031270f, 0.020171f, -0.014011f, -0.009254f, 0.001624f, -0.030445f, -0.001488f, + -0.002400f, -0.004686f, -0.005390f, -0.003725f, 0.030667f, 0.012569f, 0.006351f, -0.007243f, -0.006815f, -0.007583f, 0.001017f, 0.007596f, -0.012201f, -0.000251f, -0.002079f, -0.003216f, 0.001690f, 0.009125f, -0.003318f, -0.005714f, 0.005773f, 0.003593f, -0.000073f, 0.006434f, 0.003484f, 0.005405f, -0.003191f, -0.004033f, 0.007746f, -0.005481f, 0.002028f, -0.007211f, -0.001350f, 0.000410f, -0.001437f, -0.002684f, -0.006398f, -0.007005f, -0.007473f, 0.001903f, -0.000366f, -0.001556f, -0.005376f, -0.005043f, -0.002051f, -0.002620f, 0.001738f, 0.007735f, -0.001994f, 0.005941f, -0.017754f, -0.046699f, -0.018493f, -0.008681f, 0.008446f, 0.012937f, -0.015143f, -0.005581f, -0.019115f, -0.016853f, 0.009281f, -0.014780f, 0.015741f, 0.006541f, 0.011381f, -0.001623f, -0.014982f, 0.026860f, 0.010841f, 0.015136f, -0.018788f, 0.008288f, 0.003731f, -0.027546f, 0.017409f, 0.010474f, 0.001269f, -0.018702f, -0.007025f, 0.009500f, 0.010135f, -0.000282f, 0.003657f, 0.013621f, -0.012937f, -0.009586f, 0.016098f, -0.031456f, -0.030929f, -0.040820f, -0.008962f, 0.013295f, -0.035723f, -0.029884f, -0.017974f, 0.000711f, + 0.013165f, 0.004230f, 0.003876f, 0.000720f, -0.010176f, -0.014254f, -0.033724f, 0.018005f, 0.005284f, 0.041235f, -0.009617f, 0.001156f, -0.025255f, -0.030403f, 0.004098f, 0.019745f, 0.001582f, -0.019169f, 0.012916f, 0.005195f, 0.028286f, 0.002801f, 0.003758f, -0.013541f, -0.002350f, 0.011931f, -0.027296f, -0.051392f, -0.014106f, -0.012818f, 0.003006f, 0.013537f, -0.024393f, -0.012451f, 0.008271f, -0.008592f, -0.001759f, 0.008053f, -0.004520f, -0.004127f, 0.010828f, 0.002613f, -0.000709f, 0.005220f, 0.008469f, 0.009182f, 0.002002f, -0.006160f, -0.016103f, -0.001500f, -0.009728f, 0.002702f, 0.002062f, 0.002085f, 0.007031f, -0.005867f, 0.006415f, 0.008418f, 0.005894f, 0.004759f, 0.004984f, -0.012131f, -0.010840f, -0.004217f, -0.009300f, 0.001051f, 0.002991f, 0.003199f, 0.011625f, -0.002687f, 0.007488f, 0.004417f, -0.004511f, -0.002497f, -0.006688f, -0.009424f, -0.002286f, -0.012414f, -0.003752f, -0.002819f, -0.043962f, -0.033782f, -0.015550f, 0.023214f, -0.002036f, 0.039749f, 0.007837f, -0.003426f, -0.022324f, 0.007957f, 0.040921f, -0.042840f, -0.038614f, -0.012727f, -0.006446f, -0.026856f, + 0.025433f, 0.007485f, 0.013761f, 0.016511f, -0.026967f, -0.003180f, 0.010760f, -0.016939f, 0.031715f, 0.000491f, 0.007094f, -0.009222f, 0.007787f, -0.020966f, -0.012031f, -0.007191f, 0.011886f, 0.005696f, 0.019248f, -0.031627f, 0.002770f, -0.000221f, -0.023652f, 0.025772f, -0.015465f, -0.037635f, 0.007370f, 0.013591f, 0.002664f, -0.011227f, -0.002814f, -0.015663f, 0.002507f, 0.012851f, 0.005372f, -0.025720f, 0.009996f, -0.005847f, -0.028682f, -0.016880f, -0.035221f, 0.000801f, -0.005567f, -0.000916f, 0.004458f, 0.021569f, 0.026682f, 0.022299f, -0.011503f, -0.019417f, 0.006318f, -0.004930f, -0.003384f, -0.015007f, 0.027758f, 0.023046f, -0.005062f, 0.042815f, -0.027419f, 0.014284f, 0.026873f, 0.029071f, 0.000664f, 0.018486f, -0.012082f, -0.004706f, -0.024085f, -0.010129f, 0.014202f, -0.004867f, -0.018793f, 0.011652f, -0.010826f, 0.012243f, -0.005594f, -0.012726f, 0.006517f, -0.002511f, -0.007428f, -0.005538f, 0.004744f, -0.006180f, 0.004119f, 0.008648f, -0.009210f, 0.011724f, -0.001579f, -0.006338f, 0.004216f, 0.001436f, 0.000609f, -0.005260f, 0.006691f, -0.010367f, 0.003403f, 0.003952f, + 0.000290f, -0.006906f, -0.000877f, -0.004081f, 0.005142f, 0.009723f, 0.020818f, 0.010682f, 0.016598f, -0.000797f, -0.000304f, 0.008668f, -0.010839f, 0.002941f, -0.014657f, -0.005827f, 0.003040f, -0.000145f, 0.016073f, -0.038074f, 0.004843f, 0.000463f, -0.024067f, 0.003526f, -0.053561f, -0.046323f, -0.011076f, -0.000390f, 0.002015f, -0.001150f, -0.019032f, -0.000650f, -0.005431f, 0.017155f, 0.003360f, -0.001062f, 0.003233f, -0.040459f, 0.014010f, 0.007572f, 0.022483f, 0.009344f, 0.009747f, 0.026415f, 0.013161f, 0.003843f, 0.066049f, 0.014149f, 0.025420f, 0.035064f, 0.001651f, 0.024737f, 0.006205f, -0.013699f, 0.016058f, 0.001162f, 0.007737f, -0.013416f, 0.001014f, -0.008695f, 0.005612f, -0.008667f, 0.018586f, 0.002265f, -0.011547f, -0.014416f, 0.001999f, -0.039156f, 0.022787f, 0.015396f, -0.001987f, -0.003520f, 0.008962f, -0.010387f, -0.008633f, -0.012826f, -0.015510f, 0.012984f, -0.012371f, 0.021436f, 0.024919f, 0.024442f, 0.025974f, -0.005994f, -0.039335f, 0.000662f, 0.016618f, 0.039717f, -0.009196f, -0.001426f, 0.018810f, 0.027751f, 0.040844f, -0.005257f, 0.018000f, -0.012046f, + -0.006993f, -0.032769f, -0.025576f, -0.011143f, -0.011601f, -0.009330f, 0.006862f, 0.001465f, -0.014059f, 0.015981f, 0.010069f, 0.012569f, 0.022469f, 0.009033f, 0.008431f, -0.002631f, 0.000042f, -0.003274f, -0.006412f, 0.000241f, 0.004068f, 0.000071f, 0.011867f, 0.009522f, 0.005811f, -0.000623f, -0.009700f, 0.000619f, -0.006960f, -0.007678f, 0.004966f, 0.006066f, 0.001824f, -0.012053f, -0.002705f, -0.017554f, -0.004266f, 0.005808f, 0.008746f, -0.005584f, 0.007276f, -0.010008f, -0.011684f, -0.005864f, -0.007035f, 0.006574f, 0.003412f, -0.010241f, -0.007057f, 0.008074f, 0.031643f, 0.041274f, -0.031886f, -0.033337f, -0.043821f, 0.038254f, -0.004713f, -0.016321f, 0.012890f, 0.012458f, 0.035788f, 0.029736f, 0.001407f, 0.032664f, 0.046672f, 0.012900f, -0.024582f, 0.022110f, -0.022787f, -0.012965f, -0.005121f, -0.016066f, -0.019204f, 0.009218f, -0.009934f, -0.009755f, -0.023060f, 0.050912f, 0.005949f, -0.027807f, -0.000477f, -0.004159f, 0.022547f, 0.023883f, 0.009140f, -0.016449f, 0.024086f, -0.007098f, 0.014697f, -0.047430f, 0.002020f, 0.019112f, -0.020608f, 0.006333f, -0.022355f, -0.018287f, + 0.048089f, 0.019739f, 0.014202f, -0.003806f, -0.043427f, -0.010861f, 0.012013f, 0.008851f, 0.006526f, -0.010608f, 0.033779f, -0.024463f, 0.018579f, -0.011715f, 0.012145f, 0.013442f, 0.026674f, 0.036208f, -0.042965f, -0.001530f, 0.021439f, 0.010205f, 0.030308f, 0.029381f, -0.042847f, -0.000306f, -0.012172f, -0.022409f, -0.001814f, -0.023418f, 0.009024f, 0.017177f, -0.009009f, 0.031467f, -0.007623f, -0.019501f, -0.023582f, 0.019418f, 0.022352f, 0.022244f, -0.006691f, 0.003502f, -0.001774f, -0.033386f, -0.032327f, -0.030351f, 0.018040f, 0.008842f, 0.005436f, 0.014400f, -0.001474f, -0.008805f, 0.021999f, 0.002604f, -0.000643f, 0.013282f, 0.021287f, 0.012689f, 0.001137f, 0.001883f, -0.006973f, 0.012732f, 0.006081f, 0.027355f, -0.003155f, 0.002848f, 0.019050f, 0.015357f, 0.004911f, -0.003316f, 0.011970f, -0.000948f, -0.003165f, 0.021464f, -0.018222f, 0.000382f, 0.013009f, 0.000511f, -0.004675f, -0.007208f, -0.003972f, -0.000625f, 0.014070f, 0.002180f, 0.000435f, 0.015586f, 0.011167f, -0.011028f, 0.016780f, -0.001383f, 0.032549f, 0.064858f, 0.002771f, -0.031026f, 0.008760f, -0.020763f, + 0.013429f, -0.018055f, -0.019410f, 0.058862f, -0.044694f, 0.073911f, 0.045326f, -0.010952f, 0.014950f, 0.035697f, 0.005235f, -0.055788f, 0.021962f, -0.045186f, 0.010823f, 0.003995f, -0.022224f, 0.000929f, -0.002953f, 0.032230f, -0.016045f, -0.001644f, -0.001144f, -0.009843f, 0.068255f, -0.003942f, -0.010134f, 0.008756f, 0.023066f, -0.023254f, -0.048926f, 0.038675f, -0.006072f, -0.002987f, 0.044243f, -0.025973f, -0.007049f, -0.030919f, 0.008396f, -0.021618f, 0.025055f, 0.022951f, 0.047094f, -0.013489f, 0.013271f, 0.031338f, -0.044363f, 0.005427f, -0.028209f, -0.044829f, -0.057102f, -0.030157f, -0.061751f, -0.069667f, -0.009576f, 0.004474f, -0.032600f, -0.035298f, 0.022014f, -0.002509f, -0.019603f, -0.038054f, 0.027611f, -0.020348f, 0.007325f, 0.034447f, -0.064820f, -0.018804f, -0.011756f, 0.028811f, 0.077943f, -0.036836f, 0.002460f, -0.023401f, -0.034301f, 0.016683f, -0.041085f, 0.033216f, 0.058157f, -0.016581f, -0.026863f, -0.028752f, -0.007031f, -0.006918f, 0.000773f, 0.018748f, 0.014048f, -0.015323f, 0.015572f, -0.001984f, 0.012300f, 0.000635f, -0.013834f, -0.004069f, 0.017212f, -0.028243f, + 0.013468f, -0.014833f, 0.004120f, -0.012092f, -0.004387f, -0.017037f, 0.004102f, -0.016380f, -0.025101f, -0.012270f, 0.006239f, -0.018889f, 0.000201f, 0.005597f, 0.028035f, -0.016137f, -0.009131f, 0.009054f, 0.011699f, -0.020152f, -0.012269f, 0.005625f, -0.005201f, -0.010785f, 0.019650f, 0.003317f, -0.014913f, 0.013465f, 0.004098f, -0.023523f, 0.004108f, -0.018883f, 0.020963f, -0.009331f, -0.030075f, -0.044512f, -0.033763f, 0.037531f, -0.030571f, 0.015214f, 0.035713f, 0.015324f, 0.022958f, -0.042428f, 0.061214f, 0.038562f, 0.033414f, -0.024503f, 0.043886f, -0.004708f, 0.029042f, 0.019144f, 0.006503f, 0.015903f, 0.021332f, 0.013062f, -0.007090f, -0.010797f, -0.009703f, 0.004524f, -0.029404f, -0.034632f, 0.019601f, 0.008745f, 0.011399f, -0.028462f, 0.007839f, 0.008817f, 0.021452f, 0.032020f, 0.048037f, -0.026986f, 0.007310f, 0.068395f, 0.014771f, 0.007449f, 0.006645f, -0.013944f, 0.005055f, 0.068113f, 0.019765f, 0.044168f, 0.012593f, -0.046981f, -0.019588f, -0.034173f, 0.098747f, 0.040248f, -0.038119f, -0.023754f, -0.033997f, 0.005901f, -0.022300f, -0.053486f, 0.012345f, -0.040467f, + 0.060468f, -0.004086f, -0.050015f, 0.066034f, 0.053427f, 0.007790f, -0.014504f, 0.009184f, -0.030439f, 0.040752f, 0.072508f, -0.019212f, 0.034394f, 0.081253f, -0.012751f, -0.012995f, -0.009225f, 0.049557f, -0.003579f, -0.027037f, -0.025580f, -0.025805f, -0.000432f, -0.002987f, -0.022669f, 0.002034f, -0.009503f, 0.025108f, 0.006206f, -0.023679f, -0.015065f, -0.026998f, -0.002951f, 0.003963f, -0.004424f, -0.018828f, -0.021263f, -0.014873f, 0.013346f, 0.022704f, 0.003522f, -0.023108f, -0.003386f, 0.029996f, 0.000246f, 0.027520f, 0.014338f, -0.014983f, -0.001350f, -0.023407f, 0.023298f, 0.010712f, -0.030520f, -0.057180f, 0.005306f, -0.003395f, -0.017404f, 0.019221f, -0.000122f, -0.009693f, -0.008158f, 0.006245f, 0.001595f, -0.001917f, 0.016979f, -0.046512f, 0.018833f, -0.006143f, 0.046648f, -0.096758f, -0.066318f, 0.038670f, 0.018621f, 0.014175f, 0.032846f, -0.032823f, -0.042915f, -0.023476f, -0.035307f, 0.020378f, -0.037904f, 0.011420f, 0.025556f, 0.041899f, 0.001608f, 0.035166f, 0.020528f, 0.006036f, -0.010904f, -0.036165f, -0.025524f, 0.021564f, -0.044395f, 0.023017f, 0.005451f, 0.038308f, + 0.029187f, -0.013894f, -0.055320f, -0.035774f, -0.003166f, -0.002453f, -0.014496f, 0.038324f, -0.066929f, -0.004877f, 0.002519f, -0.069949f, -0.001189f, -0.008326f, -0.005444f, 0.007854f, 0.041307f, -0.039760f, -0.110311f, 0.041572f, 0.045166f, 0.027172f, 0.086308f, -0.070597f, -0.008968f, 0.048208f, 0.036752f, -0.044181f, -0.020561f, -0.011940f, 0.067992f, 0.013703f, 0.064899f, -0.093375f, 0.013783f, -0.111454f, -0.066856f, -0.064467f, 0.076945f, 0.024695f, -0.049480f, 0.045462f, 0.005359f, -0.043138f, 0.044307f, -0.064703f, -0.068206f, 0.010552f, -0.070846f, 0.021389f, -0.121072f, 0.018843f, 0.038277f, -0.051251f, 0.056777f, -0.025382f, -0.013641f, 0.038281f, -0.013063f, -0.010082f, -0.027002f, -0.001635f, 0.008948f, 0.021265f, -0.002488f, 0.019785f, 0.038206f, -0.028417f, -0.003152f, -0.022529f, 0.013587f, -0.014605f, -0.003992f, 0.008660f, 0.004673f, 0.005440f, -0.005073f, 0.039675f, -0.013102f, 0.003497f, 0.016789f, -0.034432f, -0.030628f, -0.033428f, -0.015781f, -0.056511f, -0.026168f, -0.020476f, 0.048856f, 0.009984f, 0.043463f, 0.019052f, 0.008694f, 0.020083f, 0.013686f, 0.002062f, + 0.016363f, 0.003785f, 0.033993f, 0.083726f, 0.030940f, -0.030055f, -0.019657f, 0.011519f, -0.021348f, -0.025003f, -0.003043f, 0.038948f, -0.006845f, 0.007255f, -0.041524f, -0.008598f, 0.057165f, -0.041797f, 0.031582f, 0.074748f, 0.037297f, -0.003189f, -0.014361f, -0.024594f, -0.047909f, -0.035164f, 0.041101f, -0.023474f, 0.038558f, 0.027868f, 0.013163f, 0.001832f, 0.014985f, -0.011911f, -0.060920f, -0.021079f, 0.043394f, 0.034499f, 0.036046f, -0.038449f, 0.066278f, -0.017066f, 0.025700f, -0.049047f, 0.044834f, 0.077403f, -0.015687f, -0.027522f, -0.002975f, 0.002877f, -0.017324f, 0.016947f, 0.033717f, -0.063437f, 0.041546f, 0.040466f, -0.010022f, 0.046906f, 0.024714f, 0.020270f, -0.029850f, 0.006189f, 0.041791f, -0.088469f, -0.078967f, -0.032786f, 0.020756f, -0.040696f, -0.119963f, 0.050272f, 0.032747f, -0.015486f, -0.020471f, 0.000972f, -0.007171f, -0.040985f, -0.110214f, -0.006596f, 0.078022f, 0.019040f, -0.014050f, -0.009283f, 0.016739f, 0.064082f, 0.050837f, -0.075072f, -0.031152f, 0.050207f, -0.010766f, -0.020080f, -0.086057f, -0.004941f, 0.046976f, 0.015729f, -0.013383f, 0.029126f, + -0.010958f, 0.003146f, -0.032517f, -0.005237f, 0.019530f, 0.029635f, -0.016954f, -0.006001f, 0.005924f, 0.017175f, -0.010744f, 0.010607f, 0.001247f, -0.020912f, 0.012460f, 0.036032f, 0.006029f, 0.010823f, 0.006564f, 0.016322f, -0.017078f, -0.029593f, 0.002744f, 0.032209f, -0.026452f, 0.011634f, -0.009031f, 0.002986f, -0.025656f, -0.049047f, -0.026874f, 0.018425f, 0.059705f, -0.005993f, 0.028142f, -0.039500f, -0.017527f, -0.026664f, 0.016460f, 0.011762f, 0.018789f, -0.013384f, -0.020579f, -0.001314f, 0.004238f, 0.004737f, -0.009296f, -0.002038f, 0.040748f, 0.054012f, 0.001203f, -0.060901f, 0.080646f, -0.022658f, -0.056303f, 0.050448f, -0.008104f, -0.030632f, 0.038989f, 0.010435f, -0.008164f, 0.032890f, -0.045099f, 0.042770f, -0.015286f, 0.001436f, -0.013116f, -0.011204f, -0.062872f, 0.024894f, -0.024002f, 0.009903f, -0.025207f, -0.002080f, -0.018793f, 0.018002f, -0.011011f, 0.067945f, 0.012004f, 0.044450f, -0.017298f, 0.011115f, 0.028096f, -0.011933f, 0.019417f, -0.003852f, 0.033936f, -0.001706f, -0.011410f, 0.053657f, -0.047950f, 0.026751f, 0.036666f, -0.021525f, 0.041500f, -0.025410f, + -0.001041f, 0.021353f, -0.016247f, 0.048788f, 0.043680f, 0.009083f, 0.072694f, -0.044806f, -0.102662f, -0.017279f, -0.063480f, -0.041997f, 0.149912f, -0.003820f, 0.045988f, -0.006999f, -0.063280f, -0.001630f, 0.062978f, 0.089197f, 0.054225f, 0.089851f, -0.048343f, -0.014460f, -0.021667f, -0.051302f, 0.034011f, -0.014405f, -0.031674f, -0.003308f, -0.062271f, -0.113803f, 0.028638f, 0.040064f, -0.033690f, 0.022682f, -0.007094f, -0.033950f, 0.036230f, 0.026688f, -0.013272f, 0.037332f, -0.013726f, -0.033333f, 0.017118f, -0.016552f, 0.044263f, 0.004164f, 0.003304f, 0.025008f, 0.008338f, -0.028204f, -0.011832f, 0.014515f, -0.009292f, 0.027556f, -0.038441f, 0.024803f, -0.040304f, -0.010268f, 0.010048f, -0.028608f, 0.018256f, 0.001148f, -0.042937f, -0.006960f, 0.002770f, -0.011534f, -0.000106f, -0.008029f, -0.031501f, 0.012894f, 0.009451f, -0.005021f, 0.031635f, 0.048484f, -0.026427f, -0.037831f, -0.002415f, -0.018051f, 0.052468f, 0.053864f, -0.031746f, -0.020130f, -0.006607f, -0.026716f, 0.000565f, 0.009459f, 0.045293f, -0.048590f, 0.057422f, -0.035329f, 0.007552f, -0.000534f, 0.005593f, -0.044867f, + -0.007281f, -0.040624f, -0.033664f, -0.000307f, -0.013513f, -0.030755f, -0.012498f, 0.021812f, -0.026293f, 0.020066f, -0.012629f, 0.061752f, -0.029192f, 0.018142f, 0.003385f, -0.015894f, -0.050314f, -0.018752f, 0.037654f, 0.006434f, -0.012824f, 0.049419f, -0.037266f, -0.037688f, -0.005453f, 0.047166f, -0.043674f, -0.006504f, 0.008124f, 0.012469f, -0.048594f, 0.014061f, 0.016381f, -0.017699f, -0.050795f, 0.000446f, -0.039525f, 0.016129f, 0.008541f, 0.014556f, -0.077443f, -0.033416f, 0.043601f, 0.118113f, -0.054051f, -0.007890f, 0.009193f, -0.020493f, -0.033846f, -0.001138f, 0.098708f, 0.022350f, -0.010453f, -0.009187f, -0.026541f, -0.006568f, -0.020406f, 0.037944f, 0.001666f, -0.025018f, -0.026694f, 0.000893f, 0.017425f, -0.039991f, 0.030504f, 0.008653f, 0.033288f, 0.000853f, 0.042433f, 0.017481f, -0.030141f, 0.039669f, 0.038003f, 0.094360f, 0.029880f, 0.006870f, 0.009475f, -0.035131f, 0.011286f, 0.030538f, 0.031784f, 0.010589f, -0.002510f, 0.000744f, -0.004127f, 0.011481f, 0.013099f, -0.003623f, 0.017004f, -0.004927f, -0.002017f, 0.032287f, 0.013681f, 0.005157f, -0.010039f, 0.009228f, + 0.024575f, 0.025633f, 0.029772f, 0.010417f, 0.010793f, -0.017285f, -0.000341f, -0.001448f, 0.005285f, 0.016487f, -0.000903f, -0.013901f, 0.015193f, -0.014545f, 0.012612f, -0.001086f, 0.014923f, 0.001802f, -0.012597f, -0.003906f, 0.000832f, 0.003004f, 0.007344f, -0.002258f, 0.005215f, 0.003624f, -0.000366f, -0.075507f, 0.099918f, 0.013667f, 0.022624f, 0.023863f, -0.023275f, -0.026794f, 0.000794f, -0.010416f, 0.014065f, 0.032819f, -0.046469f, 0.015181f, -0.009938f, 0.011894f, 0.011090f, 0.007701f, 0.026206f, 0.020510f, -0.019925f, 0.018428f, 0.015951f, -0.016151f, -0.027837f, 0.008320f, -0.010005f, -0.023060f, 0.013538f, 0.011152f, -0.002141f, -0.015116f, 0.000220f, -0.011051f, -0.005520f, 0.000940f, 0.005750f, 0.010416f, -0.020893f, -0.003189f, 0.016341f, -0.007506f, 0.014640f, 0.002732f, 0.010498f, 0.021628f, 0.006202f, -0.022308f, 0.002092f, 0.020636f, -0.012011f, -0.001193f, 0.009814f, -0.035395f, -0.002387f, -0.008831f, -0.033142f, 0.045390f, -0.011822f, -0.002002f, 0.026746f, 0.004531f, -0.020560f, 0.007915f, -0.019666f, -0.004013f, 0.014755f, -0.018283f, -0.006846f, 0.033543f, + -0.035992f, 0.003729f, 0.002936f, 0.012138f, -0.016154f, 0.010737f, -0.005733f, 0.010004f, -0.013906f, 0.000556f, -0.003585f, 0.033807f, -0.015759f, -0.001601f, 0.008536f, -0.017191f, -0.001953f, 0.023388f, -0.005261f, 0.015055f, -0.010636f, -0.009784f, 0.001434f, 0.009029f, -0.009259f, 0.017244f, -0.000445f, -0.003849f, -0.004093f, -0.005524f, -0.005779f, 0.014707f, -0.012913f, 0.014398f, 0.007566f, -0.019052f, 0.004230f, -0.001976f, -0.001968f, 0.011151f, -0.016175f, -0.006402f, 0.001959f, -0.010587f, 0.010618f, -0.010886f, -0.001957f, 0.017864f, 0.002850f, -0.003385f, 0.007782f, -0.009024f, -0.007535f, -0.004393f, 0.008313f, 0.014903f, -0.004998f, -0.004325f, 0.001235f, -0.012890f, 0.023407f, -0.099192f, -0.201738f, -0.026057f, 0.126480f, 0.097224f, 0.279321f, 0.134339f, -0.065228f, -0.057007f, -0.132565f, -0.232114f, -0.029420f, -0.090047f, -0.028001f, 0.163723f, 0.104348f, 0.111381f, 0.213140f, -0.007567f, -0.047278f, -0.080522f, -0.210946f, -0.116495f, -0.037526f, -0.039278f, 0.005795f, 0.095897f, 0.074273f, 0.078819f, 0.148753f, 0.086984f, -0.054783f, 0.079243f, -0.083425f, -0.194590f, + 0.024825f, -0.130630f, -0.181672f, 0.070738f, -0.015654f, -0.033750f, 0.223255f, 0.073057f, 0.059309f, 0.192379f, -0.020714f, -0.037961f, 0.058533f, -0.129091f, -0.160325f, -0.043208f, -0.137288f, -0.122756f, 0.025949f, 0.026485f, 0.055407f, 0.167830f, 0.148686f, 0.089996f, 0.106634f, 0.020532f, -0.084180f, -0.090712f, -0.112195f, -0.154250f, -0.072021f, -0.039230f, -0.052422f, 0.046484f, 0.148497f, 0.096867f, 0.095739f, 0.078634f, -0.055554f, -0.000712f, 0.015632f, -0.127326f, -0.052485f, -0.031994f, -0.037284f, 0.058242f, 0.029820f, -0.007426f, 0.047671f, -0.011182f, -0.009967f, 0.008047f, -0.034359f, -0.025994f, 0.016908f, -0.021377f, 0.034544f, 0.043378f, -0.016247f, 0.023471f, 0.044292f, -0.025959f, 0.029003f, 0.014413f, -0.086625f, 0.015218f, -0.028142f, -0.094132f, 0.001426f, -0.053804f, -0.048080f, 0.068282f, 0.073998f, 0.071370f, 0.132439f, 0.042129f, 0.042140f, 0.044825f, -0.057982f, -0.115758f, -0.129160f, -0.165421f, -0.123189f, -0.037237f, 0.021551f, 0.100178f, 0.166144f, 0.184020f, 0.143771f, 0.104710f, 0.020689f, -0.097559f, -0.146832f, -0.179351f, -0.166598f, -0.086420f, + -0.005499f, 0.046962f, 0.119345f, 0.110106f, 0.060161f, 0.060414f, 0.023516f, -0.001699f, -0.000347f, -0.018642f, -0.036494f, -0.030270f, -0.037845f, -0.045867f, -0.033640f, -0.024959f, -0.006438f, 0.012844f, 0.031098f, 0.037445f, 0.040544f, 0.035028f, 0.024657f, 0.012553f, -0.000066f, -0.020320f, -0.033856f, -0.031004f, -0.021706f, -0.015118f, -0.011828f, -0.003166f, 0.004313f, 0.014832f, 0.017327f, 0.011533f, 0.010932f, 0.009496f, 0.003914f, 0.005426f, 0.004862f, -0.005781f, -0.007533f, -0.003689f, -0.007172f, -0.006488f, -0.009633f, -0.013004f, -0.006275f, 0.000556f, 0.001292f, 0.006738f, 0.010489f, 0.010657f, 0.012987f, 0.009702f, 0.003548f, -0.001337f, -0.006569f, -0.009259f, -0.009139f, -0.008370f, -0.007669f, -0.003814f, 0.001566f, 0.004153f, 0.003927f, 0.003760f, 0.003350f, 0.003325f, 0.003011f, 0.001067f, 0.000237f, 0.000815f, 0.000590f, 0.000306f, -0.000314f, -0.001851f, -0.002497f, -0.004072f, -0.005493f, -0.004383f, -0.002301f, 0.000386f, 0.002765f, 0.004003f, 0.005075f, 0.005279f, 0.003527f, 0.002153f, 0.001084f, -0.002080f, -0.003428f, -0.003195f, -0.003263f, -0.002818f, + -0.001793f, -0.001461f, -0.000116f, 0.000923f, 0.001244f, 0.001607f, 0.001700f, 0.001091f, 0.000561f, 0.000080f, -0.000439f, -0.000702f}, + {-0.001955f, 0.005019f, 0.008681f, -0.006470f, -0.005597f, -0.008659f, 0.007860f, 0.003921f, 0.000693f, 0.011622f, -0.001153f, -0.000137f, -0.003544f, -0.002866f, 0.002529f, -0.003098f, -0.006044f, 0.003414f, 0.000991f, 0.009708f, 0.013264f, -0.003443f, -0.007791f, -0.009600f, -0.000597f, -0.005486f, -0.005287f, -0.003625f, -0.000730f, -0.007646f, 0.007379f, -0.002733f, -0.002884f, -0.005055f, -0.003725f, 0.001421f, 0.008290f, -0.000855f, -0.002382f, 0.002510f, -0.008128f, 0.006112f, -0.005067f, -0.018238f, 0.009058f, 0.006022f, 0.010061f, 0.010435f, 0.001994f, 0.005499f, -0.005436f, 0.001555f, 0.007911f, 0.000624f, -0.000086f, -0.001895f, -0.001040f, 0.004248f, -0.003844f, -0.002773f, 0.000208f, 0.004039f, -0.003336f, -0.004158f, -0.006092f, 0.007818f, 0.003111f, 0.000972f, -0.001892f, -0.007806f, -0.000260f, 0.005849f, 0.003638f, -0.001105f, -0.001469f, 0.005859f, -0.000700f, -0.000420f, -0.002538f, -0.002400f, -0.003561f, -0.004220f, 0.000275f, 0.000901f, 0.002021f, -0.004343f, -0.001712f, 0.002429f, -0.003003f, 0.002621f, 0.000718f, 0.001180f, -0.001115f, -0.000062f, 0.000580f, 0.001283f, + 0.000333f, -0.000497f, 0.000812f, -0.000545f, -0.001474f, -0.000474f, -0.002449f, 0.001644f, 0.000854f, -0.000694f, 0.000048f, -0.001104f, 0.001482f, 0.001522f, 0.000502f, 0.000160f, 0.000584f, 0.000546f, -0.001517f, 0.000065f, -0.000285f, -0.000364f, -0.000585f, -0.000198f, 0.000874f, 0.000266f, -0.027330f, 0.014303f, -0.001318f, 0.000436f, 0.004993f, 0.007024f, -0.010165f, -0.001266f, -0.001803f, 0.005847f, 0.002240f, -0.006208f, 0.019486f, -0.002056f, -0.001180f, 0.008688f, 0.007134f, 0.002354f, 0.004958f, 0.015914f, -0.007837f, 0.000530f, -0.003983f, 0.001622f, -0.004865f, 0.000429f, 0.000521f, 0.001819f, -0.008794f, 0.000792f, -0.002093f, -0.003283f, -0.000354f, 0.005578f, -0.003031f, 0.005189f, 0.007527f, -0.012908f, 0.001769f, -0.005226f, -0.001407f, -0.007933f, 0.004000f, -0.004693f, -0.000788f, -0.002634f, -0.008074f, 0.003132f, -0.005410f, 0.003731f, 0.002054f, -0.003968f, -0.005872f, 0.000227f, 0.005497f, 0.004158f, 0.009971f, 0.004638f, -0.004279f, -0.012177f, -0.000799f, 0.002195f, 0.015428f, -0.004737f, -0.002319f, -0.000129f, -0.002983f, -0.007989f, -0.003811f, -0.007435f, + -0.000988f, 0.006245f, -0.001384f, 0.007427f, 0.004776f, 0.003859f, 0.005381f, 0.001010f, -0.009618f, -0.002209f, -0.006183f, -0.003899f, -0.010683f, -0.000319f, -0.003032f, 0.001487f, 0.002920f, 0.001312f, -0.001576f, -0.002135f, 0.000384f, 0.002872f, -0.002396f, -0.000619f, 0.000084f, -0.000827f, -0.000208f, -0.000943f, 0.001152f, -0.003635f, -0.001247f, -0.000824f, 0.000126f, -0.000313f, -0.000667f, 0.000056f, -0.005404f, 0.019789f, 0.010229f, -0.003421f, -0.008236f, 0.011246f, -0.013543f, -0.002416f, 0.007232f, -0.005703f, -0.004170f, -0.005940f, 0.012998f, -0.004842f, 0.003880f, 0.000911f, 0.003830f, 0.017825f, -0.018303f, 0.005191f, 0.008870f, -0.006234f, -0.016956f, -0.008939f, -0.001346f, 0.000848f, -0.002578f, -0.003233f, 0.006821f, 0.010007f, -0.001043f, -0.007440f, 0.000345f, -0.009373f, 0.002531f, -0.005962f, 0.003037f, 0.010702f, 0.003797f, -0.011162f, -0.000490f, 0.000467f, 0.016129f, 0.002852f, 0.007974f, -0.002551f, 0.003427f, 0.002661f, -0.019937f, 0.000120f, 0.009158f, 0.004136f, 0.010265f, -0.009458f, -0.005885f, -0.009417f, 0.002311f, 0.005725f, -0.002078f, 0.001825f, + 0.000320f, -0.004818f, 0.001567f, -0.003665f, 0.002953f, 0.002785f, -0.000868f, 0.004650f, 0.000804f, -0.000899f, 0.001945f, 0.011561f, 0.001968f, 0.005950f, 0.007456f, 0.004049f, -0.000007f, -0.000358f, -0.011205f, -0.000198f, 0.011546f, 0.003973f, 0.005015f, -0.000397f, -0.001003f, 0.007208f, -0.005706f, 0.000441f, -0.000697f, 0.003582f, 0.001803f, -0.000132f, -0.004979f, 0.000628f, -0.002612f, -0.000873f, 0.000621f, -0.001699f, -0.001323f, 0.001001f, -0.000334f, 0.003643f, 0.001403f, 0.003318f, 0.001477f, 0.000908f, 0.001691f, -0.001556f, -0.002086f, 0.000074f, 0.000026f, 0.004191f, 0.002468f, 0.000495f, 0.001310f, 0.003979f, -0.000888f, 0.000270f, 0.001090f, 0.001672f, -0.000044f, 0.041102f, -0.010752f, -0.003957f, -0.006364f, 0.008324f, 0.005514f, 0.013918f, 0.005452f, -0.002175f, 0.006605f, -0.000403f, 0.007400f, 0.002804f, 0.010330f, 0.000114f, 0.008649f, 0.011304f, -0.012777f, 0.002164f, 0.003149f, 0.002006f, 0.001870f, 0.002723f, -0.007650f, -0.000123f, -0.008791f, -0.001356f, -0.000441f, -0.014784f, -0.010105f, 0.003574f, -0.000193f, -0.000617f, 0.005714f, 0.005630f, + -0.003119f, -0.012756f, 0.003663f, 0.011312f, 0.007381f, 0.010545f, -0.003002f, 0.005656f, 0.010425f, -0.017685f, 0.005443f, 0.007641f, -0.008830f, 0.010789f, -0.007717f, -0.001686f, 0.000936f, 0.002053f, -0.005996f, 0.005057f, -0.001686f, -0.002073f, -0.006235f, -0.005063f, 0.005954f, 0.006041f, 0.002617f, 0.005947f, 0.009235f, 0.005060f, 0.012895f, -0.002826f, -0.014832f, 0.014130f, 0.002170f, 0.006897f, 0.002801f, -0.002496f, 0.003557f, 0.002637f, 0.000465f, 0.009681f, -0.003137f, 0.009553f, -0.013961f, -0.003240f, 0.001632f, 0.004219f, 0.000781f, -0.007609f, -0.003642f, 0.001196f, 0.000273f, -0.000856f, 0.000303f, 0.002862f, -0.003867f, -0.002166f, -0.002254f, -0.002746f, 0.001414f, -0.000865f, -0.001189f, -0.002244f, -0.001764f, 0.004144f, -0.001170f, -0.001429f, -0.000225f, -0.001516f, -0.001386f, 0.002088f, -0.001015f, 0.002235f, -0.000654f, 0.000148f, 0.001598f, -0.000542f, 0.000039f, 0.018482f, -0.020742f, 0.014159f, 0.003162f, 0.014495f, 0.003523f, -0.007819f, 0.002854f, 0.011222f, -0.012925f, -0.002555f, 0.001718f, -0.014588f, -0.002718f, -0.011158f, -0.006759f, -0.008066f, + -0.008891f, 0.004096f, -0.013942f, -0.008555f, -0.011067f, -0.002642f, 0.011096f, 0.004162f, -0.013358f, -0.005048f, -0.013982f, -0.003272f, 0.003299f, 0.020605f, -0.016202f, 0.006964f, -0.003974f, -0.005776f, -0.012026f, 0.000809f, 0.002285f, 0.013296f, 0.007062f, 0.001882f, -0.010889f, -0.019009f, -0.000087f, 0.005881f, 0.015313f, 0.005510f, 0.005044f, -0.010940f, 0.004270f, 0.009714f, 0.000926f, 0.001714f, -0.005789f, -0.005691f, -0.001809f, 0.005755f, 0.001180f, -0.003600f, 0.000308f, -0.012049f, -0.001567f, -0.010115f, 0.006722f, -0.001930f, 0.006720f, -0.009903f, -0.008402f, -0.013726f, -0.001430f, -0.008739f, -0.003679f, 0.003827f, -0.013374f, -0.005604f, 0.001754f, 0.007726f, -0.016105f, 0.009761f, -0.007481f, -0.007973f, -0.008473f, -0.006978f, 0.005082f, -0.004604f, 0.002454f, 0.003073f, -0.004139f, 0.000883f, 0.003574f, 0.002897f, 0.000357f, -0.003603f, -0.000398f, -0.001593f, -0.004193f, -0.000502f, 0.003413f, 0.002190f, -0.001986f, 0.003233f, -0.002358f, -0.001652f, -0.000305f, 0.001286f, -0.003083f, 0.000506f, -0.000224f, 0.002493f, 0.001909f, 0.003932f, -0.002768f, 0.001152f, + -0.000495f, -0.000964f, 0.001306f, -0.003095f, -0.001021f, 0.002017f, 0.001092f, -0.001290f, -0.050901f, 0.008238f, 0.005839f, -0.014671f, -0.003249f, -0.000030f, 0.000532f, -0.002782f, -0.004866f, -0.003729f, -0.015117f, 0.011687f, -0.007315f, 0.001646f, -0.012592f, -0.004443f, 0.018250f, 0.016566f, -0.010471f, -0.006286f, 0.000536f, -0.000251f, -0.008596f, -0.009991f, -0.007109f, 0.001236f, 0.000784f, 0.000348f, -0.001035f, 0.004298f, -0.012429f, 0.003927f, 0.000422f, -0.021878f, -0.002640f, -0.006513f, 0.010016f, 0.014694f, 0.002278f, -0.002530f, 0.000688f, -0.012799f, -0.016107f, 0.008679f, 0.015903f, 0.017779f, -0.004801f, 0.003286f, 0.010321f, 0.010726f, -0.005551f, 0.009900f, 0.016016f, -0.000616f, 0.013477f, 0.011505f, -0.013486f, 0.004466f, 0.000748f, 0.014535f, -0.008907f, -0.009396f, 0.008306f, 0.011035f, -0.003412f, 0.001046f, -0.015897f, 0.011229f, -0.008912f, 0.011851f, -0.019764f, 0.002211f, 0.004645f, 0.009483f, 0.000598f, -0.008184f, -0.016873f, -0.010244f, 0.014100f, -0.013904f, -0.000710f, 0.001662f, 0.007580f, -0.004150f, -0.003044f, 0.006037f, -0.011305f, -0.009713f, + 0.003957f, 0.002764f, -0.000882f, 0.008131f, -0.003795f, 0.001998f, 0.002010f, 0.002243f, 0.002976f, 0.000748f, -0.003206f, 0.002047f, 0.004078f, -0.001629f, 0.000503f, -0.000746f, -0.002168f, 0.001789f, -0.005284f, -0.000639f, -0.005694f, -0.000976f, -0.001143f, -0.001734f, -0.002966f, 0.001266f, -0.001753f, 0.000025f, -0.004454f, 0.001849f, -0.000884f, 0.001623f, 0.001681f, 0.000772f, 0.000638f, -0.019625f, 0.007107f, -0.017330f, 0.022182f, 0.021335f, 0.000764f, -0.028643f, 0.012020f, 0.001740f, -0.005248f, 0.019950f, 0.000201f, -0.017025f, -0.001706f, 0.021678f, -0.026940f, 0.000963f, -0.006652f, -0.021248f, -0.005821f, 0.000495f, -0.004085f, -0.010831f, 0.006417f, -0.008954f, 0.007487f, -0.007612f, -0.014347f, 0.007818f, -0.000960f, 0.011187f, -0.021421f, 0.008896f, 0.017076f, -0.006713f, 0.001517f, 0.017147f, 0.025047f, -0.006526f, -0.004965f, -0.020901f, 0.001354f, -0.017226f, -0.001288f, -0.011961f, 0.000726f, 0.001790f, 0.010197f, 0.004926f, 0.009331f, -0.006542f, 0.001822f, 0.005802f, -0.000962f, 0.023101f, -0.015138f, -0.007444f, 0.030396f, 0.030495f, -0.005867f, -0.001822f, + -0.018943f, -0.009656f, 0.001105f, -0.005198f, -0.012491f, 0.018455f, 0.005796f, -0.004689f, 0.027079f, 0.005316f, -0.012789f, -0.000264f, -0.024601f, -0.012317f, -0.013886f, -0.011930f, -0.003146f, -0.019225f, -0.013800f, 0.008050f, 0.007502f, -0.001330f, 0.004486f, -0.005643f, 0.006614f, -0.004217f, -0.006176f, 0.001181f, -0.008954f, -0.004071f, 0.011835f, 0.001022f, 0.005973f, -0.003038f, 0.001346f, 0.000981f, 0.002894f, 0.002619f, -0.000359f, -0.000149f, -0.005632f, 0.000017f, 0.001389f, 0.001018f, -0.001475f, -0.001558f, 0.004063f, 0.001245f, -0.000678f, 0.000220f, -0.000837f, 0.000212f, 0.002326f, 0.001443f, -0.000622f, -0.002106f, 0.000761f, -0.001371f, 0.024368f, -0.006577f, -0.000352f, 0.016764f, -0.004100f, 0.009885f, -0.005535f, -0.021424f, -0.001462f, -0.000033f, -0.004469f, -0.012713f, -0.014204f, 0.007303f, -0.011270f, 0.019727f, -0.006163f, -0.014395f, 0.012153f, 0.024777f, -0.006256f, 0.006915f, -0.006764f, 0.014301f, 0.000225f, -0.030208f, 0.010651f, 0.016721f, 0.001577f, -0.005059f, -0.017641f, 0.014678f, 0.009747f, 0.009442f, 0.001830f, 0.005942f, 0.019589f, -0.013928f, + 0.002356f, 0.003826f, -0.011060f, -0.021236f, 0.020099f, 0.011214f, 0.037495f, -0.001941f, 0.016480f, -0.005551f, -0.011925f, 0.001984f, -0.001960f, -0.000557f, -0.003477f, -0.012274f, 0.026887f, 0.000604f, 0.001993f, 0.003802f, -0.003884f, 0.022196f, 0.002704f, 0.018581f, 0.007647f, 0.003110f, 0.019766f, -0.009402f, -0.022415f, -0.004423f, 0.003997f, 0.002862f, -0.009345f, 0.010874f, -0.006727f, -0.031217f, 0.002697f, 0.006178f, -0.017361f, 0.008010f, -0.001918f, 0.003346f, -0.000088f, -0.007104f, -0.007963f, -0.000055f, 0.002821f, 0.009499f, -0.000994f, 0.002649f, -0.003811f, -0.002750f, 0.004167f, 0.002803f, -0.000679f, 0.002890f, -0.003315f, -0.000383f, 0.000078f, -0.004297f, -0.006302f, 0.003821f, -0.007001f, -0.001796f, -0.003136f, -0.006016f, -0.001812f, -0.000820f, -0.002373f, 0.002592f, -0.001172f, -0.002544f, -0.000897f, 0.011449f, 0.004347f, 0.004357f, -0.002469f, 0.001621f, -0.003744f, -0.004682f, -0.001687f, -0.001627f, 0.001837f, -0.003104f, 0.005392f, -0.007211f, -0.002427f, 0.001525f, 0.019647f, -0.032985f, 0.005238f, 0.014548f, 0.021738f, -0.023151f, -0.003462f, 0.015428f, + 0.010716f, 0.013141f, 0.002203f, 0.027916f, 0.005061f, 0.011478f, -0.003634f, 0.001495f, 0.011444f, 0.006186f, 0.013234f, 0.000891f, -0.018708f, -0.027265f, 0.014231f, 0.006782f, -0.005295f, 0.003012f, 0.007946f, -0.025526f, 0.000103f, -0.016175f, 0.007352f, -0.001051f, 0.016484f, -0.005508f, 0.007292f, -0.004022f, 0.004174f, 0.002088f, -0.000834f, 0.009169f, 0.012361f, 0.004286f, 0.007106f, -0.020051f, 0.008094f, -0.003692f, -0.034760f, -0.023204f, 0.005774f, -0.025487f, -0.001866f, 0.020707f, -0.015376f, 0.041327f, 0.014889f, -0.008564f, 0.022414f, 0.000853f, -0.007502f, -0.016965f, -0.016722f, -0.023266f, -0.003706f, 0.013270f, -0.016618f, -0.002262f, 0.014844f, 0.006618f, 0.008332f, 0.030212f, 0.003639f, 0.019675f, 0.000035f, 0.003684f, -0.032778f, 0.008823f, 0.002344f, -0.029956f, -0.028259f, 0.016011f, -0.010849f, 0.001658f, 0.008436f, -0.005084f, -0.007766f, 0.001480f, -0.001813f, -0.002277f, 0.001607f, -0.005562f, 0.004675f, -0.004071f, 0.000959f, -0.009636f, 0.004993f, 0.001324f, 0.001969f, -0.000764f, 0.011482f, -0.009646f, 0.000708f, -0.002892f, -0.002438f, 0.002076f, + 0.002271f, 0.002969f, 0.005477f, 0.009034f, 0.005654f, -0.006259f, 0.001356f, -0.001034f, 0.008382f, -0.003075f, 0.005376f, -0.008969f, -0.006691f, -0.005295f, -0.004301f, -0.000871f, -0.000563f, 0.004012f, 0.004951f, -0.017171f, -0.000556f, 0.010723f, -0.000190f, 0.007513f, -0.017589f, 0.013597f, -0.001116f, 0.003926f, 0.012668f, -0.023728f, -0.016324f, 0.004258f, -0.000360f, 0.012953f, 0.026771f, -0.002533f, 0.006647f, 0.028751f, -0.010734f, -0.019559f, -0.001160f, 0.021053f, -0.004610f, -0.024339f, 0.001911f, 0.008932f, -0.004815f, -0.007642f, -0.001827f, 0.031188f, -0.005987f, 0.026842f, 0.020265f, 0.024488f, 0.001311f, 0.001969f, 0.014286f, 0.004777f, -0.005016f, 0.005023f, -0.019458f, 0.014609f, 0.024520f, 0.015387f, 0.002067f, 0.013680f, -0.010817f, 0.010500f, -0.010525f, 0.015369f, -0.013925f, 0.000241f, -0.001151f, -0.001107f, 0.043646f, -0.006563f, -0.002487f, -0.003830f, 0.006027f, 0.012023f, 0.022960f, 0.026242f, -0.014399f, 0.006271f, 0.026100f, -0.014684f, -0.018249f, 0.010929f, -0.007971f, 0.011269f, 0.049864f, -0.023604f, 0.003334f, 0.004647f, -0.013040f, 0.005605f, + 0.016250f, 0.011400f, 0.001312f, -0.010246f, -0.024626f, 0.011627f, -0.010764f, 0.013455f, -0.009281f, 0.001874f, -0.012213f, -0.002692f, -0.020400f, 0.001719f, -0.006505f, -0.007220f, -0.002575f, 0.002450f, 0.005101f, 0.010078f, 0.004232f, -0.005810f, -0.001490f, 0.010275f, -0.006117f, -0.005354f, 0.000686f, 0.000710f, -0.009311f, -0.000140f, -0.004718f, -0.002319f, -0.001789f, -0.001682f, 0.003518f, 0.002210f, 0.007252f, -0.004682f, -0.004720f, 0.000545f, -0.005645f, 0.002611f, 0.011415f, -0.005748f, -0.006159f, -0.011409f, 0.005794f, -0.002893f, -0.007796f, -0.002802f, -0.016831f, -0.026578f, -0.020449f, -0.027658f, -0.010612f, 0.003214f, 0.022295f, 0.016561f, 0.006035f, 0.023504f, 0.007105f, 0.014401f, 0.013223f, -0.006236f, 0.020357f, 0.022110f, 0.015594f, -0.029574f, -0.016584f, -0.017076f, 0.006530f, -0.011735f, 0.000875f, 0.008583f, -0.008582f, -0.020821f, 0.013599f, -0.009799f, 0.004853f, 0.004647f, 0.021415f, -0.022146f, 0.034695f, -0.034086f, 0.035439f, 0.000074f, 0.017793f, -0.017024f, 0.006277f, -0.038108f, -0.021289f, -0.018456f, 0.016889f, 0.007938f, 0.024475f, -0.002261f, + -0.000075f, -0.012239f, -0.030669f, 0.020211f, -0.016746f, -0.008524f, 0.014600f, 0.034987f, 0.033674f, 0.015985f, -0.002245f, -0.022588f, 0.013402f, -0.034789f, -0.002727f, -0.019663f, 0.011269f, 0.037969f, -0.036247f, 0.013432f, 0.016813f, -0.022313f, -0.002245f, -0.003622f, 0.012624f, -0.014711f, -0.021532f, 0.004516f, -0.008723f, -0.031368f, 0.016023f, -0.002883f, -0.029713f, 0.022293f, 0.029132f, -0.009366f, 0.000952f, 0.004375f, -0.012585f, 0.019201f, 0.008744f, -0.005096f, -0.004749f, -0.012161f, -0.007139f, 0.015468f, 0.008662f, 0.008950f, -0.000703f, -0.013411f, -0.004171f, -0.004359f, -0.015262f, -0.002945f, 0.004524f, -0.000614f, -0.004508f, -0.001076f, -0.010901f, 0.001735f, -0.003745f, 0.007704f, 0.004050f, 0.001867f, -0.012631f, 0.010712f, 0.000904f, -0.005095f, -0.003240f, -0.001720f, -0.000693f, 0.006511f, -0.004702f, -0.001571f, 0.004650f, 0.013132f, 0.006345f, 0.004147f, -0.007795f, 0.010568f, -0.025133f, -0.029404f, -0.008057f, 0.019524f, -0.022436f, 0.015414f, -0.030950f, -0.005241f, -0.011691f, -0.010678f, -0.024467f, -0.001865f, -0.008915f, -0.014559f, 0.012284f, -0.016261f, + 0.018233f, 0.004133f, 0.014317f, -0.021598f, -0.040718f, -0.003056f, 0.008817f, -0.016838f, -0.012245f, 0.007075f, 0.005703f, -0.019753f, -0.009200f, 0.028972f, 0.014237f, -0.003409f, 0.015998f, 0.041452f, 0.001806f, 0.005574f, 0.004555f, -0.002756f, -0.000331f, 0.006422f, 0.005847f, -0.031211f, -0.011140f, -0.038218f, -0.011856f, -0.035617f, -0.016625f, 0.002327f, 0.042382f, 0.019992f, -0.020472f, -0.024068f, 0.016010f, 0.033574f, 0.021326f, -0.014488f, 0.025783f, -0.009322f, -0.001592f, -0.044209f, -0.012934f, -0.005375f, -0.005180f, -0.030120f, -0.048538f, 0.016033f, 0.000199f, -0.035372f, 0.009416f, 0.056292f, 0.007599f, 0.006703f, -0.035020f, -0.002807f, -0.000213f, 0.008198f, -0.039366f, 0.036998f, 0.006079f, 0.010493f, 0.020540f, 0.008199f, 0.022254f, -0.001306f, 0.010596f, -0.008246f, -0.016897f, -0.013926f, 0.007828f, -0.011148f, -0.003382f, -0.015021f, 0.005429f, 0.012952f, 0.000495f, 0.010969f, 0.001440f, -0.003883f, 0.000059f, -0.008477f, 0.006389f, 0.006719f, 0.001370f, 0.001532f, -0.005798f, -0.002092f, 0.003591f, 0.009580f, 0.006909f, -0.007733f, -0.002667f, -0.002974f, + -0.018337f, -0.025353f, -0.018733f, -0.005838f, -0.002186f, 0.003355f, -0.004238f, -0.006922f, -0.007713f, 0.000352f, -0.005119f, -0.006494f, -0.011360f, -0.005897f, 0.018727f, -0.011136f, -0.009919f, -0.002557f, 0.022898f, -0.033934f, -0.006735f, 0.008409f, -0.016214f, 0.039630f, -0.032271f, -0.033197f, -0.026987f, 0.038343f, 0.017226f, -0.021810f, -0.019696f, -0.013011f, -0.003954f, -0.011696f, -0.012120f, 0.002145f, 0.014403f, 0.037901f, -0.003990f, 0.016308f, 0.014132f, 0.013845f, -0.024959f, -0.031078f, -0.022374f, 0.026590f, -0.004408f, 0.032250f, 0.010762f, -0.003253f, -0.043576f, -0.035360f, -0.003549f, 0.003190f, -0.025221f, -0.015572f, -0.011780f, -0.011878f, -0.057220f, -0.012169f, -0.013881f, -0.020372f, -0.009999f, -0.013219f, -0.026200f, 0.018809f, 0.035904f, 0.020200f, 0.001108f, 0.021445f, 0.026990f, -0.009260f, 0.008635f, 0.007159f, 0.002774f, -0.000789f, -0.006728f, 0.019183f, 0.007710f, 0.031950f, -0.007237f, 0.003465f, 0.011384f, 0.062602f, -0.000626f, 0.033446f, 0.041973f, -0.003293f, -0.036395f, 0.003509f, 0.036465f, 0.005712f, -0.030984f, -0.027483f, -0.035534f, 0.023625f, + -0.029012f, -0.007511f, 0.041794f, -0.017543f, -0.027845f, 0.009026f, -0.007565f, 0.001211f, 0.011480f, -0.017100f, -0.007772f, 0.003886f, -0.005148f, -0.007525f, -0.001500f, 0.003619f, 0.020908f, -0.001528f, -0.010744f, -0.008881f, -0.000024f, -0.007578f, -0.006515f, -0.005402f, -0.010445f, -0.004533f, 0.004003f, -0.004556f, -0.000961f, -0.013818f, 0.003704f, -0.000894f, 0.002908f, 0.014745f, 0.008948f, -0.007942f, 0.003902f, 0.003589f, -0.012593f, -0.018695f, 0.007158f, 0.008172f, 0.001073f, -0.019104f, -0.021233f, -0.002835f, -0.014857f, -0.004308f, -0.002235f, -0.018843f, 0.034811f, 0.025273f, -0.059301f, 0.018379f, 0.023183f, -0.010657f, 0.016741f, 0.055714f, 0.004261f, 0.012160f, -0.019923f, 0.012679f, -0.021039f, -0.013521f, -0.011379f, 0.003816f, 0.014056f, 0.019863f, -0.003256f, 0.008019f, -0.006467f, -0.003719f, -0.011189f, 0.014553f, 0.052512f, -0.017552f, -0.017431f, 0.018690f, 0.012991f, 0.001642f, -0.038851f, 0.024668f, -0.031055f, 0.017333f, 0.021681f, 0.002196f, 0.005213f, -0.006605f, 0.035987f, 0.027289f, -0.000077f, 0.018279f, -0.014961f, 0.023117f, 0.003509f, 0.026141f, + 0.038126f, -0.001093f, 0.009366f, -0.005260f, -0.014614f, -0.001211f, 0.016382f, 0.018713f, -0.037225f, -0.022585f, 0.008210f, 0.039770f, -0.019799f, 0.026329f, 0.017354f, 0.004950f, -0.043317f, 0.005007f, 0.006248f, -0.051353f, 0.029718f, -0.028826f, -0.034483f, -0.064937f, 0.015324f, 0.039105f, -0.018236f, -0.036307f, 0.007046f, 0.043370f, 0.027325f, 0.004685f, -0.006133f, 0.000455f, 0.014902f, -0.013471f, 0.020033f, 0.033298f, 0.031404f, -0.002494f, 0.013037f, 0.032955f, -0.005687f, -0.000566f, -0.004147f, 0.028371f, -0.004695f, 0.006896f, -0.013831f, 0.007140f, -0.008711f, 0.001010f, -0.000119f, -0.002319f, -0.006978f, 0.006164f, 0.016253f, 0.005592f, 0.004235f, -0.015218f, 0.003317f, -0.015700f, 0.004206f, 0.024615f, -0.009530f, 0.000353f, 0.002693f, -0.011717f, -0.015812f, -0.017560f, -0.004554f, 0.011140f, -0.005732f, 0.003003f, -0.011199f, -0.001056f, -0.000178f, -0.032451f, -0.008928f, -0.001325f, 0.006243f, 0.008358f, -0.007347f, 0.011613f, 0.005503f, 0.006258f, -0.010244f, -0.009322f, -0.006457f, 0.003022f, 0.014971f, 0.041173f, 0.030002f, -0.009644f, -0.078848f, 0.009861f, + 0.040283f, 0.019494f, 0.009186f, -0.034299f, 0.000341f, -0.023522f, 0.006145f, -0.001804f, 0.007139f, 0.012466f, 0.017204f, 0.007611f, -0.042601f, 0.025504f, -0.005445f, 0.008072f, 0.033345f, 0.013122f, 0.006697f, -0.011244f, 0.041231f, -0.000950f, 0.040987f, -0.048618f, -0.013866f, 0.016141f, -0.028042f, -0.024252f, 0.002308f, -0.005993f, -0.021820f, 0.003085f, 0.036295f, -0.000734f, 0.002953f, -0.018321f, -0.038456f, -0.024442f, -0.010569f, 0.016616f, -0.003712f, 0.004198f, -0.018612f, -0.020456f, -0.009652f, 0.031477f, -0.020770f, 0.018303f, 0.012616f, 0.010480f, 0.004058f, -0.031722f, -0.045215f, -0.003324f, 0.031262f, -0.037657f, 0.018987f, -0.032370f, 0.021129f, -0.034076f, -0.001133f, -0.033593f, 0.048809f, -0.043597f, -0.025660f, 0.011761f, 0.008537f, 0.022471f, 0.019005f, -0.011013f, -0.005446f, -0.011085f, 0.006618f, -0.000094f, 0.029367f, -0.035299f, -0.013493f, -0.045468f, 0.024347f, -0.015915f, 0.002440f, -0.001537f, 0.013165f, -0.009770f, 0.005344f, -0.018382f, -0.027879f, 0.018722f, -0.014090f, 0.000849f, 0.005375f, 0.024746f, 0.010394f, -0.017109f, 0.004408f, -0.005533f, + -0.021859f, -0.003773f, 0.005954f, 0.007502f, -0.019693f, -0.009539f, 0.023158f, -0.001880f, -0.018255f, -0.007891f, 0.027066f, -0.030547f, -0.009830f, 0.006756f, -0.006513f, 0.011477f, -0.001635f, -0.013167f, -0.017644f, -0.005414f, -0.007521f, -0.005232f, -0.005330f, 0.005505f, -0.000728f, 0.011990f, -0.011431f, 0.006885f, 0.002925f, -0.004987f, 0.012256f, -0.067783f, -0.009660f, 0.020216f, 0.004895f, -0.016194f, -0.024242f, 0.002182f, -0.023052f, -0.002195f, -0.035562f, 0.033174f, -0.013366f, 0.020748f, -0.046227f, -0.026225f, -0.001048f, 0.056502f, -0.046385f, -0.004068f, -0.036335f, -0.028873f, -0.008921f, 0.035385f, -0.008360f, 0.015679f, 0.016452f, -0.018860f, -0.040318f, 0.056570f, 0.024505f, -0.032444f, 0.006128f, 0.004115f, 0.015464f, -0.031567f, 0.028103f, -0.002548f, -0.059376f, 0.006216f, 0.011677f, 0.015228f, -0.049237f, -0.011788f, 0.006000f, 0.043177f, 0.008033f, 0.024043f, -0.063484f, -0.038507f, 0.019213f, -0.000030f, 0.041097f, -0.011096f, -0.007186f, 0.003139f, 0.020778f, 0.019212f, 0.007119f, -0.080488f, 0.022443f, -0.009385f, 0.018182f, 0.042878f, -0.013808f, -0.003824f, + -0.049261f, 0.015900f, 0.021913f, -0.025779f, -0.015566f, 0.044386f, 0.069821f, 0.018336f, 0.011152f, -0.019843f, -0.008505f, -0.038274f, 0.002637f, 0.000481f, -0.047557f, 0.017247f, -0.001723f, -0.013823f, -0.003913f, 0.022259f, -0.018418f, -0.012181f, -0.002433f, -0.005040f, -0.002034f, 0.019666f, -0.008813f, 0.000423f, 0.010964f, 0.004537f, 0.015206f, 0.013141f, 0.009604f, 0.007067f, 0.018255f, 0.021846f, -0.029556f, 0.009323f, -0.018601f, 0.014485f, 0.001766f, -0.018416f, -0.012932f, -0.007132f, -0.006534f, -0.012055f, 0.010780f, -0.006113f, -0.012410f, 0.020140f, -0.003618f, -0.006295f, 0.010989f, 0.020749f, -0.000535f, -0.007351f, 0.005234f, 0.019373f, 0.020470f, 0.013271f, -0.007352f, 0.003612f, 0.003388f, 0.017454f, 0.010143f, -0.057210f, -0.037111f, -0.012194f, 0.000294f, -0.032203f, 0.027179f, -0.067771f, 0.004237f, -0.041259f, 0.022769f, -0.014734f, -0.045960f, -0.003251f, -0.011731f, -0.015614f, -0.052476f, -0.038057f, 0.012039f, 0.042968f, -0.027365f, 0.052831f, -0.043381f, -0.028222f, 0.010370f, -0.003450f, 0.024460f, -0.013845f, -0.014570f, -0.020612f, -0.005138f, -0.072058f, + -0.020127f, 0.002969f, -0.002314f, -0.011301f, -0.027854f, 0.023750f, -0.024554f, 0.039795f, -0.011226f, -0.004010f, -0.026777f, -0.024587f, -0.047468f, -0.020185f, 0.018673f, 0.008193f, -0.002079f, 0.004024f, -0.016536f, -0.012267f, -0.021562f, -0.017945f, 0.010674f, 0.015189f, 0.007563f, -0.041115f, 0.048807f, 0.007332f, -0.020034f, 0.039231f, 0.028244f, 0.046594f, -0.007933f, 0.027521f, -0.061974f, -0.033112f, -0.058523f, 0.061101f, -0.018737f, -0.041278f, -0.039765f, -0.085122f, -0.035243f, 0.060237f, -0.003224f, -0.029374f, 0.022421f, -0.057851f, -0.038542f, 0.015488f, -0.002802f, -0.048156f, -0.047145f, 0.000186f, -0.026835f, 0.008096f, 0.010836f, -0.035635f, 0.036073f, -0.020913f, -0.031202f, 0.003506f, -0.018267f, 0.051409f, -0.018952f, 0.023503f, 0.004202f, 0.031532f, -0.015122f, -0.008289f, 0.003521f, -0.013330f, 0.000029f, -0.028833f, -0.021830f, -0.004999f, 0.012842f, 0.001286f, 0.021006f, 0.008952f, 0.015712f, -0.012587f, 0.000424f, -0.025035f, -0.005808f, -0.008609f, 0.008177f, 0.025195f, 0.011803f, 0.010497f, 0.012168f, 0.010797f, 0.003181f, -0.032869f, -0.009491f, -0.022509f, + -0.005313f, 0.004483f, 0.015933f, 0.075588f, 0.096592f, -0.008538f, -0.042142f, -0.009556f, -0.015618f, -0.042502f, 0.019063f, 0.001827f, -0.030756f, 0.092445f, 0.032324f, -0.021092f, -0.063195f, -0.005033f, 0.015795f, 0.017434f, 0.019079f, 0.044614f, -0.012218f, -0.020999f, 0.021032f, -0.078936f, -0.052844f, -0.020069f, -0.005340f, 0.009301f, -0.042177f, -0.038091f, 0.041322f, 0.033366f, -0.024723f, -0.047424f, 0.030922f, 0.001707f, 0.054290f, -0.043124f, -0.009799f, -0.014154f, -0.002456f, -0.033893f, -0.051492f, 0.044340f, -0.031843f, -0.019406f, -0.039315f, -0.007967f, 0.026358f, 0.025446f, -0.015732f, 0.004364f, 0.004804f, 0.033731f, 0.050437f, 0.037934f, -0.064201f, -0.029990f, -0.038026f, -0.008599f, 0.022129f, 0.009011f, -0.043867f, -0.062291f, 0.053786f, 0.004403f, -0.052452f, -0.086249f, 0.044121f, -0.010338f, 0.023781f, 0.022916f, 0.023244f, 0.004133f, 0.017170f, -0.033239f, -0.012927f, 0.024614f, 0.004349f, -0.014975f, 0.009792f, -0.002995f, -0.046226f, 0.024444f, -0.058711f, -0.002723f, -0.002845f, -0.009102f, -0.021078f, -0.007066f, 0.025857f, -0.000614f, -0.005899f, 0.014421f, + -0.018992f, 0.058397f, -0.004521f, 0.006307f, -0.004259f, 0.001758f, 0.014248f, 0.000316f, 0.013718f, -0.027984f, 0.006288f, -0.004122f, -0.020427f, 0.003334f, 0.009689f, 0.020322f, -0.009687f, 0.006602f, -0.048830f, -0.014658f, -0.002771f, -0.024229f, 0.021615f, -0.001606f, -0.006004f, -0.012396f, -0.020213f, -0.028276f, -0.041710f, 0.013952f, -0.004321f, 0.031834f, 0.035976f, 0.024407f, -0.024790f, -0.032819f, -0.043610f, -0.014858f, 0.039684f, 0.034001f, 0.005373f, 0.016678f, -0.014178f, -0.023566f, -0.019309f, 0.001517f, 0.005519f, -0.018174f, 0.008595f, 0.033732f, 0.041789f, -0.051754f, -0.043391f, 0.123456f, -0.009899f, -0.012067f, -0.018467f, -0.038961f, -0.004189f, 0.044539f, 0.071628f, -0.032962f, -0.019846f, -0.007268f, -0.032497f, -0.008115f, -0.018291f, 0.028435f, -0.029356f, 0.032547f, 0.015600f, -0.011197f, -0.040968f, -0.003032f, -0.016829f, 0.061583f, -0.033767f, -0.000856f, 0.000185f, -0.006172f, 0.027955f, -0.017786f, -0.002241f, 0.012775f, -0.008347f, -0.060203f, 0.030781f, -0.027494f, -0.031690f, -0.007366f, -0.033803f, -0.019746f, -0.061492f, 0.058878f, 0.002818f, -0.039327f, + -0.072064f, 0.041955f, -0.042457f, -0.041650f, 0.000687f, -0.032464f, 0.014738f, 0.026565f, 0.082230f, -0.023442f, 0.032286f, -0.007020f, -0.039552f, -0.033846f, -0.009703f, 0.123386f, -0.108784f, -0.008101f, 0.113582f, -0.103917f, -0.039207f, 0.058310f, -0.008458f, -0.047049f, 0.109863f, -0.054459f, -0.022380f, 0.050188f, 0.012675f, 0.021313f, -0.032322f, 0.036178f, 0.051349f, 0.023776f, -0.012878f, -0.003570f, 0.051869f, -0.007741f, 0.029770f, -0.000923f, 0.020848f, -0.029809f, -0.003630f, 0.013388f, 0.008542f, 0.005457f, 0.001606f, 0.001853f, 0.021735f, -0.010130f, 0.005797f, 0.007703f, 0.007523f, -0.046697f, -0.018858f, 0.014593f, -0.039061f, 0.011550f, 0.022713f, -0.016917f, -0.017256f, -0.013838f, 0.009686f, -0.019344f, 0.022792f, 0.018765f, -0.002193f, 0.010731f, -0.013681f, -0.028314f, -0.026958f, 0.053881f, 0.010092f, 0.033474f, 0.007288f, 0.006326f, 0.021787f, -0.018858f, -0.004019f, 0.034014f, -0.020082f, -0.047300f, 0.035544f, -0.005122f, 0.020947f, -0.005821f, -0.013502f, -0.013741f, 0.057643f, -0.074989f, 0.066083f, -0.012042f, -0.042120f, 0.035235f, 0.011950f, -0.007308f, + 0.006867f, 0.004233f, -0.008678f, 0.012443f, -0.015015f, -0.019239f, -0.009129f, -0.026405f, -0.022133f, -0.049029f, -0.019194f, 0.040994f, 0.038577f, -0.060802f, 0.019454f, 0.031306f, 0.026083f, -0.010977f, -0.060088f, -0.006009f, -0.030091f, -0.070190f, 0.043187f, 0.110775f, -0.064636f, -0.007563f, 0.078475f, -0.023119f, -0.028926f, 0.063659f, 0.047043f, 0.022920f, -0.026638f, -0.052443f, 0.016585f, -0.021743f, -0.033446f, 0.115881f, 0.085042f, -0.070930f, -0.052466f, 0.062294f, -0.115486f, -0.041023f, -0.033218f, -0.020443f, 0.079533f, 0.052718f, 0.034378f, 0.037897f, -0.135571f, -0.047695f, 0.127782f, 0.073813f, 0.014514f, -0.034937f, 0.043548f, -0.045891f, -0.092354f, -0.061722f, 0.043965f, -0.034071f, -0.007924f, 0.051250f, 0.095370f, -0.012222f, -0.054879f, 0.006306f, 0.037257f, -0.066172f, -0.025017f, 0.067603f, 0.060656f, 0.060878f, 0.041977f, -0.012915f, -0.039743f, -0.020004f, 0.051430f, 0.014426f, 0.021202f, -0.010688f, 0.005125f, 0.023106f, 0.001350f, -0.010123f, -0.011856f, -0.015576f, 0.010867f, 0.007750f, 0.049282f, 0.013368f, -0.010648f, -0.020609f, 0.004184f, 0.001831f, + -0.008110f, -0.018182f, 0.004209f, 0.038042f, -0.041905f, -0.013000f, 0.036450f, -0.009185f, -0.001736f, 0.024040f, -0.010234f, 0.017606f, 0.006955f, 0.020795f, -0.042380f, -0.006659f, 0.007965f, 0.046691f, 0.010677f, 0.022031f, 0.018994f, 0.010241f, -0.009898f, 0.014942f, 0.021627f, -0.026016f, 0.011690f, -0.114552f, 0.049030f, 0.000197f, -0.012086f, 0.058148f, -0.010344f, -0.044518f, 0.021811f, 0.019904f, 0.056802f, 0.032082f, -0.031352f, 0.001335f, 0.008426f, 0.038875f, 0.008663f, -0.045433f, -0.002170f, -0.002890f, 0.008764f, -0.042272f, -0.046218f, 0.066033f, -0.024355f, -0.069650f, 0.035222f, 0.061286f, -0.035106f, -0.012063f, 0.003570f, 0.041937f, -0.050843f, -0.066405f, 0.017664f, 0.055597f, -0.012605f, -0.024068f, -0.014313f, -0.013864f, 0.023789f, 0.010113f, 0.013998f, 0.140555f, 0.007248f, -0.018223f, 0.001381f, 0.004199f, 0.075493f, 0.002189f, -0.027587f, 0.016922f, -0.060011f, -0.035116f, 0.014839f, 0.000105f, 0.064766f, 0.051693f, -0.034175f, -0.010013f, -0.032351f, 0.001334f, 0.022818f, 0.005780f, 0.006647f, 0.023283f, -0.017468f, -0.069367f, 0.016976f, 0.046578f, + -0.022744f, 0.041097f, -0.064755f, 0.030046f, 0.018647f, -0.056293f, 0.008925f, 0.001007f, -0.025208f, 0.002473f, -0.011199f, 0.027845f, 0.026523f, -0.047150f, -0.029772f, 0.062740f, -0.048699f, 0.023041f, -0.005263f, -0.018472f, 0.012995f, -0.001908f, -0.029011f, 0.016037f, 0.008919f, 0.011484f, -0.001716f, -0.004795f, 0.002275f, 0.008713f, -0.011615f, -0.010182f, 0.007658f, 0.006156f, -0.006843f, -0.000470f, 0.012981f, 0.023443f, -0.014778f, -0.009385f, 0.002039f, -0.004100f, 0.007222f, -0.005699f, -0.004128f, 0.005528f, -0.001285f, 0.014176f, -0.005469f, 0.007075f, -0.019243f, 0.011214f, -0.013766f, 0.011860f, 0.019468f, -0.001641f, -0.000733f, 0.003062f, -0.024804f, 0.019466f, 0.039302f, -0.073742f, -0.242543f, -0.287021f, -0.025813f, -0.199068f, 0.078198f, 0.485279f, 0.261055f, 0.394142f, 0.415395f, -0.045177f, -0.119719f, 0.035481f, -0.302566f, -0.369870f, -0.114275f, -0.407163f, -0.326848f, 0.082859f, -0.235113f, -0.064100f, 0.468651f, 0.169634f, 0.331332f, 0.572377f, 0.340683f, 0.152341f, 0.115971f, 0.040531f, -0.254998f, -0.317498f, -0.104756f, -0.433629f, -0.433884f, 0.057130f, + -0.324475f, -0.266350f, 0.160073f, -0.273095f, -0.280757f, 0.211875f, 0.086105f, -0.038818f, 0.500318f, 0.468430f, 0.299161f, 0.635101f, 0.598584f, 0.204407f, 0.238254f, 0.185600f, -0.301393f, -0.302228f, -0.382071f, -0.756605f, -0.892977f, -0.642365f, -0.639396f, -0.471757f, 0.016163f, 0.043461f, 0.311409f, 0.538353f, 0.663702f, 0.604598f, 0.701783f, 0.601156f, 0.354636f, 0.238298f, 0.079407f, -0.118694f, -0.266361f, -0.379122f, -0.325612f, -0.472333f, -0.528834f, -0.438760f, -0.512748f, -0.384927f, 0.060994f, 0.123170f, 0.298767f, 0.599055f, 0.477186f, 0.367561f, 0.277988f, 0.109289f, -0.090821f, -0.074366f, -0.150196f, -0.188203f, -0.143533f, -0.163540f, -0.157760f, -0.067510f, -0.063844f, 0.003331f, 0.097503f, 0.069097f, 0.136880f, 0.164148f, 0.028701f, 0.119000f, 0.114612f, -0.032054f, 0.038132f, 0.026520f, -0.087121f, 0.003486f, 0.028263f, -0.101148f, -0.110114f, -0.154096f, -0.316325f, -0.354034f, -0.275142f, -0.263315f, -0.086157f, 0.128809f, 0.232825f, 0.378380f, 0.571416f, 0.616519f, 0.572107f, 0.400467f, 0.122356f, -0.129657f, -0.276495f, -0.413281f, -0.509580f, -0.501681f, + -0.391499f, -0.269366f, -0.127788f, -0.039782f, 0.016131f, 0.045868f, 0.116435f, 0.191442f, 0.197952f, 0.183226f, 0.188654f, 0.133623f, 0.120819f, 0.103966f, 0.042284f, 0.008921f, 0.026081f, 0.022028f, 0.013842f, 0.008328f, -0.024186f, -0.065027f, -0.098640f, -0.142233f, -0.180395f, -0.180843f, -0.145537f, -0.111815f, -0.058720f, 0.009760f, 0.061085f, 0.089162f, 0.103775f, 0.091302f, 0.080947f, 0.088441f, 0.085691f, 0.068540f, 0.058678f, 0.048447f, 0.033314f, 0.017205f, 0.000952f, -0.032790f, -0.060462f, -0.066895f, -0.062758f, -0.057149f, -0.053309f, -0.049425f, -0.036711f, -0.013331f, 0.001364f, -0.004970f, -0.016263f, -0.009157f, 0.001259f, 0.007314f, 0.014391f, 0.016688f, 0.022852f, 0.036347f, 0.049537f, 0.048620f, 0.050086f, 0.044194f, 0.028590f, 0.017274f, 0.010009f, -0.003909f, -0.016409f, -0.025412f, -0.045445f, -0.063015f, -0.069153f, -0.071937f, -0.062177f, -0.039726f, -0.010530f, 0.022189f, 0.051452f, 0.065260f, 0.063719f, 0.049769f, 0.032942f, 0.016221f, 0.000861f, -0.008160f, -0.012887f, -0.013630f, -0.011919f, -0.011509f, -0.011268f, -0.010205f, -0.007969f, -0.006186f, + -0.003704f, -0.001284f, 0.000374f, 0.001833f, 0.002580f, 0.002457f, 0.001876f, 0.000938f, 0.000259f, -0.000066f, -0.000117f, -0.000096f} + }, + { + {-0.016487f, -0.019659f, 0.010316f, 0.000747f, 0.015493f, 0.005699f, 0.006919f, 0.004487f, 0.006376f, -0.000046f, -0.000062f, -0.003328f, -0.009927f, -0.005682f, 0.002816f, -0.000374f, -0.001719f, -0.001069f, 0.005492f, 0.004292f, 0.000197f, 0.004954f, -0.004377f, -0.011324f, 0.003784f, -0.002541f, 0.001419f, -0.005716f, 0.004717f, -0.004658f, -0.002257f, -0.001770f, 0.008342f, -0.001817f, 0.000040f, -0.003309f, -0.000812f, -0.009151f, 0.003253f, -0.001453f, 0.005135f, -0.004292f, 0.000719f, -0.001968f, -0.007315f, 0.002474f, -0.000616f, -0.001899f, 0.003435f, 0.006230f, -0.001146f, -0.003639f, -0.010760f, 0.001103f, -0.006349f, 0.003115f, 0.000227f, -0.004081f, -0.000051f, -0.001688f, -0.001403f, -0.007738f, 0.005195f, -0.006849f, 0.003962f, -0.002627f, -0.004532f, -0.003844f, -0.008247f, 0.004721f, 0.000541f, 0.002409f, 0.005143f, -0.005249f, -0.008463f, 0.005610f, -0.008107f, 0.000383f, -0.005367f, 0.001866f, -0.004130f, 0.003849f, -0.002036f, 0.002090f, -0.003551f, 0.000782f, -0.001592f, 0.002318f, -0.001649f, -0.001808f, -0.001765f, -0.001646f, -0.003179f, 0.000598f, 0.000908f, -0.000449f, + -0.002485f, 0.001913f, -0.001854f, 0.000398f, -0.001208f, -0.002112f, -0.000730f, -0.000675f, -0.000266f, -0.000367f, -0.000235f, -0.001720f, -0.000907f, 0.000409f, -0.001016f, -0.000462f, -0.000504f, -0.001174f, -0.000308f, -0.000843f, -0.001121f, -0.000942f, -0.029345f, -0.000378f, -0.003951f, 0.007643f, 0.000081f, 0.002907f, -0.002487f, 0.003776f, 0.000680f, 0.003299f, -0.003455f, 0.018853f, -0.004179f, -0.002708f, -0.008185f, 0.002673f, -0.009869f, -0.003190f, 0.000664f, -0.004806f, -0.000136f, 0.006896f, 0.003902f, 0.002598f, 0.004601f, 0.006701f, -0.008275f, -0.003166f, -0.000233f, 0.004250f, -0.007814f, 0.007516f, -0.006552f, -0.003296f, 0.005968f, -0.001173f, 0.001320f, -0.004833f, 0.005506f, 0.005820f, 0.006191f, -0.009650f, -0.003018f, 0.010387f, -0.000218f, -0.001586f, -0.002413f, 0.011329f, 0.007317f, 0.008762f, 0.000077f, -0.002066f, -0.002706f, -0.000635f, -0.000319f, 0.001279f, 0.003311f, -0.010975f, -0.001075f, -0.005115f, -0.006567f, -0.000855f, 0.001782f, -0.005695f, 0.001433f, -0.004353f, -0.001682f, -0.001761f, -0.000223f, 0.003796f, 0.003425f, -0.001987f, -0.001391f, -0.002486f, + -0.008992f, -0.002107f, -0.005611f, 0.000148f, -0.007373f, 0.001975f, 0.000024f, 0.007358f, -0.002634f, 0.001012f, -0.006473f, 0.000557f, 0.000801f, -0.002973f, -0.003155f, 0.003126f, 0.000007f, 0.000833f, -0.000393f, 0.002195f, -0.000671f, 0.000913f, -0.000467f, -0.000504f, 0.002564f, 0.001223f, 0.001016f, 0.000413f, -0.000391f, 0.001585f, 0.009854f, 0.011688f, -0.008301f, 0.000956f, -0.007095f, 0.010701f, 0.001881f, -0.004566f, -0.006434f, -0.005702f, -0.001277f, 0.001268f, 0.002759f, 0.014270f, -0.008654f, -0.001462f, -0.003502f, 0.005529f, -0.016159f, -0.001983f, 0.010126f, -0.000387f, 0.008491f, 0.003699f, 0.006788f, 0.007074f, 0.003011f, -0.001509f, -0.007648f, 0.002381f, -0.002221f, 0.000851f, 0.011857f, 0.002911f, 0.010157f, -0.005504f, -0.002922f, 0.000677f, -0.013932f, 0.001511f, 0.010209f, -0.003142f, 0.000847f, -0.008744f, 0.006406f, -0.000252f, 0.002780f, -0.010329f, 0.005898f, -0.006973f, -0.003948f, -0.007279f, -0.008545f, 0.004749f, 0.001529f, -0.002838f, -0.004434f, -0.004187f, -0.003122f, -0.002147f, 0.004649f, -0.004834f, -0.008682f, -0.013293f, 0.012079f, 0.009258f, + 0.000383f, -0.013298f, 0.003885f, -0.006432f, 0.005073f, -0.004379f, 0.000821f, -0.008188f, -0.005216f, -0.010634f, -0.004887f, -0.001574f, 0.010158f, 0.006027f, -0.011603f, 0.004878f, 0.000130f, -0.001097f, 0.004895f, -0.000779f, 0.003860f, 0.008071f, 0.000301f, 0.001626f, 0.005289f, 0.001024f, 0.000955f, 0.005260f, -0.001070f, -0.000236f, 0.000282f, 0.000604f, 0.001009f, 0.001238f, -0.001324f, 0.001461f, -0.001250f, 0.000303f, 0.000135f, 0.001283f, 0.000185f, 0.003299f, 0.002828f, 0.000123f, -0.000298f, 0.003235f, 0.001562f, -0.002586f, 0.000339f, 0.001111f, 0.049764f, -0.018523f, 0.022277f, -0.017755f, 0.001489f, 0.005264f, 0.005203f, -0.014663f, -0.005002f, -0.004946f, -0.024532f, -0.000166f, 0.001262f, -0.008861f, -0.001463f, -0.000139f, 0.017482f, 0.003205f, -0.012253f, 0.008889f, 0.009705f, 0.002141f, 0.017723f, -0.013238f, -0.004867f, -0.007091f, 0.003715f, 0.014191f, -0.001067f, 0.000863f, 0.005257f, -0.002578f, 0.006322f, 0.002837f, 0.016218f, -0.002487f, 0.006336f, -0.010681f, 0.009680f, -0.007490f, 0.010812f, -0.000229f, -0.011376f, -0.001738f, 0.016351f, -0.000759f, + 0.011052f, 0.006620f, 0.010628f, 0.000915f, -0.008472f, -0.006899f, 0.000143f, -0.005137f, 0.008720f, 0.005770f, -0.008696f, 0.001162f, -0.006801f, 0.011522f, -0.003175f, 0.009237f, 0.011037f, 0.001906f, 0.011379f, -0.000558f, -0.005563f, -0.001913f, -0.007080f, 0.000292f, 0.014964f, -0.009432f, -0.009655f, -0.003670f, 0.004228f, -0.006618f, -0.004109f, 0.002876f, 0.007176f, -0.003019f, 0.002620f, -0.014567f, 0.003554f, 0.000918f, -0.001065f, 0.005067f, 0.000299f, 0.001346f, 0.003436f, -0.000467f, -0.001905f, 0.001543f, -0.003372f, 0.001028f, -0.001418f, 0.000399f, 0.000613f, -0.000539f, -0.001188f, -0.002929f, -0.000251f, -0.002336f, -0.001465f, -0.000998f, -0.004862f, -0.041355f, 0.004661f, -0.012096f, -0.008612f, -0.013279f, -0.016113f, 0.006517f, 0.014642f, -0.002078f, 0.005770f, 0.002409f, 0.007581f, 0.001799f, 0.000673f, 0.004606f, -0.008760f, 0.020710f, -0.000943f, -0.011893f, 0.013653f, -0.004034f, 0.005871f, -0.013423f, -0.008283f, -0.009484f, 0.004281f, 0.002613f, 0.010715f, 0.000414f, -0.006441f, 0.001197f, -0.005736f, -0.006366f, -0.007025f, -0.002402f, -0.009832f, -0.004968f, + 0.009426f, -0.008565f, -0.000475f, -0.006685f, -0.010441f, -0.004636f, 0.001463f, 0.003466f, 0.006853f, -0.005253f, -0.004746f, 0.006709f, 0.001298f, 0.002568f, 0.001901f, 0.004177f, 0.006367f, -0.010060f, -0.003252f, -0.000966f, -0.014055f, 0.003822f, -0.000862f, 0.008369f, -0.008184f, -0.006301f, -0.007641f, 0.001393f, 0.008940f, 0.006863f, 0.015666f, 0.010469f, -0.009463f, 0.003944f, -0.004215f, 0.007391f, 0.004735f, -0.010339f, 0.007616f, 0.002051f, -0.011383f, 0.001520f, -0.001965f, 0.001021f, -0.002028f, -0.007837f, 0.001574f, -0.005617f, -0.005803f, 0.002202f, -0.003133f, 0.001389f, 0.004355f, -0.002810f, -0.003642f, -0.003906f, -0.005735f, -0.001078f, 0.004655f, -0.001188f, 0.004837f, 0.000048f, 0.003310f, 0.002167f, 0.001785f, -0.002098f, -0.000695f, 0.000807f, -0.001916f, -0.002288f, 0.000668f, -0.002213f, -0.000721f, 0.000592f, -0.003994f, 0.002304f, -0.001982f, -0.000732f, 0.000605f, -0.000164f, 0.000459f, 0.001312f, -0.001708f, 0.001160f, 0.002898f, -0.052614f, 0.014691f, -0.015559f, -0.012927f, -0.009250f, 0.001976f, -0.002560f, 0.031303f, 0.003250f, 0.007642f, -0.003282f, + 0.000320f, -0.012594f, 0.012892f, 0.003889f, -0.001646f, 0.002731f, 0.016772f, -0.008118f, -0.002662f, 0.004004f, 0.001353f, 0.008496f, -0.007035f, -0.003079f, 0.009347f, 0.003533f, 0.008627f, 0.001182f, -0.008731f, -0.005680f, 0.005246f, -0.000699f, -0.002829f, -0.005411f, -0.003016f, -0.000199f, 0.015910f, 0.004133f, -0.002634f, 0.000496f, 0.001368f, -0.004600f, 0.011521f, 0.008824f, -0.002489f, -0.011723f, 0.003183f, -0.006132f, 0.010973f, 0.008522f, -0.008182f, 0.003433f, -0.010655f, -0.009524f, -0.008307f, -0.010528f, -0.003488f, 0.002512f, -0.006222f, 0.000684f, -0.006893f, -0.005862f, 0.012601f, 0.008036f, -0.010304f, -0.014037f, 0.001795f, 0.012231f, -0.009126f, -0.006773f, 0.010410f, 0.008179f, 0.011846f, -0.007366f, -0.000130f, 0.003434f, 0.005002f, 0.013228f, 0.003736f, -0.001573f, -0.000305f, -0.009398f, -0.001235f, -0.000035f, -0.007986f, 0.000735f, -0.002212f, -0.003600f, 0.000360f, -0.000971f, 0.004237f, -0.000835f, -0.001374f, 0.002050f, -0.001025f, -0.003278f, -0.002041f, 0.000847f, 0.003463f, -0.001431f, -0.001017f, 0.000228f, -0.000604f, 0.006260f, 0.001310f, 0.008078f, + -0.005421f, 0.001563f, 0.000615f, -0.003190f, 0.000125f, -0.000151f, -0.004054f, 0.001203f, -0.000610f, -0.004591f, -0.004170f, -0.002167f, -0.003977f, -0.003078f, 0.001314f, -0.001969f, -0.027811f, -0.002758f, 0.004680f, 0.013523f, -0.002638f, -0.007088f, 0.003167f, 0.019873f, -0.025033f, 0.005802f, -0.005084f, -0.004648f, -0.011272f, 0.006771f, -0.020063f, -0.013058f, 0.006891f, -0.010488f, 0.006338f, 0.028576f, -0.005063f, 0.011550f, -0.013445f, 0.013800f, -0.003593f, 0.004116f, -0.012061f, 0.005628f, 0.003415f, -0.006460f, 0.002833f, -0.001303f, -0.006209f, -0.000413f, 0.007840f, 0.012303f, -0.009643f, -0.015364f, -0.012185f, -0.011278f, 0.001451f, 0.009023f, 0.023887f, -0.000272f, 0.016082f, 0.016811f, -0.015650f, 0.012027f, -0.023013f, -0.008407f, 0.001443f, -0.010228f, -0.009549f, 0.006383f, -0.022289f, -0.004398f, 0.015482f, -0.006682f, -0.005845f, 0.002051f, -0.006823f, 0.006340f, -0.006771f, 0.010874f, 0.014020f, -0.003885f, 0.004342f, 0.000589f, -0.014242f, 0.001229f, -0.009227f, -0.006338f, -0.011260f, 0.006396f, 0.004860f, -0.010784f, 0.000845f, 0.008048f, 0.007443f, 0.009533f, + 0.009785f, -0.001494f, -0.009372f, 0.007747f, 0.004012f, 0.004644f, 0.002489f, 0.005606f, -0.000677f, -0.000173f, 0.000776f, 0.002313f, 0.002666f, -0.003812f, -0.001225f, -0.003073f, -0.002102f, 0.004505f, 0.003805f, 0.004349f, -0.007929f, 0.001624f, -0.001043f, -0.003232f, -0.003866f, 0.004076f, -0.002574f, -0.004288f, 0.001024f, 0.001034f, -0.001488f, 0.009594f, 0.003106f, -0.001865f, -0.002196f, -0.004435f, -0.001311f, 0.003931f, 0.005881f, 0.001514f, -0.000072f, 0.006018f, 0.065835f, -0.003256f, -0.026135f, -0.003335f, -0.001214f, 0.002429f, 0.008233f, 0.003320f, -0.003090f, -0.002772f, -0.013195f, -0.006282f, 0.007289f, 0.016040f, -0.013264f, -0.008363f, 0.010684f, 0.000814f, -0.003936f, 0.004249f, -0.001117f, -0.015333f, -0.015621f, 0.021117f, -0.002037f, -0.001400f, -0.003600f, 0.010824f, -0.000905f, 0.001099f, 0.006862f, -0.011645f, 0.012245f, 0.005074f, 0.001947f, 0.004656f, 0.012241f, -0.029620f, -0.013298f, -0.007235f, 0.027202f, 0.003481f, 0.001986f, -0.008431f, -0.009303f, 0.008124f, -0.001282f, 0.009426f, -0.003420f, -0.018937f, 0.001976f, 0.002279f, -0.002914f, 0.009156f, + 0.004075f, 0.002438f, 0.015062f, 0.036806f, -0.002964f, -0.003141f, 0.013980f, 0.004236f, -0.004399f, 0.009611f, 0.028617f, -0.003244f, 0.005439f, 0.010354f, 0.008297f, 0.007433f, 0.007573f, 0.008494f, 0.006521f, -0.007601f, 0.011394f, 0.020422f, -0.004771f, 0.007816f, 0.000069f, -0.002599f, -0.014192f, 0.008800f, 0.003298f, -0.001176f, 0.004243f, 0.004883f, 0.001129f, 0.000545f, -0.004810f, -0.005508f, -0.002202f, -0.010949f, -0.004896f, -0.007427f, 0.009455f, 0.004631f, 0.003570f, -0.001562f, -0.001469f, 0.000538f, -0.006321f, -0.000007f, 0.002271f, -0.008698f, 0.007571f, -0.003802f, 0.001316f, -0.002674f, 0.000378f, 0.002863f, 0.003423f, -0.006781f, -0.006727f, -0.005591f, 0.000718f, -0.001172f, -0.001892f, -0.000533f, 0.004656f, -0.001257f, 0.000455f, -0.002796f, -0.005983f, -0.003260f, -0.000197f, 0.013293f, 0.014802f, -0.018878f, -0.005489f, -0.016025f, 0.015847f, 0.029711f, -0.014249f, -0.003345f, -0.016347f, -0.007101f, -0.019778f, 0.014083f, -0.012084f, -0.004906f, -0.001304f, 0.000141f, -0.007891f, -0.009677f, 0.017710f, -0.016096f, -0.005980f, 0.001847f, 0.012072f, 0.012933f, + -0.018593f, -0.005446f, 0.007101f, -0.015951f, 0.009031f, -0.012650f, -0.005198f, 0.004681f, 0.000334f, -0.006912f, -0.001968f, 0.003834f, 0.020694f, 0.002584f, 0.004640f, 0.000027f, -0.017774f, 0.019395f, -0.009549f, -0.014502f, 0.011578f, -0.010329f, -0.011765f, 0.015298f, -0.006957f, 0.001985f, -0.003429f, 0.002084f, 0.020016f, -0.003400f, 0.004444f, -0.017513f, -0.001435f, 0.020467f, 0.004511f, 0.020280f, 0.017269f, -0.005664f, -0.004498f, -0.023502f, 0.003553f, -0.003914f, 0.015545f, 0.019173f, -0.011063f, 0.004811f, -0.034656f, -0.009411f, 0.011389f, -0.011901f, 0.017852f, 0.001256f, 0.003798f, -0.006295f, -0.001417f, -0.008242f, 0.001390f, -0.005663f, 0.012576f, 0.012504f, -0.000648f, 0.004299f, -0.000276f, 0.007095f, 0.002951f, 0.005158f, 0.010607f, -0.003157f, -0.012123f, 0.005589f, 0.002647f, 0.007693f, -0.002081f, 0.008159f, -0.001750f, -0.002741f, 0.001941f, -0.004797f, -0.003335f, 0.000900f, -0.008561f, 0.002437f, -0.003048f, 0.007575f, 0.003135f, -0.000475f, -0.001704f, -0.004868f, -0.007611f, -0.000520f, 0.000905f, 0.003128f, -0.002869f, 0.001763f, -0.007172f, -0.000010f, + 0.000305f, -0.003639f, 0.004611f, 0.000566f, -0.000012f, 0.002103f, -0.002434f, 0.000462f, -0.000083f, 0.011855f, -0.015229f, 0.005124f, -0.014245f, -0.001613f, -0.019218f, 0.031395f, -0.009328f, 0.002075f, -0.010000f, -0.028762f, 0.016478f, 0.005730f, -0.021482f, 0.013196f, -0.009713f, -0.007167f, 0.007427f, 0.029716f, -0.014928f, 0.028705f, -0.000630f, -0.020282f, 0.000787f, 0.006660f, -0.017853f, 0.019578f, -0.010364f, 0.014481f, 0.031550f, 0.003032f, -0.014826f, -0.004192f, -0.001743f, 0.007188f, -0.012617f, -0.006917f, -0.001752f, 0.015523f, -0.005618f, -0.006315f, -0.020748f, -0.000759f, -0.024519f, -0.004566f, 0.027671f, -0.006275f, 0.015736f, 0.001445f, 0.004162f, -0.036386f, 0.000452f, -0.023300f, 0.018684f, 0.032509f, 0.010002f, 0.008134f, 0.001981f, 0.004834f, -0.019028f, 0.006649f, 0.010108f, -0.008501f, -0.002403f, -0.007539f, -0.004810f, 0.014637f, 0.000303f, 0.017763f, 0.054517f, 0.019889f, 0.005417f, -0.018768f, -0.017439f, -0.011318f, 0.010695f, -0.018582f, -0.001635f, -0.001720f, 0.003775f, 0.010468f, -0.010198f, -0.001946f, 0.010123f, 0.011112f, 0.002275f, 0.001876f, + 0.007557f, 0.009568f, 0.007991f, -0.000112f, -0.001791f, -0.001820f, 0.000831f, -0.003981f, -0.004960f, 0.004328f, -0.002514f, 0.006739f, -0.008279f, -0.002631f, 0.005706f, 0.004847f, -0.000502f, 0.004380f, -0.004266f, 0.001993f, 0.003000f, 0.004069f, -0.004681f, -0.004602f, 0.006464f, 0.004620f, 0.003626f, -0.001674f, -0.003266f, 0.001568f, -0.009214f, -0.002417f, 0.001472f, -0.004904f, 0.002237f, -0.003401f, -0.002399f, 0.001050f, 0.000744f, -0.000768f, -0.001829f, -0.006107f, 0.057718f, -0.030134f, -0.000119f, -0.014606f, -0.028201f, -0.037873f, 0.011411f, -0.011652f, 0.012039f, -0.035809f, 0.007877f, 0.013742f, 0.012422f, -0.014630f, -0.032832f, -0.025696f, -0.021479f, 0.000983f, -0.012212f, -0.023774f, -0.016164f, -0.007872f, -0.019311f, -0.013255f, 0.003980f, 0.025918f, -0.000038f, 0.004269f, -0.000292f, -0.021547f, 0.014273f, -0.001362f, 0.004599f, -0.004302f, -0.014113f, 0.013156f, -0.017749f, -0.024969f, 0.023506f, -0.024344f, 0.005487f, 0.000413f, -0.034484f, -0.020283f, 0.014220f, 0.000009f, 0.017361f, -0.010556f, -0.036677f, 0.000482f, 0.001795f, 0.014509f, 0.015320f, 0.035385f, + -0.019651f, -0.070972f, -0.024562f, -0.023793f, 0.016501f, -0.046022f, -0.015313f, -0.007152f, -0.042296f, -0.013623f, -0.000275f, -0.007513f, -0.007573f, 0.009966f, -0.011087f, -0.000385f, -0.010376f, 0.010684f, -0.024704f, 0.009702f, 0.020645f, -0.024817f, -0.012363f, 0.013176f, 0.010292f, 0.009101f, -0.025628f, 0.006836f, 0.000744f, -0.003040f, 0.014258f, -0.002835f, 0.011801f, 0.010692f, -0.001823f, 0.003772f, 0.002622f, -0.002496f, -0.008244f, 0.014889f, -0.004240f, -0.009363f, 0.000742f, 0.000255f, 0.008053f, 0.003357f, 0.000456f, 0.003032f, -0.007083f, -0.007024f, 0.001296f, 0.003353f, 0.005001f, 0.008820f, -0.000519f, 0.004393f, -0.000374f, 0.003963f, -0.008315f, -0.003134f, -0.005633f, -0.004917f, -0.000480f, -0.000521f, 0.003662f, -0.009252f, -0.004060f, -0.006751f, -0.004820f, -0.009717f, -0.012320f, -0.010672f, -0.000763f, -0.000340f, 0.001849f, -0.006290f, -0.008499f, -0.033016f, 0.013078f, 0.016328f, -0.005426f, -0.006363f, -0.016435f, -0.018173f, 0.042006f, 0.015281f, -0.039129f, 0.013547f, -0.021291f, -0.002050f, -0.019332f, -0.040263f, 0.011888f, -0.020997f, -0.008702f, 0.001637f, + 0.001263f, -0.010279f, -0.033949f, -0.021145f, 0.016802f, -0.020914f, -0.000467f, -0.018511f, -0.028213f, -0.011084f, 0.031584f, 0.004985f, 0.005736f, -0.027493f, -0.009054f, -0.005686f, -0.003424f, 0.011075f, 0.013950f, 0.017696f, 0.022171f, -0.010825f, 0.012578f, 0.004248f, -0.012523f, 0.007710f, -0.021163f, -0.018706f, -0.015882f, 0.006834f, -0.018370f, 0.000788f, -0.027721f, -0.024620f, -0.012397f, 0.028852f, 0.022867f, 0.021891f, 0.024536f, -0.022483f, 0.030690f, 0.000884f, 0.014287f, 0.041708f, -0.008323f, -0.007836f, 0.007100f, -0.020281f, 0.008601f, -0.009602f, -0.025714f, 0.003255f, 0.021568f, -0.025278f, -0.017603f, -0.003223f, 0.023168f, -0.019250f, 0.002511f, 0.006891f, 0.014071f, 0.003292f, -0.005348f, -0.013185f, 0.003840f, 0.009575f, -0.005006f, 0.001077f, -0.006387f, 0.001991f, -0.006050f, 0.002393f, 0.000772f, 0.003424f, -0.002074f, 0.002308f, 0.004982f, 0.011617f, -0.001148f, -0.000447f, 0.001323f, 0.005302f, -0.008405f, -0.003849f, -0.009287f, -0.002907f, -0.001805f, -0.011265f, 0.002447f, 0.009801f, -0.000540f, -0.013390f, -0.001876f, -0.001427f, -0.011086f, -0.013127f, + -0.018454f, -0.008047f, 0.007577f, 0.000923f, 0.005470f, -0.003109f, -0.003011f, -0.007027f, -0.000613f, -0.016818f, -0.002634f, 0.009632f, 0.016143f, -0.001097f, 0.005126f, -0.009685f, 0.001586f, -0.005893f, 0.008465f, 0.003246f, -0.015815f, -0.036873f, 0.042165f, -0.032952f, 0.043663f, 0.024439f, 0.016624f, 0.009346f, 0.017149f, 0.018636f, 0.017220f, 0.046934f, -0.016445f, 0.003308f, -0.003152f, -0.008101f, -0.001442f, 0.005818f, -0.004378f, 0.009029f, -0.003064f, 0.014680f, 0.012296f, -0.002644f, -0.008151f, -0.046783f, -0.016689f, -0.033934f, -0.001590f, 0.017891f, 0.018025f, 0.005742f, 0.009171f, 0.013489f, 0.011119f, 0.013075f, 0.033480f, 0.049977f, 0.033501f, 0.006764f, -0.006386f, -0.009653f, -0.014379f, 0.017488f, 0.017777f, 0.019971f, -0.014884f, -0.011701f, -0.018454f, -0.003041f, 0.024319f, 0.000239f, 0.029148f, -0.017693f, 0.015596f, 0.009421f, 0.026154f, -0.054743f, -0.039245f, -0.016052f, -0.022043f, -0.022504f, 0.006718f, -0.009183f, 0.034421f, 0.010235f, -0.038458f, -0.003161f, 0.062131f, -0.020952f, 0.019350f, -0.009387f, 0.025511f, -0.011894f, -0.007812f, 0.000926f, + -0.010597f, -0.013861f, -0.001039f, 0.010462f, 0.015340f, 0.010736f, -0.004080f, 0.012107f, -0.003261f, 0.005610f, -0.015883f, -0.010765f, 0.010106f, 0.006472f, -0.015971f, -0.006922f, -0.006807f, -0.002115f, 0.003912f, -0.004170f, -0.007857f, 0.003621f, 0.000658f, 0.002634f, -0.001305f, -0.004475f, 0.007018f, 0.002337f, -0.004064f, 0.009388f, -0.001366f, 0.002784f, -0.001803f, 0.011070f, -0.009438f, 0.009864f, 0.004254f, -0.009202f, 0.006043f, 0.000365f, 0.001568f, -0.009593f, -0.028180f, 0.010578f, 0.000176f, 0.002075f, -0.003292f, 0.010755f, -0.002670f, -0.004974f, 0.003357f, 0.008413f, 0.006872f, -0.004109f, 0.008537f, -0.026818f, -0.013343f, 0.022539f, 0.009937f, 0.016671f, 0.043205f, 0.003850f, 0.028921f, 0.042216f, 0.029357f, -0.018860f, -0.042613f, -0.001271f, -0.019485f, 0.046287f, 0.013421f, 0.036201f, -0.005009f, -0.019141f, -0.006982f, -0.020901f, 0.008448f, -0.016042f, 0.002082f, -0.017887f, 0.009523f, -0.013021f, -0.005437f, -0.028828f, -0.028632f, -0.002674f, -0.041070f, 0.022729f, 0.015640f, -0.012142f, 0.021185f, -0.009856f, 0.008294f, 0.023655f, -0.025946f, -0.033941f, + 0.006151f, -0.007271f, 0.057367f, 0.024526f, -0.062802f, -0.016788f, -0.017783f, -0.032249f, -0.034279f, -0.070040f, 0.012432f, -0.024975f, -0.006545f, 0.010260f, 0.002593f, 0.014653f, -0.002755f, -0.008116f, -0.053203f, 0.006528f, -0.024179f, 0.006740f, 0.031227f, 0.006773f, 0.020940f, -0.031509f, -0.042093f, 0.008717f, 0.026103f, 0.017784f, 0.009802f, 0.016910f, 0.027130f, 0.034163f, 0.034901f, -0.030814f, -0.018693f, -0.022134f, -0.016005f, -0.025873f, 0.036808f, 0.021816f, 0.020742f, 0.005914f, 0.015854f, 0.013839f, -0.001325f, 0.019490f, -0.029702f, -0.010193f, -0.003578f, 0.002688f, -0.006462f, -0.020783f, 0.001157f, -0.003996f, 0.002690f, 0.007101f, 0.021460f, 0.001470f, 0.010009f, 0.010370f, 0.001551f, 0.010998f, 0.000289f, -0.006192f, 0.001243f, -0.015839f, -0.006636f, 0.008931f, 0.012326f, 0.004136f, 0.002185f, -0.019414f, -0.002007f, 0.001033f, -0.009595f, -0.006233f, 0.002823f, 0.006688f, -0.018241f, -0.019693f, -0.009267f, 0.007178f, 0.005696f, 0.010626f, 0.002317f, -0.006001f, 0.004355f, -0.020346f, -0.018618f, 0.076054f, 0.050246f, 0.069783f, 0.004561f, -0.013791f, + -0.047348f, -0.013943f, 0.007964f, 0.011032f, -0.011260f, -0.036586f, -0.013200f, 0.060294f, 0.024954f, -0.008303f, 0.018493f, -0.001329f, -0.022104f, -0.006437f, -0.014411f, 0.041117f, -0.003121f, 0.002440f, 0.017771f, 0.001194f, 0.020162f, -0.000182f, 0.028525f, -0.026187f, 0.032862f, 0.006673f, -0.015248f, -0.009224f, -0.016894f, 0.029658f, -0.041020f, -0.044315f, 0.028081f, 0.046395f, 0.002216f, 0.032033f, 0.044064f, -0.049549f, 0.016540f, 0.010150f, -0.002681f, -0.000432f, 0.007402f, -0.018588f, 0.034607f, -0.020959f, -0.016631f, 0.013981f, 0.001803f, -0.003732f, -0.007997f, -0.010319f, 0.005029f, -0.032728f, -0.009763f, 0.026383f, -0.032257f, -0.007429f, -0.021774f, 0.000830f, 0.065410f, -0.020524f, 0.004247f, 0.017500f, 0.000368f, -0.015041f, -0.040785f, 0.039902f, 0.018657f, -0.082230f, 0.020426f, 0.020705f, 0.015350f, -0.018434f, -0.008543f, 0.042016f, 0.001933f, 0.003102f, 0.010819f, -0.029214f, 0.001166f, 0.018599f, -0.007548f, 0.010750f, -0.002289f, -0.009492f, -0.024314f, 0.003718f, -0.003156f, 0.022585f, -0.002057f, -0.000957f, -0.016177f, 0.017893f, -0.005973f, -0.006216f, + -0.025664f, -0.012922f, 0.009086f, -0.016552f, 0.001416f, -0.008158f, 0.010332f, -0.009692f, -0.020636f, 0.010449f, -0.022233f, -0.006110f, -0.010079f, 0.001040f, 0.001405f, -0.008367f, 0.022257f, -0.002751f, 0.029995f, 0.018264f, -0.002962f, 0.003141f, 0.019211f, -0.013289f, 0.003484f, 0.002271f, 0.018442f, -0.016656f, -0.009817f, 0.000846f, -0.033964f, -0.081399f, 0.072416f, 0.043166f, 0.022960f, 0.016146f, 0.035775f, -0.082143f, 0.033728f, 0.037932f, 0.016247f, -0.052587f, 0.029263f, 0.053161f, 0.024643f, 0.058619f, 0.021386f, 0.001002f, -0.002323f, -0.001839f, -0.009981f, 0.024838f, 0.041653f, 0.039667f, 0.013871f, -0.012190f, -0.020685f, 0.004945f, -0.018832f, -0.022055f, 0.023205f, 0.015952f, 0.004422f, -0.022104f, -0.021501f, -0.004728f, -0.018692f, 0.009534f, 0.047872f, -0.008514f, -0.015473f, 0.016153f, 0.008679f, 0.014179f, 0.016721f, -0.003666f, -0.009657f, 0.038456f, 0.025450f, 0.012570f, 0.016976f, -0.003104f, -0.038217f, 0.008862f, 0.025449f, 0.003294f, -0.028444f, 0.038062f, 0.009930f, 0.052947f, 0.001969f, 0.047597f, 0.005093f, -0.015606f, -0.005065f, 0.011414f, + 0.067765f, -0.008564f, 0.024360f, 0.016695f, 0.032020f, 0.016770f, 0.000151f, -0.002060f, 0.020891f, 0.096412f, 0.004514f, 0.038679f, -0.032684f, -0.024415f, 0.012252f, 0.015158f, 0.018797f, 0.007727f, 0.003089f, -0.047387f, -0.018741f, -0.049688f, 0.002716f, -0.008536f, -0.016407f, -0.013897f, -0.005519f, -0.020965f, 0.002639f, -0.002178f, -0.022035f, 0.015757f, -0.025664f, -0.012473f, -0.023171f, -0.015851f, -0.001518f, 0.002547f, -0.018533f, -0.021519f, 0.005181f, 0.013673f, 0.015980f, -0.003255f, -0.006107f, -0.027684f, -0.036178f, 0.003614f, 0.004436f, -0.016498f, 0.032941f, 0.031865f, 0.047168f, 0.016538f, -0.010365f, 0.006441f, 0.014580f, 0.017848f, 0.021442f, 0.003160f, -0.022333f, 0.005635f, 0.028665f, 0.014672f, 0.001496f, 0.011463f, -0.053035f, 0.058165f, -0.000864f, 0.051481f, 0.001295f, 0.003504f, -0.046703f, -0.014357f, -0.020995f, 0.035714f, 0.009120f, 0.015833f, 0.009477f, -0.035880f, 0.003596f, 0.002882f, -0.031466f, -0.045109f, -0.046045f, 0.015615f, -0.017083f, 0.041992f, 0.002473f, -0.013323f, -0.010840f, 0.009053f, -0.016195f, 0.002704f, 0.012378f, -0.017677f, + 0.009994f, 0.014142f, 0.004900f, 0.004029f, 0.031840f, 0.053382f, -0.010380f, -0.000452f, 0.026917f, 0.021937f, 0.032227f, -0.023883f, -0.009254f, 0.009637f, -0.031859f, 0.003065f, 0.002880f, -0.042499f, 0.054813f, -0.002752f, 0.027724f, 0.023756f, 0.016839f, -0.032371f, 0.003188f, 0.027496f, -0.022312f, 0.049002f, 0.013633f, -0.018065f, 0.040759f, 0.030495f, 0.021521f, -0.068494f, -0.013759f, 0.013470f, -0.023168f, 0.003527f, -0.037944f, -0.009709f, -0.057592f, -0.016707f, -0.008636f, -0.016145f, -0.063828f, -0.006625f, -0.017268f, 0.096024f, -0.013631f, 0.019382f, -0.009652f, 0.015171f, -0.007836f, -0.015943f, 0.010652f, -0.013416f, -0.001771f, -0.007339f, 0.026124f, 0.009025f, 0.011648f, -0.041830f, -0.036881f, -0.028050f, -0.011261f, 0.007072f, -0.051940f, -0.008707f, -0.003885f, 0.003612f, 0.019459f, 0.014169f, -0.001222f, 0.019955f, -0.017939f, 0.000091f, 0.001466f, -0.030427f, -0.041183f, 0.007856f, -0.011770f, -0.038912f, -0.010176f, -0.018525f, 0.003043f, -0.041601f, -0.004279f, -0.018386f, 0.024776f, 0.000005f, -0.017146f, -0.006823f, 0.008046f, 0.009204f, -0.003466f, 0.018172f, + -0.018333f, -0.012145f, 0.024614f, 0.022533f, 0.040811f, -0.013944f, -0.002999f, -0.005787f, 0.010933f, 0.029041f, 0.025400f, 0.018685f, -0.015139f, 0.011337f, 0.031944f, 0.030790f, 0.013064f, -0.039193f, -0.045299f, 0.018833f, -0.006978f, 0.013371f, -0.009034f, 0.036802f, -0.028982f, -0.006714f, -0.010550f, 0.031981f, -0.025550f, 0.056744f, 0.070033f, 0.071378f, 0.003624f, -0.014309f, 0.010913f, -0.010297f, 0.016868f, -0.003990f, -0.001214f, -0.022091f, -0.058824f, -0.020239f, -0.056366f, 0.030935f, 0.029181f, -0.035162f, -0.026424f, -0.035252f, -0.016835f, -0.005889f, 0.074967f, -0.000046f, -0.039429f, -0.042464f, -0.003283f, 0.052024f, 0.024539f, -0.107126f, -0.022431f, -0.019727f, 0.013203f, 0.038949f, -0.046871f, -0.015570f, -0.028215f, 0.011095f, -0.063675f, 0.030326f, -0.011242f, -0.002396f, 0.016722f, 0.001618f, -0.031555f, 0.061134f, -0.006958f, 0.028572f, 0.065771f, 0.135328f, 0.081024f, -0.002979f, 0.045205f, 0.068530f, 0.088695f, 0.095919f, 0.027020f, 0.058369f, 0.016279f, -0.000230f, 0.035747f, -0.029680f, 0.059099f, 0.024629f, -0.026681f, -0.090152f, -0.065538f, 0.007449f, + -0.026025f, -0.019298f, -0.017119f, -0.010898f, -0.011601f, -0.037743f, -0.024682f, 0.000343f, -0.006313f, -0.003041f, -0.012182f, -0.004286f, -0.019748f, 0.022728f, -0.040237f, -0.017255f, 0.010893f, 0.006264f, 0.002993f, -0.011277f, -0.012968f, -0.008047f, 0.007429f, -0.007368f, 0.019881f, -0.025058f, -0.030669f, -0.031236f, -0.019144f, 0.021924f, 0.025246f, -0.010723f, -0.005016f, 0.008321f, -0.005437f, 0.041682f, 0.008768f, 0.002687f, 0.033754f, 0.020387f, 0.019106f, 0.047460f, 0.031434f, 0.035432f, 0.010924f, 0.016502f, 0.039622f, 0.014360f, 0.030672f, -0.029720f, 0.016102f, -0.014001f, -0.030893f, 0.034621f, -0.044637f, 0.073519f, -0.009169f, -0.014074f, 0.000944f, 0.058430f, -0.039778f, -0.007468f, -0.002124f, 0.000272f, 0.020989f, -0.015791f, 0.030454f, 0.010162f, -0.006183f, 0.006605f, 0.003169f, 0.023663f, -0.074523f, -0.023964f, -0.002625f, 0.007259f, -0.007684f, -0.054645f, 0.044010f, -0.003073f, 0.005731f, 0.015434f, -0.035589f, -0.016714f, -0.082138f, 0.021021f, -0.019488f, 0.015010f, 0.059431f, -0.017077f, 0.012222f, -0.008402f, 0.028186f, -0.049572f, -0.065657f, 0.056529f, + -0.005669f, 0.004180f, 0.009413f, 0.056839f, 0.041692f, 0.049219f, -0.001138f, -0.067693f, 0.039433f, 0.017850f, -0.016075f, -0.024478f, 0.037697f, -0.007765f, 0.047740f, 0.078556f, 0.061473f, 0.009669f, 0.005149f, 0.057710f, -0.011780f, 0.017119f, 0.047976f, -0.033696f, 0.055516f, 0.033215f, 0.019672f, -0.040297f, -0.019644f, -0.053482f, -0.001703f, 0.017106f, 0.078093f, 0.032020f, -0.072807f, -0.007666f, 0.046863f, -0.007866f, 0.022760f, 0.030496f, -0.051636f, -0.013746f, 0.025078f, 0.005045f, 0.013995f, -0.023547f, 0.016666f, 0.027308f, 0.003644f, -0.000660f, 0.041493f, 0.006833f, -0.008965f, -0.011889f, 0.013783f, -0.004793f, 0.022326f, 0.002374f, 0.016916f, 0.018038f, -0.002869f, -0.021099f, 0.040934f, -0.007078f, -0.012469f, -0.003859f, -0.027665f, -0.029155f, -0.018224f, -0.020597f, 0.013405f, 0.022918f, -0.024190f, -0.022151f, 0.005005f, 0.035039f, -0.052338f, -0.014093f, 0.020472f, -0.007605f, 0.000343f, -0.008550f, -0.005444f, -0.039164f, -0.000273f, -0.011502f, 0.010736f, 0.001446f, 0.006586f, -0.001052f, 0.003603f, -0.009411f, 0.016384f, 0.007721f, -0.004323f, -0.009224f, + 0.006949f, 0.000812f, -0.002926f, -0.102741f, 0.023543f, -0.017005f, -0.004027f, 0.080231f, 0.034495f, -0.025157f, -0.019473f, -0.000305f, -0.051889f, -0.063582f, 0.005387f, 0.000550f, -0.035764f, 0.037960f, 0.004615f, -0.036702f, 0.023208f, 0.069006f, -0.009231f, -0.039771f, 0.024988f, -0.023426f, -0.025502f, 0.012868f, 0.056072f, -0.018264f, 0.008229f, 0.015354f, -0.017266f, -0.041748f, -0.027358f, 0.055331f, 0.019499f, -0.054595f, 0.046707f, 0.018285f, -0.037374f, -0.019576f, 0.076903f, -0.025036f, -0.058974f, -0.030349f, 0.102207f, -0.100910f, -0.046729f, 0.059820f, -0.027065f, -0.032480f, -0.096098f, 0.074945f, -0.061523f, 0.021992f, 0.003222f, -0.011591f, -0.108523f, -0.032135f, 0.092936f, 0.058535f, -0.073412f, -0.020166f, -0.031776f, -0.015105f, 0.015086f, 0.020120f, 0.024218f, -0.128300f, 0.070175f, 0.053719f, 0.056477f, 0.000810f, 0.029581f, -0.062818f, -0.055751f, 0.109683f, 0.045069f, 0.012085f, 0.044232f, -0.059155f, 0.011932f, -0.026219f, 0.028275f, -0.016039f, 0.077056f, -0.031484f, -0.026730f, 0.010594f, 0.009344f, -0.029227f, 0.017589f, 0.008371f, 0.006609f, -0.005594f, + 0.003955f, 0.006094f, 0.006325f, -0.007323f, -0.004112f, 0.016019f, 0.000986f, -0.008672f, 0.033759f, 0.009811f, -0.029901f, 0.003174f, 0.028968f, 0.007405f, -0.028437f, 0.038092f, 0.068705f, -0.033887f, -0.039294f, -0.010827f, -0.008814f, 0.023132f, 0.050354f, 0.015072f, -0.046480f, -0.015677f, -0.006707f, 0.006754f, 0.014218f, -0.008022f, 0.020637f, -0.015057f, -0.001716f, 0.011827f, -0.019864f, -0.084890f, 0.014546f, 0.105676f, 0.032932f, 0.011211f, 0.002749f, 0.007800f, 0.045235f, 0.061977f, -0.014360f, 0.011451f, 0.015920f, -0.010857f, 0.037327f, -0.019921f, -0.005457f, -0.015118f, 0.028642f, 0.021213f, -0.011913f, 0.019488f, -0.028381f, -0.023178f, 0.028601f, -0.018662f, 0.031445f, -0.021243f, -0.009507f, -0.000799f, 0.017120f, -0.001264f, 0.012700f, 0.005019f, 0.032029f, -0.023214f, -0.004758f, 0.000376f, -0.012957f, 0.030882f, 0.026804f, -0.022464f, -0.008056f, -0.013881f, 0.006992f, -0.028927f, 0.015350f, 0.008667f, 0.014079f, -0.011679f, -0.008863f, 0.035175f, -0.042657f, -0.007553f, 0.017789f, -0.011735f, -0.007878f, 0.018302f, -0.052388f, 0.012410f, -0.019055f, 0.002921f, + -0.018661f, 0.044973f, -0.014851f, -0.019718f, 0.018407f, -0.010465f, -0.029755f, 0.057252f, -0.001729f, 0.005683f, -0.012981f, -0.022329f, -0.026214f, 0.028786f, -0.032702f, -0.015901f, 0.033003f, -0.045432f, -0.019839f, 0.005639f, -0.004377f, 0.005358f, -0.000844f, 0.006263f, 0.020012f, -0.007430f, 0.007766f, -0.009413f, 0.021010f, 0.011396f, -0.001024f, 0.001610f, 0.012754f, -0.011493f, 0.009238f, 0.001348f, 0.010175f, -0.004829f, 0.015883f, -0.008327f, 0.004189f, -0.014095f, -0.012133f, -0.019190f, 0.003440f, 0.000953f, 0.006259f, -0.009482f, 0.021176f, -0.007184f, -0.003759f, 0.018098f, 0.015996f, 0.008477f, -0.007580f, -0.012397f, 0.010892f, 0.014415f, 0.009036f, 0.006150f, -0.000283f, 0.013025f, 0.014187f, 0.006181f, 0.012041f, 0.001471f, -0.009484f, -0.000560f, 0.027806f, -0.078766f, -0.222881f, -0.183096f, 0.097003f, 0.027909f, 0.221817f, 0.396187f, 0.058970f, 0.124989f, 0.045574f, -0.315787f, -0.099749f, -0.214194f, -0.258827f, 0.007385f, 0.041511f, -0.107928f, 0.156700f, 0.204987f, 0.115160f, 0.326866f, 0.188615f, -0.041956f, -0.077401f, -0.151555f, -0.294972f, -0.232998f, + -0.068531f, -0.207767f, -0.028793f, 0.179395f, 0.030120f, 0.041805f, 0.271284f, 0.138361f, 0.085733f, 0.282713f, 0.043734f, -0.077985f, 0.110693f, -0.147995f, -0.293031f, -0.122669f, -0.247196f, -0.309583f, -0.004330f, -0.064631f, -0.081297f, 0.206225f, 0.227448f, 0.144625f, 0.343071f, 0.276658f, 0.130714f, 0.118034f, 0.068547f, -0.229108f, -0.210548f, -0.266904f, -0.352188f, -0.282568f, -0.119014f, -0.081923f, 0.007449f, 0.202574f, 0.246576f, 0.257858f, 0.247433f, 0.229054f, 0.049088f, 0.004218f, -0.038686f, -0.174673f, -0.191117f, -0.110626f, -0.200408f, -0.084475f, 0.017728f, -0.043834f, 0.100905f, 0.181115f, 0.055623f, 0.076477f, 0.034271f, -0.049534f, -0.030634f, -0.075793f, -0.098298f, -0.011922f, 0.027937f, 0.000685f, 0.081492f, 0.074912f, 0.008745f, 0.072103f, 0.000250f, -0.091495f, 0.080882f, 0.024171f, -0.081046f, 0.057000f, -0.059974f, -0.122271f, 0.056013f, -0.087067f, -0.215049f, 0.003226f, -0.094546f, -0.062868f, 0.213583f, 0.096355f, 0.101666f, 0.305073f, 0.202613f, 0.112099f, 0.133470f, -0.033472f, -0.192769f, -0.245569f, -0.332876f, -0.368773f, -0.233630f, -0.149725f, + -0.025589f, 0.139843f, 0.312398f, 0.344267f, 0.319715f, 0.332304f, 0.178061f, 0.007648f, -0.084785f, -0.219722f, -0.280258f, -0.182138f, -0.202495f, -0.162070f, -0.032505f, 0.005109f, 0.021393f, 0.078365f, 0.067351f, 0.057841f, 0.104741f, 0.103386f, 0.088057f, 0.102795f, 0.071908f, 0.022892f, -0.008239f, -0.046474f, -0.102257f, -0.113680f, -0.095060f, -0.101783f, -0.074604f, -0.040918f, -0.005836f, 0.030108f, 0.076044f, 0.082254f, 0.076179f, 0.069149f, 0.048776f, 0.017886f, 0.001523f, -0.006888f, -0.029151f, -0.030213f, -0.018243f, -0.022897f, -0.026586f, -0.018826f, -0.029239f, -0.026496f, 0.000461f, 0.002563f, 0.000206f, 0.009942f, 0.004742f, 0.005512f, 0.022852f, 0.023169f, 0.025318f, 0.029101f, 0.015654f, 0.004398f, 0.000986f, -0.008758f, -0.018285f, -0.023681f, -0.026647f, -0.027485f, -0.019415f, -0.008994f, -0.000583f, 0.007448f, 0.015774f, 0.016516f, 0.017612f, 0.017277f, 0.009381f, 0.000331f, -0.001767f, -0.007226f, -0.008463f, -0.006208f, -0.001942f, 0.001610f, 0.004828f, 0.005114f, 0.003933f, 0.000857f, -0.004074f, -0.007610f, -0.008363f, -0.009062f, -0.008766f, -0.006687f, + -0.002614f, 0.003339f, 0.007396f, 0.008558f, 0.010246f, 0.010955f, 0.008545f, 0.005875f, 0.002737f, -0.001285f, -0.003912f, -0.005533f, -0.006673f, -0.006140f, -0.004502f, -0.003017f, -0.001164f, 0.000721f, 0.001849f, 0.002426f}, + {-0.019615f, -0.023891f, 0.012167f, -0.004311f, 0.010651f, -0.005174f, -0.005291f, -0.010646f, 0.002607f, 0.002350f, -0.000400f, 0.000250f, -0.001122f, -0.008126f, -0.000873f, -0.004615f, -0.005314f, -0.005037f, -0.000116f, 0.000691f, -0.000329f, -0.000849f, 0.004148f, -0.001056f, -0.012328f, 0.007794f, 0.003918f, -0.004155f, 0.001320f, -0.000048f, 0.000213f, 0.001815f, 0.008058f, -0.004374f, 0.000552f, -0.013992f, 0.007089f, 0.001454f, 0.003245f, 0.004931f, 0.007978f, -0.004347f, -0.003278f, -0.001529f, -0.006992f, 0.000635f, -0.000984f, 0.006180f, -0.003207f, -0.000352f, -0.003342f, -0.003855f, 0.007525f, -0.005545f, -0.002632f, 0.000764f, -0.005011f, 0.004317f, -0.000108f, -0.002328f, 0.004686f, 0.008509f, 0.000612f, -0.000265f, -0.001103f, 0.007282f, -0.007093f, 0.000125f, -0.001038f, 0.003839f, -0.001683f, -0.003228f, 0.007938f, -0.000080f, 0.001742f, -0.002123f, 0.001715f, 0.004281f, -0.003300f, -0.004678f, 0.000326f, 0.004181f, 0.007012f, -0.003063f, -0.002026f, 0.001760f, 0.000462f, 0.001113f, -0.003090f, -0.000971f, 0.001983f, -0.000375f, 0.001420f, -0.002460f, -0.000693f, -0.001499f, + -0.002078f, -0.001519f, -0.001368f, 0.001151f, 0.000285f, -0.001050f, 0.001196f, 0.000808f, -0.000903f, -0.000262f, -0.000154f, -0.001316f, -0.002355f, -0.000643f, 0.000093f, 0.000549f, 0.001419f, -0.000140f, 0.000951f, 0.000539f, -0.001060f, 0.001017f, -0.028553f, 0.004886f, 0.003403f, 0.010046f, -0.003902f, 0.003065f, 0.011671f, -0.004481f, 0.003207f, -0.007036f, -0.010348f, 0.003826f, -0.007038f, -0.008025f, -0.008064f, 0.002467f, 0.003103f, -0.013758f, 0.008126f, 0.005409f, -0.002329f, -0.005015f, 0.003243f, -0.001219f, -0.003125f, 0.001035f, 0.004587f, 0.003419f, 0.007316f, 0.001448f, -0.002210f, 0.007556f, -0.003769f, 0.016436f, 0.003704f, 0.010143f, 0.003905f, 0.008905f, 0.003957f, 0.006152f, 0.003316f, 0.000775f, 0.000349f, 0.012453f, 0.002113f, -0.001944f, 0.000829f, 0.006600f, 0.004859f, 0.000763f, -0.000549f, -0.002500f, 0.001388f, 0.015188f, 0.004346f, 0.007049f, -0.007310f, -0.003710f, -0.007710f, -0.004822f, -0.007485f, 0.005680f, 0.003554f, -0.004728f, -0.003407f, 0.003429f, -0.003567f, 0.003821f, -0.001679f, -0.001075f, -0.005179f, -0.008672f, 0.003759f, -0.014122f, + -0.002005f, -0.002967f, -0.003591f, 0.000833f, -0.003313f, 0.000728f, 0.005340f, 0.002651f, -0.003642f, 0.000726f, -0.002890f, -0.006111f, -0.001004f, 0.003030f, -0.000308f, -0.004701f, 0.001730f, 0.000944f, 0.001806f, 0.003337f, 0.000122f, 0.000530f, -0.002250f, -0.001286f, -0.000337f, 0.000036f, 0.001169f, -0.002506f, -0.002214f, 0.000241f, 0.015928f, 0.022006f, -0.006950f, 0.005801f, -0.011170f, -0.000742f, 0.000499f, 0.028162f, -0.003055f, -0.007639f, -0.012364f, 0.000130f, 0.007968f, 0.012871f, -0.003095f, -0.017249f, -0.005076f, -0.006672f, -0.004827f, 0.005657f, -0.001412f, 0.010724f, 0.001055f, -0.006305f, -0.013985f, 0.003996f, -0.001454f, 0.003061f, -0.001826f, 0.001410f, 0.006618f, 0.002334f, -0.017555f, 0.001943f, 0.011034f, 0.005354f, 0.001218f, 0.002528f, -0.002954f, 0.007604f, -0.010445f, -0.001155f, 0.008327f, -0.006005f, -0.000158f, 0.013635f, -0.006528f, -0.000803f, -0.004832f, 0.008330f, -0.009080f, -0.006772f, 0.003968f, -0.009403f, -0.004721f, 0.011885f, 0.006917f, -0.010910f, -0.004128f, -0.001769f, -0.002831f, -0.005057f, 0.003704f, -0.004363f, 0.004272f, -0.000286f, + 0.000499f, 0.001787f, 0.008925f, -0.001188f, 0.012365f, 0.006320f, -0.009780f, -0.004587f, -0.004856f, 0.007369f, 0.002081f, -0.000662f, -0.004026f, 0.009920f, 0.003720f, -0.000343f, -0.000379f, -0.002674f, -0.002474f, 0.002835f, 0.000999f, 0.003161f, 0.007699f, 0.002700f, -0.000586f, 0.000359f, 0.000473f, 0.002394f, -0.000684f, 0.000815f, 0.003596f, 0.000661f, 0.004489f, -0.000001f, 0.001485f, 0.002224f, 0.002689f, 0.000867f, 0.001644f, 0.001912f, 0.001541f, 0.002517f, -0.000980f, 0.000667f, 0.001671f, 0.002580f, -0.000397f, -0.002239f, -0.002612f, 0.000446f, 0.052911f, -0.019509f, 0.010762f, -0.014894f, -0.001516f, 0.000553f, -0.001050f, -0.007885f, 0.004370f, 0.006109f, 0.001520f, -0.005731f, -0.012209f, -0.000438f, 0.007529f, 0.005338f, -0.005342f, -0.009206f, -0.000697f, 0.008276f, 0.015132f, -0.008124f, -0.001046f, -0.006131f, -0.013154f, 0.001489f, -0.006592f, 0.004018f, -0.004866f, 0.010280f, -0.017977f, 0.012181f, -0.000746f, -0.010728f, 0.002669f, 0.004524f, -0.001216f, -0.005681f, 0.000408f, 0.014105f, -0.000475f, 0.002323f, -0.001936f, 0.005398f, 0.002547f, -0.003332f, + -0.005237f, -0.011598f, 0.007579f, -0.002432f, -0.003351f, 0.004453f, 0.000141f, -0.019497f, 0.015040f, -0.020986f, -0.012043f, -0.014867f, 0.003267f, -0.001754f, 0.008971f, -0.004879f, 0.004803f, -0.008959f, 0.004369f, -0.002356f, -0.003590f, -0.009885f, 0.006112f, 0.006928f, 0.011946f, -0.002908f, -0.001067f, 0.003198f, -0.003539f, -0.002154f, 0.002358f, 0.006843f, -0.009016f, 0.004469f, 0.006601f, 0.007229f, -0.011442f, -0.009439f, 0.004021f, -0.005913f, 0.003079f, -0.000130f, -0.000614f, 0.000980f, 0.001526f, -0.000524f, 0.002797f, -0.003390f, 0.001711f, -0.001079f, 0.006814f, 0.000362f, 0.001731f, 0.001476f, 0.000513f, -0.002694f, -0.000147f, 0.000616f, -0.000727f, -0.041714f, 0.004256f, 0.000444f, -0.003540f, -0.006432f, 0.007302f, -0.005656f, 0.004860f, -0.001495f, -0.000069f, 0.006748f, 0.008784f, -0.005396f, 0.006471f, -0.001881f, -0.003562f, -0.011697f, -0.000569f, -0.015806f, -0.011604f, 0.013925f, 0.004972f, -0.005382f, -0.001964f, -0.001624f, 0.009666f, 0.005107f, -0.004961f, 0.008817f, 0.005867f, 0.003465f, 0.003055f, 0.003761f, 0.006716f, 0.005787f, 0.005707f, 0.015576f, + 0.014014f, 0.006066f, 0.001562f, -0.009654f, 0.010778f, -0.014351f, 0.002852f, -0.003983f, 0.011675f, -0.008770f, -0.011425f, 0.019682f, -0.004566f, -0.010508f, -0.009380f, 0.014657f, 0.008997f, 0.000565f, 0.007537f, 0.010649f, 0.004887f, 0.017205f, -0.001010f, -0.002681f, 0.009761f, 0.005990f, 0.000587f, 0.000418f, -0.008922f, 0.005392f, 0.005588f, 0.013899f, 0.005658f, 0.008668f, -0.005314f, -0.007090f, -0.015122f, -0.003443f, -0.008173f, -0.006475f, -0.006880f, 0.007683f, -0.000257f, 0.000626f, -0.004419f, -0.005091f, -0.001410f, -0.004474f, 0.001414f, -0.003002f, -0.005003f, 0.002096f, -0.000479f, 0.000226f, -0.004681f, -0.000646f, 0.000210f, -0.005874f, -0.000795f, -0.001369f, 0.000411f, -0.002617f, -0.003055f, -0.001864f, -0.001122f, 0.000147f, -0.000969f, 0.000978f, -0.001365f, 0.001695f, 0.000417f, 0.001504f, 0.003265f, -0.000702f, 0.003448f, 0.000747f, 0.002273f, -0.001526f, 0.000724f, -0.002916f, -0.001079f, -0.000452f, -0.003543f, -0.001056f, -0.001728f, -0.055382f, 0.015137f, -0.011652f, -0.017333f, -0.017136f, 0.010985f, -0.012663f, 0.009729f, -0.015963f, 0.009127f, 0.007827f, + 0.004895f, -0.016816f, 0.011885f, 0.000010f, 0.007280f, -0.013895f, 0.008076f, 0.016912f, 0.012977f, 0.000679f, -0.005765f, 0.002565f, -0.003392f, -0.017782f, -0.003432f, -0.008433f, 0.004333f, -0.011104f, 0.009937f, 0.009753f, -0.003554f, -0.000202f, 0.013592f, -0.002717f, 0.009290f, -0.007087f, -0.011449f, 0.006294f, 0.000010f, 0.006505f, 0.016670f, 0.010233f, -0.000402f, -0.028477f, -0.013545f, -0.003768f, 0.004195f, -0.004198f, 0.016015f, -0.024712f, 0.008103f, 0.003600f, -0.000040f, 0.008032f, -0.003018f, 0.012324f, -0.025922f, -0.011982f, 0.010337f, -0.026049f, -0.004658f, 0.012473f, 0.004601f, -0.005587f, -0.017308f, 0.006721f, 0.011516f, 0.008511f, -0.002918f, -0.018166f, -0.001375f, 0.000354f, -0.001876f, -0.000767f, -0.008791f, 0.004294f, -0.014189f, 0.009069f, 0.001455f, -0.008328f, 0.001898f, -0.010061f, 0.000989f, -0.012076f, -0.003233f, 0.004523f, 0.004739f, 0.000615f, -0.000976f, -0.004022f, -0.002989f, 0.001073f, -0.007017f, 0.006030f, 0.000652f, -0.003281f, 0.000228f, -0.006021f, -0.004713f, 0.001604f, -0.002361f, 0.003594f, -0.003080f, -0.001619f, -0.001949f, -0.002151f, + -0.004016f, -0.000499f, -0.002152f, -0.000724f, 0.001381f, -0.000771f, -0.001701f, 0.001763f, -0.000566f, -0.001416f, -0.001467f, -0.003526f, -0.002422f, 0.000711f, 0.002175f, -0.000355f, -0.026151f, 0.002817f, 0.004350f, 0.020478f, -0.019354f, 0.022363f, 0.006328f, -0.001804f, -0.005268f, -0.002411f, 0.002059f, -0.016351f, -0.003149f, 0.005244f, -0.005392f, -0.009594f, -0.002614f, 0.015474f, -0.016002f, -0.003471f, 0.015985f, 0.000079f, -0.006372f, 0.005654f, -0.007813f, 0.011790f, 0.005151f, -0.000141f, 0.005863f, -0.006828f, -0.010796f, -0.000759f, 0.000791f, 0.008826f, -0.018911f, -0.010168f, -0.008366f, -0.005820f, -0.005629f, -0.005709f, 0.002796f, 0.000939f, 0.001533f, -0.014074f, -0.014506f, -0.011473f, 0.000379f, -0.018083f, -0.010036f, 0.010853f, -0.007371f, 0.002409f, 0.001113f, -0.000327f, 0.004481f, 0.006444f, 0.006082f, 0.007293f, 0.010634f, -0.001874f, 0.011507f, -0.000726f, 0.005796f, -0.000952f, -0.007465f, -0.000426f, -0.012012f, 0.007407f, -0.014052f, 0.013088f, -0.015676f, -0.000225f, -0.016169f, 0.001543f, -0.016248f, -0.015563f, 0.007318f, 0.021462f, 0.006418f, -0.013818f, + 0.009810f, 0.000014f, -0.006172f, -0.003636f, -0.006466f, 0.008546f, 0.007292f, 0.010507f, 0.001828f, 0.008196f, -0.006973f, -0.000727f, 0.007952f, 0.000960f, 0.002411f, 0.001598f, -0.003965f, 0.004822f, -0.000503f, 0.001807f, 0.007036f, 0.002101f, -0.001840f, -0.004228f, -0.002024f, 0.002949f, 0.002829f, 0.002335f, 0.000748f, -0.003291f, 0.000181f, -0.000687f, -0.007520f, 0.007247f, 0.000758f, 0.002661f, 0.000261f, -0.001752f, -0.003604f, 0.002560f, -0.003674f, -0.001704f, 0.072327f, 0.000499f, -0.021341f, 0.002933f, -0.011761f, 0.028616f, -0.005126f, 0.007789f, 0.001737f, 0.001039f, -0.025858f, -0.013419f, 0.013738f, 0.012052f, -0.020461f, -0.003887f, -0.001002f, 0.017504f, 0.008390f, 0.006440f, 0.017119f, 0.002399f, 0.000751f, 0.014849f, -0.005717f, -0.023509f, 0.003023f, 0.017353f, 0.010078f, -0.007057f, -0.000053f, 0.011996f, 0.007121f, 0.003026f, -0.001070f, -0.013341f, 0.005910f, -0.014479f, 0.000992f, -0.026951f, 0.006559f, 0.007847f, -0.002572f, -0.012588f, 0.016470f, 0.008538f, -0.003923f, 0.012793f, 0.005633f, -0.011417f, 0.019852f, 0.001846f, -0.007617f, 0.004369f, + 0.020363f, 0.002900f, -0.000968f, -0.017685f, -0.010553f, 0.002098f, 0.006614f, 0.023365f, -0.008251f, -0.009725f, 0.001616f, 0.012605f, -0.008798f, -0.010604f, -0.001368f, 0.016897f, 0.011887f, -0.004620f, -0.013671f, -0.001018f, 0.014596f, -0.006312f, 0.030795f, 0.006487f, 0.004217f, -0.016314f, 0.013120f, 0.000503f, -0.003912f, -0.008444f, 0.000342f, -0.004855f, 0.000376f, 0.019012f, 0.008349f, 0.006730f, 0.003226f, 0.001929f, -0.000146f, -0.001560f, 0.001321f, 0.003586f, 0.006501f, 0.000779f, 0.000782f, 0.002266f, -0.005769f, -0.000181f, 0.001815f, -0.001486f, 0.005587f, -0.004595f, -0.000607f, -0.002399f, 0.001900f, 0.009975f, 0.003020f, -0.003495f, -0.001260f, 0.002160f, 0.000374f, 0.003143f, -0.001164f, -0.004709f, 0.003590f, 0.003389f, -0.003974f, -0.001218f, 0.008542f, 0.002816f, 0.004139f, 0.016500f, 0.008810f, -0.025746f, -0.002590f, -0.012969f, 0.026060f, -0.009648f, 0.012186f, 0.002419f, 0.016341f, 0.006521f, 0.002481f, -0.001230f, 0.006674f, -0.007320f, -0.010974f, -0.030461f, -0.022566f, 0.007593f, 0.020185f, 0.027133f, -0.009891f, -0.013079f, -0.011565f, 0.006150f, + -0.006321f, -0.001254f, -0.001052f, 0.003766f, 0.004152f, 0.018169f, -0.009576f, 0.001828f, 0.004476f, 0.008947f, -0.008695f, -0.006337f, -0.014370f, -0.009614f, -0.010015f, -0.016991f, -0.043469f, -0.000357f, -0.005811f, -0.018537f, 0.004207f, -0.001953f, -0.023578f, 0.008083f, -0.019996f, 0.005293f, -0.002428f, -0.001472f, 0.010146f, 0.013317f, -0.000383f, -0.019330f, 0.005735f, -0.012064f, -0.013523f, 0.018962f, 0.016944f, 0.019103f, -0.006190f, 0.003258f, 0.002489f, -0.009453f, 0.001472f, -0.004435f, 0.029595f, -0.004687f, -0.003083f, -0.002725f, -0.000249f, -0.017872f, -0.022436f, 0.005545f, -0.001681f, -0.001441f, 0.005013f, 0.032462f, -0.004033f, -0.014871f, -0.006426f, 0.017158f, -0.002525f, -0.005250f, -0.004932f, -0.000101f, -0.013796f, 0.003571f, -0.002707f, 0.002821f, -0.007009f, 0.000563f, -0.008802f, -0.000477f, -0.000635f, 0.003797f, -0.003746f, -0.001525f, -0.005421f, 0.007479f, 0.000366f, -0.005013f, 0.001083f, 0.002665f, -0.005758f, 0.001729f, 0.002128f, 0.009098f, -0.001939f, 0.002326f, 0.006130f, 0.004146f, -0.003339f, 0.004031f, -0.006824f, -0.010653f, 0.001211f, 0.001342f, + -0.004265f, -0.009904f, -0.002222f, -0.002215f, 0.008911f, 0.003657f, 0.005931f, -0.000737f, 0.007432f, 0.008454f, -0.028427f, 0.010528f, 0.003493f, 0.030065f, -0.020196f, -0.011434f, -0.006692f, 0.016061f, -0.015292f, -0.014700f, 0.013317f, 0.008964f, -0.015467f, -0.015610f, -0.015273f, -0.034221f, 0.022503f, 0.021116f, 0.022405f, -0.009620f, 0.007106f, 0.022220f, -0.032148f, 0.000060f, 0.021158f, 0.019601f, 0.008922f, -0.000035f, -0.010266f, 0.002168f, -0.004924f, -0.027827f, 0.003570f, 0.007643f, 0.004129f, 0.018480f, -0.016233f, 0.001767f, -0.030375f, -0.003848f, 0.006058f, -0.016701f, 0.006510f, 0.005145f, 0.013655f, 0.016643f, 0.023189f, -0.004724f, -0.009035f, -0.027925f, -0.019887f, 0.008625f, 0.041091f, -0.012728f, -0.001654f, -0.018910f, -0.009968f, -0.015003f, 0.008896f, 0.009095f, -0.003101f, 0.001347f, -0.029979f, -0.003960f, 0.020384f, -0.016227f, -0.014010f, 0.012061f, -0.005364f, 0.017646f, 0.004422f, -0.012967f, 0.002148f, -0.019591f, -0.005588f, -0.005176f, 0.037846f, -0.003786f, -0.011009f, 0.008272f, 0.007770f, -0.003326f, -0.006373f, -0.001938f, -0.005112f, -0.007034f, + -0.006487f, -0.005015f, 0.002710f, 0.002925f, 0.006148f, -0.001586f, -0.000040f, -0.003658f, 0.003747f, 0.000940f, -0.009643f, 0.002577f, -0.000033f, -0.001071f, 0.003560f, -0.000239f, -0.005242f, -0.005263f, -0.012478f, 0.004153f, -0.003891f, 0.003673f, 0.004839f, -0.005922f, 0.002745f, 0.001679f, -0.001204f, 0.004722f, 0.000071f, 0.013549f, 0.001957f, -0.002499f, 0.000375f, -0.003984f, -0.000660f, 0.002328f, 0.000435f, -0.001223f, 0.001155f, -0.005349f, 0.004297f, -0.017469f, 0.041130f, -0.019949f, -0.010163f, -0.000603f, -0.001134f, -0.028828f, 0.002090f, -0.021171f, 0.015680f, -0.039980f, -0.005635f, -0.012632f, 0.013948f, -0.013607f, -0.013685f, -0.033790f, 0.023149f, -0.013760f, 0.009651f, -0.010716f, 0.007089f, 0.018338f, -0.012919f, -0.022074f, -0.007254f, 0.015494f, 0.031912f, 0.010410f, 0.013505f, 0.001802f, -0.031647f, -0.016846f, -0.016943f, -0.008608f, 0.005831f, 0.029151f, 0.012719f, 0.017076f, 0.016052f, -0.004188f, -0.006475f, -0.009493f, -0.026398f, 0.001682f, -0.018340f, 0.029099f, -0.012931f, 0.020114f, 0.004532f, -0.010173f, 0.006942f, -0.006696f, -0.008761f, -0.015493f, + 0.023999f, 0.006441f, 0.040354f, 0.009001f, -0.042834f, -0.010527f, 0.014121f, 0.011445f, 0.006607f, -0.002214f, 0.004127f, 0.045352f, 0.022878f, -0.007409f, 0.005166f, -0.011933f, 0.033018f, -0.001035f, -0.000968f, 0.012947f, -0.028491f, -0.012220f, -0.009476f, -0.030602f, -0.036180f, 0.007456f, 0.013351f, -0.003202f, -0.017662f, -0.004497f, -0.005399f, -0.013918f, 0.000549f, -0.002676f, -0.010854f, 0.011330f, 0.017399f, -0.003543f, -0.002182f, -0.002374f, -0.006370f, 0.005096f, 0.001480f, -0.001746f, -0.003113f, -0.002774f, -0.001681f, 0.005820f, -0.002955f, -0.007845f, -0.001624f, -0.000199f, 0.002917f, 0.001793f, -0.004568f, 0.012248f, -0.003615f, 0.007512f, -0.001077f, 0.006302f, 0.003579f, -0.001769f, -0.007850f, -0.007698f, 0.003069f, -0.001966f, -0.012036f, -0.004383f, -0.002678f, 0.004735f, 0.001533f, -0.000756f, 0.003854f, 0.005860f, 0.002320f, -0.003227f, -0.004705f, -0.024941f, 0.014911f, 0.033325f, -0.003281f, -0.001458f, -0.000773f, 0.030968f, 0.009597f, 0.007408f, 0.005294f, 0.003640f, 0.005271f, -0.012234f, 0.002274f, -0.038419f, 0.005509f, -0.018532f, 0.016037f, 0.039228f, + -0.005104f, 0.002823f, -0.030980f, 0.041351f, 0.020073f, 0.017544f, -0.005157f, -0.022804f, 0.002738f, -0.007812f, 0.021001f, 0.015015f, -0.018818f, 0.000954f, 0.011081f, 0.007780f, -0.014565f, -0.012988f, 0.060642f, -0.014122f, -0.010570f, 0.012723f, -0.015438f, -0.011322f, 0.019286f, 0.018825f, 0.000750f, 0.007201f, 0.006871f, -0.023542f, -0.011672f, -0.001075f, 0.008002f, 0.020473f, 0.005085f, 0.004774f, -0.026506f, -0.002586f, 0.007830f, -0.036271f, 0.007942f, -0.010153f, -0.003646f, -0.006764f, 0.010653f, -0.010857f, -0.019634f, -0.021096f, -0.033226f, 0.004103f, -0.013459f, -0.006593f, 0.021302f, -0.007320f, 0.006922f, -0.037603f, -0.000055f, 0.034427f, 0.008094f, -0.017553f, -0.010360f, 0.020863f, 0.010774f, -0.023127f, 0.012934f, -0.016785f, -0.012820f, -0.005613f, -0.003198f, 0.007702f, -0.002201f, 0.001217f, -0.003532f, -0.004731f, 0.002810f, 0.004033f, -0.005820f, 0.004826f, 0.015284f, 0.002205f, -0.002047f, 0.006362f, 0.009676f, -0.004273f, 0.006599f, -0.004474f, -0.005877f, 0.001478f, 0.004407f, 0.012475f, 0.003392f, -0.001440f, 0.004663f, -0.002139f, 0.006594f, -0.003910f, + 0.006068f, -0.004803f, 0.002057f, 0.005059f, 0.001602f, -0.009005f, -0.004929f, 0.015833f, -0.006752f, -0.013121f, 0.006411f, 0.003096f, 0.004799f, -0.003667f, 0.020669f, 0.005722f, -0.004708f, -0.002686f, 0.005227f, -0.002322f, -0.019136f, -0.019215f, 0.045801f, -0.027359f, 0.007179f, -0.017478f, 0.053991f, 0.011495f, 0.010015f, -0.017219f, -0.020369f, 0.001994f, 0.015454f, -0.016516f, -0.026336f, -0.015652f, -0.038314f, -0.014922f, -0.022478f, -0.000018f, -0.051507f, 0.003632f, 0.027969f, 0.017215f, 0.022868f, -0.015913f, 0.005997f, 0.024799f, -0.002827f, 0.017986f, 0.006728f, 0.028020f, -0.014004f, 0.023370f, 0.018621f, 0.013293f, 0.030398f, -0.016986f, 0.018127f, -0.009278f, -0.010745f, -0.007155f, 0.006758f, -0.058844f, -0.018772f, -0.036575f, 0.042392f, -0.026681f, -0.030076f, -0.006444f, 0.023942f, 0.000668f, -0.010720f, 0.033304f, -0.011858f, -0.010564f, -0.024127f, -0.059531f, 0.002935f, 0.005525f, 0.024855f, -0.024970f, 0.000119f, -0.015231f, -0.020034f, 0.031819f, -0.006384f, 0.015929f, -0.034576f, -0.033726f, -0.020981f, 0.026511f, -0.002694f, -0.016840f, -0.017801f, -0.000746f, + -0.029325f, -0.020087f, 0.002889f, -0.012359f, -0.021866f, 0.032248f, -0.044296f, -0.042293f, 0.011075f, 0.000121f, 0.018686f, 0.002079f, -0.002015f, -0.013694f, -0.012012f, 0.001908f, -0.020942f, -0.008526f, 0.017872f, 0.002289f, 0.003072f, -0.010452f, 0.010581f, 0.003828f, -0.011444f, 0.005260f, -0.008486f, -0.001849f, -0.008706f, 0.007454f, -0.011587f, -0.003032f, 0.007876f, 0.015225f, 0.001702f, 0.000485f, -0.016746f, -0.005217f, -0.001171f, 0.002266f, -0.002501f, 0.014059f, -0.000633f, -0.005638f, 0.009063f, -0.010812f, -0.009794f, 0.005785f, 0.012951f, -0.003889f, -0.009291f, -0.012781f, 0.009942f, 0.007796f, 0.016050f, -0.021998f, -0.000018f, 0.029800f, 0.004034f, -0.008849f, 0.015450f, -0.023986f, 0.048133f, 0.030242f, -0.000144f, -0.021836f, -0.024680f, 0.010466f, -0.006107f, -0.002141f, -0.001162f, 0.043879f, -0.021342f, 0.000909f, -0.014799f, 0.016208f, -0.027042f, -0.024845f, -0.048915f, 0.011464f, -0.019781f, -0.027506f, -0.003199f, -0.046586f, -0.022756f, 0.013254f, 0.010126f, -0.006326f, 0.024478f, 0.002341f, 0.029636f, -0.012932f, -0.040399f, -0.006100f, -0.029543f, -0.005605f, + -0.008735f, -0.038858f, 0.005292f, 0.031769f, -0.089077f, 0.011367f, 0.000433f, 0.022201f, -0.004216f, -0.027737f, -0.052761f, 0.021174f, -0.006278f, 0.019790f, 0.012052f, -0.006408f, 0.031156f, -0.038414f, 0.054162f, -0.013481f, 0.030327f, 0.062959f, 0.025428f, 0.044808f, 0.017859f, 0.011787f, -0.005848f, 0.023418f, -0.008429f, -0.024434f, -0.032705f, -0.021259f, -0.000832f, 0.018592f, -0.002757f, -0.014372f, -0.020181f, -0.018288f, 0.025207f, -0.011073f, -0.008682f, 0.022364f, 0.004373f, 0.016848f, -0.001428f, -0.002417f, -0.006471f, 0.003979f, 0.008781f, -0.011405f, -0.001523f, -0.027935f, -0.019855f, 0.013759f, -0.006467f, -0.000690f, -0.003725f, -0.000513f, -0.010312f, -0.016717f, 0.012496f, -0.010057f, 0.016134f, -0.016082f, -0.007027f, -0.001775f, -0.010900f, -0.005664f, 0.008330f, 0.003307f, 0.019509f, -0.004793f, -0.011001f, 0.007223f, -0.022406f, 0.000389f, 0.003202f, -0.003538f, 0.001911f, -0.002533f, 0.011664f, 0.016192f, 0.003193f, -0.000569f, -0.007372f, -0.013527f, -0.006111f, 0.000789f, 0.026956f, 0.013289f, -0.012909f, 0.075165f, 0.061233f, 0.055161f, -0.012695f, 0.000027f, + -0.047030f, 0.034957f, 0.043410f, 0.014681f, 0.041933f, 0.016658f, 0.014195f, 0.014627f, -0.007515f, 0.005684f, 0.011542f, -0.010850f, -0.045299f, -0.027588f, -0.001755f, -0.030179f, -0.035090f, -0.082364f, 0.017988f, 0.014062f, 0.021358f, -0.015895f, -0.005696f, -0.011095f, 0.000509f, -0.025873f, -0.000806f, -0.019755f, 0.022696f, 0.018781f, -0.011809f, -0.016112f, -0.043421f, 0.072854f, -0.022867f, 0.014243f, -0.000091f, 0.004523f, 0.011597f, -0.030372f, 0.036359f, -0.018554f, 0.012393f, 0.007972f, -0.027267f, -0.028239f, -0.005245f, -0.002652f, 0.016868f, 0.076877f, -0.006487f, 0.011258f, 0.002512f, 0.023039f, 0.016505f, 0.017107f, -0.013656f, -0.004278f, 0.006631f, -0.037472f, 0.007541f, -0.032103f, -0.050939f, 0.017512f, 0.001590f, 0.003804f, -0.037296f, -0.089818f, 0.038718f, 0.040222f, 0.027865f, -0.051050f, 0.048353f, 0.051151f, 0.019001f, 0.014660f, 0.000443f, -0.015063f, -0.033846f, 0.025068f, -0.023850f, 0.001279f, 0.000414f, -0.013699f, 0.010217f, -0.024574f, -0.002542f, -0.005028f, 0.012024f, -0.007019f, -0.011193f, -0.015386f, 0.023146f, -0.012981f, -0.005515f, 0.005742f, + -0.020800f, 0.011269f, 0.009468f, -0.007502f, -0.007279f, 0.001715f, -0.019318f, 0.017563f, -0.006479f, -0.005145f, -0.001611f, 0.001194f, 0.013183f, -0.010708f, -0.024422f, 0.006941f, -0.013610f, -0.004561f, -0.013948f, -0.012719f, 0.001920f, -0.010360f, -0.004574f, -0.009684f, 0.031388f, -0.014281f, -0.025484f, 0.003642f, -0.009139f, -0.001012f, -0.043991f, -0.087954f, 0.073270f, 0.011913f, 0.013131f, -0.029195f, -0.020980f, -0.093581f, 0.026066f, 0.067196f, 0.020707f, -0.059208f, -0.029553f, 0.009805f, -0.022961f, -0.014507f, 0.027624f, -0.030742f, 0.017411f, 0.015567f, 0.012889f, -0.034241f, 0.012440f, 0.010817f, -0.016002f, -0.032034f, -0.018498f, -0.012229f, -0.008192f, -0.030550f, -0.026354f, -0.014405f, -0.031536f, 0.025147f, -0.011689f, -0.040711f, -0.013984f, 0.025247f, -0.005055f, -0.028179f, -0.015475f, -0.014299f, 0.000028f, -0.022302f, -0.013428f, -0.037066f, -0.035255f, 0.015234f, -0.012466f, 0.046621f, 0.030650f, 0.003154f, 0.027839f, -0.040444f, 0.026372f, -0.038383f, 0.032507f, -0.005387f, 0.016679f, -0.017030f, 0.057669f, -0.014192f, 0.032339f, -0.008088f, 0.047448f, 0.019229f, + 0.011616f, -0.048712f, 0.053101f, 0.042591f, 0.018565f, 0.019874f, -0.038037f, -0.007121f, 0.015681f, 0.026202f, -0.006682f, 0.006442f, -0.042037f, 0.027170f, 0.046252f, -0.000865f, -0.033008f, -0.001779f, -0.021812f, -0.018576f, 0.009096f, 0.000039f, -0.009089f, 0.010819f, -0.024096f, -0.005534f, 0.000963f, 0.007012f, -0.016614f, -0.022708f, 0.008813f, -0.010994f, -0.021551f, -0.038557f, -0.002833f, 0.012138f, -0.003220f, -0.019357f, -0.023494f, -0.007091f, 0.014942f, -0.016039f, 0.006188f, 0.008776f, 0.002421f, 0.006479f, -0.002020f, -0.010287f, -0.008808f, -0.002813f, 0.010756f, 0.003723f, -0.004235f, -0.014424f, 0.019841f, -0.012765f, -0.011305f, -0.009298f, 0.003927f, 0.023225f, -0.015731f, 0.022867f, 0.019145f, -0.007595f, 0.006913f, 0.012204f, -0.062660f, 0.050735f, -0.007528f, 0.023600f, -0.035176f, -0.012335f, -0.009781f, -0.009228f, -0.009249f, 0.029075f, -0.000462f, -0.026693f, 0.019050f, 0.002156f, 0.013379f, 0.024445f, 0.024695f, 0.000018f, -0.023812f, 0.090916f, -0.026624f, 0.069611f, -0.000747f, 0.002914f, -0.041456f, -0.018898f, 0.005406f, 0.033034f, 0.015743f, -0.012477f, + 0.026897f, 0.004444f, -0.040046f, 0.005208f, 0.004480f, 0.038684f, -0.002666f, 0.022655f, -0.030639f, -0.001246f, 0.025867f, 0.012203f, 0.021461f, 0.058773f, 0.046923f, -0.008733f, 0.023790f, -0.004981f, 0.046070f, -0.039088f, 0.030418f, 0.011601f, -0.002800f, 0.027112f, -0.016000f, 0.072310f, -0.013755f, 0.034325f, -0.027789f, -0.024962f, 0.000166f, 0.077127f, 0.024459f, -0.073853f, 0.063404f, -0.002451f, 0.021555f, -0.055939f, 0.017598f, 0.005192f, -0.110789f, 0.044959f, 0.082816f, 0.031107f, -0.036091f, -0.023168f, 0.015954f, 0.081698f, 0.046004f, 0.062033f, -0.023969f, -0.031653f, -0.028990f, 0.012273f, 0.016118f, -0.003810f, -0.032601f, -0.014998f, 0.038153f, 0.006089f, 0.007901f, -0.014408f, 0.016981f, -0.005487f, 0.007158f, -0.009282f, -0.011648f, -0.013452f, 0.022628f, 0.038914f, 0.037420f, 0.007900f, 0.019385f, 0.035721f, 0.023119f, 0.024962f, 0.033946f, 0.019108f, 0.032369f, 0.024755f, 0.008140f, -0.051395f, -0.010977f, -0.024374f, 0.013106f, 0.028908f, -0.034921f, -0.012672f, 0.038769f, 0.021264f, 0.003430f, -0.009889f, 0.032640f, -0.027007f, 0.004994f, 0.034372f, + 0.026291f, 0.014775f, 0.017271f, 0.020807f, 0.011209f, 0.003969f, -0.003427f, 0.004921f, 0.001798f, 0.017800f, 0.021088f, 0.013685f, -0.017350f, -0.008767f, -0.030346f, 0.037255f, 0.005210f, 0.024687f, -0.020828f, 0.049936f, -0.018216f, 0.023096f, 0.007205f, 0.010132f, 0.006766f, 0.004100f, -0.053267f, -0.030779f, -0.000312f, 0.004494f, 0.035325f, 0.029459f, -0.043617f, 0.004141f, -0.024350f, -0.021717f, 0.009883f, 0.002430f, -0.015441f, 0.017559f, 0.068745f, -0.046253f, -0.004432f, 0.106257f, -0.065558f, 0.007454f, 0.037208f, -0.019659f, -0.016479f, 0.021909f, 0.034279f, -0.038377f, 0.018011f, -0.069494f, -0.008319f, 0.103389f, 0.003684f, 0.029233f, -0.011808f, 0.056489f, 0.055982f, -0.015760f, -0.001854f, -0.026901f, 0.005676f, -0.019887f, -0.051361f, -0.032470f, -0.061122f, -0.044451f, 0.066092f, 0.026943f, 0.018897f, 0.089143f, -0.064119f, -0.037378f, 0.010426f, 0.033424f, -0.025772f, 0.016281f, -0.027551f, 0.049400f, 0.028659f, 0.017138f, 0.035313f, 0.129355f, -0.031558f, -0.010048f, -0.037046f, -0.041549f, -0.003588f, 0.054456f, -0.043513f, -0.005426f, 0.037817f, 0.041669f, + 0.048307f, 0.028832f, -0.034171f, 0.008692f, -0.019310f, -0.003795f, 0.027774f, 0.009484f, -0.003363f, 0.021697f, -0.040083f, 0.002864f, -0.000207f, 0.010879f, -0.009705f, -0.009787f, 0.022928f, -0.008486f, -0.006822f, 0.026693f, 0.032927f, 0.027413f, 0.010962f, 0.011872f, 0.021384f, 0.007078f, 0.000760f, 0.015934f, 0.000573f, -0.008354f, 0.005794f, 0.000308f, -0.003388f, -0.043521f, 0.009657f, 0.029017f, 0.045379f, -0.010197f, -0.014239f, -0.014668f, 0.022538f, 0.027374f, -0.060953f, 0.007847f, -0.027790f, -0.003098f, 0.002166f, 0.004620f, 0.016310f, 0.012960f, 0.010595f, -0.014834f, -0.031250f, 0.025569f, -0.007537f, 0.058384f, -0.053023f, 0.013405f, -0.003811f, -0.017008f, -0.015413f, -0.007663f, 0.017924f, 0.011021f, 0.012194f, -0.002811f, 0.032698f, 0.005719f, -0.042669f, -0.033647f, -0.004583f, -0.019774f, -0.024508f, 0.005600f, 0.027073f, -0.003800f, -0.006059f, -0.039167f, 0.019370f, -0.006288f, 0.040164f, -0.013640f, -0.076990f, 0.009427f, -0.022756f, -0.011625f, 0.000221f, -0.062532f, -0.032780f, -0.053719f, 0.001081f, -0.003919f, -0.014957f, -0.071120f, -0.028804f, -0.006230f, + 0.037298f, 0.041085f, 0.003425f, 0.003124f, 0.020148f, 0.004533f, -0.048735f, 0.042823f, 0.058463f, -0.025341f, 0.008953f, -0.025395f, 0.010669f, -0.000231f, 0.044580f, -0.049922f, -0.036066f, -0.114150f, -0.040344f, 0.028730f, 0.046129f, 0.032678f, 0.029833f, -0.028159f, -0.009189f, 0.022722f, 0.021993f, 0.049479f, 0.023630f, 0.021107f, 0.038270f, 0.009581f, -0.041854f, -0.045045f, -0.060868f, 0.025416f, -0.038853f, 0.003354f, -0.034051f, -0.052782f, -0.079723f, 0.011250f, -0.022992f, -0.025064f, 0.007261f, 0.007447f, -0.002890f, -0.011607f, 0.001800f, 0.026215f, 0.018409f, 0.006635f, -0.010033f, 0.018917f, 0.043086f, -0.009604f, -0.023334f, -0.019386f, 0.021209f, -0.011338f, -0.009506f, -0.038466f, -0.036928f, -0.028669f, -0.063208f, -0.003664f, 0.000318f, -0.025530f, 0.011373f, 0.016953f, 0.012639f, 0.031391f, 0.008874f, 0.037075f, 0.002588f, 0.010067f, 0.041224f, -0.020217f, -0.000977f, 0.005929f, -0.000191f, -0.028741f, -0.000906f, -0.005735f, 0.049651f, -0.003416f, -0.020399f, 0.015247f, 0.006325f, 0.014219f, 0.031866f, -0.005742f, -0.000346f, 0.017935f, 0.008308f, 0.000773f, + -0.002232f, -0.009970f, 0.010678f, -0.091511f, 0.038234f, -0.027427f, 0.003283f, 0.064828f, 0.054236f, -0.021687f, -0.009253f, 0.033317f, -0.020993f, -0.022095f, -0.018424f, 0.004347f, -0.006440f, -0.002606f, 0.007606f, -0.007314f, 0.031856f, 0.076163f, -0.032399f, -0.059968f, 0.059538f, -0.046501f, -0.012692f, 0.000255f, 0.074335f, 0.005569f, -0.022747f, 0.021735f, 0.020573f, -0.078180f, -0.023132f, 0.012648f, -0.003247f, -0.037252f, -0.003017f, 0.014420f, -0.114763f, -0.053232f, 0.056489f, -0.056744f, -0.063147f, -0.039087f, 0.046077f, -0.060417f, -0.094455f, 0.094590f, -0.028196f, -0.059600f, -0.003738f, 0.036792f, -0.036609f, -0.063956f, -0.001888f, 0.028752f, -0.003602f, -0.082202f, 0.018962f, -0.001445f, -0.037021f, 0.085933f, 0.080847f, -0.006390f, -0.033360f, -0.064181f, 0.098624f, 0.013550f, 0.017167f, 0.033954f, -0.024649f, -0.096198f, 0.042921f, 0.073174f, 0.058409f, -0.036554f, 0.020876f, 0.079857f, 0.046169f, -0.055568f, -0.012545f, -0.043625f, 0.019199f, 0.011838f, 0.050051f, 0.049571f, -0.060137f, -0.002225f, -0.006594f, 0.008824f, -0.023585f, 0.023871f, -0.015569f, 0.013773f, + 0.012231f, 0.010047f, -0.017192f, 0.012977f, -0.025530f, 0.041546f, -0.021455f, -0.010742f, 0.026175f, 0.023020f, -0.024372f, 0.003752f, -0.011541f, -0.028137f, -0.015304f, 0.011211f, 0.021841f, 0.013471f, -0.022986f, 0.012692f, -0.014874f, -0.034960f, 0.001458f, 0.006208f, -0.005854f, -0.002893f, 0.023518f, 0.001482f, 0.002383f, 0.011171f, -0.003459f, 0.006010f, -0.037680f, 0.028112f, 0.010060f, -0.095256f, 0.009690f, 0.088451f, 0.047825f, 0.011779f, -0.001872f, -0.016826f, 0.022434f, -0.032123f, 0.073298f, -0.006338f, 0.018989f, 0.026666f, -0.026236f, 0.000312f, -0.003976f, -0.028893f, -0.000875f, 0.010026f, 0.040772f, -0.000822f, -0.026547f, 0.012142f, 0.032653f, -0.006201f, 0.052203f, -0.041813f, 0.007819f, 0.011277f, 0.013046f, 0.045270f, -0.025942f, 0.003389f, -0.002521f, -0.060591f, 0.007722f, -0.020251f, -0.033544f, 0.013360f, -0.013263f, 0.046454f, 0.033134f, -0.025356f, -0.054559f, 0.024889f, 0.004384f, 0.010122f, 0.029206f, 0.064736f, -0.011975f, 0.012908f, -0.027385f, 0.036884f, 0.026016f, 0.027416f, -0.032006f, 0.042343f, -0.015599f, -0.019393f, -0.038451f, -0.003994f, + -0.015701f, 0.055023f, -0.042317f, 0.002384f, 0.012928f, -0.013302f, -0.026151f, 0.077087f, -0.004221f, 0.017839f, -0.007953f, 0.008768f, -0.007276f, 0.021194f, -0.003523f, -0.010054f, -0.007059f, -0.008916f, 0.025175f, 0.017480f, 0.023656f, 0.013037f, 0.007054f, -0.017313f, 0.017302f, 0.000871f, 0.009292f, 0.008048f, 0.021220f, -0.003637f, 0.000106f, 0.002993f, 0.006349f, 0.006715f, 0.015656f, -0.014031f, 0.009640f, 0.008452f, 0.007384f, 0.006218f, 0.004928f, 0.015448f, 0.005545f, -0.021460f, 0.012088f, 0.014034f, 0.014607f, 0.006126f, 0.015744f, 0.004009f, -0.001613f, 0.008764f, 0.004741f, 0.011284f, -0.001526f, -0.010912f, 0.002022f, 0.015825f, -0.008816f, 0.006309f, 0.000311f, 0.017284f, 0.015432f, 0.005730f, 0.010701f, 0.016057f, 0.007218f, 0.012961f, 0.031087f, -0.082695f, -0.232030f, -0.220640f, 0.095871f, 0.009357f, 0.212097f, 0.449256f, 0.098392f, 0.181029f, 0.096615f, -0.333341f, -0.149148f, -0.224214f, -0.329144f, -0.022140f, 0.038939f, -0.155588f, 0.138249f, 0.235021f, 0.144015f, 0.404792f, 0.248549f, 0.002185f, -0.037401f, -0.143370f, -0.357559f, -0.289815f, + -0.124772f, -0.274540f, -0.080907f, 0.156780f, 0.046708f, 0.039592f, 0.370947f, 0.142954f, 0.090416f, 0.343124f, 0.016334f, -0.017490f, 0.158333f, -0.078955f, -0.282910f, -0.137167f, -0.282695f, -0.413228f, -0.045664f, -0.187813f, -0.153088f, 0.132061f, 0.256530f, 0.118451f, 0.453226f, 0.360823f, 0.209461f, 0.273977f, 0.093034f, -0.134598f, -0.206975f, -0.276303f, -0.442070f, -0.354739f, -0.237738f, -0.202889f, -0.062913f, 0.153777f, 0.234084f, 0.260496f, 0.350639f, 0.294851f, 0.138458f, 0.050062f, 0.076166f, -0.118621f, -0.181250f, -0.129116f, -0.270886f, -0.204272f, -0.034924f, -0.122081f, 0.048535f, 0.198146f, 0.071120f, 0.100940f, 0.144370f, 0.014994f, 0.008854f, -0.035498f, -0.135583f, -0.071504f, 0.001376f, -0.054618f, 0.042169f, 0.057135f, -0.023120f, 0.072545f, 0.062961f, -0.098763f, 0.075457f, 0.087312f, -0.061628f, 0.142572f, 0.022074f, -0.141200f, 0.098737f, -0.077672f, -0.274756f, -0.045941f, -0.166881f, -0.203450f, 0.125576f, 0.015367f, 0.032157f, 0.264148f, 0.168471f, 0.186712f, 0.301159f, 0.220816f, 0.073625f, 0.031118f, -0.209293f, -0.381608f, -0.378839f, -0.380747f, + -0.359242f, -0.219944f, 0.011548f, 0.206084f, 0.303757f, 0.415214f, 0.386475f, 0.364231f, 0.287825f, 0.048169f, -0.131971f, -0.145671f, -0.305095f, -0.378605f, -0.227073f, -0.204458f, -0.113248f, 0.020250f, 0.054952f, 0.065048f, 0.130243f, 0.113237f, 0.107356f, 0.150626f, 0.125301f, 0.078332f, 0.069206f, 0.014352f, -0.043603f, -0.078146f, -0.094470f, -0.128222f, -0.107662f, -0.085684f, -0.066661f, -0.021990f, 0.022493f, 0.038735f, 0.055992f, 0.065360f, 0.063329f, 0.048301f, 0.038980f, 0.016986f, -0.001333f, -0.008517f, -0.008879f, -0.017315f, -0.013423f, -0.008928f, -0.010153f, -0.010016f, -0.002573f, -0.013925f, -0.016034f, -0.015779f, -0.024451f, -0.027399f, -0.016100f, -0.013751f, 0.007691f, 0.033190f, 0.044303f, 0.045071f, 0.042654f, 0.027796f, 0.020283f, 0.007478f, -0.012682f, -0.033416f, -0.039858f, -0.043462f, -0.038998f, -0.029076f, -0.013268f, 0.001813f, 0.018754f, 0.029477f, 0.030982f, 0.025919f, 0.019412f, 0.007199f, -0.002088f, -0.009524f, -0.013893f, -0.015213f, -0.009683f, -0.005101f, 0.001758f, 0.006569f, 0.010371f, 0.009973f, 0.006672f, -0.001165f, -0.006585f, -0.011091f, + -0.012325f, -0.011015f, -0.007172f, -0.003485f, 0.002128f, 0.005744f, 0.008102f, 0.009010f, 0.008620f, 0.006185f, 0.004208f, 0.002009f, 0.000038f, -0.001753f, -0.002551f, -0.003144f, -0.002776f, -0.002032f, -0.001253f, -0.000919f} + }, + { + {-0.009393f, -0.003611f, 0.002191f, -0.001743f, -0.005411f, -0.000392f, 0.012535f, -0.006434f, 0.001463f, -0.002713f, -0.000141f, -0.004793f, 0.009021f, -0.004679f, -0.004987f, -0.005633f, 0.010749f, -0.006390f, -0.001673f, -0.003019f, 0.003023f, 0.004964f, 0.006290f, -0.008873f, -0.000022f, 0.008498f, 0.003758f, 0.001457f, -0.000470f, -0.001059f, 0.003836f, 0.008665f, 0.002089f, -0.011120f, -0.005737f, -0.005981f, 0.009709f, -0.000990f, 0.007407f, -0.004653f, 0.003431f, 0.009722f, -0.004739f, -0.007313f, 0.002597f, -0.002732f, -0.000495f, -0.006542f, -0.002649f, -0.004887f, 0.001856f, -0.008872f, -0.002935f, -0.002264f, -0.000290f, 0.012027f, -0.003928f, -0.001797f, -0.000434f, -0.003139f, -0.001251f, -0.001123f, 0.007269f, 0.003777f, 0.004455f, -0.006237f, 0.004580f, 0.004832f, -0.004265f, 0.002008f, 0.002850f, -0.003202f, -0.004375f, 0.005127f, -0.007667f, 0.005429f, 0.003264f, 0.001451f, -0.007106f, -0.002441f, 0.002641f, -0.000607f, -0.001481f, -0.001894f, -0.000173f, -0.003786f, -0.004430f, -0.000657f, -0.000735f, 0.000556f, -0.001671f, 0.000063f, 0.002614f, -0.000073f, 0.000969f, 0.000402f, + 0.000510f, 0.000057f, -0.000523f, -0.001887f, -0.001165f, 0.001343f, -0.000609f, 0.000107f, -0.000190f, -0.005832f, 0.006313f, 0.000801f, -0.002624f, -0.003958f, -0.001031f, -0.001979f, 0.000076f, -0.004921f, -0.003764f, 0.002892f, -0.000721f, -0.001851f, -0.008648f, -0.001239f, 0.008173f, -0.005402f, -0.001300f, 0.006168f, -0.003456f, -0.006478f, -0.004924f, 0.004226f, 0.000101f, -0.000578f, -0.001193f, -0.006210f, 0.002175f, -0.002733f, -0.001409f, 0.007148f, -0.003837f, -0.009550f, -0.002801f, 0.000590f, 0.002940f, 0.002581f, 0.000886f, -0.007242f, -0.001624f, -0.008835f, -0.008019f, -0.002122f, 0.008524f, -0.001411f, -0.016672f, -0.000699f, 0.005694f, 0.004947f, -0.003396f, 0.003345f, 0.003656f, 0.000389f, 0.005033f, -0.008961f, -0.006324f, -0.000796f, 0.002672f, 0.000464f, 0.001919f, -0.000920f, 0.002412f, 0.002190f, 0.003535f, -0.000475f, 0.002199f, 0.002092f, -0.001631f, 0.003506f, -0.000806f, -0.008741f, -0.007152f, -0.004619f, -0.003666f, -0.003900f, 0.001249f, -0.001955f, 0.006857f, 0.005676f, -0.000996f, -0.002671f, -0.002323f, -0.001215f, 0.002089f, 0.003261f, 0.000447f, -0.001834f, + 0.000385f, 0.000496f, -0.001823f, 0.002465f, 0.000052f, -0.000512f, -0.000895f, -0.000158f, -0.001350f, 0.001015f, -0.000241f, 0.000230f, -0.001571f, 0.001003f, -0.000980f, 0.000057f, 0.000039f, 0.000709f, -0.000241f, -0.000717f, -0.000285f, -0.001461f, -0.000565f, 0.000200f, -0.000722f, 0.000175f, -0.000468f, -0.001327f, 0.007578f, 0.004198f, 0.011392f, 0.000677f, -0.002342f, -0.001504f, 0.008036f, -0.002305f, 0.004273f, -0.007529f, -0.000874f, -0.000294f, 0.004181f, 0.002870f, 0.007202f, 0.005029f, -0.003829f, -0.007438f, -0.006077f, 0.003995f, -0.002639f, 0.005494f, 0.003437f, 0.000642f, -0.000447f, 0.004548f, 0.003194f, -0.003494f, 0.003752f, -0.008008f, -0.001183f, -0.007433f, -0.006354f, -0.008923f, 0.002486f, 0.004910f, -0.001018f, 0.006874f, -0.005518f, 0.006358f, -0.013197f, 0.004925f, 0.002151f, 0.009581f, 0.002760f, 0.003365f, 0.005151f, -0.000355f, -0.003426f, 0.003502f, 0.008385f, 0.002757f, 0.004022f, -0.001491f, -0.000227f, -0.012130f, -0.000875f, 0.001785f, 0.002236f, -0.001888f, 0.006330f, 0.011905f, -0.004098f, -0.008788f, 0.005695f, 0.001147f, -0.006206f, -0.000230f, + -0.002914f, -0.006311f, 0.000691f, 0.008524f, 0.002099f, 0.003015f, 0.001393f, -0.001060f, 0.003226f, 0.001897f, -0.000235f, 0.002711f, 0.000116f, -0.000925f, -0.000702f, -0.001774f, 0.001617f, -0.002542f, -0.000359f, 0.003879f, -0.000932f, -0.000236f, 0.001480f, -0.001092f, 0.002686f, -0.003977f, -0.001779f, -0.000086f, -0.001584f, -0.001819f, 0.000355f, -0.001087f, 0.001266f, 0.002796f, -0.001158f, 0.001513f, 0.000398f, 0.000023f, -0.000005f, 0.000258f, -0.003352f, -0.001007f, -0.000791f, 0.000495f, 0.002684f, 0.001452f, 0.004234f, 0.006219f, 0.005978f, -0.005968f, 0.009171f, -0.003386f, -0.006251f, -0.009188f, 0.002015f, -0.012122f, -0.000850f, 0.001163f, 0.003230f, -0.007762f, 0.004860f, -0.000210f, 0.001004f, 0.003128f, 0.001873f, 0.002635f, -0.010461f, -0.000779f, -0.002448f, -0.006841f, 0.003846f, 0.001907f, 0.001447f, 0.005717f, 0.020300f, -0.001585f, 0.000941f, 0.002829f, 0.004934f, 0.001918f, -0.016860f, 0.003401f, -0.002894f, -0.002001f, 0.009063f, 0.000193f, 0.004453f, 0.006542f, -0.008377f, -0.004688f, -0.002499f, -0.008094f, -0.017308f, 0.000737f, -0.006598f, -0.001111f, + -0.001617f, -0.000428f, -0.004106f, -0.008487f, 0.002268f, -0.008124f, -0.002679f, 0.001742f, -0.009099f, 0.009220f, 0.003082f, 0.002571f, -0.003898f, -0.000759f, -0.001597f, 0.001778f, -0.003023f, 0.004701f, -0.007493f, 0.002377f, 0.011063f, 0.009205f, -0.003375f, 0.004648f, -0.004544f, 0.001932f, -0.008485f, -0.000343f, 0.005057f, 0.005927f, 0.005223f, -0.000991f, 0.009844f, 0.000846f, 0.004848f, 0.004391f, -0.000319f, 0.002011f, 0.000942f, 0.000308f, -0.001835f, 0.000938f, 0.001407f, -0.000667f, 0.000026f, -0.001191f, -0.002896f, -0.000493f, 0.001722f, -0.001533f, 0.003871f, -0.001179f, -0.002249f, -0.001848f, 0.001254f, -0.001071f, 0.001601f, -0.000402f, -0.001857f, 0.000945f, -0.000635f, 0.002015f, 0.001099f, 0.001157f, 0.000666f, -0.003672f, -0.001023f, 0.000426f, 0.001372f, -0.000009f, 0.000124f, -0.001031f, 0.013690f, -0.017265f, 0.000777f, -0.010616f, 0.005497f, 0.007910f, 0.009637f, -0.001448f, -0.009070f, 0.000272f, 0.009495f, 0.002055f, 0.001852f, -0.007068f, -0.000908f, -0.012406f, 0.016585f, -0.000840f, -0.012690f, 0.013827f, 0.003499f, 0.004125f, -0.000853f, -0.004937f, + -0.001580f, -0.006532f, -0.006434f, 0.005133f, 0.007278f, -0.001437f, 0.006870f, -0.005587f, -0.003466f, 0.000037f, 0.009571f, 0.009052f, -0.002481f, -0.005045f, 0.007463f, 0.004768f, 0.000745f, 0.006314f, 0.001545f, -0.007339f, 0.007812f, 0.004880f, -0.000531f, -0.002526f, 0.002195f, -0.007914f, 0.021235f, -0.001060f, -0.000704f, 0.015821f, -0.001381f, -0.009619f, -0.005184f, -0.001103f, 0.003902f, -0.009998f, 0.006924f, 0.002112f, 0.000295f, -0.009074f, -0.007621f, -0.016066f, -0.001364f, 0.007552f, 0.003798f, 0.009150f, -0.004990f, -0.003536f, 0.019140f, -0.005259f, 0.003252f, -0.002610f, -0.007843f, 0.000651f, 0.003555f, -0.008210f, -0.014568f, 0.000653f, -0.008958f, -0.009062f, -0.004384f, 0.004795f, 0.000493f, -0.001332f, -0.005527f, -0.001873f, 0.000712f, -0.002049f, -0.001486f, 0.001542f, 0.005285f, 0.000779f, 0.001386f, -0.003644f, -0.001808f, -0.000338f, 0.000041f, -0.005160f, -0.003737f, -0.003259f, -0.000117f, 0.001305f, 0.000590f, -0.001650f, 0.000209f, -0.000287f, -0.000443f, -0.002685f, -0.000917f, -0.000349f, -0.000957f, -0.001384f, -0.001807f, -0.018305f, -0.000300f, -0.007757f, + -0.008759f, 0.002523f, -0.010501f, 0.000189f, 0.007017f, 0.003771f, 0.014809f, -0.024973f, 0.015868f, -0.002756f, 0.006883f, -0.004874f, -0.003662f, -0.013179f, 0.011539f, 0.010155f, 0.002482f, -0.011729f, -0.000740f, -0.006834f, -0.000902f, 0.011979f, 0.008322f, 0.001737f, 0.011427f, -0.000283f, 0.000494f, 0.001011f, -0.000500f, -0.008187f, 0.017134f, -0.001850f, 0.000064f, 0.019899f, -0.013016f, 0.004665f, -0.006259f, -0.001426f, 0.006232f, -0.002859f, -0.010287f, 0.019148f, 0.014929f, -0.000667f, 0.004784f, 0.007953f, 0.020724f, -0.002822f, -0.003846f, -0.011422f, 0.001887f, 0.003830f, -0.012046f, -0.012874f, -0.011306f, 0.013324f, 0.000219f, -0.005640f, 0.009151f, 0.006450f, 0.000035f, -0.003314f, 0.002924f, -0.007378f, -0.001936f, -0.008018f, -0.001856f, 0.007358f, -0.014680f, 0.003353f, -0.003141f, -0.010218f, 0.006128f, 0.009638f, 0.004092f, 0.010041f, 0.008728f, -0.007537f, -0.011967f, -0.006035f, 0.005192f, -0.004782f, -0.009208f, 0.005860f, 0.009963f, -0.007349f, 0.001204f, 0.002063f, 0.001084f, -0.006869f, 0.003931f, -0.003097f, -0.002428f, -0.004432f, -0.002310f, -0.003485f, + -0.000363f, -0.000448f, 0.001298f, 0.002038f, -0.001742f, -0.001558f, -0.000682f, -0.002781f, -0.001596f, -0.000798f, -0.001093f, 0.002088f, 0.002693f, 0.000629f, 0.003969f, -0.003618f, 0.002743f, -0.003132f, -0.001389f, 0.002809f, 0.013757f, 0.014593f, 0.002474f, -0.012453f, -0.001655f, -0.011824f, 0.005026f, 0.031348f, 0.007789f, 0.021743f, 0.008033f, 0.000344f, -0.020150f, -0.004897f, 0.003400f, 0.019647f, -0.008588f, -0.004240f, -0.007469f, 0.001951f, 0.015808f, -0.011445f, 0.007777f, 0.013693f, 0.003100f, 0.005087f, -0.008838f, 0.016904f, -0.003532f, 0.021994f, -0.000133f, -0.006625f, -0.020493f, 0.002598f, 0.000151f, 0.024610f, -0.007327f, -0.001920f, 0.015634f, 0.000195f, 0.002138f, -0.004976f, -0.016006f, 0.001806f, 0.009342f, -0.011468f, -0.009027f, 0.002489f, -0.019208f, 0.010670f, 0.010790f, -0.003169f, -0.001172f, 0.005527f, 0.011004f, -0.000839f, -0.006636f, -0.000168f, 0.016123f, -0.001960f, -0.002379f, -0.005976f, 0.020851f, 0.021113f, 0.001513f, -0.003723f, 0.003368f, -0.000807f, 0.005574f, 0.009809f, -0.000708f, 0.014128f, -0.005371f, -0.007703f, -0.011263f, 0.003935f, + -0.000833f, -0.017186f, -0.012365f, -0.007079f, 0.013691f, -0.003880f, -0.006259f, -0.001657f, 0.000110f, -0.005764f, -0.008745f, -0.003011f, -0.002486f, -0.005185f, 0.000977f, -0.003214f, -0.002797f, 0.002890f, -0.005509f, -0.005696f, 0.001943f, 0.004755f, -0.002682f, -0.003629f, -0.002703f, -0.004763f, -0.002210f, 0.001626f, -0.001554f, 0.000946f, 0.002700f, -0.000744f, -0.001307f, -0.004181f, 0.002566f, 0.000292f, -0.013875f, 0.013904f, 0.010561f, 0.000743f, -0.009231f, -0.010359f, -0.004552f, -0.020500f, 0.023635f, 0.017755f, -0.003901f, 0.006528f, 0.002063f, -0.003980f, 0.017904f, -0.001526f, -0.008438f, 0.026531f, -0.028916f, 0.007364f, 0.012349f, -0.000185f, -0.011870f, 0.012599f, 0.001885f, 0.018256f, -0.007172f, -0.002059f, 0.004815f, 0.007241f, 0.001164f, -0.002595f, 0.026611f, 0.011424f, -0.012275f, -0.018514f, 0.012743f, -0.018521f, -0.005425f, -0.021311f, -0.002826f, 0.031681f, 0.012923f, 0.015269f, 0.000036f, -0.016947f, -0.002881f, -0.008328f, -0.003737f, 0.023670f, -0.003777f, -0.026279f, -0.002188f, 0.005047f, -0.016734f, -0.002858f, 0.010671f, 0.008361f, -0.011271f, -0.005945f, + 0.011404f, 0.015093f, -0.004485f, 0.015727f, 0.000212f, 0.003883f, 0.005852f, 0.001246f, 0.006147f, 0.009395f, 0.009117f, 0.008842f, -0.004771f, -0.019096f, -0.021056f, 0.005137f, -0.004284f, 0.014911f, -0.002753f, 0.017713f, 0.005962f, 0.008188f, -0.009552f, -0.008565f, 0.006285f, -0.000429f, 0.001237f, 0.001563f, 0.000728f, -0.008617f, -0.003964f, -0.001419f, -0.007136f, -0.000310f, -0.006138f, 0.000993f, -0.003492f, 0.002522f, -0.000915f, 0.004444f, -0.000058f, 0.002386f, 0.000746f, -0.002390f, -0.002047f, -0.002843f, 0.005578f, 0.000543f, -0.001717f, 0.001685f, 0.002862f, 0.002330f, 0.000501f, -0.004271f, -0.011693f, -0.006707f, 0.000002f, -0.005741f, -0.000181f, -0.001040f, -0.001164f, 0.006900f, -0.001183f, 0.011381f, -0.001783f, 0.010597f, -0.022091f, 0.007511f, 0.005891f, 0.002901f, -0.014572f, -0.012237f, -0.015503f, 0.011549f, 0.005861f, -0.011162f, -0.011146f, 0.014597f, 0.004539f, -0.001495f, -0.009431f, -0.015378f, -0.006460f, 0.005826f, -0.009962f, 0.000845f, -0.018411f, -0.005375f, 0.001801f, 0.005890f, 0.011509f, -0.002221f, 0.007227f, 0.009991f, -0.010834f, -0.025471f, + 0.016985f, 0.000477f, -0.004333f, 0.016163f, -0.002890f, 0.000336f, -0.011457f, 0.014165f, -0.009610f, -0.012084f, -0.004953f, 0.011555f, 0.017666f, 0.014820f, 0.004345f, 0.002728f, -0.032183f, 0.014135f, -0.002304f, 0.005757f, -0.011368f, -0.002404f, -0.012680f, -0.004599f, -0.003399f, -0.016672f, -0.008619f, -0.007025f, -0.009337f, 0.016617f, -0.005842f, 0.021710f, -0.003024f, -0.001566f, 0.013433f, 0.015443f, 0.026181f, 0.017898f, -0.000763f, -0.008943f, -0.001407f, -0.000286f, -0.013146f, 0.002894f, -0.008631f, -0.014308f, 0.026762f, -0.017577f, -0.018729f, -0.002981f, 0.009805f, 0.001179f, 0.002870f, 0.001036f, 0.011089f, -0.000470f, 0.002833f, 0.003772f, -0.004723f, 0.000388f, 0.006708f, -0.004181f, 0.002591f, 0.004778f, 0.003822f, 0.008510f, 0.001670f, -0.000113f, 0.004526f, 0.000613f, -0.001923f, 0.003008f, 0.004694f, 0.001735f, -0.000287f, 0.001297f, 0.000524f, 0.009910f, 0.000546f, 0.008024f, 0.005218f, 0.001017f, 0.008389f, 0.009285f, 0.000685f, -0.000487f, 0.001017f, 0.001103f, 0.000892f, -0.001031f, -0.001400f, 0.002193f, 0.000274f, -0.005603f, -0.008175f, -0.033492f, + 0.007835f, -0.022940f, -0.013594f, 0.022377f, 0.017478f, -0.038288f, -0.035081f, 0.001544f, 0.015461f, -0.008639f, 0.009671f, -0.012406f, -0.001093f, -0.022082f, -0.005523f, -0.019901f, -0.001116f, -0.005197f, 0.000982f, 0.008125f, 0.006708f, 0.012951f, -0.001235f, -0.010406f, 0.009671f, -0.012476f, -0.004813f, 0.004460f, 0.001136f, 0.006881f, 0.013701f, -0.001816f, 0.002008f, 0.003424f, -0.005112f, -0.001073f, -0.019283f, -0.022867f, -0.022160f, 0.000370f, -0.022297f, 0.007923f, 0.003282f, -0.008586f, -0.010212f, -0.004176f, -0.003463f, -0.001596f, -0.013162f, -0.020912f, -0.000914f, 0.034096f, 0.018887f, -0.004415f, -0.019881f, -0.020481f, 0.023573f, -0.021528f, -0.006942f, -0.003551f, -0.014329f, -0.010736f, -0.014613f, -0.017075f, -0.023965f, -0.032439f, -0.004453f, -0.004947f, -0.004409f, 0.011318f, 0.010645f, 0.003056f, 0.009356f, -0.007108f, -0.008858f, 0.030638f, 0.013067f, -0.007760f, -0.022112f, 0.007257f, -0.012995f, -0.015366f, 0.000164f, 0.025743f, -0.004839f, 0.000099f, 0.017698f, -0.001662f, -0.011454f, 0.000802f, 0.004367f, -0.000056f, -0.004578f, -0.004302f, 0.000061f, 0.004597f, + 0.002284f, 0.003168f, 0.001947f, 0.008988f, -0.002373f, 0.004968f, -0.012373f, 0.006096f, 0.003214f, -0.001964f, 0.002835f, -0.002348f, 0.004786f, -0.001984f, -0.003489f, -0.001819f, 0.004358f, 0.003913f, 0.000641f, 0.005141f, -0.006963f, 0.007418f, -0.003395f, -0.004020f, 0.000736f, 0.001898f, -0.028107f, 0.002841f, 0.013680f, 0.014871f, 0.013787f, 0.005609f, 0.027509f, -0.011349f, -0.020581f, -0.005668f, 0.003252f, -0.004478f, 0.008541f, 0.018142f, 0.037084f, 0.023134f, 0.013405f, 0.017028f, -0.014741f, -0.028009f, -0.009781f, -0.021088f, 0.023150f, 0.004898f, -0.005262f, -0.017196f, 0.026319f, 0.022443f, -0.008783f, -0.002137f, -0.000423f, -0.014250f, -0.011818f, -0.021216f, 0.005862f, 0.006689f, 0.011517f, -0.020096f, 0.001497f, 0.005118f, -0.009226f, -0.019552f, 0.000273f, 0.010593f, 0.014362f, 0.001978f, -0.037602f, -0.013842f, -0.018694f, 0.007130f, 0.021971f, -0.000535f, -0.021215f, 0.004463f, -0.020484f, 0.010669f, -0.005177f, 0.001254f, -0.014601f, 0.029558f, 0.023511f, -0.008004f, -0.007220f, -0.017931f, -0.001424f, 0.023501f, 0.005289f, 0.029005f, 0.028278f, 0.023192f, + 0.013746f, 0.004295f, -0.019256f, -0.011196f, -0.025543f, 0.028653f, 0.029188f, -0.002940f, -0.022573f, 0.013822f, 0.033954f, -0.001008f, 0.004190f, -0.008830f, -0.000933f, -0.022987f, 0.003444f, -0.018257f, 0.012010f, 0.003669f, 0.016948f, 0.016378f, 0.009127f, 0.000818f, 0.001438f, 0.009896f, 0.003779f, -0.003054f, -0.006959f, -0.002865f, -0.010581f, 0.001234f, 0.008147f, -0.007548f, -0.003935f, -0.008555f, 0.005760f, -0.002408f, 0.012327f, -0.012326f, 0.003160f, -0.001025f, 0.011757f, -0.006312f, 0.003918f, 0.006490f, 0.001338f, -0.001020f, 0.000487f, 0.001442f, -0.005326f, -0.002810f, 0.007103f, 0.008051f, -0.019282f, -0.005472f, 0.012667f, 0.022691f, -0.025521f, -0.030825f, -0.026737f, 0.027631f, -0.012667f, 0.018184f, -0.001142f, -0.000552f, 0.044991f, -0.006393f, 0.002518f, -0.021159f, -0.032490f, 0.007036f, -0.005573f, 0.007672f, 0.004712f, -0.003398f, -0.018949f, 0.004262f, 0.005916f, 0.002313f, -0.017934f, 0.010454f, 0.007393f, 0.032579f, -0.016263f, 0.001423f, 0.017443f, 0.017826f, -0.000107f, 0.018006f, -0.005597f, -0.000123f, 0.016042f, 0.013371f, 0.002996f, -0.008252f, + -0.027738f, -0.021307f, 0.014976f, -0.001342f, -0.006977f, -0.006254f, 0.003194f, 0.035240f, -0.003040f, -0.013549f, 0.017603f, -0.009804f, 0.016597f, 0.003250f, 0.051355f, -0.011187f, -0.002480f, -0.001105f, 0.006955f, 0.016825f, -0.004274f, -0.007071f, 0.010807f, -0.025482f, 0.019173f, 0.035692f, 0.010085f, -0.008722f, 0.019698f, -0.008838f, -0.001870f, 0.040486f, -0.024771f, 0.008148f, 0.015529f, -0.008024f, 0.033805f, 0.007227f, 0.006646f, -0.014351f, -0.020696f, 0.002468f, 0.008272f, -0.022458f, 0.020967f, -0.001117f, 0.004724f, -0.000983f, 0.005567f, 0.018945f, -0.005333f, 0.019116f, 0.008830f, 0.005540f, 0.010511f, 0.008921f, -0.006658f, 0.011612f, 0.011110f, -0.011576f, 0.003164f, 0.007614f, 0.015429f, 0.002653f, 0.003897f, 0.006893f, 0.008714f, 0.013194f, 0.000699f, -0.000732f, -0.001636f, 0.008627f, 0.007589f, -0.010325f, -0.000918f, 0.005260f, 0.008441f, 0.005957f, -0.006186f, 0.012433f, -0.001155f, 0.003451f, 0.000912f, 0.010011f, 0.005005f, 0.003947f, 0.004657f, 0.006487f, 0.004800f, -0.002493f, -0.001567f, 0.001538f, 0.010277f, 0.002009f, 0.001059f, -0.001544f, + 0.001402f, 0.003253f, 0.004098f, 0.000763f, 0.004818f, 0.005633f, 0.009477f, -0.025653f, -0.007013f, 0.018289f, -0.008189f, -0.013194f, -0.011669f, -0.012052f, 0.002739f, 0.018370f, -0.001775f, -0.039461f, 0.000548f, -0.029892f, 0.012317f, 0.013432f, 0.000793f, 0.006557f, -0.012776f, -0.001314f, 0.016668f, -0.037808f, 0.010287f, -0.007952f, 0.021899f, 0.015148f, 0.010177f, 0.002054f, -0.014632f, -0.034108f, -0.001229f, -0.029768f, 0.019252f, 0.000629f, -0.008482f, 0.032122f, 0.017101f, -0.012292f, -0.009407f, -0.006242f, -0.004192f, -0.008505f, -0.016443f, 0.003449f, 0.005574f, 0.046271f, -0.000873f, -0.032475f, 0.000662f, 0.022780f, 0.002344f, -0.016556f, 0.011367f, -0.025159f, 0.017740f, -0.010438f, 0.012001f, -0.014518f, 0.007585f, -0.025758f, 0.069405f, 0.002916f, 0.048185f, -0.004281f, -0.012265f, 0.012625f, -0.014559f, -0.014742f, 0.027200f, 0.026009f, -0.021764f, -0.059472f, 0.057660f, -0.019682f, -0.014816f, -0.007206f, -0.007199f, 0.007791f, -0.004438f, 0.004656f, 0.025316f, 0.006111f, -0.019020f, -0.015806f, -0.011198f, 0.007540f, -0.011731f, -0.001624f, 0.012239f, -0.030827f, + -0.001827f, 0.002131f, -0.004008f, -0.008958f, 0.004344f, -0.006320f, 0.017777f, -0.006589f, 0.008405f, -0.007472f, -0.004612f, 0.000482f, -0.006960f, 0.004616f, 0.004930f, -0.003207f, 0.005179f, -0.007196f, 0.004471f, -0.001893f, 0.000396f, -0.003242f, 0.001056f, -0.012964f, -0.008514f, -0.001860f, -0.004297f, -0.010638f, -0.013056f, -0.007949f, -0.002412f, -0.005675f, -0.000159f, -0.009482f, 0.001043f, -0.008443f, -0.001342f, -0.010988f, 0.006936f, -0.006165f, -0.003613f, -0.003194f, -0.029172f, -0.010259f, -0.008761f, -0.025067f, -0.044249f, -0.010812f, 0.000866f, -0.023442f, 0.011702f, -0.009949f, 0.019912f, -0.016879f, -0.006952f, -0.024113f, 0.057971f, 0.049030f, -0.010804f, 0.011037f, 0.033756f, -0.035187f, 0.035982f, -0.014771f, -0.014752f, 0.013030f, 0.004903f, 0.006240f, -0.005091f, -0.007669f, 0.001188f, 0.011706f, 0.010197f, -0.015592f, 0.018175f, -0.016813f, -0.027965f, 0.020531f, 0.018169f, -0.023346f, -0.028935f, -0.033577f, -0.004739f, -0.005486f, 0.009622f, -0.021901f, -0.027354f, -0.013987f, 0.046319f, 0.016224f, 0.015895f, -0.019674f, 0.017996f, 0.024349f, -0.018735f, 0.045384f, + 0.008621f, -0.016139f, -0.021036f, 0.012198f, -0.017633f, -0.038679f, 0.009649f, -0.000377f, 0.001083f, 0.021242f, 0.019939f, -0.016970f, 0.003452f, -0.049603f, -0.005953f, -0.019533f, 0.041315f, 0.002501f, 0.006015f, -0.023908f, 0.019661f, -0.042145f, -0.004907f, 0.016541f, 0.004981f, -0.004553f, -0.004590f, 0.005143f, -0.001722f, 0.004784f, -0.006082f, 0.001208f, 0.003731f, 0.010055f, 0.002725f, 0.003214f, -0.002058f, 0.005969f, -0.005952f, 0.001923f, 0.018967f, -0.003679f, 0.001086f, -0.005994f, 0.008590f, 0.003880f, -0.000751f, 0.009797f, -0.010068f, -0.009810f, 0.010897f, -0.008955f, -0.003062f, -0.008210f, 0.004768f, -0.012001f, -0.005144f, -0.003931f, 0.009881f, 0.009613f, -0.015136f, 0.002390f, 0.008148f, -0.005336f, -0.017097f, -0.008433f, 0.013141f, -0.003993f, -0.001909f, -0.008369f, -0.021449f, 0.027250f, 0.028721f, 0.025984f, 0.017549f, -0.000198f, 0.023816f, 0.021581f, 0.003650f, -0.004063f, 0.009628f, 0.000081f, -0.024190f, -0.002870f, 0.009256f, -0.018939f, 0.027125f, -0.028213f, 0.022660f, 0.024622f, -0.007020f, -0.005547f, 0.010499f, 0.032848f, 0.024673f, -0.029682f, + -0.006410f, -0.007945f, -0.002295f, 0.007417f, -0.013771f, -0.014504f, 0.032301f, 0.000802f, 0.046355f, -0.030227f, -0.028575f, 0.023286f, -0.015346f, 0.008391f, -0.018069f, 0.015540f, 0.017846f, 0.011702f, -0.007153f, -0.026567f, 0.002731f, 0.008818f, -0.021979f, -0.040583f, -0.001292f, 0.003685f, -0.023834f, 0.043817f, -0.004885f, -0.012438f, 0.058353f, 0.054834f, 0.005602f, -0.007636f, -0.001917f, -0.011719f, 0.013336f, -0.028776f, 0.027095f, 0.003551f, -0.015503f, 0.032555f, 0.005371f, 0.006587f, -0.009143f, -0.017703f, -0.043582f, 0.009583f, -0.014739f, -0.007230f, 0.020336f, 0.008158f, -0.009433f, -0.028606f, -0.007733f, -0.032573f, 0.014085f, 0.029257f, -0.003955f, -0.022142f, -0.015278f, -0.022083f, 0.000440f, 0.011858f, 0.014433f, -0.003041f, -0.015416f, -0.008167f, -0.008313f, 0.002020f, -0.004518f, -0.007531f, 0.006507f, -0.001222f, -0.004387f, 0.007660f, -0.017423f, 0.004997f, 0.004804f, 0.027240f, 0.002722f, -0.006111f, -0.013716f, 0.011976f, -0.014333f, -0.001975f, 0.010484f, -0.019460f, 0.018353f, 0.003794f, -0.000491f, 0.003629f, 0.012518f, -0.006244f, -0.018855f, 0.000373f, + -0.005381f, -0.002505f, 0.018740f, 0.017465f, -0.001915f, 0.005362f, -0.048007f, -0.111261f, 0.037363f, 0.035404f, -0.012394f, 0.007944f, -0.026749f, 0.048084f, 0.030773f, -0.027182f, 0.007814f, 0.006585f, 0.000745f, -0.012205f, -0.008779f, -0.057358f, 0.024338f, 0.028393f, -0.006494f, 0.000033f, -0.003163f, 0.019124f, -0.014339f, 0.036450f, 0.010844f, -0.043216f, -0.024463f, 0.054995f, 0.036127f, -0.035757f, -0.008368f, -0.012678f, -0.021872f, 0.003476f, -0.008702f, 0.007888f, 0.071437f, 0.019512f, 0.074846f, 0.042779f, 0.048256f, 0.043983f, 0.086200f, -0.005595f, -0.007939f, 0.020664f, -0.006029f, -0.072201f, 0.058640f, -0.025323f, 0.033653f, -0.047706f, -0.037926f, -0.071282f, 0.014227f, -0.006510f, -0.023893f, 0.017467f, -0.033476f, 0.000188f, -0.047848f, -0.047787f, 0.013482f, 0.028008f, -0.038821f, -0.010252f, -0.026898f, -0.037371f, -0.041974f, -0.030137f, 0.023050f, -0.018179f, -0.052421f, 0.075436f, 0.047294f, 0.076057f, -0.009863f, -0.016303f, -0.015070f, -0.026763f, -0.043048f, -0.002702f, -0.009416f, -0.032564f, -0.010831f, 0.009654f, -0.023050f, -0.020786f, 0.002466f, -0.003363f, + -0.010241f, -0.008401f, 0.018811f, 0.020032f, 0.000688f, 0.005094f, 0.014268f, 0.017859f, 0.003681f, -0.001443f, -0.002685f, 0.008426f, -0.003511f, 0.002145f, -0.003226f, -0.012483f, -0.000284f, 0.011877f, -0.012259f, 0.016206f, 0.020467f, 0.008670f, 0.000716f, 0.003379f, 0.002205f, -0.013572f, 0.001170f, 0.007794f, -0.006958f, 0.000142f, -0.003156f, 0.002267f, -0.004813f, 0.001848f, 0.007637f, -0.010398f, -0.008838f, 0.016459f, 0.006742f, -0.002052f, 0.002544f, -0.009109f, -0.040522f, -0.106264f, 0.046029f, 0.054984f, -0.024880f, -0.010832f, -0.002751f, 0.062264f, 0.002018f, 0.013324f, 0.013147f, -0.014628f, 0.012386f, 0.029013f, -0.005800f, -0.027877f, 0.006966f, 0.052963f, -0.028048f, -0.017542f, 0.011615f, -0.007377f, 0.039651f, -0.009908f, 0.017881f, -0.020412f, -0.024525f, -0.024488f, 0.025994f, -0.007806f, 0.023076f, 0.026911f, -0.006937f, 0.003563f, 0.000174f, -0.021948f, 0.007292f, -0.019906f, 0.023536f, 0.057648f, 0.094656f, -0.001156f, -0.002694f, -0.040057f, 0.021662f, 0.030995f, -0.000927f, 0.034807f, 0.049749f, 0.020941f, 0.028290f, -0.043619f, -0.026200f, 0.036274f, + 0.094574f, -0.017306f, -0.055512f, 0.014165f, -0.018452f, -0.000985f, 0.025642f, 0.000498f, -0.025320f, -0.012094f, -0.013068f, -0.064306f, -0.026884f, 0.000436f, 0.010672f, 0.022448f, -0.003694f, -0.024720f, -0.014247f, 0.006082f, -0.010028f, -0.024826f, 0.025596f, 0.061894f, 0.026772f, 0.033346f, 0.003413f, -0.008436f, -0.050331f, -0.011118f, 0.014294f, 0.011145f, -0.011274f, 0.028563f, -0.008077f, 0.015989f, -0.035232f, 0.002053f, -0.012153f, -0.010130f, 0.000333f, 0.009790f, 0.009580f, -0.009930f, -0.019172f, 0.018558f, -0.007275f, 0.015249f, 0.001362f, -0.003841f, 0.001250f, 0.003278f, 0.014096f, 0.000474f, -0.002246f, -0.007290f, -0.008085f, 0.012147f, 0.004017f, 0.011195f, -0.023980f, 0.016690f, 0.009638f, 0.004543f, -0.008697f, -0.003176f, 0.017403f, -0.002096f, 0.000677f, -0.013419f, 0.001245f, -0.020589f, -0.004362f, 0.005958f, 0.017439f, 0.008659f, 0.015403f, 0.003547f, -0.002628f, -0.015069f, 0.033965f, 0.011424f, 0.017906f, 0.007133f, 0.051094f, -0.015844f, -0.006169f, -0.019802f, 0.012018f, -0.012229f, 0.011405f, 0.057920f, 0.011618f, -0.060987f, -0.014715f, -0.017666f, + -0.052119f, 0.033430f, 0.015914f, -0.005888f, 0.007603f, 0.003430f, -0.023291f, -0.000050f, -0.001464f, -0.023170f, -0.006797f, 0.050549f, 0.074271f, 0.035102f, -0.025631f, -0.040684f, 0.019463f, 0.033997f, 0.003970f, 0.027224f, -0.018667f, -0.012918f, 0.028001f, 0.008929f, 0.000573f, -0.062031f, -0.080874f, -0.002488f, -0.047223f, -0.027391f, 0.017132f, 0.067949f, 0.014879f, 0.003495f, -0.019479f, -0.023339f, -0.033814f, -0.029772f, 0.005742f, 0.020574f, -0.007082f, -0.033572f, -0.054068f, 0.021667f, 0.001597f, -0.030091f, -0.050389f, -0.034133f, -0.055483f, -0.100330f, -0.060442f, -0.008961f, -0.011858f, 0.120838f, -0.014599f, -0.004452f, 0.069731f, 0.008231f, 0.004085f, 0.041915f, -0.024810f, -0.061001f, -0.070820f, -0.010962f, -0.033831f, -0.037583f, -0.039849f, -0.043736f, 0.008732f, 0.039601f, 0.062995f, 0.037379f, 0.007886f, 0.004124f, -0.015975f, 0.032463f, 0.006864f, -0.009805f, -0.040334f, 0.008385f, 0.029668f, -0.001403f, 0.000069f, -0.014520f, 0.008325f, 0.016384f, 0.027153f, 0.007629f, 0.011659f, 0.010364f, 0.013688f, 0.016758f, 0.017660f, -0.004895f, 0.013493f, 0.002731f, + -0.009077f, -0.021188f, -0.025075f, 0.002581f, 0.006306f, -0.025246f, -0.012098f, -0.024284f, 0.008233f, 0.012523f, 0.019606f, 0.028315f, 0.048104f, 0.035563f, 0.036773f, 0.021685f, 0.014571f, -0.008718f, 0.004229f, 0.000190f, -0.021894f, -0.034285f, -0.025374f, -0.033190f, -0.020705f, -0.028843f, 0.038163f, -0.054153f, 0.013678f, 0.008595f, -0.023579f, -0.075945f, 0.051670f, 0.015329f, -0.004878f, -0.076901f, 0.020468f, 0.011921f, -0.040595f, 0.006776f, 0.035625f, 0.021874f, 0.010380f, -0.034825f, -0.007087f, -0.013010f, 0.006144f, -0.013125f, 0.003232f, -0.026984f, -0.038775f, 0.042518f, -0.029370f, 0.064623f, -0.039873f, -0.036149f, -0.024459f, -0.045438f, 0.004006f, -0.000907f, 0.067923f, -0.050356f, -0.053055f, 0.027323f, 0.017499f, -0.043975f, -0.058415f, -0.006526f, -0.032911f, 0.037816f, 0.008075f, -0.048424f, 0.031413f, -0.008316f, -0.074353f, 0.048769f, -0.033159f, 0.031809f, -0.055319f, -0.013607f, -0.001531f, -0.023336f, -0.009530f, 0.006301f, 0.069849f, -0.018928f, -0.006529f, -0.020157f, 0.019954f, -0.033142f, 0.025865f, 0.054492f, -0.003349f, 0.054789f, 0.043106f, -0.006646f, + 0.087968f, -0.005248f, 0.010175f, -0.002683f, 0.024837f, 0.088578f, -0.007286f, -0.024626f, -0.094788f, 0.073329f, 0.026200f, 0.062591f, 0.021345f, -0.049345f, 0.021931f, 0.013982f, 0.009043f, -0.043822f, 0.024997f, 0.005028f, 0.007223f, -0.023601f, -0.006847f, 0.029852f, 0.025654f, 0.001045f, -0.003077f, -0.003147f, -0.003430f, 0.007243f, 0.018806f, -0.038506f, -0.011330f, -0.005409f, 0.006149f, -0.007944f, 0.008550f, 0.008195f, 0.012133f, -0.009059f, -0.020403f, 0.031632f, 0.049670f, 0.017304f, -0.025453f, -0.021955f, -0.009395f, -0.007536f, 0.013464f, 0.006683f, -0.004947f, -0.031432f, -0.022442f, -0.025476f, -0.002466f, 0.024293f, 0.010726f, 0.020478f, 0.007870f, -0.034249f, -0.006110f, 0.014917f, 0.033286f, 0.020784f, -0.013949f, -0.010495f, -0.007996f, 0.004775f, 0.005807f, -0.000725f, -0.001989f, -0.006540f, 0.052331f, -0.100001f, 0.004133f, -0.112581f, -0.037533f, -0.018877f, 0.034646f, 0.104533f, 0.088883f, 0.032931f, 0.052595f, -0.033690f, -0.028351f, 0.005343f, -0.007403f, 0.024428f, 0.007931f, -0.023268f, 0.035251f, 0.051790f, 0.043072f, 0.032285f, 0.027321f, -0.000586f, + 0.005099f, -0.017228f, 0.049006f, 0.023040f, -0.009059f, -0.029761f, 0.010321f, 0.020285f, -0.005050f, 0.064063f, 0.066881f, -0.038247f, -0.028230f, 0.001702f, 0.052014f, 0.032544f, 0.008553f, 0.006621f, -0.012108f, -0.023063f, 0.013147f, 0.079840f, -0.031973f, -0.039120f, -0.042616f, 0.041842f, 0.017234f, -0.023595f, -0.036828f, -0.059163f, -0.070118f, 0.007976f, 0.015666f, 0.012952f, -0.015277f, -0.004955f, -0.019118f, 0.014134f, -0.055884f, -0.091970f, -0.041331f, -0.006186f, -0.015446f, -0.035774f, 0.046379f, 0.077347f, -0.017117f, 0.040015f, 0.085370f, 0.055774f, 0.019955f, -0.058493f, 0.009718f, 0.010790f, -0.051731f, -0.028500f, -0.008082f, -0.041138f, 0.045371f, 0.064564f, -0.003672f, -0.014626f, -0.007765f, -0.018552f, -0.010286f, -0.026065f, -0.025590f, -0.009264f, -0.012625f, 0.009470f, -0.005602f, -0.006921f, 0.012834f, -0.038833f, -0.004578f, 0.003414f, 0.039799f, -0.040378f, -0.006459f, -0.009044f, 0.007667f, -0.025637f, -0.008940f, 0.008094f, -0.014007f, -0.023683f, -0.003795f, -0.001626f, -0.023292f, 0.027776f, -0.037661f, -0.004053f, -0.013823f, 0.008596f, -0.003897f, -0.010915f, + -0.021957f, 0.000930f, 0.011182f, -0.007657f, 0.005267f, -0.063779f, 0.051430f, -0.006535f, 0.044187f, 0.026803f, 0.001018f, 0.029303f, -0.012858f, -0.003294f, 0.025234f, 0.030929f, 0.004765f, 0.000156f, -0.001017f, -0.028163f, -0.018296f, 0.007526f, -0.039256f, 0.001054f, -0.014760f, 0.000950f, -0.033285f, 0.005669f, 0.001853f, -0.030288f, 0.025284f, 0.010748f, 0.017112f, -0.038038f, -0.010270f, 0.007163f, -0.001997f, 0.002745f, 0.021812f, 0.004819f, 0.006106f, -0.004376f, -0.008436f, -0.005966f, -0.003127f, 0.014072f, -0.006378f, -0.024293f, 0.019664f, -0.033402f, -0.010492f, -0.011467f, 0.003999f, -0.016357f, -0.019375f, 0.025414f, -0.003247f, -0.025516f, 0.015583f, -0.035581f, 0.028490f, 0.008852f, 0.001338f, 0.029335f, 0.032659f, 0.004523f, 0.009304f, -0.024539f, 0.031680f, -0.015520f, -0.021680f, -0.001886f, 0.004683f, 0.059881f, -0.026921f, -0.044251f, 0.037895f, -0.014438f, 0.037865f, -0.006430f, 0.002483f, -0.016577f, 0.022933f, -0.038460f, -0.031891f, -0.012645f, 0.015064f, 0.008979f, -0.002330f, 0.018403f, -0.022864f, -0.023156f, -0.015367f, 0.005449f, 0.006691f, 0.001348f, + -0.000994f, -0.007020f, 0.003969f, -0.031943f, 0.006466f, 0.006488f, -0.007697f, -0.002980f, 0.009628f, -0.005146f, -0.013641f, 0.016482f, -0.008240f, 0.002013f, -0.000700f, -0.004212f, 0.011146f, 0.004790f, -0.011573f, -0.001359f, -0.002749f, -0.010388f, -0.002228f, -0.003872f, -0.021254f, 0.006448f, 0.012989f, 0.010337f, -0.009647f, 0.009646f, -0.015506f, -0.004890f, 0.000390f, -0.010093f, 0.031719f, -0.013324f, -0.165749f, -0.316541f, -0.112348f, -0.247743f, -0.282386f, 0.069776f, -0.009076f, 0.095418f, 0.367178f, 0.398052f, 0.281204f, 0.400884f, 0.329564f, 0.109705f, 0.115716f, 0.085733f, -0.220535f, -0.227111f, -0.126154f, -0.220447f, -0.238340f, -0.079546f, -0.069957f, -0.200833f, -0.151217f, -0.024182f, -0.089426f, -0.109461f, -0.026897f, -0.083679f, -0.148353f, -0.084302f, 0.028107f, -0.059274f, -0.073171f, 0.087816f, -0.014479f, -0.082335f, 0.075753f, 0.139987f, -0.031941f, 0.035286f, 0.216692f, 0.030191f, -0.069024f, 0.143946f, 0.125765f, -0.123990f, 0.071567f, 0.158598f, -0.049009f, 0.017661f, 0.274500f, 0.209541f, 0.105717f, 0.385436f, 0.429057f, 0.219574f, 0.395169f, 0.510208f, + 0.320332f, 0.302275f, 0.419512f, 0.269859f, 0.171763f, 0.190193f, 0.099098f, -0.114944f, -0.222735f, -0.302167f, -0.516029f, -0.627920f, -0.711975f, -0.805134f, -0.793935f, -0.860520f, -0.768777f, -0.570581f, -0.570605f, -0.449749f, -0.040175f, -0.023079f, 0.011780f, 0.322858f, 0.255042f, 0.085092f, 0.169290f, 0.251902f, 0.093331f, 0.112500f, 0.255737f, 0.186280f, 0.038064f, 0.153537f, 0.216513f, 0.093181f, 0.116693f, 0.266328f, 0.099806f, -0.042059f, 0.122823f, 0.086002f, -0.058888f, 0.116013f, 0.257226f, 0.121192f, 0.189640f, 0.410488f, 0.341370f, 0.323507f, 0.482073f, 0.445259f, 0.306887f, 0.266898f, 0.239240f, 0.089639f, -0.003540f, 0.012859f, -0.050384f, -0.160259f, -0.159609f, -0.183231f, -0.313753f, -0.350936f, -0.336497f, -0.377425f, -0.452919f, -0.396673f, -0.383529f, -0.409111f, -0.316843f, -0.214172f, -0.167653f, -0.105619f, 0.003808f, 0.042392f, 0.035478f, 0.058890f, 0.064649f, 0.033182f, 0.030276f, 0.059382f, 0.051335f, 0.034940f, 0.042030f, 0.049155f, 0.037211f, 0.048372f, 0.074016f, 0.081475f, 0.078305f, 0.091354f, 0.096935f, 0.080220f, 0.091982f, 0.084629f, + 0.052786f, 0.027218f, 0.011784f, -0.000740f, -0.010546f, -0.007754f, -0.007884f, -0.015521f, -0.016698f, -0.006231f, 0.007547f, 0.026962f, 0.038547f, 0.046521f, 0.048299f, 0.043324f, 0.043302f, 0.053653f, 0.051998f, 0.050318f, 0.058087f, 0.055003f, 0.040897f, 0.042497f, 0.040543f, 0.024668f, 0.020157f, 0.024769f, 0.011501f, -0.001319f, -0.004005f, -0.017909f, -0.037855f, -0.040677f, -0.046097f, -0.064018f, -0.071136f, -0.066714f, -0.076121f, -0.081518f, -0.072414f, -0.071566f, -0.074669f, -0.065624f, -0.052803f, -0.050114f, -0.042927f, -0.030458f, -0.030326f, -0.029478f, -0.022296f, -0.014951f, -0.011272f, -0.001026f, 0.008164f, 0.011320f, 0.015603f, 0.025839f, 0.035257f, 0.040661f, 0.047946f, 0.048425f, 0.043437f, 0.037703f, 0.034087f, 0.030710f, 0.026461f, 0.021767f, 0.017134f, 0.013122f, 0.009867f, 0.009183f, 0.008321f, 0.006305f, 0.005285f, 0.004357f, 0.002371f, 0.001046f, 0.000191f, -0.000671f, -0.001368f, -0.001619f}, + {-0.008214f, 0.006698f, 0.007177f, -0.003505f, 0.007203f, -0.004454f, -0.001025f, 0.009607f, -0.004027f, 0.004534f, 0.002744f, -0.010794f, -0.004901f, 0.007987f, -0.003199f, -0.001604f, 0.005007f, 0.003288f, 0.003551f, 0.000901f, 0.012342f, 0.002051f, -0.003245f, 0.002713f, -0.004343f, 0.007616f, -0.002268f, -0.004293f, -0.001891f, -0.010110f, -0.003455f, -0.007466f, 0.002374f, -0.000196f, 0.002665f, -0.003034f, 0.004160f, 0.001919f, -0.000511f, 0.001218f, 0.000627f, 0.000901f, 0.001310f, -0.005382f, 0.013214f, 0.001885f, -0.004880f, 0.009753f, -0.002410f, -0.008553f, -0.009345f, 0.008997f, -0.001852f, -0.000798f, 0.005955f, 0.000602f, -0.001608f, 0.004620f, -0.000550f, 0.002646f, 0.000738f, 0.003382f, -0.001846f, 0.003689f, -0.001741f, 0.004397f, 0.006449f, 0.003459f, -0.003884f, -0.004017f, -0.001983f, 0.001674f, -0.004146f, 0.002821f, -0.002057f, 0.003520f, 0.004638f, -0.005880f, -0.003319f, 0.004993f, 0.001467f, -0.001674f, 0.007772f, 0.004455f, 0.003690f, -0.000462f, 0.002021f, -0.000230f, 0.001006f, -0.000976f, 0.001153f, 0.000389f, 0.000530f, -0.001848f, 0.002861f, 0.000876f, + 0.000174f, -0.000575f, 0.001144f, 0.001818f, -0.001024f, 0.001963f, -0.000146f, 0.008419f, 0.001589f, 0.001850f, 0.007055f, 0.000002f, 0.005071f, 0.002364f, -0.000661f, 0.000460f, -0.005651f, 0.002518f, 0.000373f, 0.008654f, 0.003022f, 0.002779f, 0.000321f, 0.002496f, 0.009522f, -0.009143f, 0.005056f, 0.001265f, -0.006044f, -0.002766f, -0.003770f, -0.001301f, -0.003501f, 0.002339f, 0.011013f, 0.006881f, 0.008211f, 0.006481f, 0.011231f, 0.008135f, -0.010300f, -0.018672f, -0.002408f, 0.000781f, -0.004585f, 0.009702f, -0.000467f, 0.014576f, -0.006898f, -0.006960f, 0.006274f, 0.000256f, 0.000478f, 0.005716f, -0.010759f, 0.002661f, -0.007716f, 0.010061f, 0.005937f, -0.000127f, 0.015378f, 0.000597f, -0.001516f, -0.002000f, -0.002748f, -0.003915f, 0.007263f, 0.003812f, -0.003793f, -0.001320f, -0.010772f, -0.004810f, -0.001453f, 0.011166f, 0.007651f, 0.001289f, 0.005633f, 0.000124f, 0.006002f, -0.000077f, 0.002466f, -0.006533f, -0.004189f, 0.001483f, 0.000813f, -0.000423f, -0.003292f, 0.002940f, 0.003532f, -0.000989f, -0.003379f, -0.000696f, 0.003563f, -0.000648f, 0.001889f, -0.001799f, + -0.001014f, -0.001436f, 0.001126f, -0.001268f, 0.000190f, -0.000167f, 0.001799f, -0.001587f, 0.001738f, 0.002630f, -0.001294f, 0.000559f, 0.000213f, -0.000141f, 0.003254f, -0.001133f, 0.000822f, -0.001304f, 0.001292f, 0.000871f, 0.000553f, -0.000468f, 0.002863f, -0.000228f, 0.000143f, 0.001131f, 0.003223f, 0.006842f, 0.015447f, 0.004595f, 0.000761f, 0.000568f, 0.004413f, 0.004129f, 0.001001f, 0.002519f, 0.003562f, -0.000143f, -0.000242f, 0.004488f, 0.017464f, 0.005911f, 0.013643f, -0.007589f, -0.006191f, -0.002447f, -0.008066f, -0.009438f, -0.003729f, 0.007158f, -0.011685f, -0.001543f, -0.001304f, -0.018402f, 0.003803f, -0.018590f, -0.006133f, -0.002383f, 0.004525f, 0.000170f, 0.003983f, -0.003539f, -0.000101f, -0.012505f, 0.004724f, -0.004069f, -0.006964f, 0.001448f, 0.003634f, -0.000469f, 0.001012f, 0.005520f, 0.009656f, -0.015990f, 0.004494f, 0.001219f, -0.004677f, -0.005006f, -0.000957f, 0.002355f, -0.002073f, -0.009563f, -0.002200f, 0.002772f, 0.005135f, -0.000530f, 0.012109f, 0.001201f, 0.000614f, 0.005059f, -0.007628f, 0.011535f, 0.003708f, 0.006915f, 0.003094f, 0.005812f, + -0.001118f, -0.000933f, 0.003437f, 0.002130f, -0.001523f, -0.003287f, -0.002727f, -0.005531f, -0.000097f, -0.007474f, 0.000570f, 0.004606f, -0.000339f, -0.003089f, -0.005925f, 0.005476f, -0.003130f, 0.002320f, 0.000862f, -0.000776f, -0.005639f, 0.000644f, -0.000492f, 0.001569f, -0.001699f, -0.001477f, 0.000524f, -0.001660f, -0.003088f, -0.001504f, -0.001272f, -0.000129f, -0.002025f, -0.000171f, -0.001140f, 0.002862f, -0.000470f, -0.001260f, -0.000459f, 0.001617f, -0.000550f, -0.002229f, -0.002568f, 0.002962f, 0.000067f, 0.000442f, -0.001619f, 0.009095f, 0.009946f, -0.000390f, 0.010981f, 0.000624f, -0.001505f, 0.001286f, 0.000861f, -0.002117f, -0.000168f, -0.007780f, -0.004459f, 0.006816f, 0.008043f, -0.009551f, -0.002317f, 0.003873f, -0.006375f, -0.018211f, 0.004464f, 0.006642f, 0.007837f, -0.004236f, -0.004858f, -0.006537f, 0.009849f, 0.011215f, 0.001889f, 0.004385f, -0.008905f, -0.007242f, 0.008340f, 0.003102f, -0.006684f, 0.011580f, -0.011718f, 0.001873f, 0.001076f, 0.010854f, 0.003976f, -0.002486f, 0.001745f, -0.003855f, 0.005959f, -0.014318f, -0.004257f, -0.020598f, -0.008995f, 0.010324f, + -0.000901f, 0.015869f, -0.002204f, -0.013378f, 0.008396f, 0.001784f, -0.005470f, -0.000702f, 0.000619f, -0.005458f, 0.003509f, 0.009477f, 0.010729f, 0.000226f, 0.005115f, -0.000563f, 0.012213f, -0.006300f, 0.005268f, -0.001219f, -0.000238f, 0.000330f, 0.004213f, -0.001321f, 0.015290f, 0.001471f, 0.001366f, -0.002432f, 0.009001f, 0.003026f, -0.003063f, -0.006505f, 0.000121f, 0.006108f, 0.002115f, 0.001753f, -0.004016f, -0.000263f, 0.001223f, -0.000669f, -0.001078f, -0.001153f, -0.002150f, 0.001617f, 0.000129f, 0.000680f, 0.001293f, 0.003184f, -0.001277f, -0.003392f, 0.003680f, -0.001038f, 0.000361f, 0.000026f, -0.000443f, -0.000479f, 0.001459f, 0.001295f, 0.001783f, -0.000688f, 0.001664f, -0.000086f, 0.000963f, 0.001615f, -0.000383f, 0.000168f, 0.001414f, 0.002104f, 0.001173f, 0.001313f, 0.000432f, 0.000127f, 0.011045f, -0.015381f, -0.002261f, -0.010477f, -0.010870f, 0.003678f, 0.001923f, 0.022002f, 0.001003f, 0.007998f, -0.018649f, -0.004583f, 0.003937f, -0.009769f, 0.006205f, 0.001695f, 0.001422f, 0.005249f, 0.006114f, 0.014382f, 0.006333f, -0.002457f, 0.004461f, -0.007402f, + 0.001975f, 0.005711f, -0.000539f, 0.001062f, 0.006312f, 0.008181f, 0.019979f, 0.003781f, -0.003127f, -0.013917f, -0.000714f, 0.010299f, -0.016424f, 0.001652f, -0.001329f, 0.004972f, -0.008297f, -0.009773f, 0.017291f, -0.011278f, 0.003467f, -0.000846f, -0.011036f, 0.025030f, 0.006376f, 0.013057f, 0.006991f, 0.014292f, -0.002771f, -0.005571f, 0.009085f, -0.008619f, 0.006959f, -0.006896f, 0.003737f, 0.009813f, 0.005386f, -0.004596f, -0.000867f, 0.004949f, -0.008909f, -0.006650f, 0.000409f, -0.001175f, 0.014794f, -0.008320f, -0.014042f, -0.002218f, 0.007636f, 0.012420f, -0.007884f, -0.013315f, -0.003002f, 0.018212f, 0.002320f, -0.000144f, -0.006657f, 0.000768f, -0.000486f, 0.005536f, 0.005720f, -0.000498f, 0.002684f, 0.002992f, -0.009043f, -0.002188f, 0.002982f, -0.000565f, 0.005126f, 0.001956f, 0.000428f, -0.003915f, -0.000494f, -0.000643f, 0.001910f, -0.000733f, 0.005357f, -0.001186f, -0.000659f, -0.002832f, 0.000510f, -0.003547f, 0.000063f, -0.000503f, 0.001269f, 0.003051f, 0.000019f, 0.002534f, -0.000261f, -0.003336f, -0.000730f, 0.000184f, 0.001745f, -0.005772f, 0.006783f, -0.023996f, + 0.013755f, 0.004116f, -0.005294f, 0.007432f, -0.019599f, -0.016331f, 0.002227f, -0.008009f, 0.018735f, 0.016667f, 0.017696f, -0.011642f, 0.006935f, 0.000371f, 0.017638f, 0.001353f, 0.012495f, 0.005082f, -0.005163f, -0.015682f, -0.014234f, 0.004684f, -0.018997f, -0.000171f, -0.004425f, -0.009155f, -0.012664f, -0.007370f, 0.000191f, 0.015470f, 0.000134f, 0.006105f, -0.021753f, -0.012073f, -0.002247f, -0.013565f, 0.001025f, 0.013821f, -0.014749f, 0.006243f, -0.000114f, -0.004943f, -0.001312f, -0.003053f, 0.015148f, 0.008221f, 0.007580f, -0.003495f, -0.004534f, 0.020899f, -0.006225f, -0.005541f, -0.017072f, 0.012633f, -0.024262f, 0.003454f, -0.007945f, 0.003923f, 0.008688f, -0.005732f, -0.012929f, -0.007899f, 0.000931f, 0.017752f, -0.008816f, -0.001825f, -0.011400f, -0.009091f, 0.005742f, 0.006248f, 0.013966f, -0.016150f, -0.000097f, -0.008496f, -0.005651f, 0.003538f, -0.006401f, -0.012660f, -0.007270f, -0.001008f, 0.011734f, 0.012044f, 0.004152f, 0.000759f, 0.001761f, 0.005559f, 0.000484f, 0.000962f, 0.002490f, -0.003258f, 0.000363f, 0.005053f, -0.001461f, 0.000698f, 0.006039f, -0.001368f, + -0.000216f, 0.001081f, 0.004396f, 0.000086f, 0.000691f, 0.001712f, 0.000753f, 0.003799f, -0.004345f, -0.004700f, -0.000321f, -0.001642f, 0.000050f, 0.002799f, -0.001175f, 0.005073f, 0.003303f, -0.022331f, 0.006164f, 0.002211f, 0.003906f, -0.030800f, 0.027795f, 0.000706f, -0.000464f, -0.000409f, -0.009900f, 0.003387f, 0.000502f, 0.010037f, -0.008522f, 0.011237f, 0.003317f, -0.006781f, -0.011764f, -0.014764f, 0.007623f, 0.001457f, -0.001141f, 0.001157f, -0.008446f, 0.009415f, 0.007080f, 0.017260f, 0.010327f, 0.006905f, 0.009597f, -0.002102f, -0.009309f, -0.006952f, 0.000712f, -0.004848f, 0.007551f, -0.008232f, -0.012513f, -0.013747f, 0.000953f, -0.018854f, 0.008805f, 0.010060f, -0.011212f, 0.011704f, -0.013570f, 0.007009f, -0.020085f, 0.002848f, -0.003584f, 0.001602f, -0.005246f, -0.000182f, -0.018677f, -0.003029f, -0.006346f, -0.011813f, -0.003074f, -0.009203f, 0.003091f, -0.008283f, -0.004715f, -0.011943f, 0.005455f, -0.011416f, -0.000723f, 0.018604f, -0.003027f, 0.000666f, 0.006127f, -0.003998f, -0.018654f, -0.021310f, -0.003449f, -0.014867f, 0.000864f, -0.003976f, 0.014093f, 0.001128f, + 0.005380f, -0.014004f, 0.001370f, -0.003077f, -0.002443f, 0.010305f, 0.002651f, -0.001112f, -0.005433f, 0.002875f, 0.004083f, 0.001535f, 0.005502f, -0.000127f, 0.003126f, -0.001515f, -0.000432f, 0.000892f, 0.001064f, 0.002012f, -0.000391f, 0.006018f, -0.001559f, -0.004970f, 0.002204f, 0.000017f, 0.001654f, 0.002042f, 0.001390f, -0.000654f, -0.002473f, 0.001587f, -0.004441f, 0.001846f, 0.009127f, 0.006329f, -0.019005f, -0.000412f, 0.003617f, -0.017678f, -0.020153f, 0.011329f, -0.019781f, 0.004081f, 0.013517f, -0.009481f, -0.022765f, -0.009629f, 0.000743f, 0.015367f, -0.005951f, 0.026947f, -0.001641f, -0.001889f, -0.015230f, -0.010743f, -0.001623f, 0.005621f, 0.001704f, -0.005296f, -0.004441f, -0.001027f, -0.005562f, -0.011232f, 0.009626f, -0.009269f, -0.005627f, 0.010252f, 0.003159f, -0.015944f, -0.017016f, -0.015604f, 0.013867f, -0.014498f, -0.015710f, 0.026151f, -0.016099f, 0.011661f, -0.002094f, 0.007213f, -0.023221f, 0.010915f, 0.001516f, -0.003600f, -0.000980f, -0.004367f, 0.007730f, 0.005740f, 0.022210f, -0.005364f, -0.004024f, 0.010654f, 0.021465f, 0.006049f, 0.004451f, -0.009901f, + -0.006510f, -0.017377f, -0.003582f, -0.000261f, -0.000040f, 0.012913f, -0.003864f, 0.006991f, 0.022451f, -0.003248f, -0.000681f, -0.002419f, -0.000304f, -0.022500f, -0.025792f, 0.001504f, 0.017239f, 0.000396f, -0.034285f, 0.009180f, -0.011922f, 0.005966f, -0.021367f, -0.013193f, -0.003234f, 0.000806f, -0.007760f, 0.003644f, 0.008053f, -0.000788f, -0.000960f, -0.000575f, -0.003580f, 0.003721f, -0.004099f, 0.003704f, 0.000617f, 0.001326f, -0.003571f, -0.002339f, -0.005025f, 0.002558f, 0.000450f, -0.001422f, -0.004824f, -0.000924f, -0.001401f, -0.002984f, -0.003557f, 0.002373f, -0.004056f, -0.001427f, 0.003573f, 0.001210f, -0.001941f, -0.000151f, 0.000153f, -0.005101f, 0.000601f, -0.003180f, -0.004182f, -0.000303f, -0.001074f, 0.009495f, -0.001609f, 0.011248f, -0.001733f, -0.004783f, -0.006905f, 0.009541f, 0.005886f, -0.005338f, 0.004329f, 0.009709f, -0.005112f, -0.033098f, -0.014406f, -0.006509f, -0.003695f, 0.014757f, -0.025949f, -0.019054f, 0.015902f, 0.009857f, 0.040040f, 0.011277f, 0.009220f, 0.010999f, 0.005065f, -0.007193f, 0.000787f, -0.007576f, 0.012746f, 0.000557f, 0.012867f, 0.000375f, + -0.000382f, -0.017598f, 0.009103f, -0.011944f, 0.009245f, -0.001849f, 0.009697f, 0.003831f, 0.013022f, -0.020362f, 0.002364f, -0.014131f, 0.016958f, 0.001020f, -0.017052f, 0.022498f, 0.016634f, 0.010678f, -0.010222f, -0.034306f, 0.009859f, -0.003739f, -0.004268f, 0.016788f, -0.001636f, 0.007763f, 0.016230f, -0.003601f, -0.020609f, -0.000183f, 0.009231f, 0.006000f, -0.005539f, -0.002304f, -0.015106f, 0.005603f, 0.002061f, 0.003185f, -0.002271f, 0.002130f, 0.012992f, -0.008104f, 0.005928f, -0.002147f, -0.000495f, 0.023400f, -0.006291f, 0.010743f, 0.007722f, -0.007393f, -0.008233f, 0.002906f, 0.001766f, -0.003955f, 0.001973f, -0.004118f, 0.003773f, -0.003681f, 0.008914f, 0.000792f, 0.008523f, 0.001617f, -0.000216f, 0.010708f, 0.003809f, -0.003200f, 0.003016f, -0.002538f, -0.003343f, 0.001532f, 0.004274f, -0.004083f, 0.002727f, -0.002121f, -0.004164f, -0.000217f, 0.004265f, -0.001990f, -0.004636f, 0.001399f, -0.002166f, -0.007212f, 0.003112f, -0.000011f, -0.003666f, -0.002199f, -0.001203f, -0.004100f, -0.000335f, 0.005283f, 0.007638f, -0.007252f, 0.000989f, 0.008455f, -0.009527f, -0.037429f, + 0.007543f, 0.009007f, 0.037767f, -0.008016f, -0.006162f, 0.017833f, 0.023438f, -0.038414f, -0.021948f, 0.020876f, -0.010958f, 0.000632f, 0.008517f, -0.024491f, -0.053571f, -0.021071f, 0.030335f, 0.024112f, 0.020387f, -0.006279f, 0.011399f, -0.006307f, 0.010492f, -0.011209f, 0.003649f, -0.027050f, 0.006544f, -0.009583f, 0.013767f, 0.013395f, 0.000402f, -0.012796f, 0.012529f, 0.007890f, 0.021683f, -0.002301f, -0.013571f, -0.006771f, -0.034339f, -0.017568f, 0.008335f, -0.002339f, -0.023025f, 0.015538f, 0.021289f, -0.030313f, 0.029203f, -0.002837f, -0.003292f, 0.018367f, 0.003715f, 0.017365f, -0.002361f, 0.006185f, -0.006698f, -0.003577f, 0.008736f, 0.034936f, -0.012726f, 0.022230f, -0.001950f, 0.002045f, 0.008299f, 0.019354f, -0.018007f, 0.002046f, 0.028334f, 0.008440f, -0.013111f, 0.007536f, 0.011138f, 0.002585f, 0.022246f, 0.016100f, 0.027986f, -0.002578f, 0.007962f, -0.000294f, 0.000886f, -0.015651f, -0.010933f, -0.012451f, -0.006112f, -0.000063f, -0.002707f, -0.005060f, -0.004546f, 0.008350f, 0.012042f, 0.005531f, -0.006358f, 0.009741f, -0.002951f, -0.001596f, -0.005968f, -0.004739f, + 0.006061f, 0.002018f, -0.002345f, 0.000368f, -0.006614f, -0.005542f, -0.006511f, 0.000126f, -0.003688f, 0.005681f, 0.003385f, -0.002428f, 0.002407f, 0.006659f, -0.004195f, 0.003061f, 0.003774f, -0.003563f, -0.003340f, -0.003791f, -0.000744f, -0.001083f, 0.004019f, -0.001401f, 0.000567f, -0.001740f, -0.024348f, -0.006209f, 0.025112f, 0.015955f, 0.018930f, -0.012289f, -0.006207f, -0.001974f, -0.002660f, 0.026909f, 0.003465f, -0.027680f, -0.012354f, -0.008462f, 0.017743f, 0.003470f, 0.003806f, 0.015087f, 0.033003f, -0.048808f, 0.032353f, -0.006426f, -0.005798f, -0.012614f, 0.009609f, 0.009964f, 0.019001f, 0.002964f, 0.018106f, -0.001875f, -0.004870f, 0.005632f, -0.003063f, 0.009270f, 0.016642f, 0.001980f, -0.001289f, 0.021931f, -0.016339f, -0.003026f, 0.005316f, -0.001906f, 0.019291f, -0.022812f, 0.002042f, -0.019520f, 0.003136f, -0.020695f, -0.002964f, 0.000643f, 0.011309f, 0.028039f, -0.016400f, -0.009008f, -0.017002f, -0.000984f, -0.024831f, -0.016101f, -0.016345f, 0.011004f, 0.020196f, 0.000262f, 0.040062f, -0.025431f, 0.035793f, -0.025269f, -0.005969f, 0.011069f, 0.008093f, 0.035543f, + 0.020421f, -0.026607f, 0.013843f, -0.011153f, -0.036859f, -0.000920f, -0.023393f, 0.029403f, 0.044594f, 0.028428f, -0.005621f, -0.015818f, -0.005905f, 0.024994f, -0.003795f, 0.013030f, 0.001434f, 0.005779f, 0.008745f, 0.002801f, 0.003432f, 0.002955f, -0.010986f, 0.007579f, 0.000047f, 0.003202f, -0.004296f, -0.003588f, -0.010437f, -0.005786f, -0.003655f, 0.006365f, -0.003263f, 0.004269f, 0.005285f, -0.002032f, -0.001418f, 0.000149f, 0.006030f, 0.003896f, 0.002174f, 0.011429f, -0.000271f, 0.011941f, -0.010713f, -0.004679f, 0.007579f, 0.007406f, -0.004545f, 0.002538f, -0.003831f, -0.007748f, 0.000812f, -0.002747f, -0.025451f, -0.016354f, -0.000642f, 0.030624f, -0.006098f, 0.013457f, 0.028429f, -0.024351f, 0.010256f, -0.038846f, 0.023179f, -0.023911f, -0.011810f, 0.037261f, 0.012494f, 0.040184f, -0.017483f, 0.000072f, -0.018521f, 0.011475f, 0.051565f, 0.013103f, 0.017320f, -0.026377f, -0.005265f, 0.001086f, 0.019689f, 0.017406f, 0.032906f, -0.027175f, -0.009627f, -0.029555f, -0.025153f, 0.001642f, 0.001776f, 0.017172f, -0.017252f, 0.011961f, -0.040107f, 0.024777f, 0.018706f, 0.008793f, + -0.007022f, -0.004932f, 0.002321f, 0.011639f, 0.003651f, 0.003122f, -0.000476f, 0.026882f, 0.022949f, 0.009817f, 0.001807f, -0.020738f, -0.020480f, 0.055709f, 0.001797f, 0.006760f, 0.030902f, 0.013578f, -0.009102f, -0.006810f, 0.019559f, 0.040050f, -0.029461f, -0.012383f, -0.033165f, -0.030794f, 0.039129f, 0.017403f, 0.000137f, -0.007966f, 0.012795f, 0.029735f, 0.018859f, 0.030687f, 0.008373f, -0.014035f, 0.022142f, -0.016238f, -0.041252f, 0.011895f, 0.001209f, 0.000460f, -0.000159f, 0.016943f, 0.029414f, -0.006281f, 0.015450f, 0.017235f, 0.015634f, 0.001644f, 0.003273f, 0.015074f, -0.000057f, -0.004984f, -0.003603f, -0.006674f, 0.014705f, -0.008943f, -0.002742f, 0.003505f, 0.008191f, 0.000962f, -0.001639f, 0.015709f, 0.003089f, -0.003658f, 0.011779f, 0.015010f, 0.006789f, -0.006652f, -0.000313f, -0.003139f, 0.004454f, -0.000137f, -0.000195f, -0.000708f, -0.003771f, 0.005036f, 0.001806f, 0.001060f, 0.004943f, 0.006519f, -0.001447f, -0.007703f, -0.003111f, -0.001246f, 0.008775f, 0.002877f, -0.006551f, 0.001953f, 0.003395f, 0.009361f, 0.004059f, -0.000814f, 0.008760f, 0.000142f, + 0.004517f, -0.003669f, -0.000121f, -0.000345f, 0.001515f, -0.001276f, 0.012138f, -0.026092f, -0.019467f, -0.007639f, -0.024251f, 0.027332f, -0.003055f, -0.006974f, -0.023084f, -0.003854f, -0.021487f, -0.053304f, 0.009290f, -0.006577f, -0.016779f, 0.012033f, -0.028229f, -0.001734f, -0.015409f, -0.042748f, -0.009748f, -0.018562f, -0.020199f, 0.034116f, -0.009097f, -0.012363f, -0.006167f, -0.000827f, -0.008621f, -0.012107f, -0.001893f, 0.008960f, 0.028942f, 0.021724f, -0.000783f, -0.001740f, -0.048451f, 0.002901f, 0.006666f, 0.019814f, -0.011154f, -0.010149f, 0.073616f, -0.012717f, -0.035927f, -0.035033f, 0.030558f, -0.020525f, 0.008853f, -0.041517f, 0.010355f, -0.011721f, -0.022116f, -0.019270f, -0.047064f, 0.007457f, 0.013584f, 0.033386f, 0.009916f, -0.018270f, 0.026465f, 0.002992f, 0.024901f, 0.027470f, 0.079609f, 0.021190f, 0.005593f, -0.031085f, -0.034591f, -0.009479f, 0.003772f, -0.004590f, -0.031296f, 0.013918f, 0.036471f, 0.008228f, 0.025967f, 0.039914f, 0.036021f, -0.015452f, -0.028681f, -0.019869f, 0.002624f, 0.006162f, -0.003433f, -0.030753f, 0.005983f, -0.025060f, 0.007690f, -0.011261f, + 0.001720f, -0.013959f, 0.009102f, -0.002535f, 0.005827f, 0.000476f, -0.005749f, -0.014286f, -0.003115f, -0.000634f, 0.008308f, 0.011074f, 0.009085f, 0.012800f, 0.000864f, 0.010898f, 0.019705f, 0.000139f, 0.003827f, 0.010684f, 0.003921f, -0.010279f, -0.005557f, -0.017271f, -0.004884f, 0.009781f, 0.005858f, 0.000862f, -0.002120f, 0.006034f, 0.003729f, -0.003992f, -0.007786f, -0.015206f, 0.002055f, 0.001880f, -0.001990f, -0.005301f, -0.001001f, -0.005700f, 0.002973f, -0.010731f, -0.032188f, -0.013961f, -0.005036f, 0.009848f, -0.011805f, 0.019045f, -0.009982f, -0.013212f, 0.037043f, 0.019234f, 0.042134f, 0.000483f, -0.012315f, -0.016707f, 0.044677f, -0.038477f, -0.014393f, 0.052153f, -0.031555f, 0.010385f, 0.010813f, 0.013495f, 0.003015f, 0.029287f, -0.009206f, 0.026353f, -0.010068f, 0.005726f, 0.006257f, -0.013629f, 0.019562f, -0.029770f, -0.020747f, -0.019336f, -0.008921f, -0.026468f, -0.048748f, -0.008916f, -0.014637f, 0.007696f, -0.012605f, -0.064754f, 0.017931f, 0.040595f, -0.002404f, -0.008698f, 0.063557f, -0.078856f, -0.017111f, 0.043908f, -0.010831f, 0.034063f, -0.025115f, -0.015602f, + 0.011784f, -0.075260f, 0.024275f, -0.025661f, 0.037557f, 0.027587f, -0.040042f, 0.078883f, 0.011596f, 0.004139f, -0.004097f, 0.031055f, -0.057160f, 0.023333f, -0.002736f, -0.009114f, 0.015257f, -0.036960f, 0.052203f, 0.047383f, -0.087702f, 0.012549f, -0.017494f, -0.082323f, -0.014212f, -0.036780f, 0.020205f, 0.005144f, 0.014219f, -0.033268f, 0.051593f, -0.005106f, -0.013902f, 0.023803f, -0.001031f, 0.016894f, -0.003649f, 0.026701f, 0.000607f, 0.013285f, 0.004117f, -0.001231f, -0.002882f, 0.014901f, -0.010860f, -0.012212f, 0.000235f, -0.014337f, 0.021351f, -0.004731f, -0.011118f, 0.001088f, 0.009808f, 0.004663f, 0.010117f, 0.003871f, 0.024780f, 0.005810f, -0.013522f, 0.025657f, -0.013985f, 0.014565f, 0.022121f, -0.006255f, 0.004951f, 0.015467f, -0.010731f, 0.000811f, -0.013987f, 0.015121f, 0.002170f, 0.048046f, -0.021901f, -0.062580f, -0.062786f, 0.004691f, 0.007494f, -0.027753f, 0.016062f, -0.035048f, 0.010909f, -0.016032f, 0.031916f, 0.040953f, 0.001091f, 0.039614f, 0.036023f, -0.020425f, -0.000762f, -0.026055f, -0.006726f, -0.006315f, 0.013757f, -0.002790f, -0.004228f, -0.004581f, + -0.042023f, -0.063430f, -0.025646f, 0.032717f, 0.025246f, -0.027360f, -0.031431f, 0.017959f, 0.018207f, -0.041339f, 0.020485f, -0.027587f, -0.005336f, 0.031545f, 0.043904f, 0.000070f, -0.026401f, 0.016659f, 0.003132f, 0.027273f, 0.004537f, 0.022720f, 0.023468f, -0.006926f, -0.090756f, 0.010028f, 0.002149f, 0.036402f, -0.013561f, 0.037130f, 0.036805f, -0.024994f, -0.122894f, -0.016674f, 0.004805f, -0.014959f, 0.073564f, 0.077190f, 0.053784f, 0.076700f, -0.020114f, 0.035952f, -0.030561f, 0.051193f, 0.035820f, -0.060796f, 0.076333f, -0.079356f, -0.067620f, -0.063754f, 0.019991f, 0.047594f, 0.039595f, 0.013143f, -0.049844f, 0.045617f, 0.006179f, -0.016663f, -0.021461f, 0.002498f, 0.043060f, -0.033683f, -0.013600f, 0.065890f, 0.012016f, 0.030018f, 0.005594f, 0.003002f, 0.016081f, -0.025186f, 0.013253f, -0.010422f, 0.000306f, 0.006555f, -0.006581f, -0.013164f, -0.008734f, -0.011554f, -0.025308f, 0.005399f, 0.023078f, -0.004871f, 0.023600f, 0.018202f, -0.015453f, -0.012309f, -0.011514f, 0.014470f, 0.009019f, -0.030876f, -0.017966f, 0.001339f, 0.001280f, -0.004830f, 0.003844f, 0.019813f, + -0.000717f, 0.015691f, 0.001427f, -0.012117f, 0.007610f, 0.026276f, -0.048731f, -0.091932f, 0.019162f, 0.033696f, -0.005080f, 0.046373f, 0.017676f, -0.058049f, -0.014750f, 0.012163f, 0.014107f, 0.015789f, -0.011844f, 0.026687f, 0.002144f, -0.017428f, -0.008066f, 0.009405f, 0.038039f, 0.049668f, 0.037511f, 0.059595f, -0.057600f, -0.016106f, -0.015056f, -0.058930f, -0.014243f, 0.009953f, 0.002843f, 0.006381f, -0.023576f, -0.026664f, 0.029727f, 0.066987f, -0.031942f, 0.034499f, -0.022847f, 0.008850f, -0.021086f, -0.003753f, -0.052514f, -0.019232f, -0.003165f, -0.072686f, -0.042580f, -0.071142f, -0.060101f, 0.039536f, 0.093394f, 0.074496f, 0.001999f, -0.004880f, 0.000055f, -0.017014f, -0.032382f, -0.113664f, -0.038134f, -0.016470f, 0.009054f, 0.004662f, -0.040251f, -0.028182f, 0.014505f, 0.049738f, 0.029574f, 0.015894f, 0.032438f, 0.055803f, 0.021710f, -0.056273f, 0.042671f, -0.033420f, -0.017622f, 0.033008f, 0.074547f, 0.015874f, 0.095644f, -0.023095f, -0.099923f, -0.011768f, -0.032419f, -0.061366f, 0.091939f, 0.025904f, 0.029742f, -0.000445f, -0.008458f, 0.026404f, 0.021759f, 0.001003f, + -0.003996f, -0.016282f, -0.003494f, -0.005040f, 0.024921f, 0.030129f, 0.036072f, -0.004433f, -0.001624f, -0.001774f, -0.001608f, 0.023509f, -0.010520f, -0.008309f, -0.014296f, -0.011309f, 0.013230f, -0.003113f, -0.000748f, 0.003688f, 0.008312f, 0.013656f, 0.016999f, -0.002778f, -0.010633f, -0.018377f, 0.008661f, 0.003005f, 0.008138f, 0.022119f, 0.019362f, -0.010383f, 0.004603f, 0.009744f, -0.017877f, -0.005777f, -0.004418f, -0.017222f, -0.008151f, -0.001155f, 0.014817f, -0.024764f, -0.038813f, -0.063759f, 0.039940f, -0.005925f, -0.038390f, 0.018964f, 0.042336f, 0.036694f, -0.074540f, -0.064361f, 0.016429f, -0.029753f, 0.007944f, 0.036872f, -0.019617f, -0.014399f, 0.060773f, 0.016691f, -0.008151f, -0.018974f, -0.016898f, 0.022973f, -0.013339f, -0.002404f, -0.001514f, -0.024363f, -0.009252f, -0.040719f, -0.054292f, 0.019739f, 0.030044f, -0.034202f, 0.025445f, 0.017479f, -0.011647f, -0.023655f, 0.003936f, 0.043371f, 0.025084f, 0.008013f, -0.042904f, -0.048027f, -0.023271f, 0.013287f, 0.054293f, -0.040261f, -0.021197f, -0.018174f, 0.032521f, 0.087313f, 0.023293f, -0.084917f, -0.018679f, -0.009781f, + 0.043977f, 0.001225f, 0.022895f, -0.010885f, -0.019958f, -0.018630f, -0.047980f, 0.045177f, 0.047855f, 0.019421f, 0.050581f, -0.015531f, 0.032797f, -0.014856f, -0.036098f, -0.039989f, -0.042759f, 0.007828f, -0.080264f, 0.084638f, -0.003736f, -0.031830f, -0.046309f, -0.037863f, -0.002344f, -0.024716f, -0.007306f, -0.044084f, -0.027134f, -0.078506f, -0.021678f, -0.051649f, 0.019352f, -0.018200f, 0.015556f, 0.017872f, 0.019147f, -0.012792f, 0.043736f, -0.009662f, 0.031744f, 0.001386f, 0.007811f, -0.002240f, 0.013935f, -0.006509f, -0.017217f, 0.003795f, 0.005225f, 0.016420f, -0.025818f, -0.008885f, 0.006949f, -0.025468f, 0.000299f, 0.009630f, -0.031871f, -0.013840f, 0.007877f, -0.004248f, -0.024374f, -0.037788f, -0.022624f, 0.014086f, -0.007032f, 0.017649f, 0.004395f, 0.000884f, 0.025965f, 0.001997f, 0.022354f, 0.008794f, 0.013994f, 0.051932f, 0.031162f, -0.014338f, 0.008047f, -0.017872f, 0.000877f, -0.008373f, 0.065366f, 0.049078f, 0.018798f, 0.009746f, 0.030789f, 0.027908f, -0.044279f, -0.063834f, 0.021788f, 0.049968f, 0.071450f, 0.000455f, -0.015945f, -0.044545f, -0.026179f, 0.030055f, + -0.000833f, -0.038019f, -0.076754f, -0.076706f, 0.016197f, -0.023027f, 0.043072f, -0.088382f, -0.029200f, 0.017251f, 0.012742f, 0.016888f, -0.027981f, 0.012900f, -0.002370f, -0.016554f, -0.003292f, -0.041441f, 0.038292f, 0.047299f, 0.035107f, -0.055811f, -0.029871f, -0.001264f, 0.018949f, 0.028182f, 0.030084f, 0.024213f, -0.006324f, -0.003888f, -0.007577f, 0.040079f, 0.110902f, 0.070158f, -0.057761f, -0.056684f, -0.036129f, -0.073049f, 0.086194f, 0.046122f, -0.026733f, -0.075769f, -0.072756f, 0.082876f, 0.050865f, 0.011246f, 0.063628f, -0.065945f, -0.007340f, 0.004283f, -0.017064f, 0.006641f, -0.024670f, -0.066692f, 0.016578f, -0.050921f, 0.068332f, 0.064871f, -0.024731f, -0.011263f, 0.000691f, 0.007654f, 0.072713f, 0.074710f, -0.118127f, -0.065593f, -0.038007f, 0.015159f, 0.033100f, 0.032388f, -0.045819f, -0.048755f, -0.058033f, -0.006858f, 0.060013f, 0.001666f, 0.011876f, -0.013376f, -0.064192f, 0.015121f, -0.026971f, -0.033190f, 0.014555f, 0.112648f, 0.037867f, -0.020643f, -0.028863f, -0.026517f, -0.022308f, 0.029879f, 0.034961f, 0.040950f, -0.007395f, 0.026576f, -0.039832f, 0.010027f, + 0.014383f, 0.018524f, -0.014410f, 0.008169f, 0.033090f, -0.008169f, -0.009519f, -0.005107f, 0.032656f, 0.021752f, 0.050904f, 0.013317f, -0.018271f, -0.013243f, 0.018777f, 0.063554f, 0.051232f, 0.011193f, -0.037959f, -0.046047f, -0.015116f, -0.010694f, 0.010889f, 0.004998f, -0.018827f, -0.023132f, 0.043477f, -0.070976f, 0.061940f, 0.091320f, 0.099098f, -0.111641f, 0.020553f, -0.003468f, -0.009561f, 0.047314f, -0.020141f, -0.033150f, 0.032761f, 0.016699f, 0.067915f, -0.006918f, -0.053742f, 0.001627f, -0.024518f, 0.040118f, -0.061757f, -0.021872f, -0.029020f, -0.041155f, 0.056401f, -0.041246f, -0.005858f, 0.038841f, 0.022551f, -0.013691f, -0.021575f, -0.057803f, 0.007472f, 0.076148f, 0.046375f, -0.003272f, 0.022644f, -0.017175f, 0.062195f, -0.041922f, 0.028727f, -0.023138f, 0.038632f, 0.064211f, -0.014273f, -0.041704f, 0.020583f, -0.056875f, 0.094196f, 0.011051f, -0.050007f, -0.017116f, -0.078016f, 0.009951f, 0.111712f, -0.020343f, -0.065756f, -0.045914f, 0.068479f, 0.020462f, -0.035987f, -0.001823f, 0.017630f, 0.038442f, 0.094115f, -0.076796f, 0.034186f, 0.077181f, -0.011726f, -0.091195f, + -0.088357f, -0.051699f, 0.154651f, -0.113197f, 0.038310f, -0.119219f, -0.057367f, 0.249089f, 0.023892f, -0.108574f, -0.104412f, -0.120256f, 0.151658f, 0.019580f, -0.028765f, -0.120493f, -0.029030f, 0.037710f, 0.122705f, -0.043972f, 0.013275f, -0.053055f, 0.018159f, 0.074628f, 0.045387f, -0.066666f, 0.031392f, 0.012300f, 0.028800f, 0.025732f, -0.067866f, 0.002384f, -0.016198f, -0.025568f, 0.013309f, -0.024788f, -0.050073f, 0.019242f, -0.014863f, 0.065061f, 0.009530f, -0.059687f, -0.068412f, -0.021640f, 0.001744f, 0.052494f, 0.039247f, 0.009328f, -0.032024f, 0.013611f, -0.001489f, -0.025221f, 0.001642f, 0.033492f, 0.029143f, 0.007403f, -0.050508f, 0.012736f, 0.019429f, 0.032087f, 0.028121f, 0.020731f, -0.009996f, -0.032464f, -0.012538f, -0.007551f, -0.010350f, 0.015763f, -0.026718f, -0.007204f, -0.009649f, -0.012479f, 0.040620f, -0.104876f, 0.018449f, -0.094223f, 0.041685f, 0.044637f, 0.088100f, 0.039022f, 0.020245f, 0.023087f, -0.027388f, -0.067259f, -0.046772f, -0.044152f, 0.018928f, 0.011019f, -0.011422f, 0.040302f, 0.062144f, -0.027739f, -0.038961f, 0.043171f, 0.007712f, -0.057401f, + -0.013172f, 0.026061f, -0.047350f, -0.008332f, 0.010510f, 0.024167f, 0.012899f, 0.034162f, 0.058536f, 0.010368f, -0.037266f, -0.004274f, 0.011307f, -0.029596f, -0.013210f, 0.027383f, -0.020742f, -0.037484f, 0.052216f, -0.012559f, -0.012892f, -0.020736f, -0.020476f, 0.033855f, 0.008652f, 0.007760f, 0.045068f, -0.021496f, -0.034758f, -0.001991f, 0.003384f, -0.014728f, 0.011550f, -0.002423f, -0.012358f, -0.002214f, -0.043841f, 0.009812f, 0.008625f, -0.007437f, 0.023674f, 0.015991f, 0.008296f, 0.010598f, -0.045282f, 0.053681f, -0.020062f, -0.019388f, 0.016470f, -0.049047f, 0.016009f, -0.036725f, 0.004310f, -0.029049f, 0.009477f, 0.012846f, 0.019898f, 0.001799f, 0.017653f, 0.026605f, -0.010230f, -0.005975f, 0.014774f, -0.000877f, -0.009319f, 0.008124f, 0.001909f, -0.006102f, -0.009377f, -0.008521f, -0.005619f, 0.019213f, -0.018317f, 0.018637f, 0.001310f, 0.005068f, 0.009343f, 0.005567f, 0.013594f, -0.000734f, -0.000339f, -0.008271f, -0.001800f, -0.011408f, 0.023102f, 0.001713f, -0.010317f, -0.016860f, -0.005488f, 0.008960f, -0.016468f, 0.021892f, -0.010594f, -0.027769f, 0.001610f, 0.011798f, + -0.001581f, -0.000801f, 0.002882f, -0.013127f, -0.007925f, -0.048981f, 0.078628f, -0.004286f, 0.044421f, -0.040706f, 0.004808f, -0.007539f, 0.013888f, 0.012536f, 0.023710f, -0.012421f, 0.017392f, -0.011151f, 0.009487f, -0.001967f, 0.007460f, 0.018807f, -0.002571f, 0.029281f, -0.012067f, 0.022072f, 0.000951f, -0.001154f, -0.008559f, 0.014058f, -0.011584f, 0.012679f, -0.007811f, 0.000692f, -0.006518f, 0.006847f, -0.005363f, 0.016562f, -0.005458f, -0.011962f, 0.026662f, -0.018805f, 0.013834f, 0.011107f, 0.003913f, 0.012822f, -0.016704f, -0.011652f, 0.012117f, 0.011333f, -0.007476f, -0.001755f, 0.012936f, -0.001387f, -0.018565f, 0.007864f, -0.009544f, 0.009229f, 0.012554f, 0.005815f, 0.004152f, 0.003932f, -0.019966f, 0.009443f, 0.005339f, -0.006170f, 0.007001f, -0.009505f, 0.004282f, -0.004836f, -0.001123f, -0.002700f, 0.006667f, 0.013077f, -0.018640f, 0.016224f, -0.003476f, -0.006702f, 0.009225f, -0.013031f, 0.005853f, 0.008819f, -0.002453f, -0.004865f, 0.006084f, -0.002731f, 0.003481f, -0.001944f, -0.006782f, -0.001232f, 0.006822f, -0.002090f, 0.002498f, -0.001673f, -0.005036f, 0.002891f, + 0.002618f, 0.004745f, -0.007201f, 0.005373f, -0.000709f, -0.003110f, 0.006380f, -0.007613f, 0.011313f, 0.005647f, -0.004557f, 0.011547f, -0.001136f, -0.004882f, 0.000236f, -0.004878f, 0.006808f, -0.007939f, 0.007843f, 0.003032f, 0.004114f, 0.001805f, -0.004877f, 0.003670f, 0.001586f, 0.000690f, 0.000504f, 0.000096f, -0.002121f, 0.001892f, -0.005088f, 0.005679f, 0.002135f, -0.005784f, 0.019568f, -0.066506f, -0.207193f, -0.030512f, 0.100569f, 0.051980f, 0.244495f, 0.045411f, 0.052551f, 0.033019f, -0.065897f, -0.092855f, -0.066122f, -0.119017f, -0.102235f, -0.058069f, -0.023797f, 0.067980f, 0.185695f, 0.147200f, 0.126859f, 0.072014f, -0.057159f, -0.093103f, -0.068433f, -0.128275f, -0.121397f, -0.037350f, -0.017040f, -0.028465f, 0.047065f, 0.073461f, 0.048688f, 0.089613f, 0.069372f, 0.021074f, 0.063812f, 0.012846f, -0.009484f, 0.005715f, -0.038463f, -0.101380f, -0.086031f, -0.073290f, -0.102589f, -0.043154f, 0.029977f, 0.020413f, 0.065706f, 0.074189f, 0.065026f, 0.066529f, 0.068158f, 0.042985f, 0.042243f, 0.004416f, -0.037847f, -0.070942f, -0.048271f, -0.066799f, -0.087993f, -0.043569f, + -0.040356f, -0.033104f, 0.012485f, 0.033163f, 0.031980f, 0.061994f, 0.077798f, 0.037394f, 0.054857f, 0.046566f, -0.012953f, 0.005198f, 0.021084f, -0.026065f, -0.023346f, -0.041678f, -0.074449f, -0.075031f, -0.059336f, -0.061743f, -0.012015f, 0.025649f, 0.017341f, 0.048768f, 0.073563f, 0.057713f, 0.053598f, 0.054776f, 0.036794f, 0.011867f, 0.003559f, -0.017261f, -0.031933f, -0.034663f, -0.051187f, -0.065126f, -0.068944f, -0.059687f, -0.053265f, -0.030725f, 0.007004f, 0.033484f, 0.077224f, 0.101741f, 0.089629f, 0.073953f, 0.063093f, 0.036177f, 0.007752f, -0.031686f, -0.064642f, -0.088631f, -0.092447f, -0.102369f, -0.075146f, -0.031669f, -0.007792f, 0.021155f, 0.060964f, 0.078228f, 0.084859f, 0.086950f, 0.073096f, 0.030664f, -0.002060f, -0.022776f, -0.049376f, -0.064751f, -0.060363f, -0.054082f, -0.038583f, -0.016164f, 0.002173f, 0.021164f, 0.028002f, 0.021071f, 0.023656f, 0.018333f, 0.012928f, 0.009613f, 0.010454f, 0.003037f, 0.003591f, -0.001313f, -0.005058f, -0.006736f, -0.005455f, -0.008649f, -0.009603f, -0.010971f, -0.009258f, -0.009177f, -0.007149f, -0.005247f, 0.000776f, 0.003325f, + 0.006263f, 0.008615f, 0.011742f, 0.010932f, 0.010220f, 0.007746f, 0.006361f, 0.003092f, -0.000415f, -0.004211f, -0.005981f, -0.008723f, -0.010005f, -0.010274f, -0.008481f, -0.008491f, -0.005082f, -0.001777f, 0.001992f, 0.004698f, 0.007817f, 0.007767f, 0.008667f, 0.008481f, 0.008822f, 0.007830f, 0.004259f, -0.001577f, -0.004413f, -0.007544f, -0.008861f, -0.008220f, -0.006475f, -0.006436f, -0.004328f, -0.003244f, -0.000860f, 0.001439f, 0.004124f, 0.005925f, 0.007967f, 0.007781f, 0.006881f, 0.004685f, 0.002195f, -0.000391f, -0.001788f, -0.003967f, -0.005449f, -0.006504f, -0.006288f, -0.005392f, -0.002930f, -0.000960f, 0.001419f, 0.003040f, 0.003989f, 0.004085f, 0.003471f, 0.002029f, 0.001687f, 0.000893f, 0.000351f, -0.000496f, -0.000973f, -0.001431f, -0.001460f, -0.001512f, -0.001200f, -0.000940f, -0.000515f, -0.000295f, -0.000029f, 0.000044f, 0.000248f, 0.000258f, 0.000300f, 0.000187f, 0.000174f, 0.000142f, 0.000133f, 0.000138f} + }, + { + {-0.006635f, 0.004994f, 0.003140f, -0.006549f, -0.001159f, 0.008330f, 0.002469f, 0.002044f, 0.004597f, -0.001107f, 0.001255f, -0.002190f, -0.008730f, -0.003452f, -0.000434f, -0.001948f, 0.002509f, -0.002726f, -0.000845f, -0.007419f, -0.000007f, 0.001247f, -0.005216f, -0.001165f, -0.006585f, -0.002375f, -0.002094f, -0.008009f, -0.003657f, 0.002505f, 0.003483f, 0.008904f, 0.005300f, 0.011383f, -0.001233f, -0.001902f, 0.001680f, -0.003982f, 0.009937f, 0.000542f, 0.004699f, 0.007828f, 0.001389f, -0.003236f, 0.003230f, -0.004257f, -0.005586f, -0.001459f, -0.002411f, -0.003153f, -0.010325f, -0.003402f, 0.000057f, 0.001552f, 0.003091f, 0.000799f, 0.005262f, -0.005930f, 0.004644f, -0.000108f, 0.001163f, 0.003207f, -0.004070f, -0.009209f, -0.003927f, 0.003814f, 0.005721f, 0.004253f, 0.000377f, 0.004335f, 0.003361f, 0.005923f, 0.003031f, 0.002509f, -0.003951f, 0.000225f, -0.000627f, -0.000884f, -0.003360f, -0.004263f, -0.001786f, -0.001056f, -0.000361f, -0.003311f, 0.000048f, 0.000367f, 0.001279f, 0.000204f, 0.002337f, -0.001348f, 0.001077f, -0.002114f, -0.003020f, 0.001408f, -0.000419f, -0.000178f, + 0.002142f, 0.001376f, 0.001881f, 0.000026f, 0.000205f, -0.001871f, 0.001076f, 0.000217f, 0.000651f, -0.000373f, 0.002898f, -0.000731f, 0.000185f, -0.001352f, -0.000973f, -0.001508f, 0.001250f, -0.001062f, -0.002589f, -0.001660f, -0.004699f, 0.004645f, -0.007275f, -0.004436f, 0.011954f, -0.001831f, 0.010579f, -0.005274f, 0.001112f, 0.005278f, 0.002401f, 0.000437f, -0.006948f, -0.009896f, -0.010326f, 0.001213f, 0.000361f, -0.002859f, 0.001508f, -0.009132f, 0.018463f, 0.002167f, -0.010123f, 0.002809f, -0.005258f, -0.005739f, 0.005574f, 0.007878f, -0.000021f, 0.001842f, 0.003815f, -0.000475f, 0.000135f, 0.006204f, -0.003258f, -0.001406f, 0.000461f, 0.011224f, -0.000126f, -0.001215f, -0.004113f, -0.006492f, 0.003526f, -0.001536f, -0.006659f, -0.002964f, -0.008036f, 0.001178f, -0.007280f, 0.000253f, -0.005490f, -0.001759f, -0.004817f, -0.010137f, -0.004096f, -0.000557f, 0.009745f, 0.001505f, -0.002698f, 0.005346f, 0.008931f, 0.001418f, -0.011941f, 0.005627f, 0.000062f, 0.002333f, 0.004048f, -0.002716f, 0.007723f, -0.003723f, -0.006718f, -0.007019f, -0.012484f, 0.001258f, -0.004201f, -0.004383f, + -0.005575f, -0.005856f, -0.000252f, -0.006396f, 0.002143f, -0.000933f, -0.003588f, -0.001285f, -0.004065f, 0.000166f, -0.000093f, -0.004685f, -0.001891f, 0.002008f, -0.000605f, 0.000384f, 0.001158f, 0.000522f, 0.000904f, 0.000679f, -0.001207f, -0.004192f, -0.000682f, -0.001528f, 0.001287f, -0.000474f, 0.000589f, -0.000746f, 0.000120f, 0.000004f, -0.000841f, -0.002609f, -0.002117f, -0.000296f, -0.000888f, -0.000966f, -0.000781f, -0.001942f, -0.000661f, -0.009052f, 0.015615f, -0.003697f, -0.013828f, 0.001254f, 0.004979f, 0.000625f, 0.004606f, 0.003782f, -0.010902f, 0.004146f, -0.002384f, -0.000269f, 0.000657f, -0.001849f, 0.008683f, -0.002438f, -0.005294f, -0.000303f, 0.006986f, 0.004442f, 0.002730f, 0.004160f, 0.016637f, 0.004510f, -0.005415f, 0.007591f, -0.006656f, 0.002451f, -0.005326f, 0.015609f, 0.002632f, -0.004856f, -0.002800f, -0.004870f, -0.001519f, 0.010408f, -0.007947f, -0.006729f, -0.001870f, 0.008645f, 0.005095f, -0.007688f, 0.002451f, 0.001926f, -0.004360f, 0.000381f, -0.016579f, 0.005747f, -0.003638f, -0.003062f, -0.010424f, 0.016306f, 0.001140f, -0.008284f, -0.006387f, -0.008129f, + 0.000870f, -0.001648f, 0.001138f, 0.000084f, -0.009460f, 0.012929f, -0.006994f, -0.006501f, 0.005303f, 0.001496f, 0.005271f, -0.003467f, -0.000515f, -0.007753f, 0.000956f, 0.001842f, -0.009763f, -0.007348f, 0.000978f, -0.006853f, 0.002764f, -0.006119f, -0.001516f, -0.001644f, 0.004703f, -0.007940f, -0.008118f, -0.001600f, -0.001076f, -0.001888f, -0.000285f, -0.003500f, -0.000658f, -0.002520f, -0.001907f, -0.001598f, -0.002348f, -0.003053f, -0.000021f, -0.004136f, 0.001392f, -0.002713f, 0.000259f, 0.000368f, -0.000747f, -0.001500f, 0.000056f, -0.001029f, 0.002466f, -0.000240f, -0.001566f, -0.000018f, -0.002981f, -0.000551f, -0.001714f, 0.000249f, 0.000731f, -0.002155f, -0.002518f, -0.000628f, 0.013471f, 0.000487f, 0.002967f, -0.011011f, 0.003476f, 0.006445f, 0.004714f, -0.000388f, -0.005496f, 0.014490f, 0.002567f, -0.002790f, 0.006973f, 0.005730f, -0.006678f, 0.008915f, -0.005880f, 0.014649f, 0.002120f, 0.013085f, -0.001365f, 0.002383f, -0.005045f, -0.014625f, 0.001643f, 0.000395f, 0.000554f, -0.002449f, 0.003076f, 0.007867f, -0.001905f, -0.007460f, -0.004960f, -0.010650f, -0.002931f, -0.005192f, + -0.005645f, 0.001093f, 0.003743f, 0.005944f, -0.006875f, 0.004931f, -0.004591f, -0.005640f, -0.000743f, 0.005046f, 0.000958f, 0.001337f, -0.010718f, -0.010255f, -0.001937f, -0.002959f, -0.007832f, 0.017248f, 0.007976f, -0.000962f, 0.003326f, 0.007007f, -0.017257f, -0.008617f, 0.011611f, -0.006333f, 0.010891f, 0.002597f, -0.002246f, -0.011464f, -0.008542f, 0.013924f, 0.007321f, 0.013175f, -0.013682f, -0.000811f, -0.009487f, -0.000617f, 0.003387f, -0.004920f, 0.001620f, 0.001160f, -0.008520f, 0.007808f, 0.000862f, 0.001310f, -0.001388f, -0.015033f, 0.001650f, -0.003501f, -0.004780f, -0.004596f, -0.000922f, 0.002801f, -0.002451f, 0.001340f, -0.005349f, -0.000966f, -0.002456f, 0.003582f, -0.000668f, -0.000241f, -0.001746f, 0.000296f, -0.001826f, 0.001343f, -0.003032f, -0.001266f, 0.000979f, -0.000677f, -0.000208f, -0.000005f, -0.000045f, 0.001592f, 0.000852f, -0.000060f, -0.002141f, -0.002005f, -0.002322f, 0.002177f, 0.000873f, 0.003087f, 0.001484f, -0.001071f, 0.001255f, -0.022600f, 0.001169f, -0.002931f, 0.006078f, -0.013689f, 0.004334f, -0.004639f, 0.022778f, -0.006085f, -0.011857f, -0.004360f, + -0.009952f, 0.003058f, 0.008432f, -0.002735f, 0.015909f, 0.001600f, -0.004744f, 0.003810f, 0.001906f, 0.004120f, -0.005690f, -0.001029f, 0.005896f, 0.009327f, 0.003666f, -0.001902f, 0.004453f, -0.008393f, -0.002648f, 0.011738f, 0.008376f, 0.013789f, 0.009768f, -0.000266f, -0.007075f, -0.014777f, 0.010134f, -0.001646f, -0.010795f, 0.005548f, -0.002884f, -0.016547f, 0.000388f, -0.013800f, -0.001137f, 0.012414f, -0.002158f, -0.009291f, -0.004309f, 0.011855f, -0.010349f, -0.016893f, 0.017070f, -0.003256f, -0.004207f, 0.003982f, 0.002126f, 0.001999f, 0.004069f, 0.004097f, 0.002230f, -0.012454f, -0.004769f, 0.009575f, -0.001345f, -0.003711f, 0.002856f, 0.016457f, -0.008406f, -0.009172f, -0.004225f, 0.006727f, 0.003381f, -0.014877f, -0.006652f, -0.005130f, -0.006528f, 0.004864f, -0.000929f, -0.001141f, -0.005571f, -0.004393f, -0.011803f, -0.006780f, 0.002787f, 0.000376f, 0.001821f, -0.000486f, 0.006916f, 0.007198f, 0.001213f, 0.002624f, -0.003669f, 0.000822f, 0.000298f, 0.002940f, -0.004508f, -0.002045f, 0.000507f, 0.000103f, 0.002034f, -0.000087f, -0.002582f, 0.002592f, 0.000915f, -0.004944f, + -0.001016f, 0.001437f, 0.000839f, 0.000851f, -0.001290f, 0.000666f, -0.002459f, -0.002366f, -0.002107f, 0.001267f, -0.001109f, -0.001201f, -0.000412f, -0.019921f, -0.000553f, 0.005160f, 0.018921f, 0.019555f, -0.006475f, 0.009670f, -0.012796f, 0.004031f, 0.008243f, 0.012512f, -0.003817f, 0.018833f, -0.003699f, 0.015953f, -0.008925f, 0.013343f, -0.006907f, -0.022562f, -0.005223f, 0.005459f, -0.007870f, 0.008516f, -0.004986f, -0.005529f, 0.002295f, -0.024721f, -0.008078f, -0.000653f, -0.004405f, -0.001625f, -0.012011f, -0.004252f, -0.004371f, 0.003759f, 0.024923f, 0.014291f, -0.014703f, 0.007815f, 0.019905f, 0.004816f, -0.007161f, 0.004840f, -0.005419f, -0.006122f, 0.014294f, 0.009881f, -0.010161f, -0.001506f, 0.010155f, 0.021336f, -0.007045f, 0.011534f, 0.031783f, 0.013572f, -0.014830f, 0.005784f, 0.003586f, -0.017937f, 0.002542f, -0.014851f, 0.006445f, -0.016170f, -0.003891f, 0.000505f, 0.007456f, -0.010609f, -0.003005f, -0.005340f, -0.009611f, 0.012118f, 0.010437f, -0.000737f, -0.007072f, 0.001742f, 0.001768f, 0.001579f, 0.002860f, 0.008961f, 0.001692f, -0.012289f, -0.000307f, 0.014579f, + 0.000378f, 0.003151f, 0.002889f, 0.004309f, -0.004675f, -0.002302f, -0.007463f, -0.003302f, -0.006871f, -0.000724f, 0.003984f, -0.001045f, -0.003914f, 0.002000f, -0.000838f, 0.000690f, -0.002142f, -0.001602f, 0.002694f, -0.000369f, 0.006518f, 0.001443f, -0.001439f, 0.003300f, -0.000116f, -0.001711f, -0.002506f, -0.003512f, 0.001435f, -0.001940f, -0.000921f, 0.001543f, -0.000186f, 0.002899f, 0.000168f, -0.004197f, 0.008671f, -0.004334f, -0.020043f, 0.004601f, -0.016104f, 0.002577f, -0.005347f, 0.020780f, -0.010577f, 0.002913f, 0.005456f, 0.002040f, 0.007535f, -0.003081f, 0.022753f, 0.001761f, -0.014781f, -0.002772f, -0.010903f, -0.001771f, -0.003558f, -0.010220f, -0.012814f, -0.003313f, -0.008258f, -0.003923f, 0.014553f, 0.005388f, -0.012330f, 0.004776f, -0.014723f, -0.002818f, 0.010686f, -0.020106f, -0.017737f, 0.010053f, 0.009458f, 0.004877f, -0.000621f, -0.012227f, 0.004812f, -0.006049f, -0.011536f, -0.005360f, 0.000601f, 0.003606f, 0.019041f, -0.007558f, -0.002182f, 0.000967f, 0.008864f, 0.004639f, -0.006632f, -0.008568f, -0.015315f, -0.004711f, -0.003417f, -0.008456f, -0.009836f, 0.006201f, + 0.012707f, -0.000111f, -0.008174f, 0.014055f, 0.002680f, -0.007013f, 0.001701f, -0.002116f, -0.001865f, -0.004912f, -0.002783f, 0.009103f, -0.007316f, -0.010973f, -0.006329f, 0.005658f, -0.008479f, 0.014851f, 0.006642f, -0.002523f, -0.006156f, -0.006998f, 0.004201f, 0.009201f, 0.018939f, -0.005546f, 0.009674f, 0.000261f, -0.000073f, 0.000976f, 0.003009f, -0.003560f, 0.000049f, 0.002280f, 0.003955f, -0.002571f, 0.002756f, -0.002219f, 0.009158f, 0.003444f, 0.006876f, 0.000014f, 0.004660f, -0.000320f, 0.004131f, -0.000899f, -0.000421f, 0.004792f, 0.001800f, 0.000518f, 0.002536f, 0.000498f, 0.004765f, -0.003641f, 0.001083f, 0.003209f, 0.004375f, 0.003732f, -0.001515f, -0.004967f, -0.000125f, 0.002990f, 0.000620f, 0.000475f, 0.003921f, 0.010331f, 0.019738f, -0.014773f, -0.000546f, 0.013432f, -0.006472f, -0.009692f, 0.012349f, -0.019561f, -0.001224f, 0.003581f, -0.002571f, -0.007316f, -0.008628f, -0.004165f, 0.003351f, -0.001078f, 0.009322f, 0.004681f, -0.003157f, -0.007471f, -0.005462f, 0.015362f, 0.000573f, -0.018845f, 0.008744f, -0.011932f, -0.011696f, 0.007122f, 0.013524f, 0.013788f, + 0.010458f, -0.000362f, 0.007058f, 0.004794f, 0.006662f, -0.006196f, -0.000341f, -0.005589f, -0.013576f, 0.005669f, -0.003526f, -0.000769f, -0.003017f, 0.001292f, -0.002268f, 0.014939f, 0.027813f, 0.004561f, -0.004857f, -0.000107f, -0.019917f, 0.019277f, -0.013590f, -0.008824f, -0.013079f, -0.016012f, 0.027035f, 0.001458f, -0.015072f, -0.005470f, 0.018646f, 0.009609f, -0.014184f, -0.010599f, 0.021377f, 0.001711f, 0.002182f, 0.027660f, -0.013249f, 0.007587f, -0.009958f, -0.027484f, 0.012880f, 0.013211f, 0.002181f, -0.015872f, -0.002254f, -0.003457f, 0.003255f, -0.006895f, 0.010030f, 0.006182f, -0.021748f, 0.009212f, 0.010382f, 0.013257f, 0.002270f, -0.011624f, 0.019400f, 0.003286f, -0.001747f, -0.001501f, -0.006534f, -0.006859f, -0.002481f, 0.001221f, 0.005844f, -0.000022f, 0.000459f, -0.000632f, -0.005241f, 0.002191f, 0.002335f, 0.001031f, -0.002414f, -0.001445f, 0.003907f, 0.001399f, 0.004453f, -0.002923f, 0.001037f, -0.006811f, 0.000756f, 0.006424f, -0.008629f, 0.001193f, -0.006764f, 0.007856f, -0.003288f, -0.000182f, -0.005270f, -0.000032f, 0.004532f, -0.000542f, 0.006186f, 0.000021f, + -0.001775f, 0.004487f, 0.009478f, 0.012081f, 0.022300f, 0.020432f, -0.000699f, 0.017438f, 0.007898f, 0.017780f, 0.017182f, -0.028263f, 0.010392f, -0.009067f, -0.012163f, -0.008840f, -0.002569f, -0.017980f, -0.003680f, 0.004543f, -0.015360f, -0.031643f, 0.007376f, -0.002116f, -0.028500f, -0.020882f, -0.018631f, -0.010352f, 0.001134f, -0.005254f, 0.006910f, -0.003656f, 0.011490f, 0.022311f, -0.012589f, 0.007670f, -0.004879f, -0.010043f, -0.007282f, 0.001477f, -0.002060f, -0.000795f, 0.016649f, -0.000560f, 0.016782f, 0.021717f, 0.006571f, 0.009420f, 0.014415f, -0.001749f, 0.003016f, -0.021198f, 0.020055f, -0.017266f, -0.005996f, -0.005418f, 0.001891f, -0.004685f, -0.016467f, -0.014500f, -0.031931f, 0.029169f, -0.032620f, -0.031622f, 0.005496f, 0.030584f, 0.010938f, -0.003815f, -0.007532f, 0.014132f, -0.015244f, 0.017646f, -0.004986f, 0.002351f, 0.001938f, -0.011509f, 0.012342f, -0.013619f, -0.011093f, -0.001198f, 0.004532f, -0.013005f, -0.001938f, 0.007167f, -0.000925f, -0.003483f, 0.009518f, -0.006100f, -0.011668f, -0.002605f, 0.006067f, -0.007706f, -0.004451f, -0.005243f, -0.001078f, 0.003658f, + -0.002417f, 0.001170f, -0.001844f, -0.004183f, 0.001334f, -0.002655f, 0.002842f, -0.002781f, 0.004065f, -0.001096f, 0.007490f, -0.000965f, 0.002964f, 0.004118f, -0.002451f, -0.004901f, -0.000418f, -0.001135f, -0.000186f, -0.001455f, 0.003537f, 0.000263f, 0.004542f, -0.003889f, 0.001671f, -0.008440f, 0.000484f, 0.000450f, -0.003027f, 0.002428f, 0.013195f, 0.017217f, 0.017215f, 0.018742f, 0.044324f, 0.019852f, 0.025296f, -0.012644f, 0.041025f, -0.023574f, 0.001045f, 0.008965f, -0.000270f, -0.015564f, 0.005053f, -0.004374f, -0.035127f, 0.013181f, -0.008905f, 0.003662f, -0.003359f, -0.011715f, -0.000051f, 0.010320f, -0.014225f, -0.007452f, -0.002276f, 0.008137f, -0.021447f, 0.013440f, 0.005048f, -0.019705f, -0.001595f, 0.007882f, -0.017818f, 0.006543f, -0.021355f, 0.009718f, -0.001884f, -0.007003f, -0.000883f, -0.014027f, 0.017837f, 0.021027f, -0.020209f, -0.011637f, 0.009094f, -0.007299f, 0.005578f, 0.004981f, 0.001309f, 0.000557f, 0.024352f, -0.006277f, -0.016350f, 0.014983f, -0.000663f, -0.012964f, -0.010822f, -0.020399f, 0.003871f, 0.005399f, 0.010099f, 0.009601f, -0.009403f, -0.015883f, + 0.008780f, 0.004270f, 0.030462f, 0.003076f, -0.003811f, 0.000630f, 0.002009f, -0.009142f, -0.004054f, -0.011426f, 0.012465f, 0.007073f, 0.008110f, -0.002541f, -0.019517f, -0.017922f, -0.005847f, -0.001734f, -0.007023f, -0.012472f, 0.003447f, -0.005552f, 0.008029f, 0.001255f, -0.001321f, 0.004841f, 0.005173f, 0.008095f, 0.007727f, 0.006069f, -0.000063f, -0.002032f, 0.002192f, 0.005378f, 0.004280f, -0.002657f, -0.002356f, -0.001745f, 0.001409f, -0.000201f, -0.001541f, -0.000090f, -0.009602f, 0.000989f, 0.006262f, 0.004613f, -0.007480f, -0.005574f, 0.010715f, 0.005541f, 0.010627f, 0.004001f, -0.007770f, 0.007180f, -0.001899f, -0.006080f, 0.001145f, -0.008592f, -0.004606f, -0.002347f, 0.003214f, -0.001896f, -0.023970f, -0.026941f, 0.044997f, 0.031380f, 0.040228f, 0.002582f, -0.025791f, 0.009108f, 0.021003f, 0.014954f, -0.006567f, -0.016316f, -0.004788f, -0.005991f, -0.007906f, -0.014047f, -0.005622f, -0.011797f, 0.030006f, 0.004804f, 0.004971f, 0.000237f, 0.001767f, 0.003194f, -0.011067f, 0.019857f, 0.011227f, -0.001176f, 0.007238f, -0.002820f, 0.020451f, 0.003773f, -0.001788f, -0.033418f, + -0.002452f, 0.002107f, 0.003207f, -0.006254f, 0.004204f, -0.015827f, 0.027156f, 0.021984f, 0.021236f, 0.018520f, -0.014533f, -0.020151f, 0.015493f, 0.004773f, 0.007589f, -0.001320f, -0.023439f, -0.016967f, 0.001384f, -0.013226f, 0.000185f, -0.011107f, -0.004806f, 0.014085f, 0.004511f, -0.010042f, 0.003629f, -0.025935f, 0.000827f, -0.043975f, -0.022318f, -0.041547f, 0.035917f, 0.032350f, 0.034555f, 0.041845f, 0.020296f, -0.006912f, -0.018520f, -0.005619f, -0.000990f, 0.006018f, 0.033181f, -0.010934f, -0.025142f, 0.019222f, -0.015986f, 0.008380f, -0.003629f, -0.003610f, 0.007815f, -0.007451f, -0.013577f, -0.003839f, -0.016726f, -0.003543f, -0.015035f, -0.003451f, 0.002159f, -0.001315f, -0.001772f, -0.004080f, -0.005215f, -0.010397f, -0.000110f, 0.005484f, 0.000902f, -0.005226f, 0.001883f, 0.009119f, -0.001177f, 0.006105f, 0.003386f, 0.003623f, 0.002607f, -0.012016f, 0.010595f, -0.004630f, -0.003770f, 0.007103f, 0.002493f, 0.007851f, 0.000853f, -0.009991f, -0.001808f, 0.000251f, 0.001800f, -0.006099f, 0.000344f, -0.000398f, -0.015954f, -0.021468f, 0.018934f, 0.024567f, -0.012064f, 0.022809f, + 0.003219f, -0.009684f, 0.009174f, -0.033057f, -0.010255f, 0.009326f, -0.010531f, -0.020272f, -0.038208f, 0.018774f, -0.016418f, 0.004421f, 0.024753f, 0.005942f, 0.028863f, 0.022080f, 0.012553f, 0.004740f, -0.017042f, -0.005000f, -0.008921f, 0.001563f, 0.016074f, 0.008380f, 0.003320f, 0.013724f, 0.039240f, -0.002048f, -0.033372f, -0.014653f, 0.005394f, 0.008014f, -0.001910f, 0.000829f, 0.003161f, -0.014235f, 0.000878f, -0.031411f, 0.007066f, -0.032860f, -0.011982f, -0.025446f, 0.012529f, -0.012694f, -0.020879f, 0.031862f, 0.008936f, 0.002598f, -0.014340f, -0.019114f, 0.004773f, 0.007576f, 0.002807f, 0.010382f, -0.016292f, 0.035820f, -0.043494f, 0.011314f, -0.018130f, -0.026400f, -0.014793f, 0.022797f, 0.006868f, -0.024749f, 0.017482f, -0.019709f, 0.048307f, -0.004504f, -0.005306f, -0.023501f, 0.002809f, -0.031351f, -0.016823f, 0.041823f, -0.016842f, -0.018995f, -0.012409f, 0.012505f, 0.001565f, 0.017727f, 0.008830f, 0.009267f, 0.012914f, 0.007022f, -0.001194f, 0.001333f, 0.006155f, 0.002639f, -0.003426f, 0.010382f, -0.003271f, -0.003620f, -0.007837f, -0.007030f, -0.003169f, 0.003831f, + -0.006174f, 0.000453f, 0.003000f, -0.002544f, 0.002614f, 0.000485f, 0.010232f, 0.005369f, -0.000029f, -0.002092f, 0.000001f, -0.000747f, 0.006106f, -0.005446f, 0.005536f, -0.001538f, 0.002439f, 0.008585f, -0.002740f, 0.000450f, -0.001208f, -0.004320f, 0.010491f, -0.001479f, 0.008178f, 0.045589f, 0.046908f, 0.044251f, 0.009560f, -0.011681f, -0.007228f, -0.028269f, 0.023222f, 0.000824f, 0.013688f, -0.008358f, 0.004502f, -0.010246f, -0.007843f, -0.016287f, 0.009028f, -0.016965f, 0.028245f, -0.073182f, -0.021198f, 0.000667f, -0.022034f, 0.015900f, -0.022653f, 0.004831f, -0.008660f, 0.023200f, 0.004257f, 0.022337f, 0.001763f, -0.005103f, -0.000203f, 0.008262f, -0.025535f, -0.018321f, -0.019828f, -0.002695f, 0.025157f, -0.049187f, 0.017267f, 0.043022f, 0.005427f, -0.031426f, -0.001089f, -0.026449f, -0.025325f, 0.017771f, -0.003185f, -0.021587f, 0.012223f, 0.001929f, -0.007943f, -0.012146f, 0.007171f, 0.017952f, 0.010983f, -0.025101f, -0.018263f, 0.014543f, 0.021893f, -0.017640f, -0.023316f, 0.011679f, 0.024509f, -0.029515f, -0.000879f, -0.026340f, -0.036158f, 0.043292f, -0.007045f, 0.006777f, + -0.007960f, 0.026870f, -0.006172f, 0.006655f, -0.014247f, 0.023382f, 0.013054f, 0.021518f, 0.024899f, -0.024582f, -0.027107f, -0.011005f, -0.005087f, -0.016265f, -0.040857f, 0.004608f, 0.002362f, 0.000066f, -0.002890f, -0.006568f, -0.005387f, 0.011860f, -0.000909f, -0.005001f, 0.010999f, -0.011913f, -0.006258f, 0.004530f, 0.021475f, -0.006409f, -0.006476f, 0.001117f, -0.002584f, 0.007447f, -0.002472f, -0.001125f, -0.003651f, -0.005941f, -0.014893f, -0.021467f, 0.003912f, -0.001470f, -0.016299f, -0.008151f, 0.004412f, -0.005669f, -0.018486f, -0.010301f, -0.001160f, -0.003198f, 0.001567f, 0.005312f, 0.002297f, -0.000014f, 0.015305f, 0.005281f, 0.024043f, -0.007683f, 0.000043f, -0.034336f, -0.015586f, -0.007315f, -0.028988f, -0.041992f, -0.007209f, -0.013535f, 0.041050f, 0.012844f, 0.060661f, 0.011561f, -0.016412f, 0.008652f, 0.012154f, -0.048201f, 0.003600f, 0.043705f, 0.028095f, -0.027777f, 0.004718f, 0.022215f, -0.038500f, -0.005567f, -0.018862f, 0.017446f, -0.014579f, 0.011752f, 0.003496f, -0.007022f, 0.002966f, 0.000650f, -0.011806f, 0.014147f, -0.025871f, -0.009683f, -0.010628f, -0.032785f, + -0.006198f, -0.003669f, 0.001380f, 0.003162f, -0.008295f, -0.009814f, 0.062014f, 0.019150f, -0.022904f, -0.042543f, -0.014845f, 0.005141f, 0.045066f, -0.009970f, -0.004899f, -0.023969f, -0.005735f, -0.016647f, 0.037109f, -0.028737f, 0.033200f, 0.041734f, -0.040577f, 0.028095f, 0.011195f, -0.016857f, -0.014801f, 0.010759f, 0.020043f, -0.089693f, -0.011130f, 0.000552f, -0.011574f, 0.024536f, -0.011394f, -0.066869f, -0.025472f, -0.018993f, -0.029723f, -0.029076f, 0.006060f, 0.006520f, -0.016502f, -0.014678f, -0.027358f, 0.003591f, -0.009651f, 0.003091f, -0.011446f, -0.013607f, -0.015411f, 0.004420f, -0.002501f, 0.010524f, -0.013236f, 0.007528f, -0.000953f, -0.013651f, -0.029107f, -0.006807f, -0.000986f, 0.010347f, -0.003441f, -0.039070f, 0.008913f, 0.019946f, 0.008475f, -0.000210f, -0.013168f, 0.014836f, -0.001216f, -0.003892f, -0.023238f, -0.003406f, -0.007512f, 0.020583f, -0.002256f, 0.003901f, 0.000900f, 0.004996f, 0.013411f, -0.008485f, 0.001546f, 0.001386f, -0.003599f, 0.001805f, 0.006240f, -0.027716f, -0.023634f, -0.008590f, -0.018950f, -0.013059f, -0.004663f, -0.011795f, -0.014943f, -0.014455f, + -0.003522f, -0.003502f, -0.005954f, -0.010448f, -0.004007f, -0.007186f, -0.001262f, -0.003467f, -0.012777f, 0.010302f, 0.060142f, -0.001741f, -0.070021f, -0.039139f, -0.043319f, -0.008059f, -0.023944f, -0.000940f, -0.035541f, 0.058431f, 0.034733f, -0.006172f, 0.045940f, 0.001437f, 0.049528f, 0.011955f, -0.028527f, -0.038855f, -0.024513f, -0.031330f, -0.014007f, 0.007773f, 0.021378f, -0.006867f, 0.007018f, -0.025862f, 0.004466f, -0.037351f, -0.003363f, -0.002051f, 0.012883f, -0.013972f, 0.060009f, 0.007839f, -0.001552f, 0.039902f, -0.015453f, -0.028140f, -0.016562f, 0.024495f, -0.001868f, -0.015937f, 0.006679f, -0.000127f, 0.051029f, 0.012694f, 0.000140f, -0.019712f, -0.030828f, -0.077731f, 0.005019f, -0.061733f, 0.031297f, 0.106152f, -0.075823f, -0.016121f, 0.017149f, -0.012968f, -0.013383f, -0.021148f, 0.017705f, -0.021711f, -0.073360f, -0.019397f, -0.073154f, -0.015204f, -0.002191f, -0.045742f, -0.006547f, -0.065867f, 0.028559f, -0.006518f, -0.041894f, 0.102918f, 0.007912f, 0.042035f, 0.035076f, 0.056839f, -0.034920f, -0.002214f, -0.021096f, -0.007471f, -0.014314f, 0.027074f, 0.017007f, 0.024342f, + -0.050086f, -0.009914f, -0.027311f, -0.034991f, -0.029559f, -0.017902f, -0.004084f, 0.019697f, 0.016014f, 0.011360f, 0.014120f, -0.003817f, 0.004441f, 0.028138f, -0.005362f, 0.027850f, 0.007957f, -0.023825f, -0.006793f, 0.008791f, -0.010620f, -0.003875f, 0.032294f, 0.000741f, -0.010131f, 0.036663f, -0.017127f, -0.002311f, -0.030255f, -0.007057f, -0.021206f, 0.016005f, -0.016293f, -0.006869f, -0.006396f, 0.006299f, -0.007429f, 0.014505f, 0.000006f, 0.014997f, 0.003753f, -0.005219f, -0.010522f, -0.013804f, -0.010859f, -0.021091f, -0.122602f, -0.012117f, -0.030775f, -0.033768f, 0.045690f, 0.036386f, -0.042473f, -0.033431f, 0.085483f, -0.008859f, 0.028251f, 0.005110f, -0.003662f, -0.009033f, -0.008444f, -0.026778f, 0.000464f, 0.010518f, 0.015943f, 0.010977f, 0.031059f, -0.023064f, 0.000194f, -0.022460f, -0.013044f, 0.010116f, 0.043747f, 0.028351f, 0.038720f, 0.034765f, -0.006868f, 0.013041f, 0.021194f, 0.000772f, -0.034061f, -0.005622f, 0.049027f, -0.007918f, -0.068159f, -0.029655f, 0.008324f, -0.057699f, -0.024502f, -0.059149f, -0.040378f, -0.036702f, 0.056067f, 0.038538f, -0.011274f, 0.038570f, + 0.015304f, 0.054117f, 0.036625f, 0.017877f, -0.093258f, -0.020290f, 0.004949f, -0.081913f, -0.059707f, -0.022520f, -0.015356f, -0.096065f, 0.021560f, 0.054179f, 0.072433f, 0.086615f, -0.028211f, -0.055348f, 0.000079f, -0.055850f, -0.041342f, -0.077820f, -0.086582f, -0.060990f, -0.051258f, 0.058467f, 0.003199f, 0.012254f, -0.052153f, -0.054750f, -0.048996f, -0.004351f, 0.076460f, 0.096802f, 0.003179f, -0.034725f, -0.026534f, -0.038236f, -0.100432f, -0.044584f, -0.044433f, -0.011903f, -0.003343f, -0.022409f, 0.026943f, 0.000369f, -0.007417f, -0.035541f, -0.046505f, -0.024117f, -0.026057f, -0.041031f, -0.008819f, -0.010169f, -0.003697f, -0.010764f, -0.018639f, 0.025431f, 0.015801f, -0.002287f, -0.022558f, 0.016863f, 0.027665f, 0.002369f, -0.023165f, -0.012029f, 0.019444f, 0.005510f, -0.004941f, -0.022229f, 0.019421f, -0.004283f, -0.007074f, 0.002464f, 0.015137f, 0.004070f, -0.004023f, 0.002564f, 0.011808f, 0.002167f, -0.039126f, -0.093276f, 0.035109f, 0.003584f, -0.063734f, 0.057834f, 0.028258f, 0.017246f, -0.014594f, -0.057005f, -0.014994f, 0.000868f, 0.053878f, 0.071959f, 0.003435f, 0.018899f, + 0.003894f, 0.001517f, -0.004237f, 0.009089f, -0.031247f, 0.101676f, 0.023797f, -0.034172f, -0.034254f, -0.015617f, 0.003720f, 0.049335f, -0.025027f, -0.008317f, -0.000781f, 0.024619f, -0.025113f, 0.012636f, 0.000926f, -0.006362f, -0.085363f, -0.027209f, 0.026353f, 0.043134f, 0.014805f, -0.010137f, -0.025161f, -0.056538f, -0.006856f, 0.008437f, -0.014027f, 0.000285f, -0.015321f, -0.036682f, 0.035516f, -0.009048f, 0.012230f, -0.039168f, -0.008806f, 0.097799f, 0.006670f, -0.011590f, 0.010775f, 0.012190f, 0.008560f, 0.048929f, -0.018902f, -0.023080f, 0.036260f, -0.004835f, 0.021209f, 0.013056f, 0.031508f, -0.013081f, -0.037328f, 0.017903f, -0.017618f, 0.002305f, 0.138446f, 0.133395f, 0.059485f, -0.012524f, -0.007594f, 0.016377f, 0.062351f, 0.028603f, -0.019481f, -0.002639f, -0.009039f, -0.036112f, -0.038526f, 0.020214f, 0.009688f, 0.004866f, 0.030779f, -0.004701f, -0.018318f, 0.018239f, 0.007186f, 0.027164f, -0.040935f, -0.033209f, -0.041584f, 0.005630f, -0.019099f, 0.001859f, -0.008941f, 0.014355f, 0.015735f, 0.033878f, 0.019129f, -0.036790f, -0.027604f, 0.012692f, -0.023162f, -0.013141f, + 0.002019f, 0.011486f, -0.015845f, -0.036173f, -0.004801f, 0.000900f, -0.003899f, 0.015565f, 0.003427f, -0.029241f, 0.008106f, 0.046451f, 0.052942f, 0.039756f, 0.045061f, 0.032537f, 0.040558f, -0.011461f, -0.003373f, 0.015731f, -0.005335f, 0.015495f, 0.013733f, 0.020924f, 0.038530f, 0.068995f, 0.009966f, -0.071298f, -0.018142f, 0.016682f, 0.011561f, -0.016582f, 0.055219f, 0.027705f, 0.022012f, -0.017341f, 0.064499f, -0.003191f, 0.002470f, -0.016493f, 0.034843f, 0.023087f, -0.047786f, -0.070551f, -0.018944f, 0.012508f, 0.005095f, -0.013043f, -0.064375f, -0.005986f, 0.024369f, 0.005830f, -0.020966f, -0.008516f, -0.018605f, -0.024605f, 0.016441f, 0.019146f, -0.040848f, -0.046455f, -0.015236f, -0.057759f, 0.016936f, 0.051646f, -0.043726f, 0.049666f, -0.021988f, -0.026592f, -0.049197f, -0.069557f, -0.077770f, -0.074087f, -0.037301f, 0.000488f, 0.029424f, 0.013590f, 0.029313f, -0.038845f, -0.086823f, -0.034160f, -0.083395f, -0.147701f, -0.055326f, 0.119949f, 0.205716f, 0.120431f, -0.048982f, -0.039770f, -0.180609f, -0.162705f, 0.114742f, 0.020383f, 0.150364f, 0.155067f, 0.161865f, 0.054671f, + -0.062805f, -0.078930f, -0.087477f, -0.100893f, -0.013455f, 0.101793f, 0.172407f, 0.055389f, 0.019134f, -0.007112f, -0.083927f, -0.124343f, -0.082950f, 0.017067f, 0.119533f, 0.055919f, 0.077938f, 0.063054f, 0.024291f, -0.044035f, -0.048320f, 0.002977f, -0.026108f, 0.010463f, 0.059309f, 0.062220f, 0.046695f, 0.009898f, 0.024545f, 0.001876f, -0.037385f, 0.009239f, 0.017504f, -0.005166f, 0.008315f, -0.010130f, 0.085443f, 0.049674f, 0.054802f, 0.033138f, -0.027249f, -0.072693f, -0.102809f, 0.016874f, 0.038178f, 0.071726f, 0.072836f, 0.092588f, 0.046295f, -0.066423f, -0.082568f, -0.101473f, -0.016248f, 0.001148f, 0.057593f, 0.033371f, 0.019485f, 0.031440f, -0.049310f, -0.150294f, -0.099561f, -0.092080f, -0.019321f, 0.013517f, 0.037131f, -0.007841f, -0.018294f, -0.033339f, -0.039362f, -0.006618f, 0.014239f, -0.046543f, 0.065155f, 0.031277f, 0.057868f, -0.127223f, 0.028854f, 0.017144f, -0.039087f, 0.028451f, -0.029225f, -0.014515f, -0.008689f, -0.018268f, 0.054830f, 0.100840f, -0.029263f, 0.020179f, -0.013992f, 0.024065f, 0.051404f, -0.015833f, -0.009283f, -0.028089f, 0.014840f, -0.017886f, + -0.055583f, 0.040487f, 0.068751f, -0.009212f, -0.035842f, -0.033120f, -0.072211f, -0.020099f, 0.054935f, 0.037051f, 0.019215f, -0.079838f, -0.046111f, -0.034928f, 0.070588f, 0.060965f, 0.053753f, -0.155701f, -0.103374f, -0.012797f, 0.077006f, 0.163960f, 0.000789f, -0.197646f, -0.072380f, 0.006376f, 0.066729f, -0.005663f, 0.036702f, 0.027399f, -0.086070f, -0.038002f, -0.023684f, -0.051955f, 0.003759f, -0.097346f, 0.015374f, 0.038208f, -0.117178f, -0.075376f, -0.036415f, -0.015269f, 0.130078f, -0.001019f, -0.199188f, 0.018915f, 0.028288f, 0.030196f, 0.078741f, 0.036388f, -0.084982f, 0.004042f, -0.003074f, 0.170340f, 0.120545f, -0.100270f, 0.091367f, -0.053569f, 0.036478f, 0.093958f, 0.034086f, -0.051943f, 0.047539f, -0.020924f, 0.012371f, 0.032424f, -0.003272f, -0.035249f, 0.064749f, -0.041736f, 0.047521f, -0.022391f, 0.025678f, -0.007995f, 0.052155f, -0.018405f, 0.041039f, -0.071343f, -0.012038f, -0.001056f, -0.009104f, 0.022657f, 0.044465f, -0.045426f, 0.091421f, -0.035905f, -0.031151f, -0.062389f, 0.045767f, 0.095655f, 0.019178f, -0.126501f, 0.010445f, -0.028615f, 0.061636f, 0.029998f, + 0.027923f, -0.050973f, -0.003261f, -0.032528f, 0.030825f, -0.013377f, -0.020033f, -0.007639f, 0.041717f, -0.010211f, -0.025299f, -0.031475f, 0.023766f, 0.003442f, 0.022660f, -0.014189f, 0.000818f, -0.024280f, -0.001541f, -0.005311f, 0.011643f, 0.003333f, 0.025656f, -0.005588f, -0.007465f, -0.026902f, 0.018298f, 0.006266f, 0.016293f, -0.000091f, -0.015327f, -0.020046f, 0.006036f, 0.004636f, 0.013884f, 0.044069f, -0.105119f, 0.014973f, -0.077171f, 0.014116f, 0.065609f, 0.058008f, 0.019033f, -0.037536f, 0.007577f, -0.022288f, -0.005475f, -0.027667f, -0.020423f, 0.014274f, 0.003886f, -0.040296f, -0.004592f, 0.021024f, -0.004429f, 0.002406f, 0.007655f, -0.025693f, -0.025431f, -0.000631f, 0.016918f, 0.002275f, -0.040961f, 0.003456f, 0.021091f, 0.006641f, 0.004945f, 0.042942f, -0.004673f, -0.011408f, 0.015438f, 0.016461f, -0.028966f, -0.032151f, 0.023920f, 0.004649f, -0.024655f, 0.016624f, 0.007244f, 0.008069f, -0.017231f, 0.006994f, 0.019507f, 0.002375f, -0.024270f, 0.033032f, -0.003950f, -0.036974f, 0.001176f, 0.028980f, 0.009088f, -0.024189f, 0.022094f, 0.007327f, -0.033697f, 0.013906f, + 0.001800f, 0.034493f, -0.031177f, 0.002838f, 0.023812f, -0.054678f, 0.001812f, 0.023643f, -0.000843f, 0.016394f, -0.009029f, -0.034996f, 0.004717f, -0.037033f, 0.034853f, 0.017984f, 0.009876f, -0.013747f, -0.014451f, 0.028760f, -0.024697f, 0.025666f, 0.028239f, -0.040259f, -0.013002f, 0.001747f, 0.031263f, 0.000511f, -0.018006f, 0.011574f, -0.021823f, -0.001292f, 0.003249f, 0.018436f, 0.001338f, 0.003049f, -0.011237f, 0.019186f, -0.006335f, -0.022347f, 0.020423f, -0.009015f, 0.008856f, -0.005051f, 0.014752f, 0.018542f, -0.021190f, 0.003737f, -0.011442f, 0.005027f, -0.011627f, 0.041211f, -0.011555f, -0.023102f, 0.018680f, -0.010401f, -0.003405f, -0.011751f, 0.012249f, 0.011225f, -0.016564f, 0.009330f, 0.016327f, -0.008394f, 0.001186f, -0.022994f, -0.052385f, 0.084997f, 0.011721f, 0.038266f, -0.033526f, 0.014430f, -0.007510f, 0.010008f, 0.009015f, -0.014542f, 0.005426f, 0.015345f, -0.009299f, 0.033738f, 0.001238f, 0.000843f, 0.011279f, 0.010863f, -0.001552f, -0.008922f, 0.014239f, -0.002501f, -0.010310f, -0.002303f, 0.014312f, -0.015987f, 0.003097f, 0.006895f, -0.020308f, 0.024816f, + -0.005243f, -0.012285f, 0.038191f, -0.016045f, -0.022890f, 0.017451f, 0.009525f, -0.010824f, 0.016440f, 0.013141f, -0.004864f, -0.005613f, -0.003213f, 0.004813f, 0.009375f, 0.005419f, -0.000271f, -0.006833f, 0.019598f, -0.021282f, 0.018786f, 0.002778f, -0.002507f, 0.005110f, 0.005828f, 0.005974f, 0.000676f, -0.018959f, 0.005091f, 0.015998f, -0.011692f, -0.000238f, -0.000158f, 0.012144f, -0.001409f, -0.004971f, 0.018456f, -0.009642f, 0.009838f, -0.019473f, -0.007298f, 0.018512f, -0.017935f, 0.017792f, -0.004813f, 0.011655f, 0.014291f, -0.016565f, -0.005713f, 0.020105f, -0.017081f, -0.001070f, 0.001987f, 0.005957f, 0.001375f, -0.002489f, 0.000613f, 0.001335f, 0.009229f, -0.008173f, 0.001930f, 0.005787f, -0.000732f, -0.004317f, 0.000911f, 0.003323f, -0.000939f, 0.001023f, -0.003665f, 0.004036f, 0.005710f, -0.010391f, -0.001753f, 0.017478f, -0.008679f, 0.004859f, -0.001429f, 0.009882f, 0.002727f, -0.005753f, 0.001005f, -0.001285f, -0.006005f, -0.004269f, 0.020706f, -0.003732f, -0.004904f, 0.002796f, 0.002198f, -0.001811f, 0.004303f, 0.008395f, 0.000149f, 0.002044f, 0.000673f, -0.002019f, + 0.001162f, 0.002331f, -0.004093f, 0.002577f, -0.000381f, 0.019954f, -0.070373f, -0.225064f, -0.011432f, 0.121352f, 0.054469f, 0.258473f, 0.022063f, 0.054625f, 0.002292f, -0.075306f, -0.094912f, -0.064242f, -0.115671f, -0.080878f, -0.050892f, 0.001904f, 0.088338f, 0.174069f, 0.128060f, 0.111519f, 0.036302f, -0.060503f, -0.088972f, -0.079914f, -0.094283f, -0.104481f, -0.042387f, -0.019970f, -0.009145f, 0.051105f, 0.067711f, 0.051156f, 0.094663f, 0.061218f, 0.022663f, 0.063615f, 0.001468f, -0.027513f, -0.018270f, -0.056942f, -0.116974f, -0.071002f, -0.068491f, -0.069720f, 0.003628f, 0.032621f, 0.022456f, 0.086051f, 0.070459f, 0.048681f, 0.069299f, 0.073824f, 0.020864f, 0.022208f, -0.007881f, -0.063384f, -0.088276f, -0.067327f, -0.088480f, -0.062788f, -0.021998f, -0.015452f, 0.005420f, 0.048275f, 0.037667f, 0.034143f, 0.067967f, 0.056329f, 0.041286f, 0.070350f, 0.019210f, -0.014291f, -0.002948f, -0.028063f, -0.061070f, -0.035365f, -0.077249f, -0.097455f, -0.057571f, -0.048438f, -0.021149f, 0.056775f, 0.076404f, 0.071429f, 0.082199f, 0.067816f, 0.038425f, 0.037228f, 0.017929f, -0.007827f, + -0.020979f, -0.039119f, -0.058074f, -0.057943f, -0.065720f, -0.068796f, -0.059024f, -0.019960f, -0.007039f, 0.023333f, 0.059195f, 0.066128f, 0.065209f, 0.076425f, 0.060595f, 0.045583f, 0.037708f, 0.012548f, -0.029570f, -0.052383f, -0.085656f, -0.109115f, -0.102402f, -0.080945f, -0.040908f, 0.010492f, 0.054739f, 0.075431f, 0.086543f, 0.090466f, 0.077824f, 0.055237f, 0.027995f, -0.017806f, -0.044430f, -0.058453f, -0.068110f, -0.059359f, -0.044917f, -0.030761f, -0.012914f, 0.014449f, 0.018809f, 0.025950f, 0.029540f, 0.026545f, 0.020874f, 0.016927f, 0.011163f, 0.010075f, 0.004267f, -0.003214f, -0.005838f, -0.005665f, -0.009316f, -0.009925f, -0.013213f, -0.015159f, -0.017098f, -0.013455f, -0.010576f, -0.005470f, -0.000607f, 0.008694f, 0.014142f, 0.016874f, 0.016602f, 0.018668f, 0.016393f, 0.012069f, 0.005088f, -0.002405f, -0.010129f, -0.012578f, -0.014859f, -0.014723f, -0.016372f, -0.014375f, -0.010401f, -0.002729f, 0.002113f, 0.006229f, 0.009658f, 0.012162f, 0.011731f, 0.012770f, 0.011793f, 0.009942f, 0.005895f, 0.001816f, -0.004814f, -0.009107f, -0.012698f, -0.012655f, -0.012119f, -0.009931f, + -0.007027f, -0.001748f, 0.001115f, 0.003704f, 0.006062f, 0.008423f, 0.009276f, 0.009239f, 0.007089f, 0.005394f, 0.002595f, 0.000304f, -0.002385f, -0.004254f, -0.006780f, -0.007349f, -0.007774f, -0.006604f, -0.005133f, -0.002077f, 0.000411f, 0.003399f, 0.005040f, 0.005509f, 0.004606f, 0.004260f, 0.003551f, 0.003122f, 0.001708f, 0.000352f, -0.001368f, -0.002520f, -0.003857f, -0.004211f, -0.004138f, -0.003008f, -0.001787f, -0.000332f, 0.000377f, 0.001244f, 0.001570f, 0.001887f, 0.001717f, 0.001462f, 0.001009f, 0.000753f, 0.000293f, 0.000017f, -0.000263f, -0.000346f, -0.000407f, -0.000421f, -0.000399f}, + {-0.005259f, 0.001130f, 0.005927f, -0.000636f, 0.000436f, -0.009048f, -0.004603f, 0.001217f, 0.011753f, -0.007751f, 0.002373f, -0.012419f, 0.012537f, 0.000730f, 0.004530f, -0.001556f, 0.001901f, -0.002476f, -0.004441f, -0.010809f, 0.004432f, -0.010836f, -0.005117f, -0.006157f, 0.005995f, 0.004745f, 0.002236f, 0.004950f, 0.009427f, 0.000526f, -0.008741f, 0.005591f, 0.000833f, -0.000501f, 0.004566f, -0.001812f, -0.003229f, -0.012732f, 0.001959f, -0.003713f, 0.002674f, 0.005218f, -0.006949f, -0.002821f, 0.006154f, 0.001872f, 0.000652f, -0.006525f, 0.016142f, 0.009695f, 0.001502f, 0.007767f, 0.006368f, 0.006178f, -0.014921f, 0.000843f, -0.001526f, -0.004010f, 0.003554f, 0.002381f, -0.002464f, -0.002850f, -0.000880f, -0.004518f, 0.004296f, -0.001753f, 0.008552f, -0.000395f, -0.002287f, -0.004173f, -0.007635f, -0.001456f, 0.005736f, -0.000326f, 0.001251f, 0.006772f, 0.001790f, 0.007845f, -0.000237f, 0.001128f, -0.000896f, 0.008440f, 0.007478f, 0.007563f, 0.001583f, -0.000080f, 0.003317f, -0.000241f, 0.000971f, 0.000091f, 0.000307f, -0.000706f, -0.002442f, -0.002075f, -0.000516f, -0.002367f, + 0.001012f, 0.001092f, -0.001057f, 0.002426f, -0.001062f, -0.000796f, -0.000590f, 0.000954f, 0.000209f, 0.002161f, 0.000116f, -0.000039f, 0.000103f, 0.002824f, 0.001347f, -0.000291f, -0.000855f, 0.000063f, -0.000484f, 0.001559f, 0.000736f, 0.003012f, 0.000678f, 0.003836f, 0.013427f, -0.006546f, 0.004471f, -0.003737f, -0.005848f, -0.002419f, -0.004054f, 0.007317f, -0.006084f, -0.011288f, -0.002893f, 0.002935f, -0.009400f, -0.005702f, 0.010583f, 0.018279f, -0.003101f, 0.006967f, -0.006293f, -0.006644f, -0.000306f, 0.001897f, -0.000818f, -0.000223f, 0.006785f, -0.011645f, 0.003778f, -0.000892f, -0.002442f, -0.009824f, 0.000844f, 0.000192f, 0.005508f, 0.001613f, -0.007665f, 0.010063f, -0.008046f, 0.009387f, -0.001064f, 0.001670f, 0.003829f, -0.001149f, -0.004720f, 0.007329f, 0.001809f, 0.009806f, 0.001497f, -0.008727f, 0.015746f, 0.012476f, -0.004366f, -0.001329f, -0.003034f, -0.010990f, -0.005919f, -0.001848f, -0.001884f, 0.004374f, -0.006024f, 0.000439f, 0.004318f, -0.000027f, -0.000164f, -0.000745f, -0.001033f, -0.006023f, 0.009524f, 0.000261f, -0.000204f, -0.003048f, -0.001059f, -0.008782f, + -0.007766f, 0.002526f, 0.006359f, -0.000845f, -0.001645f, -0.000051f, -0.000062f, -0.004520f, 0.008537f, 0.001124f, 0.002828f, -0.002262f, 0.002333f, 0.001420f, -0.000349f, -0.000196f, -0.000369f, 0.000076f, 0.002028f, -0.001163f, 0.001287f, 0.001329f, -0.000258f, -0.000385f, 0.001066f, 0.002242f, 0.002045f, -0.001498f, 0.000573f, 0.000663f, -0.001119f, -0.000675f, 0.003212f, -0.000490f, -0.000149f, -0.002553f, -0.002301f, -0.003900f, -0.001421f, -0.013960f, 0.017321f, -0.003705f, -0.001969f, 0.012391f, -0.004762f, 0.006417f, 0.027469f, -0.003233f, 0.000877f, -0.010431f, -0.008409f, -0.013009f, 0.007632f, -0.005342f, 0.003759f, 0.007251f, -0.008167f, -0.006975f, -0.005093f, 0.000641f, 0.002761f, -0.010106f, -0.003921f, 0.004489f, 0.003868f, -0.003978f, -0.001593f, 0.006255f, -0.006345f, 0.001049f, -0.003122f, -0.001108f, -0.004398f, 0.003854f, -0.004030f, 0.001739f, 0.003701f, -0.001628f, 0.011585f, 0.000536f, -0.001501f, -0.008468f, 0.001079f, 0.012371f, 0.001765f, 0.004210f, -0.011213f, -0.016049f, -0.005787f, -0.013800f, -0.012170f, -0.000271f, -0.005216f, -0.000430f, -0.014776f, 0.012745f, + -0.013675f, 0.002071f, 0.009481f, -0.008452f, -0.014291f, -0.010160f, -0.002949f, 0.009587f, 0.008528f, 0.012813f, -0.007444f, -0.006541f, -0.005215f, -0.004471f, 0.009300f, 0.002432f, -0.003748f, -0.001988f, 0.004464f, 0.005058f, 0.001591f, 0.002364f, 0.003275f, -0.000635f, -0.005236f, -0.000802f, -0.003440f, 0.001393f, 0.000536f, 0.001231f, 0.001136f, 0.000346f, 0.002310f, 0.000366f, 0.002682f, 0.000328f, -0.001875f, 0.002725f, -0.002986f, -0.001927f, 0.000707f, -0.000732f, 0.002749f, -0.001540f, -0.001126f, -0.000453f, 0.000445f, -0.000965f, -0.001750f, 0.001784f, -0.000486f, 0.001338f, -0.001461f, -0.001410f, -0.001746f, -0.002050f, -0.001243f, -0.001857f, 0.002891f, -0.002395f, 0.014933f, 0.001545f, -0.006017f, 0.000841f, -0.004983f, -0.001113f, 0.010445f, 0.017534f, -0.006009f, -0.006141f, -0.015928f, 0.002011f, 0.003981f, 0.009052f, -0.006018f, 0.009762f, 0.001529f, 0.015035f, -0.012084f, 0.001932f, -0.022804f, -0.002511f, 0.002702f, -0.005570f, -0.005147f, -0.002014f, 0.008374f, -0.006879f, -0.012002f, 0.003397f, -0.017599f, -0.003833f, -0.008468f, 0.003875f, -0.001898f, 0.005944f, + 0.000754f, -0.013399f, -0.014500f, 0.000396f, 0.007678f, 0.014326f, -0.002876f, -0.005831f, 0.011968f, -0.013234f, -0.007230f, 0.006386f, 0.005672f, 0.009482f, -0.009084f, 0.000337f, 0.003633f, -0.005710f, -0.001958f, 0.005600f, -0.008250f, 0.010702f, -0.004691f, -0.001991f, -0.011456f, -0.009493f, 0.004551f, -0.000024f, 0.000180f, -0.001615f, -0.007046f, 0.006628f, -0.004443f, 0.008243f, -0.000180f, -0.010906f, -0.011480f, 0.004185f, -0.005793f, 0.002043f, -0.016327f, -0.015555f, -0.002522f, 0.014639f, 0.000063f, -0.003020f, 0.000688f, 0.002109f, 0.001522f, -0.000673f, 0.002295f, -0.007635f, 0.001382f, 0.001286f, 0.002272f, 0.002937f, 0.003219f, 0.001717f, -0.004325f, 0.000309f, 0.003729f, 0.001738f, 0.000971f, -0.002137f, -0.002662f, 0.000602f, -0.000055f, -0.000883f, 0.003495f, -0.000077f, -0.000298f, -0.002467f, 0.004372f, 0.003640f, -0.000270f, 0.000311f, -0.002232f, 0.001265f, 0.001325f, 0.000604f, 0.000143f, 0.001445f, -0.002026f, -0.001053f, 0.008842f, -0.024451f, 0.005539f, -0.010683f, 0.008839f, 0.010118f, -0.011618f, -0.021450f, 0.002890f, -0.002959f, 0.013412f, -0.008232f, + 0.019472f, -0.008356f, 0.012846f, -0.016136f, -0.006052f, 0.006587f, 0.009522f, 0.002591f, -0.000182f, -0.009940f, -0.001406f, -0.007844f, -0.009786f, 0.005255f, -0.008369f, 0.003122f, 0.001779f, 0.003872f, -0.004809f, 0.009006f, -0.001828f, 0.007737f, -0.001888f, -0.015123f, -0.002624f, -0.004910f, 0.001399f, 0.014889f, 0.000826f, -0.001396f, -0.000900f, -0.006183f, 0.005069f, -0.005835f, 0.007798f, 0.008463f, 0.002992f, 0.003192f, 0.014988f, -0.003844f, -0.002850f, -0.012190f, 0.008488f, 0.007492f, 0.001478f, 0.001855f, 0.001470f, 0.000533f, 0.004302f, 0.009106f, 0.006031f, 0.003412f, 0.003234f, -0.002442f, 0.011885f, 0.003999f, -0.002595f, -0.009321f, 0.004566f, -0.002835f, 0.017409f, 0.009857f, 0.002095f, -0.008175f, -0.003136f, 0.013266f, -0.005308f, 0.001662f, 0.007625f, -0.004395f, -0.005498f, -0.010692f, 0.001227f, 0.003794f, -0.000959f, 0.005019f, -0.004272f, -0.001638f, -0.003357f, 0.003662f, -0.000444f, -0.001257f, -0.005210f, 0.001146f, 0.001181f, 0.002981f, 0.003479f, -0.001290f, 0.000471f, 0.003909f, -0.000433f, 0.003969f, -0.000410f, 0.001155f, 0.005813f, 0.001167f, + 0.005977f, -0.000525f, -0.001467f, -0.000443f, -0.000667f, 0.000147f, 0.000298f, -0.004665f, 0.001573f, 0.003635f, 0.000248f, 0.001434f, -0.001250f, -0.031380f, -0.017055f, 0.006284f, -0.006146f, 0.012599f, 0.012564f, 0.018980f, 0.007836f, 0.007670f, 0.004661f, -0.022872f, -0.005143f, -0.003176f, 0.002021f, -0.002304f, 0.007082f, 0.005039f, -0.008819f, -0.007031f, 0.005837f, 0.011116f, 0.014005f, 0.012092f, 0.015912f, -0.008755f, -0.008764f, -0.011606f, 0.012258f, -0.007126f, 0.010120f, -0.002586f, -0.000572f, -0.010869f, -0.006549f, -0.006223f, 0.009185f, 0.011364f, 0.001961f, 0.011361f, 0.016231f, -0.006481f, 0.004067f, 0.019093f, -0.009659f, 0.006190f, 0.006428f, 0.000705f, 0.014312f, 0.018399f, 0.013944f, 0.031919f, 0.005876f, -0.004543f, -0.005969f, -0.005483f, -0.000405f, 0.005611f, 0.009622f, -0.001775f, -0.003189f, -0.003386f, -0.008619f, 0.003586f, 0.004561f, 0.008268f, -0.019997f, -0.002742f, 0.004975f, 0.013218f, 0.009154f, -0.017030f, -0.012682f, 0.003213f, 0.003115f, 0.013794f, -0.012221f, 0.000764f, -0.001300f, 0.001459f, -0.017361f, -0.004680f, -0.006029f, -0.004198f, + -0.007180f, -0.002986f, 0.000469f, 0.006638f, -0.000090f, 0.000375f, 0.002511f, 0.003177f, -0.006682f, -0.001041f, 0.000415f, 0.000031f, 0.002280f, -0.002274f, -0.004396f, -0.002922f, -0.003376f, 0.004706f, -0.004600f, -0.002170f, -0.005283f, 0.001313f, -0.001197f, 0.003351f, -0.004844f, 0.002009f, -0.001696f, 0.001975f, 0.001699f, 0.000349f, 0.004043f, -0.003906f, 0.001950f, 0.002283f, 0.000604f, 0.004823f, 0.007554f, 0.015136f, -0.001974f, 0.003081f, 0.012941f, 0.019002f, 0.010698f, -0.021003f, 0.000059f, -0.022345f, -0.015846f, -0.009607f, -0.001864f, -0.013680f, 0.016305f, 0.006018f, 0.009649f, -0.027795f, -0.001999f, 0.018153f, 0.009236f, -0.008169f, -0.011683f, -0.007150f, 0.007081f, -0.021270f, -0.001243f, -0.013676f, 0.020910f, -0.002774f, -0.006117f, 0.002210f, -0.000749f, -0.003605f, 0.003690f, -0.005546f, 0.009710f, 0.006887f, 0.013958f, -0.001055f, 0.000712f, 0.021525f, -0.006818f, 0.014401f, -0.002343f, -0.002556f, 0.037954f, 0.004500f, -0.004070f, -0.008593f, -0.029360f, 0.003073f, -0.030091f, -0.005087f, 0.031683f, -0.008964f, -0.006160f, -0.022041f, -0.006458f, 0.000760f, + -0.011837f, 0.006341f, -0.001152f, -0.016161f, 0.017144f, 0.006111f, 0.005581f, 0.004694f, -0.011942f, 0.013073f, -0.020467f, 0.005894f, 0.007858f, 0.000838f, -0.002713f, -0.008309f, -0.006511f, -0.008463f, -0.002710f, 0.006771f, 0.008743f, -0.002233f, -0.007159f, -0.004263f, 0.009746f, 0.003975f, 0.018659f, -0.000354f, 0.001404f, 0.007571f, -0.000779f, -0.003465f, -0.002589f, -0.002386f, -0.002064f, -0.003106f, 0.002188f, -0.003543f, -0.000140f, 0.003777f, 0.001392f, 0.003851f, 0.003741f, 0.002980f, 0.000330f, 0.005603f, 0.004067f, 0.002400f, 0.001722f, 0.001676f, -0.005895f, -0.005028f, 0.004262f, 0.000578f, -0.003641f, 0.000615f, -0.004140f, 0.001163f, 0.004703f, 0.001689f, -0.000810f, 0.001701f, 0.004029f, 0.000874f, -0.003295f, 0.001592f, 0.012259f, -0.025044f, 0.010640f, -0.008908f, -0.012719f, -0.012129f, 0.009363f, 0.011997f, 0.006947f, 0.020884f, 0.015377f, 0.003022f, 0.006208f, -0.016567f, 0.003227f, 0.007301f, 0.016171f, 0.003042f, -0.007922f, 0.005840f, 0.007496f, -0.014860f, 0.002044f, -0.015239f, 0.011698f, 0.010654f, 0.013743f, -0.013573f, 0.008121f, 0.014729f, + -0.006815f, 0.003721f, 0.019584f, -0.000713f, -0.012296f, -0.009812f, 0.004285f, -0.003366f, -0.012494f, -0.005204f, 0.000131f, 0.002783f, 0.006627f, -0.008646f, 0.013641f, 0.008248f, -0.003242f, 0.016481f, -0.002146f, 0.006185f, 0.021643f, -0.023211f, 0.042546f, -0.019731f, 0.005766f, 0.012755f, -0.004546f, -0.002481f, 0.005304f, 0.028781f, -0.001669f, -0.004100f, -0.000955f, -0.006959f, 0.013941f, 0.015643f, -0.005132f, 0.006636f, 0.005505f, 0.005035f, 0.009547f, 0.012300f, 0.000933f, 0.013310f, 0.002802f, -0.011610f, -0.017811f, 0.004142f, 0.001659f, 0.008036f, 0.003384f, 0.026643f, -0.002783f, 0.014842f, 0.011958f, -0.008375f, -0.015317f, -0.001874f, 0.001646f, 0.003866f, -0.004217f, 0.006794f, 0.003158f, -0.006648f, -0.001876f, -0.006349f, -0.002384f, 0.003823f, -0.002091f, 0.005683f, -0.001535f, 0.001989f, 0.001403f, -0.002754f, 0.002980f, 0.003422f, -0.005392f, 0.003498f, 0.002306f, 0.001044f, 0.001190f, -0.000254f, 0.000961f, 0.006331f, 0.001924f, -0.002332f, 0.001090f, 0.001698f, 0.003101f, 0.003881f, -0.001274f, -0.004481f, -0.001342f, -0.003920f, -0.002962f, 0.004680f, + 0.004289f, 0.005517f, 0.014153f, 0.018640f, 0.011456f, -0.019845f, 0.037986f, -0.011974f, 0.007190f, -0.027905f, 0.011068f, -0.024682f, 0.019085f, 0.001955f, -0.005319f, -0.013978f, 0.018043f, 0.002391f, 0.011507f, 0.011872f, 0.006090f, -0.020798f, 0.010607f, -0.012601f, -0.002317f, 0.009342f, 0.010181f, 0.002342f, -0.003873f, -0.020843f, 0.002892f, 0.019139f, 0.002135f, 0.012378f, 0.013874f, -0.021766f, 0.011966f, -0.011085f, -0.010914f, 0.016001f, 0.017762f, 0.009193f, 0.009995f, 0.002732f, 0.009582f, -0.022438f, -0.009993f, -0.007194f, 0.000645f, 0.023804f, 0.011448f, 0.009404f, -0.001760f, 0.010437f, -0.000531f, 0.026218f, 0.009700f, 0.009912f, 0.004022f, -0.001520f, -0.038854f, 0.014354f, 0.009195f, -0.003653f, -0.002745f, -0.029077f, 0.000276f, -0.011152f, 0.006944f, 0.025213f, -0.004237f, -0.014526f, 0.029478f, -0.001383f, 0.016651f, -0.009886f, 0.000108f, -0.018450f, -0.001696f, 0.000290f, -0.031842f, -0.009537f, -0.005489f, -0.014388f, -0.006639f, -0.002883f, 0.002012f, 0.015891f, 0.001184f, -0.000445f, -0.003078f, -0.008294f, -0.001320f, 0.001412f, -0.003023f, 0.001072f, + 0.000396f, 0.004213f, -0.007467f, -0.003003f, -0.000996f, -0.006940f, 0.000378f, -0.004520f, -0.002810f, -0.002310f, -0.005556f, -0.002918f, 0.006521f, -0.002235f, 0.001165f, -0.001836f, 0.007069f, -0.000372f, 0.003205f, -0.004642f, -0.010337f, -0.003190f, -0.000448f, 0.004418f, 0.001868f, 0.006315f, -0.000422f, -0.002067f, 0.005411f, -0.006645f, 0.007895f, -0.000215f, 0.024871f, -0.021450f, 0.003112f, 0.009039f, 0.011244f, -0.037220f, 0.024682f, 0.006890f, -0.026467f, -0.016928f, 0.014421f, 0.033144f, -0.011690f, -0.006036f, -0.022917f, 0.047457f, 0.018424f, 0.002945f, 0.007893f, -0.024935f, -0.016154f, -0.001057f, 0.002057f, 0.024613f, 0.005327f, 0.018973f, 0.021326f, -0.000939f, 0.001311f, 0.014856f, -0.003930f, -0.015861f, -0.015173f, -0.003864f, 0.021114f, -0.011420f, 0.026714f, -0.012403f, 0.039235f, 0.017449f, 0.031643f, -0.008578f, 0.005110f, 0.025399f, -0.019786f, 0.011838f, 0.011454f, 0.010772f, -0.011335f, 0.013525f, 0.003266f, 0.004312f, 0.011540f, 0.024155f, 0.020304f, -0.020613f, -0.004829f, 0.010613f, -0.020112f, -0.012774f, -0.005316f, -0.041147f, 0.011006f, -0.020340f, + -0.012758f, 0.003968f, -0.005105f, 0.014085f, 0.026223f, 0.016811f, 0.010601f, -0.014163f, -0.003350f, -0.000860f, -0.027841f, 0.005090f, 0.002364f, 0.034416f, 0.007406f, 0.007744f, -0.007458f, 0.026592f, -0.000238f, -0.000758f, 0.000082f, -0.008646f, -0.003953f, 0.001121f, -0.001584f, -0.009368f, 0.000870f, -0.002404f, 0.001701f, -0.011172f, -0.012123f, -0.003972f, 0.009679f, -0.001592f, 0.003776f, 0.003680f, 0.003000f, -0.000776f, -0.002552f, -0.003326f, -0.006706f, -0.011192f, 0.003873f, 0.000617f, -0.002723f, -0.013222f, 0.009794f, 0.006693f, 0.003810f, -0.001055f, 0.000862f, -0.004469f, 0.003367f, -0.002333f, -0.004319f, 0.001611f, 0.005706f, 0.003487f, -0.003447f, -0.000786f, -0.001361f, 0.004246f, -0.029639f, -0.043744f, 0.023676f, -0.017809f, 0.019414f, 0.006353f, 0.009402f, 0.011497f, -0.029384f, -0.053466f, 0.004743f, 0.007739f, 0.030138f, -0.029703f, -0.032564f, 0.028114f, -0.011220f, 0.012790f, -0.006136f, 0.006697f, 0.004465f, 0.007415f, -0.014828f, 0.007168f, -0.002132f, -0.004644f, 0.018581f, 0.006938f, -0.002665f, -0.024122f, -0.003287f, -0.000690f, -0.004438f, -0.001151f, + -0.013049f, -0.031997f, -0.014216f, 0.023488f, -0.009999f, 0.011582f, -0.018134f, 0.013439f, 0.006930f, -0.000241f, -0.009129f, -0.039688f, 0.021945f, 0.021297f, 0.027388f, -0.019151f, -0.008112f, 0.037219f, 0.032901f, 0.015199f, 0.007078f, 0.021035f, 0.007745f, 0.018901f, -0.010139f, 0.016418f, -0.031374f, -0.001994f, 0.008763f, -0.008170f, 0.037353f, 0.001456f, 0.020429f, -0.012177f, -0.020064f, 0.043163f, -0.000719f, 0.017134f, -0.005703f, 0.000611f, -0.050757f, -0.004273f, 0.010808f, -0.019590f, 0.023926f, 0.018139f, 0.004478f, -0.010387f, -0.038661f, -0.000825f, -0.007854f, 0.009638f, 0.011760f, 0.001963f, -0.004698f, 0.009098f, 0.000415f, 0.004470f, -0.002445f, -0.011696f, -0.004266f, -0.010680f, 0.018722f, 0.005742f, -0.000369f, -0.000389f, 0.002353f, 0.017285f, -0.002978f, -0.004141f, 0.002681f, -0.001356f, 0.000230f, 0.007754f, 0.004242f, 0.006970f, -0.004980f, -0.000653f, -0.007984f, 0.001555f, 0.000141f, 0.007299f, 0.007309f, -0.008089f, 0.013062f, 0.013266f, -0.010344f, 0.000808f, 0.001716f, -0.001501f, -0.021933f, -0.028734f, -0.008343f, -0.006731f, -0.049204f, -0.046156f, + -0.012093f, 0.000224f, 0.034741f, 0.028260f, 0.027969f, -0.010817f, -0.004497f, -0.007002f, 0.029864f, 0.012832f, -0.012531f, -0.002217f, -0.009977f, 0.021599f, 0.016764f, -0.012469f, -0.017461f, -0.016026f, -0.032733f, 0.013670f, 0.000912f, 0.000927f, 0.007144f, -0.004896f, 0.012412f, 0.046031f, -0.026204f, 0.013878f, 0.002746f, -0.017744f, -0.010162f, -0.021067f, 0.007986f, -0.009364f, -0.010586f, 0.023834f, 0.002926f, -0.007952f, 0.024065f, -0.003275f, -0.010628f, 0.008374f, 0.017557f, -0.009668f, 0.018868f, 0.033893f, 0.032688f, -0.022347f, -0.000314f, 0.008165f, 0.018419f, -0.028300f, -0.005900f, -0.007817f, 0.035256f, 0.015024f, -0.003806f, -0.021448f, -0.023804f, -0.021162f, 0.031839f, 0.026368f, -0.050454f, -0.042094f, -0.031927f, -0.022486f, 0.007606f, -0.020281f, 0.012307f, 0.003358f, 0.004999f, -0.040589f, -0.013017f, 0.036687f, 0.028293f, -0.012298f, -0.026053f, 0.025342f, 0.013274f, -0.003056f, 0.000412f, -0.003240f, -0.006185f, 0.014400f, -0.012933f, 0.003147f, 0.002203f, -0.000545f, -0.009350f, -0.017051f, 0.003280f, 0.013842f, -0.001372f, 0.001514f, -0.005969f, 0.013145f, + 0.014383f, 0.001406f, -0.001925f, 0.004843f, -0.000533f, 0.005809f, 0.006259f, 0.009054f, -0.012192f, -0.001186f, 0.004438f, -0.000015f, -0.007576f, 0.002012f, 0.015241f, 0.014189f, -0.005437f, 0.010869f, -0.016693f, 0.004159f, -0.005405f, -0.004644f, -0.006704f, -0.010434f, 0.003876f, 0.040742f, 0.032126f, 0.019962f, 0.003159f, -0.026509f, -0.013736f, -0.004043f, 0.011001f, 0.016951f, -0.023446f, 0.006179f, 0.001534f, -0.020029f, -0.009433f, 0.016245f, -0.011869f, 0.012922f, 0.005610f, 0.015186f, -0.018686f, -0.000026f, -0.041815f, 0.006326f, -0.052908f, 0.021842f, 0.021612f, -0.020536f, 0.024393f, 0.029043f, 0.000923f, 0.008296f, -0.034089f, 0.020184f, 0.002080f, -0.014145f, 0.018586f, -0.004340f, 0.000334f, -0.000301f, 0.002337f, 0.035723f, -0.003964f, -0.000032f, 0.043864f, -0.000419f, -0.020163f, -0.057840f, -0.047518f, 0.052899f, 0.032989f, 0.013048f, 0.013368f, -0.022107f, -0.044532f, -0.021888f, 0.007117f, -0.017109f, 0.034922f, -0.001852f, 0.004688f, 0.037635f, -0.007668f, -0.011670f, -0.008405f, -0.023681f, -0.040195f, -0.031943f, 0.091025f, -0.044166f, -0.019952f, 0.026117f, + -0.046021f, -0.033166f, 0.033052f, 0.046292f, 0.015297f, -0.008403f, 0.054504f, 0.026320f, -0.043750f, -0.015179f, -0.024408f, -0.023842f, 0.049560f, 0.003601f, -0.032921f, -0.022766f, -0.025610f, 0.007245f, -0.005236f, 0.015116f, -0.000309f, -0.007593f, -0.011978f, 0.001133f, 0.013766f, -0.007354f, 0.006397f, -0.007163f, 0.006891f, 0.006233f, 0.019149f, -0.007411f, -0.002715f, 0.016397f, 0.001373f, 0.008393f, 0.008597f, 0.011711f, 0.002263f, -0.006808f, -0.003768f, -0.001725f, -0.002669f, 0.007193f, -0.002148f, -0.007627f, 0.015458f, 0.015933f, -0.008698f, 0.004091f, -0.009913f, 0.003655f, 0.003812f, 0.009850f, -0.002412f, -0.000933f, -0.004856f, 0.004716f, 0.011073f, -0.037375f, -0.027590f, -0.019260f, -0.034205f, -0.003102f, 0.032366f, -0.002369f, 0.006641f, 0.015920f, 0.010562f, -0.027539f, -0.013341f, -0.022763f, -0.012195f, 0.029144f, -0.008929f, -0.003203f, -0.004018f, 0.017663f, 0.017618f, 0.052615f, 0.008368f, 0.038725f, -0.002282f, 0.013054f, -0.021123f, -0.015916f, 0.013868f, -0.026878f, -0.029875f, 0.000957f, 0.009391f, -0.015346f, 0.012243f, -0.017963f, 0.005459f, -0.047229f, + 0.026337f, 0.014725f, 0.021539f, 0.002664f, -0.019210f, -0.039575f, -0.014122f, -0.003549f, 0.032594f, -0.024861f, -0.014717f, 0.009087f, 0.074560f, -0.020635f, 0.075797f, -0.046530f, 0.018351f, -0.017171f, 0.033254f, -0.013217f, 0.057506f, -0.054124f, 0.082362f, -0.007814f, 0.016928f, 0.035630f, -0.061104f, 0.054445f, -0.065265f, 0.044016f, -0.106338f, 0.057618f, -0.054672f, 0.048411f, -0.071321f, 0.062664f, 0.002096f, 0.040611f, 0.017573f, -0.033273f, 0.028905f, -0.023832f, 0.072029f, -0.032840f, 0.011844f, -0.043011f, 0.011624f, -0.002903f, 0.007879f, -0.015398f, 0.019980f, -0.019767f, 0.014148f, -0.007019f, 0.004546f, 0.006041f, 0.006345f, 0.008322f, -0.004925f, -0.011382f, -0.009240f, -0.010907f, -0.025024f, 0.014420f, 0.003678f, -0.017206f, -0.008018f, -0.005217f, 0.011107f, -0.019150f, 0.018162f, -0.014674f, 0.003599f, -0.007879f, 0.008819f, 0.002931f, -0.000201f, 0.027595f, -0.024501f, 0.014922f, -0.023674f, 0.035596f, -0.006808f, 0.034776f, -0.013742f, 0.010846f, 0.015694f, 0.005242f, 0.005391f, -0.000053f, 0.016632f, -0.024889f, 0.027231f, -0.018984f, 0.017910f, -0.004050f, + 0.000107f, -0.007211f, 0.000251f, 0.001473f, -0.007056f, 0.003307f, 0.006509f, 0.003191f, -0.032772f, -0.029697f, 0.034486f, 0.059506f, -0.049361f, 0.075444f, -0.004411f, -0.000052f, -0.002928f, 0.013065f, -0.022487f, -0.016547f, -0.033675f, -0.007569f, 0.001056f, 0.000031f, -0.000199f, 0.029627f, 0.005058f, 0.032485f, 0.031821f, -0.020299f, 0.011697f, 0.067801f, 0.022147f, 0.014486f, 0.010158f, -0.058896f, 0.002980f, -0.009586f, -0.007394f, -0.054019f, -0.011434f, 0.030971f, 0.008745f, 0.010267f, 0.015583f, 0.039251f, 0.010237f, -0.012173f, -0.004043f, -0.003435f, 0.014725f, -0.026794f, -0.016473f, 0.040529f, 0.025169f, 0.018846f, 0.031353f, 0.023120f, -0.013666f, -0.006899f, -0.046804f, -0.020609f, 0.019028f, 0.014964f, 0.035328f, -0.025520f, -0.012689f, -0.008988f, 0.025971f, 0.015148f, 0.023316f, 0.009571f, -0.018464f, -0.017195f, 0.058426f, -0.017927f, -0.056767f, 0.013068f, 0.041073f, 0.028087f, -0.000741f, -0.004969f, 0.005080f, 0.009350f, 0.005816f, 0.052128f, -0.062843f, -0.053733f, 0.006254f, 0.021139f, -0.027038f, -0.014020f, 0.004591f, -0.021350f, 0.010104f, -0.010464f, + -0.002663f, 0.005553f, -0.004060f, -0.014363f, 0.000553f, 0.011831f, -0.007626f, 0.000067f, -0.020785f, -0.003691f, -0.018284f, 0.013413f, -0.005797f, 0.012298f, -0.007431f, 0.007668f, 0.003233f, 0.010373f, 0.016321f, -0.016570f, -0.007388f, -0.004979f, 0.012875f, -0.008061f, -0.014906f, -0.027414f, -0.000068f, -0.010981f, -0.004060f, 0.004116f, 0.002766f, 0.000735f, 0.005402f, 0.008921f, -0.001733f, 0.027566f, 0.003441f, -0.002255f, -0.021336f, 0.003658f, -0.003901f, -0.001246f, 0.005254f, -0.022434f, -0.011394f, -0.023171f, -0.119457f, 0.032969f, -0.014586f, -0.007616f, 0.029261f, -0.020277f, 0.031401f, -0.004266f, -0.051789f, -0.009471f, 0.004994f, 0.018136f, 0.023075f, 0.005346f, -0.036714f, 0.036266f, -0.014278f, -0.003334f, -0.022578f, -0.010168f, 0.019424f, -0.003922f, 0.017323f, 0.029238f, -0.006816f, -0.037827f, 0.008346f, 0.041450f, -0.038661f, 0.014180f, 0.032160f, -0.005885f, -0.025586f, -0.047693f, -0.032202f, 0.033599f, 0.086137f, -0.026561f, -0.034417f, 0.097070f, -0.006384f, -0.014004f, 0.069841f, 0.040664f, 0.034684f, 0.028037f, 0.011478f, -0.020565f, 0.035464f, 0.033047f, + 0.022747f, 0.010531f, -0.064289f, 0.040116f, 0.035487f, -0.067852f, -0.039264f, -0.024389f, -0.019031f, -0.018703f, 0.073996f, 0.036947f, -0.042355f, 0.039555f, -0.015697f, -0.039589f, 0.017210f, 0.020127f, -0.017514f, -0.016783f, -0.062120f, 0.006976f, 0.010582f, 0.045413f, 0.021735f, 0.005618f, 0.037954f, -0.030181f, 0.078539f, -0.083514f, -0.097439f, 0.068774f, -0.042064f, -0.002608f, 0.048222f, -0.030397f, -0.020938f, -0.006014f, -0.005759f, 0.006001f, 0.029582f, 0.014535f, -0.024248f, -0.001483f, 0.011514f, -0.002894f, 0.016434f, -0.000647f, 0.009083f, 0.001782f, -0.012871f, 0.006910f, 0.026258f, 0.018095f, -0.001151f, 0.003524f, 0.017560f, -0.002816f, -0.002091f, 0.004464f, 0.040676f, 0.020887f, -0.006530f, 0.008905f, -0.036066f, -0.001566f, 0.009528f, -0.016598f, -0.022354f, 0.021117f, -0.009656f, -0.000607f, 0.021712f, -0.018814f, 0.008366f, -0.003197f, -0.005368f, 0.026947f, -0.015198f, -0.003612f, -0.031593f, -0.129774f, 0.040139f, 0.073469f, -0.045267f, -0.009300f, -0.035163f, 0.075581f, 0.050892f, 0.032000f, -0.005842f, -0.026225f, 0.005593f, 0.030549f, 0.014330f, -0.012976f, + -0.002709f, 0.041731f, -0.002559f, -0.015183f, -0.055548f, -0.026285f, 0.047190f, 0.027463f, -0.029473f, 0.023884f, -0.021291f, -0.006679f, 0.014285f, 0.013358f, -0.012753f, 0.008668f, -0.048669f, 0.014106f, 0.066228f, -0.008276f, -0.012685f, -0.064790f, -0.038826f, 0.031595f, -0.051009f, -0.027706f, 0.011899f, 0.013127f, -0.015647f, 0.042640f, 0.040334f, -0.041240f, 0.015624f, 0.023144f, 0.066741f, 0.061067f, -0.009451f, 0.020045f, -0.001436f, 0.069802f, 0.030486f, 0.028367f, 0.066239f, -0.029393f, -0.042958f, -0.022006f, -0.055045f, 0.046682f, 0.022169f, 0.022856f, 0.012294f, 0.079149f, -0.052142f, -0.012124f, 0.033960f, -0.018572f, 0.037667f, -0.001715f, 0.004588f, 0.017533f, -0.045498f, -0.069207f, 0.008939f, 0.013444f, 0.076436f, 0.058099f, 0.001612f, -0.056138f, -0.008679f, -0.061324f, -0.000142f, -0.001840f, -0.017036f, -0.015634f, 0.008556f, -0.005203f, -0.004406f, -0.015471f, -0.009909f, -0.013728f, -0.008031f, 0.002238f, -0.016230f, -0.014911f, -0.002277f, 0.015450f, 0.008058f, -0.019852f, 0.018381f, -0.009998f, 0.033920f, -0.010423f, -0.029717f, -0.010858f, 0.015152f, -0.009163f, + -0.022481f, 0.026096f, -0.005347f, -0.023550f, -0.036421f, 0.005814f, -0.005647f, 0.004466f, 0.008356f, -0.013931f, -0.011793f, -0.031934f, -0.006871f, -0.008309f, 0.002517f, 0.006124f, 0.012086f, 0.010446f, -0.024188f, 0.000290f, -0.030663f, -0.011128f, 0.003361f, 0.003486f, 0.030125f, 0.051249f, 0.044726f, 0.046081f, 0.059337f, -0.034281f, 0.046719f, -0.091535f, -0.040045f, 0.034530f, 0.008140f, 0.066707f, 0.030410f, 0.056874f, -0.024872f, 0.007451f, -0.049534f, 0.033470f, 0.055317f, 0.050304f, 0.004992f, 0.035625f, -0.087919f, -0.057291f, 0.054432f, 0.015782f, -0.054834f, -0.028380f, 0.006605f, 0.080455f, 0.024783f, -0.032885f, -0.041464f, 0.008098f, -0.012173f, 0.049442f, 0.053395f, -0.005395f, -0.008799f, 0.010515f, -0.015285f, 0.063973f, 0.018307f, -0.015315f, 0.012795f, -0.030618f, -0.018223f, -0.143712f, -0.048938f, 0.025478f, -0.022595f, -0.021612f, -0.000840f, -0.026027f, -0.026082f, 0.065693f, 0.043892f, -0.033271f, 0.059870f, 0.124292f, 0.025424f, 0.088497f, 0.012089f, 0.017889f, 0.064844f, 0.042824f, -0.035190f, -0.039838f, -0.070083f, -0.043574f, -0.004777f, -0.069086f, + 0.025375f, -0.008424f, -0.066968f, -0.048011f, -0.047977f, -0.060159f, -0.036640f, -0.024250f, -0.032139f, 0.009324f, 0.056763f, 0.069442f, 0.036461f, -0.007359f, -0.050951f, -0.006596f, 0.001769f, 0.004197f, -0.024932f, -0.004548f, -0.016910f, 0.013463f, 0.019377f, 0.002042f, 0.014129f, -0.000591f, -0.010083f, 0.016499f, -0.018182f, 0.002134f, 0.015587f, 0.033937f, 0.004449f, -0.000455f, 0.022742f, 0.009588f, 0.061394f, -0.015589f, -0.050405f, -0.002731f, 0.033595f, 0.005890f, -0.013912f, -0.015436f, -0.041048f, -0.038715f, -0.022124f, -0.015503f, -0.007386f, -0.023305f, -0.033738f, -0.035723f, -0.019798f, -0.003030f, 0.004591f, 0.046958f, 0.033770f, -0.012797f, 0.054493f, 0.097313f, 0.067095f, 0.047309f, 0.029295f, 0.018475f, -0.024350f, -0.015692f, -0.024313f, -0.021847f, -0.006087f, -0.001753f, 0.056217f, -0.006760f, 0.047669f, -0.031770f, 0.012290f, -0.107535f, 0.029573f, -0.016809f, 0.054426f, -0.014233f, -0.064547f, 0.063782f, -0.024738f, 0.009299f, 0.036061f, 0.026838f, 0.058341f, -0.009535f, 0.008419f, -0.011752f, 0.066594f, -0.014808f, 0.012206f, 0.046218f, -0.054422f, 0.045568f, + -0.014017f, 0.027670f, 0.044198f, -0.012571f, 0.009528f, 0.006957f, 0.004115f, -0.014949f, 0.019432f, 0.018815f, -0.008359f, -0.026797f, -0.005318f, -0.031149f, -0.010488f, -0.006338f, 0.024612f, -0.013372f, -0.049218f, -0.032597f, 0.050905f, 0.051462f, -0.049551f, -0.041586f, 0.061049f, 0.071874f, -0.028418f, -0.007618f, 0.051644f, 0.001666f, 0.026344f, 0.037490f, -0.088031f, -0.026320f, -0.006411f, 0.084423f, 0.007320f, -0.006455f, -0.083910f, 0.016149f, 0.032317f, 0.021072f, 0.002503f, 0.022045f, 0.008165f, 0.011180f, 0.105921f, -0.003673f, 0.005112f, 0.062238f, -0.038004f, 0.041221f, 0.007309f, 0.031009f, 0.020002f, -0.048663f, -0.016404f, 0.057018f, 0.037527f, 0.021605f, -0.014106f, 0.019683f, 0.009536f, -0.000404f, 0.007141f, 0.014243f, -0.007469f, 0.024646f, -0.016951f, -0.004796f, 0.025341f, 0.014896f, 0.004749f, -0.054516f, 0.004382f, 0.026383f, -0.020818f, 0.009167f, -0.048572f, -0.030849f, 0.033295f, 0.016058f, 0.027295f, 0.023869f, -0.019631f, -0.053032f, -0.015154f, 0.017708f, 0.045430f, 0.027558f, -0.007281f, -0.010460f, -0.016558f, 0.037433f, -0.001151f, -0.007909f, + -0.015847f, 0.019691f, 0.008009f, -0.008547f, -0.038717f, -0.024553f, 0.023837f, 0.023865f, 0.016848f, -0.026687f, -0.037371f, 0.018218f, 0.048443f, 0.022407f, 0.002977f, -0.024840f, -0.006251f, 0.011007f, -0.000929f, 0.000532f, 0.002438f, -0.006451f, -0.011575f, 0.003653f, 0.012376f, 0.003478f, 0.001841f, 0.005732f, 0.001521f, 0.001330f, 0.002253f, 0.006039f, 0.000675f, -0.000534f, 0.004651f, 0.061629f, -0.104142f, -0.007097f, -0.088108f, -0.081625f, 0.020605f, 0.017350f, 0.015026f, 0.002176f, 0.077805f, 0.044440f, 0.100151f, 0.109698f, -0.012015f, -0.053737f, 0.011478f, -0.014481f, -0.009984f, 0.023896f, 0.010632f, -0.008622f, -0.050417f, -0.054992f, 0.059787f, 0.027794f, -0.006790f, 0.009334f, 0.009726f, 0.005669f, 0.011012f, -0.005468f, -0.014314f, -0.081363f, 0.001782f, 0.046979f, -0.013734f, -0.062675f, -0.020635f, 0.051774f, -0.095757f, -0.032757f, 0.060516f, 0.036806f, 0.072271f, -0.001924f, 0.005251f, -0.066499f, -0.067337f, -0.084633f, 0.071374f, 0.101270f, -0.133184f, -0.066190f, -0.006994f, 0.067792f, -0.052854f, -0.008443f, 0.122087f, 0.049842f, 0.030948f, 0.080999f, + 0.059028f, 0.088905f, -0.032082f, 0.088399f, -0.013475f, -0.069029f, -0.101816f, -0.023687f, 0.038943f, -0.080448f, -0.015834f, 0.017537f, -0.017067f, -0.028209f, 0.017149f, 0.015756f, -0.055508f, 0.041513f, 0.020162f, 0.060243f, -0.014514f, -0.058646f, 0.073316f, 0.015030f, -0.066953f, 0.000573f, -0.015626f, 0.028081f, -0.029680f, -0.030182f, -0.015661f, -0.002902f, -0.001038f, -0.022825f, -0.027970f, 0.021887f, -0.029181f, -0.000020f, -0.028842f, 0.016052f, 0.027259f, 0.004548f, 0.040789f, 0.028300f, -0.041237f, -0.015075f, -0.000060f, -0.036772f, 0.006124f, -0.005999f, 0.014637f, -0.009483f, 0.012895f, 0.036059f, 0.000026f, 0.007201f, -0.025163f, 0.038780f, 0.024409f, -0.026911f, -0.008065f, 0.027762f, 0.025737f, -0.003481f, -0.039652f, -0.004807f, -0.077039f, 0.059743f, -0.004824f, 0.018422f, 0.023260f, 0.022529f, 0.000953f, -0.025820f, 0.042436f, 0.010805f, 0.040968f, -0.008548f, -0.086217f, -0.007632f, 0.025176f, -0.028201f, -0.031425f, -0.019155f, -0.028950f, 0.035433f, -0.008831f, -0.030506f, -0.001529f, 0.032980f, -0.043815f, 0.031066f, -0.015061f, 0.016637f, -0.043159f, -0.010580f, + 0.017798f, -0.003490f, -0.003781f, 0.005592f, 0.024567f, -0.004073f, -0.003719f, -0.030070f, 0.015333f, -0.008076f, 0.005104f, 0.009627f, 0.003420f, 0.022723f, -0.032660f, -0.024872f, 0.034689f, 0.029966f, -0.041069f, 0.019958f, -0.033144f, 0.038765f, -0.032015f, 0.014786f, 0.010182f, -0.027048f, 0.060763f, 0.006148f, -0.067097f, 0.031303f, 0.008394f, -0.051813f, 0.029465f, -0.018851f, 0.031366f, -0.044882f, 0.023417f, -0.047557f, 0.022203f, 0.034312f, -0.030566f, 0.017953f, -0.032493f, 0.001427f, 0.001358f, 0.003415f, -0.021265f, 0.000709f, 0.016644f, -0.000625f, -0.029306f, 0.022601f, -0.018266f, -0.039491f, 0.017400f, -0.017366f, 0.008925f, 0.018831f, -0.013820f, -0.008204f, 0.003592f, -0.002305f, 0.012289f, -0.006002f, -0.004131f, 0.011045f, 0.013906f, 0.004900f, -0.013460f, -0.007875f, 0.013439f, 0.008208f, -0.030791f, 0.028673f, -0.003807f, -0.010284f, 0.004216f, -0.001896f, 0.006966f, 0.015536f, -0.003494f, 0.029134f, -0.008241f, -0.012192f, -0.013777f, -0.005299f, 0.003033f, -0.013279f, 0.003892f, -0.004282f, -0.005287f, 0.003824f, 0.004920f, -0.005312f, 0.000131f, -0.001244f, + -0.005761f, 0.006252f, 0.004221f, -0.006288f, 0.018271f, 0.037254f, -0.018987f, -0.208069f, -0.375351f, -0.124866f, -0.290934f, -0.287832f, 0.154824f, 0.032072f, 0.215376f, 0.486779f, 0.438626f, 0.359595f, 0.439263f, 0.268738f, 0.059980f, 0.084416f, -0.062618f, -0.326346f, -0.322506f, -0.241415f, -0.313367f, -0.214957f, -0.044578f, -0.145142f, -0.200130f, -0.086984f, -0.025095f, -0.104131f, -0.049552f, -0.002201f, -0.052072f, -0.092704f, 0.019376f, 0.079762f, -0.027152f, 0.110756f, 0.165610f, 0.003898f, 0.031917f, 0.223886f, 0.110985f, 0.001185f, 0.209898f, 0.171514f, -0.040335f, 0.081127f, 0.195973f, -0.003918f, 0.015978f, 0.276492f, 0.148553f, 0.061616f, 0.334494f, 0.368487f, 0.181235f, 0.349327f, 0.434586f, 0.113804f, 0.058290f, 0.176829f, -0.070841f, -0.210514f, -0.122800f, -0.273866f, -0.485533f, -0.484625f, -0.550011f, -0.732593f, -0.737774f, -0.708088f, -0.724375f, -0.648288f, -0.555758f, -0.445343f, -0.291859f, -0.148722f, 0.071358f, 0.319638f, 0.421728f, 0.514534f, 0.697112f, 0.612889f, 0.547912f, 0.611954f, 0.451737f, 0.210618f, 0.247761f, 0.279865f, 0.103175f, 0.134692f, + 0.280421f, 0.137298f, 0.025453f, 0.119881f, 0.107960f, -0.062617f, -0.000800f, 0.074640f, -0.112292f, -0.143249f, 0.031500f, -0.029387f, -0.047300f, 0.155767f, 0.133752f, 0.012915f, 0.121515f, 0.176477f, 0.030325f, -0.014498f, 0.009072f, -0.183017f, -0.330024f, -0.344864f, -0.439622f, -0.553237f, -0.524176f, -0.469175f, -0.427392f, -0.381368f, -0.280130f, -0.265922f, -0.290288f, -0.194747f, -0.064058f, 0.016634f, 0.070921f, 0.189049f, 0.226895f, 0.256630f, 0.460748f, 0.536986f, 0.496419f, 0.457752f, 0.364811f, 0.230637f, 0.197717f, 0.168021f, 0.102990f, 0.073302f, 0.067900f, 0.026853f, -0.006088f, -0.009228f, -0.019282f, -0.040472f, -0.049963f, -0.041191f, -0.056468f, -0.077643f, -0.074078f, -0.071966f, -0.081459f, -0.082517f, -0.070093f, -0.073771f, -0.068933f, -0.052965f, -0.051126f, -0.054110f, -0.044933f, -0.037111f, -0.035877f, -0.025313f, -0.013576f, -0.009643f, -0.009392f, -0.012899f, -0.013360f, -0.014404f, -0.014888f, -0.012094f, -0.010812f, -0.020667f, -0.032106f, -0.041018f, -0.047219f, -0.050682f, -0.041895f, -0.033450f, -0.032674f, -0.027008f, -0.016057f, -0.012021f, 0.001971f, 0.022736f, + 0.033679f, 0.037027f, 0.048534f, 0.054749f, 0.052446f, 0.058851f, 0.067198f, 0.061452f, 0.061824f, 0.069568f, 0.067815f, 0.064862f, 0.066520f, 0.056487f, 0.040233f, 0.029421f, 0.019618f, 0.005329f, -0.006525f, -0.014046f, -0.024639f, -0.035032f, -0.037513f, -0.038343f, -0.040702f, -0.037578f, -0.036277f, -0.039767f, -0.038639f, -0.036482f, -0.034055f, -0.030026f, -0.025974f, -0.021330f, -0.016894f, -0.013094f, -0.007651f, -0.003968f, -0.001825f, 0.000549f, 0.002646f, 0.003161f, 0.004014f, 0.004906f, 0.005357f, 0.005426f, 0.005701f, 0.005725f, 0.005435f, 0.005114f, 0.005026f, 0.004931f, 0.004839f} + }, + { + {-0.015802f, 0.001738f, 0.010386f, 0.003546f, 0.006765f, -0.009889f, -0.005424f, 0.000440f, -0.001760f, 0.002642f, 0.008223f, -0.019803f, -0.000149f, 0.006503f, 0.003898f, 0.005993f, -0.005743f, -0.008006f, 0.008641f, -0.000150f, 0.002400f, 0.005390f, 0.007147f, 0.002637f, 0.001481f, 0.006437f, -0.000965f, -0.002065f, -0.005579f, 0.002995f, -0.001581f, -0.000908f, -0.002905f, 0.003700f, 0.009403f, 0.000038f, -0.001973f, 0.004432f, -0.006042f, -0.009015f, -0.005000f, -0.001827f, -0.005865f, 0.000527f, -0.001370f, 0.003787f, -0.003667f, 0.001053f, -0.007335f, -0.000702f, -0.006036f, -0.000285f, -0.002775f, -0.002373f, 0.003043f, -0.003468f, -0.000374f, 0.004956f, -0.002625f, 0.005910f, 0.007135f, 0.000525f, 0.009651f, -0.004942f, -0.000353f, 0.004632f, -0.001697f, 0.003128f, 0.004373f, 0.002383f, -0.005113f, 0.002012f, 0.002304f, 0.001646f, 0.000285f, -0.004245f, 0.005619f, -0.001513f, 0.002671f, -0.000918f, -0.001197f, 0.000367f, -0.005903f, -0.000473f, -0.004593f, -0.002116f, -0.000230f, -0.000783f, -0.000186f, -0.000441f, -0.002484f, 0.002935f, 0.000310f, 0.000833f, 0.000173f, 0.001646f, + -0.001028f, 0.002077f, -0.000185f, 0.000895f, -0.000371f, -0.000879f, 0.001127f, 0.000132f, -0.000380f, -0.000006f, 0.001604f, 0.000372f, -0.000323f, 0.001033f, 0.000493f, -0.000189f, 0.026367f, -0.007320f, 0.002632f, -0.005630f, -0.000368f, -0.002296f, 0.003126f, 0.002136f, 0.009107f, 0.002863f, 0.001676f, 0.003582f, -0.002079f, -0.018059f, -0.017273f, -0.005336f, 0.002422f, 0.005410f, -0.004308f, 0.001082f, -0.005548f, -0.001924f, 0.000384f, 0.003168f, -0.007607f, -0.008302f, -0.002382f, -0.000447f, 0.004625f, 0.001577f, -0.001787f, -0.005969f, 0.001167f, -0.003249f, 0.000268f, 0.004328f, -0.006048f, 0.003039f, 0.005557f, -0.004178f, -0.011184f, -0.002858f, 0.004197f, -0.000585f, 0.003426f, -0.000465f, 0.002979f, -0.000438f, 0.003264f, 0.000703f, -0.010432f, 0.002159f, 0.004403f, -0.001577f, 0.003015f, 0.000581f, -0.000514f, -0.001999f, 0.000202f, -0.006115f, -0.000457f, -0.001615f, -0.007734f, -0.001233f, -0.000150f, 0.007042f, -0.006783f, 0.011527f, 0.013402f, 0.010559f, -0.004442f, -0.002037f, -0.002320f, 0.005164f, -0.001830f, -0.002784f, 0.003272f, -0.007447f, -0.006752f, 0.000926f, + 0.006174f, -0.000101f, -0.002977f, -0.006650f, -0.003878f, -0.005049f, -0.002608f, -0.004652f, 0.001874f, -0.002750f, -0.000656f, -0.002890f, -0.001460f, 0.000255f, 0.001687f, 0.000225f, 0.001733f, -0.001005f, 0.000229f, 0.001381f, 0.000784f, 0.001109f, 0.001140f, 0.000697f, -0.001139f, 0.001385f, -0.024788f, -0.000160f, -0.003823f, 0.001713f, -0.000858f, -0.012831f, -0.002458f, -0.002706f, 0.004007f, 0.006241f, -0.008597f, 0.006867f, -0.002194f, 0.004733f, 0.004741f, -0.002578f, 0.010312f, 0.000633f, 0.000448f, -0.001788f, 0.001782f, -0.002558f, 0.001893f, -0.002874f, 0.000372f, -0.006737f, 0.000711f, 0.007441f, -0.000015f, 0.003139f, 0.007814f, -0.007691f, -0.008131f, 0.003396f, -0.003704f, 0.006274f, -0.006356f, -0.001903f, -0.013269f, -0.010204f, -0.008876f, 0.003876f, 0.001118f, 0.004722f, -0.004838f, -0.003415f, -0.001027f, 0.008327f, -0.009226f, 0.003812f, 0.001576f, 0.000698f, 0.004634f, -0.003196f, -0.004246f, -0.005521f, 0.003349f, 0.001815f, -0.008172f, -0.008953f, -0.010466f, -0.000287f, -0.002278f, 0.003416f, -0.000513f, -0.001952f, 0.000937f, 0.001422f, 0.004625f, -0.012447f, + 0.001500f, 0.007119f, 0.010489f, 0.010837f, 0.008893f, -0.001554f, -0.006638f, 0.009717f, 0.002913f, 0.001904f, -0.004890f, 0.002824f, 0.001952f, 0.000320f, -0.001252f, -0.002843f, -0.000477f, 0.003341f, -0.002617f, -0.004213f, -0.001789f, -0.001798f, 0.000657f, -0.000328f, -0.001091f, 0.002918f, 0.000170f, 0.003719f, -0.000405f, 0.001091f, 0.002407f, 0.002349f, 0.001744f, 0.001341f, -0.001538f, -0.001601f, -0.000597f, 0.001494f, -0.000354f, 0.001460f, -0.001075f, 0.002532f, 0.002025f, -0.002144f, 0.000057f, 0.000206f, -0.003632f, 0.002722f, -0.014674f, 0.008792f, -0.007870f, 0.010515f, 0.013750f, 0.008500f, -0.000348f, 0.003945f, 0.000755f, 0.011228f, -0.006425f, -0.006449f, 0.003080f, -0.001931f, 0.004485f, 0.008598f, -0.012754f, 0.003804f, 0.011082f, 0.005128f, -0.001011f, -0.000283f, 0.001171f, -0.005432f, -0.000279f, -0.005142f, -0.007105f, -0.001993f, 0.010487f, -0.004199f, 0.004766f, -0.003893f, -0.006726f, 0.012607f, -0.011355f, 0.008402f, 0.009195f, 0.001671f, 0.005755f, -0.008452f, -0.002464f, -0.003461f, -0.002813f, 0.005778f, 0.001599f, -0.009075f, 0.001242f, -0.001048f, + 0.001479f, -0.002106f, 0.002994f, 0.002885f, 0.010451f, -0.011341f, 0.005162f, 0.004053f, -0.001336f, 0.004025f, 0.000965f, 0.006371f, 0.005924f, 0.003702f, -0.003819f, 0.005038f, 0.009012f, -0.000421f, 0.005191f, -0.004095f, 0.010723f, 0.011104f, 0.012176f, -0.003753f, -0.008902f, 0.002613f, -0.001432f, 0.004233f, 0.002969f, -0.000237f, -0.000881f, -0.012608f, -0.003474f, -0.003070f, -0.001209f, -0.002736f, -0.003954f, 0.004076f, 0.001407f, 0.001158f, 0.004771f, -0.000486f, 0.004826f, 0.003004f, 0.001405f, -0.000897f, 0.000638f, -0.001296f, -0.002355f, 0.001308f, 0.000143f, 0.002262f, -0.000975f, 0.000401f, -0.000402f, -0.001841f, 0.002515f, -0.000294f, -0.002607f, 0.000776f, 0.001989f, 0.000071f, -0.003323f, 0.000577f, -0.001669f, 0.004043f, 0.002854f, 0.002896f, -0.000595f, 0.000763f, 0.002167f, 0.000057f, 0.000993f, 0.001979f, 0.000990f, 0.020285f, -0.001885f, -0.006361f, 0.019292f, -0.007647f, 0.008654f, -0.004659f, -0.018475f, 0.003279f, -0.005329f, 0.000573f, 0.022103f, -0.008576f, -0.010493f, 0.000842f, 0.011611f, -0.018717f, -0.006962f, 0.014034f, -0.004952f, 0.004533f, + 0.006621f, -0.005010f, 0.006024f, -0.003916f, -0.006498f, 0.001305f, -0.001842f, -0.002273f, -0.002415f, 0.007827f, -0.006286f, 0.015240f, 0.003783f, 0.000334f, -0.008753f, -0.002585f, 0.009300f, -0.010682f, 0.002260f, 0.003713f, -0.001684f, -0.014896f, 0.010182f, 0.002724f, 0.002493f, 0.001336f, -0.002070f, 0.007709f, -0.004583f, 0.010536f, 0.005973f, -0.004072f, -0.018184f, 0.008103f, 0.004859f, -0.000431f, -0.005161f, 0.004410f, 0.011714f, 0.011935f, -0.001320f, 0.007071f, -0.010726f, 0.007810f, -0.001911f, -0.003670f, 0.004621f, 0.009243f, -0.006486f, 0.009151f, 0.001620f, -0.003826f, -0.003236f, 0.007473f, -0.006245f, 0.017703f, -0.009108f, 0.007349f, -0.006125f, 0.001624f, -0.005475f, 0.007107f, -0.006356f, 0.000354f, 0.004012f, -0.001185f, 0.000755f, -0.005418f, -0.001879f, -0.000708f, 0.000012f, 0.001535f, -0.002392f, 0.003114f, -0.000324f, -0.002091f, 0.003106f, -0.006217f, -0.006341f, -0.003560f, 0.000089f, -0.000568f, -0.001283f, 0.000234f, -0.004330f, 0.005334f, 0.000324f, -0.000292f, 0.003684f, -0.002979f, -0.000630f, 0.004229f, 0.001777f, 0.001523f, 0.006542f, 0.005844f, + 0.018883f, 0.002334f, -0.004992f, -0.024558f, 0.007358f, 0.013647f, 0.008098f, 0.005225f, -0.002232f, 0.006854f, 0.026351f, -0.003408f, 0.012086f, 0.001016f, 0.006687f, 0.002429f, 0.000318f, 0.005134f, -0.002386f, -0.011518f, -0.003333f, -0.008611f, -0.002356f, -0.012070f, 0.004124f, 0.000162f, 0.013755f, 0.002541f, -0.006635f, 0.004413f, -0.002134f, -0.003590f, 0.008760f, 0.003015f, 0.006508f, 0.003706f, -0.004010f, -0.015714f, 0.000804f, 0.008844f, -0.000772f, -0.003164f, 0.003898f, -0.008390f, -0.003643f, -0.014651f, -0.018071f, 0.009102f, 0.010186f, 0.007892f, -0.002684f, -0.003124f, -0.000014f, -0.000483f, 0.005140f, -0.001093f, 0.005644f, 0.005011f, -0.000318f, 0.005171f, -0.005122f, 0.001264f, -0.002770f, 0.002997f, 0.003751f, 0.016657f, -0.000093f, 0.013599f, -0.005311f, -0.014341f, -0.001421f, -0.002087f, -0.005520f, 0.011119f, -0.001034f, 0.004499f, 0.000922f, -0.008226f, -0.009814f, -0.003584f, -0.002172f, 0.000923f, 0.009842f, 0.003116f, 0.000948f, 0.004059f, 0.006565f, -0.002974f, 0.004926f, -0.000746f, 0.004179f, 0.002542f, 0.000981f, 0.005798f, -0.000739f, 0.003326f, + 0.001894f, 0.001646f, -0.001177f, -0.001723f, -0.003561f, -0.001728f, 0.003408f, 0.005229f, -0.001415f, 0.000316f, -0.003109f, -0.000591f, 0.000134f, -0.003160f, 0.002069f, -0.005811f, 0.000148f, -0.000438f, -0.000085f, 0.003469f, 0.003725f, -0.000575f, 0.008774f, -0.021633f, -0.000713f, 0.022017f, 0.030281f, -0.012595f, 0.003401f, 0.004793f, -0.010520f, -0.006156f, 0.001192f, -0.008796f, -0.009143f, 0.021175f, 0.002968f, -0.014088f, -0.002237f, -0.009207f, -0.005223f, 0.013756f, -0.004328f, -0.006149f, 0.012522f, 0.007692f, 0.012653f, -0.005413f, 0.002614f, 0.012295f, 0.000557f, -0.007457f, 0.003394f, -0.001123f, 0.001555f, -0.015679f, -0.010636f, 0.004616f, -0.001095f, 0.003663f, -0.014372f, 0.006696f, 0.005280f, 0.003303f, -0.025346f, -0.014915f, -0.006411f, -0.003237f, 0.003624f, -0.011160f, -0.007401f, 0.002415f, 0.019459f, 0.012737f, 0.006905f, -0.003519f, -0.002114f, -0.007428f, 0.005635f, -0.002209f, -0.014363f, -0.011069f, -0.001310f, -0.000302f, 0.020388f, 0.011203f, -0.010068f, -0.011352f, 0.014103f, 0.002734f, -0.008472f, 0.000004f, 0.012659f, 0.004712f, 0.000397f, -0.016532f, + 0.018139f, -0.006459f, 0.012101f, 0.015759f, 0.016694f, 0.001394f, -0.006131f, -0.005086f, 0.008589f, 0.009734f, -0.008563f, 0.006819f, 0.009334f, 0.006494f, -0.002818f, -0.002293f, 0.001343f, 0.005569f, 0.004656f, -0.005004f, -0.007595f, -0.007259f, 0.003568f, -0.003531f, -0.002238f, -0.005069f, -0.000967f, -0.003661f, 0.001865f, -0.003039f, 0.002220f, 0.001642f, -0.000555f, -0.000092f, 0.004109f, -0.003078f, -0.006047f, -0.001198f, 0.005608f, -0.003467f, -0.002982f, -0.003288f, -0.002247f, -0.000506f, -0.000095f, -0.003867f, -0.000085f, -0.002847f, -0.001303f, 0.000922f, 0.003761f, -0.002571f, -0.000081f, -0.000916f, -0.001631f, 0.003339f, 0.004070f, -0.005957f, 0.008885f, -0.011556f, 0.013007f, -0.001291f, -0.003630f, 0.006874f, -0.013307f, 0.004423f, 0.007116f, 0.001356f, 0.004947f, 0.006147f, -0.003660f, 0.014500f, -0.006950f, -0.024994f, -0.014898f, -0.003368f, 0.000895f, -0.005368f, -0.010720f, -0.011729f, -0.007977f, 0.024368f, -0.006868f, -0.002023f, 0.003453f, -0.005177f, 0.002843f, 0.019974f, -0.009732f, 0.009432f, -0.006335f, -0.012994f, 0.011483f, 0.008255f, 0.005258f, 0.017891f, + 0.000331f, 0.008377f, -0.000858f, 0.002054f, -0.000775f, -0.006001f, 0.003893f, -0.001462f, 0.012958f, 0.002511f, -0.009045f, -0.002402f, -0.002658f, -0.000708f, -0.014699f, 0.005789f, -0.014492f, 0.003415f, 0.019343f, -0.012749f, -0.024330f, 0.005541f, 0.003299f, 0.011037f, -0.004983f, -0.000316f, 0.011292f, -0.007095f, 0.005503f, 0.008283f, 0.002288f, -0.005180f, 0.011150f, 0.002330f, 0.014337f, 0.002969f, -0.008999f, -0.008559f, 0.009297f, 0.015646f, 0.005476f, -0.000233f, -0.012997f, -0.002702f, -0.004217f, 0.009248f, 0.002310f, -0.017765f, 0.002732f, 0.004609f, 0.001248f, 0.001709f, 0.006825f, -0.003189f, 0.002854f, -0.004905f, 0.002982f, 0.002685f, 0.002176f, 0.003544f, 0.001541f, 0.002319f, 0.002153f, -0.004163f, 0.001296f, -0.001320f, -0.000679f, 0.003935f, 0.001648f, 0.002162f, 0.004485f, -0.001442f, -0.014219f, 0.001311f, -0.000978f, 0.000987f, -0.001314f, -0.000927f, 0.003937f, 0.002552f, -0.002307f, -0.002736f, -0.019322f, 0.044613f, -0.010411f, 0.020045f, 0.001892f, 0.008369f, 0.006060f, -0.000116f, -0.024994f, 0.021276f, -0.031161f, 0.010085f, 0.007485f, 0.028091f, + -0.013162f, 0.012655f, -0.019822f, 0.012944f, -0.006408f, -0.021363f, -0.010226f, 0.005019f, 0.005477f, 0.007791f, 0.003977f, 0.011208f, 0.007355f, 0.016995f, -0.005267f, -0.013944f, -0.012547f, 0.004875f, -0.000146f, -0.006898f, 0.011388f, 0.004951f, -0.002330f, 0.006769f, 0.014096f, -0.001319f, 0.003651f, -0.002127f, 0.006972f, 0.004078f, -0.018037f, -0.007871f, -0.023634f, -0.005467f, -0.004010f, -0.000573f, 0.011352f, 0.010073f, 0.001508f, -0.006556f, -0.000125f, -0.003585f, -0.005609f, 0.003126f, 0.033264f, 0.002960f, -0.000723f, 0.010539f, -0.000791f, 0.012080f, -0.005194f, 0.000119f, -0.007891f, 0.033328f, 0.007875f, -0.013758f, -0.015689f, -0.010532f, 0.001316f, -0.000747f, -0.021329f, 0.001157f, 0.004411f, 0.001429f, 0.023295f, -0.006075f, 0.003435f, -0.014469f, -0.004723f, -0.039262f, -0.006775f, 0.002009f, 0.001509f, -0.015101f, 0.003954f, -0.007276f, 0.004932f, 0.002258f, -0.007122f, -0.000903f, 0.005169f, 0.007943f, 0.014827f, 0.003879f, -0.005378f, -0.005094f, -0.011905f, -0.004654f, 0.001134f, 0.001968f, -0.006839f, -0.002643f, 0.006478f, 0.002273f, -0.001762f, -0.001665f, + -0.005060f, -0.004766f, -0.002281f, 0.001339f, -0.009902f, -0.007041f, 0.001883f, 0.003953f, 0.000068f, -0.002578f, 0.002491f, 0.008119f, 0.001393f, 0.000636f, -0.000653f, -0.003582f, 0.000281f, -0.011633f, 0.004948f, 0.002690f, 0.023343f, 0.002026f, 0.019434f, 0.011799f, 0.019058f, 0.006396f, -0.019269f, 0.018916f, -0.012328f, 0.032720f, -0.021132f, -0.006244f, -0.029233f, -0.006165f, -0.003094f, 0.013013f, -0.013594f, 0.019090f, 0.015395f, -0.009256f, 0.001092f, 0.021826f, 0.030716f, -0.009776f, 0.000782f, -0.004005f, 0.009632f, 0.000150f, -0.003586f, 0.004457f, 0.008422f, -0.014634f, 0.011042f, 0.002101f, 0.012659f, 0.004832f, 0.001936f, -0.024994f, -0.004035f, 0.029004f, -0.003468f, 0.009707f, 0.022237f, 0.006417f, -0.001725f, -0.007761f, -0.010240f, -0.006134f, 0.001020f, -0.009534f, -0.005718f, 0.016812f, 0.015546f, 0.004878f, 0.025816f, 0.017150f, -0.005403f, -0.002575f, 0.003538f, 0.005983f, -0.007886f, -0.020577f, 0.026847f, 0.011818f, -0.005505f, 0.024566f, 0.025693f, 0.028628f, 0.012421f, 0.004318f, -0.010377f, 0.000723f, -0.014523f, -0.011654f, -0.007412f, -0.028717f, + 0.011537f, -0.003641f, 0.024497f, -0.005811f, -0.019242f, -0.003625f, 0.001849f, -0.002856f, -0.025668f, 0.004105f, 0.006851f, 0.011690f, 0.012377f, -0.008672f, 0.003984f, -0.005919f, -0.016692f, 0.003287f, 0.006466f, -0.001277f, -0.004935f, -0.012592f, 0.013214f, 0.007471f, -0.011777f, -0.013359f, -0.007486f, 0.007682f, -0.001360f, -0.003787f, 0.003575f, -0.005929f, 0.003707f, -0.001512f, 0.002287f, 0.005795f, -0.008517f, -0.003954f, 0.003822f, -0.001795f, 0.000159f, 0.017140f, 0.005612f, 0.001167f, -0.001154f, 0.004093f, -0.005685f, -0.003208f, -0.000544f, 0.005633f, -0.003537f, 0.025648f, 0.001586f, 0.004754f, -0.003764f, 0.002197f, -0.003206f, -0.038655f, 0.004563f, -0.000287f, -0.006893f, -0.002800f, -0.018971f, 0.021938f, 0.022476f, 0.025145f, -0.040587f, 0.013220f, 0.008474f, 0.001115f, 0.040162f, 0.016560f, -0.019881f, -0.002225f, 0.039650f, 0.004777f, 0.007126f, 0.008185f, -0.011570f, 0.006720f, 0.008222f, 0.024693f, 0.012537f, -0.018684f, -0.030862f, 0.011815f, 0.007390f, -0.015466f, -0.002873f, 0.001627f, -0.018954f, 0.002291f, 0.023265f, 0.010012f, 0.013065f, 0.018982f, + 0.030590f, 0.003019f, 0.026949f, 0.005448f, -0.010625f, -0.001419f, -0.015864f, -0.008194f, 0.006715f, 0.009247f, 0.007021f, 0.013662f, -0.019088f, -0.008506f, 0.034327f, -0.002390f, -0.007319f, -0.019007f, 0.016303f, 0.014880f, 0.005147f, 0.006308f, -0.000223f, 0.009606f, -0.014863f, 0.024636f, -0.012294f, -0.014449f, -0.011864f, -0.008021f, 0.033227f, 0.009108f, 0.006950f, -0.035954f, -0.019821f, -0.029528f, 0.002196f, -0.003019f, -0.002908f, -0.028003f, -0.039093f, -0.000972f, 0.017605f, -0.009508f, 0.005034f, -0.002421f, -0.002658f, 0.009972f, -0.013605f, -0.005685f, -0.006194f, 0.012014f, 0.001987f, -0.008574f, -0.000123f, -0.001258f, -0.000207f, -0.003990f, -0.008191f, 0.002192f, 0.013094f, -0.006219f, -0.004288f, -0.008235f, -0.003808f, -0.005721f, -0.002875f, 0.005885f, -0.001923f, 0.009215f, -0.002982f, -0.001797f, -0.005186f, -0.003679f, 0.013762f, -0.001250f, -0.000922f, -0.006336f, -0.001042f, 0.008308f, 0.002229f, -0.009825f, 0.002263f, 0.000952f, 0.002909f, 0.036219f, 0.042601f, -0.010864f, 0.011992f, -0.003068f, -0.012415f, 0.002502f, -0.028485f, -0.017576f, -0.001225f, -0.005698f, + 0.057120f, -0.025646f, 0.007339f, -0.036229f, -0.005299f, 0.022188f, -0.009275f, -0.020143f, -0.021155f, -0.007698f, 0.008764f, 0.011332f, -0.001390f, -0.001763f, -0.023783f, 0.005671f, 0.016697f, 0.008474f, 0.010248f, 0.003107f, 0.003756f, -0.013842f, -0.004523f, 0.009382f, 0.003449f, 0.000038f, 0.001082f, -0.016708f, 0.007501f, -0.017586f, -0.002832f, -0.000404f, 0.005163f, -0.019534f, -0.001989f, 0.009666f, 0.014092f, -0.022267f, -0.011682f, 0.039705f, -0.015205f, -0.031196f, 0.026295f, -0.025371f, -0.007989f, -0.011194f, -0.004539f, -0.019466f, -0.013515f, -0.004046f, -0.019641f, -0.028019f, 0.045294f, 0.025031f, 0.020201f, 0.013859f, -0.017559f, -0.006820f, -0.011836f, 0.012774f, -0.021282f, 0.015151f, -0.011346f, 0.006546f, 0.015193f, 0.009945f, 0.003101f, -0.028858f, 0.028358f, -0.034485f, -0.009038f, -0.033431f, -0.013571f, 0.022098f, -0.001259f, 0.012560f, 0.025361f, 0.008108f, -0.002551f, 0.004987f, -0.008829f, 0.000542f, -0.002677f, -0.009533f, 0.011468f, -0.003934f, -0.005278f, 0.013135f, 0.006963f, -0.003429f, 0.000919f, 0.000645f, 0.002108f, -0.005859f, 0.005728f, 0.001835f, + 0.003100f, -0.007021f, 0.004847f, -0.003241f, 0.012439f, -0.005522f, 0.008800f, -0.002622f, -0.004305f, 0.013187f, -0.008773f, -0.003797f, -0.007846f, 0.005332f, 0.013041f, 0.006029f, -0.003685f, 0.006179f, -0.005222f, 0.006311f, 0.009086f, -0.009804f, -0.023649f, -0.001513f, 0.060113f, -0.026521f, 0.026301f, -0.053191f, 0.015002f, -0.033713f, -0.006076f, 0.019232f, -0.001394f, 0.012423f, 0.020156f, 0.016111f, -0.023023f, 0.017657f, 0.003893f, 0.013117f, -0.004707f, 0.018097f, 0.016852f, -0.003398f, 0.003785f, 0.010972f, 0.012417f, -0.016935f, -0.005576f, -0.024810f, -0.002777f, 0.022307f, 0.000920f, -0.010268f, 0.002605f, 0.008387f, 0.001877f, -0.008897f, -0.017520f, 0.004756f, -0.011737f, 0.011757f, -0.011068f, 0.042765f, -0.003654f, -0.022939f, -0.025775f, 0.006091f, -0.013998f, 0.013600f, -0.028945f, -0.022723f, -0.029410f, 0.007046f, -0.024785f, -0.005794f, -0.035718f, 0.025975f, 0.005630f, 0.017541f, 0.011040f, -0.038702f, 0.003324f, -0.003282f, -0.014230f, -0.021544f, -0.005609f, -0.018318f, -0.023012f, -0.012689f, 0.011162f, 0.015580f, 0.022729f, -0.012719f, 0.003471f, 0.009890f, + -0.032338f, 0.015191f, -0.022047f, -0.001851f, 0.018779f, 0.008033f, 0.007794f, 0.003613f, 0.038217f, -0.021511f, -0.007622f, -0.008072f, 0.010282f, -0.032129f, 0.002912f, -0.002441f, 0.000030f, 0.021160f, 0.012531f, 0.010557f, 0.004100f, -0.007694f, 0.001628f, -0.003726f, 0.015606f, -0.005706f, -0.001620f, -0.008419f, 0.017652f, 0.007114f, -0.005722f, 0.004928f, -0.014976f, 0.010730f, 0.005731f, 0.008480f, 0.001692f, -0.002884f, 0.010061f, 0.017815f, 0.006363f, -0.008391f, -0.011346f, -0.004602f, 0.004831f, -0.011749f, -0.002357f, -0.017961f, -0.012864f, -0.006960f, 0.000362f, -0.009794f, 0.007667f, -0.007677f, 0.018181f, -0.013842f, 0.000093f, 0.000113f, -0.049970f, -0.014517f, 0.055882f, 0.049444f, 0.027737f, -0.024049f, 0.024437f, 0.036967f, -0.024615f, 0.032651f, -0.026489f, 0.030145f, 0.007024f, -0.002091f, 0.009855f, -0.000713f, 0.015797f, -0.023932f, -0.006892f, -0.010829f, 0.012004f, -0.022690f, -0.020445f, 0.031772f, -0.003180f, -0.006689f, 0.002893f, -0.030813f, -0.000800f, 0.049431f, 0.026866f, 0.005578f, -0.000589f, 0.010496f, 0.046696f, 0.019935f, 0.000593f, 0.007846f, + -0.013079f, -0.005604f, -0.011277f, 0.020073f, -0.010555f, 0.013395f, 0.002407f, 0.023987f, -0.028598f, -0.000635f, -0.001844f, 0.000698f, -0.008159f, 0.013374f, 0.021444f, -0.005119f, -0.006275f, 0.021745f, 0.002362f, 0.002669f, 0.049209f, 0.007732f, 0.000533f, -0.022641f, 0.009844f, -0.016848f, 0.022712f, -0.026456f, -0.023556f, 0.003559f, -0.023208f, -0.024686f, -0.037797f, 0.010062f, -0.012712f, 0.019403f, -0.006528f, 0.010938f, -0.055143f, 0.011183f, -0.018749f, -0.033385f, 0.017231f, 0.023009f, 0.011914f, 0.007105f, 0.004036f, 0.009640f, 0.014558f, -0.007140f, -0.008664f, -0.010147f, -0.000799f, -0.011126f, 0.006804f, 0.001439f, -0.016034f, -0.010999f, 0.008969f, 0.005408f, 0.000578f, 0.016234f, -0.005825f, -0.001715f, -0.013083f, -0.002758f, -0.000052f, 0.006721f, 0.004124f, -0.010889f, -0.006792f, -0.003020f, -0.013252f, -0.002489f, -0.012454f, 0.004946f, 0.003203f, 0.014622f, 0.009841f, -0.001043f, -0.006058f, -0.000012f, -0.000039f, -0.004180f, -0.001042f, -0.015291f, -0.002859f, 0.006258f, 0.006650f, 0.001934f, -0.002718f, 0.014729f, 0.002314f, 0.041847f, -0.063742f, 0.027114f, + 0.028246f, -0.045234f, -0.004389f, -0.038720f, -0.012615f, -0.034732f, -0.015582f, 0.040301f, -0.013462f, -0.002663f, -0.027911f, -0.005193f, 0.006704f, -0.041459f, -0.001391f, 0.026929f, -0.051294f, 0.002164f, -0.034952f, -0.018721f, 0.000934f, 0.004068f, -0.023075f, -0.018442f, -0.019301f, -0.005353f, -0.016565f, -0.000804f, 0.009160f, -0.004788f, 0.013287f, -0.024857f, -0.015814f, 0.033860f, -0.015500f, 0.018467f, -0.019774f, 0.019203f, 0.017521f, 0.003240f, 0.004825f, 0.017909f, 0.001038f, 0.025401f, 0.031983f, -0.005703f, 0.004906f, 0.047510f, 0.003003f, 0.024557f, -0.001509f, -0.018500f, -0.037035f, 0.006549f, 0.026049f, -0.040782f, 0.000733f, -0.023857f, -0.012501f, -0.052968f, 0.023208f, 0.035451f, -0.009001f, 0.017239f, -0.008442f, 0.038530f, 0.042490f, -0.003095f, -0.041712f, -0.040399f, 0.058236f, -0.044909f, 0.017115f, 0.007013f, 0.006208f, 0.043748f, -0.018322f, 0.071080f, -0.001009f, -0.015735f, -0.018273f, -0.012451f, 0.011487f, -0.004120f, -0.005232f, -0.000112f, 0.018445f, -0.004220f, -0.011330f, 0.015644f, -0.005359f, 0.008053f, -0.013910f, -0.008162f, 0.013542f, 0.001363f, + 0.020156f, -0.006266f, 0.008670f, -0.014379f, -0.004048f, -0.019799f, 0.004322f, 0.008547f, 0.010144f, 0.002282f, 0.010415f, 0.001325f, -0.002993f, 0.011260f, -0.016909f, 0.011639f, -0.014321f, -0.004811f, 0.008928f, -0.017421f, -0.004347f, -0.009845f, -0.029689f, -0.007636f, 0.002098f, 0.011138f, -0.014434f, -0.007233f, -0.012681f, -0.003814f, 0.003257f, 0.022765f, 0.011749f, 0.069519f, 0.078340f, -0.004609f, -0.059067f, 0.058369f, -0.064580f, 0.009124f, 0.027392f, 0.006812f, -0.006913f, -0.029773f, 0.033554f, -0.014994f, -0.012029f, -0.030315f, -0.017658f, -0.009429f, -0.037889f, -0.020807f, -0.016943f, -0.009437f, -0.006239f, 0.026345f, -0.000402f, 0.022780f, 0.000150f, -0.009784f, -0.033202f, -0.036303f, -0.009205f, -0.001278f, -0.000515f, -0.005468f, -0.013619f, -0.015651f, 0.017361f, 0.041924f, -0.022783f, 0.014479f, -0.014241f, -0.014579f, 0.016594f, -0.016155f, -0.026314f, 0.058844f, -0.006536f, 0.005473f, 0.002838f, -0.032771f, -0.007272f, -0.006816f, 0.016598f, -0.042351f, -0.018845f, 0.044959f, 0.007159f, -0.019000f, 0.024331f, 0.045697f, -0.026009f, -0.032040f, 0.016625f, -0.027145f, + 0.000373f, -0.050879f, 0.016385f, 0.043433f, -0.004508f, 0.022700f, 0.013124f, 0.007678f, 0.049640f, 0.015704f, -0.000301f, 0.028769f, -0.004244f, -0.003872f, 0.017461f, 0.018907f, -0.072190f, 0.006699f, -0.031447f, 0.025608f, -0.001268f, 0.001092f, 0.017841f, -0.005312f, -0.006983f, -0.009368f, 0.009562f, 0.003802f, -0.007152f, 0.009754f, -0.010419f, 0.001173f, -0.005580f, -0.013787f, 0.006295f, -0.006836f, 0.015478f, 0.008707f, -0.000360f, 0.000211f, 0.004175f, -0.003993f, 0.009119f, 0.004670f, 0.002779f, 0.003918f, -0.002720f, 0.003567f, -0.006343f, -0.011931f, -0.006745f, -0.002980f, 0.001551f, -0.015561f, 0.012681f, 0.008762f, 0.000520f, 0.004840f, -0.010680f, 0.014907f, 0.001675f, -0.008583f, 0.005228f, 0.006535f, -0.018968f, -0.003723f, 0.001760f, -0.001335f, 0.000136f, 0.003617f, -0.003216f, 0.002950f, -0.094753f, -0.066198f, 0.028426f, -0.027721f, -0.026090f, -0.080516f, -0.022829f, 0.017869f, 0.007276f, -0.015396f, -0.044517f, -0.000003f, 0.023441f, -0.001094f, 0.003688f, 0.024264f, 0.042644f, -0.035903f, 0.096339f, -0.024066f, -0.031210f, -0.009099f, -0.004795f, 0.001014f, + -0.037311f, 0.001446f, -0.006084f, 0.020808f, -0.012211f, 0.029210f, -0.011266f, -0.023784f, 0.010578f, 0.012383f, -0.021171f, 0.024329f, -0.072350f, 0.001159f, -0.005250f, 0.029689f, 0.035783f, -0.024920f, 0.033408f, -0.012024f, 0.009973f, -0.015118f, -0.004677f, -0.009077f, 0.026848f, -0.002943f, 0.035163f, 0.054590f, -0.046432f, -0.012575f, 0.025937f, -0.031110f, 0.019755f, -0.035420f, -0.019280f, -0.017350f, -0.020504f, -0.036172f, -0.018268f, 0.017679f, 0.014549f, 0.028735f, 0.037130f, 0.027122f, -0.043735f, 0.006090f, 0.008757f, 0.011093f, 0.009508f, 0.028862f, -0.013305f, -0.029408f, 0.017701f, -0.007255f, -0.022861f, 0.005107f, -0.039561f, -0.016065f, -0.034392f, 0.003727f, 0.021142f, -0.012202f, 0.020340f, 0.011147f, -0.000649f, -0.007069f, -0.000045f, -0.030622f, -0.011145f, 0.010828f, 0.005724f, 0.007309f, 0.002690f, 0.004000f, 0.003316f, 0.010178f, 0.003155f, -0.020413f, -0.002405f, 0.003640f, -0.001589f, 0.005891f, -0.009066f, -0.008278f, -0.019929f, 0.005733f, 0.018590f, -0.020058f, -0.013935f, 0.011019f, -0.004704f, -0.020484f, 0.014291f, -0.009749f, -0.007906f, 0.012975f, + -0.000467f, -0.003481f, -0.005938f, -0.008868f, -0.011951f, -0.012711f, -0.002945f, -0.010761f, -0.006235f, -0.005347f, 0.009443f, -0.000221f, 0.000098f, 0.014259f, -0.018865f, -0.063980f, 0.049956f, -0.082171f, 0.059370f, -0.007451f, -0.036202f, -0.030800f, -0.034428f, -0.023066f, -0.017684f, 0.002686f, 0.043807f, -0.002576f, -0.034904f, 0.039019f, 0.055040f, -0.082059f, -0.021146f, 0.006654f, -0.005855f, -0.012077f, -0.003141f, -0.010653f, -0.013723f, -0.023263f, 0.031793f, -0.009952f, -0.021998f, -0.038632f, -0.038191f, 0.039469f, 0.011102f, -0.006259f, -0.003233f, 0.000842f, -0.007606f, -0.009725f, 0.009568f, -0.033925f, 0.019971f, 0.040290f, 0.030556f, 0.019172f, 0.038790f, 0.044659f, -0.024165f, 0.010110f, -0.035249f, 0.040019f, -0.021402f, -0.005725f, 0.000852f, -0.056560f, 0.019669f, 0.047884f, 0.009109f, -0.018683f, -0.014683f, 0.062363f, -0.023748f, -0.025942f, 0.018389f, -0.062224f, -0.006265f, -0.030534f, 0.002442f, -0.060847f, 0.026801f, 0.011337f, 0.026294f, -0.099157f, -0.084483f, 0.014619f, -0.028799f, -0.019447f, -0.011280f, -0.066228f, 0.023244f, -0.038916f, -0.041976f, 0.033102f, + -0.027877f, -0.016546f, 0.015005f, -0.006436f, -0.011914f, -0.001850f, -0.002475f, 0.014540f, -0.031808f, -0.015018f, -0.030644f, 0.000601f, -0.012812f, 0.006911f, -0.003391f, -0.024624f, -0.009137f, 0.009361f, -0.000460f, 0.002309f, 0.007897f, -0.027047f, 0.004698f, -0.034411f, 0.017258f, 0.005751f, -0.024126f, 0.008512f, -0.028917f, -0.006057f, -0.009823f, 0.002687f, 0.017168f, -0.011475f, 0.017728f, -0.008412f, 0.029337f, -0.012481f, 0.018892f, -0.009488f, -0.001900f, -0.000543f, -0.002191f, 0.006058f, -0.001673f, 0.000320f, -0.001067f, -0.006071f, 0.001299f, 0.010396f, -0.001577f, -0.004066f, -0.002267f, 0.003494f, -0.002324f, -0.003549f, -0.001439f, -0.001576f, 0.002128f, -0.001591f, 0.000036f, -0.001422f, -0.002178f, -0.001338f, 0.003197f, 0.000068f, -0.003407f, -0.000011f, 0.001033f, -0.004548f, 0.004061f, 0.071937f, -0.103917f, 0.102506f, 0.028966f, -0.005097f, 0.006972f, -0.076733f, 0.013902f, 0.033740f, -0.014845f, 0.087115f, -0.026897f, 0.036806f, -0.032852f, 0.096143f, -0.005143f, -0.014698f, -0.038980f, -0.015200f, 0.012635f, -0.011375f, 0.037990f, 0.029239f, -0.012021f, 0.001128f, + -0.040063f, 0.013148f, 0.037589f, 0.038233f, -0.044945f, 0.016624f, -0.010232f, 0.040940f, -0.013184f, 0.026099f, -0.027323f, -0.021593f, -0.059438f, 0.002403f, -0.038297f, -0.055544f, 0.074986f, -0.035524f, -0.008504f, -0.016127f, -0.020156f, 0.008872f, 0.004598f, 0.025617f, -0.014580f, 0.040165f, 0.002145f, 0.074121f, 0.027268f, 0.082211f, 0.069355f, -0.008605f, 0.045771f, 0.034832f, -0.014334f, 0.041249f, 0.056320f, -0.026473f, -0.059878f, 0.031551f, 0.019597f, 0.046018f, 0.022553f, -0.006186f, -0.002436f, -0.063588f, -0.007756f, -0.019804f, -0.024409f, 0.081066f, -0.011344f, -0.002433f, 0.100676f, 0.067075f, 0.035045f, 0.044311f, 0.021676f, 0.001427f, 0.009827f, 0.058009f, -0.001178f, -0.017102f, 0.015746f, 0.048519f, 0.021613f, 0.027024f, 0.012179f, 0.033130f, -0.003772f, 0.008494f, 0.010970f, 0.022775f, 0.006343f, 0.004702f, 0.002402f, 0.001305f, 0.017665f, 0.028026f, 0.010580f, 0.037512f, 0.000867f, 0.022621f, 0.021890f, 0.042497f, -0.002630f, 0.028664f, 0.024707f, 0.004329f, 0.020529f, -0.000103f, 0.003040f, -0.008771f, 0.007325f, 0.010882f, 0.004085f, 0.005013f, + -0.000359f, -0.006541f, -0.000703f, 0.009000f, -0.007392f, 0.004323f, 0.018005f, -0.005641f, 0.035140f, 0.002781f, 0.007851f, -0.003814f, -0.016729f, 0.009028f, -0.006617f, 0.010377f, 0.031562f, -0.071732f, 0.137032f, -0.018891f, -0.015457f, -0.009048f, 0.099683f, -0.061631f, 0.049938f, -0.067469f, 0.063486f, 0.012519f, -0.012509f, 0.001251f, 0.037175f, -0.016405f, 0.034675f, -0.016558f, -0.000352f, 0.069704f, 0.021487f, -0.018418f, -0.000281f, 0.017034f, 0.013766f, -0.068531f, 0.018161f, -0.025296f, -0.006159f, -0.036386f, 0.034700f, 0.032414f, 0.005172f, 0.015063f, 0.058605f, -0.020012f, -0.093161f, 0.021695f, 0.061103f, -0.024269f, -0.061224f, 0.015661f, 0.043788f, 0.014159f, 0.000107f, -0.074068f, -0.035147f, -0.044135f, 0.040879f, 0.015882f, 0.042117f, -0.089077f, 0.005737f, -0.016995f, -0.097598f, -0.026019f, 0.014455f, 0.043538f, 0.061614f, -0.033454f, 0.115012f, 0.021649f, 0.002091f, -0.024425f, -0.046281f, -0.032826f, 0.021770f, -0.054005f, 0.108456f, -0.035445f, 0.004569f, 0.063341f, -0.042107f, 0.038345f, -0.041118f, -0.024414f, 0.090025f, -0.046317f, 0.059084f, 0.053531f, + 0.019894f, 0.023932f, -0.077715f, -0.010161f, -0.003936f, -0.028089f, 0.036822f, 0.032217f, 0.013589f, 0.009204f, 0.035861f, -0.009377f, 0.014112f, -0.005195f, 0.010857f, -0.016252f, 0.012861f, -0.003572f, 0.010906f, 0.007351f, 0.002585f, -0.027501f, -0.004316f, 0.002677f, -0.009298f, -0.004122f, 0.019175f, 0.009505f, 0.031469f, -0.015187f, 0.006828f, -0.052151f, -0.042699f, -0.007249f, -0.002350f, 0.029395f, 0.023179f, -0.015587f, -0.010399f, -0.041886f, 0.000199f, 0.012955f, -0.006236f, -0.001190f, 0.010126f, -0.014000f, 0.009570f, -0.031257f, 0.002131f, -0.011298f, -0.011324f, 0.018622f, -0.080556f, 0.046167f, 0.029591f, 0.046174f, -0.018257f, -0.012978f, 0.018784f, 0.000236f, 0.005443f, 0.001822f, 0.009242f, 0.002271f, -0.012553f, 0.059680f, -0.013767f, -0.040998f, 0.017515f, -0.000996f, -0.036036f, 0.012678f, 0.008505f, 0.024671f, -0.016547f, -0.027300f, 0.029580f, -0.023596f, -0.003089f, -0.006982f, 0.024307f, -0.041607f, 0.014370f, -0.025790f, 0.021267f, -0.036650f, 0.013194f, -0.012252f, 0.006465f, 0.080525f, -0.055197f, 0.010543f, 0.017851f, -0.049829f, 0.018242f, 0.023040f, + -0.036819f, -0.007655f, -0.014014f, 0.066971f, 0.005779f, -0.077367f, 0.046489f, -0.062534f, 0.011523f, 0.032433f, -0.029891f, 0.037091f, -0.044695f, -0.036937f, 0.051038f, -0.008622f, 0.021775f, -0.076237f, 0.014431f, 0.016518f, -0.003904f, -0.011736f, -0.000490f, 0.030981f, 0.001314f, -0.101402f, 0.061592f, -0.006364f, 0.023747f, -0.026621f, -0.030864f, 0.096745f, -0.002427f, -0.061843f, 0.005509f, 0.031255f, 0.007289f, -0.094032f, 0.003498f, 0.087256f, -0.015819f, -0.040342f, 0.009709f, 0.042216f, -0.005482f, 0.000156f, -0.007274f, -0.004351f, 0.006192f, -0.015255f, -0.008766f, 0.028667f, -0.012288f, -0.000773f, -0.016704f, 0.016819f, 0.025729f, -0.004577f, -0.003685f, 0.027091f, 0.009028f, -0.018598f, -0.004270f, 0.011681f, 0.007973f, -0.015796f, 0.008639f, 0.018646f, -0.015382f, 0.004017f, 0.004835f, 0.012024f, -0.028775f, 0.001860f, 0.018323f, 0.006871f, -0.019995f, 0.001161f, 0.014454f, 0.002383f, -0.014790f, -0.010070f, 0.016202f, 0.039205f, -0.012203f, -0.198398f, -0.423307f, -0.168271f, -0.318447f, -0.388075f, 0.138854f, -0.000553f, 0.142394f, 0.538658f, 0.470555f, 0.268128f, + 0.515540f, 0.287902f, 0.033416f, 0.178789f, 0.110398f, -0.193643f, -0.136570f, -0.039551f, -0.214746f, -0.259921f, -0.085872f, -0.131157f, -0.205542f, -0.050971f, -0.008443f, -0.262005f, -0.180229f, -0.026558f, -0.158883f, -0.205990f, -0.059396f, -0.100656f, -0.224008f, -0.042321f, 0.023775f, -0.125269f, -0.095298f, 0.095947f, -0.033350f, -0.134414f, 0.029253f, 0.090373f, -0.065872f, 0.055724f, 0.197802f, -0.028115f, -0.051695f, 0.195725f, 0.104895f, -0.047881f, 0.324555f, 0.440811f, 0.274714f, 0.464765f, 0.694879f, 0.534678f, 0.508895f, 0.743240f, 0.644465f, 0.474518f, 0.582054f, 0.529168f, 0.336954f, 0.298123f, 0.160860f, -0.054461f, -0.231062f, -0.414142f, -0.588667f, -0.700718f, -0.878768f, -0.938995f, -0.990182f, -1.121921f, -1.121094f, -0.847153f, -0.866839f, -0.789403f, -0.355041f, -0.274584f, -0.267005f, 0.119558f, 0.227515f, 0.005674f, 0.237084f, 0.328666f, 0.113066f, 0.157067f, 0.308308f, 0.230596f, 0.134632f, 0.217821f, 0.269543f, 0.114987f, 0.168108f, 0.334262f, 0.199134f, 0.131334f, 0.308125f, 0.231228f, 0.093851f, 0.200477f, 0.228965f, 0.030042f, 0.118605f, 0.275397f, + 0.158232f, 0.189650f, 0.387962f, 0.364968f, 0.384597f, 0.497744f, 0.501260f, 0.402188f, 0.380469f, 0.324789f, 0.198584f, 0.143325f, 0.076552f, -0.011330f, -0.077597f, -0.211394f, -0.288994f, -0.390849f, -0.520948f, -0.580180f, -0.655585f, -0.763252f, -0.726835f, -0.652822f, -0.576501f, -0.421463f, -0.276197f, -0.146358f, -0.053780f, 0.023031f, 0.048535f, 0.059312f, 0.076451f, 0.081013f, 0.068576f, 0.073246f, 0.080931f, 0.078565f, 0.088071f, 0.113809f, 0.127776f, 0.136701f, 0.152342f, 0.157104f, 0.159309f, 0.167451f, 0.154887f, 0.133191f, 0.099813f, 0.062287f, 0.039627f, 0.011153f, -0.007331f, -0.012760f, -0.019022f, -0.027166f, -0.026654f, -0.022870f, -0.012641f, 0.001513f, 0.016367f, 0.033221f, 0.039017f, 0.042384f, 0.049451f, 0.052960f, 0.052641f, 0.055243f, 0.061005f, 0.058159f, 0.052577f, 0.058617f, 0.052196f, 0.038486f, 0.047405f, 0.048927f, 0.033212f, 0.033507f, 0.029055f, 0.007902f, 0.002252f, -0.000392f, -0.022378f, -0.037020f, -0.042496f, -0.053921f, -0.065511f, -0.068008f, -0.072703f, -0.083698f, -0.085527f, -0.084631f, -0.090764f, -0.095345f, -0.091080f, -0.089181f, + -0.090831f, -0.081983f, -0.070125f, -0.063483f, -0.052002f, -0.032453f, -0.018297f, -0.006254f, 0.011146f, 0.026582f, 0.034293f, 0.041721f, 0.051656f, 0.054324f, 0.052843f, 0.054245f, 0.052521f, 0.047022f, 0.043334f, 0.039931f, 0.034641f, 0.029526f, 0.025677f, 0.020871f, 0.016023f, 0.012755f, 0.010332f, 0.007537f, 0.005696f, 0.003946f, 0.002247f, 0.001195f, 0.000566f, 0.000019f, -0.000229f}, + {-0.013293f, 0.000433f, 0.010653f, 0.007331f, 0.007378f, 0.004654f, 0.002960f, -0.004136f, 0.000209f, -0.004715f, 0.011396f, 0.006986f, 0.002775f, 0.001683f, 0.001689f, -0.000101f, -0.003538f, 0.005611f, 0.007858f, 0.007541f, 0.004649f, -0.005678f, -0.008189f, -0.008988f, -0.008512f, -0.000868f, 0.004527f, -0.008788f, 0.007414f, -0.001745f, 0.012920f, -0.002116f, 0.008229f, 0.000135f, -0.010614f, 0.003079f, -0.001316f, 0.008656f, 0.000654f, -0.000985f, -0.004296f, -0.007284f, 0.000717f, 0.004149f, -0.009310f, -0.012788f, 0.009007f, -0.007399f, -0.006779f, -0.006434f, 0.005103f, -0.005072f, 0.002206f, -0.002257f, -0.000571f, -0.007526f, -0.002217f, -0.005115f, -0.007440f, 0.002489f, 0.005884f, -0.002145f, -0.008190f, -0.001594f, -0.001621f, -0.004125f, -0.007071f, -0.000534f, -0.005740f, -0.006818f, -0.001173f, 0.000488f, 0.001672f, -0.002301f, 0.001068f, -0.001251f, -0.009581f, -0.002114f, 0.001253f, -0.002651f, -0.002411f, -0.003013f, 0.003151f, -0.003683f, 0.003242f, -0.000252f, 0.000615f, 0.001231f, -0.002294f, 0.002330f, 0.000087f, -0.001281f, 0.000641f, -0.000625f, -0.001938f, 0.000334f, + 0.001569f, -0.001026f, -0.000809f, -0.000089f, 0.002494f, 0.001101f, 0.000409f, 0.000378f, 0.001377f, 0.000888f, 0.001588f, 0.000432f, 0.002025f, -0.001632f, -0.000651f, -0.000739f, 0.025061f, -0.008840f, -0.005811f, -0.007887f, -0.005441f, 0.000527f, -0.016876f, 0.002780f, -0.008406f, -0.016516f, -0.003583f, 0.014051f, -0.010212f, 0.002696f, -0.001266f, 0.004679f, 0.007058f, 0.007571f, 0.012253f, -0.002692f, -0.007132f, 0.003091f, 0.002904f, -0.005712f, -0.000891f, -0.003875f, -0.002563f, 0.001466f, -0.006543f, -0.004093f, -0.001016f, -0.008192f, -0.009636f, 0.004837f, 0.007312f, -0.004429f, -0.011064f, -0.001972f, -0.002656f, 0.001510f, 0.008794f, 0.000543f, -0.003759f, -0.000634f, 0.011799f, 0.001439f, -0.007355f, -0.007052f, 0.002991f, 0.002209f, 0.009397f, 0.005345f, -0.000710f, -0.009094f, 0.000418f, -0.000572f, 0.007694f, -0.008372f, -0.002890f, 0.004542f, 0.008954f, -0.002587f, 0.000710f, -0.006888f, -0.003943f, 0.004165f, 0.000165f, 0.000852f, 0.002359f, -0.002698f, 0.003195f, 0.000944f, 0.003930f, 0.002448f, 0.001457f, 0.015698f, 0.004715f, -0.000674f, -0.002225f, -0.004665f, + 0.006639f, 0.004157f, 0.007183f, 0.005166f, 0.001721f, 0.001908f, -0.001633f, 0.001419f, -0.003057f, -0.003170f, -0.002528f, 0.000803f, -0.001229f, -0.000793f, -0.000593f, 0.002516f, 0.000302f, 0.003296f, 0.000193f, -0.001071f, -0.000537f, -0.000337f, -0.000583f, 0.001063f, 0.000653f, 0.001324f, -0.018416f, -0.004308f, -0.008677f, 0.008469f, 0.002165f, 0.000231f, 0.006034f, -0.003537f, -0.014227f, -0.007489f, 0.009505f, -0.000489f, 0.009792f, -0.000696f, -0.005490f, 0.010847f, 0.004099f, 0.023742f, -0.004427f, 0.010325f, 0.001540f, -0.011142f, 0.002852f, -0.009460f, 0.006184f, 0.002206f, 0.002457f, -0.010111f, 0.005115f, -0.001738f, -0.003542f, 0.004191f, 0.016185f, 0.006031f, -0.000049f, -0.012925f, 0.011278f, -0.002339f, 0.000095f, 0.007976f, -0.011739f, -0.002176f, 0.008174f, -0.004793f, -0.004158f, -0.013274f, -0.014479f, -0.001079f, 0.008846f, 0.005206f, -0.005779f, -0.000136f, 0.005781f, 0.007205f, 0.002909f, -0.001451f, -0.002749f, -0.012722f, 0.006045f, 0.015879f, 0.007262f, -0.004552f, -0.002186f, 0.005039f, 0.007617f, -0.000576f, -0.002311f, 0.001906f, -0.010438f, -0.001927f, + -0.007299f, -0.003419f, -0.000628f, -0.004500f, 0.012137f, 0.010549f, -0.003094f, 0.005300f, 0.003965f, -0.002005f, -0.007086f, 0.001692f, -0.005473f, -0.002084f, 0.001686f, -0.007118f, -0.001467f, 0.000718f, -0.002015f, 0.002031f, 0.003104f, -0.004555f, -0.001580f, -0.000301f, 0.000363f, -0.003576f, 0.000999f, -0.001656f, 0.002748f, -0.003173f, 0.003031f, -0.002173f, 0.000772f, 0.000482f, -0.001492f, 0.001193f, 0.000587f, -0.001163f, 0.001100f, 0.001159f, 0.001262f, -0.002363f, -0.001049f, 0.000037f, -0.003277f, 0.000424f, 0.002031f, -0.000676f, -0.013759f, 0.015593f, -0.013242f, 0.014249f, -0.000027f, -0.011171f, -0.026493f, -0.010367f, -0.007529f, 0.004094f, 0.014049f, 0.011024f, -0.003252f, -0.002026f, -0.003135f, -0.007517f, -0.002091f, -0.008461f, 0.003048f, 0.003271f, 0.005392f, 0.008885f, 0.005307f, 0.016891f, 0.000162f, 0.003507f, -0.005799f, -0.001262f, -0.003891f, 0.006285f, 0.001976f, -0.007680f, -0.011174f, 0.000589f, -0.007990f, 0.001142f, 0.007784f, -0.012644f, 0.009115f, -0.021359f, -0.005796f, -0.015810f, 0.002850f, -0.000850f, 0.000397f, -0.006114f, -0.008296f, 0.003115f, + 0.007749f, 0.005596f, 0.002148f, -0.012671f, 0.004045f, -0.008707f, -0.003231f, -0.002398f, -0.017318f, -0.006670f, 0.005372f, 0.006901f, -0.000455f, -0.011874f, 0.002218f, 0.004720f, -0.002177f, -0.002234f, 0.001594f, 0.010631f, 0.003913f, -0.002187f, -0.003206f, 0.002011f, -0.024730f, 0.001959f, 0.006465f, 0.006093f, 0.017692f, 0.002600f, -0.009676f, 0.011190f, -0.003699f, 0.001832f, 0.004032f, 0.003825f, -0.002380f, -0.008021f, 0.000620f, 0.004991f, 0.004755f, 0.007630f, -0.002181f, -0.002268f, 0.001459f, -0.001247f, -0.000787f, 0.001361f, -0.001969f, 0.000875f, 0.001863f, -0.000851f, -0.003853f, -0.002899f, -0.000005f, 0.000644f, 0.001202f, -0.001747f, 0.003942f, -0.001807f, -0.000948f, 0.002619f, 0.003002f, -0.000662f, -0.004289f, -0.002162f, 0.001912f, -0.002082f, -0.001067f, -0.001198f, 0.001095f, 0.003626f, -0.000502f, 0.000879f, 0.003743f, 0.017786f, -0.004510f, 0.000257f, 0.011738f, -0.006050f, -0.005645f, 0.017543f, -0.013354f, -0.031621f, -0.020742f, -0.012227f, 0.019012f, 0.008084f, 0.002646f, -0.018319f, 0.019402f, -0.008366f, 0.005452f, -0.005024f, 0.007633f, 0.009325f, + -0.000749f, 0.000231f, -0.000152f, -0.003161f, -0.010002f, -0.008096f, -0.002440f, 0.001042f, 0.008825f, 0.004975f, 0.013774f, 0.006551f, -0.005974f, -0.003218f, 0.012265f, -0.008829f, 0.015045f, -0.012031f, 0.003260f, 0.006574f, 0.004289f, -0.009763f, 0.013269f, -0.001314f, 0.014256f, 0.018720f, 0.002909f, -0.007515f, -0.007224f, 0.007897f, -0.008976f, -0.019076f, -0.004870f, 0.003969f, -0.012181f, 0.006943f, 0.005704f, -0.004093f, -0.007554f, -0.003280f, -0.002858f, 0.003628f, -0.001417f, -0.010764f, -0.004029f, 0.018479f, 0.014947f, 0.007972f, -0.022005f, -0.021718f, -0.011779f, 0.020749f, 0.010608f, -0.001682f, 0.002970f, -0.010310f, 0.013216f, -0.000644f, -0.010144f, -0.003607f, 0.001441f, -0.001066f, -0.005042f, -0.000806f, -0.003974f, -0.002208f, 0.003978f, 0.005676f, -0.003270f, -0.000120f, 0.000605f, 0.000903f, 0.000919f, -0.005761f, 0.006649f, -0.000518f, -0.006411f, -0.003915f, -0.000802f, -0.002090f, 0.000217f, -0.000540f, -0.000708f, -0.000746f, 0.001664f, 0.000259f, -0.002891f, -0.000261f, 0.001269f, -0.000798f, -0.004548f, -0.003238f, -0.004233f, -0.001590f, 0.003274f, 0.009116f, + 0.013329f, -0.000535f, 0.005258f, -0.020469f, -0.006782f, 0.003577f, 0.007263f, -0.025432f, -0.002646f, 0.011228f, -0.007530f, -0.016478f, 0.010579f, -0.019198f, -0.014040f, -0.007494f, 0.001884f, -0.006847f, -0.004601f, -0.000436f, 0.014599f, -0.012052f, 0.003382f, -0.003690f, -0.004909f, -0.010115f, -0.002666f, -0.014855f, -0.004304f, -0.000254f, 0.003051f, -0.010330f, -0.002044f, -0.006447f, 0.001132f, -0.003196f, -0.004494f, 0.002954f, 0.012033f, 0.003205f, -0.006009f, 0.006086f, -0.008886f, -0.002060f, 0.003641f, -0.003257f, 0.006078f, -0.001739f, -0.000500f, -0.041553f, 0.002937f, -0.014278f, 0.007230f, 0.006230f, 0.009385f, -0.022784f, -0.023278f, 0.003356f, 0.000979f, 0.005668f, 0.000312f, 0.012686f, -0.004909f, 0.006985f, 0.008565f, -0.003813f, 0.019767f, -0.005941f, -0.012621f, -0.002526f, -0.010423f, -0.000170f, -0.020770f, 0.000507f, 0.010493f, 0.005047f, 0.015756f, -0.004128f, -0.004132f, 0.007095f, -0.008118f, 0.002156f, 0.005218f, 0.010281f, -0.005266f, 0.005985f, -0.008063f, 0.001826f, 0.000453f, 0.001289f, -0.003913f, -0.001719f, -0.002888f, 0.003422f, -0.003626f, -0.005750f, + -0.000005f, -0.002605f, -0.003608f, -0.001130f, -0.002805f, -0.001065f, -0.001726f, 0.001913f, -0.002813f, 0.001900f, -0.005789f, -0.000419f, -0.003427f, -0.001286f, 0.000568f, 0.000607f, -0.000743f, -0.002605f, 0.000348f, -0.001867f, 0.000970f, 0.000317f, 0.016155f, -0.032607f, 0.008716f, 0.001386f, 0.009033f, 0.013121f, 0.002359f, -0.012645f, -0.027793f, 0.001982f, -0.011253f, 0.021098f, -0.008617f, 0.004361f, 0.001502f, 0.004518f, 0.015879f, -0.007014f, -0.000524f, -0.007366f, -0.004199f, 0.004177f, -0.004056f, 0.014954f, 0.011078f, 0.003216f, -0.003214f, 0.000235f, 0.009947f, -0.000997f, 0.004775f, -0.000195f, -0.008293f, 0.007322f, -0.002174f, -0.006130f, 0.008770f, 0.014998f, -0.000019f, 0.005894f, 0.000985f, -0.009873f, -0.006253f, 0.018211f, -0.008839f, 0.008742f, 0.013157f, -0.017489f, 0.012445f, 0.006757f, 0.006280f, -0.007725f, 0.012760f, 0.003766f, -0.002300f, 0.016491f, 0.000524f, -0.000128f, -0.007781f, -0.004307f, -0.000096f, -0.007107f, -0.017654f, -0.004543f, 0.017846f, 0.013611f, 0.014663f, -0.001564f, -0.015664f, 0.006546f, 0.018718f, -0.003424f, -0.013431f, -0.000589f, + -0.009523f, -0.002321f, -0.001673f, 0.014755f, -0.001516f, 0.007627f, -0.002042f, 0.000788f, -0.010448f, 0.002841f, -0.001898f, 0.004166f, 0.003891f, -0.006999f, 0.004707f, -0.011141f, 0.000981f, 0.004181f, 0.000165f, -0.002777f, -0.000327f, 0.002368f, -0.007941f, -0.001303f, -0.007484f, 0.002429f, -0.004786f, -0.002776f, -0.004645f, -0.007383f, -0.005118f, -0.001774f, 0.000940f, -0.002146f, -0.000337f, 0.002553f, 0.000642f, -0.001799f, -0.001558f, -0.002081f, 0.004160f, 0.000329f, 0.001397f, 0.002991f, 0.001574f, 0.002166f, -0.001179f, 0.003891f, -0.000731f, 0.000296f, 0.001362f, -0.001231f, -0.002206f, 0.001190f, 0.003712f, -0.015506f, -0.004594f, -0.024982f, -0.007326f, -0.014503f, -0.017098f, -0.016212f, -0.005763f, 0.021744f, 0.023661f, 0.032614f, 0.007268f, -0.012484f, -0.007696f, 0.026990f, -0.000134f, -0.006331f, 0.020667f, -0.002199f, 0.000869f, -0.032374f, 0.014592f, 0.008104f, -0.021617f, 0.029874f, -0.004202f, 0.013403f, -0.003667f, 0.006992f, 0.013258f, -0.000004f, 0.023466f, 0.008979f, 0.006632f, -0.002755f, -0.008372f, 0.002222f, 0.014201f, -0.003853f, 0.004191f, 0.006637f, + 0.018820f, -0.000915f, -0.005747f, 0.012125f, -0.014321f, -0.009005f, 0.006419f, 0.020784f, -0.009268f, -0.011188f, -0.003562f, 0.017124f, 0.000116f, 0.002397f, -0.006449f, -0.002959f, 0.006114f, 0.009020f, 0.000761f, -0.007428f, -0.023765f, 0.002788f, 0.006950f, 0.022561f, 0.006524f, -0.001847f, 0.017308f, 0.030976f, -0.006424f, 0.010837f, 0.007277f, 0.012821f, -0.002539f, -0.010923f, 0.006350f, -0.025723f, -0.007027f, -0.003918f, -0.008376f, -0.005217f, 0.013345f, 0.004600f, -0.016676f, -0.009838f, 0.000438f, -0.005452f, -0.000631f, -0.012750f, -0.000423f, -0.004379f, -0.003244f, -0.001767f, 0.001244f, -0.003563f, -0.000920f, -0.001744f, 0.002694f, -0.001013f, 0.002469f, -0.003493f, -0.000136f, 0.000527f, 0.001128f, 0.005156f, 0.000126f, -0.001991f, 0.004794f, 0.007040f, -0.000592f, -0.004332f, -0.002758f, -0.006099f, -0.005353f, 0.007313f, -0.001268f, 0.001970f, 0.002659f, 0.002588f, 0.002401f, -0.005615f, 0.002722f, -0.002041f, -0.028519f, 0.039304f, -0.020211f, 0.008719f, -0.001727f, -0.013912f, 0.029899f, 0.006836f, 0.003482f, -0.032145f, 0.008014f, -0.012982f, -0.014770f, 0.003274f, + -0.014422f, 0.015860f, 0.009502f, -0.002981f, 0.002975f, -0.008081f, -0.003785f, -0.011857f, -0.007706f, -0.014187f, -0.021743f, -0.005567f, -0.015291f, -0.004310f, 0.007923f, -0.006351f, -0.008349f, 0.016738f, 0.010436f, 0.016800f, -0.014257f, -0.001858f, -0.003069f, -0.015661f, -0.000104f, -0.008459f, -0.038546f, 0.003071f, 0.000436f, -0.006204f, 0.013030f, -0.001672f, 0.014402f, 0.012132f, 0.004327f, 0.022751f, 0.020241f, -0.020528f, -0.005804f, -0.000120f, -0.001004f, 0.006914f, 0.002500f, 0.019295f, -0.004440f, 0.030991f, -0.000299f, -0.018745f, -0.015230f, 0.002098f, 0.005389f, 0.006101f, 0.022482f, 0.005674f, 0.005434f, 0.021075f, 0.028207f, 0.000862f, -0.017724f, -0.016846f, -0.001826f, -0.005857f, -0.004296f, 0.036468f, 0.002375f, -0.017016f, 0.011686f, -0.014939f, 0.013718f, 0.001993f, -0.003167f, -0.004691f, -0.011501f, 0.002808f, 0.003452f, -0.001987f, 0.003020f, 0.005880f, 0.003184f, 0.003901f, -0.001923f, -0.001892f, 0.000134f, -0.002387f, -0.002007f, 0.003835f, 0.001371f, 0.002621f, 0.003441f, 0.006253f, 0.000094f, -0.003438f, 0.005855f, 0.003146f, 0.000901f, 0.001056f, + -0.001558f, 0.000581f, -0.000522f, 0.006213f, 0.009956f, -0.005889f, 0.004595f, -0.001572f, 0.003964f, 0.000192f, 0.000607f, 0.008376f, -0.000760f, 0.000478f, 0.000442f, 0.006809f, 0.004455f, 0.004879f, 0.003148f, 0.000509f, 0.023531f, 0.001612f, 0.015794f, -0.017720f, 0.007629f, 0.001189f, -0.001501f, 0.010350f, 0.024902f, -0.007144f, -0.002478f, 0.022889f, -0.030761f, -0.017261f, -0.013543f, -0.035240f, 0.006685f, -0.011336f, -0.005126f, 0.003969f, -0.024087f, 0.025945f, 0.019557f, 0.027572f, 0.012289f, -0.017560f, 0.001447f, 0.000863f, 0.020621f, -0.004099f, -0.000861f, -0.001064f, -0.013112f, 0.000781f, -0.007789f, 0.011375f, -0.013898f, -0.005449f, -0.004813f, -0.006193f, -0.016244f, 0.007285f, -0.023735f, -0.003866f, -0.001847f, 0.014519f, 0.008570f, 0.001694f, 0.000068f, -0.004405f, 0.001538f, -0.000057f, 0.012095f, 0.002558f, 0.003378f, -0.002251f, -0.037045f, -0.017433f, 0.004096f, 0.014986f, 0.018142f, -0.029179f, 0.019151f, 0.005435f, -0.011547f, 0.002476f, 0.006082f, -0.007152f, 0.027810f, -0.000050f, 0.005199f, -0.006913f, -0.039145f, -0.013689f, -0.017914f, -0.004945f, + 0.000559f, -0.011143f, 0.005455f, 0.007971f, -0.008157f, -0.002007f, 0.024920f, 0.000368f, 0.012627f, -0.015718f, 0.001800f, -0.000600f, 0.014287f, 0.012390f, 0.009046f, -0.003831f, 0.002847f, 0.010100f, 0.006226f, -0.000832f, 0.010904f, 0.010333f, 0.011588f, 0.001140f, 0.004345f, 0.003629f, 0.001787f, -0.001912f, -0.001615f, 0.009719f, 0.001795f, -0.005745f, 0.000796f, -0.001190f, 0.005466f, -0.004304f, 0.001668f, 0.004851f, -0.004211f, 0.007771f, 0.002745f, -0.001565f, 0.000592f, -0.007536f, 0.005125f, 0.004802f, -0.000933f, -0.002039f, -0.004425f, -0.006344f, 0.001618f, 0.036389f, 0.006005f, 0.014858f, -0.021523f, -0.019458f, 0.011578f, 0.019010f, 0.002438f, -0.006384f, 0.034924f, 0.011167f, 0.000373f, -0.009352f, 0.007783f, -0.002433f, -0.003608f, -0.001035f, -0.005737f, 0.001877f, -0.011316f, -0.027252f, 0.009289f, 0.003089f, 0.008610f, 0.002994f, 0.015512f, 0.004920f, -0.016240f, -0.033228f, 0.001092f, 0.002772f, -0.002474f, -0.029043f, -0.014087f, -0.004142f, 0.008426f, -0.006131f, 0.003498f, -0.025367f, 0.001463f, -0.005457f, 0.000378f, 0.002842f, 0.007329f, -0.002493f, + -0.023913f, -0.021916f, -0.013617f, 0.009594f, 0.007098f, -0.005639f, -0.004801f, -0.038405f, -0.021682f, -0.000506f, -0.037516f, 0.034996f, -0.035411f, -0.009507f, -0.022859f, 0.037515f, 0.012140f, -0.025956f, 0.013390f, -0.002767f, 0.014274f, -0.022072f, -0.007208f, 0.001254f, 0.015340f, -0.020938f, -0.008294f, -0.006932f, -0.021386f, 0.001815f, 0.014519f, -0.002419f, -0.003777f, 0.026099f, -0.040722f, 0.032498f, -0.005162f, 0.007092f, -0.018268f, 0.013237f, -0.001895f, 0.010606f, -0.009186f, 0.000818f, 0.008352f, 0.009187f, -0.002390f, -0.004186f, 0.000217f, 0.001209f, 0.001239f, -0.002712f, 0.010246f, 0.010884f, 0.007632f, 0.002248f, 0.007732f, -0.000419f, 0.009467f, -0.003131f, 0.001866f, -0.000101f, -0.003352f, -0.003284f, 0.000795f, -0.007378f, -0.009148f, -0.002392f, -0.000430f, 0.009726f, -0.000423f, -0.001230f, -0.002433f, -0.006182f, 0.004715f, -0.001771f, -0.003257f, -0.002017f, 0.004991f, -0.000707f, -0.010410f, -0.001090f, 0.003877f, 0.001215f, -0.000878f, 0.032126f, 0.069926f, -0.009071f, -0.021415f, -0.020060f, -0.017659f, -0.025488f, 0.004562f, -0.043594f, -0.000081f, -0.033644f, + -0.015374f, 0.010720f, 0.021595f, 0.012472f, -0.014956f, -0.001837f, 0.020562f, -0.001134f, 0.023686f, -0.013677f, -0.013750f, -0.012159f, 0.011340f, -0.007930f, -0.010352f, 0.003990f, -0.012472f, -0.012791f, 0.016169f, 0.037658f, 0.014443f, 0.016241f, 0.007411f, -0.021801f, -0.004900f, -0.017649f, -0.016577f, -0.002456f, -0.002737f, -0.013824f, -0.022173f, -0.044970f, -0.003898f, -0.016185f, 0.006182f, -0.008127f, 0.017261f, 0.015921f, 0.009242f, 0.016652f, 0.011894f, -0.001520f, 0.031987f, 0.045380f, 0.011135f, -0.052671f, 0.011106f, -0.009261f, -0.030630f, 0.004529f, 0.015481f, 0.007733f, 0.001692f, 0.014745f, -0.000525f, -0.024987f, 0.001887f, 0.012159f, -0.024907f, -0.013054f, -0.023313f, -0.043656f, 0.034879f, 0.004988f, -0.002205f, 0.024316f, 0.019176f, 0.001559f, 0.001758f, 0.024034f, -0.032010f, -0.013874f, 0.004010f, 0.017788f, 0.015213f, 0.022805f, 0.016656f, -0.013123f, -0.007350f, -0.002726f, -0.004742f, -0.001697f, -0.002835f, -0.006247f, -0.008081f, -0.012929f, -0.012856f, -0.009252f, -0.004654f, -0.001176f, 0.006963f, -0.003333f, -0.002263f, -0.014842f, -0.009891f, 0.001817f, + 0.008363f, 0.005715f, 0.003710f, 0.003446f, 0.002712f, -0.001863f, -0.007257f, -0.003487f, -0.004352f, -0.004018f, 0.001962f, -0.008042f, 0.002193f, -0.005656f, 0.006781f, -0.000439f, -0.001694f, -0.005401f, 0.005703f, -0.004943f, -0.001160f, 0.010760f, -0.003821f, -0.000045f, 0.051666f, -0.037686f, 0.044709f, -0.003397f, -0.004987f, -0.022270f, -0.008001f, -0.022125f, -0.018721f, 0.024017f, -0.020731f, 0.012565f, 0.053571f, 0.020095f, -0.007521f, -0.023709f, -0.019792f, 0.024043f, -0.019031f, -0.032538f, -0.013150f, 0.003671f, 0.003521f, -0.037196f, 0.003050f, -0.011078f, 0.019953f, -0.011550f, -0.000149f, 0.004641f, 0.056355f, -0.013238f, -0.017461f, 0.027432f, -0.021188f, 0.032893f, -0.018644f, 0.024161f, 0.004430f, -0.016962f, -0.015350f, 0.030589f, -0.038708f, 0.030097f, -0.016434f, 0.003334f, -0.008930f, 0.016565f, -0.013093f, -0.006641f, -0.000085f, -0.011789f, 0.057516f, -0.016142f, 0.039395f, 0.015371f, 0.018315f, -0.000016f, 0.015195f, 0.025240f, 0.028455f, -0.007432f, -0.026690f, 0.000394f, 0.023583f, 0.009557f, -0.003657f, -0.033912f, 0.046132f, -0.009323f, -0.029745f, -0.008142f, + -0.018059f, 0.014517f, 0.020190f, 0.001028f, 0.033533f, -0.008711f, 0.017434f, -0.037345f, -0.006157f, -0.039866f, -0.011997f, -0.014451f, -0.000421f, 0.002438f, -0.007235f, 0.014520f, 0.005198f, -0.010613f, -0.017947f, -0.013491f, -0.003462f, -0.001514f, -0.008736f, -0.001794f, -0.002757f, 0.011514f, -0.002831f, 0.000671f, -0.003765f, -0.017171f, -0.004714f, -0.006795f, 0.002671f, -0.002713f, -0.009201f, -0.014987f, 0.006561f, -0.010080f, 0.005294f, 0.006896f, -0.010043f, -0.025825f, -0.005636f, -0.003918f, -0.006353f, -0.009124f, 0.001647f, -0.004192f, 0.003389f, 0.003187f, -0.011206f, -0.001398f, -0.011277f, 0.011152f, 0.007382f, -0.006114f, 0.003604f, -0.010285f, -0.058291f, -0.024929f, 0.035636f, -0.007130f, -0.014704f, 0.041445f, 0.003901f, -0.021624f, 0.015668f, 0.022542f, 0.019089f, 0.002946f, -0.035895f, -0.014839f, 0.005395f, 0.005253f, 0.018646f, 0.012358f, 0.021042f, -0.018324f, -0.014525f, 0.007070f, -0.005046f, 0.017295f, -0.033756f, -0.005713f, -0.036508f, -0.011787f, 0.006518f, -0.005026f, -0.004653f, 0.038975f, 0.008042f, -0.028885f, -0.004460f, 0.002323f, -0.029594f, -0.003996f, + 0.001370f, 0.017748f, 0.044740f, -0.015897f, 0.014904f, -0.025005f, 0.003688f, -0.014707f, -0.019029f, 0.018280f, 0.039113f, -0.031053f, 0.002917f, 0.034932f, -0.015858f, -0.003210f, -0.013198f, 0.022872f, 0.005421f, -0.028373f, -0.000445f, -0.009902f, -0.009314f, -0.002806f, -0.014051f, 0.021175f, -0.050304f, 0.010656f, 0.004099f, -0.021087f, 0.028012f, 0.043152f, 0.030334f, 0.082179f, 0.024800f, -0.021038f, -0.029295f, -0.024086f, -0.013292f, 0.030195f, -0.011003f, 0.041919f, 0.003716f, 0.051039f, -0.060741f, -0.038827f, 0.018123f, -0.009909f, -0.006411f, 0.024514f, -0.016653f, -0.001825f, 0.025870f, 0.011655f, 0.019149f, 0.028564f, 0.022110f, -0.004758f, 0.008933f, -0.017358f, 0.000463f, -0.000597f, -0.012403f, -0.013307f, 0.008749f, -0.018362f, -0.001750f, 0.027985f, 0.002364f, -0.016562f, -0.021938f, 0.004144f, -0.027521f, -0.009959f, 0.029219f, 0.015394f, -0.005009f, -0.006620f, 0.005462f, -0.005330f, -0.009487f, 0.002109f, -0.006987f, -0.010319f, -0.002013f, -0.014214f, 0.009937f, 0.008976f, 0.009502f, -0.005178f, -0.004063f, 0.006397f, 0.014802f, 0.040494f, -0.096082f, -0.004158f, + 0.054229f, -0.073075f, -0.003664f, 0.013962f, -0.075483f, 0.033294f, 0.008811f, 0.059869f, -0.006367f, 0.020937f, 0.017404f, -0.066448f, -0.055093f, -0.021654f, -0.005656f, -0.033427f, -0.041044f, -0.021862f, 0.037247f, 0.026030f, 0.022427f, 0.002096f, 0.003883f, 0.011548f, 0.001976f, -0.048328f, -0.018325f, -0.061945f, -0.020044f, 0.034124f, 0.009893f, 0.022949f, 0.077129f, 0.019829f, 0.028924f, -0.001543f, 0.015147f, 0.067927f, 0.050961f, 0.013994f, 0.033312f, 0.030596f, 0.067732f, 0.055633f, -0.074558f, 0.046157f, -0.004509f, 0.044162f, 0.044903f, 0.018554f, 0.081390f, 0.071923f, -0.040150f, 0.035448f, -0.000856f, 0.033772f, -0.060066f, 0.005537f, 0.006122f, 0.001953f, -0.013846f, 0.037578f, 0.040658f, -0.039975f, -0.013762f, -0.023589f, 0.014088f, -0.033178f, -0.041187f, 0.038157f, 0.065210f, 0.023787f, 0.067878f, -0.019908f, 0.092349f, 0.090482f, 0.025055f, 0.047335f, -0.014198f, -0.024068f, 0.021024f, 0.020804f, 0.009876f, 0.006971f, 0.005249f, 0.011995f, -0.013238f, -0.023638f, -0.017080f, -0.044188f, -0.046412f, -0.018828f, 0.021166f, -0.000807f, 0.018626f, 0.003119f, + 0.011219f, 0.027784f, 0.034015f, -0.011330f, 0.015429f, -0.001865f, -0.014520f, -0.011980f, -0.010417f, -0.029154f, -0.013646f, 0.000266f, -0.025363f, -0.009068f, -0.022863f, -0.012658f, 0.004547f, 0.031307f, -0.015179f, 0.011150f, 0.008566f, -0.005509f, 0.017068f, 0.009978f, 0.012951f, 0.000198f, 0.022770f, 0.014653f, 0.009735f, -0.009413f, -0.014330f, -0.006170f, -0.030909f, 0.044090f, 0.079629f, -0.011257f, -0.109566f, -0.035225f, 0.010791f, -0.008865f, -0.018459f, -0.024308f, 0.000034f, -0.062810f, -0.037793f, -0.052208f, -0.008694f, -0.015487f, 0.016989f, -0.037362f, -0.010949f, 0.009661f, 0.017060f, -0.000754f, 0.019019f, 0.037427f, 0.007522f, 0.054141f, -0.035359f, 0.012805f, 0.001921f, 0.051635f, 0.013365f, -0.010507f, -0.052595f, 0.034463f, -0.009265f, 0.047076f, -0.040050f, -0.031926f, -0.030391f, -0.016396f, -0.048458f, -0.006956f, -0.008561f, -0.045721f, 0.024802f, 0.051375f, -0.025203f, 0.007346f, -0.067308f, 0.064218f, -0.020528f, -0.035458f, 0.029313f, 0.025460f, -0.038527f, 0.003037f, -0.024050f, 0.008136f, -0.017633f, 0.080470f, -0.003067f, -0.007241f, -0.019979f, 0.142286f, + 0.003600f, -0.019670f, 0.061071f, 0.048729f, -0.051833f, 0.040134f, -0.063489f, -0.035608f, -0.066334f, 0.050369f, -0.045635f, 0.024140f, 0.034882f, 0.027423f, -0.058772f, 0.073908f, -0.013340f, -0.097570f, -0.110827f, -0.044040f, -0.013571f, -0.032561f, 0.025940f, 0.025110f, 0.043975f, 0.006829f, 0.003945f, -0.033344f, 0.033275f, 0.051620f, 0.076392f, 0.019692f, -0.021698f, 0.007018f, 0.065051f, 0.010395f, -0.035637f, -0.009284f, 0.069434f, 0.015448f, -0.040749f, -0.011062f, 0.034391f, 0.019299f, 0.031348f, 0.020485f, 0.044089f, -0.000109f, 0.024338f, 0.008078f, 0.031295f, 0.014199f, 0.049617f, 0.015895f, 0.031459f, -0.006628f, 0.010075f, 0.001796f, -0.003373f, 0.012611f, -0.004067f, 0.016514f, 0.031091f, 0.004099f, 0.018209f, 0.001693f, 0.023583f, -0.053116f, -0.011827f, 0.039939f, 0.003653f, -0.030775f, -0.146883f, 0.010485f, 0.094376f, -0.057040f, -0.038053f, 0.075796f, -0.055171f, -0.003584f, -0.015686f, 0.072753f, -0.124969f, 0.069849f, 0.041434f, -0.035258f, 0.013021f, 0.068243f, 0.048705f, -0.023890f, 0.027861f, 0.012526f, -0.019060f, 0.032101f, -0.000715f, 0.019468f, + 0.029511f, -0.012586f, 0.007111f, -0.003173f, 0.014062f, -0.018065f, -0.014584f, -0.001139f, 0.025322f, -0.074071f, -0.036705f, 0.036874f, -0.008351f, -0.049100f, -0.058052f, 0.010076f, 0.072165f, -0.031290f, -0.046154f, 0.035534f, 0.053821f, -0.011742f, 0.013509f, -0.009476f, 0.050128f, -0.027197f, 0.075178f, -0.010124f, 0.000107f, 0.041266f, 0.000837f, 0.009545f, -0.053462f, 0.084017f, -0.043441f, -0.052514f, 0.039826f, -0.055607f, -0.018448f, 0.009481f, 0.027717f, 0.077646f, -0.027576f, 0.048448f, -0.009909f, 0.025407f, -0.131438f, -0.100398f, -0.018519f, -0.039075f, 0.019998f, 0.018258f, 0.049813f, -0.007765f, -0.010528f, 0.059612f, -0.065230f, -0.001322f, 0.041597f, 0.041287f, -0.015239f, 0.045993f, 0.005699f, -0.009629f, -0.000316f, -0.010031f, 0.043834f, -0.024248f, -0.002587f, 0.042972f, 0.009745f, -0.009539f, 0.016784f, -0.021085f, 0.005388f, -0.001436f, 0.000636f, 0.017493f, 0.007996f, -0.024124f, -0.005670f, 0.007741f, -0.019032f, -0.027558f, -0.000490f, 0.020538f, 0.035605f, -0.029928f, 0.034783f, 0.012182f, -0.035013f, 0.029176f, 0.032986f, -0.016428f, -0.039652f, 0.036600f, + -0.018194f, 0.006975f, 0.019860f, -0.019627f, -0.052483f, 0.017404f, 0.013910f, -0.028658f, -0.027545f, 0.002348f, 0.019605f, -0.022651f, 0.008318f, -0.009783f, -0.048148f, -0.022148f, 0.036772f, -0.060257f, 0.060671f, -0.051183f, -0.064419f, 0.037749f, -0.030723f, -0.020490f, 0.038541f, -0.027505f, 0.032321f, -0.021453f, 0.015458f, 0.074335f, -0.064992f, -0.003954f, -0.009264f, 0.062740f, 0.009146f, 0.006628f, -0.058109f, -0.054494f, -0.018883f, -0.015373f, -0.007835f, -0.017052f, 0.011685f, 0.003996f, -0.005275f, 0.009938f, 0.014029f, 0.007135f, 0.011056f, -0.010604f, 0.029700f, -0.018033f, 0.028450f, -0.051605f, 0.002597f, -0.041659f, -0.054266f, -0.031671f, 0.073875f, -0.030758f, -0.031440f, -0.023151f, 0.017545f, -0.013811f, 0.033285f, 0.048187f, -0.049020f, 0.045317f, 0.008707f, -0.068004f, -0.033720f, 0.142942f, 0.074468f, -0.106986f, -0.019565f, 0.069239f, -0.033996f, -0.038556f, 0.028279f, -0.033216f, -0.073750f, 0.054254f, 0.025109f, -0.100488f, 0.042418f, 0.052105f, -0.058831f, -0.038525f, 0.061178f, -0.014008f, -0.044765f, 0.011179f, 0.030717f, -0.072601f, 0.014614f, 0.013755f, + 0.021819f, -0.055234f, -0.015975f, -0.004094f, -0.017265f, -0.003094f, 0.004328f, 0.006992f, -0.033603f, 0.006159f, 0.051288f, 0.018288f, 0.003862f, 0.017424f, -0.000216f, -0.007657f, -0.027148f, -0.007891f, -0.014393f, -0.019706f, -0.046971f, 0.013430f, -0.026522f, -0.006833f, 0.059139f, -0.051002f, -0.033132f, 0.043802f, -0.030480f, -0.010612f, -0.012809f, 0.020122f, -0.033071f, -0.011561f, 0.054588f, 0.029247f, -0.025632f, 0.030999f, 0.017685f, -0.021755f, -0.013544f, 0.074065f, -0.057895f, -0.044857f, 0.078802f, 0.000270f, -0.061590f, 0.009249f, 0.039165f, -0.036200f, -0.077073f, 0.052632f, 0.007159f, -0.085587f, 0.015591f, 0.024780f, -0.062265f, -0.000656f, 0.043083f, -0.011090f, -0.027263f, 0.022972f, 0.018483f, -0.042687f, -0.003626f, 0.032733f, -0.023917f, -0.030574f, 0.021985f, 0.001985f, 0.088777f, 0.125972f, -0.051134f, 0.141095f, -0.011734f, -0.039268f, -0.030556f, -0.048441f, -0.004623f, 0.023303f, 0.082931f, 0.002403f, 0.025111f, -0.021675f, -0.072683f, 0.000910f, 0.001996f, 0.047047f, 0.008364f, -0.054896f, 0.100595f, -0.043683f, 0.018233f, 0.045088f, -0.051163f, -0.041386f, + -0.072728f, -0.031959f, 0.043773f, 0.055041f, 0.067765f, -0.026263f, -0.168352f, 0.036764f, 0.086757f, 0.111794f, 0.095664f, -0.001889f, -0.048766f, -0.059856f, 0.019482f, 0.056821f, -0.037309f, -0.019709f, -0.149313f, -0.091382f, 0.078988f, 0.133902f, 0.026710f, -0.004093f, -0.033454f, -0.059166f, -0.014635f, 0.036855f, -0.052877f, 0.019976f, -0.008276f, 0.084511f, -0.004532f, 0.032722f, -0.166969f, -0.021494f, 0.001123f, 0.101609f, 0.078118f, -0.002530f, -0.050683f, -0.014108f, 0.120400f, 0.054463f, -0.143383f, -0.176825f, -0.069879f, 0.035086f, 0.272962f, 0.029233f, -0.048578f, 0.037361f, -0.074339f, 0.194263f, 0.058399f, -0.155316f, -0.097959f, -0.019664f, 0.136401f, 0.020305f, -0.058278f, -0.053374f, -0.050109f, 0.038822f, 0.072933f, 0.036796f, -0.080790f, -0.006914f, -0.028496f, 0.065515f, -0.008236f, 0.039527f, -0.015099f, -0.017021f, -0.054000f, 0.020364f, -0.017339f, -0.005864f, 0.039966f, -0.064819f, 0.036604f, -0.009960f, -0.011037f, 0.000095f, 0.028641f, 0.063903f, 0.031180f, 0.004184f, -0.013879f, 0.013414f, -0.001797f, 0.025869f, 0.007306f, 0.028572f, 0.005866f, 0.007137f, + -0.033771f, 0.014975f, 0.015822f, 0.011581f, -0.001090f, 0.009524f, 0.004703f, 0.028354f, 0.032953f, 0.026455f, 0.002418f, -0.018701f, -0.028744f, 0.008104f, 0.012743f, -0.016575f, 0.013974f, -0.023037f, 0.058415f, -0.067342f, 0.002098f, -0.027114f, 0.015567f, -0.041726f, 0.039150f, 0.010778f, -0.022178f, -0.042099f, -0.020626f, -0.008035f, 0.012285f, -0.057448f, 0.013288f, -0.028176f, -0.010883f, -0.045010f, -0.021096f, 0.036344f, -0.038255f, -0.013638f, -0.005189f, 0.017713f, 0.012136f, -0.015028f, 0.020730f, -0.032993f, -0.002509f, 0.000296f, 0.017774f, -0.021658f, 0.031375f, 0.023216f, -0.023642f, -0.027642f, -0.010381f, 0.044323f, -0.031856f, 0.013909f, 0.033178f, 0.007232f, -0.032024f, -0.012463f, 0.014027f, -0.020347f, 0.015182f, 0.001320f, 0.007448f, -0.029878f, 0.006448f, -0.024330f, -0.000842f, 0.022318f, 0.028600f, 0.021932f, -0.016193f, 0.020914f, 0.002904f, -0.026601f, -0.003678f, -0.000240f, 0.031830f, -0.008845f, 0.006919f, 0.027274f, -0.005652f, -0.035936f, 0.050226f, -0.020475f, 0.029831f, 0.021490f, 0.005382f, 0.006804f, -0.020810f, -0.026078f, 0.034713f, 0.005133f, + 0.030582f, 0.009021f, 0.016806f, 0.008283f, -0.000644f, -0.001706f, -0.026153f, 0.002880f, 0.007395f, 0.009224f, 0.010779f, -0.003383f, 0.012506f, 0.001981f, -0.001274f, 0.003234f, 0.001869f, 0.012479f, -0.003130f, 0.009702f, -0.011840f, -0.003229f, 0.000310f, 0.000836f, -0.006519f, -0.004021f, 0.023702f, 0.014588f, -0.003653f, -0.016888f, -0.018608f, -0.007183f, -0.007312f, 0.021223f, 0.002484f, -0.006632f, -0.013794f, -0.007463f, 0.002348f, -0.011943f, 0.025005f, 0.002074f, -0.009656f, 0.003983f, -0.000105f, -0.004708f, 0.007331f, -0.007473f, 0.021782f, -0.020397f, 0.015084f, -0.019867f, -0.054606f, 0.101291f, 0.008928f, 0.005261f, -0.041333f, 0.023275f, -0.003754f, 0.026373f, 0.020024f, 0.030915f, 0.003148f, 0.007663f, -0.017851f, 0.004770f, 0.028302f, -0.003091f, 0.015354f, -0.002774f, 0.004689f, 0.006041f, 0.011308f, -0.012405f, 0.021356f, -0.015029f, 0.001702f, -0.002662f, 0.007056f, -0.002220f, 0.004069f, 0.016175f, 0.017775f, -0.009010f, 0.007687f, 0.003235f, -0.004320f, -0.008044f, 0.023770f, -0.007680f, 0.004812f, -0.007128f, 0.012301f, -0.000363f, -0.011797f, 0.023886f, + -0.015299f, -0.005487f, 0.006139f, -0.011657f, -0.007151f, -0.003817f, 0.000737f, -0.004638f, 0.000148f, -0.002603f, -0.006507f, 0.007932f, -0.015816f, 0.009531f, 0.006403f, -0.005605f, 0.010068f, -0.008117f, 0.011974f, -0.006571f, 0.002110f, 0.002119f, -0.007587f, 0.011765f, -0.000215f, 0.001409f, -0.004025f, 0.015939f, -0.019461f, 0.020250f, -0.014749f, 0.002203f, 0.003321f, -0.000826f, 0.003588f, -0.003526f, 0.011668f, -0.011404f, 0.000595f, 0.009957f, -0.012493f, 0.007472f, 0.006771f, -0.002056f, 0.001331f, 0.006720f, 0.003125f, -0.003473f, 0.004456f, 0.001021f, -0.001758f, 0.000717f, 0.003893f, 0.000240f, -0.005350f, 0.001169f, 0.001948f, -0.002891f, 0.005786f, -0.001549f, 0.004726f, -0.003391f, 0.000640f, 0.003623f, -0.002687f, 0.000388f, 0.002496f, -0.004077f, 0.006368f, -0.000866f, 0.003069f, -0.001081f, 0.006715f, -0.002676f, 0.000666f, 0.006201f, -0.005805f, 0.007211f, -0.004455f, 0.002993f, -0.004575f, 0.007073f, -0.001255f, 0.019449f, -0.092700f, -0.230811f, 0.035894f, 0.175833f, 0.163356f, 0.283393f, -0.072311f, -0.075823f, -0.192923f, -0.263388f, -0.054305f, 0.095298f, + 0.101945f, 0.192024f, 0.104295f, 0.008271f, -0.049856f, -0.133994f, -0.095290f, -0.016413f, -0.014922f, 0.047806f, 0.044297f, 0.025659f, 0.016338f, 0.012925f, -0.007082f, -0.032886f, -0.002572f, 0.038098f, 0.000271f, 0.008059f, -0.002202f, -0.028476f, -0.021869f, -0.048467f, -0.047567f, 0.021615f, 0.019864f, 0.044155f, 0.067027f, 0.050305f, 0.024513f, 0.008942f, -0.072428f, -0.051138f, -0.039653f, -0.039626f, -0.044314f, 0.009311f, 0.028188f, 0.049154f, 0.062658f, 0.051947f, 0.011258f, -0.006056f, -0.041643f, -0.042386f, -0.025287f, -0.012217f, 0.004020f, 0.007078f, 0.014005f, 0.001324f, -0.013643f, 0.004696f, -0.021743f, 0.011406f, 0.018365f, 0.002209f, 0.036826f, 0.044699f, 0.013729f, -0.008374f, -0.049135f, -0.064523f, -0.026096f, -0.011818f, -0.007615f, 0.032986f, 0.025397f, -0.006591f, 0.028811f, 0.031477f, 0.017466f, 0.021786f, -0.012084f, -0.023174f, -0.018820f, -0.026678f, -0.021367f, -0.003827f, -0.020519f, -0.007948f, 0.001013f, 0.016514f, 0.023038f, 0.033507f, 0.028708f, 0.026695f, 0.020981f, -0.010822f, -0.025131f, -0.041843f, -0.051872f, -0.029969f, -0.022585f, 0.003066f, + 0.024554f, 0.036528f, 0.042037f, 0.033495f, 0.030572f, 0.019958f, -0.026277f, -0.046472f, -0.042249f, -0.020427f, -0.006173f, -0.001730f, 0.003006f, 0.018006f, 0.015541f, 0.007701f, 0.003414f, 0.014780f, 0.008110f, 0.012891f, 0.003372f, -0.019324f, -0.021625f, -0.013895f, -0.005864f, 0.006953f, 0.004580f, -0.006837f, -0.004183f, 0.006940f, 0.003304f, 0.003158f, 0.008746f, 0.014615f, 0.006349f, 0.000643f, -0.007362f, -0.007932f, -0.007131f, -0.008100f, -0.011198f, -0.007933f, -0.000840f, 0.006616f, 0.008465f, 0.011794f, 0.012030f, 0.007163f, -0.000620f, -0.005099f, -0.007062f, -0.005913f, -0.006158f, -0.004034f, -0.003257f, -0.000538f, 0.002771f, 0.004977f, 0.003519f, 0.002611f, 0.001592f, 0.002657f, 0.001215f, -0.000728f, -0.004679f, -0.003913f, -0.001699f, 0.001768f, 0.001984f, 0.000962f, -0.002012f, -0.001206f, -0.000540f, 0.000267f, 0.000000f, 0.001409f, 0.001784f, 0.001194f, -0.000917f, -0.000374f, 0.000156f, 0.001117f, 0.000420f, -0.000294f, -0.001483f, -0.001484f, -0.001668f, -0.000346f, 0.000428f, 0.000642f, -0.000055f, 0.000736f, 0.001315f, 0.002168f, 0.001130f, 0.000007f, + -0.001454f, -0.001607f, -0.001675f, -0.000721f, -0.000382f, 0.000006f, 0.000221f, 0.001077f, 0.000745f, 0.000498f, -0.000116f, -0.000016f, -0.000201f, -0.000059f, -0.000154f, 0.000205f, 0.000009f, -0.000194f, -0.000556f, -0.000217f, -0.000075f, 0.000191f, 0.000010f, 0.000074f, -0.000038f, 0.000064f, 0.000024f, 0.000152f, 0.000066f, 0.000093f, 0.000018f, 0.000018f, -0.000053f, -0.000073f, -0.000088f} + }, + { + {-0.010865f, -0.000140f, 0.002388f, 0.001813f, 0.007766f, 0.001027f, -0.000944f, -0.004995f, 0.011409f, 0.007051f, 0.000378f, -0.001398f, 0.011333f, 0.003853f, -0.003612f, -0.009926f, 0.006346f, -0.002854f, 0.004929f, -0.009447f, 0.000616f, -0.002254f, -0.007018f, -0.001898f, -0.003529f, -0.001302f, 0.000544f, 0.000052f, -0.005116f, -0.003139f, -0.000809f, -0.000981f, -0.003180f, 0.003416f, -0.000323f, -0.003403f, 0.006079f, -0.010099f, -0.004788f, 0.004829f, -0.006063f, 0.000841f, -0.003762f, -0.005542f, 0.003776f, 0.003429f, -0.002973f, 0.003798f, 0.007314f, 0.004120f, -0.003789f, -0.004433f, 0.000801f, 0.001441f, -0.004468f, 0.004847f, 0.008065f, -0.006873f, -0.002196f, 0.003972f, 0.002971f, -0.001635f, -0.002103f, -0.003355f, 0.004445f, 0.001356f, -0.005324f, 0.006060f, 0.002950f, -0.004971f, -0.003730f, 0.006372f, -0.004805f, -0.006137f, -0.011571f, -0.010057f, 0.005476f, 0.006338f, 0.000507f, 0.002784f, -0.001100f, 0.002280f, -0.004287f, 0.006501f, -0.000543f, 0.003010f, -0.002982f, 0.001680f, -0.002717f, -0.002117f, 0.000098f, 0.004166f, -0.000924f, -0.001059f, -0.001870f, 0.000622f, + -0.001414f, 0.000289f, 0.000482f, -0.000859f, -0.001019f, 0.000134f, -0.000063f, -0.000337f, -0.001118f, 0.000564f, -0.000418f, 0.014501f, -0.001406f, -0.002944f, -0.005953f, 0.009277f, -0.004956f, -0.000542f, -0.007559f, -0.008068f, -0.010140f, -0.004780f, 0.007933f, -0.008236f, -0.003084f, -0.002908f, 0.002744f, -0.002063f, -0.011294f, 0.005865f, 0.002818f, 0.021922f, -0.002249f, 0.010247f, -0.002056f, -0.000560f, -0.001002f, 0.001116f, -0.004634f, 0.008478f, -0.002239f, -0.001731f, -0.005135f, -0.000959f, -0.001841f, 0.013146f, 0.002438f, -0.001353f, -0.012346f, -0.001283f, -0.002380f, 0.003702f, -0.007848f, -0.002193f, 0.002117f, 0.001747f, -0.002175f, -0.001347f, -0.004878f, -0.001858f, -0.005862f, -0.002661f, 0.011364f, -0.003371f, 0.003595f, 0.006321f, -0.001540f, -0.006205f, -0.008112f, 0.002079f, 0.001900f, 0.002422f, 0.005037f, 0.005946f, 0.004917f, 0.002816f, -0.002255f, -0.002214f, -0.002609f, -0.011445f, -0.002732f, -0.001191f, 0.005528f, 0.004684f, -0.002822f, -0.000308f, 0.006072f, -0.006365f, 0.002496f, 0.000149f, -0.001582f, -0.003697f, -0.005582f, -0.000102f, 0.003323f, 0.003325f, + 0.003540f, -0.001514f, 0.001456f, -0.001358f, 0.000298f, 0.004941f, 0.002020f, 0.000349f, 0.000046f, -0.000797f, -0.000116f, 0.000280f, 0.000994f, -0.000671f, -0.000692f, 0.002120f, 0.001110f, 0.002159f, 0.002259f, 0.000422f, 0.001258f, -0.000365f, 0.000368f, 0.000121f, -0.001004f, -0.002599f, -0.000459f, -0.019172f, -0.004633f, -0.000324f, -0.004052f, -0.002794f, 0.006792f, -0.013453f, -0.011265f, -0.006576f, -0.004364f, 0.001975f, 0.015238f, -0.003246f, 0.000021f, 0.001876f, -0.010832f, -0.002800f, -0.009038f, -0.001360f, 0.016135f, -0.001196f, -0.007772f, -0.005043f, 0.000254f, 0.003326f, 0.003274f, -0.004468f, -0.020320f, -0.009708f, -0.002675f, -0.007821f, 0.000775f, 0.000412f, 0.008301f, -0.005283f, 0.007379f, 0.001831f, -0.003721f, -0.010870f, -0.009088f, 0.012675f, -0.010391f, 0.006982f, 0.002081f, -0.006654f, -0.002459f, -0.005938f, -0.004241f, 0.005990f, -0.011165f, 0.005841f, 0.002022f, -0.000138f, 0.001931f, 0.000828f, -0.001067f, 0.000292f, -0.005632f, -0.007753f, 0.000611f, -0.002334f, -0.005704f, -0.002285f, -0.008848f, 0.010388f, 0.007137f, 0.001830f, 0.008523f, 0.001046f, + -0.003550f, 0.010554f, -0.005497f, -0.003440f, -0.003520f, 0.008042f, -0.007761f, 0.003516f, 0.005678f, 0.000356f, 0.003538f, 0.008754f, 0.003247f, -0.000223f, 0.000608f, 0.001897f, 0.001505f, -0.001677f, -0.000988f, 0.000150f, -0.000392f, 0.002838f, 0.001416f, 0.002998f, 0.002256f, 0.000884f, -0.002613f, -0.003092f, 0.001947f, -0.000072f, -0.000123f, 0.002900f, -0.001940f, -0.001554f, 0.000009f, 0.000724f, 0.000996f, -0.000247f, -0.003161f, 0.002712f, 0.000774f, -0.002361f, -0.013081f, 0.015700f, 0.017832f, 0.004781f, 0.004688f, -0.005291f, 0.008239f, 0.004061f, -0.010657f, 0.003150f, 0.006623f, -0.012700f, -0.011111f, 0.010892f, -0.009753f, -0.001530f, -0.006337f, 0.010981f, 0.002286f, -0.001404f, -0.004231f, -0.000213f, -0.007345f, 0.006563f, -0.003737f, 0.003925f, -0.001875f, -0.000183f, 0.007091f, 0.002720f, 0.000877f, -0.002922f, 0.006944f, 0.004381f, 0.001968f, -0.000727f, 0.007187f, -0.000688f, 0.001197f, -0.004739f, 0.008790f, 0.001895f, 0.003418f, 0.006428f, -0.018092f, -0.005939f, -0.003686f, -0.006533f, -0.006396f, 0.001716f, 0.009863f, -0.004426f, -0.002823f, -0.005585f, + -0.002606f, 0.002064f, 0.004252f, -0.012449f, -0.000897f, 0.004220f, 0.000348f, -0.001073f, 0.005212f, 0.003404f, -0.011735f, -0.003331f, -0.002677f, 0.007076f, -0.007775f, 0.010034f, 0.010791f, 0.005646f, 0.002099f, -0.005193f, -0.000432f, 0.000789f, 0.007158f, -0.002050f, 0.000716f, 0.000795f, 0.000942f, 0.010736f, 0.001015f, 0.011447f, 0.004088f, 0.000082f, -0.005696f, -0.003244f, 0.004552f, -0.001054f, -0.000182f, 0.000375f, 0.000106f, 0.000969f, 0.004632f, 0.001290f, 0.001698f, 0.000102f, 0.001631f, -0.003926f, -0.000513f, 0.001133f, 0.001342f, -0.001067f, -0.000810f, -0.000057f, 0.001334f, -0.001226f, -0.001044f, 0.001526f, 0.001346f, 0.002830f, 0.001146f, 0.002613f, -0.001807f, 0.000133f, 0.000108f, -0.001143f, 0.002334f, 0.003592f, 0.019992f, -0.003616f, -0.000200f, 0.007350f, 0.004793f, 0.003602f, 0.006802f, 0.017759f, -0.004845f, -0.001547f, -0.016948f, 0.000412f, -0.014549f, -0.018499f, 0.000755f, 0.007986f, -0.023893f, 0.008214f, 0.007943f, 0.004372f, -0.007187f, -0.005689f, -0.007845f, -0.002946f, 0.000562f, 0.000573f, 0.007730f, 0.010143f, -0.001277f, -0.009854f, + -0.005914f, 0.007523f, -0.010553f, -0.005242f, -0.008901f, 0.002006f, -0.014451f, 0.007317f, 0.001264f, -0.000926f, 0.002456f, -0.000411f, -0.003216f, 0.000070f, 0.009493f, -0.010765f, 0.013226f, -0.009898f, -0.001039f, 0.002470f, -0.006479f, -0.005343f, 0.005254f, 0.002577f, -0.001963f, -0.005011f, 0.009909f, 0.004129f, -0.006688f, -0.013612f, 0.001716f, 0.003207f, 0.008127f, -0.000287f, -0.003400f, 0.000733f, 0.004371f, -0.003211f, 0.019136f, -0.006318f, -0.002948f, -0.013513f, -0.008838f, 0.021471f, 0.008845f, -0.004726f, -0.001082f, -0.007419f, -0.008197f, -0.000634f, 0.003130f, 0.000601f, -0.003900f, 0.004657f, 0.002699f, 0.006442f, -0.000526f, -0.004614f, 0.002026f, 0.000215f, -0.001962f, 0.001899f, 0.001967f, -0.000466f, 0.000995f, 0.002555f, 0.000999f, -0.000584f, -0.001762f, 0.001078f, 0.000831f, -0.001779f, 0.003692f, 0.002985f, 0.001135f, -0.001741f, -0.004342f, 0.000333f, -0.000179f, -0.000167f, 0.002175f, -0.002227f, 0.001637f, 0.002375f, 0.000753f, -0.001357f, 0.005584f, 0.012920f, -0.017020f, -0.010015f, 0.012078f, -0.008873f, -0.009452f, -0.010392f, -0.012437f, 0.009112f, + -0.003066f, -0.000276f, -0.002782f, 0.000568f, -0.013849f, -0.002690f, 0.006488f, 0.007075f, 0.001690f, -0.007274f, -0.010605f, -0.008794f, -0.011196f, 0.002383f, 0.013582f, 0.001906f, 0.004464f, 0.004710f, 0.004599f, -0.007834f, 0.008409f, 0.005256f, -0.005831f, -0.004687f, -0.018192f, 0.002901f, 0.004185f, -0.014283f, -0.001040f, 0.004504f, -0.002598f, 0.001860f, -0.001198f, -0.015333f, 0.013209f, -0.014279f, 0.011391f, 0.000690f, 0.005788f, -0.016084f, -0.008947f, -0.014395f, -0.011317f, 0.002187f, -0.003975f, -0.005065f, -0.006339f, 0.000031f, 0.007296f, -0.013317f, -0.000137f, 0.003962f, -0.004234f, -0.014859f, -0.009260f, -0.003054f, 0.002904f, 0.007317f, 0.003238f, -0.012229f, 0.013215f, -0.004163f, -0.002779f, 0.013113f, -0.017027f, -0.005568f, -0.003325f, -0.002997f, 0.020573f, -0.007411f, -0.000263f, -0.007694f, -0.006340f, 0.003778f, 0.002907f, -0.000416f, 0.002279f, -0.001587f, -0.002804f, 0.003874f, 0.000138f, 0.001609f, 0.001723f, 0.004994f, -0.001855f, 0.001484f, 0.001185f, 0.000382f, 0.001383f, -0.005595f, 0.007423f, 0.006700f, -0.002189f, -0.001114f, 0.001129f, -0.000931f, + 0.001343f, 0.000246f, -0.000431f, -0.002677f, 0.001746f, -0.001370f, 0.000728f, 0.006514f, 0.004223f, 0.003511f, -0.002588f, 0.004652f, 0.001928f, -0.001848f, 0.002187f, 0.000727f, 0.001639f, 0.000550f, 0.026277f, -0.023674f, -0.012541f, -0.015814f, 0.011197f, 0.004137f, -0.008142f, 0.005191f, -0.000259f, 0.015582f, 0.000854f, 0.000028f, -0.015294f, 0.010572f, 0.017215f, 0.018069f, 0.014998f, -0.008570f, -0.001430f, 0.002206f, -0.009814f, -0.006752f, 0.002404f, 0.000968f, -0.014081f, -0.006964f, -0.006014f, 0.006684f, -0.001192f, -0.010664f, -0.004983f, 0.003334f, 0.008242f, 0.000907f, -0.003057f, 0.000006f, -0.007540f, -0.000335f, -0.000596f, 0.001015f, -0.016084f, 0.009189f, 0.010844f, 0.002142f, 0.005526f, 0.006419f, -0.013046f, 0.018362f, 0.016513f, 0.002968f, -0.011628f, 0.006499f, -0.004198f, -0.017175f, -0.004470f, -0.005482f, -0.000385f, 0.000961f, -0.000444f, -0.010406f, -0.009335f, -0.021305f, -0.017809f, 0.000173f, 0.010610f, -0.009795f, 0.004406f, 0.001318f, -0.006678f, -0.017363f, -0.001826f, 0.010050f, -0.006819f, 0.009015f, 0.017747f, 0.005370f, -0.007479f, 0.010247f, + -0.000141f, -0.001132f, 0.004781f, 0.007969f, -0.000799f, -0.001439f, 0.002125f, 0.005132f, -0.002955f, -0.011671f, 0.000578f, -0.000366f, 0.001141f, 0.001407f, 0.003805f, 0.008478f, -0.003143f, -0.001532f, 0.006342f, 0.005808f, 0.001166f, 0.000814f, -0.004228f, 0.008173f, 0.000837f, -0.000586f, 0.004832f, 0.001507f, 0.001707f, 0.000800f, 0.004350f, 0.003915f, 0.004327f, 0.007218f, 0.000492f, 0.004294f, 0.000530f, 0.004785f, 0.002210f, 0.002700f, 0.001794f, 0.004528f, 0.003945f, 0.003242f, -0.025246f, 0.002584f, -0.009475f, -0.033791f, -0.026012f, 0.006407f, 0.000164f, -0.005892f, 0.005933f, 0.016137f, -0.002653f, 0.009638f, 0.008537f, 0.004925f, -0.002657f, -0.008856f, 0.007096f, -0.007555f, 0.000835f, -0.006500f, 0.010069f, 0.018462f, -0.016745f, -0.004887f, 0.000971f, 0.006657f, 0.001738f, -0.005279f, -0.003093f, -0.006299f, -0.000541f, -0.007777f, 0.009745f, 0.002070f, -0.011785f, 0.012963f, -0.013138f, -0.004274f, 0.015965f, 0.014028f, 0.011856f, -0.013695f, -0.008982f, -0.012281f, 0.014075f, 0.019052f, -0.000336f, -0.004069f, 0.015142f, -0.022480f, 0.002704f, 0.005891f, + -0.002209f, -0.018911f, 0.016871f, 0.005817f, 0.008553f, 0.015766f, 0.000801f, -0.022802f, 0.005914f, 0.009195f, -0.005849f, -0.001811f, 0.015598f, -0.016334f, -0.015253f, -0.013257f, 0.001551f, 0.020026f, 0.010861f, -0.003043f, 0.023042f, -0.030840f, -0.011362f, 0.000224f, 0.014738f, 0.006738f, -0.004472f, -0.024547f, -0.003842f, -0.009937f, 0.002686f, 0.009131f, 0.023748f, 0.003901f, -0.006745f, 0.002959f, -0.004078f, -0.001741f, -0.007893f, -0.000125f, -0.006508f, 0.002058f, 0.006460f, 0.003512f, 0.005945f, 0.006575f, 0.002117f, 0.001276f, 0.000029f, 0.001024f, -0.003283f, -0.003586f, 0.000285f, 0.006934f, 0.002668f, -0.001053f, 0.001244f, 0.002678f, 0.005699f, 0.000575f, -0.001926f, 0.000784f, -0.001880f, 0.004399f, -0.008515f, -0.005353f, -0.003771f, 0.005127f, 0.004598f, -0.007650f, 0.001654f, -0.027200f, 0.027307f, 0.011044f, -0.000761f, -0.002877f, 0.002212f, 0.004615f, 0.014752f, -0.002908f, 0.001548f, -0.004840f, -0.003519f, 0.008283f, 0.004226f, 0.009632f, 0.004189f, 0.005524f, -0.018607f, -0.007765f, 0.030980f, 0.003057f, 0.009145f, 0.012965f, 0.004812f, -0.010620f, + -0.019623f, 0.005993f, -0.008239f, 0.000645f, 0.006782f, -0.009813f, -0.011524f, 0.013842f, 0.016263f, -0.008609f, -0.006142f, 0.012576f, -0.015653f, 0.006726f, -0.012068f, 0.005302f, -0.011682f, 0.016737f, 0.002256f, -0.002321f, 0.005832f, 0.028821f, 0.007887f, 0.011108f, -0.003354f, 0.001377f, 0.004839f, 0.021258f, -0.001941f, 0.030508f, 0.000820f, 0.014444f, -0.000619f, 0.027529f, 0.009689f, 0.020519f, 0.015556f, -0.003577f, -0.009335f, -0.002595f, -0.010651f, -0.011756f, 0.016106f, -0.003377f, -0.006421f, 0.002406f, 0.000145f, -0.008393f, -0.004127f, 0.002413f, 0.007159f, 0.001895f, -0.013949f, -0.013845f, -0.007225f, -0.014134f, -0.000458f, -0.000412f, -0.004210f, 0.003767f, -0.000366f, 0.005582f, -0.000924f, -0.005835f, 0.001094f, -0.002533f, -0.010648f, -0.006781f, 0.001427f, 0.014010f, -0.006038f, 0.005112f, -0.001677f, -0.000273f, 0.006472f, -0.005035f, 0.002149f, 0.003088f, -0.003665f, -0.002571f, -0.001839f, -0.004167f, 0.001920f, -0.005180f, -0.006666f, -0.002639f, -0.007215f, 0.008836f, -0.002583f, 0.000421f, -0.000834f, -0.000659f, 0.000887f, -0.003095f, 0.001265f, 0.002140f, + 0.001109f, 0.003524f, 0.004796f, 0.000729f, 0.003564f, -0.002832f, -0.007779f, 0.001410f, -0.002185f, 0.003107f, -0.003203f, 0.031936f, -0.008191f, -0.000123f, -0.039017f, -0.001237f, 0.021080f, -0.010803f, 0.018334f, -0.024757f, 0.003760f, 0.002660f, -0.000582f, -0.032880f, -0.001353f, -0.054891f, 0.002731f, -0.005913f, -0.022925f, -0.003863f, 0.003218f, -0.011922f, 0.002221f, 0.014075f, 0.002263f, -0.012443f, 0.002462f, -0.003743f, 0.012326f, -0.013390f, 0.000904f, 0.017813f, 0.004091f, 0.001623f, -0.002523f, 0.013690f, -0.008601f, 0.001581f, 0.000052f, 0.010546f, 0.002113f, -0.018416f, -0.009793f, -0.012941f, 0.015462f, -0.034635f, 0.016943f, 0.014016f, 0.011995f, 0.006811f, 0.002690f, -0.015066f, 0.010949f, -0.022391f, -0.005250f, -0.004573f, -0.004588f, -0.000828f, 0.001519f, 0.007416f, -0.017262f, -0.006643f, 0.029357f, 0.012439f, -0.010586f, -0.012233f, 0.003270f, -0.004979f, 0.009007f, -0.005774f, -0.001722f, -0.009295f, 0.026622f, 0.013699f, -0.009028f, 0.001843f, -0.013437f, 0.003318f, -0.010126f, -0.003343f, 0.010615f, 0.010018f, -0.002992f, 0.019556f, -0.007536f, 0.009798f, + -0.012619f, 0.013714f, 0.002045f, -0.007677f, -0.010619f, -0.015712f, 0.004098f, -0.001556f, 0.007311f, -0.001843f, -0.004641f, 0.003114f, 0.003030f, 0.005009f, 0.003937f, 0.009076f, -0.000286f, 0.003054f, -0.006806f, 0.005740f, -0.004874f, -0.002276f, -0.003647f, -0.000529f, -0.008685f, -0.001300f, 0.003453f, 0.008088f, -0.007463f, -0.003420f, -0.005385f, 0.005615f, 0.004201f, -0.003262f, -0.000650f, -0.005626f, 0.004517f, 0.000745f, 0.020072f, 0.020284f, 0.011734f, 0.010472f, -0.010005f, 0.011661f, 0.019490f, -0.014641f, -0.000621f, -0.037855f, 0.021537f, 0.014680f, -0.005484f, 0.008664f, -0.002535f, 0.002936f, 0.013367f, -0.008539f, 0.020968f, -0.019084f, 0.001726f, 0.023653f, 0.010285f, 0.001384f, 0.018207f, -0.006554f, 0.008304f, 0.004756f, 0.009703f, 0.016144f, -0.009693f, -0.002011f, 0.029794f, 0.014885f, -0.000768f, 0.004063f, -0.020377f, 0.027459f, -0.023288f, -0.001522f, 0.023984f, 0.007421f, 0.025830f, -0.016343f, 0.004043f, -0.001110f, -0.006469f, 0.003426f, -0.025185f, -0.017636f, 0.023504f, -0.011819f, -0.005183f, -0.008040f, -0.026778f, 0.018882f, -0.006408f, -0.004461f, + -0.011935f, 0.011601f, 0.026958f, -0.021395f, -0.004474f, 0.018222f, -0.020186f, -0.008789f, 0.016188f, 0.022729f, -0.037761f, -0.010072f, -0.003359f, 0.016026f, -0.000701f, 0.018723f, -0.004688f, -0.013769f, 0.000780f, 0.009956f, 0.024166f, 0.012231f, -0.016467f, -0.000873f, 0.011821f, -0.024245f, -0.014967f, -0.004657f, -0.012543f, -0.012631f, -0.001620f, 0.011482f, -0.011009f, 0.002679f, 0.011845f, 0.003320f, 0.002012f, 0.008371f, -0.002208f, 0.005389f, 0.005073f, 0.005103f, 0.002801f, -0.000957f, -0.007430f, -0.002486f, -0.002164f, -0.006646f, -0.003138f, 0.001036f, 0.000725f, -0.000991f, 0.000910f, 0.007341f, -0.006177f, -0.001950f, -0.004620f, 0.003526f, 0.003317f, -0.001428f, -0.005136f, -0.011072f, 0.005465f, 0.004237f, 0.007084f, 0.001986f, 0.001639f, -0.000769f, -0.007006f, 0.002794f, -0.002885f, -0.003136f, -0.002119f, 0.001923f, -0.001355f, 0.019681f, 0.041719f, 0.008057f, -0.024685f, -0.008801f, 0.008177f, -0.054747f, 0.001709f, 0.000329f, -0.008591f, -0.002690f, 0.025265f, -0.041315f, 0.009063f, 0.019313f, -0.015219f, 0.017118f, 0.031903f, 0.007920f, -0.029534f, 0.007993f, + -0.007460f, -0.000529f, -0.028954f, -0.008728f, 0.026349f, -0.002954f, 0.024155f, -0.006356f, -0.008516f, 0.003971f, -0.020510f, -0.011496f, -0.014777f, -0.010914f, -0.008096f, 0.019757f, -0.021854f, 0.003564f, 0.038056f, 0.025744f, 0.008544f, -0.038713f, 0.006388f, 0.025437f, 0.010583f, 0.001536f, -0.013870f, -0.016794f, -0.041409f, -0.028541f, 0.005848f, -0.014109f, -0.014198f, -0.000785f, 0.017604f, 0.012544f, -0.012499f, 0.000575f, 0.025070f, -0.009645f, -0.004325f, 0.001177f, 0.032976f, 0.001293f, -0.001737f, 0.016845f, 0.005187f, -0.037574f, 0.010471f, 0.010934f, -0.000265f, -0.031108f, 0.013063f, 0.018287f, -0.013777f, -0.009724f, -0.025630f, 0.006844f, -0.009466f, 0.009714f, 0.004768f, -0.005972f, -0.010919f, 0.007096f, 0.003142f, 0.010934f, -0.005511f, 0.017028f, 0.005911f, -0.011605f, 0.001306f, -0.000557f, -0.016097f, 0.000348f, 0.001199f, -0.000007f, -0.000426f, -0.008386f, -0.007399f, -0.003349f, -0.000305f, 0.010696f, 0.003429f, 0.005616f, 0.008516f, -0.003890f, -0.005223f, 0.004141f, -0.008441f, -0.007417f, -0.000425f, -0.000367f, 0.002484f, -0.002421f, 0.001769f, 0.005287f, + 0.005460f, 0.000742f, -0.003429f, -0.000750f, -0.000562f, -0.000894f, -0.000066f, -0.001341f, 0.000533f, -0.000145f, 0.007115f, -0.004125f, -0.005350f, 0.013257f, 0.009315f, -0.001236f, 0.003520f, -0.005941f, 0.002535f, 0.000186f, -0.002506f, -0.012602f, 0.042830f, 0.002079f, -0.008985f, -0.000882f, 0.018773f, -0.009476f, 0.004971f, -0.004923f, 0.004221f, 0.016060f, -0.030077f, 0.031195f, 0.035374f, 0.009754f, 0.014815f, -0.012359f, 0.019946f, 0.046668f, 0.001260f, -0.005651f, -0.008908f, 0.019712f, -0.007338f, -0.011629f, -0.004214f, 0.006819f, -0.023629f, 0.010138f, -0.020840f, 0.023295f, 0.005115f, 0.023461f, -0.015125f, 0.021362f, 0.006206f, 0.028043f, 0.004459f, 0.005701f, -0.010358f, 0.017369f, 0.004192f, -0.005846f, 0.025204f, -0.010161f, -0.018336f, 0.035716f, 0.028471f, 0.010351f, 0.026901f, 0.039106f, 0.047480f, -0.015080f, -0.015165f, -0.017076f, 0.005755f, -0.022149f, 0.025636f, -0.003439f, -0.002566f, -0.036913f, 0.008317f, 0.041376f, 0.042181f, -0.001875f, -0.005752f, -0.029321f, 0.000261f, 0.027392f, -0.014300f, -0.017463f, 0.015435f, 0.002227f, -0.015256f, 0.005123f, + -0.002635f, -0.009423f, -0.002264f, -0.008112f, -0.000502f, 0.015808f, 0.011739f, -0.003480f, 0.002688f, -0.004090f, -0.016187f, -0.021080f, -0.004064f, 0.010187f, 0.004039f, 0.014507f, -0.003134f, -0.014076f, -0.003961f, 0.015054f, -0.007336f, 0.008480f, 0.013892f, -0.014342f, -0.003923f, -0.001577f, 0.003438f, -0.000963f, 0.009229f, 0.006678f, 0.003241f, -0.014288f, 0.003422f, 0.007523f, 0.002197f, 0.002980f, 0.004950f, -0.012695f, -0.005984f, -0.000179f, -0.000782f, -0.006822f, -0.016373f, -0.005449f, 0.001297f, 0.008231f, 0.001722f, -0.006836f, -0.007883f, 0.002918f, -0.056092f, -0.039087f, 0.021112f, 0.008410f, -0.029225f, 0.003409f, 0.013460f, -0.026638f, -0.016602f, -0.011295f, 0.032553f, 0.014759f, 0.010669f, -0.009897f, -0.007473f, -0.007802f, -0.019651f, -0.026410f, -0.046697f, 0.024856f, 0.021410f, -0.009668f, 0.053583f, 0.025872f, 0.051470f, 0.035364f, 0.003686f, -0.016031f, 0.013957f, 0.006594f, 0.023654f, 0.026999f, 0.029920f, -0.003921f, -0.004742f, 0.012882f, -0.012880f, -0.002773f, -0.011295f, -0.021736f, -0.035780f, -0.010255f, 0.037364f, -0.008837f, -0.014268f, -0.020585f, + 0.015153f, 0.022645f, 0.015348f, 0.001767f, 0.022228f, 0.042688f, -0.024801f, -0.011243f, -0.018974f, -0.013832f, -0.040352f, -0.009704f, 0.010829f, -0.018304f, -0.014038f, -0.046761f, -0.066480f, 0.007622f, -0.043624f, -0.069182f, -0.049738f, -0.020871f, 0.045486f, 0.015812f, 0.027968f, 0.020839f, -0.045768f, -0.019289f, 0.004540f, 0.023471f, -0.022462f, -0.027032f, -0.025825f, -0.007964f, 0.014329f, -0.015445f, -0.057149f, -0.036088f, -0.007745f, -0.011465f, -0.003591f, -0.008338f, 0.033154f, 0.029962f, 0.031398f, 0.031654f, 0.011039f, -0.000054f, 0.012402f, 0.003506f, -0.000397f, 0.009496f, -0.025403f, -0.009849f, 0.011896f, 0.015420f, -0.000089f, -0.008280f, -0.008782f, 0.004008f, -0.013532f, -0.020402f, 0.019549f, -0.015161f, -0.007132f, 0.001873f, -0.017255f, -0.016724f, -0.029887f, -0.011764f, -0.006515f, 0.002326f, 0.026180f, -0.006413f, -0.003106f, -0.007948f, 0.013696f, -0.006732f, 0.001397f, 0.012555f, 0.001709f, -0.008658f, 0.006425f, 0.012509f, -0.006889f, -0.001757f, 0.000338f, -0.004219f, 0.007648f, -0.106329f, -0.015787f, 0.035607f, -0.035498f, 0.016099f, -0.013186f, -0.057178f, + -0.017099f, 0.063493f, 0.079633f, -0.040624f, 0.002503f, -0.013272f, -0.063080f, -0.049957f, -0.047222f, -0.050388f, -0.026510f, -0.032519f, -0.001762f, 0.012115f, -0.007958f, 0.014244f, 0.013104f, -0.019966f, -0.004783f, -0.027812f, 0.013126f, -0.044427f, -0.040061f, 0.010959f, 0.008036f, -0.011295f, -0.014094f, 0.036842f, -0.009585f, 0.050730f, 0.011896f, 0.047108f, -0.030217f, 0.021148f, 0.013903f, 0.056829f, 0.030663f, 0.020655f, 0.006206f, 0.009557f, -0.005733f, 0.017495f, 0.023806f, -0.016890f, -0.024294f, 0.040121f, -0.004560f, -0.047802f, -0.093060f, -0.111791f, -0.080606f, 0.014623f, 0.000657f, -0.104026f, 0.034942f, 0.019006f, 0.027094f, -0.034752f, 0.005309f, 0.013469f, 0.005430f, 0.055040f, 0.055708f, 0.110967f, 0.037223f, -0.057495f, -0.074517f, -0.045143f, -0.040861f, -0.047000f, -0.042109f, -0.000406f, 0.024110f, 0.032624f, -0.019651f, 0.042606f, -0.034970f, -0.048621f, -0.038042f, -0.024609f, -0.018718f, -0.037760f, 0.024939f, -0.001621f, 0.023870f, 0.018947f, 0.003262f, 0.041864f, -0.020847f, -0.008278f, -0.040068f, 0.014729f, 0.022151f, -0.002341f, -0.003169f, 0.013329f, + -0.038492f, 0.002478f, -0.013424f, 0.008490f, -0.018346f, -0.025717f, 0.016626f, 0.000261f, -0.010733f, -0.003212f, 0.019453f, -0.013973f, 0.010232f, -0.012937f, 0.011591f, 0.010785f, -0.005165f, -0.012838f, 0.009072f, 0.010584f, -0.028392f, 0.012972f, -0.007015f, -0.007455f, -0.008540f, 0.007170f, -0.019135f, -0.008759f, 0.060236f, -0.016116f, -0.113824f, -0.032520f, 0.093697f, -0.012961f, 0.020889f, 0.013381f, 0.017482f, 0.032855f, 0.026854f, 0.009422f, -0.018594f, -0.006845f, 0.004625f, -0.020202f, -0.004751f, 0.034490f, -0.030854f, -0.018272f, -0.030936f, -0.007316f, 0.005265f, 0.004056f, 0.008127f, 0.016202f, -0.023556f, 0.021057f, 0.051240f, -0.000797f, -0.030018f, 0.002877f, -0.019672f, -0.006601f, 0.030348f, -0.031938f, 0.003541f, 0.010328f, 0.037117f, 0.054096f, -0.034384f, -0.019353f, 0.020767f, 0.003100f, 0.005772f, 0.006492f, -0.022867f, -0.057831f, -0.010519f, -0.026771f, 0.052698f, -0.100076f, -0.066141f, -0.026872f, -0.011109f, 0.029299f, 0.005891f, -0.035110f, -0.006166f, -0.040487f, -0.044295f, -0.015442f, -0.032099f, 0.006169f, 0.025930f, 0.121015f, 0.022110f, -0.017556f, + -0.077889f, -0.063430f, 0.018652f, -0.001559f, -0.073158f, 0.039742f, 0.038814f, -0.073700f, -0.001712f, 0.019710f, 0.021067f, 0.080367f, 0.034756f, 0.017147f, -0.079361f, -0.040275f, -0.054889f, 0.050080f, -0.005394f, -0.015783f, -0.009237f, 0.015967f, 0.051907f, 0.044917f, -0.023837f, -0.046369f, -0.068946f, 0.017130f, 0.040053f, -0.013775f, -0.007500f, 0.036216f, 0.019907f, 0.031642f, 0.007366f, 0.011628f, -0.026906f, -0.007332f, -0.013011f, 0.014009f, 0.013484f, -0.003140f, -0.006685f, -0.003372f, 0.018341f, 0.021819f, -0.031669f, 0.018585f, 0.013035f, 0.026267f, -0.017096f, -0.010842f, 0.015466f, 0.006300f, -0.023117f, -0.001736f, 0.025689f, 0.005617f, -0.020212f, -0.006627f, 0.002671f, -0.038723f, -0.133883f, 0.020337f, 0.022029f, -0.003406f, -0.001092f, -0.009337f, -0.037767f, 0.016305f, -0.007476f, 0.069893f, -0.069966f, -0.013458f, 0.073606f, -0.002310f, -0.047973f, -0.005002f, 0.043860f, 0.053071f, 0.033025f, -0.008335f, 0.038300f, -0.027155f, 0.026210f, -0.010435f, -0.008606f, -0.023368f, 0.041852f, 0.028772f, -0.025625f, -0.011278f, -0.002877f, 0.042390f, -0.002901f, 0.005374f, + -0.025593f, 0.028875f, 0.019119f, -0.029710f, 0.056636f, 0.003445f, -0.049052f, 0.045151f, -0.053376f, -0.027734f, 0.050493f, -0.104717f, -0.066357f, 0.058388f, -0.035508f, 0.043527f, -0.066004f, 0.015874f, 0.025559f, -0.035897f, 0.002394f, -0.001971f, -0.068152f, -0.015115f, 0.072389f, 0.076295f, -0.084755f, -0.027536f, 0.027163f, -0.067820f, 0.089765f, 0.089831f, 0.013732f, -0.126317f, -0.065791f, 0.136247f, -0.070478f, -0.013327f, 0.110761f, -0.063459f, -0.130367f, -0.028542f, 0.119687f, -0.024598f, -0.085592f, -0.020334f, -0.157095f, -0.006260f, 0.129144f, -0.045719f, -0.126774f, -0.012020f, -0.034843f, -0.016246f, 0.039116f, -0.003566f, -0.000429f, -0.045591f, -0.029396f, -0.013849f, 0.052309f, -0.064023f, 0.004293f, 0.011454f, -0.019270f, 0.003317f, 0.062067f, -0.037978f, -0.047912f, -0.005451f, 0.018291f, 0.039295f, -0.014097f, 0.020305f, 0.030272f, 0.004409f, -0.043135f, -0.022541f, 0.002135f, -0.034196f, -0.016010f, 0.068594f, -0.024336f, -0.064762f, -0.016518f, 0.039522f, 0.017036f, -0.003865f, 0.009686f, -0.058431f, -0.033196f, 0.046506f, 0.068356f, 0.009315f, -0.048686f, -0.023161f, + 0.003296f, 0.018981f, 0.034837f, 0.004674f, -0.019098f, -0.074060f, -0.069886f, -0.001558f, -0.088229f, -0.025833f, -0.037505f, -0.035145f, -0.026656f, 0.057729f, -0.006278f, -0.018034f, -0.024219f, 0.011587f, -0.030996f, -0.073268f, 0.057051f, 0.018354f, 0.049280f, 0.015854f, 0.050961f, -0.019845f, -0.031494f, 0.011743f, -0.053302f, 0.041858f, -0.048280f, -0.009750f, 0.031809f, -0.036158f, -0.007741f, -0.021763f, -0.058461f, 0.009301f, -0.044146f, -0.031348f, -0.038524f, -0.028026f, -0.017620f, -0.038675f, 0.006900f, 0.043986f, -0.029414f, -0.009931f, 0.005353f, 0.040595f, -0.018262f, 0.014744f, -0.041081f, 0.067261f, 0.020848f, 0.029175f, 0.018254f, 0.064552f, -0.003776f, -0.074588f, 0.016566f, 0.027903f, -0.020917f, 0.000365f, 0.039554f, -0.051679f, -0.051891f, -0.060067f, 0.052384f, 0.016167f, -0.074688f, 0.029732f, -0.049310f, -0.008980f, -0.069708f, 0.031487f, 0.049448f, 0.010909f, -0.077224f, 0.044006f, 0.035762f, -0.009180f, -0.067892f, 0.018987f, -0.040989f, -0.013336f, -0.003008f, -0.020033f, 0.033545f, -0.029641f, -0.055095f, 0.028017f, -0.012360f, 0.023809f, -0.000389f, -0.001359f, + -0.000453f, -0.014239f, -0.017237f, 0.012337f, 0.049013f, -0.005272f, -0.069511f, -0.018484f, 0.028748f, -0.033576f, -0.014760f, 0.034038f, -0.012712f, -0.004054f, -0.027916f, 0.055162f, 0.031791f, -0.015304f, 0.024284f, -0.003599f, 0.010797f, 0.044914f, -0.008218f, -0.037902f, 0.015938f, 0.025985f, -0.020188f, 0.032608f, -0.005393f, 0.020433f, 0.002012f, -0.013578f, 0.026297f, 0.039482f, -0.022416f, -0.039874f, 0.015654f, 0.025883f, -0.020372f, -0.003199f, 0.022932f, 0.008925f, -0.015958f, -0.015972f, 0.020309f, 0.065400f, 0.123130f, -0.030003f, 0.060919f, 0.011605f, -0.029440f, -0.055476f, -0.032428f, 0.071473f, -0.023797f, 0.013011f, 0.027600f, -0.007582f, 0.065921f, -0.010070f, 0.051685f, 0.053941f, -0.066866f, 0.033992f, -0.017681f, 0.001270f, 0.024211f, 0.019925f, -0.002490f, 0.010468f, 0.019570f, 0.066089f, 0.068127f, 0.052351f, -0.038782f, -0.013531f, -0.091018f, -0.003112f, 0.021274f, 0.040620f, 0.009285f, -0.075531f, 0.032761f, -0.045491f, 0.058154f, -0.053049f, -0.036981f, 0.003416f, -0.044213f, -0.007952f, -0.025578f, 0.089364f, -0.049180f, -0.024415f, -0.094189f, -0.031004f, + -0.049496f, 0.132427f, 0.080655f, -0.028400f, -0.089578f, -0.096358f, -0.057102f, 0.065666f, 0.086152f, 0.043304f, 0.012650f, -0.115551f, -0.053517f, 0.037423f, 0.032266f, 0.004587f, 0.041611f, -0.024313f, -0.075825f, 0.035449f, -0.128607f, 0.139430f, -0.013093f, -0.090836f, 0.210366f, 0.029744f, 0.073213f, 0.125655f, -0.208829f, -0.150900f, 0.041707f, -0.012837f, 0.031964f, 0.045299f, -0.130516f, -0.010107f, 0.026409f, 0.002187f, 0.109442f, 0.007322f, -0.057198f, -0.006423f, 0.058878f, -0.034564f, 0.025783f, 0.029773f, 0.001308f, -0.024363f, 0.028873f, -0.076461f, 0.058155f, -0.015277f, -0.024073f, 0.032310f, 0.008872f, 0.001890f, 0.034534f, -0.008563f, 0.020759f, -0.004652f, 0.013394f, -0.010364f, -0.039742f, 0.023798f, 0.017080f, 0.022484f, -0.000023f, 0.000251f, 0.015924f, 0.008312f, 0.006326f, 0.046064f, 0.051876f, 0.002553f, 0.034089f, -0.032224f, 0.005069f, -0.021293f, 0.039405f, 0.035316f, 0.005808f, -0.010698f, -0.023206f, -0.055517f, -0.024010f, 0.004386f, -0.054830f, 0.036883f, -0.077410f, 0.047707f, -0.031948f, 0.078371f, -0.035554f, -0.003752f, 0.044548f, 0.007855f, + 0.003757f, -0.020321f, -0.017687f, 0.001960f, -0.030231f, 0.033040f, -0.004038f, 0.035097f, -0.027755f, -0.027246f, 0.009066f, 0.001333f, -0.028148f, 0.017573f, -0.003721f, 0.015338f, -0.008784f, -0.007589f, 0.014489f, -0.014049f, -0.001352f, 0.010940f, -0.005914f, -0.006703f, 0.055466f, -0.003828f, -0.018872f, -0.009968f, 0.026213f, -0.002402f, -0.030567f, 0.016124f, 0.032346f, 0.006616f, 0.000535f, -0.019249f, 0.006598f, -0.015575f, 0.014683f, 0.039647f, -0.014318f, 0.018166f, -0.015195f, -0.004380f, -0.016625f, -0.007656f, 0.010164f, 0.012892f, -0.023424f, 0.014039f, 0.003847f, -0.002839f, -0.023434f, 0.004081f, 0.008105f, -0.017027f, 0.024551f, 0.020987f, -0.042116f, 0.010814f, -0.038691f, -0.043460f, 0.029653f, -0.015370f, 0.035878f, 0.019893f, 0.000747f, 0.018732f, -0.006149f, -0.022311f, -0.005747f, 0.001547f, 0.024863f, -0.011175f, 0.007346f, 0.010619f, -0.014904f, -0.002409f, 0.008358f, -0.004139f, -0.003220f, 0.014864f, -0.000598f, 0.005870f, -0.012481f, 0.005309f, -0.001690f, -0.012122f, 0.023049f, 0.002377f, 0.018717f, -0.009057f, 0.015273f, -0.007558f, 0.000604f, -0.012025f, + 0.010021f, -0.005644f, 0.022751f, -0.006870f, 0.021471f, -0.022239f, 0.004451f, 0.001908f, -0.005337f, 0.001221f, 0.002171f, 0.017969f, -0.001386f, -0.020119f, 0.012986f, -0.011112f, 0.001545f, 0.013006f, -0.013432f, 0.022371f, -0.045642f, 0.095849f, 0.017940f, 0.023413f, -0.012393f, 0.008604f, -0.002979f, 0.018015f, 0.005553f, 0.040749f, 0.002629f, -0.022382f, 0.013292f, -0.014666f, 0.006125f, 0.008206f, -0.018968f, 0.000820f, 0.004351f, -0.020478f, 0.018331f, 0.004576f, -0.008513f, 0.024721f, -0.009078f, 0.009664f, -0.007792f, 0.004462f, 0.004573f, 0.002100f, -0.003303f, -0.007538f, -0.003570f, 0.003309f, 0.000447f, -0.004326f, -0.012277f, 0.008863f, -0.008298f, 0.004334f, 0.007788f, -0.008461f, 0.001598f, -0.007915f, 0.002060f, -0.012452f, -0.020058f, 0.020373f, -0.011194f, -0.005503f, 0.008566f, 0.003833f, -0.003662f, 0.002158f, 0.017516f, -0.019657f, 0.008281f, -0.007522f, 0.015158f, -0.016552f, 0.009171f, 0.004405f, -0.003028f, 0.003397f, 0.000248f, 0.000035f, 0.007353f, -0.010540f, 0.005697f, 0.004942f, -0.002939f, -0.001205f, 0.013244f, -0.002251f, 0.004428f, -0.015715f, + 0.020808f, -0.016429f, -0.000373f, 0.010276f, -0.009571f, 0.006951f, 0.002218f, 0.002326f, -0.009999f, 0.007775f, 0.008179f, -0.005414f, 0.003168f, 0.003918f, -0.007155f, 0.002271f, 0.003349f, -0.001733f, 0.007173f, 0.000113f, -0.000274f, -0.000996f, 0.006430f, 0.004827f, -0.004257f, 0.005467f, -0.003030f, 0.002328f, 0.002774f, -0.000935f, 0.008030f, -0.003890f, -0.000040f, 0.004963f, -0.006526f, 0.000285f, -0.000749f, -0.004779f, 0.000549f, 0.004411f, -0.001468f, -0.004059f, 0.008007f, -0.005416f, 0.001132f, 0.018165f, -0.085325f, -0.211813f, 0.045752f, 0.176142f, 0.119061f, 0.248441f, -0.081261f, -0.069451f, -0.142942f, -0.228432f, -0.022590f, 0.071215f, 0.093846f, 0.122512f, 0.061743f, 0.006791f, -0.020044f, -0.052945f, -0.075560f, -0.011424f, -0.020200f, 0.007462f, 0.017317f, -0.000873f, 0.004332f, 0.009162f, 0.004025f, 0.029946f, 0.035494f, 0.022109f, -0.004104f, 0.004139f, -0.026320f, -0.055122f, -0.058814f, -0.028786f, -0.038589f, 0.031791f, 0.058486f, 0.062155f, 0.068155f, 0.037417f, -0.011070f, -0.026886f, -0.050164f, -0.052905f, -0.036837f, -0.020656f, -0.002426f, 0.013419f, + 0.025667f, 0.027654f, 0.023173f, 0.020058f, -0.003483f, 0.005430f, -0.005967f, 0.002707f, -0.004498f, -0.002681f, -0.001643f, -0.018717f, -0.019729f, -0.014194f, -0.029711f, 0.000101f, -0.005639f, 0.003800f, 0.050395f, 0.066527f, 0.022383f, 0.022591f, -0.018284f, -0.036457f, -0.025304f, -0.043912f, -0.035380f, 0.012526f, -0.003088f, -0.021246f, 0.016337f, 0.017637f, 0.020884f, 0.049827f, 0.020648f, 0.021906f, 0.005378f, -0.026699f, -0.026451f, -0.021521f, -0.023634f, -0.029768f, -0.025546f, -0.015096f, 0.004649f, 0.033318f, 0.050024f, 0.046986f, 0.018964f, 0.009573f, -0.012258f, -0.022599f, -0.020461f, -0.022394f, -0.026029f, -0.011777f, -0.010862f, -0.000779f, 0.008726f, 0.006848f, 0.020157f, 0.026923f, 0.019351f, 0.013339f, 0.004618f, -0.001572f, -0.012735f, -0.013008f, -0.020513f, -0.022919f, -0.018148f, -0.016031f, -0.004116f, 0.017345f, 0.025706f, 0.027855f, 0.024611f, 0.010175f, 0.004547f, -0.012228f, -0.019634f, -0.010323f, -0.014508f, -0.019578f, -0.014920f, 0.002872f, 0.013423f, 0.012751f, 0.007099f, 0.008180f, 0.007266f, 0.005720f, 0.001691f, -0.001207f, -0.002027f, -0.005043f, + -0.006661f, -0.006024f, -0.007180f, -0.008322f, -0.004492f, 0.003975f, 0.006968f, 0.009008f, 0.007508f, 0.005505f, 0.001877f, 0.000251f, -0.002197f, -0.003133f, -0.004060f, -0.004411f, -0.005010f, -0.002847f, -0.001115f, 0.001794f, 0.002917f, 0.002928f, 0.002497f, 0.002274f, 0.000469f, 0.000075f, -0.000544f, 0.000361f, 0.000342f, 0.001172f, -0.001653f, -0.002936f, -0.002564f, -0.001400f, -0.001317f, 0.000626f, 0.001798f, 0.002369f, 0.001399f, -0.000753f, -0.001000f, 0.001380f, 0.002198f, 0.001888f, -0.000591f, -0.002317f, -0.002728f, -0.000981f, -0.000071f, 0.000510f, -0.000317f, -0.000506f, -0.000662f, 0.000171f, 0.000655f, 0.001602f, 0.001247f, 0.001221f, 0.000850f, 0.000241f, -0.000803f, -0.001177f, -0.001590f, -0.001340f, -0.001388f, -0.000811f, 0.000289f, 0.001465f, 0.001407f, 0.001348f, 0.000809f, 0.000564f, 0.000339f, -0.000205f, -0.001098f, -0.001007f, -0.000821f, -0.000444f, -0.000162f, 0.000229f, 0.000008f, 0.000038f, 0.000144f, 0.000389f, 0.000446f, 0.000376f, 0.000074f, -0.000104f, -0.000205f, -0.000158f, -0.000098f, -0.000042f, -0.000048f}, + {-0.012004f, 0.001487f, 0.003775f, 0.003656f, 0.018818f, 0.005091f, 0.003952f, -0.005613f, 0.000693f, -0.009588f, 0.002214f, 0.008749f, -0.004481f, 0.000389f, -0.001882f, -0.004734f, -0.007604f, 0.005819f, -0.012700f, -0.006426f, -0.006388f, 0.006841f, 0.007500f, 0.003936f, 0.001773f, 0.005421f, 0.004473f, 0.008974f, -0.003157f, 0.003122f, 0.005573f, 0.001158f, 0.001817f, -0.006598f, -0.002858f, -0.002777f, -0.002500f, 0.006057f, -0.011683f, 0.001919f, -0.004066f, 0.012184f, 0.000264f, -0.002230f, -0.003092f, -0.005066f, -0.001705f, -0.005286f, -0.015400f, -0.004896f, -0.003038f, -0.002514f, -0.003476f, 0.001559f, -0.002909f, -0.000755f, -0.001018f, 0.005352f, 0.002380f, -0.000727f, 0.003411f, -0.003043f, 0.006572f, -0.004356f, -0.007184f, 0.006882f, 0.007220f, -0.003164f, -0.006901f, 0.000628f, 0.003737f, 0.002810f, 0.003244f, -0.003287f, 0.000012f, 0.002625f, 0.003557f, 0.001533f, -0.001014f, 0.000406f, 0.004427f, 0.008553f, 0.004129f, -0.001095f, -0.000133f, -0.002070f, -0.002182f, 0.001759f, -0.002864f, 0.001708f, 0.002090f, -0.000868f, -0.000310f, 0.000901f, 0.000794f, -0.000901f, + 0.000685f, 0.000453f, -0.003974f, 0.000587f, 0.000277f, 0.001185f, 0.000671f, -0.001548f, 0.001395f, 0.001087f, -0.000133f, 0.017010f, -0.003232f, -0.001674f, 0.001789f, 0.004664f, -0.012607f, 0.007784f, -0.014957f, -0.000714f, -0.007262f, -0.001103f, -0.004814f, -0.001167f, -0.001204f, 0.007455f, -0.006361f, 0.008078f, -0.008507f, -0.009287f, 0.003877f, 0.012369f, -0.014671f, -0.004103f, -0.007118f, 0.000063f, -0.003723f, 0.003915f, 0.005205f, 0.002614f, 0.005303f, -0.008540f, 0.000268f, 0.011893f, 0.004645f, 0.001481f, -0.008704f, -0.012412f, -0.007489f, 0.001860f, -0.006373f, -0.003612f, 0.002375f, 0.007998f, -0.007285f, -0.007172f, 0.002849f, -0.005254f, 0.009185f, 0.003054f, -0.000993f, 0.006470f, 0.006136f, -0.000045f, 0.010328f, 0.005094f, 0.003204f, 0.002711f, 0.006755f, 0.010669f, -0.007095f, 0.002010f, 0.002897f, -0.007565f, 0.000624f, 0.006078f, -0.002425f, 0.015425f, -0.004821f, -0.004140f, -0.003266f, 0.005664f, 0.007821f, -0.010065f, -0.004132f, 0.002693f, -0.001868f, 0.002425f, 0.000921f, -0.004432f, 0.001912f, 0.000901f, -0.003287f, -0.005353f, 0.002140f, 0.001452f, + 0.004825f, 0.000372f, 0.001453f, 0.002200f, -0.000270f, -0.001634f, 0.003521f, 0.000175f, -0.000068f, 0.003041f, -0.001725f, 0.001453f, 0.004053f, -0.000385f, -0.000944f, 0.000739f, -0.000670f, 0.001230f, -0.002574f, -0.000828f, -0.001230f, 0.000127f, -0.000441f, 0.001569f, 0.000111f, -0.001614f, 0.000010f, -0.021880f, -0.003523f, -0.004859f, -0.003880f, -0.001937f, -0.002657f, 0.011676f, 0.013953f, -0.003158f, 0.011389f, 0.004360f, -0.006261f, 0.002986f, -0.009500f, 0.001703f, 0.002037f, -0.012778f, -0.001873f, 0.002012f, 0.002259f, 0.008877f, -0.001683f, 0.007714f, -0.005133f, -0.009797f, -0.010347f, -0.002944f, -0.005225f, -0.007842f, 0.008161f, -0.003169f, -0.001554f, -0.001403f, 0.001720f, 0.004454f, -0.012540f, 0.000071f, 0.001772f, -0.005931f, 0.014987f, 0.001194f, -0.003673f, -0.003222f, 0.016001f, -0.001120f, 0.002049f, 0.009476f, 0.000299f, 0.005801f, 0.002268f, 0.000558f, 0.008838f, -0.000027f, -0.006153f, 0.007941f, 0.004265f, 0.005110f, 0.007194f, 0.002397f, -0.005809f, 0.004174f, 0.005906f, 0.005743f, 0.008852f, 0.000079f, -0.008164f, -0.006515f, 0.010378f, 0.014445f, + -0.013143f, 0.002670f, -0.003466f, -0.002293f, 0.003038f, 0.005533f, 0.005302f, -0.004182f, -0.001676f, -0.004040f, -0.006771f, -0.005907f, -0.002163f, -0.003745f, -0.005818f, 0.001358f, -0.001576f, 0.002243f, 0.001900f, -0.001784f, 0.001063f, 0.000386f, -0.004725f, 0.001629f, -0.003190f, -0.005728f, 0.000400f, -0.001669f, -0.002406f, -0.002557f, -0.000722f, 0.001071f, -0.000863f, 0.001689f, -0.001094f, -0.001914f, -0.002658f, -0.002437f, -0.001049f, 0.000472f, 0.001915f, -0.003706f, -0.016129f, 0.017185f, 0.015920f, 0.012002f, -0.008377f, 0.009382f, 0.016941f, -0.004264f, 0.013238f, 0.004982f, 0.001986f, -0.002064f, 0.014597f, 0.006900f, -0.003421f, -0.010472f, 0.006070f, -0.004340f, -0.005602f, 0.005914f, 0.006983f, 0.003064f, -0.010398f, 0.001687f, 0.009332f, -0.004554f, 0.003163f, -0.020448f, 0.002944f, -0.001645f, 0.009850f, 0.002410f, -0.004244f, -0.006165f, 0.012607f, -0.010853f, 0.000878f, -0.008765f, 0.001024f, -0.002684f, 0.007042f, -0.001467f, -0.002297f, -0.010740f, -0.002578f, -0.001893f, 0.013338f, 0.000667f, -0.012202f, -0.000449f, -0.000674f, 0.004174f, 0.006378f, -0.005426f, + 0.000024f, -0.006924f, 0.007394f, -0.001618f, 0.008937f, -0.004818f, 0.013305f, 0.006613f, -0.014684f, 0.015565f, -0.002243f, -0.010745f, 0.001831f, 0.014225f, 0.002889f, 0.002195f, -0.011500f, -0.000744f, -0.004455f, -0.006208f, -0.006024f, 0.000555f, 0.005423f, 0.007010f, 0.003806f, 0.003836f, -0.004488f, 0.003388f, -0.003890f, -0.000432f, -0.000208f, -0.001785f, -0.000747f, 0.004060f, -0.006393f, 0.001756f, -0.000624f, 0.000577f, 0.002149f, 0.001765f, -0.000172f, 0.002799f, 0.000305f, -0.004190f, -0.004557f, 0.002700f, 0.001234f, -0.000160f, -0.003009f, -0.000571f, 0.000727f, -0.000381f, -0.001315f, -0.002906f, 0.001851f, -0.000021f, -0.001828f, 0.002066f, -0.001217f, -0.000771f, -0.002343f, -0.001406f, -0.000884f, -0.002930f, 0.002085f, 0.001699f, 0.018711f, -0.006245f, -0.013294f, -0.000556f, -0.020011f, 0.000120f, -0.017174f, -0.005880f, 0.012055f, -0.012215f, -0.013488f, 0.004225f, 0.001280f, 0.001363f, -0.003047f, -0.004328f, -0.009721f, 0.006820f, -0.019164f, -0.005801f, 0.002109f, 0.012113f, 0.000856f, 0.012287f, 0.004471f, 0.026830f, 0.010377f, -0.000141f, 0.001328f, 0.012852f, + -0.002883f, -0.003665f, -0.002234f, 0.002248f, -0.008258f, -0.004039f, -0.014028f, -0.000851f, -0.006360f, -0.003765f, 0.017629f, 0.000426f, 0.011089f, -0.004237f, 0.004616f, -0.000960f, 0.006681f, -0.002039f, 0.006231f, -0.005859f, -0.007273f, -0.001053f, 0.002263f, -0.007359f, -0.007341f, 0.000807f, 0.004023f, 0.008265f, -0.001006f, -0.003651f, -0.001489f, 0.007850f, 0.013300f, 0.000869f, -0.008779f, -0.012651f, 0.000352f, 0.003661f, 0.001510f, 0.017611f, -0.010777f, -0.000448f, 0.007991f, -0.002744f, -0.008998f, 0.012456f, 0.005811f, 0.002333f, -0.005919f, -0.006427f, -0.010765f, -0.004139f, -0.000996f, -0.005526f, -0.002664f, -0.004766f, 0.001115f, 0.001421f, 0.002917f, 0.000501f, 0.000993f, -0.005951f, -0.002975f, -0.006390f, -0.002089f, -0.001737f, -0.004799f, -0.003015f, 0.001904f, -0.000426f, -0.001918f, -0.000411f, 0.001813f, -0.003940f, 0.002246f, -0.002797f, -0.000143f, -0.001073f, -0.002042f, -0.000627f, 0.000144f, 0.002008f, -0.002688f, -0.004131f, 0.003632f, 0.002219f, 0.001183f, 0.016624f, -0.012710f, -0.002567f, 0.001089f, -0.000965f, -0.000441f, -0.010464f, -0.008042f, -0.001110f, + 0.006995f, 0.002553f, 0.002830f, 0.002952f, 0.007351f, -0.001482f, 0.006727f, 0.005443f, -0.017223f, -0.006612f, -0.020219f, 0.005273f, -0.007097f, 0.010211f, -0.006526f, -0.008929f, -0.006521f, 0.005313f, -0.013461f, -0.011211f, 0.015728f, -0.008556f, 0.017050f, -0.004012f, 0.005158f, -0.005982f, -0.011416f, 0.012630f, -0.009676f, -0.010905f, -0.001052f, -0.005930f, -0.012778f, -0.009869f, -0.016123f, 0.000670f, 0.010433f, 0.005983f, -0.006240f, 0.017955f, 0.006626f, -0.006601f, -0.008300f, -0.012995f, 0.000610f, -0.004874f, -0.009045f, -0.004590f, -0.003811f, -0.006410f, 0.003465f, 0.014355f, -0.000824f, 0.000931f, -0.009685f, 0.004557f, 0.004911f, -0.008482f, -0.006674f, 0.003417f, 0.017512f, 0.006939f, -0.004285f, -0.002336f, -0.003621f, -0.018009f, -0.014108f, -0.011967f, 0.012547f, 0.013251f, -0.001879f, -0.006241f, 0.005861f, -0.003998f, 0.005153f, -0.002687f, 0.002470f, 0.000370f, 0.000319f, -0.005878f, 0.003963f, -0.003461f, -0.002391f, -0.000971f, 0.003555f, 0.002564f, -0.000285f, -0.004929f, 0.003157f, -0.000773f, 0.002337f, -0.001717f, -0.001016f, -0.004369f, -0.001809f, -0.000235f, + -0.000457f, 0.000752f, 0.000906f, -0.000633f, 0.000808f, -0.003654f, 0.001681f, 0.000259f, 0.000597f, -0.001386f, 0.004510f, 0.002717f, -0.000105f, -0.001854f, 0.000521f, -0.002823f, 0.005095f, 0.001041f, 0.023646f, -0.004697f, -0.000231f, -0.004096f, 0.015325f, 0.014525f, 0.004891f, -0.024696f, -0.004265f, -0.029954f, 0.017441f, 0.007270f, 0.000307f, 0.030574f, 0.014360f, -0.002873f, -0.013963f, 0.012506f, -0.006080f, 0.002980f, 0.004120f, 0.001836f, 0.009892f, -0.009115f, 0.017042f, 0.006396f, 0.001494f, -0.005373f, -0.008946f, 0.011528f, 0.009666f, -0.002050f, 0.006222f, -0.014815f, 0.002568f, -0.019730f, 0.007803f, 0.000957f, 0.009807f, -0.016225f, 0.003154f, -0.005395f, 0.003371f, 0.018153f, 0.015318f, 0.000592f, 0.004301f, -0.011508f, 0.014760f, 0.000288f, 0.031619f, 0.033485f, -0.004648f, -0.009101f, -0.009345f, -0.007409f, -0.019679f, -0.005580f, -0.025643f, 0.001415f, -0.002316f, -0.001541f, -0.005379f, 0.008820f, 0.014861f, 0.023462f, 0.021731f, 0.016764f, -0.027949f, -0.019918f, -0.001058f, 0.001279f, 0.028932f, -0.020620f, 0.015457f, -0.001204f, -0.006072f, -0.003113f, + -0.000904f, -0.005874f, -0.016321f, -0.010654f, -0.003230f, 0.004618f, 0.001323f, -0.000505f, -0.004591f, 0.002447f, -0.005910f, -0.000649f, -0.003232f, 0.006087f, 0.006702f, -0.001756f, -0.001505f, 0.006342f, 0.004709f, 0.000741f, -0.001149f, 0.002276f, 0.000217f, 0.000887f, -0.001455f, 0.002700f, -0.000416f, -0.001697f, -0.002795f, 0.000741f, 0.002557f, 0.004049f, 0.008686f, 0.006851f, -0.003573f, 0.000769f, -0.006524f, -0.001256f, 0.002619f, -0.000578f, -0.001460f, 0.000114f, 0.001081f, 0.001383f, -0.008773f, 0.016957f, 0.003526f, -0.012792f, -0.007132f, 0.031975f, 0.031454f, 0.035255f, -0.003619f, -0.001652f, -0.006168f, 0.005800f, 0.017189f, 0.019775f, 0.005655f, -0.008722f, -0.017178f, -0.034834f, 0.010156f, -0.020674f, -0.004624f, -0.002252f, -0.004561f, 0.002182f, -0.001154f, -0.006522f, -0.000881f, -0.020259f, -0.008078f, 0.001051f, -0.003831f, -0.022622f, -0.009585f, 0.001768f, 0.016218f, -0.004769f, 0.000367f, -0.018042f, -0.006136f, 0.000062f, 0.011746f, -0.007412f, 0.007185f, -0.020147f, -0.005663f, 0.004497f, 0.007492f, -0.005633f, 0.026756f, -0.005672f, -0.003494f, -0.014136f, + -0.004700f, 0.010655f, 0.003593f, -0.001383f, 0.013921f, 0.019243f, 0.022547f, -0.004146f, -0.011412f, -0.013004f, 0.000101f, 0.002522f, 0.005229f, -0.009277f, 0.007222f, 0.009475f, 0.008031f, 0.007748f, 0.022557f, 0.015109f, 0.010038f, -0.001379f, 0.005019f, -0.022699f, -0.004295f, 0.002207f, 0.011467f, 0.018081f, -0.003529f, -0.010473f, 0.003148f, 0.006112f, -0.005337f, 0.009180f, 0.007442f, 0.009937f, 0.001506f, 0.004246f, -0.000544f, -0.000980f, -0.007377f, 0.005545f, -0.002345f, 0.003580f, 0.003287f, 0.000880f, 0.005307f, 0.000290f, 0.008578f, 0.005911f, 0.003854f, 0.002250f, 0.002380f, -0.000167f, -0.001162f, 0.000510f, -0.003648f, -0.000448f, -0.004548f, -0.007443f, -0.002928f, 0.001305f, 0.001227f, 0.002954f, -0.001524f, 0.001874f, -0.003020f, 0.001160f, 0.003792f, -0.000365f, 0.000653f, -0.032862f, 0.040851f, -0.001168f, 0.005988f, 0.022335f, 0.000377f, -0.007856f, 0.001153f, -0.039889f, -0.024284f, -0.011418f, 0.006353f, -0.007869f, 0.004537f, -0.018660f, 0.012891f, -0.006527f, -0.000192f, 0.024591f, -0.024010f, -0.015973f, 0.023002f, -0.007228f, -0.033754f, 0.002381f, + -0.020821f, 0.004288f, -0.001751f, 0.012626f, 0.005418f, 0.006361f, 0.002546f, -0.004082f, 0.014969f, -0.001679f, 0.019239f, 0.011770f, -0.006878f, -0.011565f, -0.010866f, 0.005240f, -0.005356f, 0.005274f, 0.003697f, 0.011339f, 0.003279f, -0.021292f, 0.001225f, 0.007235f, -0.007393f, 0.000906f, -0.014718f, -0.003259f, 0.001260f, 0.000963f, 0.033677f, -0.005884f, 0.023918f, 0.028675f, -0.007926f, 0.015355f, -0.004761f, -0.000834f, -0.015992f, 0.010141f, 0.024341f, 0.017056f, 0.003743f, 0.006713f, 0.015068f, -0.000971f, 0.012479f, -0.005080f, -0.007048f, -0.012148f, 0.006586f, 0.031178f, 0.006917f, -0.004005f, 0.002419f, -0.021882f, -0.007466f, 0.000551f, 0.020566f, 0.015080f, 0.006443f, 0.013396f, -0.003896f, 0.013161f, -0.000204f, 0.008296f, 0.000974f, -0.000596f, -0.001649f, 0.009195f, -0.001047f, -0.005717f, -0.003621f, -0.002241f, -0.001474f, -0.002270f, -0.004681f, 0.006663f, -0.004356f, -0.005661f, -0.001736f, -0.007451f, -0.005244f, -0.006349f, -0.003758f, -0.004412f, -0.005829f, 0.002018f, 0.001265f, 0.002525f, 0.001970f, -0.003330f, -0.001853f, -0.005840f, -0.007809f, -0.000622f, + -0.004382f, 0.002602f, -0.002143f, 0.000742f, 0.003695f, 0.004046f, 0.002650f, 0.006891f, -0.001907f, -0.000512f, 0.005094f, 0.039224f, 0.005738f, 0.009809f, -0.009232f, -0.004659f, 0.026649f, -0.017528f, -0.004024f, -0.034532f, 0.032421f, 0.016961f, 0.002366f, -0.011702f, -0.032601f, 0.003348f, -0.008651f, 0.004045f, -0.036561f, 0.013101f, 0.019359f, -0.021214f, -0.005056f, 0.003234f, 0.002282f, 0.007131f, 0.021008f, 0.025871f, 0.000113f, 0.000003f, 0.004868f, 0.001046f, -0.015618f, -0.017835f, -0.011828f, -0.023522f, -0.011574f, 0.020164f, 0.009388f, -0.007448f, -0.009927f, -0.006518f, -0.041424f, 0.009080f, 0.009987f, -0.019332f, 0.031793f, 0.001216f, 0.023721f, -0.008454f, 0.015397f, -0.004992f, -0.020473f, 0.001933f, 0.018902f, -0.010325f, 0.010390f, 0.012205f, 0.033766f, 0.009434f, 0.010630f, 0.032433f, 0.018487f, 0.012342f, -0.044715f, 0.009360f, 0.006877f, 0.008779f, 0.000941f, -0.018157f, 0.032460f, -0.023989f, 0.018527f, 0.019492f, -0.029159f, -0.006272f, 0.039964f, -0.035466f, 0.006063f, -0.008226f, -0.003825f, -0.012702f, 0.015573f, -0.006549f, -0.013256f, -0.011222f, + 0.006975f, 0.015236f, -0.014087f, 0.017677f, -0.014540f, -0.006240f, 0.019982f, 0.007489f, -0.001633f, -0.008646f, -0.009333f, -0.000110f, -0.003697f, -0.015044f, -0.001737f, -0.003083f, -0.004247f, -0.001225f, 0.012004f, -0.000856f, -0.011058f, 0.001194f, 0.004689f, 0.011624f, 0.007169f, 0.009278f, -0.003651f, 0.004989f, -0.006601f, 0.000518f, -0.002244f, 0.004988f, 0.009530f, -0.006838f, 0.004384f, 0.004720f, -0.000513f, -0.005879f, 0.003271f, 0.002791f, -0.020452f, -0.030900f, -0.013571f, -0.012834f, -0.041514f, 0.028446f, 0.004542f, 0.030360f, 0.001834f, 0.004481f, -0.014297f, -0.007356f, 0.014842f, -0.000966f, 0.015344f, -0.014970f, -0.004715f, 0.002884f, -0.006728f, -0.012220f, 0.018278f, -0.018340f, 0.021753f, -0.007395f, 0.007160f, -0.004489f, -0.014568f, -0.013018f, 0.006437f, -0.004596f, -0.000040f, 0.011338f, 0.043426f, 0.003301f, -0.005416f, -0.014417f, 0.006353f, 0.035153f, -0.006299f, -0.005507f, -0.020215f, -0.006819f, 0.003063f, -0.019037f, -0.006892f, -0.027248f, 0.017820f, -0.033403f, -0.060656f, -0.006137f, 0.002109f, 0.029242f, -0.029855f, 0.028090f, 0.018308f, -0.014007f, + -0.028171f, -0.004274f, 0.004841f, 0.008554f, 0.001210f, 0.017873f, -0.011574f, -0.004128f, -0.059826f, -0.007746f, 0.062173f, 0.006346f, -0.010212f, -0.007946f, -0.031922f, 0.024459f, -0.010111f, -0.008838f, -0.007709f, -0.004330f, -0.013684f, -0.020388f, 0.006443f, 0.012244f, -0.000370f, 0.009420f, -0.017213f, -0.031625f, -0.000890f, -0.016501f, -0.004560f, 0.000935f, -0.016389f, 0.004231f, -0.011870f, -0.021074f, -0.015570f, -0.007356f, 0.007216f, 0.010187f, -0.001559f, -0.024987f, -0.006032f, 0.001987f, -0.012175f, -0.005179f, -0.000739f, -0.011237f, -0.006494f, 0.003502f, -0.000177f, -0.008746f, -0.003302f, 0.004591f, 0.001900f, -0.011749f, -0.004472f, 0.000670f, 0.011560f, 0.012824f, 0.003706f, -0.003347f, -0.004150f, -0.001056f, 0.008735f, -0.001389f, -0.000424f, 0.001078f, 0.003554f, -0.009766f, 0.009899f, -0.001659f, 0.006820f, 0.001127f, -0.006776f, 0.028725f, 0.025658f, -0.008323f, -0.010613f, -0.002644f, -0.041404f, 0.027140f, -0.026206f, -0.021646f, -0.016782f, 0.010141f, 0.004097f, 0.025143f, 0.003003f, -0.013937f, -0.016258f, -0.016861f, 0.012935f, -0.006574f, -0.009059f, 0.022950f, + 0.025706f, 0.008626f, -0.017436f, 0.021128f, 0.034230f, -0.013270f, -0.007582f, 0.029533f, 0.007568f, 0.005766f, -0.019430f, -0.000220f, 0.028171f, -0.041848f, 0.028620f, -0.006441f, 0.003829f, 0.016991f, 0.020696f, -0.000385f, 0.010314f, -0.019839f, -0.016073f, 0.010561f, 0.039415f, 0.010348f, 0.009581f, 0.014709f, -0.019957f, 0.003944f, 0.017478f, 0.009889f, -0.003320f, 0.013849f, 0.008732f, -0.023929f, 0.019197f, -0.023335f, 0.005159f, 0.016594f, -0.018359f, 0.013673f, -0.022395f, -0.009198f, 0.004072f, 0.000518f, 0.014275f, -0.009468f, 0.012243f, -0.009682f, 0.001707f, 0.004255f, -0.004189f, -0.009509f, -0.018104f, 0.048005f, 0.005147f, 0.014147f, -0.021090f, -0.049685f, 0.034794f, -0.033906f, -0.014563f, -0.000585f, -0.007768f, -0.005439f, -0.002941f, -0.014278f, 0.008621f, 0.006539f, 0.003713f, -0.013247f, 0.015823f, 0.011723f, -0.005313f, -0.005905f, 0.004661f, -0.004948f, 0.004391f, -0.004998f, 0.016800f, 0.005665f, 0.001571f, 0.011384f, 0.012578f, -0.007836f, 0.000080f, 0.005464f, 0.008750f, 0.003003f, 0.004197f, -0.008494f, -0.010345f, 0.007754f, 0.010865f, 0.015076f, + -0.002141f, -0.014888f, -0.001989f, 0.000734f, 0.007089f, -0.022601f, 0.008331f, -0.007954f, -0.003176f, 0.004488f, 0.005200f, -0.006070f, 0.007687f, -0.000011f, 0.006123f, -0.004179f, 0.014549f, 0.004332f, 0.006080f, -0.002716f, 0.008291f, -0.027357f, 0.028617f, -0.010759f, -0.028638f, -0.037071f, -0.010500f, -0.003910f, 0.021509f, -0.032646f, -0.005409f, -0.003969f, 0.016902f, 0.032132f, 0.026559f, 0.016499f, 0.002361f, -0.008419f, -0.005171f, -0.003461f, 0.022531f, 0.018522f, -0.004582f, 0.002816f, -0.005139f, 0.014485f, -0.035490f, 0.020928f, 0.011418f, 0.016355f, 0.005407f, 0.003670f, 0.030233f, -0.012122f, -0.026090f, 0.000015f, -0.008719f, 0.001647f, -0.036117f, -0.020008f, -0.002309f, 0.029903f, -0.020487f, -0.006534f, 0.004741f, -0.001333f, 0.000673f, 0.029391f, 0.011683f, -0.004697f, 0.002402f, 0.014321f, 0.009334f, 0.034265f, -0.010315f, 0.015589f, 0.017291f, 0.009237f, -0.005775f, 0.005512f, -0.037631f, 0.015885f, -0.007205f, 0.001586f, -0.008797f, -0.020712f, -0.027897f, 0.005518f, -0.013417f, -0.037717f, 0.008815f, -0.032064f, -0.023727f, -0.005641f, -0.048396f, -0.029305f, + 0.006990f, 0.020437f, -0.024286f, 0.005077f, 0.001689f, 0.055230f, 0.052269f, 0.049427f, -0.001738f, 0.002666f, -0.026303f, -0.015838f, 0.020432f, -0.011301f, -0.007587f, 0.003299f, -0.006888f, 0.011498f, -0.014516f, -0.007213f, -0.000793f, 0.004290f, -0.008839f, 0.010532f, 0.010428f, 0.000360f, -0.004863f, 0.002826f, 0.010175f, -0.008614f, -0.011505f, -0.002990f, 0.009114f, -0.012880f, 0.021275f, 0.012286f, -0.001310f, 0.009668f, -0.003771f, -0.009080f, -0.014556f, -0.007847f, -0.012952f, -0.006962f, 0.007049f, 0.001174f, 0.021440f, -0.005201f, -0.007311f, -0.003436f, -0.049101f, -0.054294f, 0.031894f, 0.028630f, 0.009438f, 0.031043f, 0.052168f, 0.014653f, -0.020243f, 0.016661f, -0.008215f, -0.015054f, 0.023719f, 0.001467f, -0.021721f, 0.012918f, 0.017003f, 0.003724f, 0.005819f, 0.001054f, 0.002412f, 0.047740f, -0.001285f, 0.010014f, 0.004224f, 0.029524f, 0.001506f, 0.047352f, -0.000473f, -0.021224f, 0.037841f, 0.007520f, -0.017090f, -0.006218f, 0.019922f, -0.004448f, -0.000598f, 0.015515f, -0.029200f, 0.028627f, -0.006347f, -0.042595f, -0.012093f, 0.003882f, -0.042550f, -0.005017f, + -0.004656f, 0.018333f, 0.017751f, 0.031556f, -0.022556f, 0.004585f, 0.004835f, 0.006349f, 0.013376f, -0.020543f, -0.023071f, 0.011707f, -0.000786f, 0.024059f, 0.019565f, 0.005843f, 0.050609f, -0.008746f, -0.008024f, -0.035014f, 0.051650f, 0.008896f, 0.035780f, 0.021764f, -0.058069f, 0.008031f, 0.005070f, 0.035207f, -0.019006f, 0.014856f, 0.000141f, -0.015662f, -0.002094f, -0.012709f, 0.028407f, -0.055027f, -0.006827f, -0.004197f, 0.000053f, 0.002210f, 0.008637f, 0.013134f, -0.000352f, 0.025013f, -0.001141f, -0.003889f, -0.008263f, -0.005523f, 0.001494f, -0.009063f, 0.002844f, -0.002671f, 0.007503f, 0.005081f, -0.002729f, 0.001841f, -0.003078f, -0.015547f, -0.000938f, 0.000490f, 0.003770f, -0.015874f, 0.008256f, -0.003485f, 0.008684f, 0.006655f, 0.012316f, -0.012913f, 0.014414f, -0.008147f, 0.004617f, 0.010179f, 0.009396f, -0.003518f, 0.000296f, -0.005975f, 0.008153f, -0.000762f, 0.003973f, -0.000468f, -0.001694f, 0.020808f, 0.011833f, 0.000025f, 0.009806f, 0.002655f, 0.010205f, 0.001976f, 0.032021f, -0.067412f, 0.040142f, 0.040830f, -0.017321f, 0.009751f, 0.005747f, 0.011089f, + 0.000363f, 0.032510f, -0.023581f, -0.005059f, -0.025301f, -0.000163f, -0.014262f, 0.002333f, 0.006908f, -0.036974f, 0.016740f, 0.040262f, -0.027589f, -0.026480f, -0.026989f, 0.053588f, -0.023308f, -0.013109f, 0.005072f, -0.018314f, -0.055401f, 0.009789f, 0.040379f, -0.055284f, -0.024968f, 0.019141f, 0.029775f, 0.008081f, -0.008313f, 0.012832f, -0.019525f, -0.009177f, -0.000923f, 0.027410f, -0.037535f, -0.029917f, 0.021353f, 0.034417f, 0.013656f, -0.042978f, -0.013806f, 0.001076f, -0.001882f, -0.007466f, 0.022560f, -0.006665f, 0.033997f, -0.027575f, -0.005897f, -0.000047f, -0.031452f, 0.020013f, -0.036631f, -0.025279f, 0.011855f, -0.016440f, 0.035859f, 0.051667f, 0.030622f, -0.034186f, 0.018243f, -0.010062f, -0.010105f, -0.024137f, -0.007368f, -0.039332f, 0.030211f, 0.022117f, 0.010847f, 0.001167f, -0.018446f, -0.010457f, 0.012311f, -0.041065f, 0.033289f, -0.007852f, -0.005480f, 0.017313f, 0.003258f, 0.015763f, -0.004300f, -0.002507f, -0.013840f, -0.004080f, 0.001522f, 0.002770f, -0.010808f, -0.003898f, -0.005047f, -0.003995f, 0.018818f, 0.001938f, -0.000094f, -0.008952f, 0.007779f, 0.007362f, + -0.006389f, 0.004045f, 0.008754f, 0.001852f, 0.014589f, -0.005199f, -0.009871f, 0.002010f, -0.016239f, 0.008444f, 0.006389f, 0.002050f, -0.000262f, 0.006479f, -0.001146f, 0.010631f, 0.003697f, 0.007539f, -0.012776f, -0.004035f, 0.012423f, 0.000568f, 0.005222f, 0.006108f, -0.011884f, 0.001649f, 0.012528f, 0.039293f, 0.065426f, -0.000361f, -0.049342f, 0.010585f, -0.058897f, 0.010216f, 0.026903f, 0.012707f, 0.003663f, 0.035585f, 0.026336f, -0.001475f, -0.005305f, -0.048666f, -0.026186f, 0.000837f, -0.022728f, 0.066190f, -0.011952f, -0.014866f, -0.028426f, 0.003674f, 0.024954f, 0.017507f, -0.000802f, 0.012894f, 0.019462f, -0.029189f, 0.010134f, 0.056815f, 0.020179f, -0.038786f, -0.027327f, 0.018535f, -0.019137f, -0.002503f, 0.013916f, -0.008496f, -0.032007f, -0.007540f, 0.004004f, 0.054151f, -0.011585f, 0.012134f, -0.014265f, -0.043514f, 0.007749f, 0.054939f, -0.014628f, -0.032714f, 0.009690f, -0.019978f, 0.013534f, -0.011353f, -0.013252f, 0.037809f, -0.009508f, -0.004147f, 0.018554f, -0.032304f, 0.011851f, 0.040012f, -0.016353f, 0.003586f, -0.023216f, 0.070244f, -0.012598f, 0.008521f, + 0.022905f, -0.016112f, -0.003734f, -0.018544f, 0.010000f, -0.020975f, -0.017665f, -0.016508f, 0.027031f, -0.036260f, 0.005541f, -0.005216f, -0.010669f, 0.028505f, 0.000844f, -0.009490f, -0.011814f, 0.001667f, 0.010855f, 0.008458f, -0.015995f, -0.002762f, 0.000968f, -0.004335f, -0.019834f, -0.011880f, -0.003401f, 0.004980f, 0.001877f, 0.001818f, 0.003081f, 0.016557f, -0.016233f, 0.017399f, 0.003683f, 0.005174f, 0.001452f, 0.013843f, -0.007424f, 0.022600f, -0.004608f, -0.000133f, 0.017487f, 0.022710f, -0.011435f, 0.014925f, -0.007005f, 0.005153f, -0.012688f, 0.011597f, 0.009927f, -0.019176f, -0.000584f, -0.007532f, -0.002258f, -0.009467f, 0.007437f, -0.011701f, 0.011185f, -0.002125f, -0.003843f, -0.019434f, -0.108522f, -0.038283f, -0.002365f, 0.034152f, -0.018538f, -0.054511f, -0.020795f, -0.008323f, 0.026097f, 0.006506f, -0.007637f, -0.027154f, 0.027851f, 0.049796f, -0.023198f, 0.037551f, 0.009102f, -0.072233f, 0.026385f, 0.033339f, -0.012254f, -0.029598f, -0.005895f, 0.043896f, 0.046833f, -0.004294f, -0.036253f, 0.002125f, -0.004514f, -0.005011f, -0.030286f, 0.007008f, 0.013200f, -0.047751f, + 0.032278f, 0.027428f, -0.033841f, 0.005826f, -0.037916f, 0.012913f, 0.091195f, -0.082225f, 0.084281f, 0.037965f, 0.003400f, 0.051454f, 0.025323f, -0.053346f, 0.031431f, -0.040197f, -0.009364f, 0.043195f, 0.001614f, 0.012135f, -0.022682f, -0.039147f, 0.117625f, -0.028071f, 0.001283f, 0.046182f, -0.022893f, 0.008750f, 0.003130f, 0.028413f, 0.066077f, 0.062870f, 0.059387f, 0.003411f, -0.001594f, -0.009935f, 0.002611f, -0.016473f, 0.004063f, 0.050443f, -0.013872f, -0.017912f, 0.004644f, 0.006719f, 0.029033f, 0.034024f, 0.009354f, 0.009329f, 0.023954f, 0.010069f, -0.019061f, 0.005788f, -0.010045f, -0.027861f, -0.012821f, 0.014209f, -0.021220f, -0.030214f, -0.023172f, -0.001323f, 0.002300f, -0.017435f, 0.008364f, 0.019148f, 0.002575f, -0.006550f, -0.001605f, -0.022137f, 0.025473f, -0.004071f, -0.006101f, 0.017695f, -0.015291f, 0.011954f, -0.011562f, -0.009135f, 0.030053f, -0.000348f, -0.023106f, 0.028684f, -0.018218f, 0.017206f, 0.007707f, -0.011568f, 0.008247f, -0.004204f, 0.020597f, -0.009862f, 0.006883f, 0.000835f, 0.001290f, -0.002434f, 0.021944f, -0.011707f, -0.003108f, -0.001808f, + 0.003508f, -0.003435f, 0.009291f, 0.017017f, 0.027637f, -0.007359f, -0.079804f, 0.036189f, -0.057985f, 0.081446f, 0.009587f, -0.070921f, 0.015956f, 0.000574f, 0.033249f, 0.015639f, -0.017181f, 0.060240f, 0.014697f, 0.002997f, 0.040248f, -0.032264f, -0.044787f, 0.001389f, 0.023426f, 0.081192f, -0.011445f, 0.000128f, -0.008520f, 0.058486f, 0.006375f, -0.046613f, -0.027499f, 0.008714f, -0.005148f, 0.025833f, -0.045204f, 0.021618f, 0.007387f, 0.013285f, -0.004030f, -0.017777f, 0.010304f, 0.018058f, 0.000202f, 0.054299f, -0.087725f, 0.007548f, -0.030927f, -0.019362f, -0.011299f, -0.064290f, -0.093206f, -0.096641f, -0.070130f, 0.007305f, 0.000383f, -0.056121f, -0.000425f, -0.010350f, 0.006066f, -0.034891f, -0.089790f, 0.088355f, -0.001553f, -0.013238f, 0.018069f, -0.087982f, -0.005996f, -0.022040f, 0.016520f, 0.025610f, 0.120617f, 0.089675f, -0.010035f, -0.001301f, -0.002801f, 0.023482f, 0.036502f, 0.021913f, 0.016679f, -0.003593f, -0.014515f, -0.085652f, 0.016185f, -0.001992f, -0.033269f, -0.015177f, 0.055859f, -0.008090f, -0.010130f, 0.026387f, -0.002206f, 0.028963f, -0.011316f, 0.014410f, + -0.001580f, -0.006380f, 0.020694f, 0.024936f, -0.011455f, 0.003256f, 0.011229f, -0.005012f, 0.005323f, 0.001001f, -0.000256f, 0.016910f, -0.007256f, -0.009074f, 0.014308f, -0.016975f, 0.022118f, -0.000451f, 0.011991f, 0.018045f, -0.009171f, 0.004217f, 0.016067f, -0.004192f, -0.010465f, -0.004246f, 0.001859f, -0.003271f, 0.004442f, -0.022081f, -0.001318f, -0.017573f, 0.018160f, 0.002313f, 0.012249f, 0.008248f, -0.002528f, 0.000144f, -0.001123f, 0.007860f, 0.011338f, 0.008836f, -0.001358f, -0.010966f, -0.001559f, -0.022988f, 0.109432f, -0.104860f, 0.017721f, -0.020362f, 0.003849f, 0.044079f, -0.032520f, 0.010868f, 0.001470f, -0.113433f, 0.002594f, -0.012902f, 0.005283f, 0.012893f, -0.050806f, -0.019058f, -0.083967f, -0.021782f, -0.004311f, 0.004384f, -0.031927f, -0.024024f, -0.036710f, -0.015404f, 0.035960f, 0.007692f, 0.072865f, 0.017702f, -0.024964f, -0.026134f, 0.044675f, -0.050169f, 0.085742f, -0.067394f, 0.019316f, -0.054414f, 0.000861f, 0.051524f, -0.094234f, 0.088323f, 0.015372f, 0.010022f, -0.064799f, -0.013116f, -0.012511f, -0.000213f, 0.030696f, 0.030690f, 0.038705f, -0.074730f, + -0.002161f, -0.029524f, -0.025668f, -0.028913f, -0.040453f, -0.028018f, 0.001116f, 0.042438f, -0.045871f, 0.012032f, -0.084214f, -0.028327f, 0.020922f, 0.024739f, 0.004234f, -0.095729f, -0.051972f, -0.034282f, -0.048952f, -0.040551f, 0.003068f, -0.032010f, 0.050481f, 0.014972f, 0.025133f, -0.017903f, -0.026656f, 0.084856f, -0.028885f, 0.022594f, -0.017450f, 0.006330f, 0.063615f, 0.008262f, 0.011207f, -0.036125f, 0.035995f, 0.020795f, -0.015376f, 0.033429f, -0.025691f, 0.008983f, -0.009763f, 0.022516f, 0.004211f, -0.007966f, 0.012024f, 0.028753f, -0.010330f, 0.008960f, 0.009965f, 0.008352f, -0.003847f, 0.007469f, -0.004557f, 0.019591f, -0.007027f, 0.002936f, 0.018480f, -0.004320f, -0.007788f, 0.005415f, 0.007744f, -0.013435f, -0.003325f, -0.036579f, 0.022200f, 0.015008f, -0.000330f, -0.020515f, -0.008682f, 0.001311f, 0.007075f, 0.027070f, -0.005025f, -0.008061f, 0.009083f, 0.006547f, -0.004686f, 0.027328f, 0.004717f, -0.034588f, 0.008303f, 0.033017f, -0.004396f, 0.047069f, -0.088952f, 0.135338f, -0.102066f, -0.010861f, -0.061624f, 0.012002f, 0.001223f, -0.037319f, -0.052723f, 0.061424f, + 0.041263f, 0.019196f, -0.026961f, 0.027019f, 0.008332f, 0.057978f, -0.046097f, -0.030551f, 0.036028f, 0.060270f, -0.077195f, 0.030964f, -0.002869f, 0.036467f, -0.027905f, 0.010525f, -0.034284f, 0.006822f, -0.064131f, 0.020781f, 0.068539f, -0.002524f, -0.005389f, 0.085075f, 0.014748f, -0.039587f, -0.083450f, 0.071020f, -0.037782f, 0.031887f, -0.030701f, 0.084939f, 0.037485f, -0.009641f, 0.008653f, -0.049595f, 0.006483f, 0.020931f, -0.023926f, 0.023514f, -0.103209f, 0.040168f, 0.093419f, 0.072828f, -0.040570f, -0.042295f, -0.042303f, 0.047030f, 0.003738f, -0.015303f, 0.003744f, 0.120472f, -0.059009f, -0.027812f, 0.046690f, -0.040531f, -0.109120f, 0.046017f, 0.024314f, -0.078240f, 0.043666f, 0.075177f, 0.066537f, -0.020659f, -0.029837f, -0.053470f, 0.028451f, -0.033120f, -0.021063f, 0.048117f, 0.032922f, 0.014662f, 0.042449f, 0.023669f, -0.016500f, -0.015636f, -0.054898f, 0.012491f, -0.023092f, 0.018693f, -0.020377f, 0.038812f, 0.026972f, 0.005661f, -0.007395f, 0.036883f, -0.020389f, -0.003204f, 0.004755f, 0.013960f, 0.008575f, 0.016861f, 0.015723f, 0.000958f, -0.009031f, -0.005673f, + 0.013193f, 0.006652f, 0.005275f, 0.001488f, 0.020798f, 0.067054f, -0.002085f, -0.005667f, 0.010023f, -0.023763f, 0.008252f, 0.023910f, -0.034788f, 0.014933f, 0.017913f, -0.013658f, -0.009794f, 0.015481f, 0.008860f, -0.020414f, -0.087355f, 0.046698f, -0.005087f, 0.012198f, -0.031996f, 0.027989f, 0.000620f, 0.015360f, 0.004683f, 0.005103f, -0.018176f, 0.013937f, 0.047328f, -0.060360f, 0.051931f, -0.008851f, -0.031846f, 0.010683f, -0.021653f, 0.014060f, -0.022184f, -0.018250f, 0.015384f, -0.048149f, -0.004916f, 0.064147f, -0.092587f, 0.026129f, 0.004441f, -0.015495f, -0.028443f, -0.033672f, -0.021876f, 0.067303f, -0.055402f, -0.007939f, 0.021778f, -0.056313f, 0.014314f, 0.030909f, 0.020698f, 0.010584f, 0.009766f, -0.031768f, 0.025038f, -0.082843f, 0.001188f, 0.072529f, -0.030301f, -0.008151f, -0.016246f, -0.020462f, -0.000550f, -0.058638f, 0.031109f, 0.023564f, -0.048453f, 0.045490f, 0.012704f, -0.055272f, 0.022770f, -0.010734f, 0.040129f, 0.034947f, -0.051370f, 0.017953f, 0.057147f, -0.053793f, 0.030144f, -0.038307f, 0.030210f, 0.034931f, -0.054571f, 0.030758f, -0.003893f, -0.028952f, + 0.041728f, 0.002188f, -0.065638f, 0.020185f, 0.029287f, 0.008815f, -0.018204f, 0.003177f, 0.049876f, -0.023041f, -0.046487f, 0.049550f, -0.002008f, 0.003745f, -0.002061f, -0.006265f, 0.030596f, -0.022776f, -0.010795f, 0.021550f, 0.008383f, -0.005340f, -0.022187f, 0.032872f, -0.012366f, -0.021608f, 0.001939f, 0.017272f, -0.010176f, -0.008040f, -0.004985f, 0.025657f, -0.019890f, -0.010440f, 0.002032f, 0.013898f, -0.012179f, 0.009946f, -0.000288f, 0.025424f, -0.015931f, 0.003966f, 0.002356f, 0.002431f, 0.022584f, 0.042331f, -0.018146f, -0.200754f, -0.439449f, -0.174350f, -0.292154f, -0.397812f, 0.150044f, 0.053210f, 0.129529f, 0.591163f, 0.492418f, 0.324493f, 0.507599f, 0.344816f, 0.040809f, 0.085462f, 0.061784f, -0.271376f, -0.175212f, -0.120858f, -0.310388f, -0.316814f, -0.088063f, -0.088990f, -0.197105f, -0.059206f, -0.042892f, -0.237326f, -0.204135f, -0.066779f, -0.112591f, -0.224195f, -0.055195f, -0.038203f, -0.175765f, -0.020993f, 0.121196f, -0.053571f, -0.043352f, 0.179185f, 0.109703f, -0.074134f, 0.158707f, 0.262176f, 0.028673f, 0.147165f, 0.321962f, 0.157086f, 0.080856f, 0.347345f, + 0.253800f, 0.188584f, 0.421923f, 0.571023f, 0.451561f, 0.524531f, 0.679936f, 0.443795f, 0.290278f, 0.380919f, 0.245207f, -0.069125f, -0.017477f, -0.169917f, -0.420215f, -0.593843f, -0.638789f, -0.854841f, -0.972349f, -1.032287f, -0.998641f, -0.959743f, -0.954220f, -0.797126f, -0.610280f, -0.572733f, -0.374029f, 0.029195f, 0.157704f, 0.204749f, 0.621712f, 0.610123f, 0.420615f, 0.619913f, 0.568121f, 0.307968f, 0.299266f, 0.395139f, 0.238773f, 0.112048f, 0.276193f, 0.281807f, 0.126256f, 0.227581f, 0.343869f, 0.227805f, 0.135343f, 0.292481f, 0.242140f, 0.048157f, 0.148094f, 0.214930f, 0.023466f, 0.040260f, 0.235332f, 0.143718f, 0.077084f, 0.249581f, 0.247388f, 0.089970f, 0.197006f, 0.170045f, -0.045004f, -0.124127f, -0.128665f, -0.295443f, -0.399886f, -0.394816f, -0.455679f, -0.502212f, -0.520811f, -0.509820f, -0.523007f, -0.581491f, -0.601585f, -0.575513f, -0.641987f, -0.549727f, -0.374703f, -0.286653f, -0.098090f, 0.165130f, 0.346344f, 0.507586f, 0.655448f, 0.666595f, 0.570826f, 0.518631f, 0.426143f, 0.322839f, 0.260449f, 0.219412f, 0.177545f, 0.139301f, 0.126527f, 0.117637f, + 0.087651f, 0.074576f, 0.066816f, 0.036630f, 0.001759f, -0.018027f, -0.049105f, -0.082996f, -0.104521f, -0.109999f, -0.120887f, -0.116783f, -0.095938f, -0.072418f, -0.053507f, -0.029930f, -0.015011f, -0.003327f, 0.010826f, 0.020482f, 0.020041f, 0.021091f, 0.013651f, 0.001534f, -0.004894f, -0.010768f, -0.022531f, -0.027531f, -0.030317f, -0.038503f, -0.039836f, -0.035311f, -0.042144f, -0.046870f, -0.041780f, -0.045381f, -0.052037f, -0.048520f, -0.057960f, -0.069327f, -0.065817f, -0.066081f, -0.070087f, -0.061295f, -0.052855f, -0.046691f, -0.033070f, -0.015934f, -0.006258f, 0.004827f, 0.020511f, 0.033794f, 0.045581f, 0.058572f, 0.068961f, 0.073316f, 0.078386f, 0.084033f, 0.086441f, 0.088297f, 0.090468f, 0.087365f, 0.080754f, 0.071791f, 0.060073f, 0.046473f, 0.029254f, 0.012017f, -0.004083f, -0.020560f, -0.031439f, -0.036136f, -0.037839f, -0.037081f, -0.032674f, -0.029042f, -0.027257f, -0.024233f, -0.021536f, -0.020404f, -0.018828f, -0.016763f, -0.015244f, -0.014030f, -0.012304f, -0.010521f, -0.009087f, -0.007645f, -0.006164f, -0.004997f, -0.004249f, -0.003704f, -0.003293f} + }, + { + {-0.007426f, 0.004516f, 0.007236f, -0.002557f, 0.006430f, -0.001050f, 0.006787f, 0.003412f, -0.001497f, -0.002664f, 0.006875f, 0.000577f, 0.001368f, -0.007824f, -0.001257f, -0.000567f, -0.000353f, 0.010687f, 0.005220f, -0.000394f, -0.008025f, -0.005837f, -0.003454f, 0.000975f, -0.000187f, 0.002312f, 0.004912f, 0.001493f, 0.001810f, -0.008099f, -0.001249f, -0.007883f, 0.000314f, -0.004361f, 0.005157f, 0.005148f, -0.002057f, -0.004255f, 0.005392f, 0.001152f, -0.002026f, -0.007288f, -0.000991f, -0.004675f, 0.001306f, 0.004452f, -0.007392f, -0.003610f, -0.001237f, -0.002894f, 0.018863f, 0.004492f, 0.010889f, 0.000791f, 0.003572f, -0.000084f, -0.005452f, -0.005059f, -0.006436f, 0.003039f, -0.005310f, 0.003818f, 0.000119f, 0.004662f, 0.004770f, 0.011582f, 0.003495f, -0.000962f, -0.000587f, -0.006881f, 0.011219f, 0.010321f, 0.001806f, 0.003182f, 0.002924f, 0.003194f, -0.000653f, -0.005760f, 0.001716f, 0.003331f, -0.002163f, 0.000964f, -0.001772f, -0.005263f, 0.002506f, -0.004390f, -0.002981f, -0.001367f, 0.000351f, -0.001964f, -0.002131f, -0.002501f, -0.000054f, -0.000137f, -0.000393f, 0.000507f, + -0.000878f, 0.001677f, -0.000932f, -0.001563f, -0.000151f, 0.002104f, 0.000792f, -0.000859f, -0.002823f, -0.000830f, 0.002615f, 0.000179f, 0.001181f, 0.001038f, 0.000735f, 0.026110f, -0.006126f, -0.005412f, -0.002076f, -0.005121f, 0.001237f, -0.012352f, 0.001007f, 0.002510f, 0.000670f, 0.008465f, 0.001004f, -0.001697f, -0.007403f, 0.004809f, -0.010452f, -0.009002f, 0.003305f, -0.004367f, -0.002071f, -0.001520f, 0.001788f, 0.007116f, 0.009716f, 0.000773f, -0.001463f, 0.011549f, 0.004186f, -0.000623f, 0.000457f, -0.004656f, 0.000183f, 0.012674f, 0.000043f, -0.005822f, -0.004709f, -0.001316f, 0.004322f, -0.005796f, -0.007166f, -0.007309f, -0.005983f, 0.005812f, -0.005626f, 0.002205f, -0.006844f, 0.002472f, 0.008368f, 0.000595f, 0.005957f, -0.002466f, -0.004661f, -0.002273f, 0.004144f, -0.000198f, 0.006393f, 0.009349f, 0.001399f, -0.002760f, -0.004773f, -0.000188f, -0.000675f, 0.000480f, 0.000332f, -0.008142f, -0.000830f, -0.003776f, -0.004134f, 0.004028f, 0.000878f, 0.002605f, 0.003054f, -0.009696f, -0.005401f, 0.004100f, -0.001789f, 0.007266f, 0.001346f, 0.006131f, -0.001205f, -0.001489f, + -0.001641f, -0.003472f, -0.000791f, -0.003829f, -0.001527f, 0.000173f, 0.005722f, -0.001309f, -0.000090f, -0.000921f, 0.001839f, 0.000014f, 0.002230f, 0.000503f, -0.000441f, -0.001368f, 0.001804f, -0.002724f, 0.000052f, 0.000214f, -0.001547f, 0.001378f, 0.001712f, -0.002287f, 0.000830f, -0.001092f, 0.001056f, 0.001059f, 0.000034f, 0.001749f, 0.000221f, -0.000795f, -0.018343f, -0.008927f, -0.003765f, -0.012463f, -0.004168f, -0.011954f, 0.003820f, -0.000839f, -0.007360f, -0.008523f, -0.001073f, -0.006921f, 0.000056f, 0.006176f, -0.000219f, -0.010649f, -0.003811f, 0.000391f, -0.004029f, -0.003296f, 0.003375f, 0.010482f, 0.013365f, -0.001887f, -0.003283f, 0.007611f, 0.008617f, -0.002385f, -0.001721f, -0.001441f, -0.005701f, 0.002036f, 0.002961f, -0.005109f, -0.003775f, -0.001012f, 0.005293f, 0.011448f, 0.000959f, -0.003548f, 0.000231f, -0.005425f, -0.001860f, -0.008761f, -0.004007f, -0.003759f, -0.013997f, -0.001281f, -0.006231f, -0.004250f, -0.015389f, 0.009924f, -0.006573f, -0.005796f, 0.003001f, -0.000740f, -0.000901f, 0.002277f, -0.012749f, -0.003138f, -0.004426f, -0.000795f, -0.007267f, -0.000790f, + -0.003305f, 0.003673f, 0.004728f, -0.003989f, -0.002031f, -0.005966f, 0.002422f, -0.000691f, -0.001044f, 0.000256f, -0.009382f, 0.000011f, -0.008458f, 0.001572f, -0.000365f, -0.002495f, 0.002786f, 0.010796f, 0.005255f, -0.002241f, 0.000798f, -0.001603f, -0.003880f, 0.000651f, 0.001860f, -0.001819f, -0.000070f, -0.002311f, 0.000295f, -0.000807f, -0.002955f, 0.001528f, 0.001454f, -0.003105f, -0.001342f, 0.001160f, -0.001181f, 0.000707f, -0.001960f, -0.001456f, -0.001550f, -0.002883f, -0.003166f, -0.000011f, 0.001093f, -0.001481f, -0.001821f, 0.000249f, -0.000740f, -0.000180f, -0.000878f, 0.000230f, -0.000399f, -0.000891f, -0.002573f, 0.001755f, -0.000759f, -0.001096f, -0.001132f, -0.002123f, -0.000144f, 0.000502f, -0.001737f, 0.000330f, 0.000360f, 0.000342f, -0.001370f, 0.000641f, -0.034542f, -0.002821f, -0.017081f, 0.015146f, -0.008947f, 0.027345f, -0.017668f, 0.017206f, -0.015674f, -0.001024f, -0.000344f, -0.012079f, 0.009216f, 0.000260f, -0.004585f, 0.002731f, -0.004030f, -0.001648f, -0.011803f, -0.000182f, -0.008937f, 0.006913f, 0.002318f, 0.008481f, -0.005138f, 0.012688f, 0.011350f, -0.011202f, + 0.003007f, -0.009531f, 0.009953f, 0.000039f, -0.007179f, 0.000539f, -0.001127f, -0.000413f, 0.007263f, 0.001040f, -0.011137f, 0.004496f, 0.007775f, -0.000563f, 0.009204f, -0.004384f, 0.007476f, -0.011438f, -0.005951f, 0.007450f, -0.006710f, 0.001865f, 0.009911f, -0.009185f, 0.014715f, 0.005860f, -0.014847f, 0.003552f, -0.014312f, 0.005074f, 0.007724f, 0.005320f, 0.007428f, 0.010917f, 0.003516f, -0.001351f, -0.001056f, 0.000720f, 0.003283f, 0.007853f, -0.002894f, 0.014842f, 0.002695f, 0.010174f, 0.005336f, 0.002963f, 0.000540f, 0.010215f, 0.001649f, 0.002548f, -0.006041f, -0.007942f, 0.003865f, 0.005528f, 0.000402f, 0.008798f, -0.001239f, -0.000041f, -0.001825f, 0.010448f, 0.002944f, -0.003687f, 0.002155f, 0.001817f, 0.001291f, 0.003593f, 0.000332f, 0.006529f, -0.001232f, 0.002283f, 0.001007f, 0.002533f, -0.001863f, 0.001294f, 0.000387f, 0.000207f, 0.000347f, -0.002144f, -0.002223f, 0.000890f, -0.002686f, -0.001017f, -0.002896f, 0.001772f, -0.000283f, -0.000791f, -0.001107f, 0.022863f, 0.000240f, -0.006077f, -0.001965f, -0.008368f, -0.010021f, 0.016730f, -0.003116f, -0.002300f, + 0.015354f, -0.001061f, -0.002838f, 0.006864f, 0.011970f, 0.003508f, 0.005998f, -0.000180f, -0.012844f, -0.003307f, 0.009837f, -0.014634f, -0.014514f, -0.005355f, 0.003306f, -0.010281f, -0.006152f, 0.000334f, -0.001357f, 0.010353f, -0.003842f, -0.002115f, 0.010883f, 0.015127f, -0.012898f, 0.003527f, -0.003000f, 0.005602f, 0.001594f, -0.005638f, -0.001159f, 0.006369f, 0.009661f, -0.002437f, -0.013403f, -0.002906f, -0.001096f, -0.003430f, -0.006643f, 0.001113f, -0.000765f, 0.002594f, -0.001769f, 0.002012f, 0.012704f, -0.009193f, 0.001296f, -0.006969f, -0.005673f, -0.009629f, -0.002860f, -0.005505f, -0.013417f, -0.000345f, 0.001007f, -0.005116f, -0.000956f, -0.005423f, 0.005287f, 0.006702f, -0.000956f, 0.002095f, -0.004788f, -0.001207f, 0.016374f, -0.002014f, -0.006690f, -0.021989f, -0.010011f, -0.000148f, -0.007498f, 0.005252f, -0.002084f, 0.002049f, 0.000034f, -0.004304f, -0.000783f, 0.006591f, -0.005391f, 0.001412f, -0.001484f, 0.000773f, 0.000062f, -0.004488f, -0.003386f, -0.001804f, -0.003534f, -0.000567f, -0.005624f, -0.001032f, -0.003175f, 0.000777f, -0.002207f, -0.000582f, -0.003023f, -0.003138f, + -0.003208f, -0.000678f, -0.000322f, 0.001314f, 0.000853f, -0.000289f, 0.000939f, 0.000909f, -0.000163f, 0.003320f, 0.002752f, 0.000116f, 0.001631f, -0.001146f, -0.001718f, 0.000551f, 0.029234f, 0.032885f, 0.006051f, -0.012306f, 0.007293f, 0.012817f, 0.012849f, 0.007149f, 0.009642f, 0.004189f, 0.015950f, -0.001884f, -0.002242f, -0.006848f, 0.009915f, -0.006200f, -0.014526f, -0.019895f, 0.002007f, -0.009661f, -0.008372f, 0.006726f, -0.002323f, -0.005457f, 0.016296f, -0.001412f, 0.020307f, -0.000004f, -0.008379f, -0.005777f, 0.006963f, 0.004574f, -0.004302f, -0.016494f, 0.023228f, 0.013362f, -0.000114f, 0.012518f, 0.007352f, 0.008069f, -0.007948f, 0.009139f, 0.004521f, 0.001677f, -0.003084f, -0.004391f, -0.010601f, -0.014806f, 0.003886f, 0.006879f, -0.011628f, 0.004380f, 0.009592f, 0.014481f, 0.003643f, 0.013066f, 0.005913f, 0.011107f, -0.016829f, 0.004752f, 0.001293f, 0.003158f, 0.000185f, -0.001307f, 0.006814f, 0.006234f, 0.005993f, 0.008883f, -0.003220f, 0.004232f, 0.002370f, 0.012856f, 0.015715f, -0.008221f, -0.009675f, 0.001274f, -0.004081f, -0.008626f, 0.003325f, 0.008678f, + -0.005681f, 0.003594f, -0.016177f, -0.011857f, 0.002472f, -0.008225f, -0.004034f, -0.002751f, -0.007477f, -0.000108f, -0.000328f, 0.000790f, -0.000404f, 0.003041f, 0.003526f, -0.000375f, 0.001668f, 0.000533f, 0.002612f, 0.002904f, -0.000191f, 0.000112f, -0.000424f, 0.003191f, 0.001440f, 0.001717f, 0.003849f, -0.000810f, -0.002315f, 0.002975f, -0.001117f, -0.000107f, 0.004452f, 0.002798f, 0.004201f, 0.005980f, 0.000711f, 0.002637f, 0.001399f, 0.003938f, 0.000833f, 0.001623f, 0.001967f, 0.027011f, 0.008492f, 0.011895f, -0.009976f, 0.003867f, -0.024585f, 0.001265f, -0.017782f, 0.013365f, 0.008955f, -0.007511f, 0.011221f, 0.006373f, -0.012068f, -0.003020f, 0.017270f, -0.000607f, 0.011868f, -0.003309f, 0.002326f, 0.013798f, -0.017279f, -0.001359f, 0.002742f, 0.005026f, 0.001075f, 0.005535f, 0.000648f, 0.016751f, -0.007855f, -0.004846f, -0.005148f, 0.012664f, 0.001532f, -0.005979f, 0.007622f, 0.021375f, -0.015020f, 0.002628f, 0.002796f, -0.001313f, 0.008551f, -0.004338f, 0.016257f, 0.005484f, 0.004050f, -0.013409f, -0.001416f, -0.003560f, 0.007490f, 0.005693f, 0.008096f, -0.009209f, + -0.006099f, 0.007783f, -0.016141f, -0.008992f, 0.003552f, 0.017261f, 0.010373f, 0.015266f, -0.016739f, -0.005271f, -0.017011f, -0.004382f, 0.005039f, -0.001442f, -0.016058f, 0.002097f, -0.009878f, -0.000137f, -0.017566f, -0.021168f, -0.008743f, -0.015278f, 0.000778f, 0.005408f, 0.002945f, -0.006531f, 0.008347f, 0.013577f, 0.003708f, 0.004013f, 0.007705f, -0.002446f, -0.013115f, -0.000785f, -0.009055f, 0.004693f, 0.001386f, -0.000868f, 0.002320f, 0.001226f, -0.009640f, -0.004864f, -0.002818f, 0.004794f, 0.000584f, -0.003333f, -0.001254f, -0.000279f, -0.001503f, 0.000802f, -0.002051f, -0.000873f, 0.000561f, 0.004370f, 0.000995f, 0.001429f, 0.000874f, -0.000834f, 0.001174f, 0.002926f, 0.001389f, 0.003803f, 0.001019f, 0.001978f, 0.000111f, 0.003017f, -0.004784f, 0.002983f, -0.031629f, -0.028495f, -0.020421f, 0.006583f, 0.006664f, 0.024158f, -0.010289f, 0.022956f, -0.009005f, -0.037175f, -0.003072f, -0.003222f, -0.014225f, -0.023963f, -0.008587f, -0.000274f, -0.014675f, 0.000126f, -0.022717f, 0.001933f, -0.023963f, 0.014120f, -0.005844f, 0.010354f, -0.004500f, -0.000182f, -0.007278f, -0.008495f, + 0.015205f, 0.003178f, -0.004111f, 0.017209f, 0.002144f, 0.002972f, 0.006069f, 0.015854f, 0.013956f, 0.010696f, 0.000503f, -0.018246f, -0.001692f, 0.009115f, 0.002928f, 0.011563f, -0.005199f, 0.005281f, -0.026909f, 0.008812f, 0.016597f, -0.020326f, 0.012325f, 0.004457f, 0.019588f, 0.015037f, 0.000175f, -0.004893f, -0.000271f, 0.013363f, 0.006683f, -0.017106f, -0.013896f, -0.023739f, -0.011403f, -0.015868f, -0.003457f, -0.019685f, -0.004053f, -0.006470f, 0.020452f, -0.009259f, 0.010198f, -0.005059f, -0.002785f, -0.006413f, -0.013837f, -0.007301f, -0.004328f, -0.004477f, 0.012938f, -0.038163f, -0.008002f, 0.018123f, 0.000993f, 0.003626f, 0.009770f, 0.018348f, -0.011233f, 0.002351f, 0.004989f, -0.000667f, -0.000011f, -0.002484f, 0.005134f, 0.007691f, -0.003125f, 0.000786f, -0.000575f, 0.008571f, -0.002956f, -0.000079f, 0.008614f, 0.001901f, 0.003135f, 0.004084f, 0.004128f, -0.001222f, 0.000867f, -0.002094f, -0.003129f, -0.001694f, -0.005666f, 0.001853f, 0.003975f, 0.002808f, 0.001688f, -0.007406f, 0.000188f, -0.000835f, -0.000197f, -0.003379f, 0.002265f, 0.003566f, -0.001672f, -0.000193f, + 0.004174f, 0.004440f, -0.004469f, -0.042560f, 0.031860f, -0.009558f, 0.018654f, 0.010654f, -0.001225f, -0.028316f, 0.021497f, 0.002518f, -0.002377f, 0.013386f, 0.009382f, -0.011983f, -0.000644f, 0.023151f, 0.007394f, -0.011168f, 0.016326f, -0.009680f, -0.007833f, -0.005569f, 0.004935f, -0.000395f, -0.003512f, 0.001763f, 0.006747f, 0.005915f, 0.006169f, -0.017927f, 0.010309f, -0.014987f, 0.019230f, -0.012771f, 0.019138f, 0.005764f, 0.001423f, -0.019753f, -0.019967f, -0.007021f, -0.006950f, 0.022234f, 0.005998f, 0.017667f, 0.007200f, -0.016847f, 0.000178f, -0.004277f, 0.007372f, -0.000130f, 0.006439f, -0.002617f, -0.011399f, -0.007002f, 0.011125f, 0.028286f, 0.020381f, 0.001740f, 0.006714f, -0.002704f, -0.004491f, 0.014201f, 0.011989f, -0.005934f, 0.017851f, 0.025177f, 0.035635f, 0.000137f, -0.021118f, -0.025553f, 0.008252f, 0.003876f, -0.001478f, 0.005620f, -0.000305f, -0.008633f, -0.001357f, 0.021145f, -0.004396f, -0.010181f, 0.038398f, 0.009148f, -0.006988f, 0.010758f, -0.000150f, -0.001065f, -0.001637f, -0.006816f, -0.001282f, 0.011146f, 0.005453f, -0.004451f, -0.006086f, 0.007617f, + 0.006307f, -0.001208f, 0.015371f, 0.003900f, 0.002583f, 0.001056f, 0.006691f, 0.002069f, 0.006247f, 0.003921f, 0.001941f, 0.000675f, 0.007975f, 0.003987f, 0.004081f, 0.000591f, 0.007918f, -0.001696f, 0.002885f, 0.004307f, 0.003078f, -0.001281f, 0.008895f, 0.009974f, 0.002927f, -0.002307f, 0.010710f, 0.000280f, -0.005412f, -0.001450f, 0.007751f, -0.000120f, -0.000955f, -0.002246f, -0.001728f, -0.000127f, 0.001838f, 0.004694f, 0.007187f, 0.002079f, 0.007603f, -0.002285f, 0.019542f, -0.028581f, 0.024062f, 0.009891f, -0.019502f, 0.045695f, 0.006894f, -0.023334f, 0.005437f, 0.012723f, 0.001256f, 0.009188f, 0.032838f, -0.031372f, 0.020522f, -0.012691f, 0.018214f, -0.006927f, 0.003939f, -0.029063f, 0.005008f, -0.003161f, 0.011754f, -0.011146f, 0.001705f, 0.002223f, 0.000389f, -0.017067f, 0.016459f, 0.001715f, -0.001680f, 0.007705f, -0.003169f, 0.007590f, -0.003959f, 0.023066f, 0.018316f, 0.022831f, 0.022836f, -0.003687f, 0.008055f, 0.009836f, 0.001127f, -0.011951f, 0.016195f, -0.019068f, 0.006012f, 0.018887f, -0.011108f, 0.010002f, -0.020980f, 0.006736f, -0.001703f, -0.005035f, + -0.001683f, 0.001609f, 0.006670f, 0.006272f, 0.022392f, -0.014601f, -0.000559f, 0.014713f, 0.031849f, -0.028106f, 0.007360f, -0.006914f, 0.009796f, -0.005178f, 0.046453f, -0.028504f, 0.010336f, -0.015890f, -0.008634f, 0.004124f, 0.005019f, 0.002551f, -0.040300f, -0.021351f, 0.033629f, 0.018322f, -0.003492f, -0.018095f, -0.020744f, -0.008304f, 0.007667f, -0.022520f, -0.012095f, 0.011079f, 0.006400f, -0.000461f, -0.000442f, -0.015761f, 0.003150f, -0.004586f, -0.005734f, 0.007214f, -0.003666f, -0.004861f, -0.001644f, -0.013788f, 0.004890f, -0.003571f, -0.004470f, -0.005014f, 0.006488f, -0.006650f, 0.007861f, -0.001196f, -0.001756f, 0.002624f, 0.002915f, 0.009902f, -0.009994f, -0.002170f, -0.007557f, -0.001652f, 0.005151f, 0.003759f, 0.013187f, -0.004251f, 0.007360f, 0.001613f, -0.004568f, -0.003111f, -0.001105f, 0.004916f, -0.000593f, 0.002521f, 0.021446f, -0.028081f, -0.005914f, 0.039846f, -0.011889f, -0.000742f, 0.021376f, 0.005060f, 0.013214f, -0.029643f, 0.028550f, 0.001908f, 0.002188f, -0.007487f, -0.017806f, -0.002409f, -0.002705f, -0.019085f, -0.011486f, 0.021269f, -0.006685f, 0.004124f, + -0.010356f, -0.046608f, 0.015859f, 0.002169f, -0.014350f, 0.008958f, 0.018135f, -0.001647f, 0.002061f, -0.003604f, 0.004609f, 0.012293f, 0.003963f, 0.019724f, 0.013542f, 0.003124f, 0.017270f, -0.013820f, -0.013589f, -0.019402f, 0.007410f, 0.011279f, 0.003334f, -0.030802f, 0.008810f, -0.026314f, 0.038246f, -0.009016f, 0.013634f, 0.032612f, -0.012776f, 0.020734f, 0.005230f, 0.022570f, 0.009138f, -0.010840f, -0.033377f, -0.023969f, -0.018646f, -0.002544f, -0.019576f, -0.003889f, -0.017106f, -0.011112f, 0.033694f, 0.007323f, -0.014281f, -0.012699f, 0.006844f, 0.012526f, -0.002865f, 0.004911f, -0.061098f, 0.024648f, 0.004223f, -0.019588f, -0.024058f, -0.006260f, -0.040336f, 0.004391f, 0.020131f, 0.002249f, -0.017303f, 0.010753f, 0.009090f, -0.014234f, 0.007191f, 0.004275f, -0.003509f, 0.000503f, -0.009086f, 0.002431f, 0.003222f, 0.002393f, -0.011858f, -0.006491f, 0.004938f, -0.007434f, 0.001765f, -0.004481f, -0.002834f, 0.002893f, 0.010078f, -0.012702f, 0.004478f, 0.009913f, -0.011807f, -0.011140f, 0.001513f, -0.010224f, 0.002397f, -0.006785f, 0.007107f, 0.003840f, -0.011831f, 0.006666f, + -0.007760f, -0.005040f, 0.008225f, 0.001907f, 0.018465f, 0.005715f, 0.000000f, -0.001151f, 0.001472f, -0.004829f, 0.002070f, 0.013675f, -0.037469f, -0.046020f, 0.028291f, -0.022451f, -0.026167f, -0.007271f, 0.017880f, 0.036470f, -0.023494f, 0.002225f, 0.017545f, -0.004901f, -0.007180f, 0.009590f, 0.006379f, 0.027476f, 0.009430f, -0.025891f, -0.000665f, -0.013004f, -0.000570f, -0.015282f, -0.020160f, 0.003416f, 0.020841f, -0.001246f, 0.009484f, -0.016752f, 0.005328f, 0.020532f, 0.016057f, 0.002632f, 0.001943f, 0.012922f, 0.012366f, 0.007911f, 0.018894f, -0.023228f, 0.026072f, 0.018755f, 0.006676f, -0.019162f, 0.001768f, 0.015192f, -0.015000f, 0.017609f, -0.011840f, 0.019912f, -0.004908f, 0.025924f, -0.040039f, 0.043092f, 0.010388f, 0.040648f, 0.002945f, -0.008334f, -0.002488f, 0.014820f, 0.001294f, -0.033534f, 0.001655f, -0.002182f, -0.034686f, 0.011276f, 0.025213f, -0.033023f, 0.028019f, -0.029049f, 0.009443f, 0.011491f, 0.006396f, -0.036407f, -0.017347f, -0.017776f, 0.003850f, 0.002916f, -0.021064f, -0.031157f, 0.006442f, -0.027383f, 0.019121f, -0.013126f, -0.006914f, 0.009661f, + -0.016896f, -0.013087f, -0.017344f, -0.007081f, -0.009537f, 0.000729f, -0.013813f, -0.010340f, -0.012578f, -0.018865f, -0.008986f, -0.003800f, -0.004021f, -0.004638f, -0.005275f, -0.003518f, -0.008796f, -0.009754f, 0.006862f, -0.011711f, -0.006198f, -0.002869f, 0.009468f, -0.004302f, 0.000574f, -0.015010f, -0.010683f, -0.004775f, -0.000012f, -0.003272f, -0.012711f, -0.001617f, -0.000841f, 0.010735f, 0.007067f, -0.008365f, -0.007747f, 0.001911f, -0.004010f, 0.007971f, -0.004085f, 0.004361f, -0.007758f, -0.021850f, 0.032094f, 0.006151f, 0.020989f, 0.020315f, 0.005428f, -0.016416f, 0.003142f, 0.054426f, -0.038106f, 0.008653f, -0.007018f, -0.021026f, 0.000846f, 0.006934f, 0.008476f, -0.000697f, -0.000237f, -0.011246f, -0.016210f, -0.025102f, -0.012827f, 0.018182f, -0.015985f, -0.025226f, 0.013893f, -0.009333f, 0.005115f, -0.003736f, 0.010726f, -0.011009f, 0.022995f, -0.008883f, 0.002190f, -0.000997f, 0.002136f, 0.021032f, 0.006990f, -0.010458f, 0.011144f, -0.009614f, 0.017303f, -0.011080f, 0.006915f, -0.025702f, -0.018739f, -0.013997f, 0.004103f, -0.013093f, -0.022295f, 0.008767f, 0.016013f, 0.004284f, + -0.011988f, 0.007031f, 0.011235f, 0.012586f, 0.034975f, 0.048140f, 0.065827f, -0.007205f, 0.010271f, 0.015498f, 0.009083f, 0.008466f, 0.010369f, -0.013963f, 0.025978f, -0.004136f, 0.033997f, 0.041826f, 0.030760f, 0.012152f, 0.017216f, 0.005432f, 0.058880f, 0.016605f, -0.011046f, -0.009756f, -0.008621f, -0.003766f, -0.004017f, 0.002777f, -0.004926f, -0.011398f, 0.009685f, -0.017837f, 0.005006f, -0.004286f, 0.005299f, -0.009017f, -0.007138f, -0.005756f, 0.013226f, -0.013340f, -0.012726f, -0.001211f, 0.005361f, -0.006853f, -0.016277f, -0.005631f, 0.000776f, -0.007930f, 0.008460f, 0.016074f, -0.009447f, -0.001292f, 0.003340f, -0.001861f, 0.005367f, 0.009261f, -0.004532f, -0.011464f, -0.001960f, 0.005286f, -0.005581f, 0.014611f, 0.017546f, 0.010605f, -0.005104f, -0.012064f, -0.001602f, 0.017109f, 0.001950f, -0.000603f, 0.007698f, 0.002310f, -0.000154f, -0.003000f, 0.004318f, 0.004285f, -0.011651f, -0.008625f, -0.000449f, 0.066041f, 0.052878f, -0.023009f, -0.010566f, -0.027455f, 0.015865f, 0.007737f, 0.032359f, -0.005677f, -0.013978f, -0.006324f, -0.020926f, 0.004731f, 0.000832f, 0.030500f, + -0.011390f, 0.011372f, -0.041017f, 0.022615f, -0.003186f, 0.015914f, -0.000164f, 0.014418f, 0.002500f, -0.023373f, -0.012017f, -0.020055f, -0.015176f, 0.016870f, 0.040748f, 0.017714f, -0.004789f, -0.012639f, -0.000497f, -0.003443f, 0.010209f, 0.013729f, -0.025966f, -0.000541f, -0.009010f, -0.008738f, -0.028195f, -0.021857f, -0.045731f, 0.000809f, -0.002227f, 0.016471f, -0.013653f, 0.029321f, -0.022224f, -0.009862f, 0.058853f, 0.058156f, -0.040161f, 0.008945f, 0.033843f, -0.019635f, -0.009253f, 0.017310f, -0.006389f, -0.024654f, 0.065469f, -0.016329f, -0.099197f, 0.032984f, -0.001167f, -0.051251f, 0.039281f, 0.041751f, -0.014713f, 0.029211f, 0.037333f, -0.017653f, 0.001435f, 0.023533f, -0.025445f, 0.010638f, 0.020645f, -0.036684f, -0.004903f, -0.012146f, 0.002133f, -0.013474f, 0.000347f, 0.005060f, -0.015334f, 0.012406f, -0.017799f, -0.008341f, 0.008894f, 0.017619f, -0.010046f, 0.000936f, 0.003716f, -0.002737f, 0.006183f, -0.013004f, 0.019194f, -0.009745f, 0.020266f, 0.019387f, -0.000291f, 0.000932f, 0.013387f, -0.009736f, 0.003050f, -0.000593f, 0.016735f, -0.012462f, 0.010226f, 0.002984f, + -0.038541f, 0.007422f, -0.004625f, -0.007351f, 0.002314f, -0.001160f, 0.004368f, -0.021940f, 0.003215f, -0.005763f, -0.019080f, 0.003250f, 0.033385f, -0.031230f, 0.010502f, 0.018130f, -0.026356f, -0.000178f, 0.014991f, -0.023973f, -0.011532f, 0.005336f, 0.012281f, 0.022639f, 0.011354f, -0.017068f, -0.002626f, 0.016923f, -0.017993f, 0.019354f, -0.008650f, -0.023211f, 0.022120f, 0.011752f, 0.011320f, -0.005325f, -0.005403f, -0.007811f, -0.000574f, 0.018718f, -0.036771f, 0.019207f, -0.000204f, 0.031803f, -0.019094f, 0.000699f, -0.023883f, 0.011282f, -0.039231f, 0.005031f, 0.002342f, -0.015201f, -0.011429f, 0.007014f, -0.026233f, -0.045672f, 0.028619f, -0.001974f, 0.009000f, -0.026762f, 0.017353f, -0.003815f, 0.018605f, 0.019952f, 0.010160f, -0.018697f, 0.016531f, -0.008649f, -0.003671f, -0.035171f, 0.005716f, -0.024857f, -0.027372f, -0.040153f, -0.016173f, 0.007139f, 0.011863f, -0.041467f, -0.020240f, 0.002878f, -0.014512f, -0.055898f, -0.044261f, -0.045460f, -0.009003f, -0.026935f, 0.024953f, 0.034984f, 0.009969f, -0.033454f, -0.038961f, -0.045458f, -0.003776f, -0.002810f, 0.025661f, -0.021635f, + -0.037880f, -0.018283f, -0.025058f, 0.009296f, 0.000987f, 0.009686f, 0.005095f, -0.012090f, 0.003232f, 0.009956f, -0.009436f, -0.003621f, -0.007922f, -0.004735f, -0.005594f, -0.011735f, -0.000090f, 0.015759f, 0.000997f, 0.004987f, 0.004915f, -0.002101f, 0.011902f, -0.006893f, 0.018141f, 0.016387f, -0.005795f, -0.013706f, -0.000246f, -0.004937f, -0.007500f, -0.008426f, -0.007493f, 0.013277f, 0.001012f, 0.012537f, -0.012076f, -0.013064f, -0.002044f, 0.007149f, -0.021329f, 0.004274f, 0.002616f, -0.015405f, 0.003913f, -0.012586f, -0.028020f, 0.018064f, -0.006379f, 0.002714f, -0.004318f, 0.003520f, -0.014148f, -0.003253f, -0.001048f, -0.029713f, 0.049285f, 0.054843f, -0.014040f, 0.036739f, -0.011297f, -0.015384f, -0.015219f, 0.035738f, -0.032407f, -0.008004f, -0.015734f, 0.057092f, 0.001608f, 0.020432f, 0.007038f, -0.006125f, 0.028297f, 0.015436f, 0.023084f, 0.006736f, -0.004178f, -0.010825f, 0.022093f, -0.004474f, -0.022624f, 0.026931f, -0.001214f, 0.023490f, -0.027513f, 0.018150f, 0.006270f, -0.028262f, -0.021672f, 0.049517f, 0.032218f, -0.003825f, 0.017617f, 0.014313f, -0.032343f, -0.021703f, + 0.010190f, 0.007290f, 0.021972f, 0.002031f, 0.004544f, 0.007966f, 0.026916f, 0.010462f, 0.006658f, -0.027945f, 0.074823f, 0.049680f, 0.005478f, -0.034593f, 0.016507f, -0.012172f, 0.009065f, -0.008543f, 0.015815f, -0.011878f, 0.002267f, 0.040646f, -0.028992f, -0.014695f, -0.038866f, 0.009948f, -0.010753f, -0.007633f, 0.035069f, 0.010256f, 0.004254f, 0.002175f, -0.014785f, -0.029681f, 0.020619f, -0.000933f, 0.000200f, 0.021477f, 0.022007f, -0.002696f, -0.016548f, -0.019896f, 0.036318f, -0.004757f, -0.002336f, -0.008067f, 0.027267f, -0.003190f, -0.019392f, 0.011596f, 0.010013f, 0.016203f, 0.007648f, 0.005064f, 0.025207f, -0.006214f, -0.009455f, 0.007824f, -0.000814f, -0.000013f, 0.002057f, 0.010603f, -0.006727f, -0.001128f, -0.008524f, 0.001674f, 0.012057f, -0.006775f, 0.002741f, 0.014219f, -0.005562f, 0.002162f, 0.010997f, -0.000364f, -0.003165f, -0.024806f, 0.015242f, -0.014406f, 0.009954f, -0.016993f, -0.003579f, 0.005179f, -0.010080f, -0.005183f, 0.022423f, 0.015138f, 0.001840f, -0.004752f, 0.020970f, 0.002916f, 0.009982f, 0.008042f, 0.004672f, -0.005103f, 0.009007f, 0.003457f, + 0.008919f, -0.018425f, -0.039551f, 0.101616f, -0.114687f, -0.013517f, -0.060517f, 0.073628f, 0.019595f, 0.012768f, -0.029058f, 0.006661f, -0.023776f, 0.065953f, -0.011996f, -0.004495f, 0.006488f, -0.003519f, -0.026193f, 0.009669f, 0.014745f, 0.019803f, -0.044999f, -0.023680f, -0.023326f, 0.008966f, -0.013843f, -0.012232f, -0.001750f, -0.000607f, 0.029012f, -0.015318f, 0.001134f, 0.021981f, -0.003085f, -0.029654f, 0.003382f, 0.023157f, -0.003123f, -0.046633f, 0.034403f, 0.004025f, 0.000298f, -0.000216f, -0.019962f, 0.015189f, -0.086352f, -0.060177f, -0.008734f, -0.021627f, 0.003550f, 0.006462f, -0.040640f, 0.063219f, -0.025450f, 0.087138f, -0.012682f, -0.030644f, 0.029509f, 0.004905f, 0.026295f, 0.040315f, 0.012440f, -0.041576f, -0.011877f, 0.046572f, 0.107885f, 0.003534f, -0.028059f, 0.045066f, 0.003529f, 0.053168f, 0.008234f, 0.072000f, -0.018972f, -0.002924f, -0.002322f, 0.016796f, 0.002107f, 0.027656f, 0.050250f, 0.002984f, -0.011091f, -0.009049f, 0.015744f, -0.013759f, -0.006298f, 0.033041f, 0.023765f, 0.003627f, -0.006566f, -0.012467f, -0.014391f, -0.008564f, -0.011781f, 0.023830f, + -0.015142f, -0.010262f, 0.011397f, 0.004251f, -0.004935f, 0.010679f, 0.011735f, -0.006745f, 0.010005f, 0.016937f, -0.009175f, 0.001127f, -0.024401f, 0.030304f, -0.000568f, 0.024375f, 0.001196f, -0.025396f, -0.000266f, 0.002646f, 0.006246f, 0.002730f, -0.000443f, -0.021816f, -0.020663f, -0.001209f, -0.012211f, 0.016117f, 0.005448f, -0.007447f, -0.001202f, 0.012685f, 0.002135f, -0.007305f, 0.000257f, 0.009199f, -0.000365f, -0.004412f, -0.001399f, 0.004995f, 0.149667f, 0.046811f, 0.017024f, -0.004173f, -0.015495f, -0.020895f, 0.049215f, 0.045171f, -0.050932f, 0.031050f, 0.023700f, 0.005769f, -0.015015f, -0.026851f, -0.069653f, -0.025847f, 0.022965f, 0.007751f, -0.022048f, 0.042825f, -0.013243f, 0.017599f, 0.017490f, -0.009802f, -0.009405f, 0.044670f, 0.001682f, -0.016401f, 0.028138f, -0.023659f, 0.054797f, -0.026179f, -0.015652f, -0.002529f, 0.021680f, 0.011662f, 0.055411f, -0.016466f, -0.032337f, -0.011254f, 0.015017f, 0.004190f, 0.029917f, 0.008496f, 0.003078f, -0.011546f, 0.024200f, 0.103486f, 0.044304f, -0.037892f, 0.033555f, -0.019680f, -0.030810f, 0.025841f, -0.000662f, 0.007827f, + -0.001609f, 0.018731f, -0.026855f, -0.041130f, -0.109667f, -0.028579f, 0.039724f, -0.014146f, -0.037370f, 0.016926f, -0.008390f, 0.016860f, -0.043699f, -0.038256f, -0.017818f, 0.016994f, 0.017948f, 0.052939f, 0.009635f, -0.003301f, -0.040738f, -0.057795f, -0.006863f, -0.025768f, 0.005447f, 0.021381f, -0.027370f, -0.028118f, -0.005771f, -0.035079f, -0.058853f, -0.019293f, -0.015370f, -0.031260f, -0.007019f, 0.017991f, -0.016161f, -0.008317f, -0.018635f, -0.004022f, -0.041824f, -0.026470f, -0.026503f, 0.001176f, 0.004279f, 0.015673f, -0.023230f, 0.013700f, -0.031456f, 0.001751f, -0.018369f, -0.002008f, 0.010233f, -0.009407f, 0.015337f, -0.041417f, -0.007930f, 0.014680f, 0.006337f, 0.013531f, -0.004945f, -0.010995f, 0.020870f, -0.003635f, -0.003891f, 0.014737f, -0.020541f, -0.016186f, -0.002706f, 0.004372f, -0.027370f, -0.012771f, -0.014735f, -0.008025f, -0.001972f, 0.000065f, 0.002758f, -0.012096f, 0.001660f, -0.003428f, -0.024085f, 0.032339f, -0.027229f, 0.090330f, 0.075689f, 0.035103f, -0.021617f, -0.032721f, 0.053886f, 0.046150f, -0.062106f, -0.013097f, -0.038339f, 0.052113f, -0.009668f, -0.075462f, + -0.033339f, 0.026070f, 0.046086f, -0.087123f, 0.034009f, -0.060490f, 0.021480f, -0.035943f, -0.009871f, 0.041090f, -0.014744f, 0.005799f, 0.025889f, 0.054956f, -0.037033f, -0.061457f, 0.012930f, -0.005318f, 0.005919f, 0.056370f, 0.013615f, 0.041945f, -0.054512f, -0.010433f, 0.016540f, -0.048492f, 0.077707f, -0.009642f, 0.046273f, -0.007044f, -0.011746f, 0.038078f, 0.037813f, -0.022634f, 0.085649f, -0.020688f, -0.038327f, 0.041229f, 0.073485f, 0.003774f, 0.012711f, 0.003171f, 0.031998f, -0.035339f, 0.025521f, 0.112243f, 0.051080f, -0.003922f, 0.048467f, 0.060237f, -0.045653f, -0.138202f, 0.009702f, 0.082746f, 0.093208f, 0.025345f, -0.009792f, -0.040959f, 0.048040f, 0.103434f, 0.047715f, 0.024977f, -0.102402f, 0.018876f, -0.058318f, -0.036183f, -0.090364f, 0.075912f, 0.015883f, -0.026557f, -0.036366f, 0.026527f, -0.026471f, 0.014256f, 0.009545f, 0.013279f, -0.033901f, -0.007303f, -0.004794f, 0.017528f, -0.012103f, 0.014799f, 0.012458f, -0.015333f, -0.010429f, 0.020661f, 0.000281f, 0.022205f, -0.010129f, 0.008159f, -0.015282f, 0.007799f, 0.041626f, 0.007832f, 0.007334f, -0.005479f, + -0.045971f, -0.023080f, -0.028592f, 0.014902f, 0.075967f, 0.072037f, 0.064667f, -0.005169f, -0.047962f, -0.044957f, -0.021887f, 0.030244f, 0.033317f, -0.002553f, -0.016258f, -0.024309f, -0.035831f, 0.009324f, 0.019301f, 0.016453f, 0.015006f, 0.012110f, -0.000171f, 0.001234f, -0.006839f, 0.007028f, -0.009898f, 0.006784f, -0.002623f, -0.001455f, -0.000356f, 0.008819f, 0.002077f, 0.003799f, 0.000581f, 0.004180f, -0.007511f, 0.000820f, -0.003524f, -0.001132f, 0.063614f, -0.124830f, 0.095929f, 0.020196f, -0.057020f, 0.001150f, 0.053818f, -0.035229f, 0.001889f, 0.029994f, -0.036891f, 0.003513f, -0.033113f, -0.020930f, 0.035767f, -0.030058f, -0.016902f, -0.063500f, 0.028011f, 0.062342f, 0.017815f, -0.027588f, -0.046984f, -0.007267f, 0.035947f, 0.019546f, -0.040081f, -0.000786f, 0.049088f, -0.006167f, 0.003678f, -0.016344f, -0.011572f, 0.114759f, -0.054602f, -0.013762f, -0.012425f, 0.019494f, 0.053516f, -0.056285f, -0.031405f, 0.075570f, -0.008584f, -0.004606f, -0.089850f, -0.074313f, 0.031491f, 0.050875f, 0.027972f, -0.092122f, 0.063567f, -0.001500f, -0.013867f, 0.013413f, -0.065764f, -0.018120f, + -0.008321f, -0.032553f, 0.059622f, -0.046210f, -0.025531f, -0.049707f, -0.028585f, -0.065598f, 0.020041f, -0.102653f, -0.028618f, 0.012171f, -0.050981f, 0.012755f, 0.028656f, 0.012602f, -0.000559f, -0.018334f, -0.036794f, 0.054484f, -0.011645f, -0.005174f, -0.019408f, 0.033006f, 0.066132f, 0.009967f, -0.089008f, 0.007919f, -0.039574f, 0.005990f, 0.008385f, -0.016237f, 0.006349f, -0.026677f, -0.008899f, -0.002248f, -0.020115f, 0.000381f, -0.005686f, 0.015664f, 0.014068f, -0.004902f, 0.007134f, 0.029148f, -0.013084f, -0.010523f, 0.029919f, -0.021719f, 0.019889f, -0.010575f, -0.009976f, 0.002133f, -0.012611f, -0.006213f, 0.018236f, -0.035487f, 0.010737f, 0.008231f, 0.013197f, 0.025237f, -0.017771f, 0.002923f, 0.019006f, 0.006772f, -0.006403f, -0.016854f, -0.003267f, -0.004184f, 0.000496f, -0.017300f, 0.005195f, -0.003161f, -0.006959f, 0.004064f, 0.002306f, -0.008114f, 0.018222f, -0.007916f, -0.005522f, 0.000289f, 0.004817f, -0.000827f, -0.072158f, 0.043534f, -0.001489f, 0.056399f, -0.011813f, 0.058351f, 0.007154f, -0.007581f, 0.025966f, 0.067742f, 0.032302f, 0.017297f, 0.013357f, 0.008585f, + 0.026478f, -0.034224f, -0.002992f, -0.025677f, -0.027127f, 0.041667f, 0.025726f, 0.015916f, -0.012256f, -0.010534f, -0.005204f, 0.043603f, 0.006417f, -0.019352f, -0.031831f, -0.001465f, -0.007748f, 0.032804f, 0.004700f, 0.027438f, 0.051260f, -0.014377f, -0.130925f, 0.008576f, 0.105837f, 0.011076f, -0.078191f, -0.010082f, 0.029661f, 0.023556f, 0.041364f, 0.037920f, -0.003445f, -0.024630f, -0.025607f, 0.033197f, -0.020546f, 0.003719f, 0.011248f, -0.135630f, -0.023893f, -0.026076f, 0.021153f, 0.106609f, -0.002345f, 0.008569f, -0.025143f, 0.007253f, 0.021574f, 0.044732f, 0.022940f, -0.026423f, -0.014331f, -0.065842f, -0.004428f, 0.045286f, -0.020419f, -0.009387f, 0.016221f, 0.046010f, 0.036816f, -0.009899f, -0.047277f, 0.000310f, 0.016614f, 0.005244f, -0.031586f, 0.003880f, 0.003285f, -0.002315f, -0.027351f, -0.034767f, 0.029729f, 0.024883f, -0.001769f, -0.005385f, -0.026784f, 0.020902f, 0.008092f, 0.004826f, 0.007569f, 0.006731f, 0.011534f, 0.000879f, -0.029645f, 0.016385f, 0.000259f, -0.001701f, 0.001119f, 0.007874f, 0.003136f, -0.003804f, -0.000611f, 0.001283f, -0.010118f, -0.005484f, + -0.040829f, 0.006499f, 0.027870f, -0.019820f, 0.009576f, -0.032405f, 0.017781f, 0.008692f, -0.005431f, -0.008814f, -0.003874f, -0.002993f, 0.003265f, -0.006944f, 0.036741f, -0.004257f, -0.214156f, -0.402827f, -0.161882f, -0.272646f, -0.313345f, 0.194859f, 0.068127f, 0.179035f, 0.538384f, 0.352388f, 0.284362f, 0.426149f, 0.212754f, 0.013740f, 0.168554f, 0.041965f, -0.170537f, -0.119844f, -0.135900f, -0.312287f, -0.253663f, -0.109629f, -0.227143f, -0.250339f, -0.103490f, -0.154091f, -0.258458f, -0.133611f, 0.020000f, -0.162577f, -0.148758f, 0.032787f, -0.032221f, -0.148263f, 0.166110f, 0.108395f, -0.124507f, 0.123184f, 0.186948f, 0.028284f, 0.106885f, 0.375582f, 0.178387f, 0.112558f, 0.441859f, 0.309564f, 0.179259f, 0.435521f, 0.583930f, 0.361452f, 0.523618f, 0.678156f, 0.484649f, 0.321342f, 0.423645f, 0.222930f, -0.215796f, -0.142208f, -0.285043f, -0.664176f, -0.665913f, -0.674587f, -1.018160f, -1.005461f, -1.010098f, -1.052381f, -0.993443f, -0.966495f, -0.760751f, -0.609067f, -0.460508f, -0.189890f, 0.055865f, 0.147591f, 0.375974f, 0.653035f, 0.553406f, 0.741734f, 1.054866f, 0.886555f, + 0.828103f, 1.008114f, 0.746946f, 0.383038f, 0.415220f, 0.389454f, 0.146237f, 0.103970f, 0.209133f, 0.077221f, -0.018260f, 0.069894f, 0.024973f, -0.145449f, -0.129841f, -0.078441f, -0.259877f, -0.298737f, -0.130258f, -0.227317f, -0.312722f, -0.129378f, -0.083017f, -0.170659f, -0.002384f, 0.054884f, -0.056258f, -0.008643f, -0.041490f, -0.238885f, -0.343840f, -0.385701f, -0.481432f, -0.567123f, -0.508762f, -0.465376f, -0.433067f, -0.325365f, -0.206941f, -0.147657f, -0.026661f, 0.114648f, 0.178700f, 0.258603f, 0.426338f, 0.517826f, 0.604353f, 0.647246f, 0.613623f, 0.546554f, 0.418498f, 0.285765f, 0.159905f, 0.022140f, -0.026779f, -0.046326f, -0.074896f, -0.084970f, -0.086127f, -0.100419f, -0.106070f, -0.096441f, -0.086389f, -0.096665f, -0.103215f, -0.099209f, -0.103718f, -0.114163f, -0.109789f, -0.105546f, -0.083311f, -0.056224f, -0.044627f, -0.028670f, 0.001584f, 0.012625f, 0.026688f, 0.056312f, 0.074129f, 0.076971f, 0.075731f, 0.059527f, 0.039774f, 0.023354f, -0.000754f, -0.022135f, -0.033457f, -0.054036f, -0.069369f, -0.075058f, -0.088108f, -0.092490f, -0.084404f, -0.079318f, -0.074181f, -0.062027f, + -0.054229f, -0.043394f, -0.031618f, -0.023236f, -0.011390f, -0.001080f, 0.012101f, 0.020233f, 0.028637f, 0.037675f, 0.047257f, 0.053323f, 0.063115f, 0.073659f, 0.081293f, 0.085400f, 0.088470f, 0.090378f, 0.089132f, 0.086749f, 0.086000f, 0.078153f, 0.068147f, 0.055339f, 0.040841f, 0.026235f, 0.011060f, -0.005600f, -0.019500f, -0.034242f, -0.046454f, -0.058826f, -0.069790f, -0.080921f, -0.085320f, -0.088236f, -0.087486f, -0.080721f, -0.073414f, -0.064516f, -0.050470f, -0.036774f, -0.023837f, -0.008621f, 0.004514f, 0.013188f, 0.020987f, 0.026573f, 0.027162f, 0.025468f, 0.024166f, 0.020895f, 0.016501f, 0.013421f, 0.011578f, 0.009249f, 0.007454f, 0.006435f, 0.005667f, 0.004713f, 0.004350f, 0.004393f}, + {-0.012880f, -0.001138f, 0.012170f, -0.010762f, 0.004232f, -0.018169f, 0.000238f, -0.006540f, 0.007376f, -0.006101f, 0.001715f, -0.004119f, -0.007578f, -0.001903f, -0.000683f, 0.005590f, 0.006971f, -0.006515f, -0.011415f, 0.006062f, 0.002090f, 0.004256f, 0.002571f, 0.004804f, -0.006599f, -0.004925f, 0.001228f, -0.001206f, 0.006012f, 0.004364f, -0.005040f, -0.001033f, 0.004589f, 0.008507f, 0.005234f, 0.000126f, -0.006596f, 0.003625f, -0.001106f, -0.003468f, 0.004692f, 0.002079f, -0.006059f, -0.005032f, -0.004105f, 0.003466f, -0.005937f, -0.003144f, 0.005036f, 0.001996f, -0.000158f, -0.006178f, 0.002319f, -0.005303f, -0.013820f, 0.001432f, -0.004693f, -0.008865f, 0.004120f, -0.002476f, -0.002535f, -0.002997f, 0.000208f, 0.006872f, 0.004116f, 0.002361f, 0.003118f, 0.005205f, -0.010412f, 0.005498f, -0.004135f, -0.003935f, -0.002294f, 0.003529f, 0.000674f, 0.007385f, 0.010656f, 0.004227f, 0.000832f, 0.001279f, -0.000152f, 0.006879f, -0.002871f, -0.000176f, 0.003334f, 0.000311f, -0.002815f, -0.002815f, 0.000971f, -0.000004f, -0.003180f, -0.001522f, 0.001001f, -0.000089f, -0.000421f, -0.001191f, + -0.001575f, 0.001137f, 0.000682f, 0.001226f, -0.000470f, 0.000481f, -0.000327f, -0.002870f, -0.001142f, 0.001428f, 0.002356f, -0.001245f, -0.001569f, 0.000619f, 0.001491f, 0.027652f, -0.002342f, 0.005062f, 0.006081f, -0.002842f, 0.002862f, 0.011009f, -0.008599f, -0.001531f, 0.003145f, -0.004285f, -0.000847f, 0.008083f, -0.002620f, -0.001837f, -0.000566f, 0.003125f, -0.001551f, 0.003885f, -0.002739f, -0.002703f, -0.001242f, -0.006294f, -0.010727f, -0.002035f, -0.003443f, -0.001453f, 0.006314f, -0.011375f, 0.013963f, 0.000069f, 0.000242f, 0.000464f, 0.002636f, -0.000353f, -0.005368f, 0.000828f, 0.004304f, 0.010521f, 0.000526f, -0.000094f, -0.001605f, -0.003571f, 0.007007f, 0.003309f, -0.002558f, 0.003847f, -0.006977f, 0.001172f, 0.002229f, -0.005300f, -0.018141f, -0.005699f, -0.000452f, -0.001087f, -0.000862f, -0.001617f, -0.002309f, -0.001336f, -0.003447f, 0.004425f, 0.013371f, 0.007555f, 0.000588f, -0.000045f, -0.000355f, 0.004652f, -0.002731f, -0.012212f, -0.000419f, -0.006371f, 0.003999f, -0.007226f, 0.004078f, -0.017615f, -0.000106f, -0.002528f, 0.005979f, 0.009565f, -0.001465f, -0.002306f, + 0.001444f, -0.000064f, 0.005159f, 0.001868f, 0.000867f, 0.006956f, -0.005140f, -0.000703f, 0.000891f, 0.002473f, 0.000016f, 0.002522f, 0.000146f, 0.001606f, 0.000749f, -0.000362f, 0.000526f, -0.000652f, -0.000070f, 0.001442f, 0.002224f, 0.000241f, -0.000603f, -0.000891f, 0.000298f, -0.000409f, 0.001263f, 0.000875f, 0.000619f, -0.000439f, 0.000239f, 0.000821f, -0.024368f, -0.023497f, -0.008849f, -0.003489f, -0.003361f, 0.000010f, 0.005932f, 0.001407f, 0.004817f, -0.011040f, 0.005447f, 0.006862f, 0.006634f, 0.007777f, -0.006033f, 0.001663f, 0.018321f, -0.011348f, -0.000407f, -0.008088f, -0.011718f, -0.001414f, -0.000838f, 0.010142f, -0.004931f, 0.001055f, -0.008754f, 0.005595f, 0.003498f, 0.004389f, -0.019616f, 0.003010f, -0.003591f, -0.006893f, -0.001856f, -0.000111f, -0.014554f, -0.009437f, -0.008129f, -0.000670f, 0.012153f, 0.004201f, 0.004023f, 0.005825f, -0.005442f, 0.003422f, -0.004883f, 0.010377f, 0.015989f, -0.001515f, -0.001473f, 0.004530f, 0.001117f, 0.004118f, 0.008984f, -0.004234f, 0.009295f, -0.001473f, -0.000288f, 0.005483f, 0.007528f, -0.002869f, -0.010880f, -0.010027f, + 0.003864f, -0.001387f, -0.001870f, -0.004430f, 0.004937f, -0.008353f, 0.003096f, 0.006227f, 0.010553f, -0.006157f, 0.010119f, 0.006588f, 0.003290f, 0.005036f, 0.001221f, -0.001735f, -0.006817f, 0.004828f, -0.003208f, -0.006388f, -0.008042f, 0.003313f, -0.002651f, 0.004826f, 0.000852f, -0.003121f, -0.003753f, -0.001939f, 0.001600f, -0.002009f, -0.000707f, -0.002576f, -0.001127f, -0.000179f, 0.002474f, 0.001274f, -0.000079f, 0.001410f, 0.004876f, -0.000497f, 0.000015f, 0.002821f, -0.001538f, 0.000774f, -0.001072f, -0.000862f, 0.001404f, 0.002021f, 0.002065f, 0.001291f, -0.000028f, -0.000670f, 0.001524f, 0.000694f, 0.003340f, 0.003967f, -0.003181f, -0.000361f, 0.001758f, 0.000518f, -0.001811f, 0.000572f, 0.002286f, 0.001956f, -0.001037f, 0.000242f, 0.001287f, -0.001164f, -0.026577f, 0.011592f, -0.011862f, 0.021469f, -0.019867f, 0.015723f, 0.008048f, -0.008216f, -0.010285f, -0.005699f, 0.004149f, 0.003744f, -0.005523f, 0.012687f, -0.004474f, -0.012001f, -0.002393f, 0.013119f, 0.009019f, -0.013144f, 0.002183f, -0.001592f, -0.013762f, -0.005668f, -0.008826f, -0.002018f, -0.010518f, -0.002754f, + -0.004344f, -0.014531f, -0.005128f, 0.007471f, 0.010708f, -0.001990f, -0.012429f, -0.002468f, 0.008945f, -0.002663f, 0.000390f, 0.000666f, 0.000282f, -0.012375f, -0.000286f, -0.001427f, -0.003071f, -0.000522f, 0.002281f, -0.008845f, 0.005173f, -0.009474f, -0.000123f, -0.000003f, 0.000284f, 0.007138f, 0.000233f, -0.003227f, 0.002971f, 0.004968f, 0.011781f, 0.005402f, 0.002745f, -0.003325f, -0.007167f, -0.006773f, -0.002759f, -0.007403f, -0.005277f, 0.004463f, 0.007741f, -0.005571f, -0.009349f, -0.006390f, 0.003078f, 0.001714f, -0.008764f, -0.002971f, 0.001188f, -0.007370f, -0.003335f, 0.001095f, 0.002364f, 0.003087f, -0.003350f, -0.004044f, -0.005565f, 0.000280f, -0.000608f, -0.002100f, 0.001829f, -0.001793f, -0.000558f, -0.004238f, -0.000882f, -0.001379f, 0.003862f, 0.001934f, -0.001462f, 0.001924f, -0.000151f, 0.000656f, -0.001768f, 0.000285f, -0.001020f, -0.000021f, -0.001460f, -0.002799f, 0.002138f, -0.000129f, -0.002666f, -0.001644f, -0.000194f, -0.002434f, -0.002841f, 0.002753f, -0.001641f, 0.032546f, 0.012931f, -0.002210f, 0.007356f, -0.005263f, 0.018233f, 0.007692f, 0.032864f, 0.000596f, + -0.031846f, 0.008135f, 0.019278f, -0.011501f, 0.003361f, 0.013263f, -0.010234f, 0.009346f, -0.008300f, -0.001821f, -0.010229f, -0.009749f, -0.003096f, 0.002680f, -0.001075f, 0.004385f, -0.004394f, 0.014082f, -0.008450f, 0.003965f, 0.002586f, 0.009155f, -0.016833f, -0.008788f, -0.006646f, -0.002009f, -0.005969f, 0.001566f, 0.010250f, 0.007307f, 0.016288f, -0.002406f, -0.001224f, -0.009309f, -0.003067f, 0.010269f, -0.010053f, 0.008478f, -0.009405f, -0.003968f, 0.014952f, 0.021589f, 0.015477f, 0.002699f, -0.011411f, 0.007977f, 0.005932f, -0.006090f, 0.012572f, -0.008321f, 0.002474f, 0.001967f, -0.022992f, -0.000222f, -0.021795f, -0.008792f, 0.003468f, -0.005787f, -0.010406f, -0.008905f, 0.001812f, 0.014945f, 0.003729f, -0.006139f, -0.007605f, -0.006712f, 0.001502f, 0.002404f, 0.007156f, -0.011362f, -0.010215f, 0.000674f, -0.001973f, 0.000655f, -0.002938f, -0.001710f, -0.001826f, -0.001006f, 0.003394f, 0.000852f, 0.001558f, -0.001503f, -0.002360f, -0.002331f, 0.000670f, 0.005943f, 0.001992f, 0.004311f, 0.001383f, -0.006875f, 0.005163f, 0.002292f, 0.000944f, 0.000977f, 0.002987f, -0.000713f, + 0.002576f, 0.000476f, -0.000059f, -0.002165f, -0.001571f, -0.002981f, 0.000876f, 0.002816f, -0.000544f, -0.001434f, -0.001599f, -0.009747f, -0.001086f, -0.001223f, 0.000337f, -0.001563f, 0.020098f, 0.040819f, -0.017938f, -0.013363f, -0.003701f, -0.004931f, 0.014156f, -0.013751f, -0.024941f, -0.008734f, 0.001625f, -0.006211f, 0.007019f, 0.003240f, 0.012262f, 0.005053f, -0.005066f, 0.017665f, 0.016575f, -0.007828f, 0.001102f, -0.011622f, -0.002061f, 0.000491f, -0.007181f, -0.001515f, 0.012344f, 0.017725f, 0.000608f, 0.002795f, 0.007243f, 0.004555f, 0.002767f, 0.001074f, -0.006870f, -0.012988f, 0.001373f, -0.018618f, 0.000561f, 0.004090f, -0.005990f, 0.007100f, -0.004783f, -0.010365f, -0.000901f, 0.009783f, 0.004295f, -0.004613f, 0.030059f, -0.000248f, 0.009628f, -0.018116f, -0.004104f, 0.012156f, -0.005873f, -0.013458f, 0.007721f, -0.015744f, -0.014071f, 0.003016f, 0.017011f, -0.014170f, -0.007974f, -0.004306f, 0.000611f, -0.006511f, -0.006416f, 0.022914f, 0.013403f, -0.002263f, 0.001188f, -0.011040f, -0.007883f, -0.004594f, 0.006843f, 0.008952f, 0.000703f, 0.007141f, 0.004635f, -0.001661f, + 0.006700f, -0.006425f, 0.022955f, 0.012881f, 0.002447f, 0.000557f, 0.002033f, -0.004079f, -0.001581f, -0.004062f, -0.004183f, -0.000309f, -0.000239f, -0.003920f, 0.001902f, -0.005821f, -0.001784f, 0.004202f, -0.001663f, 0.004310f, 0.002484f, 0.004066f, 0.000096f, 0.002746f, 0.003276f, 0.002851f, 0.000497f, 0.004858f, 0.001583f, 0.000508f, -0.003736f, 0.000171f, -0.001433f, -0.000250f, 0.000174f, 0.001621f, -0.000321f, 0.001458f, -0.003561f, -0.000349f, 0.001378f, 0.001735f, 0.002647f, 0.016316f, -0.028958f, -0.003804f, -0.021725f, -0.012323f, -0.019672f, -0.004924f, -0.002937f, -0.002860f, -0.007503f, 0.008951f, -0.027765f, 0.014445f, -0.009406f, 0.008641f, 0.003821f, 0.011750f, 0.000748f, 0.004949f, -0.011138f, -0.004637f, 0.005298f, -0.011057f, -0.008027f, 0.013828f, 0.003870f, 0.006338f, 0.005594f, -0.001263f, 0.003775f, 0.020525f, -0.007217f, 0.002106f, -0.009100f, 0.016538f, -0.009810f, -0.036267f, 0.011365f, 0.005882f, 0.015417f, 0.008440f, 0.021212f, -0.014110f, -0.005566f, 0.012910f, -0.005211f, -0.012038f, -0.005676f, 0.006798f, -0.017609f, 0.017654f, -0.000526f, 0.011825f, + -0.014854f, -0.006388f, -0.005337f, -0.016026f, -0.003209f, -0.012704f, -0.005781f, 0.001547f, 0.018742f, 0.015198f, -0.001606f, -0.022694f, -0.012951f, -0.004029f, 0.018205f, 0.015170f, 0.011003f, 0.010283f, -0.006333f, -0.026291f, -0.006687f, -0.000587f, 0.006288f, -0.008173f, -0.002518f, 0.013738f, -0.002504f, 0.016205f, 0.000287f, 0.011287f, 0.004330f, 0.000728f, -0.004005f, -0.000230f, 0.006120f, 0.001809f, -0.002729f, 0.000750f, -0.007235f, -0.001055f, -0.000342f, -0.009586f, -0.005784f, -0.006053f, -0.002976f, 0.002138f, -0.003860f, 0.001792f, -0.005202f, -0.000478f, -0.001471f, -0.002652f, 0.004360f, 0.002287f, -0.000834f, -0.006448f, -0.002514f, 0.002876f, 0.004437f, 0.000294f, -0.006413f, -0.003212f, 0.001537f, 0.003565f, 0.000989f, 0.001841f, 0.000558f, -0.003199f, -0.038034f, -0.045963f, -0.025935f, 0.018984f, 0.001610f, -0.008502f, -0.009670f, -0.014619f, -0.001470f, 0.005086f, -0.025603f, -0.002358f, 0.016316f, -0.009816f, -0.006966f, 0.018231f, 0.004858f, -0.011845f, 0.004658f, -0.011457f, 0.026980f, -0.008573f, -0.006308f, 0.008816f, -0.013901f, -0.008650f, -0.008118f, 0.004673f, + -0.009628f, -0.003513f, 0.004588f, 0.003376f, -0.031494f, 0.014251f, 0.013844f, -0.008963f, 0.024535f, 0.009535f, 0.002417f, 0.023590f, 0.013470f, 0.004331f, 0.003370f, 0.025499f, -0.002442f, -0.004174f, -0.001624f, 0.015732f, 0.008801f, -0.022818f, 0.008990f, 0.007359f, -0.000086f, -0.012073f, -0.036992f, 0.016529f, -0.002358f, -0.008958f, -0.023170f, -0.012945f, 0.014365f, -0.002849f, -0.006693f, -0.015296f, -0.030076f, 0.003246f, -0.004097f, -0.015806f, -0.006661f, -0.028305f, -0.004479f, -0.006201f, -0.005314f, -0.001009f, 0.010304f, 0.022107f, 0.009463f, -0.007105f, -0.015579f, 0.006295f, 0.001174f, 0.009357f, 0.005823f, -0.003306f, 0.006750f, 0.002665f, -0.000647f, -0.008254f, 0.000855f, -0.013579f, -0.000753f, -0.002801f, 0.002367f, -0.005100f, 0.006598f, 0.004090f, -0.001454f, -0.000892f, -0.001247f, 0.001186f, -0.003064f, -0.000557f, 0.003822f, -0.001236f, -0.001308f, 0.007392f, -0.002747f, -0.001576f, 0.005796f, -0.004153f, 0.003525f, -0.011301f, -0.007456f, -0.003989f, -0.006087f, -0.000359f, -0.006050f, -0.007872f, -0.006018f, -0.001454f, -0.001211f, 0.003016f, -0.000245f, -0.004704f, + 0.002927f, 0.001353f, -0.002610f, -0.039542f, 0.031626f, 0.001673f, 0.016119f, -0.003006f, -0.001413f, 0.002873f, 0.017428f, 0.001622f, -0.002263f, -0.023938f, 0.008401f, -0.002730f, -0.018483f, 0.004696f, -0.012099f, -0.009366f, 0.034099f, 0.009593f, 0.010457f, -0.007495f, 0.012178f, 0.014649f, 0.014225f, -0.008413f, 0.012417f, 0.006344f, -0.014430f, 0.009243f, -0.014031f, -0.004963f, 0.008899f, 0.004103f, -0.001481f, -0.007897f, -0.007324f, 0.022586f, -0.006636f, -0.010116f, -0.006409f, 0.004503f, 0.004921f, -0.010998f, -0.018342f, -0.001478f, -0.019676f, -0.002466f, -0.017738f, -0.006838f, -0.004214f, 0.003341f, -0.009038f, -0.015499f, 0.019393f, -0.008164f, -0.021353f, 0.013511f, 0.022800f, -0.011183f, -0.007294f, 0.011389f, 0.008388f, 0.022449f, 0.014631f, 0.002142f, -0.000198f, -0.023374f, 0.005634f, 0.022114f, 0.017931f, -0.015959f, 0.017100f, 0.018331f, -0.012327f, -0.034647f, -0.011091f, -0.031050f, 0.005236f, 0.017576f, 0.008984f, 0.001992f, -0.009230f, -0.012655f, -0.001344f, 0.001475f, 0.005418f, -0.002979f, 0.010165f, -0.004690f, -0.003504f, 0.003807f, 0.010766f, -0.015916f, + -0.002033f, -0.002155f, -0.004741f, -0.000047f, 0.004373f, -0.001043f, -0.000427f, -0.002647f, -0.000240f, -0.002674f, 0.000954f, -0.000363f, -0.000264f, 0.001341f, 0.005672f, -0.005015f, -0.002709f, 0.003038f, 0.003680f, 0.011608f, -0.001058f, 0.004759f, 0.004738f, -0.005228f, 0.004296f, 0.001730f, -0.004321f, 0.000991f, 0.001841f, 0.001225f, 0.004889f, 0.010107f, 0.002303f, -0.003612f, 0.006994f, -0.002309f, -0.003720f, 0.000422f, -0.006542f, -0.002995f, -0.000348f, 0.000199f, 0.007435f, -0.063019f, 0.029978f, 0.008385f, -0.003104f, 0.042261f, -0.002651f, 0.021321f, -0.019101f, -0.004583f, 0.003201f, 0.000127f, 0.024098f, 0.015275f, -0.033064f, 0.020416f, 0.001408f, 0.012203f, -0.029796f, -0.001299f, 0.016992f, -0.029249f, 0.036278f, 0.009727f, -0.000534f, -0.013153f, 0.002033f, 0.015634f, -0.026259f, 0.002267f, 0.006527f, 0.004477f, -0.016247f, -0.006106f, 0.015092f, 0.008479f, -0.001783f, 0.002124f, -0.010736f, -0.018259f, 0.007350f, -0.030770f, -0.001415f, 0.043731f, 0.042688f, -0.013857f, 0.005164f, -0.002032f, 0.012115f, 0.030677f, 0.002449f, 0.014592f, 0.004750f, -0.016353f, + -0.001365f, -0.003254f, -0.046675f, -0.021179f, 0.028650f, 0.001160f, 0.008731f, -0.011410f, -0.003004f, 0.010067f, 0.013794f, -0.001446f, 0.035693f, 0.000338f, 0.027808f, 0.003301f, 0.005746f, 0.003469f, -0.018450f, -0.023176f, 0.028164f, 0.006373f, -0.014918f, 0.020360f, -0.016985f, 0.001336f, 0.017237f, 0.002627f, -0.004603f, 0.007904f, -0.007620f, -0.007367f, 0.008554f, 0.011738f, 0.000701f, -0.016212f, -0.007857f, -0.017452f, -0.006313f, 0.004061f, 0.005405f, 0.002576f, -0.006826f, -0.003342f, -0.012561f, 0.008748f, -0.000298f, -0.005229f, -0.002420f, 0.003551f, 0.001939f, 0.010894f, 0.009808f, 0.006223f, 0.006328f, 0.001969f, 0.007764f, -0.005533f, 0.003499f, 0.004011f, 0.003911f, -0.004867f, 0.007849f, 0.003973f, -0.001321f, -0.001685f, -0.002209f, -0.002224f, -0.003774f, -0.008980f, -0.002659f, -0.000381f, -0.003637f, -0.006644f, 0.021061f, -0.045817f, 0.018415f, 0.028863f, -0.003987f, 0.008579f, 0.013001f, -0.007017f, -0.004423f, 0.017802f, -0.006694f, 0.027017f, -0.025712f, 0.014044f, 0.033442f, -0.035836f, 0.001475f, -0.017058f, 0.021138f, 0.008882f, 0.017539f, -0.018153f, + -0.014123f, -0.000241f, 0.045201f, 0.000485f, 0.022890f, -0.010175f, 0.001426f, -0.003150f, -0.003968f, -0.020092f, -0.000727f, -0.005672f, 0.009251f, -0.009001f, -0.012952f, -0.010976f, -0.000773f, -0.003861f, 0.020463f, 0.003453f, -0.011221f, -0.010291f, -0.010323f, -0.003863f, -0.004882f, 0.033244f, 0.001520f, 0.016663f, 0.001217f, -0.008069f, -0.007215f, 0.027631f, 0.020745f, -0.008049f, -0.026018f, 0.014664f, 0.010222f, -0.057610f, 0.003428f, 0.032383f, 0.031749f, 0.007302f, 0.025268f, -0.034795f, 0.056972f, 0.004905f, 0.010984f, 0.011165f, 0.027234f, -0.002218f, -0.024218f, -0.007486f, -0.028629f, 0.032610f, -0.014347f, -0.009787f, 0.028653f, -0.000953f, -0.011108f, -0.008786f, -0.021342f, 0.020235f, -0.034908f, -0.005247f, 0.003502f, -0.000963f, 0.005120f, -0.007375f, -0.014902f, -0.009684f, 0.004815f, 0.003743f, -0.006964f, 0.001712f, -0.006632f, -0.007428f, -0.005246f, 0.006323f, 0.003522f, -0.008421f, 0.007895f, 0.001452f, -0.009942f, 0.004461f, -0.001684f, -0.003675f, -0.007540f, -0.008873f, 0.001833f, 0.004132f, 0.018312f, -0.008072f, 0.010921f, 0.001193f, -0.003437f, -0.001430f, + -0.001955f, -0.004909f, 0.002961f, -0.000643f, -0.005213f, -0.001940f, -0.003549f, 0.001326f, 0.003877f, 0.002833f, -0.007457f, 0.017622f, -0.033920f, -0.027107f, 0.024352f, 0.020505f, 0.049982f, -0.017551f, -0.013146f, -0.008826f, 0.009469f, -0.021122f, -0.002497f, 0.008357f, -0.001435f, 0.026897f, 0.017338f, -0.021423f, 0.001995f, 0.006349f, 0.015555f, -0.024408f, 0.025748f, -0.000373f, 0.011433f, -0.004281f, -0.011680f, -0.025608f, 0.009106f, -0.004391f, -0.010787f, 0.005219f, -0.015714f, -0.015262f, -0.003401f, 0.008103f, 0.031176f, -0.046306f, -0.028016f, -0.024954f, -0.028062f, -0.007920f, 0.032323f, -0.019052f, -0.000859f, 0.031839f, -0.004645f, -0.014297f, -0.027546f, -0.007401f, -0.011859f, -0.056975f, -0.044237f, -0.012453f, 0.010012f, -0.005412f, 0.009981f, -0.012632f, -0.009118f, 0.027108f, 0.016359f, -0.028479f, -0.014718f, -0.031879f, -0.012680f, 0.002643f, 0.012771f, -0.005692f, 0.003420f, -0.027201f, -0.021783f, -0.019861f, -0.000560f, 0.004669f, 0.001716f, -0.025746f, 0.000841f, 0.034674f, 0.014952f, 0.039578f, -0.031166f, 0.048366f, 0.004278f, -0.030048f, -0.005002f, 0.001398f, + 0.008482f, -0.005036f, 0.013163f, -0.018375f, 0.008723f, -0.016276f, 0.007678f, 0.011131f, -0.003513f, 0.024762f, -0.002075f, 0.005845f, -0.006683f, -0.008944f, -0.005051f, 0.000717f, 0.005592f, -0.009466f, -0.001690f, 0.003178f, -0.002111f, 0.009513f, -0.002853f, -0.004763f, -0.015993f, 0.007068f, 0.001022f, 0.008367f, 0.003557f, -0.005366f, -0.015048f, 0.004849f, -0.019236f, 0.004879f, -0.004999f, -0.000802f, 0.002053f, -0.004144f, 0.001524f, 0.003021f, 0.013371f, 0.005221f, -0.005773f, -0.024395f, 0.004710f, -0.002650f, 0.056310f, 0.006169f, 0.027140f, -0.023441f, -0.015904f, -0.005745f, -0.026462f, -0.016811f, -0.025555f, -0.011889f, -0.016542f, 0.030551f, 0.007726f, 0.007721f, 0.031524f, -0.000825f, -0.001736f, 0.014228f, 0.028380f, 0.044280f, 0.032440f, -0.006641f, -0.011941f, -0.050971f, 0.014131f, 0.015987f, 0.006307f, -0.031785f, 0.036845f, 0.014663f, 0.021690f, -0.006025f, 0.002144f, 0.020889f, 0.046015f, 0.044711f, 0.025891f, 0.005410f, 0.047848f, 0.001238f, -0.014132f, 0.015496f, 0.029069f, 0.023517f, 0.043062f, 0.022684f, 0.001091f, 0.005168f, -0.025776f, 0.011234f, + -0.064619f, -0.011105f, -0.006363f, 0.014356f, 0.051050f, 0.028637f, 0.007658f, 0.036980f, -0.026706f, -0.024360f, 0.005393f, -0.062864f, -0.014860f, 0.002587f, 0.012224f, 0.014554f, 0.016795f, -0.003787f, 0.027764f, 0.003445f, 0.014446f, 0.050935f, -0.031187f, -0.016319f, -0.008485f, 0.009699f, -0.005789f, -0.048095f, -0.008896f, 0.032776f, -0.002190f, 0.041571f, -0.022126f, 0.001128f, 0.017407f, -0.004047f, 0.005032f, -0.017378f, -0.008294f, -0.013499f, -0.008777f, -0.014977f, -0.012056f, 0.003222f, 0.002785f, -0.030029f, -0.013718f, -0.016937f, -0.004293f, 0.005485f, 0.009290f, -0.013423f, -0.000329f, 0.003960f, -0.020874f, 0.003085f, -0.008257f, -0.013888f, -0.007010f, 0.001011f, 0.005398f, -0.009555f, -0.002157f, -0.014584f, -0.000904f, -0.003973f, -0.004472f, -0.010669f, -0.015292f, 0.003838f, 0.005405f, -0.008571f, -0.005650f, -0.006325f, -0.004464f, 0.002707f, 0.010526f, 0.002780f, 0.003518f, -0.003387f, -0.043401f, -0.013694f, 0.007865f, 0.032775f, 0.060233f, -0.024248f, 0.001044f, 0.009931f, -0.011067f, 0.055815f, 0.009885f, -0.027542f, 0.048916f, -0.010123f, -0.016433f, 0.034990f, + -0.031795f, -0.018622f, 0.002126f, 0.003033f, 0.004351f, 0.022903f, 0.012262f, 0.018579f, -0.005708f, 0.009836f, 0.028044f, 0.001671f, 0.019119f, 0.003467f, 0.000729f, 0.030952f, -0.040490f, -0.014760f, -0.013736f, 0.026931f, -0.020644f, -0.005417f, -0.012165f, 0.026667f, -0.011346f, 0.059390f, 0.043469f, -0.040564f, 0.019841f, -0.048731f, 0.006982f, 0.017518f, 0.009469f, 0.010451f, -0.062028f, -0.012108f, -0.059822f, 0.007860f, 0.004935f, 0.007217f, -0.009448f, -0.010925f, 0.028614f, -0.051746f, 0.017768f, -0.022456f, -0.097314f, -0.036528f, -0.031850f, 0.015925f, -0.014175f, 0.014713f, 0.048709f, 0.051832f, 0.029417f, 0.027224f, 0.025362f, 0.007277f, -0.038695f, 0.040529f, 0.000070f, -0.045051f, -0.035766f, -0.056594f, -0.074824f, -0.038699f, -0.007575f, 0.059737f, 0.021574f, 0.003531f, 0.022928f, -0.018398f, -0.000430f, 0.011395f, 0.009563f, -0.004939f, 0.008767f, 0.002711f, 0.006079f, 0.002383f, -0.018509f, 0.014800f, 0.009904f, 0.007202f, 0.002961f, -0.009803f, 0.005239f, -0.014513f, -0.005149f, -0.022473f, 0.018585f, 0.013907f, -0.003092f, 0.001887f, 0.014861f, 0.023492f, + -0.010660f, -0.023209f, -0.007023f, 0.018629f, -0.004201f, -0.013920f, 0.020031f, -0.001892f, -0.011697f, 0.013689f, 0.005512f, 0.000745f, -0.003496f, -0.000677f, -0.009954f, 0.006600f, -0.006377f, -0.003013f, 0.015403f, -0.076942f, -0.035626f, -0.026571f, 0.014492f, -0.058642f, 0.021325f, -0.034967f, 0.050341f, -0.058317f, -0.074003f, -0.015858f, -0.010454f, 0.058448f, 0.028686f, 0.026155f, -0.014691f, 0.007006f, -0.035737f, -0.028716f, 0.006990f, 0.012429f, -0.046132f, -0.042936f, -0.029994f, -0.003636f, 0.023667f, 0.017064f, -0.032305f, -0.040882f, -0.023555f, -0.024048f, -0.055441f, -0.031958f, 0.024951f, -0.015298f, -0.000066f, -0.007451f, 0.018396f, 0.028967f, -0.007261f, -0.083248f, 0.035538f, 0.070053f, 0.026350f, -0.001293f, -0.083448f, -0.019741f, 0.036868f, -0.010174f, 0.093949f, -0.009739f, -0.075150f, 0.012723f, -0.012394f, 0.006522f, 0.002409f, -0.014821f, 0.020598f, 0.025375f, -0.079296f, -0.020976f, 0.004707f, 0.028503f, -0.014462f, -0.040268f, 0.036481f, 0.003931f, -0.026669f, -0.079045f, -0.091706f, -0.047064f, -0.005541f, 0.007123f, 0.074078f, 0.104491f, 0.054013f, 0.041211f, + 0.018203f, -0.060039f, 0.022416f, 0.000113f, -0.031214f, -0.008676f, -0.099146f, -0.020535f, -0.000268f, 0.001202f, 0.003905f, 0.043872f, 0.016696f, 0.013416f, -0.017462f, -0.005247f, 0.038125f, -0.025226f, -0.000015f, -0.001082f, 0.007724f, -0.018585f, -0.030978f, -0.034622f, 0.016012f, -0.015876f, -0.005290f, 0.021087f, 0.001191f, 0.003862f, -0.026330f, 0.009608f, 0.009125f, 0.005197f, -0.021575f, -0.010606f, -0.014041f, -0.022598f, 0.003612f, -0.012871f, 0.025449f, 0.010359f, -0.016507f, 0.003834f, -0.005776f, 0.017820f, -0.022878f, -0.002481f, -0.000469f, 0.012854f, 0.011590f, 0.006275f, 0.013902f, 0.000434f, 0.007894f, 0.006485f, 0.140147f, 0.128707f, -0.054188f, 0.066789f, 0.059232f, -0.016582f, -0.009896f, -0.030676f, -0.016492f, -0.036073f, -0.025247f, 0.106748f, -0.005670f, 0.062192f, 0.000897f, 0.003038f, 0.000977f, -0.042116f, 0.010203f, 0.008724f, -0.092410f, 0.013783f, 0.022591f, -0.048723f, -0.010004f, -0.015036f, -0.006457f, 0.013678f, -0.002570f, 0.002796f, 0.040975f, 0.016502f, -0.019637f, 0.012532f, 0.065215f, 0.001035f, 0.030178f, -0.001649f, 0.024677f, -0.035888f, + -0.043031f, -0.024283f, -0.079196f, 0.021194f, 0.009167f, -0.035385f, -0.096265f, -0.063150f, -0.089967f, 0.065670f, -0.046559f, 0.010173f, 0.016605f, 0.014844f, 0.012879f, 0.070067f, -0.067159f, 0.000290f, -0.037474f, 0.074164f, -0.166238f, 0.034073f, 0.013274f, 0.053179f, 0.048918f, 0.000123f, -0.014945f, -0.025628f, -0.006920f, -0.048552f, 0.036015f, 0.098008f, -0.006989f, 0.020115f, 0.062465f, -0.043415f, 0.025137f, 0.030045f, -0.053963f, -0.037958f, -0.100511f, 0.083556f, -0.015675f, -0.073923f, 0.050096f, -0.012578f, 0.032961f, -0.002454f, 0.028678f, 0.004563f, -0.020983f, 0.034460f, 0.033941f, 0.005167f, 0.019776f, 0.031308f, 0.019524f, -0.021453f, -0.008311f, -0.020964f, -0.008333f, 0.026332f, 0.051743f, -0.002503f, -0.008530f, -0.002372f, 0.033583f, -0.051829f, 0.030487f, -0.014286f, 0.069824f, 0.013334f, -0.039994f, -0.008654f, 0.031591f, -0.016327f, -0.020446f, -0.016404f, -0.011323f, -0.016132f, 0.017910f, 0.011598f, 0.045209f, -0.037126f, 0.003512f, -0.004538f, 0.025351f, 0.001285f, -0.001779f, 0.014034f, 0.018771f, 0.013149f, 0.030086f, 0.003353f, 0.034527f, 0.018610f, + -0.000465f, -0.048559f, -0.046046f, 0.056963f, -0.115981f, 0.079999f, -0.047833f, -0.033407f, -0.021031f, 0.007313f, -0.033591f, -0.026116f, 0.036358f, -0.011134f, -0.079348f, 0.027404f, -0.004883f, 0.014076f, -0.017891f, 0.070566f, -0.057579f, 0.002487f, 0.029240f, -0.019941f, 0.022135f, -0.046923f, 0.003823f, -0.040369f, -0.020517f, 0.043989f, 0.005591f, 0.017653f, -0.025023f, 0.042526f, -0.012292f, -0.019783f, 0.016235f, -0.025973f, -0.021719f, -0.013859f, -0.014381f, -0.043822f, -0.058820f, -0.016310f, 0.032541f, 0.000559f, -0.018470f, -0.058620f, 0.002182f, -0.046325f, -0.003173f, 0.018715f, -0.045968f, -0.011254f, 0.033678f, 0.034327f, 0.024792f, -0.056905f, -0.027072f, 0.039284f, 0.012652f, -0.001066f, 0.031664f, -0.186855f, -0.043388f, -0.020813f, -0.085065f, 0.008380f, 0.023152f, -0.004964f, 0.015478f, 0.040084f, -0.023305f, -0.039716f, 0.009906f, -0.036062f, -0.011162f, 0.038900f, 0.061447f, -0.023409f, -0.074761f, -0.044962f, 0.004534f, -0.039762f, 0.005902f, -0.030858f, -0.029447f, 0.007732f, -0.060036f, 0.000674f, -0.037624f, -0.011487f, -0.020813f, 0.008309f, 0.014660f, -0.005980f, + -0.037420f, 0.008114f, -0.002927f, -0.023407f, 0.028417f, -0.001301f, -0.027765f, -0.009474f, -0.007694f, -0.010384f, -0.019465f, 0.010128f, -0.017858f, 0.014012f, 0.018932f, -0.007833f, 0.001583f, -0.011620f, -0.026523f, -0.036649f, 0.005794f, 0.004713f, 0.016162f, -0.042423f, 0.008081f, -0.000330f, -0.028119f, 0.020859f, -0.012161f, 0.014878f, 0.033463f, -0.076936f, 0.014563f, 0.010615f, 0.021267f, -0.012945f, -0.008847f, 0.025149f, -0.002685f, 0.001862f, 0.125758f, -0.015673f, -0.034483f, 0.004988f, -0.013710f, 0.062388f, 0.011981f, -0.005078f, 0.059334f, 0.060088f, 0.019963f, 0.023348f, 0.033150f, -0.073689f, -0.040548f, 0.061401f, -0.008080f, -0.060485f, -0.030386f, -0.027389f, 0.042073f, 0.022493f, -0.021948f, -0.087442f, 0.027528f, 0.013824f, 0.011927f, 0.014450f, -0.010246f, 0.008951f, -0.065341f, 0.058768f, 0.041090f, 0.021703f, -0.032572f, -0.027902f, 0.000203f, 0.029422f, -0.006097f, 0.030586f, 0.013657f, -0.069236f, -0.030466f, 0.010949f, -0.069373f, 0.004132f, 0.013668f, -0.061341f, -0.086067f, -0.012116f, 0.026432f, -0.050255f, -0.104571f, -0.045983f, -0.027109f, 0.068080f, + -0.041006f, 0.076824f, -0.015463f, 0.003574f, 0.033239f, 0.004455f, -0.117179f, -0.007886f, 0.005326f, 0.054873f, -0.104224f, -0.144696f, 0.010918f, -0.009508f, -0.091731f, 0.051947f, 0.024975f, -0.003551f, 0.000180f, 0.085009f, -0.121320f, 0.099862f, 0.021652f, 0.013256f, 0.041073f, -0.043990f, -0.039185f, -0.007757f, 0.019466f, -0.025101f, -0.001242f, 0.051166f, -0.042896f, -0.035046f, 0.046025f, -0.025867f, -0.012148f, 0.018844f, 0.013178f, -0.051100f, 0.026613f, -0.017257f, -0.003923f, 0.017790f, 0.018413f, -0.054453f, -0.008073f, -0.042403f, 0.024368f, 0.032587f, 0.002969f, -0.070028f, 0.050229f, -0.012358f, -0.000274f, 0.029579f, -0.006643f, -0.025724f, -0.003706f, 0.039147f, -0.058578f, 0.040304f, 0.003154f, -0.004860f, 0.015902f, 0.007461f, -0.036228f, 0.016760f, 0.000846f, 0.001271f, -0.047462f, 0.032874f, -0.030684f, 0.036309f, 0.006617f, -0.044965f, 0.004806f, 0.004998f, -0.011558f, 0.020493f, 0.004933f, 0.057323f, 0.021493f, 0.137062f, -0.059580f, -0.062048f, -0.026636f, -0.003759f, 0.130057f, -0.019560f, 0.107450f, -0.077668f, -0.031481f, 0.044796f, -0.084596f, -0.028677f, + -0.079697f, 0.011673f, 0.077981f, -0.110516f, -0.041572f, -0.010552f, 0.031622f, -0.002070f, 0.010621f, 0.029151f, -0.009267f, -0.070434f, -0.065572f, 0.002116f, 0.043646f, 0.120400f, -0.028559f, 0.031871f, -0.036547f, 0.058908f, 0.000432f, 0.005961f, -0.018416f, -0.072756f, 0.000750f, 0.065094f, -0.012993f, -0.004898f, -0.026317f, -0.063573f, 0.080746f, 0.030362f, 0.053317f, 0.072620f, -0.005279f, 0.003339f, 0.044045f, -0.118589f, 0.038975f, -0.060348f, 0.137545f, -0.014098f, 0.012021f, 0.019958f, -0.042309f, -0.041943f, 0.012295f, -0.060141f, 0.086637f, -0.052572f, -0.066812f, -0.066776f, 0.090652f, 0.030421f, 0.051795f, -0.012804f, 0.051732f, 0.053330f, -0.057083f, -0.016866f, -0.053081f, -0.027956f, 0.094494f, 0.067289f, 0.007251f, 0.017785f, -0.147502f, 0.099019f, 0.129396f, 0.014196f, -0.012335f, -0.025801f, -0.079994f, 0.112362f, -0.008360f, 0.006775f, -0.024053f, 0.002399f, -0.051180f, 0.105124f, -0.027097f, 0.050791f, 0.006458f, -0.019271f, -0.007972f, 0.101240f, -0.058235f, 0.049452f, 0.014972f, -0.044196f, 0.004185f, -0.014788f, 0.026340f, 0.007269f, 0.039524f, -0.018067f, + 0.002501f, 0.006960f, -0.002316f, 0.040142f, 0.068319f, -0.022459f, -0.005429f, 0.007204f, 0.036681f, 0.010209f, -0.055824f, -0.037004f, 0.074072f, 0.013997f, 0.035356f, -0.075323f, -0.091443f, 0.081913f, 0.053003f, 0.025018f, -0.008283f, -0.070160f, -0.003427f, 0.062270f, 0.018299f, 0.002719f, -0.006810f, -0.012353f, 0.010708f, 0.008379f, 0.013019f, -0.010341f, 0.006826f, 0.013364f, 0.008729f, -0.005787f, 0.001912f, 0.002554f, 0.012907f, 0.032804f, 0.012263f, -0.103432f, 0.070724f, -0.073582f, 0.008932f, -0.033945f, 0.027313f, -0.002929f, 0.038926f, -0.006346f, -0.033611f, 0.057859f, -0.020302f, -0.008220f, 0.008979f, -0.024454f, -0.021068f, 0.066776f, -0.015701f, -0.009338f, -0.007735f, -0.003596f, 0.030814f, -0.023582f, 0.007357f, -0.017314f, 0.015464f, -0.015152f, -0.011251f, -0.036099f, 0.052654f, -0.032641f, 0.017581f, 0.008191f, 0.036553f, -0.041101f, 0.009339f, -0.016962f, 0.041463f, 0.005154f, 0.003498f, 0.032371f, 0.009956f, -0.054395f, -0.007762f, -0.009574f, 0.015284f, 0.023383f, 0.020066f, -0.049512f, 0.021337f, -0.037493f, 0.026563f, -0.021528f, 0.005880f, -0.012512f, + 0.026250f, -0.010522f, 0.007833f, -0.055411f, 0.013331f, 0.026342f, -0.024886f, 0.024615f, 0.003765f, 0.008788f, 0.015947f, -0.022611f, 0.038405f, 0.014581f, -0.001759f, -0.012415f, 0.018875f, -0.012046f, 0.034909f, -0.029357f, -0.008204f, -0.027976f, 0.036158f, -0.035850f, 0.032896f, -0.029980f, 0.039922f, -0.034089f, 0.021165f, -0.033628f, 0.029514f, -0.002809f, 0.003513f, -0.010127f, 0.002079f, -0.006324f, -0.004578f, -0.010750f, 0.017796f, 0.006181f, -0.001817f, 0.005070f, -0.004688f, -0.009910f, 0.017915f, 0.002053f, 0.007183f, -0.011829f, 0.001321f, 0.016670f, -0.019318f, -0.005524f, 0.012260f, -0.000409f, -0.005285f, -0.013540f, 0.032073f, -0.010630f, -0.015115f, 0.007453f, 0.003551f, -0.005717f, 0.004087f, -0.002557f, 0.003814f, -0.006116f, 0.005278f, -0.010043f, 0.016187f, -0.013567f, 0.018563f, 0.006934f, -0.012484f, 0.003864f, -0.001870f, 0.001126f, -0.000759f, 0.007607f, 0.000866f, -0.006074f, 0.005342f, -0.006560f, -0.042902f, 0.087155f, 0.007417f, 0.011096f, -0.034640f, -0.025477f, -0.055092f, 0.037190f, -0.015352f, -0.011132f, -0.023863f, -0.000798f, -0.021261f, -0.002522f, + -0.002688f, 0.009851f, 0.010996f, -0.001566f, -0.002435f, -0.015570f, 0.014772f, 0.013817f, -0.012894f, 0.006272f, -0.029442f, 0.011916f, 0.005876f, -0.005050f, -0.004468f, -0.009743f, 0.009541f, 0.002200f, -0.020935f, -0.005533f, -0.006055f, -0.017353f, 0.028788f, 0.003131f, -0.018194f, 0.002925f, -0.007060f, 0.025102f, -0.008549f, -0.011558f, 0.004961f, -0.014781f, 0.029272f, 0.000963f, -0.016005f, 0.004739f, -0.006455f, 0.014382f, -0.018273f, -0.003525f, 0.006181f, -0.006561f, 0.012925f, -0.007172f, 0.003825f, 0.005933f, -0.016472f, 0.002444f, 0.016601f, -0.025079f, -0.001540f, 0.007769f, -0.023275f, 0.042735f, -0.038870f, 0.019582f, 0.007166f, -0.022148f, 0.044173f, -0.029854f, 0.007189f, 0.005745f, -0.018517f, 0.014646f, -0.007497f, -0.014255f, 0.014170f, -0.017007f, 0.011259f, -0.007749f, -0.005688f, 0.012784f, -0.010419f, 0.004193f, -0.004155f, -0.000006f, 0.002589f, -0.005640f, 0.002825f, -0.000197f, -0.005503f, 0.012092f, -0.010071f, 0.009042f, 0.000453f, -0.008256f, 0.008312f, -0.014657f, -0.001303f, 0.004010f, -0.002310f, -0.001922f, 0.002209f, -0.007567f, 0.009537f, -0.004661f, + -0.003223f, 0.001113f, 0.001103f, -0.005882f, -0.000781f, -0.003354f, 0.003381f, 0.004833f, -0.006633f, 0.006007f, -0.006326f, -0.001150f, 0.006369f, -0.004561f, 0.020326f, -0.093165f, -0.215099f, 0.056463f, 0.199122f, 0.168365f, 0.225899f, -0.111336f, -0.144306f, -0.216992f, -0.221810f, 0.015291f, 0.165377f, 0.182626f, 0.200018f, 0.066563f, -0.043527f, -0.158641f, -0.262725f, -0.143886f, 0.066830f, 0.103600f, 0.175215f, 0.132881f, 0.036282f, -0.023475f, -0.055354f, -0.131533f, -0.085281f, -0.081068f, -0.014885f, 0.069426f, 0.106296f, 0.056047f, 0.070957f, 0.035989f, -0.040003f, -0.006143f, -0.085528f, -0.118932f, -0.020388f, -0.027658f, 0.020971f, 0.112410f, 0.064688f, 0.055859f, 0.016442f, -0.041947f, -0.043342f, -0.037202f, -0.061676f, -0.016025f, 0.002699f, 0.026570f, 0.032218f, 0.053844f, 0.015276f, -0.001757f, -0.027160f, -0.049874f, -0.004321f, 0.018143f, 0.018436f, 0.031639f, -0.008081f, -0.024970f, -0.012103f, -0.025000f, -0.019783f, 0.005506f, 0.014115f, 0.040498f, 0.034158f, 0.032841f, 0.001837f, -0.017394f, -0.065618f, -0.060797f, -0.024901f, 0.004063f, 0.050587f, 0.054486f, + 0.022349f, 0.023198f, -0.002645f, -0.043652f, -0.026887f, -0.002998f, -0.010343f, 0.002521f, 0.004538f, 0.010706f, 0.008724f, -0.005493f, -0.014384f, 0.008634f, 0.013123f, 0.011008f, 0.011176f, -0.000849f, -0.008327f, -0.004951f, -0.022334f, -0.008977f, -0.012370f, -0.020741f, 0.012283f, 0.030570f, 0.035347f, 0.011927f, 0.012681f, -0.006716f, -0.008400f, -0.031570f, -0.047290f, -0.018007f, 0.005284f, 0.014934f, 0.018210f, 0.038882f, 0.035859f, 0.017635f, -0.014392f, -0.030089f, -0.034277f, -0.031785f, -0.023774f, -0.001415f, 0.028561f, 0.044605f, 0.035083f, 0.010406f, -0.016889f, -0.019931f, -0.020225f, -0.011450f, -0.007812f, -0.008550f, 0.008559f, 0.020526f, 0.014841f, 0.003427f, -0.002790f, -0.001390f, -0.005385f, -0.005769f, -0.008586f, -0.003532f, 0.004727f, 0.004256f, 0.002339f, 0.002940f, 0.002247f, 0.002110f, -0.004439f, -0.005427f, -0.001756f, 0.002491f, 0.001829f, 0.000758f, 0.000756f, 0.000907f, -0.001770f, -0.001317f, -0.000732f, 0.000439f, 0.000475f, 0.001337f, 0.001139f, 0.000854f, -0.000422f, -0.001517f, -0.002711f, -0.000236f, 0.000459f, 0.000239f, 0.000700f, 0.001878f, + 0.000570f, 0.000583f, 0.001526f, 0.000201f, -0.004208f, -0.003277f, -0.001071f, 0.000912f, 0.001799f, 0.002770f, 0.000916f, 0.000322f, -0.000187f, -0.000070f, -0.001111f, -0.000935f, -0.000574f, -0.000282f, -0.000920f, -0.000136f, 0.000082f, 0.000868f, 0.001243f, 0.001462f, 0.000720f, 0.000634f, -0.000499f, -0.001233f, -0.002141f, -0.001412f, -0.000781f, 0.000413f, 0.001553f, 0.002372f, 0.001548f, 0.000318f, -0.000811f, -0.001022f, -0.001568f, -0.001160f, -0.000120f, 0.000657f, 0.000612f, 0.000582f, 0.000172f, 0.000106f, -0.000084f, 0.000004f, -0.000126f, -0.000104f, -0.000146f, 0.000013f, -0.000038f, -0.000061f, -0.000141f, 0.000009f, 0.000076f, 0.000085f, 0.000045f, 0.000069f, -0.000012f, -0.000032f} + }, + { + {-0.010247f, -0.009027f, 0.011393f, -0.002243f, 0.009110f, 0.002711f, 0.013514f, -0.003060f, -0.006886f, -0.004717f, 0.008282f, 0.000304f, -0.002923f, -0.000721f, 0.009355f, -0.002397f, 0.001752f, 0.003336f, -0.006177f, -0.004673f, -0.001971f, 0.001791f, -0.006415f, 0.001725f, 0.001376f, -0.007426f, -0.002382f, -0.004412f, 0.000690f, -0.003202f, 0.001255f, 0.012318f, 0.006328f, -0.003501f, 0.000633f, -0.005734f, 0.004510f, -0.001485f, 0.007281f, -0.014931f, -0.001602f, 0.002400f, -0.005298f, 0.001040f, 0.007318f, 0.005632f, -0.006716f, -0.004918f, -0.005392f, -0.000930f, -0.004267f, -0.002106f, -0.006558f, 0.002597f, -0.000551f, -0.007547f, -0.003922f, -0.002999f, -0.000359f, 0.001653f, -0.001642f, -0.000711f, 0.003302f, 0.001379f, -0.003580f, 0.001968f, 0.008143f, -0.004089f, -0.001061f, -0.008654f, -0.003316f, -0.000598f, 0.003629f, -0.003612f, 0.001063f, 0.001555f, 0.001224f, 0.002901f, -0.006740f, -0.000145f, -0.003797f, 0.003282f, -0.002429f, -0.006428f, -0.001846f, -0.000123f, -0.000108f, -0.002794f, -0.003024f, 0.003250f, -0.001427f, -0.000503f, 0.001175f, 0.001933f, 0.000089f, -0.000345f, + 0.000360f, 0.001183f, 0.000072f, -0.000640f, 0.001444f, 0.000343f, -0.001264f, -0.001072f, 0.001347f, -0.000397f, 0.000485f, -0.000781f, 0.001214f, -0.001042f, -0.000737f, -0.000102f, -0.000253f, 0.000515f, 0.013969f, -0.005309f, 0.004503f, 0.011671f, -0.009580f, -0.010794f, -0.001640f, -0.002741f, -0.000191f, 0.005916f, 0.003268f, -0.014982f, 0.002271f, -0.008621f, -0.011840f, -0.000819f, 0.004259f, 0.004613f, -0.003904f, -0.000558f, -0.001321f, 0.006353f, -0.001391f, 0.005215f, -0.002527f, 0.000556f, 0.001094f, 0.001548f, -0.007523f, 0.003082f, 0.005706f, -0.002761f, 0.007290f, -0.004128f, -0.000866f, -0.009244f, 0.006468f, 0.001595f, -0.002493f, -0.007179f, -0.007128f, -0.003258f, -0.002479f, 0.003518f, -0.000846f, 0.003031f, 0.002980f, -0.006370f, 0.003871f, -0.008540f, 0.002970f, 0.004900f, 0.009306f, 0.008984f, -0.007852f, 0.003814f, -0.000570f, -0.002100f, 0.005416f, -0.004230f, -0.005073f, -0.003802f, 0.004401f, 0.002191f, 0.005758f, -0.005839f, 0.008708f, -0.002886f, -0.000522f, 0.002611f, 0.001378f, 0.005119f, -0.003980f, 0.007309f, 0.009190f, 0.016187f, 0.007450f, 0.005128f, + -0.009662f, -0.001782f, -0.006335f, -0.004552f, 0.005810f, -0.000801f, 0.007197f, 0.002950f, -0.000665f, -0.001481f, -0.001351f, 0.004181f, -0.003274f, 0.003330f, 0.003879f, -0.003153f, 0.001809f, 0.001431f, 0.000331f, 0.002379f, -0.001575f, -0.000460f, -0.003233f, -0.000186f, 0.000175f, 0.001622f, -0.017281f, -0.018590f, 0.002013f, -0.001615f, 0.004303f, 0.004007f, 0.012120f, 0.005427f, 0.005741f, 0.002858f, -0.006066f, 0.002206f, 0.015340f, -0.010408f, -0.001245f, 0.000380f, 0.012299f, 0.007354f, 0.001641f, 0.005397f, -0.001064f, 0.004147f, 0.005626f, 0.012597f, 0.006953f, 0.007032f, 0.003751f, 0.002960f, 0.006109f, 0.002148f, -0.008924f, 0.005338f, 0.007233f, -0.002694f, 0.005240f, 0.006920f, -0.002518f, 0.002115f, 0.008691f, 0.003146f, -0.002179f, 0.003057f, 0.008874f, -0.000548f, -0.000162f, -0.001852f, 0.002391f, 0.008287f, -0.002536f, -0.004813f, 0.002362f, -0.002991f, 0.004370f, 0.005169f, -0.006292f, 0.001251f, -0.004083f, 0.000235f, 0.002501f, 0.006960f, 0.005750f, -0.014921f, -0.000081f, 0.007174f, -0.003824f, -0.006272f, 0.000787f, 0.001046f, 0.007260f, -0.000701f, + -0.015867f, -0.007009f, 0.005084f, -0.004491f, 0.007416f, -0.002164f, 0.000003f, 0.001801f, 0.009314f, 0.005772f, 0.003931f, -0.004905f, 0.007647f, -0.001013f, 0.004673f, 0.002218f, 0.000901f, 0.001515f, 0.001574f, -0.000214f, -0.001254f, 0.000934f, -0.000688f, -0.003933f, -0.001650f, -0.001674f, -0.000508f, -0.000981f, -0.000033f, -0.001256f, -0.002793f, 0.001283f, 0.000570f, -0.001509f, 0.000301f, 0.002514f, 0.001898f, 0.000805f, -0.000381f, -0.000539f, -0.000286f, -0.000240f, 0.002466f, -0.000031f, -0.031155f, 0.004520f, 0.003368f, 0.014727f, -0.000426f, 0.011527f, 0.005989f, 0.003032f, -0.018194f, 0.000152f, -0.000136f, -0.014102f, 0.002425f, 0.010759f, 0.002170f, -0.000084f, -0.001193f, -0.005556f, -0.006357f, 0.003022f, 0.004350f, -0.000387f, 0.002955f, 0.003385f, 0.012935f, 0.001578f, 0.005817f, 0.006078f, -0.006545f, 0.001559f, -0.001421f, -0.001740f, -0.000696f, 0.004815f, -0.000567f, -0.003097f, -0.004960f, -0.002962f, 0.001804f, -0.008995f, -0.006300f, 0.003936f, -0.007073f, 0.002467f, -0.011723f, -0.014139f, -0.003465f, 0.017706f, -0.004487f, -0.000944f, 0.010563f, 0.003577f, + 0.000938f, 0.011210f, -0.001403f, 0.001333f, -0.001237f, 0.003349f, 0.007320f, -0.002709f, -0.010941f, 0.007189f, -0.006304f, -0.012254f, -0.004738f, -0.003369f, 0.000166f, 0.004618f, 0.013542f, 0.000170f, 0.000049f, -0.005151f, -0.000311f, 0.007960f, -0.003542f, -0.004002f, 0.009718f, -0.007978f, -0.000428f, 0.004432f, -0.009553f, -0.001840f, -0.003184f, -0.003229f, 0.001285f, -0.005155f, -0.007153f, 0.000516f, 0.004764f, -0.002059f, -0.002970f, -0.004107f, -0.004004f, -0.000531f, 0.003249f, 0.001425f, -0.000203f, -0.001180f, -0.003063f, 0.000206f, -0.000880f, -0.003953f, -0.005665f, -0.004976f, 0.000154f, -0.000601f, 0.002604f, -0.003866f, 0.000041f, -0.000531f, 0.002125f, -0.000270f, 0.001048f, -0.001138f, 0.000238f, 0.000640f, -0.001761f, 0.027692f, 0.000740f, -0.001867f, -0.010742f, -0.006258f, 0.014535f, -0.006132f, 0.011311f, 0.009700f, -0.011386f, -0.002009f, 0.008443f, -0.006463f, -0.003196f, -0.003119f, -0.004231f, 0.001663f, 0.002929f, 0.000343f, 0.005218f, -0.002633f, 0.000687f, 0.001841f, -0.002409f, -0.005463f, -0.005653f, -0.006404f, 0.000344f, 0.007063f, 0.003010f, -0.006327f, + 0.000427f, 0.002671f, 0.013697f, -0.004291f, 0.012249f, -0.011473f, 0.004970f, 0.008742f, -0.006031f, -0.003789f, -0.011644f, 0.005242f, -0.000246f, -0.008272f, 0.007877f, -0.010211f, 0.011107f, -0.000809f, 0.015775f, 0.003460f, 0.001612f, 0.003649f, 0.006501f, 0.003334f, -0.005256f, 0.007644f, -0.001575f, -0.008574f, -0.013213f, -0.003770f, 0.005447f, -0.006771f, -0.004369f, 0.004906f, -0.007434f, 0.014160f, -0.013927f, -0.000278f, 0.009139f, -0.008105f, -0.003235f, -0.014714f, -0.001185f, -0.005898f, -0.003278f, -0.004573f, 0.012448f, 0.004712f, 0.001183f, 0.000291f, 0.010729f, 0.000843f, -0.001022f, 0.008443f, 0.007047f, 0.006271f, 0.013354f, -0.003104f, 0.001223f, -0.004025f, 0.003711f, 0.004192f, 0.000817f, 0.001055f, -0.002356f, -0.000336f, -0.003299f, -0.001851f, 0.000228f, 0.000967f, 0.002054f, -0.001312f, -0.000552f, 0.004062f, 0.001926f, -0.001875f, 0.008252f, -0.000719f, -0.002155f, -0.003689f, -0.002322f, 0.002783f, -0.002944f, 0.000011f, -0.000429f, -0.003204f, 0.001208f, 0.000608f, -0.000876f, 0.001823f, 0.002118f, -0.002513f, 0.002201f, 0.003678f, 0.013379f, 0.023736f, + -0.007025f, -0.010434f, 0.002664f, -0.004301f, 0.006503f, 0.021600f, 0.000074f, -0.005058f, 0.006819f, 0.003659f, 0.006360f, 0.003821f, -0.011849f, 0.000371f, -0.010579f, 0.005798f, 0.005040f, 0.003031f, 0.019764f, -0.001018f, 0.014724f, -0.000459f, -0.000409f, 0.004425f, -0.000167f, 0.015475f, 0.002015f, 0.009717f, -0.003656f, 0.013188f, -0.006017f, 0.006998f, 0.026235f, -0.004371f, -0.006667f, 0.018446f, 0.003865f, 0.011990f, -0.000326f, -0.011594f, 0.003561f, -0.006722f, 0.007912f, -0.013955f, -0.001881f, -0.007292f, 0.007804f, -0.001258f, 0.001593f, 0.014228f, -0.006974f, -0.014469f, 0.004013f, -0.001325f, -0.000693f, 0.011553f, 0.002238f, 0.001572f, -0.005259f, -0.009550f, -0.010039f, -0.003442f, -0.008288f, -0.006346f, 0.008573f, -0.004408f, -0.000818f, -0.003226f, 0.001010f, -0.000047f, 0.007660f, 0.004698f, -0.008763f, -0.012750f, -0.002952f, 0.000312f, 0.003500f, -0.003545f, -0.003093f, 0.010307f, 0.005949f, 0.005029f, 0.001531f, -0.008569f, -0.003893f, 0.004488f, 0.000225f, -0.002895f, 0.003735f, -0.001266f, 0.002292f, -0.002853f, 0.000258f, -0.001678f, -0.004770f, -0.005805f, + -0.001472f, -0.005148f, 0.001382f, -0.000850f, 0.000546f, 0.003359f, -0.000868f, -0.002808f, 0.004310f, 0.000816f, 0.002773f, 0.001489f, 0.000331f, -0.001684f, 0.002169f, -0.000630f, -0.000414f, -0.000260f, -0.000390f, 0.000081f, -0.000797f, 0.001082f, 0.002779f, -0.003408f, 0.000982f, -0.004000f, 0.000692f, -0.001991f, 0.004980f, 0.032495f, -0.017324f, 0.011291f, 0.000271f, 0.005479f, -0.008069f, -0.006353f, -0.003774f, 0.006935f, 0.008968f, 0.001776f, -0.005197f, -0.009665f, 0.004782f, 0.008867f, -0.001952f, 0.002671f, -0.005020f, 0.009683f, 0.003461f, -0.018667f, -0.006268f, 0.005795f, -0.001271f, -0.008027f, -0.000564f, 0.008259f, -0.006373f, 0.002698f, -0.012227f, 0.006863f, 0.015021f, -0.006458f, 0.015899f, 0.000389f, -0.003132f, 0.010566f, -0.000665f, 0.000671f, 0.009495f, -0.021102f, 0.002940f, 0.006195f, 0.008704f, 0.005869f, 0.006752f, -0.009553f, -0.007500f, -0.000481f, 0.003126f, -0.010332f, 0.003148f, 0.009744f, 0.008664f, 0.003141f, 0.026902f, -0.008693f, -0.003625f, -0.012427f, -0.005489f, -0.008197f, -0.011519f, 0.013831f, 0.005600f, 0.013506f, -0.002368f, -0.021989f, + 0.012482f, -0.007855f, 0.006751f, 0.006122f, 0.002810f, 0.003627f, -0.017497f, 0.020304f, 0.004217f, -0.009616f, -0.016804f, -0.010514f, -0.010624f, 0.001312f, 0.008200f, -0.007846f, 0.000387f, 0.005062f, 0.004180f, -0.000128f, -0.003857f, 0.000714f, -0.000629f, 0.003093f, 0.003170f, 0.003563f, 0.002302f, 0.002311f, 0.000998f, -0.006151f, -0.005680f, 0.000131f, -0.002268f, 0.001839f, 0.002170f, -0.002928f, 0.003631f, -0.001080f, 0.001138f, 0.003113f, 0.001103f, 0.002388f, 0.000448f, -0.006530f, -0.000748f, -0.000212f, 0.001951f, 0.001537f, 0.000465f, -0.001574f, -0.002041f, 0.003338f, -0.001333f, 0.008309f, 0.001131f, 0.003523f, -0.038766f, -0.032573f, -0.029999f, 0.007169f, 0.006636f, 0.002932f, 0.001759f, -0.001784f, -0.001970f, 0.001198f, -0.004787f, -0.010645f, -0.007267f, -0.018923f, -0.008128f, -0.008990f, 0.011939f, -0.014459f, -0.006166f, -0.008022f, 0.002895f, 0.000545f, -0.003444f, 0.004703f, -0.000881f, -0.015032f, 0.000096f, 0.014509f, 0.002237f, -0.013371f, -0.011736f, 0.005680f, -0.004499f, 0.012234f, 0.008758f, -0.012616f, 0.013235f, 0.020601f, -0.016545f, -0.017008f, + -0.008872f, 0.006748f, 0.016506f, -0.011095f, -0.011426f, 0.006450f, -0.006417f, 0.001615f, -0.001097f, -0.001114f, -0.018024f, 0.003886f, 0.011603f, -0.005376f, 0.006829f, -0.008817f, -0.010477f, -0.010474f, -0.004925f, -0.018303f, 0.032397f, -0.006420f, -0.001716f, 0.005937f, 0.003920f, 0.007163f, 0.004798f, 0.010325f, 0.005000f, 0.009010f, 0.020230f, -0.025178f, 0.018316f, -0.005739f, -0.004400f, -0.000526f, -0.028038f, -0.000954f, 0.009178f, 0.001140f, 0.001584f, 0.008310f, 0.003377f, -0.000358f, 0.005203f, -0.009286f, 0.011622f, -0.003686f, -0.006022f, 0.006400f, -0.003476f, -0.003218f, 0.001618f, 0.005287f, -0.003334f, -0.005704f, 0.002540f, 0.005140f, 0.000674f, -0.001712f, -0.004784f, -0.002556f, 0.001219f, -0.007113f, -0.004486f, -0.002260f, 0.004054f, -0.001346f, 0.000769f, 0.004271f, 0.000572f, -0.007086f, -0.001183f, -0.005984f, -0.005113f, -0.004965f, -0.002760f, -0.005521f, 0.005483f, -0.001413f, 0.000850f, 0.010986f, -0.001596f, -0.002907f, -0.002349f, 0.006098f, 0.001980f, -0.001642f, -0.001588f, -0.038496f, 0.029529f, 0.007827f, 0.006452f, -0.007126f, 0.028910f, -0.004548f, + 0.013636f, -0.000045f, 0.012274f, -0.017202f, 0.006837f, 0.006734f, 0.002666f, -0.008474f, 0.025754f, -0.006990f, 0.007880f, 0.005895f, 0.026734f, -0.018034f, -0.001123f, 0.007396f, -0.004589f, -0.013246f, 0.008030f, -0.012465f, 0.003274f, 0.003364f, -0.014533f, 0.005607f, 0.001262f, 0.000687f, 0.029425f, 0.018304f, -0.002385f, -0.012066f, -0.009311f, 0.006494f, -0.001482f, -0.017665f, 0.005080f, -0.001613f, 0.005273f, 0.013188f, 0.019617f, -0.013481f, 0.013373f, 0.006572f, -0.008704f, 0.006266f, 0.005210f, -0.013952f, -0.007398f, -0.008782f, 0.014088f, -0.015205f, -0.012725f, -0.034735f, -0.025267f, 0.006936f, -0.004649f, -0.005087f, -0.013221f, -0.026985f, 0.010436f, 0.001958f, -0.000664f, 0.013050f, 0.011347f, 0.015715f, 0.009540f, 0.003707f, -0.000312f, 0.002405f, 0.018044f, -0.013354f, 0.024660f, -0.009148f, -0.006791f, -0.022529f, 0.003733f, -0.004256f, -0.011246f, -0.002171f, 0.002900f, -0.005785f, 0.006701f, -0.002864f, 0.000468f, -0.002916f, -0.000701f, -0.002532f, -0.000347f, 0.003875f, 0.006620f, 0.000340f, 0.005506f, -0.006152f, -0.004034f, -0.003212f, 0.002426f, 0.004419f, + -0.005864f, -0.002485f, -0.002609f, 0.000694f, -0.003162f, 0.002538f, -0.000373f, 0.002177f, 0.004299f, -0.000150f, -0.006236f, 0.008960f, 0.009079f, 0.003449f, 0.000327f, -0.004195f, 0.000024f, -0.002302f, -0.000678f, -0.000515f, 0.010036f, -0.046895f, 0.042711f, 0.030582f, -0.012967f, -0.011003f, 0.011278f, -0.000247f, 0.000709f, 0.020199f, 0.014196f, 0.000246f, -0.003375f, 0.007924f, -0.005125f, -0.003326f, 0.005453f, -0.009564f, 0.011223f, 0.007578f, -0.009961f, 0.012121f, -0.001685f, 0.003012f, -0.001250f, -0.020865f, -0.001485f, 0.014581f, 0.015137f, 0.005723f, 0.006291f, 0.007948f, -0.009895f, -0.012440f, 0.004883f, 0.008950f, -0.000725f, -0.005018f, -0.010876f, 0.004030f, -0.003427f, 0.012836f, 0.015190f, -0.002084f, 0.017563f, -0.009660f, 0.019611f, 0.010458f, 0.023706f, 0.001387f, 0.003179f, -0.007269f, -0.010153f, -0.002210f, 0.018119f, 0.029780f, 0.001497f, 0.022616f, -0.010229f, -0.022376f, 0.002621f, 0.007972f, -0.019584f, 0.019726f, -0.006961f, 0.006750f, -0.042749f, -0.018592f, -0.000596f, -0.010539f, 0.007896f, 0.013687f, 0.029150f, 0.005798f, -0.000095f, -0.014775f, + -0.025922f, 0.006269f, 0.000791f, -0.021831f, 0.008500f, 0.004313f, -0.015821f, -0.004746f, 0.003401f, 0.016646f, 0.000080f, 0.004796f, 0.004895f, 0.008514f, 0.006966f, -0.014713f, 0.004818f, -0.000594f, -0.003158f, -0.000024f, -0.001007f, -0.002645f, 0.005817f, 0.005445f, -0.006289f, -0.002808f, -0.000379f, 0.003791f, -0.002590f, 0.005552f, 0.000587f, 0.003952f, 0.003538f, -0.005022f, 0.003240f, 0.003963f, 0.010795f, 0.000669f, 0.006045f, 0.006597f, 0.001427f, 0.007803f, 0.002672f, 0.003860f, 0.001590f, 0.000687f, 0.002669f, 0.009225f, -0.004368f, -0.009158f, 0.001874f, 0.010701f, -0.018852f, 0.030304f, -0.014095f, 0.002982f, 0.022445f, 0.023280f, -0.002551f, -0.014550f, -0.008185f, -0.008062f, 0.000997f, -0.018583f, -0.014947f, 0.014217f, 0.002964f, 0.008882f, 0.010916f, 0.013119f, -0.006992f, 0.008260f, -0.004200f, 0.010036f, 0.043984f, 0.009837f, -0.022408f, 0.020262f, 0.023265f, 0.000343f, -0.004797f, 0.000571f, -0.012743f, -0.017122f, -0.009429f, 0.023865f, 0.015657f, 0.012909f, 0.020046f, 0.003546f, -0.004447f, -0.010288f, -0.027385f, 0.011615f, 0.013136f, 0.007092f, + -0.005069f, -0.003959f, -0.010022f, 0.003020f, 0.020724f, 0.014217f, -0.025630f, 0.015685f, -0.021752f, 0.021339f, 0.003803f, 0.007579f, 0.008937f, -0.004335f, -0.012699f, -0.004239f, 0.007946f, 0.037415f, -0.006977f, 0.018369f, -0.009378f, -0.017853f, 0.019281f, 0.017556f, 0.003681f, 0.003528f, 0.017385f, 0.005780f, 0.000130f, -0.002717f, -0.012609f, -0.004218f, -0.018059f, 0.004870f, -0.014243f, -0.007262f, 0.025997f, -0.002042f, -0.000253f, -0.000076f, 0.011449f, -0.004674f, 0.002711f, 0.007630f, 0.011521f, 0.012944f, 0.010278f, 0.003827f, 0.004909f, 0.005598f, 0.010316f, -0.002349f, -0.010107f, 0.012240f, 0.004044f, 0.006488f, 0.006729f, -0.000254f, -0.001978f, 0.000223f, -0.006741f, 0.002948f, 0.011074f, 0.000794f, 0.000457f, -0.003131f, -0.005636f, 0.009597f, 0.009806f, 0.001559f, 0.018241f, -0.002966f, 0.007212f, 0.014277f, -0.000216f, 0.003566f, -0.003325f, -0.006229f, 0.000337f, 0.002677f, 0.004165f, 0.010141f, 0.003439f, 0.007465f, 0.001738f, 0.001384f, 0.009871f, -0.002325f, 0.000875f, 0.007944f, 0.001320f, 0.002074f, 0.000427f, 0.003411f, 0.000011f, 0.004863f, + -0.001109f, 0.003494f, 0.000432f, 0.015716f, -0.008128f, 0.015983f, 0.020428f, -0.023700f, 0.015739f, 0.009092f, -0.005859f, 0.001377f, 0.010767f, -0.009958f, -0.021011f, 0.031226f, 0.006587f, 0.005924f, 0.005663f, 0.018519f, 0.005220f, -0.018755f, 0.019775f, -0.026864f, -0.031540f, 0.002746f, 0.003550f, -0.017331f, -0.005898f, -0.051263f, -0.036516f, -0.027337f, -0.009475f, -0.028116f, -0.014093f, 0.010663f, -0.025529f, 0.017743f, 0.016044f, -0.020565f, 0.026300f, 0.014204f, -0.005483f, -0.002640f, -0.014045f, 0.000639f, -0.024859f, 0.053946f, 0.015451f, 0.008458f, -0.027217f, 0.006620f, -0.008631f, 0.035816f, -0.007523f, -0.000847f, -0.032961f, 0.032014f, 0.001784f, 0.012604f, 0.010000f, 0.018728f, 0.010183f, -0.007108f, 0.010295f, -0.015767f, 0.015748f, -0.005696f, 0.009114f, -0.025298f, 0.057226f, 0.008949f, -0.027133f, 0.014668f, 0.016409f, 0.013332f, 0.019182f, 0.016925f, -0.026392f, 0.020889f, -0.000965f, 0.016893f, -0.013591f, 0.005176f, -0.033864f, 0.014274f, 0.014077f, 0.004463f, -0.008504f, -0.025011f, -0.002134f, 0.017550f, -0.022929f, -0.002791f, -0.003166f, 0.000174f, + 0.006331f, 0.005497f, -0.005590f, 0.010022f, -0.001113f, -0.004446f, 0.007122f, 0.006236f, -0.007587f, -0.005319f, -0.015228f, -0.000563f, -0.014219f, 0.008553f, 0.001682f, 0.001750f, 0.010102f, 0.016921f, 0.009849f, 0.008186f, 0.004613f, -0.005453f, -0.002952f, 0.000611f, -0.011304f, -0.008333f, -0.003121f, -0.003087f, 0.005062f, 0.013910f, 0.003532f, 0.008997f, -0.002649f, 0.000361f, 0.003519f, 0.000134f, 0.002871f, 0.010729f, -0.041771f, 0.011577f, -0.005815f, -0.004165f, 0.024627f, -0.004661f, -0.004321f, 0.002288f, 0.022040f, -0.005880f, 0.012813f, -0.010928f, -0.012848f, -0.016409f, -0.020756f, 0.035768f, 0.018613f, 0.012903f, -0.011367f, -0.032982f, -0.040422f, 0.019299f, 0.013287f, -0.014429f, 0.009521f, -0.009844f, 0.000873f, 0.035592f, 0.015513f, -0.010241f, 0.019178f, -0.006620f, 0.009913f, -0.012014f, 0.012007f, -0.026491f, -0.038846f, -0.015182f, -0.017371f, -0.003058f, 0.045290f, -0.037048f, 0.021280f, 0.012153f, 0.009199f, -0.008279f, 0.017786f, 0.007856f, -0.035527f, -0.045219f, -0.016119f, -0.020688f, 0.051003f, 0.036904f, -0.012434f, -0.022893f, -0.001961f, -0.023490f, + -0.004999f, 0.037057f, 0.034370f, 0.019415f, -0.030428f, 0.006443f, -0.023780f, 0.037152f, 0.017645f, -0.004057f, 0.000076f, 0.012431f, -0.022069f, 0.004834f, 0.032830f, 0.017745f, -0.029793f, 0.032200f, -0.016540f, 0.019197f, 0.051262f, 0.019473f, -0.012124f, -0.015308f, 0.043869f, 0.004729f, -0.002714f, -0.020060f, 0.007701f, -0.009516f, 0.002792f, -0.005984f, -0.001066f, -0.001414f, -0.021898f, 0.002648f, -0.002748f, -0.006347f, 0.009596f, -0.001809f, -0.007756f, 0.001283f, -0.004615f, 0.001105f, -0.005721f, -0.008631f, 0.007571f, -0.009556f, -0.006047f, 0.004363f, 0.011416f, -0.000681f, 0.008066f, 0.006538f, -0.001512f, -0.000146f, -0.010985f, 0.001397f, 0.003740f, -0.009426f, 0.012514f, 0.006055f, -0.007594f, -0.005224f, -0.005288f, -0.002480f, -0.012239f, 0.007155f, 0.011689f, 0.000428f, -0.009088f, -0.005415f, 0.006111f, -0.002757f, 0.005887f, 0.008107f, 0.000679f, 0.002927f, 0.000115f, -0.000029f, -0.033663f, -0.013525f, 0.054882f, 0.025110f, 0.031391f, 0.007238f, -0.046617f, 0.013678f, -0.037926f, 0.024022f, 0.068735f, 0.024078f, 0.042920f, -0.020128f, 0.012001f, 0.019640f, + -0.002637f, 0.004656f, -0.018327f, 0.003976f, 0.026696f, 0.000885f, -0.007815f, -0.025154f, 0.012993f, 0.009609f, -0.025616f, 0.012525f, -0.010069f, 0.018632f, 0.026839f, 0.028566f, 0.034532f, 0.002974f, -0.027755f, 0.006813f, 0.016027f, -0.000853f, 0.047215f, 0.003658f, -0.055451f, -0.034995f, 0.015073f, -0.014515f, -0.065344f, 0.001807f, 0.027069f, 0.009649f, 0.002347f, -0.006440f, 0.033580f, -0.027361f, -0.033800f, -0.006967f, -0.012457f, -0.032910f, -0.002350f, 0.001823f, -0.019406f, -0.028413f, -0.017624f, 0.000828f, 0.003477f, -0.040802f, 0.011463f, -0.017330f, 0.009228f, 0.045927f, -0.006909f, -0.016701f, 0.031821f, -0.006177f, 0.026398f, -0.026082f, 0.016845f, 0.000596f, -0.030125f, -0.033545f, 0.058990f, 0.005254f, 0.007472f, 0.002280f, -0.000513f, 0.059173f, 0.048215f, 0.014878f, -0.005072f, 0.022873f, -0.012053f, 0.007450f, 0.013375f, -0.003123f, 0.017760f, 0.007349f, 0.004757f, -0.027746f, 0.015598f, 0.008147f, -0.002121f, 0.001933f, -0.009808f, 0.007297f, 0.020474f, -0.004026f, -0.007445f, -0.012234f, -0.013371f, 0.012139f, 0.014343f, 0.000274f, -0.000548f, -0.012061f, + -0.012989f, 0.001677f, -0.018389f, 0.001991f, -0.006536f, 0.018095f, 0.006009f, 0.000271f, -0.012378f, -0.021081f, -0.005312f, -0.010504f, -0.014480f, 0.007452f, 0.007637f, 0.015444f, 0.005668f, 0.001823f, 0.017557f, -0.002688f, 0.047166f, 0.006370f, -0.063920f, -0.028771f, 0.040135f, -0.057159f, 0.032935f, -0.054084f, 0.004723f, -0.008421f, -0.078294f, -0.010104f, 0.035697f, 0.072593f, 0.023362f, -0.010267f, 0.017888f, -0.027510f, -0.008975f, -0.062879f, -0.003178f, -0.042639f, -0.005836f, -0.009165f, -0.029284f, -0.031220f, -0.010094f, 0.018277f, -0.028122f, 0.019826f, 0.036487f, -0.037039f, 0.013862f, 0.012218f, 0.006759f, -0.039443f, -0.005682f, -0.000230f, -0.041140f, 0.011000f, 0.053256f, -0.003847f, -0.076385f, 0.027351f, -0.045981f, -0.118215f, 0.033774f, -0.048805f, -0.060480f, 0.003386f, -0.027476f, 0.008587f, 0.021332f, -0.011535f, 0.031581f, -0.025931f, 0.027642f, -0.021382f, -0.052557f, 0.000420f, 0.038329f, 0.036444f, -0.068410f, 0.010223f, -0.007801f, -0.051157f, -0.013270f, -0.012617f, 0.089612f, 0.044592f, 0.052754f, 0.023897f, 0.023200f, 0.055242f, 0.079732f, -0.018049f, + -0.037101f, -0.040946f, 0.007660f, -0.050890f, -0.015200f, 0.026386f, 0.043299f, 0.006033f, 0.004367f, 0.037191f, -0.008127f, -0.021106f, -0.028219f, 0.022391f, 0.025904f, 0.024942f, 0.006326f, 0.028606f, 0.012379f, -0.017609f, -0.003396f, -0.017068f, 0.026632f, 0.004154f, -0.002540f, -0.029374f, 0.009408f, 0.023390f, 0.003102f, 0.000344f, 0.023470f, -0.018423f, -0.011714f, 0.012573f, 0.001834f, -0.009377f, -0.017092f, -0.005782f, 0.027545f, -0.001468f, -0.059214f, -0.005728f, -0.000918f, -0.013884f, -0.011088f, -0.015992f, -0.009105f, 0.012809f, 0.012234f, 0.006703f, 0.004721f, -0.010074f, -0.001170f, -0.012379f, 0.103806f, 0.112206f, -0.065831f, -0.026084f, 0.050126f, -0.022722f, 0.020246f, -0.031260f, 0.009395f, -0.032124f, -0.060101f, 0.081942f, 0.012005f, 0.025715f, 0.021138f, 0.007645f, 0.010830f, 0.002426f, 0.016677f, 0.020321f, -0.058132f, -0.048037f, -0.041963f, -0.039749f, -0.029653f, -0.018805f, -0.015448f, -0.031280f, -0.017592f, -0.026529f, 0.030165f, 0.022776f, 0.011658f, -0.014673f, 0.006208f, -0.061693f, -0.030843f, 0.016636f, -0.055866f, -0.005300f, 0.027349f, 0.048184f, + 0.007191f, 0.009219f, -0.020561f, -0.036298f, -0.042517f, 0.034082f, -0.004519f, 0.033730f, -0.119410f, 0.007280f, -0.013778f, 0.013564f, 0.073207f, 0.008768f, 0.012321f, 0.008026f, -0.021284f, -0.024851f, 0.000797f, -0.005104f, -0.066979f, 0.014143f, -0.024485f, 0.059926f, 0.004143f, -0.066232f, -0.089645f, -0.056077f, -0.011206f, -0.063356f, -0.061609f, -0.038632f, 0.043669f, -0.011621f, -0.042391f, -0.057689f, 0.048037f, -0.006538f, 0.028475f, -0.032647f, 0.017519f, 0.046829f, -0.031251f, -0.045917f, -0.018989f, -0.023935f, 0.049521f, 0.009947f, -0.021554f, 0.018982f, 0.014603f, 0.042488f, 0.026788f, 0.011988f, -0.038081f, -0.038606f, -0.008272f, 0.003889f, -0.009902f, 0.006289f, 0.026566f, -0.006411f, -0.002146f, -0.019971f, -0.014088f, -0.011212f, -0.020039f, -0.004490f, 0.008318f, 0.011427f, 0.062491f, 0.003418f, -0.015613f, -0.005748f, 0.008388f, 0.018705f, -0.001108f, 0.030056f, 0.012969f, 0.070468f, 0.011052f, -0.001465f, 0.002591f, 0.012088f, 0.003501f, -0.003358f, -0.020419f, -0.031353f, 0.116230f, -0.068400f, 0.043722f, 0.082198f, -0.040356f, 0.011166f, 0.065527f, -0.084293f, + 0.002728f, 0.008875f, 0.040142f, -0.094453f, 0.004608f, 0.005838f, 0.030275f, -0.041484f, -0.000101f, 0.016357f, -0.055887f, 0.007757f, -0.004829f, -0.010790f, 0.029791f, -0.009597f, -0.008980f, 0.012409f, -0.007891f, -0.009847f, 0.029194f, -0.028328f, 0.007573f, -0.011927f, 0.006965f, -0.018298f, -0.010568f, -0.022217f, -0.000358f, 0.003820f, 0.057726f, 0.019002f, 0.027702f, -0.006316f, -0.000019f, 0.042880f, -0.002518f, -0.016777f, 0.023585f, 0.017495f, -0.020206f, -0.057059f, 0.051231f, -0.056866f, 0.008538f, 0.026732f, 0.034894f, -0.055960f, 0.058665f, 0.095060f, -0.052895f, -0.097354f, 0.129086f, 0.045529f, -0.064843f, 0.029298f, -0.062456f, -0.076969f, -0.038952f, -0.014348f, -0.080802f, 0.064473f, -0.112350f, 0.033190f, 0.052494f, -0.044617f, -0.149957f, 0.140792f, -0.025329f, -0.036690f, 0.093240f, -0.094037f, 0.047636f, 0.079955f, -0.024878f, -0.022314f, 0.024100f, 0.027274f, -0.015895f, 0.009651f, 0.007388f, 0.025158f, -0.013408f, -0.009534f, 0.027611f, -0.000347f, 0.005504f, -0.003293f, 0.004458f, 0.022505f, 0.015949f, -0.003363f, -0.021254f, 0.033114f, 0.035172f, -0.007097f, + -0.031979f, -0.003558f, 0.014345f, 0.003053f, 0.021272f, -0.000148f, 0.018477f, 0.007997f, 0.027544f, 0.020857f, 0.022964f, -0.035864f, 0.008127f, -0.000935f, 0.000403f, -0.000105f, -0.022801f, -0.038712f, 0.055223f, -0.009328f, -0.053162f, 0.018693f, 0.011508f, 0.005211f, -0.009722f, -0.036190f, -0.028081f, 0.065155f, -0.042608f, -0.034034f, -0.068144f, -0.031270f, 0.040858f, 0.031738f, -0.018014f, -0.022551f, 0.021871f, 0.054067f, -0.022921f, 0.040833f, 0.048892f, -0.034345f, -0.004728f, 0.029909f, -0.007466f, -0.000001f, -0.009596f, 0.002739f, -0.049474f, 0.013756f, -0.010789f, 0.001811f, 0.012213f, -0.009876f, 0.010497f, -0.020510f, -0.041393f, -0.019588f, -0.072249f, 0.009181f, 0.000090f, -0.010708f, 0.013698f, 0.007014f, -0.004472f, -0.016422f, 0.029398f, 0.046146f, -0.048131f, 0.070849f, -0.007716f, 0.009540f, 0.010518f, 0.062633f, 0.028968f, 0.045853f, -0.057161f, -0.014157f, -0.010499f, 0.081610f, -0.075805f, -0.025912f, 0.037473f, -0.002665f, -0.087575f, 0.006026f, -0.017840f, -0.014954f, 0.040399f, 0.044030f, 0.003378f, -0.032929f, 0.071285f, -0.029845f, 0.118686f, 0.001624f, + -0.054631f, -0.000017f, -0.009237f, -0.062100f, 0.119248f, 0.023955f, -0.017434f, -0.140765f, -0.070060f, 0.039718f, -0.051522f, -0.046611f, 0.055457f, -0.206372f, 0.005522f, 0.040716f, 0.030185f, -0.016661f, 0.058372f, -0.035485f, -0.004284f, 0.000305f, 0.030561f, -0.008559f, 0.006505f, 0.041166f, -0.002543f, -0.010347f, -0.012690f, -0.014775f, -0.000323f, 0.004636f, -0.002410f, -0.006209f, 0.026912f, -0.037203f, -0.008017f, 0.004442f, 0.006543f, -0.022285f, -0.037383f, -0.009589f, -0.011245f, -0.005392f, -0.002810f, 0.007306f, -0.041508f, 0.003216f, 0.032068f, -0.019775f, 0.024598f, 0.018598f, -0.017906f, 0.001130f, -0.013022f, 0.005273f, 0.009252f, -0.019519f, 0.055140f, -0.026632f, -0.024237f, -0.031753f, -0.028803f, -0.014385f, 0.025889f, 0.035353f, 0.021324f, 0.088799f, -0.017828f, 0.019662f, -0.009178f, -0.046719f, 0.022494f, -0.029984f, -0.017199f, 0.017859f, 0.039461f, -0.042863f, 0.045559f, 0.004743f, -0.002978f, 0.093640f, -0.019787f, -0.011025f, 0.069949f, -0.045698f, 0.061711f, 0.026369f, -0.015454f, 0.024334f, 0.025600f, 0.057657f, 0.059827f, 0.017045f, -0.049815f, 0.102282f, + -0.103836f, 0.002949f, 0.093158f, -0.051043f, 0.020082f, -0.011660f, -0.012873f, -0.109250f, 0.073123f, 0.019023f, 0.032057f, 0.034126f, -0.023319f, -0.054627f, -0.041435f, -0.033479f, 0.004409f, 0.102830f, -0.000050f, 0.080555f, -0.027717f, -0.062850f, 0.002666f, 0.022831f, -0.052000f, 0.082693f, 0.033048f, 0.040404f, 0.081342f, 0.052726f, -0.088671f, 0.033073f, -0.126850f, -0.156159f, 0.002449f, 0.130692f, 0.081411f, 0.010180f, -0.093595f, -0.331777f, -0.061764f, 0.102047f, 0.116234f, 0.165526f, -0.009290f, -0.210834f, -0.119566f, -0.110016f, 0.167369f, 0.128215f, -0.024104f, -0.084469f, -0.050098f, -0.102632f, -0.013957f, 0.131384f, -0.013698f, 0.030465f, 0.021079f, -0.021950f, -0.048660f, 0.071466f, -0.030081f, 0.039731f, 0.028415f, -0.003042f, -0.067644f, 0.091129f, -0.037033f, -0.017563f, 0.025489f, 0.023438f, -0.050488f, 0.000549f, -0.016520f, -0.018937f, 0.005284f, -0.002032f, 0.035582f, -0.065633f, 0.033610f, -0.078929f, -0.013497f, -0.013335f, 0.092501f, 0.002589f, 0.024309f, -0.057292f, 0.028764f, -0.021638f, 0.040241f, 0.049317f, -0.025049f, -0.056934f, 0.019328f, 0.014607f, + 0.046725f, 0.039417f, -0.010629f, -0.015546f, -0.008046f, 0.032408f, 0.005087f, 0.032660f, 0.013574f, -0.081110f, 0.068363f, -0.050960f, -0.008691f, -0.032964f, 0.031863f, -0.037050f, -0.001421f, -0.003812f, -0.009912f, 0.007711f, 0.035111f, -0.036824f, 0.016420f, 0.002969f, -0.008356f, 0.000580f, 0.024833f, -0.031138f, -0.008331f, -0.004522f, 0.051380f, -0.051775f, 0.013960f, -0.022675f, 0.034132f, -0.037804f, -0.010530f, 0.012992f, -0.007088f, 0.007194f, -0.024228f, -0.004324f, 0.022385f, -0.006725f, 0.008810f, 0.007012f, 0.004898f, 0.027669f, -0.025374f, 0.017348f, 0.020246f, 0.024686f, -0.003183f, -0.057374f, 0.007640f, 0.006778f, 0.023656f, 0.021292f, -0.003871f, 0.005674f, -0.009351f, -0.026123f, -0.004124f, 0.011895f, -0.004594f, 0.034766f, -0.028029f, -0.009456f, -0.056247f, 0.016820f, 0.006454f, -0.009007f, 0.012987f, 0.010950f, -0.000465f, -0.029322f, 0.009464f, 0.028450f, -0.005198f, -0.004276f, 0.011592f, -0.011644f, 0.021700f, -0.013283f, 0.004002f, -0.026966f, 0.013084f, 0.004930f, -0.003873f, -0.007494f, 0.015939f, -0.007594f, -0.010863f, -0.016347f, 0.017319f, -0.000856f, + -0.008067f, -0.003800f, 0.017253f, -0.006843f, 0.007872f, -0.009521f, -0.005180f, -0.001080f, 0.001052f, -0.000385f, -0.008801f, 0.000796f, 0.000751f, -0.008023f, 0.008441f, -0.007634f, 0.022470f, 0.003247f, 0.003438f, -0.030700f, 0.009097f, -0.000873f, -0.011635f, 0.013522f, 0.026331f, -0.018989f, -0.003675f, -0.001006f, -0.012909f, 0.020152f, -0.002838f, 0.002607f, -0.012914f, 0.006730f, -0.002294f, 0.002173f, -0.008010f, 0.007850f, -0.007987f, -0.046315f, 0.112296f, 0.030612f, 0.027750f, -0.014850f, -0.035945f, -0.034586f, 0.009824f, 0.021803f, 0.003446f, -0.001281f, -0.000114f, -0.016405f, -0.002978f, 0.007885f, -0.004341f, 0.003395f, -0.001748f, -0.016435f, -0.000847f, 0.008139f, 0.012836f, -0.011440f, 0.003160f, 0.008216f, -0.016368f, 0.026879f, -0.016310f, -0.014244f, -0.014136f, 0.003671f, 0.007874f, 0.012469f, -0.013598f, 0.017397f, -0.025056f, 0.016609f, 0.014833f, -0.011045f, -0.001123f, -0.000805f, -0.002864f, 0.012942f, -0.013924f, 0.004058f, -0.004437f, -0.018048f, 0.025582f, -0.014291f, -0.000461f, -0.010591f, -0.003285f, 0.017808f, -0.023237f, 0.009457f, 0.006475f, -0.010174f, + 0.008573f, -0.019861f, 0.005786f, 0.008242f, -0.014716f, 0.000339f, 0.007951f, -0.013654f, 0.013722f, -0.018843f, 0.005256f, 0.019274f, -0.028207f, 0.008107f, -0.010758f, 0.001929f, 0.011126f, -0.008453f, -0.004287f, 0.001975f, 0.002451f, -0.001709f, 0.007964f, -0.006053f, -0.005169f, 0.003848f, -0.004618f, 0.002515f, -0.001758f, 0.003313f, 0.003164f, -0.004583f, 0.002320f, -0.000888f, 0.004137f, -0.003787f, -0.001026f, 0.002744f, 0.000122f, -0.002200f, -0.006532f, 0.004132f, 0.004385f, -0.001006f, -0.004507f, 0.004305f, -0.000193f, -0.002063f, 0.004488f, -0.009374f, -0.001871f, 0.005262f, -0.006714f, 0.009781f, -0.005985f, 0.000434f, 0.016299f, -0.004759f, 0.011749f, -0.006691f, -0.000624f, 0.012912f, -0.009044f, -0.003445f, 0.016848f, -0.086763f, -0.203585f, 0.057642f, 0.199321f, 0.137083f, 0.216741f, -0.120648f, -0.128423f, -0.175122f, -0.202719f, 0.004368f, 0.156435f, 0.161620f, 0.168737f, 0.033138f, -0.055740f, -0.110621f, -0.158778f, -0.134574f, 0.010499f, 0.104567f, 0.124031f, 0.111601f, 0.026714f, -0.030820f, -0.019244f, -0.087116f, -0.097442f, -0.041099f, -0.002642f, 0.037502f, + 0.082192f, 0.040157f, 0.029821f, 0.041176f, -0.020542f, -0.048864f, -0.007992f, -0.078129f, -0.036647f, 0.000874f, 0.012414f, 0.059569f, 0.069356f, 0.006167f, -0.010498f, -0.006502f, -0.051166f, -0.013853f, -0.000710f, -0.010636f, 0.017723f, 0.034278f, -0.007301f, -0.002707f, -0.013444f, -0.021386f, 0.004394f, 0.002124f, -0.002331f, 0.038675f, 0.026180f, 0.009680f, -0.000981f, -0.036456f, -0.052718f, -0.041685f, 0.003014f, 0.039246f, 0.033690f, 0.044215f, 0.006017f, 0.001156f, 0.010058f, -0.054861f, -0.031226f, -0.025795f, -0.004688f, 0.042105f, 0.009524f, 0.014129f, 0.039280f, -0.022664f, -0.032974f, -0.007673f, -0.005627f, 0.012180f, 0.014163f, 0.004432f, 0.007909f, 0.003465f, -0.020240f, -0.020974f, -0.005112f, -0.000004f, 0.015089f, 0.021832f, 0.007168f, -0.003082f, -0.004735f, -0.006210f, 0.005475f, -0.006124f, -0.025737f, -0.004039f, 0.006076f, 0.011932f, 0.025640f, 0.006245f, -0.005308f, -0.012316f, -0.021070f, -0.004609f, 0.002133f, 0.006873f, 0.012066f, 0.015065f, 0.011874f, -0.006080f, -0.018255f, -0.019249f, -0.016790f, -0.001924f, 0.008370f, 0.009260f, 0.024772f, 0.025426f, + 0.012403f, -0.005488f, -0.031250f, -0.033061f, -0.015317f, -0.011587f, 0.011690f, 0.030864f, 0.022879f, 0.009890f, 0.000135f, -0.002457f, -0.004019f, -0.009442f, -0.015520f, -0.014931f, -0.006369f, 0.002190f, 0.006470f, 0.010351f, 0.015042f, 0.014342f, 0.005500f, -0.005569f, -0.012064f, -0.013063f, -0.009696f, -0.003674f, 0.001990f, 0.004618f, 0.004563f, 0.005541f, 0.006380f, 0.004904f, 0.000138f, -0.003747f, -0.006477f, -0.005286f, -0.001929f, 0.001114f, 0.002570f, 0.000444f, -0.000286f, 0.000454f, 0.000666f, 0.001907f, 0.002026f, -0.000068f, -0.002136f, -0.000890f, 0.001664f, 0.000426f, -0.001911f, -0.001569f, -0.000259f, -0.001295f, -0.002131f, -0.000341f, 0.003857f, 0.005222f, 0.001622f, -0.001284f, -0.001952f, -0.001390f, -0.000883f, -0.001504f, -0.002097f, -0.000826f, 0.001474f, 0.002369f, 0.001335f, 0.001086f, 0.001304f, 0.000246f, -0.000836f, -0.001765f, -0.001801f, -0.001266f, -0.000422f, 0.000868f, 0.001458f, 0.001067f, 0.000868f, 0.000435f, -0.000235f, -0.000882f, -0.001221f, -0.000930f, 0.000030f, 0.000634f, 0.000707f, 0.000523f, 0.000157f, -0.000332f, -0.000734f, -0.000520f, + 0.000079f, 0.000364f, 0.000390f, 0.000377f, 0.000165f, -0.000192f, -0.000340f, -0.000213f, -0.000100f, -0.000026f, 0.000056f, 0.000077f, 0.000054f, 0.000025f, -0.000010f, -0.000039f}, + {-0.008210f, -0.005458f, 0.002284f, -0.002113f, -0.002598f, -0.004007f, 0.000965f, 0.007921f, -0.002555f, 0.000017f, 0.000804f, 0.013573f, -0.000274f, 0.002586f, -0.005594f, -0.003900f, -0.001393f, -0.003675f, -0.003934f, -0.003707f, -0.002510f, -0.003524f, -0.004632f, 0.003875f, 0.006456f, -0.003568f, 0.000982f, 0.000243f, -0.007330f, 0.000187f, -0.000163f, -0.005223f, 0.009814f, -0.005037f, 0.005581f, 0.002105f, -0.001504f, -0.005655f, -0.005201f, 0.005024f, -0.002624f, -0.001927f, -0.007750f, -0.002002f, -0.000716f, -0.003685f, 0.010354f, -0.002289f, -0.000646f, 0.004297f, -0.000750f, -0.008655f, -0.004426f, -0.007635f, -0.005101f, 0.011768f, -0.003309f, 0.013090f, -0.000047f, -0.000578f, -0.002372f, 0.001493f, 0.000560f, -0.007840f, -0.008309f, 0.006020f, 0.000700f, 0.004080f, -0.000547f, 0.004757f, 0.002955f, -0.007603f, -0.000038f, 0.002476f, 0.004091f, -0.000055f, 0.003456f, 0.006225f, -0.008343f, 0.002160f, 0.002164f, -0.004230f, 0.000015f, 0.001853f, 0.006015f, 0.003901f, -0.004163f, -0.001316f, -0.000209f, 0.001352f, 0.001927f, 0.001398f, 0.001590f, -0.001154f, 0.000838f, -0.002332f, + -0.001435f, -0.000093f, 0.003078f, 0.001283f, -0.000066f, -0.000282f, -0.002045f, 0.001151f, -0.000132f, -0.000774f, -0.000149f, 0.001015f, 0.000487f, 0.000708f, 0.001999f, -0.000727f, 0.000897f, 0.002294f, 0.017836f, -0.001499f, -0.002267f, -0.004694f, -0.009907f, -0.012198f, -0.011170f, 0.001135f, 0.009765f, 0.003355f, 0.013070f, 0.004428f, -0.006079f, 0.001494f, -0.015780f, -0.013378f, 0.006068f, -0.004764f, 0.008590f, -0.000913f, -0.007070f, -0.003570f, 0.017159f, 0.003755f, 0.007195f, -0.000432f, 0.005485f, -0.002675f, -0.002225f, 0.003318f, -0.002483f, -0.007640f, -0.000660f, 0.002660f, -0.000983f, -0.000553f, 0.010876f, 0.006693f, -0.011909f, 0.000170f, -0.007593f, 0.012340f, 0.007251f, 0.000420f, -0.004524f, -0.004644f, 0.005620f, 0.003093f, 0.009178f, -0.008721f, 0.014631f, 0.017980f, -0.005086f, 0.017515f, -0.000130f, 0.009132f, 0.005633f, -0.003358f, 0.002948f, 0.014019f, -0.001757f, -0.009629f, 0.008054f, 0.002533f, -0.000211f, -0.001196f, -0.001783f, 0.000504f, 0.008134f, -0.005395f, 0.002887f, 0.002109f, 0.004256f, -0.006932f, 0.007661f, 0.001698f, -0.000793f, 0.002356f, + 0.001023f, 0.000653f, -0.000438f, 0.001654f, 0.004457f, -0.003323f, 0.001732f, 0.001109f, 0.001811f, -0.003043f, 0.000098f, -0.004821f, 0.000709f, 0.002112f, -0.002839f, -0.001848f, 0.000514f, 0.001197f, 0.001421f, 0.000321f, 0.001284f, -0.000110f, -0.000091f, 0.002765f, -0.000388f, 0.000613f, -0.015497f, -0.012108f, 0.003863f, -0.006837f, 0.004952f, -0.008555f, -0.012169f, -0.011246f, 0.001618f, -0.008390f, 0.007764f, 0.005701f, -0.010791f, -0.002188f, 0.004458f, 0.001078f, 0.005473f, -0.003152f, 0.005662f, 0.006958f, -0.009570f, 0.003121f, 0.003218f, -0.007684f, 0.004593f, 0.000837f, -0.009062f, 0.006809f, 0.006581f, -0.003200f, 0.007187f, 0.001065f, 0.005877f, 0.005311f, 0.002260f, -0.003388f, -0.000794f, -0.010890f, -0.003236f, -0.005394f, 0.005815f, 0.006099f, 0.002452f, -0.017473f, 0.003407f, 0.007416f, -0.003895f, 0.012349f, -0.010003f, -0.013320f, 0.001083f, -0.003928f, 0.004338f, -0.009502f, 0.017457f, -0.000882f, -0.005751f, 0.001735f, 0.000286f, 0.009932f, -0.000495f, -0.005747f, -0.000314f, -0.003894f, -0.005273f, -0.006740f, 0.003254f, -0.012206f, 0.001328f, 0.000471f, + 0.003665f, 0.008195f, 0.002763f, 0.005837f, 0.009083f, -0.006142f, -0.001013f, 0.002031f, -0.007633f, 0.005283f, -0.002552f, 0.004504f, 0.003656f, -0.002375f, -0.001746f, 0.006619f, -0.002067f, -0.006014f, 0.000931f, -0.000632f, -0.000148f, -0.003245f, 0.004889f, -0.003707f, 0.001908f, 0.001804f, 0.002532f, -0.000958f, -0.000922f, 0.000291f, -0.001769f, 0.000720f, -0.001186f, 0.000111f, -0.000705f, -0.001823f, 0.002439f, -0.000934f, 0.000599f, -0.000336f, 0.000232f, 0.000019f, 0.000509f, -0.003111f, -0.037147f, -0.000533f, -0.004469f, 0.026302f, 0.000649f, 0.001660f, 0.005668f, -0.003580f, 0.013282f, 0.003335f, -0.014055f, -0.007521f, -0.016503f, 0.003018f, -0.001096f, -0.005615f, -0.004732f, -0.005997f, -0.003808f, 0.020480f, -0.009328f, -0.004563f, -0.005258f, -0.015475f, -0.000608f, -0.003745f, 0.005363f, 0.007790f, -0.002472f, -0.000031f, 0.004596f, -0.004694f, -0.001250f, -0.001956f, -0.005582f, 0.006308f, 0.012621f, -0.001433f, -0.002033f, 0.010013f, -0.013107f, 0.008616f, -0.010456f, -0.021111f, -0.013380f, -0.021025f, -0.003167f, -0.011956f, -0.008036f, 0.002297f, 0.008467f, 0.004349f, + 0.006066f, -0.003034f, 0.007348f, -0.008884f, -0.001972f, 0.007731f, 0.000022f, 0.010705f, -0.004379f, 0.003360f, -0.007391f, -0.005537f, 0.005578f, -0.012804f, 0.003514f, 0.009777f, -0.012510f, 0.001411f, -0.003269f, -0.005717f, -0.008185f, -0.007315f, -0.002405f, -0.003142f, 0.002053f, 0.009168f, -0.004300f, 0.002976f, -0.007501f, -0.007944f, -0.006284f, 0.003235f, 0.004381f, 0.001304f, -0.001923f, -0.002190f, -0.003322f, 0.002047f, -0.002806f, -0.002366f, -0.001091f, -0.002181f, -0.000226f, 0.000636f, -0.004032f, -0.000770f, -0.000418f, -0.002921f, -0.000733f, -0.001197f, 0.000088f, -0.000335f, -0.005537f, 0.000894f, 0.002435f, -0.000857f, -0.002136f, -0.000016f, 0.003555f, 0.002015f, -0.001289f, -0.003732f, 0.002212f, -0.000269f, -0.001225f, 0.023859f, 0.000177f, -0.013286f, -0.012763f, -0.004369f, -0.009302f, -0.003583f, -0.006988f, 0.001833f, 0.001179f, -0.010510f, -0.006162f, -0.011546f, 0.021929f, 0.009294f, 0.002051f, -0.001237f, 0.011908f, -0.017722f, -0.000246f, -0.000374f, -0.011166f, -0.014915f, 0.013387f, 0.000270f, 0.009563f, -0.014964f, -0.006507f, -0.005216f, 0.005239f, -0.000537f, + 0.006433f, -0.010326f, 0.003161f, 0.004220f, -0.011128f, -0.010754f, -0.009677f, 0.002319f, -0.003158f, -0.003015f, 0.009483f, -0.002774f, 0.001091f, 0.000166f, -0.001817f, -0.010676f, -0.006456f, -0.001236f, -0.015982f, -0.010483f, -0.008396f, 0.004454f, 0.003120f, 0.006401f, -0.001532f, 0.002796f, -0.000128f, -0.001649f, 0.007513f, -0.005800f, 0.013049f, 0.001814f, 0.003989f, -0.001722f, -0.004236f, 0.005162f, 0.004076f, 0.010254f, -0.003042f, 0.001596f, 0.006325f, -0.003716f, 0.000185f, -0.013572f, 0.006447f, -0.010452f, 0.006674f, -0.007730f, -0.007446f, -0.014637f, -0.002791f, 0.003691f, 0.001666f, -0.002481f, 0.003472f, 0.001462f, 0.006748f, 0.001073f, -0.001964f, 0.005833f, 0.003265f, -0.005227f, 0.001344f, -0.004255f, 0.004668f, -0.001880f, 0.000849f, -0.001184f, -0.000458f, -0.003760f, -0.000066f, 0.000184f, 0.000780f, -0.002219f, 0.001820f, -0.003169f, 0.001311f, -0.000605f, -0.001491f, -0.002817f, 0.000800f, -0.001906f, 0.004020f, 0.001072f, -0.000974f, -0.001774f, -0.001515f, 0.003019f, 0.002124f, 0.002882f, 0.000376f, 0.000273f, 0.001606f, -0.003353f, 0.028271f, 0.026769f, + 0.020010f, -0.006614f, 0.007403f, 0.010184f, 0.006023f, 0.005798f, -0.009781f, -0.008522f, -0.012839f, 0.011643f, -0.012041f, -0.001384f, -0.008732f, 0.015410f, -0.016869f, -0.012564f, -0.006222f, -0.002633f, -0.009247f, -0.013947f, 0.004107f, 0.000842f, 0.000918f, -0.016934f, -0.009295f, 0.004551f, 0.003662f, 0.004937f, -0.004530f, -0.006670f, 0.000624f, 0.005222f, 0.006632f, -0.004699f, 0.006310f, -0.008948f, -0.002319f, -0.022043f, 0.008195f, 0.002759f, -0.003735f, -0.004104f, -0.016252f, -0.007370f, 0.002129f, -0.003871f, -0.022859f, 0.012462f, 0.005174f, 0.000058f, -0.006128f, -0.004730f, -0.009640f, 0.003046f, -0.003385f, 0.006686f, -0.001388f, -0.003219f, -0.012987f, -0.002449f, -0.001259f, -0.007114f, 0.014366f, -0.010317f, 0.000237f, 0.008569f, -0.003532f, -0.011165f, -0.006277f, 0.009725f, 0.014033f, 0.006983f, -0.001038f, -0.000354f, 0.007437f, -0.015034f, 0.006177f, -0.001540f, -0.000709f, 0.000758f, 0.003276f, -0.000812f, -0.000608f, 0.000812f, -0.002934f, -0.009060f, -0.002445f, -0.002734f, 0.002793f, 0.001995f, 0.001067f, -0.003480f, -0.001843f, -0.004028f, -0.005016f, -0.001204f, + -0.000184f, 0.006064f, 0.000576f, 0.000867f, 0.000748f, -0.002051f, -0.001217f, 0.002815f, -0.003160f, -0.000447f, 0.001084f, 0.001778f, -0.003777f, 0.000091f, -0.000339f, 0.002264f, -0.002718f, -0.000604f, -0.001606f, -0.002592f, -0.005809f, -0.002623f, -0.000292f, -0.002483f, -0.000007f, 0.000340f, -0.000294f, -0.003163f, -0.001282f, 0.034059f, 0.011418f, -0.004992f, -0.003983f, 0.011949f, -0.023027f, -0.004349f, 0.018635f, 0.009331f, -0.013000f, -0.000305f, -0.008822f, 0.003583f, 0.014333f, 0.035194f, 0.011621f, 0.027407f, -0.009719f, -0.002057f, -0.026687f, 0.009038f, -0.007786f, 0.007493f, -0.011688f, -0.000635f, 0.001129f, -0.004181f, 0.009582f, -0.004313f, 0.004578f, 0.011770f, -0.009030f, 0.005299f, 0.015064f, -0.004127f, 0.005043f, -0.000005f, 0.006060f, 0.008225f, 0.008484f, -0.045297f, 0.016563f, -0.005257f, -0.021193f, -0.003730f, 0.012957f, 0.003936f, -0.016368f, 0.008811f, 0.012922f, -0.026690f, 0.002154f, -0.007554f, 0.015702f, 0.003555f, 0.012975f, -0.003196f, -0.009314f, -0.018754f, 0.001166f, -0.011356f, 0.035368f, 0.006501f, -0.005787f, 0.011750f, 0.001507f, 0.011368f, + -0.027790f, -0.003696f, 0.004319f, 0.008586f, 0.002075f, -0.013048f, -0.002022f, 0.004718f, 0.012408f, 0.010408f, -0.008600f, 0.000194f, 0.012212f, -0.000570f, 0.005771f, -0.004286f, -0.002056f, 0.008497f, 0.000872f, -0.000710f, -0.001122f, 0.000384f, 0.004233f, -0.004079f, -0.001736f, -0.000563f, 0.003306f, 0.003105f, -0.000359f, -0.001176f, 0.008479f, -0.002735f, -0.001382f, -0.004497f, 0.000652f, 0.002227f, -0.002142f, 0.000096f, 0.002664f, 0.003376f, -0.002927f, -0.001434f, -0.004908f, 0.000306f, 0.004031f, -0.001959f, 0.000823f, 0.001755f, 0.002140f, 0.006717f, 0.000969f, 0.003252f, -0.000105f, -0.003023f, 0.004539f, 0.001010f, -0.040435f, -0.044348f, -0.015184f, -0.003462f, 0.000815f, 0.009421f, -0.018938f, 0.005974f, 0.022330f, -0.012813f, 0.011888f, 0.015455f, -0.010767f, 0.000329f, -0.005242f, 0.018901f, 0.026375f, -0.012637f, -0.014881f, 0.013256f, 0.001283f, -0.012666f, 0.006004f, 0.000206f, 0.003316f, 0.003765f, -0.006758f, -0.004938f, -0.028166f, -0.001456f, -0.008045f, -0.000656f, -0.000819f, 0.019150f, 0.005705f, -0.034399f, 0.000596f, 0.016574f, -0.018788f, 0.004943f, + 0.020252f, -0.004461f, 0.007145f, 0.000398f, -0.005281f, -0.013082f, 0.026034f, 0.021872f, -0.016614f, 0.008700f, -0.006159f, -0.000879f, 0.008127f, -0.005792f, 0.006824f, -0.010316f, -0.001137f, 0.021952f, -0.006203f, 0.004629f, 0.010417f, -0.007524f, -0.018016f, -0.000795f, 0.006246f, 0.003186f, -0.008632f, 0.001123f, 0.004916f, 0.007789f, 0.016117f, 0.009917f, 0.017732f, 0.009317f, 0.003472f, 0.008194f, -0.002846f, 0.015916f, -0.000463f, -0.012631f, -0.016903f, 0.002051f, 0.005571f, -0.003005f, 0.012749f, -0.006592f, -0.006783f, 0.005003f, -0.001529f, 0.001318f, 0.000716f, -0.007887f, -0.001023f, -0.004771f, 0.005843f, 0.002540f, 0.004715f, 0.009003f, 0.001209f, -0.003257f, -0.013049f, -0.001065f, 0.003132f, -0.003412f, -0.001270f, 0.001267f, -0.002834f, 0.002744f, 0.003010f, 0.000310f, -0.003002f, -0.002271f, 0.006524f, -0.000976f, 0.003116f, 0.001528f, 0.002182f, -0.004678f, -0.004778f, -0.002953f, 0.001227f, 0.002139f, 0.003957f, 0.002779f, 0.001996f, 0.001717f, 0.004951f, -0.001346f, -0.004643f, -0.043958f, 0.048180f, -0.003225f, 0.030854f, 0.001982f, -0.018539f, -0.005836f, + -0.010905f, -0.013132f, -0.002058f, 0.000469f, 0.022211f, -0.003976f, 0.015139f, -0.016025f, -0.001219f, 0.003466f, 0.003197f, 0.001390f, 0.019258f, 0.019205f, 0.006779f, 0.002742f, -0.002855f, -0.004193f, -0.001501f, -0.003635f, -0.033101f, -0.011525f, 0.014710f, 0.009381f, -0.004018f, 0.001305f, -0.015859f, 0.007487f, -0.019362f, 0.003805f, 0.029816f, 0.002935f, 0.006189f, -0.025444f, 0.013044f, 0.011356f, 0.002862f, -0.017179f, -0.007727f, -0.008186f, 0.001022f, -0.015451f, 0.015095f, 0.018549f, 0.011041f, -0.001996f, 0.027940f, 0.009713f, 0.041058f, 0.015868f, -0.011424f, 0.034188f, 0.000433f, -0.012889f, 0.024631f, -0.004372f, 0.007903f, 0.015441f, -0.011706f, -0.010026f, 0.022761f, 0.024540f, 0.014332f, -0.020438f, 0.007316f, -0.000484f, -0.009645f, -0.016835f, 0.011943f, 0.021693f, 0.012948f, 0.031629f, 0.004069f, -0.007313f, -0.007443f, -0.019944f, -0.007785f, 0.011911f, 0.001577f, -0.003876f, 0.000460f, -0.012540f, -0.008912f, 0.001451f, 0.002829f, -0.000678f, 0.012890f, 0.010168f, 0.004320f, 0.000161f, 0.003559f, 0.006000f, 0.002921f, -0.006377f, -0.002781f, 0.001540f, + -0.001708f, -0.002359f, 0.005260f, 0.000249f, -0.001867f, 0.004222f, 0.001411f, 0.001183f, 0.001461f, -0.004290f, 0.000736f, 0.011307f, -0.005526f, 0.007039f, 0.003107f, 0.000062f, -0.005488f, -0.006020f, -0.003243f, 0.002208f, 0.010726f, -0.023375f, 0.031113f, -0.008975f, -0.020417f, 0.006846f, 0.013542f, -0.013555f, -0.006854f, -0.028632f, 0.012013f, -0.010500f, -0.003434f, -0.026251f, -0.011516f, -0.008908f, -0.004467f, -0.011844f, 0.006219f, -0.005323f, -0.006440f, 0.006162f, 0.008703f, 0.015270f, 0.015012f, -0.006500f, -0.005383f, -0.021176f, 0.008371f, 0.000379f, 0.013962f, 0.003794f, 0.003770f, -0.004829f, 0.005613f, -0.013262f, -0.011159f, 0.006181f, 0.003216f, 0.006272f, -0.025760f, 0.008586f, 0.016924f, -0.000112f, -0.022681f, -0.023790f, -0.018448f, -0.054785f, 0.007782f, -0.006372f, 0.026532f, -0.013036f, 0.022052f, 0.006987f, 0.001546f, 0.028292f, 0.004369f, -0.003360f, 0.020437f, 0.007463f, -0.027759f, -0.013912f, 0.003370f, -0.008963f, -0.015736f, -0.009697f, 0.035894f, 0.016387f, -0.016825f, -0.002156f, -0.009429f, -0.004745f, 0.005290f, 0.025202f, 0.000511f, -0.006916f, + 0.033546f, -0.012128f, -0.030375f, -0.029160f, -0.034381f, -0.006251f, 0.002690f, -0.001040f, -0.006003f, -0.004357f, -0.014667f, -0.003045f, 0.004368f, -0.004723f, -0.004299f, 0.002748f, 0.002880f, -0.021818f, -0.008839f, -0.017128f, 0.000874f, -0.005924f, -0.005428f, -0.009261f, -0.002774f, 0.002238f, 0.013218f, -0.000060f, 0.016196f, 0.007733f, 0.011916f, 0.001048f, 0.005652f, -0.005747f, 0.010875f, -0.000291f, -0.007693f, -0.011833f, 0.006765f, 0.000820f, 0.003782f, -0.003283f, 0.002210f, -0.003913f, 0.003821f, -0.001582f, 0.004514f, -0.001205f, -0.001809f, 0.002572f, -0.000516f, 0.013551f, -0.022514f, -0.005683f, -0.006052f, -0.002979f, -0.001589f, 0.059709f, 0.009759f, 0.021808f, -0.010622f, 0.019040f, 0.038475f, -0.033032f, 0.049991f, 0.029610f, -0.013400f, 0.000410f, 0.003013f, -0.018023f, -0.030183f, 0.002035f, -0.017508f, -0.026956f, -0.012084f, 0.002349f, 0.000025f, -0.003352f, -0.012118f, -0.002069f, -0.011799f, -0.000867f, -0.013637f, -0.001041f, 0.009315f, -0.021200f, 0.011604f, 0.017763f, -0.013883f, -0.012940f, 0.009179f, 0.006896f, -0.001222f, 0.053590f, 0.004720f, 0.035705f, + -0.025720f, -0.002550f, -0.031182f, -0.022941f, 0.005502f, -0.023011f, -0.031520f, -0.021074f, -0.023942f, -0.005284f, -0.006381f, -0.026645f, -0.028892f, 0.037628f, 0.005914f, 0.002301f, -0.005113f, 0.019456f, 0.010838f, 0.023481f, -0.002338f, 0.022188f, -0.012450f, 0.004995f, -0.041655f, 0.033952f, 0.016456f, 0.002591f, -0.022876f, -0.001811f, 0.010333f, 0.002080f, 0.003984f, 0.016721f, 0.023455f, -0.018260f, -0.023348f, -0.015470f, -0.003650f, -0.000490f, 0.002561f, -0.013823f, 0.001572f, 0.003823f, 0.009670f, 0.012451f, -0.001582f, -0.007879f, 0.013099f, 0.006348f, -0.009765f, -0.000796f, 0.004738f, -0.005968f, -0.010319f, 0.001735f, -0.003495f, -0.003538f, -0.000307f, -0.004669f, 0.012011f, -0.012807f, 0.006975f, -0.000510f, 0.013285f, -0.014020f, -0.003357f, 0.002172f, -0.003511f, -0.005448f, -0.002221f, -0.011162f, -0.012077f, -0.002461f, 0.001276f, 0.003387f, 0.004392f, -0.008389f, 0.008325f, 0.006099f, -0.004939f, 0.007237f, -0.001459f, 0.004068f, 0.000370f, 0.004019f, -0.003355f, -0.002845f, 0.001144f, 0.001989f, 0.004878f, -0.000825f, 0.006692f, -0.003297f, -0.002312f, 0.000001f, + -0.002424f, 0.004223f, 0.004296f, 0.029205f, -0.011777f, -0.009585f, 0.032594f, -0.027251f, -0.020754f, -0.005013f, -0.016487f, -0.002554f, -0.032463f, 0.007399f, -0.019949f, 0.015482f, 0.002272f, 0.005340f, 0.018719f, 0.005443f, 0.013242f, 0.018144f, 0.017241f, 0.014243f, 0.024118f, 0.002940f, 0.016428f, 0.014721f, -0.017420f, 0.030411f, 0.007532f, 0.014104f, -0.016255f, 0.023750f, 0.010773f, 0.016702f, 0.004315f, 0.006011f, -0.002965f, -0.021748f, 0.005663f, 0.012424f, 0.014662f, 0.015978f, 0.003527f, -0.026466f, -0.016678f, 0.019174f, 0.010499f, 0.004423f, -0.009980f, 0.013297f, -0.009541f, -0.026527f, 0.039176f, 0.023934f, 0.017554f, -0.014955f, -0.007284f, -0.019741f, -0.061648f, -0.001791f, -0.008506f, 0.008054f, -0.014310f, -0.015428f, -0.027118f, 0.004897f, 0.008857f, 0.034649f, -0.027139f, 0.011141f, 0.000634f, 0.016000f, -0.023875f, -0.029374f, -0.017813f, 0.019124f, 0.005943f, 0.006048f, 0.010258f, -0.007991f, 0.003519f, 0.022408f, 0.008087f, 0.011400f, 0.014395f, -0.005583f, -0.005029f, -0.009245f, 0.000395f, 0.009861f, 0.012252f, 0.000567f, 0.005183f, 0.002557f, + 0.002140f, 0.009284f, -0.005482f, -0.004744f, -0.007803f, -0.004365f, -0.008077f, -0.000123f, -0.012365f, -0.004934f, -0.013077f, -0.000603f, -0.007778f, -0.002152f, -0.001603f, -0.004458f, 0.004058f, -0.003168f, -0.016828f, -0.002397f, 0.007088f, 0.007629f, 0.014331f, -0.001936f, -0.008091f, 0.004162f, -0.003019f, -0.012260f, 0.011753f, 0.009873f, 0.009619f, 0.021928f, 0.014559f, -0.001013f, 0.001087f, -0.004687f, 0.006095f, 0.001953f, -0.050462f, 0.028102f, 0.029947f, -0.015728f, 0.025458f, 0.008390f, -0.042639f, -0.007998f, 0.054766f, -0.008427f, -0.037339f, -0.006309f, -0.004078f, -0.032527f, 0.021847f, 0.004095f, -0.016658f, 0.023571f, 0.015477f, 0.056490f, 0.032906f, 0.000335f, 0.003672f, 0.053263f, -0.014325f, 0.013070f, -0.022505f, -0.032192f, -0.009953f, -0.022046f, 0.004330f, -0.002118f, 0.010336f, -0.002192f, -0.004368f, -0.009651f, 0.041914f, 0.001511f, -0.033930f, -0.027066f, -0.006540f, -0.007423f, -0.001692f, 0.013308f, 0.038219f, 0.024203f, 0.007688f, -0.024035f, 0.029624f, 0.054498f, -0.012129f, 0.024463f, 0.022910f, 0.065781f, 0.012132f, 0.012113f, 0.019576f, 0.027735f, + 0.015197f, -0.023294f, -0.022364f, 0.014735f, -0.041132f, -0.025016f, -0.029609f, 0.027112f, 0.023716f, 0.016374f, -0.007069f, 0.019851f, 0.042098f, -0.024796f, 0.033443f, 0.033236f, -0.004993f, 0.032663f, -0.031644f, -0.014288f, -0.011326f, 0.069000f, -0.034378f, 0.033653f, 0.020933f, 0.012078f, 0.009284f, -0.031275f, -0.003475f, -0.024701f, 0.025559f, 0.024186f, -0.000808f, 0.001329f, -0.012832f, 0.017961f, -0.007636f, 0.001359f, 0.006552f, 0.007081f, -0.000454f, 0.010777f, -0.008161f, -0.004657f, -0.003484f, -0.008209f, 0.003126f, 0.006319f, -0.006118f, 0.002633f, 0.007620f, 0.013624f, 0.001794f, -0.013462f, 0.005143f, -0.014553f, 0.002163f, 0.012232f, 0.007929f, 0.012966f, -0.002676f, 0.021195f, -0.008926f, 0.015524f, -0.004531f, -0.005661f, -0.003180f, 0.000425f, 0.017147f, -0.013178f, 0.008071f, -0.000853f, 0.008188f, -0.010824f, 0.002416f, 0.003727f, -0.005024f, 0.022475f, -0.012879f, 0.009725f, 0.010618f, 0.037657f, 0.067523f, 0.006850f, -0.007442f, 0.006749f, -0.004047f, -0.011637f, 0.001630f, 0.006642f, -0.016971f, -0.022567f, 0.007134f, -0.011943f, -0.006625f, 0.016844f, + -0.001214f, 0.033536f, -0.018237f, 0.032865f, 0.016049f, 0.002804f, -0.019679f, 0.005817f, 0.032939f, 0.009146f, -0.017198f, 0.006089f, -0.004315f, 0.000452f, 0.019245f, -0.027549f, -0.014591f, 0.029707f, 0.000373f, -0.007957f, 0.025964f, -0.001795f, 0.009030f, 0.005458f, -0.025340f, -0.046257f, -0.009920f, 0.015362f, 0.029101f, 0.005828f, -0.022716f, 0.028768f, -0.009798f, 0.058886f, -0.030273f, 0.039450f, -0.023542f, 0.013779f, 0.034111f, -0.051188f, -0.052524f, -0.000886f, -0.014975f, 0.012996f, 0.016552f, 0.001871f, -0.007845f, -0.031515f, 0.020755f, -0.005030f, 0.037055f, 0.016258f, 0.034504f, 0.008898f, 0.020046f, -0.008996f, 0.026482f, 0.009047f, -0.015991f, 0.002675f, -0.000538f, -0.077150f, -0.002345f, 0.012911f, 0.018460f, 0.031820f, 0.027403f, -0.009527f, 0.002254f, -0.006274f, 0.005087f, -0.000610f, -0.008560f, -0.020902f, 0.008786f, -0.012453f, 0.026533f, 0.002520f, 0.005163f, 0.012433f, 0.007715f, -0.008980f, 0.007662f, 0.018620f, 0.016885f, -0.006385f, -0.003042f, 0.002119f, -0.004056f, -0.003434f, -0.011972f, -0.002835f, -0.025115f, -0.004171f, 0.008692f, -0.021672f, + 0.014636f, -0.016534f, -0.012778f, 0.003069f, -0.012986f, 0.012609f, 0.005274f, -0.005725f, 0.008808f, -0.001736f, -0.001311f, 0.004839f, 0.018621f, -0.013599f, 0.003031f, 0.002005f, 0.008328f, 0.005176f, 0.003902f, -0.007696f, 0.044506f, 0.057512f, -0.012356f, -0.002066f, 0.020396f, 0.076022f, 0.002293f, -0.044734f, -0.017787f, 0.009271f, 0.008807f, -0.014050f, 0.014682f, -0.010112f, 0.023693f, -0.037928f, 0.002185f, 0.023840f, -0.015706f, -0.017042f, 0.003501f, -0.037498f, -0.011400f, -0.012134f, -0.059703f, -0.050461f, -0.029110f, 0.022195f, 0.026187f, -0.004443f, -0.042421f, 0.004910f, 0.001725f, -0.001400f, 0.008759f, -0.021300f, 0.051395f, -0.014508f, 0.006742f, 0.056799f, -0.049407f, 0.024027f, 0.008625f, -0.017223f, 0.020858f, -0.013325f, -0.040004f, 0.000918f, 0.035064f, -0.015500f, -0.025033f, 0.014578f, 0.004951f, 0.033269f, 0.000515f, -0.051103f, 0.004365f, -0.030189f, 0.050691f, -0.018230f, 0.007904f, 0.012451f, 0.006333f, -0.007191f, -0.032437f, 0.013713f, 0.034631f, 0.010016f, 0.035727f, -0.051845f, -0.028251f, -0.008518f, -0.000148f, 0.005616f, -0.039716f, 0.035880f, + -0.004598f, -0.038144f, -0.012397f, 0.024155f, 0.022805f, -0.021123f, -0.029000f, 0.028996f, -0.023007f, -0.014633f, -0.000174f, -0.003589f, -0.002820f, -0.001895f, -0.008161f, -0.001624f, 0.014940f, -0.003311f, 0.013769f, -0.015327f, 0.011035f, 0.013952f, -0.003331f, 0.007529f, 0.002707f, -0.002843f, 0.000628f, 0.001887f, 0.025355f, 0.001294f, -0.004296f, 0.002114f, 0.006016f, -0.012445f, 0.004953f, -0.015913f, -0.000756f, 0.018390f, -0.006086f, -0.014499f, -0.004820f, 0.008239f, 0.000828f, 0.000596f, 0.011432f, 0.000855f, -0.013932f, -0.007560f, 0.027045f, 0.019302f, -0.005754f, -0.001147f, -0.000272f, -0.039359f, 0.057856f, 0.001649f, -0.099097f, 0.039695f, -0.013622f, 0.007723f, 0.010110f, 0.013305f, 0.024325f, 0.008868f, -0.017943f, -0.004334f, 0.024497f, 0.016564f, -0.019678f, -0.001053f, -0.015613f, -0.008095f, -0.048676f, -0.006212f, 0.023425f, 0.029092f, 0.006538f, -0.011547f, 0.032226f, -0.033199f, 0.036719f, -0.021158f, -0.011887f, 0.004376f, -0.011397f, 0.009790f, -0.029297f, -0.039550f, -0.044263f, -0.014168f, 0.022917f, -0.008852f, 0.000221f, 0.026955f, 0.007483f, 0.004710f, + -0.000849f, 0.000915f, -0.009325f, 0.000362f, 0.029048f, 0.017884f, 0.030655f, 0.026003f, 0.030753f, 0.020930f, -0.018291f, -0.011663f, 0.007552f, -0.001960f, -0.035348f, 0.023766f, -0.006401f, -0.033393f, 0.041914f, -0.000474f, 0.006809f, -0.001167f, -0.015252f, -0.005033f, 0.017599f, 0.025501f, 0.021207f, 0.000650f, 0.012987f, -0.042772f, -0.006081f, -0.015243f, 0.023269f, 0.008035f, -0.011928f, -0.013606f, 0.053855f, -0.016420f, -0.018459f, -0.005836f, 0.008679f, -0.013336f, -0.035501f, -0.002003f, -0.006089f, -0.019179f, 0.033256f, 0.006788f, 0.012513f, -0.010223f, -0.001791f, 0.007748f, 0.001988f, 0.009785f, 0.010541f, -0.003456f, 0.006459f, -0.006404f, 0.007321f, 0.002795f, -0.005896f, -0.004453f, 0.005417f, 0.007657f, 0.002066f, -0.006760f, -0.005628f, -0.006076f, -0.004506f, 0.000165f, 0.003787f, -0.005501f, -0.006694f, 0.001599f, -0.000548f, -0.001183f, 0.005755f, -0.002687f, 0.009128f, 0.002798f, 0.026777f, -0.002242f, -0.003387f, -0.005880f, 0.003261f, 0.000167f, -0.011287f, -0.014831f, 0.134985f, -0.132377f, -0.006541f, -0.143935f, -0.022194f, -0.054687f, -0.006570f, 0.035229f, + -0.017758f, -0.039792f, 0.062938f, -0.016936f, -0.010850f, 0.002141f, 0.019467f, -0.002189f, 0.052326f, 0.034632f, 0.020822f, -0.030782f, 0.002152f, -0.020987f, -0.021305f, -0.014262f, 0.000873f, -0.006541f, -0.005680f, -0.017374f, -0.003788f, 0.028907f, 0.003643f, 0.019141f, 0.019163f, -0.001505f, 0.025551f, 0.037136f, 0.002073f, -0.007581f, -0.019287f, -0.023115f, 0.009326f, 0.010152f, -0.019118f, 0.031466f, -0.041490f, -0.042034f, 0.004704f, -0.014705f, 0.022553f, -0.038974f, 0.016702f, -0.074957f, -0.039893f, -0.060008f, -0.005152f, -0.029619f, -0.002637f, -0.018080f, -0.022502f, -0.019615f, -0.001752f, 0.005082f, -0.058595f, 0.006683f, -0.012805f, 0.006727f, 0.000301f, -0.027108f, -0.047667f, 0.032982f, -0.028674f, -0.005125f, 0.029540f, -0.002992f, -0.009229f, 0.019525f, 0.024488f, -0.005048f, 0.024393f, 0.015958f, 0.029471f, 0.016244f, 0.029821f, 0.014115f, -0.017643f, -0.004917f, -0.015540f, 0.000711f, -0.012865f, 0.002756f, 0.010816f, 0.015266f, 0.016741f, -0.007422f, 0.007790f, 0.005581f, 0.010985f, -0.002602f, -0.004167f, 0.005729f, 0.013163f, 0.001733f, 0.003076f, 0.014498f, + 0.007455f, 0.014924f, -0.002112f, 0.000689f, -0.001525f, 0.007280f, 0.010348f, -0.001879f, -0.017160f, 0.009417f, -0.002852f, 0.003658f, -0.005377f, 0.002387f, -0.004867f, -0.002541f, 0.000916f, -0.014314f, 0.000248f, 0.019600f, -0.012239f, -0.012927f, 0.001704f, 0.006690f, 0.006842f, 0.002313f, -0.013545f, 0.109210f, 0.054813f, 0.026489f, -0.026514f, -0.013739f, -0.057128f, 0.012522f, 0.045664f, -0.008978f, -0.010972f, 0.074891f, -0.013526f, -0.016702f, 0.036989f, 0.054821f, 0.009382f, 0.055915f, -0.014115f, 0.008114f, 0.032920f, 0.037278f, 0.058788f, 0.047603f, -0.002646f, -0.021298f, 0.017572f, 0.021426f, 0.020149f, 0.025196f, 0.043922f, 0.021512f, 0.055894f, -0.021789f, -0.001643f, 0.016330f, 0.015053f, 0.047399f, 0.027429f, 0.050804f, -0.036835f, -0.011597f, 0.020132f, -0.039575f, 0.031747f, 0.032355f, 0.030878f, 0.013167f, -0.040005f, -0.014610f, 0.075362f, 0.019389f, 0.050748f, 0.042192f, 0.046145f, -0.009569f, 0.061219f, 0.096081f, 0.032923f, 0.008418f, 0.067256f, 0.046533f, -0.026159f, -0.016055f, -0.032849f, -0.026183f, 0.028191f, 0.032927f, 0.002662f, -0.027872f, + 0.000369f, -0.024928f, -0.001370f, -0.011173f, 0.016054f, -0.058541f, -0.006896f, 0.005843f, -0.029849f, 0.022286f, 0.003725f, -0.018332f, 0.015399f, -0.036866f, -0.024167f, -0.040836f, -0.013867f, -0.019727f, 0.014190f, 0.004437f, -0.019196f, 0.004249f, 0.026418f, 0.007820f, -0.008958f, -0.016231f, -0.025401f, -0.009765f, 0.008115f, -0.035667f, -0.016848f, -0.003075f, 0.028405f, 0.009579f, -0.012401f, 0.005968f, -0.019442f, -0.005282f, -0.006139f, -0.015928f, -0.010504f, 0.026764f, -0.006416f, -0.001895f, -0.006770f, 0.006323f, 0.016879f, 0.012181f, 0.014429f, 0.036934f, -0.000192f, 0.029780f, 0.001152f, 0.003074f, 0.018415f, 0.015997f, -0.024757f, -0.014178f, -0.002162f, 0.005777f, 0.002364f, 0.000258f, -0.002705f, 0.011695f, -0.034366f, 0.017373f, -0.041464f, 0.073195f, 0.103861f, 0.060537f, -0.026366f, -0.056755f, -0.020749f, 0.051442f, -0.014951f, -0.042270f, 0.077492f, -0.053372f, 0.046380f, 0.026208f, -0.060437f, -0.024994f, -0.006121f, -0.100011f, 0.004239f, 0.011663f, -0.048043f, 0.098834f, -0.033635f, 0.091800f, -0.068388f, 0.010332f, 0.004691f, 0.067154f, 0.098998f, -0.007986f, + 0.033821f, 0.046751f, -0.054268f, 0.036769f, -0.073559f, -0.020230f, 0.140692f, -0.007763f, -0.038398f, -0.007444f, -0.078223f, 0.003538f, -0.024392f, 0.087973f, 0.033750f, 0.041029f, -0.013107f, -0.023066f, -0.043362f, -0.040313f, 0.010560f, 0.005747f, 0.000607f, 0.058621f, -0.013810f, 0.011299f, -0.060282f, -0.031320f, 0.040952f, -0.090255f, -0.035210f, -0.027052f, -0.030467f, 0.084541f, 0.006592f, 0.091329f, 0.065843f, 0.029208f, 0.035447f, -0.020317f, -0.047718f, 0.040971f, -0.065111f, -0.039957f, 0.081434f, 0.024708f, -0.048242f, -0.080284f, -0.048141f, -0.057103f, 0.046481f, -0.049281f, 0.026155f, -0.035564f, -0.002569f, -0.030531f, 0.033165f, 0.019126f, 0.003411f, -0.026479f, -0.004372f, -0.018258f, 0.005953f, -0.036048f, -0.024496f, -0.013529f, 0.008520f, 0.020258f, -0.000161f, -0.014649f, -0.020018f, -0.033504f, -0.023455f, 0.021397f, 0.029734f, -0.009117f, 0.020696f, 0.040936f, 0.020126f, -0.037906f, -0.010584f, -0.013904f, 0.024585f, -0.023118f, -0.014656f, -0.005419f, 0.009443f, -0.030406f, -0.040524f, -0.029211f, -0.009160f, 0.016922f, 0.000064f, 0.003839f, -0.005198f, 0.023158f, + 0.007866f, -0.001418f, -0.020721f, -0.007047f, -0.012599f, 0.016292f, -0.003998f, 0.003908f, 0.065455f, -0.109470f, 0.115782f, -0.003239f, 0.008605f, -0.037530f, 0.093424f, 0.021684f, 0.060041f, 0.022489f, -0.039924f, 0.013167f, 0.033192f, -0.057721f, 0.039803f, 0.000379f, 0.026290f, -0.076939f, -0.006330f, 0.018448f, 0.070172f, -0.029756f, -0.058538f, -0.002889f, 0.069784f, 0.036682f, -0.027163f, -0.060811f, -0.003348f, 0.050314f, 0.006262f, 0.003197f, 0.013674f, 0.036493f, 0.092602f, -0.131384f, -0.021984f, 0.012343f, 0.072529f, 0.016001f, -0.040080f, -0.010152f, 0.027406f, 0.066407f, -0.007102f, 0.002940f, -0.126057f, 0.036091f, 0.019285f, 0.033992f, -0.091562f, 0.080367f, 0.069092f, 0.025865f, -0.041619f, -0.004473f, -0.046012f, 0.033854f, 0.059120f, 0.024693f, 0.027475f, -0.005448f, 0.044727f, -0.065964f, 0.061934f, -0.018690f, -0.022585f, 0.072992f, 0.059983f, 0.003669f, -0.023172f, -0.060427f, 0.043729f, 0.048045f, -0.129310f, -0.010429f, 0.073794f, 0.018274f, -0.001176f, -0.046312f, -0.020205f, 0.125864f, -0.010012f, -0.043294f, -0.005814f, -0.023422f, -0.028403f, 0.041751f, + -0.035794f, 0.012631f, 0.018784f, 0.025427f, -0.018054f, 0.002363f, -0.018325f, -0.021724f, -0.014735f, 0.019182f, 0.019009f, -0.019883f, -0.004287f, 0.009540f, -0.016025f, 0.038026f, -0.036958f, 0.009442f, -0.006922f, -0.011962f, 0.013225f, 0.063078f, 0.003821f, 0.000045f, -0.010462f, -0.022299f, -0.000217f, 0.034335f, 0.007881f, -0.001636f, -0.006977f, -0.016215f, 0.028972f, -0.007571f, -0.002013f, -0.017188f, 0.016495f, -0.002695f, -0.008047f, -0.097945f, 0.047007f, 0.008633f, 0.029729f, 0.035991f, 0.052552f, 0.018328f, 0.016526f, -0.025815f, 0.026830f, 0.004557f, 0.062459f, -0.007724f, -0.019354f, 0.049049f, 0.037465f, -0.008783f, 0.002739f, -0.021619f, 0.000116f, 0.015246f, -0.005426f, -0.013079f, 0.027700f, -0.022920f, 0.002366f, 0.037825f, -0.008804f, 0.021663f, -0.039526f, -0.008349f, 0.004661f, -0.016448f, -0.006762f, 0.004074f, 0.027324f, -0.007477f, -0.047170f, 0.001454f, 0.092412f, 0.018896f, -0.050918f, 0.014692f, -0.051904f, -0.035528f, -0.027054f, -0.007549f, 0.058801f, -0.006792f, -0.047782f, 0.095596f, -0.104304f, 0.017298f, 0.105455f, 0.010891f, 0.073987f, -0.057228f, + -0.106703f, 0.033979f, 0.003145f, 0.084348f, 0.003985f, -0.048007f, 0.038808f, -0.010964f, -0.009289f, -0.020564f, -0.003879f, -0.029957f, 0.014346f, 0.003886f, 0.022138f, -0.036508f, -0.031685f, -0.012638f, 0.037048f, 0.048050f, -0.016601f, 0.025486f, -0.004374f, 0.040206f, 0.028105f, -0.051009f, 0.040101f, -0.010584f, 0.005519f, -0.008771f, -0.016294f, -0.000309f, -0.000738f, 0.005386f, -0.004398f, 0.004165f, 0.003125f, 0.002791f, 0.005309f, -0.016846f, 0.000320f, 0.009270f, -0.014560f, -0.001881f, 0.008386f, -0.009024f, 0.011163f, 0.012908f, -0.019718f, 0.023061f, 0.008821f, 0.023896f, -0.005913f, 0.011073f, 0.018670f, -0.036479f, -0.001060f, 0.011157f, 0.020659f, -0.013038f, -0.010311f, -0.012535f, -0.009718f, 0.021238f, 0.042029f, -0.018127f, -0.197592f, -0.454028f, -0.179930f, -0.273278f, -0.400114f, 0.215099f, 0.059490f, 0.123770f, 0.569888f, 0.439263f, 0.256274f, 0.469121f, 0.350061f, 0.059818f, 0.115743f, 0.096285f, -0.222278f, -0.190236f, -0.093165f, -0.340005f, -0.325099f, -0.124510f, -0.167023f, -0.235870f, -0.098585f, -0.084724f, -0.240039f, -0.200375f, -0.016612f, -0.114145f, + -0.194613f, -0.066854f, 0.062117f, -0.141380f, 0.042609f, 0.210442f, -0.015991f, -0.030161f, 0.285844f, 0.228248f, -0.009940f, 0.333917f, 0.386977f, 0.157147f, 0.363586f, 0.510106f, 0.304393f, 0.264399f, 0.612211f, 0.488561f, 0.367376f, 0.435462f, 0.577603f, 0.206511f, 0.081999f, 0.241823f, -0.190641f, -0.547251f, -0.396655f, -0.605251f, -0.980070f, -0.877896f, -0.931663f, -1.083533f, -1.104271f, -0.952234f, -0.829141f, -0.831585f, -0.584560f, -0.258952f, -0.175309f, -0.026563f, 0.283748f, 0.521356f, 0.526374f, 0.653389f, 0.940078f, 0.821705f, 0.751214f, 1.038009f, 0.825067f, 0.466318f, 0.680576f, 0.476537f, 0.185083f, 0.167441f, 0.219931f, 0.022672f, -0.069305f, 0.042708f, 0.006371f, -0.154101f, -0.082037f, 0.013735f, -0.122638f, -0.227397f, -0.109088f, -0.156015f, -0.331123f, -0.208801f, -0.080569f, -0.247568f, -0.166312f, 0.033369f, -0.078556f, -0.115619f, 0.056838f, -0.068398f, -0.272655f, -0.209014f, -0.334706f, -0.566032f, -0.532922f, -0.511181f, -0.530908f, -0.466726f, -0.313499f, -0.245024f, -0.147382f, -0.028614f, 0.124819f, 0.221263f, 0.339596f, 0.428321f, 0.532075f, 0.553545f, + 0.587136f, 0.654107f, 0.620514f, 0.568948f, 0.538260f, 0.356562f, 0.125661f, 0.011914f, -0.053330f, -0.152348f, -0.179600f, -0.156789f, -0.177026f, -0.198825f, -0.175148f, -0.176912f, -0.173356f, -0.146394f, -0.142845f, -0.149888f, -0.144645f, -0.126657f, -0.105013f, -0.089748f, -0.058716f, -0.036427f, -0.007399f, 0.004176f, 0.026671f, 0.040534f, 0.050952f, 0.052874f, 0.055947f, 0.055462f, 0.043629f, 0.025511f, 0.019707f, 0.009943f, -0.002789f, -0.013343f, -0.016992f, -0.037551f, -0.049034f, -0.060562f, -0.080714f, -0.095071f, -0.089087f, -0.085797f, -0.076557f, -0.057424f, -0.040697f, -0.029892f, -0.007506f, 0.015903f, 0.031160f, 0.047355f, 0.073656f, 0.079669f, 0.078998f, 0.085470f, 0.093920f, 0.086919f, 0.090352f, 0.094864f, 0.089928f, 0.086496f, 0.086885f, 0.076861f, 0.066185f, 0.058372f, 0.044862f, 0.025477f, 0.011555f, -0.004888f, -0.026703f, -0.048744f, -0.064824f, -0.084072f, -0.095647f, -0.100697f, -0.099296f, -0.098160f, -0.089942f, -0.077835f, -0.065610f, -0.053128f, -0.037096f, -0.026195f, -0.014104f, -0.003967f, 0.005659f, 0.013649f, 0.020207f, 0.025718f, 0.029687f, 0.029093f, + 0.028530f, 0.025918f, 0.022534f, 0.019172f, 0.016886f, 0.013929f, 0.011336f, 0.008978f, 0.007552f, 0.005980f, 0.005189f, 0.004564f, 0.004154f, 0.003671f, 0.003361f, 0.003232f} + }, + { + {-0.015902f, 0.009482f, -0.012087f, 0.001522f, -0.005098f, -0.001557f, 0.004761f, -0.007472f, -0.013627f, -0.003444f, 0.001194f, -0.007785f, -0.004481f, 0.006680f, -0.003897f, 0.003120f, -0.017078f, -0.001416f, 0.011610f, 0.006221f, -0.019113f, -0.006539f, -0.004993f, -0.005031f, 0.006495f, -0.002738f, -0.009945f, -0.006208f, -0.007103f, -0.007200f, 0.012641f, 0.004002f, 0.008149f, -0.005207f, 0.010695f, 0.009762f, 0.006935f, -0.003779f, -0.009039f, -0.007054f, 0.000771f, 0.001870f, 0.014537f, 0.005212f, 0.002779f, -0.006775f, 0.001593f, 0.000694f, 0.001675f, 0.005823f, 0.003421f, -0.009790f, -0.008372f, -0.004262f, 0.005315f, 0.001307f, -0.001851f, -0.010468f, -0.003216f, 0.004208f, 0.004778f, -0.004179f, -0.001605f, 0.000311f, 0.005056f, -0.001015f, -0.005578f, 0.000083f, 0.000803f, -0.007114f, 0.015309f, 0.001041f, -0.010395f, 0.000063f, -0.001606f, 0.009909f, 0.000784f, 0.006733f, 0.009178f, 0.003525f, -0.000635f, 0.000524f, -0.003347f, -0.002095f, -0.002230f, 0.005916f, -0.001894f, -0.000675f, -0.002648f, 0.002093f, 0.000690f, -0.001051f, -0.000257f, -0.001445f, 0.000290f, -0.000142f, + 0.001166f, 0.001268f, 0.001931f, 0.002478f, -0.010566f, -0.009566f, 0.010754f, 0.009861f, -0.008056f, 0.005922f, 0.000553f, 0.003033f, -0.026355f, 0.010137f, -0.003957f, -0.018004f, -0.023474f, 0.000596f, 0.016891f, 0.000990f, 0.010935f, 0.000377f, -0.021237f, -0.007344f, 0.002394f, 0.007381f, -0.003780f, -0.001842f, -0.008970f, 0.001154f, -0.001669f, 0.014949f, 0.007563f, 0.003157f, 0.002638f, 0.004044f, 0.005151f, 0.013630f, 0.008226f, -0.012087f, -0.001074f, 0.002782f, 0.002869f, -0.014370f, 0.004618f, -0.004288f, -0.009126f, -0.002590f, -0.000435f, 0.009795f, 0.002473f, -0.005506f, 0.009890f, 0.015475f, -0.003334f, -0.005898f, 0.003696f, -0.001129f, 0.008420f, 0.008619f, 0.006711f, -0.010379f, -0.007939f, 0.007413f, -0.003189f, -0.002619f, -0.007999f, 0.000844f, -0.011855f, 0.007012f, 0.006280f, 0.008302f, 0.002085f, 0.009651f, -0.010514f, -0.006588f, 0.013528f, 0.000696f, 0.004984f, 0.016021f, 0.006145f, 0.001564f, -0.006511f, 0.009393f, 0.001079f, -0.004786f, 0.002638f, -0.011352f, 0.000271f, -0.001208f, 0.001638f, 0.003032f, -0.001345f, -0.005066f, -0.002821f, -0.000835f, + 0.002419f, 0.002303f, 0.000731f, -0.001408f, 0.001333f, 0.003191f, 0.000514f, -0.001071f, -0.001035f, 0.000014f, 0.013390f, 0.001185f, 0.005185f, -0.011272f, -0.009573f, 0.005481f, -0.002653f, -0.004123f, -0.005235f, -0.004899f, 0.004070f, -0.013045f, -0.007475f, -0.016110f, -0.019349f, -0.003584f, 0.016113f, 0.010384f, -0.006502f, -0.001816f, -0.002233f, -0.003754f, -0.013933f, 0.010036f, -0.003493f, -0.003585f, 0.000887f, 0.006558f, -0.003134f, 0.000577f, -0.000475f, 0.009499f, -0.008779f, 0.009528f, 0.005212f, 0.011424f, -0.003891f, 0.008837f, 0.003940f, -0.005477f, 0.007981f, -0.005416f, 0.004599f, 0.008466f, -0.006385f, 0.008891f, -0.005304f, -0.004299f, -0.001335f, -0.002644f, 0.004492f, -0.002603f, -0.006758f, 0.002709f, -0.005865f, 0.001277f, 0.000811f, 0.000903f, 0.013432f, 0.002595f, -0.003074f, 0.000062f, -0.005491f, -0.007693f, 0.003981f, -0.001865f, 0.012824f, 0.013048f, 0.005311f, -0.003643f, -0.002004f, -0.000111f, -0.005135f, -0.005976f, 0.006604f, 0.010336f, 0.000348f, -0.001146f, 0.006384f, 0.006852f, -0.000882f, 0.002407f, 0.002223f, -0.005015f, 0.004753f, -0.000929f, + 0.006816f, -0.003394f, -0.001286f, -0.000281f, -0.002814f, -0.000334f, 0.004970f, -0.001109f, 0.001517f, 0.001427f, -0.003486f, 0.001071f, -0.000627f, -0.000734f, 0.001432f, 0.001269f, -0.002225f, 0.002527f, -0.000849f, -0.001128f, 0.000204f, -0.000318f, -0.000404f, -0.002076f, -0.001500f, 0.000659f, 0.025549f, -0.010806f, 0.010476f, -0.013022f, -0.010951f, 0.000055f, -0.003037f, -0.002769f, 0.003563f, -0.005478f, 0.011051f, 0.010781f, 0.009238f, -0.002770f, -0.001201f, -0.004809f, -0.011788f, 0.001845f, -0.007080f, -0.001308f, 0.001297f, -0.003947f, 0.006722f, 0.002544f, -0.000803f, -0.019461f, -0.008121f, -0.012264f, 0.000464f, -0.008023f, -0.012334f, -0.005405f, -0.006814f, -0.007539f, 0.012285f, -0.009812f, 0.008661f, 0.000754f, -0.003481f, 0.004852f, 0.004170f, -0.008795f, -0.002407f, 0.000185f, 0.009488f, -0.000900f, -0.012965f, -0.016450f, -0.017124f, 0.004459f, -0.006254f, 0.000379f, -0.001355f, 0.002480f, 0.005792f, 0.009522f, -0.006574f, -0.003481f, 0.003136f, 0.003276f, 0.001222f, 0.011940f, -0.006678f, 0.007384f, -0.013713f, 0.026882f, 0.003307f, -0.002861f, 0.005228f, 0.002574f, + 0.005141f, -0.007473f, -0.001316f, 0.002041f, -0.000828f, -0.001609f, -0.013565f, -0.004511f, -0.009219f, -0.002745f, -0.001078f, -0.006649f, -0.006498f, 0.004828f, 0.005641f, 0.001718f, 0.001110f, -0.000622f, 0.004766f, 0.002800f, 0.005472f, -0.002742f, 0.000483f, 0.000167f, 0.005028f, -0.002019f, -0.000295f, -0.000309f, 0.000561f, -0.003983f, 0.000980f, -0.002884f, 0.001454f, 0.002004f, -0.000953f, -0.003355f, 0.000670f, 0.001028f, -0.001034f, -0.001159f, -0.003603f, 0.000945f, -0.000422f, -0.001846f, 0.002275f, 0.002610f, -0.000334f, -0.000771f, -0.012581f, 0.001734f, 0.002233f, 0.000748f, -0.002060f, -0.007562f, 0.004365f, 0.003484f, -0.011377f, 0.013181f, -0.016624f, 0.020322f, -0.002092f, 0.006733f, 0.002915f, -0.000492f, -0.002291f, 0.004123f, 0.019024f, 0.021373f, -0.004208f, 0.003790f, -0.002684f, -0.003115f, 0.002742f, 0.004485f, 0.014603f, -0.001933f, 0.004353f, -0.007508f, 0.007958f, 0.001726f, 0.011490f, 0.005554f, 0.010755f, -0.015719f, 0.006497f, 0.005650f, -0.005037f, -0.000219f, 0.011683f, -0.000003f, 0.000816f, 0.003535f, 0.007065f, -0.002484f, -0.001129f, 0.022694f, + 0.010714f, 0.001968f, 0.001961f, -0.004799f, 0.010216f, -0.013788f, -0.020252f, -0.024425f, -0.001613f, 0.012778f, -0.000508f, 0.006351f, 0.017219f, 0.006811f, -0.003185f, -0.006135f, 0.009125f, -0.001831f, 0.022171f, 0.009982f, 0.003187f, 0.003081f, -0.012285f, 0.002553f, 0.009064f, -0.004708f, -0.013819f, 0.002376f, 0.004805f, -0.000625f, -0.004882f, -0.001775f, 0.002206f, -0.004476f, 0.002451f, 0.002513f, 0.002201f, -0.000907f, 0.002559f, -0.004388f, -0.004197f, -0.001361f, -0.002712f, 0.001379f, -0.004214f, 0.002345f, 0.003877f, 0.002619f, 0.002892f, 0.003014f, 0.000822f, 0.001930f, -0.005765f, -0.004766f, -0.001907f, -0.002506f, -0.003077f, -0.000619f, 0.001752f, 0.001038f, -0.000340f, 0.003524f, 0.001778f, -0.000274f, 0.004313f, 0.002764f, -0.000150f, -0.029823f, 0.003066f, -0.002358f, 0.020259f, -0.015365f, 0.008823f, -0.031563f, 0.012259f, -0.003073f, -0.016158f, -0.017716f, -0.012450f, 0.009295f, 0.007210f, 0.023782f, 0.003039f, 0.007861f, 0.022724f, -0.004062f, -0.016761f, 0.002410f, -0.012948f, 0.003049f, 0.018499f, 0.003385f, -0.005362f, -0.002297f, -0.003705f, 0.005404f, + 0.007077f, -0.001609f, 0.004683f, 0.009531f, -0.006137f, 0.002973f, -0.011414f, -0.000940f, -0.014250f, -0.002275f, 0.001776f, -0.006750f, 0.010257f, 0.007048f, 0.008717f, 0.017624f, 0.000977f, 0.021342f, 0.016227f, 0.007869f, -0.011286f, 0.024488f, 0.010401f, 0.004261f, 0.021346f, -0.002408f, 0.000317f, 0.001745f, 0.006971f, -0.004531f, -0.006451f, -0.014782f, -0.014435f, -0.011682f, -0.000046f, -0.009226f, 0.018694f, -0.011417f, 0.007628f, 0.011740f, -0.006797f, 0.000565f, -0.005593f, -0.003204f, -0.018726f, -0.021260f, 0.009518f, -0.003738f, -0.007310f, -0.006331f, 0.001622f, 0.002447f, 0.001242f, 0.004120f, -0.007612f, 0.017321f, 0.001024f, 0.005186f, -0.003758f, 0.000933f, 0.004966f, -0.008492f, 0.002649f, 0.000295f, 0.002719f, 0.003905f, -0.000231f, 0.003045f, 0.005719f, -0.000014f, 0.001496f, 0.004246f, 0.004499f, 0.006117f, -0.000477f, 0.001030f, -0.003365f, -0.000897f, 0.000091f, -0.001488f, -0.004674f, 0.000299f, -0.001511f, -0.001939f, 0.000257f, -0.001812f, -0.002595f, 0.024827f, 0.000906f, 0.000261f, -0.002342f, -0.004900f, 0.004425f, 0.000995f, -0.012732f, -0.016300f, + -0.022082f, -0.011588f, -0.023103f, -0.014701f, -0.007900f, -0.017102f, -0.010837f, -0.007503f, -0.008916f, -0.023106f, 0.015774f, 0.009870f, 0.000537f, 0.008297f, 0.003781f, -0.006450f, 0.028588f, 0.001716f, -0.009947f, -0.005244f, -0.019464f, -0.008398f, 0.021275f, 0.000988f, -0.017947f, -0.017939f, 0.002555f, -0.018158f, 0.005751f, 0.006298f, -0.014158f, 0.000505f, 0.004355f, 0.000947f, 0.020937f, 0.006233f, -0.009639f, 0.002065f, -0.011546f, 0.010540f, 0.001454f, 0.004636f, -0.025722f, 0.017645f, -0.008876f, 0.007318f, 0.000540f, 0.003375f, 0.004159f, 0.000603f, -0.007531f, -0.000650f, -0.010079f, -0.000039f, -0.020293f, -0.000173f, -0.021888f, 0.028720f, -0.004952f, 0.018249f, -0.013524f, -0.006360f, -0.002951f, -0.013960f, -0.007820f, 0.011180f, -0.000464f, -0.000496f, 0.008274f, 0.010743f, 0.001671f, 0.017585f, 0.015217f, 0.021161f, 0.011243f, 0.004444f, 0.002527f, 0.009570f, 0.005084f, 0.003138f, 0.003857f, 0.002113f, 0.004667f, -0.001405f, 0.007665f, 0.001280f, -0.000563f, -0.001697f, 0.005955f, 0.002377f, 0.004219f, 0.002077f, -0.002897f, 0.001983f, 0.002309f, 0.001920f, + -0.004732f, 0.008816f, 0.004724f, -0.000942f, -0.006863f, -0.000824f, -0.001095f, -0.004965f, 0.001705f, 0.000802f, 0.004986f, -0.004249f, -0.009455f, -0.012665f, 0.000039f, 0.009478f, -0.024410f, 0.000085f, -0.010500f, -0.008386f, 0.017443f, -0.028168f, -0.026603f, 0.007052f, 0.035687f, 0.001007f, 0.003477f, 0.002832f, -0.005333f, 0.019587f, 0.019018f, 0.011029f, 0.005462f, -0.005037f, -0.028842f, 0.017247f, 0.000239f, -0.023086f, -0.007387f, 0.005471f, -0.001079f, 0.000289f, 0.002462f, -0.005487f, -0.022734f, -0.001191f, 0.001026f, -0.004078f, -0.009445f, 0.006945f, 0.019891f, -0.025449f, 0.015984f, -0.009482f, -0.004718f, 0.001612f, 0.012702f, 0.041600f, -0.026750f, -0.006671f, 0.002727f, -0.002568f, -0.004821f, 0.001466f, -0.010199f, 0.003675f, -0.009202f, 0.028630f, 0.009905f, 0.005440f, 0.007967f, -0.005937f, -0.001555f, 0.015199f, -0.002281f, 0.006659f, -0.012467f, 0.022001f, 0.001067f, -0.015413f, 0.030731f, -0.019429f, 0.014200f, 0.004115f, 0.007051f, 0.022377f, -0.008788f, 0.009583f, -0.000991f, 0.000139f, 0.002780f, -0.001396f, -0.014947f, -0.007872f, -0.000873f, -0.006552f, + -0.002266f, -0.003527f, -0.009131f, -0.009331f, -0.006986f, 0.004494f, -0.007984f, 0.004754f, -0.002064f, -0.000231f, -0.006993f, -0.004749f, -0.005134f, 0.004271f, -0.009691f, 0.001086f, 0.001045f, 0.006046f, 0.009397f, -0.003542f, -0.001671f, -0.008266f, -0.007051f, 0.000608f, -0.006192f, 0.001878f, -0.001067f, -0.005460f, 0.000205f, -0.001578f, 0.002634f, 0.003460f, -0.002236f, 0.030311f, 0.002326f, 0.007869f, 0.008961f, -0.005129f, -0.017522f, -0.013752f, 0.002055f, 0.030321f, 0.017171f, 0.003691f, -0.027200f, 0.003866f, -0.014979f, 0.000042f, 0.030343f, 0.029174f, 0.014720f, 0.019705f, -0.017862f, -0.036957f, -0.019366f, -0.026650f, 0.014710f, -0.000313f, -0.004536f, -0.000152f, -0.020170f, -0.006027f, 0.006189f, -0.003834f, -0.007688f, -0.007493f, 0.021491f, -0.001443f, 0.005820f, -0.006172f, 0.014078f, 0.002940f, -0.008182f, -0.017174f, -0.013190f, 0.038921f, -0.001715f, -0.008865f, 0.012416f, -0.022324f, 0.006948f, -0.012800f, -0.038949f, -0.008784f, -0.005099f, 0.011723f, 0.004476f, 0.010292f, 0.003250f, 0.015343f, 0.000541f, 0.001014f, 0.008489f, -0.038088f, -0.006044f, -0.010273f, + -0.002752f, 0.003636f, 0.021804f, 0.024071f, 0.008661f, -0.006372f, -0.016672f, -0.021914f, -0.007373f, -0.012918f, 0.002720f, -0.006456f, -0.006849f, -0.015113f, 0.022486f, 0.016170f, 0.006563f, 0.020649f, -0.004966f, 0.008209f, 0.012668f, -0.008152f, 0.007532f, -0.005275f, 0.001622f, 0.007490f, -0.002333f, -0.005074f, -0.002116f, -0.002832f, -0.002001f, -0.000242f, 0.000477f, 0.007417f, 0.000268f, 0.000824f, 0.002267f, -0.004229f, -0.011545f, 0.000393f, -0.002717f, -0.001567f, -0.002116f, -0.006848f, -0.000801f, 0.002183f, 0.010207f, 0.008339f, -0.004782f, 0.001105f, 0.006706f, -0.001505f, 0.001520f, -0.002502f, 0.001515f, 0.006382f, 0.000783f, 0.007009f, -0.043964f, -0.028743f, -0.006650f, -0.010463f, 0.022471f, 0.015438f, -0.003677f, 0.038692f, -0.039090f, -0.009109f, -0.014748f, 0.041327f, 0.019832f, -0.013571f, 0.015242f, 0.005804f, -0.016073f, 0.028545f, -0.031463f, 0.015591f, -0.014484f, 0.002471f, 0.003442f, -0.010495f, 0.027566f, -0.019356f, 0.016932f, -0.008055f, -0.040531f, -0.006715f, 0.028332f, -0.017135f, -0.027669f, 0.000390f, -0.003440f, -0.041407f, -0.007733f, 0.016631f, + 0.007060f, 0.022101f, 0.016256f, -0.004668f, 0.039852f, -0.009523f, -0.012257f, -0.019583f, -0.018233f, -0.017636f, 0.010947f, 0.014888f, -0.012815f, -0.014457f, 0.004783f, -0.012539f, 0.016715f, -0.004592f, 0.009077f, -0.006776f, -0.010349f, -0.007944f, -0.000220f, -0.023438f, 0.006357f, 0.016913f, -0.003946f, 0.007318f, 0.010167f, 0.012010f, 0.021650f, -0.015486f, 0.006968f, 0.016881f, -0.002170f, -0.035949f, -0.038265f, 0.004216f, -0.003634f, 0.002845f, -0.014003f, -0.005817f, 0.002824f, -0.013862f, -0.025147f, -0.007685f, 0.018982f, 0.015398f, -0.007564f, -0.003068f, 0.005842f, 0.005203f, -0.002995f, -0.006114f, 0.000455f, -0.000811f, -0.009889f, -0.003670f, 0.010508f, -0.003029f, 0.008442f, 0.001518f, -0.002630f, -0.005182f, 0.006780f, 0.006680f, 0.007847f, 0.000933f, -0.004411f, 0.004549f, -0.011784f, -0.007077f, 0.005803f, 0.002702f, 0.004978f, 0.009163f, -0.004692f, 0.001890f, 0.003595f, 0.004461f, 0.000851f, -0.005393f, -0.007739f, 0.003444f, -0.004218f, -0.002593f, 0.031254f, -0.020165f, -0.050416f, -0.000046f, 0.035501f, 0.045386f, 0.008278f, -0.017096f, -0.012882f, 0.004428f, + -0.008400f, -0.007475f, 0.019812f, 0.020087f, -0.010222f, 0.019373f, -0.025139f, -0.003308f, 0.017717f, -0.009026f, 0.021506f, 0.009976f, -0.003260f, -0.030183f, 0.011206f, -0.007263f, -0.007353f, 0.001275f, -0.002475f, -0.003448f, 0.040815f, -0.020445f, 0.020716f, 0.034921f, 0.024164f, 0.012580f, 0.000220f, -0.023516f, 0.023025f, -0.013284f, 0.021927f, -0.012768f, 0.004885f, -0.024711f, -0.004943f, -0.023371f, -0.015408f, 0.003228f, -0.021737f, -0.006227f, -0.007728f, -0.001164f, 0.018916f, -0.022838f, -0.019634f, -0.007363f, -0.011374f, -0.004861f, -0.019465f, -0.025136f, -0.031334f, 0.002854f, 0.023896f, -0.001961f, -0.015559f, 0.002295f, 0.004915f, 0.018883f, -0.021323f, -0.012363f, -0.006962f, -0.000825f, 0.014151f, -0.000032f, 0.003803f, -0.014833f, -0.006289f, 0.007308f, 0.028912f, 0.012782f, 0.019916f, 0.023134f, 0.030216f, 0.011581f, -0.004312f, -0.010951f, 0.007235f, 0.009149f, 0.013254f, 0.005566f, 0.001131f, -0.000139f, 0.018292f, 0.006460f, -0.006981f, 0.001331f, 0.010201f, 0.004047f, 0.002368f, -0.006900f, -0.006760f, -0.004847f, -0.009349f, 0.000506f, 0.008579f, 0.008254f, + 0.001713f, -0.005072f, 0.012024f, 0.006915f, 0.015267f, 0.007941f, 0.000333f, 0.010215f, 0.000008f, -0.008102f, 0.011682f, -0.000186f, -0.001724f, -0.004595f, 0.002216f, -0.002918f, -0.000358f, 0.010238f, 0.005946f, -0.084131f, -0.039994f, 0.028073f, -0.068702f, -0.047617f, -0.003074f, -0.028022f, -0.019224f, 0.020975f, 0.023971f, 0.007358f, -0.004413f, 0.008698f, 0.068602f, -0.008394f, 0.010969f, 0.026431f, 0.030094f, -0.031269f, -0.016245f, -0.014796f, 0.025324f, 0.027676f, 0.013884f, 0.005117f, 0.025888f, -0.007581f, -0.012985f, 0.018218f, 0.035039f, 0.002530f, 0.011318f, 0.035683f, 0.026289f, 0.021481f, -0.016007f, 0.006795f, 0.010793f, -0.000024f, -0.000593f, 0.022927f, -0.007507f, -0.000312f, -0.002320f, 0.015332f, 0.000568f, -0.024973f, -0.016754f, 0.005074f, -0.033985f, 0.025802f, -0.007552f, 0.056940f, 0.002264f, 0.031258f, 0.006185f, -0.001300f, -0.018345f, -0.000818f, 0.007290f, -0.023990f, -0.012384f, -0.028034f, -0.003553f, 0.014443f, 0.019581f, -0.008474f, -0.045731f, 0.016635f, -0.007269f, 0.015671f, -0.016399f, -0.019519f, 0.014356f, -0.029552f, -0.022669f, 0.044216f, + 0.000661f, 0.020401f, -0.004160f, -0.019045f, 0.005309f, 0.026072f, 0.006336f, 0.020750f, -0.033499f, -0.001592f, -0.002268f, -0.005480f, -0.028798f, 0.028194f, -0.016766f, 0.002136f, -0.003279f, 0.003468f, -0.010675f, -0.000972f, 0.005916f, 0.008694f, -0.007121f, 0.018500f, -0.004532f, -0.005811f, -0.010781f, -0.009130f, -0.009301f, 0.008938f, -0.003570f, -0.006428f, -0.002718f, 0.002429f, -0.007071f, 0.012969f, -0.003835f, 0.014669f, -0.009118f, 0.006283f, 0.002276f, 0.005920f, 0.009466f, 0.002020f, 0.033962f, -0.015711f, -0.039628f, 0.016776f, -0.020771f, 0.008480f, -0.000680f, -0.019805f, 0.036168f, -0.048732f, -0.002160f, -0.058795f, 0.001277f, 0.047238f, 0.066148f, 0.031216f, -0.011540f, 0.030502f, -0.002480f, -0.004401f, 0.003144f, -0.005346f, 0.016152f, -0.002163f, -0.031182f, 0.001672f, -0.043274f, 0.015039f, -0.013497f, -0.009761f, 0.028768f, -0.000731f, -0.033310f, -0.037215f, 0.008445f, 0.004977f, -0.018624f, -0.015534f, 0.027615f, -0.040331f, -0.000367f, -0.008252f, 0.014033f, -0.010930f, -0.008868f, -0.032293f, -0.013817f, -0.014337f, -0.006151f, 0.023032f, -0.027643f, 0.009751f, + -0.003503f, -0.004912f, 0.003458f, 0.009846f, -0.046689f, -0.005097f, 0.006160f, -0.004256f, 0.017069f, -0.014808f, -0.020716f, -0.009526f, -0.052226f, -0.023120f, -0.022854f, 0.000940f, 0.022082f, 0.033327f, -0.015988f, 0.025181f, -0.043574f, 0.069451f, 0.004624f, -0.012656f, 0.036264f, -0.043345f, 0.036398f, 0.016176f, -0.009925f, 0.000597f, 0.012045f, 0.000804f, 0.005689f, 0.033124f, -0.014388f, 0.014037f, -0.007861f, 0.010108f, 0.016452f, 0.016178f, 0.019831f, -0.007062f, 0.016697f, 0.003796f, 0.002376f, -0.002978f, -0.022577f, 0.000669f, -0.016065f, 0.007147f, 0.010175f, -0.003637f, -0.002646f, 0.002804f, 0.002116f, 0.011025f, 0.005026f, -0.008320f, 0.012015f, -0.000348f, 0.001280f, 0.014839f, 0.010125f, 0.005821f, 0.027141f, -0.022623f, 0.000015f, 0.009790f, -0.000123f, -0.017816f, 0.004125f, -0.011400f, -0.010726f, 0.042748f, 0.002474f, -0.030433f, -0.000629f, -0.004558f, 0.019856f, 0.013112f, -0.018548f, 0.021543f, 0.000446f, -0.047925f, -0.052203f, -0.004937f, -0.015688f, 0.013109f, -0.002192f, -0.018382f, -0.047048f, -0.041013f, 0.022462f, -0.034883f, -0.007794f, 0.002293f, + 0.011116f, 0.002698f, 0.033633f, 0.002902f, -0.016929f, 0.022590f, -0.002941f, 0.003383f, 0.020825f, -0.027281f, -0.001748f, 0.006033f, -0.027889f, 0.017041f, 0.023260f, 0.010222f, 0.020703f, 0.010892f, 0.032038f, 0.008838f, 0.023337f, -0.032616f, -0.010170f, -0.005113f, -0.043877f, -0.000126f, -0.004703f, 0.018498f, -0.002894f, 0.021189f, -0.003466f, -0.025382f, -0.017311f, -0.001202f, -0.040580f, 0.017928f, 0.001169f, -0.007778f, 0.023803f, 0.015166f, 0.019781f, 0.020596f, 0.006314f, -0.002341f, 0.017279f, -0.054968f, 0.016755f, 0.007055f, 0.024710f, -0.009621f, -0.038846f, 0.024611f, -0.005831f, 0.042212f, -0.062042f, -0.021985f, -0.043436f, 0.029872f, -0.012636f, -0.039845f, -0.044509f, -0.029229f, -0.013141f, 0.014319f, 0.011220f, -0.012106f, -0.012622f, -0.006532f, -0.000763f, -0.013382f, -0.005079f, 0.022846f, 0.003566f, -0.002056f, 0.006714f, 0.005088f, 0.004207f, 0.012457f, -0.009531f, -0.012560f, -0.000285f, -0.021907f, 0.000032f, -0.007617f, -0.003110f, -0.014102f, -0.003803f, -0.019287f, -0.017339f, 0.022100f, -0.012260f, -0.000682f, 0.007424f, 0.010701f, -0.001838f, 0.018562f, + -0.015330f, -0.004856f, 0.007656f, -0.017986f, -0.004937f, 0.021278f, 0.007628f, 0.004846f, -0.007225f, -0.010838f, 0.008200f, 0.029075f, 0.026952f, 0.098831f, 0.074660f, 0.010030f, 0.021588f, 0.006180f, 0.057347f, 0.001482f, 0.027874f, -0.026186f, 0.067940f, -0.027044f, 0.061608f, -0.002876f, 0.039329f, -0.004690f, 0.027736f, -0.027763f, 0.006594f, 0.013787f, -0.015231f, -0.005064f, -0.008214f, -0.006490f, 0.018334f, 0.000336f, -0.015943f, -0.021975f, -0.033075f, -0.042085f, -0.020250f, -0.007173f, 0.000194f, 0.013109f, -0.035429f, 0.014891f, -0.019523f, -0.030130f, -0.006301f, -0.022042f, 0.009969f, -0.005449f, -0.046075f, -0.011051f, -0.023450f, -0.027836f, -0.029170f, 0.026351f, 0.035295f, -0.074005f, 0.016725f, 0.006469f, 0.020720f, 0.007227f, -0.009354f, 0.044616f, 0.025123f, 0.023301f, -0.061879f, -0.027776f, -0.000838f, 0.015155f, 0.051187f, 0.001824f, -0.006944f, 0.002386f, 0.043365f, 0.038876f, -0.036943f, 0.041609f, 0.003081f, 0.009270f, -0.007065f, 0.024377f, -0.052641f, -0.018536f, 0.054247f, -0.008426f, -0.003528f, -0.020994f, 0.036176f, 0.023540f, -0.018702f, -0.031756f, + -0.005454f, -0.001461f, 0.003221f, 0.000372f, -0.006762f, -0.029612f, -0.010084f, 0.022909f, 0.030182f, 0.018603f, -0.016645f, -0.004508f, -0.004857f, -0.014376f, 0.004656f, 0.004670f, 0.013972f, -0.003169f, -0.009824f, 0.008624f, 0.003407f, 0.005158f, 0.027345f, 0.003607f, -0.007563f, -0.010484f, 0.004738f, 0.009702f, 0.021311f, 0.004171f, -0.020635f, -0.011156f, -0.015481f, 0.006062f, 0.007977f, -0.017209f, -0.036383f, 0.011685f, -0.002926f, -0.006230f, -0.012678f, -0.022544f, 0.027235f, -0.010672f, 0.023743f, 0.036882f, -0.041508f, 0.012988f, -0.023680f, 0.069425f, -0.040984f, 0.039253f, 0.036202f, -0.013683f, -0.064710f, -0.037649f, -0.004189f, -0.017182f, -0.001842f, -0.029651f, -0.047114f, -0.062747f, -0.035905f, -0.041765f, 0.018138f, -0.035716f, 0.014987f, 0.004300f, -0.004019f, -0.003655f, -0.029358f, -0.009063f, -0.030162f, 0.008923f, 0.027132f, 0.035452f, 0.000740f, -0.009904f, -0.030962f, -0.007365f, 0.003190f, -0.018430f, 0.005372f, -0.025437f, -0.016507f, -0.003608f, -0.025197f, 0.020057f, -0.022242f, -0.065922f, 0.002549f, -0.002002f, -0.021685f, 0.028153f, 0.022124f, 0.032074f, + 0.012392f, 0.025246f, 0.051096f, 0.008619f, -0.050633f, -0.011538f, 0.023972f, -0.011117f, -0.042071f, 0.023608f, 0.033528f, 0.011308f, -0.000135f, -0.056997f, 0.051061f, -0.002387f, 0.041695f, -0.034473f, 0.042223f, 0.103263f, -0.009033f, -0.002912f, -0.050314f, 0.027203f, -0.040909f, 0.034658f, 0.017688f, -0.022521f, -0.004945f, -0.055684f, 0.012950f, -0.030339f, 0.000586f, 0.021513f, 0.021601f, -0.000700f, -0.014300f, -0.012379f, 0.015435f, 0.037794f, -0.018205f, -0.002870f, 0.005912f, -0.016366f, -0.004675f, -0.005110f, 0.008034f, -0.001740f, 0.015963f, -0.007161f, -0.017979f, -0.009957f, 0.005603f, 0.014370f, -0.017794f, -0.005480f, -0.000152f, 0.002569f, 0.013448f, 0.002988f, -0.004376f, 0.004865f, -0.030279f, -0.017306f, -0.001705f, -0.002669f, 0.006492f, 0.001933f, 0.002651f, -0.000422f, -0.005065f, 0.015684f, -0.000633f, 0.011739f, -0.000545f, -0.003177f, -0.011019f, -0.007534f, -0.081289f, 0.027438f, -0.106585f, 0.070183f, 0.025047f, -0.018312f, 0.074797f, -0.007319f, -0.038295f, 0.066343f, -0.025723f, -0.003733f, 0.013919f, 0.023135f, 0.061302f, 0.002395f, -0.005131f, 0.043269f, + 0.018282f, 0.036322f, 0.044461f, 0.032975f, 0.002929f, 0.023022f, 0.003531f, -0.002417f, -0.024539f, 0.015538f, 0.023276f, 0.005569f, -0.001523f, -0.026441f, 0.012537f, -0.024773f, 0.029609f, 0.029256f, 0.004991f, 0.034583f, -0.021452f, 0.022812f, 0.035833f, 0.022863f, -0.048596f, -0.052183f, 0.061154f, -0.005991f, 0.038217f, 0.059431f, 0.001317f, 0.000016f, -0.006283f, 0.011659f, 0.034278f, 0.032616f, 0.003324f, 0.027094f, -0.000067f, -0.030967f, -0.038707f, -0.057233f, 0.000927f, -0.023247f, 0.000742f, 0.032421f, 0.030291f, -0.053528f, 0.004516f, 0.020761f, -0.047024f, 0.007799f, 0.065235f, -0.028320f, -0.032660f, 0.035066f, -0.037757f, 0.008691f, -0.010667f, 0.068511f, -0.019991f, 0.042328f, -0.021068f, 0.035581f, -0.003418f, 0.013239f, 0.028341f, -0.044720f, -0.013706f, 0.017076f, -0.029718f, 0.021765f, -0.026681f, -0.007330f, -0.015102f, -0.013655f, 0.001841f, -0.007313f, -0.012276f, 0.007219f, 0.020284f, -0.010197f, 0.005486f, 0.007495f, -0.017749f, 0.003192f, 0.002335f, -0.004471f, -0.012575f, -0.005076f, -0.009731f, -0.028659f, -0.011495f, 0.006264f, -0.037830f, 0.013771f, + -0.019427f, 0.014681f, -0.008870f, -0.003538f, -0.026554f, -0.013709f, 0.000243f, 0.007452f, -0.011770f, -0.025678f, 0.004224f, 0.001909f, 0.013780f, 0.006110f, -0.000046f, 0.016958f, 0.013395f, 0.001599f, 0.011496f, 0.007974f, -0.036967f, 0.008506f, -0.042863f, 0.088755f, 0.021932f, -0.047068f, 0.018201f, -0.010765f, -0.041887f, -0.049385f, -0.050132f, 0.015117f, -0.002272f, 0.044632f, 0.066079f, 0.031873f, 0.016165f, -0.007767f, 0.022079f, 0.002303f, -0.082698f, 0.036569f, 0.086306f, -0.056168f, -0.059057f, -0.050978f, -0.072232f, 0.052584f, -0.071126f, 0.032299f, 0.000635f, -0.008723f, -0.000298f, -0.022968f, -0.027421f, 0.035582f, -0.073195f, 0.075601f, 0.043421f, 0.010201f, -0.048116f, -0.036281f, -0.031825f, 0.006946f, 0.012729f, -0.031037f, -0.004198f, -0.022869f, 0.052045f, 0.023723f, -0.009265f, -0.001387f, 0.021459f, 0.004981f, 0.024474f, -0.042279f, -0.016724f, -0.003886f, -0.007436f, -0.039316f, -0.027715f, 0.023646f, -0.075044f, -0.044140f, 0.005789f, 0.088004f, 0.042443f, -0.026584f, -0.001737f, -0.066591f, 0.032541f, 0.102047f, 0.003653f, -0.021737f, -0.015267f, -0.047946f, + 0.062793f, -0.020013f, -0.024204f, -0.001949f, 0.037233f, 0.023526f, -0.032226f, -0.028930f, -0.010362f, 0.032928f, -0.008710f, 0.009755f, -0.002528f, -0.025858f, -0.008409f, 0.041675f, 0.023799f, 0.003555f, -0.019245f, -0.002924f, -0.002902f, 0.032530f, 0.026387f, 0.013343f, 0.011929f, -0.038253f, 0.014706f, 0.013977f, -0.005733f, 0.008863f, -0.005994f, -0.005343f, -0.033615f, -0.003425f, -0.001711f, -0.004615f, -0.010721f, 0.009164f, 0.012342f, 0.006621f, -0.039543f, -0.033888f, -0.016764f, 0.000030f, 0.002413f, -0.039755f, 0.014234f, 0.050295f, 0.010112f, -0.013770f, 0.000944f, 0.007918f, 0.000159f, -0.021616f, -0.016582f, -0.005542f, 0.006802f, 0.000358f, -0.040953f, -0.028140f, -0.082122f, 0.018253f, -0.060436f, -0.090512f, 0.021593f, 0.050427f, 0.012622f, 0.013715f, -0.038143f, -0.047813f, -0.012212f, -0.070957f, -0.034712f, 0.018826f, -0.059305f, 0.094087f, 0.018553f, -0.022840f, 0.020462f, -0.044763f, -0.088624f, -0.029608f, -0.067715f, 0.011002f, 0.020150f, -0.024741f, -0.048078f, -0.024330f, -0.029552f, 0.026276f, -0.035192f, -0.012761f, -0.004317f, 0.040348f, -0.028764f, -0.005135f, + -0.013298f, 0.010433f, 0.017077f, 0.003221f, -0.011721f, 0.041600f, 0.054485f, 0.034809f, -0.027457f, -0.022590f, -0.079417f, -0.044218f, -0.017929f, 0.021250f, 0.134219f, -0.022752f, 0.001869f, 0.059752f, -0.005119f, 0.025516f, -0.030170f, -0.031597f, -0.025350f, 0.028401f, -0.075316f, 0.000675f, -0.009732f, -0.000867f, 0.065721f, -0.028678f, 0.099338f, 0.008853f, 0.075351f, -0.095583f, -0.028400f, 0.027755f, -0.001607f, -0.041438f, -0.034680f, 0.077710f, -0.079742f, -0.065966f, 0.095559f, 0.016844f, 0.083008f, -0.032801f, -0.005211f, -0.005696f, 0.026915f, 0.011431f, -0.007291f, 0.028209f, 0.028511f, -0.001485f, 0.013567f, 0.008928f, 0.003279f, -0.009757f, -0.017520f, -0.004030f, -0.011492f, -0.015764f, 0.015004f, 0.008568f, -0.013074f, 0.009608f, -0.028913f, -0.002865f, 0.020945f, 0.036057f, -0.002584f, -0.022709f, -0.001413f, -0.025855f, 0.015103f, 0.024770f, -0.016965f, -0.014215f, 0.014229f, 0.016511f, -0.036609f, 0.013200f, 0.001949f, 0.024072f, -0.015383f, -0.016214f, 0.000143f, 0.007610f, 0.011547f, -0.041590f, 0.007078f, -0.017648f, 0.033290f, -0.011542f, -0.007413f, -0.004818f, + -0.082079f, 0.039210f, 0.060392f, -0.043662f, -0.035850f, -0.012225f, -0.039383f, -0.047513f, 0.012813f, 0.014125f, 0.037076f, 0.001676f, 0.032416f, 0.057514f, 0.060092f, 0.039835f, 0.013899f, -0.043939f, 0.004453f, 0.022894f, 0.030468f, 0.046649f, 0.000631f, -0.024114f, -0.034966f, -0.013248f, 0.047430f, -0.019391f, 0.018747f, 0.041087f, 0.004198f, 0.080724f, 0.009460f, -0.051525f, 0.044686f, 0.043969f, 0.012845f, 0.018953f, 0.040969f, 0.006509f, 0.003627f, -0.047303f, 0.102324f, -0.108914f, -0.079879f, -0.092914f, -0.030576f, 0.019195f, -0.054425f, 0.028022f, 0.061108f, -0.018101f, 0.006154f, 0.053688f, 0.017352f, -0.058250f, -0.020018f, -0.045094f, -0.006268f, 0.003309f, 0.003159f, 0.051895f, 0.051268f, -0.011793f, -0.012695f, 0.032574f, 0.078844f, 0.013589f, 0.064905f, -0.054627f, 0.057719f, -0.025297f, 0.019274f, -0.011574f, -0.036480f, -0.025609f, -0.005601f, 0.025955f, 0.016166f, 0.064087f, -0.082822f, 0.042174f, -0.032642f, -0.020609f, -0.015965f, 0.030654f, -0.014415f, -0.002998f, 0.006910f, -0.033419f, 0.021081f, -0.016422f, -0.000907f, -0.025412f, 0.008036f, -0.005258f, + 0.001334f, -0.028614f, 0.004447f, -0.002768f, 0.005909f, -0.002948f, -0.030807f, 0.012224f, -0.017450f, -0.016270f, -0.007096f, 0.022949f, 0.027019f, 0.029411f, -0.025168f, 0.050693f, -0.038123f, -0.011777f, 0.003138f, -0.004365f, -0.028113f, -0.015459f, -0.001408f, -0.021484f, 0.006308f, -0.001989f, -0.000689f, -0.002773f, -0.020771f, 0.002457f, -0.003269f, -0.001214f, -0.046523f, -0.093573f, -0.094181f, -0.068173f, 0.013957f, 0.174883f, 0.044180f, -0.024158f, -0.052912f, -0.126427f, -0.177815f, 0.040106f, 0.073607f, 0.088360f, -0.018628f, 0.007626f, -0.052160f, -0.090733f, 0.026123f, 0.016430f, 0.029484f, 0.004226f, -0.076090f, -0.023280f, 0.018555f, -0.015334f, -0.003031f, -0.014433f, 0.099076f, 0.086983f, 0.058652f, -0.005417f, -0.042571f, -0.072296f, -0.047857f, -0.043283f, 0.067665f, -0.011269f, 0.049504f, 0.022351f, 0.023165f, -0.030509f, -0.164711f, -0.113434f, 0.055951f, -0.089271f, -0.030483f, 0.189937f, 0.130601f, 0.098102f, -0.074448f, 0.053705f, -0.051577f, 0.003708f, 0.003733f, 0.027511f, 0.080551f, 0.141969f, -0.054423f, -0.005132f, -0.093698f, -0.075737f, -0.123990f, 0.013382f, + -0.005163f, -0.133528f, -0.032017f, 0.085889f, 0.032078f, 0.059924f, 0.081279f, 0.146472f, -0.106808f, -0.064156f, 0.008423f, -0.087225f, -0.011285f, 0.048642f, 0.114100f, 0.057949f, 0.017767f, -0.069752f, -0.066851f, 0.044996f, -0.019081f, 0.067184f, 0.059085f, -0.016066f, 0.027032f, 0.010788f, -0.011452f, -0.022485f, -0.013106f, -0.008547f, 0.020015f, 0.005722f, -0.000595f, 0.006887f, -0.002172f, 0.009600f, 0.000176f, 0.042461f, 0.034912f, 0.055380f, 0.009901f, -0.030617f, -0.064314f, -0.052581f, 0.021239f, 0.049741f, 0.057015f, -0.007291f, -0.036629f, -0.147824f, -0.076030f, -0.070051f, 0.001541f, 0.007349f, 0.014949f, -0.000663f, 0.010848f, -0.016866f, -0.000240f, -0.024896f, -0.022303f, 0.031087f, 0.027377f, 0.015869f, 0.015985f, 0.007977f, 0.003476f, 0.006941f, 0.043263f, -0.070326f, -0.232775f, -0.216605f, -0.124357f, -0.135223f, -0.033755f, 0.224153f, 0.113859f, 0.230622f, 0.204630f, 0.320801f, 0.229080f, 0.197076f, 0.031754f, -0.085573f, -0.193478f, -0.309970f, -0.263274f, -0.265109f, -0.138604f, -0.066519f, -0.015671f, 0.002210f, 0.007570f, 0.054730f, 0.073093f, 0.184475f, + 0.111978f, 0.217703f, 0.141762f, 0.186619f, 0.067462f, 0.180324f, 0.062588f, 0.044125f, 0.042619f, -0.010712f, -0.050677f, -0.122047f, -0.140917f, -0.261477f, -0.179194f, -0.331342f, -0.262232f, -0.402151f, -0.238502f, -0.189175f, -0.045717f, 0.110550f, 0.058717f, 0.009963f, 0.110265f, 0.235860f, 0.314960f, 0.413071f, 0.492264f, 0.421318f, 0.307681f, 0.383828f, 0.316586f, 0.177560f, 0.079760f, -0.019632f, -0.132108f, -0.305422f, -0.362895f, -0.485822f, -0.627396f, -0.725912f, -0.655206f, -0.577330f, -0.411012f, -0.280497f, 0.085879f, 0.270683f, 0.329740f, 0.507984f, 0.423993f, 0.529774f, 0.556596f, 0.546180f, 0.629450f, 0.413361f, 0.107273f, -0.103930f, -0.201838f, -0.249607f, -0.161776f, -0.233753f, -0.200589f, -0.233934f, -0.316835f, -0.320257f, -0.373074f, -0.220726f, -0.172028f, -0.146453f, -0.082011f, -0.004835f, 0.021925f, 0.090738f, 0.245843f, 0.259295f, 0.367850f, 0.320443f, 0.420717f, 0.309611f, 0.206696f, 0.213542f, 0.081268f, -0.055772f, -0.091419f, -0.405660f, -0.523332f, -0.487013f, -0.430024f, -0.251515f, -0.197641f, -0.107798f, 0.009407f, 0.109975f, 0.167166f, 0.227612f, + 0.271340f, 0.323039f, 0.306404f, 0.290052f, 0.255051f, 0.142948f, -0.000559f, -0.071733f, -0.168226f, -0.175549f, -0.150706f, -0.122519f, -0.128137f, -0.129166f, -0.101815f, -0.072423f, -0.043044f, -0.017112f, -0.016076f, -0.010582f, 0.004417f, -0.010970f, -0.013788f, 0.019870f, 0.043324f, 0.049371f, 0.032707f, 0.025410f, 0.038991f, 0.049881f, 0.039200f, 0.047594f, 0.062561f, 0.076384f, 0.064983f, 0.015749f, -0.007693f, -0.002733f, -0.003259f, -0.021075f, -0.018254f, -0.012758f, -0.029404f, -0.048270f, -0.060796f, -0.057696f, -0.050808f, -0.040841f, -0.033893f, -0.019498f, -0.007762f, -0.004352f, -0.001928f, 0.009301f, 0.018777f, 0.024918f, 0.026997f, 0.028817f, 0.023413f, 0.019272f, 0.018756f, 0.012283f, 0.002715f, 0.006088f, 0.007461f, 0.002736f, -0.002870f, -0.004533f, -0.000223f, 0.008961f, 0.012463f, 0.010831f, 0.009391f, 0.013947f, 0.011015f, 0.003236f, -0.003758f, -0.008027f, -0.011503f, -0.014432f, -0.023969f, -0.029054f, -0.027532f, -0.029036f, -0.034503f, -0.026789f, -0.010231f, 0.001124f, 0.003669f, 0.010035f, 0.018584f, 0.023472f, 0.021017f, 0.021034f, 0.023303f, 0.021449f, + 0.015819f, 0.011317f, 0.006422f, 0.003140f, -0.000660f, -0.003507f, -0.003934f, -0.003546f, -0.004361f, -0.005804f, -0.006205f, -0.005352f, -0.004724f, -0.004307f, -0.003646f, -0.002701f, -0.002041f, -0.001528f, -0.001261f, -0.000970f}, + {-0.022232f, 0.008364f, -0.012631f, 0.006954f, -0.007097f, -0.014627f, -0.025330f, 0.004552f, 0.000825f, 0.006468f, 0.005692f, -0.001694f, -0.001796f, 0.001997f, 0.015427f, -0.010826f, -0.019390f, 0.006528f, -0.007982f, -0.012961f, 0.000298f, -0.001868f, 0.008123f, 0.002951f, 0.005813f, -0.005782f, -0.001390f, -0.003765f, 0.013147f, -0.003491f, -0.005226f, -0.004582f, -0.002245f, -0.003085f, -0.005192f, -0.004565f, -0.003160f, 0.002665f, 0.001168f, 0.001786f, 0.000504f, 0.003480f, 0.005610f, 0.002893f, -0.004889f, -0.014699f, -0.000093f, -0.010199f, 0.001546f, -0.000626f, -0.004628f, 0.006681f, 0.000500f, 0.000118f, -0.014670f, -0.005942f, 0.002019f, -0.001083f, 0.005189f, 0.000447f, 0.004621f, -0.004202f, 0.001942f, -0.001782f, 0.009124f, -0.003148f, 0.004824f, -0.008054f, -0.008049f, -0.010157f, 0.000547f, -0.002356f, -0.002945f, 0.000139f, -0.003537f, 0.000008f, -0.004133f, 0.000957f, 0.000219f, -0.001684f, -0.006409f, 0.000716f, 0.000701f, 0.003779f, 0.003293f, 0.000105f, 0.003505f, -0.000294f, -0.002670f, -0.000815f, -0.001249f, 0.001431f, -0.000003f, 0.000266f, 0.001983f, 0.001500f, + -0.000228f, 0.001863f, -0.001175f, 0.000443f, -0.015948f, -0.003276f, -0.002075f, -0.004504f, -0.002023f, -0.005432f, 0.005312f, -0.002134f, -0.001839f, -0.000430f, 0.000137f, -0.000297f, -0.003826f, 0.014181f, 0.009127f, 0.014821f, -0.006905f, 0.014753f, -0.008702f, -0.006094f, 0.005748f, 0.016335f, -0.000339f, -0.009862f, -0.014578f, -0.010462f, -0.002000f, 0.011653f, 0.004586f, 0.003961f, 0.005176f, -0.005085f, 0.007929f, 0.001033f, 0.005928f, -0.002861f, -0.013288f, 0.003645f, -0.009191f, -0.006280f, -0.006446f, -0.001512f, -0.016877f, -0.000758f, 0.000807f, -0.007033f, 0.015786f, -0.002969f, -0.005092f, -0.006318f, -0.000151f, 0.001763f, -0.006754f, 0.000255f, -0.008286f, -0.003096f, 0.000233f, -0.003394f, 0.011347f, 0.000376f, -0.003053f, 0.006381f, 0.004078f, 0.010534f, 0.004225f, 0.012659f, 0.003113f, 0.010356f, -0.011781f, 0.003087f, 0.009418f, -0.003194f, -0.008417f, -0.011559f, -0.000228f, -0.000879f, -0.002318f, 0.002880f, 0.003407f, -0.002430f, 0.009027f, -0.007738f, 0.002996f, 0.003184f, -0.005790f, 0.004257f, 0.000947f, -0.004201f, 0.002264f, -0.001035f, 0.000890f, -0.003934f, + 0.001229f, 0.000531f, 0.000734f, -0.000409f, -0.000283f, 0.002000f, 0.000505f, 0.003670f, -0.000742f, 0.000360f, 0.018019f, -0.008278f, -0.006385f, 0.001746f, -0.004095f, -0.003064f, 0.009007f, -0.007123f, 0.008671f, 0.003942f, 0.000131f, 0.004394f, -0.005913f, -0.005640f, -0.010325f, -0.011124f, 0.014510f, 0.006824f, 0.005067f, 0.007728f, -0.005155f, -0.003466f, -0.003807f, 0.018337f, -0.007175f, 0.020077f, -0.000732f, -0.005191f, -0.004902f, -0.010731f, -0.011523f, -0.013984f, -0.000909f, -0.003571f, 0.002471f, 0.013386f, -0.001193f, -0.006369f, -0.018803f, 0.000589f, 0.014858f, 0.021810f, -0.010309f, 0.005582f, 0.003988f, -0.005632f, -0.004991f, 0.005640f, 0.020687f, -0.005013f, 0.003225f, -0.001846f, -0.003062f, -0.002011f, 0.009907f, 0.014280f, -0.010900f, -0.005966f, 0.004418f, 0.018744f, 0.003109f, 0.013256f, -0.010918f, -0.010167f, -0.000583f, -0.001740f, 0.003785f, 0.002787f, -0.000271f, 0.001110f, 0.001925f, -0.004972f, 0.002260f, 0.006019f, 0.004651f, -0.003755f, 0.012001f, -0.003137f, 0.007534f, -0.004020f, -0.004170f, 0.004447f, 0.003777f, 0.004013f, 0.000895f, 0.004188f, + 0.000793f, -0.006322f, -0.004269f, 0.001147f, -0.000324f, 0.002235f, -0.001198f, 0.003374f, -0.000175f, 0.001853f, -0.001887f, -0.000416f, -0.000188f, -0.000987f, -0.002192f, -0.000267f, -0.001345f, -0.000402f, -0.001613f, -0.001431f, 0.003378f, -0.000118f, -0.001656f, 0.003621f, 0.000051f, -0.001956f, 0.029775f, -0.020383f, -0.004463f, -0.008441f, 0.002377f, 0.007965f, 0.014330f, -0.014222f, 0.009840f, -0.003680f, -0.015047f, -0.024379f, -0.004951f, -0.010329f, 0.001790f, -0.002283f, -0.010274f, -0.005227f, 0.005753f, 0.006082f, 0.019155f, 0.010650f, 0.009776f, 0.001056f, 0.003086f, -0.009842f, -0.006637f, 0.015403f, 0.011815f, 0.008035f, 0.003764f, 0.007421f, 0.001644f, 0.000126f, -0.012746f, -0.018069f, 0.012204f, -0.004773f, -0.012130f, -0.005756f, -0.007596f, 0.006551f, -0.006679f, 0.015475f, 0.003637f, -0.008815f, -0.004247f, -0.006736f, -0.005813f, 0.007594f, 0.011405f, -0.000905f, 0.007717f, -0.005529f, -0.006154f, 0.000111f, 0.001621f, -0.005898f, -0.002227f, 0.008965f, 0.000202f, -0.003606f, -0.004279f, 0.004915f, 0.005504f, -0.000619f, 0.006633f, 0.000975f, -0.004520f, 0.015440f, + -0.002083f, 0.001761f, 0.000850f, -0.018451f, 0.007339f, 0.005876f, 0.009726f, 0.006330f, -0.006664f, -0.001484f, -0.016587f, -0.007615f, -0.015210f, -0.005562f, -0.006751f, 0.000123f, 0.001585f, -0.010044f, 0.000567f, -0.002381f, 0.000157f, 0.004367f, -0.001402f, -0.001806f, -0.000206f, -0.002740f, 0.000632f, -0.001370f, 0.001291f, -0.001665f, -0.003632f, -0.001846f, -0.000817f, -0.006268f, -0.000435f, -0.000241f, 0.001452f, -0.000343f, 0.000922f, -0.000297f, 0.000300f, -0.003332f, -0.004224f, 0.000485f, -0.000485f, -0.001908f, 0.000975f, -0.004869f, -0.020368f, 0.005136f, 0.000118f, -0.006098f, -0.011200f, 0.004552f, -0.010709f, -0.002037f, 0.018246f, 0.027705f, 0.013585f, 0.015190f, -0.001245f, -0.007804f, 0.011383f, 0.010195f, 0.004236f, 0.005404f, 0.013591f, -0.002107f, 0.009853f, 0.009577f, 0.014103f, 0.013539f, -0.011271f, 0.009047f, -0.000834f, 0.003118f, -0.010512f, 0.003080f, -0.001511f, 0.009225f, -0.003728f, -0.002726f, -0.007464f, 0.006688f, -0.011506f, -0.009339f, 0.000792f, 0.009694f, 0.005215f, -0.005989f, -0.003191f, -0.001909f, -0.004036f, 0.005820f, -0.013829f, 0.012506f, + -0.000200f, 0.015580f, -0.022390f, 0.001478f, -0.020182f, -0.006418f, -0.006533f, 0.005374f, -0.002245f, -0.004658f, 0.004248f, 0.001565f, 0.005248f, 0.008564f, 0.014052f, -0.001854f, -0.011572f, 0.002363f, 0.018985f, 0.003818f, -0.005706f, -0.001492f, 0.011641f, -0.006317f, 0.007018f, -0.006105f, -0.020626f, 0.011738f, 0.012368f, 0.011544f, -0.010283f, -0.015258f, -0.011117f, 0.012779f, -0.001556f, -0.002048f, 0.008925f, 0.003286f, 0.002067f, 0.001489f, -0.000824f, 0.003465f, 0.004561f, -0.001657f, -0.002777f, 0.002602f, 0.000094f, -0.000969f, 0.001420f, -0.002636f, 0.000550f, 0.004064f, -0.001908f, 0.004274f, -0.002022f, -0.003286f, 0.001328f, -0.000160f, -0.000183f, 0.002135f, 0.001476f, 0.002170f, 0.001540f, 0.001543f, -0.000336f, 0.002095f, -0.001561f, -0.030485f, 0.000541f, -0.006739f, 0.002830f, -0.017061f, 0.002107f, 0.002849f, 0.022674f, -0.018098f, 0.000249f, -0.024287f, 0.005560f, -0.014664f, -0.003563f, 0.000924f, -0.007945f, 0.007061f, 0.003130f, -0.012700f, 0.000253f, -0.000162f, 0.011789f, -0.007663f, 0.018980f, -0.000198f, -0.016422f, -0.008357f, 0.020196f, -0.001908f, + 0.008094f, 0.005406f, -0.003318f, 0.012103f, -0.013343f, -0.012603f, -0.009821f, 0.001418f, -0.012780f, 0.013635f, -0.007480f, 0.008762f, -0.012376f, -0.000104f, -0.015040f, 0.009929f, 0.001332f, 0.011886f, 0.010589f, -0.009981f, 0.019903f, 0.017014f, 0.016026f, 0.003217f, 0.016826f, 0.013873f, -0.014270f, 0.012304f, 0.005856f, 0.001182f, -0.013249f, 0.006162f, -0.011276f, 0.011238f, -0.004848f, -0.008840f, -0.001083f, 0.016742f, 0.005937f, -0.019149f, 0.018311f, -0.001451f, -0.006481f, -0.010916f, 0.018649f, 0.016199f, -0.013911f, 0.013826f, -0.001003f, -0.016512f, 0.000197f, -0.009356f, -0.005179f, 0.009182f, -0.007998f, 0.006576f, -0.000678f, 0.002950f, -0.003838f, 0.005027f, -0.000696f, -0.000442f, -0.001119f, -0.001767f, 0.001747f, 0.001033f, -0.004652f, 0.001726f, 0.002298f, 0.000067f, 0.001709f, 0.002098f, -0.004370f, 0.001013f, -0.000538f, 0.000165f, -0.003689f, 0.001380f, -0.001522f, -0.002146f, -0.004905f, 0.005703f, 0.001157f, -0.002585f, -0.000775f, 0.001576f, -0.000597f, 0.043542f, 0.007397f, -0.001742f, -0.015019f, -0.028214f, 0.007199f, -0.004160f, -0.041410f, 0.036322f, + -0.017603f, -0.026282f, 0.005550f, -0.001682f, 0.004892f, -0.001701f, 0.007039f, 0.010472f, 0.000137f, -0.000672f, -0.021163f, -0.001762f, -0.002010f, 0.024948f, -0.004560f, 0.000645f, 0.009182f, -0.004382f, -0.003074f, -0.010157f, 0.021305f, -0.015990f, 0.015394f, -0.003803f, -0.012768f, 0.002386f, -0.014274f, -0.007260f, -0.023182f, 0.004079f, 0.010641f, -0.006272f, -0.011567f, -0.009158f, 0.014010f, -0.021733f, -0.005140f, -0.010720f, -0.000305f, -0.003120f, 0.002827f, -0.018856f, 0.018362f, -0.025742f, -0.017601f, 0.006975f, 0.003106f, -0.000983f, 0.006872f, -0.013356f, -0.019210f, 0.002374f, -0.005226f, -0.000888f, 0.009427f, -0.011491f, 0.008546f, 0.005942f, 0.021186f, -0.005880f, 0.003037f, -0.001643f, 0.000303f, 0.029369f, 0.002459f, 0.029078f, -0.007027f, -0.010936f, 0.003312f, -0.014974f, -0.001338f, 0.014854f, 0.001192f, -0.017421f, -0.015242f, 0.004260f, -0.001624f, 0.000053f, 0.014927f, 0.001148f, -0.002814f, 0.006188f, -0.000858f, -0.000618f, -0.006983f, 0.002568f, 0.003259f, -0.003523f, -0.000104f, -0.001741f, 0.005758f, -0.002626f, -0.001176f, 0.002943f, 0.000758f, 0.001780f, + -0.000557f, 0.003283f, -0.001096f, -0.000003f, 0.001751f, -0.003675f, 0.004529f, -0.002900f, 0.001670f, 0.003794f, 0.002066f, 0.003582f, 0.000978f, -0.031881f, -0.004116f, -0.006429f, -0.025848f, -0.044558f, 0.013834f, 0.023247f, -0.016283f, -0.007794f, 0.013183f, -0.004741f, 0.027879f, -0.003023f, -0.014779f, -0.008777f, -0.041517f, 0.014139f, 0.004775f, -0.003712f, -0.029138f, 0.006988f, -0.016169f, -0.004201f, -0.014183f, -0.007220f, 0.020850f, -0.019844f, 0.008679f, -0.029423f, 0.018981f, 0.003850f, 0.000464f, -0.008427f, 0.002320f, -0.003768f, -0.016405f, -0.030983f, 0.006123f, 0.000142f, 0.006747f, 0.013116f, -0.007455f, -0.002400f, -0.019891f, -0.010189f, -0.005257f, 0.008556f, 0.005821f, 0.014826f, 0.023625f, 0.018491f, 0.009563f, 0.014131f, 0.004366f, 0.014725f, 0.013264f, -0.012734f, 0.015180f, 0.017132f, -0.003402f, 0.022913f, -0.002278f, 0.026867f, -0.011744f, -0.028668f, -0.004599f, 0.018447f, 0.020297f, 0.023305f, -0.004377f, -0.040037f, -0.003929f, -0.002033f, 0.001626f, -0.001255f, -0.009765f, 0.005861f, -0.029180f, 0.022905f, 0.014488f, 0.013931f, -0.015227f, -0.014381f, + -0.003088f, 0.008586f, -0.000928f, -0.016099f, 0.000253f, -0.007810f, -0.013066f, -0.005187f, -0.002070f, -0.006201f, 0.000703f, -0.005225f, 0.002781f, -0.003220f, -0.001709f, 0.004336f, 0.000910f, 0.002035f, -0.001987f, -0.005685f, -0.006308f, 0.004595f, -0.005007f, -0.000075f, -0.001755f, 0.002867f, -0.001973f, -0.001206f, -0.001951f, 0.006843f, 0.003688f, 0.002166f, -0.001976f, 0.042729f, -0.009407f, -0.010270f, 0.014248f, 0.023000f, -0.001655f, 0.010698f, 0.026644f, 0.019238f, -0.043751f, -0.040213f, 0.000328f, -0.003880f, 0.005897f, -0.017985f, -0.031915f, 0.007560f, 0.025590f, 0.016884f, -0.018524f, 0.030079f, 0.024326f, 0.022807f, -0.038339f, 0.010835f, 0.020118f, 0.001008f, 0.003069f, 0.017094f, 0.039516f, -0.007663f, -0.018046f, 0.011956f, 0.008969f, -0.005411f, 0.021369f, 0.031849f, 0.005971f, 0.032995f, 0.014456f, -0.024823f, 0.002815f, 0.027354f, -0.002935f, -0.011282f, 0.014211f, 0.002254f, 0.005422f, 0.028708f, 0.018486f, 0.009741f, 0.003440f, -0.033415f, -0.033968f, -0.002884f, 0.005422f, 0.008839f, -0.010456f, -0.001523f, -0.008752f, 0.002941f, 0.004282f, -0.012780f, + 0.004866f, -0.007864f, -0.001939f, -0.010868f, 0.001268f, 0.021195f, -0.012514f, -0.030737f, -0.004743f, -0.026151f, 0.005803f, -0.009364f, -0.000625f, -0.003551f, 0.012382f, -0.004659f, 0.008983f, -0.000162f, 0.007715f, 0.003571f, -0.003491f, -0.004209f, -0.005258f, -0.015187f, 0.005576f, 0.001929f, 0.003859f, 0.000463f, -0.011644f, 0.005844f, -0.009093f, -0.007746f, -0.002601f, -0.009934f, -0.002016f, -0.003274f, -0.003622f, -0.003150f, 0.006503f, -0.002878f, 0.004362f, -0.000434f, 0.003526f, 0.000580f, 0.008383f, -0.003613f, 0.002328f, -0.006726f, -0.001619f, -0.005771f, -0.005167f, -0.001115f, -0.003786f, 0.012744f, 0.005470f, 0.000465f, -0.001690f, -0.001811f, -0.071072f, -0.044222f, -0.013184f, 0.013266f, -0.004085f, -0.017523f, 0.003480f, -0.017073f, 0.050255f, -0.019955f, 0.032341f, 0.049591f, 0.027017f, 0.024567f, -0.019018f, 0.017737f, -0.009303f, -0.022616f, 0.020183f, 0.023508f, 0.015676f, 0.033470f, 0.000456f, -0.001493f, -0.014431f, -0.014805f, -0.012609f, -0.020477f, -0.019931f, -0.013619f, 0.007976f, 0.003000f, 0.000052f, -0.012813f, -0.006866f, -0.019873f, 0.008600f, -0.017144f, + -0.015529f, -0.006861f, 0.008640f, 0.000074f, -0.010404f, -0.029031f, 0.003734f, -0.008480f, 0.010815f, -0.034278f, -0.026433f, 0.030353f, -0.004383f, -0.005696f, -0.013745f, -0.008430f, 0.022868f, 0.007472f, -0.004462f, 0.012541f, -0.003163f, 0.013042f, 0.010479f, 0.014862f, -0.010344f, -0.017260f, -0.043566f, 0.003161f, -0.042246f, -0.002772f, -0.035727f, -0.005079f, 0.034222f, -0.004187f, 0.006246f, -0.024151f, -0.010283f, -0.012416f, 0.002938f, -0.015479f, -0.008842f, 0.015410f, 0.019237f, -0.001882f, -0.001722f, 0.002252f, -0.008472f, 0.003312f, -0.000776f, -0.008438f, -0.003283f, -0.007212f, -0.002662f, -0.004068f, -0.019497f, 0.003513f, -0.003098f, -0.002486f, 0.001424f, -0.005319f, -0.006177f, -0.013489f, -0.002968f, -0.007776f, -0.009161f, -0.001685f, -0.011591f, -0.005426f, 0.002161f, -0.007335f, -0.008392f, 0.001139f, -0.006982f, 0.002468f, 0.003014f, 0.008555f, -0.004919f, 0.006001f, 0.003032f, -0.007675f, -0.002705f, -0.001794f, -0.003368f, 0.001618f, -0.001493f, -0.002181f, 0.049151f, 0.000969f, -0.035587f, -0.030174f, 0.030834f, 0.024182f, -0.022782f, -0.022002f, 0.041339f, 0.026279f, + 0.001516f, -0.024525f, 0.002961f, -0.010306f, 0.019601f, -0.015213f, 0.002325f, -0.006436f, -0.004521f, 0.042760f, -0.006054f, -0.011621f, 0.007917f, 0.007295f, 0.012767f, 0.013228f, 0.001437f, -0.016844f, 0.012753f, 0.006490f, 0.014614f, 0.033092f, 0.015114f, -0.047569f, -0.013652f, -0.007726f, -0.036471f, 0.014147f, -0.006362f, 0.000785f, -0.020350f, 0.017210f, -0.007936f, 0.003328f, -0.026459f, 0.017962f, -0.021566f, 0.001818f, 0.021151f, -0.003352f, 0.022312f, -0.017412f, 0.027838f, -0.035710f, 0.017801f, 0.000464f, -0.012957f, 0.046852f, 0.012405f, -0.009666f, -0.027982f, 0.012208f, -0.005819f, 0.003921f, -0.004330f, 0.017193f, 0.025436f, 0.034477f, -0.021869f, 0.015545f, -0.008735f, 0.030853f, 0.011169f, 0.004488f, -0.002949f, 0.018540f, 0.003170f, -0.012127f, 0.014857f, -0.010548f, -0.018141f, -0.007700f, -0.024629f, 0.000426f, -0.027581f, -0.002220f, -0.018641f, 0.021264f, -0.006864f, 0.013715f, -0.014967f, 0.000679f, -0.008458f, 0.012958f, -0.004249f, -0.001101f, -0.008391f, 0.004467f, -0.006346f, -0.009788f, -0.005909f, 0.004431f, -0.009773f, 0.005956f, -0.007792f, 0.003713f, + -0.005126f, -0.004618f, -0.005129f, -0.010415f, -0.006382f, 0.000418f, -0.007945f, -0.006848f, 0.009514f, 0.008627f, 0.004350f, -0.004738f, -0.012671f, -0.001150f, 0.005135f, -0.000275f, -0.009904f, -0.005566f, -0.000971f, -0.071438f, -0.046238f, 0.038564f, -0.028175f, -0.026435f, 0.014888f, 0.033771f, -0.055460f, -0.009147f, 0.013311f, 0.003660f, -0.028916f, -0.043376f, 0.081687f, -0.035102f, 0.011168f, -0.039921f, 0.022134f, -0.013852f, 0.038242f, 0.033988f, 0.003513f, 0.006095f, -0.045238f, 0.000026f, 0.021522f, -0.018281f, -0.026935f, 0.021571f, 0.006175f, 0.023252f, 0.018506f, -0.003758f, 0.007826f, -0.005010f, -0.002789f, 0.034250f, -0.028941f, -0.016976f, 0.027502f, -0.001025f, -0.021821f, 0.029102f, -0.000773f, -0.006276f, -0.019491f, -0.008552f, 0.010815f, -0.015207f, -0.001635f, 0.010315f, -0.019335f, -0.019824f, -0.012852f, 0.014814f, -0.042098f, 0.020279f, -0.001813f, 0.040269f, -0.037610f, 0.012673f, -0.028573f, 0.010720f, -0.017104f, -0.021848f, 0.036337f, -0.019883f, -0.008689f, -0.019352f, 0.015783f, -0.022154f, 0.013310f, -0.007450f, 0.026614f, 0.027287f, -0.003275f, -0.042208f, + 0.017052f, 0.017746f, -0.001893f, -0.001219f, -0.024033f, -0.016584f, -0.003874f, -0.020706f, -0.016610f, -0.005770f, -0.000355f, -0.010241f, -0.013627f, 0.015881f, 0.005430f, -0.009706f, -0.008079f, -0.009921f, -0.010479f, 0.011585f, 0.004382f, 0.002890f, -0.015823f, -0.005975f, 0.013898f, -0.007864f, -0.009648f, 0.006572f, -0.006861f, 0.000178f, 0.005169f, 0.008137f, -0.003108f, -0.013094f, 0.002812f, 0.008017f, -0.017491f, 0.000537f, 0.004758f, 0.000550f, -0.009131f, -0.005187f, 0.000638f, -0.004070f, 0.036081f, 0.017602f, -0.040357f, 0.013937f, 0.043672f, -0.003703f, 0.000215f, 0.020239f, -0.012915f, 0.030681f, 0.027743f, -0.036390f, -0.022302f, -0.006587f, 0.019397f, 0.035027f, 0.006290f, 0.018687f, 0.039454f, 0.029619f, -0.041314f, -0.004286f, 0.065871f, 0.016409f, -0.004299f, -0.007601f, -0.012299f, -0.019153f, 0.005879f, 0.016297f, 0.018040f, 0.016900f, -0.011692f, -0.027908f, 0.007625f, -0.014419f, 0.015498f, 0.045606f, -0.012006f, -0.045398f, 0.054644f, -0.016249f, -0.030007f, 0.044422f, -0.007913f, -0.012971f, -0.047271f, -0.008303f, 0.019622f, 0.009554f, -0.010230f, -0.019756f, + 0.018336f, 0.002174f, -0.021879f, 0.019032f, -0.004352f, 0.043384f, -0.031710f, 0.004744f, -0.006161f, 0.049681f, 0.016886f, -0.069975f, 0.022056f, -0.029090f, -0.012285f, -0.024843f, 0.030414f, 0.100791f, 0.036754f, 0.006113f, 0.023290f, 0.029544f, -0.037044f, -0.015440f, -0.010406f, -0.020873f, -0.012781f, -0.023127f, 0.022147f, -0.051317f, -0.013664f, 0.004977f, 0.006194f, -0.016603f, 0.003234f, 0.009427f, -0.005034f, -0.006224f, 0.017583f, 0.003565f, 0.011745f, 0.010092f, -0.010569f, 0.003349f, 0.008702f, 0.003673f, 0.007281f, -0.004932f, 0.004476f, -0.009653f, 0.001359f, -0.002654f, -0.009578f, -0.004668f, -0.002156f, 0.016141f, 0.000895f, 0.004499f, 0.000667f, -0.002847f, -0.003209f, 0.001759f, -0.001382f, -0.014141f, -0.001741f, 0.002823f, -0.003441f, -0.010773f, -0.026205f, -0.009041f, -0.007927f, 0.015948f, -0.002655f, 0.002916f, -0.015378f, -0.053257f, -0.022692f, 0.003593f, -0.021657f, -0.067019f, 0.058021f, -0.011206f, 0.026120f, 0.004893f, -0.030764f, -0.052887f, -0.050970f, 0.057044f, 0.034712f, 0.013049f, -0.020196f, -0.038245f, -0.028676f, -0.045405f, -0.011720f, 0.016858f, + -0.007123f, 0.003650f, 0.007169f, -0.007500f, -0.023565f, -0.022647f, -0.038624f, -0.013891f, -0.007479f, 0.018900f, 0.013159f, 0.020784f, -0.010411f, -0.017317f, -0.007306f, 0.027183f, 0.003803f, 0.024060f, -0.080680f, -0.019051f, -0.000182f, 0.017628f, -0.025792f, -0.001194f, -0.029843f, 0.023263f, 0.020461f, 0.003862f, 0.099493f, 0.001512f, 0.031040f, 0.040903f, 0.001701f, 0.013163f, 0.000545f, -0.007240f, -0.012054f, 0.020575f, 0.030233f, 0.039568f, -0.000970f, -0.007565f, 0.002643f, 0.025967f, 0.023587f, 0.000763f, 0.019105f, 0.016491f, 0.012830f, -0.005390f, 0.038885f, -0.011331f, 0.049922f, -0.049526f, -0.024812f, -0.060895f, -0.019037f, 0.010780f, 0.001362f, -0.015855f, 0.003145f, -0.000310f, 0.027112f, -0.005626f, 0.032502f, -0.015036f, -0.012244f, -0.016512f, 0.008292f, 0.018225f, -0.003124f, -0.009019f, -0.010049f, 0.011208f, 0.000005f, 0.037931f, -0.006200f, -0.002721f, 0.006647f, 0.010571f, 0.015496f, -0.013261f, -0.001365f, 0.004992f, 0.007541f, -0.018264f, 0.006108f, 0.006821f, 0.023112f, -0.023189f, 0.012903f, 0.008699f, -0.010066f, 0.019696f, -0.011407f, -0.013668f, + -0.000165f, -0.004702f, 0.009891f, 0.004982f, -0.008407f, -0.000341f, 0.008065f, 0.001843f, 0.020043f, -0.001046f, 0.013002f, 0.037248f, -0.007512f, 0.001124f, 0.009407f, -0.052259f, 0.001622f, 0.006883f, 0.032008f, 0.049126f, -0.042815f, 0.008827f, -0.027196f, 0.034866f, 0.031543f, 0.003532f, 0.061063f, 0.018691f, 0.023986f, -0.022986f, -0.004164f, -0.039853f, 0.061006f, -0.036299f, 0.009066f, 0.037146f, -0.009518f, -0.024742f, 0.018468f, -0.006054f, 0.009068f, 0.039924f, 0.000492f, -0.013330f, -0.004282f, 0.007076f, -0.001835f, -0.024494f, 0.017211f, -0.002795f, -0.007367f, 0.068537f, -0.053613f, 0.049451f, 0.031686f, 0.061837f, 0.024835f, -0.044557f, 0.033544f, 0.000203f, 0.031130f, 0.081595f, -0.059767f, -0.025014f, -0.008181f, 0.001115f, 0.055244f, -0.033585f, 0.002342f, -0.036029f, 0.002229f, 0.062449f, -0.007652f, 0.064827f, 0.017843f, 0.010700f, 0.029125f, -0.040354f, -0.007164f, 0.028248f, 0.040075f, -0.066487f, -0.002920f, -0.057030f, 0.024778f, -0.029874f, -0.001542f, 0.012932f, 0.017860f, 0.000953f, -0.020695f, -0.016480f, -0.062428f, -0.007482f, -0.044518f, 0.035200f, + 0.002512f, -0.003222f, 0.027179f, 0.001117f, -0.000719f, 0.026224f, 0.019323f, 0.012973f, -0.000252f, -0.009417f, 0.011995f, -0.021321f, -0.002145f, -0.014758f, 0.013746f, 0.014495f, -0.013214f, -0.002847f, -0.027432f, 0.011491f, -0.002259f, -0.000436f, -0.001328f, -0.026462f, -0.032003f, -0.010795f, 0.009560f, 0.023421f, 0.011511f, 0.010355f, -0.004400f, 0.019563f, 0.013271f, -0.001263f, -0.010770f, 0.016980f, -0.025348f, -0.007327f, 0.004534f, 0.027618f, 0.022514f, 0.004649f, -0.010998f, -0.039728f, 0.011501f, -0.069719f, -0.061394f, 0.001138f, 0.001112f, -0.038927f, 0.032050f, 0.009420f, -0.010421f, -0.036118f, 0.049686f, -0.011315f, 0.073830f, -0.010549f, 0.016084f, 0.026740f, -0.035591f, -0.011778f, 0.011442f, -0.042521f, -0.023823f, -0.037171f, 0.032279f, -0.029753f, -0.007926f, -0.009673f, 0.027971f, -0.025073f, -0.042398f, -0.059275f, -0.001560f, 0.049534f, 0.003127f, -0.027119f, -0.011439f, -0.034374f, -0.011401f, 0.000398f, 0.020754f, -0.038740f, -0.004200f, -0.008372f, -0.027551f, -0.038085f, 0.001964f, 0.006461f, 0.024825f, 0.008537f, 0.042559f, 0.011835f, 0.053670f, -0.022269f, + 0.044339f, -0.011212f, -0.034366f, -0.008952f, 0.072024f, -0.030998f, 0.032904f, -0.022716f, 0.052888f, -0.027861f, 0.017947f, 0.033499f, -0.001845f, -0.013774f, 0.006541f, -0.019061f, 0.048119f, -0.043935f, -0.016408f, 0.047894f, -0.005734f, -0.039930f, 0.002051f, 0.036609f, 0.020510f, 0.036607f, -0.036783f, -0.031402f, -0.019783f, -0.004043f, 0.036262f, 0.043640f, -0.077064f, 0.004091f, 0.022545f, -0.042392f, 0.007186f, 0.026774f, 0.021036f, 0.019639f, 0.019379f, 0.012819f, -0.005712f, 0.001405f, 0.014906f, 0.016431f, 0.013610f, 0.032987f, -0.009803f, 0.017332f, 0.007556f, 0.035703f, 0.021495f, -0.027607f, -0.034638f, 0.011073f, 0.037770f, -0.010721f, -0.010154f, -0.023951f, -0.040509f, 0.004654f, -0.034530f, -0.010974f, 0.008218f, -0.023202f, 0.021861f, 0.006133f, -0.006968f, -0.019176f, -0.003409f, -0.019880f, -0.001340f, 0.010947f, 0.005486f, 0.003051f, -0.003177f, -0.004925f, -0.067295f, 0.072224f, -0.025133f, 0.061379f, -0.013797f, 0.049148f, 0.003387f, -0.016429f, -0.034965f, -0.024950f, -0.005320f, -0.000044f, 0.035898f, -0.014767f, -0.003627f, 0.009742f, -0.034200f, 0.053155f, + 0.019356f, 0.001235f, -0.045186f, 0.029684f, 0.015249f, -0.036187f, 0.033867f, 0.002261f, -0.006215f, 0.007983f, -0.001837f, 0.044772f, -0.011186f, -0.057986f, 0.061092f, -0.032646f, -0.005779f, 0.045230f, -0.021053f, -0.010802f, -0.028237f, 0.071828f, -0.033284f, -0.009721f, -0.046157f, -0.009572f, 0.004779f, 0.064131f, -0.031149f, 0.011459f, 0.019901f, 0.037828f, -0.010913f, -0.041908f, 0.044080f, 0.026463f, 0.035640f, -0.018520f, -0.009494f, 0.003849f, 0.039566f, -0.023116f, -0.048089f, -0.053546f, 0.027345f, -0.037724f, 0.008689f, 0.038722f, 0.035851f, -0.026536f, -0.009615f, 0.052379f, -0.085492f, -0.002751f, 0.010912f, 0.028557f, -0.004708f, -0.031663f, -0.006958f, 0.047709f, -0.010199f, 0.098746f, 0.038137f, -0.029192f, -0.004637f, 0.002200f, -0.012783f, -0.036756f, -0.044938f, -0.033042f, 0.026864f, -0.021649f, -0.009383f, -0.001566f, 0.042577f, 0.018087f, -0.015850f, 0.018436f, 0.013186f, -0.001307f, 0.005563f, 0.007348f, -0.001354f, 0.005316f, 0.043604f, 0.035898f, 0.034532f, 0.023405f, 0.002561f, -0.022569f, 0.010962f, -0.017783f, 0.020459f, -0.026976f, 0.027728f, 0.041063f, + 0.013029f, 0.052201f, 0.056163f, 0.022470f, -0.001394f, 0.029271f, 0.009435f, -0.006114f, -0.019027f, 0.030466f, -0.008974f, -0.025531f, -0.001209f, 0.014444f, -0.007999f, 0.012499f, 0.023584f, 0.008676f, -0.031661f, 0.024712f, -0.014836f, -0.016810f, -0.094396f, 0.031260f, 0.017542f, 0.082923f, 0.072519f, -0.011465f, -0.027750f, -0.086732f, 0.001809f, 0.028223f, -0.037593f, 0.027563f, 0.049693f, 0.048476f, -0.023474f, 0.058485f, 0.052042f, 0.001986f, -0.032610f, -0.034660f, 0.053140f, 0.045590f, -0.066267f, -0.089799f, 0.117940f, 0.005702f, -0.009182f, 0.015148f, 0.008013f, 0.043624f, 0.042993f, -0.018007f, -0.015778f, 0.061471f, 0.028616f, -0.011434f, -0.041930f, 0.024597f, 0.004140f, 0.003012f, 0.021219f, 0.002788f, -0.002754f, -0.024973f, 0.013031f, -0.007658f, -0.031084f, 0.055302f, -0.089251f, 0.061434f, 0.050318f, -0.083941f, -0.006680f, 0.042496f, 0.009916f, 0.048527f, -0.012283f, 0.006684f, 0.043739f, -0.006030f, 0.021899f, -0.041425f, -0.066293f, 0.183997f, -0.076213f, -0.106004f, -0.024067f, 0.204955f, 0.087619f, -0.087487f, -0.020708f, 0.036142f, 0.024111f, -0.001927f, + -0.053729f, 0.077051f, 0.042193f, 0.032310f, 0.006659f, -0.104103f, -0.018049f, 0.016932f, 0.030022f, -0.042745f, -0.071692f, 0.006257f, 0.021377f, 0.009805f, -0.034367f, -0.035293f, 0.016006f, 0.009560f, 0.024629f, -0.004688f, -0.009608f, -0.002495f, 0.026368f, 0.034895f, 0.023018f, -0.052300f, -0.021291f, 0.037091f, 0.026230f, -0.026274f, -0.000927f, 0.030293f, 0.052518f, 0.021079f, -0.029299f, -0.038080f, -0.051055f, 0.023782f, -0.017066f, 0.022146f, -0.043337f, 0.023966f, 0.011231f, 0.026991f, -0.020442f, -0.009971f, -0.035025f, -0.014162f, 0.032392f, 0.006415f, -0.028923f, 0.015675f, 0.049493f, 0.003417f, -0.004373f, 0.015342f, -0.008004f, 0.013667f, -0.036395f, -0.022872f, 0.046327f, 0.080106f, 0.005784f, 0.132883f, -0.058609f, -0.022347f, 0.077151f, 0.004077f, -0.004154f, -0.039292f, -0.078836f, 0.065976f, -0.040979f, -0.044540f, 0.034303f, -0.049467f, 0.024920f, -0.046881f, -0.052067f, -0.008491f, 0.011670f, 0.007738f, -0.012095f, 0.063173f, 0.015969f, 0.038661f, 0.018619f, 0.001424f, 0.001193f, -0.028028f, -0.060127f, 0.019666f, 0.060378f, -0.048775f, 0.042223f, -0.049720f, + -0.005024f, -0.002365f, -0.077313f, 0.055559f, -0.026683f, 0.021882f, 0.001689f, -0.022403f, 0.001485f, -0.055640f, 0.057729f, -0.040165f, 0.019387f, -0.064830f, -0.039517f, -0.085163f, 0.032470f, -0.039582f, -0.044881f, -0.035944f, -0.018593f, 0.000487f, 0.091202f, 0.033028f, 0.045145f, -0.012020f, -0.042513f, -0.053460f, 0.014326f, 0.003755f, -0.092783f, -0.042771f, -0.163222f, -0.076407f, -0.063099f, -0.009028f, -0.075207f, -0.061512f, -0.013620f, 0.060214f, 0.068128f, -0.054964f, -0.070087f, -0.080119f, 0.040560f, 0.096841f, 0.004889f, 0.077981f, 0.001944f, 0.047292f, 0.018739f, 0.006154f, 0.022514f, 0.008805f, -0.001934f, -0.027472f, 0.039937f, 0.033583f, 0.017689f, -0.032908f, -0.013355f, -0.003949f, 0.017018f, 0.018540f, -0.006783f, 0.020086f, -0.008784f, -0.021933f, -0.039367f, 0.005408f, 0.054344f, 0.020177f, -0.006669f, 0.015917f, -0.017825f, 0.029769f, -0.010947f, 0.038752f, 0.036749f, 0.004918f, -0.040136f, 0.007170f, 0.008574f, 0.043874f, 0.010221f, 0.049797f, -0.033319f, -0.019714f, 0.045028f, 0.047671f, 0.012166f, -0.011702f, -0.009036f, -0.045986f, 0.033515f, -0.021365f, + -0.092832f, 0.022535f, 0.033528f, -0.080315f, 0.045379f, 0.009473f, -0.022902f, 0.005376f, -0.022303f, -0.001726f, 0.017968f, 0.024138f, 0.041948f, -0.048176f, 0.005312f, 0.056688f, -0.005669f, -0.026250f, 0.051084f, -0.021678f, 0.004116f, -0.029392f, -0.011559f, -0.059208f, 0.016152f, 0.001952f, 0.034327f, -0.023060f, 0.003091f, 0.042461f, -0.019269f, 0.001176f, 0.043884f, -0.084483f, 0.006124f, -0.096788f, -0.030353f, -0.064683f, 0.052635f, 0.018890f, -0.003215f, 0.022318f, -0.018487f, 0.024301f, 0.066738f, 0.018270f, 0.103284f, -0.056736f, -0.065030f, 0.060961f, 0.017081f, -0.043917f, -0.041055f, -0.016547f, 0.038533f, -0.035978f, -0.000785f, -0.031057f, -0.040074f, 0.024339f, 0.030508f, -0.060226f, -0.034653f, 0.052603f, -0.000297f, 0.018852f, -0.010677f, 0.029019f, 0.013319f, 0.053084f, -0.030040f, -0.022340f, 0.013984f, 0.012559f, -0.014595f, -0.054620f, -0.039611f, -0.043133f, 0.058892f, -0.026678f, -0.044465f, 0.013473f, -0.011168f, -0.014468f, -0.029097f, 0.011600f, 0.013965f, -0.004566f, -0.008212f, -0.015800f, -0.026765f, -0.004427f, -0.005582f, -0.019618f, 0.001364f, -0.009428f, + -0.018168f, 0.011757f, -0.010464f, 0.010842f, -0.010317f, -0.008954f, 0.028141f, -0.010573f, 0.013632f, 0.009964f, -0.025578f, 0.012023f, 0.004095f, -0.010273f, -0.031155f, 0.043531f, 0.029019f, -0.011939f, 0.007322f, -0.020941f, -0.015542f, 0.013477f, 0.000232f, -0.026995f, 0.010161f, -0.010638f, 0.025387f, -0.006348f, -0.004010f, 0.005055f, 0.012144f, 0.015611f, -0.063196f, -0.127734f, -0.063876f, -0.024356f, 0.055791f, 0.072759f, -0.139437f, 0.024012f, -0.055411f, -0.075588f, -0.015559f, 0.087251f, 0.055741f, 0.047567f, -0.030127f, -0.033648f, -0.040262f, 0.044005f, 0.030997f, 0.067913f, 0.008802f, -0.088258f, -0.034634f, 0.066323f, -0.010259f, 0.019451f, 0.059339f, -0.028412f, -0.041216f, -0.064551f, -0.064722f, 0.000402f, 0.042042f, 0.090953f, 0.067262f, 0.044655f, 0.018192f, -0.093045f, -0.099229f, 0.034669f, -0.068496f, 0.016164f, 0.087244f, 0.034757f, 0.005817f, -0.044059f, -0.079178f, -0.013530f, -0.034189f, 0.026561f, 0.020537f, 0.014855f, 0.054630f, -0.008510f, -0.010724f, 0.014421f, 0.039607f, 0.064462f, 0.066617f, 0.022665f, 0.059306f, 0.020019f, 0.021211f, -0.013053f, + -0.066721f, -0.026115f, -0.029025f, -0.054567f, 0.040953f, 0.038444f, 0.028411f, 0.028451f, -0.012839f, -0.065511f, 0.010696f, 0.019612f, -0.001198f, 0.043659f, 0.027899f, 0.022905f, -0.005360f, 0.003038f, 0.006247f, 0.044966f, 0.045074f, 0.034411f, 0.009791f, -0.008241f, -0.033399f, -0.006099f, 0.019178f, 0.005696f, -0.010017f, -0.000115f, -0.026587f, -0.012223f, -0.015472f, -0.017283f, 0.013477f, 0.049141f, 0.023898f, -0.008911f, -0.005167f, -0.036617f, -0.004011f, 0.012935f, 0.024546f, 0.027605f, -0.008917f, -0.011650f, -0.057395f, -0.032924f, -0.008527f, 0.000507f, 0.022708f, 0.019225f, -0.011527f, -0.013653f, 0.008986f, 0.003768f, 0.005639f, 0.014208f, -0.016244f, -0.005554f, -0.003492f, 0.009505f, 0.014920f, 0.001628f, -0.005646f, -0.004095f, -0.024229f, -0.010851f, 0.039574f, -0.112315f, -0.226045f, -0.116676f, 0.021934f, 0.088304f, 0.215189f, 0.210528f, 0.087731f, 0.089593f, 0.064340f, 0.003517f, -0.107128f, -0.181559f, -0.273584f, -0.081651f, -0.114431f, -0.019903f, 0.111702f, 0.199063f, 0.167387f, 0.147813f, 0.081494f, -0.001795f, -0.052069f, -0.069873f, -0.014907f, -0.121031f, + -0.096094f, -0.091306f, -0.059803f, -0.049099f, -0.022743f, -0.004261f, 0.041745f, 0.098180f, 0.101125f, 0.099375f, 0.072793f, 0.094674f, 0.050264f, 0.054168f, -0.017636f, -0.003913f, -0.044589f, -0.117223f, -0.169789f, -0.205188f, -0.099347f, -0.039974f, 0.032022f, -0.005241f, 0.021768f, 0.047775f, 0.062492f, 0.133194f, 0.153607f, 0.203510f, 0.129872f, 0.013156f, 0.059403f, -0.030689f, -0.112273f, -0.098250f, -0.195559f, -0.228218f, -0.170542f, -0.105446f, -0.045256f, -0.035714f, 0.082251f, 0.092830f, 0.257537f, 0.210848f, 0.154356f, 0.151054f, 0.072451f, -0.009190f, -0.102146f, -0.147831f, -0.107831f, -0.129439f, -0.177672f, -0.084420f, 0.005035f, -0.017356f, 0.005178f, 0.077764f, 0.108463f, 0.080091f, 0.041896f, 0.040492f, 0.069165f, 0.029492f, -0.004993f, -0.008255f, -0.033718f, -0.005686f, -0.030069f, -0.079647f, -0.041980f, -0.059394f, -0.096355f, -0.016977f, -0.016605f, 0.077146f, 0.070429f, 0.042324f, 0.075763f, 0.130902f, 0.093818f, -0.022979f, -0.015655f, -0.063127f, -0.056047f, -0.131782f, -0.136533f, -0.066117f, -0.027757f, 0.011352f, 0.046515f, 0.054901f, 0.081971f, 0.093228f, + 0.090267f, 0.094647f, 0.024293f, -0.009670f, -0.050240f, -0.061571f, -0.081135f, -0.090007f, -0.090170f, -0.038964f, 0.020382f, 0.027000f, 0.039333f, 0.040916f, 0.028578f, 0.030268f, 0.031881f, 0.010083f, 0.007523f, -0.010793f, -0.011182f, 0.019023f, -0.012841f, -0.031477f, 0.001790f, 0.006690f, -0.004056f, -0.009891f, -0.013513f, 0.000021f, -0.003911f, -0.022168f, -0.009938f, 0.006332f, 0.001402f, 0.001290f, 0.012843f, 0.016148f, 0.011982f, 0.010969f, 0.010113f, 0.003758f, -0.001603f, -0.001211f, -0.002143f, -0.006841f, -0.007435f, -0.007978f, -0.007422f, -0.005624f, -0.002722f, -0.003568f, -0.001342f, 0.001046f, 0.003144f, 0.006635f, 0.005147f, 0.000954f, 0.001232f, 0.002581f, -0.000431f, -0.005240f, -0.005741f, -0.003249f, 0.000496f, 0.002847f, 0.005469f, 0.008339f, 0.007943f, 0.006614f, 0.005138f, 0.001063f, -0.003331f, -0.007082f, -0.010072f, -0.011806f, -0.013057f, -0.012763f, -0.008222f, -0.001890f, 0.004105f, 0.009788f, 0.013870f, 0.015268f, 0.015619f, 0.012663f, 0.006475f, 0.000282f, -0.005914f, -0.010053f, -0.012527f, -0.013020f, -0.009706f, -0.005866f, -0.002434f, 0.001609f, + 0.004063f, 0.004754f, 0.004296f, 0.003624f, 0.002853f, 0.002090f, 0.001490f, 0.000548f, 0.000174f, 0.000171f, 0.000060f, -0.000361f, -0.000503f, -0.000567f, -0.000498f, -0.000509f, -0.000398f, -0.000355f, -0.000373f, -0.000357f} + }, + { + {-0.008454f, -0.013189f, -0.009585f, 0.003750f, -0.001437f, -0.022591f, -0.012818f, -0.000970f, 0.003257f, -0.006942f, 0.002406f, -0.008381f, 0.001666f, -0.006056f, 0.015891f, -0.012918f, -0.005647f, -0.005677f, 0.010138f, 0.006988f, 0.016182f, 0.004268f, 0.003388f, -0.007383f, 0.007653f, 0.000974f, 0.002098f, -0.000900f, 0.006149f, 0.008385f, 0.000659f, 0.008356f, 0.007968f, -0.003862f, 0.004472f, -0.004722f, -0.005222f, 0.000585f, -0.004261f, 0.002683f, -0.006704f, -0.012217f, 0.003332f, 0.004351f, -0.002992f, 0.003388f, -0.005791f, 0.005487f, 0.007529f, -0.012909f, 0.002559f, -0.000726f, 0.004894f, 0.004132f, 0.000720f, -0.012745f, -0.003774f, -0.005612f, 0.004266f, -0.000170f, 0.001325f, -0.004107f, 0.002404f, -0.006552f, 0.000361f, 0.007060f, 0.004570f, 0.000454f, -0.003573f, 0.002317f, -0.010362f, -0.005875f, -0.007598f, 0.001355f, 0.001368f, -0.000683f, 0.011056f, 0.000019f, 0.009645f, 0.000103f, 0.001074f, 0.000858f, 0.000026f, -0.005235f, 0.003958f, -0.000356f, 0.001992f, -0.001156f, 0.001308f, 0.001775f, -0.000639f, -0.001860f, -0.000638f, -0.000595f, -0.000480f, -0.000353f, + -0.002716f, 0.000428f, 0.002959f, 0.001609f, 0.000111f, 0.000267f, -0.000704f, -0.001324f, 0.001302f, -0.000865f, -0.026135f, -0.000868f, 0.001337f, 0.000332f, 0.004243f, -0.009252f, 0.006720f, 0.003757f, -0.004879f, -0.015593f, 0.010183f, 0.010449f, -0.002517f, 0.008687f, 0.006255f, -0.008663f, 0.017081f, 0.003525f, -0.007802f, 0.009163f, 0.000613f, 0.008559f, 0.001214f, -0.014965f, 0.005620f, -0.002874f, -0.005574f, -0.005839f, -0.004582f, 0.009724f, 0.007521f, 0.000568f, 0.007871f, 0.002823f, -0.007542f, -0.009317f, -0.000899f, -0.002212f, 0.003936f, 0.002667f, -0.007346f, 0.001697f, 0.003743f, 0.003544f, -0.006466f, -0.005420f, -0.008551f, -0.003025f, -0.002175f, 0.001662f, -0.002137f, 0.011362f, 0.004825f, -0.001808f, -0.005836f, 0.002097f, 0.004689f, 0.002419f, 0.012220f, -0.002087f, 0.006126f, -0.000769f, -0.004097f, -0.007499f, 0.005200f, -0.001729f, -0.003520f, 0.007162f, -0.002284f, 0.002359f, -0.001671f, -0.001530f, -0.008350f, 0.001781f, -0.002413f, 0.009705f, 0.011994f, -0.007295f, -0.007445f, -0.005223f, 0.001964f, -0.004691f, -0.002443f, -0.003040f, -0.003067f, -0.003279f, + 0.001861f, 0.004458f, -0.000362f, 0.001126f, 0.001269f, -0.000507f, 0.000071f, -0.002163f, -0.004879f, -0.007681f, -0.017713f, -0.010569f, -0.003830f, 0.012773f, 0.001663f, 0.002410f, 0.007822f, 0.002137f, 0.003379f, -0.018558f, -0.017052f, -0.010845f, -0.002843f, -0.000036f, 0.007880f, -0.005548f, 0.006167f, -0.003157f, -0.011467f, 0.003615f, -0.001677f, -0.007825f, -0.000124f, 0.011047f, 0.016020f, 0.007295f, -0.007334f, 0.004333f, 0.000513f, 0.011580f, -0.000052f, -0.009157f, -0.000314f, -0.005330f, 0.011355f, 0.005002f, 0.005326f, 0.011529f, -0.001986f, 0.000879f, 0.015426f, 0.013519f, -0.000505f, -0.000023f, 0.001062f, -0.000813f, 0.004107f, 0.001171f, -0.011235f, -0.014881f, -0.005261f, -0.001853f, 0.000054f, -0.004904f, -0.016622f, -0.001726f, 0.004615f, -0.009017f, -0.004411f, -0.005859f, -0.005032f, 0.001804f, 0.002140f, 0.005528f, -0.011583f, -0.009234f, 0.008947f, -0.003741f, -0.002017f, 0.001886f, -0.000683f, 0.005870f, -0.011155f, 0.004465f, 0.004146f, -0.004393f, -0.004247f, 0.004499f, -0.004870f, 0.007148f, -0.002785f, 0.000109f, 0.000006f, -0.002758f, 0.001416f, 0.005295f, + 0.002928f, 0.000637f, 0.003199f, 0.000946f, -0.001448f, -0.002823f, -0.001566f, -0.001610f, 0.000659f, 0.000846f, -0.000473f, -0.000378f, 0.000791f, -0.000215f, 0.023885f, -0.008962f, -0.007071f, -0.001007f, 0.000551f, -0.008728f, 0.000224f, -0.006061f, 0.011561f, -0.002643f, -0.013978f, -0.019514f, -0.004909f, -0.012875f, 0.018293f, 0.001628f, 0.013021f, 0.011007f, -0.017074f, -0.000813f, 0.007363f, 0.005382f, 0.009288f, 0.001860f, -0.000971f, -0.001404f, 0.004428f, -0.005546f, 0.006708f, 0.003791f, -0.006006f, 0.003960f, 0.000413f, 0.004598f, 0.010003f, -0.005167f, 0.004053f, -0.000466f, 0.005771f, 0.005019f, -0.001890f, 0.006856f, -0.001766f, 0.005987f, -0.004318f, 0.005475f, -0.013815f, -0.005757f, -0.004965f, 0.004093f, 0.012184f, -0.008684f, -0.005728f, -0.003095f, 0.000859f, -0.003873f, -0.005219f, -0.002654f, 0.005005f, 0.004134f, 0.007096f, -0.002135f, 0.004095f, -0.003927f, -0.004209f, -0.000224f, -0.002482f, 0.005009f, 0.000054f, -0.007100f, 0.004215f, -0.004067f, -0.007053f, -0.002476f, -0.004344f, 0.003342f, -0.005117f, -0.014010f, -0.001898f, -0.005947f, -0.005937f, 0.003273f, + -0.003805f, -0.008353f, -0.001628f, 0.002004f, -0.000502f, 0.000713f, 0.000026f, -0.005169f, 0.000281f, 0.003035f, -0.001921f, -0.002041f, 0.000678f, 0.000096f, 0.001132f, 0.001117f, 0.002892f, 0.001018f, -0.002313f, 0.001816f, -0.000325f, -0.000646f, -0.000832f, -0.002189f, -0.002151f, -0.002236f, 0.004245f, 0.006443f, -0.002197f, 0.009659f, -0.014543f, 0.006847f, -0.008599f, -0.009506f, 0.014523f, 0.005561f, -0.016627f, 0.002002f, 0.000340f, 0.005332f, -0.011901f, -0.007516f, -0.000827f, -0.009578f, -0.017691f, -0.017100f, -0.011220f, -0.017064f, 0.007674f, -0.001548f, 0.002861f, 0.009642f, -0.014979f, 0.010286f, -0.004068f, 0.004956f, 0.003322f, -0.001282f, 0.001801f, -0.001932f, -0.001960f, -0.009646f, -0.005713f, 0.013225f, -0.004552f, -0.010503f, -0.009689f, -0.000692f, -0.004229f, 0.004311f, -0.009254f, -0.014399f, 0.002468f, 0.013915f, -0.001855f, 0.008544f, -0.004500f, 0.004784f, -0.007111f, 0.005838f, 0.002493f, -0.009752f, 0.014960f, 0.002904f, -0.002891f, 0.003721f, 0.013770f, 0.012786f, 0.006786f, -0.001064f, -0.014919f, -0.002278f, -0.012403f, 0.003906f, -0.002567f, 0.002378f, + 0.002382f, 0.003792f, -0.011262f, 0.000182f, -0.000660f, 0.005811f, 0.011897f, -0.014376f, 0.002136f, -0.004013f, -0.013542f, -0.001272f, 0.004185f, -0.001121f, -0.000158f, -0.001035f, 0.004687f, 0.001171f, -0.003816f, -0.002445f, -0.002718f, -0.001467f, -0.004581f, 0.000454f, -0.000239f, 0.002949f, -0.005560f, -0.003719f, -0.000288f, -0.000468f, -0.000564f, 0.000561f, -0.000296f, 0.001218f, -0.001933f, -0.001841f, -0.000415f, -0.000057f, -0.001373f, -0.000077f, -0.000273f, 0.002852f, 0.002498f, 0.000269f, 0.000188f, -0.002329f, -0.004163f, -0.001210f, 0.000339f, -0.003583f, -0.002184f, -0.001527f, -0.001278f, -0.001290f, -0.016509f, -0.015803f, -0.010168f, -0.017432f, -0.020721f, -0.019729f, 0.008771f, 0.009569f, -0.012600f, -0.003110f, -0.011382f, -0.018733f, 0.010470f, -0.004691f, -0.016234f, 0.005973f, -0.000850f, 0.001140f, 0.001950f, 0.005907f, 0.002110f, -0.000297f, 0.004522f, 0.006012f, -0.009228f, -0.008827f, -0.002193f, -0.010829f, -0.000526f, -0.011561f, -0.020262f, -0.001334f, 0.012686f, -0.014565f, -0.011134f, 0.008347f, -0.007585f, 0.001223f, 0.003414f, -0.007366f, -0.005923f, -0.006202f, + -0.021863f, -0.009297f, 0.004998f, -0.006043f, -0.007084f, -0.013659f, 0.006466f, 0.012719f, -0.004260f, 0.019463f, -0.010386f, -0.004732f, 0.000145f, -0.004355f, -0.015987f, -0.000869f, 0.003940f, -0.000262f, -0.003192f, -0.013883f, -0.002115f, 0.014211f, 0.007242f, 0.004386f, 0.007441f, 0.005444f, -0.003460f, 0.026930f, -0.008172f, -0.010072f, -0.009654f, -0.011544f, 0.004902f, 0.015425f, 0.010537f, 0.001443f, -0.002268f, -0.007364f, -0.002547f, 0.000056f, -0.003401f, 0.000931f, -0.004629f, 0.002146f, 0.011284f, 0.007472f, -0.005279f, -0.000870f, -0.001803f, 0.004299f, -0.002132f, 0.004655f, -0.004449f, -0.002036f, 0.000856f, 0.001180f, -0.000988f, 0.001781f, -0.002510f, 0.003178f, 0.000266f, 0.002568f, 0.002018f, 0.001653f, -0.001154f, -0.001835f, -0.000412f, -0.001855f, -0.002368f, 0.029624f, 0.020085f, -0.001156f, 0.018326f, -0.001793f, 0.002498f, 0.003314f, -0.010356f, 0.016675f, -0.000029f, 0.014681f, 0.014093f, -0.011811f, 0.018370f, 0.000036f, -0.014371f, -0.023623f, 0.021136f, 0.010086f, 0.020999f, -0.018030f, 0.011979f, 0.006338f, -0.019766f, -0.019598f, -0.011642f, -0.005762f, + 0.020237f, -0.019733f, 0.017038f, -0.001951f, -0.002126f, 0.012130f, 0.011512f, 0.015665f, 0.005672f, -0.009017f, 0.007598f, 0.014701f, -0.009288f, 0.014694f, 0.022605f, 0.009392f, 0.013641f, 0.005440f, 0.003713f, 0.003575f, 0.000391f, -0.012733f, 0.004395f, 0.000943f, 0.000720f, 0.010143f, -0.007583f, 0.005921f, 0.006802f, -0.003355f, 0.019720f, -0.012001f, -0.007274f, -0.004825f, 0.017014f, -0.003458f, 0.014024f, 0.006848f, 0.009426f, 0.008281f, 0.001499f, -0.024631f, -0.003934f, -0.019814f, -0.010738f, 0.024967f, 0.013046f, -0.011634f, -0.000834f, -0.014264f, -0.012615f, -0.006841f, 0.020900f, 0.001538f, 0.007104f, 0.003770f, -0.003431f, 0.003981f, 0.007406f, 0.012855f, -0.003864f, 0.007380f, 0.005433f, 0.004442f, -0.004656f, -0.003221f, 0.001976f, -0.002681f, -0.000217f, 0.003266f, 0.004767f, 0.001695f, 0.002008f, 0.005537f, 0.005647f, 0.001814f, 0.000083f, 0.002489f, -0.001314f, 0.004648f, 0.007522f, 0.003284f, 0.000142f, 0.008013f, 0.000875f, -0.003989f, 0.003429f, -0.026244f, 0.016529f, 0.015875f, 0.047010f, 0.001829f, 0.004034f, -0.002376f, -0.006498f, -0.003087f, + 0.015864f, 0.014489f, 0.012582f, 0.018279f, 0.007359f, 0.028874f, 0.008388f, -0.011451f, 0.002691f, 0.025169f, 0.009865f, 0.002552f, 0.003829f, -0.012947f, -0.018713f, 0.011940f, -0.009347f, -0.018239f, -0.038738f, -0.000609f, 0.015260f, -0.001173f, 0.008948f, -0.013370f, -0.007206f, -0.004988f, 0.002757f, -0.004223f, -0.011719f, -0.005637f, -0.031255f, -0.008103f, -0.026557f, 0.002251f, -0.014076f, 0.010636f, -0.015315f, 0.005795f, -0.014735f, -0.005029f, -0.001097f, 0.000472f, 0.002063f, 0.002987f, -0.019480f, 0.009365f, -0.003107f, 0.004318f, -0.010286f, 0.000314f, 0.015186f, 0.006248f, 0.021063f, 0.011971f, -0.006722f, -0.001207f, -0.004619f, -0.002118f, -0.005231f, -0.006716f, -0.000575f, 0.008800f, 0.005410f, 0.006562f, 0.003925f, -0.030372f, 0.019844f, 0.019802f, -0.007642f, 0.011378f, 0.008578f, -0.016007f, 0.007497f, 0.004915f, 0.000765f, -0.003324f, 0.002550f, 0.010497f, -0.009404f, 0.006165f, -0.002839f, 0.000636f, -0.000971f, 0.002406f, 0.005301f, -0.004532f, -0.002346f, 0.007843f, -0.005733f, 0.000516f, -0.000018f, 0.003063f, -0.003839f, -0.006326f, 0.003691f, 0.000396f, + -0.002288f, -0.001785f, 0.000714f, -0.000079f, 0.003418f, 0.004433f, 0.004519f, 0.000230f, -0.005391f, 0.001159f, 0.050563f, 0.018135f, -0.008613f, 0.024900f, -0.016593f, 0.017322f, 0.011477f, -0.024012f, 0.004950f, -0.030170f, 0.000473f, -0.010347f, -0.021281f, 0.011168f, 0.000245f, 0.008515f, 0.012261f, 0.015238f, 0.024549f, 0.010165f, -0.001890f, -0.006514f, -0.016944f, -0.030413f, 0.010610f, 0.011726f, 0.003158f, -0.010703f, 0.016231f, 0.002003f, 0.017157f, 0.010151f, -0.031709f, -0.012119f, 0.004125f, -0.023368f, 0.001070f, -0.001796f, -0.004541f, 0.006713f, 0.005006f, -0.005604f, 0.023159f, -0.013580f, 0.000798f, 0.012929f, -0.011601f, 0.008841f, -0.005134f, -0.014246f, 0.009346f, -0.000238f, -0.001947f, 0.013291f, 0.008757f, 0.000378f, -0.007084f, 0.027646f, 0.001123f, 0.015501f, 0.001456f, -0.008764f, -0.009742f, -0.023388f, -0.009107f, 0.009609f, -0.000729f, 0.008185f, -0.002746f, -0.018245f, 0.007137f, 0.005887f, -0.026696f, 0.007630f, 0.013610f, -0.007199f, 0.014525f, 0.003348f, -0.015194f, -0.015460f, 0.017340f, -0.000444f, -0.035015f, 0.004285f, 0.003669f, 0.001404f, + -0.003642f, 0.001992f, -0.004887f, 0.000811f, 0.010340f, -0.003259f, 0.001585f, 0.002565f, 0.002995f, -0.008856f, 0.002573f, -0.003204f, 0.002344f, 0.006434f, 0.006790f, 0.004894f, 0.002308f, -0.005832f, 0.002547f, -0.000563f, -0.000598f, 0.002276f, -0.006512f, -0.000136f, 0.004341f, 0.005992f, -0.004091f, -0.002504f, -0.007611f, 0.001282f, 0.007849f, -0.007837f, 0.003108f, 0.002733f, -0.052803f, -0.017610f, 0.054942f, 0.015167f, 0.008675f, -0.008408f, -0.001597f, -0.008585f, 0.011115f, -0.017924f, 0.023957f, 0.013649f, 0.011173f, 0.011474f, -0.008638f, -0.000959f, -0.001103f, 0.007617f, 0.016092f, -0.024505f, -0.014579f, -0.007915f, 0.018418f, 0.006563f, 0.010227f, 0.010993f, -0.002649f, -0.017608f, 0.005625f, 0.001237f, 0.033530f, 0.026340f, 0.006855f, 0.019972f, 0.000995f, -0.009822f, 0.004065f, -0.002912f, -0.004717f, 0.012825f, 0.015829f, 0.012981f, 0.032445f, 0.015589f, 0.012669f, 0.014163f, -0.014858f, -0.024314f, -0.011437f, 0.010890f, -0.020714f, -0.010335f, 0.019949f, 0.021237f, 0.011630f, -0.009802f, 0.018820f, -0.007583f, 0.001973f, 0.004391f, 0.010774f, -0.005699f, + -0.011884f, 0.006623f, -0.010724f, -0.033491f, 0.001367f, 0.010646f, -0.018263f, 0.002235f, -0.003358f, -0.004855f, -0.003407f, -0.010936f, 0.027060f, -0.002977f, 0.015437f, -0.039051f, -0.037080f, -0.031489f, -0.014366f, 0.003044f, 0.003738f, -0.001170f, 0.002076f, -0.000812f, -0.008332f, 0.003906f, -0.009152f, -0.002832f, -0.004046f, 0.009333f, 0.001446f, 0.003276f, -0.007358f, -0.001508f, -0.006555f, -0.002519f, 0.005103f, 0.008034f, 0.008750f, 0.008291f, -0.000170f, -0.005830f, 0.004551f, 0.007280f, 0.004563f, 0.007245f, 0.002547f, -0.000884f, 0.003088f, 0.000886f, 0.001488f, -0.002413f, -0.005129f, 0.005805f, 0.006649f, -0.002397f, -0.001958f, -0.001675f, -0.001156f, 0.027386f, 0.042908f, -0.062571f, -0.008650f, 0.004000f, -0.000239f, -0.007277f, -0.015429f, 0.017459f, -0.019875f, -0.031706f, -0.003019f, 0.031466f, -0.004239f, -0.017991f, 0.006024f, -0.025271f, -0.013639f, 0.001272f, 0.016614f, -0.026499f, 0.003198f, 0.029460f, 0.030186f, 0.001039f, 0.010834f, 0.026435f, -0.014746f, -0.023121f, -0.032466f, 0.003432f, -0.032363f, -0.006697f, 0.013937f, 0.013166f, -0.028615f, -0.026940f, + -0.016323f, 0.011983f, -0.007447f, -0.004815f, -0.007359f, 0.026262f, -0.038409f, -0.011027f, 0.006219f, -0.020555f, -0.006976f, 0.000343f, -0.024160f, 0.001404f, 0.010226f, -0.001053f, 0.032145f, -0.001888f, -0.012737f, 0.002987f, -0.001418f, -0.010214f, 0.006326f, 0.015998f, -0.014350f, 0.022697f, -0.010881f, -0.041455f, 0.002152f, -0.016008f, -0.008749f, -0.000878f, -0.004278f, -0.054776f, -0.009058f, 0.025524f, 0.021981f, 0.015532f, 0.033049f, 0.033766f, -0.045122f, -0.004802f, 0.003102f, 0.009705f, -0.012985f, -0.022274f, -0.000244f, 0.010518f, 0.012254f, 0.010611f, 0.008224f, 0.004126f, 0.006667f, -0.011813f, 0.000243f, 0.007515f, -0.003637f, -0.002521f, 0.001520f, 0.002628f, 0.006697f, -0.006943f, 0.001501f, -0.002649f, 0.003227f, 0.004520f, -0.009503f, 0.001661f, -0.000824f, -0.006380f, 0.002997f, -0.001265f, 0.001436f, 0.000560f, -0.000000f, -0.008139f, 0.004451f, 0.000841f, 0.002399f, -0.005342f, -0.004035f, -0.003460f, -0.003548f, -0.060108f, 0.016755f, -0.011197f, 0.020458f, -0.019246f, -0.000234f, 0.031417f, -0.010548f, 0.044645f, 0.010232f, 0.008598f, -0.019240f, 0.008444f, + 0.022094f, -0.013640f, -0.002818f, 0.028883f, 0.018564f, 0.021745f, 0.003024f, -0.033378f, 0.021180f, -0.021543f, -0.002069f, -0.012977f, 0.003250f, -0.016571f, 0.009599f, -0.004299f, 0.009351f, 0.008995f, 0.015911f, 0.016237f, 0.017911f, -0.021269f, 0.005026f, 0.034084f, 0.007201f, -0.006060f, -0.006893f, -0.017037f, -0.013852f, -0.000012f, 0.001190f, 0.006191f, 0.028569f, 0.002539f, 0.015729f, 0.015387f, -0.001149f, -0.007220f, -0.007039f, 0.026073f, -0.030427f, -0.006517f, -0.026937f, -0.022040f, -0.006295f, 0.000281f, -0.045149f, 0.011816f, -0.014250f, 0.027707f, -0.005801f, 0.001312f, 0.019070f, 0.004031f, 0.046191f, 0.038342f, 0.055035f, 0.020970f, 0.002250f, -0.006280f, -0.005684f, -0.009168f, -0.002800f, -0.010924f, -0.030445f, 0.020698f, 0.025064f, 0.012135f, -0.004206f, 0.002955f, -0.021474f, -0.028931f, 0.013411f, 0.003746f, 0.003923f, -0.009221f, -0.004107f, -0.010014f, -0.005599f, 0.009081f, 0.002862f, 0.011857f, -0.000863f, 0.002744f, -0.006800f, 0.008315f, -0.024186f, -0.006224f, -0.000943f, -0.000832f, -0.004627f, 0.004368f, 0.001006f, 0.001687f, -0.001761f, -0.005739f, + -0.001276f, -0.002313f, -0.001708f, 0.007644f, 0.000797f, 0.001068f, -0.005047f, 0.001749f, 0.001112f, -0.000245f, -0.010841f, -0.007676f, -0.008448f, -0.017810f, 0.023537f, -0.007136f, -0.005378f, 0.055180f, -0.011616f, -0.012362f, 0.061369f, -0.001060f, 0.034835f, 0.025668f, 0.001861f, 0.014324f, -0.008472f, 0.011195f, 0.010481f, 0.006604f, 0.008465f, 0.028274f, -0.019827f, 0.034110f, -0.019097f, -0.000757f, 0.006810f, -0.004807f, -0.025083f, -0.022383f, -0.000882f, -0.036227f, -0.011745f, -0.039558f, -0.002944f, -0.023568f, -0.017736f, -0.012981f, -0.011482f, 0.005709f, -0.031913f, 0.036606f, 0.005538f, -0.024047f, -0.018067f, -0.001298f, -0.004860f, -0.006012f, 0.009276f, 0.004889f, 0.035920f, 0.003990f, -0.000650f, -0.018633f, 0.002806f, 0.007333f, -0.001597f, -0.019864f, -0.008780f, 0.022534f, 0.024500f, -0.001623f, -0.021263f, 0.008442f, -0.004384f, 0.032119f, 0.035699f, -0.014192f, -0.009547f, -0.006794f, 0.003835f, -0.013959f, 0.014284f, -0.044888f, -0.004447f, 0.052726f, -0.047958f, -0.023666f, -0.011305f, 0.003277f, 0.003975f, 0.006160f, -0.004567f, 0.014009f, -0.008707f, -0.002534f, + 0.025496f, -0.004206f, 0.018409f, -0.012780f, 0.018546f, -0.016606f, 0.012624f, 0.010342f, 0.025303f, -0.000684f, -0.004574f, 0.010638f, 0.016569f, 0.001342f, -0.004280f, -0.002799f, 0.001459f, -0.009293f, -0.003039f, 0.008455f, 0.011100f, 0.003419f, -0.003934f, 0.010871f, -0.008867f, 0.008905f, 0.007315f, 0.008113f, 0.004300f, 0.000147f, -0.013682f, 0.013350f, 0.007729f, 0.006098f, 0.002714f, 0.006218f, 0.011563f, 0.002567f, -0.009520f, 0.004474f, -0.007803f, -0.005971f, 0.009531f, -0.002529f, 0.008220f, 0.009027f, -0.003825f, -0.006738f, -0.006723f, 0.003724f, -0.032269f, -0.017711f, -0.005086f, 0.024880f, 0.030012f, 0.020543f, -0.019169f, -0.049146f, 0.084942f, 0.021318f, -0.053370f, -0.053571f, -0.008053f, 0.012893f, 0.036161f, -0.046619f, -0.008249f, 0.008626f, -0.000702f, -0.006764f, 0.048673f, 0.010379f, -0.028615f, 0.015194f, 0.001988f, -0.001440f, 0.025620f, -0.004753f, 0.013995f, -0.031817f, -0.010769f, 0.055699f, 0.020591f, 0.043906f, 0.013869f, 0.039687f, 0.006944f, -0.014686f, 0.027954f, 0.025401f, 0.039937f, 0.019587f, -0.045110f, -0.017188f, 0.009757f, 0.023231f, + -0.018117f, 0.006792f, -0.017454f, -0.029254f, 0.002956f, -0.003459f, -0.017442f, 0.013481f, 0.018912f, 0.016319f, 0.012002f, 0.011159f, -0.008583f, 0.030098f, -0.000219f, -0.030084f, -0.021755f, 0.027059f, 0.014746f, -0.047197f, 0.020515f, 0.008271f, 0.015178f, -0.041253f, -0.028099f, 0.026374f, 0.040926f, 0.023021f, -0.009147f, -0.044109f, 0.010007f, -0.002040f, 0.037586f, -0.012625f, -0.050412f, 0.021060f, 0.029498f, -0.011251f, 0.030702f, 0.025125f, 0.010463f, -0.020249f, 0.002714f, -0.000357f, 0.005967f, 0.002119f, -0.001289f, -0.010815f, -0.004424f, -0.013550f, -0.001308f, -0.002749f, 0.007127f, -0.008310f, -0.004836f, -0.002849f, -0.006059f, -0.003845f, -0.003168f, -0.003841f, 0.015754f, 0.004622f, 0.000305f, 0.015138f, -0.003657f, -0.014433f, -0.009512f, -0.007769f, -0.006071f, 0.000589f, -0.010327f, 0.004328f, 0.006515f, 0.005314f, 0.004162f, -0.013850f, -0.005197f, 0.011514f, 0.009715f, -0.001479f, 0.007513f, -0.001647f, 0.019826f, 0.039172f, 0.014813f, 0.041379f, 0.006548f, 0.018726f, 0.013837f, 0.069240f, 0.094392f, 0.006941f, 0.018522f, -0.060847f, -0.019643f, 0.036036f, + -0.031222f, 0.071327f, -0.014747f, 0.010836f, 0.018887f, 0.041570f, 0.022871f, -0.010506f, -0.030923f, -0.036201f, -0.012238f, -0.006366f, -0.045235f, -0.021719f, -0.018271f, 0.028238f, -0.017115f, 0.008059f, -0.029170f, 0.003325f, -0.011742f, -0.042408f, 0.043103f, 0.029702f, 0.034613f, 0.014936f, -0.021830f, -0.021215f, -0.049222f, 0.000389f, -0.044411f, -0.013870f, -0.004196f, 0.005281f, 0.022048f, 0.017225f, -0.014728f, -0.010644f, 0.018185f, 0.040664f, 0.010603f, 0.015223f, 0.029600f, -0.038831f, 0.026680f, -0.022286f, -0.020575f, -0.039205f, -0.017412f, 0.017155f, 0.014488f, 0.001932f, 0.044751f, -0.010436f, -0.017241f, 0.006389f, 0.011361f, 0.061577f, -0.020906f, 0.024359f, 0.024061f, -0.060256f, -0.000405f, 0.006915f, -0.013632f, -0.009348f, 0.020171f, -0.012400f, 0.001284f, 0.024750f, 0.012604f, -0.037303f, -0.044580f, -0.043151f, -0.020411f, -0.016413f, 0.035050f, 0.030403f, -0.008962f, -0.014101f, 0.001347f, 0.003367f, 0.022963f, -0.003211f, -0.007799f, 0.013962f, -0.003139f, -0.002996f, -0.006608f, 0.009952f, 0.013972f, -0.008229f, 0.013355f, 0.012432f, 0.012904f, 0.001771f, + -0.006081f, 0.011189f, -0.008573f, 0.006468f, 0.014583f, 0.000519f, 0.008528f, 0.011416f, -0.020808f, -0.001481f, 0.009509f, 0.010505f, 0.014532f, 0.001164f, 0.012965f, 0.000108f, 0.000444f, -0.005198f, 0.007264f, 0.010653f, -0.039772f, 0.010790f, 0.060093f, -0.013432f, 0.009359f, -0.025916f, -0.006935f, -0.034772f, 0.028831f, -0.050318f, 0.003030f, -0.040397f, 0.008815f, 0.018212f, 0.007076f, -0.023931f, 0.084891f, -0.005286f, -0.010615f, 0.008270f, -0.047198f, 0.003371f, -0.031655f, 0.001729f, 0.009825f, -0.009094f, -0.000370f, 0.020435f, -0.016854f, 0.001360f, 0.026224f, 0.002681f, 0.007197f, -0.040634f, 0.006007f, -0.002896f, -0.001807f, -0.009858f, -0.050378f, -0.027886f, 0.013417f, 0.004759f, 0.023494f, -0.058696f, 0.007253f, -0.054593f, 0.028768f, -0.037057f, -0.059375f, 0.031035f, 0.056300f, 0.010122f, 0.028112f, -0.041010f, 0.041985f, -0.009657f, 0.006980f, -0.024948f, 0.035124f, 0.014350f, 0.036448f, 0.011714f, 0.044050f, -0.038594f, 0.008342f, 0.002689f, -0.005831f, -0.030498f, -0.024415f, -0.028639f, 0.033992f, -0.008300f, 0.045885f, -0.027439f, -0.020541f, 0.005545f, + 0.006915f, -0.024497f, 0.013919f, -0.014207f, -0.057644f, 0.026246f, 0.039768f, 0.064943f, 0.023503f, 0.046204f, -0.025444f, 0.000566f, -0.028799f, 0.049456f, 0.017509f, -0.008913f, -0.018509f, 0.023723f, -0.015725f, -0.004249f, 0.003515f, -0.014317f, -0.023898f, -0.016168f, -0.010767f, -0.009460f, -0.032146f, -0.014008f, -0.026603f, 0.021783f, -0.004186f, 0.013118f, 0.025977f, 0.006992f, -0.017712f, -0.001392f, -0.017710f, -0.007682f, -0.027014f, -0.015159f, -0.028644f, -0.004818f, 0.050037f, 0.010362f, -0.002533f, 0.011363f, 0.015873f, -0.027860f, -0.011746f, -0.001254f, -0.002523f, -0.011331f, 0.013692f, -0.005176f, -0.041909f, -0.003330f, -0.008604f, -0.031129f, -0.098159f, 0.012281f, -0.031228f, 0.091229f, -0.016943f, -0.045750f, 0.018458f, -0.002419f, -0.045619f, -0.007619f, 0.007794f, -0.027351f, 0.068883f, 0.009983f, 0.006753f, 0.031413f, -0.038490f, -0.059248f, -0.036512f, 0.084101f, -0.006550f, -0.017603f, 0.055559f, 0.031489f, -0.026303f, -0.026051f, -0.014682f, 0.066729f, 0.009444f, -0.016001f, -0.025893f, -0.012333f, -0.051836f, 0.035273f, -0.005947f, 0.014434f, 0.033518f, -0.011585f, + -0.053703f, -0.006354f, 0.069472f, -0.002739f, -0.017220f, 0.033680f, -0.015114f, 0.041742f, 0.027316f, -0.003269f, -0.051197f, -0.025863f, -0.006965f, -0.047187f, -0.027785f, -0.027060f, 0.003775f, -0.006222f, 0.040113f, -0.027567f, -0.009619f, 0.000153f, 0.103041f, 0.036145f, -0.017695f, 0.021204f, 0.012178f, -0.005689f, 0.052336f, 0.025816f, -0.019774f, 0.008596f, 0.042309f, 0.048192f, -0.029149f, -0.020388f, -0.069938f, -0.055726f, 0.031972f, -0.020528f, 0.034510f, -0.000477f, -0.041130f, 0.010542f, -0.003266f, 0.013549f, -0.027378f, -0.020370f, 0.038704f, 0.010317f, 0.005111f, -0.003304f, -0.004555f, 0.026270f, -0.012377f, 0.013815f, -0.006622f, 0.016629f, 0.032488f, 0.009250f, -0.023568f, 0.004494f, -0.009095f, 0.018362f, 0.014575f, 0.005504f, 0.021111f, 0.033604f, -0.013011f, 0.027255f, -0.002654f, -0.034556f, -0.009206f, 0.001854f, -0.019810f, 0.008687f, 0.025591f, 0.000284f, -0.013102f, 0.002382f, -0.004910f, 0.034313f, 0.028613f, 0.003766f, 0.013483f, 0.018126f, 0.008906f, 0.023270f, -0.028826f, -0.020444f, 0.010154f, 0.006726f, -0.006225f, -0.001563f, -0.004700f, -0.010713f, + -0.010564f, -0.111136f, 0.038171f, -0.023782f, 0.059157f, 0.060152f, -0.034852f, 0.028408f, -0.059520f, -0.089369f, 0.002187f, -0.062851f, 0.008267f, -0.007862f, 0.048632f, -0.036102f, 0.034697f, 0.029779f, 0.048773f, -0.074258f, 0.008097f, -0.045447f, -0.041662f, 0.004511f, -0.053783f, -0.034682f, 0.048796f, -0.014245f, 0.018519f, 0.056997f, -0.011322f, 0.018770f, -0.046982f, 0.005405f, -0.051802f, 0.048007f, -0.042948f, -0.028501f, -0.031712f, 0.053547f, 0.042886f, -0.030738f, 0.058650f, 0.038861f, -0.012448f, 0.058233f, -0.003283f, -0.061617f, -0.017068f, -0.007266f, -0.048057f, 0.010811f, -0.101632f, 0.010188f, -0.025898f, -0.048764f, -0.039432f, 0.045400f, -0.027186f, 0.094136f, 0.069895f, -0.105271f, -0.000030f, -0.002767f, 0.004972f, 0.048639f, -0.082721f, -0.057656f, 0.056754f, -0.047398f, -0.059290f, -0.068197f, 0.004510f, 0.139970f, 0.069488f, -0.065192f, -0.041122f, 0.005635f, 0.050852f, 0.019439f, -0.068238f, 0.010080f, -0.045630f, -0.026800f, -0.002537f, -0.008264f, 0.002502f, 0.044873f, 0.010494f, 0.026576f, 0.017531f, -0.052486f, 0.013935f, 0.023444f, -0.007562f, -0.018976f, + 0.002604f, -0.044818f, 0.039636f, 0.014354f, 0.010697f, -0.059424f, 0.009700f, 0.030482f, 0.008421f, -0.014135f, -0.011321f, 0.026174f, -0.043518f, -0.002925f, -0.032530f, -0.017992f, 0.042131f, -0.044968f, -0.002124f, 0.026558f, -0.022797f, 0.020782f, 0.025117f, 0.006455f, 0.003466f, 0.018502f, 0.005736f, -0.024030f, 0.034434f, -0.027059f, -0.021460f, -0.012387f, -0.037215f, -0.011773f, -0.033478f, -0.032067f, 0.012920f, 0.052501f, -0.058160f, 0.029285f, -0.097729f, -0.014645f, -0.038007f, -0.033122f, 0.051801f, -0.066761f, -0.104173f, 0.060937f, 0.091738f, 0.022282f, -0.017727f, -0.083220f, 0.005693f, 0.032670f, 0.032640f, -0.013898f, -0.033356f, 0.004244f, -0.008214f, -0.010839f, 0.010638f, -0.012210f, -0.027939f, -0.054481f, 0.006935f, -0.032758f, 0.008152f, -0.029360f, -0.062188f, 0.038715f, 0.028456f, 0.047588f, 0.001684f, 0.051462f, 0.028809f, 0.007804f, -0.016659f, -0.026197f, -0.042817f, -0.030480f, -0.017214f, 0.012239f, 0.029552f, -0.019721f, -0.009646f, -0.070803f, 0.066567f, 0.078937f, 0.043901f, -0.040082f, 0.042128f, -0.054769f, -0.000822f, 0.012757f, -0.119962f, 0.009947f, + 0.012001f, 0.056877f, -0.071544f, 0.092608f, 0.036414f, -0.066060f, -0.037413f, 0.028037f, -0.011417f, -0.048347f, -0.059354f, -0.063916f, -0.087262f, 0.064546f, -0.027347f, 0.010333f, -0.133496f, -0.052989f, 0.008455f, 0.001671f, 0.030910f, -0.021096f, 0.005674f, 0.023028f, 0.024249f, -0.063664f, -0.014393f, 0.010595f, 0.035683f, 0.025903f, -0.005229f, -0.024333f, -0.010189f, -0.005111f, 0.033348f, 0.005830f, -0.020395f, -0.002266f, -0.015779f, -0.006025f, 0.030877f, 0.014219f, -0.014816f, 0.032837f, -0.032192f, -0.018845f, -0.023934f, 0.031748f, -0.012218f, 0.004000f, -0.014176f, 0.014003f, -0.044886f, 0.006930f, 0.019284f, 0.007373f, -0.007549f, -0.019543f, -0.016611f, -0.022908f, 0.023333f, 0.005151f, -0.007231f, -0.026270f, 0.027827f, 0.001727f, 0.002434f, 0.004077f, -0.045658f, -0.022467f, -0.029720f, 0.004062f, -0.014802f, 0.000346f, -0.000569f, -0.010565f, -0.025515f, -0.009247f, -0.091211f, -0.012036f, 0.033461f, -0.042760f, -0.039800f, 0.037887f, 0.038440f, 0.007924f, -0.035927f, -0.123531f, -0.017994f, 0.024330f, 0.014940f, 0.053767f, -0.000979f, 0.031305f, -0.007866f, -0.000667f, + -0.015363f, 0.002422f, 0.032956f, 0.003881f, 0.001556f, 0.031901f, -0.008271f, -0.007595f, -0.041588f, -0.003787f, -0.006497f, -0.004622f, 0.007425f, 0.025429f, 0.034908f, -0.006767f, 0.000250f, 0.027236f, -0.005912f, -0.052391f, -0.003353f, -0.046518f, 0.007031f, 0.006341f, -0.060747f, 0.044232f, -0.083793f, 0.018800f, 0.023405f, -0.036898f, -0.002319f, 0.108959f, -0.030579f, 0.036740f, -0.022728f, 0.019406f, -0.081353f, 0.008720f, 0.048087f, -0.001377f, 0.041540f, -0.009709f, 0.004605f, -0.002782f, 0.053020f, -0.034048f, -0.040417f, 0.046618f, -0.042875f, -0.053507f, -0.000355f, -0.085375f, 0.057186f, 0.047071f, -0.016721f, 0.018040f, 0.008213f, -0.000731f, -0.072206f, -0.012186f, -0.005187f, 0.031720f, 0.012366f, -0.030873f, 0.029187f, -0.002369f, -0.036578f, -0.025377f, -0.022592f, 0.004586f, 0.005418f, -0.005388f, -0.000423f, 0.022820f, -0.022479f, -0.006973f, 0.016408f, -0.024830f, -0.012746f, 0.018379f, -0.024601f, 0.001206f, 0.022696f, 0.000931f, -0.005734f, 0.009168f, -0.000338f, 0.001696f, 0.019928f, -0.007608f, -0.005329f, -0.015372f, 0.007060f, -0.009936f, -0.008321f, 0.007891f, + 0.011278f, -0.021484f, 0.004059f, -0.020132f, 0.019555f, -0.022859f, 0.013107f, -0.000888f, -0.003183f, 0.001451f, -0.004035f, -0.003386f, -0.000037f, 0.014486f, -0.044681f, -0.136119f, -0.063728f, -0.020872f, 0.045133f, 0.101180f, -0.091710f, 0.020684f, -0.026193f, -0.092451f, -0.012520f, 0.084100f, 0.022984f, 0.069382f, -0.057603f, 0.017836f, -0.019617f, 0.004629f, 0.041129f, 0.007446f, 0.022578f, -0.012575f, -0.118002f, 0.035723f, 0.006327f, -0.049712f, 0.052155f, 0.040028f, -0.035309f, 0.037054f, 0.004888f, -0.037980f, 0.012344f, -0.023228f, 0.074634f, 0.009724f, 0.030534f, 0.002069f, -0.075528f, -0.060264f, -0.020006f, -0.044485f, 0.050008f, 0.071754f, 0.073618f, 0.059494f, -0.019842f, 0.008874f, -0.059243f, -0.008345f, -0.005496f, -0.024482f, -0.030978f, 0.005759f, 0.006289f, -0.081457f, -0.023543f, -0.031432f, -0.001746f, 0.037471f, -0.039908f, -0.008644f, 0.014714f, 0.000772f, 0.042786f, -0.046161f, -0.001409f, -0.052381f, -0.027398f, -0.038541f, 0.022107f, 0.014808f, 0.042727f, -0.005019f, -0.003912f, -0.049323f, -0.014525f, -0.023057f, -0.005827f, 0.021819f, 0.029396f, 0.060137f, + -0.037679f, 0.011518f, -0.032591f, 0.012559f, 0.022723f, 0.006904f, -0.017742f, -0.006752f, -0.005950f, -0.006751f, -0.002261f, 0.016380f, 0.016941f, -0.004011f, -0.001518f, -0.007265f, -0.011286f, 0.008318f, 0.016851f, 0.006255f, 0.002244f, 0.005134f, -0.013450f, -0.015462f, -0.014697f, 0.025652f, -0.000305f, 0.017960f, 0.014653f, -0.001695f, -0.019058f, -0.020180f, 0.003503f, 0.006532f, -0.015752f, -0.004471f, -0.013662f, 0.011089f, -0.009795f, 0.004250f, 0.003339f, 0.011570f, -0.005110f, -0.005689f, 0.003043f, 0.004652f, -0.007942f, 0.013244f, -0.004056f, 0.035587f, -0.057426f, -0.226690f, -0.119516f, 0.024536f, 0.095404f, 0.213444f, 0.163113f, 0.091875f, 0.030977f, 0.047922f, -0.015153f, -0.089760f, -0.173551f, -0.230955f, -0.058370f, -0.066945f, 0.003535f, 0.112476f, 0.160520f, 0.107573f, 0.143834f, 0.033074f, 0.030548f, -0.016842f, -0.072649f, -0.082406f, -0.066523f, -0.070822f, -0.087428f, -0.070225f, -0.029904f, -0.004558f, -0.000972f, 0.056046f, 0.072905f, 0.139123f, 0.065883f, 0.021590f, 0.057267f, 0.088756f, 0.028443f, 0.016874f, -0.071541f, -0.098188f, -0.160206f, -0.074192f, + -0.083957f, -0.060960f, -0.036083f, -0.028544f, 0.012023f, 0.019644f, 0.067572f, 0.137929f, 0.111215f, 0.121072f, 0.089896f, 0.109825f, 0.081984f, -0.066277f, -0.060469f, -0.152945f, -0.118180f, -0.086765f, -0.194436f, -0.150683f, -0.091912f, 0.007144f, 0.118154f, 0.112263f, 0.133045f, 0.165943f, 0.142243f, 0.076325f, 0.092396f, 0.003472f, -0.035895f, -0.097651f, -0.141324f, -0.142332f, -0.117086f, -0.070693f, -0.014999f, 0.020038f, 0.034505f, 0.039203f, 0.065910f, 0.047250f, 0.077063f, 0.048410f, 0.019442f, 0.012329f, -0.002732f, -0.007789f, -0.001617f, -0.053397f, -0.036910f, -0.007749f, -0.024495f, -0.063749f, -0.017614f, -0.023048f, -0.023403f, -0.004657f, 0.047693f, 0.089473f, 0.074649f, 0.007570f, 0.073380f, 0.051268f, -0.009356f, -0.060504f, -0.095106f, -0.088943f, -0.039913f, -0.044206f, -0.027223f, -0.015555f, 0.025523f, 0.055280f, 0.077359f, 0.087318f, 0.063381f, 0.024345f, 0.027272f, -0.017162f, -0.047665f, -0.081133f, -0.072102f, -0.032432f, -0.002990f, -0.024070f, -0.007479f, 0.022795f, 0.029763f, 0.030020f, 0.029235f, 0.006981f, 0.012309f, 0.018068f, -0.003003f, -0.017382f, + 0.000735f, 0.005411f, -0.012188f, -0.014522f, -0.001818f, 0.004731f, 0.004088f, -0.009548f, -0.004515f, 0.003111f, 0.001533f, -0.008372f, -0.013227f, -0.010679f, 0.003989f, 0.000684f, -0.000608f, 0.007889f, 0.014833f, 0.010978f, 0.011308f, 0.007692f, 0.006184f, -0.000838f, -0.004084f, -0.007052f, -0.009628f, -0.008407f, -0.002862f, -0.006794f, -0.005802f, -0.005031f, 0.005369f, 0.006165f, -0.001815f, -0.002941f, 0.005822f, 0.003303f, -0.000615f, -0.000958f, -0.001445f, -0.004147f, 0.003267f, 0.004447f, 0.002301f, 0.003963f, 0.007776f, 0.007876f, 0.007037f, 0.000537f, -0.002281f, -0.004565f, -0.006886f, -0.013173f, -0.015566f, -0.013244f, -0.008824f, -0.007032f, -0.000320f, 0.006997f, 0.013006f, 0.016085f, 0.018387f, 0.015913f, 0.011718f, 0.005079f, -0.000369f, -0.006990f, -0.012010f, -0.014682f, -0.013413f, -0.013831f, -0.009364f, -0.004441f, -0.000720f, 0.003387f, 0.008708f, 0.009241f, 0.008702f, 0.007740f, 0.006493f, 0.003040f, 0.000120f, -0.002020f, -0.002140f, -0.002632f, -0.002713f, -0.002799f, -0.002014f, -0.001508f, -0.000791f, -0.000423f, -0.000123f, -0.000022f, 0.000262f, 0.000363f, + 0.000454f}, + {-0.002889f, -0.004115f, -0.007908f, 0.004621f, 0.007394f, 0.013114f, 0.003542f, -0.009213f, -0.016381f, 0.003552f, -0.007652f, 0.000647f, 0.005145f, 0.001996f, 0.013258f, -0.010969f, -0.002698f, -0.001498f, -0.000866f, -0.009418f, 0.005802f, 0.002449f, 0.001214f, 0.000246f, -0.004592f, -0.003544f, -0.003324f, -0.001083f, 0.000466f, 0.002208f, -0.003461f, 0.005040f, 0.011875f, -0.000389f, 0.005280f, -0.008426f, -0.004878f, -0.010083f, -0.004852f, 0.010686f, 0.000520f, -0.002195f, 0.001911f, 0.011336f, 0.001233f, 0.005695f, -0.001423f, -0.005339f, -0.001659f, 0.006465f, -0.005556f, 0.010153f, 0.006273f, 0.011449f, 0.005672f, 0.000714f, -0.003496f, -0.007616f, -0.004200f, -0.006623f, -0.001006f, -0.004838f, 0.001921f, 0.000408f, -0.002583f, 0.001664f, -0.002217f, 0.004085f, -0.001011f, -0.001147f, 0.005808f, -0.000593f, -0.000400f, 0.000757f, -0.005594f, 0.002538f, -0.004091f, -0.006634f, -0.003797f, -0.002927f, 0.002894f, -0.000563f, -0.000445f, -0.007524f, -0.001233f, 0.001940f, 0.001493f, -0.003000f, 0.000298f, -0.002966f, 0.001338f, 0.002090f, 0.001589f, 0.000575f, -0.000502f, -0.001219f, + 0.000366f, -0.002340f, -0.001236f, 0.000492f, 0.000366f, 0.001011f, 0.001024f, 0.000909f, 0.000227f, 0.002134f, -0.022852f, -0.005171f, 0.009384f, 0.001650f, 0.012790f, 0.006825f, -0.010515f, 0.002781f, -0.000221f, 0.004193f, -0.003761f, -0.017547f, 0.010140f, 0.006213f, 0.011618f, 0.014516f, 0.012502f, 0.004384f, 0.000176f, -0.017879f, -0.001838f, 0.008215f, -0.008148f, -0.007072f, -0.018668f, -0.001251f, -0.003119f, -0.002158f, -0.004748f, 0.002215f, -0.011142f, 0.005087f, -0.001950f, 0.004720f, 0.001393f, -0.007492f, 0.005788f, 0.004829f, 0.012956f, -0.001506f, -0.010371f, -0.005357f, 0.005618f, 0.002260f, -0.002593f, 0.000540f, 0.004137f, 0.000540f, -0.007578f, -0.000069f, 0.001600f, -0.000805f, 0.000483f, -0.004783f, -0.002096f, -0.006370f, -0.001310f, 0.007847f, 0.002806f, -0.002679f, 0.003353f, -0.001018f, -0.000403f, 0.001192f, -0.009102f, -0.000836f, -0.000451f, 0.005093f, 0.009857f, -0.002914f, -0.000994f, -0.006358f, -0.004924f, 0.002518f, 0.011216f, -0.009925f, -0.001554f, 0.002549f, -0.000539f, -0.002695f, -0.000173f, -0.002628f, 0.003652f, 0.003834f, 0.002026f, 0.006233f, + -0.002964f, -0.001917f, -0.000639f, 0.001466f, -0.001426f, 0.000259f, 0.001009f, 0.000843f, -0.000753f, -0.002667f, 0.001939f, -0.002657f, 0.012626f, 0.004727f, 0.004256f, -0.004258f, 0.000317f, 0.001171f, 0.001195f, -0.021728f, -0.011756f, -0.001003f, -0.005416f, -0.006738f, -0.000349f, -0.005676f, -0.022107f, 0.013148f, 0.003015f, 0.005941f, -0.002338f, 0.004515f, -0.005853f, 0.000259f, 0.000782f, 0.011362f, -0.004060f, -0.002419f, -0.001915f, -0.001946f, -0.001832f, -0.000827f, 0.012324f, -0.002410f, -0.000196f, -0.007048f, -0.000406f, -0.003414f, 0.003997f, 0.002007f, -0.011964f, 0.009246f, -0.012110f, -0.000254f, 0.010596f, -0.001543f, 0.000383f, 0.000785f, -0.000259f, -0.007437f, -0.005283f, 0.012157f, 0.007029f, -0.015120f, -0.008082f, 0.002363f, -0.008879f, -0.006457f, 0.006446f, -0.010890f, 0.002096f, 0.002605f, 0.006197f, 0.012947f, 0.009930f, 0.006057f, 0.004633f, -0.008868f, -0.009232f, -0.007920f, 0.002549f, 0.011261f, 0.004348f, -0.001965f, -0.005058f, 0.003672f, -0.004279f, -0.001889f, 0.002613f, -0.004216f, -0.006360f, -0.000885f, 0.005069f, -0.000954f, -0.004347f, 0.000544f, + 0.000025f, 0.004922f, 0.002047f, 0.004545f, 0.001025f, -0.002132f, -0.002170f, -0.001756f, -0.000917f, -0.000611f, 0.001453f, 0.002843f, 0.003403f, 0.003563f, 0.016602f, -0.004055f, -0.004233f, -0.004966f, 0.004688f, -0.005557f, 0.008122f, -0.015732f, -0.002009f, 0.011684f, 0.006120f, -0.011830f, 0.008766f, 0.014386f, 0.013577f, 0.008661f, 0.001667f, -0.000532f, -0.008868f, -0.011437f, 0.004861f, -0.001093f, 0.011477f, -0.000893f, 0.006866f, -0.007142f, -0.004751f, -0.003829f, 0.001142f, 0.003662f, -0.000645f, -0.013969f, 0.002953f, 0.004848f, 0.003521f, 0.006032f, 0.003702f, -0.007578f, -0.018671f, -0.006007f, 0.002739f, 0.003608f, 0.000883f, -0.000795f, 0.003547f, -0.007656f, -0.000122f, -0.013909f, 0.006506f, -0.014351f, -0.003783f, -0.006082f, -0.009445f, 0.006899f, 0.003050f, 0.002928f, -0.008247f, -0.004007f, -0.002426f, -0.008269f, 0.000784f, -0.000698f, 0.004423f, -0.003542f, -0.006965f, -0.005313f, -0.016525f, 0.005254f, 0.001916f, 0.007103f, 0.010469f, 0.013373f, 0.005219f, -0.005264f, -0.007873f, -0.003713f, 0.007265f, 0.007250f, -0.008205f, 0.008953f, 0.000381f, -0.005817f, + 0.012905f, -0.002500f, 0.002911f, 0.002192f, 0.003786f, -0.000228f, -0.002883f, 0.000839f, 0.004011f, 0.001442f, -0.000634f, 0.004346f, -0.002275f, -0.001780f, -0.003152f, 0.001491f, 0.000392f, -0.001611f, 0.002375f, -0.002303f, -0.004153f, -0.001742f, 0.003148f, -0.000758f, -0.000724f, 0.001134f, 0.008163f, 0.007532f, -0.001461f, 0.005292f, -0.016177f, 0.001763f, -0.007798f, 0.000718f, 0.002251f, -0.010207f, 0.003542f, 0.029391f, 0.003087f, -0.002728f, -0.016754f, 0.023638f, -0.000193f, 0.009860f, 0.001041f, -0.000613f, -0.013053f, 0.012424f, 0.003078f, -0.007046f, 0.001498f, 0.000835f, -0.005297f, 0.004957f, 0.013074f, -0.003959f, 0.013911f, -0.004273f, 0.005868f, -0.000335f, 0.009123f, 0.008124f, 0.009084f, -0.000009f, -0.005176f, 0.007121f, -0.005447f, 0.006260f, -0.001970f, 0.006312f, 0.006096f, 0.005874f, -0.000927f, -0.001949f, 0.002249f, -0.005303f, -0.007660f, -0.019303f, 0.012393f, -0.012519f, 0.008528f, 0.001001f, 0.003503f, -0.002346f, -0.023046f, -0.005065f, -0.006334f, -0.011260f, 0.001363f, 0.006833f, -0.014860f, -0.004759f, 0.006483f, 0.001119f, 0.010248f, 0.018053f, + -0.000651f, -0.005021f, -0.004498f, -0.018981f, 0.005635f, 0.003547f, -0.004375f, 0.000887f, 0.007340f, 0.007585f, 0.002071f, 0.001858f, 0.005270f, 0.000523f, -0.000989f, 0.007995f, 0.004614f, -0.004552f, 0.008128f, 0.005957f, 0.007976f, 0.002399f, -0.001542f, 0.000487f, -0.000687f, -0.000644f, -0.003162f, 0.000968f, -0.001982f, 0.001792f, -0.002464f, 0.003699f, 0.001206f, 0.000273f, 0.002986f, 0.000188f, -0.001110f, 0.000797f, -0.000835f, -0.000361f, -0.001236f, 0.003688f, 0.002157f, 0.000688f, 0.002538f, -0.000936f, 0.004132f, 0.000479f, 0.001219f, -0.000514f, 0.001024f, -0.000702f, -0.002624f, 0.001008f, -0.008325f, -0.010068f, -0.000931f, 0.005493f, -0.003188f, -0.004836f, -0.007320f, 0.002199f, 0.013464f, 0.006060f, 0.002165f, -0.030443f, -0.013939f, -0.004205f, 0.006293f, -0.003596f, 0.010371f, 0.034838f, 0.010880f, -0.012734f, 0.002045f, -0.015074f, -0.004839f, 0.010635f, -0.011975f, -0.003016f, 0.015584f, 0.003786f, -0.003822f, 0.002246f, 0.008844f, -0.005242f, 0.004324f, 0.004651f, 0.004627f, -0.008600f, 0.004018f, -0.004009f, -0.004863f, -0.012726f, -0.004893f, -0.007428f, + -0.014136f, 0.006245f, 0.000569f, -0.000941f, 0.014429f, 0.010503f, 0.003761f, 0.011543f, 0.000154f, -0.014574f, 0.012375f, -0.001375f, -0.009908f, -0.007868f, -0.014424f, 0.000673f, 0.017569f, 0.001205f, -0.007603f, 0.007437f, -0.012922f, -0.008142f, 0.006834f, -0.010528f, -0.013920f, -0.007360f, -0.004318f, 0.007903f, -0.012284f, -0.003828f, -0.005661f, 0.015922f, 0.002404f, -0.005533f, 0.007923f, -0.004792f, -0.005697f, 0.000889f, 0.012728f, -0.002388f, 0.000953f, 0.006963f, 0.004116f, -0.016126f, -0.000493f, 0.009798f, 0.004795f, 0.005696f, -0.001186f, -0.003158f, 0.007352f, -0.004345f, 0.001376f, -0.003572f, 0.002192f, 0.002671f, 0.003869f, -0.008209f, 0.000185f, 0.000798f, 0.002194f, 0.000443f, 0.000229f, 0.003760f, -0.000573f, -0.000792f, -0.003456f, 0.002740f, 0.003937f, 0.010674f, 0.007730f, -0.019709f, 0.018835f, -0.007002f, 0.001801f, -0.008579f, 0.016142f, -0.002214f, -0.010757f, -0.035249f, -0.004640f, 0.018392f, 0.004611f, -0.027468f, 0.012624f, 0.000044f, -0.005565f, -0.008767f, -0.007081f, -0.002658f, -0.016302f, -0.002702f, 0.013314f, 0.017299f, 0.020590f, 0.012514f, + 0.018783f, -0.006070f, 0.014812f, 0.007160f, -0.029005f, -0.000628f, 0.007647f, 0.010386f, 0.005116f, -0.009971f, 0.000650f, -0.002038f, 0.010343f, -0.017378f, -0.006189f, 0.013013f, -0.004199f, 0.007340f, 0.003906f, -0.011560f, -0.012818f, -0.006609f, -0.019247f, -0.005451f, -0.005856f, 0.007986f, 0.002959f, -0.011132f, -0.002489f, -0.023829f, -0.005939f, 0.009797f, -0.006899f, -0.023548f, -0.000274f, 0.013447f, -0.028548f, 0.008348f, 0.004842f, 0.009143f, -0.013496f, -0.006268f, -0.012823f, 0.001041f, -0.003798f, -0.014576f, -0.003770f, -0.002418f, 0.008867f, 0.004999f, 0.021481f, 0.001397f, 0.000301f, 0.003450f, -0.001550f, -0.010812f, 0.013605f, 0.004752f, -0.005500f, 0.011891f, 0.002221f, -0.005862f, 0.002024f, -0.000340f, 0.007280f, 0.001683f, 0.001483f, 0.004520f, -0.003778f, 0.000190f, -0.004063f, 0.000016f, -0.003225f, 0.003323f, -0.001282f, 0.001452f, 0.004106f, 0.000597f, -0.002509f, 0.003779f, 0.000996f, 0.004019f, 0.001134f, -0.001140f, 0.001514f, 0.000391f, 0.005422f, -0.022029f, 0.004793f, 0.017469f, 0.022541f, 0.016772f, 0.017137f, 0.006556f, -0.012045f, 0.011968f, + 0.020827f, -0.031066f, 0.015439f, 0.015425f, -0.033262f, -0.008807f, 0.008062f, 0.035668f, -0.002878f, -0.002382f, -0.008611f, -0.010131f, 0.044173f, 0.021836f, 0.006070f, 0.005426f, 0.022871f, -0.000530f, -0.003578f, -0.008694f, 0.003347f, -0.020021f, -0.018057f, -0.004218f, 0.005481f, 0.013204f, 0.005961f, 0.002907f, -0.006866f, 0.001171f, -0.014699f, 0.005964f, -0.021745f, 0.021105f, -0.002458f, -0.010694f, -0.012536f, -0.014332f, -0.021936f, 0.003657f, -0.021236f, -0.007236f, 0.014439f, -0.003496f, -0.007327f, -0.007088f, -0.003467f, -0.018218f, -0.012652f, -0.008281f, -0.007791f, -0.004259f, 0.006573f, 0.003584f, 0.001023f, 0.000835f, -0.016066f, 0.027393f, 0.015743f, 0.000251f, -0.002102f, 0.036068f, -0.004441f, -0.006392f, -0.008962f, -0.018486f, -0.005100f, 0.011963f, 0.011567f, -0.001933f, 0.014092f, -0.028302f, 0.008257f, -0.010887f, 0.002628f, 0.010688f, -0.003844f, -0.000402f, 0.001696f, 0.000768f, 0.003411f, -0.004586f, 0.005181f, 0.006586f, -0.006403f, 0.002451f, 0.003489f, 0.004235f, 0.011445f, -0.008822f, -0.000853f, 0.001048f, -0.000277f, 0.002520f, 0.001216f, 0.002636f, + 0.003566f, -0.003324f, 0.002271f, -0.001165f, 0.000220f, -0.006355f, -0.001392f, -0.001643f, 0.005190f, -0.005403f, 0.040959f, 0.014105f, 0.008806f, 0.019970f, -0.022162f, -0.013269f, 0.012958f, 0.013767f, 0.030451f, 0.004553f, 0.008624f, -0.020208f, -0.000983f, 0.010229f, -0.026533f, -0.008450f, 0.010927f, -0.008765f, 0.000554f, 0.007478f, 0.019988f, -0.006549f, 0.007945f, 0.004202f, 0.004568f, 0.017032f, 0.014922f, 0.018140f, -0.013948f, -0.009331f, 0.019711f, -0.024592f, -0.007999f, -0.008066f, -0.001444f, -0.006565f, -0.015593f, 0.015510f, -0.000339f, -0.016934f, 0.001019f, -0.006603f, -0.017562f, -0.022027f, -0.012107f, -0.013162f, 0.026378f, -0.008226f, -0.006451f, -0.015398f, -0.001078f, -0.007787f, 0.004256f, 0.030966f, -0.005576f, -0.009991f, 0.005460f, -0.001728f, 0.018010f, -0.020561f, 0.035176f, 0.007113f, -0.033445f, -0.024362f, 0.009078f, -0.022550f, 0.000575f, -0.024152f, 0.000316f, 0.005285f, -0.002899f, 0.026296f, 0.033040f, -0.015516f, 0.004186f, -0.006342f, -0.024093f, -0.008980f, -0.013029f, -0.015758f, -0.003443f, 0.012028f, -0.008043f, -0.018590f, 0.012575f, 0.000903f, + -0.009917f, -0.008461f, 0.004284f, 0.007024f, -0.002807f, -0.001870f, -0.009324f, 0.000604f, -0.008593f, -0.001681f, -0.004197f, 0.006224f, 0.007144f, 0.001744f, -0.008528f, 0.001014f, 0.000777f, 0.005725f, 0.000089f, -0.002086f, 0.000687f, -0.010894f, -0.000991f, -0.006111f, -0.004177f, 0.000928f, 0.002691f, -0.005692f, 0.004699f, -0.003283f, -0.002923f, 0.007524f, -0.002757f, -0.007197f, -0.036101f, 0.013145f, 0.073537f, -0.013149f, -0.001215f, -0.032714f, -0.013978f, 0.021593f, -0.003563f, 0.042031f, 0.025090f, 0.023173f, -0.000209f, 0.017804f, -0.035062f, 0.031216f, 0.015983f, 0.001153f, 0.003750f, -0.020452f, 0.008362f, -0.000638f, 0.031795f, 0.017611f, 0.021058f, -0.008135f, 0.001707f, 0.005260f, -0.021998f, -0.017774f, -0.008330f, 0.009539f, 0.037141f, -0.010740f, -0.013060f, -0.013112f, -0.007542f, 0.004546f, -0.024258f, -0.007261f, -0.001974f, -0.013104f, -0.025659f, -0.005669f, -0.032445f, -0.011982f, 0.018458f, -0.022613f, -0.010138f, -0.004719f, 0.001396f, -0.036439f, -0.022174f, -0.005035f, -0.004173f, -0.007218f, 0.022379f, 0.009695f, 0.001117f, 0.013420f, 0.023063f, -0.014759f, + -0.006377f, -0.020012f, 0.008574f, -0.015805f, 0.012804f, 0.014842f, 0.017817f, 0.032788f, 0.008993f, -0.025224f, -0.004446f, 0.055163f, 0.017682f, 0.030882f, 0.014651f, 0.009169f, -0.002534f, 0.003491f, -0.013519f, -0.017078f, 0.007180f, 0.005233f, -0.017056f, 0.004137f, 0.011250f, 0.010235f, -0.016397f, 0.012231f, 0.003872f, 0.008733f, 0.010080f, -0.000369f, 0.004661f, 0.008434f, 0.003193f, 0.009953f, -0.001435f, 0.001921f, -0.003632f, -0.007219f, 0.001087f, 0.008653f, 0.000925f, -0.004190f, 0.014014f, 0.008916f, 0.007440f, 0.000029f, -0.002160f, -0.002659f, -0.000795f, 0.000203f, -0.002772f, 0.004777f, 0.003528f, 0.003701f, 0.003957f, 0.001932f, -0.008120f, 0.038059f, 0.041713f, -0.042235f, 0.010267f, 0.030888f, 0.018620f, -0.011814f, -0.022518f, -0.019461f, 0.043462f, 0.003528f, 0.016300f, 0.022799f, -0.013092f, 0.006410f, 0.009470f, -0.026680f, -0.028414f, 0.022992f, 0.007729f, -0.041256f, -0.009618f, 0.053580f, 0.025596f, -0.000122f, -0.030686f, 0.010020f, 0.007929f, 0.032586f, 0.010657f, -0.015897f, 0.021212f, 0.003775f, -0.009103f, -0.003095f, -0.006580f, -0.025420f, + -0.012153f, 0.003907f, 0.004253f, -0.030337f, -0.032900f, -0.019371f, -0.009543f, -0.036022f, 0.021278f, -0.002226f, -0.025750f, 0.004914f, 0.000460f, -0.011071f, -0.003253f, 0.007779f, -0.000360f, 0.008192f, 0.009297f, 0.014575f, -0.014412f, -0.016857f, 0.022184f, 0.045371f, 0.020350f, 0.012440f, 0.032881f, -0.006131f, 0.017838f, 0.044116f, 0.026756f, 0.004229f, 0.004740f, -0.013685f, -0.027138f, 0.026293f, -0.025863f, 0.011635f, -0.010474f, 0.008116f, -0.033807f, 0.016232f, -0.000636f, -0.010876f, -0.006542f, 0.019229f, -0.018330f, -0.008993f, -0.004906f, 0.003043f, -0.000659f, 0.005798f, -0.007413f, -0.000758f, -0.013170f, -0.003122f, -0.000993f, 0.002546f, -0.004120f, 0.004654f, -0.005100f, 0.004067f, -0.004597f, 0.014847f, 0.004327f, -0.003566f, -0.007073f, 0.005759f, 0.000348f, 0.005309f, 0.004333f, -0.003269f, 0.003871f, 0.005640f, -0.003895f, 0.001672f, 0.006378f, -0.001747f, 0.002069f, 0.007612f, 0.007416f, 0.013691f, -0.008540f, -0.039496f, 0.011167f, -0.019013f, -0.008729f, -0.014686f, -0.002418f, 0.033914f, 0.033607f, -0.067800f, 0.021063f, 0.021581f, -0.021007f, -0.034474f, + -0.044933f, 0.007981f, -0.013150f, 0.008371f, -0.015635f, -0.012321f, -0.007233f, 0.042033f, 0.010712f, -0.003626f, -0.000647f, -0.006662f, -0.012477f, 0.010649f, 0.007065f, -0.000174f, 0.016928f, 0.003683f, -0.003474f, 0.006020f, 0.015375f, 0.043361f, 0.004443f, 0.005349f, -0.021334f, -0.009160f, -0.010054f, -0.010778f, -0.001225f, -0.003607f, 0.014447f, 0.020737f, 0.001074f, 0.023953f, -0.005474f, -0.004057f, -0.004817f, -0.002679f, -0.041922f, 0.047374f, 0.001318f, 0.003342f, -0.003389f, -0.012337f, 0.012677f, -0.003270f, 0.019340f, 0.001066f, -0.018293f, 0.004953f, 0.020503f, -0.014539f, 0.019052f, 0.004574f, -0.028864f, -0.004984f, -0.006083f, -0.052743f, -0.017879f, 0.013434f, 0.013737f, -0.021581f, -0.012258f, 0.012533f, 0.001880f, 0.035175f, -0.027934f, 0.012731f, 0.015863f, -0.002337f, 0.013894f, 0.012712f, 0.015733f, 0.005939f, 0.007087f, 0.006236f, 0.005318f, -0.002417f, -0.002720f, -0.009173f, 0.003786f, 0.013085f, 0.002505f, -0.009742f, -0.003594f, -0.005544f, 0.003288f, -0.004323f, -0.003410f, -0.006529f, 0.008699f, 0.004735f, 0.005991f, 0.000518f, -0.015158f, 0.006017f, + -0.015405f, 0.001081f, 0.002680f, 0.005381f, -0.007204f, -0.003693f, -0.002117f, 0.004918f, 0.009534f, 0.004086f, 0.004138f, 0.001170f, 0.004336f, -0.010604f, 0.034905f, 0.010301f, 0.010998f, -0.024978f, 0.019230f, -0.009795f, 0.018340f, -0.013804f, 0.023551f, -0.020797f, -0.016888f, 0.032228f, 0.004315f, 0.008483f, -0.018663f, -0.042185f, -0.003735f, 0.012743f, 0.003635f, 0.018559f, -0.014853f, 0.002677f, 0.000119f, -0.031421f, -0.022554f, 0.010825f, -0.035524f, -0.023171f, 0.011756f, 0.000469f, -0.037160f, -0.005043f, -0.018356f, 0.024207f, 0.014650f, 0.004628f, -0.008421f, -0.023163f, -0.049579f, 0.017914f, -0.022035f, 0.027627f, -0.007925f, -0.008813f, -0.004308f, -0.012927f, 0.007912f, 0.007464f, -0.039568f, -0.017294f, 0.039582f, 0.034648f, -0.035146f, 0.046389f, 0.002703f, 0.034239f, -0.007811f, -0.007840f, -0.003956f, -0.013090f, 0.017958f, -0.012897f, -0.036883f, -0.019463f, 0.044543f, -0.009606f, -0.008559f, -0.002179f, 0.014031f, 0.009064f, 0.022674f, -0.050510f, 0.015331f, 0.034871f, 0.027600f, -0.010852f, -0.002501f, -0.010680f, -0.022647f, 0.002866f, 0.021465f, 0.033037f, + -0.019770f, -0.020127f, -0.022717f, -0.002092f, -0.003405f, 0.002399f, -0.010703f, 0.005981f, 0.006143f, -0.003665f, -0.001244f, -0.004711f, -0.009701f, 0.010070f, 0.000598f, 0.001722f, -0.014917f, -0.012664f, -0.003039f, -0.016492f, -0.006107f, -0.008164f, 0.002274f, -0.005720f, 0.000432f, 0.013086f, -0.004802f, 0.005578f, 0.000240f, -0.011806f, 0.002776f, -0.005856f, -0.001137f, 0.005371f, 0.011723f, 0.001795f, 0.005171f, 0.010747f, 0.010930f, 0.014107f, -0.003970f, -0.003594f, -0.002076f, 0.014456f, -0.001754f, -0.022868f, -0.000840f, -0.017562f, 0.023866f, 0.018529f, -0.017990f, -0.030653f, -0.025724f, -0.015090f, -0.029816f, -0.001631f, 0.014118f, 0.032769f, -0.005667f, -0.001529f, -0.054800f, 0.032858f, 0.040867f, -0.006443f, -0.022233f, -0.022542f, -0.014006f, 0.061564f, -0.037482f, -0.000089f, -0.004442f, 0.016651f, -0.002780f, 0.070922f, 0.001702f, -0.038526f, -0.010184f, -0.036609f, 0.047815f, 0.041655f, -0.033613f, 0.039189f, 0.009767f, 0.031559f, 0.011745f, -0.059112f, 0.018516f, 0.031711f, -0.041027f, -0.011316f, -0.046549f, -0.023183f, 0.001562f, -0.042783f, -0.036605f, -0.000987f, + -0.029670f, -0.000359f, 0.010357f, -0.010545f, -0.029435f, 0.024179f, 0.021806f, -0.048307f, -0.037033f, 0.020280f, 0.008464f, 0.013058f, 0.024454f, 0.032102f, -0.011860f, -0.017327f, -0.001069f, -0.011208f, -0.000688f, -0.003529f, -0.016305f, 0.006508f, -0.067227f, 0.022947f, 0.032577f, -0.034567f, -0.028625f, 0.021728f, -0.021942f, -0.019736f, -0.009536f, 0.012192f, 0.001619f, 0.041744f, 0.000229f, 0.024422f, -0.002487f, -0.016895f, 0.008946f, 0.012650f, 0.012944f, -0.010870f, 0.000184f, 0.001434f, -0.001634f, -0.006945f, -0.016731f, 0.011069f, 0.017397f, -0.008872f, -0.029373f, 0.007553f, 0.002403f, 0.031112f, -0.003096f, -0.012020f, 0.009457f, 0.003561f, 0.015374f, 0.000095f, -0.009592f, 0.000344f, 0.012508f, 0.009542f, 0.003012f, -0.003215f, 0.002244f, -0.005650f, -0.005005f, -0.014442f, 0.007146f, 0.007092f, -0.010120f, 0.004937f, 0.004229f, 0.002795f, -0.001857f, -0.004777f, 0.001096f, -0.013841f, -0.010473f, 0.000296f, 0.014852f, 0.037125f, 0.069964f, 0.110555f, 0.003080f, -0.045025f, -0.057913f, -0.013776f, 0.002026f, -0.014013f, 0.053541f, 0.040089f, 0.027643f, 0.046505f, + 0.033767f, 0.027252f, 0.001584f, 0.021906f, -0.029077f, 0.040247f, 0.046580f, 0.002914f, 0.048472f, -0.020339f, 0.003730f, 0.011041f, -0.045739f, -0.030834f, -0.011048f, -0.027309f, -0.032138f, -0.004984f, 0.049830f, -0.000937f, -0.009926f, 0.005985f, 0.010449f, -0.007044f, -0.068175f, -0.009559f, 0.017515f, -0.010274f, -0.021060f, 0.008133f, 0.026023f, 0.046387f, 0.011261f, 0.023528f, 0.032767f, 0.040417f, -0.056390f, -0.039187f, 0.021854f, -0.016561f, 0.071210f, -0.007649f, 0.061199f, -0.049761f, 0.029081f, 0.049849f, 0.001682f, 0.007935f, 0.029823f, -0.054365f, -0.025382f, 0.001225f, 0.030729f, 0.000693f, 0.035405f, 0.014269f, 0.013189f, 0.036120f, 0.012909f, -0.004975f, -0.015475f, -0.043038f, -0.010111f, 0.002340f, 0.011198f, 0.000719f, 0.000765f, 0.000819f, -0.023553f, 0.012032f, 0.007996f, 0.020133f, -0.007141f, 0.015118f, 0.024755f, 0.014688f, 0.006147f, -0.000194f, -0.003135f, 0.005149f, -0.008777f, 0.005002f, -0.008394f, 0.000155f, 0.004981f, 0.004986f, -0.007438f, 0.011105f, 0.010698f, 0.013537f, 0.001381f, 0.001008f, 0.005555f, -0.004954f, 0.009143f, -0.006990f, + 0.009238f, 0.021455f, -0.002751f, -0.004183f, 0.001515f, 0.018660f, -0.011638f, 0.004364f, -0.002368f, -0.002813f, -0.003682f, 0.002538f, 0.005034f, 0.008396f, 0.006274f, 0.006406f, 0.017217f, -0.012223f, 0.020455f, -0.010035f, -0.023773f, 0.006914f, 0.079396f, 0.026411f, 0.027888f, 0.057865f, -0.004240f, 0.012233f, 0.025227f, 0.037146f, -0.041345f, -0.033249f, -0.014065f, -0.036474f, -0.006329f, -0.048990f, 0.025217f, 0.038959f, 0.028599f, 0.038681f, -0.026042f, -0.014613f, 0.030067f, 0.023165f, -0.016269f, 0.039204f, 0.023755f, -0.009178f, -0.047981f, 0.026593f, 0.029403f, -0.024614f, -0.003515f, 0.013885f, 0.007067f, -0.038957f, 0.044845f, 0.011779f, 0.048137f, 0.026023f, 0.018958f, -0.026253f, 0.022547f, -0.014034f, 0.073312f, -0.057818f, 0.006483f, 0.021894f, -0.010771f, -0.037401f, 0.023932f, 0.023105f, -0.004387f, 0.022725f, -0.022113f, 0.059448f, -0.027450f, 0.015517f, 0.013175f, -0.038086f, -0.016225f, -0.052514f, 0.022451f, 0.015090f, -0.038688f, 0.036089f, 0.031284f, -0.027157f, 0.022504f, -0.003141f, 0.060749f, 0.019528f, -0.030041f, -0.022447f, -0.021435f, 0.018801f, + -0.012386f, 0.015985f, -0.007491f, 0.003310f, 0.020510f, 0.012531f, 0.010358f, -0.020201f, 0.052276f, 0.005481f, -0.019938f, -0.029874f, 0.025384f, 0.012216f, 0.023976f, -0.013863f, 0.007193f, 0.018536f, 0.039506f, 0.009674f, -0.006233f, 0.032373f, -0.008592f, -0.009804f, -0.004398f, 0.002869f, 0.009060f, -0.019883f, -0.016908f, 0.007084f, -0.014584f, -0.009392f, 0.002086f, -0.007492f, -0.001829f, -0.002905f, -0.014304f, 0.009749f, 0.006066f, -0.028524f, 0.006987f, -0.021434f, -0.012867f, -0.007115f, 0.010538f, 0.005076f, 0.019581f, 0.008038f, -0.000366f, 0.005040f, 0.007336f, 0.007797f, 0.000963f, 0.001851f, 0.004667f, 0.015987f, -0.005148f, -0.002901f, -0.071218f, 0.030553f, -0.060858f, 0.061315f, 0.073871f, -0.004833f, 0.012287f, -0.061577f, -0.001308f, -0.014436f, 0.005460f, 0.034401f, 0.035409f, -0.011598f, 0.018029f, 0.028438f, 0.003961f, 0.011411f, 0.007791f, 0.011248f, -0.008349f, 0.041860f, -0.006626f, 0.008802f, -0.024502f, 0.047219f, 0.009801f, -0.005427f, -0.002194f, 0.042408f, 0.015999f, 0.019546f, 0.047313f, -0.011575f, -0.030155f, 0.057906f, -0.063040f, -0.027881f, + -0.011366f, 0.012978f, 0.040863f, 0.008752f, -0.017494f, -0.018340f, -0.030662f, -0.001483f, -0.005968f, 0.011173f, 0.065887f, 0.063630f, 0.040539f, 0.057332f, -0.005706f, 0.086749f, -0.029644f, 0.023620f, -0.021141f, 0.001293f, 0.027228f, -0.014260f, 0.002949f, -0.027054f, -0.034178f, -0.000180f, -0.021552f, 0.017149f, -0.029173f, 0.042501f, -0.032721f, -0.053151f, -0.021847f, -0.014207f, -0.004887f, 0.062290f, -0.038201f, -0.009549f, -0.005492f, -0.040358f, -0.010084f, 0.022271f, 0.049495f, -0.005159f, -0.002211f, 0.001120f, -0.016290f, -0.034826f, 0.001364f, -0.002298f, -0.005182f, -0.004360f, 0.000023f, -0.020490f, 0.015862f, -0.017673f, 0.019605f, -0.008618f, -0.014922f, -0.017320f, 0.004140f, 0.014673f, -0.010843f, -0.014984f, -0.004849f, 0.011991f, 0.014427f, -0.011239f, 0.006875f, 0.007676f, 0.005281f, 0.007637f, -0.007957f, -0.008329f, 0.004229f, -0.000121f, 0.009247f, -0.012072f, 0.008181f, 0.013303f, -0.000329f, -0.005719f, -0.007045f, 0.011489f, -0.025092f, -0.013071f, 0.025520f, -0.016297f, -0.001367f, -0.005119f, 0.005304f, -0.016764f, 0.011792f, -0.006146f, 0.023040f, 0.019973f, + 0.000312f, -0.024867f, 0.109051f, 0.151403f, 0.046425f, 0.118020f, -0.025851f, -0.082113f, -0.057536f, -0.040239f, 0.019914f, 0.021686f, -0.027369f, -0.044115f, 0.038211f, 0.051364f, 0.030027f, 0.051245f, 0.039549f, 0.009741f, 0.015740f, 0.007723f, -0.002559f, -0.033755f, 0.014898f, -0.039996f, 0.028184f, 0.000233f, -0.037396f, 0.043347f, 0.026254f, 0.020722f, 0.074935f, 0.046015f, -0.021456f, -0.014491f, -0.026939f, -0.031993f, -0.039111f, -0.015477f, 0.001580f, -0.030991f, -0.009572f, 0.064685f, 0.098207f, 0.072284f, 0.009946f, 0.049324f, 0.052697f, 0.080454f, 0.036917f, -0.042683f, -0.069965f, -0.043706f, -0.044615f, 0.026416f, 0.022290f, -0.095763f, -0.065576f, -0.016930f, 0.040458f, 0.087099f, -0.065149f, -0.002601f, -0.056525f, -0.007373f, 0.071332f, -0.039213f, 0.026959f, -0.056875f, -0.009144f, -0.017000f, 0.048167f, -0.053306f, -0.030229f, 0.000865f, 0.021363f, -0.043271f, 0.099535f, -0.023400f, -0.001384f, 0.056508f, -0.024645f, 0.042487f, -0.013357f, -0.035079f, -0.027077f, 0.016518f, 0.001832f, 0.014089f, 0.009026f, -0.031307f, 0.001085f, -0.013207f, 0.038291f, 0.022299f, + 0.006958f, 0.020818f, 0.023964f, 0.001344f, -0.000046f, -0.007508f, -0.023468f, 0.048552f, -0.014732f, 0.010208f, 0.000675f, -0.028080f, 0.001427f, 0.003125f, -0.008575f, -0.018436f, -0.003704f, -0.010798f, 0.003009f, 0.007283f, -0.007906f, 0.001712f, 0.033426f, 0.023681f, -0.003894f, -0.005234f, 0.031717f, -0.013032f, -0.003576f, -0.026368f, -0.037716f, -0.014193f, -0.009655f, -0.004012f, -0.010232f, -0.042752f, -0.083129f, 0.010325f, 0.046536f, -0.038410f, 0.072014f, -0.028513f, 0.028733f, -0.009426f, -0.082852f, -0.042379f, -0.003855f, -0.048704f, -0.111906f, -0.031298f, 0.040608f, 0.062321f, -0.030181f, -0.047851f, -0.099841f, -0.029600f, 0.029692f, -0.019753f, -0.028816f, -0.049565f, 0.011968f, -0.011094f, -0.008255f, -0.009201f, 0.020378f, 0.040309f, -0.031090f, 0.031194f, 0.026646f, -0.031449f, -0.091110f, 0.007606f, 0.007564f, 0.023714f, 0.011185f, 0.059875f, 0.006207f, -0.090587f, 0.000778f, -0.099774f, -0.000282f, 0.034854f, 0.042019f, -0.007587f, 0.005723f, 0.046605f, -0.024110f, -0.017530f, -0.031120f, 0.030229f, 0.022056f, -0.014223f, 0.036015f, -0.011008f, 0.015265f, 0.016857f, + 0.058832f, 0.007994f, -0.020657f, -0.062623f, -0.021470f, 0.032761f, 0.028443f, 0.050042f, 0.072811f, 0.125942f, 0.062759f, 0.030435f, -0.032615f, -0.126100f, -0.034482f, -0.018050f, 0.096689f, -0.016044f, 0.006133f, -0.000234f, -0.030355f, 0.004327f, 0.028421f, 0.013697f, -0.000568f, 0.001563f, 0.000619f, 0.000354f, 0.046919f, -0.016729f, -0.013863f, -0.015360f, 0.032567f, 0.012618f, 0.016514f, -0.012596f, -0.039858f, 0.013349f, 0.016963f, -0.017999f, -0.002616f, 0.010350f, -0.002233f, 0.003291f, -0.007032f, -0.057237f, -0.018781f, -0.004412f, 0.026402f, 0.041522f, 0.004963f, -0.034155f, -0.033481f, 0.015554f, 0.005619f, -0.002934f, -0.005645f, 0.002127f, -0.003524f, -0.001453f, 0.030724f, -0.033497f, 0.004323f, -0.028741f, 0.030728f, -0.016593f, 0.000689f, -0.041473f, -0.006521f, 0.028458f, -0.008754f, 0.015507f, -0.023983f, 0.012153f, -0.012604f, 0.019717f, -0.019253f, 0.006747f, -0.081387f, -0.024776f, 0.056611f, -0.027876f, -0.023379f, -0.006029f, -0.018256f, -0.065255f, -0.072546f, -0.106141f, -0.033499f, 0.000203f, -0.008205f, 0.069473f, 0.019130f, 0.090740f, 0.056003f, 0.028093f, + -0.012658f, -0.033546f, -0.006232f, 0.127245f, 0.007925f, 0.036660f, 0.020700f, -0.016002f, 0.063436f, -0.026486f, 0.051212f, -0.055924f, -0.005522f, -0.040316f, 0.048204f, -0.067904f, -0.014254f, 0.020688f, 0.021413f, 0.021725f, -0.059260f, 0.042144f, -0.067830f, 0.013725f, -0.033202f, -0.022847f, 0.067612f, 0.003919f, 0.004504f, 0.023171f, -0.025574f, -0.001597f, 0.017727f, -0.082476f, 0.002299f, 0.018903f, -0.011906f, 0.052967f, -0.023667f, -0.010493f, 0.089360f, -0.033936f, -0.074190f, 0.000067f, -0.027963f, 0.005880f, -0.005529f, -0.004047f, -0.059521f, 0.031727f, -0.009608f, -0.081472f, 0.049052f, -0.100876f, 0.019664f, -0.023259f, -0.039770f, -0.063844f, -0.008097f, 0.017038f, 0.029401f, 0.002403f, 0.023832f, 0.029165f, -0.034641f, 0.061141f, -0.014075f, 0.016171f, -0.000695f, 0.029044f, -0.001209f, -0.003566f, -0.009845f, 0.017050f, -0.036537f, -0.005017f, 0.012134f, 0.007637f, -0.014119f, -0.000548f, -0.015818f, -0.021563f, 0.011074f, 0.008351f, 0.016290f, 0.009984f, -0.004487f, 0.012092f, 0.036637f, -0.018446f, -0.018834f, 0.005952f, -0.001627f, 0.006712f, 0.027220f, -0.004322f, + 0.014909f, 0.013315f, 0.014146f, -0.018870f, -0.021866f, -0.005966f, -0.001605f, -0.023627f, -0.001147f, -0.005136f, 0.009941f, -0.025807f, 0.007734f, -0.011765f, -0.033922f, -0.122971f, -0.126416f, -0.107713f, -0.053666f, 0.226721f, 0.071885f, -0.026850f, -0.028123f, -0.110244f, -0.234945f, -0.025344f, 0.064680f, 0.080470f, 0.035229f, -0.035089f, -0.026024f, -0.068371f, -0.075507f, 0.058888f, -0.054089f, 0.143373f, 0.107693f, -0.164573f, 0.054711f, 0.022979f, -0.033675f, 0.014078f, 0.120082f, 0.018226f, 0.083153f, 0.164121f, -0.034465f, -0.132622f, 0.007272f, -0.021647f, -0.123715f, -0.032840f, 0.061216f, -0.004325f, 0.075119f, 0.120959f, 0.011653f, -0.102692f, -0.202390f, -0.173419f, -0.155125f, -0.015240f, 0.152141f, 0.044271f, 0.041265f, 0.023904f, -0.040204f, -0.202643f, -0.126625f, -0.064115f, -0.023966f, 0.013682f, 0.046942f, 0.045931f, 0.058356f, 0.060104f, 0.074105f, -0.086614f, -0.030762f, -0.070699f, -0.005257f, -0.077433f, 0.049767f, 0.050102f, 0.101030f, 0.112511f, 0.053987f, 0.002953f, -0.028834f, -0.019261f, -0.136326f, -0.107877f, 0.096692f, 0.151294f, 0.102968f, 0.121174f, + -0.028021f, -0.052180f, -0.107729f, -0.060416f, 0.032853f, 0.001647f, 0.008206f, 0.035112f, 0.012095f, 0.009939f, -0.025532f, -0.033450f, -0.016501f, -0.024899f, 0.001735f, 0.027918f, 0.008264f, 0.011743f, -0.005280f, 0.016935f, -0.027945f, 0.020754f, -0.007819f, -0.025133f, -0.025413f, -0.006363f, -0.042766f, -0.011833f, -0.025852f, 0.029177f, 0.031910f, 0.016671f, 0.012815f, -0.026746f, -0.057412f, -0.055949f, 0.016071f, -0.003758f, 0.026935f, 0.024702f, 0.013038f, -0.040265f, -0.020587f, -0.038236f, -0.060838f, 0.020234f, 0.037852f, 0.016410f, 0.002020f, 0.043282f, -0.015953f, -0.226272f, -0.253338f, -0.172226f, -0.177085f, -0.047160f, 0.199096f, 0.134088f, 0.214802f, 0.239056f, 0.363184f, 0.241141f, 0.249744f, 0.161058f, -0.012007f, -0.179234f, -0.309745f, -0.366178f, -0.317590f, -0.250717f, -0.181103f, -0.043845f, -0.008887f, -0.026194f, 0.009561f, 0.078866f, 0.130220f, 0.180168f, 0.157015f, 0.213519f, 0.206648f, 0.266538f, 0.244212f, 0.068460f, 0.164058f, -0.035569f, 0.045171f, 0.032922f, 0.009673f, -0.022727f, -0.237210f, -0.285364f, -0.364265f, -0.427915f, -0.388508f, -0.216316f, + -0.191682f, -0.158205f, -0.197535f, -0.229288f, -0.048630f, 0.055885f, 0.144339f, 0.210617f, 0.305640f, 0.364365f, 0.468528f, 0.617404f, 0.600249f, 0.455262f, 0.370071f, 0.307307f, 0.163201f, 0.258017f, -0.104212f, -0.210914f, -0.503543f, -0.577529f, -0.717081f, -0.689746f, -0.629999f, -0.597864f, -0.576640f, -0.355770f, -0.219647f, -0.120208f, 0.322898f, 0.327980f, 0.502551f, 0.644363f, 0.559603f, 0.504564f, 0.511411f, 0.400901f, 0.306630f, 0.167672f, 0.022766f, -0.002981f, -0.094018f, -0.115631f, -0.166362f, -0.216905f, -0.296596f, -0.321847f, -0.291915f, -0.337761f, -0.260017f, -0.239879f, -0.225282f, -0.199014f, -0.101733f, -0.020890f, 0.106217f, 0.216929f, 0.204809f, 0.317414f, 0.352161f, 0.386919f, 0.458178f, 0.369414f, 0.216759f, 0.107129f, -0.064936f, -0.169268f, -0.167931f, -0.326806f, -0.301355f, -0.414399f, -0.328659f, -0.343660f, -0.219496f, -0.231133f, -0.133951f, -0.018171f, 0.116997f, 0.173763f, 0.308727f, 0.357508f, 0.348603f, 0.336943f, 0.329981f, 0.251981f, 0.090996f, -0.059153f, -0.082719f, -0.110156f, -0.119640f, -0.137934f, -0.160925f, -0.151667f, -0.110330f, -0.122100f, + -0.108305f, -0.096284f, -0.067164f, -0.032002f, -0.019775f, -0.016853f, 0.005609f, 0.018822f, 0.014540f, 0.017178f, 0.049108f, 0.060765f, 0.065960f, 0.059358f, 0.046411f, 0.047234f, 0.073841f, 0.051288f, 0.042982f, 0.040507f, 0.038337f, 0.015062f, -0.002238f, -0.020718f, -0.014503f, -0.020342f, -0.024579f, -0.036510f, -0.028102f, -0.025590f, -0.029419f, -0.040146f, -0.029542f, -0.027540f, -0.031123f, -0.033503f, -0.017677f, -0.013882f, -0.006764f, -0.005388f, 0.002096f, 0.013887f, 0.025895f, 0.021373f, 0.020217f, 0.019982f, 0.024719f, 0.019707f, 0.013936f, 0.007556f, 0.011534f, 0.007879f, 0.006334f, 0.003464f, 0.002038f, -0.004902f, -0.001705f, 0.004758f, 0.007409f, 0.002290f, 0.001473f, -0.000845f, 0.002183f, -0.001719f, -0.009224f, -0.014043f, -0.011794f, -0.013649f, -0.013490f, -0.013652f, -0.010682f, -0.010970f, -0.008353f, -0.004519f, 0.000102f, 0.000400f, 0.002361f, 0.001218f, 0.002939f, 0.003516f, 0.005495f, 0.006157f, 0.008012f, 0.007605f, 0.008158f, 0.006444f, 0.005668f, 0.003647f, 0.002697f, 0.001132f, 0.000465f, -0.000508f, -0.000665f, -0.001159f, -0.001228f, -0.001318f, + -0.001204f} + }, + { + {0.024821f, 0.002780f, -0.011035f, 0.003700f, -0.007001f, 0.001760f, -0.004582f, -0.002911f, -0.006105f, 0.004225f, 0.007328f, 0.002087f, 0.002239f, -0.013634f, 0.002605f, 0.000186f, 0.004164f, 0.005132f, 0.002782f, 0.007752f, -0.001709f, -0.004412f, 0.000761f, 0.009277f, -0.000004f, -0.007188f, -0.000781f, 0.007893f, 0.004251f, 0.000813f, 0.000015f, 0.002193f, -0.000264f, 0.000567f, 0.001475f, -0.000290f, -0.002896f, -0.000372f, 0.000009f, 0.003082f, -0.004709f, -0.010967f, 0.008009f, 0.008026f, 0.006984f, 0.006566f, -0.000400f, 0.003569f, 0.006242f, -0.006661f, -0.001551f, -0.000203f, -0.008880f, 0.001965f, 0.000591f, 0.007959f, 0.000773f, 0.004451f, 0.000081f, 0.010017f, 0.005046f, -0.001495f, 0.007003f, 0.004244f, -0.002342f, -0.008225f, 0.002001f, 0.002118f, -0.002218f, 0.000593f, -0.004710f, -0.001240f, 0.004145f, 0.002904f, 0.003436f, 0.008263f, -0.001424f, -0.002629f, 0.001082f, 0.004908f, 0.011321f, -0.006702f, 0.002984f, 0.003058f, 0.003266f, -0.000358f, -0.000811f, 0.003498f, -0.002007f, 0.000081f, 0.001620f, -0.002155f, -0.000416f, 0.000309f, 0.000550f, -0.001410f, + -0.002155f, 0.001316f, -0.000561f, 0.000250f, -0.000817f, 0.002068f, -0.000308f, 0.002463f, -0.000635f, 0.002191f, -0.000097f, 0.002072f, 0.021072f, -0.014121f, 0.004736f, 0.011851f, 0.002757f, 0.008345f, 0.010117f, -0.009235f, 0.001917f, -0.000866f, 0.003927f, -0.011704f, -0.009287f, -0.001755f, 0.009066f, 0.012281f, -0.004733f, -0.004104f, 0.005887f, -0.010023f, -0.013379f, -0.002498f, -0.015731f, 0.005351f, 0.005203f, 0.001391f, -0.009778f, -0.009970f, 0.003521f, -0.005819f, 0.001332f, -0.000331f, 0.010347f, 0.010896f, 0.009865f, -0.001646f, 0.006911f, -0.010862f, 0.004700f, -0.006424f, -0.000595f, 0.000528f, 0.008445f, -0.009172f, -0.008112f, 0.000012f, 0.011112f, 0.004532f, 0.004338f, -0.006787f, 0.003762f, 0.002701f, -0.003282f, -0.013952f, -0.002257f, -0.004772f, -0.006109f, -0.005558f, 0.006370f, -0.005910f, -0.001892f, 0.001384f, 0.003956f, 0.009913f, -0.003825f, -0.000303f, -0.007528f, -0.003716f, 0.001561f, -0.010499f, -0.000645f, 0.002777f, 0.007137f, -0.002338f, -0.005405f, -0.002806f, -0.010856f, 0.005067f, 0.003190f, 0.000555f, -0.000880f, -0.009462f, 0.003870f, 0.000700f, + -0.003338f, 0.003335f, -0.001328f, 0.000752f, 0.003121f, 0.000227f, 0.000655f, 0.003539f, 0.001626f, 0.000664f, 0.000108f, 0.002818f, 0.001084f, -0.000634f, 0.001213f, 0.001614f, 0.003360f, -0.007216f, -0.013264f, -0.003134f, 0.002554f, -0.003932f, -0.006600f, -0.003556f, -0.013222f, -0.007346f, 0.014450f, -0.000342f, -0.006074f, 0.007768f, -0.011162f, -0.002381f, -0.013979f, -0.002726f, -0.010968f, -0.005627f, 0.013381f, 0.000918f, -0.002451f, -0.014614f, -0.009031f, -0.003121f, -0.006134f, 0.002739f, -0.007676f, 0.001002f, 0.005142f, 0.015963f, 0.007945f, 0.006130f, 0.007040f, 0.012966f, -0.010475f, 0.000104f, -0.002979f, -0.008021f, 0.003634f, -0.001457f, -0.002984f, -0.008406f, 0.004734f, 0.009311f, 0.001183f, -0.006363f, -0.003994f, 0.023473f, 0.000331f, -0.006445f, -0.009069f, -0.013702f, -0.018337f, -0.002083f, -0.009395f, 0.002466f, -0.001651f, 0.005425f, 0.001201f, 0.002746f, -0.008297f, 0.001513f, 0.001632f, 0.011483f, 0.004038f, -0.008173f, 0.000710f, -0.002378f, -0.002261f, -0.001766f, 0.004258f, 0.006270f, 0.006144f, -0.005268f, -0.005127f, 0.003626f, 0.001846f, 0.002456f, + 0.002672f, -0.001900f, -0.007998f, -0.009429f, -0.000904f, 0.001991f, -0.002068f, 0.001253f, 0.000308f, -0.001067f, -0.001798f, -0.002785f, -0.000936f, -0.000335f, -0.001580f, -0.003121f, 0.000528f, 0.001347f, -0.001581f, 0.000890f, -0.001361f, 0.000569f, -0.001765f, -0.000755f, 0.000639f, 0.000780f, -0.002176f, 0.000612f, -0.000677f, -0.004095f, 0.000696f, -0.001275f, 0.002687f, -0.001640f, -0.001065f, -0.000413f, -0.032586f, 0.012746f, -0.005922f, 0.005328f, -0.013555f, -0.005514f, -0.010640f, -0.009723f, 0.000534f, -0.003127f, -0.006717f, 0.016450f, 0.004163f, -0.001625f, -0.010163f, -0.003262f, 0.004523f, -0.011579f, -0.006219f, -0.011029f, -0.006228f, 0.015731f, 0.001403f, 0.010465f, -0.001149f, -0.000183f, -0.002799f, 0.002914f, 0.002777f, -0.008462f, -0.000043f, 0.002442f, 0.004580f, 0.017091f, -0.009123f, -0.010467f, -0.002212f, 0.018915f, 0.005816f, 0.020137f, 0.001628f, 0.001798f, -0.003732f, 0.009918f, -0.001897f, 0.014653f, -0.001662f, -0.001770f, -0.002813f, -0.006177f, 0.006083f, 0.001845f, -0.005422f, 0.004226f, 0.005367f, 0.010166f, -0.006081f, -0.000564f, -0.002011f, 0.009053f, + -0.003898f, -0.001577f, -0.003608f, -0.002369f, 0.002005f, -0.003018f, 0.000870f, 0.001501f, -0.002412f, 0.002218f, -0.015262f, 0.001413f, 0.009599f, 0.003407f, 0.012921f, 0.001039f, 0.001194f, 0.003135f, 0.008157f, 0.013362f, -0.009057f, 0.001265f, -0.000902f, 0.003144f, -0.000627f, -0.000348f, 0.003801f, 0.008666f, 0.003126f, 0.004249f, 0.000253f, -0.001514f, -0.002478f, 0.001173f, 0.004180f, -0.001542f, 0.001778f, 0.002012f, 0.001858f, -0.000078f, 0.000675f, 0.003698f, -0.000874f, 0.000982f, -0.000371f, 0.004272f, 0.002249f, -0.001364f, -0.000485f, 0.004600f, 0.002108f, -0.001352f, 0.003127f, 0.001898f, -0.004318f, -0.006753f, -0.003234f, 0.000050f, -0.015859f, -0.002483f, 0.000345f, -0.007790f, -0.028220f, -0.006688f, -0.005936f, -0.012179f, -0.002226f, -0.002980f, 0.017982f, -0.005968f, 0.013644f, 0.006509f, 0.009893f, -0.018063f, -0.008023f, -0.018253f, -0.016968f, 0.000194f, 0.003411f, 0.010951f, -0.004998f, -0.007860f, -0.004782f, -0.012274f, 0.002851f, 0.005894f, 0.006714f, 0.004238f, -0.003608f, 0.004866f, -0.008155f, 0.001112f, -0.014853f, 0.005641f, -0.003703f, 0.002272f, + 0.003483f, 0.005830f, 0.006161f, -0.005526f, 0.000395f, 0.014771f, -0.007634f, 0.007272f, 0.007569f, -0.000266f, 0.004598f, 0.007378f, -0.002793f, 0.003038f, 0.007216f, 0.000605f, 0.012600f, -0.006297f, -0.008455f, -0.003949f, 0.004223f, 0.000184f, -0.016385f, -0.008172f, -0.018172f, -0.019726f, -0.003249f, 0.005617f, -0.016108f, 0.007469f, -0.002495f, -0.000066f, -0.005423f, 0.005668f, -0.009531f, -0.001325f, -0.003241f, -0.013426f, -0.011897f, -0.003763f, 0.007280f, 0.000455f, 0.006259f, -0.002354f, 0.004096f, 0.003399f, -0.007427f, 0.000268f, -0.001373f, 0.004499f, -0.004971f, -0.008294f, -0.002667f, 0.001389f, 0.000109f, -0.003052f, 0.001563f, -0.001806f, -0.000664f, 0.001589f, -0.000347f, 0.000327f, -0.000072f, -0.001704f, -0.000322f, -0.001646f, -0.001161f, -0.000981f, 0.000051f, 0.001113f, 0.000195f, 0.002659f, 0.001020f, -0.000936f, 0.009341f, -0.026275f, -0.001110f, 0.008390f, 0.005348f, -0.013860f, -0.001550f, -0.008753f, 0.002454f, 0.002864f, 0.002073f, -0.015146f, -0.020372f, -0.013802f, 0.002551f, -0.010993f, 0.012386f, 0.004068f, -0.019618f, 0.014475f, 0.012661f, 0.010105f, + 0.009012f, -0.009618f, 0.016231f, 0.004455f, 0.000014f, -0.006056f, 0.005571f, 0.009855f, -0.008708f, -0.012765f, 0.004931f, -0.004679f, -0.015958f, -0.001928f, -0.015398f, -0.005435f, 0.028234f, -0.007273f, -0.012514f, -0.015438f, 0.000994f, 0.002795f, 0.011302f, 0.004692f, -0.010179f, 0.009606f, -0.001084f, -0.007845f, -0.010594f, -0.011123f, 0.017427f, 0.008000f, 0.011020f, -0.007999f, -0.011193f, 0.005356f, 0.002901f, -0.011367f, -0.000493f, -0.006867f, 0.011290f, -0.001894f, 0.001087f, -0.013470f, 0.008859f, 0.007617f, -0.007734f, -0.004755f, -0.004772f, 0.015832f, 0.000262f, 0.002566f, -0.004421f, 0.010943f, -0.010818f, -0.018222f, -0.008197f, 0.001898f, -0.003486f, 0.010382f, -0.002017f, -0.000867f, -0.010739f, -0.005399f, 0.004722f, 0.000918f, -0.007636f, -0.004714f, 0.006596f, 0.003842f, -0.002048f, 0.000594f, 0.000129f, 0.000310f, -0.002087f, 0.003159f, 0.001286f, 0.004740f, 0.000722f, 0.001088f, 0.000171f, 0.002238f, -0.000895f, 0.003093f, -0.003625f, 0.004121f, -0.000416f, -0.002051f, -0.014597f, -0.001021f, 0.003097f, -0.003961f, -0.011754f, -0.017238f, -0.013901f, 0.013183f, + 0.001167f, 0.016252f, 0.019464f, 0.018906f, 0.002509f, 0.026101f, 0.005942f, -0.003336f, 0.011836f, 0.008964f, 0.024067f, 0.003142f, 0.013659f, -0.019710f, 0.031387f, 0.023017f, 0.010891f, -0.010037f, -0.008078f, 0.011112f, 0.002232f, 0.007866f, -0.005151f, 0.013341f, -0.004519f, -0.003934f, 0.011916f, 0.009652f, -0.012985f, 0.008090f, -0.003784f, 0.012992f, 0.014090f, -0.028833f, -0.005673f, 0.017191f, 0.004870f, 0.009200f, 0.007102f, 0.017023f, -0.008819f, 0.006620f, -0.000098f, -0.014979f, -0.007558f, -0.000748f, 0.002628f, -0.021827f, -0.002242f, 0.013248f, -0.011157f, 0.022472f, 0.016675f, -0.007225f, -0.000621f, 0.004043f, 0.008137f, 0.012989f, -0.005577f, -0.004628f, 0.021161f, -0.005423f, -0.000863f, 0.009073f, 0.000024f, 0.012308f, 0.009634f, 0.003839f, 0.006529f, 0.006966f, 0.006520f, 0.002905f, 0.002530f, -0.003313f, -0.005460f, -0.002422f, -0.005012f, -0.000845f, -0.003629f, 0.002091f, 0.001735f, -0.004873f, -0.004040f, -0.000841f, 0.003057f, 0.006764f, 0.005468f, 0.003051f, 0.000245f, 0.003219f, -0.006502f, -0.003030f, -0.003690f, 0.001064f, -0.002794f, 0.002865f, + -0.007493f, 0.000491f, -0.000553f, 0.005819f, 0.002007f, 0.000028f, 0.000626f, 0.006046f, 0.001506f, -0.005721f, 0.001375f, -0.000770f, 0.001044f, 0.005065f, -0.000585f, 0.001406f, -0.000513f, 0.055093f, -0.029153f, 0.003817f, 0.022581f, -0.002404f, 0.000593f, 0.029983f, 0.032862f, 0.003729f, -0.002757f, 0.006768f, -0.001827f, 0.007289f, 0.009270f, -0.012283f, -0.003949f, 0.019359f, 0.017012f, -0.008241f, -0.015976f, -0.016997f, -0.017704f, -0.009599f, 0.014261f, -0.011340f, 0.006111f, 0.000612f, -0.020659f, -0.001539f, -0.013820f, -0.001793f, 0.005587f, 0.008792f, -0.026727f, -0.012593f, -0.021338f, -0.006700f, 0.031650f, 0.004447f, -0.003154f, 0.002685f, -0.003174f, 0.001428f, 0.009146f, 0.005387f, 0.015653f, -0.000997f, 0.011621f, 0.006956f, -0.011405f, 0.006915f, -0.017208f, 0.000348f, -0.017287f, -0.017839f, 0.006392f, -0.019611f, 0.007891f, -0.000346f, 0.009615f, 0.007782f, 0.006843f, -0.010516f, 0.011808f, -0.017781f, -0.000694f, -0.008246f, -0.003085f, 0.022090f, 0.000459f, 0.011012f, 0.010665f, -0.002348f, -0.004560f, 0.008495f, -0.018693f, 0.007266f, 0.017104f, -0.026079f, + -0.019465f, -0.005378f, 0.012839f, -0.001290f, -0.016347f, 0.005971f, -0.002702f, 0.006796f, -0.006261f, 0.002051f, -0.003725f, 0.011424f, -0.002526f, 0.010506f, 0.005446f, 0.009814f, 0.003019f, 0.002699f, -0.005581f, 0.006643f, 0.002568f, -0.000251f, 0.003512f, 0.003361f, -0.002329f, 0.004964f, 0.003490f, -0.002432f, -0.003034f, -0.008505f, -0.002198f, -0.004853f, -0.000602f, -0.000205f, -0.003316f, 0.004387f, -0.001941f, 0.002584f, 0.000483f, 0.008901f, -0.007472f, 0.003340f, 0.001046f, 0.000403f, -0.001120f, -0.032634f, 0.006535f, 0.008367f, -0.021919f, 0.010468f, 0.000238f, 0.023774f, -0.005784f, -0.011502f, 0.010284f, -0.028513f, -0.009555f, 0.024767f, 0.011082f, -0.014451f, -0.035310f, 0.016279f, -0.004580f, 0.009113f, -0.022389f, -0.029803f, -0.020098f, 0.026500f, 0.002528f, 0.014789f, -0.002122f, -0.013452f, -0.020137f, 0.010061f, -0.005086f, -0.017484f, -0.020497f, 0.001891f, -0.018255f, -0.013958f, -0.007436f, -0.003310f, -0.019811f, 0.011695f, 0.013892f, 0.018644f, -0.008351f, 0.016615f, -0.012691f, 0.026074f, -0.004394f, -0.000993f, 0.019964f, 0.010454f, -0.004464f, -0.012783f, + -0.006211f, 0.019285f, 0.004755f, -0.013665f, 0.007097f, 0.020464f, 0.019367f, 0.008547f, -0.022822f, -0.025237f, -0.001912f, 0.005368f, 0.001974f, -0.018056f, 0.005909f, 0.020751f, 0.006275f, -0.008285f, -0.032438f, 0.009167f, -0.013899f, -0.031615f, 0.001378f, 0.002108f, -0.017712f, 0.026418f, -0.001505f, -0.010301f, -0.035107f, 0.000184f, -0.010068f, -0.001243f, 0.013695f, -0.007538f, -0.013196f, -0.000502f, 0.003427f, 0.003626f, -0.010386f, -0.010494f, -0.010459f, 0.004414f, -0.008979f, 0.001007f, -0.001319f, 0.001948f, -0.002232f, 0.003044f, 0.005135f, 0.004664f, 0.005817f, 0.003126f, 0.010165f, 0.012890f, 0.001068f, 0.004097f, 0.002652f, -0.004425f, -0.000991f, -0.003525f, 0.001890f, 0.001802f, 0.001098f, -0.011666f, 0.001795f, -0.000589f, -0.004050f, -0.000137f, -0.003604f, 0.004092f, -0.004486f, -0.004646f, -0.003411f, -0.040533f, 0.025988f, 0.020116f, 0.022126f, 0.003434f, 0.023369f, 0.002680f, -0.014376f, -0.016720f, 0.002963f, 0.018797f, -0.012344f, 0.004638f, -0.027156f, 0.019247f, 0.020458f, -0.009749f, -0.005271f, 0.004983f, 0.022376f, 0.016363f, -0.010905f, -0.009784f, + 0.015452f, -0.017661f, 0.006689f, -0.024276f, 0.000437f, -0.006903f, -0.032543f, -0.033700f, 0.007105f, 0.020044f, 0.009619f, -0.028716f, -0.015183f, 0.022640f, -0.024145f, -0.009842f, 0.020295f, -0.004934f, 0.025247f, -0.008293f, -0.016715f, 0.006900f, -0.024547f, 0.029298f, -0.002514f, 0.005519f, -0.012967f, -0.006473f, -0.000603f, -0.026719f, -0.015981f, 0.002570f, -0.003816f, 0.003094f, -0.008184f, -0.028392f, 0.006024f, -0.023444f, 0.011256f, -0.005628f, 0.017832f, -0.028343f, 0.013565f, 0.005283f, -0.007527f, 0.021769f, -0.002047f, -0.014352f, -0.027556f, -0.003449f, 0.006874f, -0.022419f, 0.017498f, -0.015041f, 0.011596f, -0.029640f, -0.029973f, 0.014911f, 0.012310f, -0.011935f, -0.008965f, 0.010056f, 0.007330f, -0.006210f, -0.004775f, -0.007955f, -0.009949f, -0.000684f, -0.016409f, -0.001527f, -0.001791f, 0.001559f, 0.005419f, -0.002897f, 0.005477f, -0.003033f, -0.000380f, -0.008986f, -0.003900f, -0.002262f, -0.000515f, 0.013887f, -0.003362f, -0.001678f, 0.008572f, -0.008296f, 0.006596f, 0.003627f, -0.002615f, -0.001851f, -0.007886f, -0.007730f, 0.000343f, -0.004440f, 0.001910f, 0.000739f, + -0.003125f, -0.005456f, 0.013341f, -0.012983f, 0.004436f, 0.015877f, 0.023444f, -0.006196f, 0.002601f, -0.008322f, -0.031306f, -0.006687f, -0.006701f, 0.013602f, -0.027498f, -0.000081f, -0.015864f, 0.017066f, -0.019236f, -0.026232f, 0.017449f, 0.008011f, 0.011352f, 0.036128f, -0.005955f, -0.010361f, 0.010197f, -0.023142f, -0.026988f, 0.002223f, 0.034579f, 0.010516f, 0.019416f, -0.013796f, -0.016967f, -0.027492f, 0.005501f, 0.035104f, -0.015726f, 0.018348f, 0.004225f, 0.027295f, -0.041754f, -0.013279f, -0.000692f, 0.004904f, 0.023795f, 0.011472f, -0.031818f, -0.008623f, -0.014762f, -0.001266f, -0.036636f, -0.005766f, -0.013181f, 0.002528f, -0.019276f, -0.001286f, 0.004488f, -0.053504f, 0.006143f, -0.016780f, 0.003297f, -0.021182f, -0.001141f, 0.013151f, 0.006735f, -0.007209f, -0.006766f, -0.028221f, 0.028378f, 0.027245f, 0.009003f, 0.006787f, -0.024463f, 0.037363f, 0.013033f, 0.019256f, -0.007340f, -0.058842f, 0.022951f, -0.002027f, 0.044158f, 0.041449f, 0.013101f, -0.005338f, 0.018290f, 0.000955f, 0.016022f, 0.000849f, 0.001859f, -0.010424f, 0.005008f, -0.009524f, -0.005054f, -0.002666f, + 0.019272f, -0.000289f, 0.001192f, 0.004928f, -0.001190f, -0.010405f, -0.005313f, 0.001756f, 0.007836f, -0.003691f, 0.003919f, -0.006116f, 0.008155f, -0.006399f, -0.009777f, -0.005011f, -0.001383f, 0.004567f, 0.001812f, -0.002125f, -0.001672f, -0.002174f, 0.012734f, -0.002794f, 0.000767f, 0.002081f, 0.006369f, 0.050659f, 0.017862f, 0.034670f, -0.033646f, 0.007819f, 0.035352f, -0.010625f, -0.012741f, 0.004997f, -0.021862f, 0.016693f, 0.004230f, -0.025532f, -0.033432f, -0.002512f, 0.028356f, -0.000734f, -0.002285f, 0.018553f, -0.027703f, -0.007058f, -0.022805f, 0.012809f, -0.038863f, 0.000641f, -0.008309f, 0.014134f, -0.040590f, -0.028043f, -0.017737f, 0.011896f, 0.013062f, 0.009041f, -0.013168f, 0.009863f, -0.009797f, 0.012033f, -0.008037f, -0.003556f, -0.002796f, -0.011399f, 0.007721f, 0.017962f, 0.010693f, 0.018083f, -0.001491f, -0.017543f, 0.002498f, -0.017468f, 0.046531f, -0.011762f, -0.045776f, -0.014262f, 0.012509f, 0.039757f, -0.039797f, -0.016409f, -0.002596f, 0.025564f, 0.001634f, -0.056318f, -0.006918f, 0.025989f, 0.053673f, 0.001987f, 0.037365f, 0.053837f, -0.004010f, 0.017330f, + 0.025434f, -0.007042f, 0.045877f, -0.006167f, 0.055402f, 0.008823f, -0.015228f, -0.048052f, -0.030105f, 0.000357f, 0.014447f, 0.006903f, -0.007320f, -0.009339f, -0.014937f, -0.020381f, -0.018118f, 0.022040f, 0.006440f, -0.000269f, -0.031601f, -0.003570f, 0.001155f, -0.005768f, -0.017976f, 0.004689f, 0.009503f, -0.002722f, -0.009321f, -0.006795f, -0.017613f, -0.010631f, -0.005187f, 0.011089f, -0.002185f, -0.009585f, 0.009594f, -0.013770f, 0.009888f, 0.009994f, -0.008640f, -0.016689f, 0.015239f, 0.022658f, 0.003457f, 0.000695f, 0.001366f, 0.013203f, -0.003951f, -0.015783f, 0.001849f, 0.015304f, 0.012665f, -0.015670f, -0.013318f, 0.002445f, 0.002501f, 0.000228f, 0.004521f, -0.002447f, 0.021233f, 0.025718f, -0.044317f, -0.043115f, 0.011340f, -0.010113f, 0.001301f, -0.017201f, 0.040116f, -0.018114f, -0.011597f, 0.013893f, 0.010006f, 0.000319f, -0.018426f, -0.013514f, -0.022410f, 0.008942f, -0.001350f, -0.010878f, -0.001839f, 0.026647f, 0.040062f, -0.043453f, -0.002826f, -0.042390f, -0.004565f, -0.011006f, 0.041899f, -0.017782f, -0.016989f, -0.008217f, 0.025477f, 0.008415f, 0.006988f, 0.010642f, + 0.010159f, -0.007643f, 0.000444f, -0.005556f, 0.006759f, -0.005071f, 0.039217f, -0.010292f, 0.010366f, 0.027597f, -0.014463f, -0.031799f, 0.007003f, 0.010760f, -0.011226f, -0.012229f, -0.002714f, 0.006473f, 0.019863f, -0.027243f, 0.036380f, 0.053538f, 0.035944f, -0.015095f, -0.021746f, -0.049673f, -0.064094f, -0.023611f, -0.000306f, -0.011637f, -0.003308f, -0.007344f, 0.015247f, -0.001381f, -0.024796f, 0.012935f, -0.011017f, -0.002410f, 0.023434f, 0.039141f, -0.009662f, 0.010961f, -0.006962f, 0.002093f, 0.035619f, 0.017972f, 0.030453f, 0.031014f, -0.024896f, -0.007694f, -0.005756f, 0.000827f, -0.000637f, 0.011003f, 0.000695f, 0.006724f, 0.031225f, 0.001248f, 0.014553f, -0.006688f, -0.006937f, -0.012874f, -0.004003f, 0.001767f, 0.014186f, -0.004013f, -0.011930f, -0.005635f, 0.006795f, -0.004983f, -0.002726f, -0.003731f, 0.004268f, 0.001074f, -0.004670f, -0.002541f, 0.003135f, 0.001529f, 0.001573f, 0.017993f, -0.007454f, 0.000391f, 0.002279f, 0.000205f, -0.010021f, 0.004498f, 0.005559f, 0.011468f, -0.022999f, 0.042919f, 0.019206f, 0.024339f, 0.036630f, 0.056689f, -0.022029f, 0.029246f, + -0.058733f, -0.007392f, -0.026443f, -0.057725f, 0.023117f, 0.013445f, 0.017353f, 0.007512f, 0.022640f, 0.006777f, -0.041584f, 0.034690f, 0.061443f, -0.009406f, -0.010081f, 0.014901f, 0.005953f, -0.013059f, -0.055097f, 0.004311f, 0.000026f, -0.005186f, 0.000574f, 0.018496f, -0.039436f, 0.008308f, 0.010986f, -0.008272f, -0.022817f, -0.011239f, -0.025410f, 0.025511f, -0.056552f, -0.008375f, -0.036432f, 0.019943f, 0.007989f, 0.020226f, -0.007340f, 0.005360f, -0.014580f, 0.034306f, 0.010230f, 0.028125f, -0.025933f, 0.027641f, -0.000789f, -0.027472f, 0.056162f, -0.009543f, 0.006742f, 0.037826f, -0.036702f, 0.042423f, 0.025328f, -0.033628f, 0.013949f, -0.012988f, 0.018588f, -0.046507f, 0.033692f, 0.004583f, 0.011746f, -0.004560f, 0.010816f, -0.037811f, 0.023797f, 0.042475f, -0.084957f, 0.008451f, 0.081674f, -0.053061f, -0.017097f, 0.005558f, 0.039746f, 0.028062f, 0.009707f, 0.024490f, -0.011282f, 0.014679f, -0.006330f, -0.018319f, 0.008832f, -0.004272f, -0.003161f, 0.015160f, 0.022207f, -0.002141f, -0.008791f, -0.007674f, 0.006498f, 0.014010f, -0.018997f, -0.007311f, -0.013029f, -0.008276f, + -0.016990f, 0.016664f, 0.022226f, -0.004942f, 0.010188f, -0.006587f, 0.004092f, 0.013969f, 0.015959f, -0.018704f, 0.001502f, 0.006599f, -0.009757f, 0.014441f, 0.000701f, -0.000535f, 0.013251f, 0.006556f, -0.016032f, -0.013624f, 0.004515f, 0.001887f, -0.004853f, 0.002477f, 0.034359f, -0.020783f, -0.025022f, -0.000790f, -0.023954f, -0.010893f, -0.063311f, -0.054052f, -0.007455f, -0.031011f, -0.037212f, -0.026852f, 0.016533f, -0.009565f, -0.018838f, -0.030266f, 0.027953f, 0.001871f, -0.045708f, -0.007218f, -0.000256f, -0.021765f, -0.006841f, 0.018545f, 0.013342f, -0.003227f, 0.000174f, 0.000855f, -0.011467f, 0.009739f, 0.021351f, -0.008019f, -0.005084f, 0.032750f, -0.061549f, -0.010049f, 0.017339f, 0.065620f, -0.027168f, -0.017054f, -0.024475f, -0.033338f, 0.014545f, 0.069628f, 0.012954f, 0.043117f, 0.008929f, -0.007120f, -0.003621f, -0.005192f, -0.033590f, 0.007328f, 0.007629f, -0.027405f, 0.006088f, 0.054362f, -0.008800f, -0.016828f, 0.009152f, -0.019587f, -0.004453f, 0.047941f, 0.070984f, 0.019094f, 0.042628f, 0.049175f, -0.017438f, -0.020621f, 0.005646f, -0.016330f, 0.002836f, -0.048766f, + -0.000397f, -0.038019f, 0.011580f, 0.007847f, 0.023163f, -0.039584f, -0.014724f, -0.013558f, -0.015438f, -0.012457f, -0.013811f, 0.021914f, 0.004786f, 0.028267f, -0.007157f, 0.010715f, 0.028399f, -0.005309f, 0.001051f, -0.004218f, -0.011209f, -0.009163f, -0.001492f, -0.006955f, -0.010297f, -0.000297f, 0.004346f, -0.005480f, 0.001967f, 0.013115f, -0.013225f, -0.012222f, 0.000972f, 0.009791f, 0.005216f, -0.006526f, -0.019617f, -0.019297f, -0.002279f, 0.004341f, -0.011606f, -0.006667f, 0.004204f, -0.004129f, 0.002143f, 0.001232f, 0.013544f, 0.004348f, 0.003509f, -0.014927f, 0.016419f, -0.007051f, -0.015836f, 0.049802f, 0.056337f, -0.023428f, 0.128203f, -0.018291f, 0.002371f, -0.024424f, 0.014588f, -0.010677f, 0.014392f, 0.032476f, 0.008802f, -0.031450f, -0.017324f, -0.032836f, -0.001103f, -0.022490f, -0.040495f, 0.004752f, 0.025345f, -0.004987f, 0.006978f, 0.011690f, 0.014634f, -0.000842f, -0.012077f, -0.015659f, 0.007094f, -0.000708f, -0.020460f, 0.007204f, 0.054811f, 0.038519f, 0.021695f, -0.047563f, 0.033166f, 0.025744f, -0.012928f, -0.014941f, -0.014911f, -0.019396f, -0.008629f, 0.014603f, + -0.034535f, 0.002636f, 0.003693f, 0.019784f, 0.052238f, 0.009578f, 0.010400f, 0.002256f, -0.006856f, -0.011297f, 0.022352f, -0.014495f, 0.052762f, 0.016529f, -0.005689f, 0.022728f, 0.003903f, -0.036541f, -0.026374f, 0.029682f, 0.034404f, 0.012365f, -0.009269f, 0.022614f, 0.024464f, 0.034988f, 0.069052f, 0.006853f, -0.020527f, -0.036385f, -0.024419f, 0.017467f, 0.003412f, 0.005247f, -0.003828f, 0.023867f, 0.002083f, -0.003579f, -0.032988f, -0.016606f, 0.033311f, 0.037337f, -0.014029f, -0.026374f, -0.031289f, -0.009516f, 0.016017f, 0.009806f, 0.002543f, -0.011006f, 0.002183f, -0.000596f, -0.014123f, -0.000454f, -0.030594f, -0.008407f, -0.001634f, 0.021033f, -0.004372f, -0.007111f, -0.000314f, 0.016956f, -0.010967f, 0.011994f, -0.006992f, -0.014699f, 0.011780f, 0.016757f, 0.010691f, 0.011693f, -0.002026f, 0.012561f, 0.024422f, 0.010303f, 0.010180f, 0.006579f, -0.009615f, -0.004697f, 0.000258f, -0.002758f, 0.007048f, -0.007547f, 0.011783f, 0.015219f, 0.008901f, 0.000620f, -0.012385f, 0.004191f, 0.003955f, 0.012252f, 0.020061f, -0.020820f, 0.091258f, -0.014501f, 0.003067f, 0.009410f, + -0.007801f, -0.002071f, 0.022241f, -0.017907f, -0.021110f, -0.011401f, 0.028938f, 0.025853f, -0.072042f, 0.012979f, 0.011331f, 0.028379f, -0.019055f, -0.028827f, -0.027608f, 0.019643f, 0.017585f, -0.029422f, -0.016525f, -0.012493f, 0.047079f, 0.023410f, 0.012639f, -0.009979f, -0.050449f, 0.013384f, 0.011675f, 0.024916f, -0.006965f, 0.012937f, -0.014582f, 0.004185f, -0.043929f, 0.017260f, 0.016823f, -0.000005f, -0.011501f, -0.027672f, -0.054433f, 0.034152f, -0.023397f, 0.017265f, 0.017539f, 0.030115f, 0.003482f, -0.033276f, 0.053582f, 0.010060f, -0.053964f, -0.025249f, 0.031019f, 0.006991f, 0.040856f, 0.017046f, 0.006078f, -0.038457f, -0.019516f, 0.020594f, -0.066696f, 0.070422f, -0.051478f, 0.002325f, 0.041801f, -0.011986f, 0.083643f, 0.012123f, 0.014524f, -0.031111f, 0.097569f, 0.009738f, 0.063206f, -0.043953f, -0.020220f, -0.014173f, 0.024196f, -0.003143f, -0.010740f, 0.044142f, -0.037638f, 0.042566f, -0.051844f, 0.010561f, 0.004476f, 0.008894f, -0.010615f, 0.037500f, -0.005271f, 0.018922f, 0.016329f, 0.024789f, 0.013609f, 0.007013f, 0.016925f, 0.019295f, -0.000015f, 0.006878f, + 0.001475f, -0.013621f, 0.016144f, 0.000199f, 0.010875f, 0.023477f, 0.011211f, 0.001229f, -0.001931f, 0.017926f, 0.018849f, 0.009526f, -0.011891f, 0.039590f, -0.002556f, -0.008230f, -0.008534f, 0.025335f, -0.020208f, 0.008648f, -0.005087f, 0.013520f, 0.000055f, 0.005482f, 0.006729f, -0.005679f, -0.005207f, 0.003686f, 0.006786f, 0.006404f, 0.007125f, 0.010066f, -0.010618f, 0.033099f, 0.076739f, 0.025994f, 0.048500f, 0.061553f, -0.001781f, 0.070464f, -0.052876f, -0.018482f, -0.019383f, -0.017013f, 0.008301f, 0.012124f, -0.003757f, -0.022991f, -0.045342f, 0.045047f, 0.042685f, 0.018470f, 0.038640f, -0.061199f, -0.052754f, 0.018787f, 0.026461f, -0.027918f, -0.039339f, 0.026387f, -0.011823f, -0.057017f, -0.020361f, -0.010305f, 0.029404f, -0.052379f, 0.030223f, 0.020615f, 0.024128f, -0.024152f, -0.000623f, -0.023888f, -0.009918f, -0.070021f, -0.016356f, 0.034913f, -0.111135f, -0.034850f, -0.003413f, -0.001874f, 0.004762f, -0.066758f, -0.015877f, -0.100865f, -0.007560f, 0.020667f, -0.027993f, -0.031150f, -0.012225f, 0.031126f, -0.009397f, -0.036004f, -0.040803f, -0.105310f, -0.036827f, 0.050135f, + -0.045928f, -0.070708f, 0.060618f, -0.018186f, -0.079177f, 0.024780f, 0.073335f, -0.038166f, -0.016584f, 0.009285f, -0.051575f, 0.065717f, 0.029913f, 0.042245f, -0.020859f, -0.004128f, 0.022433f, 0.062586f, 0.029929f, 0.010269f, -0.018890f, -0.003869f, 0.071473f, 0.007316f, 0.011991f, -0.004730f, -0.040523f, -0.018008f, 0.034115f, -0.000303f, 0.003110f, -0.006312f, -0.036071f, -0.002405f, 0.017088f, -0.022612f, 0.028352f, -0.035098f, -0.021725f, 0.007691f, -0.011403f, 0.018820f, 0.008543f, -0.031932f, 0.014340f, 0.016586f, 0.009812f, 0.006517f, -0.012020f, 0.008080f, 0.000779f, -0.007555f, -0.021800f, 0.011727f, 0.010433f, -0.002346f, 0.018415f, -0.025104f, 0.003999f, -0.024033f, 0.001801f, 0.006744f, -0.007462f, -0.003935f, -0.000062f, 0.009881f, 0.002571f, -0.007010f, 0.001564f, 0.087237f, 0.120792f, -0.019454f, -0.004233f, -0.047999f, -0.048262f, -0.082886f, 0.034472f, -0.014502f, 0.120678f, -0.026096f, -0.052869f, -0.073478f, 0.003757f, 0.022153f, -0.027439f, 0.022319f, 0.078747f, -0.031965f, -0.014597f, -0.055908f, -0.025650f, 0.052995f, 0.061322f, -0.062855f, -0.018122f, 0.031246f, + -0.013925f, 0.013455f, -0.019073f, 0.077153f, 0.061896f, 0.131975f, 0.042754f, 0.057988f, -0.026580f, 0.041383f, 0.089221f, 0.028410f, -0.006185f, 0.020216f, -0.003478f, 0.057754f, 0.030136f, 0.084542f, 0.023589f, -0.086721f, 0.029783f, 0.032485f, 0.070428f, -0.040377f, -0.034154f, 0.040323f, 0.044114f, -0.021933f, 0.070830f, -0.025634f, 0.028827f, -0.078993f, 0.049180f, -0.019063f, 0.026817f, 0.027174f, 0.062100f, 0.053413f, -0.043368f, -0.045611f, -0.014765f, 0.064786f, 0.065887f, -0.025633f, -0.037032f, -0.071186f, -0.008305f, 0.049006f, 0.056054f, 0.036858f, -0.016722f, -0.047310f, -0.044379f, -0.008195f, 0.030431f, -0.031096f, 0.042534f, 0.010028f, 0.029645f, 0.004794f, -0.015454f, 0.033396f, 0.021200f, -0.005572f, -0.014609f, 0.010166f, 0.028608f, -0.042162f, 0.016625f, 0.020459f, 0.027899f, 0.014973f, 0.039528f, -0.013500f, 0.013838f, -0.018981f, -0.027375f, 0.015380f, 0.033293f, 0.029040f, 0.044756f, -0.000782f, -0.000720f, 0.013167f, 0.011806f, 0.079813f, 0.015245f, -0.003682f, -0.035144f, -0.000086f, 0.051114f, 0.025789f, 0.039468f, 0.022816f, -0.001245f, 0.000486f, + -0.008994f, -0.000542f, 0.049191f, 0.040716f, 0.004174f, 0.015121f, -0.005101f, -0.008272f, 0.001690f, 0.020674f, 0.015685f, 0.013697f, -0.010760f, -0.010520f, 0.011843f, -0.030758f, -0.099449f, 0.005885f, 0.149768f, 0.089098f, -0.022122f, -0.222025f, -0.032705f, -0.023425f, 0.016175f, -0.026122f, 0.003054f, 0.022100f, -0.009597f, 0.009014f, -0.049261f, 0.029789f, 0.035765f, 0.067410f, -0.050604f, -0.063301f, 0.063345f, 0.101388f, 0.024535f, -0.046310f, -0.061810f, -0.013852f, 0.013929f, 0.004903f, 0.014861f, -0.000418f, 0.021176f, 0.008283f, 0.065408f, -0.022089f, -0.093076f, -0.040479f, 0.028083f, 0.010072f, -0.033142f, -0.040834f, 0.003885f, 0.042568f, 0.075322f, 0.069819f, -0.003015f, 0.000546f, 0.027380f, -0.027862f, -0.080688f, 0.023456f, -0.050942f, 0.094450f, 0.102619f, -0.002665f, 0.027816f, 0.014372f, 0.019148f, -0.046591f, -0.008289f, 0.098591f, -0.039007f, 0.000443f, -0.136320f, -0.018338f, 0.013515f, 0.030714f, 0.027578f, 0.027467f, -0.035087f, -0.021341f, 0.059168f, 0.088862f, -0.017551f, -0.004198f, 0.006841f, 0.035607f, 0.041696f, -0.020538f, 0.012777f, -0.048836f, + -0.059236f, 0.005625f, 0.013804f, 0.021010f, -0.008958f, -0.009174f, -0.012847f, -0.012516f, 0.037153f, -0.000382f, -0.009395f, -0.020742f, -0.003725f, 0.024102f, 0.019824f, -0.011821f, 0.027856f, 0.006823f, 0.043472f, 0.003740f, 0.005838f, 0.001507f, -0.018333f, -0.013669f, -0.010362f, -0.010598f, -0.005487f, -0.013698f, -0.012037f, 0.003594f, 0.035504f, 0.043102f, 0.010235f, 0.022476f, 0.005818f, 0.007982f, 0.034489f, -0.026609f, 0.025486f, 0.010385f, 0.043468f, -0.012151f, 0.009232f, 0.008793f, -0.021708f, 0.014967f, -0.011932f, 0.015303f, -0.008305f, 0.025912f, -0.012157f, -0.015523f, 0.009434f, 0.005990f, 0.002867f, 0.010539f, 0.002960f, 0.018624f, -0.000018f, 0.007294f, -0.000323f, 0.006918f, 0.002585f, 0.006022f, 0.007964f, 0.009150f, -0.002685f, 0.002191f, -0.001499f, 0.012046f, 0.004209f, 0.009142f, -0.001968f, 0.002512f, 0.001539f, 0.006830f, 0.000283f, 0.007660f, -0.003000f, 0.010431f, -0.011490f, -0.099299f, -0.041082f, 0.079501f, 0.087600f, 0.083215f, 0.112794f, 0.019432f, -0.048523f, -0.148736f, -0.112934f, -0.021216f, 0.031547f, 0.094365f, 0.102613f, 0.048581f, + 0.002307f, -0.049888f, -0.043218f, -0.019127f, 0.032053f, 0.088095f, 0.050028f, -0.011541f, 0.003225f, -0.007112f, -0.048322f, -0.066081f, -0.054126f, 0.010224f, 0.081079f, 0.060962f, 0.121912f, 0.079348f, 0.078512f, 0.110531f, -0.032166f, -0.076249f, -0.086822f, -0.115240f, -0.142000f, -0.053531f, -0.016749f, 0.042248f, 0.078190f, 0.112985f, 0.105522f, 0.085814f, 0.054252f, 0.108542f, -0.021225f, -0.068518f, -0.003228f, -0.017406f, 0.028694f, 0.032887f, 0.129486f, 0.113142f, -0.042068f, 0.020348f, -0.029472f, -0.086524f, -0.025571f, 0.023058f, -0.052148f, 0.080552f, -0.032257f, 0.026824f, 0.006828f, -0.009112f, 0.069604f, 0.096820f, 0.077117f, 0.054362f, -0.040240f, -0.097765f, -0.111397f, 0.031872f, -0.046999f, 0.008663f, -0.005420f, 0.062949f, 0.009757f, 0.035675f, -0.030112f, -0.068458f, -0.063708f, -0.099773f, -0.086943f, 0.037025f, 0.020679f, 0.050454f, 0.075629f, 0.059088f, 0.002152f, -0.044445f, -0.072031f, -0.097378f, -0.053503f, -0.024740f, -0.036044f, 0.016292f, -0.013199f, -0.011123f, -0.011726f, -0.029413f, 0.000099f, -0.012933f, -0.019873f, -0.023284f, -0.015174f, -0.002900f, + 0.015371f, -0.028186f, -0.018035f, 0.005809f, 0.017099f, -0.007213f, 0.041456f, 0.004061f, -0.222613f, -0.234304f, -0.243701f, -0.249801f, -0.330039f, -0.035912f, -0.093419f, -0.022685f, 0.030745f, 0.150215f, 0.170754f, 0.176532f, 0.247170f, 0.341686f, 0.327426f, 0.321755f, 0.258530f, 0.186682f, 0.135671f, 0.040712f, -0.156013f, -0.074929f, -0.092197f, -0.057152f, -0.187351f, -0.031171f, -0.077574f, -0.085486f, -0.155032f, -0.119204f, -0.121215f, -0.109871f, -0.114706f, -0.201611f, -0.178477f, -0.105397f, -0.095237f, -0.119703f, -0.165725f, -0.025282f, -0.145121f, -0.275125f, -0.235672f, -0.207001f, -0.109083f, -0.140662f, -0.025121f, -0.284771f, -0.126067f, -0.126198f, -0.058281f, -0.042599f, -0.146595f, 0.006391f, -0.146872f, -0.017844f, 0.022872f, 0.068715f, 0.006157f, 0.070623f, 0.105597f, 0.165928f, 0.176989f, 0.243385f, 0.159101f, 0.381991f, 0.241454f, 0.444647f, 0.302377f, 0.442967f, 0.513946f, 0.610155f, 0.501284f, 0.504558f, 0.568799f, 0.510247f, 0.518330f, 0.504330f, 0.437396f, 0.252938f, 0.202226f, 0.142568f, 0.104067f, 0.121669f, 0.181762f, 0.100055f, -0.036919f, -0.063416f, + -0.073012f, -0.125556f, -0.162742f, -0.198571f, -0.182736f, -0.300457f, -0.290912f, -0.299795f, -0.362962f, -0.319806f, -0.403180f, -0.357178f, -0.418913f, -0.430402f, -0.405307f, -0.447397f, -0.404437f, -0.451776f, -0.358474f, -0.351419f, -0.291140f, -0.310909f, -0.320294f, -0.225381f, -0.201668f, -0.154310f, -0.078552f, 0.026113f, 0.085682f, 0.074928f, 0.095917f, 0.085681f, 0.096952f, 0.111262f, 0.159220f, 0.191218f, 0.172971f, 0.155463f, 0.190260f, 0.176921f, 0.218860f, 0.199134f, 0.145616f, 0.132449f, 0.115260f, 0.101440f, 0.063899f, 0.048413f, 0.045145f, 0.028290f, 0.031174f, 0.012261f, 0.020231f, 0.017640f, 0.012149f, 0.017714f, 0.012940f, 0.007630f, 0.002774f, -0.007087f, -0.001097f, -0.000277f, -0.019011f, -0.030373f, -0.017434f, -0.015340f, -0.020018f, -0.019668f, -0.012248f, -0.014637f, -0.020973f, -0.028083f, -0.021578f, -0.014168f, -0.011636f, -0.007535f, -0.009120f, -0.006905f, -0.001211f, 0.005776f, 0.010108f, 0.009258f, 0.005049f, 0.004274f, 0.010613f, 0.015988f, 0.011357f, 0.011055f, 0.005321f, 0.002460f, 0.006780f, 0.005695f, 0.005799f, 0.004498f, 0.004669f, 0.001869f, + -0.003478f, 0.004846f, 0.011937f, 0.011529f, 0.013867f, 0.014980f, 0.021724f, 0.025490f, 0.025862f, 0.027655f, 0.029314f, 0.031971f, 0.034663f, 0.034782f, 0.032600f, 0.031398f, 0.034564f, 0.028039f, 0.024297f, 0.021475f, 0.018463f, 0.012404f, 0.009994f, 0.004077f, 0.002847f, -0.000548f, -0.006503f, -0.012283f, -0.017819f, -0.019363f, -0.024522f, -0.025304f, -0.024752f, -0.024908f, -0.027598f, -0.029076f, -0.026939f, -0.026210f, -0.023851f, -0.021937f, -0.020191f, -0.017986f, -0.013968f, -0.010167f, -0.007678f, -0.006133f, -0.004333f, -0.003317f, -0.002417f, -0.002098f, -0.001614f, -0.001513f, -0.001384f, -0.001258f}, + {0.031697f, 0.004158f, -0.010457f, 0.004906f, 0.005569f, 0.001907f, -0.013233f, 0.005995f, 0.009326f, -0.010115f, -0.003060f, -0.012386f, -0.002754f, -0.005279f, -0.004567f, -0.001808f, 0.000645f, -0.000457f, 0.001217f, 0.004416f, -0.005545f, 0.002435f, -0.012699f, 0.004331f, 0.007739f, 0.001629f, -0.003370f, -0.010289f, 0.006666f, -0.004535f, 0.010808f, 0.009231f, -0.000442f, -0.004333f, 0.008802f, 0.010288f, 0.008251f, 0.008363f, 0.002040f, -0.006458f, 0.001971f, 0.007910f, -0.003376f, -0.006746f, 0.005991f, 0.009542f, -0.004250f, 0.004971f, -0.010937f, -0.000924f, -0.009600f, 0.006492f, -0.012763f, -0.003460f, -0.002421f, 0.004327f, 0.006285f, 0.004465f, -0.000417f, -0.006765f, 0.000770f, -0.009349f, -0.006210f, 0.001681f, -0.001211f, -0.005647f, 0.003015f, 0.003133f, 0.000745f, 0.005859f, -0.005297f, 0.002508f, -0.007135f, -0.002833f, -0.003070f, 0.003874f, -0.003729f, -0.007515f, -0.003418f, -0.002816f, 0.010245f, 0.008836f, 0.002187f, -0.004729f, 0.000550f, -0.000573f, 0.001739f, 0.003534f, 0.000592f, 0.000176f, 0.000564f, -0.000170f, 0.000087f, -0.001349f, 0.000965f, -0.003970f, + 0.000121f, -0.000325f, 0.001560f, 0.000827f, -0.001284f, -0.001750f, 0.000292f, 0.000689f, 0.000684f, -0.000335f, 0.000036f, -0.000798f, 0.018146f, -0.018196f, 0.000738f, 0.000368f, -0.004572f, -0.005430f, -0.005784f, 0.001934f, -0.010233f, -0.010097f, 0.001482f, 0.004971f, -0.000328f, 0.005882f, 0.004599f, -0.005532f, 0.002348f, -0.019965f, -0.004845f, -0.004428f, -0.004605f, -0.006264f, -0.006905f, -0.017591f, -0.013648f, 0.001925f, 0.004182f, -0.000903f, 0.009602f, 0.007680f, 0.003268f, -0.003353f, -0.001847f, 0.008989f, -0.003397f, 0.001154f, -0.001245f, -0.009349f, 0.003203f, -0.003099f, -0.006340f, -0.002428f, 0.007743f, 0.018605f, -0.007015f, 0.002119f, 0.004581f, -0.003386f, 0.005907f, 0.002659f, -0.006421f, 0.003828f, -0.015272f, -0.007054f, 0.000239f, 0.006320f, 0.009810f, -0.005925f, -0.002703f, -0.000621f, -0.022160f, 0.003844f, 0.011562f, 0.000666f, 0.001739f, 0.006334f, -0.003546f, 0.009861f, 0.013307f, -0.001630f, 0.003833f, 0.008000f, 0.007625f, 0.001546f, 0.000486f, -0.003647f, -0.005237f, -0.003274f, 0.002418f, -0.005011f, 0.011128f, 0.007471f, -0.000173f, -0.005360f, + -0.002693f, 0.006410f, 0.007563f, -0.003707f, 0.005886f, -0.003498f, 0.001656f, -0.003567f, -0.002110f, -0.002433f, 0.000774f, 0.000207f, 0.000506f, 0.000535f, -0.000336f, -0.001162f, -0.000862f, -0.004776f, -0.015610f, 0.003633f, 0.000586f, -0.015100f, 0.002329f, 0.008482f, 0.012480f, 0.003214f, -0.008950f, 0.021137f, -0.002819f, -0.004150f, 0.009948f, -0.006127f, -0.005960f, 0.001028f, -0.007696f, 0.009426f, 0.009431f, -0.003798f, -0.014193f, -0.007014f, 0.007093f, -0.009142f, 0.020118f, 0.017352f, -0.013842f, -0.016955f, 0.000630f, 0.003181f, -0.016120f, -0.001049f, 0.006694f, 0.004534f, -0.007879f, -0.004591f, 0.018553f, -0.001961f, 0.012779f, -0.001260f, -0.004116f, -0.004303f, -0.009515f, 0.001666f, -0.001328f, 0.010001f, -0.008504f, 0.002317f, -0.002207f, 0.001861f, -0.004995f, -0.000657f, 0.008466f, 0.006705f, -0.010529f, 0.016456f, 0.001393f, -0.000074f, -0.000227f, -0.001506f, 0.004500f, -0.002268f, -0.014693f, -0.002091f, -0.007740f, 0.012831f, 0.005415f, 0.000334f, 0.015802f, -0.008721f, 0.010585f, 0.010367f, 0.000996f, -0.007672f, -0.001524f, -0.001635f, -0.000122f, -0.002185f, + -0.003133f, 0.004356f, 0.004667f, -0.006969f, 0.003390f, -0.000415f, 0.004938f, 0.004313f, -0.001375f, 0.000671f, -0.002108f, -0.003278f, 0.002389f, -0.003018f, -0.002487f, 0.001286f, 0.003362f, -0.003048f, -0.002210f, -0.003965f, -0.001640f, 0.002374f, -0.001450f, -0.000584f, 0.000110f, 0.001201f, -0.002130f, -0.001255f, 0.003115f, 0.001005f, -0.000582f, -0.000969f, -0.003365f, -0.000146f, 0.001798f, 0.001030f, -0.037529f, 0.008769f, 0.002143f, 0.026956f, -0.001327f, 0.010907f, -0.014309f, 0.003232f, -0.010692f, -0.002464f, -0.005177f, -0.001580f, 0.005052f, -0.002776f, 0.004726f, 0.009170f, 0.007030f, 0.025600f, 0.017704f, -0.011438f, 0.005964f, -0.000493f, 0.004825f, 0.003133f, -0.003128f, -0.025182f, 0.006533f, -0.001165f, -0.000123f, 0.009735f, -0.001384f, -0.006932f, -0.004786f, -0.001067f, -0.007737f, -0.004096f, -0.020102f, -0.004616f, 0.000657f, -0.007015f, -0.001145f, 0.008513f, 0.012123f, -0.003751f, 0.014951f, -0.010962f, 0.002565f, 0.005195f, 0.002067f, -0.003311f, -0.007680f, 0.005651f, -0.001837f, 0.003531f, -0.005674f, -0.008122f, 0.001665f, 0.004935f, -0.008205f, 0.008077f, + -0.005566f, 0.019054f, 0.020205f, -0.005973f, 0.007458f, 0.007841f, -0.000913f, -0.002473f, -0.002566f, -0.024396f, 0.010381f, 0.010100f, 0.000433f, -0.003996f, -0.010114f, 0.001209f, -0.002876f, -0.012366f, -0.027866f, 0.001971f, -0.006808f, 0.007316f, 0.000132f, 0.000020f, -0.004543f, -0.003032f, -0.005136f, -0.000390f, 0.003007f, -0.003520f, 0.004402f, -0.004365f, -0.002469f, -0.001765f, -0.000980f, 0.002424f, 0.002043f, -0.001382f, 0.001021f, 0.000765f, 0.001679f, 0.002633f, 0.002075f, -0.001176f, -0.002824f, 0.002242f, -0.001107f, -0.002081f, 0.000963f, 0.000859f, -0.001159f, 0.001696f, 0.002686f, 0.001002f, -0.000193f, -0.008127f, -0.012371f, 0.012216f, 0.006935f, -0.001138f, 0.014135f, -0.007682f, 0.012675f, -0.014414f, -0.013832f, 0.006636f, -0.022036f, -0.007855f, 0.005485f, 0.013309f, 0.017429f, -0.003124f, 0.012996f, -0.000527f, 0.012376f, 0.004522f, 0.001966f, -0.002120f, 0.000627f, 0.012329f, -0.005966f, -0.001382f, 0.002206f, 0.000999f, -0.012274f, -0.001600f, -0.006681f, 0.025195f, -0.012130f, -0.012325f, -0.003021f, 0.011832f, 0.011942f, 0.010212f, 0.013727f, -0.002467f, + 0.002486f, -0.003139f, -0.006878f, 0.005129f, -0.000658f, -0.001388f, -0.007858f, 0.019738f, 0.012185f, -0.006213f, 0.003739f, 0.005772f, -0.010493f, 0.002133f, 0.007669f, -0.002039f, 0.014835f, -0.006094f, -0.001963f, -0.016254f, -0.006130f, -0.013834f, 0.000584f, 0.018866f, -0.007490f, 0.005261f, 0.003220f, 0.000562f, -0.005200f, -0.001850f, 0.000144f, -0.004729f, 0.009079f, -0.009450f, -0.004434f, -0.000928f, 0.019967f, 0.003069f, -0.000139f, 0.006215f, -0.005461f, -0.015096f, 0.003702f, 0.001411f, -0.002404f, 0.000987f, 0.003670f, -0.001093f, 0.000745f, 0.007188f, 0.001369f, -0.000689f, 0.001724f, 0.000003f, -0.000985f, -0.001846f, 0.006761f, -0.000437f, 0.000563f, -0.006295f, 0.003751f, 0.000850f, 0.003736f, -0.001025f, -0.002545f, -0.000871f, 0.001900f, 0.002954f, 0.001987f, -0.005154f, 0.000253f, 0.003461f, -0.001100f, -0.006474f, -0.004282f, -0.035659f, 0.025592f, 0.002553f, -0.013216f, -0.031514f, -0.003277f, 0.000636f, -0.018704f, -0.001836f, 0.008486f, 0.007199f, 0.000527f, -0.005527f, 0.006688f, 0.022246f, 0.022584f, -0.009907f, -0.010838f, -0.024822f, 0.004778f, -0.004613f, + 0.023801f, -0.009930f, -0.000679f, -0.005791f, 0.008867f, -0.002859f, -0.024698f, 0.007890f, -0.001299f, -0.014724f, -0.000132f, 0.002123f, -0.002139f, -0.002655f, -0.010236f, -0.014227f, 0.008397f, 0.001936f, 0.011027f, -0.009888f, 0.018658f, 0.008744f, -0.004026f, -0.016838f, -0.003449f, 0.005840f, 0.018246f, 0.005521f, -0.010540f, -0.004925f, 0.008404f, 0.005333f, -0.005481f, -0.002792f, 0.008868f, 0.007191f, 0.009369f, 0.018033f, 0.020197f, 0.009750f, 0.010689f, 0.012313f, -0.007460f, 0.001625f, -0.013598f, 0.013271f, 0.001985f, 0.006611f, -0.009753f, -0.015144f, 0.003281f, -0.019308f, -0.007025f, -0.008531f, 0.013897f, 0.014513f, 0.015262f, 0.003849f, -0.004500f, -0.005078f, 0.014249f, 0.002725f, -0.002147f, 0.003420f, -0.004666f, 0.008983f, 0.000343f, -0.000344f, 0.002886f, 0.003564f, -0.001563f, 0.007320f, -0.000137f, 0.001062f, -0.003747f, -0.002390f, 0.001943f, 0.005660f, -0.000492f, 0.001911f, 0.003271f, 0.001738f, 0.001003f, -0.001996f, 0.002681f, -0.002579f, -0.003739f, 0.002961f, -0.012742f, -0.000732f, 0.023917f, 0.014713f, 0.020226f, 0.003868f, -0.022069f, -0.007262f, + 0.023488f, -0.006744f, -0.014830f, -0.015462f, -0.015214f, -0.016109f, 0.008903f, 0.009032f, 0.005820f, 0.005318f, 0.005508f, 0.022587f, -0.002754f, 0.009812f, -0.019348f, -0.021797f, 0.014645f, -0.000763f, -0.011866f, 0.000866f, -0.030346f, -0.009911f, -0.010197f, 0.003742f, -0.001028f, -0.002796f, -0.021336f, -0.013986f, 0.002414f, 0.014769f, 0.024032f, -0.009510f, -0.009369f, 0.012787f, -0.016430f, -0.001179f, -0.000797f, 0.005516f, 0.010542f, 0.008564f, 0.016675f, -0.008927f, 0.024155f, 0.011371f, -0.026003f, 0.013014f, -0.014431f, -0.017283f, -0.014324f, -0.020907f, 0.018970f, 0.004440f, -0.022228f, 0.002541f, 0.004754f, 0.002058f, 0.003583f, -0.004095f, 0.015745f, -0.009115f, 0.012118f, -0.019397f, 0.014759f, -0.009850f, -0.008902f, 0.001901f, 0.006585f, -0.000772f, 0.010684f, 0.030415f, -0.002492f, -0.016340f, 0.009707f, 0.019924f, 0.001659f, -0.002189f, -0.015744f, -0.006922f, 0.014760f, -0.002521f, -0.000918f, 0.000475f, 0.003041f, -0.004147f, -0.002288f, -0.000393f, 0.004414f, -0.002541f, -0.000440f, -0.002917f, 0.008369f, -0.006106f, 0.001365f, -0.005742f, -0.007045f, 0.001842f, + 0.002390f, -0.002269f, 0.001206f, -0.002111f, -0.001468f, -0.000494f, -0.000707f, -0.000219f, -0.002920f, -0.001830f, 0.008606f, -0.000488f, 0.000168f, -0.000866f, 0.003283f, 0.001804f, 0.002955f, 0.049148f, -0.045022f, 0.020271f, 0.021169f, -0.020445f, -0.003998f, 0.029250f, 0.010366f, 0.018439f, 0.005251f, -0.006898f, 0.044197f, -0.002169f, -0.008715f, -0.000427f, -0.000224f, 0.021015f, 0.033154f, 0.012314f, -0.000605f, 0.000293f, 0.004660f, 0.011139f, -0.000534f, 0.005731f, -0.023808f, 0.010713f, 0.017894f, -0.004214f, 0.007079f, -0.000381f, 0.003021f, -0.015490f, -0.012160f, 0.000467f, -0.000890f, 0.020305f, 0.009849f, 0.008173f, -0.009085f, -0.011101f, -0.011076f, 0.011523f, 0.016938f, -0.000241f, -0.005937f, 0.033420f, 0.017141f, 0.022204f, -0.012547f, -0.025613f, -0.005173f, -0.026804f, -0.017750f, -0.008349f, -0.011385f, -0.001908f, 0.019404f, -0.006648f, 0.000393f, -0.016567f, -0.017641f, 0.019310f, -0.001365f, 0.008798f, 0.009468f, -0.010671f, 0.018559f, 0.004535f, 0.001326f, -0.006972f, -0.013047f, 0.014463f, -0.004924f, -0.026706f, 0.014837f, 0.012456f, 0.015532f, 0.006776f, + -0.018909f, -0.004285f, 0.001353f, -0.019750f, 0.010684f, 0.010699f, -0.002187f, 0.007980f, 0.006630f, 0.007090f, -0.002194f, 0.011438f, 0.001382f, -0.000871f, -0.006385f, 0.002536f, -0.000502f, 0.009026f, 0.001650f, -0.000671f, 0.001544f, -0.000500f, 0.006552f, -0.003363f, -0.001245f, -0.005009f, 0.001967f, -0.001638f, -0.003994f, 0.000370f, 0.000577f, -0.001784f, 0.000679f, 0.007225f, 0.005373f, -0.003722f, -0.002553f, -0.005349f, 0.000883f, -0.001482f, -0.001063f, 0.000424f, 0.000534f, 0.002166f, -0.003710f, -0.034352f, 0.004513f, 0.011694f, -0.016747f, 0.014450f, -0.029126f, 0.006984f, 0.009208f, -0.003589f, -0.011389f, -0.014648f, -0.017167f, -0.029189f, 0.004002f, 0.033810f, -0.010792f, 0.016461f, 0.009221f, 0.025226f, 0.013473f, -0.009119f, -0.021177f, 0.011335f, -0.005178f, -0.007301f, -0.021960f, -0.003002f, -0.002758f, -0.008533f, -0.009281f, -0.004780f, -0.015372f, -0.020154f, 0.024104f, -0.002017f, -0.013650f, 0.019079f, 0.006829f, -0.016015f, 0.002672f, -0.000860f, 0.010876f, -0.021383f, 0.006334f, 0.007818f, -0.031880f, 0.011073f, 0.010689f, -0.016166f, 0.004960f, 0.001613f, + -0.004984f, 0.012224f, 0.001306f, -0.001867f, 0.001626f, 0.008407f, 0.021855f, 0.017609f, 0.022296f, 0.015642f, 0.008075f, -0.005332f, 0.033083f, -0.007968f, -0.016651f, 0.036870f, 0.002620f, 0.022445f, 0.004926f, -0.006663f, -0.033677f, -0.030883f, -0.007602f, 0.002396f, -0.012198f, -0.005571f, -0.009545f, 0.021945f, -0.018682f, -0.005058f, -0.003043f, 0.005690f, -0.018239f, 0.013718f, -0.001309f, 0.004645f, -0.001438f, -0.006683f, -0.011828f, -0.007573f, -0.009290f, -0.007172f, -0.002139f, 0.001688f, -0.005669f, -0.003640f, -0.003111f, 0.008350f, -0.009034f, -0.007568f, -0.006468f, -0.007264f, -0.000217f, 0.006813f, -0.002694f, -0.002589f, 0.004618f, 0.001619f, -0.002194f, 0.003605f, -0.005635f, -0.005766f, 0.004908f, -0.006805f, -0.011736f, 0.004693f, 0.010668f, -0.005085f, 0.001220f, 0.007662f, -0.002361f, -0.005292f, -0.005908f, -0.057485f, 0.028340f, 0.049798f, 0.003602f, -0.028036f, 0.012997f, -0.005066f, -0.001816f, 0.008277f, 0.004957f, 0.012916f, -0.014876f, 0.001868f, 0.044651f, 0.034316f, 0.030056f, -0.032508f, -0.001226f, 0.008144f, 0.017236f, -0.015536f, -0.017377f, -0.004349f, + 0.005796f, 0.015584f, 0.007855f, -0.041854f, -0.047464f, 0.014935f, -0.001400f, 0.026957f, 0.027695f, -0.017645f, 0.022956f, 0.018440f, 0.024512f, -0.001552f, -0.014308f, -0.014989f, 0.011822f, -0.015881f, -0.005928f, 0.000092f, -0.000481f, 0.014649f, 0.031135f, 0.017486f, -0.008250f, -0.007205f, -0.015092f, -0.003813f, 0.001589f, 0.008458f, -0.003067f, -0.005362f, 0.015437f, 0.009658f, -0.023115f, -0.000230f, 0.001214f, 0.028156f, -0.013878f, -0.016039f, -0.030360f, -0.010314f, 0.005505f, 0.002127f, 0.016081f, -0.003336f, 0.004229f, -0.013621f, -0.020068f, -0.018380f, -0.018360f, -0.010656f, 0.009184f, -0.038350f, 0.004881f, -0.005317f, -0.005732f, -0.008061f, 0.007902f, 0.021104f, 0.015637f, 0.002495f, -0.003131f, -0.019458f, -0.005907f, -0.001744f, -0.003644f, 0.012947f, 0.006912f, 0.003988f, 0.003176f, 0.006753f, 0.008167f, -0.002941f, -0.002921f, 0.000245f, -0.003186f, 0.000728f, 0.001227f, 0.002619f, 0.004671f, -0.012439f, 0.002306f, -0.001573f, 0.009857f, 0.002611f, -0.012162f, -0.000663f, -0.007548f, -0.006055f, -0.002724f, -0.002769f, -0.002916f, -0.001552f, -0.001193f, 0.003333f, + -0.000249f, 0.006857f, 0.006261f, 0.005241f, 0.009151f, 0.028803f, 0.002131f, 0.024963f, -0.003692f, 0.032474f, 0.016077f, 0.025269f, 0.015437f, 0.007192f, -0.012877f, -0.001517f, -0.008151f, 0.017245f, 0.004906f, 0.015116f, -0.014906f, -0.002802f, 0.026883f, -0.033677f, -0.018937f, 0.025828f, -0.044355f, -0.019684f, 0.003043f, -0.008656f, -0.022086f, 0.044187f, -0.008186f, 0.030450f, 0.012064f, -0.026969f, -0.004338f, -0.010290f, -0.032571f, -0.042221f, 0.033287f, -0.000540f, -0.012467f, 0.008061f, 0.000361f, -0.005808f, 0.011963f, 0.004560f, -0.004580f, -0.015679f, 0.002714f, 0.031449f, 0.026609f, -0.022389f, 0.008539f, 0.001508f, 0.024807f, -0.011640f, 0.016731f, -0.036254f, -0.008974f, 0.024365f, 0.008008f, -0.008476f, 0.029096f, -0.009567f, 0.020322f, -0.040221f, -0.046370f, -0.016854f, 0.000645f, -0.032897f, 0.035043f, 0.024685f, 0.035602f, -0.016669f, -0.012364f, -0.012662f, 0.001604f, -0.018413f, -0.000451f, -0.028023f, -0.025497f, 0.000931f, 0.006850f, 0.025532f, 0.011913f, -0.002935f, -0.009760f, 0.007884f, 0.014606f, 0.009528f, 0.005681f, -0.009376f, 0.010485f, 0.009386f, + 0.011849f, 0.008759f, 0.006293f, 0.009499f, -0.013610f, 0.011032f, -0.008343f, -0.004306f, 0.017355f, 0.015376f, 0.010203f, -0.002065f, 0.000348f, -0.004916f, 0.008759f, 0.002630f, -0.003996f, 0.004706f, 0.008885f, 0.001184f, 0.006839f, 0.006733f, -0.009481f, 0.002853f, -0.007242f, -0.002226f, 0.001875f, 0.040309f, 0.029012f, 0.045413f, -0.040153f, -0.030149f, -0.068853f, 0.029807f, -0.007590f, -0.058808f, -0.011342f, 0.005696f, 0.008759f, -0.021904f, 0.024062f, 0.020373f, 0.002353f, -0.000153f, 0.003820f, -0.009645f, -0.020440f, 0.004641f, -0.011595f, -0.019076f, -0.000182f, 0.044787f, 0.001454f, -0.006652f, -0.035650f, 0.015196f, 0.028267f, -0.014460f, -0.043032f, -0.007683f, 0.014585f, 0.005290f, -0.009089f, 0.009531f, 0.003126f, 0.015645f, -0.004303f, 0.025713f, 0.039125f, 0.014931f, -0.025929f, 0.029599f, 0.013308f, -0.033121f, -0.035363f, 0.038651f, 0.018663f, -0.014828f, -0.017235f, -0.000689f, -0.031344f, 0.023145f, 0.030311f, -0.000549f, 0.001747f, 0.007798f, -0.003837f, 0.033306f, 0.011176f, 0.008795f, -0.013701f, 0.005540f, 0.011221f, 0.041099f, -0.009787f, 0.015869f, + -0.031662f, -0.035905f, 0.032224f, -0.004655f, -0.002981f, 0.003532f, 0.030714f, 0.000882f, -0.001417f, 0.019578f, -0.009242f, 0.004078f, 0.017796f, 0.021912f, -0.010351f, -0.013288f, -0.029092f, -0.014135f, 0.009532f, -0.012632f, 0.010155f, -0.000087f, 0.010774f, -0.005584f, 0.007950f, 0.001890f, -0.004467f, 0.003746f, 0.016297f, 0.004267f, 0.016222f, 0.005146f, -0.010242f, 0.000921f, 0.006776f, 0.005875f, -0.010052f, -0.008955f, -0.009792f, -0.003933f, -0.007691f, -0.007258f, -0.011963f, -0.004872f, 0.006680f, 0.004527f, -0.001210f, -0.001656f, 0.003656f, -0.007657f, -0.000185f, 0.010546f, -0.002878f, -0.001354f, -0.004922f, -0.003844f, -0.002143f, -0.014863f, -0.002125f, -0.005567f, -0.006053f, -0.009036f, -0.013067f, -0.046187f, -0.003376f, -0.030058f, -0.061460f, -0.063355f, -0.027120f, -0.048262f, -0.021627f, -0.007402f, 0.009222f, 0.027725f, 0.030875f, 0.003584f, -0.015984f, 0.033221f, -0.016183f, 0.016612f, -0.060676f, -0.005545f, -0.041478f, -0.027682f, 0.028878f, 0.020417f, 0.019874f, 0.006924f, 0.041379f, -0.003667f, -0.002095f, -0.029000f, -0.009751f, -0.005466f, -0.019593f, -0.019789f, + -0.049780f, -0.019290f, -0.005084f, -0.007634f, -0.030623f, 0.027958f, 0.011410f, 0.016871f, -0.013224f, -0.004802f, -0.075786f, -0.021510f, -0.020556f, 0.018124f, 0.039538f, -0.023609f, -0.003233f, -0.043956f, -0.002749f, 0.023329f, -0.006823f, -0.014537f, 0.010451f, 0.033256f, 0.056409f, 0.012227f, 0.002230f, -0.002628f, -0.014557f, -0.021932f, 0.015415f, -0.014293f, 0.051206f, 0.010447f, 0.022303f, 0.103970f, -0.020149f, -0.017151f, -0.025700f, -0.035814f, -0.004475f, 0.035825f, 0.016363f, 0.005522f, 0.012211f, -0.014488f, -0.011151f, -0.031112f, -0.007120f, 0.018221f, -0.002460f, -0.006516f, -0.002527f, -0.006896f, 0.004158f, -0.000698f, 0.007319f, 0.007443f, 0.007549f, 0.009807f, 0.010657f, 0.026832f, 0.016524f, -0.009304f, 0.015772f, 0.000059f, 0.001403f, 0.011497f, -0.012335f, 0.000709f, -0.014298f, -0.008433f, -0.019728f, -0.014494f, -0.020598f, -0.016969f, -0.011274f, 0.023507f, -0.013933f, -0.007623f, -0.016511f, 0.001527f, 0.005421f, -0.003188f, 0.007335f, 0.003266f, -0.000041f, -0.013818f, -0.051698f, 0.029491f, 0.048537f, -0.028569f, 0.001532f, 0.010971f, -0.016689f, -0.003931f, + -0.036171f, -0.000644f, -0.020278f, 0.052728f, 0.000015f, -0.009815f, 0.042259f, -0.010619f, 0.012288f, -0.048350f, 0.025142f, 0.007619f, 0.032753f, -0.015168f, 0.024380f, 0.043197f, 0.046248f, 0.026104f, 0.041682f, 0.021512f, -0.006679f, 0.040688f, -0.019673f, -0.026542f, -0.008609f, 0.016435f, 0.027428f, -0.065821f, -0.004576f, -0.042488f, 0.033772f, 0.015505f, -0.000924f, 0.011835f, 0.047314f, 0.002225f, 0.042212f, 0.018272f, 0.063969f, 0.005975f, -0.007402f, 0.028280f, 0.009165f, -0.032440f, 0.006911f, -0.003574f, -0.043942f, 0.030998f, -0.026554f, -0.042521f, -0.087599f, 0.007055f, -0.010913f, 0.051722f, -0.028789f, 0.069133f, 0.022590f, -0.000862f, -0.010667f, 0.027155f, 0.028180f, -0.050056f, -0.021655f, -0.036900f, 0.012831f, -0.016465f, 0.037674f, 0.012376f, 0.012573f, 0.018635f, -0.008856f, 0.003612f, -0.013389f, -0.004222f, 0.000917f, -0.004593f, -0.039061f, 0.015777f, -0.000216f, 0.011948f, 0.000233f, -0.011029f, 0.001104f, 0.016355f, -0.026040f, 0.022784f, -0.009635f, 0.000408f, 0.002392f, -0.021251f, -0.002002f, 0.013650f, 0.006507f, -0.015095f, -0.006601f, -0.003235f, + -0.018465f, 0.006714f, -0.005362f, 0.027278f, -0.021550f, 0.010111f, 0.018475f, 0.007292f, -0.008031f, -0.005219f, 0.008921f, 0.005100f, 0.005491f, -0.004052f, 0.009259f, -0.027854f, 0.007527f, 0.007584f, 0.012161f, -0.007913f, -0.013460f, 0.001800f, 0.011910f, 0.002478f, 0.032660f, -0.022847f, -0.025491f, -0.025091f, 0.031386f, 0.015990f, 0.041053f, 0.010956f, 0.128269f, -0.038882f, 0.000093f, 0.000361f, 0.059388f, 0.024230f, 0.027177f, -0.039961f, 0.016684f, -0.016126f, 0.000517f, -0.018813f, 0.003409f, 0.042745f, -0.012004f, 0.013140f, 0.083184f, 0.025688f, -0.038540f, -0.045043f, 0.004575f, 0.054025f, 0.027902f, 0.009770f, -0.021733f, 0.045899f, 0.007306f, -0.007515f, -0.051703f, 0.015012f, -0.008711f, 0.021413f, -0.046988f, -0.028936f, 0.001831f, -0.012419f, 0.005519f, -0.043883f, -0.002079f, -0.027008f, 0.011674f, 0.037746f, 0.030080f, 0.009420f, -0.059951f, -0.000116f, 0.005285f, -0.054114f, -0.048364f, -0.032282f, -0.026706f, -0.026698f, 0.041761f, 0.009056f, -0.001794f, 0.026992f, 0.043447f, 0.011131f, 0.037550f, 0.000416f, 0.024664f, 0.167747f, -0.038997f, 0.027126f, + 0.018747f, -0.030200f, 0.005687f, -0.112801f, 0.001680f, 0.055093f, 0.014003f, -0.031479f, 0.042313f, 0.009725f, 0.015739f, -0.028605f, -0.006933f, -0.024526f, 0.007826f, 0.001474f, 0.001554f, 0.008999f, -0.035339f, 0.012263f, -0.019646f, -0.014476f, -0.048172f, 0.011212f, 0.010358f, 0.008888f, 0.011683f, 0.058976f, 0.008423f, 0.005779f, 0.006267f, 0.004069f, 0.035036f, 0.003594f, 0.014464f, 0.011869f, 0.026592f, 0.010337f, -0.002206f, -0.006600f, -0.005517f, 0.003931f, 0.016652f, 0.019994f, 0.005508f, -0.031844f, -0.014946f, -0.007497f, -0.007512f, -0.010900f, -0.033245f, -0.008497f, 0.010954f, 0.024504f, 0.067584f, -0.032265f, -0.002209f, -0.046297f, -0.033813f, 0.010273f, 0.029273f, -0.038386f, 0.044572f, 0.018406f, -0.059905f, 0.035947f, -0.024625f, -0.029894f, -0.003076f, -0.036036f, 0.007730f, -0.016410f, 0.045207f, -0.026914f, -0.002730f, 0.024744f, -0.089151f, 0.012194f, 0.026816f, -0.027186f, 0.021135f, -0.053949f, 0.052791f, 0.005381f, 0.008533f, -0.101654f, 0.090653f, 0.038717f, 0.029303f, 0.001566f, -0.058405f, 0.052461f, -0.004087f, -0.026646f, 0.092686f, -0.019029f, + -0.041742f, -0.022031f, 0.010546f, 0.026613f, 0.024848f, 0.006403f, -0.016501f, -0.110384f, -0.013186f, 0.027110f, 0.000832f, 0.039983f, -0.058511f, 0.059190f, 0.005258f, 0.019759f, -0.059481f, -0.017343f, 0.008632f, 0.075565f, -0.032410f, 0.017373f, -0.055200f, 0.047716f, 0.026104f, 0.045013f, -0.018359f, 0.019747f, 0.006972f, -0.059776f, -0.057629f, 0.030854f, 0.024608f, 0.048056f, 0.009466f, 0.061776f, -0.094533f, -0.122836f, 0.018630f, -0.026188f, 0.068272f, -0.045497f, -0.010738f, 0.007642f, -0.053131f, 0.002246f, -0.032124f, 0.026795f, 0.037472f, 0.003515f, 0.030201f, 0.034020f, 0.009176f, -0.031350f, -0.016710f, 0.054934f, 0.027700f, 0.006851f, 0.008593f, -0.016893f, 0.000237f, 0.033326f, 0.017759f, -0.027554f, -0.016515f, 0.030989f, -0.005563f, 0.019192f, 0.018459f, -0.012354f, -0.017156f, -0.016468f, -0.001047f, 0.016393f, 0.006365f, 0.021058f, 0.029423f, 0.002205f, -0.002204f, 0.024687f, 0.000295f, 0.004715f, 0.006635f, -0.010771f, 0.007270f, -0.018603f, 0.009099f, 0.003435f, -0.000914f, 0.007758f, -0.009041f, -0.085544f, 0.078036f, -0.016828f, -0.018841f, -0.030436f, + -0.008894f, -0.067450f, -0.125964f, 0.043518f, 0.036168f, -0.005533f, -0.025972f, -0.051299f, -0.008481f, -0.015898f, -0.027295f, 0.049656f, -0.112659f, -0.048120f, -0.059481f, -0.017717f, -0.085785f, -0.007888f, -0.012935f, -0.003059f, -0.014384f, -0.017380f, 0.013803f, -0.000836f, -0.037983f, -0.011879f, -0.000882f, -0.051943f, -0.027778f, -0.015321f, 0.003764f, 0.039996f, -0.020551f, 0.080160f, -0.041913f, -0.006007f, 0.033674f, -0.035758f, 0.021701f, 0.004548f, -0.054988f, -0.082220f, -0.020197f, 0.020973f, 0.074923f, 0.032491f, -0.057486f, -0.024332f, -0.164939f, -0.055220f, -0.011961f, 0.034640f, 0.089462f, -0.004804f, -0.095994f, 0.005265f, 0.052004f, -0.019244f, -0.004634f, 0.055146f, 0.058020f, 0.133267f, -0.147480f, -0.028683f, 0.020759f, 0.037170f, -0.046653f, -0.055361f, -0.078950f, -0.078386f, -0.043930f, -0.036541f, -0.010423f, -0.005783f, -0.091229f, -0.037933f, -0.033570f, 0.033484f, -0.017402f, -0.009211f, 0.081767f, 0.061849f, 0.004735f, -0.011991f, -0.004024f, -0.050953f, -0.002535f, 0.017721f, -0.036895f, -0.019954f, 0.006620f, 0.022764f, -0.015849f, -0.018336f, -0.012491f, 0.025391f, + -0.017464f, 0.026598f, 0.001537f, 0.027453f, 0.019436f, 0.019618f, -0.015837f, 0.009637f, -0.038829f, 0.019202f, -0.005539f, 0.011039f, -0.034437f, -0.026939f, -0.004351f, 0.008049f, -0.019672f, -0.000261f, -0.043596f, -0.008346f, -0.005795f, 0.017548f, 0.022100f, -0.028278f, 0.055432f, 0.000198f, 0.020094f, 0.011460f, 0.039895f, 0.039671f, -0.002792f, 0.024764f, -0.047534f, 0.012515f, -0.018738f, -0.116031f, 0.027283f, -0.019118f, 0.035374f, -0.031434f, -0.032455f, 0.003362f, -0.048102f, 0.009218f, -0.048517f, -0.000108f, -0.007808f, -0.018441f, 0.024500f, -0.035911f, -0.047230f, -0.042928f, -0.055606f, -0.008535f, -0.005413f, 0.063384f, 0.014567f, -0.044689f, -0.067041f, 0.009806f, -0.000710f, 0.017047f, -0.012488f, 0.038782f, -0.043862f, -0.016793f, -0.061894f, -0.039140f, -0.017311f, 0.003001f, -0.025750f, 0.066136f, -0.022125f, -0.054800f, 0.017968f, 0.068622f, 0.049759f, 0.021001f, -0.047229f, -0.030219f, -0.004258f, 0.062418f, 0.118286f, -0.000102f, 0.023765f, -0.021584f, -0.114545f, -0.024300f, 0.011053f, 0.044433f, 0.098841f, -0.053406f, -0.066069f, 0.040123f, 0.019113f, -0.022102f, + 0.003660f, -0.035570f, 0.023159f, -0.096278f, -0.010675f, 0.006645f, 0.024160f, -0.057609f, 0.068212f, -0.094108f, -0.107842f, -0.098928f, 0.050992f, -0.019418f, 0.095830f, -0.131805f, -0.057441f, 0.011810f, 0.136192f, -0.009749f, -0.023708f, -0.073509f, -0.026896f, -0.007544f, 0.065895f, -0.004356f, 0.000140f, 0.005121f, 0.011792f, 0.002520f, -0.000563f, -0.027032f, -0.023685f, 0.032477f, 0.014176f, 0.005046f, -0.070703f, 0.019089f, -0.017913f, -0.007129f, -0.036441f, 0.002948f, -0.002955f, -0.005427f, -0.083312f, 0.009043f, -0.018186f, -0.008264f, -0.006936f, 0.015504f, 0.000014f, 0.006503f, -0.000287f, 0.001834f, -0.000001f, 0.001721f, -0.030259f, -0.004571f, -0.019397f, -0.015506f, 0.014782f, 0.016504f, -0.024272f, 0.002276f, -0.017250f, 0.024121f, -0.008258f, -0.037472f, 0.006001f, 0.068459f, 0.020256f, -0.125032f, -0.022964f, -0.086602f, 0.037246f, 0.006087f, -0.171463f, 0.010548f, -0.053379f, -0.111583f, -0.086849f, -0.127202f, 0.077165f, -0.039611f, -0.100098f, -0.045775f, 0.031412f, -0.060342f, -0.051884f, -0.041047f, -0.024465f, -0.045152f, -0.044422f, -0.081783f, -0.059046f, -0.111756f, + -0.063088f, -0.057494f, -0.019299f, -0.053346f, -0.011379f, -0.025665f, -0.002178f, 0.002903f, 0.014049f, 0.029645f, -0.031136f, 0.024411f, 0.002502f, 0.055377f, 0.024105f, 0.034053f, 0.035166f, -0.105039f, -0.027845f, 0.081797f, -0.014873f, -0.052997f, -0.058710f, -0.044526f, 0.032747f, 0.132795f, -0.009495f, -0.003544f, -0.090671f, -0.093474f, -0.019987f, 0.017380f, 0.079701f, -0.007151f, 0.072588f, 0.025439f, -0.089104f, 0.158045f, 0.002450f, 0.122566f, -0.000307f, -0.033520f, 0.066122f, -0.091322f, -0.116256f, -0.075971f, -0.256751f, -0.157322f, -0.051631f, 0.115370f, 0.071302f, -0.104777f, -0.068311f, -0.159105f, 0.077135f, 0.101762f, -0.080992f, -0.082457f, 0.017656f, 0.066398f, 0.096929f, 0.025083f, 0.055205f, -0.054507f, -0.029583f, -0.041729f, -0.060654f, -0.026950f, -0.006411f, 0.003236f, 0.001385f, -0.035182f, 0.003989f, 0.019609f, 0.006115f, -0.007844f, -0.024878f, -0.018773f, -0.028240f, -0.012878f, -0.041185f, -0.011458f, 0.023118f, -0.041754f, -0.064448f, -0.012331f, -0.042885f, -0.031356f, -0.006524f, -0.056494f, -0.042818f, -0.014143f, 0.023602f, 0.022839f, 0.027417f, -0.004251f, + -0.024750f, -0.007550f, 0.007340f, -0.017449f, 0.037156f, -0.002104f, 0.026647f, -0.002410f, -0.002675f, 0.024782f, 0.019807f, 0.028181f, 0.067836f, 0.039959f, 0.049667f, -0.043520f, -0.105683f, 0.122925f, 0.117579f, -0.074349f, -0.096408f, -0.000475f, 0.105528f, -0.011471f, -0.006058f, -0.032909f, 0.092308f, -0.010284f, -0.024529f, -0.002315f, 0.025571f, 0.047274f, 0.001379f, -0.035648f, -0.040350f, 0.056809f, 0.004358f, -0.024569f, -0.060722f, 0.034486f, 0.019249f, -0.007052f, -0.047809f, 0.014943f, 0.020816f, 0.016981f, -0.030158f, -0.018373f, 0.005555f, 0.046779f, -0.013606f, 0.016680f, -0.068859f, -0.019418f, 0.000336f, 0.045284f, -0.095917f, -0.017396f, 0.009601f, 0.068982f, -0.033009f, 0.010493f, -0.048865f, 0.006447f, 0.020617f, -0.034057f, -0.025477f, -0.004280f, 0.011539f, 0.020822f, -0.021612f, 0.001187f, -0.085380f, 0.046068f, -0.014004f, 0.079961f, -0.049447f, 0.035485f, -0.033539f, 0.036896f, 0.007310f, 0.024620f, 0.021531f, -0.062735f, 0.070907f, 0.013566f, 0.041072f, -0.069226f, 0.019516f, -0.017912f, 0.011335f, -0.020037f, 0.003133f, -0.005193f, 0.009794f, 0.022947f, + -0.003257f, -0.027967f, -0.015943f, 0.006573f, -0.003279f, 0.001256f, -0.010281f, -0.027291f, 0.009430f, 0.006627f, -0.007868f, -0.008097f, -0.000046f, -0.008925f, 0.001721f, -0.015113f, -0.000000f, -0.007666f, 0.012518f, 0.006480f, -0.004520f, -0.011388f, 0.004229f, -0.000279f, -0.009029f, 0.006370f, -0.028921f, -0.000862f, -0.002956f, 0.012496f, 0.000001f, 0.033277f, -0.021996f, -0.023490f, -0.007292f, 0.017266f, -0.023859f, 0.035723f, -0.030055f, 0.014789f, -0.014490f, 0.032506f, -0.029177f, 0.035829f, -0.020248f, 0.027877f, -0.025298f, 0.043689f, -0.041271f, 0.031476f, -0.009178f, 0.023550f, -0.022061f, 0.023153f, -0.025061f, 0.026221f, -0.025247f, 0.020963f, -0.016791f, 0.023270f, -0.018093f, 0.019400f, -0.018024f, 0.005460f, -0.005849f, 0.011756f, -0.008931f, 0.009660f, -0.007901f, 0.007869f, -0.005653f, 0.010852f, -0.006640f, 0.004223f, -0.005197f, 0.005775f, -0.004518f, 0.002077f, 0.000910f, -0.035839f, -0.079907f, -0.106316f, 0.077847f, 0.051707f, -0.060555f, -0.086368f, -0.042233f, 0.040255f, 0.021197f, 0.053489f, 0.057563f, 0.011425f, -0.028760f, -0.008254f, 0.020253f, -0.019554f, + -0.001439f, 0.012053f, 0.003432f, 0.032306f, 0.022635f, 0.009921f, -0.028736f, -0.000890f, -0.017728f, 0.018822f, -0.030115f, -0.026063f, 0.022175f, -0.006811f, -0.012154f, -0.011930f, -0.020882f, -0.028691f, 0.002387f, 0.023764f, 0.021698f, 0.018222f, -0.006675f, -0.023628f, -0.020500f, -0.014284f, 0.025899f, 0.035157f, -0.016120f, -0.024272f, -0.010392f, 0.029202f, 0.015179f, 0.039007f, -0.027262f, -0.010267f, 0.015531f, -0.007147f, 0.001471f, -0.003990f, 0.013977f, 0.008435f, 0.011329f, 0.002506f, -0.026071f, 0.011041f, 0.005087f, -0.000807f, 0.020549f, -0.010405f, -0.004992f, 0.003675f, -0.003541f, 0.002769f, -0.007395f, 0.034629f, 0.008883f, -0.002631f, 0.033063f, 0.033054f, -0.033212f, -0.050469f, -0.018325f, -0.034520f, 0.001270f, 0.023085f, 0.006790f, -0.020589f, -0.024779f, -0.006525f, -0.004585f, 0.020077f, 0.009760f, 0.012568f, 0.018919f, 0.011540f, -0.010164f, 0.011682f, 0.008439f, -0.024227f, -0.032400f, 0.009921f, -0.008351f, 0.016387f, 0.012193f, -0.017775f, -0.004521f, -0.005949f, -0.006294f, -0.020679f, -0.011145f, -0.001162f, 0.006856f, 0.010071f, 0.027963f, -0.013653f, + -0.010027f, 0.007221f, -0.006140f, -0.008023f, 0.016473f, 0.000686f, 0.036514f, -0.088727f, -0.233583f, -0.085871f, 0.041884f, 0.121506f, 0.256623f, 0.171732f, 0.044187f, 0.065085f, -0.034311f, -0.104462f, -0.173497f, -0.150943f, -0.120021f, -0.034608f, 0.004600f, 0.083492f, 0.092028f, 0.195946f, 0.095107f, 0.062726f, -0.004941f, -0.041766f, -0.094336f, -0.048972f, -0.076288f, -0.087946f, -0.054177f, -0.045331f, -0.003408f, 0.024508f, 0.073283f, 0.045325f, 0.052594f, 0.047840f, 0.048320f, 0.072729f, 0.006247f, 0.050396f, -0.009376f, -0.022611f, -0.061402f, -0.036555f, -0.091557f, -0.134710f, -0.117753f, 0.001404f, -0.020058f, 0.036963f, 0.063256f, 0.034727f, 0.097595f, 0.085274f, 0.123358f, 0.070265f, 0.083647f, 0.004167f, 0.004074f, -0.065963f, -0.107858f, -0.125966f, -0.151297f, -0.099390f, -0.123656f, -0.010368f, -0.000538f, 0.059532f, 0.062365f, 0.149444f, 0.117322f, 0.166932f, 0.067692f, 0.078063f, 0.032491f, -0.000667f, -0.099642f, -0.162415f, -0.108836f, -0.129744f, -0.080911f, -0.087840f, -0.008268f, 0.013633f, 0.051808f, 0.068087f, 0.092138f, 0.094153f, 0.090434f, 0.059300f, + 0.064741f, 0.016920f, -0.011804f, -0.022214f, -0.073035f, -0.066487f, -0.087431f, -0.061691f, -0.087400f, -0.066499f, -0.007011f, 0.015654f, 0.045978f, 0.069566f, 0.061937f, 0.063961f, 0.105211f, 0.038185f, 0.064212f, 0.049413f, -0.066453f, -0.120088f, -0.052170f, -0.105877f, -0.066877f, -0.036279f, -0.007651f, 0.009520f, 0.033666f, 0.061224f, 0.042475f, 0.065861f, 0.041666f, 0.035900f, 0.014360f, -0.003940f, -0.038298f, -0.012459f, -0.018008f, -0.066940f, -0.062731f, -0.017163f, -0.007162f, 0.003678f, 0.021960f, 0.025895f, 0.032615f, 0.026248f, 0.025777f, 0.009847f, 0.008662f, -0.000207f, -0.014717f, -0.007111f, -0.005400f, -0.014739f, -0.023911f, -0.007915f, -0.011970f, -0.013723f, -0.001635f, 0.006664f, 0.007264f, 0.011181f, 0.013235f, 0.016564f, 0.010600f, 0.007869f, 0.002444f, -0.001305f, -0.004153f, -0.006533f, -0.008959f, -0.009510f, -0.006919f, -0.005116f, -0.003851f, -0.003395f, 0.000078f, 0.001817f, 0.002069f, 0.003050f, 0.003240f, 0.004899f, 0.007282f, 0.007326f, 0.002105f, 0.001454f, 0.001965f, -0.000946f, -0.003804f, -0.005002f, -0.006915f, -0.005937f, -0.004167f, -0.001224f, + -0.001654f, -0.000068f, 0.002868f, 0.003091f, 0.002934f, 0.004226f, 0.003384f, 0.001973f, 0.000138f, 0.000119f, 0.000218f, -0.000480f, -0.001872f, -0.001608f, -0.001903f, -0.001861f, -0.001907f, -0.001212f, -0.000729f, 0.000214f, 0.000822f, 0.001568f, 0.001737f, 0.001367f, -0.000057f, 0.000659f, 0.000953f, 0.000639f, -0.000247f, -0.001115f, -0.001479f, -0.001223f, -0.000761f, -0.000113f, 0.000414f, 0.000989f, 0.000689f, 0.000264f, 0.000307f, 0.000424f, -0.000309f, -0.000611f, -0.000516f, -0.000493f, -0.000389f, 0.000023f, -0.000021f, 0.000049f, 0.000188f, 0.000195f, 0.000090f, 0.000036f, 0.000019f, -0.000018f} + }, + { + {0.014236f, 0.001503f, -0.003867f, -0.004046f, 0.002468f, -0.006900f, -0.000116f, -0.013430f, 0.009612f, 0.012191f, 0.008515f, 0.011998f, -0.014421f, 0.001154f, 0.003287f, -0.005151f, -0.003966f, -0.003526f, -0.016888f, -0.002852f, 0.010026f, -0.017292f, -0.014051f, 0.008161f, 0.007399f, -0.011115f, -0.003882f, 0.007338f, 0.000934f, 0.008923f, 0.003821f, 0.009295f, -0.005853f, 0.001768f, 0.001283f, -0.002486f, 0.004327f, 0.003394f, 0.006311f, 0.002639f, -0.002797f, 0.000593f, 0.007052f, -0.001922f, -0.003217f, -0.001209f, -0.008543f, -0.018855f, 0.011196f, 0.005423f, -0.005901f, 0.008251f, -0.003316f, 0.000900f, -0.000295f, 0.003825f, -0.004978f, -0.001308f, 0.011127f, -0.010500f, -0.004209f, 0.003625f, 0.001812f, -0.001639f, -0.000522f, 0.004863f, 0.000553f, 0.004303f, -0.007478f, 0.007586f, 0.003907f, -0.009759f, 0.007755f, 0.000670f, 0.002806f, -0.001182f, -0.002901f, -0.011389f, -0.003523f, -0.000871f, 0.005839f, -0.001521f, 0.004774f, -0.002878f, 0.000563f, 0.001404f, 0.000567f, 0.003370f, -0.000610f, 0.000213f, -0.000419f, -0.002325f, -0.001055f, 0.000431f, -0.001241f, 0.000140f, + -0.000062f, -0.000547f, 0.003104f, 0.003104f, 0.001623f, 0.001281f, 0.001129f, 0.000380f, 0.000007f, 0.000394f, 0.000166f, -0.000498f, -0.001392f, -0.001586f, -0.000357f, -0.000165f, 0.022330f, -0.012739f, 0.003975f, -0.014087f, 0.001769f, 0.003376f, -0.014202f, -0.017977f, 0.004573f, -0.019510f, 0.004380f, -0.005040f, -0.001285f, -0.011941f, -0.001674f, -0.013417f, -0.006864f, 0.000119f, -0.014198f, 0.015223f, 0.005404f, -0.023593f, 0.002314f, -0.001239f, -0.004218f, -0.010064f, 0.005155f, 0.012337f, 0.000311f, -0.000842f, 0.011588f, -0.006707f, 0.000213f, -0.004248f, 0.007701f, -0.008883f, 0.002689f, 0.010830f, -0.009309f, 0.009478f, 0.003377f, 0.010246f, -0.000810f, 0.002369f, -0.001478f, -0.004245f, 0.013410f, -0.016510f, 0.003885f, -0.007278f, -0.003122f, -0.002108f, -0.005969f, -0.004408f, -0.013143f, -0.008249f, -0.002002f, 0.008648f, -0.000672f, 0.003277f, 0.012093f, -0.000235f, -0.010374f, -0.001297f, 0.000437f, 0.003309f, -0.005035f, 0.000058f, -0.010204f, 0.000258f, -0.004121f, 0.003432f, 0.005391f, 0.007886f, 0.002853f, -0.004392f, -0.005709f, 0.007739f, -0.002523f, -0.003492f, + 0.001493f, 0.004319f, 0.008928f, 0.001115f, 0.002600f, -0.000546f, 0.005256f, -0.000979f, -0.004069f, -0.002077f, -0.001988f, -0.000156f, 0.003580f, 0.000719f, -0.000182f, -0.001846f, 0.003470f, 0.000020f, -0.001230f, -0.000929f, -0.000825f, -0.000969f, 0.001675f, -0.000658f, -0.000121f, -0.001950f, -0.005281f, -0.018355f, -0.000142f, -0.011030f, -0.003431f, -0.001730f, -0.012883f, -0.001694f, -0.002946f, 0.006511f, 0.015180f, 0.015280f, 0.001876f, -0.006412f, 0.006144f, -0.014636f, -0.002039f, -0.005548f, 0.005197f, -0.021851f, 0.007809f, 0.003803f, -0.000739f, -0.006224f, -0.009396f, -0.004234f, -0.007742f, -0.006621f, 0.004162f, -0.001377f, -0.008353f, -0.002360f, 0.001758f, 0.014417f, -0.000500f, -0.014377f, 0.001185f, 0.006327f, -0.000130f, -0.004458f, 0.001250f, 0.005548f, -0.015678f, -0.001124f, -0.006792f, 0.011149f, 0.006772f, 0.001976f, -0.014495f, 0.001748f, 0.005641f, 0.009020f, 0.008381f, -0.009449f, -0.004455f, 0.000542f, -0.002950f, -0.002886f, 0.007806f, -0.004710f, 0.004790f, 0.001417f, -0.006078f, -0.001264f, -0.008364f, 0.010228f, 0.003826f, -0.009873f, -0.006864f, 0.001807f, + 0.005326f, -0.007805f, -0.009974f, -0.001579f, 0.000518f, -0.006524f, 0.001450f, -0.002603f, 0.003391f, -0.006209f, 0.009438f, 0.005177f, 0.007117f, 0.002162f, 0.000949f, 0.006524f, 0.008656f, 0.001144f, 0.002465f, -0.000689f, 0.001236f, 0.000286f, -0.000356f, 0.001106f, 0.000730f, 0.001145f, -0.001366f, 0.000194f, 0.000662f, -0.000337f, 0.000148f, 0.003029f, -0.001683f, 0.000807f, -0.002017f, -0.001458f, -0.001358f, 0.000450f, 0.001078f, 0.000891f, 0.000083f, -0.001711f, -0.001257f, 0.003115f, -0.031285f, 0.010217f, 0.009145f, 0.015265f, -0.003867f, 0.009615f, -0.026977f, -0.007320f, 0.008546f, 0.001081f, -0.013311f, -0.003410f, -0.004386f, -0.023618f, -0.009538f, 0.002479f, -0.001024f, -0.016817f, 0.010615f, 0.015073f, -0.015339f, 0.011766f, -0.020108f, -0.006784f, -0.001751f, 0.007019f, -0.000052f, -0.008102f, 0.005589f, 0.002835f, -0.001293f, 0.009088f, -0.004309f, -0.005730f, -0.001761f, -0.003238f, -0.005918f, 0.008942f, -0.006763f, 0.002588f, 0.006686f, -0.001274f, -0.005229f, -0.009827f, -0.001158f, -0.006989f, -0.002115f, -0.008144f, -0.002183f, 0.018370f, 0.000414f, 0.011201f, + -0.010170f, 0.009412f, -0.002880f, -0.014866f, -0.008782f, 0.008356f, -0.005399f, -0.007520f, 0.005491f, -0.008856f, 0.007474f, 0.002084f, -0.002719f, 0.009814f, 0.008816f, 0.003961f, -0.009625f, -0.010844f, -0.000729f, 0.014634f, 0.002919f, 0.002292f, -0.008223f, 0.002236f, 0.005252f, -0.011012f, -0.004039f, 0.003697f, 0.007773f, 0.003934f, 0.006583f, -0.000281f, 0.000084f, 0.002507f, 0.000330f, -0.001157f, 0.000416f, -0.000857f, -0.001383f, -0.004818f, -0.003908f, 0.001289f, -0.002345f, -0.001313f, 0.001671f, 0.000840f, 0.001227f, -0.000213f, 0.002026f, -0.001206f, 0.000113f, -0.001632f, 0.000034f, -0.002000f, 0.001064f, 0.000458f, 0.001452f, -0.002637f, -0.016471f, -0.015640f, -0.010235f, 0.002290f, -0.002384f, 0.006847f, -0.005476f, 0.000324f, 0.001461f, -0.004447f, -0.001505f, 0.004336f, -0.004418f, 0.018981f, -0.011944f, 0.008960f, -0.002915f, -0.000961f, -0.008395f, -0.002074f, -0.000909f, 0.013927f, -0.009005f, 0.001536f, 0.002926f, -0.013032f, -0.007876f, -0.008801f, -0.007467f, -0.015157f, -0.005050f, 0.005886f, 0.010776f, 0.006970f, -0.012077f, -0.017108f, -0.003551f, 0.000856f, + -0.008599f, 0.001950f, -0.005755f, -0.008769f, -0.021302f, -0.010521f, -0.014851f, 0.009040f, -0.003642f, 0.007408f, -0.008418f, -0.020708f, -0.010887f, 0.001369f, -0.004019f, -0.006573f, -0.002875f, -0.007953f, 0.011499f, 0.001339f, 0.006804f, 0.009085f, 0.002478f, -0.000029f, -0.007035f, 0.000658f, 0.009770f, -0.001307f, -0.006785f, -0.009426f, 0.015912f, -0.012687f, -0.017930f, -0.012506f, -0.007143f, -0.009762f, 0.011641f, 0.018515f, -0.014233f, -0.009649f, 0.002484f, 0.009161f, 0.013799f, 0.011062f, 0.008615f, 0.008600f, -0.002675f, -0.003258f, -0.003875f, -0.003919f, 0.003601f, -0.002264f, 0.001158f, -0.002838f, -0.004895f, -0.001739f, -0.003457f, 0.003075f, -0.002068f, -0.004221f, -0.002432f, -0.002284f, -0.004361f, -0.004726f, -0.002943f, -0.000919f, 0.001261f, 0.001287f, 0.002638f, 0.000678f, -0.007666f, 0.001313f, -0.000976f, -0.002804f, 0.001171f, -0.001004f, -0.002149f, -0.004803f, -0.004033f, 0.000528f, 0.000253f, -0.001357f, -0.001762f, 0.000390f, -0.002188f, 0.001742f, -0.001876f, -0.000876f, -0.000698f, -0.003295f, 0.004321f, -0.034400f, 0.010631f, -0.002419f, 0.006097f, 0.018895f, + 0.007411f, -0.004648f, 0.006386f, -0.014177f, 0.008777f, 0.010335f, -0.018759f, -0.003973f, -0.009508f, 0.010612f, 0.009183f, 0.014391f, 0.016624f, -0.021584f, -0.011168f, 0.003614f, 0.018551f, -0.006998f, 0.008605f, -0.020622f, -0.006285f, -0.007192f, -0.004429f, -0.012455f, 0.003057f, -0.020404f, 0.014137f, -0.003947f, -0.003686f, 0.010443f, -0.000675f, 0.002449f, 0.010956f, 0.000386f, 0.008954f, 0.006132f, -0.002619f, -0.003458f, -0.001288f, -0.014275f, -0.010612f, -0.013030f, -0.000907f, 0.027419f, 0.006262f, 0.005396f, -0.000726f, -0.003696f, -0.000317f, 0.016443f, -0.003583f, 0.005235f, -0.031585f, 0.029108f, -0.007122f, -0.005038f, 0.001560f, 0.017888f, 0.006350f, -0.002824f, -0.010911f, 0.031198f, -0.006104f, -0.000222f, 0.009825f, -0.007705f, -0.000176f, 0.004617f, -0.007125f, 0.006303f, 0.005954f, 0.025816f, -0.012900f, -0.015880f, -0.003096f, 0.007860f, -0.009798f, 0.002342f, 0.006478f, 0.002317f, -0.005796f, 0.002742f, 0.006637f, -0.004082f, 0.000443f, -0.007124f, -0.002475f, -0.001939f, -0.006166f, 0.008095f, -0.005878f, -0.004603f, 0.003412f, 0.000009f, -0.006946f, -0.000368f, + 0.001441f, 0.003155f, 0.000135f, 0.003675f, -0.002652f, -0.001832f, -0.002203f, 0.002566f, -0.002710f, 0.004359f, 0.000231f, -0.001442f, 0.001649f, 0.004552f, -0.007773f, -0.000305f, -0.002166f, 0.014688f, 0.008148f, 0.016369f, -0.006838f, -0.004149f, 0.009346f, -0.015497f, 0.013561f, 0.015504f, -0.008075f, -0.001528f, -0.024889f, 0.000967f, 0.008296f, 0.006673f, -0.005429f, -0.017000f, -0.034275f, 0.000345f, -0.005992f, -0.016376f, 0.003573f, 0.010668f, -0.014994f, -0.006509f, -0.016335f, 0.007960f, 0.000728f, -0.002607f, -0.005563f, -0.007201f, 0.017199f, 0.020095f, 0.007697f, 0.009468f, -0.004720f, -0.010397f, 0.028109f, 0.006835f, -0.005024f, -0.016829f, 0.012056f, 0.000306f, 0.016081f, -0.001641f, 0.019918f, 0.009859f, 0.013880f, 0.011703f, 0.005873f, 0.015457f, 0.019348f, -0.000764f, 0.003418f, -0.006445f, -0.000397f, 0.010463f, 0.004270f, 0.005597f, -0.017477f, -0.006549f, -0.003839f, -0.015253f, -0.014583f, -0.009683f, 0.007870f, 0.016410f, 0.021529f, 0.028218f, 0.006138f, 0.002283f, 0.022712f, -0.009330f, -0.017448f, -0.006214f, -0.008926f, 0.014621f, 0.011930f, 0.004441f, + -0.016531f, -0.004655f, 0.002739f, 0.002173f, -0.003357f, -0.007736f, 0.002134f, 0.001724f, 0.009287f, -0.002468f, -0.005400f, 0.000897f, 0.001672f, 0.002120f, 0.000014f, -0.000061f, 0.001716f, 0.004137f, -0.003221f, -0.003179f, 0.000130f, -0.000569f, -0.004453f, -0.001182f, -0.005636f, 0.005800f, 0.001779f, -0.004316f, -0.000323f, 0.003872f, -0.002277f, -0.000554f, -0.003405f, 0.001608f, 0.001995f, -0.001630f, 0.005052f, 0.003757f, -0.000717f, 0.026125f, -0.025111f, -0.011897f, -0.003527f, 0.009906f, -0.023508f, 0.014584f, -0.023165f, 0.011146f, -0.000254f, 0.011839f, 0.018818f, -0.007940f, 0.017169f, 0.018824f, 0.017857f, -0.010618f, 0.015032f, -0.016546f, -0.013264f, -0.002183f, -0.010297f, -0.000310f, -0.008884f, 0.014767f, -0.011240f, 0.003136f, -0.011101f, -0.019280f, -0.009123f, -0.004172f, 0.022923f, -0.019532f, 0.018011f, 0.007882f, -0.027069f, 0.030674f, 0.007381f, 0.003304f, 0.021428f, 0.003712f, 0.000762f, -0.012384f, -0.000274f, -0.006970f, 0.024458f, 0.010296f, 0.017078f, -0.006858f, -0.004298f, 0.011788f, 0.020331f, -0.021598f, 0.021075f, 0.003777f, -0.003683f, -0.004116f, + -0.020459f, 0.009647f, -0.009775f, 0.004015f, 0.000673f, -0.018446f, 0.005967f, 0.015433f, -0.014339f, 0.009756f, 0.006221f, 0.021647f, 0.002078f, -0.001559f, 0.012960f, 0.018925f, 0.001309f, -0.010994f, 0.012527f, -0.014803f, -0.007910f, 0.003846f, -0.006205f, 0.003897f, -0.005025f, 0.001817f, 0.007972f, 0.005936f, -0.006258f, 0.005181f, -0.003345f, 0.004167f, -0.004473f, 0.013178f, 0.001078f, 0.012583f, -0.001777f, 0.003113f, -0.002933f, -0.001148f, -0.004299f, 0.007964f, 0.003100f, -0.006648f, 0.006637f, 0.007988f, -0.001159f, -0.001142f, 0.004630f, -0.000383f, -0.000690f, 0.006655f, -0.000481f, 0.001615f, 0.004038f, 0.002801f, -0.001318f, 0.005087f, -0.004507f, -0.000792f, 0.000701f, 0.001372f, 0.000851f, -0.000294f, -0.000891f, -0.005086f, 0.002129f, 0.007567f, 0.001872f, -0.021276f, -0.015233f, 0.023088f, -0.029642f, 0.007441f, -0.015796f, 0.017577f, -0.018848f, 0.028727f, 0.009929f, 0.002769f, -0.024977f, 0.012701f, 0.021075f, 0.005572f, -0.012861f, -0.008341f, -0.007381f, 0.019598f, 0.010619f, -0.027357f, 0.003826f, -0.019352f, -0.001113f, 0.002219f, -0.016588f, 0.021692f, + 0.021718f, -0.009874f, 0.004722f, 0.014778f, -0.018086f, -0.002731f, -0.005607f, -0.014918f, 0.031701f, -0.011525f, -0.007162f, -0.015974f, -0.026775f, -0.004216f, 0.000432f, -0.009206f, 0.003905f, -0.022082f, 0.001883f, 0.001592f, -0.004500f, 0.017510f, -0.003713f, -0.013559f, 0.007006f, 0.000028f, -0.010249f, 0.008770f, 0.037573f, -0.007487f, 0.008886f, 0.002101f, -0.025651f, -0.004107f, 0.022737f, 0.010342f, 0.022570f, -0.002262f, 0.013013f, -0.017982f, 0.008016f, 0.008043f, 0.002581f, -0.015267f, 0.014095f, 0.005089f, -0.039880f, 0.003183f, -0.007278f, 0.026697f, -0.010309f, 0.020753f, 0.019046f, 0.015478f, -0.002000f, 0.006001f, 0.000808f, 0.001652f, -0.002690f, -0.004279f, 0.010298f, 0.004307f, -0.000242f, -0.006783f, -0.009742f, -0.002126f, 0.004028f, 0.006877f, 0.004734f, 0.008793f, 0.000199f, -0.002210f, -0.003682f, -0.002652f, 0.003026f, 0.005326f, -0.000587f, 0.004238f, 0.002571f, 0.000911f, 0.003638f, -0.000559f, 0.003807f, -0.006337f, -0.008161f, -0.010420f, -0.000618f, 0.004998f, 0.002073f, -0.004791f, -0.001925f, -0.003294f, -0.003974f, 0.006671f, 0.001858f, 0.003087f, + 0.002612f, -0.046761f, 0.052299f, 0.005930f, 0.020480f, -0.038409f, 0.020553f, 0.026832f, -0.031503f, 0.011634f, 0.015193f, 0.011699f, -0.020453f, 0.002384f, 0.003290f, -0.007076f, 0.011511f, 0.024010f, -0.019760f, -0.016478f, -0.006205f, 0.020315f, 0.017522f, 0.024904f, -0.001488f, 0.010369f, -0.019027f, -0.005172f, -0.005147f, 0.003856f, 0.011554f, 0.031908f, 0.018877f, 0.011437f, 0.005840f, -0.001324f, 0.015089f, -0.005944f, -0.027880f, -0.005615f, 0.007837f, 0.008562f, -0.016433f, -0.012487f, -0.020285f, 0.003612f, -0.001869f, 0.006774f, -0.013396f, 0.023235f, 0.022678f, -0.020129f, 0.046990f, 0.001921f, -0.004626f, -0.000515f, -0.010124f, -0.002372f, -0.003310f, -0.019358f, 0.000034f, -0.000183f, 0.012265f, -0.040019f, 0.009461f, -0.014338f, 0.028611f, 0.034660f, 0.014820f, 0.014264f, 0.006234f, 0.002096f, 0.031218f, -0.006141f, -0.023584f, 0.019707f, -0.010780f, 0.005117f, 0.015276f, 0.028158f, 0.003701f, 0.002575f, -0.023012f, -0.001212f, 0.006359f, 0.017796f, -0.008119f, 0.009568f, 0.004430f, -0.007114f, 0.018008f, 0.002873f, 0.007913f, -0.005544f, -0.001978f, -0.005494f, + 0.000603f, 0.001897f, -0.003080f, -0.000365f, 0.005221f, -0.003247f, 0.005295f, 0.003561f, -0.004188f, -0.000613f, 0.002305f, -0.001844f, 0.000155f, -0.003942f, -0.012632f, -0.003737f, -0.002168f, 0.012717f, 0.015684f, 0.001385f, 0.002063f, -0.004769f, -0.005630f, 0.001169f, 0.001457f, -0.006852f, -0.005472f, -0.003640f, -0.003308f, 0.004125f, -0.007680f, -0.000518f, -0.005718f, 0.019407f, 0.003945f, -0.013022f, 0.012678f, 0.018901f, 0.016438f, 0.010498f, 0.019553f, -0.023158f, -0.014698f, 0.002910f, -0.020958f, -0.004994f, -0.003360f, 0.004972f, -0.005256f, -0.013472f, -0.017072f, -0.010107f, 0.008697f, 0.014836f, -0.025324f, 0.005669f, -0.002504f, -0.000413f, -0.030558f, -0.027326f, -0.004652f, -0.021133f, 0.010256f, -0.024135f, 0.001720f, 0.013335f, 0.018930f, -0.016367f, 0.022463f, 0.005974f, -0.002070f, -0.004644f, 0.033238f, -0.008944f, -0.001510f, -0.026315f, -0.014819f, 0.021969f, -0.001519f, 0.008497f, -0.025468f, -0.027736f, -0.007536f, -0.015523f, -0.002632f, 0.001519f, -0.010220f, -0.012960f, 0.008005f, -0.012007f, 0.001201f, -0.017834f, -0.009690f, -0.000159f, -0.029777f, 0.003059f, + 0.019786f, 0.004060f, 0.010445f, 0.021737f, 0.036830f, -0.035119f, 0.006566f, -0.021547f, -0.021152f, -0.011569f, -0.016050f, -0.010054f, -0.009432f, 0.036259f, 0.019873f, 0.020221f, 0.004231f, 0.006178f, -0.025881f, 0.001609f, -0.009054f, 0.004500f, -0.011187f, 0.016249f, 0.021084f, 0.002405f, -0.009417f, -0.006100f, -0.017839f, 0.001987f, 0.011109f, 0.006468f, -0.004255f, 0.011737f, 0.005563f, 0.012407f, -0.002507f, -0.001837f, 0.002051f, 0.008208f, -0.004922f, 0.003723f, -0.007277f, -0.009826f, 0.007448f, 0.003043f, 0.001586f, 0.002033f, -0.013849f, -0.007882f, -0.000012f, 0.011090f, -0.008950f, 0.005753f, -0.012016f, -0.003634f, -0.001880f, 0.004682f, 0.002947f, -0.003186f, -0.002902f, -0.015631f, 0.006862f, 0.037581f, 0.039810f, 0.043672f, -0.031483f, 0.002905f, 0.023821f, 0.018863f, -0.018151f, -0.035271f, -0.003596f, -0.004787f, -0.027602f, -0.015744f, 0.054064f, 0.004758f, 0.004239f, 0.020562f, -0.001731f, 0.009103f, -0.006784f, -0.020674f, 0.014570f, 0.012226f, -0.028124f, -0.040283f, -0.031032f, -0.024603f, -0.023340f, 0.002835f, 0.007572f, 0.012677f, -0.015313f, 0.016133f, + 0.004356f, -0.007288f, -0.016235f, -0.000043f, 0.001562f, -0.025496f, -0.019742f, 0.003505f, -0.004071f, 0.004066f, -0.015131f, 0.013256f, 0.004605f, -0.014335f, -0.031195f, -0.012083f, -0.010102f, -0.041843f, -0.012699f, 0.004452f, 0.021580f, -0.001539f, 0.025438f, -0.003893f, -0.001425f, -0.035602f, -0.007005f, 0.014656f, 0.007436f, -0.059903f, 0.017980f, 0.005698f, -0.016154f, -0.009775f, -0.016875f, -0.019361f, -0.000102f, 0.001370f, -0.018454f, -0.005720f, 0.012924f, 0.018055f, 0.028436f, -0.020755f, 0.001728f, 0.016093f, 0.000015f, -0.045731f, -0.036076f, 0.000008f, -0.009007f, 0.011990f, 0.000400f, -0.010931f, -0.015784f, 0.008051f, -0.004007f, 0.007349f, 0.019635f, -0.000097f, -0.008564f, -0.015319f, -0.028080f, -0.009441f, 0.002547f, -0.004375f, -0.004072f, 0.002292f, 0.002695f, 0.013226f, -0.005763f, 0.001735f, 0.005646f, 0.002933f, -0.009596f, 0.001589f, -0.001806f, -0.024730f, 0.003419f, -0.008915f, -0.010473f, 0.004449f, 0.003965f, -0.007239f, -0.001501f, 0.009412f, 0.003534f, 0.002766f, -0.008364f, -0.010160f, -0.002769f, -0.000442f, 0.001493f, 0.006787f, -0.011015f, -0.000969f, + -0.006904f, -0.004308f, -0.009080f, 0.015366f, -0.011980f, 0.042575f, -0.035378f, -0.021586f, -0.006723f, -0.067444f, -0.034920f, 0.000351f, -0.042739f, 0.034183f, -0.014635f, -0.013524f, 0.004466f, 0.077578f, 0.037810f, 0.002890f, 0.016450f, -0.003084f, -0.020051f, -0.001568f, -0.031362f, -0.022677f, 0.011662f, 0.011660f, 0.014479f, -0.021772f, 0.029150f, 0.017897f, 0.032900f, -0.032304f, 0.005937f, 0.048214f, 0.005145f, 0.002395f, 0.010113f, -0.045381f, 0.012386f, -0.011157f, 0.008234f, -0.018033f, -0.042544f, -0.002245f, 0.018191f, 0.021698f, 0.006235f, -0.006369f, 0.003867f, -0.001604f, 0.015065f, -0.032292f, -0.046792f, 0.008864f, -0.016603f, 0.028726f, -0.010601f, -0.011470f, 0.037824f, 0.008677f, 0.016708f, 0.003285f, -0.030557f, -0.012535f, -0.002964f, 0.017219f, 0.049680f, 0.037925f, -0.010428f, -0.042928f, -0.000086f, -0.004691f, 0.016822f, -0.026374f, -0.032567f, -0.018697f, 0.016644f, -0.033584f, -0.004445f, -0.028147f, 0.001026f, 0.023116f, 0.000158f, -0.042327f, -0.008492f, 0.005866f, 0.012072f, 0.005517f, -0.025645f, -0.017683f, -0.027498f, 0.004597f, -0.005052f, -0.012152f, + -0.008559f, -0.012153f, 0.003334f, -0.004973f, -0.010845f, -0.003180f, 0.009272f, 0.000109f, 0.000579f, -0.014293f, 0.000628f, -0.001218f, -0.008207f, 0.000889f, 0.018745f, 0.006053f, 0.004238f, -0.018168f, 0.008125f, -0.001923f, -0.001077f, 0.002950f, 0.000610f, -0.000289f, -0.002701f, -0.010817f, -0.011059f, -0.009908f, 0.013399f, 0.010788f, -0.003902f, -0.027112f, -0.008939f, -0.010060f, -0.001098f, -0.014438f, -0.077745f, 0.029473f, 0.024102f, -0.011736f, -0.051531f, -0.011656f, -0.020109f, -0.021096f, 0.022130f, 0.027500f, -0.003277f, 0.007264f, -0.058518f, 0.020118f, -0.073139f, -0.018733f, -0.006746f, 0.014156f, 0.036149f, 0.057784f, 0.023676f, -0.033948f, 0.007376f, 0.040289f, 0.004953f, 0.012050f, 0.021574f, -0.034483f, -0.013653f, -0.005685f, 0.009908f, -0.024370f, -0.013426f, -0.007582f, -0.018569f, -0.014075f, 0.024199f, 0.023955f, 0.005734f, 0.001754f, 0.041287f, -0.008117f, 0.019013f, -0.047489f, 0.030821f, 0.008715f, -0.043339f, 0.004137f, 0.013208f, -0.040494f, -0.005719f, -0.039604f, 0.012644f, 0.016364f, 0.017154f, -0.026728f, -0.002819f, 0.026257f, -0.022608f, 0.000105f, + -0.004112f, 0.043489f, -0.026429f, 0.031993f, 0.015738f, -0.040895f, 0.035162f, -0.030156f, 0.022413f, 0.030129f, -0.031209f, 0.017101f, -0.026725f, -0.032662f, -0.049597f, -0.041026f, -0.045417f, -0.010854f, 0.007355f, -0.013636f, 0.038520f, 0.040527f, -0.017855f, 0.035704f, -0.006167f, -0.007693f, 0.044908f, -0.010275f, -0.031240f, 0.021130f, -0.005288f, -0.023981f, -0.019072f, 0.017906f, 0.002475f, 0.009231f, 0.013530f, 0.002418f, 0.010988f, 0.018031f, -0.005603f, 0.020235f, 0.013206f, 0.010051f, 0.010772f, 0.001614f, 0.006300f, 0.017198f, 0.013107f, 0.017442f, 0.001797f, 0.014476f, -0.003552f, 0.000948f, 0.011836f, -0.006340f, -0.023660f, 0.010741f, 0.002765f, -0.000018f, -0.000418f, 0.010265f, -0.021092f, 0.010331f, 0.013280f, 0.011505f, -0.014322f, 0.011779f, -0.062026f, -0.029738f, -0.030923f, 0.052788f, 0.000827f, 0.019244f, -0.009512f, 0.075190f, 0.011193f, -0.051519f, 0.002913f, 0.055044f, -0.021482f, 0.011663f, -0.010029f, 0.004071f, -0.033438f, -0.044780f, 0.069009f, 0.048931f, -0.019942f, 0.037381f, 0.014171f, 0.048858f, 0.055592f, -0.017251f, -0.014151f, 0.049409f, + 0.035943f, 0.003320f, -0.016702f, -0.025693f, -0.027008f, 0.022470f, 0.043396f, 0.020042f, -0.008929f, 0.028983f, -0.016504f, 0.027471f, -0.013493f, 0.040405f, 0.072047f, 0.054766f, -0.060259f, 0.026380f, -0.011001f, -0.024953f, -0.001672f, 0.019927f, 0.019099f, 0.132422f, -0.014346f, -0.002161f, -0.022582f, -0.024412f, 0.025040f, 0.047347f, -0.012692f, 0.035807f, 0.030326f, -0.004965f, 0.000198f, -0.026698f, 0.025493f, 0.021419f, 0.069941f, 0.071284f, 0.086592f, 0.035578f, -0.023272f, -0.018893f, -0.041152f, 0.038487f, -0.060426f, 0.042253f, -0.056780f, 0.032037f, -0.020641f, -0.034375f, 0.023335f, -0.091207f, -0.072478f, 0.012240f, 0.013092f, -0.026669f, -0.026052f, 0.041378f, 0.020054f, -0.039589f, 0.004794f, -0.009634f, -0.022218f, 0.006155f, 0.009893f, 0.002520f, 0.010034f, 0.012155f, 0.021791f, -0.011347f, 0.003448f, -0.013554f, -0.023606f, -0.014607f, 0.004411f, 0.001172f, 0.030236f, 0.005878f, -0.008571f, -0.026111f, 0.003000f, -0.010829f, -0.009168f, -0.012052f, 0.007713f, 0.018054f, 0.005642f, 0.015567f, 0.012668f, 0.020837f, -0.010139f, 0.015691f, 0.001128f, 0.004023f, + -0.002541f, 0.000636f, -0.013777f, 0.014417f, 0.035188f, 0.018691f, -0.004916f, -0.004809f, 0.030130f, 0.025445f, -0.021007f, 0.008368f, 0.015817f, -0.009952f, 0.043060f, 0.010637f, -0.096664f, 0.023650f, 0.014128f, -0.071690f, 0.005598f, -0.011338f, 0.004337f, 0.027839f, -0.002212f, -0.066207f, -0.010628f, -0.020345f, -0.002433f, 0.048787f, 0.058586f, -0.031482f, -0.006851f, -0.026262f, 0.015463f, -0.050526f, -0.098700f, -0.034804f, -0.028838f, 0.006295f, 0.003038f, 0.046537f, -0.067011f, 0.033613f, -0.014500f, -0.006565f, 0.029520f, 0.014185f, 0.049009f, 0.011818f, 0.019753f, 0.051862f, -0.056727f, 0.073528f, 0.059078f, 0.030979f, 0.055509f, -0.020078f, 0.021988f, -0.049733f, -0.008610f, -0.024599f, 0.046260f, -0.038817f, 0.011063f, -0.084371f, -0.104206f, 0.071413f, -0.001771f, 0.046365f, -0.030601f, 0.030962f, -0.019465f, 0.007349f, -0.010518f, -0.068455f, -0.020380f, -0.045512f, -0.020461f, 0.025841f, 0.104194f, 0.037407f, -0.089069f, -0.019763f, 0.025511f, -0.020270f, -0.012045f, -0.059146f, -0.029434f, 0.046940f, -0.015790f, 0.011883f, 0.010627f, -0.036633f, 0.025141f, -0.004787f, + 0.003362f, -0.075923f, -0.020755f, -0.000994f, -0.033448f, -0.019231f, 0.004456f, -0.051213f, 0.006962f, 0.012192f, -0.040372f, -0.032414f, -0.057637f, -0.043585f, -0.002546f, -0.023905f, -0.010152f, 0.002012f, -0.015389f, -0.016215f, -0.005382f, -0.025651f, -0.010966f, 0.003839f, 0.019368f, -0.022601f, -0.006667f, -0.039044f, 0.015537f, 0.010124f, 0.024818f, -0.015947f, 0.025750f, -0.050705f, -0.001433f, 0.000353f, -0.001995f, 0.008142f, -0.006708f, 0.005724f, -0.022110f, -0.024588f, 0.001804f, 0.010217f, 0.000911f, -0.019341f, 0.006980f, 0.005985f, -0.060255f, 0.031748f, 0.031653f, 0.056337f, -0.027565f, 0.020671f, -0.031686f, -0.036671f, 0.016264f, 0.074854f, 0.121075f, -0.007481f, -0.008168f, 0.002636f, -0.002837f, -0.053904f, 0.084642f, 0.040852f, 0.044934f, 0.034906f, -0.024747f, 0.029593f, -0.048009f, -0.068651f, -0.012108f, 0.051714f, 0.033274f, -0.024426f, -0.016153f, -0.003203f, 0.041420f, 0.001991f, 0.030103f, 0.030018f, 0.049064f, 0.016720f, -0.031387f, -0.029220f, 0.027889f, -0.032912f, -0.025121f, 0.014932f, 0.053856f, 0.050324f, -0.057518f, -0.043847f, 0.029059f, 0.035514f, + 0.106184f, -0.024368f, -0.058491f, -0.059768f, 0.050559f, -0.038088f, 0.047659f, 0.054858f, 0.109206f, 0.233242f, -0.052561f, -0.029201f, -0.087762f, -0.138391f, -0.044833f, -0.069430f, 0.007455f, 0.097087f, -0.014771f, 0.051687f, 0.072341f, 0.048376f, -0.027573f, -0.085428f, -0.141501f, 0.079250f, -0.006189f, 0.090080f, -0.046636f, -0.121495f, 0.041946f, -0.071712f, -0.097126f, -0.048789f, -0.031417f, 0.031450f, 0.029522f, 0.055696f, -0.004859f, -0.025949f, -0.005043f, -0.001434f, -0.050702f, -0.047504f, 0.023770f, -0.016252f, 0.048434f, 0.045803f, -0.022351f, 0.045637f, -0.036140f, 0.001930f, 0.043148f, 0.005715f, -0.069585f, 0.019318f, -0.035548f, -0.004976f, -0.012128f, -0.008130f, -0.051636f, -0.040310f, 0.006983f, 0.061172f, 0.063238f, -0.059064f, -0.008258f, 0.074521f, 0.069011f, 0.001369f, 0.013611f, -0.065037f, -0.036454f, 0.011208f, 0.037520f, -0.055944f, 0.013375f, 0.046174f, 0.021114f, 0.018448f, 0.003699f, 0.029786f, 0.042434f, 0.022633f, -0.006452f, 0.007840f, -0.046107f, 0.009632f, -0.041944f, -0.117272f, 0.030653f, -0.048494f, 0.049951f, 0.008077f, 0.028300f, 0.024859f, + -0.107160f, -0.075723f, -0.036996f, -0.022968f, -0.024185f, -0.043335f, -0.012794f, -0.072556f, -0.045792f, 0.036130f, -0.046827f, 0.091778f, -0.066705f, 0.007778f, 0.019722f, -0.006385f, 0.008984f, -0.003100f, 0.022725f, -0.020297f, -0.021737f, -0.003145f, 0.017292f, -0.002080f, 0.040024f, -0.036041f, 0.009329f, 0.057772f, 0.019294f, 0.009313f, 0.030061f, 0.004357f, -0.022173f, -0.014039f, 0.047308f, 0.011120f, -0.072046f, -0.031676f, -0.058249f, -0.026273f, 0.079697f, 0.074035f, -0.074637f, -0.007657f, -0.085002f, -0.020038f, -0.006049f, 0.020567f, 0.044292f, -0.069833f, 0.048185f, -0.059353f, -0.009018f, -0.039993f, 0.091672f, -0.017617f, 0.065009f, 0.060391f, 0.134073f, -0.060552f, 0.055996f, 0.009585f, 0.053274f, 0.018841f, 0.040939f, -0.065948f, -0.059951f, 0.089426f, 0.005565f, -0.002711f, -0.061626f, 0.072311f, -0.023007f, 0.037397f, -0.064902f, 0.139710f, -0.073242f, 0.077987f, -0.092015f, 0.037467f, -0.069021f, 0.039448f, -0.063472f, 0.048629f, -0.039701f, 0.028798f, -0.021555f, 0.016111f, -0.033549f, -0.021035f, -0.015152f, -0.003806f, 0.013751f, 0.002696f, 0.011376f, 0.001347f, + 0.011221f, -0.004753f, -0.016381f, -0.027733f, 0.014276f, 0.014550f, 0.005549f, 0.013361f, -0.009058f, 0.005502f, -0.006848f, 0.005750f, 0.049363f, -0.011606f, -0.032773f, 0.005286f, -0.017880f, -0.036212f, 0.013223f, -0.019603f, 0.016223f, -0.016387f, 0.013775f, -0.031624f, 0.014630f, -0.041009f, 0.027562f, 0.060085f, 0.011075f, -0.104404f, -0.044763f, -0.063905f, 0.005771f, -0.013363f, -0.141671f, -0.063237f, -0.035574f, -0.074552f, -0.045579f, -0.142841f, -0.120172f, -0.020296f, 0.054185f, -0.077795f, -0.045569f, -0.009758f, -0.065850f, -0.013739f, -0.003454f, -0.063797f, -0.015523f, 0.015250f, 0.005233f, -0.085270f, -0.047553f, -0.047866f, -0.025599f, -0.029033f, -0.006886f, -0.058652f, 0.052420f, 0.034652f, 0.073978f, 0.106433f, 0.093046f, 0.025041f, 0.098273f, 0.040363f, 0.019216f, -0.040963f, 0.035780f, 0.036846f, 0.029813f, -0.009354f, -0.030856f, -0.013473f, 0.026217f, 0.044610f, 0.222135f, 0.031656f, 0.047484f, 0.034170f, 0.092144f, 0.036668f, 0.081219f, 0.145698f, -0.067188f, -0.139003f, 0.019769f, 0.091881f, 0.163045f, 0.073155f, -0.136582f, 0.020679f, -0.032326f, 0.204764f, + 0.151614f, 0.183416f, 0.168811f, -0.142653f, -0.092990f, 0.120593f, 0.144889f, -0.039575f, -0.080355f, -0.097983f, 0.227151f, 0.151635f, -0.007161f, -0.191311f, 0.048859f, -0.005338f, -0.040452f, 0.055371f, 0.016922f, -0.014768f, -0.038895f, 0.001376f, 0.033086f, 0.085665f, 0.061993f, -0.047557f, -0.017379f, -0.011093f, -0.007980f, 0.049452f, 0.037010f, 0.038924f, 0.003275f, 0.022014f, 0.079745f, 0.054569f, 0.013657f, 0.033221f, -0.018193f, 0.040880f, 0.052660f, 0.067769f, 0.086245f, 0.067547f, 0.052914f, 0.003311f, -0.008110f, -0.014102f, -0.002409f, -0.034029f, -0.017023f, -0.014614f, -0.042404f, -0.056379f, -0.064117f, -0.113544f, -0.062538f, -0.039883f, -0.066437f, -0.126429f, -0.086369f, -0.072783f, -0.084966f, -0.102360f, -0.107713f, -0.034187f, -0.038308f, -0.057064f, -0.029434f, -0.033501f, -0.020039f, -0.030810f, -0.029168f, -0.029120f, -0.020561f, -0.027779f, -0.016399f, -0.022176f, -0.015284f, -0.017647f, -0.009113f, -0.020093f, -0.001233f, -0.019845f, -0.026832f, -0.035479f, -0.104280f, 0.166800f, 0.134683f, -0.116888f, 0.025938f, -0.002881f, 0.018643f, -0.004737f, -0.011669f, 0.042788f, + -0.043318f, 0.041777f, -0.017224f, -0.000071f, 0.016504f, 0.013301f, 0.014894f, -0.000371f, -0.024570f, -0.015914f, 0.026779f, -0.022346f, -0.002906f, 0.025622f, -0.014210f, -0.015064f, -0.020644f, -0.037966f, -0.037906f, 0.027386f, -0.013868f, 0.010013f, -0.023859f, 0.004458f, -0.050540f, -0.009422f, 0.013772f, 0.032185f, -0.020712f, 0.006775f, 0.022221f, 0.035264f, -0.008584f, 0.029133f, -0.023983f, 0.093535f, -0.034917f, 0.032027f, 0.004269f, 0.017983f, -0.017638f, 0.024532f, -0.010027f, 0.066525f, -0.010966f, 0.020345f, -0.046752f, 0.060990f, -0.032314f, -0.002893f, -0.009106f, 0.008533f, -0.018340f, 0.036446f, -0.042537f, 0.034212f, -0.038981f, 0.050163f, -0.052919f, 0.063716f, -0.042646f, -0.023495f, -0.026728f, -0.013938f, 0.002579f, -0.042728f, 0.027539f, -0.025558f, 0.024168f, 0.001391f, 0.033400f, 0.011977f, 0.023124f, 0.040007f, 0.017607f, -0.014731f, 0.011031f, 0.009273f, -0.005677f, 0.006614f, -0.012581f, 0.013970f, -0.006994f, -0.000667f, -0.012276f, 0.027823f, -0.028067f, 0.001869f, -0.002357f, 0.022370f, -0.004186f, 0.003939f, -0.005157f, 0.008458f, -0.013104f, 0.009413f, + -0.011143f, -0.006922f, 0.022186f, 0.018770f, -0.005599f, -0.020781f, 0.013169f, 0.016431f, 0.019154f, -0.018200f, 0.015029f, -0.012950f, 0.011433f, 0.001538f, 0.004722f, -0.019590f, 0.020260f, -0.008490f, -0.022543f, 0.017979f, 0.018919f, -0.016829f, -0.002463f, -0.004694f, 0.005778f, -0.016469f, 0.021913f, -0.021025f, 0.008175f, -0.022921f, 0.020191f, -0.017056f, 0.017506f, -0.014104f, 0.021348f, -0.024063f, 0.025571f, -0.023814f, 0.013043f, -0.020188f, 0.019958f, -0.022879f, 0.018409f, -0.015172f, 0.022780f, -0.025337f, 0.025401f, -0.022470f, 0.021280f, -0.017037f, 0.019747f, -0.018370f, 0.016860f, -0.014758f, 0.013711f, -0.015086f, 0.013219f, -0.014002f, 0.014877f, -0.015346f, 0.014650f, -0.012814f, 0.012972f, -0.013237f, 0.012441f, -0.012039f, 0.013933f, -0.011887f, 0.013591f, -0.009951f, 0.011791f, -0.009714f, 0.009920f, -0.010212f, 0.012152f, -0.008994f, 0.009306f, -0.007310f, 0.010527f, -0.007825f, 0.007667f, -0.006966f, 0.005184f, -0.005325f, 0.006645f, -0.004526f, 0.007103f, -0.005455f, 0.007237f, -0.005486f, -0.040811f, -0.084480f, -0.092958f, 0.079274f, 0.020137f, -0.024379f, + -0.126018f, -0.050595f, 0.070425f, 0.014444f, 0.050904f, 0.056727f, -0.020301f, -0.035472f, 0.001817f, 0.013521f, 0.010548f, 0.009487f, -0.022182f, -0.016303f, -0.012262f, 0.000154f, 0.034262f, 0.018533f, -0.001529f, 0.007761f, -0.009714f, -0.016427f, -0.010423f, -0.008566f, 0.000732f, 0.010156f, -0.007648f, 0.013081f, 0.013775f, -0.046265f, -0.020476f, -0.020438f, 0.024845f, 0.017274f, -0.001455f, -0.021510f, -0.029065f, 0.025463f, 0.005708f, 0.017090f, 0.023804f, -0.042918f, -0.028506f, 0.007885f, 0.034700f, 0.017515f, -0.048800f, -0.030094f, -0.039630f, -0.018916f, 0.010315f, 0.009001f, -0.016273f, 0.017994f, -0.007299f, -0.017123f, 0.007745f, 0.016392f, -0.012158f, 0.003905f, -0.000406f, -0.015312f, -0.001334f, -0.005414f, -0.034644f, -0.035057f, -0.002098f, -0.037402f, -0.027982f, 0.001165f, 0.011396f, -0.008174f, 0.041304f, 0.030437f, 0.017405f, 0.001273f, -0.003903f, -0.018391f, 0.022900f, 0.011159f, 0.013380f, 0.012839f, -0.011509f, -0.004905f, -0.000827f, 0.006512f, -0.021572f, -0.026363f, -0.003582f, 0.011533f, 0.001756f, 0.014605f, 0.010263f, -0.013783f, 0.004560f, 0.008004f, + 0.005728f, -0.004482f, 0.014705f, -0.018337f, -0.010851f, 0.033545f, 0.019357f, -0.020768f, -0.015505f, -0.010615f, -0.018415f, 0.020326f, -0.000652f, 0.002836f, 0.009408f, 0.005971f, -0.000184f, -0.000880f, -0.013721f, 0.008659f, 0.005277f, 0.011930f, -0.006755f, -0.002118f, 0.007854f, -0.000870f, -0.009062f, 0.032789f, -0.081751f, -0.222768f, -0.084670f, 0.050717f, 0.107298f, 0.252996f, 0.148722f, 0.040433f, 0.052980f, -0.043855f, -0.081866f, -0.179221f, -0.120802f, -0.092665f, -0.030284f, 0.036714f, 0.098664f, 0.076623f, 0.095787f, 0.092477f, 0.062758f, -0.021179f, -0.072966f, -0.063257f, -0.064908f, -0.052257f, -0.075247f, 0.023089f, -0.047550f, 0.003457f, 0.035074f, 0.064672f, 0.036591f, 0.060531f, 0.079959f, 0.001452f, 0.023896f, 0.001724f, -0.001173f, -0.044699f, -0.005850f, -0.039782f, -0.077486f, -0.122484f, -0.068120f, -0.037408f, 0.009947f, 0.009258f, 0.072865f, 0.100967f, 0.097226f, 0.115557f, 0.016918f, 0.075812f, 0.030165f, -0.006912f, -0.071050f, -0.069785f, -0.094522f, -0.124301f, -0.084591f, -0.096341f, -0.060849f, 0.000280f, 0.029949f, 0.069081f, 0.111856f, 0.164492f, + 0.132002f, 0.119388f, 0.064826f, -0.024756f, -0.024240f, -0.064714f, -0.137317f, -0.105708f, -0.173554f, -0.114318f, -0.050456f, -0.038629f, 0.054426f, 0.104149f, 0.143039f, 0.100734f, 0.077383f, 0.046827f, 0.053689f, 0.046921f, -0.007361f, -0.054238f, -0.051443f, -0.081536f, -0.089923f, -0.071835f, -0.048881f, -0.045745f, -0.043178f, 0.019726f, 0.042418f, 0.074604f, 0.088891f, 0.072620f, 0.064132f, 0.036343f, 0.001471f, 0.001700f, 0.008460f, -0.054055f, -0.091234f, -0.037622f, -0.079649f, -0.090689f, -0.002842f, 0.022465f, 0.050673f, 0.052013f, 0.033579f, 0.054978f, 0.032281f, 0.043945f, -0.009075f, -0.001120f, -0.038472f, -0.023479f, -0.020320f, -0.025814f, -0.029082f, -0.023869f, 0.004169f, -0.010068f, 0.000325f, 0.026652f, 0.037563f, 0.023258f, 0.020735f, -0.005405f, -0.006240f, -0.000582f, -0.000256f, -0.011617f, -0.013133f, -0.002482f, -0.007638f, -0.008383f, -0.004536f, -0.000086f, -0.007981f, -0.003017f, 0.016801f, 0.005588f, 0.007925f, 0.010559f, 0.009041f, 0.003242f, 0.003092f, -0.002002f, -0.007113f, -0.010405f, -0.007478f, -0.012192f, -0.010005f, -0.002718f, 0.001906f, 0.004212f, + 0.008297f, 0.006581f, 0.006082f, 0.007901f, 0.005493f, -0.003401f, 0.001453f, 0.003179f, -0.002350f, -0.006498f, -0.006831f, -0.005556f, -0.000433f, -0.002484f, -0.003969f, -0.002462f, 0.002267f, -0.000263f, 0.002320f, 0.005971f, 0.005886f, 0.004900f, 0.002730f, 0.000436f, 0.000091f, -0.001849f, -0.001761f, -0.002943f, -0.002718f, -0.002109f, -0.001807f, -0.002960f, -0.001565f, -0.001533f, -0.001125f, 0.000863f, 0.003585f, 0.002029f, 0.003018f, 0.003437f, 0.002857f, 0.001727f, 0.000442f, -0.001098f, -0.001903f, -0.003016f, -0.002232f, -0.002526f, -0.002318f, -0.000826f, -0.000054f, -0.000940f, 0.000464f, 0.002131f, 0.002598f, 0.001692f, 0.001057f, 0.001152f, 0.001287f, -0.000295f, -0.001117f, -0.001242f, -0.001051f, -0.000964f, -0.000477f, -0.000384f, -0.000051f, 0.000083f, 0.000203f, 0.000063f, 0.000115f, 0.000097f, 0.000105f, 0.000030f, 0.000040f}, + {0.015075f, 0.009664f, 0.000295f, 0.000542f, 0.011877f, 0.002989f, -0.005872f, 0.004068f, 0.007910f, -0.003953f, -0.006517f, -0.023463f, 0.001275f, -0.007861f, 0.015716f, -0.007741f, 0.007889f, 0.006393f, -0.000801f, 0.005179f, 0.008701f, 0.002424f, 0.002045f, -0.004230f, -0.005149f, -0.003944f, -0.006493f, 0.005727f, 0.003392f, -0.003012f, 0.005120f, -0.003473f, -0.005191f, -0.006148f, -0.002989f, -0.004843f, 0.000426f, 0.000143f, -0.000907f, 0.010820f, -0.006215f, 0.008864f, -0.003173f, -0.002169f, 0.005910f, -0.003589f, 0.001850f, -0.003588f, 0.006478f, -0.001840f, -0.018369f, 0.005535f, 0.000646f, 0.002327f, 0.009244f, 0.004849f, 0.000669f, -0.002023f, -0.006074f, 0.015803f, -0.008317f, 0.006192f, 0.003203f, -0.006431f, 0.006623f, 0.003024f, -0.007687f, 0.006173f, -0.007929f, 0.000531f, -0.000820f, 0.007015f, 0.001142f, 0.007330f, -0.002796f, -0.016152f, -0.003473f, -0.003838f, -0.007712f, -0.006829f, -0.006844f, 0.005683f, 0.002467f, 0.002044f, 0.003403f, 0.003480f, 0.000677f, 0.001694f, -0.001902f, 0.001220f, -0.001404f, -0.000560f, -0.003963f, 0.000032f, -0.001317f, 0.003088f, + -0.000294f, -0.000864f, -0.000607f, 0.000406f, -0.002055f, 0.000793f, -0.000893f, 0.001202f, -0.000657f, 0.000297f, -0.002369f, -0.000202f, -0.002960f, -0.001726f, -0.001690f, 0.002500f, 0.028482f, -0.014248f, 0.001457f, -0.000985f, -0.000964f, 0.006378f, -0.005276f, -0.020674f, -0.019063f, 0.008779f, -0.006120f, -0.001889f, 0.004704f, 0.000914f, 0.004641f, 0.005190f, -0.009152f, 0.004733f, 0.003228f, -0.006530f, 0.007344f, 0.011126f, -0.007494f, -0.002563f, 0.000420f, -0.012306f, -0.005639f, 0.001076f, 0.014385f, -0.002495f, -0.000964f, -0.012263f, 0.007017f, -0.000149f, -0.011011f, -0.004799f, 0.003625f, -0.001807f, 0.001957f, -0.009554f, -0.000381f, 0.000479f, -0.003985f, 0.009874f, 0.002383f, 0.002089f, 0.009536f, -0.001174f, 0.012431f, -0.004398f, -0.016166f, 0.006299f, 0.006104f, -0.005803f, -0.002619f, -0.002132f, 0.001825f, 0.000546f, 0.004299f, -0.003838f, 0.002790f, -0.008902f, -0.000554f, 0.005565f, -0.008513f, -0.001152f, 0.004751f, 0.001390f, -0.004529f, 0.002704f, -0.003469f, 0.000735f, 0.008034f, 0.002780f, -0.011425f, 0.013517f, 0.004977f, 0.004874f, -0.001327f, 0.007714f, + 0.008589f, -0.003953f, -0.000697f, 0.001784f, 0.002095f, 0.002594f, 0.003538f, -0.000521f, 0.000153f, 0.002607f, -0.000544f, 0.000254f, 0.001575f, 0.004125f, -0.000833f, 0.004204f, -0.000312f, 0.000910f, 0.002075f, 0.000446f, -0.001406f, -0.000492f, 0.001373f, 0.001342f, -0.000400f, -0.002073f, -0.006908f, -0.016686f, -0.001991f, 0.001798f, 0.018424f, -0.007017f, 0.015791f, 0.003960f, -0.000535f, 0.000980f, 0.014128f, -0.003283f, -0.003861f, -0.004087f, 0.009959f, 0.020222f, 0.005300f, -0.013942f, -0.018917f, -0.026917f, 0.003532f, -0.007031f, -0.011313f, -0.006211f, -0.017543f, -0.000083f, -0.008139f, 0.001324f, 0.008431f, 0.008876f, -0.010000f, -0.008960f, -0.006359f, 0.001126f, -0.014883f, -0.001624f, 0.004636f, -0.006742f, -0.002448f, 0.001565f, 0.006011f, -0.008365f, 0.002192f, 0.019681f, -0.000807f, -0.000955f, -0.007245f, 0.008197f, -0.003642f, 0.000725f, 0.006265f, 0.008151f, 0.012117f, -0.001933f, 0.001797f, -0.003647f, -0.000153f, -0.002069f, 0.001612f, 0.018909f, -0.020998f, 0.000470f, 0.004095f, 0.011173f, -0.004636f, -0.005560f, -0.001224f, -0.005249f, 0.015119f, -0.008323f, + -0.019792f, -0.001371f, -0.005898f, -0.008291f, 0.004928f, -0.019602f, 0.007255f, -0.002097f, -0.005432f, 0.000396f, 0.013855f, -0.004102f, -0.005196f, -0.005340f, 0.006647f, -0.006224f, -0.001679f, 0.001169f, -0.000558f, 0.002389f, 0.000230f, 0.000934f, 0.004119f, 0.000335f, 0.001084f, -0.001027f, 0.003313f, 0.000728f, -0.000649f, -0.003726f, -0.001994f, -0.000280f, -0.001949f, 0.003832f, 0.002342f, -0.002184f, 0.002867f, 0.000290f, 0.000431f, -0.002030f, 0.001074f, -0.000891f, 0.000097f, 0.000990f, -0.030754f, 0.011484f, -0.009623f, 0.012889f, -0.011590f, -0.001050f, 0.008916f, -0.017784f, -0.003063f, 0.005425f, -0.004851f, 0.025917f, -0.010884f, -0.003280f, -0.010384f, -0.008669f, 0.013302f, 0.014812f, 0.005718f, -0.017439f, -0.021069f, 0.019476f, 0.003251f, -0.019727f, 0.007356f, 0.000731f, 0.009321f, -0.005847f, 0.008892f, -0.011801f, 0.005738f, 0.019065f, 0.007857f, 0.008170f, 0.004309f, 0.000340f, -0.004872f, 0.003988f, 0.001467f, -0.012999f, 0.000198f, -0.004118f, -0.009575f, -0.009529f, -0.003642f, 0.007538f, -0.013734f, 0.001878f, -0.009942f, -0.001012f, -0.001538f, 0.004532f, + 0.008112f, 0.017227f, 0.006059f, -0.000094f, 0.007379f, -0.009199f, -0.013567f, -0.000236f, 0.003133f, 0.001414f, 0.016342f, -0.003717f, -0.002023f, -0.005226f, -0.002337f, 0.002334f, 0.007925f, -0.002149f, 0.003300f, -0.008111f, 0.013220f, -0.003467f, -0.004650f, -0.003048f, 0.004268f, -0.007179f, 0.000202f, 0.008200f, -0.000607f, -0.002340f, 0.001187f, 0.006518f, 0.005102f, -0.001002f, 0.004108f, -0.003508f, 0.002591f, -0.002116f, 0.000992f, 0.004673f, -0.001668f, 0.002007f, 0.001956f, -0.003162f, 0.003164f, 0.001973f, 0.000684f, -0.001345f, -0.002919f, -0.000672f, 0.003541f, 0.002396f, -0.001276f, 0.001458f, -0.000724f, 0.005879f, -0.000562f, -0.001609f, -0.015372f, -0.003587f, -0.009978f, -0.001019f, 0.020415f, 0.013049f, 0.009117f, -0.001552f, -0.017969f, 0.002507f, -0.011824f, -0.019046f, -0.006323f, 0.013707f, -0.010758f, -0.016888f, 0.004411f, 0.001449f, -0.008414f, 0.001804f, 0.009610f, 0.002647f, -0.022511f, -0.006380f, 0.014145f, 0.016663f, 0.008309f, -0.018656f, -0.006769f, 0.008501f, -0.003180f, -0.004017f, 0.001209f, 0.006245f, 0.001004f, 0.002308f, 0.019143f, 0.000036f, + 0.011579f, 0.008975f, -0.000148f, -0.008621f, -0.000212f, -0.005087f, 0.011413f, -0.006528f, -0.010890f, 0.000025f, 0.017908f, 0.001004f, 0.017790f, 0.009588f, 0.001725f, 0.011494f, -0.001939f, 0.024699f, 0.001993f, 0.012219f, 0.013921f, 0.001288f, -0.011511f, -0.001767f, -0.013772f, 0.007029f, -0.009869f, -0.005536f, -0.009100f, -0.006002f, -0.004367f, 0.004520f, 0.001529f, 0.006805f, -0.000282f, -0.007869f, -0.006849f, 0.002558f, 0.012724f, -0.003771f, 0.003148f, -0.013657f, 0.004328f, 0.011799f, 0.018118f, -0.006242f, -0.001348f, 0.002999f, -0.006229f, -0.000473f, 0.005982f, -0.001834f, 0.010989f, 0.000723f, 0.002502f, 0.000274f, 0.000524f, 0.004052f, -0.002676f, -0.001741f, -0.001426f, -0.000827f, 0.001112f, 0.001360f, -0.002067f, 0.001797f, -0.000628f, -0.002193f, -0.002668f, 0.000905f, -0.002532f, -0.001670f, -0.003176f, 0.001548f, 0.002205f, -0.000460f, 0.006200f, -0.004018f, 0.001096f, -0.000437f, -0.003509f, 0.005899f, -0.001698f, -0.000836f, -0.003080f, 0.003349f, 0.002209f, -0.000539f, 0.000899f, 0.002955f, 0.018641f, -0.027836f, -0.005123f, 0.023328f, -0.011570f, 0.004271f, + -0.017990f, 0.007934f, 0.032815f, -0.004432f, 0.001740f, -0.001382f, -0.023174f, 0.001877f, -0.001471f, 0.034819f, -0.010981f, -0.001699f, 0.015224f, -0.009591f, 0.021583f, -0.014545f, -0.002168f, -0.021993f, 0.024875f, 0.000345f, -0.009781f, 0.000318f, 0.009117f, -0.011562f, 0.017296f, -0.001838f, 0.015330f, -0.000109f, 0.008034f, -0.024041f, -0.015466f, -0.011217f, -0.003597f, 0.014493f, -0.021780f, 0.011647f, 0.009007f, 0.003039f, -0.009013f, -0.013138f, 0.029966f, 0.005951f, -0.003389f, 0.011621f, -0.010577f, 0.006299f, -0.014084f, -0.013842f, -0.005760f, -0.009295f, 0.032363f, 0.009661f, -0.006420f, -0.009618f, -0.012334f, 0.010169f, 0.008411f, 0.003057f, -0.011375f, -0.001394f, -0.004603f, 0.013821f, 0.001259f, 0.011179f, -0.026117f, 0.014207f, -0.002281f, 0.000698f, -0.002897f, 0.004592f, -0.011522f, -0.005367f, -0.018108f, -0.005936f, 0.006603f, 0.011050f, 0.011697f, 0.004317f, 0.004271f, 0.002724f, -0.006471f, 0.003860f, 0.002674f, -0.000487f, -0.004334f, -0.007241f, 0.003880f, 0.003604f, -0.005512f, 0.002845f, 0.000411f, -0.004572f, 0.003016f, 0.000822f, -0.001930f, -0.001092f, + 0.000314f, 0.000875f, -0.003335f, 0.002324f, 0.001322f, -0.005268f, -0.001195f, -0.002713f, 0.000465f, 0.003684f, 0.002579f, -0.000575f, 0.000199f, -0.002460f, 0.005912f, 0.000481f, -0.002016f, 0.011983f, 0.005997f, 0.009910f, 0.003065f, 0.000300f, -0.003511f, -0.014730f, -0.004456f, -0.009437f, 0.006051f, -0.000380f, 0.022603f, -0.018668f, -0.024100f, -0.005970f, 0.007722f, -0.007413f, -0.005716f, 0.019242f, 0.003983f, -0.010396f, -0.012004f, -0.012452f, 0.021018f, -0.010382f, 0.014251f, -0.006670f, 0.015577f, -0.015268f, 0.003527f, 0.023830f, 0.008248f, -0.032168f, 0.007567f, 0.000848f, -0.004008f, -0.002757f, 0.003442f, -0.003742f, 0.003261f, -0.005156f, 0.002710f, -0.001199f, -0.014311f, 0.014568f, 0.014950f, -0.004310f, 0.016547f, -0.013905f, -0.002310f, -0.003927f, -0.006557f, 0.018193f, -0.012897f, -0.022952f, -0.012808f, 0.004449f, -0.018693f, -0.017414f, -0.008645f, -0.005807f, -0.011932f, -0.000893f, 0.015546f, 0.016365f, 0.002605f, 0.017634f, 0.005596f, 0.002465f, 0.013397f, -0.014092f, -0.002379f, 0.000119f, -0.011554f, -0.000001f, -0.011189f, 0.013797f, -0.003813f, -0.002382f, + 0.011498f, -0.001971f, -0.003462f, -0.002237f, 0.013705f, -0.001545f, 0.004864f, -0.013109f, -0.004569f, 0.007514f, -0.008458f, 0.000747f, 0.000362f, 0.001587f, -0.006416f, -0.004401f, -0.003318f, 0.000333f, -0.003459f, -0.004143f, 0.001488f, -0.000532f, -0.003711f, -0.001562f, 0.000626f, -0.000286f, -0.001069f, -0.001181f, -0.002082f, 0.000825f, -0.006976f, -0.004821f, -0.004657f, -0.004615f, 0.000188f, -0.000145f, -0.001558f, 0.001852f, -0.003514f, 0.035885f, -0.017893f, -0.017231f, 0.011480f, 0.029140f, 0.005578f, 0.026231f, 0.014931f, 0.023810f, 0.010496f, -0.004600f, -0.010973f, 0.008446f, -0.017993f, -0.013735f, 0.019870f, 0.016577f, 0.041635f, -0.001206f, 0.005709f, -0.015591f, 0.016024f, 0.007170f, -0.018696f, -0.004545f, 0.023545f, -0.000213f, -0.026133f, -0.010657f, -0.014786f, -0.005127f, 0.014441f, 0.013204f, -0.009961f, -0.004930f, 0.018039f, -0.017699f, 0.007985f, 0.015127f, 0.018171f, -0.009882f, 0.015633f, -0.006778f, -0.023793f, 0.008239f, 0.021706f, -0.005963f, 0.006221f, 0.005181f, -0.007445f, 0.002525f, 0.006464f, -0.006904f, 0.002371f, 0.017500f, -0.010439f, -0.005621f, + 0.016222f, -0.003626f, -0.003339f, -0.027122f, -0.009600f, -0.016429f, -0.026827f, -0.018169f, 0.013402f, -0.008910f, -0.011489f, 0.023074f, 0.023165f, -0.005987f, 0.024920f, 0.009880f, 0.016363f, -0.004727f, -0.012933f, 0.010666f, -0.013409f, -0.026853f, -0.016127f, -0.006990f, 0.013169f, 0.005968f, 0.022092f, 0.003791f, -0.004783f, -0.003695f, -0.000024f, 0.003726f, -0.006886f, 0.000335f, -0.004003f, -0.000688f, 0.003876f, -0.000779f, 0.000620f, 0.007048f, -0.002598f, -0.001400f, 0.007113f, -0.005331f, -0.002671f, -0.003565f, 0.002110f, -0.003963f, 0.002605f, 0.001492f, 0.001123f, 0.003647f, 0.004799f, 0.002080f, 0.008651f, 0.000966f, 0.005922f, 0.001922f, 0.004459f, 0.005011f, -0.004447f, 0.003974f, 0.004385f, -0.003222f, -0.000943f, -0.000522f, -0.006218f, 0.001734f, -0.003211f, -0.018189f, -0.019459f, 0.026324f, -0.004405f, 0.060154f, -0.024797f, -0.011660f, -0.001402f, 0.014674f, -0.008410f, -0.008200f, -0.024808f, -0.028682f, 0.012931f, 0.002489f, 0.039569f, 0.012828f, -0.004065f, -0.004517f, 0.026276f, 0.026853f, -0.022209f, 0.016121f, -0.021217f, 0.005580f, -0.009153f, -0.010916f, + -0.006531f, 0.004520f, -0.003475f, 0.013957f, 0.006962f, 0.015617f, -0.001973f, -0.007434f, -0.014681f, -0.002823f, 0.017026f, 0.001543f, -0.022690f, -0.002834f, 0.005484f, -0.009659f, 0.017921f, 0.015188f, 0.003125f, 0.005300f, -0.049513f, -0.018930f, 0.017262f, -0.001132f, 0.027743f, 0.007781f, 0.031275f, -0.003486f, -0.016967f, 0.016750f, -0.009501f, 0.011438f, 0.002003f, 0.045646f, 0.037689f, 0.004491f, 0.010646f, -0.006176f, 0.014973f, 0.015953f, 0.017178f, 0.018642f, 0.030224f, -0.000509f, 0.005407f, -0.011549f, -0.010127f, 0.009525f, -0.014168f, -0.035031f, -0.026037f, -0.000557f, 0.021771f, -0.010944f, -0.019862f, -0.011343f, -0.010720f, -0.001131f, -0.023709f, -0.000894f, 0.004382f, -0.000100f, -0.003209f, -0.002269f, 0.002441f, 0.005180f, -0.000661f, 0.003922f, -0.017708f, -0.010784f, -0.005665f, -0.012478f, 0.001096f, -0.004463f, -0.007324f, -0.004847f, -0.002995f, 0.007235f, 0.002915f, -0.006650f, 0.002187f, 0.015920f, 0.008142f, -0.003273f, -0.005662f, -0.007139f, -0.004210f, -0.005738f, -0.012405f, 0.004633f, -0.004793f, -0.000915f, 0.008987f, 0.003026f, -0.001792f, 0.001819f, + 0.003446f, -0.052182f, 0.041260f, -0.001138f, 0.004734f, -0.014421f, 0.023152f, -0.049541f, -0.031742f, -0.009976f, -0.012690f, -0.001155f, -0.044416f, 0.008749f, 0.000956f, -0.001149f, -0.020261f, -0.020619f, 0.008452f, 0.028378f, 0.004432f, -0.037766f, -0.008153f, -0.030915f, 0.024500f, 0.015831f, 0.001271f, -0.013663f, -0.006443f, -0.006953f, 0.020196f, -0.002828f, -0.000367f, -0.004319f, -0.027354f, 0.014283f, 0.019244f, -0.011438f, -0.006094f, 0.014985f, -0.029780f, -0.021684f, -0.032860f, -0.011101f, 0.008313f, -0.020937f, -0.009985f, -0.000846f, -0.034033f, 0.010459f, 0.021051f, 0.037251f, 0.005390f, -0.003647f, 0.002317f, -0.024422f, -0.019159f, 0.028529f, -0.002003f, -0.010783f, -0.006703f, -0.043562f, -0.023373f, 0.008579f, -0.009190f, -0.005042f, -0.003379f, 0.028576f, -0.004929f, -0.027073f, 0.002193f, 0.021169f, -0.000529f, -0.013260f, -0.000249f, 0.001499f, -0.011194f, -0.018977f, 0.014949f, -0.034925f, -0.017297f, -0.000225f, 0.016905f, -0.021336f, 0.013520f, 0.008987f, 0.012317f, 0.013152f, -0.013426f, -0.003366f, 0.016098f, 0.003107f, -0.009849f, 0.009262f, 0.013318f, -0.012436f, + 0.004620f, 0.011971f, 0.011275f, 0.017749f, 0.001180f, -0.005407f, -0.003049f, 0.002919f, 0.000220f, 0.007803f, 0.006545f, 0.000607f, -0.001641f, -0.005663f, -0.001958f, 0.003900f, 0.007885f, -0.013115f, 0.001660f, -0.002500f, 0.005394f, 0.012635f, 0.000591f, 0.008842f, -0.004764f, 0.005864f, 0.007197f, 0.010641f, 0.008271f, 0.010379f, -0.000817f, 0.005944f, -0.001967f, 0.004524f, 0.027104f, 0.024839f, 0.008674f, 0.042469f, -0.019771f, -0.009527f, 0.006441f, -0.011823f, -0.003846f, 0.013494f, 0.045569f, -0.007995f, 0.008845f, -0.000848f, -0.003349f, -0.001324f, 0.050321f, -0.025196f, 0.025872f, -0.000838f, -0.033834f, 0.010480f, -0.033563f, -0.020778f, 0.018617f, -0.017992f, 0.013034f, 0.000155f, 0.001350f, 0.022203f, 0.017772f, -0.027965f, -0.031515f, -0.023908f, -0.008283f, 0.008298f, 0.008504f, 0.002767f, 0.005692f, -0.037886f, 0.005262f, -0.020615f, -0.047429f, 0.031405f, -0.009694f, 0.029494f, 0.031715f, 0.001263f, 0.011574f, -0.017770f, -0.021358f, -0.037599f, 0.008062f, 0.033314f, 0.005548f, -0.015496f, 0.001572f, -0.008104f, 0.004765f, -0.020538f, -0.016739f, -0.020511f, + 0.003005f, -0.003028f, -0.006926f, 0.021240f, 0.019226f, 0.011216f, 0.031407f, 0.002967f, -0.033913f, 0.042655f, -0.032033f, -0.010351f, -0.008349f, -0.008985f, 0.035839f, -0.006416f, -0.052349f, 0.043555f, -0.017674f, -0.011194f, 0.011693f, 0.010584f, 0.033631f, 0.021115f, 0.013840f, 0.016012f, 0.014635f, 0.010748f, 0.000243f, 0.013665f, 0.016787f, 0.003933f, -0.000175f, 0.017785f, -0.003678f, 0.001503f, -0.017332f, -0.004707f, -0.005799f, -0.009439f, 0.001007f, -0.002011f, 0.010700f, 0.007439f, 0.002895f, -0.002032f, 0.004943f, 0.001656f, 0.003491f, 0.006841f, -0.002726f, -0.003527f, 0.001157f, -0.003487f, 0.005163f, 0.001946f, 0.002187f, 0.003765f, 0.002130f, 0.016344f, 0.012010f, 0.002881f, 0.003027f, 0.039015f, 0.044144f, 0.010001f, -0.084200f, 0.002629f, 0.023282f, -0.028050f, 0.016455f, 0.033148f, 0.001257f, 0.008740f, 0.020775f, 0.015913f, 0.005927f, 0.029771f, 0.006452f, -0.004525f, 0.056215f, 0.020721f, 0.007028f, 0.024135f, -0.019069f, 0.029688f, -0.021393f, -0.002154f, -0.002731f, -0.007252f, -0.031390f, 0.010095f, -0.022310f, 0.040018f, -0.003940f, -0.008231f, + 0.058928f, 0.007618f, 0.008328f, 0.019429f, 0.001898f, 0.011077f, -0.013634f, -0.026122f, -0.003274f, 0.017147f, -0.030924f, 0.035218f, 0.031715f, 0.023373f, 0.005868f, 0.013807f, -0.021473f, -0.022236f, -0.035172f, -0.015661f, -0.019134f, -0.018182f, 0.007956f, -0.003646f, -0.034453f, -0.015393f, 0.029672f, -0.000767f, -0.028484f, 0.015707f, -0.001898f, -0.019421f, -0.046042f, 0.002944f, -0.069608f, 0.040030f, -0.023927f, 0.036393f, 0.001427f, 0.009988f, 0.000847f, -0.013833f, 0.018071f, 0.061720f, 0.005330f, 0.017441f, -0.011193f, -0.048485f, 0.003915f, -0.005415f, 0.034958f, 0.020361f, -0.008685f, -0.001901f, -0.007686f, -0.004006f, 0.011636f, -0.014001f, 0.010899f, -0.001806f, -0.012524f, -0.012404f, 0.012660f, -0.015148f, -0.015137f, -0.020929f, -0.004585f, -0.015089f, 0.004302f, 0.012910f, 0.000494f, -0.003926f, -0.010082f, 0.018932f, -0.018288f, 0.004569f, 0.001922f, 0.001478f, -0.010900f, 0.007470f, 0.018374f, -0.000948f, -0.009729f, -0.002392f, 0.016728f, 0.017672f, -0.014644f, 0.016921f, -0.001628f, -0.004540f, 0.002318f, -0.001182f, 0.018453f, 0.004809f, -0.010437f, -0.008889f, + -0.000491f, 0.002024f, 0.010654f, 0.023522f, 0.017603f, 0.046079f, -0.062378f, 0.025173f, -0.036371f, 0.031757f, -0.015213f, -0.025967f, -0.007179f, -0.029968f, -0.012394f, -0.006378f, 0.011346f, 0.014392f, -0.008495f, 0.044278f, -0.001701f, -0.007157f, -0.005534f, -0.039347f, -0.004049f, 0.000564f, -0.033100f, 0.011126f, -0.028183f, -0.035554f, -0.011307f, 0.022052f, -0.059220f, -0.040018f, -0.026701f, 0.003467f, -0.041441f, -0.035055f, -0.028427f, -0.014028f, -0.011361f, -0.005078f, -0.027933f, 0.030562f, 0.005440f, -0.002534f, -0.020793f, -0.021250f, 0.041037f, -0.035084f, -0.024026f, 0.011119f, 0.011108f, 0.015060f, -0.020386f, -0.028266f, -0.011887f, -0.004918f, 0.013564f, -0.020185f, -0.008058f, -0.008021f, -0.024389f, -0.041520f, -0.052803f, 0.050551f, -0.054728f, -0.002643f, 0.004082f, -0.009173f, -0.009970f, -0.048698f, 0.019201f, -0.011365f, -0.051340f, -0.000765f, -0.011143f, 0.048901f, 0.012172f, 0.034922f, 0.032996f, -0.009367f, 0.013012f, -0.004982f, -0.009224f, 0.024694f, -0.005990f, 0.014369f, -0.018471f, 0.001873f, -0.018611f, 0.016421f, 0.012637f, 0.002706f, 0.011570f, -0.004471f, + -0.001669f, 0.012565f, 0.005909f, -0.011437f, 0.008880f, 0.020222f, -0.002963f, 0.004999f, -0.010689f, -0.024907f, -0.002594f, -0.001796f, -0.000783f, -0.017157f, -0.003765f, 0.003250f, -0.002501f, -0.008942f, 0.012051f, -0.001767f, -0.006757f, -0.020071f, -0.020730f, 0.000743f, 0.011408f, 0.007152f, 0.004413f, -0.000951f, 0.014946f, 0.017407f, -0.007624f, 0.004101f, 0.004095f, -0.000687f, 0.005036f, 0.012771f, -0.055667f, 0.064851f, 0.010432f, 0.006740f, -0.011019f, 0.033048f, 0.000585f, 0.054275f, -0.014563f, 0.037314f, 0.020150f, -0.053050f, 0.023261f, 0.008994f, 0.025455f, -0.004102f, -0.014052f, -0.020967f, -0.007677f, 0.026296f, 0.057418f, 0.006330f, -0.008249f, -0.035971f, 0.013801f, -0.038922f, -0.006092f, 0.039854f, -0.035643f, 0.000352f, 0.002612f, -0.005870f, -0.013401f, -0.014898f, 0.063578f, -0.013400f, -0.015516f, -0.007374f, 0.014473f, 0.021629f, 0.008049f, 0.001391f, -0.012880f, 0.000159f, 0.009555f, 0.038929f, -0.008811f, 0.055549f, 0.032295f, 0.016816f, -0.013237f, 0.048484f, 0.054690f, -0.004110f, -0.014463f, -0.002463f, -0.017757f, 0.005853f, -0.017589f, 0.027997f, + 0.009401f, 0.040160f, 0.030699f, -0.048209f, -0.054820f, 0.066198f, 0.048848f, 0.008223f, -0.009310f, -0.025606f, -0.036121f, -0.013633f, 0.037004f, -0.034343f, -0.037713f, -0.004804f, -0.010192f, -0.059782f, -0.013452f, 0.013918f, -0.023380f, 0.003773f, -0.000171f, 0.003751f, 0.004885f, 0.010595f, -0.017797f, -0.010380f, -0.018292f, -0.006027f, -0.000097f, 0.003309f, -0.009990f, -0.004130f, -0.001780f, -0.029131f, -0.009924f, -0.013533f, -0.006569f, -0.000144f, 0.002617f, 0.001895f, 0.004969f, -0.001243f, 0.001088f, -0.014974f, 0.008996f, -0.012784f, -0.015583f, 0.011794f, 0.004748f, -0.027186f, -0.003044f, -0.007995f, 0.013767f, 0.027353f, 0.000567f, -0.021914f, 0.018198f, -0.004397f, 0.004755f, 0.007168f, -0.007369f, -0.004498f, 0.001661f, -0.011294f, -0.015995f, 0.029106f, -0.022956f, -0.007106f, -0.004442f, 0.006147f, 0.001395f, -0.034751f, -0.101622f, 0.051660f, -0.048608f, 0.020511f, 0.073376f, 0.011627f, -0.030035f, 0.021531f, 0.025906f, -0.010104f, -0.022594f, -0.004298f, -0.049796f, 0.017111f, -0.051774f, -0.031255f, 0.021508f, 0.002667f, 0.009569f, -0.046746f, -0.009101f, -0.033604f, + -0.028440f, -0.041581f, -0.014169f, 0.014917f, -0.024543f, -0.024938f, 0.025249f, 0.003919f, -0.001552f, 0.008366f, -0.047882f, -0.002478f, -0.037121f, 0.032736f, 0.009419f, -0.091642f, 0.023736f, 0.049882f, -0.010024f, 0.029958f, 0.025321f, 0.017230f, 0.013947f, 0.047661f, 0.037510f, 0.001859f, -0.033216f, -0.006642f, 0.037910f, 0.024748f, -0.030744f, 0.002746f, -0.036001f, -0.011283f, 0.003008f, 0.027000f, 0.036035f, -0.064685f, -0.050996f, -0.028358f, 0.006035f, -0.018886f, -0.006617f, 0.061127f, 0.010528f, 0.014846f, 0.047779f, -0.018677f, 0.010302f, -0.011561f, 0.048881f, -0.024112f, 0.002539f, 0.005305f, 0.036364f, -0.009486f, -0.003229f, 0.013589f, 0.015267f, -0.001379f, 0.007752f, 0.023867f, 0.001516f, -0.000248f, -0.000371f, 0.023252f, -0.010946f, -0.006889f, 0.006072f, 0.010336f, 0.007285f, 0.003487f, 0.011337f, -0.004510f, 0.000648f, -0.009940f, 0.000312f, -0.007274f, -0.000541f, -0.010198f, 0.018071f, -0.012692f, -0.018735f, 0.018733f, 0.012602f, 0.013044f, -0.013034f, -0.017103f, 0.000619f, -0.031052f, -0.008013f, -0.015781f, -0.015878f, 0.006873f, 0.000457f, -0.016361f, + 0.006297f, 0.007301f, -0.001213f, -0.009501f, -0.008957f, 0.007765f, 0.005210f, 0.015468f, 0.033833f, 0.032702f, -0.057029f, 0.011932f, -0.012287f, -0.014998f, -0.013257f, 0.038259f, 0.020314f, -0.027902f, -0.015928f, 0.029199f, -0.052461f, 0.002983f, 0.019077f, 0.029257f, -0.006238f, 0.006484f, -0.061224f, -0.000218f, -0.027129f, 0.020490f, 0.007515f, 0.033991f, -0.053850f, -0.027140f, -0.007847f, 0.006662f, -0.004651f, 0.010538f, 0.003832f, 0.029392f, 0.055329f, -0.035016f, -0.045292f, 0.011957f, -0.047200f, -0.013877f, 0.019731f, -0.034260f, -0.033344f, 0.002818f, 0.020499f, 0.028850f, 0.020415f, -0.012832f, -0.002928f, -0.060025f, -0.040533f, 0.053373f, -0.037045f, 0.072032f, -0.030560f, 0.014703f, 0.010505f, -0.000519f, -0.052943f, 0.066334f, -0.030911f, -0.006232f, -0.011958f, 0.025930f, 0.049886f, -0.050452f, -0.028760f, 0.059327f, -0.043914f, -0.000044f, -0.016602f, 0.012154f, 0.068571f, 0.000426f, -0.005089f, -0.042415f, 0.052442f, -0.017065f, 0.013607f, 0.017393f, -0.033234f, -0.039987f, 0.003873f, 0.023127f, -0.012024f, 0.011873f, -0.095007f, -0.044250f, -0.013637f, -0.048388f, + -0.023919f, 0.008133f, 0.031428f, -0.006590f, -0.008686f, -0.024720f, 0.000610f, -0.002320f, -0.018145f, -0.006202f, 0.011067f, 0.000972f, 0.014846f, 0.007028f, 0.014067f, -0.018630f, -0.002708f, -0.003874f, 0.019586f, 0.015581f, -0.011823f, 0.036066f, 0.013237f, -0.014470f, 0.021801f, 0.006026f, -0.002208f, -0.011378f, 0.008221f, -0.008223f, -0.007796f, 0.016134f, 0.001321f, -0.007054f, -0.006392f, 0.013527f, -0.003794f, 0.012232f, -0.002833f, 0.022226f, 0.004568f, 0.003256f, -0.009009f, -0.006552f, -0.008061f, -0.002936f, 0.002671f, 0.032508f, -0.037632f, 0.010162f, 0.030706f, 0.030354f, 0.069207f, -0.044424f, 0.063552f, -0.011508f, -0.042056f, -0.041164f, 0.010244f, 0.026394f, -0.018742f, -0.008797f, -0.029033f, -0.012105f, 0.053807f, -0.038411f, -0.003802f, 0.043212f, -0.014313f, 0.025687f, -0.017616f, -0.008539f, 0.045841f, -0.001889f, 0.002093f, 0.044224f, 0.030573f, 0.010631f, -0.005738f, 0.037310f, 0.051023f, -0.052523f, 0.047935f, -0.046427f, 0.024165f, -0.033590f, 0.006709f, 0.039467f, 0.013329f, -0.090504f, 0.039799f, 0.025348f, -0.000557f, 0.045474f, -0.071889f, -0.014110f, + 0.048454f, 0.041186f, 0.006677f, 0.064883f, -0.034919f, 0.000479f, -0.008589f, -0.010348f, 0.027696f, 0.011271f, 0.048568f, 0.040402f, -0.030768f, 0.026710f, -0.056903f, -0.017837f, 0.004279f, -0.003173f, -0.004652f, -0.009503f, -0.088918f, -0.049220f, -0.068734f, -0.046793f, 0.050668f, -0.031967f, -0.007930f, 0.005517f, 0.083119f, -0.020250f, -0.029620f, 0.066618f, 0.040727f, -0.002260f, 0.053923f, 0.007904f, 0.010009f, -0.025652f, -0.000149f, -0.021512f, -0.022643f, -0.011864f, 0.017315f, -0.021746f, -0.011448f, 0.010040f, 0.003745f, 0.016437f, -0.006965f, -0.003164f, 0.021412f, 0.012267f, 0.001049f, -0.017495f, -0.014084f, -0.002480f, -0.005568f, 0.012547f, 0.021365f, -0.001958f, 0.003609f, 0.004650f, -0.008985f, 0.053471f, 0.016402f, 0.003475f, 0.001940f, -0.017951f, 0.014092f, -0.031804f, -0.002555f, 0.026749f, -0.002110f, -0.007526f, 0.019437f, 0.010898f, 0.005809f, -0.000828f, -0.017755f, 0.011317f, 0.012523f, 0.003855f, 0.006758f, 0.009018f, -0.006326f, 0.006892f, -0.021479f, 0.022201f, 0.055812f, -0.029652f, 0.022010f, 0.027910f, -0.038906f, 0.005816f, -0.048019f, 0.019279f, + -0.004434f, -0.025295f, 0.039438f, 0.001842f, 0.061085f, -0.002999f, -0.044331f, 0.077011f, -0.012915f, 0.008304f, 0.011345f, -0.070946f, 0.022383f, 0.062333f, 0.022814f, -0.026134f, -0.046068f, 0.005550f, 0.012282f, 0.053389f, 0.034857f, -0.016531f, -0.009396f, -0.040425f, 0.001264f, 0.060310f, -0.080207f, 0.025259f, 0.057581f, -0.050357f, 0.019619f, 0.005939f, 0.020566f, 0.060315f, 0.020852f, 0.023668f, -0.010118f, -0.057967f, 0.061619f, -0.010636f, -0.030062f, 0.127849f, 0.063568f, 0.033081f, 0.006551f, 0.003506f, -0.058875f, -0.048475f, -0.021259f, 0.038016f, -0.000248f, -0.034125f, -0.023489f, 0.047789f, -0.027771f, 0.033104f, 0.019501f, -0.022695f, 0.035790f, 0.016502f, -0.049311f, -0.024573f, -0.028465f, 0.008899f, 0.032663f, -0.062445f, 0.021859f, -0.064000f, -0.080472f, -0.050731f, 0.079445f, -0.026476f, 0.017361f, -0.017717f, -0.025996f, -0.003321f, -0.031199f, -0.021867f, -0.016031f, 0.004578f, -0.029823f, 0.004240f, 0.019457f, 0.000557f, -0.026071f, -0.019729f, 0.010855f, 0.003674f, 0.036076f, 0.005245f, -0.038685f, -0.014965f, -0.021588f, 0.033439f, -0.005323f, -0.012708f, + -0.030284f, 0.000178f, 0.020413f, 0.009262f, 0.023086f, -0.010389f, -0.002117f, 0.006998f, 0.023533f, 0.014653f, 0.000879f, -0.011921f, 0.017950f, -0.014727f, -0.000053f, 0.009517f, -0.012702f, 0.000228f, 0.026287f, -0.000187f, 0.006223f, -0.026522f, -0.017420f, -0.020028f, 0.013999f, -0.021342f, -0.005058f, 0.077239f, 0.129248f, -0.022384f, -0.005053f, -0.107284f, -0.036485f, -0.079068f, -0.052956f, 0.071923f, 0.004435f, 0.019040f, -0.061041f, 0.018868f, -0.053681f, -0.119924f, 0.016682f, 0.056610f, -0.005423f, 0.006741f, 0.060985f, -0.082423f, 0.092644f, 0.045859f, 0.028457f, -0.046907f, 0.062079f, 0.120342f, -0.024716f, 0.036761f, 0.091230f, 0.076952f, 0.136265f, 0.029127f, 0.048520f, 0.036641f, 0.032713f, 0.116992f, -0.031202f, -0.014556f, 0.042751f, 0.025178f, -0.013353f, 0.064115f, 0.003337f, 0.013083f, -0.038918f, -0.105541f, 0.003548f, 0.069571f, 0.010157f, 0.041965f, -0.076296f, 0.004258f, -0.101271f, -0.000241f, -0.108783f, 0.007048f, 0.075536f, -0.010025f, -0.032720f, -0.103656f, 0.134875f, 0.024237f, 0.008691f, 0.139782f, -0.002050f, -0.032330f, -0.023993f, 0.006951f, + 0.027708f, -0.008004f, 0.000201f, -0.011357f, -0.074361f, 0.043691f, 0.016806f, -0.046639f, -0.028692f, 0.036498f, -0.044964f, -0.077641f, -0.037988f, 0.016698f, 0.073923f, -0.077692f, 0.061544f, -0.003211f, 0.032798f, -0.013715f, 0.026777f, -0.018748f, -0.002778f, 0.006557f, 0.007516f, 0.024712f, 0.022540f, 0.004529f, 0.047383f, -0.002592f, 0.019513f, 0.024831f, 0.014639f, 0.010819f, 0.011431f, 0.040821f, 0.030617f, 0.014659f, -0.015786f, -0.006760f, 0.035760f, -0.047300f, 0.018538f, -0.028221f, 0.007150f, -0.010500f, 0.032469f, 0.037004f, 0.075564f, 0.042047f, 0.071387f, 0.040722f, 0.015530f, 0.074587f, 0.077928f, 0.073718f, 0.042923f, -0.012337f, 0.044987f, 0.049163f, 0.031151f, 0.059188f, 0.045497f, 0.000538f, 0.014766f, 0.010660f, 0.011206f, 0.017978f, 0.014223f, -0.014182f, -0.013219f, 0.001749f, 0.014516f, -0.002430f, 0.000135f, -0.003260f, -0.006538f, -0.014026f, -0.012263f, -0.004811f, -0.002862f, -0.004866f, 0.000478f, -0.007738f, -0.003388f, -0.042852f, -0.137743f, 0.004821f, 0.181967f, 0.025005f, -0.039239f, -0.037214f, -0.085460f, -0.056402f, 0.000740f, 0.113038f, + 0.018451f, -0.078287f, -0.007271f, 0.029600f, 0.005773f, 0.000655f, -0.009307f, 0.018328f, -0.056503f, -0.022153f, 0.026228f, 0.061966f, 0.062374f, -0.062105f, -0.025002f, 0.003048f, 0.006820f, 0.014597f, -0.071333f, 0.005172f, 0.009630f, -0.019859f, 0.048335f, -0.002039f, 0.056040f, 0.085482f, 0.039907f, 0.016539f, 0.036154f, -0.050825f, 0.043137f, -0.041310f, 0.065382f, 0.117150f, 0.037306f, -0.065441f, -0.056990f, 0.052376f, 0.017885f, 0.099724f, 0.074241f, 0.021912f, -0.020684f, -0.023942f, 0.001391f, 0.004015f, -0.036888f, 0.038071f, 0.032684f, 0.005351f, 0.089599f, 0.061351f, -0.010104f, 0.043433f, 0.047964f, 0.022056f, 0.047967f, 0.001026f, -0.088535f, -0.011829f, -0.022622f, -0.021141f, 0.097060f, 0.044462f, 0.014323f, 0.077540f, 0.044808f, 0.049080f, 0.059758f, 0.020269f, -0.064476f, -0.032100f, -0.003219f, -0.002051f, -0.023888f, -0.019321f, -0.039821f, 0.022793f, 0.013527f, 0.036042f, -0.019084f, 0.040343f, 0.009784f, 0.041831f, 0.026753f, -0.010217f, -0.023569f, 0.005656f, 0.009696f, -0.000304f, 0.003067f, 0.030550f, 0.001184f, 0.048211f, 0.063567f, 0.018144f, + -0.007387f, 0.004237f, 0.045117f, 0.010302f, -0.016822f, -0.012985f, 0.035208f, -0.002392f, -0.013537f, -0.007630f, 0.010257f, 0.025992f, 0.050552f, -0.028033f, 0.002163f, -0.018245f, 0.002243f, 0.001869f, 0.040792f, -0.023206f, 0.019030f, 0.025882f, 0.013307f, -0.019588f, 0.003779f, 0.030257f, 0.001549f, 0.000938f, 0.026954f, 0.004119f, 0.015292f, 0.011250f, 0.000527f, -0.005399f, 0.002829f, -0.003760f, 0.004179f, 0.002534f, 0.004562f, 0.002239f, 0.011642f, 0.004631f, 0.003108f, 0.003751f, 0.007617f, 0.003514f, 0.008339f, 0.003386f, 0.004076f, 0.004436f, 0.003501f, 0.004667f, 0.002322f, 0.004324f, 0.005933f, 0.006742f, 0.006500f, 0.007320f, 0.005819f, 0.007738f, 0.005736f, 0.006307f, 0.002664f, 0.006422f, 0.002672f, 0.005917f, 0.001976f, 0.005966f, 0.004050f, 0.005469f, 0.001310f, 0.005465f, 0.003515f, 0.005815f, 0.003801f, 0.006550f, 0.002022f, 0.007005f, 0.002114f, 0.006263f, 0.003481f, 0.006210f, 0.002428f, 0.006986f, 0.002305f, 0.005688f, 0.003242f, 0.006110f, 0.002999f, 0.007211f, -0.000072f, -0.026229f, -0.128411f, -0.027162f, 0.073011f, 0.039754f, + 0.158734f, 0.009354f, -0.022003f, -0.070048f, -0.137642f, -0.151496f, -0.024418f, 0.066265f, 0.074670f, 0.047899f, -0.075912f, -0.100944f, 0.000253f, -0.011838f, 0.041527f, 0.106551f, 0.054949f, -0.009380f, -0.062526f, -0.085655f, -0.053157f, 0.004068f, -0.052040f, 0.021204f, -0.043370f, -0.021434f, 0.071689f, 0.058921f, 0.053044f, 0.020797f, -0.071526f, -0.019775f, -0.068366f, -0.052950f, -0.026856f, 0.041426f, -0.006655f, 0.043956f, 0.108231f, 0.112207f, -0.045560f, 0.013274f, -0.081457f, -0.056037f, -0.038337f, -0.006776f, 0.016474f, 0.065200f, 0.070227f, 0.095708f, 0.068855f, 0.024688f, -0.046135f, -0.043163f, -0.009346f, 0.030970f, -0.076788f, 0.005981f, 0.092133f, 0.072901f, -0.017939f, 0.098679f, 0.088930f, 0.049831f, 0.092897f, -0.173704f, 0.042468f, -0.049209f, -0.052541f, 0.030087f, -0.027675f, -0.002279f, 0.176571f, 0.148671f, 0.053742f, -0.045656f, -0.002964f, -0.069599f, -0.012601f, -0.093668f, -0.032204f, -0.015609f, 0.037337f, 0.115102f, 0.061352f, 0.024251f, 0.021620f, -0.018380f, -0.056540f, -0.074145f, 0.001360f, -0.048914f, 0.040432f, -0.004161f, 0.000891f, 0.044195f, + 0.037224f, 0.013705f, 0.038519f, 0.013293f, 0.059521f, -0.040605f, 0.000388f, -0.044785f, 0.019880f, -0.038948f, -0.034547f, 0.006335f, -0.009559f, 0.031094f, 0.056388f, 0.003448f, -0.049819f, -0.085969f, -0.024634f, -0.049807f, 0.007035f, 0.022433f, 0.042085f, -0.033200f, -0.010461f, 0.001559f, -0.000565f, 0.043643f, 0.003510f, -0.223742f, -0.253650f, -0.272722f, -0.275538f, -0.373533f, -0.022383f, -0.133956f, -0.043441f, 0.049267f, 0.124524f, 0.174795f, 0.180318f, 0.368694f, 0.395369f, 0.321822f, 0.239355f, 0.253546f, 0.241776f, 0.093061f, -0.036196f, -0.166499f, -0.166790f, -0.255873f, -0.083266f, -0.138749f, -0.103478f, -0.009850f, -0.217202f, -0.062597f, -0.194018f, -0.052926f, -0.222907f, -0.210165f, -0.097112f, -0.173540f, -0.017859f, -0.087727f, -0.081079f, -0.129808f, -0.085960f, -0.195924f, -0.138525f, -0.073688f, -0.067535f, -0.103716f, -0.063578f, -0.007768f, -0.083929f, 0.028073f, 0.125128f, -0.097714f, 0.148051f, 0.088663f, 0.197665f, 0.198510f, 0.173357f, 0.213753f, 0.180621f, 0.298213f, 0.296289f, 0.236204f, 0.316161f, 0.271023f, 0.414102f, 0.407706f, 0.480568f, 0.373925f, + 0.402597f, 0.438635f, 0.396309f, 0.473780f, 0.351142f, 0.513048f, 0.410115f, 0.156174f, 0.200518f, 0.052710f, 0.079409f, -0.277810f, -0.233060f, -0.260302f, -0.276910f, -0.292092f, -0.377200f, -0.355294f, -0.390370f, -0.428780f, -0.503898f, -0.421317f, -0.385639f, -0.428820f, -0.467483f, -0.557530f, -0.447083f, -0.495214f, -0.498287f, -0.378243f, -0.426213f, -0.246089f, -0.305222f, -0.209075f, -0.193935f, -0.102873f, -0.075056f, -0.106507f, -0.018268f, 0.050038f, 0.242161f, 0.229264f, 0.166648f, 0.188188f, 0.202694f, 0.274524f, 0.281446f, 0.304139f, 0.321027f, 0.275875f, 0.280574f, 0.205947f, 0.291942f, 0.298272f, 0.227483f, 0.159787f, 0.123659f, 0.179173f, 0.177572f, 0.137964f, 0.082973f, 0.045703f, 0.069948f, -0.018279f, 0.009720f, -0.032787f, -0.025698f, -0.132537f, -0.121000f, -0.088472f, -0.060899f, -0.080722f, -0.061506f, -0.029614f, -0.024027f, -0.032078f, -0.059325f, -0.054932f, -0.026913f, -0.035384f, -0.023017f, -0.019787f, 0.004278f, 0.009250f, 0.002038f, -0.009436f, -0.002146f, 0.004780f, -0.002912f, -0.003020f, 0.003564f, 0.006461f, 0.013072f, 0.003552f, -0.003315f, -0.000618f, + 0.004457f, 0.003725f, -0.002958f, -0.001273f, 0.007081f, 0.004459f, 0.003749f, 0.004131f, 0.007547f, 0.006224f, 0.001730f, -0.000594f, 0.005333f, 0.005085f, 0.005611f, -0.001245f, -0.005906f, -0.003001f, 0.002105f, 0.007279f, 0.008683f, 0.004805f, 0.001802f, -0.004438f, -0.007026f, -0.005232f, -0.005174f, -0.010264f, -0.016768f, -0.021177f, -0.021696f, -0.022457f, -0.024540f, -0.026876f, -0.031217f, -0.034854f, -0.037673f, -0.037322f, -0.033849f, -0.031160f, -0.031244f, -0.030277f, -0.028528f, -0.018498f, -0.012673f, -0.009236f, -0.001988f, 0.004932f, 0.010546f, 0.016213f, 0.022183f, 0.025512f, 0.029653f, 0.029484f, 0.028466f, 0.028315f, 0.025408f, 0.021061f, 0.016310f, 0.013052f, 0.010586f, 0.007808f, 0.005354f, 0.003235f, 0.001934f, 0.000905f, 0.000685f, 0.000426f, 0.000309f, 0.000205f, 0.000113f, 0.000106f, 0.000195f, 0.000328f, 0.000398f} + }, + { + {-0.005191f, 0.009873f, -0.000298f, 0.004109f, 0.001650f, -0.008456f, -0.006335f, 0.002327f, -0.005698f, -0.008503f, 0.005001f, -0.000923f, 0.001377f, -0.004840f, 0.003723f, 0.000446f, -0.007521f, -0.000251f, 0.008889f, 0.007239f, -0.005373f, -0.009544f, -0.008687f, 0.001387f, -0.001928f, -0.001628f, -0.007379f, 0.008228f, -0.002067f, 0.002386f, -0.003313f, -0.001976f, -0.000650f, 0.003178f, -0.002116f, -0.004189f, -0.016311f, 0.005673f, -0.001150f, 0.005395f, 0.003243f, 0.002321f, -0.000330f, 0.011031f, 0.002150f, 0.002278f, 0.001621f, -0.005505f, -0.003485f, -0.000428f, 0.000898f, -0.005512f, -0.001232f, 0.002272f, -0.000676f, -0.005204f, -0.002693f, 0.000285f, 0.005272f, -0.008017f, -0.010900f, -0.013537f, 0.004919f, 0.007896f, 0.000885f, 0.006546f, 0.004832f, 0.000996f, -0.012396f, -0.000237f, -0.003174f, -0.004295f, 0.000312f, 0.000785f, 0.005271f, -0.001028f, 0.007461f, 0.005302f, -0.002235f, -0.007394f, -0.003544f, -0.001250f, 0.002006f, 0.000658f, 0.002510f, 0.002888f, 0.005239f, -0.000024f, -0.000397f, -0.002337f, -0.002003f, -0.001921f, -0.000798f, -0.004090f, -0.001876f, -0.002277f, + 0.001394f, -0.000193f, -0.000430f, -0.001200f, 0.002052f, -0.002856f, 0.005936f, 0.007753f, -0.001756f, -0.000075f, -0.011028f, 0.009886f, -0.012636f, 0.004920f, 0.021336f, -0.004537f, -0.007919f, 0.001241f, 0.011137f, 0.001214f, -0.003152f, -0.001509f, -0.003177f, -0.001983f, -0.010009f, -0.003867f, 0.004946f, -0.007919f, -0.004543f, 0.000489f, -0.000437f, 0.008831f, -0.005365f, 0.001683f, -0.002076f, 0.001964f, -0.001117f, -0.005091f, 0.009735f, 0.016603f, 0.004193f, -0.000896f, -0.003106f, 0.017968f, 0.000832f, -0.007444f, 0.000498f, -0.013312f, 0.000045f, 0.007028f, -0.010262f, -0.001248f, 0.002195f, -0.008135f, -0.002471f, 0.009496f, 0.001337f, -0.000953f, 0.009100f, -0.005996f, -0.009585f, 0.005485f, 0.003587f, -0.006622f, -0.003324f, -0.007093f, -0.008402f, -0.008960f, -0.005005f, -0.005092f, 0.007310f, 0.005279f, 0.001423f, -0.000132f, -0.005091f, 0.004784f, -0.001113f, -0.003388f, 0.006189f, 0.006934f, -0.004905f, -0.000895f, -0.002328f, -0.003036f, 0.000946f, 0.007938f, -0.003982f, 0.001847f, 0.007467f, 0.005040f, -0.001736f, 0.001991f, -0.001329f, -0.000112f, 0.003152f, -0.000354f, + 0.000028f, 0.003330f, -0.003479f, 0.001502f, 0.000687f, -0.001004f, -0.003210f, 0.002543f, 0.000253f, -0.001316f, 0.000722f, 0.000459f, -0.001171f, 0.000475f, -0.000616f, -0.000947f, -0.001894f, 0.010940f, -0.015828f, -0.010434f, -0.003731f, -0.002262f, 0.000586f, 0.002089f, -0.015090f, 0.010560f, -0.004732f, 0.003482f, 0.002217f, 0.003545f, 0.006663f, -0.000002f, -0.002141f, -0.004993f, 0.010949f, -0.000817f, 0.007135f, 0.013503f, -0.002870f, 0.011487f, 0.009813f, -0.008420f, 0.005708f, 0.005766f, 0.006192f, -0.014891f, -0.001433f, 0.000934f, -0.004642f, -0.009351f, 0.000198f, 0.010999f, -0.002521f, -0.004654f, -0.003634f, 0.003391f, 0.010214f, 0.005057f, -0.005138f, -0.000049f, -0.004228f, 0.000469f, -0.001309f, -0.005028f, 0.009544f, -0.012229f, -0.010079f, -0.009274f, 0.002933f, -0.001274f, -0.000279f, -0.011409f, -0.012027f, 0.002977f, -0.000199f, 0.000717f, -0.001136f, -0.000610f, -0.008963f, -0.005307f, -0.009805f, 0.001964f, 0.008509f, -0.002604f, 0.007557f, 0.001434f, 0.006726f, -0.014374f, 0.000120f, 0.002109f, -0.004746f, -0.002146f, 0.001983f, -0.005105f, -0.000572f, 0.003799f, + 0.004136f, -0.003170f, -0.009574f, 0.008506f, 0.001391f, 0.000232f, -0.002067f, -0.001208f, -0.007652f, 0.000363f, 0.000595f, -0.001336f, 0.001456f, 0.000270f, -0.002658f, 0.001183f, 0.001314f, -0.000759f, -0.001044f, -0.000366f, -0.000394f, -0.000504f, 0.000492f, 0.004077f, 0.000135f, -0.001204f, 0.003429f, 0.001514f, -0.000196f, -0.001107f, -0.000264f, -0.000552f, -0.005588f, 0.001195f, -0.001240f, 0.009202f, 0.014720f, 0.000798f, -0.005804f, -0.012789f, 0.005635f, 0.003612f, 0.003358f, 0.015608f, -0.010449f, 0.000222f, 0.001766f, -0.002996f, -0.005304f, 0.002190f, 0.000840f, 0.009356f, 0.020795f, -0.001982f, 0.003472f, 0.008622f, -0.003953f, 0.007678f, 0.013461f, -0.009636f, -0.000509f, -0.003674f, -0.000352f, 0.005942f, -0.010761f, 0.011328f, 0.002400f, 0.000004f, 0.005885f, -0.001122f, 0.008209f, -0.004661f, -0.002083f, -0.002480f, 0.012984f, 0.006001f, 0.008212f, -0.001709f, 0.006739f, -0.012875f, 0.014586f, -0.005827f, 0.005641f, -0.013544f, 0.005261f, 0.009630f, 0.017811f, 0.006482f, 0.003199f, -0.011937f, -0.004685f, 0.003154f, -0.009107f, -0.010757f, -0.002682f, 0.021121f, + 0.024428f, 0.004609f, 0.005627f, -0.007119f, -0.003273f, 0.013645f, 0.002524f, 0.005919f, -0.000990f, 0.004086f, 0.003527f, -0.001914f, 0.002986f, -0.002106f, 0.002212f, 0.001564f, 0.008527f, 0.006976f, -0.011063f, 0.009629f, -0.003348f, 0.004910f, -0.003593f, 0.003589f, -0.003057f, -0.004136f, -0.000235f, -0.006552f, 0.000858f, 0.004660f, 0.000920f, 0.002368f, -0.002457f, -0.002933f, -0.001632f, 0.001115f, 0.000045f, 0.001014f, -0.000576f, 0.000686f, -0.001986f, 0.000621f, 0.000541f, 0.003391f, 0.000048f, 0.002294f, -0.001262f, 0.002052f, -0.002583f, 0.000240f, 0.000245f, 0.002445f, 0.010195f, 0.000113f, 0.001122f, 0.014369f, -0.012420f, -0.014604f, 0.022317f, -0.006005f, -0.003761f, 0.014517f, 0.008640f, 0.000902f, -0.025948f, 0.027678f, -0.005256f, -0.003709f, -0.003076f, -0.001708f, 0.000961f, 0.001531f, 0.008569f, 0.012805f, 0.008423f, -0.002060f, 0.014446f, 0.009056f, 0.004551f, 0.003727f, -0.005498f, 0.006459f, -0.010613f, 0.008172f, -0.001726f, 0.003303f, -0.008999f, -0.013102f, 0.001536f, -0.001837f, 0.004615f, 0.007574f, -0.003946f, -0.012555f, -0.007315f, 0.002830f, + -0.014924f, 0.009369f, 0.002874f, -0.023840f, 0.010577f, 0.001420f, 0.006010f, 0.001317f, 0.003582f, 0.003796f, -0.001053f, -0.006881f, -0.005871f, -0.016345f, -0.011930f, -0.006802f, -0.008313f, -0.002037f, 0.000888f, -0.012027f, -0.016776f, -0.002714f, 0.010799f, 0.018498f, -0.001017f, -0.012691f, 0.002012f, -0.019830f, 0.001290f, -0.001566f, -0.007763f, 0.016310f, 0.015502f, 0.005004f, -0.000648f, -0.004231f, -0.001223f, -0.008924f, 0.004044f, 0.015620f, 0.008441f, 0.012865f, 0.002609f, -0.006224f, 0.006061f, 0.002923f, -0.000475f, 0.001005f, 0.000683f, 0.000133f, 0.002803f, 0.002663f, 0.002782f, -0.001147f, 0.004907f, 0.001071f, 0.009717f, 0.003536f, 0.002587f, 0.000187f, 0.000815f, 0.002295f, -0.000722f, 0.004290f, 0.001664f, 0.001485f, -0.002623f, 0.005394f, 0.001404f, -0.002321f, -0.000865f, 0.004155f, -0.025330f, 0.013070f, -0.004844f, -0.009021f, -0.007153f, -0.008632f, -0.012045f, 0.023186f, -0.029556f, 0.006954f, 0.007134f, 0.009652f, 0.014434f, 0.002355f, 0.004008f, 0.005419f, 0.003909f, 0.002989f, 0.004890f, 0.012687f, 0.002293f, -0.007017f, -0.000014f, -0.001251f, + -0.009097f, -0.008254f, 0.004213f, 0.008488f, 0.009164f, 0.001215f, 0.006535f, -0.015423f, -0.001786f, -0.000249f, -0.000844f, -0.014619f, -0.008734f, -0.005285f, 0.009541f, 0.008523f, -0.000145f, -0.016002f, 0.000094f, -0.008685f, -0.006184f, -0.003178f, -0.004290f, 0.009988f, 0.013652f, 0.004101f, 0.014203f, -0.022758f, -0.015861f, 0.007511f, 0.004647f, 0.000725f, 0.003014f, 0.001437f, -0.007354f, -0.014338f, -0.009861f, 0.007522f, -0.006385f, 0.011528f, 0.011418f, -0.004212f, 0.010821f, -0.017252f, -0.008487f, -0.004897f, -0.005785f, 0.001196f, 0.031332f, -0.004565f, 0.008875f, -0.005062f, -0.004514f, -0.003257f, 0.006666f, 0.007056f, -0.000809f, 0.005681f, 0.003953f, -0.009841f, 0.002716f, 0.000674f, 0.004217f, 0.000835f, 0.000539f, -0.005003f, 0.003182f, -0.000285f, 0.003225f, 0.000941f, 0.001684f, -0.000996f, -0.001840f, 0.000848f, -0.002823f, -0.004200f, 0.001428f, -0.002343f, -0.003502f, -0.001139f, 0.001091f, 0.001300f, 0.001431f, 0.001435f, -0.000171f, 0.001000f, 0.002253f, 0.001746f, 0.000659f, 0.000434f, -0.000696f, -0.001296f, 0.002107f, 0.001050f, -0.000166f, 0.001438f, + 0.025884f, -0.004995f, 0.000694f, 0.010892f, -0.024668f, 0.016932f, 0.008580f, -0.013910f, 0.015411f, 0.017243f, 0.005779f, -0.026632f, 0.016442f, 0.000701f, -0.002525f, 0.013461f, 0.014543f, -0.000841f, -0.004313f, 0.000411f, -0.010345f, 0.009653f, -0.005663f, -0.009858f, -0.020722f, 0.004822f, -0.022522f, 0.006029f, -0.005531f, -0.002532f, 0.006476f, -0.018354f, -0.007550f, 0.015234f, -0.001346f, -0.007133f, 0.009317f, 0.000605f, -0.008019f, 0.006892f, 0.002489f, 0.000664f, -0.003447f, 0.005253f, -0.011180f, -0.001185f, -0.016320f, 0.015413f, 0.015408f, -0.019216f, 0.012817f, -0.013713f, -0.005187f, 0.013244f, 0.018525f, -0.001360f, -0.009252f, 0.005591f, -0.001181f, 0.002659f, -0.022679f, -0.017933f, 0.003562f, 0.003201f, -0.004917f, -0.004673f, 0.005862f, -0.000714f, -0.008049f, 0.009565f, -0.009276f, 0.003230f, 0.006916f, -0.001604f, 0.010856f, -0.010913f, 0.010977f, -0.000093f, 0.017476f, -0.006018f, 0.005293f, 0.009857f, 0.001101f, -0.006290f, -0.001803f, -0.000669f, 0.005113f, -0.001733f, -0.008250f, 0.006919f, 0.001489f, -0.003472f, 0.003048f, -0.002343f, -0.000122f, -0.003261f, + -0.000947f, 0.002349f, -0.002776f, 0.001754f, 0.004777f, -0.002510f, 0.001148f, 0.000309f, -0.001609f, 0.003010f, 0.000793f, 0.002558f, -0.003885f, 0.001545f, -0.003977f, -0.004553f, 0.001665f, -0.000749f, 0.001820f, 0.001880f, 0.000551f, 0.005520f, 0.007208f, 0.003163f, -0.009391f, 0.018222f, -0.006186f, 0.008886f, -0.018322f, -0.001263f, -0.004808f, -0.016630f, 0.000619f, 0.011812f, 0.020965f, 0.027417f, -0.015556f, -0.000399f, -0.019399f, -0.001416f, -0.012341f, 0.011090f, -0.011552f, -0.022884f, 0.001522f, -0.014654f, -0.001338f, 0.019043f, -0.011230f, -0.011206f, 0.020435f, 0.000667f, 0.003543f, -0.002097f, -0.011957f, 0.005130f, 0.004389f, 0.024616f, -0.016923f, 0.012091f, -0.014347f, 0.003622f, 0.004809f, -0.014159f, -0.008702f, 0.023638f, 0.006492f, -0.017522f, -0.004497f, -0.006390f, -0.014060f, -0.000560f, 0.023174f, 0.012428f, 0.016137f, 0.003714f, 0.006474f, -0.021083f, -0.003019f, 0.026888f, 0.002163f, -0.016657f, 0.008966f, 0.008912f, -0.012213f, -0.010634f, -0.005869f, -0.027556f, -0.004220f, 0.008225f, 0.013666f, 0.024255f, -0.006037f, -0.013220f, -0.003799f, -0.008217f, + 0.019701f, -0.007285f, -0.017135f, -0.011669f, -0.005038f, -0.002313f, -0.005286f, -0.009894f, 0.021444f, -0.012241f, -0.001457f, 0.002007f, 0.001058f, 0.007021f, 0.004392f, -0.006277f, -0.008436f, 0.006393f, 0.007673f, 0.008110f, -0.001817f, 0.003685f, -0.002207f, -0.001305f, 0.003644f, -0.000764f, -0.003725f, 0.003837f, 0.001815f, -0.000080f, -0.002429f, -0.000793f, -0.006228f, 0.000615f, -0.001523f, -0.005350f, -0.002718f, 0.002479f, 0.002160f, 0.000132f, 0.002531f, 0.011870f, -0.040805f, -0.028100f, -0.017977f, 0.002245f, -0.034173f, 0.005209f, 0.025564f, 0.008515f, 0.026320f, -0.013987f, -0.006396f, -0.002763f, -0.013536f, -0.005017f, -0.020367f, 0.036456f, 0.020863f, 0.014584f, -0.030631f, -0.005857f, -0.009792f, -0.019911f, 0.007014f, -0.002022f, 0.006585f, -0.024752f, -0.001607f, -0.002144f, -0.017733f, 0.010455f, 0.003056f, 0.018305f, 0.007435f, -0.015162f, 0.024117f, -0.011275f, 0.009851f, 0.005136f, -0.000096f, 0.019080f, 0.017768f, 0.004533f, -0.022805f, 0.028029f, -0.014040f, 0.020119f, 0.009248f, -0.010295f, -0.011423f, 0.022550f, 0.003412f, -0.002543f, 0.005965f, -0.018909f, + -0.006689f, 0.011023f, -0.001472f, 0.019949f, -0.011372f, -0.017894f, 0.007485f, 0.005159f, 0.000731f, 0.019839f, 0.008640f, 0.004093f, -0.012487f, 0.014458f, 0.005766f, -0.010951f, -0.001391f, -0.001109f, -0.006211f, -0.004537f, -0.005216f, 0.008725f, 0.021840f, 0.036657f, 0.017135f, -0.006098f, 0.001991f, -0.008325f, 0.008554f, 0.011330f, -0.000040f, -0.009274f, -0.005357f, -0.012128f, 0.007668f, -0.006593f, 0.001932f, -0.005691f, -0.001433f, 0.008192f, -0.000816f, 0.000954f, -0.007276f, 0.008013f, -0.004038f, -0.003488f, 0.004515f, -0.007227f, 0.008158f, -0.005520f, 0.004443f, -0.003880f, -0.000584f, 0.001867f, -0.005284f, -0.003801f, -0.002222f, -0.008807f, -0.008750f, -0.003841f, -0.000295f, -0.003072f, 0.007241f, 0.006596f, 0.003991f, -0.026332f, 0.034202f, 0.013884f, 0.039184f, -0.018304f, -0.021825f, 0.037318f, 0.000774f, -0.004405f, 0.007787f, 0.002403f, 0.021637f, 0.029004f, 0.003346f, -0.027896f, -0.044388f, 0.005670f, -0.012615f, 0.002193f, 0.000742f, -0.019481f, -0.001715f, 0.023424f, 0.019049f, 0.014891f, 0.030283f, -0.007432f, 0.025583f, -0.018800f, 0.022599f, 0.007126f, + 0.017398f, -0.012472f, 0.031029f, 0.017679f, 0.022523f, -0.037011f, -0.000675f, 0.032774f, 0.018428f, 0.005571f, -0.008385f, 0.049540f, 0.020609f, -0.020067f, -0.012584f, 0.011736f, -0.019573f, -0.002312f, -0.009655f, 0.002126f, 0.041491f, 0.043527f, 0.031441f, 0.011281f, -0.000129f, 0.016109f, -0.015093f, -0.004132f, 0.017522f, -0.019111f, 0.043966f, 0.027281f, 0.021327f, 0.008164f, -0.002206f, -0.021431f, 0.025904f, 0.000526f, 0.022534f, -0.010719f, 0.008455f, -0.015244f, -0.008986f, -0.000805f, 0.011123f, -0.017851f, 0.040902f, 0.017421f, -0.005041f, -0.020699f, -0.039494f, 0.018783f, 0.002932f, -0.013094f, -0.001679f, 0.004430f, -0.009598f, 0.005269f, 0.014575f, -0.003002f, -0.005660f, 0.000080f, -0.003670f, -0.004271f, 0.002925f, -0.005096f, -0.003930f, -0.006836f, 0.006272f, 0.003471f, -0.010275f, 0.005136f, 0.005811f, 0.005725f, -0.000680f, -0.003267f, -0.001582f, -0.000439f, 0.002778f, -0.001197f, 0.001929f, -0.006158f, 0.009077f, -0.012349f, -0.000280f, 0.003790f, 0.010236f, 0.001041f, 0.043427f, -0.001970f, -0.020650f, -0.009030f, -0.016067f, -0.000117f, -0.026104f, 0.007428f, + -0.022412f, 0.013511f, 0.003520f, -0.005700f, -0.017510f, -0.021102f, -0.032173f, -0.033470f, -0.009506f, 0.029939f, -0.001623f, -0.018742f, 0.008516f, -0.017857f, 0.014650f, -0.015196f, 0.028190f, -0.027899f, 0.007229f, -0.019666f, -0.019977f, -0.003347f, 0.004114f, -0.005581f, 0.013645f, -0.040382f, 0.017053f, 0.004337f, -0.009203f, -0.002427f, -0.002075f, -0.019803f, -0.031736f, -0.034319f, 0.025610f, 0.012714f, -0.012920f, 0.021971f, 0.001345f, -0.008663f, -0.024874f, -0.053311f, -0.043517f, 0.025359f, -0.007056f, 0.000890f, -0.004639f, -0.002208f, -0.001886f, -0.036035f, 0.014496f, -0.042634f, -0.022219f, 0.002256f, -0.000663f, -0.008905f, -0.005082f, -0.005455f, 0.044976f, -0.013448f, -0.013741f, -0.011771f, 0.047035f, -0.008127f, -0.017903f, 0.029579f, -0.022328f, -0.014447f, -0.018271f, -0.015803f, -0.059035f, 0.012152f, 0.010291f, -0.019856f, -0.002183f, 0.014122f, -0.007071f, -0.005236f, -0.010410f, -0.010085f, -0.000712f, -0.005228f, -0.004559f, 0.020959f, -0.000986f, -0.002152f, 0.014690f, 0.016670f, -0.007458f, -0.005948f, -0.000613f, -0.002874f, 0.004986f, -0.010083f, 0.001904f, 0.001206f, + 0.002650f, -0.006000f, -0.006666f, -0.003040f, 0.007570f, -0.002772f, -0.004750f, -0.000773f, 0.005087f, -0.013085f, -0.001282f, 0.007366f, 0.001271f, -0.005252f, 0.007810f, -0.004602f, 0.007019f, -0.000095f, 0.006753f, 0.006252f, 0.007300f, -0.011517f, -0.000340f, 0.000066f, -0.062966f, -0.047453f, -0.027012f, 0.055643f, -0.002488f, -0.008841f, -0.006435f, -0.003978f, -0.017907f, 0.019954f, 0.015425f, 0.049874f, -0.045365f, -0.008493f, 0.014345f, -0.032982f, -0.013092f, -0.011390f, 0.057254f, -0.000400f, 0.013394f, 0.029453f, 0.002872f, 0.028373f, -0.029908f, -0.037430f, -0.025129f, -0.006503f, -0.006226f, 0.005004f, 0.018019f, -0.000386f, -0.031717f, -0.021525f, -0.001442f, -0.016532f, -0.035626f, 0.032478f, -0.005170f, -0.017335f, -0.000063f, 0.010798f, 0.010307f, 0.006516f, -0.016037f, 0.003815f, -0.033163f, -0.014014f, -0.049256f, 0.023779f, 0.015035f, -0.005258f, -0.015399f, 0.018845f, -0.024509f, -0.005685f, 0.053360f, -0.004998f, 0.045225f, 0.020818f, 0.012172f, -0.011192f, -0.056649f, -0.022943f, -0.010862f, -0.029878f, -0.022792f, -0.013892f, 0.025407f, -0.010933f, 0.000594f, -0.022107f, + 0.048356f, -0.016599f, 0.019938f, 0.014231f, -0.033008f, -0.012564f, 0.007247f, 0.031294f, 0.055778f, 0.047170f, 0.020069f, -0.002426f, 0.019102f, 0.000896f, 0.001592f, -0.010182f, 0.005554f, -0.010540f, -0.007967f, 0.000579f, 0.003176f, -0.006033f, -0.009191f, -0.015539f, -0.013159f, 0.007769f, 0.005218f, 0.006497f, -0.006185f, -0.001685f, -0.032660f, 0.000222f, -0.015169f, -0.006189f, 0.005683f, 0.005368f, 0.001663f, 0.014300f, 0.000103f, -0.001015f, 0.001094f, -0.004525f, -0.023830f, -0.001328f, -0.013672f, 0.007630f, -0.012179f, -0.012015f, 0.001207f, 0.015979f, 0.006535f, -0.003330f, -0.009142f, -0.007182f, -0.004225f, 0.009066f, 0.001750f, -0.002638f, -0.006222f, 0.031765f, -0.002625f, -0.019728f, 0.019208f, 0.010549f, 0.067584f, 0.001327f, -0.000234f, 0.023148f, -0.031922f, -0.022384f, -0.007111f, 0.004605f, 0.010148f, -0.009354f, 0.028080f, -0.018857f, 0.003112f, 0.026248f, 0.011375f, 0.009072f, 0.009216f, -0.021202f, 0.002927f, -0.001654f, -0.010733f, 0.003132f, -0.015489f, -0.027066f, -0.014437f, 0.001006f, -0.026461f, 0.032078f, -0.003244f, 0.002265f, -0.005362f, 0.021747f, + 0.024912f, -0.005909f, -0.019777f, -0.002794f, -0.006840f, 0.029286f, 0.038161f, -0.028732f, -0.019783f, -0.015047f, 0.008991f, 0.027871f, -0.026601f, 0.007595f, -0.001861f, 0.005022f, -0.014168f, -0.019060f, 0.004941f, 0.018022f, 0.002851f, -0.024620f, 0.020656f, 0.061631f, -0.020968f, 0.010624f, -0.005396f, 0.003804f, 0.023535f, 0.005803f, 0.027871f, 0.022811f, -0.006935f, 0.035515f, 0.065814f, 0.001648f, -0.025223f, 0.064032f, -0.001949f, 0.061176f, -0.022180f, -0.031506f, 0.028055f, 0.010016f, 0.042805f, -0.008112f, 0.060549f, 0.018271f, 0.013548f, -0.019374f, 0.028346f, 0.002322f, 0.002270f, 0.005752f, 0.023040f, 0.003922f, 0.026407f, 0.002232f, 0.006090f, -0.000132f, 0.003451f, 0.003267f, 0.008027f, -0.003809f, 0.009078f, 0.021685f, 0.008938f, 0.009342f, 0.002642f, 0.005030f, -0.013239f, 0.010041f, 0.003721f, 0.004005f, 0.007624f, 0.003249f, -0.001348f, -0.001256f, 0.005847f, -0.007484f, 0.001687f, -0.000803f, 0.005166f, 0.015126f, 0.005342f, -0.001651f, -0.008709f, 0.007433f, 0.001007f, 0.000930f, -0.001995f, 0.007212f, 0.004432f, -0.013699f, 0.012057f, -0.043822f, + -0.014625f, 0.066454f, 0.010528f, -0.031826f, 0.008553f, -0.024311f, 0.008023f, 0.012090f, -0.006131f, -0.036370f, -0.014034f, -0.053982f, 0.021419f, 0.017403f, -0.021067f, 0.018936f, 0.030259f, 0.005491f, -0.008892f, -0.031922f, 0.006496f, 0.048793f, -0.024340f, 0.028917f, 0.027914f, 0.003590f, 0.020874f, 0.018932f, 0.000398f, 0.023827f, 0.016001f, -0.048261f, -0.007204f, -0.020028f, 0.047864f, 0.031097f, -0.034200f, 0.019767f, -0.004340f, 0.024528f, 0.080178f, -0.008629f, -0.014072f, 0.007043f, 0.072141f, 0.028767f, -0.004873f, 0.008241f, 0.012749f, 0.040836f, 0.036583f, -0.026353f, 0.044007f, 0.019280f, 0.040779f, -0.030226f, 0.004072f, 0.007152f, 0.008420f, 0.024320f, 0.037430f, -0.025702f, -0.019845f, 0.028762f, 0.014646f, -0.011323f, -0.010979f, -0.001073f, 0.045043f, -0.086655f, 0.019854f, -0.031592f, -0.022695f, 0.002901f, -0.029533f, -0.028441f, -0.004154f, -0.047984f, 0.033511f, -0.011200f, 0.035433f, -0.002565f, 0.030982f, -0.021882f, 0.012357f, -0.000554f, 0.010147f, -0.002287f, -0.012183f, 0.008105f, 0.006507f, 0.006188f, 0.015084f, -0.008801f, 0.007583f, 0.009105f, + -0.008848f, -0.000592f, 0.014452f, 0.003975f, -0.007905f, 0.014787f, -0.010740f, 0.000726f, 0.008411f, -0.011901f, -0.007899f, 0.001824f, 0.003224f, 0.016585f, 0.014976f, 0.009209f, 0.005454f, -0.003270f, 0.011713f, 0.001072f, 0.005192f, 0.003582f, 0.009759f, 0.010205f, -0.009713f, -0.009803f, -0.015739f, 0.010832f, 0.005042f, -0.000649f, 0.004065f, -0.001449f, -0.016943f, -0.016258f, 0.010895f, 0.014239f, 0.015084f, -0.019211f, -0.022839f, -0.058760f, 0.002526f, -0.032913f, 0.053123f, 0.006228f, -0.013941f, -0.008192f, 0.031852f, 0.008919f, 0.051801f, 0.020651f, -0.013553f, 0.001857f, 0.010890f, 0.023321f, 0.038978f, -0.043985f, -0.037855f, -0.008253f, 0.065614f, -0.020552f, 0.008353f, 0.018395f, 0.028750f, 0.034555f, 0.049894f, 0.042759f, 0.003796f, -0.010627f, 0.046617f, 0.003266f, -0.029672f, 0.015438f, -0.027517f, 0.019537f, 0.005008f, -0.024929f, 0.022522f, 0.087270f, 0.048889f, -0.031340f, -0.023368f, -0.003579f, -0.024235f, -0.024495f, -0.020741f, 0.014651f, -0.011767f, -0.020914f, 0.004672f, 0.023704f, 0.014534f, 0.007577f, 0.034570f, 0.008813f, -0.008200f, 0.035942f, + 0.030785f, -0.026726f, 0.018007f, -0.030120f, -0.023020f, -0.026764f, 0.000109f, -0.064014f, -0.018627f, 0.043762f, 0.032841f, -0.015603f, 0.022129f, -0.005821f, 0.001796f, -0.039552f, 0.009016f, 0.022940f, 0.037468f, 0.020421f, 0.024911f, 0.013001f, 0.012070f, -0.017195f, -0.014411f, -0.018263f, 0.010239f, -0.004383f, 0.001693f, 0.006977f, 0.008098f, -0.001386f, 0.019570f, -0.006645f, -0.008165f, -0.009794f, 0.013842f, -0.018292f, -0.006842f, -0.022430f, -0.000842f, 0.003656f, -0.009075f, 0.000204f, -0.004860f, 0.012953f, -0.002256f, -0.029420f, 0.000809f, -0.002655f, 0.008956f, 0.010558f, 0.004043f, 0.012082f, -0.000397f, 0.020075f, 0.004679f, -0.002366f, -0.000115f, 0.001539f, 0.001337f, 0.000319f, 0.008481f, -0.005433f, -0.024324f, 0.019267f, 0.015472f, -0.030779f, -0.013406f, -0.066380f, -0.005692f, 0.054489f, 0.000247f, -0.040754f, 0.006084f, 0.001404f, -0.027460f, 0.036150f, 0.020788f, -0.015219f, 0.010041f, 0.016107f, 0.022237f, 0.012069f, 0.003540f, -0.016777f, 0.008492f, 0.012525f, 0.034648f, 0.051818f, -0.014743f, -0.035759f, -0.018923f, 0.009453f, 0.010531f, 0.042536f, + -0.016832f, -0.034283f, -0.026645f, -0.027545f, 0.051760f, 0.094971f, 0.034341f, 0.004230f, 0.104442f, 0.005733f, 0.043099f, 0.024217f, -0.009166f, -0.022554f, 0.018284f, -0.030336f, -0.020172f, 0.020648f, 0.001091f, -0.063741f, -0.065736f, -0.016966f, 0.026986f, -0.034731f, -0.043129f, -0.024181f, -0.032014f, -0.026709f, 0.021775f, -0.018797f, -0.048849f, 0.021181f, 0.001599f, -0.014795f, 0.011039f, -0.011590f, 0.024158f, 0.097663f, -0.060541f, 0.048899f, -0.068789f, -0.039509f, -0.023006f, -0.016182f, 0.037773f, 0.014691f, 0.017961f, -0.008100f, 0.020860f, 0.043416f, 0.010746f, 0.000314f, 0.000285f, -0.013530f, 0.005783f, 0.011362f, 0.035072f, -0.002871f, -0.017800f, -0.003370f, 0.026731f, 0.016598f, -0.007908f, 0.009472f, 0.011987f, -0.010532f, -0.000606f, -0.004962f, 0.033628f, 0.011479f, 0.015808f, 0.011117f, 0.009439f, -0.014779f, -0.010149f, -0.003029f, 0.008447f, -0.017923f, 0.002262f, -0.017699f, -0.011867f, 0.001878f, 0.001561f, -0.020238f, 0.018754f, 0.025060f, -0.002778f, -0.004211f, 0.015554f, -0.000688f, -0.007010f, 0.022042f, -0.009652f, 0.014997f, 0.001227f, 0.052960f, + 0.033973f, 0.030597f, 0.045075f, -0.053167f, 0.020093f, -0.055677f, -0.002470f, 0.072137f, 0.064155f, 0.027175f, 0.000758f, 0.012249f, 0.007943f, -0.021051f, 0.016547f, 0.020563f, -0.091477f, 0.005304f, 0.013184f, 0.027454f, -0.033663f, -0.051672f, 0.037463f, 0.017531f, 0.009369f, -0.022262f, 0.044482f, -0.006586f, 0.034534f, 0.028566f, -0.003655f, 0.004098f, -0.010304f, 0.034876f, -0.021085f, 0.010427f, 0.020972f, -0.002164f, 0.044772f, 0.025717f, -0.002712f, 0.022748f, 0.026026f, -0.001680f, -0.020487f, -0.068774f, -0.012806f, 0.006979f, -0.040713f, 0.003586f, 0.032166f, -0.062536f, -0.027771f, 0.009204f, -0.026908f, -0.004671f, 0.032662f, 0.001561f, -0.023384f, -0.030652f, 0.013337f, 0.012805f, -0.063038f, -0.021320f, -0.005372f, -0.000093f, 0.039351f, 0.018995f, 0.004274f, 0.068644f, -0.008835f, -0.002601f, 0.002588f, -0.039728f, 0.037150f, -0.000053f, 0.061054f, -0.024092f, -0.010358f, 0.018031f, 0.009120f, -0.052533f, 0.001579f, -0.007584f, -0.020982f, -0.017242f, 0.006408f, 0.001774f, -0.014831f, -0.001699f, -0.009253f, -0.006843f, 0.001793f, -0.022709f, 0.006334f, 0.002665f, + -0.003220f, 0.008135f, 0.002249f, -0.015136f, 0.002909f, 0.003807f, 0.003823f, -0.014664f, 0.020729f, 0.003676f, 0.027000f, -0.020398f, 0.002438f, -0.017258f, -0.006026f, -0.003525f, -0.030074f, 0.005947f, 0.002703f, -0.001691f, -0.004142f, -0.005858f, 0.011028f, -0.013959f, -0.010514f, 0.012610f, 0.017374f, -0.013655f, -0.017572f, -0.064822f, -0.056522f, 0.010072f, -0.029201f, -0.009312f, -0.043601f, -0.054279f, -0.057075f, -0.037608f, 0.040339f, 0.055117f, 0.001272f, -0.045827f, 0.003409f, 0.001885f, 0.000414f, 0.020800f, 0.035136f, 0.035084f, 0.000690f, -0.023149f, -0.056923f, -0.032782f, -0.049848f, -0.010910f, 0.000037f, 0.003939f, 0.004953f, 0.006734f, 0.013511f, 0.017481f, 0.033259f, -0.052740f, 0.022870f, 0.008912f, 0.011420f, 0.027890f, 0.049624f, 0.055634f, -0.032365f, 0.024641f, -0.044673f, -0.014179f, -0.040549f, -0.004217f, -0.015903f, 0.092655f, 0.032814f, 0.066666f, 0.002660f, -0.036205f, -0.015591f, 0.042584f, 0.046250f, -0.027569f, 0.085577f, -0.036217f, 0.005190f, 0.003466f, 0.014734f, 0.031185f, 0.095223f, -0.006987f, 0.023202f, 0.052795f, 0.011977f, -0.042404f, + 0.026593f, 0.097268f, -0.017962f, -0.023944f, -0.057707f, -0.005128f, 0.035858f, 0.021887f, 0.002878f, -0.055599f, -0.042005f, 0.006689f, -0.043824f, 0.012810f, 0.001798f, -0.055364f, -0.006370f, 0.005310f, -0.008782f, 0.039375f, 0.037188f, 0.000466f, -0.011024f, -0.024066f, 0.025708f, -0.011328f, 0.044774f, -0.010611f, 0.000462f, 0.030379f, 0.030751f, 0.043549f, 0.033817f, -0.025180f, -0.009836f, 0.005529f, -0.008321f, 0.002609f, -0.019015f, -0.018566f, -0.018519f, 0.009224f, -0.022653f, -0.026661f, 0.015473f, 0.019952f, 0.001733f, -0.022966f, 0.014257f, 0.007601f, -0.005660f, -0.006148f, -0.015454f, -0.000709f, 0.008670f, -0.004285f, -0.013824f, -0.018281f, -0.003500f, -0.012150f, 0.014591f, 0.007834f, 0.001241f, -0.016748f, -0.007273f, -0.009509f, 0.019131f, 0.087013f, -0.004198f, -0.000199f, 0.037090f, 0.007428f, -0.119370f, -0.037330f, 0.085276f, 0.028553f, -0.024644f, -0.047394f, -0.006400f, -0.031221f, 0.044117f, 0.023035f, 0.008525f, -0.024990f, -0.056348f, 0.012416f, -0.097274f, -0.011663f, 0.048014f, 0.065386f, -0.007222f, -0.055052f, -0.037371f, -0.113943f, 0.033822f, -0.019582f, + 0.045025f, 0.034045f, -0.032151f, -0.023381f, -0.101029f, -0.075878f, 0.039933f, 0.108214f, 0.043424f, 0.051518f, -0.035661f, -0.063961f, -0.061288f, -0.025602f, 0.092085f, 0.123847f, 0.064786f, -0.143475f, -0.052370f, -0.109898f, -0.058570f, 0.136722f, 0.033590f, 0.030482f, -0.017815f, -0.131255f, -0.107331f, -0.107813f, -0.019770f, 0.010675f, 0.068396f, -0.025078f, 0.052107f, -0.104060f, 0.065135f, 0.026125f, 0.008224f, 0.131267f, 0.008741f, -0.011928f, -0.005947f, -0.177654f, -0.054010f, -0.011906f, 0.056339f, 0.029382f, 0.025934f, 0.078654f, -0.083578f, 0.005572f, -0.055194f, 0.060710f, 0.044067f, 0.004349f, 0.012424f, 0.013047f, -0.009576f, 0.036157f, 0.019636f, 0.009712f, 0.030998f, -0.020773f, -0.038747f, 0.009634f, 0.028385f, 0.042720f, 0.035441f, 0.023287f, -0.029007f, -0.047456f, -0.066329f, -0.005849f, 0.005108f, 0.054050f, 0.067190f, -0.009966f, -0.050571f, -0.087414f, -0.041675f, 0.006324f, 0.067218f, 0.107443f, 0.028308f, -0.104964f, -0.107479f, -0.109982f, -0.000883f, 0.089811f, 0.079351f, 0.083428f, -0.027693f, -0.040590f, -0.077961f, -0.078990f, 0.029268f, 0.053413f, + 0.069939f, 0.035347f, -0.054903f, -0.052177f, -0.029208f, -0.008281f, 0.064912f, 0.034220f, 0.010961f, -0.002985f, -0.039357f, -0.028657f, -0.005645f, -0.007787f, 0.017157f, 0.021355f, 0.009759f, 0.008597f, -0.050738f, 0.099262f, 0.042986f, 0.045836f, -0.121506f, 0.025123f, -0.169516f, -0.037006f, 0.000168f, 0.024636f, 0.010431f, -0.108484f, 0.059718f, -0.029704f, -0.018999f, -0.020010f, -0.022558f, -0.026231f, -0.033084f, 0.071892f, -0.019784f, -0.060885f, 0.020237f, -0.016910f, 0.008163f, 0.034889f, -0.068631f, -0.024357f, -0.003610f, 0.029494f, 0.003650f, 0.078991f, -0.006006f, -0.044529f, 0.104398f, -0.087365f, 0.051984f, -0.080998f, -0.026236f, 0.040116f, -0.065431f, 0.005231f, 0.048641f, -0.024630f, -0.005000f, -0.004542f, 0.062444f, 0.094564f, 0.055212f, -0.031319f, -0.012322f, -0.014357f, 0.006703f, 0.030616f, -0.011748f, -0.018382f, 0.019061f, 0.010055f, -0.170016f, -0.006536f, -0.005568f, 0.025190f, 0.021978f, 0.001441f, 0.001036f, 0.048899f, -0.052987f, -0.013503f, -0.004471f, 0.037325f, -0.136318f, -0.018926f, 0.124672f, -0.031468f, -0.049201f, -0.000174f, 0.094544f, -0.016992f, + -0.021660f, 0.025802f, -0.036131f, -0.038389f, 0.058708f, 0.089942f, -0.031709f, -0.045344f, 0.016245f, 0.027128f, -0.013434f, -0.047832f, -0.000237f, 0.007191f, -0.008994f, -0.006786f, -0.014250f, -0.020724f, 0.010621f, 0.000877f, -0.018444f, -0.003281f, 0.000045f, -0.000523f, -0.016929f, 0.010379f, -0.022929f, -0.024984f, -0.013929f, -0.015214f, 0.024081f, -0.003247f, -0.004114f, -0.000409f, -0.012479f, 0.019361f, -0.024367f, 0.007376f, 0.001525f, 0.001912f, 0.018270f, -0.000736f, -0.029421f, 0.003545f, -0.007166f, 0.005738f, 0.004964f, -0.027174f, 0.043702f, -0.011262f, -0.003214f, -0.004107f, 0.004788f, 0.010860f, -0.000137f, -0.010044f, -0.004687f, -0.021555f, -0.040341f, -0.123822f, -0.101486f, 0.090954f, 0.077741f, 0.008194f, 0.082977f, -0.088427f, -0.004204f, -0.171598f, -0.060300f, -0.029653f, 0.084541f, 0.076969f, 0.047614f, -0.068568f, -0.022904f, -0.002181f, -0.032123f, 0.017245f, 0.031223f, 0.040104f, 0.053415f, -0.039123f, 0.030387f, -0.073803f, -0.046213f, -0.010986f, -0.014854f, 0.002811f, 0.050435f, -0.058112f, 0.051930f, -0.021959f, -0.031700f, -0.012218f, 0.005846f, -0.073186f, + -0.000568f, -0.066191f, -0.023934f, -0.025230f, -0.062588f, 0.088326f, 0.041294f, 0.020658f, 0.022502f, -0.016168f, -0.088185f, -0.131553f, -0.076221f, -0.077061f, 0.053934f, 0.013380f, 0.058051f, 0.080146f, 0.066558f, -0.020684f, 0.016835f, -0.044961f, -0.033967f, -0.041017f, 0.033898f, -0.043524f, -0.000964f, -0.041514f, -0.042528f, -0.026763f, 0.052706f, -0.040804f, -0.010530f, 0.004881f, -0.004754f, -0.059180f, -0.063275f, -0.038395f, -0.021925f, -0.086171f, -0.050502f, 0.013799f, 0.053476f, 0.055240f, 0.070800f, -0.003907f, -0.055558f, -0.072883f, -0.055354f, 0.029451f, 0.010432f, -0.008516f, 0.035083f, 0.086384f, 0.023990f, 0.023464f, -0.020495f, -0.015722f, -0.027030f, -0.016691f, -0.007887f, -0.026801f, -0.005105f, 0.033065f, -0.005775f, -0.013905f, -0.025225f, -0.028896f, -0.031886f, -0.009400f, 0.017386f, -0.008448f, 0.008168f, 0.004409f, -0.058417f, 0.006841f, -0.027189f, 0.025341f, 0.049238f, -0.023823f, 0.034409f, -0.003900f, 0.009359f, 0.001416f, -0.045936f, -0.007245f, -0.014102f, -0.012024f, 0.007974f, -0.000688f, -0.003965f, -0.009921f, -0.020183f, -0.027813f, 0.042273f, -0.028218f, + -0.187015f, -0.253146f, -0.239310f, -0.227573f, -0.272785f, -0.046196f, -0.076033f, 0.047586f, 0.076103f, 0.242885f, 0.155596f, 0.205833f, 0.283671f, 0.312246f, 0.212703f, 0.271205f, 0.153807f, 0.071526f, -0.011798f, -0.051618f, -0.070292f, -0.115326f, -0.113611f, -0.156205f, -0.066798f, -0.057791f, -0.147445f, -0.109860f, -0.105724f, -0.119577f, -0.194794f, -0.132450f, -0.102643f, -0.082047f, -0.150181f, -0.021219f, -0.045736f, -0.062416f, -0.145494f, -0.133769f, -0.111063f, -0.094387f, -0.069386f, -0.028117f, -0.092935f, 0.026246f, 0.046504f, -0.072175f, 0.079434f, 0.111667f, 0.106386f, 0.194957f, 0.157450f, 0.121970f, 0.133290f, 0.135112f, 0.133066f, 0.205100f, 0.229766f, 0.226851f, 0.154111f, 0.244705f, 0.240506f, 0.251776f, 0.254861f, 0.290766f, 0.256888f, 0.272570f, 0.360458f, 0.184517f, 0.185045f, 0.188886f, 0.174688f, -0.008289f, 0.079087f, 0.101231f, -0.059296f, -0.031169f, -0.101244f, -0.183118f, -0.167202f, -0.174984f, -0.316849f, -0.231406f, -0.142231f, -0.246532f, -0.262550f, -0.215403f, -0.231114f, -0.227239f, -0.274540f, -0.250088f, -0.254167f, -0.236302f, -0.222186f, -0.201027f, + -0.187816f, -0.186292f, -0.156519f, -0.130305f, -0.208167f, -0.031123f, -0.094404f, -0.106329f, -0.025544f, -0.012703f, -0.106093f, -0.012669f, -0.041882f, -0.014366f, 0.037081f, 0.046991f, 0.119951f, 0.072848f, 0.100043f, 0.113465f, 0.121069f, 0.112156f, 0.153805f, 0.152498f, 0.159823f, 0.151592f, 0.179139f, 0.186620f, 0.180636f, 0.148480f, 0.188972f, 0.201368f, 0.153850f, 0.106077f, 0.099985f, 0.062970f, 0.051903f, 0.016155f, -0.007736f, -0.004245f, -0.034175f, -0.027731f, -0.023780f, -0.011008f, -0.030327f, -0.029224f, -0.030186f, -0.011138f, -0.030041f, -0.034601f, -0.022386f, -0.004347f, -0.025947f, -0.031706f, -0.028054f, -0.019646f, -0.039022f, -0.044231f, -0.046952f, -0.029867f, -0.028428f, -0.032507f, -0.029726f, -0.003004f, -0.007689f, -0.017746f, -0.012273f, 0.001337f, -0.006065f, -0.010560f, -0.010266f, 0.001583f, -0.006436f, -0.011659f, -0.013764f, -0.005439f, -0.008583f, -0.002775f, -0.005258f, -0.006961f, -0.011002f, 0.001979f, 0.005593f, 0.004462f, -0.001088f, 0.003215f, 0.001288f, 0.005132f, 0.002958f, 0.007608f, 0.006671f, 0.008079f, -0.002742f, -0.002499f, -0.004097f, -0.001921f, + -0.009932f, -0.010104f, -0.010686f, -0.010928f, -0.017534f, -0.012837f, -0.012586f, -0.008783f, -0.015198f, -0.014622f, -0.014858f, -0.009158f, -0.011390f, -0.012909f, -0.009353f, -0.001163f, -0.001988f, -0.003185f, 0.001346f, 0.007897f, 0.005835f, 0.005788f, 0.005684f, 0.009736f, 0.010895f, 0.011272f, 0.009293f, 0.011811f, 0.012279f, 0.011303f, 0.010902f, 0.011428f, 0.010811f, 0.009050f, 0.006884f, 0.006749f, 0.005292f, 0.004182f, 0.002212f, 0.001881f, 0.001094f, 0.000807f, 0.000156f, 0.000102f, -0.000032f, -0.000148f}, + {-0.011664f, 0.014943f, -0.001061f, 0.006070f, 0.003095f, 0.007134f, -0.012526f, -0.006724f, 0.008174f, 0.004000f, 0.000165f, -0.006926f, 0.001513f, -0.019477f, -0.012518f, -0.000597f, -0.007432f, -0.008408f, 0.003561f, 0.015371f, 0.002639f, 0.011725f, -0.002623f, 0.011589f, -0.006797f, -0.006047f, -0.000694f, -0.010299f, 0.002133f, 0.005247f, -0.003683f, -0.000167f, 0.002766f, 0.000574f, 0.004755f, -0.000472f, -0.011045f, 0.004061f, -0.006821f, -0.005109f, 0.003186f, -0.006761f, -0.010304f, 0.010402f, -0.010816f, 0.009903f, 0.009231f, 0.006120f, -0.000434f, -0.012684f, -0.007372f, 0.001518f, -0.002356f, 0.016510f, -0.010006f, 0.004077f, -0.001248f, 0.002252f, -0.012386f, -0.020684f, -0.003617f, -0.006155f, -0.006884f, -0.001557f, 0.008817f, -0.001827f, -0.009320f, 0.008290f, 0.003530f, -0.004087f, 0.006900f, -0.001264f, 0.002096f, -0.009481f, -0.000751f, -0.002311f, -0.000121f, 0.003735f, -0.004344f, 0.003040f, -0.008712f, 0.005976f, -0.001343f, 0.000700f, -0.003170f, -0.002819f, 0.000055f, 0.003658f, 0.001329f, -0.000052f, 0.001393f, 0.000008f, -0.005251f, 0.001594f, 0.000437f, 0.003382f, + -0.000526f, 0.000187f, -0.000009f, 0.000150f, -0.000332f, -0.001814f, 0.008062f, 0.008043f, 0.001213f, 0.014434f, -0.000078f, 0.006285f, 0.007792f, -0.000002f, -0.006919f, 0.000825f, -0.009866f, -0.012647f, -0.004756f, -0.014424f, -0.014906f, -0.004786f, 0.009928f, -0.003426f, -0.003337f, -0.007707f, -0.001900f, -0.013547f, 0.006742f, -0.003725f, 0.003441f, 0.008288f, 0.002849f, -0.002774f, 0.005700f, 0.005440f, -0.006591f, 0.004728f, 0.000682f, 0.001339f, 0.005058f, -0.011798f, -0.005071f, 0.008536f, -0.005341f, -0.000288f, -0.003375f, 0.009464f, -0.011929f, -0.000889f, -0.009983f, 0.006621f, -0.000538f, -0.000627f, 0.009131f, -0.003810f, -0.004303f, -0.003023f, -0.008425f, 0.000721f, -0.003787f, -0.000558f, 0.000614f, 0.005888f, 0.005916f, 0.002093f, -0.002555f, -0.009891f, -0.016327f, -0.004957f, -0.001091f, -0.003925f, 0.008847f, -0.003428f, -0.005004f, 0.007151f, -0.004483f, -0.006899f, 0.015583f, -0.003251f, -0.008653f, -0.000653f, 0.001465f, -0.002476f, 0.007702f, -0.000863f, -0.006817f, 0.000233f, 0.000335f, -0.001344f, -0.002032f, 0.006232f, 0.001407f, 0.000997f, -0.003608f, 0.000897f, + -0.001081f, 0.000553f, 0.002403f, -0.000392f, 0.001372f, 0.002972f, 0.000379f, -0.000429f, -0.000589f, 0.001345f, -0.003437f, -0.001144f, -0.000675f, -0.001445f, 0.001452f, 0.001342f, -0.000554f, 0.016551f, -0.010683f, -0.005090f, -0.007755f, 0.006085f, 0.001104f, -0.000843f, 0.011917f, 0.002790f, 0.003430f, -0.017504f, 0.003123f, -0.008215f, -0.009532f, -0.012372f, -0.000285f, 0.000349f, 0.014494f, -0.012007f, 0.005433f, -0.005091f, 0.017944f, -0.006595f, -0.006051f, 0.012729f, -0.004982f, 0.004330f, 0.001859f, -0.000948f, 0.002044f, -0.008697f, 0.001324f, 0.000307f, 0.003564f, 0.016842f, 0.005833f, 0.001482f, -0.007305f, 0.005827f, -0.013235f, -0.003755f, -0.002589f, 0.007108f, 0.006097f, 0.010132f, 0.006648f, -0.007779f, -0.011353f, -0.005031f, 0.008562f, -0.001165f, 0.004416f, -0.001922f, -0.001306f, 0.017114f, 0.004004f, -0.001416f, -0.020615f, -0.009280f, 0.000479f, 0.007040f, 0.010946f, 0.015366f, 0.008617f, -0.003851f, 0.002724f, -0.003907f, -0.005309f, 0.010990f, -0.007046f, 0.011317f, 0.000475f, -0.010442f, 0.003677f, -0.005440f, 0.008881f, -0.007783f, -0.000919f, 0.007636f, + 0.008863f, -0.009052f, -0.003464f, -0.001807f, -0.003696f, 0.005237f, -0.001237f, -0.003946f, 0.002438f, 0.001164f, 0.001327f, 0.001374f, 0.002125f, 0.001036f, 0.001259f, 0.000439f, -0.000672f, -0.000914f, -0.003333f, 0.005004f, -0.000225f, 0.000169f, 0.000565f, -0.000063f, 0.000796f, 0.002602f, 0.002650f, -0.000268f, -0.000720f, 0.003275f, 0.002590f, -0.000356f, 0.002163f, 0.008807f, -0.002012f, -0.001387f, -0.003142f, -0.010143f, 0.000478f, 0.007413f, 0.007393f, 0.013750f, 0.006352f, -0.017888f, -0.014918f, -0.012948f, 0.000624f, -0.002136f, 0.001039f, -0.007023f, -0.004320f, -0.001036f, 0.005540f, -0.000007f, -0.011418f, 0.012499f, -0.001687f, -0.011488f, 0.002456f, 0.002792f, -0.000145f, -0.001047f, 0.005091f, 0.006645f, -0.004027f, 0.010123f, 0.000594f, 0.005954f, -0.013628f, 0.009821f, 0.003569f, 0.005686f, -0.009348f, -0.000982f, 0.007004f, 0.005964f, 0.015087f, -0.000507f, -0.020597f, -0.005609f, -0.009813f, 0.004901f, 0.003455f, -0.000808f, -0.005423f, 0.001629f, -0.008384f, -0.002961f, -0.015351f, -0.009052f, -0.000415f, 0.008651f, 0.009712f, -0.006892f, -0.005829f, -0.006036f, + 0.009981f, -0.003331f, -0.001106f, -0.014805f, 0.009056f, -0.014613f, -0.004976f, -0.000602f, -0.002985f, -0.003947f, 0.015698f, -0.001296f, -0.003508f, -0.004142f, 0.003208f, -0.009366f, 0.001199f, -0.016264f, -0.012976f, 0.004797f, -0.004451f, -0.002410f, 0.005942f, -0.002928f, 0.007889f, 0.001551f, 0.003691f, 0.005488f, -0.001337f, 0.002659f, 0.001910f, 0.001025f, -0.001021f, 0.002013f, 0.000936f, 0.000505f, -0.001082f, -0.001272f, 0.000450f, -0.004764f, 0.000043f, 0.003002f, 0.000851f, -0.000180f, 0.000703f, -0.002926f, -0.000811f, 0.001790f, 0.001109f, 0.004797f, 0.001400f, -0.000598f, -0.000618f, 0.004417f, -0.005142f, 0.007910f, -0.005892f, 0.000270f, 0.010813f, 0.019484f, 0.013552f, 0.003120f, -0.014795f, -0.011025f, 0.004292f, -0.002316f, -0.009399f, -0.002899f, -0.012181f, -0.005076f, 0.025230f, 0.003159f, -0.002412f, -0.004380f, 0.000263f, -0.005539f, -0.003773f, 0.017165f, -0.017281f, -0.001791f, 0.001976f, -0.003471f, 0.004643f, 0.010495f, -0.004452f, -0.005490f, 0.002826f, -0.006896f, -0.006763f, -0.016013f, -0.005796f, 0.004675f, -0.014350f, -0.002159f, 0.007478f, 0.011279f, + 0.004148f, -0.022595f, -0.006669f, 0.004890f, 0.011771f, -0.008686f, 0.020142f, -0.002026f, -0.009870f, -0.005341f, -0.004077f, -0.007569f, 0.011053f, -0.007795f, -0.001928f, -0.010387f, -0.008156f, -0.003621f, -0.008298f, 0.011747f, -0.003984f, -0.022636f, 0.008990f, 0.015701f, 0.000432f, 0.005872f, -0.027656f, 0.022070f, 0.000619f, -0.017969f, 0.002069f, -0.012034f, -0.002397f, 0.002248f, -0.013046f, -0.015249f, 0.010561f, 0.005154f, -0.013260f, -0.000603f, 0.000555f, -0.008022f, -0.000836f, -0.002762f, 0.002292f, -0.007080f, -0.003606f, -0.001142f, -0.003473f, -0.001551f, -0.005232f, 0.002112f, -0.000153f, 0.003126f, -0.005709f, 0.001721f, 0.003546f, 0.000248f, -0.003159f, 0.002499f, -0.003061f, 0.003440f, 0.002732f, -0.002168f, 0.002669f, -0.000124f, -0.001529f, -0.000466f, 0.001059f, 0.001535f, 0.000912f, 0.000880f, -0.020353f, 0.004938f, -0.014911f, 0.016526f, 0.004420f, -0.005884f, -0.011984f, -0.021193f, -0.009059f, -0.015259f, 0.005657f, 0.030365f, 0.005414f, -0.007489f, -0.000170f, -0.003795f, -0.004341f, -0.013212f, -0.008620f, -0.013610f, 0.004065f, -0.000713f, 0.003349f, -0.004541f, + 0.002601f, -0.014393f, -0.000725f, 0.003716f, -0.009735f, -0.003345f, 0.001548f, -0.005115f, 0.001728f, -0.004678f, 0.022475f, -0.026770f, -0.004553f, 0.002556f, 0.007573f, -0.002442f, -0.010869f, -0.016276f, -0.011529f, 0.009286f, -0.002105f, 0.010264f, -0.008178f, 0.026082f, 0.003637f, -0.004619f, 0.000013f, -0.014906f, -0.019269f, -0.009493f, 0.007670f, -0.016299f, -0.000749f, 0.019960f, -0.000286f, -0.008896f, -0.018331f, -0.031049f, 0.001562f, 0.016506f, -0.004210f, 0.018887f, -0.001422f, -0.005415f, -0.011359f, -0.009883f, 0.002051f, 0.007737f, -0.005680f, 0.027228f, 0.008353f, -0.008229f, 0.004373f, -0.010637f, 0.004294f, 0.005470f, -0.003454f, 0.006215f, 0.011111f, 0.005024f, 0.000733f, -0.006803f, -0.019501f, 0.001733f, -0.004260f, -0.001580f, -0.002793f, 0.001831f, 0.000638f, 0.000158f, -0.008511f, 0.001795f, -0.004797f, 0.002060f, -0.004727f, -0.001212f, -0.001090f, -0.000024f, -0.000255f, -0.000521f, -0.003353f, -0.002734f, -0.003695f, -0.005262f, -0.005890f, -0.002095f, 0.000481f, 0.002045f, -0.003018f, 0.000356f, 0.000345f, 0.001047f, -0.002267f, 0.002618f, -0.004097f, -0.000167f, + 0.017480f, -0.007908f, -0.020574f, -0.005738f, -0.015412f, -0.008086f, -0.006796f, 0.021466f, -0.005611f, -0.007383f, -0.009307f, 0.013754f, 0.012298f, 0.010894f, 0.030298f, 0.031813f, 0.014595f, 0.019730f, -0.007680f, -0.009312f, 0.013004f, 0.019473f, -0.008717f, 0.008499f, 0.005836f, -0.017125f, -0.016326f, 0.009406f, -0.002583f, -0.000311f, -0.016299f, -0.020515f, -0.005089f, -0.016644f, 0.018501f, 0.034928f, 0.006996f, 0.013734f, 0.003788f, -0.004201f, 0.012270f, -0.023998f, -0.006638f, 0.004901f, 0.013083f, -0.007948f, -0.019569f, 0.028142f, -0.000308f, -0.008728f, -0.007150f, 0.011515f, -0.003718f, 0.010262f, -0.007316f, 0.016142f, -0.001621f, -0.000474f, 0.019741f, 0.006172f, 0.008961f, 0.003551f, -0.003321f, 0.014903f, -0.023037f, -0.009168f, 0.008240f, 0.025719f, -0.015947f, -0.001857f, -0.003478f, -0.003661f, -0.011022f, -0.002395f, -0.005859f, -0.007410f, -0.001346f, 0.001709f, 0.006984f, -0.003047f, 0.020378f, 0.007518f, -0.012170f, -0.002877f, 0.001242f, 0.007884f, 0.002488f, -0.003595f, -0.007472f, -0.001567f, 0.004255f, -0.004608f, -0.004352f, -0.003523f, 0.003918f, 0.002649f, + 0.003861f, 0.002194f, -0.004138f, -0.001496f, -0.000210f, -0.003826f, -0.001002f, 0.003027f, 0.001521f, -0.000452f, -0.004617f, 0.005674f, -0.001122f, 0.003545f, -0.002736f, 0.001759f, -0.005322f, -0.000443f, -0.001091f, 0.000281f, -0.003676f, -0.001053f, 0.012619f, -0.012653f, -0.004987f, 0.011376f, -0.009100f, 0.004843f, 0.008549f, -0.017221f, -0.018349f, 0.005062f, 0.013857f, -0.004893f, 0.012641f, -0.009421f, -0.004208f, 0.024150f, -0.027651f, 0.016459f, -0.007945f, 0.000047f, 0.000644f, 0.029849f, -0.006767f, 0.005773f, 0.009446f, 0.016374f, 0.009578f, 0.014323f, -0.002497f, -0.002487f, 0.004641f, 0.002169f, 0.002324f, -0.014646f, 0.022426f, -0.030187f, -0.006693f, -0.008070f, 0.016690f, -0.003549f, 0.020359f, -0.001110f, 0.001850f, -0.035896f, -0.009879f, 0.021606f, 0.036952f, -0.000513f, -0.018449f, -0.015657f, 0.015138f, 0.012054f, 0.009131f, 0.008548f, -0.015819f, -0.007391f, -0.009183f, 0.004629f, 0.000610f, -0.009863f, 0.005644f, 0.004790f, -0.004574f, -0.005143f, -0.021612f, -0.005872f, -0.007961f, 0.030626f, 0.002775f, 0.005619f, 0.011637f, 0.000735f, -0.024169f, 0.001011f, + -0.014566f, 0.011853f, 0.028735f, -0.015450f, 0.008862f, -0.004586f, -0.014967f, 0.007024f, -0.012549f, -0.002365f, 0.005197f, 0.003670f, 0.006563f, 0.002578f, -0.001064f, -0.005677f, 0.006214f, 0.013283f, 0.002252f, 0.006476f, 0.011083f, 0.004730f, 0.012536f, -0.004002f, 0.011860f, 0.000381f, 0.000276f, 0.002370f, 0.001327f, 0.003192f, -0.000360f, -0.006053f, -0.003239f, 0.000029f, 0.003188f, 0.003121f, -0.002267f, 0.005525f, 0.005467f, -0.004817f, 0.007727f, 0.013254f, -0.022143f, -0.008372f, -0.008182f, 0.004504f, -0.001053f, 0.033549f, -0.003950f, 0.001408f, 0.021374f, -0.018608f, -0.013464f, -0.017429f, -0.018281f, -0.004244f, -0.000454f, 0.008564f, 0.035848f, -0.003016f, -0.020283f, 0.037137f, 0.000827f, 0.010567f, 0.025433f, 0.017635f, 0.023749f, -0.005911f, 0.018805f, -0.011759f, 0.024848f, 0.021786f, -0.005629f, 0.011471f, -0.009706f, -0.008959f, 0.009513f, 0.028442f, 0.012903f, 0.011394f, 0.004197f, -0.008750f, -0.015377f, -0.015610f, 0.002774f, 0.019634f, -0.011084f, -0.013334f, -0.016486f, -0.006089f, -0.032874f, -0.007512f, 0.006535f, -0.024056f, 0.011944f, 0.001973f, + -0.010895f, -0.028298f, -0.018892f, 0.000276f, -0.037671f, 0.012112f, 0.008569f, -0.000599f, 0.010736f, 0.007099f, -0.003509f, -0.019485f, -0.011765f, -0.001986f, -0.012315f, 0.011895f, -0.012915f, 0.031590f, -0.020931f, 0.001352f, 0.013947f, 0.001449f, -0.009262f, -0.035946f, 0.006482f, 0.017969f, 0.004470f, 0.001272f, 0.019800f, 0.011062f, -0.011074f, 0.000248f, -0.001135f, 0.001704f, -0.000628f, -0.006020f, -0.012574f, -0.003572f, -0.013600f, 0.001008f, 0.003616f, 0.001920f, -0.003396f, -0.006881f, -0.003129f, -0.004514f, 0.006152f, 0.002044f, 0.007996f, 0.005819f, 0.004665f, 0.001967f, -0.000478f, -0.002471f, -0.002254f, -0.005996f, 0.003042f, 0.000650f, 0.003030f, -0.002772f, -0.000249f, -0.004977f, 0.000499f, -0.003839f, 0.001779f, -0.046287f, 0.016180f, 0.021055f, 0.037086f, -0.000165f, -0.027641f, 0.007730f, 0.013238f, -0.028619f, -0.029755f, -0.018620f, -0.000785f, 0.015804f, -0.000870f, -0.011690f, -0.000657f, -0.010236f, -0.006901f, -0.018470f, 0.030703f, 0.023963f, 0.008998f, -0.037762f, -0.011342f, 0.006011f, -0.002188f, -0.008450f, 0.047693f, 0.017437f, 0.014961f, 0.013998f, + 0.022620f, 0.016949f, 0.004106f, 0.017748f, -0.001247f, -0.029683f, 0.016005f, -0.030533f, 0.009285f, -0.030229f, 0.025464f, -0.008030f, 0.030755f, -0.016847f, 0.007456f, -0.013636f, 0.011073f, 0.017956f, 0.046962f, 0.009883f, -0.059763f, -0.003214f, -0.008332f, 0.012780f, 0.026090f, -0.005334f, -0.011618f, 0.019137f, -0.003404f, -0.009469f, 0.025704f, 0.001582f, -0.001151f, 0.001257f, 0.011005f, 0.020523f, 0.016283f, -0.017727f, -0.013149f, -0.011201f, -0.017940f, 0.004158f, -0.001663f, 0.020290f, 0.014615f, -0.027488f, -0.006620f, -0.015570f, 0.013316f, -0.007604f, -0.007330f, 0.004759f, 0.000895f, -0.010617f, 0.009072f, 0.002169f, 0.001512f, -0.001604f, 0.005163f, 0.005299f, 0.000858f, -0.015576f, 0.004346f, 0.002673f, -0.001988f, -0.002780f, -0.005156f, 0.000160f, -0.006900f, 0.003167f, 0.007807f, -0.002409f, -0.002304f, 0.007613f, 0.001208f, -0.007168f, -0.005455f, -0.001321f, 0.003740f, -0.003143f, -0.000728f, -0.004422f, 0.001193f, -0.002968f, 0.000054f, 0.007318f, -0.004906f, 0.001156f, 0.050440f, -0.018983f, -0.033452f, -0.010587f, 0.013206f, -0.008204f, 0.024294f, 0.035096f, + -0.013978f, 0.032194f, 0.020763f, 0.016227f, -0.005200f, -0.003783f, -0.006364f, 0.031228f, 0.005802f, 0.003837f, -0.018021f, 0.007977f, -0.009364f, -0.000711f, -0.029831f, 0.020375f, -0.027363f, 0.000208f, -0.019266f, 0.032567f, -0.016485f, 0.000807f, 0.032216f, 0.024480f, 0.016616f, -0.001883f, -0.012617f, 0.014999f, -0.000342f, -0.002805f, -0.040860f, -0.012094f, -0.024627f, -0.020036f, -0.015568f, -0.007324f, 0.021447f, 0.013471f, 0.012565f, 0.000130f, 0.031505f, -0.016536f, 0.033332f, 0.029260f, 0.031451f, 0.054847f, -0.021030f, -0.016446f, 0.024226f, 0.004612f, -0.021104f, 0.033125f, -0.010724f, -0.015878f, 0.010873f, -0.004010f, -0.011310f, -0.009383f, 0.014345f, -0.019090f, 0.008844f, -0.011799f, 0.030505f, -0.012837f, 0.000628f, 0.008935f, 0.022286f, 0.030157f, 0.002563f, -0.026198f, -0.028391f, 0.009404f, -0.018864f, -0.061181f, -0.032089f, 0.009847f, -0.000539f, 0.017789f, 0.002417f, -0.009972f, -0.001011f, -0.005760f, 0.002755f, -0.010555f, -0.004523f, -0.007223f, -0.002916f, 0.000908f, -0.001169f, -0.019062f, -0.004873f, -0.012460f, -0.011104f, -0.008769f, 0.004043f, -0.000816f, + 0.000931f, -0.013859f, -0.009560f, -0.000452f, -0.000381f, 0.002790f, 0.007334f, 0.005973f, 0.004534f, -0.009950f, 0.000639f, 0.002361f, -0.012813f, 0.004642f, 0.000915f, 0.005716f, 0.002715f, 0.007272f, 0.004206f, -0.002862f, 0.006237f, -0.004572f, -0.003316f, -0.001353f, -0.046193f, -0.038929f, -0.001157f, 0.009099f, -0.026340f, 0.001963f, 0.003158f, 0.044409f, -0.027711f, -0.031814f, 0.011317f, -0.012969f, 0.000707f, -0.023043f, 0.023433f, -0.023424f, -0.031638f, -0.018845f, 0.038202f, -0.024785f, -0.020107f, -0.004054f, 0.015962f, -0.010444f, -0.026097f, 0.009085f, -0.010117f, 0.000910f, 0.012982f, -0.034674f, -0.001910f, 0.020372f, 0.032291f, -0.004040f, 0.048957f, 0.021882f, -0.004732f, 0.002893f, 0.022680f, -0.008276f, -0.018836f, 0.004469f, 0.026871f, 0.003660f, 0.013297f, 0.001337f, -0.020616f, 0.008141f, -0.046171f, 0.005023f, 0.003315f, -0.005228f, -0.026880f, -0.024345f, 0.003813f, -0.010696f, -0.018215f, -0.011962f, -0.014514f, 0.018718f, -0.030146f, -0.016892f, -0.008146f, 0.014205f, -0.017420f, 0.038661f, -0.004938f, -0.031105f, -0.001991f, -0.018212f, -0.049773f, -0.014362f, + 0.004115f, -0.000782f, -0.032065f, -0.016776f, -0.006725f, 0.008242f, -0.018743f, -0.008928f, 0.033168f, -0.010766f, -0.043442f, -0.014796f, 0.006497f, 0.004147f, 0.015305f, 0.013055f, 0.009944f, -0.009508f, -0.012071f, -0.002295f, -0.008199f, 0.007222f, 0.002722f, -0.004900f, 0.010242f, 0.004716f, 0.006343f, -0.003049f, 0.005339f, 0.004192f, 0.000755f, -0.001107f, -0.002491f, -0.003327f, 0.000865f, 0.003345f, -0.014932f, 0.004151f, -0.008257f, 0.010887f, 0.004529f, -0.010841f, -0.009506f, -0.000111f, -0.007358f, -0.000404f, 0.004112f, -0.002156f, -0.004707f, -0.007831f, -0.005758f, 0.005341f, 0.002482f, -0.008970f, 0.004450f, 0.001816f, -0.005696f, -0.004730f, -0.010370f, 0.035342f, 0.031543f, 0.009090f, 0.065104f, -0.012711f, -0.023396f, -0.021064f, -0.010090f, -0.035879f, 0.047278f, -0.029151f, -0.010897f, -0.023725f, -0.012401f, -0.011457f, 0.005195f, -0.034183f, 0.000095f, -0.000196f, -0.005056f, 0.008961f, -0.035939f, -0.009624f, 0.023967f, -0.024799f, 0.000935f, -0.031921f, 0.029664f, -0.000440f, -0.053758f, -0.028325f, -0.010035f, -0.001779f, 0.014485f, -0.033062f, -0.018530f, 0.021614f, + -0.004149f, 0.014721f, 0.013813f, 0.013297f, -0.019779f, 0.001501f, 0.023298f, 0.008053f, -0.044373f, 0.027727f, 0.020217f, -0.024507f, 0.067393f, -0.001893f, -0.048856f, 0.012777f, 0.015080f, -0.001752f, 0.035861f, -0.011749f, -0.060599f, 0.016342f, 0.008414f, 0.017402f, 0.021190f, -0.028273f, 0.043444f, 0.015747f, 0.013368f, -0.011072f, 0.065924f, -0.005770f, 0.000948f, 0.044427f, -0.007893f, 0.019879f, 0.035549f, 0.011532f, 0.005166f, -0.009295f, 0.017016f, 0.000015f, 0.030060f, -0.014002f, 0.029267f, 0.026232f, 0.001522f, 0.025939f, 0.015863f, 0.020508f, -0.010937f, -0.000824f, 0.024309f, 0.016825f, 0.013027f, 0.007084f, 0.008280f, -0.016894f, -0.001948f, -0.000007f, -0.007571f, 0.000218f, -0.002768f, -0.007709f, 0.014114f, -0.015338f, -0.002768f, -0.015074f, 0.012321f, -0.006901f, 0.014779f, -0.013429f, 0.002079f, -0.009622f, -0.012400f, 0.007779f, -0.004697f, -0.001192f, -0.012075f, -0.018911f, -0.013300f, 0.013045f, 0.001425f, -0.006655f, 0.001576f, 0.016430f, 0.012715f, -0.006193f, 0.006245f, -0.000720f, -0.004719f, 0.016976f, 0.000809f, 0.010770f, 0.013185f, -0.046839f, + -0.045962f, 0.094169f, 0.030364f, -0.058906f, -0.029621f, -0.027055f, -0.053916f, -0.004071f, -0.028462f, 0.039173f, -0.022202f, 0.000117f, 0.048936f, 0.000971f, 0.008123f, -0.036134f, 0.045126f, 0.033544f, -0.000591f, -0.010984f, -0.003520f, -0.028126f, 0.002132f, 0.003454f, 0.005732f, -0.038622f, -0.005596f, -0.002345f, -0.011577f, -0.008697f, -0.026527f, 0.025024f, 0.049846f, 0.059718f, -0.004846f, -0.024379f, -0.010081f, -0.012538f, -0.008350f, -0.036878f, 0.012540f, 0.014204f, 0.013223f, -0.038434f, -0.051044f, 0.055072f, 0.020916f, 0.030769f, 0.040181f, 0.037453f, -0.016242f, -0.025894f, 0.036375f, -0.037121f, 0.018820f, -0.027832f, -0.021131f, -0.012521f, 0.043282f, -0.014512f, 0.008870f, 0.014654f, -0.007778f, -0.035133f, 0.072331f, -0.043876f, 0.004591f, 0.052115f, -0.047252f, -0.021641f, 0.005687f, 0.018929f, 0.053912f, 0.009428f, -0.031071f, 0.000680f, 0.006690f, -0.007524f, -0.012962f, 0.007527f, -0.021706f, 0.016526f, -0.017938f, -0.025621f, 0.013857f, 0.007479f, 0.019523f, 0.008487f, -0.000540f, -0.009042f, 0.002360f, 0.005190f, 0.006155f, 0.020478f, -0.001008f, 0.002631f, + 0.013062f, -0.030898f, 0.004612f, -0.014057f, 0.003577f, 0.003173f, -0.004735f, -0.011857f, -0.014158f, -0.003772f, -0.014201f, 0.005404f, 0.008081f, 0.017451f, -0.001310f, -0.012127f, 0.011558f, 0.013455f, 0.008625f, 0.008114f, -0.021783f, 0.000487f, 0.005854f, -0.005762f, 0.019288f, -0.007419f, 0.001744f, 0.001719f, 0.017860f, -0.008673f, 0.005588f, 0.024426f, 0.024537f, -0.015650f, 0.015403f, 0.062816f, 0.037873f, -0.005636f, -0.040171f, 0.004244f, 0.064417f, 0.051296f, 0.010835f, -0.050927f, -0.019590f, -0.043963f, -0.003243f, 0.034468f, 0.042576f, -0.003086f, 0.016210f, 0.050591f, 0.053847f, 0.083523f, 0.084085f, -0.041928f, 0.018332f, -0.045278f, -0.008150f, -0.036698f, -0.013151f, 0.029002f, -0.006436f, 0.012719f, 0.011437f, -0.026064f, -0.019070f, 0.021355f, 0.023818f, 0.030875f, 0.021971f, -0.001000f, 0.022651f, 0.034077f, -0.017960f, 0.017281f, 0.020133f, 0.006024f, 0.019665f, 0.065163f, -0.048872f, -0.042081f, -0.009421f, 0.040286f, 0.038623f, -0.022856f, -0.000224f, 0.061867f, 0.050064f, -0.034972f, -0.023289f, 0.021300f, -0.042703f, 0.011959f, -0.020508f, -0.038743f, + 0.012620f, -0.045530f, 0.047451f, 0.017468f, 0.052556f, -0.021968f, -0.030605f, -0.059207f, -0.012743f, 0.019438f, -0.051852f, -0.044361f, -0.024240f, 0.023289f, 0.013837f, 0.011003f, -0.022784f, 0.010013f, -0.016277f, 0.006387f, 0.048354f, -0.020450f, 0.005766f, -0.027280f, 0.020823f, -0.011192f, -0.022884f, 0.016324f, 0.022632f, -0.012433f, -0.006370f, -0.007320f, 0.016289f, 0.036094f, -0.011414f, -0.024089f, 0.000644f, -0.000334f, -0.008844f, -0.003733f, -0.033420f, 0.004764f, -0.017698f, -0.007871f, 0.012279f, -0.010831f, -0.005836f, -0.000871f, -0.009165f, 0.014909f, -0.014598f, -0.023117f, -0.020921f, -0.017622f, 0.019015f, 0.010067f, -0.004169f, 0.008488f, 0.005777f, -0.014915f, -0.016277f, 0.006269f, -0.017360f, -0.001856f, -0.030175f, 0.023950f, 0.062296f, -0.004878f, -0.020339f, 0.039710f, 0.007527f, -0.003137f, -0.060882f, 0.051969f, -0.026851f, -0.057887f, -0.020196f, 0.003064f, 0.065004f, 0.005505f, 0.046357f, 0.018320f, -0.056644f, -0.012941f, -0.050273f, 0.007144f, -0.050112f, -0.036261f, -0.021969f, 0.001683f, 0.009575f, -0.039023f, 0.036719f, -0.012906f, 0.022003f, 0.023706f, + 0.023463f, 0.044709f, 0.082225f, 0.047913f, -0.016633f, -0.041639f, -0.002218f, 0.086610f, 0.053669f, -0.030567f, 0.042729f, -0.017570f, 0.052369f, -0.027211f, 0.004375f, -0.020573f, -0.010595f, -0.003781f, -0.015722f, 0.130571f, -0.025776f, -0.037066f, -0.042701f, -0.059753f, -0.023463f, -0.046238f, -0.002808f, 0.049967f, -0.021003f, 0.014191f, -0.017686f, -0.026716f, 0.045407f, -0.013654f, 0.077030f, 0.013611f, 0.061461f, -0.076835f, 0.030541f, 0.132754f, 0.047830f, -0.075298f, 0.043579f, 0.039809f, 0.001681f, 0.007816f, -0.023597f, 0.024643f, 0.116483f, 0.061551f, 0.025552f, 0.034764f, -0.037435f, 0.067065f, -0.007857f, 0.009638f, 0.010012f, 0.015964f, 0.007116f, 0.043848f, -0.037632f, -0.009991f, 0.002462f, 0.056122f, -0.010353f, 0.013177f, 0.065161f, -0.005962f, -0.037421f, -0.009251f, 0.023491f, 0.003232f, -0.016255f, -0.037941f, 0.020884f, 0.014749f, -0.026341f, -0.015797f, 0.016999f, -0.032207f, -0.026906f, 0.007754f, 0.012348f, -0.000856f, 0.008351f, 0.005438f, 0.009888f, -0.012266f, 0.010374f, -0.007755f, -0.010137f, 0.009531f, 0.003650f, 0.013473f, 0.002366f, 0.091431f, + 0.042763f, 0.010271f, -0.002735f, -0.099633f, 0.046589f, 0.062696f, -0.045015f, -0.032778f, 0.077486f, 0.050511f, -0.061838f, -0.065726f, 0.002413f, -0.038405f, 0.016829f, 0.006404f, 0.016072f, -0.061789f, 0.016262f, -0.011991f, -0.030687f, 0.054957f, -0.003714f, -0.009127f, 0.018582f, 0.046080f, 0.041511f, 0.028334f, -0.052784f, 0.001163f, -0.025693f, -0.056385f, 0.020673f, 0.015965f, 0.034864f, -0.011916f, -0.026169f, 0.072154f, -0.051675f, 0.022868f, 0.025197f, 0.020380f, 0.015626f, -0.008976f, 0.042784f, -0.039568f, -0.068181f, -0.011491f, -0.078117f, 0.068676f, 0.042351f, 0.067387f, -0.005308f, 0.013243f, -0.054284f, 0.056581f, 0.071530f, 0.025578f, -0.030215f, -0.080044f, -0.018260f, -0.105590f, 0.001698f, -0.019706f, -0.071444f, -0.060796f, 0.027951f, 0.004383f, 0.044184f, -0.034130f, 0.050631f, 0.042407f, -0.059746f, 0.012615f, -0.035628f, -0.010205f, -0.053956f, 0.006794f, 0.157700f, 0.039209f, 0.046385f, 0.057622f, 0.025917f, -0.044820f, -0.005975f, -0.000750f, 0.037556f, -0.008702f, 0.038592f, -0.017534f, -0.023494f, 0.000798f, -0.002489f, -0.044313f, 0.038178f, -0.007175f, + -0.010630f, -0.013862f, -0.030739f, 0.004279f, -0.014395f, -0.019941f, -0.028536f, -0.022820f, 0.014269f, -0.016542f, 0.013989f, 0.015469f, -0.010767f, -0.018628f, -0.024569f, 0.011157f, -0.004200f, 0.010365f, 0.038307f, 0.023450f, -0.000111f, -0.003394f, 0.012513f, 0.023505f, -0.023137f, 0.020693f, -0.023316f, -0.018026f, -0.012110f, -0.064241f, 0.026313f, 0.019768f, -0.030948f, 0.009125f, -0.016602f, -0.095954f, -0.026402f, 0.022210f, -0.012371f, 0.009238f, -0.054104f, 0.067662f, -0.091986f, 0.005979f, -0.067753f, 0.044960f, 0.049486f, 0.015452f, 0.041184f, 0.003585f, -0.045153f, 0.073548f, -0.036252f, 0.006754f, -0.000245f, -0.044066f, 0.069453f, 0.003833f, 0.016977f, 0.014441f, 0.020714f, 0.010720f, 0.051690f, 0.061524f, 0.019738f, 0.072069f, -0.064914f, -0.005923f, -0.001340f, 0.092449f, -0.019236f, 0.073508f, 0.040259f, 0.101400f, 0.018807f, -0.024242f, -0.033999f, 0.039692f, -0.077911f, 0.071269f, -0.044926f, -0.026773f, -0.013442f, 0.013583f, 0.053464f, -0.013816f, -0.100603f, -0.028591f, 0.159557f, 0.010925f, -0.102572f, 0.024035f, -0.068361f, 0.018950f, 0.157195f, -0.044590f, + -0.044660f, 0.109013f, -0.119963f, 0.058963f, 0.025970f, 0.034874f, 0.101947f, 0.064276f, -0.093007f, 0.111963f, 0.073186f, 0.002432f, 0.119233f, -0.050477f, -0.017680f, 0.086226f, 0.056392f, 0.009470f, 0.022354f, -0.001058f, -0.002217f, 0.009595f, 0.028917f, -0.027984f, 0.030631f, 0.031532f, -0.028002f, 0.013146f, 0.021060f, -0.039646f, -0.004515f, 0.013561f, -0.004528f, 0.006446f, 0.048250f, -0.000101f, 0.031867f, -0.018193f, -0.000391f, 0.022854f, -0.015712f, -0.013281f, -0.033061f, 0.004643f, 0.028670f, 0.018789f, 0.026974f, -0.052739f, 0.028282f, 0.033016f, 0.014687f, 0.005068f, 0.013378f, -0.003245f, 0.030220f, 0.054245f, 0.012908f, 0.025732f, 0.024646f, -0.013588f, -0.014983f, 0.025387f, -0.033225f, 0.012169f, 0.039174f, 0.053569f, 0.103057f, 0.050781f, -0.050761f, 0.065478f, 0.019051f, 0.058952f, -0.018138f, -0.112112f, 0.112076f, 0.096962f, 0.059439f, 0.184000f, -0.018051f, -0.156433f, -0.081061f, -0.074440f, 0.163435f, 0.119521f, 0.028464f, -0.011617f, -0.030698f, -0.109787f, -0.052250f, -0.036399f, -0.063047f, 0.165840f, 0.134928f, 0.187185f, 0.002902f, -0.216829f, + -0.336277f, -0.164995f, 0.186496f, 0.251114f, 0.257229f, 0.102599f, -0.214152f, -0.393858f, -0.241182f, -0.122809f, 0.180661f, 0.306592f, 0.174464f, 0.093763f, 0.025054f, -0.140248f, -0.187021f, -0.141045f, -0.010869f, 0.106920f, 0.219235f, 0.261073f, 0.046391f, 0.049951f, -0.208552f, -0.346649f, -0.184314f, 0.170673f, 0.288653f, 0.272402f, 0.170824f, -0.101852f, -0.335967f, -0.218886f, -0.281724f, -0.000366f, 0.191078f, 0.205166f, 0.103507f, -0.083423f, -0.176849f, -0.158175f, -0.123906f, 0.035273f, 0.117776f, 0.081390f, 0.238283f, 0.084672f, -0.053248f, -0.142222f, -0.052205f, 0.157404f, 0.232048f, 0.076953f, -0.008946f, -0.143259f, -0.028708f, -0.033224f, 0.091717f, 0.033421f, -0.023227f, -0.099345f, -0.029292f, 0.004249f, -0.015632f, -0.030641f, -0.006270f, 0.022065f, 0.049781f, 0.082719f, 0.040615f, -0.083676f, -0.073370f, -0.070006f, 0.016724f, 0.087196f, 0.098328f, 0.044373f, 0.010699f, -0.063769f, -0.026842f, -0.123923f, -0.108476f, -0.010398f, 0.032516f, 0.134168f, 0.203513f, 0.076314f, -0.070498f, -0.168396f, -0.208460f, -0.088459f, 0.164234f, 0.269745f, 0.186117f, 0.055701f, + -0.135395f, -0.222132f, -0.108023f, -0.001308f, 0.040816f, 0.039305f, 0.094788f, 0.047385f, 0.021453f, -0.056945f, -0.118908f, -0.090750f, 0.013207f, 0.059781f, 0.119345f, 0.055561f, 0.020595f, -0.022633f, -0.059490f, 0.070512f, 0.010855f, -0.100010f, 0.013833f, -0.025362f, -0.039634f, 0.031267f, -0.030156f, -0.011419f, -0.053094f, 0.004076f, -0.019708f, -0.039356f, 0.017101f, -0.003574f, 0.014489f, 0.007536f, 0.034514f, -0.031891f, -0.010079f, 0.011182f, 0.004689f, 0.016627f, -0.012999f, 0.034855f, -0.022769f, 0.024371f, 0.012103f, -0.009785f, -0.023964f, -0.009619f, -0.045815f, 0.052226f, -0.003529f, 0.002952f, -0.007772f, -0.010922f, 0.003927f, -0.000215f, 0.002446f, 0.021008f, 0.012898f, 0.000719f, 0.029761f, -0.023428f, 0.009976f, -0.022173f, 0.026871f, 0.017045f, -0.018295f, 0.014997f, -0.022585f, -0.025384f, -0.020500f, -0.039867f, -0.003359f, 0.032343f, -0.027150f, -0.054703f, -0.037340f, 0.004700f, 0.035234f, 0.002046f, 0.026520f, -0.051981f, -0.013019f, -0.004860f, -0.003889f, -0.050793f, -0.012136f, 0.003076f, 0.008509f, -0.017347f, 0.055205f, 0.023205f, -0.016775f, 0.051414f, + -0.004212f, -0.088291f, -0.003018f, -0.011726f, -0.007370f, 0.018598f, 0.012022f, 0.025137f, -0.027374f, 0.039837f, -0.065264f, 0.020336f, 0.012237f, -0.001456f, 0.000562f, -0.002965f, -0.003985f, 0.023407f, -0.003611f, 0.005230f, -0.009402f, 0.000350f, -0.018824f, 0.006266f, 0.000609f, 0.039802f, 0.000123f, 0.018391f, -0.017307f, 0.003507f, -0.008503f, -0.021352f, 0.007430f, 0.000807f, -0.010891f, 0.028825f, -0.004862f, -0.005717f, -0.010780f, 0.021540f, -0.007328f, -0.036664f, 0.008128f, -0.006107f, 0.012070f, -0.014784f, 0.001983f, -0.003260f, -0.023028f, 0.022930f, -0.020367f, 0.016260f, -0.019469f, 0.011910f, -0.001619f, -0.005868f, -0.011267f, -0.053700f, -0.088578f, -0.139600f, 0.005914f, 0.116588f, -0.043513f, -0.070350f, -0.075195f, -0.071066f, 0.015813f, 0.015631f, 0.134328f, -0.018590f, -0.018333f, -0.058679f, 0.007497f, 0.018785f, 0.042888f, -0.043944f, 0.023475f, -0.031774f, 0.053142f, 0.017366f, 0.017990f, 0.006984f, -0.031659f, -0.017014f, -0.020322f, -0.006325f, 0.019814f, -0.018944f, -0.016391f, 0.037539f, -0.032777f, -0.020352f, 0.031375f, -0.028361f, -0.009759f, -0.024260f, + -0.039727f, 0.014999f, 0.027578f, 0.005529f, 0.026043f, -0.037597f, -0.008811f, -0.000519f, 0.023088f, 0.028052f, 0.034938f, 0.002978f, -0.002630f, -0.056881f, -0.058125f, -0.021262f, -0.018213f, -0.012349f, 0.028062f, 0.037721f, 0.053408f, 0.006350f, -0.022997f, 0.053146f, -0.036622f, -0.016253f, 0.024365f, -0.015928f, 0.070024f, 0.004051f, -0.010540f, 0.012229f, -0.024261f, 0.020553f, 0.048819f, 0.039722f, -0.013180f, 0.015345f, -0.045504f, -0.029846f, -0.016265f, -0.010983f, 0.035468f, -0.003979f, 0.034657f, 0.009432f, -0.010109f, 0.004523f, 0.007020f, -0.039830f, 0.024963f, -0.029366f, 0.019529f, -0.013234f, -0.007427f, -0.001647f, 0.022969f, -0.020492f, 0.003593f, 0.004136f, 0.020186f, 0.034119f, -0.016169f, -0.004599f, -0.025815f, -0.010346f, 0.010222f, -0.010121f, 0.008323f, -0.007827f, -0.010009f, -0.018202f, -0.028286f, -0.015708f, 0.027615f, -0.010073f, 0.014081f, -0.018783f, -0.003506f, -0.001146f, -0.005139f, -0.016810f, -0.006806f, 0.002319f, -0.001069f, 0.000609f, 0.000963f, -0.025642f, -0.003339f, -0.005529f, -0.004474f, -0.000034f, -0.000618f, -0.000854f, 0.036651f, -0.090338f, + -0.211301f, -0.161442f, -0.018583f, 0.070019f, 0.182415f, 0.154051f, 0.147051f, 0.150207f, 0.099118f, 0.041821f, -0.054064f, -0.095887f, -0.183152f, -0.134896f, -0.132605f, -0.132155f, -0.082226f, 0.079890f, 0.107573f, 0.158134f, 0.121367f, 0.101749f, 0.033569f, 0.067906f, -0.015233f, -0.017463f, -0.021281f, -0.036997f, -0.069363f, -0.056739f, -0.116840f, -0.042463f, -0.092794f, -0.044116f, -0.021942f, 0.030495f, 0.006084f, 0.043591f, 0.010063f, 0.061010f, 0.044779f, 0.073783f, 0.097932f, 0.121772f, 0.077810f, 0.052394f, 0.086446f, 0.006795f, -0.029433f, -0.106671f, -0.125249f, -0.172153f, -0.153585f, -0.143450f, -0.055034f, -0.094107f, -0.049344f, 0.005910f, 0.025953f, 0.060958f, 0.116004f, 0.123809f, 0.138182f, 0.208939f, 0.117504f, 0.160112f, 0.110880f, 0.025432f, -0.017033f, -0.065410f, -0.167138f, -0.182574f, -0.174041f, -0.192870f, -0.141811f, -0.098711f, -0.079428f, -0.021554f, 0.040561f, 0.068296f, 0.086458f, 0.128941f, 0.136638f, 0.144193f, 0.135940f, 0.085007f, 0.059104f, 0.028347f, 0.002968f, -0.000157f, -0.041194f, -0.066949f, -0.097179f, -0.115194f, -0.122652f, -0.115701f, + -0.081611f, -0.036358f, -0.032980f, -0.012164f, 0.021573f, 0.058001f, 0.071777f, 0.136523f, 0.095891f, 0.076145f, 0.075634f, 0.027655f, -0.003369f, -0.019359f, -0.024401f, -0.025345f, -0.066338f, -0.059025f, -0.043170f, -0.044625f, -0.033161f, 0.004717f, 0.009966f, 0.013443f, -0.008312f, 0.022073f, 0.000262f, 0.026057f, 0.026099f, 0.009086f, -0.009565f, -0.000666f, 0.005252f, 0.004109f, 0.003645f, 0.012606f, 0.002155f, -0.005635f, -0.019762f, -0.003917f, 0.003695f, 0.000015f, 0.011181f, 0.009813f, -0.002745f, -0.001224f, -0.008950f, -0.005942f, -0.005260f, -0.002349f, -0.004557f, 0.003288f, -0.003248f, -0.001150f, -0.001771f, -0.003901f, -0.008110f, 0.000055f, -0.000865f, 0.005173f, 0.010098f, 0.008054f, 0.004739f, 0.007046f, 0.000345f, 0.000708f, 0.000617f, 0.001891f, -0.002106f, -0.001430f, -0.002733f, 0.000680f, -0.001073f, -0.003825f, -0.004646f, 0.000431f, 0.000304f, -0.000446f, -0.004153f, -0.004293f, -0.004500f, -0.004068f, -0.002445f, 0.002328f, 0.001982f, 0.003942f, 0.003922f, 0.003872f, 0.000242f, 0.002164f, 0.001531f, 0.002514f, 0.002054f, 0.004472f, 0.003396f, 0.003522f, + 0.000101f, -0.002501f, -0.004124f, -0.003256f, -0.004768f, -0.004085f, -0.004380f, -0.003502f, -0.004556f, -0.002864f, -0.001678f, 0.000023f, 0.000788f, 0.002323f, 0.003091f, 0.005097f, 0.005235f, 0.006333f, 0.004334f, 0.003177f, 0.001486f, 0.001011f, -0.001659f, -0.002961f, -0.004164f, -0.004426f, -0.004392f, -0.002630f, -0.002159f, -0.001154f, -0.000604f, 0.000310f, 0.000340f, 0.001083f, 0.001049f, 0.001233f, 0.001025f, 0.000998f, 0.000525f, 0.000464f, 0.000189f, 0.000169f, -0.000017f, -0.000070f, -0.000157f, -0.000163f} + }, + { + {-0.017344f, 0.013427f, 0.000658f, 0.006167f, 0.006116f, 0.017381f, 0.008171f, -0.006421f, -0.008115f, -0.011310f, 0.008097f, -0.009894f, -0.007204f, 0.001619f, 0.002482f, 0.001075f, 0.010188f, -0.003327f, 0.009521f, -0.002436f, 0.008545f, -0.008096f, 0.003740f, -0.003573f, -0.008671f, -0.000603f, -0.016529f, 0.002486f, 0.004037f, 0.007394f, -0.006048f, -0.000088f, 0.006426f, -0.004732f, 0.007220f, 0.006826f, -0.004111f, 0.004906f, -0.005503f, -0.002539f, -0.004076f, -0.005910f, -0.007548f, 0.006753f, 0.009932f, -0.007435f, 0.004394f, 0.008020f, 0.006453f, 0.009816f, 0.001206f, -0.001455f, 0.005680f, 0.004349f, -0.010387f, -0.000377f, 0.001171f, 0.000679f, 0.003261f, 0.006736f, 0.001477f, 0.002456f, -0.003626f, -0.002255f, 0.004722f, 0.006695f, 0.003689f, -0.003513f, -0.006221f, 0.006904f, -0.005620f, -0.001791f, 0.003817f, -0.001136f, -0.000287f, 0.002958f, 0.000658f, 0.000213f, 0.006200f, -0.006078f, 0.004608f, 0.002557f, 0.003008f, 0.005789f, -0.002359f, -0.000639f, -0.001989f, -0.000778f, 0.000195f, 0.002851f, -0.002283f, -0.000377f, -0.001592f, -0.000860f, 0.000049f, -0.000187f, + -0.000948f, -0.000605f, 0.000587f, 0.000870f, -0.000066f, -0.000330f, -0.000674f, 0.000128f, -0.000250f, 0.000135f, -0.000947f, -0.000162f, 0.000844f, -0.001949f, -0.000966f, 0.006887f, -0.003617f, 0.005053f, 0.000503f, -0.000402f, -0.013960f, 0.002269f, 0.011930f, -0.007286f, 0.004940f, -0.014821f, -0.015003f, -0.004924f, -0.012197f, -0.010635f, -0.001588f, 0.002231f, 0.008410f, 0.001365f, -0.004027f, 0.001930f, 0.005728f, -0.007354f, 0.010248f, -0.006902f, -0.007483f, 0.008701f, -0.004300f, 0.010020f, 0.012707f, 0.001792f, -0.009143f, 0.006441f, 0.004200f, 0.002603f, -0.004647f, -0.003342f, 0.005343f, 0.004488f, 0.000917f, -0.010312f, -0.002976f, -0.009522f, 0.008645f, -0.008590f, -0.005618f, 0.006396f, 0.000310f, 0.005557f, 0.001588f, 0.002158f, 0.009405f, 0.001631f, 0.010547f, -0.013546f, -0.006969f, -0.003099f, 0.006741f, 0.009565f, 0.010889f, 0.014852f, 0.001614f, -0.004175f, -0.001411f, -0.001943f, -0.000448f, -0.009580f, -0.004210f, -0.004142f, -0.001168f, 0.001532f, -0.007804f, -0.004576f, -0.001760f, -0.003277f, -0.006102f, 0.007382f, -0.007336f, -0.002454f, 0.004886f, -0.012522f, + 0.003800f, 0.006903f, 0.007602f, 0.004051f, 0.002203f, 0.004607f, -0.002234f, -0.004825f, -0.001232f, 0.001365f, -0.000527f, 0.001366f, 0.000237f, -0.001303f, 0.000093f, -0.001901f, -0.002302f, 0.002853f, 0.001255f, -0.000205f, -0.000026f, 0.000033f, 0.002119f, 0.001043f, -0.000836f, -0.000813f, -0.000874f, 0.000215f, 0.001563f, -0.001808f, -0.000323f, -0.000047f, -0.000355f, 0.001095f, -0.000061f, -0.000697f, 0.015884f, -0.011803f, -0.004439f, -0.002338f, 0.009760f, 0.008811f, -0.008924f, -0.000824f, -0.016552f, -0.003623f, 0.020031f, 0.007543f, -0.008083f, 0.014385f, 0.004679f, 0.005528f, 0.001451f, -0.004835f, -0.015799f, 0.002113f, -0.007126f, -0.004504f, -0.002903f, -0.009623f, -0.003423f, -0.007450f, 0.005176f, -0.003375f, -0.004376f, 0.009000f, -0.017004f, 0.015623f, -0.005528f, 0.002218f, -0.005339f, 0.004874f, -0.000654f, -0.001565f, -0.000441f, 0.006648f, 0.000308f, 0.004202f, -0.006092f, 0.011703f, -0.009126f, 0.013628f, 0.002881f, -0.001353f, -0.007655f, -0.008958f, 0.018506f, 0.003191f, -0.017393f, 0.017760f, 0.016719f, -0.009096f, -0.003356f, 0.005254f, -0.006881f, -0.001282f, + -0.004250f, 0.004200f, 0.010655f, -0.006501f, 0.002417f, -0.004870f, -0.004473f, 0.001746f, 0.014351f, -0.013188f, 0.007973f, -0.013593f, -0.010475f, -0.009819f, -0.001759f, 0.000263f, -0.000035f, 0.008217f, 0.012700f, 0.003315f, 0.003060f, 0.006209f, 0.005012f, 0.002777f, 0.003131f, 0.003719f, -0.001409f, 0.004005f, -0.001866f, -0.003952f, 0.006744f, -0.000351f, 0.000902f, -0.001241f, -0.002043f, -0.001190f, 0.000013f, 0.002853f, -0.000757f, 0.000631f, 0.000255f, -0.002561f, -0.000009f, 0.001399f, 0.001770f, -0.000220f, 0.001234f, 0.004173f, -0.006460f, 0.000368f, -0.012404f, 0.011230f, -0.017286f, 0.000351f, 0.017424f, -0.032505f, 0.022127f, 0.008662f, -0.008854f, 0.006760f, -0.000944f, 0.019243f, -0.002330f, -0.016461f, -0.011578f, 0.006276f, 0.007293f, 0.001886f, 0.000257f, 0.008015f, 0.002211f, 0.001080f, 0.010994f, 0.004329f, 0.002954f, 0.007839f, 0.005576f, 0.027566f, -0.007915f, 0.007134f, -0.000657f, -0.004847f, 0.006973f, 0.004216f, 0.002577f, 0.003261f, -0.004812f, -0.007983f, 0.000263f, -0.000285f, 0.000152f, 0.003757f, 0.008253f, -0.008942f, -0.009450f, 0.003703f, + -0.002448f, -0.003797f, -0.005754f, 0.011057f, -0.008373f, 0.016102f, 0.007457f, 0.000448f, 0.003607f, 0.001107f, 0.004241f, 0.020532f, 0.017246f, 0.001053f, 0.000754f, 0.003722f, -0.004418f, 0.007511f, -0.001947f, 0.006746f, 0.001934f, 0.000180f, -0.000218f, -0.009154f, 0.008273f, 0.006225f, -0.002124f, -0.005380f, 0.000483f, 0.007903f, 0.000581f, -0.002575f, 0.000249f, -0.006473f, 0.004269f, 0.001414f, 0.005501f, -0.001793f, 0.001482f, 0.002123f, 0.002175f, 0.001732f, 0.003222f, 0.001356f, 0.001322f, -0.007830f, -0.000644f, 0.002669f, 0.004036f, -0.002865f, 0.002550f, 0.002256f, 0.002062f, 0.002267f, 0.000889f, 0.001691f, 0.002274f, 0.002485f, 0.000245f, 0.000780f, 0.000606f, 0.000983f, 0.000211f, 0.000425f, 0.001534f, 0.000380f, -0.000518f, -0.001963f, 0.000860f, 0.002256f, -0.002098f, 0.004076f, -0.001933f, 0.008989f, 0.000181f, 0.010380f, -0.004013f, 0.009200f, -0.007013f, 0.019283f, -0.014801f, -0.005559f, -0.007074f, 0.019880f, 0.011259f, 0.007278f, 0.012632f, -0.011481f, -0.002327f, 0.018335f, 0.010421f, 0.008575f, 0.008916f, 0.004708f, 0.006124f, -0.002165f, + 0.017627f, -0.001894f, -0.008124f, -0.006099f, 0.006180f, -0.006718f, 0.004041f, -0.016746f, 0.006180f, -0.003269f, 0.000333f, -0.017993f, 0.007735f, -0.003922f, 0.016833f, -0.002825f, 0.005339f, 0.004532f, -0.007072f, -0.001848f, 0.007684f, 0.000966f, 0.005278f, -0.003885f, 0.009355f, 0.013132f, 0.001702f, -0.009326f, 0.003574f, 0.009200f, 0.006685f, 0.001128f, -0.006286f, -0.013111f, 0.010939f, -0.014589f, -0.006084f, 0.008008f, -0.019157f, -0.004512f, 0.011958f, -0.008988f, 0.002556f, 0.000046f, -0.001026f, -0.002690f, 0.004902f, -0.009700f, 0.000592f, -0.016116f, -0.008213f, -0.021983f, 0.001720f, -0.006264f, 0.000553f, -0.004370f, -0.000604f, -0.005697f, 0.005087f, 0.004646f, 0.002017f, -0.003599f, 0.004710f, -0.000672f, 0.001896f, -0.006450f, 0.001701f, 0.001136f, 0.002118f, 0.001223f, 0.004429f, -0.000718f, 0.004988f, -0.002304f, -0.000215f, 0.003223f, 0.004696f, 0.000543f, 0.002654f, -0.003122f, -0.000993f, -0.001012f, -0.001018f, -0.002300f, 0.001555f, 0.003387f, 0.001109f, 0.003580f, -0.003439f, -0.002342f, -0.001863f, -0.005163f, 0.000666f, -0.000929f, 0.002489f, -0.000890f, + -0.000831f, -0.005409f, 0.005515f, -0.035031f, 0.006451f, -0.010853f, -0.006205f, 0.008370f, 0.006396f, 0.004587f, 0.001797f, -0.025661f, -0.002500f, 0.008358f, -0.013706f, -0.003372f, -0.018838f, -0.009426f, 0.004470f, -0.001987f, -0.017337f, 0.018558f, 0.011237f, -0.005311f, 0.002171f, 0.014661f, -0.009103f, 0.004145f, -0.006176f, -0.009752f, -0.006669f, -0.017865f, -0.006606f, 0.013967f, 0.006610f, 0.017769f, -0.008700f, -0.028337f, -0.012224f, 0.007272f, -0.009047f, -0.018377f, -0.003025f, -0.003238f, 0.017149f, 0.008949f, -0.019740f, 0.013521f, -0.013945f, -0.000607f, -0.010049f, -0.009538f, -0.009201f, -0.021732f, -0.012912f, 0.001837f, 0.014217f, 0.021532f, 0.013745f, 0.004187f, 0.008576f, -0.009528f, -0.016225f, -0.009871f, 0.010404f, -0.004798f, 0.011213f, -0.003173f, -0.010290f, -0.000326f, 0.001027f, -0.004817f, -0.011608f, 0.000912f, 0.008868f, -0.028380f, -0.018809f, 0.026848f, -0.008587f, 0.000725f, -0.014633f, 0.007224f, 0.004019f, -0.001547f, -0.001080f, 0.009938f, 0.007273f, 0.002377f, -0.002992f, -0.003457f, -0.000608f, -0.003883f, 0.002347f, 0.003049f, -0.005586f, -0.002664f, + 0.002140f, 0.000815f, 0.000053f, 0.001851f, 0.005592f, -0.005743f, -0.002681f, -0.010650f, -0.004368f, -0.001456f, -0.001989f, 0.000714f, 0.001572f, 0.003243f, 0.000250f, 0.004111f, -0.004656f, -0.003195f, 0.000857f, 0.001120f, 0.001599f, -0.003778f, -0.002159f, -0.005272f, -0.000232f, 0.001963f, 0.013160f, -0.000709f, 0.006492f, -0.009582f, 0.006447f, -0.012971f, -0.001235f, 0.021646f, -0.010697f, 0.020434f, 0.020694f, 0.025626f, 0.006140f, 0.010072f, 0.022020f, 0.017209f, 0.012537f, -0.017645f, 0.001903f, 0.005189f, 0.014644f, -0.003245f, -0.013229f, 0.016371f, 0.016527f, -0.005074f, 0.010888f, -0.005885f, -0.006254f, 0.010319f, 0.008776f, -0.001553f, 0.010480f, 0.000692f, -0.018125f, -0.014448f, 0.014967f, 0.022010f, -0.002134f, -0.007963f, 0.004318f, 0.000438f, -0.011003f, -0.020145f, 0.009998f, -0.019058f, -0.009558f, 0.014156f, 0.002648f, 0.012501f, 0.000140f, 0.020159f, 0.002424f, 0.022164f, -0.026450f, 0.023405f, -0.005003f, -0.001104f, 0.006697f, 0.012282f, -0.010439f, -0.021748f, -0.006543f, 0.019570f, -0.004278f, -0.023249f, -0.014062f, -0.014310f, 0.003383f, 0.008176f, + -0.020530f, 0.009993f, 0.011176f, 0.020709f, 0.005974f, 0.006421f, -0.000381f, 0.005727f, 0.000623f, 0.004454f, 0.002699f, -0.015351f, -0.002155f, 0.007121f, 0.004621f, 0.012194f, -0.008546f, -0.002602f, -0.000610f, 0.000886f, 0.005399f, 0.000648f, 0.004372f, 0.001866f, -0.002845f, -0.001147f, 0.004136f, 0.004154f, 0.001142f, 0.004542f, 0.000795f, 0.001951f, 0.005606f, -0.000023f, -0.003793f, -0.001798f, 0.000828f, 0.002890f, -0.000933f, -0.001508f, 0.004416f, 0.002461f, 0.000571f, -0.005140f, -0.002162f, -0.002971f, -0.003062f, -0.000310f, 0.004731f, 0.000225f, 0.004469f, 0.003547f, 0.002811f, -0.000421f, 0.000215f, 0.006947f, 0.022385f, 0.002831f, 0.009315f, 0.026634f, 0.028692f, 0.008532f, 0.007173f, -0.021287f, -0.010789f, 0.023451f, -0.017497f, 0.023971f, 0.006718f, -0.000126f, -0.004840f, -0.008419f, -0.013930f, 0.002521f, 0.010577f, -0.025840f, -0.011752f, -0.010999f, 0.005671f, 0.005174f, 0.005600f, 0.000788f, 0.004327f, -0.000950f, 0.007723f, 0.006322f, -0.006912f, -0.012111f, -0.022390f, 0.003938f, -0.012128f, 0.020162f, 0.000742f, -0.011182f, -0.014115f, -0.004283f, + 0.009292f, -0.017516f, 0.010902f, -0.005847f, 0.003547f, -0.000181f, -0.012559f, 0.012425f, 0.015623f, -0.010735f, 0.013133f, 0.003801f, -0.001090f, 0.037682f, -0.009545f, -0.024383f, 0.004553f, 0.009223f, -0.006182f, 0.002081f, -0.010704f, 0.025609f, 0.014792f, -0.002489f, -0.005545f, 0.018206f, 0.017269f, -0.003577f, -0.014869f, -0.010686f, 0.035483f, -0.003214f, -0.004976f, -0.014276f, -0.009388f, -0.002795f, 0.003380f, -0.003649f, -0.009544f, 0.015395f, -0.004933f, 0.018259f, 0.005190f, -0.005648f, -0.002091f, 0.003341f, -0.000187f, -0.003022f, -0.003262f, 0.006501f, -0.008175f, -0.001885f, -0.002259f, 0.010611f, 0.000872f, -0.002179f, -0.000359f, -0.005241f, -0.005094f, -0.000545f, 0.000964f, 0.011141f, -0.002689f, 0.006661f, 0.002399f, -0.003447f, 0.002158f, 0.000592f, -0.005443f, 0.004261f, -0.002765f, 0.005834f, -0.000664f, -0.005651f, -0.004385f, -0.003152f, -0.004413f, 0.000104f, -0.001475f, -0.001657f, 0.001859f, 0.002212f, 0.002964f, 0.001335f, 0.009504f, -0.019378f, -0.005308f, -0.005935f, 0.001879f, 0.008593f, 0.019590f, 0.017145f, -0.026769f, 0.000860f, 0.003426f, -0.002496f, + -0.007814f, -0.018372f, -0.001655f, 0.006517f, 0.011312f, 0.009233f, -0.016837f, -0.002742f, -0.021410f, 0.020536f, 0.001142f, -0.001781f, 0.010010f, -0.009418f, -0.001515f, -0.022841f, 0.004123f, -0.013545f, 0.009760f, -0.001576f, -0.003616f, -0.007577f, -0.015068f, -0.014669f, -0.001521f, -0.018148f, -0.029704f, -0.005349f, -0.013407f, -0.028567f, -0.002101f, -0.002261f, -0.015515f, 0.010528f, 0.016045f, -0.001755f, 0.007769f, -0.001787f, -0.002272f, 0.004493f, 0.004899f, -0.023108f, -0.006645f, 0.012987f, -0.011006f, 0.028084f, 0.005264f, 0.007638f, -0.017768f, 0.000023f, -0.007900f, -0.018166f, -0.001733f, 0.026078f, 0.012229f, 0.019860f, 0.011148f, -0.008380f, -0.020647f, -0.032431f, 0.022123f, 0.022635f, -0.002451f, 0.011788f, -0.025211f, 0.012366f, 0.010643f, 0.018463f, 0.002980f, -0.021585f, -0.002574f, -0.020109f, -0.006813f, 0.001871f, -0.006361f, 0.004487f, -0.004288f, -0.006553f, -0.001523f, 0.002144f, -0.000782f, -0.002023f, 0.006208f, -0.001685f, 0.002547f, -0.014556f, 0.000494f, -0.001036f, -0.002105f, -0.006510f, -0.002614f, 0.004595f, -0.005980f, -0.007052f, -0.002372f, -0.002432f, + -0.002752f, 0.000130f, -0.001536f, -0.007829f, -0.006217f, -0.003828f, 0.002484f, 0.002824f, 0.004909f, 0.002376f, 0.004525f, 0.001618f, -0.005546f, 0.001311f, -0.000722f, -0.003415f, 0.002371f, -0.006564f, 0.003079f, -0.003499f, -0.000381f, 0.004651f, -0.050284f, -0.012420f, 0.040359f, 0.013637f, 0.016583f, -0.010243f, 0.016744f, 0.028217f, 0.002260f, -0.004492f, -0.046436f, -0.010657f, -0.001994f, 0.026963f, 0.007719f, 0.010948f, -0.034747f, -0.009177f, -0.012803f, -0.008086f, 0.021908f, -0.012024f, -0.004069f, 0.004006f, 0.006402f, -0.010793f, -0.004644f, 0.005855f, -0.009585f, 0.021603f, -0.023766f, 0.002845f, 0.015950f, -0.020265f, 0.017009f, 0.028883f, 0.033503f, 0.016266f, 0.016480f, 0.022142f, -0.014840f, -0.027253f, 0.011145f, 0.012227f, 0.018356f, 0.014744f, -0.030942f, -0.008578f, 0.016499f, 0.009718f, 0.006098f, 0.019796f, 0.004536f, 0.023015f, -0.008308f, -0.004618f, 0.013156f, 0.012311f, 0.003772f, -0.019741f, -0.010565f, -0.021225f, -0.024500f, -0.001139f, -0.026811f, 0.001728f, -0.015555f, 0.001421f, -0.014138f, -0.008124f, -0.034486f, 0.024190f, 0.006425f, -0.004840f, + -0.006085f, -0.003585f, 0.004749f, -0.012493f, -0.001681f, -0.029804f, -0.016395f, 0.010801f, 0.013739f, 0.005931f, 0.004681f, 0.001497f, -0.015695f, 0.007554f, 0.007315f, 0.005935f, -0.014997f, 0.003777f, 0.000680f, -0.011687f, -0.003966f, 0.002423f, 0.001980f, -0.005857f, -0.008940f, 0.003310f, -0.004354f, -0.005190f, -0.001292f, 0.001647f, -0.001049f, -0.000337f, 0.003134f, -0.002461f, 0.004332f, -0.000379f, 0.006148f, -0.002339f, 0.005499f, 0.008873f, -0.005980f, 0.005107f, 0.000478f, 0.003668f, -0.003665f, 0.000006f, 0.004975f, 0.004327f, -0.007385f, 0.004338f, 0.003962f, 0.031787f, -0.015315f, -0.013090f, -0.011586f, 0.021920f, 0.027800f, -0.017271f, 0.044543f, 0.009435f, -0.018882f, 0.022845f, 0.006594f, -0.018411f, -0.021644f, -0.017463f, -0.001313f, -0.009336f, -0.006360f, -0.028894f, 0.011727f, 0.012161f, 0.040180f, 0.005513f, -0.006739f, -0.018007f, -0.018851f, 0.004878f, -0.002145f, -0.025274f, 0.004591f, -0.009328f, 0.001313f, 0.019646f, -0.015049f, 0.025957f, -0.022630f, -0.019033f, -0.001195f, -0.029669f, -0.035476f, 0.005833f, -0.003981f, -0.040996f, 0.002937f, 0.000527f, + -0.019441f, 0.010309f, -0.009395f, 0.005232f, -0.027649f, -0.045253f, 0.029840f, -0.027673f, 0.046176f, 0.025196f, -0.032837f, -0.004184f, -0.033275f, -0.008965f, -0.004135f, 0.013882f, -0.011926f, 0.021168f, 0.026749f, 0.025333f, -0.018173f, -0.014865f, 0.002462f, -0.022380f, -0.001997f, -0.007285f, -0.029471f, 0.017692f, 0.013185f, -0.015731f, 0.023362f, -0.034559f, -0.003230f, 0.002088f, -0.008965f, -0.005816f, 0.030126f, 0.022200f, 0.014859f, -0.001803f, -0.015595f, -0.012698f, -0.011736f, 0.005206f, 0.004926f, -0.000954f, 0.003485f, -0.000914f, -0.001306f, 0.000634f, -0.001180f, 0.001207f, 0.006072f, -0.007145f, 0.002927f, -0.000517f, 0.006674f, -0.003859f, -0.000610f, 0.003797f, 0.008890f, 0.003479f, 0.007189f, -0.008498f, -0.009178f, 0.004375f, -0.006088f, 0.001461f, 0.000036f, -0.009913f, -0.005441f, -0.005933f, 0.000178f, 0.003197f, 0.003005f, 0.001939f, 0.002389f, -0.001425f, -0.027495f, -0.021047f, 0.012843f, 0.015690f, 0.017396f, 0.029827f, -0.011787f, 0.055362f, -0.002306f, -0.029505f, 0.012074f, 0.027015f, 0.006992f, 0.013940f, -0.012815f, -0.031553f, 0.046080f, 0.025358f, + 0.018558f, 0.008522f, -0.016700f, 0.014491f, 0.038286f, -0.014803f, 0.007780f, -0.000910f, 0.007628f, 0.006172f, 0.027122f, -0.008484f, 0.008862f, -0.010279f, 0.007868f, -0.003141f, -0.002034f, 0.016680f, 0.003106f, -0.034805f, -0.023566f, -0.032644f, -0.022578f, -0.017543f, -0.009028f, -0.025099f, -0.014485f, -0.012569f, -0.021901f, -0.015308f, 0.008863f, -0.022754f, -0.008244f, -0.017767f, 0.040811f, 0.020580f, 0.035456f, -0.033089f, -0.003628f, -0.030270f, -0.006866f, 0.032956f, 0.017814f, 0.038911f, 0.018203f, 0.023914f, -0.026449f, 0.011248f, 0.010911f, 0.036009f, 0.036437f, 0.010647f, 0.032912f, -0.029275f, -0.014357f, 0.021046f, -0.076250f, 0.000931f, 0.011855f, 0.001152f, 0.018202f, 0.011705f, 0.042083f, -0.003727f, -0.006490f, 0.045807f, 0.013375f, -0.004523f, -0.021298f, -0.000835f, -0.000240f, 0.037471f, 0.004431f, 0.000612f, 0.002460f, 0.007253f, 0.011209f, -0.002519f, -0.002759f, 0.011824f, 0.005265f, 0.003579f, 0.005849f, 0.008480f, 0.006249f, -0.000848f, 0.000888f, 0.000821f, 0.012030f, -0.002626f, 0.006055f, 0.011825f, 0.008383f, 0.013240f, -0.006580f, -0.004900f, + 0.002613f, 0.004041f, -0.005217f, 0.000017f, 0.007227f, 0.012279f, -0.001405f, 0.003413f, 0.001300f, 0.032611f, 0.021203f, -0.021318f, 0.041674f, 0.024751f, -0.002093f, -0.010372f, -0.005227f, 0.025043f, 0.061540f, 0.032906f, 0.008850f, 0.002600f, 0.020216f, -0.004909f, 0.049669f, 0.028115f, 0.031019f, 0.001299f, -0.015826f, 0.010565f, 0.003724f, -0.026378f, -0.006532f, -0.001628f, -0.006268f, -0.007488f, 0.010054f, 0.005541f, -0.021707f, -0.010341f, -0.038335f, -0.003876f, -0.011952f, -0.049215f, -0.022181f, 0.001560f, 0.018381f, -0.025290f, 0.031647f, -0.008710f, -0.007646f, -0.004241f, -0.007821f, 0.023150f, -0.015608f, 0.016211f, -0.050610f, 0.015727f, 0.021943f, 0.017101f, 0.033561f, -0.033142f, 0.028719f, -0.029735f, -0.022403f, 0.025057f, -0.014737f, -0.004320f, 0.020810f, -0.033720f, 0.029880f, 0.048240f, -0.001120f, -0.006858f, 0.061237f, -0.013080f, 0.011667f, 0.034749f, -0.073939f, -0.037622f, 0.002344f, 0.002401f, 0.009841f, 0.017908f, 0.035718f, 0.021751f, -0.028397f, -0.022438f, -0.006883f, -0.007890f, -0.038307f, -0.003542f, -0.007795f, 0.009586f, -0.040030f, 0.000642f, + -0.012211f, 0.016389f, -0.006229f, 0.020821f, 0.005315f, 0.000383f, -0.012025f, -0.008453f, -0.011326f, -0.011534f, -0.009243f, 0.008338f, -0.024459f, 0.017583f, -0.003141f, 0.009898f, 0.000331f, -0.001307f, -0.016794f, 0.009324f, -0.012011f, 0.003256f, -0.012751f, -0.006542f, -0.000370f, -0.005247f, -0.014603f, 0.001338f, -0.004784f, 0.001868f, -0.010048f, -0.010452f, -0.011768f, 0.002373f, 0.002139f, 0.014819f, 0.015168f, 0.000198f, 0.000020f, -0.018553f, -0.011058f, -0.058436f, -0.035120f, 0.043159f, 0.042912f, 0.004681f, -0.010061f, 0.036405f, -0.058619f, -0.031432f, -0.063433f, 0.027855f, 0.007780f, 0.002899f, 0.012385f, -0.028816f, 0.014705f, 0.020179f, 0.026425f, 0.044737f, 0.045969f, 0.038635f, -0.001485f, 0.008799f, 0.000576f, -0.016700f, -0.003397f, -0.013931f, -0.007165f, 0.053300f, -0.012358f, -0.048851f, -0.012297f, -0.009986f, 0.004446f, 0.076760f, -0.027654f, -0.027407f, 0.026017f, -0.041444f, 0.014426f, -0.045996f, 0.060261f, 0.017092f, -0.001623f, 0.015525f, -0.023166f, -0.029310f, 0.041303f, -0.050077f, -0.040015f, -0.035963f, 0.010049f, 0.015153f, 0.018820f, -0.033359f, + 0.034362f, -0.010514f, 0.002634f, 0.052951f, -0.003564f, -0.008903f, 0.015611f, 0.042752f, -0.027573f, 0.070844f, 0.002671f, -0.081446f, -0.009875f, -0.003047f, -0.027182f, -0.007764f, 0.000028f, -0.007538f, -0.022194f, -0.018615f, 0.040157f, 0.026976f, -0.009836f, 0.026108f, -0.046793f, 0.013240f, 0.021031f, 0.013158f, 0.001557f, 0.025152f, -0.004089f, -0.001010f, 0.009421f, 0.024595f, -0.010103f, -0.010580f, -0.008313f, 0.001234f, 0.009298f, -0.004609f, -0.019278f, -0.020656f, 0.001061f, -0.009634f, 0.007249f, -0.000132f, 0.005128f, 0.011147f, -0.013472f, -0.008805f, 0.023394f, -0.005264f, 0.004265f, -0.001664f, 0.000659f, -0.007832f, -0.008841f, -0.004352f, -0.002940f, -0.012261f, 0.006043f, 0.011506f, 0.006397f, -0.000056f, 0.001098f, 0.005288f, -0.009489f, 0.002359f, 0.010909f, -0.000910f, 0.009364f, -0.005097f, -0.016901f, -0.022749f, 0.000585f, 0.009830f, -0.016845f, -0.007846f, 0.077508f, 0.045806f, -0.063030f, -0.050993f, 0.062331f, 0.059395f, 0.037063f, 0.042599f, -0.074984f, -0.016700f, -0.020881f, 0.019399f, 0.006963f, -0.030460f, -0.055458f, -0.083873f, 0.024159f, 0.021745f, + 0.006195f, 0.022674f, -0.011699f, -0.004507f, -0.020116f, 0.016280f, 0.028643f, 0.025649f, 0.006504f, 0.034180f, 0.010786f, -0.004224f, -0.014342f, -0.051114f, -0.003009f, -0.021691f, -0.017989f, 0.017348f, -0.054771f, 0.004561f, 0.001925f, -0.025752f, 0.021985f, 0.020076f, 0.009813f, -0.036997f, -0.034384f, -0.090223f, -0.023149f, 0.000308f, -0.029066f, 0.004743f, 0.018725f, 0.018580f, 0.050006f, 0.024332f, -0.022472f, -0.015910f, -0.033664f, 0.041939f, -0.018034f, 0.072839f, 0.060898f, 0.016603f, -0.039331f, 0.080449f, 0.036923f, -0.033086f, 0.004764f, 0.040241f, 0.093756f, -0.039204f, -0.072099f, -0.037433f, 0.000744f, -0.026280f, 0.011103f, 0.025558f, 0.021409f, -0.019231f, -0.029620f, -0.016613f, -0.024689f, -0.027235f, 0.007228f, 0.028832f, 0.023110f, 0.012747f, 0.011405f, 0.003875f, 0.019409f, 0.002281f, 0.002941f, 0.028168f, 0.022177f, -0.001697f, -0.009588f, 0.006063f, -0.015083f, 0.015492f, -0.005869f, 0.015864f, -0.008531f, 0.006110f, 0.004054f, 0.010346f, 0.013654f, 0.007753f, 0.006253f, -0.013886f, -0.026739f, 0.002740f, -0.013662f, -0.007241f, 0.007833f, 0.001987f, + -0.004100f, -0.005569f, 0.019019f, 0.005905f, 0.025796f, -0.008745f, 0.013734f, -0.013445f, 0.013326f, -0.018380f, 0.017725f, 0.000240f, -0.015467f, 0.030477f, 0.010516f, -0.011450f, -0.030731f, 0.024674f, -0.051677f, -0.047859f, -0.017581f, 0.036062f, -0.021567f, -0.027460f, -0.000811f, 0.041638f, 0.003921f, 0.043046f, -0.015128f, 0.052084f, 0.005553f, 0.027643f, -0.018977f, -0.012909f, 0.016151f, -0.054871f, -0.015642f, 0.019932f, -0.010165f, -0.007852f, -0.044182f, -0.041826f, 0.018713f, -0.025720f, -0.018532f, 0.033337f, 0.045998f, -0.007350f, 0.030111f, -0.055446f, 0.002934f, -0.015425f, 0.070927f, -0.029925f, 0.023355f, 0.043223f, 0.041228f, 0.011694f, -0.029406f, 0.018037f, 0.012922f, 0.012194f, 0.022687f, -0.070712f, 0.129362f, 0.041040f, -0.011710f, 0.006419f, 0.014243f, 0.035620f, -0.010299f, 0.027335f, 0.075340f, -0.004691f, -0.093780f, 0.038712f, 0.032277f, -0.033575f, 0.043679f, -0.010037f, -0.019839f, -0.050489f, 0.096658f, -0.050252f, 0.107651f, -0.071398f, 0.026456f, -0.001711f, 0.116983f, 0.051663f, -0.050301f, 0.047734f, 0.001894f, -0.031459f, 0.023354f, 0.003330f, + 0.010406f, 0.025908f, 0.010970f, -0.030436f, -0.008019f, 0.035440f, 0.009404f, 0.019930f, -0.016631f, 0.022062f, -0.037983f, 0.013765f, -0.002299f, -0.012499f, 0.023356f, -0.013344f, -0.007516f, 0.016656f, -0.003041f, 0.002260f, -0.003140f, 0.028196f, -0.018790f, 0.027512f, -0.016552f, 0.025435f, 0.035793f, 0.013103f, 0.009600f, 0.019627f, -0.005317f, -0.014382f, -0.013901f, 0.016909f, 0.005809f, -0.003082f, -0.000376f, -0.004700f, -0.025952f, -0.020070f, -0.004135f, 0.000596f, -0.006008f, -0.015302f, 0.089151f, 0.010816f, 0.048472f, 0.024831f, -0.048803f, 0.003248f, 0.029191f, -0.008546f, -0.042494f, -0.007966f, -0.092847f, -0.025825f, -0.034512f, -0.019844f, 0.020418f, -0.002511f, 0.033395f, -0.016100f, 0.003715f, 0.032636f, -0.028789f, 0.003344f, 0.018586f, -0.001601f, -0.031608f, 0.000170f, -0.021689f, 0.064381f, -0.011164f, 0.037410f, 0.006103f, -0.000397f, 0.065861f, 0.047620f, -0.028892f, -0.033770f, 0.016749f, 0.030012f, 0.036171f, 0.044074f, -0.000751f, 0.015702f, 0.041632f, -0.002023f, -0.016679f, 0.013257f, 0.001499f, -0.036613f, -0.000801f, 0.024522f, -0.036228f, -0.048611f, + -0.004592f, -0.002713f, -0.005211f, -0.016151f, -0.017624f, -0.057960f, -0.000008f, 0.057396f, 0.017628f, 0.032042f, 0.018810f, -0.007420f, -0.075200f, -0.054919f, 0.014855f, 0.048941f, 0.015923f, 0.024863f, 0.098850f, 0.102882f, 0.086855f, -0.006637f, 0.043181f, -0.027261f, -0.072880f, -0.121281f, 0.021163f, 0.015252f, -0.005392f, 0.017152f, -0.038415f, 0.008518f, -0.009336f, 0.044831f, -0.003318f, 0.036058f, -0.044006f, 0.021974f, -0.054048f, -0.010201f, 0.022867f, 0.004170f, -0.027504f, 0.006753f, -0.022649f, -0.024249f, -0.010439f, 0.006802f, 0.020694f, 0.027002f, 0.035118f, -0.008138f, -0.001871f, 0.009399f, -0.009596f, 0.011621f, -0.036341f, -0.030679f, -0.021557f, -0.028677f, -0.027982f, -0.029282f, 0.019307f, 0.014418f, -0.004920f, -0.019056f, -0.029632f, 0.018450f, 0.000342f, 0.028923f, -0.006938f, 0.025702f, 0.018642f, 0.001621f, 0.008054f, 0.030760f, -0.036168f, -0.033490f, 0.020879f, -0.002515f, -0.007165f, -0.015791f, -0.027965f, -0.058384f, 0.016133f, -0.035174f, 0.016641f, -0.015505f, -0.041303f, -0.013061f, -0.000591f, 0.019922f, -0.017633f, 0.009956f, -0.060452f, 0.055902f, + -0.126349f, -0.012973f, -0.031797f, -0.026183f, 0.016600f, 0.071787f, 0.011310f, 0.025827f, -0.062358f, 0.013570f, 0.022620f, 0.049241f, -0.026063f, -0.040475f, -0.028118f, -0.013951f, -0.002148f, -0.001403f, 0.029743f, 0.021501f, -0.017924f, -0.091368f, -0.043470f, -0.074359f, 0.008367f, 0.130251f, -0.092593f, -0.036903f, -0.014417f, 0.075150f, -0.025444f, 0.031600f, -0.024321f, 0.036069f, -0.014599f, -0.022330f, -0.047067f, 0.023892f, -0.054514f, 0.049984f, 0.090583f, 0.011388f, -0.016921f, -0.017247f, 0.075105f, 0.019705f, -0.000855f, 0.039531f, 0.012889f, 0.014123f, -0.014665f, 0.086777f, -0.136999f, 0.098806f, -0.083541f, 0.039310f, 0.097656f, -0.078761f, 0.158459f, 0.107822f, -0.040834f, -0.013843f, 0.108928f, 0.039563f, -0.010520f, 0.071577f, 0.064227f, -0.084037f, 0.112392f, -0.068369f, 0.019865f, 0.021293f, -0.030339f, 0.021437f, 0.036620f, -0.023024f, -0.041357f, 0.013097f, -0.022364f, 0.009271f, 0.009285f, -0.011600f, -0.032460f, 0.012594f, 0.011370f, -0.013493f, 0.013416f, 0.010654f, -0.026158f, 0.063477f, 0.006759f, 0.001049f, 0.001166f, -0.013193f, 0.009562f, 0.008314f, + 0.003180f, -0.021050f, 0.010601f, 0.002650f, -0.009287f, -0.018493f, 0.039154f, -0.015179f, 0.031802f, 0.036268f, -0.003931f, -0.013815f, 0.009421f, 0.008713f, 0.013941f, 0.043771f, 0.037658f, -0.034298f, 0.015561f, -0.014098f, -0.002273f, 0.050037f, -0.010010f, 0.013776f, 0.019477f, -0.003394f, 0.092343f, 0.088002f, -0.075213f, 0.073270f, 0.067433f, -0.063484f, -0.095784f, -0.141543f, 0.032899f, 0.212302f, 0.087198f, 0.000280f, 0.043775f, -0.203165f, -0.083929f, -0.007316f, 0.030890f, 0.152641f, 0.149414f, 0.025672f, -0.057680f, -0.112641f, -0.066008f, 0.007485f, 0.048215f, 0.072891f, 0.117484f, 0.070811f, -0.094765f, -0.224018f, -0.182506f, -0.018089f, 0.203011f, 0.220740f, 0.139527f, 0.042475f, -0.046951f, -0.090349f, -0.136326f, -0.077887f, -0.082938f, 0.162331f, 0.135182f, 0.085250f, 0.075601f, -0.115138f, -0.161091f, -0.187088f, -0.167405f, 0.064276f, 0.226657f, 0.278927f, 0.094334f, -0.084774f, -0.198755f, -0.238568f, -0.064886f, 0.038155f, 0.024601f, 0.148936f, 0.058488f, -0.056567f, -0.033434f, -0.115034f, -0.025092f, -0.131488f, 0.056804f, 0.155356f, 0.291023f, -0.017930f, + -0.155643f, -0.338318f, -0.013246f, -0.114568f, -0.012172f, 0.161774f, 0.032081f, -0.015152f, -0.072322f, -0.152574f, -0.099843f, 0.072844f, 0.118057f, 0.038550f, -0.020647f, -0.052188f, -0.062138f, 0.060214f, 0.069558f, 0.042661f, 0.037244f, 0.016321f, 0.034729f, -0.003701f, 0.003291f, -0.034164f, -0.015660f, 0.003492f, 0.087790f, 0.076407f, -0.003969f, -0.033303f, -0.008537f, -0.078765f, -0.052639f, -0.002393f, 0.029939f, 0.080634f, 0.062471f, 0.043896f, 0.004059f, -0.109615f, -0.098339f, -0.067008f, 0.025803f, 0.104895f, 0.204184f, 0.124574f, -0.094137f, -0.169982f, -0.149721f, -0.060794f, 0.004276f, 0.139355f, 0.175977f, 0.130804f, 0.023118f, -0.104954f, -0.237265f, -0.150006f, 0.048321f, 0.146749f, 0.168234f, 0.048629f, -0.024635f, -0.065876f, -0.077335f, -0.044839f, -0.014256f, 0.015973f, 0.036992f, 0.046249f, 0.037051f, 0.008486f, -0.003238f, -0.032557f, 0.001624f, -0.019180f, 0.095941f, 0.056210f, -0.008221f, 0.020571f, 0.010583f, -0.067958f, -0.006902f, -0.005326f, 0.007657f, 0.002343f, 0.005676f, -0.024715f, -0.009751f, -0.008982f, -0.006056f, -0.011126f, 0.041024f, -0.014443f, + 0.017752f, -0.030497f, -0.002871f, 0.012896f, -0.001230f, -0.009116f, 0.070694f, 0.009970f, -0.039672f, -0.046146f, 0.009974f, 0.009963f, -0.027021f, 0.007776f, 0.035624f, 0.018601f, 0.033544f, -0.033884f, 0.010550f, -0.000991f, 0.008234f, -0.023788f, 0.004796f, 0.026848f, 0.037940f, 0.009762f, -0.009590f, 0.011272f, 0.004493f, -0.008570f, 0.025942f, -0.037772f, 0.008807f, -0.061659f, -0.019145f, 0.025765f, -0.020771f, -0.024659f, 0.033869f, -0.021252f, -0.057526f, -0.044502f, 0.039825f, -0.004740f, -0.007624f, 0.009301f, 0.020290f, 0.050371f, -0.032486f, -0.042416f, 0.002040f, -0.005657f, 0.034201f, 0.000443f, 0.020092f, 0.009280f, -0.003133f, 0.052308f, -0.067664f, -0.009765f, -0.009357f, -0.039694f, 0.010444f, 0.022499f, 0.001222f, -0.023577f, 0.010780f, -0.005189f, 0.007018f, -0.020368f, 0.015324f, -0.000902f, 0.002707f, -0.001662f, -0.004776f, 0.026590f, -0.026312f, 0.002215f, -0.004277f, -0.009411f, -0.008229f, 0.003229f, -0.011229f, 0.012262f, 0.015842f, -0.016052f, -0.003818f, -0.006065f, 0.014550f, 0.015917f, -0.007662f, 0.019587f, 0.002217f, -0.002692f, -0.012811f, 0.014147f, + 0.005176f, -0.005461f, -0.021372f, 0.010340f, -0.019352f, 0.012772f, -0.010293f, -0.009469f, 0.018333f, 0.018010f, -0.024135f, 0.003000f, -0.005363f, -0.023962f, 0.008166f, -0.013995f, 0.016137f, -0.013802f, -0.055783f, -0.061544f, -0.146763f, 0.042758f, 0.042290f, -0.002739f, -0.123689f, -0.079865f, -0.011546f, -0.020076f, 0.083053f, 0.056119f, 0.027106f, -0.054610f, -0.022413f, -0.014286f, 0.052088f, 0.005950f, -0.014548f, -0.031947f, 0.021492f, 0.009699f, 0.026023f, -0.001160f, -0.010316f, -0.012925f, -0.029446f, -0.014558f, -0.017735f, 0.049794f, 0.026695f, 0.006089f, 0.007640f, -0.032366f, -0.001539f, 0.004222f, 0.045433f, -0.003012f, 0.021284f, -0.016551f, -0.011512f, 0.009474f, -0.018443f, 0.012577f, 0.005607f, 0.013509f, 0.044310f, -0.003602f, 0.038905f, -0.000251f, 0.025049f, -0.018971f, 0.001817f, -0.028019f, -0.036433f, -0.038257f, -0.032794f, 0.011127f, 0.005893f, 0.003103f, -0.048385f, 0.024259f, -0.042094f, -0.004502f, 0.002364f, -0.026204f, -0.028512f, -0.014871f, 0.000681f, -0.050201f, -0.033996f, 0.031633f, -0.015089f, 0.029471f, 0.004790f, -0.007821f, -0.027149f, -0.031235f, + -0.001907f, 0.044994f, 0.055552f, -0.013528f, -0.005544f, -0.020565f, -0.027648f, -0.018895f, 0.017792f, 0.009670f, 0.006918f, 0.017618f, -0.003313f, -0.011208f, 0.012123f, 0.006902f, 0.010104f, 0.015450f, -0.008401f, 0.005395f, -0.001585f, 0.000633f, -0.011465f, 0.020323f, 0.006438f, 0.004853f, -0.005930f, 0.003185f, -0.000352f, 0.031524f, 0.004059f, 0.009653f, -0.017454f, 0.001464f, -0.011282f, 0.020730f, 0.001472f, 0.000601f, -0.007145f, 0.005035f, -0.002306f, 0.000549f, 0.009828f, 0.001219f, 0.012862f, -0.008434f, 0.004193f, 0.001641f, -0.016424f, -0.000601f, 0.009414f, 0.003902f, -0.003381f, 0.005677f, 0.033013f, -0.071104f, -0.176276f, -0.168954f, -0.025675f, 0.051071f, 0.169932f, 0.146869f, 0.138430f, 0.148726f, 0.082763f, 0.020023f, -0.075140f, -0.075457f, -0.156851f, -0.121773f, -0.106809f, -0.067724f, -0.085239f, 0.117321f, 0.096464f, 0.127050f, 0.073215f, 0.103847f, -0.003821f, 0.027361f, -0.016740f, -0.040496f, -0.023230f, -0.048418f, -0.056404f, -0.056106f, -0.055429f, -0.065519f, -0.048049f, -0.038944f, -0.004488f, 0.010354f, 0.092039f, 0.077338f, 0.040671f, 0.043816f, + 0.060689f, 0.056435f, 0.027087f, 0.131168f, 0.016981f, 0.001763f, 0.024526f, -0.048930f, -0.150520f, -0.042988f, -0.120676f, -0.129285f, -0.136735f, -0.096609f, -0.086174f, 0.004364f, 0.071303f, 0.072895f, 0.088869f, 0.161890f, 0.116379f, 0.142081f, 0.139476f, 0.089122f, 0.095658f, 0.032774f, -0.033789f, -0.109245f, -0.143539f, -0.163810f, -0.106718f, -0.147006f, -0.123709f, -0.141144f, -0.082519f, -0.009748f, 0.038587f, 0.114387f, 0.108955f, 0.110829f, 0.184275f, 0.128574f, 0.152304f, 0.095047f, 0.015673f, -0.017794f, -0.046298f, -0.076216f, -0.085602f, -0.090460f, -0.088381f, -0.101631f, -0.087331f, -0.063691f, -0.039334f, -0.020188f, -0.015494f, 0.044278f, 0.041801f, 0.059238f, 0.095383f, 0.107766f, 0.068116f, 0.082366f, 0.050562f, -0.003003f, -0.022527f, -0.049517f, -0.062242f, -0.053106f, -0.046143f, -0.055514f, -0.020527f, -0.013655f, 0.001050f, 0.015837f, 0.017265f, 0.004521f, 0.002177f, 0.015518f, -0.002461f, -0.013295f, 0.012107f, 0.007410f, 0.008568f, 0.013739f, 0.003820f, 0.003748f, 0.008061f, 0.019062f, 0.016012f, 0.007553f, 0.001353f, -0.004064f, -0.016401f, -0.012176f, + -0.014936f, -0.012699f, -0.005335f, -0.009786f, -0.008848f, -0.004697f, -0.004005f, -0.005190f, -0.001640f, 0.006238f, 0.005881f, 0.007624f, 0.011822f, 0.008173f, 0.005626f, 0.007854f, 0.002790f, 0.003425f, 0.003245f, 0.002292f, 0.001911f, 0.000874f, -0.002219f, -0.004722f, -0.009053f, -0.006881f, -0.007439f, -0.005859f, -0.003148f, -0.001203f, -0.002884f, -0.001693f, -0.002395f, 0.000447f, 0.002057f, 0.003579f, 0.006761f, 0.006745f, 0.002601f, 0.002794f, 0.001207f, -0.000945f, 0.001675f, 0.001342f, 0.000367f, 0.002292f, 0.000647f, -0.000850f, -0.002018f, -0.001665f, -0.002035f, -0.001616f, -0.001791f, -0.000569f, -0.001094f, -0.001255f, -0.004088f, -0.004616f, -0.004603f, -0.003250f, -0.000785f, 0.001408f, 0.003817f, 0.004941f, 0.005087f, 0.005465f, 0.004326f, 0.004776f, 0.003250f, 0.001572f, 0.000259f, -0.000642f, -0.002475f, -0.003773f, -0.004566f, -0.004081f, -0.004307f, -0.003501f, -0.003414f, -0.002858f, -0.001358f, 0.000252f, 0.000999f, 0.002304f, 0.003349f, 0.003881f, 0.003731f, 0.003248f, 0.002197f, 0.001320f, 0.000231f, -0.000161f, -0.000828f, -0.000992f, -0.001096f, -0.000977f, + -0.000923f, -0.000700f, -0.000530f, -0.000290f, -0.000175f, -0.000086f}, + {-0.008170f, 0.013879f, 0.004877f, -0.002460f, 0.003560f, 0.004501f, 0.008344f, 0.013902f, -0.006594f, 0.004658f, -0.005611f, -0.004342f, 0.002830f, 0.000093f, 0.001204f, -0.009712f, -0.004702f, 0.003509f, 0.006940f, -0.000856f, 0.005854f, -0.010415f, -0.009254f, 0.005919f, 0.003786f, 0.001676f, 0.004301f, -0.003511f, 0.007550f, 0.008474f, 0.008199f, 0.011773f, -0.006453f, -0.005293f, 0.000456f, 0.001559f, -0.011185f, -0.000636f, -0.000938f, 0.003157f, 0.001139f, -0.006945f, -0.001696f, 0.009635f, -0.005074f, 0.001952f, -0.005826f, 0.002887f, 0.002983f, 0.001993f, -0.008696f, 0.007125f, 0.000672f, 0.001671f, -0.001175f, -0.002785f, -0.003593f, -0.005867f, 0.012685f, -0.002145f, -0.002310f, -0.002751f, 0.005646f, 0.001401f, -0.011950f, 0.003133f, -0.005447f, -0.008123f, 0.004869f, -0.004986f, -0.012942f, 0.005266f, 0.001921f, 0.000664f, -0.011926f, -0.014386f, -0.005900f, -0.007039f, 0.006731f, -0.001846f, -0.000004f, -0.003173f, -0.003904f, -0.003155f, 0.000111f, 0.006039f, 0.001090f, -0.002539f, -0.000206f, -0.002657f, -0.001220f, 0.002743f, 0.000808f, -0.002393f, -0.003385f, -0.001059f, + -0.001385f, 0.001421f, -0.000846f, 0.000610f, 0.000483f, 0.001542f, 0.000373f, 0.002160f, -0.000849f, 0.000605f, -0.000466f, 0.001562f, -0.000084f, 0.001446f, 0.001673f, 0.007999f, 0.000866f, 0.000599f, 0.007106f, -0.010850f, 0.001705f, -0.009071f, -0.011452f, 0.003177f, 0.010560f, -0.006687f, 0.004965f, -0.005058f, -0.002487f, 0.002047f, 0.000444f, -0.005374f, -0.015752f, -0.015654f, 0.000190f, -0.004039f, -0.000230f, 0.008034f, 0.001216f, 0.009859f, 0.013372f, -0.007197f, 0.011537f, 0.001349f, 0.011712f, 0.000643f, 0.013915f, 0.001679f, -0.007918f, -0.002259f, 0.000705f, 0.006272f, -0.001808f, -0.002210f, 0.001308f, 0.004734f, -0.005900f, -0.000460f, -0.001876f, 0.004174f, 0.005137f, 0.000179f, -0.005380f, -0.000485f, -0.001038f, 0.002953f, 0.005402f, 0.009705f, -0.003501f, 0.006258f, -0.002946f, -0.008654f, -0.007700f, -0.005270f, 0.004760f, 0.005131f, -0.002957f, 0.008377f, 0.000209f, 0.002969f, 0.000373f, 0.010209f, 0.006778f, 0.007492f, 0.003024f, 0.004364f, 0.002700f, 0.004041f, 0.008371f, -0.001908f, -0.000500f, 0.011798f, 0.002329f, 0.000225f, 0.002417f, -0.004551f, + 0.000602f, 0.003395f, -0.000328f, -0.011258f, 0.003432f, 0.001061f, -0.001845f, -0.003989f, 0.002517f, 0.000636f, 0.006009f, -0.002365f, -0.001159f, -0.002449f, -0.001941f, 0.001405f, 0.000387f, 0.002302f, 0.001097f, 0.000431f, -0.002243f, -0.001871f, -0.001075f, -0.001212f, 0.000906f, -0.003030f, 0.002503f, -0.001177f, 0.000707f, -0.000840f, -0.001079f, -0.001748f, 0.000939f, -0.001438f, -0.001021f, -0.003295f, 0.012137f, -0.012217f, -0.008204f, -0.006724f, -0.009874f, 0.003239f, 0.004386f, -0.007927f, 0.001950f, 0.016546f, -0.011898f, 0.008432f, 0.014287f, 0.014122f, -0.008565f, -0.002285f, 0.007051f, 0.001420f, 0.002253f, -0.006215f, 0.003553f, -0.021274f, 0.016870f, 0.026365f, 0.004752f, 0.008939f, -0.004171f, -0.000269f, 0.014057f, -0.007247f, -0.016753f, -0.002715f, 0.000356f, 0.000040f, -0.013512f, 0.001100f, 0.003495f, -0.016094f, -0.007497f, 0.007602f, 0.002658f, -0.005666f, -0.001388f, 0.005701f, -0.007781f, 0.016851f, 0.005343f, 0.000868f, -0.010642f, -0.000969f, 0.005898f, -0.003559f, 0.000474f, -0.003748f, -0.000098f, -0.001509f, -0.008499f, 0.000632f, -0.008214f, 0.012671f, + -0.012029f, -0.007995f, -0.002600f, -0.014458f, 0.009878f, -0.007736f, -0.020129f, -0.003632f, -0.008609f, 0.002566f, 0.009440f, -0.009373f, 0.001307f, -0.006336f, 0.006744f, 0.001004f, -0.006559f, 0.005831f, -0.007117f, -0.009500f, 0.010816f, -0.006811f, 0.003188f, 0.000346f, 0.001112f, 0.003817f, -0.001965f, -0.003176f, -0.003497f, -0.005756f, 0.002105f, -0.008170f, 0.000620f, -0.001589f, 0.002746f, -0.002374f, -0.000050f, 0.000092f, 0.000377f, -0.004302f, 0.004082f, 0.000268f, 0.000899f, -0.002283f, -0.001498f, -0.001694f, -0.000252f, 0.002556f, -0.009499f, 0.005986f, -0.000327f, -0.001895f, 0.007105f, -0.006819f, -0.023865f, -0.004690f, -0.001521f, 0.010368f, 0.014680f, 0.013021f, 0.006221f, -0.005160f, -0.001666f, -0.014715f, -0.012509f, 0.004268f, 0.016682f, -0.004822f, 0.017090f, 0.010887f, -0.010651f, 0.005666f, -0.001696f, 0.005928f, -0.011900f, -0.008002f, 0.001881f, 0.008526f, -0.001153f, 0.005077f, 0.007045f, -0.013393f, -0.002759f, -0.006186f, -0.018293f, 0.011317f, 0.001729f, 0.004104f, 0.007820f, 0.014439f, 0.004960f, 0.000673f, 0.011254f, -0.002652f, -0.005877f, 0.011653f, + -0.006219f, 0.019697f, 0.008996f, 0.007835f, 0.000329f, -0.005662f, -0.006974f, 0.009662f, 0.013038f, -0.009745f, 0.002287f, 0.012539f, -0.002311f, 0.004085f, 0.027595f, -0.008359f, -0.003422f, 0.005395f, -0.013966f, -0.000545f, 0.002394f, -0.006170f, 0.006651f, -0.004462f, 0.004065f, 0.013763f, 0.000388f, -0.003140f, -0.009450f, -0.000743f, -0.011715f, 0.004943f, -0.004410f, -0.005680f, -0.002481f, 0.002240f, -0.003444f, -0.003314f, -0.002920f, 0.000670f, 0.004176f, 0.003209f, 0.000766f, -0.000947f, -0.001404f, -0.000939f, -0.000753f, -0.001880f, -0.003532f, -0.000612f, -0.001173f, 0.001862f, -0.000105f, 0.000966f, -0.003576f, 0.001526f, 0.001709f, -0.001232f, -0.003151f, -0.001061f, -0.003300f, -0.001611f, -0.001539f, 0.002421f, 0.000132f, -0.000427f, -0.000368f, 0.000630f, 0.000252f, 0.001318f, -0.004994f, -0.001192f, 0.001467f, -0.006198f, -0.034216f, -0.002892f, -0.000846f, -0.006947f, -0.010699f, -0.003590f, 0.018168f, -0.013093f, -0.019525f, 0.007160f, -0.008006f, 0.002649f, 0.003328f, 0.012150f, -0.008502f, -0.002651f, 0.002289f, 0.011288f, -0.005468f, -0.007619f, -0.002371f, -0.006572f, + 0.008285f, 0.015284f, 0.007628f, 0.000014f, -0.001400f, -0.008953f, -0.000655f, 0.024116f, 0.004141f, -0.003136f, 0.027886f, -0.001801f, 0.020708f, -0.006419f, 0.000043f, 0.014014f, 0.004169f, 0.003392f, 0.004923f, 0.002356f, 0.007656f, 0.004407f, -0.013425f, 0.024608f, 0.014909f, 0.020185f, 0.013497f, 0.008843f, -0.013656f, 0.005862f, 0.006772f, 0.000920f, -0.008419f, 0.022838f, 0.013781f, 0.020621f, 0.003577f, -0.004257f, -0.005229f, 0.015154f, -0.007563f, -0.015893f, 0.018440f, 0.005686f, -0.010307f, -0.006031f, 0.000809f, -0.004889f, 0.001705f, -0.002279f, 0.002510f, -0.006560f, -0.001873f, -0.015048f, 0.005623f, -0.001960f, -0.000493f, 0.005366f, -0.001941f, -0.002915f, 0.008678f, -0.000702f, 0.006721f, 0.009020f, 0.007394f, 0.004707f, 0.004702f, 0.001809f, 0.002709f, -0.000076f, -0.001992f, -0.001863f, 0.003916f, -0.001248f, -0.002549f, -0.002680f, 0.001816f, -0.003008f, -0.000837f, -0.000692f, 0.004911f, 0.001966f, 0.003497f, -0.003474f, 0.000980f, -0.002810f, -0.001025f, 0.003334f, -0.000544f, -0.001524f, -0.001184f, -0.001027f, -0.002056f, -0.001460f, 0.001387f, -0.000207f, + -0.000946f, -0.008802f, -0.001396f, -0.022501f, -0.008982f, -0.025144f, -0.017283f, 0.001694f, -0.016392f, -0.012917f, 0.001352f, -0.002991f, 0.016576f, -0.011273f, 0.018386f, 0.022622f, 0.002179f, -0.019475f, -0.013751f, 0.020310f, -0.010538f, -0.005725f, 0.011306f, -0.015100f, -0.026745f, 0.010526f, 0.022776f, -0.011927f, 0.005695f, -0.000550f, 0.009838f, -0.027849f, 0.005360f, -0.011258f, 0.006531f, 0.000445f, -0.011805f, 0.019223f, 0.008664f, 0.008057f, 0.025571f, 0.011896f, 0.005143f, 0.014486f, 0.002742f, 0.004624f, 0.007168f, 0.002358f, 0.000988f, 0.003888f, 0.003328f, 0.029231f, 0.016297f, -0.000157f, 0.024406f, 0.015323f, 0.017962f, 0.028311f, -0.014719f, -0.012207f, 0.024667f, -0.008754f, -0.001168f, -0.014852f, -0.006466f, 0.008769f, 0.012980f, -0.011331f, -0.001547f, 0.003674f, -0.003409f, 0.006780f, -0.012142f, -0.002310f, -0.014012f, 0.026710f, -0.008891f, 0.014555f, -0.004396f, -0.007224f, 0.019453f, 0.003385f, -0.006013f, 0.006338f, -0.002683f, 0.000496f, -0.005823f, 0.007387f, -0.001656f, 0.002621f, 0.007722f, 0.004516f, 0.002126f, 0.004439f, 0.000089f, -0.000772f, + 0.002937f, 0.000759f, -0.005723f, 0.001123f, -0.001413f, -0.002599f, 0.004670f, -0.000053f, 0.002141f, 0.001977f, -0.001389f, 0.000899f, -0.003485f, 0.000624f, -0.003211f, 0.000207f, -0.001483f, 0.003536f, 0.000663f, 0.003035f, 0.000536f, 0.003683f, 0.000713f, 0.001671f, 0.001927f, 0.000338f, 0.008401f, -0.009133f, 0.002845f, 0.001228f, 0.002822f, -0.013088f, 0.016845f, 0.009736f, 0.022914f, 0.004368f, -0.003173f, -0.026019f, -0.013922f, -0.009807f, 0.006567f, -0.013560f, -0.022508f, -0.006343f, 0.005706f, 0.002410f, -0.025123f, 0.020263f, 0.001523f, -0.001617f, -0.021401f, -0.012382f, 0.005001f, 0.002538f, -0.023767f, -0.007477f, 0.008642f, 0.000863f, 0.002366f, 0.012065f, 0.014186f, 0.008202f, -0.003696f, 0.007062f, 0.002197f, -0.008617f, -0.017581f, 0.030161f, -0.007611f, -0.014846f, 0.000279f, 0.007402f, 0.009775f, 0.022521f, 0.003717f, -0.000520f, -0.008506f, -0.000364f, 0.012552f, -0.001698f, 0.015686f, 0.029937f, 0.002534f, -0.006631f, 0.000923f, 0.025755f, 0.032373f, -0.016244f, 0.004535f, 0.004399f, 0.017517f, 0.009126f, 0.003111f, 0.005259f, -0.012854f, 0.007905f, + 0.008377f, 0.008207f, -0.005532f, 0.000349f, 0.006394f, 0.009507f, -0.001315f, 0.003179f, 0.002275f, -0.011077f, 0.005331f, 0.000383f, -0.009813f, -0.007309f, 0.010526f, -0.004838f, 0.007305f, -0.010642f, -0.007955f, -0.003724f, 0.002456f, -0.000307f, 0.009520f, 0.004168f, 0.001773f, 0.000315f, 0.004807f, 0.004209f, 0.001460f, -0.008125f, 0.000442f, -0.003504f, 0.001375f, -0.002679f, -0.001842f, -0.000257f, -0.000695f, -0.001296f, -0.002603f, -0.007978f, -0.002055f, 0.000684f, -0.005145f, -0.003524f, -0.003211f, -0.000030f, -0.003210f, -0.005683f, -0.001151f, 0.002437f, 0.004395f, -0.001638f, 0.001372f, -0.002263f, 0.001635f, -0.008568f, 0.011769f, -0.010755f, -0.019405f, 0.013212f, -0.001705f, -0.004821f, 0.004935f, 0.011231f, -0.032466f, 0.001863f, 0.024639f, -0.003001f, 0.044437f, 0.021183f, -0.013753f, -0.010112f, -0.004320f, -0.012996f, -0.005862f, 0.019785f, -0.007800f, -0.006643f, 0.019802f, 0.016075f, 0.005202f, 0.009170f, 0.018498f, 0.012225f, 0.013806f, -0.010335f, -0.007136f, 0.017589f, -0.003622f, 0.015913f, -0.000041f, -0.019245f, -0.012447f, 0.005072f, 0.014980f, -0.020920f, + 0.001155f, -0.011219f, 0.005684f, -0.012805f, 0.017543f, 0.017536f, -0.017367f, -0.001936f, 0.004887f, -0.000660f, -0.023434f, -0.010542f, 0.003850f, 0.015344f, 0.025268f, 0.008542f, -0.018972f, -0.004251f, -0.004726f, -0.002305f, 0.015839f, 0.002446f, 0.012663f, -0.019350f, 0.008500f, 0.001222f, -0.015415f, 0.017993f, 0.007539f, -0.002533f, -0.004200f, 0.003034f, -0.000828f, -0.015664f, 0.011586f, -0.003692f, 0.006848f, -0.012191f, -0.021553f, -0.011955f, 0.004914f, 0.009466f, 0.000080f, 0.005191f, 0.019064f, 0.000115f, -0.005064f, 0.012001f, -0.003893f, 0.011293f, 0.000519f, 0.003614f, -0.009914f, 0.000920f, 0.000105f, 0.005141f, 0.005585f, 0.007985f, 0.004969f, -0.002059f, -0.002513f, -0.003823f, 0.009404f, -0.004547f, 0.004824f, 0.000972f, 0.002848f, 0.003852f, 0.005197f, 0.002293f, -0.001992f, 0.004756f, 0.001738f, 0.001552f, -0.002011f, 0.006425f, 0.002911f, 0.001301f, -0.006604f, 0.002288f, -0.002698f, -0.000123f, 0.004253f, 0.001243f, 0.020475f, -0.025579f, -0.004193f, -0.008277f, 0.025927f, -0.011805f, 0.021339f, -0.006860f, 0.019914f, 0.027033f, -0.012194f, 0.008418f, + -0.007055f, 0.015329f, -0.006022f, 0.012735f, 0.010575f, 0.009927f, -0.002441f, 0.010448f, -0.005484f, -0.013657f, -0.006606f, 0.014895f, -0.017747f, 0.002618f, -0.000183f, 0.013247f, 0.027053f, -0.025037f, 0.000760f, 0.024177f, -0.000708f, 0.022087f, 0.002930f, 0.009605f, -0.003181f, -0.002069f, 0.005903f, -0.034528f, 0.003279f, -0.001008f, -0.013767f, 0.008902f, 0.005524f, 0.024739f, 0.012304f, -0.002666f, 0.047241f, 0.011604f, -0.025046f, 0.006406f, 0.002298f, 0.016337f, -0.010847f, 0.002976f, 0.013873f, 0.000901f, 0.008414f, -0.002690f, -0.027342f, -0.028114f, -0.000038f, -0.009643f, 0.022330f, -0.038139f, 0.048673f, -0.000501f, 0.027058f, 0.030838f, 0.007376f, -0.008446f, -0.006295f, -0.014809f, -0.019417f, -0.001879f, 0.006143f, -0.005129f, 0.009672f, -0.006755f, -0.015650f, -0.010062f, -0.007955f, 0.002566f, -0.002523f, 0.001477f, 0.010352f, 0.005010f, 0.004862f, 0.003583f, -0.004451f, -0.005610f, 0.000219f, -0.001386f, 0.002903f, 0.000462f, 0.001119f, 0.003036f, 0.005973f, 0.003359f, -0.012171f, 0.001946f, -0.002370f, 0.008534f, 0.008784f, 0.004868f, -0.000903f, -0.002841f, + 0.003398f, 0.002503f, -0.004354f, -0.004778f, -0.001195f, -0.003356f, 0.000772f, -0.003569f, -0.005925f, 0.002053f, 0.009703f, -0.002802f, 0.003873f, -0.007780f, 0.000909f, 0.004032f, 0.004426f, -0.000511f, 0.002825f, 0.006007f, -0.004685f, 0.002038f, -0.045051f, -0.003138f, 0.015411f, 0.002580f, -0.016883f, -0.041842f, 0.000042f, 0.004830f, -0.007285f, -0.001711f, -0.012272f, 0.006532f, -0.010204f, 0.021612f, 0.007682f, -0.012824f, -0.016006f, -0.027506f, 0.020691f, -0.008756f, 0.001486f, 0.026867f, 0.036992f, 0.022528f, -0.003346f, 0.001955f, -0.025228f, -0.010804f, -0.010091f, 0.006819f, -0.035823f, 0.009404f, 0.009908f, 0.002073f, -0.018366f, 0.017746f, 0.027680f, -0.004431f, -0.000376f, 0.003229f, -0.015894f, -0.016909f, 0.009851f, 0.006676f, 0.020975f, -0.022925f, 0.025008f, -0.013102f, 0.013841f, -0.021227f, -0.016635f, -0.008394f, -0.000417f, -0.002514f, 0.009216f, -0.004580f, -0.036988f, -0.027842f, -0.007700f, 0.000984f, -0.037082f, 0.000513f, 0.018551f, -0.009859f, -0.004158f, 0.005632f, 0.015801f, -0.032761f, 0.016884f, -0.005774f, -0.004776f, -0.000176f, 0.013533f, 0.016697f, + -0.019520f, -0.010063f, -0.013073f, -0.006446f, -0.004622f, 0.009695f, 0.003384f, -0.011897f, -0.005168f, -0.009132f, 0.006477f, 0.021738f, 0.014509f, -0.000150f, -0.000467f, -0.012193f, 0.000626f, -0.007467f, 0.010413f, -0.001905f, 0.018041f, 0.005922f, 0.006406f, -0.006467f, 0.000546f, 0.000159f, -0.014124f, 0.015207f, 0.001316f, -0.002753f, 0.008133f, -0.002882f, -0.002239f, -0.000792f, 0.001352f, -0.012469f, 0.005634f, 0.007478f, 0.008188f, -0.001371f, -0.002747f, 0.002634f, 0.004713f, -0.004527f, -0.002445f, 0.004303f, -0.009243f, 0.000941f, -0.000042f, 0.008752f, -0.000486f, 0.040466f, 0.000947f, -0.008260f, 0.031469f, -0.006926f, -0.012844f, -0.003433f, -0.002926f, 0.039026f, 0.044657f, -0.005862f, 0.009485f, 0.011342f, -0.005725f, -0.021263f, 0.010430f, 0.041499f, 0.031677f, 0.027050f, -0.009848f, 0.011696f, 0.022303f, -0.029006f, -0.021571f, 0.025244f, -0.012909f, -0.014221f, -0.000973f, 0.031571f, -0.004757f, 0.029058f, 0.001920f, 0.026070f, -0.015628f, 0.035840f, 0.010933f, -0.011184f, -0.018293f, 0.006504f, -0.025883f, 0.003062f, -0.030714f, -0.010534f, -0.010999f, 0.017548f, + -0.017569f, 0.028943f, -0.035458f, -0.061454f, 0.038408f, 0.017125f, -0.007505f, 0.000275f, 0.042368f, 0.019826f, 0.003410f, -0.011157f, 0.009195f, -0.004976f, 0.000563f, -0.027552f, -0.027844f, 0.016375f, -0.009305f, 0.009027f, 0.052614f, -0.013795f, 0.011374f, -0.034354f, 0.040678f, -0.013637f, -0.018059f, -0.008736f, -0.005593f, 0.016911f, -0.034326f, 0.028729f, -0.033639f, 0.024281f, -0.017271f, -0.023563f, 0.023570f, -0.001059f, 0.007795f, -0.009577f, 0.013991f, -0.007659f, -0.010502f, -0.004788f, -0.015973f, 0.011043f, -0.000404f, -0.010518f, -0.004327f, 0.003874f, 0.017296f, 0.003214f, 0.002586f, 0.004545f, -0.000291f, -0.002965f, 0.008860f, -0.004937f, 0.004090f, 0.003603f, -0.004303f, -0.001293f, -0.000836f, 0.012295f, 0.010940f, -0.003994f, -0.005792f, -0.012919f, -0.000066f, -0.002658f, -0.001672f, -0.002126f, 0.000571f, 0.011794f, 0.003744f, -0.001444f, 0.015113f, 0.007265f, -0.046018f, -0.034201f, -0.033155f, 0.046362f, 0.001590f, 0.019911f, 0.011889f, -0.040800f, -0.035649f, 0.024013f, -0.063634f, 0.018620f, 0.018957f, -0.004082f, -0.025290f, -0.023296f, 0.039721f, -0.021332f, + -0.002752f, -0.006672f, -0.020510f, 0.030170f, 0.009664f, 0.027293f, 0.015934f, 0.018824f, -0.005913f, 0.030638f, -0.002761f, -0.020065f, -0.023544f, -0.005456f, 0.013367f, -0.017921f, 0.023869f, 0.015253f, -0.017875f, -0.064502f, -0.005345f, -0.005335f, -0.001524f, 0.046801f, 0.001136f, -0.036740f, -0.021695f, -0.022489f, 0.019314f, -0.014199f, -0.030477f, -0.034163f, -0.021135f, -0.016647f, -0.075934f, 0.001753f, 0.009567f, 0.024900f, -0.039623f, 0.012922f, -0.032723f, -0.026927f, -0.009102f, 0.031691f, 0.008218f, 0.029403f, 0.055793f, 0.016664f, 0.012875f, 0.036224f, -0.028228f, -0.003725f, -0.013358f, -0.015653f, 0.029200f, 0.026797f, 0.042852f, 0.020888f, -0.039057f, -0.026213f, 0.030845f, -0.046391f, -0.050855f, -0.016166f, 0.037223f, 0.005736f, -0.008980f, 0.025159f, 0.020757f, -0.000382f, 0.005993f, 0.021294f, -0.013951f, 0.012518f, -0.010256f, -0.002170f, -0.010691f, -0.002206f, 0.002929f, 0.014830f, -0.009447f, -0.012293f, 0.000070f, 0.008259f, 0.002815f, 0.007479f, -0.001103f, -0.012319f, -0.002789f, -0.008256f, 0.000728f, -0.006952f, -0.001214f, -0.001228f, -0.013484f, 0.010722f, + 0.001784f, 0.010906f, 0.014196f, 0.019162f, -0.007215f, -0.010703f, -0.000726f, 0.001531f, 0.001121f, 0.021341f, -0.020787f, -0.042842f, 0.011059f, -0.001172f, -0.001377f, 0.000987f, 0.005334f, 0.008397f, 0.017984f, 0.005450f, 0.015048f, 0.008012f, 0.017934f, 0.047339f, 0.001014f, -0.063077f, -0.023471f, 0.015212f, 0.000025f, -0.013620f, -0.040745f, -0.027082f, 0.007856f, 0.031906f, 0.012016f, -0.031771f, 0.016051f, 0.012544f, -0.035794f, -0.007319f, -0.044124f, 0.033481f, -0.018744f, -0.023395f, 0.030935f, -0.031264f, 0.007920f, 0.065038f, -0.008339f, 0.009980f, 0.018782f, -0.000854f, 0.008948f, -0.039286f, 0.008743f, 0.006051f, 0.005603f, 0.085627f, 0.057855f, -0.007223f, -0.030778f, -0.020728f, 0.026505f, 0.030707f, -0.035272f, -0.020101f, -0.047117f, 0.072930f, 0.019675f, 0.007720f, -0.012537f, -0.008872f, -0.017110f, -0.009947f, 0.052366f, -0.015040f, 0.013675f, 0.052112f, 0.008219f, -0.015812f, -0.040009f, 0.000139f, 0.015031f, -0.079937f, 0.016488f, 0.007754f, 0.053338f, 0.036023f, 0.028091f, 0.047348f, 0.026551f, -0.010479f, 0.004015f, 0.015905f, -0.006212f, 0.001426f, + -0.004185f, 0.006726f, 0.003483f, 0.044141f, -0.002090f, 0.017566f, -0.008744f, 0.016928f, -0.002310f, 0.022912f, 0.004245f, 0.005686f, 0.020916f, -0.002750f, 0.008183f, 0.013669f, -0.000465f, 0.010855f, 0.015871f, 0.006367f, 0.012472f, 0.018467f, 0.010321f, -0.008293f, -0.002294f, 0.003270f, 0.003892f, -0.000865f, -0.008709f, 0.002831f, 0.004200f, 0.001252f, 0.009449f, -0.002518f, 0.015333f, 0.007741f, -0.007578f, 0.015809f, -0.003238f, 0.001352f, -0.011084f, -0.050616f, -0.007306f, 0.034744f, 0.019476f, -0.056712f, -0.074686f, 0.008489f, 0.050629f, 0.020385f, 0.030936f, -0.017712f, 0.023896f, 0.003891f, 0.000629f, -0.027218f, -0.009692f, -0.042323f, 0.062673f, 0.020862f, -0.050854f, -0.035052f, 0.022805f, 0.002266f, 0.012593f, -0.015387f, 0.031307f, 0.018095f, 0.021576f, 0.040846f, 0.036401f, 0.007311f, 0.035600f, -0.018879f, 0.020479f, -0.000285f, 0.024883f, 0.011197f, -0.005852f, -0.015138f, 0.017221f, -0.022390f, 0.058578f, -0.015910f, -0.010928f, 0.011783f, 0.029034f, 0.028366f, -0.019214f, 0.050143f, 0.050053f, 0.028807f, 0.012231f, 0.003968f, -0.015891f, -0.038146f, + -0.064719f, -0.010766f, 0.023252f, -0.001623f, 0.028423f, 0.030554f, 0.033186f, 0.011266f, 0.018581f, 0.107526f, -0.052783f, -0.023374f, 0.010878f, 0.020588f, -0.002523f, -0.084361f, 0.019948f, -0.013317f, 0.012821f, 0.014684f, 0.037496f, 0.007244f, 0.000851f, -0.034056f, 0.035308f, -0.012794f, 0.005288f, 0.030505f, 0.014191f, -0.033020f, -0.006858f, -0.018654f, -0.006052f, -0.014374f, 0.002546f, 0.001074f, 0.013458f, -0.003383f, 0.016370f, 0.015607f, 0.021166f, -0.000425f, 0.000070f, -0.012923f, -0.005464f, -0.017227f, -0.011224f, -0.005287f, 0.022510f, 0.006908f, -0.003246f, 0.001292f, -0.008459f, 0.003003f, 0.019796f, 0.021704f, -0.004097f, -0.020449f, -0.000098f, 0.001025f, 0.009751f, -0.005799f, 0.006836f, -0.009820f, 0.015135f, -0.028528f, 0.003169f, -0.008897f, -0.009698f, -0.000205f, 0.005926f, -0.018454f, 0.009132f, -0.003668f, 0.009052f, -0.009541f, -0.016712f, 0.006269f, 0.028133f, 0.027705f, -0.015390f, -0.020885f, 0.006112f, -0.020068f, -0.064201f, 0.066237f, -0.019428f, 0.018591f, 0.006056f, 0.055557f, 0.044241f, 0.027825f, -0.026606f, -0.004416f, 0.037938f, 0.020151f, + 0.044667f, 0.119275f, -0.007481f, -0.047049f, -0.012355f, 0.035646f, -0.005425f, -0.055561f, 0.084765f, 0.043962f, -0.030028f, -0.046515f, -0.005842f, 0.010418f, -0.014889f, 0.033702f, 0.028530f, 0.033072f, 0.063241f, 0.010608f, 0.017780f, 0.011328f, -0.024664f, -0.058972f, 0.034549f, -0.040124f, -0.030276f, 0.046563f, 0.024270f, 0.026273f, 0.013646f, 0.009609f, -0.002804f, -0.058215f, -0.051837f, 0.000990f, 0.030779f, -0.038472f, 0.036327f, -0.017047f, -0.043331f, 0.013656f, 0.037742f, -0.006964f, 0.007142f, 0.037675f, 0.036931f, 0.038549f, 0.002680f, -0.023448f, 0.021786f, 0.091540f, 0.010869f, 0.037262f, 0.052097f, 0.002616f, -0.016741f, -0.045912f, -0.018766f, -0.072389f, -0.025025f, -0.018064f, -0.009121f, 0.016546f, 0.002631f, -0.003214f, -0.021015f, -0.013638f, -0.012289f, 0.017987f, -0.018831f, -0.003634f, -0.016641f, 0.005450f, -0.010647f, -0.017755f, 0.000500f, -0.025594f, -0.009273f, 0.000544f, -0.023428f, -0.004282f, -0.020445f, -0.011568f, 0.002005f, -0.036992f, -0.003828f, 0.001857f, -0.000657f, 0.017650f, -0.023867f, -0.007660f, 0.025070f, 0.000616f, -0.010239f, -0.000975f, + -0.008793f, 0.005001f, -0.011159f, -0.008106f, 0.012322f, -0.000746f, 0.000563f, -0.019879f, 0.033033f, 0.027086f, 0.000183f, -0.022645f, -0.033177f, -0.058236f, 0.009793f, 0.034922f, 0.047985f, -0.041768f, -0.044471f, 0.053388f, 0.023716f, -0.002663f, -0.005971f, -0.022917f, 0.009770f, -0.010980f, -0.023853f, 0.024172f, 0.029647f, 0.020301f, 0.001505f, -0.004960f, -0.017369f, 0.003053f, 0.012164f, 0.007088f, -0.019555f, -0.067914f, 0.014523f, -0.015901f, -0.020708f, 0.003151f, -0.009208f, 0.005048f, -0.067601f, 0.030683f, 0.024030f, -0.048920f, 0.033317f, 0.044292f, 0.037078f, -0.010694f, 0.005807f, -0.006623f, 0.024009f, -0.006158f, -0.000628f, 0.119328f, -0.036509f, 0.009350f, -0.032646f, -0.019296f, 0.067254f, 0.024154f, 0.022651f, 0.042700f, -0.055643f, -0.046303f, 0.067631f, -0.043757f, 0.034285f, 0.042361f, 0.003635f, 0.010828f, 0.015889f, 0.076616f, -0.026738f, -0.030164f, -0.071386f, -0.015848f, -0.031015f, 0.023359f, -0.044851f, 0.074432f, 0.040391f, 0.045205f, 0.022118f, 0.039424f, 0.020552f, 0.071012f, 0.017168f, 0.033819f, 0.025854f, -0.035906f, -0.017346f, -0.014304f, + 0.005787f, 0.003405f, 0.034638f, 0.014634f, -0.000507f, -0.002331f, 0.007534f, 0.002585f, -0.014137f, -0.027541f, -0.014814f, -0.020854f, 0.024877f, -0.009624f, -0.014941f, 0.007485f, -0.006087f, 0.030598f, 0.013980f, -0.006277f, 0.017083f, -0.020856f, 0.009184f, 0.015043f, -0.006186f, 0.029593f, 0.030470f, 0.019967f, -0.015014f, 0.024866f, 0.014233f, -0.025982f, -0.005353f, 0.001881f, -0.015764f, 0.000968f, 0.021617f, -0.026159f, -0.029853f, 0.012181f, 0.005324f, -0.003594f, 0.027767f, -0.019832f, 0.049093f, -0.029243f, 0.025704f, 0.083828f, 0.041337f, 0.031429f, -0.047669f, 0.012823f, 0.046413f, -0.040566f, 0.065928f, 0.023401f, 0.035008f, 0.031421f, -0.021018f, 0.032577f, 0.027832f, 0.011570f, 0.065324f, 0.049579f, -0.004382f, -0.113138f, -0.013823f, 0.052048f, 0.049945f, 0.051624f, 0.011843f, 0.028685f, 0.001948f, 0.014301f, -0.004360f, -0.035210f, 0.071594f, -0.002152f, 0.068180f, 0.030744f, 0.049022f, -0.069701f, 0.046491f, 0.023268f, 0.020569f, -0.018414f, 0.015731f, -0.013131f, 0.014982f, 0.068983f, 0.026930f, 0.090077f, 0.003820f, 0.019815f, 0.052090f, -0.010774f, + 0.082241f, 0.040741f, 0.006628f, -0.054982f, -0.034951f, 0.030146f, 0.002845f, -0.009216f, 0.001189f, -0.009417f, 0.005884f, -0.040030f, 0.026115f, -0.042608f, -0.064043f, -0.023747f, -0.004170f, -0.021183f, -0.016967f, 0.053757f, -0.007039f, 0.048977f, -0.047226f, 0.053831f, 0.006595f, -0.059462f, 0.058307f, 0.049300f, -0.019071f, -0.008214f, 0.013438f, 0.025966f, 0.015965f, -0.002356f, -0.027666f, 0.017193f, -0.012311f, -0.001555f, 0.033355f, -0.006760f, -0.006228f, -0.027288f, -0.007999f, 0.007846f, 0.004668f, -0.001582f, 0.024911f, 0.022937f, -0.018528f, 0.006448f, -0.001081f, 0.001301f, 0.022855f, 0.007575f, -0.026290f, 0.017676f, -0.022586f, 0.011572f, -0.018399f, -0.006627f, -0.006292f, -0.003497f, 0.002335f, 0.005481f, 0.002454f, 0.001939f, -0.005762f, 0.004933f, -0.013000f, 0.009187f, 0.009099f, -0.001395f, -0.010787f, 0.008249f, -0.002977f, 0.013521f, -0.007852f, -0.005288f, -0.018454f, 0.000092f, -0.018258f, 0.005096f, -0.015227f, -0.049985f, -0.047747f, -0.019048f, -0.020475f, 0.039228f, -0.062599f, -0.078180f, -0.084927f, -0.102768f, 0.046426f, 0.050796f, -0.002539f, -0.008069f, + 0.000096f, -0.024301f, 0.006399f, 0.012996f, -0.021282f, 0.070317f, 0.066523f, 0.043335f, 0.047729f, -0.043375f, 0.029401f, 0.002517f, 0.034934f, -0.013460f, -0.017240f, -0.064242f, 0.058082f, -0.058056f, -0.069897f, -0.018437f, -0.014251f, 0.075634f, -0.040975f, 0.010199f, -0.038634f, -0.010940f, 0.073453f, 0.013527f, 0.023651f, 0.036077f, 0.067533f, 0.004102f, -0.006872f, -0.081790f, -0.014454f, -0.006599f, -0.001674f, 0.044739f, 0.024746f, 0.152182f, 0.008302f, -0.004791f, -0.049808f, -0.004158f, 0.061231f, 0.055408f, -0.004283f, -0.026885f, -0.074491f, 0.018658f, 0.048370f, -0.024543f, -0.054098f, -0.023404f, 0.047711f, -0.014504f, 0.035243f, -0.109177f, -0.060189f, -0.087323f, -0.022764f, 0.034798f, 0.019413f, -0.038167f, -0.035394f, -0.042877f, 0.017979f, 0.089567f, 0.028054f, -0.000632f, -0.030971f, -0.002840f, -0.023915f, -0.007056f, 0.011539f, 0.010326f, -0.027643f, -0.013219f, -0.001611f, 0.019164f, -0.047607f, -0.033381f, -0.010371f, 0.023527f, -0.002335f, 0.031049f, 0.011056f, 0.003331f, -0.009956f, -0.005814f, -0.020830f, -0.005040f, -0.031897f, -0.007756f, 0.037255f, 0.012565f, + 0.017559f, -0.025719f, -0.044464f, 0.022092f, 0.022510f, -0.013687f, 0.001108f, -0.019299f, -0.002366f, 0.005179f, -0.001311f, 0.016521f, 0.011766f, 0.010604f, 0.022864f, 0.011455f, 0.018325f, 0.017893f, -0.002457f, 0.014230f, 0.009203f, 0.013767f, 0.001915f, 0.001816f, -0.013957f, -0.031940f, -0.017293f, 0.072571f, 0.000936f, -0.001051f, 0.129599f, 0.011499f, -0.098581f, -0.076029f, 0.090428f, 0.080127f, 0.003692f, -0.066138f, -0.081822f, -0.047536f, 0.014548f, 0.077914f, 0.069281f, 0.045954f, -0.030304f, 0.007931f, -0.030433f, 0.024524f, 0.058773f, 0.091457f, 0.100010f, -0.014052f, -0.055485f, -0.086935f, -0.129256f, -0.002672f, 0.066950f, 0.275839f, -0.037456f, -0.016127f, -0.135186f, -0.056745f, 0.010077f, 0.030668f, 0.163753f, 0.117708f, 0.072335f, -0.085147f, -0.048675f, -0.083221f, -0.006138f, 0.136872f, 0.126503f, 0.154443f, -0.044262f, -0.154664f, -0.112918f, -0.156150f, 0.037473f, 0.140774f, 0.123600f, 0.229029f, -0.111314f, -0.135128f, -0.118633f, -0.020879f, 0.100543f, 0.134478f, 0.188508f, 0.084634f, -0.041249f, -0.075206f, 0.016137f, -0.006980f, 0.052662f, 0.150583f, + -0.034779f, 0.093071f, -0.035072f, -0.088760f, -0.000094f, 0.012299f, 0.080904f, 0.002555f, -0.009023f, 0.006478f, -0.022915f, -0.076956f, 0.030172f, -0.011785f, 0.024400f, -0.022750f, -0.063598f, -0.016457f, -0.016055f, 0.005642f, 0.039953f, 0.004388f, -0.013322f, 0.014504f, -0.016485f, -0.020773f, -0.005024f, 0.058849f, 0.013916f, 0.053924f, -0.005423f, 0.004916f, -0.017205f, 0.005803f, 0.004985f, 0.009770f, 0.041343f, 0.072508f, -0.003565f, -0.021374f, -0.069078f, -0.090786f, 0.002156f, 0.003978f, 0.106804f, 0.068346f, 0.010353f, -0.038876f, -0.153795f, -0.087203f, -0.014497f, 0.067606f, 0.133542f, 0.068635f, -0.042187f, -0.051728f, -0.159376f, -0.060099f, 0.073991f, 0.137434f, 0.110732f, 0.005884f, -0.072871f, -0.082338f, -0.009386f, -0.004303f, 0.064212f, 0.038190f, 0.034589f, 0.000865f, -0.033741f, -0.019809f, -0.001616f, -0.015547f, 0.019642f, 0.020923f, -0.011543f, -0.067433f, 0.089051f, -0.020330f, 0.105108f, -0.096273f, 0.001436f, -0.041953f, -0.099905f, 0.073526f, -0.052302f, 0.068064f, -0.053481f, -0.020596f, -0.004500f, 0.035101f, 0.008136f, -0.038285f, -0.020157f, -0.001545f, + 0.054652f, -0.050369f, 0.062652f, 0.044779f, -0.033585f, 0.007876f, -0.042252f, -0.042830f, 0.072936f, -0.071515f, -0.035672f, 0.048205f, 0.111230f, -0.000774f, 0.015420f, -0.010158f, -0.048093f, -0.013578f, 0.045671f, -0.015699f, -0.072765f, 0.010324f, -0.015555f, -0.012442f, 0.022549f, -0.066812f, 0.034100f, -0.000277f, 0.023522f, 0.051366f, -0.115874f, -0.086233f, -0.028056f, -0.002725f, 0.120310f, -0.063682f, 0.043935f, 0.094036f, -0.051169f, -0.030737f, -0.002716f, 0.050906f, 0.075007f, -0.040897f, 0.022104f, -0.015200f, 0.030076f, 0.115715f, -0.042434f, -0.130932f, 0.028441f, 0.059592f, 0.016221f, -0.070122f, 0.044250f, 0.017997f, 0.044438f, -0.013990f, -0.001260f, -0.049116f, -0.038028f, 0.028382f, 0.008046f, -0.052362f, 0.016040f, 0.035555f, -0.016644f, -0.000656f, -0.056887f, 0.008049f, -0.013522f, -0.063853f, -0.001351f, 0.027930f, 0.025487f, 0.009771f, -0.000816f, 0.015236f, -0.042439f, -0.011205f, 0.016273f, -0.021535f, 0.034229f, -0.020813f, -0.007527f, -0.019729f, 0.001020f, -0.021003f, 0.032845f, 0.005217f, -0.024190f, -0.022194f, -0.000013f, -0.001531f, 0.053601f, -0.018992f, + 0.019683f, -0.010196f, 0.000055f, 0.010796f, -0.021636f, -0.020800f, 0.004558f, -0.045196f, -0.011231f, 0.012306f, -0.036736f, 0.001035f, -0.005893f, -0.013876f, 0.009302f, 0.023961f, 0.001158f, 0.002828f, -0.013734f, -0.008844f, -0.134727f, -0.042619f, 0.058086f, 0.079490f, 0.066005f, -0.067084f, 0.021615f, -0.187640f, -0.122002f, -0.103589f, -0.016387f, 0.088123f, 0.056713f, -0.003775f, -0.041170f, -0.050811f, 0.025014f, -0.031019f, -0.003074f, 0.067420f, 0.018428f, 0.003331f, -0.066482f, -0.031874f, -0.006682f, -0.031334f, 0.020441f, -0.005371f, 0.036189f, -0.009272f, -0.000280f, -0.011631f, -0.002068f, -0.008400f, -0.037940f, -0.028571f, -0.063735f, -0.044841f, 0.032656f, 0.062669f, 0.068107f, 0.038088f, 0.059360f, -0.008782f, 0.050516f, -0.011537f, -0.023026f, -0.079411f, -0.002993f, -0.043742f, 0.034186f, 0.013329f, 0.100845f, -0.081079f, 0.028976f, 0.056782f, -0.031054f, -0.042943f, -0.024995f, -0.019858f, -0.020597f, 0.007616f, 0.071639f, 0.046311f, -0.019011f, -0.002359f, 0.051436f, -0.059131f, -0.065641f, 0.027470f, -0.076202f, -0.058378f, -0.051135f, 0.006735f, 0.024823f, 0.029964f, + 0.088562f, 0.060498f, -0.009530f, 0.045133f, -0.025701f, 0.002179f, 0.011123f, 0.033558f, 0.053766f, 0.058419f, 0.040907f, 0.034288f, 0.027318f, 0.002747f, -0.074314f, -0.020620f, -0.038360f, -0.009179f, 0.043454f, -0.001433f, 0.006610f, -0.015740f, -0.033086f, 0.004154f, -0.016344f, -0.013041f, -0.036048f, 0.016406f, 0.027068f, -0.011538f, 0.010434f, 0.024482f, 0.013190f, 0.016155f, 0.002727f, 0.015924f, -0.010675f, 0.011133f, -0.005058f, -0.018392f, 0.014427f, 0.018732f, -0.014971f, -0.021218f, 0.001843f, -0.014131f, -0.025518f, 0.020252f, 0.021026f, 0.008886f, 0.027106f, -0.001800f, -0.025251f, -0.030414f, 0.043137f, -0.017221f, -0.160760f, -0.237649f, -0.291763f, -0.230514f, -0.343938f, -0.060754f, -0.125564f, 0.038154f, 0.072312f, 0.249100f, 0.145523f, 0.258044f, 0.262387f, 0.359191f, 0.262204f, 0.266552f, 0.196360f, 0.008517f, -0.056793f, -0.103875f, -0.063852f, -0.214410f, -0.146506f, -0.116669f, -0.119236f, -0.117982f, -0.117755f, -0.114290f, -0.123336f, -0.135356f, -0.100878f, -0.157397f, -0.128694f, -0.112145f, -0.050306f, -0.132246f, -0.040794f, 0.048773f, -0.098227f, -0.047408f, + 0.026553f, 0.021683f, -0.083141f, 0.069482f, 0.089267f, 0.113013f, 0.153266f, 0.155784f, -0.012108f, 0.092670f, 0.150662f, 0.213777f, 0.168516f, 0.336681f, 0.316215f, 0.279303f, 0.226346f, 0.286551f, 0.142324f, 0.228163f, 0.277715f, 0.213905f, 0.136835f, 0.231983f, 0.075348f, 0.077999f, 0.142561f, 0.143016f, 0.101593f, 0.029527f, 0.083066f, -0.027521f, 0.005051f, 0.072716f, -0.082584f, -0.207720f, -0.310474f, -0.122641f, -0.425109f, -0.371851f, -0.327023f, -0.378197f, -0.420767f, -0.352684f, -0.305258f, -0.294490f, -0.202940f, -0.266913f, -0.136979f, -0.169443f, -0.180101f, -0.273200f, -0.220732f, -0.159178f, -0.130328f, -0.110344f, -0.103397f, -0.064794f, 0.025904f, -0.000191f, -0.006124f, 0.077067f, 0.160897f, 0.134179f, 0.135929f, 0.216618f, 0.185262f, 0.192474f, 0.244397f, 0.230445f, 0.196135f, 0.186522f, 0.223773f, 0.190508f, 0.184758f, 0.196009f, 0.203427f, 0.172984f, 0.151317f, 0.139180f, 0.130153f, 0.170027f, 0.133428f, 0.100048f, 0.104664f, 0.078221f, 0.045719f, -0.027103f, -0.056282f, -0.073824f, -0.132196f, -0.113229f, -0.117172f, -0.139618f, -0.147521f, -0.135906f, + -0.088580f, -0.099546f, -0.090016f, -0.091745f, -0.047402f, -0.052772f, -0.063251f, -0.043752f, -0.014511f, -0.016629f, -0.030335f, -0.020082f, 0.000342f, -0.012678f, -0.017124f, -0.015905f, -0.006051f, -0.009492f, -0.013757f, -0.010869f, 0.006723f, 0.010269f, 0.002877f, -0.006467f, 0.000278f, 0.008326f, 0.001994f, -0.007444f, -0.001368f, 0.003282f, 0.001768f, -0.002016f, 0.003158f, 0.002817f, 0.004637f, 0.004010f, 0.000220f, 0.000138f, 0.003834f, 0.004097f, 0.008887f, 0.005518f, -0.001816f, -0.005785f, 0.002256f, 0.004490f, -0.002354f, -0.004541f, -0.002634f, -0.006219f, -0.004688f, -0.005178f, -0.007801f, -0.006668f, -0.006616f, -0.008184f, -0.005178f, 0.000343f, 0.004532f, 0.003025f, 0.007042f, 0.010577f, 0.010361f, 0.008282f, 0.011758f, 0.016522f, 0.015454f, 0.014644f, 0.017240f, 0.016979f, 0.020239f, 0.018041f, 0.016583f, 0.019501f, 0.019521f, 0.014599f, 0.008181f, 0.008348f, 0.006168f, 0.000233f, -0.002012f, -0.004008f, -0.005949f, -0.008641f, -0.009770f, -0.009927f, -0.009434f, -0.009682f, -0.008954f, -0.008162f, -0.007567f, -0.006400f, -0.005698f, -0.004368f, -0.003209f, -0.002596f, + -0.002179f, -0.001650f, -0.001141f, -0.001019f, -0.000831f, -0.000715f} + } +}; +const float CRendBin_Combined_BRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][2955]={ + { + {0.009861f, 0.004728f, -0.006472f, 0.009783f, -0.005693f, -0.002101f, 0.000249f, -0.003498f, -0.003708f, -0.007780f, 0.001935f, 0.011525f, 0.001291f, 0.001975f, 0.005042f, 0.001088f, -0.004030f, -0.001395f, -0.002356f, -0.002587f, 0.007152f, 0.001824f, 0.001025f, -0.002517f, 0.001401f, -0.000405f, -0.002581f, -0.004504f, 0.006935f, 0.005146f, 0.001075f, -0.001569f, 0.008027f, -0.011147f, -0.004012f, 0.004585f, -0.004473f, 0.009384f, 0.001070f, 0.006590f, 0.000961f, 0.000661f, 0.004438f, -0.003918f, -0.001487f, -0.000245f, -0.000009f, -0.003084f, -0.002277f, 0.004076f, -0.000112f, -0.010291f, 0.009644f, -0.001457f, 0.001722f, -0.008711f, 0.004182f, -0.003921f, 0.003481f, 0.000144f, -0.000199f, -0.003345f, -0.000235f, -0.005087f, 0.005228f, -0.009781f, -0.000996f, 0.006953f, -0.005506f, 0.002520f, 0.010642f, 0.003095f, 0.001154f, -0.005364f, 0.000652f, 0.002699f, -0.001895f, 0.003411f, -0.002124f, -0.001642f, -0.002881f, 0.003075f, -0.003376f, -0.005655f, 0.001854f, 0.000815f, -0.001299f, 0.006680f, -0.001633f, -0.001580f, -0.001568f, 0.002145f, 0.002563f, -0.000287f, 0.000361f, 0.001118f, + -0.001271f, 0.001106f, -0.002534f, -0.001192f, -0.000346f, -0.000659f, -0.001329f, -0.000160f, 0.000002f, -0.000403f, -0.000748f, -0.000175f, -0.001335f, 0.000639f, -0.000633f, 0.001523f, -0.000991f, 0.001105f, 0.001742f, 0.001035f, 0.020367f, 0.003758f, -0.002844f, 0.006221f, -0.003070f, -0.002548f, -0.003252f, -0.001326f, -0.007636f, 0.010824f, 0.006263f, 0.004674f, 0.005042f, 0.004788f, -0.005005f, -0.006756f, 0.009124f, -0.001953f, -0.007055f, -0.013453f, 0.002218f, -0.003978f, 0.004240f, 0.000092f, -0.001126f, -0.003004f, 0.004253f, -0.004977f, -0.002501f, 0.006662f, 0.012656f, 0.003303f, 0.005770f, 0.001108f, 0.006376f, -0.001304f, 0.006784f, 0.004280f, 0.000787f, 0.003797f, 0.000360f, 0.001127f, 0.000374f, 0.009253f, 0.001983f, 0.002448f, -0.002059f, 0.001387f, -0.000626f, -0.001272f, 0.007524f, 0.008600f, -0.003054f, -0.003136f, 0.001761f, 0.007918f, -0.012818f, -0.000650f, -0.003457f, -0.009487f, -0.003836f, 0.001349f, -0.004020f, 0.004255f, 0.003463f, 0.000311f, -0.005762f, 0.002728f, -0.001197f, -0.005518f, 0.007157f, -0.009792f, -0.004603f, -0.010445f, -0.005144f, -0.001455f, + 0.001602f, 0.010603f, -0.004525f, -0.002720f, 0.003313f, -0.001633f, -0.002468f, 0.005042f, -0.000782f, -0.000170f, -0.002238f, -0.003506f, -0.004346f, -0.001134f, 0.003785f, 0.001527f, 0.001867f, 0.001773f, 0.001378f, 0.000175f, -0.000571f, -0.000229f, 0.000354f, 0.002680f, 0.001340f, 0.001433f, -0.000845f, 0.000263f, 0.000965f, 0.000795f, 0.000061f, 0.000218f, 0.000070f, -0.000152f, -0.000300f, -0.001793f, -0.001352f, -0.000906f, 0.001085f, 0.000907f, -0.000346f, 0.001719f, 0.006282f, 0.002583f, -0.012275f, -0.001293f, 0.001964f, 0.008697f, -0.002534f, -0.015507f, 0.012519f, -0.014660f, 0.000895f, -0.006468f, -0.004915f, -0.015539f, -0.010127f, -0.006131f, -0.003768f, 0.006234f, 0.002271f, -0.010270f, 0.001558f, -0.005545f, 0.000198f, -0.000471f, 0.004302f, 0.000742f, -0.004316f, 0.000612f, 0.001202f, 0.002381f, -0.003019f, -0.002281f, -0.000825f, -0.005139f, -0.007517f, 0.010219f, 0.004905f, 0.001287f, -0.001313f, 0.008688f, 0.007721f, -0.008799f, 0.002540f, 0.000714f, -0.001550f, -0.005177f, 0.001252f, -0.009089f, 0.002120f, -0.001825f, -0.007228f, 0.008933f, 0.000253f, -0.000823f, + 0.011428f, -0.009965f, 0.009009f, 0.003170f, -0.001230f, -0.007418f, 0.002213f, -0.001179f, -0.007618f, -0.006551f, 0.000148f, -0.002941f, -0.003374f, -0.010784f, 0.000580f, 0.002144f, 0.005079f, -0.003226f, 0.004729f, 0.001279f, -0.001804f, -0.001622f, -0.006217f, 0.005304f, 0.001192f, 0.000658f, -0.010385f, 0.005346f, -0.000844f, 0.000602f, -0.005333f, 0.000024f, -0.009538f, 0.001022f, 0.002123f, 0.001148f, -0.000767f, 0.000797f, -0.000128f, -0.000078f, -0.001615f, 0.000375f, -0.000444f, 0.001963f, 0.001263f, 0.000726f, 0.002005f, -0.000123f, 0.000717f, 0.001808f, 0.001227f, -0.001514f, -0.000506f, 0.002958f, -0.001057f, 0.000459f, -0.001028f, 0.001004f, -0.003533f, -0.001052f, -0.001053f, 0.001303f, -0.000607f, -0.022894f, -0.021626f, 0.008366f, 0.014360f, 0.008652f, -0.019476f, 0.013867f, -0.004689f, -0.001799f, 0.001259f, -0.009057f, -0.006828f, 0.016368f, -0.000197f, -0.000047f, 0.001278f, -0.000408f, 0.005384f, -0.008169f, 0.004985f, -0.004334f, 0.004473f, 0.007487f, -0.004936f, -0.001363f, 0.004384f, -0.001264f, 0.007861f, -0.002450f, 0.003439f, 0.000667f, -0.000756f, 0.000644f, + -0.006626f, -0.009283f, 0.008798f, 0.001134f, -0.001643f, 0.000066f, -0.008648f, -0.010829f, -0.000256f, 0.000199f, 0.005681f, -0.010066f, -0.008527f, -0.001837f, -0.017824f, 0.006932f, -0.001360f, 0.003640f, -0.001324f, -0.004308f, 0.002784f, 0.022894f, 0.012761f, 0.006643f, -0.006811f, 0.009022f, -0.000051f, -0.011761f, 0.000087f, -0.012274f, 0.010485f, 0.001439f, 0.001287f, -0.006991f, 0.000121f, 0.007141f, 0.002669f, 0.001432f, 0.000950f, 0.000804f, 0.007723f, 0.005353f, 0.001041f, 0.005217f, 0.003153f, 0.004169f, 0.011280f, 0.004670f, 0.005579f, -0.005191f, 0.004275f, 0.003158f, -0.001286f, 0.008861f, 0.002742f, -0.000009f, -0.000738f, 0.002659f, 0.004762f, 0.000595f, -0.000001f, -0.001726f, 0.001189f, 0.003905f, 0.002201f, -0.000861f, 0.000440f, -0.003164f, 0.000973f, 0.000830f, -0.001365f, 0.000339f, -0.000140f, -0.000031f, 0.002231f, -0.000388f, 0.002327f, 0.003151f, 0.001183f, -0.001795f, -0.003463f, 0.000617f, -0.002161f, 0.001738f, 0.001592f, -0.002194f, 0.000978f, -0.005115f, -0.032826f, -0.002518f, -0.007883f, -0.001168f, -0.005472f, -0.018651f, -0.000777f, -0.005031f, + -0.007665f, -0.017487f, -0.002139f, 0.012381f, -0.008652f, 0.008137f, -0.001431f, 0.011480f, -0.003884f, 0.009323f, -0.003067f, -0.009276f, -0.002471f, 0.000972f, -0.004048f, -0.008343f, -0.006675f, -0.008202f, 0.000275f, -0.007487f, 0.002730f, 0.000858f, 0.000755f, 0.003507f, -0.005606f, -0.007543f, 0.010856f, -0.001014f, 0.003224f, 0.000088f, -0.008512f, -0.005428f, -0.006008f, 0.000267f, -0.004313f, 0.007539f, 0.007692f, 0.001244f, -0.010431f, -0.003445f, 0.019194f, 0.004750f, -0.008118f, -0.006484f, -0.004111f, -0.007141f, -0.003761f, 0.014969f, 0.009123f, -0.010912f, 0.006658f, 0.008819f, 0.013054f, -0.003395f, 0.005303f, -0.000828f, 0.000110f, -0.005312f, -0.010879f, -0.001993f, 0.008014f, 0.000800f, 0.015528f, 0.010999f, 0.000728f, 0.003583f, 0.013093f, -0.010461f, -0.004794f, -0.003103f, -0.006441f, 0.004596f, 0.002018f, 0.002096f, -0.005649f, 0.003805f, -0.004109f, 0.004220f, -0.008028f, -0.000396f, -0.000757f, -0.003165f, -0.000213f, -0.000708f, 0.003917f, 0.001057f, 0.000863f, -0.003454f, -0.002345f, -0.001126f, -0.003259f, -0.000155f, -0.004692f, -0.002734f, 0.000164f, -0.000379f, + 0.002882f, -0.002000f, 0.000767f, -0.000975f, 0.001552f, 0.001131f, 0.003992f, -0.003339f, 0.042048f, 0.028307f, -0.008748f, -0.001534f, 0.000063f, -0.001093f, -0.004855f, 0.005934f, 0.014372f, 0.012222f, 0.006280f, -0.022027f, -0.009851f, 0.002898f, 0.001248f, 0.009444f, -0.016658f, 0.003421f, 0.022508f, 0.015233f, -0.002619f, 0.005469f, -0.002010f, -0.007546f, -0.010421f, 0.000646f, -0.008882f, -0.005100f, 0.002567f, 0.007067f, -0.006516f, -0.012018f, -0.005769f, 0.002149f, 0.011078f, 0.015573f, -0.002973f, -0.016320f, -0.003490f, -0.005788f, -0.016469f, -0.000916f, -0.000516f, -0.007819f, 0.002703f, 0.004508f, 0.009597f, -0.013719f, 0.005621f, 0.007194f, 0.001537f, -0.013263f, -0.009926f, 0.004626f, 0.000571f, 0.003545f, -0.001467f, -0.001223f, -0.000474f, -0.007312f, 0.003635f, 0.003947f, -0.005175f, 0.009347f, 0.010946f, 0.015067f, 0.003588f, 0.001210f, 0.014105f, 0.023096f, 0.003668f, 0.003239f, 0.003916f, 0.013621f, 0.001528f, 0.008099f, 0.022710f, 0.006835f, 0.004181f, 0.000724f, -0.004294f, -0.019316f, 0.002594f, -0.000422f, -0.003156f, -0.003618f, 0.002386f, -0.002595f, + 0.004797f, 0.002233f, -0.002570f, -0.001315f, -0.000658f, 0.004017f, 0.002492f, -0.000980f, -0.000756f, 0.002768f, 0.005771f, 0.000147f, -0.001446f, 0.002121f, 0.000222f, -0.002590f, -0.005366f, 0.004003f, -0.005052f, 0.003191f, 0.002138f, 0.003859f, -0.000250f, -0.000515f, 0.000081f, 0.001335f, -0.007047f, 0.000315f, 0.001031f, -0.000556f, 0.000819f, 0.022267f, 0.000377f, 0.004731f, 0.005276f, 0.010799f, -0.004277f, 0.006919f, -0.005868f, -0.003557f, -0.018361f, 0.007400f, 0.012363f, -0.011176f, 0.009358f, -0.004556f, -0.016099f, 0.016775f, 0.009785f, -0.002849f, 0.009896f, 0.019626f, 0.013581f, -0.009944f, -0.005703f, 0.009953f, 0.003029f, -0.002102f, 0.007494f, 0.007069f, 0.010056f, 0.000762f, -0.004513f, -0.008578f, -0.015524f, -0.000386f, -0.012898f, 0.001700f, -0.004250f, 0.007286f, -0.010270f, -0.023333f, 0.005089f, -0.005696f, 0.010757f, 0.002852f, 0.000782f, -0.006369f, -0.013885f, -0.011471f, -0.001160f, -0.001063f, -0.010485f, 0.014798f, 0.018923f, 0.019834f, 0.007907f, -0.013989f, -0.001302f, 0.018800f, 0.001739f, -0.003095f, 0.008638f, -0.002318f, -0.004763f, -0.017602f, + 0.009711f, 0.005263f, 0.025639f, 0.012003f, -0.017511f, 0.005988f, 0.006508f, -0.001722f, -0.000375f, 0.006364f, -0.004301f, 0.001557f, -0.007534f, -0.018258f, 0.016566f, 0.003168f, 0.009855f, 0.004928f, -0.008716f, 0.014196f, -0.003171f, 0.003482f, 0.000713f, -0.002982f, 0.000492f, 0.000560f, 0.001075f, 0.007490f, 0.002395f, 0.001535f, 0.000593f, -0.002385f, -0.003000f, -0.003715f, -0.002312f, 0.002668f, -0.001256f, -0.000062f, -0.001504f, 0.002456f, -0.002189f, -0.000995f, 0.000190f, -0.000151f, 0.000957f, -0.003924f, 0.004683f, -0.001853f, 0.004119f, 0.001500f, -0.002194f, -0.002545f, 0.005828f, -0.005219f, 0.004676f, -0.001168f, -0.006779f, -0.011431f, -0.003029f, -0.002958f, -0.019611f, 0.000931f, 0.002449f, 0.009781f, -0.003682f, -0.008525f, 0.003558f, 0.001014f, 0.004679f, 0.000093f, 0.010702f, 0.004224f, 0.007397f, 0.001193f, -0.000804f, 0.006278f, 0.003730f, -0.019419f, -0.005966f, -0.027733f, 0.001264f, -0.005231f, 0.003204f, 0.004828f, 0.000375f, 0.013144f, 0.003367f, 0.018797f, 0.002319f, -0.022523f, 0.000454f, -0.009114f, -0.003720f, -0.001152f, -0.003377f, -0.001242f, + -0.017805f, 0.003782f, -0.008582f, 0.021341f, -0.022269f, 0.012252f, -0.004857f, -0.019106f, -0.003581f, -0.013467f, -0.002905f, -0.004174f, -0.020254f, 0.005698f, 0.006161f, -0.003814f, -0.003384f, -0.001403f, 0.007117f, -0.016180f, 0.000366f, 0.014946f, 0.002738f, 0.020836f, 0.034174f, 0.014016f, -0.031047f, -0.041493f, 0.020010f, 0.008858f, 0.030836f, -0.006534f, 0.014764f, 0.003032f, 0.014659f, 0.020478f, 0.026482f, -0.014258f, 0.007586f, 0.019611f, -0.016253f, 0.002862f, -0.002158f, -0.002186f, 0.001404f, 0.013951f, -0.002237f, 0.004660f, -0.009229f, 0.003144f, -0.007141f, -0.007602f, -0.003381f, -0.006382f, 0.000921f, -0.003837f, -0.010543f, -0.000567f, 0.006813f, 0.004124f, -0.002057f, -0.002122f, -0.001672f, -0.000042f, 0.003098f, 0.003189f, -0.002826f, -0.004273f, -0.001936f, 0.005792f, -0.001607f, 0.005600f, 0.000777f, 0.000638f, -0.001625f, 0.001187f, 0.001567f, 0.000264f, 0.001448f, 0.000051f, -0.005103f, -0.005046f, -0.003296f, 0.001300f, 0.004809f, -0.007275f, -0.004857f, -0.002472f, 0.002724f, -0.003565f, -0.002850f, -0.038137f, 0.028544f, 0.004936f, -0.004746f, -0.000824f, + -0.016904f, -0.014331f, 0.014995f, -0.004247f, -0.004588f, 0.015021f, -0.011169f, -0.012546f, 0.000888f, 0.014924f, 0.006678f, -0.005212f, 0.000643f, -0.009016f, -0.000991f, 0.000891f, 0.008337f, 0.000048f, -0.019187f, -0.019559f, 0.004486f, -0.002902f, 0.004788f, -0.002256f, 0.007875f, 0.014615f, 0.028015f, -0.000782f, 0.017419f, -0.004608f, 0.004997f, 0.011567f, -0.011501f, 0.022402f, -0.003182f, -0.014520f, -0.019910f, -0.004198f, -0.016515f, -0.021300f, -0.005731f, 0.009248f, -0.006419f, -0.016646f, 0.008152f, 0.011176f, 0.018127f, 0.022969f, -0.019053f, 0.006851f, -0.005307f, -0.017965f, 0.006578f, -0.020038f, -0.003615f, -0.032453f, 0.012773f, -0.009997f, 0.004722f, -0.006218f, 0.005021f, -0.034881f, -0.034348f, -0.021292f, -0.008096f, 0.018572f, -0.018510f, 0.035671f, -0.012801f, 0.003115f, -0.003422f, 0.006254f, -0.003361f, -0.026068f, 0.003637f, 0.002489f, 0.006908f, 0.005435f, 0.002917f, 0.009399f, -0.005775f, -0.009294f, -0.000064f, -0.000123f, -0.008651f, 0.003351f, -0.011112f, 0.005686f, 0.003563f, 0.004500f, -0.001754f, -0.000536f, -0.003507f, -0.009054f, -0.006334f, -0.004054f, + -0.004004f, 0.005073f, -0.003985f, -0.010852f, 0.003363f, 0.003798f, -0.002092f, 0.006364f, -0.000797f, -0.002665f, -0.000263f, 0.001028f, -0.003226f, -0.003554f, 0.003459f, 0.004416f, 0.003525f, 0.001065f, -0.007742f, -0.005996f, -0.001900f, -0.006590f, 0.001907f, -0.000113f, -0.000376f, -0.009266f, -0.004653f, -0.001864f, 0.001918f, -0.000081f, -0.007203f, -0.001500f, -0.000180f, -0.005679f, 0.032473f, 0.001362f, 0.012570f, 0.007919f, 0.003870f, 0.018134f, 0.003072f, -0.026596f, 0.013072f, 0.003242f, 0.012503f, -0.001688f, -0.018826f, 0.027146f, 0.015446f, 0.010853f, -0.002124f, -0.008891f, 0.004048f, -0.002522f, -0.014842f, 0.009424f, 0.007414f, -0.009033f, 0.011592f, 0.017089f, 0.000944f, 0.006119f, 0.017988f, -0.019575f, 0.005044f, -0.006930f, 0.008324f, -0.036375f, 0.011416f, 0.016756f, -0.005570f, 0.004090f, 0.017751f, 0.008743f, 0.000725f, 0.005210f, -0.017514f, 0.004117f, -0.010130f, 0.000300f, 0.005640f, 0.002339f, -0.007768f, 0.033855f, -0.005755f, -0.007019f, -0.007617f, -0.030480f, -0.011763f, -0.018871f, -0.020890f, -0.004603f, 0.029929f, 0.031918f, -0.002813f, 0.009513f, + 0.013345f, -0.027586f, -0.008393f, 0.021505f, 0.018531f, -0.011259f, -0.007247f, -0.027176f, -0.008331f, -0.010593f, -0.012526f, -0.015547f, 0.004341f, -0.027714f, 0.004806f, 0.025052f, 0.036024f, 0.010494f, -0.010189f, -0.001230f, 0.019252f, -0.007122f, -0.012575f, 0.000759f, -0.001346f, -0.006159f, -0.008345f, 0.000785f, -0.000588f, 0.003740f, 0.005954f, 0.002793f, -0.002787f, 0.001162f, 0.003311f, 0.001872f, -0.000212f, -0.005702f, -0.011130f, 0.002772f, -0.000424f, -0.005145f, 0.008943f, 0.002232f, 0.005138f, -0.005339f, 0.007634f, -0.005685f, -0.003716f, -0.006338f, 0.006105f, 0.000684f, 0.004577f, 0.008119f, -0.000477f, -0.004906f, -0.002124f, 0.003838f, 0.002196f, -0.000846f, 0.000487f, 0.000720f, 0.001494f, -0.000966f, -0.001478f, 0.003909f, 0.006121f, 0.015138f, 0.007368f, -0.002852f, -0.010152f, 0.006355f, 0.001606f, -0.013347f, -0.019928f, -0.021305f, -0.008600f, -0.020835f, -0.008754f, -0.008433f, 0.000257f, -0.019831f, 0.004367f, 0.008385f, 0.000846f, -0.022652f, 0.006971f, -0.028111f, 0.008610f, 0.015715f, 0.000363f, 0.024414f, 0.000654f, -0.007255f, -0.004544f, 0.016463f, + -0.006013f, 0.022654f, 0.007973f, -0.007841f, -0.007857f, 0.003985f, -0.011644f, -0.006246f, 0.000761f, 0.021413f, -0.000811f, 0.011310f, 0.006348f, 0.001927f, 0.014940f, -0.006761f, -0.013878f, 0.006088f, -0.009969f, -0.004607f, -0.027028f, 0.015137f, -0.009566f, -0.007994f, -0.005567f, -0.029724f, 0.035399f, 0.009169f, -0.004350f, 0.015420f, 0.004938f, 0.007479f, -0.015850f, -0.023692f, -0.027026f, -0.013043f, 0.001266f, -0.027235f, 0.009996f, 0.019628f, -0.030625f, -0.011199f, 0.011029f, -0.014107f, 0.007202f, 0.033790f, 0.000921f, -0.005573f, -0.009173f, 0.007557f, -0.018592f, 0.011950f, 0.006323f, -0.016725f, 0.005263f, 0.011698f, -0.006903f, -0.019797f, -0.017028f, -0.008932f, -0.000836f, 0.005256f, 0.004381f, 0.003546f, -0.003647f, -0.005068f, -0.002672f, 0.004193f, 0.000001f, -0.002942f, -0.011366f, -0.013430f, -0.003878f, 0.000736f, -0.009734f, -0.011546f, -0.008117f, -0.004968f, -0.004613f, -0.010167f, -0.008878f, -0.004836f, -0.006490f, -0.012940f, 0.001914f, 0.011718f, -0.001518f, -0.001357f, -0.005110f, -0.003859f, 0.003651f, -0.004739f, 0.000571f, -0.010292f, 0.000023f, -0.003181f, + -0.005749f, -0.000302f, -0.005424f, 0.002837f, 0.004302f, -0.004516f, 0.006687f, -0.005253f, -0.002329f, -0.005429f, -0.000794f, 0.000477f, 0.009634f, 0.021138f, 0.054241f, 0.056079f, 0.017555f, 0.034644f, -0.023564f, -0.024682f, -0.005191f, -0.003990f, 0.002502f, 0.007564f, 0.018494f, 0.032044f, 0.011099f, 0.029632f, 0.003780f, 0.008703f, 0.004923f, -0.008671f, 0.014151f, -0.000728f, 0.005907f, 0.001957f, -0.014854f, -0.002258f, -0.007770f, -0.016931f, -0.009896f, -0.000091f, 0.002079f, -0.022332f, -0.008634f, 0.027347f, 0.020373f, 0.014051f, 0.023869f, -0.014878f, 0.000566f, -0.040605f, 0.002281f, 0.034228f, -0.006342f, -0.007217f, 0.004556f, -0.004041f, 0.027453f, -0.002477f, -0.004117f, 0.020534f, -0.024497f, -0.040653f, -0.015868f, 0.003287f, -0.021302f, 0.015723f, 0.022829f, -0.032074f, -0.011648f, -0.000041f, -0.000216f, -0.045885f, -0.028655f, 0.014313f, 0.006675f, -0.003703f, 0.015042f, -0.020182f, -0.011841f, -0.028435f, 0.007058f, 0.008768f, 0.002698f, 0.001680f, -0.018347f, -0.031307f, 0.026032f, -0.042470f, 0.012683f, -0.015721f, 0.040652f, 0.003946f, 0.017149f, -0.011732f, + -0.015577f, 0.011467f, 0.005784f, 0.017846f, -0.016867f, -0.003325f, 0.012581f, -0.001018f, -0.009199f, -0.009095f, -0.009039f, 0.000702f, 0.009742f, 0.010170f, -0.011272f, -0.005014f, -0.001566f, -0.015613f, -0.005166f, 0.002638f, -0.001375f, 0.001188f, -0.007771f, -0.013711f, -0.001613f, 0.000196f, 0.010933f, 0.003147f, -0.006260f, 0.008063f, 0.001715f, 0.004041f, -0.014630f, 0.002929f, -0.008613f, 0.006967f, 0.001628f, 0.007388f, 0.012319f, 0.003604f, -0.008120f, -0.016933f, 0.005584f, 0.005547f, -0.052391f, -0.037847f, 0.026246f, -0.005544f, 0.047643f, -0.011684f, 0.039241f, -0.031584f, 0.001046f, 0.013979f, -0.003021f, 0.001603f, 0.004695f, -0.002540f, -0.023535f, 0.008204f, 0.008990f, 0.010256f, 0.011876f, -0.007359f, 0.019524f, -0.017743f, -0.012936f, -0.010183f, 0.027423f, -0.015176f, -0.004984f, 0.002355f, -0.000471f, -0.014283f, 0.012285f, -0.015927f, -0.018742f, -0.035619f, 0.003342f, 0.006410f, -0.024021f, -0.011358f, 0.011723f, -0.004987f, 0.006313f, 0.001823f, 0.028156f, 0.001845f, 0.021218f, 0.009307f, 0.001015f, 0.016808f, 0.003951f, 0.005748f, -0.031710f, 0.032655f, + 0.011716f, 0.025559f, -0.015493f, 0.006699f, -0.016966f, 0.026516f, 0.020322f, 0.032374f, 0.005296f, -0.008634f, -0.023505f, -0.001594f, 0.004282f, -0.020232f, 0.028679f, 0.004478f, 0.004562f, 0.030625f, 0.007004f, -0.009348f, -0.012157f, -0.001134f, 0.018408f, 0.021933f, -0.007049f, 0.027384f, -0.032800f, -0.034638f, -0.014967f, 0.007881f, -0.010385f, 0.014904f, -0.003616f, 0.007934f, 0.026502f, -0.001320f, 0.013226f, -0.011126f, -0.009895f, 0.011377f, -0.000870f, 0.018337f, -0.005567f, -0.000276f, -0.005527f, -0.011581f, 0.002468f, -0.006884f, -0.002517f, 0.007452f, 0.002749f, -0.010552f, -0.009353f, 0.005379f, 0.014162f, 0.014348f, -0.001302f, 0.011717f, 0.013084f, -0.018295f, 0.008621f, 0.016934f, 0.013643f, 0.007401f, -0.013345f, -0.016586f, -0.016905f, -0.017429f, -0.016911f, 0.001220f, -0.005776f, -0.002616f, 0.002133f, -0.012822f, 0.009145f, 0.007876f, -0.006274f, 0.009407f, 0.003644f, 0.004311f, -0.011766f, 0.009784f, 0.024189f, -0.057059f, -0.002607f, 0.029708f, -0.019013f, -0.006368f, 0.021882f, -0.023788f, -0.048278f, 0.009555f, 0.008163f, 0.007432f, -0.006336f, -0.028589f, + 0.007155f, 0.008051f, 0.002098f, 0.015779f, -0.051196f, 0.023394f, -0.011947f, 0.012134f, -0.029214f, 0.023623f, -0.036954f, -0.023641f, 0.014226f, -0.009760f, -0.004388f, -0.028137f, 0.021921f, 0.028876f, -0.000187f, 0.003112f, -0.013453f, 0.043357f, 0.010663f, 0.011725f, -0.008025f, -0.037763f, -0.008222f, 0.020639f, -0.003922f, 0.030953f, 0.000121f, -0.011427f, 0.007360f, -0.002334f, 0.019357f, -0.037393f, -0.004653f, -0.028723f, 0.030716f, -0.011675f, 0.010186f, -0.001047f, -0.001272f, -0.033929f, -0.012026f, 0.029448f, 0.009289f, 0.002453f, -0.009117f, 0.000671f, 0.003596f, -0.043454f, -0.044970f, 0.047460f, -0.021364f, -0.051998f, 0.020865f, 0.024238f, -0.041892f, -0.054772f, -0.038273f, -0.036795f, 0.006275f, 0.014250f, -0.004789f, -0.035393f, -0.001369f, -0.019078f, -0.009086f, -0.025751f, -0.001663f, 0.002269f, 0.002315f, -0.005385f, 0.023863f, -0.013405f, 0.009227f, -0.011436f, -0.000814f, 0.006284f, -0.006410f, -0.001277f, -0.014535f, 0.018490f, -0.004677f, 0.006258f, -0.010740f, -0.015606f, -0.003450f, 0.007014f, 0.008163f, 0.002274f, -0.015152f, 0.008417f, -0.002431f, -0.012331f, + 0.011358f, -0.018472f, -0.003912f, -0.011591f, 0.017811f, -0.008395f, -0.020421f, 0.008320f, -0.008292f, -0.009110f, -0.027037f, -0.001857f, 0.005649f, 0.021934f, 0.008818f, -0.013691f, -0.007127f, 0.001734f, -0.003946f, -0.007535f, 0.003762f, -0.001537f, -0.005487f, -0.005540f, -0.002137f, 0.021949f, -0.030893f, -0.017846f, -0.032319f, -0.003427f, 0.007077f, -0.044332f, 0.007400f, -0.021886f, 0.061455f, 0.002813f, -0.054622f, -0.013038f, 0.027001f, 0.015901f, 0.013340f, 0.027296f, 0.028169f, -0.040070f, -0.009797f, -0.015742f, 0.037525f, -0.013469f, 0.043755f, -0.000445f, -0.024780f, -0.020370f, -0.038527f, -0.044904f, 0.002939f, 0.004806f, -0.006995f, -0.023316f, -0.009494f, 0.002633f, 0.007326f, 0.014923f, -0.021517f, 0.010707f, -0.025355f, -0.030468f, 0.006132f, -0.006769f, -0.007781f, -0.031749f, -0.029555f, -0.014670f, -0.008969f, 0.042350f, 0.004174f, 0.014024f, 0.024200f, -0.001045f, 0.053871f, 0.021446f, -0.017672f, 0.002477f, 0.027829f, -0.011080f, 0.035175f, -0.009473f, 0.004578f, 0.002148f, -0.047296f, -0.048857f, 0.007357f, 0.033714f, 0.000896f, -0.010845f, -0.052945f, 0.003169f, + 0.018305f, 0.011158f, -0.018071f, -0.015080f, -0.010410f, 0.006256f, -0.022794f, 0.056174f, 0.031957f, 0.034360f, 0.007009f, -0.040047f, 0.014624f, 0.017947f, 0.056308f, 0.012735f, 0.005877f, 0.022343f, 0.009769f, -0.009377f, 0.000645f, 0.017077f, -0.001474f, 0.002150f, 0.005721f, -0.014457f, -0.009871f, 0.016612f, 0.000601f, -0.013770f, 0.017811f, -0.011159f, -0.003948f, -0.008590f, -0.008039f, 0.015546f, -0.010037f, -0.004724f, 0.008449f, -0.017118f, 0.007237f, -0.001714f, -0.009574f, 0.020567f, -0.007370f, -0.000162f, -0.026347f, 0.016000f, -0.007976f, -0.007049f, -0.016955f, -0.024379f, 0.003937f, -0.009917f, 0.017153f, -0.000696f, 0.010217f, 0.006380f, 0.000480f, -0.010225f, 0.000373f, 0.015287f, -0.000078f, -0.026541f, -0.023940f, 0.050721f, -0.015626f, -0.018955f, -0.002552f, -0.014133f, -0.034495f, 0.000631f, 0.024091f, -0.059527f, -0.000888f, 0.015318f, 0.019099f, -0.020360f, 0.013601f, -0.034114f, 0.002747f, -0.008869f, 0.010775f, -0.030556f, 0.019099f, -0.051966f, 0.008635f, 0.001348f, 0.029524f, 0.027576f, 0.013892f, -0.019449f, 0.021734f, -0.006386f, 0.024264f, -0.026336f, + 0.004288f, 0.030707f, 0.024523f, -0.014500f, 0.005150f, 0.000722f, -0.006680f, 0.014877f, -0.005663f, -0.017957f, -0.019822f, 0.014191f, -0.035922f, 0.023787f, 0.005709f, -0.038709f, 0.036583f, 0.034848f, 0.032963f, 0.011814f, -0.016909f, 0.042189f, 0.005219f, 0.018117f, -0.025777f, -0.022514f, -0.024703f, 0.007699f, 0.009778f, 0.015114f, -0.034710f, 0.003374f, 0.025781f, -0.066924f, 0.002653f, -0.021981f, 0.042082f, 0.027046f, 0.021202f, -0.005922f, 0.027942f, -0.026241f, -0.001244f, -0.018269f, -0.040106f, -0.001683f, -0.036922f, -0.030993f, 0.018278f, 0.049458f, -0.046341f, -0.011014f, -0.008361f, 0.049656f, -0.012143f, 0.021732f, -0.014103f, -0.008691f, -0.001774f, 0.017584f, -0.010253f, -0.004306f, 0.001561f, 0.011992f, 0.008940f, 0.006321f, -0.006488f, 0.001847f, 0.005311f, 0.024622f, -0.019330f, 0.020554f, -0.004338f, 0.015048f, 0.000157f, 0.004028f, 0.005358f, 0.009490f, -0.012743f, -0.002874f, -0.002366f, -0.015953f, -0.014168f, -0.014149f, 0.009976f, 0.007962f, -0.002788f, -0.006325f, -0.008112f, -0.011145f, -0.006807f, 0.000983f, -0.004848f, -0.000068f, 0.014940f, -0.000295f, + -0.026970f, 0.012777f, -0.015727f, -0.002360f, 0.011559f, -0.004421f, 0.044845f, 0.008974f, 0.023018f, -0.064336f, 0.030163f, -0.036234f, 0.048868f, -0.005365f, 0.019388f, 0.036037f, -0.038890f, 0.069877f, 0.051090f, 0.037577f, -0.016729f, 0.009781f, 0.048835f, -0.012584f, -0.014961f, -0.011723f, -0.001995f, -0.036923f, 0.010200f, -0.019853f, -0.043698f, 0.042391f, 0.014704f, 0.011338f, 0.005896f, 0.009501f, 0.017109f, 0.044655f, 0.009995f, -0.028530f, -0.001884f, -0.029587f, 0.006290f, 0.003809f, -0.050791f, -0.002586f, 0.028448f, 0.001637f, -0.003160f, -0.016055f, 0.055049f, 0.010847f, 0.023738f, 0.011620f, -0.028934f, -0.021425f, -0.015581f, 0.033506f, 0.020520f, -0.007171f, 0.021078f, -0.003407f, -0.036634f, 0.035661f, 0.004899f, 0.040935f, 0.005084f, 0.003874f, 0.001334f, -0.055213f, 0.007991f, 0.001081f, 0.006586f, 0.033722f, -0.012964f, 0.053284f, -0.081023f, -0.014855f, 0.061333f, -0.025001f, 0.020639f, -0.028138f, -0.042885f, -0.035338f, 0.025712f, -0.024272f, 0.024010f, -0.037940f, -0.007517f, 0.005956f, -0.008725f, -0.015140f, -0.004225f, -0.004791f, 0.016920f, 0.037407f, + 0.004521f, 0.022049f, -0.006797f, -0.004134f, 0.028086f, -0.004375f, -0.007334f, 0.007262f, -0.013239f, 0.011886f, 0.024531f, -0.016394f, -0.001915f, -0.006612f, 0.004936f, 0.004144f, 0.011931f, 0.042307f, -0.007201f, 0.014671f, 0.001320f, 0.009895f, 0.016062f, 0.007426f, 0.002955f, 0.023393f, 0.026246f, -0.007528f, -0.003048f, 0.010255f, 0.006140f, 0.008828f, -0.032484f, -0.003096f, 0.031968f, -0.007392f, 0.007095f, 0.011964f, -0.001175f, 0.032552f, 0.011271f, -0.065878f, -0.079152f, -0.006838f, -0.037186f, 0.005151f, 0.022328f, -0.031481f, 0.009062f, -0.048159f, 0.020839f, -0.026472f, -0.132197f, -0.008381f, 0.080371f, -0.034604f, -0.015104f, 0.081042f, -0.019169f, 0.004471f, 0.096781f, -0.023099f, 0.021260f, 0.009166f, -0.014343f, 0.078176f, -0.063057f, -0.008028f, -0.001903f, -0.010977f, -0.012841f, -0.012791f, -0.001752f, 0.025507f, -0.014502f, -0.042534f, 0.000292f, 0.000918f, 0.012400f, 0.015595f, 0.002628f, 0.035121f, -0.001534f, 0.016187f, -0.009764f, -0.042227f, 0.029274f, -0.005150f, -0.043716f, 0.001705f, 0.024910f, 0.076940f, 0.038712f, 0.064680f, 0.001165f, 0.015939f, + 0.030667f, 0.007306f, -0.003970f, 0.060449f, -0.003384f, -0.023546f, 0.070558f, 0.012360f, 0.012305f, 0.000502f, -0.010185f, 0.040414f, -0.000218f, -0.023533f, -0.026752f, -0.005520f, -0.005463f, 0.061181f, -0.041733f, 0.005326f, 0.007667f, -0.010926f, 0.071669f, 0.000552f, -0.046203f, 0.007664f, 0.023270f, -0.033841f, -0.001842f, 0.034350f, 0.028179f, -0.017447f, 0.002506f, -0.019716f, 0.016360f, -0.005382f, 0.002050f, -0.019421f, 0.017741f, 0.000126f, -0.002193f, -0.028198f, 0.011397f, 0.009475f, -0.018536f, 0.001314f, 0.006421f, -0.009598f, -0.006470f, 0.021557f, 0.003162f, 0.011951f, -0.008201f, 0.006207f, 0.037368f, -0.034297f, -0.015791f, -0.011368f, 0.040422f, 0.014975f, 0.021289f, -0.024747f, -0.022673f, -0.009321f, -0.002933f, -0.029995f, -0.033691f, 0.039917f, 0.015982f, -0.023755f, -0.022174f, -0.013639f, -0.000467f, -0.023581f, -0.020705f, 0.000088f, 0.005970f, 0.015000f, -0.004159f, -0.007693f, 0.012219f, -0.003205f, 0.003833f, 0.044996f, 0.036115f, -0.073924f, -0.036282f, 0.056983f, -0.010561f, -0.055379f, -0.000595f, 0.001235f, 0.020008f, 0.060257f, 0.053430f, -0.032869f, + 0.009825f, -0.007398f, 0.000395f, -0.000481f, -0.034728f, 0.052280f, -0.015574f, -0.034153f, 0.012109f, -0.024498f, 0.029592f, 0.002667f, 0.042114f, -0.012929f, -0.040081f, -0.036100f, 0.031898f, -0.015317f, 0.041549f, -0.011105f, 0.026896f, -0.027297f, -0.021326f, -0.012947f, 0.002930f, -0.034278f, 0.008375f, 0.001885f, 0.000519f, 0.033642f, -0.000430f, 0.011287f, -0.023362f, 0.016715f, -0.036843f, 0.039478f, -0.035441f, 0.023498f, 0.011878f, 0.033202f, -0.055444f, 0.001973f, 0.004647f, -0.016669f, -0.040059f, -0.067753f, -0.011363f, -0.057800f, -0.022267f, -0.046236f, -0.021583f, -0.084571f, -0.026309f, 0.038509f, 0.048657f, 0.026579f, 0.028337f, -0.004476f, 0.030791f, -0.060217f, -0.013763f, 0.009466f, 0.038998f, 0.010859f, -0.082922f, -0.003161f, -0.036422f, -0.024165f, 0.097063f, 0.065318f, -0.045927f, -0.018596f, -0.032222f, 0.010941f, -0.085419f, 0.005387f, 0.017936f, -0.024304f, -0.025267f, 0.015695f, 0.005108f, 0.000973f, -0.016295f, -0.014260f, -0.013927f, -0.014094f, 0.026833f, 0.024652f, -0.001591f, -0.006688f, -0.026149f, -0.030028f, -0.006236f, -0.007382f, 0.010367f, 0.026294f, + -0.050760f, -0.003667f, 0.025725f, 0.000098f, 0.032872f, -0.011182f, -0.031010f, 0.017103f, 0.035545f, 0.018056f, -0.020912f, 0.002829f, 0.032950f, -0.041332f, -0.029296f, 0.055380f, 0.003368f, -0.001638f, -0.005254f, 0.009004f, 0.013083f, 0.017023f, -0.006538f, -0.013142f, -0.015429f, -0.097175f, 0.028109f, 0.015653f, -0.051737f, 0.020593f, 0.018685f, -0.036940f, -0.029015f, 0.044153f, 0.005045f, 0.023663f, -0.012189f, 0.029283f, -0.009630f, -0.004273f, 0.022408f, 0.011337f, 0.007068f, 0.000929f, -0.015836f, -0.026196f, -0.016569f, 0.041731f, -0.015042f, -0.035664f, 0.060670f, 0.038032f, 0.004399f, 0.028152f, 0.007836f, -0.031305f, -0.093761f, 0.038477f, -0.003559f, -0.050180f, 0.041892f, -0.004236f, -0.068472f, -0.056980f, -0.030192f, 0.044886f, 0.017473f, 0.046511f, 0.057875f, 0.017648f, -0.047594f, 0.015137f, 0.016499f, -0.059816f, -0.010149f, 0.034043f, -0.019200f, -0.065205f, -0.050087f, -0.079535f, -0.051302f, -0.011323f, 0.049930f, 0.073158f, 0.034690f, -0.004625f, 0.049773f, -0.012339f, -0.123635f, -0.097467f, 0.020987f, -0.049007f, -0.058846f, 0.083886f, 0.010599f, -0.112368f, + -0.087473f, 0.029932f, 0.004749f, 0.019482f, 0.041412f, 0.101038f, 0.057375f, -0.008242f, 0.111813f, 0.036040f, -0.118225f, 0.001305f, -0.025554f, 0.061152f, 0.017842f, -0.038394f, 0.018479f, -0.028752f, -0.017676f, -0.024975f, 0.037847f, -0.006804f, 0.027553f, 0.023774f, 0.029875f, -0.006496f, -0.030856f, -0.009580f, 0.020485f, -0.012813f, 0.017153f, 0.011636f, 0.012239f, -0.026106f, 0.002732f, 0.010973f, 0.000110f, 0.047751f, -0.002046f, 0.021376f, 0.004237f, -0.007568f, 0.024941f, 0.006406f, -0.004204f, 0.028496f, -0.013911f, -0.004020f, 0.016844f, 0.007375f, -0.003103f, -0.011163f, -0.016421f, 0.002094f, -0.018799f, -0.013377f, 0.009428f, 0.013848f, -0.014521f, 0.092016f, 0.089768f, -0.028367f, 0.031422f, -0.036904f, 0.022680f, 0.001051f, 0.013228f, -0.043945f, 0.003736f, -0.037564f, -0.033110f, 0.000186f, -0.076831f, 0.001773f, -0.032555f, 0.008465f, 0.022915f, -0.000717f, 0.026504f, -0.038004f, 0.057674f, -0.028504f, -0.000794f, 0.039616f, -0.037184f, 0.014514f, 0.028887f, 0.035140f, 0.005286f, 0.012632f, 0.008928f, -0.055457f, -0.030623f, -0.009016f, 0.008358f, 0.008487f, + -0.008060f, 0.036656f, -0.011674f, -0.000559f, -0.006845f, -0.015948f, 0.013143f, 0.007262f, -0.043639f, 0.012846f, -0.035045f, 0.009594f, -0.084407f, -0.004143f, -0.001971f, -0.000236f, 0.034664f, -0.013983f, -0.030694f, -0.013830f, 0.031850f, -0.000163f, -0.081591f, 0.114277f, -0.009871f, -0.021935f, 0.025041f, -0.005061f, -0.016705f, -0.021509f, -0.022649f, -0.024589f, 0.078545f, -0.030411f, -0.045314f, 0.038784f, 0.003914f, -0.061987f, -0.014489f, 0.025775f, 0.020700f, -0.020508f, 0.042415f, -0.007565f, -0.011489f, 0.039016f, -0.028695f, -0.026581f, 0.049596f, -0.022022f, -0.007708f, -0.002823f, 0.021085f, 0.010004f, -0.000395f, -0.003614f, 0.001349f, 0.009221f, -0.010044f, -0.000920f, 0.009817f, 0.010130f, 0.012422f, -0.030524f, 0.007961f, 0.015149f, -0.029398f, 0.002320f, 0.006318f, -0.005428f, -0.011816f, 0.011735f, 0.003527f, -0.010867f, 0.001854f, -0.001211f, -0.004832f, -0.037411f, 0.021289f, -0.022228f, 0.006824f, 0.006083f, -0.033507f, -0.002100f, 0.001808f, -0.000433f, -0.000311f, -0.011608f, -0.001490f, 0.009300f, -0.001194f, -0.072794f, -0.107332f, -0.103293f, 0.228698f, 0.189721f, + 0.216137f, 0.488177f, 0.127881f, -0.122279f, 0.038773f, -0.391487f, -0.414923f, -0.102676f, -0.260663f, -0.201646f, 0.123701f, -0.064035f, 0.026031f, 0.311196f, 0.154727f, 0.230736f, 0.443201f, 0.295355f, 0.077561f, 0.064424f, -0.130096f, -0.402913f, -0.307605f, -0.235507f, -0.475845f, -0.192439f, 0.011942f, -0.083989f, -0.037398f, 0.241323f, 0.064472f, 0.032753f, 0.299051f, 0.037391f, 0.072009f, 0.424437f, 0.312366f, 0.197838f, 0.401536f, 0.200178f, -0.069643f, -0.005533f, -0.126131f, -0.623888f, -0.544145f, -0.439718f, -0.683479f, -0.520775f, -0.183909f, -0.246369f, 0.056557f, 0.475847f, 0.425255f, 0.588063f, 0.742482f, 0.552493f, 0.431295f, 0.419351f, 0.232534f, -0.077657f, -0.148306f, -0.339775f, -0.485230f, -0.476781f, -0.412816f, -0.473266f, -0.484095f, -0.389246f, -0.217127f, -0.157332f, 0.059939f, 0.372606f, 0.537073f, 0.766016f, 0.861689f, 0.514632f, 0.125797f, -0.072764f, -0.517464f, -0.492612f, -0.374916f, -0.291373f, -0.107666f, 0.055667f, 0.041671f, 0.053647f, 0.067175f, 0.031719f, 0.078919f, 0.110224f, 0.082237f, 0.132941f, 0.076132f, -0.032975f, -0.040205f, -0.115901f, + -0.212314f, -0.057755f, -0.065800f, -0.076240f, 0.067833f, 0.058143f, -0.071552f, -0.092667f, -0.172741f, -0.282883f, -0.118219f, 0.162518f, 0.276399f, 0.535163f, 0.645724f, 0.439170f, 0.273013f, 0.073629f, -0.240922f, -0.353040f, -0.399407f, -0.467304f, -0.438970f, -0.336790f, -0.272645f, -0.225616f, -0.136415f, -0.033819f, 0.118717f, 0.408996f, 0.570724f, 0.506647f, 0.364616f, 0.225404f, 0.049972f, -0.086908f, -0.133028f, -0.168969f, -0.120026f, -0.031353f, -0.004510f, -0.033823f, -0.056802f, -0.092139f, -0.148173f, -0.192950f, -0.186230f, -0.186952f, -0.108876f, 0.019306f, 0.070861f, 0.128866f, 0.169308f, 0.171242f, 0.133607f, 0.091204f, 0.052386f, 0.029479f, 0.042638f, 0.057988f, 0.059306f, 0.052454f, 0.031576f, -0.011994f, -0.069441f, -0.115822f, -0.141930f, -0.144999f, -0.116518f, -0.092066f, -0.074477f, -0.038431f, 0.010585f, 0.041442f, 0.053753f, 0.061745f, 0.065944f, 0.078480f, 0.086317f, 0.077374f, 0.044463f, 0.019444f, 0.005761f, -0.011367f, -0.016411f, -0.010064f, -0.015757f, -0.009020f, 0.003079f, -0.004980f, -0.022198f, -0.027010f, -0.044240f, -0.062779f, -0.059964f, -0.053628f, + -0.040944f, -0.006147f, 0.022612f, 0.037032f, 0.052589f, 0.060140f, 0.043320f, 0.033274f, 0.018603f, 0.005209f, 0.004834f, 0.017076f, 0.015908f, 0.014278f, 0.008056f, -0.011115f, -0.024635f, -0.038002f, -0.051613f, -0.052053f, -0.040976f, -0.022309f, -0.003272f, 0.017070f, 0.030412f, 0.036239f, 0.029766f, 0.019500f, 0.008779f, 0.003104f, 0.001243f, 0.000941f, -0.001242f, -0.003061f, -0.005562f, -0.006313f, -0.006105f, -0.004252f, -0.002774f, -0.000625f, 0.000069f, 0.000953f, 0.000055f}, + {0.016638f, -0.002184f, 0.001321f, 0.013096f, -0.001693f, -0.000605f, -0.003820f, 0.014286f, 0.000830f, 0.006948f, 0.004214f, 0.004207f, -0.005900f, 0.002966f, -0.009134f, -0.000990f, 0.007070f, 0.001438f, 0.004137f, 0.006667f, -0.011278f, -0.007869f, 0.002675f, -0.000558f, 0.008357f, 0.005095f, -0.000442f, -0.004641f, -0.002928f, -0.005742f, -0.000922f, -0.000765f, -0.000869f, 0.001592f, 0.002180f, -0.004997f, 0.008377f, -0.001925f, -0.001315f, 0.002866f, -0.010693f, -0.002465f, 0.004619f, 0.001636f, 0.010540f, -0.000040f, -0.000777f, 0.002060f, 0.000714f, 0.004391f, 0.007297f, 0.009285f, -0.000541f, -0.000958f, 0.000163f, -0.005341f, -0.006783f, 0.003743f, 0.006051f, -0.004250f, -0.004080f, -0.002755f, 0.007719f, 0.004548f, -0.001066f, 0.001204f, -0.009108f, -0.002623f, 0.004731f, 0.003925f, 0.006731f, -0.009789f, 0.002221f, 0.003703f, -0.002042f, 0.006905f, -0.000446f, 0.006019f, 0.002863f, 0.001936f, 0.007634f, 0.003790f, 0.001926f, 0.000062f, 0.000900f, -0.001821f, 0.000641f, 0.001061f, -0.000602f, -0.002713f, 0.001341f, 0.001320f, -0.002008f, -0.000281f, -0.001355f, 0.001418f, + 0.002196f, 0.000089f, -0.000280f, -0.000124f, -0.002036f, 0.000999f, -0.000719f, 0.001691f, 0.000799f, 0.000520f, 0.000363f, -0.000910f, 0.000552f, 0.000250f, 0.000869f, -0.001618f, -0.000770f, -0.000358f, 0.000222f, -0.002204f, 0.021696f, 0.005972f, -0.004969f, 0.011058f, -0.005376f, 0.011509f, -0.003828f, -0.005251f, 0.005855f, 0.010761f, -0.000331f, -0.005326f, 0.002874f, 0.002257f, -0.000442f, -0.015329f, 0.003591f, 0.004486f, 0.001230f, 0.009569f, 0.012887f, 0.006913f, 0.012690f, 0.008624f, 0.007732f, -0.002067f, 0.008587f, 0.004133f, -0.006511f, 0.002435f, 0.003967f, -0.008389f, -0.010648f, -0.001640f, 0.004197f, 0.000163f, -0.003843f, -0.005154f, -0.005015f, -0.002492f, 0.005745f, 0.011511f, 0.009754f, 0.003679f, 0.007492f, -0.012096f, 0.000763f, -0.003089f, 0.000118f, -0.013883f, 0.005147f, -0.001338f, -0.003273f, -0.000544f, -0.003768f, -0.006865f, -0.004822f, 0.004864f, 0.001165f, 0.003730f, -0.005060f, 0.009465f, 0.002434f, -0.010969f, 0.004530f, 0.001388f, 0.003048f, 0.006004f, 0.001823f, 0.011022f, -0.003517f, 0.001205f, -0.012876f, 0.002445f, 0.001241f, 0.000365f, + 0.000305f, -0.002428f, 0.009159f, -0.002805f, -0.004258f, 0.006945f, -0.007199f, -0.003517f, -0.002974f, -0.001343f, -0.003358f, 0.002318f, 0.000613f, 0.001208f, -0.000095f, -0.000322f, 0.000118f, -0.001319f, 0.000788f, 0.001201f, -0.000467f, -0.000568f, -0.000064f, -0.002387f, -0.003889f, 0.001428f, 0.000473f, -0.003073f, -0.000410f, -0.000345f, -0.000672f, -0.003722f, 0.000949f, -0.000024f, -0.000123f, 0.000248f, 0.000644f, 0.000396f, -0.001413f, -0.000061f, -0.002566f, -0.000299f, 0.001066f, -0.004381f, -0.004431f, -0.001420f, 0.004015f, -0.007418f, 0.002152f, -0.014661f, 0.002733f, 0.002782f, -0.001729f, 0.010496f, 0.000644f, -0.001155f, 0.000921f, 0.005565f, -0.009017f, 0.001297f, 0.002732f, 0.005757f, -0.012819f, -0.006468f, -0.004852f, 0.004706f, 0.001895f, -0.004003f, -0.012955f, 0.003149f, -0.012887f, -0.000774f, 0.005080f, -0.002368f, 0.003863f, -0.002208f, 0.008641f, 0.012867f, 0.006765f, -0.006637f, 0.001221f, 0.009755f, 0.005990f, -0.006008f, 0.005032f, 0.001523f, -0.010052f, 0.003540f, 0.013752f, 0.006477f, 0.004593f, 0.015384f, 0.001351f, -0.005817f, -0.011789f, -0.000498f, + -0.006630f, -0.007903f, -0.003780f, 0.008466f, -0.008051f, 0.002815f, -0.004817f, -0.004464f, 0.009820f, -0.001275f, 0.001604f, 0.007867f, 0.010669f, -0.004735f, -0.009851f, 0.012513f, 0.009561f, 0.006136f, 0.000552f, -0.007496f, 0.001170f, 0.009891f, -0.010045f, 0.003066f, -0.006556f, -0.000202f, 0.006084f, -0.005722f, -0.000352f, -0.011026f, -0.002943f, -0.000956f, 0.001647f, -0.000573f, -0.004208f, -0.000484f, 0.002081f, -0.003246f, -0.000875f, 0.001527f, 0.001233f, 0.000961f, 0.000879f, -0.000156f, -0.000837f, -0.004342f, 0.002310f, -0.000226f, 0.002381f, -0.001674f, -0.002900f, 0.001028f, 0.002256f, -0.001491f, 0.001989f, -0.000334f, -0.000166f, -0.000171f, -0.000484f, 0.002433f, -0.001445f, 0.000951f, -0.001459f, -0.029060f, -0.010640f, -0.004474f, 0.015899f, -0.006034f, -0.002393f, -0.009394f, -0.007953f, -0.001357f, -0.020964f, 0.011749f, 0.003878f, -0.000595f, -0.007748f, 0.011567f, -0.003261f, 0.005875f, -0.004690f, 0.003711f, 0.007370f, -0.009215f, 0.000968f, 0.010170f, 0.005743f, 0.004096f, 0.010871f, 0.009729f, -0.006110f, -0.007784f, -0.009717f, -0.000161f, -0.012773f, 0.003048f, + -0.016870f, -0.003228f, 0.012414f, 0.006532f, -0.004284f, -0.001313f, -0.012694f, 0.005763f, -0.005432f, 0.011184f, -0.006450f, -0.011479f, -0.002366f, -0.004731f, -0.009440f, 0.003654f, -0.002170f, -0.006004f, -0.006127f, -0.020334f, 0.002770f, -0.006099f, -0.015078f, -0.004010f, 0.009283f, 0.004766f, -0.007804f, 0.006438f, 0.008269f, 0.007996f, 0.002960f, -0.010396f, -0.001744f, -0.002309f, 0.007190f, -0.007307f, -0.002820f, 0.003792f, 0.003841f, -0.011379f, -0.013566f, -0.024339f, -0.004177f, -0.014136f, 0.004640f, -0.000547f, -0.003390f, 0.007157f, -0.001526f, -0.003258f, 0.003107f, 0.004881f, 0.004675f, 0.003648f, 0.008457f, -0.003617f, -0.002997f, -0.002289f, 0.001229f, 0.000426f, -0.001943f, 0.002335f, 0.003346f, -0.000748f, 0.000773f, -0.001485f, -0.001943f, -0.000360f, -0.001269f, 0.000350f, 0.000720f, 0.000099f, -0.002154f, 0.000330f, -0.001459f, -0.000553f, 0.001196f, 0.002730f, -0.001234f, 0.003270f, 0.003966f, 0.000627f, -0.001175f, -0.003463f, -0.000720f, 0.002328f, 0.001529f, -0.001507f, -0.025293f, -0.010116f, -0.004532f, -0.007489f, 0.008606f, 0.011254f, 0.010607f, -0.021114f, + -0.015768f, 0.006079f, 0.025731f, 0.015218f, -0.000010f, 0.003669f, 0.007332f, -0.009241f, 0.006106f, -0.008566f, 0.006194f, 0.009149f, 0.001414f, 0.007343f, 0.002292f, -0.000504f, 0.003810f, 0.002268f, -0.006894f, -0.008725f, 0.012076f, 0.004906f, -0.008810f, 0.008657f, -0.004803f, -0.000879f, 0.020758f, -0.009892f, 0.011755f, 0.023216f, 0.009475f, -0.001309f, 0.000901f, -0.008352f, 0.010856f, -0.011064f, -0.006051f, -0.018608f, 0.003518f, 0.014383f, -0.000352f, -0.013166f, -0.004690f, -0.018673f, -0.009483f, -0.003450f, -0.026578f, -0.014447f, -0.002618f, 0.002840f, -0.011631f, 0.005921f, -0.003074f, -0.009167f, 0.009964f, 0.029415f, 0.002745f, 0.015007f, 0.010176f, 0.008835f, -0.009292f, 0.003939f, -0.015841f, 0.001720f, 0.004572f, 0.003582f, -0.006145f, 0.000172f, -0.016083f, -0.005578f, -0.005634f, -0.001114f, 0.007838f, 0.008416f, -0.000361f, 0.003297f, 0.004576f, -0.002270f, -0.001743f, -0.001448f, 0.001523f, 0.000223f, 0.001144f, 0.000917f, 0.002589f, -0.001325f, -0.000069f, -0.003822f, -0.000458f, -0.000560f, 0.002778f, 0.001619f, -0.001675f, -0.002290f, -0.002229f, -0.002147f, + -0.000716f, -0.002646f, 0.000987f, 0.005003f, -0.003900f, -0.000463f, 0.001721f, 0.002867f, 0.039506f, 0.024965f, -0.013583f, 0.005068f, 0.012717f, -0.005248f, 0.007281f, -0.002472f, 0.011864f, 0.005942f, 0.003800f, 0.010759f, 0.006089f, 0.005323f, -0.003351f, -0.026436f, 0.012661f, -0.004503f, -0.006012f, 0.020681f, 0.012806f, 0.007146f, 0.009544f, 0.007082f, 0.005268f, -0.004047f, 0.003070f, 0.000840f, -0.006761f, 0.005467f, 0.008953f, -0.014913f, 0.002863f, -0.009652f, 0.007142f, 0.008255f, -0.023304f, -0.000384f, -0.027734f, 0.000476f, 0.003475f, 0.002353f, 0.007582f, 0.018925f, -0.002305f, -0.009811f, -0.004798f, -0.005268f, -0.007285f, 0.005446f, 0.005878f, 0.001830f, -0.003068f, -0.003405f, 0.018405f, -0.006105f, -0.003669f, -0.010045f, 0.016350f, -0.002485f, 0.013742f, -0.006467f, 0.014686f, -0.014137f, -0.029705f, -0.008838f, 0.001872f, 0.006010f, 0.010056f, -0.010010f, -0.007443f, 0.004068f, 0.002692f, -0.004643f, -0.007740f, 0.018572f, -0.007260f, 0.017667f, 0.004681f, 0.012482f, 0.004929f, 0.009092f, 0.007681f, -0.003204f, -0.001192f, 0.003567f, -0.000516f, 0.009632f, + 0.000258f, -0.003203f, 0.000889f, -0.010816f, -0.002133f, -0.002512f, 0.000759f, -0.003624f, -0.001376f, -0.001229f, -0.000249f, -0.001259f, -0.005660f, -0.004613f, 0.001386f, 0.000378f, -0.006355f, -0.000398f, 0.000946f, 0.000921f, 0.002604f, 0.001087f, 0.006267f, 0.000262f, -0.002105f, -0.000272f, -0.000843f, -0.002920f, -0.003415f, -0.001374f, 0.000948f, 0.018499f, -0.007073f, -0.012273f, -0.000575f, 0.001966f, -0.017569f, -0.013717f, -0.004386f, 0.004792f, -0.002628f, 0.022816f, 0.013672f, 0.000619f, 0.021760f, 0.007868f, 0.006361f, -0.018643f, 0.017496f, -0.003259f, -0.004404f, -0.015721f, -0.007120f, 0.013988f, 0.013787f, -0.003917f, 0.009141f, -0.018909f, -0.002670f, 0.012729f, 0.009564f, -0.007059f, -0.013446f, -0.007531f, -0.008312f, -0.010352f, -0.008635f, 0.002086f, -0.014131f, -0.001348f, 0.019518f, -0.009384f, 0.002252f, -0.000723f, -0.004495f, 0.007628f, -0.003114f, 0.012773f, 0.000016f, 0.018009f, -0.004619f, -0.011321f, 0.006510f, -0.008941f, -0.008874f, -0.008941f, -0.025542f, 0.002983f, 0.010580f, 0.015229f, 0.010970f, 0.020008f, -0.002044f, -0.007668f, 0.011560f, -0.014184f, + 0.003311f, 0.002216f, -0.002125f, 0.012974f, 0.012095f, -0.003090f, -0.015420f, 0.003108f, -0.007959f, -0.014672f, -0.013605f, 0.007533f, 0.013209f, 0.008295f, -0.028527f, 0.006462f, 0.003058f, -0.001392f, 0.013484f, 0.007300f, 0.011039f, 0.004201f, -0.001048f, 0.014492f, 0.001967f, 0.006605f, 0.005278f, 0.001180f, -0.006465f, 0.001098f, -0.003592f, -0.007910f, 0.001544f, 0.002458f, 0.003806f, -0.000907f, 0.001060f, 0.000938f, 0.000737f, 0.002879f, 0.001880f, 0.002004f, -0.000262f, -0.004969f, 0.003593f, -0.001976f, -0.002214f, -0.001833f, -0.003532f, 0.006614f, 0.007457f, 0.006353f, 0.002585f, 0.000757f, 0.001128f, -0.001445f, 0.005114f, -0.022804f, -0.012844f, 0.002054f, -0.012525f, -0.033601f, 0.025539f, -0.000874f, -0.001337f, 0.002873f, 0.002313f, -0.022334f, 0.015715f, -0.023271f, 0.002367f, 0.010177f, -0.002698f, 0.003505f, 0.004024f, -0.025013f, -0.007992f, -0.011320f, -0.001963f, 0.004752f, -0.007792f, -0.005464f, -0.000679f, -0.001764f, 0.002587f, 0.010023f, 0.005858f, 0.021912f, -0.007740f, 0.030193f, -0.001812f, 0.000523f, -0.019620f, -0.003264f, 0.015148f, -0.003247f, + -0.030352f, 0.012085f, 0.014585f, -0.009429f, 0.007869f, -0.011760f, 0.021581f, 0.011464f, -0.000282f, -0.001550f, -0.013322f, -0.009001f, -0.014609f, 0.013687f, 0.014119f, 0.005773f, 0.001894f, 0.006005f, -0.011717f, -0.031949f, -0.011257f, 0.010808f, 0.005182f, -0.023767f, 0.000913f, 0.002494f, 0.003534f, -0.011542f, 0.008396f, 0.016406f, 0.008931f, 0.000076f, 0.007071f, 0.011209f, -0.006163f, 0.016824f, 0.000583f, -0.000712f, -0.016620f, -0.021881f, 0.014207f, -0.006844f, 0.007201f, 0.006778f, -0.000873f, -0.004879f, -0.004438f, -0.003859f, 0.002501f, -0.005560f, 0.007306f, 0.001392f, -0.001660f, 0.001559f, -0.002216f, 0.000059f, -0.008565f, 0.001998f, 0.000959f, -0.001753f, -0.004660f, 0.001445f, -0.004097f, -0.000444f, 0.001658f, -0.001102f, -0.002604f, -0.000249f, -0.002616f, 0.010495f, 0.008369f, 0.002849f, -0.001013f, -0.001098f, -0.002861f, -0.000117f, -0.000996f, 0.006654f, -0.002080f, -0.001085f, 0.006732f, 0.001360f, 0.002933f, 0.004609f, -0.003142f, -0.001969f, 0.005076f, 0.002780f, -0.001173f, -0.000916f, 0.007179f, -0.035172f, 0.018960f, -0.004886f, 0.007037f, -0.010483f, + -0.005584f, 0.014652f, -0.016982f, 0.016489f, -0.010238f, -0.020005f, 0.009099f, -0.010829f, 0.042510f, 0.006196f, -0.014756f, -0.020726f, -0.003628f, -0.025679f, -0.011678f, -0.027650f, -0.001553f, 0.018295f, -0.012989f, 0.011241f, 0.018647f, -0.017344f, 0.000119f, -0.020225f, 0.011337f, 0.003846f, -0.000684f, 0.011725f, -0.012485f, -0.018156f, -0.015179f, 0.000917f, 0.003448f, 0.015017f, -0.021765f, 0.015397f, 0.003086f, -0.032346f, -0.017680f, -0.026135f, -0.010637f, 0.009744f, -0.008726f, -0.008814f, -0.049451f, -0.001171f, -0.010831f, -0.004673f, -0.031710f, -0.011194f, -0.004166f, 0.002316f, 0.025917f, 0.023448f, 0.019993f, 0.011340f, 0.024982f, -0.027010f, 0.020965f, 0.002761f, 0.009792f, 0.006888f, -0.019159f, 0.029690f, 0.018529f, 0.011616f, -0.013087f, -0.017770f, -0.012650f, 0.017167f, 0.002023f, -0.000082f, 0.009413f, 0.004369f, 0.009896f, -0.008851f, 0.026252f, 0.013613f, -0.002782f, -0.004445f, 0.005913f, 0.005126f, 0.003232f, -0.001739f, -0.001569f, 0.002266f, -0.000382f, -0.000634f, -0.010835f, 0.000466f, -0.006247f, 0.000217f, 0.003490f, 0.001025f, -0.000625f, -0.000126f, + 0.002187f, 0.001712f, -0.010305f, -0.002926f, 0.003696f, -0.003182f, -0.004005f, -0.000436f, 0.001423f, 0.001513f, 0.002042f, -0.001696f, -0.002107f, 0.001600f, -0.004476f, -0.007867f, -0.001904f, -0.002101f, -0.002470f, 0.001221f, -0.000563f, 0.006647f, 0.003246f, -0.002958f, 0.003052f, 0.002063f, 0.001772f, -0.003053f, -0.005347f, -0.000307f, 0.000856f, 0.005642f, -0.001975f, -0.001539f, 0.013285f, 0.024624f, 0.026700f, 0.010916f, 0.018688f, 0.015126f, 0.009055f, -0.004878f, 0.002025f, -0.007275f, 0.000652f, -0.002501f, -0.016094f, 0.020554f, 0.032617f, 0.013006f, -0.008873f, 0.014628f, 0.013927f, -0.000542f, 0.008671f, -0.015340f, -0.029574f, -0.019680f, -0.013430f, 0.008607f, -0.003528f, -0.015444f, 0.011636f, -0.005282f, -0.013783f, -0.000132f, 0.024077f, 0.012143f, 0.017862f, 0.006277f, 0.013174f, 0.014595f, -0.003245f, 0.013374f, -0.005090f, -0.015172f, 0.006522f, -0.017576f, 0.006683f, 0.007082f, -0.025834f, -0.016786f, 0.010746f, 0.026947f, -0.013818f, 0.018804f, 0.026261f, -0.021535f, 0.001017f, 0.023918f, 0.002706f, -0.008629f, -0.001875f, -0.012142f, -0.021233f, 0.000347f, + -0.006346f, -0.011122f, 0.014829f, 0.000829f, -0.024313f, 0.031441f, -0.012806f, 0.025521f, -0.029929f, -0.020467f, 0.014845f, -0.018394f, 0.010370f, -0.012334f, -0.008923f, -0.017266f, -0.010488f, -0.014034f, -0.035345f, 0.005963f, 0.021839f, -0.009900f, -0.001464f, 0.015157f, 0.016191f, 0.011510f, -0.002099f, -0.001185f, -0.009062f, -0.002769f, -0.003905f, -0.004699f, 0.003950f, -0.000860f, -0.003244f, 0.005318f, 0.004832f, -0.002109f, -0.000344f, -0.006248f, 0.002906f, -0.005482f, -0.010059f, -0.000605f, 0.009623f, 0.000190f, -0.005203f, -0.001304f, 0.015820f, 0.007970f, 0.000662f, -0.004600f, -0.005573f, -0.004049f, 0.001081f, 0.001198f, -0.004655f, -0.001671f, 0.000312f, 0.001977f, 0.006386f, 0.001625f, 0.010004f, 0.006060f, 0.007206f, 0.002834f, 0.003304f, 0.003956f, -0.001196f, 0.000265f, -0.021908f, 0.013967f, -0.009236f, -0.024351f, 0.034979f, 0.017553f, -0.023968f, 0.017057f, 0.016034f, 0.004354f, 0.029552f, -0.059975f, 0.004717f, 0.024404f, 0.008850f, 0.002050f, 0.026497f, 0.000869f, 0.014692f, -0.034734f, -0.004258f, 0.009277f, 0.000848f, -0.017451f, 0.007161f, 0.013785f, + 0.007144f, 0.006463f, 0.018848f, 0.015212f, 0.024914f, 0.019133f, -0.007144f, -0.007994f, 0.019376f, -0.011779f, 0.013717f, -0.021585f, -0.011248f, -0.027580f, -0.012098f, 0.015047f, 0.005713f, -0.006443f, 0.023010f, -0.026897f, -0.035772f, -0.058702f, 0.018617f, 0.020146f, 0.016289f, 0.012297f, -0.013401f, 0.009225f, -0.007599f, 0.022044f, 0.059549f, -0.009303f, -0.012046f, -0.025819f, -0.007743f, 0.022050f, -0.014670f, 0.012597f, 0.022225f, 0.003466f, -0.000064f, -0.017270f, -0.004550f, 0.008050f, -0.040546f, -0.037937f, 0.004225f, 0.005027f, -0.014120f, 0.020678f, 0.016292f, 0.029806f, 0.048832f, 0.019189f, -0.010831f, -0.005993f, 0.010634f, -0.000366f, -0.026292f, 0.012598f, 0.011619f, 0.009441f, 0.003576f, 0.012344f, -0.000102f, 0.006792f, 0.006136f, 0.003745f, -0.005676f, 0.000403f, -0.000233f, -0.000932f, 0.010294f, 0.002843f, 0.000224f, 0.005080f, -0.010234f, 0.002941f, 0.002273f, -0.001432f, 0.010817f, 0.001982f, -0.002695f, -0.001866f, -0.006104f, 0.018460f, 0.001590f, 0.003098f, 0.008139f, -0.002817f, -0.002419f, 0.010361f, -0.010969f, 0.010306f, -0.007930f, 0.008531f, + -0.000237f, -0.000808f, -0.001658f, 0.003434f, -0.001393f, 0.008824f, -0.006971f, -0.003076f, 0.003071f, -0.001700f, -0.002173f, -0.005654f, -0.008282f, 0.006196f, 0.088629f, 0.050151f, 0.031929f, -0.008159f, -0.009051f, -0.001079f, -0.007570f, -0.009097f, -0.013768f, -0.016545f, -0.028460f, 0.001283f, -0.002026f, 0.006973f, 0.012389f, 0.023657f, 0.035731f, -0.004751f, -0.046518f, -0.018154f, 0.039899f, -0.006195f, 0.014944f, -0.005143f, -0.000685f, 0.026617f, 0.009195f, 0.020218f, 0.011865f, -0.000807f, -0.001213f, -0.000349f, 0.013413f, 0.017179f, -0.006670f, -0.026170f, 0.034291f, 0.024608f, 0.017453f, 0.006452f, 0.008886f, -0.013904f, -0.025971f, 0.035783f, 0.019945f, 0.009229f, -0.016602f, -0.018435f, -0.025912f, -0.015929f, -0.004615f, -0.016182f, 0.008968f, -0.033115f, 0.004576f, 0.024472f, -0.015915f, 0.008643f, 0.001474f, 0.003600f, -0.037827f, 0.013417f, -0.016246f, 0.027607f, -0.060746f, 0.010436f, -0.015879f, -0.020501f, 0.005026f, -0.012367f, 0.012492f, 0.011853f, -0.039575f, 0.000438f, 0.027665f, 0.004145f, 0.008113f, 0.017409f, 0.007103f, 0.028870f, 0.011777f, 0.006111f, + 0.001936f, -0.004182f, 0.018594f, -0.036725f, -0.000696f, -0.002142f, -0.003368f, 0.001448f, -0.001052f, -0.000279f, -0.003192f, -0.005404f, -0.007059f, 0.011429f, 0.009575f, -0.005025f, -0.000814f, -0.017589f, 0.001733f, -0.001100f, -0.017352f, -0.000083f, -0.025740f, -0.019567f, 0.008685f, 0.003275f, 0.013563f, -0.015303f, 0.006588f, 0.013324f, 0.002954f, -0.000577f, 0.003471f, 0.007141f, 0.000618f, -0.003841f, 0.014131f, 0.000098f, 0.004610f, -0.008290f, -0.006202f, 0.005868f, 0.008483f, 0.001493f, -0.054479f, -0.027979f, 0.004020f, -0.047864f, 0.010973f, 0.034754f, -0.016729f, 0.042246f, 0.049541f, 0.006313f, 0.024748f, 0.030568f, 0.013697f, -0.029310f, 0.019126f, 0.023328f, -0.001154f, 0.005904f, 0.016445f, 0.014558f, 0.034963f, 0.005977f, -0.013486f, 0.022337f, 0.008000f, -0.003462f, 0.000503f, 0.014978f, -0.020445f, -0.009234f, -0.008655f, 0.012498f, 0.006470f, -0.028819f, 0.008509f, 0.024092f, 0.000638f, 0.029034f, -0.027458f, -0.051850f, 0.004140f, 0.023279f, 0.035180f, 0.032646f, 0.016840f, 0.015496f, 0.012402f, -0.035229f, -0.010318f, -0.001467f, 0.026434f, 0.041808f, + -0.014452f, 0.009011f, -0.015389f, 0.009894f, 0.006644f, 0.025453f, 0.039402f, -0.015185f, -0.017273f, -0.003426f, 0.021587f, 0.027740f, 0.038834f, 0.000961f, -0.041980f, -0.039584f, -0.006467f, 0.005129f, 0.000121f, -0.018144f, 0.000406f, -0.047729f, -0.030816f, -0.028202f, -0.032115f, 0.013694f, 0.004923f, 0.038467f, 0.030731f, 0.011597f, -0.018393f, -0.018348f, -0.017098f, -0.015515f, -0.026680f, 0.012592f, 0.008351f, 0.004945f, 0.017933f, 0.019955f, 0.000108f, 0.017026f, 0.003491f, 0.018181f, -0.006328f, 0.015081f, -0.004824f, -0.001358f, 0.004469f, -0.005532f, 0.025208f, 0.011366f, 0.014964f, 0.006777f, 0.017947f, 0.004028f, 0.008602f, 0.025759f, 0.022322f, 0.011967f, -0.001445f, -0.009868f, -0.008475f, -0.018208f, -0.010238f, -0.011950f, -0.007148f, -0.011020f, -0.013378f, -0.007724f, 0.007774f, 0.017171f, 0.004754f, -0.004015f, 0.000620f, -0.002534f, 0.010713f, 0.012687f, 0.010511f, -0.001108f, 0.004724f, -0.019399f, 0.023020f, -0.050923f, 0.004587f, -0.010172f, 0.027890f, -0.014945f, -0.002346f, 0.008641f, 0.021123f, -0.028424f, -0.047879f, -0.008307f, -0.018774f, 0.001349f, + -0.021617f, 0.012726f, 0.012539f, 0.001263f, -0.025839f, 0.016132f, 0.001596f, 0.043146f, -0.006907f, 0.023634f, -0.019952f, 0.044562f, 0.012831f, 0.027815f, 0.018658f, 0.030346f, 0.044594f, -0.010861f, 0.017298f, -0.031197f, 0.032901f, 0.032007f, -0.000749f, 0.010413f, 0.032221f, -0.020613f, -0.019933f, -0.003271f, 0.064877f, 0.010569f, -0.018146f, 0.032240f, 0.004214f, 0.024733f, 0.035523f, 0.010384f, -0.002405f, 0.003372f, 0.005543f, 0.023471f, -0.008203f, 0.025170f, -0.017354f, 0.024573f, -0.013584f, 0.055421f, -0.008048f, 0.047664f, -0.043199f, -0.047403f, 0.066017f, -0.055234f, -0.029579f, 0.002265f, -0.017803f, -0.034271f, 0.030162f, -0.003986f, -0.042533f, -0.020089f, -0.021846f, -0.062529f, -0.023205f, 0.007759f, 0.014063f, -0.048232f, -0.012330f, 0.029331f, -0.005850f, 0.016867f, 0.028894f, -0.020597f, -0.004711f, 0.004754f, 0.018864f, 0.013592f, 0.014234f, -0.004631f, -0.002725f, 0.011725f, -0.001013f, -0.007717f, 0.006418f, 0.013516f, 0.002560f, 0.009413f, -0.000272f, -0.008622f, -0.000018f, 0.012476f, 0.004695f, -0.006269f, -0.015612f, -0.009374f, 0.018317f, -0.008345f, + -0.024600f, 0.005933f, -0.014114f, -0.026718f, 0.000031f, 0.010176f, 0.000961f, -0.006854f, -0.001971f, 0.007461f, -0.005599f, 0.000460f, 0.009654f, -0.000416f, -0.004464f, -0.005649f, 0.017390f, 0.033463f, 0.001843f, -0.011605f, -0.009717f, -0.005288f, -0.015711f, -0.003225f, -0.006570f, 0.006587f, -0.042738f, -0.028511f, 0.008316f, -0.055884f, -0.032601f, -0.038832f, -0.039511f, 0.048153f, -0.001189f, 0.001660f, 0.014340f, -0.014039f, -0.061446f, -0.045966f, -0.045023f, -0.091806f, 0.006633f, 0.010425f, 0.039671f, 0.023189f, 0.013747f, 0.019797f, 0.013730f, 0.004294f, -0.028979f, -0.042580f, -0.024526f, 0.033094f, -0.004188f, -0.024907f, -0.010058f, 0.032416f, -0.039204f, -0.025297f, -0.040270f, -0.020021f, -0.003444f, -0.038631f, 0.014368f, -0.032079f, 0.034705f, 0.024342f, -0.005393f, 0.024013f, -0.023621f, -0.048555f, 0.021210f, 0.028317f, -0.025069f, -0.055719f, 0.041972f, -0.003623f, 0.030398f, 0.025533f, -0.079699f, -0.056622f, 0.000529f, -0.012931f, 0.051881f, -0.029767f, -0.034414f, -0.009247f, 0.019130f, 0.002923f, -0.004808f, -0.018081f, 0.068889f, -0.033814f, -0.056125f, -0.075886f, + 0.054396f, -0.013010f, -0.062493f, 0.029097f, 0.029620f, 0.017561f, 0.062783f, 0.067174f, 0.068967f, 0.029508f, -0.015680f, -0.006357f, -0.010725f, 0.022887f, -0.044185f, 0.028367f, 0.005389f, 0.005528f, 0.021499f, 0.020796f, -0.018257f, 0.026638f, -0.020961f, 0.008875f, -0.029751f, -0.016971f, -0.011584f, -0.015442f, -0.006182f, -0.016633f, -0.004175f, 0.011364f, 0.031128f, 0.036225f, 0.001462f, 0.028405f, -0.017080f, 0.004068f, 0.016757f, 0.002198f, -0.031640f, 0.003806f, 0.007674f, -0.008825f, -0.023526f, -0.015102f, -0.014500f, 0.037554f, 0.023375f, 0.012091f, 0.017664f, 0.031661f, -0.005076f, -0.037953f, -0.023847f, -0.021872f, -0.027240f, -0.035286f, 0.006130f, -0.029622f, -0.051674f, -0.001116f, -0.009177f, -0.012285f, -0.009830f, 0.007811f, -0.050388f, -0.020071f, 0.023485f, 0.038207f, 0.077805f, 0.012756f, 0.040700f, 0.019725f, 0.019651f, -0.017749f, -0.005687f, -0.015132f, -0.042678f, -0.050146f, -0.070405f, -0.025630f, -0.063426f, -0.024936f, -0.033201f, -0.012402f, 0.034088f, 0.008380f, 0.023199f, 0.040087f, 0.000063f, 0.027083f, 0.007885f, 0.001382f, -0.000913f, -0.005291f, + -0.053503f, 0.019482f, -0.006671f, -0.060463f, -0.037426f, 0.017664f, -0.038787f, -0.014886f, 0.014141f, 0.043898f, 0.053279f, 0.018535f, -0.011057f, 0.007336f, 0.035675f, 0.019087f, 0.007538f, -0.001049f, -0.105449f, -0.021267f, 0.023357f, 0.026776f, 0.010706f, -0.004029f, -0.035539f, 0.024670f, -0.031701f, -0.023907f, -0.006219f, 0.006484f, -0.017617f, -0.056324f, 0.030137f, -0.007205f, 0.070107f, 0.026664f, 0.023975f, 0.026942f, 0.051545f, 0.115574f, 0.001793f, 0.001981f, -0.004828f, -0.034406f, 0.020564f, -0.023868f, 0.084060f, -0.007468f, -0.030119f, -0.027109f, 0.035540f, -0.045575f, -0.030758f, -0.005991f, 0.071907f, 0.002417f, 0.034322f, 0.053116f, 0.010751f, 0.043004f, 0.032618f, -0.005930f, 0.029910f, 0.032413f, 0.001102f, -0.022122f, -0.023831f, 0.006694f, 0.008232f, 0.027198f, 0.017482f, -0.001150f, -0.004046f, 0.004848f, 0.011080f, -0.020139f, -0.004190f, -0.004923f, -0.002627f, -0.031597f, 0.019944f, -0.022925f, 0.008051f, -0.004628f, -0.013702f, 0.003852f, 0.038536f, 0.033711f, 0.000094f, -0.002235f, -0.024476f, -0.009980f, -0.024327f, -0.003601f, -0.028315f, -0.040371f, + 0.011883f, 0.028042f, 0.001958f, 0.001638f, -0.013931f, -0.021142f, 0.059025f, -0.008000f, 0.010723f, -0.064594f, -0.021852f, 0.075650f, -0.050415f, -0.013783f, -0.043655f, -0.129011f, -0.018307f, 0.039531f, 0.032671f, 0.006227f, 0.009407f, -0.007016f, 0.072310f, -0.077937f, -0.000040f, -0.022472f, -0.052041f, -0.044143f, -0.006531f, 0.014745f, 0.013013f, 0.017379f, 0.046702f, 0.030227f, -0.033012f, -0.033669f, 0.092862f, 0.075793f, -0.006064f, 0.008832f, -0.010148f, 0.024675f, -0.000331f, 0.054084f, 0.019743f, 0.028730f, 0.008138f, 0.004148f, -0.095947f, 0.039748f, -0.004092f, -0.055337f, -0.028116f, 0.005438f, -0.014860f, -0.055071f, 0.053025f, -0.009391f, -0.039135f, -0.008235f, 0.005830f, 0.046920f, 0.052642f, 0.039952f, 0.015488f, 0.046796f, 0.050101f, -0.037623f, -0.041020f, -0.026302f, -0.006648f, 0.048494f, 0.064957f, 0.011094f, 0.023466f, 0.062186f, 0.037462f, -0.058354f, 0.043196f, 0.015666f, -0.012753f, 0.002287f, 0.119764f, -0.079248f, 0.061084f, 0.069824f, -0.070194f, -0.004123f, -0.045587f, -0.014750f, -0.100880f, 0.029054f, 0.044771f, -0.060808f, 0.036796f, -0.052615f, + -0.037904f, 0.046007f, -0.028548f, -0.004243f, -0.017123f, 0.002235f, -0.025176f, 0.007789f, 0.011763f, -0.019158f, -0.026983f, -0.002120f, -0.029316f, 0.038550f, 0.007028f, -0.036198f, 0.008018f, -0.006080f, -0.019570f, -0.019001f, 0.012548f, 0.024582f, 0.030942f, 0.012654f, -0.027655f, 0.071006f, -0.013033f, 0.007077f, -0.004503f, -0.037572f, 0.014453f, 0.020507f, -0.018962f, 0.030296f, 0.007833f, 0.022637f, -0.005177f, -0.036340f, 0.012375f, 0.054772f, -0.035407f, -0.050764f, -0.082944f, 0.016605f, -0.016121f, -0.026129f, -0.033730f, 0.018518f, -0.020594f, -0.009379f, 0.054061f, -0.016816f, -0.003365f, -0.042508f, 0.003165f, 0.027348f, -0.060070f, -0.037605f, -0.036073f, -0.017483f, 0.021404f, -0.080479f, -0.045155f, -0.116197f, 0.019892f, -0.001101f, -0.029882f, -0.012893f, -0.017519f, 0.024912f, 0.036987f, -0.041250f, 0.001199f, -0.014373f, -0.014344f, -0.072605f, 0.015616f, 0.055799f, 0.014382f, 0.042214f, 0.052588f, 0.047468f, -0.064073f, -0.019471f, -0.019619f, -0.029825f, 0.053203f, -0.054768f, -0.031967f, 0.001915f, 0.077424f, 0.017571f, -0.027719f, 0.078398f, -0.044495f, -0.041438f, + 0.093129f, 0.089551f, 0.008231f, 0.022794f, -0.025874f, -0.084895f, -0.026531f, 0.085471f, -0.041862f, 0.077461f, -0.028373f, -0.122012f, -0.032581f, -0.057075f, 0.064633f, 0.000565f, 0.014163f, 0.058275f, -0.009723f, 0.048043f, -0.063151f, -0.073971f, 0.056470f, -0.014855f, -0.125013f, 0.076933f, -0.040084f, 0.020975f, 0.024849f, -0.043602f, 0.082258f, -0.056471f, 0.029579f, -0.000888f, 0.021607f, 0.083710f, -0.021676f, -0.026476f, 0.002867f, -0.017455f, -0.023115f, -0.018942f, 0.009168f, 0.018805f, 0.004316f, -0.012033f, 0.010270f, -0.039903f, 0.035640f, 0.025112f, 0.019955f, 0.007963f, -0.000004f, -0.018680f, -0.020521f, -0.019434f, 0.016689f, 0.032674f, -0.032258f, 0.028330f, 0.065868f, 0.022157f, -0.056803f, 0.005446f, 0.020463f, -0.021057f, -0.037592f, 0.035151f, -0.031877f, -0.000751f, -0.003002f, -0.033860f, -0.043793f, -0.000479f, 0.024562f, -0.014480f, 0.056638f, -0.019104f, -0.037849f, 0.026258f, -0.016927f, 0.001938f, 0.021969f, 0.043360f, 0.002880f, -0.077258f, 0.045401f, 0.053006f, -0.064431f, 0.035293f, -0.000714f, -0.022952f, -0.027788f, -0.092230f, -0.041164f, 0.032684f, + 0.005466f, 0.085025f, -0.068521f, -0.038355f, 0.015554f, -0.009212f, 0.053998f, -0.075458f, -0.000315f, 0.007900f, -0.064300f, 0.064029f, 0.034629f, 0.019622f, -0.030377f, 0.043870f, -0.052211f, 0.028731f, 0.021841f, 0.013559f, -0.004106f, -0.028848f, 0.011576f, 0.058193f, -0.030996f, -0.011064f, 0.010930f, -0.045455f, 0.045981f, 0.001867f, 0.011715f, -0.062321f, 0.033186f, 0.008294f, 0.010969f, -0.146318f, 0.019600f, -0.041573f, 0.067918f, 0.056669f, 0.059627f, 0.030758f, -0.119534f, -0.020871f, 0.025002f, 0.002564f, 0.007385f, 0.083854f, -0.013028f, -0.050460f, -0.061076f, 0.002453f, -0.067879f, -0.059089f, -0.052897f, 0.025201f, -0.098789f, 0.069800f, 0.132978f, -0.035034f, -0.016587f, -0.104266f, -0.023302f, 0.039918f, 0.024076f, -0.034700f, -0.007696f, -0.126162f, -0.044879f, 0.126618f, 0.053362f, -0.039337f, 0.036504f, -0.071584f, -0.053418f, 0.013926f, 0.002274f, 0.008519f, -0.049022f, -0.016872f, -0.010696f, -0.000093f, -0.070823f, 0.015078f, -0.009549f, -0.022096f, 0.008840f, 0.028984f, -0.038904f, -0.019295f, -0.006528f, 0.013769f, -0.030004f, -0.007957f, -0.005583f, -0.027970f, + -0.000086f, -0.051731f, 0.066952f, 0.021671f, -0.018172f, -0.006925f, -0.020327f, -0.002905f, 0.042795f, 0.012839f, -0.008478f, 0.022491f, -0.014519f, -0.064413f, 0.002482f, 0.002803f, 0.013098f, 0.028367f, -0.017311f, -0.012259f, 0.027559f, 0.033694f, 0.013990f, -0.031151f, -0.069226f, -0.096551f, 0.027009f, -0.042929f, -0.027438f, 0.027959f, -0.022331f, -0.034630f, 0.027642f, -0.045200f, -0.001651f, -0.051374f, 0.073750f, 0.000240f, -0.052077f, -0.016725f, 0.002280f, -0.006373f, 0.017961f, -0.036523f, -0.023536f, 0.006948f, 0.015694f, 0.007512f, 0.008172f, 0.026572f, -0.030927f, -0.013280f, -0.072488f, 0.026283f, 0.007894f, -0.023455f, 0.054111f, 0.028057f, -0.020790f, 0.080311f, 0.018983f, -0.052075f, 0.039524f, 0.005706f, 0.026036f, 0.052717f, -0.004097f, -0.014099f, 0.009266f, 0.043302f, 0.025851f, 0.000079f, -0.003678f, 0.046406f, -0.003382f, -0.055846f, -0.008706f, 0.009267f, 0.044194f, -0.020110f, 0.075507f, 0.081705f, -0.051662f, 0.042269f, 0.093542f, -0.025876f, 0.141641f, 0.078740f, -0.034567f, -0.032869f, -0.052390f, -0.060861f, -0.033271f, 0.018016f, -0.009826f, -0.011427f, + -0.001182f, -0.009891f, -0.097808f, -0.038883f, -0.096563f, 0.022058f, 0.087824f, -0.033323f, -0.004626f, -0.048112f, 0.024268f, 0.005207f, 0.017451f, 0.023646f, 0.073786f, -0.004279f, 0.033879f, 0.033330f, -0.054277f, 0.001695f, 0.000530f, 0.011350f, 0.024685f, -0.003747f, -0.012349f, 0.022218f, -0.002731f, -0.013258f, 0.003539f, -0.023357f, -0.004823f, 0.016160f, 0.003783f, -0.010353f, -0.051931f, 0.002129f, -0.023594f, -0.002537f, -0.019789f, 0.043408f, -0.014129f, 0.020906f, 0.027070f, -0.021472f, 0.032535f, 0.019964f, 0.000927f, -0.011833f, -0.019489f, 0.004480f, -0.001696f, -0.011959f, -0.001447f, 0.021405f, -0.016300f, 0.009064f, -0.005537f, 0.015335f, -0.040968f, 0.124385f, 0.032842f, -0.044538f, 0.004966f, -0.058491f, -0.007677f, 0.020514f, -0.024300f, -0.031088f, -0.034674f, -0.013141f, 0.013319f, -0.007657f, -0.011155f, 0.015798f, 0.009095f, 0.021414f, -0.022132f, -0.013889f, 0.015920f, -0.005742f, 0.002821f, -0.032335f, 0.021903f, -0.037853f, 0.018133f, 0.012481f, -0.008187f, -0.001712f, 0.001353f, -0.021985f, 0.003650f, 0.004455f, -0.017550f, 0.031617f, -0.017064f, 0.007630f, + 0.000132f, 0.001067f, 0.015950f, -0.015649f, -0.024320f, -0.007333f, 0.036519f, -0.027179f, 0.017861f, -0.049803f, -0.029649f, 0.009395f, -0.010820f, -0.000842f, -0.003351f, -0.030009f, 0.031710f, 0.025325f, 0.002246f, -0.021991f, -0.001157f, -0.013399f, 0.006466f, -0.016708f, -0.000605f, -0.016042f, 0.011891f, -0.004480f, 0.003038f, 0.040182f, -0.034138f, -0.002978f, 0.005957f, 0.002390f, -0.007479f, 0.000889f, -0.016250f, 0.000854f, -0.013639f, 0.008215f, 0.015786f, -0.024456f, -0.020354f, 0.011606f, 0.001405f, -0.005854f, -0.019409f, 0.008256f, 0.002461f, -0.000898f, -0.004515f, 0.000097f, -0.004564f, 0.013364f, -0.009088f, -0.002567f, 0.006110f, -0.004593f, -0.000875f, 0.010687f, -0.007364f, -0.004824f, -0.002927f, 0.002205f, 0.010961f, -0.003885f, -0.012694f, 0.000663f, -0.008240f, 0.028878f, -0.011882f, 0.003466f, 0.006436f, -0.007461f, 0.022923f, -0.003422f, -0.020236f, 0.007083f, -0.011648f, 0.014146f, 0.006804f, -0.003287f, -0.001435f, -0.005436f, -0.005680f, 0.013962f, -0.009537f, -0.004372f, -0.001748f, -0.012430f, 0.015594f, -0.060172f, -0.087621f, 0.060893f, 0.282840f, 0.123132f, + 0.129914f, -0.001381f, -0.260790f, -0.189684f, -0.097875f, -0.206488f, 0.100491f, 0.122316f, 0.064375f, 0.265779f, 0.120253f, -0.012105f, 0.088811f, -0.172879f, -0.219255f, -0.125968f, -0.153463f, -0.033727f, 0.119487f, 0.121346f, 0.051513f, 0.204225f, 0.102088f, -0.014777f, 0.098943f, -0.091172f, -0.155088f, -0.089720f, -0.116571f, -0.184151f, 0.068046f, -0.002098f, -0.065514f, 0.197255f, 0.119478f, 0.066537f, 0.202834f, 0.048483f, -0.102443f, 0.099254f, -0.146235f, -0.167590f, -0.033860f, -0.176242f, -0.178039f, 0.070129f, -0.029181f, 0.042729f, 0.225228f, 0.153678f, 0.160674f, 0.150919f, 0.018661f, -0.085183f, -0.097734f, -0.164462f, -0.215033f, -0.113286f, -0.061089f, -0.044908f, 0.082482f, 0.127861f, 0.120654f, 0.170152f, 0.154236f, -0.024092f, -0.026995f, -0.028018f, -0.157912f, -0.047747f, -0.077678f, -0.117823f, 0.026467f, 0.047874f, 0.007972f, 0.109204f, 0.049030f, 0.000697f, 0.068730f, -0.053072f, -0.057988f, 0.001310f, -0.037653f, -0.012188f, 0.028743f, -0.006191f, 0.031888f, 0.042183f, -0.023290f, 0.033125f, 0.013692f, -0.051603f, 0.004951f, -0.024753f, -0.097395f, -0.001654f, + -0.024709f, -0.041850f, 0.094136f, 0.027931f, 0.035382f, 0.123296f, 0.049026f, 0.036011f, 0.027223f, -0.061517f, -0.089613f, -0.083305f, -0.139510f, -0.114307f, -0.050823f, 0.004563f, 0.062713f, 0.143266f, 0.151895f, 0.139317f, 0.123557f, 0.076145f, -0.030526f, -0.087747f, -0.174701f, -0.221408f, -0.170898f, -0.102706f, -0.036302f, 0.092897f, 0.172227f, 0.197958f, 0.202933f, 0.097725f, -0.024475f, -0.067145f, -0.082511f, -0.106414f, -0.076913f, -0.079025f, -0.063943f, -0.009501f, 0.019135f, 0.031273f, 0.053686f, 0.057702f, 0.052809f, 0.048153f, 0.026121f, 0.006821f, -0.008222f, -0.027396f, -0.042600f, -0.042138f, -0.036142f, -0.025954f, -0.014910f, 0.005063f, 0.016574f, 0.022947f, 0.023818f, 0.022916f, 0.014758f, 0.008920f, -0.000088f, -0.000836f, -0.004109f, -0.005964f, -0.008774f, -0.004591f, -0.007030f, -0.007801f, -0.007523f, -0.004964f, -0.010693f, -0.004424f, 0.000123f, 0.005479f, 0.012290f, 0.016898f, 0.011297f, 0.015242f, 0.009338f, 0.002906f, -0.005278f, -0.011823f, -0.018743f, -0.016311f, -0.016325f, -0.007578f, -0.000957f, 0.008011f, 0.009614f, 0.014415f, 0.011902f, 0.009805f, + 0.003545f, 0.001671f, -0.004605f, -0.004449f, -0.007353f, -0.006265f, -0.005689f, -0.001432f, -0.002771f, 0.001502f, -0.000441f, 0.002331f, 0.001719f, 0.001714f, -0.000629f, 0.003726f, 0.001747f, 0.004256f, 0.001166f, 0.001794f, 0.000062f, 0.000223f, -0.004193f, -0.002672f, -0.005281f, -0.002857f, -0.003155f, 0.000163f, -0.000369f, 0.003314f, 0.001792f, 0.004026f, 0.001783f, 0.002802f, -0.000164f, 0.001123f, -0.001660f, -0.000201f, -0.002298f, -0.000082f, -0.001947f, 0.000496f, -0.001194f} + }, + { + {0.009029f, 0.005082f, -0.008051f, -0.001926f, -0.002933f, -0.000331f, 0.012234f, 0.000627f, -0.005135f, 0.006341f, 0.001376f, 0.000585f, 0.002209f, 0.001277f, 0.000178f, 0.009081f, 0.005228f, -0.006263f, -0.002318f, -0.000781f, -0.002107f, 0.002497f, 0.003975f, 0.002555f, -0.002584f, -0.004025f, 0.001590f, -0.008039f, -0.003555f, 0.005916f, 0.000595f, 0.004750f, 0.002535f, -0.003957f, 0.003015f, -0.000017f, -0.003363f, 0.008335f, -0.005554f, -0.002713f, 0.001142f, 0.002822f, -0.003776f, -0.001080f, -0.005452f, -0.010999f, 0.010294f, -0.002120f, -0.005631f, 0.000533f, 0.009469f, -0.000060f, 0.003706f, -0.004742f, -0.002663f, -0.001997f, 0.002959f, -0.003765f, 0.007587f, 0.001118f, 0.006853f, -0.009917f, 0.004236f, -0.002629f, 0.001717f, 0.004113f, -0.001628f, -0.001167f, -0.007206f, -0.000019f, 0.004004f, 0.000823f, -0.001957f, -0.000413f, 0.003572f, -0.001923f, -0.001868f, 0.005448f, -0.002447f, 0.001682f, -0.000979f, -0.000401f, -0.006722f, -0.002862f, -0.001782f, 0.002408f, -0.000438f, -0.003099f, -0.000452f, -0.000688f, -0.001840f, 0.001736f, -0.002215f, 0.000079f, 0.000581f, 0.001090f, + 0.001912f, -0.000879f, -0.001577f, 0.001657f, 0.000416f, -0.001318f, 0.000294f, 0.002874f, -0.000330f, -0.000358f, 0.001246f, 0.000029f, 0.000461f, 0.000405f, -0.000836f, -0.001670f, -0.000850f, 0.001187f, -0.000235f, 0.000068f, 0.000683f, -0.000930f, 0.000884f, -0.000056f, -0.000459f, 0.003153f, 0.025708f, 0.008768f, -0.001999f, 0.006918f, 0.000389f, 0.012634f, 0.007994f, -0.001811f, 0.006546f, 0.011341f, 0.014912f, -0.008816f, -0.008561f, 0.003622f, -0.003434f, -0.002908f, 0.010673f, 0.008564f, 0.008224f, 0.005813f, 0.001135f, -0.000370f, -0.003681f, 0.004026f, 0.002869f, 0.013520f, 0.001405f, -0.000328f, -0.005961f, 0.002788f, 0.004003f, -0.000806f, -0.001814f, -0.002154f, 0.003709f, -0.000572f, -0.002151f, -0.004998f, 0.005298f, -0.001801f, -0.001748f, 0.007450f, 0.010653f, -0.002773f, -0.001268f, 0.006105f, 0.005528f, 0.009694f, 0.006061f, 0.002639f, 0.001035f, 0.008248f, 0.004721f, -0.011456f, 0.000046f, 0.003469f, -0.006547f, 0.000135f, 0.001110f, -0.008183f, 0.004182f, -0.003992f, 0.006142f, -0.001354f, -0.001021f, 0.003250f, 0.001091f, -0.005658f, -0.000468f, 0.003083f, + -0.001070f, -0.001429f, -0.001597f, 0.000568f, 0.006535f, 0.001109f, -0.006513f, -0.001596f, 0.001573f, -0.001993f, -0.000799f, 0.009577f, -0.001914f, 0.001128f, -0.001094f, -0.002501f, 0.002209f, 0.003536f, -0.000894f, 0.001584f, 0.001786f, -0.001825f, 0.000884f, 0.001558f, 0.000409f, -0.001229f, -0.003343f, -0.001095f, -0.001998f, -0.000991f, -0.000211f, 0.001027f, -0.000592f, 0.001244f, 0.000742f, -0.000340f, 0.008869f, -0.000679f, -0.016783f, -0.007792f, -0.003267f, -0.003616f, -0.009142f, -0.008371f, -0.005278f, 0.009101f, -0.010000f, -0.004650f, -0.004757f, 0.001841f, 0.015147f, -0.002264f, -0.001217f, 0.003720f, 0.008663f, -0.013256f, -0.002178f, 0.002720f, -0.005871f, 0.004697f, 0.007404f, -0.008169f, -0.000519f, 0.001067f, -0.004771f, -0.012030f, 0.002082f, -0.005059f, 0.001619f, -0.004657f, 0.006879f, -0.008302f, -0.007775f, -0.019100f, -0.005165f, 0.006585f, -0.001080f, -0.007321f, -0.003627f, -0.000911f, -0.007701f, 0.000400f, -0.001309f, 0.005294f, 0.004163f, -0.001967f, 0.000226f, -0.001944f, -0.008129f, 0.009923f, 0.001713f, 0.006711f, -0.002473f, 0.000036f, 0.001729f, 0.002911f, + 0.007663f, -0.002448f, -0.001868f, 0.002282f, -0.000230f, 0.008393f, 0.004465f, -0.007233f, -0.002890f, -0.001795f, -0.011486f, -0.001276f, -0.001098f, 0.006837f, -0.004411f, 0.006232f, 0.001054f, -0.000205f, -0.000653f, -0.001082f, -0.001253f, 0.001340f, -0.004645f, 0.002164f, -0.002685f, 0.002351f, 0.001978f, 0.000914f, 0.000557f, 0.006695f, 0.004886f, -0.001213f, 0.006065f, -0.000812f, -0.002066f, -0.001917f, 0.001173f, -0.000420f, 0.004145f, -0.001061f, 0.002581f, 0.002127f, -0.000389f, 0.001786f, -0.000021f, 0.001870f, 0.001814f, 0.000554f, 0.000610f, 0.002024f, 0.001318f, -0.002727f, -0.001532f, -0.000271f, 0.003359f, 0.003784f, -0.000011f, -0.000380f, 0.002021f, 0.000037f, -0.001279f, -0.036950f, -0.011498f, -0.003317f, -0.002928f, -0.003142f, 0.014293f, -0.013199f, 0.006373f, -0.003125f, 0.002940f, -0.003813f, -0.003007f, -0.010639f, 0.001777f, -0.003916f, 0.000839f, -0.015418f, 0.000345f, -0.001628f, -0.002717f, -0.000306f, 0.002919f, 0.002272f, -0.001425f, -0.001108f, -0.006131f, 0.001846f, -0.004919f, 0.003197f, 0.000018f, 0.002722f, 0.009616f, -0.002567f, -0.010972f, -0.004757f, + -0.012853f, 0.001727f, 0.002338f, -0.001222f, 0.002246f, -0.004552f, 0.004328f, 0.002162f, -0.005688f, 0.000437f, -0.015461f, -0.003354f, -0.010338f, 0.005609f, 0.010243f, -0.009070f, -0.000697f, 0.002880f, 0.001578f, -0.014816f, 0.002470f, 0.007534f, -0.007081f, -0.003429f, -0.016840f, 0.005663f, -0.002432f, 0.006909f, 0.012481f, 0.007060f, -0.010028f, 0.002073f, 0.002373f, 0.000499f, -0.011152f, 0.002829f, -0.004755f, 0.007375f, -0.003003f, -0.000410f, 0.003484f, 0.002979f, 0.008775f, 0.009936f, 0.006827f, -0.000554f, 0.002523f, 0.005901f, 0.003005f, -0.005930f, -0.001215f, -0.003970f, -0.003948f, 0.001753f, -0.000173f, 0.000919f, 0.000094f, -0.001212f, -0.000333f, 0.003553f, -0.001185f, -0.001220f, 0.000101f, -0.001059f, -0.002646f, 0.003220f, 0.000124f, 0.001506f, 0.003949f, -0.000529f, 0.000438f, -0.003146f, 0.002003f, 0.001344f, 0.000318f, -0.003162f, 0.001032f, 0.000009f, 0.002090f, -0.022900f, 0.002586f, 0.004018f, -0.008112f, -0.001081f, 0.022396f, 0.017274f, 0.009485f, -0.002563f, -0.003979f, 0.011040f, 0.007041f, 0.003489f, 0.004282f, -0.009029f, 0.003141f, 0.000796f, + 0.010573f, -0.010091f, -0.004505f, -0.001985f, 0.001397f, -0.002124f, -0.011486f, -0.007914f, -0.008061f, -0.009692f, 0.005402f, 0.006373f, 0.004224f, 0.002784f, 0.000287f, 0.002717f, -0.001375f, -0.001328f, 0.000812f, -0.003578f, -0.000921f, 0.004984f, 0.004031f, -0.007942f, -0.008686f, -0.000903f, -0.008712f, 0.005177f, -0.002588f, -0.014955f, 0.001879f, 0.007469f, 0.010796f, 0.007320f, 0.000502f, 0.006910f, -0.010522f, -0.003505f, -0.004651f, -0.000841f, 0.000836f, 0.004658f, -0.003566f, -0.009819f, 0.011922f, -0.010842f, -0.005053f, 0.007210f, 0.017198f, 0.003934f, 0.003476f, -0.016815f, 0.018162f, 0.002046f, 0.012687f, 0.019277f, -0.004186f, 0.001950f, 0.002357f, -0.008061f, 0.016161f, 0.003637f, -0.005170f, 0.004307f, -0.002150f, 0.007799f, -0.013116f, -0.007174f, -0.013404f, -0.002755f, -0.005891f, 0.005278f, -0.003327f, 0.002166f, -0.006232f, -0.001761f, -0.001138f, -0.004206f, -0.000177f, -0.001673f, 0.001757f, -0.000442f, -0.001670f, -0.001086f, -0.000702f, 0.003043f, 0.000960f, -0.002587f, -0.005399f, 0.002919f, 0.003148f, 0.000401f, 0.000093f, -0.000252f, -0.002183f, 0.000808f, + -0.001429f, 0.003168f, 0.000722f, 0.001709f, -0.001816f, -0.002383f, -0.004266f, 0.002360f, 0.034444f, 0.024410f, -0.008754f, -0.012585f, 0.019093f, 0.012592f, 0.020103f, 0.029731f, -0.015009f, 0.010379f, 0.004896f, 0.008717f, 0.003820f, 0.005287f, 0.012218f, 0.003172f, 0.012480f, 0.000538f, -0.008029f, 0.003489f, -0.002610f, 0.004350f, -0.001514f, 0.023124f, 0.003860f, 0.005199f, 0.003094f, 0.001042f, 0.008026f, 0.003553f, 0.000452f, -0.001344f, 0.005742f, -0.004312f, 0.010985f, -0.008442f, 0.013231f, -0.006122f, 0.007998f, 0.004330f, 0.004885f, 0.004025f, 0.019437f, 0.015006f, 0.000925f, -0.004046f, -0.010551f, 0.011665f, -0.012858f, 0.003370f, -0.005625f, 0.005815f, 0.012171f, 0.001612f, -0.020382f, -0.016392f, 0.001708f, -0.010141f, -0.011160f, -0.006286f, -0.012867f, 0.004742f, 0.022306f, 0.011347f, -0.008214f, 0.000672f, 0.002575f, -0.005688f, -0.006573f, -0.000929f, 0.010956f, 0.012342f, -0.012923f, 0.006287f, 0.014301f, 0.003010f, 0.004707f, 0.007067f, 0.011145f, -0.001754f, -0.007606f, 0.003130f, -0.003274f, -0.000481f, -0.007297f, 0.006918f, 0.010538f, 0.001784f, + 0.001890f, 0.001631f, -0.007385f, -0.000897f, -0.000122f, -0.000647f, 0.000751f, -0.000986f, 0.001219f, 0.001085f, 0.003615f, 0.000560f, -0.000059f, 0.000517f, 0.002326f, 0.004167f, 0.002084f, 0.004404f, 0.002312f, 0.000961f, 0.001248f, -0.000711f, -0.006872f, -0.006946f, 0.001459f, 0.005441f, 0.001356f, -0.001375f, 0.001291f, -0.000728f, 0.003328f, -0.002453f, -0.002428f, -0.004272f, 0.001962f, 0.015294f, 0.002806f, 0.022099f, -0.002031f, -0.000178f, -0.007401f, -0.005814f, 0.007291f, 0.016740f, -0.004954f, 0.004498f, 0.001099f, 0.018127f, 0.007374f, -0.008323f, -0.007853f, 0.001261f, 0.003693f, 0.016477f, 0.015987f, 0.024556f, 0.004359f, 0.006889f, -0.004385f, 0.010056f, 0.011259f, -0.004330f, -0.005706f, 0.008870f, -0.006836f, -0.009303f, 0.008726f, 0.002731f, -0.010941f, -0.013243f, 0.020165f, 0.010224f, -0.000760f, 0.012987f, 0.002448f, -0.008999f, 0.019150f, -0.004437f, 0.000515f, -0.000400f, 0.004920f, -0.006936f, 0.004920f, -0.006948f, 0.004788f, -0.006450f, 0.005821f, -0.005264f, 0.007945f, -0.006655f, -0.006890f, 0.017967f, -0.022484f, 0.001323f, 0.002599f, -0.007640f, + 0.001439f, -0.025134f, -0.012444f, 0.012103f, -0.010107f, 0.007459f, -0.002739f, 0.005052f, 0.002132f, 0.004339f, 0.002595f, -0.011366f, 0.006088f, -0.006583f, -0.000820f, -0.014457f, -0.007922f, -0.003577f, -0.003526f, 0.004191f, 0.013624f, 0.007973f, -0.011077f, 0.004308f, 0.002100f, 0.000150f, -0.005352f, 0.000804f, -0.001057f, 0.002737f, 0.001224f, -0.002750f, -0.003783f, -0.001414f, -0.001081f, -0.002078f, 0.007871f, 0.001513f, -0.003069f, -0.001658f, 0.001857f, -0.003205f, 0.000306f, 0.001634f, 0.000074f, 0.000476f, -0.008387f, -0.003344f, -0.002112f, 0.001304f, -0.002352f, -0.000296f, 0.005265f, -0.000424f, -0.001429f, -0.001512f, 0.000541f, 0.001674f, -0.017952f, -0.015335f, -0.000127f, 0.006755f, 0.012466f, -0.014520f, 0.004136f, -0.013041f, 0.010770f, 0.008373f, -0.018089f, -0.003663f, 0.001875f, -0.021064f, -0.012085f, 0.012943f, -0.001728f, -0.000843f, 0.002986f, -0.001260f, -0.022193f, 0.020309f, 0.001244f, -0.014264f, -0.007037f, 0.002763f, -0.001915f, -0.013709f, -0.004187f, -0.007850f, 0.002232f, -0.000622f, -0.004448f, 0.004486f, -0.019245f, -0.008462f, 0.004904f, 0.025160f, + -0.004250f, -0.014681f, -0.010483f, -0.008147f, 0.017028f, -0.018132f, -0.003691f, -0.001200f, -0.019497f, -0.024169f, 0.005911f, -0.016734f, -0.002721f, 0.002572f, 0.012726f, 0.007207f, 0.000998f, 0.002832f, 0.015206f, -0.006526f, -0.004811f, 0.022677f, -0.015153f, 0.011842f, -0.005230f, -0.005589f, -0.002347f, -0.002668f, 0.024092f, 0.000624f, 0.009342f, -0.024779f, -0.018068f, 0.000666f, -0.003643f, 0.027822f, 0.000857f, 0.018990f, 0.007932f, 0.023732f, 0.014322f, -0.003526f, -0.016515f, -0.006134f, 0.011038f, 0.004888f, 0.007442f, -0.009086f, -0.010346f, -0.002797f, -0.003509f, 0.004959f, -0.002583f, -0.006609f, -0.001246f, -0.001571f, -0.000105f, -0.000771f, 0.000854f, -0.002673f, -0.003725f, 0.004563f, -0.000372f, 0.000329f, -0.001311f, -0.001965f, -0.001616f, 0.001268f, 0.003802f, -0.004006f, 0.000863f, -0.002446f, -0.003724f, 0.002635f, -0.001145f, -0.003394f, -0.004056f, -0.000752f, 0.003708f, 0.000417f, 0.000428f, 0.001445f, 0.006737f, -0.005724f, -0.004835f, -0.002907f, 0.000493f, 0.002759f, -0.029856f, 0.002962f, -0.003066f, 0.020433f, 0.002209f, -0.021466f, 0.025574f, 0.008371f, + -0.015261f, -0.033035f, -0.013958f, 0.032801f, 0.001463f, -0.004078f, -0.005643f, 0.003444f, 0.000911f, 0.010162f, 0.005173f, 0.010880f, -0.002522f, 0.019376f, -0.010149f, -0.022697f, 0.000784f, 0.001118f, -0.005603f, -0.000767f, 0.008343f, -0.005786f, -0.003671f, -0.001925f, 0.018008f, 0.014187f, 0.007120f, -0.001287f, -0.024983f, -0.000422f, -0.001495f, -0.000979f, -0.004323f, -0.000347f, -0.011052f, -0.020162f, -0.003376f, 0.013957f, 0.013316f, -0.005040f, 0.014321f, -0.004641f, 0.006063f, 0.016022f, 0.015063f, -0.033695f, 0.011353f, 0.012218f, 0.004828f, -0.008183f, -0.029813f, 0.017991f, 0.010372f, 0.005777f, -0.010782f, -0.005864f, -0.012182f, 0.006667f, -0.013492f, -0.002428f, 0.000005f, 0.012109f, -0.007727f, 0.006180f, 0.003107f, -0.021609f, -0.003217f, -0.014437f, 0.023474f, 0.011023f, -0.028098f, -0.005887f, 0.021838f, 0.011022f, -0.011715f, -0.005713f, -0.012917f, -0.004267f, 0.006355f, -0.003859f, -0.001769f, -0.004830f, -0.006330f, -0.010590f, 0.001813f, 0.000838f, -0.003645f, -0.001080f, 0.005189f, 0.003658f, -0.006933f, -0.002378f, 0.004672f, -0.001312f, 0.003515f, -0.004424f, + -0.003311f, -0.000878f, 0.000745f, 0.005662f, -0.006285f, -0.004312f, 0.002795f, -0.006879f, -0.000791f, -0.004864f, 0.002678f, -0.003872f, 0.006319f, -0.002360f, -0.001434f, -0.003425f, 0.003931f, 0.002782f, 0.007228f, 0.002112f, 0.018601f, 0.022604f, 0.023271f, 0.017725f, 0.022821f, -0.028667f, -0.018665f, -0.009917f, -0.009233f, -0.013745f, -0.010446f, -0.023009f, -0.007732f, 0.001513f, 0.013759f, -0.000046f, -0.013086f, -0.000647f, 0.013753f, 0.000639f, -0.011281f, -0.005352f, 0.031204f, 0.002997f, 0.011776f, 0.003566f, 0.012940f, 0.002599f, 0.004250f, -0.019175f, 0.010758f, 0.000695f, 0.004498f, -0.020095f, 0.007020f, -0.030851f, 0.000060f, -0.009772f, 0.007717f, -0.002842f, -0.022450f, -0.000564f, -0.022344f, 0.004091f, -0.018553f, 0.016993f, -0.009576f, 0.026725f, 0.000913f, -0.000508f, 0.013555f, 0.002883f, -0.004156f, -0.003946f, 0.005537f, -0.009150f, 0.006400f, 0.016492f, 0.008529f, -0.012282f, -0.006335f, 0.035359f, 0.002802f, 0.028205f, -0.026052f, -0.005499f, -0.002670f, 0.020522f, -0.022714f, 0.003228f, 0.011040f, -0.022691f, 0.015965f, -0.014248f, 0.004267f, 0.022073f, + 0.002503f, 0.012440f, 0.006005f, 0.028844f, 0.012608f, -0.011948f, -0.009290f, -0.011509f, 0.001874f, 0.001116f, 0.012260f, -0.007195f, -0.001236f, 0.007932f, 0.000697f, 0.006123f, 0.008449f, 0.001174f, -0.006539f, 0.008005f, 0.006269f, -0.000755f, 0.002632f, 0.002704f, -0.002794f, -0.002369f, -0.009312f, 0.006351f, -0.004378f, -0.004220f, -0.001699f, -0.004895f, 0.004799f, -0.003325f, -0.000976f, -0.005244f, -0.001131f, -0.001162f, 0.006833f, 0.004787f, -0.000053f, -0.001042f, -0.000227f, 0.003813f, 0.004741f, 0.004045f, 0.008736f, -0.000953f, -0.003171f, -0.008401f, -0.028852f, 0.004576f, 0.027637f, 0.021126f, 0.022545f, -0.007300f, -0.006086f, 0.005980f, -0.004178f, 0.028482f, 0.009223f, 0.013721f, 0.023553f, -0.001429f, 0.008693f, -0.015844f, 0.023468f, 0.012127f, -0.006147f, -0.014213f, -0.013685f, 0.016186f, -0.027645f, 0.011036f, 0.015639f, -0.011169f, -0.015502f, -0.008448f, 0.014585f, 0.005825f, -0.005725f, -0.009756f, 0.000048f, -0.016625f, -0.025599f, 0.004937f, -0.024572f, -0.036112f, -0.004714f, 0.001707f, 0.036766f, -0.015620f, -0.012704f, 0.016725f, 0.027063f, 0.027504f, + 0.014377f, -0.001364f, 0.006199f, -0.011444f, 0.001994f, -0.012009f, 0.030289f, 0.027099f, 0.017286f, -0.000953f, -0.031167f, 0.000088f, -0.026629f, 0.029558f, 0.022665f, 0.014407f, -0.022111f, 0.018448f, 0.010275f, 0.012852f, -0.004190f, -0.018414f, -0.013644f, -0.014681f, 0.005013f, -0.020743f, -0.038506f, 0.007793f, 0.026024f, 0.014029f, 0.025554f, -0.007574f, -0.007094f, 0.026087f, 0.008580f, 0.003710f, 0.017159f, 0.005902f, 0.000470f, 0.015022f, 0.009294f, -0.001167f, 0.006745f, 0.006631f, 0.003878f, -0.004701f, -0.008501f, -0.011020f, 0.003000f, 0.007437f, 0.004204f, 0.015142f, 0.000391f, 0.010848f, -0.003351f, 0.004565f, 0.008450f, 0.001357f, -0.003846f, -0.002111f, -0.012378f, -0.010452f, 0.003775f, 0.002896f, 0.004984f, 0.013172f, 0.001965f, 0.010062f, -0.003677f, -0.001964f, 0.001764f, -0.009310f, -0.007420f, -0.002559f, -0.007960f, 0.004015f, -0.002583f, 0.003293f, 0.007326f, 0.010377f, 0.014670f, 0.023179f, 0.050125f, 0.022155f, 0.017538f, 0.016197f, -0.030928f, -0.004959f, -0.011275f, 0.039508f, -0.040181f, -0.038259f, 0.010994f, 0.025753f, -0.000674f, 0.031516f, + 0.028727f, -0.001471f, 0.011084f, -0.019072f, -0.013642f, 0.029953f, -0.011809f, 0.020548f, 0.007349f, -0.013478f, -0.006947f, -0.006035f, -0.006589f, -0.014058f, 0.011710f, 0.012362f, 0.010460f, 0.000865f, -0.015576f, -0.020180f, 0.026013f, -0.025668f, 0.020150f, 0.001743f, -0.031467f, 0.015761f, 0.030057f, -0.000726f, -0.008122f, -0.003926f, 0.002472f, 0.001611f, 0.020517f, -0.001197f, -0.015366f, -0.006543f, 0.017462f, -0.031882f, 0.007700f, -0.005447f, 0.025857f, 0.027124f, 0.018223f, 0.021204f, 0.028109f, 0.020054f, 0.007370f, -0.018376f, -0.020542f, 0.009819f, 0.013729f, -0.001114f, 0.011897f, 0.016058f, 0.042825f, -0.024277f, 0.027110f, -0.016179f, -0.010227f, 0.029316f, 0.004520f, -0.017710f, -0.015293f, -0.016350f, -0.026366f, -0.009142f, -0.012871f, 0.021005f, 0.000554f, -0.017015f, 0.009291f, 0.005745f, -0.003567f, 0.009794f, -0.020095f, 0.013032f, 0.000900f, -0.002003f, -0.002123f, 0.011058f, 0.001973f, 0.002826f, 0.011707f, -0.004967f, 0.001950f, 0.008407f, -0.012848f, 0.008977f, 0.000568f, 0.003274f, -0.005719f, 0.007136f, -0.002530f, 0.000740f, 0.009997f, -0.000074f, + -0.002355f, 0.002428f, 0.006758f, 0.008355f, 0.014178f, 0.011408f, 0.004248f, -0.006654f, -0.005396f, -0.020209f, 0.004489f, -0.016849f, -0.004911f, -0.007399f, -0.006848f, 0.007823f, 0.003062f, -0.008102f, -0.033312f, -0.005956f, 0.019397f, -0.023933f, 0.000767f, -0.015061f, -0.026315f, 0.038276f, 0.032735f, 0.027356f, 0.012978f, 0.007124f, 0.010775f, 0.028098f, 0.015531f, 0.028806f, -0.010667f, 0.024126f, -0.018181f, 0.029221f, 0.039263f, 0.024608f, 0.019627f, 0.009984f, 0.020272f, 0.020412f, -0.006068f, 0.040627f, 0.009757f, -0.024520f, 0.011626f, -0.024825f, -0.017068f, -0.005097f, -0.038596f, 0.000651f, -0.008232f, -0.010477f, -0.018767f, -0.009770f, -0.005395f, -0.001217f, -0.003812f, 0.001663f, 0.001608f, -0.022165f, -0.014637f, 0.004578f, -0.011706f, 0.009188f, 0.038000f, -0.019175f, -0.001557f, -0.003624f, 0.001394f, -0.018181f, 0.009780f, -0.008740f, 0.029410f, 0.006251f, 0.017561f, 0.027504f, 0.004683f, -0.001838f, -0.018163f, -0.040412f, 0.005318f, 0.030064f, 0.021813f, -0.005700f, -0.026943f, 0.022678f, 0.002371f, 0.013658f, -0.034491f, -0.024756f, -0.022720f, -0.034192f, + -0.021187f, -0.025017f, 0.011627f, 0.003692f, 0.008727f, 0.011405f, 0.015758f, -0.007724f, 0.016039f, 0.018262f, 0.000551f, 0.009817f, -0.005889f, -0.012132f, -0.012513f, -0.013134f, -0.005283f, -0.009576f, -0.000611f, 0.002886f, -0.001292f, 0.000866f, 0.002408f, -0.011111f, -0.010301f, -0.017591f, -0.006055f, -0.004080f, -0.009813f, 0.003869f, 0.001433f, -0.005196f, -0.015938f, -0.007319f, -0.005899f, -0.004103f, 0.013250f, 0.004061f, -0.005823f, -0.007335f, -0.002700f, -0.019090f, 0.005187f, -0.003884f, 0.009844f, 0.001136f, -0.006035f, -0.011250f, 0.011727f, -0.007711f, 0.016782f, -0.057186f, -0.036610f, -0.017420f, 0.040849f, 0.029745f, -0.022152f, 0.025484f, 0.023000f, 0.019609f, 0.019202f, -0.019203f, 0.001934f, 0.011061f, -0.019101f, -0.057645f, -0.010547f, -0.016022f, -0.035355f, 0.003155f, -0.012087f, -0.009083f, 0.010763f, 0.006379f, -0.007902f, 0.001645f, 0.026958f, 0.028826f, -0.053159f, 0.012568f, 0.002652f, 0.024506f, 0.008310f, 0.001271f, -0.033135f, 0.010023f, -0.008544f, -0.009268f, -0.022813f, -0.017005f, 0.042484f, -0.019411f, -0.000838f, 0.004971f, -0.011325f, 0.046958f, + 0.022269f, -0.021068f, -0.012757f, -0.036950f, -0.005399f, 0.035075f, 0.010247f, 0.010516f, -0.011648f, 0.021366f, -0.005158f, -0.009426f, 0.019708f, -0.011878f, 0.032735f, -0.007870f, 0.024362f, -0.050013f, -0.016983f, 0.028396f, 0.006923f, -0.004759f, 0.007934f, -0.055335f, -0.026184f, 0.008198f, -0.022113f, 0.008236f, 0.002138f, 0.005928f, 0.033728f, -0.012867f, 0.013548f, -0.002892f, -0.027597f, -0.004998f, 0.020712f, 0.029909f, -0.001072f, -0.012871f, -0.023415f, 0.000395f, -0.032649f, -0.010847f, 0.002708f, 0.038020f, 0.034052f, 0.004392f, 0.014241f, 0.004016f, -0.005837f, 0.018683f, 0.014214f, -0.007822f, 0.015611f, 0.011581f, 0.006182f, -0.013494f, -0.001047f, -0.007153f, 0.011353f, 0.007697f, 0.010083f, -0.001182f, -0.015738f, 0.014358f, 0.000533f, -0.007615f, -0.015334f, -0.001086f, -0.001372f, -0.014708f, 0.009914f, -0.010799f, -0.016725f, 0.018341f, -0.007638f, -0.006722f, -0.008530f, 0.003783f, 0.002514f, 0.014605f, 0.003147f, -0.002965f, 0.006065f, 0.008873f, -0.016951f, 0.004208f, 0.004610f, -0.006894f, 0.010372f, -0.024905f, -0.071594f, -0.006067f, -0.008645f, -0.007752f, + 0.010950f, -0.028563f, 0.056091f, -0.010243f, 0.002460f, 0.061894f, -0.072886f, -0.007577f, -0.014299f, -0.006945f, -0.083481f, 0.004655f, -0.012975f, -0.016130f, 0.028224f, -0.028646f, 0.004320f, 0.005471f, 0.013411f, -0.002623f, -0.030490f, 0.020805f, -0.020059f, 0.043363f, -0.007560f, -0.049152f, -0.003725f, -0.001652f, -0.024914f, -0.049520f, 0.022134f, 0.025226f, -0.041583f, 0.033874f, -0.037621f, -0.029157f, -0.018069f, 0.003285f, 0.002887f, 0.005600f, 0.023816f, -0.004528f, -0.022970f, -0.053986f, 0.010872f, -0.072985f, -0.038946f, -0.025079f, -0.058662f, -0.034628f, -0.017025f, -0.003565f, -0.027629f, 0.041851f, 0.042861f, 0.009595f, -0.013136f, 0.047548f, 0.021255f, -0.005382f, -0.010890f, 0.034253f, 0.025051f, -0.011623f, 0.045063f, -0.037923f, -0.019650f, 0.049531f, 0.023089f, 0.069456f, -0.038075f, -0.042577f, 0.010864f, -0.032356f, 0.034761f, 0.003842f, 0.011989f, 0.066046f, -0.036521f, -0.038866f, -0.014507f, 0.013814f, 0.014898f, 0.016727f, 0.016739f, 0.019231f, -0.020435f, 0.008168f, 0.002984f, -0.001303f, -0.002466f, -0.013457f, -0.010956f, 0.019396f, -0.020928f, -0.000887f, + 0.004116f, -0.009899f, 0.002508f, -0.010151f, -0.000834f, -0.000936f, 0.004244f, -0.016489f, 0.008430f, 0.021013f, 0.006084f, 0.005214f, 0.022926f, 0.017112f, -0.001686f, -0.021980f, 0.020267f, 0.005374f, -0.007757f, -0.016326f, 0.021043f, 0.003376f, 0.000591f, 0.013076f, 0.016297f, -0.020844f, 0.010872f, 0.007083f, -0.015159f, -0.006024f, -0.023521f, 0.015025f, -0.002862f, -0.026550f, -0.013260f, 0.006571f, 0.055724f, 0.031553f, -0.005148f, 0.075201f, -0.008678f, 0.030782f, -0.035576f, 0.043819f, 0.041455f, -0.003946f, -0.033277f, 0.003335f, 0.012022f, -0.018768f, 0.019661f, -0.027307f, -0.000452f, -0.008529f, -0.008915f, -0.031014f, -0.022554f, -0.014224f, -0.001902f, -0.010187f, -0.024230f, 0.035749f, 0.024655f, 0.006459f, -0.010072f, 0.005914f, 0.034600f, 0.016083f, 0.025421f, 0.015788f, -0.018960f, -0.029534f, 0.059175f, -0.007983f, -0.032375f, -0.013724f, -0.013916f, -0.007973f, 0.042822f, 0.001603f, -0.033035f, -0.012854f, -0.082096f, -0.020458f, -0.009637f, 0.050325f, 0.034907f, -0.100008f, -0.042983f, -0.024520f, -0.000521f, 0.004755f, -0.039841f, 0.029070f, 0.015669f, 0.025264f, + 0.050020f, -0.065702f, 0.064013f, 0.045714f, -0.020819f, -0.044215f, 0.002785f, -0.011232f, 0.017031f, 0.058019f, -0.030215f, -0.034072f, 0.047518f, -0.056263f, -0.062673f, -0.025522f, 0.006402f, -0.018243f, -0.068680f, -0.028071f, -0.022214f, 0.000747f, 0.003754f, -0.019972f, -0.001395f, 0.002635f, 0.000817f, 0.005518f, -0.043418f, -0.015592f, -0.014390f, 0.002447f, 0.012121f, -0.003576f, -0.013891f, -0.008442f, 0.004605f, 0.021785f, 0.023663f, -0.003669f, -0.020572f, -0.005729f, 0.030108f, 0.001402f, -0.007855f, 0.005888f, -0.040887f, -0.012434f, -0.019298f, 0.002296f, 0.007049f, -0.040057f, -0.040421f, 0.009656f, 0.035125f, -0.015520f, 0.022982f, 0.006670f, -0.011341f, -0.003735f, 0.009317f, 0.006617f, -0.003343f, 0.006568f, -0.001179f, 0.052281f, 0.007032f, 0.019668f, -0.040801f, -0.064409f, 0.093104f, 0.046653f, 0.004237f, 0.006143f, -0.020935f, -0.054775f, 0.019247f, -0.004220f, 0.047023f, 0.010564f, 0.017467f, 0.051595f, 0.028528f, -0.000520f, -0.005470f, 0.008779f, -0.031391f, -0.025770f, -0.033376f, -0.018568f, 0.030963f, -0.008386f, 0.001991f, 0.038767f, -0.006608f, 0.017063f, + -0.053686f, -0.048168f, -0.032710f, 0.028014f, 0.011396f, -0.001674f, 0.012826f, -0.016965f, -0.048266f, 0.061119f, -0.057893f, 0.026830f, 0.027593f, 0.021829f, 0.009730f, 0.037074f, -0.023777f, -0.059118f, 0.043863f, 0.124391f, -0.021856f, 0.060258f, -0.072249f, -0.038844f, 0.044733f, 0.026326f, -0.067075f, -0.018740f, -0.005622f, 0.058452f, -0.014453f, -0.006135f, -0.091222f, -0.058474f, -0.020929f, -0.066829f, 0.056067f, 0.059910f, 0.094269f, -0.083256f, 0.035909f, 0.010658f, -0.046378f, -0.002461f, -0.002175f, -0.096195f, 0.068787f, -0.028409f, 0.032488f, -0.009666f, 0.005371f, 0.130725f, -0.035231f, 0.045513f, 0.029929f, -0.031361f, 0.056887f, 0.000172f, -0.010941f, 0.003730f, 0.014688f, 0.037011f, 0.022507f, 0.014888f, -0.001281f, 0.035060f, -0.032603f, -0.015790f, 0.002757f, 0.008985f, 0.016157f, -0.008650f, 0.028107f, 0.004075f, 0.012491f, -0.005183f, 0.021295f, -0.001496f, -0.031204f, 0.018241f, -0.038334f, -0.022337f, -0.008917f, 0.016741f, -0.004101f, 0.019931f, 0.044824f, 0.069579f, 0.049963f, 0.014089f, 0.032133f, -0.018228f, 0.016332f, -0.000834f, -0.001432f, -0.002599f, + 0.006672f, -0.013997f, 0.019630f, -0.018684f, -0.082849f, -0.047408f, -0.001443f, -0.012867f, -0.027586f, 0.009822f, 0.027075f, 0.002502f, -0.029173f, -0.001757f, -0.027955f, 0.076171f, -0.023213f, 0.001480f, 0.058218f, -0.003528f, -0.059184f, -0.041631f, -0.040371f, -0.018271f, -0.021373f, 0.063417f, 0.006862f, 0.010237f, 0.032004f, -0.017721f, -0.017516f, -0.010966f, -0.017863f, -0.039104f, -0.008871f, 0.072738f, 0.023812f, 0.017091f, -0.048262f, 0.017640f, 0.004053f, -0.034813f, -0.003784f, -0.017571f, 0.079463f, -0.062907f, -0.053840f, -0.019312f, 0.010125f, -0.018915f, 0.002657f, 0.021141f, -0.040999f, -0.011321f, 0.067342f, -0.054314f, 0.009734f, -0.013788f, -0.032639f, -0.057588f, -0.043594f, 0.001895f, -0.079635f, -0.096801f, 0.023147f, 0.019557f, 0.015729f, -0.086518f, 0.066858f, 0.080734f, -0.027273f, -0.023662f, 0.005261f, -0.003588f, -0.018043f, -0.045049f, 0.032687f, 0.121951f, 0.031913f, -0.030393f, 0.000788f, 0.019192f, 0.040946f, 0.010835f, -0.072108f, -0.064672f, 0.070029f, -0.013571f, -0.028407f, -0.042310f, 0.014673f, 0.079657f, 0.024619f, -0.025432f, 0.014880f, -0.003281f, + -0.014065f, -0.007161f, -0.004124f, 0.035160f, 0.019676f, -0.012177f, -0.019408f, 0.015832f, 0.009406f, -0.003123f, -0.007964f, 0.012782f, -0.018784f, 0.011603f, 0.030729f, -0.002949f, -0.016835f, -0.005214f, -0.010809f, -0.018648f, -0.034196f, 0.004896f, 0.026249f, -0.017601f, -0.021551f, 0.010598f, -0.026924f, 0.000087f, -0.043848f, 0.021020f, 0.027424f, 0.069907f, -0.022226f, -0.009564f, -0.028929f, -0.029736f, 0.008425f, 0.015407f, 0.029127f, -0.003497f, -0.006278f, -0.029312f, 0.011812f, 0.007260f, 0.008814f, -0.008655f, -0.001830f, 0.018442f, 0.021344f, -0.026490f, -0.069712f, 0.019260f, 0.027306f, -0.103355f, 0.056631f, 0.002404f, -0.029404f, 0.009876f, 0.037738f, -0.053429f, 0.033013f, -0.049615f, 0.013421f, -0.002902f, -0.024964f, -0.013913f, -0.006740f, -0.036536f, 0.026182f, 0.022867f, -0.001041f, 0.012601f, 0.001612f, 0.020225f, 0.026434f, 0.025527f, 0.037902f, 0.032530f, -0.020126f, 0.005049f, -0.041324f, 0.043803f, -0.033879f, 0.010710f, -0.006523f, 0.008914f, 0.002154f, -0.031330f, 0.028480f, -0.015892f, -0.030258f, 0.063458f, -0.050793f, 0.015233f, -0.014646f, -0.025267f, + 0.025621f, -0.006634f, 0.007603f, 0.039531f, -0.047816f, 0.001912f, -0.058588f, -0.115452f, -0.002946f, 0.036755f, -0.013866f, 0.148340f, 0.030204f, -0.058009f, 0.016297f, -0.080921f, 0.028087f, 0.057837f, 0.068354f, -0.023540f, -0.013493f, -0.089964f, -0.103090f, -0.008713f, -0.064274f, 0.015184f, -0.004067f, -0.056138f, -0.013146f, -0.027822f, -0.061414f, 0.050262f, 0.098964f, -0.027828f, 0.006970f, 0.021302f, -0.026270f, 0.030571f, 0.039007f, -0.027167f, 0.004516f, 0.000039f, -0.049301f, 0.024555f, 0.004137f, 0.014902f, 0.018009f, -0.034885f, 0.013609f, -0.018540f, -0.027969f, -0.031717f, 0.026884f, -0.019709f, 0.011038f, -0.030665f, -0.011066f, -0.002156f, -0.037348f, 0.036483f, -0.023686f, 0.007241f, 0.011128f, -0.034848f, -0.005697f, 0.026738f, -0.003203f, 0.003748f, 0.005939f, -0.010231f, 0.016442f, 0.034537f, -0.004173f, 0.020032f, 0.023663f, -0.029643f, -0.056167f, 0.018922f, 0.007823f, 0.032351f, 0.038804f, -0.050811f, -0.049876f, 0.008668f, -0.014660f, 0.008832f, 0.016906f, 0.009208f, -0.073661f, 0.015198f, -0.005380f, -0.042906f, 0.019294f, -0.027855f, -0.018848f, -0.034631f, + 0.017641f, -0.037716f, 0.048288f, -0.005127f, 0.017860f, -0.011132f, 0.064868f, -0.017630f, 0.035610f, -0.000581f, 0.042460f, -0.011861f, -0.021495f, 0.013875f, -0.024323f, -0.025666f, 0.003450f, 0.048348f, 0.031055f, -0.032925f, 0.035123f, -0.024699f, -0.037852f, 0.010653f, 0.051675f, -0.019907f, -0.021120f, 0.027649f, 0.012369f, -0.025781f, 0.002842f, 0.035172f, -0.014717f, -0.033877f, 0.018400f, 0.014088f, 0.021579f, 0.039601f, 0.008264f, -0.023945f, -0.007914f, 0.087021f, 0.091400f, -0.025314f, -0.075787f, 0.058045f, -0.025376f, 0.016345f, 0.008186f, 0.097986f, 0.013425f, -0.050925f, -0.018645f, -0.012377f, 0.002710f, 0.015124f, 0.023613f, 0.031811f, -0.037896f, 0.012110f, 0.008562f, 0.056783f, -0.014223f, 0.039991f, 0.043038f, 0.023798f, 0.020504f, 0.012364f, 0.034265f, -0.032939f, 0.036876f, 0.046921f, 0.033852f, 0.005676f, -0.066600f, -0.009998f, -0.042965f, 0.001942f, 0.028792f, 0.009637f, -0.014706f, -0.023440f, -0.013723f, -0.003786f, -0.001727f, 0.012147f, -0.013822f, 0.003684f, -0.001466f, -0.010504f, 0.020246f, 0.007836f, -0.018206f, -0.008648f, -0.004697f, 0.024695f, + -0.000041f, 0.005001f, -0.023873f, -0.017145f, -0.031660f, -0.014970f, -0.001959f, -0.003092f, 0.000402f, -0.005606f, -0.028378f, 0.007218f, -0.009714f, -0.004741f, 0.004186f, -0.008012f, -0.000424f, -0.024669f, -0.005874f, 0.000933f, 0.000363f, 0.000424f, -0.006289f, -0.006295f, -0.002172f, -0.009843f, -0.013845f, 0.103264f, 0.043534f, -0.046759f, 0.011345f, -0.048846f, -0.026383f, -0.003433f, 0.017716f, -0.007875f, 0.037938f, -0.045182f, -0.001333f, 0.017701f, -0.001449f, 0.018412f, -0.002623f, 0.006403f, 0.004394f, -0.032404f, -0.010085f, 0.008406f, -0.030092f, -0.030459f, 0.002618f, 0.007732f, -0.021383f, 0.015268f, 0.014890f, -0.009123f, -0.015098f, -0.002503f, 0.003347f, -0.005389f, 0.012801f, 0.003194f, 0.010095f, -0.013392f, -0.005588f, 0.023561f, 0.000075f, 0.001143f, 0.011476f, -0.007706f, 0.012691f, -0.012135f, -0.022339f, -0.014616f, 0.023180f, -0.018448f, -0.013455f, 0.001367f, -0.018163f, -0.019742f, 0.028188f, -0.028059f, 0.044527f, 0.009694f, -0.019665f, 0.019420f, 0.003143f, -0.033020f, 0.002934f, -0.005954f, -0.005729f, 0.015603f, -0.000455f, -0.019395f, 0.037885f, -0.022744f, + -0.008760f, 0.019544f, 0.006345f, -0.008289f, 0.001022f, 0.006018f, -0.000581f, -0.001633f, -0.003865f, 0.008663f, 0.015767f, -0.000644f, -0.026177f, 0.018737f, -0.013479f, -0.002065f, 0.022484f, -0.001517f, -0.006822f, -0.000956f, -0.019346f, 0.009344f, 0.006755f, -0.002196f, 0.000472f, 0.007874f, -0.018838f, 0.001338f, -0.006428f, 0.001865f, 0.007852f, 0.001965f, -0.007985f, 0.018473f, -0.028109f, 0.003646f, 0.003367f, -0.002044f, 0.003525f, -0.004188f, -0.015855f, 0.017484f, -0.008098f, 0.012476f, 0.000248f, -0.002096f, 0.016556f, 0.006120f, -0.013789f, 0.005171f, -0.006934f, -0.006072f, 0.003209f, 0.010406f, 0.010683f, -0.004229f, -0.013613f, 0.006931f, -0.007731f, 0.009417f, -0.062757f, -0.074991f, 0.063208f, 0.257101f, 0.100290f, 0.118063f, 0.001386f, -0.240312f, -0.177345f, -0.092389f, -0.141370f, 0.063526f, 0.121329f, 0.050321f, 0.214655f, 0.121787f, -0.008308f, 0.050698f, -0.108865f, -0.218980f, -0.087692f, -0.152043f, -0.024564f, 0.105652f, 0.088618f, 0.080615f, 0.133699f, 0.082819f, 0.022487f, 0.036975f, -0.010215f, -0.155778f, -0.069164f, -0.055995f, -0.215727f, 0.040138f, + 0.028001f, -0.095522f, 0.154961f, 0.153767f, -0.005496f, 0.194506f, 0.095301f, -0.090115f, 0.060043f, -0.089592f, -0.187066f, -0.014666f, -0.113107f, -0.163316f, 0.028614f, 0.017635f, -0.010040f, 0.152561f, 0.146691f, 0.087919f, 0.130547f, 0.079652f, -0.051171f, -0.057210f, -0.102259f, -0.174613f, -0.129241f, -0.061403f, -0.057969f, 0.031465f, 0.098369f, 0.067563f, 0.108101f, 0.163828f, 0.063381f, -0.021427f, -0.020806f, -0.113155f, -0.091781f, 0.008481f, -0.105310f, -0.047576f, 0.056619f, 0.014124f, 0.070956f, 0.057428f, -0.029580f, 0.019193f, -0.006250f, -0.039040f, 0.008294f, -0.017398f, -0.018045f, 0.036263f, 0.012190f, 0.015384f, 0.047821f, -0.027643f, -0.011132f, 0.026229f, -0.036324f, -0.029450f, 0.013262f, -0.086011f, -0.014720f, 0.029562f, -0.069767f, 0.033996f, 0.042912f, 0.004655f, 0.108390f, 0.103538f, 0.023371f, 0.042045f, -0.030670f, -0.092479f, -0.046851f, -0.123093f, -0.140217f, -0.079268f, -0.034203f, 0.026490f, 0.132766f, 0.154366f, 0.161233f, 0.143613f, 0.081513f, -0.017916f, -0.090879f, -0.143040f, -0.200048f, -0.170747f, -0.094504f, -0.024415f, 0.079867f, 0.144275f, + 0.143461f, 0.128703f, 0.083125f, -0.015824f, -0.026528f, -0.041469f, -0.063077f, -0.044585f, -0.039792f, -0.046466f, -0.025716f, -0.013197f, -0.011886f, 0.009058f, 0.026246f, 0.035633f, 0.046051f, 0.042901f, 0.032981f, 0.014644f, 0.001170f, -0.017460f, -0.026079f, -0.034016f, -0.036274f, -0.035980f, -0.015318f, 0.001145f, 0.012410f, 0.012302f, 0.018599f, 0.019964f, 0.021207f, 0.015344f, 0.004335f, -0.002068f, -0.001308f, -0.007677f, -0.006494f, -0.005956f, -0.011444f, -0.013330f, -0.002966f, -0.004652f, -0.003280f, -0.002119f, -0.001571f, 0.004915f, 0.013253f, 0.010012f, 0.010329f, 0.010074f, 0.005654f, 0.001631f, -0.002091f, -0.010275f, -0.011303f, -0.012345f, -0.009166f, -0.005483f, -0.000353f, 0.001354f, 0.005741f, 0.008289f, 0.008725f, 0.004334f, 0.002833f, 0.000713f, 0.000586f, -0.000919f, -0.001603f, -0.003133f, -0.001072f, -0.001793f, -0.001490f, -0.002574f, -0.002488f, -0.003214f, -0.001768f, -0.002323f, 0.001159f, 0.003146f, 0.005595f, 0.005257f, 0.004999f, 0.002613f, 0.001792f, -0.001704f, -0.002871f, -0.003979f, -0.004411f, -0.005222f, -0.001939f, -0.001433f, 0.000402f, 0.000877f, + 0.002187f, 0.001764f, 0.003181f, 0.001526f, 0.001830f, 0.000367f, 0.000361f, -0.001218f, -0.000415f, -0.001402f, -0.000251f, -0.000709f}, + {0.001020f, 0.006386f, -0.008690f, -0.007109f, -0.001197f, 0.006848f, 0.010141f, -0.004785f, 0.005930f, -0.003292f, -0.008407f, -0.002330f, -0.004691f, 0.002751f, -0.001140f, -0.004092f, 0.003755f, 0.005649f, 0.001291f, 0.006833f, -0.012535f, -0.013586f, -0.008696f, 0.001244f, -0.000013f, -0.002338f, 0.000676f, 0.004123f, -0.001336f, 0.005574f, 0.004641f, -0.005946f, 0.002277f, -0.000462f, 0.007264f, 0.006661f, 0.002541f, -0.007116f, 0.004674f, -0.004246f, 0.002387f, 0.004638f, -0.011318f, 0.012372f, 0.018218f, 0.002364f, 0.008267f, -0.006719f, -0.001333f, -0.006308f, -0.003248f, 0.005619f, -0.001863f, -0.006523f, -0.001704f, -0.004114f, 0.003157f, -0.004012f, -0.003610f, 0.000347f, 0.003348f, -0.003330f, -0.003718f, -0.001639f, 0.006487f, 0.005804f, -0.004898f, -0.001828f, -0.005792f, 0.001320f, 0.007702f, 0.002117f, -0.002791f, -0.003688f, 0.002911f, -0.001050f, -0.005211f, -0.001929f, -0.003511f, -0.000527f, -0.001872f, 0.003018f, 0.002866f, 0.001509f, -0.001659f, -0.002339f, 0.005201f, -0.000721f, 0.001433f, 0.002667f, -0.000748f, -0.000092f, -0.001049f, 0.001560f, 0.000234f, 0.000377f, + -0.001490f, 0.000194f, -0.000455f, -0.001526f, 0.000100f, -0.000254f, 0.001144f, 0.002705f, -0.001489f, 0.000613f, -0.000267f, 0.001305f, 0.001653f, -0.000417f, -0.000642f, -0.000365f, -0.000055f, -0.001479f, -0.000582f, 0.000628f, -0.000528f, 0.000251f, -0.000002f, 0.001188f, 0.000294f, 0.000135f, 0.028005f, 0.012872f, -0.000959f, 0.005849f, 0.005334f, -0.006726f, -0.003280f, 0.007752f, 0.003543f, 0.008438f, -0.006130f, 0.012275f, 0.004628f, -0.012138f, 0.009636f, 0.000500f, -0.000206f, -0.006413f, 0.007054f, -0.013122f, -0.011236f, -0.002424f, -0.003987f, -0.002192f, -0.004005f, 0.001503f, -0.002426f, -0.005466f, -0.003927f, 0.004544f, -0.004964f, 0.003168f, 0.002026f, 0.001259f, -0.005481f, 0.007693f, -0.016125f, -0.002859f, -0.000075f, -0.002850f, -0.002015f, 0.001368f, 0.003026f, -0.005201f, 0.004130f, -0.006297f, 0.006016f, 0.001875f, 0.001326f, 0.006165f, -0.004356f, -0.001079f, 0.002521f, 0.009660f, 0.002410f, 0.004036f, -0.002222f, -0.008437f, -0.011732f, 0.002130f, 0.006386f, 0.008293f, -0.003402f, -0.013161f, 0.001963f, -0.005400f, -0.003653f, -0.003070f, 0.003650f, 0.000353f, + 0.012848f, -0.000414f, 0.004331f, 0.002486f, -0.001935f, -0.003375f, -0.003572f, -0.013446f, -0.003932f, -0.002226f, -0.001816f, -0.002600f, 0.002504f, 0.006688f, 0.001885f, 0.006343f, -0.000063f, -0.000635f, -0.002030f, 0.001721f, 0.002332f, -0.000673f, -0.002591f, 0.002229f, -0.001330f, 0.000858f, -0.001127f, 0.001144f, -0.001918f, -0.001221f, 0.001829f, 0.000560f, 0.001036f, -0.000727f, 0.000641f, -0.001261f, 0.015132f, 0.003457f, -0.012685f, -0.014497f, 0.004007f, -0.004450f, -0.011921f, 0.013540f, -0.006626f, -0.002266f, -0.001811f, 0.010608f, 0.002285f, -0.006218f, 0.007517f, -0.005839f, 0.011339f, -0.015661f, -0.010265f, 0.012394f, -0.012941f, -0.013150f, -0.005224f, 0.010585f, 0.004694f, 0.005042f, -0.001215f, 0.009478f, 0.005801f, -0.001042f, -0.012552f, 0.003348f, -0.003471f, 0.004471f, 0.004018f, 0.003370f, 0.010944f, 0.002868f, -0.010738f, 0.000929f, 0.007510f, 0.010940f, 0.003727f, -0.006088f, -0.001408f, -0.008951f, 0.003815f, -0.015829f, -0.000602f, 0.016961f, 0.000926f, 0.001760f, -0.008721f, -0.010877f, 0.001670f, 0.002293f, 0.012533f, -0.002794f, 0.001087f, 0.001250f, + -0.001844f, 0.001218f, 0.004170f, 0.000676f, 0.008816f, -0.002460f, 0.005857f, 0.000797f, 0.001586f, 0.000989f, 0.010339f, 0.000361f, -0.001438f, 0.001839f, -0.002202f, -0.007061f, -0.003720f, -0.007278f, -0.000164f, 0.012939f, 0.002731f, -0.004333f, -0.001461f, -0.007502f, 0.004225f, -0.005891f, -0.004084f, 0.001337f, 0.000217f, 0.000360f, -0.003354f, -0.004824f, -0.000982f, 0.001098f, -0.001597f, 0.002645f, -0.000305f, -0.000085f, 0.002664f, 0.001587f, 0.002683f, 0.002138f, -0.000032f, 0.000800f, -0.002182f, 0.000039f, -0.001937f, -0.002161f, 0.001455f, 0.001661f, 0.003075f, 0.002150f, -0.001497f, -0.000469f, 0.001624f, -0.001284f, -0.002359f, 0.001243f, 0.000331f, 0.000018f, 0.000300f, -0.034789f, -0.022554f, -0.005098f, 0.003869f, 0.005474f, 0.000681f, -0.000155f, -0.013150f, -0.000928f, -0.002794f, -0.002326f, 0.000380f, -0.003481f, -0.001439f, -0.009906f, 0.005169f, -0.020721f, -0.007451f, 0.001737f, -0.004056f, -0.006411f, -0.003528f, -0.011839f, -0.005868f, -0.004985f, -0.005489f, 0.002482f, -0.009004f, -0.005107f, 0.011326f, 0.007221f, 0.000836f, 0.005290f, 0.004045f, -0.003799f, + -0.007465f, 0.004360f, 0.016872f, 0.001791f, 0.002180f, -0.006737f, -0.005846f, 0.004824f, -0.014314f, -0.007773f, 0.016019f, -0.014695f, 0.004478f, -0.003593f, -0.007278f, 0.003252f, 0.001148f, -0.004174f, 0.001019f, 0.002328f, -0.004973f, -0.000073f, -0.000925f, 0.009716f, 0.008801f, 0.001167f, 0.002426f, 0.004143f, -0.000214f, -0.002043f, -0.003320f, -0.020363f, 0.009875f, 0.005985f, -0.005437f, -0.000349f, -0.008395f, -0.002435f, 0.001280f, -0.006325f, 0.002886f, -0.007647f, -0.004105f, -0.008882f, -0.012901f, 0.008401f, -0.002393f, 0.000247f, -0.010892f, -0.002876f, 0.001495f, 0.001681f, -0.002814f, -0.000645f, -0.000528f, -0.003167f, -0.005600f, 0.000766f, -0.002838f, 0.002302f, -0.000375f, -0.001575f, -0.001092f, -0.000739f, 0.002853f, 0.000337f, -0.004129f, 0.000650f, -0.001191f, -0.000497f, 0.001425f, 0.000481f, -0.001022f, 0.000843f, -0.003228f, 0.001620f, -0.002929f, -0.001086f, -0.003828f, -0.030070f, 0.004721f, 0.006928f, -0.001784f, -0.002726f, -0.016486f, -0.006886f, 0.004657f, -0.014910f, -0.014091f, 0.002809f, -0.013398f, -0.007044f, -0.000236f, -0.008242f, 0.004712f, -0.006513f, + 0.010244f, -0.005431f, -0.003400f, 0.003118f, 0.007199f, 0.013031f, 0.008307f, -0.014688f, -0.000680f, -0.001159f, 0.007318f, 0.010731f, 0.018471f, -0.008229f, -0.007101f, 0.009446f, -0.009913f, 0.002262f, 0.002995f, 0.015447f, 0.005802f, 0.008596f, -0.011425f, -0.005161f, -0.015641f, 0.012412f, 0.013173f, 0.014953f, -0.000119f, -0.003278f, -0.009937f, -0.002157f, 0.010208f, -0.004725f, -0.006358f, -0.006011f, -0.007775f, 0.001666f, 0.001977f, 0.002331f, -0.010683f, -0.000179f, -0.010464f, -0.000604f, -0.001463f, 0.004284f, 0.003849f, -0.003275f, -0.004682f, -0.013439f, -0.000663f, -0.001096f, 0.008389f, -0.005200f, 0.013861f, -0.007848f, 0.001835f, 0.006357f, 0.012606f, -0.009665f, 0.003012f, 0.006536f, -0.011095f, 0.005616f, 0.000124f, 0.013815f, 0.004734f, 0.003095f, 0.008620f, -0.000856f, 0.002453f, 0.006540f, 0.002770f, 0.000081f, -0.002287f, 0.000121f, 0.002883f, -0.000876f, 0.003628f, 0.005370f, 0.004509f, -0.002004f, 0.002560f, 0.000365f, -0.001321f, 0.002169f, 0.002950f, 0.000029f, 0.001423f, 0.003459f, 0.002651f, 0.002799f, 0.001458f, -0.001306f, -0.002094f, 0.002683f, + -0.002257f, 0.002675f, -0.001246f, 0.000243f, 0.003435f, 0.002564f, -0.000650f, 0.001898f, 0.037316f, 0.031561f, -0.000910f, 0.000714f, 0.016774f, 0.002025f, 0.008334f, -0.005191f, 0.009313f, -0.007226f, 0.016932f, 0.005486f, 0.000260f, 0.003179f, 0.001400f, 0.020908f, 0.014508f, -0.014087f, -0.011306f, 0.004265f, 0.002469f, -0.004670f, -0.002775f, 0.002452f, 0.010370f, 0.007298f, 0.004861f, 0.000859f, 0.005585f, -0.003757f, -0.000045f, 0.011419f, -0.012561f, 0.004910f, 0.015786f, 0.011440f, 0.021377f, -0.002307f, -0.002983f, -0.002069f, 0.001567f, -0.006975f, 0.023211f, 0.020838f, 0.015283f, -0.007230f, -0.001864f, 0.008733f, 0.007530f, -0.006654f, 0.001667f, 0.011832f, -0.004275f, -0.005867f, 0.007901f, -0.022560f, -0.002366f, 0.001013f, 0.003516f, -0.007783f, -0.014374f, 0.005741f, 0.010218f, -0.012101f, -0.004195f, -0.013140f, 0.005043f, 0.000687f, -0.002491f, -0.002998f, -0.011044f, 0.018663f, -0.004746f, 0.002320f, -0.018983f, -0.004780f, -0.008949f, 0.022236f, -0.003743f, -0.003303f, 0.010220f, 0.004405f, 0.000155f, -0.007385f, 0.006863f, -0.004933f, -0.006478f, 0.010194f, + 0.009911f, -0.000363f, 0.006269f, 0.000003f, -0.002554f, 0.005308f, -0.000651f, 0.001940f, -0.001584f, -0.002654f, -0.000413f, 0.004083f, -0.002986f, -0.002650f, 0.000060f, -0.003473f, 0.001363f, -0.003152f, -0.001500f, 0.000066f, -0.000340f, 0.004058f, 0.000327f, 0.001041f, 0.002917f, 0.002528f, 0.000914f, 0.001206f, 0.002441f, 0.005481f, 0.001267f, 0.005155f, 0.001091f, 0.002448f, 0.004087f, 0.024443f, -0.000965f, 0.015457f, 0.021072f, -0.011114f, -0.025984f, 0.001117f, 0.019740f, -0.015261f, 0.013858f, -0.004098f, -0.018806f, -0.008644f, 0.018918f, -0.018460f, -0.016335f, 0.011925f, -0.018887f, 0.006325f, 0.008994f, 0.007442f, -0.005365f, 0.011472f, 0.003214f, 0.002188f, 0.007347f, -0.012017f, 0.016425f, 0.008131f, 0.007128f, -0.003349f, -0.001841f, 0.030677f, -0.010733f, 0.001948f, 0.007966f, 0.015462f, -0.020956f, -0.017198f, -0.016071f, 0.000669f, 0.001182f, -0.001025f, 0.009744f, 0.003085f, 0.017398f, 0.007056f, 0.010195f, -0.001586f, 0.001362f, -0.008548f, 0.015551f, -0.006987f, 0.015341f, -0.008311f, -0.013231f, 0.022880f, 0.018539f, -0.026187f, -0.023162f, -0.015169f, + -0.011906f, 0.008324f, 0.001313f, -0.005254f, 0.012082f, 0.013381f, -0.015978f, 0.009474f, -0.001287f, -0.031933f, -0.010564f, -0.016069f, -0.014628f, 0.005609f, -0.004973f, 0.010578f, -0.002410f, 0.001649f, 0.019153f, 0.019567f, -0.001797f, 0.005200f, -0.001684f, 0.003107f, 0.002771f, -0.006521f, 0.005505f, 0.001677f, -0.000233f, 0.016527f, 0.004963f, -0.000041f, 0.000512f, -0.002860f, 0.004882f, -0.000459f, 0.003223f, -0.003480f, -0.000171f, -0.003674f, 0.001028f, 0.004364f, 0.001379f, 0.000070f, -0.000484f, 0.003829f, 0.002445f, -0.002283f, 0.000359f, -0.000019f, 0.000601f, 0.001988f, 0.000877f, -0.001480f, -0.001795f, 0.000615f, 0.001113f, -0.000134f, -0.013802f, -0.019509f, 0.011736f, -0.011243f, -0.008143f, -0.007006f, -0.022538f, -0.002434f, 0.010157f, -0.006172f, -0.001298f, -0.008313f, 0.018697f, 0.002824f, 0.011934f, 0.009008f, -0.014944f, 0.015369f, 0.023155f, -0.007124f, -0.009363f, 0.002436f, -0.003942f, 0.009923f, -0.028484f, 0.010894f, 0.024798f, -0.003331f, -0.008025f, -0.007091f, 0.010824f, 0.022109f, -0.005186f, 0.005553f, -0.009814f, 0.015135f, -0.018217f, -0.007046f, + 0.003626f, -0.002897f, -0.014120f, 0.026090f, 0.018491f, 0.013763f, -0.005748f, -0.019720f, -0.002354f, -0.027999f, 0.004901f, -0.002067f, -0.000824f, -0.000616f, -0.004148f, 0.015126f, 0.012905f, -0.019460f, 0.010931f, -0.011664f, 0.016140f, -0.001505f, -0.003190f, -0.001364f, -0.016954f, -0.003281f, -0.015462f, -0.034410f, -0.001495f, 0.003996f, 0.002781f, -0.013227f, -0.000382f, -0.003803f, -0.025617f, 0.000495f, 0.022369f, -0.014119f, 0.005904f, 0.007255f, -0.002764f, 0.001559f, -0.006537f, -0.003930f, 0.005301f, 0.006325f, 0.007059f, -0.001800f, -0.004416f, -0.001733f, -0.004751f, 0.003914f, 0.001994f, -0.004078f, -0.001111f, -0.003752f, -0.004001f, -0.000562f, -0.003591f, -0.005566f, 0.003471f, -0.001178f, -0.004190f, 0.003342f, -0.002918f, 0.002752f, 0.004297f, 0.001767f, 0.004131f, 0.002862f, 0.000008f, 0.002704f, 0.009260f, 0.004415f, -0.004526f, -0.003169f, -0.005205f, -0.000004f, -0.006751f, 0.003576f, -0.000348f, 0.005241f, -0.001347f, 0.004081f, -0.000655f, -0.002917f, 0.008741f, 0.004165f, -0.036115f, 0.002539f, 0.021051f, 0.011499f, -0.016461f, -0.013378f, 0.026390f, 0.006101f, + 0.005925f, -0.005202f, 0.006822f, -0.000270f, -0.017664f, -0.004603f, -0.018552f, 0.008770f, -0.011057f, -0.001689f, -0.018078f, -0.020000f, -0.026897f, 0.016820f, 0.011343f, -0.008628f, -0.009599f, 0.007551f, -0.024703f, -0.002258f, 0.001846f, 0.005959f, 0.010837f, 0.005294f, 0.000679f, -0.008550f, 0.003577f, -0.007852f, 0.006499f, -0.007533f, 0.004287f, 0.002278f, -0.007838f, -0.010166f, -0.019367f, -0.012775f, 0.004876f, -0.033030f, -0.009022f, 0.018107f, 0.009620f, -0.003994f, 0.043086f, -0.006253f, 0.019947f, 0.019741f, -0.031444f, 0.002036f, -0.004200f, -0.026550f, -0.013909f, -0.014618f, 0.000435f, 0.003095f, 0.029762f, -0.004807f, 0.002834f, 0.020180f, 0.014947f, -0.003536f, 0.020079f, -0.009550f, -0.007415f, -0.013452f, -0.017859f, -0.025969f, -0.009896f, 0.014796f, -0.028303f, -0.014432f, 0.021812f, 0.015917f, -0.009560f, 0.019958f, -0.008927f, -0.001391f, -0.000924f, 0.009597f, -0.006283f, 0.009564f, -0.006020f, 0.008181f, -0.002403f, 0.003376f, -0.003879f, 0.006619f, 0.006323f, 0.002748f, -0.001151f, 0.007472f, -0.004866f, -0.005487f, 0.005813f, -0.001642f, 0.006347f, 0.004643f, + 0.003136f, 0.004295f, 0.002594f, 0.001218f, -0.010924f, -0.002020f, -0.000127f, 0.003037f, -0.002923f, -0.004610f, -0.003868f, -0.010437f, 0.003938f, -0.000218f, 0.006567f, 0.003715f, 0.006392f, 0.004877f, 0.001347f, 0.001970f, 0.024929f, -0.004422f, 0.008109f, -0.012229f, 0.007258f, 0.010309f, -0.006251f, 0.008802f, -0.013646f, -0.015203f, 0.023132f, 0.012455f, 0.014977f, 0.018269f, 0.000028f, -0.015209f, 0.019992f, -0.017507f, -0.023279f, 0.000239f, 0.022055f, -0.003248f, -0.018897f, 0.002503f, 0.025934f, -0.003819f, 0.007200f, 0.002404f, 0.036334f, 0.002193f, 0.007859f, 0.017778f, -0.002170f, -0.009349f, -0.017253f, 0.002356f, -0.002308f, -0.016776f, 0.000641f, -0.009924f, 0.006748f, 0.024464f, 0.000339f, -0.014910f, -0.004301f, -0.013833f, -0.007221f, -0.002236f, -0.005710f, 0.003227f, -0.018229f, 0.019569f, -0.010305f, 0.033126f, -0.008296f, -0.024237f, 0.001463f, 0.001075f, 0.011869f, 0.004935f, 0.006458f, -0.024860f, -0.019996f, 0.014407f, -0.020828f, -0.029211f, 0.008429f, 0.005681f, -0.006543f, 0.031372f, -0.025539f, -0.035593f, 0.013350f, -0.024337f, 0.002397f, 0.003245f, + 0.000762f, -0.023409f, -0.014121f, -0.030416f, 0.010460f, -0.003153f, -0.001607f, -0.004784f, -0.013434f, -0.006175f, -0.010177f, -0.005163f, -0.003913f, 0.011467f, -0.008792f, 0.008782f, 0.003296f, 0.009070f, 0.001595f, 0.001083f, -0.012315f, -0.004618f, 0.003414f, -0.004087f, -0.013449f, 0.002558f, -0.002139f, -0.005374f, -0.004704f, 0.004193f, -0.005379f, 0.005697f, -0.003064f, 0.006939f, -0.001313f, 0.003482f, -0.007005f, -0.007023f, -0.000192f, 0.000413f, -0.002476f, 0.010528f, -0.009271f, -0.008972f, -0.005803f, 0.005045f, 0.005625f, -0.007296f, 0.005441f, 0.001505f, -0.019291f, 0.010700f, 0.001109f, 0.026351f, 0.027674f, 0.039907f, 0.018248f, 0.008481f, 0.005575f, 0.013173f, -0.013521f, 0.015229f, -0.024001f, 0.011735f, -0.002313f, -0.002009f, -0.046044f, -0.017802f, -0.007519f, 0.015727f, -0.001922f, 0.003841f, 0.005046f, 0.004215f, -0.023505f, 0.024408f, -0.000869f, 0.009958f, 0.000865f, 0.022785f, -0.024387f, 0.017028f, -0.011959f, -0.000546f, 0.018489f, -0.020889f, -0.009293f, -0.022766f, -0.009017f, -0.025355f, 0.023192f, 0.017042f, 0.031136f, -0.001485f, 0.007415f, -0.028263f, + 0.006509f, -0.029301f, 0.028577f, 0.008110f, -0.004571f, 0.027049f, 0.027620f, 0.014128f, -0.016357f, -0.024470f, -0.035245f, -0.001521f, -0.012437f, -0.017751f, 0.019227f, -0.005228f, 0.044682f, -0.033006f, -0.011988f, 0.025556f, -0.026543f, -0.010532f, 0.006198f, 0.000516f, -0.003815f, -0.025495f, 0.011728f, 0.004392f, -0.013831f, 0.012692f, 0.026960f, -0.023065f, 0.026025f, 0.032375f, -0.009613f, -0.017064f, 0.013381f, -0.013083f, 0.012369f, 0.007923f, -0.013465f, -0.010480f, -0.002617f, -0.004152f, 0.019025f, 0.006455f, -0.003149f, -0.009142f, -0.014980f, -0.008449f, 0.004836f, -0.009564f, 0.004683f, 0.009196f, 0.005930f, -0.006408f, 0.005030f, -0.005231f, 0.007310f, 0.004773f, 0.008148f, 0.004960f, 0.000457f, -0.008423f, 0.005644f, 0.008552f, -0.008484f, 0.000424f, 0.003050f, 0.003235f, 0.007409f, 0.000747f, -0.000854f, 0.008149f, 0.010004f, 0.002021f, -0.004426f, -0.007650f, -0.000091f, 0.006955f, 0.008452f, 0.005785f, 0.041565f, -0.009516f, 0.005900f, -0.002249f, -0.013641f, 0.018600f, -0.006774f, 0.006879f, 0.002281f, 0.026661f, -0.008348f, 0.031096f, 0.000572f, 0.015477f, + 0.013806f, -0.002461f, -0.010029f, -0.030303f, 0.014446f, 0.031542f, 0.001718f, -0.000210f, 0.021954f, 0.018575f, -0.001279f, 0.003438f, 0.037617f, 0.023537f, -0.006733f, 0.008193f, 0.024760f, -0.006205f, -0.027271f, 0.000674f, -0.019780f, -0.003107f, -0.012510f, 0.001186f, -0.037743f, -0.011267f, -0.013701f, 0.000670f, 0.007997f, 0.007995f, 0.036874f, 0.040691f, 0.021530f, -0.028094f, -0.016504f, 0.022889f, 0.032155f, 0.006820f, -0.029187f, -0.004772f, -0.006839f, -0.030496f, -0.019185f, -0.023078f, 0.028366f, -0.010516f, 0.003982f, -0.028696f, 0.041933f, 0.030920f, -0.003358f, 0.012818f, 0.069538f, -0.003452f, -0.014114f, -0.026626f, -0.001497f, 0.018515f, 0.014732f, -0.010675f, 0.021053f, 0.041612f, -0.017673f, 0.026570f, -0.011943f, 0.008751f, -0.016548f, -0.008975f, -0.014258f, -0.018769f, -0.009558f, 0.012425f, 0.000087f, -0.004059f, 0.003147f, 0.005209f, 0.022547f, -0.002397f, 0.002374f, -0.000176f, -0.010216f, -0.001033f, -0.003561f, 0.002167f, 0.009209f, -0.005779f, -0.002638f, -0.007181f, -0.003307f, 0.002642f, 0.002906f, -0.002534f, -0.014652f, -0.013719f, -0.004589f, -0.016916f, + -0.014716f, -0.002602f, 0.013347f, 0.011785f, 0.010238f, 0.002371f, -0.002179f, 0.000711f, 0.005778f, 0.004813f, -0.001673f, 0.003352f, 0.002481f, 0.021384f, 0.002188f, -0.012845f, 0.012706f, 0.004915f, -0.017776f, -0.030095f, 0.039070f, -0.024542f, 0.029490f, -0.021572f, -0.032066f, 0.001469f, 0.040473f, 0.025883f, -0.029775f, -0.020060f, 0.006985f, 0.005854f, 0.013748f, -0.002455f, 0.027022f, 0.014253f, 0.035581f, -0.013041f, -0.005858f, -0.001353f, -0.006786f, -0.034299f, -0.025126f, -0.007996f, 0.035777f, 0.007330f, 0.002892f, 0.001109f, -0.033168f, -0.037964f, -0.029179f, 0.015025f, 0.017372f, -0.013047f, -0.008453f, 0.003212f, 0.004198f, -0.020289f, 0.005913f, 0.037544f, 0.006697f, 0.023484f, 0.023273f, 0.016564f, 0.040496f, 0.057901f, 0.019143f, 0.000916f, 0.008448f, 0.022811f, -0.012007f, -0.006529f, 0.015504f, -0.005312f, 0.008338f, -0.005444f, 0.025144f, 0.008799f, 0.017839f, -0.005007f, -0.006567f, 0.012649f, 0.033565f, -0.002510f, -0.027339f, 0.017492f, -0.042840f, -0.049875f, -0.016958f, 0.025702f, -0.016539f, -0.049318f, -0.030021f, -0.012591f, 0.018080f, 0.012228f, + -0.026545f, 0.047752f, -0.015274f, -0.033561f, 0.008842f, 0.013037f, -0.010932f, 0.016571f, -0.017203f, -0.006844f, 0.006282f, 0.004457f, -0.009006f, 0.008416f, 0.001669f, 0.015056f, -0.008280f, -0.018062f, -0.010436f, 0.002991f, -0.003931f, -0.003665f, -0.001382f, 0.000116f, -0.001406f, 0.012231f, -0.002061f, 0.002028f, -0.004921f, 0.005643f, 0.010146f, 0.001977f, 0.009726f, 0.003021f, -0.015042f, -0.006648f, 0.000086f, -0.013008f, -0.015369f, 0.007433f, 0.010838f, -0.008413f, -0.016401f, -0.018017f, 0.007396f, 0.003049f, -0.000784f, 0.011703f, -0.006752f, 0.004289f, 0.016003f, -0.069788f, 0.004032f, 0.034910f, -0.006224f, -0.008569f, 0.043019f, -0.023237f, -0.023426f, -0.030504f, -0.009765f, -0.010522f, -0.019880f, 0.005639f, 0.010029f, 0.016149f, 0.011867f, -0.009990f, -0.007402f, -0.003744f, -0.008327f, 0.002523f, 0.008258f, 0.034462f, -0.014722f, -0.045440f, 0.024300f, -0.000164f, -0.001146f, -0.037861f, 0.016897f, 0.006918f, -0.003714f, 0.042353f, -0.012067f, 0.004275f, -0.003802f, 0.018465f, 0.022877f, -0.025375f, -0.002315f, -0.014407f, -0.001492f, 0.012392f, -0.009323f, 0.019178f, + -0.030387f, -0.025872f, -0.015995f, -0.027619f, -0.004615f, 0.002072f, 0.004336f, -0.038477f, -0.024913f, 0.017712f, 0.030813f, -0.014995f, -0.017071f, 0.015725f, -0.034741f, -0.032006f, -0.030477f, 0.033169f, -0.056613f, 0.017979f, -0.002982f, -0.033892f, -0.010604f, 0.027793f, 0.072144f, -0.010114f, -0.019853f, 0.023299f, 0.055322f, 0.019391f, -0.012433f, -0.013878f, -0.002501f, 0.014656f, -0.001012f, 0.006577f, 0.032930f, 0.001671f, -0.012290f, -0.023744f, 0.019294f, -0.027928f, -0.018702f, -0.014167f, 0.009695f, -0.011830f, -0.019871f, -0.013105f, -0.012094f, -0.000707f, -0.014665f, 0.004490f, -0.011370f, -0.001566f, -0.003734f, 0.013398f, -0.010570f, -0.008862f, -0.021650f, -0.007026f, -0.003866f, -0.007874f, 0.020528f, -0.015748f, -0.019471f, -0.001846f, -0.017093f, -0.016215f, -0.007165f, 0.001699f, 0.015374f, -0.002639f, -0.006620f, -0.003597f, -0.010232f, 0.006569f, -0.020612f, -0.002415f, 0.021240f, 0.009480f, 0.013887f, -0.006017f, 0.005247f, 0.006170f, -0.005147f, -0.008736f, -0.011646f, 0.003481f, 0.005473f, 0.008674f, 0.009647f, -0.004069f, -0.039169f, -0.062263f, -0.003723f, 0.071581f, + -0.011546f, -0.005031f, -0.047366f, -0.003481f, -0.003262f, 0.005012f, 0.015532f, 0.002244f, 0.012896f, 0.001027f, -0.000882f, -0.033580f, 0.004690f, 0.030744f, -0.020800f, 0.038109f, -0.016128f, -0.002247f, -0.033804f, 0.021695f, -0.016895f, -0.010794f, -0.038991f, -0.052594f, 0.026817f, -0.025609f, -0.025441f, 0.009374f, 0.005300f, -0.011221f, 0.002481f, 0.029985f, -0.008967f, -0.028342f, -0.017801f, -0.036327f, -0.004583f, 0.010583f, 0.025138f, 0.005339f, -0.007550f, -0.006085f, -0.015224f, 0.008925f, 0.026119f, 0.004523f, -0.016534f, 0.030028f, -0.028694f, 0.003258f, -0.049364f, -0.014306f, -0.009764f, 0.060916f, -0.038487f, 0.012618f, -0.012578f, 0.008196f, -0.007183f, -0.006553f, 0.001065f, 0.024924f, 0.007380f, -0.044562f, 0.049156f, 0.015297f, 0.017491f, 0.006616f, -0.019731f, -0.014747f, -0.005718f, 0.006487f, -0.001182f, 0.010103f, -0.026724f, -0.027486f, -0.004608f, 0.013794f, 0.029861f, -0.018270f, 0.025322f, -0.005974f, 0.009834f, -0.019790f, 0.011380f, -0.032426f, 0.036540f, 0.001879f, 0.004031f, 0.012288f, 0.016463f, 0.001881f, -0.022872f, -0.010743f, 0.006126f, -0.021385f, + 0.005851f, 0.010461f, 0.009130f, -0.012604f, -0.008022f, 0.022211f, 0.003993f, -0.021982f, -0.003224f, 0.019302f, -0.007177f, -0.027105f, 0.031008f, -0.008144f, 0.011983f, -0.004951f, -0.008906f, -0.014311f, 0.009537f, 0.002923f, 0.009926f, 0.001792f, 0.016666f, 0.002269f, 0.011990f, -0.005519f, 0.000830f, 0.007797f, -0.004222f, -0.006292f, -0.030474f, -0.018478f, 0.066662f, -0.008461f, 0.006028f, -0.034653f, 0.031390f, -0.018043f, 0.023253f, -0.018204f, 0.040484f, 0.003826f, 0.004607f, -0.019578f, -0.015358f, 0.023146f, 0.052319f, -0.021690f, -0.031013f, 0.014766f, -0.011877f, 0.034046f, 0.043697f, 0.021189f, -0.005923f, 0.026616f, -0.017170f, -0.016559f, 0.036808f, 0.049844f, -0.055273f, 0.004538f, 0.008905f, 0.009427f, -0.018322f, -0.001340f, 0.023128f, -0.056463f, 0.017545f, 0.032971f, 0.012998f, -0.025122f, -0.006357f, 0.040495f, 0.033766f, 0.011027f, -0.018475f, -0.024900f, -0.048257f, 0.069694f, 0.013216f, 0.035839f, -0.004613f, -0.014829f, 0.008409f, 0.020871f, 0.001263f, -0.001107f, -0.056168f, 0.008815f, 0.054166f, -0.009546f, 0.051933f, -0.030765f, -0.013214f, -0.021442f, + 0.012586f, 0.048310f, -0.014591f, -0.001361f, 0.044291f, 0.053368f, -0.016775f, -0.038930f, -0.034142f, -0.030263f, -0.013488f, -0.012753f, 0.031311f, -0.037511f, 0.021095f, 0.023195f, -0.007904f, 0.002719f, 0.024681f, -0.004586f, -0.013220f, 0.014538f, 0.010859f, 0.007790f, 0.022749f, 0.004944f, -0.003334f, 0.020120f, 0.007770f, 0.008562f, 0.010771f, -0.003356f, 0.001811f, -0.004471f, 0.009277f, -0.036738f, -0.009643f, 0.001655f, -0.006602f, 0.014455f, -0.027087f, -0.003027f, 0.000903f, 0.009923f, -0.000105f, 0.015710f, 0.011415f, -0.007335f, 0.022674f, 0.011400f, -0.007146f, 0.016085f, 0.017845f, 0.000290f, -0.010624f, 0.008546f, 0.017386f, 0.010349f, -0.001962f, -0.016114f, -0.007349f, 0.004385f, 0.003114f, 0.002743f, -0.015054f, 0.026346f, 0.019434f, 0.046527f, -0.014026f, 0.033708f, -0.017774f, -0.007097f, 0.031403f, -0.001025f, 0.042790f, -0.051493f, 0.032394f, 0.005944f, 0.014458f, -0.020662f, 0.015760f, 0.038529f, 0.074907f, -0.017119f, 0.019140f, -0.000946f, -0.049457f, 0.045600f, 0.004771f, 0.017904f, -0.008894f, -0.023095f, -0.008449f, -0.001764f, -0.019062f, -0.011957f, + 0.063681f, 0.004593f, 0.024620f, -0.018007f, 0.045212f, 0.000417f, 0.022052f, 0.009399f, -0.026093f, -0.005432f, -0.015999f, 0.000674f, 0.008379f, 0.053395f, 0.027329f, 0.002447f, 0.006573f, -0.001678f, -0.004153f, 0.008935f, 0.005579f, 0.033539f, 0.027404f, 0.013882f, -0.015569f, 0.023367f, 0.048943f, -0.045724f, 0.042938f, 0.007077f, 0.013118f, -0.045942f, -0.021635f, -0.057784f, -0.046524f, -0.009007f, 0.031526f, 0.026285f, -0.080132f, -0.000357f, -0.035974f, 0.019294f, 0.080601f, 0.040533f, -0.051341f, 0.028468f, -0.020939f, -0.026412f, 0.044555f, 0.022585f, -0.022429f, -0.012446f, 0.039254f, 0.032116f, 0.017754f, 0.049767f, -0.013038f, 0.030617f, 0.027070f, -0.031357f, 0.044556f, 0.012373f, 0.051666f, 0.015876f, -0.004437f, 0.030466f, -0.002812f, 0.008120f, -0.035736f, 0.027375f, -0.017253f, 0.014369f, -0.012745f, 0.006484f, 0.017068f, 0.041148f, 0.011058f, 0.025114f, 0.006625f, 0.008199f, -0.013097f, -0.002775f, -0.004466f, 0.003607f, 0.020862f, 0.017801f, 0.031200f, 0.011683f, -0.003379f, 0.005210f, -0.006900f, -0.003786f, -0.030668f, -0.004929f, 0.008056f, 0.010102f, + 0.026960f, 0.024040f, 0.021851f, 0.025206f, -0.066612f, -0.104618f, -0.026252f, -0.012582f, -0.024801f, 0.004865f, 0.035813f, -0.037451f, 0.053611f, 0.018432f, -0.075284f, -0.059269f, -0.010898f, 0.040754f, 0.002308f, 0.002627f, -0.007156f, -0.024971f, -0.072849f, 0.002189f, -0.061075f, -0.052103f, 0.025945f, 0.019127f, 0.018998f, -0.009483f, -0.023193f, 0.055006f, 0.034267f, -0.024488f, -0.047458f, 0.036062f, 0.019438f, 0.007900f, -0.021898f, -0.057292f, 0.022302f, -0.027296f, 0.009291f, -0.048896f, 0.059333f, 0.000715f, -0.022635f, 0.004984f, 0.015536f, 0.047555f, 0.030981f, -0.013070f, -0.001613f, 0.016211f, 0.017526f, 0.017918f, -0.010191f, -0.076175f, -0.058582f, 0.011351f, -0.007377f, 0.043547f, -0.007682f, -0.019598f, -0.052480f, 0.061262f, 0.024540f, -0.043735f, -0.043706f, 0.062883f, 0.060294f, -0.001210f, 0.044443f, -0.006405f, 0.002294f, -0.018602f, -0.010177f, -0.034647f, 0.042865f, -0.008315f, -0.008759f, -0.018745f, 0.018142f, -0.054163f, 0.026108f, -0.016204f, -0.009301f, 0.037635f, -0.000045f, 0.005562f, 0.010363f, 0.034537f, 0.018681f, -0.014710f, 0.026761f, -0.008167f, + 0.032147f, 0.011982f, -0.034420f, 0.008358f, -0.017086f, 0.016337f, -0.013709f, 0.000001f, -0.022585f, -0.012368f, 0.013677f, -0.023493f, 0.010677f, 0.007609f, 0.010953f, -0.021003f, -0.013969f, -0.026925f, -0.022485f, 0.030799f, -0.010343f, 0.019805f, 0.013498f, -0.019275f, -0.001802f, -0.016868f, 0.001572f, -0.010763f, 0.040205f, 0.032950f, 0.023370f, 0.030788f, -0.006671f, -0.034515f, -0.038412f, -0.005761f, 0.012871f, 0.057170f, 0.035957f, -0.013293f, -0.009712f, -0.015476f, -0.027522f, -0.001779f, 0.013973f, 0.019865f, 0.013591f, 0.006366f, 0.035799f, 0.004147f, -0.026216f, -0.065289f, 0.103293f, 0.003204f, -0.080917f, -0.005493f, -0.030481f, 0.014177f, 0.039293f, 0.036801f, -0.045267f, -0.071135f, 0.011686f, -0.033735f, 0.010376f, -0.006397f, 0.031063f, -0.009783f, 0.003963f, 0.019391f, -0.029863f, -0.035329f, 0.003239f, 0.010038f, 0.030757f, -0.000110f, -0.050654f, 0.033564f, -0.028496f, 0.026511f, -0.024838f, -0.015919f, -0.003285f, -0.007334f, -0.054410f, 0.010738f, 0.014501f, -0.051454f, 0.021482f, -0.019843f, 0.009888f, -0.016751f, 0.049770f, 0.039804f, -0.051273f, -0.026297f, + 0.034111f, 0.044052f, -0.052451f, 0.069170f, 0.003910f, 0.055822f, 0.039560f, 0.065761f, -0.020677f, -0.026994f, 0.014091f, -0.053390f, 0.007723f, 0.007478f, 0.094354f, -0.028766f, -0.089718f, 0.151224f, -0.071667f, -0.054067f, 0.086285f, 0.039871f, -0.051173f, 0.085014f, 0.008866f, -0.068039f, 0.084924f, 0.010984f, 0.007131f, -0.014264f, 0.012035f, 0.057371f, -0.014388f, -0.019098f, -0.030036f, 0.042892f, -0.015896f, -0.010152f, -0.006453f, -0.016374f, -0.018724f, -0.025811f, 0.024823f, -0.003125f, -0.002892f, -0.008941f, -0.007057f, 0.003849f, -0.011960f, -0.019241f, 0.002003f, -0.015452f, -0.030357f, -0.030402f, 0.038038f, -0.016142f, 0.003052f, 0.036224f, -0.017669f, -0.015713f, 0.001974f, 0.018267f, 0.007065f, 0.008120f, 0.033712f, -0.020555f, 0.004417f, -0.015000f, -0.010265f, -0.006283f, 0.056110f, 0.028692f, -0.009744f, 0.008627f, -0.030560f, 0.010189f, -0.028013f, -0.016503f, 0.012752f, -0.006717f, -0.057246f, 0.035512f, 0.013757f, -0.009991f, -0.000720f, -0.028586f, -0.004431f, 0.000957f, -0.093476f, 0.012913f, 0.028043f, -0.070188f, 0.032124f, 0.018527f, -0.024583f, -0.007046f, + -0.001219f, -0.017241f, -0.005634f, -0.010125f, -0.031268f, 0.000824f, -0.015596f, -0.003501f, -0.007679f, 0.015173f, 0.055868f, 0.046704f, -0.043111f, -0.004833f, 0.058785f, -0.010376f, -0.011045f, -0.060218f, 0.006944f, 0.019656f, -0.009845f, 0.051154f, 0.122842f, -0.041426f, -0.051790f, 0.087363f, -0.005858f, -0.047273f, 0.054559f, 0.035818f, -0.028338f, -0.042489f, -0.052394f, 0.015840f, 0.028058f, -0.023460f, 0.082380f, 0.053634f, -0.102841f, -0.098793f, 0.057467f, -0.046581f, -0.060181f, 0.077841f, 0.012497f, 0.104249f, 0.050051f, -0.012835f, -0.014114f, -0.075516f, -0.058826f, 0.171314f, 0.047268f, -0.036986f, -0.083082f, 0.002114f, -0.033913f, -0.074328f, -0.011660f, 0.086622f, 0.036822f, 0.000886f, 0.071355f, 0.062259f, -0.019938f, -0.079814f, 0.012200f, 0.047471f, -0.019907f, -0.018857f, 0.099454f, 0.057022f, 0.009733f, -0.010724f, -0.051396f, -0.050478f, -0.013149f, 0.047157f, 0.018925f, -0.019546f, -0.009338f, -0.022585f, 0.018443f, -0.014631f, -0.019420f, -0.012679f, -0.002614f, 0.013944f, 0.018925f, 0.016703f, 0.006866f, -0.045888f, -0.016199f, -0.009248f, 0.016906f, -0.018044f, + 0.002849f, -0.005044f, 0.041592f, -0.027373f, -0.019125f, 0.042936f, 0.011754f, -0.022238f, 0.033760f, -0.012240f, 0.009615f, 0.002345f, 0.007407f, -0.026482f, -0.007434f, 0.035243f, 0.034501f, 0.014119f, -0.014231f, 0.008954f, -0.016293f, -0.013173f, -0.010192f, 0.018299f, -0.029657f, -0.006548f, 0.022756f, 0.092068f, 0.078359f, -0.021631f, 0.055955f, 0.004768f, -0.041786f, 0.026446f, 0.047927f, 0.014793f, 0.021252f, -0.062465f, -0.011608f, 0.006304f, 0.013376f, -0.009974f, -0.052609f, -0.020194f, 0.020217f, -0.013949f, -0.004779f, -0.046204f, 0.070427f, 0.007790f, -0.056467f, 0.031578f, 0.082518f, -0.043042f, -0.023666f, 0.011027f, 0.027799f, -0.027247f, -0.050536f, 0.043172f, 0.075104f, -0.006870f, -0.028344f, 0.008721f, 0.021866f, 0.032897f, 0.048406f, 0.002205f, 0.087421f, -0.002867f, -0.095605f, -0.000180f, -0.010036f, 0.030519f, -0.009276f, -0.079680f, -0.001364f, -0.034953f, -0.032401f, 0.046318f, 0.025661f, 0.026006f, 0.034763f, -0.071529f, -0.036104f, -0.013357f, -0.000138f, 0.027527f, 0.001801f, -0.015401f, 0.002791f, -0.025141f, -0.047294f, 0.003679f, 0.075610f, -0.039451f, + 0.007931f, -0.030885f, -0.020592f, 0.050153f, -0.062119f, -0.001714f, 0.028452f, -0.023276f, 0.011128f, 0.006822f, 0.016462f, 0.017100f, -0.032436f, -0.040858f, 0.067772f, -0.014978f, -0.020933f, 0.033440f, -0.033584f, 0.020464f, 0.005098f, -0.015214f, 0.011337f, 0.027894f, -0.004725f, 0.002812f, -0.013505f, 0.005856f, 0.002589f, -0.003053f, -0.011978f, 0.014698f, 0.008699f, -0.002745f, -0.000584f, 0.012119f, 0.011812f, -0.013546f, -0.021514f, 0.010990f, -0.000584f, 0.004994f, 0.002052f, -0.007005f, 0.012246f, -0.000921f, 0.010288f, -0.004951f, -0.001057f, -0.007753f, 0.002561f, 0.009467f, -0.001660f, 0.025523f, -0.010151f, -0.009477f, 0.001973f, -0.013047f, 0.008202f, 0.016654f, -0.080944f, -0.115064f, -0.102572f, 0.205862f, 0.195664f, 0.196132f, 0.552096f, 0.196716f, -0.023213f, 0.036763f, -0.382523f, -0.464992f, -0.156824f, -0.260753f, -0.362363f, 0.046913f, -0.020562f, -0.060191f, 0.398069f, 0.243632f, 0.101134f, 0.622745f, 0.293352f, 0.054676f, 0.283287f, -0.066966f, -0.339116f, -0.323954f, -0.309444f, -0.427825f, -0.419695f, -0.098129f, -0.151817f, -0.246514f, 0.287721f, 0.133032f, + -0.104301f, 0.416528f, 0.133944f, -0.048594f, 0.470115f, 0.429063f, 0.098263f, 0.445240f, 0.450979f, -0.017055f, 0.111597f, 0.051367f, -0.435066f, -0.504189f, -0.376211f, -0.709897f, -0.673064f, -0.403676f, -0.539981f, -0.405564f, 0.045437f, 0.333834f, 0.378018f, 0.813728f, 0.739090f, 0.652436f, 0.702156f, 0.518534f, 0.262595f, 0.080561f, -0.057601f, -0.395771f, -0.477979f, -0.510843f, -0.576535f, -0.546255f, -0.466408f, -0.300845f, -0.219311f, -0.213687f, 0.040207f, 0.129775f, 0.253937f, 0.605567f, 0.628087f, 0.430040f, 0.536680f, 0.227312f, -0.074873f, -0.177831f, -0.276314f, -0.377662f, -0.274295f, -0.182885f, -0.182830f, -0.062724f, -0.017867f, 0.001564f, 0.096162f, 0.123147f, 0.116542f, 0.179722f, 0.112372f, 0.073199f, 0.089846f, -0.053619f, -0.050405f, 0.015222f, -0.146564f, -0.103186f, -0.038854f, -0.140850f, -0.087843f, -0.009880f, -0.142627f, -0.149792f, -0.100345f, -0.147017f, -0.097409f, 0.110381f, 0.205637f, 0.328545f, 0.483885f, 0.452357f, 0.386246f, 0.363853f, 0.195762f, -0.060541f, -0.304240f, -0.536754f, -0.638208f, -0.574856f, -0.466431f, -0.351625f, -0.166212f, 0.051992f, + 0.206652f, 0.291473f, 0.313665f, 0.277567f, 0.246647f, 0.230173f, 0.231002f, 0.161003f, 0.074588f, 0.034070f, -0.022681f, -0.067989f, -0.062822f, -0.109956f, -0.119442f, -0.084848f, -0.065752f, -0.085113f, -0.083658f, -0.105773f, -0.122246f, -0.120958f, -0.105661f, -0.086342f, -0.029097f, 0.042867f, 0.098428f, 0.132050f, 0.169328f, 0.167420f, 0.139304f, 0.099769f, 0.060177f, 0.022582f, 0.017334f, 0.002145f, -0.022542f, -0.041013f, -0.046359f, -0.060688f, -0.068430f, -0.075706f, -0.082217f, -0.086282f, -0.059279f, -0.033349f, -0.010640f, -0.000256f, 0.012583f, 0.023326f, 0.041188f, 0.042213f, 0.029437f, 0.013334f, 0.021995f, 0.032618f, 0.034213f, 0.031990f, 0.030640f, 0.026780f, 0.030701f, 0.027645f, 0.014467f, -0.003080f, -0.012952f, -0.033620f, -0.041303f, -0.044392f, -0.046445f, -0.052529f, -0.046441f, -0.048376f, -0.043988f, -0.026937f, -0.003737f, 0.018547f, 0.048618f, 0.067841f, 0.080046f, 0.076010f, 0.058682f, 0.027101f, -0.000405f, -0.023818f, -0.032431f, -0.038471f, -0.033053f, -0.027039f, -0.017392f, -0.011599f, -0.005677f, -0.005047f, -0.000456f, 0.000877f, 0.004695f, 0.004194f, + 0.007037f, 0.004897f, 0.005897f, 0.003023f, 0.003121f, -0.000088f, 0.000571f, -0.001652f, 0.000218f, -0.001244f, 0.000740f, -0.000904f} + }, + { + {-0.006754f, 0.025660f, 0.013711f, 0.011272f, 0.006412f, -0.002808f, -0.000721f, -0.002716f, -0.005269f, -0.007511f, -0.005169f, -0.007672f, -0.003118f, 0.007158f, 0.002561f, -0.000450f, 0.000089f, 0.004670f, 0.002305f, -0.003069f, -0.003128f, -0.002499f, -0.013319f, 0.005497f, 0.001511f, 0.000066f, -0.002663f, 0.001680f, 0.000345f, -0.003771f, 0.002046f, 0.004853f, 0.000092f, -0.006186f, -0.001447f, -0.002705f, -0.002737f, 0.000701f, 0.006022f, -0.001582f, 0.001514f, -0.007068f, 0.004625f, -0.008718f, 0.005647f, 0.001176f, 0.000451f, 0.000021f, 0.005621f, -0.006700f, -0.004814f, -0.009113f, 0.002535f, 0.001589f, 0.000576f, 0.005137f, -0.005464f, 0.001170f, -0.000634f, 0.000112f, -0.003947f, 0.003558f, 0.001775f, -0.003041f, 0.005726f, -0.008950f, 0.004222f, -0.004898f, 0.009224f, 0.004109f, 0.001737f, 0.000621f, -0.001678f, -0.011153f, 0.008614f, -0.002696f, -0.000138f, 0.001430f, 0.002507f, 0.001998f, 0.002382f, 0.002659f, -0.000668f, 0.000759f, -0.001097f, 0.002598f, -0.000051f, 0.001471f, -0.003232f, 0.001131f, -0.000386f, 0.000718f, 0.001493f, 0.003608f, -0.000061f, -0.000634f, + 0.001371f, 0.001420f, -0.001322f, 0.001861f, -0.002069f, 0.001819f, 0.000538f, 0.001619f, 0.000274f, 0.001044f, -0.000428f, 0.000408f, 0.001573f, 0.000698f, -0.000087f, 0.001078f, -0.000085f, 0.000723f, 0.000783f, -0.000094f, 0.001022f, -0.000290f, 0.024748f, 0.011575f, 0.016208f, 0.004255f, 0.005610f, -0.001078f, 0.006433f, 0.000516f, 0.005734f, -0.004262f, 0.011040f, -0.002907f, -0.012298f, -0.003555f, 0.000403f, 0.000542f, -0.003805f, 0.009403f, 0.000675f, 0.003588f, 0.009370f, 0.004374f, 0.000253f, -0.000152f, 0.002345f, -0.008553f, -0.005419f, 0.003206f, 0.004161f, -0.003200f, 0.001025f, 0.003977f, -0.008199f, 0.011633f, -0.001061f, 0.001598f, -0.001721f, 0.004235f, 0.006218f, 0.000169f, -0.006235f, -0.006646f, 0.012915f, 0.000150f, -0.003586f, -0.000676f, 0.007501f, 0.005302f, -0.003654f, -0.005261f, -0.011117f, -0.003633f, -0.004474f, 0.000333f, -0.004027f, 0.000870f, -0.010797f, -0.004608f, 0.001415f, -0.004596f, 0.002553f, 0.004278f, -0.002073f, -0.000430f, 0.002218f, -0.002916f, 0.004455f, -0.000452f, 0.005567f, -0.000068f, -0.001719f, -0.006430f, 0.000859f, -0.007944f, + 0.002603f, 0.000009f, 0.004569f, -0.000053f, 0.004688f, 0.005718f, 0.005133f, 0.000058f, -0.003090f, -0.000379f, -0.001036f, 0.006327f, -0.001593f, 0.000697f, 0.004279f, 0.004190f, -0.000152f, 0.002306f, 0.001022f, 0.002096f, -0.000761f, 0.002566f, -0.000870f, 0.003845f, 0.001061f, 0.000632f, -0.000176f, 0.000228f, 0.000556f, 0.001870f, 0.005177f, -0.016582f, -0.005379f, -0.003773f, 0.002869f, 0.003279f, -0.011366f, -0.005085f, -0.002268f, 0.002724f, 0.006014f, 0.001899f, 0.008252f, -0.006827f, -0.009887f, 0.002858f, 0.000316f, -0.001773f, -0.006779f, 0.021925f, -0.001162f, 0.005832f, 0.001291f, 0.000682f, -0.000512f, -0.003380f, -0.008355f, -0.006546f, -0.002068f, 0.005601f, -0.004676f, 0.011479f, -0.003907f, -0.001073f, -0.009429f, -0.011201f, -0.000985f, -0.007145f, -0.003992f, 0.015269f, -0.008368f, -0.002316f, -0.008125f, 0.002968f, 0.000366f, -0.002942f, -0.008537f, -0.001625f, 0.000050f, -0.009669f, 0.001119f, -0.005206f, 0.007713f, 0.005083f, -0.004473f, -0.002372f, -0.002482f, 0.002368f, -0.000443f, 0.006141f, -0.003198f, -0.004038f, -0.004166f, 0.013924f, 0.012556f, -0.004318f, + -0.012134f, 0.001641f, 0.003727f, -0.000390f, 0.003540f, -0.005033f, 0.000970f, -0.005837f, 0.004145f, 0.000317f, 0.013353f, 0.008245f, 0.012694f, -0.011578f, 0.004993f, 0.007747f, 0.000278f, 0.005879f, 0.004216f, 0.000875f, 0.008727f, -0.001610f, -0.000949f, 0.002239f, 0.001196f, -0.003594f, 0.003470f, -0.002754f, -0.002377f, -0.000249f, 0.000871f, -0.000394f, 0.001307f, -0.002058f, 0.001006f, -0.000264f, 0.000254f, 0.001132f, 0.001591f, 0.000767f, 0.001847f, 0.001748f, -0.001352f, -0.001763f, 0.001368f, 0.000511f, -0.003164f, -0.001286f, 0.002512f, -0.001543f, -0.054653f, -0.008753f, -0.015811f, -0.017757f, 0.004712f, -0.005957f, -0.015600f, -0.012778f, 0.002067f, -0.012589f, 0.001713f, 0.018966f, -0.004781f, 0.008184f, 0.006059f, 0.016003f, 0.004054f, -0.011019f, 0.002459f, 0.017385f, -0.008166f, 0.008691f, -0.012858f, -0.011569f, 0.003734f, 0.005038f, 0.013522f, 0.000870f, -0.008428f, 0.007970f, -0.005681f, 0.006132f, -0.000784f, 0.008655f, -0.007360f, -0.004654f, -0.008200f, 0.000173f, 0.001398f, -0.003115f, 0.006161f, -0.014265f, 0.001768f, 0.014518f, 0.003055f, -0.004035f, + 0.005491f, -0.007327f, -0.003822f, -0.018032f, -0.005436f, -0.000540f, 0.002757f, 0.000367f, 0.009647f, -0.014468f, 0.001337f, -0.001936f, 0.007244f, 0.003971f, -0.002884f, 0.010408f, -0.009153f, -0.001166f, -0.007360f, -0.013905f, -0.005955f, -0.003158f, -0.004021f, 0.010552f, -0.009475f, -0.015030f, 0.000521f, 0.004993f, -0.001585f, -0.004300f, 0.005114f, 0.005817f, -0.004293f, -0.003353f, -0.005937f, -0.002371f, 0.012067f, -0.005589f, 0.006621f, -0.001957f, -0.000284f, -0.001070f, -0.000480f, -0.006244f, 0.001469f, -0.003720f, -0.000253f, -0.000400f, -0.000979f, 0.000194f, -0.001521f, -0.001926f, -0.002005f, -0.000487f, 0.000542f, -0.001173f, 0.001944f, 0.000939f, -0.027188f, 0.015531f, 0.017415f, -0.000902f, 0.009761f, 0.004502f, 0.020583f, 0.027450f, 0.003494f, 0.003639f, 0.007839f, 0.003460f, 0.004535f, -0.003838f, 0.005404f, -0.004458f, 0.007184f, 0.008445f, -0.023488f, 0.012228f, -0.002589f, -0.004287f, -0.007276f, -0.009441f, 0.003824f, 0.006738f, 0.010675f, 0.002155f, 0.001807f, -0.013638f, 0.000588f, -0.003930f, -0.004590f, -0.001958f, 0.001822f, 0.000865f, -0.001060f, 0.013550f, + -0.000712f, -0.004396f, 0.004442f, -0.005160f, 0.006897f, 0.009183f, 0.010176f, 0.005371f, 0.001109f, -0.005590f, 0.011369f, 0.003694f, 0.001525f, 0.001272f, 0.001492f, 0.000903f, -0.006587f, -0.009190f, 0.008415f, -0.008560f, 0.008062f, 0.007445f, 0.005404f, -0.001111f, -0.006109f, 0.005594f, 0.007165f, 0.015978f, 0.007338f, 0.006082f, 0.003725f, -0.015467f, -0.004782f, 0.001992f, -0.002540f, 0.006773f, -0.013467f, 0.000758f, 0.004452f, -0.012521f, -0.001184f, 0.004308f, -0.003052f, 0.001696f, -0.007384f, 0.002868f, 0.000951f, -0.003072f, 0.005813f, 0.003499f, 0.000234f, 0.006453f, -0.002884f, -0.002728f, -0.000638f, 0.001406f, 0.002608f, 0.009743f, 0.001581f, 0.003382f, 0.002282f, -0.000002f, 0.002114f, -0.001506f, -0.001830f, -0.002509f, 0.001708f, -0.001339f, -0.001232f, 0.001177f, 0.001031f, -0.001093f, 0.003282f, -0.001828f, 0.002297f, 0.002201f, -0.000957f, 0.003265f, 0.000920f, 0.001444f, 0.001590f, 0.000305f, 0.000347f, 0.003781f, -0.000260f, 0.050460f, 0.015073f, 0.003836f, 0.009740f, 0.025284f, 0.010036f, 0.030465f, 0.007328f, -0.006579f, -0.002283f, -0.002429f, + -0.003002f, 0.008353f, 0.012905f, -0.005927f, 0.002692f, 0.009187f, -0.003472f, -0.012495f, 0.009924f, -0.001067f, 0.004667f, -0.004176f, -0.006428f, 0.010436f, 0.002310f, -0.000825f, -0.003029f, -0.011369f, -0.005776f, 0.006348f, 0.001471f, -0.003829f, -0.002105f, 0.001867f, 0.004240f, 0.011688f, 0.003569f, -0.010529f, -0.002529f, 0.000817f, -0.003429f, 0.003962f, 0.005403f, -0.010609f, -0.013042f, -0.000623f, 0.003176f, -0.001245f, 0.009946f, -0.018351f, -0.003994f, -0.008252f, -0.010469f, -0.001010f, -0.000870f, 0.002863f, 0.009836f, 0.000035f, 0.001429f, 0.003332f, -0.001659f, 0.013334f, 0.008367f, -0.010703f, -0.009562f, 0.007370f, 0.015938f, -0.001249f, -0.007534f, 0.015907f, 0.008290f, 0.003790f, -0.006984f, -0.007389f, 0.007749f, 0.000537f, 0.005852f, -0.003437f, -0.011498f, -0.006181f, -0.007838f, -0.004808f, 0.004485f, -0.006256f, 0.000842f, 0.002864f, -0.002334f, 0.002782f, 0.001891f, 0.002389f, 0.001295f, -0.004000f, 0.002264f, -0.001174f, -0.002206f, -0.000873f, 0.003057f, 0.002545f, 0.000385f, -0.003419f, 0.003134f, -0.001275f, 0.005431f, -0.000727f, 0.000732f, -0.005070f, + -0.006701f, 0.002352f, -0.006307f, -0.001098f, -0.000984f, -0.003434f, -0.001720f, 0.000889f, -0.005656f, -0.002235f, -0.000582f, 0.000746f, -0.001185f, 0.004096f, 0.000559f, -0.001389f, 0.024896f, 0.011811f, 0.022437f, -0.007695f, 0.000370f, -0.005848f, 0.022604f, -0.023249f, -0.003086f, 0.005717f, -0.004229f, -0.004755f, 0.007694f, -0.002780f, -0.006919f, 0.019478f, 0.011305f, 0.002077f, 0.033419f, -0.009268f, -0.002021f, -0.007222f, 0.000444f, 0.005300f, -0.008386f, -0.001291f, -0.004260f, 0.012494f, -0.010530f, 0.002667f, 0.000939f, -0.003557f, 0.001351f, 0.007267f, 0.005277f, -0.010276f, -0.017402f, 0.000228f, 0.003818f, 0.014384f, 0.017296f, 0.016834f, 0.001750f, -0.010000f, 0.012445f, -0.029891f, -0.004688f, -0.011854f, -0.017088f, 0.011908f, -0.003775f, -0.005786f, 0.009633f, -0.003610f, -0.004860f, 0.025735f, 0.000515f, -0.007836f, 0.009235f, 0.000509f, 0.007079f, 0.004875f, 0.003591f, 0.015518f, -0.009205f, -0.005964f, 0.001135f, -0.013670f, 0.000106f, 0.002364f, -0.003206f, 0.004438f, 0.007980f, 0.016325f, -0.006012f, 0.005320f, 0.014482f, 0.008474f, 0.004448f, 0.002506f, + -0.004691f, -0.010613f, 0.005559f, 0.007768f, -0.001510f, 0.000610f, -0.001423f, -0.001519f, -0.005709f, 0.000977f, -0.001590f, 0.000832f, -0.005314f, -0.002981f, 0.000251f, -0.001160f, 0.005371f, 0.002047f, 0.000257f, -0.007330f, -0.003001f, 0.003357f, -0.003929f, -0.000265f, 0.002992f, 0.002611f, -0.004581f, 0.004296f, 0.003744f, 0.000960f, 0.004870f, 0.003974f, -0.008023f, -0.001668f, -0.002935f, 0.002051f, 0.004727f, 0.005263f, -0.000890f, -0.003240f, 0.000964f, -0.001852f, -0.038540f, -0.057887f, -0.009779f, 0.002874f, -0.001025f, 0.001604f, -0.002733f, -0.011610f, -0.006568f, -0.009257f, -0.002519f, 0.009409f, 0.011200f, -0.010201f, -0.015070f, 0.012852f, 0.002629f, -0.008265f, 0.000634f, -0.001381f, -0.009210f, -0.007703f, 0.021314f, 0.010858f, -0.011528f, 0.005822f, 0.002369f, 0.009123f, -0.011190f, 0.012385f, -0.012443f, 0.008505f, 0.005515f, -0.002642f, -0.005838f, 0.005484f, -0.023162f, -0.011489f, 0.014089f, 0.022767f, 0.012584f, -0.015979f, 0.000306f, -0.011340f, 0.015084f, 0.003104f, 0.003857f, 0.001045f, -0.012567f, 0.006031f, 0.018463f, 0.002059f, 0.013936f, 0.009889f, + 0.006336f, 0.010684f, 0.022658f, -0.006352f, -0.022990f, 0.011061f, -0.000028f, -0.005467f, 0.001071f, 0.019640f, -0.008141f, -0.013729f, 0.006610f, -0.003672f, -0.002435f, -0.005230f, -0.003183f, -0.006210f, -0.010815f, -0.005436f, 0.013087f, -0.018047f, -0.011403f, -0.006694f, -0.013039f, -0.012632f, -0.000870f, 0.007748f, -0.011971f, -0.000278f, -0.004506f, -0.005069f, -0.010802f, -0.006817f, -0.012388f, -0.000724f, -0.009555f, -0.000800f, -0.000359f, 0.008551f, 0.006007f, -0.004444f, -0.004800f, -0.006340f, -0.002019f, -0.004508f, -0.004359f, 0.005151f, -0.008479f, 0.003082f, 0.000606f, -0.005397f, 0.000463f, -0.003560f, 0.001902f, -0.001881f, -0.006953f, -0.008446f, -0.000191f, 0.002117f, 0.003358f, -0.001669f, 0.001359f, 0.002561f, -0.000115f, -0.004453f, -0.000708f, -0.005681f, 0.000469f, 0.002512f, 0.001919f, 0.002383f, -0.022093f, -0.014690f, 0.003942f, 0.003389f, 0.029876f, -0.026138f, -0.017582f, -0.010204f, -0.004728f, -0.003397f, 0.009785f, 0.009103f, -0.013565f, 0.013948f, -0.003093f, 0.006228f, -0.009719f, 0.020880f, -0.003914f, -0.008110f, 0.013792f, 0.009641f, 0.008099f, -0.014497f, + -0.013293f, 0.017648f, -0.009155f, 0.005085f, 0.004536f, -0.006632f, 0.015328f, 0.004438f, 0.000162f, 0.003197f, 0.011298f, 0.014104f, 0.004575f, -0.012858f, 0.003129f, -0.018277f, 0.010982f, 0.004558f, -0.020102f, 0.014214f, 0.003519f, -0.010706f, 0.018744f, 0.005747f, -0.004859f, 0.010674f, -0.001511f, 0.020353f, -0.004519f, -0.005290f, -0.004178f, -0.002839f, 0.026851f, 0.005484f, 0.000625f, 0.007112f, -0.022257f, -0.014154f, -0.015073f, 0.001525f, 0.014361f, 0.001747f, 0.017771f, -0.022902f, -0.009200f, -0.014583f, -0.013227f, 0.033072f, -0.003223f, 0.011731f, 0.008670f, -0.007257f, -0.001512f, -0.004755f, 0.002668f, 0.001623f, 0.009218f, 0.005404f, 0.018310f, -0.009916f, 0.001656f, -0.003228f, 0.004093f, -0.000249f, -0.000212f, -0.000177f, -0.003730f, -0.017267f, 0.006524f, 0.003881f, 0.002680f, -0.004675f, -0.001479f, -0.002322f, -0.009436f, -0.000730f, -0.003296f, -0.006340f, 0.003611f, -0.005368f, 0.002364f, 0.002945f, 0.002531f, 0.003813f, -0.006539f, -0.003742f, -0.004395f, -0.004216f, 0.002506f, 0.004647f, 0.002907f, -0.001689f, -0.000794f, -0.001298f, -0.001969f, 0.006807f, + -0.002279f, 0.004813f, 0.003178f, -0.001992f, 0.002176f, -0.001479f, 0.000093f, 0.001617f, 0.001941f, -0.030088f, 0.009404f, -0.012933f, 0.007333f, -0.009053f, 0.024305f, 0.004076f, -0.017015f, 0.002659f, -0.017347f, 0.014061f, 0.026861f, -0.022920f, 0.015131f, 0.005579f, -0.000668f, 0.011052f, 0.028629f, -0.010968f, -0.000027f, 0.008733f, -0.031254f, 0.001811f, 0.014220f, -0.008711f, 0.010192f, 0.011076f, -0.005702f, 0.028027f, -0.013981f, -0.025395f, -0.010914f, 0.003034f, 0.000678f, -0.005215f, -0.010941f, 0.007625f, 0.007082f, -0.000011f, -0.017866f, -0.004216f, -0.004527f, 0.011915f, -0.007825f, 0.047016f, -0.005916f, 0.006711f, -0.002164f, -0.002023f, -0.022824f, 0.002319f, 0.016928f, 0.013671f, 0.045878f, -0.004958f, -0.004441f, -0.009527f, -0.001810f, -0.012942f, -0.000979f, 0.018371f, -0.009796f, -0.001930f, 0.003331f, 0.004312f, 0.018086f, 0.014688f, 0.004161f, 0.035485f, -0.006720f, -0.032926f, -0.032933f, -0.023257f, -0.004786f, 0.010357f, -0.003252f, -0.008680f, 0.015664f, -0.000989f, 0.013908f, -0.008612f, -0.001636f, 0.011262f, 0.009581f, -0.003523f, -0.003371f, 0.001114f, + 0.002929f, -0.003695f, -0.007698f, -0.011095f, -0.003737f, -0.004740f, -0.001404f, -0.007925f, 0.005881f, -0.002415f, 0.001759f, -0.004037f, -0.005680f, 0.007546f, 0.003391f, -0.003928f, -0.001064f, -0.003230f, -0.003397f, 0.003261f, -0.002122f, -0.003813f, -0.007499f, 0.005857f, 0.002326f, -0.003270f, -0.005685f, -0.007592f, -0.001429f, -0.005240f, -0.005254f, 0.006302f, -0.003784f, 0.001205f, 0.000241f, -0.002804f, 0.002716f, 0.001181f, -0.001050f, -0.001468f, -0.001686f, 0.053432f, -0.038478f, -0.029321f, -0.009265f, -0.018542f, -0.021035f, 0.025908f, 0.010645f, 0.005167f, -0.008033f, -0.005205f, 0.031628f, -0.009157f, -0.013090f, -0.037673f, -0.005281f, -0.000907f, 0.017956f, 0.006597f, -0.007472f, 0.002367f, 0.015785f, 0.007106f, 0.009956f, 0.024185f, 0.030496f, 0.008471f, -0.011055f, 0.007881f, -0.017950f, 0.012557f, 0.010458f, -0.006408f, 0.000867f, -0.013984f, 0.005952f, 0.000492f, -0.027045f, 0.026740f, -0.002117f, -0.012263f, 0.016719f, -0.025136f, -0.005550f, 0.027947f, 0.016162f, -0.000202f, 0.001352f, -0.034846f, 0.012608f, 0.019728f, 0.011488f, 0.006678f, -0.001578f, -0.025649f, + -0.075577f, -0.005860f, 0.015836f, 0.021545f, -0.001581f, -0.022051f, 0.037888f, -0.017146f, 0.017509f, 0.028639f, 0.023800f, 0.004603f, 0.028718f, 0.003483f, 0.010511f, 0.006264f, 0.017610f, 0.003663f, 0.005894f, 0.036352f, -0.011640f, -0.007569f, 0.030949f, 0.016213f, 0.008739f, -0.012267f, 0.003543f, 0.025140f, -0.002204f, 0.020224f, 0.005065f, 0.004690f, 0.013021f, -0.006362f, -0.000095f, 0.001709f, -0.000782f, -0.005221f, 0.010289f, 0.004929f, -0.013022f, 0.007861f, 0.005622f, 0.007596f, 0.004103f, -0.003470f, 0.000559f, -0.003887f, -0.004389f, 0.006453f, 0.008228f, 0.003637f, 0.005227f, -0.003578f, -0.003336f, -0.002213f, -0.004233f, -0.005894f, -0.008934f, 0.001896f, -0.005499f, 0.005067f, -0.001610f, 0.003170f, -0.008177f, -0.005290f, -0.001204f, -0.002358f, -0.001952f, -0.003485f, 0.001815f, 0.009045f, 0.009548f, 0.003890f, 0.001399f, -0.004388f, 0.007712f, 0.027462f, 0.024701f, -0.005995f, -0.013757f, -0.001800f, -0.008412f, 0.029988f, 0.018296f, -0.050345f, -0.006319f, 0.004834f, -0.024674f, 0.010173f, -0.035661f, 0.027216f, 0.005715f, -0.003459f, 0.013798f, 0.007863f, + -0.008058f, -0.011092f, -0.009275f, 0.038154f, 0.000804f, 0.000346f, 0.007598f, -0.004444f, 0.014335f, 0.044832f, 0.017318f, -0.005829f, -0.008495f, -0.005871f, 0.024921f, 0.009721f, 0.025245f, 0.018551f, 0.012261f, 0.008082f, -0.011959f, -0.011812f, 0.010897f, -0.025638f, 0.003824f, -0.013338f, -0.012315f, 0.001490f, 0.017470f, 0.003138f, 0.000809f, 0.007090f, -0.006348f, 0.030912f, 0.038687f, 0.045593f, -0.000851f, 0.021128f, -0.027350f, 0.010903f, 0.014850f, -0.011669f, 0.022274f, -0.017743f, -0.037214f, 0.005439f, -0.019793f, -0.002293f, 0.001115f, -0.018869f, 0.004287f, 0.027171f, -0.016754f, -0.015193f, 0.012805f, 0.025213f, -0.001683f, -0.008492f, 0.022079f, 0.002588f, 0.004504f, -0.014993f, -0.003780f, -0.000497f, 0.018142f, -0.008914f, 0.000974f, -0.003823f, 0.003561f, 0.000207f, 0.003096f, 0.005308f, 0.002806f, 0.000592f, 0.001333f, 0.004637f, 0.004758f, -0.003708f, -0.008972f, -0.000975f, -0.001755f, -0.007322f, -0.010081f, -0.000195f, -0.004888f, 0.007407f, -0.006957f, 0.005752f, 0.008622f, -0.000117f, -0.015445f, -0.001108f, 0.002518f, -0.004848f, -0.007495f, 0.001445f, + 0.003768f, 0.023780f, 0.007410f, 0.007594f, -0.001094f, 0.000923f, -0.002380f, 0.007199f, -0.002020f, 0.007638f, 0.019257f, 0.018218f, -0.002635f, -0.000693f, -0.003672f, 0.001237f, 0.005743f, 0.007289f, 0.010098f, 0.002261f, -0.031790f, 0.057906f, 0.003690f, 0.015024f, 0.044327f, -0.016419f, 0.004548f, -0.008502f, 0.011698f, -0.012828f, 0.012798f, -0.031238f, -0.036966f, -0.001191f, -0.021893f, -0.001739f, -0.002041f, -0.002550f, -0.006249f, 0.002295f, -0.010256f, 0.009166f, -0.029401f, -0.011827f, -0.039666f, -0.002086f, 0.009086f, 0.018937f, 0.042815f, 0.023662f, 0.007389f, 0.005381f, 0.012281f, 0.009404f, 0.007206f, 0.017206f, 0.018107f, -0.005850f, -0.036261f, -0.036018f, -0.024667f, -0.014819f, 0.003562f, 0.012012f, -0.013314f, -0.021158f, -0.036804f, 0.000961f, -0.014093f, 0.033445f, -0.015017f, 0.008327f, -0.025569f, -0.012413f, -0.004537f, -0.010595f, -0.049362f, -0.051463f, 0.014009f, 0.005144f, 0.001253f, 0.026219f, 0.014943f, 0.021023f, 0.016947f, -0.032110f, -0.007056f, 0.059897f, -0.011216f, -0.022826f, 0.008718f, -0.013331f, 0.006023f, -0.037169f, 0.014895f, -0.017120f, + 0.002412f, -0.002564f, 0.024229f, 0.001315f, 0.009638f, -0.021206f, 0.003864f, -0.012016f, -0.005492f, -0.014591f, -0.011088f, 0.007425f, 0.008325f, -0.019404f, -0.006623f, 0.001262f, 0.003484f, 0.004659f, 0.002384f, -0.007608f, 0.008263f, 0.003341f, 0.002726f, -0.001140f, -0.000713f, 0.002513f, 0.008358f, -0.009306f, 0.008440f, -0.002432f, -0.000481f, -0.003405f, 0.005288f, -0.005534f, -0.003345f, 0.007441f, -0.014487f, -0.000435f, 0.002585f, -0.008849f, -0.003205f, -0.020181f, 0.014193f, 0.016857f, -0.001380f, 0.003864f, 0.004296f, 0.005648f, -0.009170f, 0.009326f, 0.005811f, 0.007247f, -0.006764f, 0.003889f, 0.005441f, 0.008594f, 0.034582f, 0.026027f, 0.003601f, 0.027666f, -0.005027f, -0.011497f, 0.015425f, -0.021358f, -0.041302f, -0.062131f, 0.005385f, 0.001206f, 0.024165f, 0.017416f, -0.022924f, -0.011932f, -0.060389f, -0.004169f, -0.028022f, 0.006486f, -0.014005f, -0.006875f, -0.011462f, -0.004588f, -0.004525f, -0.021139f, -0.009269f, -0.024619f, 0.019764f, -0.005020f, 0.016944f, 0.043309f, -0.022722f, 0.012394f, -0.003358f, -0.010872f, 0.011388f, -0.023318f, -0.039289f, 0.018864f, + 0.009486f, 0.018763f, 0.012006f, -0.082827f, -0.037346f, 0.010929f, -0.027328f, -0.002433f, -0.023317f, 0.034526f, 0.041917f, -0.002143f, 0.046313f, 0.006405f, 0.021156f, -0.006186f, -0.001311f, -0.025883f, 0.016548f, 0.033231f, 0.007439f, 0.055399f, 0.001529f, 0.007545f, -0.016077f, -0.024487f, 0.033066f, 0.051989f, 0.018398f, 0.010025f, 0.005352f, 0.019610f, 0.001921f, 0.003681f, -0.048520f, -0.035831f, -0.003482f, 0.002521f, 0.006681f, 0.036573f, 0.039635f, -0.007332f, 0.002810f, -0.013600f, 0.008428f, -0.025311f, 0.000866f, -0.026779f, -0.022413f, 0.011626f, -0.000440f, 0.002886f, -0.014808f, 0.009595f, 0.012018f, 0.007889f, 0.012167f, 0.014067f, 0.001441f, -0.008048f, 0.006408f, -0.010976f, -0.002455f, -0.006782f, -0.015823f, -0.004631f, -0.008657f, -0.007161f, 0.013521f, 0.007336f, -0.004532f, -0.010555f, -0.015674f, -0.010406f, 0.010924f, -0.010554f, -0.000839f, 0.000856f, 0.007538f, -0.014975f, -0.011770f, 0.005328f, 0.018808f, 0.011886f, 0.004983f, 0.000002f, -0.011004f, -0.001332f, -0.006620f, -0.012935f, 0.022348f, -0.032254f, -0.016180f, -0.060429f, -0.075732f, -0.055824f, + -0.025769f, 0.017316f, -0.000683f, -0.013101f, -0.027792f, 0.000243f, 0.049660f, 0.024596f, -0.043798f, -0.006994f, -0.009207f, -0.030634f, -0.005689f, 0.002458f, 0.020793f, 0.015638f, -0.032727f, 0.023559f, -0.018574f, 0.010104f, -0.017317f, 0.005364f, -0.025120f, -0.009139f, 0.012152f, -0.044857f, -0.008802f, -0.016804f, 0.014597f, -0.011035f, -0.041803f, 0.049124f, 0.047013f, 0.000812f, -0.019263f, 0.026836f, -0.063957f, -0.019810f, 0.018806f, -0.021292f, -0.013737f, -0.001482f, -0.020798f, 0.004249f, -0.005494f, -0.042587f, 0.018161f, -0.005289f, -0.013325f, -0.014467f, -0.011476f, -0.002519f, -0.011890f, -0.017971f, 0.035288f, -0.016735f, -0.016950f, 0.017024f, -0.000633f, 0.058358f, -0.011830f, -0.035936f, 0.020454f, -0.018697f, -0.016191f, -0.028007f, 0.019344f, 0.036045f, -0.070224f, 0.005640f, 0.058948f, -0.009478f, -0.003843f, -0.023253f, 0.040130f, -0.002713f, -0.022089f, -0.002780f, -0.020749f, -0.016380f, 0.029023f, -0.017408f, -0.001653f, -0.009605f, -0.012385f, -0.020367f, 0.008490f, 0.006981f, 0.010503f, -0.002318f, -0.016703f, -0.011212f, 0.000420f, 0.003022f, -0.025346f, -0.007092f, + -0.016371f, 0.025160f, -0.008554f, 0.001907f, 0.003379f, 0.003216f, 0.002473f, -0.020244f, 0.013555f, 0.000802f, -0.007964f, 0.018380f, 0.002640f, 0.024014f, -0.004424f, 0.027728f, 0.006215f, 0.011258f, 0.013335f, -0.017767f, -0.011980f, 0.008841f, -0.014897f, -0.011370f, 0.004177f, 0.000174f, -0.010528f, -0.024058f, 0.011620f, -0.003361f, -0.047757f, 0.095441f, 0.068151f, -0.001360f, -0.018180f, 0.015086f, -0.057233f, 0.000878f, 0.071280f, -0.012642f, -0.024761f, 0.001082f, 0.080772f, -0.011655f, 0.017734f, -0.017275f, -0.036528f, -0.029642f, -0.007478f, -0.013606f, 0.014873f, 0.020535f, 0.001108f, -0.030515f, -0.042574f, -0.039277f, -0.006343f, -0.008738f, -0.021138f, 0.019641f, 0.015980f, -0.017256f, -0.020910f, -0.022934f, 0.012791f, 0.004315f, 0.015726f, 0.040218f, -0.000275f, -0.034609f, 0.023375f, 0.009082f, 0.007868f, 0.002307f, -0.000686f, -0.016766f, 0.029832f, 0.015145f, -0.012007f, -0.014425f, -0.009516f, -0.039323f, 0.010754f, 0.028541f, 0.008663f, -0.027592f, 0.032042f, 0.023363f, 0.013222f, 0.003406f, -0.016918f, 0.008654f, -0.055898f, 0.008551f, -0.003539f, 0.049630f, + -0.017966f, -0.024849f, 0.010499f, -0.013061f, -0.001121f, -0.036194f, -0.006604f, -0.009856f, 0.048287f, -0.031657f, -0.058744f, -0.038457f, -0.076313f, 0.014732f, -0.015612f, -0.005290f, -0.040786f, -0.026207f, -0.067472f, -0.030093f, -0.023670f, -0.003744f, 0.016404f, -0.022021f, -0.003926f, -0.004393f, -0.003553f, -0.006285f, 0.014317f, -0.025571f, 0.010847f, -0.010240f, -0.019799f, 0.002731f, -0.005810f, 0.017776f, 0.009222f, 0.000039f, -0.010009f, 0.023028f, 0.021667f, 0.012820f, -0.008596f, -0.012011f, -0.011704f, -0.011026f, 0.024362f, 0.039714f, 0.004544f, 0.036453f, 0.040343f, 0.013106f, 0.000555f, -0.036626f, -0.004046f, 0.006339f, 0.005138f, -0.003833f, -0.010121f, -0.031110f, -0.000867f, 0.020137f, 0.003137f, -0.023496f, -0.006019f, -0.017799f, 0.090638f, 0.003669f, 0.014965f, -0.015069f, -0.029860f, -0.039959f, -0.013336f, 0.011396f, 0.026484f, 0.022088f, -0.019321f, -0.000028f, -0.040138f, -0.014556f, 0.014259f, -0.033649f, -0.018184f, -0.012699f, 0.048874f, 0.025647f, 0.026863f, 0.025561f, -0.028470f, 0.005313f, 0.010211f, 0.011666f, -0.002824f, 0.033138f, -0.007361f, 0.014648f, + 0.025544f, 0.009924f, 0.007037f, 0.021762f, 0.029662f, -0.017424f, -0.035048f, 0.023478f, -0.003876f, 0.000209f, -0.037036f, -0.034299f, 0.007830f, -0.017110f, -0.013468f, 0.030316f, -0.031218f, 0.040062f, 0.025719f, -0.017644f, 0.020964f, -0.023327f, -0.023690f, -0.028491f, 0.041200f, -0.028839f, 0.012929f, 0.012701f, -0.047382f, 0.004586f, 0.005396f, -0.037241f, -0.064434f, -0.057436f, 0.041824f, -0.043148f, -0.000888f, -0.038788f, -0.009079f, -0.027708f, -0.002443f, 0.018081f, 0.010898f, -0.028201f, 0.029218f, 0.034157f, 0.071077f, 0.018740f, -0.048007f, 0.016997f, -0.029599f, 0.016073f, -0.042244f, 0.022721f, -0.018170f, 0.003297f, -0.008786f, 0.017372f, -0.005350f, -0.016984f, -0.040556f, -0.040147f, 0.004339f, 0.004032f, 0.025366f, -0.018034f, -0.001877f, 0.039955f, 0.011139f, 0.027745f, 0.008241f, -0.007061f, -0.003168f, -0.009313f, -0.026767f, 0.009711f, -0.032263f, -0.018832f, 0.006795f, 0.026793f, -0.035202f, 0.019708f, 0.003558f, 0.025344f, -0.008646f, 0.014258f, 0.025337f, 0.028149f, 0.028070f, -0.012666f, 0.013653f, 0.022102f, 0.023614f, 0.004790f, 0.014069f, 0.007549f, + -0.010882f, 0.043823f, 0.020169f, 0.022174f, -0.018867f, -0.020858f, 0.005449f, 0.007379f, 0.008425f, -0.018172f, 0.001498f, -0.039797f, -0.000786f, 0.006819f, 0.007640f, -0.035103f, -0.036798f, -0.057890f, 0.040105f, 0.004201f, 0.013688f, -0.009480f, 0.021176f, -0.015831f, -0.015780f, 0.012022f, 0.030487f, 0.007208f, 0.019988f, 0.062436f, -0.009206f, -0.037684f, -0.080238f, -0.011413f, -0.031115f, -0.015245f, -0.019250f, -0.037225f, -0.026382f, -0.055600f, -0.006642f, -0.000914f, 0.019259f, 0.057550f, -0.048155f, -0.018539f, -0.008090f, 0.018793f, 0.020203f, 0.056992f, 0.007559f, -0.065281f, -0.015180f, 0.013276f, 0.050779f, 0.013278f, -0.079175f, -0.031773f, 0.071250f, 0.006388f, 0.071072f, -0.042074f, 0.002086f, 0.005447f, 0.042930f, -0.004157f, 0.039042f, 0.059018f, 0.008146f, 0.050042f, 0.034980f, 0.008355f, 0.069284f, 0.059235f, 0.019036f, 0.092458f, 0.070911f, 0.044440f, -0.075296f, -0.005053f, 0.029164f, 0.016896f, -0.001124f, -0.054600f, -0.065301f, -0.033846f, -0.093366f, -0.014908f, -0.069501f, -0.026613f, -0.018067f, -0.099894f, -0.094850f, -0.066021f, 0.032248f, 0.000808f, + -0.022129f, -0.001388f, -0.007452f, -0.002230f, -0.018677f, -0.009974f, 0.022916f, 0.009024f, 0.003741f, -0.003366f, 0.003407f, -0.004756f, 0.014085f, -0.002639f, -0.025175f, 0.043048f, 0.006704f, 0.010198f, -0.013145f, 0.001878f, -0.001815f, 0.022454f, -0.001470f, 0.012999f, -0.008103f, -0.023896f, 0.009186f, 0.018096f, 0.047577f, 0.042320f, 0.002518f, -0.000653f, 0.030261f, 0.014988f, 0.035396f, 0.029451f, -0.009784f, 0.033998f, 0.018854f, 0.006690f, 0.021203f, 0.013700f, -0.012505f, -0.005758f, -0.027683f, 0.016545f, -0.024744f, -0.011088f, -0.043249f, -0.026272f, 0.012675f, -0.050696f, 0.054165f, -0.022985f, 0.035157f, 0.018474f, -0.047100f, 0.007611f, 0.027883f, -0.017442f, -0.049168f, 0.032716f, -0.013947f, 0.028078f, -0.017068f, 0.007682f, 0.010318f, -0.029070f, -0.004372f, -0.012439f, -0.001488f, -0.048017f, -0.039129f, 0.048014f, 0.001319f, 0.019807f, -0.038221f, 0.039366f, 0.033745f, -0.025404f, 0.021190f, -0.037173f, -0.008977f, -0.020553f, 0.026598f, 0.067949f, -0.002030f, 0.082308f, -0.021513f, -0.003312f, 0.003081f, 0.008941f, -0.006401f, -0.045518f, 0.079364f, 0.052834f, + -0.007043f, 0.044459f, 0.033565f, 0.046122f, -0.018072f, -0.000524f, -0.082210f, 0.037340f, 0.037606f, -0.010096f, -0.014668f, 0.051471f, 0.026206f, 0.027364f, 0.062709f, 0.011080f, -0.033312f, -0.038839f, 0.011187f, -0.011891f, -0.047562f, 0.039213f, -0.054983f, 0.002745f, 0.011341f, -0.038178f, -0.060998f, -0.040606f, -0.016063f, 0.004689f, 0.047970f, 0.033011f, 0.014836f, -0.092073f, -0.026686f, 0.056048f, -0.005121f, -0.019775f, 0.015744f, -0.049750f, -0.031938f, 0.042478f, -0.000909f, 0.000937f, -0.018515f, 0.000595f, 0.024924f, -0.007632f, -0.019613f, 0.014873f, -0.007254f, -0.035328f, -0.020092f, 0.003811f, -0.003398f, -0.001883f, -0.000164f, -0.015339f, -0.000709f, -0.024182f, -0.033660f, 0.004728f, -0.003811f, -0.053854f, -0.006850f, -0.032506f, -0.019701f, -0.005733f, 0.007413f, 0.010168f, 0.028906f, -0.027105f, -0.019441f, 0.006274f, 0.028127f, -0.030035f, -0.033258f, 0.045927f, -0.007955f, -0.002297f, -0.009564f, -0.000017f, -0.019993f, 0.008412f, 0.020522f, 0.012029f, 0.017739f, 0.001603f, 0.006098f, 0.000744f, 0.001765f, 0.007097f, 0.014637f, -0.011688f, -0.003809f, 0.006399f, + 0.010378f, 0.006008f, -0.069127f, 0.039513f, 0.060201f, -0.000716f, 0.069450f, 0.021598f, -0.061190f, -0.036958f, -0.005249f, -0.020687f, -0.037399f, 0.039501f, 0.045231f, -0.003965f, 0.031344f, 0.043280f, -0.034283f, 0.030657f, 0.050911f, -0.002684f, -0.069805f, 0.027683f, -0.002413f, -0.013322f, 0.018703f, 0.052820f, -0.017161f, -0.025943f, 0.012425f, -0.022525f, -0.030500f, -0.001660f, 0.045615f, 0.039743f, -0.065788f, 0.021230f, 0.027581f, -0.043462f, -0.028448f, 0.053438f, -0.014809f, -0.076624f, -0.010214f, 0.065256f, -0.021506f, -0.110905f, 0.116447f, -0.032772f, -0.013806f, -0.057119f, 0.075136f, 0.025051f, -0.026310f, 0.055367f, -0.032578f, -0.023656f, -0.014374f, 0.140981f, 0.046630f, -0.058344f, -0.052307f, 0.054375f, -0.012734f, 0.078936f, 0.001212f, 0.059369f, -0.081283f, 0.065257f, 0.111435f, 0.011038f, -0.012222f, -0.019180f, -0.019689f, -0.044067f, 0.105147f, 0.071309f, -0.063209f, 0.018184f, -0.066424f, -0.010848f, 0.006976f, 0.014304f, 0.009145f, 0.020043f, 0.001690f, -0.072115f, 0.033830f, 0.004924f, -0.007674f, -0.001076f, 0.033257f, -0.013987f, 0.007275f, -0.010114f, + 0.017197f, -0.006389f, 0.004363f, -0.011118f, 0.021701f, 0.001361f, -0.004482f, 0.012896f, 0.017425f, -0.039265f, 0.004724f, 0.025524f, 0.009456f, -0.028163f, 0.015229f, 0.045505f, -0.044176f, -0.068013f, 0.013398f, 0.008985f, 0.026763f, 0.026767f, -0.003661f, -0.061393f, -0.020978f, 0.017402f, 0.008523f, 0.017886f, -0.009368f, 0.003070f, -0.002518f, -0.020180f, 0.018000f, -0.015689f, -0.007529f, 0.050430f, 0.115138f, 0.022325f, -0.044614f, -0.010566f, -0.010997f, 0.020247f, 0.017261f, -0.035934f, -0.051372f, 0.013717f, -0.043490f, 0.008661f, -0.027108f, -0.031055f, -0.006848f, 0.005280f, 0.014629f, -0.034625f, -0.014092f, -0.013727f, -0.043213f, 0.036158f, -0.013669f, 0.002328f, -0.006509f, -0.028765f, 0.011293f, 0.008081f, 0.000881f, -0.006228f, 0.000197f, -0.001073f, -0.017131f, -0.036611f, 0.015515f, -0.018191f, 0.015735f, 0.011125f, -0.036710f, -0.029644f, -0.003507f, -0.004296f, -0.004315f, -0.007904f, 0.029661f, -0.020676f, 0.002897f, -0.038894f, 0.033005f, -0.038112f, -0.020303f, 0.018861f, 0.000371f, -0.030564f, 0.024082f, -0.041077f, 0.002956f, 0.012276f, -0.001255f, 0.004412f, + 0.019481f, 0.009250f, -0.042432f, 0.021305f, 0.002826f, -0.025584f, 0.036072f, 0.014191f, -0.040285f, -0.004482f, -0.032159f, -0.004308f, 0.012844f, 0.010620f, -0.041018f, 0.051911f, -0.027683f, -0.015216f, 0.028771f, 0.019107f, 0.004562f, 0.019224f, -0.001786f, 0.026942f, -0.012216f, 0.005426f, -0.003526f, 0.012977f, 0.010056f, -0.007887f, -0.009559f, 0.010288f, -0.013156f, 0.001257f, 0.002083f, 0.001597f, -0.007797f, 0.001156f, -0.007285f, -0.011866f, -0.006533f, -0.012903f, -0.000829f, 0.009445f, 0.016556f, 0.006071f, 0.001835f, 0.008693f, 0.010793f, -0.015363f, 0.023292f, 0.005993f, -0.000879f, -0.015596f, -0.008911f, 0.007176f, 0.018401f, -0.003786f, -0.000512f, -0.009293f, 0.002922f, 0.002472f, -0.007768f, -0.010579f, -0.009339f, -0.024353f, -0.008933f, -0.009634f, -0.069422f, -0.086048f, -0.031922f, 0.261108f, 0.208490f, 0.138742f, 0.252190f, -0.099931f, -0.239073f, -0.076237f, -0.386241f, -0.150078f, 0.010696f, -0.090116f, 0.176827f, 0.242231f, 0.039357f, 0.154138f, 0.263880f, 0.006166f, 0.072601f, -0.016764f, -0.310562f, -0.256345f, -0.194207f, -0.192290f, -0.095142f, 0.147722f, + 0.078980f, 0.114433f, 0.324016f, 0.137986f, 0.019982f, 0.194611f, 0.090096f, -0.110650f, 0.037741f, -0.092724f, -0.314674f, -0.075158f, -0.164465f, -0.323506f, -0.053973f, 0.008053f, -0.079287f, 0.219801f, 0.252957f, 0.100380f, 0.297474f, 0.301706f, 0.056124f, 0.116667f, 0.052162f, -0.189777f, -0.213482f, -0.199152f, -0.359376f, -0.316913f, -0.121057f, -0.146854f, 0.031051f, 0.193093f, 0.263505f, 0.218402f, 0.336613f, 0.250375f, 0.134017f, 0.019178f, -0.042016f, -0.193532f, -0.236496f, -0.173999f, -0.207795f, -0.172666f, -0.007561f, -0.009151f, 0.039460f, 0.187655f, 0.090194f, 0.114894f, 0.179226f, -0.003091f, -0.055751f, -0.028955f, -0.112257f, -0.063573f, -0.037574f, -0.040787f, 0.046113f, 0.095403f, 0.036851f, 0.053122f, 0.059812f, -0.042834f, -0.015374f, -0.017835f, -0.114415f, 0.016500f, 0.048042f, -0.123463f, -0.001313f, -0.010789f, -0.125081f, 0.047281f, 0.021395f, -0.141195f, 0.089888f, 0.134257f, 0.031693f, 0.269763f, 0.167676f, -0.002669f, 0.143526f, 0.026504f, -0.181545f, -0.150376f, -0.236497f, -0.335375f, -0.251939f, -0.163514f, -0.087875f, 0.115463f, 0.249206f, 0.292313f, + 0.363475f, 0.356505f, 0.252363f, 0.056496f, -0.026076f, -0.179814f, -0.329034f, -0.319660f, -0.284193f, -0.238311f, -0.050800f, 0.026820f, 0.042548f, 0.165922f, 0.176078f, 0.122842f, 0.126289f, 0.098630f, 0.043542f, 0.061105f, 0.044656f, -0.008814f, -0.020218f, -0.050077f, -0.102652f, -0.111265f, -0.110431f, -0.111877f, -0.084772f, -0.018405f, 0.005004f, 0.036265f, 0.076061f, 0.092313f, 0.098346f, 0.098003f, 0.071334f, 0.023607f, 0.000161f, -0.027598f, -0.049683f, -0.057211f, -0.044508f, -0.046438f, -0.036136f, -0.012357f, -0.007627f, -0.011430f, 0.000949f, 0.002352f, 0.003685f, 0.028053f, 0.029979f, 0.014194f, 0.018869f, 0.015417f, 0.008957f, 0.019836f, 0.016612f, 0.003239f, 0.001135f, -0.013998f, -0.025986f, -0.023701f, -0.023849f, -0.025885f, -0.019815f, -0.012034f, -0.003215f, 0.008154f, 0.019642f, 0.022610f, 0.022771f, 0.021077f, 0.014790f, 0.006147f, 0.001859f, -0.007331f, -0.014200f, -0.012658f, -0.009764f, -0.008447f, -0.001064f, 0.002548f, 0.005477f, 0.003988f, 0.002422f, -0.002429f, -0.004513f, -0.008255f, -0.007483f, -0.005158f, -0.001031f, 0.000820f, 0.005478f, 0.008304f, + 0.012163f, 0.011422f, 0.008711f, 0.004822f, 0.003122f, -0.002260f, -0.005367f, -0.008037f, -0.008924f, -0.009377f, -0.006630f, -0.005363f, -0.001965f, 0.000267f, 0.002709f, 0.002906f, 0.004184f, 0.002896f, 0.002438f, 0.000373f}, + {-0.009464f, 0.029348f, 0.011209f, 0.007157f, 0.002289f, -0.006182f, 0.000055f, 0.005655f, 0.010556f, 0.000178f, 0.001005f, 0.000652f, -0.003894f, 0.001065f, 0.003571f, -0.000689f, 0.003489f, 0.005445f, 0.007193f, 0.003064f, 0.002944f, 0.003834f, 0.003356f, -0.006592f, 0.006708f, 0.012659f, -0.005998f, 0.003622f, 0.001972f, 0.003558f, 0.000642f, 0.007509f, -0.004877f, -0.001703f, -0.004389f, 0.004347f, 0.012512f, -0.002077f, 0.006070f, -0.000137f, -0.002833f, -0.010286f, 0.003858f, -0.005315f, 0.004754f, 0.002441f, 0.005312f, -0.000562f, -0.003195f, 0.001709f, -0.002200f, 0.007200f, 0.000928f, -0.005650f, 0.007280f, -0.001564f, 0.005684f, 0.004410f, -0.000224f, 0.004235f, 0.008209f, -0.002281f, -0.002867f, -0.002301f, 0.004091f, -0.003328f, -0.004414f, 0.005132f, 0.000071f, 0.003453f, -0.005452f, 0.008097f, 0.000491f, -0.002248f, -0.000932f, -0.000868f, 0.003229f, -0.002997f, -0.004826f, 0.002888f, 0.004351f, 0.004129f, -0.003822f, -0.005710f, 0.002327f, -0.000176f, -0.000665f, -0.002185f, -0.002076f, 0.002898f, -0.000728f, -0.000397f, -0.001756f, -0.002084f, 0.000442f, -0.001492f, + 0.000680f, 0.000468f, 0.002154f, 0.001503f, -0.000605f, 0.000789f, 0.001240f, -0.001258f, -0.000503f, 0.000106f, -0.000553f, -0.000958f, 0.000773f, 0.002085f, 0.001214f, 0.001564f, 0.000066f, -0.000121f, 0.000569f, -0.001285f, 0.000031f, 0.000497f, 0.022851f, 0.017792f, 0.009036f, 0.001238f, -0.003306f, 0.010284f, -0.005995f, -0.006572f, -0.001435f, -0.011432f, 0.006927f, 0.000396f, -0.004656f, 0.002627f, 0.006659f, 0.011279f, -0.005206f, 0.006480f, 0.014791f, -0.004267f, 0.000155f, 0.003316f, 0.007711f, -0.001989f, 0.008396f, 0.005850f, 0.008493f, 0.001888f, 0.006496f, -0.006619f, 0.011303f, -0.001399f, 0.010907f, 0.005333f, -0.001153f, 0.001299f, -0.001756f, -0.000301f, -0.003885f, -0.001904f, -0.004810f, -0.003624f, 0.003825f, -0.001066f, -0.010482f, -0.002409f, 0.001150f, -0.000341f, -0.005835f, -0.006110f, -0.003045f, -0.002669f, 0.008259f, -0.003340f, -0.009006f, -0.012115f, -0.013259f, -0.004630f, -0.005825f, -0.000524f, 0.002074f, 0.006371f, -0.008666f, -0.003994f, 0.001040f, -0.000927f, -0.003872f, 0.000920f, -0.009125f, -0.000911f, -0.010759f, 0.005712f, -0.005850f, -0.002908f, + 0.007493f, -0.001136f, 0.005148f, 0.001432f, 0.001885f, 0.005740f, 0.001458f, -0.004709f, -0.002122f, 0.000413f, -0.004533f, 0.002369f, 0.004639f, 0.002197f, -0.003551f, 0.002624f, 0.003880f, 0.000705f, 0.002107f, -0.001189f, -0.002084f, -0.001515f, -0.002084f, 0.001437f, -0.000209f, 0.001314f, -0.001741f, -0.001351f, 0.001492f, 0.002097f, 0.012095f, -0.026192f, -0.007011f, -0.013280f, -0.002450f, -0.000029f, 0.014424f, -0.007031f, -0.023451f, -0.008287f, -0.000590f, 0.008911f, 0.002793f, -0.008727f, -0.020362f, -0.005265f, 0.005588f, -0.002308f, 0.011477f, 0.000426f, 0.005030f, -0.001161f, -0.009038f, -0.009863f, 0.005930f, 0.007207f, 0.000849f, 0.002321f, -0.000359f, 0.004395f, 0.001027f, -0.012129f, 0.000644f, 0.017015f, 0.002293f, -0.004262f, -0.001574f, -0.004555f, 0.001043f, -0.003934f, -0.007407f, 0.011381f, -0.003550f, -0.004780f, 0.010354f, -0.005447f, -0.009197f, 0.000391f, 0.000058f, 0.000269f, -0.013265f, 0.010750f, -0.004114f, -0.000288f, 0.009941f, 0.009013f, -0.014224f, -0.003639f, 0.002747f, 0.003419f, -0.001264f, 0.007754f, 0.002140f, 0.003833f, 0.005392f, 0.000771f, + 0.004307f, 0.006488f, 0.001414f, 0.000001f, 0.006079f, -0.016258f, -0.003601f, 0.000369f, 0.008256f, 0.004544f, -0.002007f, -0.001683f, 0.006001f, 0.005555f, -0.006479f, -0.000969f, -0.002316f, 0.000152f, 0.003544f, 0.004482f, 0.000891f, 0.005549f, -0.000580f, -0.004064f, -0.001912f, 0.000398f, 0.000401f, 0.000478f, -0.001525f, 0.003843f, -0.000818f, 0.001344f, -0.000612f, -0.001835f, 0.001131f, -0.000116f, -0.000794f, -0.001519f, 0.000303f, -0.001435f, -0.000246f, -0.002525f, -0.001917f, 0.000435f, -0.000395f, -0.001995f, -0.003809f, -0.001464f, 0.000806f, 0.003124f, -0.052146f, -0.020489f, -0.010552f, -0.014711f, 0.004612f, -0.005039f, -0.005023f, -0.000544f, 0.006545f, -0.005893f, -0.007153f, -0.010270f, 0.002044f, 0.009373f, 0.002041f, -0.007015f, -0.008844f, 0.002711f, 0.007723f, 0.007259f, -0.010048f, -0.014679f, 0.001085f, -0.013717f, 0.007328f, -0.000009f, 0.005106f, -0.000305f, 0.004926f, -0.005347f, -0.002308f, 0.014519f, -0.017491f, 0.008121f, 0.004050f, 0.002040f, -0.006219f, 0.003947f, 0.008579f, 0.002381f, -0.010664f, 0.002235f, -0.006773f, 0.005293f, -0.014547f, -0.000462f, + -0.013179f, 0.010220f, -0.001095f, -0.002519f, -0.003755f, 0.005669f, -0.022102f, 0.010278f, -0.006387f, -0.013275f, 0.005328f, 0.010853f, 0.012148f, 0.007267f, 0.002582f, -0.000765f, 0.001432f, -0.001004f, 0.007837f, -0.004378f, 0.002212f, 0.006279f, 0.015194f, 0.002531f, 0.000292f, -0.010813f, 0.006955f, -0.005320f, 0.001237f, 0.000417f, 0.008088f, -0.007067f, 0.000419f, 0.007549f, -0.000665f, -0.008704f, -0.012150f, 0.010159f, 0.000842f, 0.002002f, 0.005063f, -0.000923f, 0.002463f, 0.002288f, -0.000074f, 0.001938f, -0.000847f, 0.000429f, 0.002699f, 0.002627f, 0.002661f, -0.004279f, 0.001738f, -0.003180f, -0.001432f, -0.002658f, 0.002614f, -0.003032f, -0.029613f, 0.014494f, 0.023130f, 0.004487f, 0.001831f, 0.012847f, 0.004344f, 0.003925f, 0.007033f, 0.000959f, 0.007359f, 0.007389f, -0.005966f, -0.001103f, 0.001005f, -0.007275f, -0.004503f, -0.000102f, 0.003576f, -0.004295f, 0.024050f, 0.012768f, -0.003508f, 0.001711f, 0.007637f, 0.009607f, 0.010977f, -0.004604f, 0.007730f, 0.008993f, 0.000507f, 0.002617f, 0.002595f, 0.005117f, 0.003715f, 0.002252f, 0.005082f, 0.004844f, + -0.010406f, -0.008053f, -0.016020f, 0.001723f, -0.005676f, -0.008019f, 0.008240f, -0.002354f, 0.005187f, -0.019859f, 0.021855f, -0.001598f, -0.010395f, -0.001941f, 0.017324f, 0.012527f, -0.002764f, 0.000437f, 0.008388f, -0.004002f, 0.003606f, -0.006401f, -0.013642f, 0.001594f, 0.001274f, -0.010975f, -0.004339f, -0.010818f, 0.001928f, 0.003981f, 0.002442f, -0.005267f, -0.009551f, -0.014567f, -0.017342f, -0.012483f, -0.004860f, 0.000984f, -0.004219f, 0.001675f, 0.005759f, 0.005098f, -0.007209f, -0.000788f, -0.007862f, 0.002855f, -0.002741f, 0.002243f, -0.000105f, -0.003226f, 0.002297f, 0.002611f, -0.002315f, -0.001107f, -0.003013f, 0.004049f, -0.004819f, 0.001035f, 0.001544f, 0.001415f, -0.000488f, -0.001135f, 0.001030f, 0.002147f, 0.002159f, 0.001755f, 0.001357f, 0.001808f, 0.000599f, 0.003453f, -0.000797f, 0.003827f, -0.002394f, 0.001203f, -0.000711f, -0.000996f, -0.002756f, -0.002142f, -0.001833f, -0.002506f, 0.000987f, -0.002013f, -0.000267f, 0.001822f, 0.000612f, 0.054644f, 0.014442f, 0.004093f, -0.002059f, 0.032958f, 0.003831f, 0.015686f, 0.003199f, 0.010452f, 0.017117f, 0.006103f, + -0.009538f, 0.010172f, 0.011763f, 0.001918f, -0.000878f, 0.002575f, 0.021556f, 0.001557f, -0.007385f, -0.013052f, -0.003862f, -0.000332f, -0.014991f, 0.002581f, 0.004442f, 0.008668f, 0.003662f, 0.006141f, 0.016521f, -0.005086f, -0.002625f, 0.010226f, -0.001584f, -0.004400f, -0.000851f, -0.014697f, 0.009564f, 0.006340f, 0.000348f, 0.009591f, -0.004742f, -0.012855f, -0.027960f, -0.010155f, 0.010345f, 0.011511f, 0.000375f, 0.008109f, -0.007886f, -0.008485f, 0.022778f, -0.013073f, 0.010333f, -0.011497f, 0.002443f, -0.016805f, -0.017732f, 0.019375f, -0.007339f, -0.006819f, 0.026605f, 0.002114f, -0.002964f, -0.012374f, 0.009769f, 0.015472f, 0.000774f, -0.008155f, -0.015633f, -0.002336f, 0.011407f, -0.003519f, 0.003884f, -0.006792f, 0.005631f, -0.002504f, 0.001841f, 0.012259f, -0.013058f, 0.004226f, -0.003677f, 0.000947f, 0.001534f, -0.001369f, 0.014041f, 0.004526f, 0.002089f, -0.004024f, 0.000170f, -0.003157f, 0.005932f, -0.002717f, 0.004710f, 0.004842f, -0.004896f, 0.000173f, -0.000762f, -0.003048f, 0.006687f, 0.001268f, 0.003142f, 0.000397f, -0.002325f, 0.001498f, 0.000055f, 0.000272f, + 0.001932f, 0.003104f, 0.001125f, 0.004026f, 0.001244f, -0.000143f, 0.002200f, 0.001632f, -0.001484f, 0.000627f, -0.000628f, 0.001006f, 0.003479f, 0.003998f, 0.000643f, -0.000191f, 0.027991f, 0.009068f, 0.023233f, -0.014292f, 0.004834f, 0.012721f, -0.017337f, -0.006160f, -0.006635f, 0.001676f, -0.008647f, -0.005560f, 0.013869f, -0.004295f, -0.002338f, -0.001109f, 0.017301f, -0.006375f, -0.007679f, 0.018092f, 0.003186f, -0.013026f, 0.005672f, -0.002960f, 0.003153f, 0.006760f, -0.010219f, -0.002542f, -0.007620f, -0.014225f, 0.001951f, 0.000231f, 0.002915f, -0.013996f, -0.014214f, 0.005471f, -0.001019f, 0.005322f, -0.000351f, 0.007798f, 0.002561f, -0.000480f, -0.008997f, -0.009054f, 0.002706f, 0.008791f, 0.004556f, -0.002717f, 0.026390f, 0.006100f, 0.004702f, 0.011781f, 0.004627f, 0.008734f, 0.009227f, 0.005782f, 0.003840f, 0.004408f, -0.003578f, -0.002172f, 0.002211f, -0.011209f, 0.003158f, -0.018000f, 0.005108f, -0.011950f, 0.009494f, -0.006766f, 0.005314f, -0.002417f, -0.008457f, 0.002817f, -0.002073f, 0.009237f, -0.007914f, 0.024883f, 0.021278f, 0.009617f, -0.017782f, 0.005559f, + 0.008226f, -0.007785f, 0.003549f, 0.002131f, 0.012476f, 0.011549f, 0.005108f, -0.000358f, -0.001449f, -0.002598f, -0.006897f, 0.010761f, -0.000601f, -0.001402f, 0.000251f, -0.003210f, 0.001402f, 0.003533f, -0.002766f, 0.005567f, -0.001934f, -0.004741f, -0.004653f, -0.000257f, 0.003546f, 0.003147f, -0.000676f, -0.001246f, -0.003627f, -0.001740f, 0.002249f, -0.004696f, 0.005369f, 0.005250f, -0.003167f, 0.000882f, -0.004067f, -0.001485f, 0.000944f, 0.001667f, -0.003047f, 0.005579f, -0.034470f, -0.066315f, -0.002838f, -0.013292f, 0.011491f, -0.003424f, -0.018377f, -0.001789f, -0.014888f, -0.016411f, -0.014080f, 0.021673f, 0.011235f, -0.014505f, -0.008357f, 0.016484f, 0.009527f, 0.014706f, -0.010170f, 0.009499f, -0.009028f, -0.009113f, -0.002840f, -0.004003f, -0.028092f, 0.007625f, 0.015975f, 0.006857f, -0.016722f, -0.003877f, 0.002909f, 0.004226f, -0.014928f, -0.003365f, -0.021406f, 0.004660f, -0.010179f, -0.001001f, -0.007498f, 0.004029f, 0.022788f, -0.002522f, -0.004308f, 0.011387f, 0.016638f, -0.010167f, 0.004489f, 0.006247f, -0.014156f, 0.007477f, 0.006960f, -0.016614f, 0.002528f, 0.010633f, + -0.002605f, -0.017496f, -0.011056f, -0.011314f, 0.015740f, 0.006054f, 0.015410f, -0.009247f, -0.017989f, 0.004165f, 0.008844f, -0.003890f, -0.012906f, 0.008434f, 0.012432f, 0.011786f, -0.014790f, -0.007726f, -0.003148f, 0.023656f, -0.005143f, 0.014084f, 0.004070f, -0.016802f, -0.013715f, -0.002694f, 0.009217f, -0.015930f, -0.001042f, -0.003043f, 0.008603f, -0.002003f, 0.019526f, 0.002362f, -0.004607f, -0.005966f, -0.005089f, -0.005760f, -0.003784f, -0.002022f, 0.001687f, -0.000153f, -0.002427f, -0.007304f, -0.000819f, -0.007106f, -0.003188f, 0.002768f, -0.002576f, 0.001031f, -0.002164f, -0.005404f, 0.003062f, -0.000969f, 0.008273f, -0.001754f, -0.006968f, -0.004921f, 0.002543f, -0.001403f, 0.000160f, -0.002028f, -0.004537f, 0.001373f, 0.004567f, -0.004314f, -0.001470f, 0.006298f, 0.002824f, -0.004092f, 0.000192f, 0.004945f, -0.033546f, -0.000410f, 0.001322f, 0.019189f, 0.005123f, -0.008177f, 0.011957f, -0.005934f, 0.005449f, -0.018748f, -0.005023f, -0.012011f, -0.006076f, -0.023604f, -0.008436f, -0.014239f, 0.032438f, 0.018063f, 0.019922f, -0.023155f, -0.019134f, -0.009693f, 0.011312f, -0.001393f, + 0.000130f, 0.000320f, 0.006948f, -0.001897f, 0.009700f, -0.013608f, -0.011010f, -0.000552f, -0.002852f, -0.016706f, -0.016094f, -0.013505f, -0.009167f, -0.007433f, -0.006179f, -0.021070f, 0.009904f, 0.025115f, -0.005133f, 0.011609f, 0.016731f, -0.012283f, 0.014532f, 0.008656f, 0.003750f, 0.022918f, -0.000725f, 0.019148f, 0.007603f, 0.002221f, -0.017872f, 0.007038f, 0.009404f, -0.005075f, 0.027135f, 0.021068f, 0.004542f, -0.008200f, -0.012949f, 0.007484f, -0.012722f, 0.005073f, 0.000124f, 0.015593f, 0.000346f, -0.023793f, 0.002083f, -0.009504f, -0.003370f, -0.017875f, 0.021030f, 0.010506f, 0.007868f, 0.004711f, 0.023429f, -0.006830f, -0.023764f, -0.003976f, 0.015568f, 0.000230f, -0.012055f, -0.003387f, 0.002111f, -0.005559f, 0.003328f, 0.007125f, 0.000311f, 0.000055f, -0.001171f, 0.002199f, -0.000019f, 0.008625f, 0.003067f, 0.002452f, -0.001692f, 0.003236f, 0.005027f, 0.007819f, -0.006325f, 0.004255f, 0.005001f, -0.000223f, 0.001834f, 0.007879f, 0.004833f, 0.001919f, -0.004503f, 0.006672f, -0.001626f, -0.004129f, -0.004234f, -0.000467f, -0.011614f, 0.007423f, 0.004245f, 0.001214f, + -0.005292f, 0.006526f, 0.007093f, 0.011726f, 0.007822f, 0.001861f, 0.002460f, 0.000447f, 0.010266f, -0.030604f, 0.013734f, 0.010262f, 0.013025f, -0.014238f, -0.025575f, 0.007477f, 0.007534f, 0.001376f, -0.021582f, 0.020628f, 0.005777f, -0.010859f, -0.019019f, 0.008630f, -0.008475f, 0.032968f, 0.038168f, 0.005749f, -0.006237f, -0.014189f, 0.021628f, -0.024642f, -0.008963f, 0.030624f, 0.007484f, -0.005843f, -0.016617f, -0.015121f, -0.008708f, 0.000633f, -0.020296f, 0.004644f, 0.021411f, -0.002646f, 0.007981f, -0.015677f, -0.014502f, -0.004791f, -0.012006f, 0.031356f, -0.011573f, 0.014133f, 0.011453f, 0.012780f, 0.003254f, 0.006326f, -0.021774f, -0.021651f, -0.020938f, -0.004557f, 0.015556f, 0.036140f, -0.014613f, -0.025951f, -0.006105f, -0.011909f, 0.006587f, 0.005685f, 0.019990f, -0.012171f, -0.000337f, -0.016157f, -0.003173f, 0.028964f, -0.003766f, -0.015630f, 0.020585f, 0.006864f, 0.003270f, 0.010942f, -0.023235f, 0.003633f, -0.007911f, 0.002336f, 0.010541f, 0.025479f, 0.007040f, -0.029403f, 0.010726f, 0.002678f, -0.004629f, -0.012199f, 0.000526f, -0.003048f, -0.001658f, -0.000698f, + 0.004122f, 0.006895f, 0.008135f, 0.002805f, 0.000522f, -0.004666f, 0.001512f, -0.001381f, 0.005841f, -0.009917f, 0.003724f, 0.003993f, -0.000235f, 0.000978f, 0.001665f, -0.007483f, -0.000215f, -0.004934f, 0.008250f, 0.007763f, 0.001904f, 0.009303f, -0.003594f, 0.001368f, 0.007033f, -0.001388f, 0.005580f, 0.001462f, 0.005171f, 0.001828f, -0.011628f, -0.000620f, -0.004138f, -0.000569f, 0.001615f, 0.000779f, -0.004069f, 0.000485f, -0.004794f, 0.000094f, -0.002303f, 0.049919f, -0.021697f, -0.017000f, -0.005198f, 0.010522f, -0.029196f, 0.011693f, -0.007879f, 0.014747f, -0.013102f, -0.005971f, 0.018116f, 0.013433f, 0.005121f, -0.009112f, -0.003298f, 0.024796f, 0.024395f, -0.005063f, 0.021303f, -0.006178f, 0.031320f, -0.014636f, -0.007687f, 0.005625f, 0.032813f, 0.023966f, 0.007938f, -0.017579f, -0.001225f, -0.036433f, -0.005499f, 0.005700f, 0.016769f, 0.019537f, 0.034585f, 0.009067f, -0.000623f, -0.001666f, -0.013263f, -0.022720f, -0.001622f, -0.019705f, 0.014265f, 0.004477f, 0.022054f, 0.012275f, -0.007518f, 0.021857f, -0.026002f, 0.011769f, -0.005788f, 0.001892f, -0.004510f, 0.027822f, + 0.016314f, 0.007973f, 0.004976f, -0.050471f, -0.008015f, 0.029954f, 0.015136f, 0.001873f, -0.000918f, 0.001536f, 0.024166f, 0.010263f, -0.038155f, -0.012432f, -0.014706f, 0.003598f, 0.000847f, -0.037908f, 0.001511f, -0.035431f, -0.023483f, -0.003048f, -0.015208f, -0.016483f, 0.022200f, 0.028023f, -0.002971f, -0.013561f, -0.001452f, 0.008640f, -0.003384f, 0.007381f, 0.011513f, -0.000874f, 0.012788f, 0.018701f, -0.005896f, -0.010326f, 0.001799f, -0.004366f, 0.005724f, 0.003742f, -0.002854f, -0.002533f, 0.000338f, 0.000355f, 0.005368f, -0.000489f, -0.006310f, 0.001393f, 0.006462f, 0.002451f, 0.005761f, -0.004810f, 0.008682f, 0.000098f, -0.003014f, 0.002209f, -0.005268f, 0.002281f, -0.010696f, -0.006834f, -0.008329f, 0.004503f, 0.000583f, -0.007937f, -0.001433f, 0.007036f, 0.004725f, 0.006129f, -0.003778f, 0.003443f, 0.000265f, -0.001190f, -0.010163f, -0.005173f, -0.010778f, 0.018443f, 0.034873f, -0.008564f, -0.014688f, 0.002325f, 0.013272f, 0.008113f, -0.021901f, -0.001057f, -0.017812f, -0.000676f, -0.024118f, -0.002343f, -0.020781f, 0.001212f, 0.020794f, 0.001912f, 0.046338f, -0.019357f, + -0.009732f, -0.016425f, 0.018712f, 0.031337f, -0.025236f, -0.008109f, -0.038954f, 0.007487f, -0.000645f, 0.010777f, 0.009202f, -0.021416f, -0.013146f, 0.017111f, -0.006645f, -0.004570f, -0.021330f, 0.042589f, -0.005961f, -0.045155f, 0.012461f, -0.011749f, -0.013768f, 0.016524f, 0.012427f, -0.012909f, -0.014729f, -0.004187f, -0.026490f, -0.015556f, 0.008475f, 0.006061f, 0.008856f, -0.007801f, -0.019208f, -0.021801f, -0.022300f, 0.018396f, -0.032632f, 0.000699f, 0.007593f, -0.009813f, 0.000640f, -0.000028f, -0.004599f, -0.025538f, -0.004959f, -0.010276f, 0.016171f, 0.021113f, -0.004078f, 0.032723f, -0.002048f, -0.000161f, -0.010171f, -0.001908f, 0.046614f, 0.004706f, -0.021331f, -0.008275f, 0.018006f, 0.013725f, -0.026186f, 0.000693f, 0.003501f, -0.017457f, 0.014480f, 0.003613f, 0.016228f, 0.002705f, 0.002281f, 0.002686f, 0.001058f, 0.007334f, 0.009668f, 0.001038f, 0.004723f, 0.016081f, 0.000995f, -0.005531f, 0.002524f, 0.007797f, -0.006308f, -0.001584f, 0.000645f, -0.007334f, 0.006647f, 0.006529f, 0.007717f, 0.001714f, -0.008964f, 0.002135f, -0.003267f, 0.001567f, -0.002126f, -0.001480f, + 0.000453f, -0.004749f, 0.006599f, -0.003461f, -0.005113f, -0.005687f, 0.013647f, 0.000254f, -0.015521f, 0.011197f, 0.008316f, 0.003864f, -0.001375f, 0.008588f, 0.006015f, -0.016774f, -0.004165f, 0.000956f, 0.000366f, -0.005067f, -0.022730f, 0.057401f, -0.014761f, -0.005035f, 0.005105f, 0.024476f, 0.017590f, -0.037266f, -0.015198f, -0.035402f, 0.007778f, 0.002043f, -0.010946f, -0.038964f, 0.001629f, -0.018184f, 0.008110f, 0.008596f, 0.019693f, 0.001012f, 0.014341f, 0.067455f, 0.014679f, 0.016849f, -0.010569f, -0.003731f, 0.029472f, -0.002554f, 0.002341f, 0.007828f, 0.001951f, -0.004304f, -0.015365f, 0.027194f, -0.028805f, 0.012031f, -0.042834f, -0.013021f, -0.020025f, -0.026433f, -0.022706f, -0.000014f, -0.046798f, -0.015908f, 0.006465f, 0.026851f, 0.015464f, -0.045975f, 0.026137f, 0.017403f, 0.019060f, -0.029176f, 0.021523f, -0.013661f, -0.033458f, -0.011350f, -0.033287f, 0.016342f, 0.039899f, 0.010142f, -0.003773f, -0.025942f, 0.021124f, -0.027629f, 0.041672f, -0.007608f, -0.004436f, -0.024950f, -0.027357f, 0.004204f, 0.032560f, 0.010890f, -0.022317f, -0.008877f, 0.005502f, -0.004413f, + -0.008898f, 0.021536f, 0.011055f, -0.009687f, 0.027583f, -0.001981f, -0.039001f, 0.049242f, 0.026136f, 0.020449f, 0.009318f, -0.006313f, -0.002335f, -0.003789f, 0.014710f, 0.003627f, 0.002234f, 0.032538f, 0.012672f, 0.000895f, 0.001633f, 0.004905f, 0.016925f, -0.013156f, 0.009589f, 0.001267f, 0.003276f, 0.003432f, 0.010947f, 0.005656f, 0.000785f, 0.018520f, 0.014009f, 0.001581f, -0.006230f, -0.006077f, -0.002260f, 0.015247f, 0.007564f, 0.008734f, 0.008146f, 0.010285f, -0.012162f, 0.012700f, -0.003131f, -0.002868f, 0.011528f, 0.018282f, -0.002461f, -0.004542f, 0.000023f, 0.017437f, 0.019721f, 0.007942f, 0.012204f, 0.009345f, 0.031392f, 0.005975f, -0.020217f, 0.009222f, -0.005896f, 0.009503f, 0.034452f, -0.048477f, -0.022066f, -0.038954f, 0.022165f, -0.007758f, 0.003818f, -0.012777f, 0.028129f, -0.027578f, -0.027939f, -0.012595f, -0.006511f, -0.019822f, -0.034568f, -0.016560f, 0.006495f, 0.022835f, -0.031800f, 0.021118f, -0.011954f, 0.002652f, 0.041251f, 0.031695f, -0.000493f, 0.016774f, 0.008012f, -0.006415f, -0.004938f, -0.055819f, 0.007812f, -0.005528f, 0.005570f, 0.011056f, + -0.004339f, 0.001682f, 0.056614f, -0.050608f, 0.004846f, 0.061415f, 0.008064f, 0.017079f, -0.023947f, -0.006397f, 0.032103f, 0.056397f, 0.002931f, 0.050035f, -0.019358f, 0.045281f, -0.015763f, 0.033561f, 0.033962f, -0.008214f, 0.066101f, -0.010816f, -0.002692f, -0.019433f, -0.029722f, -0.031437f, -0.014392f, -0.018802f, -0.045808f, -0.021265f, -0.009625f, 0.017157f, 0.016926f, 0.002326f, -0.023457f, -0.003768f, -0.006525f, 0.029710f, 0.009307f, -0.015229f, 0.025453f, 0.005868f, -0.002977f, -0.003399f, -0.018261f, -0.002664f, -0.007158f, 0.007878f, -0.018474f, -0.008747f, -0.012823f, -0.012773f, 0.023731f, 0.009255f, -0.007612f, 0.007272f, -0.005802f, 0.004660f, -0.013945f, 0.021254f, 0.001229f, 0.006073f, -0.000311f, -0.014072f, 0.013279f, -0.001582f, 0.005048f, 0.015131f, 0.010666f, 0.006526f, 0.001461f, -0.021996f, 0.010872f, -0.008357f, -0.000710f, 0.019162f, -0.000094f, 0.007170f, 0.004896f, 0.009203f, 0.013149f, -0.004518f, -0.009964f, -0.006750f, -0.007892f, 0.004052f, 0.011890f, 0.019676f, 0.011744f, -0.022834f, -0.002471f, -0.024806f, -0.021503f, -0.072471f, -0.051725f, -0.036313f, + -0.003737f, 0.049504f, -0.032470f, -0.003912f, -0.025010f, -0.035796f, -0.029892f, -0.036573f, -0.038439f, -0.014971f, -0.045348f, -0.049055f, -0.042931f, 0.012332f, -0.029679f, -0.015247f, -0.036969f, 0.035343f, 0.057418f, 0.005205f, -0.006762f, -0.020062f, 0.004590f, -0.003369f, -0.001647f, -0.004401f, 0.017999f, 0.004044f, 0.039116f, -0.033990f, 0.002866f, -0.028880f, 0.059523f, 0.014866f, -0.035123f, 0.027725f, -0.025209f, 0.022570f, -0.033802f, 0.019980f, 0.002757f, -0.019905f, 0.017955f, -0.031630f, -0.010780f, 0.010369f, 0.032476f, 0.014514f, 0.057745f, -0.012715f, -0.037456f, 0.003779f, -0.010784f, 0.004685f, -0.024864f, -0.021144f, -0.039963f, 0.005329f, -0.042477f, -0.008217f, -0.006755f, -0.036827f, 0.024673f, 0.031714f, -0.018408f, -0.001692f, -0.054730f, 0.063077f, 0.076008f, 0.012506f, -0.030166f, 0.010709f, 0.066876f, -0.031129f, -0.014397f, -0.035546f, -0.021013f, -0.039047f, 0.016052f, -0.001566f, -0.022322f, 0.017515f, -0.022357f, 0.009586f, -0.013954f, -0.006029f, 0.008997f, 0.005117f, -0.000279f, -0.014412f, -0.003048f, 0.013273f, 0.007436f, -0.024251f, 0.019331f, -0.016789f, + 0.008859f, 0.011594f, -0.007839f, -0.014117f, 0.007688f, -0.011348f, 0.009496f, 0.007271f, -0.015377f, 0.005963f, -0.002155f, 0.006267f, -0.009191f, -0.024432f, 0.006689f, 0.004708f, -0.010260f, 0.006796f, -0.009196f, 0.018040f, -0.000339f, 0.007601f, 0.001973f, 0.023342f, 0.002991f, -0.030400f, 0.017300f, 0.011829f, 0.005200f, 0.019681f, -0.058762f, 0.107446f, 0.040492f, -0.008675f, -0.032456f, -0.008888f, -0.034459f, 0.037075f, 0.093008f, 0.002169f, -0.061870f, -0.028123f, 0.033497f, 0.012648f, -0.012384f, 0.044536f, -0.008668f, 0.005738f, 0.025364f, -0.002506f, -0.025693f, -0.008171f, 0.020885f, -0.026662f, -0.024475f, -0.009724f, 0.008654f, 0.001521f, -0.004714f, -0.011074f, 0.019692f, 0.002258f, 0.029178f, 0.023294f, -0.030177f, 0.015020f, 0.035885f, 0.020327f, -0.027885f, 0.010986f, 0.005931f, 0.024470f, 0.000583f, 0.008688f, 0.006502f, 0.010240f, 0.050632f, 0.048200f, 0.029689f, 0.065245f, -0.032041f, 0.033763f, -0.038594f, 0.024892f, -0.000445f, 0.022777f, 0.028207f, 0.009379f, 0.007330f, 0.034552f, 0.015922f, -0.008831f, 0.021749f, 0.000430f, 0.029177f, -0.030634f, + -0.017687f, 0.003011f, 0.070342f, -0.048200f, 0.004706f, -0.060686f, -0.007234f, 0.007425f, 0.024059f, -0.029339f, -0.005846f, -0.030240f, 0.007946f, 0.038101f, -0.023111f, -0.054187f, -0.011598f, -0.004982f, -0.014785f, 0.013642f, 0.009527f, -0.015040f, 0.005493f, -0.012800f, -0.012875f, 0.012658f, -0.001920f, -0.006936f, -0.024608f, 0.013820f, -0.001009f, -0.015165f, -0.012461f, 0.012110f, 0.033255f, 0.003691f, -0.009479f, -0.003939f, 0.012148f, 0.030300f, 0.006005f, 0.003085f, 0.024905f, -0.000220f, 0.006823f, -0.001800f, -0.004826f, -0.000616f, 0.009077f, 0.014654f, 0.008551f, -0.003446f, -0.005202f, 0.013140f, 0.009040f, -0.018134f, 0.017857f, 0.005398f, 0.034624f, -0.007997f, 0.008859f, 0.021412f, -0.014169f, -0.008115f, 0.011810f, -0.018980f, 0.090006f, 0.007182f, 0.006660f, -0.019979f, -0.012466f, 0.014638f, 0.013837f, 0.007957f, 0.034760f, 0.014192f, -0.014537f, 0.018037f, 0.037047f, -0.001836f, 0.040592f, -0.004319f, 0.019718f, -0.041681f, 0.074813f, -0.011563f, -0.008777f, 0.012097f, -0.056650f, -0.015038f, -0.027307f, 0.039413f, 0.021857f, 0.022082f, -0.026536f, 0.009104f, + 0.009444f, -0.035764f, 0.009645f, 0.029575f, 0.025490f, 0.008233f, -0.008880f, 0.003007f, -0.017143f, 0.056236f, 0.008398f, 0.025056f, 0.020733f, 0.030015f, -0.050857f, -0.004729f, -0.015511f, 0.008733f, -0.019067f, -0.022917f, 0.041625f, -0.040723f, 0.030406f, -0.026141f, 0.032003f, -0.008087f, -0.034249f, -0.004042f, -0.051304f, 0.030688f, 0.028804f, 0.034505f, -0.105740f, 0.029485f, 0.018562f, -0.033284f, -0.022155f, -0.031029f, 0.053753f, -0.078518f, 0.046047f, 0.108110f, 0.001537f, -0.053069f, -0.021442f, 0.030641f, 0.063439f, 0.016658f, -0.022470f, -0.047978f, -0.079508f, -0.007417f, -0.001105f, 0.030259f, -0.024284f, -0.011734f, -0.018792f, 0.052971f, 0.002754f, -0.002682f, -0.016236f, 0.010133f, 0.002343f, -0.001185f, 0.001348f, -0.001736f, 0.009335f, 0.033311f, 0.041285f, 0.021053f, -0.007142f, -0.004588f, 0.015866f, 0.003039f, -0.011301f, 0.003770f, -0.017662f, -0.011334f, -0.021344f, -0.030905f, -0.063329f, -0.025912f, 0.008589f, 0.001781f, 0.034043f, -0.026237f, -0.018811f, 0.043664f, 0.015614f, -0.012989f, -0.019664f, 0.013296f, -0.005687f, -0.018516f, 0.043301f, 0.003841f, + -0.003320f, -0.015349f, 0.000060f, -0.019140f, -0.015484f, -0.023605f, -0.006932f, -0.010306f, -0.008404f, -0.025065f, 0.016309f, -0.052214f, 0.008538f, -0.031774f, 0.047258f, 0.002647f, 0.013545f, -0.026984f, 0.021437f, -0.008023f, -0.017800f, 0.008074f, -0.018349f, -0.011989f, -0.015442f, -0.041943f, -0.022973f, 0.029614f, 0.025975f, 0.018693f, 0.022235f, -0.050612f, -0.013679f, 0.009103f, -0.013950f, 0.028511f, 0.021421f, 0.001003f, 0.018400f, 0.048884f, -0.014164f, -0.051791f, 0.097706f, -0.043228f, -0.053526f, 0.059179f, -0.028368f, -0.018019f, 0.014110f, 0.029911f, -0.035429f, -0.012274f, 0.004397f, -0.024690f, 0.126969f, -0.002046f, -0.019944f, -0.008929f, 0.001830f, 0.030472f, -0.061143f, -0.047992f, -0.025698f, -0.025706f, -0.001445f, -0.054246f, 0.000590f, -0.005680f, 0.020276f, 0.079019f, 0.081418f, -0.032217f, 0.063082f, -0.062161f, -0.053889f, 0.032072f, 0.051178f, -0.018197f, 0.014640f, 0.005560f, 0.035275f, 0.042051f, 0.000716f, 0.001971f, 0.057091f, -0.051298f, -0.099498f, -0.011991f, -0.039269f, 0.021437f, 0.047799f, -0.005498f, -0.031014f, 0.063425f, 0.019683f, 0.012114f, + -0.016746f, -0.053586f, -0.028982f, 0.004878f, -0.022262f, 0.029471f, -0.002139f, -0.019780f, -0.002143f, -0.022274f, -0.021488f, 0.029261f, -0.009114f, 0.011339f, -0.021519f, 0.031213f, -0.002250f, -0.002710f, 0.021062f, 0.029897f, -0.002862f, -0.007181f, -0.020530f, 0.001936f, -0.017596f, -0.017250f, -0.012265f, -0.006107f, -0.031093f, -0.000770f, -0.013912f, -0.006132f, -0.031216f, 0.008446f, 0.036921f, 0.013154f, -0.021923f, -0.046965f, -0.003060f, -0.004861f, 0.025253f, -0.063013f, -0.012455f, 0.013941f, -0.012400f, 0.028340f, -0.000180f, 0.016954f, -0.000838f, -0.005523f, 0.004015f, -0.035824f, 0.038783f, 0.001064f, 0.023512f, -0.024259f, -0.038590f, 0.035925f, -0.038202f, 0.012233f, -0.009173f, 0.033805f, -0.000301f, 0.007861f, -0.020501f, 0.006907f, -0.014608f, -0.048612f, -0.039203f, 0.016994f, -0.003428f, -0.000806f, 0.007676f, 0.037076f, -0.016759f, -0.010738f, -0.031091f, 0.013707f, 0.010983f, -0.003365f, -0.006349f, -0.081967f, 0.003519f, 0.023567f, -0.029697f, 0.020899f, -0.045870f, -0.008207f, 0.002820f, 0.028918f, 0.035922f, 0.004710f, -0.017394f, 0.011804f, 0.064874f, 0.057068f, + 0.056300f, -0.002263f, -0.005306f, 0.012339f, 0.006656f, -0.025672f, 0.016681f, 0.071621f, -0.050979f, -0.016330f, -0.014838f, 0.000361f, 0.002621f, 0.009462f, -0.037913f, -0.057506f, -0.021747f, -0.003280f, 0.116152f, 0.059228f, 0.039404f, -0.005301f, -0.010222f, -0.029489f, 0.050499f, 0.007459f, 0.032314f, -0.011838f, -0.015719f, -0.023346f, -0.020774f, -0.085796f, -0.038082f, -0.045230f, 0.035615f, -0.003246f, -0.016773f, -0.002620f, -0.035276f, -0.016411f, 0.037337f, 0.056284f, -0.008783f, 0.049642f, 0.026696f, 0.020856f, 0.002999f, 0.023578f, 0.029666f, 0.025066f, -0.006321f, -0.001473f, 0.000370f, 0.033882f, -0.026771f, -0.034379f, -0.016698f, 0.018632f, -0.003230f, -0.024152f, -0.015800f, -0.024191f, 0.014331f, -0.005393f, 0.030742f, 0.061411f, 0.011506f, 0.037917f, 0.049142f, 0.024054f, 0.030492f, 0.015481f, 0.009688f, 0.013701f, -0.022484f, 0.032498f, -0.026651f, -0.017761f, 0.007152f, 0.002895f, -0.019000f, 0.009916f, 0.017555f, 0.032632f, 0.013316f, -0.037120f, 0.020537f, 0.015844f, 0.004079f, 0.017452f, -0.010004f, -0.019500f, 0.010883f, -0.000833f, -0.014307f, -0.008141f, + -0.013365f, 0.005278f, -0.079240f, 0.044408f, 0.039178f, -0.002348f, 0.064284f, 0.028614f, -0.043585f, -0.043343f, 0.018878f, -0.017927f, -0.038876f, 0.002318f, 0.003988f, 0.017267f, -0.009598f, 0.022598f, -0.005560f, 0.021387f, 0.027670f, -0.025653f, -0.102755f, 0.055038f, -0.015435f, -0.032424f, 0.023530f, 0.036294f, 0.001389f, -0.069284f, -0.008953f, -0.002984f, -0.070994f, -0.044564f, 0.037557f, -0.011004f, -0.028784f, -0.024621f, 0.016194f, -0.069378f, -0.049004f, 0.093325f, -0.007853f, -0.054403f, 0.021367f, 0.050640f, 0.021894f, -0.076987f, 0.109971f, 0.044288f, -0.067604f, 0.037511f, 0.049780f, 0.007807f, -0.045749f, 0.047495f, 0.053303f, 0.032227f, -0.042156f, 0.039833f, 0.074617f, 0.003908f, 0.075377f, 0.092997f, -0.049708f, -0.029809f, -0.034578f, 0.087871f, 0.056152f, -0.038306f, 0.021587f, -0.023199f, -0.055852f, 0.048090f, 0.109821f, 0.015743f, -0.032851f, -0.027647f, 0.066033f, -0.006252f, -0.073636f, -0.052898f, 0.013560f, -0.002824f, 0.061238f, -0.010978f, 0.047340f, -0.091774f, -0.013907f, 0.003594f, 0.015904f, -0.019160f, 0.019625f, -0.000931f, 0.002050f, 0.010455f, + 0.002775f, -0.024020f, 0.007449f, -0.011459f, 0.014973f, 0.005752f, -0.033200f, 0.029147f, 0.009704f, -0.027851f, -0.019662f, 0.005256f, -0.023912f, 0.004686f, 0.022242f, 0.024210f, 0.003643f, -0.022815f, -0.007207f, 0.007463f, -0.031035f, 0.018213f, 0.023321f, 0.007497f, 0.002122f, 0.023097f, 0.008658f, -0.010401f, 0.011468f, -0.008380f, 0.002124f, -0.015959f, 0.010261f, 0.037016f, -0.026084f, 0.064524f, 0.103873f, 0.041738f, -0.042966f, -0.015975f, -0.036036f, 0.021973f, -0.017501f, 0.028343f, 0.018858f, -0.047806f, 0.024301f, -0.048720f, -0.016306f, 0.000223f, -0.017824f, 0.002560f, 0.025381f, 0.019649f, 0.001432f, -0.038903f, 0.008759f, 0.030913f, -0.011753f, 0.004429f, -0.014002f, -0.045493f, 0.045845f, -0.027569f, 0.031747f, -0.046860f, -0.027489f, -0.006808f, -0.038296f, -0.011625f, 0.038922f, -0.038208f, 0.051309f, 0.003067f, 0.041838f, 0.016241f, -0.020849f, -0.056402f, 0.046021f, 0.028256f, 0.019151f, 0.011513f, 0.047434f, -0.035477f, -0.017908f, -0.020673f, 0.014797f, 0.017480f, -0.004697f, -0.044653f, -0.002058f, -0.006477f, -0.044806f, -0.018111f, 0.007013f, 0.011742f, + 0.035249f, -0.004589f, -0.031512f, 0.041537f, -0.008155f, -0.007672f, 0.050353f, 0.023587f, -0.041457f, 0.013001f, -0.025444f, 0.015643f, -0.013385f, 0.019316f, -0.035833f, 0.019563f, -0.012491f, 0.039130f, 0.006688f, 0.014745f, -0.013536f, -0.000553f, -0.029121f, 0.011150f, 0.001761f, 0.000826f, -0.000887f, 0.007824f, -0.011827f, -0.011361f, -0.001551f, 0.004195f, -0.003405f, 0.007096f, -0.014917f, -0.003366f, 0.011153f, -0.003279f, -0.000715f, -0.002935f, 0.000112f, 0.000121f, -0.023475f, 0.003838f, 0.018477f, -0.000208f, -0.002928f, -0.005618f, -0.002503f, -0.017906f, 0.001024f, -0.004947f, -0.002379f, -0.009625f, -0.014516f, -0.003862f, 0.013761f, -0.008758f, -0.004542f, 0.005871f, 0.002712f, 0.010013f, -0.010931f, -0.004827f, -0.001881f, -0.009223f, -0.012736f, -0.014609f, -0.077561f, -0.089813f, -0.049193f, 0.269280f, 0.235387f, 0.143594f, 0.312575f, -0.066057f, -0.236058f, -0.082044f, -0.444427f, -0.231895f, -0.005301f, -0.114135f, 0.157986f, 0.291566f, 0.040121f, 0.171614f, 0.332539f, 0.056632f, 0.115588f, 0.011823f, -0.342955f, -0.285223f, -0.253152f, -0.277408f, -0.169247f, 0.138757f, + 0.057825f, 0.138930f, 0.359475f, 0.217730f, 0.055576f, 0.267904f, 0.121365f, -0.163036f, 0.088316f, -0.118802f, -0.314064f, -0.037991f, -0.194403f, -0.355576f, -0.161358f, -0.036311f, -0.187414f, 0.209071f, 0.223639f, 0.106830f, 0.356538f, 0.404175f, 0.152520f, 0.200187f, 0.187671f, -0.209276f, -0.137376f, -0.267815f, -0.420017f, -0.385108f, -0.247909f, -0.247693f, -0.071865f, 0.161893f, 0.208150f, 0.279597f, 0.392556f, 0.353738f, 0.205850f, 0.151300f, 0.026589f, -0.163041f, -0.238458f, -0.173755f, -0.227065f, -0.279171f, -0.095244f, -0.105042f, -0.051861f, 0.175119f, 0.120417f, 0.129545f, 0.271020f, 0.069874f, -0.012447f, 0.045380f, -0.075507f, -0.116818f, -0.065772f, -0.118060f, -0.036038f, 0.076629f, 0.028551f, 0.042469f, 0.095809f, -0.022057f, 0.019728f, 0.053004f, -0.088938f, -0.008332f, 0.111037f, -0.104861f, 0.008853f, 0.018210f, -0.210405f, -0.010164f, -0.004312f, -0.250491f, 0.019826f, 0.088901f, -0.032409f, 0.259064f, 0.234766f, 0.043541f, 0.251247f, 0.124521f, -0.011064f, 0.042243f, -0.067868f, -0.270645f, -0.282642f, -0.349085f, -0.397896f, -0.200048f, -0.032521f, 0.080944f, + 0.249636f, 0.415555f, 0.476014f, 0.379326f, 0.280333f, 0.128648f, -0.052395f, -0.157743f, -0.347763f, -0.435048f, -0.320608f, -0.256838f, -0.244831f, 0.015990f, 0.120207f, 0.147595f, 0.241255f, 0.215685f, 0.141901f, 0.139904f, 0.100552f, 0.032282f, 0.040102f, -0.000428f, -0.076327f, -0.087285f, -0.110726f, -0.141760f, -0.126796f, -0.091604f, -0.068641f, -0.025550f, 0.033977f, 0.051307f, 0.083412f, 0.101820f, 0.087631f, 0.064151f, 0.049119f, 0.021784f, -0.003966f, -0.022446f, -0.032960f, -0.044642f, -0.035458f, -0.025930f, -0.020752f, -0.016495f, -0.004012f, -0.005929f, -0.005011f, -0.000966f, -0.004453f, -0.010996f, -0.000122f, -0.002722f, 0.002237f, 0.017210f, 0.027456f, 0.034127f, 0.049481f, 0.036968f, 0.018545f, -0.000537f, -0.017257f, -0.031148f, -0.033578f, -0.045486f, -0.045524f, -0.035714f, -0.015757f, -0.002693f, 0.017236f, 0.028237f, 0.038430f, 0.036963f, 0.034305f, 0.017619f, 0.004349f, -0.009356f, -0.016253f, -0.023073f, -0.018343f, -0.016213f, -0.007180f, -0.000451f, 0.008348f, 0.008575f, 0.011670f, 0.006134f, 0.003557f, -0.005438f, -0.008964f, -0.013629f, -0.008603f, -0.007133f, + 0.001351f, 0.004260f, 0.010349f, 0.009949f, 0.012704f, 0.007402f, 0.006977f, 0.000865f, -0.000292f, -0.005365f, -0.003778f, -0.006930f, -0.004135f, -0.005709f, -0.001844f, -0.003070f, 0.000925f, -0.000953f, 0.001737f, -0.001149f} + }, + { + {-0.000963f, 0.012014f, -0.001235f, 0.003646f, -0.002195f, 0.016039f, -0.006300f, -0.001560f, -0.000568f, 0.001983f, -0.002834f, 0.007344f, -0.001270f, -0.004960f, -0.000879f, 0.010044f, 0.000746f, -0.005090f, 0.004712f, 0.003468f, 0.006617f, 0.002705f, -0.005038f, -0.003336f, 0.011231f, 0.001559f, -0.002875f, -0.002225f, -0.002289f, 0.002204f, 0.002391f, -0.001452f, -0.014299f, -0.003584f, 0.000690f, 0.009868f, 0.003529f, -0.001228f, -0.000041f, -0.005699f, 0.007861f, -0.008033f, -0.010679f, 0.001380f, 0.000103f, -0.003621f, -0.002460f, -0.002987f, 0.001528f, 0.000970f, 0.000942f, -0.003742f, 0.009324f, 0.000282f, 0.012497f, -0.002016f, -0.005954f, 0.002737f, -0.000664f, 0.001783f, 0.002901f, 0.006312f, 0.004296f, -0.001618f, -0.003432f, -0.002927f, 0.008108f, -0.008258f, 0.000322f, 0.000230f, -0.001450f, -0.007083f, 0.006245f, -0.003573f, 0.000825f, 0.005420f, -0.003819f, -0.005120f, -0.004257f, 0.005496f, -0.000507f, -0.001715f, -0.001528f, 0.000179f, -0.001031f, -0.002234f, 0.002730f, 0.002795f, 0.002042f, 0.001272f, 0.000699f, 0.003821f, 0.000617f, -0.000082f, 0.000804f, -0.000377f, + 0.000136f, -0.000886f, -0.000475f, -0.000460f, 0.002582f, 0.000621f, -0.001739f, 0.002169f, -0.004740f, 0.004145f, 0.002500f, -0.005585f, -0.003065f, -0.000430f, 0.000529f, -0.000285f, -0.000815f, -0.002821f, 0.005072f, 0.000987f, -0.002167f, -0.002948f, -0.000136f, 0.010484f, -0.001449f, -0.004900f, 0.006721f, -0.002588f, -0.006293f, -0.000616f, 0.005383f, 0.004034f, -0.003436f, 0.000976f, -0.004299f, 0.002549f, 0.002482f, -0.002030f, 0.005381f, -0.001426f, -0.009647f, 0.001837f, 0.005038f, 0.004722f, 0.000684f, -0.000671f, -0.006985f, -0.002317f, -0.000896f, -0.003023f, 0.006358f, 0.008942f, 0.004169f, -0.012073f, 0.004134f, 0.014329f, 0.005936f, -0.000639f, -0.000063f, 0.006634f, -0.003218f, 0.002214f, -0.005985f, -0.005380f, 0.005560f, 0.006310f, 0.003048f, 0.001740f, 0.001141f, 0.001325f, 0.002988f, 0.000633f, -0.000527f, -0.002079f, 0.001538f, -0.004166f, -0.000758f, -0.001752f, -0.008618f, -0.004252f, 0.001857f, 0.003299f, 0.002702f, 0.005941f, 0.004667f, 0.004949f, 0.007054f, -0.004387f, -0.002773f, -0.001213f, 0.002275f, 0.002651f, 0.004185f, -0.000803f, -0.001336f, -0.000698f, + 0.002577f, -0.001751f, 0.002339f, 0.000657f, -0.000899f, -0.000683f, 0.000811f, -0.000336f, 0.001449f, 0.000661f, 0.000281f, -0.000488f, 0.000830f, 0.000788f, -0.000245f, 0.001215f, 0.000344f, 0.000374f, -0.000854f, 0.000294f, -0.000194f, 0.000121f, 0.001536f, 0.000265f, 0.000692f, 0.000641f, 0.000275f, 0.008366f, -0.000654f, 0.003490f, -0.005416f, -0.007913f, -0.005056f, 0.004399f, -0.003698f, -0.003643f, -0.004006f, -0.005207f, 0.005000f, 0.000772f, 0.003648f, -0.001589f, 0.001020f, -0.010773f, -0.007035f, -0.004892f, 0.006865f, 0.001373f, 0.001467f, 0.003842f, -0.003913f, -0.001905f, -0.000945f, 0.001296f, -0.008287f, -0.001544f, -0.005618f, -0.005995f, 0.000264f, -0.005286f, 0.003493f, 0.003406f, 0.014221f, -0.003525f, 0.007189f, -0.004809f, 0.002919f, -0.003291f, 0.000660f, 0.012543f, 0.001917f, 0.005450f, -0.006018f, 0.003841f, -0.005424f, -0.002507f, -0.000919f, 0.007974f, -0.004018f, -0.002020f, -0.007168f, -0.003736f, -0.008448f, -0.001101f, 0.007796f, 0.001907f, 0.000489f, 0.001387f, 0.007138f, -0.007118f, -0.012616f, 0.002916f, 0.003839f, -0.008156f, -0.000703f, 0.001111f, + -0.002129f, 0.003311f, 0.009681f, 0.002058f, -0.002591f, 0.000236f, -0.003591f, 0.000659f, 0.000488f, -0.002785f, -0.000948f, -0.000881f, -0.004065f, -0.000923f, -0.002368f, 0.000846f, -0.000968f, -0.001551f, 0.003128f, -0.000608f, -0.003299f, 0.001371f, -0.002383f, 0.000105f, -0.002569f, -0.003574f, 0.001971f, -0.000645f, -0.000370f, 0.001141f, 0.001411f, 0.000464f, 0.003204f, -0.001576f, -0.000390f, 0.000556f, -0.001307f, -0.000511f, -0.000489f, -0.001654f, -0.000980f, 0.002726f, 0.000799f, 0.003884f, 0.000363f, 0.001739f, -0.001658f, 0.004528f, -0.012706f, 0.002058f, -0.004400f, -0.009476f, -0.006734f, 0.003759f, -0.001813f, -0.000498f, 0.009399f, 0.003037f, -0.001232f, 0.000754f, 0.008004f, -0.003795f, 0.005928f, -0.002719f, 0.001821f, -0.008455f, -0.001411f, 0.005630f, -0.001844f, 0.007009f, 0.007998f, 0.002551f, 0.005066f, 0.010325f, -0.002359f, -0.014684f, 0.003396f, -0.006567f, 0.000526f, -0.017971f, 0.000559f, 0.005691f, -0.003522f, 0.006628f, 0.001018f, -0.006520f, 0.002392f, -0.013529f, -0.008550f, -0.003343f, -0.003242f, -0.011237f, 0.005735f, 0.006141f, 0.000433f, 0.005711f, + 0.000511f, 0.001509f, -0.003558f, 0.005173f, 0.004051f, -0.002147f, 0.012403f, -0.002377f, 0.010257f, 0.008675f, -0.000439f, -0.001475f, 0.000088f, 0.002742f, 0.004226f, 0.001274f, 0.004722f, 0.001498f, 0.001644f, 0.013598f, 0.005271f, -0.006017f, -0.002682f, -0.000137f, -0.003231f, 0.001971f, -0.002322f, 0.013716f, 0.002357f, 0.006415f, -0.004890f, 0.005535f, -0.000006f, -0.002769f, 0.001238f, -0.004512f, -0.002849f, -0.000820f, -0.003147f, -0.002024f, -0.001886f, 0.001634f, -0.002951f, -0.000757f, -0.002064f, -0.001146f, -0.000980f, 0.003729f, -0.001564f, 0.001918f, -0.000495f, -0.003275f, -0.000489f, 0.001937f, 0.000847f, 0.000298f, 0.001285f, -0.002001f, 0.001711f, 0.001039f, 0.001020f, 0.001813f, -0.001030f, 0.000390f, -0.003108f, -0.000278f, 0.002457f, 0.002115f, 0.000564f, 0.000355f, 0.000341f, 0.001719f, -0.024468f, 0.000171f, -0.000149f, 0.006348f, 0.010628f, 0.003851f, -0.005469f, -0.008818f, -0.001499f, 0.011686f, -0.002275f, -0.002115f, -0.008664f, -0.000105f, -0.003648f, 0.008679f, 0.010131f, -0.017419f, 0.011357f, 0.007397f, -0.006712f, -0.001324f, -0.009256f, 0.000155f, + -0.002842f, 0.000316f, 0.005949f, 0.011748f, -0.004443f, 0.002793f, -0.003119f, -0.003885f, 0.004254f, 0.008139f, 0.005350f, -0.004949f, -0.008361f, 0.005882f, 0.003941f, -0.002882f, -0.001578f, 0.001117f, -0.010756f, 0.003990f, 0.003164f, -0.004172f, -0.007214f, 0.002869f, -0.005498f, 0.009612f, 0.004114f, -0.016582f, 0.007551f, -0.007039f, -0.018450f, -0.005220f, -0.001442f, 0.003799f, -0.007606f, -0.000238f, 0.003989f, -0.008006f, -0.008064f, -0.008241f, -0.002622f, 0.002207f, 0.017381f, 0.002859f, 0.003253f, -0.003639f, -0.009183f, 0.012004f, -0.003670f, -0.013839f, 0.000626f, -0.013967f, 0.001001f, -0.001245f, -0.005197f, -0.015309f, 0.004643f, 0.000332f, -0.003454f, 0.003896f, 0.009300f, 0.004420f, -0.001838f, -0.001473f, -0.000106f, 0.005233f, 0.000766f, 0.001377f, 0.002813f, 0.005101f, -0.000491f, -0.002204f, -0.003038f, -0.002954f, 0.001135f, -0.000113f, -0.002487f, -0.002348f, 0.002201f, 0.002309f, 0.004290f, 0.001045f, -0.000159f, -0.000118f, 0.001569f, -0.000633f, -0.000133f, -0.000563f, 0.002691f, -0.000184f, 0.001410f, -0.000273f, 0.003696f, 0.015257f, 0.003986f, 0.003368f, + 0.006553f, 0.009629f, -0.002207f, 0.023418f, -0.003493f, 0.016775f, -0.019800f, 0.006853f, 0.011416f, -0.004104f, 0.001507f, -0.005484f, -0.000628f, 0.009063f, 0.016322f, -0.004588f, -0.008256f, -0.002343f, 0.007553f, 0.001686f, 0.016598f, 0.007953f, -0.001901f, 0.002455f, -0.000221f, -0.007754f, 0.001455f, -0.001689f, -0.002518f, 0.007350f, 0.009489f, -0.015077f, 0.017375f, -0.013250f, -0.007334f, 0.003023f, -0.005486f, 0.008853f, 0.000129f, -0.005004f, 0.012245f, 0.017354f, -0.012988f, -0.002274f, -0.001358f, 0.005411f, -0.012303f, -0.020052f, -0.009478f, -0.006095f, 0.005816f, -0.013890f, -0.008151f, -0.001571f, 0.014343f, 0.009137f, -0.010169f, 0.007250f, 0.003722f, -0.005429f, -0.008377f, -0.001257f, -0.005195f, -0.005849f, 0.000496f, -0.003873f, 0.010696f, -0.008119f, -0.001810f, 0.009203f, -0.007360f, 0.009943f, 0.011711f, 0.001668f, -0.001331f, 0.001098f, -0.014711f, -0.012903f, -0.003348f, 0.008198f, 0.000241f, -0.005619f, 0.005269f, 0.012058f, -0.008109f, -0.003662f, 0.003155f, -0.001018f, -0.005796f, 0.000035f, 0.001425f, -0.005444f, 0.000184f, -0.001451f, 0.002357f, 0.000799f, + 0.004225f, 0.000672f, 0.003292f, -0.002098f, -0.001017f, 0.000231f, 0.000279f, -0.000154f, 0.002934f, 0.001380f, 0.003442f, 0.003472f, 0.000218f, 0.001090f, -0.000633f, 0.002271f, 0.003511f, -0.001786f, 0.008919f, 0.007214f, 0.009741f, -0.009414f, -0.012407f, -0.006740f, 0.008459f, 0.000358f, 0.034967f, -0.002695f, -0.000851f, -0.008479f, -0.015793f, -0.023258f, -0.005123f, 0.007605f, 0.012294f, -0.007731f, -0.014866f, 0.001860f, 0.000133f, 0.014831f, -0.004988f, -0.006182f, 0.018398f, -0.010103f, 0.001197f, -0.014268f, 0.009089f, -0.002928f, 0.000070f, -0.003239f, -0.021612f, -0.013646f, 0.001146f, 0.011903f, 0.008015f, 0.000886f, -0.022395f, 0.014779f, -0.009053f, -0.009329f, -0.009666f, -0.012898f, -0.002010f, 0.012078f, -0.009930f, -0.011026f, 0.007508f, -0.003670f, 0.004309f, 0.022311f, -0.009791f, 0.000385f, 0.001106f, 0.009416f, -0.006642f, -0.006176f, -0.003105f, 0.014139f, -0.003220f, -0.007617f, -0.001334f, 0.011000f, 0.014418f, -0.014423f, -0.016294f, -0.005645f, -0.002422f, -0.005561f, 0.003452f, -0.011542f, -0.004052f, -0.010901f, -0.021527f, -0.008612f, -0.004983f, 0.002750f, + -0.019799f, -0.005601f, 0.000297f, 0.013886f, 0.000410f, -0.012294f, -0.000240f, -0.000630f, -0.003736f, -0.006859f, 0.000298f, 0.002761f, -0.001296f, 0.002012f, 0.001963f, -0.002814f, 0.004021f, -0.001792f, -0.004021f, 0.004241f, 0.005349f, -0.002450f, -0.005139f, -0.000291f, -0.001013f, 0.000767f, 0.004282f, 0.001468f, 0.000074f, 0.002887f, -0.001636f, -0.002718f, -0.002071f, -0.002970f, 0.004250f, -0.011473f, 0.009732f, 0.011745f, -0.008623f, -0.010584f, -0.008831f, 0.004751f, -0.000837f, 0.017050f, 0.029873f, -0.016800f, 0.001162f, -0.000759f, -0.002024f, 0.002715f, 0.008681f, -0.024547f, 0.022042f, -0.017317f, -0.008486f, 0.022069f, -0.005071f, -0.010646f, 0.007384f, 0.008115f, 0.000544f, -0.001301f, -0.017033f, 0.010599f, -0.002389f, 0.003639f, -0.011259f, 0.014030f, -0.001247f, -0.023628f, -0.025111f, 0.008342f, -0.004571f, -0.013061f, 0.006423f, -0.001147f, 0.039015f, 0.006469f, -0.007084f, -0.011674f, -0.022936f, -0.008222f, 0.004506f, -0.005666f, 0.017990f, -0.003873f, -0.026721f, -0.002666f, 0.018447f, -0.008116f, 0.002456f, 0.015826f, 0.010784f, -0.009101f, -0.001642f, 0.012799f, + 0.017248f, -0.007926f, 0.003407f, 0.002377f, -0.008253f, 0.003648f, -0.003778f, -0.001233f, 0.002609f, -0.004085f, -0.004801f, -0.016665f, -0.018092f, -0.015414f, 0.015337f, 0.008457f, 0.010007f, 0.004128f, 0.000162f, 0.006016f, -0.013188f, -0.007401f, -0.018475f, 0.009108f, -0.002295f, -0.002646f, -0.003722f, -0.002850f, -0.009402f, -0.005699f, 0.001982f, -0.003932f, 0.000615f, 0.000621f, 0.000711f, 0.003542f, 0.000519f, 0.004268f, -0.000430f, 0.003121f, -0.004255f, 0.002370f, -0.006405f, 0.000446f, -0.003015f, 0.005281f, 0.000313f, -0.003512f, -0.000955f, 0.001596f, -0.002722f, -0.003242f, -0.007488f, -0.007687f, -0.004138f, 0.007598f, 0.000575f, 0.002609f, 0.004910f, 0.001430f, 0.005949f, 0.002190f, -0.004802f, -0.020052f, 0.007655f, -0.021642f, 0.000913f, 0.007767f, -0.003410f, -0.016218f, -0.007517f, -0.003374f, 0.014523f, 0.011394f, -0.008531f, -0.008991f, 0.015480f, 0.006343f, -0.008854f, -0.009716f, -0.007443f, -0.001107f, 0.014967f, -0.002617f, 0.001420f, -0.000920f, -0.000116f, 0.019049f, 0.009552f, 0.012738f, -0.000834f, -0.001012f, 0.006667f, -0.009972f, -0.016598f, 0.013539f, + 0.021970f, -0.014889f, 0.018895f, -0.005593f, -0.001848f, -0.008511f, 0.009765f, 0.000532f, -0.010487f, 0.006360f, 0.017868f, 0.013874f, 0.006493f, -0.013436f, -0.005429f, -0.027140f, 0.004555f, 0.014051f, -0.008650f, -0.002230f, -0.010668f, 0.002752f, -0.006330f, 0.010459f, -0.006635f, 0.003455f, 0.012598f, 0.007105f, 0.023688f, 0.012317f, 0.008044f, 0.015072f, -0.012636f, 0.022647f, 0.007073f, 0.013753f, -0.004487f, -0.015683f, -0.024077f, -0.004624f, -0.004001f, -0.006336f, -0.005617f, 0.008947f, -0.016540f, 0.025048f, -0.004258f, -0.020321f, 0.011603f, 0.018716f, 0.007825f, 0.002387f, 0.003961f, 0.007008f, 0.002427f, -0.004184f, 0.004861f, -0.003834f, -0.000020f, 0.007851f, 0.000015f, -0.000318f, 0.008658f, 0.001215f, 0.004764f, -0.000736f, -0.004005f, 0.001299f, 0.000886f, -0.003454f, 0.002727f, 0.003520f, 0.000974f, -0.002461f, 0.002112f, 0.000715f, 0.006707f, 0.001473f, -0.001184f, 0.004226f, -0.005690f, 0.001680f, 0.001335f, -0.006228f, -0.009082f, -0.002537f, -0.003537f, -0.002328f, -0.004489f, -0.003169f, -0.001874f, -0.000760f, -0.007813f, 0.011043f, -0.023660f, 0.017373f, + 0.006219f, -0.003736f, 0.026009f, 0.019871f, -0.032661f, -0.022107f, 0.020881f, 0.035431f, -0.003109f, 0.005135f, -0.002846f, -0.004593f, -0.003368f, -0.001575f, 0.009188f, 0.005257f, 0.021682f, 0.005200f, 0.020761f, 0.005722f, 0.009154f, -0.002874f, -0.011409f, 0.004911f, 0.001827f, -0.009555f, 0.015961f, 0.001553f, 0.006540f, 0.003615f, -0.003022f, -0.014656f, 0.002141f, -0.016614f, -0.005344f, -0.019215f, -0.012571f, -0.007796f, 0.016362f, 0.002261f, 0.008197f, 0.019682f, -0.008261f, -0.001680f, 0.002590f, 0.007055f, 0.002414f, 0.000460f, -0.005253f, 0.014578f, 0.032459f, 0.015462f, -0.025315f, -0.018269f, -0.018654f, 0.022211f, -0.003067f, -0.020585f, 0.012328f, -0.011537f, -0.000945f, -0.003365f, -0.001112f, -0.001579f, 0.001029f, 0.019492f, 0.032537f, 0.012193f, 0.028075f, 0.017807f, 0.009339f, 0.003634f, 0.007338f, -0.008903f, 0.029879f, 0.009586f, -0.015127f, -0.020706f, 0.009529f, 0.006861f, -0.005307f, 0.014836f, 0.028301f, 0.006488f, -0.010392f, 0.017446f, -0.001235f, -0.012738f, 0.003057f, 0.009814f, 0.001995f, -0.001630f, 0.001524f, 0.005425f, 0.009837f, 0.004251f, + 0.004601f, 0.001147f, 0.006580f, -0.002522f, -0.000764f, -0.003538f, -0.000590f, 0.012969f, -0.006383f, 0.004861f, -0.001556f, 0.003171f, 0.000785f, -0.003330f, 0.002399f, 0.004674f, 0.006094f, -0.002550f, 0.002792f, -0.005082f, 0.000359f, 0.002709f, -0.008799f, 0.004081f, -0.002612f, -0.012985f, 0.003379f, 0.032356f, 0.005780f, 0.011573f, -0.010618f, 0.008530f, -0.016124f, -0.027589f, 0.000297f, 0.015161f, 0.004104f, 0.012221f, 0.016465f, 0.018756f, 0.000743f, -0.019953f, -0.017521f, -0.026516f, -0.041799f, -0.000483f, -0.005358f, 0.018556f, 0.013250f, -0.015325f, -0.009041f, 0.010972f, 0.021300f, -0.026903f, -0.017881f, -0.004997f, -0.015242f, -0.009911f, -0.005939f, 0.008604f, 0.016443f, 0.000964f, -0.010617f, -0.012359f, 0.016614f, -0.013388f, -0.006120f, -0.000213f, 0.023540f, -0.001493f, 0.001558f, -0.037399f, -0.003247f, 0.009356f, 0.018899f, 0.025272f, 0.004992f, -0.024039f, 0.011006f, 0.000649f, 0.010949f, 0.015961f, 0.002234f, 0.008095f, 0.017727f, 0.031872f, -0.021529f, -0.008195f, -0.002294f, 0.009853f, 0.033316f, 0.014342f, 0.010833f, 0.019057f, -0.006945f, -0.011036f, + -0.020716f, -0.025416f, -0.015605f, -0.000882f, 0.015925f, 0.037686f, -0.023902f, -0.017131f, -0.002871f, 0.036946f, -0.021102f, -0.011895f, -0.018902f, -0.003309f, -0.016994f, 0.005362f, 0.002674f, 0.008844f, 0.019094f, 0.003681f, 0.012054f, -0.008076f, -0.008561f, -0.010376f, 0.000350f, -0.005215f, -0.012711f, -0.010910f, -0.005849f, -0.002846f, -0.003043f, 0.012476f, -0.009833f, -0.002792f, -0.004025f, 0.008918f, 0.001722f, 0.006498f, -0.004727f, -0.004245f, 0.008375f, 0.002959f, 0.001821f, -0.007446f, 0.010934f, -0.005807f, -0.000851f, -0.004066f, 0.003099f, -0.004225f, 0.000639f, 0.007517f, 0.008559f, 0.001463f, 0.016411f, 0.009676f, 0.023219f, -0.027535f, -0.020106f, -0.002854f, 0.040483f, 0.016716f, 0.000742f, 0.022283f, -0.014031f, 0.033317f, -0.008075f, -0.028847f, -0.005943f, -0.028672f, 0.023161f, 0.014225f, 0.008890f, 0.009331f, 0.000216f, -0.009081f, 0.011032f, 0.017092f, 0.008181f, -0.005731f, 0.014811f, 0.020422f, 0.017796f, -0.002111f, -0.016110f, 0.027601f, 0.006100f, -0.001545f, -0.004978f, 0.003429f, -0.018293f, 0.017938f, -0.003756f, -0.004828f, -0.023227f, -0.012324f, + -0.014495f, 0.032129f, 0.011017f, 0.000433f, 0.003817f, 0.016640f, 0.023368f, 0.012213f, -0.031177f, 0.028064f, -0.003730f, 0.016256f, 0.006468f, 0.024653f, -0.006083f, -0.032149f, 0.009653f, -0.001430f, 0.012872f, -0.005684f, -0.013626f, 0.012005f, -0.005598f, 0.008148f, 0.040071f, -0.004911f, -0.019140f, 0.000105f, 0.004852f, -0.019674f, 0.032184f, -0.014537f, -0.020197f, 0.028818f, -0.017279f, 0.014686f, 0.001448f, -0.020911f, -0.015353f, -0.020923f, 0.006080f, 0.017474f, -0.010941f, 0.010107f, 0.018886f, -0.010822f, 0.013169f, -0.004506f, 0.022432f, -0.008198f, 0.006326f, 0.007430f, -0.006834f, 0.000027f, 0.000367f, -0.010478f, -0.001878f, 0.009435f, -0.015141f, -0.002895f, 0.010201f, 0.005421f, -0.000206f, -0.009020f, 0.003926f, -0.002492f, 0.003076f, -0.009445f, -0.009609f, -0.005175f, 0.001378f, 0.002214f, -0.011468f, -0.006926f, 0.009650f, 0.001231f, 0.003898f, -0.011213f, 0.004515f, 0.000860f, -0.005601f, 0.002091f, 0.000996f, 0.003478f, -0.006494f, 0.000313f, -0.003473f, -0.000751f, -0.009333f, -0.003759f, -0.001327f, 0.005833f, -0.002137f, -0.006068f, -0.003736f, -0.001330f, + 0.001284f, 0.001020f, -0.002276f, -0.000077f, -0.012505f, 0.009581f, -0.027705f, -0.004933f, 0.013584f, 0.003779f, -0.027109f, 0.007365f, -0.010064f, 0.019757f, 0.003826f, 0.010341f, -0.044691f, 0.013852f, -0.000027f, 0.017466f, 0.027428f, 0.001944f, -0.004415f, 0.002805f, -0.015100f, 0.029141f, -0.028115f, 0.009329f, 0.016416f, 0.012245f, 0.015052f, -0.006804f, -0.013984f, -0.014811f, -0.029062f, 0.011639f, 0.003460f, 0.016893f, 0.029131f, -0.010859f, 0.024861f, 0.014450f, -0.025631f, -0.013658f, -0.001224f, 0.003159f, 0.000482f, 0.000229f, 0.011877f, 0.022519f, 0.019578f, 0.009087f, -0.052634f, 0.013267f, 0.014546f, 0.015787f, -0.034974f, 0.021109f, -0.018367f, 0.018378f, 0.001294f, 0.009925f, -0.005494f, 0.013900f, -0.004994f, 0.044490f, 0.020290f, -0.019250f, 0.001609f, -0.054907f, 0.008437f, -0.015873f, -0.017624f, 0.015994f, 0.010314f, -0.027373f, -0.055956f, 0.035284f, 0.020604f, -0.051285f, 0.019390f, -0.011256f, 0.018975f, -0.003896f, 0.003942f, 0.008543f, -0.000257f, -0.034405f, -0.013818f, -0.004607f, 0.010263f, 0.000114f, -0.009599f, 0.015100f, -0.019417f, -0.006903f, + 0.018585f, -0.001230f, -0.002458f, 0.007184f, 0.003266f, 0.008058f, 0.002708f, -0.009931f, 0.003544f, -0.015077f, 0.008897f, -0.006340f, 0.004765f, 0.004586f, -0.004872f, -0.001898f, -0.003537f, -0.005053f, 0.002116f, -0.008446f, -0.002154f, -0.007078f, -0.006321f, -0.011984f, 0.005686f, -0.003232f, -0.004027f, -0.006681f, 0.002595f, 0.006712f, 0.003413f, 0.003870f, 0.000520f, 0.002344f, 0.004018f, 0.000201f, 0.004421f, 0.004799f, 0.011227f, -0.005847f, 0.016810f, -0.006043f, -0.011586f, 0.020724f, -0.015910f, 0.000559f, 0.002648f, 0.052606f, -0.007470f, 0.038105f, 0.008918f, 0.028798f, 0.001438f, 0.008526f, 0.008858f, 0.050749f, 0.050075f, -0.025633f, -0.024164f, 0.029231f, -0.036892f, 0.000454f, 0.009529f, -0.035998f, 0.020393f, 0.003366f, -0.003257f, -0.006182f, -0.011449f, 0.004839f, 0.003585f, 0.007281f, -0.022724f, 0.000639f, -0.005801f, -0.028974f, 0.014683f, 0.020966f, -0.033219f, -0.024016f, -0.012356f, 0.018204f, 0.016893f, 0.016962f, -0.002103f, -0.006191f, 0.015139f, 0.052880f, 0.027922f, -0.009830f, -0.007149f, -0.006652f, 0.035053f, -0.027795f, 0.012750f, 0.007995f, + -0.044436f, -0.017785f, -0.002300f, 0.006510f, -0.037707f, 0.026263f, 0.016463f, 0.008017f, 0.006811f, 0.018377f, -0.035719f, -0.003774f, -0.029678f, 0.001825f, 0.017933f, 0.031196f, 0.018586f, -0.018881f, -0.010615f, -0.001014f, 0.000735f, -0.021764f, 0.049577f, -0.003430f, 0.006350f, -0.011224f, 0.016821f, -0.003259f, 0.009723f, -0.003977f, 0.005940f, 0.005236f, 0.010575f, -0.000722f, -0.000088f, -0.003518f, 0.002305f, -0.000219f, -0.003073f, 0.015265f, -0.004652f, -0.010293f, -0.000886f, -0.000653f, 0.007268f, -0.010493f, 0.002271f, -0.008601f, -0.014642f, 0.009458f, -0.002917f, -0.009255f, 0.000559f, 0.000389f, 0.001471f, -0.008070f, 0.011264f, 0.003572f, 0.013889f, -0.016857f, -0.001431f, 0.008782f, -0.004620f, -0.013568f, -0.000474f, 0.015875f, 0.006687f, -0.009215f, 0.009433f, -0.004544f, 0.023895f, 0.037458f, -0.002758f, 0.002585f, -0.023263f, 0.002099f, -0.001179f, -0.016357f, -0.027748f, -0.005140f, -0.012936f, -0.020517f, -0.015275f, 0.023532f, -0.019979f, 0.017108f, -0.006137f, -0.004578f, 0.032576f, -0.022514f, -0.012811f, 0.005154f, 0.013043f, 0.002073f, -0.043481f, -0.026476f, + 0.004790f, -0.006838f, 0.006862f, -0.005923f, -0.013762f, 0.027750f, 0.005749f, -0.002251f, -0.011508f, -0.062164f, 0.037243f, -0.011144f, -0.000846f, -0.005180f, 0.002215f, 0.017979f, -0.010542f, -0.016878f, -0.029242f, -0.002625f, 0.012670f, -0.017834f, -0.023205f, 0.009612f, 0.036411f, -0.006098f, 0.033851f, 0.025158f, -0.025069f, 0.045908f, 0.030108f, -0.030095f, -0.046832f, -0.013315f, -0.020505f, 0.002606f, -0.014954f, -0.003522f, 0.022185f, -0.038917f, 0.018947f, -0.006240f, -0.022093f, -0.024386f, -0.024625f, -0.029539f, 0.006009f, 0.017890f, -0.016090f, 0.025521f, -0.003474f, -0.014740f, -0.030735f, 0.000596f, -0.003593f, 0.011916f, 0.036316f, -0.013096f, -0.027808f, -0.009553f, 0.000640f, 0.009475f, 0.024803f, 0.006660f, -0.003257f, -0.020369f, -0.000318f, 0.000856f, 0.009125f, 0.003954f, -0.000112f, 0.006989f, 0.010067f, -0.007579f, 0.012609f, -0.007274f, 0.005688f, 0.014911f, 0.013206f, 0.000898f, -0.021059f, -0.008506f, 0.003027f, 0.005237f, -0.014687f, 0.023668f, -0.014455f, 0.010860f, 0.012600f, -0.009605f, 0.001120f, 0.002666f, -0.005676f, -0.019926f, 0.004104f, 0.009050f, + 0.001445f, 0.016871f, 0.011577f, -0.011361f, -0.011039f, -0.002909f, -0.039510f, 0.071924f, 0.101300f, -0.009801f, 0.012373f, 0.006472f, 0.024563f, 0.049076f, -0.046835f, 0.000537f, 0.008158f, 0.000905f, -0.016866f, 0.002510f, -0.020845f, 0.024627f, 0.060365f, -0.012756f, 0.001337f, 0.003424f, 0.018316f, 0.001659f, 0.007126f, 0.023185f, -0.046437f, -0.003478f, 0.045649f, 0.046844f, -0.054719f, -0.011633f, 0.007924f, 0.007701f, 0.016347f, 0.041232f, 0.011650f, 0.083180f, 0.013895f, 0.025666f, 0.012304f, -0.013074f, -0.017211f, -0.000999f, -0.058327f, -0.083980f, -0.028382f, -0.027256f, -0.087438f, 0.013695f, -0.002031f, -0.048865f, -0.023794f, -0.081858f, -0.008902f, -0.011270f, 0.055845f, -0.054669f, 0.034157f, -0.037356f, -0.002991f, -0.024567f, -0.019335f, 0.021949f, 0.050196f, -0.038640f, -0.014442f, -0.003504f, -0.011379f, -0.004100f, 0.021211f, 0.040203f, 0.042986f, -0.030631f, 0.086400f, 0.057912f, 0.007612f, -0.032744f, -0.070970f, -0.016118f, -0.026371f, -0.019393f, 0.004762f, 0.022813f, -0.014833f, 0.008508f, 0.026882f, 0.004348f, -0.008424f, 0.027231f, 0.018219f, 0.009337f, + 0.012036f, 0.028588f, 0.028929f, 0.000223f, 0.002452f, 0.011562f, 0.010907f, -0.004710f, -0.008493f, -0.004941f, 0.005378f, -0.000712f, -0.003528f, 0.001801f, -0.005629f, 0.003983f, 0.018919f, -0.000813f, 0.006754f, 0.022955f, -0.005881f, -0.008233f, -0.008660f, -0.000979f, -0.012618f, -0.002571f, 0.011022f, -0.005974f, -0.003344f, 0.002196f, 0.000222f, 0.001954f, -0.001660f, 0.009028f, -0.005962f, -0.006334f, 0.015031f, 0.010514f, -0.011431f, -0.000609f, -0.006034f, -0.002494f, -0.036106f, 0.066186f, 0.110326f, -0.025969f, -0.005573f, 0.019572f, 0.049422f, 0.016610f, -0.028605f, 0.017949f, -0.024426f, 0.006352f, 0.015676f, -0.005916f, -0.032973f, 0.009944f, 0.035221f, -0.008763f, -0.050248f, 0.039381f, -0.011480f, 0.032145f, -0.011823f, -0.007946f, -0.012339f, -0.020353f, -0.000741f, 0.035700f, 0.020020f, 0.005905f, 0.028946f, -0.013718f, -0.011372f, 0.010999f, -0.015351f, 0.019978f, 0.011724f, 0.030563f, 0.052454f, 0.045896f, -0.032989f, -0.061561f, -0.022412f, -0.003882f, 0.048227f, -0.018460f, 0.008626f, 0.019404f, -0.019041f, -0.028389f, -0.045326f, -0.046631f, 0.036769f, 0.039127f, + -0.031224f, -0.112214f, 0.009324f, -0.007933f, -0.015332f, 0.008676f, -0.011142f, -0.045048f, -0.020971f, -0.010601f, -0.031235f, -0.013431f, 0.047786f, 0.018034f, 0.027558f, -0.010846f, -0.015589f, -0.010195f, 0.026574f, 0.004402f, 0.005000f, 0.022764f, 0.066251f, -0.005845f, -0.009711f, -0.033519f, -0.031623f, -0.046264f, -0.004961f, 0.026059f, 0.017843f, -0.018937f, 0.013823f, -0.008798f, -0.010976f, -0.019361f, -0.017538f, 0.015855f, -0.013584f, 0.015460f, 0.007299f, 0.008680f, -0.009899f, -0.014524f, 0.016214f, 0.009934f, -0.004099f, 0.012143f, -0.017008f, 0.006999f, -0.002345f, 0.009965f, -0.005654f, -0.009854f, -0.005533f, -0.004975f, 0.011367f, 0.005488f, -0.000586f, -0.012105f, -0.002880f, 0.023684f, -0.017170f, -0.000637f, -0.016684f, 0.020276f, -0.011120f, -0.004819f, -0.015430f, 0.001971f, -0.006663f, 0.001959f, 0.017250f, 0.017231f, 0.003506f, 0.000012f, -0.006787f, -0.013207f, -0.014520f, -0.001841f, -0.023780f, -0.003159f, -0.019661f, 0.010603f, -0.027818f, -0.045393f, -0.009967f, -0.007496f, 0.008430f, -0.015417f, 0.035059f, -0.020741f, -0.071384f, -0.038582f, 0.024746f, -0.033530f, + 0.039714f, 0.035555f, -0.015619f, -0.005264f, 0.005194f, -0.021644f, 0.000168f, 0.011741f, -0.003041f, 0.006454f, 0.050310f, 0.042013f, -0.011090f, -0.066414f, -0.050398f, 0.003902f, 0.035349f, -0.026605f, -0.011406f, -0.031287f, -0.040187f, 0.003859f, -0.011273f, -0.047064f, -0.051326f, -0.075278f, 0.030432f, 0.010551f, 0.001758f, 0.043660f, 0.058468f, -0.002140f, -0.043533f, -0.032971f, -0.035194f, -0.019792f, -0.012404f, 0.013435f, 0.022691f, -0.020008f, -0.032037f, -0.039042f, 0.020868f, 0.018449f, -0.038448f, -0.036548f, -0.014676f, -0.006239f, -0.022422f, 0.014075f, 0.094686f, 0.056985f, 0.110569f, 0.037121f, -0.058718f, 0.069023f, -0.003000f, -0.035084f, 0.003414f, -0.033020f, -0.072503f, -0.029819f, 0.016603f, 0.034748f, -0.008203f, 0.032026f, 0.018347f, 0.070549f, 0.076728f, 0.063358f, 0.020892f, -0.017575f, -0.011210f, -0.010243f, 0.013293f, 0.018032f, -0.026787f, -0.009702f, 0.004295f, 0.057565f, -0.008123f, 0.005129f, -0.006386f, 0.020932f, 0.020746f, 0.024707f, -0.001402f, 0.000651f, 0.000241f, 0.005503f, -0.002423f, 0.003638f, -0.021102f, -0.006533f, -0.007353f, -0.019439f, + -0.020456f, -0.009203f, 0.007154f, 0.024433f, -0.015898f, 0.003825f, 0.008305f, 0.027740f, 0.037125f, 0.025722f, 0.023650f, 0.026744f, 0.005647f, -0.009828f, -0.020775f, -0.029458f, -0.037078f, -0.028875f, -0.017386f, -0.034831f, -0.035802f, -0.013631f, -0.006539f, 0.003430f, 0.015565f, 0.066110f, -0.037633f, 0.004514f, 0.019167f, -0.008096f, -0.049051f, 0.049619f, 0.046988f, -0.026936f, -0.037548f, 0.005322f, 0.065146f, -0.034054f, 0.018440f, 0.042080f, 0.012637f, -0.015550f, -0.031391f, -0.020306f, 0.014330f, -0.004762f, 0.010887f, -0.018098f, 0.012042f, -0.040338f, 0.059174f, -0.005534f, 0.013182f, -0.002599f, -0.074911f, 0.023502f, -0.020832f, 0.038760f, 0.023096f, 0.041400f, -0.016213f, -0.071904f, 0.051657f, 0.023512f, -0.024633f, -0.044688f, 0.037005f, 0.020094f, 0.039362f, 0.040057f, -0.034876f, 0.016199f, 0.041551f, -0.060874f, 0.055862f, 0.027751f, -0.001883f, 0.018006f, -0.031779f, 0.070313f, -0.008009f, 0.046344f, 0.020611f, 0.081613f, -0.005813f, -0.014069f, 0.011362f, 0.033324f, 0.021882f, 0.023258f, 0.082135f, 0.005036f, 0.020002f, 0.048268f, -0.031877f, 0.033189f, + 0.003805f, -0.054484f, 0.020266f, -0.018223f, 0.061762f, -0.045352f, -0.054846f, -0.056770f, 0.048577f, 0.080116f, -0.025601f, 0.020551f, -0.094315f, 0.009195f, 0.004450f, -0.003388f, -0.044216f, 0.007589f, 0.018587f, -0.014359f, -0.012217f, -0.011635f, 0.029766f, 0.014206f, -0.018910f, -0.020099f, -0.011801f, -0.004584f, -0.005977f, 0.008775f, -0.032559f, -0.019263f, 0.017194f, 0.007341f, 0.006077f, 0.001256f, 0.014810f, -0.002324f, -0.001782f, -0.018870f, 0.025536f, 0.032135f, -0.013699f, -0.049462f, -0.033615f, -0.000147f, 0.000017f, 0.009746f, 0.002479f, -0.015446f, -0.024451f, -0.013188f, 0.009185f, 0.014573f, 0.039795f, 0.013693f, 0.002068f, 0.000896f, -0.029694f, -0.005860f, 0.030843f, 0.018469f, 0.006997f, -0.032140f, -0.019672f, -0.003431f, 0.004464f, 0.005853f, -0.005322f, -0.005903f, -0.005675f, -0.001895f, -0.120862f, 0.006594f, -0.014791f, 0.003736f, 0.093604f, 0.077019f, 0.110845f, 0.058509f, -0.029462f, -0.022599f, -0.045906f, -0.061236f, 0.021562f, 0.005350f, 0.016089f, 0.019444f, -0.017819f, 0.027846f, 0.047275f, 0.008670f, -0.012638f, -0.016031f, -0.033456f, -0.022276f, + -0.020213f, 0.009221f, 0.015073f, -0.048090f, -0.028416f, -0.006649f, 0.032273f, -0.014577f, 0.020795f, 0.025789f, -0.068282f, -0.067318f, 0.012792f, 0.019492f, 0.015013f, -0.050817f, -0.023332f, -0.045643f, -0.022061f, -0.020904f, 0.044032f, -0.057847f, -0.080500f, -0.030284f, 0.016001f, 0.013685f, -0.062084f, -0.049885f, -0.039171f, -0.029699f, 0.033591f, 0.047305f, 0.002161f, -0.016075f, -0.019630f, -0.010975f, -0.010455f, -0.021380f, -0.068916f, 0.022679f, 0.051822f, 0.047071f, 0.014678f, 0.064294f, 0.086973f, -0.007575f, -0.011161f, 0.066578f, -0.016102f, -0.040518f, -0.091560f, -0.031193f, 0.012497f, -0.050256f, -0.033628f, 0.023548f, -0.008212f, 0.032651f, 0.057133f, -0.034764f, -0.053936f, -0.017860f, -0.023134f, -0.013390f, -0.014626f, -0.014517f, 0.006094f, 0.008292f, 0.006694f, 0.011631f, -0.019365f, 0.016925f, -0.026756f, -0.003202f, 0.016666f, 0.022325f, -0.023906f, -0.033364f, 0.019133f, -0.007591f, 0.001253f, -0.023282f, 0.027559f, -0.016114f, -0.005785f, -0.006403f, 0.025510f, -0.021559f, 0.027674f, -0.012257f, -0.012890f, 0.018317f, 0.004844f, 0.014595f, -0.011524f, 0.001314f, + 0.005441f, 0.029836f, -0.003471f, 0.007104f, 0.004561f, 0.079665f, 0.027593f, 0.006699f, 0.028713f, -0.032635f, 0.001878f, -0.016540f, -0.024852f, 0.014952f, 0.005536f, -0.020266f, -0.034385f, -0.019358f, -0.031934f, -0.025512f, 0.010144f, -0.019626f, -0.009934f, 0.015159f, -0.010071f, 0.003633f, -0.011178f, 0.039731f, -0.031091f, 0.032619f, 0.011538f, 0.003904f, -0.030075f, -0.012613f, 0.023624f, 0.009914f, -0.000745f, 0.019293f, -0.003578f, -0.007647f, -0.012428f, -0.010068f, -0.008392f, 0.003814f, -0.000349f, 0.004245f, -0.035185f, 0.018634f, -0.014823f, -0.013480f, 0.012017f, 0.008608f, 0.004392f, -0.006375f, 0.024375f, 0.021363f, -0.030812f, 0.027640f, -0.004018f, 0.018820f, 0.036802f, -0.007546f, 0.019837f, 0.019281f, -0.018572f, -0.012894f, -0.024693f, 0.002405f, 0.004040f, -0.039096f, 0.016045f, 0.006173f, 0.030427f, -0.011847f, -0.069898f, 0.043921f, 0.002473f, 0.001474f, 0.000722f, -0.030572f, -0.009903f, -0.007904f, -0.010587f, -0.044653f, 0.025372f, 0.013056f, 0.027377f, -0.019784f, 0.011948f, -0.022217f, -0.020643f, 0.001145f, 0.017309f, 0.014329f, 0.000274f, -0.002370f, + -0.006482f, 0.001758f, -0.010480f, -0.001914f, 0.029539f, -0.011877f, 0.005716f, 0.003433f, 0.008250f, -0.018040f, 0.019595f, -0.000527f, -0.003966f, 0.004845f, -0.002170f, 0.004738f, 0.006428f, -0.016390f, -0.002492f, 0.000496f, -0.003324f, -0.002840f, 0.008859f, -0.010400f, 0.013022f, 0.019437f, 0.007037f, -0.011795f, -0.000826f, -0.002305f, -0.011415f, 0.014231f, -0.004127f, 0.007868f, -0.040828f, -0.115988f, -0.172447f, 0.036220f, 0.135615f, 0.005649f, 0.371129f, 0.342082f, 0.235087f, 0.404198f, 0.311039f, 0.042358f, 0.006836f, -0.041855f, -0.296170f, -0.302170f, -0.229612f, -0.395805f, -0.368984f, -0.105432f, -0.122943f, -0.124408f, 0.029877f, 0.075103f, -0.061512f, -0.020432f, 0.119056f, 0.075831f, -0.003736f, 0.088510f, 0.061593f, 0.004843f, 0.074310f, 0.175277f, 0.115551f, 0.040395f, 0.179784f, 0.133026f, 0.010844f, 0.154418f, 0.209406f, 0.050484f, 0.023147f, 0.213459f, 0.058928f, -0.082616f, 0.107883f, 0.164547f, -0.083290f, 0.038757f, 0.230070f, 0.022230f, 0.038566f, 0.277449f, 0.218361f, 0.018870f, 0.173424f, 0.229597f, -0.078819f, -0.046600f, 0.065942f, -0.186852f, + -0.312339f, -0.210737f, -0.344486f, -0.512305f, -0.470286f, -0.526306f, -0.670302f, -0.707501f, -0.625583f, -0.661333f, -0.622620f, -0.467428f, -0.372981f, -0.194003f, -0.047585f, 0.110915f, 0.385084f, 0.447826f, 0.486330f, 0.753865f, 0.737255f, 0.495165f, 0.637497f, 0.498235f, 0.198944f, 0.219604f, 0.310351f, 0.152225f, 0.099748f, 0.232064f, 0.166025f, 0.000065f, 0.080224f, 0.180659f, 0.046047f, 0.013615f, 0.135175f, 0.032066f, -0.138082f, 0.046279f, 0.111051f, -0.030849f, 0.099641f, 0.262824f, 0.105030f, 0.060082f, 0.231756f, 0.126998f, -0.043754f, 0.028291f, -0.058023f, -0.274646f, -0.336525f, -0.334491f, -0.422006f, -0.477077f, -0.394185f, -0.379004f, -0.432197f, -0.389980f, -0.321971f, -0.371247f, -0.339505f, -0.228218f, -0.181078f, -0.173359f, -0.070056f, 0.043409f, 0.051583f, 0.157972f, 0.265712f, 0.279276f, 0.276311f, 0.311838f, 0.288432f, 0.206857f, 0.175875f, 0.156911f, 0.109088f, 0.089525f, 0.109819f, 0.097875f, 0.067044f, 0.069779f, 0.076308f, 0.064924f, 0.063617f, 0.081259f, 0.072097f, 0.051717f, 0.042079f, 0.038055f, 0.007774f, -0.000912f, -0.008447f, -0.044055f, + -0.059026f, -0.055322f, -0.046117f, -0.038582f, -0.023489f, -0.011418f, -0.009050f, -0.001928f, 0.015640f, 0.029270f, 0.038354f, 0.037994f, 0.028837f, 0.019493f, 0.007197f, 0.000940f, 0.003902f, -0.001205f, -0.013564f, -0.014275f, -0.021844f, -0.039608f, -0.043868f, -0.042338f, -0.056740f, -0.061569f, -0.054872f, -0.062339f, -0.074965f, -0.071007f, -0.073147f, -0.081094f, -0.073479f, -0.061438f, -0.064392f, -0.058010f, -0.039149f, -0.031023f, -0.027964f, -0.007986f, 0.003399f, 0.006643f, 0.018801f, 0.034671f, 0.037351f, 0.039096f, 0.047694f, 0.046346f, 0.042189f, 0.048363f, 0.053029f, 0.053609f, 0.055421f, 0.059294f, 0.053976f, 0.051122f, 0.051615f, 0.052096f, 0.044135f, 0.037892f, 0.027707f, 0.014335f, 0.004179f, -0.000649f, -0.004193f, -0.007647f, -0.011086f, -0.012754f, -0.013588f, -0.012771f, -0.011211f, -0.009052f, -0.009727f, -0.008942f, -0.008338f, -0.007979f, -0.007906f, -0.006086f, -0.005334f, -0.003692f, -0.002608f, -0.000554f}, + {0.006979f, 0.009659f, -0.005684f, 0.000399f, 0.000302f, -0.006916f, 0.009235f, -0.003690f, -0.003628f, 0.002643f, -0.009556f, -0.004280f, 0.010211f, 0.002320f, -0.004186f, 0.007265f, 0.002233f, 0.001551f, -0.001517f, 0.003539f, -0.000081f, -0.012242f, -0.000605f, -0.004548f, -0.000572f, -0.000276f, -0.011737f, 0.000172f, -0.007555f, 0.000399f, 0.001157f, 0.005218f, 0.006227f, 0.002051f, 0.001525f, 0.001135f, 0.005374f, -0.002973f, 0.001817f, 0.000330f, 0.000817f, 0.001113f, -0.001655f, 0.004812f, 0.007188f, -0.013889f, 0.006411f, -0.003646f, -0.008379f, -0.005355f, 0.010608f, 0.005318f, -0.003633f, 0.006025f, 0.001721f, -0.003836f, 0.003711f, 0.000060f, -0.000045f, 0.000536f, 0.000686f, -0.001468f, 0.000039f, 0.000764f, -0.000657f, 0.004551f, -0.002889f, -0.006433f, -0.006254f, -0.000064f, 0.002042f, -0.000420f, 0.000250f, 0.003472f, -0.001427f, 0.006114f, -0.006540f, -0.001966f, 0.004946f, 0.005364f, -0.003761f, 0.006049f, 0.002086f, -0.001607f, -0.004157f, -0.001936f, -0.001807f, -0.001669f, -0.001681f, -0.000845f, -0.000290f, -0.000930f, -0.001771f, 0.000484f, 0.001168f, -0.002481f, + -0.000701f, -0.000826f, 0.001205f, -0.002166f, -0.000549f, 0.000260f, 0.005082f, 0.000441f, -0.004183f, 0.002638f, -0.002288f, -0.003227f, 0.000734f, -0.006866f, -0.000906f, -0.005133f, 0.001740f, 0.003293f, 0.003035f, 0.002528f, -0.005488f, -0.000334f, -0.004564f, 0.004841f, -0.009327f, -0.005200f, 0.004575f, -0.010087f, -0.001235f, -0.000630f, 0.002491f, 0.002259f, 0.004883f, 0.010545f, 0.004752f, -0.001279f, -0.000134f, -0.003732f, -0.003033f, -0.018537f, -0.017196f, -0.001120f, 0.012544f, -0.003120f, 0.009996f, 0.000905f, 0.002779f, -0.003125f, -0.014482f, 0.007447f, 0.002160f, -0.004310f, 0.003424f, -0.007606f, -0.001669f, 0.004325f, 0.001782f, 0.013483f, -0.009367f, 0.008182f, -0.004362f, -0.010609f, -0.005055f, -0.002891f, -0.003043f, 0.003760f, 0.003042f, -0.008557f, -0.003948f, -0.004875f, -0.001952f, 0.008259f, 0.008685f, 0.009481f, -0.007088f, 0.001182f, -0.004498f, -0.000578f, -0.003807f, -0.004685f, -0.005823f, -0.006385f, 0.003380f, 0.000997f, -0.001126f, -0.002325f, 0.000698f, 0.003583f, -0.003802f, -0.003220f, -0.001787f, 0.004102f, -0.001576f, -0.000794f, -0.001945f, -0.002093f, + -0.000670f, 0.000887f, -0.000206f, -0.000361f, 0.000531f, 0.000886f, -0.000423f, -0.000415f, 0.002474f, -0.002097f, -0.001473f, 0.000988f, -0.001436f, 0.002008f, -0.001441f, -0.001438f, -0.000448f, -0.000287f, 0.001108f, -0.000700f, -0.000812f, 0.000728f, -0.000005f, -0.002106f, 0.000497f, 0.000444f, -0.001738f, 0.006820f, -0.006457f, -0.008534f, -0.007248f, 0.000132f, -0.002817f, -0.002421f, -0.005718f, 0.001177f, -0.006397f, -0.000548f, -0.002586f, 0.009857f, -0.006314f, -0.007085f, -0.015556f, -0.020370f, -0.004832f, -0.009122f, -0.008242f, -0.002061f, 0.004281f, -0.005226f, -0.012099f, 0.007480f, -0.017583f, 0.005237f, -0.002888f, -0.003243f, 0.011500f, 0.007987f, 0.004304f, 0.001515f, -0.001889f, -0.001882f, -0.004216f, 0.001787f, 0.007830f, -0.006297f, 0.007429f, 0.006734f, 0.002053f, 0.000953f, 0.003139f, 0.005150f, -0.011406f, -0.005029f, 0.011030f, -0.008535f, 0.000796f, -0.000213f, 0.006779f, -0.000878f, -0.002470f, 0.001232f, 0.011443f, 0.006259f, 0.004036f, 0.003636f, 0.006414f, -0.010059f, 0.007833f, -0.008213f, 0.007259f, 0.004706f, -0.002044f, -0.001457f, -0.003330f, -0.004511f, + -0.007220f, -0.000385f, -0.002195f, -0.005834f, -0.006360f, -0.003638f, -0.003664f, -0.000661f, -0.000348f, -0.001775f, 0.008714f, -0.003568f, -0.001528f, -0.005867f, 0.006068f, 0.000031f, -0.001234f, 0.001272f, -0.002424f, -0.004224f, 0.000183f, 0.002389f, -0.000194f, -0.000405f, -0.002653f, 0.000799f, -0.000816f, -0.002460f, 0.000252f, 0.000562f, 0.001451f, -0.000298f, 0.000984f, 0.000768f, 0.002117f, 0.000720f, -0.002119f, 0.000115f, 0.001235f, -0.000299f, -0.001847f, -0.001190f, 0.002934f, 0.001498f, -0.001442f, -0.000642f, -0.000517f, 0.004155f, -0.010838f, -0.000174f, -0.005131f, -0.009795f, -0.004680f, -0.001757f, -0.006974f, -0.002247f, -0.006442f, -0.002401f, 0.004913f, 0.006808f, -0.011249f, -0.006272f, 0.003562f, -0.002148f, -0.012285f, 0.008182f, 0.014426f, 0.003116f, -0.003518f, -0.006717f, 0.001509f, 0.007084f, 0.013037f, -0.006610f, -0.002883f, -0.008353f, -0.006854f, 0.007328f, 0.007185f, -0.010155f, 0.005900f, -0.003202f, -0.006626f, 0.010392f, -0.000134f, 0.005696f, -0.014257f, 0.001035f, -0.009182f, 0.002113f, -0.011383f, -0.007019f, -0.001954f, -0.002574f, 0.023396f, 0.007519f, + 0.005981f, 0.004644f, -0.017621f, 0.009843f, 0.006692f, -0.003813f, -0.000559f, 0.007684f, -0.001205f, 0.008115f, 0.009212f, 0.009334f, -0.005510f, 0.000730f, -0.003132f, 0.004990f, -0.004540f, -0.004621f, 0.002945f, -0.004339f, 0.001942f, 0.002951f, 0.000028f, 0.005512f, 0.002034f, -0.010338f, -0.001391f, -0.001283f, 0.003125f, -0.011726f, -0.003922f, -0.002948f, 0.008155f, -0.002490f, -0.001522f, -0.006324f, -0.001827f, 0.000449f, -0.000745f, -0.002929f, -0.000063f, -0.001892f, 0.001994f, 0.000790f, -0.000135f, 0.000374f, 0.000636f, -0.001494f, -0.004535f, 0.002347f, 0.000819f, -0.002493f, 0.001053f, -0.001353f, 0.000359f, 0.000564f, 0.001403f, -0.000330f, -0.000695f, -0.001078f, 0.000833f, -0.001791f, 0.001536f, -0.002043f, -0.000283f, -0.000152f, 0.001185f, -0.001352f, -0.000712f, -0.001973f, -0.001333f, -0.001821f, -0.014629f, -0.008040f, 0.005874f, -0.006297f, 0.016989f, 0.007581f, 0.016629f, -0.000186f, -0.008253f, -0.008639f, -0.011814f, 0.017908f, -0.004458f, 0.008215f, 0.009024f, 0.001947f, 0.006326f, 0.005882f, 0.005583f, 0.002317f, -0.011876f, -0.000618f, -0.004648f, -0.001712f, + 0.007983f, -0.000682f, -0.000821f, 0.005679f, 0.003456f, 0.005878f, -0.005223f, -0.018540f, -0.011191f, -0.006999f, 0.013580f, -0.012326f, -0.003849f, 0.008419f, -0.001053f, 0.001594f, -0.010483f, 0.018027f, 0.000870f, -0.006979f, 0.014097f, -0.008702f, 0.021899f, 0.011402f, -0.005085f, 0.002573f, -0.006390f, -0.004265f, -0.020399f, 0.007209f, -0.009359f, -0.001416f, -0.000915f, -0.004422f, 0.008568f, -0.003375f, -0.008978f, -0.008615f, 0.001884f, -0.007871f, -0.008811f, 0.004972f, 0.000641f, 0.006270f, -0.003520f, -0.018504f, 0.006266f, 0.008054f, 0.010219f, -0.009955f, -0.011341f, 0.001465f, 0.018220f, 0.002958f, -0.009619f, -0.004345f, -0.001740f, 0.005033f, 0.000785f, 0.005358f, -0.005533f, -0.002050f, -0.001195f, -0.006643f, -0.005571f, 0.008152f, -0.001494f, 0.003193f, -0.000844f, -0.002332f, -0.005327f, -0.000510f, 0.000070f, 0.002016f, -0.001104f, 0.001872f, -0.001480f, -0.004240f, -0.001829f, -0.000602f, -0.000231f, -0.000784f, 0.003044f, 0.000157f, 0.003306f, -0.001185f, -0.000379f, -0.000561f, -0.003878f, -0.000040f, 0.001808f, 0.001908f, 0.001170f, 0.014516f, -0.013342f, 0.006579f, + 0.017412f, -0.012598f, 0.003586f, -0.007151f, -0.013378f, 0.019893f, 0.007671f, 0.018478f, 0.017344f, 0.002370f, -0.013522f, -0.008533f, 0.007286f, -0.001034f, 0.003143f, -0.014959f, 0.001729f, -0.026469f, -0.010886f, -0.020675f, 0.012845f, -0.011803f, -0.000241f, 0.003650f, -0.003215f, -0.005447f, 0.006414f, 0.006123f, 0.018394f, -0.002661f, -0.003857f, -0.014067f, -0.011727f, 0.011514f, 0.002689f, 0.003895f, 0.021969f, -0.006704f, 0.000341f, 0.011482f, -0.005013f, 0.005251f, 0.004186f, 0.011494f, 0.010633f, -0.007335f, -0.000938f, -0.014890f, 0.015580f, -0.010200f, -0.013148f, -0.012935f, 0.008325f, -0.004858f, -0.006833f, 0.015050f, -0.004515f, 0.015606f, -0.009458f, -0.007441f, -0.001802f, 0.010193f, 0.013543f, -0.001097f, -0.014191f, 0.005120f, -0.008994f, 0.018665f, 0.004099f, 0.010933f, -0.014868f, -0.006738f, 0.004257f, -0.003944f, 0.009306f, 0.001269f, -0.004915f, 0.005367f, 0.012268f, 0.016922f, 0.013334f, 0.000131f, -0.002849f, -0.000270f, 0.003062f, 0.000201f, -0.002716f, 0.001934f, -0.002249f, -0.000475f, 0.005081f, 0.000198f, -0.002147f, 0.005132f, -0.001423f, -0.002820f, + 0.001598f, 0.001762f, 0.000149f, -0.003317f, 0.001447f, -0.002300f, 0.000717f, -0.004491f, -0.005225f, 0.001317f, 0.002326f, -0.000211f, 0.004512f, -0.001590f, 0.002188f, 0.008788f, -0.023096f, 0.008103f, 0.006773f, 0.004664f, -0.017475f, 0.013366f, 0.021853f, -0.021301f, 0.008083f, -0.013068f, 0.008558f, 0.001240f, 0.007685f, -0.006259f, -0.000536f, 0.005131f, -0.014608f, -0.007137f, -0.006326f, 0.011603f, 0.012051f, -0.003888f, 0.005635f, -0.002873f, 0.008895f, 0.011503f, 0.004403f, 0.003539f, -0.011619f, -0.004252f, -0.014498f, -0.015917f, -0.011242f, 0.001171f, -0.005404f, -0.000652f, -0.006735f, -0.015845f, -0.005445f, 0.003346f, 0.001405f, -0.000870f, 0.024090f, -0.019432f, 0.007163f, -0.009627f, -0.002854f, -0.005961f, -0.006186f, 0.010359f, -0.006157f, 0.000888f, -0.007449f, -0.004843f, -0.009041f, 0.012417f, -0.011355f, 0.010207f, -0.002663f, 0.010198f, -0.000948f, 0.001637f, -0.001076f, 0.009863f, 0.005608f, -0.000171f, 0.020906f, 0.000945f, -0.010514f, 0.005628f, -0.009459f, -0.011471f, -0.013987f, 0.013697f, 0.004782f, 0.012216f, 0.012315f, 0.014581f, 0.008482f, -0.001621f, + -0.002610f, -0.002491f, 0.013898f, -0.001922f, 0.015587f, 0.003451f, -0.000681f, -0.002257f, 0.005340f, 0.008072f, 0.002067f, 0.003393f, 0.001086f, -0.000929f, 0.001546f, -0.002492f, 0.004189f, 0.000321f, 0.003593f, -0.000937f, 0.003411f, -0.000235f, -0.005453f, 0.002835f, 0.003751f, 0.000129f, 0.003053f, -0.000828f, 0.000175f, -0.003019f, 0.002640f, -0.000619f, 0.001295f, 0.005922f, 0.005947f, -0.024359f, -0.001750f, 0.002968f, -0.005427f, -0.019216f, 0.021966f, -0.001577f, 0.000976f, 0.018354f, -0.005007f, -0.019224f, 0.006898f, 0.012332f, 0.023823f, -0.001676f, 0.010171f, 0.001892f, -0.020634f, -0.006266f, -0.010640f, 0.010451f, 0.006223f, 0.005393f, -0.007604f, -0.001564f, -0.000690f, 0.001768f, -0.006848f, 0.009737f, 0.002932f, -0.008508f, 0.012411f, 0.001595f, -0.013472f, -0.011606f, 0.003396f, 0.014660f, 0.013472f, -0.018644f, 0.036450f, -0.001913f, 0.000894f, 0.009859f, -0.001227f, -0.004867f, -0.000107f, 0.023191f, -0.011437f, 0.011421f, -0.002585f, 0.016029f, 0.005090f, 0.014361f, -0.005260f, -0.011456f, 0.008261f, 0.012274f, -0.005889f, -0.013900f, -0.014777f, -0.013310f, + -0.005736f, -0.002743f, 0.014038f, 0.000275f, 0.012240f, -0.001500f, -0.003684f, 0.011829f, -0.010100f, -0.020097f, -0.005052f, -0.012846f, -0.011766f, -0.022332f, 0.016918f, 0.014467f, 0.006258f, -0.034601f, 0.008428f, 0.007253f, -0.002281f, -0.001038f, -0.011747f, 0.016498f, 0.008775f, 0.006526f, 0.004362f, 0.015158f, -0.000992f, -0.001092f, 0.001453f, -0.000157f, 0.003862f, 0.001724f, 0.000411f, 0.004658f, -0.002454f, -0.000615f, -0.003226f, 0.001056f, 0.001560f, 0.005145f, -0.003222f, -0.000535f, -0.001042f, 0.003979f, -0.001457f, 0.001505f, 0.002713f, 0.003202f, -0.002358f, 0.007627f, 0.000368f, -0.000180f, -0.002398f, 0.003018f, -0.004350f, 0.001738f, 0.000600f, -0.001159f, 0.002068f, 0.003761f, -0.000315f, -0.006673f, -0.001898f, -0.000886f, -0.014054f, -0.000667f, 0.000801f, 0.010302f, -0.014780f, 0.000997f, -0.002500f, -0.005796f, -0.030409f, -0.003394f, 0.013974f, 0.011256f, 0.014325f, 0.001942f, -0.016464f, 0.043060f, 0.017749f, 0.029363f, 0.002783f, -0.012500f, -0.005345f, -0.003890f, -0.018426f, -0.000901f, -0.007386f, 0.009366f, -0.000204f, 0.001184f, -0.006076f, -0.007532f, + -0.015621f, 0.005416f, 0.001263f, 0.000992f, 0.007678f, -0.000421f, 0.003116f, -0.001300f, -0.013606f, -0.010137f, 0.007828f, 0.000278f, 0.019197f, -0.024351f, 0.019423f, 0.012295f, -0.008927f, -0.017547f, -0.028008f, 0.006095f, 0.021661f, -0.010991f, 0.020959f, -0.001443f, -0.001195f, 0.005094f, -0.006475f, -0.024421f, 0.002709f, 0.011866f, 0.004947f, -0.010487f, -0.003050f, -0.006500f, 0.005202f, 0.012162f, -0.000874f, 0.003262f, -0.001870f, 0.011714f, -0.005401f, -0.003721f, 0.007601f, -0.006602f, 0.017856f, -0.004634f, -0.009422f, 0.006934f, -0.016644f, -0.008163f, -0.000112f, 0.006685f, -0.007356f, 0.003244f, -0.002837f, 0.003805f, -0.000130f, 0.004482f, 0.003473f, -0.001275f, 0.001974f, -0.007586f, 0.003960f, -0.000881f, -0.010746f, -0.003473f, -0.003227f, -0.006147f, -0.000255f, 0.001997f, -0.005162f, -0.003351f, -0.000485f, -0.006495f, 0.000224f, 0.001856f, -0.001705f, -0.006891f, 0.000372f, 0.000039f, -0.005577f, 0.002332f, 0.003679f, -0.004192f, -0.000536f, 0.001397f, 0.000168f, 0.002179f, 0.005961f, 0.005295f, -0.005589f, -0.004162f, 0.006931f, 0.004673f, -0.033038f, 0.023607f, + 0.021468f, 0.025141f, -0.008069f, -0.022614f, 0.007940f, 0.008946f, -0.033628f, -0.030715f, 0.029689f, 0.003135f, -0.014474f, 0.011117f, -0.021013f, -0.024024f, 0.003418f, 0.062172f, 0.028929f, 0.011445f, -0.016921f, 0.000161f, -0.006037f, 0.000370f, -0.007108f, -0.003586f, -0.007897f, 0.002118f, 0.017722f, 0.003390f, 0.021850f, -0.008790f, -0.007261f, 0.003872f, 0.015260f, -0.003054f, -0.002224f, -0.032705f, -0.001408f, -0.018481f, -0.001004f, 0.025114f, 0.017990f, -0.006819f, 0.017581f, 0.034900f, -0.016718f, 0.009976f, 0.028998f, -0.021468f, 0.030649f, -0.002708f, 0.012588f, -0.007428f, 0.001260f, -0.004302f, 0.004225f, 0.006955f, 0.030396f, -0.011823f, -0.003878f, 0.007753f, -0.014222f, 0.008785f, 0.004661f, -0.008330f, -0.013862f, 0.029811f, -0.002029f, -0.016632f, -0.005488f, 0.018419f, -0.007865f, 0.012446f, -0.000129f, 0.000732f, -0.019823f, -0.021709f, -0.010405f, -0.018545f, -0.016649f, -0.018175f, -0.001144f, -0.004472f, 0.008709f, -0.001316f, 0.001536f, -0.001829f, 0.010969f, 0.006823f, 0.000744f, -0.013833f, 0.000458f, -0.002748f, -0.010195f, -0.003096f, -0.005274f, 0.005133f, + 0.001982f, -0.007136f, -0.002373f, -0.005521f, -0.004225f, -0.000696f, 0.003753f, 0.003512f, 0.003837f, 0.006466f, -0.004164f, 0.000635f, 0.004128f, -0.003119f, -0.004064f, 0.004687f, -0.006975f, -0.002938f, -0.002195f, 0.002871f, 0.001246f, 0.004743f, 0.000785f, 0.000282f, 0.004005f, -0.002093f, -0.004851f, 0.040271f, 0.007376f, 0.005580f, -0.020899f, -0.012316f, 0.001180f, 0.004524f, 0.008297f, 0.009243f, -0.039966f, 0.001677f, 0.002642f, 0.028816f, 0.004741f, 0.007230f, -0.002646f, 0.026200f, -0.042936f, 0.001185f, 0.022148f, -0.025778f, 0.006513f, 0.004886f, 0.020858f, 0.003940f, 0.002306f, -0.007192f, 0.000761f, -0.022158f, 0.007548f, -0.005644f, 0.003989f, 0.005840f, -0.003684f, -0.016847f, 0.006196f, -0.013331f, -0.022852f, 0.012796f, -0.012889f, 0.008364f, -0.021486f, -0.013749f, -0.002209f, -0.006844f, 0.005218f, -0.009321f, 0.023702f, -0.000433f, 0.022601f, -0.023953f, -0.020051f, -0.006615f, 0.000389f, -0.000560f, -0.006939f, 0.020118f, 0.016616f, 0.042138f, -0.006742f, 0.026892f, -0.015808f, -0.002885f, 0.008201f, -0.032281f, 0.036687f, -0.001154f, 0.022855f, -0.001075f, + -0.031958f, -0.019462f, 0.013502f, -0.042999f, 0.022328f, 0.005975f, 0.032576f, 0.040843f, 0.005363f, -0.030599f, -0.022985f, -0.009672f, 0.023388f, -0.003045f, -0.005642f, 0.001096f, -0.008552f, 0.001043f, -0.006259f, -0.009422f, -0.003179f, -0.015037f, -0.000724f, 0.000453f, -0.006879f, -0.006406f, -0.008399f, -0.006210f, -0.002887f, 0.003496f, 0.007125f, 0.002417f, -0.001199f, 0.006277f, -0.004491f, -0.002736f, 0.001497f, 0.003198f, 0.004138f, -0.004421f, 0.005239f, -0.005687f, -0.002584f, -0.008187f, -0.013886f, 0.008297f, 0.001437f, -0.008143f, -0.007979f, -0.001801f, -0.011047f, 0.001214f, 0.000051f, -0.003947f, 0.008051f, 0.020652f, 0.031635f, 0.011003f, -0.013227f, 0.030098f, -0.032367f, -0.003399f, -0.010023f, 0.003947f, 0.025650f, -0.023362f, 0.057948f, 0.007638f, 0.014252f, -0.017180f, -0.023568f, 0.008021f, 0.000048f, 0.049247f, -0.007235f, -0.017183f, -0.028365f, -0.019111f, 0.013577f, 0.008713f, 0.007863f, -0.003675f, -0.027944f, -0.042930f, 0.003019f, -0.025935f, 0.034137f, 0.004345f, 0.027680f, -0.017370f, 0.011451f, -0.011291f, 0.014235f, 0.040114f, -0.006906f, -0.004421f, + -0.006308f, 0.010349f, 0.013158f, 0.006716f, 0.002714f, 0.003982f, 0.017235f, 0.015535f, -0.009304f, -0.014010f, -0.012693f, -0.014037f, 0.045781f, 0.017982f, -0.027278f, 0.020616f, -0.006420f, -0.022310f, -0.016142f, 0.007913f, 0.016565f, -0.031725f, -0.041403f, 0.004357f, -0.018660f, 0.053754f, 0.027743f, -0.009521f, -0.006455f, 0.011182f, 0.024030f, 0.005969f, -0.004460f, -0.007451f, -0.037608f, -0.002029f, -0.009468f, -0.040757f, 0.014981f, 0.025186f, -0.004490f, 0.012458f, 0.006705f, 0.025677f, -0.014650f, -0.004164f, 0.008964f, -0.004390f, -0.012111f, -0.013596f, -0.000742f, -0.008356f, -0.020136f, -0.004433f, -0.009498f, 0.008223f, -0.004240f, -0.011287f, 0.007147f, 0.002626f, 0.000669f, -0.007160f, 0.007113f, 0.001662f, -0.012832f, 0.003887f, 0.004483f, -0.006221f, -0.017665f, -0.008922f, -0.003612f, -0.002315f, -0.000684f, -0.006960f, -0.001340f, -0.005296f, 0.001899f, 0.001551f, -0.003876f, 0.000288f, -0.000766f, -0.005660f, -0.011181f, -0.001931f, 0.001761f, 0.005666f, 0.002604f, -0.008600f, -0.000217f, 0.005715f, 0.002311f, 0.002188f, -0.008918f, 0.002598f, -0.003756f, -0.004320f, + -0.004750f, -0.005326f, 0.000468f, -0.000104f, -0.005762f, 0.002579f, -0.015789f, -0.025030f, 0.014183f, -0.007970f, 0.021761f, 0.010638f, -0.024514f, -0.009645f, -0.012622f, 0.005683f, -0.032862f, 0.022461f, 0.030247f, -0.011990f, 0.018706f, -0.004148f, -0.008876f, 0.015440f, -0.023143f, 0.014646f, 0.024497f, 0.007390f, 0.042562f, 0.021410f, -0.018424f, 0.018913f, 0.007388f, 0.016687f, 0.000336f, 0.023667f, 0.019694f, 0.031524f, 0.011268f, -0.011601f, -0.014937f, -0.018661f, -0.002231f, 0.048611f, 0.000627f, 0.020867f, -0.030667f, 0.063342f, -0.019031f, -0.048705f, -0.023670f, 0.040187f, 0.002746f, -0.005000f, -0.005828f, -0.002384f, 0.029164f, -0.021185f, 0.016728f, -0.003890f, 0.036827f, 0.057367f, 0.028878f, 0.027930f, -0.020587f, 0.032849f, 0.019161f, 0.019724f, 0.021602f, 0.032849f, -0.007104f, -0.055923f, -0.036585f, -0.040485f, 0.010270f, 0.015132f, 0.011339f, -0.008993f, 0.018728f, 0.050365f, 0.003132f, 0.004396f, 0.011789f, -0.002268f, -0.044082f, -0.046504f, -0.016446f, 0.009875f, 0.004661f, -0.001473f, -0.027245f, 0.007375f, 0.000984f, 0.002753f, 0.013778f, -0.002580f, + 0.008637f, 0.003614f, 0.017092f, -0.003849f, 0.011304f, -0.008676f, 0.001754f, 0.002370f, 0.019896f, 0.009831f, 0.019862f, 0.002820f, 0.009958f, -0.003069f, 0.001951f, 0.009200f, -0.005911f, -0.012596f, 0.002714f, -0.007288f, -0.015121f, -0.011129f, -0.003540f, -0.002657f, 0.019384f, 0.004670f, -0.000356f, -0.005437f, 0.002777f, 0.000655f, -0.007401f, -0.007505f, -0.006193f, 0.005012f, 0.012289f, -0.001041f, 0.000874f, 0.002141f, 0.005360f, 0.004527f, 0.013120f, -0.012945f, 0.008235f, 0.020752f, 0.024374f, 0.008807f, 0.011449f, 0.018977f, -0.014955f, 0.044136f, 0.017416f, 0.008527f, -0.012593f, -0.033867f, -0.013656f, 0.018464f, -0.001836f, -0.047994f, 0.064622f, -0.022701f, -0.012658f, 0.019902f, 0.000983f, -0.006460f, 0.004688f, -0.012557f, -0.015165f, -0.003325f, -0.035153f, 0.008680f, -0.037776f, 0.001028f, -0.029946f, -0.033745f, -0.006759f, -0.007197f, -0.007391f, -0.024695f, 0.010832f, 0.026386f, 0.007090f, 0.020196f, -0.035058f, 0.034548f, 0.063015f, 0.006490f, -0.025292f, 0.039329f, -0.032277f, -0.051188f, 0.085172f, -0.008775f, 0.006057f, -0.005970f, -0.038069f, 0.029336f, + -0.034509f, 0.014897f, 0.052050f, -0.001090f, 0.071485f, -0.055826f, 0.053857f, 0.015636f, -0.035347f, -0.018591f, 0.006769f, -0.034046f, -0.016915f, 0.037799f, -0.037106f, 0.024590f, -0.024943f, 0.013613f, 0.039583f, -0.086915f, -0.038244f, 0.039918f, -0.074500f, 0.026263f, 0.023148f, 0.042554f, 0.037741f, 0.016890f, -0.002989f, 0.024937f, 0.037442f, -0.040700f, 0.040626f, -0.000852f, 0.014092f, -0.002239f, 0.012788f, 0.003187f, -0.007658f, 0.002693f, -0.011720f, -0.003979f, 0.003114f, -0.002217f, -0.020358f, 0.012744f, -0.003527f, 0.016632f, 0.010117f, -0.014600f, 0.011516f, 0.013847f, 0.010258f, 0.004065f, 0.007376f, 0.004237f, 0.009378f, -0.028534f, 0.016035f, -0.003878f, -0.007612f, 0.019990f, -0.016051f, -0.013343f, 0.006934f, -0.016949f, -0.013500f, -0.005511f, -0.012271f, -0.016622f, 0.009248f, -0.025141f, -0.074580f, -0.019554f, 0.024581f, 0.057547f, -0.018262f, 0.028999f, 0.000900f, 0.013636f, 0.029968f, 0.019225f, 0.051827f, -0.013493f, 0.002285f, 0.014099f, -0.045746f, -0.029588f, -0.013584f, -0.014937f, 0.010619f, 0.000669f, 0.003957f, -0.023999f, -0.003882f, -0.031736f, + -0.025645f, 0.012254f, 0.063969f, 0.036652f, -0.016733f, -0.020567f, 0.030522f, 0.036376f, -0.021668f, 0.009518f, 0.028143f, -0.011235f, 0.061185f, 0.020685f, 0.009042f, -0.047267f, 0.029156f, 0.005866f, 0.022987f, -0.004954f, 0.005979f, -0.007897f, -0.010100f, -0.074467f, 0.019770f, 0.051305f, 0.025463f, 0.006766f, -0.001382f, 0.025815f, -0.041765f, -0.077359f, 0.005803f, 0.102296f, 0.024702f, 0.081129f, 0.077088f, 0.000908f, 0.006779f, -0.049109f, -0.043827f, -0.004800f, -0.037590f, 0.051175f, -0.111740f, 0.021007f, -0.041830f, -0.089401f, 0.019890f, 0.041678f, 0.089316f, 0.007891f, 0.004513f, -0.057000f, 0.018634f, 0.026760f, -0.039717f, -0.003828f, 0.002864f, 0.041598f, -0.011134f, -0.026725f, 0.063194f, 0.013256f, -0.022521f, -0.000920f, -0.036504f, 0.004717f, -0.034549f, -0.007087f, -0.001143f, -0.017011f, 0.005309f, -0.013760f, -0.014456f, -0.008028f, -0.000106f, -0.007000f, 0.011741f, 0.032637f, -0.001801f, 0.000294f, 0.012251f, -0.029709f, -0.017855f, -0.003644f, 0.009021f, 0.009292f, -0.025745f, -0.014674f, 0.020549f, 0.012011f, 0.007196f, 0.004876f, 0.021705f, -0.000881f, + 0.000442f, 0.002172f, -0.014539f, 0.002597f, 0.020765f, -0.010614f, -0.019716f, 0.054789f, 0.095230f, 0.002665f, 0.025907f, 0.017384f, -0.050285f, -0.014029f, 0.049854f, 0.015950f, 0.021896f, -0.012356f, 0.014383f, 0.008714f, -0.017882f, 0.000981f, 0.025796f, 0.027699f, 0.033380f, -0.014625f, -0.004283f, -0.073912f, -0.069683f, 0.009783f, -0.043146f, 0.001682f, 0.037125f, 0.009220f, 0.004274f, -0.012680f, -0.008474f, 0.024116f, 0.058191f, -0.042197f, -0.024510f, -0.005343f, -0.041378f, -0.002813f, -0.039888f, -0.012157f, -0.042337f, 0.037443f, -0.051268f, -0.003971f, 0.009023f, 0.024943f, 0.089164f, 0.119328f, 0.030675f, -0.031137f, -0.063739f, -0.005421f, -0.043657f, -0.016877f, -0.067784f, 0.010305f, 0.065002f, 0.048278f, 0.038936f, 0.004897f, 0.009296f, 0.066984f, 0.064683f, 0.047858f, -0.004086f, 0.030280f, 0.010927f, 0.015062f, -0.077085f, 0.023390f, 0.008326f, -0.017539f, 0.046182f, 0.063158f, -0.008941f, -0.000869f, -0.031111f, -0.131181f, -0.002736f, 0.039059f, -0.019283f, 0.091149f, 0.064408f, -0.029827f, 0.005813f, -0.033275f, 0.022420f, 0.006487f, -0.012395f, -0.019826f, + -0.009357f, -0.001648f, 0.013916f, 0.017797f, 0.026690f, 0.000978f, -0.016422f, -0.034808f, 0.001815f, -0.016295f, 0.013149f, -0.015360f, -0.021592f, -0.005082f, -0.005775f, 0.016107f, 0.006410f, -0.005762f, 0.008110f, 0.004853f, 0.006385f, 0.001824f, -0.012387f, -0.019084f, -0.010049f, 0.007584f, 0.015968f, -0.001121f, 0.012973f, 0.000129f, -0.019652f, -0.019878f, 0.005364f, -0.024385f, -0.014168f, 0.000377f, -0.011120f, -0.002689f, 0.006682f, 0.010471f, -0.009486f, -0.016318f, -0.023567f, 0.059823f, 0.042078f, -0.027988f, 0.028395f, 0.044539f, 0.004665f, -0.054984f, -0.066385f, 0.062087f, 0.020703f, 0.014656f, 0.048289f, 0.001464f, -0.021452f, 0.052542f, 0.013458f, -0.039171f, -0.020357f, -0.013944f, 0.017331f, 0.001504f, -0.023959f, 0.009571f, -0.026471f, -0.002219f, -0.012078f, -0.012333f, 0.035285f, 0.066656f, -0.022786f, 0.014171f, 0.030982f, -0.015077f, -0.013550f, 0.013246f, 0.037493f, 0.012516f, -0.029159f, -0.036187f, -0.044306f, 0.024132f, 0.024663f, 0.060592f, -0.028671f, -0.026516f, 0.020931f, 0.036306f, 0.055869f, -0.001098f, -0.103980f, -0.021723f, 0.033313f, 0.033893f, + 0.014872f, -0.019762f, -0.000924f, -0.040995f, 0.006096f, -0.017415f, 0.043017f, 0.062395f, -0.018839f, 0.001906f, -0.036365f, -0.038701f, -0.015287f, -0.078938f, -0.016129f, -0.039846f, 0.035126f, -0.031766f, 0.036447f, 0.045961f, -0.092129f, -0.007074f, -0.039049f, 0.040033f, -0.016333f, 0.014529f, -0.028733f, 0.005313f, -0.024491f, 0.027803f, 0.030127f, 0.052873f, 0.050289f, 0.025647f, 0.048383f, 0.023195f, 0.002777f, 0.026353f, 0.016391f, -0.006522f, 0.021483f, -0.023253f, 0.011458f, -0.011522f, 0.009907f, -0.029473f, 0.017816f, 0.000921f, 0.014089f, -0.021476f, -0.012760f, 0.015247f, -0.005925f, -0.006649f, 0.025919f, -0.019667f, -0.004821f, 0.021924f, 0.010304f, -0.013303f, -0.004588f, 0.009468f, 0.047930f, 0.026696f, 0.020832f, 0.029226f, 0.001809f, 0.031713f, 0.010260f, 0.010363f, 0.015983f, 0.000976f, 0.025720f, 0.008142f, -0.044564f, -0.019766f, -0.011994f, -0.014298f, 0.005540f, -0.008691f, -0.021447f, -0.030580f, -0.049516f, -0.011720f, -0.027378f, -0.051037f, -0.076109f, 0.036998f, 0.039983f, 0.022933f, -0.050740f, -0.069989f, -0.053050f, -0.030720f, 0.012898f, -0.002711f, + -0.067397f, -0.040872f, -0.046080f, 0.065348f, 0.020823f, 0.028240f, -0.020347f, -0.037831f, 0.083702f, 0.020214f, 0.026340f, -0.016352f, 0.005272f, 0.024241f, -0.016720f, 0.019187f, -0.005816f, 0.039370f, 0.056492f, 0.002092f, -0.045013f, -0.036763f, 0.044807f, 0.030123f, 0.039285f, 0.010905f, 0.010081f, -0.020443f, -0.008509f, 0.006102f, 0.027530f, 0.058503f, -0.000206f, -0.110095f, -0.101460f, 0.001154f, -0.024580f, 0.065562f, 0.067290f, -0.074851f, -0.050092f, -0.031639f, 0.093066f, 0.082388f, -0.044521f, 0.012937f, -0.058391f, -0.056790f, 0.034712f, -0.026259f, 0.000625f, -0.008923f, -0.040445f, 0.028844f, 0.030126f, 0.023530f, 0.094235f, -0.069098f, -0.018269f, -0.006595f, 0.024351f, 0.007442f, 0.038918f, -0.137722f, -0.079680f, 0.028593f, 0.043404f, 0.042436f, 0.012342f, -0.045569f, -0.046174f, 0.000657f, 0.027675f, 0.079352f, 0.019553f, -0.026587f, 0.008365f, -0.051592f, 0.032143f, 0.027689f, 0.001813f, 0.044405f, 0.095607f, 0.022799f, -0.069864f, -0.036834f, -0.004809f, 0.007948f, 0.046225f, 0.039959f, 0.019115f, -0.021193f, -0.008483f, -0.014628f, -0.016451f, 0.041410f, + -0.004802f, 0.003723f, -0.016460f, 0.040153f, -0.018607f, -0.007842f, -0.001002f, 0.034832f, 0.015346f, 0.012331f, -0.007370f, -0.044030f, -0.015718f, 0.014176f, 0.035047f, 0.005946f, -0.048776f, -0.067747f, -0.056414f, -0.001467f, 0.008158f, 0.010315f, 0.006744f, -0.018579f, -0.014048f, 0.092221f, -0.061276f, 0.057599f, 0.057154f, 0.036743f, -0.133520f, -0.053431f, 0.044645f, -0.036126f, 0.025811f, -0.009381f, -0.055484f, 0.035650f, 0.010638f, 0.010735f, -0.024548f, -0.088198f, -0.008418f, -0.002535f, 0.000296f, -0.012451f, -0.064413f, 0.048288f, -0.039818f, 0.082355f, -0.008714f, -0.007019f, 0.040000f, 0.029979f, -0.039333f, -0.003475f, -0.029783f, 0.044088f, 0.069140f, 0.052826f, -0.058384f, 0.013258f, -0.039082f, 0.035383f, -0.033951f, -0.013745f, 0.005738f, -0.002790f, 0.037564f, -0.034356f, -0.081052f, 0.021024f, -0.029012f, 0.030444f, 0.031563f, -0.102344f, -0.017433f, -0.019364f, 0.003711f, 0.113736f, -0.030646f, -0.082434f, -0.021989f, 0.072366f, 0.034616f, -0.044547f, -0.014719f, 0.044972f, -0.000221f, 0.055477f, -0.083166f, -0.043698f, 0.049991f, -0.051971f, -0.126784f, -0.037175f, + -0.017315f, 0.144862f, -0.039501f, -0.074505f, 0.039721f, -0.085982f, 0.227393f, 0.021768f, -0.211347f, -0.056027f, -0.037358f, 0.150227f, 0.081151f, -0.094048f, -0.049818f, -0.000978f, 0.110800f, 0.088646f, -0.013835f, -0.069247f, 0.027187f, -0.023253f, 0.099918f, -0.009414f, -0.050271f, -0.041307f, 0.065432f, -0.052139f, 0.033875f, -0.100087f, -0.000519f, -0.003560f, -0.005916f, -0.005603f, 0.021026f, -0.055269f, 0.053734f, 0.004766f, 0.039390f, 0.001901f, -0.063465f, -0.048378f, 0.036024f, 0.043038f, 0.067029f, 0.025375f, -0.006930f, -0.043487f, 0.005755f, 0.011238f, -0.011659f, 0.003213f, 0.043898f, 0.007194f, -0.002179f, -0.049772f, 0.009547f, 0.035961f, 0.013057f, 0.001828f, -0.014760f, -0.035685f, -0.039613f, -0.018379f, 0.012095f, -0.011693f, 0.017510f, -0.016509f, -0.010076f, 0.006794f, 0.001318f, 0.000530f, -0.122044f, 0.034196f, -0.001911f, 0.041683f, 0.100987f, 0.032328f, 0.013938f, -0.056929f, -0.023572f, -0.056893f, -0.068070f, -0.022835f, 0.013426f, 0.038907f, 0.051550f, -0.005795f, 0.029998f, 0.036274f, -0.031573f, -0.064107f, 0.033988f, 0.012178f, -0.052046f, -0.017724f, + 0.049514f, -0.016859f, -0.005504f, 0.045254f, 0.025414f, 0.020105f, 0.006339f, 0.025717f, -0.024602f, -0.059552f, -0.025854f, 0.016941f, -0.024358f, -0.014092f, 0.021842f, 0.001440f, -0.041897f, 0.043688f, 0.009475f, -0.038858f, 0.005016f, -0.009396f, 0.037657f, 0.020918f, -0.015140f, 0.017647f, -0.023145f, -0.052209f, 0.007038f, 0.012679f, -0.004697f, 0.000101f, 0.011090f, -0.022821f, 0.007259f, -0.019544f, 0.011772f, 0.037211f, -0.003894f, 0.016252f, 0.017275f, -0.014421f, 0.000991f, -0.035558f, 0.012223f, 0.020937f, -0.064507f, 0.037465f, -0.040206f, 0.012677f, 0.001941f, -0.000211f, 0.017867f, 0.007182f, 0.042223f, 0.007667f, 0.011995f, -0.006116f, 0.021643f, -0.022686f, -0.014838f, 0.005196f, 0.003695f, -0.019855f, 0.007227f, -0.001797f, -0.005682f, -0.011480f, 0.004177f, -0.002286f, 0.022900f, -0.005873f, 0.002812f, 0.016307f, -0.011375f, 0.011322f, -0.006972f, 0.003955f, -0.011379f, -0.010034f, -0.011363f, -0.003040f, -0.005058f, 0.008599f, 0.006253f, -0.026766f, -0.007214f, -0.007841f, 0.018717f, -0.011063f, 0.007063f, 0.003169f, -0.029682f, 0.009881f, 0.019438f, 0.001240f, + -0.007152f, 0.003194f, -0.008647f, -0.004443f, 0.006522f, 0.098913f, -0.003678f, -0.003216f, -0.027527f, -0.026925f, 0.020260f, -0.001134f, 0.017524f, 0.000365f, -0.009752f, -0.013011f, 0.006602f, -0.018237f, 0.018442f, -0.017177f, 0.026913f, -0.021822f, 0.015636f, -0.018471f, -0.004231f, -0.002963f, -0.017335f, -0.013153f, 0.003777f, -0.007766f, -0.005559f, -0.000128f, -0.013073f, 0.001714f, -0.002700f, 0.004125f, -0.003177f, 0.007546f, -0.026096f, 0.023637f, -0.009027f, -0.007764f, 0.017781f, -0.014403f, 0.000814f, -0.017987f, -0.015887f, 0.011432f, 0.009939f, -0.012651f, -0.008318f, 0.005060f, -0.000978f, -0.022006f, 0.005459f, 0.003833f, -0.000189f, 0.014397f, -0.005530f, -0.006238f, -0.006107f, -0.015047f, -0.004268f, 0.015703f, -0.016937f, 0.004270f, -0.008314f, -0.002107f, 0.000874f, -0.005141f, 0.003489f, 0.000042f, 0.010798f, -0.016053f, -0.001595f, 0.010274f, -0.020874f, 0.011976f, -0.009526f, 0.000076f, 0.009214f, -0.004645f, -0.009643f, 0.004191f, -0.001903f, -0.002773f, -0.000936f, -0.006799f, -0.000411f, 0.006899f, -0.000705f, -0.003364f, 0.000968f, -0.005913f, 0.003771f, 0.002851f, + 0.001455f, -0.004800f, -0.001677f, 0.005949f, -0.008003f, 0.007612f, -0.003813f, 0.003250f, 0.008297f, -0.010440f, 0.002178f, 0.000581f, -0.013324f, 0.002251f, -0.004452f, 0.005244f, -0.002154f, 0.000265f, 0.007584f, -0.005339f, 0.001199f, -0.008525f, 0.001118f, 0.001068f, -0.002423f, -0.002171f, -0.001343f, -0.003175f, 0.000250f, -0.001685f, -0.000006f, 0.005651f, -0.008852f, 0.003552f, -0.046718f, -0.078058f, 0.028755f, 0.251287f, 0.062478f, 0.138695f, -0.005774f, -0.134514f, -0.044121f, -0.132365f, -0.113689f, -0.039788f, -0.027669f, -0.008984f, 0.074822f, 0.101237f, 0.133113f, 0.168867f, 0.072416f, -0.042909f, -0.078456f, -0.165310f, -0.157762f, -0.063920f, -0.052964f, -0.034817f, 0.067632f, 0.092969f, 0.055048f, 0.086213f, 0.102722f, 0.035129f, 0.027896f, 0.019513f, -0.053806f, -0.024343f, -0.038639f, -0.083126f, -0.046396f, -0.061701f, -0.092179f, -0.049721f, 0.011001f, 0.010071f, 0.050907f, 0.124646f, 0.084728f, 0.071069f, 0.068636f, 0.021481f, 0.004732f, -0.006832f, -0.036180f, -0.050854f, -0.065036f, -0.092206f, -0.082099f, -0.045457f, -0.014699f, -0.030981f, 0.025431f, 0.048172f, + 0.040369f, 0.070515f, 0.077974f, 0.050542f, 0.045206f, 0.044781f, -0.007285f, -0.021589f, -0.011318f, -0.063511f, -0.053160f, -0.013260f, -0.052618f, -0.055682f, -0.035753f, -0.050059f, -0.024775f, 0.014630f, 0.031844f, 0.058439f, 0.092939f, 0.058092f, 0.053291f, 0.059572f, 0.021635f, -0.006800f, -0.011123f, -0.031595f, -0.052994f, -0.054455f, -0.052461f, -0.056956f, -0.040081f, -0.036349f, -0.030707f, -0.012281f, 0.014016f, 0.035627f, 0.054508f, 0.082948f, 0.086779f, 0.085135f, 0.071844f, 0.023098f, -0.019057f, -0.038374f, -0.062485f, -0.082100f, -0.093307f, -0.092630f, -0.073822f, -0.041205f, -0.010149f, 0.025811f, 0.076111f, 0.085197f, 0.084826f, 0.089374f, 0.073439f, 0.039003f, 0.012099f, -0.020602f, -0.059629f, -0.082858f, -0.073582f, -0.068357f, -0.054282f, -0.024880f, 0.002107f, 0.020619f, 0.040883f, 0.046778f, 0.045625f, 0.036722f, 0.016384f, 0.007980f, 0.002913f, -0.006332f, -0.007831f, -0.007419f, -0.010400f, -0.012437f, -0.009999f, -0.013731f, -0.009563f, -0.007421f, -0.005408f, -0.006306f, -0.002197f, -0.000322f, 0.003895f, 0.004775f, 0.008732f, 0.010604f, 0.012854f, 0.009509f, + 0.009774f, 0.006668f, 0.004226f, -0.001498f, -0.003267f, -0.007084f, -0.007613f, -0.010960f, -0.010185f, -0.010065f, -0.007179f, -0.006394f, -0.001993f, 0.000697f, 0.004086f, 0.005616f, 0.009966f, 0.009592f, 0.010472f, 0.008158f, 0.006601f, 0.002497f, 0.001888f, -0.001791f, -0.002930f, -0.007874f, -0.010436f, -0.011516f, -0.008284f, -0.007299f, -0.002287f, 0.000072f, 0.002587f, 0.003098f, 0.005986f, 0.005604f, 0.007960f, 0.006718f, 0.007071f, 0.004303f, 0.002941f, -0.001629f, -0.003050f, -0.006411f, -0.006187f, -0.007034f, -0.005322f, -0.005806f, -0.002861f, -0.001784f, 0.001871f, 0.003162f, 0.005841f, 0.004967f, 0.005887f, 0.003301f, 0.002803f, -0.000114f, -0.000650f, -0.002305f, -0.001220f, -0.002748f, -0.001584f, -0.002690f, -0.001058f, -0.001733f, 0.000030f, -0.000653f, 0.000992f, 0.000069f, 0.001362f, 0.000145f, 0.001240f, -0.000027f, 0.001049f, -0.000304f, 0.000746f, -0.000540f, 0.000651f, -0.000572f, 0.000618f, -0.000583f} + }, + { + {0.005683f, 0.005921f, -0.005343f, -0.000801f, 0.008186f, 0.002853f, -0.004421f, 0.001019f, -0.004871f, -0.004106f, -0.003522f, -0.007326f, -0.002709f, 0.004664f, -0.000488f, 0.002638f, -0.001378f, -0.001990f, -0.002186f, -0.000782f, 0.006139f, -0.003833f, 0.000269f, -0.000160f, 0.000153f, 0.005091f, -0.000285f, 0.003541f, 0.010773f, 0.008618f, 0.008422f, 0.004550f, 0.001819f, -0.001257f, -0.010192f, 0.004257f, -0.003879f, 0.006582f, 0.002172f, -0.003297f, 0.002921f, -0.004375f, -0.008850f, -0.002569f, -0.003494f, -0.008146f, 0.000233f, -0.000894f, -0.001301f, -0.003752f, 0.000407f, 0.008751f, 0.003707f, 0.005986f, -0.000210f, 0.003728f, -0.003492f, -0.000122f, 0.004394f, -0.003607f, 0.002904f, -0.004501f, -0.005038f, 0.000622f, 0.010040f, 0.006814f, 0.003781f, -0.001856f, 0.001579f, 0.001211f, 0.000469f, -0.001712f, -0.004020f, -0.005844f, -0.004445f, 0.000256f, -0.003823f, -0.001731f, -0.004107f, 0.001442f, 0.000489f, 0.002184f, -0.001296f, 0.001818f, 0.002280f, 0.002094f, 0.000138f, 0.001359f, -0.001037f, -0.000874f, -0.000152f, -0.002363f, 0.002497f, 0.002269f, -0.000372f, 0.002834f, + 0.000679f, 0.000665f, -0.001347f, -0.000654f, -0.001688f, 0.000640f, 0.000756f, 0.000090f, -0.000617f, 0.001056f, -0.000724f, -0.002186f, -0.000775f, -0.001424f, -0.000217f, 0.000570f, 0.000445f, -0.002296f, 0.000307f, 0.001653f, 0.003715f, 0.001927f, -0.006444f, 0.015210f, -0.000337f, 0.000931f, -0.001618f, -0.008013f, 0.005925f, -0.004173f, -0.004018f, -0.009338f, -0.007214f, -0.003016f, 0.005801f, 0.008366f, -0.001695f, 0.004956f, -0.001926f, 0.009077f, 0.009397f, -0.018749f, 0.003434f, 0.000108f, -0.001841f, 0.006370f, 0.009987f, -0.003061f, -0.001457f, 0.000224f, -0.000614f, -0.004746f, 0.003928f, -0.004784f, -0.003797f, -0.000364f, 0.005008f, -0.002805f, -0.010553f, -0.004665f, -0.007172f, 0.000869f, 0.000643f, -0.009341f, -0.001108f, -0.004059f, 0.001950f, -0.000247f, -0.001409f, 0.002337f, -0.003117f, 0.003214f, -0.005016f, 0.004964f, 0.007221f, 0.011115f, 0.004609f, -0.004801f, 0.003979f, 0.004689f, -0.001731f, -0.012498f, 0.000829f, 0.006574f, -0.005027f, 0.003812f, -0.007259f, -0.000035f, -0.004627f, -0.012691f, -0.003868f, -0.006612f, 0.003243f, 0.004788f, -0.004284f, 0.002084f, + -0.002005f, 0.006069f, 0.000488f, 0.003580f, 0.005055f, -0.002088f, 0.002097f, 0.001083f, 0.002145f, 0.004401f, -0.000998f, 0.001533f, 0.005440f, 0.003150f, 0.000748f, 0.003307f, 0.000597f, 0.001472f, -0.000210f, 0.000001f, -0.002929f, 0.001647f, 0.001878f, 0.002538f, 0.001696f, 0.000634f, 0.000808f, 0.000162f, 0.000952f, -0.000302f, -0.000809f, -0.000143f, 0.002012f, 0.001770f, 0.000533f, 0.001597f, 0.000373f, 0.001836f, 0.001512f, 0.012514f, 0.003333f, -0.016832f, 0.005932f, 0.008750f, 0.003097f, -0.001391f, 0.004338f, -0.010546f, 0.001429f, 0.004787f, -0.002451f, 0.004633f, -0.000795f, 0.005629f, 0.001269f, -0.007090f, 0.004436f, 0.006636f, 0.006407f, -0.001801f, 0.003026f, 0.003625f, 0.002390f, -0.019055f, 0.002621f, -0.008060f, -0.002477f, -0.002621f, 0.004406f, 0.002160f, -0.015684f, -0.005536f, -0.003563f, -0.002875f, 0.006291f, -0.005725f, -0.010991f, 0.002790f, 0.005009f, 0.003252f, -0.010933f, -0.005019f, 0.003430f, -0.010169f, -0.000883f, -0.011246f, 0.001614f, 0.005663f, -0.005865f, -0.001668f, 0.006443f, 0.008369f, -0.019329f, -0.001323f, -0.005401f, 0.005945f, + 0.002349f, 0.001067f, 0.001627f, -0.005322f, 0.004872f, 0.004356f, -0.015012f, 0.011613f, -0.001578f, 0.002942f, -0.007674f, -0.003084f, -0.006494f, -0.000693f, 0.001654f, -0.005882f, -0.008350f, 0.007502f, -0.002708f, 0.003160f, -0.000436f, -0.001388f, 0.002121f, 0.002626f, -0.003055f, -0.007580f, 0.004271f, 0.004005f, 0.000976f, 0.001924f, -0.000253f, 0.000703f, 0.001276f, 0.000062f, 0.001274f, 0.001018f, -0.000177f, 0.003085f, 0.000421f, 0.002394f, 0.002699f, 0.000280f, 0.003806f, 0.000024f, 0.000751f, 0.001153f, 0.001714f, 0.001498f, 0.001905f, -0.002714f, 0.001307f, -0.001160f, 0.000593f, 0.001395f, 0.000945f, 0.002371f, -0.000745f, -0.000539f, 0.001703f, 0.003200f, -0.007953f, -0.007795f, -0.006168f, -0.004188f, 0.012803f, -0.004581f, 0.001890f, -0.010431f, 0.011053f, 0.000563f, -0.007209f, -0.002107f, 0.006475f, -0.013307f, 0.004631f, -0.004042f, 0.003133f, 0.001960f, -0.005846f, -0.004432f, -0.015462f, -0.004369f, -0.017434f, 0.002121f, 0.004143f, -0.002048f, -0.002220f, -0.001767f, 0.002835f, -0.007049f, -0.012374f, -0.005990f, -0.004440f, -0.002094f, 0.004787f, -0.003047f, + 0.007653f, 0.003164f, 0.005908f, -0.007933f, -0.000258f, -0.000540f, -0.006324f, 0.001653f, 0.005310f, -0.000661f, -0.003061f, -0.007778f, -0.006869f, 0.004599f, 0.007290f, -0.000381f, 0.014255f, 0.011007f, -0.009889f, -0.002715f, 0.000215f, -0.010783f, -0.011977f, 0.018240f, -0.000109f, 0.000357f, 0.005959f, -0.011833f, -0.003651f, -0.007717f, 0.018353f, 0.004761f, 0.001139f, -0.014605f, -0.011285f, 0.001399f, -0.004534f, 0.009240f, -0.004616f, -0.000247f, 0.002774f, -0.005818f, 0.002262f, 0.005522f, -0.008303f, -0.000047f, -0.013361f, 0.001341f, 0.005315f, -0.004059f, 0.002192f, 0.001492f, 0.006864f, -0.001092f, 0.001283f, -0.001451f, -0.000041f, 0.002744f, 0.003177f, 0.002630f, -0.001829f, 0.000749f, 0.000089f, 0.001108f, 0.000317f, 0.001084f, -0.001754f, 0.004151f, 0.000268f, 0.001097f, 0.000881f, 0.001223f, 0.001241f, 0.001109f, -0.000904f, -0.001237f, -0.000726f, 0.000818f, 0.003117f, 0.003261f, 0.000848f, 0.001412f, -0.002542f, -0.001137f, -0.021142f, 0.010551f, 0.006091f, 0.010761f, -0.005733f, 0.005871f, 0.006285f, 0.011063f, 0.002718f, -0.021238f, 0.005375f, 0.000856f, + 0.008505f, 0.015317f, 0.000896f, 0.006622f, 0.005938f, -0.012737f, 0.004546f, 0.001123f, 0.001848f, -0.003498f, -0.001670f, 0.007822f, 0.005310f, 0.000272f, -0.007664f, -0.000141f, -0.003606f, -0.004063f, 0.012787f, 0.005818f, -0.000432f, -0.001743f, -0.015232f, -0.013196f, -0.014960f, 0.003966f, 0.004176f, -0.015654f, 0.001214f, 0.001018f, -0.015365f, 0.000935f, 0.002498f, -0.002106f, 0.017894f, -0.002229f, -0.008629f, -0.002235f, 0.010326f, -0.000880f, -0.015728f, 0.017182f, 0.009035f, -0.010986f, 0.008496f, 0.001637f, 0.001729f, -0.000315f, 0.001086f, -0.004283f, -0.007834f, -0.007557f, 0.013885f, -0.000941f, -0.003894f, -0.000665f, 0.010024f, -0.009193f, -0.016066f, 0.000558f, 0.003819f, 0.003016f, -0.014024f, -0.007352f, 0.005585f, -0.001292f, 0.008050f, 0.002999f, -0.002376f, -0.002382f, -0.002023f, -0.001139f, 0.000418f, 0.012566f, 0.007474f, 0.004537f, 0.004171f, 0.004852f, 0.007472f, -0.003507f, -0.001019f, -0.003973f, -0.001056f, 0.001390f, 0.000517f, -0.002198f, -0.003385f, 0.003697f, 0.000724f, 0.001668f, 0.000102f, -0.002258f, 0.000974f, 0.001958f, -0.004307f, -0.000753f, + 0.003752f, 0.000783f, 0.000385f, -0.001633f, -0.000317f, -0.001056f, -0.001763f, 0.000495f, 0.001999f, 0.001467f, -0.001124f, 0.001498f, 0.000317f, 0.006438f, 0.024440f, 0.007339f, 0.019590f, -0.021561f, 0.000775f, -0.010624f, 0.000289f, 0.007215f, 0.008214f, -0.011061f, 0.004792f, -0.006391f, -0.005751f, -0.007678f, -0.012609f, -0.001804f, -0.029620f, -0.000245f, 0.009698f, -0.001267f, -0.002076f, 0.003286f, -0.015573f, 0.005494f, -0.014855f, -0.004634f, 0.015164f, 0.003120f, 0.005189f, 0.000395f, 0.004414f, 0.013022f, 0.011682f, 0.022664f, 0.011685f, -0.017083f, -0.001499f, 0.019097f, -0.002743f, -0.013922f, -0.002196f, 0.001799f, -0.006451f, 0.012804f, 0.009392f, -0.010946f, -0.003283f, 0.012280f, 0.012963f, -0.004615f, -0.008366f, 0.020699f, -0.008597f, -0.027837f, -0.018909f, 0.006169f, -0.028109f, -0.000531f, -0.008471f, 0.000165f, -0.002682f, -0.007808f, 0.010419f, 0.003029f, -0.002824f, -0.009136f, 0.007935f, -0.005463f, 0.014780f, 0.010181f, -0.004145f, -0.009829f, 0.002032f, 0.003912f, 0.001299f, 0.000582f, 0.003429f, -0.002028f, -0.011013f, -0.003142f, 0.015128f, -0.001738f, + -0.006275f, -0.001622f, -0.003284f, -0.007841f, -0.007727f, -0.004214f, -0.003759f, 0.000925f, -0.000160f, 0.007644f, -0.000755f, -0.002727f, 0.000979f, 0.002747f, -0.001922f, 0.001612f, -0.002714f, 0.005202f, -0.000259f, 0.003202f, 0.000382f, -0.004965f, -0.000600f, -0.000522f, -0.005332f, -0.001394f, -0.003283f, 0.002403f, 0.000059f, -0.000789f, 0.001701f, 0.000826f, -0.000623f, 0.000952f, -0.005956f, 0.001290f, 0.001625f, -0.023812f, 0.011261f, -0.002024f, 0.005995f, 0.008003f, 0.012877f, 0.002983f, -0.011391f, 0.015515f, -0.005778f, 0.006952f, -0.006933f, 0.005806f, -0.001077f, -0.027988f, -0.005843f, -0.004720f, -0.003331f, 0.002005f, -0.006769f, -0.004553f, 0.003726f, 0.006243f, 0.002099f, 0.015246f, 0.006971f, -0.014577f, -0.001105f, 0.000114f, -0.008280f, 0.017528f, -0.010457f, -0.010004f, 0.018345f, 0.019428f, -0.002427f, -0.000145f, -0.012064f, 0.004424f, 0.002598f, -0.006201f, 0.003192f, 0.012062f, 0.007381f, 0.014489f, -0.003605f, -0.011237f, 0.007019f, 0.001761f, 0.003441f, -0.013410f, -0.007009f, -0.007848f, 0.003158f, 0.007796f, 0.002805f, 0.002142f, 0.013824f, 0.016670f, + 0.002455f, -0.007813f, 0.009423f, 0.007811f, -0.011722f, 0.001706f, 0.002005f, -0.001266f, 0.001341f, -0.000196f, 0.009882f, -0.001013f, -0.007766f, 0.004016f, 0.013034f, 0.005875f, 0.007640f, 0.016253f, -0.011066f, 0.002039f, -0.003787f, 0.015425f, 0.008765f, 0.016515f, -0.007953f, -0.002040f, 0.002701f, -0.005783f, 0.000820f, 0.001682f, -0.001904f, 0.000077f, 0.003774f, 0.004463f, -0.001691f, 0.002466f, 0.001668f, 0.005769f, 0.004993f, -0.000617f, -0.000469f, -0.002508f, 0.000685f, -0.002528f, 0.001317f, -0.004496f, 0.004465f, -0.000019f, -0.001797f, -0.000013f, -0.000432f, 0.000236f, -0.001657f, -0.003492f, 0.004967f, -0.000575f, 0.000778f, -0.005557f, -0.004658f, -0.001188f, 0.004765f, -0.000462f, -0.000574f, 0.000520f, -0.000618f, 0.009950f, -0.020707f, -0.012427f, 0.008268f, -0.004872f, -0.019341f, 0.009831f, -0.010110f, -0.008866f, 0.012514f, -0.003808f, -0.004114f, -0.003118f, 0.003244f, 0.009233f, 0.004825f, 0.004959f, 0.005140f, -0.007724f, -0.004586f, -0.001625f, 0.011276f, 0.005778f, -0.019767f, 0.006283f, 0.006192f, -0.008317f, 0.018638f, 0.017062f, 0.009213f, 0.000643f, + -0.006740f, -0.004400f, 0.001023f, -0.005824f, -0.006938f, -0.011482f, 0.001689f, -0.013108f, 0.009525f, 0.003634f, 0.000140f, 0.002054f, 0.005038f, 0.004321f, 0.010195f, 0.015855f, -0.005992f, -0.025163f, -0.004360f, -0.017142f, 0.005926f, 0.002356f, -0.022743f, 0.008246f, -0.009534f, 0.028576f, 0.009513f, -0.018022f, -0.000594f, 0.018177f, 0.009507f, -0.014924f, -0.008858f, 0.019017f, 0.010951f, -0.013225f, 0.016278f, -0.013573f, -0.017863f, 0.002757f, -0.027058f, 0.016334f, 0.017606f, -0.004044f, -0.016278f, -0.002934f, 0.006431f, 0.003305f, 0.002755f, 0.001633f, 0.012626f, -0.017717f, 0.005725f, 0.019715f, 0.000356f, 0.000673f, -0.017350f, 0.008639f, 0.004880f, -0.016050f, -0.003977f, -0.008107f, -0.003811f, 0.000625f, 0.005045f, 0.004009f, 0.000596f, -0.004837f, 0.000519f, -0.005183f, 0.002172f, 0.003072f, -0.000631f, -0.002513f, -0.001699f, 0.003151f, 0.001033f, -0.001025f, -0.002677f, -0.005177f, -0.000558f, -0.005055f, 0.010097f, -0.009447f, 0.000006f, -0.001013f, 0.003893f, 0.002590f, -0.005401f, 0.001643f, -0.001649f, 0.008546f, -0.001040f, 0.002405f, 0.000291f, -0.004938f, + 0.002050f, 0.001022f, -0.000582f, 0.005523f, -0.000087f, -0.016212f, -0.012025f, 0.000418f, -0.019531f, 0.000093f, -0.045886f, -0.014399f, -0.005294f, -0.025023f, -0.008797f, -0.005209f, -0.011008f, -0.008454f, 0.005965f, -0.012038f, -0.022951f, 0.006151f, 0.014380f, -0.023382f, -0.006489f, 0.007267f, 0.011750f, 0.020257f, 0.012893f, 0.011953f, 0.013052f, 0.004772f, 0.023140f, -0.013721f, -0.005898f, 0.004953f, -0.011455f, 0.004412f, 0.006560f, 0.012172f, 0.001595f, 0.019869f, 0.004166f, 0.004942f, 0.013685f, -0.005986f, -0.011723f, 0.000270f, -0.017975f, -0.011439f, -0.020747f, -0.000807f, -0.000943f, -0.027226f, 0.009854f, -0.012300f, 0.005600f, -0.025710f, 0.003102f, -0.019441f, 0.029124f, 0.001529f, -0.025923f, 0.031199f, 0.038156f, 0.010775f, -0.012759f, -0.009404f, 0.009921f, -0.003254f, -0.001233f, 0.011335f, -0.018184f, 0.011934f, -0.018779f, 0.010028f, -0.007469f, -0.010529f, 0.004515f, 0.010073f, -0.005405f, -0.000510f, 0.011773f, 0.003146f, -0.005763f, 0.006676f, -0.002870f, -0.010695f, 0.001447f, 0.010123f, -0.001899f, -0.003905f, 0.004030f, 0.002993f, 0.008227f, 0.001709f, + 0.000317f, 0.003600f, -0.002710f, 0.005782f, 0.001483f, 0.004802f, 0.001677f, 0.003830f, 0.003081f, 0.003138f, 0.002510f, -0.003433f, 0.003990f, -0.004643f, -0.004330f, 0.000501f, 0.002637f, 0.000923f, 0.001347f, 0.002908f, 0.001925f, 0.000294f, -0.001475f, -0.003472f, 0.000098f, -0.003654f, 0.010009f, -0.004867f, 0.009028f, 0.013631f, 0.001841f, 0.012591f, -0.007184f, 0.019599f, -0.015275f, -0.013948f, -0.037221f, -0.008099f, -0.019373f, -0.045092f, 0.011198f, -0.025946f, -0.015991f, -0.020895f, 0.005621f, -0.040612f, 0.010745f, 0.003446f, -0.007979f, -0.000791f, -0.011873f, -0.004027f, 0.009612f, -0.013773f, -0.010055f, 0.000643f, 0.007289f, -0.012038f, -0.001101f, 0.014032f, -0.022515f, -0.005074f, 0.012886f, -0.012314f, -0.000919f, 0.000211f, -0.003697f, 0.018989f, -0.016685f, 0.011314f, -0.007679f, 0.015461f, 0.016054f, -0.016410f, -0.022197f, 0.020710f, -0.002389f, 0.004582f, 0.005230f, 0.001943f, -0.004891f, 0.011701f, -0.006454f, -0.025398f, 0.006490f, 0.005279f, -0.022240f, -0.002380f, -0.008063f, 0.013358f, 0.015996f, 0.008085f, 0.002565f, -0.006270f, -0.015846f, 0.016139f, + 0.009768f, 0.014444f, -0.001145f, -0.022526f, -0.005445f, -0.003325f, -0.010027f, -0.005489f, -0.002792f, 0.006618f, 0.009920f, -0.008649f, -0.007576f, -0.022382f, -0.010818f, 0.004423f, 0.009121f, 0.002592f, -0.002052f, 0.010379f, 0.009556f, 0.005893f, 0.011768f, -0.003572f, 0.009200f, 0.004325f, 0.006251f, 0.001167f, -0.000054f, -0.006106f, -0.004863f, -0.001047f, 0.002882f, -0.001384f, -0.005394f, -0.006516f, -0.000334f, -0.000998f, 0.001277f, -0.004402f, 0.000955f, -0.005267f, 0.001581f, 0.009053f, 0.001933f, -0.005042f, -0.005365f, 0.011498f, 0.006409f, -0.001316f, -0.000768f, -0.014331f, -0.001707f, -0.000072f, -0.012285f, 0.000411f, -0.005020f, -0.003687f, 0.002845f, 0.003903f, 0.000863f, -0.001299f, -0.011248f, 0.055163f, 0.031694f, 0.002220f, -0.017580f, -0.041593f, -0.005185f, 0.019488f, -0.009232f, -0.016744f, -0.031363f, -0.001726f, -0.006849f, 0.001111f, -0.010827f, 0.010127f, -0.000278f, 0.027318f, 0.010688f, -0.011369f, -0.000913f, -0.004848f, 0.001959f, -0.005606f, 0.005533f, 0.016944f, -0.019928f, 0.003863f, -0.012052f, 0.007905f, -0.008617f, -0.014422f, -0.028350f, -0.002254f, + 0.016054f, 0.005447f, -0.003640f, 0.005992f, -0.002205f, 0.015447f, 0.024279f, -0.008482f, -0.005670f, -0.028227f, -0.030745f, 0.008498f, 0.004434f, -0.012928f, -0.011314f, -0.025416f, -0.017600f, 0.010108f, -0.003411f, 0.000074f, 0.001185f, -0.001943f, 0.011517f, 0.006679f, -0.021056f, 0.000904f, -0.019199f, -0.001634f, -0.010408f, -0.005901f, 0.020164f, 0.041821f, 0.068739f, 0.002622f, 0.022039f, -0.020746f, -0.026567f, -0.037151f, -0.002066f, -0.000099f, 0.007432f, 0.007908f, -0.005191f, -0.046969f, 0.019405f, -0.007960f, -0.006593f, 0.002987f, -0.012428f, 0.001449f, -0.006805f, -0.019116f, 0.000138f, -0.007632f, 0.000078f, 0.001944f, 0.000631f, 0.013630f, 0.001872f, 0.001585f, -0.000833f, 0.000599f, -0.000671f, 0.005876f, 0.012717f, 0.003830f, -0.000555f, 0.002781f, 0.011522f, 0.000359f, 0.000047f, 0.004417f, -0.003948f, 0.001488f, -0.010723f, 0.003681f, 0.005465f, -0.009939f, 0.010120f, 0.000666f, 0.000794f, -0.002906f, -0.011207f, -0.003527f, 0.004888f, 0.000108f, -0.001218f, -0.002715f, 0.006724f, -0.001857f, 0.000425f, 0.020132f, 0.033572f, -0.016605f, 0.000068f, 0.006449f, + -0.027372f, 0.000252f, -0.017670f, -0.017131f, 0.025796f, -0.007592f, -0.006469f, -0.013863f, 0.029625f, 0.026027f, -0.000002f, 0.042762f, 0.004817f, 0.013354f, 0.009417f, -0.011924f, -0.013961f, -0.022261f, -0.011718f, 0.005212f, 0.000212f, 0.019162f, 0.001496f, -0.002093f, -0.003487f, 0.013540f, -0.019570f, -0.047834f, -0.016767f, 0.014105f, 0.004426f, -0.003933f, -0.014249f, 0.000847f, -0.023011f, -0.003461f, -0.020964f, -0.001453f, -0.002624f, -0.014777f, 0.014162f, 0.007030f, 0.026899f, -0.022221f, 0.041668f, 0.011182f, -0.008105f, -0.014751f, -0.007571f, 0.006560f, 0.024038f, -0.007402f, 0.013754f, -0.021243f, 0.017165f, -0.019292f, -0.021703f, 0.021398f, -0.031041f, 0.020341f, 0.017097f, 0.033017f, -0.033621f, 0.025547f, -0.003187f, 0.022775f, 0.008900f, -0.035345f, -0.006180f, -0.008312f, 0.009857f, -0.018760f, 0.055636f, -0.002749f, -0.019637f, 0.007879f, 0.025715f, 0.017452f, 0.012047f, 0.013264f, -0.001752f, 0.006312f, -0.002272f, -0.007388f, -0.004689f, 0.001946f, -0.000243f, -0.007331f, 0.002104f, -0.002165f, -0.011281f, -0.002362f, -0.004306f, 0.004729f, 0.005955f, 0.003223f, + -0.001554f, 0.010965f, -0.001780f, 0.006060f, 0.002436f, 0.007752f, 0.002926f, -0.003947f, -0.004885f, 0.001311f, -0.000580f, 0.005336f, -0.002168f, 0.000491f, 0.004553f, -0.002778f, 0.007796f, -0.003708f, -0.004296f, 0.002150f, -0.003220f, 0.008110f, 0.002951f, -0.002413f, 0.004898f, 0.002401f, -0.023262f, -0.031192f, -0.063899f, -0.019615f, -0.037520f, 0.010461f, -0.001708f, -0.012780f, -0.018580f, -0.017686f, -0.015985f, -0.017322f, -0.016969f, 0.001784f, -0.013833f, -0.002489f, -0.030073f, -0.046147f, 0.056546f, -0.017616f, 0.030643f, -0.005853f, 0.007916f, 0.009766f, 0.016522f, 0.010898f, -0.002879f, -0.000923f, -0.024407f, -0.005517f, -0.005803f, -0.016412f, -0.025595f, 0.010005f, -0.002883f, 0.036197f, -0.025053f, 0.000671f, 0.050072f, -0.012061f, -0.041593f, -0.013413f, 0.001658f, -0.018848f, 0.029302f, 0.013471f, -0.016080f, 0.011893f, 0.015747f, -0.009692f, -0.000313f, 0.007921f, 0.019595f, -0.000720f, -0.019282f, -0.018979f, 0.023452f, 0.016772f, -0.012307f, -0.026705f, 0.017062f, 0.019743f, -0.017598f, -0.024027f, 0.016862f, -0.030473f, 0.058355f, 0.012564f, -0.004752f, 0.002393f, + 0.014286f, 0.003235f, -0.010256f, 0.000961f, 0.004210f, 0.020968f, -0.013729f, 0.004212f, -0.041437f, -0.037322f, -0.004155f, 0.002248f, -0.004054f, -0.018104f, 0.013216f, 0.030856f, -0.000838f, 0.007925f, -0.002871f, 0.006613f, 0.009351f, 0.011149f, -0.011892f, 0.013401f, -0.006149f, -0.003529f, 0.008895f, 0.016495f, -0.004826f, -0.016497f, 0.004750f, -0.001494f, 0.002799f, -0.001472f, -0.008820f, -0.002429f, -0.009115f, -0.005642f, -0.011259f, 0.011680f, 0.011970f, -0.007108f, 0.000039f, 0.014368f, 0.004602f, -0.006022f, 0.003061f, 0.017995f, 0.011866f, 0.012994f, 0.013110f, 0.011581f, 0.004354f, 0.016510f, 0.008758f, 0.006919f, 0.006188f, 0.015545f, -0.024191f, 0.000216f, 0.008767f, 0.007016f, -0.015877f, 0.038169f, 0.026678f, 0.054871f, 0.030104f, 0.020572f, 0.007834f, -0.047590f, -0.004012f, 0.006759f, -0.028247f, -0.007250f, 0.054018f, 0.004421f, -0.031412f, -0.030644f, 0.027968f, -0.042319f, -0.011102f, 0.002181f, 0.011376f, 0.005217f, -0.008159f, 0.014170f, -0.019266f, 0.000312f, -0.003910f, -0.011767f, -0.002680f, -0.008070f, -0.027830f, 0.015043f, -0.024113f, 0.014536f, + 0.012620f, 0.016869f, 0.003004f, 0.011328f, -0.010059f, 0.045416f, 0.006065f, -0.047341f, -0.041976f, 0.004306f, 0.018893f, 0.037033f, -0.012015f, -0.028225f, -0.012670f, -0.003313f, 0.004182f, 0.021978f, 0.004735f, -0.016427f, 0.049552f, -0.060136f, -0.010024f, 0.012027f, -0.042120f, -0.021306f, -0.011013f, 0.006805f, -0.068281f, -0.031803f, 0.049081f, -0.017971f, 0.014419f, -0.015314f, -0.055086f, -0.020284f, 0.026728f, -0.007530f, 0.010509f, 0.017552f, 0.035081f, -0.015998f, 0.004020f, -0.009784f, 0.022049f, 0.010574f, 0.009610f, 0.002062f, -0.000663f, 0.001246f, 0.019268f, 0.010454f, 0.011501f, -0.002267f, -0.000183f, 0.007747f, -0.012513f, -0.010998f, 0.005362f, 0.022766f, 0.010639f, 0.009291f, -0.021228f, 0.013408f, 0.040623f, 0.000541f, -0.000105f, -0.014722f, 0.011268f, 0.002553f, -0.009015f, -0.011792f, 0.002071f, 0.012719f, 0.014394f, 0.010910f, -0.012064f, 0.009182f, -0.007940f, 0.010327f, -0.015628f, -0.008042f, -0.002787f, -0.007646f, -0.009981f, -0.002358f, -0.025673f, -0.024016f, 0.004599f, -0.000936f, -0.003578f, 0.009724f, 0.000246f, -0.001530f, 0.000807f, 0.010545f, + 0.009289f, 0.003740f, 0.000141f, 0.005194f, 0.005944f, 0.004553f, 0.007133f, -0.001814f, 0.009709f, 0.027133f, -0.011271f, -0.088868f, -0.022226f, 0.004291f, 0.025207f, 0.023457f, 0.022429f, 0.021385f, 0.040251f, 0.070785f, -0.040362f, 0.029261f, -0.009801f, -0.001971f, -0.009945f, -0.059359f, -0.043279f, -0.009032f, -0.002065f, 0.011907f, 0.023602f, 0.029411f, -0.008866f, -0.001696f, -0.014887f, -0.000572f, -0.002154f, -0.001001f, 0.031682f, 0.015910f, 0.011000f, 0.023174f, 0.028921f, -0.050291f, 0.025241f, -0.029523f, -0.035907f, -0.011526f, 0.024286f, 0.006084f, -0.024020f, 0.007446f, 0.003687f, 0.016958f, -0.000986f, -0.048899f, -0.033814f, -0.040676f, -0.039060f, 0.004485f, 0.033667f, -0.006902f, 0.120090f, -0.078780f, -0.058079f, 0.035193f, -0.009761f, -0.024700f, -0.007301f, -0.007302f, 0.002084f, -0.073872f, 0.008499f, -0.006159f, 0.010844f, 0.055081f, -0.003098f, 0.018726f, 0.022420f, 0.025824f, 0.092674f, -0.034946f, 0.116976f, 0.031454f, -0.002300f, 0.014430f, 0.007534f, -0.048570f, -0.041406f, -0.001629f, -0.009484f, 0.005097f, 0.018845f, 0.013404f, -0.007360f, -0.041775f, + -0.032808f, 0.012631f, -0.021829f, 0.013948f, 0.017109f, 0.035376f, 0.036098f, 0.031387f, 0.007204f, 0.010402f, 0.000454f, -0.002422f, 0.024710f, -0.004755f, -0.001134f, 0.006787f, -0.033429f, -0.009000f, 0.015496f, -0.000832f, -0.002493f, 0.021114f, 0.009296f, -0.032831f, 0.023103f, -0.018713f, -0.023971f, -0.014748f, -0.006703f, 0.005415f, 0.011464f, 0.010106f, -0.012271f, 0.014962f, 0.007732f, 0.009348f, 0.005539f, 0.012561f, -0.004382f, 0.007290f, -0.019580f, -0.005102f, -0.010208f, 0.003668f, 0.008407f, -0.052155f, 0.018812f, 0.084141f, 0.002163f, 0.087807f, 0.045986f, -0.005085f, -0.034047f, 0.099020f, 0.014625f, -0.016415f, 0.012590f, -0.022287f, -0.006809f, -0.003168f, -0.006237f, 0.012689f, 0.027422f, 0.019424f, 0.003500f, 0.012896f, -0.019966f, -0.018966f, 0.005879f, -0.005633f, 0.032380f, 0.035447f, 0.022333f, -0.008833f, 0.002148f, -0.042602f, -0.026939f, -0.007728f, -0.029444f, -0.046093f, -0.027622f, 0.022299f, -0.026929f, -0.081465f, -0.037791f, 0.025191f, -0.033004f, -0.023057f, 0.001191f, -0.005770f, 0.038476f, 0.056760f, 0.074326f, -0.039092f, 0.021189f, -0.000315f, + 0.002529f, -0.015731f, -0.049018f, -0.097772f, -0.064421f, 0.034289f, -0.065263f, -0.034031f, 0.018004f, 0.033512f, -0.024048f, 0.037767f, 0.107688f, 0.022932f, 0.021045f, -0.080940f, -0.108721f, -0.023273f, -0.033667f, -0.057799f, -0.016328f, -0.048219f, 0.034963f, 0.020102f, 0.097750f, 0.040554f, -0.010959f, -0.019313f, -0.033503f, 0.023454f, 0.044645f, 0.088700f, 0.062128f, -0.042049f, -0.088787f, -0.043105f, -0.028035f, -0.052316f, -0.009410f, 0.045465f, 0.022024f, 0.056134f, 0.002859f, 0.040064f, 0.016249f, -0.012357f, -0.016158f, -0.018590f, 0.011276f, 0.024716f, 0.006557f, 0.032003f, 0.039788f, 0.024276f, 0.028547f, 0.013453f, 0.042967f, 0.037829f, 0.002144f, -0.000200f, 0.019207f, 0.042650f, -0.003489f, -0.010648f, -0.005647f, 0.036492f, 0.011702f, 0.002336f, -0.009970f, 0.023072f, 0.017941f, -0.004859f, 0.015037f, 0.018421f, 0.009573f, -0.003220f, 0.004704f, 0.013396f, 0.002393f, -0.000698f, -0.020263f, 0.043797f, 0.090123f, -0.048646f, 0.068479f, 0.052982f, -0.008066f, -0.015232f, -0.029669f, 0.007852f, 0.061097f, 0.043405f, 0.071523f, -0.032305f, -0.013424f, -0.015965f, + -0.003843f, -0.020594f, 0.019078f, -0.024960f, 0.052560f, 0.020542f, -0.085079f, -0.038536f, 0.001168f, 0.011227f, 0.037350f, -0.019295f, -0.031956f, 0.007942f, 0.010479f, -0.015431f, -0.015605f, 0.007911f, -0.023955f, -0.038982f, -0.016559f, 0.078880f, 0.033726f, 0.011907f, -0.040575f, -0.014986f, -0.034393f, 0.018514f, 0.039404f, 0.011374f, 0.002888f, 0.021301f, -0.013424f, 0.049636f, 0.029485f, 0.001240f, 0.017349f, -0.003713f, 0.102188f, 0.019227f, -0.043160f, 0.014746f, 0.017855f, 0.008304f, 0.023305f, -0.000514f, -0.041216f, 0.047257f, 0.011032f, 0.006551f, 0.019467f, 0.007062f, 0.000116f, -0.032347f, 0.035306f, 0.038117f, 0.020871f, 0.112954f, 0.081832f, -0.046010f, -0.088522f, -0.063996f, -0.005963f, 0.005785f, -0.008938f, -0.077347f, -0.037289f, -0.028694f, -0.030932f, -0.032882f, 0.028128f, 0.020003f, -0.007834f, 0.002723f, -0.006679f, -0.044215f, 0.012259f, -0.009753f, -0.002253f, -0.045279f, -0.041602f, -0.009467f, 0.017724f, 0.018708f, 0.002597f, 0.020066f, 0.009466f, 0.025822f, 0.004048f, 0.003562f, -0.047257f, -0.030090f, 0.020114f, 0.003480f, -0.013113f, 0.022769f, + 0.010480f, 0.002398f, -0.022793f, 0.019972f, 0.030149f, 0.019225f, 0.021849f, 0.025669f, -0.006219f, 0.028650f, 0.061385f, 0.046441f, 0.010821f, 0.004658f, -0.008021f, -0.012805f, -0.031789f, -0.042066f, 0.010285f, -0.015734f, -0.001002f, 0.002107f, -0.003304f, -0.011360f, -0.005601f, -0.015427f, -0.105254f, -0.012423f, 0.024636f, 0.030354f, -0.025137f, 0.037653f, 0.009929f, -0.013758f, -0.040346f, 0.009654f, -0.010964f, -0.056902f, -0.020012f, -0.019565f, 0.002669f, -0.078729f, -0.064001f, -0.009658f, 0.037543f, -0.004290f, -0.013754f, -0.047238f, -0.000730f, 0.042285f, 0.000258f, -0.027664f, -0.018239f, -0.005184f, -0.017925f, 0.011252f, 0.011995f, -0.039831f, -0.047252f, 0.008105f, -0.003292f, 0.010817f, 0.073397f, -0.044922f, -0.006479f, -0.001881f, -0.074913f, -0.021054f, -0.055264f, -0.007379f, -0.006190f, 0.052847f, 0.056722f, 0.072520f, 0.018828f, 0.013140f, -0.028787f, -0.061549f, 0.000897f, 0.026462f, -0.023330f, 0.088856f, 0.203717f, 0.198248f, 0.027198f, -0.125160f, -0.117447f, -0.044398f, -0.074427f, 0.242965f, 0.148105f, 0.095061f, 0.120675f, -0.000905f, -0.066317f, -0.171295f, + -0.111961f, -0.041712f, -0.010725f, 0.070534f, 0.139007f, 0.126212f, -0.016333f, -0.102321f, -0.064099f, -0.092550f, -0.075080f, 0.014189f, 0.100323f, 0.149476f, 0.056093f, -0.006926f, 0.006920f, -0.055787f, -0.068697f, -0.065816f, 0.022063f, 0.011602f, 0.016171f, 0.060747f, 0.030552f, -0.004888f, -0.039444f, -0.031927f, -0.023057f, -0.051136f, -0.011620f, 0.024325f, -0.020649f, 0.002584f, -0.008292f, 0.037550f, 0.026244f, -0.047373f, -0.031320f, -0.096993f, -0.080111f, -0.068955f, 0.043966f, 0.080875f, 0.029292f, 0.021970f, -0.029807f, -0.049534f, -0.155076f, -0.112574f, -0.069354f, 0.014717f, 0.041920f, 0.028978f, 0.005525f, -0.055060f, -0.048158f, -0.088028f, -0.149559f, -0.056809f, 0.016535f, 0.045318f, 0.075420f, 0.037137f, -0.000749f, -0.039932f, -0.016111f, -0.025751f, 0.001081f, 0.056496f, -0.055323f, 0.063370f, 0.009662f, 0.008849f, -0.099232f, -0.029355f, 0.083387f, -0.055066f, 0.021618f, 0.002206f, -0.021231f, 0.028470f, 0.007889f, 0.047698f, 0.070091f, -0.040051f, -0.058337f, 0.016978f, -0.036256f, 0.047318f, -0.060868f, -0.028802f, -0.039180f, 0.006601f, -0.011974f, -0.031958f, + 0.013616f, 0.070885f, -0.055727f, -0.057299f, -0.045918f, -0.011516f, -0.014821f, 0.094425f, 0.003679f, -0.000377f, -0.092607f, -0.020981f, 0.006519f, 0.079750f, 0.031582f, -0.011279f, -0.132676f, -0.091038f, 0.086587f, 0.099188f, 0.091378f, -0.040252f, -0.220024f, -0.040243f, 0.095518f, 0.084359f, 0.010049f, -0.022388f, 0.011378f, -0.085079f, -0.054934f, 0.032671f, -0.028454f, 0.029880f, -0.018721f, 0.006658f, 0.089578f, -0.065471f, -0.038772f, 0.079603f, 0.057486f, 0.118546f, 0.046163f, -0.150850f, 0.045415f, 0.169633f, 0.032945f, 0.087524f, 0.018375f, -0.043424f, -0.004275f, 0.109219f, 0.069875f, 0.143995f, -0.187731f, 0.028691f, -0.004190f, -0.017489f, 0.070247f, 0.004418f, -0.099077f, 0.011672f, -0.007255f, -0.016570f, 0.011099f, 0.002761f, -0.061886f, 0.054609f, -0.027424f, 0.001770f, -0.000561f, -0.010716f, -0.000638f, 0.010971f, -0.019561f, -0.018095f, -0.035324f, -0.043721f, 0.042906f, 0.001002f, 0.013652f, 0.042715f, -0.048327f, 0.024767f, -0.005119f, -0.078287f, -0.003153f, 0.028767f, 0.084578f, -0.019894f, -0.126003f, -0.011080f, 0.054844f, 0.019058f, 0.048019f, -0.037056f, + -0.037786f, -0.041107f, 0.016869f, -0.004382f, 0.027818f, -0.043546f, 0.019696f, 0.015532f, 0.010373f, -0.048684f, 0.001568f, 0.014891f, 0.033158f, -0.010969f, 0.003935f, -0.027924f, 0.007786f, -0.014965f, 0.027692f, -0.001611f, 0.021277f, -0.003739f, 0.006313f, -0.031230f, 0.000971f, 0.000151f, 0.033409f, -0.016662f, 0.010746f, -0.033755f, 0.001822f, -0.000838f, 0.027570f, -0.006003f, 0.011046f, -0.108562f, 0.012273f, 0.019410f, 0.010354f, 0.107027f, 0.018035f, -0.008038f, -0.068326f, -0.011686f, -0.006718f, -0.016014f, -0.000677f, -0.012936f, 0.027389f, 0.012778f, -0.020140f, -0.003454f, 0.042506f, 0.000131f, -0.002388f, 0.004515f, -0.010637f, -0.018243f, 0.023854f, 0.021088f, 0.016010f, -0.026573f, 0.013974f, 0.039764f, 0.015598f, -0.002282f, 0.025653f, -0.004667f, -0.030430f, 0.008051f, 0.007719f, -0.024512f, -0.026640f, 0.026547f, 0.025853f, -0.025513f, 0.016359f, 0.015793f, -0.000218f, -0.009291f, 0.000198f, 0.020185f, -0.001107f, -0.022536f, 0.011740f, 0.013754f, -0.041857f, 0.010711f, 0.030970f, 0.010132f, -0.027209f, 0.004245f, 0.019228f, -0.035262f, 0.009595f, 0.016531f, + 0.006993f, -0.009169f, -0.033609f, 0.039585f, -0.042827f, -0.003780f, 0.041249f, 0.000674f, -0.007091f, 0.000913f, -0.038729f, 0.017155f, -0.000550f, 0.022138f, 0.041024f, -0.018551f, -0.002928f, -0.023695f, 0.031383f, -0.006568f, -0.003480f, 0.032154f, -0.041959f, -0.018460f, 0.023337f, 0.019023f, 0.008374f, -0.034136f, 0.011831f, -0.007501f, -0.002115f, 0.016373f, 0.012476f, 0.002346f, -0.008660f, -0.004370f, 0.001618f, 0.009265f, -0.029768f, 0.021715f, 0.004466f, -0.004141f, 0.008450f, -0.003906f, 0.018892f, -0.028034f, -0.005041f, 0.000580f, 0.001691f, 0.002799f, 0.013018f, 0.008592f, -0.047570f, 0.025181f, -0.005041f, -0.005534f, -0.001935f, 0.009691f, 0.013069f, -0.011797f, -0.004713f, 0.022156f, -0.018901f, -0.002430f, -0.014445f, 0.010537f, 0.100361f, 0.008741f, -0.012192f, -0.033606f, -0.022249f, 0.011687f, -0.014908f, 0.012868f, -0.019915f, -0.001661f, 0.015929f, -0.009068f, 0.007503f, 0.007240f, -0.027781f, 0.007595f, -0.009085f, -0.006145f, -0.022899f, 0.006373f, -0.006477f, -0.014552f, -0.006730f, 0.010972f, -0.009998f, -0.010012f, 0.014142f, -0.015819f, 0.007949f, 0.013332f, + -0.027867f, 0.027345f, -0.006964f, -0.032899f, 0.017378f, 0.017173f, -0.015303f, 0.005182f, 0.009896f, -0.013982f, -0.012427f, -0.000057f, 0.001820f, 0.008784f, -0.004540f, -0.001836f, -0.013825f, 0.012494f, -0.010842f, -0.003652f, 0.015828f, -0.019337f, 0.005483f, -0.003651f, 0.000001f, -0.009205f, -0.012422f, -0.005223f, 0.021519f, -0.014944f, -0.005682f, 0.003293f, 0.004520f, 0.000422f, -0.013146f, 0.009753f, -0.005934f, -0.011496f, -0.000399f, -0.020906f, 0.030173f, -0.013582f, 0.006046f, 0.006459f, -0.006312f, 0.010268f, -0.018088f, -0.014906f, 0.018324f, -0.009281f, -0.012583f, 0.012104f, -0.000927f, 0.003203f, -0.008428f, 0.001953f, -0.001951f, 0.005396f, -0.006752f, -0.005445f, 0.006867f, -0.004309f, -0.004959f, -0.001560f, 0.004285f, -0.003133f, -0.000531f, -0.002597f, 0.001044f, 0.003930f, -0.006032f, -0.006216f, 0.017192f, -0.005379f, -0.006342f, 0.005148f, -0.002131f, 0.004763f, -0.014050f, 0.000650f, -0.002462f, -0.000715f, -0.003837f, 0.015960f, 0.000060f, -0.014590f, 0.004528f, 0.001285f, -0.000775f, -0.000177f, 0.006161f, -0.004384f, -0.004277f, -0.002121f, -0.003876f, -0.002172f, + 0.001624f, -0.004788f, -0.000278f, 0.001026f, -0.000794f, -0.050151f, -0.081087f, 0.036896f, 0.281194f, 0.042748f, 0.140623f, -0.033238f, -0.142472f, -0.052164f, -0.138840f, -0.091887f, -0.028810f, -0.015585f, 0.006885f, 0.082357f, 0.099606f, 0.137648f, 0.137239f, 0.043244f, -0.053885f, -0.087924f, -0.160540f, -0.123466f, -0.064535f, -0.025520f, -0.016173f, 0.049370f, 0.083604f, 0.064112f, 0.088075f, 0.084811f, 0.031639f, 0.027302f, 0.010688f, -0.062555f, -0.022854f, -0.053824f, -0.092398f, -0.056305f, -0.053860f, -0.080621f, -0.016821f, 0.037272f, 0.028824f, 0.081684f, 0.107701f, 0.055644f, 0.071838f, 0.053574f, -0.007275f, -0.002613f, -0.004752f, -0.058042f, -0.070870f, -0.063723f, -0.095291f, -0.081682f, -0.028498f, -0.005044f, 0.011850f, 0.066060f, 0.061335f, 0.058578f, 0.074406f, 0.055085f, 0.019317f, 0.034720f, 0.019474f, -0.021823f, -0.009985f, -0.040127f, -0.083616f, -0.050714f, -0.047315f, -0.066334f, -0.031545f, -0.021423f, -0.036857f, 0.031179f, 0.059733f, 0.068386f, 0.109769f, 0.102908f, 0.043844f, 0.025375f, -0.001131f, -0.037617f, -0.044070f, -0.046001f, -0.066341f, -0.061260f, + -0.055739f, -0.051606f, -0.031798f, -0.012973f, 0.000214f, 0.024809f, 0.058980f, 0.072908f, 0.068320f, 0.081844f, 0.057146f, 0.027345f, 0.011955f, -0.009722f, -0.041777f, -0.047743f, -0.065973f, -0.086689f, -0.086880f, -0.069472f, -0.057552f, -0.008989f, 0.034942f, 0.077247f, 0.104107f, 0.112153f, 0.087089f, 0.056360f, 0.025384f, -0.006919f, -0.043144f, -0.063857f, -0.085764f, -0.085611f, -0.060845f, -0.040283f, -0.011883f, 0.015387f, 0.031202f, 0.040782f, 0.051505f, 0.044039f, 0.027917f, 0.023229f, 0.008651f, -0.000623f, -0.007794f, -0.010616f, -0.013369f, -0.013457f, -0.018976f, -0.015799f, -0.012009f, -0.010274f, -0.009892f, -0.006704f, -0.006150f, -0.001282f, 0.003663f, 0.010681f, 0.013053f, 0.017292f, 0.018607f, 0.019345f, 0.012277f, 0.007376f, 0.001587f, -0.002187f, -0.010846f, -0.014943f, -0.019704f, -0.019087f, -0.016318f, -0.009805f, -0.006535f, -0.001216f, 0.001943f, 0.009581f, 0.013512f, 0.016951f, 0.013712f, 0.013395f, 0.009261f, 0.006125f, 0.001351f, -0.000444f, -0.006022f, -0.008695f, -0.012895f, -0.013712f, -0.014719f, -0.010152f, -0.006896f, -0.000337f, 0.002276f, 0.007417f, + 0.009333f, 0.011705f, 0.008897f, 0.009468f, 0.006602f, 0.005455f, 0.000919f, -0.001375f, -0.005363f, -0.005774f, -0.008269f, -0.007167f, -0.007951f, -0.005727f, -0.005085f, -0.001029f, 0.000244f, 0.004261f, 0.005145f, 0.007837f, 0.006468f, 0.006925f, 0.003218f, 0.002095f, -0.000906f, -0.000508f, -0.002811f, -0.002474f, -0.004799f, -0.003771f, -0.004898f, -0.002841f, -0.003031f, 0.000012f, 0.000335f, 0.003082f, 0.002391f, 0.003705f, 0.001942f, 0.002865f, 0.000772f, 0.001490f, -0.000634f, 0.000260f, -0.001401f, -0.000172f, -0.001646f, -0.000136f, -0.001373f, 0.000248f, -0.001004f, 0.000547f, -0.000734f}, + {-0.002129f, 0.011495f, -0.006462f, 0.001925f, -0.009605f, 0.002687f, 0.001075f, 0.014648f, -0.008780f, 0.000026f, -0.004623f, 0.007338f, 0.007488f, -0.004787f, -0.000920f, -0.004116f, -0.002368f, -0.004812f, -0.005993f, 0.004405f, 0.001431f, -0.003922f, 0.008164f, 0.007435f, 0.012712f, -0.000388f, 0.004805f, 0.002518f, -0.000229f, -0.011512f, 0.002974f, 0.004774f, -0.004557f, 0.002861f, -0.003365f, -0.003915f, -0.006330f, 0.003260f, 0.008103f, 0.000823f, 0.009457f, -0.003886f, -0.000829f, 0.009541f, 0.004979f, 0.000755f, -0.000141f, 0.009060f, 0.013614f, -0.010159f, 0.002248f, -0.003521f, -0.001597f, -0.015805f, -0.005629f, 0.006362f, -0.004930f, 0.004402f, 0.002016f, -0.002339f, -0.003858f, 0.002214f, -0.001340f, 0.004902f, 0.002641f, 0.002272f, 0.002491f, -0.008219f, 0.000280f, -0.003964f, 0.005011f, 0.008337f, 0.005833f, -0.001216f, 0.009026f, 0.000034f, 0.003810f, -0.001227f, -0.002046f, 0.000457f, 0.004509f, 0.005208f, -0.001746f, -0.003602f, -0.007413f, -0.000982f, -0.003291f, -0.003522f, -0.002005f, -0.003002f, -0.002164f, -0.003531f, -0.001874f, -0.000119f, -0.000088f, 0.000048f, + 0.002868f, -0.002048f, 0.001479f, -0.000762f, -0.001460f, 0.000044f, 0.001287f, 0.000452f, 0.001015f, -0.000037f, -0.001025f, -0.000020f, 0.001312f, 0.000412f, -0.002056f, -0.001597f, -0.000130f, -0.000022f, 0.000759f, 0.000735f, 0.000056f, 0.001630f, -0.002072f, 0.006954f, -0.008499f, -0.008661f, 0.000220f, -0.011704f, 0.002057f, -0.003608f, 0.005630f, -0.003054f, -0.009484f, 0.001178f, 0.009077f, -0.001293f, 0.000205f, 0.012904f, 0.015968f, -0.006827f, -0.007490f, -0.001985f, -0.012065f, 0.005219f, 0.000980f, 0.003092f, -0.004315f, 0.006494f, -0.008441f, -0.001405f, 0.005592f, -0.004575f, -0.001821f, 0.000987f, 0.010249f, 0.000779f, 0.007385f, -0.009768f, 0.009596f, -0.000946f, 0.001292f, 0.006398f, -0.005535f, 0.005357f, -0.002574f, -0.002396f, 0.004405f, 0.006073f, -0.001122f, 0.003522f, -0.013218f, 0.008039f, 0.007580f, -0.013778f, -0.012341f, -0.003340f, -0.010254f, -0.002728f, 0.003755f, 0.002638f, 0.003581f, 0.000328f, -0.003493f, 0.008664f, -0.002976f, 0.000429f, -0.003530f, 0.002130f, -0.005289f, 0.007390f, 0.001671f, -0.005481f, -0.003242f, -0.002100f, -0.003357f, -0.002754f, + 0.007254f, 0.009769f, -0.000572f, -0.001850f, 0.000263f, 0.003209f, -0.002120f, 0.006862f, 0.003717f, -0.002637f, -0.000630f, -0.001602f, 0.002818f, -0.002706f, -0.000192f, -0.000625f, 0.000334f, 0.001190f, -0.000279f, -0.000708f, 0.001717f, -0.001293f, -0.000583f, 0.000503f, 0.001108f, 0.000220f, -0.002560f, -0.001565f, 0.000360f, -0.001488f, -0.001464f, 0.001744f, -0.000970f, -0.002866f, -0.002039f, -0.002280f, -0.000752f, 0.000510f, 0.002766f, 0.020638f, 0.003978f, -0.007669f, 0.009613f, 0.001194f, -0.006472f, 0.018853f, -0.012633f, -0.018168f, -0.010599f, -0.011023f, -0.003667f, 0.005349f, 0.006660f, -0.006290f, 0.009570f, -0.011974f, -0.006479f, -0.001462f, 0.004006f, 0.002969f, -0.003599f, -0.004712f, 0.010707f, 0.002042f, -0.000680f, -0.005988f, 0.008008f, -0.005830f, -0.001297f, -0.000020f, -0.000623f, -0.000842f, 0.003152f, 0.001651f, -0.001588f, 0.006642f, -0.003078f, 0.004050f, -0.000228f, -0.010842f, -0.004195f, -0.004330f, 0.011590f, -0.006389f, -0.007710f, -0.014075f, -0.016388f, -0.003002f, 0.000903f, -0.006563f, 0.012552f, 0.001694f, 0.006774f, -0.005034f, 0.010877f, 0.004620f, + -0.006194f, 0.017437f, -0.007822f, -0.008424f, 0.001424f, 0.010937f, 0.016089f, 0.011355f, 0.003833f, -0.005560f, -0.012521f, 0.005039f, -0.000072f, 0.012440f, 0.005078f, -0.003527f, -0.000344f, 0.006357f, 0.005175f, 0.000118f, -0.001097f, 0.000548f, -0.002389f, -0.005203f, -0.000402f, 0.001676f, 0.001392f, 0.004553f, -0.000063f, 0.002774f, -0.000860f, 0.002198f, -0.000450f, 0.000448f, -0.000363f, -0.003024f, 0.000393f, -0.000520f, -0.003818f, 0.003193f, -0.000615f, 0.001973f, -0.000955f, -0.002067f, 0.000406f, 0.000420f, -0.000037f, -0.001334f, 0.001573f, 0.000632f, -0.000916f, -0.000268f, -0.002898f, 0.000443f, -0.001579f, 0.001576f, -0.000440f, 0.003321f, -0.000056f, -0.001625f, -0.001325f, -0.019668f, 0.003185f, -0.007218f, 0.004665f, 0.001199f, 0.014183f, -0.018196f, -0.010196f, -0.013380f, 0.007245f, 0.005813f, 0.008671f, -0.009570f, 0.003395f, -0.002904f, 0.001341f, -0.014852f, -0.012457f, -0.009326f, -0.009016f, 0.014831f, -0.005870f, -0.001873f, -0.000131f, 0.005004f, -0.002236f, -0.015769f, 0.006757f, -0.006317f, -0.001909f, 0.007189f, 0.005598f, 0.008264f, 0.000682f, 0.004388f, + -0.010851f, -0.004614f, 0.010007f, 0.016312f, 0.009757f, -0.000776f, -0.012360f, 0.008856f, -0.003882f, -0.010865f, 0.015076f, 0.004373f, 0.005287f, -0.009241f, -0.005200f, 0.005067f, -0.003221f, -0.005168f, 0.008032f, -0.006258f, 0.002899f, 0.000343f, -0.010242f, -0.002255f, -0.006722f, 0.010882f, 0.005729f, -0.001561f, 0.002030f, -0.005069f, 0.006640f, 0.001043f, -0.000018f, 0.001882f, -0.012282f, -0.006527f, 0.007199f, 0.003353f, -0.001859f, -0.001643f, -0.008680f, 0.014483f, 0.018146f, 0.009890f, -0.008062f, 0.007335f, 0.001449f, 0.006256f, -0.002560f, 0.005138f, -0.003769f, 0.003315f, 0.006749f, 0.003508f, 0.003334f, 0.002354f, 0.000314f, -0.002242f, -0.000551f, 0.006407f, 0.000525f, 0.000397f, -0.002228f, -0.000492f, 0.001542f, 0.003842f, -0.000290f, 0.004520f, 0.000942f, 0.000088f, 0.000028f, 0.003664f, 0.004738f, -0.002012f, -0.000668f, -0.000539f, 0.000909f, 0.003217f, 0.000018f, 0.000848f, 0.000450f, 0.000750f, -0.001421f, 0.005421f, -0.029524f, 0.009853f, 0.001490f, 0.007346f, 0.007941f, -0.005761f, -0.020886f, 0.016089f, 0.006822f, 0.015830f, -0.002925f, 0.008391f, + -0.000180f, -0.005700f, -0.000408f, -0.014760f, 0.018036f, 0.004117f, 0.001691f, -0.009300f, -0.005360f, -0.006302f, 0.005371f, -0.008297f, 0.013803f, 0.000597f, 0.004734f, 0.007693f, 0.004230f, -0.000900f, 0.004436f, 0.004252f, -0.003262f, 0.003576f, -0.015407f, 0.003982f, 0.006975f, 0.007156f, 0.013771f, 0.004777f, -0.009258f, 0.004603f, -0.004686f, 0.009370f, 0.001780f, 0.006811f, 0.010469f, 0.001700f, -0.002344f, 0.008214f, -0.005713f, -0.008976f, -0.003355f, 0.005720f, 0.014518f, -0.003481f, 0.000869f, 0.000232f, 0.001692f, 0.002831f, 0.006051f, 0.002043f, -0.003884f, -0.000718f, -0.005222f, 0.003720f, 0.001153f, -0.009265f, -0.008185f, 0.003209f, 0.005066f, 0.005105f, 0.009089f, -0.014133f, -0.007649f, -0.010313f, 0.012025f, -0.005370f, -0.007571f, 0.003880f, -0.006986f, -0.010087f, -0.003702f, 0.000241f, 0.010686f, -0.003844f, 0.003405f, -0.004325f, -0.002589f, -0.000668f, 0.003200f, 0.001381f, -0.002028f, -0.001677f, 0.001983f, 0.005299f, 0.001728f, 0.003036f, -0.001568f, -0.001061f, 0.003539f, -0.000190f, 0.000160f, 0.001315f, -0.002618f, 0.004726f, -0.001584f, -0.000380f, + -0.002330f, -0.006136f, -0.001044f, -0.001390f, -0.000553f, -0.000117f, -0.002394f, 0.000191f, 0.005347f, -0.001411f, -0.000637f, -0.001090f, -0.002132f, 0.007126f, 0.030134f, 0.015748f, 0.014399f, 0.020608f, 0.005807f, 0.003634f, -0.012546f, -0.000576f, -0.023598f, -0.004440f, 0.009204f, 0.006407f, 0.004376f, 0.005333f, 0.006693f, -0.005291f, -0.003320f, 0.013454f, 0.012434f, 0.010370f, -0.000644f, 0.001312f, -0.016811f, -0.014862f, -0.005410f, 0.010571f, 0.003629f, -0.002398f, 0.005987f, -0.010053f, 0.001089f, -0.005270f, 0.011967f, 0.009107f, 0.020901f, -0.002232f, 0.007980f, 0.006348f, -0.003186f, -0.011056f, 0.019672f, -0.011526f, -0.002424f, 0.008662f, 0.000575f, 0.004847f, 0.014223f, -0.004674f, 0.005399f, -0.013789f, -0.028940f, -0.016316f, -0.009503f, -0.004089f, 0.001498f, -0.001345f, -0.007352f, -0.015821f, -0.003110f, -0.011413f, 0.003597f, -0.000446f, 0.001534f, -0.017821f, -0.007880f, 0.011243f, 0.004096f, -0.000877f, -0.019401f, -0.017880f, 0.010675f, 0.001701f, 0.006556f, -0.013154f, -0.010197f, 0.000502f, -0.005132f, -0.011252f, -0.007715f, 0.006016f, -0.002254f, 0.002665f, + 0.000963f, 0.007570f, 0.005836f, 0.002468f, -0.003807f, 0.001902f, -0.000563f, -0.004908f, -0.004505f, 0.004269f, -0.001770f, 0.001122f, -0.002863f, -0.004747f, -0.000652f, -0.000566f, 0.004178f, -0.000651f, -0.003792f, 0.000862f, 0.001652f, 0.004262f, 0.001015f, 0.000874f, -0.001751f, 0.005385f, -0.001984f, 0.006158f, -0.003369f, 0.004515f, -0.004034f, 0.000526f, 0.002611f, 0.000016f, -0.000166f, 0.000819f, -0.000994f, -0.001612f, -0.015207f, 0.011516f, -0.006785f, -0.000522f, -0.039515f, -0.009285f, -0.014633f, -0.009616f, 0.001566f, 0.013068f, -0.002634f, 0.017267f, 0.009088f, -0.000986f, -0.017015f, -0.006998f, 0.025226f, 0.004256f, -0.015160f, -0.011023f, -0.005031f, 0.011874f, -0.009272f, 0.000170f, 0.008110f, 0.012914f, 0.014505f, -0.015918f, 0.010692f, 0.001478f, 0.002998f, 0.004579f, 0.005855f, 0.005151f, 0.014542f, 0.000424f, 0.004387f, -0.012756f, 0.017831f, -0.008959f, -0.004249f, 0.003022f, -0.014876f, 0.018369f, -0.002947f, -0.035854f, -0.011901f, -0.028786f, 0.001719f, -0.000407f, -0.008745f, 0.039068f, -0.006874f, -0.019329f, -0.006603f, -0.004748f, 0.017906f, -0.002453f, + 0.008520f, 0.010529f, -0.007370f, 0.013407f, 0.018456f, -0.009397f, 0.007001f, -0.016442f, 0.007978f, -0.005896f, -0.004689f, 0.018993f, -0.006995f, -0.001818f, -0.008486f, 0.000503f, 0.000282f, 0.007244f, 0.010684f, 0.011364f, -0.003071f, -0.003226f, 0.000408f, 0.014718f, 0.006942f, 0.007650f, 0.000255f, -0.012024f, 0.004790f, -0.005841f, -0.006579f, -0.003597f, -0.000158f, -0.000340f, 0.000745f, 0.002669f, 0.002771f, -0.000710f, 0.007964f, 0.001292f, 0.003463f, 0.001388f, 0.001550f, -0.002242f, 0.002089f, 0.000805f, -0.002395f, -0.003508f, -0.002303f, -0.006030f, -0.004738f, 0.004144f, 0.003319f, -0.005107f, 0.001369f, -0.000285f, 0.001415f, 0.005752f, 0.001208f, -0.002262f, 0.000614f, 0.001847f, 0.000118f, -0.004669f, 0.002056f, 0.017879f, -0.024995f, 0.004936f, 0.005183f, -0.008008f, 0.003421f, 0.018807f, 0.020294f, 0.007427f, 0.007289f, 0.009569f, -0.015615f, -0.002814f, -0.016679f, -0.000445f, 0.010723f, 0.006665f, -0.003484f, -0.013331f, -0.004252f, 0.008834f, -0.017305f, 0.000480f, -0.001210f, 0.007886f, 0.016535f, 0.001445f, -0.008877f, -0.006903f, 0.017685f, -0.011480f, + -0.005465f, 0.010038f, -0.006313f, -0.021018f, -0.007555f, 0.004615f, 0.003543f, -0.008492f, 0.001962f, 0.010734f, 0.007513f, 0.010344f, -0.001230f, 0.007759f, 0.015015f, -0.006775f, 0.007479f, 0.006297f, -0.010272f, 0.022114f, -0.021418f, 0.012601f, 0.005613f, -0.029931f, 0.028476f, -0.018603f, 0.004036f, -0.003467f, 0.022718f, -0.009829f, -0.016130f, -0.003613f, 0.000125f, 0.003936f, 0.017443f, -0.015034f, -0.000751f, 0.000866f, 0.000998f, -0.002869f, 0.005144f, -0.012274f, -0.001800f, -0.008815f, -0.016104f, -0.018018f, 0.009564f, 0.007564f, 0.007387f, -0.000043f, 0.011236f, -0.005418f, -0.013071f, 0.003167f, -0.023119f, -0.019469f, -0.003669f, 0.005411f, -0.000249f, -0.003794f, -0.003035f, 0.002530f, -0.012690f, -0.004452f, -0.002722f, -0.002292f, 0.005800f, -0.000849f, 0.000900f, 0.000239f, -0.004222f, 0.001837f, -0.004740f, 0.000109f, 0.002141f, -0.005301f, -0.001163f, 0.004036f, -0.003427f, -0.000224f, -0.002435f, -0.000445f, 0.001486f, -0.000101f, -0.007033f, -0.001348f, -0.000201f, -0.000602f, -0.001309f, -0.004499f, -0.007251f, -0.001975f, -0.000569f, -0.001254f, 0.005660f, 0.004025f, + 0.000656f, -0.001596f, -0.020251f, 0.016113f, -0.046036f, 0.025330f, -0.018499f, -0.012232f, -0.022657f, 0.002737f, -0.002980f, 0.004152f, 0.015672f, -0.013206f, -0.005459f, 0.012934f, 0.011327f, -0.003631f, 0.004223f, -0.005981f, -0.021259f, -0.001841f, 0.004976f, -0.010596f, 0.016608f, 0.002983f, -0.002274f, -0.009924f, -0.010188f, 0.002410f, 0.025754f, 0.001184f, -0.003961f, 0.007216f, -0.022822f, -0.003821f, 0.007930f, -0.015200f, 0.021593f, 0.013962f, -0.001083f, -0.006655f, -0.007632f, -0.008395f, -0.015270f, -0.018464f, 0.015263f, 0.001191f, 0.027344f, 0.002545f, -0.001726f, -0.012389f, 0.002008f, -0.004837f, 0.005918f, -0.000356f, -0.017704f, -0.013593f, -0.018034f, -0.029872f, -0.004449f, 0.026385f, -0.025489f, -0.001525f, -0.026676f, 0.004240f, 0.007155f, 0.006163f, 0.018559f, -0.002047f, -0.027412f, 0.019500f, -0.002161f, -0.013110f, -0.011224f, -0.023428f, -0.008303f, -0.017809f, 0.009506f, -0.027360f, -0.004835f, 0.010788f, -0.000478f, 0.002109f, 0.012831f, 0.006696f, 0.015465f, 0.000088f, -0.008776f, -0.003338f, -0.006096f, -0.000267f, 0.005546f, -0.001581f, 0.000758f, 0.000821f, + 0.000372f, -0.004548f, -0.006923f, 0.004227f, -0.004924f, 0.002058f, 0.000592f, -0.000933f, 0.001838f, 0.000719f, 0.000631f, 0.009469f, 0.001469f, -0.000542f, 0.001563f, 0.003003f, 0.001861f, -0.004747f, -0.000949f, -0.010006f, 0.003536f, 0.005190f, 0.007623f, 0.002824f, 0.002485f, -0.000156f, -0.005283f, 0.003046f, -0.000433f, 0.019658f, -0.007197f, 0.017478f, -0.017060f, -0.009043f, 0.011945f, 0.003832f, -0.023026f, 0.001492f, 0.029936f, -0.034493f, 0.002027f, 0.016114f, 0.038758f, -0.016576f, -0.009873f, -0.004249f, 0.030007f, 0.029472f, -0.031171f, -0.001467f, -0.023952f, -0.011465f, 0.015572f, 0.015675f, 0.020513f, 0.011653f, -0.004097f, 0.014428f, -0.017878f, -0.009636f, -0.001818f, -0.002755f, -0.025871f, 0.002278f, -0.000623f, 0.034175f, -0.005321f, 0.016837f, 0.004030f, 0.009976f, 0.022850f, -0.013869f, -0.006223f, -0.033779f, 0.023212f, -0.029773f, -0.005343f, 0.006821f, -0.004082f, -0.017204f, -0.004380f, 0.004866f, -0.012294f, 0.003333f, -0.002069f, -0.002623f, -0.038025f, -0.026901f, 0.001799f, -0.019511f, -0.026730f, 0.004893f, -0.024723f, 0.007823f, 0.015940f, -0.014491f, + 0.027439f, 0.005757f, 0.017571f, 0.018935f, 0.004761f, -0.014091f, -0.016788f, -0.020779f, 0.010551f, -0.021561f, 0.012835f, 0.015542f, 0.021349f, 0.003767f, -0.015426f, -0.009853f, 0.000292f, 0.002052f, -0.028637f, -0.000729f, -0.018600f, -0.003168f, -0.005373f, 0.001121f, -0.013668f, 0.001744f, -0.003255f, -0.000229f, -0.008943f, -0.006434f, 0.001928f, 0.014183f, 0.001325f, -0.001399f, 0.001749f, -0.002067f, -0.005456f, -0.005224f, -0.005894f, -0.002550f, -0.006965f, 0.007291f, 0.005160f, -0.000555f, -0.005812f, 0.008667f, 0.012842f, -0.002959f, -0.002493f, -0.003146f, -0.001567f, -0.000500f, 0.002976f, -0.005023f, 0.004945f, 0.004753f, 0.003052f, -0.004789f, -0.000975f, 0.002648f, 0.003533f, 0.008923f, -0.018356f, 0.047377f, 0.019754f, 0.008230f, 0.024365f, -0.009295f, 0.005128f, -0.025133f, -0.032396f, 0.020447f, 0.041654f, 0.012432f, -0.000193f, -0.041126f, 0.049677f, 0.007218f, 0.006119f, 0.007164f, 0.001844f, 0.009019f, 0.002838f, -0.007079f, -0.000304f, 0.012583f, -0.007699f, 0.015802f, 0.003030f, -0.012373f, -0.017218f, -0.004663f, 0.015734f, -0.004271f, 0.005137f, -0.007076f, + -0.006312f, 0.000305f, 0.044573f, 0.007251f, 0.006449f, 0.006061f, 0.003763f, 0.026754f, -0.009953f, 0.007727f, -0.017261f, 0.031867f, 0.044337f, 0.011597f, -0.002554f, -0.015741f, 0.046328f, 0.021814f, 0.000682f, -0.017887f, 0.006775f, -0.010715f, -0.001663f, -0.020528f, -0.007729f, -0.013686f, -0.018863f, 0.030531f, -0.009150f, 0.022510f, 0.004713f, -0.017486f, -0.000261f, -0.037464f, 0.035647f, -0.002548f, -0.017055f, -0.013285f, -0.021735f, -0.026751f, -0.014650f, 0.041515f, -0.012930f, 0.014974f, 0.018846f, -0.016736f, -0.015950f, -0.029904f, 0.004515f, 0.020203f, 0.006932f, 0.019316f, -0.004444f, -0.003792f, 0.000874f, 0.005503f, -0.008224f, 0.002323f, -0.014896f, 0.004858f, -0.000682f, 0.016935f, 0.011951f, -0.009144f, 0.000936f, -0.000496f, 0.010086f, -0.003420f, -0.013391f, 0.002973f, -0.000397f, -0.001095f, 0.005008f, 0.000914f, -0.002075f, -0.006737f, -0.007491f, -0.001467f, -0.001760f, 0.007940f, -0.000263f, 0.007959f, -0.010916f, 0.002615f, 0.008323f, -0.015593f, -0.011274f, 0.004047f, -0.008351f, -0.002235f, -0.004918f, 0.011648f, 0.014054f, -0.010471f, -0.011069f, 0.044070f, + 0.043263f, 0.053377f, 0.032168f, 0.010578f, -0.013553f, -0.014127f, 0.008019f, 0.015488f, 0.019010f, -0.028405f, -0.000811f, -0.003405f, 0.014266f, 0.011220f, -0.019666f, -0.024309f, -0.000065f, -0.009224f, 0.023183f, 0.027224f, 0.000020f, 0.014422f, 0.004787f, 0.005753f, 0.031496f, -0.019236f, -0.025437f, 0.020067f, -0.033321f, 0.002863f, -0.010246f, 0.018391f, 0.009430f, 0.000320f, 0.021568f, 0.019748f, -0.017935f, 0.022377f, -0.000012f, -0.009602f, 0.005337f, 0.024311f, -0.009367f, 0.010389f, 0.018080f, 0.008145f, -0.038839f, -0.022500f, 0.003871f, 0.002035f, -0.026392f, -0.018082f, 0.008823f, 0.012558f, 0.010734f, -0.036036f, -0.025113f, -0.025085f, -0.001944f, 0.015591f, 0.022812f, -0.057235f, -0.042003f, 0.006976f, 0.008839f, 0.033025f, 0.011701f, 0.012097f, 0.024111f, -0.002614f, -0.006125f, -0.008759f, 0.059124f, 0.020397f, -0.009269f, -0.030938f, 0.028295f, 0.018424f, -0.009183f, -0.008425f, 0.004414f, -0.008536f, 0.015141f, -0.005479f, -0.003175f, 0.008851f, -0.002143f, -0.003576f, -0.004599f, 0.009294f, 0.024275f, 0.000134f, 0.001783f, 0.000810f, 0.010592f, 0.013485f, + -0.003386f, -0.008554f, 0.003720f, -0.000838f, 0.002786f, 0.001540f, 0.002137f, -0.011533f, -0.006206f, 0.008089f, 0.000889f, -0.004726f, 0.004036f, 0.011272f, 0.008883f, -0.015253f, -0.003348f, -0.010163f, -0.009663f, 0.007148f, -0.011549f, 0.004488f, -0.006197f, 0.011214f, 0.008817f, -0.013467f, -0.018758f, -0.036321f, -0.035343f, -0.029059f, 0.011217f, -0.003747f, 0.016403f, -0.032039f, -0.005277f, 0.001492f, -0.012357f, -0.014995f, 0.026047f, -0.009981f, 0.005277f, -0.000400f, 0.001816f, -0.026124f, -0.009607f, -0.022340f, 0.002976f, 0.002944f, 0.005809f, 0.061745f, -0.024049f, 0.017050f, 0.026001f, -0.013198f, -0.012443f, -0.018688f, -0.003769f, 0.028840f, -0.029424f, 0.020147f, -0.001922f, -0.004910f, 0.002714f, 0.002952f, 0.015823f, 0.001772f, -0.031214f, 0.023878f, -0.019440f, -0.044816f, -0.036262f, -0.018177f, 0.060670f, 0.051465f, -0.027966f, -0.008057f, -0.038396f, -0.032058f, -0.012645f, 0.037470f, 0.000988f, 0.025843f, 0.013525f, -0.017632f, 0.019718f, -0.013425f, -0.039961f, -0.003392f, -0.024224f, -0.004947f, -0.012973f, 0.078907f, 0.000739f, -0.065328f, 0.051304f, -0.020703f, + -0.014544f, 0.051809f, 0.052684f, 0.000167f, -0.023040f, 0.010266f, 0.012902f, -0.070943f, -0.030496f, 0.001873f, -0.010405f, 0.037128f, 0.015747f, -0.053823f, -0.008026f, -0.004331f, 0.024423f, 0.015508f, 0.010650f, 0.009633f, -0.011175f, 0.001904f, 0.004312f, 0.022500f, -0.002754f, 0.003079f, 0.004458f, 0.003827f, 0.013277f, 0.006254f, 0.000344f, -0.015402f, 0.019509f, -0.001789f, -0.000043f, 0.000876f, 0.000076f, -0.008341f, -0.012907f, -0.008917f, 0.001820f, -0.003244f, 0.005723f, -0.000924f, -0.005682f, 0.006143f, 0.014423f, -0.019155f, -0.006146f, -0.005883f, -0.002671f, 0.005388f, -0.000299f, -0.005524f, -0.010696f, -0.004106f, -0.002705f, 0.009898f, -0.031579f, -0.019363f, 0.009375f, 0.007618f, 0.016911f, 0.053931f, 0.009100f, -0.001205f, 0.012409f, 0.002979f, -0.022530f, -0.013566f, 0.011871f, 0.002935f, 0.043721f, 0.010534f, -0.002913f, 0.016047f, 0.023388f, 0.024053f, 0.025532f, 0.001553f, -0.018222f, -0.004844f, -0.041390f, -0.005439f, -0.046712f, 0.026109f, -0.028504f, -0.010804f, -0.000056f, 0.037826f, -0.022034f, 0.021116f, -0.015536f, 0.012855f, -0.019436f, 0.024194f, + 0.036132f, 0.002625f, -0.007889f, -0.019406f, -0.028401f, 0.015921f, 0.017859f, 0.046222f, -0.006459f, 0.002453f, 0.020087f, 0.073943f, -0.017445f, 0.011201f, -0.012171f, -0.040971f, 0.028634f, -0.005753f, 0.020292f, -0.002419f, 0.004854f, -0.024637f, 0.068091f, -0.102355f, 0.075198f, -0.117462f, 0.050449f, -0.060537f, 0.018602f, -0.047445f, 0.016878f, 0.031647f, -0.007791f, 0.023541f, -0.012313f, 0.085876f, -0.052288f, 0.057052f, -0.088516f, 0.044624f, -0.034884f, 0.042933f, -0.029067f, -0.031064f, -0.015540f, -0.007801f, 0.021329f, -0.005845f, -0.004126f, 0.002238f, 0.001005f, -0.010941f, 0.015062f, -0.016547f, 0.015930f, -0.011941f, 0.004636f, -0.019046f, -0.011057f, -0.014057f, 0.002165f, -0.012923f, 0.015693f, 0.017201f, -0.016633f, -0.000207f, 0.006103f, 0.015785f, -0.002785f, 0.005689f, 0.012474f, -0.012041f, 0.020889f, -0.005892f, 0.027756f, -0.016772f, 0.033324f, -0.024064f, 0.008222f, -0.001953f, 0.018359f, 0.015661f, -0.003491f, 0.009175f, -0.026544f, 0.029691f, -0.020917f, 0.007221f, -0.021261f, 0.015005f, -0.028196f, 0.009494f, -0.002905f, -0.010139f, 0.009854f, -0.019928f, + 0.003018f, -0.009789f, 0.009713f, -0.009686f, 0.005565f, 0.003505f, 0.002608f, -0.007461f, 0.026041f, 0.020996f, 0.082700f, -0.057480f, 0.024053f, 0.015231f, -0.049682f, -0.001288f, -0.009779f, -0.014025f, -0.025536f, -0.001279f, 0.002917f, 0.033018f, 0.012264f, 0.017322f, 0.024733f, 0.020123f, 0.000737f, 0.027543f, -0.031672f, -0.004474f, 0.038141f, 0.004337f, -0.052365f, -0.011951f, -0.068521f, -0.012724f, 0.011942f, -0.012614f, -0.015979f, -0.002901f, 0.061235f, 0.015562f, 0.004685f, 0.007560f, 0.015325f, -0.004541f, -0.035137f, -0.010680f, -0.003905f, 0.006602f, -0.008106f, -0.016336f, 0.044342f, 0.023950f, -0.009174f, -0.002035f, -0.009536f, -0.040028f, -0.032924f, -0.023977f, -0.019995f, 0.044830f, 0.010777f, 0.016591f, -0.026979f, -0.026126f, 0.008422f, 0.018288f, 0.016800f, -0.007513f, -0.005307f, -0.030351f, -0.020102f, 0.026625f, 0.001198f, -0.073564f, 0.025897f, 0.040232f, 0.012854f, -0.032027f, -0.019740f, -0.015929f, 0.005275f, -0.023046f, 0.011406f, -0.054139f, -0.072439f, 0.030033f, 0.026127f, -0.014429f, -0.026635f, 0.020371f, -0.011928f, 0.005309f, 0.006289f, -0.010627f, + 0.011590f, -0.006568f, -0.006818f, -0.003884f, 0.017409f, -0.012351f, -0.003664f, -0.013517f, -0.000198f, 0.001174f, 0.011638f, 0.012096f, -0.001363f, 0.007141f, -0.008567f, 0.014126f, -0.009828f, 0.011543f, -0.026656f, -0.012103f, -0.003683f, 0.007725f, -0.008720f, -0.017358f, -0.013342f, 0.006377f, 0.013724f, -0.000492f, 0.017735f, 0.005007f, 0.007011f, 0.001111f, 0.011547f, -0.006518f, 0.011037f, -0.002648f, -0.021956f, -0.016874f, -0.006471f, 0.010010f, -0.012343f, 0.007275f, -0.018421f, -0.008103f, 0.008425f, -0.068333f, 0.059817f, 0.072689f, -0.006801f, 0.052832f, 0.002161f, 0.008022f, 0.023045f, -0.046784f, 0.016995f, 0.034513f, 0.034120f, 0.014247f, 0.010568f, -0.033852f, 0.024712f, 0.014466f, -0.020500f, 0.010836f, -0.004080f, 0.040216f, 0.011102f, 0.010225f, 0.023805f, -0.009639f, -0.027453f, 0.007844f, 0.051319f, -0.018480f, -0.010004f, 0.046270f, -0.017052f, -0.020839f, -0.016910f, 0.015870f, 0.059613f, 0.082835f, -0.005181f, -0.053900f, 0.081329f, 0.027915f, -0.053602f, 0.060571f, 0.023211f, -0.015150f, -0.015585f, -0.022857f, -0.037780f, -0.002249f, 0.019806f, -0.032493f, + -0.021231f, -0.068523f, -0.009316f, 0.039727f, -0.082909f, -0.044999f, 0.013068f, 0.013262f, 0.016331f, 0.050183f, 0.044477f, -0.073766f, 0.000585f, 0.002722f, -0.052158f, 0.014457f, 0.024785f, -0.026851f, -0.019118f, -0.022688f, 0.015083f, 0.057791f, 0.018090f, 0.030006f, -0.039616f, 0.020072f, -0.044856f, 0.003819f, -0.030179f, -0.122572f, 0.093631f, 0.023969f, -0.034223f, 0.063299f, -0.021917f, -0.028996f, 0.017011f, 0.012851f, 0.016266f, 0.024685f, 0.009977f, -0.025015f, -0.007962f, 0.024213f, -0.000855f, 0.009248f, 0.003864f, -0.004105f, 0.005911f, -0.011037f, 0.008027f, 0.022611f, 0.008138f, -0.013525f, -0.009989f, 0.006822f, -0.006157f, -0.012285f, 0.004563f, 0.014058f, 0.008163f, -0.042479f, -0.012890f, -0.031317f, -0.016267f, 0.018059f, -0.013992f, -0.017561f, 0.016511f, 0.010597f, -0.018372f, 0.023098f, -0.017243f, -0.007637f, 0.008253f, -0.013597f, 0.015179f, -0.006926f, -0.025220f, 0.020747f, -0.038909f, 0.044829f, 0.148412f, -0.047345f, 0.001263f, 0.011464f, 0.066988f, 0.059486f, -0.019492f, -0.025743f, -0.037478f, 0.001656f, 0.028356f, -0.000882f, -0.019175f, -0.019621f, + 0.026762f, -0.014553f, -0.036044f, -0.032127f, -0.006531f, 0.054625f, 0.038240f, -0.043311f, 0.002893f, 0.000865f, -0.018935f, 0.021583f, 0.007941f, -0.015403f, -0.005125f, -0.012097f, -0.005829f, 0.069722f, -0.025941f, -0.046167f, -0.032379f, -0.026202f, 0.061585f, 0.001791f, -0.014281f, 0.056801f, 0.038987f, 0.015586f, 0.028866f, 0.055858f, -0.033909f, 0.008691f, 0.054269f, 0.031818f, 0.041464f, -0.046993f, -0.013259f, -0.001664f, 0.019874f, 0.018803f, -0.044550f, 0.004351f, -0.058534f, -0.087975f, -0.004617f, -0.023201f, 0.040929f, 0.045584f, -0.011897f, -0.003510f, 0.009271f, -0.031921f, -0.085271f, 0.057519f, -0.041299f, 0.008982f, -0.015874f, -0.028743f, -0.016691f, -0.033347f, -0.067575f, 0.040046f, 0.035597f, 0.043234f, 0.008381f, -0.053636f, -0.094358f, -0.027927f, -0.026060f, -0.011442f, 0.029911f, -0.019206f, -0.004657f, 0.005811f, 0.004076f, -0.014910f, -0.006797f, -0.011955f, 0.001537f, -0.005264f, 0.010061f, -0.005812f, -0.007247f, 0.011067f, 0.014333f, 0.011401f, -0.022758f, 0.007597f, 0.001391f, -0.001948f, 0.000369f, -0.050076f, 0.002531f, 0.007061f, 0.007489f, -0.032953f, + 0.021637f, -0.004624f, -0.027427f, -0.022410f, 0.013492f, 0.017830f, -0.003192f, 0.010640f, -0.016858f, -0.011820f, -0.011448f, 0.001472f, 0.020646f, 0.005325f, 0.019729f, -0.000353f, 0.009218f, -0.029039f, -0.004390f, -0.006865f, -0.005358f, 0.022906f, 0.010992f, -0.000683f, 0.007376f, 0.003536f, -0.022873f, -0.007371f, -0.072570f, -0.042131f, -0.033658f, -0.086169f, 0.099433f, -0.002613f, 0.052526f, -0.012254f, 0.002924f, -0.060165f, -0.032390f, -0.031211f, 0.007234f, 0.046527f, -0.001830f, -0.049153f, -0.036183f, -0.070117f, -0.077352f, 0.066263f, 0.024892f, -0.060810f, -0.018452f, 0.029475f, 0.055787f, 0.007415f, -0.068533f, -0.042218f, 0.013881f, 0.018900f, 0.017402f, 0.039829f, -0.042495f, -0.040985f, -0.005930f, -0.014782f, 0.005979f, 0.011603f, -0.082420f, -0.015617f, -0.057394f, -0.037326f, -0.076649f, -0.029546f, 0.105726f, 0.017804f, 0.003639f, 0.025482f, 0.026446f, 0.007880f, 0.078648f, 0.061641f, -0.020196f, 0.020689f, 0.106160f, -0.028114f, -0.024417f, -0.025668f, -0.078546f, -0.003429f, -0.042865f, -0.098342f, -0.102419f, -0.054251f, -0.052720f, 0.023604f, -0.039403f, 0.003077f, + 0.021152f, -0.070198f, -0.025261f, 0.000040f, 0.000021f, 0.017614f, 0.045967f, 0.029944f, 0.055366f, 0.074130f, 0.054408f, -0.007071f, -0.039029f, -0.057515f, -0.004516f, 0.023218f, 0.007312f, -0.008451f, -0.000354f, 0.015772f, 0.013443f, 0.034689f, -0.003579f, 0.005177f, 0.001004f, -0.012122f, 0.011867f, 0.001392f, -0.005258f, 0.029579f, 0.013384f, 0.006387f, -0.027707f, 0.018500f, -0.009670f, 0.013849f, -0.026252f, -0.074474f, -0.003028f, 0.028820f, -0.005072f, -0.039725f, -0.024761f, -0.029183f, -0.021213f, 0.008970f, 0.013413f, 0.014278f, 0.004525f, -0.003032f, 0.011557f, 0.028587f, 0.048934f, 0.045309f, 0.057398f, 0.048270f, -0.004052f, 0.032348f, 0.074729f, 0.004915f, -0.031871f, -0.046744f, -0.046046f, -0.063933f, -0.050938f, -0.025014f, -0.026966f, -0.004124f, -0.007732f, 0.065287f, -0.042580f, 0.012632f, -0.049375f, -0.017180f, -0.053883f, 0.006610f, 0.065994f, -0.001869f, 0.040886f, -0.081609f, 0.071681f, 0.023558f, -0.014383f, 0.056224f, 0.008180f, 0.025358f, -0.022408f, -0.027130f, -0.000285f, 0.016929f, 0.013508f, -0.057154f, 0.052285f, -0.063300f, 0.007898f, 0.017150f, + -0.021155f, 0.036601f, -0.038898f, -0.022662f, -0.004146f, -0.014418f, -0.019622f, -0.004851f, 0.008534f, -0.029525f, -0.034076f, -0.011592f, -0.005857f, -0.008917f, 0.020912f, 0.010772f, 0.008584f, -0.042045f, 0.011149f, 0.049953f, 0.067038f, -0.049943f, -0.024798f, 0.056354f, 0.077922f, -0.047779f, -0.029127f, 0.032239f, 0.013835f, -0.038087f, 0.031168f, -0.088665f, -0.017305f, 0.035260f, 0.070417f, 0.008527f, -0.043649f, -0.040130f, 0.010691f, 0.083708f, 0.007352f, 0.011981f, 0.002520f, 0.027319f, -0.005426f, 0.062010f, -0.000718f, -0.070065f, 0.043736f, -0.045970f, -0.013928f, 0.018476f, -0.026545f, 0.005602f, -0.056537f, -0.021786f, 0.052283f, 0.023364f, -0.023547f, -0.034303f, -0.018446f, 0.003609f, -0.027330f, -0.009000f, -0.006118f, -0.017479f, -0.010354f, -0.008859f, -0.035478f, 0.021574f, -0.013353f, -0.016510f, -0.051348f, -0.013746f, 0.037501f, -0.026902f, -0.014551f, -0.014437f, -0.029415f, 0.055442f, 0.022932f, 0.001297f, -0.002042f, -0.032155f, -0.047066f, 0.002121f, 0.041715f, 0.033522f, 0.011332f, -0.036144f, -0.020817f, -0.016649f, 0.020227f, 0.002830f, -0.031577f, -0.008686f, + 0.001803f, 0.011432f, -0.028118f, -0.019704f, -0.016685f, 0.042766f, 0.022183f, 0.001870f, -0.027319f, -0.024442f, 0.024282f, 0.051578f, -0.000754f, -0.023613f, -0.032562f, -0.011982f, 0.014420f, 0.000127f, -0.007632f, 0.000834f, -0.006600f, -0.006023f, 0.004876f, 0.015607f, 0.000233f, -0.003463f, 0.000091f, -0.000143f, -0.004056f, 0.000967f, 0.000140f, 0.000357f, -0.005647f, 0.003617f, 0.000782f, -0.106770f, -0.028714f, 0.017177f, -0.035098f, 0.103987f, 0.077324f, 0.049545f, 0.027353f, 0.069911f, 0.050539f, 0.015869f, 0.034618f, -0.083869f, -0.111066f, -0.016279f, 0.001667f, -0.029493f, 0.015536f, -0.006087f, -0.028576f, -0.037376f, -0.029277f, 0.057123f, 0.050957f, -0.041071f, -0.004591f, -0.006368f, -0.009539f, -0.015082f, -0.020427f, -0.031267f, -0.042152f, -0.008905f, 0.076076f, -0.024877f, -0.041336f, -0.020760f, 0.071444f, -0.033822f, -0.031961f, 0.108917f, 0.039616f, 0.017740f, -0.026060f, -0.060945f, -0.041446f, -0.062838f, 0.017422f, 0.050574f, 0.139092f, -0.122358f, -0.050973f, 0.070700f, 0.099485f, 0.016569f, -0.005172f, 0.126229f, 0.061499f, -0.040719f, 0.041142f, -0.015287f, + 0.001206f, -0.088558f, -0.043594f, -0.031382f, -0.143333f, -0.061775f, -0.022465f, 0.076917f, -0.041171f, -0.024940f, 0.058661f, -0.004511f, -0.006875f, 0.013192f, 0.041536f, -0.040021f, 0.029612f, 0.043410f, 0.001864f, -0.009041f, -0.080504f, 0.036886f, 0.030034f, -0.094690f, -0.005918f, 0.009533f, 0.007000f, -0.008650f, -0.040839f, 0.010473f, 0.008014f, 0.011097f, -0.005678f, -0.012713f, 0.031010f, 0.005777f, -0.005336f, 0.020095f, 0.009542f, 0.054630f, -0.006618f, 0.017491f, 0.004447f, -0.044531f, -0.037287f, 0.026213f, -0.020330f, 0.015688f, 0.021605f, 0.012174f, 0.013712f, -0.000264f, 0.037498f, -0.012287f, -0.008176f, -0.015039f, 0.011458f, 0.027836f, -0.041876f, -0.016565f, 0.021561f, 0.008946f, -0.023297f, -0.044327f, -0.010190f, 0.011393f, 0.091959f, 0.033571f, -0.007520f, 0.023692f, -0.004510f, -0.008616f, -0.033689f, 0.016123f, 0.014172f, -0.026807f, -0.012845f, -0.097249f, -0.003790f, 0.039893f, -0.009217f, -0.040614f, 0.017901f, -0.009205f, 0.043877f, 0.008631f, -0.020993f, -0.000439f, 0.046967f, -0.026733f, 0.007712f, 0.016804f, -0.014048f, -0.000508f, -0.025120f, 0.051569f, + -0.002909f, 0.007598f, 0.001025f, 0.024879f, -0.011105f, -0.009810f, -0.015945f, 0.010243f, 0.019625f, -0.008592f, 0.023279f, -0.010067f, 0.014429f, -0.024313f, -0.018872f, 0.029348f, 0.037958f, -0.048824f, 0.002506f, -0.000003f, 0.004801f, 0.015300f, -0.030438f, 0.046992f, -0.041909f, 0.037812f, 0.005545f, -0.065858f, -0.003341f, 0.051302f, -0.066724f, 0.031907f, 0.000548f, 0.008608f, -0.015820f, -0.010077f, 0.013800f, -0.019472f, 0.068861f, -0.050784f, 0.007860f, -0.013655f, -0.005877f, 0.016882f, 0.001243f, -0.008360f, -0.001288f, 0.020711f, -0.000355f, -0.023833f, 0.007005f, 0.012055f, -0.039547f, 0.030976f, 0.014302f, 0.001437f, 0.028894f, -0.010484f, -0.008525f, 0.013438f, 0.006568f, 0.008519f, 0.005187f, -0.007902f, 0.016470f, 0.006933f, 0.001535f, -0.017447f, -0.002534f, 0.008505f, 0.015818f, -0.026470f, 0.014203f, 0.016476f, -0.023022f, 0.011087f, 0.003801f, 0.003976f, 0.012718f, -0.006963f, 0.003140f, -0.004366f, -0.033530f, -0.000515f, -0.007805f, 0.014815f, -0.009150f, 0.005655f, 0.004135f, -0.001401f, 0.004946f, 0.008585f, -0.005191f, 0.000009f, 0.001967f, -0.000243f, + 0.002902f, 0.010309f, -0.010057f, 0.009658f, -0.007211f, -0.048662f, -0.138491f, -0.197119f, 0.066040f, 0.175756f, 0.038398f, 0.486715f, 0.400309f, 0.270905f, 0.457758f, 0.238808f, -0.016720f, -0.057049f, -0.181369f, -0.417628f, -0.345445f, -0.335427f, -0.467054f, -0.344881f, -0.101842f, -0.074695f, -0.012793f, 0.162320f, 0.074976f, -0.020221f, 0.102342f, 0.170245f, 0.082743f, 0.079699f, 0.154319f, 0.092215f, 0.070502f, 0.140286f, 0.219792f, 0.091629f, 0.128685f, 0.206792f, 0.034716f, 0.013795f, 0.182079f, 0.107883f, -0.071010f, 0.087890f, 0.112760f, -0.118966f, -0.036333f, 0.130709f, -0.027387f, -0.078890f, 0.168326f, 0.089314f, -0.106101f, 0.090404f, 0.119475f, -0.161294f, -0.151619f, -0.064840f, -0.389423f, -0.515806f, -0.324330f, -0.456106f, -0.608368f, -0.423738f, -0.434222f, -0.560489f, -0.443978f, -0.307701f, -0.334169f, -0.199705f, 0.017611f, 0.123433f, 0.268679f, 0.441093f, 0.549430f, 0.677483f, 0.752218f, 0.822478f, 0.871573f, 0.783055f, 0.614924f, 0.568506f, 0.363410f, 0.109266f, 0.084969f, -0.059519f, -0.282115f, -0.221394f, -0.095280f, -0.209849f, -0.216339f, -0.046607f, + -0.153027f, -0.290934f, -0.176888f, -0.128263f, -0.261089f, -0.222035f, -0.080093f, -0.197564f, -0.235052f, -0.020245f, -0.013963f, -0.106635f, 0.039238f, 0.022452f, -0.171305f, -0.127061f, -0.075226f, -0.242347f, -0.333816f, -0.272891f, -0.372635f, -0.460982f, -0.343240f, -0.275672f, -0.262293f, -0.115960f, 0.049993f, 0.135377f, 0.201406f, 0.279929f, 0.315543f, 0.283225f, 0.369429f, 0.475201f, 0.491971f, 0.459757f, 0.467538f, 0.451348f, 0.365031f, 0.413256f, 0.371976f, 0.157889f, 0.016527f, -0.096639f, -0.208690f, -0.219812f, -0.182897f, -0.214572f, -0.210776f, -0.182796f, -0.181363f, -0.192518f, -0.160191f, -0.143456f, -0.138372f, -0.130832f, -0.103784f, -0.098683f, -0.103513f, -0.084337f, -0.060950f, -0.057591f, -0.047088f, -0.026566f, -0.016530f, -0.014126f, 0.005912f, 0.007798f, 0.004794f, 0.011065f, 0.021918f, 0.019143f, 0.024134f, 0.028874f, 0.024883f, 0.016074f, 0.010412f, 0.006425f, 0.007353f, 0.004932f, 0.006680f, 0.005033f, -0.001833f, -0.009732f, -0.006318f, -0.000293f, 0.010329f, 0.024285f, 0.039459f, 0.040835f, 0.046299f, 0.055967f, 0.060658f, 0.064281f, 0.075792f, 0.071950f, + 0.061180f, 0.055112f, 0.052236f, 0.037219f, 0.031918f, 0.029533f, 0.017437f, 0.004718f, 0.005956f, -0.004581f, -0.017439f, -0.025774f, -0.037400f, -0.056264f, -0.061761f, -0.064479f, -0.067295f, -0.069993f, -0.063868f, -0.061394f, -0.057203f, -0.048540f, -0.036028f, -0.030887f, -0.021823f, -0.015390f, -0.013210f, -0.009405f, -0.000765f, 0.003093f, 0.009595f, 0.012877f, 0.017108f, 0.018581f, 0.020498f, 0.020688f, 0.021726f, 0.018301f, 0.017753f, 0.015354f, 0.014098f, 0.010985f, 0.010959f, 0.008312f, 0.007809f, 0.005436f, 0.005448f, 0.003051f, 0.003119f, 0.001340f, 0.001896f, 0.000183f, 0.000786f} + }, + { + {0.007617f, 0.018013f, 0.000370f, 0.000677f, -0.008576f, -0.006981f, 0.005276f, 0.003120f, 0.000531f, 0.007308f, -0.011080f, -0.003857f, 0.018108f, 0.001154f, 0.003571f, -0.004826f, -0.006042f, 0.008410f, 0.007152f, -0.003055f, 0.007039f, 0.000217f, 0.001190f, -0.006966f, 0.002529f, -0.006351f, -0.004844f, -0.006239f, 0.002144f, 0.000167f, -0.001958f, -0.000775f, 0.002157f, 0.005287f, -0.002519f, -0.009896f, 0.000216f, -0.007079f, -0.008897f, -0.002429f, 0.004079f, -0.001459f, 0.003645f, 0.002203f, 0.003345f, -0.001493f, -0.001213f, -0.001766f, -0.001402f, 0.002938f, -0.000059f, 0.006128f, -0.000790f, 0.007608f, 0.001325f, 0.001657f, 0.007364f, 0.002525f, 0.001920f, 0.009384f, -0.003804f, 0.003047f, -0.003245f, -0.006779f, 0.006191f, -0.002304f, 0.000063f, 0.002185f, -0.001078f, -0.005644f, -0.001669f, 0.003917f, -0.002547f, -0.000226f, -0.005353f, 0.002522f, 0.000405f, -0.003688f, 0.000480f, -0.005833f, 0.000908f, -0.005599f, -0.000452f, -0.000162f, -0.000697f, 0.003102f, 0.001581f, 0.000751f, 0.001797f, -0.000688f, 0.003262f, 0.002250f, -0.000223f, 0.000631f, 0.000759f, -0.000204f, + 0.000157f, 0.000982f, -0.001310f, 0.000653f, -0.001685f, 0.001388f, 0.000199f, -0.000359f, -0.000035f, 0.001132f, 0.000354f, -0.001216f, 0.000430f, -0.000149f, -0.000612f, -0.001793f, -0.023732f, -0.012311f, -0.005550f, -0.005140f, -0.000030f, 0.000070f, 0.001757f, 0.000346f, -0.001337f, -0.009709f, -0.004414f, -0.009949f, -0.015604f, -0.013020f, 0.007353f, 0.009086f, 0.009176f, -0.003602f, -0.001089f, -0.001019f, -0.002051f, 0.003395f, 0.001413f, -0.003302f, -0.007069f, 0.005111f, 0.004350f, 0.006382f, 0.001668f, -0.002121f, -0.003867f, 0.001827f, 0.003044f, -0.000702f, 0.006470f, -0.003121f, -0.000174f, 0.006307f, -0.004799f, -0.007604f, 0.000617f, 0.010581f, 0.002435f, 0.002364f, 0.001488f, 0.000122f, 0.001364f, -0.001601f, 0.001890f, -0.008305f, 0.001373f, 0.008687f, -0.001967f, 0.000163f, 0.000874f, -0.002917f, -0.001636f, -0.001162f, -0.001390f, -0.002276f, 0.005313f, -0.004928f, 0.005215f, 0.004467f, 0.009739f, -0.000632f, 0.005485f, 0.012450f, -0.002265f, -0.009954f, -0.011183f, -0.000493f, -0.001439f, 0.000652f, -0.009485f, 0.002808f, -0.006650f, -0.004919f, 0.002316f, 0.006994f, + -0.002826f, -0.005246f, -0.006309f, -0.001185f, -0.000662f, 0.001803f, 0.000597f, 0.004046f, 0.002398f, -0.000164f, 0.002053f, 0.000639f, 0.003978f, 0.003038f, 0.001915f, 0.000917f, 0.000903f, -0.000628f, 0.002680f, 0.000190f, 0.000837f, -0.000258f, 0.000104f, -0.001921f, 0.000049f, -0.000316f, 0.016601f, 0.012889f, 0.005646f, 0.006553f, -0.004187f, 0.002905f, 0.011516f, 0.005488f, 0.012394f, -0.004879f, 0.005067f, 0.006942f, -0.000236f, 0.008928f, -0.004550f, 0.005548f, 0.001147f, -0.005859f, -0.001347f, -0.001178f, -0.000241f, -0.001725f, 0.000794f, -0.002983f, 0.001027f, -0.002206f, 0.011350f, -0.002670f, -0.000498f, -0.000116f, -0.004945f, -0.014364f, 0.008246f, -0.003474f, 0.003260f, -0.005757f, -0.005242f, -0.006152f, -0.003898f, 0.003625f, 0.010897f, 0.008412f, 0.003703f, -0.000699f, -0.002189f, 0.003332f, 0.007869f, -0.001806f, -0.002416f, 0.009503f, -0.004122f, 0.004505f, -0.004652f, -0.003836f, -0.002163f, 0.003482f, 0.003928f, -0.006827f, -0.004508f, 0.000096f, 0.007338f, 0.009247f, 0.005198f, 0.007188f, -0.000870f, 0.006727f, 0.002813f, 0.007070f, -0.003897f, 0.002781f, + 0.016513f, 0.007542f, 0.007087f, -0.001773f, -0.004469f, -0.011261f, 0.006621f, 0.002700f, -0.004471f, -0.004721f, -0.001380f, 0.003315f, -0.003253f, -0.001660f, -0.002913f, 0.000009f, 0.002485f, -0.001090f, -0.004456f, 0.001236f, 0.001730f, 0.002545f, 0.002869f, 0.000277f, 0.004004f, 0.001805f, 0.001751f, 0.001097f, -0.001117f, 0.002626f, 0.000401f, -0.000106f, -0.001174f, -0.002112f, -0.002059f, 0.000441f, 0.001737f, 0.000558f, 0.000254f, 0.000392f, 0.000020f, 0.002348f, -0.003190f, -0.000894f, 0.001167f, -0.001434f, 0.001493f, 0.005024f, 0.018937f, 0.002697f, 0.006870f, 0.013714f, 0.000257f, -0.007845f, -0.003368f, -0.002359f, 0.000534f, -0.004947f, -0.013470f, 0.005395f, 0.000443f, 0.000282f, 0.005615f, -0.008941f, -0.004140f, 0.014049f, -0.003462f, -0.005325f, -0.008348f, 0.000270f, -0.007892f, -0.001332f, -0.002648f, -0.002387f, 0.000986f, 0.011340f, -0.000392f, -0.003587f, 0.003305f, -0.009056f, 0.012088f, -0.001571f, -0.002756f, 0.015122f, -0.008762f, 0.000692f, -0.010349f, -0.004746f, 0.000841f, 0.000450f, 0.003925f, 0.004749f, -0.009245f, 0.002707f, 0.003813f, 0.003103f, + 0.000838f, 0.004308f, 0.003107f, 0.006306f, -0.005876f, -0.003152f, 0.011903f, -0.005015f, 0.004515f, 0.001097f, 0.003379f, 0.003044f, -0.001076f, -0.004097f, -0.000688f, 0.008398f, -0.005090f, -0.000607f, -0.002737f, 0.001907f, 0.007471f, -0.004287f, -0.009475f, -0.018218f, 0.001062f, -0.000803f, -0.001639f, 0.000017f, -0.007063f, -0.004951f, -0.010212f, -0.004049f, 0.004961f, -0.000229f, 0.003054f, -0.001266f, 0.006225f, 0.004311f, -0.000148f, 0.003214f, -0.000346f, -0.000456f, 0.002096f, -0.004007f, -0.002202f, -0.003266f, -0.000121f, -0.003888f, 0.002177f, -0.000208f, 0.000982f, -0.001489f, -0.001333f, -0.000232f, -0.001483f, 0.000807f, 0.001329f, -0.003612f, 0.001577f, 0.001359f, 0.000719f, -0.003449f, 0.001673f, 0.001121f, 0.003071f, 0.003285f, -0.000426f, -0.001241f, -0.001886f, 0.001599f, -0.001015f, -0.000702f, 0.000501f, -0.000551f, -0.002236f, -0.008266f, -0.020224f, 0.010189f, -0.006607f, -0.011634f, 0.000588f, -0.021786f, 0.004748f, 0.006568f, -0.002334f, 0.015789f, -0.006014f, -0.019176f, 0.004638f, 0.007174f, -0.006595f, -0.013590f, 0.023145f, -0.001529f, -0.001330f, 0.005789f, + -0.005058f, -0.003038f, 0.002406f, -0.011387f, 0.006674f, -0.001283f, 0.003310f, -0.002452f, 0.010845f, -0.002818f, 0.006099f, 0.005234f, -0.010626f, -0.005322f, -0.005971f, 0.011002f, -0.005480f, -0.003406f, 0.008469f, -0.003034f, -0.006230f, 0.004793f, 0.015499f, -0.007950f, 0.007574f, -0.008212f, 0.010204f, -0.005708f, 0.005397f, 0.000924f, -0.005426f, -0.015929f, 0.008891f, 0.011290f, -0.001024f, -0.003747f, 0.006595f, 0.007878f, 0.007800f, -0.011004f, -0.001198f, -0.009723f, -0.000839f, 0.003262f, -0.006661f, 0.002460f, 0.007585f, -0.008147f, -0.000124f, 0.001415f, -0.007626f, -0.005730f, 0.007242f, -0.005275f, 0.005737f, -0.003483f, -0.009808f, 0.001864f, -0.009507f, 0.002336f, -0.003561f, 0.003194f, -0.010475f, 0.009560f, -0.007879f, 0.000836f, -0.007320f, -0.000415f, -0.000390f, 0.001823f, -0.000712f, -0.000225f, -0.002240f, 0.002381f, -0.007067f, 0.002319f, -0.005775f, -0.004894f, 0.000210f, 0.004106f, 0.002118f, 0.000601f, 0.001418f, 0.000077f, 0.002642f, 0.005270f, -0.004514f, 0.004345f, -0.002886f, -0.000825f, 0.002983f, 0.002096f, -0.003176f, -0.000247f, -0.008216f, 0.010372f, + -0.011428f, -0.011331f, -0.019438f, 0.008179f, 0.020516f, 0.003120f, -0.003701f, -0.001782f, -0.003476f, 0.017870f, -0.010745f, -0.009782f, -0.002332f, -0.010785f, -0.003335f, -0.011718f, -0.005080f, -0.008231f, -0.016286f, -0.004581f, -0.003613f, -0.000589f, -0.001815f, 0.004200f, 0.009670f, 0.003444f, 0.004773f, -0.014960f, 0.001820f, -0.000266f, -0.004711f, 0.005159f, 0.002731f, -0.004383f, -0.001959f, -0.010662f, -0.011827f, -0.001751f, 0.013041f, -0.003862f, -0.006759f, -0.001471f, -0.004397f, -0.009217f, 0.000120f, -0.009625f, 0.019583f, 0.016514f, 0.004245f, -0.005091f, -0.004631f, 0.001695f, 0.002916f, 0.003351f, 0.003194f, -0.001234f, 0.007264f, -0.006968f, 0.003191f, -0.006137f, 0.000148f, -0.000115f, 0.004059f, 0.002822f, 0.009166f, -0.004036f, -0.005698f, -0.005208f, -0.021351f, 0.000614f, 0.004396f, -0.002206f, 0.007681f, 0.003286f, -0.006456f, 0.001797f, -0.011230f, -0.004217f, 0.000882f, 0.008505f, 0.003604f, 0.011658f, 0.002308f, -0.001472f, 0.000020f, 0.004275f, -0.004903f, -0.000687f, 0.001070f, -0.002088f, 0.002948f, -0.004282f, 0.002157f, -0.003283f, -0.002670f, -0.000606f, + -0.003644f, -0.003605f, -0.004448f, -0.002403f, -0.001337f, 0.003205f, 0.002688f, -0.003351f, -0.004709f, -0.001512f, -0.003615f, 0.002371f, -0.004027f, 0.001850f, -0.002366f, -0.000758f, 0.003906f, 0.000171f, 0.003258f, 0.002152f, -0.002132f, -0.002076f, -0.020251f, 0.003440f, 0.020258f, 0.019466f, -0.020908f, -0.018715f, 0.004693f, -0.014854f, -0.008184f, 0.002345f, -0.001250f, -0.005966f, 0.015325f, 0.007050f, -0.022075f, -0.001607f, 0.001105f, -0.000039f, 0.013781f, 0.005360f, -0.010363f, 0.014879f, 0.005288f, 0.002093f, -0.008088f, -0.008248f, 0.006099f, -0.005239f, -0.015017f, -0.002553f, -0.002130f, -0.006476f, -0.009042f, -0.011810f, 0.012530f, 0.001039f, 0.001687f, -0.008138f, 0.000012f, 0.009169f, -0.007310f, -0.014898f, -0.015438f, 0.016141f, 0.003403f, 0.015245f, -0.002598f, 0.004468f, 0.010933f, 0.022781f, 0.007117f, -0.002705f, -0.011749f, -0.004827f, -0.005953f, 0.003576f, 0.001034f, -0.008880f, -0.003853f, 0.013301f, 0.009108f, 0.018023f, 0.008183f, -0.012238f, -0.012029f, 0.014934f, 0.007680f, -0.007649f, -0.000102f, 0.015378f, 0.001000f, -0.000726f, -0.012034f, 0.013215f, + 0.009614f, -0.002201f, 0.018023f, -0.002599f, -0.005441f, -0.018912f, -0.002705f, 0.001075f, 0.009947f, -0.013016f, -0.001003f, 0.005984f, -0.003400f, -0.009332f, -0.009061f, -0.001077f, -0.001074f, -0.001611f, -0.011279f, -0.009687f, -0.006004f, 0.003659f, -0.000398f, -0.004394f, -0.001703f, -0.000493f, 0.000792f, 0.001040f, 0.001463f, -0.000825f, 0.003552f, -0.002957f, -0.000962f, 0.000209f, -0.002391f, -0.007216f, 0.000306f, 0.004378f, -0.001513f, -0.006357f, 0.000374f, -0.001440f, 0.002127f, 0.000501f, -0.000999f, -0.000456f, 0.001950f, -0.000873f, 0.003761f, 0.002164f, -0.000304f, -0.003456f, 0.002485f, -0.002697f, 0.002512f, 0.003337f, -0.008211f, 0.003246f, -0.003072f, -0.001662f, 0.010047f, -0.016748f, 0.010064f, -0.010985f, 0.001977f, 0.008767f, -0.000119f, -0.004473f, 0.003276f, -0.011506f, 0.000451f, -0.008967f, -0.025991f, -0.007968f, 0.010980f, 0.007090f, 0.003989f, -0.006345f, 0.005284f, 0.002347f, 0.027718f, 0.004733f, -0.009421f, 0.010285f, 0.002001f, 0.002159f, 0.018412f, -0.005360f, -0.005232f, 0.006367f, -0.013050f, 0.015591f, 0.014399f, -0.000401f, 0.008124f, -0.003105f, + -0.008013f, -0.001108f, -0.010059f, 0.000766f, -0.009852f, 0.003751f, -0.000195f, 0.002752f, 0.001073f, -0.016889f, -0.003520f, -0.002249f, 0.000874f, -0.008554f, 0.003607f, 0.003646f, -0.003292f, 0.022087f, -0.009748f, -0.019797f, 0.011700f, 0.019301f, 0.004336f, 0.004922f, -0.008629f, 0.016546f, -0.005745f, 0.002706f, 0.007405f, 0.002090f, -0.007612f, 0.007844f, 0.003365f, 0.000859f, -0.000124f, -0.015293f, -0.005442f, 0.007364f, 0.013425f, -0.005328f, -0.010062f, -0.013926f, -0.004584f, 0.004558f, 0.002475f, 0.006820f, -0.017136f, 0.003116f, 0.011412f, 0.001417f, -0.000739f, 0.004306f, -0.003636f, -0.002035f, -0.000552f, -0.001023f, 0.005950f, -0.001793f, 0.001840f, -0.001892f, -0.001326f, -0.001415f, -0.004440f, -0.002556f, 0.001991f, -0.003159f, 0.004070f, -0.000760f, -0.000827f, -0.002109f, -0.002533f, -0.013054f, 0.001139f, 0.006822f, -0.000430f, 0.002311f, -0.001329f, 0.004187f, 0.001362f, -0.002643f, -0.003073f, 0.002295f, 0.056513f, -0.015419f, 0.000251f, -0.005619f, -0.003710f, -0.012520f, -0.000374f, -0.033075f, 0.017137f, -0.011830f, -0.000929f, 0.019284f, 0.009390f, -0.012648f, + -0.013760f, -0.005029f, -0.011780f, 0.010642f, -0.027525f, 0.005153f, 0.011271f, 0.015785f, 0.002994f, 0.004766f, 0.000539f, 0.002644f, -0.003722f, -0.008538f, -0.025168f, -0.003620f, 0.003080f, 0.011617f, -0.009133f, 0.011205f, 0.004236f, -0.004482f, -0.001715f, 0.008696f, -0.009186f, -0.008505f, -0.005050f, -0.006481f, -0.001086f, -0.022116f, -0.010495f, -0.005219f, -0.000734f, 0.017663f, 0.003820f, 0.016855f, 0.005663f, -0.000691f, -0.010654f, 0.001362f, 0.000928f, 0.002634f, 0.005690f, 0.023597f, 0.002633f, -0.021941f, 0.005568f, -0.008557f, -0.000732f, -0.008228f, -0.009414f, -0.004279f, 0.008891f, 0.005909f, -0.039116f, -0.014558f, -0.011721f, 0.007466f, -0.001797f, -0.008296f, -0.005492f, 0.022092f, -0.009161f, 0.016993f, -0.016056f, -0.011903f, -0.017376f, -0.009335f, -0.018463f, -0.002793f, 0.024387f, 0.005811f, -0.003076f, 0.003006f, 0.010298f, -0.000136f, 0.012722f, -0.007156f, 0.004830f, 0.007256f, 0.008593f, 0.003516f, -0.001658f, -0.016924f, -0.006425f, -0.008657f, 0.000005f, 0.005582f, 0.004636f, -0.003365f, -0.001345f, 0.007245f, 0.002862f, -0.005535f, -0.002473f, -0.003859f, + -0.001855f, 0.000388f, 0.003581f, -0.002905f, -0.003035f, 0.009202f, 0.007584f, 0.002510f, -0.001194f, 0.003385f, 0.006188f, 0.000549f, -0.005697f, -0.000466f, -0.005809f, 0.001547f, -0.005225f, 0.003114f, 0.009364f, -0.002945f, -0.008668f, -0.009573f, 0.007161f, -0.017733f, 0.001103f, -0.041355f, 0.010062f, -0.013560f, 0.004042f, -0.014095f, -0.030487f, -0.004725f, -0.007094f, 0.021613f, 0.009177f, 0.007764f, -0.000730f, 0.028692f, -0.021587f, 0.005244f, 0.008156f, 0.022160f, -0.025570f, -0.014618f, -0.005070f, 0.002081f, -0.001721f, -0.007290f, -0.002385f, 0.007635f, -0.013778f, 0.002782f, 0.008130f, -0.001609f, 0.001096f, -0.011144f, -0.012741f, -0.007912f, 0.034325f, 0.000278f, -0.008368f, 0.013324f, -0.008268f, -0.017315f, -0.014176f, -0.009402f, -0.002503f, 0.006054f, 0.001250f, 0.001149f, 0.019047f, 0.017392f, -0.003170f, 0.006171f, 0.004182f, -0.022072f, -0.015147f, -0.001001f, -0.001789f, -0.005814f, -0.015055f, 0.018414f, 0.022269f, -0.018331f, 0.012010f, 0.011254f, -0.003606f, -0.017526f, -0.028239f, -0.027397f, -0.021122f, -0.012479f, -0.024378f, 0.002158f, -0.019966f, 0.011886f, + 0.010713f, 0.001712f, 0.000196f, -0.034080f, 0.002180f, 0.000564f, 0.002459f, -0.017506f, 0.005807f, 0.019254f, 0.002550f, 0.004827f, -0.015459f, -0.009627f, -0.001946f, -0.016319f, 0.003724f, 0.010018f, -0.004853f, -0.006119f, -0.007521f, 0.006217f, 0.010230f, -0.018120f, -0.009933f, -0.000991f, 0.011956f, 0.004352f, -0.005315f, 0.004113f, -0.000705f, -0.000307f, 0.005334f, -0.003582f, 0.006893f, -0.008117f, -0.002898f, 0.005714f, 0.005001f, -0.002116f, 0.013421f, 0.000733f, -0.008555f, -0.007331f, -0.001302f, -0.006066f, -0.005450f, 0.000579f, 0.003715f, -0.002667f, -0.002856f, -0.016910f, -0.014216f, -0.009839f, -0.011129f, -0.003511f, -0.025256f, 0.001098f, 0.027531f, -0.009738f, 0.014484f, -0.005833f, 0.027445f, 0.023248f, 0.009569f, -0.028600f, -0.007394f, 0.038116f, -0.009937f, 0.028244f, 0.004350f, -0.027167f, -0.013833f, 0.031915f, 0.000597f, -0.021548f, 0.000410f, -0.018381f, -0.002618f, 0.006431f, 0.002527f, -0.003725f, -0.031966f, -0.028366f, 0.007716f, 0.020423f, -0.018303f, -0.001665f, 0.007886f, -0.001429f, 0.003030f, 0.033964f, 0.006166f, 0.004895f, 0.002848f, 0.011187f, + -0.015163f, -0.010736f, -0.007830f, -0.035923f, -0.012267f, -0.013520f, -0.009381f, 0.009404f, 0.006232f, -0.002330f, -0.003663f, -0.014248f, -0.021587f, 0.028000f, -0.006135f, -0.024717f, -0.011640f, 0.004955f, 0.018710f, -0.014956f, -0.004751f, -0.015869f, -0.003055f, -0.018949f, -0.003723f, -0.004081f, -0.038051f, 0.003429f, -0.012872f, 0.026248f, -0.006859f, -0.021426f, -0.040355f, -0.026606f, -0.005103f, 0.003295f, 0.014066f, -0.010464f, -0.009602f, -0.021987f, 0.020024f, 0.033911f, 0.003531f, -0.004063f, 0.011497f, -0.008905f, 0.012721f, -0.009609f, -0.004683f, 0.004342f, 0.009717f, 0.007021f, -0.011913f, 0.000390f, 0.002425f, -0.000176f, -0.000896f, -0.002996f, 0.003162f, 0.012043f, -0.005100f, -0.010606f, -0.000508f, -0.002381f, 0.005478f, -0.000086f, 0.011676f, 0.000819f, 0.004242f, 0.000425f, -0.007231f, 0.001899f, -0.002924f, 0.012604f, 0.000684f, -0.007995f, -0.001569f, -0.001918f, 0.008368f, 0.000869f, -0.009275f, -0.001378f, 0.006432f, -0.002956f, 0.001522f, 0.013241f, -0.046533f, -0.023611f, -0.016075f, -0.025293f, -0.013692f, -0.010291f, -0.026434f, 0.027783f, -0.008117f, 0.041884f, + -0.021193f, -0.031421f, -0.006241f, -0.021059f, 0.035851f, -0.012268f, -0.019068f, -0.008672f, 0.009536f, 0.018393f, 0.015594f, -0.003684f, -0.004326f, -0.008128f, 0.003859f, 0.029758f, -0.000894f, 0.002945f, -0.009649f, -0.003625f, -0.015628f, -0.004954f, 0.006782f, 0.005227f, -0.012937f, 0.000740f, -0.019094f, 0.003936f, -0.005776f, -0.005556f, 0.007657f, 0.003742f, -0.008944f, -0.003414f, 0.016133f, 0.006233f, -0.013541f, -0.017556f, 0.029431f, -0.001272f, -0.047116f, 0.024596f, -0.005311f, -0.019842f, 0.009379f, -0.002767f, 0.002064f, -0.004448f, 0.016263f, 0.006456f, 0.001584f, 0.045301f, 0.044500f, -0.015607f, 0.004779f, -0.033391f, -0.007213f, -0.006315f, 0.014150f, -0.005003f, 0.002226f, 0.013896f, -0.010230f, 0.025929f, -0.010992f, 0.002967f, -0.035031f, 0.014645f, -0.009182f, -0.024326f, 0.012198f, -0.005525f, 0.049115f, 0.011851f, 0.009294f, 0.018339f, 0.001951f, -0.017038f, -0.001454f, -0.006944f, -0.004309f, 0.005073f, -0.006177f, 0.010167f, 0.006062f, -0.007373f, 0.012455f, 0.007256f, -0.008310f, -0.002007f, 0.000668f, 0.001422f, -0.003458f, 0.002836f, 0.004316f, -0.001023f, + -0.003769f, 0.001021f, 0.003829f, 0.002482f, 0.002880f, -0.007741f, 0.007951f, -0.015669f, 0.013997f, -0.009134f, -0.005527f, -0.000893f, 0.007260f, 0.010672f, 0.002727f, -0.011842f, 0.000037f, -0.004664f, -0.002969f, 0.003085f, -0.011647f, -0.020804f, 0.006101f, 0.055965f, -0.041977f, -0.013235f, -0.026583f, -0.017444f, 0.021096f, -0.023911f, 0.051181f, -0.005825f, 0.015622f, 0.003034f, 0.012423f, -0.031648f, 0.005824f, 0.008560f, -0.002365f, -0.004587f, -0.002805f, 0.009618f, -0.019570f, -0.011655f, -0.002778f, -0.005326f, -0.024184f, -0.021263f, -0.005763f, -0.009714f, 0.029212f, -0.007387f, -0.013848f, -0.009781f, 0.010045f, -0.014776f, -0.006350f, -0.025739f, 0.012165f, -0.009689f, 0.010722f, -0.008957f, 0.013634f, -0.006718f, -0.044790f, -0.022581f, 0.006621f, -0.003253f, -0.002735f, -0.013730f, -0.026671f, -0.001289f, 0.011760f, 0.008150f, -0.006059f, 0.009045f, 0.013731f, 0.042730f, -0.018214f, 0.020379f, -0.047799f, 0.003270f, 0.007028f, -0.005421f, -0.013726f, 0.009958f, 0.001804f, 0.002480f, 0.010744f, 0.034035f, 0.022921f, 0.017574f, -0.009045f, -0.010625f, 0.016721f, -0.020079f, + 0.005020f, 0.017364f, -0.012094f, 0.042525f, -0.000638f, 0.013395f, -0.011512f, 0.024651f, -0.023175f, -0.022554f, 0.000761f, 0.008841f, -0.010460f, -0.002267f, 0.026406f, 0.000536f, 0.024045f, 0.009077f, -0.003694f, -0.003502f, -0.013688f, -0.000806f, -0.000703f, 0.007081f, -0.000866f, -0.010715f, 0.001940f, 0.005263f, 0.013650f, -0.019576f, 0.003461f, -0.009780f, 0.004232f, 0.011675f, -0.003856f, 0.000011f, -0.010349f, 0.003747f, 0.003912f, -0.006398f, -0.023909f, -0.014660f, -0.009424f, 0.004987f, -0.012611f, -0.006845f, -0.008441f, -0.007256f, 0.004867f, 0.009607f, -0.000210f, 0.008036f, 0.003006f, 0.004455f, 0.001464f, -0.016944f, 0.014754f, -0.012404f, 0.022793f, 0.065704f, 0.047176f, -0.012949f, -0.028937f, -0.020233f, 0.040483f, -0.048061f, 0.002915f, -0.012470f, -0.011335f, 0.019113f, -0.034595f, 0.004273f, -0.017525f, -0.000832f, -0.023967f, -0.019155f, 0.003186f, 0.000878f, 0.001327f, -0.023884f, 0.037786f, 0.007186f, -0.016406f, 0.006387f, -0.004605f, 0.002885f, 0.056162f, 0.017230f, -0.015245f, -0.014123f, 0.003047f, 0.016908f, 0.005008f, -0.042151f, -0.009942f, -0.029269f, + -0.009304f, -0.013925f, 0.014430f, -0.008202f, -0.003636f, -0.000698f, -0.001110f, -0.020888f, -0.023437f, 0.015053f, -0.008677f, 0.003762f, -0.000792f, 0.020348f, -0.016553f, -0.012501f, 0.005609f, 0.008245f, -0.022021f, 0.024497f, -0.015309f, -0.036824f, -0.033604f, -0.012573f, -0.009421f, -0.015161f, -0.007287f, -0.052174f, 0.018573f, -0.025000f, -0.007474f, -0.020950f, 0.028986f, 0.008847f, 0.014031f, -0.000481f, -0.004091f, -0.025488f, -0.007255f, 0.033289f, -0.027498f, 0.040437f, 0.031551f, 0.010499f, -0.007063f, 0.000933f, -0.005472f, 0.005397f, -0.017777f, -0.015028f, -0.008718f, 0.002005f, -0.002170f, 0.002105f, 0.007945f, -0.013630f, -0.002962f, 0.012725f, 0.014086f, -0.005922f, 0.008871f, -0.007827f, -0.011504f, -0.005720f, -0.003411f, 0.008244f, 0.002641f, 0.002783f, -0.011377f, -0.008163f, 0.004310f, -0.004841f, 0.004027f, 0.004345f, 0.008569f, 0.015867f, 0.006799f, 0.008678f, -0.010752f, -0.006862f, -0.003512f, 0.004309f, -0.005098f, 0.001697f, -0.004700f, 0.001795f, 0.016902f, 0.007334f, 0.004774f, -0.003712f, 0.010728f, 0.002797f, -0.004101f, -0.065405f, -0.007850f, 0.043225f, + -0.053039f, -0.021393f, -0.001063f, -0.016484f, 0.019542f, -0.011245f, 0.060444f, -0.006202f, -0.012854f, -0.010108f, -0.002422f, 0.017511f, -0.011724f, -0.011736f, 0.049376f, -0.036104f, -0.004133f, 0.011347f, -0.007711f, 0.030661f, 0.017586f, -0.002215f, -0.003607f, 0.012985f, 0.017719f, 0.018955f, 0.015840f, 0.032468f, 0.010619f, 0.013948f, 0.008720f, -0.010590f, 0.054676f, 0.006821f, 0.010418f, 0.013731f, 0.008358f, 0.039267f, -0.002551f, 0.009681f, 0.013799f, 0.011346f, 0.006676f, 0.025911f, -0.015088f, -0.012384f, 0.026060f, -0.004748f, -0.025791f, -0.006694f, -0.045285f, -0.015493f, -0.008484f, 0.043115f, -0.040551f, -0.005279f, 0.002036f, -0.001401f, -0.002083f, 0.025427f, 0.069918f, -0.012156f, 0.009006f, 0.007966f, 0.010836f, 0.033231f, -0.035737f, -0.036973f, -0.033329f, 0.059315f, 0.004672f, -0.022308f, 0.054745f, -0.020765f, 0.047768f, -0.025558f, 0.018509f, 0.002015f, -0.062848f, -0.009171f, -0.015489f, 0.018097f, -0.001006f, -0.005432f, 0.000713f, 0.011381f, -0.001385f, -0.019139f, 0.010633f, 0.000296f, -0.008620f, -0.000164f, -0.016486f, 0.022613f, -0.002109f, 0.008130f, + -0.010401f, -0.009671f, -0.009259f, -0.012812f, -0.000874f, 0.000386f, 0.021898f, -0.000955f, 0.002733f, -0.008611f, 0.002757f, -0.020418f, 0.006865f, -0.019678f, -0.003286f, -0.004239f, -0.017228f, 0.009346f, -0.013559f, -0.013987f, 0.003461f, -0.019517f, 0.006391f, 0.015640f, 0.014973f, -0.007336f, -0.006481f, 0.003784f, 0.006317f, 0.013602f, 0.017734f, 0.001016f, 0.038882f, 0.003258f, -0.038662f, -0.114718f, 0.023194f, -0.027749f, -0.043984f, 0.049328f, -0.029437f, -0.015541f, -0.043310f, 0.011060f, -0.008357f, -0.042828f, -0.013518f, -0.025531f, 0.012214f, -0.023662f, 0.001464f, 0.008883f, 0.019473f, 0.009508f, 0.032760f, 0.004876f, 0.000095f, -0.003600f, -0.026976f, -0.021195f, -0.019112f, 0.015501f, 0.024577f, 0.011047f, 0.008953f, -0.000926f, 0.009700f, 0.018786f, 0.044661f, -0.021216f, -0.011336f, 0.007548f, -0.019800f, 0.021104f, 0.004976f, -0.019626f, 0.045451f, 0.016245f, -0.037628f, 0.014777f, -0.036183f, 0.004101f, 0.007323f, 0.019009f, -0.010036f, -0.012563f, 0.057699f, 0.022061f, -0.024316f, 0.014753f, 0.030688f, -0.023751f, -0.049659f, 0.027555f, -0.003670f, -0.000784f, + 0.004460f, 0.011968f, 0.077958f, -0.007425f, 0.010062f, 0.014666f, 0.000110f, 0.017638f, 0.010784f, -0.041375f, 0.009101f, -0.022103f, -0.018789f, -0.011724f, 0.009750f, -0.066695f, -0.007732f, 0.020575f, 0.003655f, 0.032877f, -0.023935f, 0.023237f, -0.015509f, -0.007136f, -0.008573f, 0.010310f, 0.004968f, -0.008318f, 0.000428f, -0.000186f, -0.011421f, 0.009235f, -0.014513f, 0.015479f, 0.002459f, 0.010732f, 0.009644f, -0.006890f, -0.005167f, 0.002577f, -0.003782f, 0.002110f, 0.003993f, -0.006696f, -0.002000f, -0.007671f, -0.004906f, -0.005092f, -0.012976f, 0.000083f, 0.002214f, 0.007591f, -0.003944f, 0.007305f, 0.018453f, -0.009657f, 0.003312f, -0.009690f, 0.005130f, 0.005575f, -0.014901f, -0.000013f, 0.005237f, -0.014582f, -0.006825f, 0.012358f, 0.000455f, 0.002315f, 0.003108f, 0.000295f, 0.000342f, -0.035391f, -0.040758f, 0.087421f, 0.018691f, -0.005618f, -0.010518f, 0.019748f, 0.078996f, 0.036273f, 0.009476f, -0.002239f, 0.026511f, 0.066011f, 0.016453f, 0.022801f, 0.020617f, 0.047093f, -0.030260f, 0.030532f, 0.013604f, -0.090211f, 0.026819f, -0.012683f, 0.026850f, -0.028024f, + 0.021323f, 0.014199f, 0.028143f, -0.000117f, 0.012000f, 0.004509f, -0.025514f, 0.012894f, 0.025522f, -0.021191f, 0.012893f, -0.020566f, -0.012318f, 0.064872f, 0.006755f, 0.057461f, -0.040640f, 0.018001f, -0.001935f, -0.008046f, -0.001123f, -0.004817f, 0.009074f, 0.021180f, 0.014748f, -0.001418f, 0.032931f, -0.052020f, -0.049022f, 0.035891f, -0.027814f, -0.007019f, -0.006356f, -0.033555f, 0.017225f, -0.008687f, 0.009819f, 0.005454f, 0.055698f, 0.027169f, 0.029462f, 0.011213f, 0.008078f, -0.050219f, -0.011380f, 0.025069f, -0.000233f, 0.000887f, 0.000199f, -0.015928f, -0.043645f, 0.008671f, 0.004314f, -0.032585f, 0.004907f, -0.015506f, -0.012719f, 0.014087f, 0.009562f, 0.050094f, -0.006858f, 0.012969f, 0.012183f, -0.009274f, -0.012574f, -0.001079f, -0.011932f, -0.004388f, 0.029638f, 0.012592f, 0.005616f, 0.001807f, -0.000231f, 0.001049f, -0.000054f, -0.001393f, -0.019591f, -0.005726f, 0.012499f, -0.003113f, 0.001566f, -0.007010f, -0.009711f, -0.003721f, 0.003589f, 0.024198f, -0.015502f, -0.014941f, 0.014379f, 0.007273f, -0.017441f, 0.012992f, 0.007978f, -0.012218f, 0.016308f, 0.001748f, + -0.009124f, -0.004004f, -0.006188f, -0.002548f, -0.002628f, 0.008357f, 0.004423f, 0.004415f, 0.009505f, 0.013636f, 0.010237f, -0.002073f, 0.007427f, 0.023246f, -0.079767f, 0.068154f, -0.029021f, 0.013933f, 0.043209f, -0.062740f, -0.002166f, -0.004488f, 0.014935f, 0.024742f, 0.027034f, 0.048433f, 0.007539f, -0.029482f, 0.016369f, 0.051543f, -0.072172f, -0.041119f, 0.047724f, 0.003568f, -0.000804f, 0.003386f, 0.003703f, -0.000175f, -0.001650f, 0.025758f, 0.014703f, -0.033297f, 0.001799f, -0.008530f, 0.059526f, 0.037403f, -0.012616f, 0.004809f, 0.006844f, 0.008651f, -0.000744f, 0.022983f, 0.001846f, 0.017950f, 0.060817f, 0.009676f, 0.006124f, -0.008000f, 0.015394f, -0.056893f, -0.025479f, -0.023176f, -0.002889f, 0.007430f, -0.051589f, 0.021426f, -0.045809f, 0.016606f, 0.046955f, -0.009150f, -0.042755f, -0.021635f, 0.017348f, -0.007176f, -0.087048f, 0.024864f, -0.060812f, -0.012109f, -0.007737f, 0.003083f, -0.024485f, 0.007241f, 0.030419f, -0.024065f, -0.057748f, -0.085479f, 0.067484f, 0.021627f, -0.010728f, 0.020351f, -0.020575f, 0.021689f, 0.037408f, -0.037920f, 0.067140f, 0.010320f, + -0.007215f, 0.032289f, 0.017679f, -0.009756f, 0.017328f, 0.002359f, 0.018722f, -0.017126f, -0.009705f, 0.006175f, 0.013554f, 0.024453f, 0.006967f, 0.022169f, -0.013870f, 0.013093f, 0.021909f, 0.020560f, -0.003170f, 0.018837f, -0.018871f, 0.008717f, 0.001903f, 0.009341f, 0.036549f, -0.023099f, 0.014621f, 0.003234f, -0.001225f, 0.029693f, 0.007941f, 0.038343f, -0.004690f, 0.019606f, 0.005058f, 0.015758f, 0.004362f, -0.006289f, 0.011338f, -0.017802f, 0.016794f, -0.005730f, 0.013970f, -0.001899f, 0.003972f, -0.000152f, 0.003075f, 0.001143f, 0.014670f, -0.001839f, -0.003206f, -0.000494f, 0.006488f, 0.000756f, -0.001198f, 0.002157f, 0.003409f, 0.003556f, 0.002921f, -0.000276f, 0.002939f, -0.000573f, 0.002820f, 0.003191f, 0.003113f, -0.003402f, 0.001295f, 0.002165f, -0.001615f, -0.001410f, 0.097523f, -0.104893f, 0.042939f, 0.051850f, -0.064211f, -0.021102f, -0.034175f, -0.020348f, 0.096745f, -0.044228f, 0.068884f, -0.033026f, -0.008351f, -0.018407f, 0.023095f, 0.007193f, -0.082151f, -0.017008f, -0.021202f, 0.034374f, 0.002589f, 0.013569f, 0.029569f, -0.041991f, -0.006794f, -0.027410f, + 0.015237f, 0.032205f, 0.021728f, -0.053942f, -0.008399f, 0.008767f, 0.007722f, -0.005021f, -0.023928f, -0.011964f, -0.046487f, -0.010452f, -0.005866f, 0.041615f, -0.037855f, 0.093016f, 0.021572f, -0.029604f, 0.042523f, -0.000406f, 0.055012f, 0.027767f, 0.052224f, 0.010738f, 0.047746f, 0.036505f, 0.046706f, 0.046674f, 0.007973f, 0.045080f, -0.059701f, -0.012409f, 0.013203f, -0.041747f, -0.006364f, 0.022949f, -0.046252f, -0.070538f, 0.028008f, 0.042381f, 0.001884f, 0.008174f, -0.047486f, -0.014989f, -0.039673f, -0.003661f, 0.046204f, 0.001686f, 0.085958f, 0.036692f, -0.021267f, 0.088191f, 0.048129f, -0.028761f, -0.010020f, -0.021179f, -0.028401f, -0.020381f, 0.022400f, -0.015053f, -0.044194f, 0.005100f, 0.031348f, -0.001045f, -0.014392f, -0.013903f, -0.009098f, -0.017185f, -0.026793f, 0.002466f, -0.006121f, -0.005841f, -0.020696f, -0.004220f, -0.007256f, 0.006802f, 0.014874f, -0.006866f, 0.002979f, -0.008357f, -0.016235f, 0.008137f, -0.004370f, -0.015005f, -0.030741f, 0.011780f, -0.042372f, -0.008412f, -0.029424f, -0.020415f, -0.023978f, -0.008743f, -0.003911f, -0.011271f, -0.016880f, -0.010870f, + -0.019264f, -0.006218f, -0.002450f, -0.004163f, -0.013064f, 0.016660f, -0.015747f, 0.006398f, -0.003473f, -0.028750f, -0.008054f, -0.029308f, 0.003794f, -0.002898f, -0.003114f, 0.002630f, -0.136986f, 0.125083f, -0.029962f, -0.038744f, -0.038011f, 0.087328f, -0.066771f, -0.008222f, -0.020644f, 0.001469f, 0.043583f, -0.048652f, -0.006735f, 0.022421f, -0.017430f, -0.004493f, -0.000911f, -0.026542f, 0.038732f, 0.004707f, -0.068880f, -0.014444f, -0.018336f, 0.006519f, -0.075296f, 0.001777f, 0.006516f, -0.012118f, -0.001574f, 0.022382f, 0.042916f, -0.016280f, -0.013611f, 0.012046f, -0.032431f, -0.091685f, 0.005924f, 0.077100f, -0.040333f, -0.055508f, 0.001752f, 0.062667f, -0.030360f, -0.015577f, -0.080282f, -0.010272f, -0.000649f, 0.058040f, 0.023569f, 0.009475f, -0.061104f, -0.031296f, 0.044080f, -0.053218f, 0.017380f, 0.094280f, 0.049766f, 0.073633f, -0.036643f, 0.043890f, 0.024243f, -0.077586f, -0.031591f, -0.040619f, -0.012756f, 0.049297f, -0.004418f, 0.053122f, 0.039104f, -0.077095f, 0.086257f, -0.051589f, -0.002422f, 0.006755f, -0.042832f, 0.089584f, -0.008111f, -0.018098f, 0.067961f, -0.054873f, + -0.012068f, -0.079230f, -0.029977f, 0.039371f, -0.013822f, 0.035823f, 0.033926f, -0.006263f, -0.016508f, 0.008314f, -0.022208f, -0.020927f, -0.008737f, -0.014847f, -0.012482f, -0.011627f, 0.003566f, -0.014980f, 0.001092f, -0.019457f, -0.023553f, -0.016773f, 0.013565f, -0.009033f, -0.004180f, 0.013125f, 0.000391f, -0.001787f, -0.025526f, -0.034158f, -0.025679f, -0.045174f, 0.032460f, 0.016504f, 0.027786f, 0.012905f, -0.027966f, -0.024051f, -0.015969f, -0.001588f, 0.035888f, -0.005914f, -0.002520f, 0.007158f, -0.008419f, -0.004212f, -0.005559f, -0.012297f, 0.024297f, -0.014713f, 0.031816f, 0.001782f, 0.080183f, 0.057307f, 0.008178f, -0.015152f, -0.042011f, 0.024710f, -0.003514f, -0.003490f, -0.002886f, -0.001135f, -0.000054f, -0.015726f, 0.020019f, -0.000146f, -0.071994f, 0.018277f, 0.006203f, -0.024553f, 0.000720f, 0.031278f, -0.010683f, 0.002352f, -0.052121f, 0.038065f, -0.018692f, -0.005318f, -0.005458f, 0.021791f, -0.028348f, -0.000759f, 0.006173f, 0.001137f, 0.005720f, -0.013057f, 0.038212f, -0.019857f, 0.067529f, -0.041400f, -0.044668f, 0.042180f, -0.047185f, 0.002765f, 0.034796f, -0.032128f, + -0.014692f, 0.018969f, 0.021584f, 0.029178f, -0.103566f, 0.033223f, -0.001197f, -0.023327f, 0.065323f, -0.032571f, 0.003809f, 0.000658f, -0.055864f, 0.071651f, -0.003613f, -0.002787f, -0.037707f, -0.006438f, 0.058623f, -0.013390f, -0.002422f, 0.002670f, 0.016756f, 0.010113f, -0.072858f, 0.036158f, 0.064536f, -0.033675f, 0.025738f, -0.050339f, 0.084673f, 0.004155f, -0.079412f, 0.001406f, 0.043990f, -0.004128f, -0.049406f, -0.010741f, 0.115442f, -0.017675f, -0.047824f, 0.008342f, 0.050822f, -0.012864f, -0.016134f, -0.005675f, -0.002451f, 0.003324f, 0.002116f, -0.012636f, 0.033491f, -0.005134f, -0.008095f, 0.002210f, 0.011321f, 0.028538f, -0.008604f, -0.013464f, 0.015368f, 0.003823f, -0.026274f, -0.009222f, 0.013833f, 0.003518f, -0.011075f, -0.005554f, 0.022327f, -0.020149f, -0.004285f, 0.003808f, 0.003071f, -0.019016f, -0.007966f, 0.025299f, -0.001517f, -0.017697f, -0.007778f, 0.018413f, -0.005486f, -0.013222f, -0.011626f, 0.016119f, 0.000583f, -0.044959f, -0.149600f, -0.226452f, 0.015194f, 0.196179f, 0.003012f, 0.512961f, 0.464728f, 0.278480f, 0.536536f, 0.352302f, -0.058146f, 0.020637f, + -0.068797f, -0.422086f, -0.239795f, -0.185547f, -0.412474f, -0.338932f, -0.099977f, -0.198804f, -0.228599f, -0.018255f, 0.013773f, -0.096343f, 0.021396f, 0.087962f, -0.111579f, -0.094558f, 0.150036f, 0.031129f, -0.036049f, 0.105061f, 0.140590f, 0.000346f, 0.144226f, 0.244201f, 0.087647f, 0.067405f, 0.248762f, 0.168512f, 0.020675f, 0.183004f, 0.269499f, 0.118870f, 0.138029f, 0.307343f, 0.116918f, 0.042554f, 0.293385f, 0.289016f, 0.089615f, 0.347982f, 0.494325f, 0.184852f, 0.203275f, 0.345131f, 0.105637f, -0.110641f, 0.020372f, -0.113642f, -0.414254f, -0.394851f, -0.421972f, -0.678054f, -0.733200f, -0.783874f, -0.927453f, -0.970019f, -0.947665f, -0.922067f, -0.811870f, -0.728270f, -0.595522f, -0.392938f, -0.280374f, -0.096003f, 0.268930f, 0.435916f, 0.430377f, 0.796444f, 0.849004f, 0.661300f, 0.805363f, 0.843872f, 0.453393f, 0.473232f, 0.579777f, 0.282278f, 0.228342f, 0.376951f, 0.273687f, 0.129427f, 0.178592f, 0.238924f, 0.102279f, 0.083938f, 0.239876f, 0.127629f, -0.020290f, 0.132288f, 0.103494f, -0.072837f, 0.011844f, 0.095777f, -0.060507f, -0.025326f, 0.177986f, 0.071563f, + 0.008330f, 0.171589f, 0.113250f, -0.014681f, 0.010997f, -0.072257f, -0.247877f, -0.337762f, -0.373859f, -0.490706f, -0.525285f, -0.524521f, -0.568481f, -0.573590f, -0.600926f, -0.602506f, -0.550703f, -0.546706f, -0.458615f, -0.353386f, -0.279447f, -0.115169f, 0.105379f, 0.223464f, 0.370715f, 0.463337f, 0.490423f, 0.467964f, 0.427092f, 0.363543f, 0.295662f, 0.258201f, 0.226164f, 0.186286f, 0.168092f, 0.163678f, 0.149386f, 0.140652f, 0.146681f, 0.137540f, 0.115977f, 0.100567f, 0.080962f, 0.051794f, 0.032909f, 0.000801f, -0.037357f, -0.066448f, -0.090095f, -0.091411f, -0.087081f, -0.081592f, -0.060033f, -0.044998f, -0.034096f, -0.019971f, -0.001204f, 0.012714f, 0.028647f, 0.034875f, 0.040057f, 0.033724f, 0.024415f, 0.020159f, 0.015852f, 0.006161f, 0.001035f, -0.002758f, -0.010227f, -0.023624f, -0.024572f, -0.030872f, -0.046427f, -0.044317f, -0.040183f, -0.060037f, -0.065235f, -0.065162f, -0.080915f, -0.085904f, -0.077601f, -0.088557f, -0.093246f, -0.082758f, -0.076997f, -0.074923f, -0.063557f, -0.053297f, -0.049676f, -0.040581f, -0.025200f, -0.019194f, -0.011631f, 0.002802f, 0.017468f, 0.024267f, + 0.039291f, 0.055903f, 0.064838f, 0.072293f, 0.086124f, 0.091435f, 0.090272f, 0.091392f, 0.090962f, 0.080997f, 0.071078f, 0.064170f, 0.054002f, 0.038820f, 0.030369f, 0.021587f, 0.011194f, 0.003415f, -0.000421f, -0.006272f, -0.010097f, -0.012581f, -0.013759f, -0.015945f, -0.015005f, -0.014227f, -0.012924f, -0.012437f, -0.010297f, -0.009773f, -0.007500f, -0.006233f, -0.003938f, -0.002912f, -0.000538f}, + {0.005407f, 0.017842f, 0.003918f, 0.002646f, -0.004099f, -0.001403f, -0.008838f, -0.000308f, -0.002303f, 0.006651f, 0.005777f, -0.005815f, -0.004293f, -0.003485f, -0.003429f, -0.004120f, 0.000402f, 0.005311f, -0.004220f, -0.004401f, -0.014710f, -0.010715f, -0.007983f, -0.000296f, 0.000734f, 0.010822f, -0.005976f, 0.005404f, 0.003242f, 0.002816f, 0.000594f, -0.007948f, 0.002006f, -0.017033f, 0.002037f, 0.000611f, 0.000758f, -0.001092f, -0.010603f, -0.004728f, -0.009146f, 0.000644f, 0.000539f, -0.005417f, -0.014174f, 0.009799f, -0.000728f, -0.008181f, -0.000084f, 0.005601f, 0.001156f, -0.002762f, 0.001965f, -0.004618f, -0.002072f, -0.004352f, 0.003381f, -0.004637f, 0.006621f, 0.005481f, -0.001108f, -0.009318f, 0.000454f, 0.001396f, -0.000875f, -0.003352f, 0.002347f, 0.001773f, -0.002183f, 0.005187f, 0.005507f, 0.003925f, 0.000333f, 0.000127f, 0.001740f, -0.005009f, 0.000678f, 0.007975f, 0.000890f, 0.001611f, 0.001428f, 0.005923f, 0.002207f, 0.001937f, 0.005192f, -0.001178f, 0.004083f, -0.001494f, 0.002658f, 0.001997f, -0.000740f, 0.001229f, 0.001492f, -0.000347f, 0.001896f, 0.003056f, + 0.000681f, 0.000183f, 0.002063f, 0.002890f, 0.002194f, -0.000210f, 0.000824f, 0.001032f, 0.001066f, 0.000444f, 0.000161f, -0.000087f, -0.000704f, -0.002058f, 0.001414f, 0.000291f, -0.018849f, -0.021257f, -0.001459f, -0.008431f, 0.006524f, -0.010439f, 0.002657f, 0.004762f, -0.007041f, 0.005750f, 0.021269f, 0.001148f, -0.001908f, 0.011590f, 0.001621f, 0.011638f, 0.000224f, 0.005289f, -0.008310f, -0.011113f, -0.000556f, 0.004160f, -0.007657f, -0.002519f, -0.000740f, -0.002213f, 0.002149f, -0.002304f, -0.004026f, 0.003806f, -0.001877f, -0.001654f, 0.008377f, 0.011851f, -0.003670f, -0.006432f, 0.002405f, 0.009478f, 0.003649f, 0.012159f, 0.000547f, -0.001752f, -0.000278f, 0.010846f, 0.000734f, -0.007822f, -0.004242f, 0.008509f, 0.006231f, 0.006612f, 0.001841f, -0.004275f, -0.008763f, 0.001706f, 0.004170f, 0.005105f, -0.001865f, -0.004638f, 0.009536f, 0.006357f, -0.001550f, -0.005348f, 0.000346f, -0.003730f, 0.009936f, 0.003015f, 0.001843f, 0.003144f, 0.001132f, 0.002037f, 0.006112f, 0.001060f, 0.006139f, -0.001200f, 0.009771f, 0.001182f, -0.009627f, -0.003826f, -0.003342f, 0.004785f, + 0.005977f, -0.000964f, 0.001609f, -0.006754f, -0.002439f, -0.006290f, -0.001896f, -0.004101f, -0.003480f, -0.001480f, 0.002060f, 0.000091f, 0.000068f, 0.000267f, 0.002709f, 0.000431f, 0.000624f, -0.000334f, -0.002887f, -0.000817f, 0.000159f, -0.000281f, 0.001176f, 0.000448f, 0.000505f, -0.001097f, 0.011075f, 0.007872f, 0.011665f, 0.012270f, -0.002988f, 0.006181f, -0.002677f, -0.006851f, -0.000706f, 0.018147f, 0.007855f, 0.004105f, 0.006373f, -0.007468f, 0.012829f, 0.005599f, 0.008576f, -0.002475f, -0.014369f, 0.006089f, -0.022386f, 0.004606f, -0.005762f, 0.004565f, 0.003459f, -0.000342f, -0.007745f, 0.001933f, 0.004955f, -0.002908f, 0.004643f, 0.011400f, -0.000871f, -0.009303f, -0.012851f, 0.002080f, 0.005658f, -0.011691f, 0.006489f, -0.010982f, -0.007279f, 0.008119f, -0.004728f, -0.009269f, -0.004619f, -0.006514f, 0.010276f, 0.014277f, 0.007978f, -0.005018f, 0.000003f, 0.007666f, 0.004469f, -0.000556f, -0.005859f, -0.002668f, -0.005149f, 0.005490f, 0.017492f, -0.000053f, -0.009577f, -0.007429f, 0.004013f, 0.001516f, -0.003625f, -0.010304f, -0.000250f, -0.008814f, -0.003554f, 0.001489f, + -0.001584f, 0.007152f, 0.001262f, 0.008958f, 0.010265f, -0.008967f, -0.003391f, 0.000595f, -0.007125f, -0.008394f, -0.001414f, 0.000130f, -0.005249f, 0.005065f, -0.004775f, -0.000498f, 0.003871f, 0.000881f, 0.000225f, 0.003973f, -0.004829f, -0.001558f, 0.001073f, 0.001887f, -0.002217f, 0.001641f, 0.000790f, 0.001842f, -0.000322f, 0.000056f, 0.001733f, -0.002343f, 0.003064f, -0.002347f, 0.001472f, 0.000573f, -0.000749f, -0.000097f, 0.001333f, -0.000907f, -0.001681f, -0.002659f, 0.001669f, -0.001926f, 0.000703f, 0.002729f, -0.000417f, -0.001581f, 0.024929f, -0.006707f, 0.002445f, 0.003545f, -0.016417f, -0.014014f, 0.000383f, 0.016274f, 0.012443f, 0.019675f, 0.006513f, -0.005564f, -0.008448f, 0.001445f, -0.004839f, 0.003875f, 0.001905f, 0.006646f, 0.012253f, 0.003892f, 0.009042f, -0.000256f, 0.005373f, -0.005426f, -0.011361f, -0.005970f, -0.008688f, 0.000120f, -0.002403f, 0.002660f, -0.013844f, -0.006924f, -0.001824f, 0.005139f, -0.006825f, 0.014384f, -0.016166f, 0.003483f, -0.010166f, -0.008268f, 0.004749f, 0.004138f, 0.013911f, -0.001530f, 0.003546f, -0.003949f, 0.009757f, 0.010281f, + 0.002898f, -0.002200f, -0.010396f, -0.001434f, 0.003648f, -0.007988f, 0.008069f, -0.008794f, 0.003827f, 0.014586f, 0.012257f, 0.000200f, -0.004655f, 0.002302f, 0.014614f, -0.001798f, 0.003633f, 0.002287f, 0.011953f, 0.000143f, -0.003123f, -0.007366f, 0.005246f, -0.011111f, 0.004111f, 0.023194f, 0.005753f, 0.010937f, 0.001140f, -0.015297f, 0.005601f, 0.002878f, -0.005987f, 0.006286f, -0.001880f, -0.001635f, -0.007581f, 0.003230f, 0.007586f, 0.003395f, 0.001513f, -0.003456f, -0.007457f, 0.001778f, -0.001430f, -0.001133f, 0.000555f, -0.000340f, -0.001352f, 0.002467f, -0.002493f, -0.002290f, -0.002137f, 0.003457f, 0.001440f, 0.002732f, -0.001438f, 0.002525f, 0.000216f, -0.002393f, 0.002699f, 0.001481f, -0.002088f, -0.004091f, -0.001431f, 0.003463f, 0.000296f, -0.000842f, 0.001797f, 0.001606f, 0.003790f, -0.000116f, -0.001366f, 0.002429f, -0.001814f, -0.008980f, -0.015640f, 0.007942f, -0.011180f, -0.011317f, 0.002254f, -0.005430f, -0.036652f, 0.003649f, 0.005550f, 0.033566f, 0.010744f, 0.002586f, -0.015285f, 0.014052f, 0.005952f, -0.005963f, 0.007218f, -0.001160f, 0.012072f, -0.007231f, + -0.003852f, -0.002362f, -0.003314f, -0.004930f, -0.002267f, 0.008749f, 0.007477f, 0.013182f, 0.004595f, 0.006524f, -0.000207f, -0.008397f, -0.009275f, 0.012494f, -0.006852f, 0.002864f, -0.001185f, -0.008631f, 0.012494f, -0.001985f, -0.005508f, 0.002302f, 0.009080f, -0.005970f, 0.013822f, -0.017483f, -0.014622f, -0.017732f, 0.004263f, -0.009939f, -0.015334f, -0.003402f, 0.014220f, -0.005938f, 0.004227f, 0.008585f, -0.006198f, -0.007943f, 0.000594f, 0.001430f, 0.004721f, 0.000987f, -0.004510f, -0.000400f, 0.018346f, 0.007919f, -0.007556f, -0.023046f, -0.018557f, 0.006881f, 0.021838f, 0.018522f, -0.014412f, 0.000482f, -0.009421f, 0.004262f, 0.003584f, -0.015580f, -0.001302f, 0.003226f, 0.001780f, -0.004144f, 0.000884f, 0.001056f, 0.000424f, 0.005439f, 0.004818f, -0.003019f, -0.003878f, 0.002727f, -0.001911f, 0.001339f, -0.005525f, 0.002365f, 0.001588f, -0.008621f, -0.002015f, 0.001996f, 0.001280f, 0.000839f, 0.001672f, -0.000420f, 0.000593f, 0.000766f, 0.000827f, -0.003071f, -0.000488f, 0.001243f, -0.001057f, -0.003755f, -0.001979f, 0.000644f, 0.000568f, 0.004341f, -0.006457f, 0.010759f, + -0.018130f, -0.003098f, -0.022484f, -0.006603f, 0.003427f, 0.007890f, -0.020483f, -0.005099f, 0.014175f, -0.001673f, -0.020495f, 0.010698f, -0.006497f, -0.011742f, 0.006545f, 0.010837f, 0.002542f, 0.002301f, 0.003824f, 0.014154f, -0.006595f, -0.005819f, 0.003796f, -0.006950f, -0.003457f, 0.000235f, -0.000682f, 0.000520f, 0.011428f, 0.005855f, -0.001197f, -0.000937f, 0.006732f, 0.002829f, 0.008244f, -0.000650f, 0.009294f, 0.009762f, 0.003998f, -0.010535f, 0.001663f, -0.001425f, -0.007400f, 0.010261f, -0.005644f, 0.004336f, -0.006859f, -0.002508f, -0.025065f, 0.002373f, 0.020613f, 0.001876f, 0.021907f, -0.003946f, -0.004736f, -0.022332f, 0.026446f, 0.012458f, 0.015139f, 0.002526f, 0.012442f, -0.000064f, 0.000071f, 0.010322f, -0.005819f, 0.003786f, 0.000132f, -0.025038f, 0.005940f, -0.005811f, 0.006818f, -0.003700f, 0.006174f, 0.023402f, 0.007219f, 0.006233f, -0.000092f, -0.014069f, 0.010821f, -0.005656f, 0.002330f, 0.005427f, 0.007209f, -0.007701f, -0.001855f, -0.003130f, -0.004012f, 0.004652f, -0.002442f, -0.001933f, -0.003099f, 0.000642f, 0.001072f, 0.000451f, -0.006298f, 0.002719f, + 0.001360f, -0.001358f, 0.002114f, 0.001018f, 0.001878f, 0.001470f, 0.003340f, 0.000140f, 0.000906f, -0.000283f, -0.001249f, 0.004023f, -0.000481f, 0.005625f, 0.001114f, 0.002415f, -0.001433f, 0.003155f, 0.001284f, 0.002592f, 0.002708f, 0.002281f, -0.028750f, -0.001153f, 0.021959f, -0.004969f, 0.013077f, -0.014089f, -0.009386f, -0.025207f, 0.014472f, 0.007211f, 0.016771f, 0.007549f, -0.007988f, 0.013775f, -0.003350f, 0.013172f, -0.008623f, -0.008346f, 0.001195f, -0.003191f, 0.011763f, 0.002228f, 0.009947f, 0.010721f, -0.006369f, -0.005784f, -0.003690f, 0.006992f, -0.001310f, -0.004844f, 0.001653f, -0.010038f, 0.005250f, 0.003282f, -0.005011f, 0.007077f, 0.012949f, -0.005317f, -0.005640f, -0.001743f, -0.009498f, -0.004892f, 0.014855f, 0.001798f, -0.008944f, 0.017666f, -0.019488f, 0.002912f, 0.010678f, -0.004697f, -0.006313f, -0.001643f, 0.008543f, -0.015185f, 0.007662f, -0.006280f, -0.012723f, -0.009840f, -0.007631f, 0.000093f, -0.003530f, -0.008392f, 0.003684f, 0.021993f, 0.012382f, -0.003194f, -0.007483f, -0.021628f, 0.002407f, 0.011752f, -0.006861f, -0.023881f, 0.000765f, -0.003883f, + 0.001318f, 0.002834f, 0.011005f, -0.000790f, -0.005411f, -0.002255f, -0.008539f, -0.005259f, -0.003977f, 0.006387f, -0.005260f, 0.005919f, -0.012526f, 0.000929f, -0.005691f, -0.003995f, 0.007803f, -0.003794f, -0.003522f, -0.004544f, 0.001680f, -0.008199f, -0.003122f, -0.001976f, -0.000212f, 0.001614f, -0.005631f, 0.001510f, -0.004448f, 0.002402f, 0.003105f, 0.006533f, 0.001345f, 0.002295f, 0.003595f, 0.002573f, -0.001808f, 0.000977f, 0.000512f, 0.004843f, 0.002956f, -0.000601f, 0.003057f, -0.000339f, 0.000355f, -0.002120f, 0.000400f, -0.000071f, -0.003406f, 0.000953f, -0.002324f, -0.001935f, 0.000342f, 0.002544f, -0.000646f, 0.009622f, -0.004234f, 0.002441f, 0.014243f, 0.000915f, 0.016685f, 0.018068f, 0.040349f, 0.027500f, 0.016877f, -0.004300f, -0.021367f, -0.007468f, 0.019582f, 0.008451f, -0.020640f, 0.015386f, -0.003601f, -0.010261f, -0.012632f, 0.001865f, 0.034879f, -0.023663f, 0.025222f, 0.009821f, -0.005439f, 0.008260f, -0.006824f, 0.018026f, -0.006937f, 0.009508f, 0.001891f, -0.012555f, -0.008784f, -0.012234f, 0.000458f, 0.010295f, -0.002994f, -0.006912f, 0.006640f, 0.000828f, + -0.002098f, -0.023628f, 0.007127f, -0.013252f, -0.010019f, 0.006476f, 0.015537f, -0.011521f, -0.016561f, 0.000553f, 0.014023f, 0.001123f, -0.009451f, -0.003552f, -0.005635f, 0.006366f, 0.004647f, -0.005464f, -0.008937f, -0.013431f, 0.008262f, 0.021450f, 0.013142f, 0.006751f, -0.012492f, 0.006428f, 0.013576f, -0.015301f, -0.019958f, 0.003452f, -0.016485f, -0.007908f, -0.032293f, 0.000383f, -0.022186f, -0.011577f, 0.005931f, -0.002817f, -0.002161f, 0.009777f, 0.001639f, -0.018112f, -0.012573f, 0.008120f, -0.002536f, 0.000955f, -0.005661f, 0.000502f, 0.005244f, -0.000818f, 0.003463f, 0.003492f, 0.000687f, 0.000303f, 0.002558f, 0.003009f, 0.001977f, 0.000210f, 0.000584f, -0.001851f, 0.004733f, 0.000099f, 0.004351f, -0.000811f, -0.002971f, 0.001399f, 0.004044f, -0.005156f, -0.007591f, -0.003870f, -0.001142f, -0.002384f, 0.008525f, 0.003208f, -0.002752f, 0.003793f, -0.002228f, 0.000557f, -0.006969f, -0.000637f, 0.000443f, -0.003180f, 0.044118f, 0.001011f, -0.017307f, 0.019478f, -0.021314f, 0.024650f, 0.001966f, -0.014989f, -0.025730f, -0.006215f, 0.012573f, -0.020421f, 0.018095f, -0.002888f, + 0.011650f, 0.013927f, -0.011992f, -0.004972f, -0.007236f, -0.009523f, -0.003747f, -0.008900f, 0.001437f, -0.010879f, 0.011263f, 0.007134f, 0.009445f, 0.019248f, 0.009863f, -0.002887f, 0.022920f, 0.011692f, 0.004190f, -0.012351f, -0.013503f, 0.006868f, -0.010352f, 0.002341f, 0.007200f, -0.015371f, 0.013072f, 0.034968f, 0.002604f, 0.024858f, 0.011718f, 0.012006f, 0.017704f, 0.000995f, 0.009350f, 0.009904f, -0.022728f, -0.015413f, 0.015558f, 0.000996f, 0.014678f, 0.002575f, 0.015411f, -0.002558f, 0.005492f, 0.003796f, -0.032538f, -0.002199f, 0.008258f, 0.021653f, 0.004766f, 0.018980f, 0.001852f, -0.004561f, 0.006162f, 0.008473f, -0.018308f, -0.030885f, -0.016350f, 0.004158f, 0.007494f, 0.000948f, 0.022523f, 0.007887f, -0.035538f, 0.008933f, -0.005237f, 0.000096f, 0.010103f, -0.014322f, -0.000582f, -0.007765f, 0.006427f, 0.009062f, 0.000458f, 0.001872f, 0.006531f, 0.000159f, -0.000162f, -0.003187f, -0.003501f, 0.001086f, 0.000567f, 0.000103f, 0.005432f, 0.003890f, 0.001289f, 0.003202f, 0.002044f, 0.000020f, -0.005539f, 0.004204f, 0.003446f, -0.002276f, -0.000585f, -0.000894f, + 0.000157f, 0.003027f, 0.002525f, 0.008253f, -0.007166f, -0.002157f, 0.003042f, -0.001879f, 0.004299f, -0.003662f, 0.007260f, -0.001911f, -0.002358f, 0.000883f, 0.004109f, 0.002834f, -0.001148f, -0.000645f, -0.003026f, -0.000710f, -0.021557f, -0.001683f, -0.019212f, -0.008793f, 0.007873f, -0.009472f, 0.004139f, 0.006676f, -0.011572f, -0.028226f, 0.008975f, -0.027963f, -0.032485f, 0.007192f, -0.016036f, 0.014446f, 0.020239f, -0.005047f, 0.023638f, -0.005590f, 0.023352f, 0.032157f, -0.000072f, 0.002049f, -0.032427f, -0.005950f, 0.003400f, 0.005689f, -0.003879f, -0.021132f, 0.001384f, -0.017872f, 0.002198f, -0.004706f, 0.004810f, -0.006769f, -0.012045f, 0.002866f, -0.002231f, -0.006429f, 0.007477f, 0.000910f, -0.005034f, 0.023268f, 0.008477f, 0.017507f, -0.011075f, 0.003353f, -0.009357f, 0.006765f, -0.002179f, 0.009246f, -0.003165f, -0.006703f, -0.008984f, -0.020299f, -0.012189f, 0.033146f, 0.013235f, 0.022035f, -0.025449f, 0.005485f, 0.018597f, -0.015802f, 0.000014f, 0.012387f, -0.006763f, 0.012429f, 0.001617f, -0.021962f, -0.005887f, -0.033889f, -0.004353f, 0.013882f, 0.006952f, 0.023002f, + 0.002439f, 0.015330f, 0.016039f, 0.005773f, -0.001169f, 0.029756f, 0.002351f, 0.000919f, -0.005236f, -0.002780f, 0.015519f, 0.009329f, 0.014835f, -0.001641f, -0.003249f, -0.003700f, 0.010790f, 0.002364f, -0.002447f, 0.003094f, 0.007351f, -0.001669f, -0.004587f, -0.008588f, 0.000145f, -0.006832f, -0.003245f, -0.005815f, 0.004831f, -0.000608f, -0.010343f, -0.001797f, 0.000598f, 0.000828f, -0.000657f, -0.004742f, 0.006771f, -0.005550f, 0.001610f, 0.002677f, -0.007848f, -0.001379f, -0.005300f, 0.001091f, 0.005985f, -0.005435f, -0.004633f, -0.003371f, -0.003519f, 0.003470f, 0.001791f, -0.020970f, -0.018702f, -0.019861f, -0.028945f, 0.019743f, 0.012796f, 0.001755f, -0.019478f, 0.017597f, -0.000161f, -0.024598f, -0.020109f, -0.007035f, -0.005011f, -0.015758f, -0.006204f, -0.009353f, -0.007915f, -0.005842f, -0.022738f, 0.011362f, 0.013321f, -0.001205f, -0.002115f, -0.004173f, -0.008400f, -0.027032f, -0.029459f, 0.000879f, 0.012791f, -0.007803f, -0.018142f, -0.010216f, 0.013820f, 0.010138f, 0.000676f, -0.005699f, -0.007792f, -0.007919f, 0.017478f, -0.008916f, 0.012288f, -0.008436f, 0.000369f, -0.029392f, + -0.006393f, -0.002333f, 0.022183f, 0.006078f, -0.005184f, -0.016534f, -0.011475f, -0.023134f, 0.037321f, -0.017175f, 0.035445f, 0.004499f, -0.015259f, 0.023359f, 0.023031f, 0.039761f, -0.038998f, 0.016134f, 0.006504f, 0.005242f, -0.007732f, -0.011230f, 0.017261f, 0.008909f, -0.002954f, -0.018327f, 0.020363f, -0.010709f, 0.021891f, 0.018045f, 0.017132f, -0.015520f, 0.033803f, -0.024970f, 0.013908f, 0.021762f, -0.012533f, 0.002704f, 0.000637f, 0.018906f, -0.005021f, 0.008392f, -0.009862f, 0.020205f, -0.000632f, 0.003531f, -0.011600f, 0.009216f, -0.000631f, 0.009508f, -0.002755f, 0.012822f, 0.006288f, 0.004035f, -0.007573f, 0.002413f, -0.006340f, 0.000354f, -0.005397f, -0.007304f, -0.001458f, -0.006452f, -0.004286f, -0.000700f, -0.003265f, -0.006428f, 0.004410f, 0.005332f, 0.007871f, 0.001821f, -0.007341f, 0.000684f, -0.004954f, 0.004966f, 0.002089f, -0.003617f, 0.000978f, 0.003470f, 0.002098f, -0.008278f, 0.001630f, 0.008294f, 0.003267f, -0.001312f, 0.002398f, 0.031786f, -0.053070f, -0.056826f, -0.035827f, -0.005879f, -0.024998f, 0.015406f, -0.020571f, 0.002222f, 0.010144f, -0.001412f, + 0.037408f, 0.027134f, 0.009500f, -0.010865f, -0.008418f, 0.026362f, -0.004449f, 0.004195f, -0.010801f, -0.023283f, 0.000017f, 0.009618f, 0.006232f, -0.012733f, 0.011304f, 0.001766f, -0.001567f, 0.022374f, 0.030569f, 0.002347f, -0.019603f, -0.008275f, -0.037570f, -0.014392f, -0.009735f, -0.011113f, 0.001664f, 0.006729f, -0.013674f, -0.005296f, -0.019113f, 0.020736f, 0.024659f, 0.020740f, 0.023026f, 0.018290f, 0.030141f, 0.003870f, 0.010335f, 0.007335f, -0.005489f, 0.011802f, 0.017965f, -0.017859f, -0.062352f, -0.014335f, 0.020704f, -0.032122f, 0.016463f, 0.020551f, 0.007362f, -0.009643f, 0.001562f, -0.007578f, -0.025034f, -0.006631f, 0.016298f, -0.019839f, -0.016940f, 0.006204f, -0.013751f, 0.040777f, 0.041291f, -0.015100f, 0.026593f, 0.007211f, -0.003894f, -0.017883f, 0.012722f, -0.024189f, -0.020148f, 0.022374f, 0.016772f, 0.011941f, -0.001552f, -0.001942f, -0.029695f, -0.021163f, -0.003903f, -0.006557f, -0.005522f, -0.004241f, -0.008774f, -0.007073f, -0.008178f, -0.003893f, 0.001093f, 0.007228f, 0.005557f, 0.009513f, -0.000772f, -0.004205f, -0.004440f, -0.002809f, 0.013419f, 0.012681f, + 0.006453f, -0.000921f, -0.000840f, -0.002627f, -0.005001f, -0.007557f, -0.003429f, 0.001658f, -0.002293f, 0.005671f, -0.002860f, 0.002294f, 0.002600f, 0.002557f, 0.005138f, -0.005702f, -0.000094f, 0.001480f, 0.004358f, -0.006915f, 0.012382f, -0.004842f, -0.003114f, 0.051209f, -0.043149f, -0.000487f, 0.006948f, -0.040686f, -0.012408f, -0.017002f, 0.005871f, -0.012213f, 0.035276f, 0.004873f, -0.000739f, 0.044701f, -0.002809f, -0.039092f, -0.031859f, -0.019053f, 0.014922f, -0.002037f, -0.038453f, 0.010028f, 0.010340f, 0.020298f, -0.022990f, 0.011764f, 0.019027f, 0.017032f, 0.013220f, -0.004434f, 0.022798f, 0.025147f, 0.008153f, -0.055354f, 0.040347f, -0.019722f, 0.015385f, -0.003851f, -0.006027f, 0.010840f, -0.024872f, -0.013879f, 0.025868f, -0.011761f, -0.003654f, 0.023800f, -0.026669f, 0.023933f, -0.009424f, 0.022233f, -0.029348f, 0.039016f, -0.017509f, 0.060267f, -0.008099f, 0.003937f, 0.015237f, -0.013146f, -0.010092f, -0.007160f, 0.004683f, -0.002940f, -0.030462f, -0.037870f, -0.010702f, 0.022195f, -0.011585f, -0.013681f, -0.038912f, 0.017962f, 0.003814f, -0.052802f, -0.000937f, 0.000817f, + 0.007654f, 0.027329f, -0.018642f, 0.008609f, -0.023896f, -0.020678f, -0.031643f, -0.031324f, -0.005720f, -0.018288f, 0.022600f, -0.003701f, 0.022075f, -0.010747f, 0.012520f, -0.001705f, -0.014348f, -0.019704f, -0.002401f, 0.002429f, 0.009545f, -0.004639f, 0.004135f, 0.002010f, 0.007793f, -0.000727f, -0.010621f, -0.001463f, -0.016007f, -0.000677f, 0.002464f, 0.003579f, 0.000787f, -0.005968f, -0.007817f, 0.008799f, 0.003942f, -0.002573f, 0.009837f, -0.012447f, -0.016756f, -0.000254f, 0.014697f, 0.000395f, 0.004193f, 0.005902f, 0.010028f, 0.000652f, 0.011235f, -0.009175f, 0.003556f, 0.002309f, 0.009126f, 0.015648f, -0.009782f, 0.002563f, -0.002356f, 0.002600f, 0.019644f, 0.059043f, 0.029522f, -0.018037f, 0.040768f, 0.013365f, -0.025948f, 0.009980f, 0.026368f, -0.004106f, -0.008897f, -0.036323f, -0.009774f, 0.022352f, 0.014694f, 0.010619f, 0.006657f, -0.006577f, -0.014492f, -0.034289f, 0.018308f, -0.011711f, 0.009161f, -0.026336f, -0.014162f, -0.000689f, -0.003973f, 0.033652f, 0.010234f, 0.005336f, 0.025875f, 0.012349f, -0.038938f, -0.004597f, 0.014357f, -0.007351f, 0.000898f, 0.033247f, + 0.011042f, 0.038604f, -0.022407f, -0.014227f, -0.006252f, -0.014458f, 0.015253f, -0.015070f, 0.029196f, 0.028933f, -0.012652f, -0.028355f, 0.047515f, -0.024448f, -0.009761f, -0.005731f, 0.014219f, 0.007179f, -0.026357f, -0.007940f, 0.017024f, -0.012628f, 0.021568f, -0.010208f, 0.030519f, -0.015856f, 0.006965f, 0.046467f, -0.000841f, 0.032720f, 0.056846f, 0.007127f, 0.027962f, -0.014451f, -0.068172f, -0.046316f, -0.008769f, -0.002971f, 0.038885f, -0.001316f, 0.013065f, 0.003245f, -0.009559f, -0.031681f, -0.070362f, 0.053261f, 0.003772f, 0.001522f, 0.017526f, 0.008254f, -0.017096f, 0.039351f, 0.002060f, 0.008260f, -0.000405f, 0.002590f, -0.034663f, -0.012974f, -0.022824f, -0.013894f, -0.001040f, -0.012989f, -0.012856f, 0.007995f, -0.002734f, -0.008970f, 0.025502f, -0.004818f, -0.025781f, -0.018568f, 0.006570f, 0.001189f, -0.007426f, 0.039279f, 0.011958f, -0.013259f, -0.015149f, 0.003997f, -0.003470f, -0.008255f, 0.001353f, 0.003524f, -0.008799f, 0.009241f, -0.000238f, 0.013387f, 0.017572f, 0.003319f, -0.001592f, -0.005400f, 0.011796f, 0.011259f, 0.010308f, -0.077112f, -0.018462f, 0.080535f, + -0.030915f, -0.034533f, 0.071109f, -0.045627f, 0.040071f, 0.053552f, 0.021164f, 0.007359f, -0.040674f, 0.015565f, -0.071349f, -0.035153f, 0.015612f, 0.037091f, 0.004195f, 0.008554f, 0.027040f, 0.072167f, 0.048785f, 0.015245f, 0.002692f, -0.000086f, 0.008029f, 0.005958f, -0.028008f, 0.000593f, 0.017859f, 0.022574f, 0.096313f, 0.054283f, 0.037114f, 0.069543f, 0.028417f, -0.009969f, 0.020894f, -0.001323f, 0.066633f, 0.024107f, -0.005446f, -0.011125f, 0.027840f, -0.004304f, 0.031967f, -0.099369f, 0.004285f, 0.034189f, -0.002060f, 0.041383f, -0.015496f, 0.010916f, 0.022051f, -0.092530f, -0.035758f, -0.007283f, -0.029635f, -0.038357f, -0.045181f, 0.042232f, -0.027647f, 0.008389f, -0.008474f, 0.042374f, -0.069521f, -0.019133f, -0.009820f, 0.021758f, -0.000351f, -0.006467f, 0.051213f, 0.089291f, -0.000479f, 0.027721f, -0.016966f, 0.007432f, 0.062473f, -0.066601f, -0.039575f, -0.055769f, -0.070297f, -0.006270f, -0.002887f, -0.027818f, -0.029877f, -0.028328f, -0.026886f, -0.034679f, -0.050215f, -0.022040f, -0.032626f, -0.020086f, 0.008583f, 0.043830f, 0.013911f, 0.006439f, 0.006435f, -0.004622f, + 0.009609f, 0.004008f, -0.031528f, -0.028480f, -0.008364f, -0.040027f, -0.016058f, -0.017849f, -0.013945f, -0.016011f, 0.017849f, -0.014847f, 0.000782f, 0.002280f, 0.007480f, 0.021421f, 0.032973f, -0.000862f, -0.008832f, 0.023717f, -0.012744f, 0.014901f, 0.005443f, 0.002800f, -0.007026f, 0.003807f, 0.002530f, -0.014886f, -0.019416f, -0.021052f, -0.003438f, 0.006554f, 0.041829f, 0.036846f, -0.034694f, -0.122751f, -0.022247f, 0.050339f, 0.011364f, -0.013677f, -0.009958f, 0.003834f, -0.017233f, -0.022506f, 0.026799f, 0.020216f, 0.055548f, 0.020335f, 0.033280f, -0.012570f, 0.073999f, 0.013447f, 0.046807f, -0.006600f, 0.068235f, -0.025980f, 0.044353f, -0.043446f, 0.000096f, 0.004853f, 0.031603f, -0.012518f, -0.024083f, -0.057484f, 0.031753f, 0.004262f, 0.006283f, -0.027773f, -0.051885f, -0.003127f, 0.005710f, -0.006323f, 0.015538f, 0.033264f, 0.004745f, 0.023793f, 0.084603f, -0.035691f, 0.008235f, -0.027936f, 0.043561f, 0.038067f, -0.042862f, 0.040245f, 0.045623f, -0.032769f, 0.011378f, 0.010836f, 0.031526f, 0.015745f, 0.064345f, 0.020394f, -0.023212f, 0.003909f, 0.083240f, 0.026501f, + -0.095796f, 0.028213f, 0.016808f, -0.082167f, -0.023147f, -0.026300f, -0.058365f, 0.004219f, 0.035541f, 0.039320f, -0.023620f, 0.070688f, -0.018498f, -0.030660f, -0.016132f, 0.037390f, -0.139018f, -0.016912f, 0.001691f, 0.111895f, 0.014495f, 0.094877f, 0.045231f, 0.066593f, -0.002215f, 0.022866f, -0.013104f, 0.056430f, 0.056876f, 0.051376f, -0.012791f, -0.034208f, -0.014357f, 0.056369f, -0.006999f, -0.036816f, -0.016377f, 0.066778f, 0.008935f, -0.041539f, -0.014590f, 0.060239f, 0.016837f, 0.025085f, -0.001206f, 0.022755f, -0.017615f, -0.001192f, -0.001710f, 0.009854f, -0.002022f, 0.010651f, -0.008794f, -0.019558f, -0.023573f, -0.028304f, -0.004170f, -0.020668f, -0.000458f, -0.003699f, -0.008523f, 0.019972f, -0.023233f, -0.009330f, -0.023051f, -0.008381f, -0.041914f, -0.030888f, 0.041349f, 0.000731f, -0.048321f, -0.076593f, 0.062201f, 0.132556f, 0.009382f, -0.074304f, 0.115140f, -0.026215f, -0.001196f, 0.015987f, 0.065511f, -0.037766f, 0.003266f, 0.129844f, -0.064077f, 0.030647f, 0.044354f, 0.041735f, -0.057257f, -0.006180f, 0.010832f, -0.028650f, 0.005421f, 0.013221f, -0.022986f, 0.022763f, + -0.039315f, -0.011639f, -0.015447f, -0.003360f, -0.023406f, -0.021266f, -0.007225f, 0.012194f, -0.042918f, -0.040925f, 0.061507f, 0.010731f, -0.037718f, -0.010359f, 0.036789f, 0.087741f, -0.007178f, -0.043292f, 0.046461f, 0.067212f, -0.019123f, -0.005359f, 0.002263f, 0.024117f, 0.000694f, -0.000276f, 0.031228f, -0.074958f, 0.051705f, -0.043389f, 0.001063f, -0.061361f, 0.034762f, -0.005119f, -0.090630f, 0.044643f, -0.005991f, -0.035616f, 0.062025f, 0.006882f, 0.061337f, -0.051793f, -0.019183f, -0.021135f, -0.047066f, -0.074194f, -0.097160f, 0.082549f, 0.034415f, 0.060673f, 0.056803f, 0.034467f, 0.014112f, -0.035489f, 0.053819f, -0.026853f, -0.021900f, 0.071777f, 0.024624f, -0.013951f, -0.005940f, 0.021622f, -0.050607f, 0.012807f, -0.019674f, 0.033490f, -0.012471f, -0.022237f, 0.032852f, 0.005119f, -0.037472f, 0.002696f, -0.017469f, -0.010959f, 0.008591f, -0.008666f, 0.007506f, -0.002447f, -0.026831f, -0.014211f, 0.012400f, -0.009480f, -0.016712f, 0.016750f, 0.027503f, 0.026097f, -0.020714f, -0.009078f, 0.031539f, -0.052907f, 0.016332f, 0.018886f, -0.021948f, -0.052577f, 0.026836f, 0.002917f, + -0.022978f, 0.015968f, -0.024634f, -0.041008f, 0.011266f, 0.036109f, -0.029604f, -0.013386f, 0.013491f, 0.031473f, -0.008146f, -0.004323f, 0.028324f, 0.001633f, -0.021739f, 0.072073f, -0.029290f, 0.021298f, 0.016767f, -0.074919f, 0.067385f, 0.023471f, -0.019152f, 0.057731f, 0.004921f, 0.003810f, 0.028343f, -0.025143f, 0.073835f, -0.059233f, -0.031588f, 0.027462f, 0.025499f, 0.012526f, -0.054941f, -0.033536f, -0.061229f, 0.033889f, 0.008264f, 0.030960f, 0.000168f, 0.033257f, 0.013542f, 0.011135f, 0.001459f, 0.028361f, -0.012666f, 0.015619f, -0.027915f, 0.021039f, -0.025791f, -0.000216f, -0.034087f, -0.024305f, 0.001566f, -0.030428f, 0.014393f, 0.072589f, 0.017481f, -0.054375f, 0.028513f, 0.021858f, 0.038621f, 0.001113f, 0.064134f, -0.054970f, 0.008548f, 0.025569f, -0.052934f, -0.012345f, 0.107220f, 0.060326f, -0.141593f, -0.060135f, 0.075521f, -0.020543f, -0.067116f, 0.026562f, -0.006759f, -0.051840f, 0.038182f, 0.064502f, -0.087252f, 0.017327f, 0.077721f, -0.052535f, -0.047069f, 0.063497f, 0.008628f, -0.052174f, 0.009398f, 0.041293f, -0.045527f, -0.006303f, 0.050153f, -0.007314f, + -0.022193f, -0.035805f, 0.045891f, -0.012065f, 0.025635f, 0.005974f, 0.026036f, -0.017746f, 0.016887f, 0.046232f, 0.018331f, -0.034011f, 0.002876f, -0.024326f, -0.016403f, -0.034263f, -0.003021f, -0.009121f, -0.002352f, -0.023020f, 0.023643f, 0.020327f, -0.007972f, 0.052842f, -0.013297f, -0.056110f, 0.067651f, -0.007987f, -0.012785f, 0.012490f, 0.023734f, 0.003204f, -0.006212f, 0.057072f, 0.031414f, -0.040042f, 0.003450f, 0.016257f, -0.029028f, -0.024002f, 0.041312f, -0.021232f, -0.078196f, 0.075426f, 0.009668f, -0.076237f, -0.002191f, 0.040199f, -0.028611f, -0.064107f, 0.037053f, 0.049432f, -0.079036f, 0.011667f, 0.059602f, -0.034883f, -0.006064f, 0.065217f, -0.004779f, -0.026606f, 0.015333f, 0.027564f, -0.035677f, -0.009749f, 0.038274f, -0.008713f, -0.033341f, 0.028088f, 0.016780f, -0.019432f, 0.062990f, -0.135594f, -0.009255f, -0.024327f, -0.149947f, -0.027321f, -0.046009f, 0.014316f, 0.026196f, 0.044040f, -0.019498f, -0.059089f, -0.021823f, -0.085079f, 0.011666f, 0.029820f, 0.017848f, 0.012962f, -0.067741f, 0.041279f, 0.006946f, -0.082292f, 0.060065f, -0.088463f, -0.035668f, -0.033504f, + 0.024187f, 0.063139f, 0.074128f, -0.006573f, -0.016316f, -0.142878f, 0.061432f, 0.143607f, 0.052841f, 0.002771f, -0.078901f, -0.116594f, -0.047380f, -0.010359f, 0.060895f, -0.073250f, -0.043149f, -0.075244f, -0.023522f, 0.134055f, 0.145443f, -0.025902f, -0.066679f, -0.058292f, -0.030467f, -0.015963f, 0.073373f, -0.035401f, 0.022123f, 0.014591f, 0.048882f, -0.014040f, -0.032554f, -0.085470f, -0.036560f, 0.128482f, 0.055543f, 0.085267f, -0.078632f, -0.044434f, -0.036307f, 0.087125f, 0.002009f, -0.143648f, -0.137650f, 0.076460f, 0.133132f, 0.222192f, 0.039212f, -0.190106f, 0.031898f, -0.050780f, 0.064606f, 0.061309f, -0.231808f, -0.074756f, 0.045526f, 0.121494f, 0.029928f, -0.118855f, -0.026266f, -0.012575f, 0.068833f, 0.057835f, 0.015839f, -0.095361f, -0.014633f, 0.020006f, 0.042334f, 0.020246f, -0.024513f, 0.003315f, -0.052198f, -0.007366f, -0.000756f, 0.049879f, -0.034528f, 0.066768f, -0.042967f, 0.018541f, 0.039277f, -0.016874f, 0.032589f, 0.028049f, 0.053067f, 0.002025f, -0.025643f, -0.031233f, 0.004844f, 0.001894f, 0.009014f, 0.004856f, -0.001727f, -0.004244f, -0.019158f, -0.020913f, + -0.004019f, 0.032800f, -0.008616f, 0.000252f, -0.007004f, 0.010520f, 0.002501f, 0.017992f, -0.017023f, -0.022778f, -0.043842f, -0.022399f, -0.002609f, 0.023931f, -0.023464f, -0.002163f, -0.068645f, 0.058635f, -0.061272f, -0.012947f, 0.001903f, 0.015727f, -0.011861f, 0.014134f, 0.023317f, -0.038996f, -0.034114f, -0.000473f, 0.008535f, 0.025485f, -0.028805f, 0.004275f, 0.021328f, -0.016593f, 0.013151f, -0.008492f, 0.066071f, -0.000692f, -0.010451f, 0.038464f, 0.020506f, 0.034207f, -0.017602f, 0.021931f, -0.007333f, -0.000667f, 0.027569f, 0.020156f, 0.004226f, 0.008602f, 0.037325f, -0.034982f, -0.011076f, 0.004015f, 0.050510f, -0.000575f, -0.011914f, 0.047626f, -0.012486f, -0.020357f, -0.020944f, 0.039500f, -0.009751f, 0.017385f, 0.010068f, 0.006211f, -0.014220f, 0.007287f, 0.014879f, 0.005639f, 0.043918f, 0.022238f, 0.012186f, -0.018980f, -0.003293f, 0.017137f, -0.032031f, 0.011624f, 0.011661f, 0.032892f, 0.000073f, -0.003664f, 0.018119f, 0.004294f, -0.037107f, 0.041564f, 0.012281f, -0.009445f, 0.033987f, -0.023110f, -0.003241f, -0.017199f, -0.015573f, 0.033999f, 0.024390f, -0.002151f, + 0.012039f, -0.020007f, 0.004372f, -0.027042f, -0.002923f, -0.024755f, 0.005237f, 0.016263f, 0.005537f, 0.003161f, -0.005726f, -0.003297f, 0.004441f, -0.014752f, 0.004019f, -0.006322f, 0.006750f, -0.009689f, -0.003773f, -0.008964f, -0.011895f, 0.005717f, -0.002325f, -0.000674f, -0.004585f, 0.016108f, 0.005884f, -0.020212f, -0.021498f, -0.014384f, 0.004159f, 0.006704f, 0.015168f, 0.009246f, -0.019830f, -0.002832f, -0.007653f, 0.017996f, -0.004789f, 0.019400f, 0.007726f, -0.015787f, -0.000177f, 0.008641f, -0.009327f, 0.012397f, -0.007550f, 0.014006f, -0.010105f, -0.003099f, 0.004227f, -0.007836f, 0.107021f, 0.008627f, -0.039566f, -0.032748f, 0.005287f, 0.024202f, -0.001513f, 0.022090f, -0.008448f, -0.005926f, -0.029729f, -0.006539f, -0.020837f, 0.033030f, -0.020727f, -0.001701f, -0.013111f, -0.006177f, -0.007721f, 0.003599f, -0.022031f, 0.003349f, -0.009537f, -0.015499f, 0.004469f, -0.002488f, 0.001165f, -0.004214f, 0.007655f, 0.003706f, -0.018455f, -0.011828f, -0.000100f, -0.012484f, -0.010929f, 0.009084f, -0.003070f, -0.018805f, 0.001150f, -0.010472f, 0.007904f, -0.027767f, 0.013757f, -0.012088f, + -0.021159f, 0.006366f, -0.009762f, -0.010948f, 0.002730f, -0.000217f, 0.001186f, -0.004652f, 0.004529f, -0.008522f, 0.009251f, -0.005862f, 0.000858f, 0.015424f, -0.011306f, 0.005148f, -0.003086f, -0.001683f, 0.004070f, -0.012832f, 0.011481f, -0.013490f, 0.011459f, -0.002858f, -0.000721f, -0.008658f, 0.010817f, -0.012968f, 0.000687f, 0.004506f, -0.017142f, 0.016875f, -0.010507f, 0.007126f, -0.008001f, 0.006803f, -0.006208f, -0.007566f, 0.012410f, -0.007968f, -0.001737f, 0.012304f, -0.008173f, -0.000190f, 0.000844f, 0.001881f, -0.009024f, 0.000624f, -0.000977f, -0.003944f, -0.002667f, 0.002038f, -0.002965f, -0.004851f, -0.002556f, 0.005303f, -0.005125f, 0.003949f, -0.001593f, -0.000662f, -0.001781f, -0.003757f, 0.003243f, -0.002573f, -0.003082f, 0.003602f, -0.004083f, 0.002825f, 0.001154f, -0.002445f, 0.000365f, -0.000715f, 0.000809f, -0.007586f, 0.006945f, -0.007802f, 0.001105f, -0.001252f, -0.004255f, 0.000911f, -0.002452f, 0.005116f, -0.013127f, -0.051841f, -0.082856f, 0.087852f, 0.306656f, 0.058453f, 0.092240f, -0.188979f, -0.262127f, -0.109891f, -0.137148f, 0.105813f, 0.246242f, 0.141155f, + 0.095199f, 0.009233f, -0.135347f, -0.120292f, -0.119799f, -0.049360f, 0.068308f, 0.057811f, 0.062272f, 0.055506f, -0.001652f, -0.009300f, -0.014028f, -0.019609f, -0.028253f, -0.004114f, 0.037820f, -0.003609f, -0.021663f, -0.008835f, -0.031386f, -0.018025f, -0.005310f, -0.008118f, 0.060558f, 0.055871f, 0.033383f, 0.035376f, 0.002003f, -0.043864f, -0.044288f, -0.081823f, -0.054167f, 0.007233f, 0.006821f, 0.016405f, 0.048295f, 0.068312f, 0.041306f, 0.034289f, -0.001424f, -0.039059f, -0.053872f, -0.046870f, -0.038982f, 0.005372f, 0.014095f, 0.024886f, 0.017491f, 0.011311f, 0.002639f, -0.014364f, 0.005677f, 0.001150f, 0.006039f, 0.033857f, -0.003070f, 0.014878f, 0.015615f, -0.025551f, -0.047807f, -0.049543f, -0.044380f, 0.011617f, 0.036583f, 0.026247f, 0.040016f, 0.034994f, -0.011711f, 0.008652f, 0.021854f, -0.014222f, -0.013065f, -0.030869f, -0.039461f, -0.015552f, -0.009267f, -0.004298f, 0.016813f, 0.007637f, 0.009107f, 0.026472f, 0.025411f, 0.026057f, 0.015033f, 0.006515f, -0.013089f, -0.016465f, -0.040579f, -0.044735f, -0.031542f, -0.023344f, 0.010095f, 0.028925f, 0.036661f, 0.048961f, + 0.035146f, 0.022249f, 0.000366f, -0.015404f, -0.024000f, -0.050948f, -0.053823f, -0.019165f, 0.009650f, 0.025617f, 0.020586f, 0.017789f, 0.020603f, 0.014734f, -0.000984f, -0.003960f, 0.002189f, 0.000434f, -0.008929f, -0.008136f, -0.027207f, -0.017983f, -0.000754f, 0.009741f, 0.013409f, 0.010520f, -0.004058f, -0.000558f, 0.009882f, 0.007696f, 0.000586f, 0.005329f, 0.004766f, -0.003237f, -0.012827f, -0.011605f, -0.011109f, -0.002620f, -0.002941f, -0.000257f, 0.002349f, 0.011339f, 0.012618f, 0.011340f, 0.005407f, 0.003630f, -0.005378f, -0.009833f, -0.012078f, -0.007130f, -0.004259f, -0.000037f, 0.000630f, 0.004169f, 0.003634f, 0.006786f, 0.004601f, 0.002772f, -0.001166f, -0.000525f, -0.001641f, -0.001041f, -0.004163f, -0.003793f, -0.003245f, 0.002246f, 0.002634f, 0.003261f, -0.000789f, -0.001189f, -0.001918f, 0.001745f, 0.000377f, 0.001718f, 0.000341f, 0.001969f, -0.000881f, -0.000846f, -0.001877f, 0.001023f, -0.000347f, 0.000538f, -0.001989f, -0.000732f, -0.001691f, 0.000663f, 0.000174f, 0.002390f, 0.000425f, 0.001090f, -0.000165f, 0.001708f, -0.000024f, 0.000242f, -0.002578f, -0.001451f, + -0.002303f, 0.000230f, -0.000289f, 0.001737f, 0.000163f, 0.001579f, 0.000272f, 0.001253f, -0.000966f, 0.000208f, -0.001180f, 0.000521f, -0.000884f, 0.000674f, -0.000671f, 0.000734f, -0.001012f, 0.000391f, -0.000731f, 0.001045f, -0.000414f, 0.000893f, -0.000706f, 0.000778f, -0.000691f, 0.000812f, -0.000660f, 0.000772f, -0.000779f, 0.000684f, -0.000826f, 0.000652f, -0.000831f, 0.000689f, -0.000756f} + }, + { + {0.004110f, 0.011707f, 0.001045f, 0.007816f, -0.001759f, -0.001209f, -0.004200f, 0.008338f, 0.005351f, -0.004995f, -0.006466f, 0.004170f, -0.001616f, -0.010067f, -0.011549f, 0.002689f, 0.000619f, -0.003974f, -0.003911f, -0.007864f, 0.005024f, -0.009240f, 0.002389f, -0.000966f, 0.002120f, 0.000694f, 0.002007f, -0.004186f, -0.000561f, 0.001567f, 0.002678f, -0.001004f, 0.003269f, 0.002294f, -0.004033f, 0.003008f, -0.002425f, -0.007888f, 0.011153f, -0.002197f, 0.000546f, 0.002585f, -0.001354f, 0.006067f, 0.007876f, -0.001744f, 0.002981f, 0.005827f, 0.000535f, -0.006316f, -0.004746f, 0.001505f, 0.003767f, -0.001961f, 0.002078f, 0.007165f, -0.006324f, -0.005800f, 0.006048f, 0.001080f, -0.002342f, -0.003941f, -0.000128f, 0.001307f, 0.004599f, -0.007360f, 0.003628f, 0.001792f, -0.005650f, -0.006221f, 0.005294f, -0.003415f, -0.007500f, -0.003288f, -0.000668f, 0.011321f, 0.013191f, -0.001200f, 0.002223f, -0.001702f, 0.002062f, -0.002233f, 0.003534f, 0.002060f, -0.002130f, -0.000793f, -0.002264f, 0.001062f, -0.003032f, 0.002836f, 0.002627f, 0.000526f, -0.003557f, 0.000366f, -0.000129f, 0.001507f, + -0.000889f, 0.002373f, -0.001221f, 0.000373f, 0.000199f, 0.001450f, -0.000294f, 0.000464f, 0.000485f, 0.001500f, -0.000032f, -0.014460f, -0.006252f, -0.009976f, 0.006536f, -0.004839f, -0.006779f, -0.004590f, -0.006079f, -0.001208f, 0.002238f, 0.010939f, 0.001885f, -0.005846f, 0.009230f, 0.000359f, 0.009515f, -0.009150f, 0.014738f, 0.006840f, 0.015988f, -0.002872f, -0.005450f, -0.001102f, -0.008807f, -0.000751f, -0.000634f, -0.003191f, 0.002984f, 0.000293f, -0.006995f, -0.001698f, -0.000032f, 0.002161f, 0.006932f, 0.001598f, -0.010456f, -0.008707f, -0.003309f, 0.005866f, 0.000383f, 0.000284f, -0.005304f, 0.008696f, -0.000245f, 0.000632f, -0.003760f, 0.001104f, -0.002275f, 0.004561f, -0.001488f, 0.014499f, 0.000115f, -0.001916f, 0.005489f, -0.003671f, -0.006535f, -0.002709f, 0.004906f, 0.008746f, 0.001444f, 0.005353f, 0.001311f, 0.000896f, -0.004616f, -0.004510f, -0.007389f, -0.000340f, -0.007660f, 0.001890f, 0.006223f, 0.006640f, 0.004666f, -0.002381f, -0.003400f, 0.005959f, -0.004248f, -0.001783f, 0.003721f, -0.003424f, -0.000608f, -0.001788f, 0.003852f, 0.006853f, 0.003536f, 0.001999f, + -0.001745f, -0.000787f, 0.001232f, -0.000701f, 0.004593f, 0.000765f, -0.002251f, -0.001347f, -0.001036f, -0.000327f, 0.000640f, 0.000555f, 0.000070f, -0.000731f, 0.002129f, 0.001337f, 0.000102f, 0.000808f, -0.001665f, -0.001077f, -0.001329f, -0.001569f, -0.000552f, -0.001757f, -0.001706f, -0.000389f, 0.002186f, 0.010098f, 0.010953f, 0.005763f, 0.000034f, 0.008908f, -0.004790f, -0.007599f, 0.007425f, 0.007677f, 0.009787f, 0.014349f, 0.001420f, -0.009154f, 0.005379f, -0.008729f, -0.000505f, 0.002914f, 0.002181f, 0.015987f, 0.001359f, -0.012877f, -0.000492f, 0.002297f, 0.005518f, -0.000930f, -0.004259f, -0.014174f, -0.002667f, 0.012032f, 0.004282f, 0.007915f, 0.009393f, 0.007706f, 0.002276f, -0.001336f, 0.008366f, -0.010523f, -0.000190f, -0.007152f, 0.019345f, -0.001033f, 0.000672f, 0.008561f, -0.006990f, -0.001110f, 0.003140f, -0.001066f, 0.011595f, -0.001757f, 0.003598f, 0.010979f, -0.001996f, 0.003453f, 0.001048f, -0.000516f, 0.000029f, -0.001426f, -0.003032f, 0.004757f, 0.006502f, -0.001522f, 0.006473f, 0.002329f, 0.012674f, 0.014347f, -0.000625f, 0.003852f, 0.002508f, -0.007213f, + 0.007239f, -0.001748f, -0.005895f, 0.002551f, 0.007133f, 0.002002f, -0.001687f, 0.012723f, -0.001666f, 0.003476f, 0.003949f, 0.001910f, -0.006309f, -0.000343f, -0.001177f, 0.001056f, -0.003265f, -0.000670f, 0.000525f, 0.001383f, 0.001500f, 0.002372f, -0.000683f, 0.001179f, -0.003023f, -0.002110f, -0.003782f, 0.003026f, 0.001130f, -0.000544f, 0.001330f, -0.000499f, -0.003078f, 0.002067f, 0.000452f, 0.001510f, -0.000843f, -0.001082f, 0.000707f, 0.003820f, -0.003773f, 0.002192f, 0.016052f, 0.015554f, -0.006072f, -0.009046f, -0.007742f, -0.005466f, 0.004107f, -0.017196f, -0.001571f, 0.002273f, -0.008089f, -0.015247f, 0.014807f, -0.003280f, -0.003599f, 0.002252f, 0.006884f, 0.005934f, -0.007398f, -0.003092f, -0.000194f, -0.000927f, 0.003650f, 0.005068f, -0.002735f, 0.006258f, -0.004652f, 0.009653f, -0.001048f, 0.000285f, -0.004874f, 0.005046f, 0.002029f, -0.001599f, -0.004854f, 0.002253f, -0.002701f, -0.004473f, -0.003532f, 0.000760f, 0.003347f, -0.009347f, 0.000925f, -0.017539f, -0.009943f, 0.006158f, -0.002492f, 0.001972f, 0.004026f, 0.011365f, -0.003562f, -0.005891f, -0.000268f, 0.000255f, + 0.004962f, 0.004535f, -0.005239f, -0.002471f, 0.012809f, 0.000376f, 0.002068f, 0.000971f, 0.005774f, -0.010679f, 0.000491f, 0.005247f, 0.009983f, 0.001957f, 0.004366f, 0.014869f, -0.003554f, -0.001522f, -0.007979f, -0.000005f, 0.002595f, 0.005132f, 0.000113f, -0.003344f, 0.004703f, -0.000508f, 0.008442f, -0.000034f, -0.000211f, 0.000907f, -0.010406f, -0.005539f, -0.006114f, 0.005749f, -0.000913f, -0.001811f, -0.000008f, 0.000659f, -0.000331f, 0.002964f, -0.000891f, -0.001868f, -0.002233f, -0.001254f, -0.003198f, -0.002240f, 0.002515f, 0.000035f, -0.000839f, -0.001773f, 0.000812f, 0.000530f, 0.000259f, -0.001574f, 0.002751f, 0.001043f, 0.001742f, -0.000520f, -0.000141f, -0.002016f, -0.002055f, 0.001255f, -0.000980f, 0.001738f, 0.002449f, -0.000095f, -0.010275f, -0.015693f, 0.006649f, -0.005020f, 0.000173f, -0.008003f, 0.006204f, -0.018136f, -0.015142f, -0.017093f, -0.005932f, -0.003495f, -0.012164f, 0.006315f, 0.016374f, -0.011974f, 0.002430f, 0.019535f, -0.004596f, -0.005111f, -0.009024f, 0.001748f, -0.000165f, 0.008757f, 0.002693f, 0.006346f, 0.004212f, -0.006124f, -0.012416f, -0.005676f, + 0.007236f, -0.003991f, -0.007637f, 0.002083f, 0.002997f, 0.002603f, 0.001451f, 0.017040f, -0.008069f, 0.009362f, -0.004503f, 0.004793f, -0.005018f, 0.014211f, -0.010551f, 0.005912f, -0.000971f, -0.008147f, 0.007657f, -0.002905f, -0.002870f, 0.008552f, 0.004338f, -0.000530f, -0.003805f, 0.007792f, 0.003636f, -0.007630f, -0.009483f, 0.006607f, 0.010253f, 0.006027f, 0.000125f, -0.004321f, 0.000411f, 0.006804f, -0.002967f, 0.008184f, -0.001998f, -0.016081f, 0.000395f, -0.006954f, 0.023054f, 0.008285f, -0.013307f, -0.007234f, -0.002723f, -0.005777f, 0.005856f, 0.005990f, 0.004271f, -0.002646f, 0.004959f, 0.004287f, 0.001315f, -0.000779f, -0.006932f, 0.001544f, 0.002217f, -0.001748f, 0.001442f, 0.002568f, -0.001037f, -0.000089f, 0.001371f, -0.000233f, -0.002150f, -0.001490f, 0.000034f, 0.001981f, -0.001974f, 0.001887f, 0.001855f, -0.002346f, -0.003385f, -0.003897f, 0.000001f, 0.002646f, -0.001248f, 0.002375f, -0.001896f, 0.000042f, 0.001513f, -0.000954f, -0.003807f, 0.000797f, 0.005983f, -0.013389f, -0.016537f, 0.014267f, -0.003044f, -0.013319f, 0.001125f, -0.003352f, 0.013766f, 0.006952f, + -0.003487f, 0.002670f, -0.000664f, -0.001940f, -0.002429f, 0.016105f, 0.003166f, 0.000981f, -0.010875f, -0.004864f, -0.002511f, 0.005732f, 0.007070f, 0.021650f, 0.000588f, 0.000841f, -0.000609f, 0.001600f, -0.009410f, 0.000564f, 0.003964f, -0.011627f, -0.008254f, -0.007480f, -0.000910f, 0.015870f, -0.012739f, 0.002322f, 0.007238f, 0.003256f, -0.005926f, 0.006694f, -0.015912f, 0.013203f, -0.002769f, 0.000147f, 0.007148f, -0.007930f, -0.009406f, -0.014526f, 0.003168f, -0.004654f, 0.013957f, 0.004979f, 0.000400f, 0.002797f, 0.004286f, 0.011053f, -0.004765f, -0.002251f, 0.011444f, -0.002191f, -0.006440f, -0.000089f, 0.011452f, 0.011700f, 0.010588f, 0.005854f, -0.006961f, 0.006916f, 0.009583f, -0.011104f, 0.014460f, -0.008655f, -0.008185f, 0.013215f, 0.001419f, 0.019000f, -0.000197f, -0.010423f, 0.004695f, -0.004557f, 0.012527f, 0.006115f, 0.003479f, 0.001000f, 0.004319f, -0.002045f, 0.007886f, 0.002893f, 0.003154f, 0.002529f, 0.004631f, -0.000208f, -0.000357f, 0.003755f, -0.000107f, 0.002802f, -0.001383f, 0.004515f, 0.008923f, -0.005016f, -0.002354f, 0.001732f, 0.001138f, 0.000736f, + 0.002285f, -0.000283f, 0.000735f, 0.001996f, 0.004382f, 0.000486f, 0.008214f, 0.002121f, 0.000972f, -0.003513f, 0.000947f, 0.002881f, -0.003669f, 0.000974f, 0.001622f, -0.000049f, 0.001061f, -0.000074f, -0.029420f, -0.019553f, 0.005330f, 0.009379f, 0.020284f, -0.012409f, 0.010929f, 0.001911f, 0.011503f, -0.000691f, -0.005233f, -0.007045f, 0.007135f, 0.020802f, 0.001855f, -0.001945f, -0.019868f, -0.016805f, 0.000189f, -0.012384f, -0.007139f, 0.000599f, 0.002592f, -0.012692f, -0.003689f, 0.002936f, 0.007458f, 0.003824f, -0.008065f, -0.000141f, 0.009455f, 0.007528f, 0.001654f, -0.007831f, 0.001490f, -0.004837f, 0.002336f, 0.002516f, 0.004365f, -0.006059f, 0.007512f, 0.018097f, -0.001797f, -0.001476f, 0.003588f, -0.010273f, 0.004845f, 0.014550f, -0.014410f, -0.017174f, -0.008776f, 0.001293f, -0.022039f, 0.000431f, 0.000675f, 0.002965f, 0.000256f, -0.000441f, -0.010446f, -0.005768f, -0.006773f, -0.001046f, 0.015060f, 0.022065f, 0.000662f, 0.001344f, 0.010854f, -0.004652f, -0.001826f, 0.004905f, 0.024984f, 0.003037f, 0.008996f, 0.017408f, 0.003225f, -0.011492f, 0.004739f, 0.005120f, + -0.005233f, 0.005272f, 0.004524f, -0.001291f, -0.005417f, 0.002438f, 0.001605f, -0.001298f, -0.009270f, 0.003969f, 0.008516f, 0.003064f, 0.006204f, 0.003341f, 0.007484f, -0.001742f, -0.002815f, 0.006769f, 0.005717f, -0.001899f, -0.000393f, -0.002184f, 0.004916f, 0.005223f, -0.004329f, 0.005186f, 0.001411f, 0.000530f, 0.001314f, 0.002757f, 0.003964f, 0.000391f, 0.003458f, -0.002490f, -0.001292f, -0.000149f, -0.000659f, 0.001293f, -0.002361f, 0.000218f, -0.000740f, 0.000887f, -0.003176f, -0.002895f, 0.015067f, 0.009654f, -0.014149f, -0.000483f, 0.030012f, 0.026748f, 0.005525f, 0.016185f, 0.019764f, 0.005145f, -0.000380f, 0.013174f, -0.005988f, 0.000281f, -0.011924f, 0.009813f, -0.000900f, 0.000619f, 0.004269f, 0.005290f, 0.016294f, -0.013677f, -0.012699f, 0.012666f, 0.002468f, 0.005859f, -0.009935f, 0.001913f, -0.003541f, 0.006582f, -0.000007f, 0.009183f, 0.008785f, -0.008913f, 0.007423f, 0.006420f, -0.010512f, 0.026839f, 0.004564f, 0.005329f, -0.020826f, -0.006520f, -0.001773f, 0.017439f, 0.016030f, -0.001523f, -0.017893f, 0.011736f, -0.015573f, -0.004688f, 0.013438f, -0.000279f, + -0.011077f, 0.013342f, 0.016518f, -0.004122f, 0.005496f, -0.006579f, -0.023420f, 0.000248f, 0.014835f, -0.006761f, -0.008085f, 0.009944f, -0.011293f, -0.016869f, 0.004108f, 0.011625f, 0.020868f, 0.011111f, -0.015834f, 0.006696f, -0.018582f, -0.021655f, 0.019973f, 0.009559f, 0.007236f, -0.013412f, -0.014716f, -0.002080f, 0.015026f, 0.005167f, 0.021516f, 0.009714f, 0.005342f, -0.022872f, 0.003597f, -0.006284f, 0.000754f, -0.005245f, 0.004663f, 0.001570f, 0.005669f, 0.009840f, 0.004946f, 0.000994f, 0.004158f, -0.003696f, -0.002022f, -0.003767f, -0.000188f, -0.003516f, -0.001223f, 0.001578f, 0.007112f, 0.001409f, -0.003162f, -0.001154f, 0.002175f, 0.000471f, -0.000793f, -0.007245f, 0.000258f, -0.003629f, 0.001252f, -0.005103f, -0.005945f, 0.004015f, 0.004412f, 0.007395f, -0.007264f, 0.000260f, 0.003586f, 0.031153f, 0.020158f, -0.013659f, -0.003609f, -0.000626f, 0.005567f, 0.004296f, -0.001881f, -0.012336f, 0.003052f, -0.008496f, 0.013092f, 0.000286f, 0.005097f, -0.004375f, -0.001852f, -0.012879f, -0.006709f, 0.026745f, 0.008961f, -0.016516f, 0.007831f, -0.016140f, -0.011235f, -0.025174f, + 0.010956f, 0.000281f, 0.000455f, 0.005792f, -0.000632f, -0.011497f, 0.018938f, 0.010655f, -0.004112f, -0.019173f, 0.019101f, -0.013212f, 0.005076f, -0.000646f, 0.006287f, 0.003605f, 0.012150f, 0.013805f, -0.003219f, 0.007571f, 0.022166f, 0.002676f, -0.006907f, -0.006499f, -0.003883f, 0.003269f, 0.014804f, -0.004231f, 0.006035f, 0.000989f, -0.013504f, 0.000342f, -0.003304f, 0.006422f, -0.020328f, -0.000524f, -0.033907f, -0.020756f, -0.018909f, -0.004979f, -0.018687f, 0.012389f, -0.004656f, -0.015678f, -0.004147f, -0.001936f, -0.012525f, -0.005647f, -0.000429f, 0.001057f, -0.007509f, -0.016476f, -0.016283f, 0.000669f, -0.003527f, 0.003768f, 0.009150f, -0.001673f, 0.004582f, 0.002058f, -0.000065f, -0.000492f, -0.008868f, -0.000608f, -0.000175f, -0.007358f, -0.000579f, 0.006482f, 0.012919f, -0.002472f, -0.006169f, 0.004596f, -0.007989f, 0.006516f, -0.006669f, -0.002740f, 0.001293f, -0.005114f, -0.005993f, -0.000297f, -0.003740f, 0.000671f, -0.001392f, -0.006302f, 0.002976f, -0.000516f, 0.007537f, 0.004798f, -0.005309f, 0.004269f, -0.002964f, 0.003946f, -0.002432f, 0.002586f, 0.002654f, 0.001761f, + 0.000160f, 0.002719f, -0.003509f, -0.002188f, -0.003900f, -0.008185f, 0.001049f, 0.002548f, -0.000813f, 0.001396f, -0.006174f, -0.021410f, -0.026649f, -0.012638f, -0.017698f, 0.046023f, -0.022218f, 0.010447f, -0.020974f, -0.006028f, 0.002341f, -0.003388f, -0.031310f, -0.000632f, -0.014814f, 0.001144f, 0.037137f, -0.011815f, 0.015655f, 0.020404f, 0.007487f, 0.008316f, 0.022387f, 0.006660f, -0.008540f, 0.006364f, 0.008857f, 0.009432f, 0.004117f, -0.004589f, 0.026039f, 0.001028f, -0.001952f, -0.004301f, 0.007157f, -0.002172f, -0.008886f, 0.008810f, -0.003205f, 0.006332f, -0.024963f, 0.001091f, -0.004716f, 0.022752f, -0.008825f, 0.007372f, 0.034182f, -0.002920f, 0.000851f, -0.008264f, -0.013933f, -0.000761f, -0.002169f, -0.014351f, 0.018227f, -0.003849f, 0.013264f, 0.001441f, 0.012536f, -0.007145f, -0.001194f, 0.027262f, 0.013460f, -0.021090f, -0.010919f, 0.005807f, 0.006690f, 0.003282f, 0.005949f, -0.006131f, 0.007850f, 0.010025f, 0.022757f, -0.028997f, 0.001897f, -0.012379f, 0.006072f, -0.000492f, 0.003474f, 0.010723f, 0.015684f, -0.010339f, 0.011127f, -0.007478f, -0.004942f, -0.004165f, + -0.003715f, 0.008780f, -0.019600f, -0.003859f, -0.008961f, 0.011355f, 0.009325f, 0.003930f, 0.004883f, -0.006602f, 0.007735f, 0.003490f, 0.005616f, -0.000759f, 0.004490f, -0.005856f, -0.003126f, -0.007348f, -0.000448f, -0.001193f, -0.006438f, -0.000106f, -0.000509f, -0.001774f, 0.000088f, 0.007827f, 0.004986f, -0.004329f, -0.006895f, 0.003681f, 0.002863f, 0.008978f, -0.006754f, 0.000533f, -0.002319f, 0.004025f, 0.004767f, -0.002364f, -0.003613f, -0.007296f, -0.015117f, -0.013694f, -0.014622f, 0.015849f, -0.030758f, -0.009156f, -0.019243f, 0.009548f, 0.032044f, -0.017466f, 0.001019f, 0.000847f, -0.006184f, 0.012266f, -0.010213f, 0.004894f, -0.003117f, -0.013225f, 0.028593f, 0.001359f, -0.009222f, 0.000346f, -0.004093f, -0.012682f, 0.010031f, -0.009733f, 0.009421f, -0.018123f, -0.008312f, 0.012106f, 0.009023f, -0.030237f, -0.005334f, -0.025761f, 0.007740f, -0.004381f, -0.024620f, 0.030037f, -0.008338f, -0.000674f, -0.022770f, -0.025153f, 0.001547f, -0.022689f, -0.002863f, -0.019617f, -0.016579f, 0.019625f, 0.002271f, -0.025493f, 0.008428f, -0.022830f, 0.020357f, 0.007222f, -0.009729f, 0.000671f, + 0.006609f, 0.021181f, -0.016377f, -0.023414f, 0.023672f, -0.016578f, -0.009297f, 0.012243f, 0.017892f, -0.033143f, -0.016156f, 0.018660f, 0.014052f, 0.007161f, -0.001644f, 0.002200f, -0.023639f, 0.008021f, 0.007994f, 0.012957f, -0.004097f, -0.025236f, -0.018121f, 0.008747f, -0.021581f, -0.019104f, 0.008066f, -0.001398f, 0.000369f, 0.007763f, 0.018362f, -0.000123f, -0.000701f, 0.016884f, 0.001648f, -0.002929f, 0.002981f, -0.002482f, -0.003406f, 0.003509f, -0.004423f, -0.003327f, -0.008545f, -0.008399f, -0.005819f, 0.001342f, -0.004837f, -0.000102f, 0.003527f, 0.002597f, -0.000435f, -0.000283f, 0.003766f, -0.004495f, -0.006785f, 0.001869f, -0.000191f, 0.006333f, -0.006255f, -0.001985f, -0.007098f, 0.008080f, 0.008756f, 0.001690f, -0.000417f, -0.005589f, -0.002173f, -0.007782f, 0.000660f, 0.001023f, -0.004245f, 0.001116f, 0.001726f, 0.001648f, -0.001885f, 0.015612f, -0.024148f, -0.039623f, -0.031829f, 0.014288f, -0.038073f, -0.001942f, 0.028992f, -0.002656f, 0.002151f, 0.020655f, -0.013701f, -0.011831f, 0.046032f, -0.018296f, 0.010824f, 0.017395f, -0.003176f, -0.041758f, -0.003398f, 0.004302f, + -0.010409f, -0.005867f, -0.009630f, 0.038784f, 0.000438f, 0.000349f, -0.001850f, -0.028095f, 0.005189f, -0.016215f, -0.008041f, 0.001653f, 0.004744f, 0.008209f, 0.022635f, 0.004925f, -0.005761f, 0.044331f, 0.004732f, -0.011074f, -0.040564f, -0.006016f, 0.029850f, -0.006554f, -0.018587f, -0.025084f, -0.021967f, -0.018888f, -0.011781f, 0.031511f, 0.012334f, 0.001732f, 0.017608f, 0.026314f, 0.014767f, -0.005834f, -0.004587f, 0.027203f, -0.005344f, -0.008450f, 0.007968f, 0.020784f, 0.003013f, -0.021523f, 0.004969f, -0.002244f, -0.032014f, -0.002501f, 0.025541f, -0.012711f, -0.014702f, -0.003665f, 0.034323f, -0.027369f, -0.005441f, -0.015305f, 0.015693f, 0.009013f, 0.007286f, 0.010892f, -0.004469f, -0.005956f, 0.011638f, 0.009195f, 0.006437f, -0.001946f, 0.001456f, 0.007222f, -0.020126f, -0.003796f, 0.002661f, -0.010503f, 0.000288f, 0.010946f, -0.001097f, 0.001964f, -0.004315f, -0.001325f, 0.006053f, 0.007712f, 0.011694f, 0.006492f, -0.001944f, 0.004085f, -0.006667f, -0.008584f, 0.002451f, -0.001736f, -0.006917f, 0.007640f, 0.004108f, 0.005763f, 0.001246f, 0.002757f, 0.005998f, 0.003250f, + -0.001728f, -0.004353f, -0.001126f, 0.002362f, 0.000013f, 0.002395f, 0.000501f, 0.002986f, 0.001848f, 0.005156f, 0.000660f, -0.005090f, 0.011082f, 0.009009f, -0.008557f, -0.002963f, -0.004113f, -0.002929f, 0.004247f, -0.005202f, 0.003055f, 0.032331f, 0.003253f, -0.028892f, -0.001072f, 0.008650f, -0.001052f, -0.013185f, 0.012523f, -0.009764f, 0.025696f, -0.019809f, 0.017649f, 0.038595f, -0.010477f, -0.010324f, -0.009134f, -0.008075f, 0.034449f, -0.025599f, -0.028126f, -0.021478f, 0.007781f, -0.011232f, -0.018128f, -0.008374f, 0.012337f, -0.017392f, 0.009533f, 0.002209f, 0.013470f, 0.020020f, 0.002408f, -0.002639f, -0.003925f, 0.019723f, -0.005175f, 0.006915f, -0.024347f, -0.000303f, -0.008725f, 0.019214f, -0.025878f, 0.021083f, -0.009001f, -0.013395f, 0.021230f, 0.036842f, -0.020868f, 0.010403f, -0.004690f, 0.007377f, -0.055585f, -0.044111f, -0.026796f, 0.003718f, -0.017045f, 0.007176f, 0.001690f, -0.020752f, -0.016403f, 0.001644f, 0.044095f, 0.010273f, -0.027689f, -0.041360f, -0.021875f, -0.015376f, 0.026962f, -0.018956f, -0.026981f, 0.006251f, 0.005746f, -0.025002f, -0.001709f, -0.000592f, + -0.012464f, -0.003015f, -0.000808f, -0.001226f, 0.011991f, 0.002800f, -0.014430f, -0.012862f, -0.007123f, -0.018460f, -0.010107f, 0.002830f, 0.020392f, 0.003251f, 0.003685f, -0.006161f, -0.017043f, -0.002822f, 0.013647f, -0.000870f, -0.008024f, 0.012489f, -0.019419f, -0.009678f, 0.002716f, 0.002825f, -0.000498f, 0.001906f, 0.001175f, -0.006740f, -0.013659f, -0.005089f, 0.010096f, -0.006229f, -0.004985f, -0.005645f, -0.012218f, -0.013572f, 0.004788f, -0.005051f, -0.003104f, -0.012817f, 0.002902f, 0.007946f, 0.009757f, -0.000719f, -0.006186f, -0.007291f, 0.006972f, 0.002182f, 0.006285f, 0.055877f, 0.036124f, -0.009273f, 0.003438f, 0.036255f, -0.014421f, 0.001513f, 0.015238f, 0.039229f, 0.022640f, -0.006506f, -0.008880f, -0.013185f, 0.003312f, -0.007136f, 0.000420f, 0.001267f, 0.040839f, 0.068127f, -0.004145f, 0.047083f, 0.029396f, 0.006335f, 0.007182f, -0.033080f, -0.033244f, -0.003484f, 0.008621f, -0.002106f, 0.007976f, -0.012171f, -0.024914f, -0.041525f, -0.003728f, -0.026618f, -0.022881f, -0.014787f, -0.023676f, -0.016636f, -0.001044f, 0.039109f, -0.001346f, -0.029182f, -0.002587f, 0.008674f, + 0.028720f, -0.008762f, -0.007412f, -0.017308f, 0.012989f, -0.052553f, -0.047569f, -0.022558f, -0.023768f, -0.025095f, -0.015478f, 0.017137f, -0.021431f, -0.029319f, -0.024971f, -0.043996f, 0.022653f, 0.012452f, -0.039416f, 0.020479f, 0.039721f, 0.078254f, 0.042967f, -0.000197f, 0.014200f, -0.044573f, -0.018385f, 0.024446f, 0.020390f, -0.011203f, -0.030371f, 0.004243f, 0.006358f, 0.027888f, -0.003516f, -0.028040f, -0.004955f, 0.045478f, 0.028868f, 0.033010f, 0.026032f, 0.045873f, 0.042934f, 0.013177f, 0.011695f, -0.009738f, -0.017996f, -0.004722f, -0.001529f, -0.015123f, -0.000003f, -0.017524f, -0.013239f, 0.021000f, 0.009257f, -0.005320f, -0.017897f, -0.006540f, -0.002071f, 0.000028f, -0.019918f, 0.020260f, 0.000348f, -0.016416f, 0.010121f, -0.009996f, -0.008561f, -0.002238f, 0.006355f, 0.027840f, 0.013587f, 0.033248f, 0.000269f, -0.006157f, 0.003893f, 0.012895f, 0.008516f, -0.003900f, 0.017519f, 0.001180f, -0.005456f, 0.002918f, 0.014538f, -0.006736f, -0.005914f, 0.005708f, -0.001049f, 0.005149f, -0.057249f, -0.005695f, 0.092648f, -0.006987f, 0.003573f, 0.022860f, -0.033524f, 0.018725f, + 0.065764f, 0.060296f, -0.060883f, -0.058766f, 0.000201f, -0.063731f, -0.023839f, -0.000289f, 0.007554f, 0.022987f, 0.035114f, 0.030602f, 0.054644f, 0.012673f, 0.021656f, 0.021506f, -0.008975f, -0.004054f, 0.006154f, 0.007017f, 0.016305f, -0.029350f, 0.065647f, 0.027912f, 0.030776f, -0.005843f, 0.066670f, 0.008100f, 0.040287f, 0.016461f, 0.012775f, -0.015774f, -0.009909f, 0.033751f, 0.013277f, 0.015631f, -0.035449f, -0.019208f, -0.029556f, -0.017511f, -0.021425f, -0.000202f, -0.042957f, -0.047039f, -0.002479f, -0.018170f, -0.088287f, -0.065997f, -0.059414f, 0.016949f, 0.064825f, 0.083527f, -0.045899f, 0.057573f, 0.089903f, 0.015240f, 0.007857f, -0.005753f, 0.061964f, 0.004670f, 0.056091f, 0.023971f, 0.026426f, -0.037210f, -0.122760f, -0.097475f, -0.021705f, -0.003325f, 0.002922f, 0.004326f, 0.045800f, 0.043000f, 0.037748f, -0.023311f, 0.003312f, -0.012165f, -0.063134f, 0.006421f, 0.005365f, 0.031909f, 0.005257f, 0.046925f, 0.042703f, 0.010519f, 0.037189f, -0.015590f, 0.025289f, -0.022136f, -0.024611f, -0.009182f, 0.010219f, 0.040790f, -0.008859f, -0.011466f, 0.006330f, -0.020157f, + -0.009560f, 0.020659f, -0.005549f, 0.014282f, -0.025376f, 0.035011f, 0.010914f, 0.000373f, -0.002097f, 0.026933f, -0.006306f, 0.001895f, 0.004708f, -0.000526f, 0.018608f, -0.013211f, -0.006443f, -0.000179f, 0.017898f, -0.026180f, 0.003808f, 0.009345f, -0.012469f, 0.001962f, 0.005082f, 0.003254f, -0.005916f, 0.044088f, -0.009059f, -0.081851f, -0.006308f, 0.128275f, 0.024421f, -0.024887f, 0.034107f, -0.011383f, 0.022489f, -0.011040f, -0.013169f, -0.043198f, -0.015163f, -0.005325f, -0.006291f, -0.021041f, 0.031340f, -0.028262f, -0.028806f, -0.002718f, 0.005553f, 0.026357f, 0.012975f, 0.006766f, 0.012354f, -0.011698f, 0.001061f, 0.039701f, -0.019796f, -0.048757f, -0.008808f, 0.003572f, -0.015421f, 0.032944f, -0.016738f, -0.011960f, 0.029130f, 0.007319f, 0.022200f, -0.050339f, -0.055152f, 0.017992f, -0.009975f, -0.019660f, -0.023146f, -0.030187f, -0.060812f, -0.000434f, -0.004574f, 0.019985f, -0.038636f, -0.082899f, 0.062490f, 0.016386f, 0.058790f, 0.005880f, -0.017863f, -0.018015f, 0.015925f, -0.031556f, 0.048892f, 0.009003f, 0.058516f, 0.039695f, 0.086476f, -0.009024f, -0.081406f, -0.064489f, + -0.035519f, 0.046763f, 0.048385f, -0.036705f, 0.038591f, 0.074335f, -0.043307f, -0.007366f, 0.081346f, 0.011958f, 0.062673f, -0.009754f, -0.030802f, -0.084347f, -0.031767f, 0.008874f, 0.054260f, 0.046039f, -0.026738f, 0.022829f, 0.022807f, 0.043625f, 0.016040f, -0.044688f, -0.051377f, -0.021180f, 0.036830f, 0.075941f, -0.001162f, -0.007549f, 0.040608f, 0.020347f, 0.004392f, -0.007281f, -0.016004f, -0.021389f, -0.015946f, 0.012365f, 0.008769f, 0.023550f, -0.009416f, -0.003540f, 0.003062f, 0.013940f, 0.019662f, -0.024998f, 0.001173f, 0.026687f, -0.002373f, -0.008765f, -0.029705f, 0.021327f, 0.000684f, -0.013879f, -0.008621f, 0.029816f, -0.000722f, -0.020453f, -0.009800f, 0.015763f, 0.001199f, -0.068055f, 0.070570f, 0.095722f, 0.016705f, 0.004356f, 0.021306f, -0.014591f, 0.041817f, 0.023392f, 0.043709f, -0.008810f, -0.046033f, 0.102470f, 0.000665f, -0.038446f, 0.004822f, 0.069323f, 0.031807f, 0.013655f, -0.043780f, 0.004840f, -0.023382f, -0.017067f, 0.006990f, -0.032548f, 0.002890f, 0.008891f, 0.039509f, -0.055785f, -0.009366f, -0.006580f, 0.033408f, -0.012516f, -0.020484f, -0.019516f, + -0.000090f, 0.021343f, -0.043289f, 0.003323f, 0.011644f, -0.088773f, 0.012457f, -0.023938f, -0.062479f, 0.041386f, -0.046117f, -0.081083f, 0.107521f, -0.000657f, 0.006440f, -0.008283f, -0.029611f, 0.064937f, -0.045567f, -0.004116f, 0.009889f, -0.029367f, -0.002166f, 0.082028f, 0.042570f, -0.071980f, -0.077839f, 0.077248f, -0.036499f, 0.045098f, 0.074237f, -0.066163f, -0.113956f, -0.078871f, 0.132190f, -0.007617f, -0.103135f, 0.094777f, -0.068663f, -0.130968f, -0.001779f, 0.113346f, -0.004597f, -0.135917f, -0.001650f, -0.045603f, 0.001548f, 0.168078f, -0.025309f, -0.123364f, 0.018251f, 0.066001f, 0.001720f, 0.077150f, 0.004809f, 0.001756f, -0.024000f, 0.003365f, 0.017945f, 0.062338f, -0.012627f, -0.016513f, 0.061847f, -0.007977f, 0.015039f, 0.043317f, -0.006992f, -0.062455f, 0.041317f, 0.029922f, 0.048335f, -0.014609f, -0.000703f, 0.017308f, -0.013375f, -0.045889f, -0.019905f, 0.019320f, 0.001895f, -0.008807f, 0.061290f, -0.001544f, -0.067194f, 0.016098f, 0.055792f, 0.032357f, -0.023041f, 0.003336f, -0.026465f, -0.014739f, 0.067611f, 0.056571f, -0.014104f, -0.064177f, -0.020099f, 0.026792f, + 0.022162f, 0.017890f, -0.011564f, -0.043026f, -0.001613f, -0.046326f, 0.070578f, -0.014615f, 0.021646f, 0.044321f, 0.032448f, 0.033462f, 0.082978f, 0.035225f, -0.019954f, 0.012537f, 0.020697f, 0.026445f, -0.029611f, 0.078967f, 0.075437f, 0.009929f, 0.026333f, -0.018892f, 0.000281f, -0.081662f, 0.037627f, -0.043355f, 0.029252f, -0.003809f, -0.029481f, 0.043489f, -0.017152f, -0.033310f, 0.017972f, -0.046833f, 0.031141f, 0.000849f, -0.008440f, 0.012347f, 0.019608f, 0.028330f, 0.029861f, 0.027602f, 0.084550f, -0.008697f, 0.009574f, 0.026181f, 0.057109f, -0.005985f, 0.015491f, -0.000186f, 0.044771f, 0.052244f, -0.016719f, 0.012296f, -0.001899f, -0.008944f, -0.095710f, 0.007359f, 0.041454f, -0.023321f, -0.023060f, 0.020990f, -0.039589f, -0.059926f, 0.005807f, 0.033545f, 0.071541f, -0.091542f, 0.035438f, -0.004939f, -0.002039f, 0.000156f, 0.036218f, 0.076256f, 0.001897f, -0.056055f, 0.019062f, 0.061853f, -0.033075f, -0.049325f, 0.005318f, 0.027024f, -0.025748f, 0.048959f, -0.008981f, 0.037592f, 0.003885f, -0.037871f, 0.046958f, 0.037090f, 0.006951f, 0.029229f, -0.015953f, 0.018196f, + -0.008381f, 0.009552f, 0.015808f, 0.044637f, -0.008857f, -0.054443f, -0.006333f, 0.062766f, 0.005538f, -0.008132f, 0.056588f, 0.011550f, 0.000434f, 0.013332f, 0.039499f, 0.057568f, -0.036306f, 0.014116f, 0.008630f, -0.002848f, 0.029084f, -0.008341f, -0.041241f, 0.013722f, 0.040833f, -0.017219f, 0.011252f, 0.013564f, -0.012203f, 0.015527f, -0.025895f, 0.018976f, 0.017949f, -0.023339f, -0.049456f, 0.021424f, 0.029481f, -0.013307f, -0.017469f, 0.026677f, -0.001138f, -0.016271f, -0.017941f, 0.018972f, 0.011083f, 0.043813f, -0.082728f, -0.064414f, -0.001194f, -0.099408f, -0.034189f, -0.036792f, 0.076497f, -0.002235f, -0.028407f, 0.035206f, -0.018150f, 0.019498f, 0.004904f, -0.037984f, 0.045214f, -0.102503f, -0.009849f, 0.006179f, -0.025756f, 0.018843f, 0.004429f, -0.020049f, -0.003803f, 0.002953f, 0.025651f, 0.001489f, -0.030216f, -0.099493f, -0.072693f, -0.055315f, -0.027664f, 0.061556f, -0.012687f, 0.002240f, -0.099767f, 0.007377f, -0.007153f, -0.013572f, 0.002915f, -0.096349f, 0.051314f, -0.046826f, 0.023476f, -0.019226f, 0.065304f, -0.035894f, -0.063744f, -0.030642f, -0.000813f, 0.047437f, + 0.086413f, 0.090956f, -0.112668f, -0.083291f, -0.057667f, 0.038621f, 0.092045f, 0.111620f, -0.019790f, -0.028193f, -0.098682f, -0.036629f, 0.087256f, 0.053362f, -0.001376f, -0.000125f, -0.002418f, -0.083275f, 0.055277f, -0.016854f, 0.053334f, 0.129804f, -0.145552f, 0.175820f, 0.049368f, -0.095498f, 0.026308f, -0.191295f, -0.187127f, 0.137675f, 0.058450f, 0.013412f, 0.040743f, -0.070921f, -0.034358f, 0.128278f, -0.005277f, 0.086203f, -0.008872f, -0.069661f, -0.023060f, 0.076117f, -0.025796f, -0.001890f, 0.024363f, -0.006346f, -0.044906f, 0.024571f, -0.036543f, 0.016484f, 0.048240f, -0.050832f, 0.047501f, 0.015869f, -0.006863f, 0.017915f, -0.003378f, -0.011619f, 0.007527f, -0.017794f, 0.008571f, -0.036181f, 0.031427f, 0.033017f, 0.006320f, 0.000884f, -0.011543f, 0.016810f, 0.005751f, 0.006577f, 0.015998f, 0.031729f, -0.040152f, -0.013654f, -0.037317f, -0.028348f, 0.002387f, 0.001177f, 0.031087f, -0.041323f, -0.032006f, -0.039836f, -0.025564f, -0.010887f, 0.058285f, -0.083345f, 0.068961f, -0.041497f, 0.042449f, 0.022039f, 0.026832f, 0.015375f, -0.052960f, 0.057757f, -0.008517f, -0.021003f, + -0.018940f, -0.023269f, 0.017876f, -0.012354f, 0.025386f, 0.014766f, -0.003229f, -0.006354f, -0.044337f, 0.025531f, 0.010598f, -0.011690f, 0.009963f, 0.023148f, -0.006610f, 0.013015f, -0.022511f, 0.026383f, -0.009880f, 0.003142f, 0.010892f, 0.011060f, -0.011826f, 0.040824f, -0.001563f, -0.038905f, -0.002529f, 0.017547f, 0.008821f, -0.029826f, 0.014394f, 0.034139f, -0.006448f, -0.016988f, -0.016304f, -0.002534f, 0.009491f, -0.004444f, 0.040430f, -0.027461f, -0.010397f, -0.009932f, -0.020295f, -0.001996f, -0.006187f, 0.014540f, 0.010727f, -0.016983f, -0.002509f, 0.015264f, -0.016329f, -0.008678f, -0.004869f, 0.024716f, -0.015443f, 0.010444f, 0.016804f, -0.039002f, -0.015587f, 0.012133f, -0.040380f, 0.061001f, 0.016402f, 0.019228f, 0.028295f, -0.018202f, -0.000450f, -0.005574f, -0.027801f, 0.005321f, 0.009219f, 0.022104f, -0.004402f, -0.009681f, 0.013678f, -0.014408f, -0.005778f, 0.013149f, 0.000189f, -0.003562f, 0.011375f, 0.003196f, -0.007203f, -0.000591f, -0.007958f, 0.017621f, -0.016880f, 0.026876f, 0.001247f, 0.005718f, -0.011278f, -0.001272f, -0.004079f, -0.008739f, -0.004425f, 0.006208f, + 0.003309f, 0.007566f, -0.000121f, -0.006634f, -0.004249f, -0.021253f, 0.021265f, -0.017108f, 0.009651f, -0.004234f, 0.012431f, -0.007158f, -0.019580f, 0.001097f, 0.010216f, -0.016287f, 0.024173f, -0.019365f, 0.010594f, -0.007505f, 0.095805f, 0.012624f, -0.032639f, -0.025132f, -0.019055f, -0.001725f, -0.003221f, 0.002205f, -0.002750f, -0.003613f, -0.054388f, 0.001272f, -0.010943f, -0.012440f, 0.006743f, -0.021220f, -0.009811f, 0.009958f, -0.014999f, 0.004304f, 0.016688f, -0.022686f, 0.014196f, -0.008354f, -0.012227f, -0.001862f, -0.012230f, 0.005713f, -0.011363f, -0.005913f, -0.013363f, -0.002517f, -0.000347f, -0.000248f, -0.008087f, -0.008187f, 0.002348f, 0.004383f, -0.009641f, 0.012897f, -0.015963f, -0.001349f, -0.006459f, -0.001963f, -0.003120f, -0.012499f, 0.017051f, 0.010603f, -0.017403f, 0.021040f, -0.002282f, 0.004526f, -0.009631f, 0.020188f, -0.020275f, 0.001560f, 0.001583f, 0.005370f, -0.003472f, -0.005167f, 0.014886f, -0.009926f, 0.002091f, 0.000843f, -0.003204f, 0.004852f, -0.006685f, -0.000864f, 0.008252f, -0.004178f, -0.003978f, 0.009557f, -0.003850f, -0.004111f, -0.008979f, 0.004636f, + 0.004185f, -0.019548f, 0.023310f, -0.013199f, 0.005162f, 0.001652f, 0.000177f, -0.007554f, 0.003097f, 0.009682f, -0.007303f, -0.003596f, 0.005021f, -0.007181f, -0.000611f, 0.005938f, -0.002585f, 0.002381f, 0.001135f, -0.005320f, 0.000776f, 0.000715f, 0.004647f, -0.008659f, 0.000554f, -0.000960f, -0.003586f, 0.003645f, -0.004437f, 0.002104f, -0.002937f, -0.007582f, 0.004079f, -0.006573f, -0.003964f, 0.002451f, -0.004304f, 0.001532f, 0.003642f, 0.000428f, -0.005933f, 0.006105f, -0.001362f, -0.003760f, 0.004870f, -0.047147f, -0.076011f, 0.084914f, 0.286737f, 0.028891f, 0.066069f, -0.156113f, -0.238060f, -0.060151f, -0.124212f, 0.096743f, 0.199990f, 0.104986f, 0.066857f, -0.015186f, -0.077182f, -0.076446f, -0.057029f, -0.053474f, 0.019314f, 0.033810f, 0.020001f, 0.036411f, 0.005160f, 0.002676f, 0.014786f, 0.003898f, 0.016745f, 0.012845f, -0.009463f, -0.036745f, -0.026682f, -0.032416f, -0.043113f, -0.023189f, 0.024791f, 0.031343f, 0.058982f, 0.082618f, 0.030347f, 0.011744f, -0.027215f, -0.065940f, -0.063259f, -0.044644f, -0.030499f, 0.006069f, 0.024789f, 0.034923f, 0.037837f, 0.031386f, + 0.021652f, 0.002237f, -0.002177f, -0.021121f, -0.014108f, -0.009457f, -0.010126f, -0.004313f, -0.011486f, -0.003639f, -0.013679f, -0.013914f, 0.005380f, -0.001341f, 0.018465f, 0.029588f, 0.018046f, 0.044125f, 0.039839f, -0.019251f, -0.038645f, -0.039277f, -0.057797f, -0.016601f, -0.013667f, -0.003365f, 0.036091f, 0.031653f, -0.005305f, 0.027495f, 0.034912f, 0.011500f, 0.024491f, -0.002405f, -0.027587f, -0.020465f, -0.047590f, -0.030404f, -0.011040f, -0.003210f, -0.003229f, 0.008418f, 0.022935f, 0.035633f, 0.045557f, 0.038057f, 0.013092f, -0.021116f, -0.033908f, -0.032971f, -0.036219f, -0.016615f, -0.008984f, -0.003996f, 0.008382f, 0.017804f, 0.014612f, 0.024993f, 0.014070f, 0.016347f, 0.015344f, -0.000076f, -0.012169f, -0.016487f, -0.020092f, -0.020242f, -0.017560f, -0.009675f, -0.009554f, 0.005505f, 0.010571f, 0.020517f, 0.030340f, 0.028813f, 0.011324f, 0.001850f, -0.016265f, -0.020307f, -0.023425f, -0.023958f, -0.006693f, -0.001244f, -0.004308f, 0.005504f, 0.018727f, 0.023897f, 0.012157f, 0.002491f, -0.001047f, 0.000198f, -0.004610f, -0.005597f, -0.008860f, -0.005740f, -0.006686f, -0.005027f, + -0.002780f, 0.000013f, 0.000281f, 0.005304f, 0.010694f, 0.011007f, 0.005746f, 0.002558f, -0.002790f, -0.004407f, -0.006357f, -0.004823f, -0.005369f, -0.002674f, -0.002496f, -0.000097f, 0.001249f, 0.004418f, 0.004036f, 0.004827f, 0.001628f, 0.001135f, -0.000734f, -0.001048f, -0.002345f, -0.000833f, -0.001100f, 0.000174f, -0.001000f, -0.001305f, -0.003491f, -0.000175f, 0.000405f, 0.002046f, 0.001578f, 0.003362f, 0.001025f, 0.000779f, -0.002077f, -0.000796f, 0.000527f, 0.001880f, -0.000772f, -0.001726f, -0.003613f, -0.001266f, -0.000088f, 0.002059f, 0.000622f, 0.000854f, -0.000660f, 0.000815f, 0.000337f, 0.001797f, 0.000669f, 0.001133f, -0.000859f, -0.000057f, -0.001768f, -0.001111f, -0.002019f, -0.000387f, -0.000814f, 0.000893f, 0.000319f, 0.002219f, 0.001477f, 0.001766f, -0.000262f, 0.000235f, -0.001289f, -0.000238f, -0.001543f, -0.000783f, -0.001354f, 0.000496f, -0.000208f, 0.001086f, 0.000085f, 0.000911f, -0.000398f, 0.000836f, -0.000217f, 0.000787f, -0.000559f, 0.000261f, -0.000936f, 0.000254f, -0.000687f, 0.000531f, -0.000512f, 0.000561f, -0.000546f}, + {0.007432f, 0.012090f, 0.003178f, 0.010675f, 0.000187f, -0.011011f, -0.007590f, -0.008020f, -0.001245f, -0.005507f, 0.012914f, -0.009655f, -0.002451f, -0.004384f, -0.001541f, -0.007744f, 0.007449f, -0.004566f, -0.003573f, 0.006264f, 0.010390f, 0.011754f, 0.001814f, -0.000841f, 0.002449f, 0.000625f, 0.001663f, -0.005317f, -0.005721f, 0.002802f, -0.005187f, -0.005197f, -0.006962f, -0.007323f, 0.002239f, -0.004849f, 0.006487f, -0.008083f, -0.001095f, 0.003571f, 0.003399f, 0.002995f, -0.012535f, -0.002248f, -0.006950f, -0.001206f, -0.002913f, -0.007645f, -0.000150f, 0.009136f, 0.002787f, 0.004441f, 0.004208f, 0.004942f, 0.000638f, 0.006199f, 0.003905f, 0.006919f, -0.003902f, 0.004621f, -0.002260f, 0.003195f, 0.000377f, -0.006372f, 0.007473f, 0.008447f, -0.004511f, -0.005655f, 0.002503f, 0.007764f, 0.001863f, 0.002081f, -0.002584f, -0.000500f, 0.004219f, 0.002638f, 0.000691f, -0.001526f, 0.000527f, 0.003561f, 0.004336f, -0.000514f, -0.006734f, -0.004119f, -0.002262f, -0.002863f, 0.001577f, -0.000635f, -0.000604f, 0.003215f, -0.002353f, -0.000782f, -0.000004f, 0.000574f, -0.001592f, -0.000450f, + 0.000248f, -0.002548f, -0.000285f, 0.003150f, -0.000457f, 0.001670f, -0.002266f, 0.001322f, 0.000676f, -0.000147f, -0.001487f, -0.018928f, -0.004928f, -0.008558f, 0.006287f, -0.017748f, 0.003915f, -0.007845f, -0.004091f, 0.002472f, 0.000382f, 0.001939f, 0.002678f, 0.001955f, 0.007714f, -0.003460f, 0.000832f, -0.000820f, -0.009324f, 0.006849f, 0.011543f, -0.009417f, -0.008773f, 0.006641f, 0.001745f, 0.008208f, 0.002641f, 0.011042f, -0.001515f, 0.003689f, -0.005847f, -0.001836f, 0.011330f, 0.000855f, -0.007352f, -0.009148f, -0.009806f, 0.000366f, 0.008163f, 0.004082f, -0.000031f, 0.009213f, 0.007406f, 0.000239f, -0.007552f, 0.011795f, 0.003047f, 0.009084f, 0.009310f, -0.001678f, 0.005940f, 0.006940f, -0.000826f, 0.004079f, 0.004814f, -0.004662f, 0.000973f, -0.001483f, 0.004576f, -0.010464f, -0.006643f, 0.003305f, -0.006423f, -0.002540f, 0.008947f, -0.003669f, 0.004925f, -0.002149f, -0.013989f, 0.002307f, -0.000047f, 0.007306f, -0.011518f, -0.006263f, 0.005237f, 0.001262f, -0.001088f, 0.002919f, -0.005418f, 0.001523f, 0.001408f, -0.001724f, -0.003408f, 0.004660f, 0.004311f, 0.002909f, + 0.000559f, -0.001836f, 0.001161f, -0.001376f, -0.002057f, 0.001493f, 0.001356f, -0.002876f, 0.002051f, -0.001636f, -0.001175f, 0.002470f, -0.001801f, -0.003810f, -0.000036f, -0.001462f, -0.000438f, -0.001840f, -0.001930f, 0.000718f, -0.000126f, 0.001073f, 0.000010f, 0.001052f, -0.002741f, 0.000733f, -0.000785f, 0.011838f, 0.012589f, 0.005475f, 0.009323f, 0.007204f, 0.012609f, 0.014277f, -0.005282f, -0.001580f, 0.004865f, -0.014349f, -0.000434f, -0.004758f, -0.002684f, 0.006509f, -0.008283f, -0.001015f, 0.010632f, 0.001916f, 0.006832f, -0.003397f, -0.002406f, -0.003605f, -0.013406f, -0.002244f, 0.000963f, 0.007076f, -0.002115f, 0.012207f, 0.004874f, -0.002153f, 0.004945f, 0.002501f, 0.006343f, -0.004587f, -0.000899f, 0.014261f, -0.001862f, 0.013472f, 0.006391f, -0.005964f, 0.001470f, 0.011860f, 0.006246f, -0.007882f, 0.010897f, -0.003011f, 0.000786f, 0.000528f, -0.002136f, 0.002046f, 0.001258f, -0.009841f, 0.006309f, 0.004538f, -0.000793f, 0.000321f, -0.002135f, -0.008892f, 0.000063f, 0.004946f, -0.000961f, -0.001078f, -0.005912f, -0.013059f, -0.004424f, 0.004816f, 0.010987f, -0.016641f, + -0.008804f, 0.003075f, -0.007197f, 0.004225f, -0.000284f, -0.000107f, -0.009944f, -0.007615f, -0.004390f, -0.006520f, -0.003153f, 0.000340f, 0.001175f, -0.002355f, 0.003818f, 0.002971f, 0.000666f, 0.002737f, -0.002987f, -0.001150f, 0.000127f, -0.004500f, -0.000929f, 0.000420f, -0.005629f, 0.002361f, 0.001422f, -0.001111f, 0.000216f, 0.001164f, 0.002779f, 0.000286f, 0.000434f, 0.000027f, -0.002716f, -0.000370f, -0.000789f, 0.002008f, 0.001452f, 0.002755f, -0.001919f, -0.000451f, 0.017550f, 0.018660f, -0.003731f, -0.007814f, -0.008544f, 0.017892f, -0.015523f, 0.000429f, -0.002535f, -0.007232f, -0.009829f, 0.003499f, -0.002703f, -0.013381f, -0.016289f, 0.000623f, -0.001227f, -0.008505f, 0.003079f, 0.004519f, -0.005990f, -0.009019f, -0.008420f, 0.011899f, -0.012842f, -0.001549f, -0.015007f, 0.000178f, 0.008354f, 0.002850f, 0.001430f, -0.008414f, -0.008095f, 0.007367f, -0.005686f, -0.008600f, 0.001069f, -0.003129f, 0.005266f, 0.000107f, 0.002129f, -0.008577f, -0.003169f, -0.002419f, 0.008238f, 0.005646f, 0.005730f, -0.016984f, 0.002690f, 0.004733f, 0.003883f, 0.004786f, -0.004839f, -0.003095f, + 0.000614f, 0.003440f, 0.006724f, -0.001167f, 0.004445f, -0.004918f, 0.013120f, -0.023793f, 0.008365f, 0.000674f, -0.012651f, -0.000548f, 0.014000f, -0.004239f, -0.006554f, -0.012761f, -0.004296f, 0.000987f, -0.003535f, -0.000021f, 0.005747f, 0.007296f, 0.006110f, -0.001816f, -0.000999f, -0.007513f, -0.001521f, -0.001933f, -0.003768f, 0.001027f, -0.001524f, -0.001500f, 0.003061f, -0.003809f, -0.001744f, 0.003647f, -0.001816f, 0.002349f, -0.000547f, -0.001530f, -0.001306f, -0.001030f, -0.005480f, -0.003454f, 0.002405f, 0.002673f, -0.002594f, -0.002131f, -0.001761f, 0.001999f, -0.001283f, -0.000813f, -0.002143f, 0.001383f, 0.001514f, -0.002599f, 0.001043f, -0.000396f, -0.002326f, -0.000590f, -0.001311f, 0.001473f, -0.000764f, 0.002209f, 0.003191f, -0.001504f, -0.008330f, -0.026326f, 0.004799f, -0.012000f, 0.002628f, 0.002208f, -0.001526f, 0.018693f, 0.001033f, -0.011946f, 0.015963f, 0.007702f, 0.005483f, -0.002390f, 0.003311f, -0.004851f, 0.012519f, -0.002067f, 0.001430f, 0.018863f, 0.018407f, 0.007887f, 0.008434f, 0.008119f, 0.009168f, 0.006130f, -0.018177f, -0.005666f, -0.000245f, -0.004767f, + -0.015469f, -0.001691f, -0.003661f, -0.004074f, -0.008305f, -0.000145f, -0.002431f, 0.013332f, -0.004263f, 0.023364f, -0.000130f, 0.001986f, -0.004316f, -0.003363f, 0.000189f, -0.000654f, -0.001858f, -0.004064f, -0.002725f, -0.011422f, 0.002798f, 0.001894f, -0.001353f, -0.005895f, 0.008004f, 0.005939f, 0.006940f, -0.002408f, -0.004997f, 0.000160f, 0.006051f, 0.006561f, -0.005244f, -0.014919f, -0.007617f, 0.001642f, 0.012478f, -0.001693f, 0.010205f, -0.008062f, -0.011733f, 0.008808f, -0.004091f, -0.009620f, 0.005629f, 0.005885f, -0.010799f, -0.008524f, -0.011884f, -0.003924f, -0.004079f, 0.006872f, -0.003701f, 0.002117f, -0.000741f, 0.004595f, 0.002846f, 0.002562f, -0.002223f, -0.001235f, -0.006171f, -0.003076f, -0.001628f, -0.000036f, 0.002777f, -0.000490f, 0.000217f, 0.005191f, 0.002041f, -0.000211f, 0.000082f, 0.003352f, -0.002147f, 0.000938f, 0.000985f, -0.001704f, 0.002028f, -0.001505f, 0.001347f, 0.001073f, 0.001503f, -0.000891f, -0.003818f, 0.003790f, 0.000518f, -0.006386f, 0.009486f, -0.011268f, -0.012726f, 0.006230f, -0.003780f, -0.000851f, -0.006769f, -0.003562f, 0.006240f, 0.009336f, + 0.004576f, -0.001851f, 0.001214f, -0.000825f, -0.002266f, -0.008402f, 0.002755f, -0.023090f, -0.006940f, -0.007166f, 0.006295f, 0.008296f, 0.000520f, 0.004264f, -0.014696f, 0.004261f, 0.002098f, 0.004246f, -0.013261f, 0.025070f, -0.001257f, 0.004902f, 0.003114f, -0.011411f, 0.001713f, -0.016490f, 0.010653f, -0.003275f, -0.014187f, 0.003142f, 0.000947f, -0.006742f, 0.000639f, 0.001849f, 0.010978f, 0.020296f, 0.008528f, -0.003731f, 0.006350f, 0.008524f, -0.018719f, -0.006519f, -0.008641f, 0.005494f, 0.004137f, -0.002772f, 0.002828f, 0.006797f, 0.004008f, 0.008665f, 0.015472f, 0.000687f, -0.005919f, -0.001275f, -0.000782f, 0.012571f, -0.008923f, 0.000375f, 0.005533f, 0.016842f, -0.000056f, -0.010655f, -0.010838f, -0.000619f, -0.013285f, -0.001456f, 0.004869f, 0.020560f, 0.017296f, -0.001695f, -0.009370f, 0.007789f, 0.000430f, 0.002511f, 0.001760f, -0.000364f, 0.002427f, -0.000373f, -0.002684f, 0.002541f, 0.002776f, -0.002524f, 0.003940f, 0.004106f, 0.003543f, -0.000729f, -0.003120f, 0.002685f, 0.003138f, -0.000204f, 0.000834f, -0.002200f, 0.000260f, -0.000224f, 0.004614f, 0.002056f, + 0.002826f, 0.002611f, 0.000597f, 0.001856f, -0.000167f, 0.002183f, 0.004109f, 0.001211f, 0.001601f, 0.003359f, 0.003992f, -0.001661f, -0.001188f, 0.001316f, 0.001082f, 0.003449f, 0.004712f, -0.002115f, -0.024209f, -0.006664f, -0.008963f, 0.010318f, 0.000353f, -0.005046f, -0.031130f, -0.004168f, -0.004184f, 0.012836f, 0.030796f, -0.008939f, 0.020678f, 0.003494f, -0.018251f, -0.018685f, 0.003206f, 0.004661f, -0.010625f, 0.011598f, -0.008408f, 0.009330f, -0.011631f, 0.005534f, 0.003961f, -0.011100f, -0.009315f, -0.007159f, 0.003622f, 0.011974f, -0.015763f, 0.000500f, -0.016574f, -0.001011f, -0.006333f, 0.003940f, 0.012019f, 0.001177f, -0.005272f, -0.004714f, 0.013009f, -0.000136f, 0.019856f, 0.006017f, -0.007562f, -0.007324f, -0.005823f, 0.002748f, 0.012434f, -0.000363f, 0.020647f, -0.036981f, -0.027258f, -0.022114f, -0.005158f, -0.018880f, 0.001150f, -0.007177f, 0.006606f, 0.016634f, 0.002934f, 0.006816f, 0.010665f, 0.017611f, 0.009037f, 0.002593f, -0.012309f, -0.030645f, -0.032251f, 0.017140f, 0.001081f, 0.021790f, -0.015700f, -0.011363f, 0.009511f, -0.022722f, 0.000354f, -0.008200f, + -0.000949f, -0.014703f, 0.000475f, 0.004728f, 0.013063f, 0.002244f, 0.002026f, -0.004338f, 0.004639f, -0.001101f, 0.001460f, 0.003537f, 0.005849f, 0.007533f, -0.002197f, -0.003367f, 0.005471f, 0.002685f, -0.002248f, -0.004194f, 0.000728f, -0.000824f, -0.000615f, -0.001865f, 0.000737f, -0.000093f, -0.002327f, -0.000901f, 0.002162f, 0.003995f, 0.003195f, 0.002694f, 0.001351f, -0.009518f, -0.005291f, -0.003740f, -0.003471f, 0.004865f, -0.000926f, -0.001715f, -0.000107f, 0.001267f, 0.000218f, -0.000331f, 0.014418f, 0.006586f, -0.011848f, -0.000121f, 0.027632f, 0.023795f, -0.002388f, -0.020205f, -0.034627f, -0.003735f, -0.012294f, 0.012501f, -0.010527f, -0.009966f, -0.039191f, -0.016538f, -0.035127f, 0.013069f, -0.001360f, -0.008326f, 0.009083f, -0.001043f, -0.000009f, 0.002707f, -0.011429f, 0.001167f, -0.013097f, -0.002111f, 0.007596f, 0.005994f, -0.013358f, 0.004903f, 0.013177f, 0.021989f, -0.003530f, -0.002883f, -0.007488f, 0.001409f, 0.011097f, 0.016250f, -0.002541f, 0.002543f, -0.003701f, -0.002623f, 0.018927f, 0.014107f, 0.000326f, 0.014545f, 0.003929f, -0.017467f, 0.003090f, -0.001615f, + 0.022565f, 0.009072f, 0.002632f, 0.011163f, 0.014554f, 0.004230f, -0.013261f, -0.022139f, -0.005392f, 0.004804f, 0.011713f, 0.006261f, 0.000498f, 0.004821f, 0.017435f, 0.004046f, 0.005500f, 0.008294f, 0.004504f, -0.011221f, -0.013106f, -0.011021f, -0.012952f, -0.011478f, 0.019401f, 0.002910f, 0.014921f, -0.013211f, -0.012048f, -0.002130f, 0.012423f, -0.007810f, 0.006490f, 0.004016f, 0.001749f, -0.006618f, -0.004564f, -0.006107f, -0.004547f, -0.006981f, 0.002548f, 0.002415f, -0.002229f, 0.004788f, -0.003369f, 0.002316f, -0.001536f, 0.000626f, 0.001836f, -0.006178f, -0.004207f, -0.006202f, -0.004389f, -0.007582f, -0.002516f, -0.006272f, -0.003362f, -0.003595f, -0.005165f, -0.000221f, 0.005257f, 0.001914f, 0.002005f, -0.001907f, -0.000866f, -0.000610f, -0.001654f, 0.004428f, -0.002385f, -0.001094f, -0.001670f, 0.048651f, 0.010870f, -0.015223f, 0.008893f, -0.008933f, -0.028773f, -0.006020f, -0.028223f, -0.015717f, 0.014866f, 0.019437f, 0.007742f, 0.003901f, 0.001830f, 0.003503f, 0.018749f, -0.013297f, 0.026455f, -0.017087f, -0.017123f, 0.020899f, 0.009492f, -0.033920f, 0.014984f, 0.008594f, + 0.010910f, 0.022280f, 0.011182f, 0.016573f, -0.000955f, 0.008988f, -0.005131f, 0.014162f, 0.003892f, 0.003043f, 0.009626f, -0.019064f, -0.010144f, -0.005828f, 0.012397f, 0.005352f, 0.004556f, 0.009764f, 0.003001f, 0.003498f, -0.017078f, 0.000228f, 0.018839f, -0.003292f, 0.002476f, 0.002423f, 0.002585f, 0.022398f, 0.008783f, 0.030111f, 0.007116f, -0.004203f, 0.028740f, -0.024489f, -0.003008f, -0.003803f, -0.009617f, -0.002155f, 0.006175f, 0.028395f, 0.002910f, -0.005914f, -0.010805f, 0.005949f, -0.011372f, -0.004847f, -0.007250f, -0.015395f, -0.002293f, 0.004252f, 0.024408f, -0.001905f, -0.023198f, -0.006368f, -0.013850f, -0.006934f, 0.017101f, 0.013753f, 0.016030f, -0.012496f, 0.002806f, -0.013916f, -0.001930f, -0.004645f, -0.008268f, -0.004620f, -0.011409f, -0.006641f, -0.001987f, -0.004843f, -0.015036f, -0.005904f, -0.004181f, -0.002985f, -0.003259f, -0.005229f, 0.000862f, -0.002457f, -0.011796f, -0.000508f, -0.005582f, -0.003350f, -0.000818f, -0.000040f, 0.002305f, -0.000294f, 0.005569f, 0.005372f, 0.001103f, 0.001035f, -0.003659f, -0.003278f, -0.000714f, -0.003979f, 0.005689f, 0.003355f, + 0.005351f, 0.004971f, 0.002282f, 0.006932f, 0.004723f, 0.001792f, 0.003364f, -0.000872f, -0.002643f, 0.004917f, 0.007113f, -0.017574f, -0.027090f, -0.009782f, -0.026673f, 0.019154f, -0.022758f, -0.016750f, -0.013403f, 0.012107f, 0.030517f, -0.030965f, -0.010993f, -0.034898f, 0.009995f, 0.004870f, 0.003272f, -0.010026f, 0.002722f, 0.039288f, -0.020563f, -0.003452f, 0.014873f, 0.010161f, 0.007777f, 0.013820f, 0.009198f, -0.012926f, -0.021847f, -0.004082f, -0.012105f, -0.016485f, -0.020172f, 0.000321f, -0.004716f, 0.004963f, 0.025951f, 0.016437f, -0.014597f, -0.007881f, -0.001647f, -0.007535f, 0.006340f, 0.049375f, -0.016779f, 0.034442f, 0.010770f, 0.005787f, -0.002279f, -0.005586f, 0.005803f, -0.018916f, 0.009027f, 0.026807f, 0.001109f, 0.004280f, 0.021429f, 0.013922f, 0.008275f, -0.018095f, 0.015102f, -0.010792f, -0.016150f, -0.043613f, -0.013757f, 0.028330f, -0.016143f, 0.007341f, -0.030728f, 0.021962f, -0.011591f, -0.012098f, 0.019156f, -0.030605f, -0.022659f, 0.034666f, -0.024742f, -0.023271f, 0.013878f, -0.015965f, 0.003197f, 0.000053f, 0.009897f, -0.025103f, 0.007872f, 0.000656f, + 0.025011f, -0.018635f, 0.006196f, -0.002647f, -0.014181f, 0.018557f, 0.003744f, -0.015448f, -0.011216f, -0.010644f, 0.001621f, -0.000041f, -0.007789f, 0.000208f, 0.009674f, -0.000812f, 0.006854f, 0.007720f, 0.006119f, -0.013909f, 0.007725f, 0.007086f, 0.011161f, -0.000282f, 0.000820f, -0.010114f, -0.004044f, -0.004977f, -0.005248f, 0.002339f, -0.001170f, 0.006474f, -0.009203f, -0.005801f, 0.003467f, -0.008899f, -0.007508f, -0.009480f, 0.003260f, -0.019745f, -0.014656f, -0.002022f, 0.022463f, -0.010638f, 0.039454f, 0.036689f, 0.007252f, 0.011746f, -0.021274f, 0.002635f, -0.017216f, 0.027550f, -0.005474f, 0.008119f, -0.013116f, -0.008512f, 0.004736f, 0.003722f, -0.012587f, 0.021124f, -0.005921f, 0.004488f, 0.007933f, -0.013824f, 0.005295f, -0.017640f, 0.000138f, 0.010055f, 0.012094f, 0.000297f, 0.015971f, 0.020084f, -0.001431f, -0.037571f, -0.006252f, -0.011104f, 0.026988f, -0.022690f, -0.028133f, -0.020105f, -0.013383f, 0.003943f, -0.015896f, -0.012530f, -0.007949f, -0.002281f, 0.005057f, -0.055066f, 0.034904f, 0.027164f, 0.039783f, -0.012568f, 0.006490f, 0.026628f, -0.025285f, -0.023496f, + 0.004793f, 0.017421f, 0.011550f, -0.002934f, 0.005499f, -0.013861f, -0.016440f, -0.021114f, -0.006070f, 0.073357f, 0.006049f, -0.040546f, -0.007108f, -0.022178f, 0.014143f, 0.011037f, -0.025015f, 0.005483f, -0.007558f, 0.002172f, -0.012251f, 0.015776f, 0.016165f, -0.002281f, -0.007928f, -0.009510f, -0.031725f, 0.009731f, 0.005343f, -0.001168f, 0.013384f, -0.006246f, 0.002314f, 0.005246f, -0.014930f, 0.005937f, 0.009264f, 0.021054f, 0.011340f, 0.001452f, -0.017767f, 0.000283f, 0.016642f, 0.001120f, 0.000228f, 0.012445f, 0.000489f, 0.004365f, 0.012343f, 0.010434f, -0.001632f, 0.005797f, 0.010493f, 0.009655f, -0.004270f, 0.004336f, 0.012558f, 0.015283f, 0.011404f, -0.000133f, -0.007659f, -0.001604f, 0.000618f, 0.009656f, 0.000247f, -0.002498f, 0.000915f, 0.003683f, -0.005639f, 0.003708f, 0.006155f, -0.005543f, 0.004047f, -0.013837f, -0.001459f, -0.009883f, -0.021686f, -0.039775f, 0.002555f, -0.033114f, 0.015209f, 0.006154f, -0.027942f, 0.016051f, 0.016939f, 0.025320f, 0.006393f, 0.010424f, -0.028981f, 0.000113f, -0.006369f, 0.026987f, 0.011504f, 0.001833f, 0.023858f, 0.028081f, + -0.004047f, -0.012465f, 0.002383f, 0.034465f, -0.022765f, -0.016783f, 0.016662f, 0.010166f, -0.023152f, -0.004327f, -0.021484f, 0.039308f, -0.033771f, 0.009794f, 0.019790f, -0.011824f, 0.018122f, 0.007423f, -0.010217f, -0.009422f, -0.010942f, -0.015149f, 0.020848f, 0.029759f, 0.005018f, -0.021793f, 0.001512f, -0.024137f, -0.010235f, 0.016644f, -0.003882f, -0.011722f, -0.009848f, 0.004666f, -0.033709f, 0.001520f, -0.004293f, -0.018438f, 0.024819f, -0.024774f, -0.002564f, -0.005334f, -0.019568f, 0.020300f, -0.002439f, 0.011938f, -0.010388f, -0.001493f, -0.002005f, -0.011532f, 0.008340f, -0.010597f, -0.002941f, -0.010432f, 0.028789f, 0.013185f, -0.036158f, -0.007327f, -0.059001f, 0.033936f, -0.001009f, -0.025795f, 0.022561f, 0.002919f, 0.002556f, 0.008963f, -0.000510f, 0.013826f, 0.015521f, 0.004068f, -0.005206f, 0.009411f, 0.016749f, -0.009773f, -0.007184f, 0.007511f, 0.001607f, 0.004682f, 0.004252f, 0.009291f, 0.011090f, -0.007560f, 0.005324f, 0.004117f, -0.010501f, -0.008418f, 0.006674f, 0.001891f, -0.001971f, -0.006081f, -0.006776f, -0.010117f, 0.009307f, 0.010919f, 0.000788f, -0.006670f, + -0.022929f, 0.000751f, 0.000956f, 0.007416f, -0.015109f, 0.001827f, 0.010092f, -0.005824f, 0.011829f, 0.006097f, -0.001913f, 0.003852f, 0.005930f, 0.000891f, 0.001459f, 0.004163f, 0.007508f, -0.007294f, -0.001564f, -0.004139f, 0.002026f, 0.035062f, 0.001702f, -0.027346f, -0.011232f, 0.015561f, 0.026170f, 0.027285f, 0.001356f, -0.006884f, 0.039247f, 0.016538f, 0.043580f, 0.004870f, 0.004021f, -0.021223f, -0.008218f, -0.012753f, 0.011883f, 0.005843f, 0.023727f, -0.027209f, 0.002160f, -0.016369f, 0.014686f, -0.023649f, 0.009167f, 0.025287f, -0.003531f, -0.001217f, -0.013102f, 0.003200f, -0.013191f, -0.046633f, 0.006675f, -0.007555f, 0.003541f, -0.021090f, -0.004208f, 0.017569f, 0.035195f, -0.004086f, -0.012343f, 0.019826f, 0.009861f, 0.004477f, 0.024323f, 0.007887f, -0.012503f, -0.006603f, 0.015812f, -0.002608f, 0.014458f, -0.017359f, -0.014740f, 0.004748f, -0.013834f, -0.027563f, -0.012214f, -0.031328f, -0.006583f, 0.009929f, -0.023937f, -0.003949f, -0.027540f, -0.012646f, 0.000104f, 0.010487f, -0.032881f, 0.014051f, 0.002766f, -0.020210f, 0.025030f, -0.009283f, 0.006851f, 0.043360f, + 0.049926f, 0.002719f, 0.017751f, 0.035818f, 0.043701f, 0.042600f, -0.003948f, -0.029198f, -0.043727f, -0.016485f, -0.028891f, 0.027079f, -0.005641f, -0.013490f, 0.007348f, -0.001203f, 0.003301f, -0.001016f, -0.012758f, 0.013505f, 0.004244f, 0.004750f, 0.001303f, 0.018427f, -0.010309f, -0.000708f, -0.005534f, 0.012624f, -0.011910f, -0.005701f, -0.001016f, 0.018177f, -0.004597f, 0.010774f, 0.015692f, -0.014670f, -0.002759f, -0.006500f, -0.015752f, -0.006999f, -0.003407f, 0.006391f, 0.000817f, 0.021355f, 0.006202f, 0.014278f, -0.001148f, -0.014633f, 0.004196f, 0.003381f, 0.000147f, 0.059584f, 0.068301f, 0.003588f, 0.021854f, 0.020951f, -0.002924f, -0.049166f, -0.001352f, -0.001984f, -0.018702f, 0.013850f, 0.012795f, -0.026779f, 0.014510f, 0.018711f, 0.003019f, -0.007151f, 0.010095f, -0.006864f, 0.034710f, -0.006009f, -0.016396f, 0.000188f, 0.007791f, -0.003319f, -0.002423f, -0.000669f, -0.055621f, 0.015973f, -0.001411f, -0.038377f, -0.016052f, 0.006581f, -0.003770f, -0.026173f, 0.008900f, -0.030882f, -0.002970f, 0.002975f, -0.049669f, -0.008909f, 0.021036f, -0.015941f, 0.002102f, 0.031151f, + 0.018918f, 0.023814f, 0.007215f, -0.013509f, -0.023335f, 0.023697f, -0.012498f, 0.013246f, -0.022196f, -0.011535f, 0.015525f, 0.026617f, 0.003661f, 0.031896f, -0.021684f, 0.027584f, -0.023666f, -0.028255f, -0.020401f, 0.027489f, 0.028575f, -0.026723f, 0.013516f, -0.073666f, -0.007009f, 0.021558f, 0.006551f, -0.011624f, -0.029628f, 0.013431f, -0.041759f, 0.006612f, -0.021684f, 0.019579f, -0.032332f, -0.020507f, 0.031783f, 0.000645f, 0.015812f, 0.003570f, 0.013735f, -0.007303f, 0.005475f, -0.003718f, -0.024336f, -0.004423f, -0.011539f, 0.007387f, -0.008091f, 0.004183f, 0.000597f, 0.003910f, 0.001563f, -0.005368f, -0.007665f, 0.000934f, -0.015569f, 0.005337f, 0.003928f, 0.008641f, -0.010126f, 0.008582f, 0.007661f, 0.005235f, 0.006525f, 0.005026f, -0.010873f, 0.001028f, 0.004650f, -0.007796f, 0.013528f, -0.001336f, -0.005863f, -0.008061f, -0.000535f, 0.001175f, 0.006175f, -0.005154f, 0.005820f, -0.004979f, 0.014189f, 0.006393f, -0.012896f, -0.003283f, -0.003610f, -0.005892f, -0.005762f, -0.012997f, -0.054303f, 0.004293f, 0.066522f, -0.044869f, -0.004548f, -0.003604f, 0.003251f, -0.017563f, + 0.008234f, -0.028191f, -0.029487f, -0.009318f, -0.008272f, 0.007368f, -0.007643f, 0.015517f, -0.022179f, 0.001033f, 0.042685f, -0.034921f, -0.031390f, -0.007233f, 0.037316f, 0.005561f, -0.047397f, 0.020355f, -0.017774f, -0.019845f, 0.004383f, 0.065039f, -0.036719f, -0.020008f, 0.045790f, 0.034431f, 0.002673f, -0.018768f, 0.000969f, -0.006798f, -0.014933f, 0.013477f, 0.011743f, -0.007561f, -0.037642f, 0.048129f, 0.022177f, 0.009337f, -0.051137f, -0.007504f, 0.015503f, 0.017871f, -0.006617f, 0.027013f, -0.004608f, 0.009368f, -0.011950f, -0.030352f, 0.019666f, -0.021581f, 0.012818f, 0.007069f, -0.027130f, 0.050960f, 0.007506f, 0.036773f, 0.036311f, 0.006797f, -0.055356f, -0.010298f, 0.000232f, -0.021603f, -0.011384f, 0.002351f, -0.002048f, 0.024185f, 0.044666f, -0.012725f, -0.004689f, -0.019573f, -0.009153f, 0.018945f, -0.012900f, 0.011119f, 0.033137f, -0.028964f, 0.032936f, -0.006268f, 0.009696f, -0.012377f, -0.007065f, -0.010353f, 0.001147f, 0.006456f, 0.007045f, -0.005312f, -0.000107f, 0.007827f, 0.004032f, 0.017804f, 0.007956f, -0.008633f, 0.000467f, 0.001829f, 0.015739f, -0.008659f, + 0.004379f, 0.007616f, 0.002217f, -0.000419f, 0.000284f, -0.020699f, 0.009990f, -0.007502f, 0.009777f, 0.013294f, 0.001485f, -0.001946f, 0.006395f, -0.000524f, 0.004833f, 0.001888f, -0.002447f, -0.007578f, -0.008119f, 0.015709f, 0.002400f, -0.003532f, 0.004112f, -0.009600f, -0.002084f, 0.015969f, 0.020920f, 0.002801f, -0.019111f, -0.096106f, 0.006381f, -0.025105f, 0.003383f, 0.048059f, 0.004665f, -0.009314f, 0.008832f, 0.001823f, -0.032558f, -0.035242f, -0.031654f, -0.030478f, 0.039686f, -0.007966f, 0.047354f, 0.004170f, -0.044618f, -0.001598f, 0.004987f, 0.038249f, 0.007595f, -0.006213f, -0.007553f, 0.010907f, -0.024005f, -0.009244f, 0.042385f, -0.008657f, -0.054924f, -0.042017f, 0.025143f, -0.005484f, -0.011379f, 0.012612f, -0.003898f, -0.028346f, 0.008584f, 0.016612f, 0.038160f, -0.007703f, -0.031601f, 0.000411f, -0.039869f, 0.015334f, 0.045217f, -0.007253f, -0.055414f, 0.017437f, -0.000601f, 0.003100f, 0.013399f, -0.017485f, 0.034157f, 0.002543f, -0.022994f, 0.017885f, -0.012438f, -0.007723f, 0.048789f, -0.024998f, -0.008364f, -0.008218f, 0.030746f, 0.012329f, -0.053919f, 0.027347f, + -0.043448f, -0.010391f, -0.023436f, 0.005586f, -0.014288f, -0.013201f, -0.004475f, 0.024752f, -0.008039f, -0.015287f, 0.029327f, -0.017115f, 0.030104f, -0.000180f, -0.015891f, -0.009590f, 0.007494f, 0.008263f, 0.005971f, -0.018110f, -0.005981f, 0.004426f, -0.001009f, -0.011854f, 0.000268f, 0.011145f, 0.017183f, 0.007141f, 0.008840f, 0.001385f, 0.016889f, -0.009579f, 0.005485f, 0.013339f, -0.005075f, 0.001660f, 0.005444f, -0.003355f, 0.002662f, 0.005275f, -0.016553f, 0.013965f, 0.005952f, -0.016664f, -0.013655f, 0.000954f, -0.019594f, 0.001693f, -0.014443f, 0.018680f, -0.033807f, -0.000084f, -0.007162f, 0.003550f, -0.008807f, 0.010540f, -0.005643f, 0.004907f, 0.003774f, -0.006969f, 0.001521f, -0.046782f, 0.009465f, 0.077578f, 0.050308f, 0.023197f, -0.038584f, 0.028911f, 0.036258f, 0.053986f, 0.025861f, 0.006469f, 0.001745f, 0.033851f, 0.058094f, -0.013059f, -0.007278f, 0.033083f, -0.065419f, 0.023821f, 0.058013f, -0.011993f, -0.020354f, 0.015179f, 0.044992f, 0.036463f, -0.024537f, -0.041627f, -0.002658f, 0.021028f, -0.007276f, 0.005105f, 0.000456f, 0.048943f, -0.028140f, 0.031368f, + 0.047077f, -0.018891f, -0.005947f, 0.033427f, -0.005235f, 0.117120f, -0.049336f, 0.021110f, 0.079906f, -0.046128f, 0.014885f, 0.005384f, -0.065219f, -0.002000f, 0.011884f, -0.028642f, 0.063305f, 0.004817f, -0.008981f, 0.004949f, -0.026690f, 0.087139f, 0.023777f, -0.069845f, 0.067134f, -0.028175f, 0.002239f, 0.020670f, 0.024767f, 0.044711f, 0.021541f, -0.012100f, -0.043930f, -0.058753f, -0.022323f, -0.023568f, -0.004314f, -0.018052f, 0.036643f, -0.022490f, -0.039221f, 0.004325f, 0.010463f, 0.007895f, 0.013881f, -0.022074f, -0.021783f, -0.013075f, -0.014518f, -0.046341f, -0.019886f, -0.015806f, -0.032308f, -0.015417f, 0.011115f, -0.013647f, -0.030331f, -0.001483f, 0.011311f, 0.020095f, -0.005102f, 0.009427f, 0.021572f, -0.001313f, -0.015268f, -0.000977f, -0.009417f, 0.012157f, 0.017104f, -0.024594f, 0.021186f, -0.012772f, -0.000141f, 0.003182f, -0.011808f, 0.022619f, 0.008325f, -0.031921f, 0.019175f, 0.002913f, -0.011770f, 0.023467f, -0.027234f, 0.010678f, -0.005480f, 0.011438f, -0.006867f, -0.007510f, 0.003977f, -0.004443f, -0.003219f, 0.008219f, -0.005357f, -0.018319f, 0.007950f, -0.001757f, + 0.005034f, -0.000857f, 0.014735f, -0.008417f, 0.018770f, -0.089720f, 0.052093f, 0.002762f, 0.031334f, 0.052668f, -0.086802f, 0.020129f, 0.044080f, 0.010447f, 0.032792f, -0.032907f, 0.036139f, 0.011023f, -0.034265f, 0.000870f, -0.021739f, -0.062908f, 0.034339f, 0.020076f, 0.057471f, -0.031646f, -0.042772f, -0.014461f, 0.013188f, -0.008458f, -0.072123f, -0.035056f, 0.021673f, -0.005009f, 0.010354f, -0.029941f, -0.009765f, 0.024205f, -0.020602f, -0.009765f, -0.031003f, -0.006843f, 0.010784f, -0.033611f, 0.003208f, -0.073798f, -0.061360f, 0.019169f, -0.063811f, 0.005835f, -0.066741f, -0.046224f, -0.032383f, 0.031530f, 0.061607f, 0.076580f, -0.018407f, 0.034192f, 0.041010f, 0.020311f, 0.017589f, -0.029324f, 0.084591f, 0.086858f, -0.059173f, 0.059284f, -0.046622f, 0.029963f, 0.060610f, 0.058142f, 0.070286f, 0.084470f, 0.059417f, -0.066753f, -0.047875f, -0.000240f, 0.001393f, 0.025599f, -0.016232f, -0.012625f, -0.040420f, -0.022001f, -0.059828f, 0.013344f, 0.049765f, -0.019948f, 0.012014f, 0.052471f, 0.024368f, -0.035509f, 0.039889f, -0.002218f, 0.013960f, -0.003673f, -0.007308f, 0.011834f, + -0.012838f, 0.018011f, 0.014790f, -0.013070f, -0.016315f, 0.015576f, -0.011178f, 0.000788f, 0.000293f, -0.001017f, 0.004196f, 0.001761f, -0.021647f, 0.020231f, -0.009284f, 0.009797f, 0.011319f, -0.007735f, 0.012208f, -0.015099f, -0.011399f, 0.010396f, -0.012458f, -0.015606f, -0.007148f, 0.006523f, -0.006351f, 0.004139f, -0.014465f, 0.000719f, 0.005134f, 0.013394f, 0.019625f, -0.004486f, 0.011003f, -0.012879f, -0.000115f, -0.002235f, 0.005867f, 0.004747f, -0.001298f, -0.009933f, -0.014258f, -0.003202f, 0.002949f, 0.111490f, -0.081596f, -0.041557f, 0.044010f, -0.026195f, 0.042048f, -0.032764f, -0.036484f, 0.012321f, -0.086280f, -0.003916f, 0.058095f, -0.014018f, 0.029888f, -0.049518f, -0.012112f, -0.019550f, 0.002031f, 0.061923f, 0.018793f, 0.013770f, -0.010978f, 0.034000f, 0.011012f, 0.084614f, 0.020893f, 0.049411f, 0.003603f, -0.038595f, -0.036431f, 0.049256f, -0.023843f, 0.022797f, -0.000377f, -0.063495f, 0.045910f, -0.056565f, 0.110040f, -0.081906f, 0.050138f, 0.044832f, -0.046933f, -0.039498f, -0.029090f, 0.040651f, -0.002975f, 0.042543f, -0.000405f, 0.005601f, -0.075036f, -0.040335f, + 0.017630f, -0.036885f, 0.012377f, -0.022465f, 0.022228f, 0.012610f, 0.057885f, -0.034237f, -0.011662f, -0.014557f, -0.028142f, 0.078355f, 0.014654f, 0.007451f, -0.072736f, -0.023529f, 0.039385f, 0.023233f, 0.025153f, 0.067895f, 0.043577f, 0.060053f, 0.069385f, -0.001920f, 0.030838f, -0.028678f, 0.092240f, 0.007034f, -0.014990f, 0.033651f, -0.007654f, 0.070748f, 0.001497f, -0.014106f, -0.014369f, 0.008584f, 0.049893f, -0.037547f, 0.025892f, -0.011862f, -0.003842f, 0.014871f, 0.010118f, 0.019470f, -0.011897f, 0.012727f, 0.023437f, -0.005946f, -0.008570f, 0.015848f, -0.002304f, -0.002312f, -0.001512f, 0.004374f, 0.002827f, 0.007712f, -0.016595f, 0.022253f, -0.012756f, -0.007051f, -0.003300f, 0.013674f, -0.018805f, 0.002093f, -0.013376f, 0.018642f, 0.033743f, -0.011029f, -0.008974f, -0.004277f, 0.023268f, 0.011477f, 0.024296f, -0.001751f, -0.013655f, 0.011161f, 0.011830f, -0.003249f, 0.011726f, 0.009112f, -0.032298f, 0.005258f, 0.037630f, -0.004786f, -0.017475f, -0.168673f, 0.117358f, -0.072873f, -0.050393f, 0.000942f, 0.024374f, 0.029908f, 0.005806f, -0.027250f, 0.091430f, 0.045894f, + 0.013079f, -0.045877f, 0.030231f, -0.001839f, 0.034317f, -0.043825f, -0.029734f, 0.023006f, 0.068435f, -0.078370f, 0.003543f, 0.025006f, 0.008647f, -0.019516f, -0.011203f, -0.010140f, 0.003478f, -0.004277f, 0.017971f, 0.085521f, 0.005870f, -0.039115f, 0.058064f, -0.013806f, -0.055471f, -0.072335f, 0.068901f, 0.022083f, -0.009198f, 0.025190f, 0.016177f, 0.056693f, -0.077104f, -0.008570f, -0.039061f, -0.011562f, 0.044573f, -0.033014f, 0.017558f, -0.038018f, 0.018466f, 0.117922f, 0.009255f, -0.068138f, -0.075726f, -0.005117f, 0.036497f, 0.035104f, -0.030193f, 0.006915f, 0.057857f, -0.024634f, -0.111212f, 0.063092f, -0.038180f, -0.063890f, 0.028085f, 0.105219f, -0.072802f, 0.052757f, 0.073947f, 0.024888f, -0.063614f, -0.053828f, -0.032592f, 0.026035f, 0.023271f, -0.022614f, 0.066375f, 0.031732f, -0.003940f, -0.002465f, 0.004183f, -0.055810f, -0.020890f, -0.039677f, 0.020328f, 0.017258f, 0.013334f, 0.017432f, 0.013743f, 0.040109f, -0.020176f, -0.010542f, 0.007979f, -0.000453f, -0.031267f, 0.026537f, -0.001037f, 0.016404f, -0.007708f, 0.012203f, -0.020096f, -0.006823f, -0.012070f, 0.018516f, + 0.003762f, 0.003316f, 0.000662f, 0.010897f, 0.029986f, -0.012443f, -0.056922f, 0.004049f, -0.028062f, -0.006132f, 0.017123f, -0.024768f, -0.015619f, 0.031762f, -0.030247f, -0.007396f, 0.000298f, 0.014903f, -0.032404f, 0.001652f, 0.096636f, 0.031811f, 0.006405f, -0.007079f, 0.015316f, 0.027199f, -0.008668f, 0.012693f, -0.014642f, -0.000130f, -0.011574f, 0.045396f, -0.050943f, -0.005713f, 0.030439f, -0.070737f, 0.022884f, -0.017254f, 0.005318f, -0.008271f, -0.019818f, 0.012661f, -0.005488f, -0.028799f, 0.077497f, -0.059145f, -0.016669f, 0.055055f, -0.035303f, -0.005377f, -0.011155f, 0.012132f, 0.054421f, 0.004262f, -0.053154f, 0.072841f, -0.039375f, 0.025975f, 0.045337f, 0.020248f, -0.016989f, 0.004054f, -0.040046f, 0.009814f, -0.024274f, -0.019017f, 0.097471f, -0.022623f, -0.038931f, 0.012746f, -0.018213f, 0.023202f, -0.015215f, 0.025473f, 0.062693f, -0.034464f, 0.020713f, 0.047983f, -0.056419f, 0.025863f, 0.030604f, 0.014075f, 0.038320f, -0.043705f, -0.011594f, 0.067090f, -0.046338f, -0.010156f, 0.019078f, -0.018720f, 0.063898f, -0.063503f, 0.010735f, 0.022947f, -0.029429f, 0.022321f, + 0.024381f, -0.060477f, 0.021473f, 0.051614f, -0.000627f, -0.015485f, -0.002504f, 0.033209f, -0.006926f, -0.056794f, 0.046124f, 0.021927f, -0.025035f, 0.009485f, -0.013827f, 0.020506f, -0.008061f, -0.025417f, 0.029873f, 0.001677f, -0.006581f, -0.022100f, 0.020739f, 0.003958f, -0.029528f, 0.010538f, 0.019684f, -0.004077f, -0.009706f, 0.004316f, 0.018192f, -0.002701f, -0.019021f, 0.019383f, 0.012625f, 0.002366f, -0.001022f, 0.016204f, 0.003059f, 0.005682f, -0.022599f, 0.028635f, -0.015836f, 0.030538f, -0.020172f, -0.054524f, -0.147181f, -0.231294f, 0.020945f, 0.221508f, 0.018094f, 0.501468f, 0.517584f, 0.257690f, 0.541846f, 0.361411f, -0.075113f, -0.007846f, -0.119368f, -0.435145f, -0.382049f, -0.236164f, -0.444638f, -0.347993f, -0.101312f, -0.218121f, -0.182698f, 0.064543f, 0.109132f, -0.053060f, 0.028390f, 0.097470f, -0.075438f, -0.044198f, 0.137321f, 0.121981f, 0.013769f, 0.136344f, 0.232754f, 0.077629f, 0.168272f, 0.318567f, 0.152791f, 0.080549f, 0.285316f, 0.238472f, 0.031470f, 0.171148f, 0.334363f, 0.065901f, 0.078398f, 0.270002f, 0.116056f, -0.029712f, 0.190685f, 0.179972f, + -0.017407f, 0.158795f, 0.205105f, -0.004030f, -0.151337f, -0.070891f, -0.354687f, -0.585406f, -0.520799f, -0.555260f, -0.847686f, -0.761529f, -0.712754f, -0.866665f, -0.842146f, -0.691112f, -0.623364f, -0.560944f, -0.325398f, -0.125972f, 0.108129f, 0.231861f, 0.445199f, 0.664580f, 0.725576f, 0.808445f, 1.055279f, 1.041443f, 0.818958f, 0.896082f, 0.791960f, 0.326676f, 0.356052f, 0.302264f, -0.014925f, -0.051910f, 0.085980f, -0.014508f, -0.138666f, 0.015322f, 0.089299f, -0.090931f, -0.037644f, 0.078497f, -0.045513f, -0.175918f, -0.059985f, -0.049696f, -0.253620f, -0.180658f, -0.050950f, -0.199779f, -0.225922f, -0.018709f, -0.082370f, -0.228703f, -0.111820f, -0.105584f, -0.320417f, -0.304100f, -0.276040f, -0.494536f, -0.534400f, -0.446440f, -0.475987f, -0.513380f, -0.369195f, -0.315711f, -0.274720f, -0.200429f, -0.110368f, -0.052702f, -0.018241f, 0.035477f, 0.168505f, 0.231976f, 0.360890f, 0.592151f, 0.670360f, 0.742139f, 0.867896f, 0.847782f, 0.745922f, 0.634404f, 0.443064f, 0.187333f, 0.042649f, -0.051795f, -0.149608f, -0.174977f, -0.172084f, -0.174410f, -0.178294f, -0.167344f, -0.152175f, -0.163871f, + -0.167602f, -0.159579f, -0.170680f, -0.186716f, -0.178502f, -0.172124f, -0.167763f, -0.147889f, -0.113005f, -0.085041f, -0.056165f, -0.017091f, 0.012072f, 0.025351f, 0.034693f, 0.036761f, 0.030277f, 0.026742f, 0.020038f, 0.004657f, -0.008119f, -0.019614f, -0.033713f, -0.038042f, -0.037754f, -0.041682f, -0.040862f, -0.034252f, -0.033299f, -0.029760f, -0.019591f, -0.019444f, -0.021303f, -0.012252f, -0.008425f, -0.012469f, -0.005068f, -0.002648f, -0.005738f, 0.007912f, 0.021724f, 0.026241f, 0.040905f, 0.056444f, 0.063633f, 0.073921f, 0.085406f, 0.087361f, 0.086370f, 0.090139f, 0.089726f, 0.084724f, 0.079591f, 0.072134f, 0.059702f, 0.047827f, 0.039147f, 0.027467f, 0.015083f, 0.003656f, -0.010385f, -0.027003f, -0.040921f, -0.054383f, -0.065144f, -0.074689f, -0.080398f, -0.080705f, -0.077920f, -0.070407f, -0.056879f, -0.044273f, -0.032880f, -0.022626f, -0.014521f, -0.011379f, -0.007523f, -0.004478f, -0.002896f, -0.001880f, 0.000469f, 0.001393f, 0.002397f, 0.003059f, 0.004354f, 0.004319f, 0.004711f, 0.004393f, 0.004343f, 0.003223f, 0.002655f, 0.001463f, 0.000762f} + }, + { + {0.003003f, 0.012045f, -0.006014f, 0.003344f, -0.001272f, 0.000710f, 0.000534f, -0.004838f, -0.005545f, 0.003623f, -0.001039f, -0.004410f, -0.005686f, -0.003469f, 0.004950f, -0.000507f, 0.006654f, 0.001417f, -0.008517f, -0.008752f, -0.006255f, 0.002568f, 0.002133f, 0.004553f, -0.000712f, 0.005209f, -0.004009f, -0.000726f, -0.009210f, -0.001402f, -0.001746f, 0.001903f, 0.003417f, 0.003472f, 0.006742f, -0.003367f, -0.004573f, 0.003674f, 0.002034f, -0.004418f, -0.004549f, 0.000217f, 0.003117f, 0.001516f, 0.007489f, -0.002859f, -0.002422f, 0.008533f, 0.002570f, 0.015993f, 0.006759f, -0.004487f, -0.000192f, -0.009843f, 0.000146f, -0.011220f, -0.000779f, -0.004198f, 0.007713f, 0.000817f, 0.004122f, 0.005676f, 0.003033f, 0.005442f, 0.003581f, 0.000770f, -0.009454f, -0.001050f, -0.004759f, 0.006486f, 0.009431f, -0.006649f, -0.004772f, -0.002862f, -0.003878f, -0.005019f, -0.008113f, -0.001837f, 0.002376f, -0.004762f, -0.003977f, -0.001681f, -0.006679f, 0.000765f, -0.001380f, -0.004484f, 0.001385f, 0.000234f, -0.000073f, -0.002211f, 0.000348f, 0.000412f, 0.002419f, -0.000691f, 0.001544f, -0.000824f, + 0.001103f, -0.000326f, -0.001540f, 0.000402f, 0.001888f, 0.000322f, -0.001789f, -0.001794f, -0.000235f, 0.003298f, 0.000714f, -0.000645f, 0.000480f, -0.000977f, -0.001119f, -0.018876f, -0.020171f, -0.001607f, -0.005782f, 0.000772f, -0.004373f, -0.001193f, 0.011231f, -0.002011f, 0.006040f, -0.002778f, -0.005392f, -0.007462f, 0.001374f, -0.001546f, -0.008903f, 0.010265f, 0.003089f, 0.000702f, 0.005478f, 0.005219f, 0.008471f, 0.005961f, -0.000558f, -0.006304f, 0.005886f, 0.001367f, -0.008490f, -0.003756f, -0.003827f, -0.002548f, 0.007596f, -0.002604f, -0.012948f, -0.004390f, -0.001478f, 0.002702f, -0.004023f, -0.008430f, 0.000278f, -0.000825f, 0.009793f, 0.001448f, -0.000076f, 0.003574f, -0.000222f, 0.013208f, -0.002277f, 0.001214f, -0.002918f, -0.005243f, 0.000007f, 0.005672f, 0.002566f, 0.001547f, 0.005362f, -0.004920f, -0.008195f, -0.005864f, -0.001180f, 0.001078f, -0.001913f, 0.000234f, -0.006152f, -0.001362f, 0.003223f, -0.001963f, 0.006416f, 0.003349f, -0.000364f, 0.001191f, -0.006019f, -0.005124f, 0.009955f, 0.002263f, 0.004239f, 0.002890f, -0.001774f, -0.000584f, -0.007568f, 0.000535f, + -0.004326f, 0.001859f, -0.001479f, 0.001928f, 0.002047f, 0.005858f, -0.000615f, -0.002044f, 0.000339f, 0.001257f, 0.000777f, 0.000214f, 0.000199f, -0.001761f, -0.001398f, 0.000715f, -0.000648f, -0.001516f, 0.002369f, -0.001199f, 0.001210f, 0.001816f, -0.001727f, -0.000505f, 0.001356f, -0.000512f, 0.002440f, -0.001471f, 0.001203f, -0.001170f, -0.000873f, -0.003062f, 0.002868f, 0.013007f, -0.000676f, 0.006658f, 0.003980f, 0.008894f, 0.010991f, -0.002518f, 0.000945f, 0.006720f, 0.006707f, 0.004437f, 0.012577f, 0.002528f, -0.004046f, 0.000536f, 0.011015f, 0.003853f, 0.005230f, 0.009503f, 0.012838f, 0.008435f, -0.002846f, -0.008758f, 0.006221f, 0.004207f, -0.005010f, -0.008454f, 0.000515f, -0.004932f, 0.002310f, 0.003251f, -0.003032f, -0.004209f, 0.004310f, 0.003377f, 0.007608f, -0.005034f, -0.010237f, -0.005145f, -0.004399f, -0.006842f, -0.002325f, -0.007817f, 0.004753f, -0.010707f, 0.004667f, 0.000943f, 0.002537f, -0.004741f, 0.010306f, 0.007851f, -0.007191f, 0.009042f, 0.003443f, -0.001294f, 0.003024f, -0.006486f, -0.002028f, 0.006203f, 0.002249f, 0.002628f, 0.001674f, 0.007405f, + 0.003043f, 0.009146f, -0.004401f, -0.000493f, -0.000525f, 0.003589f, 0.005334f, -0.002037f, 0.003573f, -0.004709f, 0.002486f, 0.003262f, 0.002947f, 0.010049f, 0.000447f, 0.007519f, 0.008424f, 0.004761f, -0.007518f, -0.001380f, -0.001099f, -0.001905f, 0.000767f, 0.004314f, -0.001662f, 0.000222f, -0.000220f, 0.000577f, 0.001634f, -0.001144f, 0.001907f, 0.003014f, -0.001933f, -0.000986f, 0.002882f, 0.000203f, 0.000141f, -0.000031f, -0.001461f, 0.000806f, -0.000645f, 0.000344f, 0.002273f, 0.003628f, 0.000284f, -0.000353f, 0.001907f, 0.001484f, 0.000698f, 0.000944f, 0.000823f, 0.000994f, 0.000019f, -0.000349f, 0.001715f, 0.002044f, -0.001601f, 0.001146f, -0.000469f, 0.001662f, 0.002041f, 0.000302f, 0.000511f, 0.002152f, 0.000123f, 0.000043f, -0.000273f, 0.001016f, 0.036348f, 0.000031f, 0.032214f, 0.002302f, 0.020499f, -0.004614f, -0.003221f, 0.005272f, -0.014842f, 0.016244f, -0.009128f, 0.010810f, 0.008427f, -0.006309f, 0.005079f, -0.000708f, 0.000868f, -0.003056f, 0.004847f, 0.006262f, 0.008343f, 0.013076f, 0.003502f, 0.003995f, -0.000274f, 0.015425f, -0.017773f, 0.000178f, + -0.001138f, 0.004064f, 0.007884f, -0.009737f, 0.003862f, 0.004020f, 0.002433f, 0.006016f, 0.003624f, -0.007574f, 0.003710f, 0.013779f, -0.002410f, 0.004037f, -0.002152f, -0.002443f, -0.000458f, -0.010340f, 0.015753f, -0.000501f, 0.001717f, 0.011365f, -0.001434f, 0.000638f, 0.014615f, -0.021415f, 0.005996f, -0.000656f, 0.006514f, 0.016862f, 0.005289f, 0.003880f, 0.006109f, -0.002115f, -0.004617f, -0.003499f, 0.004350f, 0.001305f, 0.009353f, -0.003584f, 0.007712f, 0.003267f, -0.002428f, 0.001295f, -0.005900f, -0.004178f, 0.000941f, -0.002028f, -0.008206f, -0.005558f, -0.008402f, 0.004796f, 0.007661f, -0.002286f, 0.002442f, -0.002024f, -0.005556f, -0.000492f, 0.003231f, 0.002892f, -0.010066f, -0.000671f, 0.001048f, -0.001812f, 0.000671f, -0.002342f, 0.000300f, -0.002499f, -0.004807f, -0.000342f, -0.003154f, -0.002857f, -0.003963f, -0.000069f, -0.003876f, -0.001473f, -0.003760f, -0.003168f, -0.000045f, -0.001634f, -0.001968f, -0.000464f, 0.000591f, 0.001616f, -0.001986f, -0.000210f, 0.000718f, -0.014518f, -0.017626f, -0.007126f, -0.002564f, -0.006729f, 0.014283f, 0.005970f, -0.011224f, 0.012533f, + -0.001669f, -0.009295f, 0.002849f, 0.005410f, -0.005026f, -0.008500f, -0.007478f, -0.016082f, -0.007974f, 0.006824f, -0.010039f, -0.016327f, 0.004683f, 0.006492f, 0.001410f, -0.006057f, 0.012277f, 0.001426f, 0.011359f, -0.000783f, -0.002488f, 0.006354f, 0.010768f, -0.015241f, -0.007123f, 0.004061f, -0.003299f, 0.003646f, -0.009818f, -0.000792f, 0.002776f, 0.003526f, -0.008365f, -0.015471f, -0.004238f, 0.004431f, -0.002508f, -0.002005f, 0.001035f, 0.004920f, -0.001425f, 0.002706f, -0.005092f, 0.008878f, -0.011629f, -0.008825f, -0.002968f, -0.008645f, -0.002477f, -0.002374f, 0.003523f, -0.006353f, 0.004862f, 0.009654f, -0.000741f, 0.002233f, 0.002715f, 0.004611f, 0.009575f, -0.003644f, -0.001719f, -0.001836f, -0.003831f, 0.009826f, -0.003911f, -0.017212f, -0.010868f, -0.007290f, 0.016604f, 0.000257f, 0.009569f, 0.004317f, 0.001535f, 0.002533f, -0.001041f, -0.000391f, 0.008047f, -0.002660f, -0.001709f, 0.002557f, -0.001290f, 0.001265f, -0.003457f, -0.002170f, 0.001923f, -0.000490f, 0.002106f, -0.000520f, 0.001286f, 0.002976f, 0.002242f, 0.002784f, 0.000122f, 0.001940f, -0.000326f, 0.002857f, + 0.003238f, 0.005095f, 0.003292f, 0.004047f, 0.001065f, 0.002706f, 0.002426f, 0.001684f, 0.002521f, 0.003362f, -0.001406f, 0.000277f, -0.000544f, -0.001408f, 0.001497f, 0.001999f, -0.004006f, -0.015705f, -0.036136f, -0.003492f, 0.002617f, 0.000275f, -0.011647f, -0.005318f, -0.013235f, -0.003554f, -0.015632f, -0.018136f, -0.013985f, -0.003385f, -0.009235f, -0.020427f, -0.012617f, 0.004082f, 0.006370f, -0.005735f, 0.012301f, 0.006634f, -0.004439f, 0.014938f, 0.003305f, 0.001115f, 0.002498f, -0.020754f, -0.000686f, 0.003300f, 0.007835f, -0.006619f, -0.005676f, 0.012148f, 0.023970f, -0.018027f, 0.006496f, -0.005406f, -0.000866f, -0.015909f, -0.001334f, -0.000328f, -0.007988f, -0.010350f, -0.007359f, -0.008830f, -0.004574f, 0.005003f, 0.017596f, -0.008359f, 0.006623f, 0.011699f, 0.010774f, -0.003790f, 0.001250f, -0.004011f, -0.003377f, -0.016353f, -0.007982f, 0.008998f, -0.005810f, 0.001815f, -0.005548f, 0.004445f, 0.002475f, -0.001967f, -0.000595f, -0.007735f, -0.006213f, 0.001232f, -0.002237f, 0.003134f, -0.019140f, -0.020449f, -0.002174f, -0.003157f, -0.008699f, -0.000244f, 0.006426f, -0.010158f, + -0.007667f, -0.008694f, -0.014744f, 0.010218f, -0.001077f, -0.002415f, 0.003991f, -0.000785f, 0.003577f, 0.006665f, 0.002370f, 0.003608f, 0.002166f, 0.004836f, -0.001534f, 0.000690f, 0.000794f, 0.000934f, 0.001645f, -0.001538f, -0.001284f, 0.000060f, 0.001527f, 0.001730f, -0.001281f, 0.001376f, -0.001851f, -0.003694f, 0.001845f, 0.001134f, -0.001413f, 0.004293f, 0.002006f, 0.000067f, 0.001700f, -0.002982f, -0.003016f, -0.001019f, -0.001626f, -0.001480f, -0.004022f, -0.000836f, -0.003184f, -0.022764f, -0.004178f, -0.027359f, -0.005824f, -0.019456f, -0.002040f, 0.003368f, 0.005141f, 0.020596f, -0.012755f, 0.004413f, 0.005879f, -0.011559f, -0.004855f, 0.016523f, 0.002030f, -0.005147f, 0.002357f, -0.014060f, 0.012783f, -0.017946f, -0.005597f, 0.007645f, 0.005160f, -0.002089f, 0.003271f, -0.003743f, 0.006045f, -0.007800f, -0.013047f, 0.000660f, 0.006679f, 0.005018f, -0.010386f, 0.002702f, 0.012196f, -0.012535f, -0.015330f, 0.012169f, -0.010377f, 0.007859f, -0.007401f, 0.004276f, -0.000071f, -0.011300f, -0.014141f, -0.009105f, 0.004161f, -0.000822f, 0.005615f, -0.007761f, -0.007088f, -0.018609f, + 0.009813f, -0.013409f, -0.005777f, 0.006901f, 0.016534f, -0.002362f, -0.003143f, -0.024283f, -0.018699f, -0.006560f, -0.006513f, 0.008790f, -0.002324f, -0.014330f, -0.002021f, 0.000494f, -0.007597f, -0.002175f, -0.016585f, 0.010958f, 0.004590f, 0.013884f, 0.017494f, 0.008848f, 0.000939f, 0.007269f, 0.015629f, -0.001531f, -0.003320f, -0.001303f, -0.004480f, -0.015556f, 0.001081f, 0.000882f, 0.003525f, 0.007952f, -0.003108f, 0.001564f, 0.000218f, -0.006270f, -0.003035f, 0.005350f, 0.005610f, 0.004847f, -0.003699f, 0.001288f, 0.002344f, 0.001696f, 0.002107f, 0.001994f, 0.000960f, 0.004013f, 0.004454f, 0.002634f, -0.000639f, 0.001718f, -0.000505f, 0.001440f, 0.003274f, 0.000840f, 0.001450f, -0.000170f, -0.000837f, -0.001199f, 0.000156f, -0.002901f, -0.001017f, 0.002738f, 0.013298f, 0.007081f, 0.038756f, 0.018860f, 0.025087f, -0.007704f, -0.001021f, -0.000339f, -0.038354f, 0.002092f, 0.016490f, -0.007505f, -0.003008f, 0.001401f, 0.024117f, -0.004005f, 0.013961f, -0.002777f, 0.013372f, 0.007452f, 0.016523f, 0.023354f, 0.002970f, 0.015626f, -0.004830f, 0.013539f, -0.001839f, 0.024994f, + 0.013230f, -0.000317f, 0.014151f, 0.011541f, -0.004206f, 0.011025f, 0.006561f, 0.009536f, -0.007462f, -0.005868f, -0.020129f, -0.001120f, 0.014259f, 0.002859f, 0.001811f, -0.004567f, -0.007529f, -0.005890f, -0.006637f, 0.035155f, -0.022533f, 0.009055f, 0.010646f, 0.006160f, 0.003032f, -0.013324f, -0.017882f, -0.004449f, -0.002659f, -0.000702f, -0.030985f, -0.015244f, -0.015923f, 0.000892f, -0.000722f, 0.009347f, -0.001006f, 0.008320f, 0.010998f, 0.019984f, 0.003659f, -0.004976f, 0.006692f, -0.012358f, 0.003433f, -0.009027f, 0.003356f, 0.007820f, 0.004360f, 0.012786f, -0.008523f, -0.009564f, 0.045499f, 0.006372f, 0.008271f, 0.005899f, 0.015454f, -0.010782f, -0.005634f, 0.009863f, -0.001112f, -0.000121f, 0.001805f, 0.003344f, 0.008932f, -0.004280f, -0.000664f, 0.001829f, 0.005149f, 0.001319f, -0.004687f, 0.008783f, 0.000336f, -0.001892f, 0.000213f, -0.000852f, -0.004609f, -0.004183f, -0.002014f, -0.004668f, 0.000002f, -0.001739f, 0.002115f, 0.006338f, -0.000560f, -0.000457f, -0.006799f, -0.001284f, 0.003379f, -0.000602f, 0.000419f, 0.000779f, 0.005374f, -0.002628f, -0.000794f, 0.001880f, + 0.002032f, -0.005789f, -0.005011f, 0.059780f, 0.006110f, 0.009142f, 0.006425f, -0.003447f, -0.024402f, 0.016541f, 0.016911f, -0.009383f, 0.007248f, 0.007983f, -0.014744f, -0.001785f, 0.013883f, 0.008371f, -0.025759f, 0.006713f, -0.007175f, -0.012825f, -0.000497f, 0.007705f, 0.001836f, -0.000029f, -0.000663f, 0.011220f, -0.003623f, 0.006415f, -0.020090f, 0.008186f, -0.002221f, 0.008037f, 0.004329f, -0.003431f, 0.014016f, -0.019159f, -0.008507f, -0.018923f, 0.016464f, 0.008062f, 0.026966f, 0.013603f, -0.000253f, 0.006008f, -0.022173f, -0.000017f, 0.006259f, 0.007183f, 0.006533f, 0.001628f, 0.003710f, -0.005671f, 0.006102f, 0.019642f, 0.026079f, 0.011503f, -0.012119f, -0.006450f, -0.002869f, -0.005056f, 0.009603f, 0.013393f, -0.009370f, 0.007969f, 0.014499f, 0.004616f, -0.020398f, -0.039836f, -0.019885f, 0.008118f, 0.017320f, -0.007436f, 0.005089f, -0.001425f, -0.003826f, -0.000060f, 0.018085f, 0.003419f, -0.015196f, 0.024750f, 0.011028f, -0.028554f, 0.001193f, -0.003386f, -0.009337f, -0.003159f, -0.004476f, 0.000024f, 0.009798f, 0.004211f, -0.007837f, -0.004067f, 0.005754f, 0.010695f, + -0.004860f, 0.008139f, 0.001987f, -0.006631f, -0.001827f, 0.001079f, 0.000162f, -0.001233f, 0.000473f, -0.003291f, -0.002509f, 0.002375f, 0.000574f, -0.002930f, -0.003250f, 0.000191f, -0.002123f, -0.004874f, 0.002941f, -0.001704f, -0.002633f, 0.001376f, 0.004996f, -0.005468f, -0.008716f, -0.000077f, -0.001339f, -0.012681f, -0.002265f, 0.003141f, -0.000079f, -0.007668f, -0.000981f, -0.002848f, 0.002385f, 0.001778f, 0.003929f, 0.003125f, -0.001264f, -0.001394f, -0.002431f, -0.006262f, -0.037016f, 0.011479f, 0.016814f, -0.019017f, 0.012123f, 0.021830f, -0.052463f, 0.011736f, 0.001727f, 0.011916f, -0.019875f, 0.029866f, -0.041496f, 0.000147f, -0.003423f, -0.002852f, -0.004690f, -0.011434f, -0.015985f, -0.002041f, 0.014216f, 0.002007f, -0.000071f, -0.007325f, 0.009867f, -0.001119f, -0.005539f, 0.008297f, 0.017664f, -0.011532f, 0.012611f, -0.001885f, 0.007475f, 0.004475f, 0.011821f, 0.019334f, -0.004814f, 0.005451f, -0.024858f, -0.011730f, -0.005491f, -0.008749f, -0.022677f, 0.002885f, -0.008539f, -0.013968f, 0.020905f, -0.019513f, -0.007106f, -0.008942f, -0.011249f, 0.015077f, -0.016988f, 0.009767f, + -0.006214f, 0.015479f, -0.008324f, 0.016904f, -0.022078f, -0.005665f, 0.002395f, 0.020368f, -0.035390f, -0.012706f, 0.000918f, 0.000475f, -0.006597f, 0.014413f, -0.018523f, -0.035123f, 0.007366f, -0.030787f, 0.015494f, -0.010716f, -0.000245f, -0.032212f, -0.013120f, 0.035638f, 0.019576f, -0.026071f, -0.022495f, -0.018350f, 0.000768f, 0.011082f, -0.004951f, -0.011459f, 0.022567f, 0.008568f, -0.004356f, -0.004608f, -0.008928f, -0.001418f, 0.008656f, -0.008037f, 0.009331f, -0.000784f, -0.007012f, 0.001567f, -0.005436f, 0.003876f, 0.007834f, -0.004531f, 0.003294f, 0.006300f, 0.003915f, -0.000402f, 0.009159f, -0.008703f, 0.008630f, -0.002228f, 0.007554f, -0.010177f, -0.005748f, 0.001852f, 0.000378f, 0.011143f, 0.003347f, 0.006809f, -0.003976f, -0.005948f, 0.003286f, -0.011712f, -0.001473f, -0.002251f, 0.004701f, -0.002225f, -0.002715f, -0.003645f, -0.026982f, -0.011554f, 0.033950f, 0.001451f, -0.028027f, 0.026389f, -0.012357f, 0.001771f, -0.029222f, 0.004509f, 0.011573f, -0.025754f, -0.006301f, -0.023014f, -0.000168f, 0.001482f, -0.007767f, -0.006380f, 0.022482f, 0.003474f, -0.015233f, 0.003835f, + -0.032634f, 0.019628f, 0.031097f, -0.010041f, 0.012988f, 0.022075f, -0.001644f, -0.004489f, 0.002719f, 0.002697f, 0.012929f, 0.002224f, 0.002995f, 0.006803f, -0.018234f, -0.001294f, -0.020961f, -0.021409f, -0.008779f, 0.009029f, 0.012739f, -0.000649f, -0.025216f, 0.004996f, 0.006633f, 0.012440f, 0.026995f, -0.027634f, 0.040504f, -0.033545f, 0.001502f, -0.006736f, -0.005796f, -0.016206f, -0.031129f, -0.042000f, -0.016277f, -0.004782f, 0.010732f, -0.003158f, 0.001771f, 0.006217f, -0.000279f, 0.029634f, 0.014033f, -0.030336f, -0.004709f, -0.000586f, 0.019412f, -0.020955f, 0.001434f, -0.042268f, 0.007960f, 0.033085f, -0.029507f, -0.011564f, 0.004222f, -0.000287f, 0.008306f, 0.046349f, 0.000734f, -0.006075f, 0.002453f, 0.023615f, -0.015967f, 0.006350f, 0.008666f, -0.003465f, -0.001666f, -0.000277f, -0.000574f, 0.010530f, -0.003384f, -0.002377f, -0.009036f, 0.015318f, -0.003260f, 0.004532f, 0.001592f, 0.002723f, 0.003873f, 0.011145f, -0.007681f, -0.001959f, 0.011838f, -0.008520f, -0.011988f, 0.009966f, 0.000543f, 0.004877f, 0.006764f, 0.003801f, 0.012249f, -0.009455f, 0.005737f, 0.006755f, + -0.004152f, 0.017256f, 0.005985f, 0.010561f, 0.003935f, -0.010372f, -0.003722f, -0.001752f, -0.001736f, -0.001835f, 0.005074f, -0.017237f, -0.035278f, 0.042157f, 0.017868f, -0.020494f, 0.027207f, 0.027431f, 0.038710f, -0.014191f, -0.013478f, 0.028441f, -0.004243f, -0.005478f, 0.009799f, 0.012721f, 0.004960f, 0.006156f, -0.038656f, -0.003962f, 0.000061f, 0.000464f, 0.002082f, -0.004219f, 0.016323f, 0.031889f, 0.003176f, 0.002321f, -0.000574f, 0.001673f, 0.029209f, 0.007925f, -0.002083f, -0.006224f, 0.007468f, 0.006632f, -0.004600f, 0.003523f, -0.016693f, -0.003313f, 0.025420f, -0.025058f, -0.012264f, -0.021584f, 0.028412f, -0.025854f, 0.013057f, -0.010478f, 0.008370f, -0.005474f, 0.006756f, -0.020729f, 0.004810f, 0.031763f, -0.020756f, 0.001844f, -0.055085f, -0.002256f, -0.019443f, 0.001689f, -0.051405f, -0.002076f, -0.002499f, -0.015665f, -0.011015f, 0.042193f, -0.045025f, 0.007724f, -0.012141f, -0.016606f, 0.012167f, -0.015039f, -0.035154f, -0.024480f, 0.003467f, 0.002072f, 0.007321f, -0.017226f, -0.023645f, 0.013716f, 0.001199f, 0.002858f, 0.015850f, -0.026061f, 0.019763f, -0.018895f, + -0.008907f, -0.007994f, 0.004753f, 0.000908f, 0.005695f, -0.003169f, -0.006634f, 0.001870f, -0.003739f, 0.005767f, 0.012343f, 0.007377f, 0.004594f, 0.003699f, 0.003402f, 0.003483f, -0.001239f, 0.013572f, 0.002609f, -0.002328f, 0.010037f, 0.010456f, 0.003909f, -0.005450f, -0.000487f, -0.008054f, 0.013381f, 0.004947f, 0.010780f, -0.005007f, 0.011064f, 0.010008f, 0.014458f, 0.007289f, -0.003967f, -0.007279f, 0.012173f, 0.002678f, 0.010546f, 0.002595f, 0.002917f, 0.002973f, 0.003217f, 0.035719f, 0.011960f, -0.004213f, 0.007174f, -0.017228f, -0.019070f, -0.014830f, 0.033902f, -0.030275f, -0.038627f, 0.018718f, -0.035974f, 0.013608f, 0.000929f, 0.010112f, -0.016332f, -0.003410f, -0.019785f, -0.007785f, -0.015379f, 0.007605f, 0.017210f, 0.012596f, -0.029153f, 0.033764f, 0.003585f, 0.012054f, 0.002582f, 0.016457f, -0.003923f, 0.015819f, 0.003314f, -0.006510f, 0.009374f, 0.003965f, 0.012574f, 0.009354f, -0.022268f, 0.009108f, -0.006879f, 0.006498f, -0.004937f, -0.007769f, -0.007243f, -0.014943f, 0.013736f, 0.015590f, 0.015432f, -0.002654f, 0.028656f, 0.035189f, 0.013421f, 0.004882f, + 0.015289f, 0.036449f, 0.017296f, 0.039727f, 0.024778f, 0.029685f, -0.032146f, -0.031512f, 0.005902f, -0.006176f, -0.009135f, 0.002751f, -0.016499f, 0.013486f, 0.009299f, 0.006473f, 0.029425f, -0.006805f, -0.020033f, -0.016036f, -0.014981f, 0.003730f, -0.007477f, -0.064247f, -0.028685f, -0.024874f, -0.009765f, -0.012819f, -0.007426f, -0.009575f, -0.018968f, 0.000870f, -0.011675f, -0.010350f, 0.003597f, -0.010392f, -0.004009f, -0.016081f, 0.000266f, 0.001013f, -0.003266f, -0.023005f, 0.008860f, 0.000082f, 0.000404f, -0.017283f, 0.004561f, 0.006320f, 0.006012f, 0.002023f, 0.019514f, -0.012962f, -0.005699f, 0.004230f, 0.001501f, -0.001385f, 0.007617f, -0.009175f, -0.008580f, -0.001617f, 0.013617f, -0.001414f, 0.009704f, 0.011933f, -0.003287f, -0.014907f, -0.014126f, -0.001596f, 0.014214f, 0.001166f, -0.011466f, 0.001515f, -0.003118f, -0.007299f, -0.006213f, -0.002341f, 0.000075f, -0.011203f, -0.010270f, 0.009694f, 0.028281f, 0.019880f, -0.063207f, -0.045987f, -0.014843f, -0.000204f, 0.020304f, -0.008233f, -0.001870f, -0.049605f, 0.006686f, -0.025802f, 0.018311f, -0.003262f, 0.024389f, -0.020876f, + -0.005675f, -0.024846f, 0.003992f, 0.020906f, -0.010219f, 0.006338f, -0.014808f, 0.001410f, -0.034135f, -0.009046f, -0.002001f, 0.002733f, 0.024663f, 0.032871f, 0.000765f, -0.029623f, -0.021410f, -0.009388f, 0.002708f, -0.007634f, 0.009161f, -0.034108f, -0.011027f, -0.004461f, -0.009278f, -0.019065f, -0.004880f, -0.008665f, 0.023057f, 0.034193f, 0.022572f, 0.008594f, 0.013660f, 0.014449f, -0.016710f, 0.056948f, 0.034078f, -0.044550f, -0.039027f, 0.041875f, -0.033101f, -0.018745f, 0.006115f, 0.004781f, -0.032134f, 0.030995f, 0.001705f, -0.095944f, 0.025425f, 0.060446f, -0.042037f, 0.041684f, 0.055321f, -0.018415f, -0.006052f, 0.029808f, -0.035012f, -0.022914f, 0.011306f, -0.018835f, -0.022000f, 0.025275f, -0.042411f, -0.012755f, 0.005136f, 0.001020f, 0.002118f, -0.004020f, 0.015165f, -0.010998f, 0.006326f, 0.002299f, -0.011468f, 0.022322f, 0.011117f, -0.000715f, -0.014500f, 0.017218f, -0.011081f, 0.013287f, -0.011777f, 0.016160f, 0.001400f, 0.003350f, 0.016090f, -0.012685f, -0.014518f, 0.004294f, -0.013415f, -0.008094f, -0.000901f, 0.001401f, -0.009025f, -0.015762f, 0.007190f, -0.037000f, + -0.000303f, 0.017030f, -0.013945f, 0.010026f, -0.004473f, 0.005031f, -0.015783f, 0.000361f, 0.008205f, -0.007267f, 0.005279f, 0.033203f, -0.015066f, -0.013929f, 0.032401f, -0.023635f, -0.004232f, 0.027462f, -0.019530f, -0.012452f, 0.020676f, 0.012675f, 0.013597f, -0.003368f, -0.020124f, -0.016169f, 0.019124f, -0.015198f, -0.001324f, 0.005663f, -0.028466f, 0.018596f, 0.015271f, -0.011544f, -0.009255f, -0.022266f, 0.000703f, -0.013756f, 0.019381f, -0.031258f, 0.002502f, 0.012057f, -0.001540f, -0.014827f, -0.032314f, -0.007227f, -0.013975f, -0.003073f, -0.024959f, 0.034337f, -0.033283f, 0.005958f, -0.011993f, 0.008723f, -0.047185f, 0.048937f, 0.009466f, 0.005011f, -0.019340f, 0.011269f, 0.008155f, 0.002284f, 0.004651f, -0.008560f, -0.037152f, -0.006311f, -0.015950f, -0.023792f, -0.031871f, -0.011406f, -0.007849f, -0.031706f, -0.011956f, -0.001294f, 0.022311f, 0.010365f, -0.028607f, -0.025030f, 0.015838f, -0.006411f, -0.036369f, -0.015594f, 0.009314f, 0.030408f, 0.030307f, 0.030727f, 0.048999f, -0.009116f, -0.032671f, -0.031296f, -0.001657f, 0.021636f, 0.038267f, 0.017305f, 0.008514f, -0.038393f, + 0.022144f, 0.008382f, 0.037367f, 0.025971f, 0.017154f, 0.012960f, 0.000415f, 0.003580f, 0.022184f, -0.004868f, 0.001949f, 0.004163f, 0.006724f, 0.007798f, 0.007445f, 0.010839f, 0.026584f, 0.008549f, 0.002356f, 0.009327f, -0.000182f, 0.008729f, 0.002870f, 0.001892f, 0.016695f, -0.019356f, -0.013551f, -0.004855f, 0.007804f, -0.009612f, 0.006945f, -0.003984f, 0.020919f, 0.001145f, 0.003889f, -0.010287f, -0.012786f, 0.001554f, 0.012407f, -0.010842f, -0.000772f, 0.014232f, -0.010892f, -0.000239f, 0.006999f, -0.019351f, 0.024671f, 0.013421f, -0.003777f, 0.006244f, -0.000373f, 0.000211f, -0.005261f, 0.014159f, -0.003681f, 0.023473f, 0.060368f, -0.053163f, -0.002429f, -0.020717f, -0.029444f, -0.016326f, 0.027134f, -0.014563f, -0.017524f, 0.015105f, 0.035181f, 0.023447f, -0.027984f, 0.018224f, -0.029327f, 0.021612f, 0.000255f, -0.002499f, -0.014668f, -0.020507f, -0.018010f, 0.004273f, 0.002970f, -0.032856f, 0.020348f, 0.004170f, -0.003955f, -0.012082f, -0.015159f, 0.024444f, -0.033476f, -0.000915f, 0.034469f, 0.042248f, -0.038265f, -0.001898f, -0.008363f, -0.023588f, -0.032214f, 0.034778f, + 0.006834f, 0.022307f, -0.007661f, 0.003210f, -0.003914f, 0.022189f, -0.009395f, 0.001700f, -0.027777f, 0.038969f, 0.031097f, -0.046374f, -0.058277f, -0.011654f, -0.000285f, -0.018382f, 0.000950f, -0.013550f, 0.003413f, -0.028631f, 0.029860f, -0.036952f, -0.033733f, -0.011786f, 0.004433f, 0.026231f, -0.014458f, 0.037808f, 0.002974f, -0.012962f, -0.013755f, -0.009432f, -0.024513f, 0.023161f, 0.016052f, -0.005833f, 0.013425f, 0.011652f, -0.019401f, -0.018084f, -0.016590f, 0.029313f, 0.006699f, -0.020435f, 0.001791f, 0.008475f, 0.008921f, -0.030652f, 0.015094f, 0.012635f, 0.005150f, -0.000061f, -0.009359f, 0.004373f, -0.010172f, -0.027290f, 0.005078f, -0.003438f, -0.005622f, -0.003012f, 0.002098f, -0.008147f, -0.011129f, -0.000388f, -0.004425f, 0.013926f, -0.007942f, -0.003663f, 0.007346f, -0.003535f, -0.013567f, 0.010994f, -0.013526f, -0.004099f, -0.023116f, 0.012150f, 0.001821f, -0.003116f, 0.003422f, -0.010017f, 0.019469f, -0.001200f, 0.002852f, 0.022689f, 0.015666f, -0.006221f, -0.007922f, 0.010931f, 0.005558f, -0.007731f, 0.003825f, -0.007103f, -0.007104f, -0.001365f, 0.004552f, -0.004212f, + -0.001555f, -0.083741f, 0.123641f, -0.085228f, -0.020705f, 0.021331f, 0.067147f, 0.052994f, -0.019072f, -0.022465f, 0.004326f, 0.002186f, 0.035003f, 0.011715f, -0.044470f, 0.012687f, -0.009013f, -0.016798f, 0.005202f, 0.017618f, 0.000493f, -0.034826f, -0.029174f, 0.014930f, 0.013663f, 0.020063f, -0.010754f, 0.025049f, 0.006765f, 0.029534f, -0.002455f, -0.011297f, 0.023230f, -0.003639f, -0.023392f, 0.003284f, 0.028668f, -0.002116f, -0.031254f, 0.014938f, 0.037871f, -0.035196f, 0.014202f, -0.037741f, 0.015241f, -0.047449f, -0.029730f, 0.050309f, 0.048434f, 0.021522f, 0.062870f, -0.012874f, 0.074923f, 0.026684f, 0.029289f, 0.038966f, -0.066614f, 0.055796f, 0.020017f, 0.022022f, 0.026824f, 0.005343f, -0.032201f, 0.004435f, 0.063303f, 0.070465f, -0.000227f, -0.081727f, 0.040337f, 0.001280f, 0.017510f, -0.003705f, 0.002519f, -0.018511f, -0.060321f, 0.011398f, -0.009536f, 0.012825f, -0.010772f, 0.029272f, -0.033670f, -0.037617f, -0.025270f, 0.004445f, -0.010581f, -0.017409f, 0.020206f, 0.006868f, -0.025755f, -0.028713f, -0.021479f, -0.017253f, -0.002424f, -0.005212f, 0.015032f, -0.001228f, + -0.022036f, 0.017003f, 0.004005f, -0.006359f, 0.001453f, 0.007997f, -0.010779f, -0.006300f, 0.011626f, -0.020509f, -0.007965f, -0.014241f, 0.012009f, 0.013831f, -0.016168f, 0.004308f, -0.044076f, 0.000309f, 0.002598f, 0.001902f, -0.008286f, -0.008852f, -0.019676f, -0.015562f, 0.010588f, 0.006126f, 0.010167f, 0.015169f, -0.014430f, 0.000864f, 0.006418f, 0.003652f, -0.014138f, -0.000200f, 0.004020f, -0.000769f, -0.011540f, -0.001955f, -0.002716f, 0.080985f, -0.002772f, -0.096768f, -0.048584f, -0.057039f, -0.021476f, 0.000328f, 0.032110f, -0.082484f, -0.018185f, 0.012797f, -0.038115f, -0.044334f, -0.039978f, -0.044251f, -0.006843f, 0.048567f, 0.025278f, -0.019426f, 0.023671f, 0.009479f, -0.022036f, 0.025019f, -0.027902f, -0.006341f, 0.012028f, 0.016534f, -0.055688f, 0.028032f, -0.027255f, 0.015948f, -0.010733f, -0.045031f, 0.012763f, 0.013898f, 0.007223f, 0.007326f, -0.018400f, -0.063873f, 0.002856f, 0.013120f, 0.014167f, 0.000585f, 0.008225f, -0.026543f, -0.000052f, -0.002311f, 0.058209f, -0.008969f, -0.095032f, -0.043107f, -0.010089f, -0.079219f, 0.018291f, -0.024240f, -0.019941f, -0.038210f, + -0.016820f, -0.057044f, -0.055598f, -0.068587f, -0.006557f, 0.072091f, 0.010175f, -0.045706f, 0.021291f, 0.000585f, -0.004801f, -0.025728f, -0.035830f, 0.015107f, 0.029969f, 0.022576f, 0.012549f, -0.013715f, -0.058184f, -0.041733f, -0.058577f, 0.008617f, 0.006686f, -0.002091f, 0.021160f, -0.031023f, -0.037249f, -0.005314f, -0.013695f, -0.038319f, 0.008522f, 0.022031f, 0.003199f, 0.008056f, 0.036958f, -0.006640f, -0.007521f, -0.006303f, 0.002521f, -0.013210f, -0.007240f, 0.016455f, 0.025244f, 0.027513f, 0.018603f, -0.007600f, 0.001305f, 0.004312f, -0.011431f, 0.025493f, -0.010382f, 0.037197f, -0.013026f, 0.017483f, -0.017693f, -0.004905f, 0.037779f, 0.012560f, 0.005209f, -0.000131f, -0.014744f, 0.014924f, 0.003267f, -0.018307f, 0.008345f, -0.015646f, -0.020183f, 0.005929f, 0.006075f, -0.012393f, -0.012115f, 0.012977f, 0.000720f, 0.018211f, 0.003934f, 0.012453f, -0.006687f, 0.005574f, 0.005139f, 0.001960f, 0.053915f, -0.006694f, 0.043270f, 0.055001f, -0.046492f, -0.059055f, -0.061468f, 0.015868f, 0.021937f, -0.085066f, -0.048660f, 0.001329f, 0.002689f, 0.025142f, -0.098278f, 0.010156f, + 0.023014f, 0.067944f, -0.078701f, 0.008953f, 0.013158f, -0.010240f, 0.043731f, -0.025472f, 0.076471f, -0.004616f, 0.006905f, 0.022574f, 0.029799f, -0.029271f, -0.061449f, 0.035452f, 0.043652f, 0.009573f, 0.055181f, 0.010213f, -0.006865f, -0.021062f, -0.046437f, 0.071579f, -0.032129f, 0.067805f, 0.027087f, -0.005553f, 0.020312f, -0.029389f, 0.037025f, 0.035995f, -0.025393f, 0.026631f, 0.013952f, -0.072133f, 0.052276f, 0.052583f, -0.006618f, -0.037054f, 0.007003f, -0.002310f, 0.002412f, -0.013436f, 0.098681f, -0.002388f, -0.057144f, -0.032617f, 0.011263f, -0.083144f, -0.108097f, 0.014246f, 0.135392f, 0.029343f, -0.009488f, -0.086999f, -0.021868f, -0.014931f, 0.092282f, -0.063663f, -0.040356f, -0.152511f, -0.021950f, -0.028399f, -0.035744f, -0.029085f, 0.055870f, 0.059010f, -0.059348f, -0.023658f, 0.019627f, 0.007665f, -0.010830f, 0.023885f, -0.010421f, -0.019350f, -0.018663f, 0.020498f, 0.008437f, 0.006257f, -0.007552f, 0.020081f, -0.021343f, -0.007844f, 0.018232f, 0.007827f, -0.001216f, -0.001416f, -0.015940f, 0.007133f, -0.010586f, 0.038801f, -0.010800f, -0.021996f, -0.017585f, -0.034278f, + -0.011470f, 0.025412f, 0.029323f, 0.079529f, 0.030444f, -0.009672f, -0.061147f, -0.085069f, -0.039616f, 0.000691f, 0.034508f, 0.027393f, -0.022604f, -0.034222f, -0.017156f, -0.014366f, 0.020878f, 0.035773f, 0.007959f, 0.001466f, -0.004651f, -0.013565f, -0.011076f, -0.010412f, -0.001966f, -0.004859f, -0.005191f, 0.004276f, -0.009234f, 0.003084f, 0.001222f, 0.002248f, -0.007034f, -0.001465f, -0.005276f, -0.004833f, -0.006879f, 0.004034f, -0.004390f, 0.007406f, -0.135689f, 0.039986f, 0.064458f, -0.086019f, -0.008234f, 0.049532f, -0.021371f, -0.038230f, 0.034520f, -0.036851f, -0.021004f, 0.003728f, -0.028716f, 0.046663f, -0.015782f, -0.020048f, -0.008322f, 0.025075f, 0.082541f, -0.012024f, -0.038471f, -0.041732f, 0.015067f, 0.040501f, 0.023400f, -0.036770f, -0.006208f, 0.045983f, 0.000952f, -0.033234f, 0.011060f, -0.029561f, 0.076367f, -0.033744f, -0.083268f, 0.029573f, -0.014209f, 0.040528f, -0.055852f, -0.053804f, 0.054703f, -0.003515f, -0.071409f, -0.036932f, -0.068233f, 0.088987f, 0.042264f, 0.024666f, -0.092983f, 0.017408f, 0.038116f, -0.064154f, 0.003663f, -0.045829f, -0.035599f, 0.037257f, + -0.031663f, 0.042620f, -0.026173f, -0.055614f, -0.012889f, -0.013090f, -0.008482f, 0.020351f, 0.006673f, -0.034403f, 0.109659f, -0.012614f, 0.048616f, 0.050779f, 0.030345f, -0.014076f, 0.011530f, -0.024047f, 0.061697f, 0.016063f, -0.015574f, 0.008228f, 0.026225f, 0.043673f, -0.010636f, -0.092305f, -0.006299f, 0.029860f, -0.009230f, 0.050005f, -0.020797f, 0.017782f, -0.007436f, 0.002083f, 0.020321f, 0.005704f, 0.012401f, 0.025888f, 0.014945f, 0.029926f, -0.006922f, 0.010249f, 0.015492f, 0.002800f, -0.029848f, 0.036641f, -0.014805f, 0.000986f, 0.005637f, -0.017164f, 0.009323f, 0.002613f, -0.004678f, 0.025712f, -0.011171f, 0.002598f, 0.036143f, 0.000383f, 0.020178f, -0.016865f, -0.011264f, 0.020213f, -0.004473f, -0.012653f, -0.018772f, 0.001736f, 0.002661f, 0.005265f, -0.006215f, 0.005369f, 0.011330f, -0.003320f, 0.007765f, 0.010222f, -0.004976f, 0.012305f, 0.002272f, -0.012102f, 0.008255f, 0.005063f, 0.002523f, -0.000654f, 0.098185f, 0.019737f, 0.042717f, -0.003951f, 0.010565f, 0.015144f, -0.035267f, 0.015314f, 0.034469f, -0.000029f, -0.040636f, -0.022267f, -0.030072f, -0.012812f, + -0.040735f, -0.039983f, 0.005245f, -0.031947f, 0.046625f, 0.014636f, -0.010521f, -0.033929f, -0.015825f, -0.011413f, 0.025233f, -0.008080f, -0.038534f, -0.032408f, 0.008373f, 0.007959f, 0.022491f, 0.008064f, -0.008319f, 0.009954f, -0.033589f, -0.103390f, 0.004534f, 0.124614f, -0.003445f, -0.091246f, -0.014554f, 0.059113f, 0.016777f, 0.009333f, -0.001478f, -0.039849f, -0.048989f, -0.029794f, 0.011391f, -0.003397f, -0.045309f, 0.016429f, -0.091320f, -0.016743f, 0.084921f, 0.024575f, 0.109185f, -0.014703f, -0.042856f, -0.013350f, -0.009442f, 0.028833f, 0.006501f, -0.001173f, -0.059312f, -0.030267f, -0.028295f, -0.004368f, 0.069145f, -0.009632f, -0.016746f, 0.022354f, 0.028078f, 0.004125f, -0.036609f, -0.057675f, -0.004033f, 0.022882f, -0.002444f, -0.028801f, -0.007189f, 0.015680f, -0.011970f, -0.011050f, -0.018683f, 0.034273f, 0.036619f, -0.018705f, -0.009553f, -0.017214f, 0.014927f, 0.021220f, -0.009935f, 0.002783f, -0.003778f, -0.003338f, -0.006783f, -0.027744f, 0.003057f, 0.015321f, -0.016586f, 0.003770f, -0.003973f, 0.000905f, -0.014859f, -0.005342f, -0.006248f, -0.010091f, -0.011282f, -0.011930f, + -0.003291f, 0.048622f, -0.024303f, -0.000043f, -0.009577f, 0.002358f, 0.027075f, -0.018625f, -0.002582f, -0.005572f, 0.008522f, -0.001602f, 0.007747f, -0.014386f, -0.043466f, -0.144075f, -0.222648f, 0.052580f, 0.199197f, 0.062936f, 0.487335f, 0.459138f, 0.204158f, 0.473425f, 0.199916f, -0.085743f, -0.001450f, -0.142278f, -0.389460f, -0.212535f, -0.203938f, -0.399048f, -0.290606f, -0.166801f, -0.251419f, -0.168959f, 0.036795f, -0.014571f, -0.080439f, 0.095412f, 0.089104f, -0.000280f, 0.095529f, 0.259364f, 0.108873f, 0.048941f, 0.248211f, 0.222169f, 0.074642f, 0.264646f, 0.323713f, -0.000399f, 0.191796f, 0.326423f, 0.123645f, 0.130573f, 0.332714f, 0.198857f, -0.026258f, 0.259746f, 0.182302f, -0.070655f, 0.102000f, 0.206641f, -0.092377f, -0.163751f, -0.036931f, -0.346229f, -0.581378f, -0.562785f, -0.625825f, -1.001163f, -0.866604f, -0.714855f, -0.926501f, -0.794308f, -0.510422f, -0.605018f, -0.462403f, -0.127851f, -0.041219f, 0.196039f, 0.364707f, 0.601206f, 0.805361f, 0.878531f, 1.024649f, 1.112921f, 1.039607f, 0.984758f, 1.044658f, 0.794838f, 0.630201f, 0.747654f, 0.407831f, 0.065353f, + 0.094300f, -0.150782f, -0.552081f, -0.463481f, -0.342922f, -0.494923f, -0.506161f, -0.315674f, -0.359377f, -0.453194f, -0.332161f, -0.302009f, -0.426365f, -0.382485f, -0.249414f, -0.317267f, -0.340820f, -0.111408f, -0.107194f, -0.201058f, -0.021011f, 0.076828f, -0.057459f, 0.011075f, 0.076245f, -0.108396f, -0.140318f, -0.133158f, -0.292070f, -0.322523f, -0.225787f, -0.169575f, -0.123568f, 0.042176f, 0.198250f, 0.269430f, 0.381636f, 0.489014f, 0.510608f, 0.541669f, 0.598986f, 0.568174f, 0.516499f, 0.537995f, 0.487169f, 0.362370f, 0.248538f, 0.065614f, -0.095832f, -0.246344f, -0.358785f, -0.402001f, -0.423595f, -0.377925f, -0.289551f, -0.253578f, -0.213733f, -0.174733f, -0.150843f, -0.132798f, -0.099567f, -0.077106f, -0.071037f, -0.069266f, -0.048308f, -0.036448f, -0.029099f, -0.010019f, 0.015241f, 0.037403f, 0.065362f, 0.067921f, 0.069838f, 0.080882f, 0.079856f, 0.065493f, 0.070450f, 0.058627f, 0.031073f, 0.002370f, -0.023895f, -0.051841f, -0.062418f, -0.074529f, -0.080097f, -0.074598f, -0.069211f, -0.067162f, -0.048053f, -0.037551f, -0.022755f, 0.000812f, 0.020000f, 0.029430f, 0.045250f, 0.054669f, + 0.061796f, 0.069901f, 0.072993f, 0.076221f, 0.079440f, 0.079974f, 0.079197f, 0.073877f, 0.072800f, 0.068840f, 0.064361f, 0.058132f, 0.055480f, 0.045431f, 0.034523f, 0.021070f, 0.010253f, -0.003795f, -0.016563f, -0.028435f, -0.041747f, -0.058530f, -0.069741f, -0.081732f, -0.088030f, -0.093575f, -0.095887f, -0.095957f, -0.091834f, -0.087888f, -0.079556f, -0.072243f, -0.060771f, -0.047624f, -0.029301f, -0.015284f, 0.004387f, 0.018734f, 0.032146f, 0.043768f, 0.054802f, 0.057732f, 0.062129f, 0.060813f, 0.056049f, 0.047775f, 0.041640f, 0.030406f, 0.021410f, 0.013442f, 0.008705f, 0.002013f, 0.000364f, -0.001457f, -0.001192f, -0.003004f, -0.001533f, -0.002295f, -0.001046f, -0.001842f, 0.000052f, -0.000701f}, + {-0.000954f, 0.020699f, -0.010223f, 0.000745f, -0.006068f, -0.000547f, 0.008860f, 0.004093f, 0.005588f, -0.004879f, 0.006904f, -0.007128f, 0.007742f, 0.003759f, 0.009315f, 0.003829f, -0.001676f, -0.010497f, 0.011294f, 0.007663f, 0.002924f, 0.001252f, 0.001122f, -0.004498f, -0.004994f, 0.005733f, 0.003634f, 0.003724f, 0.005648f, -0.005723f, -0.000355f, 0.005162f, 0.006268f, -0.000870f, -0.004540f, -0.008841f, 0.000110f, 0.001579f, -0.005230f, 0.001926f, 0.001490f, -0.007973f, -0.004203f, -0.000661f, 0.004097f, 0.000032f, -0.003781f, 0.007332f, 0.001453f, -0.002555f, -0.005396f, -0.001272f, 0.000722f, -0.010387f, 0.004843f, 0.006423f, -0.003522f, 0.008241f, 0.006861f, -0.001126f, 0.005687f, 0.003272f, 0.011049f, 0.003412f, 0.002123f, -0.001752f, 0.004203f, -0.008876f, 0.001204f, 0.004195f, -0.004311f, 0.004810f, 0.005913f, 0.006386f, 0.004072f, 0.008406f, -0.001749f, -0.005162f, -0.002599f, -0.002203f, 0.001182f, -0.001986f, -0.006497f, 0.003079f, -0.003033f, -0.003483f, -0.003918f, 0.001487f, 0.000057f, -0.002045f, -0.001529f, 0.002589f, 0.000256f, -0.000325f, -0.000642f, -0.000281f, + 0.001293f, 0.001734f, -0.000223f, -0.000122f, -0.001427f, 0.000400f, -0.002616f, 0.000241f, 0.001853f, 0.002359f, -0.001630f, -0.001809f, 0.000474f, 0.001536f, -0.001507f, -0.019649f, -0.013848f, -0.001901f, -0.008939f, -0.007535f, 0.003676f, -0.011165f, -0.010886f, 0.003175f, -0.004966f, -0.004340f, 0.004442f, -0.003485f, -0.007731f, -0.000779f, -0.000643f, -0.002111f, -0.003571f, -0.002016f, -0.008858f, -0.000494f, -0.006406f, -0.004535f, -0.000305f, 0.007916f, -0.001811f, 0.011415f, -0.005971f, 0.006879f, 0.007779f, -0.008757f, 0.003007f, -0.002182f, 0.001643f, -0.006187f, 0.003026f, 0.004080f, 0.005986f, -0.003062f, -0.007457f, -0.002529f, -0.004118f, 0.002410f, 0.002807f, -0.008923f, -0.001191f, -0.006115f, -0.005010f, 0.001724f, -0.007407f, -0.011723f, -0.002265f, 0.011587f, 0.002495f, 0.004079f, 0.000571f, 0.002691f, 0.001522f, 0.004286f, 0.004509f, 0.012988f, 0.000915f, -0.005724f, -0.007489f, -0.001566f, -0.003595f, -0.000927f, -0.015088f, 0.003146f, -0.001122f, 0.004828f, -0.002062f, 0.001361f, -0.003639f, -0.001735f, 0.014665f, 0.002977f, 0.013443f, -0.004556f, -0.002510f, 0.001054f, + 0.003789f, 0.001331f, 0.004527f, -0.004468f, 0.004920f, -0.005213f, -0.003292f, 0.002701f, 0.001893f, -0.000179f, 0.000190f, 0.000126f, -0.001179f, 0.000384f, -0.002042f, -0.000171f, -0.000731f, -0.000315f, 0.000831f, 0.001033f, -0.001149f, -0.001895f, -0.001225f, 0.000134f, 0.000033f, 0.000332f, 0.000591f, -0.000785f, -0.000911f, -0.000801f, 0.000166f, -0.000305f, 0.001059f, 0.016032f, 0.018470f, 0.014223f, 0.010549f, 0.014951f, 0.006057f, 0.006500f, -0.001368f, 0.004250f, 0.015725f, 0.001683f, 0.004793f, -0.005842f, -0.003903f, 0.012059f, -0.008094f, -0.014745f, 0.004457f, -0.012319f, 0.010629f, 0.002511f, 0.012755f, -0.004061f, -0.000809f, -0.003144f, 0.004186f, 0.005113f, -0.000188f, -0.012551f, -0.002598f, 0.010758f, -0.007168f, 0.004852f, 0.002836f, -0.002422f, -0.003104f, 0.011954f, 0.009001f, 0.020851f, 0.008333f, 0.001734f, 0.004981f, -0.001760f, 0.001254f, 0.006569f, 0.003902f, 0.017772f, -0.007624f, -0.005069f, 0.001223f, 0.004578f, -0.002813f, 0.008238f, -0.007731f, 0.001602f, -0.000524f, -0.005923f, 0.001825f, 0.001785f, -0.008047f, -0.010863f, -0.006742f, 0.008603f, + 0.004149f, 0.000037f, -0.000719f, 0.006493f, 0.000470f, 0.002153f, 0.011238f, 0.005556f, -0.002707f, -0.001793f, 0.009987f, -0.008681f, 0.001126f, -0.007826f, -0.003546f, -0.010115f, 0.002731f, -0.002106f, -0.006022f, -0.003929f, 0.005842f, 0.003618f, 0.001023f, 0.003447f, -0.005644f, -0.000944f, -0.000507f, 0.004351f, 0.000099f, 0.000310f, 0.000777f, 0.001299f, 0.003173f, 0.003591f, 0.002805f, 0.000219f, 0.001486f, 0.003250f, 0.000155f, -0.002956f, 0.002707f, -0.001500f, -0.000613f, 0.000665f, -0.000527f, 0.002388f, 0.002143f, 0.001088f, -0.000034f, -0.000830f, -0.000890f, 0.001026f, 0.001338f, 0.000499f, 0.002057f, -0.004222f, -0.002729f, 0.002115f, -0.000180f, -0.001664f, -0.000235f, 0.002257f, 0.000177f, -0.001557f, -0.001992f, 0.001330f, -0.001966f, 0.000168f, 0.034804f, -0.000607f, 0.017049f, -0.003081f, -0.002672f, 0.018306f, -0.017910f, -0.006188f, -0.001397f, 0.009052f, 0.006278f, -0.003818f, 0.003488f, 0.001710f, -0.016217f, 0.004122f, 0.008682f, 0.007727f, -0.018174f, -0.006372f, 0.002057f, -0.013015f, -0.003579f, 0.001020f, 0.000595f, 0.001797f, -0.001997f, 0.008329f, + -0.005865f, 0.006629f, 0.013639f, 0.013642f, -0.003948f, -0.007785f, -0.001387f, 0.015366f, -0.000869f, -0.000799f, 0.000124f, 0.001535f, -0.007959f, 0.001389f, 0.006466f, 0.000994f, 0.001543f, 0.006206f, -0.004082f, 0.004187f, 0.002429f, -0.001661f, 0.010799f, 0.001087f, 0.008589f, 0.001721f, -0.002860f, 0.003770f, 0.005747f, 0.004972f, -0.000235f, -0.008407f, -0.007663f, -0.010129f, -0.004509f, -0.000331f, 0.000026f, -0.001161f, 0.007571f, 0.006522f, -0.004896f, -0.009933f, 0.000337f, 0.005199f, 0.006240f, -0.006066f, -0.001117f, 0.005911f, -0.000509f, -0.000787f, 0.007840f, 0.003690f, 0.003726f, -0.002889f, -0.002496f, -0.000439f, 0.003392f, 0.005053f, 0.000134f, 0.003832f, 0.001390f, 0.000342f, 0.000755f, 0.001292f, 0.004698f, 0.003539f, 0.005286f, -0.002644f, 0.002504f, 0.000381f, 0.000685f, -0.000742f, 0.000570f, 0.000805f, 0.000254f, 0.000707f, -0.000841f, 0.002539f, 0.002490f, -0.002271f, 0.000629f, 0.001426f, 0.001573f, -0.000732f, 0.004894f, 0.001907f, -0.000706f, -0.009224f, -0.026090f, -0.006675f, -0.008922f, 0.001763f, 0.004195f, -0.004347f, -0.005335f, -0.048915f, + 0.000844f, 0.015791f, -0.011573f, -0.018286f, 0.013580f, -0.020706f, -0.003288f, -0.009251f, -0.011060f, -0.006756f, -0.007005f, 0.000752f, 0.008168f, -0.001517f, 0.004483f, -0.005298f, 0.006118f, -0.004815f, -0.007585f, 0.003259f, -0.002945f, -0.011728f, -0.015124f, 0.007132f, 0.000549f, 0.007038f, 0.001998f, 0.015772f, 0.002067f, 0.005451f, -0.007757f, -0.013184f, -0.003983f, -0.006564f, 0.012970f, -0.006171f, 0.000173f, 0.003373f, -0.006694f, 0.018332f, 0.012003f, 0.000217f, -0.014809f, -0.018619f, -0.006475f, 0.006131f, -0.016927f, -0.000472f, -0.008323f, -0.016001f, 0.001309f, -0.025026f, -0.005696f, -0.002716f, -0.009460f, 0.016729f, -0.001210f, -0.002707f, -0.000447f, 0.010453f, 0.013248f, 0.003968f, -0.013609f, -0.004414f, -0.003574f, 0.007168f, 0.003218f, 0.004084f, -0.007721f, -0.009697f, 0.007377f, 0.005069f, 0.001726f, 0.002463f, -0.000643f, 0.004235f, 0.001029f, 0.006419f, 0.001675f, 0.001435f, -0.000719f, -0.000272f, 0.000868f, 0.004107f, 0.005802f, 0.003583f, -0.001629f, 0.002297f, -0.007635f, 0.003776f, 0.004277f, -0.001336f, -0.000793f, 0.001285f, -0.001853f, -0.000556f, + -0.000581f, -0.002386f, -0.002582f, -0.001406f, -0.000879f, 0.001316f, 0.002798f, -0.000554f, -0.003611f, -0.000113f, -0.005031f, 0.001566f, 0.006506f, 0.002772f, 0.003774f, 0.002697f, 0.010251f, -0.027892f, -0.041458f, 0.005152f, -0.009610f, 0.009289f, -0.011744f, -0.020432f, 0.000321f, 0.018941f, 0.003663f, 0.011652f, 0.009047f, 0.007240f, 0.004393f, -0.006532f, 0.004856f, 0.012614f, -0.019829f, -0.009110f, -0.006729f, -0.004317f, 0.006996f, -0.001532f, 0.002277f, 0.013089f, 0.011129f, -0.004512f, -0.011273f, 0.002693f, -0.006401f, -0.004631f, -0.010934f, -0.007357f, -0.016547f, 0.004039f, -0.006310f, -0.000024f, 0.014322f, -0.002791f, 0.002586f, 0.003953f, -0.010611f, 0.008869f, 0.008456f, 0.012220f, -0.010811f, 0.019229f, -0.003305f, -0.013867f, -0.012003f, -0.015180f, 0.014062f, -0.005270f, -0.016437f, 0.005050f, -0.002689f, -0.011340f, 0.012009f, 0.016493f, -0.005841f, -0.013570f, 0.009970f, 0.003330f, 0.007777f, -0.001080f, 0.021854f, 0.013060f, -0.013040f, -0.006274f, -0.006249f, -0.004907f, 0.007178f, 0.010190f, 0.012898f, 0.000080f, 0.001554f, 0.005121f, -0.005368f, 0.004876f, + -0.001605f, 0.008550f, 0.011832f, -0.016190f, -0.007447f, -0.008115f, -0.005292f, -0.008294f, -0.000819f, -0.005853f, 0.002578f, -0.000272f, -0.000690f, -0.000644f, 0.002019f, -0.003959f, 0.010028f, -0.001226f, 0.004185f, 0.001581f, 0.001962f, -0.001948f, 0.000246f, 0.000316f, 0.000455f, -0.003403f, 0.000577f, -0.002204f, -0.003711f, -0.005343f, -0.001725f, -0.000295f, -0.001025f, 0.000225f, 0.000509f, -0.001070f, -0.000851f, -0.002001f, -0.001996f, 0.003215f, -0.000122f, 0.001088f, -0.002344f, -0.038719f, 0.000113f, -0.007143f, 0.002699f, -0.000203f, 0.014702f, 0.010547f, 0.015225f, -0.002574f, 0.020717f, -0.009686f, 0.014138f, 0.016999f, 0.003310f, 0.016945f, 0.003843f, 0.004318f, -0.004626f, -0.001860f, -0.007013f, 0.013416f, -0.000671f, -0.001651f, 0.019226f, 0.011404f, 0.000351f, 0.005029f, -0.001447f, -0.000744f, 0.012571f, -0.007188f, -0.012080f, -0.000112f, -0.001518f, 0.006196f, -0.034486f, 0.020755f, 0.022679f, 0.008784f, 0.004566f, 0.000504f, -0.010832f, -0.023212f, 0.015469f, -0.009406f, -0.010319f, -0.007127f, 0.013909f, -0.009739f, 0.008659f, 0.008505f, -0.008012f, -0.005519f, + -0.019766f, 0.009117f, -0.012785f, 0.007633f, 0.001494f, 0.006830f, 0.012347f, 0.019308f, 0.008524f, -0.009011f, -0.021107f, -0.003827f, 0.013259f, 0.021292f, 0.016249f, -0.003302f, -0.004021f, -0.013794f, -0.022610f, -0.002479f, 0.016014f, 0.006988f, 0.005204f, -0.005124f, 0.021185f, -0.000770f, 0.007275f, 0.001976f, -0.003835f, 0.001931f, -0.010478f, -0.005261f, -0.005189f, 0.003517f, -0.002465f, -0.007691f, -0.004286f, -0.005326f, -0.005487f, 0.002246f, -0.007902f, -0.003425f, 0.001797f, 0.001365f, 0.006522f, 0.000298f, 0.001127f, 0.001046f, -0.001470f, 0.005102f, -0.001380f, 0.005809f, 0.002351f, -0.001702f, -0.004243f, -0.000260f, 0.005878f, 0.003983f, -0.000463f, -0.005511f, -0.001199f, 0.004833f, 0.004601f, 0.000601f, -0.000740f, -0.000679f, -0.003071f, -0.002486f, 0.003870f, 0.014613f, 0.050579f, 0.027413f, -0.002267f, 0.004758f, 0.004669f, 0.011092f, 0.020126f, -0.002795f, 0.004125f, 0.033728f, 0.003662f, -0.001468f, 0.020568f, 0.014206f, -0.013815f, 0.008393f, 0.002274f, 0.013595f, 0.009581f, -0.023402f, 0.018076f, -0.010817f, -0.001296f, 0.002042f, 0.014212f, 0.002539f, + 0.004040f, 0.010658f, 0.012442f, -0.011575f, 0.012777f, 0.037312f, -0.006304f, 0.017012f, 0.017676f, -0.009217f, 0.013926f, 0.003666f, -0.008685f, -0.009650f, 0.006905f, -0.008618f, -0.022890f, -0.002940f, -0.000798f, 0.002444f, -0.029375f, -0.007182f, 0.009409f, -0.018704f, -0.012346f, -0.030846f, 0.010513f, 0.014288f, -0.020846f, -0.007474f, -0.009904f, 0.022442f, 0.000833f, -0.012735f, -0.008671f, -0.014189f, 0.007456f, 0.018794f, -0.013015f, 0.007286f, -0.005364f, 0.009098f, 0.021468f, 0.008963f, 0.016977f, 0.017026f, 0.021442f, 0.003305f, -0.011556f, -0.011763f, 0.008778f, 0.013468f, 0.002238f, 0.009072f, -0.009177f, 0.003861f, -0.000857f, -0.002874f, -0.009646f, 0.001437f, -0.004109f, 0.000642f, 0.008405f, 0.003499f, 0.003725f, 0.002811f, 0.009254f, -0.005476f, 0.000637f, -0.001425f, 0.002978f, -0.000977f, 0.000626f, 0.003895f, 0.001332f, -0.003076f, 0.005112f, -0.000972f, -0.006549f, 0.004355f, -0.004583f, -0.003856f, -0.004762f, -0.010238f, 0.005909f, -0.002284f, 0.005052f, -0.000463f, -0.000642f, 0.001468f, 0.008011f, 0.005257f, 0.007186f, 0.003280f, 0.000246f, 0.002901f, + 0.008236f, -0.003117f, 0.007466f, 0.052106f, 0.013675f, 0.002373f, -0.003177f, -0.007248f, 0.000139f, 0.009963f, -0.006476f, -0.011727f, -0.017925f, 0.001592f, 0.012491f, -0.015532f, 0.007587f, 0.010634f, -0.004626f, 0.035247f, 0.012198f, -0.008462f, -0.006150f, -0.002384f, 0.012397f, -0.004936f, -0.011844f, -0.012603f, 0.007875f, -0.027799f, 0.000821f, -0.007678f, -0.010411f, 0.009199f, 0.001819f, -0.010055f, -0.006511f, -0.009657f, 0.013827f, -0.004401f, -0.022363f, -0.002486f, 0.000351f, 0.001862f, -0.013036f, -0.017913f, 0.001555f, -0.003190f, -0.002615f, 0.006346f, -0.003994f, 0.017156f, 0.003352f, 0.010307f, -0.010985f, 0.024884f, 0.007025f, -0.012162f, 0.016204f, 0.031427f, -0.009116f, -0.007521f, 0.015867f, 0.014942f, 0.006017f, 0.009153f, -0.019425f, -0.004988f, -0.020989f, 0.006285f, 0.019424f, 0.008996f, -0.024580f, -0.004829f, 0.007620f, -0.024021f, -0.038018f, -0.003149f, 0.001126f, 0.010896f, 0.034297f, 0.002876f, -0.004034f, -0.010625f, -0.008258f, 0.005512f, 0.008613f, 0.007442f, -0.000641f, 0.003992f, 0.000226f, -0.007492f, 0.004606f, 0.006043f, -0.009794f, -0.009162f, + 0.010342f, -0.003403f, 0.006038f, 0.004754f, 0.002995f, -0.002545f, 0.002146f, -0.000180f, 0.003519f, 0.000956f, 0.005400f, 0.000217f, 0.004762f, 0.003461f, 0.000999f, -0.004416f, 0.010020f, 0.003270f, 0.009143f, -0.001894f, -0.003167f, 0.003408f, -0.006262f, -0.001018f, 0.004315f, -0.005785f, 0.001425f, 0.003378f, 0.001984f, 0.002213f, 0.004875f, -0.001935f, -0.009065f, -0.000116f, -0.001005f, -0.009551f, 0.001348f, -0.004016f, -0.001187f, 0.003815f, 0.003085f, 0.003458f, -0.040340f, 0.019022f, 0.053358f, -0.021890f, 0.037411f, -0.008388f, -0.008208f, -0.011659f, -0.019511f, 0.014465f, 0.000423f, 0.009897f, 0.009587f, -0.035050f, 0.000332f, 0.016400f, -0.014376f, -0.007478f, -0.022260f, 0.039192f, -0.024558f, 0.019358f, 0.018080f, -0.023262f, -0.009748f, -0.008096f, 0.016273f, -0.018608f, -0.007758f, 0.019007f, -0.003462f, -0.005051f, -0.009401f, 0.023170f, 0.003919f, -0.003720f, -0.009680f, 0.000635f, -0.017776f, 0.019100f, -0.002434f, 0.008796f, 0.047406f, 0.031953f, -0.027573f, -0.019365f, 0.007294f, -0.002455f, 0.019721f, -0.010927f, -0.016252f, -0.005695f, -0.030053f, -0.011512f, + -0.003742f, -0.022918f, -0.013307f, 0.050875f, 0.011930f, 0.000191f, -0.002707f, -0.000553f, 0.014758f, 0.017927f, -0.003996f, 0.017706f, 0.001202f, -0.009717f, 0.001693f, -0.027133f, -0.002270f, -0.025144f, -0.013809f, 0.015155f, 0.021968f, -0.033345f, 0.013294f, -0.008548f, -0.010826f, 0.016151f, -0.002612f, -0.015355f, -0.001124f, -0.006024f, -0.012278f, 0.006157f, 0.004208f, -0.008403f, -0.020952f, -0.009983f, -0.002330f, -0.001650f, 0.016103f, 0.004839f, 0.003836f, -0.008926f, -0.000102f, -0.003690f, 0.008518f, 0.009788f, -0.005495f, 0.004167f, 0.007151f, 0.008043f, 0.006091f, 0.009147f, -0.003885f, 0.000608f, -0.006561f, 0.000468f, -0.007602f, -0.003952f, 0.002560f, -0.002076f, -0.006184f, -0.001450f, 0.002900f, -0.009862f, -0.005080f, -0.005376f, -0.003194f, -0.003805f, -0.004708f, -0.000622f, 0.005282f, 0.000353f, -0.000689f, 0.006283f, -0.042888f, 0.007515f, 0.039322f, -0.010200f, -0.010332f, 0.008744f, -0.012519f, -0.009826f, 0.010924f, -0.001304f, -0.002465f, -0.000304f, -0.027087f, 0.045735f, -0.048674f, -0.004494f, -0.001352f, 0.016760f, 0.009742f, 0.000757f, -0.018630f, -0.013059f, + 0.005551f, 0.035740f, -0.003137f, -0.015534f, -0.010972f, -0.025101f, -0.001966f, -0.014683f, -0.012047f, -0.005054f, 0.007673f, -0.000698f, 0.000939f, -0.016959f, 0.003193f, 0.004995f, 0.010688f, 0.009236f, 0.010763f, -0.023073f, -0.000140f, -0.004602f, 0.015010f, 0.003998f, 0.030707f, 0.006823f, -0.007411f, 0.002867f, -0.017079f, 0.000003f, 0.013275f, 0.017575f, -0.026811f, -0.020480f, -0.002173f, 0.027851f, -0.043610f, 0.011520f, 0.049837f, 0.027661f, -0.013620f, 0.004760f, -0.027140f, 0.011484f, 0.024512f, -0.042208f, 0.009250f, -0.020497f, -0.006044f, -0.057269f, 0.000083f, -0.024050f, 0.022170f, 0.001679f, -0.026879f, 0.017871f, -0.001909f, -0.034267f, -0.004791f, -0.021618f, 0.013997f, -0.011981f, -0.018168f, 0.024613f, -0.004921f, 0.004484f, -0.008344f, -0.010462f, -0.003090f, 0.010607f, 0.007632f, -0.005725f, -0.001670f, 0.000597f, -0.006243f, 0.003960f, 0.005760f, 0.008811f, -0.008930f, 0.003613f, 0.004457f, -0.010221f, 0.000474f, 0.004735f, -0.007625f, 0.000888f, -0.004998f, 0.011667f, 0.005983f, 0.014163f, -0.006801f, -0.005047f, 0.004512f, -0.013147f, -0.001588f, -0.003645f, + -0.002262f, -0.000511f, 0.002663f, -0.007291f, 0.000317f, -0.000808f, 0.002454f, 0.002764f, 0.000312f, -0.007350f, -0.004486f, -0.011604f, -0.032339f, 0.051173f, 0.015053f, 0.026774f, -0.030132f, -0.033997f, -0.006023f, 0.008970f, -0.009196f, -0.004577f, 0.017456f, 0.004689f, 0.005625f, 0.015157f, -0.037387f, -0.004147f, 0.000804f, 0.009560f, -0.025901f, 0.003429f, 0.004774f, -0.018248f, -0.009748f, -0.025130f, -0.018563f, -0.000141f, 0.008395f, -0.020333f, 0.001850f, -0.009216f, -0.017743f, 0.007024f, 0.000285f, 0.014436f, -0.039611f, -0.041701f, 0.008977f, -0.003578f, 0.015978f, 0.034983f, 0.004202f, -0.022003f, 0.031554f, -0.015579f, -0.029104f, -0.022627f, -0.009401f, 0.002516f, -0.030925f, -0.012044f, 0.030911f, 0.041628f, 0.017797f, 0.011669f, 0.008911f, -0.004792f, 0.026739f, 0.015008f, -0.030742f, -0.016868f, 0.000378f, 0.003115f, 0.029245f, 0.018690f, 0.004856f, -0.004440f, -0.003397f, -0.014223f, 0.019479f, 0.015160f, 0.033725f, 0.007701f, 0.009962f, 0.004114f, 0.060406f, 0.006868f, 0.023518f, -0.024879f, 0.002336f, 0.022936f, -0.054381f, 0.004520f, 0.007404f, 0.015421f, + -0.005474f, 0.008225f, -0.006945f, -0.001798f, 0.009550f, -0.004477f, 0.029111f, -0.011559f, 0.017097f, -0.004411f, -0.010078f, -0.005447f, -0.010915f, 0.000372f, 0.004718f, 0.005734f, -0.002120f, -0.005532f, 0.012250f, -0.003560f, 0.008262f, -0.004238f, -0.004429f, -0.008745f, 0.009252f, 0.009950f, 0.002296f, 0.001002f, -0.007214f, -0.012723f, 0.006141f, -0.001061f, 0.000578f, 0.015240f, -0.004113f, 0.013358f, -0.001893f, 0.007828f, 0.005430f, 0.010300f, 0.002470f, -0.009431f, -0.001645f, 0.034806f, 0.001997f, 0.043176f, -0.001846f, -0.019648f, -0.022012f, -0.040296f, 0.006993f, -0.016967f, -0.001554f, 0.003511f, 0.014084f, 0.021207f, 0.035309f, 0.037093f, -0.006177f, 0.033022f, -0.002902f, -0.002836f, 0.012024f, 0.027827f, 0.011649f, 0.007805f, -0.044695f, -0.022691f, -0.036431f, 0.018253f, 0.035586f, 0.007019f, -0.016023f, 0.025182f, 0.035696f, -0.004875f, 0.005159f, -0.008448f, 0.029939f, 0.025700f, 0.021346f, -0.012890f, -0.023379f, -0.003637f, -0.006404f, -0.051012f, 0.008448f, 0.006989f, 0.004094f, -0.012966f, -0.007226f, -0.056893f, -0.020590f, -0.051639f, -0.009494f, -0.038672f, + -0.020500f, 0.037307f, 0.009446f, 0.039303f, 0.002162f, -0.032173f, -0.016101f, -0.033479f, -0.064411f, 0.009036f, -0.039972f, -0.011530f, 0.037295f, 0.015749f, 0.014415f, 0.003116f, -0.007591f, -0.002756f, 0.007012f, -0.027537f, 0.021690f, -0.046981f, -0.048829f, -0.002685f, -0.004510f, -0.006048f, -0.035958f, -0.008089f, 0.046718f, -0.002567f, 0.002603f, -0.012548f, -0.041022f, 0.020706f, -0.027673f, -0.010763f, -0.027545f, -0.016873f, -0.013011f, -0.008708f, -0.010084f, -0.006069f, 0.000403f, 0.004835f, -0.025769f, -0.011003f, 0.004709f, 0.004573f, 0.014076f, 0.006683f, -0.008697f, -0.010767f, 0.009135f, -0.017266f, -0.002802f, 0.005342f, -0.013406f, 0.004192f, 0.003850f, 0.009618f, -0.009205f, -0.003148f, -0.004984f, -0.000702f, 0.006239f, -0.003783f, -0.000716f, -0.005076f, 0.010021f, 0.014046f, -0.004769f, -0.002265f, 0.003661f, 0.004717f, 0.008702f, 0.012447f, 0.002167f, -0.002119f, -0.003114f, -0.002954f, 0.020217f, 0.040583f, 0.035414f, 0.038053f, -0.021914f, -0.038278f, 0.029445f, -0.017427f, 0.030431f, 0.009079f, -0.048766f, 0.012256f, 0.009137f, -0.055009f, 0.029592f, -0.025078f, + -0.025542f, 0.014981f, 0.016767f, 0.002614f, 0.019895f, 0.001491f, 0.001033f, -0.012905f, -0.007404f, 0.012062f, -0.007594f, -0.018861f, 0.001307f, -0.035433f, 0.012845f, -0.045041f, -0.027337f, 0.001673f, 0.017914f, -0.006149f, -0.018578f, 0.006985f, 0.014140f, 0.010488f, 0.000873f, 0.036273f, -0.083329f, -0.018934f, -0.022787f, -0.027695f, 0.036221f, -0.029167f, -0.003939f, -0.067256f, -0.018764f, -0.007992f, 0.003558f, 0.044843f, -0.010768f, 0.005668f, -0.027028f, 0.022741f, -0.033641f, -0.021830f, 0.017568f, -0.078094f, 0.011423f, 0.041730f, 0.054270f, 0.041399f, 0.026277f, 0.060954f, 0.033730f, -0.000739f, -0.015018f, -0.015662f, -0.023517f, -0.052578f, -0.005635f, 0.004901f, -0.074278f, -0.029430f, -0.022409f, -0.016794f, 0.023868f, 0.062268f, 0.072833f, 0.048179f, -0.024345f, 0.019867f, -0.015667f, -0.003428f, 0.016552f, 0.011182f, -0.006268f, 0.003919f, 0.005503f, -0.001467f, 0.002588f, -0.011460f, 0.006632f, 0.020411f, -0.009526f, 0.002708f, -0.017933f, 0.004410f, -0.008354f, -0.001249f, -0.000798f, 0.015757f, 0.028067f, -0.010060f, 0.001846f, 0.006781f, 0.011488f, -0.016955f, + -0.026095f, 0.000466f, 0.020489f, 0.005894f, -0.016607f, 0.015614f, 0.008336f, -0.017015f, 0.012003f, 0.007563f, -0.006427f, -0.005252f, -0.001705f, -0.003216f, 0.003185f, 0.006311f, -0.005844f, 0.011379f, -0.071693f, 0.000222f, 0.011847f, 0.050335f, -0.016427f, 0.023352f, 0.021038f, 0.011270f, 0.011465f, -0.078123f, 0.061695f, 0.033816f, 0.076465f, 0.028268f, -0.003357f, -0.028262f, -0.018081f, -0.017628f, -0.027739f, 0.019967f, 0.014532f, -0.027959f, -0.032013f, 0.017111f, 0.022951f, 0.040166f, 0.011198f, -0.024626f, -0.037078f, 0.008065f, 0.006286f, 0.002773f, 0.004458f, 0.071193f, 0.024032f, 0.013787f, 0.023382f, 0.025905f, 0.028908f, 0.000896f, -0.045019f, 0.031933f, 0.099018f, -0.009879f, -0.027567f, -0.060013f, -0.012942f, 0.080078f, 0.009345f, 0.033285f, 0.011076f, -0.110125f, 0.022787f, 0.020069f, 0.002338f, 0.011604f, -0.007702f, 0.001956f, 0.022544f, -0.059155f, -0.024638f, 0.050696f, 0.018738f, 0.007187f, -0.044710f, 0.032250f, 0.011895f, -0.040038f, -0.043730f, -0.029090f, 0.040115f, 0.083633f, 0.077604f, 0.085735f, 0.086702f, 0.003760f, -0.038541f, -0.031431f, + -0.075711f, -0.024524f, 0.024020f, -0.061158f, -0.000480f, -0.049768f, 0.000754f, 0.067685f, 0.026333f, 0.028094f, 0.033532f, 0.021233f, -0.020446f, -0.006463f, -0.025231f, 0.036983f, -0.022039f, -0.019162f, 0.006718f, -0.003861f, -0.013058f, -0.023817f, -0.006918f, 0.025345f, 0.023623f, -0.010559f, 0.036467f, -0.001269f, 0.001059f, -0.016046f, 0.005504f, 0.019203f, -0.004598f, -0.013837f, -0.013717f, 0.009818f, -0.007521f, 0.020959f, 0.013090f, 0.017068f, 0.024377f, -0.024214f, 0.006455f, 0.002635f, 0.011273f, -0.004634f, -0.010401f, 0.022294f, 0.005398f, 0.018299f, -0.009415f, 0.007021f, -0.014351f, -0.004258f, -0.022145f, 0.035455f, 0.072223f, -0.146364f, -0.051625f, 0.011430f, -0.085498f, -0.078421f, -0.033924f, -0.047623f, 0.005456f, -0.035068f, 0.092798f, -0.009868f, -0.032831f, -0.013320f, -0.070957f, -0.019678f, -0.057242f, -0.023860f, 0.010091f, -0.073901f, -0.012301f, 0.057238f, -0.047846f, -0.013801f, 0.016611f, -0.000284f, 0.024001f, 0.005011f, 0.000205f, 0.021349f, 0.008048f, -0.036720f, -0.006748f, 0.032686f, -0.016387f, -0.045737f, -0.014884f, -0.055464f, -0.027161f, -0.097158f, + 0.009639f, -0.066185f, 0.032129f, 0.011820f, -0.024093f, -0.085705f, 0.008123f, -0.009133f, 0.105803f, 0.041969f, 0.002151f, 0.057308f, 0.025054f, 0.000529f, 0.046809f, -0.054974f, -0.025931f, 0.004107f, 0.041427f, -0.045537f, -0.027445f, 0.153081f, -0.014442f, 0.079291f, -0.061634f, -0.000151f, -0.043980f, 0.033277f, -0.015496f, 0.051912f, 0.081693f, 0.002165f, -0.057682f, 0.049528f, -0.061466f, -0.027954f, 0.020778f, -0.063878f, -0.042670f, -0.020369f, 0.046424f, 0.088565f, -0.105375f, 0.088790f, 0.017777f, 0.025959f, 0.009810f, 0.012465f, 0.009463f, -0.013113f, 0.016050f, 0.045995f, -0.023258f, 0.008074f, -0.004519f, 0.006009f, -0.049921f, -0.008963f, -0.015301f, 0.015055f, 0.015391f, 0.049139f, -0.030706f, -0.017790f, -0.023943f, 0.034098f, -0.043589f, 0.010491f, 0.016023f, 0.014794f, 0.016157f, -0.071737f, -0.017135f, 0.025879f, -0.012404f, -0.030653f, -0.004088f, 0.008475f, 0.001750f, 0.030418f, 0.015325f, 0.024150f, -0.024253f, -0.021534f, 0.024389f, 0.007216f, 0.016360f, -0.016141f, 0.016456f, 0.011327f, 0.003023f, 0.006200f, -0.006903f, -0.007429f, 0.000203f, -0.035444f, + -0.034522f, -0.055146f, 0.114124f, -0.065505f, 0.041905f, 0.037602f, -0.059544f, 0.032738f, 0.017873f, 0.012987f, -0.010638f, 0.045289f, 0.023271f, -0.057281f, 0.040686f, 0.047566f, 0.009176f, 0.008203f, 0.028638f, -0.000578f, -0.057141f, 0.074413f, -0.042404f, 0.016983f, -0.031535f, -0.007077f, 0.009325f, -0.013706f, 0.060492f, 0.013805f, -0.007994f, -0.014332f, -0.003159f, 0.012076f, -0.061560f, 0.019752f, -0.031904f, -0.021329f, -0.014758f, 0.000106f, -0.030187f, -0.014113f, 0.007367f, 0.064190f, 0.000719f, -0.013125f, -0.040692f, 0.017305f, 0.011289f, 0.002193f, 0.049657f, -0.011756f, -0.005115f, 0.059340f, 0.018622f, 0.003771f, -0.056880f, -0.029456f, 0.036825f, 0.020911f, -0.053266f, 0.002071f, -0.121144f, -0.059665f, 0.108781f, -0.025074f, 0.058894f, 0.077424f, 0.022022f, 0.013525f, 0.034983f, -0.014439f, -0.042446f, 0.023314f, 0.007303f, -0.002305f, 0.049184f, 0.032364f, -0.035083f, -0.084145f, -0.017364f, 0.034997f, 0.011155f, -0.001525f, 0.027614f, -0.031434f, 0.047662f, -0.022702f, 0.017959f, 0.022747f, 0.009912f, 0.033185f, 0.024927f, 0.040124f, 0.004700f, -0.009614f, + 0.014522f, 0.038970f, -0.009806f, 0.034234f, 0.020351f, -0.020953f, 0.007011f, 0.018593f, 0.012253f, 0.008157f, 0.024318f, 0.020984f, 0.009090f, 0.041057f, -0.012459f, 0.005558f, -0.005512f, -0.001586f, -0.009925f, 0.036694f, 0.029761f, 0.024763f, -0.010850f, 0.005702f, 0.042296f, -0.009691f, 0.031089f, 0.028970f, 0.000371f, 0.049568f, -0.043260f, 0.007638f, 0.066368f, 0.010058f, 0.019016f, -0.012045f, 0.046793f, 0.010784f, 0.017937f, 0.064899f, -0.020058f, -0.108345f, 0.018400f, -0.013024f, 0.037312f, 0.011459f, -0.036766f, 0.019094f, 0.022365f, -0.041848f, -0.046002f, -0.030745f, -0.076804f, -0.077255f, 0.053209f, -0.012274f, -0.079413f, -0.024306f, 0.008167f, 0.026337f, 0.025193f, -0.048608f, -0.052719f, 0.005240f, 0.073460f, -0.035059f, 0.028388f, -0.049341f, 0.017615f, -0.055670f, 0.036356f, 0.038363f, -0.027251f, -0.057293f, -0.039383f, -0.006334f, 0.022591f, -0.024557f, -0.016139f, -0.020435f, -0.072867f, -0.062994f, 0.033164f, -0.052876f, -0.010717f, 0.018930f, -0.043602f, -0.070538f, 0.027084f, 0.037116f, -0.004596f, -0.084932f, 0.038169f, 0.033426f, 0.107653f, 0.000566f, + 0.028393f, 0.021113f, -0.045730f, 0.017652f, -0.014072f, -0.092839f, -0.014017f, 0.056857f, 0.013745f, -0.046939f, -0.116340f, 0.073688f, 0.094367f, -0.027928f, 0.076397f, 0.088645f, 0.004863f, 0.004052f, 0.070334f, -0.045320f, 0.003854f, 0.117307f, -0.086102f, 0.050307f, -0.073681f, -0.020318f, -0.005620f, 0.050513f, -0.016710f, 0.007339f, 0.028793f, -0.000893f, -0.065065f, 0.072203f, -0.012584f, -0.008495f, 0.011654f, 0.030125f, -0.048693f, 0.021538f, 0.013308f, -0.007489f, 0.015683f, 0.017493f, -0.044975f, -0.006269f, 0.011393f, 0.023906f, 0.050653f, -0.004323f, -0.042937f, 0.022117f, 0.052055f, -0.040884f, 0.050842f, -0.023828f, -0.004350f, -0.017758f, 0.057317f, -0.039159f, 0.014414f, 0.034927f, -0.023219f, 0.008550f, 0.007381f, -0.032773f, 0.008333f, 0.013653f, -0.004877f, -0.025034f, 0.017386f, 0.020022f, -0.010032f, 0.040196f, -0.059644f, 0.014550f, 0.019417f, 0.000272f, 0.005335f, 0.007739f, 0.042462f, -0.009890f, 0.023998f, -0.049260f, -0.154113f, 0.041315f, -0.017463f, 0.114931f, -0.039346f, -0.025839f, -0.046004f, -0.132692f, 0.060781f, -0.077544f, -0.044748f, 0.001840f, + 0.000115f, 0.101449f, -0.072701f, -0.051613f, 0.067397f, 0.039435f, 0.035238f, -0.013217f, 0.033663f, -0.024208f, -0.033439f, -0.031538f, 0.078936f, 0.064924f, 0.102556f, -0.033169f, -0.038176f, 0.001215f, -0.006628f, 0.036990f, -0.061529f, 0.012604f, -0.064692f, 0.033994f, 0.063648f, 0.021185f, -0.052264f, 0.035027f, -0.046080f, 0.103253f, 0.052960f, 0.014042f, 0.014037f, -0.016731f, -0.081462f, 0.045364f, -0.110527f, 0.022391f, 0.020590f, 0.053298f, 0.042861f, -0.096214f, 0.028783f, -0.060888f, -0.035733f, 0.025258f, -0.009519f, 0.034878f, 0.022778f, -0.088078f, 0.035629f, 0.079425f, 0.105973f, -0.031563f, 0.031257f, -0.044105f, 0.074332f, -0.106545f, -0.005683f, -0.020089f, 0.033275f, 0.068719f, 0.099766f, -0.080813f, 0.019780f, -0.107863f, 0.068631f, 0.140092f, -0.035973f, -0.096955f, -0.007910f, -0.073353f, 0.092366f, 0.022584f, -0.047478f, -0.014292f, 0.005148f, -0.016763f, 0.065860f, 0.023950f, -0.037622f, 0.034618f, -0.053178f, 0.002474f, 0.049320f, -0.011343f, -0.061284f, 0.066592f, -0.097612f, 0.027186f, -0.015037f, 0.037860f, -0.002821f, 0.023117f, -0.022817f, -0.013055f, + 0.009488f, 0.007479f, 0.009893f, 0.045063f, -0.047648f, -0.040746f, 0.001731f, 0.009543f, -0.011395f, -0.050348f, -0.036518f, 0.070967f, 0.018909f, -0.033198f, -0.037518f, -0.083459f, 0.097950f, 0.075958f, -0.030638f, -0.027597f, -0.058093f, 0.000976f, 0.072972f, 0.012913f, -0.031589f, -0.012305f, -0.017051f, 0.010671f, 0.007223f, 0.002750f, -0.009652f, -0.004782f, 0.013175f, -0.002107f, -0.008152f, -0.006271f, 0.008538f, 0.002639f, 0.017621f, -0.008726f, -0.122982f, 0.088276f, -0.012829f, -0.001817f, 0.027245f, 0.025742f, 0.032744f, 0.011095f, 0.015229f, -0.041177f, 0.039001f, 0.012605f, -0.045060f, 0.030890f, -0.018823f, 0.000795f, 0.038098f, 0.024416f, -0.063475f, 0.036302f, -0.030821f, 0.053109f, -0.039084f, 0.014541f, -0.020695f, 0.025503f, -0.019794f, 0.012518f, -0.028752f, 0.060860f, -0.006728f, 0.003087f, 0.016207f, 0.021376f, -0.031547f, -0.004804f, 0.012121f, 0.021273f, 0.016637f, -0.019422f, 0.006083f, 0.002329f, -0.061785f, -0.003559f, 0.014216f, 0.023658f, 0.008228f, 0.015688f, -0.055726f, 0.010104f, -0.004584f, 0.006936f, 0.011069f, -0.009288f, 0.010389f, 0.010518f, + 0.003698f, -0.011666f, -0.013687f, -0.002725f, 0.061432f, -0.020633f, 0.011085f, 0.024831f, -0.014587f, 0.023703f, -0.026695f, 0.022900f, 0.009692f, -0.015440f, -0.026857f, 0.017466f, -0.017062f, 0.014022f, -0.024311f, -0.018249f, -0.010507f, 0.030381f, -0.008924f, 0.004282f, 0.004294f, -0.000583f, 0.005387f, -0.021366f, 0.015806f, -0.013243f, 0.036508f, -0.033850f, 0.014993f, -0.019571f, 0.017364f, -0.015695f, 0.013564f, 0.001976f, 0.024116f, -0.020694f, 0.010402f, -0.009817f, -0.000326f, 0.006125f, 0.013518f, -0.014393f, 0.002077f, -0.015647f, 0.022710f, -0.018851f, -0.007413f, 0.013979f, 0.003310f, -0.008351f, -0.004726f, 0.015602f, 0.007441f, -0.032074f, 0.017057f, 0.003347f, -0.001621f, -0.001870f, 0.004982f, -0.002506f, 0.001740f, -0.000892f, 0.002496f, 0.002865f, 0.006901f, -0.007792f, 0.022192f, -0.028883f, 0.007917f, -0.003747f, 0.004716f, -0.003973f, 0.006904f, -0.002484f, -0.005572f, -0.001047f, 0.002558f, -0.006404f, 0.096551f, -0.006951f, -0.031274f, -0.047667f, -0.021679f, -0.026752f, 0.035031f, 0.020274f, -0.025469f, 0.002138f, 0.003004f, 0.011460f, 0.001575f, 0.024275f, + 0.008378f, 0.019125f, -0.006546f, -0.000667f, -0.005726f, 0.008979f, 0.020720f, -0.019205f, -0.000112f, -0.009491f, 0.000688f, 0.025278f, -0.014310f, 0.002492f, -0.006458f, 0.009981f, 0.005153f, -0.013818f, -0.005117f, 0.014900f, -0.004546f, 0.024273f, 0.017260f, -0.025245f, 0.008130f, 0.005407f, 0.013293f, 0.005656f, -0.023873f, 0.016227f, -0.004446f, 0.015785f, 0.012618f, -0.028478f, 0.007861f, 0.000141f, 0.006459f, -0.003125f, -0.012496f, 0.020405f, -0.004962f, 0.009298f, 0.000527f, -0.006043f, 0.009460f, -0.012077f, -0.001661f, 0.017038f, -0.011611f, -0.013914f, 0.028330f, -0.018184f, 0.026434f, -0.002669f, -0.021318f, 0.043811f, -0.040095f, 0.034993f, -0.012320f, -0.020835f, 0.022174f, -0.020465f, 0.006155f, 0.007218f, -0.020052f, 0.017037f, -0.003556f, -0.001198f, 0.010887f, -0.013887f, 0.018375f, -0.005827f, -0.001335f, 0.004619f, -0.003048f, 0.006541f, -0.002988f, 0.001149f, 0.005419f, -0.005038f, 0.008619f, -0.000879f, -0.004779f, 0.010623f, -0.016195f, 0.008777f, -0.007153f, -0.003215f, 0.010242f, 0.000981f, -0.002968f, 0.005404f, -0.003771f, 0.005370f, 0.002764f, -0.007403f, + 0.005153f, 0.001172f, -0.001613f, -0.001137f, 0.004669f, 0.001136f, 0.008536f, -0.006489f, 0.002506f, 0.001245f, -0.004654f, 0.009510f, -0.002594f, -0.001312f, -0.047122f, -0.081326f, 0.102538f, 0.293023f, 0.046526f, 0.028233f, -0.214187f, -0.265198f, -0.084763f, -0.052282f, 0.179418f, 0.273242f, 0.140851f, 0.040587f, -0.091882f, -0.198013f, -0.180304f, -0.151328f, 0.012099f, 0.226335f, 0.189584f, 0.108461f, 0.037019f, -0.097119f, -0.125606f, -0.100042f, -0.096398f, -0.034219f, 0.045897f, 0.062733f, 0.130236f, 0.092981f, 0.022717f, -0.031725f, -0.018452f, -0.104910f, -0.050775f, -0.053101f, -0.071589f, 0.042515f, 0.080569f, 0.046362f, 0.117241f, 0.030946f, -0.027708f, -0.045164f, -0.077768f, -0.061710f, -0.009531f, -0.019194f, 0.024021f, 0.048310f, 0.043292f, 0.030700f, 0.021125f, -0.010811f, -0.042651f, -0.030389f, -0.035454f, 0.011301f, 0.041589f, 0.013535f, 0.010299f, -0.018155f, -0.037085f, -0.007103f, 0.000019f, -0.000685f, 0.030232f, 0.026841f, 0.030303f, 0.011781f, -0.010297f, -0.032506f, -0.046784f, -0.048126f, -0.031106f, 0.033127f, 0.049345f, 0.060946f, 0.042347f, -0.010763f, + -0.023779f, -0.025482f, -0.050154f, -0.022333f, 0.018449f, 0.009528f, 0.009211f, 0.014523f, 0.007145f, 0.005488f, -0.007680f, -0.010217f, 0.008039f, 0.017327f, -0.000261f, -0.001640f, -0.011915f, -0.016664f, -0.008490f, -0.010173f, -0.005797f, 0.012815f, -0.002176f, 0.026946f, 0.033529f, 0.019200f, -0.011469f, -0.019109f, -0.021174f, -0.027010f, -0.019549f, -0.026730f, 0.014346f, 0.036550f, 0.033558f, 0.019688f, 0.021001f, 0.007795f, -0.020441f, -0.040296f, -0.041004f, -0.020998f, -0.004134f, 0.012899f, 0.029410f, 0.042917f, 0.035411f, 0.006545f, -0.022610f, -0.037963f, -0.027636f, -0.009309f, 0.000387f, 0.010261f, 0.006716f, 0.016136f, 0.020883f, 0.006060f, -0.008865f, -0.012353f, -0.006770f, -0.005210f, -0.004869f, -0.001509f, 0.001596f, 0.009558f, 0.005944f, 0.000578f, -0.000013f, -0.000696f, -0.001803f, -0.004511f, -0.005096f, 0.001651f, 0.004175f, 0.003005f, -0.000597f, -0.000200f, -0.000484f, -0.001450f, -0.001671f, 0.000885f, 0.000816f, 0.001355f, 0.000434f, 0.000663f, -0.000866f, -0.001098f, -0.001964f, -0.001196f, 0.000459f, 0.002399f, 0.000524f, 0.000965f, 0.000888f, 0.000245f, + -0.001230f, 0.000034f, -0.001264f, -0.003466f, -0.002313f, 0.002285f, 0.002697f, 0.002803f, 0.001418f, 0.000071f, -0.001845f, -0.000753f, -0.001186f, -0.000624f, -0.001124f, 0.000488f, 0.000088f, 0.000409f, 0.000176f, 0.001377f, 0.000678f, 0.001324f, 0.000109f, -0.000157f, -0.001257f, -0.000988f, -0.001963f, -0.000887f, -0.000457f, 0.001530f, 0.001305f, 0.002338f, 0.001127f, 0.000381f, -0.001815f, -0.001547f, -0.001721f, -0.000452f, -0.000506f, 0.001346f, 0.000977f, 0.001087f, -0.000128f, 0.000181f, -0.000648f, 0.000102f, -0.000526f, 0.000231f, -0.000476f, 0.000301f, -0.000307f, 0.000406f, -0.000371f, 0.000328f, -0.000273f, 0.000509f, -0.000267f, 0.000360f, -0.000348f, 0.000312f, -0.000413f, 0.000339f} + }, + { + {-0.005310f, 0.020334f, 0.002407f, 0.005499f, 0.001980f, 0.002893f, -0.004877f, -0.012321f, -0.002343f, 0.006498f, 0.002356f, -0.006101f, -0.000821f, 0.004970f, -0.001248f, -0.007342f, 0.002250f, -0.008460f, -0.005203f, -0.000265f, 0.002366f, -0.002406f, -0.001870f, 0.005242f, -0.007252f, -0.000174f, 0.000968f, 0.003529f, 0.002840f, 0.002687f, 0.008955f, 0.004027f, -0.011033f, -0.002821f, -0.004991f, 0.001407f, -0.000242f, -0.000832f, -0.006929f, -0.009085f, 0.012090f, -0.005552f, 0.002992f, 0.003514f, 0.003067f, -0.011420f, -0.006448f, -0.002984f, 0.001310f, -0.000885f, -0.000307f, -0.001038f, 0.001978f, 0.004371f, -0.005924f, -0.000001f, 0.003257f, 0.003743f, 0.004505f, 0.001654f, 0.000138f, 0.004325f, 0.001586f, -0.001854f, -0.000492f, 0.007013f, -0.005134f, -0.005476f, -0.002905f, -0.002186f, 0.006037f, 0.003551f, 0.001485f, -0.002213f, 0.005822f, -0.002549f, 0.003048f, -0.006790f, -0.000585f, 0.000545f, 0.001481f, 0.001434f, -0.005432f, 0.001510f, 0.003958f, 0.001981f, 0.000727f, -0.000471f, 0.005161f, 0.002451f, -0.000443f, 0.003290f, 0.002011f, 0.000876f, -0.000674f, 0.001124f, + 0.000951f, 0.000741f, -0.000896f, 0.001274f, 0.000426f, -0.000989f, -0.000737f, 0.001801f, 0.000467f, -0.000133f, 0.000101f, 0.000111f, 0.000377f, -0.001602f, 0.001260f, -0.000416f, 0.001008f, -0.001246f, -0.011505f, -0.007043f, 0.005003f, -0.011399f, -0.015943f, 0.003040f, 0.001446f, 0.001901f, 0.002410f, 0.002179f, -0.013698f, -0.002325f, 0.004065f, -0.008807f, 0.009239f, 0.008840f, 0.007718f, -0.003173f, 0.000768f, 0.001992f, 0.005925f, 0.001257f, -0.000136f, 0.001073f, -0.003921f, 0.003617f, -0.001377f, -0.001533f, -0.001812f, 0.011229f, -0.006688f, 0.003832f, -0.004201f, -0.003752f, -0.003767f, 0.002917f, 0.006244f, -0.006687f, -0.003235f, -0.003663f, 0.004584f, 0.004176f, 0.006934f, 0.004587f, 0.000973f, 0.005939f, -0.005080f, 0.003534f, 0.001430f, 0.001484f, 0.012675f, 0.002895f, 0.006292f, -0.010452f, -0.002748f, 0.004181f, -0.005135f, 0.004823f, -0.002193f, -0.003906f, 0.001397f, 0.007481f, 0.005154f, 0.003399f, -0.001809f, 0.001455f, 0.005689f, -0.006928f, 0.009055f, -0.001326f, 0.007427f, -0.003099f, 0.006134f, 0.007176f, 0.006166f, -0.003522f, -0.009051f, -0.013517f, + -0.009026f, 0.000774f, -0.004719f, 0.008760f, 0.001505f, 0.001285f, 0.002405f, -0.006430f, -0.001926f, -0.002950f, 0.003214f, -0.001818f, -0.001187f, 0.003797f, -0.004739f, -0.001792f, 0.001916f, -0.002755f, 0.000247f, -0.003064f, -0.002335f, -0.001982f, -0.000506f, 0.001738f, 0.000529f, 0.000219f, -0.003225f, 0.019527f, 0.013901f, 0.011525f, 0.009453f, 0.010813f, 0.004457f, -0.000778f, -0.000319f, -0.003921f, -0.001273f, 0.014199f, -0.006253f, -0.006293f, 0.009666f, 0.007302f, 0.009288f, -0.006494f, 0.002749f, -0.002419f, 0.002027f, 0.004235f, 0.005761f, 0.000913f, -0.004368f, -0.003121f, -0.005595f, -0.001912f, -0.003496f, -0.009973f, -0.001315f, 0.008490f, -0.006671f, -0.001095f, 0.003019f, -0.005119f, -0.004782f, 0.004819f, -0.002684f, -0.006652f, -0.003695f, 0.003857f, -0.005829f, -0.007326f, -0.003469f, -0.002149f, 0.002375f, -0.005102f, -0.010762f, 0.000791f, -0.001868f, -0.001457f, 0.002971f, -0.008709f, -0.004372f, 0.000192f, -0.003764f, 0.004849f, -0.001340f, 0.002109f, -0.015805f, -0.004729f, 0.008770f, -0.003472f, -0.008753f, 0.002601f, 0.001420f, 0.002459f, -0.003329f, -0.012423f, + -0.005763f, 0.014026f, 0.000840f, 0.005183f, 0.002849f, -0.001993f, 0.004155f, 0.005854f, 0.002339f, -0.002882f, -0.006816f, 0.000002f, 0.001555f, -0.005061f, 0.002181f, -0.006566f, -0.000790f, -0.004184f, -0.002168f, -0.005545f, -0.001174f, -0.003167f, -0.004148f, -0.003106f, 0.000497f, -0.001381f, 0.000598f, -0.001517f, 0.000435f, -0.002802f, 0.001885f, 0.001074f, -0.000889f, -0.000519f, 0.002486f, -0.000068f, -0.001058f, -0.002499f, -0.001400f, -0.001141f, -0.000310f, 0.000225f, -0.000060f, -0.002886f, 0.027487f, 0.017047f, 0.015943f, 0.000396f, 0.001516f, 0.001393f, -0.006654f, -0.014492f, -0.005596f, 0.011139f, -0.008411f, 0.005106f, 0.014832f, 0.001317f, -0.004794f, -0.001750f, -0.003087f, -0.001465f, 0.005963f, 0.008686f, 0.000245f, 0.002642f, 0.003439f, 0.005703f, 0.000280f, -0.007730f, 0.002365f, -0.012528f, -0.003861f, -0.001484f, -0.003566f, -0.002183f, 0.001528f, -0.002912f, -0.006681f, -0.005059f, -0.002432f, 0.000659f, -0.002889f, -0.007556f, 0.009077f, -0.003311f, 0.000629f, -0.002261f, -0.006009f, 0.007591f, 0.020800f, 0.005122f, -0.007273f, 0.012415f, 0.002793f, -0.003704f, + 0.003730f, -0.002044f, -0.008044f, 0.000121f, -0.003383f, 0.003193f, -0.006969f, -0.011954f, 0.000458f, 0.002079f, -0.014612f, 0.004439f, 0.003006f, 0.008233f, 0.004620f, 0.010855f, -0.003663f, -0.007200f, -0.004283f, -0.002189f, 0.005241f, -0.001846f, -0.009392f, 0.006474f, -0.004583f, -0.008463f, 0.005823f, -0.008454f, -0.004673f, 0.002771f, -0.003088f, 0.003030f, -0.002037f, -0.003445f, 0.002829f, 0.007314f, -0.001674f, -0.003487f, -0.001295f, 0.000072f, 0.002539f, 0.005166f, 0.001466f, -0.001406f, -0.001893f, -0.001784f, -0.000614f, 0.001287f, -0.003676f, -0.001210f, -0.001078f, 0.005659f, 0.002843f, 0.004029f, -0.000655f, 0.000391f, 0.003064f, 0.002137f, 0.001486f, -0.000087f, 0.000528f, -0.000558f, 0.001591f, -0.000952f, -0.000757f, -0.014078f, -0.022556f, -0.006774f, -0.011346f, 0.016190f, -0.003791f, -0.001856f, 0.005898f, -0.014731f, -0.010581f, 0.009016f, -0.007317f, -0.006571f, -0.000497f, -0.000501f, 0.001453f, 0.005972f, -0.002599f, 0.002772f, -0.004001f, -0.002778f, -0.000409f, -0.002448f, -0.006638f, -0.000488f, -0.001534f, 0.006887f, 0.006738f, 0.006125f, -0.008196f, 0.003832f, + 0.002586f, 0.011356f, -0.005821f, -0.000332f, -0.004007f, -0.008533f, 0.012130f, -0.011561f, -0.005865f, -0.004452f, 0.002748f, 0.010269f, -0.009579f, 0.010619f, -0.001292f, 0.005760f, 0.008632f, 0.001503f, 0.006618f, -0.012470f, 0.002613f, -0.004657f, 0.000496f, -0.013215f, 0.000096f, -0.004509f, -0.012052f, -0.009072f, 0.000559f, 0.008848f, 0.000305f, -0.006332f, 0.009838f, -0.003368f, 0.005627f, -0.000723f, -0.012511f, 0.017348f, -0.010951f, -0.002078f, -0.006301f, 0.004380f, 0.006851f, 0.004706f, 0.006307f, 0.014053f, 0.010514f, -0.001729f, 0.002063f, 0.006665f, 0.003993f, -0.004927f, 0.006935f, 0.005592f, -0.001222f, 0.003201f, -0.007152f, -0.009567f, -0.001209f, -0.003050f, 0.005222f, -0.005591f, -0.001358f, -0.005374f, -0.001440f, -0.002445f, -0.000997f, 0.001667f, 0.001816f, 0.001148f, -0.000434f, -0.001322f, 0.003050f, 0.001689f, -0.003555f, 0.002463f, -0.000045f, -0.008294f, -0.000950f, -0.002964f, 0.004554f, -0.001241f, -0.000775f, 0.001767f, -0.001128f, 0.001684f, 0.003518f, -0.000225f, 0.002202f, 0.002609f, -0.000726f, 0.000985f, 0.005041f, 0.000871f, 0.005859f, -0.015699f, + -0.022846f, 0.002734f, 0.001715f, 0.001467f, 0.014419f, -0.004537f, -0.016087f, 0.001878f, 0.001666f, -0.004002f, -0.001100f, -0.013789f, -0.002947f, 0.001938f, 0.001893f, 0.015845f, -0.002924f, 0.014220f, -0.003575f, -0.003423f, 0.000987f, -0.013722f, 0.005754f, -0.005050f, 0.008291f, -0.002150f, -0.003768f, -0.004975f, -0.002715f, 0.000692f, -0.010595f, 0.018191f, -0.012661f, -0.020041f, 0.005860f, 0.001125f, -0.014402f, -0.004006f, -0.027465f, 0.000665f, -0.009906f, 0.000061f, -0.010740f, -0.008362f, 0.001284f, 0.001162f, 0.004503f, -0.008433f, 0.006690f, -0.009541f, -0.019031f, 0.002437f, 0.005014f, -0.005515f, 0.005969f, -0.003037f, -0.010654f, -0.009013f, -0.012912f, -0.005840f, -0.001561f, 0.002274f, -0.004012f, 0.011982f, -0.000174f, -0.003492f, 0.000812f, 0.000903f, 0.002239f, 0.002025f, 0.001168f, -0.011124f, -0.010798f, 0.002431f, 0.007275f, 0.004617f, 0.001018f, -0.002309f, 0.009086f, 0.005308f, -0.004568f, -0.003018f, -0.010654f, -0.004122f, 0.004418f, 0.002375f, -0.005918f, 0.002471f, -0.001822f, -0.001503f, -0.002905f, -0.003116f, -0.001381f, -0.004169f, -0.003539f, 0.001962f, + 0.000614f, 0.002770f, 0.004227f, 0.000521f, 0.003674f, 0.000361f, -0.002848f, 0.003884f, 0.002071f, -0.000590f, 0.000282f, -0.001967f, -0.002394f, 0.000100f, -0.000078f, -0.002225f, -0.000164f, -0.000571f, -0.000387f, 0.000132f, -0.000798f, 0.002579f, -0.004179f, -0.000467f, -0.001449f, 0.000352f, 0.001056f, 0.002639f, -0.000197f, -0.035062f, -0.008750f, 0.001343f, -0.008901f, -0.006580f, -0.011145f, 0.002832f, 0.003957f, 0.007913f, -0.005989f, -0.007527f, -0.008426f, 0.004162f, 0.009440f, -0.004754f, -0.004009f, -0.002462f, -0.001429f, 0.004401f, -0.019507f, -0.004890f, 0.011050f, 0.003526f, -0.005703f, 0.002018f, 0.009787f, -0.001033f, -0.002479f, 0.003344f, -0.000602f, 0.023891f, -0.010300f, 0.005786f, 0.001940f, -0.010172f, 0.003332f, 0.002175f, -0.011473f, 0.008027f, -0.016307f, -0.001669f, 0.014448f, 0.003090f, -0.000412f, -0.003125f, -0.011147f, -0.009719f, 0.002580f, 0.006121f, -0.004193f, 0.002935f, 0.011969f, 0.005839f, -0.004963f, 0.007283f, -0.010614f, -0.025072f, -0.003302f, -0.011065f, 0.006952f, -0.007123f, 0.017744f, 0.008787f, -0.000814f, -0.003010f, -0.023003f, 0.007157f, + 0.008794f, -0.007156f, 0.014059f, -0.011023f, 0.004290f, -0.018405f, 0.008494f, 0.006321f, -0.020847f, -0.013368f, -0.004277f, 0.005049f, 0.006923f, 0.015092f, -0.002111f, -0.000834f, 0.009860f, 0.002186f, 0.000049f, -0.004502f, 0.002255f, 0.002185f, 0.002959f, 0.003134f, 0.000803f, -0.000505f, -0.001902f, -0.002259f, -0.005630f, -0.004773f, 0.003736f, 0.002555f, 0.001919f, 0.004547f, -0.001894f, 0.002144f, 0.002355f, -0.001283f, 0.003985f, -0.000635f, -0.000052f, -0.001054f, -0.004542f, -0.001091f, 0.005190f, 0.001071f, 0.003848f, -0.001539f, 0.001400f, -0.002151f, 0.006169f, 0.000489f, 0.005169f, 0.002193f, -0.002573f, 0.001255f, 0.008619f, 0.014944f, 0.033993f, 0.036609f, 0.007153f, 0.011102f, -0.000044f, 0.005396f, 0.000184f, 0.004037f, -0.009886f, 0.004726f, -0.006198f, 0.008277f, 0.007507f, 0.018965f, 0.002760f, -0.003578f, 0.011626f, 0.008698f, 0.014013f, 0.000922f, 0.008674f, 0.005342f, -0.004481f, 0.004632f, 0.020929f, 0.003583f, -0.009201f, -0.004661f, 0.015464f, 0.009873f, 0.007385f, 0.014728f, -0.011244f, 0.004596f, 0.017159f, -0.016944f, -0.020653f, 0.007051f, + 0.010924f, 0.018184f, -0.007860f, -0.013112f, 0.010760f, 0.004202f, -0.001712f, 0.007012f, -0.002801f, -0.001361f, -0.000182f, 0.025791f, -0.009303f, 0.005457f, -0.006229f, -0.003665f, -0.003077f, 0.013595f, -0.001829f, 0.029987f, 0.014175f, -0.013955f, 0.016533f, 0.003924f, 0.007678f, 0.003878f, 0.003551f, 0.004362f, -0.005486f, 0.010337f, -0.023534f, -0.005882f, 0.010706f, -0.023593f, 0.008152f, -0.018998f, 0.004505f, 0.021675f, 0.005244f, 0.000199f, 0.005835f, 0.002380f, -0.005769f, 0.001792f, -0.006127f, 0.001060f, 0.004899f, -0.014016f, 0.008226f, -0.002248f, -0.003432f, 0.001339f, 0.004454f, -0.003396f, -0.005735f, 0.002315f, 0.005183f, -0.002354f, -0.004844f, -0.004383f, -0.002796f, 0.002391f, -0.003414f, -0.002667f, 0.003245f, 0.004918f, 0.002128f, -0.001973f, 0.002963f, -0.001710f, -0.007383f, -0.002927f, -0.000086f, -0.003340f, 0.002148f, 0.001972f, 0.003139f, 0.005489f, 0.007438f, -0.003052f, 0.010479f, -0.003200f, -0.006053f, -0.001616f, 0.003751f, 0.001268f, -0.006147f, -0.003549f, -0.004450f, 0.056717f, 0.009431f, 0.009235f, -0.016872f, 0.024664f, -0.008443f, -0.000691f, + -0.006761f, 0.001722f, -0.016167f, -0.000829f, 0.007099f, 0.002144f, -0.013239f, 0.016399f, -0.004228f, -0.007956f, 0.001958f, 0.005390f, -0.016936f, -0.022933f, 0.009312f, -0.009259f, -0.014113f, 0.003068f, -0.000421f, -0.006710f, 0.011794f, -0.011871f, 0.003690f, 0.012172f, -0.002436f, 0.017572f, 0.005081f, -0.021450f, -0.023139f, -0.009389f, 0.001137f, 0.004510f, -0.018355f, 0.006874f, 0.006219f, 0.003788f, 0.005462f, 0.008314f, -0.019064f, -0.008984f, 0.005098f, -0.020522f, -0.007888f, -0.000137f, -0.021960f, -0.011224f, -0.007729f, 0.004744f, -0.011410f, -0.023146f, -0.011479f, -0.012198f, 0.026908f, 0.013523f, -0.002554f, 0.004093f, -0.007629f, 0.022024f, 0.025663f, 0.003288f, 0.017092f, 0.013072f, 0.004690f, 0.003502f, -0.010385f, -0.001814f, -0.009212f, 0.012995f, -0.016950f, 0.000936f, -0.004336f, -0.025125f, -0.008065f, -0.003299f, 0.013502f, -0.012242f, 0.006599f, 0.006337f, 0.002252f, 0.001713f, 0.005657f, -0.005713f, 0.004443f, -0.003292f, 0.004970f, -0.000963f, 0.007517f, 0.002691f, 0.000320f, -0.003739f, -0.001890f, -0.009572f, 0.004979f, -0.000990f, 0.008103f, -0.007736f, + -0.000381f, -0.000445f, 0.004680f, -0.000490f, 0.004140f, 0.002315f, 0.002082f, 0.002805f, 0.000899f, -0.005046f, 0.005924f, 0.008424f, -0.004460f, -0.005372f, -0.007154f, -0.002398f, -0.000828f, -0.002023f, 0.000299f, -0.001407f, -0.038415f, 0.025928f, 0.041646f, -0.031253f, -0.018600f, 0.008557f, 0.007470f, -0.006363f, 0.013677f, 0.003691f, -0.011652f, -0.014260f, -0.000304f, -0.004609f, -0.010174f, 0.005159f, -0.004689f, 0.000622f, 0.011495f, -0.015540f, 0.003237f, 0.002029f, -0.009229f, 0.001268f, -0.014643f, 0.002800f, 0.021417f, 0.010885f, -0.002186f, -0.006954f, -0.001799f, -0.012308f, -0.013080f, 0.006348f, 0.010803f, -0.003491f, -0.006053f, -0.004345f, 0.006438f, 0.010737f, 0.005135f, 0.019731f, -0.010718f, 0.008073f, -0.005198f, 0.001870f, 0.012295f, -0.004529f, -0.003976f, -0.023661f, -0.003682f, -0.018344f, 0.009106f, 0.006174f, 0.023402f, -0.020219f, -0.007496f, -0.019576f, -0.032138f, -0.005490f, 0.013289f, -0.022249f, 0.004822f, -0.002565f, -0.016248f, -0.019164f, -0.024107f, 0.032118f, 0.001115f, 0.019023f, 0.013970f, 0.016138f, -0.007474f, -0.021578f, -0.016348f, -0.020206f, + 0.006894f, 0.015589f, -0.015151f, 0.006949f, 0.016654f, -0.011508f, 0.001792f, 0.013451f, 0.015501f, 0.003600f, -0.005742f, 0.006541f, -0.002948f, 0.003411f, -0.016818f, -0.001699f, 0.006242f, -0.005833f, 0.001975f, 0.000855f, 0.000549f, 0.003543f, 0.006110f, -0.006786f, -0.002536f, 0.003631f, 0.005413f, 0.001371f, 0.002528f, 0.005262f, -0.001378f, 0.005697f, -0.005184f, 0.003829f, 0.005766f, 0.006440f, 0.000519f, -0.002757f, 0.004979f, -0.004483f, 0.001054f, -0.001209f, -0.003856f, -0.002044f, -0.003815f, -0.001231f, 0.001412f, -0.004678f, -0.012448f, 0.004013f, 0.006371f, -0.030413f, 0.022059f, -0.003096f, -0.010935f, 0.018226f, 0.006898f, -0.018486f, -0.025610f, -0.010404f, 0.000382f, 0.000136f, 0.001548f, -0.009645f, 0.029761f, 0.011802f, 0.009184f, 0.006385f, 0.009538f, -0.009395f, 0.002491f, 0.005422f, 0.004560f, 0.026031f, 0.003001f, -0.039903f, 0.005091f, 0.015960f, -0.014494f, -0.022649f, -0.004483f, -0.012519f, -0.006911f, 0.001364f, 0.028092f, 0.016217f, -0.002641f, -0.001139f, -0.008234f, -0.024938f, -0.008094f, -0.020695f, 0.014567f, 0.019186f, 0.000403f, -0.011479f, + -0.003847f, -0.005065f, 0.009171f, 0.012002f, 0.013439f, -0.031332f, 0.006054f, 0.000501f, 0.002827f, 0.020831f, -0.012387f, 0.008186f, -0.011304f, -0.008798f, 0.002342f, 0.013411f, 0.025282f, -0.004600f, -0.016236f, 0.004669f, -0.029289f, 0.022823f, 0.012704f, -0.003530f, -0.012082f, 0.005701f, -0.006746f, -0.015133f, -0.012025f, -0.013789f, -0.006253f, -0.003420f, 0.000900f, 0.011746f, -0.009485f, 0.033469f, 0.001428f, -0.005875f, 0.001955f, 0.009493f, 0.000446f, -0.001093f, 0.011051f, 0.006910f, 0.005679f, -0.000297f, -0.005415f, -0.004888f, -0.001332f, -0.001497f, -0.005021f, -0.014605f, 0.007261f, 0.006215f, -0.005321f, 0.001166f, -0.007787f, -0.006513f, -0.002765f, -0.002273f, -0.000318f, 0.011442f, -0.002646f, -0.004615f, -0.002123f, -0.001506f, 0.007353f, 0.012800f, -0.004606f, 0.006815f, -0.002237f, -0.009328f, 0.009649f, -0.010045f, -0.007649f, -0.005763f, -0.007732f, 0.000747f, 0.005566f, 0.002089f, 0.005698f, -0.000792f, -0.002483f, -0.001446f, -0.006359f, 0.002742f, -0.003777f, -0.007914f, 0.004953f, -0.003683f, -0.003764f, -0.003611f, -0.000488f, -0.002916f, -0.000240f, -0.002547f, + -0.002046f, -0.000401f, -0.000958f, -0.013779f, -0.002426f, 0.013655f, -0.025077f, -0.008095f, 0.017483f, -0.021769f, -0.001399f, -0.002854f, -0.002043f, -0.025231f, 0.025073f, 0.009775f, -0.016175f, -0.003682f, -0.006504f, -0.006974f, -0.036423f, -0.005988f, -0.016232f, -0.042738f, 0.009723f, 0.005719f, -0.018334f, -0.016561f, -0.021741f, -0.026387f, 0.022581f, 0.011539f, 0.023732f, 0.000034f, 0.048973f, 0.001486f, 0.025939f, 0.033878f, -0.003267f, 0.009811f, 0.036459f, -0.024843f, 0.011763f, -0.015286f, 0.025314f, -0.008509f, 0.048589f, 0.020943f, -0.014146f, -0.023292f, 0.004482f, 0.010291f, 0.020701f, 0.004561f, -0.016560f, -0.004797f, 0.016584f, 0.034742f, -0.014106f, 0.023030f, -0.007944f, 0.013734f, -0.027094f, 0.010169f, -0.014393f, 0.010184f, 0.002559f, 0.002839f, -0.004312f, 0.021144f, 0.031421f, -0.056585f, 0.017659f, 0.010773f, 0.009027f, -0.011015f, 0.008081f, -0.040845f, 0.004155f, -0.000142f, -0.005492f, -0.016138f, -0.012535f, -0.014079f, -0.003106f, 0.027665f, -0.015691f, -0.010522f, -0.022376f, -0.000032f, 0.021248f, -0.011152f, -0.010727f, 0.014998f, 0.000160f, 0.010645f, + 0.003297f, -0.003717f, 0.001017f, 0.004189f, -0.010306f, 0.004688f, 0.002964f, -0.010407f, -0.007217f, -0.005562f, 0.003518f, 0.005508f, 0.007355f, 0.018405f, -0.001313f, 0.013707f, 0.007937f, 0.003827f, -0.008925f, -0.003960f, -0.013853f, -0.007550f, -0.001693f, -0.005860f, -0.006188f, 0.007130f, 0.005442f, 0.008699f, 0.013158f, 0.001333f, -0.002062f, -0.002585f, -0.007196f, 0.003809f, -0.001486f, -0.000971f, 0.004872f, -0.006521f, 0.027664f, 0.029663f, -0.006570f, 0.030837f, -0.001705f, -0.006278f, 0.002298f, 0.017394f, -0.006593f, -0.007695f, -0.003715f, -0.021703f, 0.003455f, -0.006130f, 0.034259f, 0.022761f, -0.016519f, -0.017240f, -0.032775f, -0.011828f, 0.023579f, 0.042836f, -0.019566f, 0.013318f, 0.002732f, 0.005745f, 0.023138f, 0.016776f, -0.033576f, 0.006767f, -0.012070f, -0.006674f, -0.013927f, -0.007418f, -0.014691f, -0.032116f, 0.005520f, 0.021680f, 0.008137f, 0.050616f, -0.012403f, -0.006843f, 0.034954f, -0.012670f, -0.002084f, -0.007709f, 0.009167f, -0.038411f, -0.024856f, 0.013508f, 0.028696f, 0.042121f, 0.050007f, -0.036726f, -0.019242f, -0.001817f, 0.016645f, -0.001537f, + 0.056759f, 0.015948f, 0.008378f, -0.044020f, 0.002939f, 0.000439f, 0.021219f, 0.027968f, -0.020879f, -0.006765f, 0.008583f, -0.008932f, -0.000124f, 0.031761f, 0.011294f, -0.031167f, 0.008042f, 0.016620f, -0.015144f, 0.049329f, -0.017139f, -0.026195f, -0.037060f, 0.027426f, -0.006030f, -0.030885f, -0.024695f, -0.005508f, -0.001262f, -0.012216f, 0.000621f, -0.013310f, 0.002502f, -0.018578f, 0.001200f, 0.009261f, -0.006557f, 0.007320f, 0.001326f, -0.011185f, 0.001164f, -0.000053f, -0.002269f, 0.001333f, -0.007776f, 0.009417f, 0.000004f, -0.004614f, 0.010539f, 0.010916f, 0.000405f, -0.002847f, 0.004673f, -0.010036f, -0.004299f, -0.008036f, -0.001606f, 0.008525f, -0.006670f, 0.003808f, 0.008218f, -0.015154f, -0.005517f, -0.003014f, 0.002478f, -0.002750f, 0.006555f, 0.014949f, -0.004212f, -0.008707f, -0.004335f, 0.009709f, 0.002704f, 0.001049f, 0.007665f, -0.004293f, -0.003173f, -0.002637f, -0.004301f, -0.003438f, 0.006725f, 0.058441f, 0.027549f, -0.015219f, -0.005039f, -0.053720f, 0.004081f, 0.014344f, 0.003642f, 0.080376f, -0.010266f, -0.005989f, -0.035383f, -0.030387f, 0.012388f, -0.024836f, + -0.015342f, -0.016636f, -0.011367f, 0.020014f, -0.013155f, -0.022843f, -0.019890f, 0.001848f, 0.019993f, -0.025851f, 0.005700f, 0.011763f, 0.002461f, 0.029011f, -0.003503f, 0.002313f, -0.029585f, -0.041405f, -0.017212f, 0.019019f, -0.023012f, 0.005572f, -0.019350f, -0.072327f, -0.039113f, 0.021702f, 0.001388f, -0.041446f, 0.006226f, 0.057752f, -0.002837f, -0.001499f, -0.022724f, 0.012630f, -0.025062f, -0.044612f, 0.000941f, 0.006763f, -0.017496f, 0.008543f, 0.016595f, -0.004159f, -0.014782f, 0.012005f, 0.015411f, 0.028942f, -0.016878f, 0.021737f, 0.027699f, 0.011719f, 0.048325f, 0.005403f, -0.030400f, 0.035348f, 0.001916f, 0.005874f, -0.006677f, -0.007182f, 0.021644f, -0.021704f, -0.003336f, 0.053794f, 0.042010f, -0.026209f, 0.026804f, -0.007878f, 0.049746f, 0.020985f, -0.017567f, -0.039996f, -0.001976f, -0.014679f, -0.017570f, 0.011173f, -0.015857f, -0.000563f, -0.004242f, -0.014047f, -0.023622f, -0.004676f, 0.019538f, -0.021394f, -0.000134f, -0.013332f, 0.001778f, 0.008222f, -0.008868f, -0.025030f, -0.004646f, -0.011919f, 0.014914f, 0.009052f, -0.006329f, -0.016625f, -0.007106f, -0.017884f, + 0.010416f, -0.008866f, 0.005536f, 0.006807f, 0.009910f, 0.007956f, -0.014058f, -0.009949f, -0.015762f, 0.004397f, 0.009672f, 0.001106f, 0.019521f, 0.020796f, 0.011127f, 0.008319f, -0.005704f, 0.010993f, -0.001591f, -0.005608f, -0.042473f, -0.043905f, -0.053692f, 0.073820f, -0.041108f, 0.010206f, -0.002795f, -0.022716f, 0.036653f, -0.043160f, 0.018385f, 0.078484f, 0.047415f, 0.011706f, -0.063684f, -0.002965f, -0.042193f, -0.020551f, -0.038569f, -0.003022f, 0.010305f, -0.006253f, 0.029418f, -0.013782f, 0.004476f, 0.015402f, 0.041324f, 0.006433f, 0.005284f, 0.051237f, -0.033807f, -0.004098f, 0.021845f, -0.009134f, -0.026318f, -0.016539f, 0.025035f, -0.021593f, 0.010232f, 0.043976f, -0.012519f, -0.077467f, -0.005228f, 0.020210f, -0.096404f, 0.058563f, 0.044205f, -0.035735f, 0.059069f, 0.041005f, 0.026121f, 0.062407f, 0.000900f, 0.032398f, 0.003234f, 0.004422f, 0.021821f, -0.038555f, 0.038740f, 0.053876f, 0.040522f, -0.041549f, -0.008669f, 0.059155f, -0.028774f, 0.047055f, 0.042106f, 0.100054f, 0.059545f, 0.004124f, 0.006493f, -0.012134f, 0.012088f, 0.018022f, -0.057961f, -0.081690f, + -0.029070f, 0.007893f, 0.002717f, -0.011115f, 0.064138f, 0.031139f, 0.011803f, -0.027617f, 0.025232f, -0.019349f, -0.025810f, -0.012260f, 0.028866f, 0.034774f, 0.006237f, -0.005356f, -0.006869f, 0.001792f, -0.040266f, -0.008681f, -0.010624f, 0.013713f, 0.007126f, -0.019937f, -0.016088f, -0.000167f, 0.031212f, -0.007968f, -0.012420f, 0.001655f, -0.012846f, -0.031091f, 0.015709f, -0.006047f, -0.012747f, -0.017872f, -0.000141f, 0.011456f, 0.001841f, -0.055881f, -0.003455f, 0.028838f, -0.004476f, 0.002007f, 0.004448f, 0.009007f, 0.023586f, 0.019849f, 0.000627f, 0.000663f, -0.009336f, -0.002007f, 0.004634f, 0.045003f, 0.055045f, -0.108253f, -0.099662f, 0.043643f, -0.028828f, -0.031003f, -0.013288f, -0.037524f, 0.013189f, -0.060969f, 0.077129f, 0.029405f, -0.032477f, -0.000371f, -0.031767f, -0.023391f, -0.025644f, -0.028768f, -0.019077f, -0.073580f, -0.066627f, -0.012046f, -0.015287f, 0.004575f, 0.006114f, 0.013206f, -0.004854f, 0.009788f, 0.012198f, 0.033254f, 0.036252f, -0.013370f, -0.018570f, -0.021196f, -0.018453f, -0.041450f, 0.062104f, -0.021602f, 0.015044f, 0.046615f, 0.043563f, -0.016192f, + -0.018847f, -0.034430f, -0.022988f, -0.028195f, 0.047733f, 0.005503f, 0.005799f, -0.058799f, -0.021099f, 0.085994f, -0.008393f, 0.080093f, -0.016182f, -0.029431f, -0.018908f, -0.033320f, -0.034633f, -0.005911f, 0.000317f, -0.047087f, 0.003935f, 0.023153f, -0.001975f, 0.018297f, -0.109730f, -0.043879f, -0.030743f, 0.058702f, -0.013945f, 0.010047f, 0.019882f, 0.091907f, 0.025935f, -0.007959f, -0.009314f, 0.079217f, 0.047572f, 0.012095f, 0.015384f, -0.003545f, 0.062550f, -0.025569f, -0.035612f, 0.019772f, 0.029436f, 0.052689f, 0.048613f, -0.027944f, 0.033022f, 0.025161f, 0.026636f, 0.008421f, -0.018889f, -0.036968f, -0.031730f, 0.020365f, 0.027600f, 0.015220f, 0.010012f, 0.032998f, -0.003057f, -0.008428f, -0.001702f, -0.002149f, 0.017070f, 0.010713f, 0.022239f, 0.039128f, 0.027416f, 0.044683f, 0.012120f, -0.039081f, 0.012818f, 0.011187f, 0.034718f, -0.000052f, 0.027276f, 0.012134f, 0.026259f, 0.001218f, -0.049577f, -0.005819f, -0.010641f, -0.002712f, -0.022157f, -0.012656f, -0.057324f, 0.119086f, -0.038443f, -0.023936f, 0.070602f, -0.044777f, -0.067553f, 0.062638f, -0.090943f, -0.026337f, + 0.021444f, 0.015583f, -0.063443f, -0.024921f, 0.054453f, 0.000312f, -0.010742f, -0.035461f, 0.042729f, -0.042445f, 0.002792f, 0.033605f, -0.011253f, 0.030851f, 0.000192f, -0.015306f, 0.010316f, 0.007292f, -0.018463f, 0.029329f, -0.016210f, -0.006602f, 0.008724f, -0.000631f, 0.001771f, -0.005570f, 0.008661f, 0.018592f, 0.030073f, 0.043336f, 0.021207f, -0.017974f, -0.005082f, -0.027574f, 0.025351f, -0.009206f, -0.039860f, 0.009287f, 0.000063f, -0.022705f, -0.054468f, 0.038226f, 0.002783f, -0.025205f, 0.061320f, 0.003488f, -0.019149f, -0.011131f, 0.090867f, -0.085175f, -0.091791f, 0.055842f, 0.087074f, -0.160984f, 0.000621f, -0.059612f, -0.054262f, -0.023977f, 0.058382f, -0.045269f, 0.077313f, -0.010998f, -0.002117f, 0.104134f, -0.029625f, -0.080654f, 0.099897f, 0.117912f, -0.114766f, 0.128016f, -0.043389f, 0.003153f, 0.105575f, -0.035417f, -0.040777f, 0.029034f, 0.028160f, -0.013593f, -0.005648f, 0.019670f, 0.003599f, 0.002542f, -0.025518f, 0.034853f, -0.000138f, -0.002223f, 0.000311f, 0.004738f, 0.015356f, 0.009591f, -0.013084f, -0.013794f, 0.014239f, 0.034812f, -0.030471f, -0.027744f, + -0.007922f, 0.036477f, -0.001725f, 0.019563f, -0.005737f, 0.008259f, -0.000338f, 0.008467f, -0.004649f, -0.006182f, -0.043470f, -0.017812f, 0.010218f, -0.015268f, -0.004893f, -0.014992f, -0.023794f, 0.036591f, 0.022073f, -0.062837f, 0.024576f, 0.033117f, -0.007090f, 0.000143f, -0.022947f, 0.032861f, 0.070221f, -0.032469f, -0.045548f, -0.011679f, 0.010607f, 0.072706f, 0.053173f, -0.018132f, -0.006364f, 0.023177f, 0.057993f, -0.018838f, -0.003905f, 0.036647f, -0.046692f, -0.038918f, 0.030975f, -0.020329f, -0.016303f, -0.018660f, -0.002346f, -0.031198f, 0.001963f, 0.022607f, -0.014003f, 0.017630f, -0.015599f, -0.008701f, -0.010037f, -0.043401f, 0.006028f, -0.017131f, 0.026525f, 0.058547f, 0.002659f, 0.029561f, 0.023367f, 0.002970f, 0.010407f, 0.018858f, 0.060812f, -0.042608f, 0.029129f, 0.026846f, -0.031905f, 0.021808f, 0.019968f, 0.007329f, -0.028364f, -0.054927f, -0.056855f, 0.019409f, 0.019727f, -0.020457f, -0.094681f, 0.077440f, -0.026278f, -0.040421f, -0.024320f, 0.077914f, -0.036727f, 0.085133f, -0.000473f, 0.029185f, -0.079793f, 0.075861f, -0.034821f, 0.034117f, -0.010622f, -0.107611f, + -0.034674f, 0.022303f, -0.067510f, 0.069871f, 0.006934f, -0.098548f, -0.112350f, -0.056604f, 0.077305f, 0.020189f, -0.069917f, 0.085663f, -0.091527f, -0.003474f, 0.163965f, 0.025631f, 0.008887f, 0.017391f, 0.012007f, -0.042103f, 0.044489f, 0.004407f, 0.022513f, -0.027879f, 0.042751f, -0.022761f, -0.023202f, -0.017941f, -0.002870f, -0.000046f, 0.012642f, -0.003176f, -0.006795f, 0.009662f, -0.015497f, -0.029943f, 0.027896f, -0.009239f, -0.005306f, -0.035715f, 0.016456f, 0.009475f, 0.015600f, 0.005682f, 0.018070f, -0.012403f, 0.003939f, 0.052469f, -0.006372f, 0.001906f, 0.026685f, -0.027663f, -0.006535f, 0.002925f, -0.003320f, 0.021343f, -0.020972f, 0.023815f, -0.008208f, -0.056288f, 0.003344f, -0.013556f, 0.025485f, 0.019872f, 0.017297f, -0.019551f, 0.022653f, -0.036214f, -0.068334f, -0.000032f, -0.072614f, 0.019683f, -0.006244f, -0.013371f, 0.024608f, 0.039922f, -0.025588f, 0.005435f, 0.044471f, -0.035025f, 0.060229f, -0.008362f, -0.065809f, 0.056275f, -0.027043f, -0.012486f, 0.050632f, -0.064993f, 0.017225f, 0.000714f, 0.023632f, -0.010539f, -0.023544f, -0.099014f, 0.022789f, -0.041104f, + -0.098902f, 0.119343f, -0.080464f, -0.033996f, -0.015861f, -0.027681f, -0.060712f, 0.033722f, 0.082774f, -0.051582f, 0.023317f, -0.074635f, -0.041860f, -0.042720f, 0.037454f, 0.006275f, 0.108540f, -0.019114f, -0.008961f, -0.032817f, -0.093469f, -0.000363f, 0.045549f, -0.035053f, 0.038235f, 0.045430f, -0.038697f, 0.003379f, -0.033002f, -0.138688f, -0.072463f, -0.043035f, -0.145184f, 0.092306f, 0.122283f, 0.056995f, -0.123121f, -0.099490f, -0.220878f, 0.031405f, 0.262557f, 0.120920f, 0.046362f, -0.069574f, -0.242302f, -0.055583f, 0.056035f, 0.165029f, 0.165990f, -0.113417f, -0.095536f, -0.044910f, 0.021583f, 0.010851f, 0.180291f, 0.002435f, -0.022100f, 0.014078f, -0.018011f, -0.044661f, 0.063319f, 0.010769f, -0.013765f, 0.034485f, -0.028945f, -0.049770f, 0.034644f, 0.029489f, -0.083864f, 0.055686f, -0.012738f, -0.019105f, -0.044813f, 0.046642f, -0.045295f, 0.053473f, -0.026931f, 0.054737f, -0.065677f, 0.025438f, -0.018592f, 0.000132f, 0.046926f, 0.076561f, 0.021543f, -0.029495f, -0.020815f, -0.005594f, 0.042318f, -0.007623f, 0.061005f, -0.048862f, -0.038292f, 0.016859f, 0.060414f, 0.006322f, + 0.036606f, -0.049149f, -0.014603f, -0.016331f, 0.037516f, -0.003277f, 0.005582f, -0.011486f, -0.104589f, 0.076048f, -0.015430f, -0.015872f, 0.001243f, 0.034603f, 0.000018f, -0.005867f, 0.024508f, 0.009285f, 0.007749f, 0.040712f, -0.026010f, 0.000365f, 0.020189f, -0.006605f, -0.004397f, 0.025914f, -0.024070f, -0.005039f, 0.006494f, 0.040368f, -0.026864f, -0.017979f, 0.021623f, -0.000393f, 0.011873f, -0.038683f, 0.050997f, -0.011642f, 0.016810f, -0.010618f, 0.006046f, 0.028781f, 0.011775f, -0.005946f, 0.023594f, -0.008556f, 0.023855f, -0.018613f, -0.002038f, 0.025893f, -0.006409f, -0.009844f, -0.051537f, 0.005816f, 0.038787f, 0.004769f, 0.017867f, -0.025145f, -0.008772f, -0.014800f, -0.016787f, -0.006005f, 0.027903f, -0.009762f, 0.016778f, -0.021810f, -0.027401f, -0.010874f, 0.005799f, 0.052728f, -0.020559f, 0.024326f, 0.000990f, 0.005820f, -0.026038f, 0.014553f, 0.026470f, 0.002095f, -0.025188f, 0.019666f, -0.016972f, 0.013396f, -0.010574f, -0.006604f, -0.010138f, 0.004174f, 0.018408f, -0.008910f, -0.005423f, 0.009418f, -0.001690f, -0.013761f, -0.003637f, 0.014804f, 0.011461f, -0.011841f, + 0.001574f, 0.013590f, -0.000012f, -0.007204f, 0.001541f, -0.011911f, 0.008876f, -0.000111f, 0.004275f, -0.005037f, 0.001917f, 0.008915f, -0.004648f, 0.010332f, 0.001312f, 0.009490f, 0.006183f, -0.013518f, -0.014960f, -0.004183f, 0.024706f, -0.015353f, 0.017006f, 0.014748f, -0.010770f, -0.025329f, 0.019231f, -0.015998f, 0.021799f, -0.001347f, -0.004217f, -0.008437f, 0.003208f, 0.004465f, -0.001864f, -0.002221f, 0.001390f, 0.003009f, -0.010487f, 0.099084f, 0.019555f, -0.052950f, -0.037783f, -0.058493f, -0.018679f, 0.011373f, 0.031020f, -0.009626f, -0.012674f, -0.010741f, -0.010536f, -0.009780f, 0.014129f, -0.007131f, -0.002082f, -0.003045f, -0.010402f, -0.002375f, 0.015542f, 0.002325f, -0.004611f, -0.015540f, 0.017852f, -0.023182f, 0.013591f, -0.008227f, -0.022920f, 0.000178f, 0.010328f, 0.011788f, 0.009083f, -0.013414f, 0.002929f, -0.004250f, -0.007464f, 0.027577f, -0.024564f, -0.004397f, -0.001068f, -0.001621f, 0.002509f, -0.004028f, -0.014453f, 0.012178f, -0.022864f, 0.021811f, -0.003248f, -0.015205f, 0.005215f, -0.007813f, 0.019287f, -0.011249f, -0.006895f, 0.020949f, -0.018768f, 0.006575f, + -0.009008f, -0.001994f, 0.015973f, -0.011376f, -0.004590f, 0.014422f, -0.009895f, 0.003842f, 0.001441f, -0.011595f, 0.028324f, -0.024705f, -0.002147f, 0.010981f, -0.006331f, 0.018188f, -0.008249f, -0.003932f, 0.004714f, 0.006050f, -0.001980f, 0.004087f, -0.001629f, -0.007961f, 0.007179f, 0.000065f, 0.000682f, 0.004022f, -0.000537f, 0.005731f, -0.005728f, 0.001736f, 0.001118f, 0.001348f, -0.000721f, -0.003453f, 0.004610f, -0.000589f, -0.001237f, -0.003271f, 0.004075f, 0.006744f, -0.002276f, -0.003336f, 0.002065f, 0.003974f, -0.004926f, 0.004143f, -0.003719f, -0.003116f, 0.010659f, -0.001555f, 0.003926f, 0.005704f, -0.007397f, 0.018236f, -0.005975f, -0.000871f, -0.000929f, -0.010397f, 0.010830f, -0.006689f, -0.010872f, 0.009741f, -0.046898f, -0.070354f, 0.092228f, 0.287907f, 0.024602f, 0.025112f, -0.196282f, -0.248174f, -0.051763f, -0.052523f, 0.146175f, 0.248923f, 0.127667f, 0.024640f, -0.090088f, -0.175162f, -0.123720f, -0.088371f, -0.004629f, 0.121306f, 0.177140f, 0.095811f, 0.021903f, -0.062060f, -0.110453f, -0.061767f, -0.059522f, -0.055650f, 0.035177f, 0.072252f, 0.071117f, 0.071744f, + 0.017201f, -0.031010f, -0.012785f, -0.047162f, -0.073964f, -0.008125f, -0.022077f, -0.014853f, 0.066726f, 0.038640f, 0.055740f, 0.033895f, -0.025313f, -0.060765f, -0.014679f, -0.039469f, -0.006134f, 0.027729f, 0.008450f, 0.015017f, 0.030144f, -0.015218f, -0.021427f, -0.004850f, -0.012598f, 0.012253f, 0.019458f, 0.001136f, 0.024026f, 0.014349f, -0.025263f, -0.024203f, -0.038715f, -0.033009f, 0.001453f, 0.040008f, 0.060500f, 0.029236f, 0.007640f, -0.013980f, -0.040522f, -0.006863f, -0.045688f, -0.027933f, 0.021496f, 0.016965f, 0.051150f, 0.017329f, -0.013029f, 0.015170f, -0.026531f, -0.045927f, 0.008095f, 0.011770f, 0.015427f, 0.014364f, -0.002884f, -0.005650f, -0.004406f, -0.019033f, -0.014668f, 0.010143f, 0.015614f, 0.015813f, 0.015935f, -0.004305f, -0.015401f, -0.010096f, -0.005912f, 0.000523f, -0.000317f, -0.017304f, 0.004468f, 0.022061f, 0.011846f, 0.013777f, -0.004057f, -0.021952f, -0.012817f, -0.012905f, 0.005111f, 0.015617f, 0.010230f, 0.009703f, 0.004159f, -0.003020f, -0.016726f, -0.021917f, -0.010075f, 0.001499f, 0.013667f, 0.021912f, 0.013355f, 0.013569f, 0.008500f, -0.013679f, + -0.025649f, -0.032804f, -0.021333f, 0.009393f, 0.018521f, 0.024148f, 0.033295f, 0.010289f, -0.009920f, -0.016607f, -0.013560f, -0.009913f, -0.009477f, -0.009500f, -0.002740f, 0.007643f, 0.014751f, 0.013151f, 0.010250f, 0.007299f, 0.001725f, -0.009040f, -0.016019f, -0.015321f, -0.007795f, -0.000093f, 0.006948f, 0.009488f, 0.008704f, 0.004634f, 0.002840f, 0.001163f, -0.001336f, -0.005774f, -0.007138f, -0.005817f, -0.001947f, 0.002510f, 0.004334f, 0.003594f, 0.000896f, -0.000930f, 0.000693f, 0.000602f, 0.000984f, 0.000412f, -0.001385f, -0.002730f, -0.000867f, 0.001436f, 0.000438f, -0.002234f, -0.001136f, 0.000654f, 0.000561f, -0.000289f, 0.001781f, 0.003880f, 0.003580f, -0.001521f, -0.004076f, -0.003094f, -0.001024f, -0.000158f, -0.000027f, -0.000350f, 0.001214f, 0.002635f, 0.002610f, 0.000399f, -0.000503f, -0.000459f, -0.001080f, -0.002011f, -0.001607f, -0.001019f, 0.000453f, 0.001035f, 0.001849f, 0.001472f, 0.000548f, -0.000394f, -0.000497f, -0.001164f, -0.001015f, -0.000911f, 0.000047f, 0.000713f, 0.001224f, 0.000473f, 0.000163f, -0.000488f, -0.000494f, -0.000712f, -0.000017f, 0.000399f, + 0.000724f, 0.000182f, 0.000166f, -0.000290f, -0.000305f, -0.000497f, 0.000019f, -0.000005f, 0.000239f, 0.000030f, 0.000212f, -0.000081f, 0.000093f, -0.000147f, 0.000068f, -0.000129f}, + {0.002302f, 0.006414f, 0.004973f, -0.001641f, 0.003807f, 0.001840f, 0.010993f, -0.001906f, -0.000309f, 0.001402f, 0.008041f, -0.001579f, -0.008420f, -0.003895f, -0.008083f, 0.001978f, -0.002887f, -0.000662f, -0.001033f, 0.001960f, 0.000765f, 0.001649f, 0.004661f, 0.008602f, -0.003832f, -0.002104f, 0.001703f, -0.004046f, -0.000572f, 0.006711f, -0.003653f, 0.008293f, 0.000842f, -0.002966f, 0.005491f, -0.007506f, -0.001935f, -0.005228f, 0.007335f, -0.000214f, -0.002722f, -0.001993f, 0.000080f, 0.006831f, 0.000268f, 0.008221f, 0.003149f, -0.006750f, 0.005463f, -0.002949f, -0.005051f, -0.004119f, 0.005617f, -0.001169f, 0.017913f, 0.001905f, 0.004500f, 0.003264f, -0.008355f, 0.000127f, -0.001236f, 0.002189f, -0.004746f, -0.003202f, 0.009334f, 0.007653f, 0.000689f, 0.003184f, -0.000858f, 0.004765f, -0.007706f, 0.000791f, 0.005783f, 0.003652f, 0.000587f, -0.000589f, 0.004121f, -0.006529f, -0.003015f, 0.006965f, -0.004577f, 0.001488f, 0.003386f, 0.004123f, 0.001262f, -0.005218f, -0.003486f, 0.002762f, 0.000606f, 0.002739f, -0.000832f, 0.000794f, -0.002612f, -0.000138f, -0.001303f, -0.000760f, + 0.001485f, 0.002873f, 0.001203f, -0.001655f, -0.000649f, -0.001117f, 0.000672f, 0.001761f, -0.001039f, 0.001302f, 0.000946f, 0.001832f, -0.000261f, 0.002195f, -0.000890f, 0.000556f, 0.001340f, 0.001722f, -0.013683f, -0.012329f, -0.007691f, -0.006983f, -0.006072f, 0.002333f, 0.008613f, 0.017593f, 0.003358f, 0.004543f, -0.000052f, -0.012546f, -0.005271f, -0.004657f, -0.011294f, 0.017553f, 0.004646f, 0.006974f, 0.004800f, -0.003878f, 0.001768f, 0.016803f, 0.006687f, -0.003952f, -0.000344f, -0.004076f, 0.000332f, -0.007776f, 0.004656f, -0.002454f, -0.003506f, 0.000664f, 0.008906f, 0.000942f, 0.003092f, 0.005593f, 0.007717f, -0.013872f, 0.000156f, 0.003521f, 0.008047f, 0.012401f, -0.006925f, -0.001402f, -0.003368f, 0.010343f, 0.005579f, 0.006669f, -0.001129f, 0.003091f, 0.020665f, -0.013072f, 0.002596f, 0.001216f, -0.008763f, 0.003720f, -0.012233f, -0.001645f, 0.003108f, -0.002645f, -0.018432f, 0.005159f, 0.001247f, -0.004980f, -0.005127f, -0.000855f, -0.002795f, 0.006212f, -0.005865f, -0.002591f, 0.001787f, -0.000200f, -0.005707f, -0.000281f, 0.004628f, -0.007715f, 0.000657f, -0.002111f, + -0.001875f, -0.002408f, -0.001386f, 0.001166f, -0.004522f, -0.003397f, 0.000639f, -0.002702f, -0.003584f, -0.003670f, -0.001282f, -0.002443f, 0.004442f, -0.003956f, -0.001143f, 0.000617f, 0.002217f, -0.000277f, 0.000123f, -0.001392f, 0.000242f, -0.002381f, 0.001746f, -0.001601f, -0.001587f, -0.000475f, -0.003481f, 0.018616f, 0.001552f, 0.006726f, -0.000850f, -0.004904f, 0.000320f, 0.013101f, 0.006589f, 0.008479f, 0.013389f, -0.005878f, 0.000058f, 0.013147f, 0.004103f, 0.005815f, 0.000666f, 0.001679f, 0.007585f, -0.006867f, -0.002121f, 0.009793f, -0.006696f, 0.003869f, 0.005459f, -0.004077f, 0.003993f, 0.013106f, -0.006255f, 0.004882f, 0.000961f, 0.000574f, 0.000094f, -0.002650f, -0.008971f, -0.002692f, -0.007527f, -0.000722f, 0.003048f, 0.006308f, 0.006532f, -0.001127f, -0.011231f, -0.000963f, 0.016231f, -0.005986f, 0.003225f, -0.002871f, -0.017212f, 0.010068f, 0.002454f, 0.007488f, -0.001307f, 0.008519f, 0.008194f, -0.014545f, 0.005769f, 0.000484f, 0.005412f, -0.001044f, -0.010285f, -0.000453f, -0.001494f, -0.001847f, -0.001979f, 0.006560f, -0.000078f, 0.001305f, 0.013202f, 0.002595f, + 0.010489f, 0.000367f, 0.000983f, 0.002044f, -0.005814f, -0.009072f, 0.006195f, -0.006860f, 0.004062f, 0.002580f, -0.000388f, 0.004363f, -0.004625f, -0.002592f, 0.002887f, 0.000174f, -0.008812f, 0.002856f, 0.001015f, 0.001162f, -0.001800f, 0.003835f, 0.000342f, -0.001499f, 0.004225f, -0.000946f, -0.000385f, -0.003512f, 0.001246f, -0.001742f, 0.000594f, 0.000048f, -0.000538f, 0.000869f, -0.001358f, 0.002314f, 0.000515f, -0.000881f, 0.000651f, -0.000520f, 0.000238f, -0.000085f, -0.001420f, -0.000114f, 0.030424f, 0.016999f, 0.026043f, 0.008374f, -0.010711f, 0.005466f, -0.004761f, 0.000683f, 0.002587f, -0.022196f, -0.005840f, -0.006142f, 0.005787f, 0.008664f, -0.003519f, -0.000549f, 0.002996f, 0.000666f, 0.015925f, -0.001781f, -0.016549f, 0.005384f, -0.009535f, 0.007358f, 0.008505f, 0.006697f, 0.009898f, -0.002386f, -0.003311f, 0.003960f, -0.002856f, -0.003886f, 0.002916f, -0.002600f, 0.005984f, 0.008423f, -0.003550f, -0.012814f, 0.004223f, -0.012461f, -0.007918f, -0.001577f, -0.025795f, 0.000246f, -0.004266f, 0.010151f, 0.009799f, 0.004679f, 0.015980f, 0.015964f, 0.007190f, 0.003557f, + -0.001036f, 0.000781f, 0.001024f, -0.007235f, 0.014945f, -0.001969f, 0.005283f, -0.004690f, -0.005517f, -0.002026f, -0.008331f, 0.007484f, -0.003776f, -0.003117f, 0.014676f, -0.012086f, -0.003567f, 0.003101f, -0.005400f, -0.001656f, -0.000291f, 0.005121f, 0.006172f, 0.004068f, 0.010513f, -0.003355f, -0.002648f, -0.001465f, -0.006339f, 0.003482f, 0.006825f, 0.009169f, 0.000018f, -0.001332f, -0.001745f, 0.000164f, 0.002168f, 0.001980f, -0.002535f, 0.003094f, 0.000172f, 0.002252f, 0.002076f, -0.000303f, -0.000497f, 0.003992f, -0.000903f, 0.002056f, 0.001846f, 0.001902f, 0.001860f, -0.001037f, 0.001714f, 0.006710f, -0.000241f, 0.000423f, 0.001036f, 0.004986f, 0.001140f, -0.000992f, -0.003209f, 0.002670f, 0.002160f, -0.001062f, 0.001151f, -0.011257f, -0.026912f, -0.009215f, -0.003064f, 0.004071f, -0.003586f, 0.008345f, -0.002048f, 0.013297f, -0.011996f, 0.007165f, -0.003167f, 0.024221f, 0.009781f, -0.004988f, -0.010519f, 0.005787f, -0.014855f, -0.007574f, 0.005383f, -0.004915f, -0.008956f, 0.016817f, 0.006675f, -0.000733f, -0.007894f, -0.010145f, 0.006801f, 0.005625f, 0.005022f, -0.000242f, + -0.002800f, -0.006191f, 0.009545f, -0.012534f, -0.005677f, -0.000388f, 0.008850f, 0.007135f, -0.000855f, 0.010189f, 0.001060f, -0.004472f, 0.001837f, -0.004454f, -0.005040f, -0.005424f, 0.006846f, -0.004961f, -0.000352f, 0.009498f, 0.013707f, 0.014413f, 0.005649f, 0.005235f, -0.001093f, 0.008249f, -0.003398f, 0.011778f, -0.002169f, 0.007582f, 0.005541f, -0.004570f, 0.000448f, -0.005025f, 0.005489f, 0.005116f, 0.001832f, -0.001588f, -0.009872f, 0.007080f, -0.010729f, -0.001066f, -0.011595f, 0.004430f, -0.000970f, -0.000879f, 0.002065f, -0.009515f, 0.000338f, 0.002766f, 0.015709f, 0.005367f, 0.002561f, 0.003989f, 0.006074f, 0.002962f, 0.003111f, -0.004470f, 0.003462f, 0.002938f, -0.006564f, -0.000300f, 0.000273f, 0.001631f, 0.002701f, -0.002948f, 0.001989f, -0.001819f, 0.000383f, -0.000139f, 0.003939f, 0.000675f, 0.000450f, 0.000739f, 0.001296f, -0.000572f, 0.003576f, -0.001718f, 0.001317f, 0.001672f, 0.003451f, 0.001929f, 0.004808f, -0.003237f, 0.001769f, -0.000555f, 0.005553f, 0.002419f, 0.001962f, -0.000446f, -0.000811f, 0.000718f, -0.001115f, -0.000881f, -0.003721f, -0.012428f, + -0.026060f, -0.021067f, 0.001334f, -0.018002f, -0.008839f, -0.025489f, -0.013541f, -0.015541f, 0.006204f, -0.008310f, -0.011010f, -0.003792f, 0.000634f, -0.006565f, -0.024712f, 0.006633f, -0.004346f, 0.002477f, -0.011168f, 0.011159f, 0.004170f, 0.000247f, -0.009930f, -0.004442f, 0.012697f, 0.008632f, 0.000598f, -0.001886f, -0.008458f, 0.005299f, 0.002786f, 0.005489f, -0.010132f, -0.000941f, -0.008222f, -0.007407f, -0.008041f, 0.000849f, 0.016447f, -0.013369f, 0.000331f, -0.012734f, 0.001349f, 0.005950f, 0.007487f, -0.013425f, 0.013566f, 0.016433f, -0.005366f, -0.003884f, -0.002818f, -0.000626f, 0.005266f, 0.006648f, 0.001689f, 0.004533f, -0.007953f, -0.001528f, -0.002922f, 0.014153f, -0.004373f, 0.015662f, -0.000350f, -0.004765f, 0.012521f, -0.001268f, -0.007408f, 0.002703f, 0.013564f, 0.015599f, -0.001115f, -0.004831f, -0.008422f, 0.005402f, -0.011258f, -0.001079f, 0.007626f, -0.005751f, 0.003466f, -0.000355f, -0.000015f, -0.004611f, 0.000158f, -0.003563f, -0.005605f, -0.000526f, 0.004845f, 0.002585f, 0.004828f, -0.002081f, -0.001485f, -0.003762f, 0.001553f, -0.003027f, 0.005028f, 0.002586f, + 0.007002f, 0.000718f, -0.001555f, -0.000554f, -0.001163f, -0.002392f, 0.003247f, -0.002106f, -0.001182f, 0.001373f, 0.001138f, -0.003347f, -0.001119f, 0.000990f, 0.000181f, -0.001811f, -0.003232f, -0.000127f, -0.002973f, -0.002027f, -0.001198f, 0.004082f, -0.000209f, 0.001470f, 0.001286f, 0.000260f, -0.002299f, -0.000623f, -0.000197f, -0.019970f, -0.020222f, -0.022980f, 0.006631f, -0.018578f, -0.007987f, 0.018202f, 0.008609f, -0.020182f, -0.001550f, 0.000373f, 0.008763f, 0.013483f, 0.022554f, -0.005980f, -0.008357f, -0.022184f, -0.027623f, -0.016044f, -0.005706f, 0.011355f, -0.011317f, 0.005549f, -0.015997f, 0.016598f, -0.012053f, 0.013360f, -0.006311f, 0.002009f, 0.003255f, -0.002497f, -0.011893f, 0.018697f, -0.016199f, -0.000660f, -0.008732f, 0.002414f, -0.010142f, 0.002432f, -0.040287f, 0.000788f, 0.018474f, -0.023732f, 0.005265f, 0.016437f, 0.005671f, -0.012302f, -0.001566f, 0.019755f, -0.024372f, 0.000039f, 0.009721f, 0.009616f, 0.009127f, -0.003378f, -0.003681f, -0.015534f, -0.007944f, 0.006520f, 0.010496f, 0.017105f, 0.020552f, -0.030426f, 0.011435f, -0.009113f, 0.002056f, -0.021426f, + -0.008934f, 0.017823f, 0.004146f, 0.002530f, -0.012006f, 0.000105f, 0.011250f, 0.008411f, 0.004917f, -0.010571f, -0.007076f, 0.011182f, -0.003134f, -0.004618f, -0.002590f, -0.007766f, 0.006499f, -0.001218f, -0.006393f, -0.002302f, -0.002322f, 0.001672f, -0.004205f, -0.004196f, 0.001278f, 0.001582f, 0.001509f, -0.002368f, -0.003743f, 0.003085f, -0.002467f, -0.008052f, -0.000918f, -0.002365f, 0.004708f, -0.003716f, 0.000047f, 0.000430f, 0.001756f, -0.005037f, -0.003061f, -0.001802f, 0.000327f, 0.005412f, -0.000845f, -0.001261f, 0.003102f, 0.000079f, 0.003044f, -0.001527f, -0.003832f, -0.001352f, -0.006345f, 0.001388f, -0.000277f, -0.004258f, 0.002373f, 0.023967f, 0.039952f, 0.022241f, 0.026036f, 0.003974f, 0.009233f, 0.035056f, -0.001117f, 0.001054f, 0.023971f, -0.011725f, 0.000037f, 0.006904f, 0.011939f, 0.019796f, -0.016129f, -0.022964f, 0.012639f, 0.007035f, -0.013359f, 0.002863f, 0.008168f, -0.005113f, 0.004684f, -0.012363f, -0.002819f, -0.014441f, 0.004419f, 0.015741f, 0.004870f, 0.013788f, 0.010636f, 0.011221f, -0.027338f, 0.001433f, 0.031769f, -0.003782f, -0.000592f, 0.029630f, + -0.003929f, -0.001048f, 0.004366f, -0.003905f, -0.000894f, 0.016401f, 0.025738f, -0.025309f, -0.004150f, 0.005051f, -0.007794f, 0.011948f, -0.004048f, 0.001175f, 0.001852f, -0.005519f, 0.022655f, -0.002906f, -0.008287f, 0.008498f, -0.008593f, -0.014151f, 0.004854f, 0.015453f, 0.005815f, -0.001720f, 0.003104f, 0.014785f, 0.007698f, 0.013245f, 0.003969f, 0.001645f, -0.000179f, -0.012999f, -0.002718f, -0.010186f, -0.002358f, -0.004281f, -0.023179f, -0.010031f, 0.001464f, 0.014923f, -0.006166f, 0.005764f, -0.003999f, -0.012251f, 0.005402f, 0.001318f, -0.003924f, 0.001910f, -0.007487f, 0.000359f, 0.001822f, 0.004558f, 0.006482f, -0.001578f, 0.004165f, -0.005642f, -0.008358f, -0.009990f, -0.001089f, 0.008985f, -0.001662f, -0.000744f, 0.002978f, 0.000453f, 0.000960f, 0.004810f, -0.002388f, -0.000948f, -0.002686f, 0.006928f, 0.000127f, -0.001099f, 0.000785f, -0.001835f, -0.003760f, -0.004547f, 0.001812f, 0.003887f, 0.004904f, 0.002638f, 0.001922f, -0.000967f, -0.000356f, -0.000029f, -0.001651f, -0.006987f, 0.002199f, 0.067435f, 0.009359f, -0.001455f, -0.000404f, -0.032389f, -0.009469f, 0.003102f, + -0.007554f, 0.014256f, 0.006276f, 0.023120f, -0.002959f, 0.000001f, -0.005010f, -0.009825f, 0.015512f, 0.002878f, 0.005919f, 0.008675f, 0.012132f, -0.011485f, -0.011547f, -0.013364f, -0.009299f, -0.007683f, -0.003381f, -0.018347f, -0.003631f, 0.029462f, 0.013873f, -0.005688f, -0.002048f, -0.003547f, 0.002409f, 0.010381f, -0.005175f, 0.042114f, -0.007400f, -0.001237f, -0.019221f, 0.007563f, 0.018338f, -0.003262f, -0.014170f, -0.001928f, 0.007011f, 0.014028f, 0.006019f, 0.019758f, 0.029585f, 0.009555f, -0.000725f, 0.017511f, 0.014304f, 0.005263f, 0.011029f, -0.037113f, 0.008480f, 0.000848f, -0.032839f, 0.011889f, -0.000880f, -0.014240f, 0.009108f, -0.015097f, -0.014674f, 0.017212f, 0.013532f, -0.007861f, -0.029088f, -0.013261f, 0.006825f, -0.016805f, -0.003529f, 0.007118f, 0.028310f, -0.004780f, 0.005610f, -0.014999f, -0.031400f, -0.016959f, -0.015125f, -0.006964f, 0.014781f, 0.001860f, -0.010526f, -0.003331f, -0.006623f, -0.006499f, 0.009390f, 0.007754f, 0.002906f, 0.006589f, 0.007892f, -0.006986f, -0.005149f, -0.005247f, 0.000915f, -0.005739f, -0.008384f, -0.008185f, 0.003288f, -0.002924f, + -0.001355f, 0.000904f, 0.002772f, -0.006998f, 0.003661f, -0.001693f, -0.001000f, -0.003238f, -0.001284f, -0.004500f, 0.010476f, -0.006835f, -0.002491f, 0.001641f, -0.007045f, -0.006855f, -0.005222f, 0.000149f, 0.005224f, 0.004235f, -0.036176f, 0.022944f, -0.004568f, -0.022664f, -0.001339f, 0.021377f, -0.024380f, -0.004651f, -0.019736f, 0.013209f, 0.003738f, -0.006711f, -0.008639f, -0.002563f, 0.012452f, 0.010235f, 0.005116f, 0.013776f, 0.011342f, 0.001591f, 0.013783f, 0.016669f, 0.006332f, 0.009399f, -0.016990f, -0.007732f, -0.011949f, 0.010650f, 0.012989f, 0.005163f, 0.003747f, -0.007492f, -0.006161f, -0.004447f, -0.004669f, -0.013713f, 0.012513f, 0.003338f, 0.000454f, -0.014702f, -0.004887f, 0.024327f, -0.017627f, -0.018034f, -0.028607f, 0.010230f, -0.021548f, 0.031097f, 0.035178f, 0.024862f, 0.013966f, 0.001735f, 0.027420f, -0.014330f, 0.021473f, -0.002484f, -0.015946f, 0.001508f, 0.000910f, -0.033076f, -0.015242f, 0.012901f, 0.001552f, -0.005309f, 0.004690f, 0.028393f, 0.018818f, -0.031875f, -0.008513f, -0.000137f, -0.001214f, 0.009636f, 0.013360f, -0.000310f, -0.026203f, 0.010737f, + -0.015356f, -0.047599f, -0.014308f, -0.009416f, 0.014522f, 0.024546f, 0.007819f, 0.001546f, 0.000883f, 0.001072f, 0.001808f, 0.017586f, -0.000287f, 0.002909f, 0.001872f, 0.009059f, -0.015599f, -0.000459f, 0.004342f, 0.011732f, 0.013362f, 0.005212f, 0.007797f, 0.012499f, 0.015666f, 0.021004f, 0.007545f, 0.010586f, 0.009752f, 0.000883f, -0.001272f, -0.003364f, -0.002875f, 0.000486f, 0.003883f, -0.011684f, -0.003310f, 0.007423f, 0.010990f, -0.000822f, 0.002855f, -0.001152f, 0.004434f, 0.000477f, 0.006939f, -0.000768f, 0.006643f, -0.004774f, 0.008597f, 0.000586f, 0.008103f, -0.029946f, 0.002955f, 0.003369f, 0.018720f, 0.004074f, 0.047879f, 0.007662f, -0.019804f, -0.006363f, -0.016679f, 0.030311f, -0.038868f, -0.003435f, 0.026819f, -0.058631f, -0.023181f, -0.019762f, -0.020536f, -0.038876f, 0.003654f, -0.006786f, -0.016713f, -0.002091f, 0.018385f, 0.002352f, 0.002420f, -0.011442f, 0.004543f, -0.003848f, 0.004517f, 0.000060f, 0.002893f, 0.015045f, -0.003662f, -0.000893f, 0.030516f, -0.019710f, -0.003989f, 0.005312f, 0.026286f, -0.013770f, 0.037538f, -0.011330f, -0.015174f, -0.032108f, + -0.041832f, -0.012168f, -0.031136f, 0.015223f, -0.009448f, -0.023339f, 0.003194f, 0.003814f, 0.017226f, 0.014604f, 0.006095f, -0.002922f, 0.053147f, 0.029445f, -0.003344f, 0.005220f, 0.018211f, 0.013641f, 0.008855f, -0.007160f, -0.001018f, -0.009500f, -0.012367f, -0.011425f, 0.008034f, 0.041477f, -0.028947f, -0.007062f, -0.016471f, 0.029899f, -0.007835f, 0.009288f, -0.004225f, 0.014056f, -0.032777f, -0.024514f, -0.008432f, 0.013981f, 0.004468f, 0.012076f, -0.007210f, 0.007461f, 0.011289f, 0.009896f, 0.004738f, -0.001929f, -0.013938f, 0.008845f, 0.003357f, -0.011853f, -0.008268f, 0.007466f, -0.007743f, -0.005893f, -0.000172f, 0.008035f, -0.007363f, 0.009675f, -0.005957f, 0.013809f, -0.007585f, 0.001567f, 0.004903f, 0.002532f, -0.006548f, -0.012570f, 0.009864f, -0.003762f, -0.002724f, -0.000963f, -0.001200f, -0.003963f, 0.009378f, 0.011572f, 0.008145f, 0.007087f, -0.001246f, 0.004092f, 0.013397f, -0.007138f, 0.005383f, 0.002314f, -0.000165f, 0.002930f, -0.000705f, 0.000725f, -0.004635f, 0.006161f, 0.001953f, 0.005878f, -0.001731f, 0.002577f, -0.001003f, -0.004816f, 0.003518f, 0.000893f, + 0.004145f, 0.006001f, -0.000892f, -0.023986f, -0.022860f, 0.012843f, -0.010198f, -0.043110f, 0.021391f, -0.012916f, 0.017098f, -0.012466f, 0.021497f, 0.014494f, 0.017884f, 0.028429f, 0.004691f, 0.024042f, 0.009765f, 0.006152f, 0.016441f, 0.005576f, 0.004549f, 0.001094f, -0.000631f, -0.015404f, 0.013705f, -0.031198f, 0.013664f, 0.003177f, -0.008872f, -0.016847f, -0.000397f, 0.011958f, -0.013857f, -0.005879f, -0.020742f, -0.008124f, -0.025544f, 0.001547f, 0.014115f, -0.000328f, -0.003282f, -0.016305f, -0.028211f, -0.020581f, 0.022109f, 0.007302f, -0.009170f, -0.016293f, -0.003945f, -0.001365f, -0.027584f, 0.023317f, 0.021311f, -0.027265f, -0.026403f, -0.043380f, -0.006564f, -0.051891f, 0.013993f, 0.020124f, 0.010649f, -0.003290f, -0.006590f, -0.005411f, 0.021298f, 0.021450f, 0.024839f, -0.016217f, -0.012827f, 0.016541f, -0.007142f, -0.007795f, -0.030369f, 0.013445f, 0.024854f, 0.028383f, -0.006679f, 0.015523f, -0.008725f, 0.004628f, 0.015575f, 0.007975f, -0.010940f, 0.005098f, -0.018743f, -0.011471f, -0.007765f, 0.002740f, 0.007940f, 0.006746f, -0.007417f, -0.006866f, -0.002755f, -0.008461f, + -0.001644f, -0.011639f, -0.014416f, -0.007628f, -0.006001f, -0.004479f, -0.001910f, -0.004254f, -0.005725f, 0.001205f, -0.000253f, 0.008309f, -0.002885f, 0.010627f, -0.002805f, 0.008470f, 0.000585f, -0.004882f, 0.002185f, 0.021538f, 0.006695f, 0.010948f, -0.004975f, -0.008802f, 0.001782f, 0.007785f, -0.007545f, 0.015583f, 0.015746f, 0.004423f, 0.007392f, 0.003191f, -0.018018f, -0.009583f, -0.008818f, -0.001287f, -0.000486f, -0.007881f, 0.041491f, 0.047710f, -0.018816f, -0.001188f, 0.012996f, -0.038818f, -0.007098f, 0.047973f, 0.001752f, -0.052552f, 0.005819f, 0.015954f, -0.001196f, 0.018045f, 0.043096f, -0.017828f, 0.038952f, 0.020900f, 0.033247f, 0.009117f, -0.025390f, -0.027293f, 0.021746f, -0.024796f, -0.038581f, -0.011436f, -0.045851f, 0.009864f, -0.003071f, 0.016048f, 0.014012f, 0.009764f, 0.005184f, -0.002111f, 0.001292f, 0.023040f, 0.011376f, -0.045257f, -0.005274f, 0.014770f, 0.028899f, 0.015808f, 0.035800f, 0.031995f, 0.025280f, -0.012291f, -0.004351f, 0.006358f, 0.065178f, -0.027657f, 0.004737f, 0.013464f, 0.025533f, -0.010913f, -0.036305f, -0.007990f, -0.009200f, -0.022224f, + -0.040162f, -0.044193f, 0.011950f, -0.024979f, -0.018618f, 0.010899f, 0.034394f, 0.042035f, 0.000710f, -0.002860f, -0.000616f, 0.032159f, -0.022241f, -0.011794f, 0.038508f, -0.042597f, 0.004550f, -0.033770f, -0.022438f, 0.001957f, 0.044653f, -0.007804f, -0.030779f, 0.039396f, -0.041041f, 0.001100f, -0.049521f, -0.004932f, -0.006363f, 0.013948f, 0.027288f, -0.020929f, -0.011732f, -0.014990f, 0.003511f, 0.000379f, -0.015483f, 0.008034f, -0.004722f, -0.004985f, -0.006727f, -0.005951f, -0.018319f, 0.003380f, -0.008939f, 0.005707f, 0.004663f, -0.002051f, -0.004233f, 0.010252f, -0.000228f, -0.000601f, -0.021598f, 0.002415f, -0.002067f, -0.001514f, 0.019671f, 0.001177f, 0.005369f, -0.009165f, 0.002957f, -0.005670f, -0.011877f, 0.004200f, -0.023933f, 0.006981f, -0.008439f, 0.016786f, -0.014366f, -0.002877f, 0.002977f, -0.002963f, -0.003981f, -0.008384f, 0.012856f, -0.009743f, 0.014020f, -0.006161f, -0.009186f, 0.009010f, 0.007747f, 0.023206f, -0.027157f, -0.058429f, -0.014699f, -0.019924f, -0.020237f, -0.011527f, 0.001994f, -0.019576f, -0.017913f, 0.006344f, 0.012415f, -0.012047f, 0.030545f, -0.002726f, + 0.020205f, -0.009932f, -0.002029f, 0.018725f, -0.026599f, -0.015511f, -0.009579f, 0.027598f, -0.007297f, -0.028960f, -0.011984f, 0.005104f, -0.015165f, 0.012918f, -0.020661f, -0.019336f, 0.028184f, 0.009042f, -0.023812f, 0.014566f, -0.003605f, -0.017512f, -0.002598f, -0.029438f, -0.026675f, 0.005717f, 0.044184f, 0.018744f, 0.013176f, -0.035513f, 0.026942f, -0.002620f, 0.020434f, -0.012010f, -0.026002f, 0.012783f, -0.047230f, 0.039276f, -0.063641f, -0.039220f, 0.013644f, 0.035099f, 0.001778f, 0.041913f, -0.019003f, 0.011388f, -0.029620f, 0.039340f, 0.011561f, 0.029389f, 0.012366f, 0.007301f, -0.010038f, -0.009154f, -0.019886f, -0.006107f, -0.002076f, -0.032938f, -0.020916f, 0.003427f, -0.051646f, 0.003346f, 0.055970f, 0.017460f, 0.019536f, 0.005965f, -0.026800f, -0.018964f, -0.006247f, -0.005763f, -0.002822f, -0.009576f, -0.014581f, 0.011798f, 0.006443f, 0.010742f, 0.015074f, -0.015802f, 0.009540f, -0.005734f, -0.009802f, -0.006194f, 0.013289f, -0.004419f, -0.016667f, -0.023251f, -0.001213f, -0.013840f, -0.007769f, -0.014206f, -0.005126f, -0.009182f, -0.006833f, 0.022674f, -0.013255f, 0.005479f, + 0.005812f, -0.017502f, 0.019292f, 0.000559f, 0.011083f, 0.016425f, -0.008592f, 0.008298f, 0.002468f, -0.000376f, 0.003822f, 0.013782f, -0.008944f, -0.007286f, 0.011216f, 0.001384f, 0.004880f, -0.003442f, -0.004735f, 0.000729f, 0.009360f, -0.043973f, -0.041938f, 0.004572f, 0.016607f, -0.020483f, -0.094271f, -0.019126f, -0.000960f, 0.012738f, -0.032206f, 0.003221f, -0.018171f, -0.003210f, -0.025756f, -0.027743f, 0.024590f, -0.026967f, -0.034156f, -0.005217f, -0.024052f, -0.025443f, 0.008444f, -0.037177f, -0.012946f, 0.023197f, 0.051548f, 0.042502f, -0.002490f, -0.025162f, 0.008510f, 0.038304f, -0.002232f, 0.025634f, -0.007705f, 0.032166f, 0.017334f, -0.032076f, 0.051322f, -0.039012f, -0.021340f, 0.035349f, -0.038912f, 0.012073f, -0.009316f, -0.028446f, 0.002923f, 0.044310f, -0.009582f, -0.025290f, 0.015928f, 0.021986f, -0.001105f, 0.009378f, -0.063529f, 0.015698f, 0.002150f, 0.032282f, 0.014914f, -0.027179f, 0.026979f, -0.014259f, -0.002880f, -0.025154f, 0.013132f, 0.037414f, -0.008098f, -0.006836f, -0.038351f, -0.053078f, 0.029976f, -0.003402f, 0.024056f, -0.028815f, 0.021794f, 0.018279f, + -0.038606f, 0.002669f, 0.033442f, 0.019856f, -0.018291f, -0.030173f, 0.027257f, 0.004994f, -0.024312f, 0.023068f, 0.003232f, 0.010544f, 0.002184f, 0.009830f, 0.001254f, 0.025717f, -0.000154f, 0.009159f, -0.002217f, 0.001512f, 0.021912f, -0.006765f, 0.000042f, 0.005561f, -0.006398f, 0.004551f, 0.001483f, 0.015945f, -0.001327f, -0.016781f, -0.002658f, 0.002647f, -0.010798f, -0.002602f, 0.000554f, -0.006435f, 0.022660f, -0.005032f, -0.013888f, 0.001918f, 0.014196f, 0.007386f, -0.001378f, 0.008858f, 0.000586f, -0.009231f, -0.001825f, 0.024828f, 0.016033f, -0.016076f, -0.012724f, 0.003943f, -0.005739f, 0.035542f, 0.035277f, -0.095450f, 0.035867f, 0.048664f, -0.012528f, 0.033910f, -0.000532f, 0.017663f, -0.007957f, -0.019483f, -0.012897f, 0.020525f, 0.004605f, -0.027444f, -0.018141f, -0.002373f, -0.013153f, -0.006892f, -0.003165f, 0.059342f, 0.011697f, 0.013281f, -0.036798f, 0.025654f, -0.026260f, 0.000566f, 0.004384f, -0.039814f, 0.018478f, -0.014648f, 0.001883f, -0.016014f, -0.029117f, 0.000966f, 0.018990f, 0.054999f, 0.019511f, 0.005876f, 0.033704f, 0.014534f, -0.004300f, 0.005751f, + 0.000647f, 0.009750f, 0.005347f, 0.037364f, 0.016064f, 0.011419f, 0.005924f, -0.004590f, -0.011771f, -0.036429f, -0.030950f, 0.004448f, -0.004610f, -0.022408f, 0.002991f, 0.027639f, -0.042106f, 0.040647f, 0.010208f, -0.014726f, -0.001905f, -0.010656f, -0.003582f, 0.024693f, 0.010492f, 0.008167f, -0.028691f, -0.005608f, -0.039132f, -0.011821f, 0.010602f, 0.014404f, 0.013941f, -0.016665f, -0.013759f, 0.030332f, -0.003793f, -0.048687f, 0.006782f, -0.000712f, -0.000776f, -0.028675f, 0.009215f, 0.021761f, -0.003227f, 0.031243f, 0.020694f, -0.010266f, -0.000828f, -0.013292f, 0.016521f, -0.001270f, 0.005271f, 0.002728f, -0.007323f, -0.005723f, -0.001558f, -0.005938f, 0.006537f, -0.013205f, -0.001583f, 0.000971f, 0.006964f, -0.006718f, -0.008306f, -0.009376f, 0.000241f, -0.002151f, 0.005046f, 0.003251f, -0.000571f, -0.005788f, 0.006178f, 0.005078f, 0.000658f, 0.007268f, 0.000989f, 0.005252f, 0.004383f, 0.006910f, -0.002172f, -0.024323f, -0.001243f, -0.006799f, 0.004891f, -0.011234f, -0.085037f, 0.131774f, -0.130275f, -0.058855f, -0.029788f, -0.008839f, 0.076177f, 0.022449f, 0.085287f, 0.021361f, + -0.017451f, 0.067276f, 0.029077f, -0.022684f, 0.031508f, 0.028593f, 0.015953f, 0.026762f, 0.025886f, -0.022980f, -0.037231f, -0.026432f, 0.004316f, -0.024295f, 0.012893f, 0.007744f, 0.016715f, -0.002502f, 0.011564f, 0.003998f, 0.041920f, 0.010038f, 0.003980f, 0.013001f, -0.009724f, -0.000477f, 0.014830f, -0.026166f, -0.037322f, -0.025290f, -0.021688f, 0.003840f, 0.011145f, -0.026224f, -0.004226f, -0.015726f, -0.064719f, 0.032764f, -0.011637f, 0.016652f, -0.033999f, -0.011435f, -0.031481f, -0.043115f, 0.016434f, 0.011622f, 0.042194f, -0.001659f, 0.037193f, -0.015542f, 0.031178f, 0.003829f, 0.044458f, -0.031238f, 0.027559f, 0.033137f, 0.018365f, 0.019302f, 0.001755f, -0.013281f, 0.052066f, 0.034939f, -0.003296f, 0.062838f, 0.015160f, 0.007539f, 0.026980f, 0.040588f, 0.000659f, 0.018781f, 0.023490f, 0.010875f, 0.010364f, -0.004456f, 0.002244f, -0.036382f, -0.009178f, -0.004703f, 0.006016f, 0.007925f, 0.007442f, 0.024591f, 0.010969f, 0.012663f, -0.009326f, -0.001077f, 0.009784f, 0.001276f, 0.001023f, -0.008436f, 0.010237f, 0.008763f, 0.005050f, -0.006514f, 0.012962f, -0.001650f, + 0.002513f, -0.009578f, -0.008912f, -0.003383f, 0.001265f, 0.001435f, -0.005734f, -0.019828f, 0.004942f, 0.004689f, -0.005178f, -0.000685f, -0.004879f, 0.001853f, -0.007081f, 0.005302f, -0.006799f, 0.000654f, 0.018371f, -0.004779f, -0.017573f, 0.011983f, 0.008752f, 0.007440f, -0.003965f, -0.002013f, 0.080670f, 0.006707f, -0.048216f, -0.071445f, -0.037536f, -0.029978f, 0.009757f, 0.058637f, -0.000783f, -0.025212f, 0.052883f, 0.004035f, -0.042432f, 0.037998f, 0.041718f, -0.007946f, -0.000647f, -0.004376f, -0.037584f, 0.041549f, 0.002468f, 0.023430f, -0.013202f, -0.033918f, -0.058555f, 0.010294f, 0.007471f, 0.008667f, -0.008223f, 0.018018f, -0.019460f, -0.000659f, -0.037556f, -0.047268f, 0.016457f, -0.006379f, 0.014903f, -0.007230f, -0.017390f, -0.042880f, -0.065846f, 0.033264f, -0.036826f, 0.014594f, 0.031595f, -0.002729f, -0.017019f, -0.032842f, -0.023376f, 0.075244f, 0.017118f, -0.004007f, 0.009730f, -0.010576f, -0.030771f, -0.010632f, 0.043795f, -0.043083f, -0.071657f, -0.025581f, -0.022875f, -0.100797f, -0.078467f, -0.042780f, -0.043741f, 0.010110f, -0.000686f, -0.035524f, -0.067074f, -0.027121f, + -0.031846f, -0.023375f, -0.018560f, -0.014170f, -0.040268f, -0.039042f, 0.029996f, -0.034767f, 0.001826f, 0.004409f, -0.042229f, -0.008105f, -0.030925f, -0.039083f, -0.009675f, -0.007036f, 0.017386f, 0.006660f, 0.023498f, -0.025294f, 0.005881f, 0.013231f, -0.000531f, -0.033767f, -0.019066f, -0.022953f, -0.002599f, 0.009861f, -0.011662f, -0.016916f, 0.028056f, 0.016086f, 0.020043f, -0.034578f, 0.005218f, -0.017318f, -0.002394f, 0.000467f, 0.002824f, -0.005003f, 0.033453f, 0.001692f, -0.006545f, 0.003297f, 0.011338f, 0.016146f, 0.013525f, -0.003284f, 0.019538f, -0.015563f, -0.008360f, -0.007321f, -0.026992f, -0.001842f, -0.008705f, -0.034986f, -0.029024f, 0.003768f, 0.000726f, -0.001717f, -0.009394f, -0.008632f, -0.003297f, -0.006192f, 0.054576f, -0.005882f, 0.051962f, 0.078603f, -0.015030f, -0.083896f, -0.082519f, -0.017028f, 0.038592f, 0.005961f, -0.064895f, 0.051015f, -0.011638f, -0.041533f, 0.051117f, -0.096709f, -0.021072f, 0.001014f, -0.017848f, -0.014414f, 0.117365f, -0.048963f, 0.109951f, -0.004998f, 0.022666f, -0.007719f, -0.044257f, 0.071268f, 0.018220f, 0.074080f, -0.051019f, -0.049283f, + 0.015519f, -0.079769f, -0.024580f, -0.012468f, -0.056311f, 0.116439f, -0.010638f, -0.119972f, -0.002355f, -0.053271f, 0.015166f, 0.030024f, 0.047753f, 0.039569f, -0.048045f, -0.029392f, -0.074470f, -0.021317f, -0.034748f, 0.032052f, 0.020479f, -0.003675f, 0.021342f, -0.014473f, -0.052939f, -0.021168f, -0.061694f, 0.063126f, -0.047793f, -0.032417f, 0.055953f, 0.013645f, 0.094897f, 0.046513f, 0.007950f, 0.050614f, -0.067789f, -0.024863f, -0.069968f, -0.067343f, -0.010773f, -0.009551f, -0.085256f, 0.087841f, -0.015720f, -0.067657f, -0.101452f, 0.006913f, -0.020347f, 0.074399f, -0.004983f, 0.004130f, 0.009712f, -0.013005f, 0.013832f, 0.016953f, 0.034587f, -0.023030f, -0.023672f, -0.014752f, 0.000880f, -0.003998f, -0.005037f, -0.021753f, 0.024422f, 0.015447f, 0.029175f, -0.006639f, -0.015967f, -0.013327f, -0.005289f, 0.005739f, 0.039168f, 0.041945f, -0.006865f, 0.002531f, 0.022614f, -0.006087f, -0.052289f, -0.025150f, 0.003247f, 0.007404f, -0.004102f, -0.033099f, 0.011692f, -0.003750f, -0.007885f, -0.037952f, 0.015008f, 0.013111f, 0.045533f, 0.007634f, 0.011300f, -0.002055f, 0.018821f, 0.003458f, + -0.010686f, -0.020049f, -0.001444f, 0.002426f, 0.014886f, 0.006975f, -0.008522f, 0.001457f, -0.157272f, 0.081004f, 0.019136f, -0.034467f, -0.025314f, 0.049876f, 0.028028f, -0.030879f, -0.007981f, -0.074647f, -0.030744f, 0.031119f, -0.063858f, 0.002028f, 0.011797f, -0.020042f, -0.042518f, -0.029646f, 0.057875f, 0.022692f, -0.011329f, -0.083283f, 0.028279f, 0.051657f, 0.030306f, -0.064604f, -0.042518f, -0.000206f, 0.070003f, 0.005740f, -0.016699f, 0.010512f, 0.002433f, 0.035176f, -0.092845f, -0.080966f, 0.099758f, 0.014946f, 0.041823f, -0.095243f, 0.020788f, -0.004783f, 0.069588f, -0.062789f, -0.011766f, -0.095498f, 0.033355f, 0.067917f, 0.016183f, -0.042731f, 0.027338f, 0.098801f, -0.044398f, -0.047932f, -0.037057f, 0.013572f, 0.004261f, 0.086586f, -0.025913f, 0.006124f, -0.046881f, 0.014856f, -0.051424f, -0.002259f, 0.033179f, -0.064941f, 0.061646f, 0.018108f, -0.044617f, -0.070216f, -0.042188f, -0.004100f, 0.062177f, -0.112923f, -0.024390f, 0.101074f, 0.013473f, -0.046446f, -0.021485f, -0.032936f, 0.095825f, -0.011205f, -0.100297f, -0.012253f, 0.000017f, -0.025341f, 0.040974f, -0.007615f, + -0.014025f, 0.030450f, -0.002757f, -0.021188f, -0.026273f, -0.003356f, -0.023167f, 0.006448f, 0.017072f, 0.021943f, -0.020165f, -0.015468f, 0.020894f, -0.014295f, 0.019785f, -0.011096f, -0.020122f, 0.026980f, -0.015142f, 0.024232f, 0.034215f, 0.001582f, -0.049593f, -0.004010f, -0.029567f, 0.011667f, 0.018299f, 0.011315f, -0.034670f, -0.000298f, -0.026189f, 0.023807f, -0.007381f, -0.015666f, -0.010023f, 0.004627f, 0.008360f, -0.019198f, 0.008487f, 0.103770f, 0.053756f, 0.023743f, 0.024501f, 0.024784f, -0.016181f, -0.016642f, -0.034768f, 0.004184f, 0.011681f, 0.008952f, -0.001729f, -0.060154f, 0.029015f, 0.011511f, -0.041323f, -0.035587f, -0.017743f, -0.020913f, 0.015803f, -0.015689f, -0.017386f, 0.004889f, -0.001193f, -0.032058f, 0.041033f, -0.029509f, -0.009218f, -0.030655f, -0.027343f, 0.019597f, -0.011525f, -0.004241f, 0.010479f, 0.012708f, -0.003116f, -0.040724f, 0.009856f, 0.062909f, 0.013680f, -0.099277f, -0.006078f, -0.021734f, -0.030608f, 0.020630f, 0.022515f, 0.051038f, 0.024851f, -0.064839f, 0.070226f, -0.017592f, -0.048419f, 0.145689f, -0.029265f, -0.012722f, -0.047995f, -0.116243f, + 0.053261f, 0.058686f, 0.019568f, 0.022005f, -0.099054f, 0.028589f, -0.007636f, -0.024283f, -0.017351f, 0.003719f, -0.009318f, 0.015265f, 0.018990f, 0.003839f, -0.014606f, -0.028654f, 0.030190f, 0.037520f, 0.052730f, -0.026302f, -0.005239f, 0.010906f, -0.007652f, 0.027304f, -0.067986f, 0.006304f, 0.012129f, -0.032199f, 0.005358f, -0.026880f, 0.010497f, 0.000176f, 0.008429f, -0.004708f, 0.001946f, 0.002303f, -0.001315f, -0.001243f, -0.009013f, -0.007392f, 0.018229f, -0.010395f, -0.000647f, 0.013109f, 0.003017f, 0.000262f, 0.022258f, -0.018695f, 0.013636f, 0.015612f, -0.000984f, -0.003564f, -0.018832f, 0.014878f, -0.035215f, -0.010255f, 0.022959f, 0.006259f, -0.009629f, -0.024196f, 0.007175f, -0.005922f, 0.028551f, 0.003677f, -0.059641f, -0.141111f, -0.239975f, 0.020008f, 0.243119f, 0.023938f, 0.517345f, 0.523859f, 0.189400f, 0.525720f, 0.303918f, -0.087873f, -0.008785f, -0.046894f, -0.398395f, -0.329214f, -0.232036f, -0.412374f, -0.395009f, -0.111853f, -0.248745f, -0.215611f, 0.048655f, 0.069863f, -0.053882f, 0.077552f, 0.112438f, 0.000590f, 0.007655f, 0.225309f, 0.149529f, 0.057958f, + 0.165787f, 0.311365f, 0.145988f, 0.172000f, 0.383997f, 0.152866f, 0.068938f, 0.333149f, 0.320191f, 0.014941f, 0.204782f, 0.363397f, 0.000622f, 0.092961f, 0.214845f, -0.007494f, -0.175688f, 0.087956f, -0.036667f, -0.337054f, -0.315217f, -0.288626f, -0.562888f, -0.831062f, -0.579226f, -0.808525f, -1.078585f, -0.760082f, -0.616867f, -0.832910f, -0.532613f, -0.255273f, -0.247023f, -0.045834f, 0.248608f, 0.502429f, 0.567726f, 0.760790f, 1.033884f, 1.016921f, 0.961109f, 1.083612f, 1.080994f, 0.883808f, 0.710722f, 0.762045f, 0.505887f, 0.181147f, 0.241313f, 0.060425f, -0.443536f, -0.284104f, -0.301394f, -0.618087f, -0.522815f, -0.374819f, -0.440091f, -0.508278f, -0.316806f, -0.275725f, -0.385095f, -0.316587f, -0.164766f, -0.263112f, -0.347929f, -0.207929f, -0.147269f, -0.274763f, -0.155394f, 0.038063f, -0.085907f, -0.097133f, 0.111529f, -0.002114f, -0.139536f, -0.016108f, -0.087565f, -0.315033f, -0.219689f, -0.164722f, -0.293185f, -0.129521f, 0.074111f, 0.142939f, 0.261227f, 0.435460f, 0.504776f, 0.530892f, 0.593900f, 0.633453f, 0.622662f, 0.575463f, 0.534549f, 0.455444f, 0.361343f, 0.223542f, + 0.166973f, 0.022380f, -0.139852f, -0.244595f, -0.394130f, -0.566022f, -0.551544f, -0.467958f, -0.424991f, -0.367175f, -0.251623f, -0.210445f, -0.188881f, -0.134454f, -0.088475f, -0.077547f, -0.031815f, -0.017270f, -0.012323f, 0.004104f, 0.036076f, 0.059851f, 0.074813f, 0.089332f, 0.101892f, 0.100483f, 0.097401f, 0.083984f, 0.082135f, 0.059591f, 0.046792f, 0.024186f, 0.014046f, -0.010400f, -0.026507f, -0.035605f, -0.033689f, -0.044670f, -0.044018f, -0.043727f, -0.044652f, -0.050850f, -0.036588f, -0.037501f, -0.023303f, 0.000729f, 0.029858f, 0.043269f, 0.070094f, 0.082096f, 0.090717f, 0.096561f, 0.109928f, 0.103489f, 0.099792f, 0.096143f, 0.085394f, 0.057418f, 0.050018f, 0.039778f, 0.025660f, 0.008237f, 0.007956f, -0.011711f, -0.022722f, -0.034749f, -0.045602f, -0.065646f, -0.070694f, -0.084511f, -0.094446f, -0.103406f, -0.102051f, -0.110166f, -0.107764f, -0.102410f, -0.088926f, -0.077857f, -0.052615f, -0.033868f, -0.010978f, 0.004057f, 0.027155f, 0.037348f, 0.050254f, 0.055629f, 0.062512f, 0.058876f, 0.062532f, 0.055856f, 0.055882f, 0.046673f, 0.044097f, 0.033738f, 0.028178f, 0.016465f, + 0.013704f, 0.003976f, 0.003570f, -0.002300f, -0.000550f, -0.005665f, -0.002634f, -0.006032f, -0.002140f, -0.005259f, -0.000920f, -0.004005f, -0.000001f, -0.003166f, 0.000956f, -0.002047f} + }, + { + {0.019166f, -0.000861f, -0.000939f, 0.006013f, -0.002401f, 0.006879f, -0.003604f, -0.008985f, 0.003216f, 0.008889f, 0.001402f, -0.001457f, 0.011976f, 0.000338f, 0.000573f, -0.004124f, -0.002182f, 0.018475f, 0.002661f, -0.012648f, -0.009224f, 0.013013f, -0.001109f, 0.013498f, 0.001035f, -0.002638f, -0.001193f, 0.010181f, 0.002111f, 0.021441f, 0.009552f, 0.005861f, -0.001073f, 0.004719f, 0.009811f, -0.002448f, -0.007164f, -0.009162f, -0.001660f, 0.008155f, 0.007146f, 0.010900f, 0.003164f, -0.006178f, -0.006285f, -0.002704f, 0.004662f, -0.001519f, 0.002604f, -0.001298f, -0.009662f, -0.007574f, 0.003071f, 0.007070f, 0.004469f, -0.003574f, -0.003935f, -0.000318f, 0.010718f, 0.005363f, -0.001078f, -0.002423f, 0.005017f, 0.003283f, 0.002203f, -0.005464f, 0.002814f, 0.005056f, -0.000565f, 0.007745f, 0.009277f, -0.016088f, 0.005984f, 0.003241f, 0.010565f, 0.003124f, 0.000923f, 0.004745f, -0.002034f, -0.007517f, -0.002690f, -0.004542f, -0.001414f, -0.000962f, 0.004647f, -0.000262f, -0.003557f, 0.000025f, 0.000628f, 0.002691f, -0.002278f, 0.000414f, -0.000368f, 0.000945f, 0.001483f, 0.000948f, + 0.001888f, 0.000157f, 0.001202f, -0.002421f, 0.005415f, 0.008310f, 0.018110f, -0.014732f, 0.003351f, -0.003272f, 0.000250f, -0.018917f, 0.001937f, 0.011301f, -0.016741f, -0.003528f, 0.011254f, 0.029708f, 0.004305f, -0.000252f, 0.002156f, -0.018688f, -0.000562f, 0.013689f, 0.012234f, 0.000284f, -0.000350f, 0.001081f, 0.006438f, 0.010667f, 0.011332f, 0.012159f, -0.005419f, 0.002589f, -0.000709f, 0.004658f, 0.001353f, 0.002985f, -0.018880f, -0.005235f, 0.002982f, 0.001494f, -0.010428f, -0.000387f, 0.007167f, -0.008372f, 0.006601f, 0.006013f, 0.011226f, 0.005192f, -0.004253f, 0.005537f, 0.012541f, -0.007060f, -0.011274f, 0.003740f, 0.002647f, 0.002155f, 0.005956f, -0.005063f, -0.009114f, -0.013673f, 0.011024f, -0.002079f, -0.002553f, -0.004484f, 0.004849f, -0.000222f, 0.007155f, 0.014051f, 0.002874f, 0.000906f, -0.000740f, -0.003458f, -0.010984f, 0.017056f, 0.004228f, -0.002096f, 0.008859f, -0.001444f, -0.010127f, -0.008971f, -0.001967f, 0.003312f, -0.014778f, 0.001165f, -0.008757f, -0.001710f, 0.004524f, -0.000311f, 0.002382f, -0.002701f, -0.004830f, -0.001082f, 0.002450f, 0.003296f, + 0.002488f, -0.000569f, -0.001481f, -0.000143f, 0.002419f, -0.001330f, -0.002462f, -0.001896f, 0.000471f, -0.000987f, -0.008907f, -0.007637f, -0.009659f, -0.013603f, 0.007591f, -0.000128f, -0.006575f, -0.002549f, -0.003386f, 0.003010f, -0.005472f, -0.009327f, 0.002079f, -0.006049f, 0.015959f, 0.021331f, 0.016780f, -0.011603f, -0.000502f, -0.000724f, 0.004448f, -0.006421f, 0.013152f, 0.008326f, -0.001941f, 0.006439f, 0.009961f, 0.000854f, 0.002372f, 0.003538f, 0.009676f, -0.000888f, 0.003564f, 0.011689f, 0.001130f, -0.000091f, -0.005144f, 0.008422f, -0.012714f, 0.005155f, -0.001830f, -0.002560f, 0.008377f, -0.008109f, -0.001087f, 0.000328f, -0.011060f, 0.004612f, -0.002277f, 0.005136f, -0.000414f, -0.004716f, 0.003283f, 0.003540f, -0.000639f, 0.009814f, -0.000757f, 0.011315f, -0.000229f, -0.007457f, -0.003396f, 0.000471f, -0.005178f, 0.010094f, 0.005187f, 0.008670f, 0.009730f, -0.004242f, -0.009753f, -0.006296f, -0.000073f, -0.001762f, -0.002128f, 0.008016f, 0.010007f, -0.001469f, -0.005579f, 0.003540f, 0.002685f, -0.003822f, -0.005328f, 0.001843f, -0.007625f, 0.001879f, -0.000209f, -0.000202f, + -0.002089f, -0.007125f, 0.001554f, -0.002785f, 0.000231f, 0.003238f, -0.000066f, -0.003624f, 0.001770f, -0.004983f, -0.000155f, 0.000354f, -0.001216f, 0.000453f, 0.000897f, -0.002712f, -0.000017f, 0.000365f, -0.003316f, 0.000719f, -0.001043f, -0.000171f, -0.001775f, -0.000018f, 0.000841f, 0.002874f, -0.028173f, -0.006620f, -0.008785f, -0.015207f, 0.005175f, 0.004009f, -0.001828f, 0.007103f, -0.000993f, 0.005999f, 0.008429f, -0.003686f, -0.009856f, -0.012385f, -0.004743f, -0.011531f, 0.000898f, 0.001306f, -0.005042f, 0.006591f, -0.005663f, 0.003550f, -0.002590f, -0.006562f, -0.017531f, -0.006788f, 0.001558f, 0.002791f, 0.004603f, -0.006481f, 0.004651f, 0.007083f, 0.002331f, 0.016028f, 0.003978f, -0.000370f, 0.012381f, -0.008710f, 0.007152f, 0.001219f, -0.004163f, -0.005883f, 0.007987f, 0.001118f, 0.002527f, -0.018831f, -0.003477f, -0.006192f, 0.018970f, 0.008176f, 0.006837f, 0.007745f, 0.008713f, 0.006939f, 0.009662f, -0.005059f, -0.002063f, 0.005969f, 0.009493f, -0.001224f, 0.011087f, -0.005910f, 0.002434f, -0.002349f, 0.009394f, 0.014107f, -0.021940f, 0.005809f, -0.005419f, 0.000758f, + -0.010344f, -0.005268f, 0.001744f, -0.003087f, -0.004435f, -0.008729f, -0.003948f, 0.004197f, -0.000199f, 0.009458f, -0.000975f, 0.003684f, 0.008161f, 0.013008f, -0.000469f, 0.003482f, -0.001500f, 0.006089f, 0.000983f, 0.002996f, -0.004002f, -0.001349f, 0.000447f, 0.002820f, -0.001777f, -0.002870f, 0.000161f, 0.000230f, -0.002254f, 0.000413f, 0.001335f, 0.000123f, 0.003795f, -0.001590f, -0.001744f, 0.000500f, 0.003311f, -0.001260f, 0.000096f, -0.001123f, 0.001982f, 0.003104f, -0.000400f, 0.002973f, 0.003195f, -0.000693f, -0.001340f, -0.000490f, 0.011017f, 0.006719f, 0.004008f, -0.002117f, 0.000925f, 0.001166f, 0.014214f, -0.011305f, 0.014257f, -0.001924f, 0.007776f, 0.014561f, -0.009123f, 0.011272f, -0.007059f, 0.005766f, 0.002221f, 0.017118f, 0.007595f, -0.009595f, -0.015722f, 0.003540f, -0.011788f, 0.009655f, -0.002418f, 0.012594f, -0.009421f, -0.001580f, -0.007546f, 0.004309f, 0.002803f, 0.003564f, -0.000952f, -0.001397f, -0.013738f, -0.006076f, 0.011277f, -0.009053f, -0.001841f, 0.007281f, 0.000332f, -0.007103f, 0.002279f, 0.000573f, -0.001600f, -0.006169f, 0.012318f, 0.003871f, + -0.017597f, -0.007995f, -0.014212f, -0.002550f, -0.012572f, -0.021698f, -0.004957f, 0.009370f, 0.026616f, 0.005757f, 0.002167f, 0.012486f, -0.000367f, -0.009903f, -0.008631f, 0.006939f, 0.002695f, 0.004660f, 0.007651f, -0.018928f, -0.004677f, -0.017417f, -0.003853f, 0.004788f, -0.006917f, -0.016107f, 0.001577f, 0.006863f, -0.003477f, -0.006037f, -0.002873f, 0.002711f, -0.002432f, -0.000749f, 0.003462f, -0.002277f, -0.002424f, -0.003311f, -0.002407f, -0.007421f, 0.002577f, -0.001993f, 0.003329f, -0.001323f, 0.001926f, 0.004558f, 0.000599f, -0.001333f, -0.000487f, -0.003998f, -0.002652f, -0.006285f, -0.005694f, 0.000778f, 0.000621f, -0.000083f, 0.002154f, 0.003548f, 0.002482f, -0.000083f, 0.002254f, 0.001871f, -0.001755f, 0.001339f, 0.001418f, -0.003320f, -0.001403f, 0.030469f, 0.007463f, 0.022013f, -0.010232f, -0.001616f, -0.007232f, -0.001881f, 0.023738f, -0.020280f, 0.006915f, 0.002109f, 0.031034f, 0.016263f, 0.020650f, 0.003568f, -0.004931f, 0.009493f, -0.006576f, -0.025770f, 0.005030f, 0.001279f, 0.003163f, 0.019993f, 0.002078f, -0.012030f, -0.000886f, 0.000352f, 0.006556f, 0.006803f, + -0.000449f, -0.002821f, 0.008390f, -0.009822f, -0.002502f, -0.005063f, -0.002320f, 0.002309f, 0.000522f, 0.017588f, 0.002711f, 0.013771f, 0.016235f, 0.004270f, 0.014336f, -0.001234f, 0.004844f, 0.008441f, -0.009163f, -0.014087f, 0.001890f, 0.013820f, -0.022227f, 0.006476f, -0.017024f, -0.016224f, -0.009697f, -0.004631f, -0.014964f, -0.014814f, -0.015348f, -0.008126f, -0.003716f, 0.010212f, 0.000389f, 0.012271f, 0.002022f, -0.010445f, 0.015843f, -0.016518f, -0.006062f, -0.006947f, -0.006576f, -0.008844f, -0.011271f, 0.016117f, 0.012814f, -0.007313f, 0.006359f, 0.004945f, 0.013015f, -0.000136f, 0.009436f, -0.004761f, 0.011827f, 0.005725f, -0.006779f, 0.000215f, -0.006114f, 0.007267f, -0.006994f, 0.000607f, 0.005882f, 0.000256f, 0.004529f, -0.001437f, 0.000831f, 0.002883f, -0.000907f, -0.003310f, 0.003026f, -0.001019f, 0.000624f, -0.006197f, -0.004874f, -0.004980f, -0.003639f, -0.000808f, -0.001982f, -0.004334f, -0.000075f, 0.000699f, -0.001841f, 0.000319f, -0.000027f, -0.002593f, 0.000649f, -0.016585f, -0.016590f, -0.009841f, -0.010165f, -0.005496f, -0.004155f, -0.019885f, -0.015892f, -0.013527f, + -0.002008f, -0.001211f, -0.002439f, 0.013714f, 0.001444f, 0.007056f, 0.010621f, 0.012305f, 0.002004f, 0.024103f, 0.030304f, -0.000680f, 0.008819f, 0.006770f, -0.003613f, 0.013173f, 0.007232f, -0.027239f, -0.000848f, -0.009462f, 0.001634f, 0.020963f, 0.008425f, -0.021794f, -0.005715f, 0.009613f, 0.009656f, 0.001269f, 0.027887f, -0.011590f, 0.011280f, 0.011294f, 0.012455f, 0.007191f, 0.014498f, -0.024554f, 0.009031f, -0.009622f, 0.014608f, 0.000478f, 0.006326f, -0.018452f, 0.013558f, 0.009714f, -0.002316f, 0.009403f, -0.001531f, 0.002576f, -0.000123f, -0.009658f, 0.002551f, -0.006200f, 0.006060f, -0.007634f, 0.009470f, 0.002892f, 0.023632f, 0.017559f, -0.005503f, 0.006228f, -0.019389f, 0.016858f, -0.005266f, 0.010311f, 0.018335f, 0.017895f, 0.000889f, 0.018279f, 0.012719f, 0.008607f, 0.009352f, 0.016789f, 0.001710f, 0.003569f, -0.013734f, -0.002462f, -0.003919f, 0.003089f, -0.009899f, 0.001414f, -0.007206f, 0.002181f, -0.007179f, 0.002133f, -0.002622f, -0.004586f, -0.004227f, 0.002903f, 0.000336f, -0.002351f, -0.001679f, -0.005930f, -0.001872f, 0.000956f, -0.001683f, -0.004300f, + 0.000648f, 0.004296f, -0.010031f, -0.006299f, -0.005528f, 0.003974f, -0.006145f, 0.003707f, 0.000061f, 0.002093f, -0.005088f, -0.007609f, -0.001678f, 0.001392f, 0.016012f, -0.014277f, -0.003673f, 0.012651f, -0.006725f, 0.021712f, -0.006902f, -0.015451f, 0.028986f, 0.039270f, 0.008789f, -0.015596f, 0.010910f, -0.008258f, 0.016203f, 0.009331f, -0.003480f, -0.016539f, -0.010730f, -0.028075f, 0.007375f, 0.011866f, -0.024662f, -0.003016f, 0.014402f, 0.003671f, -0.001157f, 0.000511f, -0.002987f, -0.013454f, 0.003293f, 0.016513f, 0.000719f, 0.003509f, 0.006045f, 0.023421f, -0.015441f, -0.000501f, 0.017115f, -0.015686f, 0.022974f, 0.001129f, 0.032271f, -0.026880f, -0.024126f, 0.013238f, 0.001238f, -0.003276f, 0.006973f, -0.002274f, 0.009019f, 0.005455f, 0.017970f, 0.017024f, -0.014065f, 0.002531f, -0.009174f, -0.005617f, 0.010777f, -0.001383f, -0.005468f, -0.002435f, 0.000563f, 0.015988f, -0.030573f, 0.023295f, -0.007257f, -0.010472f, 0.017375f, -0.014024f, 0.013943f, -0.018853f, -0.010506f, -0.003532f, -0.013909f, -0.004872f, -0.009802f, -0.015683f, -0.010472f, 0.003377f, -0.003499f, -0.003799f, + -0.000161f, -0.007325f, -0.002260f, -0.001122f, 0.009767f, -0.000538f, 0.001478f, 0.003867f, -0.004015f, -0.001634f, -0.003387f, 0.002316f, 0.004819f, 0.001261f, -0.001877f, 0.011359f, 0.000143f, 0.008418f, -0.009103f, -0.005971f, -0.005371f, -0.003962f, 0.004433f, 0.002077f, 0.000398f, 0.006591f, -0.004847f, 0.005023f, 0.002094f, 0.004669f, 0.002760f, 0.000625f, -0.005728f, -0.019397f, -0.014955f, -0.006447f, -0.014031f, -0.021155f, -0.004548f, 0.007810f, 0.025999f, 0.004320f, -0.015825f, -0.029081f, -0.006169f, 0.009128f, -0.005183f, 0.031396f, 0.009771f, -0.010997f, -0.022229f, -0.027600f, -0.052513f, -0.004202f, -0.005867f, 0.020167f, 0.014780f, -0.010660f, 0.001283f, -0.008230f, -0.004618f, 0.018932f, -0.000578f, 0.001083f, -0.002378f, 0.021468f, 0.003542f, -0.006337f, -0.001143f, -0.000710f, 0.005707f, -0.019381f, -0.006212f, -0.007573f, 0.030713f, 0.007263f, -0.032468f, 0.008436f, -0.016889f, -0.009378f, 0.004689f, -0.030059f, 0.009299f, 0.021812f, 0.019190f, 0.015112f, 0.003589f, 0.006154f, -0.001055f, 0.003285f, -0.019088f, 0.006990f, -0.029839f, -0.005627f, 0.016965f, 0.006315f, + 0.017382f, 0.017308f, 0.014161f, -0.009661f, -0.022044f, -0.019127f, -0.014936f, 0.004912f, 0.005869f, 0.010253f, 0.010032f, 0.002278f, 0.006680f, 0.021569f, 0.030010f, -0.007134f, 0.010650f, -0.007405f, -0.008163f, 0.009280f, -0.013273f, -0.004591f, 0.000475f, -0.008294f, 0.007763f, -0.007197f, -0.006399f, -0.003416f, 0.001817f, -0.001838f, 0.004200f, 0.000146f, 0.006108f, -0.001390f, -0.003807f, -0.001662f, -0.003728f, -0.009440f, 0.002483f, 0.005176f, -0.000520f, 0.003425f, -0.000979f, 0.004661f, 0.008702f, 0.008465f, 0.006478f, -0.006663f, -0.003470f, 0.006526f, -0.002025f, -0.002520f, 0.000552f, -0.001021f, 0.006439f, -0.001403f, -0.000428f, -0.000937f, 0.015287f, 0.027205f, 0.031395f, 0.022792f, 0.038824f, -0.018137f, 0.027580f, -0.023616f, -0.018605f, 0.020519f, 0.026118f, 0.030950f, -0.031925f, -0.000130f, 0.007997f, -0.023565f, 0.011152f, -0.010329f, -0.016769f, 0.019137f, -0.024859f, 0.026995f, -0.025551f, 0.025293f, -0.018346f, -0.006693f, -0.001704f, -0.033321f, -0.004659f, 0.036862f, -0.009435f, -0.026244f, 0.005607f, 0.017148f, -0.019199f, 0.009563f, 0.039779f, 0.021460f, + 0.008043f, 0.017667f, -0.021063f, 0.014119f, -0.012656f, -0.036193f, -0.011007f, -0.009422f, 0.002683f, 0.016500f, 0.020306f, -0.008937f, -0.015900f, 0.014534f, 0.000099f, 0.011138f, 0.006917f, -0.005848f, 0.001982f, -0.014362f, 0.002195f, 0.004645f, -0.000192f, 0.004791f, 0.032741f, -0.003998f, 0.003241f, 0.009423f, 0.001956f, 0.004087f, -0.016649f, -0.018161f, 0.012665f, -0.021630f, -0.029467f, -0.030851f, 0.024049f, 0.015635f, 0.004637f, -0.001603f, -0.003571f, 0.011554f, -0.001813f, -0.008599f, 0.011025f, 0.030356f, 0.020475f, -0.007927f, -0.005140f, 0.009460f, 0.005429f, -0.002041f, -0.004791f, 0.003510f, 0.004278f, -0.001183f, 0.001249f, 0.016529f, 0.003944f, 0.002444f, 0.006452f, -0.005253f, 0.001211f, 0.005330f, 0.010971f, -0.000955f, 0.000799f, -0.010611f, 0.003487f, -0.005472f, -0.004058f, 0.011302f, 0.009004f, 0.000694f, 0.007062f, -0.005965f, -0.002915f, 0.003478f, 0.000085f, -0.003107f, -0.006152f, -0.006548f, 0.004290f, 0.002042f, -0.002874f, 0.003960f, -0.025180f, -0.040001f, 0.014239f, 0.051927f, 0.025431f, -0.009754f, -0.040165f, -0.013975f, 0.002563f, 0.005585f, + -0.007806f, 0.019696f, 0.013303f, -0.014620f, -0.007554f, -0.001987f, -0.026584f, 0.036896f, -0.016829f, 0.013121f, -0.003093f, -0.008742f, -0.032394f, 0.010573f, 0.006713f, -0.004077f, 0.003900f, 0.014464f, -0.005307f, 0.036070f, -0.008105f, -0.005553f, 0.030100f, -0.003407f, -0.021646f, -0.019381f, -0.037380f, 0.005091f, -0.008321f, -0.011650f, -0.008175f, -0.027450f, -0.011511f, -0.025710f, 0.002704f, -0.022635f, 0.020376f, -0.012813f, -0.000461f, 0.006303f, 0.002492f, 0.011745f, -0.010894f, -0.027778f, 0.012025f, -0.003240f, 0.006852f, -0.006247f, -0.002849f, 0.000777f, 0.026661f, 0.039927f, 0.010808f, -0.012592f, 0.013762f, 0.014468f, 0.015826f, -0.006572f, -0.013417f, 0.020342f, 0.009597f, 0.027199f, 0.006283f, 0.007237f, 0.000720f, 0.008153f, 0.024473f, 0.033454f, 0.016426f, 0.005621f, 0.012530f, 0.005263f, -0.007053f, -0.022974f, -0.014604f, 0.002578f, 0.011063f, 0.001722f, -0.000632f, -0.008623f, -0.003241f, 0.004678f, 0.003141f, -0.018164f, -0.003495f, 0.004066f, -0.000815f, -0.009059f, -0.007606f, -0.010123f, 0.001860f, -0.001807f, 0.006830f, 0.012823f, 0.007504f, 0.000398f, + -0.004333f, 0.007838f, 0.009400f, 0.000611f, 0.003101f, -0.012681f, -0.000527f, -0.004307f, -0.013041f, 0.002717f, 0.002300f, -0.011609f, -0.001261f, -0.002728f, 0.004304f, -0.004515f, 0.010839f, 0.000052f, -0.002653f, 0.014631f, 0.077772f, 0.001722f, -0.020532f, 0.064352f, 0.032913f, 0.028371f, 0.056363f, 0.055701f, 0.016222f, 0.017633f, 0.014270f, 0.060551f, 0.003339f, -0.021526f, 0.026419f, 0.005485f, -0.023497f, -0.026787f, 0.023544f, 0.022518f, 0.043804f, -0.004380f, 0.003354f, 0.000481f, 0.006158f, -0.026015f, 0.029341f, 0.020182f, 0.009131f, -0.020232f, 0.031040f, -0.009463f, -0.001467f, -0.041099f, -0.008786f, -0.003210f, -0.002444f, -0.021731f, 0.014315f, -0.020222f, -0.011353f, -0.011895f, 0.005999f, -0.014048f, -0.018731f, -0.026285f, 0.027794f, -0.020037f, 0.029549f, 0.012879f, 0.024292f, 0.007331f, -0.024433f, -0.001374f, -0.039368f, -0.018443f, -0.021401f, 0.008108f, -0.027305f, -0.015130f, -0.004863f, 0.000006f, 0.028577f, 0.002742f, -0.004341f, -0.045786f, 0.018165f, 0.015169f, -0.000968f, -0.000705f, -0.022948f, 0.017372f, 0.002024f, -0.020102f, 0.054028f, 0.011795f, + -0.006931f, -0.000996f, -0.021644f, 0.003251f, 0.027108f, -0.007510f, -0.002156f, -0.030350f, -0.017680f, 0.010506f, -0.004127f, -0.014627f, 0.017568f, 0.010314f, -0.017788f, 0.015499f, -0.006121f, 0.004635f, -0.005919f, 0.015152f, 0.003413f, -0.002863f, 0.000487f, 0.003349f, -0.021455f, -0.000193f, -0.007897f, 0.005943f, 0.007419f, 0.010077f, -0.008787f, 0.007227f, 0.005818f, 0.004159f, 0.007939f, 0.008847f, -0.000637f, 0.006705f, -0.010316f, 0.017708f, -0.008196f, 0.014903f, -0.010616f, 0.006322f, -0.023616f, -0.043311f, 0.013302f, 0.013043f, -0.013400f, 0.028190f, -0.031171f, 0.033859f, -0.024427f, -0.014228f, 0.010899f, 0.007834f, 0.087390f, 0.034144f, 0.013091f, -0.054537f, -0.001451f, -0.012947f, -0.028905f, -0.008402f, -0.010565f, -0.009572f, -0.003236f, -0.045355f, -0.000873f, -0.017164f, 0.000562f, 0.022073f, -0.024057f, 0.028644f, -0.009392f, -0.031716f, -0.028289f, 0.022691f, 0.017412f, -0.007099f, -0.015619f, 0.028942f, -0.015621f, -0.014762f, 0.022756f, -0.000660f, 0.007003f, -0.023455f, -0.000790f, -0.013795f, 0.029187f, -0.004412f, 0.041869f, -0.015673f, 0.006293f, 0.012603f, + -0.001196f, 0.001587f, 0.012774f, -0.027010f, -0.004328f, 0.034389f, 0.002792f, 0.009428f, -0.000319f, -0.027917f, 0.011927f, -0.019494f, 0.009919f, 0.030059f, 0.039023f, 0.042536f, 0.044805f, -0.009688f, 0.015726f, -0.000382f, 0.024044f, 0.054277f, -0.059637f, 0.046342f, -0.027571f, 0.012437f, 0.037276f, -0.023546f, 0.002401f, 0.011678f, 0.010166f, -0.002811f, 0.025945f, -0.010082f, -0.008204f, 0.010943f, -0.006222f, 0.024965f, -0.003707f, 0.009444f, -0.020146f, -0.003306f, -0.000602f, -0.016261f, -0.006827f, -0.020505f, 0.000214f, 0.005886f, 0.001990f, 0.022696f, -0.007504f, 0.001499f, 0.002452f, 0.009627f, 0.002376f, 0.009710f, -0.013474f, 0.010102f, 0.003114f, -0.000609f, 0.007223f, 0.009902f, -0.011330f, 0.010286f, -0.021786f, -0.019292f, 0.013435f, -0.006496f, -0.015456f, -0.002264f, 0.006324f, -0.009975f, 0.017538f, -0.020966f, -0.046049f, -0.009001f, 0.009350f, 0.000600f, 0.010839f, -0.034269f, -0.004606f, -0.007052f, -0.048670f, -0.037753f, 0.019418f, 0.020182f, 0.009407f, 0.013901f, -0.024884f, -0.012281f, -0.017618f, 0.053216f, 0.012859f, 0.001422f, 0.039976f, 0.022908f, + 0.020144f, 0.018005f, 0.015776f, -0.028176f, 0.020317f, 0.008143f, -0.008544f, 0.015828f, -0.014077f, -0.014074f, 0.027935f, -0.012162f, 0.017651f, 0.036663f, 0.001411f, 0.006963f, -0.000518f, 0.002306f, -0.007857f, -0.021632f, -0.027081f, -0.044333f, 0.018287f, -0.037566f, 0.014232f, 0.014505f, 0.019026f, 0.000043f, 0.001316f, -0.005335f, -0.028668f, -0.013777f, 0.014833f, -0.010089f, 0.015305f, 0.036674f, -0.011110f, 0.028034f, 0.013083f, 0.003035f, -0.001401f, -0.010118f, -0.026506f, -0.001215f, -0.035886f, -0.012628f, 0.038894f, -0.020756f, 0.006360f, -0.063894f, 0.030511f, -0.011907f, 0.009989f, -0.049323f, -0.043560f, 0.004051f, 0.011989f, 0.022438f, -0.050579f, -0.005470f, 0.000891f, 0.034552f, 0.028633f, 0.031972f, -0.009963f, 0.000592f, 0.005135f, 0.016678f, 0.004265f, 0.009133f, 0.026775f, 0.014959f, -0.009821f, 0.009527f, 0.002872f, 0.001808f, -0.000283f, -0.005718f, -0.021579f, 0.007598f, -0.010291f, 0.003184f, 0.008980f, -0.000367f, 0.002265f, -0.000384f, 0.009014f, -0.005488f, 0.036061f, 0.009615f, -0.001073f, 0.019839f, 0.012414f, 0.001567f, 0.006330f, -0.000703f, + -0.015596f, 0.020853f, -0.006505f, 0.002720f, 0.025413f, 0.013816f, -0.007446f, -0.000005f, -0.009606f, 0.016391f, 0.011815f, 0.013979f, 0.012434f, 0.038061f, -0.090153f, -0.022180f, -0.053555f, 0.018067f, -0.048099f, -0.016126f, -0.054510f, 0.014575f, -0.028435f, -0.021804f, -0.004676f, -0.046288f, -0.016853f, -0.049595f, -0.025068f, -0.057423f, 0.012359f, -0.053128f, -0.021031f, -0.027606f, -0.015494f, -0.014596f, -0.012436f, -0.050716f, -0.029026f, -0.038585f, -0.019827f, -0.011148f, 0.021869f, -0.003176f, 0.016316f, -0.031566f, -0.005169f, 0.001817f, -0.036398f, 0.007029f, -0.002581f, 0.003081f, 0.009493f, -0.036814f, -0.002113f, 0.013577f, -0.004586f, 0.015305f, 0.030535f, 0.055383f, -0.046040f, 0.002829f, 0.061526f, 0.000299f, 0.030184f, -0.021577f, 0.038114f, 0.006973f, -0.009144f, -0.051183f, -0.030174f, 0.042503f, 0.026204f, 0.041504f, 0.001485f, -0.028951f, 0.010542f, 0.014998f, 0.029647f, -0.055657f, 0.000366f, 0.010545f, -0.030757f, -0.010238f, -0.013315f, -0.018632f, -0.044638f, 0.068984f, -0.012707f, -0.022162f, -0.014189f, 0.014304f, 0.016532f, -0.038985f, -0.036271f, -0.001437f, + 0.011513f, 0.001810f, 0.000090f, -0.007603f, -0.013198f, -0.000167f, 0.034729f, 0.021538f, -0.000254f, -0.028624f, -0.019837f, 0.003217f, -0.011069f, 0.007585f, 0.009151f, 0.004680f, -0.003042f, -0.014765f, 0.006015f, 0.007321f, -0.004108f, 0.011083f, -0.006469f, -0.025418f, -0.012098f, -0.001451f, 0.007361f, -0.001888f, -0.008199f, -0.037194f, -0.014893f, -0.008517f, 0.002790f, 0.004668f, -0.016098f, -0.028811f, 0.011264f, 0.017305f, -0.015308f, 0.000693f, -0.013461f, 0.014574f, -0.004717f, -0.025554f, 0.038352f, -0.064726f, -0.000681f, -0.012822f, 0.027988f, -0.014242f, -0.039890f, 0.034861f, -0.070024f, -0.060375f, -0.049834f, 0.028598f, -0.014816f, 0.001624f, -0.027167f, -0.025709f, -0.030044f, 0.016921f, 0.014654f, 0.048859f, 0.023010f, 0.009917f, 0.045495f, -0.012049f, 0.016521f, -0.016350f, 0.014254f, 0.008272f, 0.027130f, 0.043841f, 0.022919f, -0.009055f, -0.026733f, -0.015922f, -0.005418f, 0.024652f, -0.008057f, 0.006922f, 0.000989f, -0.011239f, 0.023322f, -0.001409f, 0.019161f, 0.014242f, -0.037218f, 0.030823f, 0.056575f, 0.008873f, 0.047340f, 0.045824f, 0.020829f, 0.015222f, + 0.000190f, 0.024250f, -0.014970f, -0.054876f, -0.017804f, 0.040891f, 0.000492f, -0.020128f, 0.021117f, 0.058042f, -0.013135f, 0.004520f, -0.041840f, 0.041403f, 0.037154f, -0.002608f, 0.012035f, -0.018843f, 0.095228f, -0.059598f, -0.051699f, -0.048819f, 0.004276f, 0.001829f, -0.014261f, 0.042496f, -0.059408f, -0.000924f, -0.037916f, 0.014648f, 0.017026f, -0.002582f, 0.041486f, 0.009626f, -0.003329f, -0.022274f, -0.000097f, 0.010538f, 0.030294f, -0.020532f, -0.026374f, 0.011189f, -0.015632f, -0.004056f, 0.003889f, 0.007336f, 0.002675f, 0.000287f, -0.001769f, -0.024869f, 0.002604f, 0.006115f, 0.017401f, -0.014666f, -0.008146f, 0.009806f, 0.004808f, 0.006861f, 0.000849f, -0.016204f, -0.001599f, -0.018410f, -0.013867f, 0.018785f, 0.009718f, 0.010637f, 0.007557f, -0.000502f, 0.003882f, -0.004920f, 0.011564f, 0.001688f, -0.004812f, -0.000959f, -0.016023f, -0.005983f, -0.010553f, 0.006716f, 0.104581f, -0.023516f, 0.058508f, 0.099330f, -0.033501f, 0.047310f, 0.021711f, -0.063538f, 0.058023f, 0.008131f, -0.027009f, 0.041788f, 0.018563f, 0.039223f, 0.000154f, -0.034213f, 0.032278f, 0.010327f, + 0.000652f, 0.009402f, -0.009140f, -0.036165f, -0.020722f, -0.017638f, -0.030295f, -0.023457f, -0.005355f, 0.023027f, -0.020714f, -0.013348f, -0.029840f, 0.005791f, 0.003063f, 0.004223f, 0.042066f, -0.025537f, 0.010491f, -0.023740f, -0.012593f, 0.023240f, -0.018612f, -0.043334f, -0.054397f, 0.062522f, 0.028520f, -0.016320f, 0.044004f, -0.040706f, -0.034638f, -0.021981f, -0.003068f, 0.005746f, 0.000742f, -0.037943f, -0.026982f, -0.029815f, -0.063678f, -0.040714f, -0.034108f, 0.011725f, 0.021944f, -0.002426f, 0.037659f, 0.006416f, -0.037933f, -0.033752f, 0.050654f, -0.043734f, 0.006467f, 0.043349f, -0.005391f, -0.076440f, 0.053319f, -0.028607f, 0.008782f, 0.002753f, 0.044161f, -0.011191f, -0.016552f, -0.002883f, -0.024860f, 0.012496f, -0.043071f, 0.014079f, -0.055460f, -0.036328f, 0.021778f, -0.024276f, -0.006605f, -0.003707f, -0.032860f, 0.010192f, -0.019119f, 0.015194f, -0.004865f, -0.001249f, 0.001867f, 0.019975f, -0.014715f, -0.012489f, 0.003792f, -0.021543f, -0.009076f, 0.002545f, -0.013500f, -0.015279f, -0.009920f, -0.006863f, -0.015780f, -0.009534f, 0.022628f, -0.018922f, 0.008821f, 0.012941f, + -0.003156f, 0.013883f, -0.019221f, 0.001513f, -0.013475f, 0.027655f, 0.005426f, 0.009549f, -0.019674f, 0.024212f, 0.017198f, 0.018387f, 0.008152f, 0.001810f, 0.006204f, 0.013205f, -0.013466f, 0.000862f, -0.011195f, -0.050535f, 0.030389f, -0.014322f, 0.051261f, 0.035143f, -0.081343f, -0.010262f, 0.008885f, -0.049654f, -0.007855f, -0.008125f, 0.060475f, 0.043478f, 0.040484f, 0.050143f, -0.001626f, -0.035135f, -0.026962f, -0.027966f, 0.001573f, -0.077835f, 0.009591f, 0.066657f, -0.060515f, -0.109684f, 0.011418f, -0.041044f, 0.081167f, -0.000540f, 0.002902f, 0.054254f, -0.024616f, 0.011147f, -0.002269f, -0.014740f, 0.047361f, -0.013595f, 0.024079f, 0.079212f, -0.058055f, -0.033269f, -0.052894f, 0.026449f, 0.004644f, 0.053031f, -0.030181f, 0.020893f, 0.003056f, 0.048300f, 0.028678f, -0.023622f, -0.015500f, 0.018273f, -0.008519f, -0.002153f, -0.033908f, -0.033656f, 0.017874f, -0.007514f, -0.009717f, -0.019139f, 0.043939f, -0.016593f, -0.017374f, 0.073361f, 0.078624f, 0.050803f, -0.066459f, -0.005916f, -0.020759f, 0.025897f, 0.097856f, -0.012355f, -0.074246f, -0.004875f, -0.030479f, 0.043851f, + 0.019802f, -0.049882f, 0.026459f, 0.019379f, 0.025814f, -0.048128f, -0.017165f, 0.003582f, 0.042814f, 0.002640f, -0.006684f, 0.007005f, -0.014439f, 0.003374f, 0.042784f, 0.020710f, -0.017575f, -0.021306f, -0.004679f, 0.013447f, 0.017211f, 0.022531f, -0.021112f, -0.008062f, -0.038837f, -0.008160f, 0.024858f, -0.024469f, -0.003684f, -0.015105f, -0.013857f, -0.022982f, -0.004654f, 0.015691f, -0.003341f, -0.001641f, 0.004090f, 0.010011f, -0.010183f, -0.029323f, -0.030277f, 0.018402f, 0.014301f, 0.025702f, -0.012654f, 0.018871f, 0.055326f, 0.002925f, -0.032834f, -0.005278f, 0.003166f, -0.002930f, -0.020474f, -0.008398f, 0.006264f, 0.016089f, -0.003252f, -0.047672f, 0.006976f, -0.039076f, 0.035988f, 0.021069f, -0.038651f, 0.065783f, 0.099137f, 0.003064f, -0.004813f, -0.033741f, -0.034569f, 0.006043f, 0.005559f, -0.016495f, 0.089681f, -0.007839f, 0.066855f, 0.053972f, -0.067845f, -0.001863f, -0.022840f, -0.072141f, 0.018127f, 0.017060f, 0.039425f, 0.068045f, -0.002179f, -0.019076f, 0.022171f, 0.024858f, 0.053234f, 0.022632f, 0.004786f, 0.044206f, 0.046118f, 0.016201f, -0.010731f, 0.040574f, + 0.017857f, 0.048702f, 0.010274f, 0.014266f, 0.030194f, 0.051574f, -0.008634f, -0.040316f, -0.047049f, -0.015006f, -0.016405f, 0.080960f, 0.044120f, 0.124795f, -0.005867f, -0.062398f, 0.055173f, -0.018610f, -0.021549f, -0.018458f, -0.042393f, 0.006611f, 0.023738f, -0.000553f, -0.023760f, 0.088800f, -0.017689f, 0.104729f, -0.028605f, 0.056540f, 0.004892f, -0.017229f, -0.056959f, -0.080911f, 0.076236f, -0.006970f, -0.013021f, -0.022949f, 0.070865f, 0.000391f, -0.074336f, 0.136752f, 0.042886f, 0.015281f, -0.015615f, -0.056787f, 0.028710f, 0.001982f, 0.028906f, -0.026155f, 0.020642f, 0.010815f, -0.012796f, -0.019202f, 0.003606f, -0.023300f, -0.011065f, -0.026526f, 0.003250f, -0.004282f, -0.000255f, 0.009409f, 0.022380f, -0.022194f, 0.008835f, -0.010599f, -0.000550f, 0.030393f, 0.020084f, -0.010235f, -0.037316f, -0.000726f, -0.002078f, 0.005459f, 0.034358f, -0.021709f, -0.012958f, 0.009074f, 0.021630f, -0.030660f, 0.002246f, 0.021026f, -0.000302f, -0.001901f, -0.032352f, 0.017370f, -0.000848f, 0.015871f, -0.033797f, 0.004367f, 0.014611f, 0.011913f, 0.017025f, -0.032076f, 0.027640f, -0.034017f, + 0.021908f, 0.092803f, -0.055324f, -0.034904f, 0.007075f, 0.017068f, -0.010877f, 0.065778f, 0.050506f, 0.051822f, 0.016959f, 0.025771f, 0.042858f, 0.027091f, -0.016080f, -0.025422f, -0.058513f, -0.009050f, 0.031527f, 0.011278f, 0.006499f, -0.021299f, -0.055360f, -0.015702f, -0.008105f, 0.056387f, 0.000383f, -0.006358f, 0.042119f, -0.006416f, 0.011374f, 0.009404f, -0.095042f, 0.024611f, 0.025192f, -0.016207f, -0.040847f, 0.008027f, -0.053760f, -0.026846f, -0.082140f, 0.025053f, -0.068641f, -0.135009f, 0.015344f, -0.001529f, 0.094938f, -0.002953f, 0.032008f, 0.079011f, -0.013260f, -0.020081f, 0.034600f, -0.000378f, -0.069027f, -0.023678f, 0.008663f, 0.011750f, 0.050299f, 0.021401f, 0.044753f, 0.039395f, -0.028463f, -0.020722f, 0.018866f, 0.057822f, -0.024306f, -0.011757f, -0.053163f, -0.036160f, 0.013667f, -0.070990f, 0.020323f, -0.079776f, 0.014869f, -0.020821f, 0.056495f, -0.024532f, 0.039947f, -0.085527f, -0.017826f, 0.012008f, -0.051409f, 0.013185f, 0.008714f, 0.009101f, -0.038854f, 0.020501f, -0.038050f, 0.011030f, -0.003212f, -0.015803f, -0.007217f, -0.003522f, 0.011746f, -0.012894f, + -0.006328f, -0.010296f, 0.024246f, -0.015733f, 0.014047f, -0.035996f, 0.018793f, -0.001864f, -0.003200f, 0.005429f, 0.034826f, 0.012435f, 0.014731f, -0.041782f, 0.005206f, -0.017007f, -0.052138f, 0.021051f, -0.016872f, -0.012995f, -0.019411f, 0.019534f, -0.009580f, 0.009519f, 0.010656f, -0.004828f, 0.002065f, -0.012540f, 0.003446f, 0.010794f, -0.002682f, 0.001796f, -0.001574f, -0.019880f, 0.072710f, 0.077255f, 0.180933f, 0.021204f, -0.101064f, -0.076083f, -0.055795f, -0.064657f, 0.126700f, 0.168823f, 0.057419f, -0.016209f, -0.052970f, 0.001789f, -0.064133f, 0.070669f, 0.067055f, 0.019768f, 0.009852f, -0.041987f, -0.005902f, 0.077782f, 0.018325f, 0.031209f, 0.026532f, 0.081628f, 0.068916f, -0.026565f, -0.060572f, -0.080382f, -0.053951f, -0.008115f, 0.022571f, 0.073389f, 0.044244f, -0.015387f, 0.040001f, -0.055802f, -0.018782f, -0.125414f, -0.019602f, 0.123341f, 0.095568f, -0.019249f, 0.250233f, 0.078387f, 0.007544f, -0.137125f, -0.023147f, -0.011801f, -0.031939f, 0.034977f, 0.019662f, 0.029633f, 0.052702f, -0.111892f, -0.120265f, -0.060574f, -0.081054f, -0.011630f, 0.027773f, 0.101183f, + -0.060288f, 0.037006f, 0.157999f, 0.078846f, 0.027719f, 0.044211f, 0.032451f, -0.095300f, -0.157443f, 0.080656f, -0.038747f, 0.034727f, 0.084726f, 0.093435f, 0.008522f, -0.056509f, -0.074184f, -0.060705f, 0.065568f, 0.037755f, 0.011662f, 0.065179f, -0.064676f, -0.011278f, -0.010117f, -0.028744f, -0.033331f, -0.002856f, -0.000671f, 0.021158f, 0.006862f, -0.009308f, 0.000481f, -0.000802f, 0.001385f, 0.005600f, 0.012382f, 0.018848f, -0.018525f, -0.025694f, -0.087947f, -0.048272f, -0.043317f, 0.052128f, 0.031148f, 0.018654f, -0.071947f, -0.070728f, -0.113693f, -0.031072f, 0.045119f, 0.057324f, 0.074866f, 0.029282f, 0.022111f, 0.008738f, 0.007522f, -0.002097f, 0.017041f, -0.003959f, 0.053711f, 0.037863f, 0.007888f, 0.000468f, 0.000675f, -0.009130f, 0.000177f, -0.006403f, -0.038493f, -0.165506f, -0.039484f, 0.092317f, 0.176671f, 0.155718f, 0.373212f, 0.195387f, 0.132515f, 0.116661f, 0.053037f, -0.020849f, -0.188603f, -0.236680f, -0.353173f, -0.270395f, -0.277457f, -0.105513f, 0.001344f, 0.106259f, 0.197592f, 0.163070f, 0.168450f, 0.116159f, 0.158492f, 0.124133f, 0.175488f, 0.083621f, + 0.065415f, 0.031332f, -0.045189f, -0.069416f, -0.106414f, -0.064276f, -0.231097f, -0.097566f, -0.218734f, -0.157750f, -0.250347f, -0.148760f, -0.233037f, -0.082716f, -0.115547f, -0.037578f, 0.017793f, 0.118303f, 0.310100f, 0.295391f, 0.413776f, 0.280144f, 0.191012f, 0.248144f, 0.338811f, 0.298269f, 0.250420f, 0.174815f, 0.021018f, -0.169405f, -0.168281f, -0.208477f, -0.396912f, -0.438067f, -0.477274f, -0.476479f, -0.523330f, -0.452501f, -0.381306f, -0.336172f, -0.219021f, 0.025214f, 0.248990f, 0.433318f, 0.572641f, 0.713986f, 0.794310f, 0.553865f, 0.528079f, 0.342820f, 0.207572f, 0.196296f, -0.011856f, -0.064797f, -0.304432f, -0.583226f, -0.628294f, -0.509921f, -0.394298f, -0.232198f, -0.188044f, -0.191323f, -0.105688f, -0.164303f, -0.066645f, -0.018251f, 0.126064f, 0.239657f, 0.196702f, 0.256182f, 0.275152f, 0.293707f, 0.259225f, 0.346255f, 0.257138f, 0.210845f, 0.108742f, 0.022393f, -0.058670f, -0.268228f, -0.237784f, -0.318439f, -0.422433f, -0.382532f, -0.438722f, -0.450659f, -0.131650f, 0.014733f, 0.228762f, 0.280310f, 0.298294f, 0.346506f, 0.361663f, 0.307023f, 0.266781f, 0.204783f, + 0.154995f, 0.056143f, -0.040355f, -0.119455f, -0.215743f, -0.316509f, -0.296813f, -0.264701f, -0.198340f, -0.093247f, -0.041408f, -0.019510f, -0.012011f, 0.029167f, 0.060588f, 0.073944f, 0.079197f, 0.065708f, 0.052231f, 0.057055f, 0.046103f, 0.034775f, 0.063315f, 0.071501f, 0.054606f, 0.026942f, 0.013943f, 0.022723f, 0.029184f, 0.011640f, 0.005765f, 0.011619f, 0.001558f, -0.022030f, -0.065938f, -0.079239f, -0.052547f, -0.040231f, -0.046247f, -0.043939f, -0.027047f, -0.038176f, -0.043551f, -0.037373f, -0.015387f, 0.003485f, 0.018949f, 0.026279f, 0.035347f, 0.040379f, 0.037273f, 0.031702f, 0.035987f, 0.036465f, 0.031689f, 0.022345f, 0.015531f, 0.005451f, -0.001988f, -0.004290f, -0.007123f, -0.014481f, -0.008982f, -0.004248f, -0.007596f, -0.010730f, -0.007077f, -0.001393f, 0.006252f, 0.004915f, -0.000832f, -0.006618f, -0.005542f, -0.009972f, -0.018448f, -0.022936f, -0.021478f, -0.020402f, -0.017710f, -0.019145f, -0.016662f, -0.007244f, 0.000526f, 0.002617f, 0.014172f, 0.030192f, 0.036069f, 0.029907f, 0.027130f, 0.027324f, 0.023522f, 0.013734f, 0.007085f, 0.004853f, -0.000086f, -0.008218f, + -0.012184f, -0.014364f, -0.014555f, -0.014196f, -0.013190f, -0.010587f, -0.007511f, -0.006801f, -0.006272f, -0.005303f, -0.002708f, -0.001499f, -0.000463f, -0.000099f, 0.001010f, 0.000939f, 0.001212f, 0.000641f, 0.000738f, 0.000088f}, + {0.024092f, 0.001069f, 0.004072f, 0.003368f, -0.009790f, -0.005078f, 0.013361f, 0.023217f, 0.003770f, 0.012374f, -0.004990f, 0.002350f, -0.000609f, 0.010485f, -0.008265f, -0.018914f, 0.007691f, 0.008877f, -0.010998f, 0.012815f, 0.006341f, 0.011694f, 0.003735f, 0.002799f, -0.005055f, -0.001608f, 0.000655f, 0.007808f, 0.000750f, -0.011689f, 0.000565f, -0.000919f, 0.002586f, -0.001601f, 0.002141f, 0.002845f, 0.007038f, 0.005103f, 0.001724f, 0.002222f, 0.000751f, 0.003465f, -0.003549f, -0.005804f, -0.012919f, 0.002550f, 0.002916f, 0.001095f, 0.010007f, -0.003476f, 0.007792f, 0.002183f, -0.003019f, -0.006081f, -0.003902f, 0.013979f, 0.003050f, 0.007826f, 0.001364f, 0.003120f, -0.002605f, 0.000533f, 0.001003f, 0.004062f, -0.001132f, -0.005130f, -0.002736f, -0.010741f, 0.001274f, 0.002174f, 0.009314f, -0.002903f, 0.007138f, -0.001164f, 0.004700f, 0.000150f, 0.004242f, 0.003303f, 0.002020f, -0.001659f, 0.004868f, 0.006681f, 0.004694f, 0.004391f, -0.000070f, 0.001010f, 0.001160f, -0.003571f, 0.001615f, 0.000902f, 0.003294f, 0.001737f, 0.001406f, 0.001792f, 0.002381f, -0.001211f, + 0.001473f, -0.000903f, -0.000045f, -0.000379f, 0.009074f, 0.008469f, 0.004083f, 0.003375f, 0.004856f, 0.005549f, 0.008575f, -0.003825f, 0.008894f, -0.000052f, 0.009492f, -0.002198f, 0.016784f, 0.005504f, 0.005644f, -0.011488f, -0.001444f, -0.002721f, -0.014606f, 0.007913f, 0.006939f, -0.004808f, -0.019180f, -0.008949f, -0.002760f, 0.009268f, 0.013097f, 0.008021f, -0.005038f, 0.002617f, -0.008145f, 0.000246f, 0.000859f, -0.006894f, -0.003218f, -0.017629f, 0.001582f, -0.002342f, -0.007180f, 0.000612f, 0.001147f, -0.002519f, -0.000416f, 0.016582f, -0.003884f, 0.013479f, 0.002791f, -0.010684f, 0.000920f, 0.000873f, 0.007802f, -0.003592f, 0.002313f, 0.001665f, 0.000726f, 0.010284f, 0.003760f, 0.010562f, 0.008017f, -0.005650f, 0.009906f, 0.004604f, 0.007270f, 0.000519f, 0.002467f, -0.002655f, -0.004511f, -0.008975f, -0.010727f, 0.011162f, -0.011151f, -0.008862f, -0.009201f, 0.005078f, 0.004862f, 0.001926f, 0.002184f, 0.006477f, -0.004141f, 0.004837f, -0.003094f, -0.004674f, 0.007373f, -0.006820f, 0.001255f, 0.003235f, -0.005483f, 0.001205f, 0.000945f, -0.001029f, -0.000750f, -0.000649f, + 0.003929f, -0.001401f, 0.001545f, -0.001840f, 0.003047f, -0.000970f, 0.001761f, -0.002175f, -0.002083f, -0.002097f, -0.015008f, -0.014086f, 0.003086f, 0.000209f, -0.002975f, 0.008329f, -0.001044f, -0.001535f, 0.008778f, -0.009673f, 0.001938f, -0.008455f, -0.005371f, -0.003102f, 0.000147f, 0.014167f, 0.016234f, -0.007597f, 0.006391f, -0.011738f, -0.001065f, -0.004648f, 0.015769f, -0.004735f, -0.000843f, 0.001558f, -0.022091f, -0.003941f, -0.010888f, -0.003695f, -0.002671f, 0.008153f, 0.010997f, 0.004393f, 0.014848f, -0.001993f, -0.006703f, -0.006940f, 0.008590f, 0.022121f, 0.015572f, -0.008767f, -0.010098f, 0.011014f, -0.009937f, 0.001796f, 0.003581f, 0.018103f, -0.006668f, -0.009076f, 0.002016f, -0.005670f, 0.003513f, 0.004534f, 0.011604f, -0.012781f, -0.008193f, 0.007326f, 0.014009f, -0.001393f, -0.006465f, -0.008346f, -0.019746f, 0.007397f, -0.000013f, 0.005787f, 0.000945f, 0.000408f, -0.003090f, 0.003522f, -0.005031f, 0.003025f, 0.004287f, 0.004200f, -0.007004f, 0.005046f, -0.001274f, -0.005037f, 0.000484f, -0.010494f, 0.006517f, 0.000868f, 0.000832f, -0.004240f, -0.001411f, -0.003607f, + -0.007235f, -0.005614f, 0.003853f, 0.000243f, 0.001560f, -0.001469f, 0.000508f, -0.000529f, -0.002073f, -0.001755f, -0.003029f, 0.000194f, -0.001741f, -0.001420f, -0.000432f, 0.000557f, -0.000544f, 0.000867f, -0.000569f, 0.003512f, 0.001395f, -0.002241f, 0.002460f, 0.001364f, -0.002862f, 0.001888f, -0.036777f, -0.011959f, -0.002058f, 0.006368f, 0.004083f, 0.009235f, -0.017630f, -0.005131f, -0.000918f, -0.018045f, -0.013097f, 0.004671f, 0.010857f, 0.006555f, 0.011994f, -0.001440f, 0.006835f, 0.016246f, 0.014115f, 0.013491f, 0.007589f, -0.005052f, -0.004232f, -0.008186f, -0.003800f, -0.008225f, 0.017098f, 0.008115f, -0.002772f, -0.007531f, -0.004782f, -0.007692f, -0.011479f, -0.012145f, -0.015513f, 0.009378f, 0.006520f, -0.016979f, 0.003901f, -0.000804f, 0.011664f, 0.001886f, 0.005679f, 0.007722f, -0.016264f, -0.002439f, -0.000718f, 0.002208f, 0.008347f, 0.012928f, -0.005274f, -0.001798f, -0.003899f, -0.010099f, 0.003003f, 0.002091f, -0.001191f, -0.002714f, 0.009634f, 0.000590f, -0.005506f, -0.001768f, 0.004508f, 0.006291f, -0.002631f, -0.000225f, 0.001519f, -0.008781f, 0.006446f, -0.000629f, + -0.013387f, 0.001581f, -0.016315f, 0.002628f, 0.011940f, -0.003969f, -0.000593f, -0.018149f, -0.008991f, -0.013472f, -0.008313f, -0.001072f, -0.001503f, 0.008451f, 0.001535f, 0.009913f, -0.006018f, 0.003372f, 0.005256f, 0.001833f, 0.005172f, 0.000656f, -0.003635f, 0.002087f, -0.001673f, 0.001737f, 0.000070f, 0.000745f, -0.000749f, -0.002460f, -0.001003f, 0.002262f, -0.002485f, 0.001693f, 0.004097f, 0.002167f, 0.001006f, 0.000139f, 0.000069f, -0.000853f, -0.001688f, -0.002671f, 0.001943f, 0.002691f, -0.001643f, 0.001775f, -0.001730f, -0.001250f, 0.020307f, 0.007407f, 0.003583f, -0.005210f, 0.015006f, 0.005566f, 0.008558f, 0.023309f, 0.025617f, 0.000790f, -0.003956f, -0.009204f, -0.013654f, 0.004894f, 0.010226f, -0.005388f, -0.000861f, 0.001250f, -0.002252f, -0.008311f, 0.009707f, -0.009520f, 0.004569f, -0.027118f, -0.003722f, -0.006747f, -0.006377f, -0.013499f, -0.002613f, -0.001917f, 0.000367f, -0.007017f, -0.009581f, -0.007874f, 0.001225f, -0.005285f, -0.010178f, 0.005979f, 0.009035f, 0.000523f, -0.008325f, -0.009721f, 0.003648f, -0.007535f, 0.008524f, -0.010683f, 0.006901f, 0.002232f, + 0.000018f, -0.015138f, -0.013673f, 0.002988f, -0.009869f, 0.016032f, 0.003046f, 0.013416f, -0.006926f, 0.013502f, 0.002814f, 0.008610f, 0.003144f, 0.008143f, -0.007575f, -0.011263f, -0.000091f, 0.017415f, -0.001593f, -0.012132f, -0.006175f, 0.007450f, -0.004808f, -0.007044f, 0.001917f, -0.019210f, 0.012931f, 0.015168f, -0.000837f, -0.013416f, -0.016480f, -0.000774f, 0.014086f, 0.009820f, -0.007791f, 0.010445f, 0.001233f, -0.001838f, -0.001974f, -0.001390f, -0.000785f, 0.002665f, -0.004573f, -0.004343f, 0.000469f, 0.001306f, -0.003413f, 0.000986f, -0.001545f, -0.000797f, 0.003811f, -0.001797f, -0.000705f, 0.000288f, -0.005754f, 0.002784f, 0.000871f, 0.000216f, 0.001448f, 0.001530f, -0.000161f, 0.000170f, -0.001058f, -0.001467f, -0.000792f, -0.001011f, -0.001528f, 0.028704f, 0.006160f, 0.015677f, -0.006006f, 0.011695f, 0.009104f, 0.018325f, -0.013476f, -0.009997f, -0.002890f, 0.000877f, 0.013427f, -0.006386f, 0.020255f, -0.001681f, 0.011623f, 0.009625f, -0.005338f, 0.003848f, 0.011774f, 0.010462f, 0.002985f, 0.002755f, 0.010750f, -0.021876f, 0.003804f, 0.016587f, 0.013368f, -0.011912f, + 0.014896f, -0.017479f, 0.010761f, -0.015440f, -0.007440f, -0.004201f, 0.016140f, -0.003445f, 0.016888f, 0.003491f, 0.003838f, 0.000615f, -0.000308f, 0.006373f, 0.010017f, 0.021458f, 0.003659f, 0.018489f, -0.008949f, 0.013457f, 0.018254f, -0.000782f, -0.002977f, -0.006710f, 0.007214f, -0.025938f, -0.001883f, 0.002319f, -0.009379f, -0.015480f, -0.000604f, -0.001187f, -0.001808f, 0.006521f, -0.015460f, 0.007733f, 0.007187f, 0.009773f, -0.024523f, 0.008316f, 0.006216f, -0.014864f, -0.001463f, 0.007861f, 0.018497f, -0.023321f, -0.002603f, 0.001560f, -0.021578f, -0.002135f, 0.003471f, -0.006273f, 0.014617f, -0.003419f, 0.001512f, 0.003831f, -0.002249f, -0.000924f, -0.000715f, 0.002360f, -0.005387f, 0.000648f, -0.002666f, 0.001542f, 0.000784f, -0.003411f, -0.000083f, 0.003781f, -0.001491f, -0.000985f, 0.000371f, -0.004805f, -0.001481f, 0.000717f, -0.001498f, -0.002288f, -0.000386f, 0.000704f, -0.002282f, -0.001258f, 0.003507f, 0.004174f, -0.005316f, -0.000320f, 0.001197f, -0.000127f, -0.000637f, -0.025638f, -0.031585f, -0.025157f, -0.022858f, -0.000708f, 0.015982f, -0.033185f, 0.023607f, 0.015378f, + -0.037414f, 0.023587f, 0.009913f, 0.008111f, 0.003644f, 0.003680f, 0.008397f, -0.005807f, -0.006149f, -0.012213f, -0.000417f, 0.014392f, 0.012064f, 0.007122f, -0.021319f, 0.014598f, -0.015251f, 0.000478f, -0.013416f, 0.016747f, -0.008887f, -0.006837f, 0.005223f, -0.024950f, 0.002454f, -0.008223f, -0.007522f, -0.002604f, 0.001748f, 0.024667f, -0.011645f, -0.003703f, -0.009406f, 0.018776f, -0.011421f, -0.006069f, 0.005725f, 0.005692f, 0.005236f, 0.006687f, -0.007806f, 0.009091f, 0.002261f, -0.020453f, 0.028168f, 0.011288f, 0.004517f, 0.003008f, -0.000184f, -0.013078f, 0.016104f, 0.013594f, 0.005612f, 0.018167f, 0.001887f, 0.008033f, 0.018154f, 0.009331f, 0.003873f, -0.012478f, 0.014951f, -0.006520f, 0.028600f, -0.003063f, 0.000720f, -0.007759f, -0.030089f, 0.003981f, -0.007328f, -0.003522f, 0.015378f, -0.001261f, -0.016341f, -0.009237f, 0.013212f, 0.011136f, 0.001689f, 0.012895f, 0.003346f, -0.009400f, 0.004441f, -0.000868f, -0.003201f, -0.002587f, 0.001004f, 0.007644f, -0.003637f, 0.000974f, 0.001310f, 0.004313f, 0.001584f, -0.003427f, 0.005521f, 0.000841f, 0.001443f, -0.000301f, + 0.001400f, 0.000716f, -0.002214f, 0.003210f, -0.002237f, 0.002647f, 0.002014f, -0.001598f, 0.006227f, -0.000829f, 0.001508f, -0.002109f, -0.001456f, 0.018356f, 0.012512f, -0.002127f, -0.011512f, 0.030169f, 0.047973f, -0.006335f, -0.006656f, 0.023197f, 0.005649f, 0.007653f, 0.006161f, -0.034547f, 0.003813f, -0.022338f, 0.017881f, 0.025489f, -0.006679f, -0.012306f, 0.004176f, 0.016147f, -0.009677f, 0.019504f, -0.007640f, 0.037639f, -0.010991f, 0.007288f, -0.001831f, 0.010220f, 0.026825f, -0.010115f, 0.002657f, -0.002359f, 0.007772f, -0.009934f, -0.004782f, 0.015270f, 0.032908f, 0.002758f, 0.024098f, -0.008905f, 0.003341f, -0.004518f, 0.008050f, 0.017611f, 0.026269f, 0.020473f, 0.019463f, 0.020223f, 0.012810f, -0.003680f, 0.003146f, -0.002771f, 0.000537f, 0.004027f, -0.013100f, -0.003770f, 0.021178f, -0.018564f, 0.007436f, -0.008156f, -0.004861f, -0.009643f, -0.038246f, 0.004295f, 0.020798f, 0.013153f, -0.004681f, -0.018141f, -0.044083f, -0.007093f, 0.018003f, -0.003696f, 0.007134f, -0.013737f, 0.010315f, -0.012666f, 0.011706f, 0.025040f, -0.010930f, -0.013509f, -0.024911f, 0.007555f, + 0.003142f, 0.004123f, -0.019680f, 0.001450f, 0.000183f, -0.005952f, 0.001202f, 0.009341f, 0.000478f, 0.006431f, 0.002910f, 0.004176f, 0.005142f, -0.000846f, 0.008049f, 0.001936f, 0.000886f, -0.001625f, -0.002513f, -0.002167f, 0.007681f, 0.002596f, -0.000182f, 0.005137f, 0.002764f, 0.003718f, -0.000624f, 0.004259f, 0.005233f, 0.007008f, -0.002827f, 0.000782f, -0.002749f, -0.032921f, -0.026268f, 0.003455f, 0.015391f, -0.014774f, -0.009776f, 0.001976f, -0.008037f, -0.049316f, -0.042650f, 0.018618f, 0.017050f, 0.003209f, 0.002461f, -0.018020f, 0.028269f, 0.034479f, 0.021167f, -0.017688f, 0.016516f, 0.022659f, -0.003576f, -0.028600f, -0.012988f, 0.039681f, -0.011826f, 0.004039f, 0.002354f, 0.022323f, -0.017914f, -0.031753f, 0.006849f, 0.014688f, -0.007884f, 0.009423f, 0.020558f, -0.009939f, -0.007979f, -0.000872f, -0.044505f, -0.012807f, 0.015230f, -0.008380f, -0.029760f, 0.005441f, -0.000850f, -0.009282f, 0.005841f, -0.002744f, -0.028221f, -0.023809f, -0.042211f, -0.033440f, 0.006472f, 0.014827f, 0.001314f, -0.009971f, -0.014132f, 0.000404f, -0.009684f, 0.009048f, -0.020315f, 0.000745f, + -0.007238f, -0.005791f, -0.006925f, -0.001776f, 0.007846f, -0.009152f, -0.040501f, 0.006124f, -0.005887f, 0.010039f, 0.011020f, 0.000813f, 0.007637f, 0.009422f, 0.002913f, -0.002262f, 0.004863f, -0.005699f, 0.002209f, -0.012559f, -0.006739f, -0.005609f, -0.006992f, 0.002916f, 0.011080f, -0.005786f, 0.001699f, -0.014286f, 0.001595f, -0.001392f, -0.010673f, 0.004678f, -0.003435f, 0.002723f, 0.004296f, 0.002535f, 0.001887f, 0.009070f, 0.001919f, 0.001212f, 0.002959f, 0.000058f, 0.001184f, 0.001283f, -0.002634f, -0.006802f, -0.001412f, -0.006889f, 0.003213f, -0.005235f, 0.007701f, 0.000109f, 0.011058f, 0.005145f, -0.006750f, -0.004399f, -0.003706f, -0.000390f, 0.016107f, 0.051763f, 0.045985f, 0.035947f, -0.003827f, 0.035150f, 0.011409f, 0.049053f, 0.020788f, -0.000971f, 0.059841f, -0.012410f, -0.003098f, -0.038043f, -0.010008f, -0.000727f, -0.026818f, 0.016132f, 0.024056f, -0.007747f, -0.000282f, -0.021564f, -0.037028f, -0.021820f, -0.028212f, -0.008184f, -0.017012f, -0.005308f, -0.002614f, 0.017066f, 0.004391f, -0.003460f, -0.015198f, -0.005200f, -0.010112f, 0.005507f, 0.000496f, -0.015063f, + 0.008106f, 0.010155f, 0.004085f, -0.011618f, -0.015264f, 0.005224f, 0.014330f, -0.001934f, -0.000406f, -0.027093f, 0.048891f, 0.008279f, -0.009137f, -0.001231f, 0.004468f, 0.020973f, 0.017870f, -0.018238f, 0.010493f, -0.007068f, 0.002376f, -0.002990f, -0.004468f, -0.027764f, -0.024709f, -0.033266f, 0.005224f, -0.001290f, -0.006875f, 0.021061f, -0.006489f, 0.059260f, -0.005649f, -0.003081f, -0.014387f, -0.006399f, 0.007863f, 0.010287f, 0.007341f, -0.000384f, 0.025652f, 0.018365f, -0.003566f, -0.012199f, 0.003577f, -0.007226f, 0.000177f, 0.002513f, -0.007983f, -0.002587f, 0.000437f, -0.002632f, 0.004227f, -0.009958f, 0.006232f, 0.011388f, -0.003212f, 0.006035f, -0.003237f, -0.002652f, -0.004303f, 0.001983f, 0.006492f, -0.002526f, 0.008632f, 0.001715f, 0.003215f, 0.011705f, 0.005247f, -0.001407f, 0.012418f, 0.005614f, 0.008696f, 0.011098f, 0.008722f, 0.001070f, 0.000245f, 0.008256f, -0.007187f, 0.000388f, 0.005232f, 0.002851f, 0.005952f, 0.005386f, 0.003121f, 0.006872f, -0.031218f, -0.045277f, -0.024663f, 0.033059f, 0.026622f, -0.023323f, -0.023442f, 0.035475f, 0.021946f, -0.023051f, + -0.030662f, -0.005492f, 0.005540f, 0.003003f, 0.004648f, -0.018488f, 0.019149f, -0.013908f, 0.037235f, -0.006207f, -0.025742f, 0.005582f, 0.009718f, -0.000703f, 0.003088f, -0.011936f, -0.016646f, -0.001428f, 0.015295f, -0.009708f, 0.011711f, -0.018675f, -0.048295f, -0.039900f, 0.025211f, -0.031194f, 0.024865f, 0.006669f, 0.003138f, -0.010775f, 0.014717f, 0.004114f, -0.003582f, -0.007561f, 0.007034f, 0.014268f, -0.013082f, 0.040574f, -0.010105f, 0.013302f, -0.012127f, 0.003093f, -0.003214f, -0.016638f, 0.039947f, -0.031579f, 0.043434f, -0.002093f, -0.021193f, -0.033163f, 0.016951f, 0.005316f, 0.005685f, 0.001387f, 0.017819f, 0.011231f, 0.016176f, -0.034123f, -0.009909f, 0.000370f, 0.000736f, 0.007951f, -0.025179f, -0.012863f, -0.008131f, -0.004887f, -0.031589f, -0.007029f, -0.010450f, -0.036361f, -0.001720f, -0.020844f, 0.005418f, -0.010056f, 0.002905f, 0.004108f, 0.015883f, 0.008773f, -0.005816f, -0.001515f, -0.012998f, 0.006756f, -0.000761f, 0.005797f, -0.015290f, 0.000342f, -0.006040f, 0.003236f, -0.014084f, 0.002298f, 0.003388f, 0.000211f, -0.003027f, 0.004484f, -0.008222f, 0.005883f, + -0.012906f, 0.004501f, -0.009215f, 0.004066f, 0.002604f, 0.005903f, -0.004722f, 0.015894f, 0.006572f, -0.000247f, -0.009755f, -0.008640f, -0.001433f, 0.010453f, -0.002133f, -0.005845f, -0.004986f, 0.007010f, 0.000629f, 0.006609f, 0.076834f, 0.025637f, -0.017132f, 0.039481f, 0.036769f, -0.019007f, -0.024220f, 0.059364f, -0.005314f, 0.013062f, -0.035200f, 0.086415f, 0.003022f, -0.024187f, 0.012549f, 0.004331f, 0.041962f, 0.000737f, 0.052994f, -0.038069f, 0.000826f, -0.041584f, 0.003217f, 0.029258f, 0.001371f, -0.025472f, 0.036131f, 0.019323f, 0.010650f, 0.008714f, -0.012610f, -0.012158f, 0.003302f, -0.018020f, 0.023664f, -0.021068f, -0.028100f, 0.024843f, 0.009420f, -0.032593f, 0.017726f, 0.002165f, -0.023697f, -0.013281f, -0.007912f, 0.012486f, -0.002789f, -0.014271f, 0.017427f, -0.021068f, -0.008353f, -0.007218f, 0.029162f, -0.019129f, 0.014098f, 0.022402f, 0.010373f, -0.013232f, -0.027232f, 0.017280f, -0.023286f, 0.031510f, -0.039673f, 0.052352f, -0.015487f, -0.007352f, -0.007434f, 0.023841f, -0.001714f, 0.008656f, 0.014254f, 0.008587f, 0.020257f, -0.019762f, -0.037640f, 0.002648f, + 0.031999f, -0.021343f, -0.010104f, -0.022308f, -0.013384f, 0.005892f, -0.002202f, -0.006412f, 0.013847f, 0.009969f, 0.007324f, -0.003508f, 0.021108f, 0.012930f, -0.009790f, -0.005153f, 0.004171f, 0.001137f, 0.017878f, 0.011337f, -0.001438f, -0.005803f, -0.004518f, 0.019521f, 0.001823f, -0.009988f, 0.012373f, 0.003718f, 0.000535f, 0.010321f, 0.004698f, -0.001802f, -0.010493f, 0.002953f, 0.012849f, -0.009500f, -0.002345f, 0.014630f, -0.000913f, -0.003001f, -0.003644f, 0.008644f, 0.001708f, 0.000264f, -0.003846f, -0.045955f, -0.005687f, 0.042023f, -0.012267f, -0.026205f, 0.011629f, -0.012302f, -0.002240f, 0.019055f, -0.045620f, -0.026810f, 0.017671f, 0.023491f, 0.032052f, -0.002260f, -0.006017f, 0.012913f, -0.003058f, -0.045117f, -0.030869f, 0.053089f, -0.003994f, -0.046492f, -0.026961f, -0.018703f, -0.015343f, 0.004331f, 0.015655f, 0.000859f, -0.007724f, -0.023194f, -0.035456f, 0.004794f, 0.004767f, -0.001229f, 0.029074f, -0.019796f, -0.055640f, 0.022600f, 0.016431f, -0.065024f, 0.038888f, -0.010505f, -0.032796f, -0.027048f, -0.002395f, 0.037033f, 0.008903f, -0.012245f, -0.013356f, 0.010588f, + 0.019509f, -0.027375f, 0.021023f, 0.003394f, 0.015502f, -0.011845f, -0.028438f, 0.025292f, 0.000137f, 0.028362f, -0.087972f, 0.011204f, 0.013653f, -0.013008f, 0.024524f, 0.028427f, 0.083746f, 0.002384f, -0.055198f, -0.025466f, -0.014374f, -0.053696f, -0.052659f, 0.002747f, -0.029876f, 0.000396f, -0.019829f, 0.019731f, -0.020179f, -0.019895f, 0.035385f, 0.008676f, -0.001122f, -0.001940f, 0.020802f, -0.004378f, -0.001992f, 0.012003f, 0.009939f, -0.007624f, 0.006820f, -0.018890f, -0.004073f, 0.005258f, -0.003478f, -0.005494f, -0.009008f, -0.009693f, -0.004873f, -0.011952f, 0.004884f, -0.015189f, 0.003384f, -0.002642f, 0.014330f, -0.003372f, -0.007333f, -0.006335f, -0.008463f, -0.009184f, -0.002353f, -0.006428f, -0.011046f, -0.008265f, 0.008266f, -0.011064f, -0.005583f, -0.019768f, 0.006199f, 0.007904f, 0.020494f, 0.004572f, -0.002507f, 0.001230f, -0.038521f, 0.006239f, 0.023564f, 0.021215f, -0.034203f, 0.060765f, 0.042157f, -0.019372f, 0.025161f, -0.049037f, -0.011033f, -0.016379f, 0.077424f, 0.049770f, -0.018599f, -0.029510f, -0.036336f, -0.007964f, 0.001924f, 0.014329f, 0.051895f, 0.011149f, + 0.008709f, 0.011336f, 0.001305f, -0.017077f, 0.001960f, -0.003168f, 0.023842f, 0.032440f, 0.040890f, 0.026785f, 0.017265f, -0.003949f, -0.007712f, 0.006609f, 0.037057f, 0.005977f, 0.006469f, -0.037716f, -0.019350f, 0.063947f, 0.025786f, 0.019299f, 0.000343f, 0.038361f, 0.020302f, 0.080721f, -0.004648f, 0.083226f, 0.005770f, -0.025663f, 0.026767f, -0.022322f, -0.016924f, -0.002805f, -0.015480f, 0.001059f, 0.015290f, 0.033395f, 0.005643f, -0.006928f, -0.036556f, 0.011907f, 0.002869f, 0.024185f, -0.028705f, 0.007786f, -0.012759f, 0.004482f, -0.036476f, 0.018629f, -0.032114f, -0.003697f, -0.043661f, -0.059656f, -0.010132f, -0.009154f, 0.049131f, 0.013479f, -0.001683f, 0.009440f, 0.015222f, 0.019418f, 0.003102f, -0.000519f, 0.000645f, -0.034463f, 0.010839f, 0.000721f, 0.032173f, -0.012895f, -0.001733f, -0.008409f, 0.022818f, 0.004818f, 0.020829f, -0.000002f, -0.024538f, 0.012141f, -0.001420f, 0.008327f, -0.018692f, -0.008125f, 0.004295f, 0.005385f, -0.013938f, 0.001597f, 0.012478f, 0.008145f, -0.012284f, -0.013187f, 0.023589f, -0.023619f, 0.009800f, -0.007081f, -0.019664f, 0.006482f, + 0.004296f, 0.006540f, 0.007941f, -0.008617f, -0.001303f, 0.011726f, 0.000745f, 0.008268f, -0.003549f, -0.008789f, -0.009487f, -0.020451f, -0.030929f, 0.009334f, -0.035505f, -0.000201f, 0.043098f, 0.013357f, 0.036740f, -0.042724f, -0.019595f, 0.020709f, 0.004316f, 0.060761f, -0.030943f, 0.036264f, -0.013773f, -0.018618f, -0.045404f, -0.017824f, -0.024415f, 0.030262f, 0.007105f, -0.040651f, 0.050665f, -0.026403f, -0.024415f, 0.004712f, 0.019710f, -0.015031f, 0.035013f, -0.017229f, -0.024424f, -0.012789f, 0.011581f, -0.004524f, -0.006763f, 0.003549f, 0.034873f, -0.023942f, 0.063885f, -0.025098f, -0.000916f, 0.058997f, -0.011998f, 0.010154f, -0.080942f, 0.003303f, 0.014343f, -0.018545f, 0.035547f, -0.065166f, -0.079463f, 0.029802f, -0.014209f, 0.043557f, -0.032894f, -0.031265f, 0.003390f, -0.010515f, 0.067301f, -0.008558f, -0.003246f, 0.014674f, -0.062822f, 0.003204f, -0.063488f, -0.025739f, 0.003474f, 0.014751f, -0.079231f, -0.035677f, -0.009891f, -0.004257f, 0.025397f, -0.034321f, 0.040281f, -0.017038f, 0.004349f, -0.052362f, -0.002835f, -0.046320f, 0.017131f, 0.009498f, 0.033944f, 0.043091f, + -0.016436f, 0.028100f, 0.003643f, -0.009800f, 0.014372f, 0.008665f, -0.014246f, -0.014666f, -0.025331f, -0.001380f, -0.015168f, -0.016094f, 0.005170f, -0.004169f, 0.021392f, -0.029547f, -0.005313f, -0.018764f, 0.006953f, 0.010087f, -0.010353f, -0.001854f, -0.015729f, -0.015948f, 0.017080f, 0.027951f, 0.031762f, 0.006065f, 0.001795f, -0.009135f, 0.005797f, 0.004775f, -0.012395f, -0.019816f, 0.006315f, -0.010693f, -0.014434f, 0.021125f, 0.014798f, 0.012109f, -0.020119f, -0.023456f, -0.049476f, 0.040447f, -0.035520f, -0.009495f, 0.031503f, 0.073758f, -0.021199f, 0.060558f, 0.021022f, 0.016052f, -0.028182f, 0.067036f, 0.010163f, 0.031597f, 0.002660f, -0.038381f, 0.013955f, -0.038540f, -0.039184f, 0.024940f, -0.039031f, -0.007750f, -0.009290f, 0.039996f, 0.003186f, -0.012594f, 0.012574f, 0.018146f, -0.008293f, -0.036505f, -0.008884f, 0.029197f, 0.069014f, 0.016575f, -0.039134f, 0.004922f, -0.007641f, 0.017218f, 0.020849f, 0.035710f, -0.015656f, 0.001436f, 0.022564f, 0.005863f, -0.001332f, 0.046906f, 0.041657f, 0.050403f, 0.017033f, 0.042449f, 0.005590f, 0.025704f, -0.019819f, -0.002910f, + 0.005427f, -0.038310f, 0.002811f, 0.066406f, -0.008483f, -0.013841f, 0.013733f, -0.000415f, 0.017583f, -0.038636f, 0.051759f, -0.031992f, -0.014649f, -0.008357f, 0.002549f, 0.006656f, 0.006567f, -0.056466f, 0.071818f, -0.015060f, -0.023116f, -0.007993f, 0.060975f, -0.006430f, 0.012618f, -0.047785f, -0.033711f, 0.001501f, 0.025327f, 0.023880f, 0.038966f, -0.062244f, -0.019733f, 0.060591f, -0.021659f, 0.007142f, 0.051344f, 0.012754f, 0.011177f, -0.002844f, 0.001701f, -0.019133f, -0.001593f, 0.005411f, 0.014612f, -0.008385f, 0.012156f, -0.022156f, -0.012790f, 0.001723f, -0.006457f, -0.003408f, -0.052770f, -0.040348f, 0.003288f, 0.027016f, -0.024939f, -0.042106f, -0.017461f, -0.034504f, 0.009757f, 0.001987f, -0.013445f, 0.033971f, -0.009709f, 0.014135f, 0.015300f, -0.017827f, -0.012927f, -0.002631f, 0.004074f, -0.000938f, 0.025280f, 0.000027f, 0.001570f, -0.011850f, -0.002791f, -0.018886f, 0.117807f, -0.007169f, 0.023793f, -0.001260f, -0.011871f, 0.003035f, -0.054172f, -0.023505f, -0.016523f, 0.020841f, 0.015276f, 0.026294f, 0.003223f, -0.028932f, 0.030154f, -0.024631f, 0.034730f, 0.025105f, + -0.027827f, -0.030325f, 0.003707f, 0.041935f, -0.043234f, 0.017796f, 0.020105f, -0.025150f, 0.011144f, -0.003588f, 0.015244f, -0.002320f, -0.063127f, 0.035051f, 0.021873f, -0.053688f, 0.064351f, -0.034494f, -0.008116f, -0.021526f, 0.051943f, -0.010731f, -0.044081f, -0.000535f, 0.000715f, 0.042423f, 0.043651f, 0.002426f, -0.033596f, 0.048424f, -0.007866f, 0.008156f, -0.062004f, 0.048359f, 0.019936f, 0.002459f, -0.035574f, -0.027457f, -0.003778f, 0.016494f, -0.028597f, -0.051635f, -0.021762f, 0.039881f, 0.025034f, -0.006493f, 0.065570f, 0.003390f, -0.010655f, -0.047824f, 0.057857f, -0.054308f, -0.017362f, 0.058546f, 0.018671f, 0.007115f, -0.022228f, 0.008629f, 0.058250f, 0.012377f, 0.025539f, 0.036324f, -0.095317f, -0.021448f, -0.015837f, -0.008466f, -0.039532f, -0.007586f, -0.004686f, 0.057321f, 0.015694f, 0.003326f, 0.029437f, 0.040781f, 0.028981f, -0.021101f, 0.011047f, 0.024158f, -0.004901f, 0.008970f, 0.010687f, 0.012613f, 0.008560f, 0.040508f, 0.022270f, 0.001945f, -0.011962f, -0.019145f, -0.035608f, 0.004570f, 0.000050f, 0.009000f, 0.011703f, 0.004935f, 0.061914f, -0.009123f, + 0.022403f, 0.012788f, -0.016838f, -0.049772f, -0.007936f, -0.018832f, -0.030591f, -0.033640f, 0.005711f, -0.006094f, -0.039821f, -0.000517f, 0.015203f, -0.004585f, -0.003872f, 0.013267f, -0.009790f, -0.031122f, -0.013520f, -0.048081f, 0.002433f, -0.053723f, 0.050285f, 0.076162f, 0.036727f, 0.042897f, -0.066435f, -0.061017f, -0.046283f, 0.003507f, 0.084341f, -0.016495f, 0.031886f, 0.053220f, 0.028192f, -0.031049f, 0.002617f, 0.038545f, -0.050316f, -0.043827f, -0.035868f, 0.040417f, 0.029738f, -0.054734f, -0.074916f, 0.101501f, 0.064072f, -0.074371f, 0.033891f, -0.009746f, 0.031102f, 0.002047f, -0.021418f, -0.052054f, 0.047150f, -0.002476f, -0.036980f, -0.057663f, 0.015143f, 0.011943f, -0.013567f, 0.000237f, -0.004539f, -0.029118f, -0.011562f, -0.015954f, 0.026853f, -0.050744f, 0.055212f, -0.038618f, 0.002665f, 0.084515f, -0.082158f, -0.021318f, 0.078798f, 0.004367f, 0.018909f, -0.012955f, -0.023861f, 0.023177f, -0.008492f, -0.035826f, 0.005057f, -0.079967f, 0.133839f, -0.014490f, -0.146430f, 0.054237f, 0.145518f, 0.084145f, -0.178674f, -0.053537f, 0.034410f, 0.011540f, -0.026801f, -0.042748f, + 0.022835f, 0.053331f, -0.066966f, -0.020057f, -0.117194f, -0.021746f, 0.041059f, 0.013365f, -0.035534f, -0.060348f, 0.023567f, 0.050125f, -0.000711f, -0.017395f, -0.027842f, 0.039514f, 0.024748f, 0.015164f, -0.003106f, -0.013902f, 0.005220f, 0.021374f, 0.018127f, -0.005731f, -0.046836f, -0.030936f, 0.049345f, 0.019432f, -0.025000f, -0.018745f, 0.035455f, 0.010153f, -0.004671f, -0.073145f, -0.032555f, -0.037312f, 0.040359f, 0.009340f, 0.008976f, -0.009109f, 0.001197f, 0.037348f, -0.007777f, -0.008661f, -0.033942f, 0.005018f, -0.010900f, 0.052760f, 0.011677f, -0.013984f, 0.006717f, 0.053237f, -0.007101f, -0.022824f, 0.004529f, 0.000414f, -0.002753f, -0.037840f, 0.009231f, 0.035909f, 0.086115f, -0.036457f, 0.028520f, -0.045841f, -0.119135f, 0.064056f, -0.029497f, -0.066146f, -0.044744f, -0.067602f, 0.032808f, 0.021752f, -0.089464f, 0.057309f, -0.030741f, -0.002822f, -0.000421f, -0.046810f, 0.036367f, 0.035021f, 0.032036f, -0.003490f, 0.041701f, 0.020924f, -0.024197f, 0.001763f, -0.050719f, -0.019113f, -0.044920f, -0.032295f, -0.001559f, 0.073644f, -0.061232f, -0.013691f, -0.012666f, -0.055939f, + 0.033206f, -0.063032f, 0.033101f, 0.027665f, -0.041796f, 0.033049f, -0.067602f, 0.019185f, -0.058688f, 0.038100f, -0.021563f, -0.031801f, -0.031867f, -0.048802f, -0.012373f, 0.023963f, 0.042861f, -0.049518f, 0.033502f, 0.017997f, 0.052050f, 0.062789f, 0.037298f, -0.052886f, -0.023714f, -0.099117f, -0.024290f, -0.029044f, 0.033504f, -0.115604f, -0.021201f, -0.068902f, -0.005291f, 0.068400f, 0.063934f, 0.041236f, 0.015382f, 0.092235f, 0.102054f, 0.089920f, -0.030365f, -0.040915f, 0.034959f, 0.088021f, 0.164034f, 0.011473f, 0.038899f, 0.019595f, -0.008105f, 0.029875f, -0.028812f, 0.017486f, -0.007020f, -0.000751f, -0.018345f, 0.030324f, 0.036083f, -0.012688f, -0.028685f, -0.022552f, 0.027482f, 0.011566f, 0.031079f, -0.017012f, 0.012429f, -0.006356f, -0.012883f, -0.009016f, 0.030863f, 0.059470f, 0.029178f, -0.031323f, 0.016376f, -0.011032f, 0.022009f, 0.009270f, 0.011181f, 0.028928f, -0.018248f, -0.039673f, 0.003854f, 0.029952f, 0.024313f, 0.007837f, -0.005309f, -0.013875f, -0.053508f, 0.052806f, 0.015409f, -0.012836f, -0.055670f, -0.013472f, -0.038088f, 0.018937f, 0.022055f, -0.018645f, + 0.013681f, 0.107100f, -0.063324f, 0.040056f, 0.048616f, -0.022481f, 0.004391f, 0.018670f, -0.006000f, 0.051970f, 0.002633f, 0.037639f, -0.048113f, -0.006764f, 0.041781f, 0.006928f, -0.065270f, 0.042278f, -0.026083f, -0.021196f, -0.024939f, -0.006430f, -0.024323f, 0.024790f, 0.034547f, 0.016889f, -0.006059f, -0.018098f, 0.029973f, -0.009717f, -0.047944f, 0.039311f, -0.080929f, -0.020312f, -0.016683f, -0.017703f, 0.046144f, 0.050611f, 0.090609f, -0.026496f, 0.038754f, -0.001345f, 0.017461f, 0.059517f, -0.004349f, 0.006458f, -0.039636f, -0.124722f, 0.061801f, 0.012025f, -0.060276f, -0.041178f, 0.006098f, 0.032769f, -0.005745f, -0.035234f, 0.018356f, -0.036127f, 0.047717f, 0.026759f, -0.020775f, -0.043351f, 0.086497f, 0.009669f, 0.004625f, -0.007768f, 0.012031f, 0.006276f, 0.003822f, -0.028903f, -0.061400f, 0.017172f, -0.008935f, -0.021691f, -0.056568f, -0.013747f, -0.001597f, 0.050709f, 0.020924f, -0.063450f, 0.037203f, 0.006818f, -0.002316f, -0.006852f, 0.020812f, 0.026737f, -0.005134f, -0.011676f, -0.004386f, -0.011033f, 0.009935f, 0.015993f, -0.000550f, 0.009277f, 0.017850f, -0.006289f, + 0.025711f, 0.011109f, 0.008022f, 0.013677f, -0.007009f, 0.032248f, 0.005599f, -0.006511f, 0.021094f, -0.024983f, 0.008350f, 0.014807f, -0.005752f, -0.010517f, 0.029058f, 0.041810f, -0.036909f, -0.006586f, -0.012828f, -0.012434f, 0.015128f, 0.013177f, -0.023054f, 0.013246f, 0.010690f, 0.009585f, 0.011189f, -0.020630f, 0.015319f, -0.001265f, 0.009187f, -0.025801f, -0.006375f, 0.005422f, 0.119458f, 0.060095f, 0.120200f, -0.111045f, 0.010097f, 0.056876f, -0.021736f, 0.064858f, 0.126791f, 0.068722f, 0.004564f, -0.034580f, -0.034544f, 0.005981f, 0.055251f, 0.058029f, 0.013845f, -0.000714f, -0.086606f, -0.018528f, 0.086459f, 0.027859f, -0.023443f, 0.046887f, -0.039853f, -0.057055f, -0.014992f, -0.004347f, 0.066958f, 0.086195f, 0.078473f, 0.028958f, -0.029706f, -0.047040f, -0.085674f, -0.086285f, 0.075158f, 0.030720f, 0.006627f, 0.114697f, 0.007492f, -0.035889f, -0.046671f, -0.048523f, 0.023820f, 0.048661f, 0.039701f, 0.075026f, 0.005869f, 0.053817f, -0.003071f, -0.010378f, 0.028059f, 0.049780f, 0.037347f, 0.031415f, -0.028247f, -0.011490f, -0.022178f, -0.051708f, -0.040456f, -0.075083f, + -0.024445f, 0.019357f, -0.011747f, 0.053570f, 0.065613f, -0.001674f, 0.001093f, -0.027283f, -0.047140f, 0.009205f, 0.063409f, -0.004245f, 0.035304f, 0.014659f, -0.004105f, -0.020339f, -0.008604f, 0.005135f, 0.022436f, 0.016508f, -0.016362f, -0.035860f, -0.043099f, -0.041498f, -0.015384f, 0.015973f, -0.003804f, -0.026315f, -0.012694f, -0.018453f, -0.014622f, 0.007797f, -0.001835f, 0.023494f, 0.034964f, 0.007119f, -0.041546f, -0.022215f, -0.024718f, -0.006344f, 0.028753f, 0.006204f, 0.007393f, -0.034969f, -0.032097f, -0.037696f, -0.018610f, 0.031720f, 0.022458f, 0.027295f, 0.015417f, -0.014147f, -0.016322f, 0.011222f, 0.011121f, -0.003524f, 0.007664f, -0.014801f, -0.011012f, 0.007791f, 0.006302f, 0.011035f, -0.006446f, -0.014713f, -0.006122f, -0.011421f, -0.001678f, 0.021478f, -0.063304f, -0.123043f, 0.048468f, 0.201018f, 0.204109f, 0.173028f, 0.125134f, -0.077174f, -0.088312f, -0.095143f, -0.126862f, -0.193788f, -0.156359f, -0.135551f, 0.062864f, 0.145918f, 0.108283f, 0.234586f, 0.181068f, 0.094621f, -0.034992f, -0.063048f, -0.157735f, -0.122903f, -0.121964f, -0.024774f, -0.074784f, -0.060492f, + 0.017949f, 0.033121f, 0.066275f, 0.066784f, 0.091310f, 0.090834f, 0.116884f, 0.068380f, 0.029887f, -0.016895f, -0.019889f, -0.051357f, -0.078037f, -0.093949f, -0.115138f, -0.075200f, -0.141386f, -0.093986f, -0.070762f, 0.070833f, 0.133933f, 0.144695f, 0.099888f, 0.068271f, 0.106617f, 0.081801f, 0.102320f, 0.080634f, 0.028104f, -0.037898f, -0.179503f, -0.126732f, -0.129435f, -0.200551f, -0.126019f, -0.108835f, -0.105869f, 0.038568f, 0.106269f, 0.169062f, 0.138983f, 0.198728f, 0.178119f, 0.174416f, 0.124138f, -0.067690f, -0.061506f, -0.139379f, -0.184609f, -0.203158f, -0.166851f, -0.079909f, -0.022845f, -0.042010f, 0.054888f, 0.145587f, 0.102435f, 0.069399f, 0.116552f, 0.098174f, 0.034929f, -0.022976f, -0.023394f, -0.007463f, -0.028674f, -0.078180f, -0.049314f, -0.055834f, -0.030349f, -0.024993f, -0.058439f, -0.021510f, 0.019982f, -0.019462f, 0.064490f, 0.085370f, 0.093550f, 0.099190f, 0.006063f, 0.029674f, 0.028816f, -0.008365f, -0.135845f, -0.108212f, -0.084739f, -0.075483f, -0.059623f, -0.056350f, 0.062394f, 0.093444f, 0.101352f, 0.097199f, 0.079967f, 0.055003f, 0.049328f, -0.000647f, + -0.014716f, -0.078398f, -0.106032f, -0.094779f, -0.079206f, -0.050380f, -0.032916f, 0.003933f, 0.047709f, 0.096986f, 0.072494f, 0.046259f, 0.033385f, 0.009265f, -0.000662f, 0.000159f, -0.019343f, -0.025130f, -0.020883f, -0.024553f, 0.005911f, -0.009163f, -0.033874f, 0.004580f, 0.016264f, -0.005929f, -0.008409f, -0.006916f, 0.003902f, 0.006476f, -0.008765f, 0.002020f, 0.022146f, 0.013941f, 0.006555f, 0.013723f, 0.013232f, 0.002365f, -0.002519f, -0.004112f, -0.008796f, -0.012419f, -0.009208f, -0.006645f, -0.008461f, -0.007028f, -0.003201f, -0.001252f, 0.001931f, 0.004133f, 0.004210f, 0.003843f, 0.006657f, 0.005388f, 0.005938f, 0.002477f, -0.002266f, -0.002748f, -0.000228f, -0.002567f, -0.004951f, -0.003176f, 0.002194f, 0.005103f, 0.006385f, 0.005036f, 0.004896f, 0.001218f, -0.002546f, -0.005375f, -0.008038f, -0.010830f, -0.010118f, -0.008915f, -0.005546f, -0.002374f, 0.002095f, 0.007689f, 0.013675f, 0.015272f, 0.015251f, 0.012285f, 0.007644f, 0.001687f, -0.003746f, -0.010958f, -0.014265f, -0.015488f, -0.013347f, -0.009609f, -0.004614f, 0.001057f, 0.006381f, 0.007769f, 0.009162f, 0.008066f, + 0.005831f, 0.002823f, 0.001199f, -0.000307f, -0.000813f, -0.001512f, -0.001536f, -0.001870f, -0.001008f, -0.001180f, -0.000923f, -0.001204f, -0.000518f, -0.000670f, -0.000110f, -0.000390f, 0.000129f, -0.000294f, 0.000147f, -0.000211f} + }, + { + {-0.006330f, 0.006372f, 0.005245f, 0.012101f, -0.016482f, 0.003612f, 0.010679f, 0.019825f, -0.002242f, 0.011209f, -0.000579f, 0.010185f, 0.002326f, 0.015574f, -0.000426f, -0.004932f, 0.010316f, 0.014928f, 0.013947f, 0.008387f, 0.002158f, -0.005639f, -0.004625f, 0.001479f, 0.007064f, -0.003561f, 0.003226f, 0.000968f, 0.008047f, -0.003864f, -0.000334f, 0.002115f, -0.009840f, -0.005579f, -0.002967f, -0.010086f, 0.002330f, -0.002793f, -0.000188f, -0.001307f, -0.008562f, 0.006661f, 0.009988f, -0.002014f, 0.000712f, 0.001000f, -0.001709f, 0.010776f, -0.013087f, 0.000030f, 0.005280f, 0.001509f, 0.001621f, -0.003054f, -0.010853f, -0.002685f, 0.004093f, 0.005013f, 0.005410f, -0.000915f, 0.000099f, 0.000133f, 0.002092f, -0.001768f, 0.011179f, 0.000374f, -0.001078f, -0.007328f, 0.000912f, -0.005233f, -0.004164f, 0.004501f, 0.004759f, 0.011671f, 0.000327f, 0.011476f, 0.001215f, 0.001291f, 0.000687f, -0.005984f, 0.000292f, -0.002095f, -0.003150f, 0.001287f, 0.003576f, -0.002256f, 0.001398f, -0.002336f, 0.002824f, -0.002978f, -0.001017f, -0.001505f, 0.001602f, -0.000917f, 0.001492f, -0.001304f, + 0.001773f, 0.003299f, 0.001545f, -0.001536f, -0.000500f, -0.000766f, -0.000865f, 0.000979f, 0.000620f, -0.000738f, 0.012949f, 0.020945f, 0.002825f, 0.010416f, -0.003770f, 0.006178f, 0.008111f, -0.002511f, -0.006471f, 0.010972f, 0.018979f, -0.003740f, 0.002123f, 0.007313f, -0.009061f, 0.005630f, 0.008113f, -0.016598f, 0.004680f, 0.001597f, -0.003712f, -0.000020f, -0.017244f, 0.000681f, 0.004853f, -0.008228f, 0.001536f, 0.000269f, 0.011074f, 0.007877f, -0.004135f, -0.001202f, -0.001034f, -0.011774f, -0.007886f, 0.001271f, 0.004764f, 0.001042f, 0.005291f, -0.007786f, 0.001188f, 0.003857f, 0.000817f, -0.007210f, -0.005248f, -0.001614f, 0.002517f, 0.005795f, 0.006030f, 0.003991f, 0.007037f, 0.006853f, -0.007702f, -0.002382f, 0.000326f, 0.009750f, -0.001474f, 0.006990f, -0.004598f, -0.004793f, -0.001465f, -0.008801f, -0.004040f, 0.001779f, 0.005136f, -0.007514f, 0.007347f, -0.002095f, -0.002179f, -0.001484f, -0.002960f, -0.003810f, 0.001527f, 0.005687f, 0.002138f, 0.009505f, -0.013203f, -0.010672f, -0.002337f, 0.003929f, -0.000132f, -0.002191f, 0.002028f, 0.000278f, 0.002458f, 0.004002f, + 0.006740f, 0.000102f, -0.000390f, 0.001577f, -0.000619f, -0.000115f, 0.001044f, -0.003110f, -0.001618f, -0.006414f, 0.002556f, 0.012150f, 0.017208f, 0.009960f, -0.004304f, 0.007369f, -0.004484f, -0.003038f, -0.014681f, -0.011712f, 0.005323f, 0.011247f, 0.011035f, 0.011467f, 0.002586f, 0.000612f, 0.007137f, -0.009485f, 0.009564f, 0.007716f, 0.000743f, 0.006628f, 0.017071f, 0.011586f, 0.003281f, -0.012249f, 0.000391f, 0.004112f, 0.002678f, 0.002018f, -0.013378f, 0.003210f, 0.002507f, 0.008977f, 0.009949f, -0.003115f, 0.006405f, -0.004827f, -0.005316f, 0.007216f, 0.004136f, -0.012842f, -0.012110f, -0.005324f, -0.006785f, -0.005083f, -0.005380f, -0.014835f, -0.013380f, -0.001215f, 0.004893f, -0.000085f, -0.001369f, -0.009995f, 0.001381f, 0.011866f, -0.003281f, -0.003747f, 0.004520f, -0.000022f, 0.008634f, 0.004316f, 0.004438f, -0.005534f, -0.006780f, 0.012744f, 0.005885f, -0.005097f, 0.008450f, -0.001114f, 0.006601f, -0.005530f, 0.001089f, 0.009410f, -0.003513f, -0.003044f, 0.006842f, 0.000836f, 0.002762f, 0.004043f, -0.004618f, 0.005281f, -0.002136f, 0.004328f, 0.004417f, 0.003372f, + -0.002936f, 0.001106f, -0.001429f, -0.002546f, -0.003200f, 0.000189f, 0.000457f, 0.002133f, 0.001893f, 0.000501f, -0.000098f, 0.001676f, 0.000591f, 0.001169f, -0.023712f, -0.014019f, -0.004341f, 0.004466f, -0.009752f, 0.002950f, -0.002641f, 0.006800f, -0.001621f, -0.013332f, -0.010537f, 0.009166f, 0.007569f, 0.018995f, 0.016844f, -0.002586f, 0.012199f, -0.018325f, -0.002935f, 0.014189f, 0.004328f, 0.003268f, -0.001831f, -0.006006f, -0.002743f, 0.001938f, -0.001587f, -0.000584f, 0.007243f, -0.008998f, 0.002048f, 0.003232f, -0.000168f, 0.005635f, -0.006117f, -0.005079f, 0.003307f, -0.003956f, 0.005113f, -0.010050f, 0.001714f, -0.006047f, -0.002318f, -0.006731f, -0.004968f, -0.007643f, -0.011247f, 0.006905f, -0.000020f, 0.011789f, -0.010991f, -0.009478f, -0.000023f, 0.002242f, -0.001243f, -0.002290f, 0.000837f, 0.007096f, 0.003464f, 0.001514f, -0.004802f, -0.004705f, -0.002602f, -0.008839f, 0.001461f, -0.002301f, 0.001093f, -0.000430f, -0.009438f, -0.000811f, -0.000693f, -0.010070f, 0.000338f, -0.001909f, 0.001230f, -0.001707f, -0.011138f, 0.001001f, 0.005095f, -0.002234f, 0.007462f, 0.002040f, + -0.003894f, 0.003112f, 0.007828f, 0.002551f, 0.001405f, 0.001754f, -0.001580f, 0.000963f, 0.006141f, -0.000475f, -0.000897f, 0.002238f, 0.002564f, 0.000968f, 0.002082f, 0.000436f, 0.000915f, -0.004058f, 0.000523f, -0.000317f, -0.001919f, -0.001453f, -0.001393f, -0.002062f, 0.000393f, -0.001690f, 0.008400f, -0.012831f, 0.005310f, -0.014331f, -0.002333f, 0.000632f, -0.010377f, 0.009841f, 0.007710f, -0.021240f, -0.001988f, 0.003493f, -0.001801f, -0.009329f, -0.012260f, 0.002496f, -0.006092f, -0.010397f, -0.004936f, 0.006061f, 0.005594f, 0.014954f, 0.019696f, -0.001761f, 0.017619f, -0.010767f, 0.007031f, 0.007545f, -0.001386f, 0.007432f, -0.004129f, 0.000107f, -0.000972f, -0.003650f, -0.001700f, -0.004079f, 0.014711f, -0.000867f, -0.010672f, -0.002639f, 0.007453f, 0.004480f, 0.005994f, 0.001116f, -0.004897f, 0.010583f, 0.021824f, 0.001308f, 0.002356f, 0.001228f, -0.001438f, 0.003389f, -0.001280f, 0.012335f, -0.009286f, 0.011798f, 0.008381f, -0.007557f, 0.004034f, 0.007673f, 0.005457f, -0.009048f, -0.009581f, -0.019326f, -0.002973f, -0.001857f, 0.002632f, 0.007424f, -0.001629f, 0.004823f, + -0.001454f, -0.005158f, -0.004920f, 0.009931f, -0.002083f, 0.010537f, -0.015397f, -0.006181f, 0.003779f, -0.009915f, 0.002767f, 0.010603f, 0.001209f, -0.000102f, 0.000984f, 0.002243f, 0.001665f, -0.006013f, -0.001711f, -0.000997f, 0.001082f, -0.001083f, 0.002161f, 0.002709f, 0.001619f, -0.001751f, -0.003810f, 0.004394f, 0.001918f, 0.001704f, 0.001372f, 0.001271f, 0.000541f, 0.000103f, -0.001722f, 0.001831f, 0.001091f, 0.000713f, 0.000546f, 0.001927f, 0.001522f, 0.002312f, -0.002457f, -0.001637f, -0.002921f, -0.002931f, -0.000546f, 0.002322f, -0.001604f, -0.001101f, 0.001518f, 0.000512f, 0.001189f, -0.000495f, 0.000430f, 0.005399f, 0.002697f, 0.000080f, 0.007752f, 0.021664f, 0.025993f, -0.006890f, -0.000374f, 0.005239f, -0.003673f, 0.016506f, 0.016519f, -0.010443f, 0.016201f, 0.012372f, 0.005068f, 0.007103f, 0.006744f, 0.003153f, -0.001165f, 0.000992f, 0.002384f, -0.008981f, -0.010543f, 0.002664f, -0.002776f, -0.000296f, 0.002110f, -0.009690f, 0.009865f, 0.019153f, -0.000353f, -0.011740f, 0.019133f, 0.002144f, 0.000833f, 0.007264f, -0.003060f, -0.005809f, 0.003005f, -0.007245f, + 0.003094f, 0.019140f, 0.008523f, -0.000281f, 0.007157f, 0.010344f, 0.027478f, -0.004585f, 0.012009f, -0.002469f, -0.011564f, 0.007646f, 0.000975f, -0.004062f, 0.005623f, 0.016560f, 0.004554f, 0.002843f, 0.000027f, 0.006562f, 0.024362f, 0.010684f, 0.003285f, 0.002330f, 0.006616f, -0.007058f, 0.012600f, -0.003287f, -0.023567f, 0.002800f, -0.002281f, 0.014264f, 0.017197f, 0.007222f, -0.006956f, -0.006670f, -0.005893f, -0.000944f, 0.005543f, 0.000403f, 0.003844f, 0.002341f, 0.004017f, 0.010703f, 0.004948f, -0.008643f, -0.003435f, 0.001105f, 0.003264f, 0.000471f, 0.000067f, 0.000245f, -0.004417f, 0.004895f, 0.001453f, 0.000935f, 0.000821f, 0.000936f, 0.000741f, 0.003651f, -0.001234f, 0.002645f, -0.002429f, -0.000866f, -0.003997f, 0.000798f, -0.001360f, -0.000296f, 0.000535f, 0.001731f, -0.029323f, -0.003060f, -0.012577f, -0.014369f, -0.004096f, -0.010193f, 0.000259f, 0.009134f, -0.013906f, 0.014348f, -0.030473f, 0.004482f, -0.009197f, -0.015926f, -0.021871f, 0.022741f, 0.011011f, 0.001623f, -0.019416f, -0.012364f, 0.006893f, -0.024718f, -0.017660f, 0.006063f, 0.005016f, 0.025422f, + -0.003552f, 0.002253f, 0.018449f, -0.010993f, 0.018113f, 0.006451f, 0.006458f, -0.003448f, -0.011362f, -0.001163f, 0.015027f, -0.008131f, 0.001011f, 0.019361f, -0.007317f, -0.005548f, -0.009607f, -0.011304f, -0.010181f, -0.007288f, -0.015841f, -0.001784f, 0.004356f, -0.005208f, 0.003102f, -0.004978f, -0.008269f, 0.010919f, -0.014192f, 0.008537f, -0.012116f, -0.014757f, 0.000389f, 0.012330f, 0.000460f, -0.003582f, 0.004512f, -0.009817f, -0.005343f, -0.013796f, -0.025114f, -0.011607f, 0.003169f, -0.007416f, 0.027929f, 0.011341f, -0.020109f, -0.009868f, -0.003297f, -0.007038f, 0.008712f, 0.019261f, 0.012227f, -0.009208f, 0.008494f, -0.010936f, 0.006238f, 0.001067f, 0.008508f, -0.009680f, -0.002708f, 0.000934f, -0.004694f, -0.008252f, -0.007367f, 0.001358f, -0.000866f, -0.001873f, 0.003952f, 0.001736f, 0.000260f, -0.002694f, 0.002188f, -0.000486f, -0.002570f, -0.005999f, -0.000570f, -0.003059f, 0.000092f, 0.002747f, -0.002437f, -0.006683f, -0.001230f, -0.002811f, -0.011344f, -0.001570f, -0.003519f, 0.031197f, 0.020800f, 0.021252f, -0.006016f, -0.030953f, -0.002176f, -0.016014f, 0.004194f, 0.006470f, + 0.016738f, -0.008066f, 0.007481f, -0.012926f, 0.002399f, -0.011442f, -0.028232f, -0.015700f, 0.011143f, -0.010735f, -0.022323f, -0.021566f, -0.019487f, -0.031161f, 0.004077f, -0.011139f, -0.023215f, -0.021455f, 0.003946f, 0.029324f, -0.003727f, -0.005299f, -0.009683f, -0.018339f, 0.003951f, -0.007508f, 0.002206f, -0.022793f, 0.001667f, -0.023728f, 0.003497f, -0.002249f, 0.012796f, 0.009388f, 0.010689f, 0.005030f, -0.000656f, 0.008338f, -0.005510f, 0.016736f, 0.005031f, 0.008303f, 0.005412f, -0.005927f, 0.006307f, 0.016868f, -0.002023f, 0.009274f, -0.002222f, 0.026725f, 0.003707f, 0.009833f, 0.001543f, -0.015508f, -0.011392f, 0.000202f, -0.005161f, 0.003168f, -0.003711f, 0.008639f, 0.008212f, 0.010096f, -0.004578f, 0.005619f, -0.020548f, 0.010723f, 0.030566f, -0.014961f, -0.002870f, 0.007747f, -0.017268f, -0.001515f, 0.011146f, -0.007179f, -0.000875f, -0.003947f, 0.009720f, -0.010074f, -0.002117f, 0.002334f, -0.005244f, 0.002335f, -0.001685f, 0.003707f, -0.004840f, -0.005343f, 0.005811f, -0.002832f, -0.005340f, 0.003619f, -0.001987f, -0.000182f, -0.007632f, 0.005689f, 0.002206f, -0.001597f, + -0.001100f, 0.003116f, 0.001410f, 0.003014f, 0.002606f, 0.000299f, -0.003165f, -0.006211f, -0.001538f, 0.003216f, -0.015277f, -0.044077f, -0.007364f, -0.015357f, -0.023283f, 0.012546f, -0.044386f, -0.005712f, -0.015832f, -0.008551f, 0.012730f, -0.014078f, 0.018677f, 0.016195f, 0.002503f, 0.014605f, 0.001217f, 0.007733f, -0.011630f, -0.020365f, -0.022528f, -0.012538f, -0.020655f, 0.016059f, 0.020932f, -0.000885f, -0.011157f, 0.006083f, 0.005971f, -0.007725f, 0.001456f, -0.035042f, -0.018630f, 0.016312f, -0.009031f, 0.000481f, 0.015901f, -0.001514f, 0.009798f, 0.008471f, -0.004663f, 0.009691f, -0.000216f, -0.018687f, 0.020700f, -0.014628f, 0.000896f, 0.001145f, -0.011588f, 0.007641f, 0.012294f, -0.007322f, 0.014060f, 0.001588f, -0.001220f, -0.012963f, 0.015895f, -0.000097f, -0.013090f, -0.004304f, -0.026106f, -0.010908f, -0.014959f, -0.001885f, 0.017745f, 0.005151f, -0.001826f, 0.000290f, -0.016945f, 0.003775f, 0.012805f, -0.016973f, 0.000843f, 0.025970f, -0.010828f, 0.002541f, 0.001833f, -0.018477f, -0.011248f, 0.011810f, 0.009760f, -0.030061f, 0.005914f, 0.022466f, -0.000255f, 0.002674f, + -0.000012f, 0.005409f, -0.001863f, 0.014178f, -0.003399f, -0.000598f, 0.001665f, 0.002716f, -0.006589f, 0.001623f, 0.004842f, 0.001532f, 0.008273f, 0.003089f, -0.000341f, -0.003107f, -0.006805f, -0.001929f, 0.002990f, -0.004123f, 0.002816f, -0.004228f, -0.000292f, 0.005832f, 0.002965f, -0.004129f, -0.005762f, 0.000281f, 0.000012f, 0.012422f, -0.005196f, 0.001007f, 0.006623f, 0.002740f, 0.006532f, 0.078735f, 0.017338f, -0.010164f, -0.015920f, -0.001400f, -0.005140f, 0.014054f, -0.003260f, 0.011895f, 0.022131f, -0.008877f, 0.000964f, -0.014641f, -0.010259f, 0.004846f, -0.002595f, 0.011556f, -0.022196f, -0.012816f, 0.010237f, 0.022175f, 0.014413f, -0.000597f, 0.005065f, -0.005327f, -0.013437f, 0.009673f, 0.017091f, 0.018179f, 0.021673f, -0.018018f, -0.004458f, -0.010307f, -0.022613f, -0.002768f, 0.000991f, -0.004852f, 0.010138f, 0.013671f, -0.000209f, 0.006777f, -0.004206f, -0.023786f, -0.013157f, -0.031834f, -0.032540f, -0.009393f, 0.010659f, -0.004683f, -0.014515f, 0.027169f, 0.010075f, -0.001061f, -0.025619f, -0.001121f, -0.008019f, -0.018151f, 0.000043f, -0.008286f, -0.011970f, -0.025154f, + -0.003415f, -0.009272f, -0.027881f, 0.000025f, 0.021004f, -0.014208f, -0.006938f, 0.007853f, -0.012098f, 0.004765f, -0.011989f, 0.017281f, -0.005708f, -0.016654f, -0.026073f, -0.042500f, 0.008221f, 0.007207f, 0.032323f, 0.013101f, 0.011083f, -0.000139f, 0.009697f, -0.007633f, 0.010288f, -0.000950f, 0.003522f, 0.005218f, 0.012236f, 0.005690f, 0.000342f, -0.002257f, -0.000773f, 0.004924f, 0.002913f, 0.012894f, 0.009957f, 0.006773f, 0.002049f, -0.002615f, -0.006960f, 0.003726f, 0.008209f, 0.000754f, 0.000387f, -0.001562f, -0.006170f, -0.001033f, -0.001037f, -0.002884f, -0.002287f, -0.004647f, 0.003738f, 0.005691f, -0.005465f, -0.005420f, -0.000439f, -0.000706f, 0.002846f, 0.017560f, -0.062148f, -0.035597f, 0.033137f, -0.008690f, 0.002251f, -0.017214f, 0.014535f, -0.006006f, -0.023890f, 0.011449f, 0.033511f, 0.004191f, -0.029055f, 0.008152f, -0.006211f, -0.006762f, 0.019365f, 0.019848f, -0.002533f, -0.004129f, 0.042177f, 0.009320f, -0.005880f, -0.025891f, 0.011602f, -0.037101f, -0.030312f, -0.028152f, 0.011571f, -0.005369f, -0.002836f, 0.024090f, 0.009810f, -0.024570f, -0.020309f, 0.005291f, + 0.024033f, 0.008124f, -0.002531f, 0.001318f, 0.016092f, -0.011522f, -0.025701f, 0.033767f, -0.009730f, 0.003481f, 0.013851f, 0.002084f, 0.004892f, 0.034735f, 0.000817f, 0.022121f, 0.001216f, -0.023307f, 0.003592f, 0.004962f, -0.004605f, 0.004430f, 0.016044f, -0.011787f, -0.003347f, 0.004037f, -0.045808f, 0.012208f, 0.009648f, -0.000270f, 0.011285f, 0.008607f, -0.016843f, 0.008098f, 0.063473f, 0.027183f, 0.015867f, 0.004588f, 0.015605f, -0.048609f, -0.022794f, 0.024611f, 0.001237f, -0.000214f, -0.018398f, 0.016455f, 0.020160f, 0.016681f, 0.003040f, 0.003513f, -0.006409f, 0.000289f, -0.011298f, -0.004178f, 0.009403f, -0.002033f, -0.005558f, 0.004776f, 0.000650f, 0.004586f, -0.006465f, -0.002826f, 0.002546f, -0.001195f, 0.004894f, -0.008032f, -0.002503f, 0.005782f, -0.006151f, 0.004684f, 0.001976f, 0.000637f, 0.000469f, 0.000094f, -0.004925f, 0.002647f, 0.005112f, -0.002379f, -0.002131f, -0.005552f, 0.002749f, -0.000303f, -0.041481f, 0.029071f, 0.031620f, 0.009875f, 0.017551f, -0.011841f, 0.050323f, -0.006129f, 0.019345f, 0.012827f, -0.022860f, -0.009712f, -0.010422f, 0.028866f, + -0.017069f, -0.005620f, 0.018567f, 0.015188f, -0.016775f, -0.004843f, -0.048941f, 0.008968f, -0.005222f, -0.014664f, 0.004486f, 0.001106f, 0.003859f, 0.004297f, 0.016876f, 0.000456f, 0.018463f, 0.001946f, 0.009114f, -0.004937f, -0.015621f, -0.017119f, 0.031996f, -0.011545f, -0.022790f, -0.019596f, -0.008562f, -0.010884f, 0.014004f, 0.008325f, 0.010834f, 0.013824f, 0.004429f, -0.017644f, 0.010195f, -0.028630f, -0.009083f, -0.025047f, 0.017286f, -0.030185f, -0.021289f, -0.006591f, -0.009880f, 0.008713f, 0.020357f, -0.016247f, 0.019229f, 0.031081f, 0.015755f, 0.029932f, -0.012450f, 0.040260f, 0.003910f, 0.034072f, 0.019661f, 0.004032f, -0.018090f, -0.046254f, -0.030878f, -0.025518f, -0.014149f, -0.014411f, -0.004301f, -0.021670f, 0.016360f, 0.026664f, -0.010141f, -0.020876f, -0.018604f, -0.015136f, -0.027785f, 0.017386f, 0.012967f, -0.007690f, -0.007003f, -0.011124f, 0.001652f, -0.006413f, 0.015305f, -0.000213f, 0.004085f, -0.008300f, -0.006688f, -0.011598f, -0.001872f, -0.013843f, -0.012829f, 0.013114f, -0.000725f, 0.001375f, 0.000551f, 0.004643f, -0.005117f, -0.000766f, -0.007798f, 0.000007f, + 0.000266f, -0.000613f, 0.004346f, 0.000174f, -0.006343f, -0.004574f, -0.004491f, 0.001054f, -0.006833f, -0.007943f, -0.009478f, 0.002357f, -0.002409f, 0.023253f, 0.011848f, -0.013228f, 0.039142f, 0.004426f, -0.038215f, 0.047716f, 0.003192f, -0.020326f, 0.016833f, -0.039193f, -0.007511f, -0.024955f, -0.007802f, -0.004423f, -0.007669f, -0.017842f, 0.004984f, -0.033867f, -0.013112f, -0.012217f, -0.045709f, 0.005543f, -0.033156f, -0.023563f, -0.037197f, 0.007451f, -0.028073f, -0.008477f, -0.009319f, 0.000294f, 0.014114f, -0.011411f, 0.019878f, 0.001019f, 0.026384f, -0.006163f, 0.022943f, 0.028940f, -0.034782f, -0.000532f, 0.009284f, 0.021242f, 0.000791f, 0.025543f, 0.008517f, 0.024628f, -0.000561f, -0.018840f, -0.011884f, -0.001824f, 0.015898f, -0.003685f, -0.007386f, -0.001615f, 0.029478f, 0.018630f, -0.007079f, -0.024355f, 0.008099f, 0.013356f, 0.009445f, 0.026171f, -0.035138f, -0.025962f, -0.007481f, 0.002456f, -0.009947f, 0.000265f, -0.010144f, -0.021946f, 0.061452f, -0.030409f, -0.035353f, 0.026313f, 0.015079f, 0.022858f, 0.006929f, 0.008394f, 0.004640f, 0.013358f, -0.012737f, 0.035330f, + -0.006283f, 0.008655f, -0.006939f, 0.004717f, 0.002011f, -0.001951f, 0.022420f, 0.002809f, 0.001854f, -0.022229f, 0.009937f, 0.003311f, -0.003389f, -0.018105f, -0.001986f, -0.003754f, 0.000340f, -0.005773f, 0.016091f, 0.003744f, 0.004390f, -0.013086f, 0.008778f, -0.006224f, 0.001661f, 0.007820f, -0.000488f, -0.003875f, -0.004367f, -0.011642f, 0.006594f, 0.011888f, -0.005839f, -0.001321f, -0.004386f, 0.001765f, -0.006943f, -0.015663f, -0.004933f, -0.000529f, -0.010930f, 0.011121f, -0.001172f, -0.001512f, 0.003546f, -0.010527f, -0.012141f, -0.003369f, 0.004681f, -0.007992f, -0.010644f, 0.031224f, 0.022634f, 0.036881f, -0.012424f, -0.008883f, -0.050589f, 0.058692f, 0.026597f, -0.077714f, -0.041915f, 0.025158f, 0.034461f, 0.035079f, -0.022629f, -0.018001f, 0.041991f, 0.010200f, 0.009465f, 0.029451f, 0.023431f, -0.042896f, 0.012975f, 0.018335f, -0.003453f, 0.020509f, 0.003680f, -0.005360f, 0.003982f, -0.013854f, 0.071688f, 0.019001f, 0.009134f, -0.001810f, -0.009131f, -0.004671f, -0.041033f, 0.007984f, 0.011750f, -0.009447f, -0.013616f, -0.065886f, -0.031795f, 0.013977f, 0.011271f, -0.021525f, + -0.021446f, -0.002846f, -0.031689f, 0.013150f, 0.011424f, -0.004436f, 0.012883f, 0.026177f, 0.001056f, -0.001222f, -0.008595f, -0.013788f, -0.004804f, 0.002464f, -0.048934f, -0.006357f, 0.011177f, 0.029801f, -0.052943f, 0.011822f, 0.018623f, -0.004029f, -0.025066f, -0.022279f, 0.039517f, 0.039432f, -0.006018f, -0.024441f, -0.046848f, 0.009914f, 0.018412f, 0.009883f, 0.000504f, -0.050684f, 0.021152f, 0.046324f, -0.015924f, 0.005316f, 0.014247f, -0.018926f, -0.030620f, -0.015955f, 0.004350f, -0.009329f, -0.002691f, -0.014223f, -0.012608f, -0.010371f, -0.004712f, -0.004041f, 0.005894f, -0.001042f, -0.001212f, -0.012968f, 0.005088f, -0.006062f, 0.002514f, 0.000155f, 0.003926f, 0.007952f, 0.008918f, -0.014508f, 0.005559f, -0.011205f, -0.019227f, -0.009909f, 0.002428f, -0.001881f, 0.007985f, -0.001806f, 0.005099f, 0.011209f, 0.000271f, -0.000494f, -0.010108f, -0.005461f, 0.014519f, 0.007528f, -0.006485f, -0.003776f, -0.001728f, -0.009415f, 0.023123f, -0.017020f, 0.006267f, -0.014181f, -0.012603f, 0.002215f, 0.015645f, 0.031387f, -0.057824f, -0.075344f, -0.052451f, -0.067407f, 0.058474f, -0.039040f, + 0.023499f, -0.006593f, -0.047440f, 0.008479f, -0.012932f, -0.017602f, -0.061574f, -0.056341f, -0.042150f, -0.016066f, 0.002114f, -0.032613f, -0.009525f, 0.008590f, 0.026399f, 0.002073f, -0.016562f, 0.000034f, -0.017707f, 0.025374f, -0.032057f, 0.044139f, 0.037976f, -0.009155f, -0.012212f, -0.052445f, -0.030656f, -0.031920f, 0.003733f, 0.006981f, -0.008643f, 0.042749f, 0.012093f, 0.034636f, 0.006733f, -0.004168f, -0.015859f, 0.031144f, 0.021450f, 0.009715f, -0.031477f, 0.016706f, -0.053152f, -0.006015f, -0.005752f, -0.035305f, -0.005918f, 0.000335f, 0.040430f, 0.026767f, 0.000646f, 0.018648f, -0.000874f, -0.040099f, 0.020239f, 0.005536f, 0.033220f, -0.019010f, -0.038612f, 0.022822f, -0.069281f, -0.015999f, 0.024331f, -0.010525f, -0.011153f, 0.016789f, -0.004654f, -0.013789f, 0.012658f, -0.005928f, -0.044520f, -0.039181f, -0.006609f, 0.018088f, 0.029360f, 0.041348f, 0.041440f, -0.017820f, -0.014304f, 0.008000f, 0.014919f, 0.013408f, 0.005520f, -0.018687f, 0.016087f, 0.000103f, -0.003605f, 0.001887f, 0.009912f, 0.016655f, -0.005096f, 0.002626f, 0.015786f, -0.003928f, -0.000485f, -0.016335f, + 0.007877f, -0.003752f, -0.001282f, 0.013025f, -0.002765f, -0.006188f, 0.005795f, -0.018569f, -0.006935f, 0.018341f, 0.005170f, 0.005757f, -0.006741f, -0.004629f, -0.002909f, -0.014894f, -0.002081f, -0.008441f, 0.010923f, -0.032046f, 0.000379f, 0.023528f, -0.075816f, -0.006564f, -0.048430f, 0.003413f, -0.035781f, 0.032629f, -0.025677f, -0.002215f, 0.005900f, 0.012479f, 0.038353f, 0.013479f, -0.017970f, 0.042355f, 0.012640f, -0.070799f, 0.011371f, -0.042286f, -0.003405f, 0.008629f, -0.006326f, 0.035675f, -0.010775f, 0.006888f, 0.008572f, 0.003596f, -0.023187f, 0.036213f, -0.020996f, -0.001461f, -0.042084f, 0.000472f, 0.006782f, -0.006098f, -0.014992f, -0.018653f, -0.022114f, 0.054658f, 0.001886f, 0.028553f, -0.048493f, 0.005960f, -0.000875f, 0.017074f, 0.028516f, -0.032638f, 0.058638f, 0.085321f, -0.004125f, 0.008703f, -0.029851f, 0.014090f, 0.019497f, -0.015865f, 0.003991f, 0.016482f, 0.032681f, -0.000564f, 0.001714f, -0.009698f, -0.028851f, -0.042502f, 0.021697f, -0.031750f, -0.013840f, -0.020624f, 0.009133f, 0.029466f, 0.025777f, -0.004644f, 0.009561f, -0.057870f, 0.038378f, -0.006689f, + 0.008209f, -0.016648f, 0.037503f, -0.051890f, 0.062315f, 0.045963f, 0.051893f, -0.020554f, -0.001417f, -0.050855f, -0.028006f, -0.018616f, 0.016711f, 0.014741f, -0.042665f, -0.030708f, 0.001028f, -0.010376f, -0.031164f, 0.000334f, -0.021615f, -0.025052f, -0.009684f, -0.003402f, 0.001819f, -0.016428f, 0.002873f, 0.006086f, 0.025617f, 0.023449f, -0.003712f, 0.022126f, -0.010822f, -0.026742f, -0.015133f, -0.005432f, -0.013792f, -0.001713f, -0.010273f, 0.015726f, 0.004552f, 0.059643f, 0.007753f, -0.020060f, -0.007088f, 0.005661f, -0.031048f, -0.019004f, 0.007319f, 0.001575f, -0.008075f, 0.003421f, -0.000015f, -0.033513f, -0.003573f, 0.022957f, -0.016709f, 0.024074f, 0.095284f, 0.026423f, 0.069466f, 0.021354f, -0.071147f, 0.028221f, 0.020561f, -0.024506f, 0.005480f, 0.045746f, 0.002650f, 0.043760f, 0.039889f, -0.046682f, 0.025956f, -0.046701f, -0.030562f, -0.004974f, 0.093264f, 0.027890f, -0.041264f, 0.038905f, 0.026014f, -0.051617f, -0.021946f, -0.004087f, 0.052445f, 0.007068f, -0.046897f, -0.027293f, -0.000919f, -0.013593f, 0.029367f, 0.040960f, -0.014461f, 0.035956f, -0.022977f, -0.032448f, + -0.000533f, 0.074700f, 0.007572f, -0.043816f, 0.025163f, -0.002615f, -0.003730f, 0.020492f, -0.048496f, -0.042982f, -0.039689f, 0.028926f, -0.025793f, 0.008939f, 0.013136f, 0.044435f, 0.022850f, 0.045698f, 0.005515f, -0.002573f, 0.038323f, 0.068708f, 0.041765f, -0.069097f, 0.002014f, 0.006094f, -0.011014f, 0.012654f, 0.019607f, -0.053487f, -0.007380f, 0.009920f, 0.009768f, -0.063596f, -0.059143f, -0.034059f, -0.035699f, 0.062030f, 0.023755f, 0.002348f, 0.028217f, -0.051619f, 0.021684f, 0.013589f, 0.009941f, -0.005067f, -0.011084f, 0.042692f, 0.026592f, -0.017847f, 0.007995f, -0.013593f, 0.028829f, -0.008687f, 0.002583f, 0.005386f, 0.004786f, 0.020500f, -0.002734f, -0.034715f, -0.000839f, 0.005871f, 0.009565f, 0.017044f, -0.004170f, 0.001038f, 0.013757f, -0.027028f, -0.015104f, -0.002994f, -0.047602f, -0.007926f, 0.013957f, -0.004100f, 0.005821f, 0.027056f, -0.003342f, -0.019770f, 0.004713f, 0.006156f, 0.018525f, 0.020858f, -0.020028f, -0.013270f, -0.000767f, -0.018070f, -0.010812f, -0.034145f, -0.039394f, 0.010568f, 0.001257f, -0.018573f, -0.014480f, -0.018947f, -0.035801f, 0.026766f, + -0.071737f, 0.051877f, 0.058368f, 0.015937f, 0.063549f, -0.065079f, -0.031544f, -0.017727f, -0.093053f, 0.052399f, 0.005481f, 0.032386f, 0.043004f, 0.041696f, 0.003456f, -0.001445f, 0.042764f, -0.006855f, -0.050270f, -0.052555f, 0.031985f, -0.059359f, 0.058070f, -0.016700f, 0.012930f, 0.057186f, 0.051922f, -0.026094f, 0.078935f, -0.045696f, 0.005365f, -0.047506f, 0.007943f, -0.016286f, 0.031255f, 0.010453f, -0.033357f, 0.030115f, 0.046172f, 0.067334f, -0.038667f, 0.014361f, 0.041680f, -0.056899f, 0.002934f, -0.022893f, -0.081889f, -0.035410f, 0.022271f, -0.045188f, 0.016413f, -0.037936f, -0.000578f, 0.055332f, -0.025927f, 0.023430f, 0.064136f, 0.045537f, 0.017427f, 0.084799f, -0.131741f, -0.024904f, 0.044479f, -0.005094f, 0.026084f, -0.040910f, -0.071005f, 0.086732f, -0.000851f, -0.043681f, 0.019121f, 0.054898f, 0.136604f, 0.051595f, -0.102579f, -0.056201f, 0.035523f, 0.038118f, 0.016957f, -0.071911f, -0.005825f, 0.015811f, -0.021777f, 0.048616f, 0.017847f, 0.031051f, 0.037388f, 0.027738f, -0.018407f, 0.021432f, -0.056660f, 0.008275f, 0.031036f, -0.003629f, -0.029819f, 0.017761f, + -0.018002f, 0.030358f, 0.034026f, -0.014293f, -0.027378f, -0.007474f, 0.062390f, -0.011027f, -0.006720f, -0.024197f, 0.028514f, -0.024027f, -0.014296f, 0.017922f, -0.010998f, 0.058319f, -0.003893f, -0.014398f, 0.059173f, -0.005205f, 0.014255f, 0.035930f, -0.002161f, -0.003034f, 0.004015f, 0.005364f, -0.026990f, 0.012561f, 0.002101f, -0.039961f, 0.027781f, -0.012379f, 0.052156f, -0.028057f, 0.016125f, 0.004853f, 0.069744f, -0.061254f, -0.005536f, -0.029232f, -0.036304f, 0.055980f, -0.021705f, 0.073489f, -0.007220f, -0.056510f, 0.088114f, 0.127387f, -0.018074f, -0.040510f, -0.061379f, 0.014762f, 0.067728f, 0.013456f, -0.014120f, -0.042008f, 0.010160f, 0.010140f, -0.009185f, 0.010617f, -0.005851f, -0.020528f, -0.020973f, 0.019695f, 0.027979f, -0.001918f, 0.037764f, -0.035989f, 0.077251f, 0.058275f, 0.033687f, -0.002559f, 0.004816f, 0.011227f, -0.040515f, -0.035413f, -0.039251f, -0.020496f, -0.010548f, 0.024967f, 0.021973f, 0.042100f, -0.019880f, -0.004677f, -0.017568f, 0.047876f, 0.093171f, -0.021588f, -0.059368f, -0.038106f, -0.002069f, -0.080489f, 0.063236f, -0.109444f, 0.032073f, 0.046914f, + 0.048210f, -0.047477f, 0.011588f, 0.048859f, -0.110759f, -0.052159f, 0.023269f, -0.011347f, -0.055263f, -0.048758f, -0.005901f, -0.025332f, 0.083176f, 0.035921f, -0.029789f, -0.027409f, -0.045398f, 0.127156f, 0.027757f, 0.066671f, -0.004208f, 0.019832f, 0.024506f, 0.028921f, -0.040864f, -0.004780f, 0.053201f, 0.036802f, 0.022303f, -0.016833f, -0.021958f, 0.000566f, 0.017036f, 0.024838f, 0.017106f, -0.032102f, 0.005323f, 0.000936f, 0.009137f, 0.024155f, 0.024300f, -0.033606f, 0.016633f, -0.020464f, -0.025167f, 0.003357f, 0.027487f, 0.011532f, -0.015399f, 0.004347f, -0.001587f, -0.004214f, -0.013040f, 0.051277f, -0.014240f, 0.000843f, -0.029536f, 0.007826f, -0.010460f, 0.034088f, 0.011537f, -0.006398f, -0.017076f, 0.019732f, 0.016508f, -0.022503f, 0.002394f, -0.037102f, -0.014135f, 0.009791f, 0.016411f, 0.022241f, 0.000588f, 0.023274f, -0.004574f, 0.004533f, 0.011931f, -0.046923f, 0.013501f, 0.074324f, 0.001528f, -0.024140f, 0.060727f, 0.044712f, -0.013440f, -0.038720f, -0.060482f, 0.012167f, 0.116888f, 0.026586f, 0.059604f, -0.004549f, 0.004592f, -0.004015f, -0.014490f, 0.000738f, + 0.004736f, 0.029214f, 0.008757f, -0.022110f, 0.018923f, -0.019264f, -0.022632f, -0.024155f, -0.000011f, 0.024310f, 0.004496f, 0.019576f, 0.019627f, 0.017061f, -0.017141f, -0.028476f, 0.008654f, -0.019524f, -0.051141f, -0.014291f, 0.010891f, -0.016960f, 0.058496f, -0.060292f, 0.049059f, -0.015077f, -0.000181f, 0.074070f, -0.012061f, -0.001371f, 0.095363f, -0.014099f, -0.039558f, 0.007671f, -0.033964f, -0.006979f, -0.032088f, 0.107421f, -0.030717f, 0.026364f, -0.026160f, -0.010919f, -0.015128f, 0.018322f, -0.027360f, -0.064907f, 0.028437f, -0.006949f, -0.073095f, 0.038566f, -0.019483f, 0.040988f, 0.090794f, -0.045168f, -0.001409f, -0.004148f, -0.013913f, -0.048648f, -0.008980f, 0.045580f, 0.017694f, 0.028173f, -0.041773f, 0.012818f, 0.007009f, -0.039491f, -0.011221f, 0.009440f, 0.020278f, 0.026205f, 0.001826f, 0.005429f, 0.016488f, -0.003489f, -0.020171f, 0.029475f, -0.011677f, -0.008269f, 0.026120f, 0.004070f, -0.007489f, 0.039765f, -0.002831f, -0.002483f, 0.000135f, 0.013311f, -0.011969f, 0.020306f, -0.015469f, -0.007184f, -0.012246f, 0.010792f, -0.000469f, -0.000970f, 0.005571f, 0.018696f, + -0.021790f, 0.005167f, -0.003014f, 0.013542f, 0.003808f, -0.003720f, 0.022304f, -0.013180f, 0.012016f, -0.003406f, 0.006578f, 0.001996f, 0.016725f, -0.001991f, -0.025612f, -0.000347f, 0.122883f, 0.061808f, 0.128911f, -0.072250f, -0.018217f, 0.042115f, -0.039728f, 0.030414f, 0.132617f, 0.031075f, 0.019581f, -0.035111f, -0.032391f, 0.037651f, -0.019544f, 0.053341f, -0.008304f, -0.012415f, -0.015042f, -0.076138f, 0.018799f, 0.091200f, -0.047744f, 0.055102f, 0.048708f, -0.031058f, -0.008789f, 0.037892f, -0.060171f, 0.030177f, -0.003757f, 0.045684f, 0.016058f, -0.038076f, -0.011678f, -0.076489f, -0.038618f, 0.035730f, 0.027520f, 0.059287f, 0.093216f, 0.009813f, 0.002056f, -0.080291f, -0.048424f, -0.047970f, -0.038852f, 0.020942f, -0.032124f, -0.009422f, -0.006906f, 0.023970f, -0.060658f, -0.009945f, 0.032354f, 0.016332f, 0.051151f, -0.006806f, -0.023562f, 0.050218f, -0.008464f, 0.030771f, -0.038055f, -0.023389f, -0.005338f, -0.012950f, 0.025305f, 0.036546f, 0.052347f, 0.014585f, 0.004926f, -0.035707f, -0.009378f, -0.018329f, 0.043959f, 0.000474f, 0.065546f, 0.011275f, 0.049544f, -0.047521f, + -0.016348f, -0.000331f, -0.000471f, 0.035386f, -0.004930f, -0.017580f, -0.008868f, 0.008704f, 0.003159f, 0.009217f, 0.017070f, 0.014648f, -0.008271f, -0.010560f, 0.001394f, -0.006232f, 0.014519f, 0.014764f, 0.004183f, -0.012298f, 0.001272f, -0.016131f, -0.006037f, -0.003505f, 0.028627f, 0.010034f, -0.002891f, 0.007308f, -0.017907f, -0.021992f, -0.014153f, 0.007037f, 0.016068f, -0.013073f, -0.000530f, 0.000293f, 0.012187f, 0.006412f, -0.000965f, 0.012235f, 0.002693f, -0.000547f, -0.011216f, 0.005848f, 0.004318f, -0.004815f, 0.002051f, 0.003756f, -0.016619f, -0.033011f, -0.126440f, 0.003932f, 0.201732f, 0.183187f, 0.171009f, 0.073408f, -0.073569f, -0.100412f, -0.100873f, -0.088956f, -0.165167f, -0.116821f, -0.115164f, 0.089210f, 0.135423f, 0.111646f, 0.176449f, 0.147971f, 0.030614f, -0.006220f, -0.064016f, -0.122841f, -0.074329f, -0.129111f, -0.071099f, -0.042812f, 0.000065f, -0.016730f, 0.031916f, 0.056292f, 0.094001f, 0.060142f, 0.098798f, 0.076285f, 0.078371f, 0.006738f, -0.065666f, -0.029038f, 0.001644f, -0.070475f, -0.094482f, -0.121476f, -0.120605f, -0.084533f, -0.012595f, 0.060140f, + 0.022928f, 0.087233f, 0.060696f, 0.099410f, 0.087401f, 0.096411f, 0.110581f, 0.060396f, -0.009143f, -0.017386f, -0.073197f, -0.058847f, -0.196616f, -0.156243f, -0.126271f, -0.097661f, 0.010842f, -0.042318f, 0.002186f, 0.134445f, 0.164743f, 0.226764f, 0.142452f, 0.086558f, 0.057925f, 0.014219f, -0.087263f, -0.078880f, -0.121420f, -0.155648f, -0.132899f, -0.122862f, -0.058514f, 0.009421f, 0.061934f, 0.103339f, 0.100925f, 0.086939f, 0.053895f, 0.058524f, 0.024305f, 0.016158f, -0.003396f, -0.047465f, -0.042414f, -0.037661f, -0.043148f, -0.022118f, -0.048154f, -0.033486f, 0.011174f, 0.004598f, -0.028244f, 0.015557f, 0.038588f, 0.022790f, 0.044112f, 0.070215f, 0.071904f, 0.032517f, -0.045405f, -0.018853f, -0.006863f, -0.090888f, -0.097018f, -0.083565f, -0.035680f, 0.026627f, 0.040715f, 0.034974f, 0.057331f, 0.066018f, 0.080225f, 0.054141f, 0.032483f, -0.011849f, -0.054733f, -0.054525f, -0.061914f, -0.082062f, -0.059204f, -0.032004f, 0.027674f, 0.045372f, 0.028503f, 0.018180f, 0.051826f, 0.035905f, 0.020974f, 0.005514f, -0.008307f, -0.016183f, 0.001229f, -0.019537f, -0.024365f, -0.008240f, + 0.007601f, -0.013362f, -0.010867f, 0.002800f, 0.010384f, 0.001938f, -0.005716f, -0.006624f, 0.007725f, 0.000528f, -0.004535f, -0.007924f, 0.002537f, 0.011730f, 0.013755f, 0.002511f, 0.011811f, 0.011176f, 0.005682f, -0.003101f, -0.002882f, -0.009451f, -0.009147f, -0.013993f, -0.007856f, -0.009087f, -0.002446f, 0.001209f, 0.002521f, -0.000868f, 0.005543f, 0.007114f, 0.010682f, -0.002811f, -0.001262f, 0.003656f, 0.005509f, -0.004479f, -0.000405f, -0.001436f, 0.000678f, 0.002453f, 0.007956f, -0.000512f, 0.002495f, 0.001437f, 0.001779f, -0.004919f, -0.007205f, -0.012320f, -0.007593f, -0.009847f, -0.007311f, -0.007932f, 0.002379f, 0.006343f, 0.011853f, 0.012284f, 0.018766f, 0.014764f, 0.013207f, 0.005101f, 0.000855f, -0.009228f, -0.011869f, -0.017329f, -0.015035f, -0.016476f, -0.009521f, -0.005777f, 0.001562f, 0.003521f, 0.011837f, 0.010048f, 0.012976f, 0.010339f, 0.009750f, 0.001793f, 0.001690f, -0.003649f, -0.003577f, -0.008131f, -0.004818f, -0.005933f, -0.001545f, -0.003625f, 0.000224f, -0.001583f, 0.002120f, -0.000452f, 0.002556f, -0.000484f, 0.002217f, -0.000740f, 0.002009f, -0.001098f, + 0.001566f}, + {0.001985f, -0.002290f, 0.008216f, 0.009365f, 0.004937f, -0.003540f, -0.014118f, -0.012836f, 0.004614f, 0.007461f, -0.002794f, 0.013881f, -0.002738f, 0.008305f, -0.009881f, -0.008602f, 0.003715f, 0.000401f, -0.002611f, 0.003712f, 0.008901f, -0.003843f, 0.001182f, -0.005065f, -0.000574f, 0.000536f, 0.003611f, 0.003478f, 0.004541f, 0.000822f, 0.002679f, 0.010297f, -0.004013f, -0.004732f, -0.005233f, -0.009216f, 0.002607f, -0.001891f, 0.016904f, 0.003358f, -0.001339f, 0.001396f, 0.010232f, -0.000890f, -0.002305f, -0.002564f, -0.006098f, -0.001046f, 0.007854f, -0.001155f, 0.003222f, 0.008066f, -0.002573f, -0.000513f, -0.012934f, -0.007504f, -0.011800f, -0.002234f, -0.003470f, 0.001797f, 0.000581f, 0.001756f, 0.004128f, -0.002751f, 0.001964f, 0.000195f, 0.000978f, 0.001854f, -0.004344f, 0.004118f, -0.001447f, -0.004815f, -0.000679f, -0.004856f, -0.001559f, 0.000526f, -0.007730f, 0.002099f, 0.000289f, 0.005980f, 0.000562f, -0.000036f, -0.003583f, 0.000859f, 0.005835f, 0.002950f, -0.001526f, 0.000724f, 0.001253f, 0.001503f, 0.004438f, 0.000607f, 0.000223f, -0.001017f, -0.000734f, 0.000522f, + 0.000121f, -0.000391f, 0.002912f, 0.001689f, 0.001707f, 0.001326f, 0.000870f, 0.000453f, 0.000841f, 0.001665f, 0.009557f, 0.022539f, 0.008903f, 0.005333f, 0.006266f, -0.013245f, -0.001553f, 0.005716f, -0.001791f, 0.002236f, -0.012081f, 0.011881f, 0.016097f, 0.002776f, 0.007193f, -0.003389f, -0.009424f, -0.014605f, -0.015988f, -0.010632f, 0.012680f, -0.011965f, -0.007599f, -0.010126f, 0.003252f, 0.008422f, 0.001596f, 0.001142f, 0.004713f, -0.000477f, 0.002980f, 0.010379f, -0.001452f, 0.008629f, -0.008213f, 0.007873f, 0.005484f, 0.005006f, -0.004324f, -0.013423f, -0.002851f, 0.007686f, 0.004558f, -0.003752f, -0.000443f, 0.002659f, -0.000561f, -0.006477f, -0.001351f, 0.005492f, -0.001877f, 0.000609f, -0.003192f, -0.000710f, 0.000407f, 0.001835f, 0.009488f, 0.003964f, -0.004850f, 0.000819f, 0.000793f, -0.003220f, 0.001738f, -0.004689f, -0.000540f, 0.007689f, 0.002512f, 0.008627f, -0.006154f, -0.005291f, -0.003155f, -0.001365f, 0.004402f, 0.009780f, -0.005632f, -0.007078f, 0.008430f, -0.000792f, -0.000152f, 0.000291f, 0.002916f, 0.002080f, 0.007087f, -0.001993f, 0.003310f, -0.004316f, + -0.004029f, 0.000317f, 0.001925f, -0.000299f, 0.000156f, 0.001625f, 0.001783f, 0.001380f, -0.003674f, 0.004124f, -0.000871f, 0.006618f, 0.002800f, -0.007406f, -0.006999f, -0.007937f, -0.001249f, -0.006477f, -0.013667f, -0.013005f, 0.013435f, -0.000283f, 0.002829f, -0.000089f, 0.008184f, -0.012095f, 0.017989f, 0.015987f, 0.000828f, 0.000864f, 0.000025f, 0.000487f, -0.001776f, 0.006268f, 0.004868f, 0.000408f, -0.010238f, 0.004450f, -0.003176f, 0.004936f, -0.001426f, 0.010923f, -0.002541f, -0.006337f, -0.002876f, -0.001700f, 0.004044f, -0.000056f, 0.006747f, -0.010819f, 0.005842f, 0.001902f, -0.006011f, 0.017059f, -0.002707f, -0.002428f, -0.000357f, -0.000254f, -0.004493f, -0.001439f, 0.009100f, 0.007461f, -0.015976f, -0.007524f, 0.008124f, 0.002352f, -0.003820f, 0.013914f, 0.000510f, 0.003129f, 0.013688f, 0.005665f, 0.010747f, 0.003049f, -0.004125f, -0.005568f, -0.010750f, -0.010405f, 0.001516f, 0.005557f, 0.013321f, 0.000520f, -0.005429f, -0.006784f, 0.002320f, -0.000112f, -0.003719f, 0.004335f, -0.001500f, -0.003406f, 0.003119f, 0.007231f, 0.002342f, -0.003608f, 0.003621f, 0.003772f, + 0.004717f, 0.003037f, 0.000242f, 0.000462f, -0.004470f, -0.000929f, -0.000059f, 0.002304f, 0.001935f, 0.003689f, 0.003559f, 0.002966f, 0.001125f, -0.000279f, -0.018242f, -0.006347f, -0.008879f, 0.008290f, -0.006067f, 0.005388f, -0.006559f, -0.002700f, 0.015456f, 0.007568f, -0.010272f, 0.004692f, 0.014742f, 0.002172f, -0.005178f, -0.010347f, -0.012450f, -0.008520f, -0.012518f, 0.008317f, 0.001882f, 0.004583f, -0.002410f, -0.005651f, -0.005982f, -0.011009f, 0.000565f, -0.000329f, 0.002610f, -0.002674f, -0.010032f, 0.000177f, 0.010698f, -0.002358f, 0.000115f, -0.005320f, -0.010684f, -0.015782f, -0.001369f, 0.011401f, 0.004129f, 0.001215f, -0.005366f, 0.001475f, -0.008581f, -0.002789f, -0.006458f, 0.000840f, 0.001448f, -0.009741f, 0.011010f, -0.006184f, 0.014011f, 0.005325f, 0.001323f, -0.006349f, -0.003353f, 0.003626f, -0.000813f, 0.003433f, 0.007518f, 0.001554f, 0.002976f, -0.008307f, 0.004910f, -0.004162f, 0.012880f, 0.015990f, 0.007314f, 0.010756f, 0.004986f, -0.001609f, -0.011207f, -0.007202f, 0.000915f, 0.008282f, 0.008309f, -0.006623f, 0.000864f, 0.007874f, -0.010265f, 0.010161f, + 0.000641f, -0.005162f, 0.003330f, -0.002146f, -0.000499f, -0.005743f, 0.001126f, 0.001675f, 0.000989f, -0.004599f, 0.001220f, -0.003238f, -0.004359f, -0.001479f, 0.000300f, 0.001962f, -0.002847f, 0.000744f, -0.001239f, -0.003990f, 0.000424f, 0.003369f, 0.001386f, -0.002842f, 0.001861f, -0.002126f, 0.006109f, -0.014725f, 0.001938f, -0.015747f, -0.000066f, 0.002407f, 0.001466f, 0.007094f, 0.000712f, 0.001120f, 0.027844f, -0.003499f, -0.012302f, -0.013272f, 0.013982f, 0.009362f, -0.010558f, 0.002542f, -0.011776f, -0.005054f, 0.000385f, 0.013308f, -0.016523f, 0.004803f, -0.000656f, 0.002620f, -0.001273f, 0.016896f, -0.008759f, 0.004754f, -0.002661f, -0.004492f, 0.002554f, -0.000828f, 0.005052f, -0.005192f, -0.004823f, -0.014326f, 0.002224f, -0.004771f, -0.003101f, 0.001114f, -0.005089f, 0.004200f, -0.008095f, -0.004825f, -0.014227f, -0.000450f, -0.012635f, -0.005345f, -0.015024f, 0.011121f, 0.002236f, -0.004623f, 0.009769f, -0.011389f, -0.000086f, -0.021680f, -0.001195f, 0.007463f, -0.000621f, 0.006395f, 0.013750f, -0.004862f, -0.001971f, 0.017219f, 0.007245f, 0.006633f, 0.010497f, -0.005474f, + -0.015971f, -0.001715f, -0.009576f, 0.006940f, 0.015844f, -0.002883f, 0.004624f, 0.008427f, 0.007078f, -0.000869f, -0.001369f, 0.001943f, 0.000270f, -0.002960f, 0.004243f, 0.003810f, -0.006646f, 0.002177f, 0.005551f, -0.002829f, -0.002049f, -0.009844f, -0.002312f, -0.004155f, -0.001391f, -0.004310f, 0.000832f, -0.001062f, 0.000738f, -0.000464f, 0.000638f, 0.002514f, -0.002924f, 0.001005f, -0.001219f, -0.002972f, -0.000427f, -0.000523f, -0.000926f, 0.000199f, 0.001654f, 0.002766f, -0.002773f, 0.000943f, -0.002352f, 0.000392f, -0.000300f, -0.003104f, -0.001254f, -0.002375f, -0.000471f, -0.003763f, 0.000886f, 0.000184f, -0.002150f, 0.008012f, 0.008752f, 0.003364f, -0.005498f, 0.003996f, 0.002195f, 0.017085f, -0.002707f, -0.003494f, -0.022976f, -0.006313f, 0.017059f, 0.016922f, 0.010670f, 0.008649f, 0.024338f, 0.001656f, -0.029325f, -0.007344f, -0.004984f, -0.006930f, 0.015456f, -0.002324f, -0.005779f, 0.018299f, 0.002723f, -0.007340f, -0.002711f, 0.007394f, -0.006557f, -0.002399f, 0.002104f, -0.002173f, -0.010286f, -0.004467f, -0.000589f, -0.009685f, -0.004616f, -0.003981f, 0.006755f, -0.004467f, + 0.013116f, 0.013007f, 0.001142f, 0.012380f, 0.008473f, -0.005371f, -0.001987f, -0.004039f, -0.019088f, 0.002290f, 0.003818f, -0.017903f, -0.002694f, -0.004962f, 0.006368f, 0.016660f, 0.002415f, -0.016575f, 0.002363f, -0.006290f, -0.011372f, 0.009295f, -0.002731f, -0.011823f, 0.005347f, 0.004780f, 0.013162f, -0.000891f, -0.001725f, 0.009929f, 0.011461f, 0.012864f, -0.013112f, 0.009374f, -0.001739f, -0.002041f, 0.003355f, 0.013877f, -0.000681f, -0.003484f, 0.004273f, 0.002264f, -0.011681f, -0.001357f, 0.015903f, 0.003699f, -0.001076f, -0.001823f, -0.007252f, 0.005322f, -0.002689f, -0.003094f, 0.000505f, -0.000290f, 0.003660f, -0.000059f, -0.004982f, -0.003368f, 0.006626f, -0.000639f, 0.002606f, -0.002812f, 0.003204f, -0.002288f, -0.001858f, -0.002260f, 0.001673f, 0.003740f, -0.001743f, 0.011708f, -0.029928f, 0.012483f, -0.003302f, -0.006766f, -0.006178f, 0.005180f, -0.002875f, -0.017666f, -0.018910f, 0.002362f, 0.029409f, 0.008173f, -0.021451f, 0.004895f, 0.017441f, -0.012505f, 0.002240f, -0.003110f, 0.010391f, -0.000002f, 0.009589f, 0.025822f, 0.018733f, 0.011779f, -0.000459f, -0.002058f, + -0.011925f, -0.012682f, 0.005058f, -0.033293f, -0.005293f, 0.015893f, 0.001755f, -0.001610f, -0.015995f, -0.005619f, -0.000693f, -0.000645f, -0.007777f, -0.016442f, 0.018507f, -0.006317f, -0.004068f, -0.002902f, -0.015315f, -0.017133f, -0.000547f, -0.008316f, 0.001192f, 0.008284f, 0.006273f, 0.007025f, -0.013667f, -0.003461f, -0.006714f, -0.004182f, 0.021981f, -0.002228f, -0.010033f, 0.000798f, 0.028191f, -0.014946f, 0.004743f, 0.020842f, 0.000653f, -0.004670f, -0.010451f, 0.006410f, 0.001207f, 0.015040f, -0.008027f, 0.012743f, 0.010276f, 0.019673f, 0.009489f, 0.014761f, 0.001570f, -0.009499f, 0.002082f, -0.000293f, -0.005518f, 0.008963f, 0.012637f, -0.010360f, 0.006910f, 0.003880f, -0.009384f, 0.001342f, 0.003370f, 0.002746f, 0.003450f, -0.005268f, 0.003084f, -0.005783f, -0.001744f, -0.001519f, 0.000449f, 0.001215f, 0.002573f, 0.003336f, -0.000627f, 0.004944f, -0.000318f, -0.002040f, 0.001717f, 0.003331f, -0.001044f, 0.002069f, -0.004987f, 0.002119f, -0.001590f, 0.003302f, -0.003658f, 0.017256f, 0.024580f, 0.015137f, 0.002436f, -0.005220f, -0.009308f, -0.020411f, -0.006008f, 0.013578f, + -0.027939f, -0.011366f, 0.025298f, -0.035105f, -0.006446f, 0.019718f, 0.024606f, -0.002482f, -0.024878f, 0.003487f, -0.009573f, 0.033212f, 0.014616f, -0.022731f, -0.014753f, -0.003458f, -0.014148f, -0.028622f, -0.014438f, -0.012677f, -0.010472f, -0.023173f, 0.011582f, 0.004163f, 0.014240f, -0.008798f, -0.004385f, -0.020382f, -0.002193f, -0.017681f, 0.001743f, -0.011741f, 0.002505f, 0.006233f, -0.027465f, -0.008948f, -0.010522f, -0.007227f, 0.005789f, 0.005876f, -0.008843f, 0.027005f, -0.001858f, -0.007019f, -0.005170f, 0.002638f, -0.006444f, -0.002195f, 0.009923f, 0.008582f, 0.011121f, 0.014832f, 0.013931f, 0.001143f, 0.009097f, -0.004463f, 0.020926f, 0.022538f, -0.011436f, -0.005859f, 0.013697f, -0.000368f, -0.034256f, 0.001599f, -0.017455f, 0.010611f, 0.010678f, 0.019332f, -0.014766f, 0.008244f, -0.020673f, -0.001973f, 0.011626f, -0.004994f, 0.018226f, -0.004756f, -0.002355f, 0.003708f, 0.001084f, 0.002598f, -0.001335f, 0.001103f, 0.007682f, -0.005761f, -0.001598f, 0.007522f, -0.001275f, 0.005911f, -0.008898f, -0.007609f, 0.005046f, -0.001206f, 0.001500f, 0.000837f, -0.001166f, 0.001372f, + -0.005370f, -0.001353f, -0.001031f, -0.002265f, -0.003668f, -0.001215f, 0.002671f, 0.003368f, -0.000283f, -0.003546f, -0.019057f, -0.022769f, -0.011346f, -0.021991f, -0.031698f, 0.022473f, 0.002085f, 0.012637f, -0.017572f, -0.018017f, -0.025160f, -0.016798f, 0.007610f, -0.018427f, -0.016794f, 0.022858f, -0.005804f, 0.001215f, 0.005378f, 0.013124f, -0.010202f, -0.007503f, 0.003636f, -0.005977f, 0.003440f, -0.001002f, -0.011321f, -0.021308f, -0.033703f, 0.011257f, -0.024236f, -0.021972f, 0.001062f, -0.005676f, -0.001651f, -0.012297f, 0.005533f, 0.006563f, -0.027484f, -0.000438f, -0.006109f, -0.010559f, -0.015320f, 0.008821f, 0.001761f, 0.027536f, 0.003175f, -0.015193f, -0.001042f, 0.002711f, 0.011204f, 0.004896f, 0.024188f, -0.001913f, -0.026494f, 0.011478f, -0.005684f, 0.012105f, -0.015871f, 0.003621f, 0.008886f, -0.046521f, -0.022257f, 0.016691f, -0.001506f, -0.004829f, 0.007103f, -0.002190f, 0.029424f, -0.000849f, 0.018612f, 0.016422f, -0.023970f, -0.027550f, 0.001553f, -0.030539f, -0.000767f, -0.001318f, 0.000565f, 0.004670f, 0.019208f, -0.000470f, -0.012152f, 0.011252f, 0.014444f, -0.013319f, + 0.002326f, 0.004572f, 0.014534f, -0.006910f, 0.000467f, -0.007007f, 0.004889f, -0.000176f, 0.003048f, 0.005076f, 0.007818f, 0.008182f, -0.000277f, -0.007407f, 0.000308f, 0.005891f, 0.001744f, 0.001427f, -0.007009f, 0.001005f, -0.007018f, -0.000777f, 0.003762f, -0.000871f, 0.006849f, 0.005359f, -0.000312f, 0.001714f, 0.005548f, -0.004899f, 0.009798f, 0.000066f, -0.004311f, 0.004680f, 0.016118f, 0.065309f, -0.016027f, -0.044110f, -0.003845f, -0.019381f, 0.047656f, 0.003519f, 0.026722f, 0.014238f, -0.008227f, -0.021217f, -0.009380f, -0.023107f, -0.005844f, 0.031853f, -0.035635f, 0.001331f, -0.029067f, 0.007718f, 0.002466f, 0.014030f, 0.003331f, -0.014161f, -0.023560f, -0.027705f, -0.005070f, -0.027188f, -0.021096f, 0.003246f, 0.006313f, 0.019849f, -0.018740f, -0.039344f, -0.008174f, -0.013811f, 0.004715f, -0.018625f, -0.012410f, 0.005404f, -0.009779f, -0.015807f, -0.001051f, 0.001453f, -0.007953f, 0.037875f, -0.007813f, -0.006514f, 0.009632f, 0.009699f, -0.011315f, -0.005075f, 0.028206f, 0.023388f, 0.015525f, 0.029476f, 0.023294f, -0.000235f, 0.009751f, 0.016614f, -0.012578f, -0.012110f, + 0.003464f, 0.011881f, 0.019781f, 0.007810f, 0.040149f, 0.004094f, 0.026917f, -0.007950f, -0.015561f, -0.010342f, 0.056976f, 0.009798f, -0.007410f, -0.007208f, -0.020480f, -0.019924f, -0.014125f, -0.014080f, -0.016405f, 0.006190f, 0.013109f, -0.014318f, 0.004460f, 0.013799f, 0.007008f, -0.013261f, 0.002577f, 0.014070f, -0.003660f, 0.007608f, -0.007264f, -0.002425f, 0.003182f, -0.002857f, -0.001680f, -0.004751f, -0.009281f, -0.001862f, -0.008418f, 0.003991f, 0.006912f, 0.003124f, -0.007042f, 0.008797f, 0.005916f, -0.005576f, -0.006176f, -0.009905f, -0.002908f, -0.003083f, 0.002380f, -0.002546f, 0.004285f, 0.002779f, 0.000703f, -0.001423f, 0.000035f, -0.008041f, 0.003010f, 0.012174f, -0.057127f, -0.021508f, 0.028970f, -0.007074f, -0.029069f, -0.027704f, -0.009033f, 0.030911f, 0.016824f, -0.025276f, 0.014110f, -0.033563f, -0.013436f, -0.004266f, -0.021647f, -0.030185f, 0.025398f, 0.013550f, -0.026410f, -0.009677f, 0.057720f, 0.013057f, -0.025142f, -0.035284f, 0.000977f, 0.018531f, 0.003587f, 0.002915f, -0.039682f, -0.001510f, -0.004125f, -0.029127f, -0.016369f, -0.011962f, -0.022628f, -0.011278f, + 0.007123f, 0.000529f, -0.023906f, -0.024716f, 0.003555f, 0.014910f, 0.000049f, 0.020106f, 0.034779f, -0.024539f, 0.021727f, 0.015635f, 0.007221f, 0.004213f, 0.026331f, 0.007640f, 0.016411f, 0.010235f, 0.014835f, -0.005290f, -0.002659f, 0.029079f, 0.046638f, 0.007184f, -0.010291f, 0.005191f, -0.006191f, -0.017974f, 0.029843f, -0.014854f, -0.024325f, -0.039668f, -0.013016f, -0.046147f, 0.023272f, -0.019126f, -0.007431f, -0.003179f, -0.006120f, -0.016935f, -0.002288f, 0.017641f, -0.020335f, -0.002375f, 0.010040f, -0.006520f, -0.019820f, 0.009621f, 0.002109f, 0.005099f, -0.000898f, -0.002975f, -0.006800f, -0.001371f, -0.003308f, 0.010281f, 0.003310f, 0.002416f, 0.002217f, 0.002956f, 0.000599f, 0.004932f, 0.004202f, 0.009022f, -0.013029f, -0.002198f, 0.001566f, 0.008314f, -0.003239f, 0.006818f, -0.007675f, 0.002172f, 0.002438f, -0.002404f, -0.004045f, 0.007162f, -0.003102f, -0.001278f, 0.004958f, 0.000724f, 0.000896f, -0.011621f, -0.025359f, 0.021566f, 0.012814f, -0.003734f, 0.014289f, 0.010740f, 0.030502f, 0.023639f, -0.049739f, -0.016407f, 0.055184f, -0.043448f, -0.012911f, -0.026288f, + 0.039314f, 0.017613f, 0.018096f, 0.007729f, 0.005731f, 0.015847f, 0.041716f, 0.019966f, -0.018420f, -0.000268f, 0.001353f, -0.001073f, 0.016500f, 0.018678f, 0.002234f, 0.011096f, 0.010488f, -0.009478f, 0.012915f, 0.007876f, 0.025780f, -0.012281f, -0.024827f, -0.021200f, -0.016616f, 0.005026f, -0.002173f, 0.009965f, 0.011177f, 0.011363f, 0.022713f, -0.009845f, 0.004790f, -0.009923f, -0.017719f, -0.007055f, 0.001882f, -0.020298f, 0.026092f, 0.031696f, -0.034308f, 0.011819f, -0.023763f, 0.019538f, -0.003878f, 0.007672f, -0.002598f, -0.018868f, -0.004618f, 0.021976f, -0.017080f, -0.005130f, 0.003879f, -0.034902f, -0.013377f, 0.007471f, -0.027084f, -0.001750f, 0.043370f, 0.021694f, -0.002907f, -0.009790f, 0.034613f, 0.009221f, 0.024934f, -0.007699f, -0.011160f, 0.036259f, -0.012241f, 0.011414f, 0.004831f, 0.005270f, -0.007415f, -0.005309f, -0.006624f, -0.004460f, -0.012128f, -0.007366f, -0.008441f, 0.001359f, 0.007852f, -0.002735f, -0.017035f, -0.005342f, -0.002315f, 0.002075f, -0.000479f, -0.004105f, 0.000122f, 0.004965f, 0.008390f, -0.006507f, -0.000146f, -0.018262f, 0.003179f, -0.002145f, + -0.003412f, 0.012574f, -0.000148f, -0.001044f, -0.007253f, 0.007754f, 0.002171f, 0.011409f, -0.003754f, -0.000500f, -0.007449f, -0.000665f, -0.010761f, 0.034564f, -0.002869f, -0.007989f, -0.028733f, 0.001288f, 0.002679f, -0.007662f, -0.000659f, -0.013261f, 0.004997f, -0.041156f, 0.037572f, -0.007553f, -0.013344f, -0.026028f, -0.029477f, -0.002992f, 0.035852f, -0.006453f, 0.009921f, -0.022116f, -0.012828f, -0.006130f, -0.021601f, -0.025990f, 0.023804f, -0.014654f, -0.012000f, 0.021180f, 0.020524f, -0.028963f, 0.010115f, 0.011054f, 0.025143f, 0.020845f, -0.007582f, -0.018295f, -0.011586f, -0.028148f, 0.031073f, 0.020520f, 0.010325f, 0.022247f, -0.022929f, 0.015805f, -0.003312f, 0.014499f, 0.015982f, -0.014925f, -0.001162f, 0.050663f, 0.042407f, -0.031932f, 0.012862f, 0.026360f, -0.020138f, 0.006364f, -0.047212f, 0.014274f, -0.025525f, 0.021256f, -0.014789f, -0.016210f, -0.011503f, 0.056535f, 0.003275f, -0.016298f, 0.005056f, 0.019109f, 0.002551f, 0.011428f, -0.030335f, -0.003313f, 0.050723f, -0.001511f, -0.019827f, -0.030826f, 0.001029f, -0.022773f, 0.014393f, 0.014777f, 0.017785f, -0.031476f, + -0.032968f, -0.008649f, 0.005650f, 0.011047f, 0.003541f, 0.000354f, 0.000905f, 0.012234f, -0.008011f, -0.003062f, -0.002409f, -0.005133f, 0.006043f, 0.005230f, -0.009999f, -0.006760f, -0.015416f, 0.009704f, -0.005579f, 0.004362f, 0.006922f, 0.010212f, 0.008074f, 0.003652f, 0.015730f, 0.001216f, -0.003503f, 0.007700f, -0.011456f, 0.006709f, 0.004632f, 0.003411f, 0.010471f, 0.011307f, 0.002199f, -0.001288f, 0.006678f, 0.000995f, -0.000844f, -0.011950f, -0.015836f, -0.002769f, -0.001069f, -0.001720f, -0.031016f, -0.001307f, -0.003535f, -0.005430f, 0.009542f, -0.045732f, -0.020519f, -0.025817f, 0.021852f, -0.011190f, 0.032297f, 0.018973f, 0.040998f, -0.020516f, -0.001238f, -0.032211f, 0.027483f, 0.048858f, -0.014893f, -0.039452f, 0.004278f, -0.008338f, 0.060853f, -0.015221f, -0.023245f, 0.022688f, 0.013147f, 0.009308f, 0.023210f, 0.007418f, -0.075458f, -0.000044f, -0.004631f, 0.029334f, 0.053796f, -0.050688f, 0.002466f, 0.014804f, -0.023691f, -0.005201f, -0.068363f, -0.015885f, 0.035588f, -0.056952f, -0.033420f, -0.017685f, -0.021681f, 0.022295f, -0.013234f, -0.020479f, 0.030834f, 0.008935f, + 0.011562f, 0.030991f, 0.003946f, -0.011051f, 0.022760f, 0.032536f, -0.031419f, -0.024075f, 0.049346f, 0.033300f, 0.011850f, 0.015235f, 0.012061f, -0.022258f, -0.031210f, -0.000316f, 0.000950f, -0.006801f, 0.010532f, -0.019485f, 0.014176f, -0.026878f, 0.011335f, 0.061832f, -0.028361f, -0.024153f, 0.034707f, 0.009575f, -0.011076f, 0.021344f, 0.030580f, 0.022049f, 0.027094f, 0.012881f, -0.012915f, 0.010682f, -0.032167f, 0.017242f, 0.008000f, 0.008993f, -0.016029f, -0.005221f, 0.004068f, -0.001805f, -0.002723f, -0.005244f, 0.011350f, 0.020779f, -0.007612f, -0.020576f, 0.013503f, 0.024072f, 0.013323f, 0.009313f, -0.028182f, 0.017190f, 0.002502f, 0.009185f, -0.003984f, -0.010118f, -0.001661f, 0.014452f, 0.001987f, -0.002974f, -0.011778f, -0.001279f, -0.006590f, -0.003838f, -0.005080f, 0.006285f, 0.014568f, -0.008621f, 0.001226f, 0.008509f, -0.002752f, -0.001792f, -0.006904f, 0.001118f, -0.004393f, -0.005939f, 0.013122f, 0.004413f, 0.018050f, 0.016220f, 0.026555f, -0.061502f, -0.113470f, -0.052375f, -0.007948f, 0.038551f, 0.002733f, 0.042511f, 0.039337f, -0.011998f, 0.006355f, -0.009745f, + -0.021616f, -0.035600f, -0.020694f, -0.025740f, -0.014951f, 0.040333f, -0.052661f, -0.009288f, -0.043911f, -0.054525f, -0.009605f, -0.055036f, -0.044245f, 0.005234f, -0.011655f, -0.006514f, 0.009870f, 0.047966f, 0.003236f, -0.035146f, 0.001856f, -0.004402f, -0.010662f, -0.045599f, -0.003133f, 0.053866f, 0.004835f, -0.001161f, 0.021737f, 0.041776f, 0.028098f, 0.007093f, -0.017317f, 0.014387f, -0.014590f, -0.038794f, -0.070863f, 0.066909f, -0.008743f, 0.055681f, -0.004962f, 0.000441f, -0.020376f, -0.032657f, 0.058734f, -0.033853f, -0.027529f, -0.003165f, -0.043291f, -0.040737f, 0.033276f, 0.024280f, 0.012605f, -0.004649f, 0.016775f, -0.030199f, 0.011259f, -0.024587f, -0.034531f, -0.037686f, -0.029459f, -0.012392f, 0.028512f, 0.001430f, 0.009987f, -0.017673f, 0.009820f, -0.023003f, 0.016025f, 0.012340f, 0.011281f, -0.007800f, -0.001384f, 0.014103f, -0.004417f, -0.018077f, -0.013755f, -0.017908f, -0.001989f, -0.013350f, -0.003475f, -0.005012f, -0.005197f, 0.004647f, 0.001590f, -0.007430f, 0.002453f, 0.008642f, -0.002959f, -0.006346f, -0.014220f, -0.000637f, -0.009960f, -0.001825f, -0.002110f, -0.007035f, + 0.015350f, -0.015531f, -0.014647f, -0.007188f, 0.007842f, -0.013831f, -0.013994f, 0.001330f, -0.011818f, -0.000669f, -0.002658f, 0.005651f, -0.002139f, 0.001496f, -0.009708f, 0.003027f, -0.019388f, -0.010038f, -0.003547f, -0.040088f, 0.008377f, -0.009568f, -0.029624f, -0.042997f, -0.001222f, -0.041105f, -0.049372f, -0.007491f, -0.022990f, -0.052650f, -0.074694f, 0.009082f, -0.028771f, 0.014326f, -0.006147f, 0.028396f, 0.061425f, 0.003822f, 0.005609f, -0.030922f, -0.034646f, 0.028797f, 0.014875f, -0.022234f, -0.000735f, 0.018987f, -0.042974f, -0.031775f, -0.003142f, 0.054034f, -0.046813f, 0.001198f, 0.000223f, 0.025174f, -0.040127f, 0.041462f, 0.020585f, 0.012140f, -0.001966f, -0.016498f, -0.046450f, 0.000062f, -0.011811f, 0.016984f, -0.025636f, -0.059934f, 0.048874f, -0.035925f, -0.017168f, -0.002063f, 0.047791f, -0.036600f, 0.016147f, -0.029993f, 0.017911f, -0.010588f, -0.045783f, 0.021868f, -0.058077f, -0.012188f, -0.017370f, 0.020354f, 0.045821f, -0.026692f, 0.016335f, 0.047810f, -0.038983f, 0.006635f, 0.010447f, 0.011498f, 0.012998f, -0.068858f, -0.021745f, -0.011389f, 0.023876f, 0.005546f, + -0.001153f, 0.012936f, -0.013216f, 0.027901f, -0.006094f, 0.006556f, -0.027677f, 0.023300f, 0.004845f, -0.042420f, -0.020543f, 0.020305f, 0.024051f, -0.003359f, -0.007490f, -0.016503f, 0.022451f, 0.003137f, -0.000720f, -0.044221f, 0.006126f, -0.021217f, -0.034713f, -0.010054f, -0.007898f, -0.004238f, -0.020903f, -0.025386f, 0.008002f, -0.005814f, -0.013681f, 0.007350f, -0.003726f, -0.003643f, 0.000311f, -0.006834f, 0.001238f, 0.013692f, -0.027070f, 0.002547f, 0.003664f, -0.008614f, 0.017432f, 0.017255f, 0.018532f, 0.007799f, 0.010683f, -0.012626f, 0.003920f, 0.000448f, 0.004394f, -0.005891f, -0.001037f, -0.000638f, 0.006959f, -0.005324f, -0.012896f, 0.010898f, 0.080942f, 0.008477f, 0.034069f, 0.093264f, -0.043731f, -0.024241f, -0.036687f, -0.013395f, 0.042637f, 0.003013f, 0.052564f, 0.014391f, -0.002184f, -0.019529f, 0.039641f, -0.024696f, 0.008789f, -0.016446f, 0.016183f, -0.026181f, 0.030118f, -0.014639f, -0.007422f, -0.017215f, 0.023072f, 0.016201f, -0.026098f, -0.005967f, 0.024299f, 0.007606f, -0.016887f, 0.001809f, -0.021625f, -0.069753f, 0.029956f, -0.036578f, -0.054136f, 0.033380f, + 0.014344f, 0.036087f, -0.003770f, -0.034864f, -0.013497f, -0.009235f, 0.020460f, 0.028030f, 0.030593f, 0.051876f, 0.050617f, -0.022518f, 0.006606f, -0.053904f, 0.000107f, -0.039218f, -0.070746f, -0.006797f, -0.057768f, 0.018711f, -0.046233f, -0.030018f, -0.030782f, -0.042816f, 0.003776f, -0.010066f, 0.003132f, -0.012668f, -0.005911f, -0.003639f, -0.074834f, 0.011983f, 0.010796f, 0.017069f, 0.035178f, -0.006634f, -0.059618f, 0.034339f, -0.038800f, 0.022233f, 0.021291f, 0.048387f, -0.026737f, -0.023889f, -0.016415f, -0.009252f, -0.034858f, 0.013897f, 0.007381f, 0.004492f, -0.008765f, 0.012305f, -0.017684f, 0.017564f, -0.003410f, 0.003787f, 0.004605f, -0.021015f, -0.000664f, 0.008495f, 0.020434f, -0.005316f, -0.013192f, 0.009420f, 0.013981f, 0.018206f, -0.011803f, 0.000355f, 0.009511f, -0.000988f, -0.002501f, -0.006442f, -0.013912f, 0.009672f, -0.000815f, 0.006272f, -0.008020f, -0.000783f, 0.011706f, -0.007873f, -0.013117f, -0.006948f, 0.001417f, -0.005087f, -0.022623f, 0.035769f, -0.009577f, -0.007040f, 0.002521f, 0.007073f, -0.006493f, 0.006809f, 0.007961f, -0.003200f, -0.001213f, -0.004547f, + -0.007477f, 0.058347f, 0.108221f, -0.059289f, -0.048500f, -0.083838f, -0.171412f, -0.042063f, -0.018296f, 0.038470f, 0.022722f, -0.014571f, -0.033402f, 0.046953f, 0.056715f, 0.005155f, -0.003172f, 0.000523f, -0.045543f, -0.026420f, -0.032430f, -0.024397f, -0.048166f, -0.000476f, -0.012500f, -0.005602f, 0.032299f, -0.044672f, 0.035469f, 0.033852f, -0.010984f, 0.017493f, -0.002443f, -0.079637f, -0.057316f, -0.031595f, -0.029544f, -0.013267f, 0.005802f, 0.030854f, 0.009460f, 0.016627f, 0.076511f, 0.070130f, 0.015339f, -0.051962f, -0.027605f, -0.002198f, -0.027297f, -0.049288f, -0.123718f, -0.103454f, -0.047118f, -0.011054f, 0.004516f, 0.026999f, -0.086018f, -0.049207f, 0.043726f, 0.051433f, 0.061137f, -0.056249f, -0.068903f, 0.022261f, -0.042276f, 0.101357f, -0.051722f, -0.005833f, -0.030700f, -0.016281f, 0.013367f, 0.029967f, -0.015597f, -0.040086f, 0.036560f, 0.036062f, -0.008838f, 0.041306f, 0.036074f, -0.080337f, 0.071166f, -0.046609f, -0.000467f, -0.013762f, -0.048700f, -0.013541f, 0.023595f, 0.018040f, -0.004626f, 0.009300f, -0.030009f, 0.000579f, 0.013968f, 0.019752f, 0.030568f, -0.023645f, + 0.003986f, -0.006854f, -0.013566f, -0.033455f, -0.004894f, -0.032246f, 0.027491f, -0.005390f, -0.034945f, 0.005254f, -0.039923f, -0.002812f, 0.003843f, -0.009283f, -0.017790f, 0.000928f, 0.002221f, 0.003852f, 0.011819f, -0.002673f, -0.001553f, 0.022520f, 0.006457f, -0.023284f, -0.027360f, 0.006878f, -0.018513f, -0.037516f, -0.013824f, -0.035332f, 0.010416f, 0.010689f, 0.026364f, 0.003715f, -0.028289f, -0.020331f, 0.020130f, 0.102042f, -0.033976f, 0.032901f, -0.001393f, -0.045409f, 0.007059f, -0.091682f, -0.020602f, 0.019738f, 0.001860f, -0.053344f, 0.031659f, 0.093525f, 0.065646f, -0.028880f, -0.058465f, -0.024871f, 0.006657f, 0.098300f, 0.013297f, 0.002550f, 0.000461f, 0.045504f, 0.046792f, 0.012301f, 0.035800f, 0.029057f, 0.055001f, -0.015537f, 0.006371f, 0.035196f, -0.031907f, -0.048604f, 0.027484f, 0.080741f, 0.017580f, 0.039209f, 0.003859f, 0.024139f, -0.107780f, 0.020136f, -0.004099f, 0.024548f, 0.105900f, 0.042873f, 0.014426f, -0.010306f, 0.047531f, -0.010619f, -0.022103f, 0.016973f, 0.029588f, 0.062489f, -0.019939f, 0.038938f, 0.007179f, 0.010990f, 0.024629f, 0.031770f, + -0.000850f, -0.040952f, -0.025456f, 0.009933f, 0.079923f, 0.054960f, 0.042592f, 0.046292f, 0.038625f, -0.010700f, -0.098661f, -0.070628f, -0.135392f, -0.001539f, 0.041461f, 0.078389f, 0.012283f, -0.056528f, 0.018935f, -0.034825f, 0.011442f, 0.027359f, 0.008283f, -0.016073f, -0.009022f, 0.000727f, -0.007514f, 0.022313f, -0.014858f, -0.038941f, 0.000880f, 0.013609f, 0.017655f, -0.024988f, -0.011449f, -0.046888f, 0.011871f, 0.021169f, -0.018100f, -0.015799f, 0.011966f, -0.008717f, -0.011611f, -0.009664f, -0.036751f, -0.007302f, 0.038112f, 0.024440f, 0.034510f, -0.017902f, -0.038870f, -0.028206f, 0.025363f, 0.020646f, -0.009103f, -0.001003f, -0.002309f, 0.007831f, -0.010906f, 0.023608f, -0.025947f, -0.013883f, 0.001847f, 0.005151f, 0.014999f, -0.031258f, 0.006652f, -0.022700f, 0.062666f, -0.017461f, 0.013654f, -0.019493f, 0.007201f, 0.000631f, 0.005853f, -0.002311f, -0.014890f, -0.038322f, -0.016790f, 0.083924f, -0.003916f, -0.038476f, 0.009020f, -0.007033f, -0.032213f, -0.025235f, 0.004139f, 0.044425f, 0.119185f, 0.054026f, 0.105586f, 0.055766f, 0.046622f, 0.045158f, -0.032067f, -0.026147f, + -0.030701f, 0.013524f, 0.086445f, 0.028229f, -0.073192f, 0.031586f, -0.078651f, 0.039344f, -0.050071f, -0.010290f, -0.044018f, -0.046519f, -0.002768f, 0.006257f, -0.001212f, -0.058255f, 0.075672f, -0.015237f, 0.028110f, -0.073731f, 0.019286f, -0.016955f, -0.023304f, 0.038600f, -0.031929f, 0.076956f, 0.008524f, -0.029996f, 0.003434f, -0.022532f, -0.031936f, 0.021843f, -0.052487f, -0.010900f, 0.064826f, -0.014004f, 0.026245f, -0.003267f, -0.047828f, 0.052159f, -0.028442f, -0.107519f, 0.012956f, 0.008360f, -0.000893f, 0.012149f, -0.015317f, -0.020728f, -0.006479f, 0.049072f, -0.093079f, 0.055026f, -0.022280f, -0.012608f, 0.060517f, -0.037218f, 0.017491f, 0.022784f, 0.088065f, 0.031110f, 0.038697f, -0.005971f, 0.052466f, -0.041935f, 0.041536f, 0.007208f, -0.016613f, 0.011563f, 0.002124f, 0.002077f, -0.023243f, -0.005584f, 0.003689f, -0.009375f, -0.017489f, 0.036330f, 0.000222f, -0.002199f, -0.010983f, 0.012382f, -0.014484f, 0.032459f, 0.018267f, 0.017652f, 0.003600f, 0.000273f, -0.003417f, 0.027272f, -0.021864f, -0.027089f, 0.010233f, 0.014538f, -0.001678f, 0.024573f, -0.010697f, -0.004331f, + 0.000861f, -0.007684f, -0.027152f, -0.026274f, -0.002880f, 0.009543f, -0.013669f, 0.005231f, 0.008230f, 0.010182f, -0.007573f, -0.000012f, 0.017243f, -0.007498f, -0.025221f, -0.045171f, 0.074095f, 0.068753f, 0.239978f, 0.096845f, -0.130442f, -0.061350f, -0.063778f, -0.100338f, 0.070209f, 0.215654f, 0.086569f, 0.040997f, -0.053775f, -0.014764f, -0.003334f, -0.002412f, 0.103817f, 0.071059f, 0.045489f, 0.155932f, -0.186196f, 0.012336f, 0.097887f, -0.023422f, 0.020437f, 0.102421f, 0.018319f, -0.028925f, 0.055536f, -0.102601f, -0.205947f, -0.019397f, 0.020734f, -0.079721f, -0.008608f, 0.110935f, 0.019138f, 0.006873f, 0.042541f, -0.086934f, -0.177306f, -0.162060f, -0.073388f, 0.054169f, 0.106252f, 0.234587f, 0.059391f, -0.029463f, -0.028857f, -0.062961f, -0.139428f, -0.042039f, 0.103075f, 0.103643f, 0.108797f, 0.106026f, 0.066865f, 0.055503f, 0.016577f, 0.024609f, -0.089302f, -0.054674f, 0.014079f, 0.025803f, 0.046844f, 0.057184f, 0.139873f, 0.037099f, 0.081731f, -0.052622f, -0.051833f, -0.093727f, -0.019760f, -0.071499f, -0.016445f, 0.145823f, 0.187114f, 0.004782f, -0.006729f, -0.115274f, + -0.132956f, -0.074574f, -0.030953f, 0.075120f, 0.040449f, -0.007331f, 0.028499f, -0.009467f, -0.018234f, -0.034164f, -0.032219f, -0.003579f, 0.009355f, 0.007750f, 0.041897f, -0.002074f, 0.000080f, -0.020039f, 0.001691f, -0.025146f, -0.007762f, 0.001043f, -0.037431f, -0.016333f, 0.001861f, -0.009487f, -0.001643f, 0.023547f, 0.021080f, 0.048066f, -0.019592f, -0.007416f, -0.046488f, -0.037411f, -0.028093f, 0.049860f, 0.032054f, 0.016490f, 0.017382f, -0.013836f, -0.041070f, -0.032821f, 0.002790f, -0.022711f, 0.042671f, 0.062792f, -0.000984f, -0.013358f, -0.042221f, -0.014533f, -0.171694f, -0.104833f, 0.060849f, 0.161843f, 0.186930f, 0.391157f, 0.237482f, 0.162348f, 0.142153f, 0.111823f, -0.019927f, -0.168407f, -0.185760f, -0.358569f, -0.382668f, -0.361442f, -0.232102f, -0.080060f, 0.079930f, 0.139875f, 0.231156f, 0.228462f, 0.159232f, 0.158619f, 0.201182f, 0.194398f, 0.173146f, 0.110980f, 0.076052f, 0.068426f, -0.007441f, -0.010927f, -0.223994f, -0.158383f, -0.200473f, -0.241213f, -0.102340f, -0.235526f, -0.191377f, -0.347400f, -0.305321f, -0.215182f, -0.144890f, -0.020605f, 0.180607f, 0.220325f, + 0.184375f, 0.198462f, 0.182389f, 0.339889f, 0.440810f, 0.395331f, 0.390681f, 0.346168f, 0.332796f, 0.248765f, 0.247222f, 0.054101f, -0.167669f, -0.346849f, -0.333227f, -0.496758f, -0.415789f, -0.603527f, -0.720635f, -0.638944f, -0.608308f, -0.364838f, -0.255290f, 0.047685f, 0.120240f, 0.285332f, 0.422128f, 0.652610f, 0.563805f, 0.815750f, 0.703154f, 0.505201f, 0.495227f, 0.226797f, 0.015849f, -0.044129f, -0.177149f, -0.307165f, -0.368963f, -0.439093f, -0.382023f, -0.344493f, -0.334009f, -0.269793f, -0.279679f, -0.228164f, -0.202325f, -0.060252f, -0.043519f, 0.056779f, 0.129470f, 0.150595f, 0.194319f, 0.278325f, 0.334769f, 0.358671f, 0.373636f, 0.276051f, 0.227023f, 0.221808f, 0.081329f, 0.055311f, -0.124824f, -0.296437f, -0.397036f, -0.404492f, -0.454570f, -0.287148f, -0.329415f, -0.218095f, -0.158746f, -0.042417f, 0.078360f, 0.156528f, 0.235533f, 0.246213f, 0.368312f, 0.380038f, 0.363411f, 0.309797f, 0.276422f, 0.111584f, 0.027932f, -0.067472f, -0.156611f, -0.296786f, -0.351664f, -0.290498f, -0.198276f, -0.173543f, -0.122503f, -0.110179f, -0.058429f, -0.005355f, 0.015184f, 0.012643f, + 0.054004f, 0.062934f, 0.096545f, 0.084070f, 0.077087f, 0.073840f, 0.082676f, 0.060542f, 0.056956f, 0.066450f, 0.069217f, 0.041485f, 0.027496f, 0.004488f, 0.001880f, 0.011646f, -0.004897f, -0.036211f, -0.027854f, -0.038961f, -0.048998f, -0.064693f, -0.056975f, -0.047989f, -0.031335f, -0.037902f, -0.029479f, -0.025076f, -0.006568f, -0.014650f, -0.010754f, -0.005391f, 0.011894f, 0.003302f, 0.011903f, 0.020317f, 0.033069f, 0.024983f, 0.032332f, 0.026359f, 0.037108f, 0.031320f, 0.025033f, 0.008304f, 0.011668f, 0.004566f, 0.004130f, -0.009825f, -0.007418f, -0.009542f, -0.003330f, -0.012578f, -0.006738f, -0.012445f, -0.008063f, -0.010465f, 0.002864f, -0.002878f, -0.004010f, -0.011910f, -0.006276f, -0.010757f, -0.006435f, -0.017469f, -0.011884f, -0.010639f, -0.001828f, -0.005637f, 0.002886f, 0.001178f, 0.008539f, 0.004856f, 0.013542f, 0.010112f, 0.013460f, 0.006649f, 0.010506f, 0.004496f, 0.010279f, 0.004485f, 0.009186f, 0.002844f, 0.006395f, -0.000950f, 0.002401f, -0.004903f, -0.000542f, -0.006712f, -0.001293f, -0.006623f, -0.000671f, -0.005536f, 0.000562f, -0.004414f, 0.001666f, -0.003281f, + 0.002589f} + }, + { + {-0.009587f, -0.025848f, -0.002130f, -0.004174f, -0.003479f, 0.000329f, -0.004260f, 0.001553f, 0.002570f, 0.010516f, -0.003531f, -0.000484f, -0.009715f, 0.000658f, 0.009838f, 0.000620f, 0.007119f, -0.002155f, 0.003006f, -0.004161f, -0.006128f, 0.000140f, 0.006764f, -0.000934f, -0.008414f, -0.000419f, 0.008196f, 0.002593f, -0.003480f, -0.002990f, -0.000365f, -0.001197f, -0.001892f, 0.000024f, -0.001367f, -0.002887f, -0.000345f, 0.001602f, 0.001155f, -0.000450f, -0.006419f, 0.009481f, 0.013031f, 0.000341f, 0.001522f, -0.005341f, -0.002986f, 0.000954f, -0.006799f, -0.007625f, 0.004510f, -0.006210f, 0.004455f, 0.005697f, 0.005750f, 0.002078f, -0.000877f, 0.001478f, 0.001195f, 0.004264f, -0.009369f, 0.000728f, -0.001220f, -0.006893f, -0.009231f, 0.000190f, 0.004589f, -0.003591f, -0.000505f, -0.001151f, -0.000669f, 0.006417f, 0.003201f, 0.000790f, 0.002522f, -0.002201f, -0.007610f, 0.002867f, 0.001203f, 0.006415f, -0.007827f, -0.005992f, 0.004371f, -0.003572f, -0.001657f, -0.005892f, 0.001283f, -0.003497f, -0.003206f, -0.000004f, -0.002580f, -0.002852f, 0.000722f, -0.001583f, -0.000742f, -0.003238f, + 0.001903f, -0.000480f, 0.000138f, -0.000931f, 0.001543f, -0.000392f, 0.000466f, -0.000655f, -0.000548f, -0.000057f, -0.001083f, -0.000149f, -0.023783f, -0.005432f, 0.009056f, -0.001271f, -0.007418f, 0.003123f, -0.017670f, -0.006736f, -0.002675f, -0.003148f, -0.009203f, -0.009562f, 0.005048f, 0.007974f, 0.006706f, -0.008942f, -0.013330f, 0.001512f, -0.007859f, -0.014075f, 0.003096f, -0.000879f, 0.003860f, 0.015858f, -0.005345f, -0.001655f, -0.010134f, 0.013705f, 0.000928f, 0.006847f, 0.004587f, 0.011255f, 0.005585f, 0.003493f, -0.011282f, -0.001247f, -0.010384f, -0.002809f, 0.000317f, -0.004287f, 0.003314f, 0.002930f, -0.004981f, -0.009497f, 0.005931f, 0.009943f, 0.002660f, -0.004702f, -0.007481f, -0.004535f, 0.002222f, -0.008246f, -0.010612f, -0.002953f, 0.005054f, -0.002863f, 0.002425f, 0.006621f, 0.004029f, -0.004858f, 0.009419f, 0.000894f, 0.008003f, -0.006774f, -0.005870f, -0.003280f, -0.004139f, 0.005725f, -0.003328f, 0.000387f, 0.009511f, 0.003482f, 0.000110f, -0.009073f, 0.002355f, -0.003585f, 0.006633f, 0.009884f, -0.001825f, 0.000874f, -0.004616f, 0.003788f, 0.008518f, -0.003002f, + 0.005260f, 0.002516f, 0.001017f, 0.004524f, 0.001645f, 0.000293f, 0.003426f, 0.001425f, -0.000412f, 0.000101f, 0.001445f, 0.001520f, -0.001727f, 0.001281f, 0.001074f, 0.001909f, -0.001239f, -0.004867f, 0.006135f, 0.008387f, 0.003438f, -0.005279f, 0.003711f, -0.002485f, 0.002585f, 0.015798f, 0.009796f, -0.013364f, 0.009112f, -0.007356f, -0.003576f, -0.001938f, 0.000319f, 0.006719f, 0.000308f, 0.018491f, 0.005400f, -0.007097f, -0.004604f, -0.004603f, 0.013084f, 0.003068f, 0.012606f, 0.004121f, 0.008510f, 0.013092f, 0.015075f, 0.005718f, -0.001624f, -0.001489f, 0.002337f, -0.012014f, -0.011116f, 0.003590f, -0.008418f, 0.004845f, 0.002400f, -0.002861f, -0.001172f, 0.003548f, 0.012607f, -0.004081f, -0.004169f, -0.006416f, 0.016087f, -0.002138f, -0.019862f, -0.009926f, -0.007818f, -0.007228f, 0.008337f, 0.007955f, 0.007064f, 0.010463f, 0.004728f, 0.006574f, -0.000189f, -0.000586f, -0.000190f, 0.010530f, 0.003516f, 0.006198f, -0.013777f, 0.000957f, 0.000753f, 0.000802f, 0.001033f, 0.006095f, 0.004352f, 0.001806f, -0.006608f, -0.006644f, 0.004020f, 0.003304f, -0.001854f, -0.000355f, + -0.005290f, -0.006824f, -0.005497f, 0.003902f, 0.006807f, 0.000887f, 0.000526f, 0.002401f, -0.001788f, -0.000165f, -0.001380f, 0.001289f, 0.001331f, 0.000780f, -0.000766f, 0.002089f, 0.003361f, -0.000382f, 0.000480f, 0.000801f, -0.000344f, 0.000943f, -0.001152f, 0.002436f, 0.000192f, -0.000350f, -0.001331f, 0.002169f, -0.003844f, 0.002377f, 0.000850f, 0.001819f, -0.000106f, -0.002277f, 0.000657f, -0.001046f, 0.035360f, 0.007544f, 0.005595f, -0.004437f, -0.002199f, 0.003252f, 0.002695f, 0.009213f, 0.012629f, -0.000725f, 0.018482f, 0.007123f, -0.006205f, -0.006182f, -0.000232f, 0.008574f, -0.000802f, -0.004922f, 0.009886f, 0.001200f, 0.026543f, 0.006734f, 0.005433f, 0.000928f, -0.002320f, 0.001084f, 0.004203f, 0.004947f, -0.000976f, -0.000103f, 0.014339f, 0.001818f, 0.015762f, -0.007977f, -0.007258f, 0.004972f, 0.023556f, 0.006605f, 0.005852f, -0.002182f, -0.009885f, -0.004126f, 0.003365f, 0.000536f, -0.000024f, 0.000697f, -0.014120f, 0.000856f, -0.006099f, 0.005579f, 0.004723f, -0.005815f, 0.003498f, 0.004867f, 0.003577f, -0.006890f, -0.006715f, 0.001488f, 0.002643f, -0.000137f, + -0.008692f, 0.002167f, -0.003265f, 0.005545f, -0.000627f, 0.000952f, 0.003811f, -0.001528f, 0.002191f, -0.003330f, 0.001165f, 0.020332f, 0.002510f, 0.007103f, 0.000432f, -0.005801f, 0.003553f, 0.001066f, 0.006533f, -0.011555f, -0.007758f, 0.003740f, -0.001488f, 0.002184f, -0.002787f, 0.004183f, 0.003821f, 0.000301f, -0.004868f, -0.002067f, -0.006689f, -0.001381f, -0.001403f, 0.004255f, -0.002992f, -0.000998f, 0.000922f, -0.000765f, -0.001478f, -0.001811f, 0.001456f, -0.001914f, -0.002137f, -0.000185f, 0.000255f, 0.001080f, -0.004482f, -0.001965f, 0.001341f, 0.000516f, -0.004897f, -0.001389f, -0.000177f, -0.006666f, -0.002586f, -0.000856f, 0.005292f, -0.007858f, -0.001222f, 0.007767f, -0.003866f, -0.012323f, 0.000048f, 0.020051f, -0.001271f, 0.015723f, 0.008233f, 0.021792f, 0.002765f, 0.001953f, 0.008087f, -0.006240f, -0.012929f, -0.017246f, 0.004168f, -0.008817f, 0.020306f, 0.011473f, 0.014383f, -0.002742f, -0.005810f, 0.001730f, 0.003325f, 0.006622f, 0.019017f, 0.002220f, 0.007997f, -0.008674f, 0.006144f, -0.006163f, 0.002707f, -0.003337f, 0.006345f, 0.010787f, 0.001586f, 0.010307f, + 0.003915f, 0.005148f, -0.002868f, -0.002519f, 0.013944f, -0.003247f, -0.003335f, 0.010395f, -0.006107f, -0.000602f, 0.001611f, -0.004571f, -0.005920f, 0.004600f, -0.006807f, -0.001334f, -0.008724f, -0.018884f, -0.001994f, -0.002874f, -0.000371f, -0.019673f, -0.007390f, -0.006005f, -0.004974f, 0.007397f, 0.019503f, -0.004935f, 0.006349f, 0.010141f, -0.002708f, 0.001914f, 0.001836f, 0.001160f, -0.006940f, 0.007720f, -0.008835f, 0.002353f, 0.006558f, 0.018178f, 0.005799f, 0.005396f, 0.001773f, -0.000220f, 0.005602f, -0.006545f, 0.000067f, 0.003771f, 0.001899f, 0.000348f, -0.007231f, 0.004416f, 0.005484f, 0.005419f, -0.000896f, 0.004045f, 0.002309f, 0.001169f, 0.003780f, 0.002152f, 0.000563f, 0.002110f, -0.000381f, 0.001650f, 0.001163f, 0.001400f, 0.002241f, 0.002696f, 0.003256f, 0.002223f, 0.002228f, 0.002408f, -0.001262f, 0.002187f, -0.025364f, 0.002043f, 0.013887f, 0.007055f, -0.014156f, -0.001247f, 0.000837f, 0.003212f, 0.005412f, -0.000989f, -0.010985f, -0.010842f, 0.001819f, 0.017929f, 0.008761f, 0.010567f, 0.018364f, -0.012485f, 0.013146f, 0.023872f, -0.002062f, 0.005257f, + -0.013487f, 0.004522f, 0.005059f, -0.011852f, -0.006162f, -0.002679f, 0.005665f, -0.011970f, -0.015469f, 0.002837f, 0.001829f, -0.013522f, 0.001172f, 0.004081f, -0.002631f, 0.028348f, -0.001532f, -0.020319f, -0.001296f, 0.006844f, 0.016115f, 0.005789f, 0.007260f, -0.013069f, 0.003637f, 0.003965f, -0.011490f, -0.000877f, -0.001919f, 0.019662f, 0.012148f, -0.003400f, -0.006757f, -0.015435f, 0.006635f, 0.006032f, -0.009021f, -0.000420f, 0.003694f, 0.005889f, 0.006177f, -0.007908f, -0.000202f, -0.001806f, 0.018573f, -0.015700f, 0.001929f, -0.004164f, 0.016723f, -0.001299f, -0.004081f, -0.007106f, 0.002099f, -0.007349f, -0.017018f, 0.000379f, 0.012943f, 0.003782f, 0.008112f, 0.001933f, -0.006135f, -0.002525f, -0.003098f, 0.010937f, 0.004372f, -0.003078f, -0.000418f, 0.009929f, 0.007476f, -0.002904f, 0.001065f, 0.001500f, 0.002148f, -0.000268f, 0.004000f, 0.002707f, 0.002441f, 0.000185f, -0.001414f, -0.000709f, 0.000784f, -0.001502f, 0.000464f, -0.002066f, -0.000677f, 0.001578f, -0.005220f, -0.001289f, 0.009879f, 0.008670f, 0.003269f, -0.006666f, 0.001956f, 0.004050f, 0.030038f, 0.019665f, + 0.014994f, 0.020862f, 0.008618f, -0.002025f, 0.003083f, 0.007580f, -0.021164f, 0.010673f, 0.000374f, 0.011484f, -0.008515f, -0.004574f, -0.013652f, 0.003641f, 0.024143f, -0.023846f, -0.014960f, -0.025342f, 0.012714f, -0.005995f, 0.000794f, -0.011699f, 0.001459f, -0.004549f, -0.011445f, 0.004062f, 0.005568f, -0.018139f, -0.002473f, 0.002908f, -0.003975f, 0.009089f, -0.025905f, -0.012855f, 0.026397f, 0.002311f, -0.000522f, -0.002968f, 0.000872f, -0.013795f, -0.014334f, 0.000479f, -0.020830f, -0.005164f, 0.002017f, 0.005184f, -0.009006f, -0.002439f, 0.025687f, -0.002054f, 0.008957f, 0.018778f, -0.017955f, -0.006610f, 0.004099f, 0.004136f, 0.003339f, -0.005887f, -0.012873f, 0.014223f, -0.001726f, -0.014043f, 0.009898f, -0.002869f, 0.002230f, 0.003393f, -0.007476f, -0.004876f, -0.003241f, -0.005988f, -0.008102f, -0.010016f, -0.009349f, -0.012190f, -0.003701f, -0.005405f, -0.001311f, -0.001953f, -0.000298f, 0.001123f, -0.004994f, -0.004273f, 0.002618f, 0.002840f, 0.005218f, -0.000731f, -0.002356f, -0.007367f, -0.002136f, -0.008452f, -0.005295f, -0.001518f, 0.001391f, -0.001022f, 0.000903f, -0.002470f, + -0.001376f, 0.005523f, 0.002118f, 0.003694f, -0.004215f, 0.000611f, 0.000781f, 0.001115f, -0.008351f, 0.000159f, 0.002231f, -0.000438f, 0.004146f, -0.001138f, -0.001472f, 0.000443f, 0.001161f, -0.049976f, -0.027392f, 0.022175f, -0.008403f, -0.010841f, 0.013839f, 0.011562f, -0.021004f, -0.028959f, -0.008966f, -0.010517f, -0.010564f, -0.002200f, -0.019521f, -0.014486f, 0.007442f, 0.000526f, -0.026343f, -0.029525f, -0.016196f, -0.008271f, -0.001275f, 0.014751f, -0.000878f, -0.011180f, 0.008432f, -0.024618f, 0.000932f, -0.001384f, 0.001231f, 0.008270f, 0.004866f, -0.018002f, -0.013175f, 0.010416f, 0.003913f, 0.039385f, 0.009898f, -0.013434f, 0.001961f, 0.001053f, 0.000564f, 0.010228f, 0.002155f, 0.004138f, -0.003925f, -0.008940f, 0.002726f, -0.023014f, -0.004121f, -0.010160f, -0.011921f, 0.002406f, -0.018004f, 0.020909f, -0.002596f, 0.008613f, 0.015239f, 0.004268f, 0.008134f, -0.001201f, -0.009692f, -0.000627f, -0.001145f, -0.012406f, 0.015979f, -0.006778f, 0.028345f, -0.001130f, -0.000536f, 0.001118f, -0.007220f, -0.015483f, 0.004872f, -0.012188f, -0.004759f, 0.016353f, -0.021254f, -0.021179f, + 0.014176f, 0.013211f, 0.011586f, -0.017968f, 0.012940f, 0.005183f, 0.007587f, -0.000704f, 0.003379f, 0.003334f, 0.010084f, 0.004107f, 0.002554f, 0.007257f, -0.000885f, -0.000603f, -0.005972f, -0.004862f, -0.000873f, 0.004905f, -0.006421f, 0.000762f, -0.000648f, -0.003963f, -0.002261f, 0.001551f, -0.008293f, -0.005246f, -0.006160f, -0.001212f, 0.002813f, -0.000149f, 0.006329f, -0.002187f, 0.006616f, 0.000471f, 0.002526f, 0.000943f, 0.005148f, -0.004003f, -0.003067f, 0.005725f, -0.002537f, 0.000709f, 0.000543f, 0.010035f, 0.036943f, -0.020639f, 0.017647f, 0.007187f, 0.013182f, -0.005269f, -0.019951f, 0.002836f, -0.005136f, -0.018783f, 0.038132f, -0.002702f, -0.010424f, -0.037479f, 0.023167f, 0.006377f, -0.000270f, -0.014012f, -0.016051f, 0.000419f, 0.038740f, 0.014354f, -0.001343f, -0.003818f, -0.016395f, -0.013491f, 0.011305f, 0.004922f, -0.012782f, -0.009122f, 0.013637f, 0.003360f, -0.000382f, 0.011569f, 0.017993f, 0.002798f, 0.023699f, 0.026673f, 0.016375f, -0.006155f, 0.006067f, 0.002177f, 0.004593f, 0.013918f, -0.019578f, 0.020800f, -0.001240f, -0.010575f, -0.015831f, 0.000097f, + 0.013857f, 0.009567f, -0.018714f, 0.004149f, 0.015153f, 0.002301f, -0.013494f, -0.029546f, -0.026670f, 0.007093f, 0.012099f, 0.002007f, -0.010209f, -0.001379f, 0.021687f, -0.009840f, -0.015983f, -0.031194f, 0.003522f, 0.006074f, -0.023057f, 0.008764f, 0.023505f, -0.010571f, 0.018336f, 0.006314f, -0.021329f, -0.015960f, 0.001909f, 0.022172f, -0.002063f, 0.023293f, -0.003801f, -0.008125f, 0.005139f, 0.011893f, 0.003403f, -0.003939f, -0.006001f, 0.004023f, 0.010761f, 0.008571f, 0.001693f, 0.013856f, 0.002812f, 0.009953f, 0.002718f, 0.013597f, 0.002303f, 0.008413f, 0.000121f, 0.006732f, 0.003866f, -0.003303f, -0.009648f, 0.000897f, -0.011323f, -0.001576f, -0.004475f, 0.001862f, -0.001245f, -0.000400f, -0.010015f, -0.000919f, 0.005093f, -0.004983f, 0.000952f, -0.001172f, 0.001016f, -0.000634f, -0.007153f, 0.001185f, -0.001284f, 0.044604f, 0.029133f, 0.006761f, -0.009027f, -0.004658f, -0.006340f, -0.030442f, -0.012466f, -0.000290f, 0.019391f, -0.013934f, -0.007969f, -0.006458f, 0.000222f, 0.032288f, -0.025127f, -0.006590f, -0.001498f, 0.015222f, -0.005343f, -0.018361f, -0.031048f, 0.011191f, + -0.021488f, -0.009658f, -0.013448f, -0.014302f, 0.004421f, -0.024101f, -0.011887f, 0.021626f, 0.032075f, 0.001615f, -0.020267f, -0.017822f, 0.029572f, -0.003171f, -0.016202f, 0.031147f, 0.000845f, 0.002063f, 0.001190f, -0.033643f, 0.013638f, -0.012360f, 0.012173f, 0.011532f, -0.023100f, -0.002332f, -0.023430f, 0.009237f, -0.022725f, -0.003669f, 0.009356f, 0.013040f, -0.007670f, 0.008001f, -0.027552f, 0.019079f, -0.002251f, 0.013081f, 0.010700f, 0.008023f, -0.006209f, -0.005542f, 0.027230f, -0.018708f, 0.013465f, -0.004433f, -0.023404f, -0.013835f, -0.001674f, 0.024801f, -0.014189f, 0.011744f, 0.003184f, -0.007342f, 0.000195f, -0.027147f, 0.034505f, 0.021532f, -0.004212f, -0.009169f, 0.016848f, 0.007616f, -0.005117f, -0.008621f, 0.001798f, -0.005654f, 0.008624f, -0.001547f, 0.004477f, 0.014652f, 0.005045f, 0.011665f, -0.000138f, 0.004333f, 0.001568f, -0.001818f, 0.000182f, -0.000752f, 0.009716f, 0.004191f, 0.013529f, 0.002610f, -0.007773f, 0.010281f, -0.004108f, 0.000045f, 0.007353f, -0.006856f, -0.002498f, -0.003455f, -0.003189f, 0.006515f, 0.003642f, 0.003557f, 0.005327f, -0.000284f, + -0.001660f, 0.013095f, -0.004416f, -0.004018f, 0.017074f, 0.003655f, -0.011845f, -0.026097f, -0.001771f, -0.034016f, 0.005585f, 0.003386f, 0.016472f, -0.013389f, -0.003603f, 0.009234f, 0.007087f, 0.010125f, -0.023566f, 0.033192f, 0.022987f, 0.004621f, 0.016912f, -0.007444f, -0.033431f, 0.008143f, -0.014263f, -0.015181f, 0.015282f, 0.038418f, 0.006348f, -0.010180f, -0.014130f, -0.030228f, -0.000251f, 0.001749f, 0.046668f, -0.018165f, -0.001050f, 0.001735f, -0.001740f, -0.027977f, -0.032250f, 0.025611f, 0.000687f, 0.014696f, -0.004416f, -0.035849f, -0.021140f, 0.003216f, -0.006356f, -0.007325f, -0.010633f, 0.024003f, -0.005301f, 0.015707f, -0.016893f, 0.033305f, -0.039245f, 0.019606f, 0.019900f, 0.012375f, 0.010385f, 0.010089f, 0.030519f, 0.016159f, -0.002529f, 0.006900f, -0.000048f, 0.030770f, 0.045465f, -0.004953f, 0.003369f, -0.013124f, 0.018861f, 0.031045f, -0.021298f, 0.006778f, -0.053228f, 0.034927f, 0.035462f, 0.024171f, 0.032973f, -0.014836f, -0.026811f, -0.001586f, -0.004120f, -0.007525f, -0.005832f, -0.015602f, -0.011323f, -0.005568f, -0.001649f, -0.008587f, 0.005091f, 0.010046f, + 0.003541f, -0.014644f, 0.002756f, -0.007996f, -0.008971f, -0.005210f, 0.006023f, 0.006076f, -0.002829f, -0.003411f, -0.001511f, -0.002283f, 0.001427f, -0.014163f, 0.004642f, 0.002407f, 0.009206f, 0.002406f, -0.000785f, -0.000112f, 0.001904f, 0.008512f, 0.002691f, -0.007185f, 0.005843f, 0.000313f, 0.000738f, -0.038529f, -0.005697f, -0.049276f, -0.025280f, 0.019366f, -0.020170f, -0.043824f, 0.004068f, -0.023639f, 0.001087f, 0.000834f, -0.028098f, -0.026720f, 0.012076f, 0.025778f, 0.007782f, -0.030006f, 0.014347f, -0.033749f, -0.011830f, -0.012442f, 0.010559f, -0.013875f, -0.006320f, 0.016201f, 0.002770f, -0.011114f, -0.024017f, 0.025419f, 0.024657f, 0.032036f, 0.004185f, -0.003576f, 0.001134f, 0.010261f, -0.002423f, 0.013135f, -0.014458f, 0.017273f, -0.006802f, 0.019900f, 0.015966f, 0.012012f, -0.005784f, 0.000823f, -0.030970f, 0.010538f, -0.007797f, 0.023293f, 0.004239f, -0.054152f, 0.008319f, 0.026688f, 0.035903f, -0.020654f, -0.028212f, 0.033766f, 0.015331f, 0.023740f, -0.042293f, 0.020910f, 0.052948f, 0.055769f, 0.003551f, 0.001324f, 0.031737f, -0.021966f, -0.029267f, 0.018748f, + -0.032403f, 0.012166f, -0.015090f, -0.012754f, -0.007156f, -0.069800f, -0.040304f, -0.033995f, 0.025080f, 0.009514f, 0.007053f, -0.024797f, -0.010083f, -0.018734f, -0.003544f, -0.010065f, 0.027412f, 0.006513f, -0.010899f, -0.024354f, -0.005420f, 0.015768f, -0.002515f, -0.006737f, 0.004846f, 0.016506f, -0.005875f, -0.009755f, -0.004674f, -0.003620f, -0.001120f, 0.012838f, 0.012900f, 0.011206f, -0.011320f, 0.014688f, -0.000745f, 0.004198f, 0.016793f, -0.007545f, -0.007572f, 0.014640f, 0.026282f, -0.006146f, -0.008579f, -0.004185f, 0.003164f, -0.004738f, -0.018103f, 0.002924f, 0.013224f, 0.003567f, -0.018229f, -0.017461f, 0.008237f, 0.005921f, -0.000974f, -0.001117f, -0.003185f, -0.012984f, -0.008890f, -0.029000f, -0.055696f, 0.042586f, 0.004447f, 0.014309f, -0.007232f, 0.030163f, 0.000781f, -0.025697f, 0.019875f, 0.008113f, -0.009128f, -0.015505f, -0.012188f, 0.003848f, 0.007242f, 0.026716f, -0.015228f, 0.020969f, 0.006648f, 0.038087f, -0.054657f, -0.014648f, -0.008685f, 0.007048f, 0.022276f, 0.032374f, 0.007322f, -0.026269f, 0.017720f, 0.025472f, 0.021404f, -0.005983f, 0.007449f, 0.001554f, + -0.009004f, -0.003664f, 0.001520f, 0.008249f, 0.002933f, 0.018833f, 0.003071f, -0.023740f, 0.022152f, -0.024615f, -0.031470f, 0.004892f, 0.022690f, -0.011049f, -0.008194f, 0.008264f, 0.011053f, 0.019593f, -0.011229f, 0.009290f, 0.044206f, -0.017657f, -0.047062f, -0.060903f, -0.030823f, -0.041267f, 0.018698f, 0.035812f, 0.022859f, 0.008751f, 0.021498f, 0.012659f, 0.023764f, -0.020392f, 0.026867f, 0.013978f, 0.010869f, 0.028044f, 0.036399f, -0.011353f, -0.008196f, 0.009952f, -0.002454f, 0.032799f, 0.012647f, -0.005024f, 0.005471f, -0.040040f, -0.028061f, 0.005533f, -0.001648f, 0.007101f, 0.002627f, 0.008395f, -0.007558f, 0.021078f, -0.011225f, -0.012898f, -0.012521f, -0.021074f, -0.007723f, -0.004187f, 0.006830f, 0.005596f, -0.003240f, -0.018109f, -0.001145f, 0.005961f, 0.001922f, -0.007287f, 0.004187f, 0.000222f, 0.006891f, -0.007598f, 0.003009f, 0.001425f, 0.008327f, -0.004061f, 0.012868f, -0.008065f, -0.009358f, 0.002714f, -0.001684f, -0.006804f, 0.002035f, 0.008928f, 0.000651f, -0.001419f, 0.055682f, 0.005434f, 0.008695f, -0.011518f, 0.020190f, -0.063694f, -0.028192f, -0.043518f, + -0.045019f, 0.017899f, -0.039295f, 0.038617f, 0.043844f, 0.001972f, 0.009455f, -0.006715f, 0.007967f, -0.041645f, 0.017063f, 0.046176f, -0.026358f, -0.053630f, 0.007021f, -0.020144f, -0.017202f, -0.052314f, 0.008980f, 0.019266f, -0.000297f, -0.007066f, 0.016742f, -0.029822f, -0.005075f, 0.019460f, -0.010818f, -0.026430f, 0.003093f, -0.013177f, 0.027240f, -0.018092f, -0.010180f, 0.025647f, 0.022104f, 0.047332f, 0.006138f, 0.011447f, -0.004485f, 0.012727f, 0.016712f, 0.029247f, -0.008567f, -0.000938f, -0.018312f, 0.038574f, -0.048745f, 0.052224f, 0.001705f, -0.020796f, 0.024303f, -0.018963f, -0.014136f, 0.048028f, -0.069486f, 0.011318f, -0.014798f, 0.013570f, -0.027070f, 0.012956f, 0.027317f, -0.014239f, -0.002728f, -0.007318f, -0.011672f, -0.006162f, 0.050901f, -0.057967f, -0.019995f, 0.097428f, -0.036886f, -0.043019f, 0.041970f, 0.025221f, 0.027940f, -0.024555f, 0.001723f, -0.024411f, -0.013877f, -0.003852f, -0.028080f, 0.006073f, 0.003533f, -0.007290f, 0.009801f, 0.008939f, -0.012858f, -0.023734f, -0.006335f, -0.002034f, 0.009070f, -0.020956f, -0.014931f, 0.000510f, -0.002348f, 0.005233f, + 0.012792f, 0.030980f, -0.014378f, -0.000754f, -0.003667f, -0.003295f, 0.008648f, 0.003452f, -0.018736f, -0.013979f, 0.014540f, -0.012072f, 0.005309f, 0.003773f, -0.011537f, 0.004226f, -0.002883f, -0.018929f, -0.015787f, 0.009203f, 0.005765f, -0.002913f, -0.000673f, 0.011735f, -0.027933f, -0.042606f, 0.003953f, -0.016029f, -0.014706f, -0.023898f, -0.030392f, 0.038272f, 0.016183f, 0.002617f, 0.017674f, 0.045294f, 0.026457f, -0.002895f, 0.009013f, 0.030516f, 0.038503f, -0.034147f, 0.015854f, 0.032587f, 0.013914f, 0.012068f, 0.044501f, 0.021735f, 0.009146f, -0.001160f, 0.019931f, -0.002045f, 0.022579f, 0.019002f, 0.010118f, -0.020717f, 0.039355f, -0.032283f, -0.004228f, 0.049680f, 0.048756f, -0.011441f, -0.043530f, 0.016535f, -0.000821f, 0.042654f, 0.072893f, 0.016533f, -0.011345f, 0.005379f, -0.042068f, -0.004738f, -0.011227f, -0.008797f, 0.000692f, 0.037494f, -0.016144f, 0.016622f, 0.044713f, 0.007834f, -0.041636f, 0.027673f, -0.002261f, 0.017683f, 0.042011f, 0.059573f, -0.016880f, -0.015522f, -0.005224f, -0.046800f, -0.068976f, 0.002103f, -0.031439f, -0.004846f, -0.038085f, -0.003674f, + 0.001099f, 0.005397f, 0.028058f, -0.000564f, -0.019738f, -0.032392f, 0.023724f, -0.009832f, 0.020286f, 0.000987f, 0.037884f, 0.014327f, 0.013918f, 0.000381f, -0.011914f, 0.021582f, -0.016380f, -0.018617f, -0.005779f, -0.013936f, -0.005585f, 0.001333f, 0.001420f, -0.004846f, 0.005762f, 0.008624f, 0.000615f, -0.001904f, 0.010986f, -0.009255f, -0.013550f, 0.008496f, 0.009674f, 0.002203f, -0.011717f, -0.013759f, -0.008235f, 0.011552f, 0.015139f, 0.002252f, -0.002194f, 0.017090f, 0.004565f, 0.008291f, 0.006942f, 0.012296f, 0.003355f, -0.001956f, -0.008920f, 0.005098f, 0.009561f, -0.019462f, 0.015593f, 0.046560f, -0.087285f, 0.048044f, -0.036791f, -0.085984f, -0.025529f, -0.021648f, -0.003108f, -0.019818f, 0.010379f, -0.023770f, -0.053355f, -0.032175f, -0.016002f, -0.004852f, 0.006039f, -0.021934f, 0.021375f, 0.041763f, 0.001475f, -0.002626f, 0.011369f, 0.002560f, -0.007873f, -0.015514f, -0.008828f, 0.011283f, 0.012328f, -0.003728f, 0.011714f, 0.051276f, 0.014027f, -0.015031f, -0.050998f, -0.008165f, 0.035849f, -0.043826f, -0.020700f, -0.016725f, 0.000411f, -0.003396f, 0.027498f, -0.009172f, + 0.003183f, 0.037957f, 0.013441f, 0.042109f, -0.006075f, -0.019985f, -0.009288f, -0.010900f, -0.011086f, 0.020260f, 0.002052f, 0.013666f, 0.025547f, -0.045305f, 0.006476f, -0.012069f, -0.028308f, -0.021333f, 0.043986f, 0.031701f, 0.001429f, -0.021687f, 0.008749f, 0.018523f, 0.001751f, 0.012774f, -0.030540f, -0.075141f, -0.034939f, -0.027604f, 0.027274f, 0.002639f, -0.003652f, -0.012820f, 0.005184f, -0.008616f, -0.023903f, -0.024743f, -0.013016f, 0.030188f, 0.022730f, -0.034056f, -0.042546f, -0.016727f, 0.002755f, 0.025521f, 0.010207f, -0.008387f, -0.011564f, -0.008905f, 0.005789f, -0.018981f, 0.002602f, -0.013031f, 0.000878f, 0.019187f, 0.020496f, 0.005276f, -0.010918f, 0.006465f, 0.014711f, -0.000712f, -0.003415f, 0.010825f, -0.015414f, 0.020939f, 0.018772f, 0.007150f, -0.000566f, -0.001115f, -0.002349f, 0.017506f, -0.007180f, -0.009617f, -0.010919f, -0.015480f, -0.015161f, 0.004551f, -0.005736f, 0.006194f, -0.004510f, 0.002958f, 0.010977f, -0.005767f, -0.011028f, -0.015976f, -0.004585f, 0.007010f, -0.011396f, 0.024482f, -0.033717f, 0.040687f, -0.002611f, -0.066148f, 0.014060f, -0.032263f, + -0.005838f, -0.005455f, -0.007057f, -0.042394f, 0.013795f, 0.001454f, 0.033705f, -0.071985f, 0.001825f, 0.034396f, 0.004895f, -0.017650f, -0.035401f, -0.003551f, 0.021330f, 0.030006f, -0.024903f, -0.009867f, 0.017240f, 0.034387f, 0.032722f, -0.031753f, -0.005708f, -0.051005f, 0.024021f, 0.024724f, 0.016387f, -0.015097f, -0.003343f, -0.014456f, -0.004764f, -0.017539f, 0.005403f, 0.035844f, -0.013026f, -0.015235f, -0.012030f, -0.021591f, 0.042132f, 0.034939f, -0.002968f, 0.049527f, -0.001771f, 0.017064f, -0.043951f, 0.035659f, 0.016711f, -0.050842f, -0.015691f, 0.056388f, 0.024203f, 0.014645f, 0.011590f, -0.027816f, -0.020788f, -0.029771f, 0.050128f, -0.026612f, 0.038807f, 0.038823f, -0.044678f, 0.103373f, -0.021955f, 0.063752f, 0.003198f, -0.015593f, -0.027580f, 0.047642f, 0.019103f, -0.038676f, -0.022713f, -0.082013f, 0.032726f, -0.012124f, 0.037570f, -0.050896f, 0.056041f, -0.043761f, 0.016723f, -0.017611f, -0.012540f, 0.035628f, 0.003666f, 0.002346f, 0.020646f, 0.013220f, -0.009192f, 0.022964f, -0.002782f, 0.005942f, -0.016641f, 0.002140f, -0.002170f, -0.011785f, -0.016762f, -0.000564f, + -0.018635f, 0.007788f, 0.008137f, -0.005584f, 0.016241f, -0.007032f, -0.009700f, -0.014821f, 0.009554f, 0.000734f, -0.002266f, -0.028111f, 0.012135f, -0.006627f, -0.032389f, -0.011582f, 0.009209f, -0.010476f, -0.016831f, 0.009879f, -0.009208f, 0.007906f, -0.017176f, 0.006673f, -0.017526f, -0.004397f, -0.002814f, 0.008003f, -0.004324f, 0.000291f, -0.005899f, -0.007432f, 0.024188f, 0.043743f, 0.002739f, -0.035139f, 0.016623f, -0.068637f, -0.019231f, -0.062265f, -0.088110f, 0.003869f, -0.034308f, 0.012135f, -0.007180f, -0.012795f, -0.033935f, -0.021957f, 0.018866f, 0.053533f, -0.044508f, -0.008479f, -0.076191f, -0.065379f, 0.017643f, 0.027525f, -0.042114f, -0.042462f, 0.002105f, 0.010587f, -0.070796f, 0.004715f, 0.000894f, 0.037458f, -0.032102f, 0.002376f, 0.029642f, -0.018702f, -0.037123f, -0.039870f, -0.020337f, -0.036261f, -0.031127f, -0.037892f, 0.053911f, -0.068227f, -0.043503f, 0.063629f, -0.002570f, 0.018683f, -0.052972f, -0.008128f, -0.015500f, 0.002410f, 0.087715f, -0.011482f, -0.002283f, 0.009753f, 0.040811f, 0.002001f, -0.039638f, -0.016286f, -0.028729f, 0.010550f, 0.105086f, 0.021592f, + -0.037760f, 0.080653f, 0.056986f, -0.050040f, 0.058796f, 0.098418f, 0.000314f, -0.036927f, 0.065736f, -0.010443f, 0.069190f, 0.063887f, 0.004768f, -0.002190f, -0.019225f, 0.044936f, 0.035164f, 0.021388f, -0.037703f, -0.011300f, -0.024506f, 0.056639f, -0.007516f, -0.037115f, -0.019070f, -0.037314f, -0.016986f, 0.039097f, 0.003870f, -0.018955f, -0.007251f, -0.023443f, -0.004549f, 0.035075f, -0.016815f, 0.009443f, -0.003813f, -0.031353f, 0.034733f, 0.005334f, 0.013715f, 0.018134f, -0.023013f, 0.008099f, 0.031916f, -0.004665f, 0.000934f, -0.016210f, -0.000399f, 0.003764f, -0.010944f, -0.008641f, 0.005796f, 0.025128f, -0.015688f, 0.010648f, -0.020837f, -0.008630f, 0.000956f, -0.005656f, 0.023323f, -0.007868f, 0.000775f, 0.003470f, 0.008385f, 0.002005f, -0.011472f, -0.001425f, -0.006590f, 0.049912f, -0.125626f, -0.074644f, -0.081853f, -0.027115f, -0.054744f, 0.067857f, 0.024817f, 0.055747f, -0.008815f, -0.105970f, -0.016891f, 0.017839f, 0.072653f, -0.002481f, 0.016374f, 0.067855f, -0.025842f, -0.048211f, 0.004310f, -0.002753f, 0.084387f, 0.055857f, -0.028489f, -0.038132f, 0.089654f, 0.006833f, + 0.044484f, 0.022265f, 0.083553f, 0.073285f, 0.055378f, 0.006373f, -0.048414f, -0.025502f, -0.037202f, 0.070860f, -0.034705f, -0.047778f, -0.027172f, 0.002932f, -0.002940f, 0.031517f, -0.031577f, 0.011540f, -0.144206f, 0.016403f, 0.021197f, 0.023863f, -0.060967f, -0.055228f, 0.016008f, 0.050733f, -0.062954f, 0.024343f, -0.036316f, -0.027151f, -0.042706f, -0.003494f, 0.042809f, -0.029288f, 0.047130f, -0.012114f, 0.017689f, -0.089112f, -0.058689f, -0.002100f, 0.046139f, 0.033299f, -0.066270f, -0.069898f, -0.033852f, 0.006667f, 0.072863f, 0.030641f, -0.008542f, -0.052098f, -0.061590f, -0.020436f, 0.011119f, 0.052512f, -0.006102f, 0.017392f, 0.033677f, -0.013497f, 0.011179f, -0.034874f, 0.020033f, 0.012308f, -0.023105f, -0.018002f, 0.000305f, 0.026848f, -0.027533f, -0.001180f, 0.041293f, 0.006569f, 0.004596f, -0.000186f, -0.013956f, -0.029424f, 0.005742f, -0.032683f, 0.036318f, 0.032378f, 0.023027f, 0.002628f, -0.004856f, -0.038334f, 0.022169f, -0.008055f, 0.042513f, -0.011171f, -0.052102f, -0.031370f, -0.008177f, 0.048366f, 0.011774f, -0.011004f, -0.007005f, -0.039918f, -0.021043f, -0.016480f, + -0.004463f, 0.021410f, 0.019135f, -0.040404f, -0.024068f, -0.025083f, -0.025991f, -0.009471f, 0.005186f, -0.004264f, -0.015873f, -0.025157f, -0.027176f, 0.002261f, -0.003717f, -0.013323f, 0.023534f, 0.160223f, 0.017735f, -0.087827f, -0.192797f, -0.019118f, 0.116461f, 0.027411f, 0.051549f, -0.006861f, 0.071342f, -0.013352f, 0.032093f, -0.017822f, 0.040977f, 0.054387f, 0.031136f, -0.028735f, -0.062821f, 0.073832f, 0.086892f, -0.020872f, -0.083541f, -0.053214f, 0.010106f, 0.047768f, 0.017639f, 0.016093f, 0.004359f, 0.011012f, 0.006874f, 0.010894f, -0.015480f, -0.099828f, 0.000606f, 0.059148f, 0.047865f, -0.020919f, 0.005873f, 0.035798f, 0.082994f, 0.048701f, 0.041256f, -0.049824f, -0.032597f, -0.009820f, -0.007806f, -0.074791f, 0.052925f, 0.029218f, 0.054925f, 0.108476f, -0.055557f, -0.037837f, -0.004040f, -0.032031f, -0.025411f, -0.049609f, 0.086309f, -0.053237f, -0.054805f, -0.058862f, -0.019027f, 0.107499f, 0.028836f, 0.041000f, -0.001387f, -0.010581f, -0.024290f, 0.066321f, 0.055655f, -0.029466f, -0.062737f, 0.020621f, -0.007450f, 0.024883f, -0.058800f, -0.024589f, -0.033861f, -0.046552f, + 0.028386f, 0.043668f, 0.009219f, 0.000437f, -0.023241f, 0.012113f, -0.008622f, 0.040514f, 0.004100f, -0.015573f, -0.007542f, 0.012684f, 0.027525f, 0.028277f, -0.016443f, 0.017114f, 0.010247f, 0.008310f, -0.000715f, -0.032596f, -0.003494f, -0.026656f, -0.009564f, 0.000337f, 0.004839f, 0.007497f, 0.009662f, 0.009430f, 0.027906f, 0.039401f, 0.036722f, -0.004338f, -0.008477f, 0.003623f, -0.017335f, 0.021315f, -0.024571f, -0.003948f, 0.020628f, -0.002144f, -0.004632f, -0.041423f, 0.020537f, -0.041311f, 0.013718f, -0.009935f, 0.006614f, -0.004376f, 0.004788f, -0.002731f, -0.025005f, 0.013267f, 0.012516f, -0.002885f, 0.008427f, -0.002200f, 0.007170f, -0.004070f, -0.006647f, -0.001947f, -0.002235f, 0.000722f, -0.001476f, 0.000820f, 0.000708f, -0.009116f, -0.003978f, -0.002212f, 0.005146f, 0.001173f, -0.002672f, -0.005279f, -0.005560f, -0.000279f, 0.001270f, -0.002679f, 0.000099f, -0.003515f, -0.001077f, -0.003923f, -0.046138f, 0.003610f, 0.124484f, 0.094912f, 0.015428f, 0.006717f, -0.066864f, -0.130305f, -0.113034f, -0.056141f, 0.093571f, 0.101243f, 0.106195f, 0.057969f, -0.015067f, -0.067979f, + -0.061780f, -0.041520f, 0.027041f, 0.040614f, 0.072797f, 0.005928f, -0.054631f, -0.047315f, -0.009756f, -0.047411f, -0.021310f, 0.009439f, 0.075358f, 0.106140f, 0.069695f, 0.032244f, 0.030749f, -0.067814f, -0.007530f, -0.135535f, -0.150187f, -0.095169f, -0.045034f, -0.042208f, 0.070792f, 0.109415f, 0.122621f, 0.109613f, 0.096098f, 0.038761f, 0.006842f, -0.047122f, -0.012333f, -0.075370f, -0.131622f, -0.011865f, 0.012690f, 0.011886f, 0.044212f, 0.025165f, 0.044849f, -0.148820f, -0.080396f, -0.053850f, -0.085249f, -0.037370f, 0.063832f, -0.038875f, 0.043127f, 0.004850f, -0.038607f, 0.030435f, -0.032188f, 0.034336f, 0.041696f, -0.032555f, -0.063020f, -0.132063f, -0.126474f, -0.095868f, 0.046857f, 0.015192f, -0.017700f, 0.023306f, 0.007314f, -0.000740f, -0.060120f, -0.043789f, -0.112270f, -0.038628f, -0.041085f, -0.005789f, 0.082916f, 0.086891f, 0.013392f, 0.044238f, -0.026813f, -0.062422f, -0.109183f, -0.073596f, -0.067254f, -0.003715f, 0.034052f, 0.017823f, 0.027857f, 0.028039f, -0.019679f, 0.016439f, -0.018522f, 0.017093f, 0.005191f, -0.002097f, -0.003433f, 0.013845f, 0.014094f, 0.027714f, + -0.006044f, -0.008358f, 0.027943f, 0.024080f, 0.005522f, -0.010208f, 0.021904f, -0.222231f, -0.113312f, -0.059325f, 0.074965f, 0.017128f, 0.285121f, 0.291806f, 0.220356f, 0.284497f, 0.298538f, 0.270846f, 0.194800f, 0.176424f, 0.196205f, 0.077832f, -0.011397f, -0.121426f, -0.187160f, -0.259147f, -0.251374f, -0.375234f, -0.227349f, -0.148208f, -0.117359f, -0.167385f, -0.087756f, -0.024268f, -0.125097f, -0.097461f, -0.102547f, -0.023373f, -0.061492f, -0.022118f, -0.083333f, -0.042569f, 0.050034f, 0.051451f, 0.015635f, -0.015558f, 0.054507f, 0.043840f, -0.126202f, 0.026160f, 0.085699f, 0.187035f, 0.137500f, 0.178065f, 0.073308f, 0.070694f, 0.297068f, 0.160629f, 0.303990f, 0.101616f, 0.285120f, 0.196606f, 0.248957f, 0.335394f, 0.318008f, 0.257602f, 0.289607f, 0.321400f, 0.350106f, 0.298742f, 0.345119f, 0.235235f, 0.350065f, 0.280819f, 0.249451f, 0.265665f, 0.145309f, 0.297430f, 0.144171f, 0.087283f, -0.109235f, 0.007136f, -0.161467f, -0.181781f, -0.277701f, -0.328166f, -0.504122f, -0.492519f, -0.464995f, -0.435067f, -0.409866f, -0.346590f, -0.422600f, -0.520425f, -0.513039f, -0.425761f, + -0.450463f, -0.423828f, -0.425086f, -0.363005f, -0.395098f, -0.379059f, -0.282606f, -0.312342f, -0.239815f, -0.224178f, -0.206476f, -0.131838f, -0.170092f, -0.038962f, -0.063198f, 0.028992f, 0.039480f, 0.123737f, 0.183310f, 0.191895f, 0.221852f, 0.196800f, 0.296908f, 0.336337f, 0.333461f, 0.385140f, 0.402448f, 0.398528f, 0.304036f, 0.271222f, 0.238206f, 0.220615f, 0.214999f, 0.220478f, 0.207410f, 0.157691f, 0.101704f, 0.115314f, 0.089239f, 0.069174f, 0.046221f, -0.036227f, -0.046909f, -0.049553f, -0.060392f, -0.074034f, -0.083122f, -0.058807f, -0.064491f, -0.051865f, -0.052717f, -0.046031f, -0.033083f, -0.039891f, -0.032568f, -0.031966f, -0.038794f, -0.036048f, -0.039764f, -0.031794f, -0.026134f, -0.035274f, -0.040287f, -0.018333f, -0.008959f, -0.012630f, -0.011381f, -0.002221f, -0.003051f, -0.006890f, -0.007137f, 0.002994f, 0.014184f, 0.015016f, 0.015497f, 0.015411f, 0.014476f, 0.020568f, 0.021677f, 0.021804f, 0.015012f, 0.010608f, 0.008200f, 0.013707f, 0.014765f, 0.008746f, 0.002458f, 0.002927f, -0.001934f, 0.006308f, 0.004969f, 0.005228f, 0.003786f, 0.005244f, 0.004422f, 0.004419f, + 0.010080f, 0.020473f, 0.014231f, 0.014951f, 0.013249f, 0.016498f, 0.015464f, 0.011830f, 0.007431f, 0.007321f, 0.003240f, 0.002788f, -0.004008f, -0.007779f, -0.014667f, -0.013410f, -0.021740f, -0.027109f, -0.029483f, -0.030441f, -0.035267f, -0.035134f, -0.036965f, -0.036481f, -0.035749f, -0.038139f, -0.038881f, -0.037247f, -0.033581f, -0.029773f, -0.027585f, -0.019965f, -0.018336f, -0.015118f, -0.014570f, -0.007194f, -0.004565f, -0.000040f, 0.001958f, 0.005141f, 0.006043f, 0.009922f, 0.010489f, 0.011333f, 0.008801f, 0.009171f, 0.006905f, 0.006820f, 0.004413f, 0.004483f, 0.002400f, 0.002545f, 0.000679f, 0.000993f}, + {-0.014287f, -0.028302f, -0.004948f, 0.000375f, -0.006480f, -0.013320f, -0.004390f, 0.009758f, -0.015657f, -0.008654f, -0.005181f, -0.003069f, 0.004978f, -0.002239f, 0.005542f, 0.002532f, 0.004854f, -0.000543f, 0.006008f, -0.005241f, 0.000981f, -0.002301f, 0.001139f, 0.015105f, -0.003212f, -0.000933f, -0.007486f, 0.009336f, 0.005800f, 0.004491f, 0.011655f, -0.005960f, -0.003383f, 0.003983f, 0.010436f, -0.002817f, -0.000693f, -0.008424f, -0.009224f, -0.006173f, 0.006592f, -0.008193f, -0.007021f, -0.000888f, 0.009388f, -0.012701f, -0.002698f, -0.010612f, -0.005144f, -0.003037f, 0.001464f, -0.000956f, -0.007603f, 0.009752f, 0.001668f, 0.008776f, -0.003544f, -0.002225f, -0.010930f, -0.000237f, -0.003831f, -0.004123f, 0.006306f, 0.003542f, -0.001954f, 0.003392f, 0.006978f, -0.001985f, 0.003001f, -0.004993f, -0.002878f, -0.001207f, -0.004705f, 0.004184f, 0.001461f, 0.003186f, -0.007467f, 0.005365f, 0.003093f, 0.012101f, 0.007201f, -0.001980f, -0.007684f, -0.000626f, 0.001680f, 0.000958f, 0.002396f, -0.000354f, -0.002600f, 0.000107f, -0.001765f, 0.000017f, -0.002137f, 0.000767f, -0.002079f, -0.000136f, + 0.002336f, 0.000790f, 0.001208f, -0.001488f, -0.001043f, 0.001108f, 0.001606f, 0.000731f, -0.000234f, 0.000122f, -0.000030f, 0.001005f, -0.023314f, -0.008334f, 0.006682f, -0.006135f, -0.002792f, -0.002578f, 0.003142f, -0.001158f, -0.006162f, 0.009728f, 0.008656f, 0.002927f, -0.001106f, 0.004526f, -0.011973f, -0.001719f, -0.011832f, -0.005920f, 0.008702f, -0.001421f, 0.001541f, -0.001159f, -0.001368f, 0.000233f, 0.018224f, 0.016732f, 0.007446f, 0.008950f, 0.010554f, -0.002001f, -0.001227f, -0.003600f, 0.009312f, -0.000869f, -0.003547f, 0.002661f, -0.005440f, 0.003769f, 0.006701f, -0.003387f, 0.007556f, 0.008590f, 0.016667f, -0.006478f, -0.007874f, 0.007187f, -0.004316f, 0.000287f, 0.003507f, -0.009644f, 0.000577f, -0.005021f, -0.005692f, 0.012898f, 0.007544f, 0.009300f, -0.005291f, -0.006916f, 0.004891f, -0.008059f, 0.005694f, 0.024845f, 0.001396f, 0.001760f, 0.005565f, 0.002481f, 0.002281f, 0.014171f, -0.007555f, -0.001852f, 0.002585f, 0.001905f, -0.007033f, -0.005098f, -0.007179f, -0.003340f, -0.002628f, 0.006555f, -0.001111f, 0.006585f, 0.006672f, -0.006630f, -0.007175f, -0.001776f, + 0.004520f, 0.006357f, -0.007522f, -0.001387f, -0.002240f, -0.005089f, -0.000636f, -0.004815f, 0.001269f, -0.000246f, 0.002609f, -0.001415f, 0.000998f, -0.001817f, -0.000489f, -0.001376f, 0.001143f, -0.006768f, 0.007331f, 0.011906f, -0.005739f, 0.005911f, 0.018647f, 0.006271f, 0.004235f, -0.013050f, 0.010789f, 0.002866f, -0.016862f, 0.007149f, -0.004764f, -0.010082f, 0.004025f, -0.001389f, 0.003877f, 0.009787f, -0.010308f, -0.010770f, -0.004842f, 0.014678f, 0.000368f, 0.007292f, 0.015141f, -0.022569f, -0.018258f, 0.002977f, 0.011085f, -0.008149f, 0.000678f, 0.015089f, 0.003847f, -0.001932f, -0.004574f, 0.018054f, 0.002169f, -0.004376f, 0.002487f, -0.016349f, 0.001823f, -0.009009f, 0.008301f, 0.001476f, 0.008819f, -0.004442f, -0.002255f, 0.004021f, 0.000233f, 0.001182f, 0.000477f, 0.008515f, 0.006807f, -0.009303f, 0.005304f, 0.007539f, -0.012829f, 0.001544f, -0.005799f, 0.002422f, -0.002967f, -0.009871f, 0.000128f, 0.008548f, 0.007378f, 0.016475f, -0.010225f, 0.012761f, -0.008458f, -0.001675f, 0.007525f, -0.008228f, -0.012324f, -0.004423f, 0.000551f, -0.000756f, -0.000658f, -0.001307f, + 0.002406f, 0.005266f, -0.007181f, -0.000071f, 0.003377f, -0.000636f, 0.002896f, -0.005839f, -0.003392f, -0.002303f, -0.004336f, 0.001286f, -0.000961f, -0.003354f, 0.001824f, 0.001937f, -0.002854f, -0.004305f, -0.000256f, -0.000986f, 0.004435f, -0.000202f, -0.000756f, 0.000838f, 0.000932f, -0.000757f, -0.001364f, 0.003022f, 0.000971f, -0.002379f, -0.001240f, -0.001817f, 0.000244f, 0.003093f, 0.000277f, -0.001055f, 0.037600f, 0.016832f, 0.022784f, -0.001859f, -0.006280f, -0.008225f, -0.008214f, 0.004465f, -0.006895f, 0.010469f, -0.001169f, 0.014371f, 0.000890f, 0.007598f, 0.009465f, 0.007290f, 0.006272f, 0.008269f, -0.027898f, -0.008264f, -0.002603f, -0.005893f, -0.005144f, -0.008796f, -0.019865f, 0.000889f, 0.013650f, -0.008393f, 0.008205f, -0.006740f, -0.009901f, -0.007495f, 0.001157f, -0.006325f, -0.002322f, -0.006485f, -0.000424f, 0.016433f, 0.000904f, 0.007388f, 0.010416f, 0.013512f, -0.006319f, 0.003167f, -0.002993f, -0.010424f, 0.011872f, -0.006622f, -0.000452f, -0.010316f, 0.007577f, -0.000096f, 0.000205f, -0.002844f, -0.004771f, 0.003501f, 0.010614f, -0.004432f, 0.005996f, 0.005652f, + 0.004783f, 0.018199f, -0.018268f, -0.007731f, 0.000481f, -0.010073f, -0.013025f, -0.005175f, -0.015949f, 0.002405f, 0.018783f, -0.012924f, -0.006131f, -0.014760f, 0.000993f, -0.004642f, -0.007025f, -0.017304f, 0.010215f, 0.013294f, 0.005298f, 0.009293f, -0.004673f, 0.001503f, -0.003452f, 0.003860f, 0.000205f, 0.009199f, -0.002337f, 0.003965f, -0.000145f, -0.002342f, 0.003243f, 0.002209f, 0.004256f, 0.003544f, -0.000559f, 0.000858f, 0.002349f, 0.000944f, 0.001843f, -0.000142f, -0.001713f, -0.003307f, 0.001698f, 0.000878f, -0.002227f, 0.001649f, 0.001855f, -0.000549f, 0.000836f, 0.002197f, -0.000618f, -0.001961f, -0.000691f, -0.000595f, 0.011549f, 0.016785f, -0.009360f, 0.008785f, -0.007665f, -0.003552f, -0.003123f, -0.020566f, 0.014889f, -0.004281f, -0.002335f, 0.023936f, 0.014696f, 0.016027f, -0.006617f, 0.000698f, 0.002709f, -0.003587f, 0.005169f, -0.012075f, -0.000461f, -0.008238f, 0.009596f, -0.009382f, -0.006660f, -0.000915f, 0.001518f, -0.011605f, 0.002106f, 0.001314f, 0.015202f, 0.000183f, -0.021116f, 0.012155f, 0.011175f, 0.016200f, -0.002711f, 0.004129f, -0.011748f, -0.008679f, + -0.003813f, -0.008425f, 0.003181f, 0.002283f, -0.003321f, -0.001211f, 0.008618f, 0.013729f, -0.018867f, -0.003982f, -0.000168f, -0.007612f, -0.008153f, 0.012423f, -0.010115f, 0.004726f, -0.009933f, -0.012883f, -0.009800f, -0.006336f, 0.004304f, 0.001874f, 0.022971f, -0.003859f, -0.006380f, 0.006956f, -0.007122f, -0.001976f, -0.006343f, 0.006507f, -0.005885f, 0.008369f, -0.004333f, -0.003769f, 0.005537f, 0.013956f, 0.003684f, -0.012993f, -0.000103f, -0.006375f, -0.013418f, 0.003811f, 0.009183f, -0.003056f, 0.001981f, 0.003322f, 0.000274f, -0.001369f, 0.004633f, 0.000154f, -0.005557f, 0.000096f, -0.002127f, -0.000946f, -0.002986f, 0.004456f, -0.001240f, -0.003557f, -0.004071f, 0.000595f, 0.003867f, -0.001771f, -0.000481f, -0.005372f, 0.000300f, 0.001027f, 0.001622f, -0.000931f, -0.004805f, -0.002340f, 0.003816f, -0.001594f, -0.005175f, 0.002055f, -0.028811f, 0.027714f, 0.014773f, -0.016433f, -0.016706f, 0.006884f, 0.021878f, -0.000257f, 0.006368f, 0.025621f, 0.008499f, 0.007754f, -0.004393f, 0.013380f, 0.012101f, 0.014089f, -0.025376f, -0.015485f, -0.015426f, 0.012174f, 0.010379f, 0.013382f, + 0.000559f, -0.015393f, 0.006271f, -0.002294f, 0.006907f, -0.022153f, 0.008498f, 0.013497f, -0.010497f, 0.005862f, 0.010799f, 0.003092f, -0.000410f, 0.002376f, -0.003575f, 0.019477f, 0.013122f, 0.010439f, 0.000303f, 0.006793f, 0.014914f, -0.013355f, -0.007293f, 0.000696f, 0.019747f, 0.012725f, 0.007716f, -0.014910f, 0.000462f, 0.010188f, 0.011755f, -0.004140f, 0.003582f, 0.011597f, 0.014237f, 0.004549f, 0.013157f, 0.005282f, -0.001573f, -0.012205f, -0.000170f, -0.020343f, -0.008434f, -0.009750f, 0.001613f, 0.006731f, -0.011888f, -0.004764f, -0.021630f, 0.009381f, -0.006074f, -0.000145f, 0.011333f, 0.016668f, 0.020034f, 0.002507f, -0.002188f, -0.012483f, -0.003827f, 0.006383f, 0.006781f, -0.013249f, 0.004065f, -0.005963f, 0.004761f, 0.000886f, -0.004572f, 0.000081f, 0.002269f, -0.004207f, 0.001782f, -0.001118f, -0.005115f, -0.002588f, -0.003258f, 0.003149f, 0.003754f, -0.000690f, -0.003013f, 0.002064f, -0.002339f, -0.001626f, -0.004005f, -0.000561f, -0.000942f, -0.004568f, 0.003514f, 0.002847f, 0.003616f, 0.024517f, 0.007478f, -0.003971f, -0.011197f, -0.028701f, -0.014148f, 0.017873f, + -0.006343f, -0.026364f, -0.007224f, -0.004024f, 0.003924f, 0.014870f, 0.022298f, -0.001120f, 0.006476f, -0.004941f, 0.011051f, -0.012318f, -0.013451f, -0.014144f, -0.025610f, 0.013817f, 0.007639f, -0.021091f, 0.000538f, -0.015348f, -0.006051f, 0.013939f, 0.007662f, 0.011414f, -0.003268f, -0.002746f, -0.003770f, 0.024418f, 0.018740f, 0.020182f, -0.009197f, -0.016879f, 0.013401f, -0.002099f, -0.006163f, 0.017419f, 0.002958f, 0.017141f, -0.000649f, 0.009670f, -0.012015f, -0.000426f, 0.008409f, -0.036122f, -0.005588f, 0.001943f, -0.026696f, 0.007091f, -0.006886f, 0.025005f, 0.015711f, -0.015012f, 0.001092f, 0.022846f, -0.002457f, 0.011733f, -0.007717f, 0.015761f, -0.007349f, 0.003261f, -0.006119f, 0.000566f, 0.010798f, -0.014573f, 0.015818f, 0.008349f, 0.009039f, 0.002786f, 0.021059f, -0.008131f, -0.024326f, 0.004374f, 0.016689f, -0.007768f, -0.015149f, -0.010679f, -0.007789f, 0.017555f, 0.000270f, -0.007266f, 0.000619f, 0.000601f, -0.003482f, -0.003149f, 0.000987f, 0.003525f, -0.002046f, -0.002096f, -0.001369f, 0.003906f, -0.002050f, -0.006350f, 0.001725f, -0.007049f, 0.006511f, 0.004483f, + -0.000188f, -0.000559f, 0.001662f, -0.001923f, 0.002827f, 0.000467f, 0.001926f, 0.000570f, 0.000798f, 0.007864f, 0.002578f, -0.003848f, 0.002066f, 0.001087f, 0.003522f, -0.000955f, 0.000786f, -0.058481f, -0.012391f, 0.031395f, -0.025356f, -0.009166f, 0.026636f, 0.010054f, -0.008480f, 0.002829f, -0.022101f, 0.019702f, -0.002529f, -0.035578f, 0.002514f, -0.001867f, 0.013414f, 0.013196f, -0.007109f, -0.027879f, -0.011985f, -0.010652f, 0.000547f, -0.014876f, -0.008215f, -0.018968f, -0.005499f, 0.020639f, -0.017020f, -0.008542f, -0.006580f, -0.011059f, -0.011711f, -0.015843f, 0.010737f, 0.002164f, 0.013366f, 0.002316f, -0.009980f, -0.015362f, -0.015201f, -0.003156f, 0.009998f, 0.014826f, -0.005330f, -0.013593f, 0.014148f, 0.005872f, -0.021390f, -0.023792f, -0.048500f, -0.004336f, -0.015557f, -0.009415f, 0.007085f, 0.007298f, 0.004336f, 0.021684f, -0.002367f, -0.010454f, -0.001413f, -0.011264f, 0.024695f, 0.013109f, -0.004933f, 0.013178f, -0.014068f, 0.006873f, 0.005591f, -0.013724f, -0.006113f, -0.012320f, 0.008622f, 0.006058f, -0.022647f, 0.014757f, 0.022647f, -0.001593f, -0.001228f, -0.023160f, + -0.009117f, 0.010047f, -0.007305f, 0.006597f, 0.022436f, -0.007674f, 0.004818f, 0.002164f, 0.001601f, -0.007273f, 0.001172f, -0.001290f, -0.009593f, -0.005813f, -0.001024f, 0.003216f, 0.000380f, 0.002499f, -0.010009f, 0.001028f, -0.005443f, 0.002352f, -0.005875f, -0.005658f, -0.003536f, -0.000491f, 0.001057f, -0.004369f, 0.001110f, 0.002250f, -0.000781f, 0.000839f, 0.003993f, 0.002191f, -0.008018f, -0.005317f, -0.002650f, 0.000656f, 0.002708f, -0.001426f, 0.002745f, 0.000425f, 0.002295f, -0.001954f, 0.000397f, 0.010068f, 0.039184f, -0.018484f, 0.015130f, -0.009858f, 0.000294f, 0.021899f, -0.006031f, -0.010251f, -0.004855f, -0.002412f, 0.004308f, 0.014787f, 0.051528f, -0.003148f, 0.003485f, 0.013857f, 0.003714f, -0.000089f, -0.023514f, -0.025214f, 0.004241f, 0.003083f, -0.015228f, -0.008301f, -0.003193f, 0.013854f, -0.005866f, 0.002437f, 0.000093f, 0.005876f, -0.005981f, 0.029546f, 0.017003f, -0.014254f, 0.016847f, 0.014568f, -0.017635f, 0.002857f, 0.008122f, 0.005681f, -0.004591f, -0.006417f, 0.025302f, -0.022065f, 0.009652f, 0.027213f, -0.009149f, 0.003136f, 0.018069f, -0.002210f, + 0.015772f, 0.008153f, 0.000675f, 0.008147f, 0.013597f, 0.017823f, 0.011823f, 0.001199f, -0.000226f, -0.012747f, -0.013369f, 0.000252f, 0.001973f, -0.043662f, 0.028783f, -0.006925f, -0.012979f, -0.015344f, -0.031375f, -0.036208f, -0.022899f, 0.004105f, 0.018243f, -0.006774f, 0.002649f, -0.003159f, 0.018133f, -0.006855f, -0.013862f, 0.007885f, 0.004702f, -0.006217f, 0.002630f, 0.011811f, -0.011207f, 0.002080f, -0.014373f, -0.005215f, -0.006200f, 0.003312f, -0.001272f, 0.007382f, 0.005192f, 0.001374f, -0.001687f, 0.003643f, 0.005666f, -0.000359f, -0.010285f, 0.005789f, -0.000073f, 0.008941f, 0.009213f, 0.004139f, -0.003951f, 0.007721f, 0.002184f, -0.001475f, 0.000169f, 0.000250f, -0.006732f, 0.007757f, -0.000291f, -0.005491f, 0.008115f, 0.015118f, -0.002596f, -0.003477f, 0.008310f, -0.003306f, -0.005047f, -0.002249f, 0.007230f, 0.052779f, 0.052520f, -0.001260f, -0.043894f, 0.008765f, 0.008719f, -0.004779f, 0.011221f, 0.006799f, 0.003602f, -0.000264f, -0.007598f, 0.042866f, 0.007678f, -0.006617f, -0.047685f, -0.026454f, 0.011023f, -0.002710f, -0.016701f, -0.028235f, 0.003798f, 0.005070f, + 0.007137f, -0.006857f, -0.031394f, -0.033065f, 0.035933f, 0.034417f, 0.010497f, 0.031628f, -0.026993f, 0.003895f, 0.013897f, -0.005408f, -0.017170f, -0.030344f, -0.015286f, 0.005655f, -0.001450f, -0.014108f, 0.014619f, 0.000526f, 0.014186f, 0.011873f, 0.000653f, -0.032642f, -0.019263f, -0.015221f, -0.002798f, 0.003632f, 0.004207f, -0.005346f, -0.009450f, 0.002513f, 0.005170f, -0.029164f, -0.007550f, 0.005058f, 0.006473f, -0.013107f, -0.036934f, -0.008342f, -0.009391f, 0.027417f, -0.001199f, 0.012475f, -0.012445f, -0.009086f, -0.016614f, -0.018157f, -0.010925f, 0.003219f, -0.001524f, 0.023056f, -0.013700f, 0.004205f, 0.026212f, -0.001591f, 0.013020f, 0.012044f, 0.025459f, 0.005935f, -0.007587f, -0.012869f, -0.011680f, -0.004269f, 0.015331f, 0.002640f, 0.015455f, 0.008544f, -0.001376f, -0.000175f, 0.000611f, 0.001508f, -0.007114f, -0.008485f, -0.000130f, -0.001922f, -0.000995f, 0.002773f, -0.001849f, 0.002223f, -0.010296f, -0.002123f, 0.006068f, -0.000132f, 0.003778f, -0.017122f, -0.002108f, -0.000470f, -0.003553f, 0.003776f, 0.002540f, 0.002451f, 0.002856f, 0.004185f, 0.004253f, 0.004822f, + -0.001691f, -0.007815f, 0.009340f, -0.005957f, 0.022724f, -0.011617f, 0.003843f, -0.008719f, 0.001614f, 0.006151f, -0.014556f, -0.009603f, -0.025863f, -0.028282f, -0.018829f, -0.007175f, -0.001469f, 0.000843f, -0.015895f, -0.014440f, -0.029640f, 0.014305f, -0.029708f, -0.037880f, 0.024372f, -0.022659f, -0.029182f, 0.027138f, 0.004949f, -0.005970f, 0.028790f, 0.016849f, -0.022703f, 0.020940f, -0.057598f, -0.003759f, -0.014947f, -0.006005f, -0.027186f, 0.047363f, 0.021922f, -0.013714f, 0.006733f, 0.015011f, -0.010096f, 0.016559f, 0.000037f, 0.000850f, -0.013713f, 0.016083f, 0.018175f, 0.024982f, -0.039165f, -0.001234f, -0.000493f, 0.011651f, -0.017885f, -0.006619f, -0.018204f, -0.017546f, 0.030720f, 0.010126f, -0.023428f, 0.012068f, -0.014589f, -0.015100f, -0.025148f, -0.045145f, 0.011570f, 0.030020f, 0.001774f, 0.030238f, 0.040648f, -0.002323f, -0.017022f, -0.038671f, 0.002755f, -0.004860f, 0.002207f, -0.009572f, 0.007736f, -0.016937f, 0.036344f, 0.020385f, 0.031752f, 0.006599f, -0.004240f, -0.009643f, 0.012785f, 0.015225f, 0.006519f, -0.002660f, -0.004888f, 0.001535f, 0.016929f, -0.002941f, + 0.006914f, -0.010772f, 0.004375f, -0.017867f, 0.001427f, 0.002315f, -0.008235f, 0.017034f, 0.009466f, -0.004261f, -0.011482f, -0.009653f, -0.003563f, -0.000810f, 0.005089f, -0.011318f, 0.002590f, 0.002133f, -0.001202f, -0.007794f, 0.002612f, -0.017013f, -0.003844f, -0.003969f, -0.005162f, 0.003043f, -0.000707f, -0.033012f, 0.004632f, -0.073339f, -0.048868f, -0.035446f, 0.019293f, 0.036016f, -0.051474f, 0.011757f, 0.036904f, 0.022404f, -0.000282f, 0.013180f, 0.034809f, -0.016119f, -0.001825f, -0.010309f, 0.001262f, -0.022702f, 0.016212f, 0.000091f, 0.002131f, 0.005660f, 0.046579f, -0.002588f, -0.020200f, -0.020153f, 0.011288f, 0.033872f, -0.013535f, -0.034793f, 0.010499f, 0.034376f, 0.020453f, -0.004914f, 0.017054f, 0.011112f, 0.016440f, 0.003356f, 0.013964f, 0.023239f, -0.002687f, -0.039840f, 0.002230f, 0.011966f, -0.036861f, -0.027336f, 0.036544f, 0.028235f, -0.027780f, -0.018609f, 0.009113f, -0.002125f, 0.018052f, 0.043897f, -0.009242f, -0.008791f, 0.008642f, -0.002530f, 0.016591f, 0.007918f, -0.015842f, -0.012889f, -0.005823f, 0.012681f, 0.011997f, -0.011997f, -0.031740f, -0.005894f, + -0.047889f, 0.045302f, 0.007934f, -0.008610f, 0.004589f, 0.018625f, -0.000724f, -0.021411f, 0.008114f, -0.009452f, -0.013469f, 0.010470f, -0.002623f, -0.021190f, -0.034180f, -0.011500f, -0.013784f, 0.028188f, -0.004278f, 0.009133f, 0.005671f, 0.003227f, -0.002416f, -0.002723f, 0.004699f, -0.007887f, 0.001504f, 0.010049f, -0.000978f, -0.005638f, -0.002819f, -0.023728f, -0.006983f, -0.000878f, -0.004140f, -0.017340f, -0.015079f, -0.006688f, -0.003240f, -0.001782f, -0.004750f, -0.001147f, 0.000564f, 0.012636f, 0.004833f, -0.002356f, -0.004949f, 0.001790f, -0.004343f, -0.004131f, 0.008639f, -0.004439f, -0.009698f, -0.003156f, -0.007234f, 0.000679f, -0.008962f, 0.000044f, 0.006416f, 0.001716f, -0.008792f, -0.003055f, -0.028140f, -0.001306f, 0.004994f, -0.034698f, -0.008983f, 0.025956f, 0.033977f, 0.023895f, 0.063305f, 0.038049f, 0.057382f, 0.021317f, 0.015225f, -0.029628f, 0.032275f, -0.010860f, -0.003468f, -0.023724f, -0.015615f, 0.031013f, -0.010005f, 0.070386f, 0.032929f, 0.020299f, -0.003594f, 0.016267f, -0.010902f, -0.032879f, -0.016440f, -0.020406f, 0.015029f, -0.019237f, -0.000242f, -0.020580f, + 0.012251f, 0.028657f, 0.026065f, -0.001687f, 0.037608f, 0.031260f, 0.001681f, -0.010853f, -0.014061f, -0.025594f, -0.008581f, 0.058989f, 0.023099f, 0.067906f, -0.021634f, 0.000390f, -0.002057f, 0.015876f, 0.054720f, 0.018721f, 0.001564f, 0.035079f, 0.040390f, 0.042449f, -0.003572f, -0.024973f, -0.008934f, -0.006839f, -0.006951f, 0.028180f, 0.019461f, 0.026753f, 0.040987f, -0.025287f, 0.061852f, -0.041246f, -0.077294f, -0.011894f, -0.023903f, 0.015928f, 0.037754f, 0.018447f, -0.020640f, -0.002017f, -0.022435f, -0.016882f, -0.010940f, 0.000423f, 0.031311f, 0.005368f, -0.008437f, 0.004997f, 0.002659f, 0.009440f, 0.010228f, 0.006901f, 0.012480f, 0.003460f, 0.007985f, 0.002957f, 0.008826f, 0.000718f, -0.024626f, -0.009473f, 0.000111f, -0.023138f, 0.002952f, -0.024160f, -0.012418f, -0.014583f, -0.013275f, -0.011332f, -0.008051f, -0.003042f, 0.001828f, 0.007223f, 0.026080f, 0.003716f, -0.015801f, 0.007677f, 0.001965f, 0.023444f, -0.003935f, 0.010264f, 0.000275f, 0.000555f, -0.011971f, 0.003198f, 0.037221f, 0.059285f, -0.029283f, -0.024033f, 0.021963f, -0.018500f, -0.002810f, -0.009050f, + 0.008490f, 0.025475f, 0.028608f, 0.040873f, -0.045200f, 0.050551f, -0.018122f, 0.003694f, -0.023308f, 0.020360f, 0.039218f, 0.014814f, 0.007548f, 0.001574f, 0.047675f, 0.010481f, -0.001230f, -0.016820f, -0.006892f, -0.049838f, -0.006247f, -0.024880f, -0.058210f, 0.003732f, -0.003208f, 0.022617f, -0.060646f, -0.013253f, 0.014602f, 0.021216f, 0.051045f, -0.015307f, 0.015072f, 0.026335f, 0.004467f, -0.008452f, 0.014631f, -0.014888f, -0.003191f, -0.077551f, 0.006959f, -0.033835f, -0.037869f, -0.043887f, 0.017440f, -0.069607f, 0.022755f, -0.026915f, -0.034001f, -0.047777f, 0.042230f, 0.044300f, 0.045026f, 0.008222f, 0.008438f, 0.041520f, -0.058530f, -0.006275f, -0.017900f, 0.023313f, -0.069589f, -0.024541f, -0.007008f, 0.021874f, 0.017950f, 0.013864f, 0.028394f, -0.026595f, 0.010521f, -0.032001f, -0.009092f, -0.019377f, -0.007193f, -0.006903f, 0.001068f, -0.030346f, 0.013844f, 0.018287f, -0.003028f, 0.000846f, -0.014435f, -0.005051f, 0.014573f, -0.019736f, -0.000181f, 0.009008f, -0.023649f, 0.010485f, -0.021170f, -0.000164f, 0.013607f, 0.002768f, -0.017317f, -0.011925f, 0.006996f, -0.010157f, + 0.011095f, 0.007236f, 0.012767f, -0.001998f, -0.015140f, 0.028925f, -0.013693f, -0.007389f, -0.018723f, 0.012721f, -0.006226f, 0.001521f, -0.017353f, 0.002022f, -0.021131f, -0.003705f, 0.015897f, -0.005254f, -0.008834f, -0.022701f, 0.002830f, 0.002711f, -0.002732f, -0.029684f, -0.055193f, -0.001055f, -0.019735f, 0.065261f, 0.013570f, 0.046134f, -0.015208f, 0.062996f, -0.039729f, -0.074388f, 0.016666f, 0.012495f, 0.008363f, -0.037039f, -0.042193f, -0.033074f, 0.012209f, -0.033318f, 0.014461f, -0.017737f, 0.049370f, -0.016283f, -0.007622f, 0.035558f, 0.000958f, -0.089060f, -0.037101f, -0.001357f, 0.058429f, -0.006895f, -0.018540f, -0.051149f, 0.008683f, -0.012759f, -0.044038f, -0.052138f, -0.006198f, 0.009324f, -0.018062f, -0.019985f, -0.052168f, 0.033837f, -0.013078f, 0.012019f, -0.026065f, 0.000917f, 0.015242f, 0.009182f, 0.045708f, 0.000222f, -0.015981f, -0.059913f, -0.021229f, 0.028577f, -0.041035f, -0.021090f, 0.014935f, 0.032551f, 0.025426f, 0.065155f, 0.049749f, 0.000650f, 0.037707f, 0.038555f, 0.013045f, 0.001227f, 0.022546f, -0.019711f, 0.098583f, -0.045746f, -0.108063f, 0.028358f, + -0.092013f, -0.003887f, -0.072065f, -0.000839f, 0.087740f, 0.010668f, -0.042086f, 0.013581f, 0.014759f, -0.027740f, -0.022683f, -0.031348f, 0.006535f, -0.009750f, 0.027990f, -0.022647f, 0.018648f, -0.037672f, 0.010238f, -0.001668f, -0.006286f, -0.008897f, 0.025352f, 0.048416f, 0.015106f, 0.019406f, 0.033591f, 0.009841f, -0.033901f, 0.009366f, -0.012677f, 0.022092f, -0.007189f, -0.010987f, -0.001459f, -0.002780f, -0.009230f, -0.028288f, -0.018398f, -0.012823f, -0.001690f, 0.003440f, -0.002171f, -0.018152f, -0.039904f, -0.025404f, 0.005842f, -0.007565f, -0.000835f, -0.015774f, 0.005228f, 0.028154f, 0.011051f, 0.040740f, -0.062061f, -0.042288f, -0.025277f, -0.022607f, 0.025809f, 0.038519f, -0.022405f, 0.002003f, 0.035523f, -0.071290f, 0.005832f, 0.015962f, -0.052717f, 0.027015f, -0.017149f, 0.023762f, 0.009776f, 0.026856f, 0.003583f, -0.035164f, 0.036394f, -0.045645f, -0.009205f, 0.086611f, -0.035182f, 0.031345f, -0.020159f, 0.035303f, 0.033341f, -0.012053f, -0.037652f, 0.040036f, 0.106325f, -0.058539f, 0.015653f, -0.077493f, 0.039494f, 0.022787f, -0.041056f, 0.045538f, 0.004930f, -0.092928f, + 0.013850f, 0.003929f, 0.042739f, -0.011916f, -0.005954f, -0.049114f, -0.046627f, -0.024838f, 0.115842f, -0.018204f, 0.059070f, -0.052000f, 0.039034f, 0.018251f, -0.010090f, -0.040115f, -0.006843f, 0.031925f, 0.065314f, -0.024079f, -0.021292f, -0.007456f, 0.013172f, 0.055836f, -0.013878f, -0.013927f, -0.041460f, 0.012288f, -0.062649f, -0.028657f, 0.045418f, 0.053922f, 0.006532f, -0.005087f, -0.029199f, -0.049041f, -0.140343f, 0.087248f, 0.033743f, 0.049877f, 0.005317f, -0.046331f, 0.050709f, -0.028902f, 0.021643f, 0.029447f, 0.029533f, 0.067248f, -0.000962f, 0.015309f, 0.019052f, -0.008109f, -0.029373f, -0.010354f, 0.049833f, 0.030060f, -0.027465f, -0.006557f, -0.018587f, -0.005327f, 0.023430f, 0.006384f, -0.032196f, -0.021456f, 0.031382f, 0.006801f, -0.009527f, 0.015686f, -0.027182f, -0.017179f, -0.005411f, 0.013166f, 0.022248f, 0.013842f, 0.004509f, 0.016932f, -0.013654f, -0.018762f, 0.003599f, -0.002159f, -0.024375f, 0.002653f, -0.025148f, -0.001277f, -0.015255f, -0.004005f, 0.004295f, -0.013369f, -0.024051f, 0.007896f, -0.058656f, 0.040819f, 0.041118f, -0.080834f, 0.008166f, -0.042724f, + 0.005615f, -0.088914f, 0.089244f, 0.076745f, -0.007524f, -0.040833f, -0.013593f, -0.016664f, 0.043528f, -0.044700f, 0.056028f, -0.074381f, -0.042423f, 0.020602f, 0.026604f, 0.005542f, 0.025707f, 0.069944f, 0.020709f, 0.032034f, 0.009076f, 0.033316f, 0.024438f, -0.016230f, 0.007469f, 0.028170f, -0.001546f, -0.002814f, 0.056665f, 0.024860f, 0.074235f, -0.007115f, 0.042509f, -0.000239f, -0.053504f, 0.054841f, -0.028072f, -0.006528f, 0.017469f, -0.051493f, -0.034140f, 0.019552f, 0.080745f, 0.043551f, 0.029449f, -0.103764f, -0.023642f, -0.072839f, -0.000268f, 0.115752f, 0.076756f, 0.087511f, 0.007299f, -0.085442f, 0.026901f, 0.086144f, 0.018548f, -0.021881f, 0.077317f, 0.008066f, 0.051821f, -0.132707f, -0.109488f, 0.078754f, -0.005304f, -0.035878f, -0.083779f, -0.018559f, -0.031204f, 0.035800f, 0.033783f, 0.039227f, 0.040905f, -0.016909f, 0.013041f, 0.072996f, 0.068036f, 0.070507f, 0.006291f, 0.101401f, 0.051122f, -0.018166f, -0.039790f, 0.000477f, -0.019378f, 0.005900f, 0.052109f, -0.008274f, 0.002721f, 0.037485f, 0.041934f, 0.003876f, 0.000676f, 0.015952f, 0.046419f, 0.016067f, + 0.022033f, 0.031156f, 0.011653f, 0.024222f, -0.000654f, -0.013813f, -0.005458f, -0.005334f, 0.002464f, 0.032225f, -0.011811f, 0.005615f, -0.025902f, 0.039021f, 0.019533f, 0.017006f, 0.000115f, 0.019646f, 0.000604f, 0.066925f, 0.017832f, 0.068710f, -0.018000f, 0.060089f, 0.028231f, 0.008790f, 0.026833f, 0.025790f, 0.030031f, -0.007971f, -0.004750f, 0.041041f, 0.013299f, 0.034506f, -0.076601f, 0.045169f, 0.060434f, 0.004552f, 0.020655f, -0.054669f, 0.042708f, -0.024880f, 0.020485f, 0.001961f, 0.000209f, 0.036111f, -0.011144f, 0.023519f, -0.007531f, -0.043833f, 0.011739f, -0.003013f, 0.049060f, 0.042856f, 0.060999f, 0.020361f, -0.046634f, -0.038473f, 0.039609f, 0.044514f, 0.020607f, 0.003982f, 0.014093f, -0.012064f, -0.038225f, 0.006602f, -0.014141f, 0.054246f, 0.037861f, 0.033149f, 0.042948f, 0.044149f, -0.060757f, 0.067065f, 0.065830f, 0.048372f, -0.032650f, -0.028922f, -0.042236f, 0.058483f, 0.034127f, 0.095945f, -0.058272f, -0.057516f, -0.044575f, -0.084464f, -0.022044f, 0.091737f, 0.014602f, 0.072110f, -0.076610f, -0.081698f, 0.017914f, 0.052328f, -0.071641f, 0.011531f, + -0.057054f, 0.023067f, -0.065861f, -0.004875f, 0.031339f, 0.033471f, -0.059886f, 0.024007f, -0.045552f, -0.090397f, -0.002986f, 0.107896f, 0.055683f, 0.043963f, -0.030023f, -0.076479f, 0.116875f, 0.094964f, 0.026567f, -0.104570f, -0.004099f, -0.024195f, 0.074854f, 0.038735f, 0.046400f, -0.054081f, 0.041047f, -0.023961f, 0.026885f, -0.037247f, 0.013385f, -0.041710f, 0.061148f, -0.011489f, 0.010042f, -0.072369f, 0.021119f, 0.009777f, -0.003413f, -0.015706f, 0.014796f, 0.008344f, 0.007592f, -0.044481f, 0.018966f, 0.046774f, 0.002851f, 0.028447f, 0.023393f, 0.020083f, 0.002990f, 0.009908f, 0.000878f, 0.003323f, 0.001934f, -0.013535f, -0.001746f, 0.015401f, -0.000363f, 0.029907f, 0.024418f, -0.012132f, -0.002698f, 0.014395f, 0.005589f, 0.023433f, -0.042273f, 0.028534f, 0.002831f, -0.000173f, -0.148546f, -0.029126f, -0.004055f, 0.002875f, 0.051340f, -0.136649f, -0.015941f, 0.063406f, -0.101811f, 0.023965f, -0.023345f, 0.119396f, 0.062402f, -0.071356f, 0.017645f, 0.080637f, 0.007926f, -0.030736f, 0.026067f, 0.020075f, 0.010303f, -0.000578f, -0.008093f, 0.007055f, 0.012880f, 0.028207f, + 0.081854f, 0.066527f, 0.071571f, 0.049810f, 0.090171f, 0.044749f, 0.092209f, 0.038782f, 0.081793f, 0.001895f, 0.050768f, 0.046471f, 0.050318f, 0.039275f, -0.003770f, 0.015783f, -0.062902f, -0.036786f, 0.119561f, 0.002219f, -0.047850f, -0.012678f, 0.037510f, 0.063740f, 0.128698f, -0.016684f, -0.070871f, -0.034956f, -0.052242f, 0.074053f, 0.083886f, 0.094694f, 0.029185f, -0.002696f, 0.063607f, -0.107343f, 0.098393f, 0.038001f, -0.051845f, -0.000242f, -0.168086f, 0.004715f, -0.111080f, -0.153383f, -0.038314f, -0.089850f, -0.039256f, 0.175315f, 0.159378f, 0.150533f, -0.117795f, -0.011345f, -0.013352f, 0.118529f, 0.184700f, -0.040389f, -0.051984f, 0.103024f, 0.105191f, 0.091138f, -0.010615f, -0.013812f, -0.050965f, -0.063573f, 0.009518f, -0.022891f, 0.028488f, 0.045191f, 0.038805f, 0.027572f, 0.002806f, 0.018142f, 0.049597f, 0.009248f, 0.000462f, -0.013206f, 0.002990f, 0.004165f, 0.013637f, 0.010965f, 0.010288f, 0.051933f, -0.004269f, -0.029659f, 0.031524f, 0.037959f, 0.008905f, 0.060156f, 0.014258f, 0.029513f, 0.065154f, 0.087639f, 0.063754f, 0.047259f, 0.019033f, 0.009532f, + 0.025569f, 0.060299f, 0.026453f, 0.061785f, 0.045510f, 0.030057f, 0.042832f, 0.016425f, 0.058071f, 0.051244f, 0.041403f, 0.063480f, 0.036314f, 0.012433f, 0.017745f, -0.042081f, 0.106985f, 0.127574f, -0.105477f, -0.098861f, 0.033993f, 0.111390f, 0.003903f, -0.053831f, 0.001482f, 0.029420f, 0.034874f, -0.094156f, 0.035714f, -0.013535f, 0.050235f, -0.052208f, -0.023461f, -0.060989f, 0.064338f, -0.009750f, -0.026800f, -0.057113f, 0.042161f, 0.023066f, -0.008536f, -0.048462f, 0.023293f, 0.019792f, 0.012345f, -0.042976f, -0.004850f, -0.003278f, 0.049532f, -0.037631f, -0.007677f, -0.054493f, -0.012808f, 0.017222f, 0.043662f, -0.056679f, -0.019934f, 0.057854f, 0.051854f, -0.016784f, -0.034499f, -0.001499f, -0.016962f, 0.048078f, -0.026915f, -0.016874f, 0.025210f, 0.016605f, 0.031500f, -0.028440f, 0.009924f, -0.038702f, 0.044519f, 0.049658f, 0.025608f, 0.006569f, -0.038509f, 0.043932f, -0.030663f, 0.068760f, -0.049859f, 0.054963f, -0.086965f, 0.058306f, 0.009084f, -0.006580f, -0.060656f, -0.020002f, 0.021858f, -0.017352f, 0.007698f, -0.016859f, 0.019289f, -0.009277f, 0.021426f, -0.020894f, + -0.024885f, -0.018504f, 0.020530f, -0.000179f, -0.000471f, -0.006263f, -0.012835f, 0.007556f, 0.023856f, -0.013017f, -0.000793f, -0.000351f, 0.005040f, -0.002916f, 0.006006f, -0.005673f, 0.018034f, -0.001349f, 0.022793f, -0.020572f, 0.005733f, -0.010563f, 0.023118f, -0.024416f, 0.022878f, -0.025180f, 0.016202f, 0.004707f, 0.028472f, -0.008293f, 0.027164f, -0.024819f, -0.015386f, -0.006014f, 0.042653f, -0.021794f, 0.033600f, -0.013517f, 0.007134f, 0.001831f, 0.024705f, -0.012138f, 0.014037f, 0.001453f, 0.003222f, -0.004302f, 0.010591f, -0.005303f, -0.010606f, 0.024790f, -0.013220f, 0.001396f, -0.009781f, 0.005605f, -0.008908f, 0.010954f, -0.015278f, 0.018670f, -0.013760f, 0.015090f, -0.019990f, 0.017624f, -0.026258f, 0.025171f, -0.014020f, 0.016293f, -0.017154f, 0.017284f, -0.017078f, 0.017766f, -0.015035f, 0.015905f, -0.020734f, 0.017413f, -0.016842f, 0.017836f, -0.019539f, 0.020589f, -0.018703f, -0.003406f, -0.022972f, 0.102629f, 0.109197f, -0.064247f, -0.038067f, 0.021667f, 0.104285f, 0.064806f, 0.038862f, 0.037395f, -0.016603f, -0.043622f, -0.013203f, 0.024525f, -0.000372f, -0.010260f, + 0.031120f, 0.000563f, 0.021938f, 0.002712f, -0.011652f, -0.039077f, -0.010365f, -0.002262f, 0.002903f, -0.001521f, -0.031753f, 0.035494f, 0.005938f, -0.014248f, -0.000780f, -0.001067f, 0.000524f, 0.022926f, 0.042080f, 0.017967f, 0.004280f, -0.015111f, -0.021738f, -0.005614f, 0.013695f, 0.028224f, 0.037993f, -0.021153f, -0.020890f, 0.004771f, 0.038410f, 0.017344f, 0.008595f, -0.017302f, -0.034788f, 0.029741f, -0.006086f, 0.000872f, 0.002060f, 0.009606f, 0.009220f, -0.004187f, -0.001225f, -0.022671f, 0.003534f, 0.020062f, -0.009464f, 0.012002f, -0.006662f, -0.016144f, 0.010330f, -0.003035f, 0.005614f, -0.001198f, 0.017468f, 0.011850f, -0.025907f, 0.007698f, 0.001299f, -0.047062f, -0.062531f, 0.001833f, 0.003727f, 0.014301f, 0.038177f, 0.004216f, -0.016716f, -0.016389f, 0.015081f, 0.016433f, 0.024948f, 0.016999f, 0.001137f, 0.007275f, -0.002591f, -0.018857f, -0.007775f, 0.002919f, -0.025854f, -0.024779f, 0.016069f, 0.017013f, -0.000315f, 0.019130f, -0.026975f, -0.004875f, -0.001176f, 0.001386f, -0.008268f, 0.004328f, 0.014721f, 0.020330f, 0.009999f, 0.017126f, -0.010706f, -0.021193f, + 0.012559f, 0.002022f, -0.005102f, 0.014548f, 0.008179f, -0.009974f, -0.036067f, -0.135628f, 0.057708f, 0.208633f, 0.192763f, 0.164171f, 0.065770f, -0.156165f, -0.097423f, -0.140413f, -0.156924f, -0.140682f, -0.040724f, 0.030180f, 0.118620f, 0.123159f, 0.147926f, 0.097662f, 0.098885f, 0.002259f, -0.103611f, -0.099330f, -0.122040f, -0.095800f, -0.053039f, -0.003773f, -0.034105f, 0.036973f, 0.045984f, 0.074068f, 0.081724f, 0.082650f, 0.049526f, 0.003995f, 0.022101f, -0.018421f, 0.011920f, -0.056870f, -0.041044f, -0.052606f, -0.085531f, -0.068166f, -0.051947f, -0.036966f, -0.060772f, 0.008290f, 0.104173f, 0.117357f, 0.065770f, 0.122719f, 0.030616f, 0.071543f, 0.037036f, 0.020895f, -0.030749f, -0.065776f, -0.089766f, -0.126464f, -0.096705f, -0.144244f, -0.059525f, -0.064317f, 0.041487f, 0.041242f, 0.120641f, 0.138703f, 0.123800f, 0.109961f, 0.107797f, 0.067196f, 0.008389f, -0.037867f, -0.115057f, -0.072429f, -0.150335f, -0.128463f, -0.178321f, -0.029060f, -0.015875f, 0.043799f, 0.056565f, 0.101526f, 0.119760f, 0.099945f, 0.089515f, 0.066120f, 0.039216f, 0.005341f, -0.033138f, -0.048068f, + -0.064395f, -0.099766f, -0.069866f, -0.086889f, -0.060214f, -0.031122f, -0.008842f, 0.019449f, 0.019211f, 0.094931f, 0.087784f, 0.086706f, 0.067868f, 0.049518f, 0.006008f, 0.030706f, -0.034380f, -0.057328f, -0.044428f, -0.123857f, -0.144077f, -0.028036f, -0.009643f, -0.006466f, 0.070382f, 0.057346f, 0.076805f, 0.053558f, 0.070191f, 0.021166f, 0.018192f, -0.005663f, -0.029647f, -0.038444f, -0.049321f, -0.054930f, -0.033608f, -0.007327f, -0.042621f, -0.022754f, 0.034159f, 0.048386f, 0.032674f, 0.041874f, 0.028803f, 0.020629f, 0.005474f, -0.004080f, -0.014787f, -0.021183f, -0.016184f, -0.026419f, -0.013677f, -0.005446f, -0.009797f, -0.013577f, 0.003016f, 0.009775f, 0.002255f, 0.015043f, 0.019607f, 0.014417f, 0.010424f, 0.008943f, 0.004732f, -0.001571f, -0.009058f, -0.009198f, -0.012828f, -0.009584f, -0.009901f, -0.006430f, -0.005204f, 0.000849f, 0.002469f, 0.004484f, 0.003734f, 0.006228f, 0.006397f, 0.005051f, 0.003827f, 0.003732f, 0.002729f, 0.003296f, 0.000675f, -0.003884f, -0.006169f, -0.003058f, -0.005476f, -0.006305f, -0.005444f, -0.003406f, -0.001496f, 0.002455f, 0.003800f, 0.004397f, + 0.002948f, 0.005692f, 0.003636f, 0.002231f, 0.001240f, 0.000671f, -0.002233f, -0.002421f, -0.002879f, -0.001113f, -0.002197f, -0.001993f, -0.002047f, -0.000316f, -0.000864f, 0.000605f, 0.000474f, 0.001945f, 0.001420f, 0.002364f, 0.001250f, 0.001504f, -0.000205f, -0.000522f, -0.001066f, 0.000587f, -0.001086f, -0.000777f, -0.002032f, -0.000692f, -0.000709f, 0.000915f, 0.000531f, 0.001505f, 0.000561f, 0.000834f, -0.000736f, 0.000100f, -0.000592f, -0.000202f, -0.001258f, 0.000116f, -0.000458f, 0.000522f, -0.000013f, 0.000799f, -0.000239f, 0.000702f, -0.000256f, 0.000440f, -0.000488f, 0.000387f, -0.000462f, 0.000400f} + }, + { + {-0.009644f, -0.009812f, -0.008153f, 0.002275f, -0.004688f, -0.000728f, -0.001357f, 0.004735f, 0.018806f, -0.005015f, 0.001871f, -0.017916f, -0.009823f, 0.005490f, -0.008552f, -0.006631f, -0.002541f, -0.007556f, -0.002032f, 0.015646f, -0.006736f, -0.009985f, 0.016859f, 0.013536f, -0.004795f, -0.003114f, 0.015430f, 0.004417f, 0.005968f, 0.003004f, 0.000731f, -0.003935f, -0.006539f, 0.006146f, -0.004878f, 0.004598f, 0.001637f, 0.001784f, -0.002189f, -0.005292f, -0.004193f, 0.003794f, -0.004823f, -0.007557f, -0.003443f, -0.003367f, -0.009677f, 0.010942f, 0.016851f, -0.009688f, 0.005482f, 0.000488f, -0.003815f, 0.002697f, -0.000445f, 0.000161f, -0.005679f, 0.010461f, -0.006220f, -0.007628f, 0.008660f, 0.002674f, -0.000482f, -0.000954f, 0.004746f, 0.000325f, -0.000164f, -0.002974f, -0.001532f, 0.009196f, -0.013426f, 0.004583f, 0.002436f, -0.003237f, -0.003232f, -0.004656f, -0.006848f, 0.000075f, 0.006550f, 0.006745f, 0.001929f, -0.000106f, 0.001493f, -0.003713f, 0.004866f, -0.001834f, 0.002851f, -0.002062f, -0.001373f, -0.000985f, -0.001252f, -0.000952f, 0.002228f, -0.000084f, 0.000901f, 0.001390f, + 0.000798f, 0.002371f, 0.002932f, -0.000957f, -0.000716f, -0.001305f, -0.000950f, -0.001863f, -0.000591f, -0.001235f, -0.001067f, -0.001895f, -0.000790f, -0.000192f, 0.001152f, -0.000721f, -0.029676f, -0.004668f, -0.010851f, -0.002649f, 0.002386f, -0.008068f, -0.018090f, 0.013273f, -0.004448f, 0.003106f, 0.008864f, -0.002798f, -0.000910f, -0.001083f, 0.004081f, -0.003114f, 0.014923f, -0.000595f, 0.011512f, 0.016906f, -0.020262f, 0.004272f, 0.014079f, 0.000995f, 0.002808f, 0.009771f, 0.018012f, 0.002602f, -0.004046f, 0.009092f, -0.002405f, -0.004667f, 0.004068f, 0.003233f, 0.004025f, -0.005043f, 0.018360f, -0.008441f, 0.004641f, 0.006876f, -0.000072f, -0.000867f, -0.008942f, 0.001488f, -0.010362f, 0.008746f, -0.010584f, -0.008107f, 0.005886f, -0.009849f, 0.006794f, -0.006867f, 0.002865f, -0.005537f, 0.003786f, 0.008019f, 0.015658f, 0.004832f, 0.001792f, 0.007643f, 0.000139f, -0.013484f, 0.001818f, 0.003829f, 0.005169f, -0.003369f, 0.000735f, -0.001831f, 0.002597f, 0.007569f, 0.004576f, 0.010329f, 0.003584f, 0.001399f, -0.006245f, -0.003178f, 0.006102f, 0.004757f, -0.005976f, 0.007231f, + 0.003556f, 0.007905f, -0.002426f, -0.001868f, -0.002432f, 0.000387f, -0.001489f, -0.006300f, -0.001125f, 0.001063f, 0.001095f, 0.004103f, 0.000496f, -0.001195f, -0.001514f, 0.001745f, 0.000916f, -0.003072f, -0.000416f, -0.000214f, 0.000075f, 0.001262f, 0.000390f, -0.001417f, -0.000148f, -0.001341f, -0.010753f, 0.008006f, 0.005256f, 0.001620f, 0.010199f, -0.000541f, 0.005731f, 0.013847f, 0.008612f, 0.018159f, 0.003544f, -0.002673f, -0.018556f, 0.002938f, -0.011363f, -0.003798f, 0.001471f, 0.004206f, -0.007100f, 0.000014f, 0.017920f, -0.009129f, -0.000437f, -0.009115f, 0.004388f, 0.000109f, 0.003516f, 0.007321f, 0.008655f, -0.005398f, 0.006506f, 0.006694f, 0.012982f, 0.000517f, -0.012640f, 0.001256f, 0.013760f, -0.001324f, -0.000805f, -0.001870f, 0.009272f, -0.010709f, 0.000959f, 0.007067f, 0.009281f, 0.011076f, -0.004102f, -0.007213f, -0.000867f, 0.015910f, 0.001546f, 0.005763f, -0.012857f, -0.005754f, 0.003203f, 0.002692f, -0.002143f, 0.008443f, -0.000511f, -0.001722f, 0.004796f, -0.008102f, 0.000590f, -0.001251f, 0.005627f, 0.008551f, -0.012481f, -0.002793f, 0.004145f, 0.008430f, + -0.005297f, -0.005136f, 0.003567f, 0.009986f, -0.000796f, 0.006718f, 0.004839f, 0.006888f, 0.002974f, 0.007682f, 0.011636f, 0.000472f, 0.003328f, -0.003167f, 0.004796f, 0.003382f, -0.002105f, -0.005179f, -0.000882f, -0.003663f, 0.001311f, -0.003347f, 0.001566f, -0.001512f, 0.000916f, -0.002710f, 0.000175f, -0.000243f, 0.000679f, -0.001617f, 0.002681f, -0.002426f, -0.000957f, -0.001069f, -0.001205f, 0.000346f, 0.001560f, 0.001531f, 0.000942f, -0.000708f, -0.000430f, -0.001114f, 0.003590f, 0.000666f, 0.032324f, 0.015578f, 0.012788f, -0.012066f, -0.002043f, -0.016809f, -0.011884f, 0.017901f, 0.001704f, -0.011378f, -0.005188f, 0.003799f, -0.010633f, -0.001010f, 0.018343f, 0.007266f, -0.000672f, 0.005826f, 0.026863f, -0.017862f, 0.004362f, -0.003373f, -0.008574f, 0.015368f, 0.007912f, 0.007962f, -0.005906f, 0.006873f, 0.008931f, -0.002742f, 0.005764f, -0.001826f, -0.007544f, 0.001573f, 0.002960f, -0.001342f, 0.009161f, 0.002226f, -0.003182f, 0.010023f, -0.004489f, -0.004736f, -0.005717f, 0.002811f, 0.003944f, 0.000726f, 0.007302f, 0.000964f, 0.022764f, 0.001489f, 0.000085f, -0.005265f, + -0.004632f, 0.005440f, -0.016770f, 0.000704f, 0.010220f, 0.008047f, -0.009006f, 0.013364f, 0.000329f, 0.005984f, 0.010775f, -0.003016f, 0.008366f, 0.006424f, -0.002830f, -0.009610f, -0.007242f, 0.006051f, 0.015274f, 0.004344f, -0.006489f, -0.003226f, -0.003631f, 0.010458f, -0.008737f, -0.000482f, 0.008722f, 0.010011f, 0.001491f, 0.001281f, -0.002651f, -0.004156f, 0.000292f, -0.000948f, -0.003397f, -0.000700f, -0.001485f, -0.001715f, -0.002583f, -0.001331f, 0.003664f, 0.002438f, -0.000592f, 0.004627f, 0.001478f, 0.001886f, -0.000474f, 0.001598f, -0.000687f, -0.000370f, -0.000062f, 0.000565f, 0.000695f, 0.001322f, 0.002628f, 0.000672f, 0.000418f, -0.000727f, 0.007854f, 0.002008f, 0.021185f, 0.005207f, 0.012667f, -0.000609f, 0.002885f, 0.003500f, 0.003606f, -0.003522f, 0.012963f, -0.005443f, 0.014020f, -0.006854f, -0.005276f, 0.003636f, -0.009082f, -0.002638f, -0.002777f, 0.003921f, 0.005909f, -0.003681f, -0.013339f, 0.006138f, -0.016151f, -0.006552f, -0.002634f, -0.000350f, -0.002417f, 0.003218f, 0.014728f, 0.008283f, 0.001133f, -0.015126f, -0.014431f, 0.000554f, 0.009989f, -0.005140f, + 0.001695f, -0.001801f, -0.006308f, -0.009681f, 0.001171f, 0.006672f, 0.014237f, 0.012770f, -0.001457f, 0.004159f, -0.017468f, 0.006113f, 0.011902f, 0.013405f, -0.001460f, 0.012235f, 0.002788f, 0.017773f, 0.010648f, 0.003479f, 0.008194f, -0.000704f, -0.004422f, -0.003040f, -0.001591f, 0.011202f, -0.004050f, -0.006170f, -0.007527f, 0.011188f, -0.002467f, -0.019346f, 0.004087f, 0.007474f, 0.011122f, 0.014213f, 0.024339f, -0.010010f, -0.008048f, 0.014373f, 0.015311f, 0.011989f, 0.005331f, -0.002403f, -0.002509f, -0.009312f, -0.010309f, -0.002851f, -0.003565f, 0.003251f, -0.000181f, -0.002981f, -0.000177f, -0.005748f, 0.001514f, -0.000695f, 0.003006f, 0.000459f, -0.004199f, -0.000281f, 0.000742f, -0.000659f, -0.000136f, 0.002198f, 0.004225f, 0.004066f, 0.003535f, 0.000957f, 0.001100f, -0.005878f, 0.000563f, 0.004250f, -0.002414f, 0.002375f, 0.000802f, -0.001594f, -0.001123f, -0.000665f, 0.004416f, 0.003167f, 0.000938f, -0.000295f, 0.002567f, 0.000273f, 0.001835f, 0.000976f, -0.001069f, 0.001386f, -0.000515f, -0.000545f, -0.027629f, 0.013225f, 0.019578f, 0.002208f, 0.016361f, 0.001877f, + -0.013938f, -0.001675f, -0.006301f, -0.003849f, 0.015134f, -0.019523f, -0.004973f, 0.006397f, 0.007925f, 0.017058f, -0.003044f, 0.007201f, -0.026852f, -0.014170f, 0.007354f, 0.015800f, -0.010223f, -0.007922f, -0.010986f, -0.014017f, 0.007555f, -0.002003f, 0.000523f, 0.004798f, 0.002874f, 0.005020f, 0.021518f, -0.013109f, 0.020893f, -0.001452f, 0.004581f, 0.004233f, 0.004845f, -0.006504f, 0.007521f, -0.014827f, -0.002373f, -0.008221f, -0.001143f, -0.011095f, 0.013455f, 0.001993f, 0.036576f, 0.000843f, -0.001930f, -0.009475f, 0.001991f, -0.007986f, 0.019302f, -0.011988f, 0.002897f, -0.021483f, 0.016268f, 0.014298f, -0.017138f, 0.010398f, 0.011270f, 0.004221f, -0.009108f, -0.009972f, 0.016323f, 0.003812f, -0.022664f, 0.010748f, -0.010555f, -0.006242f, 0.005606f, -0.006055f, 0.002455f, 0.004367f, 0.006605f, -0.012298f, -0.028817f, 0.003961f, 0.006948f, -0.001188f, -0.005885f, 0.011241f, -0.004580f, -0.004024f, -0.005015f, 0.007384f, -0.009059f, -0.004015f, -0.004979f, -0.004255f, 0.002771f, -0.003882f, 0.005407f, 0.000452f, -0.008010f, 0.005889f, 0.001205f, -0.004579f, 0.000136f, 0.005284f, + 0.002204f, 0.000002f, -0.000352f, -0.001789f, -0.004059f, 0.000112f, 0.001630f, 0.000305f, -0.000053f, 0.002291f, -0.004643f, 0.000295f, 0.001352f, -0.005863f, -0.003872f, -0.004991f, 0.012294f, 0.002392f, -0.000248f, -0.010383f, -0.017466f, 0.006187f, -0.009376f, -0.003770f, 0.016890f, -0.023013f, -0.009600f, -0.016957f, -0.001739f, 0.014546f, -0.001364f, -0.011998f, -0.016668f, -0.018699f, 0.007270f, 0.019777f, -0.005688f, 0.012354f, 0.018582f, -0.005157f, -0.004317f, 0.007278f, 0.010320f, 0.022075f, -0.003230f, 0.012404f, 0.001770f, 0.026245f, 0.019277f, 0.005270f, -0.006218f, 0.002636f, -0.014593f, 0.025476f, 0.005886f, -0.011266f, -0.012524f, 0.014680f, 0.012374f, 0.008915f, 0.006320f, 0.004340f, 0.013151f, -0.005733f, 0.005773f, -0.008762f, 0.001208f, 0.000682f, -0.013311f, -0.017744f, -0.006341f, -0.012545f, 0.007981f, -0.007674f, -0.005736f, -0.019357f, -0.012220f, 0.003662f, -0.006670f, -0.002359f, 0.009214f, 0.019308f, 0.024333f, 0.012644f, 0.010026f, -0.009046f, -0.019954f, 0.000296f, -0.013992f, -0.032183f, 0.000196f, -0.002314f, 0.011899f, 0.008028f, -0.007955f, -0.017961f, + -0.009825f, 0.008598f, -0.000524f, -0.002058f, -0.007511f, 0.003897f, 0.003984f, 0.003168f, -0.002012f, -0.010263f, 0.002043f, 0.001270f, 0.000885f, -0.002378f, -0.001368f, -0.001454f, 0.001156f, -0.005068f, -0.005256f, -0.000620f, 0.000502f, -0.004232f, 0.000238f, -0.000914f, 0.003708f, 0.005041f, -0.005673f, -0.000289f, 0.003882f, -0.000770f, -0.002467f, 0.000845f, 0.000438f, 0.005465f, -0.001874f, 0.003479f, 0.002657f, -0.002489f, -0.002247f, -0.037258f, -0.011265f, 0.001831f, 0.018240f, -0.013211f, 0.008993f, 0.005569f, -0.000593f, 0.026983f, -0.003494f, 0.025378f, -0.014931f, 0.007291f, 0.008242f, 0.000089f, -0.023254f, -0.009904f, -0.008603f, -0.026800f, 0.009194f, -0.006849f, 0.005762f, -0.001903f, 0.009755f, -0.000282f, -0.010275f, 0.005294f, -0.016983f, 0.012365f, 0.007495f, 0.028867f, -0.001130f, 0.000621f, 0.026705f, -0.023768f, 0.020752f, 0.025049f, -0.015737f, 0.016034f, -0.006715f, -0.007921f, -0.013199f, 0.003079f, 0.003142f, 0.017725f, 0.011651f, -0.004923f, -0.007427f, -0.015590f, 0.008447f, 0.009259f, -0.017505f, -0.008188f, 0.016472f, -0.029096f, 0.002726f, -0.022546f, + 0.012593f, 0.000925f, -0.000410f, 0.006421f, -0.007538f, 0.002247f, 0.026546f, -0.011255f, 0.005808f, 0.012598f, 0.008148f, 0.001098f, -0.013996f, 0.005859f, 0.005179f, -0.008472f, -0.022687f, -0.000089f, -0.005190f, -0.018312f, 0.013615f, -0.005240f, 0.005009f, -0.001068f, 0.002576f, 0.005370f, 0.005556f, -0.010400f, 0.002528f, -0.001365f, 0.002288f, -0.001171f, 0.006768f, 0.003018f, -0.001690f, -0.001622f, -0.009809f, -0.000768f, -0.006713f, 0.000787f, 0.001090f, 0.006709f, -0.010380f, 0.003456f, 0.005570f, -0.004326f, -0.006460f, 0.001902f, -0.000964f, -0.004212f, 0.003079f, -0.001237f, -0.004056f, 0.001011f, -0.001398f, -0.005076f, -0.001340f, -0.003443f, -0.006273f, 0.002505f, -0.001951f, 0.000133f, -0.003462f, -0.001169f, -0.003542f, 0.001205f, 0.006620f, -0.001347f, -0.004115f, -0.015335f, 0.044222f, -0.016565f, 0.008702f, 0.006141f, 0.015870f, 0.004752f, 0.009685f, 0.021804f, -0.016858f, -0.010639f, -0.001256f, 0.030406f, -0.011667f, -0.013217f, -0.015042f, 0.007368f, 0.005249f, 0.016550f, -0.034796f, 0.000133f, 0.000875f, -0.002571f, 0.018090f, -0.004556f, 0.013980f, 0.025484f, + -0.018535f, -0.008579f, 0.007451f, -0.014212f, -0.017488f, 0.011646f, -0.016237f, 0.023948f, -0.003994f, -0.025073f, -0.003159f, -0.014486f, 0.008028f, 0.019492f, -0.000253f, 0.009755f, -0.001093f, 0.003619f, 0.023599f, 0.000509f, 0.017151f, 0.006512f, -0.012626f, 0.013070f, 0.011491f, 0.001353f, 0.009672f, 0.033463f, -0.005464f, -0.015370f, 0.008127f, -0.019396f, 0.001623f, 0.031950f, 0.011047f, 0.004851f, -0.006012f, -0.009444f, -0.006083f, -0.011614f, 0.019516f, -0.012975f, -0.003280f, -0.008177f, 0.022128f, -0.040698f, 0.013957f, 0.014028f, 0.024467f, 0.005543f, 0.001967f, 0.021221f, -0.005958f, -0.009517f, -0.012039f, 0.000068f, -0.009997f, -0.001249f, -0.008587f, 0.006803f, 0.000758f, -0.007988f, -0.008062f, -0.007080f, 0.002709f, 0.008154f, 0.006834f, 0.001211f, 0.000593f, -0.003816f, -0.008744f, -0.003190f, -0.002187f, 0.003407f, 0.003822f, -0.001720f, -0.002089f, 0.001496f, -0.005214f, -0.000255f, -0.005059f, -0.002836f, -0.006690f, -0.009373f, -0.002462f, 0.002885f, 0.010233f, 0.001396f, -0.002745f, -0.002952f, 0.004056f, -0.001219f, 0.009807f, 0.004163f, 0.001762f, 0.001126f, + 0.003774f, 0.065045f, 0.019453f, -0.011899f, -0.015779f, -0.013357f, 0.047174f, -0.040678f, 0.003254f, 0.015867f, 0.002371f, -0.022081f, -0.004970f, 0.011004f, -0.002351f, 0.002510f, 0.019565f, -0.020303f, -0.017001f, 0.008280f, 0.025493f, 0.015645f, 0.006579f, -0.012425f, -0.012082f, -0.011698f, -0.013554f, 0.012549f, 0.004999f, 0.018012f, 0.014495f, 0.008185f, -0.019229f, -0.009219f, -0.020487f, -0.004150f, -0.013454f, -0.030998f, -0.005794f, 0.013715f, 0.003031f, -0.014435f, -0.014496f, 0.000263f, 0.007430f, 0.019242f, 0.002408f, 0.009703f, 0.002748f, 0.037273f, -0.032497f, 0.021110f, 0.003917f, -0.033220f, -0.006046f, -0.010099f, -0.008260f, 0.004962f, -0.014566f, 0.008619f, 0.006282f, 0.014693f, -0.018154f, 0.006269f, 0.028853f, 0.013419f, 0.045890f, -0.010425f, -0.001240f, -0.011445f, -0.005884f, 0.001105f, -0.001022f, -0.043751f, 0.019326f, -0.001986f, -0.002667f, 0.011674f, 0.011588f, -0.012522f, -0.018695f, -0.020485f, -0.007680f, 0.014259f, 0.006016f, -0.004913f, -0.012138f, 0.010415f, -0.019011f, 0.009704f, -0.003240f, -0.008726f, -0.010818f, -0.011766f, -0.004335f, -0.004050f, + 0.001672f, -0.005029f, -0.003436f, 0.002197f, -0.003638f, -0.003443f, 0.001827f, -0.009670f, -0.004496f, -0.000870f, -0.003408f, -0.005632f, -0.002610f, -0.009828f, 0.001161f, 0.006971f, 0.009494f, 0.011151f, -0.008475f, -0.010353f, -0.007395f, -0.009387f, 0.000122f, -0.000260f, -0.005842f, -0.006632f, 0.002219f, -0.001098f, 0.006081f, -0.002217f, -0.000713f, 0.004648f, 0.004654f, -0.004209f, -0.021509f, 0.005031f, 0.012129f, -0.000715f, -0.013103f, -0.009547f, -0.028647f, -0.034633f, 0.007426f, -0.015485f, -0.006964f, 0.004818f, 0.000009f, -0.003835f, -0.015041f, -0.007848f, 0.000157f, 0.011844f, 0.013177f, -0.019112f, -0.010523f, 0.011672f, -0.016607f, -0.008529f, -0.027396f, 0.026620f, -0.003169f, 0.023965f, 0.002442f, 0.008864f, 0.026016f, 0.019213f, -0.011070f, 0.005655f, 0.013399f, -0.013910f, -0.005242f, 0.012535f, -0.004374f, -0.030972f, -0.005373f, -0.021751f, 0.032004f, -0.003520f, -0.008044f, -0.018264f, -0.026039f, 0.009297f, 0.005963f, 0.006067f, 0.013397f, 0.000148f, -0.004440f, 0.013479f, 0.003859f, -0.002752f, 0.005177f, -0.007762f, 0.021301f, -0.005079f, 0.013586f, 0.038913f, + 0.009100f, 0.007207f, 0.009542f, 0.014285f, -0.033586f, -0.027628f, 0.010879f, -0.030139f, 0.021204f, -0.004347f, 0.024239f, 0.006192f, 0.046867f, 0.018144f, 0.003585f, -0.013588f, -0.005561f, -0.023971f, -0.001179f, 0.007374f, 0.005101f, 0.005006f, 0.008651f, 0.021131f, -0.008370f, -0.017250f, -0.005526f, -0.004831f, 0.007127f, 0.019189f, 0.007263f, -0.004676f, 0.006012f, 0.005611f, -0.000521f, -0.004470f, -0.010720f, 0.000737f, 0.001743f, -0.005471f, -0.006922f, -0.001412f, -0.011381f, 0.008338f, 0.005226f, -0.005564f, -0.001306f, -0.011766f, -0.005270f, 0.005490f, 0.010839f, -0.005137f, -0.004268f, -0.000159f, -0.008946f, 0.010119f, 0.000062f, 0.007320f, -0.009259f, 0.000099f, -0.009605f, 0.006053f, 0.010767f, -0.011765f, -0.003018f, -0.055159f, -0.039113f, 0.014714f, -0.015737f, -0.031762f, -0.048945f, -0.000868f, 0.003630f, -0.009114f, -0.008022f, 0.046767f, 0.011946f, -0.033237f, 0.006794f, -0.020142f, -0.017460f, -0.016284f, -0.030203f, -0.004590f, 0.002556f, -0.040924f, -0.039304f, -0.014477f, 0.006274f, 0.004236f, 0.023505f, 0.020446f, 0.012280f, -0.009542f, -0.000558f, 0.009573f, + -0.021342f, -0.011391f, -0.007382f, 0.007437f, -0.020045f, -0.011721f, 0.013457f, 0.008676f, -0.000673f, -0.002607f, -0.003842f, 0.011790f, -0.028769f, -0.015863f, -0.014215f, 0.019479f, -0.022310f, 0.015577f, 0.025360f, 0.035359f, -0.002405f, 0.010532f, -0.008346f, -0.016132f, -0.021908f, -0.005371f, 0.021470f, 0.008623f, -0.039149f, 0.002264f, 0.040416f, -0.026327f, 0.001272f, -0.005183f, 0.002130f, 0.010180f, 0.020616f, -0.003706f, 0.006547f, 0.025348f, 0.017035f, 0.011499f, -0.018942f, -0.022212f, 0.016688f, -0.015897f, -0.031214f, -0.029393f, 0.032733f, 0.013075f, 0.018107f, 0.008391f, -0.005093f, -0.005654f, 0.015666f, 0.011711f, 0.003016f, 0.015695f, -0.005907f, -0.019014f, -0.010074f, -0.013034f, 0.005622f, 0.020619f, 0.009819f, 0.003124f, 0.011919f, 0.007269f, 0.011133f, -0.001364f, -0.005493f, 0.007517f, -0.002297f, -0.006865f, -0.006321f, 0.006022f, -0.018008f, 0.004787f, 0.010866f, -0.005616f, 0.013408f, 0.009863f, -0.000541f, -0.000613f, 0.012677f, 0.002383f, -0.002632f, -0.007073f, -0.007530f, 0.003049f, 0.006831f, 0.002381f, 0.005567f, -0.006998f, -0.005427f, 0.003447f, + -0.004574f, 0.003730f, -0.002682f, -0.031738f, 0.017218f, -0.025557f, -0.047427f, 0.009123f, -0.029087f, -0.015835f, 0.054617f, 0.004447f, 0.040741f, 0.037931f, -0.008098f, 0.039915f, 0.053635f, 0.039291f, -0.049146f, -0.005765f, -0.023166f, -0.022131f, -0.014580f, 0.001700f, -0.020604f, 0.043075f, 0.011994f, 0.023974f, -0.020411f, 0.022986f, 0.016548f, 0.006445f, -0.025823f, -0.018892f, 0.039748f, -0.006603f, -0.038155f, -0.001797f, -0.044068f, -0.005507f, 0.011574f, -0.014830f, 0.000444f, -0.034737f, 0.015805f, 0.032992f, 0.016945f, -0.003949f, -0.017919f, -0.005709f, -0.004866f, -0.005236f, -0.016799f, -0.042825f, 0.029021f, 0.017400f, 0.014953f, 0.019296f, -0.025238f, 0.039329f, 0.004411f, -0.010795f, -0.009001f, -0.029862f, -0.013942f, 0.020736f, 0.011911f, 0.033780f, -0.003942f, -0.036856f, -0.066568f, -0.003044f, -0.000838f, 0.001122f, -0.024217f, -0.032484f, -0.006708f, 0.022943f, -0.011983f, -0.012616f, 0.008438f, -0.002095f, 0.033294f, -0.005745f, -0.030221f, -0.009806f, 0.030998f, 0.002906f, 0.005651f, -0.029554f, -0.011119f, -0.004829f, 0.012313f, 0.017235f, -0.008335f, 0.006609f, + 0.000981f, 0.013157f, 0.007716f, -0.000277f, 0.005188f, 0.017328f, 0.003742f, 0.000692f, -0.005678f, 0.002836f, 0.010579f, 0.000636f, 0.005271f, 0.019723f, 0.002534f, -0.005408f, -0.014064f, -0.000483f, 0.009846f, -0.008552f, 0.004936f, -0.003252f, -0.003149f, -0.005319f, -0.008506f, -0.005203f, -0.000040f, 0.012939f, 0.009054f, -0.011420f, -0.023245f, -0.005672f, 0.008474f, 0.004288f, 0.002973f, 0.002386f, 0.071121f, 0.043930f, -0.005751f, -0.041665f, 0.009212f, 0.019917f, 0.012369f, 0.029371f, 0.045504f, -0.020408f, 0.004260f, -0.040748f, 0.011932f, 0.002736f, -0.015034f, 0.071807f, 0.027983f, 0.061878f, 0.026334f, 0.015529f, -0.053877f, 0.000256f, 0.030899f, 0.004948f, -0.028431f, 0.011662f, -0.043749f, -0.017879f, 0.003579f, 0.012758f, -0.012733f, -0.009202f, 0.010129f, 0.007235f, 0.003725f, 0.038621f, 0.024889f, 0.005857f, -0.015178f, 0.026411f, -0.017043f, -0.013212f, -0.025304f, -0.009200f, 0.034202f, -0.053818f, -0.000301f, 0.023276f, -0.026038f, -0.008958f, 0.010642f, 0.008371f, 0.049651f, -0.003444f, -0.000046f, -0.023551f, 0.048553f, -0.022019f, 0.006572f, 0.004426f, + 0.033773f, -0.008381f, -0.011512f, 0.031047f, -0.052935f, 0.013304f, 0.005619f, -0.022778f, 0.043223f, -0.054032f, -0.006282f, -0.018485f, -0.035365f, -0.018579f, -0.002693f, 0.014567f, 0.034056f, 0.054722f, 0.027498f, 0.035941f, 0.056209f, -0.023320f, 0.010756f, 0.013367f, -0.023328f, 0.031568f, 0.001121f, -0.043321f, 0.022864f, 0.011174f, -0.015147f, 0.000834f, 0.033426f, 0.024255f, 0.007822f, 0.018999f, 0.006319f, 0.005757f, 0.018560f, -0.003896f, 0.008158f, 0.015500f, -0.003476f, 0.002896f, -0.002500f, -0.001567f, 0.011858f, 0.001604f, 0.001668f, -0.010631f, -0.005484f, -0.007567f, -0.013657f, 0.002415f, -0.007345f, -0.023214f, 0.009099f, 0.012880f, -0.004230f, -0.000898f, 0.006488f, -0.008462f, 0.000157f, 0.023165f, -0.003184f, -0.007335f, -0.014649f, -0.068805f, 0.019361f, 0.003165f, 0.082990f, 0.018414f, 0.015919f, -0.002726f, 0.040662f, 0.010404f, -0.060170f, -0.009775f, 0.065134f, -0.019683f, -0.013289f, 0.004961f, -0.004139f, 0.000956f, -0.011464f, 0.066928f, 0.077060f, -0.041803f, 0.018938f, 0.020112f, 0.011519f, 0.021239f, -0.033487f, -0.047230f, 0.036192f, 0.009284f, + -0.025537f, -0.045202f, -0.013132f, -0.015756f, 0.041051f, 0.032726f, 0.018957f, -0.038398f, 0.020999f, -0.017007f, 0.013462f, 0.001613f, 0.017738f, 0.037800f, 0.009054f, -0.086684f, -0.026165f, 0.015106f, -0.034274f, 0.009772f, 0.036664f, 0.011546f, 0.063709f, -0.021758f, -0.095305f, -0.002950f, -0.037913f, 0.032457f, 0.028959f, -0.011183f, -0.020181f, 0.028713f, -0.045729f, -0.008982f, -0.024665f, 0.020837f, 0.029944f, 0.024664f, 0.027816f, -0.021519f, -0.038772f, -0.116489f, -0.055218f, -0.068165f, 0.010687f, -0.046497f, -0.022057f, -0.010193f, -0.050125f, 0.025969f, -0.090281f, 0.027183f, -0.064925f, -0.048017f, 0.046324f, 0.053737f, -0.016816f, -0.003216f, 0.029630f, 0.037563f, -0.053025f, 0.000118f, 0.008651f, -0.008678f, 0.009313f, 0.027423f, -0.003688f, 0.011509f, -0.002469f, 0.010022f, -0.023505f, -0.013420f, -0.010768f, -0.016582f, -0.003445f, 0.021184f, 0.009189f, 0.018932f, 0.000645f, -0.022512f, -0.019461f, 0.002124f, 0.011605f, -0.005673f, 0.012322f, 0.011714f, 0.031247f, 0.001765f, 0.010640f, 0.002074f, 0.007312f, -0.015198f, -0.004419f, 0.004354f, -0.011428f, -0.000849f, + -0.005353f, -0.000126f, 0.005613f, 0.031318f, -0.003244f, -0.020970f, -0.021808f, 0.000595f, -0.002141f, -0.033350f, -0.021012f, 0.015151f, -0.023438f, -0.000141f, -0.001164f, -0.088443f, -0.014010f, 0.060556f, -0.071526f, 0.008157f, 0.025612f, 0.001993f, 0.017733f, -0.004022f, -0.056784f, -0.003396f, 0.029769f, 0.011571f, 0.044736f, 0.032144f, -0.048767f, -0.050648f, -0.007618f, -0.021136f, -0.008079f, -0.084319f, 0.031371f, 0.035363f, 0.059290f, 0.028665f, 0.053925f, -0.022191f, 0.006863f, 0.057493f, -0.018327f, 0.062461f, 0.016393f, 0.033723f, 0.010331f, -0.014089f, 0.029609f, -0.035587f, 0.001259f, 0.078622f, -0.060424f, 0.007003f, -0.078415f, -0.033597f, -0.056521f, -0.036603f, -0.010296f, 0.005606f, -0.018884f, -0.057857f, -0.011188f, -0.097090f, 0.110936f, 0.040614f, 0.000227f, -0.013538f, -0.027341f, 0.007737f, -0.049420f, 0.010628f, -0.073840f, 0.003258f, 0.003378f, 0.018009f, 0.046728f, 0.069417f, 0.002012f, -0.112137f, -0.052575f, 0.050380f, -0.025097f, -0.021075f, -0.027818f, -0.013466f, 0.055889f, 0.013353f, -0.031756f, 0.025265f, -0.052905f, 0.010894f, -0.010175f, -0.021667f, + -0.053366f, -0.028378f, 0.033510f, -0.014247f, -0.013011f, 0.019899f, -0.019887f, -0.004355f, 0.033421f, -0.037349f, -0.026631f, -0.009584f, -0.008204f, 0.043954f, 0.019611f, 0.013331f, 0.024910f, 0.011714f, -0.004080f, 0.021383f, -0.000368f, 0.016250f, 0.020420f, 0.033716f, -0.012218f, 0.001817f, -0.003391f, 0.025466f, 0.035695f, 0.015314f, -0.008325f, -0.000377f, -0.010544f, -0.023560f, 0.045682f, -0.011053f, 0.023711f, -0.011100f, 0.007559f, -0.011894f, -0.009909f, 0.014018f, 0.024811f, 0.001230f, -0.008122f, -0.004393f, 0.021763f, -0.045601f, 0.032655f, 0.049625f, 0.019961f, -0.024496f, -0.029732f, 0.013567f, -0.038745f, 0.061967f, 0.053858f, 0.078869f, -0.055975f, -0.071676f, -0.016515f, -0.002897f, -0.034461f, 0.045847f, 0.058326f, -0.043569f, 0.000989f, -0.076686f, -0.021131f, -0.037000f, -0.066953f, 0.020237f, 0.057294f, 0.032744f, -0.043145f, -0.018447f, 0.006282f, 0.036572f, 0.006754f, -0.004018f, 0.015302f, -0.005549f, -0.018075f, -0.062277f, -0.040304f, 0.014459f, -0.004639f, -0.034460f, 0.037087f, 0.030782f, 0.021478f, -0.063716f, -0.055901f, 0.052601f, 0.033567f, 0.038780f, + -0.039619f, -0.105314f, -0.018625f, 0.042555f, 0.044525f, -0.011914f, 0.106272f, -0.014334f, 0.106817f, -0.160333f, -0.196243f, -0.082291f, -0.117843f, 0.000145f, 0.047283f, 0.023134f, 0.129469f, -0.015856f, -0.007459f, 0.022683f, -0.024746f, -0.102652f, -0.089399f, -0.101787f, 0.081263f, 0.064546f, -0.023987f, -0.008071f, -0.167251f, 0.045571f, -0.001336f, -0.076322f, 0.031992f, 0.046811f, 0.075119f, 0.056991f, 0.027747f, -0.006472f, -0.049165f, 0.000186f, 0.003237f, -0.015301f, -0.020747f, 0.058001f, 0.037301f, 0.021763f, 0.061191f, -0.047926f, 0.011831f, -0.014402f, -0.028192f, 0.036505f, -0.005282f, -0.067513f, 0.000200f, 0.019457f, -0.023082f, 0.029964f, -0.011975f, 0.006963f, -0.014019f, 0.071956f, 0.057911f, 0.066542f, -0.056759f, -0.014500f, 0.070992f, 0.050586f, -0.049419f, -0.032404f, -0.049800f, -0.031204f, 0.041610f, 0.045130f, -0.015915f, -0.006331f, 0.078994f, 0.001703f, 0.007749f, -0.011944f, 0.014469f, 0.011898f, -0.002204f, -0.040429f, -0.009880f, -0.009710f, 0.012687f, 0.022788f, -0.076371f, 0.066680f, 0.050691f, 0.020907f, 0.062773f, -0.036818f, 0.023138f, -0.103867f, + -0.050228f, 0.027417f, 0.038407f, 0.017709f, 0.013442f, 0.013017f, 0.026937f, -0.012542f, 0.118325f, 0.010758f, 0.073714f, 0.021254f, -0.035460f, 0.090227f, -0.012182f, 0.035495f, 0.001963f, 0.032407f, -0.003309f, -0.001834f, 0.019901f, 0.045337f, 0.013294f, 0.033153f, 0.002443f, -0.006697f, 0.071280f, 0.008218f, -0.014863f, 0.001349f, -0.005455f, -0.035690f, -0.010100f, 0.020173f, 0.013391f, -0.080145f, -0.019453f, 0.010284f, 0.018741f, 0.084092f, 0.068583f, -0.082863f, -0.045572f, 0.007016f, -0.018193f, 0.092603f, 0.009210f, 0.085430f, -0.059834f, 0.043099f, 0.008854f, 0.004918f, 0.039803f, 0.087812f, 0.057067f, 0.011896f, 0.077680f, 0.030652f, -0.036254f, -0.077895f, 0.068702f, -0.062071f, 0.041630f, -0.081808f, 0.000565f, -0.129864f, 0.135227f, -0.033155f, 0.004851f, -0.090851f, 0.082165f, -0.031555f, 0.026139f, -0.066582f, 0.079379f, -0.041011f, -0.037047f, -0.026806f, -0.049598f, 0.015769f, -0.027707f, 0.023913f, -0.025671f, 0.043685f, -0.048422f, 0.043775f, -0.050986f, 0.028528f, -0.059730f, 0.048244f, -0.020504f, 0.053518f, -0.018365f, 0.028227f, -0.022415f, 0.018354f, + -0.025595f, 0.001326f, -0.027986f, 0.032664f, 0.013403f, 0.009544f, -0.011030f, 0.003532f, -0.022291f, 0.017775f, -0.022901f, 0.041129f, -0.033461f, -0.039702f, -0.017861f, 0.016686f, -0.047430f, 0.037272f, -0.011533f, 0.020690f, -0.013307f, 0.011991f, -0.021676f, 0.010754f, -0.011059f, 0.012790f, 0.015845f, -0.002885f, -0.131190f, -0.031648f, -0.010966f, 0.014670f, 0.010850f, -0.080165f, -0.047959f, 0.074263f, -0.029244f, 0.028017f, -0.033237f, 0.008161f, 0.091299f, 0.149437f, 0.009524f, -0.004256f, 0.073801f, 0.033526f, 0.030144f, 0.092956f, 0.001350f, 0.056705f, 0.066797f, 0.065875f, -0.026085f, 0.029104f, 0.057680f, 0.082327f, 0.065828f, 0.101012f, 0.055793f, 0.128697f, 0.134765f, 0.098973f, 0.107349f, 0.074715f, -0.008630f, 0.037197f, 0.018582f, -0.026767f, -0.028165f, 0.022417f, 0.062504f, 0.015568f, 0.002403f, 0.000860f, 0.030665f, 0.095038f, 0.072479f, 0.158790f, 0.031332f, -0.080552f, 0.032235f, 0.002850f, 0.032990f, -0.040748f, 0.062240f, -0.112965f, -0.147717f, 0.042498f, 0.147805f, 0.065770f, 0.029270f, -0.182326f, 0.000752f, 0.071152f, 0.110663f, 0.150395f, + -0.063613f, 0.010605f, -0.257173f, -0.168003f, 0.068416f, 0.097667f, -0.143307f, -0.120645f, -0.076319f, 0.141941f, 0.093527f, -0.166535f, -0.217143f, -0.042394f, 0.088250f, -0.102316f, 0.049318f, -0.014379f, -0.037636f, -0.054540f, 0.007691f, 0.023863f, 0.036489f, -0.004934f, -0.089840f, -0.076058f, 0.009578f, -0.022554f, 0.037705f, 0.006799f, -0.009295f, -0.032456f, -0.022558f, 0.015913f, -0.001930f, -0.072891f, -0.037487f, -0.054711f, -0.029104f, 0.012032f, -0.028661f, -0.019300f, -0.066668f, -0.086973f, -0.122209f, -0.120286f, -0.102973f, -0.085677f, -0.096502f, -0.094095f, -0.073197f, -0.099301f, -0.107196f, -0.089300f, -0.102914f, -0.064501f, -0.017434f, -0.056898f, -0.085747f, -0.054666f, 0.003399f, -0.028847f, -0.016416f, -0.017901f, 0.045641f, 0.050568f, 0.002490f, 0.024267f, 0.025549f, 0.017008f, 0.015033f, 0.003072f, 0.011986f, 0.011193f, 0.011088f, 0.008306f, 0.012930f, 0.004720f, 0.010544f, 0.004792f, 0.004038f, -0.000578f, 0.002719f, -0.024109f, -0.004479f, -0.047824f, 0.122498f, 0.139468f, -0.157131f, -0.064066f, 0.059445f, -0.042831f, 0.029382f, -0.056399f, 0.051469f, -0.047634f, + 0.011501f, 0.000729f, -0.023678f, 0.012718f, 0.002418f, -0.014084f, -0.011315f, -0.037933f, -0.010585f, 0.009232f, 0.004465f, -0.038673f, 0.037213f, -0.035418f, -0.012762f, -0.030622f, 0.003307f, -0.029283f, 0.060913f, -0.000712f, 0.015880f, -0.015888f, 0.015813f, -0.016932f, 0.017092f, 0.037974f, 0.050523f, -0.013247f, 0.016702f, 0.019328f, 0.044268f, -0.027358f, 0.028313f, -0.024346f, 0.053226f, -0.013671f, -0.031051f, 0.017943f, -0.013979f, -0.015744f, 0.005505f, -0.004223f, 0.022411f, -0.011777f, -0.031351f, -0.029238f, 0.003906f, 0.006300f, -0.054125f, 0.016777f, -0.009102f, -0.004772f, 0.008331f, -0.014483f, -0.010012f, 0.006010f, -0.009487f, 0.007948f, -0.029711f, 0.034238f, -0.096385f, 0.050940f, -0.041733f, 0.064506f, -0.043925f, 0.057831f, -0.001867f, 0.031709f, 0.016843f, 0.025914f, 0.010388f, 0.004902f, 0.009741f, -0.001356f, -0.041454f, -0.007709f, 0.000568f, -0.015550f, -0.008926f, -0.007789f, -0.005667f, 0.003001f, -0.016677f, -0.000486f, 0.004332f, -0.000668f, -0.026466f, 0.027681f, -0.005941f, 0.015195f, -0.028153f, 0.013774f, -0.018004f, 0.011921f, -0.020806f, 0.023142f, + -0.029777f, 0.041057f, -0.009247f, 0.006601f, -0.043029f, 0.029777f, -0.003758f, 0.021999f, -0.041060f, 0.011148f, -0.018273f, 0.007367f, -0.009976f, 0.005069f, -0.027831f, 0.014201f, -0.007327f, -0.014545f, -0.000550f, 0.033558f, -0.038476f, 0.003883f, -0.016519f, 0.020452f, -0.027840f, 0.025773f, -0.022925f, 0.008192f, -0.017278f, 0.020267f, -0.009649f, 0.011857f, -0.010592f, 0.013099f, -0.017430f, 0.010155f, -0.009736f, -0.001120f, -0.004839f, 0.008706f, -0.005928f, 0.004657f, 0.000282f, 0.006576f, -0.008180f, 0.003194f, 0.001068f, -0.003730f, 0.005238f, -0.004924f, 0.002817f, -0.007017f, 0.005937f, -0.007590f, 0.004283f, -0.005659f, 0.005091f, -0.004131f, 0.004397f, -0.005582f, 0.007118f, -0.007018f, 0.006192f, -0.006572f, 0.007466f, -0.005704f, 0.007518f, -0.007503f, 0.008830f, -0.009279f, 0.008039f, -0.009588f, 0.007827f, -0.007631f, 0.009254f, -0.010723f, 0.009790f, -0.009276f, 0.008661f, -0.011899f, 0.009564f, -0.011536f, 0.010119f, -0.008610f, 0.009300f, -0.008730f, 0.007922f, -0.009230f, 0.008298f, -0.010222f, 0.006001f, -0.025080f, 0.118192f, 0.071979f, -0.039204f, -0.044697f, + -0.004105f, 0.147285f, 0.061285f, 0.020831f, 0.040552f, -0.035453f, -0.045181f, 0.012763f, 0.028400f, 0.007669f, 0.002441f, -0.015438f, -0.012349f, 0.014069f, 0.013971f, 0.034474f, 0.015104f, -0.018224f, -0.008270f, -0.008887f, -0.018734f, 0.000039f, 0.003162f, 0.009370f, 0.011495f, 0.000608f, -0.005050f, 0.013924f, -0.039585f, -0.014742f, 0.017462f, 0.025448f, 0.031128f, -0.017306f, -0.010316f, -0.018412f, 0.031851f, 0.022370f, -0.006127f, 0.010428f, -0.036984f, -0.031657f, 0.029401f, 0.023208f, 0.007166f, -0.055644f, -0.028817f, 0.002594f, 0.009266f, 0.037115f, 0.026273f, -0.003831f, 0.010783f, 0.013386f, -0.017521f, 0.016297f, 0.017313f, -0.004816f, -0.010694f, 0.010624f, -0.018739f, 0.002074f, -0.003214f, -0.012812f, -0.020061f, 0.028157f, 0.005689f, 0.006496f, 0.038339f, 0.046968f, 0.016522f, 0.038078f, 0.035346f, -0.005236f, -0.009520f, -0.010277f, -0.006784f, 0.015081f, 0.024138f, -0.009006f, 0.007463f, -0.021285f, -0.007818f, -0.000708f, 0.005205f, -0.011442f, -0.014029f, 0.014947f, 0.027971f, 0.012437f, 0.007822f, 0.012061f, -0.013318f, 0.001474f, 0.013374f, 0.002987f, + -0.004059f, 0.003739f, -0.001247f, -0.015854f, 0.033207f, 0.011182f, -0.026329f, -0.024591f, 0.010210f, -0.004543f, 0.026244f, 0.014227f, -0.003167f, 0.010171f, 0.003531f, -0.004963f, -0.001013f, -0.007099f, 0.007848f, 0.012412f, 0.002073f, -0.002682f, -0.010130f, 0.009327f, -0.001812f, -0.008229f, -0.000081f, -0.042329f, -0.117243f, 0.040698f, 0.215229f, 0.169472f, 0.162035f, 0.051980f, -0.150869f, -0.090296f, -0.133757f, -0.133927f, -0.122293f, -0.042513f, 0.065778f, 0.085064f, 0.133490f, 0.119798f, 0.071974f, 0.012239f, 0.011672f, -0.057772f, -0.091638f, -0.130898f, -0.050473f, -0.035440f, 0.011704f, -0.007256f, 0.066438f, 0.045050f, 0.019041f, 0.089044f, 0.049865f, 0.038187f, -0.007820f, 0.033522f, -0.060431f, -0.045390f, -0.037698f, -0.043839f, -0.057968f, -0.034773f, -0.023160f, -0.058787f, -0.040805f, 0.015765f, 0.086635f, 0.083801f, 0.095002f, 0.074773f, 0.108629f, 0.018920f, 0.027789f, -0.072134f, -0.053535f, -0.045759f, -0.108438f, -0.107838f, -0.096899f, -0.045682f, -0.056801f, 0.013410f, 0.041989f, 0.060608f, 0.121579f, 0.119566f, 0.114317f, 0.102685f, 0.089748f, 0.019263f, + -0.052818f, -0.085898f, -0.153609f, -0.131861f, -0.096258f, -0.131066f, -0.060894f, -0.027314f, 0.005747f, 0.128733f, 0.100820f, 0.148071f, 0.146182f, 0.106878f, 0.029869f, -0.029486f, -0.043756f, -0.050657f, -0.045247f, -0.087101f, -0.107819f, -0.075279f, -0.051483f, -0.045464f, 0.005691f, 0.030293f, 0.048149f, 0.041513f, 0.086671f, 0.094789f, 0.071609f, 0.056976f, 0.009497f, -0.020064f, -0.040914f, -0.066913f, -0.057499f, -0.040810f, -0.064214f, -0.087014f, -0.009209f, 0.004979f, -0.014326f, 0.074865f, 0.098884f, 0.063220f, 0.055584f, 0.004064f, 0.015710f, -0.010394f, -0.017418f, -0.043356f, -0.050828f, -0.033487f, -0.037992f, 0.005276f, -0.015163f, 0.004757f, 0.000752f, 0.033964f, 0.018366f, 0.017442f, 0.031917f, 0.032384f, 0.000066f, -0.008760f, -0.023149f, -0.023330f, -0.006579f, -0.005450f, -0.011168f, -0.011301f, 0.002221f, 0.002543f, -0.002726f, 0.005332f, 0.006174f, 0.005459f, 0.001728f, 0.020788f, 0.007756f, -0.000795f, 0.003304f, -0.001157f, -0.007619f, -0.008024f, -0.009150f, -0.010962f, -0.009642f, -0.003098f, -0.001659f, 0.000593f, 0.009120f, 0.011786f, 0.009153f, 0.008666f, + 0.004575f, 0.000796f, 0.000129f, -0.001505f, -0.008751f, -0.005238f, -0.000063f, -0.005654f, -0.008047f, -0.004232f, -0.000937f, 0.003642f, 0.002586f, 0.000078f, 0.002202f, 0.005842f, 0.004179f, 0.002587f, 0.005848f, 0.002813f, -0.000372f, -0.002669f, -0.004484f, -0.003717f, -0.003771f, -0.003153f, -0.002229f, -0.001708f, -0.000148f, 0.000423f, -0.000021f, 0.001010f, 0.002163f, 0.002000f, 0.003230f, 0.004389f, 0.002239f, 0.000585f, 0.001188f, -0.000814f, -0.001935f, -0.003047f, -0.003388f, -0.003122f, -0.002446f, -0.001224f, 0.000087f, 0.000121f, 0.001737f, 0.002216f, 0.001338f, 0.001576f, 0.002942f, 0.001900f, 0.000389f, -0.000839f, -0.000650f, -0.000702f, -0.001590f, -0.002273f, -0.001188f, -0.000621f, -0.000009f, 0.000233f, 0.000586f, 0.000390f, 0.000636f, 0.000275f, 0.000296f, -0.000015f, 0.000218f, -0.000063f, 0.000108f, -0.000133f, 0.000123f}, + {-0.006005f, -0.008016f, -0.011238f, 0.003637f, -0.005367f, -0.011574f, -0.007015f, 0.004914f, -0.014075f, -0.008174f, -0.017267f, 0.005844f, 0.008065f, 0.009719f, 0.005674f, -0.006368f, 0.013507f, -0.009321f, 0.002921f, 0.000037f, -0.001667f, -0.009836f, -0.004674f, -0.010794f, 0.000654f, -0.004726f, 0.006151f, 0.003673f, -0.004794f, -0.001849f, -0.000910f, -0.009926f, -0.000163f, -0.002392f, 0.004546f, -0.000411f, 0.009003f, -0.003357f, 0.011328f, -0.005039f, 0.000383f, 0.001547f, -0.007856f, 0.005390f, -0.002244f, -0.003346f, 0.001156f, -0.002428f, 0.004482f, -0.017206f, 0.008100f, 0.009984f, 0.001666f, 0.005573f, 0.003347f, -0.007747f, -0.000818f, -0.008387f, 0.011299f, -0.003171f, -0.006773f, 0.006477f, -0.010055f, 0.000220f, 0.004089f, -0.011813f, 0.001510f, -0.002935f, -0.004297f, 0.003777f, 0.000978f, 0.000854f, -0.005379f, -0.003705f, -0.018536f, -0.002468f, 0.004117f, -0.003160f, 0.000984f, 0.002166f, 0.010002f, 0.008342f, 0.000570f, 0.002688f, 0.001266f, -0.001692f, -0.001316f, -0.002577f, -0.001261f, -0.000868f, -0.001837f, -0.001779f, -0.000012f, 0.001754f, 0.001267f, 0.001168f, + -0.002820f, -0.000054f, -0.000035f, -0.000853f, -0.000140f, 0.000652f, -0.000353f, 0.000066f, -0.001330f, -0.001136f, -0.001181f, -0.000087f, -0.001104f, 0.001705f, 0.002247f, 0.002303f, -0.026554f, -0.015972f, 0.002954f, -0.008633f, 0.001645f, -0.008907f, -0.015255f, -0.010169f, 0.017318f, 0.010068f, -0.002684f, 0.011718f, 0.002760f, 0.002871f, 0.003289f, -0.005697f, -0.001550f, 0.009521f, -0.007680f, 0.004316f, 0.006952f, -0.007455f, -0.011772f, 0.005378f, -0.009624f, 0.001056f, 0.005509f, 0.014114f, -0.003190f, -0.006829f, -0.005967f, 0.002185f, 0.007680f, -0.010457f, -0.000092f, 0.008572f, 0.003377f, 0.000887f, -0.000574f, -0.000822f, 0.011150f, -0.000444f, 0.010214f, 0.006699f, -0.002603f, 0.006674f, -0.002364f, -0.000629f, -0.001053f, -0.018680f, 0.006449f, 0.010526f, -0.006114f, -0.003501f, 0.002560f, 0.002848f, 0.002984f, 0.001624f, -0.001027f, -0.002277f, 0.000618f, -0.004719f, 0.012762f, -0.005755f, 0.001472f, 0.006912f, 0.005531f, -0.004596f, 0.005030f, 0.001567f, 0.003271f, 0.006980f, 0.006170f, -0.009298f, 0.009581f, 0.010604f, -0.003624f, 0.000149f, -0.000688f, 0.006913f, + -0.008518f, -0.004457f, 0.001852f, 0.001182f, 0.000311f, 0.000425f, -0.001824f, -0.002893f, 0.001697f, -0.001387f, -0.000743f, 0.000459f, 0.002423f, -0.001844f, -0.000439f, 0.000017f, -0.003348f, 0.001100f, -0.001990f, -0.002088f, -0.001616f, 0.001208f, 0.000168f, -0.001000f, -0.002005f, 0.000433f, -0.010525f, 0.013459f, 0.008808f, 0.020823f, -0.003454f, 0.002244f, 0.006378f, -0.010105f, -0.002096f, 0.004046f, -0.004176f, -0.013727f, -0.000813f, 0.001498f, 0.009227f, -0.011083f, -0.027115f, -0.021878f, -0.013483f, 0.005237f, 0.012899f, -0.012958f, 0.007306f, -0.006343f, 0.009968f, 0.007765f, 0.006758f, 0.011967f, 0.006659f, -0.009342f, -0.008640f, 0.001645f, 0.006393f, -0.000471f, 0.000551f, 0.016732f, -0.000125f, 0.002931f, 0.008326f, 0.008803f, 0.001463f, 0.000271f, 0.020667f, -0.001426f, -0.007754f, -0.002314f, 0.004700f, 0.006047f, -0.004001f, 0.011128f, 0.002185f, 0.005984f, -0.007943f, -0.007022f, -0.002708f, -0.004635f, 0.002697f, -0.003672f, 0.012103f, -0.013940f, -0.012458f, 0.015118f, -0.001578f, -0.000610f, -0.017544f, 0.005476f, -0.008506f, 0.009492f, -0.007297f, -0.019416f, + -0.000888f, 0.010022f, -0.008318f, 0.012948f, -0.007771f, 0.005974f, 0.012081f, -0.003396f, 0.005057f, 0.012176f, -0.000790f, -0.008955f, 0.000757f, 0.005958f, 0.002758f, -0.004325f, 0.008379f, 0.000575f, 0.004421f, 0.001681f, 0.001208f, 0.003188f, 0.000580f, -0.001246f, -0.000083f, 0.000458f, 0.001286f, -0.003362f, -0.001713f, -0.001745f, 0.003222f, 0.000406f, 0.003284f, 0.003429f, -0.003166f, 0.000798f, 0.000838f, -0.001812f, -0.001353f, -0.000635f, 0.000624f, -0.001642f, 0.000684f, -0.001717f, 0.032401f, 0.007630f, 0.008645f, 0.003707f, -0.007395f, 0.015547f, -0.007348f, -0.004405f, 0.019791f, -0.001491f, 0.015919f, -0.001681f, -0.018177f, 0.006432f, -0.006157f, 0.020066f, 0.010580f, -0.001402f, -0.017952f, -0.012568f, 0.016615f, 0.019684f, -0.022964f, 0.011513f, 0.009229f, 0.006921f, -0.001487f, 0.002229f, 0.001933f, -0.001747f, 0.022772f, -0.001037f, -0.003885f, -0.006278f, -0.007620f, -0.009744f, -0.003199f, -0.000522f, -0.013101f, -0.004674f, 0.003435f, -0.009141f, 0.000520f, 0.000522f, 0.013630f, -0.005112f, 0.000438f, 0.006331f, 0.000549f, 0.013015f, 0.005888f, 0.013532f, + 0.006704f, 0.004118f, -0.014305f, 0.001501f, -0.010597f, -0.009922f, 0.002383f, 0.013800f, -0.000529f, 0.011851f, -0.004960f, -0.008969f, -0.002072f, 0.000564f, 0.003499f, 0.008135f, -0.003754f, -0.000080f, -0.004444f, 0.004542f, 0.003122f, -0.011681f, 0.002281f, 0.002416f, 0.001559f, -0.003294f, 0.012224f, -0.001305f, -0.002379f, 0.001300f, 0.005740f, 0.002508f, -0.004005f, -0.001307f, -0.001619f, -0.002947f, 0.002406f, -0.003521f, 0.005769f, -0.003487f, -0.000680f, 0.000690f, -0.002719f, -0.000793f, 0.003208f, -0.003784f, -0.000857f, -0.004073f, 0.001583f, 0.001686f, 0.003273f, -0.004448f, 0.000885f, -0.001828f, 0.002248f, -0.001527f, -0.005307f, -0.001720f, 0.009139f, 0.006404f, 0.007349f, 0.020836f, 0.010902f, -0.009043f, -0.008085f, -0.022427f, -0.001457f, -0.000499f, -0.011968f, 0.004549f, 0.017997f, 0.002181f, -0.014180f, 0.013167f, 0.012512f, -0.001305f, 0.005002f, 0.012681f, 0.003005f, -0.011523f, -0.001779f, 0.026868f, 0.013217f, 0.002778f, -0.017726f, -0.006346f, 0.016169f, 0.005562f, -0.002416f, 0.009104f, 0.008140f, 0.008524f, -0.000069f, 0.016676f, -0.000152f, -0.002141f, + 0.004202f, -0.008287f, -0.010857f, -0.000551f, 0.001836f, 0.006198f, 0.003404f, -0.010147f, 0.010301f, 0.018080f, 0.009280f, -0.000500f, 0.013427f, -0.015294f, 0.008719f, -0.009114f, 0.009580f, -0.002558f, -0.011006f, -0.000564f, -0.014337f, -0.023470f, -0.008569f, -0.009330f, -0.001148f, -0.000105f, -0.012290f, 0.002377f, -0.003780f, 0.007121f, 0.004698f, 0.008435f, -0.001352f, 0.003391f, -0.011835f, 0.002044f, 0.001868f, 0.016479f, -0.006375f, -0.000526f, -0.005730f, 0.003475f, 0.014820f, 0.007613f, -0.008617f, -0.013779f, 0.004347f, -0.005516f, -0.001896f, 0.007160f, -0.001021f, 0.002401f, 0.001678f, -0.008209f, 0.000384f, -0.006266f, 0.001772f, -0.005953f, -0.004011f, -0.002175f, -0.000257f, -0.000809f, 0.001074f, -0.003817f, -0.000404f, -0.001292f, -0.003045f, -0.002574f, 0.000906f, -0.000678f, -0.001583f, 0.000396f, 0.001402f, 0.004550f, -0.001625f, 0.002657f, -0.001983f, -0.004605f, 0.003395f, -0.005038f, 0.004821f, -0.000468f, -0.003254f, -0.000563f, 0.001600f, 0.003527f, -0.002624f, -0.000359f, 0.000751f, -0.000904f, -0.021971f, -0.014517f, 0.031068f, -0.006791f, -0.006824f, 0.001834f, + -0.001095f, 0.033325f, -0.009744f, -0.017964f, 0.000434f, -0.017721f, 0.004416f, 0.014154f, 0.015199f, 0.004819f, -0.030926f, 0.025431f, -0.020013f, 0.010644f, -0.013683f, -0.010383f, -0.007662f, 0.012705f, 0.013642f, -0.020446f, 0.001615f, 0.008951f, -0.006355f, 0.004113f, 0.006001f, -0.007381f, 0.000941f, -0.016836f, -0.011330f, -0.025994f, 0.015397f, -0.003622f, 0.026215f, -0.012199f, 0.005686f, 0.017526f, -0.004380f, -0.005184f, -0.007757f, 0.020084f, 0.014647f, -0.024623f, 0.007024f, -0.013919f, -0.004685f, -0.005396f, -0.013844f, 0.008330f, 0.004403f, 0.021717f, 0.015267f, -0.027240f, -0.004474f, -0.011691f, 0.015920f, 0.005559f, 0.001365f, -0.015887f, 0.002377f, -0.001657f, 0.013378f, -0.002220f, 0.001670f, -0.018276f, -0.000423f, 0.013003f, -0.011983f, 0.002025f, -0.003785f, -0.003556f, -0.009686f, 0.001962f, -0.001280f, 0.023039f, 0.010148f, 0.010544f, -0.004221f, -0.002560f, -0.004006f, -0.006261f, -0.003370f, 0.005148f, -0.007052f, -0.002232f, -0.006917f, 0.005236f, 0.004384f, -0.003751f, -0.002120f, 0.004868f, -0.006512f, 0.003235f, 0.000986f, -0.001742f, -0.002072f, 0.001752f, + -0.000185f, -0.000585f, -0.001252f, 0.004255f, -0.006281f, 0.000840f, 0.000563f, 0.003186f, 0.003438f, 0.003447f, -0.003188f, 0.000946f, -0.002250f, 0.004602f, 0.001263f, 0.001093f, 0.003365f, 0.007581f, -0.008352f, 0.000572f, -0.017608f, -0.002201f, -0.020319f, 0.003181f, -0.005090f, 0.011665f, -0.000821f, 0.009898f, -0.013917f, -0.026201f, 0.005562f, 0.017635f, 0.002305f, -0.002122f, 0.013754f, 0.009260f, -0.021426f, -0.000338f, -0.008075f, 0.027135f, -0.001201f, 0.003166f, 0.002138f, 0.000286f, -0.000842f, -0.009725f, 0.021508f, -0.001818f, -0.030467f, -0.005713f, 0.018480f, -0.011890f, 0.003093f, -0.000475f, 0.002482f, -0.003805f, 0.002956f, -0.005595f, 0.007300f, -0.011678f, 0.011026f, 0.015457f, -0.012091f, -0.003075f, -0.007150f, -0.021210f, 0.008516f, -0.015054f, 0.013134f, -0.013230f, -0.022881f, -0.006244f, 0.013633f, -0.004238f, -0.008159f, 0.009114f, 0.012610f, 0.007215f, 0.013819f, 0.023615f, 0.019033f, -0.001210f, 0.003727f, 0.003235f, -0.012635f, 0.002431f, -0.013212f, -0.014410f, 0.007903f, -0.010988f, 0.003612f, -0.000634f, 0.008331f, 0.008452f, -0.010917f, 0.012741f, + -0.003448f, -0.005198f, -0.002312f, 0.008966f, -0.001609f, -0.008241f, -0.005597f, -0.011679f, 0.013413f, -0.006691f, -0.001718f, 0.002327f, -0.000515f, -0.004934f, -0.004180f, 0.000922f, 0.001813f, 0.000609f, -0.002297f, 0.003112f, 0.002315f, -0.002606f, 0.000285f, 0.002013f, 0.001262f, -0.001577f, 0.000008f, -0.002126f, 0.000887f, -0.003576f, -0.003269f, 0.002066f, 0.001081f, 0.004479f, 0.004924f, 0.000446f, 0.003404f, 0.000073f, -0.000190f, -0.029937f, -0.025104f, 0.014655f, 0.026827f, 0.000046f, -0.001588f, 0.005167f, -0.012900f, -0.006203f, -0.031006f, -0.016460f, -0.008785f, -0.000246f, -0.022553f, 0.032299f, 0.006411f, 0.017992f, -0.020561f, -0.024494f, -0.018454f, -0.007152f, 0.004910f, -0.027814f, -0.012469f, 0.012924f, -0.005524f, -0.033842f, -0.011488f, 0.004586f, 0.000357f, 0.021027f, 0.007064f, -0.006584f, -0.016062f, 0.020000f, -0.011601f, -0.001153f, 0.015060f, 0.004470f, -0.016404f, -0.008409f, -0.001277f, -0.027403f, 0.006901f, 0.021330f, -0.009284f, -0.011755f, 0.003106f, -0.013863f, -0.005128f, 0.002771f, -0.008848f, -0.006746f, 0.007222f, -0.010330f, -0.021874f, 0.010829f, + -0.012476f, -0.016293f, -0.022415f, -0.011185f, 0.002228f, -0.008929f, 0.003719f, 0.027588f, 0.015565f, -0.003330f, 0.026273f, 0.026716f, -0.011561f, 0.003743f, 0.007409f, -0.013796f, -0.008978f, -0.029252f, 0.003016f, -0.009345f, -0.023681f, -0.000201f, 0.012468f, 0.022076f, 0.013562f, 0.006511f, 0.002460f, -0.019861f, -0.002495f, -0.004496f, 0.005217f, -0.007482f, -0.000871f, 0.000516f, -0.000285f, 0.004845f, 0.000930f, -0.001750f, 0.004276f, -0.001715f, -0.006273f, 0.005107f, -0.004205f, -0.005573f, 0.000857f, 0.002128f, 0.001889f, 0.000507f, 0.006113f, -0.000561f, 0.003913f, 0.002354f, 0.000468f, 0.001298f, -0.000035f, -0.004689f, 0.001072f, -0.006470f, 0.001518f, -0.010373f, -0.002598f, -0.000395f, -0.006881f, -0.008115f, -0.001072f, -0.008022f, -0.001505f, -0.001660f, -0.009225f, -0.019087f, 0.048610f, -0.001923f, 0.029812f, -0.015002f, -0.042527f, 0.012143f, 0.003699f, -0.001690f, -0.019918f, -0.001963f, -0.013107f, 0.033697f, 0.024724f, 0.022049f, 0.016167f, -0.026439f, -0.000119f, 0.003620f, 0.023502f, -0.040133f, -0.004516f, -0.009833f, -0.011689f, 0.006013f, -0.013182f, 0.005139f, + 0.008971f, 0.006632f, 0.007176f, 0.009288f, -0.002757f, -0.003959f, -0.019479f, -0.004658f, -0.002949f, 0.019151f, 0.000029f, -0.017551f, -0.004096f, 0.020841f, -0.002400f, 0.012122f, 0.015616f, -0.011310f, -0.006661f, -0.025852f, -0.014996f, 0.050574f, 0.013349f, 0.022503f, 0.012121f, 0.002926f, 0.001926f, -0.032061f, 0.019023f, 0.003000f, 0.005600f, 0.016362f, 0.017872f, 0.027788f, -0.031969f, -0.013214f, -0.017732f, -0.002245f, 0.004459f, -0.004227f, -0.008945f, -0.005252f, -0.026809f, -0.033720f, -0.021878f, -0.031602f, -0.004082f, -0.020655f, -0.035363f, -0.014956f, 0.011519f, 0.019383f, -0.007351f, -0.030260f, -0.001054f, -0.004569f, 0.007189f, -0.008319f, 0.001969f, 0.017397f, 0.000823f, -0.001275f, -0.001058f, 0.002217f, 0.003083f, -0.005137f, -0.004600f, -0.012158f, -0.013610f, 0.007266f, -0.003719f, 0.006503f, 0.005902f, -0.002214f, 0.004027f, 0.005365f, 0.009821f, 0.006957f, -0.004237f, 0.002160f, 0.012510f, 0.002412f, -0.012603f, -0.010433f, -0.005678f, -0.002628f, 0.000975f, -0.004433f, 0.007254f, 0.007984f, -0.001894f, 0.012045f, 0.001612f, -0.003347f, -0.002556f, 0.002808f, + -0.006954f, 0.065253f, 0.014782f, -0.009429f, -0.013535f, 0.002088f, -0.020936f, -0.040937f, 0.030141f, 0.000128f, 0.019404f, -0.014665f, 0.014043f, 0.033503f, -0.003298f, 0.003738f, -0.008421f, 0.029162f, 0.024572f, 0.009528f, -0.039497f, 0.002861f, 0.005835f, 0.024424f, 0.035563f, -0.010490f, -0.007252f, -0.004698f, 0.009552f, 0.012694f, 0.010575f, -0.017971f, 0.008238f, -0.020715f, 0.015875f, 0.021166f, -0.010091f, -0.020951f, 0.013255f, -0.022798f, -0.020838f, -0.000870f, 0.006082f, 0.029715f, 0.003610f, -0.004066f, 0.025335f, -0.004690f, 0.022760f, 0.042019f, 0.021082f, 0.000485f, -0.026655f, -0.002532f, -0.015344f, -0.012449f, 0.026866f, 0.010496f, -0.027031f, -0.000309f, -0.020659f, -0.005236f, 0.035610f, 0.016376f, 0.005213f, 0.015246f, 0.021458f, 0.011122f, -0.028669f, 0.014799f, 0.023966f, 0.008218f, -0.019584f, 0.008096f, 0.002301f, 0.004115f, -0.015319f, 0.023679f, -0.006490f, -0.005677f, 0.028484f, 0.030176f, 0.004474f, 0.008597f, 0.032820f, 0.001942f, 0.016217f, -0.011487f, -0.000324f, 0.018905f, 0.010971f, -0.008351f, 0.009779f, 0.017067f, -0.004589f, 0.000155f, + 0.021765f, 0.004508f, 0.009284f, -0.006414f, -0.010832f, -0.003276f, 0.006102f, 0.003181f, 0.005038f, 0.005162f, -0.003517f, -0.003373f, -0.002785f, 0.001702f, 0.006556f, 0.007902f, -0.005244f, -0.001562f, 0.013589f, 0.002017f, 0.018206f, -0.003234f, 0.004993f, -0.002432f, 0.002375f, 0.008214f, 0.005046f, 0.000700f, -0.000073f, -0.007653f, -0.005344f, -0.003851f, -0.008169f, 0.010496f, 0.009434f, -0.015857f, -0.000821f, -0.020259f, -0.047679f, 0.016467f, -0.019004f, 0.005272f, 0.001670f, 0.033408f, -0.023035f, -0.020362f, -0.008571f, -0.009321f, -0.012323f, 0.024672f, -0.021890f, -0.030885f, 0.009211f, -0.057710f, 0.001672f, -0.010882f, -0.024426f, 0.031020f, -0.002010f, -0.001853f, 0.013039f, -0.012321f, 0.009794f, -0.003142f, -0.034482f, -0.037641f, -0.000398f, 0.007919f, 0.022027f, 0.010625f, -0.002534f, -0.003994f, -0.021694f, -0.010294f, 0.021737f, -0.034060f, 0.046930f, 0.027856f, 0.006252f, 0.034688f, -0.023200f, -0.009965f, -0.021242f, -0.021735f, -0.009407f, 0.015818f, 0.044316f, 0.000357f, -0.022932f, -0.003897f, 0.002137f, -0.002520f, -0.002398f, -0.014131f, 0.011931f, 0.010937f, + 0.029866f, -0.000598f, 0.033772f, 0.017369f, 0.009261f, -0.000898f, 0.007183f, -0.050537f, 0.026594f, -0.006480f, -0.029570f, 0.021023f, -0.000054f, 0.027690f, 0.012287f, -0.046844f, 0.036271f, 0.028276f, -0.024509f, 0.039340f, 0.015137f, 0.029373f, 0.011643f, -0.004163f, -0.001670f, -0.001308f, -0.005543f, -0.010377f, -0.003189f, 0.004283f, -0.010339f, -0.015754f, 0.000115f, -0.010304f, -0.018452f, -0.011078f, -0.013827f, 0.008672f, -0.008510f, 0.010682f, 0.002850f, 0.010900f, 0.005166f, -0.001286f, -0.005903f, 0.001813f, 0.001021f, -0.000909f, 0.001506f, -0.003324f, -0.007672f, 0.003614f, -0.000725f, 0.004427f, 0.004842f, 0.000130f, 0.004089f, 0.001851f, 0.007069f, 0.006029f, -0.011123f, -0.006725f, -0.009977f, -0.018613f, -0.013080f, -0.089538f, -0.006682f, 0.052576f, -0.009548f, 0.001255f, 0.046386f, -0.011050f, 0.000713f, 0.005319f, 0.012495f, -0.014224f, 0.012464f, -0.005111f, -0.015263f, 0.014561f, 0.017714f, -0.052481f, 0.006311f, -0.046746f, -0.001112f, -0.024386f, -0.026076f, -0.006097f, -0.007743f, -0.025814f, 0.012892f, 0.003858f, 0.016224f, 0.021595f, -0.031520f, 0.039460f, + 0.002875f, -0.037615f, 0.003183f, -0.026080f, -0.012876f, -0.028027f, -0.025076f, -0.011232f, 0.026506f, -0.023099f, 0.012682f, 0.026355f, -0.015918f, -0.028863f, -0.026191f, -0.038900f, -0.041471f, -0.024777f, -0.011746f, 0.002873f, -0.006201f, 0.011086f, 0.007954f, -0.025014f, -0.001727f, 0.027348f, 0.015994f, -0.041336f, 0.016153f, -0.003493f, -0.011342f, -0.038334f, 0.025685f, -0.014003f, 0.035422f, 0.044336f, 0.001230f, 0.042146f, -0.023353f, 0.024277f, -0.018373f, 0.026132f, 0.033832f, 0.002525f, -0.044421f, -0.001782f, -0.060642f, 0.019242f, 0.013185f, 0.023687f, 0.011476f, -0.024200f, -0.020640f, -0.000806f, -0.013833f, 0.013308f, -0.014970f, -0.000930f, -0.000906f, -0.015339f, -0.011660f, 0.009832f, -0.005826f, -0.017303f, -0.001588f, 0.004841f, 0.012602f, 0.006333f, 0.027314f, -0.003253f, 0.002314f, -0.008548f, 0.019160f, -0.003131f, -0.004142f, 0.016377f, -0.000919f, 0.002089f, 0.004003f, 0.022219f, -0.003637f, -0.009643f, 0.002352f, 0.015209f, 0.014782f, -0.015320f, -0.001445f, 0.009895f, -0.017243f, 0.009198f, -0.002783f, 0.011905f, 0.000731f, -0.015116f, -0.008173f, 0.006730f, + 0.007708f, 0.009137f, 0.006972f, -0.042471f, 0.034337f, -0.080985f, -0.004769f, -0.007767f, -0.006733f, 0.007456f, -0.046444f, 0.003197f, -0.009131f, -0.004032f, 0.021239f, 0.008286f, 0.024709f, -0.019130f, 0.017496f, -0.009166f, -0.041249f, -0.016700f, -0.030267f, -0.018908f, 0.020021f, -0.036119f, 0.004765f, -0.013421f, -0.027258f, -0.004938f, 0.026751f, -0.035906f, -0.034419f, 0.014052f, 0.020776f, -0.001222f, -0.016246f, 0.019267f, 0.020495f, 0.024946f, 0.021622f, 0.008872f, 0.029575f, 0.034898f, -0.018700f, 0.005181f, -0.016479f, 0.043800f, -0.003475f, -0.030406f, 0.036667f, 0.015990f, 0.008878f, -0.017436f, -0.022996f, 0.005336f, 0.014018f, 0.013949f, -0.001143f, -0.019155f, 0.014606f, -0.022296f, 0.000729f, -0.022003f, 0.067846f, 0.010398f, -0.019387f, 0.055588f, -0.006722f, 0.016964f, -0.014330f, 0.027890f, 0.041649f, -0.025876f, 0.039792f, 0.042071f, 0.055102f, 0.042183f, 0.004038f, 0.031312f, -0.024497f, -0.004916f, 0.005997f, -0.013691f, 0.024379f, 0.001029f, -0.001477f, -0.002488f, -0.006986f, 0.011772f, 0.006063f, 0.033274f, -0.010846f, 0.012255f, -0.007250f, 0.000148f, + 0.006365f, 0.009768f, -0.013968f, 0.005120f, 0.014038f, -0.006123f, -0.015689f, -0.003123f, -0.025219f, 0.008694f, 0.007963f, 0.006800f, -0.006590f, 0.004130f, 0.013361f, 0.007435f, -0.003130f, 0.012695f, 0.005809f, -0.008361f, -0.004151f, -0.002716f, 0.020923f, 0.027066f, 0.014516f, 0.006218f, 0.004962f, 0.009236f, 0.016198f, -0.010818f, -0.004252f, 0.007250f, -0.001609f, 0.001454f, 0.007526f, -0.006448f, 0.083699f, 0.021520f, -0.013938f, -0.012414f, 0.019660f, 0.005352f, 0.008540f, -0.002180f, -0.033061f, 0.027851f, -0.075838f, 0.008209f, 0.017000f, -0.003481f, -0.013632f, -0.029290f, -0.013126f, 0.003393f, 0.022850f, 0.034432f, -0.020155f, -0.044400f, -0.035547f, -0.005177f, 0.001592f, -0.026207f, 0.053989f, -0.025143f, -0.016144f, 0.022097f, -0.007283f, 0.003909f, -0.004551f, 0.046017f, 0.007960f, -0.046299f, 0.018574f, 0.005781f, 0.032248f, -0.011496f, 0.003724f, -0.019190f, 0.016149f, 0.006970f, 0.040582f, -0.009898f, 0.018454f, 0.019061f, -0.024121f, -0.026941f, 0.002167f, 0.024419f, -0.047218f, -0.056206f, -0.016275f, -0.023119f, -0.002785f, -0.008202f, 0.005830f, 0.012677f, + -0.011140f, 0.001872f, -0.064589f, -0.055118f, 0.044034f, 0.046474f, -0.055917f, -0.043204f, -0.053810f, -0.028333f, -0.022145f, 0.027972f, -0.029274f, -0.052152f, 0.001758f, 0.002212f, -0.031656f, -0.006827f, 0.045614f, -0.006880f, 0.002746f, 0.014563f, -0.000244f, 0.002564f, -0.001782f, -0.016101f, -0.019718f, -0.001105f, -0.005443f, 0.013031f, -0.001890f, -0.001287f, -0.014221f, 0.007208f, -0.022118f, -0.000555f, 0.007032f, 0.007382f, 0.010943f, 0.012135f, 0.002462f, 0.006864f, -0.004767f, 0.001129f, -0.011170f, 0.004116f, 0.001342f, -0.012854f, 0.013355f, 0.013141f, -0.020465f, 0.001265f, 0.015267f, 0.012445f, 0.023490f, -0.004839f, -0.026909f, 0.007528f, 0.009028f, -0.013368f, 0.008773f, -0.014881f, -0.006842f, -0.002302f, -0.004548f, -0.012632f, 0.004753f, -0.046245f, -0.005856f, -0.011040f, 0.013789f, -0.021796f, -0.006166f, -0.072008f, 0.063772f, 0.041303f, -0.007110f, 0.087908f, -0.008775f, -0.047878f, -0.004591f, 0.019907f, -0.029882f, -0.039002f, -0.008394f, -0.026549f, -0.001405f, 0.007688f, -0.040440f, 0.059379f, 0.001837f, 0.006600f, -0.037313f, -0.010478f, 0.003880f, -0.010385f, + 0.009362f, 0.013717f, 0.048498f, 0.008959f, -0.002603f, 0.039543f, 0.032303f, -0.011230f, 0.019009f, -0.024557f, 0.006894f, 0.022245f, 0.021265f, 0.055240f, -0.054451f, 0.033678f, 0.100713f, 0.001012f, 0.016456f, 0.034776f, 0.003851f, 0.007147f, 0.016198f, 0.012845f, -0.033777f, -0.039858f, -0.014684f, 0.032592f, 0.009546f, -0.041422f, -0.022683f, -0.001520f, -0.020120f, 0.037417f, 0.003334f, 0.028974f, -0.063717f, -0.039107f, 0.018492f, 0.043983f, 0.026675f, 0.017920f, 0.060459f, 0.035689f, -0.025479f, 0.042032f, -0.031471f, -0.006052f, -0.004572f, 0.023788f, -0.004991f, -0.025662f, 0.022546f, 0.010193f, 0.002115f, -0.029472f, 0.020623f, -0.000091f, 0.000361f, -0.012947f, 0.017380f, -0.013839f, -0.011505f, -0.010520f, 0.008271f, -0.010989f, -0.021884f, 0.007721f, 0.001512f, 0.000240f, -0.011916f, -0.001915f, -0.014914f, -0.012351f, -0.011928f, -0.007104f, -0.004607f, -0.005182f, -0.004539f, 0.002534f, 0.000425f, -0.027791f, 0.018969f, 0.007914f, -0.008914f, -0.020433f, -0.029739f, -0.000263f, -0.016189f, -0.010450f, 0.010772f, -0.007362f, 0.018464f, 0.009689f, -0.006463f, 0.003728f, + 0.017284f, -0.007225f, -0.002820f, -0.007739f, 0.014587f, 0.003993f, 0.006103f, -0.014127f, 0.029839f, -0.084020f, 0.001787f, -0.000574f, -0.002693f, -0.010673f, 0.039239f, 0.003086f, -0.022577f, -0.042145f, 0.042648f, -0.037900f, 0.000990f, 0.027331f, 0.022034f, -0.029816f, -0.007961f, -0.047990f, -0.000199f, 0.013650f, 0.016740f, 0.019325f, 0.005123f, -0.031292f, -0.038886f, 0.031910f, 0.016544f, 0.015841f, 0.006296f, 0.016115f, 0.004890f, 0.023464f, -0.041933f, -0.071128f, 0.019726f, -0.010838f, -0.015092f, 0.039503f, -0.006911f, -0.021241f, 0.035063f, 0.032916f, 0.027474f, -0.002658f, -0.017828f, -0.030683f, -0.007860f, -0.040543f, 0.095024f, -0.008235f, 0.034241f, 0.007206f, -0.031510f, 0.025762f, -0.012031f, -0.030379f, 0.029710f, 0.023415f, -0.052217f, 0.036297f, -0.005536f, 0.050402f, -0.051095f, -0.038732f, 0.051603f, -0.002254f, -0.041714f, 0.042503f, -0.015614f, 0.072700f, -0.030890f, -0.025173f, -0.043945f, 0.027789f, 0.005204f, -0.035925f, 0.014312f, -0.046651f, -0.033919f, 0.002927f, 0.030206f, -0.026814f, -0.016286f, -0.052968f, -0.047846f, 0.056080f, -0.006442f, 0.024375f, + 0.039479f, 0.053209f, 0.000306f, -0.005506f, -0.004086f, 0.013979f, 0.021465f, 0.003897f, 0.009881f, 0.032740f, 0.014447f, 0.018006f, 0.010799f, 0.008154f, -0.006365f, -0.003123f, 0.020271f, 0.015318f, 0.026550f, -0.012600f, 0.017527f, 0.018367f, -0.028829f, 0.007320f, 0.007352f, -0.015802f, -0.007972f, -0.000089f, 0.007365f, -0.012842f, 0.020919f, 0.001111f, -0.004717f, -0.005978f, 0.017777f, 0.000639f, 0.005618f, 0.001587f, 0.005066f, 0.003986f, -0.016069f, -0.008071f, -0.011983f, 0.001457f, -0.000140f, 0.008860f, 0.011544f, -0.010321f, -0.024039f, 0.062270f, -0.014205f, 0.042158f, -0.065977f, -0.011633f, -0.001532f, -0.078777f, -0.017317f, 0.011355f, 0.038674f, -0.019427f, -0.018479f, 0.001664f, -0.006091f, 0.055218f, -0.005280f, -0.027845f, 0.058597f, -0.007330f, -0.003044f, 0.011003f, -0.023436f, 0.050601f, 0.003329f, -0.010398f, 0.024250f, 0.020734f, -0.027667f, -0.009537f, -0.012849f, 0.039388f, -0.078868f, -0.001409f, -0.015312f, -0.027888f, 0.013481f, -0.028355f, 0.045886f, -0.012097f, -0.056840f, -0.005954f, 0.086306f, -0.052420f, 0.037806f, -0.058436f, -0.016829f, 0.058080f, + 0.042459f, -0.031404f, 0.014726f, -0.038288f, -0.050285f, 0.010659f, -0.022128f, 0.021873f, 0.006308f, -0.003553f, 0.008528f, -0.073659f, -0.028814f, -0.037569f, -0.053839f, 0.024966f, -0.020456f, -0.015022f, -0.029867f, -0.052344f, -0.044013f, 0.034427f, -0.006910f, 0.107450f, 0.018821f, 0.009891f, 0.038358f, 0.067564f, 0.008819f, -0.048803f, 0.059282f, 0.044847f, -0.037958f, 0.010002f, -0.009646f, -0.037820f, -0.029811f, -0.025570f, -0.002969f, -0.023346f, 0.008716f, 0.015786f, 0.005471f, -0.018200f, 0.031515f, 0.004877f, 0.014517f, -0.004368f, -0.005591f, 0.014914f, 0.009078f, -0.015180f, -0.013700f, -0.013128f, 0.014398f, 0.006855f, 0.017412f, 0.018513f, 0.000610f, -0.010010f, 0.013978f, -0.008090f, 0.030111f, 0.014272f, -0.036442f, -0.007227f, -0.026922f, 0.003186f, -0.008926f, -0.013003f, 0.037695f, -0.002089f, -0.011967f, 0.009633f, 0.011688f, -0.013857f, -0.003002f, -0.019040f, 0.008208f, 0.013641f, -0.002885f, -0.006066f, 0.001897f, -0.012839f, -0.003633f, -0.002053f, 0.017529f, 0.041912f, -0.024850f, -0.031508f, 0.035415f, -0.056296f, -0.006716f, -0.011472f, 0.003240f, 0.039929f, + -0.026109f, 0.044300f, 0.018832f, 0.010213f, 0.013112f, -0.071833f, 0.048865f, 0.009334f, -0.050714f, 0.020034f, -0.053786f, 0.009379f, 0.072046f, -0.008726f, -0.042727f, -0.045195f, 0.019347f, 0.032985f, 0.026406f, 0.014340f, -0.047592f, -0.032320f, -0.014767f, -0.008572f, 0.061558f, -0.038720f, -0.023424f, 0.091989f, -0.050989f, -0.003632f, 0.036327f, 0.000483f, 0.038272f, -0.005270f, -0.030903f, -0.020368f, -0.056142f, 0.029007f, 0.039904f, -0.059526f, 0.089525f, 0.030178f, -0.067530f, -0.061210f, -0.058734f, -0.069990f, -0.056927f, 0.003340f, 0.028114f, 0.005943f, -0.047432f, -0.017521f, 0.031660f, -0.000408f, -0.029714f, 0.033154f, -0.063839f, 0.004533f, -0.014697f, -0.058535f, -0.055081f, 0.010035f, -0.021917f, 0.042161f, -0.076376f, -0.009762f, -0.027053f, -0.055403f, 0.003824f, 0.090583f, 0.023095f, -0.039303f, 0.019356f, -0.048504f, 0.019912f, -0.019362f, 0.001737f, 0.003274f, 0.025500f, -0.002140f, 0.008725f, 0.032693f, 0.000341f, -0.017159f, -0.008178f, 0.026357f, 0.018221f, 0.012495f, 0.006301f, -0.049876f, -0.005135f, 0.004500f, 0.028317f, 0.014845f, -0.026184f, 0.000213f, + 0.003012f, 0.044873f, 0.002477f, 0.014920f, -0.013636f, -0.007938f, 0.006527f, 0.015185f, -0.001797f, -0.012237f, -0.024763f, 0.004454f, -0.009372f, -0.016298f, 0.008463f, -0.011096f, -0.012221f, 0.017974f, -0.013706f, -0.018869f, -0.027327f, -0.023258f, -0.004449f, 0.008077f, 0.000120f, -0.020053f, 0.017546f, 0.044500f, -0.110288f, -0.100553f, -0.088584f, -0.056032f, 0.022140f, -0.023292f, 0.112085f, 0.030477f, -0.012899f, -0.025263f, -0.015132f, 0.032570f, -0.074331f, 0.086569f, 0.112857f, 0.045780f, -0.007791f, 0.090469f, -0.029479f, 0.054900f, 0.102426f, -0.018386f, 0.004727f, 0.019831f, 0.136588f, -0.034450f, -0.009697f, 0.082186f, 0.029988f, 0.026686f, -0.023603f, -0.083479f, 0.004714f, -0.066105f, 0.030620f, -0.082018f, -0.097556f, -0.000840f, -0.006661f, -0.067038f, -0.004730f, -0.032476f, -0.070205f, -0.054910f, -0.091267f, -0.004060f, 0.090685f, -0.029120f, -0.018870f, -0.084565f, -0.046705f, -0.031049f, -0.030397f, 0.028826f, -0.022113f, 0.153163f, -0.037590f, -0.002022f, -0.057270f, 0.115580f, 0.093489f, -0.067062f, 0.075740f, -0.026969f, -0.113664f, -0.020049f, -0.012276f, 0.023601f, + -0.027600f, -0.025509f, -0.015643f, -0.045558f, 0.011603f, 0.056223f, -0.068138f, -0.009564f, 0.017651f, 0.011549f, -0.078928f, 0.050147f, 0.033848f, 0.115896f, -0.051103f, 0.031673f, 0.047364f, -0.003097f, 0.011876f, -0.001708f, 0.015349f, -0.013096f, 0.036093f, 0.015717f, 0.028965f, 0.025774f, 0.000811f, 0.026535f, 0.007024f, -0.010296f, 0.026896f, -0.001977f, 0.003441f, 0.002781f, 0.018389f, 0.014223f, -0.022095f, -0.016611f, -0.027703f, 0.039949f, -0.028566f, 0.005643f, 0.023407f, 0.010047f, 0.043501f, 0.038104f, 0.065476f, 0.045305f, 0.036629f, 0.002206f, 0.023664f, -0.035503f, 0.030911f, 0.023637f, -0.009219f, -0.034175f, -0.064883f, -0.025246f, 0.017106f, -0.035863f, -0.014640f, -0.026181f, -0.063640f, -0.054449f, -0.026971f, -0.040666f, -0.025425f, -0.035089f, -0.045533f, -0.047149f, -0.016071f, -0.013953f, -0.022445f, -0.034800f, -0.020439f, -0.031140f, -0.022832f, -0.025524f, -0.008494f, -0.012234f, -0.011023f, -0.013257f, -0.011898f, -0.017228f, -0.009617f, -0.034611f, 0.046352f, 0.194624f, 0.022716f, -0.122031f, -0.030261f, -0.043156f, 0.009400f, 0.060747f, 0.109254f, 0.031201f, + -0.091628f, -0.001770f, 0.063491f, 0.013771f, 0.001435f, -0.002866f, 0.016610f, -0.008783f, -0.011088f, 0.075391f, 0.047316f, 0.042099f, -0.064066f, -0.041632f, 0.043684f, 0.016845f, 0.025810f, -0.022282f, 0.008077f, 0.083988f, 0.002018f, 0.071205f, 0.037482f, 0.038821f, 0.069668f, 0.010037f, -0.036945f, 0.008499f, -0.042318f, 0.010558f, 0.029496f, 0.007428f, 0.113881f, -0.038090f, -0.073421f, -0.070853f, 0.087941f, 0.040478f, 0.046824f, 0.031925f, -0.050426f, -0.063357f, -0.038586f, -0.002289f, 0.019103f, -0.013955f, 0.030982f, 0.058157f, -0.004092f, 0.042128f, 0.038310f, -0.059198f, -0.011805f, 0.016657f, -0.027803f, -0.025158f, -0.029196f, -0.097575f, -0.016632f, 0.041933f, 0.003528f, 0.084813f, 0.056477f, -0.041462f, 0.029858f, 0.000235f, -0.028517f, -0.024123f, -0.047369f, -0.105488f, -0.056422f, 0.004036f, 0.001606f, -0.023568f, -0.006606f, -0.011224f, 0.033346f, 0.034868f, 0.017852f, -0.006679f, 0.002189f, 0.026351f, -0.013637f, 0.016419f, -0.047879f, -0.022852f, -0.006704f, 0.025088f, -0.007090f, 0.009691f, 0.016086f, 0.016050f, 0.001586f, 0.045097f, -0.037107f, -0.033305f, + -0.033812f, 0.023320f, -0.022207f, -0.034772f, -0.034659f, 0.023613f, -0.012055f, -0.025445f, -0.013910f, 0.017651f, 0.003667f, 0.026029f, -0.045307f, -0.029548f, -0.006212f, -0.003281f, 0.007681f, 0.020173f, -0.010942f, -0.017938f, 0.028513f, -0.015937f, -0.019968f, -0.016742f, 0.027365f, -0.007997f, -0.016780f, 0.008222f, -0.003447f, -0.015987f, -0.001490f, -0.021214f, -0.015095f, -0.009620f, -0.003295f, -0.006775f, 0.002644f, -0.005465f, 0.000154f, -0.002017f, 0.001335f, -0.010824f, -0.000671f, -0.004002f, -0.000510f, -0.006063f, -0.000116f, -0.009484f, 0.000870f, -0.007223f, 0.000626f, -0.006141f, 0.000598f, -0.002601f, 0.002254f, -0.004223f, 0.000968f, -0.005637f, 0.000023f, -0.006036f, -0.001614f, -0.007809f, -0.001106f, -0.005730f, -0.001460f, -0.005154f, -0.001190f, -0.003236f, -0.001384f, -0.005361f, -0.000911f, -0.002332f, -0.000443f, -0.003174f, -0.000144f, -0.004358f, -0.000522f, -0.002935f, -0.001461f, -0.001829f, -0.001185f, -0.002987f, -0.000849f, -0.002256f, -0.002053f, -0.001358f, -0.001056f, -0.001885f, -0.000704f, -0.001806f, -0.013008f, -0.045276f, 0.003241f, 0.155447f, 0.037386f, 0.066504f, + -0.034137f, -0.137977f, -0.073098f, -0.101073f, -0.036836f, 0.071195f, 0.156778f, 0.072824f, 0.015568f, -0.073615f, -0.073285f, 0.052005f, 0.076946f, 0.041125f, 0.093899f, -0.002149f, -0.064876f, -0.089970f, -0.046809f, -0.012268f, 0.069237f, 0.010656f, 0.039155f, 0.038643f, 0.004155f, 0.097189f, 0.064765f, -0.005438f, -0.011169f, -0.085920f, -0.023434f, 0.000041f, -0.000221f, 0.052232f, 0.087851f, 0.056927f, 0.041129f, 0.086310f, 0.046719f, -0.085660f, -0.072430f, -0.020062f, -0.057204f, 0.060472f, 0.037757f, 0.088548f, 0.065468f, 0.078557f, 0.020667f, 0.015521f, -0.064907f, -0.063838f, -0.063772f, 0.023789f, 0.029488f, 0.001836f, -0.010368f, 0.138587f, 0.032608f, -0.007373f, -0.014876f, 0.095550f, -0.101631f, 0.023022f, -0.191728f, -0.040378f, 0.045523f, -0.064316f, 0.060000f, 0.037143f, -0.000988f, 0.138479f, 0.062746f, -0.075337f, -0.155967f, -0.072004f, -0.071712f, -0.035797f, -0.027867f, -0.017794f, 0.065403f, 0.044892f, 0.088906f, 0.013059f, -0.068811f, -0.043934f, -0.072109f, -0.063165f, -0.066863f, 0.030854f, 0.004155f, 0.030551f, 0.036793f, -0.016082f, 0.033884f, 0.021160f, + -0.026938f, -0.000716f, -0.029633f, -0.006692f, -0.061798f, -0.061114f, -0.025660f, -0.025264f, -0.000855f, -0.057080f, 0.029678f, -0.001956f, 0.009055f, 0.018982f, -0.041601f, -0.079798f, -0.076307f, -0.001607f, 0.014364f, 0.019429f, 0.046944f, 0.014606f, -0.026497f, -0.043790f, 0.013427f, -0.015051f, -0.025032f, 0.011754f, -0.222371f, -0.134469f, -0.074713f, 0.066136f, 0.017714f, 0.303042f, 0.321510f, 0.196816f, 0.356619f, 0.293046f, 0.308329f, 0.215056f, 0.260728f, 0.213106f, 0.003013f, -0.100390f, -0.145215f, -0.137903f, -0.290784f, -0.347092f, -0.364375f, -0.252980f, -0.200471f, -0.077739f, 0.012956f, -0.101960f, 0.061867f, -0.128718f, -0.047768f, -0.008092f, -0.040997f, 0.031479f, -0.119797f, 0.164182f, 0.026960f, 0.149740f, 0.094757f, 0.056477f, 0.037961f, 0.083201f, 0.052753f, 0.085309f, 0.193547f, 0.185626f, 0.146448f, 0.181425f, 0.227609f, 0.208828f, 0.195238f, 0.360687f, 0.125320f, 0.254014f, 0.329069f, 0.227548f, 0.298824f, 0.159921f, 0.212658f, 0.167747f, 0.199562f, 0.217735f, 0.079413f, 0.141254f, 0.105591f, 0.132257f, 0.126271f, 0.035534f, -0.025837f, -0.137118f, + -0.051982f, -0.183199f, -0.161704f, -0.271353f, -0.308969f, -0.309488f, -0.655489f, -0.553580f, -0.596023f, -0.589785f, -0.689882f, -0.696250f, -0.430744f, -0.499480f, -0.373280f, -0.440614f, -0.336383f, -0.317070f, -0.277522f, -0.276923f, -0.160467f, -0.069830f, -0.102425f, -0.102018f, -0.084803f, 0.016655f, 0.131627f, 0.070018f, 0.275382f, 0.238619f, 0.348368f, 0.359740f, 0.330308f, 0.414447f, 0.382350f, 0.444743f, 0.346049f, 0.425545f, 0.449051f, 0.503923f, 0.438987f, 0.263626f, 0.261774f, 0.263315f, 0.265510f, 0.246757f, 0.171735f, 0.162667f, 0.066004f, 0.048349f, -0.007103f, 0.008634f, 0.031414f, -0.090279f, -0.135878f, -0.144670f, -0.091335f, -0.078595f, -0.151288f, -0.173038f, -0.204747f, -0.146340f, -0.189768f, -0.172752f, -0.148504f, -0.156286f, -0.162538f, -0.159303f, -0.043995f, -0.036614f, -0.022086f, -0.034820f, 0.018438f, -0.003669f, -0.006405f, -0.032476f, -0.014576f, 0.013419f, 0.018992f, 0.009088f, 0.027361f, 0.022418f, 0.033620f, 0.003030f, 0.003495f, -0.002745f, 0.016626f, -0.001270f, 0.004107f, 0.003353f, 0.010968f, 0.002380f, 0.002208f, -0.014318f, -0.000411f, -0.002562f, + 0.003481f, -0.009008f, -0.001469f, 0.000378f, 0.003910f, -0.007126f, -0.000013f, -0.005488f, -0.000997f, -0.011780f, -0.007061f, -0.007846f, -0.001566f, -0.011278f, -0.008641f, -0.018159f, -0.005949f, -0.006638f, 0.000262f, -0.008362f, -0.009868f, -0.019882f, -0.017191f, -0.023675f, -0.014256f, -0.018929f, -0.017299f, -0.026062f, -0.019862f, -0.020947f, -0.011988f, -0.016345f, -0.009956f, -0.014197f, -0.007033f, -0.007545f, 0.003556f, 0.006330f, 0.016741f, 0.013986f, 0.022108f, 0.022151f, 0.034776f, 0.036027f, 0.038550f, 0.036881f, 0.042741f, 0.037363f, 0.039237f, 0.033022f, 0.032436f, 0.023270f, 0.021336f, 0.009367f, 0.009293f, -0.000466f, -0.001987f, -0.009979f, -0.007385f, -0.011496f, -0.007782f, -0.011916f, -0.007258f, -0.010204f, -0.004806f, -0.007534f, -0.002189f, -0.005554f, -0.000680f, -0.004256f, 0.000419f, -0.003171f, 0.001398f, -0.002383f, 0.001946f} + }, + { + {0.010236f, 0.000201f, -0.003802f, -0.000868f, -0.009159f, -0.006295f, 0.004076f, 0.000362f, -0.005764f, 0.007178f, 0.004816f, -0.001555f, 0.000442f, -0.000973f, 0.005784f, -0.008015f, 0.003018f, 0.006010f, 0.005309f, -0.011534f, -0.008076f, -0.005727f, 0.007762f, 0.001883f, 0.002543f, -0.003207f, 0.008280f, 0.003114f, -0.002037f, 0.000228f, -0.002340f, 0.001632f, 0.003113f, -0.001826f, -0.002361f, -0.006935f, 0.007411f, 0.012327f, 0.001475f, 0.007835f, -0.001432f, 0.001590f, 0.002829f, 0.003417f, -0.009321f, 0.000674f, -0.009738f, -0.002223f, -0.001363f, 0.003089f, -0.004902f, -0.000143f, 0.002158f, 0.001001f, -0.005669f, 0.000244f, 0.000666f, 0.004677f, -0.006028f, -0.007569f, -0.001002f, 0.010321f, 0.016543f, 0.000057f, 0.002727f, 0.001172f, -0.003520f, -0.009904f, -0.002507f, 0.006953f, -0.003149f, 0.006926f, 0.002695f, 0.007054f, -0.000360f, 0.002763f, 0.002510f, -0.005897f, -0.007996f, -0.000810f, 0.003052f, 0.004641f, 0.002256f, 0.002097f, 0.001403f, 0.001589f, -0.002724f, -0.004338f, -0.002958f, -0.002342f, -0.001119f, 0.000128f, -0.001623f, -0.000180f, 0.001495f, 0.002414f, + 0.002119f, -0.000282f, 0.000176f, 0.001455f, -0.000003f, -0.001683f, 0.004795f, -0.010461f, -0.002255f, -0.009926f, 0.005781f, 0.000540f, -0.004432f, 0.020857f, -0.008091f, -0.015111f, 0.001242f, 0.006858f, -0.001171f, -0.011395f, -0.003121f, -0.005007f, -0.001753f, -0.005454f, -0.001665f, 0.007677f, -0.000448f, -0.005167f, 0.009014f, 0.001215f, 0.008759f, -0.002400f, -0.002031f, 0.003237f, 0.000322f, 0.003786f, -0.001527f, 0.008080f, 0.013454f, -0.003775f, -0.008884f, -0.006674f, 0.005607f, -0.000109f, -0.020472f, -0.002047f, -0.008099f, -0.003144f, 0.010168f, -0.007122f, -0.005243f, 0.006854f, -0.004442f, -0.001084f, 0.009334f, 0.003096f, -0.007183f, 0.003173f, -0.005145f, -0.012239f, 0.003986f, 0.004679f, -0.009123f, -0.005428f, -0.002564f, -0.003966f, 0.000019f, 0.003868f, 0.006405f, 0.009454f, 0.010773f, -0.002633f, 0.001198f, -0.004296f, 0.004708f, 0.002845f, -0.002262f, 0.004382f, 0.006961f, -0.006629f, -0.003229f, 0.001022f, 0.000242f, 0.002557f, 0.007983f, -0.001075f, -0.001997f, 0.007056f, 0.001160f, -0.005030f, -0.002986f, -0.000455f, -0.002925f, 0.002105f, -0.001147f, -0.002814f, + 0.001235f, -0.003182f, -0.002330f, 0.001466f, -0.003004f, -0.002187f, 0.000208f, 0.001996f, -0.003744f, 0.000372f, -0.000820f, -0.001418f, -0.001742f, -0.000245f, -0.002893f, -0.000927f, -0.002764f, -0.016828f, -0.008607f, 0.005223f, 0.007434f, 0.002953f, 0.008069f, -0.006894f, 0.008448f, 0.010451f, -0.002961f, 0.011563f, -0.001607f, 0.008528f, -0.004069f, 0.000302f, -0.003652f, 0.010896f, 0.004204f, -0.000398f, 0.009665f, -0.005122f, -0.004133f, 0.007140f, -0.016877f, -0.002890f, 0.000893f, -0.003543f, -0.015042f, -0.009128f, 0.006202f, -0.005839f, -0.003941f, 0.000260f, 0.011721f, -0.002777f, -0.008247f, -0.000604f, 0.002999f, 0.006688f, -0.001033f, -0.010605f, -0.006889f, -0.001913f, -0.005480f, 0.001818f, -0.009294f, 0.004653f, -0.008745f, -0.012775f, 0.000391f, 0.004545f, 0.005196f, -0.004053f, -0.002965f, -0.008366f, 0.010870f, 0.006347f, 0.001503f, 0.000163f, -0.000319f, -0.003645f, -0.001997f, 0.003736f, 0.004635f, 0.016483f, -0.001864f, 0.004191f, 0.001067f, -0.000437f, -0.008055f, -0.006057f, 0.011125f, -0.004732f, 0.001086f, 0.002822f, 0.001603f, -0.001691f, 0.008409f, 0.000505f, + 0.000300f, -0.009074f, 0.008821f, 0.005012f, -0.003419f, -0.001971f, -0.000995f, -0.002592f, 0.001215f, 0.006429f, -0.000091f, 0.002592f, 0.001924f, -0.000830f, 0.001475f, 0.003354f, -0.000345f, 0.000070f, 0.001011f, 0.001599f, 0.001318f, 0.001946f, 0.003404f, 0.001342f, -0.002496f, 0.002686f, 0.001216f, -0.001768f, -0.001437f, -0.000228f, 0.000394f, 0.000051f, 0.004133f, 0.004978f, 0.004536f, 0.010689f, -0.007083f, -0.010690f, -0.008552f, 0.005327f, 0.011908f, -0.002280f, 0.009126f, -0.008167f, -0.009823f, 0.008065f, -0.004079f, 0.000762f, 0.003054f, 0.010121f, 0.003801f, 0.016119f, -0.007049f, -0.008726f, 0.003792f, -0.004876f, -0.004509f, 0.009092f, -0.014326f, -0.008931f, 0.001439f, -0.002866f, 0.006529f, -0.004964f, 0.001796f, 0.011422f, -0.010732f, 0.007910f, -0.006481f, 0.005087f, -0.006074f, -0.001831f, -0.000989f, 0.011832f, 0.002235f, 0.000315f, -0.008754f, 0.000318f, -0.010417f, 0.003788f, 0.002550f, -0.007066f, -0.000187f, -0.002995f, 0.017994f, 0.002306f, 0.001130f, -0.015756f, -0.009193f, -0.013310f, 0.010270f, -0.006845f, -0.000773f, 0.005300f, 0.022950f, 0.016095f, + -0.006522f, -0.014272f, -0.005926f, -0.012412f, 0.012944f, -0.002628f, -0.003630f, -0.005821f, -0.003815f, -0.001207f, -0.005978f, -0.004075f, -0.001033f, -0.004959f, 0.003413f, -0.003516f, 0.004802f, -0.018026f, 0.001172f, -0.001630f, -0.005696f, -0.002807f, -0.006047f, -0.001363f, -0.009431f, 0.000603f, -0.003938f, -0.000481f, 0.005648f, -0.001972f, -0.002057f, -0.004180f, -0.004507f, -0.001426f, 0.001226f, -0.000430f, -0.000432f, -0.001778f, -0.000738f, -0.002073f, -0.000355f, 0.000270f, 0.001061f, -0.001529f, -0.001630f, -0.002322f, -0.001988f, -0.001827f, -0.002952f, 0.001007f, -0.000995f, -0.000244f, -0.003000f, -0.008920f, 0.006366f, -0.009236f, -0.016810f, 0.017138f, 0.007561f, -0.017717f, 0.017707f, -0.002737f, -0.001176f, -0.024951f, 0.014796f, 0.010078f, -0.020415f, 0.006158f, -0.003480f, 0.007806f, 0.001644f, 0.008975f, 0.005547f, 0.002379f, -0.009566f, 0.000999f, 0.003341f, -0.012355f, -0.005447f, -0.014602f, -0.002655f, -0.009035f, -0.005028f, 0.001784f, -0.011655f, -0.004135f, -0.017113f, 0.006532f, 0.001559f, 0.001573f, 0.001365f, -0.007199f, -0.014915f, -0.004512f, 0.005074f, -0.002293f, + -0.001408f, 0.015587f, -0.023096f, 0.009753f, 0.011605f, -0.001602f, 0.000610f, -0.004371f, -0.001945f, -0.007349f, -0.011476f, -0.007644f, -0.009070f, -0.005888f, 0.005571f, 0.003243f, 0.004945f, 0.007838f, -0.001979f, -0.004046f, 0.010927f, 0.021208f, 0.014770f, -0.000236f, -0.018115f, 0.005022f, -0.002892f, 0.002723f, 0.018917f, -0.000049f, 0.019057f, 0.017199f, -0.002485f, -0.005673f, -0.004740f, 0.001408f, 0.001519f, 0.006448f, 0.019323f, 0.005250f, 0.000638f, -0.001943f, -0.012201f, 0.001488f, 0.003584f, -0.004035f, -0.000733f, 0.000663f, -0.000296f, 0.002286f, 0.001555f, 0.001416f, -0.001653f, 0.002393f, 0.002020f, 0.002139f, 0.002259f, -0.006505f, -0.001187f, -0.004668f, 0.001728f, -0.003645f, 0.001405f, -0.001027f, -0.001825f, -0.003911f, 0.000603f, 0.000992f, -0.005864f, -0.001817f, 0.001200f, 0.000164f, 0.026891f, 0.007101f, -0.004985f, -0.001133f, 0.008151f, -0.002667f, 0.026044f, -0.002606f, -0.004204f, 0.033403f, 0.000032f, 0.016978f, -0.006422f, 0.000640f, -0.001625f, 0.002913f, -0.004427f, 0.002485f, -0.000697f, -0.000772f, -0.018205f, -0.001547f, -0.004473f, -0.003049f, + -0.007690f, 0.011718f, 0.005219f, 0.007045f, -0.010291f, -0.000943f, -0.016160f, -0.006220f, 0.002824f, -0.001123f, -0.009895f, -0.002816f, 0.005162f, 0.012236f, 0.007118f, -0.003645f, -0.015039f, -0.000342f, 0.004050f, -0.002318f, 0.007692f, 0.005410f, 0.010491f, 0.014892f, -0.004966f, 0.000082f, -0.016050f, -0.019110f, 0.018022f, 0.009955f, -0.000842f, -0.000631f, -0.000788f, -0.006856f, -0.007899f, 0.000028f, 0.014389f, 0.008602f, 0.002460f, 0.017963f, -0.013818f, 0.004178f, -0.011368f, -0.008446f, 0.007463f, 0.008040f, 0.006284f, 0.026967f, -0.001156f, -0.011923f, 0.001914f, -0.011684f, 0.005185f, 0.003307f, 0.009593f, -0.005101f, -0.000037f, 0.001390f, -0.009190f, -0.001424f, 0.006103f, -0.000757f, 0.001438f, -0.003725f, -0.002189f, -0.000403f, 0.004164f, -0.002118f, 0.002558f, -0.003961f, 0.000193f, -0.005175f, 0.001519f, -0.002661f, -0.002037f, 0.001044f, 0.002509f, -0.003131f, 0.003389f, 0.002484f, 0.004180f, 0.000457f, 0.002397f, -0.000931f, 0.001385f, 0.000986f, 0.001402f, -0.001475f, -0.000237f, -0.001369f, -0.000426f, 0.000981f, 0.002061f, -0.001787f, 0.000715f, -0.000384f, + -0.014885f, -0.019929f, 0.007722f, -0.018625f, -0.000020f, 0.020785f, -0.021748f, 0.007975f, 0.009726f, -0.005804f, -0.026837f, 0.000378f, 0.015659f, -0.017324f, 0.010763f, -0.001191f, -0.007714f, -0.022472f, -0.000657f, -0.016207f, 0.002850f, -0.008218f, -0.012672f, -0.015766f, 0.006467f, -0.002217f, -0.000948f, 0.015031f, -0.009106f, 0.012684f, -0.009640f, -0.003826f, 0.019377f, 0.006672f, -0.010374f, 0.007988f, 0.004662f, -0.008954f, 0.004711f, 0.004903f, -0.003465f, -0.003812f, 0.000755f, -0.004305f, -0.005137f, 0.003200f, 0.003531f, 0.026424f, -0.024879f, 0.004043f, 0.001566f, -0.008887f, 0.017854f, 0.010195f, -0.006154f, -0.019251f, 0.001696f, -0.001929f, -0.005838f, -0.012141f, -0.014268f, 0.017409f, 0.011255f, 0.001465f, -0.001758f, 0.009286f, 0.004681f, -0.004185f, 0.007390f, 0.005348f, -0.004842f, 0.018523f, -0.006889f, 0.011341f, -0.007595f, 0.005655f, 0.005797f, 0.004196f, -0.000581f, -0.010267f, 0.009816f, -0.007987f, -0.008363f, -0.005698f, 0.002845f, 0.000010f, 0.001199f, -0.009735f, 0.005284f, 0.004133f, -0.006203f, 0.000667f, -0.000265f, -0.003057f, 0.000560f, -0.002015f, + 0.004699f, -0.001330f, 0.000701f, 0.003984f, -0.001815f, -0.002967f, 0.002602f, -0.003387f, 0.002742f, -0.000579f, -0.000060f, -0.003902f, -0.001786f, -0.000096f, -0.004325f, 0.004284f, 0.002383f, 0.000999f, 0.002795f, -0.000871f, 0.001897f, -0.001034f, 0.008777f, -0.020094f, 0.014739f, -0.008392f, -0.003719f, -0.011521f, -0.008315f, 0.007065f, -0.006634f, 0.005784f, 0.022533f, 0.007749f, 0.012380f, -0.028722f, -0.019031f, -0.010215f, -0.006881f, 0.003143f, -0.000135f, 0.004992f, -0.024135f, 0.012949f, 0.005380f, 0.003259f, 0.023021f, 0.000422f, -0.013052f, 0.021647f, 0.008503f, -0.009611f, 0.004414f, -0.012361f, 0.011358f, 0.005390f, 0.015138f, -0.012941f, -0.009215f, 0.003872f, -0.013122f, 0.016586f, -0.015176f, -0.000227f, 0.014706f, 0.013586f, -0.028012f, -0.000752f, 0.001368f, 0.003300f, 0.004630f, 0.030643f, 0.007064f, 0.001957f, -0.009367f, -0.007692f, -0.016545f, -0.008913f, 0.022620f, 0.000595f, -0.027007f, 0.000457f, 0.006251f, -0.015288f, -0.016881f, 0.002056f, -0.010950f, 0.004542f, 0.024793f, 0.012219f, 0.010434f, -0.010119f, -0.026494f, 0.002190f, -0.004534f, 0.012216f, + -0.002382f, -0.022134f, -0.002698f, 0.005847f, 0.006115f, 0.006050f, -0.001871f, 0.018848f, 0.003550f, -0.011891f, 0.015504f, -0.001083f, 0.009280f, -0.000247f, -0.002311f, -0.008002f, 0.011459f, 0.007946f, 0.004484f, -0.005789f, -0.002283f, -0.001471f, -0.003862f, 0.002246f, -0.000019f, -0.004906f, 0.002485f, 0.001582f, -0.002792f, -0.003630f, -0.001536f, -0.002723f, -0.000400f, 0.003562f, -0.003554f, 0.001876f, 0.004392f, 0.005330f, -0.001339f, 0.002323f, -0.002781f, -0.035426f, -0.010589f, 0.010055f, 0.027376f, 0.003937f, 0.014194f, 0.048673f, 0.008075f, 0.008329f, -0.007531f, -0.023291f, 0.013210f, -0.011280f, 0.012173f, -0.002905f, 0.032174f, 0.023481f, -0.012420f, -0.026318f, -0.020955f, 0.015922f, -0.013959f, 0.019512f, 0.008560f, 0.006375f, -0.006737f, -0.002542f, 0.023153f, -0.004544f, 0.020432f, 0.020482f, 0.010566f, 0.014375f, -0.015913f, 0.015564f, 0.008372f, -0.008306f, 0.022626f, -0.009952f, 0.020556f, 0.001571f, 0.002319f, -0.030150f, 0.018180f, 0.001686f, -0.005679f, 0.014929f, -0.021037f, -0.008324f, 0.012597f, 0.010322f, -0.019383f, 0.003143f, -0.012401f, -0.007105f, + 0.019188f, 0.002599f, 0.005788f, -0.002010f, -0.022110f, 0.014857f, 0.014083f, 0.000982f, 0.011134f, 0.005016f, -0.009797f, -0.010269f, -0.000836f, 0.011806f, -0.020022f, -0.000707f, 0.001282f, 0.000885f, -0.000193f, 0.008780f, 0.011510f, 0.023660f, 0.013268f, 0.000798f, -0.033230f, -0.010912f, -0.012443f, -0.001100f, 0.002457f, -0.009322f, -0.019700f, -0.006193f, -0.008878f, 0.005206f, 0.000761f, -0.005603f, 0.002103f, -0.005747f, 0.009156f, -0.003285f, -0.003925f, -0.005423f, 0.000099f, 0.002652f, -0.011849f, 0.007437f, -0.007624f, 0.003092f, -0.001965f, -0.004370f, 0.000202f, -0.007296f, 0.002352f, -0.006583f, -0.004805f, -0.000942f, -0.003811f, -0.003506f, 0.004058f, 0.006998f, 0.004185f, 0.006737f, 0.008763f, -0.001828f, 0.001291f, 0.043937f, 0.012830f, 0.005865f, -0.016305f, -0.039532f, 0.028583f, 0.008941f, -0.026268f, 0.007847f, -0.002879f, 0.006744f, 0.005517f, -0.018952f, -0.040592f, -0.031741f, 0.010660f, 0.024855f, -0.004990f, 0.026091f, -0.012161f, 0.020353f, 0.024784f, 0.033663f, -0.007503f, 0.024870f, -0.022174f, 0.008409f, -0.012138f, 0.002975f, 0.013329f, -0.000604f, + -0.007275f, 0.006029f, 0.016750f, -0.012049f, -0.022509f, -0.022714f, 0.047377f, 0.000040f, -0.002482f, -0.021478f, 0.021902f, 0.007105f, -0.043945f, -0.025443f, 0.009701f, -0.006237f, -0.007894f, 0.017037f, 0.005653f, 0.042324f, 0.023272f, -0.001594f, -0.024796f, -0.024283f, -0.013889f, -0.010046f, -0.028123f, 0.025739f, -0.019293f, 0.020340f, 0.017401f, -0.017821f, -0.023008f, -0.022184f, -0.032392f, 0.007709f, -0.000738f, -0.011713f, -0.014777f, -0.023769f, -0.008676f, -0.023420f, 0.004678f, 0.002658f, -0.008149f, 0.003007f, 0.018835f, -0.048866f, -0.019159f, -0.039915f, 0.019811f, 0.013793f, -0.017322f, -0.005944f, 0.007895f, -0.007695f, -0.000526f, 0.009213f, -0.007663f, -0.016124f, -0.002073f, -0.004806f, -0.005326f, -0.000429f, -0.002389f, -0.007000f, -0.000064f, 0.001162f, 0.008156f, -0.011987f, 0.002761f, 0.006179f, -0.001088f, -0.005129f, -0.007887f, -0.002470f, -0.001529f, 0.001379f, -0.002985f, -0.000940f, -0.004961f, 0.001934f, -0.002241f, -0.007809f, 0.012911f, 0.001054f, 0.003593f, -0.010621f, -0.024087f, -0.044935f, -0.010595f, -0.011269f, 0.002030f, -0.010014f, 0.001495f, 0.005349f, + -0.005354f, 0.020086f, -0.025631f, -0.007060f, -0.024338f, -0.000584f, -0.012330f, 0.028264f, 0.030514f, 0.025328f, -0.034930f, 0.025089f, -0.012872f, 0.019211f, -0.007537f, 0.014356f, -0.011846f, -0.014115f, 0.004936f, -0.018411f, 0.011890f, 0.015424f, -0.002195f, 0.009533f, -0.017817f, -0.001532f, 0.029222f, -0.022836f, 0.000789f, -0.006295f, -0.009968f, -0.018264f, -0.001375f, 0.029907f, 0.038186f, -0.023582f, 0.011339f, -0.002337f, -0.023644f, -0.023163f, -0.025932f, -0.011014f, 0.048461f, 0.030156f, -0.009366f, 0.016387f, -0.010590f, 0.014301f, -0.026900f, 0.016420f, -0.001028f, -0.013818f, 0.036878f, 0.019884f, 0.007371f, 0.012896f, 0.010424f, 0.035505f, 0.004421f, -0.028698f, 0.011823f, 0.023269f, 0.017456f, -0.050654f, 0.031260f, -0.021045f, -0.019559f, -0.008813f, 0.003076f, -0.019381f, 0.022112f, 0.050112f, -0.008667f, 0.007870f, 0.025110f, 0.005109f, -0.004202f, 0.006830f, 0.002512f, 0.015219f, 0.012873f, 0.008627f, 0.023603f, 0.012981f, -0.006605f, 0.016955f, 0.009990f, -0.006234f, -0.014381f, 0.009001f, -0.001971f, 0.009680f, -0.004090f, 0.003528f, 0.007200f, 0.003723f, + -0.001990f, -0.000855f, 0.003310f, 0.011999f, 0.002512f, -0.001675f, 0.002562f, 0.009450f, -0.003618f, 0.001409f, 0.014480f, 0.006500f, -0.003653f, 0.008817f, 0.002646f, 0.003071f, 0.006098f, 0.000844f, 0.005085f, -0.001247f, -0.008900f, -0.007286f, 0.007376f, -0.003368f, 0.032235f, 0.020210f, 0.086558f, 0.023595f, -0.013899f, 0.005069f, 0.015042f, -0.000091f, 0.029222f, 0.020878f, 0.020424f, -0.026023f, -0.042151f, 0.042307f, -0.023619f, 0.003639f, 0.015377f, 0.046478f, 0.019407f, -0.028809f, 0.026224f, -0.026091f, -0.004723f, -0.035715f, -0.045781f, -0.005586f, 0.013109f, 0.012112f, 0.009925f, 0.011442f, -0.003075f, -0.032209f, -0.011169f, 0.009854f, 0.011353f, -0.017225f, 0.035936f, 0.022047f, -0.020568f, 0.011356f, 0.018204f, 0.006538f, 0.001694f, -0.019893f, -0.001803f, -0.014053f, -0.007461f, 0.001660f, 0.022611f, 0.054362f, -0.014217f, 0.004640f, 0.008703f, 0.020067f, -0.018934f, 0.069013f, -0.005347f, 0.006388f, 0.006447f, -0.031800f, -0.030205f, -0.050131f, -0.020498f, 0.026948f, -0.008887f, 0.013397f, 0.011710f, 0.047409f, 0.008305f, 0.008257f, 0.003203f, 0.037303f, + 0.018845f, -0.016024f, 0.035201f, -0.031715f, 0.005735f, 0.031514f, 0.041716f, 0.037457f, 0.015590f, -0.021802f, -0.034384f, -0.015435f, -0.010503f, -0.025911f, -0.013551f, -0.014859f, -0.003321f, -0.021793f, 0.006172f, -0.007675f, -0.002792f, -0.019025f, -0.001464f, -0.011958f, 0.019296f, 0.001659f, 0.004811f, -0.016940f, -0.002458f, -0.023164f, 0.002361f, 0.009555f, 0.000039f, 0.016521f, 0.011355f, -0.000195f, 0.007718f, -0.003702f, -0.009541f, -0.006287f, -0.003841f, -0.019846f, 0.002623f, 0.003724f, 0.005498f, 0.005667f, -0.008882f, 0.013683f, 0.015856f, 0.006451f, -0.010805f, -0.007999f, -0.003037f, 0.003223f, 0.009164f, 0.004362f, -0.006930f, -0.004146f, -0.003016f, -0.008703f, -0.036165f, 0.020502f, 0.009198f, 0.025080f, -0.007046f, -0.054445f, 0.003954f, -0.036443f, -0.032990f, 0.009914f, 0.007350f, 0.015488f, -0.009965f, 0.011195f, -0.002398f, -0.018528f, 0.029355f, -0.004637f, -0.010368f, -0.011788f, -0.021436f, -0.017801f, 0.010345f, -0.022489f, 0.005005f, -0.014360f, -0.010481f, -0.006157f, 0.028729f, -0.005673f, 0.030867f, 0.019701f, -0.008807f, 0.010471f, 0.010298f, 0.022345f, + -0.016000f, -0.021055f, 0.002574f, 0.013144f, 0.016538f, 0.029456f, -0.033138f, -0.031585f, 0.012903f, 0.010471f, 0.035719f, -0.017953f, -0.003247f, 0.018012f, -0.000553f, 0.005015f, -0.007388f, 0.023740f, 0.029206f, 0.013662f, -0.004500f, 0.018705f, 0.061981f, -0.013924f, -0.019020f, 0.023211f, -0.003313f, 0.036542f, 0.008051f, 0.017002f, 0.019872f, -0.006794f, 0.013666f, 0.042268f, -0.012359f, -0.051018f, 0.035004f, 0.010342f, -0.017599f, 0.004756f, -0.078424f, 0.051607f, -0.001369f, 0.031928f, -0.021243f, 0.016572f, 0.001482f, -0.031114f, -0.030384f, -0.004252f, 0.004809f, -0.023071f, -0.000808f, 0.003287f, -0.005147f, -0.007845f, -0.005727f, -0.025260f, -0.005133f, -0.015281f, -0.000782f, -0.008134f, -0.003282f, -0.009291f, 0.014016f, -0.011483f, -0.009572f, -0.016466f, -0.008867f, -0.018758f, -0.004481f, 0.003761f, -0.011347f, -0.001542f, -0.009513f, -0.009552f, -0.011056f, -0.001024f, -0.009370f, -0.006550f, 0.001777f, -0.003086f, 0.006801f, -0.006177f, -0.012987f, -0.013358f, -0.001166f, 0.001727f, -0.009375f, -0.002175f, -0.004944f, 0.003413f, -0.018618f, -0.000312f, -0.034278f, -0.000537f, + 0.050546f, 0.026454f, -0.067665f, 0.011273f, -0.013138f, 0.006630f, 0.009741f, -0.002404f, -0.035451f, 0.005609f, -0.006464f, 0.030606f, 0.056633f, -0.008761f, 0.017441f, 0.038873f, -0.002879f, -0.009927f, -0.010961f, 0.015829f, 0.056529f, -0.000438f, -0.005198f, 0.048188f, -0.020514f, 0.013510f, -0.001086f, -0.000085f, -0.013597f, 0.018546f, -0.054189f, 0.002333f, 0.015545f, 0.039376f, 0.039924f, -0.033210f, 0.000200f, 0.037848f, -0.003485f, 0.069878f, -0.026367f, -0.033272f, 0.003410f, 0.050937f, 0.007633f, -0.037957f, -0.019354f, 0.012101f, -0.001392f, 0.022544f, -0.057491f, 0.007530f, 0.001276f, -0.011105f, -0.042051f, -0.035522f, 0.008358f, -0.010343f, -0.003764f, 0.002680f, -0.043730f, -0.043920f, 0.008222f, 0.007632f, -0.046284f, -0.014602f, -0.030525f, 0.026869f, -0.072450f, -0.026297f, 0.022106f, -0.042572f, 0.022405f, -0.011026f, -0.018638f, 0.024240f, -0.008567f, 0.036092f, 0.032355f, 0.008214f, 0.019575f, -0.008833f, 0.002918f, -0.024475f, 0.025823f, -0.018842f, 0.014818f, -0.025679f, 0.018087f, 0.001953f, 0.007302f, -0.001649f, -0.001254f, -0.014497f, 0.016590f, -0.019205f, + 0.002028f, 0.002882f, 0.008703f, -0.021145f, 0.009881f, -0.008194f, -0.007528f, 0.007469f, -0.006068f, -0.009612f, 0.013185f, 0.006767f, 0.014182f, 0.007496f, -0.003093f, -0.006781f, -0.008961f, -0.001398f, 0.001427f, -0.009771f, 0.002146f, -0.006979f, 0.002143f, -0.020299f, -0.012435f, -0.007983f, 0.009162f, 0.012917f, -0.008418f, 0.003333f, -0.004667f, 0.005887f, -0.018118f, 0.038322f, -0.000715f, 0.021526f, -0.039987f, -0.002215f, -0.037891f, 0.039667f, 0.016529f, 0.051672f, 0.035190f, -0.017365f, 0.006161f, 0.040958f, 0.019959f, 0.021193f, 0.012418f, -0.033493f, -0.010495f, 0.017503f, 0.001991f, 0.020543f, -0.044322f, -0.031675f, 0.018996f, 0.065980f, 0.008179f, -0.020923f, 0.040540f, 0.012422f, 0.025066f, 0.007481f, 0.004322f, -0.036200f, -0.038264f, 0.001311f, -0.000108f, -0.063892f, 0.004485f, -0.012625f, -0.004061f, 0.021047f, -0.025929f, 0.016057f, 0.049940f, 0.005941f, -0.083393f, -0.058809f, -0.010450f, -0.017685f, -0.021318f, -0.000018f, 0.014270f, 0.013689f, -0.021043f, 0.023490f, 0.020927f, 0.020264f, -0.013575f, 0.017517f, -0.010125f, -0.020930f, -0.005890f, 0.019483f, + -0.062486f, -0.013524f, -0.028663f, -0.031605f, -0.013623f, 0.009229f, -0.017207f, -0.001151f, 0.067088f, 0.039169f, -0.026943f, 0.000762f, -0.000078f, -0.011186f, -0.012956f, 0.006488f, 0.044701f, 0.017168f, 0.006042f, -0.013618f, -0.011119f, -0.023134f, -0.028119f, -0.028548f, -0.007533f, 0.004222f, 0.008136f, -0.009684f, 0.007169f, -0.001934f, -0.007525f, -0.002035f, -0.008684f, -0.025034f, -0.007264f, 0.000237f, -0.007363f, -0.021600f, 0.001877f, -0.007531f, 0.023128f, -0.011701f, 0.007217f, -0.001997f, 0.008994f, 0.000328f, -0.020403f, 0.002103f, 0.022394f, 0.004008f, 0.020042f, -0.005352f, 0.009788f, -0.006289f, 0.005857f, -0.001020f, -0.015423f, -0.005992f, -0.002521f, -0.002169f, -0.003847f, 0.000310f, -0.005364f, -0.010302f, 0.013652f, 0.026895f, -0.037338f, -0.009179f, -0.016017f, 0.010061f, 0.077052f, 0.012428f, -0.038415f, 0.010265f, 0.033845f, -0.007149f, 0.031599f, 0.040846f, -0.021337f, 0.009790f, 0.020185f, 0.014183f, 0.000564f, -0.005821f, -0.012929f, 0.006229f, 0.023771f, 0.012595f, 0.022176f, -0.033609f, -0.052388f, -0.005383f, 0.022866f, 0.020622f, 0.016317f, -0.005774f, + -0.048361f, 0.015611f, 0.010293f, 0.072053f, 0.075250f, 0.018106f, -0.056610f, 0.040832f, -0.021781f, -0.057360f, -0.013798f, -0.067912f, -0.052199f, -0.022758f, -0.025337f, -0.052642f, 0.008834f, -0.021145f, -0.060784f, -0.055169f, 0.015612f, 0.036013f, -0.006288f, -0.046561f, 0.013505f, 0.001445f, 0.014566f, 0.029485f, 0.028264f, -0.036012f, 0.046239f, 0.032118f, 0.003701f, 0.012967f, 0.032062f, -0.001608f, 0.084449f, -0.060396f, -0.029286f, -0.001949f, -0.069371f, 0.056708f, 0.003762f, 0.071259f, 0.021608f, 0.015993f, -0.003973f, 0.014167f, 0.029800f, 0.001241f, -0.028464f, -0.000402f, -0.015368f, 0.011340f, 0.010497f, 0.020399f, -0.008912f, -0.025960f, -0.000545f, 0.024190f, 0.011059f, -0.015391f, -0.008084f, 0.012730f, -0.017691f, -0.000056f, 0.000005f, 0.022206f, 0.008312f, -0.012076f, -0.005629f, -0.013726f, -0.022612f, -0.019250f, -0.001432f, 0.004232f, -0.011391f, -0.008084f, 0.002230f, -0.011102f, 0.017075f, 0.008516f, -0.000561f, 0.010488f, 0.034853f, -0.013384f, -0.007043f, 0.003977f, 0.009116f, -0.018985f, 0.020302f, -0.006950f, -0.000961f, 0.003519f, 0.014966f, 0.026425f, + -0.038168f, 0.010352f, -0.075759f, -0.019948f, -0.005137f, -0.018078f, 0.082185f, 0.026496f, -0.022433f, -0.051490f, -0.026808f, -0.020939f, -0.033380f, -0.023709f, 0.012157f, -0.075378f, -0.016808f, 0.056073f, -0.007076f, -0.005827f, -0.058414f, 0.055672f, 0.026890f, 0.001663f, -0.022465f, 0.023962f, 0.011181f, -0.012781f, 0.024717f, -0.038735f, -0.010893f, -0.019587f, 0.010717f, -0.008739f, -0.025177f, 0.028407f, -0.021554f, 0.012080f, 0.000289f, -0.037635f, -0.024206f, -0.005542f, -0.048126f, -0.046345f, -0.063107f, -0.015766f, 0.028168f, -0.020627f, -0.012003f, 0.036487f, -0.044581f, -0.035826f, 0.038486f, 0.000063f, -0.002810f, 0.035525f, -0.000038f, -0.029706f, -0.017834f, 0.012233f, 0.024865f, -0.038494f, -0.012771f, 0.047661f, 0.019874f, 0.046000f, 0.023086f, -0.008981f, 0.023465f, -0.001476f, -0.062386f, 0.019777f, -0.047340f, 0.034247f, 0.005343f, 0.012785f, -0.020268f, -0.053109f, 0.010663f, -0.007625f, -0.046992f, -0.018248f, 0.020225f, -0.023200f, 0.000373f, 0.007661f, 0.014556f, -0.014763f, 0.000208f, 0.002599f, -0.004612f, 0.010034f, -0.007575f, 0.005770f, 0.018410f, -0.003174f, + 0.005894f, 0.005343f, -0.012976f, 0.004235f, 0.008493f, 0.005543f, -0.009864f, 0.012872f, 0.008039f, -0.000577f, -0.013566f, -0.026047f, 0.004768f, -0.020539f, 0.016291f, -0.020978f, 0.013306f, 0.017796f, 0.000140f, 0.001352f, -0.000187f, 0.010262f, 0.000845f, -0.008744f, 0.019828f, 0.016767f, -0.008852f, -0.005539f, -0.013170f, -0.021248f, 0.056148f, 0.019952f, 0.001815f, 0.007144f, -0.015002f, 0.022620f, 0.034490f, 0.088314f, 0.076642f, 0.006900f, -0.034139f, 0.015911f, 0.044320f, 0.012991f, 0.034254f, 0.025150f, 0.016440f, -0.025863f, -0.033805f, -0.040045f, -0.003097f, 0.015202f, 0.028081f, 0.057442f, 0.029981f, 0.036920f, 0.021038f, 0.034245f, 0.016866f, 0.032994f, -0.022186f, 0.006402f, 0.061546f, -0.001442f, 0.047276f, 0.012831f, 0.038173f, -0.060840f, -0.010242f, -0.017783f, -0.018306f, 0.014453f, 0.023463f, 0.044433f, 0.071220f, 0.060134f, -0.021566f, 0.010849f, -0.079773f, 0.019503f, 0.017964f, 0.070201f, -0.055980f, 0.044470f, -0.014784f, -0.038813f, 0.029554f, 0.009420f, 0.024606f, 0.044042f, -0.014613f, -0.055966f, 0.028717f, -0.035915f, -0.049860f, -0.023345f, + 0.065881f, -0.057313f, -0.081973f, -0.041004f, -0.013886f, 0.043226f, -0.004861f, -0.029171f, -0.056699f, -0.042351f, 0.026561f, -0.003675f, -0.001434f, 0.036657f, -0.040127f, 0.011532f, 0.040420f, 0.016061f, 0.026927f, 0.039689f, -0.027166f, -0.013327f, -0.023025f, 0.030391f, 0.006306f, 0.015723f, 0.010607f, -0.027050f, 0.033369f, 0.008502f, 0.004932f, -0.013177f, -0.049825f, -0.047040f, 0.004269f, -0.022313f, -0.009761f, -0.021159f, -0.018973f, -0.007990f, 0.008251f, -0.000145f, -0.021296f, 0.026743f, 0.021830f, -0.002867f, -0.024127f, 0.004009f, 0.013759f, -0.016772f, -0.008150f, -0.009579f, -0.000304f, 0.011624f, -0.005821f, -0.011560f, -0.009982f, 0.008207f, 0.006232f, 0.013090f, 0.015633f, -0.008365f, -0.007709f, -0.009524f, 0.009006f, 0.010254f, 0.055106f, -0.017204f, -0.061372f, 0.004549f, -0.025756f, -0.087154f, -0.044425f, 0.114919f, 0.015832f, -0.051501f, -0.057046f, 0.006684f, 0.000827f, 0.023968f, 0.029584f, -0.039804f, -0.026800f, -0.063668f, 0.014728f, -0.022900f, -0.015517f, 0.098068f, 0.020840f, -0.013204f, -0.101045f, -0.006194f, -0.054015f, 0.053728f, 0.065830f, 0.007253f, + 0.051195f, -0.060114f, -0.023902f, -0.037848f, -0.009130f, 0.100187f, 0.124226f, 0.020220f, -0.033279f, -0.044031f, -0.089849f, 0.001606f, 0.011535f, 0.108914f, 0.060497f, -0.015469f, -0.178479f, -0.092019f, 0.015307f, -0.016721f, 0.156666f, 0.052944f, -0.075253f, -0.030868f, -0.134307f, -0.042062f, 0.004707f, 0.088272f, 0.090603f, 0.102191f, 0.004842f, 0.024570f, -0.010696f, 0.009262f, 0.125155f, -0.045697f, 0.091945f, -0.021766f, -0.094366f, -0.027755f, -0.100027f, -0.031626f, 0.131075f, 0.060106f, 0.093613f, -0.030470f, 0.073434f, -0.081598f, -0.013023f, 0.020095f, 0.039191f, 0.078401f, -0.026176f, -0.001105f, 0.005010f, -0.006775f, 0.012135f, 0.021373f, -0.022148f, 0.004014f, -0.023286f, -0.041713f, 0.019180f, 0.035059f, 0.019337f, -0.003805f, -0.025270f, -0.055985f, -0.055632f, -0.028744f, 0.019066f, 0.052855f, 0.029580f, 0.041059f, -0.054651f, -0.071184f, -0.055257f, 0.006983f, 0.063224f, 0.070720f, 0.053983f, -0.031334f, -0.136725f, -0.087236f, 0.002932f, 0.069767f, 0.149131f, 0.058511f, 0.012530f, -0.066921f, -0.088984f, -0.030152f, -0.028093f, 0.078907f, 0.086550f, 0.033148f, + -0.004759f, -0.073878f, -0.055751f, 0.018065f, 0.026163f, 0.064446f, 0.031242f, -0.031765f, -0.022527f, -0.038207f, -0.018248f, 0.019524f, 0.017310f, 0.019787f, 0.024452f, -0.004200f, -0.006702f, -0.079139f, 0.087814f, 0.000502f, -0.023309f, -0.136605f, -0.037199f, -0.036622f, -0.062118f, 0.132964f, 0.001104f, 0.059780f, -0.090942f, 0.050702f, 0.041953f, -0.040397f, 0.026239f, -0.007451f, 0.023431f, 0.000377f, 0.067555f, 0.024354f, -0.066085f, 0.040147f, 0.032537f, 0.000181f, 0.045549f, -0.033462f, -0.017633f, 0.057886f, 0.040062f, 0.038690f, 0.018900f, 0.033719f, -0.099414f, 0.086995f, -0.049992f, -0.031271f, 0.018756f, -0.069144f, 0.101436f, -0.028491f, 0.010041f, 0.073782f, 0.002438f, -0.010765f, 0.039803f, 0.041195f, 0.071851f, -0.017155f, -0.066838f, -0.067648f, 0.007520f, -0.024170f, 0.031499f, -0.040755f, -0.020038f, -0.027461f, 0.020363f, -0.127469f, 0.002091f, 0.095348f, 0.026289f, 0.039063f, -0.003551f, -0.010040f, 0.025050f, -0.033347f, -0.038595f, 0.024236f, 0.013264f, -0.041208f, -0.046219f, 0.176646f, -0.018995f, -0.056884f, 0.016088f, 0.083021f, -0.002222f, -0.064655f, + 0.026882f, -0.011794f, -0.024550f, 0.053597f, 0.067606f, -0.048989f, -0.080745f, 0.018702f, 0.019573f, -0.018229f, -0.048240f, 0.002835f, 0.024508f, -0.007009f, -0.007733f, -0.002773f, -0.008210f, 0.013406f, 0.014545f, -0.016172f, 0.001969f, 0.007694f, 0.003774f, -0.009549f, 0.003874f, -0.000112f, -0.022227f, 0.016573f, 0.007062f, 0.031653f, 0.015661f, -0.011396f, 0.012930f, -0.005718f, 0.018580f, -0.000860f, -0.004577f, 0.025907f, -0.006099f, 0.017895f, -0.004877f, -0.019556f, -0.001502f, 0.023368f, -0.006189f, 0.026536f, -0.024444f, 0.033200f, 0.007967f, -0.023072f, 0.010178f, 0.000979f, 0.012341f, -0.003501f, -0.009164f, -0.001920f, 0.008245f, 0.026263f, -0.068960f, 0.025003f, 0.107195f, 0.170492f, -0.075681f, 0.056054f, -0.112692f, -0.032319f, -0.068864f, -0.008569f, 0.103792f, 0.111500f, 0.087468f, -0.001982f, -0.070794f, -0.041698f, 0.037763f, 0.003695f, 0.018709f, 0.058713f, -0.001529f, 0.029666f, -0.074116f, -0.017914f, -0.043043f, -0.051004f, 0.028068f, 0.024638f, 0.001210f, 0.052832f, -0.044452f, -0.000634f, 0.011329f, -0.061171f, -0.002061f, 0.005341f, -0.039607f, -0.013826f, + 0.014420f, -0.025222f, 0.058219f, -0.018103f, 0.088356f, 0.068081f, -0.043953f, -0.011195f, -0.060980f, -0.068337f, -0.090372f, 0.029934f, 0.041352f, 0.121618f, 0.091711f, 0.044079f, 0.058234f, 0.012345f, -0.066526f, -0.042704f, -0.037316f, -0.044000f, -0.009719f, 0.026506f, -0.002533f, -0.029826f, 0.008009f, -0.030085f, 0.019642f, 0.046159f, 0.008714f, -0.045553f, 0.036582f, -0.021154f, -0.023843f, -0.045548f, 0.024272f, 0.022127f, 0.010675f, 0.007108f, 0.106302f, 0.082580f, 0.066491f, 0.012677f, -0.015325f, -0.088579f, -0.018735f, -0.007972f, 0.088641f, 0.052169f, 0.023220f, 0.028226f, 0.076831f, -0.010729f, -0.030339f, -0.039904f, -0.034467f, -0.014802f, -0.007532f, 0.008523f, 0.001189f, 0.002110f, 0.040059f, -0.003049f, -0.023461f, -0.012969f, -0.007834f, 0.002455f, 0.020020f, 0.037114f, 0.015900f, -0.002847f, 0.022353f, -0.035086f, 0.014769f, 0.035448f, 0.014208f, 0.068263f, -0.026846f, 0.002151f, 0.011850f, -0.026049f, 0.007745f, -0.042438f, -0.001763f, 0.017224f, 0.001079f, 0.019787f, 0.010887f, -0.003114f, -0.000527f, -0.006584f, -0.000689f, 0.010641f, -0.011595f, -0.185575f, + -0.105600f, -0.062722f, 0.107158f, 0.048508f, 0.283225f, 0.263929f, 0.275038f, 0.275888f, 0.297957f, 0.207623f, 0.110064f, 0.156914f, 0.096052f, -0.048537f, -0.086859f, -0.136770f, -0.262498f, -0.238674f, -0.245191f, -0.179725f, -0.179899f, -0.135345f, -0.110200f, -0.060402f, 0.006922f, -0.105632f, -0.052472f, -0.023004f, -0.015625f, -0.057816f, 0.015369f, 0.069153f, 0.080002f, 0.028096f, 0.094353f, 0.117684f, 0.030277f, 0.022009f, 0.024306f, 0.115586f, 0.122651f, 0.152446f, 0.172963f, 0.149310f, 0.171754f, 0.258372f, 0.105990f, 0.201392f, 0.277478f, 0.176527f, 0.210756f, 0.163710f, 0.083337f, 0.097167f, 0.109732f, 0.095521f, 0.132423f, 0.128382f, 0.081163f, 0.014169f, 0.040589f, 0.074975f, -0.004332f, 0.007250f, -0.036383f, -0.044063f, -0.130202f, -0.060484f, -0.225980f, -0.286135f, -0.227475f, -0.261237f, -0.352840f, -0.342768f, -0.201935f, -0.382684f, -0.345406f, -0.317253f, -0.356627f, -0.302898f, -0.229534f, -0.290352f, -0.212207f, -0.060672f, -0.140927f, -0.176292f, -0.068904f, -0.070854f, -0.056687f, -0.064500f, -0.027821f, 0.015292f, 0.035822f, 0.067663f, 0.090110f, 0.101347f, + 0.116348f, 0.118332f, 0.169697f, 0.102045f, 0.199897f, 0.221925f, 0.106419f, 0.205956f, 0.197585f, 0.123396f, 0.151306f, 0.217962f, 0.149302f, 0.246259f, 0.187141f, 0.233348f, 0.164439f, 0.147648f, 0.154874f, 0.142931f, 0.113412f, 0.128289f, 0.112885f, 0.087494f, 0.066895f, 0.063617f, 0.052782f, 0.020771f, -0.017790f, -0.015631f, -0.010686f, -0.080886f, -0.128729f, -0.125056f, -0.127004f, -0.139505f, -0.128281f, -0.144349f, -0.104220f, -0.108943f, -0.088645f, -0.067150f, -0.052239f, -0.060132f, -0.058481f, -0.045930f, -0.032490f, -0.036287f, -0.046374f, -0.025980f, -0.014296f, -0.028490f, -0.041458f, -0.025639f, -0.019296f, -0.026001f, -0.031409f, -0.015205f, -0.002187f, 0.009033f, -0.000399f, 0.006295f, 0.020486f, 0.020885f, -0.002032f, 0.006210f, 0.013796f, 0.009198f, -0.002982f, 0.002636f, 0.007457f, 0.005707f, -0.006052f, 0.000350f, 0.004992f, 0.008470f, 0.004564f, 0.008658f, 0.001706f, 0.005118f, 0.009537f, 0.017114f, 0.005498f, 0.003275f, 0.001455f, 0.005710f, 0.001527f, 0.004166f, -0.000230f, 0.002097f, -0.004999f, -0.008067f, -0.013759f, -0.005509f, -0.008930f, -0.007385f, + -0.012598f, -0.003627f, -0.006704f, -0.004123f, -0.003951f, 0.005249f, 0.001613f, 0.004312f, -0.001080f, 0.008785f, 0.007505f, 0.013821f, 0.006331f, 0.016051f, 0.016974f, 0.020656f, 0.011379f, 0.018823f, 0.017747f, 0.018147f, 0.009476f, 0.014206f, 0.010528f, 0.015053f, 0.007306f, 0.009311f, 0.004167f, 0.009163f, 0.001124f, 0.004362f, -0.000960f, 0.002267f, -0.004499f, -0.001832f, -0.006127f, -0.001849f, -0.007047f, -0.002836f, -0.006866f, -0.001364f, -0.005554f, -0.000365f, -0.004418f, 0.000990f, -0.003190f, 0.002012f}, + {0.020157f, 0.000971f, -0.001240f, -0.000771f, -0.001491f, -0.010355f, -0.010343f, 0.009906f, 0.002486f, -0.006041f, -0.009019f, -0.004460f, -0.006794f, -0.011940f, 0.015272f, 0.001766f, 0.005591f, 0.007499f, 0.021963f, -0.000630f, 0.003587f, -0.005337f, -0.001849f, -0.004120f, -0.014158f, 0.003115f, -0.004263f, 0.001342f, 0.010007f, -0.003978f, -0.000874f, 0.002093f, 0.001150f, -0.002418f, 0.000566f, -0.013232f, 0.002836f, -0.000378f, -0.004622f, 0.004059f, 0.001995f, -0.008925f, 0.014097f, 0.000432f, 0.002118f, 0.012961f, -0.004947f, -0.005681f, -0.012729f, -0.006561f, 0.008974f, 0.000501f, 0.009560f, -0.004685f, -0.010390f, 0.004514f, -0.009676f, -0.004432f, -0.018779f, 0.007715f, 0.006721f, 0.003976f, 0.005798f, 0.012911f, 0.003473f, -0.005741f, 0.007106f, 0.010716f, -0.006932f, 0.005282f, 0.000072f, -0.002320f, -0.003542f, -0.002947f, 0.007366f, -0.001514f, 0.008163f, -0.004115f, 0.003344f, -0.002556f, 0.003036f, 0.005824f, -0.003072f, 0.002096f, -0.002087f, 0.004700f, 0.003961f, 0.003209f, -0.001522f, 0.001086f, 0.000237f, -0.002681f, 0.001429f, 0.004595f, 0.000929f, 0.001535f, + -0.002629f, 0.001785f, -0.001385f, 0.001044f, -0.001991f, 0.000427f, 0.002768f, -0.008026f, 0.002228f, -0.004998f, -0.009982f, -0.001064f, -0.011806f, -0.014499f, -0.009026f, -0.006985f, -0.015822f, 0.000565f, -0.005658f, -0.003275f, 0.004983f, 0.016875f, 0.001641f, -0.004099f, -0.001853f, 0.002654f, -0.000239f, 0.006970f, 0.012124f, -0.001086f, 0.013603f, -0.001623f, -0.000787f, -0.001684f, 0.007792f, -0.010235f, 0.001683f, 0.001169f, -0.002397f, -0.000643f, -0.005972f, -0.010168f, 0.013988f, -0.004785f, -0.000929f, -0.002534f, 0.006232f, -0.006663f, -0.005579f, 0.002363f, 0.002168f, 0.009645f, -0.006544f, 0.007935f, -0.004558f, -0.008051f, -0.000519f, -0.003355f, 0.002284f, 0.004304f, -0.000060f, 0.005602f, 0.002803f, 0.004072f, -0.005237f, -0.006335f, -0.010306f, -0.007703f, 0.001096f, 0.012405f, 0.001691f, 0.010069f, 0.002745f, -0.005242f, 0.007073f, 0.003265f, -0.007386f, 0.013137f, 0.002321f, -0.012435f, 0.003359f, 0.005591f, 0.001242f, 0.003706f, 0.003355f, -0.008813f, 0.003335f, 0.003053f, 0.002299f, -0.000527f, 0.006602f, 0.002156f, -0.001520f, -0.002140f, 0.000091f, 0.002571f, + 0.000064f, 0.003499f, 0.000029f, 0.000159f, 0.002168f, -0.000850f, -0.001786f, -0.001248f, 0.000494f, -0.001721f, -0.001688f, 0.002259f, -0.000068f, 0.002171f, 0.002056f, -0.000527f, -0.000038f, -0.014675f, -0.013209f, 0.002868f, 0.001387f, 0.011069f, -0.008597f, 0.011384f, -0.005862f, -0.002480f, -0.017892f, -0.001101f, 0.001041f, -0.006065f, -0.001209f, 0.009565f, 0.008838f, 0.013529f, -0.003457f, -0.002036f, 0.008258f, 0.003977f, 0.007396f, -0.018299f, 0.017968f, -0.003896f, -0.000436f, 0.002889f, -0.002407f, -0.000134f, -0.001819f, -0.001247f, 0.011062f, -0.000325f, 0.014582f, -0.002542f, -0.006260f, -0.012298f, 0.001226f, -0.005572f, -0.005092f, 0.008495f, 0.006355f, 0.008880f, 0.000078f, 0.001091f, -0.013318f, -0.009456f, -0.000366f, 0.011912f, 0.003897f, -0.001550f, 0.003762f, -0.004986f, 0.012469f, -0.000697f, -0.011201f, -0.013942f, -0.005207f, 0.015585f, 0.011554f, 0.012031f, 0.005364f, 0.000434f, -0.013293f, -0.005856f, -0.002079f, -0.007659f, 0.007816f, -0.001393f, -0.003890f, 0.006865f, -0.018833f, 0.005551f, -0.002614f, 0.004403f, -0.001659f, -0.005338f, 0.008247f, 0.003191f, + -0.009030f, -0.009384f, 0.004563f, -0.002447f, 0.005354f, 0.001498f, -0.004194f, 0.002885f, 0.003339f, -0.000160f, 0.001173f, 0.000004f, 0.000222f, -0.001567f, -0.000208f, -0.002584f, -0.000152f, -0.002251f, 0.003514f, 0.002023f, -0.002985f, 0.001413f, -0.000898f, 0.000984f, 0.000811f, 0.001293f, -0.002268f, -0.001811f, 0.000482f, 0.001376f, -0.004019f, -0.002171f, 0.003625f, -0.004104f, -0.008194f, -0.001239f, -0.006368f, 0.002968f, 0.010056f, 0.004077f, 0.000264f, -0.004038f, -0.023693f, -0.015455f, -0.000603f, 0.006934f, 0.008172f, 0.000579f, 0.001577f, -0.003227f, 0.008103f, 0.003735f, 0.006475f, -0.010182f, 0.009664f, 0.005707f, -0.011180f, 0.004263f, 0.010082f, -0.000451f, 0.003200f, 0.001765f, 0.009135f, -0.007059f, 0.005388f, -0.000825f, -0.001329f, -0.008709f, 0.000455f, 0.009554f, -0.006105f, -0.004248f, -0.008344f, 0.011197f, -0.001164f, 0.002274f, -0.008771f, -0.024657f, -0.007303f, 0.003759f, 0.002207f, 0.009275f, -0.006670f, -0.003949f, -0.003835f, -0.001532f, -0.008040f, 0.000374f, -0.007265f, 0.016362f, 0.005638f, 0.013371f, -0.013485f, -0.002513f, -0.005636f, 0.012541f, + -0.003850f, -0.002156f, -0.010400f, 0.006545f, -0.000283f, -0.006771f, 0.010498f, 0.003411f, 0.001223f, 0.012258f, 0.002528f, -0.010486f, -0.001551f, 0.001428f, -0.002954f, -0.003444f, 0.000015f, -0.008880f, 0.017845f, 0.007527f, 0.002542f, 0.011309f, 0.004784f, 0.004561f, 0.008142f, -0.002197f, 0.006882f, -0.003825f, 0.001139f, 0.000872f, 0.000361f, -0.001915f, 0.001200f, 0.000696f, -0.000711f, -0.001052f, -0.001211f, 0.001022f, -0.000966f, 0.000244f, 0.005891f, 0.000789f, -0.000221f, 0.000068f, -0.000124f, -0.000632f, 0.004669f, 0.001391f, 0.003017f, 0.000377f, -0.003058f, -0.000579f, 0.006668f, -0.005324f, 0.004263f, 0.000323f, -0.002629f, 0.011129f, 0.008606f, -0.000931f, -0.015189f, -0.020446f, -0.015664f, 0.005771f, 0.000098f, -0.008863f, -0.002207f, 0.000976f, -0.001913f, 0.022881f, 0.004054f, -0.016623f, -0.004311f, -0.005002f, 0.000932f, -0.007846f, 0.013073f, -0.009738f, -0.012605f, 0.011836f, -0.004888f, 0.003224f, 0.003261f, -0.005467f, -0.014851f, 0.001962f, -0.007861f, -0.007073f, -0.007213f, -0.000941f, 0.011763f, -0.001634f, -0.002522f, 0.017190f, 0.003279f, 0.002617f, + -0.022086f, -0.002495f, 0.011968f, 0.013852f, -0.007544f, 0.003751f, 0.002024f, -0.021923f, -0.002804f, -0.001350f, -0.002103f, 0.005516f, 0.000380f, -0.012295f, 0.001736f, -0.009830f, 0.009561f, -0.003343f, 0.012270f, 0.002424f, -0.013784f, 0.006175f, 0.026269f, -0.010142f, 0.000370f, -0.019466f, 0.004860f, 0.016390f, -0.029218f, 0.004202f, -0.001945f, -0.002531f, 0.007443f, -0.004725f, -0.007521f, 0.013794f, 0.013320f, -0.011370f, -0.001236f, 0.008648f, -0.003692f, 0.002059f, 0.004215f, 0.002579f, 0.000985f, -0.003297f, 0.007499f, -0.000164f, 0.004956f, 0.000235f, 0.006720f, 0.004506f, 0.004298f, -0.000310f, 0.001573f, 0.007350f, 0.000947f, -0.001462f, 0.002728f, 0.002320f, 0.001030f, 0.006122f, -0.003207f, 0.001981f, 0.001135f, -0.001300f, 0.000607f, 0.002247f, 0.001694f, 0.000795f, -0.000409f, 0.000326f, 0.019904f, 0.002186f, 0.009073f, 0.013665f, -0.016894f, -0.005518f, -0.012826f, 0.006341f, 0.007874f, 0.014871f, 0.029538f, 0.004365f, -0.022035f, -0.002325f, -0.005327f, -0.002551f, -0.009364f, -0.000197f, -0.000790f, 0.010833f, 0.009099f, 0.002979f, -0.000494f, 0.000220f, + -0.003137f, -0.002774f, 0.012978f, -0.004351f, -0.001391f, 0.009258f, -0.000880f, 0.005370f, -0.000632f, 0.011848f, -0.008888f, -0.018432f, 0.022991f, -0.001539f, 0.005707f, -0.017260f, 0.001585f, -0.005387f, 0.025485f, 0.003770f, 0.011722f, -0.002572f, 0.010436f, 0.006608f, -0.022423f, -0.003773f, -0.012437f, -0.011172f, 0.001884f, 0.015866f, 0.002367f, -0.003399f, 0.025262f, -0.002811f, -0.013713f, -0.010916f, -0.006999f, 0.012058f, 0.037999f, -0.000241f, 0.010815f, 0.002540f, -0.011616f, -0.002791f, 0.000588f, 0.011012f, 0.017491f, 0.001423f, 0.014139f, 0.012119f, -0.022137f, 0.000602f, -0.003627f, -0.000715f, 0.011694f, -0.005178f, 0.003341f, 0.005197f, -0.001324f, -0.011702f, -0.007616f, -0.017030f, 0.004465f, 0.006612f, -0.000425f, 0.002479f, 0.002918f, 0.001935f, 0.000230f, -0.005364f, 0.001552f, 0.002377f, 0.000148f, 0.002196f, -0.002292f, 0.004395f, 0.000067f, 0.002159f, -0.000784f, -0.000911f, -0.001709f, 0.000474f, -0.000697f, 0.000698f, 0.004199f, 0.005887f, 0.005426f, 0.000660f, 0.001781f, 0.003577f, 0.002530f, 0.000033f, 0.002570f, 0.000656f, -0.000061f, 0.004439f, + -0.006418f, -0.029342f, 0.006863f, -0.003224f, 0.010242f, 0.006099f, 0.027316f, 0.005151f, -0.004855f, 0.006187f, 0.020960f, 0.022610f, 0.009718f, 0.015834f, 0.016761f, -0.013106f, -0.009693f, -0.021049f, -0.022162f, 0.002139f, 0.009914f, -0.019275f, -0.013242f, -0.001349f, -0.021691f, -0.018502f, 0.009457f, 0.002627f, -0.009510f, -0.006817f, -0.014157f, 0.011617f, 0.008955f, 0.019312f, 0.037569f, -0.004480f, -0.010369f, -0.004328f, -0.018188f, -0.000561f, -0.014127f, -0.016215f, 0.019348f, 0.001835f, 0.002841f, -0.024940f, 0.025599f, 0.004694f, -0.015613f, -0.005436f, 0.013271f, 0.000521f, 0.003029f, -0.000790f, 0.002320f, 0.007070f, -0.011921f, 0.013847f, 0.000504f, -0.010342f, -0.002600f, -0.017463f, 0.002844f, -0.017922f, -0.015395f, 0.013089f, 0.014078f, -0.014335f, -0.022008f, 0.005271f, -0.010525f, -0.001982f, -0.005745f, 0.007078f, -0.006186f, 0.009461f, 0.003317f, 0.011533f, -0.002541f, 0.008513f, 0.004749f, -0.020306f, -0.006809f, 0.004500f, 0.002773f, -0.000043f, -0.009692f, -0.005959f, -0.002793f, 0.006176f, -0.003657f, -0.003712f, 0.000438f, 0.004862f, 0.004244f, -0.000641f, + -0.000142f, -0.006125f, -0.002933f, 0.000680f, -0.001209f, -0.000995f, 0.004820f, 0.000090f, -0.000190f, -0.004620f, 0.004175f, 0.000866f, -0.001398f, -0.001241f, -0.002693f, -0.000967f, -0.002997f, 0.003832f, -0.000927f, 0.001529f, -0.001110f, 0.007509f, -0.011245f, -0.011934f, 0.014447f, -0.004347f, -0.003641f, 0.008615f, -0.012392f, -0.012682f, 0.014559f, 0.019891f, 0.000118f, -0.001056f, 0.006462f, -0.016844f, 0.028757f, -0.017650f, 0.001872f, 0.014005f, -0.006826f, 0.013073f, 0.015398f, 0.005284f, -0.016660f, 0.017826f, -0.002882f, 0.006776f, -0.013120f, -0.002286f, -0.024729f, 0.008542f, -0.014794f, 0.005723f, -0.025448f, 0.014903f, -0.018672f, -0.012754f, 0.010284f, 0.014708f, 0.004658f, 0.001718f, 0.000355f, -0.015743f, -0.014954f, -0.009299f, 0.038083f, 0.021126f, -0.006284f, -0.035440f, -0.005263f, 0.010063f, 0.020423f, -0.011628f, 0.001433f, -0.024485f, -0.008686f, -0.002981f, 0.006139f, 0.003648f, -0.005755f, -0.000400f, 0.010527f, -0.012111f, -0.000912f, -0.013814f, 0.007297f, 0.009087f, 0.026252f, 0.011275f, -0.013108f, 0.005486f, -0.007403f, -0.019995f, -0.002764f, 0.011590f, + 0.001412f, 0.032992f, -0.019107f, -0.009200f, 0.004866f, -0.017176f, 0.008543f, 0.002757f, -0.003471f, 0.016757f, 0.003919f, 0.007401f, -0.000099f, 0.000608f, -0.002841f, 0.008282f, 0.012114f, 0.002975f, -0.003786f, 0.009046f, -0.004948f, 0.002836f, -0.008747f, -0.002854f, -0.000248f, -0.011220f, -0.000426f, -0.004374f, -0.002222f, -0.004368f, -0.007509f, -0.003380f, 0.002261f, 0.002817f, 0.001719f, -0.002383f, -0.000598f, 0.004932f, -0.008436f, 0.000830f, 0.000463f, -0.025430f, -0.003562f, 0.005035f, 0.015077f, 0.007117f, 0.019638f, 0.003404f, -0.023130f, 0.014683f, -0.019542f, -0.021231f, 0.000750f, -0.002055f, 0.016214f, 0.019816f, 0.018519f, 0.026632f, 0.006714f, -0.027749f, 0.030409f, 0.016406f, -0.012043f, 0.023140f, -0.002830f, 0.002719f, -0.020225f, -0.007176f, -0.005702f, -0.009159f, 0.019687f, -0.032872f, -0.007222f, -0.015499f, -0.014447f, 0.002605f, 0.015986f, -0.007577f, -0.018716f, -0.020153f, -0.025926f, -0.026500f, -0.013221f, -0.004582f, 0.011591f, -0.020817f, -0.026675f, -0.015968f, -0.006570f, -0.013271f, -0.008615f, 0.023337f, -0.012961f, 0.002127f, 0.012632f, -0.021316f, + -0.012416f, -0.014387f, 0.023270f, -0.009907f, 0.015230f, 0.032976f, -0.003001f, 0.007351f, 0.003440f, -0.010187f, -0.013064f, -0.009136f, 0.015823f, -0.002384f, 0.018087f, 0.001020f, 0.013709f, 0.003091f, -0.022478f, 0.028059f, -0.011909f, -0.003637f, -0.023890f, 0.014744f, 0.031842f, 0.005295f, -0.004109f, 0.008349f, 0.003885f, -0.020290f, -0.009223f, 0.001154f, -0.004564f, -0.002220f, -0.008499f, -0.008578f, -0.001184f, 0.001469f, 0.001489f, 0.014663f, -0.001476f, 0.001832f, -0.007058f, 0.005552f, 0.000829f, 0.011017f, 0.005024f, 0.004956f, 0.002316f, -0.001357f, -0.004531f, -0.004039f, -0.006381f, -0.001465f, -0.004750f, 0.003290f, 0.001923f, -0.000134f, -0.003242f, -0.002957f, -0.002317f, -0.001030f, 0.001375f, -0.001202f, 0.006278f, 0.047092f, 0.029294f, 0.021740f, -0.015780f, -0.033480f, -0.009349f, 0.020774f, -0.032190f, -0.017162f, 0.000368f, 0.025332f, 0.017733f, 0.014819f, -0.018759f, 0.014206f, -0.005238f, 0.014201f, -0.003915f, 0.036516f, 0.021490f, -0.001553f, -0.033623f, -0.003197f, 0.025031f, 0.021757f, 0.000635f, 0.044214f, 0.019628f, -0.008597f, -0.000282f, 0.003278f, + -0.005467f, -0.012039f, -0.017203f, -0.002422f, -0.047820f, 0.013714f, -0.016582f, 0.002501f, -0.001946f, 0.012659f, 0.017419f, 0.000687f, 0.004435f, -0.020981f, 0.014846f, -0.007472f, 0.031209f, 0.000960f, 0.004219f, -0.076466f, -0.003578f, 0.020704f, 0.010284f, 0.022006f, -0.007748f, -0.021240f, 0.011648f, 0.004403f, -0.017881f, 0.016988f, 0.003108f, -0.016628f, -0.000042f, 0.000961f, 0.005592f, -0.005960f, -0.028374f, -0.027895f, -0.001452f, -0.009883f, 0.009134f, 0.010156f, 0.003872f, 0.010794f, -0.034685f, -0.011549f, 0.001466f, 0.007864f, 0.007994f, -0.013452f, 0.010490f, 0.002760f, -0.005234f, 0.003875f, 0.009428f, -0.006236f, 0.000991f, -0.001850f, 0.003709f, -0.006347f, -0.010629f, -0.003237f, 0.011931f, -0.009024f, 0.000976f, -0.006681f, 0.004577f, -0.002620f, 0.004011f, 0.007312f, -0.001191f, -0.006781f, 0.005410f, -0.000941f, -0.008567f, -0.004994f, 0.002605f, 0.004053f, 0.000099f, -0.003068f, 0.001279f, -0.000415f, 0.004710f, -0.002138f, 0.009465f, -0.003102f, -0.001003f, 0.005965f, -0.032429f, -0.052012f, 0.008337f, 0.018086f, 0.018661f, 0.000499f, 0.043211f, -0.030727f, + 0.010083f, 0.005977f, -0.008844f, -0.027272f, -0.011578f, -0.015489f, 0.018286f, -0.008007f, -0.016899f, -0.027760f, -0.002641f, -0.010230f, -0.005385f, -0.020928f, 0.011112f, -0.001270f, -0.009891f, 0.011342f, 0.014308f, 0.017066f, -0.022175f, 0.040416f, 0.002379f, -0.005763f, -0.024873f, -0.023270f, -0.004816f, -0.003022f, -0.024264f, -0.025174f, -0.019428f, 0.016297f, -0.011286f, 0.027000f, 0.008557f, 0.045028f, 0.015362f, 0.017113f, -0.005854f, 0.024157f, -0.004278f, 0.005834f, 0.034110f, -0.010396f, 0.012324f, -0.041089f, -0.052428f, 0.011432f, -0.002556f, -0.033212f, 0.001991f, 0.000834f, -0.045262f, 0.012726f, -0.013392f, -0.008930f, -0.017728f, 0.017056f, -0.016570f, 0.000944f, -0.001904f, 0.008222f, -0.000039f, -0.024729f, 0.014430f, -0.003566f, 0.005696f, -0.031192f, -0.043138f, -0.038332f, 0.002048f, -0.009092f, -0.043677f, -0.009180f, 0.041802f, 0.022071f, 0.009634f, 0.007985f, -0.019439f, 0.000639f, -0.004524f, 0.001872f, -0.006454f, -0.005160f, -0.000304f, -0.000477f, 0.001591f, -0.000062f, -0.013594f, -0.003254f, 0.003489f, -0.002540f, 0.006439f, 0.010680f, 0.008876f, -0.000098f, + -0.001575f, -0.004645f, 0.014116f, 0.008172f, 0.009268f, 0.007782f, 0.005654f, -0.001054f, -0.005472f, -0.004861f, 0.011003f, -0.008566f, 0.006539f, 0.009312f, 0.003578f, 0.004594f, 0.000697f, 0.002753f, -0.007533f, 0.000683f, -0.002212f, -0.006409f, 0.003038f, 0.004297f, 0.008504f, 0.031581f, 0.041492f, -0.001237f, 0.011153f, 0.026072f, 0.021593f, -0.002234f, -0.052478f, 0.036009f, -0.003373f, 0.009788f, -0.010545f, 0.018461f, -0.001102f, -0.022791f, 0.006625f, 0.041418f, 0.006563f, -0.027186f, 0.024191f, 0.017132f, 0.011457f, -0.020434f, 0.022298f, 0.016365f, 0.002208f, 0.026354f, -0.010221f, 0.007078f, 0.042703f, 0.030946f, 0.001553f, 0.009820f, 0.021148f, -0.039990f, -0.007744f, -0.002511f, -0.005919f, -0.035023f, 0.009344f, 0.010659f, 0.002395f, -0.027137f, -0.000038f, -0.046493f, 0.002888f, -0.033200f, -0.006172f, 0.017213f, -0.013782f, -0.020060f, -0.015770f, 0.009970f, 0.008569f, -0.018489f, 0.007812f, -0.006610f, 0.023414f, -0.011844f, -0.013026f, 0.012079f, 0.021928f, -0.001952f, 0.009829f, 0.008415f, -0.050356f, -0.001043f, -0.003253f, -0.025786f, 0.003192f, 0.033250f, + 0.010601f, -0.009137f, -0.003566f, 0.024353f, 0.017503f, 0.010744f, -0.006302f, 0.038562f, 0.000931f, -0.031673f, 0.004832f, 0.038609f, 0.020485f, 0.019723f, 0.012107f, 0.002340f, -0.008892f, -0.010614f, 0.007527f, 0.006510f, 0.009732f, 0.014692f, -0.002954f, 0.011672f, 0.007567f, 0.001430f, -0.001314f, -0.000861f, 0.005758f, -0.004869f, -0.001334f, -0.004814f, 0.000562f, -0.002086f, 0.006322f, -0.011223f, 0.002700f, 0.004318f, 0.001974f, 0.009221f, -0.014912f, -0.006141f, 0.003410f, 0.003405f, -0.000793f, 0.009465f, -0.002537f, -0.002575f, -0.003532f, 0.001484f, 0.006652f, 0.007319f, -0.007864f, 0.001763f, 0.004902f, -0.007499f, -0.004181f, -0.003907f, -0.003131f, 0.020988f, -0.047335f, 0.020546f, -0.048995f, -0.056458f, -0.037789f, 0.003173f, -0.032363f, 0.031494f, -0.010472f, -0.037726f, -0.002134f, -0.009041f, 0.004386f, 0.007907f, -0.009816f, -0.004233f, 0.024527f, -0.006847f, 0.008828f, -0.013106f, -0.014629f, 0.041098f, -0.014461f, -0.003921f, -0.002082f, 0.009913f, 0.024012f, -0.049990f, -0.004312f, 0.027860f, 0.025327f, 0.025283f, 0.002352f, -0.008486f, 0.051264f, 0.018390f, + 0.015533f, 0.021065f, 0.008354f, -0.006659f, -0.000554f, 0.031416f, 0.009009f, -0.021023f, 0.010559f, 0.057260f, -0.030811f, 0.039783f, 0.013392f, -0.059037f, 0.013509f, 0.040796f, -0.005306f, 0.018727f, -0.001178f, -0.044586f, 0.021921f, 0.057040f, 0.002227f, 0.039006f, -0.024176f, 0.034585f, 0.027088f, -0.000237f, -0.006043f, 0.031796f, 0.015518f, -0.040265f, 0.039951f, -0.009455f, -0.010324f, 0.025496f, -0.013012f, -0.014063f, -0.019251f, 0.007039f, 0.001132f, 0.007471f, -0.002718f, -0.007643f, 0.029740f, -0.026832f, 0.003726f, -0.005050f, -0.009995f, -0.021822f, -0.022330f, 0.013181f, -0.002652f, -0.013217f, -0.020047f, -0.015354f, -0.028126f, -0.018642f, -0.002120f, -0.012729f, -0.009031f, -0.001397f, -0.015107f, 0.006487f, -0.013434f, -0.012189f, -0.004529f, 0.003701f, 0.003417f, -0.005865f, -0.001895f, -0.019425f, 0.006854f, -0.020410f, 0.014887f, -0.004841f, -0.002452f, -0.008666f, -0.006131f, -0.000519f, 0.022823f, 0.012507f, -0.003606f, 0.006202f, 0.015336f, 0.009446f, -0.010199f, -0.003818f, 0.005298f, -0.007738f, 0.012272f, 0.003473f, -0.006383f, 0.005026f, -0.018639f, -0.031671f, + 0.076773f, 0.038747f, -0.090626f, -0.036640f, 0.009055f, -0.014431f, 0.025524f, 0.031157f, 0.032378f, 0.038129f, -0.023624f, 0.071784f, -0.011238f, 0.002308f, -0.023843f, 0.027369f, 0.035281f, -0.025286f, -0.029936f, -0.005680f, -0.017459f, 0.003679f, 0.013762f, 0.002717f, -0.019038f, -0.006486f, 0.028837f, -0.001825f, 0.014316f, 0.004098f, 0.034804f, 0.053457f, 0.019565f, -0.024935f, -0.060161f, -0.004482f, -0.010645f, 0.007239f, -0.014325f, 0.020203f, 0.032538f, 0.003518f, -0.012778f, -0.026720f, 0.064682f, 0.057553f, -0.008092f, 0.028377f, -0.016047f, -0.020304f, -0.063341f, 0.035256f, -0.029839f, -0.006219f, -0.002409f, -0.019095f, 0.010472f, 0.039120f, 0.005367f, -0.016484f, 0.017777f, -0.007337f, -0.026466f, 0.039992f, 0.007474f, -0.054131f, 0.069518f, -0.046917f, -0.025965f, 0.027636f, 0.027265f, 0.023848f, -0.000147f, -0.057852f, -0.005571f, 0.005676f, -0.003940f, -0.018641f, 0.010764f, -0.009486f, 0.003586f, 0.007800f, -0.024793f, 0.028557f, 0.018958f, 0.009937f, 0.003208f, -0.010943f, -0.009070f, -0.000019f, 0.009325f, 0.001411f, 0.007063f, -0.004034f, -0.019341f, 0.006226f, + -0.028090f, -0.008183f, 0.008187f, -0.007594f, 0.014485f, -0.012217f, -0.002459f, -0.010300f, 0.011420f, 0.001586f, 0.014175f, 0.017690f, 0.011211f, 0.001035f, -0.013578f, 0.009967f, 0.015370f, -0.002623f, -0.002457f, -0.016563f, -0.008138f, 0.020385f, -0.007384f, 0.013941f, -0.001767f, -0.006930f, 0.006431f, 0.007198f, -0.001020f, -0.010727f, 0.019893f, -0.010323f, -0.024897f, 0.002802f, 0.035525f, 0.010571f, -0.048270f, -0.038666f, -0.009294f, 0.060380f, 0.006278f, -0.028959f, -0.077882f, -0.021633f, -0.003569f, 0.018508f, 0.053548f, 0.041072f, -0.005766f, 0.000530f, 0.035214f, 0.028706f, 0.001300f, 0.007885f, -0.105090f, -0.066218f, -0.032314f, -0.051888f, 0.004473f, -0.028937f, 0.046447f, -0.010627f, -0.003686f, -0.000213f, -0.018764f, -0.021364f, 0.033642f, 0.021003f, 0.011879f, -0.004751f, -0.016085f, -0.014356f, 0.016735f, -0.037636f, -0.014152f, 0.006668f, -0.013099f, -0.018326f, 0.015654f, -0.054407f, -0.076188f, 0.018116f, 0.023743f, 0.029557f, -0.044511f, -0.023637f, 0.024572f, 0.009352f, -0.074274f, -0.065188f, 0.003912f, -0.031547f, -0.032686f, 0.012142f, -0.060015f, 0.030432f, + -0.023246f, 0.025010f, 0.023948f, -0.014876f, -0.033847f, -0.078100f, -0.027429f, -0.023465f, 0.043790f, -0.037894f, -0.024763f, 0.013365f, 0.044766f, 0.026122f, 0.000202f, -0.015257f, -0.005066f, 0.013406f, -0.013486f, 0.045286f, -0.028109f, -0.022000f, -0.010675f, -0.003940f, 0.012409f, -0.033367f, 0.019608f, 0.015059f, -0.014017f, -0.023366f, 0.005396f, -0.001358f, 0.022710f, -0.029182f, -0.038093f, -0.009658f, 0.005991f, -0.021058f, -0.003200f, -0.025464f, 0.001075f, 0.006209f, -0.011480f, 0.017763f, -0.004806f, -0.012591f, 0.005502f, -0.008511f, 0.005171f, -0.007250f, -0.026458f, -0.001162f, 0.001940f, 0.025254f, 0.019809f, -0.012151f, 0.000100f, -0.001356f, -0.014917f, -0.019098f, 0.009289f, -0.004846f, -0.006938f, 0.005780f, 0.030966f, 0.042533f, -0.006801f, -0.057217f, 0.025922f, -0.008592f, -0.023868f, -0.049345f, 0.014722f, 0.021077f, -0.073158f, 0.027600f, 0.025995f, 0.065946f, 0.005960f, -0.016578f, 0.004075f, -0.080795f, -0.023471f, -0.009872f, 0.001028f, 0.014707f, -0.027633f, 0.049406f, 0.019779f, 0.061077f, -0.012335f, 0.053700f, 0.034492f, 0.021151f, 0.048978f, 0.024694f, + 0.032290f, 0.041520f, 0.001738f, -0.054729f, -0.051577f, 0.010303f, 0.058835f, 0.042368f, -0.078647f, -0.002488f, -0.013427f, -0.011284f, -0.008379f, -0.054665f, 0.013791f, -0.039028f, 0.034729f, -0.026213f, 0.078549f, -0.021003f, -0.113098f, -0.012321f, -0.039098f, 0.022132f, 0.016577f, 0.031831f, 0.073086f, 0.016027f, -0.010165f, 0.039766f, -0.023908f, 0.081513f, 0.013558f, 0.054398f, 0.025523f, 0.004592f, -0.021004f, -0.019202f, 0.134145f, 0.000370f, -0.093033f, -0.019099f, 0.073879f, -0.044775f, 0.009450f, -0.020920f, 0.032268f, 0.067590f, 0.039017f, -0.079063f, -0.005371f, -0.077858f, 0.010440f, -0.011208f, -0.046099f, -0.005964f, -0.012700f, -0.020858f, -0.000443f, -0.040201f, -0.043815f, 0.014436f, 0.016088f, -0.002787f, -0.049011f, 0.034515f, -0.043472f, -0.067441f, -0.028799f, 0.015943f, -0.016922f, -0.030463f, -0.038686f, 0.006316f, 0.015825f, -0.035511f, -0.026934f, 0.012117f, -0.015775f, -0.028841f, 0.022527f, 0.017480f, -0.002058f, -0.004347f, 0.000908f, -0.007273f, -0.011888f, -0.013109f, 0.004045f, -0.026802f, 0.014769f, -0.010184f, 0.005337f, -0.033887f, 0.036177f, 0.016840f, + -0.077599f, -0.027987f, -0.088013f, 0.014105f, 0.076030f, -0.055819f, -0.053932f, 0.051592f, 0.023046f, -0.086110f, -0.083201f, 0.027216f, 0.003527f, 0.012896f, 0.027206f, -0.002631f, -0.025567f, -0.011776f, 0.051797f, -0.036888f, 0.064154f, 0.011388f, -0.016062f, 0.014687f, 0.036706f, 0.000665f, -0.012088f, -0.068763f, -0.031373f, 0.008517f, -0.038124f, 0.032955f, 0.047189f, 0.004260f, 0.007102f, -0.048975f, 0.058497f, -0.020053f, -0.027386f, 0.049191f, -0.019454f, 0.000887f, -0.035573f, -0.002742f, -0.025265f, -0.084759f, 0.028504f, -0.008801f, 0.062727f, 0.082335f, -0.002056f, -0.013783f, -0.052556f, -0.015567f, -0.015254f, 0.078380f, -0.074646f, -0.051315f, -0.123164f, 0.003633f, -0.051500f, 0.014805f, 0.041560f, -0.022118f, -0.007256f, 0.084186f, 0.052933f, 0.038804f, 0.005695f, 0.004568f, 0.062436f, -0.067905f, -0.003875f, 0.020247f, -0.008999f, 0.038629f, 0.017286f, 0.161737f, 0.024562f, -0.043245f, -0.003370f, -0.029405f, -0.080252f, -0.030724f, 0.002047f, 0.014201f, -0.016195f, -0.015738f, -0.015937f, -0.055984f, -0.001633f, -0.003961f, -0.031026f, 0.008732f, 0.019286f, -0.047908f, + 0.002256f, -0.032284f, 0.011986f, -0.001563f, -0.012387f, -0.005858f, 0.001882f, 0.029321f, 0.015773f, 0.001961f, 0.030776f, -0.018817f, -0.005062f, -0.008603f, 0.028899f, 0.020644f, 0.013244f, 0.031360f, 0.013321f, -0.021247f, -0.011488f, -0.002933f, 0.014236f, -0.026910f, -0.008085f, 0.001540f, -0.032084f, 0.034575f, -0.009451f, 0.005503f, 0.074570f, -0.054880f, 0.019077f, -0.018994f, -0.026463f, -0.026122f, 0.112580f, -0.015358f, 0.055283f, -0.044903f, 0.076790f, -0.026947f, 0.001139f, 0.041017f, 0.044322f, 0.105504f, 0.005025f, 0.016917f, 0.015500f, -0.045388f, 0.054596f, 0.016488f, -0.032205f, 0.052802f, -0.022357f, 0.066600f, 0.051152f, -0.016379f, 0.044478f, 0.001529f, 0.041505f, 0.007816f, 0.070467f, -0.043712f, 0.035080f, -0.071979f, -0.018025f, 0.023336f, 0.076352f, -0.004010f, 0.006014f, 0.032287f, -0.000429f, -0.026495f, -0.092305f, -0.057670f, 0.015552f, -0.040302f, -0.001957f, 0.028324f, -0.080500f, 0.048322f, -0.003757f, 0.057592f, -0.028050f, -0.055482f, -0.009796f, 0.150098f, 0.033997f, -0.138261f, 0.023896f, 0.034046f, 0.008244f, 0.148518f, -0.009364f, -0.111082f, + 0.113880f, -0.039535f, -0.007740f, 0.124053f, -0.013836f, 0.081221f, 0.012849f, -0.075434f, 0.002732f, 0.126764f, -0.104813f, 0.053656f, -0.064424f, -0.073290f, 0.052986f, 0.031004f, -0.066495f, -0.025397f, -0.041513f, -0.023493f, -0.024507f, 0.010671f, -0.040970f, -0.009595f, 0.015539f, -0.042764f, -0.030342f, 0.020197f, -0.049224f, -0.013201f, 0.016530f, 0.005345f, -0.011857f, 0.035049f, -0.016458f, -0.013796f, -0.018322f, -0.034480f, 0.015308f, -0.022795f, -0.025279f, -0.007343f, 0.003494f, 0.047073f, -0.000579f, 0.012156f, -0.040995f, 0.002471f, 0.050722f, -0.011325f, -0.007010f, -0.005815f, 0.001621f, 0.001825f, 0.035068f, -0.020873f, -0.023121f, -0.012916f, -0.035440f, -0.042812f, 0.009828f, -0.022336f, -0.018215f, 0.024142f, 0.007168f, 0.015147f, -0.007117f, -0.108596f, -0.010242f, 0.019194f, -0.043124f, -0.009907f, -0.117753f, 0.075541f, 0.110896f, -0.047388f, 0.014165f, -0.083623f, -0.252164f, -0.045755f, 0.009816f, 0.129254f, 0.104903f, -0.102362f, -0.094954f, -0.091749f, -0.078944f, -0.052294f, 0.064422f, -0.009305f, 0.144121f, 0.101006f, -0.031227f, -0.118544f, -0.303741f, -0.193229f, + 0.011782f, 0.337299f, 0.253153f, 0.048919f, -0.133367f, -0.327613f, -0.339707f, -0.022386f, 0.194840f, 0.306490f, 0.331738f, 0.036610f, -0.109791f, -0.134358f, -0.183021f, -0.160895f, 0.009038f, 0.114987f, 0.208105f, 0.146815f, 0.113626f, -0.148323f, -0.186415f, -0.214520f, -0.262919f, 0.031420f, 0.310875f, 0.310494f, 0.060778f, -0.109172f, -0.295348f, -0.382616f, -0.132038f, 0.031735f, 0.141087f, 0.353114f, 0.127313f, 0.001176f, -0.195581f, -0.156431f, -0.068695f, 0.081770f, 0.135310f, 0.242945f, 0.061041f, 0.127753f, -0.012190f, -0.159792f, -0.135780f, 0.009324f, 0.153543f, 0.171516f, -0.079442f, -0.145962f, -0.183105f, -0.043739f, 0.027483f, 0.044515f, 0.025492f, -0.088861f, -0.080442f, -0.030907f, 0.055662f, 0.001439f, -0.001273f, 0.014334f, 0.044060f, 0.038784f, 0.026650f, -0.014546f, -0.112447f, -0.071918f, 0.005973f, 0.058114f, 0.102956f, 0.052269f, -0.032054f, -0.068567f, -0.094648f, -0.056569f, -0.039451f, -0.047147f, 0.103177f, 0.111526f, 0.118622f, 0.101703f, -0.049148f, -0.191860f, -0.166102f, -0.087076f, 0.071957f, 0.245075f, 0.233910f, 0.014291f, -0.151916f, -0.232529f, + -0.212849f, -0.012741f, 0.114070f, 0.110797f, 0.050650f, 0.049148f, 0.000055f, -0.061831f, -0.077953f, -0.094221f, -0.017122f, 0.089562f, 0.106166f, 0.077850f, 0.006983f, -0.072339f, -0.068864f, -0.030693f, 0.054824f, 0.040469f, -0.094020f, 0.000099f, 0.049830f, -0.040177f, 0.054983f, -0.003118f, -0.008915f, -0.004791f, 0.011878f, 0.040148f, -0.015135f, 0.047479f, 0.033896f, 0.018815f, 0.022898f, 0.015738f, -0.003179f, -0.028560f, 0.046251f, -0.001468f, 0.028623f, -0.017310f, 0.025605f, -0.009294f, -0.002490f, 0.015874f, -0.021337f, -0.024420f, 0.004520f, -0.010958f, 0.037674f, 0.035394f, -0.032110f, 0.015769f, -0.018692f, 0.021986f, 0.001549f, 0.014179f, 0.006763f, 0.018642f, -0.022535f, 0.015631f, -0.026092f, -0.012527f, -0.002677f, -0.003792f, 0.023053f, -0.042179f, -0.007084f, -0.017819f, -0.035800f, -0.003963f, -0.013391f, 0.008143f, 0.036283f, -0.011239f, -0.047624f, 0.007177f, 0.031389f, 0.058381f, -0.001448f, 0.004555f, -0.030676f, -0.024820f, 0.028642f, 0.001867f, -0.009265f, 0.000207f, 0.049360f, 0.020718f, 0.016382f, 0.025421f, 0.045591f, -0.050932f, 0.021276f, -0.009188f, + -0.073899f, -0.009337f, 0.059303f, -0.011351f, 0.052902f, -0.002883f, 0.033319f, -0.038564f, 0.024717f, -0.026405f, -0.006450f, 0.050361f, -0.013397f, 0.004153f, 0.002314f, -0.000756f, 0.019865f, -0.000605f, -0.006363f, -0.004851f, -0.000138f, -0.004114f, 0.010595f, 0.014094f, 0.022615f, 0.001913f, -0.016964f, -0.008726f, -0.022303f, 0.008385f, -0.023163f, 0.012729f, 0.011375f, -0.008042f, 0.015014f, 0.003886f, -0.024043f, -0.000070f, 0.001299f, 0.007618f, -0.042218f, 0.014745f, 0.011012f, 0.003335f, 0.000171f, -0.012499f, 0.015623f, -0.022494f, 0.023595f, -0.002197f, -0.001296f, 0.005520f, -0.009243f, 0.018320f, -0.019655f, 0.005440f, -0.010203f, 0.011327f, -0.035415f, 0.089342f, 0.151829f, 0.013827f, -0.100578f, 0.034298f, -0.008261f, 0.124534f, 0.057385f, 0.122438f, -0.012179f, -0.056945f, -0.016453f, 0.027828f, 0.050386f, 0.040854f, -0.023260f, 0.004801f, 0.020988f, 0.016645f, 0.047579f, -0.032862f, 0.007438f, -0.044620f, -0.008074f, 0.001571f, 0.011005f, 0.024666f, 0.004517f, -0.018472f, 0.036298f, -0.002452f, -0.033369f, 0.045572f, -0.008303f, -0.014974f, 0.011172f, -0.005641f, + 0.034056f, 0.056393f, 0.000701f, 0.015482f, -0.019285f, -0.010605f, 0.031398f, 0.024241f, 0.025897f, 0.006308f, -0.017460f, -0.033774f, -0.036380f, -0.037791f, 0.030478f, 0.035248f, 0.032884f, 0.051045f, 0.052913f, 0.024243f, 0.002234f, -0.045627f, 0.028066f, -0.003891f, -0.043006f, 0.053540f, -0.004420f, 0.035610f, 0.017501f, -0.051371f, 0.013978f, -0.014439f, 0.010683f, 0.036701f, 0.006102f, -0.042717f, -0.031718f, -0.024697f, -0.046545f, 0.029237f, -0.003341f, 0.049584f, -0.001005f, 0.009119f, 0.000467f, -0.024894f, -0.017317f, 0.010424f, -0.039970f, 0.013187f, -0.000886f, -0.006406f, 0.013764f, -0.020670f, 0.012894f, 0.009958f, -0.002230f, -0.017284f, 0.023918f, -0.004854f, 0.021173f, -0.035182f, -0.027318f, -0.014545f, -0.014572f, 0.018578f, -0.007685f, -0.003165f, -0.005060f, -0.016903f, -0.010328f, -0.009850f, -0.000363f, 0.035210f, 0.004131f, -0.007197f, -0.000924f, -0.018265f, 0.013972f, -0.009520f, -0.002286f, -0.006055f, 0.015716f, 0.000068f, 0.001788f, -0.001935f, -0.011969f, -0.006411f, 0.017213f, -0.004686f, 0.012243f, -0.002159f, 0.006388f, -0.009518f, -0.053184f, -0.121093f, + 0.008837f, 0.166168f, 0.221222f, 0.188692f, 0.131237f, -0.006168f, 0.008767f, -0.097091f, -0.114148f, -0.193491f, -0.145097f, -0.155473f, -0.049536f, 0.012463f, 0.051091f, 0.084140f, 0.211012f, 0.174424f, 0.118527f, 0.037571f, -0.017910f, -0.076659f, -0.055987f, -0.079680f, -0.099921f, -0.056550f, -0.056868f, -0.071408f, -0.032314f, -0.047189f, 0.010523f, 0.032311f, 0.028306f, 0.089017f, 0.083383f, 0.072812f, 0.048671f, 0.055008f, 0.035650f, 0.065998f, 0.016708f, 0.057025f, 0.003219f, -0.015643f, -0.099885f, -0.044322f, -0.120524f, -0.141477f, -0.156908f, -0.124121f, -0.092135f, -0.033480f, 0.024451f, 0.089981f, 0.097159f, 0.075496f, 0.157230f, 0.126330f, 0.136288f, 0.125044f, 0.117873f, 0.046490f, 0.076472f, -0.030977f, -0.074735f, -0.079624f, -0.185469f, -0.186572f, -0.179042f, -0.191802f, -0.157033f, -0.054469f, -0.025869f, 0.041929f, 0.107433f, 0.115754f, 0.142796f, 0.170620f, 0.153388f, 0.118470f, 0.108828f, 0.079098f, 0.030456f, -0.003486f, -0.063366f, -0.094821f, -0.094393f, -0.109013f, -0.090310f, -0.102576f, -0.105677f, -0.090315f, -0.069251f, -0.035553f, 0.004835f, 0.045835f, + 0.089948f, 0.083085f, 0.083139f, 0.096726f, 0.108123f, 0.082690f, 0.084003f, 0.036719f, -0.038395f, -0.029027f, -0.068017f, -0.087867f, -0.072290f, -0.060448f, -0.041507f, -0.053500f, -0.037737f, 0.004199f, 0.011834f, 0.018171f, 0.047854f, 0.041096f, 0.027050f, 0.006124f, 0.018475f, 0.017709f, 0.006076f, 0.022522f, -0.013589f, -0.016136f, -0.012024f, 0.008284f, -0.001895f, 0.000091f, -0.000565f, -0.003329f, -0.016467f, -0.012265f, -0.004366f, 0.016209f, 0.000568f, 0.007345f, 0.003123f, -0.009206f, -0.010371f, -0.005884f, -0.007090f, 0.002199f, 0.000226f, 0.002709f, 0.002420f, 0.003781f, -0.003543f, 0.003922f, -0.002101f, 0.000893f, 0.003518f, 0.010361f, 0.004972f, 0.012081f, 0.002176f, -0.000246f, -0.002899f, -0.002616f, -0.007664f, -0.000700f, -0.004078f, -0.002148f, -0.005874f, -0.000497f, -0.002742f, 0.001250f, -0.005372f, -0.000849f, -0.000011f, 0.003944f, -0.002503f, -0.000787f, -0.003831f, 0.002149f, 0.000222f, 0.005175f, 0.005141f, 0.007089f, 0.002282f, 0.004640f, -0.000230f, 0.000229f, -0.002216f, 0.002268f, -0.001576f, 0.001593f, -0.001423f, 0.000811f, -0.004595f, -0.003115f, + -0.008294f, -0.003965f, -0.004846f, -0.000826f, -0.003181f, 0.001460f, -0.000819f, 0.002841f, 0.000796f, 0.005867f, 0.003108f, 0.006299f, 0.003090f, 0.005757f, 0.002456f, 0.004183f, -0.000390f, 0.000378f, -0.005000f, -0.002576f, -0.005944f, -0.003434f, -0.006886f, -0.002363f, -0.004193f, 0.000562f, -0.000580f, 0.003512f, 0.000478f, 0.003931f, 0.000788f, 0.003579f, 0.000171f, 0.003046f, -0.000696f, 0.002090f, -0.001437f, 0.001356f, -0.001946f, 0.001210f, -0.001952f, 0.001245f, -0.001893f, 0.001344f, -0.001716f, 0.001531f} + }, + { + {0.019427f, 0.010215f, -0.001089f, 0.006681f, 0.001758f, 0.001468f, -0.021126f, -0.009296f, -0.010430f, 0.008184f, -0.001069f, -0.006961f, 0.007574f, 0.007676f, 0.000575f, 0.007366f, -0.003044f, -0.000332f, -0.000373f, -0.004672f, -0.002329f, -0.010265f, 0.005326f, -0.015139f, 0.006351f, -0.007936f, 0.006473f, 0.011892f, 0.005526f, -0.002363f, -0.003326f, 0.008765f, -0.001368f, 0.000326f, 0.008432f, -0.009056f, -0.000204f, -0.003121f, -0.005110f, 0.001012f, -0.001201f, 0.001768f, 0.008639f, 0.014057f, -0.004441f, 0.000166f, 0.011802f, 0.000803f, 0.003143f, -0.004417f, -0.006532f, -0.001059f, 0.002026f, -0.011190f, -0.002864f, 0.005707f, 0.000803f, 0.002001f, 0.003493f, -0.001688f, -0.003421f, -0.003377f, -0.003844f, 0.004197f, 0.003563f, -0.002144f, -0.006314f, -0.007917f, 0.003908f, -0.000029f, -0.006447f, 0.006749f, -0.001453f, -0.000555f, 0.001086f, 0.001832f, -0.003197f, 0.003995f, -0.004321f, -0.001577f, 0.005397f, -0.003805f, 0.002174f, -0.006370f, -0.004754f, -0.002413f, -0.001515f, -0.000508f, 0.000883f, -0.002635f, -0.003129f, -0.000427f, -0.001768f, 0.000597f, -0.000636f, -0.000685f, + -0.000831f, 0.000556f, 0.000217f, -0.000777f, -0.001263f, -0.000894f, -0.000453f, -0.000236f, -0.000672f, -0.000566f, -0.000962f, 0.000788f, -0.001423f, -0.001016f, 0.001169f, -0.006982f, -0.001886f, 0.000030f, -0.006564f, -0.006692f, -0.003973f, 0.015974f, -0.011210f, -0.004644f, -0.007819f, -0.014312f, 0.005364f, 0.002427f, 0.000584f, 0.012243f, 0.011641f, 0.011616f, 0.003787f, -0.002199f, 0.001829f, 0.008752f, -0.003724f, 0.003763f, 0.004461f, -0.010371f, 0.014767f, 0.002839f, 0.004613f, 0.010879f, -0.004163f, -0.010894f, 0.000763f, 0.007367f, -0.005177f, -0.002380f, -0.006912f, 0.007334f, -0.000160f, -0.000767f, -0.012034f, -0.000540f, -0.001437f, 0.007411f, 0.003824f, -0.006632f, 0.013227f, 0.004855f, 0.002776f, 0.004608f, -0.002123f, 0.007385f, -0.002853f, 0.000352f, -0.009180f, -0.011016f, 0.008851f, 0.006895f, 0.012250f, 0.001181f, 0.003327f, -0.009475f, -0.014617f, -0.007202f, -0.004365f, -0.004278f, -0.006737f, -0.005839f, 0.003051f, -0.001705f, 0.004475f, -0.005507f, -0.002076f, 0.002408f, 0.002765f, -0.001660f, 0.007487f, 0.002259f, -0.005567f, 0.011250f, -0.004383f, 0.003458f, + 0.014232f, 0.003026f, 0.001979f, -0.004405f, 0.000229f, -0.004836f, -0.005746f, -0.000932f, 0.003300f, -0.000065f, 0.000452f, 0.000178f, -0.001535f, -0.000499f, 0.000174f, -0.001416f, 0.003362f, 0.002139f, -0.001214f, -0.000302f, 0.000128f, 0.000881f, 0.000504f, -0.002205f, -0.001163f, -0.000524f, 0.000278f, 0.000997f, -0.000998f, -0.001581f, 0.001401f, -0.000806f, 0.001082f, -0.000556f, -0.000850f, -0.001091f, -0.013753f, -0.012862f, 0.007547f, 0.001692f, 0.010560f, -0.016310f, -0.002276f, -0.006498f, 0.001772f, 0.019372f, 0.011091f, -0.016982f, 0.006439f, 0.001588f, -0.007051f, -0.007890f, -0.009598f, -0.015639f, 0.000577f, 0.001851f, -0.005772f, 0.002753f, -0.003319f, 0.000576f, 0.004728f, 0.003618f, 0.010085f, -0.008829f, 0.015868f, -0.009687f, 0.009221f, 0.007281f, -0.005923f, 0.004252f, 0.000782f, 0.006566f, -0.002624f, 0.003421f, 0.006057f, 0.001997f, 0.000952f, -0.002444f, 0.004722f, 0.001392f, -0.002094f, 0.011256f, -0.014733f, 0.000993f, -0.008921f, 0.017733f, 0.006279f, -0.015521f, 0.006034f, 0.020277f, -0.019071f, -0.009121f, 0.002307f, -0.001591f, -0.007228f, 0.006027f, + -0.002528f, 0.013492f, -0.011364f, -0.001159f, -0.003755f, -0.000815f, -0.000684f, 0.013034f, -0.012115f, -0.004057f, -0.001310f, -0.012553f, 0.006754f, 0.005186f, 0.013508f, 0.005461f, 0.011501f, 0.010325f, 0.001708f, -0.004224f, 0.003258f, -0.000408f, -0.001441f, -0.003161f, -0.000296f, -0.004820f, -0.001910f, -0.001126f, -0.006685f, 0.004199f, 0.000352f, -0.004713f, -0.000794f, -0.003832f, 0.000346f, -0.000217f, 0.002565f, -0.000956f, -0.001519f, 0.000261f, -0.002159f, -0.000134f, 0.002209f, 0.000756f, -0.000500f, -0.001572f, 0.006098f, -0.009447f, 0.001160f, -0.005926f, 0.006239f, 0.002272f, -0.009600f, 0.027621f, -0.017607f, 0.005540f, 0.029832f, -0.021113f, 0.009776f, -0.000562f, 0.009710f, -0.002607f, -0.018133f, -0.003971f, 0.014847f, 0.013351f, 0.003625f, -0.000150f, 0.007476f, 0.003677f, 0.000192f, 0.006222f, 0.006197f, -0.005221f, 0.007915f, -0.002257f, 0.012523f, -0.010201f, -0.015779f, 0.003307f, -0.013790f, 0.004683f, 0.000156f, -0.003963f, -0.004487f, -0.006303f, -0.009426f, 0.001756f, 0.003175f, 0.000276f, 0.002256f, 0.002654f, -0.005864f, -0.012087f, 0.009334f, 0.002052f, + 0.001427f, -0.000658f, 0.013767f, 0.002724f, 0.005687f, 0.014607f, -0.009154f, 0.003479f, 0.000449f, 0.004348f, 0.010138f, 0.007972f, -0.013544f, -0.011827f, -0.003176f, -0.006798f, -0.001696f, 0.000385f, -0.005926f, 0.002968f, -0.010875f, 0.000425f, -0.010473f, 0.004994f, 0.004880f, -0.006075f, -0.008013f, 0.000764f, 0.004129f, 0.000687f, -0.009242f, 0.001164f, -0.005372f, 0.003780f, 0.003043f, 0.001331f, -0.001890f, -0.002667f, 0.001609f, -0.000391f, -0.001173f, -0.000190f, -0.002538f, -0.002100f, -0.006426f, -0.001679f, 0.005461f, 0.002339f, -0.001840f, -0.001272f, 0.003741f, -0.001512f, 0.000969f, -0.001909f, -0.000154f, -0.000599f, -0.000017f, -0.002417f, -0.001730f, -0.001028f, -0.000881f, -0.000987f, -0.001180f, 0.000010f, -0.000865f, -0.001607f, -0.001418f, 0.000561f, 0.002645f, 0.000860f, 0.008344f, -0.003358f, 0.007521f, -0.001121f, 0.003564f, -0.004168f, 0.000171f, -0.002612f, 0.002250f, -0.001068f, -0.017593f, 0.013444f, 0.008022f, 0.021937f, -0.014529f, 0.009197f, -0.017888f, -0.002648f, 0.010310f, 0.011923f, -0.012668f, 0.003878f, -0.014617f, 0.001414f, -0.017074f, 0.005829f, + -0.012886f, -0.015163f, -0.014267f, 0.007331f, -0.011601f, 0.000843f, -0.013541f, 0.002068f, 0.001552f, -0.001628f, -0.010017f, 0.006405f, 0.008074f, 0.005393f, 0.003554f, -0.009942f, 0.005217f, -0.010444f, -0.003802f, 0.006981f, -0.000173f, -0.001144f, -0.003298f, -0.000064f, 0.006462f, -0.007613f, -0.015751f, -0.002894f, 0.004335f, -0.002893f, -0.011782f, -0.011164f, -0.016727f, 0.004257f, -0.005107f, -0.014940f, 0.010536f, -0.009450f, -0.010010f, 0.018830f, -0.007079f, -0.003297f, 0.001111f, -0.002998f, -0.006430f, 0.001842f, -0.010544f, -0.004675f, -0.008936f, -0.006378f, -0.003206f, 0.005854f, 0.013582f, 0.001059f, 0.007999f, 0.001051f, 0.005864f, 0.004708f, 0.010890f, -0.000479f, -0.000669f, 0.001509f, 0.003762f, -0.001956f, 0.000066f, -0.000763f, 0.007845f, 0.000019f, 0.003571f, 0.000938f, 0.001169f, -0.001073f, 0.001422f, -0.004732f, 0.005113f, 0.000469f, -0.000320f, -0.003807f, -0.001484f, -0.005262f, 0.002225f, -0.002525f, 0.001468f, -0.000419f, 0.005152f, -0.002388f, 0.000666f, -0.004534f, -0.004349f, -0.000030f, -0.002144f, 0.001691f, 0.003120f, 0.001045f, 0.001348f, -0.002116f, + 0.000451f, 0.014200f, -0.020484f, 0.003634f, 0.018065f, -0.006737f, 0.019780f, 0.005427f, 0.001328f, -0.005771f, -0.013667f, -0.009104f, 0.023543f, -0.012648f, -0.000013f, -0.004401f, 0.001932f, 0.014072f, 0.012784f, -0.007725f, 0.018425f, 0.018256f, -0.008512f, -0.004543f, 0.011255f, -0.009442f, -0.008122f, -0.000616f, -0.012535f, -0.000307f, -0.003611f, 0.001615f, 0.022107f, 0.007489f, 0.001318f, -0.010085f, -0.029100f, -0.003569f, 0.016567f, 0.004030f, -0.010814f, 0.008406f, 0.013500f, 0.011670f, 0.014259f, -0.023094f, 0.004825f, 0.001136f, -0.011307f, 0.006232f, -0.010156f, 0.007370f, -0.005656f, 0.009140f, 0.020663f, 0.027113f, 0.017270f, 0.007887f, -0.011057f, -0.003065f, -0.013228f, -0.014059f, -0.002781f, 0.015925f, 0.004098f, 0.000298f, 0.003934f, -0.015493f, 0.004239f, 0.001990f, 0.000063f, -0.007807f, 0.004419f, 0.008572f, -0.008781f, -0.016882f, 0.038823f, 0.005061f, -0.006693f, 0.002459f, 0.004382f, 0.017672f, -0.003311f, 0.004926f, 0.006232f, 0.008822f, -0.005834f, -0.002884f, -0.006313f, 0.003216f, -0.001566f, 0.003540f, 0.003458f, -0.002169f, -0.003330f, 0.006662f, + 0.001138f, 0.001850f, -0.000978f, 0.004081f, -0.006516f, -0.004715f, -0.002988f, -0.001071f, 0.007833f, 0.002919f, 0.005338f, 0.003995f, 0.004254f, 0.000431f, 0.001182f, -0.001524f, -0.004449f, 0.004816f, 0.001439f, 0.002135f, -0.002994f, -0.000971f, 0.000092f, 0.002180f, 0.006219f, 0.001706f, -0.010347f, -0.003279f, -0.006241f, -0.002778f, 0.005223f, -0.006998f, 0.030722f, -0.003296f, 0.008849f, 0.021561f, 0.003126f, -0.003553f, -0.014040f, 0.007740f, -0.007467f, -0.009952f, -0.028650f, -0.013218f, 0.006058f, -0.001830f, -0.005354f, -0.021159f, 0.007522f, 0.011210f, -0.016198f, -0.008878f, -0.004188f, -0.017488f, 0.007072f, 0.000929f, -0.008881f, -0.007767f, -0.002922f, -0.023534f, -0.008075f, 0.011223f, 0.019520f, -0.014930f, -0.018090f, -0.005609f, -0.000877f, -0.015157f, -0.012021f, 0.004351f, 0.008323f, -0.016581f, 0.032782f, -0.000142f, 0.013434f, -0.007721f, 0.012629f, -0.008740f, 0.003921f, -0.023445f, -0.004711f, 0.009142f, -0.022986f, 0.006050f, -0.005077f, -0.012094f, -0.026133f, -0.000885f, 0.014729f, -0.000088f, -0.027584f, -0.004489f, 0.005175f, 0.010851f, 0.020464f, -0.007786f, + 0.009223f, 0.023449f, 0.008047f, 0.002602f, -0.010694f, -0.002352f, -0.006636f, 0.001109f, -0.007936f, 0.001540f, -0.015085f, -0.002314f, 0.011721f, 0.003020f, 0.002345f, -0.006912f, -0.011692f, 0.006232f, -0.002102f, 0.006438f, -0.002438f, 0.000575f, -0.001467f, -0.003711f, -0.003075f, 0.004068f, 0.001755f, -0.001192f, -0.001510f, -0.000175f, -0.004537f, 0.001821f, -0.004641f, -0.006162f, -0.003651f, 0.001732f, 0.000296f, -0.000306f, -0.004400f, 0.003130f, -0.000549f, -0.002616f, -0.006238f, -0.002303f, 0.000381f, 0.000478f, 0.002513f, 0.006279f, 0.002077f, 0.001185f, 0.003304f, -0.001303f, -0.000480f, -0.002083f, 0.005137f, 0.008672f, -0.002618f, -0.009324f, 0.011289f, 0.001673f, -0.016621f, -0.026801f, -0.021399f, -0.027730f, 0.023899f, -0.014633f, -0.003285f, 0.007494f, -0.025734f, -0.011054f, -0.017834f, -0.008322f, -0.005547f, 0.011481f, -0.022528f, -0.012419f, 0.007469f, 0.008736f, 0.013342f, -0.000482f, 0.000652f, -0.004341f, 0.000165f, -0.005628f, 0.003463f, -0.018327f, -0.009505f, -0.016153f, 0.011214f, 0.005183f, 0.008729f, 0.010772f, -0.021746f, -0.001871f, -0.002175f, 0.019669f, + -0.007314f, 0.005991f, 0.011058f, -0.004387f, 0.011825f, -0.007924f, 0.013161f, 0.017909f, -0.006939f, -0.001560f, 0.015803f, -0.013665f, 0.021782f, -0.009563f, -0.034190f, 0.005030f, 0.017970f, -0.007114f, 0.002220f, -0.000912f, 0.013823f, 0.016795f, -0.017199f, -0.007894f, 0.004223f, 0.011459f, -0.020263f, -0.015840f, -0.012241f, 0.024417f, -0.000427f, -0.028726f, -0.006001f, -0.012153f, 0.009860f, 0.000932f, 0.007483f, -0.011009f, 0.017702f, 0.000392f, 0.003298f, 0.004704f, -0.016078f, -0.005884f, 0.001360f, -0.002395f, -0.003940f, -0.005086f, 0.004691f, -0.004865f, -0.004239f, 0.003063f, 0.005321f, 0.002283f, -0.009395f, -0.001237f, -0.003662f, -0.003167f, 0.004092f, 0.003130f, 0.008145f, -0.001489f, -0.003805f, 0.002676f, -0.008825f, -0.001452f, 0.000059f, -0.006242f, 0.000928f, 0.000152f, -0.002091f, 0.000710f, -0.010061f, -0.002261f, -0.001100f, 0.000738f, 0.001423f, 0.003861f, -0.000423f, 0.004384f, 0.002846f, 0.002054f, 0.000440f, -0.001036f, -0.016005f, -0.006386f, 0.010889f, 0.004125f, 0.015631f, 0.005454f, 0.007621f, -0.030733f, -0.012123f, 0.012103f, -0.008163f, -0.005729f, + -0.010308f, 0.003243f, 0.016013f, 0.004302f, 0.003790f, -0.020548f, -0.007014f, -0.003671f, 0.007624f, 0.018227f, -0.022041f, 0.010482f, -0.017968f, -0.004666f, -0.016528f, 0.002228f, 0.002273f, -0.000729f, 0.006886f, -0.015299f, -0.004448f, -0.014327f, -0.005944f, 0.000382f, -0.000667f, -0.018016f, 0.010403f, 0.011773f, -0.004331f, 0.013950f, 0.027190f, 0.002920f, 0.020603f, 0.026543f, 0.002097f, 0.000994f, 0.006393f, -0.005410f, 0.008780f, 0.001936f, -0.005749f, -0.008752f, 0.033204f, -0.003299f, 0.019423f, 0.008726f, -0.009736f, -0.011194f, -0.007855f, 0.009429f, -0.007525f, 0.012209f, 0.029272f, 0.014974f, -0.003821f, 0.000639f, -0.024436f, -0.016712f, -0.014878f, 0.023169f, 0.036169f, -0.015669f, -0.000063f, -0.014482f, -0.002338f, 0.022254f, -0.006897f, -0.001159f, -0.034731f, -0.004473f, -0.006252f, -0.003506f, 0.013312f, 0.001127f, 0.002847f, 0.004219f, -0.006883f, 0.005739f, 0.003063f, 0.005138f, -0.004058f, 0.007361f, -0.003328f, -0.000592f, -0.008699f, -0.001882f, 0.007804f, -0.002624f, -0.000098f, -0.001295f, 0.007508f, -0.001663f, -0.005203f, 0.003332f, 0.003421f, 0.002092f, + 0.002730f, 0.002935f, -0.002739f, 0.000966f, 0.005367f, 0.009232f, 0.007975f, 0.005285f, 0.002913f, 0.000783f, 0.000865f, -0.005395f, -0.000323f, 0.003790f, -0.003260f, 0.003982f, -0.001072f, 0.001539f, 0.005101f, -0.001878f, 0.009142f, -0.000745f, 0.021173f, 0.057456f, 0.025521f, -0.008183f, -0.001671f, -0.011064f, 0.026970f, -0.027008f, -0.014824f, -0.041118f, -0.000130f, 0.019792f, 0.025366f, 0.004185f, -0.009593f, -0.024776f, -0.017552f, 0.017703f, -0.003317f, 0.028307f, 0.000262f, -0.009510f, 0.013855f, 0.004607f, 0.000101f, -0.007432f, 0.019034f, -0.003786f, 0.016491f, -0.000569f, -0.008450f, 0.034907f, -0.008072f, 0.013975f, 0.034971f, 0.011865f, -0.001109f, -0.017227f, -0.002835f, -0.027866f, -0.031935f, 0.006726f, 0.021035f, -0.005266f, 0.003255f, -0.035546f, -0.013044f, 0.020116f, 0.011420f, -0.009434f, 0.007107f, -0.010754f, -0.004714f, -0.016370f, -0.026653f, 0.001335f, -0.006016f, -0.019370f, -0.030815f, -0.027182f, -0.008395f, -0.024991f, 0.011726f, -0.011350f, 0.004279f, 0.002907f, 0.000172f, 0.000306f, -0.003638f, -0.005821f, 0.016356f, 0.031503f, -0.021066f, 0.003600f, + -0.008642f, 0.011213f, -0.011597f, -0.000752f, -0.008272f, -0.004181f, 0.029615f, 0.020980f, 0.005160f, -0.003566f, 0.000666f, -0.012234f, 0.004507f, 0.011643f, -0.001894f, -0.010614f, -0.005536f, 0.010049f, -0.012120f, 0.000878f, 0.005707f, 0.004738f, -0.004015f, -0.004250f, 0.004851f, 0.005362f, -0.003921f, 0.006437f, 0.004256f, 0.005297f, -0.000207f, 0.007079f, -0.000393f, 0.004386f, 0.002671f, 0.002479f, 0.002077f, -0.001866f, 0.009015f, -0.008723f, -0.000864f, 0.001604f, -0.002152f, -0.002397f, -0.003594f, 0.003599f, 0.000741f, -0.007547f, -0.002348f, 0.004537f, -0.004853f, -0.023596f, -0.027145f, 0.007208f, 0.010135f, 0.032543f, -0.027517f, 0.008953f, 0.008198f, -0.045268f, -0.002293f, 0.000567f, -0.038202f, -0.020464f, -0.013622f, 0.009959f, -0.003210f, 0.002562f, -0.010896f, 0.016290f, 0.025038f, 0.013556f, -0.003740f, -0.038326f, -0.016968f, -0.020704f, 0.007688f, 0.002659f, -0.017083f, -0.001019f, 0.013155f, -0.010940f, 0.022836f, -0.020404f, -0.000754f, -0.011764f, -0.038728f, 0.006895f, -0.016562f, -0.018212f, 0.014239f, 0.021632f, -0.024047f, 0.009574f, 0.028097f, -0.008897f, + 0.012242f, 0.010005f, -0.006742f, 0.004171f, -0.031457f, 0.047760f, 0.018552f, 0.011564f, 0.045181f, -0.054950f, -0.004262f, -0.007315f, 0.005749f, 0.022899f, 0.023321f, 0.009343f, 0.011064f, 0.029312f, -0.002877f, -0.019342f, -0.034310f, 0.013590f, -0.013046f, 0.001628f, 0.009140f, -0.006487f, 0.013868f, 0.037470f, -0.023013f, 0.017654f, -0.011214f, -0.010277f, 0.027955f, 0.002485f, 0.008643f, 0.027582f, 0.022356f, -0.009525f, -0.011491f, -0.023595f, -0.006158f, 0.000485f, 0.012381f, 0.013470f, -0.000077f, 0.003482f, 0.001777f, -0.000099f, 0.002508f, 0.003398f, 0.000907f, 0.007785f, -0.003800f, 0.001502f, 0.005221f, 0.003351f, 0.001452f, -0.002921f, 0.007064f, 0.005072f, 0.000992f, -0.003671f, -0.005826f, -0.013161f, 0.008014f, -0.000124f, -0.001324f, 0.004535f, -0.006607f, -0.000353f, 0.004446f, 0.006667f, 0.009296f, 0.005725f, 0.002499f, 0.003038f, -0.000179f, 0.003302f, 0.006913f, 0.029593f, 0.034920f, 0.008657f, 0.021553f, -0.014070f, 0.010167f, 0.009795f, -0.057213f, 0.016119f, 0.018577f, 0.003833f, -0.018219f, -0.000506f, -0.035318f, 0.041487f, 0.025056f, -0.013155f, + -0.013982f, -0.020761f, -0.010795f, 0.029987f, -0.030454f, -0.017541f, -0.004575f, -0.005182f, -0.006577f, 0.004282f, -0.020181f, -0.020675f, -0.012142f, -0.015950f, -0.004311f, -0.020719f, -0.002871f, -0.013940f, -0.045284f, -0.028985f, -0.011204f, -0.007290f, 0.006293f, 0.007457f, -0.000283f, 0.001225f, 0.013079f, 0.006204f, 0.006680f, 0.031752f, 0.006621f, 0.010661f, 0.019839f, 0.042680f, 0.036538f, 0.001826f, -0.014511f, -0.028178f, 0.025519f, -0.006391f, 0.069022f, 0.013839f, 0.030917f, -0.003485f, 0.003893f, -0.027549f, -0.001143f, 0.023857f, 0.013798f, 0.018058f, -0.020798f, -0.013821f, -0.026714f, -0.050694f, 0.029144f, -0.044753f, -0.005515f, 0.058761f, 0.003863f, 0.023483f, 0.011175f, 0.017243f, 0.000458f, -0.031897f, 0.030832f, -0.000641f, -0.027994f, -0.025094f, 0.000839f, 0.009615f, 0.020706f, 0.005463f, -0.024566f, 0.001172f, -0.004950f, 0.004851f, -0.009734f, -0.008144f, 0.004235f, 0.003827f, -0.007690f, 0.000625f, -0.002558f, -0.000817f, -0.010106f, -0.003783f, -0.003306f, 0.004525f, -0.002785f, -0.006236f, 0.007887f, -0.005057f, -0.002098f, -0.014274f, -0.015136f, -0.000082f, + 0.000215f, -0.006310f, -0.004077f, 0.004792f, 0.003530f, -0.006409f, -0.010192f, -0.000740f, -0.010592f, 0.006132f, -0.040459f, 0.011631f, 0.015838f, -0.027862f, -0.020761f, -0.000017f, 0.017334f, 0.039526f, -0.001607f, -0.031262f, -0.030665f, -0.002082f, -0.017163f, 0.004770f, 0.006104f, -0.034854f, -0.029246f, -0.056662f, -0.016171f, -0.016755f, -0.037835f, -0.026386f, 0.000181f, -0.018252f, -0.010747f, -0.010531f, -0.002695f, -0.038283f, -0.019865f, -0.023714f, -0.011082f, 0.011196f, -0.031743f, 0.001937f, 0.027224f, 0.031416f, -0.007045f, 0.008249f, 0.018682f, -0.032026f, 0.018271f, -0.014143f, 0.028495f, -0.014063f, 0.003001f, -0.015120f, -0.002746f, 0.055218f, -0.011006f, 0.020479f, -0.040267f, -0.007229f, 0.000419f, -0.039124f, 0.036512f, 0.000879f, -0.012759f, 0.025380f, -0.010149f, 0.006152f, 0.051603f, -0.020801f, -0.027544f, 0.018770f, -0.004880f, -0.057973f, 0.023818f, -0.076688f, -0.040422f, 0.030042f, 0.024325f, 0.004376f, 0.016620f, -0.000431f, 0.000065f, -0.057986f, -0.030416f, -0.014059f, 0.005733f, -0.033187f, 0.008520f, 0.004005f, 0.013958f, -0.021857f, 0.001758f, 0.015951f, + 0.013011f, 0.008945f, 0.001585f, 0.007268f, -0.018223f, -0.012510f, -0.012140f, -0.004068f, -0.002110f, -0.002199f, 0.015585f, -0.008292f, 0.008413f, 0.014534f, -0.006930f, 0.004116f, -0.011499f, -0.009675f, -0.000076f, 0.003339f, -0.010281f, 0.004179f, -0.013010f, 0.011297f, -0.004263f, -0.002924f, 0.001008f, 0.010082f, -0.002855f, 0.003703f, -0.008989f, 0.007966f, 0.006945f, 0.019092f, 0.005124f, 0.015587f, -0.015417f, -0.005875f, -0.018435f, -0.005884f, -0.009806f, -0.009525f, 0.077267f, 0.042241f, 0.000113f, -0.039799f, 0.020479f, -0.041498f, -0.033672f, 0.006094f, 0.034353f, 0.067767f, -0.010616f, 0.034246f, -0.012204f, 0.024302f, 0.041153f, 0.022955f, 0.026323f, 0.014060f, -0.007643f, -0.033662f, -0.034750f, -0.010558f, -0.032837f, -0.009700f, -0.005987f, -0.007426f, 0.026349f, -0.004501f, -0.067511f, 0.003946f, 0.016352f, 0.015591f, 0.040468f, -0.004188f, -0.080577f, 0.045838f, -0.036031f, 0.011792f, -0.007844f, 0.027118f, 0.039560f, -0.043975f, -0.003029f, -0.021977f, -0.038283f, 0.027743f, -0.019015f, -0.047216f, 0.018579f, 0.027569f, 0.045434f, 0.012015f, -0.007025f, 0.004962f, + 0.037208f, -0.029899f, 0.058707f, -0.018438f, -0.016293f, -0.005275f, 0.035796f, -0.037177f, 0.003479f, 0.004546f, -0.103439f, -0.015339f, 0.032096f, -0.014890f, 0.005431f, 0.014384f, 0.007575f, -0.005065f, 0.008486f, 0.035512f, 0.042463f, -0.033555f, 0.012177f, -0.024574f, -0.004126f, 0.041984f, -0.000824f, -0.004346f, 0.001624f, -0.002813f, -0.021680f, 0.006018f, 0.001533f, -0.012674f, -0.032141f, 0.000462f, -0.007618f, 0.009881f, -0.014798f, -0.013878f, -0.017420f, 0.014872f, 0.003515f, 0.009134f, 0.007402f, 0.000658f, 0.005491f, -0.007095f, -0.014661f, 0.022613f, -0.002167f, -0.010889f, -0.000242f, -0.007833f, -0.004832f, -0.009049f, 0.001269f, 0.002840f, -0.001211f, 0.006317f, 0.016562f, -0.000554f, -0.003876f, -0.006646f, 0.001626f, -0.008278f, -0.004602f, 0.009482f, -0.007055f, -0.005908f, -0.008661f, -0.021665f, -0.012023f, 0.003116f, 0.014242f, -0.011276f, -0.003199f, 0.044431f, 0.029176f, -0.082107f, -0.046962f, 0.056527f, 0.065130f, -0.034938f, -0.012084f, -0.092421f, -0.051367f, 0.013503f, -0.004392f, 0.012477f, -0.049410f, -0.030679f, -0.033927f, 0.050127f, 0.074050f, -0.003455f, + 0.019844f, -0.011934f, -0.006707f, -0.000792f, 0.016847f, 0.032325f, 0.007623f, -0.011311f, -0.006367f, -0.007410f, -0.044564f, -0.025013f, -0.045306f, -0.005858f, 0.013724f, -0.018822f, 0.027606f, -0.020471f, -0.007937f, 0.043308f, -0.021151f, 0.024395f, 0.016640f, -0.007792f, -0.041814f, -0.029983f, -0.025022f, 0.007614f, 0.077525f, 0.013805f, 0.041577f, 0.049392f, 0.038336f, 0.028667f, 0.025322f, -0.042787f, 0.000788f, -0.006913f, 0.057314f, 0.027456f, 0.033418f, 0.060197f, -0.029752f, -0.040321f, 0.014588f, 0.050928f, -0.086379f, -0.001452f, 0.006614f, 0.040162f, -0.069908f, -0.104864f, -0.018931f, 0.029517f, 0.007086f, 0.012001f, 0.032649f, 0.002206f, -0.023542f, -0.034352f, 0.000881f, 0.004837f, 0.006549f, 0.031885f, 0.046840f, 0.022390f, 0.003224f, 0.000274f, -0.000789f, 0.003995f, 0.004459f, -0.011782f, 0.017097f, 0.002283f, -0.016181f, -0.027862f, 0.003175f, -0.011807f, 0.005711f, 0.003176f, -0.002824f, 0.001902f, -0.011896f, 0.012180f, -0.006532f, 0.008223f, -0.012777f, -0.007924f, -0.022551f, -0.021790f, 0.000715f, 0.011695f, -0.010170f, 0.023272f, 0.000282f, 0.007044f, + -0.007317f, 0.024874f, 0.001713f, 0.011497f, -0.012588f, -0.006503f, -0.004267f, -0.004286f, -0.015720f, -0.002649f, 0.016302f, -0.028477f, 0.021841f, -0.000796f, -0.021498f, -0.037113f, 0.013725f, -0.017943f, -0.036873f, 0.026548f, 0.050262f, 0.015744f, -0.019572f, 0.030252f, 0.050555f, 0.019002f, 0.010295f, 0.003792f, -0.005810f, 0.024082f, -0.042548f, 0.002701f, -0.061126f, 0.032765f, -0.049362f, -0.003969f, 0.026342f, 0.014794f, -0.028218f, 0.006085f, -0.032630f, 0.066775f, 0.008498f, 0.021757f, 0.034605f, 0.073639f, -0.030476f, 0.024004f, -0.035299f, 0.012835f, 0.026314f, 0.059212f, 0.013826f, -0.011895f, 0.060440f, 0.008294f, -0.004369f, -0.034744f, 0.002191f, 0.038059f, -0.012966f, 0.036581f, -0.045027f, 0.069301f, 0.071657f, -0.086198f, -0.002374f, -0.005364f, 0.018727f, -0.014627f, -0.011448f, 0.037188f, -0.031455f, -0.091986f, 0.000964f, 0.081903f, -0.064721f, 0.032477f, -0.015081f, -0.008146f, -0.039496f, 0.090390f, -0.006007f, 0.014987f, 0.008130f, -0.060747f, 0.078515f, 0.006174f, 0.069800f, -0.138460f, 0.012996f, -0.013015f, -0.041966f, -0.011215f, 0.024106f, -0.032253f, + 0.021447f, -0.029078f, -0.019589f, -0.038274f, 0.048032f, -0.018579f, 0.003042f, -0.040828f, 0.001497f, -0.030014f, -0.010503f, 0.013864f, -0.020962f, 0.009586f, 0.000984f, -0.027733f, 0.024675f, -0.011426f, 0.003253f, -0.011928f, 0.022347f, -0.017169f, 0.003216f, 0.001459f, -0.006676f, 0.029913f, -0.017725f, -0.021184f, -0.012560f, -0.023736f, -0.033230f, -0.016662f, 0.002778f, 0.001870f, -0.024056f, -0.013619f, -0.016303f, -0.023091f, -0.018535f, 0.007696f, 0.004900f, -0.000949f, -0.010134f, 0.057808f, 0.007475f, -0.045155f, 0.005056f, -0.091303f, -0.020233f, 0.004074f, -0.017112f, -0.072885f, -0.007546f, -0.048019f, -0.011338f, 0.043078f, 0.010571f, 0.056634f, 0.024168f, 0.021062f, 0.013847f, -0.020002f, 0.046274f, -0.023763f, -0.000029f, 0.021151f, 0.010395f, -0.028588f, 0.023179f, 0.008820f, 0.054673f, 0.021838f, -0.009347f, 0.032318f, -0.025696f, 0.043812f, 0.015588f, -0.049143f, -0.049727f, 0.025434f, 0.032909f, 0.013069f, 0.005648f, -0.024099f, -0.031712f, 0.009349f, -0.031203f, -0.048095f, -0.014300f, -0.008493f, -0.043479f, -0.016728f, 0.016698f, -0.030408f, -0.049084f, 0.013504f, + 0.018607f, 0.001303f, -0.005767f, -0.003301f, -0.008110f, 0.017318f, 0.084376f, 0.016736f, -0.002478f, -0.003602f, -0.029456f, -0.048391f, -0.021036f, 0.068840f, 0.074626f, 0.037728f, 0.007314f, 0.067131f, 0.032711f, -0.015650f, -0.093679f, -0.071987f, -0.058721f, -0.112557f, -0.065145f, 0.015521f, 0.091382f, -0.040741f, 0.031060f, -0.045506f, 0.014991f, -0.004034f, 0.031538f, -0.014965f, -0.005075f, -0.040621f, -0.022923f, -0.010125f, -0.035734f, 0.045604f, -0.006955f, -0.024194f, -0.011154f, 0.004480f, -0.025802f, 0.018404f, 0.013937f, 0.029468f, 0.007026f, 0.008188f, -0.028994f, -0.034280f, -0.003759f, -0.025355f, -0.015689f, -0.029513f, -0.042107f, 0.002090f, -0.010862f, 0.002530f, 0.003246f, 0.032313f, 0.032593f, -0.012160f, -0.006251f, -0.014427f, 0.031495f, 0.020682f, 0.013810f, 0.004823f, -0.006179f, 0.017869f, -0.024566f, -0.009893f, -0.003832f, -0.028362f, -0.054722f, 0.028849f, -0.000808f, -0.017633f, -0.016975f, -0.010125f, -0.007626f, 0.020496f, 0.039186f, -0.016951f, 0.050418f, -0.057736f, 0.046594f, -0.006209f, 0.062121f, -0.040460f, 0.035938f, -0.059518f, 0.051667f, -0.048171f, + -0.020082f, 0.071398f, 0.016644f, 0.057275f, 0.082436f, 0.008106f, -0.006573f, -0.034719f, -0.002691f, 0.051922f, 0.013222f, -0.018895f, -0.057864f, 0.004583f, 0.011483f, 0.026995f, 0.016759f, 0.022407f, 0.014251f, -0.034166f, -0.053864f, -0.023248f, 0.052206f, 0.019613f, 0.166504f, -0.053272f, -0.044467f, 0.053903f, 0.085484f, 0.017544f, -0.001447f, 0.022093f, 0.005669f, 0.027051f, -0.025114f, 0.009517f, 0.039967f, 0.043756f, 0.029483f, 0.128819f, -0.016397f, -0.017078f, -0.008391f, 0.066277f, 0.039864f, -0.034187f, 0.034933f, -0.001120f, 0.011401f, -0.028216f, 0.059179f, -0.059406f, 0.004124f, 0.090860f, -0.067179f, 0.195520f, -0.089932f, 0.093379f, 0.085994f, -0.084792f, -0.077170f, 0.086808f, 0.003760f, -0.050640f, -0.021271f, 0.047811f, -0.132281f, 0.020421f, -0.015555f, -0.085459f, 0.055744f, -0.066968f, 0.005294f, 0.004727f, -0.026863f, -0.066090f, 0.017881f, -0.005316f, -0.002944f, 0.012480f, -0.013588f, -0.021930f, 0.011821f, 0.027444f, -0.010474f, 0.004022f, 0.021488f, -0.020318f, 0.029900f, 0.022861f, -0.047621f, 0.006657f, -0.026746f, 0.011965f, -0.001885f, 0.003693f, + -0.024366f, 0.009944f, 0.006384f, -0.000319f, -0.012220f, 0.036630f, 0.008317f, -0.001539f, 0.035162f, -0.025056f, -0.022700f, 0.003565f, 0.015182f, 0.003599f, 0.016916f, 0.008534f, -0.049021f, -0.025613f, 0.012645f, -0.029015f, 0.042192f, -0.019172f, -0.023952f, -0.001150f, -0.016586f, 0.033404f, 0.042554f, -0.100251f, -0.042999f, 0.062053f, -0.130095f, -0.080057f, -0.054542f, 0.091175f, 0.193309f, 0.053886f, -0.152049f, -0.033886f, -0.155332f, -0.080594f, 0.126254f, 0.075946f, 0.118688f, 0.065757f, -0.090134f, -0.142341f, -0.108976f, -0.025719f, 0.064207f, 0.073582f, 0.043854f, 0.025078f, -0.037919f, -0.155629f, -0.187843f, -0.040230f, 0.143466f, 0.256587f, 0.173502f, -0.032343f, -0.120410f, -0.172091f, -0.128180f, -0.103100f, -0.000136f, 0.041748f, 0.139690f, 0.149780f, -0.081132f, -0.050232f, -0.188102f, -0.174239f, -0.063070f, 0.017628f, 0.181085f, 0.268177f, 0.118569f, -0.078644f, -0.280894f, -0.207614f, -0.152870f, 0.074117f, 0.159539f, 0.100134f, 0.062852f, 0.054070f, -0.167709f, -0.030363f, -0.095755f, 0.035891f, -0.013513f, 0.099569f, 0.155592f, 0.124152f, -0.145790f, -0.293143f, + -0.220931f, 0.024891f, 0.171318f, -0.003835f, 0.237667f, 0.010310f, -0.061552f, -0.071183f, -0.052851f, 0.001088f, 0.171631f, 0.148791f, 0.026960f, -0.058659f, -0.021411f, -0.010470f, 0.089935f, 0.099987f, 0.011652f, 0.004750f, -0.015830f, -0.002217f, -0.019435f, -0.023861f, -0.016333f, -0.008409f, 0.034232f, 0.054271f, 0.043774f, -0.064533f, -0.073960f, -0.027954f, -0.030843f, -0.028746f, 0.066802f, 0.055277f, 0.070263f, 0.021175f, -0.030599f, -0.052570f, -0.102866f, -0.064906f, 0.042707f, 0.090984f, 0.136834f, 0.094399f, 0.007503f, -0.211063f, -0.186291f, -0.062901f, 0.076061f, 0.119428f, 0.158705f, 0.120399f, -0.009724f, -0.119834f, -0.177611f, -0.170624f, -0.031564f, 0.186670f, 0.192381f, 0.098467f, -0.046805f, -0.128201f, -0.090127f, -0.059877f, 0.005013f, 0.039021f, 0.050798f, 0.045708f, 0.027489f, 0.002397f, -0.029243f, -0.035806f, -0.037281f, -0.029599f, -0.034509f, 0.068625f, 0.021383f, -0.055591f, -0.052454f, 0.000162f, -0.084514f, -0.010451f, 0.012521f, 0.009667f, -0.007349f, 0.002111f, -0.028422f, -0.003545f, -0.003340f, 0.014582f, -0.009807f, 0.038955f, -0.010343f, -0.007500f, + -0.010879f, -0.012233f, 0.024284f, 0.006949f, -0.011716f, 0.037729f, 0.002387f, -0.067072f, -0.033493f, 0.018476f, 0.032823f, -0.011171f, 0.003999f, 0.045964f, -0.001134f, 0.006275f, -0.037599f, -0.016792f, 0.011575f, -0.008171f, -0.008357f, -0.004989f, 0.030407f, 0.011013f, -0.011909f, -0.035976f, -0.014331f, -0.002107f, -0.032816f, 0.003145f, -0.037480f, -0.025077f, -0.017445f, -0.033301f, 0.052214f, -0.009403f, -0.023633f, 0.022096f, -0.000367f, -0.051319f, -0.003008f, 0.051281f, 0.041577f, -0.023814f, 0.032191f, 0.005428f, 0.030712f, -0.034271f, -0.050573f, 0.019407f, 0.022285f, 0.019664f, 0.017006f, -0.019071f, 0.018772f, -0.037694f, 0.025533f, -0.051426f, -0.045305f, 0.033491f, -0.026515f, 0.022868f, 0.031318f, 0.002317f, -0.024246f, 0.007834f, 0.008842f, -0.002001f, -0.002005f, -0.000783f, 0.020393f, -0.017086f, 0.013235f, -0.017856f, 0.023905f, -0.020901f, -0.011451f, 0.008865f, -0.007277f, -0.000703f, 0.009427f, 0.002344f, 0.006287f, 0.018510f, -0.014754f, -0.008671f, 0.010532f, 0.006427f, 0.021038f, -0.017036f, 0.005815f, -0.001981f, -0.013227f, -0.013155f, 0.005368f, 0.003485f, + -0.013090f, -0.019295f, 0.005540f, 0.000362f, -0.003694f, 0.012492f, -0.018608f, 0.021584f, 0.006361f, -0.018435f, -0.020751f, 0.017416f, -0.029138f, 0.020044f, -0.003345f, 0.013935f, -0.001572f, 0.004895f, 0.026008f, -0.041419f, 0.082820f, 0.126058f, -0.016353f, -0.046771f, -0.039953f, 0.116222f, 0.052725f, 0.112480f, 0.060862f, 0.000085f, -0.052115f, -0.011743f, 0.028884f, 0.052800f, 0.025462f, -0.024557f, -0.005868f, 0.025200f, 0.037400f, 0.004550f, 0.008527f, -0.026103f, 0.004924f, -0.012631f, 0.017143f, 0.018976f, 0.049432f, 0.042375f, -0.022363f, 0.003635f, -0.025122f, 0.006545f, 0.022656f, 0.033528f, 0.002666f, -0.016020f, 0.000121f, -0.028909f, 0.024273f, -0.006697f, 0.010121f, 0.022456f, 0.000651f, 0.029927f, -0.014575f, -0.008256f, -0.006836f, -0.030859f, -0.018291f, -0.047047f, -0.008720f, -0.053641f, 0.003845f, -0.018472f, 0.044298f, 0.006531f, 0.013172f, -0.041478f, 0.017697f, 0.000276f, -0.018268f, 0.030372f, -0.016220f, -0.008552f, 0.007725f, 0.020082f, -0.002246f, -0.011029f, 0.068510f, 0.022225f, 0.015977f, 0.025657f, -0.018327f, -0.000916f, -0.005995f, 0.035723f, + 0.049826f, 0.047700f, -0.028283f, -0.031119f, -0.004067f, -0.012376f, 0.012660f, 0.032153f, 0.033582f, 0.001480f, 0.018903f, -0.002239f, -0.004925f, 0.010939f, 0.021483f, -0.002026f, 0.016921f, -0.014009f, 0.003213f, 0.000253f, 0.006024f, -0.004805f, 0.018929f, 0.010898f, -0.001796f, -0.005237f, 0.005861f, 0.003323f, 0.020570f, 0.001154f, -0.011867f, -0.013086f, -0.007334f, 0.005751f, 0.007128f, 0.013070f, -0.015667f, 0.002215f, -0.004156f, 0.010504f, -0.007590f, 0.014819f, -0.004817f, 0.005538f, -0.008136f, -0.006914f, 0.004896f, -0.012912f, 0.000266f, 0.014310f, 0.003783f, -0.005887f, 0.001535f, -0.000695f, -0.046905f, -0.102486f, -0.013596f, 0.134906f, 0.208533f, 0.174672f, 0.138414f, -0.009527f, 0.016457f, -0.101717f, -0.114910f, -0.187894f, -0.107842f, -0.118412f, -0.037019f, 0.014666f, 0.081935f, 0.057981f, 0.178132f, 0.154712f, 0.051383f, 0.010623f, -0.027403f, -0.060654f, -0.095394f, -0.035202f, -0.097788f, -0.026300f, -0.047477f, -0.031028f, -0.022659f, 0.004979f, 0.001888f, 0.033051f, 0.048294f, 0.072913f, 0.079409f, 0.094911f, 0.082286f, -0.010063f, 0.008188f, -0.001195f, + 0.015622f, -0.047256f, 0.019225f, -0.050496f, -0.125619f, -0.061950f, -0.093977f, -0.158421f, -0.046193f, -0.013933f, -0.063926f, 0.021544f, 0.048854f, 0.110323f, 0.130415f, 0.192050f, 0.121578f, 0.098777f, 0.098530f, 0.061015f, -0.018856f, 0.009830f, -0.096791f, -0.083700f, -0.140264f, -0.167117f, -0.192626f, -0.140553f, -0.108002f, -0.011431f, -0.005057f, 0.015142f, 0.056523f, 0.095225f, 0.171981f, 0.169762f, 0.169337f, 0.135498f, 0.058346f, 0.087370f, 0.013904f, -0.044086f, -0.066006f, -0.156601f, -0.142113f, -0.126146f, -0.108505f, -0.087166f, -0.052461f, -0.032096f, -0.010750f, 0.007683f, 0.052847f, 0.062342f, 0.082514f, 0.068055f, 0.097778f, 0.088224f, 0.058003f, 0.066473f, 0.044943f, -0.012324f, -0.036020f, -0.041903f, -0.099415f, -0.086487f, -0.077596f, -0.058411f, -0.031600f, -0.001340f, -0.003698f, 0.025292f, 0.039310f, 0.030332f, 0.036474f, 0.023054f, 0.007417f, -0.000919f, 0.010654f, 0.002325f, -0.012089f, 0.012976f, 0.015937f, 0.000962f, 0.008612f, -0.002544f, -0.003454f, 0.001318f, 0.005980f, -0.000388f, -0.013427f, -0.018121f, -0.017538f, -0.020538f, -0.013740f, -0.004273f, + -0.004662f, 0.005801f, 0.002402f, 0.001595f, 0.006909f, 0.007789f, 0.006344f, 0.008419f, 0.013374f, 0.011268f, 0.006456f, 0.007690f, 0.002649f, -0.002907f, -0.000917f, -0.003652f, -0.005428f, -0.002702f, -0.004893f, -0.004704f, -0.005693f, -0.007191f, -0.007834f, -0.007572f, -0.004256f, 0.000002f, 0.000387f, 0.004184f, 0.004315f, 0.003170f, 0.002391f, 0.004080f, 0.004106f, 0.006801f, 0.004584f, 0.005720f, 0.002943f, -0.001300f, -0.003127f, -0.001244f, -0.003891f, -0.000553f, -0.000213f, -0.001755f, -0.001041f, -0.001304f, -0.003832f, -0.002874f, -0.002472f, -0.001013f, -0.001233f, -0.000159f, -0.000265f, 0.000284f, -0.001185f, -0.001263f, -0.001965f, 0.001511f, 0.002344f, 0.005689f, 0.005652f, 0.006491f, 0.004713f, 0.003245f, 0.001212f, 0.000000f, -0.001775f, -0.002073f, -0.004845f, -0.004309f, -0.005040f, -0.004356f, -0.004968f, -0.002965f, -0.002037f, 0.000003f, 0.000146f, 0.002091f, 0.001689f, 0.003952f, 0.003958f, 0.004591f, 0.003398f, 0.004016f, 0.002060f, 0.001541f, -0.000661f, -0.001021f, -0.002601f, -0.002083f, -0.002783f, -0.001567f, -0.002155f, -0.000647f, -0.001162f, 0.000123f, + -0.000542f, 0.000607f, -0.000222f, 0.000725f, -0.000299f, 0.000542f}, + {0.013874f, 0.005147f, -0.006824f, -0.001265f, 0.004893f, -0.000939f, 0.005201f, -0.012703f, -0.008904f, -0.002291f, -0.010533f, 0.004367f, -0.002276f, -0.001257f, -0.007087f, -0.003286f, 0.006765f, 0.006583f, -0.002523f, -0.002115f, -0.004337f, -0.010278f, 0.011458f, 0.006679f, 0.000383f, 0.001114f, -0.000533f, 0.000250f, 0.009246f, -0.004721f, 0.001771f, -0.014724f, -0.011917f, -0.003084f, 0.001179f, -0.010283f, -0.001806f, 0.003552f, 0.000968f, 0.000108f, -0.005034f, -0.004016f, 0.009668f, -0.004510f, -0.003996f, -0.001420f, -0.001262f, 0.004148f, -0.002125f, -0.006346f, -0.000133f, 0.005432f, -0.007750f, 0.000269f, -0.008307f, 0.000521f, -0.006060f, 0.009253f, -0.000442f, -0.009892f, -0.001342f, -0.001021f, 0.001259f, -0.014094f, -0.001609f, 0.001102f, -0.009291f, 0.004252f, 0.000289f, -0.010871f, 0.005004f, 0.006583f, -0.005681f, -0.006682f, -0.011792f, 0.006160f, 0.003677f, 0.010962f, 0.005523f, -0.001698f, 0.002226f, -0.001588f, 0.003425f, 0.003447f, 0.007688f, 0.001880f, -0.003232f, -0.000173f, 0.000973f, -0.000303f, 0.004427f, 0.001074f, -0.001417f, -0.002165f, 0.002195f, 0.001639f, + 0.003338f, 0.001578f, 0.001346f, 0.001903f, 0.001850f, 0.000683f, 0.001177f, -0.000252f, -0.000482f, 0.000651f, 0.000541f, 0.000785f, -0.000381f, 0.000935f, -0.001245f, -0.000034f, -0.010266f, 0.004666f, -0.012789f, -0.003501f, -0.001837f, -0.006392f, 0.006076f, 0.014289f, -0.005884f, -0.001860f, 0.000614f, -0.005857f, 0.004037f, -0.000854f, -0.004852f, -0.008107f, -0.004387f, 0.012886f, 0.012351f, 0.007007f, 0.014357f, 0.008516f, 0.004527f, 0.013605f, -0.008499f, 0.003014f, 0.005744f, -0.000245f, 0.002278f, -0.004012f, 0.002540f, -0.018769f, 0.000338f, -0.001074f, 0.006722f, -0.004238f, -0.002453f, -0.001296f, 0.005133f, -0.005935f, -0.001026f, 0.001704f, 0.003594f, 0.003575f, -0.001067f, -0.006370f, 0.001140f, 0.002242f, 0.004534f, 0.003482f, 0.005283f, -0.005991f, -0.003632f, -0.001092f, -0.010712f, -0.001254f, 0.002755f, 0.009151f, 0.010142f, -0.001397f, 0.005560f, 0.004197f, -0.000836f, 0.003795f, 0.004447f, 0.006603f, -0.002722f, -0.000088f, -0.005024f, 0.000855f, -0.004340f, 0.002934f, -0.006390f, -0.005966f, 0.003502f, -0.000039f, -0.011871f, -0.001107f, -0.008911f, -0.002399f, + -0.001336f, -0.001494f, -0.011805f, 0.001128f, 0.004054f, -0.003461f, -0.003430f, 0.002022f, 0.001395f, 0.000848f, -0.002409f, -0.006303f, -0.000414f, -0.002762f, 0.002304f, 0.000086f, 0.000077f, -0.000706f, -0.002698f, -0.002893f, -0.003367f, 0.000232f, -0.001512f, 0.001420f, -0.002148f, 0.000811f, 0.000395f, -0.001871f, -0.000140f, -0.002084f, -0.000853f, 0.000121f, -0.000091f, -0.001854f, -0.000552f, -0.000315f, -0.012972f, -0.012075f, 0.004441f, -0.001349f, 0.010020f, 0.010232f, 0.000763f, 0.000321f, 0.019452f, -0.005204f, -0.000534f, 0.016478f, 0.000611f, -0.009407f, -0.013954f, 0.010154f, -0.004128f, 0.000139f, -0.008664f, 0.002744f, -0.006205f, 0.006923f, 0.030430f, -0.011054f, -0.009016f, -0.010918f, -0.011953f, 0.002252f, -0.009756f, -0.023946f, -0.000657f, 0.002487f, 0.000009f, -0.009473f, -0.002058f, 0.007884f, -0.009858f, -0.005708f, 0.014206f, 0.004773f, -0.003671f, -0.003316f, 0.009135f, -0.004470f, 0.006530f, 0.006085f, -0.013045f, -0.008545f, -0.007738f, 0.008594f, -0.006631f, -0.003840f, -0.003618f, -0.004246f, -0.000711f, -0.008686f, 0.000046f, -0.002562f, 0.002144f, -0.001127f, + -0.019076f, 0.008924f, -0.010674f, 0.008493f, 0.001553f, -0.015572f, 0.003165f, 0.010553f, 0.003215f, 0.017516f, -0.007383f, 0.001041f, 0.002029f, 0.004163f, 0.006233f, -0.006792f, 0.002602f, 0.002383f, -0.010135f, 0.013974f, 0.000999f, -0.001888f, 0.005899f, -0.001913f, 0.002646f, -0.002457f, -0.005288f, -0.000287f, -0.003402f, 0.004644f, -0.001179f, 0.000948f, 0.005427f, 0.001957f, 0.002073f, -0.001122f, 0.002960f, 0.000607f, -0.000783f, 0.002030f, 0.003955f, -0.002766f, 0.000271f, -0.002922f, 0.001895f, -0.000894f, 0.005866f, -0.008182f, 0.003902f, 0.004013f, -0.004261f, 0.001890f, -0.002050f, -0.017583f, 0.005496f, 0.016342f, 0.013779f, 0.015321f, 0.002806f, -0.003402f, -0.013116f, -0.007012f, -0.006108f, -0.005066f, 0.013777f, 0.018913f, 0.001471f, -0.001364f, 0.013643f, -0.022035f, 0.000532f, -0.001834f, -0.000296f, -0.007219f, -0.007291f, 0.007949f, 0.009977f, 0.000269f, -0.002103f, 0.003899f, -0.010591f, -0.008135f, 0.008268f, -0.008961f, 0.017139f, 0.015410f, 0.002665f, 0.009472f, 0.008118f, 0.001585f, -0.006907f, 0.002376f, -0.000307f, -0.012091f, 0.011757f, -0.001083f, + 0.005533f, 0.009462f, -0.011244f, -0.004436f, -0.013375f, -0.003084f, 0.003134f, 0.012564f, -0.012887f, -0.005188f, 0.009504f, -0.002036f, -0.008228f, 0.013786f, -0.011471f, -0.024256f, 0.004128f, -0.013684f, -0.006045f, 0.006541f, -0.005807f, 0.001118f, 0.001488f, -0.005958f, 0.010378f, -0.009511f, -0.010693f, -0.012950f, -0.001388f, -0.005647f, 0.000890f, 0.003375f, -0.007849f, 0.002032f, 0.002298f, 0.000528f, -0.003724f, 0.002032f, 0.001719f, 0.005340f, 0.000844f, -0.001792f, -0.003669f, -0.002440f, -0.001613f, -0.001025f, -0.001279f, -0.002356f, 0.000728f, 0.000991f, 0.001591f, 0.000429f, -0.000694f, -0.001899f, -0.000707f, 0.002621f, -0.002713f, -0.002923f, -0.000825f, -0.000142f, -0.000228f, 0.001989f, 0.002454f, 0.002211f, -0.001396f, 0.000735f, 0.000513f, 0.000834f, 0.000479f, -0.000832f, 0.005241f, -0.002583f, 0.000285f, -0.021865f, 0.004635f, 0.020658f, 0.001630f, 0.003250f, 0.006235f, 0.019348f, 0.002617f, -0.018575f, 0.020597f, 0.009080f, 0.007417f, 0.012574f, 0.010863f, 0.000100f, -0.003896f, 0.011857f, 0.009023f, 0.003107f, -0.008561f, 0.010310f, 0.004812f, 0.015258f, + 0.017755f, 0.006773f, -0.004430f, 0.000408f, -0.000173f, 0.007417f, 0.022544f, 0.013419f, -0.012581f, 0.021858f, 0.000830f, -0.002699f, 0.002842f, -0.016131f, 0.017867f, -0.002399f, 0.000273f, -0.002155f, 0.004517f, -0.002438f, 0.009198f, -0.013022f, 0.018248f, 0.015586f, -0.000641f, -0.002940f, -0.010237f, -0.019423f, -0.006715f, 0.007665f, -0.004578f, -0.007310f, 0.010223f, 0.012036f, -0.008245f, -0.007324f, -0.024943f, -0.008673f, -0.003149f, -0.001260f, -0.027908f, 0.014122f, 0.001482f, -0.016631f, -0.013704f, 0.004512f, -0.006545f, 0.001630f, -0.004200f, 0.000828f, -0.007412f, -0.001684f, -0.006624f, 0.004650f, 0.009204f, -0.002704f, 0.006978f, 0.000760f, -0.003040f, 0.008243f, 0.002800f, 0.000333f, 0.006757f, -0.000884f, -0.003239f, -0.004410f, -0.004979f, -0.005177f, -0.004943f, -0.006040f, -0.004460f, 0.000202f, -0.002519f, -0.005682f, -0.002881f, 0.000452f, -0.001319f, -0.002188f, 0.001062f, 0.002143f, 0.000955f, -0.002668f, -0.003773f, -0.004635f, 0.000341f, -0.004408f, 0.003801f, -0.002485f, -0.002617f, -0.002460f, -0.000074f, -0.001801f, 0.000229f, 0.000919f, 0.001745f, -0.002159f, + 0.002149f, 0.010015f, -0.012718f, -0.000358f, 0.000377f, 0.000224f, 0.021182f, 0.011260f, 0.000055f, 0.025849f, 0.012295f, 0.023311f, 0.005854f, 0.007719f, 0.025378f, -0.010199f, -0.016539f, -0.010854f, 0.023738f, 0.005505f, -0.013050f, 0.017689f, -0.004695f, -0.010723f, 0.016244f, 0.037806f, -0.009613f, 0.001665f, 0.006285f, 0.007031f, -0.009696f, 0.001011f, 0.021151f, 0.002004f, 0.025960f, -0.005855f, 0.027859f, 0.019330f, 0.006817f, 0.016166f, 0.010578f, -0.010092f, 0.007062f, -0.002772f, -0.002285f, 0.002402f, 0.002054f, -0.002031f, 0.007471f, 0.004817f, 0.018045f, 0.011809f, -0.014779f, 0.004979f, 0.006892f, -0.011269f, 0.000815f, -0.026262f, -0.033571f, 0.013267f, -0.008490f, -0.022272f, -0.004583f, -0.012098f, 0.014668f, 0.002957f, -0.006710f, -0.016869f, 0.013166f, -0.012271f, 0.008081f, -0.013742f, 0.002113f, -0.005670f, 0.020558f, 0.003581f, -0.007859f, 0.007639f, -0.017312f, 0.015641f, 0.002696f, -0.015217f, 0.000791f, -0.001781f, -0.004199f, -0.002032f, 0.002233f, 0.004197f, -0.004268f, 0.007073f, -0.001533f, -0.003113f, -0.003237f, -0.002821f, -0.006375f, -0.000767f, + -0.002220f, -0.006500f, -0.002243f, 0.002002f, -0.003816f, 0.003751f, 0.000676f, -0.002478f, 0.001116f, -0.004414f, -0.000725f, -0.003161f, -0.000318f, -0.000389f, 0.000235f, 0.001791f, 0.002533f, 0.002524f, 0.000157f, 0.001146f, -0.000115f, 0.001095f, -0.002043f, 0.001511f, -0.001436f, 0.001013f, -0.015016f, 0.002239f, 0.000338f, 0.004171f, -0.009252f, 0.010436f, 0.010985f, -0.000960f, -0.007743f, -0.025661f, -0.022457f, -0.016841f, 0.007728f, 0.002566f, 0.003892f, -0.020995f, 0.013229f, 0.009752f, 0.016520f, -0.017965f, 0.017045f, 0.013534f, -0.010696f, -0.008431f, -0.005521f, 0.017842f, 0.011905f, -0.007492f, 0.001508f, 0.026869f, 0.013257f, 0.007119f, 0.015193f, 0.010848f, 0.003914f, -0.008568f, 0.001760f, 0.001471f, -0.003986f, -0.009541f, 0.023413f, 0.011288f, -0.022245f, 0.015122f, 0.014563f, 0.014979f, 0.011316f, 0.003358f, -0.013955f, 0.000663f, -0.002064f, 0.020867f, 0.002505f, 0.009464f, 0.018491f, -0.003110f, -0.020677f, 0.004789f, 0.010774f, 0.021080f, -0.028009f, -0.015417f, 0.007380f, 0.000541f, 0.002331f, -0.016205f, -0.004298f, -0.015707f, -0.002450f, 0.007833f, + -0.005482f, -0.008478f, -0.010841f, 0.004748f, -0.002863f, -0.005049f, -0.013352f, 0.000733f, -0.017798f, -0.000076f, -0.001939f, -0.008650f, -0.010133f, 0.011528f, -0.004116f, -0.002562f, -0.005845f, -0.010572f, 0.003593f, 0.005464f, 0.003375f, 0.004330f, 0.002725f, -0.005733f, -0.003489f, -0.001576f, -0.001713f, -0.005376f, -0.010786f, -0.004437f, -0.000512f, -0.003339f, -0.000560f, -0.005411f, 0.000244f, -0.002828f, -0.002405f, -0.003871f, -0.004863f, -0.002187f, 0.004360f, -0.003102f, -0.001862f, 0.000925f, 0.001610f, 0.001449f, -0.002505f, 0.003735f, 0.004999f, 0.005536f, -0.001729f, -0.000097f, -0.000374f, 0.000869f, 0.000654f, 0.009762f, 0.001360f, -0.017311f, 0.017622f, 0.011190f, -0.005171f, 0.006888f, 0.010642f, -0.011735f, -0.003870f, 0.044806f, -0.001401f, 0.017425f, 0.012312f, -0.037550f, -0.019859f, -0.002193f, -0.001518f, -0.000522f, 0.021336f, 0.004693f, -0.010303f, 0.021907f, 0.013563f, -0.002839f, -0.003562f, 0.006933f, -0.003533f, -0.007860f, -0.016653f, -0.019878f, 0.010993f, -0.004428f, -0.009284f, -0.001056f, -0.030793f, -0.005821f, 0.002072f, 0.016925f, -0.020338f, -0.005982f, + 0.002670f, 0.001280f, 0.004474f, 0.001430f, 0.021772f, -0.025427f, -0.008411f, 0.005549f, -0.000801f, -0.015041f, -0.003136f, 0.019638f, 0.016978f, 0.014581f, -0.004029f, -0.025322f, -0.011504f, 0.009047f, -0.002865f, 0.016862f, -0.000983f, -0.000414f, -0.012578f, -0.007882f, 0.014799f, -0.018182f, 0.012392f, 0.009605f, -0.013053f, -0.006558f, -0.003041f, 0.002015f, -0.014059f, 0.006763f, 0.004855f, -0.006974f, -0.002165f, -0.019242f, 0.006932f, 0.014759f, 0.021185f, 0.001792f, 0.005680f, 0.009983f, 0.003092f, -0.016817f, 0.011480f, -0.004081f, 0.001880f, -0.000013f, -0.005400f, -0.005839f, -0.003121f, 0.007735f, 0.001370f, 0.006454f, -0.000733f, 0.001008f, -0.009337f, -0.003236f, -0.004307f, 0.006976f, -0.000736f, -0.003092f, 0.004846f, -0.003645f, 0.003790f, -0.002343f, 0.000599f, -0.007764f, 0.001776f, -0.001859f, -0.001631f, -0.005004f, 0.001738f, -0.000848f, -0.004383f, -0.008027f, -0.001820f, 0.000724f, -0.003244f, 0.003157f, -0.000877f, -0.005289f, -0.034073f, -0.002024f, 0.004573f, 0.022940f, 0.002764f, -0.000857f, 0.013736f, -0.009942f, 0.029897f, -0.029869f, -0.002966f, -0.006343f, + 0.004919f, -0.001392f, -0.002547f, 0.007761f, -0.005739f, -0.010114f, -0.006906f, -0.005953f, -0.018081f, -0.002781f, 0.012659f, -0.002874f, -0.008103f, 0.019068f, -0.000416f, 0.022922f, -0.022490f, -0.012758f, 0.028174f, -0.002827f, -0.001854f, 0.001738f, -0.017952f, -0.002018f, -0.022381f, 0.006567f, -0.026840f, -0.000623f, 0.019703f, -0.006430f, 0.013378f, 0.017838f, 0.010189f, 0.014054f, -0.018210f, 0.018041f, 0.001844f, -0.047019f, -0.008070f, 0.006894f, -0.004006f, -0.005193f, -0.020342f, 0.015956f, -0.017365f, -0.003341f, -0.019674f, -0.018263f, -0.028497f, 0.025305f, 0.000007f, 0.029486f, -0.014842f, 0.022232f, 0.029254f, -0.019306f, 0.023802f, -0.029473f, -0.024717f, -0.026679f, -0.009474f, -0.018793f, 0.005851f, 0.008902f, -0.001223f, -0.003453f, -0.000343f, -0.021103f, 0.001463f, 0.000257f, 0.012009f, 0.004846f, 0.004584f, 0.008699f, 0.004713f, -0.004579f, -0.000383f, -0.008588f, -0.005327f, 0.000239f, 0.003313f, 0.000161f, 0.003769f, -0.002818f, 0.004065f, -0.001288f, 0.002052f, -0.013091f, 0.000587f, 0.005002f, 0.003593f, 0.007285f, -0.004354f, -0.005779f, -0.007896f, -0.000184f, + -0.000874f, -0.006133f, -0.006896f, 0.000686f, -0.001306f, 0.001113f, -0.000187f, -0.001963f, 0.003248f, 0.010417f, -0.002789f, -0.002455f, -0.001561f, -0.002867f, 0.009131f, 0.000352f, 0.000883f, -0.003269f, 0.005318f, -0.006109f, -0.001427f, 0.004018f, 0.022091f, 0.037558f, 0.005240f, -0.009834f, -0.020352f, 0.012702f, 0.034369f, 0.000457f, 0.009765f, 0.001912f, 0.013643f, 0.009625f, 0.010443f, 0.018925f, -0.022777f, -0.001670f, -0.008536f, 0.029752f, 0.021872f, -0.000951f, 0.033994f, 0.018154f, 0.002947f, -0.031951f, -0.016012f, -0.024333f, -0.011413f, 0.002610f, 0.009124f, -0.008648f, 0.001213f, 0.034809f, -0.006578f, 0.000155f, 0.001699f, 0.035764f, -0.021852f, -0.008646f, -0.008938f, -0.003372f, -0.021378f, 0.024676f, 0.001585f, 0.016593f, -0.025628f, 0.003611f, -0.002838f, -0.015102f, -0.006107f, -0.028092f, 0.008804f, 0.000663f, 0.005896f, -0.003338f, -0.001757f, -0.032630f, -0.011177f, 0.012928f, 0.020783f, -0.005911f, 0.005411f, 0.043682f, -0.002864f, 0.002657f, 0.007966f, 0.019765f, -0.018487f, 0.004369f, 0.022038f, -0.012952f, 0.016014f, 0.004843f, 0.016693f, -0.022089f, + -0.011333f, 0.003157f, 0.005069f, 0.011403f, 0.012730f, 0.012350f, -0.008393f, 0.003682f, 0.007508f, 0.014915f, 0.022988f, 0.010812f, -0.010956f, -0.004943f, -0.008628f, 0.003866f, 0.004834f, 0.010181f, 0.009088f, 0.005663f, 0.009604f, -0.010218f, -0.002111f, -0.010423f, 0.009085f, -0.011962f, 0.012257f, 0.009000f, -0.009227f, 0.005602f, -0.001145f, -0.005450f, 0.001344f, 0.002024f, -0.003332f, 0.002973f, 0.015233f, -0.000299f, -0.000047f, -0.009206f, 0.004787f, -0.000238f, -0.000319f, -0.008338f, 0.008722f, -0.007064f, 0.002719f, 0.003951f, 0.006916f, -0.000581f, -0.003310f, -0.020339f, -0.031039f, 0.008626f, -0.003351f, -0.031301f, 0.008553f, 0.003160f, 0.028351f, 0.025103f, -0.023313f, -0.027925f, 0.006216f, -0.021322f, -0.011275f, 0.000883f, 0.042239f, 0.000603f, -0.005436f, -0.037805f, -0.018996f, -0.003271f, -0.028264f, -0.042848f, 0.029322f, -0.011051f, -0.013605f, -0.002468f, 0.031800f, -0.009980f, 0.003405f, -0.006397f, -0.006487f, -0.018529f, -0.009969f, 0.003106f, -0.044848f, -0.028791f, -0.008370f, -0.016341f, -0.015258f, -0.005240f, -0.017665f, 0.015208f, 0.006861f, 0.004870f, + -0.010820f, 0.007689f, -0.064718f, 0.060062f, 0.035141f, -0.006100f, -0.008319f, 0.033783f, 0.001911f, -0.020235f, -0.028921f, -0.003681f, -0.010236f, -0.012006f, -0.017459f, -0.017713f, 0.021965f, 0.020608f, -0.009493f, 0.045294f, -0.025352f, -0.020721f, -0.018836f, 0.000090f, 0.014644f, -0.053102f, 0.015524f, -0.016810f, 0.027573f, -0.030104f, 0.013022f, -0.002757f, -0.010364f, 0.020738f, -0.039277f, 0.036713f, 0.001900f, -0.000521f, -0.008476f, 0.001053f, -0.000739f, -0.018591f, 0.003440f, -0.005169f, 0.009483f, 0.012328f, -0.011560f, 0.005617f, 0.007675f, 0.017310f, 0.000399f, -0.005706f, -0.001200f, -0.001598f, -0.007133f, 0.005031f, -0.002937f, -0.004215f, 0.004190f, -0.006951f, -0.002441f, 0.001616f, 0.004738f, 0.005882f, -0.014126f, -0.010690f, -0.009460f, 0.001486f, 0.005404f, -0.000092f, 0.003465f, 0.003137f, 0.009004f, 0.004747f, -0.007825f, 0.006886f, 0.001091f, -0.008732f, 0.030762f, 0.002540f, 0.071726f, 0.023369f, -0.001454f, 0.003086f, -0.027753f, -0.035950f, 0.044798f, -0.013266f, 0.005079f, 0.059478f, -0.015497f, -0.002868f, -0.012723f, 0.046384f, 0.008921f, -0.019168f, + 0.027380f, -0.009951f, 0.040671f, 0.021356f, 0.010133f, 0.006032f, -0.004504f, -0.015562f, -0.005075f, -0.004216f, -0.043599f, -0.010945f, -0.007022f, 0.024130f, -0.013501f, 0.004559f, 0.008025f, -0.031228f, -0.046532f, -0.001650f, 0.040188f, -0.002672f, 0.035704f, -0.006171f, -0.049881f, -0.019307f, 0.002282f, 0.011321f, 0.009039f, -0.040569f, 0.000358f, -0.011604f, 0.029490f, -0.030101f, 0.037278f, 0.055117f, 0.035750f, -0.011200f, 0.006685f, 0.022246f, -0.007904f, 0.043192f, 0.049986f, 0.044073f, 0.014426f, 0.048326f, -0.001618f, -0.019443f, 0.006277f, -0.025241f, -0.031857f, 0.017426f, -0.013650f, 0.039499f, 0.020439f, 0.010492f, -0.013517f, -0.048589f, -0.044028f, 0.030955f, -0.019466f, -0.039312f, 0.026311f, 0.052468f, 0.031580f, -0.016795f, 0.025091f, 0.015398f, -0.005392f, -0.012371f, 0.014923f, -0.018621f, -0.005597f, -0.001976f, -0.012779f, 0.001727f, -0.002700f, 0.010822f, 0.006616f, -0.002480f, -0.017020f, 0.009565f, 0.008769f, 0.006013f, -0.003610f, 0.000584f, -0.015890f, 0.001317f, -0.000064f, 0.004176f, 0.003858f, 0.000442f, 0.009630f, -0.003295f, 0.013289f, 0.014903f, + 0.003970f, 0.012108f, 0.001231f, -0.009532f, -0.022543f, 0.005161f, 0.000689f, 0.004910f, -0.003743f, -0.016246f, -0.036253f, 0.021213f, 0.026490f, -0.000411f, 0.012937f, 0.008724f, 0.012793f, 0.010647f, 0.004836f, -0.002910f, 0.006206f, -0.007636f, 0.013706f, -0.024664f, -0.068700f, -0.027584f, 0.037527f, 0.002108f, -0.011289f, -0.023050f, -0.000232f, 0.031551f, 0.040289f, 0.008514f, -0.024908f, -0.004480f, 0.032195f, -0.039228f, 0.003606f, -0.005003f, 0.028786f, 0.032859f, -0.026596f, 0.049917f, 0.009573f, 0.001829f, 0.070583f, 0.000171f, -0.022334f, 0.024577f, -0.011963f, 0.003331f, -0.015265f, 0.005041f, 0.046838f, 0.005195f, 0.059705f, 0.025031f, -0.052449f, -0.057471f, -0.012685f, 0.014618f, 0.031790f, -0.044644f, -0.015888f, -0.006703f, 0.053699f, 0.049067f, -0.042483f, -0.001947f, -0.026014f, 0.015970f, -0.009131f, 0.056103f, 0.000496f, -0.012754f, 0.036797f, -0.007897f, -0.044067f, -0.022479f, -0.007445f, 0.045126f, -0.040624f, 0.024035f, 0.070421f, 0.033080f, 0.047165f, -0.013119f, 0.018993f, -0.013228f, -0.029676f, -0.028666f, 0.014517f, -0.020521f, -0.001682f, -0.007675f, + 0.012569f, -0.000814f, 0.028376f, -0.006950f, -0.013574f, -0.005209f, -0.006120f, 0.006536f, -0.004929f, 0.010516f, -0.020080f, 0.013993f, -0.013417f, -0.006526f, 0.003667f, -0.005770f, -0.006542f, 0.008585f, -0.009059f, -0.003905f, -0.002986f, -0.007781f, -0.024648f, -0.014314f, -0.002784f, -0.003506f, -0.007596f, -0.010176f, -0.002679f, 0.006517f, -0.004676f, 0.003533f, -0.004194f, -0.000960f, 0.005027f, -0.019349f, 0.001584f, -0.003386f, -0.014539f, -0.001325f, -0.034079f, 0.025583f, 0.035860f, 0.031246f, -0.053871f, -0.024629f, 0.032834f, 0.102365f, 0.005451f, 0.022771f, -0.030229f, 0.009861f, -0.002172f, -0.004098f, -0.028431f, 0.009051f, -0.010458f, 0.049453f, 0.037986f, -0.050350f, -0.023307f, 0.054565f, 0.026665f, 0.020019f, 0.005024f, 0.029770f, 0.033261f, 0.011451f, 0.019608f, 0.019345f, -0.025319f, 0.004250f, -0.024809f, -0.010195f, 0.005950f, -0.004124f, 0.003413f, -0.020198f, -0.019351f, 0.015057f, -0.004518f, 0.020532f, 0.015031f, -0.046549f, 0.034566f, 0.007644f, 0.027703f, -0.031229f, 0.017601f, 0.029233f, -0.022847f, -0.035754f, -0.037265f, -0.039665f, -0.040950f, -0.032774f, + 0.011366f, 0.060167f, 0.015177f, 0.018954f, 0.027642f, 0.002573f, -0.001098f, -0.022643f, 0.039331f, -0.050001f, -0.102078f, 0.035369f, -0.023726f, 0.005009f, -0.086670f, 0.021865f, 0.026891f, 0.005286f, 0.016748f, 0.015092f, -0.013184f, -0.021440f, -0.034574f, 0.011414f, 0.007212f, -0.025476f, 0.018686f, -0.009333f, -0.044441f, -0.023487f, -0.000831f, -0.007318f, 0.004343f, 0.003548f, 0.012774f, 0.006669f, 0.002069f, -0.000289f, 0.010083f, -0.005813f, -0.014377f, -0.024448f, -0.015305f, -0.015603f, -0.005907f, -0.008366f, 0.008952f, 0.014700f, 0.010290f, -0.019377f, -0.001928f, -0.007837f, -0.000151f, 0.012032f, 0.003211f, -0.017068f, -0.032910f, -0.002246f, 0.001092f, 0.003263f, -0.011908f, -0.004372f, -0.012437f, -0.001919f, -0.016166f, -0.016167f, 0.010536f, -0.015786f, 0.006454f, 0.003296f, -0.008727f, -0.002781f, 0.010073f, -0.008850f, 0.003673f, -0.012060f, 0.024219f, 0.017294f, 0.023133f, -0.032997f, -0.017030f, -0.004723f, 0.021147f, -0.044009f, 0.073130f, 0.034619f, -0.005914f, 0.039758f, 0.023997f, 0.037881f, -0.019931f, -0.025677f, -0.024804f, 0.045900f, 0.016378f, 0.008197f, + 0.041529f, -0.036447f, -0.117600f, -0.007954f, 0.007882f, 0.013876f, -0.066193f, 0.051194f, 0.037333f, -0.071222f, -0.054717f, 0.001629f, 0.029311f, 0.002362f, 0.016652f, 0.037564f, -0.009993f, 0.023275f, -0.034346f, -0.039456f, -0.031357f, -0.040984f, -0.063608f, 0.017590f, 0.006584f, -0.042835f, 0.056364f, 0.021780f, -0.013786f, -0.013573f, -0.033292f, -0.025059f, -0.058003f, -0.031633f, 0.020599f, 0.051317f, -0.019628f, 0.005024f, 0.021136f, -0.045775f, 0.032897f, 0.044451f, 0.006533f, -0.011566f, 0.038063f, 0.010298f, 0.004240f, -0.027457f, -0.032007f, -0.002481f, 0.056912f, -0.017660f, -0.052647f, -0.001062f, -0.067073f, -0.069927f, -0.072772f, -0.034995f, -0.038443f, -0.024631f, 0.031160f, -0.004527f, 0.027995f, -0.005942f, -0.009395f, -0.026435f, -0.007194f, -0.007884f, 0.014962f, -0.011691f, -0.016952f, -0.003457f, -0.006748f, 0.002339f, -0.024669f, 0.004510f, -0.011468f, -0.009941f, 0.012786f, -0.011869f, -0.004104f, 0.004120f, -0.008926f, 0.018972f, -0.012316f, 0.002740f, 0.030761f, 0.003685f, 0.017867f, -0.007035f, -0.011127f, 0.031298f, 0.004447f, -0.016742f, 0.000338f, 0.000219f, + 0.002157f, 0.004364f, -0.009210f, 0.019530f, 0.000879f, -0.001564f, -0.009811f, 0.001762f, -0.009970f, -0.025758f, -0.044513f, -0.023331f, -0.023919f, 0.028979f, 0.057038f, 0.021056f, -0.026027f, -0.055014f, 0.058992f, 0.031753f, -0.028481f, -0.015353f, -0.015209f, 0.003300f, 0.013867f, -0.018195f, 0.030640f, 0.028502f, 0.001571f, -0.019188f, -0.018197f, -0.017132f, -0.002228f, 0.011063f, -0.008654f, -0.018969f, -0.045104f, 0.013850f, 0.039577f, -0.022796f, 0.034981f, 0.001021f, 0.023458f, -0.019703f, 0.026084f, 0.075774f, -0.028489f, 0.033029f, 0.065803f, 0.011363f, -0.011614f, -0.018372f, 0.019018f, 0.001336f, 0.033529f, -0.025819f, 0.090300f, -0.028083f, -0.060811f, 0.013832f, -0.027778f, 0.071420f, 0.023323f, -0.022502f, 0.003973f, -0.043296f, -0.059350f, 0.072496f, 0.008150f, -0.019708f, 0.071604f, -0.037338f, 0.009180f, -0.021171f, 0.041411f, -0.053246f, -0.059751f, -0.042699f, 0.013010f, 0.025406f, 0.047420f, 0.020136f, 0.050119f, 0.078695f, -0.009955f, 0.015647f, -0.010674f, 0.009730f, -0.002783f, 0.002928f, -0.058287f, 0.001901f, -0.080396f, -0.027023f, -0.016095f, 0.013895f, + -0.003024f, 0.017242f, -0.006678f, -0.024274f, -0.025518f, -0.006095f, -0.017002f, -0.018808f, -0.032304f, -0.000366f, -0.003722f, 0.023887f, 0.009956f, -0.020059f, 0.017564f, 0.008010f, 0.014408f, 0.019172f, -0.025961f, 0.006715f, -0.011048f, -0.005279f, 0.025144f, -0.008994f, 0.012288f, 0.016830f, -0.010819f, -0.028227f, -0.014659f, 0.009679f, -0.046212f, -0.014753f, 0.000504f, -0.006953f, -0.010873f, 0.020145f, -0.022158f, -0.024388f, 0.016154f, 0.027239f, -0.013332f, 0.022656f, -0.015985f, 0.054840f, -0.007643f, 0.001023f, 0.066978f, 0.006620f, -0.035785f, -0.042809f, -0.036761f, 0.067560f, -0.045311f, 0.026425f, 0.032432f, -0.022549f, 0.006968f, -0.038136f, -0.008141f, 0.029787f, -0.026840f, 0.021321f, -0.008808f, -0.047775f, -0.103113f, -0.009914f, 0.093215f, 0.038281f, 0.009732f, -0.019049f, -0.027786f, -0.005710f, -0.036534f, 0.011275f, -0.051585f, 0.061330f, 0.004712f, 0.006884f, 0.005198f, -0.021493f, -0.062275f, -0.024451f, 0.050183f, -0.041501f, -0.010403f, -0.028902f, 0.022452f, -0.020879f, 0.069375f, -0.011782f, 0.014355f, -0.025878f, -0.064653f, 0.013725f, -0.049359f, -0.011749f, + -0.004305f, -0.091232f, -0.076408f, -0.072879f, 0.024019f, -0.013958f, -0.039107f, -0.026083f, -0.025018f, -0.023721f, -0.034915f, -0.024205f, -0.006061f, -0.082011f, 0.022725f, 0.008436f, 0.029989f, -0.018711f, 0.070679f, -0.008084f, 0.013618f, -0.025229f, -0.009765f, 0.037402f, -0.075495f, 0.031327f, 0.049426f, -0.051494f, -0.032897f, 0.002310f, 0.007961f, -0.014192f, -0.024449f, -0.040533f, -0.002499f, 0.000105f, -0.024016f, 0.019550f, -0.017737f, -0.032497f, -0.017569f, -0.014462f, 0.019970f, -0.001440f, 0.000586f, -0.001623f, 0.014874f, -0.039886f, -0.011271f, -0.005633f, -0.007693f, -0.003664f, 0.000539f, -0.047686f, 0.001345f, -0.016130f, -0.012466f, -0.005045f, -0.021076f, 0.004683f, -0.006110f, 0.003131f, 0.000678f, -0.005164f, -0.005389f, -0.012780f, -0.002117f, -0.010721f, -0.002443f, 0.005342f, -0.010812f, -0.018315f, 0.000287f, -0.005361f, -0.004075f, -0.011966f, -0.019219f, -0.014185f, -0.005153f, -0.003737f, -0.003748f, 0.005350f, -0.014165f, -0.015319f, 0.027575f, 0.017579f, 0.033486f, -0.012263f, -0.071299f, 0.020974f, 0.000472f, 0.118050f, 0.119700f, 0.015114f, 0.000648f, 0.028898f, + 0.013676f, 0.030832f, 0.051363f, 0.019915f, 0.053357f, 0.081993f, -0.020785f, 0.011271f, -0.067381f, -0.008890f, 0.008259f, -0.008054f, -0.020393f, -0.039958f, -0.034592f, 0.019487f, 0.018296f, -0.088271f, 0.062945f, 0.017731f, 0.089031f, -0.004858f, -0.018164f, 0.029860f, -0.006634f, 0.094805f, 0.023564f, -0.004231f, 0.017701f, 0.019233f, -0.025681f, -0.056940f, -0.045512f, -0.022028f, 0.069941f, 0.001527f, 0.076923f, 0.010090f, 0.075204f, -0.021217f, -0.104366f, -0.038328f, -0.030555f, 0.054417f, 0.006197f, -0.049955f, -0.073566f, -0.050571f, -0.010543f, 0.063794f, -0.055358f, -0.047348f, -0.031904f, 0.056987f, -0.028129f, -0.015892f, -0.073201f, -0.071975f, 0.022574f, 0.012788f, 0.097360f, 0.025635f, -0.010619f, -0.025902f, 0.030352f, 0.032219f, 0.103996f, 0.002396f, -0.034035f, -0.044663f, -0.003148f, -0.004166f, 0.002148f, 0.016693f, 0.014788f, -0.023822f, -0.005704f, 0.008323f, 0.021529f, -0.022880f, -0.019136f, 0.029729f, 0.042965f, 0.020476f, 0.013029f, 0.017182f, -0.018372f, -0.007361f, -0.011625f, -0.002005f, -0.002598f, 0.009834f, -0.000026f, 0.056659f, 0.011679f, -0.002094f, + -0.017341f, -0.029273f, 0.028147f, 0.045989f, -0.016650f, 0.001005f, 0.001701f, 0.005949f, 0.026105f, 0.011617f, 0.019391f, 0.020040f, 0.005015f, 0.015613f, 0.005053f, -0.000849f, 0.005091f, -0.013827f, -0.004703f, 0.003476f, -0.008375f, -0.005630f, -0.018212f, -0.001104f, 0.005910f, 0.001215f, 0.072207f, 0.026960f, -0.034658f, 0.067399f, -0.003935f, -0.133492f, -0.040282f, 0.083564f, 0.093511f, -0.066035f, -0.065484f, -0.067217f, 0.037481f, 0.056680f, 0.114346f, 0.034103f, 0.014910f, -0.065574f, -0.006454f, -0.004498f, 0.025817f, 0.056640f, 0.041617f, 0.002851f, -0.068951f, -0.134683f, -0.035472f, -0.068414f, 0.101015f, 0.106339f, 0.186599f, -0.056443f, -0.179381f, -0.039683f, -0.061624f, 0.138839f, 0.047433f, 0.140806f, 0.036419f, -0.047905f, -0.136731f, -0.093084f, 0.004928f, 0.016350f, 0.153197f, 0.061572f, -0.005412f, -0.126842f, -0.220151f, -0.058250f, 0.004586f, 0.100933f, 0.231400f, 0.049717f, 0.069664f, -0.149970f, -0.228787f, 0.009096f, 0.052317f, 0.181257f, 0.106831f, 0.075689f, -0.042463f, -0.148143f, -0.120740f, -0.002013f, 0.033746f, -0.004019f, 0.091643f, -0.076753f, + -0.071297f, -0.018479f, -0.162745f, 0.024491f, 0.007497f, 0.043425f, -0.032965f, -0.066586f, -0.035663f, -0.028686f, -0.074669f, 0.016152f, 0.021379f, -0.024708f, -0.004107f, -0.070701f, 0.009569f, 0.019275f, 0.022584f, 0.031551f, 0.009967f, -0.036669f, 0.012114f, -0.012234f, -0.006591f, 0.004307f, 0.056228f, 0.008817f, -0.002229f, -0.015401f, -0.043544f, -0.009378f, -0.017666f, 0.015722f, -0.008277f, 0.017535f, 0.011543f, -0.040403f, -0.089905f, -0.044993f, -0.066180f, 0.052735f, 0.053590f, 0.063290f, 0.036373f, -0.084354f, -0.075685f, -0.117256f, -0.028581f, 0.093335f, 0.103852f, 0.100750f, 0.004484f, -0.113184f, -0.084533f, -0.066355f, -0.001892f, 0.166406f, 0.115578f, 0.046437f, -0.090308f, -0.105328f, -0.078819f, 0.037547f, 0.039226f, 0.057074f, 0.029859f, -0.018700f, -0.026465f, -0.050241f, -0.021916f, 0.014039f, 0.001713f, 0.016813f, 0.023852f, -0.001584f, -0.077821f, 0.102933f, -0.003673f, 0.016222f, -0.044172f, -0.095116f, 0.056095f, -0.095788f, 0.101612f, 0.016303f, 0.007762f, 0.023030f, -0.063393f, 0.062726f, 0.004597f, 0.043984f, -0.060834f, 0.022239f, -0.000898f, 0.075046f, + -0.030786f, 0.019374f, 0.047819f, -0.054760f, -0.033699f, 0.006607f, -0.052469f, 0.084077f, -0.019969f, -0.033010f, 0.073181f, 0.086846f, -0.024276f, -0.062261f, -0.016977f, -0.054744f, -0.011640f, 0.035659f, -0.006702f, -0.068460f, 0.007011f, 0.038581f, -0.025785f, 0.043373f, -0.036286f, 0.017430f, 0.044021f, -0.017050f, 0.028592f, -0.078122f, -0.080994f, 0.082247f, 0.043981f, 0.126335f, -0.006373f, -0.030714f, 0.105090f, -0.059605f, -0.055193f, 0.038312f, 0.034712f, 0.061302f, -0.055889f, -0.025113f, 0.015055f, -0.010633f, 0.059079f, -0.047137f, -0.150277f, 0.039780f, 0.082339f, 0.002098f, -0.070195f, 0.014069f, 0.041403f, -0.015683f, -0.019123f, -0.054677f, -0.019007f, -0.044960f, 0.045217f, 0.012252f, -0.033472f, -0.007791f, 0.054220f, -0.038191f, -0.014933f, -0.034418f, -0.005141f, 0.027792f, -0.039888f, 0.021794f, 0.056741f, 0.023137f, -0.001757f, -0.015430f, -0.004177f, -0.020332f, -0.027835f, 0.044664f, -0.019149f, 0.020861f, -0.007037f, -0.021232f, -0.001083f, 0.005802f, 0.003234f, 0.016970f, 0.018339f, -0.032238f, -0.011039f, 0.017676f, 0.013018f, 0.034186f, -0.005259f, -0.027528f, + 0.010459f, -0.032230f, 0.015091f, -0.029250f, -0.017938f, 0.001726f, -0.007409f, -0.019196f, 0.046005f, -0.019246f, 0.008801f, 0.021669f, 0.003580f, 0.017281f, 0.030286f, 0.000708f, -0.006342f, 0.002830f, -0.002599f, -0.039659f, -0.024351f, 0.151078f, 0.041383f, 0.042027f, -0.127964f, -0.031936f, -0.100235f, -0.084629f, 0.076462f, 0.080478f, 0.159255f, 0.073645f, -0.021127f, -0.030579f, -0.018321f, 0.050472f, 0.035204f, 0.001322f, 0.077600f, 0.015350f, -0.030558f, -0.036300f, -0.029189f, 0.055876f, 0.000395f, 0.048905f, 0.023072f, 0.029632f, 0.007715f, -0.011947f, 0.006055f, -0.000058f, 0.007697f, -0.012400f, -0.002824f, 0.016200f, 0.013802f, 0.104534f, 0.084324f, 0.068867f, -0.005626f, 0.019011f, -0.042091f, -0.006775f, -0.026032f, -0.047622f, -0.049521f, 0.015323f, 0.027619f, 0.039888f, 0.048986f, 0.040318f, -0.024689f, -0.063763f, 0.097776f, -0.069326f, -0.030045f, -0.017587f, 0.033836f, 0.004571f, 0.048092f, 0.049883f, 0.043945f, -0.058403f, -0.020566f, 0.008145f, -0.022586f, -0.094323f, 0.063645f, -0.022025f, -0.016585f, 0.035849f, 0.073798f, 0.083362f, 0.061171f, 0.059549f, + 0.051785f, -0.054642f, 0.007572f, -0.013936f, -0.016580f, 0.031319f, 0.025244f, 0.033357f, 0.016609f, -0.015184f, -0.026867f, -0.039493f, -0.042335f, -0.085821f, -0.033875f, 0.012650f, -0.004486f, 0.052277f, 0.000324f, -0.023906f, -0.007566f, -0.034230f, 0.013379f, 0.003898f, -0.002121f, -0.000555f, 0.022621f, 0.048917f, -0.005619f, 0.002307f, 0.027414f, 0.001812f, 0.000709f, -0.009988f, -0.002817f, -0.011844f, -0.010839f, 0.002733f, -0.022975f, 0.010178f, 0.013744f, -0.017430f, -0.025054f, 0.006775f, 0.005491f, -0.009515f, 0.025306f, 0.033186f, -0.004209f, 0.004729f, -0.010541f, -0.034141f, -0.013917f, 0.006779f, 0.006082f, -0.195394f, -0.097199f, -0.134222f, 0.096990f, 0.021305f, 0.277417f, 0.286484f, 0.285707f, 0.326220f, 0.321503f, 0.230788f, 0.143847f, 0.179994f, 0.079826f, 0.016704f, -0.151737f, -0.132313f, -0.331645f, -0.290229f, -0.260315f, -0.153541f, -0.193487f, -0.147633f, -0.011892f, -0.047193f, -0.018804f, -0.023301f, 0.001428f, -0.000379f, 0.009044f, 0.037840f, 0.040886f, 0.038800f, 0.114678f, 0.117440f, 0.124724f, 0.088937f, 0.249217f, 0.065120f, 0.104927f, 0.174319f, + 0.194568f, 0.072271f, 0.195818f, 0.235355f, 0.185821f, 0.161168f, 0.164099f, 0.018111f, 0.098382f, 0.198121f, 0.195985f, 0.126213f, 0.164532f, 0.143684f, -0.001616f, -0.053035f, -0.037083f, -0.097770f, -0.120451f, -0.015408f, -0.135407f, -0.206929f, -0.161007f, -0.192720f, -0.284856f, -0.130383f, -0.192477f, -0.213593f, -0.302341f, -0.245989f, -0.278780f, -0.318756f, -0.212094f, -0.360436f, -0.426215f, -0.427967f, -0.232584f, -0.289513f, -0.364707f, -0.071548f, -0.162173f, -0.076071f, -0.040512f, 0.119927f, 0.053721f, 0.175854f, 0.093709f, 0.166147f, 0.158377f, 0.104125f, 0.082340f, 0.128914f, 0.238694f, 0.242679f, 0.243713f, 0.248731f, 0.258623f, 0.313966f, 0.280704f, 0.232977f, 0.286579f, 0.323113f, 0.258502f, 0.194436f, 0.232116f, 0.195242f, 0.126431f, 0.159372f, 0.108075f, 0.053918f, 0.023609f, 0.049651f, 0.015032f, -0.019489f, -0.013208f, -0.025262f, -0.061349f, -0.093816f, -0.093195f, -0.101684f, -0.086753f, -0.108705f, -0.171382f, -0.154045f, -0.177099f, -0.199868f, -0.232947f, -0.232323f, -0.192232f, -0.193078f, -0.158048f, -0.100013f, -0.112886f, -0.076535f, -0.053526f, 0.007040f, + 0.000211f, 0.001619f, 0.010413f, 0.036047f, 0.041237f, 0.014830f, 0.032863f, 0.052094f, 0.041529f, 0.019348f, 0.021905f, 0.039229f, 0.023323f, 0.010966f, 0.016364f, 0.022964f, 0.020883f, 0.014628f, 0.017892f, 0.028909f, 0.027633f, 0.013066f, 0.004458f, 0.009660f, 0.017143f, 0.010275f, 0.000007f, 0.006952f, 0.012987f, 0.010179f, 0.004944f, 0.008867f, 0.009456f, 0.007365f, 0.006487f, 0.003255f, 0.002486f, 0.007259f, 0.005817f, 0.006354f, 0.002616f, -0.004037f, -0.005109f, 0.002919f, 0.006078f, -0.001314f, -0.004215f, 0.001150f, 0.000004f, 0.001228f, 0.003608f, 0.002539f, 0.004319f, 0.007850f, 0.007343f, 0.011681f, 0.015713f, 0.018287f, 0.014195f, 0.014487f, 0.015888f, 0.013289f, 0.009330f, 0.010641f, 0.012681f, 0.009806f, 0.004697f, 0.006119f, 0.003653f, 0.002847f, -0.000198f, -0.004843f, -0.004430f, -0.006181f, -0.012726f, -0.017688f, -0.017423f, -0.015275f, -0.019884f, -0.018705f, -0.017074f, -0.015290f, -0.014870f, -0.012298f, -0.009872f, -0.006708f, -0.005604f, -0.003461f, -0.002049f, -0.000519f, 0.000176f, 0.001575f, 0.001586f, 0.002877f, 0.001952f, 0.002304f, + 0.001442f, 0.002027f, 0.000909f, 0.001188f, 0.000244f, 0.000527f} + } +}; +const float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]={ {-0.000036f, -0.000011f, -0.000019f, -0.000013f, -0.000030f, -0.000006f, -0.000048f, -0.000013f, -0.000158f, 0.000107f, -0.000008f, 0.000108f, -0.000022f, 0.000046f, 0.000299f, -0.000037f, -0.000351f, -0.000354f, -0.000113f, -0.000220f, 0.000032f, -0.000180f, -0.000473f, 0.000130f, -0.000116f, -0.000091f, 0.000132f, 0.000034f, -0.000158f, -0.000261f, -0.000326f, 0.000037f, -0.000195f, -0.000130f, 0.000076f, -0.000361f, 0.000321f, 0.000322f, -0.000185f, -0.000033f, -0.000117f, -0.000344f, 0.000036f, -0.000314f, -0.000234f, 0.000223f, -0.000150f, 0.000483f, 0.002034f, -0.000891f, 0.000900f, -0.000388f, 0.000319f, -0.000018f, 0.000469f, -0.000211f, 0.000114f, 0.000197f, 0.000239f, 0.000254f, 0.000445f, -0.000116f, 0.000049f, 0.000816f, 0.000612f, -0.001621f, 0.000319f, -0.000213f, 0.000079f, -0.000556f, 0.000361f, -0.000699f, 0.000689f, 0.000567f, 0.000282f, -0.000096f, -0.000219f, -0.000261f, 0.000489f, 0.000445f, -0.000204f, 0.000096f, 0.000846f, -0.000323f, -0.000018f, -0.000295f, 0.000099f, 0.000124f, -0.000024f, -0.000246f, 0.000397f, 0.000054f, -0.000122f, 0.000295f, 0.008176f, -0.000604f, + 0.001128f, -0.000033f, 0.000349f, 0.000145f, 0.000264f, 0.000174f, 0.000772f, -0.000464f, 0.000318f, -0.000173f, 0.000123f, 0.000418f, 0.000659f, 0.000255f, 0.000118f, -0.000335f, 0.000599f, -0.000456f, 0.000221f, -0.000219f, -0.000656f, 0.000054f, 0.000212f, 0.000010f, -0.000213f, 0.000043f, -0.000237f, 0.000409f, -0.000881f, 0.000189f, -0.000213f, 0.000216f, -0.000020f, -0.001232f, -0.000434f, 0.000110f, 0.000181f, 0.000126f, -0.000223f, -0.000289f, -0.000249f, 0.000158f, 0.000461f, -0.000210f, 0.000197f, 0.004950f, -0.005827f, 0.001178f, -0.001392f, 0.000781f, -0.000898f, 0.000723f, -0.001232f, -0.000360f, -0.000756f, -0.000127f, -0.000628f, 0.000069f, 0.001158f, 0.001681f, 0.000710f, 0.000385f, 0.000041f, 0.000538f, 0.001203f, 0.000882f, -0.000533f, -0.000639f, -0.000862f, -0.000400f, -0.000494f, 0.000062f, -0.000071f, -0.000060f, 0.000034f, 0.000270f, -0.000396f, 0.000533f, -0.000524f, -0.000694f, 0.000269f, 0.000007f, 0.000062f, 0.000167f, -0.000485f, -0.000543f, 0.000179f, -0.000323f, -0.000451f, -0.000068f, 0.000073f, 0.000377f, -0.011298f, 0.002275f, -0.000551f, 0.000305f, + 0.000263f, -0.000929f, -0.000408f, 0.000919f, -0.000129f, 0.000096f, 0.001028f, 0.000346f, -0.000367f, -0.000684f, 0.000722f, 0.000081f, -0.000836f, -0.001203f, -0.001752f, 0.000590f, -0.000769f, 0.000202f, -0.000237f, 0.000351f, -0.000163f, 0.000145f, -0.000902f, -0.000887f, -0.000548f, -0.000222f, -0.000555f, 0.000191f, -0.000260f, 0.000343f, 0.001079f, 0.000204f, 0.000202f, 0.000723f, 0.000211f, 0.000184f, -0.000007f, -0.000117f, -0.000685f, -0.000145f, 0.000179f, -0.000109f, -0.000017f, -0.013514f, 0.005078f, -0.001249f, 0.001642f, -0.000779f, 0.001189f, -0.000632f, -0.000167f, -0.001139f, 0.000905f, -0.001351f, 0.000927f, -0.000220f, 0.001290f, -0.001714f, 0.000467f, 0.001625f, 0.000494f, -0.001344f, -0.000459f, -0.000804f, -0.000317f, 0.000528f, 0.000286f, 0.000394f, -0.000190f, -0.000449f, -0.000630f, -0.000625f, -0.000029f, -0.000719f, -0.000103f, -0.000668f, -0.000456f, -0.001878f, -0.000502f, -0.000254f, 0.000131f, 0.000055f, 0.000684f, 0.000292f, 0.000675f, -0.000056f, 0.000781f, 0.000189f, 0.000097f, 0.000197f, 0.001667f, 0.005870f, -0.001647f, 0.002592f, -0.001609f, 0.000662f, + -0.001734f, 0.001325f, -0.000146f, 0.001446f, -0.000140f, -0.000168f, 0.001420f, -0.000259f, -0.000223f, 0.001241f, -0.000640f, -0.001178f, -0.001870f, 0.001620f, -0.000157f, 0.001102f, 0.000107f, 0.000777f, 0.000362f, -0.001091f, 0.000432f, 0.000415f, -0.000097f, 0.000533f, 0.000820f, -0.001084f, 0.000116f, -0.000052f, -0.000116f, -0.000630f, -0.000300f, -0.000617f, 0.000138f, -0.000143f, 0.000437f, 0.001363f, 0.000028f, 0.000682f, -0.000151f, 0.000117f, -0.000174f, 0.000194f, 0.000533f, -0.000272f, -0.000524f, 0.017769f, -0.004406f, 0.001672f, -0.000869f, 0.001478f, -0.000674f, 0.001130f, -0.000659f, 0.000377f, -0.001752f, 0.000786f, -0.001674f, 0.001248f, -0.000526f, 0.000356f, -0.000502f, 0.001765f, 0.000224f, 0.000431f, -0.000877f, 0.001148f, -0.000126f, -0.000554f, 0.000970f, -0.000784f, -0.001216f, 0.000015f, -0.000395f, 0.000554f, -0.000028f, -0.000194f, -0.000412f, 0.000158f, -0.000062f, 0.000209f, -0.000845f, 0.000178f, -0.000386f, 0.001267f, -0.000263f, 0.000599f, 0.000092f, 0.000501f, 0.000936f, -0.000674f, 0.000027f, 0.000209f, -0.000351f, 0.000740f, -0.000180f, -0.000349f, + 0.001515f, -0.009212f, 0.003660f, -0.002832f, 0.001696f, -0.001403f, 0.000504f, -0.001854f, 0.001230f, -0.000732f, 0.001712f, -0.000175f, 0.000757f, -0.001477f, -0.000612f, -0.000083f, -0.000525f, -0.000493f, 0.001974f, -0.001428f, 0.000267f, 0.000924f, -0.001769f, 0.000473f, 0.000650f, -0.000436f, 0.000634f, 0.000218f, 0.000373f, -0.001126f, -0.000081f, -0.000353f, 0.000721f, -0.000555f, 0.000403f, -0.001331f, -0.000251f, 0.000994f, 0.000495f, 0.000323f, -0.000322f, -0.000191f, -0.001005f, -0.001080f, 0.000614f, 0.000231f, -0.000028f, -0.000150f, -0.000074f, 0.000107f, 0.000117f, -0.000219f, -0.000201f, 0.000144f, 0.000165f, -0.000365f, -0.000273f, -0.000224f, -0.014887f, 0.004915f, -0.002612f, 0.000707f, -0.000217f, 0.000863f, -0.001089f, 0.001237f, -0.000465f, -0.000390f, -0.000119f, 0.000904f, -0.000443f, -0.000668f, 0.000539f, 0.001711f, -0.000203f, 0.000101f, -0.002788f, 0.000273f, 0.000074f, 0.001405f, -0.000418f, -0.000180f, -0.002125f, -0.000706f, 0.000054f, 0.000073f, 0.000776f, 0.001061f, -0.001600f, -0.001461f, 0.000991f, 0.000275f, -0.001651f, -0.001255f, 0.000657f, 0.000397f, + -0.000073f, -0.000016f, -0.000618f, 0.000691f, -0.000177f, 0.000273f, 0.000111f, -0.000846f, -0.000346f, 0.000503f, -0.001333f, -0.000646f, -0.000247f, 0.000320f, -0.000249f, 0.000057f, -0.000654f, -0.000025f, -0.000468f, 0.000081f, -0.014869f, 0.006610f, -0.003621f, 0.002787f, -0.002521f, 0.001282f, -0.002872f, 0.000688f, -0.001866f, 0.002998f, -0.001487f, 0.001073f, -0.000166f, 0.000044f, -0.001346f, -0.000366f, -0.000546f, 0.002717f, -0.000495f, 0.001399f, 0.002200f, 0.001277f, 0.000339f, -0.000267f, 0.000540f, -0.000452f, 0.001238f, 0.001207f, 0.000184f, -0.000569f, 0.000224f, 0.000252f, -0.000799f, -0.000340f, 0.000633f, 0.000914f, -0.000655f, -0.000629f, -0.000665f, 0.000072f, -0.000268f, 0.000407f, -0.000642f, 0.000496f, -0.001017f, 0.000332f, -0.000552f, -0.000009f, 0.000118f, -0.000380f, -0.000548f, -0.000682f, -0.000657f, -0.000856f, 0.000122f, -0.000778f, -0.000388f, 0.000032f, 0.005495f, 0.005712f, -0.002160f, 0.001879f, -0.002367f, 0.000326f, 0.000673f, 0.000028f, -0.000968f, 0.001039f, 0.000239f, 0.002244f, 0.001152f, 0.002539f, -0.000429f, 0.001485f, -0.000448f, 0.000938f, + 0.001318f, -0.000213f, -0.001912f, 0.001759f, -0.000231f, 0.000722f, -0.000456f, -0.000032f, 0.000220f, 0.002159f, 0.000289f, -0.001218f, -0.000440f, 0.000260f, -0.000692f, 0.001622f, 0.000667f, -0.000286f, -0.000467f, -0.000963f, 0.000698f, -0.000944f, 0.000902f, 0.000959f, -0.000766f, 0.000539f, 0.000474f, 0.000236f, -0.000111f, 0.001576f, 0.000953f, 0.001147f, -0.000085f, 0.000116f, 0.000487f, -0.000367f, -0.000172f, -0.000134f, -0.000386f, -0.000033f, 0.000044f, 0.000122f, -0.000326f, -0.000689f, -0.000735f, 0.000127f, 0.000354f, 0.016778f, -0.006038f, 0.002051f, -0.002841f, 0.001880f, -0.001884f, 0.002426f, -0.000880f, 0.000082f, -0.001882f, 0.003661f, -0.000568f, 0.003295f, 0.000170f, 0.000538f, -0.002268f, 0.000765f, 0.003308f, -0.001060f, -0.002854f, 0.000385f, 0.000081f, 0.001276f, -0.002069f, 0.001634f, -0.000056f, 0.000116f, -0.000217f, -0.001989f, -0.000615f, 0.000298f, -0.002396f, 0.000363f, 0.000918f, 0.000760f, -0.000703f, -0.000215f, -0.000130f, 0.001078f, 0.000291f, -0.000215f, -0.000525f, 0.000835f, 0.000552f, 0.002112f, 0.000509f, -0.000343f, 0.001150f, 0.000454f, + -0.000167f, 0.000371f, 0.000862f, 0.000574f, 0.000080f, 0.000120f, -0.000739f, 0.000127f, -0.000114f, 0.000863f, -0.000138f, 0.000328f, -0.000144f, 0.000293f, -0.000065f, 0.000271f, 0.005644f, -0.008118f, 0.004887f, -0.003602f, 0.001536f, 0.000563f, -0.000353f, -0.000294f, 0.000984f, -0.002034f, -0.001286f, -0.001048f, -0.000809f, -0.002787f, 0.001435f, -0.002588f, -0.000087f, -0.002069f, 0.000782f, -0.001555f, -0.001216f, -0.000613f, 0.002383f, 0.000342f, 0.002320f, 0.001219f, 0.001596f, 0.002288f, 0.000138f, -0.000280f, -0.000329f, 0.000651f, 0.001771f, -0.000138f, -0.000107f, -0.001161f, 0.000910f, -0.000135f, -0.000677f, 0.000656f, 0.000562f, 0.001835f, 0.000768f, 0.000868f, -0.001272f, -0.000597f, -0.000052f, -0.000235f, 0.000915f, -0.002611f, 0.000589f, -0.000638f, -0.000417f, -0.000807f, -0.000894f, -0.000306f, -0.000883f, 0.000373f, -0.000610f, -0.000101f, -0.001354f, -0.001353f, 0.000026f, -0.000480f, 0.001130f, -0.017232f, -0.003745f, 0.000817f, -0.003247f, -0.001327f, 0.000166f, -0.000078f, -0.002763f, 0.000824f, -0.002751f, 0.000106f, 0.002262f, -0.000393f, -0.000345f, 0.001251f, + 0.000832f, 0.001273f, 0.000101f, 0.001535f, -0.000810f, 0.000452f, 0.001781f, -0.000097f, -0.000082f, -0.001127f, 0.001697f, -0.001271f, -0.000681f, 0.000459f, 0.000705f, 0.001295f, 0.003961f, -0.001056f, -0.000610f, -0.001673f, 0.000126f, -0.001227f, 0.000329f, -0.000478f, -0.001819f, -0.000095f, 0.002397f, 0.000686f, -0.001565f, -0.000774f, 0.000817f, -0.000948f, -0.001178f, 0.000246f, -0.000539f, 0.000158f, 0.000282f, 0.001509f, 0.000245f, 0.000750f, 0.000425f, -0.001236f, -0.000610f, 0.000804f, 0.000770f, -0.000488f, 0.000473f, -0.000082f, -0.000547f, 0.000032f, -0.021153f, 0.017462f, -0.006102f, 0.005190f, -0.003822f, 0.002924f, -0.001109f, 0.001864f, -0.002028f, 0.001251f, 0.001456f, 0.002110f, -0.001372f, 0.002554f, 0.001261f, 0.004343f, -0.000681f, 0.000370f, -0.002299f, 0.000587f, -0.000808f, -0.001430f, -0.001782f, -0.002042f, -0.001888f, 0.002820f, -0.000130f, 0.003384f, 0.000874f, 0.000626f, -0.000060f, 0.000437f, -0.001495f, 0.000247f, -0.000548f, 0.000711f, 0.001997f, 0.000367f, 0.000655f, 0.000127f, 0.000204f, -0.001513f, -0.000839f, -0.000050f, -0.000122f, 0.000213f, + -0.000470f, -0.001392f, 0.000027f, 0.001514f, -0.000491f, 0.000454f, 0.000431f, -0.001232f, 0.000847f, 0.000378f, 0.000462f, -0.000245f, 0.000134f, -0.000124f, -0.000396f, 0.000122f, 0.001343f, 0.000024f, 0.000079f, 0.012301f, -0.001922f, -0.004003f, -0.001407f, -0.000864f, -0.000665f, -0.003529f, -0.001866f, 0.000951f, 0.000576f, 0.000974f, 0.001222f, -0.002380f, 0.000926f, -0.000488f, 0.000822f, 0.003752f, -0.003842f, 0.001294f, 0.001298f, 0.001003f, -0.001009f, -0.002234f, 0.001699f, 0.000488f, 0.001210f, 0.002303f, -0.000019f, 0.003183f, 0.000257f, 0.001467f, 0.000105f, 0.000987f, -0.000902f, 0.001189f, 0.000855f, 0.001134f, -0.000467f, 0.000361f, -0.000112f, 0.001461f, 0.001812f, -0.002738f, 0.003641f, 0.000288f, 0.001003f, 0.000138f, 0.000618f, 0.000688f, -0.000791f, 0.002174f, 0.001166f, 0.000063f, 0.001992f, 0.000834f, -0.001125f, -0.000113f, -0.000759f, -0.000818f, -0.000620f, 0.000344f, -0.000175f, 0.000104f, -0.000067f, -0.002265f, 0.001138f, -0.000910f, 0.000299f, -0.000322f, -0.000149f, -0.000576f, -0.000337f, 0.009748f, 0.000833f, 0.001970f, -0.002549f, -0.000499f, + -0.006301f, 0.001482f, -0.000323f, -0.004287f, 0.003556f, -0.001994f, 0.000105f, 0.002607f, 0.001158f, 0.001953f, -0.001534f, 0.000853f, -0.002003f, 0.000021f, -0.001717f, 0.000617f, -0.002598f, 0.003673f, 0.002638f, 0.002163f, 0.002514f, 0.000549f, -0.000865f, -0.001610f, 0.000693f, 0.002011f, -0.000020f, 0.001366f, -0.001024f, 0.000266f, 0.001316f, 0.000934f, 0.001182f, 0.000073f, 0.000407f, -0.000165f, -0.000888f, 0.000844f, -0.000623f, 0.000388f, 0.000325f, -0.000893f, 0.001173f, -0.001639f, 0.001427f, -0.000775f, 0.001001f, 0.001558f, -0.001944f, 0.000181f, 0.000195f, -0.000794f, -0.001538f, 0.001057f, -0.002477f, -0.001903f, 0.001147f, 0.000485f, 0.000519f, 0.000465f, 0.001495f, 0.001457f, -0.000560f, 0.000197f, 0.000861f, -0.000362f, -0.000037f, 0.015421f, -0.012801f, 0.004358f, -0.003178f, 0.001139f, 0.004014f, 0.003267f, -0.002137f, 0.003915f, 0.002208f, 0.002371f, -0.001606f, 0.001111f, -0.000815f, 0.004647f, 0.001297f, 0.001323f, 0.001803f, 0.001976f, 0.001252f, 0.001355f, -0.003799f, 0.000624f, -0.006873f, -0.002380f, -0.000631f, -0.003928f, 0.000998f, 0.002129f, + -0.001479f, -0.002124f, -0.002508f, -0.002400f, -0.001281f, 0.001403f, 0.001102f, -0.003489f, -0.004048f, -0.000296f, -0.002062f, 0.001122f, 0.000906f, 0.000402f, -0.000284f, 0.001935f, -0.001002f, 0.000114f, -0.000262f, -0.000843f, -0.002599f, 0.002035f, 0.003432f, -0.000446f, -0.000425f, 0.001628f, -0.002411f, 0.002950f, 0.000760f, -0.001468f, -0.000051f, -0.001362f, -0.000578f, -0.000331f, -0.000984f, -0.000245f, -0.000664f, -0.002002f, 0.000529f, 0.000745f, 0.000685f, 0.000739f, 0.000234f, -0.023798f, 0.002420f, -0.002076f, 0.000928f, 0.002482f, 0.001797f, 0.004917f, -0.001948f, -0.000118f, 0.000444f, 0.005875f, 0.002074f, -0.004512f, -0.002929f, 0.002620f, 0.003497f, -0.000815f, -0.001251f, -0.000046f, 0.001640f, 0.003610f, 0.003669f, -0.000003f, -0.006426f, -0.001824f, -0.000619f, -0.000729f, 0.003808f, -0.001678f, 0.002244f, 0.000264f, -0.000362f, -0.003313f, 0.000315f, 0.002724f, -0.004250f, -0.002473f, -0.000962f, -0.000706f, -0.001990f, -0.001657f, -0.003970f, -0.000696f, -0.002677f, 0.000071f, 0.000637f, 0.002942f, -0.001928f, -0.001256f, 0.000296f, -0.000247f, 0.000498f, -0.002453f, + 0.001026f, 0.000992f, 0.000359f, 0.000184f, -0.001842f, -0.001671f, -0.000908f, -0.000496f, -0.000103f, -0.003186f, 0.000702f, 0.000983f, -0.001348f, -0.002925f, 0.001232f, -0.000103f, -0.001442f, -0.000253f, -0.000647f, -0.000455f, 0.001922f, -0.014046f, 0.014828f, -0.002163f, 0.000902f, 0.003463f, 0.004164f, -0.003205f, 0.001986f, 0.000758f, 0.002559f, 0.001716f, 0.003628f, 0.002027f, -0.002514f, -0.004164f, 0.000553f, 0.004318f, 0.008680f, -0.002150f, -0.002991f, 0.002236f, 0.001384f, -0.001712f, -0.004323f, -0.000922f, -0.000893f, -0.003932f, 0.003371f, 0.004001f, 0.000035f, 0.000892f, -0.000109f, 0.003134f, -0.002513f, -0.007753f, 0.003221f, -0.000977f, 0.002551f, 0.001181f, 0.000084f, -0.001961f, -0.002985f, 0.001996f, 0.002403f, 0.001716f, -0.000368f, -0.000215f, 0.002646f, 0.001442f, 0.000801f, -0.001647f, 0.002225f, 0.001818f, -0.000331f, -0.000642f, -0.001323f, 0.001480f, 0.000031f, -0.003861f, 0.003109f, 0.001811f, -0.000726f, 0.000836f, -0.000490f, 0.000040f, -0.000089f, 0.000865f, 0.000230f, 0.001077f, 0.001830f, 0.000922f, -0.000295f, -0.001182f, -0.000751f, 0.002633f, + 0.001034f, -0.000526f, -0.000839f, -0.000156f, 0.004163f, 0.000150f, -0.003249f, -0.006626f, 0.001572f, -0.000366f, -0.005476f, 0.001821f, -0.001831f, 0.000235f, -0.002091f, -0.001628f, 0.001690f, 0.004129f, 0.000484f, 0.005477f, 0.002466f, -0.002784f, -0.003664f, 0.005996f, -0.002637f, -0.000210f, 0.000509f, -0.005661f, -0.000073f, 0.002970f, -0.003306f, -0.000885f, 0.003749f, 0.000224f, 0.001943f, 0.000044f, 0.002457f, -0.000435f, -0.001721f, -0.000240f, 0.003272f, 0.004449f, -0.001496f, 0.000893f, 0.000742f, 0.002964f, -0.001806f, -0.000323f, 0.000545f, -0.000764f, 0.001896f, 0.000862f, 0.000124f, -0.001024f, 0.001508f, 0.001707f, 0.000053f, 0.000075f, 0.001248f, 0.001999f, -0.002450f, -0.000017f, 0.000635f, 0.001095f, -0.001274f, 0.000992f, 0.000456f, 0.000028f, 0.000660f, -0.000769f, 0.000296f, 0.000793f, 0.001626f, 0.002008f, -0.001665f, 0.000179f, 0.031211f, -0.003055f, 0.000472f, 0.001899f, -0.002852f, -0.004895f, -0.002864f, -0.001255f, -0.005558f, -0.005969f, 0.000409f, -0.005293f, -0.002349f, -0.001564f, -0.001334f, 0.003173f, 0.003714f, 0.001139f, 0.007822f, 0.001377f, + -0.003935f, 0.006724f, -0.000719f, 0.004747f, -0.001573f, -0.000554f, -0.004500f, 0.000118f, 0.003911f, -0.000186f, -0.001961f, -0.000816f, 0.000367f, -0.001042f, -0.000871f, 0.001472f, -0.003589f, 0.001388f, 0.000498f, -0.001738f, -0.003405f, -0.002340f, 0.002565f, 0.002505f, 0.003020f, -0.005208f, 0.002862f, 0.000739f, -0.000154f, 0.000177f, 0.000481f, 0.000511f, 0.000639f, -0.000497f, 0.000246f, 0.002665f, -0.000796f, 0.001012f, 0.001250f, -0.001195f, 0.002234f, 0.002528f, 0.000407f, -0.000293f, 0.002366f, 0.001643f, 0.001296f, 0.001547f, -0.002034f, -0.000995f, 0.000441f, -0.000287f, -0.000321f, 0.000067f, 0.001047f, 0.000220f, -0.001971f, -0.018325f, -0.030764f, 0.011182f, -0.000751f, 0.004671f, -0.005360f, 0.000288f, -0.006214f, -0.000776f, -0.008974f, 0.003924f, 0.004180f, -0.000167f, -0.000675f, -0.000078f, 0.000864f, -0.002120f, -0.007649f, 0.014165f, 0.001004f, -0.001777f, 0.004869f, 0.000895f, -0.002532f, 0.006819f, 0.007561f, -0.003205f, 0.004469f, 0.000899f, -0.000941f, -0.007036f, -0.003852f, 0.005560f, -0.002824f, 0.000815f, -0.000364f, 0.003792f, -0.005750f, -0.006448f, + 0.000933f, 0.000130f, -0.004368f, 0.002681f, 0.000552f, -0.002700f, 0.001948f, -0.002978f, -0.002499f, 0.001231f, 0.001161f, 0.000194f, -0.000798f, -0.001386f, 0.001805f, 0.003056f, 0.000448f, 0.000985f, -0.000862f, -0.000834f, 0.002645f, 0.000350f, 0.000596f, -0.002656f, -0.000617f, -0.001762f, 0.001487f, 0.002240f, 0.000022f, 0.001850f, -0.000025f, 0.002454f, -0.001957f, 0.001248f, -0.000029f, -0.000083f, -0.001850f, 0.000013f, -0.001587f, -0.000177f, -0.009875f, 0.029792f, -0.013192f, 0.002260f, 0.001976f, 0.007496f, -0.000919f, 0.004799f, -0.004681f, 0.000326f, -0.009002f, -0.001691f, 0.000071f, 0.003676f, 0.000629f, 0.003785f, -0.002564f, -0.005443f, 0.000733f, -0.008207f, -0.008668f, 0.000295f, -0.002833f, -0.000116f, 0.000765f, 0.001291f, -0.002134f, -0.001395f, -0.003082f, -0.004657f, 0.001914f, 0.002329f, -0.006107f, -0.002723f, -0.007683f, 0.000174f, -0.003384f, 0.002822f, 0.003256f, -0.006291f, 0.001018f, 0.005294f, 0.004731f, -0.002387f, 0.001733f, -0.001747f, -0.000881f, 0.001537f, -0.002858f, -0.000555f, 0.002688f, 0.002151f, 0.001846f, 0.002311f, 0.001213f, -0.000602f, + 0.001777f, 0.001231f, -0.001311f, -0.000000f, 0.003612f, -0.000309f, -0.001650f, -0.000457f, 0.001494f, -0.001472f, -0.003678f, -0.000195f, -0.001281f, 0.001015f, 0.000789f, -0.000464f, -0.001489f, -0.002146f, -0.002595f, 0.002708f, -0.000879f, -0.000028f, -0.000581f, -0.000110f, -0.000324f, -0.024509f, -0.007538f, 0.002846f, -0.003808f, 0.003586f, -0.001543f, 0.000112f, -0.007168f, -0.008630f, -0.001103f, -0.002971f, 0.003725f, 0.001115f, -0.000979f, -0.017920f, 0.009114f, 0.000717f, 0.007953f, 0.009866f, 0.006854f, -0.009334f, -0.002215f, -0.000837f, -0.002268f, 0.002104f, 0.002315f, -0.000088f, -0.003345f, 0.003880f, -0.006281f, -0.003329f, 0.005733f, 0.000364f, -0.002349f, 0.006683f, 0.000233f, 0.007007f, -0.002312f, -0.001037f, 0.000911f, 0.002244f, -0.004879f, -0.003595f, -0.000787f, 0.003978f, -0.001335f, 0.000705f, -0.001476f, 0.002681f, 0.003364f, 0.000706f, 0.000264f, -0.005690f, -0.000510f, 0.002889f, 0.003251f, -0.001734f, 0.003632f, 0.001235f, -0.000887f, 0.000993f, -0.003504f, -0.001056f, -0.002314f, 0.002441f, 0.000466f, -0.000774f, 0.000951f, -0.006077f, 0.000134f, 0.001239f, + 0.003038f, 0.001038f, -0.001514f, 0.002913f, 0.000367f, -0.003805f, -0.001664f, -0.001919f, -0.000448f, 0.000883f, 0.015647f, 0.005219f, -0.009558f, -0.001705f, -0.004170f, 0.003209f, -0.005807f, 0.004692f, -0.001159f, 0.005472f, 0.003765f, 0.006662f, -0.009167f, 0.010824f, -0.006788f, 0.006305f, -0.003759f, 0.003754f, 0.000620f, 0.003179f, -0.005902f, -0.013369f, 0.005064f, 0.009204f, -0.003463f, 0.003745f, -0.004814f, 0.001057f, -0.003197f, 0.009685f, -0.000195f, -0.001012f, 0.002221f, -0.004778f, -0.003395f, -0.002819f, 0.004168f, -0.000002f, -0.001679f, -0.000040f, -0.000948f, 0.006644f, 0.004378f, -0.002544f, 0.002061f, 0.002503f, -0.002885f, -0.001651f, -0.002610f, -0.005108f, -0.000807f, 0.000064f, -0.000796f, -0.001903f, -0.005251f, -0.000251f, 0.007740f, 0.004221f, -0.003392f, 0.004344f, -0.000583f, -0.000114f, 0.003565f, 0.001884f, -0.003859f, 0.001376f, 0.000720f, 0.003830f, 0.004518f, -0.003718f, 0.001554f, 0.002669f, 0.003421f, -0.000349f, -0.000222f, -0.001308f, -0.000767f, 0.001953f, -0.000446f, 0.003580f, -0.000935f, 0.033353f, -0.027169f, -0.004544f, 0.001372f, -0.000509f, + -0.007502f, 0.002537f, 0.001977f, 0.010663f, -0.003476f, 0.002110f, 0.008757f, 0.000254f, 0.005269f, 0.017313f, -0.003752f, -0.001108f, -0.008996f, -0.008399f, 0.000391f, 0.002881f, -0.003794f, 0.001661f, 0.015251f, 0.008842f, 0.001269f, 0.000598f, 0.001243f, 0.008462f, -0.007040f, -0.003091f, -0.000390f, 0.004377f, -0.000676f, 0.001071f, -0.003572f, 0.001374f, -0.006345f, -0.003705f, -0.004798f, 0.000105f, -0.004298f, 0.001056f, -0.007654f, 0.003559f, -0.015292f, -0.003884f, 0.002094f, 0.002854f, -0.000576f, -0.003494f, 0.001179f, 0.000483f, 0.001828f, -0.004150f, 0.001856f, -0.002416f, -0.002771f, -0.006714f, -0.005035f, -0.001450f, -0.000848f, 0.000366f, 0.001138f, 0.002198f, 0.000404f, 0.001069f, -0.004035f, 0.000008f, -0.004924f, -0.000704f, -0.000348f, 0.000168f, 0.001626f, 0.004944f, -0.003080f, -0.001331f, -0.000335f, -0.002579f, -0.004547f, 0.001053f, -0.021004f, -0.014597f, -0.001011f, -0.002897f, 0.011125f, 0.000437f, 0.002118f, -0.013758f, 0.000791f, 0.001976f, 0.000868f, 0.001142f, 0.008421f, -0.010326f, 0.002275f, -0.002145f, -0.007096f, -0.003401f, 0.006689f, -0.002239f, + 0.005458f, -0.001763f, 0.003192f, 0.001768f, -0.001045f, -0.000742f, 0.003604f, -0.000399f, 0.000015f, -0.008827f, 0.004472f, 0.004069f, 0.003835f, 0.004421f, -0.007933f, -0.008163f, 0.004861f, 0.007230f, -0.008536f, 0.003247f, 0.001292f, 0.007509f, 0.004331f, 0.000795f, 0.005050f, -0.002548f, -0.005134f, -0.000700f, -0.009949f, -0.007222f, -0.000768f, -0.000287f, 0.001632f, -0.004687f, 0.001704f, -0.003742f, -0.012769f, -0.003673f, -0.003417f, -0.012555f, 0.000057f, -0.001980f, -0.001443f, 0.001529f, 0.003968f, -0.003634f, 0.002458f, 0.001693f, -0.005679f, -0.003561f, -0.004359f, -0.000850f, -0.001273f, -0.000030f, -0.001786f, 0.002511f, -0.002752f, -0.000619f, -0.002336f, 0.004242f, -0.004574f, 0.002831f, -0.000706f, -0.000927f, 0.000270f, 0.001262f, -0.001062f, -0.013116f, 0.020068f, -0.010479f, -0.004445f, -0.006116f, 0.001628f, 0.001755f, 0.002998f, -0.001239f, 0.008790f, 0.006621f, -0.006229f, -0.011118f, 0.004225f, -0.004157f, 0.010308f, 0.000868f, 0.004434f, 0.005409f, -0.003824f, -0.003743f, 0.013683f, -0.007786f, -0.001823f, -0.003944f, 0.000541f, -0.001615f, 0.001874f, -0.002289f, + -0.000840f, -0.010493f, 0.009342f, -0.003222f, -0.000756f, 0.010988f, -0.007445f, -0.009462f, 0.000932f, -0.004286f, -0.006160f, -0.000026f, -0.003120f, 0.002499f, -0.013596f, -0.004531f, -0.003278f, -0.000313f, 0.004896f, 0.000076f, 0.001041f, 0.002506f, -0.002264f, 0.001917f, 0.003302f, 0.002794f, 0.003138f, -0.001737f, -0.002814f, -0.002521f, 0.003559f, -0.008263f, -0.001722f, -0.001938f, -0.001957f, 0.005424f, -0.003578f, -0.005780f, 0.005957f, 0.001798f, 0.003623f, 0.006967f, -0.002460f, -0.002313f, 0.003530f, -0.003752f, -0.004666f, -0.004378f, 0.002703f, 0.002004f, -0.002491f, 0.002406f, 0.000897f, 0.002836f, 0.000605f, -0.005224f, 0.003598f, -0.001734f, -0.027456f, 0.013827f, 0.014891f, 0.007660f, 0.006959f, -0.004862f, 0.007072f, -0.011827f, 0.000447f, -0.013906f, -0.001782f, -0.006037f, 0.006540f, -0.006619f, -0.005493f, -0.001458f, -0.010194f, 0.003069f, -0.004635f, 0.004584f, -0.009569f, 0.016094f, -0.005227f, 0.007635f, -0.006543f, 0.000705f, -0.006556f, -0.002052f, 0.003671f, 0.010327f, 0.011553f, -0.005711f, 0.000079f, -0.003350f, -0.006049f, -0.004586f, -0.016413f, -0.000339f, + 0.002787f, -0.015416f, 0.006064f, 0.003105f, 0.004267f, 0.007458f, 0.004696f, 0.002537f, -0.005170f, -0.001646f, -0.005770f, -0.002890f, 0.003127f, -0.012319f, 0.004903f, 0.002475f, 0.000815f, -0.005794f, -0.003427f, 0.003230f, 0.009995f, 0.004248f, 0.002600f, -0.003882f, 0.004179f, 0.000629f, -0.004716f, 0.001326f, -0.003407f, -0.005349f, -0.002797f, -0.001226f, -0.004876f, 0.005616f, 0.003169f, 0.004580f, 0.002530f, -0.004025f, 0.001354f, 0.007005f, -0.001364f, 0.006510f, 0.003439f, 0.002437f, 0.004364f, -0.002228f, -0.002603f, 0.001730f, 0.001140f, 0.022886f, -0.015598f, -0.006494f, -0.001913f, 0.000004f, 0.011184f, -0.002028f, 0.003715f, -0.006327f, 0.003518f, -0.003907f, -0.017942f, -0.012320f, -0.004539f, 0.006526f, -0.000695f, -0.009893f, -0.009259f, -0.019590f, -0.006267f, 0.002577f, 0.002734f, 0.000969f, -0.001949f, -0.001100f, -0.006019f, 0.001653f, 0.002633f, 0.003395f, 0.000840f, -0.000844f, -0.002281f, -0.009321f, -0.002317f, -0.002079f, 0.004790f, -0.000930f, -0.007408f, -0.002889f, 0.002239f, -0.008356f, 0.001514f, -0.008620f, 0.004899f, 0.006824f, -0.006368f, -0.012498f, + -0.002356f, -0.003900f, -0.005675f, 0.000648f, 0.001205f, 0.001279f, 0.003149f, 0.000200f, -0.004858f, 0.007908f, 0.012286f, -0.005855f, 0.005134f, 0.002084f, 0.005856f, -0.008812f, 0.003404f, 0.001159f, 0.003222f, -0.012694f, 0.010128f, 0.001254f, 0.001196f, -0.001517f, -0.007210f, 0.001922f, 0.000981f, 0.001814f, 0.002280f, -0.007904f, -0.004133f, 0.001593f, 0.003783f, -0.001980f, 0.000049f, 0.002975f, 0.001223f, -0.001405f, -0.003749f, 0.002777f, 0.037062f, -0.020719f, 0.001890f, -0.002088f, -0.004422f, -0.015461f, -0.000842f, -0.000862f, 0.012568f, 0.005744f, 0.025398f, -0.010111f, 0.000967f, 0.002773f, 0.006075f, -0.002606f, -0.001185f, 0.010294f, -0.006479f, 0.014819f, 0.008975f, -0.020613f, 0.019628f, 0.006918f, -0.007104f, -0.005126f, -0.007749f, -0.004039f, 0.001392f, 0.000896f, -0.005578f, 0.013046f, 0.001652f, -0.006261f, -0.005561f, 0.001267f, -0.006880f, -0.012119f, 0.000091f, 0.007224f, 0.002849f, 0.008787f, -0.004114f, 0.002730f, 0.009388f, 0.013544f, 0.003163f, -0.014027f, 0.004567f, -0.004518f, -0.007768f, 0.002039f, 0.005891f, 0.003407f, -0.001755f, -0.012729f, + -0.011188f, 0.015698f, -0.002121f, 0.012132f, 0.001340f, -0.004779f, 0.005895f, -0.010520f, -0.004715f, 0.005076f, -0.001417f, 0.010439f, -0.008450f, -0.016616f, -0.004730f, -0.000810f, -0.005172f, -0.003979f, 0.010271f, -0.003454f, 0.001830f, -0.009484f, -0.009343f, 0.004544f, 0.002305f, 0.003830f, -0.004116f, 0.003911f, 0.000318f, -0.002204f, -0.000562f, -0.041733f, -0.027091f, 0.010055f, -0.014039f, 0.004588f, -0.006976f, -0.025220f, -0.018643f, 0.033855f, -0.015468f, 0.015331f, 0.008691f, -0.008742f, 0.007943f, -0.004928f, 0.010708f, 0.011865f, -0.000688f, -0.003269f, 0.020313f, -0.006502f, -0.022801f, 0.000451f, -0.009509f, 0.002412f, 0.002234f, 0.013773f, 0.007328f, 0.002927f, 0.006773f, -0.006085f, 0.000067f, 0.015075f, 0.009654f, -0.002627f, 0.003927f, -0.013167f, -0.020413f, -0.015015f, -0.010492f, -0.002883f, -0.002853f, 0.003869f, -0.001851f, -0.005626f, 0.013183f, 0.003531f, -0.009809f, -0.009151f, -0.002604f, 0.003894f, -0.009885f, 0.004051f, 0.012300f, -0.000168f, 0.004640f, -0.008334f, 0.006582f, 0.004832f, 0.001558f, 0.004927f, -0.007353f, -0.011364f, -0.016064f, 0.008171f, + 0.006394f, 0.000635f, 0.006345f, 0.001272f, -0.007348f, -0.001477f, 0.000608f, -0.012807f, -0.001130f, -0.019940f, -0.010965f, 0.003425f, -0.005073f, 0.003921f, 0.000512f, -0.002567f, -0.002695f, -0.001802f, -0.003692f, 0.003632f, 0.000136f, -0.000511f, -0.049908f, 0.017115f, -0.003898f, -0.003197f, 0.009008f, 0.002276f, 0.005056f, 0.021864f, 0.013072f, 0.016535f, 0.008344f, 0.022549f, -0.003878f, -0.021787f, 0.003292f, -0.002368f, -0.009311f, -0.019288f, -0.008393f, 0.017039f, 0.003903f, -0.001077f, 0.003594f, -0.001194f, 0.000295f, 0.014379f, 0.001868f, 0.005398f, -0.002108f, 0.003635f, 0.014277f, -0.003833f, -0.009521f, 0.007333f, -0.016948f, -0.016970f, -0.010934f, -0.002054f, 0.000513f, 0.007183f, 0.016712f, 0.000367f, -0.005716f, -0.016508f, -0.027197f, -0.009470f, -0.003940f, -0.001512f, -0.000151f, 0.010169f, -0.012451f, 0.022598f, 0.011708f, -0.002014f, 0.006494f, -0.008728f, 0.001635f, 0.000312f, 0.010420f, 0.020215f, 0.013568f, -0.011687f, -0.004950f, 0.003497f, -0.001891f, -0.002377f, 0.001049f, -0.005960f, -0.019449f, -0.001325f, -0.003580f, -0.001244f, 0.003058f, -0.007423f, + -0.002552f, -0.013120f, -0.001408f, 0.002029f, 0.013911f, 0.006993f, 0.001953f, 0.002417f, 0.003513f, 0.000614f, -0.011774f, 0.002608f, -0.002746f, 0.003329f, -0.001441f, -0.001360f, -0.006452f, 0.020193f, 0.020442f, 0.006855f, 0.013634f, 0.009800f, 0.021458f, -0.019114f, 0.022315f, -0.027523f, -0.004938f, 0.025491f, 0.035005f, 0.007208f, -0.002355f, 0.012669f, -0.010919f, -0.012708f, 0.025292f, 0.003981f, -0.004035f, 0.006072f, 0.020312f, -0.005488f, 0.012414f, -0.004221f, -0.005234f, -0.002567f, 0.009107f, -0.023779f, -0.003000f, 0.011380f, -0.005361f, 0.001091f, -0.008483f, 0.004792f, 0.018630f, -0.017403f, 0.005477f, -0.005239f, 0.006022f, -0.009158f, 0.012486f, 0.000955f, 0.004449f, 0.004988f, -0.021053f, 0.010124f, -0.029272f, -0.006056f, 0.016444f, 0.001666f, -0.010513f, 0.018156f, -0.006397f, -0.011142f, 0.013171f, -0.005575f, -0.003874f, -0.002215f, 0.007925f, -0.001327f, 0.002033f, -0.016057f, 0.005711f, 0.001349f, 0.031084f, -0.023560f, -0.010286f, 0.002652f, -0.006104f, 0.006897f, 0.008714f, -0.011407f, 0.021721f, 0.008015f, -0.000169f, 0.003437f, 0.007232f, -0.003679f, + -0.011886f, 0.004519f, -0.006163f, 0.001800f, -0.002470f, 0.005530f, -0.007556f, 0.002130f, 0.000013f, -0.004133f, 0.004953f, -0.001912f, 0.041689f, -0.026158f, 0.000957f, -0.004240f, -0.007018f, 0.000794f, -0.009584f, -0.004098f, -0.030923f, -0.025914f, -0.025781f, 0.008548f, -0.005407f, 0.008444f, -0.005914f, -0.018792f, 0.029824f, 0.020723f, -0.013898f, -0.011733f, -0.016400f, -0.003515f, 0.006368f, 0.009757f, 0.012060f, -0.000950f, 0.009332f, -0.002790f, -0.011826f, -0.014516f, 0.008994f, -0.006671f, 0.027247f, 0.016967f, 0.025133f, 0.003424f, 0.009135f, 0.024642f, 0.017158f, -0.005556f, 0.004520f, -0.001229f, 0.000310f, 0.002495f, -0.011537f, -0.008441f, 0.004453f, -0.014569f, -0.014861f, 0.014258f, 0.016386f, -0.018096f, -0.000576f, 0.031751f, 0.022235f, -0.001290f, -0.010526f, -0.002475f, 0.006631f, 0.005839f, -0.004290f, -0.012039f, 0.014284f, -0.001120f, 0.003524f, 0.010044f, 0.012997f, -0.013740f, 0.005865f, -0.002398f, 0.005430f, -0.021271f, 0.003945f, 0.018864f, -0.018914f, -0.015761f, -0.008028f, 0.008271f, 0.015082f, -0.008681f, 0.008326f, -0.007513f, -0.000684f, 0.000237f, + 0.003196f, 0.005426f, -0.002558f, -0.001368f, 0.003489f, 0.002950f, 0.000113f, -0.000641f, 0.002548f, 0.033810f, 0.013011f, -0.004524f, -0.001100f, 0.010600f, -0.012669f, -0.016472f, 0.014113f, -0.019678f, -0.025479f, 0.006763f, -0.013676f, -0.017623f, -0.009198f, 0.016827f, 0.041281f, 0.017085f, -0.022474f, 0.042285f, 0.004904f, -0.006629f, 0.007617f, -0.024693f, 0.006278f, 0.003411f, -0.017703f, 0.015310f, -0.004763f, 0.003022f, -0.012747f, 0.007160f, -0.011649f, 0.021401f, -0.025347f, -0.009334f, -0.008758f, 0.012075f, 0.013933f, 0.012418f, -0.013472f, 0.003940f, -0.014084f, -0.004041f, 0.007505f, 0.017889f, 0.008257f, -0.008216f, 0.017423f, 0.008889f, 0.014055f, 0.000945f, 0.016384f, -0.007163f, 0.009059f, -0.024941f, 0.028026f, -0.002429f, 0.003903f, -0.007427f, -0.014611f, 0.000753f, 0.009362f, 0.022393f, 0.006584f, -0.026771f, 0.011420f, -0.010826f, 0.022060f, 0.001916f, -0.008420f, 0.004284f, -0.007281f, 0.004610f, -0.015591f, 0.006247f, 0.001489f, 0.001376f, 0.002499f, -0.003035f, 0.001611f, -0.004181f, -0.006533f, 0.008755f, 0.005479f, 0.005058f, -0.011558f, 0.003836f, + -0.006268f, 0.005424f, 0.001218f, -0.000688f, 0.002708f, 0.001325f, -0.069347f, 0.002961f, 0.011498f, 0.027122f, 0.008851f, -0.042694f, 0.056661f, 0.020721f, -0.026081f, 0.009265f, 0.056356f, 0.012603f, -0.013802f, -0.001789f, -0.034297f, 0.017496f, 0.001538f, -0.008824f, 0.004838f, 0.011635f, -0.022271f, 0.011783f, -0.027885f, 0.002862f, -0.025422f, -0.022849f, -0.009782f, 0.010636f, 0.016208f, -0.012525f, 0.014165f, -0.024775f, -0.003633f, 0.027675f, 0.002483f, -0.010078f, -0.003341f, 0.005352f, -0.006507f, -0.018390f, -0.020526f, -0.002775f, -0.009465f, 0.019977f, -0.028215f, 0.029743f, 0.009417f, 0.003758f, -0.010058f, -0.003329f, 0.013713f, -0.011222f, 0.018527f, 0.004566f, 0.016740f, -0.006253f, -0.009835f, -0.029504f, 0.009990f, -0.003019f, -0.030442f, 0.009069f, -0.002134f, 0.018442f, 0.029681f, -0.012615f, 0.006678f, 0.014639f, 0.015567f, 0.003169f, -0.009173f, -0.001814f, -0.036851f, -0.001834f, 0.003262f, 0.009042f, -0.000288f, 0.024672f, 0.005251f, 0.012252f, -0.013989f, -0.009970f, 0.018386f, -0.001925f, -0.003866f, 0.011165f, -0.002707f, -0.003169f, -0.000319f, -0.000642f, + 0.001093f, -0.002027f, 0.010198f, 0.085892f, 0.039158f, 0.008163f, 0.013966f, -0.017580f, -0.011799f, -0.004142f, 0.032466f, -0.022976f, 0.003696f, -0.019112f, -0.052787f, -0.025295f, 0.012121f, -0.013465f, 0.008730f, -0.020894f, -0.001049f, -0.022468f, 0.019310f, -0.022748f, -0.016375f, -0.048964f, -0.009130f, -0.007670f, -0.012868f, 0.025548f, -0.008288f, -0.020415f, 0.006660f, 0.019717f, 0.007311f, 0.006712f, -0.002933f, -0.004108f, -0.012946f, 0.010068f, -0.016668f, -0.004474f, -0.010357f, -0.029184f, 0.004453f, -0.020243f, 0.008188f, 0.002639f, -0.005948f, -0.000633f, -0.021283f, -0.001188f, -0.004843f, 0.031158f, -0.008962f, -0.000715f, 0.012666f, -0.017053f, -0.007579f, 0.031619f, -0.018442f, 0.012099f, 0.000828f, 0.028123f, 0.039933f, -0.002333f, 0.005162f, 0.004000f, 0.013818f, 0.007236f, -0.030464f, 0.002807f, 0.007704f, 0.010761f, -0.013038f, -0.020279f, 0.002132f, 0.005902f, -0.005304f, -0.007706f, -0.032679f, -0.016120f, -0.018796f, 0.001322f, 0.004128f, -0.006158f, -0.008982f, -0.010200f, -0.002505f, -0.005119f, -0.005719f, 0.006811f, -0.003208f, 0.003300f, -0.011759f, 0.000842f, + -0.004543f, -0.008146f, 0.001910f, 0.004789f, -0.006344f}, + {-0.000043f, -0.000012f, -0.000046f, 0.000003f, -0.000030f, 0.000068f, 0.000045f, -0.000216f, 0.000003f, -0.000141f, -0.000168f, 0.000045f, 0.000141f, 0.000137f, 0.000050f, -0.000312f, -0.000191f, 0.000062f, -0.000098f, 0.000016f, 0.000063f, 0.000081f, 0.000131f, -0.000097f, -0.000106f, -0.000197f, -0.000114f, -0.000001f, -0.000448f, -0.000010f, -0.000045f, -0.000131f, 0.000092f, -0.000259f, -0.000226f, -0.000459f, -0.000064f, -0.000406f, -0.000125f, -0.000011f, 0.000322f, 0.000088f, 0.000246f, -0.000128f, 0.000261f, -0.000071f, 0.000051f, 0.000314f, 0.001946f, -0.001525f, 0.000949f, -0.001206f, 0.000614f, -0.000588f, -0.000581f, -0.000350f, -0.000331f, 0.000351f, 0.000403f, -0.001493f, -0.000083f, 0.000219f, -0.000150f, -0.000251f, -0.000875f, -0.000319f, 0.000621f, 0.000943f, 0.000471f, 0.001487f, 0.000301f, -0.000265f, 0.000304f, 0.000257f, -0.000154f, 0.000486f, 0.001056f, -0.000406f, -0.000012f, 0.000451f, -0.000015f, -0.000103f, -0.000759f, -0.000029f, 0.000383f, 0.000308f, 0.000061f, 0.000022f, -0.000253f, 0.000268f, -0.000029f, 0.000033f, 0.000014f, -0.000258f, 0.007057f, -0.000467f, + 0.000608f, -0.000454f, 0.000448f, -0.000544f, 0.000106f, -0.000139f, -0.000132f, 0.000398f, -0.000380f, -0.001290f, 0.000363f, 0.000125f, 0.000390f, 0.000860f, 0.000457f, 0.000304f, -0.000123f, -0.000751f, -0.000262f, 0.000335f, -0.000108f, -0.000128f, 0.000718f, -0.000927f, -0.000298f, -0.000023f, -0.000164f, -0.000235f, 0.000342f, 0.000375f, 0.000467f, 0.000126f, 0.000162f, -0.000202f, 0.000650f, -0.000037f, 0.000497f, 0.000347f, -0.000124f, -0.000074f, 0.000233f, -0.000002f, -0.000147f, -0.000075f, 0.000001f, 0.005198f, -0.004955f, 0.000785f, -0.001335f, 0.000725f, -0.000085f, 0.000525f, -0.000470f, 0.000940f, -0.000392f, 0.000572f, -0.001180f, 0.000053f, -0.000682f, 0.000203f, -0.000104f, -0.000156f, -0.000314f, -0.000865f, -0.000084f, 0.000110f, -0.000425f, 0.000721f, -0.000318f, -0.000512f, -0.000651f, 0.000399f, -0.000415f, 0.001023f, -0.000102f, 0.000010f, 0.000303f, 0.000011f, 0.000026f, -0.000445f, -0.000377f, -0.000098f, 0.000107f, -0.000166f, -0.000434f, 0.000396f, 0.000281f, 0.000705f, -0.000159f, 0.000237f, -0.000094f, 0.000138f, -0.012165f, 0.001445f, -0.000898f, 0.000042f, + -0.000125f, -0.001006f, 0.001121f, -0.000256f, 0.000114f, 0.000483f, 0.000157f, 0.001297f, -0.000048f, -0.000506f, 0.001551f, 0.000637f, 0.001401f, -0.000013f, -0.001822f, -0.001084f, -0.000871f, 0.000774f, -0.000944f, 0.000096f, -0.000334f, -0.000308f, 0.000126f, 0.000301f, -0.000264f, -0.000560f, -0.000415f, 0.000388f, 0.000434f, 0.000818f, -0.000050f, -0.000095f, -0.000037f, 0.000513f, -0.000543f, 0.000161f, 0.000233f, 0.000385f, -0.000440f, 0.000491f, -0.000536f, -0.000080f, 0.000197f, -0.015368f, 0.005593f, -0.002231f, 0.002597f, -0.001774f, 0.001201f, -0.001925f, 0.001122f, -0.001425f, 0.000575f, 0.001089f, 0.000073f, 0.000428f, 0.001002f, -0.000616f, 0.000726f, -0.000795f, -0.000578f, -0.001775f, 0.001653f, -0.001036f, 0.001115f, 0.000098f, 0.000016f, -0.001702f, -0.000040f, 0.000348f, -0.000221f, -0.000041f, -0.000041f, 0.000733f, -0.000083f, -0.000488f, 0.000567f, 0.000181f, -0.000195f, 0.000051f, 0.000049f, 0.000077f, 0.000338f, -0.000449f, 0.001219f, -0.000082f, -0.000722f, -0.000062f, -0.000381f, -0.000028f, 0.000757f, 0.006997f, -0.001505f, 0.002654f, -0.001219f, 0.000911f, + -0.000989f, 0.003308f, -0.000638f, 0.001765f, -0.000204f, -0.000130f, 0.000447f, -0.000002f, -0.002275f, 0.000516f, -0.000206f, -0.001026f, -0.000249f, 0.000038f, -0.002862f, -0.000079f, 0.000235f, 0.000904f, -0.000022f, -0.000544f, -0.000111f, 0.000980f, 0.000180f, -0.000486f, -0.000963f, 0.001472f, -0.000913f, -0.000036f, -0.001361f, -0.000150f, 0.000004f, 0.000237f, -0.000331f, 0.000361f, 0.000589f, -0.000576f, 0.000467f, -0.000022f, 0.000373f, -0.000021f, 0.000675f, -0.000340f, -0.000204f, 0.000608f, 0.000849f, 0.018429f, -0.005417f, 0.000770f, -0.000947f, 0.001181f, -0.000021f, -0.000047f, -0.002517f, 0.001081f, -0.001120f, 0.000729f, 0.000231f, 0.000359f, 0.000766f, 0.001217f, 0.000159f, 0.000404f, -0.002124f, 0.000738f, 0.000737f, -0.001374f, -0.000296f, 0.001386f, 0.000880f, 0.000875f, 0.001972f, 0.001096f, 0.000257f, 0.000505f, -0.000788f, 0.000611f, -0.000216f, 0.001129f, 0.001465f, -0.000238f, 0.000469f, 0.000918f, -0.000435f, 0.000301f, -0.001345f, -0.000377f, 0.001269f, -0.000003f, -0.000957f, -0.000339f, 0.000355f, 0.000945f, -0.000109f, 0.000525f, -0.000048f, -0.000806f, + 0.001333f, -0.009853f, 0.004178f, -0.002859f, 0.001902f, -0.001693f, 0.002241f, -0.001426f, 0.000114f, -0.001211f, -0.001492f, -0.002099f, 0.000169f, -0.001240f, 0.000631f, 0.000725f, 0.001620f, -0.002596f, 0.001633f, -0.000609f, 0.002259f, 0.000507f, -0.000110f, 0.000192f, 0.000195f, -0.000514f, -0.000426f, 0.000354f, -0.001043f, 0.000714f, 0.001288f, -0.001706f, -0.000356f, -0.000090f, 0.000714f, -0.000644f, 0.001833f, -0.001876f, 0.000389f, 0.000008f, 0.000137f, -0.000801f, 0.000152f, -0.000499f, 0.000502f, 0.000084f, 0.000115f, -0.000568f, -0.000078f, -0.001188f, -0.000383f, -0.000060f, 0.000287f, 0.000101f, -0.000414f, -0.001508f, -0.000030f, -0.000301f, -0.015900f, 0.005062f, -0.003243f, -0.000201f, -0.000648f, 0.001012f, -0.002733f, 0.000211f, 0.000888f, 0.000739f, -0.000946f, 0.000562f, -0.001212f, -0.001997f, -0.000772f, 0.000269f, -0.001192f, 0.004238f, 0.000128f, -0.001155f, -0.000372f, -0.001395f, -0.000650f, 0.001306f, 0.000784f, 0.001690f, -0.000141f, 0.000763f, -0.000933f, 0.000406f, -0.000844f, -0.000273f, -0.000490f, 0.000299f, 0.000532f, -0.000249f, -0.000801f, 0.000218f, + 0.000315f, 0.001177f, -0.000193f, -0.000407f, -0.001500f, -0.001213f, -0.000578f, -0.000220f, 0.000292f, 0.000224f, -0.000610f, -0.000235f, 0.000120f, 0.000574f, 0.000296f, 0.000117f, -0.000263f, 0.000583f, -0.000180f, 0.000982f, -0.015305f, 0.007206f, -0.003373f, 0.003225f, -0.001658f, 0.001918f, 0.000957f, 0.000597f, -0.001728f, 0.000230f, -0.000874f, 0.000278f, -0.002268f, 0.000876f, 0.001443f, 0.000481f, -0.002415f, -0.001186f, -0.001208f, -0.001254f, -0.000820f, 0.001760f, 0.000431f, 0.001245f, 0.000996f, -0.000411f, -0.000086f, -0.001816f, 0.002381f, -0.000655f, -0.000227f, 0.000171f, -0.000495f, -0.000707f, -0.000846f, -0.000174f, -0.001917f, 0.000594f, -0.001012f, 0.000793f, 0.000685f, 0.001129f, -0.000288f, 0.000145f, -0.001241f, 0.000497f, 0.000935f, 0.000244f, -0.000194f, 0.000211f, 0.000734f, 0.001103f, 0.000480f, 0.001028f, 0.000057f, 0.000180f, -0.000048f, -0.000203f, 0.004958f, 0.006137f, -0.002797f, 0.001631f, -0.000873f, 0.000602f, -0.000679f, 0.000338f, 0.000525f, 0.002998f, -0.001084f, 0.001227f, 0.002814f, -0.000787f, -0.000133f, -0.000493f, 0.000669f, 0.001448f, + 0.001482f, 0.001935f, 0.000509f, 0.001645f, -0.000442f, -0.000995f, -0.003338f, 0.000685f, -0.000523f, -0.001680f, -0.001208f, -0.000070f, -0.000334f, 0.001058f, -0.000173f, -0.001940f, -0.002008f, 0.000523f, -0.001748f, 0.000220f, 0.001031f, -0.001565f, -0.001060f, -0.000672f, 0.000751f, 0.000689f, -0.000072f, -0.000216f, 0.001141f, 0.000237f, -0.000470f, 0.000456f, -0.001025f, 0.000116f, -0.000550f, -0.000766f, -0.000532f, 0.000781f, -0.000426f, 0.000587f, -0.000469f, -0.000979f, 0.000241f, 0.000528f, -0.000364f, 0.000299f, -0.000452f, 0.017704f, -0.006169f, 0.003338f, -0.002316f, 0.003319f, -0.002348f, 0.002034f, -0.000764f, 0.002066f, 0.000498f, 0.001453f, -0.001699f, 0.001735f, -0.000600f, -0.001447f, -0.000155f, -0.001554f, -0.002481f, -0.001310f, -0.000275f, 0.001253f, -0.001702f, -0.002271f, -0.002785f, -0.000502f, -0.000250f, 0.002220f, 0.001211f, 0.001426f, -0.000983f, 0.001153f, -0.000889f, -0.000869f, -0.000484f, 0.001465f, 0.001259f, 0.000394f, -0.000017f, -0.000054f, 0.000033f, -0.000412f, -0.000240f, 0.001014f, 0.000190f, 0.002497f, -0.000966f, -0.000301f, -0.002090f, 0.001363f, + -0.000552f, -0.000324f, -0.000499f, -0.000129f, 0.000113f, -0.000346f, 0.000371f, -0.000557f, -0.000001f, -0.000790f, -0.000358f, 0.000177f, 0.000805f, -0.000423f, -0.000063f, -0.000284f, 0.004964f, -0.007611f, 0.004445f, -0.002854f, 0.003451f, -0.000050f, 0.002138f, 0.000596f, -0.003342f, -0.001591f, -0.001134f, 0.000396f, 0.000825f, 0.000455f, 0.003751f, -0.002127f, 0.002996f, 0.000512f, 0.000371f, -0.002068f, -0.000456f, 0.002587f, -0.000181f, -0.002219f, 0.002502f, 0.001906f, 0.000415f, -0.001047f, -0.000827f, -0.000231f, -0.000185f, 0.001152f, -0.000580f, 0.000507f, -0.001417f, -0.000324f, 0.000802f, -0.002041f, 0.000767f, -0.000799f, 0.000717f, -0.000600f, -0.000189f, 0.002381f, 0.001024f, 0.001351f, -0.000114f, 0.000552f, 0.000868f, -0.000192f, -0.000669f, -0.001068f, 0.000352f, 0.000471f, 0.000841f, 0.001017f, 0.000232f, -0.000244f, -0.001067f, -0.000493f, -0.001080f, -0.000968f, 0.000115f, 0.000020f, -0.000813f, -0.018833f, -0.003788f, -0.000486f, -0.003126f, -0.001284f, 0.002842f, 0.001225f, -0.000801f, -0.000710f, -0.002242f, -0.001482f, -0.001815f, -0.002038f, -0.001688f, -0.001067f, + -0.001525f, -0.002609f, -0.002228f, 0.000889f, -0.002263f, 0.000784f, -0.003052f, 0.000124f, -0.001249f, -0.000992f, 0.002702f, -0.000250f, -0.001278f, 0.001755f, -0.001917f, 0.001854f, 0.000574f, 0.001955f, 0.001341f, -0.000012f, -0.000898f, 0.002056f, -0.000001f, -0.000284f, 0.001875f, -0.000741f, -0.002487f, -0.002814f, -0.000703f, 0.000973f, 0.000631f, -0.000816f, -0.000056f, -0.000753f, 0.000209f, 0.000071f, 0.000174f, 0.001812f, 0.000728f, -0.001255f, -0.000457f, 0.000264f, 0.001158f, 0.000294f, 0.001715f, 0.000495f, -0.000113f, -0.000831f, -0.000760f, 0.000045f, -0.022175f, 0.019307f, -0.007862f, 0.005361f, -0.005038f, 0.001238f, -0.002474f, 0.003270f, 0.000619f, 0.000385f, -0.001580f, 0.002218f, 0.000450f, -0.003980f, 0.000404f, 0.000594f, -0.002006f, -0.003066f, 0.003034f, 0.003772f, -0.001218f, -0.000988f, 0.000626f, 0.001742f, -0.001022f, 0.003437f, -0.000113f, 0.000876f, -0.002496f, -0.000879f, -0.001490f, 0.002243f, -0.000504f, 0.000494f, 0.000477f, -0.001276f, 0.002160f, 0.002087f, 0.000560f, 0.000722f, 0.002532f, -0.001541f, -0.000421f, -0.000316f, -0.001857f, 0.000405f, + -0.001216f, 0.000460f, -0.000069f, 0.000174f, 0.002064f, -0.000070f, -0.000485f, 0.000470f, 0.000096f, 0.001368f, -0.001275f, 0.000487f, -0.000097f, 0.002672f, -0.000809f, -0.000095f, -0.001063f, -0.000214f, -0.000689f, 0.014776f, -0.001813f, -0.003120f, -0.000763f, 0.001962f, 0.000999f, 0.000871f, -0.000137f, -0.002086f, 0.000482f, 0.001222f, 0.001389f, -0.000968f, -0.000913f, 0.002959f, 0.000993f, -0.002363f, 0.000474f, 0.003837f, -0.004855f, 0.003199f, 0.000364f, 0.004098f, -0.000300f, 0.000209f, 0.000784f, 0.000807f, 0.002145f, -0.001627f, -0.000631f, 0.000787f, 0.001534f, -0.000640f, -0.000066f, 0.000177f, 0.000341f, 0.000957f, -0.002004f, -0.000069f, 0.001133f, 0.000306f, -0.001112f, -0.000361f, 0.002534f, 0.001859f, 0.000876f, -0.000998f, -0.000734f, 0.000713f, -0.000346f, -0.000650f, 0.000433f, -0.000807f, -0.001245f, 0.002606f, 0.001015f, 0.001668f, 0.000251f, 0.001254f, 0.001021f, 0.001113f, 0.000113f, 0.001353f, 0.000673f, 0.000956f, -0.000807f, 0.000165f, 0.000355f, -0.001186f, 0.000409f, -0.000582f, -0.000125f, 0.007031f, 0.002042f, 0.001696f, -0.001031f, -0.000690f, + -0.001911f, -0.001365f, 0.000347f, -0.000749f, -0.000941f, -0.002737f, 0.002330f, 0.001614f, -0.001706f, 0.002915f, -0.002746f, -0.000830f, 0.001222f, -0.002033f, 0.001180f, 0.001893f, 0.002890f, 0.002553f, 0.002431f, 0.001263f, -0.005144f, 0.000002f, -0.001081f, 0.001031f, -0.000498f, 0.002013f, 0.001362f, -0.000662f, -0.001253f, 0.001322f, -0.000921f, 0.003396f, -0.000002f, 0.001124f, 0.003438f, 0.003296f, -0.002489f, 0.000210f, -0.001642f, -0.002958f, -0.000322f, 0.000558f, -0.000380f, -0.000605f, -0.000318f, 0.000258f, -0.001388f, 0.000186f, -0.001619f, -0.000451f, -0.000193f, 0.000433f, 0.000010f, -0.000943f, -0.001009f, 0.002065f, -0.000730f, 0.000319f, 0.000920f, 0.001143f, -0.000632f, -0.000640f, -0.000304f, -0.001627f, -0.001112f, 0.000179f, 0.000353f, 0.016615f, -0.011690f, 0.004256f, -0.004441f, -0.000342f, -0.003103f, 0.002808f, 0.002789f, 0.000900f, 0.000567f, 0.002638f, 0.007251f, -0.006372f, -0.000886f, -0.001656f, -0.002574f, 0.005626f, 0.004236f, -0.000867f, -0.003855f, 0.001563f, -0.003150f, -0.002517f, -0.004413f, 0.000565f, -0.004519f, -0.001492f, 0.002661f, 0.000385f, + -0.001387f, -0.003728f, 0.000006f, -0.000899f, 0.002265f, 0.002084f, 0.000961f, -0.001693f, 0.000253f, -0.000106f, 0.000915f, 0.001799f, -0.001143f, -0.000576f, -0.002023f, 0.003065f, -0.000382f, 0.000453f, 0.002731f, -0.000564f, -0.000252f, 0.001093f, -0.001376f, -0.000142f, 0.001183f, -0.002031f, 0.000459f, -0.000377f, -0.000181f, -0.002118f, 0.001026f, -0.000454f, 0.000179f, 0.000521f, -0.000787f, 0.001389f, -0.001097f, -0.000284f, -0.002271f, 0.000204f, -0.000319f, 0.000942f, 0.000991f, -0.025867f, 0.003587f, 0.000369f, 0.001824f, -0.001981f, -0.003222f, -0.000007f, 0.002173f, 0.003449f, -0.000202f, 0.005241f, 0.002924f, -0.003531f, -0.003149f, 0.002455f, 0.000450f, -0.002512f, -0.004675f, -0.005364f, -0.003435f, -0.003955f, -0.004428f, 0.000815f, 0.001426f, 0.001196f, -0.003273f, -0.003146f, 0.000496f, -0.000817f, -0.000525f, -0.000407f, -0.002609f, 0.002236f, -0.004501f, -0.001673f, -0.000673f, -0.000148f, 0.001460f, 0.000526f, -0.000296f, 0.002103f, -0.000619f, 0.002097f, 0.001212f, -0.001582f, 0.000273f, 0.003397f, -0.001332f, -0.001331f, 0.000105f, 0.001998f, 0.000529f, -0.001384f, + -0.001787f, 0.001674f, 0.000105f, -0.002349f, 0.003272f, 0.003691f, 0.000461f, -0.001025f, 0.000455f, -0.000045f, 0.000796f, 0.001645f, -0.000142f, 0.002175f, 0.001386f, 0.001255f, 0.001097f, 0.000583f, 0.000917f, -0.001052f, -0.000063f, -0.015855f, 0.013538f, -0.004540f, 0.002887f, -0.000084f, 0.002249f, -0.005496f, 0.002116f, -0.003750f, 0.000012f, -0.002542f, 0.005079f, 0.004316f, 0.001630f, 0.000340f, -0.004184f, -0.002785f, -0.000436f, -0.001693f, 0.004822f, -0.003957f, -0.000161f, -0.001967f, 0.007065f, -0.002261f, 0.000630f, -0.000212f, 0.001215f, 0.000542f, 0.001212f, 0.000878f, -0.001171f, 0.000624f, -0.000286f, 0.002455f, 0.000380f, 0.004666f, 0.002427f, -0.001523f, -0.000318f, -0.000596f, 0.000086f, -0.001800f, -0.001260f, -0.000461f, 0.000836f, 0.005691f, 0.000519f, 0.000368f, -0.001566f, 0.002313f, -0.000863f, -0.001233f, 0.000753f, -0.001199f, 0.000704f, -0.001485f, -0.003192f, 0.001570f, 0.001415f, -0.000459f, 0.003337f, 0.000696f, 0.000793f, 0.001185f, -0.000894f, 0.000381f, 0.001083f, -0.002776f, -0.001296f, -0.000228f, -0.001257f, 0.001256f, 0.001972f, -0.000725f, + 0.003385f, 0.002249f, -0.000076f, -0.000900f, -0.000681f, -0.000235f, 0.010345f, -0.000227f, 0.002336f, -0.007022f, -0.001164f, 0.000893f, -0.005666f, 0.000458f, 0.007860f, -0.001364f, 0.000569f, -0.003539f, -0.004851f, 0.001240f, -0.004432f, 0.006928f, -0.004803f, 0.001666f, 0.001641f, 0.003712f, 0.002887f, -0.000752f, -0.004285f, -0.000493f, -0.000392f, 0.002200f, -0.003003f, -0.000578f, -0.000879f, -0.001426f, -0.001016f, 0.002104f, 0.001294f, 0.005619f, 0.001909f, -0.002086f, 0.002332f, -0.001524f, -0.001607f, 0.001731f, 0.004809f, -0.000687f, -0.002479f, -0.002319f, 0.002557f, -0.000059f, -0.003479f, -0.003203f, 0.001645f, 0.001533f, -0.001443f, -0.002647f, -0.004399f, 0.001220f, 0.001640f, 0.001106f, -0.002484f, 0.001870f, 0.001149f, 0.000781f, -0.000882f, -0.000267f, 0.001362f, -0.003301f, -0.000431f, 0.001458f, 0.001715f, -0.000312f, 0.000836f, 0.000072f, 0.035167f, -0.002268f, 0.001391f, 0.003197f, -0.003108f, -0.001340f, -0.001082f, -0.008318f, 0.005543f, -0.000928f, -0.005169f, 0.001084f, -0.002665f, 0.002996f, 0.002365f, 0.003815f, -0.001396f, 0.005188f, 0.004441f, 0.002830f, + -0.004628f, 0.003504f, -0.006339f, -0.003751f, -0.004323f, 0.001671f, -0.003328f, -0.000625f, -0.001153f, -0.004233f, -0.002312f, 0.003522f, -0.002669f, -0.002025f, -0.004043f, 0.001276f, 0.001268f, 0.002979f, -0.001726f, 0.005147f, 0.001265f, 0.005871f, -0.000705f, 0.001045f, 0.001161f, -0.003285f, 0.002296f, 0.006012f, -0.002108f, -0.000195f, 0.001614f, -0.001782f, -0.002464f, 0.001407f, -0.002455f, -0.001335f, -0.003201f, -0.002106f, 0.002325f, 0.002074f, 0.001386f, 0.002229f, 0.002806f, 0.002675f, 0.004035f, 0.000639f, -0.001231f, 0.002082f, 0.001404f, -0.000042f, -0.000430f, 0.000151f, -0.001546f, -0.000343f, 0.000295f, 0.000354f, -0.000111f, -0.015482f, -0.030454f, 0.011425f, 0.000202f, 0.000719f, -0.002961f, -0.003170f, -0.000644f, 0.001144f, -0.001889f, 0.008072f, -0.003605f, -0.006880f, 0.000497f, 0.000533f, -0.000838f, -0.002366f, 0.005517f, 0.001078f, -0.002366f, 0.002623f, -0.004753f, 0.006211f, -0.003352f, -0.001693f, -0.004099f, 0.006923f, -0.002883f, -0.000899f, -0.004064f, -0.001823f, 0.003777f, -0.001641f, 0.004083f, -0.005101f, -0.006002f, 0.000590f, 0.001118f, 0.001143f, + -0.000099f, -0.003051f, 0.000642f, 0.001713f, 0.000865f, 0.003260f, 0.000040f, 0.005060f, 0.000746f, 0.004749f, 0.006151f, 0.001363f, -0.000406f, 0.001244f, -0.003362f, -0.000781f, -0.005653f, -0.004988f, 0.001544f, 0.001606f, 0.001049f, -0.000258f, -0.001578f, -0.000757f, -0.001343f, -0.000681f, -0.001341f, 0.000125f, -0.000080f, 0.001163f, -0.000303f, -0.000569f, -0.001904f, -0.000053f, -0.002220f, -0.000176f, -0.002962f, -0.000298f, -0.001075f, -0.000234f, -0.010204f, 0.029864f, -0.013574f, 0.006251f, -0.002865f, 0.009502f, -0.001476f, -0.004163f, -0.004352f, 0.002514f, -0.001286f, -0.000538f, 0.000231f, 0.001882f, -0.010016f, -0.004870f, -0.002574f, 0.004017f, 0.003365f, 0.005881f, 0.001084f, -0.000860f, -0.000913f, 0.007052f, -0.009109f, 0.005318f, -0.004376f, -0.000881f, -0.004611f, 0.007287f, 0.002924f, -0.004679f, 0.000639f, -0.002030f, 0.000794f, 0.003114f, -0.013082f, -0.005430f, 0.001090f, 0.004642f, -0.002682f, 0.001012f, 0.003371f, -0.001320f, -0.001468f, -0.000433f, 0.005079f, 0.002047f, 0.000879f, 0.000615f, 0.001965f, 0.006002f, -0.003602f, 0.002773f, -0.008348f, -0.001392f, + 0.001893f, 0.004085f, 0.000765f, 0.000639f, 0.000204f, 0.002240f, -0.001627f, 0.000309f, -0.000581f, -0.001910f, -0.001710f, 0.003186f, 0.003047f, -0.001086f, -0.001575f, -0.005136f, -0.002196f, -0.001099f, -0.000928f, 0.003859f, -0.001444f, -0.001351f, -0.002543f, -0.002228f, -0.000184f, -0.026770f, -0.005771f, 0.002626f, -0.006344f, 0.001606f, 0.001174f, 0.003930f, -0.000012f, 0.007486f, 0.004891f, 0.002710f, -0.002043f, -0.003665f, -0.000182f, 0.007919f, -0.006758f, -0.002579f, -0.005235f, -0.000110f, -0.014324f, -0.011296f, 0.000722f, 0.007020f, 0.009665f, 0.002235f, -0.003503f, 0.003299f, -0.003109f, -0.002077f, -0.002113f, 0.000961f, 0.002540f, 0.000623f, 0.003770f, -0.002846f, -0.005086f, 0.004226f, 0.002789f, 0.008870f, -0.001073f, 0.001449f, -0.001258f, 0.007155f, -0.007425f, -0.003730f, -0.001745f, -0.005641f, 0.003609f, -0.002324f, 0.003034f, -0.006043f, 0.006048f, 0.005858f, 0.005404f, -0.002189f, 0.004793f, 0.000263f, 0.001685f, 0.002805f, 0.002015f, -0.002523f, 0.000464f, -0.000781f, -0.000116f, 0.005504f, 0.002078f, -0.002411f, 0.004477f, -0.000716f, -0.003826f, -0.001270f, + -0.000251f, -0.005415f, -0.000189f, 0.002269f, 0.002981f, 0.000477f, -0.000082f, -0.002234f, 0.000853f, 0.001319f, 0.019383f, 0.012592f, -0.004009f, 0.005693f, -0.012941f, 0.009035f, 0.003291f, 0.006792f, -0.002375f, -0.001756f, -0.007100f, -0.003663f, -0.012112f, -0.002128f, -0.009651f, -0.002958f, -0.005961f, -0.006103f, -0.008206f, 0.003203f, -0.011199f, 0.001461f, 0.004783f, -0.002186f, 0.001479f, -0.004846f, -0.000106f, -0.001541f, -0.001635f, -0.006590f, -0.000927f, 0.000712f, -0.000493f, -0.001052f, -0.003475f, -0.003023f, 0.001972f, 0.002105f, 0.002783f, 0.014136f, -0.005767f, -0.000373f, 0.005692f, -0.001421f, -0.002412f, -0.005486f, 0.001628f, 0.004769f, 0.007910f, 0.002639f, 0.006586f, -0.006535f, -0.009806f, 0.000884f, 0.006339f, 0.003531f, -0.005319f, 0.006070f, -0.004668f, 0.002900f, 0.001164f, 0.005513f, 0.003085f, 0.001993f, 0.003707f, -0.003804f, 0.002343f, 0.001953f, 0.001081f, 0.005414f, 0.001198f, 0.004365f, -0.000717f, -0.001815f, 0.000643f, 0.001000f, 0.000859f, 0.005252f, -0.000907f, -0.003035f, -0.000344f, 0.039217f, -0.025353f, -0.001358f, 0.002959f, 0.000809f, + 0.003106f, 0.005391f, -0.001066f, -0.000842f, 0.003028f, -0.004506f, -0.004312f, -0.000688f, 0.003489f, 0.014131f, 0.000606f, 0.004899f, -0.004531f, 0.000310f, -0.013936f, 0.008645f, -0.008425f, -0.011991f, 0.002807f, 0.003402f, -0.004449f, 0.004041f, 0.001694f, 0.009345f, 0.010321f, -0.001684f, -0.003884f, -0.002907f, -0.015403f, -0.008369f, 0.012089f, 0.004017f, 0.004453f, -0.006919f, -0.007127f, 0.002147f, -0.001377f, -0.006106f, 0.005360f, -0.001133f, -0.003835f, -0.004401f, 0.003038f, -0.003938f, -0.002120f, 0.014199f, -0.008629f, 0.002658f, -0.003094f, 0.003319f, -0.003883f, -0.001559f, -0.010564f, 0.001817f, -0.003911f, -0.002597f, 0.008446f, 0.002075f, 0.002356f, 0.005146f, 0.006125f, 0.001861f, 0.004240f, -0.001852f, -0.000502f, -0.006905f, 0.003173f, 0.005766f, -0.001310f, 0.000412f, -0.000637f, -0.001407f, -0.001788f, 0.000679f, -0.001839f, -0.000798f, -0.024263f, -0.011880f, 0.004656f, -0.001378f, 0.008982f, -0.001119f, -0.002192f, -0.006914f, -0.007761f, 0.004310f, -0.008119f, -0.002724f, -0.004547f, -0.000791f, -0.004806f, -0.003254f, -0.003834f, -0.001906f, -0.004786f, -0.009204f, + 0.005494f, -0.018386f, -0.000062f, 0.016711f, 0.004178f, 0.000043f, -0.004399f, 0.001306f, -0.016624f, 0.007048f, 0.004345f, 0.001286f, 0.006190f, 0.009131f, -0.006966f, -0.003610f, -0.007254f, 0.001215f, 0.000398f, -0.004253f, -0.004868f, -0.005420f, -0.003156f, -0.000128f, 0.003817f, 0.000430f, 0.003155f, 0.001836f, 0.000513f, 0.011629f, 0.002906f, -0.001726f, 0.009261f, -0.004331f, -0.010219f, -0.003061f, -0.001072f, -0.001365f, -0.000523f, -0.003461f, -0.000656f, -0.004346f, -0.000924f, -0.004422f, 0.000614f, 0.002574f, -0.004818f, -0.001289f, -0.002585f, 0.000333f, -0.004886f, -0.006276f, -0.002612f, 0.002718f, 0.004692f, 0.001954f, -0.001336f, -0.000047f, 0.001902f, -0.000701f, -0.000890f, -0.002116f, 0.001194f, 0.002517f, 0.000662f, 0.000021f, -0.002652f, -0.014943f, 0.020316f, -0.009913f, -0.004877f, -0.016465f, 0.012981f, -0.004485f, 0.007680f, 0.000539f, 0.000540f, -0.004952f, 0.010194f, -0.002464f, 0.003373f, 0.002570f, -0.004555f, -0.001516f, -0.001421f, -0.008704f, 0.001828f, 0.001647f, -0.006694f, -0.011315f, -0.006978f, -0.010407f, -0.002458f, 0.005727f, 0.003060f, -0.006106f, + -0.006037f, 0.009199f, 0.006390f, -0.007860f, 0.007369f, -0.003893f, 0.006532f, -0.009978f, -0.007827f, -0.007596f, 0.002817f, -0.006724f, 0.004388f, -0.003012f, 0.001917f, -0.001822f, -0.000860f, 0.001618f, 0.007414f, -0.015934f, -0.001909f, 0.003226f, -0.001344f, -0.004820f, -0.011409f, -0.000992f, 0.010699f, 0.000004f, 0.009289f, 0.006788f, 0.002083f, -0.001277f, 0.007125f, -0.006914f, -0.005566f, 0.004494f, -0.001545f, -0.004285f, 0.003090f, 0.000889f, -0.003245f, -0.004932f, 0.008523f, -0.007794f, -0.004121f, -0.004651f, 0.004899f, 0.000262f, -0.003227f, -0.001881f, 0.002621f, -0.007200f, 0.000159f, 0.001952f, 0.001614f, 0.000186f, -0.002317f, -0.003497f, -0.034420f, 0.013091f, 0.005657f, -0.008512f, 0.004485f, -0.009653f, 0.009056f, 0.007844f, 0.006699f, -0.017540f, 0.010917f, 0.018982f, -0.002415f, 0.006582f, 0.000476f, -0.005656f, -0.007477f, 0.020892f, -0.000103f, -0.001631f, -0.011214f, -0.022309f, -0.012020f, 0.001337f, -0.009793f, 0.008498f, -0.014584f, -0.004706f, -0.008546f, 0.002583f, -0.003246f, -0.010809f, 0.002001f, -0.002346f, 0.007381f, -0.002240f, -0.008497f, -0.003126f, + -0.026333f, 0.004938f, -0.000678f, 0.012435f, -0.007354f, -0.008113f, 0.011557f, 0.002593f, 0.002012f, -0.004382f, -0.006961f, 0.002718f, 0.005328f, 0.003961f, -0.001737f, 0.004197f, 0.002300f, 0.000657f, -0.002201f, -0.002310f, -0.008622f, 0.000876f, -0.003361f, -0.004904f, 0.004697f, 0.002770f, 0.012996f, 0.002887f, -0.008583f, -0.008539f, 0.002020f, -0.005466f, -0.004058f, 0.001636f, -0.004179f, -0.000007f, -0.001877f, -0.002350f, 0.002549f, -0.003243f, 0.001351f, -0.000239f, -0.000603f, -0.001088f, -0.001813f, -0.004020f, -0.005025f, -0.001398f, -0.004321f, 0.028467f, -0.011797f, -0.000226f, 0.001203f, 0.011659f, -0.001945f, -0.002758f, 0.007883f, 0.013809f, -0.009986f, -0.011491f, 0.008250f, -0.002064f, 0.007128f, 0.010471f, 0.008685f, 0.007402f, 0.005888f, 0.006968f, 0.027656f, -0.002795f, 0.001689f, 0.005033f, 0.015091f, -0.003626f, -0.006040f, 0.005532f, -0.000788f, -0.005473f, -0.006592f, -0.005870f, -0.000219f, -0.007503f, 0.010329f, 0.015684f, -0.001199f, -0.004435f, 0.006385f, -0.004355f, 0.009297f, 0.006483f, -0.000104f, -0.008760f, 0.005998f, -0.001075f, -0.003061f, 0.000875f, + -0.001477f, 0.018310f, -0.001912f, 0.007722f, -0.004453f, 0.016263f, -0.001878f, 0.001062f, -0.006121f, -0.010582f, 0.008213f, -0.005483f, 0.016541f, 0.003264f, 0.007680f, -0.000373f, -0.000217f, 0.004446f, 0.001017f, 0.011605f, 0.006450f, 0.001752f, 0.005786f, -0.007509f, 0.002405f, 0.005100f, 0.000350f, -0.002453f, 0.009639f, 0.002005f, -0.003494f, -0.003699f, 0.003725f, -0.002284f, -0.000216f, 0.005129f, -0.001953f, 0.002943f, 0.001147f, -0.003552f, 0.037474f, -0.010684f, 0.003609f, -0.003486f, 0.001769f, 0.004905f, 0.012673f, -0.009660f, 0.005376f, -0.000124f, 0.000795f, 0.006894f, -0.005453f, 0.007361f, -0.019563f, -0.008859f, 0.003430f, 0.007395f, 0.005328f, 0.015720f, -0.015446f, 0.002489f, -0.002190f, -0.021308f, 0.009238f, -0.008262f, -0.005273f, -0.003073f, -0.017381f, 0.005728f, 0.006317f, 0.002760f, -0.008988f, -0.015301f, 0.006170f, -0.009475f, 0.008468f, -0.014668f, 0.000373f, -0.017558f, -0.004143f, -0.011727f, -0.010006f, 0.010391f, 0.016357f, 0.002248f, 0.006136f, -0.007470f, 0.003204f, -0.012532f, 0.005506f, -0.008240f, 0.002476f, 0.011968f, 0.006307f, -0.004248f, + 0.007478f, 0.001173f, 0.006508f, -0.005438f, 0.010765f, 0.017991f, 0.001195f, -0.010950f, -0.007311f, -0.004925f, -0.001762f, 0.001100f, 0.008341f, 0.001541f, 0.013401f, -0.000117f, 0.005287f, -0.012025f, -0.001507f, -0.008708f, -0.001375f, -0.001373f, 0.002971f, -0.010925f, 0.001755f, -0.000925f, 0.003536f, 0.001075f, 0.002321f, 0.000990f, 0.001151f, -0.037979f, -0.031839f, 0.013635f, -0.003880f, 0.015834f, -0.001091f, 0.005266f, -0.018968f, -0.017793f, -0.010765f, 0.006114f, -0.014653f, -0.010077f, -0.004238f, 0.003094f, 0.010950f, 0.003984f, -0.021543f, 0.005967f, 0.012264f, -0.030631f, -0.003529f, 0.001605f, -0.032507f, -0.011081f, 0.014680f, -0.030123f, 0.014958f, 0.015713f, 0.000339f, -0.004246f, -0.001093f, -0.007160f, -0.007886f, 0.005543f, 0.006823f, 0.022801f, -0.013262f, -0.006923f, -0.005491f, -0.010416f, 0.000766f, -0.017863f, -0.004337f, 0.001483f, -0.000362f, -0.005738f, -0.000768f, -0.009790f, -0.001862f, 0.005637f, -0.002326f, -0.006346f, 0.007651f, -0.003407f, -0.007197f, -0.010389f, 0.022487f, -0.000829f, 0.013761f, 0.001900f, 0.005258f, 0.014827f, 0.002281f, 0.010132f, + -0.006526f, 0.011247f, 0.008244f, 0.002522f, 0.003079f, 0.002830f, 0.009871f, 0.004525f, 0.001961f, 0.009478f, -0.003831f, 0.001461f, -0.000932f, -0.014568f, 0.007016f, 0.003572f, 0.002163f, -0.008888f, -0.002398f, 0.001753f, 0.003008f, -0.002497f, -0.061728f, 0.023425f, -0.006728f, -0.027629f, -0.006668f, 0.000809f, -0.007073f, 0.010821f, -0.023916f, 0.011676f, -0.001840f, -0.027500f, -0.018941f, 0.003895f, 0.011057f, 0.010474f, 0.007692f, 0.016377f, 0.004735f, 0.026862f, 0.014729f, 0.031466f, 0.004160f, 0.025584f, -0.019531f, -0.015330f, 0.005352f, 0.002338f, -0.015478f, 0.004478f, 0.003376f, -0.002043f, -0.005855f, 0.015219f, 0.002964f, -0.033172f, -0.014774f, 0.011291f, 0.003916f, -0.006935f, 0.009594f, 0.009847f, 0.015198f, 0.003387f, 0.004557f, 0.002962f, 0.004459f, 0.005660f, -0.011507f, 0.001898f, 0.002190f, -0.024488f, 0.011667f, 0.008685f, 0.010508f, -0.016739f, -0.009741f, 0.012456f, 0.000071f, -0.003130f, -0.002493f, -0.007075f, -0.006330f, 0.000188f, -0.008441f, -0.018783f, 0.006490f, 0.020340f, -0.014149f, 0.002120f, -0.008024f, -0.003124f, -0.005838f, -0.001678f, + 0.010451f, 0.002653f, 0.008641f, 0.002663f, -0.009112f, -0.006347f, -0.007395f, -0.004291f, -0.006043f, 0.001618f, -0.003819f, -0.000667f, -0.005785f, 0.002021f, 0.003046f, 0.003477f, -0.001736f, 0.026285f, 0.017878f, 0.012462f, 0.006929f, 0.001136f, -0.005711f, -0.008884f, 0.008473f, -0.025561f, 0.027657f, -0.016602f, 0.004732f, -0.027778f, -0.000698f, 0.026760f, 0.010714f, -0.009039f, 0.017101f, -0.026375f, 0.010998f, 0.005297f, 0.002199f, -0.032555f, -0.009528f, 0.002333f, 0.005623f, 0.021436f, -0.032011f, -0.004054f, -0.010411f, -0.030136f, -0.006347f, 0.007616f, 0.015548f, 0.023141f, 0.018072f, 0.017969f, -0.001174f, -0.011038f, 0.011963f, 0.003825f, -0.006641f, 0.004477f, -0.014541f, 0.023961f, 0.011405f, 0.008311f, -0.012001f, -0.026750f, -0.006899f, 0.000925f, -0.032461f, -0.026215f, -0.006643f, -0.023483f, 0.015615f, 0.006218f, 0.005085f, -0.010653f, -0.011440f, 0.004878f, 0.003649f, 0.002295f, 0.007677f, -0.004278f, 0.005882f, 0.015942f, 0.007440f, 0.002950f, 0.002453f, -0.010014f, -0.008315f, -0.007465f, 0.004883f, -0.002470f, -0.020669f, -0.016508f, -0.001354f, -0.013239f, + -0.011656f, -0.003158f, -0.017004f, -0.010606f, -0.002400f, 0.001220f, -0.002157f, -0.000850f, 0.004467f, -0.003034f, -0.000933f, 0.001216f, 0.029882f, -0.023276f, 0.006286f, -0.003268f, -0.003010f, 0.000577f, 0.008273f, -0.014480f, 0.019433f, -0.005568f, 0.013327f, -0.001257f, -0.010809f, 0.020708f, 0.020387f, 0.014637f, -0.006829f, 0.031365f, 0.011590f, -0.034956f, 0.036100f, 0.003355f, -0.000110f, 0.026160f, 0.001143f, -0.011255f, -0.015157f, 0.025828f, -0.016153f, -0.021448f, 0.020825f, 0.018258f, -0.011864f, -0.028541f, 0.011202f, -0.009738f, 0.003951f, -0.020045f, -0.016533f, -0.006747f, 0.019485f, 0.017621f, 0.002283f, 0.016183f, -0.023393f, 0.007638f, -0.006178f, -0.008593f, 0.011156f, 0.001686f, 0.003396f, -0.032580f, -0.008987f, 0.018317f, -0.023410f, -0.005955f, -0.029361f, -0.005330f, -0.010991f, 0.005079f, -0.007125f, 0.003454f, 0.002982f, -0.000860f, 0.002903f, -0.007693f, -0.026093f, -0.004759f, 0.013242f, -0.001612f, 0.009170f, -0.009867f, -0.022909f, -0.003888f, 0.005000f, 0.014713f, 0.003499f, 0.008134f, -0.000896f, 0.003449f, 0.005444f, 0.003532f, -0.008001f, 0.002205f, + -0.003311f, 0.003625f, -0.006389f, 0.003962f, 0.001479f, 0.000643f, -0.000775f, -0.005270f, -0.002810f, 0.027127f, 0.002149f, -0.007804f, -0.019319f, -0.000590f, -0.009199f, 0.007276f, -0.015946f, 0.010248f, 0.006551f, -0.013934f, -0.014294f, 0.021732f, -0.025478f, -0.000935f, 0.016558f, -0.018428f, 0.006025f, 0.021240f, -0.016782f, 0.014589f, 0.010732f, 0.015609f, -0.025516f, 0.022159f, -0.025622f, 0.007806f, -0.019490f, 0.002506f, -0.009938f, 0.017461f, 0.000596f, 0.010712f, 0.005555f, -0.018187f, -0.011067f, -0.025166f, 0.014779f, -0.017027f, 0.014861f, -0.020488f, -0.023337f, -0.039126f, 0.003886f, 0.020634f, -0.003077f, -0.000543f, 0.006566f, 0.017793f, -0.005947f, 0.004821f, -0.021583f, 0.005564f, 0.028812f, -0.002845f, 0.026128f, 0.034161f, -0.000156f, 0.005768f, 0.007077f, -0.014512f, 0.007631f, -0.017594f, -0.000820f, -0.018061f, -0.017498f, 0.001083f, -0.006588f, -0.029713f, 0.020240f, 0.000527f, 0.015074f, -0.017517f, -0.008899f, -0.006672f, 0.007763f, -0.000125f, -0.004577f, -0.004586f, -0.002931f, -0.001099f, 0.001782f, 0.001963f, -0.003465f, 0.004083f, -0.003985f, -0.003988f, + -0.002175f, 0.005746f, 0.004323f, 0.004782f, -0.002249f, 0.003613f, -0.061291f, 0.015570f, 0.022971f, 0.006388f, -0.026550f, -0.003870f, 0.043249f, -0.049661f, -0.001239f, -0.008357f, -0.032473f, -0.008168f, -0.021997f, 0.008097f, 0.008048f, 0.019029f, 0.007722f, -0.025944f, -0.009198f, 0.018761f, -0.029619f, -0.008387f, -0.031678f, 0.027093f, 0.008144f, 0.021202f, 0.036089f, -0.012663f, -0.007587f, -0.005902f, -0.018042f, 0.017351f, -0.008451f, -0.021472f, -0.024111f, -0.004174f, 0.009285f, -0.000617f, 0.004955f, 0.005948f, 0.014067f, -0.006107f, -0.000631f, 0.010478f, -0.010013f, 0.020488f, 0.023262f, 0.021989f, -0.017736f, 0.002456f, -0.005509f, 0.010565f, 0.043853f, 0.032950f, 0.062765f, 0.005065f, 0.024836f, 0.020158f, -0.009497f, -0.002066f, -0.003249f, -0.005758f, 0.007957f, 0.001946f, 0.022621f, 0.017111f, -0.007618f, -0.002206f, -0.013378f, -0.026228f, 0.010618f, -0.000271f, 0.009037f, -0.001803f, -0.018166f, -0.002553f, 0.002782f, -0.010047f, 0.006192f, -0.006362f, -0.008800f, 0.000370f, -0.008818f, 0.000081f, -0.002418f, -0.002066f, 0.000103f, 0.001480f, -0.005495f, 0.000908f, + 0.000393f, 0.000101f, 0.002256f, 0.095428f, 0.046171f, 0.016613f, 0.014991f, -0.022361f, 0.014845f, -0.018015f, 0.022105f, 0.018151f, 0.017030f, 0.004542f, -0.030910f, -0.017192f, 0.034230f, 0.006121f, -0.001725f, -0.006965f, 0.038286f, -0.040987f, -0.017097f, -0.010117f, -0.002834f, -0.028967f, 0.007195f, -0.025003f, -0.013855f, 0.004397f, -0.015755f, 0.023811f, -0.022500f, -0.009592f, -0.005361f, 0.025434f, -0.041642f, -0.007838f, -0.030935f, -0.000671f, 0.000067f, -0.027140f, 0.004706f, 0.021729f, 0.011881f, -0.000282f, -0.012640f, 0.001375f, 0.013150f, -0.016994f, 0.034827f, 0.047272f, -0.002753f, -0.029028f, -0.027347f, 0.019620f, -0.006784f, -0.006128f, 0.040691f, -0.008390f, 0.013125f, -0.000885f, 0.025661f, -0.004877f, 0.003523f, -0.004659f, -0.015923f, -0.044746f, -0.026676f, -0.003992f, -0.011873f, -0.030768f, -0.020198f, 0.011902f, 0.026317f, -0.001916f, -0.003152f, -0.002548f, -0.003996f, 0.014548f, 0.009252f, 0.002290f, -0.008577f, 0.010282f, -0.005591f, -0.020307f, -0.019491f, 0.002811f, 0.013727f, -0.015770f, 0.010762f, -0.000765f, -0.005944f, -0.005083f, 0.000625f, -0.008690f, + -0.006725f, 0.000675f, -0.002469f, -0.001058f, -0.004056f} +}; +const float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]={ {-0.004498f, 0.002497f, -0.001443f, 0.000619f, -0.000813f, 0.000186f, -0.000598f, -0.000162f, 0.000026f, 0.001200f, -0.000788f, 0.000523f, -0.001278f, 0.000943f, -0.001443f, -0.001961f, -0.001724f, 0.000396f, -0.000185f, 0.000270f, 0.000037f, -0.000892f, 0.000515f, 0.000893f, -0.000505f, 0.000715f, -0.000113f, -0.000312f, -0.000632f, -0.000114f, 0.000186f, 0.000502f, -0.000366f, 0.000751f, -0.000305f, 0.000479f, 0.000699f, -0.000511f, -0.000492f, 0.000032f, -0.000517f, 0.000139f, 0.000013f, -0.000237f, 0.000514f, 0.000084f, -0.000239f, 0.001718f, -0.001776f, -0.000315f, -0.000381f, -0.000400f, -0.000137f, -0.000018f, -0.000346f, -0.000233f, -0.000007f, 0.000084f, -0.000256f, 0.000153f, -0.000558f, -0.000152f, -0.000099f, 0.000343f, -0.001888f, -0.000167f, 0.000378f, -0.000169f, -0.000239f, 0.000174f, 0.000025f, 0.000143f, 0.000854f, -0.000408f, -0.000287f, -0.000452f, -0.000096f, 0.000265f, 0.000378f, -0.000387f, -0.000308f, 0.000471f, -0.000434f, -0.000619f, -0.000080f, -0.000161f, 0.000209f, -0.000177f, -0.000190f, 0.000114f, 0.000183f, -0.000378f, 0.000117f, 0.000157f, -0.006029f, -0.004095f, + -0.001664f, -0.001900f, -0.001062f, -0.000994f, -0.000942f, -0.000426f, -0.001136f, -0.000895f, -0.000391f, -0.000698f, -0.000092f, -0.000251f, -0.000609f, -0.000823f, -0.000922f, -0.000363f, -0.000535f, -0.000929f, -0.000122f, -0.001163f, 0.000003f, -0.000088f, -0.000162f, -0.000704f, -0.000122f, -0.000532f, 0.000004f, -0.000687f, -0.000439f, 0.000237f, -0.000506f, 0.000089f, -0.001174f, -0.000216f, 0.000572f, 0.000351f, -0.000022f, -0.000171f, -0.000338f, 0.000096f, 0.000106f, 0.000544f, -0.000327f, -0.000054f, -0.000169f, -0.007934f, -0.000424f, 0.001012f, -0.000009f, 0.000297f, -0.000047f, 0.000000f, -0.000627f, 0.000669f, 0.000275f, 0.000807f, 0.000589f, 0.001662f, 0.001235f, 0.000087f, -0.000651f, -0.000387f, -0.000147f, 0.000305f, -0.000215f, -0.001481f, -0.001316f, -0.000693f, -0.000196f, 0.000057f, 0.000196f, 0.000266f, -0.000044f, 0.000039f, 0.000171f, -0.000316f, -0.000033f, -0.000049f, -0.000899f, 0.000527f, 0.000229f, -0.000107f, -0.000000f, -0.000354f, -0.000495f, 0.000307f, 0.000130f, -0.000336f, 0.000325f, 0.000262f, 0.000394f, -0.000178f, 0.008893f, 0.006234f, 0.001233f, 0.002409f, + 0.000508f, 0.000792f, 0.001978f, 0.001008f, 0.000321f, 0.001178f, 0.000490f, -0.000528f, -0.000250f, 0.000405f, 0.000695f, -0.001211f, -0.000152f, -0.000730f, 0.001613f, 0.000791f, 0.000420f, 0.000792f, 0.000417f, 0.000407f, 0.000030f, -0.000084f, -0.000384f, 0.000622f, 0.000771f, 0.000642f, 0.000820f, 0.000973f, 0.000596f, 0.001424f, 0.000335f, -0.000086f, 0.000521f, 0.000090f, -0.000237f, -0.000118f, -0.000210f, -0.000287f, 0.000020f, 0.000659f, 0.000172f, 0.000105f, 0.000400f, 0.013276f, 0.005619f, 0.001722f, 0.001533f, 0.001103f, 0.000653f, 0.000233f, 0.000034f, 0.001472f, 0.000277f, 0.000825f, 0.001080f, 0.000598f, -0.000094f, -0.000385f, 0.002300f, -0.000190f, -0.001283f, -0.000707f, 0.000560f, 0.000051f, 0.001224f, 0.000426f, 0.000138f, -0.000209f, -0.000592f, -0.000144f, -0.000279f, 0.000563f, -0.000108f, 0.000245f, 0.000041f, 0.000105f, -0.000311f, 0.000461f, 0.001596f, 0.001037f, 0.001056f, 0.000983f, 0.000783f, 0.000455f, 0.000299f, 0.000203f, 0.000515f, -0.000424f, 0.000310f, -0.000190f, 0.004369f, -0.004604f, -0.001390f, -0.001989f, -0.001717f, -0.000939f, + -0.000275f, 0.000637f, -0.000638f, 0.000065f, -0.001701f, 0.000578f, -0.000618f, -0.001548f, 0.000411f, -0.001108f, -0.001471f, -0.001059f, 0.001411f, 0.001055f, -0.000494f, 0.000533f, -0.000974f, 0.000372f, -0.001774f, 0.000085f, 0.000295f, -0.000310f, -0.000414f, 0.000363f, -0.001404f, -0.000647f, 0.000184f, -0.000501f, -0.000413f, -0.000330f, 0.000117f, 0.000139f, 0.000711f, 0.000031f, 0.001225f, -0.000485f, -0.000334f, -0.000397f, -0.000603f, -0.000200f, -0.000301f, 0.000159f, -0.000520f, -0.000817f, -0.000124f, -0.015760f, -0.007972f, -0.002877f, -0.002233f, -0.002459f, -0.001522f, -0.002128f, -0.001364f, -0.002316f, -0.000407f, -0.001057f, -0.000257f, 0.000086f, -0.000945f, -0.000282f, 0.000160f, -0.000008f, -0.001443f, -0.000985f, -0.000648f, 0.000116f, -0.001949f, 0.000173f, -0.000879f, -0.001763f, 0.000159f, -0.000046f, 0.000130f, -0.000067f, -0.000606f, -0.000495f, 0.000029f, -0.000157f, -0.000013f, -0.000676f, 0.000030f, 0.000151f, 0.000535f, 0.000174f, -0.000668f, 0.000361f, -0.000668f, 0.000432f, -0.001155f, -0.000820f, 0.000184f, -0.000671f, 0.000041f, -0.000271f, -0.000926f, -0.000304f, + -0.009327f, 0.004900f, 0.002036f, 0.000775f, 0.001246f, 0.000249f, 0.000323f, 0.001123f, 0.001224f, 0.000686f, 0.000810f, -0.000612f, -0.000281f, -0.000963f, 0.001175f, 0.000264f, 0.000200f, 0.001639f, 0.000038f, -0.001073f, 0.001915f, -0.001264f, 0.000141f, 0.001611f, -0.000496f, 0.000435f, 0.000192f, -0.000020f, -0.000815f, -0.000174f, 0.000427f, 0.000477f, 0.000064f, -0.000268f, 0.000018f, -0.000547f, 0.001807f, 0.000173f, -0.000042f, -0.000699f, -0.000374f, -0.000445f, -0.000447f, 0.001003f, 0.000931f, -0.000226f, 0.000080f, -0.000044f, 0.000272f, 0.000087f, -0.000075f, -0.000176f, 0.000212f, 0.000166f, -0.000288f, -0.000239f, 0.000039f, 0.000235f, 0.014030f, 0.005938f, 0.001607f, 0.003199f, 0.001882f, 0.000785f, 0.001416f, 0.001190f, 0.000018f, 0.000866f, 0.001406f, 0.000308f, 0.000019f, 0.000698f, 0.001975f, -0.000676f, -0.000343f, -0.001562f, 0.000411f, 0.001774f, 0.000771f, 0.000071f, -0.000992f, -0.000553f, -0.000417f, 0.001870f, 0.000601f, 0.000973f, 0.000567f, -0.000903f, -0.001421f, 0.001621f, 0.000912f, -0.001011f, -0.000461f, 0.001575f, 0.001352f, -0.000077f, + 0.000349f, -0.000174f, 0.000714f, 0.000437f, -0.000138f, 0.000315f, -0.000542f, -0.000269f, 0.000871f, -0.000458f, -0.000331f, 0.000906f, 0.000797f, 0.000427f, 0.000173f, 0.000184f, 0.000210f, 0.000645f, 0.000372f, 0.001021f, 0.016603f, 0.003577f, 0.002787f, 0.001200f, 0.001292f, 0.000518f, 0.001329f, 0.001524f, 0.002480f, 0.001491f, -0.000441f, 0.001919f, -0.000350f, 0.000505f, 0.000455f, 0.001622f, 0.002440f, 0.001541f, -0.000395f, 0.002686f, -0.000490f, -0.000293f, -0.001399f, 0.000371f, -0.000400f, 0.000430f, 0.000751f, -0.000830f, -0.001111f, -0.000483f, 0.000245f, -0.000922f, -0.000276f, 0.000405f, 0.000624f, -0.001079f, -0.000888f, -0.000390f, 0.000373f, -0.000017f, 0.000305f, -0.000397f, 0.000015f, -0.000271f, -0.000338f, 0.000426f, -0.000593f, 0.000580f, -0.000638f, -0.000238f, -0.000480f, 0.000102f, -0.000159f, 0.000654f, 0.000319f, -0.000058f, 0.000931f, 0.000309f, 0.001926f, -0.007360f, -0.002353f, -0.002634f, -0.001687f, 0.000448f, -0.000413f, -0.001584f, 0.000908f, 0.000060f, 0.001115f, -0.000131f, 0.000122f, -0.001727f, -0.001207f, -0.000806f, -0.001243f, 0.000100f, + -0.001323f, -0.002572f, 0.000513f, 0.000294f, -0.001185f, -0.000268f, -0.001075f, 0.000220f, 0.000368f, -0.000217f, -0.002641f, -0.000757f, 0.000172f, -0.000303f, 0.000230f, 0.000703f, -0.001880f, -0.000573f, -0.001174f, 0.000602f, -0.000143f, -0.000110f, 0.001235f, -0.001259f, -0.000082f, 0.000375f, -0.000157f, -0.000422f, 0.000598f, 0.000305f, -0.000747f, -0.000928f, -0.001459f, -0.000234f, -0.001115f, -0.000916f, -0.000476f, -0.000638f, -0.000372f, -0.000185f, -0.000342f, -0.000576f, -0.000756f, -0.000445f, 0.000272f, 0.000500f, -0.000089f, -0.017254f, -0.005829f, -0.003546f, -0.000875f, -0.001846f, -0.000048f, -0.001008f, -0.001260f, -0.001601f, 0.001981f, 0.000025f, -0.000730f, -0.000206f, -0.002842f, -0.001650f, -0.001375f, 0.002316f, -0.001946f, -0.004179f, 0.000367f, 0.000489f, 0.000349f, -0.001551f, -0.000382f, 0.000855f, -0.001889f, -0.000219f, -0.001928f, -0.000604f, 0.001113f, -0.000959f, 0.000290f, 0.002103f, 0.000255f, -0.000461f, -0.000492f, 0.000555f, 0.000682f, 0.000511f, -0.000610f, -0.000139f, 0.000708f, 0.000915f, 0.000588f, 0.000295f, -0.001768f, 0.000318f, -0.000063f, -0.000929f, + -0.000315f, 0.000155f, -0.000219f, -0.000939f, -0.000585f, -0.000974f, -0.000251f, 0.000027f, 0.000157f, -0.000166f, -0.000643f, -0.000142f, -0.000495f, -0.000065f, -0.000531f, -0.000025f, -0.011470f, 0.002683f, 0.000139f, -0.001362f, 0.002020f, -0.001262f, -0.001032f, 0.000551f, -0.001962f, -0.001120f, -0.000441f, 0.000837f, -0.001554f, 0.002118f, 0.000016f, -0.000021f, 0.000944f, 0.001006f, 0.001498f, -0.000128f, 0.002074f, 0.003056f, 0.002154f, 0.000726f, 0.001839f, -0.000571f, 0.001158f, -0.001342f, -0.001433f, -0.000552f, 0.000146f, 0.000951f, -0.000766f, -0.001287f, -0.000741f, 0.000004f, 0.000791f, -0.001243f, 0.000897f, 0.000353f, 0.000686f, -0.000290f, -0.001192f, -0.001536f, -0.001895f, 0.000526f, -0.000981f, 0.000546f, -0.002007f, -0.000538f, 0.000867f, -0.001215f, 0.000182f, -0.000843f, 0.000576f, -0.000246f, 0.000559f, 0.000174f, -0.000376f, 0.000005f, -0.000821f, 0.001527f, 0.000605f, 0.001413f, 0.000568f, 0.007665f, 0.012616f, 0.003680f, 0.003271f, 0.004575f, 0.003684f, 0.000745f, 0.002920f, 0.002627f, 0.001411f, 0.005545f, 0.001308f, 0.000959f, 0.002384f, 0.002236f, + 0.001159f, 0.001005f, 0.000576f, 0.000945f, -0.000718f, 0.002815f, -0.000751f, 0.000297f, -0.000880f, 0.001794f, 0.000085f, -0.000427f, 0.001459f, 0.001770f, 0.000612f, 0.002340f, -0.001638f, -0.002677f, -0.000612f, -0.000127f, 0.000587f, -0.000156f, 0.001166f, -0.001051f, 0.001062f, 0.002360f, 0.001002f, -0.002040f, -0.000429f, 0.001090f, 0.000414f, -0.000982f, 0.001466f, 0.000609f, 0.000869f, 0.000996f, 0.001310f, 0.000463f, -0.000364f, 0.000354f, -0.001181f, -0.000278f, 0.001106f, 0.001044f, -0.000569f, 0.000018f, 0.000273f, -0.000467f, 0.000160f, 0.000835f, 0.029028f, 0.002976f, -0.000266f, 0.001787f, -0.000029f, 0.002472f, 0.000054f, 0.000660f, 0.000340f, 0.002606f, 0.001246f, -0.001082f, 0.000902f, 0.001246f, 0.000697f, -0.001585f, -0.003255f, -0.001511f, -0.001353f, 0.000576f, -0.001989f, -0.000359f, -0.000103f, 0.000535f, 0.003633f, 0.001999f, 0.000705f, 0.001442f, -0.002221f, -0.000142f, -0.001152f, -0.000455f, -0.000902f, 0.001351f, -0.000493f, 0.002264f, -0.001017f, -0.000412f, -0.001138f, -0.000522f, -0.001655f, -0.000785f, 0.000412f, 0.000365f, -0.000062f, 0.000019f, + -0.000896f, 0.000523f, 0.001589f, 0.000127f, -0.000815f, 0.000981f, -0.001356f, 0.000605f, 0.000634f, -0.000135f, -0.000403f, -0.000292f, -0.000035f, -0.000257f, 0.000096f, 0.000940f, -0.000078f, -0.000857f, 0.000207f, -0.008441f, -0.010047f, -0.001867f, -0.000561f, -0.000411f, -0.001599f, -0.000660f, 0.003046f, 0.001804f, 0.000640f, 0.000832f, -0.001333f, -0.000266f, 0.002285f, -0.000843f, 0.003722f, -0.002893f, -0.000793f, 0.003036f, -0.000589f, -0.000341f, -0.001769f, 0.002080f, 0.002297f, 0.000042f, 0.002264f, -0.000827f, 0.001001f, -0.000048f, -0.001274f, -0.000201f, -0.001009f, -0.000421f, -0.000657f, 0.001251f, -0.000928f, -0.000222f, -0.001425f, 0.000959f, -0.000743f, 0.002095f, -0.003317f, 0.001389f, 0.001148f, -0.002003f, 0.000036f, -0.001325f, 0.000349f, -0.001508f, 0.000470f, 0.000624f, -0.001918f, -0.000292f, -0.000703f, -0.002848f, -0.001655f, -0.000793f, -0.001422f, -0.000311f, -0.000246f, 0.000151f, -0.001165f, 0.000159f, -0.002244f, 0.000621f, 0.000265f, -0.000776f, 0.000271f, -0.000774f, -0.000216f, -0.000505f, -0.000243f, -0.007445f, -0.004230f, -0.005782f, -0.002930f, -0.003871f, + -0.000410f, 0.003685f, -0.003853f, 0.002957f, 0.001928f, -0.002140f, 0.004254f, -0.000696f, 0.000846f, -0.002789f, -0.000274f, -0.001256f, -0.000154f, -0.000009f, 0.001065f, 0.000483f, 0.002230f, 0.004206f, -0.001125f, 0.000555f, -0.002003f, -0.002144f, -0.001858f, 0.000399f, 0.001781f, -0.000649f, -0.000595f, -0.000591f, -0.001289f, 0.001439f, -0.000442f, -0.000128f, -0.001262f, -0.001038f, -0.000834f, -0.001351f, -0.000094f, -0.000088f, -0.001099f, 0.000702f, -0.001692f, 0.000601f, -0.000976f, -0.000209f, 0.000637f, -0.001294f, 0.001577f, -0.002746f, -0.000829f, 0.000224f, -0.000789f, -0.001481f, 0.000726f, -0.000432f, -0.001616f, 0.002643f, 0.001528f, 0.000337f, 0.000525f, 0.000505f, 0.000671f, -0.001386f, -0.000874f, 0.000311f, -0.000468f, -0.000971f, 0.001024f, -0.020685f, -0.002340f, 0.001651f, -0.001489f, 0.003411f, 0.001609f, -0.004201f, 0.000592f, 0.000687f, -0.001322f, -0.003520f, -0.001270f, -0.000870f, 0.001028f, 0.000236f, -0.003213f, -0.001240f, -0.001700f, -0.003135f, -0.002599f, -0.006130f, -0.003153f, -0.003587f, -0.004304f, 0.003427f, -0.002274f, 0.001244f, 0.002611f, -0.001882f, + -0.002908f, -0.001148f, -0.000601f, 0.000689f, 0.001970f, 0.001112f, -0.002403f, -0.003037f, 0.002416f, 0.001478f, 0.001918f, 0.002640f, 0.000418f, -0.000024f, 0.001076f, -0.000139f, -0.001138f, 0.000660f, -0.000599f, -0.000416f, 0.001594f, 0.003961f, -0.001282f, -0.001999f, 0.000961f, -0.001278f, -0.000084f, 0.002036f, -0.003892f, -0.000066f, -0.001258f, -0.000225f, -0.000046f, 0.000014f, -0.000430f, 0.000775f, -0.001132f, 0.001416f, 0.001587f, 0.000644f, -0.000053f, -0.000019f, -0.001286f, 0.016567f, 0.014428f, 0.003922f, 0.008770f, 0.002441f, 0.005047f, -0.000808f, -0.000810f, 0.002470f, 0.003315f, 0.001777f, -0.005739f, -0.001887f, 0.003568f, 0.004052f, -0.001495f, -0.001931f, 0.000651f, 0.001697f, 0.001904f, 0.000301f, -0.002987f, -0.006390f, -0.002411f, 0.003515f, -0.000313f, 0.003612f, -0.000854f, -0.001125f, 0.000725f, -0.002959f, -0.001728f, -0.001712f, 0.003292f, -0.004083f, -0.002831f, 0.000759f, 0.000687f, -0.001035f, -0.000130f, -0.001154f, 0.001233f, 0.001701f, 0.001443f, 0.003275f, 0.001895f, 0.000080f, -0.002658f, 0.002529f, -0.000233f, 0.001414f, -0.001297f, 0.000995f, + 0.001986f, -0.000275f, -0.000526f, -0.001211f, -0.001464f, 0.000930f, 0.000208f, 0.001304f, -0.001265f, 0.001094f, 0.002579f, -0.000510f, -0.001403f, 0.001824f, 0.002339f, -0.000914f, 0.001049f, 0.001200f, 0.000943f, 0.002259f, 0.001912f, 0.020130f, 0.003695f, -0.003884f, 0.003213f, 0.002159f, -0.003854f, -0.000817f, 0.001893f, 0.000148f, 0.000573f, -0.000280f, -0.000847f, -0.004176f, -0.004161f, 0.001850f, 0.003831f, 0.004031f, -0.004009f, -0.007998f, 0.001068f, -0.000109f, -0.003270f, -0.004086f, -0.000780f, 0.002059f, -0.001472f, 0.003050f, 0.004826f, -0.001824f, -0.001655f, -0.000651f, -0.000783f, -0.000947f, -0.007530f, 0.003906f, 0.003495f, -0.000135f, 0.002231f, -0.002264f, -0.000782f, -0.002060f, 0.002949f, 0.003220f, 0.000294f, -0.000806f, -0.001239f, 0.001793f, 0.000366f, -0.001054f, -0.001960f, 0.000001f, 0.001526f, -0.002426f, -0.001571f, -0.001324f, 0.000342f, 0.000768f, -0.003118f, 0.001547f, 0.003297f, -0.002755f, -0.000106f, -0.000670f, -0.000543f, -0.000031f, 0.000265f, 0.000179f, -0.000266f, 0.000592f, -0.000980f, -0.001810f, -0.002194f, -0.000946f, -0.000592f, -0.001168f, + -0.002093f, -0.001642f, -0.000476f, 0.001449f, -0.000681f, -0.005544f, -0.003592f, 0.000479f, 0.005016f, -0.005053f, 0.003596f, 0.001585f, 0.000809f, 0.000972f, 0.000889f, 0.003205f, 0.005293f, 0.000096f, 0.001614f, 0.000536f, -0.004501f, -0.004160f, 0.004042f, 0.000496f, -0.004652f, 0.002711f, -0.003969f, 0.000609f, 0.004935f, -0.000363f, -0.001317f, 0.005556f, 0.000897f, 0.000332f, 0.000484f, 0.000116f, 0.000528f, -0.002518f, 0.001500f, 0.002208f, 0.003721f, -0.002990f, -0.001434f, 0.000522f, 0.000536f, -0.001401f, -0.002633f, 0.001642f, -0.000948f, 0.001134f, 0.000649f, -0.000977f, -0.000839f, 0.000325f, 0.001702f, -0.001331f, -0.000544f, -0.000341f, 0.000986f, -0.002743f, -0.001236f, 0.001193f, 0.000286f, -0.000963f, -0.000450f, 0.001073f, -0.001117f, 0.000299f, -0.000749f, -0.000244f, 0.000929f, 0.000210f, 0.000550f, -0.002376f, -0.001634f, 0.000565f, -0.021614f, -0.019799f, -0.004457f, -0.009161f, -0.008090f, -0.004547f, -0.001413f, -0.003408f, -0.004157f, 0.002828f, 0.000721f, -0.000939f, 0.004681f, 0.001748f, 0.005630f, 0.004403f, 0.001229f, 0.001773f, 0.002032f, -0.008658f, + 0.004057f, -0.000653f, -0.001871f, -0.001609f, -0.005168f, -0.001574f, -0.001817f, 0.004946f, -0.001686f, -0.002932f, -0.001505f, 0.000798f, -0.000682f, -0.000972f, 0.001048f, -0.001292f, -0.000887f, 0.003028f, -0.002999f, -0.000248f, -0.000999f, 0.005437f, 0.002112f, 0.002179f, -0.004218f, 0.000330f, 0.003672f, -0.001945f, 0.000843f, 0.000025f, 0.000858f, 0.000029f, 0.000266f, -0.000280f, 0.002322f, -0.000305f, -0.000819f, 0.001728f, -0.001272f, 0.000970f, 0.002016f, -0.000964f, -0.001483f, 0.000640f, 0.000740f, -0.001551f, -0.000685f, -0.002863f, -0.002317f, 0.000750f, -0.000311f, -0.000507f, -0.000103f, 0.000374f, -0.000235f, -0.001820f, -0.000907f, -0.013591f, 0.028623f, 0.017842f, 0.005832f, 0.001671f, 0.002042f, 0.001944f, 0.003285f, 0.002734f, 0.006125f, 0.012000f, 0.000771f, 0.001297f, 0.002714f, 0.002396f, 0.003193f, -0.002332f, 0.011812f, 0.008279f, -0.007697f, 0.005674f, 0.001152f, -0.001329f, 0.002905f, 0.007010f, -0.006559f, -0.001967f, 0.000629f, -0.005592f, -0.003674f, -0.004015f, 0.008146f, -0.000425f, -0.001345f, 0.001004f, 0.000533f, -0.002473f, -0.006383f, 0.004423f, + 0.003752f, -0.001161f, 0.002088f, 0.004538f, -0.002972f, 0.002445f, 0.000348f, -0.001259f, 0.003721f, 0.003041f, 0.000812f, 0.000361f, 0.000460f, 0.002439f, 0.003615f, -0.000027f, -0.000549f, -0.000091f, -0.001028f, 0.002419f, 0.000608f, -0.001058f, -0.001145f, -0.000955f, 0.001971f, 0.000818f, 0.004363f, -0.001342f, 0.001619f, -0.001000f, 0.001158f, -0.001793f, -0.000526f, 0.000477f, -0.000855f, -0.001267f, 0.000202f, 0.000161f, 0.000643f, 0.001110f, 0.030976f, -0.010950f, -0.010656f, 0.004799f, 0.001244f, -0.004102f, -0.003517f, -0.005716f, -0.005565f, -0.004156f, -0.003428f, 0.005073f, 0.001247f, 0.000572f, -0.002851f, -0.002582f, -0.008999f, -0.000056f, -0.003524f, -0.006268f, 0.005240f, 0.003404f, 0.001125f, 0.003161f, 0.000956f, -0.001136f, -0.001949f, -0.000214f, -0.001638f, 0.002580f, 0.004501f, -0.004761f, -0.001679f, 0.000026f, 0.002486f, 0.006118f, 0.001913f, 0.008220f, -0.004177f, 0.002566f, 0.006949f, 0.004019f, -0.003368f, -0.001062f, 0.000871f, -0.001787f, 0.003046f, -0.000501f, 0.000241f, 0.004361f, 0.002490f, 0.000667f, 0.000501f, -0.000146f, -0.001759f, -0.000089f, + 0.000622f, -0.002011f, -0.001023f, 0.001916f, -0.000664f, -0.003780f, -0.000446f, 0.000078f, -0.000547f, -0.003934f, 0.001122f, 0.000770f, 0.001085f, 0.001058f, -0.000704f, -0.001651f, -0.000440f, -0.000848f, 0.003285f, 0.001327f, -0.001122f, 0.000854f, -0.000176f, 0.000641f, 0.000166f, 0.009962f, 0.018836f, 0.007446f, 0.005028f, 0.005949f, -0.001744f, 0.001942f, -0.005405f, 0.009422f, 0.003676f, 0.009053f, 0.002677f, 0.003480f, -0.008239f, 0.010318f, 0.015206f, 0.001984f, 0.009855f, -0.001928f, -0.008021f, -0.007875f, 0.007228f, -0.002276f, 0.005770f, 0.001127f, 0.002307f, -0.004380f, 0.004465f, -0.001496f, -0.001606f, 0.007451f, 0.005129f, -0.003810f, 0.006899f, 0.000844f, 0.001256f, -0.001321f, -0.005214f, 0.001521f, 0.000384f, -0.002825f, -0.003285f, 0.003130f, 0.004289f, 0.001485f, -0.001515f, 0.002104f, 0.000163f, 0.004648f, -0.002756f, -0.000320f, -0.004543f, 0.000613f, 0.004444f, 0.003074f, -0.002064f, 0.000069f, 0.001562f, -0.003949f, -0.000303f, -0.002668f, -0.001534f, 0.000929f, 0.001064f, 0.002801f, -0.003184f, 0.001470f, -0.003663f, 0.000412f, 0.004544f, 0.001688f, + 0.000898f, -0.002784f, 0.000429f, 0.000437f, -0.004737f, -0.001163f, 0.000555f, 0.000904f, 0.001882f, 0.000860f, -0.000024f, -0.022116f, -0.001125f, -0.005058f, 0.006331f, -0.004847f, 0.005221f, 0.000073f, 0.004199f, -0.000657f, 0.003631f, -0.011096f, 0.003309f, -0.001378f, -0.003901f, 0.001850f, -0.004768f, 0.002882f, -0.004815f, -0.002666f, -0.010724f, 0.006052f, 0.012993f, -0.005162f, -0.001653f, -0.001568f, -0.002056f, 0.001879f, 0.002625f, 0.003657f, -0.009536f, 0.002774f, -0.005920f, -0.001804f, -0.000281f, 0.004828f, 0.001921f, -0.002569f, 0.001082f, 0.000953f, 0.003560f, 0.003496f, -0.005946f, -0.002070f, 0.000902f, -0.004463f, -0.003856f, -0.000837f, -0.002746f, 0.001085f, 0.003381f, 0.000349f, 0.000612f, -0.000891f, 0.003153f, 0.008329f, 0.004787f, -0.005279f, 0.001075f, 0.001811f, -0.002537f, 0.002869f, 0.000801f, -0.003418f, -0.000287f, 0.003693f, 0.000432f, 0.003530f, -0.004865f, -0.001245f, 0.002961f, 0.000036f, -0.001583f, -0.003507f, -0.000235f, -0.001911f, 0.002833f, -0.000905f, 0.001778f, -0.000947f, -0.000338f, -0.040541f, -0.015093f, 0.008127f, 0.003050f, -0.005283f, + 0.005838f, 0.004652f, 0.007680f, -0.001920f, -0.003222f, 0.006545f, 0.000385f, -0.004552f, 0.009123f, -0.010193f, -0.013061f, -0.006298f, -0.006959f, 0.004531f, 0.006743f, -0.000234f, 0.001823f, 0.010388f, 0.004723f, -0.010687f, -0.004679f, -0.006604f, 0.002069f, -0.009928f, -0.008475f, -0.000599f, 0.001450f, -0.003845f, -0.004001f, -0.006079f, -0.002997f, -0.005569f, -0.005261f, -0.002095f, 0.000587f, -0.002034f, -0.000191f, -0.003777f, -0.000444f, -0.002909f, -0.006131f, 0.013457f, 0.001229f, 0.003134f, -0.005384f, 0.003518f, -0.000220f, 0.001769f, -0.004295f, -0.000241f, -0.000582f, -0.003744f, -0.002169f, -0.001738f, 0.004535f, 0.003151f, 0.003580f, 0.002083f, 0.002809f, -0.000680f, 0.000184f, -0.003245f, -0.000439f, -0.000210f, -0.000103f, 0.004101f, 0.001277f, 0.002383f, 0.002691f, -0.001931f, -0.004342f, 0.001872f, -0.001575f, -0.000851f, 0.001986f, 0.005275f, -0.000501f, 0.021178f, 0.007834f, 0.017059f, 0.002734f, 0.001127f, -0.006794f, 0.002609f, 0.010275f, 0.003833f, 0.000795f, 0.006858f, -0.006094f, -0.002755f, 0.005644f, -0.004260f, 0.002006f, 0.009828f, 0.003224f, 0.001345f, + 0.003198f, -0.001783f, 0.004343f, -0.003239f, 0.000182f, 0.001682f, 0.000645f, -0.002492f, -0.002629f, 0.001082f, 0.010197f, -0.003252f, 0.002585f, -0.009303f, -0.004907f, 0.004297f, 0.010744f, -0.008163f, 0.000151f, 0.005173f, 0.001381f, 0.001993f, -0.006690f, -0.002329f, -0.005768f, -0.010206f, -0.002614f, -0.005654f, -0.005925f, 0.004910f, 0.002041f, 0.001730f, -0.003421f, -0.002104f, -0.000601f, -0.009792f, -0.000823f, 0.005577f, -0.003800f, 0.004488f, 0.009200f, 0.001445f, 0.006129f, 0.004036f, 0.000448f, -0.001751f, 0.005336f, -0.006538f, -0.000200f, -0.000325f, 0.004271f, 0.002085f, 0.003946f, 0.000223f, 0.004366f, -0.000188f, 0.000999f, 0.000729f, 0.004644f, 0.000115f, 0.000169f, 0.004140f, -0.002063f, 0.002614f, 0.001021f, 0.000773f, -0.001183f, 0.025902f, -0.005789f, -0.007781f, 0.001134f, 0.006061f, 0.004689f, 0.005068f, -0.001567f, 0.005456f, 0.001541f, -0.006189f, -0.012786f, 0.008612f, 0.002149f, 0.006268f, 0.003535f, -0.003233f, 0.001365f, -0.004710f, -0.008404f, 0.008737f, -0.005505f, -0.010160f, 0.000975f, -0.001550f, 0.001153f, -0.000885f, -0.001158f, -0.002476f, + -0.004197f, 0.003174f, 0.006831f, -0.009899f, 0.009705f, -0.008353f, -0.011196f, 0.001219f, 0.002863f, -0.006115f, 0.004821f, -0.000744f, 0.003021f, -0.005245f, -0.002775f, 0.009307f, 0.003650f, 0.009423f, 0.002371f, 0.000848f, 0.002861f, 0.000118f, 0.000260f, 0.005006f, -0.000509f, 0.001004f, -0.004421f, -0.002810f, -0.002651f, 0.003570f, -0.003454f, -0.002732f, 0.005447f, -0.000014f, 0.006110f, 0.001093f, -0.004597f, 0.007557f, 0.005687f, -0.000323f, 0.003682f, -0.003645f, -0.006314f, 0.002551f, -0.002361f, -0.004341f, 0.000312f, 0.004110f, 0.005305f, -0.001877f, 0.001605f, 0.002760f, -0.000431f, 0.001271f, -0.005463f, 0.002223f, 0.001796f, -0.002537f, 0.021640f, 0.026259f, -0.003985f, 0.000114f, -0.013188f, -0.001545f, -0.009610f, -0.007271f, -0.002258f, -0.004986f, 0.007498f, -0.000042f, 0.005828f, -0.012399f, 0.010318f, -0.007825f, 0.010536f, 0.000329f, 0.008377f, -0.003052f, 0.010545f, 0.003408f, -0.004944f, 0.002171f, -0.007405f, 0.004906f, -0.004103f, 0.011774f, 0.003574f, 0.007725f, -0.012869f, -0.007441f, -0.003117f, -0.006588f, -0.002688f, -0.004520f, 0.000474f, 0.015932f, + -0.007327f, 0.007992f, 0.013591f, 0.001881f, 0.006008f, 0.000043f, -0.002978f, -0.006355f, -0.004763f, 0.000637f, -0.003421f, 0.008136f, -0.005237f, 0.003712f, 0.009945f, -0.001336f, -0.000758f, -0.000826f, 0.008145f, 0.008707f, 0.002798f, -0.004091f, -0.003497f, -0.002175f, 0.003478f, -0.008039f, 0.001565f, -0.001467f, -0.002143f, 0.000083f, 0.005348f, 0.000442f, 0.007548f, 0.006824f, 0.001421f, 0.001616f, -0.003193f, -0.000191f, 0.007759f, -0.001021f, 0.000521f, 0.003201f, -0.004043f, 0.000052f, -0.004637f, -0.005146f, 0.000810f, 0.000714f, -0.000959f, -0.020425f, -0.018446f, 0.008261f, -0.002511f, 0.010202f, -0.005832f, -0.004674f, -0.006947f, -0.005559f, -0.002679f, -0.016094f, -0.006001f, 0.006316f, 0.008633f, 0.003680f, -0.011339f, -0.003112f, -0.005474f, 0.004875f, 0.016250f, 0.009228f, 0.003928f, 0.000737f, 0.001180f, 0.000948f, 0.002812f, 0.008537f, 0.000633f, 0.002323f, -0.004850f, 0.000503f, -0.006929f, 0.002803f, 0.003319f, 0.006213f, 0.000750f, -0.004052f, -0.002132f, 0.008159f, -0.003776f, 0.003158f, 0.001613f, 0.003041f, 0.010241f, -0.005588f, -0.008711f, 0.003393f, + 0.007295f, 0.002068f, 0.007292f, 0.008914f, 0.004216f, 0.006223f, 0.002328f, 0.001448f, 0.004807f, 0.014774f, -0.008164f, 0.000133f, 0.002389f, 0.001442f, -0.006334f, -0.000975f, 0.004856f, 0.000063f, -0.005680f, 0.002402f, 0.010612f, -0.008495f, 0.002807f, -0.008036f, 0.004725f, 0.003365f, 0.001300f, 0.000469f, -0.003869f, -0.003695f, 0.007467f, 0.004191f, 0.001520f, -0.002127f, 0.005233f, -0.000592f, 0.000015f, -0.003481f, 0.003858f, 0.001595f, -0.041169f, -0.014506f, -0.000826f, -0.004220f, -0.010078f, 0.006115f, 0.008401f, 0.013904f, 0.004702f, 0.008703f, -0.008079f, -0.017358f, 0.008134f, -0.004181f, 0.000529f, -0.009395f, 0.009237f, -0.005594f, -0.000338f, 0.008389f, -0.023443f, 0.002162f, 0.012337f, -0.022952f, -0.005946f, -0.008204f, 0.001198f, 0.000739f, 0.005681f, -0.006465f, 0.007499f, 0.000942f, -0.011887f, -0.006287f, 0.001507f, -0.001652f, -0.005844f, 0.005106f, 0.014015f, 0.002858f, 0.003940f, -0.002354f, -0.003380f, 0.008005f, 0.001569f, -0.004203f, -0.019920f, -0.003309f, 0.002608f, -0.010267f, 0.004900f, 0.003972f, 0.000894f, -0.007965f, -0.006930f, -0.008485f, + 0.018039f, 0.004637f, -0.002658f, 0.003347f, -0.015187f, 0.001662f, -0.007068f, -0.008344f, 0.008026f, -0.001490f, 0.000179f, -0.005312f, -0.019024f, 0.002440f, 0.005879f, 0.003219f, -0.001320f, 0.011160f, 0.000451f, -0.004875f, -0.000683f, -0.007558f, 0.011779f, 0.006236f, 0.003348f, -0.002077f, 0.000869f, 0.003629f, -0.003412f, 0.001334f, 0.001685f, 0.000494f, 0.043832f, 0.010993f, 0.011346f, 0.009567f, -0.002749f, 0.000347f, 0.045082f, 0.012977f, -0.003674f, 0.027482f, -0.015377f, 0.011453f, 0.002469f, 0.006993f, 0.011302f, -0.003495f, -0.007787f, 0.008461f, -0.001478f, -0.027212f, 0.007021f, 0.007042f, 0.005827f, 0.012940f, 0.008275f, 0.008451f, -0.007587f, 0.001686f, -0.007321f, -0.003861f, 0.008141f, 0.002678f, -0.015794f, -0.009476f, -0.013222f, -0.019804f, -0.002946f, 0.004097f, 0.009767f, 0.008366f, 0.007290f, 0.006051f, -0.002838f, 0.010381f, 0.005864f, -0.012590f, -0.004724f, 0.003387f, 0.009602f, 0.000254f, 0.002155f, 0.016752f, -0.002886f, -0.001384f, -0.004220f, -0.000838f, 0.008638f, -0.007240f, 0.000244f, -0.010253f, -0.009026f, -0.005817f, 0.010838f, 0.014772f, + -0.004147f, 0.001240f, -0.002708f, -0.009088f, -0.006064f, 0.002430f, -0.010453f, -0.002757f, -0.002692f, -0.006784f, 0.018900f, 0.004175f, 0.006420f, 0.005537f, -0.000396f, 0.000095f, 0.003392f, 0.001060f, 0.006054f, 0.003796f, 0.000262f, -0.000516f, 0.044762f, 0.026123f, 0.002092f, 0.016515f, 0.012966f, 0.003449f, 0.019510f, 0.005246f, 0.000133f, -0.006195f, -0.004253f, -0.012785f, -0.033958f, -0.002726f, 0.003516f, -0.011849f, -0.006449f, -0.001503f, 0.024041f, 0.007619f, -0.005993f, 0.000058f, 0.001851f, -0.003601f, 0.010249f, -0.001879f, -0.006001f, -0.004409f, -0.005646f, 0.003586f, -0.008388f, -0.021149f, 0.000669f, -0.011126f, -0.016770f, 0.003145f, 0.007509f, 0.010440f, 0.006172f, 0.009221f, -0.006216f, -0.018240f, -0.011591f, -0.016425f, 0.006569f, 0.015050f, 0.012735f, 0.007932f, 0.015396f, 0.000211f, 0.009694f, 0.020464f, -0.016890f, 0.002902f, -0.007519f, -0.000099f, 0.006127f, 0.005978f, 0.010230f, -0.001083f, -0.020687f, -0.016308f, 0.003667f, -0.004737f, -0.005740f, -0.004159f, -0.004363f, -0.014473f, 0.001463f, 0.009512f, -0.000837f, 0.007205f, -0.004236f, -0.000557f, + -0.000601f, 0.003515f, 0.014389f, 0.009828f, 0.008850f, -0.008372f, 0.000683f, -0.005107f, 0.000792f, -0.013311f, 0.002852f, 0.001991f, 0.001642f, -0.000449f, -0.001391f, -0.003964f, 0.003498f, 0.010933f, -0.022344f, 0.002838f, -0.017126f, 0.007698f, -0.032617f, -0.000805f, -0.010888f, -0.016702f, 0.029931f, 0.017059f, -0.010817f, -0.026903f, -0.006933f, -0.009773f, -0.023684f, 0.018407f, 0.000866f, -0.016231f, -0.006177f, 0.009482f, -0.015547f, -0.010439f, -0.008229f, -0.018226f, -0.007142f, -0.000318f, -0.014921f, -0.013366f, 0.018701f, -0.006985f, -0.006013f, -0.001694f, -0.004348f, 0.016054f, -0.017884f, -0.008251f, 0.003602f, -0.004690f, -0.000168f, -0.003992f, 0.009085f, -0.016789f, 0.005837f, -0.026864f, 0.002579f, -0.007665f, -0.010899f, 0.028263f, 0.002771f, -0.010419f, 0.005218f, 0.005918f, -0.022970f, 0.015832f, -0.004033f, -0.004898f, -0.001905f, 0.009054f, -0.003952f, 0.000408f, -0.011103f, 0.005943f, 0.007210f, 0.012709f, -0.011170f, -0.028155f, 0.019460f, -0.002258f, 0.007917f, 0.009615f, -0.006034f, 0.005541f, 0.014326f, -0.018577f, 0.000785f, -0.006558f, -0.002236f, -0.019289f, + 0.006355f, -0.003020f, 0.000552f, -0.000510f, 0.002325f, -0.003274f, -0.003145f, 0.005270f, -0.005114f, 0.003804f, 0.000889f, -0.003659f, -0.042797f, -0.023422f, 0.005038f, -0.014837f, 0.001545f, -0.010650f, -0.005944f, -0.015746f, -0.011314f, 0.008342f, 0.023594f, 0.025365f, 0.003703f, 0.017976f, -0.012518f, 0.031202f, 0.022418f, -0.017826f, -0.016569f, 0.005390f, 0.004812f, 0.026411f, 0.009194f, 0.017004f, -0.006332f, 0.006971f, -0.003696f, -0.002546f, -0.005841f, 0.024705f, 0.010642f, 0.023673f, 0.020965f, 0.004343f, -0.001559f, -0.010098f, 0.009961f, -0.000974f, -0.021719f, -0.014025f, -0.004379f, -0.010816f, -0.002781f, -0.011125f, -0.010292f, 0.007004f, -0.003335f, -0.006953f, 0.017564f, 0.021315f, -0.012438f, -0.003809f, 0.028425f, 0.011963f, -0.019944f, -0.019059f, -0.007273f, 0.007501f, -0.001233f, -0.003357f, -0.014286f, 0.012029f, 0.003319f, -0.004317f, 0.002957f, 0.003472f, -0.017639f, -0.007401f, 0.001329f, -0.006307f, -0.008730f, -0.008864f, 0.023184f, -0.018195f, -0.016823f, 0.006998f, 0.011740f, 0.017401f, -0.009034f, -0.002571f, 0.001341f, -0.007696f, 0.007895f, -0.001019f, + 0.005849f, -0.004952f, -0.002446f, 0.001808f, 0.002080f, -0.002756f, -0.002909f, -0.000020f, -0.003485f, -0.016266f, -0.023662f, -0.020495f, -0.000084f, -0.016146f, -0.020566f, 0.005238f, -0.001690f, -0.028860f, 0.020635f, 0.003594f, -0.001671f, 0.010174f, 0.031758f, 0.030212f, 0.013129f, -0.037127f, 0.013842f, 0.009779f, -0.036250f, -0.000560f, -0.017465f, -0.008566f, 0.018778f, -0.022019f, 0.012826f, -0.000051f, -0.003712f, -0.007899f, 0.003839f, -0.001872f, 0.006359f, -0.004273f, -0.019388f, 0.018848f, 0.009003f, 0.022583f, -0.002294f, -0.007664f, -0.010880f, 0.009123f, -0.009800f, 0.026682f, 0.005685f, 0.016014f, -0.020760f, 0.016549f, 0.000702f, 0.005838f, -0.013457f, 0.004508f, -0.015994f, -0.002564f, -0.016409f, 0.006703f, 0.011443f, -0.021895f, 0.000941f, -0.018044f, 0.008489f, 0.010616f, 0.010419f, -0.001445f, -0.030853f, 0.000039f, 0.008213f, -0.002685f, 0.013789f, -0.029589f, 0.007634f, -0.012321f, 0.004020f, -0.010443f, 0.002202f, 0.007626f, -0.003278f, -0.000128f, -0.003166f, -0.003861f, 0.001232f, -0.007986f, 0.010072f, 0.002242f, -0.000204f, -0.012721f, -0.001127f, 0.001321f, + -0.000860f, 0.005314f, -0.005433f, 0.001205f, -0.000530f, -0.002818f, 0.044466f, 0.053939f, 0.022562f, 0.018807f, -0.031097f, 0.029911f, 0.043427f, -0.047516f, 0.005686f, 0.030817f, 0.005365f, -0.056675f, -0.005658f, -0.030767f, 0.009932f, 0.011272f, -0.014326f, -0.005609f, 0.010335f, -0.026024f, -0.002078f, -0.010197f, -0.012786f, 0.005076f, -0.019737f, 0.021259f, 0.015155f, 0.027494f, -0.013621f, 0.004492f, -0.002970f, -0.011217f, 0.034715f, -0.000689f, -0.015980f, -0.007557f, 0.007499f, -0.007488f, -0.009094f, -0.010679f, 0.017658f, 0.006548f, 0.024549f, -0.001755f, 0.008998f, 0.032210f, -0.020452f, 0.004260f, -0.013890f, 0.025552f, -0.010053f, 0.011942f, 0.005066f, -0.001043f, -0.009699f, -0.018241f, -0.012328f, 0.005108f, 0.023099f, -0.021773f, 0.019487f, 0.023030f, 0.011579f, 0.026918f, -0.013182f, -0.010752f, 0.017543f, -0.003077f, -0.003280f, -0.024899f, -0.001588f, -0.020551f, 0.004200f, 0.025946f, 0.012732f, 0.006502f, 0.011896f, 0.007045f, -0.011184f, -0.005082f, -0.019519f, 0.022007f, 0.000906f, -0.008817f, 0.005809f, 0.001933f, -0.010270f, 0.005306f, -0.001490f, 0.006268f, + -0.001081f, 0.009539f, 0.004570f, -0.020755f, -0.070541f, -0.029626f, -0.050720f, -0.027433f, -0.021674f, 0.011671f, -0.032556f, -0.033326f, -0.015911f, -0.044524f, -0.014452f, 0.033482f, -0.001014f, 0.001273f, -0.009057f, -0.007935f, -0.004197f, 0.002988f, -0.000535f, -0.029843f, -0.004724f, -0.005946f, 0.043177f, -0.005663f, 0.038390f, 0.003046f, -0.010322f, 0.009916f, 0.031607f, -0.001710f, 0.000330f, -0.012794f, -0.003714f, -0.013425f, 0.007515f, -0.005714f, -0.011357f, 0.005665f, -0.015343f, 0.012400f, 0.012668f, 0.002384f, 0.027677f, -0.012603f, 0.014108f, -0.011787f, 0.015570f, 0.010459f, 0.029159f, 0.003919f, -0.011882f, 0.015606f, -0.001998f, -0.009840f, 0.037033f, -0.002833f, -0.002234f, 0.021261f, 0.006579f, 0.028649f, -0.022369f, -0.021900f, -0.003326f, -0.009526f, -0.003010f, -0.035388f, -0.008032f, 0.012189f, -0.004793f, -0.015267f, -0.024849f, 0.001620f, 0.007596f, -0.012489f, -0.011902f, -0.021669f, -0.007699f, 0.009124f, 0.009470f, 0.019083f, -0.003070f, -0.001814f, -0.000682f, 0.006336f, 0.007641f, 0.001251f, 0.012120f, 0.003293f, 0.001303f, -0.001670f, -0.001156f, 0.008641f, + -0.003709f, 0.008541f, 0.009661f, -0.000451f, 0.002867f}, + {-0.005166f, 0.002777f, -0.001458f, 0.001697f, -0.001015f, 0.001427f, -0.003001f, 0.000132f, -0.000123f, -0.000344f, 0.000687f, 0.001488f, -0.000057f, -0.000145f, -0.001647f, -0.000658f, 0.000702f, 0.000404f, -0.000199f, 0.000646f, -0.000205f, 0.000225f, -0.000746f, -0.000506f, -0.000510f, -0.000173f, 0.000065f, -0.000381f, -0.000271f, 0.000876f, -0.000517f, 0.000533f, -0.000509f, -0.000087f, -0.000399f, 0.000489f, 0.000176f, 0.000403f, 0.000686f, 0.000866f, 0.000322f, 0.000234f, -0.000082f, 0.000097f, 0.000130f, -0.000180f, 0.000167f, 0.001825f, -0.002088f, -0.000278f, -0.000385f, -0.000517f, 0.000336f, -0.001035f, 0.000350f, -0.000023f, 0.000470f, 0.000415f, -0.000824f, -0.000291f, 0.001252f, -0.000130f, 0.000266f, -0.000232f, 0.000543f, 0.001151f, 0.001328f, 0.000227f, 0.000571f, -0.000019f, -0.001052f, -0.000031f, 0.000112f, -0.000227f, 0.000002f, 0.000579f, -0.000605f, -0.000810f, 0.000351f, -0.000391f, -0.000364f, -0.000568f, -0.000028f, 0.000598f, 0.000148f, -0.000177f, -0.000219f, -0.000238f, -0.000006f, 0.000133f, -0.000323f, 0.000118f, -0.000368f, 0.000221f, -0.005242f, -0.003704f, + -0.001828f, -0.001355f, -0.001061f, -0.001067f, -0.000385f, -0.000786f, -0.000260f, -0.000491f, -0.001307f, 0.000258f, 0.000648f, -0.000100f, 0.000364f, -0.000243f, -0.000685f, -0.000667f, -0.001028f, -0.000341f, 0.000230f, 0.000035f, -0.000585f, 0.000389f, -0.000705f, -0.000676f, 0.000432f, 0.000003f, 0.000007f, 0.000362f, 0.000391f, 0.000110f, -0.000173f, -0.000200f, -0.000284f, 0.000140f, 0.000055f, -0.000355f, 0.000175f, -0.000709f, -0.000323f, -0.000176f, -0.000091f, -0.000506f, -0.000120f, -0.000187f, -0.000029f, -0.007463f, -0.000969f, 0.000546f, 0.000141f, 0.000514f, 0.000089f, -0.000437f, 0.000300f, -0.000343f, -0.000320f, -0.000694f, -0.000532f, 0.000243f, -0.000179f, 0.000447f, -0.000427f, -0.000019f, -0.000412f, 0.000113f, 0.000785f, -0.000224f, 0.000592f, 0.000005f, -0.000486f, -0.000130f, 0.000715f, 0.000318f, 0.000476f, 0.000479f, -0.000682f, 0.000455f, -0.000260f, -0.000084f, -0.000354f, -0.000210f, 0.000239f, 0.000283f, 0.000197f, -0.000198f, 0.000583f, 0.000452f, 0.000318f, -0.000190f, -0.000325f, 0.000025f, -0.000262f, 0.000035f, 0.008778f, 0.006959f, 0.001669f, 0.003106f, + 0.000771f, 0.002399f, 0.001717f, 0.000506f, 0.001729f, 0.000670f, 0.001317f, 0.000547f, -0.000449f, 0.001287f, 0.000939f, -0.000369f, -0.000095f, -0.002431f, -0.000237f, 0.000112f, 0.001499f, 0.000157f, 0.000082f, 0.000742f, 0.000085f, 0.000671f, 0.000652f, 0.000092f, -0.000024f, 0.000232f, 0.001034f, 0.000765f, 0.000677f, -0.000070f, -0.000231f, 0.000038f, 0.000496f, -0.000180f, -0.000020f, 0.000519f, 0.000202f, -0.000261f, 0.000018f, 0.000111f, -0.000483f, 0.000642f, -0.000343f, 0.015464f, 0.005588f, 0.002784f, 0.001564f, 0.001043f, 0.000942f, 0.001001f, 0.001520f, 0.000444f, 0.002515f, 0.000411f, 0.000181f, 0.001164f, -0.000655f, 0.000327f, -0.000322f, -0.000214f, -0.000481f, 0.001715f, 0.000857f, -0.000069f, 0.001204f, -0.000797f, -0.000273f, -0.000235f, 0.001890f, -0.000111f, 0.000646f, 0.000226f, 0.000901f, 0.000239f, -0.000333f, 0.000576f, 0.000603f, -0.000224f, 0.000183f, 0.000345f, 0.000127f, 0.000475f, -0.000176f, 0.000534f, 0.000363f, -0.001167f, 0.000227f, 0.000229f, 0.000193f, 0.000939f, 0.005980f, -0.004442f, -0.001466f, -0.002094f, -0.001192f, -0.001274f, + 0.000876f, -0.000760f, -0.001761f, -0.000532f, -0.002364f, -0.000644f, -0.000995f, -0.002402f, -0.000532f, 0.000445f, -0.001414f, -0.000572f, 0.000283f, -0.001723f, -0.000020f, 0.001808f, 0.000477f, 0.000186f, -0.000816f, -0.000051f, 0.000711f, -0.000075f, -0.000748f, -0.000935f, 0.000918f, -0.000169f, -0.001076f, 0.000011f, -0.000430f, 0.001281f, 0.000008f, 0.000523f, -0.000175f, 0.001091f, -0.000737f, 0.000376f, 0.000204f, 0.000176f, 0.000059f, 0.000202f, 0.000010f, -0.000487f, 0.000769f, 0.000455f, 0.000074f, -0.016298f, -0.009124f, -0.001940f, -0.002232f, -0.001638f, -0.001946f, -0.002891f, -0.000207f, 0.000006f, -0.000778f, 0.000635f, -0.000720f, 0.000045f, -0.000034f, -0.001002f, -0.000979f, -0.001691f, -0.000524f, 0.001514f, -0.001475f, -0.000250f, 0.001476f, 0.000839f, -0.000197f, 0.000448f, -0.000183f, -0.001647f, -0.000754f, -0.001368f, -0.000414f, -0.000025f, -0.000302f, 0.000659f, -0.001355f, -0.001172f, -0.000030f, -0.001421f, -0.001019f, -0.001032f, -0.001086f, 0.001060f, -0.000334f, -0.001497f, -0.000444f, 0.000291f, 0.000438f, -0.000570f, -0.000720f, -0.000420f, -0.001341f, -0.000727f, + -0.010118f, 0.005877f, 0.001985f, 0.001096f, 0.000824f, 0.001033f, 0.000282f, -0.000905f, 0.000129f, -0.000473f, -0.000334f, 0.001945f, 0.000943f, 0.001699f, 0.001427f, 0.001787f, -0.001499f, 0.000852f, 0.001603f, 0.000448f, 0.001379f, -0.001630f, 0.000199f, -0.000285f, -0.000262f, -0.000503f, 0.000505f, -0.000062f, -0.000110f, 0.001758f, -0.001772f, -0.000322f, 0.000489f, 0.001088f, -0.000561f, 0.000937f, -0.000781f, -0.000897f, 0.001146f, -0.000459f, -0.000185f, -0.000177f, 0.000353f, 0.000019f, 0.000460f, -0.000452f, -0.000370f, -0.000391f, -0.000285f, -0.000317f, 0.000826f, 0.000277f, 0.000181f, -0.000399f, -0.000835f, 0.000239f, 0.000841f, 0.000237f, 0.014904f, 0.005981f, 0.001374f, 0.003293f, 0.002737f, 0.000428f, 0.001276f, 0.003112f, 0.001553f, -0.000160f, 0.000780f, 0.000315f, -0.000374f, 0.000833f, 0.002845f, 0.000564f, 0.003378f, 0.001514f, -0.002601f, 0.000428f, 0.000197f, 0.000480f, 0.002523f, 0.001289f, 0.001078f, -0.000287f, -0.000274f, -0.000401f, -0.000305f, 0.000306f, -0.000426f, 0.000737f, 0.000349f, 0.001030f, -0.000116f, -0.000349f, 0.000511f, 0.000831f, + 0.000598f, -0.000162f, -0.001076f, -0.000563f, -0.000548f, 0.000999f, 0.000879f, 0.001137f, 0.000774f, 0.000122f, 0.000286f, 0.000967f, 0.000924f, 0.000619f, 0.000224f, 0.000102f, 0.000627f, 0.000495f, 0.000392f, 0.000788f, 0.016626f, 0.004672f, 0.002144f, 0.002513f, 0.000502f, 0.002426f, -0.000329f, -0.001030f, 0.000023f, 0.000569f, 0.000344f, -0.000149f, 0.000553f, 0.002479f, -0.000297f, -0.001665f, -0.001038f, 0.001166f, 0.000395f, 0.001372f, 0.002362f, 0.001933f, -0.000056f, 0.001267f, -0.001370f, 0.000095f, -0.001046f, 0.001472f, 0.000961f, -0.001794f, 0.001091f, -0.000884f, 0.000203f, -0.000724f, 0.001105f, -0.000698f, 0.001366f, 0.000969f, 0.000911f, 0.001605f, 0.000624f, -0.000086f, -0.000325f, -0.000046f, 0.000306f, 0.001787f, 0.000032f, 0.000001f, 0.000212f, 0.000844f, 0.000674f, 0.000025f, -0.000146f, -0.000309f, -0.000888f, -0.000207f, -0.000662f, -0.000288f, 0.002370f, -0.007128f, -0.002776f, -0.001228f, -0.001527f, -0.000819f, -0.000522f, 0.000022f, 0.001094f, -0.001116f, -0.001820f, 0.001692f, -0.002204f, -0.002269f, -0.000316f, -0.000594f, 0.001079f, -0.000708f, + 0.000036f, -0.002197f, -0.001175f, -0.002633f, -0.002711f, -0.003199f, -0.000348f, 0.000633f, -0.002090f, -0.000676f, 0.000393f, 0.000141f, 0.000177f, -0.000372f, -0.002071f, -0.001432f, 0.001018f, 0.000268f, -0.000420f, 0.001945f, -0.001283f, -0.000708f, 0.000590f, 0.001155f, 0.001102f, -0.000272f, -0.000228f, 0.000396f, 0.000383f, -0.001417f, 0.000202f, -0.000872f, -0.000271f, 0.000006f, -0.000454f, -0.000023f, 0.000982f, 0.000103f, -0.000105f, 0.000130f, -0.000916f, 0.000512f, 0.000898f, -0.000271f, 0.000042f, 0.000021f, -0.000082f, -0.018036f, -0.005625f, -0.003441f, -0.001370f, -0.002487f, -0.001914f, -0.000616f, -0.001355f, -0.000622f, -0.001822f, -0.002555f, -0.001759f, -0.000656f, -0.003683f, -0.000933f, -0.001476f, -0.002299f, -0.000240f, 0.000346f, 0.001250f, -0.001363f, -0.001822f, -0.000730f, 0.001564f, 0.001917f, 0.002441f, 0.001247f, -0.000030f, -0.001229f, -0.000504f, -0.000028f, -0.001429f, 0.000571f, 0.001030f, 0.001213f, -0.000818f, -0.000770f, -0.000646f, -0.000376f, -0.000254f, -0.000553f, 0.001005f, -0.000322f, 0.000664f, -0.001281f, -0.002119f, -0.000943f, -0.000049f, 0.001042f, + -0.001830f, 0.000580f, -0.000861f, 0.000839f, -0.000877f, 0.000486f, -0.000728f, -0.000078f, -0.000462f, -0.000089f, 0.000349f, 0.000650f, -0.000435f, -0.000662f, 0.000011f, -0.000660f, -0.010341f, 0.002760f, 0.000758f, 0.000016f, 0.001803f, -0.001732f, 0.000455f, -0.003992f, -0.001310f, 0.001392f, 0.000973f, 0.002579f, -0.000201f, 0.002812f, -0.001652f, -0.000414f, 0.001332f, -0.002447f, -0.000912f, -0.001441f, 0.002726f, -0.000177f, -0.002287f, 0.001139f, 0.002168f, -0.001948f, -0.001499f, -0.001756f, 0.000488f, -0.000416f, 0.000924f, -0.000679f, -0.000575f, -0.000480f, -0.001082f, 0.001536f, -0.001267f, 0.000288f, 0.000992f, -0.000141f, 0.001149f, -0.000694f, 0.002540f, 0.000369f, -0.000282f, -0.000915f, -0.000916f, 0.000020f, -0.001051f, -0.001272f, -0.000803f, 0.000179f, 0.000850f, -0.000144f, 0.000215f, -0.001115f, -0.001121f, -0.001581f, -0.000647f, -0.000522f, -0.000436f, 0.000417f, 0.000612f, -0.000656f, 0.000073f, 0.008914f, 0.012856f, 0.004397f, 0.004487f, 0.006054f, 0.004435f, -0.000642f, 0.000925f, -0.000499f, 0.000876f, 0.000726f, 0.001179f, 0.000806f, 0.002256f, 0.000823f, + 0.001442f, 0.000414f, 0.004398f, 0.001001f, 0.002199f, 0.001246f, 0.001196f, 0.003401f, 0.000894f, 0.004266f, 0.002297f, -0.000871f, 0.003107f, 0.000788f, 0.001581f, 0.003013f, 0.000713f, 0.001795f, -0.000814f, -0.000310f, 0.000955f, 0.001359f, -0.001733f, 0.001579f, -0.000954f, -0.001996f, -0.001066f, 0.001664f, 0.002602f, 0.001892f, -0.000243f, 0.000618f, 0.000696f, 0.000940f, 0.001431f, 0.000762f, 0.001604f, 0.000907f, -0.001287f, -0.000029f, 0.001166f, 0.001443f, 0.000558f, 0.000477f, 0.000383f, -0.001408f, -0.000447f, -0.000866f, 0.000946f, -0.000058f, 0.030960f, 0.002186f, -0.001423f, 0.002340f, -0.001531f, 0.003349f, 0.001196f, 0.003524f, -0.001662f, 0.000211f, 0.000163f, 0.002066f, -0.003741f, 0.000629f, 0.002648f, -0.000659f, -0.000425f, 0.003088f, 0.005208f, -0.002234f, -0.001022f, 0.000490f, 0.002654f, -0.001240f, 0.001780f, -0.000042f, -0.001474f, -0.001482f, -0.001143f, 0.000950f, 0.001697f, 0.001652f, -0.001116f, 0.001837f, -0.001101f, 0.001782f, 0.001876f, -0.000553f, -0.000969f, 0.000539f, -0.001657f, -0.002692f, 0.000748f, -0.001875f, 0.000901f, 0.000073f, + 0.000461f, 0.000993f, 0.000164f, 0.001230f, 0.000275f, -0.001856f, 0.000885f, -0.000559f, 0.001023f, -0.001381f, -0.000065f, 0.000102f, 0.001077f, -0.000796f, -0.002026f, -0.000471f, -0.000771f, 0.000106f, -0.000574f, -0.010499f, -0.010216f, -0.002303f, 0.000777f, -0.000447f, -0.001556f, -0.001660f, -0.002299f, -0.000608f, 0.001667f, -0.000552f, -0.000598f, -0.002353f, 0.002451f, -0.000151f, -0.002061f, -0.001764f, 0.004262f, -0.003894f, 0.000373f, 0.002832f, -0.000366f, 0.000457f, -0.003779f, 0.001183f, -0.001640f, 0.000882f, -0.002640f, -0.001719f, 0.000392f, 0.000676f, -0.001254f, -0.001382f, 0.000092f, -0.000577f, 0.000148f, -0.001614f, -0.000942f, 0.001649f, -0.000223f, -0.000802f, -0.000514f, 0.002101f, 0.000895f, -0.001229f, -0.001888f, -0.001658f, 0.000508f, -0.000273f, -0.000823f, 0.000157f, 0.000304f, -0.000923f, 0.002472f, 0.001344f, -0.000310f, -0.000218f, -0.000703f, 0.000280f, -0.000784f, -0.000756f, -0.000808f, -0.000171f, -0.001474f, -0.001154f, -0.001963f, 0.000419f, -0.002098f, -0.000100f, -0.000568f, -0.000524f, -0.000162f, -0.004201f, -0.003437f, -0.004322f, -0.002947f, -0.002311f, + -0.001382f, 0.000234f, 0.000055f, -0.001167f, -0.000327f, 0.000911f, 0.003762f, -0.003295f, 0.001703f, -0.001171f, -0.001916f, 0.002482f, -0.000121f, 0.000412f, 0.003495f, 0.000400f, 0.001530f, -0.002229f, -0.000403f, -0.006297f, -0.000605f, 0.001076f, 0.000870f, 0.000439f, 0.000732f, 0.000776f, -0.001271f, -0.001953f, 0.001523f, -0.000258f, 0.001445f, 0.000581f, -0.001531f, 0.001256f, -0.000031f, -0.004489f, -0.003514f, -0.000700f, -0.003320f, 0.000353f, 0.001174f, -0.000326f, -0.000776f, -0.000485f, 0.000257f, -0.001101f, -0.000215f, -0.000290f, -0.000494f, 0.000973f, 0.000385f, 0.000261f, -0.000516f, -0.000535f, 0.001787f, 0.000352f, -0.000998f, 0.001080f, -0.000175f, -0.000875f, -0.001688f, -0.000043f, -0.000878f, -0.000391f, 0.001348f, 0.000921f, 0.001427f, -0.020065f, -0.004566f, 0.000290f, -0.003982f, 0.001604f, 0.000406f, 0.004806f, -0.002245f, 0.000280f, -0.001316f, 0.003219f, -0.006571f, -0.006318f, 0.002667f, -0.003065f, 0.004753f, 0.001712f, -0.003807f, -0.006690f, -0.000146f, -0.001898f, -0.003237f, -0.001336f, 0.000770f, 0.001076f, -0.001560f, 0.005717f, 0.000314f, -0.000575f, + -0.002386f, 0.001943f, 0.002175f, 0.002329f, 0.002517f, -0.000317f, -0.001479f, -0.000568f, 0.001491f, -0.000122f, 0.001798f, -0.001691f, -0.000656f, -0.000585f, 0.002082f, 0.001661f, -0.001811f, 0.002353f, -0.001308f, -0.001648f, 0.000209f, -0.000752f, -0.001555f, 0.001605f, -0.001842f, -0.000250f, 0.000477f, -0.000452f, -0.000747f, 0.000418f, 0.001554f, -0.000964f, 0.001491f, -0.001231f, 0.001003f, -0.000685f, -0.000761f, -0.000484f, 0.000306f, 0.001913f, 0.000354f, 0.001792f, -0.001134f, 0.018393f, 0.016168f, 0.003379f, 0.004326f, -0.000861f, 0.005289f, 0.004234f, 0.005328f, -0.000217f, 0.002147f, 0.001286f, -0.004980f, -0.004224f, 0.002336f, 0.000458f, -0.003560f, -0.003774f, -0.002093f, 0.000249f, 0.002164f, 0.000635f, 0.005072f, 0.004621f, 0.002045f, -0.001058f, -0.001095f, 0.003063f, 0.002886f, 0.000236f, 0.002534f, -0.000800f, 0.003233f, 0.000190f, -0.000657f, 0.004464f, 0.002353f, 0.003664f, 0.002396f, 0.000816f, 0.002601f, 0.001302f, 0.000931f, 0.002386f, -0.001257f, 0.000490f, 0.003196f, -0.000017f, -0.001983f, 0.001888f, 0.001906f, 0.001348f, -0.001377f, -0.000018f, + 0.001887f, 0.002784f, -0.001332f, 0.003363f, 0.003874f, -0.000644f, -0.002014f, 0.000376f, 0.000934f, 0.000615f, 0.001733f, 0.000015f, 0.000658f, 0.001318f, -0.000870f, 0.000118f, -0.001261f, -0.000311f, -0.001721f, -0.000995f, -0.000157f, 0.022348f, 0.001788f, -0.000599f, 0.001545f, 0.001111f, -0.003689f, 0.000991f, 0.000966f, 0.000037f, 0.002349f, 0.003446f, 0.005074f, -0.002241f, -0.002335f, -0.003570f, -0.002944f, 0.003328f, -0.000284f, 0.004790f, -0.001169f, -0.001118f, 0.001936f, 0.004167f, 0.001618f, -0.004114f, 0.003261f, -0.001176f, 0.002604f, -0.001334f, 0.002016f, -0.002463f, 0.001511f, -0.000164f, 0.002371f, 0.000328f, 0.001342f, 0.000772f, -0.004232f, -0.002277f, -0.000415f, -0.000814f, -0.000418f, -0.001275f, 0.002007f, 0.000809f, 0.004315f, -0.000634f, -0.002992f, -0.001693f, -0.000321f, 0.000297f, -0.003325f, 0.001151f, -0.001146f, -0.000110f, -0.000343f, -0.001892f, 0.001734f, 0.003395f, -0.001080f, 0.001765f, 0.000378f, -0.001849f, -0.000202f, -0.001758f, -0.001518f, 0.000337f, -0.002653f, -0.001833f, 0.001075f, -0.000099f, 0.000566f, 0.001840f, -0.002513f, 0.003004f, + 0.000318f, -0.001230f, -0.002986f, 0.000865f, -0.001091f, 0.006436f, -0.001530f, -0.006161f, -0.004151f, -0.005555f, 0.005139f, -0.004106f, 0.001146f, 0.006260f, -0.000268f, -0.006368f, 0.000445f, -0.006684f, 0.005572f, -0.001943f, 0.005554f, 0.000032f, -0.002102f, 0.004766f, 0.000187f, 0.000989f, -0.003579f, -0.004534f, -0.000720f, 0.001595f, 0.000984f, -0.000885f, -0.002082f, 0.002110f, -0.000637f, 0.001577f, 0.002433f, 0.002946f, 0.001371f, 0.001631f, -0.005964f, 0.000501f, -0.001346f, -0.002039f, 0.000827f, 0.002964f, -0.002486f, -0.004584f, -0.002017f, 0.001348f, 0.000531f, -0.004027f, -0.001635f, 0.001884f, 0.002758f, -0.002419f, -0.001569f, -0.001860f, 0.002822f, 0.003740f, 0.000763f, -0.001253f, 0.000432f, 0.002681f, -0.001275f, -0.000101f, -0.001751f, 0.001882f, -0.002193f, -0.000253f, 0.002619f, 0.001568f, -0.000753f, -0.000392f, -0.000057f, -0.000836f, -0.022501f, -0.022823f, -0.003685f, -0.011196f, -0.006928f, -0.003984f, -0.006195f, -0.000771f, 0.004691f, -0.010243f, 0.003744f, -0.002111f, 0.003416f, 0.000571f, 0.002096f, -0.004260f, 0.001083f, -0.000552f, -0.002207f, -0.009400f, + -0.001907f, -0.004899f, -0.005960f, -0.000645f, 0.001510f, 0.000294f, -0.002026f, 0.001275f, -0.001923f, -0.000595f, 0.004983f, -0.000131f, -0.001658f, 0.000284f, 0.003260f, 0.004353f, 0.002936f, -0.000025f, 0.002344f, 0.002681f, -0.000265f, -0.000003f, -0.004872f, 0.001761f, -0.004027f, 0.000724f, 0.003882f, -0.002705f, -0.004877f, 0.001378f, -0.002737f, -0.002647f, 0.000538f, -0.000072f, -0.002313f, 0.001089f, -0.000551f, 0.005221f, 0.002948f, 0.001573f, 0.000647f, 0.001892f, -0.000195f, 0.000545f, -0.002075f, -0.003762f, -0.000619f, 0.000284f, -0.002665f, -0.001884f, -0.001465f, -0.001284f, -0.001512f, 0.000793f, -0.000779f, -0.000268f, -0.001677f, -0.013398f, 0.024884f, 0.019499f, 0.001239f, 0.003955f, 0.001601f, 0.004314f, 0.006626f, 0.001497f, 0.006438f, 0.001143f, -0.006725f, 0.004481f, 0.005435f, 0.001593f, 0.001647f, 0.004034f, 0.005358f, -0.005341f, 0.004476f, -0.002823f, 0.003937f, 0.000575f, -0.003198f, 0.000616f, 0.004451f, 0.002494f, -0.005201f, 0.002529f, -0.002099f, 0.007607f, -0.000588f, 0.001768f, -0.001119f, -0.004929f, 0.005014f, 0.004913f, 0.002411f, 0.001242f, + -0.000158f, 0.001759f, 0.005322f, 0.001208f, 0.003826f, 0.000457f, 0.002682f, 0.001410f, -0.000277f, 0.002831f, -0.003368f, -0.005366f, -0.002278f, -0.004096f, -0.003382f, -0.001786f, -0.003474f, 0.004768f, 0.003480f, 0.000402f, -0.000772f, -0.001718f, -0.000477f, -0.000137f, 0.000123f, 0.000224f, 0.000754f, 0.000989f, 0.000642f, -0.000110f, -0.001171f, -0.001084f, -0.000087f, -0.000109f, -0.000365f, 0.000531f, -0.000459f, 0.002877f, -0.000553f, 0.003782f, 0.033419f, -0.013149f, -0.006961f, 0.001105f, 0.000038f, -0.001752f, -0.009136f, -0.004053f, 0.002477f, -0.000550f, -0.001208f, -0.001910f, 0.001542f, -0.007704f, -0.002053f, 0.003854f, 0.007529f, 0.003943f, 0.003445f, -0.002470f, -0.002128f, -0.004476f, 0.005233f, -0.007304f, -0.001135f, 0.001691f, -0.004626f, 0.001463f, 0.002167f, 0.005710f, -0.008749f, -0.000841f, -0.000032f, -0.001929f, 0.002483f, -0.008310f, -0.004162f, 0.008954f, 0.006081f, 0.001148f, -0.001426f, 0.005311f, -0.001456f, -0.000792f, 0.001135f, 0.004134f, 0.002563f, -0.002705f, 0.000684f, -0.001618f, 0.003592f, -0.005630f, -0.002366f, -0.003446f, -0.003398f, 0.006685f, + 0.001989f, 0.000750f, -0.002862f, -0.000342f, -0.000884f, -0.001287f, -0.003006f, 0.000414f, -0.002843f, -0.000218f, 0.001156f, 0.002520f, -0.004381f, -0.003217f, -0.003857f, -0.001308f, 0.002284f, 0.000289f, 0.002990f, -0.000474f, -0.003575f, -0.000483f, -0.001541f, 0.001636f, -0.000033f, 0.009935f, 0.022752f, 0.003781f, 0.008659f, 0.007896f, 0.007502f, 0.002558f, 0.005600f, 0.003511f, -0.001668f, -0.004585f, -0.002971f, -0.001294f, 0.006420f, -0.005471f, -0.006137f, -0.000376f, -0.000309f, -0.002455f, -0.004704f, 0.013858f, 0.012947f, 0.009811f, 0.000452f, -0.005530f, 0.000962f, 0.000971f, -0.002806f, 0.003225f, 0.002011f, 0.005620f, 0.000625f, 0.002322f, -0.000289f, -0.003790f, 0.006295f, 0.005284f, 0.003755f, -0.000857f, -0.005030f, 0.000355f, -0.000405f, -0.001351f, -0.010251f, 0.007420f, -0.004681f, 0.008550f, 0.000466f, 0.004646f, -0.000994f, 0.005119f, 0.007684f, 0.001587f, -0.003502f, -0.000211f, 0.001396f, -0.002492f, 0.001338f, -0.000938f, -0.003287f, -0.001743f, 0.001055f, -0.000747f, 0.003212f, 0.001191f, -0.005480f, 0.000395f, -0.000767f, -0.005831f, -0.001400f, 0.001246f, + -0.002255f, 0.000694f, 0.004972f, 0.002098f, -0.000308f, -0.001679f, -0.001343f, 0.000155f, 0.002159f, -0.000552f, 0.002391f, -0.023949f, -0.003160f, -0.014936f, 0.000185f, 0.002606f, -0.005048f, -0.008744f, -0.010074f, -0.009588f, -0.005648f, -0.007824f, -0.001898f, -0.000553f, -0.002002f, 0.002482f, -0.001542f, 0.000484f, 0.006137f, 0.002725f, -0.000593f, 0.014463f, -0.003169f, 0.002876f, -0.002107f, 0.001189f, 0.002115f, 0.000744f, -0.000803f, 0.002101f, 0.006795f, 0.002014f, 0.002412f, 0.000732f, 0.002724f, 0.005701f, 0.007906f, 0.002453f, 0.009591f, -0.002595f, -0.008253f, 0.008314f, -0.002639f, -0.001787f, -0.001676f, 0.004687f, 0.007327f, 0.005486f, -0.000136f, -0.001934f, -0.004185f, -0.010714f, 0.006584f, 0.007442f, 0.005295f, -0.006413f, 0.003864f, 0.000962f, -0.000640f, 0.006018f, 0.001026f, 0.004030f, -0.003380f, 0.001947f, -0.004214f, -0.000443f, 0.003657f, -0.001104f, 0.002750f, -0.000619f, -0.001540f, -0.001544f, -0.005135f, 0.000478f, 0.000383f, -0.000083f, 0.000985f, -0.001179f, -0.006337f, 0.000440f, 0.000328f, -0.041941f, -0.018736f, 0.008461f, -0.001572f, -0.001498f, + 0.001551f, -0.005310f, -0.004546f, -0.001640f, -0.002019f, -0.007398f, 0.005236f, 0.000501f, 0.011005f, -0.006185f, -0.005197f, -0.009020f, -0.004953f, -0.009287f, 0.000808f, 0.003306f, -0.013710f, 0.008808f, 0.007696f, -0.001165f, 0.001580f, 0.005714f, 0.000913f, 0.005019f, -0.010376f, -0.010571f, -0.005770f, -0.006958f, -0.005247f, 0.016940f, 0.005602f, -0.003821f, -0.006051f, -0.008786f, 0.004186f, 0.002266f, -0.004080f, 0.003322f, 0.003410f, -0.006220f, 0.000629f, 0.001297f, 0.004893f, -0.005782f, 0.014065f, -0.006214f, -0.004842f, 0.002111f, -0.001458f, -0.000154f, -0.004169f, -0.001670f, 0.000487f, 0.008825f, -0.002715f, 0.012751f, 0.002785f, 0.000758f, 0.001482f, 0.003348f, -0.003801f, -0.001464f, -0.005014f, -0.004171f, -0.003832f, -0.000096f, 0.006961f, -0.004584f, -0.003261f, -0.001985f, -0.002535f, -0.002487f, -0.000247f, -0.001672f, -0.002336f, -0.002177f, 0.006619f, 0.021172f, 0.010894f, 0.006759f, 0.004600f, -0.007446f, 0.000766f, -0.006021f, 0.009430f, -0.001014f, -0.001234f, 0.003211f, 0.002094f, 0.002200f, -0.000258f, 0.003332f, 0.001226f, 0.003519f, -0.002862f, 0.009219f, + 0.001274f, -0.000817f, 0.027629f, 0.001525f, -0.002069f, -0.007040f, 0.004150f, -0.006545f, 0.006203f, 0.014891f, -0.001119f, 0.003669f, 0.003714f, -0.007622f, -0.008507f, 0.000288f, 0.000236f, 0.006563f, -0.004176f, 0.000270f, -0.000393f, 0.004847f, 0.005018f, 0.008316f, 0.003177f, 0.002910f, 0.003497f, 0.000389f, 0.005531f, 0.002587f, -0.009981f, 0.002196f, -0.005107f, -0.012860f, -0.001039f, 0.003678f, 0.000148f, 0.001130f, -0.001631f, 0.000303f, -0.000328f, -0.000012f, 0.001714f, 0.000341f, 0.005972f, -0.003462f, -0.000454f, 0.001208f, 0.001333f, 0.000237f, -0.002159f, 0.004135f, 0.007013f, 0.006842f, 0.001526f, -0.001359f, -0.000584f, 0.002488f, -0.000209f, -0.000770f, -0.000024f, 0.001417f, 0.003311f, -0.000472f, -0.001109f, -0.002193f, -0.001286f, 0.031256f, -0.009270f, -0.003203f, -0.008638f, 0.015845f, 0.005526f, 0.001516f, 0.002944f, -0.002055f, -0.003870f, 0.005727f, 0.000287f, -0.005189f, 0.001182f, -0.006915f, -0.005630f, 0.000588f, -0.007460f, 0.001219f, 0.002147f, -0.005115f, -0.009627f, 0.001134f, 0.000292f, 0.006611f, 0.010250f, 0.007534f, -0.005117f, 0.000167f, + 0.006288f, 0.012113f, -0.012636f, 0.004937f, -0.002539f, 0.000043f, -0.005876f, -0.007721f, 0.000475f, 0.007407f, 0.001899f, 0.003457f, 0.004319f, -0.000241f, 0.002820f, -0.000460f, 0.001962f, 0.004850f, -0.008491f, -0.005553f, 0.012699f, -0.000766f, -0.000594f, -0.002658f, 0.004958f, 0.016953f, 0.003988f, 0.002780f, 0.005226f, -0.004129f, -0.005149f, 0.000269f, -0.003890f, -0.009295f, 0.005972f, 0.001061f, -0.004951f, 0.002899f, 0.001254f, -0.002435f, -0.004671f, 0.006363f, -0.002274f, -0.006985f, 0.003221f, 0.003648f, 0.004963f, -0.004781f, 0.000297f, 0.002502f, -0.001059f, -0.001647f, 0.007531f, -0.000329f, 0.001251f, -0.003131f, -0.000614f, 0.000198f, 0.026628f, 0.024975f, -0.008036f, 0.006723f, 0.002206f, 0.005199f, 0.013610f, -0.001778f, -0.006886f, -0.002580f, 0.026164f, -0.014733f, -0.002630f, -0.007354f, -0.005653f, -0.011953f, 0.013169f, -0.003855f, -0.017524f, -0.013279f, -0.015972f, -0.006282f, 0.014461f, -0.001787f, 0.006919f, -0.002609f, -0.007124f, 0.006293f, 0.002062f, 0.007993f, -0.007589f, 0.007108f, 0.005896f, 0.002879f, 0.003510f, -0.012770f, 0.003861f, -0.010666f, + 0.009178f, 0.018934f, 0.005706f, 0.005661f, -0.011868f, 0.016956f, 0.004760f, -0.001804f, -0.002416f, -0.003480f, 0.005543f, 0.008470f, 0.002288f, -0.002003f, -0.000271f, 0.002278f, -0.003884f, -0.002957f, -0.003726f, -0.003072f, -0.000092f, 0.006211f, -0.003936f, 0.009292f, 0.003583f, 0.005684f, -0.001695f, -0.013344f, -0.008705f, 0.003395f, 0.001146f, -0.003982f, 0.005217f, -0.000250f, -0.000214f, 0.002685f, -0.001631f, 0.003910f, -0.000419f, -0.000448f, 0.002149f, -0.002300f, -0.000154f, -0.002486f, -0.001255f, -0.003119f, 0.002302f, 0.000170f, 0.000917f, -0.024712f, -0.015086f, 0.003785f, 0.001720f, 0.000062f, -0.011201f, 0.006691f, 0.003420f, -0.006424f, -0.018185f, 0.014807f, 0.003326f, 0.005604f, 0.008009f, 0.005042f, -0.002629f, 0.002829f, -0.004801f, 0.012303f, -0.010407f, -0.017374f, -0.000867f, -0.000747f, -0.008597f, -0.018908f, 0.000300f, -0.003802f, -0.010302f, -0.005414f, -0.003437f, 0.004349f, 0.000407f, 0.007074f, 0.013685f, -0.005878f, -0.011884f, 0.003711f, -0.001677f, 0.000200f, 0.005408f, -0.008147f, -0.007818f, -0.000965f, 0.006430f, -0.008828f, 0.007044f, -0.002515f, + 0.013892f, -0.001995f, -0.004802f, -0.001643f, -0.000269f, 0.002875f, -0.016626f, 0.002374f, -0.014437f, 0.014424f, -0.000299f, 0.009055f, 0.005022f, -0.005507f, -0.001085f, -0.007308f, 0.003210f, -0.000796f, 0.002465f, 0.002689f, -0.010074f, -0.001488f, -0.009736f, -0.004146f, 0.003782f, -0.002863f, -0.006131f, 0.002715f, -0.000481f, -0.009723f, -0.005180f, 0.000994f, -0.000071f, -0.004044f, 0.003822f, -0.002220f, -0.002897f, 0.002011f, -0.006244f, 0.002987f, -0.034937f, -0.015514f, -0.006217f, -0.003464f, -0.001472f, 0.004012f, -0.012417f, -0.008237f, 0.002779f, -0.009691f, 0.002776f, -0.010808f, -0.003900f, -0.010437f, -0.013474f, 0.014223f, 0.005341f, 0.002470f, -0.001224f, -0.011029f, -0.019748f, 0.010049f, -0.025775f, 0.009596f, -0.000015f, -0.007744f, 0.000945f, -0.004654f, 0.001551f, 0.018074f, -0.009290f, -0.000553f, -0.019463f, 0.015393f, -0.004821f, 0.007222f, -0.007108f, -0.001851f, -0.001942f, -0.000326f, 0.008491f, 0.003447f, 0.018107f, 0.022625f, -0.002724f, 0.000721f, -0.007743f, 0.001216f, -0.003254f, 0.003865f, 0.006695f, 0.001273f, 0.015701f, 0.004953f, -0.006371f, 0.002969f, + 0.002950f, 0.000494f, -0.001520f, 0.000904f, 0.011846f, -0.008724f, -0.018788f, -0.007153f, -0.000111f, 0.004746f, 0.002813f, 0.009658f, -0.001315f, 0.004359f, -0.005047f, -0.006995f, -0.010636f, -0.007784f, 0.000313f, -0.002217f, 0.004615f, 0.001737f, -0.003208f, -0.000876f, 0.008439f, 0.000271f, 0.004517f, -0.001702f, 0.001295f, -0.001729f, -0.002412f, -0.003283f, 0.043903f, 0.019745f, 0.013478f, 0.005734f, -0.005106f, -0.007898f, -0.013827f, 0.007722f, 0.013073f, 0.005546f, -0.006254f, 0.015646f, 0.008658f, 0.015644f, 0.000968f, -0.011128f, -0.004449f, 0.023438f, -0.024435f, -0.004890f, 0.016017f, -0.009424f, -0.005432f, 0.037787f, -0.004807f, 0.010886f, 0.034078f, -0.005362f, -0.002325f, -0.000878f, 0.004169f, -0.001772f, 0.014735f, 0.009649f, 0.012133f, -0.008515f, -0.020250f, 0.008192f, -0.008032f, 0.009821f, -0.003851f, 0.003650f, 0.014314f, 0.008463f, 0.000776f, 0.006460f, 0.002851f, 0.006227f, 0.013840f, 0.007975f, -0.001545f, 0.013657f, 0.005606f, 0.002069f, 0.003156f, 0.025041f, 0.014878f, 0.000175f, 0.013512f, -0.005839f, 0.017098f, -0.004126f, 0.003728f, -0.004720f, + 0.002001f, 0.009982f, -0.005503f, -0.000238f, -0.001022f, 0.003569f, 0.000333f, -0.006280f, 0.000212f, -0.005354f, -0.009904f, 0.001816f, -0.013168f, 0.005269f, 0.008008f, -0.003125f, -0.005660f, -0.003604f, 0.007012f, 0.002259f, 0.000341f, -0.002772f, 0.056917f, 0.025537f, -0.011372f, 0.004836f, 0.029473f, 0.000566f, 0.021322f, -0.006350f, 0.008515f, 0.017542f, -0.013175f, 0.001487f, 0.030960f, 0.027568f, 0.022674f, 0.007843f, 0.019493f, 0.003141f, 0.017107f, 0.005803f, 0.005274f, -0.010725f, -0.012318f, -0.017833f, -0.034965f, 0.011076f, 0.000557f, -0.009643f, -0.003217f, 0.012035f, -0.007836f, -0.001318f, 0.001515f, 0.006720f, -0.030961f, -0.005140f, 0.022719f, 0.017274f, -0.006134f, 0.011378f, 0.009955f, 0.006255f, -0.003664f, -0.007334f, -0.002991f, -0.004967f, -0.002999f, -0.011592f, -0.009612f, 0.007866f, -0.019229f, 0.006316f, 0.016055f, -0.004813f, -0.011192f, -0.017774f, 0.016738f, -0.000613f, -0.008220f, -0.005568f, -0.003668f, -0.006159f, 0.003650f, -0.002892f, -0.006007f, 0.006210f, 0.025974f, -0.012990f, -0.007600f, 0.003210f, -0.004856f, 0.005874f, 0.000398f, 0.013227f, + 0.002734f, -0.001377f, -0.000952f, -0.013907f, -0.006362f, -0.002228f, 0.001343f, 0.000989f, 0.005113f, 0.002981f, 0.000742f, 0.002147f, 0.002739f, 0.008082f, 0.000842f, 0.000152f, -0.005127f, 0.001741f, -0.022542f, -0.006151f, -0.027072f, -0.005754f, -0.027053f, 0.013070f, -0.025778f, 0.013934f, -0.004551f, -0.014747f, -0.004596f, -0.006837f, 0.031312f, 0.004999f, -0.022976f, 0.000570f, -0.015034f, -0.011648f, 0.015383f, -0.017327f, -0.016237f, -0.018089f, 0.027314f, -0.003546f, 0.018005f, -0.027729f, -0.014942f, 0.011242f, -0.013070f, 0.010733f, 0.030254f, 0.020079f, 0.018696f, 0.003376f, -0.003286f, -0.014558f, -0.020998f, -0.000952f, 0.004597f, -0.019227f, 0.000369f, -0.011257f, 0.005561f, 0.008746f, -0.022243f, -0.018669f, -0.034826f, -0.005253f, 0.002355f, -0.014764f, -0.021546f, 0.021389f, 0.001053f, 0.021968f, 0.021337f, -0.002425f, -0.003042f, -0.008474f, 0.012306f, 0.010882f, 0.001527f, 0.005487f, -0.001757f, -0.000878f, 0.010417f, -0.002531f, -0.012207f, -0.009154f, -0.015365f, -0.012679f, -0.004766f, -0.000366f, -0.002101f, -0.019191f, -0.011251f, 0.006566f, 0.001491f, -0.006668f, + 0.008386f, -0.001456f, 0.000459f, 0.013389f, 0.010887f, 0.007246f, 0.002808f, 0.008673f, 0.001288f, 0.000488f, 0.003942f, 0.003035f, -0.037991f, -0.006940f, 0.003707f, -0.003871f, 0.000388f, 0.010041f, -0.008156f, 0.008892f, 0.009066f, -0.006385f, 0.012155f, -0.016764f, 0.020925f, 0.013791f, 0.001036f, -0.015468f, 0.001550f, 0.009715f, -0.044448f, 0.008954f, 0.018593f, -0.032406f, 0.013530f, -0.016756f, -0.023194f, -0.021781f, 0.011225f, -0.005698f, -0.033101f, 0.017632f, 0.009947f, -0.020581f, -0.033494f, 0.006507f, 0.004322f, -0.010990f, -0.002127f, -0.017722f, 0.016675f, 0.013156f, 0.024110f, -0.019371f, 0.003433f, -0.025616f, -0.009228f, 0.004019f, -0.015835f, 0.006382f, -0.001672f, -0.013032f, -0.018742f, -0.020963f, 0.030495f, -0.020673f, -0.009278f, -0.007996f, 0.001601f, 0.013510f, 0.008553f, 0.009760f, 0.000442f, 0.011478f, -0.003641f, 0.001544f, -0.004679f, -0.012849f, 0.002806f, 0.026427f, 0.004494f, 0.000268f, 0.000237f, -0.017599f, 0.011563f, 0.017663f, 0.019143f, 0.003405f, 0.001744f, -0.001176f, -0.001157f, 0.002364f, 0.000715f, -0.008937f, 0.000158f, 0.001370f, + 0.001609f, -0.000229f, 0.000524f, 0.006289f, -0.001956f, 0.000489f, -0.001327f, -0.000010f, 0.011944f, -0.025428f, -0.013543f, -0.026851f, 0.007633f, -0.004749f, 0.010650f, -0.007298f, 0.005038f, 0.008825f, -0.009013f, -0.015317f, 0.022883f, -0.005979f, -0.010222f, 0.026633f, -0.005490f, -0.006169f, 0.030394f, -0.017558f, 0.004464f, 0.007477f, 0.002360f, -0.026778f, 0.000079f, -0.003876f, -0.016127f, 0.009252f, -0.012671f, 0.017097f, -0.003012f, 0.019027f, -0.020786f, 0.012960f, -0.036798f, 0.000449f, -0.020080f, 0.022446f, -0.003458f, 0.003107f, -0.003862f, -0.020373f, -0.001487f, 0.017838f, 0.046950f, 0.003514f, 0.002950f, 0.010026f, 0.016046f, -0.002673f, -0.004524f, 0.001519f, -0.000807f, 0.041346f, -0.003744f, 0.006415f, 0.016580f, -0.016038f, -0.027509f, 0.000143f, -0.029072f, -0.003512f, -0.014926f, -0.010648f, -0.005833f, -0.012215f, 0.006907f, 0.010293f, -0.016932f, 0.021433f, 0.017757f, -0.002478f, -0.004397f, -0.017400f, 0.012198f, 0.004392f, 0.011571f, -0.009725f, 0.004786f, -0.001839f, 0.008753f, 0.001073f, 0.008469f, -0.004240f, 0.006212f, -0.000982f, 0.000156f, 0.002134f, + 0.009607f, 0.004670f, 0.002946f, -0.003091f, 0.000250f, 0.000951f, 0.044314f, 0.048143f, 0.000407f, -0.014868f, -0.011826f, 0.040307f, -0.026501f, -0.030345f, 0.031527f, -0.028671f, 0.018434f, 0.005511f, 0.025511f, 0.023396f, 0.015893f, 0.002458f, -0.016028f, -0.013958f, 0.033093f, -0.014138f, -0.001401f, 0.007970f, 0.028193f, 0.040680f, -0.001226f, 0.027758f, -0.022798f, -0.023926f, 0.002705f, -0.008905f, 0.013172f, 0.008237f, -0.020332f, 0.002668f, 0.012944f, 0.033431f, 0.011451f, 0.013636f, 0.012624f, 0.014891f, 0.003876f, -0.001291f, 0.021296f, 0.003632f, 0.017033f, 0.027146f, 0.005701f, -0.011328f, -0.009510f, 0.024456f, 0.006450f, 0.050289f, 0.011778f, 0.019749f, -0.020550f, -0.032446f, -0.003101f, -0.037865f, -0.024179f, -0.008728f, -0.012901f, 0.001296f, -0.001916f, 0.000179f, 0.000526f, -0.028350f, -0.023368f, -0.012469f, -0.024131f, 0.008697f, 0.009595f, -0.007430f, -0.001867f, -0.022526f, -0.003514f, 0.006479f, -0.006378f, -0.002050f, 0.002293f, -0.014266f, 0.005913f, -0.004473f, 0.001693f, 0.002380f, 0.000086f, 0.000839f, 0.003072f, -0.003506f, 0.000531f, 0.003161f, + -0.000127f, 0.000656f, 0.000958f, -0.021049f, -0.074011f, -0.030558f, -0.060400f, -0.013558f, -0.021114f, -0.008540f, 0.005511f, -0.019813f, -0.023982f, -0.038366f, -0.030493f, 0.027259f, -0.004844f, -0.024409f, -0.025928f, 0.005871f, -0.034505f, -0.048697f, 0.008047f, -0.011337f, -0.010427f, -0.010467f, 0.009378f, -0.029024f, 0.030558f, -0.017759f, 0.020760f, -0.014447f, -0.013858f, 0.000338f, 0.016772f, -0.023665f, -0.022591f, 0.012137f, -0.004260f, 0.033434f, -0.014631f, 0.019165f, 0.028836f, 0.013706f, -0.010477f, -0.004783f, -0.002989f, 0.023649f, -0.008272f, 0.015882f, 0.031926f, -0.026792f, -0.046736f, -0.018402f, 0.015888f, 0.019470f, -0.022037f, 0.036317f, -0.011659f, -0.013109f, -0.004357f, -0.003960f, -0.011213f, -0.029378f, -0.012396f, -0.030354f, -0.029055f, -0.018001f, 0.021498f, 0.005089f, -0.005130f, 0.001988f, 0.033225f, 0.031204f, 0.002242f, -0.014392f, 0.005985f, -0.003233f, 0.013707f, 0.004324f, -0.005912f, -0.013698f, -0.001190f, -0.002712f, -0.021764f, -0.005600f, 0.008350f, 0.022686f, -0.010079f, 0.000076f, 0.008688f, -0.012663f, -0.000348f, -0.000824f, 0.000437f, -0.006566f, + 0.008540f, 0.000569f, 0.002267f, -0.000988f, 0.001342f} +}; + +/********************** Sample Rate = 32000 **********************/ + +const float CRendBin_Combined_BRIR_latency_s_32kHz = 0.000145833328133f; +const int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz = 22; +const uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]={{22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22}, {22, 22} }; +const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS] = {40, 40}; +const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][22]={{{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 137, 134, 129, 128, 160},{115, 117, 117, 120, 112, 118, 121, 130, 126, 130, 136, 127, 133, 135, 132, 133, 129, 137, 134, 129, 128, 160}},{{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 139, 133, 131, 128, 160},{121, 106, 119, 113, 120, 123, 114, 126, 123, 125, 127, 128, 127, 134, 132, 130, 129, 139, 133, 131, 128, 160}},{{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 128, 160},{113, 103, 116, 104, 123, 123, 122, 124, 130, 128, 132, 131, 131, 132, 130, 132, 130, 135, 137, 128, 128, 160}},{{102, 116, 116, 121, 116, 114, 115, 121, 125, 123, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 125, 160},{102, 116, 116, 121, 116, 114, 115, 121, 125, 123, 124, 130, 132, 122, 127, 131, 131, 135, 133, 124, 125, 160}},{{115, 115, 115, 119, 121, 119, 125, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 140, 146, 127, 131, 160},{115, 115, 115, 119, 121, 119, 125, 127, 123, 129, 122, 126, 128, 134, 130, 130, 131, 140, 146, 127, 131, 160}},{{112, 106, 118, 121, 115, 117, 129, 123, 128, 126, 130, 130, 131, 131, 130, 134, 133, 149, 130, 132, 126, 160},{112, 106, 118, 121, 115, 117, 129, 123, 128, 126, 130, 130, 131, 131, 130, 134, 133, 149, 130, 132, 126, 160}},{{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 124, 133, 130, 129, 134, 134, 135, 127, 120, 160},{107, 112, 110, 119, 114, 124, 121, 121, 132, 122, 131, 134, 124, 133, 130, 129, 134, 134, 135, 127, 120, 160}},{{110, 113, 123, 113, 121, 120, 120, 126, 131, 123, 128, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160},{110, 113, 123, 113, 121, 120, 120, 126, 131, 123, 128, 128, 132, 130, 132, 136, 133, 136, 135, 128, 124, 160}},{{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 127, 136, 128, 128, 127, 132, 132, 129, 125, 120, 160},{114, 101, 113, 113, 124, 126, 123, 128, 122, 127, 132, 127, 136, 128, 128, 127, 132, 132, 129, 125, 120, 160}},{{99, 100, 111, 117, 114, 114, 118, 116, 121, 124, 124, 121, 125, 130, 127, 132, 132, 130, 133, 128, 131, 160},{99, 100, 111, 117, 114, 114, 118, 116, 121, 124, 124, 121, 125, 130, 127, 132, 132, 130, 133, 128, 131, 160}},{{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 136, 128, 128, 160},{105, 93, 103, 108, 119, 110, 111, 114, 120, 121, 119, 122, 130, 128, 130, 131, 132, 131, 136, 128, 128, 160}},{{105, 100, 112, 114, 115, 108, 117, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 139, 153, 116, 160},{105, 100, 112, 114, 115, 108, 117, 120, 123, 117, 122, 129, 124, 128, 124, 132, 135, 131, 139, 153, 116, 160}},{{110, 106, 113, 110, 122, 116, 119, 125, 123, 128, 125, 127, 128, 127, 133, 130, 132, 132, 143, 155, 127, 160},{110, 106, 113, 110, 122, 116, 119, 125, 123, 128, 125, 127, 128, 127, 133, 130, 132, 132, 143, 155, 127, 160}},{{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 135, 127, 160},{102, 107, 110, 112, 115, 117, 117, 115, 120, 118, 127, 130, 130, 129, 126, 126, 125, 130, 141, 135, 127, 160}},{{110, 117, 106, 118, 118, 116, 121, 124, 128, 125, 122, 122, 126, 131, 124, 130, 133, 131, 139, 134, 131, 160},{110, 117, 106, 118, 118, 116, 121, 124, 128, 125, 122, 122, 126, 131, 124, 130, 133, 131, 139, 134, 131, 160}}}; +const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz = 97; +const float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[15]={0.224190f, 0.227445f, 0.241827f, 0.207131f, 0.218113f, 0.222941f, 0.232139f, 0.248192f, 0.249239f, 0.261572f, 0.246309f, 0.279145f, 0.285786f, 0.262528f, 0.271847f}; +const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]={{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 63, 63, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97},{47, 47, 47, 47, 47, 47, 50, 50, 56, 56, 56, 63, 63, 63, 63, 63, 72, 72, 72, 74, 74, 77, 77, 79, 81, 81, 81, 81, 87, 87, 87, 87, 87, 87, 93, 93, 93, 93, 93, 97}}; +const float CRendBin_Combined_BRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][2819]={ + { + {-0.009097f, 0.009352f, -0.003456f, 0.000006f, 0.008745f, -0.004992f, 0.003412f, -0.000642f, 0.001223f, -0.005946f, -0.012435f, -0.002568f, 0.004887f, -0.003199f, 0.002973f, 0.004305f, 0.003661f, -0.002738f, 0.002074f, -0.007701f, -0.001411f, 0.001920f, 0.003183f, -0.000267f, -0.000175f, 0.000950f, 0.001899f, -0.006450f, -0.005352f, 0.002251f, 0.004456f, -0.002233f, 0.004665f, 0.008899f, -0.011970f, 0.001696f, -0.005728f, -0.003886f, 0.002671f, -0.001493f, 0.007354f, -0.002285f, 0.006623f, 0.003476f, 0.001083f, -0.000478f, 0.003540f, 0.000208f, -0.000724f, -0.003736f, 0.010735f, -0.007457f, -0.002261f, 0.003771f, 0.004169f, -0.000190f, -0.003631f, 0.002061f, -0.004016f, 0.004162f, 0.000801f, 0.001514f, -0.000085f, -0.001427f, -0.001326f, 0.005561f, -0.014330f, 0.003361f, -0.001844f, -0.008319f, -0.001409f, 0.007005f, 0.003391f, 0.004349f, -0.006273f, 0.005044f, -0.002184f, 0.003171f, 0.001934f, 0.002467f, -0.002649f, 0.001045f, 0.003774f, -0.002504f, -0.005599f, 0.002282f, -0.005197f, 0.001002f, 0.003817f, -0.000006f, -0.001878f, -0.002174f, 0.001025f, 0.002039f, -0.000843f, 0.002450f, + 0.000116f, 0.001753f, 0.001513f, -0.000691f, -0.000354f, 0.000662f, -0.000808f, -0.000500f, -0.000626f, 0.000674f, -0.001121f, 0.000551f, -0.001643f, -0.000420f, -0.001540f, -0.000233f, -0.000483f, -0.001761f, -0.000375f, -0.016686f, 0.012962f, -0.006248f, 0.002887f, 0.002407f, 0.000392f, -0.003586f, -0.000290f, -0.009385f, -0.011673f, 0.003177f, -0.002238f, 0.003631f, 0.003683f, 0.010504f, -0.008595f, 0.001243f, 0.007167f, 0.006916f, -0.006970f, -0.007462f, -0.003932f, -0.006482f, 0.000619f, -0.002179f, -0.005008f, -0.003892f, 0.000057f, -0.011819f, -0.011237f, -0.002395f, 0.002281f, -0.001037f, 0.000974f, -0.001365f, 0.002603f, -0.006216f, 0.007200f, -0.002539f, 0.004117f, -0.000903f, 0.002921f, -0.005673f, 0.001963f, 0.003910f, 0.004776f, 0.002035f, 0.000950f, 0.001679f, -0.001985f, -0.004707f, 0.009579f, 0.007193f, 0.003065f, -0.003588f, 0.011869f, 0.007989f, -0.003324f, 0.007510f, -0.000563f, -0.005908f, -0.001409f, -0.002146f, -0.005218f, 0.003401f, 0.003979f, 0.001874f, -0.003996f, 0.008337f, -0.005486f, 0.004875f, 0.007106f, -0.001379f, 0.000769f, -0.010431f, -0.004571f, -0.011225f, + 0.001685f, 0.005305f, -0.005327f, -0.001630f, 0.002137f, -0.005093f, -0.001371f, 0.002447f, -0.000245f, 0.001748f, -0.001108f, -0.002723f, -0.007323f, -0.003635f, -0.001273f, -0.001799f, -0.000552f, -0.000181f, 0.000515f, -0.000938f, -0.001185f, -0.002732f, -0.001174f, 0.000053f, 0.000654f, 0.000557f, -0.001428f, -0.000279f, 0.000025f, 0.000369f, -0.000268f, 0.000382f, -0.000083f, 0.000718f, -0.000058f, -0.001357f, -0.002149f, -0.002330f, -0.000153f, -0.001394f, 0.000480f, 0.014048f, 0.006459f, -0.005328f, 0.002440f, 0.001881f, 0.022356f, -0.006525f, 0.006439f, 0.010931f, -0.002057f, 0.009953f, 0.004079f, 0.006793f, -0.008789f, -0.003213f, -0.010307f, -0.004726f, 0.007015f, -0.000138f, -0.004884f, 0.001245f, -0.007217f, -0.000503f, -0.004713f, 0.006695f, -0.002872f, -0.000847f, -0.002584f, 0.003590f, 0.001584f, 0.000145f, -0.000817f, 0.002960f, -0.010871f, -0.008335f, 0.003781f, 0.001067f, -0.001030f, -0.005462f, 0.013012f, 0.003795f, -0.001647f, 0.004357f, 0.005166f, 0.000076f, 0.002567f, 0.001287f, -0.006397f, 0.005884f, -0.007620f, -0.005711f, 0.006869f, -0.008086f, 0.007051f, 0.003221f, + -0.006147f, 0.010651f, 0.005728f, 0.004134f, -0.002878f, 0.009659f, 0.002243f, -0.001243f, -0.002785f, 0.002990f, 0.001121f, -0.001608f, -0.011321f, -0.001571f, -0.002217f, 0.003525f, -0.006658f, 0.009036f, -0.003137f, 0.007417f, -0.007705f, 0.000326f, -0.000825f, 0.009221f, -0.004292f, -0.002939f, 0.001645f, 0.003473f, -0.000135f, 0.001864f, -0.001422f, -0.008361f, -0.000967f, -0.000530f, -0.000461f, -0.001084f, -0.000186f, 0.000106f, -0.001175f, -0.001555f, -0.001756f, -0.001916f, 0.000130f, -0.000711f, 0.000020f, 0.001216f, -0.001432f, 0.000965f, 0.001103f, 0.002559f, -0.003017f, 0.002029f, 0.000884f, 0.001589f, -0.000201f, 0.002372f, 0.000857f, -0.001061f, -0.001843f, -0.000477f, -0.000884f, 0.023307f, -0.019323f, -0.016961f, -0.005456f, 0.017848f, -0.002478f, -0.009654f, 0.012225f, -0.008126f, 0.005783f, -0.000435f, -0.013281f, -0.009030f, 0.011224f, -0.007251f, 0.005568f, -0.007567f, 0.007422f, -0.003287f, -0.002039f, -0.000832f, -0.007313f, 0.003884f, 0.005385f, -0.007352f, 0.001824f, -0.003730f, 0.001539f, 0.003383f, -0.001055f, 0.004845f, 0.001481f, 0.003968f, 0.006278f, -0.008008f, + -0.005880f, 0.007274f, 0.000398f, 0.005654f, 0.005520f, -0.005070f, -0.007556f, -0.002993f, 0.001342f, 0.010011f, -0.010751f, 0.004484f, -0.012008f, -0.014637f, -0.003418f, -0.008354f, -0.001368f, -0.009903f, -0.018872f, -0.009978f, 0.008817f, 0.008242f, 0.005363f, -0.006256f, 0.018145f, -0.005527f, 0.003095f, -0.009965f, -0.009402f, 0.002534f, 0.000041f, -0.000873f, -0.011877f, -0.003848f, -0.000640f, -0.002364f, -0.002272f, -0.006373f, -0.005121f, 0.001371f, -0.001606f, -0.003473f, 0.000447f, -0.006173f, 0.001159f, 0.003593f, 0.006236f, 0.003502f, -0.005180f, 0.005546f, -0.003559f, -0.000294f, 0.006209f, 0.002664f, 0.000957f, -0.001968f, 0.003221f, 0.003684f, 0.002894f, 0.000682f, -0.001537f, 0.000594f, 0.004435f, 0.002309f, 0.002878f, 0.001260f, -0.001588f, 0.002398f, 0.000508f, -0.000215f, 0.000724f, -0.001193f, 0.000475f, 0.000698f, -0.001244f, 0.002461f, 0.003640f, 0.004276f, -0.000217f, -0.000267f, 0.000673f, -0.002669f, 0.003994f, -0.000209f, 0.002516f, 0.029839f, -0.009793f, 0.013953f, -0.003724f, 0.018754f, -0.003639f, -0.002925f, 0.003177f, 0.003763f, -0.003166f, -0.021609f, + 0.002141f, -0.002120f, -0.005725f, -0.000372f, -0.001011f, 0.007632f, -0.002440f, 0.018317f, -0.002401f, 0.002024f, -0.001288f, 0.010339f, -0.002012f, 0.003532f, -0.008557f, -0.000384f, -0.005866f, -0.006215f, -0.001723f, -0.001845f, 0.000114f, 0.006599f, -0.011752f, -0.003569f, 0.004042f, -0.001448f, 0.008197f, 0.001780f, -0.002025f, -0.005511f, -0.005336f, -0.005851f, -0.010745f, 0.003957f, 0.004611f, 0.003922f, -0.018758f, -0.002878f, 0.013313f, 0.007335f, -0.002971f, -0.000712f, -0.005781f, -0.013033f, -0.013649f, 0.013532f, -0.004179f, -0.009299f, -0.005085f, 0.007293f, 0.005949f, 0.000549f, 0.006664f, 0.002615f, 0.006445f, -0.003291f, -0.013385f, -0.004703f, -0.006013f, -0.006975f, 0.009908f, 0.006405f, -0.001069f, 0.010871f, 0.016481f, -0.004045f, 0.006999f, -0.006485f, -0.000789f, -0.000014f, 0.007189f, -0.000676f, 0.001816f, 0.001518f, 0.002245f, 0.005573f, -0.005637f, 0.004347f, -0.002922f, 0.000345f, -0.003585f, 0.000511f, 0.001914f, 0.003945f, 0.002952f, -0.000179f, 0.001066f, 0.000161f, -0.000429f, 0.001998f, -0.005321f, -0.000836f, -0.004246f, 0.000901f, -0.000756f, -0.000762f, + -0.001856f, -0.001197f, -0.002213f, 0.002304f, 0.001127f, -0.044753f, 0.024465f, 0.008854f, -0.002148f, -0.002075f, 0.000034f, -0.006890f, -0.012530f, -0.002791f, 0.005996f, 0.018819f, 0.012621f, -0.017324f, -0.003374f, -0.010343f, 0.006930f, -0.000965f, -0.023360f, -0.006958f, 0.014211f, 0.008738f, 0.004810f, 0.012027f, 0.007266f, -0.001326f, -0.001603f, 0.003491f, -0.008933f, -0.005324f, 0.001973f, 0.010481f, -0.004518f, -0.008975f, -0.012930f, -0.006564f, 0.006362f, 0.020733f, 0.001386f, -0.003730f, 0.004355f, -0.004373f, -0.015493f, 0.001069f, -0.010953f, -0.008655f, -0.010224f, 0.006257f, -0.000676f, -0.014552f, 0.002648f, 0.005404f, 0.005605f, -0.015737f, -0.008743f, -0.005910f, -0.003945f, -0.001785f, -0.005846f, -0.002878f, -0.007541f, -0.015277f, -0.001834f, -0.012986f, -0.015558f, -0.009682f, -0.002802f, 0.002593f, -0.009286f, -0.013695f, 0.003954f, 0.010847f, -0.000635f, -0.002087f, -0.001360f, 0.007868f, -0.011950f, 0.008802f, 0.013967f, 0.013556f, 0.010683f, 0.018260f, 0.000169f, -0.007639f, 0.004878f, 0.000740f, -0.002003f, -0.001789f, -0.000041f, -0.004267f, 0.006007f, 0.000230f, + 0.000397f, -0.003811f, -0.001084f, 0.001914f, 0.002231f, -0.002254f, -0.002039f, 0.001078f, 0.006204f, -0.000898f, 0.002326f, 0.002028f, 0.005298f, -0.004424f, 0.000225f, -0.000174f, -0.004877f, 0.000647f, 0.000623f, 0.004007f, 0.000402f, 0.000760f, 0.003470f, 0.002140f, -0.006062f, 0.002171f, -0.002198f, -0.018482f, 0.006963f, -0.009145f, -0.001585f, 0.002406f, 0.005445f, -0.000770f, 0.009545f, 0.000229f, -0.001932f, -0.025922f, 0.012005f, -0.004823f, -0.005515f, 0.009292f, -0.015030f, -0.020661f, 0.008419f, -0.007245f, -0.009694f, -0.003066f, 0.018637f, 0.011719f, -0.006835f, -0.004033f, 0.008664f, -0.002592f, -0.000943f, 0.002502f, 0.008455f, 0.015532f, 0.009881f, 0.012566f, -0.001944f, -0.000553f, 0.000291f, -0.008295f, 0.002101f, -0.003500f, 0.021145f, -0.016187f, -0.009391f, -0.008566f, -0.008028f, 0.005083f, 0.002852f, 0.007573f, -0.001278f, -0.010694f, -0.014329f, -0.004146f, -0.017836f, -0.024828f, -0.004998f, 0.000665f, 0.019262f, 0.003815f, -0.015310f, -0.003933f, 0.014434f, -0.006136f, 0.004820f, 0.004344f, 0.008089f, -0.011497f, -0.017253f, -0.007630f, -0.008795f, 0.027799f, + 0.003080f, -0.008924f, 0.006025f, 0.004632f, -0.002079f, 0.003497f, 0.006333f, -0.000779f, 0.012313f, -0.016348f, -0.014665f, 0.004742f, -0.006790f, 0.014818f, -0.006885f, -0.000388f, 0.007942f, -0.002451f, 0.007032f, -0.000434f, -0.000391f, -0.000492f, -0.002439f, -0.000262f, 0.006323f, 0.002358f, 0.006142f, 0.003466f, 0.003048f, 0.000218f, -0.002298f, -0.001011f, 0.002551f, -0.000811f, 0.000748f, -0.001265f, 0.004399f, -0.003673f, 0.002546f, -0.003291f, 0.004436f, -0.004270f, 0.000373f, -0.000412f, -0.000494f, 0.003184f, 0.004179f, -0.004467f, 0.003091f, 0.001719f, -0.001533f, 0.006559f, 0.016041f, 0.005150f, -0.001196f, 0.011122f, -0.001968f, -0.013579f, -0.002434f, -0.001093f, 0.013608f, -0.007499f, -0.001710f, -0.004004f, 0.002291f, -0.004059f, 0.000941f, 0.004534f, 0.006483f, 0.009329f, 0.006133f, 0.003041f, 0.023777f, 0.009461f, 0.007885f, -0.000884f, -0.018570f, 0.001353f, -0.015452f, 0.004876f, -0.010446f, 0.002708f, 0.000140f, 0.006139f, 0.029216f, 0.008398f, -0.004430f, 0.010599f, -0.008142f, 0.009049f, -0.005019f, 0.015311f, -0.008205f, 0.000041f, -0.011328f, 0.007066f, + 0.011647f, -0.013426f, 0.027468f, -0.006604f, 0.002109f, -0.004096f, -0.007258f, 0.003055f, -0.008108f, -0.023353f, 0.004095f, -0.005770f, -0.001176f, -0.014378f, 0.003572f, -0.005013f, -0.024025f, -0.010821f, -0.006609f, -0.021237f, 0.012264f, 0.030905f, 0.037445f, -0.035418f, -0.026998f, -0.014920f, 0.001659f, 0.008987f, -0.010818f, 0.005221f, -0.012295f, 0.003413f, 0.017377f, 0.026700f, -0.018136f, 0.029882f, 0.009699f, 0.003628f, 0.005249f, 0.005519f, -0.006418f, 0.010357f, 0.009586f, 0.011523f, 0.008922f, 0.003821f, 0.013432f, 0.000216f, 0.004347f, -0.000086f, 0.000160f, 0.007340f, -0.001921f, -0.008514f, -0.002151f, 0.005841f, 0.004602f, 0.001959f, 0.000136f, -0.000382f, -0.000537f, 0.005890f, 0.004780f, 0.002192f, -0.004892f, 0.001475f, 0.001652f, 0.000269f, 0.006321f, 0.002841f, 0.004012f, 0.000158f, 0.004792f, 0.002827f, 0.004845f, 0.006582f, 0.006893f, 0.000619f, 0.000484f, -0.003153f, 0.007585f, 0.006764f, -0.000526f, -0.001819f, 0.000981f, 0.004936f, 0.013866f, -0.024887f, 0.037176f, 0.001191f, 0.021943f, 0.008217f, -0.007135f, -0.007383f, 0.020361f, -0.011327f, + 0.013017f, 0.015959f, -0.001587f, -0.010500f, 0.001037f, 0.016495f, 0.009470f, 0.008687f, 0.007593f, -0.001007f, 0.003002f, 0.005832f, 0.020791f, 0.014784f, -0.010475f, -0.008860f, -0.001250f, -0.004278f, -0.001850f, -0.010257f, -0.006727f, 0.010672f, 0.018375f, 0.005032f, 0.027511f, -0.007123f, 0.030044f, 0.001791f, 0.014357f, 0.033101f, 0.023522f, 0.007863f, 0.007068f, 0.015208f, -0.002836f, -0.012748f, 0.000306f, 0.014343f, -0.007625f, -0.014688f, 0.000944f, -0.001950f, 0.030228f, 0.024443f, 0.000074f, 0.034208f, -0.002631f, 0.018603f, 0.009949f, 0.014811f, -0.001514f, -0.011188f, 0.015508f, -0.002591f, 0.018078f, 0.012594f, 0.037808f, -0.020477f, -0.003247f, -0.041818f, 0.009346f, -0.020323f, -0.002477f, 0.019931f, -0.007628f, 0.008469f, -0.003128f, 0.023228f, -0.005640f, -0.015378f, -0.000845f, -0.004913f, 0.007163f, -0.000536f, 0.011380f, 0.013428f, 0.003778f, -0.002914f, 0.010604f, -0.001767f, 0.004787f, 0.000552f, -0.006448f, 0.005173f, 0.005126f, 0.009508f, 0.005032f, 0.010597f, 0.004868f, 0.000329f, 0.000744f, -0.002599f, 0.000469f, 0.010412f, -0.003186f, -0.006923f, + 0.004635f, 0.000002f, 0.001813f, 0.008637f, 0.002192f, 0.002531f, 0.003730f, 0.005935f, -0.001359f, -0.000429f, 0.003932f, 0.007126f, 0.010902f, 0.010267f, 0.000335f, 0.005176f, 0.000444f, 0.000135f, 0.004958f, 0.007415f, -0.024477f, -0.017953f, 0.008850f, -0.014496f, 0.008326f, -0.008728f, 0.002407f, 0.022576f, -0.003854f, -0.021222f, 0.005726f, -0.008884f, 0.021660f, -0.022671f, -0.015912f, 0.009306f, 0.010399f, 0.015904f, 0.000495f, -0.001509f, 0.010150f, -0.006157f, -0.015626f, 0.009724f, -0.006487f, -0.012325f, 0.003609f, 0.012220f, -0.009018f, 0.022910f, 0.009122f, -0.000746f, 0.002866f, 0.011269f, 0.004751f, -0.038899f, 0.015785f, -0.003904f, -0.004277f, -0.006635f, 0.020575f, 0.000219f, 0.021912f, 0.001022f, 0.001757f, 0.002535f, -0.006021f, -0.002266f, 0.010537f, -0.012378f, 0.002767f, 0.035558f, 0.002918f, 0.026185f, 0.001814f, -0.005174f, -0.003069f, -0.017419f, -0.036671f, -0.026410f, 0.011834f, 0.016880f, -0.007448f, 0.028054f, 0.011692f, -0.019760f, -0.011845f, 0.025719f, 0.017910f, 0.017118f, 0.004943f, -0.007652f, -0.000028f, -0.001190f, -0.015967f, -0.004627f, + -0.009454f, -0.042658f, -0.018726f, -0.000756f, 0.028515f, 0.006661f, -0.006958f, 0.003347f, 0.024425f, -0.005873f, 0.000946f, 0.000420f, 0.005950f, -0.007840f, -0.004215f, -0.005778f, -0.003817f, -0.001847f, 0.005607f, 0.000019f, -0.001410f, -0.000058f, 0.004304f, 0.004053f, 0.006903f, -0.004802f, -0.008407f, 0.003246f, -0.008883f, -0.004341f, 0.000690f, 0.003458f, 0.000601f, -0.001114f, 0.008498f, -0.003756f, -0.003053f, -0.009885f, 0.003501f, -0.008887f, 0.006923f, 0.003664f, 0.004446f, -0.007437f, 0.000270f, -0.000912f, 0.003392f, -0.004082f, 0.002538f, -0.003590f, 0.004438f, -0.008253f, -0.000159f, -0.009746f, 0.011320f, 0.023794f, 0.009362f, 0.008298f, 0.027246f, 0.022860f, 0.019159f, 0.001218f, 0.007433f, 0.001925f, -0.003866f, -0.004745f, 0.004868f, -0.001657f, -0.015557f, 0.003980f, 0.016210f, 0.000284f, -0.004057f, 0.005332f, -0.038708f, 0.013507f, -0.015132f, 0.010188f, 0.013753f, 0.012443f, -0.014241f, 0.008395f, -0.001041f, 0.000140f, 0.023677f, 0.017433f, 0.000703f, 0.009556f, 0.007203f, -0.002677f, -0.012778f, 0.003702f, 0.011801f, 0.000697f, 0.017004f, 0.005430f, + 0.015426f, 0.029956f, 0.002013f, 0.012380f, 0.013097f, 0.016290f, -0.000190f, -0.009635f, 0.025943f, -0.009367f, 0.021036f, -0.023727f, -0.019439f, 0.028405f, -0.000924f, 0.009720f, 0.016935f, 0.024852f, 0.031981f, 0.013781f, 0.004818f, -0.014879f, 0.007417f, -0.002648f, -0.027676f, 0.024406f, 0.015379f, -0.022545f, -0.000873f, 0.001945f, -0.028377f, 0.010218f, 0.023458f, 0.014080f, 0.000307f, 0.009340f, 0.006786f, -0.012934f, 0.025630f, 0.002931f, -0.004419f, 0.013468f, 0.025359f, 0.010281f, -0.000488f, -0.008161f, -0.006299f, -0.002459f, 0.004764f, 0.007534f, 0.010786f, 0.003875f, 0.002296f, 0.003735f, 0.012520f, 0.011247f, 0.013862f, 0.000356f, -0.000885f, 0.005825f, 0.011948f, 0.000570f, 0.001591f, -0.001759f, 0.005809f, 0.001471f, -0.000780f, -0.003778f, 0.003263f, -0.007697f, -0.014146f, -0.000136f, 0.008793f, 0.000323f, 0.006380f, -0.006467f, 0.005030f, 0.000854f, 0.005641f, 0.001333f, -0.003411f, 0.003875f, -0.002121f, -0.001630f, -0.000377f, -0.008346f, 0.006866f, -0.002730f, 0.003176f, 0.005475f, 0.000826f, -0.000727f, -0.003543f, -0.005212f, -0.065005f, -0.040450f, + 0.013101f, 0.013744f, 0.026582f, 0.044054f, -0.012250f, -0.006967f, -0.014164f, -0.013078f, -0.016696f, -0.017812f, 0.001320f, 0.007071f, 0.005455f, 0.027796f, 0.001080f, 0.027280f, -0.001524f, 0.009366f, 0.012495f, 0.009684f, 0.020177f, 0.014469f, 0.000865f, 0.017887f, -0.000394f, -0.002136f, -0.010491f, 0.012106f, -0.001812f, -0.026679f, -0.023255f, 0.014480f, -0.003536f, 0.031816f, 0.018794f, 0.020466f, 0.007363f, -0.040006f, 0.009432f, 0.025185f, -0.004082f, 0.007346f, -0.006360f, 0.005023f, 0.031374f, -0.001066f, 0.026249f, 0.044198f, 0.002232f, -0.016624f, -0.000732f, 0.000513f, -0.027987f, 0.037541f, 0.017586f, -0.004918f, -0.002423f, 0.027226f, 0.012507f, -0.032846f, -0.027110f, 0.010641f, -0.011980f, 0.015820f, 0.011032f, 0.005075f, -0.013371f, -0.023290f, -0.001478f, 0.006027f, 0.004034f, 0.025410f, -0.034360f, 0.005083f, -0.002716f, -0.028680f, -0.014143f, -0.028839f, 0.024873f, -0.008469f, 0.034536f, -0.027361f, 0.002115f, -0.013090f, 0.019417f, 0.008798f, -0.009064f, -0.001505f, 0.017836f, 0.001309f, 0.005231f, -0.010435f, -0.006142f, -0.008793f, 0.015722f, 0.008244f, + -0.000585f, 0.004505f, 0.004331f, -0.014684f, 0.000457f, -0.003992f, 0.004656f, 0.003310f, -0.003795f, -0.014994f, -0.005894f, -0.011016f, 0.012810f, -0.009764f, 0.001563f, -0.002461f, 0.012649f, -0.002582f, -0.002973f, -0.004496f, -0.008944f, -0.000255f, -0.006175f, 0.005526f, 0.013957f, 0.013018f, -0.001615f, -0.013130f, 0.016257f, 0.046031f, -0.054795f, -0.015334f, -0.026712f, -0.001129f, 0.008686f, 0.001445f, 0.036736f, -0.037918f, 0.017926f, -0.005184f, 0.007323f, -0.004598f, 0.020175f, -0.011133f, -0.018769f, -0.001579f, -0.005467f, 0.014250f, -0.001183f, 0.009631f, 0.021377f, -0.004459f, -0.016013f, -0.002155f, 0.024041f, -0.014154f, 0.005737f, 0.005394f, 0.000961f, -0.002196f, 0.023879f, -0.000916f, -0.006150f, -0.039885f, 0.012835f, -0.009881f, -0.025173f, -0.021926f, -0.005811f, -0.024305f, -0.014302f, -0.021109f, 0.010016f, -0.024909f, 0.024846f, -0.022865f, 0.015409f, -0.011825f, 0.030121f, -0.029190f, -0.016933f, -0.004417f, 0.017459f, 0.007159f, 0.000161f, -0.012030f, -0.023886f, 0.002402f, 0.009355f, 0.034095f, 0.017906f, 0.007419f, -0.019501f, 0.011581f, -0.017297f, -0.019556f, + 0.017053f, -0.018987f, 0.009048f, 0.022081f, 0.018466f, -0.004954f, -0.007034f, -0.015990f, 0.026626f, 0.002566f, 0.025484f, 0.041128f, -0.008039f, -0.021640f, -0.009630f, -0.007233f, -0.014814f, 0.006473f, -0.024599f, 0.010679f, 0.008047f, 0.007350f, 0.019485f, -0.013809f, 0.000739f, -0.002555f, 0.004954f, 0.017654f, 0.000534f, 0.013871f, -0.005033f, -0.000389f, 0.001767f, -0.007952f, -0.002806f, 0.008304f, 0.004438f, -0.011346f, -0.014721f, -0.007070f, 0.006520f, 0.005767f, -0.006459f, 0.020984f, 0.006182f, -0.015465f, 0.007771f, 0.011177f, 0.028078f, 0.022723f, 0.012800f, 0.004646f, 0.002721f, -0.011866f, -0.009218f, -0.000475f, -0.009341f, 0.001683f, -0.005415f, -0.017300f, 0.009500f, -0.005792f, -0.002395f, 0.001936f, 0.009362f, 0.000119f, 0.030661f, 0.042393f, -0.044507f, 0.033005f, 0.023048f, 0.001294f, 0.016634f, 0.056286f, -0.015629f, -0.015976f, 0.005473f, 0.016699f, 0.023445f, 0.007865f, -0.021756f, 0.024974f, -0.008965f, 0.049761f, -0.001164f, -0.007991f, 0.016181f, 0.013222f, 0.013034f, -0.000336f, 0.046674f, -0.038461f, 0.009574f, -0.000503f, 0.012915f, -0.015926f, + -0.032043f, 0.016214f, 0.012765f, 0.013264f, -0.011127f, -0.008363f, 0.039035f, 0.014796f, 0.049019f, 0.004677f, -0.017946f, -0.001733f, 0.011000f, -0.004041f, 0.050878f, -0.006174f, 0.027763f, -0.004708f, 0.045663f, 0.016815f, 0.012415f, -0.010831f, -0.002427f, 0.025283f, 0.000602f, 0.027059f, 0.020391f, 0.023939f, -0.031364f, 0.005280f, 0.022634f, 0.027287f, 0.020335f, 0.015724f, 0.036548f, 0.044926f, -0.033967f, -0.003854f, 0.068059f, -0.016098f, -0.018274f, 0.044205f, 0.059402f, 0.001362f, -0.000473f, -0.031834f, -0.026275f, -0.001485f, 0.029889f, -0.004103f, -0.005494f, 0.001607f, -0.002162f, -0.008005f, -0.022736f, -0.008086f, -0.001616f, -0.013263f, 0.001041f, 0.014105f, -0.007612f, 0.017968f, -0.017782f, 0.015874f, -0.003516f, 0.013863f, -0.013300f, 0.000725f, 0.010186f, 0.006181f, 0.017339f, -0.002772f, -0.008963f, -0.003735f, 0.005252f, 0.016020f, 0.004787f, -0.005343f, 0.021865f, -0.006488f, 0.011589f, 0.011787f, -0.001854f, -0.002140f, -0.004790f, 0.032029f, -0.011463f, 0.004371f, 0.008227f, 0.012100f, -0.005619f, -0.020285f, -0.011814f, -0.003288f, 0.024112f, 0.011919f, + -0.001677f, 0.001737f, 0.008657f, -0.001239f, 0.000413f, 0.008791f, 0.004623f, 0.002472f, 0.000332f, 0.018756f, 0.042068f, -0.002457f, 0.013214f, -0.035737f, 0.034261f, -0.018079f, -0.011070f, -0.031295f, -0.020217f, 0.064376f, 0.001025f, -0.045231f, -0.020063f, -0.001308f, 0.000317f, -0.005948f, 0.049872f, 0.023244f, -0.004101f, -0.020762f, -0.001826f, 0.013073f, -0.006006f, 0.066226f, 0.014240f, 0.029099f, 0.010205f, -0.014959f, -0.037343f, 0.008771f, -0.000257f, 0.005817f, -0.028885f, -0.003150f, -0.019445f, 0.022256f, 0.000323f, 0.003572f, 0.023383f, -0.021098f, -0.015186f, 0.004462f, 0.001229f, 0.006764f, -0.031878f, -0.025356f, -0.054766f, -0.028917f, 0.002599f, -0.031567f, 0.004453f, -0.022961f, -0.013403f, 0.040654f, 0.013095f, -0.020054f, 0.012492f, 0.004428f, 0.000098f, 0.039069f, -0.006460f, 0.047364f, 0.018487f, -0.020723f, -0.057804f, 0.009878f, 0.009552f, 0.031911f, -0.017089f, -0.042007f, -0.014567f, 0.011813f, 0.002389f, -0.010256f, -0.029719f, -0.009961f, -0.042116f, -0.048679f, 0.015442f, -0.003029f, 0.049885f, -0.016200f, -0.029845f, -0.026608f, -0.002068f, 0.034656f, + -0.001531f, 0.012516f, 0.022846f, 0.016815f, -0.007315f, 0.011008f, 0.015752f, 0.004710f, 0.016143f, 0.015026f, -0.010543f, -0.002033f, 0.022473f, -0.004833f, 0.003502f, 0.020516f, -0.003549f, 0.011970f, -0.015052f, 0.005562f, 0.012517f, -0.007590f, 0.007673f, 0.006385f, -0.014000f, 0.018701f, -0.017678f, 0.008748f, 0.010163f, 0.014707f, -0.003269f, -0.011092f, 0.021048f, -0.003318f, 0.015716f, -0.022516f, -0.010096f, -0.016717f, -0.012973f, 0.001378f, -0.010570f, 0.007656f, 0.001746f, 0.002788f, -0.021315f, 0.029972f, -0.033618f, -0.002208f, 0.050608f, -0.011133f, 0.014848f, 0.005080f, 0.006545f, -0.047812f, 0.039363f, -0.004158f, -0.038280f, -0.022549f, 0.019821f, -0.005934f, 0.009842f, -0.000483f, -0.015960f, -0.012031f, 0.006706f, -0.012054f, -0.002903f, -0.000932f, -0.055385f, -0.014714f, -0.037185f, 0.007919f, 0.013017f, -0.000611f, -0.016452f, 0.006275f, -0.007948f, 0.021383f, -0.049027f, 0.002991f, 0.008376f, 0.027681f, -0.021432f, 0.025768f, -0.021114f, 0.016289f, 0.004288f, 0.019980f, -0.032065f, 0.009475f, -0.015964f, -0.034229f, 0.021901f, -0.027758f, -0.055330f, 0.007803f, + -0.005330f, 0.043200f, -0.021155f, 0.005782f, 0.019834f, 0.028558f, 0.032517f, 0.003214f, -0.011360f, -0.020881f, 0.000491f, 0.015261f, 0.021356f, -0.043305f, 0.048015f, -0.000681f, -0.032699f, -0.024627f, -0.043454f, 0.017319f, 0.010336f, 0.016926f, 0.007444f, 0.045597f, -0.016484f, 0.049583f, -0.027259f, 0.011374f, -0.011189f, -0.023490f, -0.069716f, 0.038931f, 0.007322f, -0.018748f, -0.047395f, -0.003055f, 0.008555f, -0.004354f, 0.017071f, -0.013043f, -0.015383f, -0.002769f, 0.007144f, -0.013568f, -0.013301f, -0.008687f, -0.002670f, 0.006993f, -0.004343f, -0.004531f, -0.018957f, 0.013569f, 0.000191f, -0.010571f, 0.008313f, -0.007762f, 0.014181f, -0.004802f, 0.006956f, 0.009248f, 0.017569f, -0.006494f, 0.015922f, 0.001464f, 0.000611f, -0.017838f, -0.014046f, 0.003937f, 0.006276f, 0.002074f, 0.000612f, -0.003745f, -0.011783f, -0.006714f, -0.005772f, -0.012866f, -0.006091f, 0.021486f, -0.011291f, -0.012803f, 0.006435f, -0.027669f, -0.041013f, -0.000258f, 0.022477f, -0.009074f, -0.044410f, -0.007167f, -0.064857f, 0.031265f, -0.071667f, 0.042616f, -0.049573f, -0.043310f, 0.012227f, 0.036949f, + 0.027612f, -0.024736f, 0.025902f, 0.046507f, 0.008214f, 0.006825f, 0.010902f, 0.004059f, -0.027558f, 0.033307f, -0.056224f, -0.035047f, 0.003089f, -0.003639f, -0.003666f, -0.007631f, -0.014052f, 0.007327f, 0.051627f, 0.013192f, 0.007132f, 0.004666f, -0.024366f, 0.029832f, -0.005472f, -0.052183f, -0.008049f, 0.000931f, 0.001080f, -0.035764f, -0.025169f, 0.027180f, -0.008950f, 0.046775f, 0.008687f, -0.000164f, -0.038245f, -0.021154f, 0.014072f, 0.005865f, -0.010433f, 0.040041f, -0.031859f, -0.019555f, -0.001392f, -0.002561f, 0.037985f, 0.002882f, 0.044439f, -0.000195f, -0.036295f, 0.008833f, -0.030937f, 0.023378f, -0.004321f, 0.031931f, 0.060832f, -0.093788f, 0.031917f, 0.012744f, 0.017180f, 0.035217f, 0.008833f, -0.043129f, -0.009905f, -0.004104f, -0.007703f, 0.021726f, -0.043888f, 0.003962f, -0.011439f, -0.006464f, -0.030207f, -0.016484f, -0.045733f, 0.004905f, -0.002795f, 0.004521f, 0.012720f, -0.018795f, -0.003259f, 0.022062f, -0.013593f, 0.004174f, -0.007513f, -0.022773f, 0.010619f, 0.013456f, -0.015698f, -0.001855f, -0.024873f, -0.001656f, -0.036039f, 0.012821f, 0.009035f, -0.004699f, + 0.004032f, -0.009316f, 0.001683f, 0.007177f, -0.005631f, -0.006937f, 0.020843f, 0.025081f, -0.005495f, 0.008199f, 0.004265f, 0.025749f, 0.011729f, -0.032820f, 0.004537f, 0.018557f, -0.010435f, 0.018753f, 0.006328f, 0.008540f, 0.076646f, 0.066248f, -0.018868f, -0.025519f, -0.001450f, -0.050267f, 0.029464f, -0.002794f, 0.011154f, 0.003999f, -0.025392f, 0.076479f, -0.032767f, -0.134662f, -0.019666f, 0.026982f, -0.090661f, -0.015454f, 0.028441f, -0.076751f, 0.010712f, 0.050126f, -0.035277f, 0.050009f, -0.047882f, 0.042980f, 0.053243f, -0.033882f, 0.014529f, -0.004802f, 0.001193f, -0.014294f, -0.021013f, -0.003778f, 0.032780f, -0.021002f, -0.035101f, -0.019086f, -0.028262f, -0.002888f, -0.022179f, -0.003521f, 0.011759f, -0.005175f, 0.032009f, -0.028113f, -0.034650f, 0.027744f, -0.036655f, -0.054300f, -0.069750f, -0.024194f, -0.001642f, 0.013687f, 0.038895f, -0.016121f, 0.017442f, 0.018336f, -0.012785f, -0.005894f, 0.064075f, -0.042236f, -0.001625f, 0.043971f, 0.013604f, 0.034603f, -0.008610f, 0.012696f, 0.048649f, 0.025136f, -0.002640f, -0.005805f, -0.029980f, 0.012424f, 0.048932f, -0.045368f, + 0.034611f, -0.044894f, 0.013143f, 0.063794f, 0.014677f, -0.035628f, 0.036200f, 0.005885f, -0.022849f, -0.017704f, 0.043804f, 0.014556f, 0.018894f, -0.002503f, 0.003314f, 0.012154f, 0.014368f, -0.001168f, -0.004390f, 0.018772f, 0.016251f, 0.003564f, -0.021654f, 0.023973f, 0.002944f, -0.008082f, 0.005858f, 0.008308f, -0.015771f, -0.004044f, 0.012153f, 0.002485f, 0.020246f, -0.024873f, 0.037612f, 0.029285f, -0.005188f, -0.023720f, -0.009700f, 0.025208f, 0.028663f, 0.046382f, -0.001443f, 0.009026f, 0.007554f, 0.025475f, -0.038609f, -0.020481f, 0.038696f, 0.024322f, 0.002602f, -0.006161f, 0.003302f, 0.010784f, -0.020227f, -0.015779f, -0.013617f, 0.002897f, 0.012316f, -0.006185f, -0.021939f, -0.015686f, 0.067248f, 0.045561f, -0.064936f, -0.013140f, 0.057887f, -0.017689f, -0.035942f, -0.025379f, -0.036067f, -0.021292f, 0.058434f, 0.035639f, -0.004793f, 0.026517f, -0.006472f, 0.032335f, -0.020454f, -0.011355f, 0.064918f, -0.027100f, 0.011656f, -0.018858f, -0.007123f, -0.000784f, 0.017681f, 0.052847f, 0.020279f, -0.035891f, -0.010619f, -0.001695f, -0.005538f, 0.029730f, 0.003870f, 0.053220f, + -0.015812f, 0.009165f, -0.005611f, 0.015511f, -0.044767f, 0.026797f, -0.041307f, 0.027856f, -0.002307f, 0.040902f, -0.010806f, 0.030324f, -0.014129f, 0.009531f, 0.017282f, -0.017696f, 0.017907f, 0.041301f, 0.051468f, -0.027361f, 0.052737f, 0.022210f, 0.062589f, -0.018039f, 0.011676f, -0.002369f, -0.007886f, -0.012058f, -0.004500f, -0.020805f, -0.103022f, -0.064788f, -0.020103f, -0.001338f, 0.014414f, 0.007207f, 0.023581f, 0.038696f, -0.056790f, -0.003233f, -0.023056f, 0.085622f, -0.006193f, -0.026144f, -0.007651f, -0.075246f, -0.063092f, 0.094638f, 0.038308f, 0.021100f, -0.014818f, 0.029594f, 0.002242f, -0.068922f, 0.013853f, 0.004581f, -0.026412f, -0.026958f, 0.004102f, 0.000286f, 0.007096f, -0.014514f, -0.007565f, -0.033837f, -0.028778f, 0.011973f, 0.014759f, 0.012936f, 0.009805f, -0.017670f, -0.026033f, -0.015846f, -0.033614f, 0.020951f, 0.006914f, -0.059443f, -0.007310f, -0.017357f, -0.004396f, 0.028830f, -0.027616f, -0.038542f, -0.008756f, 0.024595f, 0.008055f, -0.026833f, 0.015547f, 0.034066f, -0.064110f, -0.017379f, 0.022356f, -0.001392f, -0.005221f, -0.012420f, -0.002959f, 0.010851f, + 0.018669f, 0.004221f, 0.051199f, -0.073542f, 0.069629f, -0.020058f, -0.020518f, 0.018077f, 0.032527f, -0.057549f, -0.011353f, 0.001218f, 0.011749f, 0.003312f, -0.001440f, 0.029174f, -0.017368f, 0.003919f, 0.015435f, 0.017064f, 0.024370f, 0.020193f, 0.006887f, -0.031498f, -0.006182f, 0.043302f, -0.041671f, -0.035613f, 0.044873f, 0.015445f, 0.031762f, 0.049026f, 0.075918f, -0.016985f, -0.047964f, 0.064245f, -0.025676f, -0.010628f, 0.066962f, 0.021165f, -0.024311f, -0.069485f, -0.045800f, -0.006814f, -0.025537f, 0.032957f, 0.065997f, 0.033908f, -0.022391f, 0.067774f, 0.022934f, -0.024305f, 0.018842f, 0.075611f, 0.022027f, 0.014802f, -0.015713f, -0.060243f, -0.080920f, -0.064294f, -0.004448f, 0.049074f, 0.015156f, 0.031076f, 0.115847f, 0.057172f, -0.069000f, -0.046433f, 0.030900f, -0.095628f, -0.043800f, 0.082818f, 0.029747f, -0.106270f, -0.088616f, -0.041020f, -0.067789f, -0.063731f, -0.038022f, 0.058133f, -0.016260f, -0.011949f, 0.151420f, 0.025611f, -0.043277f, -0.011865f, -0.046777f, 0.080528f, -0.016698f, 0.017642f, 0.005794f, 0.001338f, -0.043760f, -0.016831f, -0.003213f, -0.022109f, + 0.005542f, 0.017404f, 0.039580f, 0.005287f, -0.026496f, -0.000995f, 0.000109f, -0.017483f, 0.008381f, 0.011562f, 0.013578f, -0.034720f, 0.009211f, -0.032159f, 0.005879f, 0.017079f, -0.001640f, 0.025895f, -0.005982f, -0.001572f, 0.026359f, -0.005243f, 0.014863f, 0.029038f, -0.009552f, 0.008713f, 0.020270f, 0.021839f, 0.018183f, 0.003660f, 0.004787f, 0.015200f, -0.015662f, -0.006102f, 0.010746f, -0.103137f, 0.071669f, 0.030830f, 0.023278f, 0.028868f, -0.010948f, 0.035392f, 0.029107f, 0.041468f, -0.007718f, 0.056825f, -0.035516f, 0.043124f, -0.015547f, -0.032873f, -0.010329f, -0.053983f, 0.005743f, -0.019778f, 0.019236f, -0.013651f, -0.020810f, 0.051926f, -0.059461f, 0.038502f, -0.001918f, -0.025910f, -0.010284f, 0.023023f, 0.026104f, 0.018807f, 0.049211f, 0.039608f, -0.028315f, -0.005909f, -0.025319f, 0.022081f, -0.022427f, 0.017222f, 0.023768f, 0.010837f, 0.013388f, 0.008800f, -0.013881f, 0.054198f, -0.004965f, 0.016109f, 0.005522f, 0.024968f, 0.013963f, -0.064820f, 0.004307f, -0.038786f, 0.009993f, 0.028590f, -0.005202f, -0.027478f, -0.025054f, 0.060367f, -0.063727f, -0.051665f, + 0.094882f, -0.040314f, 0.024688f, 0.009376f, 0.030547f, -0.014359f, 0.016035f, -0.066030f, 0.004623f, 0.064002f, -0.034210f, -0.025979f, 0.055339f, -0.003852f, -0.045692f, -0.033997f, 0.020470f, -0.018053f, -0.010538f, 0.034161f, -0.025141f, 0.008422f, 0.042799f, -0.048206f, 0.003285f, 0.028030f, -0.015485f, -0.009699f, -0.012438f, 0.017188f, 0.004913f, 0.006845f, -0.006185f, 0.009686f, 0.007538f, -0.009617f, 0.000872f, 0.001533f, 0.025610f, 0.012655f, -0.023731f, 0.029020f, 0.007461f, -0.015070f, 0.008684f, 0.008713f, -0.002483f, -0.008928f, 0.021108f, -0.000202f, 0.007232f, 0.002376f, 0.027259f, -0.012836f, -0.010008f, 0.016168f, -0.024130f, 0.030316f, -0.002105f, -0.017605f, -0.002650f, -0.002178f, 0.003889f, -0.000697f, -0.011552f, -0.002134f, 0.016173f, 0.031511f, -0.062019f, -0.248735f, -0.268252f, -0.010671f, -0.154285f, 0.134782f, 0.489816f, 0.212948f, 0.295020f, 0.372857f, -0.142151f, -0.100824f, -0.040707f, -0.336710f, -0.235779f, -0.077098f, -0.369100f, -0.161409f, -0.033710f, -0.151451f, 0.034928f, 0.344636f, 0.313026f, 0.338814f, 0.439461f, 0.264422f, -0.024801f, 0.098051f, + -0.099647f, -0.392781f, -0.213816f, -0.158463f, -0.326515f, -0.224175f, 0.011523f, -0.251617f, -0.083438f, 0.054396f, -0.251389f, -0.129379f, 0.186477f, 0.071762f, 0.202311f, 0.505300f, 0.410630f, 0.331865f, 0.597849f, 0.433678f, -0.008317f, 0.061576f, -0.112854f, -0.537461f, -0.513765f, -0.529987f, -0.824966f, -0.559126f, -0.345924f, -0.338670f, 0.003094f, 0.266599f, 0.300444f, 0.421419f, 0.638548f, 0.590829f, 0.498683f, 0.492305f, 0.281542f, 0.098318f, 0.014734f, -0.031365f, -0.225127f, -0.386812f, -0.474652f, -0.508191f, -0.685748f, -0.570288f, -0.439995f, -0.215859f, 0.228522f, 0.676443f, 0.630033f, 0.690388f, 0.483908f, 0.058126f, -0.066870f, -0.208586f, -0.286304f, -0.193951f, -0.095656f, -0.096532f, -0.043296f, -0.044832f, -0.070474f, -0.000529f, 0.009031f, 0.049362f, 0.156663f, 0.142097f, 0.104540f, 0.143990f, -0.014715f, -0.094719f, -0.013602f, -0.111041f, -0.096189f, 0.057954f, 0.062879f, 0.013754f, 0.013661f, -0.168683f, -0.429797f, -0.407121f, -0.346789f, -0.261584f, 0.125923f, 0.390225f, 0.477544f, 0.603363f, 0.540887f, 0.333210f, 0.231139f, 0.081408f, -0.097083f, -0.202725f, + -0.241538f, -0.313087f, -0.383885f, -0.432931f, -0.505349f, -0.449509f, -0.155857f, 0.109750f, 0.259357f, 0.336378f, 0.365782f, 0.274318f, 0.190338f, 0.095166f, -0.003767f, -0.011268f, 0.046555f, 0.074332f, 0.081588f, 0.088721f, 0.073833f, 0.006856f, -0.060198f, -0.130512f, -0.233551f, -0.224220f, -0.179966f, -0.146470f, -0.071319f, 0.006661f, 0.050612f, 0.044768f, 0.029253f, 0.017308f, 0.014183f}, + {-0.014472f, 0.007019f, -0.016458f, 0.003226f, 0.001197f, 0.001032f, -0.011229f, -0.003981f, 0.003092f, -0.002462f, 0.003660f, 0.005849f, 0.003532f, -0.000153f, 0.004611f, -0.012695f, 0.000308f, -0.000495f, -0.000311f, 0.006973f, 0.010611f, -0.011130f, -0.002496f, -0.006752f, -0.002200f, 0.003959f, 0.007282f, 0.001177f, 0.001807f, -0.002745f, -0.003625f, -0.002956f, -0.002251f, -0.005069f, 0.002770f, -0.005110f, -0.003448f, 0.005807f, -0.004963f, 0.004168f, 0.000689f, -0.012567f, -0.004259f, -0.006928f, -0.001661f, 0.005333f, -0.003716f, -0.001103f, -0.003655f, -0.003783f, -0.002644f, 0.005213f, 0.007932f, 0.001458f, 0.004410f, 0.003501f, -0.004216f, -0.007994f, 0.004286f, 0.003527f, -0.001749f, -0.006879f, -0.005739f, 0.005174f, 0.001046f, 0.003869f, 0.001842f, -0.010573f, -0.003493f, -0.003938f, 0.005829f, 0.002356f, -0.010633f, 0.002794f, -0.005638f, -0.001748f, -0.000556f, -0.003856f, 0.003029f, -0.003519f, 0.000811f, 0.004053f, 0.004184f, 0.002570f, 0.002884f, 0.001887f, -0.000341f, 0.002015f, 0.002480f, 0.000234f, -0.002067f, 0.002838f, 0.000585f, 0.000023f, -0.000841f, -0.001907f, + 0.000912f, 0.001790f, 0.000320f, 0.001469f, -0.000569f, -0.000972f, -0.000025f, -0.001493f, 0.001565f, -0.000276f, 0.001851f, -0.000358f, 0.000357f, -0.000180f, 0.001720f, 0.000905f, -0.000092f, -0.000725f, 0.001089f, -0.020418f, 0.013541f, -0.009750f, 0.001369f, -0.001286f, -0.003714f, 0.010380f, -0.009100f, -0.006043f, 0.000009f, 0.010972f, -0.004050f, -0.000609f, -0.001161f, 0.009081f, -0.005450f, -0.014497f, -0.003211f, -0.007444f, -0.010133f, 0.000405f, -0.000792f, 0.001706f, 0.005886f, 0.009696f, 0.006046f, 0.000964f, 0.014803f, 0.005786f, 0.000518f, 0.010576f, 0.011079f, -0.000859f, -0.005943f, 0.000451f, 0.004904f, 0.003937f, -0.000068f, -0.002103f, -0.008567f, -0.007540f, -0.003701f, 0.008491f, 0.003521f, 0.014602f, 0.008268f, -0.000623f, 0.004896f, 0.005965f, 0.002004f, -0.009032f, 0.009825f, -0.003864f, 0.005146f, -0.000364f, 0.003123f, -0.010774f, -0.001706f, -0.003408f, 0.003839f, -0.003271f, -0.004059f, 0.011299f, -0.000760f, -0.008437f, 0.003366f, -0.006414f, 0.005283f, -0.003606f, 0.008469f, 0.007311f, 0.008124f, 0.002757f, -0.007787f, 0.004324f, -0.001164f, 0.004263f, + -0.003358f, 0.001237f, 0.011121f, -0.004250f, 0.005413f, 0.007330f, -0.001074f, 0.000474f, -0.000311f, -0.001301f, -0.002928f, 0.001872f, -0.000152f, 0.002804f, -0.000036f, 0.002271f, 0.000167f, 0.000213f, 0.001625f, 0.002731f, 0.001152f, 0.002623f, 0.002916f, -0.000520f, -0.002084f, 0.003786f, 0.000439f, -0.000077f, 0.000320f, 0.002320f, -0.000587f, -0.002034f, 0.001123f, -0.000468f, 0.000626f, 0.000110f, 0.002286f, 0.000765f, 0.001258f, 0.000772f, 0.004081f, 0.004587f, 0.000231f, -0.003978f, 0.004278f, 0.001671f, 0.001292f, 0.002027f, -0.016178f, 0.005239f, -0.010314f, 0.001709f, 0.003326f, 0.003508f, -0.004741f, 0.008585f, 0.001347f, -0.003182f, -0.001498f, 0.010021f, 0.007176f, -0.004366f, -0.005632f, -0.004607f, 0.003856f, 0.007110f, -0.004324f, -0.004703f, 0.001364f, -0.018333f, -0.000074f, -0.007825f, -0.003121f, -0.007784f, -0.010237f, -0.001256f, 0.009253f, 0.002558f, -0.008352f, -0.002208f, 0.007914f, 0.002406f, -0.005142f, 0.008999f, -0.003957f, -0.012548f, -0.003780f, 0.007048f, -0.003156f, 0.008340f, 0.015893f, 0.012892f, 0.001739f, -0.000175f, 0.004459f, -0.001953f, + -0.009452f, 0.000102f, 0.003497f, -0.006734f, 0.005630f, -0.013358f, -0.002048f, 0.000834f, -0.005724f, -0.004360f, 0.005768f, 0.011653f, -0.009180f, -0.009527f, 0.005870f, 0.005965f, 0.010913f, 0.003540f, -0.006460f, 0.008766f, 0.007505f, -0.002513f, 0.008373f, -0.009322f, 0.009388f, 0.002298f, 0.006343f, 0.001301f, -0.005083f, -0.002871f, -0.000973f, 0.002088f, 0.000134f, -0.004581f, 0.001516f, 0.000055f, -0.002751f, -0.002196f, 0.000553f, -0.000673f, 0.001991f, 0.000127f, 0.003365f, -0.002482f, -0.001889f, -0.000120f, 0.000369f, 0.002983f, -0.001582f, -0.002964f, 0.001276f, 0.000117f, -0.000703f, 0.002031f, -0.000536f, 0.001234f, -0.001419f, 0.001244f, 0.001723f, 0.000243f, 0.002840f, 0.027540f, -0.010696f, -0.004709f, -0.001761f, 0.019856f, -0.001974f, 0.015017f, -0.010915f, 0.013234f, -0.013093f, -0.011487f, 0.002766f, 0.006269f, -0.007729f, -0.001897f, 0.003952f, -0.001009f, 0.005153f, -0.007970f, 0.009206f, 0.003331f, -0.009865f, -0.000372f, 0.003964f, 0.003094f, 0.001769f, 0.018680f, 0.014891f, 0.011650f, 0.000004f, 0.007563f, 0.000714f, 0.002184f, 0.005599f, -0.017233f, + -0.002630f, 0.010507f, 0.006841f, 0.008156f, -0.000187f, -0.003051f, 0.003811f, -0.000676f, 0.021072f, -0.003186f, 0.003559f, 0.002118f, 0.001037f, -0.006228f, 0.012640f, -0.001433f, 0.013142f, -0.007233f, -0.007581f, 0.005446f, -0.005048f, -0.017530f, -0.008070f, 0.003535f, -0.001658f, -0.012538f, 0.003508f, 0.000041f, 0.016328f, 0.001434f, 0.001424f, -0.004985f, 0.005950f, 0.006030f, -0.001330f, -0.000948f, 0.014344f, 0.010542f, 0.010475f, -0.006908f, -0.009831f, -0.008585f, -0.016800f, 0.001403f, -0.011892f, -0.004014f, 0.000759f, -0.006484f, -0.007396f, -0.004122f, -0.000828f, -0.002523f, 0.003965f, 0.007382f, -0.001372f, -0.000850f, -0.003305f, 0.001713f, -0.002391f, -0.002768f, 0.001190f, 0.002026f, 0.000041f, 0.002609f, -0.001511f, 0.000097f, -0.001459f, -0.000984f, -0.000792f, 0.001520f, -0.000899f, -0.000908f, -0.000532f, -0.002386f, -0.002708f, 0.000170f, -0.000290f, -0.003284f, 0.002805f, 0.002803f, 0.003417f, -0.000062f, -0.002368f, -0.001390f, 0.002688f, 0.020200f, -0.016087f, -0.000452f, -0.016824f, -0.011071f, -0.006582f, 0.014507f, 0.008494f, -0.020319f, -0.027758f, -0.010717f, + 0.009732f, 0.006905f, -0.004200f, 0.009444f, 0.000046f, -0.002410f, 0.001033f, -0.014621f, 0.004341f, -0.001970f, 0.001170f, 0.004554f, 0.000940f, -0.000103f, 0.006075f, 0.005322f, -0.009727f, -0.009704f, 0.010975f, -0.003542f, -0.005466f, 0.006699f, -0.019000f, 0.004468f, 0.003914f, -0.017517f, 0.006313f, 0.018028f, 0.010908f, 0.012359f, 0.002503f, 0.006798f, 0.017124f, 0.003173f, 0.003231f, -0.019739f, 0.010359f, 0.014796f, 0.012107f, 0.002286f, 0.012300f, -0.014078f, 0.013781f, -0.004195f, -0.013838f, -0.021317f, -0.000245f, -0.013577f, -0.010948f, -0.004727f, -0.013000f, -0.032379f, 0.001370f, 0.001638f, -0.001116f, 0.004986f, 0.015875f, 0.005936f, 0.006385f, 0.004196f, -0.011583f, 0.001645f, 0.005373f, 0.004591f, 0.004072f, 0.004658f, -0.011886f, -0.003564f, -0.014974f, -0.006789f, -0.001103f, 0.003443f, -0.005492f, 0.005266f, 0.001037f, 0.000897f, -0.003769f, -0.000642f, -0.002013f, -0.000005f, -0.002173f, 0.001967f, 0.000624f, 0.001483f, -0.000573f, -0.002764f, -0.002304f, -0.002279f, 0.002273f, 0.001447f, -0.000027f, -0.001081f, -0.002089f, -0.002267f, -0.002203f, -0.006760f, + 0.000993f, 0.000919f, -0.005128f, -0.002689f, -0.001876f, -0.043727f, 0.021493f, 0.002747f, -0.017009f, 0.004101f, -0.001900f, -0.005037f, -0.003501f, -0.009645f, 0.005130f, -0.004958f, 0.000977f, 0.006272f, 0.005768f, 0.018909f, -0.007695f, -0.018117f, 0.009802f, -0.022966f, -0.009936f, 0.003720f, 0.003109f, 0.002593f, 0.007383f, 0.009184f, 0.007881f, -0.000189f, 0.010445f, 0.000662f, -0.004225f, 0.013923f, 0.008584f, -0.004268f, 0.008235f, -0.014442f, 0.027192f, 0.001011f, 0.005008f, -0.002574f, -0.023460f, -0.004069f, -0.008773f, -0.008213f, 0.003565f, 0.019484f, 0.000484f, 0.000803f, -0.002584f, -0.005394f, -0.012698f, 0.003983f, -0.002155f, 0.006970f, -0.015986f, 0.005358f, 0.008404f, 0.003721f, -0.011865f, -0.004196f, 0.003031f, 0.001514f, 0.009475f, 0.001869f, 0.033055f, -0.009465f, -0.014200f, -0.016058f, -0.004935f, 0.000332f, 0.011750f, -0.015994f, -0.002153f, -0.006859f, 0.007227f, -0.023348f, -0.001096f, -0.006329f, -0.009855f, 0.002905f, -0.002917f, 0.006362f, -0.000911f, 0.011694f, 0.007326f, -0.000037f, 0.002407f, 0.000902f, 0.001394f, 0.013563f, 0.001553f, 0.009699f, + 0.003440f, -0.002453f, 0.000172f, 0.000347f, 0.002726f, -0.001786f, 0.001364f, -0.000521f, 0.004031f, 0.000760f, -0.003147f, -0.004463f, 0.003534f, -0.001719f, -0.005394f, -0.002343f, -0.002872f, -0.001235f, -0.001701f, -0.000099f, 0.006503f, 0.000112f, 0.001777f, 0.000795f, 0.002585f, -0.002602f, -0.001523f, -0.005653f, 0.019687f, -0.006404f, -0.004766f, 0.004193f, 0.005768f, -0.015982f, -0.016127f, -0.014755f, -0.013874f, -0.022655f, 0.014179f, -0.013284f, 0.003932f, 0.005425f, 0.020471f, -0.003461f, -0.004949f, 0.016020f, 0.003658f, 0.003303f, -0.018958f, -0.012443f, 0.009214f, 0.003964f, 0.007310f, 0.011037f, -0.019971f, 0.000150f, 0.008417f, 0.018916f, -0.000274f, 0.001722f, -0.002942f, -0.000061f, -0.013064f, -0.002533f, -0.004121f, -0.024221f, -0.002025f, 0.007304f, -0.013946f, 0.005857f, -0.015165f, -0.000164f, -0.010522f, -0.002223f, -0.003348f, 0.001283f, 0.019377f, -0.005759f, 0.000161f, 0.009898f, -0.005680f, 0.005762f, -0.016262f, -0.028887f, -0.015752f, -0.008819f, -0.004187f, 0.002977f, 0.019105f, -0.009129f, 0.005040f, 0.004585f, -0.013941f, 0.004576f, -0.010766f, -0.003844f, + 0.006914f, 0.019396f, -0.003119f, -0.001147f, 0.006100f, -0.000546f, -0.018440f, -0.017439f, -0.007407f, 0.017193f, -0.002222f, -0.026054f, 0.001693f, -0.017157f, -0.007707f, -0.003652f, -0.001952f, 0.005648f, -0.006714f, -0.002102f, 0.006305f, -0.001944f, 0.007428f, 0.006447f, 0.004590f, -0.003198f, 0.007267f, -0.006744f, -0.005143f, -0.004815f, 0.000955f, -0.000895f, -0.001596f, -0.001693f, -0.001452f, -0.002421f, 0.001302f, -0.000733f, 0.004609f, -0.003446f, -0.002288f, 0.001879f, -0.003065f, -0.001835f, -0.007686f, -0.009210f, -0.000997f, 0.000577f, 0.004264f, 0.000456f, 0.002492f, 0.000065f, 0.019226f, 0.020181f, -0.006169f, 0.001880f, 0.021170f, -0.021523f, -0.019147f, 0.016198f, -0.003870f, 0.002216f, 0.014713f, -0.002904f, -0.004012f, 0.014689f, -0.027198f, 0.011592f, -0.001215f, 0.004605f, 0.013257f, 0.013657f, -0.015222f, 0.002885f, -0.020919f, 0.006436f, -0.006285f, -0.002247f, -0.014551f, -0.000753f, -0.020864f, 0.002016f, -0.018081f, 0.012668f, -0.006331f, 0.002390f, 0.022609f, 0.010468f, 0.010135f, -0.018043f, 0.003345f, 0.020933f, -0.004930f, -0.029774f, 0.016001f, -0.003646f, + 0.002942f, -0.005869f, -0.013773f, 0.019650f, 0.007100f, 0.016009f, 0.004036f, 0.002308f, -0.013183f, -0.017168f, 0.006217f, 0.008017f, 0.008646f, 0.011400f, 0.026381f, -0.000888f, -0.020386f, -0.013309f, 0.015899f, -0.002298f, -0.017515f, -0.004630f, -0.001037f, -0.004799f, -0.022174f, 0.000341f, 0.003083f, 0.005540f, -0.008005f, 0.012798f, -0.000609f, 0.001407f, 0.018266f, 0.009310f, 0.019018f, -0.018670f, -0.007756f, 0.003439f, -0.010209f, 0.008495f, 0.005270f, 0.005202f, -0.000732f, -0.002377f, -0.001516f, -0.000291f, -0.007303f, 0.009397f, -0.003394f, 0.005762f, -0.001472f, 0.006712f, -0.002629f, -0.003334f, 0.000467f, 0.003856f, -0.003261f, -0.000129f, -0.000772f, -0.003708f, -0.001810f, 0.001700f, -0.004019f, -0.001274f, -0.008594f, -0.006757f, 0.003719f, 0.005972f, 0.003172f, 0.002721f, -0.000837f, -0.000709f, -0.003981f, -0.000651f, 0.004529f, -0.005778f, -0.000748f, 0.002667f, -0.001089f, 0.004674f, 0.004611f, -0.003235f, -0.001225f, 0.004179f, 0.002984f, -0.002175f, 0.015310f, -0.018635f, 0.021827f, -0.004913f, 0.023088f, -0.018855f, 0.017089f, 0.001882f, -0.001806f, 0.028759f, + -0.015024f, 0.001723f, -0.014583f, -0.004342f, 0.043829f, 0.021156f, 0.009306f, 0.006347f, 0.012465f, -0.006998f, -0.000059f, -0.037048f, 0.006882f, -0.001541f, -0.016026f, 0.017776f, 0.013328f, -0.000547f, 0.003163f, -0.021404f, 0.018867f, -0.009991f, 0.020036f, 0.013140f, 0.010697f, -0.015353f, -0.002706f, -0.012907f, 0.019238f, 0.004442f, -0.007011f, 0.034116f, 0.016297f, -0.003835f, 0.001786f, -0.028242f, 0.004792f, 0.001324f, 0.022436f, -0.010068f, -0.028745f, -0.004931f, -0.007959f, -0.005572f, -0.040625f, -0.020226f, -0.043270f, -0.022023f, -0.015470f, 0.005109f, -0.010886f, 0.020443f, 0.002538f, -0.023339f, 0.014084f, -0.015609f, 0.022081f, -0.019674f, -0.015979f, 0.011530f, 0.019668f, 0.019403f, 0.000056f, -0.018157f, -0.014515f, 0.008910f, -0.011906f, 0.000467f, -0.006017f, 0.007342f, -0.008174f, -0.011986f, 0.021163f, 0.009837f, 0.002887f, -0.003351f, 0.007973f, 0.004531f, 0.009815f, -0.000904f, 0.006646f, 0.002374f, 0.011023f, 0.000234f, -0.000523f, 0.000639f, -0.005437f, 0.000209f, 0.002816f, 0.001369f, 0.001206f, 0.000310f, 0.008489f, 0.003909f, -0.006708f, 0.000758f, + 0.003860f, -0.002105f, -0.002563f, -0.001608f, 0.000510f, 0.001635f, 0.004274f, -0.001060f, 0.002914f, 0.004979f, -0.001034f, -0.005029f, -0.000444f, -0.005485f, -0.002414f, -0.005065f, -0.003269f, 0.004411f, 0.000302f, -0.002831f, -0.026845f, -0.031873f, -0.021127f, -0.003040f, -0.000410f, -0.004135f, 0.007576f, 0.011531f, 0.008006f, -0.000005f, 0.004293f, -0.010116f, 0.006638f, -0.020534f, -0.028626f, 0.000899f, 0.021945f, 0.003843f, -0.007731f, 0.017562f, 0.010391f, 0.016998f, 0.028610f, 0.003715f, -0.008840f, -0.018235f, -0.014606f, 0.008361f, -0.016741f, -0.011606f, 0.004301f, -0.013246f, -0.029202f, -0.016006f, -0.001622f, -0.003390f, 0.006818f, -0.006568f, 0.016162f, 0.004696f, 0.006125f, 0.022381f, -0.003597f, 0.002654f, 0.005178f, -0.017865f, 0.021061f, 0.003469f, -0.019500f, -0.031888f, 0.008103f, 0.002866f, -0.023183f, 0.024524f, 0.015912f, -0.021481f, 0.007261f, 0.020614f, 0.011588f, 0.005526f, 0.017110f, -0.007836f, -0.006918f, 0.001294f, -0.009494f, -0.015181f, 0.025968f, -0.023166f, -0.002595f, 0.009688f, 0.002213f, 0.040374f, -0.035064f, 0.010689f, -0.004493f, -0.000171f, + 0.011279f, 0.000449f, 0.002407f, -0.009434f, 0.005332f, -0.020802f, -0.044106f, -0.002494f, -0.000549f, -0.022678f, -0.014424f, -0.003172f, 0.008323f, 0.007255f, 0.003095f, 0.001848f, -0.007359f, -0.000244f, -0.010304f, -0.005207f, -0.002011f, -0.005995f, -0.009292f, 0.003156f, -0.001782f, 0.001557f, -0.004766f, -0.003504f, 0.002172f, -0.007594f, -0.016105f, -0.005657f, 0.001064f, -0.004402f, -0.015532f, -0.008699f, 0.006411f, 0.004367f, 0.003028f, -0.003122f, -0.005984f, -0.007484f, -0.001403f, -0.003787f, -0.008829f, -0.007350f, -0.010406f, -0.005479f, -0.007030f, -0.007079f, -0.000233f, -0.001779f, 0.002787f, -0.002812f, -0.001979f, 0.005680f, -0.007778f, -0.020810f, 0.018322f, -0.037619f, -0.026715f, 0.019802f, -0.000927f, -0.034267f, 0.017565f, -0.020058f, 0.038776f, 0.007736f, -0.051036f, -0.006517f, 0.004641f, -0.012919f, 0.003842f, 0.008867f, 0.018118f, 0.015480f, -0.029641f, -0.001333f, 0.002779f, -0.006183f, -0.027161f, -0.004238f, -0.005629f, -0.009371f, -0.008277f, -0.000433f, 0.002023f, 0.023083f, 0.025348f, -0.007896f, 0.013660f, 0.011742f, 0.011536f, 0.025204f, 0.000338f, 0.006746f, + -0.029065f, -0.010041f, 0.010271f, -0.005796f, 0.014066f, 0.034613f, 0.005133f, -0.030380f, -0.067577f, -0.000199f, -0.020812f, 0.019152f, -0.012746f, -0.006932f, -0.013248f, -0.036568f, 0.015936f, 0.048776f, 0.002903f, 0.012749f, -0.038254f, 0.007882f, -0.004292f, -0.017298f, 0.004452f, 0.018677f, 0.009796f, 0.015061f, -0.016429f, 0.024180f, 0.014278f, -0.028287f, -0.041872f, -0.002722f, -0.031819f, -0.029891f, -0.018937f, -0.022052f, 0.002957f, 0.039279f, 0.015198f, 0.001398f, -0.005156f, 0.025273f, -0.012786f, -0.018904f, -0.002907f, 0.003894f, -0.002847f, 0.004615f, 0.004052f, 0.000182f, 0.004107f, 0.009642f, 0.003703f, -0.001098f, 0.000870f, -0.003803f, -0.003575f, 0.010116f, -0.002915f, 0.009951f, 0.000414f, -0.005718f, 0.001407f, -0.003036f, -0.004038f, 0.012037f, -0.002723f, 0.006486f, -0.014658f, -0.001959f, 0.007439f, -0.000132f, 0.003179f, 0.012293f, -0.009053f, 0.011227f, -0.000901f, 0.001191f, 0.003709f, -0.003866f, 0.008894f, 0.001185f, 0.000778f, 0.001446f, 0.000697f, 0.003866f, 0.011408f, -0.004725f, 0.004198f, 0.004285f, 0.004627f, 0.004830f, -0.073694f, -0.046519f, + 0.033477f, 0.026964f, 0.043843f, -0.000116f, 0.017301f, 0.004317f, 0.013871f, -0.000517f, 0.008962f, -0.019367f, -0.023221f, -0.014404f, -0.020784f, -0.013402f, -0.014793f, 0.017861f, 0.042152f, 0.009237f, -0.051329f, -0.012165f, 0.009054f, -0.013604f, 0.012601f, -0.029330f, -0.002327f, -0.000952f, 0.001760f, 0.014358f, 0.010907f, 0.002051f, -0.003485f, -0.006523f, 0.012011f, 0.023280f, -0.018575f, -0.028862f, 0.019280f, 0.009191f, 0.025273f, 0.011550f, 0.036716f, -0.025329f, -0.008847f, 0.023441f, 0.035011f, 0.030404f, 0.018037f, 0.008578f, -0.007442f, 0.002327f, -0.004349f, 0.000157f, 0.012171f, -0.045651f, 0.024608f, -0.003580f, 0.006709f, -0.003001f, 0.034740f, -0.010567f, -0.000459f, -0.007591f, 0.022052f, 0.018689f, -0.038911f, 0.027968f, -0.033091f, -0.001666f, -0.016753f, -0.016664f, 0.015194f, 0.002774f, -0.051614f, -0.004573f, -0.004019f, -0.009530f, -0.005958f, -0.001211f, -0.006538f, 0.026847f, 0.002700f, 0.025680f, -0.008061f, 0.030365f, 0.014387f, -0.015685f, 0.006743f, -0.003920f, 0.001806f, 0.001968f, 0.002926f, 0.004090f, 0.001629f, -0.005892f, -0.009661f, 0.015098f, + 0.006762f, 0.012390f, 0.003525f, -0.007383f, 0.014333f, 0.000548f, 0.000816f, 0.010747f, -0.030066f, -0.013981f, -0.013323f, 0.004221f, -0.000337f, -0.020483f, 0.000958f, 0.003425f, -0.000874f, -0.003860f, 0.000020f, 0.007021f, -0.007412f, -0.000318f, 0.008232f, 0.004050f, 0.010018f, -0.008705f, -0.004180f, 0.002456f, 0.010864f, 0.040932f, -0.045537f, -0.001047f, -0.025883f, -0.073014f, -0.008632f, -0.026948f, -0.057630f, 0.011518f, -0.000371f, -0.011199f, 0.003625f, 0.030973f, -0.002002f, -0.032737f, 0.011238f, 0.001324f, -0.010518f, -0.007874f, -0.005834f, 0.001658f, 0.035697f, -0.008008f, -0.001309f, 0.016210f, 0.011983f, -0.005135f, 0.017289f, 0.015820f, -0.007616f, -0.007491f, -0.014332f, 0.019867f, -0.004739f, -0.034194f, 0.005232f, -0.002258f, 0.011762f, 0.044824f, -0.029903f, -0.047975f, -0.030251f, -0.014004f, 0.006648f, 0.016020f, 0.008521f, 0.034127f, 0.017063f, -0.024028f, -0.013867f, -0.032778f, 0.028410f, 0.017488f, 0.003177f, 0.006049f, -0.018797f, 0.002004f, -0.019888f, 0.034412f, 0.033764f, 0.002433f, -0.015699f, -0.008716f, 0.003355f, 0.031334f, 0.062503f, 0.038482f, + -0.005889f, -0.013925f, 0.000891f, 0.019923f, 0.008664f, 0.018394f, 0.025346f, -0.025038f, -0.001137f, -0.048324f, -0.032563f, -0.031034f, -0.020787f, 0.013056f, 0.029734f, 0.020453f, 0.003273f, -0.005863f, -0.002739f, -0.026869f, -0.033806f, -0.008487f, -0.017937f, -0.016901f, 0.003939f, -0.003370f, -0.004274f, 0.000253f, 0.001144f, 0.007807f, -0.008564f, 0.017379f, -0.017523f, 0.007512f, -0.022317f, -0.007415f, 0.000024f, 0.004237f, -0.000603f, 0.004032f, 0.008639f, -0.005973f, 0.001078f, 0.020661f, 0.025171f, 0.030324f, 0.016659f, 0.019042f, 0.008645f, 0.003724f, 0.001492f, 0.000665f, 0.001226f, -0.005151f, -0.016232f, -0.015847f, -0.002564f, 0.012578f, 0.000082f, 0.002075f, -0.006579f, -0.004579f, 0.002019f, 0.015383f, 0.009697f, 0.018335f, 0.012959f, 0.015628f, -0.035671f, -0.004209f, -0.018481f, 0.026816f, -0.029640f, 0.005724f, 0.002584f, 0.052466f, -0.032479f, -0.009531f, -0.033405f, -0.007241f, -0.032996f, -0.027736f, -0.020019f, 0.010323f, -0.035491f, -0.025757f, -0.038592f, -0.009872f, -0.005823f, -0.011826f, -0.017450f, -0.043013f, 0.011220f, -0.030410f, 0.012264f, -0.031905f, + 0.039281f, 0.006032f, 0.017596f, -0.007607f, -0.037089f, 0.019839f, 0.011482f, -0.012499f, 0.019834f, 0.027752f, -0.015027f, -0.039964f, -0.021407f, 0.053519f, -0.022891f, -0.001765f, 0.001368f, -0.009102f, 0.011760f, 0.034681f, 0.006148f, 0.014741f, -0.011182f, 0.024807f, 0.000342f, 0.019538f, 0.005955f, 0.006622f, -0.000609f, 0.001989f, 0.042451f, 0.012852f, 0.101634f, -0.062052f, 0.039607f, 0.055683f, -0.014714f, 0.001256f, 0.028732f, -0.020833f, -0.006096f, 0.046622f, 0.018480f, -0.007788f, 0.024759f, -0.010607f, -0.045153f, -0.033420f, 0.011344f, 0.001805f, -0.060329f, -0.016803f, -0.006158f, -0.031348f, 0.016116f, 0.009384f, -0.020359f, -0.016693f, -0.012289f, 0.001758f, 0.005568f, 0.012766f, -0.010575f, 0.001497f, 0.007475f, -0.003345f, -0.013396f, 0.003696f, 0.002834f, 0.004224f, 0.012568f, 0.002232f, -0.007621f, 0.001016f, 0.014561f, 0.012887f, 0.006292f, -0.014425f, -0.000289f, 0.026545f, -0.007548f, -0.005600f, 0.014759f, -0.014417f, -0.024929f, -0.007112f, 0.001399f, -0.003244f, -0.012777f, -0.003935f, -0.000736f, -0.014128f, -0.002892f, 0.001518f, -0.003880f, -0.014660f, + -0.024139f, 0.009203f, 0.026052f, 0.009420f, -0.000486f, 0.000953f, -0.004810f, -0.015374f, -0.012229f, 0.057072f, 0.063712f, 0.001445f, 0.046140f, 0.045971f, -0.001972f, 0.021016f, -0.045149f, -0.013576f, 0.040993f, 0.004444f, 0.040478f, 0.056485f, 0.046568f, -0.008647f, 0.030569f, -0.046213f, -0.072491f, -0.030632f, -0.026793f, 0.018218f, 0.000648f, 0.019453f, 0.020884f, 0.044636f, 0.034580f, 0.012515f, -0.034308f, -0.003590f, 0.035322f, 0.011855f, -0.016588f, 0.023057f, 0.048503f, -0.004747f, 0.017200f, -0.038513f, 0.019240f, -0.030261f, -0.007907f, -0.018968f, -0.040153f, 0.025578f, 0.003281f, 0.012818f, 0.049100f, -0.025637f, -0.029115f, 0.018224f, 0.050850f, -0.038935f, -0.026053f, 0.017053f, -0.012348f, 0.071859f, 0.053134f, -0.049422f, -0.018489f, -0.038929f, 0.002542f, 0.044104f, -0.019745f, -0.029498f, -0.013354f, 0.003335f, 0.010853f, -0.035438f, 0.009030f, 0.073239f, 0.005631f, -0.047853f, -0.073725f, 0.060454f, -0.071113f, -0.059332f, -0.034754f, -0.030020f, -0.051372f, 0.014465f, 0.013445f, 0.083766f, 0.021085f, 0.037175f, -0.018079f, 0.040369f, -0.004593f, -0.016392f, + 0.015263f, 0.002424f, -0.003594f, 0.041386f, 0.005423f, 0.021463f, 0.026180f, 0.014638f, 0.031336f, -0.008270f, 0.008606f, -0.006166f, -0.002347f, -0.006128f, -0.026024f, -0.018786f, -0.021471f, 0.025507f, 0.009028f, 0.022781f, 0.027613f, -0.005487f, 0.016589f, 0.036234f, 0.012945f, -0.010943f, 0.018486f, 0.021981f, 0.007435f, -0.004439f, -0.025795f, -0.022634f, 0.023179f, 0.010370f, 0.015428f, 0.031053f, 0.067668f, 0.029684f, 0.017085f, 0.013016f, 0.019151f, -0.009508f, -0.002257f, 0.034688f, -0.021943f, 0.012461f, -0.012192f, 0.011779f, 0.006858f, -0.066170f, -0.038364f, -0.049799f, 0.013034f, 0.027418f, 0.009592f, 0.042157f, 0.037876f, 0.053506f, 0.016541f, 0.058438f, 0.026046f, 0.037659f, -0.018715f, -0.007487f, -0.018801f, -0.045323f, -0.032534f, -0.070022f, -0.041567f, -0.013604f, -0.040833f, 0.008812f, -0.001687f, -0.001240f, 0.016596f, 0.013549f, 0.006255f, 0.033642f, -0.008580f, -0.028217f, 0.040403f, 0.003561f, -0.053624f, -0.023274f, -0.005853f, -0.064536f, -0.048903f, -0.047656f, 0.004341f, 0.022774f, 0.006176f, -0.024887f, -0.003164f, 0.026733f, 0.016529f, 0.063887f, + 0.011908f, -0.086319f, -0.028749f, -0.015066f, 0.013723f, 0.013283f, -0.009934f, -0.023019f, 0.031896f, -0.047883f, -0.008875f, -0.038423f, 0.028978f, -0.075352f, -0.046596f, -0.061480f, -0.049274f, 0.002198f, -0.027787f, -0.021607f, -0.049433f, 0.024717f, 0.088810f, -0.002445f, 0.057409f, -0.032004f, 0.014081f, -0.042315f, -0.000172f, 0.063113f, 0.015080f, -0.030049f, 0.003354f, 0.024205f, -0.042724f, -0.066323f, -0.035627f, 0.016778f, -0.051476f, 0.021974f, -0.000759f, -0.001574f, 0.033038f, 0.017103f, -0.008818f, 0.038196f, 0.038182f, 0.030503f, -0.010072f, -0.010689f, -0.006689f, -0.000597f, 0.026614f, 0.018991f, 0.013442f, 0.000542f, 0.027756f, 0.015249f, 0.004282f, 0.003512f, 0.020565f, -0.008698f, -0.007026f, 0.014183f, -0.021367f, 0.019190f, -0.018558f, -0.018402f, -0.021841f, 0.038160f, 0.023844f, 0.035466f, 0.013034f, 0.013302f, 0.003162f, 0.002389f, 0.017395f, -0.026799f, -0.042973f, 0.003278f, 0.012018f, 0.010651f, -0.017585f, 0.049191f, 0.020090f, 0.049624f, -0.081142f, 0.035119f, 0.060859f, -0.005982f, 0.070105f, -0.037249f, -0.107122f, -0.055461f, -0.000816f, -0.010742f, + 0.011745f, -0.038412f, 0.036927f, 0.052243f, -0.047170f, 0.041483f, -0.025877f, -0.031639f, -0.074831f, -0.030587f, -0.043037f, -0.028431f, -0.034440f, 0.033652f, 0.004951f, -0.067051f, -0.085850f, 0.064724f, 0.014578f, 0.023158f, -0.020136f, 0.005124f, -0.023293f, 0.000545f, 0.019627f, 0.029826f, 0.027020f, 0.072475f, 0.002251f, -0.052140f, 0.070294f, -0.007527f, -0.018358f, -0.032754f, 0.029625f, -0.057971f, -0.038952f, 0.032766f, -0.030182f, -0.045175f, -0.056661f, -0.049668f, -0.010661f, 0.006542f, 0.005295f, -0.015397f, 0.060955f, 0.051855f, -0.005075f, -0.029703f, -0.051085f, -0.058655f, 0.014396f, 0.012260f, -0.011579f, -0.005814f, 0.083706f, 0.005556f, -0.024490f, 0.036093f, 0.017335f, -0.055300f, 0.043880f, 0.079615f, -0.087446f, 0.141104f, 0.037688f, 0.040666f, 0.015441f, 0.040953f, -0.011246f, -0.087292f, 0.059688f, 0.004975f, -0.010861f, 0.061936f, -0.073642f, 0.012772f, 0.012917f, -0.000540f, -0.007135f, 0.002970f, -0.005766f, -0.020481f, 0.010847f, 0.021634f, -0.018148f, -0.002470f, -0.026836f, -0.030914f, 0.039889f, -0.008995f, -0.019599f, 0.008988f, -0.010695f, -0.024651f, + -0.044398f, -0.010383f, -0.015106f, 0.038656f, -0.037256f, -0.003964f, 0.045727f, -0.009901f, 0.036537f, -0.013284f, -0.031995f, 0.016398f, -0.006471f, -0.015441f, 0.018904f, 0.004215f, 0.050366f, -0.007012f, -0.000811f, 0.033184f, 0.101236f, 0.044476f, 0.002376f, -0.033871f, 0.048369f, -0.000786f, 0.003516f, -0.023195f, 0.044144f, -0.051172f, 0.037395f, 0.035938f, 0.037874f, 0.018333f, -0.013836f, 0.050198f, 0.062964f, -0.012811f, 0.026040f, -0.038982f, 0.063354f, 0.027049f, 0.021242f, -0.040339f, -0.088188f, 0.017622f, -0.026974f, -0.020123f, -0.035732f, -0.045084f, 0.027353f, 0.012285f, -0.021838f, 0.005098f, 0.002223f, -0.023791f, -0.107763f, -0.006675f, -0.022797f, -0.011007f, -0.001550f, 0.076081f, 0.052013f, -0.025289f, 0.019703f, -0.050025f, 0.005704f, 0.037548f, -0.057124f, -0.053035f, -0.043543f, 0.068881f, -0.049361f, 0.014379f, 0.055353f, -0.074426f, -0.069112f, 0.063804f, 0.050783f, 0.053571f, 0.071557f, 0.026504f, -0.091394f, 0.020698f, 0.027107f, -0.008019f, 0.149417f, -0.015381f, -0.022693f, -0.067435f, -0.058307f, 0.030177f, -0.053744f, 0.035133f, 0.012251f, 0.039730f, + 0.081854f, -0.052425f, -0.035780f, 0.099698f, -0.060662f, -0.066935f, 0.043807f, -0.086229f, 0.062780f, -0.065549f, 0.014963f, 0.022644f, -0.047519f, 0.019790f, -0.055171f, 0.038475f, 0.070372f, -0.002800f, 0.012202f, 0.014537f, 0.002595f, -0.021427f, -0.020297f, -0.004530f, 0.020373f, -0.009004f, 0.013731f, -0.014203f, -0.043686f, 0.018795f, 0.003813f, 0.029764f, 0.014656f, 0.026004f, -0.008896f, -0.008555f, -0.043345f, 0.030473f, -0.005915f, -0.039420f, 0.009162f, 0.081466f, 0.022426f, -0.020682f, 0.023839f, 0.043923f, -0.021806f, 0.004899f, 0.033504f, -0.016762f, 0.033400f, 0.011498f, -0.010621f, -0.052224f, 0.008771f, -0.019885f, -0.001396f, 0.065381f, -0.029963f, 0.003580f, -0.017374f, 0.022611f, 0.075136f, 0.006461f, -0.063727f, 0.091459f, 0.022366f, -0.005884f, 0.065259f, 0.032442f, 0.052837f, 0.019863f, -0.078024f, -0.017014f, -0.029031f, 0.037020f, 0.091399f, -0.057596f, 0.014968f, -0.027545f, 0.040848f, 0.046850f, -0.061263f, 0.051544f, -0.049152f, -0.044257f, 0.022878f, 0.042465f, 0.002075f, 0.014233f, 0.033202f, -0.049601f, 0.044257f, 0.003665f, 0.053952f, -0.009302f, + -0.013880f, 0.017721f, 0.079757f, -0.035448f, 0.064496f, -0.030837f, 0.013241f, 0.017025f, 0.064453f, -0.003532f, -0.003869f, 0.022319f, 0.096997f, 0.006619f, -0.075291f, -0.005892f, -0.090705f, 0.054907f, 0.000497f, 0.149447f, 0.032241f, -0.043359f, -0.012940f, 0.033244f, -0.032717f, 0.052660f, 0.097654f, 0.066927f, 0.001754f, 0.028597f, 0.042462f, -0.004535f, -0.045027f, -0.005959f, -0.010027f, -0.155478f, 0.097378f, 0.072719f, 0.067103f, 0.016403f, -0.067203f, -0.019930f, 0.051119f, 0.026612f, 0.044549f, 0.024137f, -0.148912f, -0.053071f, 0.091820f, 0.025427f, 0.029792f, 0.079115f, -0.055666f, -0.001598f, -0.007666f, 0.044901f, 0.011477f, -0.004207f, -0.012003f, 0.035425f, -0.009086f, -0.040504f, 0.020324f, -0.019444f, -0.023204f, 0.021306f, 0.031099f, -0.022720f, -0.007066f, -0.000657f, 0.024541f, -0.031132f, 0.025488f, -0.027485f, 0.013119f, -0.047639f, -0.048855f, 0.048688f, 0.006360f, 0.004452f, -0.005567f, -0.035155f, -0.010835f, 0.032663f, 0.003522f, 0.011213f, 0.054116f, -0.008204f, -0.041058f, -0.003780f, -0.023338f, 0.018637f, 0.020245f, -0.019372f, -0.016600f, 0.021526f, + 0.044788f, 0.056866f, 0.058635f, -0.036319f, 0.059662f, -0.054675f, 0.009160f, 0.028527f, -0.028133f, 0.003971f, 0.011169f, -0.014980f, -0.029378f, -0.055297f, 0.084112f, -0.018906f, -0.016648f, -0.028120f, -0.004784f, -0.011632f, 0.027290f, -0.056640f, -0.016400f, -0.035456f, 0.012081f, -0.035639f, 0.034105f, -0.000258f, 0.017535f, -0.039293f, -0.071635f, 0.003358f, -0.052385f, -0.054656f, 0.024667f, -0.041928f, -0.035554f, 0.069142f, -0.025677f, -0.040447f, 0.005096f, -0.041587f, 0.019427f, 0.026108f, -0.007694f, -0.033965f, -0.009994f, 0.019794f, 0.017341f, -0.015444f, -0.001545f, 0.060978f, -0.010949f, -0.037634f, -0.047883f, -0.006875f, -0.021037f, -0.071958f, 0.067440f, 0.023355f, -0.082710f, 0.050885f, -0.003758f, -0.034639f, 0.158828f, 0.089501f, 0.073089f, 0.038848f, 0.022251f, -0.037713f, 0.005801f, 0.017492f, 0.018648f, 0.007128f, 0.069502f, 0.015604f, -0.020720f, -0.034256f, -0.140651f, 0.028698f, 0.018396f, -0.000678f, -0.027510f, -0.052938f, -0.010541f, -0.034098f, -0.030616f, -0.002184f, 0.044315f, -0.030413f, 0.076717f, 0.011279f, -0.015393f, -0.005358f, -0.006609f, 0.006139f, + 0.032234f, -0.012515f, 0.008027f, 0.022705f, 0.007749f, 0.004394f, 0.017598f, -0.028612f, 0.013859f, 0.005202f, 0.044852f, -0.015572f, -0.011299f, -0.012318f, -0.011426f, -0.035618f, -0.019508f, 0.013067f, -0.039034f, 0.029108f, -0.007970f, -0.018529f, 0.026668f, 0.017080f, 0.022413f, -0.008327f, -0.003634f, 0.003071f, 0.004185f, -0.024531f, 0.012808f, 0.001860f, -0.001277f, -0.002113f, 0.015945f, -0.072755f, 0.122913f, 0.015708f, 0.040310f, 0.022007f, -0.030431f, 0.022903f, 0.034646f, 0.008685f, -0.003487f, -0.029635f, -0.005170f, 0.008450f, -0.013850f, -0.010476f, 0.005188f, 0.013872f, 0.035783f, -0.024679f, 0.015071f, 0.001540f, 0.028564f, -0.009988f, 0.005687f, 0.009491f, -0.032740f, 0.026745f, 0.004348f, 0.006698f, 0.009599f, 0.009949f, -0.020737f, 0.022249f, -0.017872f, 0.004646f, 0.021237f, -0.011437f, 0.020821f, -0.008864f, 0.026236f, 0.020446f, 0.011851f, -0.032380f, 0.024334f, 0.018581f, 0.014821f, 0.040627f, -0.038911f, -0.003283f, -0.000323f, -0.008156f, 0.011948f, -0.019993f, -0.032233f, 0.022267f, 0.025064f, 0.012688f, -0.003055f, 0.005454f, -0.003440f, 0.013162f, + -0.011288f, 0.005430f, -0.023933f, 0.021961f, -0.037176f, 0.035274f, 0.019622f, -0.011642f, -0.000498f, 0.014739f, 0.001061f, 0.013230f, 0.000283f, 0.001642f, -0.001231f, -0.012458f, 0.018046f, 0.024602f, -0.021540f, -0.004787f, 0.004525f, 0.013730f, -0.009779f, -0.010100f, 0.002863f, 0.004638f, -0.002441f, 0.002628f, -0.007914f, 0.003174f, 0.010068f, -0.007651f, 0.002154f, 0.006106f, -0.008112f, 0.007140f, 0.008819f, -0.000619f, -0.002834f, -0.004006f, 0.001720f, 0.018447f, -0.006870f, 0.002558f, -0.016945f, 0.001206f, 0.018810f, -0.013118f, 0.014002f, -0.006276f, 0.001065f, 0.031338f, -0.005461f, 0.000810f, -0.000658f, -0.009415f, 0.016127f, 0.006799f, 0.006926f, 0.006802f, -0.005096f, 0.004360f, 0.017662f, -0.004953f, 0.012025f, -0.007644f, -0.001341f, 0.023756f, -0.098022f, -0.228373f, -0.036483f, 0.133749f, 0.121408f, 0.298934f, 0.156115f, -0.080359f, -0.024674f, -0.165421f, -0.280894f, -0.019319f, -0.127634f, -0.017713f, 0.204734f, 0.087490f, 0.158184f, 0.242853f, -0.028209f, -0.035491f, -0.123282f, -0.209626f, -0.166691f, -0.010673f, -0.062611f, -0.023665f, 0.174255f, 0.055321f, + 0.113363f, 0.206015f, 0.033779f, -0.000770f, 0.021360f, -0.125196f, -0.189621f, 0.032654f, -0.195945f, -0.128150f, 0.043544f, -0.019646f, 0.031904f, 0.252302f, 0.028987f, 0.096757f, 0.206007f, -0.040979f, 0.006438f, 0.045979f, -0.198513f, -0.165536f, -0.058633f, -0.225936f, -0.087478f, 0.028842f, 0.041855f, 0.155688f, 0.219280f, 0.156312f, 0.110359f, 0.096142f, -0.036464f, -0.132343f, -0.108651f, -0.163630f, -0.171894f, -0.073681f, -0.043512f, 0.001174f, 0.144373f, 0.172180f, 0.053967f, 0.134548f, 0.039311f, -0.042576f, 0.028385f, -0.093751f, -0.130272f, -0.025498f, -0.060470f, -0.040512f, 0.073566f, -0.002720f, 0.051333f, 0.091401f, -0.024989f, -0.002011f, 0.000097f, -0.046268f, -0.014149f, -0.003192f, -0.034591f, 0.038708f, 0.014139f, -0.009021f, 0.063356f, 0.020166f, -0.008949f, 0.060770f, -0.021233f, -0.065143f, 0.001412f, -0.099512f, -0.069517f, 0.021490f, -0.066077f, 0.014142f, 0.076845f, 0.056360f, 0.104703f, 0.114014f, 0.041673f, 0.040296f, -0.004644f, -0.094051f, -0.131264f, -0.135253f, -0.141089f, -0.089798f, -0.006609f, 0.045282f, 0.097707f, 0.169365f, 0.181935f, 0.150873f, + 0.118291f, -0.007121f, -0.110893f, -0.159294f, -0.203409f, -0.207742f, -0.110578f, -0.033492f, 0.087098f, 0.183754f, 0.166693f, 0.100271f, 0.074533f, 0.021533f, -0.015302f, -0.025049f, -0.073147f, -0.084946f, -0.063512f, -0.053518f, -0.038027f, -0.008131f, 0.007888f, 0.030157f, 0.045588f, 0.045935f, 0.044563f, 0.039099f, 0.018218f, -0.002570f, -0.014058f, -0.013683f, -0.009907f, -0.005530f, -0.004375f} + }, + { + {-0.008213f, 0.008653f, 0.002179f, -0.004681f, -0.002074f, -0.010448f, -0.002783f, 0.008781f, -0.004618f, -0.003361f, 0.002718f, -0.001348f, -0.000311f, 0.000574f, -0.002777f, -0.002226f, 0.010643f, 0.005189f, -0.001274f, 0.000542f, -0.001561f, -0.003149f, 0.001483f, 0.003820f, 0.005866f, -0.001469f, 0.002256f, 0.002723f, -0.009384f, -0.002860f, 0.000002f, -0.001843f, 0.005789f, 0.000549f, -0.001959f, 0.005216f, -0.003939f, 0.001779f, 0.008079f, -0.004446f, 0.000532f, 0.001103f, 0.006138f, -0.002334f, 0.008458f, -0.011941f, -0.004347f, 0.005229f, -0.002354f, -0.010118f, 0.000744f, 0.002059f, 0.003393f, 0.003491f, -0.001081f, -0.004348f, 0.000391f, -0.003944f, -0.002681f, 0.001200f, 0.005035f, 0.004640f, -0.006745f, 0.005965f, -0.007383f, 0.006623f, 0.000390f, 0.005808f, -0.002244f, -0.004785f, -0.002113f, 0.003908f, -0.000741f, -0.000974f, -0.001162f, 0.005407f, -0.005806f, 0.003000f, 0.001431f, 0.001460f, 0.001854f, 0.004325f, 0.001388f, -0.002775f, -0.003133f, -0.001733f, 0.002357f, -0.000508f, -0.002299f, 0.000444f, -0.002777f, -0.000615f, -0.000190f, -0.002842f, -0.001132f, -0.001602f, + 0.000378f, 0.001530f, -0.001915f, -0.001380f, 0.000797f, -0.000394f, -0.002741f, -0.000029f, 0.001498f, -0.001069f, -0.000136f, 0.000559f, -0.000253f, 0.001074f, 0.000784f, 0.000078f, -0.002071f, -0.000696f, 0.000078f, -0.000942f, 0.000057f, -0.000232f, -0.001451f, 0.000813f, -0.002460f, -0.028477f, 0.009350f, -0.010351f, -0.004124f, -0.008475f, -0.008702f, 0.004948f, -0.002902f, -0.007348f, -0.003948f, 0.009996f, 0.014856f, -0.008124f, -0.003024f, -0.000721f, -0.010699f, -0.010053f, 0.000754f, -0.001016f, 0.006537f, 0.002203f, 0.004869f, -0.004288f, -0.002685f, -0.005556f, 0.001566f, 0.009589f, 0.004163f, 0.001865f, -0.006182f, 0.004689f, 0.001418f, 0.002870f, -0.004035f, 0.000358f, 0.001417f, 0.002155f, -0.005483f, -0.004010f, 0.001501f, -0.007569f, -0.007738f, 0.003321f, 0.005870f, -0.006598f, -0.003320f, -0.002543f, 0.000475f, 0.005852f, 0.004718f, 0.002042f, 0.000890f, 0.015134f, 0.005943f, -0.004779f, 0.005893f, 0.004198f, -0.004205f, 0.007150f, -0.002664f, -0.001793f, -0.000040f, -0.003117f, 0.006354f, -0.003577f, 0.001669f, 0.003830f, 0.003069f, -0.005655f, 0.002228f, 0.001056f, + 0.001145f, -0.001978f, -0.002804f, -0.001178f, 0.008876f, 0.000591f, -0.002631f, -0.001903f, 0.002095f, -0.007987f, 0.001547f, 0.004756f, -0.000309f, 0.003079f, -0.001759f, -0.002878f, 0.001930f, 0.001759f, -0.000745f, 0.002993f, 0.001542f, -0.000854f, 0.002124f, 0.002224f, 0.003719f, 0.000484f, 0.000013f, -0.000263f, -0.001119f, -0.001582f, -0.000160f, -0.000284f, -0.000990f, 0.001095f, -0.000352f, 0.003707f, 0.021669f, 0.008636f, -0.001513f, 0.000978f, 0.004964f, 0.002592f, -0.001469f, -0.009370f, 0.000300f, 0.008305f, -0.008527f, -0.000957f, -0.016001f, 0.004195f, 0.006513f, 0.000430f, -0.003814f, 0.011691f, 0.008220f, -0.007542f, 0.003640f, 0.000438f, -0.006612f, 0.010432f, 0.005751f, -0.000685f, 0.004212f, 0.009940f, -0.003086f, -0.002060f, 0.000662f, 0.000054f, 0.000235f, 0.002383f, 0.012209f, 0.002454f, 0.001820f, -0.019749f, -0.001047f, 0.000894f, 0.002356f, -0.008940f, 0.002065f, -0.007212f, -0.005535f, -0.007628f, -0.004984f, 0.000040f, 0.002290f, -0.004663f, 0.004653f, -0.011349f, -0.006519f, -0.000698f, -0.000154f, 0.003633f, -0.004549f, -0.001064f, -0.004120f, 0.002458f, + 0.006140f, -0.003721f, 0.000656f, -0.003222f, -0.000589f, 0.009519f, 0.007457f, -0.003014f, 0.006988f, -0.003356f, -0.005965f, -0.007453f, -0.000563f, -0.000697f, -0.005027f, 0.004534f, -0.000802f, 0.001290f, -0.000561f, -0.001660f, 0.000337f, -0.001075f, -0.004076f, -0.000263f, -0.006493f, 0.000729f, -0.003200f, -0.002092f, -0.005455f, 0.006320f, -0.001943f, 0.002152f, 0.004317f, 0.001709f, -0.002204f, -0.000514f, -0.002474f, -0.000184f, 0.001086f, -0.002434f, 0.002508f, -0.000208f, 0.000272f, 0.000359f, -0.000896f, 0.001473f, 0.000854f, 0.000462f, 0.000185f, 0.003573f, 0.001716f, -0.001154f, -0.002438f, -0.002223f, 0.002159f, 0.002907f, -0.000011f, 0.000740f, 0.034212f, -0.014876f, 0.002820f, -0.001243f, -0.006304f, 0.005442f, 0.009595f, -0.006218f, 0.010315f, -0.000558f, 0.011002f, 0.003057f, 0.003888f, -0.004730f, 0.006239f, 0.002419f, 0.006389f, -0.013449f, 0.007216f, -0.007948f, 0.002497f, -0.006674f, 0.008450f, -0.002295f, 0.008512f, -0.004989f, 0.003137f, -0.003266f, -0.000732f, -0.000365f, -0.000852f, 0.003355f, 0.017682f, 0.000794f, 0.005196f, -0.004880f, -0.008188f, 0.000359f, + 0.000165f, 0.000360f, 0.002697f, -0.005665f, 0.011601f, -0.000722f, 0.009726f, 0.000692f, -0.004197f, -0.005301f, -0.014575f, 0.007180f, 0.004757f, -0.006802f, 0.000767f, 0.005861f, 0.003112f, -0.016966f, 0.010150f, -0.000554f, 0.007218f, -0.010182f, -0.010977f, -0.005311f, -0.010692f, -0.001943f, 0.012373f, 0.002594f, -0.004732f, 0.000761f, 0.007002f, -0.002330f, -0.005608f, -0.002893f, -0.006290f, 0.004533f, -0.009540f, -0.001656f, -0.007318f, -0.002772f, -0.000027f, 0.008240f, 0.003868f, 0.000931f, 0.002571f, 0.010340f, 0.005426f, 0.001295f, 0.003778f, -0.002879f, -0.001140f, 0.000726f, 0.000198f, 0.001686f, 0.000870f, -0.001738f, 0.001018f, 0.003678f, -0.000244f, 0.000828f, 0.001366f, -0.001714f, -0.002371f, 0.002327f, -0.002838f, 0.003430f, 0.002011f, 0.003183f, 0.000085f, -0.001151f, 0.001937f, 0.003154f, 0.000823f, -0.001239f, 0.001026f, 0.008943f, -0.020976f, 0.004275f, -0.006614f, -0.019166f, -0.014773f, 0.007853f, 0.008759f, 0.011527f, -0.005706f, -0.002966f, 0.007936f, 0.003792f, 0.011860f, 0.003862f, -0.001323f, 0.001213f, 0.007570f, 0.014749f, -0.003776f, 0.004299f, + -0.000180f, 0.011951f, 0.002750f, -0.000731f, -0.002396f, -0.009120f, -0.013866f, 0.000150f, -0.001993f, 0.004168f, -0.000784f, 0.003265f, 0.002431f, 0.000846f, 0.000891f, 0.002761f, -0.004733f, 0.000531f, 0.006596f, 0.010316f, -0.005046f, 0.001226f, -0.004447f, -0.005927f, 0.008525f, -0.006541f, -0.016287f, -0.006405f, -0.004170f, 0.007827f, 0.000656f, 0.008636f, 0.007898f, -0.004184f, 0.000351f, -0.006759f, -0.000938f, -0.002902f, 0.010116f, -0.012737f, -0.000366f, 0.004293f, -0.013486f, -0.015182f, 0.000237f, 0.004692f, 0.009618f, -0.006703f, -0.016058f, 0.008385f, -0.014816f, 0.017329f, 0.009796f, 0.002853f, 0.007391f, -0.000174f, -0.007131f, 0.022028f, -0.002000f, 0.010662f, -0.000403f, 0.015409f, 0.010598f, 0.005634f, -0.001565f, -0.003003f, -0.005164f, -0.001903f, 0.002335f, 0.000560f, 0.004264f, -0.004355f, 0.002660f, -0.002313f, -0.001571f, -0.001635f, -0.001774f, 0.002093f, -0.001101f, -0.000036f, -0.003256f, -0.000148f, 0.002025f, 0.003718f, -0.003725f, -0.004564f, 0.000655f, 0.002023f, -0.000019f, 0.002432f, -0.001352f, 0.000288f, -0.001776f, -0.000575f, 0.001273f, 0.002299f, + 0.002830f, 0.001689f, -0.002205f, -0.046420f, 0.009548f, 0.002333f, -0.023320f, -0.029428f, -0.004744f, -0.022723f, 0.018448f, 0.005272f, -0.013704f, 0.000841f, -0.006385f, 0.002038f, -0.009361f, 0.001182f, -0.000548f, 0.000093f, 0.013001f, -0.004667f, -0.003048f, -0.005444f, -0.004802f, -0.012291f, -0.008242f, 0.012299f, -0.005098f, 0.007771f, -0.006870f, 0.003353f, 0.000195f, 0.007019f, -0.007173f, 0.005312f, -0.007205f, 0.003121f, -0.002764f, -0.004508f, 0.004445f, -0.011493f, 0.004400f, -0.005860f, -0.002109f, -0.008359f, 0.020149f, 0.009578f, 0.017666f, -0.007552f, 0.007447f, 0.005982f, -0.003515f, 0.003129f, -0.008375f, 0.008865f, 0.019375f, 0.015306f, -0.010675f, -0.002874f, 0.004538f, -0.007741f, -0.005192f, -0.013542f, -0.025317f, -0.008601f, 0.012982f, 0.004657f, -0.006247f, 0.002557f, 0.001333f, -0.006910f, -0.012024f, -0.012149f, 0.008633f, 0.000996f, -0.018606f, 0.001971f, 0.001801f, -0.000919f, -0.001387f, 0.006168f, 0.013499f, -0.001380f, -0.000009f, 0.001885f, -0.000007f, -0.003551f, -0.012297f, 0.004071f, 0.004154f, 0.002530f, 0.005756f, 0.003480f, -0.005257f, 0.001357f, + -0.003307f, 0.000687f, -0.002795f, -0.001130f, -0.003093f, 0.000080f, 0.000706f, -0.000372f, -0.002236f, -0.002181f, -0.000651f, 0.000960f, -0.000063f, 0.004524f, 0.001627f, 0.004223f, 0.004579f, 0.004949f, -0.005918f, -0.006017f, -0.002246f, 0.004546f, -0.001534f, 0.001670f, -0.001762f, 0.002512f, 0.002643f, 0.001702f, -0.002878f, -0.001628f, -0.018169f, -0.007565f, -0.004712f, 0.013745f, -0.003614f, 0.003276f, -0.014151f, -0.014768f, 0.000757f, 0.004305f, -0.008630f, -0.004940f, -0.008095f, 0.016843f, 0.003741f, -0.005618f, -0.012244f, -0.012092f, -0.011810f, -0.003272f, 0.005730f, 0.016919f, 0.005523f, 0.009572f, -0.007542f, 0.018017f, 0.010321f, 0.003338f, 0.000251f, 0.018530f, -0.010762f, 0.001791f, 0.005912f, 0.012555f, -0.020211f, -0.010280f, 0.008898f, 0.003599f, -0.002739f, 0.021163f, -0.009173f, 0.006019f, 0.012805f, 0.004006f, 0.002209f, 0.009355f, 0.003853f, 0.004681f, 0.004814f, 0.002071f, 0.005538f, -0.000259f, 0.008126f, -0.001814f, 0.019816f, -0.014298f, 0.016323f, 0.012964f, -0.011166f, 0.012839f, 0.002445f, 0.010921f, 0.011078f, -0.024079f, -0.000554f, -0.000914f, + -0.007181f, 0.003913f, -0.006468f, 0.006743f, -0.002652f, 0.015440f, -0.001587f, 0.002468f, 0.006401f, 0.004374f, 0.006200f, -0.009766f, -0.003199f, -0.009982f, -0.009195f, -0.005285f, 0.015038f, 0.002276f, -0.004658f, 0.004456f, 0.004222f, 0.001944f, -0.002414f, 0.001597f, -0.001675f, 0.005927f, 0.002343f, 0.001907f, -0.002737f, 0.001851f, -0.005495f, -0.000482f, 0.006639f, 0.003433f, -0.000941f, 0.002202f, 0.002431f, -0.001794f, 0.002871f, 0.001881f, 0.006449f, 0.003515f, -0.003398f, -0.001370f, -0.001965f, 0.001959f, -0.005501f, 0.001668f, 0.024269f, -0.006304f, -0.003663f, -0.005841f, 0.017309f, 0.009130f, 0.001927f, 0.006658f, -0.011562f, 0.025843f, 0.008617f, -0.001945f, 0.009807f, 0.012529f, -0.020943f, -0.001322f, 0.005061f, 0.002549f, 0.000054f, 0.017884f, -0.008474f, -0.010716f, 0.024571f, 0.003791f, -0.001657f, -0.002345f, 0.012878f, 0.001071f, -0.001779f, -0.002312f, -0.005866f, 0.006473f, -0.003608f, 0.008604f, 0.006067f, -0.015338f, -0.014544f, 0.001926f, 0.028984f, -0.000251f, 0.005977f, -0.017739f, 0.008879f, 0.011966f, -0.007305f, 0.008896f, 0.010996f, -0.017986f, + -0.010966f, -0.002177f, -0.023090f, -0.012198f, -0.013754f, 0.004161f, -0.004670f, -0.005042f, -0.002475f, 0.016384f, -0.022267f, 0.009963f, 0.004920f, -0.007151f, 0.013701f, -0.008633f, 0.001374f, -0.018665f, -0.000330f, 0.011438f, 0.010253f, 0.021447f, -0.025173f, -0.006177f, -0.027956f, -0.005919f, -0.000514f, -0.006573f, 0.003194f, -0.001278f, 0.025535f, 0.019878f, 0.011247f, -0.012594f, 0.000694f, 0.004979f, 0.012463f, 0.015382f, -0.000313f, 0.000158f, -0.002143f, 0.000415f, 0.008725f, -0.000332f, -0.000724f, -0.000261f, 0.000181f, 0.000528f, 0.001079f, 0.003620f, -0.003570f, -0.001039f, 0.003652f, 0.000698f, 0.003374f, -0.000027f, 0.000384f, -0.002839f, 0.004620f, 0.002937f, 0.000064f, 0.004427f, -0.002197f, -0.000185f, 0.004046f, 0.001178f, -0.000698f, -0.004929f, -0.000346f, 0.001226f, 0.000719f, -0.001698f, 0.005173f, 0.008792f, -0.001605f, -0.000146f, -0.003942f, 0.002972f, 0.016591f, -0.018419f, 0.000704f, -0.011251f, 0.031791f, -0.013302f, -0.007602f, 0.027574f, 0.020810f, 0.003937f, -0.038225f, -0.009243f, 0.017725f, 0.001531f, -0.001746f, -0.005354f, -0.002924f, -0.002884f, + 0.002772f, 0.006041f, 0.005508f, 0.005256f, 0.034047f, -0.006977f, -0.004834f, 0.000137f, 0.004525f, -0.010010f, 0.006058f, 0.003717f, -0.001178f, -0.011026f, -0.006914f, 0.012378f, 0.013218f, 0.024975f, 0.006442f, -0.010112f, 0.006367f, -0.000200f, 0.006451f, 0.000585f, 0.013876f, -0.011369f, -0.017063f, -0.017548f, 0.011652f, -0.004913f, 0.002498f, 0.004729f, -0.006238f, -0.001045f, 0.029582f, 0.010204f, -0.024812f, 0.017831f, 0.005732f, 0.030004f, -0.015462f, -0.014517f, 0.008720f, 0.016213f, 0.011188f, 0.006325f, -0.002673f, 0.001068f, 0.007763f, -0.009605f, -0.002720f, 0.000450f, 0.012761f, -0.009067f, 0.025561f, -0.000790f, -0.000275f, -0.013047f, -0.014782f, 0.029273f, 0.008738f, -0.023785f, -0.005523f, 0.020219f, 0.014004f, 0.002910f, 0.005118f, -0.012042f, 0.003884f, 0.003378f, 0.003990f, 0.002363f, 0.004421f, -0.005461f, -0.006733f, 0.001050f, -0.000138f, -0.005469f, -0.001792f, 0.005366f, 0.005195f, -0.007357f, 0.002054f, 0.000148f, 0.003343f, 0.004655f, -0.001182f, -0.001154f, -0.001781f, 0.003200f, 0.009031f, -0.006318f, 0.005006f, -0.000246f, 0.000285f, -0.003627f, + -0.000821f, -0.002652f, -0.001851f, 0.004477f, -0.001421f, -0.002312f, -0.005757f, -0.000013f, -0.003233f, -0.022948f, -0.019502f, -0.007727f, 0.006834f, 0.007009f, 0.034869f, 0.033825f, -0.004170f, 0.002513f, 0.001304f, 0.000018f, -0.000587f, -0.007287f, -0.023058f, -0.017783f, -0.009252f, 0.007841f, -0.006569f, -0.020144f, -0.005826f, 0.003519f, -0.001665f, -0.030751f, -0.009149f, 0.006485f, -0.003304f, 0.002617f, 0.001923f, 0.008890f, 0.013243f, 0.001896f, -0.009906f, 0.009618f, 0.010137f, 0.006967f, -0.000576f, 0.013074f, -0.026906f, 0.008671f, -0.023856f, 0.029235f, -0.021116f, 0.007773f, -0.022391f, -0.003985f, -0.024995f, -0.013429f, -0.015634f, -0.017056f, 0.011338f, -0.015038f, -0.002992f, 0.004873f, -0.000332f, -0.008166f, -0.005798f, -0.002893f, -0.024433f, 0.000480f, 0.001454f, 0.011732f, -0.038059f, 0.000573f, -0.001116f, 0.017366f, 0.021138f, -0.014769f, -0.008996f, 0.000473f, 0.016216f, -0.031695f, 0.019975f, -0.014440f, -0.009446f, 0.001192f, -0.030633f, -0.001925f, -0.002584f, -0.005126f, -0.005570f, -0.004168f, 0.030491f, 0.012122f, 0.006179f, -0.007695f, -0.006983f, -0.008038f, + 0.000854f, 0.007137f, -0.012360f, -0.000714f, -0.002234f, -0.003683f, 0.001540f, 0.008653f, -0.003464f, -0.006190f, 0.005632f, 0.003113f, -0.000210f, 0.005949f, 0.003352f, 0.004916f, -0.003318f, -0.004527f, 0.007624f, -0.005979f, 0.001911f, -0.007715f, -0.001462f, -0.000099f, -0.001543f, -0.003198f, -0.006499f, -0.007524f, -0.007569f, 0.001378f, -0.000456f, -0.002087f, -0.005462f, -0.005580f, -0.002131f, -0.003163f, 0.001664f, 0.007185f, 0.005527f, -0.018172f, -0.047108f, -0.018915f, -0.009086f, 0.008019f, 0.012537f, -0.015574f, -0.005977f, -0.019551f, -0.017244f, 0.008841f, -0.015167f, 0.015296f, 0.006159f, 0.010932f, -0.002000f, -0.015435f, 0.026487f, 0.010384f, 0.014768f, -0.019250f, 0.007924f, 0.003265f, -0.027905f, 0.016938f, 0.010119f, 0.000794f, -0.019052f, -0.007504f, 0.009155f, 0.009652f, -0.000622f, 0.003169f, 0.013286f, -0.013429f, -0.009916f, 0.015601f, -0.031781f, -0.031431f, -0.041140f, -0.009468f, 0.012980f, -0.036233f, -0.030194f, -0.018489f, 0.000406f, 0.012646f, 0.003930f, 0.003352f, 0.000426f, -0.010705f, -0.014543f, -0.034257f, 0.017721f, 0.004746f, 0.040957f, -0.010160f, + 0.000883f, -0.025803f, -0.030670f, 0.003546f, 0.019483f, 0.001025f, -0.019425f, 0.012355f, 0.004945f, 0.027720f, 0.002557f, 0.003186f, -0.013779f, -0.002927f, 0.011699f, -0.027878f, -0.051618f, -0.014693f, -0.013037f, 0.002414f, 0.013324f, -0.024990f, -0.012657f, 0.007669f, -0.008792f, -0.002367f, 0.007861f, -0.005133f, -0.004313f, 0.010209f, 0.002434f, -0.001334f, 0.005049f, 0.007838f, 0.009019f, 0.001366f, -0.006316f, -0.016746f, -0.001649f, -0.010377f, 0.002561f, 0.001407f, 0.001952f, 0.006369f, -0.005991f, 0.005748f, 0.008303f, 0.005219f, 0.004653f, 0.004303f, -0.012229f, -0.011528f, -0.004305f, -0.009995f, 0.000972f, 0.002288f, 0.003130f, 0.010915f, -0.002745f, 0.006771f, 0.004368f, -0.005237f, -0.002535f, -0.007423f, -0.009450f, -0.003028f, -0.012428f, -0.004504f, -0.002822f, -0.043973f, -0.033799f, -0.015555f, 0.023192f, -0.002035f, 0.039720f, 0.007843f, -0.003460f, -0.022312f, 0.007918f, 0.040939f, -0.042886f, -0.038590f, -0.012778f, -0.006417f, -0.026913f, 0.025469f, 0.007423f, 0.013803f, 0.016443f, -0.026919f, -0.003254f, 0.010814f, -0.017019f, 0.031775f, 0.000406f, 0.007161f, + -0.009313f, 0.007860f, -0.021062f, -0.011952f, -0.007293f, 0.011972f, 0.005588f, 0.019340f, -0.031740f, 0.002869f, -0.000340f, -0.023547f, 0.025647f, -0.015354f, -0.037765f, 0.007489f, 0.013455f, 0.002789f, -0.011369f, -0.002682f, -0.015810f, 0.002646f, 0.012698f, 0.005518f, -0.025879f, 0.010148f, -0.006011f, -0.028522f, -0.017051f, -0.035053f, 0.000624f, -0.005392f, -0.001098f, 0.004640f, 0.021381f, 0.026872f, 0.022104f, -0.011306f, -0.019617f, 0.006523f, -0.005136f, -0.003172f, -0.015220f, 0.027979f, 0.022828f, -0.004833f, 0.042590f, -0.027182f, 0.014053f, 0.027119f, 0.028833f, 0.000919f, 0.018242f, -0.011819f, -0.004956f, -0.023814f, -0.010386f, 0.014483f, -0.005131f, -0.018504f, 0.011382f, -0.010527f, 0.011966f, -0.005285f, -0.013010f, 0.006836f, -0.002802f, -0.007100f, -0.005836f, 0.005083f, -0.006485f, 0.004468f, 0.008336f, -0.008850f, 0.011404f, -0.001209f, -0.006665f, 0.004597f, 0.001101f, 0.001002f, -0.005603f, 0.007095f, -0.010718f, 0.003818f, 0.003592f, 0.000718f, -0.007273f, -0.000437f, -0.004457f, 0.005595f, 0.009338f, 0.021284f, 0.010289f, 0.017078f, -0.001200f, 0.000191f, + 0.008255f, -0.010330f, 0.002519f, -0.014133f, -0.006259f, 0.016024f, -0.038125f, 0.004795f, 0.000411f, -0.024113f, 0.003472f, -0.053606f, -0.046378f, -0.011120f, -0.000448f, 0.001972f, -0.001209f, -0.019073f, -0.000712f, -0.005471f, 0.017092f, 0.003322f, -0.001127f, 0.003195f, -0.040526f, 0.013973f, 0.007503f, 0.022448f, 0.009273f, 0.009713f, 0.026342f, 0.013127f, 0.003768f, 0.066016f, 0.014071f, 0.025388f, 0.034984f, 0.001621f, 0.024655f, 0.006175f, -0.013784f, 0.016029f, 0.001075f, 0.007709f, -0.013505f, 0.000987f, -0.008787f, 0.005585f, -0.008762f, 0.018560f, 0.002167f, -0.011572f, -0.014516f, 0.001974f, -0.039259f, 0.022763f, 0.015290f, -0.002011f, -0.003629f, 0.008939f, -0.010499f, -0.008656f, -0.012942f, -0.015533f, 0.012865f, -0.012394f, 0.021314f, 0.024897f, 0.024316f, 0.025952f, -0.006124f, -0.039357f, 0.000529f, 0.016596f, 0.039579f, -0.009218f, -0.001568f, 0.018788f, 0.027606f, 0.040821f, -0.005407f, 0.017977f, -0.012200f, -0.007016f, -0.032928f, -0.025599f, -0.011307f, -0.011625f, -0.009498f, 0.006837f, 0.001291f, -0.014084f, 0.015802f, 0.010043f, 0.012384f, 0.022442f, + 0.008843f, 0.008403f, -0.002828f, 0.000013f, -0.003476f, -0.006442f, 0.000033f, 0.004037f, -0.000144f, 0.011835f, 0.009299f, 0.005777f, -0.000852f, -0.009735f, 0.000382f, -0.006998f, -0.007924f, 0.004926f, 0.005813f, 0.001782f, -0.012316f, -0.002749f, -0.017825f, -0.004313f, 0.005527f, 0.008697f, -0.005876f, 0.007223f, -0.010311f, -0.011740f, -0.006178f, -0.007095f, 0.006248f, 0.003348f, -0.010580f, -0.007126f, 0.032425f, 0.042056f, -0.031104f, -0.032553f, -0.043040f, 0.039038f, -0.003932f, -0.015536f, 0.013670f, 0.013244f, 0.036568f, 0.030522f, 0.002186f, 0.033452f, 0.047452f, 0.013688f, -0.023803f, 0.022899f, -0.022007f, -0.012174f, -0.004342f, -0.015274f, -0.018425f, 0.010011f, -0.009155f, -0.008960f, -0.022281f, 0.051707f, 0.006728f, -0.027010f, 0.000303f, -0.003361f, 0.023327f, 0.024683f, 0.009921f, -0.015648f, 0.024868f, -0.006295f, 0.015480f, -0.046625f, 0.002803f, 0.019918f, -0.019825f, 0.007141f, -0.021570f, -0.017476f, 0.048875f, 0.020552f, 0.014988f, -0.002992f, -0.042639f, -0.010044f, 0.012802f, 0.009670f, 0.007317f, -0.009787f, 0.034571f, -0.023640f, 0.019373f, -0.010889f, + 0.012940f, 0.014271f, 0.027470f, 0.037039f, -0.042167f, -0.000696f, 0.022239f, 0.011041f, 0.031110f, 0.030221f, -0.042042f, 0.000536f, -0.011365f, -0.021564f, -0.001004f, -0.022570f, 0.009837f, 0.018029f, -0.008194f, 0.032322f, -0.006805f, -0.018643f, -0.022761f, 0.020280f, 0.023177f, 0.023109f, -0.005862f, 0.004372f, -0.000942f, -0.032513f, -0.031490f, -0.029474f, 0.018881f, 0.009724f, 0.006282f, 0.015286f, -0.000624f, -0.007915f, 0.022854f, 0.003498f, 0.000218f, 0.014181f, 0.022153f, 0.013592f, 0.002009f, 0.002792f, -0.006094f, 0.013646f, 0.006967f, 0.028274f, -0.002262f, 0.003772f, 0.019951f, 0.016287f, 0.005820f, -0.002381f, 0.012888f, -0.000007f, -0.002238f, 0.022412f, -0.017284f, 0.001336f, 0.013957f, 0.001471f, -0.003715f, -0.006241f, -0.002998f, 0.000349f, 0.015057f, 0.003161f, 0.001436f, 0.016575f, 0.012185f, -0.010032f, 0.032171f, 0.064487f, 0.002385f, -0.031390f, 0.008367f, -0.021120f, 0.013029f, -0.018405f, -0.019817f, 0.058520f, -0.045108f, 0.073576f, 0.044905f, -0.011280f, 0.014521f, 0.035377f, 0.004799f, -0.056100f, 0.021520f, -0.045491f, 0.010373f, 0.003697f, + -0.022681f, 0.000639f, -0.003417f, 0.031947f, -0.016516f, -0.001919f, -0.001622f, -0.010110f, 0.067770f, -0.004201f, -0.010626f, 0.008504f, 0.022567f, -0.023497f, -0.049433f, 0.038440f, -0.006585f, -0.003215f, 0.043722f, -0.026192f, -0.007577f, -0.031130f, 0.007861f, -0.021821f, 0.024512f, 0.022756f, 0.046544f, -0.013674f, 0.012713f, 0.031161f, -0.044928f, 0.005259f, -0.028781f, -0.044988f, -0.057682f, -0.030308f, -0.062338f, -0.069809f, -0.010171f, 0.004341f, -0.033202f, -0.035421f, 0.021404f, -0.002623f, -0.020220f, -0.038158f, 0.026986f, -0.020443f, 0.006692f, 0.034362f, -0.065461f, -0.018879f, -0.012405f, 0.028747f, 0.077286f, -0.036891f, 0.001796f, -0.023445f, -0.034974f, 0.016650f, -0.041766f, 0.033194f, 0.057468f, -0.016592f, -0.027561f, -0.028752f, -0.007737f, -0.006906f, 0.000058f, 0.018772f, 0.013325f, -0.015287f, 0.014840f, -0.001936f, 0.011559f, 0.000696f, -0.014584f, -0.003994f, 0.016454f, -0.028155f, 0.012700f, -0.014731f, 0.003343f, -0.011977f, -0.005174f, -0.016907f, 0.003306f, -0.016236f, -0.025906f, -0.012110f, 0.005424f, -0.018714f, -0.000624f, 0.005789f, 0.027199f, -0.015928f, + -0.009976f, 0.009280f, 0.010843f, -0.019907f, -0.013135f, 0.005888f, -0.006078f, -0.010502f, 0.018762f, 0.003619f, -0.015811f, 0.013788f, 0.003188f, -0.023177f, 0.003942f, -0.019055f, 0.020803f, -0.009511f, -0.030229f, -0.044698f, -0.033910f, 0.037338f, -0.030712f, 0.015013f, 0.035578f, 0.015116f, 0.022828f, -0.042643f, 0.061090f, 0.038339f, 0.033296f, -0.024734f, 0.043774f, -0.004947f, 0.028935f, 0.018897f, 0.006400f, 0.015647f, 0.021235f, 0.012798f, -0.007182f, -0.011070f, -0.009790f, 0.004242f, -0.029487f, -0.034923f, 0.019523f, 0.008444f, 0.011326f, -0.028772f, 0.007770f, 0.008497f, 0.021387f, 0.031690f, 0.047976f, -0.027326f, 0.007254f, 0.068045f, 0.014718f, 0.007087f, 0.006596f, -0.014317f, 0.005010f, 0.067729f, 0.019723f, 0.043772f, 0.012555f, -0.047389f, -0.019623f, -0.034593f, 0.098716f, 0.039816f, -0.038148f, -0.024200f, -0.034022f, 0.005442f, -0.022323f, -0.053959f, 0.012326f, -0.040954f, 0.060451f, -0.004587f, -0.050029f, 0.065518f, 0.053415f, 0.007258f, -0.014513f, 0.008636f, -0.030446f, 0.040188f, 0.072503f, -0.019793f, 0.034391f, 0.080655f, -0.012753f, -0.013611f, + -0.009225f, 0.048922f, -0.003578f, -0.027691f, -0.025578f, -0.026478f, -0.000428f, -0.003681f, -0.022664f, 0.001320f, -0.009497f, 0.024371f, 0.006212f, -0.024439f, -0.015059f, -0.027780f, -0.002944f, 0.003156f, -0.004417f, -0.019660f, -0.021257f, -0.015732f, 0.013352f, 0.021818f, 0.003527f, -0.024022f, -0.003382f, 0.029052f, 0.000249f, 0.026545f, 0.014339f, -0.015990f, -0.001351f, -0.024448f, 0.023295f, 0.009636f, -0.030525f, -0.058293f, 0.005298f, -0.004547f, -0.017416f, 0.018028f, -0.000138f, -0.010928f, -0.008179f, 0.004965f, 0.001569f, -0.003245f, -0.046790f, 0.018559f, -0.006425f, 0.046378f, -0.097044f, -0.066584f, 0.038380f, 0.018360f, 0.013882f, 0.032588f, -0.033120f, -0.043167f, -0.023776f, -0.035555f, 0.020074f, -0.038148f, 0.011113f, 0.025316f, 0.041588f, 0.001374f, 0.034851f, 0.020298f, 0.005719f, -0.011129f, -0.036486f, -0.025743f, 0.021239f, -0.044609f, 0.022690f, 0.005242f, 0.037977f, 0.028983f, -0.014227f, -0.055519f, -0.036110f, -0.003360f, -0.002792f, -0.014684f, 0.037981f, -0.067111f, -0.005222f, 0.002343f, -0.070297f, -0.001360f, -0.008676f, -0.005608f, 0.007501f, 0.041148f, + -0.040116f, -0.110463f, 0.041214f, 0.045020f, 0.026811f, 0.086169f, -0.070960f, -0.009100f, 0.047843f, 0.036626f, -0.044549f, -0.020679f, -0.012310f, 0.067880f, 0.013331f, 0.064795f, -0.093749f, 0.013687f, -0.111830f, -0.066945f, -0.064845f, 0.076864f, 0.024315f, -0.049553f, 0.045081f, 0.005294f, -0.043521f, 0.044250f, -0.065088f, -0.068254f, 0.010165f, -0.070885f, 0.021001f, -0.121102f, 0.018454f, 0.038257f, -0.051641f, 0.056766f, -0.025773f, -0.013642f, 0.037888f, -0.013054f, -0.010475f, -0.026982f, -0.002029f, 0.008979f, 0.020870f, -0.002446f, 0.019390f, 0.038259f, -0.028812f, -0.003088f, -0.022925f, 0.013663f, -0.015001f, -0.003903f, 0.008264f, 0.004775f, 0.005044f, -0.004958f, 0.039279f, -0.012974f, 0.003102f, 0.016931f, -0.034827f, -0.030472f, -0.033822f, -0.015610f, -0.056903f, -0.025982f, -0.020867f, 0.049057f, 0.009595f, 0.043680f, 0.018665f, 0.008926f, 0.019698f, 0.013935f, 0.001680f, 0.016628f, 0.003406f, 0.034054f, 0.083782f, 0.031006f, -0.030004f, -0.019586f, 0.011565f, -0.021272f, -0.024962f, -0.002962f, 0.038984f, -0.006759f, 0.007286f, -0.041432f, -0.008572f, 0.057261f, + -0.041777f, 0.031683f, 0.074762f, 0.037403f, -0.003179f, -0.014250f, -0.024590f, -0.047793f, -0.035165f, 0.041221f, -0.023481f, 0.038683f, 0.027856f, 0.013293f, 0.001815f, 0.015120f, -0.011933f, -0.060780f, -0.021107f, 0.043539f, 0.034466f, 0.036195f, -0.038488f, 0.066432f, -0.017110f, 0.025859f, -0.049097f, 0.044997f, 0.077347f, -0.015518f, -0.027583f, -0.002802f, 0.002811f, -0.017147f, 0.016875f, 0.033899f, -0.063515f, 0.041733f, 0.040383f, -0.009831f, 0.046817f, 0.024909f, 0.020175f, -0.029649f, 0.006088f, 0.041996f, -0.088575f, -0.078758f, -0.032898f, 0.020969f, -0.040814f, -0.119745f, 0.050149f, 0.032969f, -0.015615f, -0.020245f, 0.000837f, -0.006940f, -0.041127f, -0.109979f, -0.006743f, 0.078261f, 0.018887f, -0.013807f, -0.009443f, 0.016985f, 0.063917f, 0.051087f, -0.075243f, -0.030899f, 0.050030f, -0.010509f, -0.020263f, -0.085796f, -0.005130f, 0.047240f, 0.015534f, -0.013116f, 0.028925f, -0.010688f, 0.002939f, -0.032244f, -0.005450f, 0.019806f, 0.029416f, -0.016676f, -0.006226f, 0.006204f, 0.016944f, -0.010463f, 0.010371f, 0.001530f, -0.021154f, 0.012744f, 0.035784f, 0.006314f, + 0.010570f, 0.006848f, 0.016063f, -0.016794f, -0.029856f, 0.003027f, 0.031940f, -0.026170f, 0.011361f, -0.008752f, 0.002708f, -0.025380f, -0.049329f, -0.026602f, 0.018139f, 0.059970f, -0.006282f, 0.028400f, -0.039793f, -0.017278f, -0.026959f, 0.016698f, 0.011465f, 0.019013f, -0.013683f, -0.020373f, -0.001613f, 0.004423f, -0.001968f, 0.040818f, 0.054082f, 0.001274f, -0.060833f, 0.080718f, -0.022590f, -0.056231f, 0.050515f, -0.008032f, -0.030565f, 0.039061f, 0.010501f, -0.008091f, 0.032955f, -0.045026f, 0.042835f, -0.015213f, 0.001499f, -0.013043f, -0.011141f, -0.062798f, 0.024956f, -0.023928f, 0.009965f, -0.025133f, -0.002020f, -0.018719f, 0.018061f, -0.010938f, 0.068004f, 0.012078f, 0.044508f, -0.017224f, 0.011172f, 0.028169f, -0.011877f, 0.019490f, -0.003797f, 0.034009f, -0.001653f, -0.011337f, 0.053709f, -0.047877f, 0.026802f, 0.036738f, -0.021474f, 0.041572f, -0.025361f, -0.000969f, 0.021401f, -0.016176f, 0.048834f, 0.043750f, 0.009128f, 0.072763f, -0.044762f, -0.102593f, -0.017236f, -0.063412f, -0.041955f, 0.149979f, -0.003779f, 0.046054f, -0.006960f, -0.063215f, -0.001592f, 0.063042f, + 0.089234f, 0.054288f, 0.089886f, -0.048281f, -0.014425f, -0.021606f, -0.051269f, 0.034070f, -0.014372f, -0.031616f, -0.003276f, -0.062215f, -0.113773f, 0.028693f, 0.040093f, -0.033637f, 0.022709f, -0.007042f, -0.033923f, 0.036279f, 0.026713f, -0.013225f, 0.037357f, -0.013681f, -0.033309f, 0.017162f, -0.016529f, 0.044305f, 0.004186f, 0.003342f, 0.025029f, 0.008374f, -0.028184f, -0.011798f, 0.014535f, -0.009261f, 0.027576f, -0.038413f, 0.024823f, -0.040280f, -0.010248f, 0.010070f, -0.028588f, 0.018274f, 0.001168f, -0.042922f, -0.006940f, 0.002782f, -0.011513f, -0.000099f, -0.008007f, -0.031497f, 0.012918f, 0.009451f, -0.004995f, 0.031631f, 0.048513f, -0.026435f, -0.037799f, -0.002428f, -0.018015f, 0.052451f, 0.053905f, -0.031767f, -0.020084f, 0.045747f, -0.048133f, 0.057874f, -0.034869f, 0.008002f, -0.000071f, 0.006040f, -0.044402f, -0.006837f, -0.040156f, -0.033222f, 0.000163f, -0.013074f, -0.030281f, -0.012061f, 0.022288f, -0.025858f, 0.020544f, -0.012196f, 0.062234f, -0.028762f, 0.018627f, 0.003813f, -0.015406f, -0.049889f, -0.018262f, 0.038077f, 0.006928f, -0.012404f, 0.049916f, -0.036848f, + -0.037189f, -0.005037f, 0.047668f, -0.043260f, -0.005999f, 0.008536f, 0.012977f, -0.048185f, 0.014573f, 0.016789f, -0.017185f, -0.050390f, 0.000964f, -0.039122f, 0.016650f, 0.008942f, 0.015080f, -0.077044f, -0.032888f, 0.043997f, 0.118644f, -0.053657f, -0.007356f, 0.009585f, -0.019955f, -0.033456f, -0.000597f, 0.099096f, 0.022894f, -0.010067f, -0.008639f, -0.026157f, -0.006017f, -0.020024f, 0.038499f, 0.002046f, -0.024460f, -0.026317f, 0.001455f, 0.017801f, -0.039425f, 0.030878f, 0.009222f, 0.033660f, 0.001426f, 0.042803f, 0.018058f, -0.029773f, 0.040250f, 0.038369f, 0.094944f, 0.030244f, 0.007458f, 0.009837f, -0.034539f, 0.011647f, 0.031134f, 0.032142f, 0.011189f, -0.002153f, 0.001347f, -0.003773f, 0.012088f, 0.013452f, -0.003012f, 0.017355f, -0.004312f, -0.001667f, 0.032906f, 0.014029f, 0.005779f, -0.009693f, 0.009854f, 0.024919f, 0.026262f, 0.030115f, 0.011051f, 0.011134f, -0.016648f, -0.000002f, -0.000808f, 0.005623f, 0.017131f, -0.000567f, -0.013254f, 0.015528f, -0.013895f, 0.012946f, -0.000433f, 0.015255f, 0.002457f, -0.012266f, -0.003248f, 0.001162f, 0.003664f, 0.007673f, + -0.001596f, 0.005543f, 0.004287f, -0.000038f, -0.075290f, 0.100140f, 0.013881f, 0.022850f, 0.024072f, -0.023045f, -0.026588f, 0.001029f, -0.010215f, 0.014304f, 0.033016f, -0.046227f, 0.015374f, -0.009691f, 0.012083f, 0.011342f, 0.007887f, 0.026461f, 0.020691f, -0.019665f, 0.018605f, 0.016215f, -0.015978f, -0.027568f, 0.008490f, -0.009731f, -0.022894f, 0.013816f, 0.011314f, -0.001858f, -0.014958f, 0.000508f, -0.010896f, -0.005228f, 0.001091f, 0.006047f, 0.010563f, -0.020591f, -0.003046f, 0.016648f, -0.007367f, 0.014952f, 0.002867f, 0.010814f, 0.021759f, 0.006524f, -0.022181f, 0.002419f, 0.020760f, -0.011679f, -0.001073f, 0.010152f, -0.035279f, -0.002044f, -0.008718f, -0.032794f, 0.045499f, -0.011468f, -0.001897f, 0.027105f, 0.004632f, -0.020195f, 0.008013f, -0.019295f, -0.003920f, 0.015132f, -0.018193f, -0.006464f, 0.033629f, -0.035603f, 0.003811f, 0.003332f, 0.012217f, -0.015752f, 0.010812f, -0.005325f, 0.010075f, -0.013492f, 0.000622f, -0.003164f, 0.033870f, -0.015331f, -0.001542f, 0.008971f, -0.017135f, -0.001510f, 0.023440f, -0.004811f, 0.015103f, -0.010179f, -0.009740f, 0.001899f, + 0.009070f, -0.008786f, 0.017281f, 0.000036f, -0.003816f, -0.003604f, -0.005494f, -0.005281f, 0.014733f, -0.012407f, 0.014420f, 0.008080f, -0.019034f, 0.004754f, -0.001961f, -0.001435f, 0.011162f, -0.015632f, -0.006394f, 0.002511f, -0.010583f, 0.011181f, -0.010886f, -0.001384f, 0.017862f, 0.003433f, -0.003391f, 0.008377f, -0.009033f, -0.006929f, -0.004404f, 0.008932f, 0.014889f, -0.004368f, -0.004342f, 0.001878f, 0.023615f, -0.098983f, -0.201531f, -0.025846f, 0.126686f, 0.097436f, 0.279526f, 0.134552f, -0.065025f, -0.056792f, -0.132363f, -0.231898f, -0.029219f, -0.089830f, -0.027802f, 0.163941f, 0.104546f, 0.111600f, 0.213337f, -0.007346f, -0.047082f, -0.080300f, -0.210752f, -0.116272f, -0.037333f, -0.039054f, 0.005987f, 0.096122f, 0.074463f, 0.079045f, 0.148941f, 0.087212f, -0.054596f, 0.079471f, -0.083239f, -0.194360f, 0.025009f, -0.130399f, -0.181489f, 0.070970f, -0.015473f, -0.033517f, 0.223435f, 0.073292f, 0.059487f, 0.192614f, -0.020537f, -0.037725f, 0.058708f, -0.128853f, -0.160151f, -0.042969f, -0.137115f, -0.122517f, 0.026120f, 0.026726f, 0.055576f, 0.168072f, 0.148854f, 0.090239f, + 0.106800f, 0.020775f, -0.084015f, -0.090468f, -0.112032f, -0.154004f, -0.071860f, -0.038984f, -0.052263f, 0.046731f, 0.148655f, 0.097115f, 0.095895f, 0.078883f, -0.055400f, -0.000462f, 0.015784f, -0.127076f, -0.052335f, -0.031744f, -0.037136f, 0.058493f, 0.029966f, -0.007174f, 0.047815f, -0.010930f, -0.009825f, 0.008299f, -0.034219f, -0.025741f, 0.017046f, -0.021124f, 0.034678f, 0.043631f, -0.016115f, 0.023725f, 0.044421f, -0.025706f, 0.029130f, 0.014666f, -0.086501f, 0.015470f, -0.028021f, -0.093880f, 0.001543f, -0.053553f, -0.047966f, 0.068532f, 0.074108f, 0.071618f, 0.132545f, 0.042375f, 0.042241f, 0.045069f, -0.057886f, -0.115516f, -0.129069f, -0.165182f, -0.123104f, -0.037003f, 0.021628f, 0.100408f, 0.166213f, 0.184244f, 0.143832f, 0.104927f, 0.020740f, -0.097350f, -0.146794f, -0.179153f, -0.166575f, -0.086234f, -0.005495f, 0.047131f, 0.119328f, 0.110254f, 0.060115f, 0.060535f, 0.023434f, -0.001614f, -0.000477f, -0.018604f, -0.036689f, -0.030300f, -0.038134f, -0.045998f, -0.034071f, -0.025247f, -0.007101f, 0.012284f, 0.030008f, 0.036330f, 0.038368f, 0.031591f, 0.017545f, 0.004539f, + -0.003982f, -0.005532f, -0.003378f, -0.001784f}, + {-0.001968f, 0.005007f, 0.008669f, -0.006482f, -0.005609f, -0.008671f, 0.007847f, 0.003909f, 0.000680f, 0.011610f, -0.001166f, -0.000149f, -0.003556f, -0.002877f, 0.002516f, -0.003110f, -0.006057f, 0.003402f, 0.000978f, 0.009696f, 0.013251f, -0.003455f, -0.007804f, -0.009612f, -0.000610f, -0.005498f, -0.005299f, -0.003636f, -0.000743f, -0.007657f, 0.007366f, -0.002745f, -0.002897f, -0.005067f, -0.003738f, 0.001409f, 0.008277f, -0.000867f, -0.002395f, 0.002499f, -0.008141f, 0.006100f, -0.005080f, -0.018250f, 0.009045f, 0.006010f, 0.010048f, 0.010424f, 0.001981f, 0.005487f, -0.005449f, 0.001544f, 0.007898f, 0.000612f, -0.000099f, -0.001906f, -0.001054f, 0.004237f, -0.003858f, -0.002784f, 0.000194f, 0.004028f, -0.003350f, -0.004169f, -0.006107f, 0.007806f, 0.003097f, 0.000961f, -0.001907f, -0.007817f, -0.000274f, 0.005838f, 0.003624f, -0.001117f, -0.001484f, 0.005848f, -0.000715f, -0.000431f, -0.002553f, -0.002411f, -0.003576f, -0.004231f, 0.000260f, 0.000890f, 0.002005f, -0.004354f, -0.001728f, 0.002418f, -0.003019f, 0.002611f, 0.000702f, 0.001169f, -0.001132f, -0.000073f, 0.000563f, 0.001273f, + 0.000316f, -0.000508f, 0.000794f, -0.000556f, -0.001492f, -0.000484f, -0.002467f, 0.001634f, 0.000836f, -0.000705f, 0.000030f, -0.001115f, 0.001463f, 0.001512f, 0.000483f, 0.000150f, 0.000564f, 0.000536f, -0.001537f, 0.000055f, -0.000304f, -0.000374f, -0.000605f, -0.000207f, 0.000853f, -0.027401f, 0.014231f, -0.001389f, 0.000364f, 0.004922f, 0.006953f, -0.010236f, -0.001338f, -0.001874f, 0.005775f, 0.002169f, -0.006279f, 0.019415f, -0.002128f, -0.001251f, 0.008616f, 0.007063f, 0.002282f, 0.004887f, 0.015843f, -0.007908f, 0.000458f, -0.004054f, 0.001550f, -0.004935f, 0.000357f, 0.000451f, 0.001747f, -0.008865f, 0.000720f, -0.002164f, -0.003356f, -0.000424f, 0.005506f, -0.003102f, 0.005117f, 0.007456f, -0.012980f, 0.001698f, -0.005299f, -0.001478f, -0.008006f, 0.003929f, -0.004766f, -0.000859f, -0.002707f, -0.008145f, 0.003059f, -0.005481f, 0.003658f, 0.001983f, -0.004042f, -0.005943f, 0.000154f, 0.005426f, 0.004085f, 0.009900f, 0.004564f, -0.004350f, -0.012251f, -0.000870f, 0.002121f, 0.015356f, -0.004811f, -0.002391f, -0.000204f, -0.003054f, -0.008064f, -0.003882f, -0.007509f, -0.001060f, + 0.006170f, -0.001456f, 0.007352f, 0.004704f, 0.003784f, 0.005309f, 0.000934f, -0.009690f, -0.002284f, -0.006256f, -0.003975f, -0.010756f, -0.000395f, -0.003105f, 0.001411f, 0.002847f, 0.001236f, -0.001649f, -0.002211f, 0.000311f, 0.002796f, -0.002470f, -0.000695f, 0.000010f, -0.000904f, -0.000283f, -0.001020f, 0.001077f, -0.003712f, -0.001322f, -0.000902f, 0.000050f, -0.000391f, -0.000743f, -0.000022f, -0.005242f, 0.019951f, 0.010392f, -0.003260f, -0.008072f, 0.011406f, -0.013379f, -0.002256f, 0.007398f, -0.005545f, -0.004003f, -0.005782f, 0.013165f, -0.004685f, 0.004048f, 0.001067f, 0.003999f, 0.017981f, -0.018133f, 0.005345f, 0.009041f, -0.006080f, -0.016784f, -0.008786f, -0.001173f, 0.001000f, -0.002404f, -0.003082f, 0.006996f, 0.010158f, -0.000868f, -0.007290f, 0.000521f, -0.009224f, 0.002708f, -0.005814f, 0.003215f, 0.010850f, 0.003976f, -0.011015f, -0.000310f, 0.000614f, 0.016310f, 0.002998f, 0.008157f, -0.002406f, 0.003610f, 0.002806f, -0.019753f, 0.000264f, 0.009343f, 0.004279f, 0.010452f, -0.009316f, -0.005698f, -0.009276f, 0.002499f, 0.005866f, -0.001889f, 0.001965f, 0.000510f, + -0.004679f, 0.001758f, -0.003526f, 0.003146f, 0.002922f, -0.000674f, 0.004786f, 0.000999f, -0.000763f, 0.002141f, 0.011696f, 0.002165f, 0.006084f, 0.007655f, 0.004183f, 0.000193f, -0.000225f, -0.011003f, -0.000066f, 0.011749f, 0.004104f, 0.005219f, -0.000266f, -0.000797f, 0.007338f, -0.005500f, 0.000570f, -0.000489f, 0.003710f, 0.002012f, -0.000005f, -0.004768f, 0.000754f, -0.002399f, -0.000748f, 0.000835f, -0.001575f, -0.001107f, 0.001124f, -0.000116f, 0.003766f, 0.001622f, 0.003440f, 0.001697f, 0.001028f, 0.001913f, -0.001437f, -0.001862f, 0.000193f, 0.000251f, 0.004309f, 0.002695f, 0.000612f, 0.001539f, 0.004095f, -0.000657f, 0.000384f, 0.001322f, 0.041207f, -0.010645f, -0.003854f, -0.006256f, 0.008425f, 0.005624f, 0.014018f, 0.005564f, -0.002077f, 0.006718f, -0.000306f, 0.007515f, 0.002899f, 0.010446f, 0.000207f, 0.008767f, 0.011395f, -0.012658f, 0.002254f, 0.003271f, 0.002094f, 0.001993f, 0.002809f, -0.007525f, -0.000039f, -0.008665f, -0.001274f, -0.000313f, -0.014703f, -0.009975f, 0.003653f, -0.000062f, -0.000540f, 0.005847f, 0.005705f, -0.002985f, -0.012683f, 0.003799f, + 0.011383f, 0.007519f, 0.010614f, -0.002862f, 0.005723f, 0.010566f, -0.017620f, 0.005586f, 0.007705f, -0.008685f, 0.010850f, -0.007571f, -0.001626f, 0.001084f, 0.002110f, -0.005846f, 0.005113f, -0.001534f, -0.002020f, -0.006082f, -0.005013f, 0.006109f, 0.006089f, 0.002773f, 0.005994f, 0.009393f, 0.005104f, 0.013055f, -0.002784f, -0.014670f, 0.014170f, 0.002333f, 0.006934f, 0.002966f, -0.002461f, 0.003724f, 0.002669f, 0.000634f, 0.009711f, -0.002966f, 0.009581f, -0.013788f, -0.003215f, 0.001806f, 0.004241f, 0.000957f, -0.007590f, -0.003464f, 0.001213f, 0.000454f, -0.000841f, 0.000486f, 0.002873f, -0.003682f, -0.002157f, -0.002068f, -0.002741f, 0.001603f, -0.000862f, -0.000998f, -0.002244f, -0.001571f, 0.004141f, -0.000975f, -0.001436f, -0.000027f, -0.001527f, -0.001187f, 0.002074f, -0.000813f, 0.002218f, -0.000449f, 0.000128f, 0.001805f, -0.000567f, 0.018238f, -0.020985f, 0.013913f, 0.002921f, 0.014248f, 0.003283f, -0.008067f, 0.002615f, 0.010972f, -0.013162f, -0.002806f, 0.001482f, -0.014840f, -0.002952f, -0.011412f, -0.006992f, -0.008322f, -0.009123f, 0.003838f, -0.014172f, -0.008814f, + -0.011296f, -0.002902f, 0.010868f, 0.003901f, -0.013585f, -0.005311f, -0.014207f, -0.003536f, 0.003075f, 0.020339f, -0.016425f, 0.006697f, -0.004195f, -0.006046f, -0.012246f, 0.000539f, 0.002066f, 0.013024f, 0.006845f, 0.001608f, -0.011105f, -0.019285f, -0.000301f, 0.005604f, 0.015100f, 0.005231f, 0.004832f, -0.011220f, 0.004059f, 0.009431f, 0.000717f, 0.001430f, -0.005998f, -0.005976f, -0.002016f, 0.005468f, 0.000974f, -0.003889f, 0.000104f, -0.012340f, -0.001770f, -0.010408f, 0.006521f, -0.002225f, 0.006520f, -0.010199f, -0.008601f, -0.014024f, -0.001628f, -0.009039f, -0.003876f, 0.003526f, -0.013569f, -0.005908f, 0.001560f, 0.007421f, -0.016298f, 0.009454f, -0.007672f, -0.008283f, -0.008663f, -0.007290f, 0.004893f, -0.004917f, 0.002266f, 0.002757f, -0.004325f, 0.000565f, 0.003389f, 0.002577f, 0.000173f, -0.003925f, -0.000581f, -0.001917f, -0.004374f, -0.000828f, 0.003233f, 0.001862f, -0.002165f, 0.002902f, -0.002536f, -0.001984f, -0.000482f, 0.000951f, -0.003258f, 0.000169f, -0.000398f, 0.002153f, 0.001736f, 0.003590f, -0.002939f, 0.000808f, -0.000665f, -0.001311f, 0.001137f, -0.003444f, + -0.001189f, 0.001666f, 0.000926f, -0.050936f, 0.008201f, 0.005806f, -0.014711f, -0.003280f, -0.000072f, 0.000504f, -0.002826f, -0.004892f, -0.003775f, -0.015141f, 0.011638f, -0.007337f, 0.001595f, -0.012611f, -0.004496f, 0.018234f, 0.016511f, -0.010485f, -0.006344f, 0.000524f, -0.000311f, -0.008606f, -0.010053f, -0.007116f, 0.001172f, 0.000779f, 0.000281f, -0.001037f, 0.004230f, -0.012429f, 0.003856f, 0.000425f, -0.021951f, -0.002634f, -0.006589f, 0.010024f, 0.014617f, 0.002288f, -0.002609f, 0.000701f, -0.012881f, -0.016091f, 0.008595f, 0.015921f, 0.017693f, -0.004780f, 0.003198f, 0.010344f, 0.010635f, -0.005525f, 0.009808f, 0.016045f, -0.000710f, 0.013508f, 0.011408f, -0.013452f, 0.004367f, 0.000784f, 0.014433f, -0.008868f, -0.009500f, 0.008348f, 0.010929f, -0.003367f, 0.000939f, -0.015849f, 0.011119f, -0.008862f, 0.011739f, -0.019711f, 0.002097f, 0.004702f, 0.009367f, 0.000657f, -0.008302f, -0.016810f, -0.010365f, 0.014166f, -0.014027f, -0.000641f, 0.001537f, 0.007652f, -0.004277f, -0.002969f, 0.005908f, -0.011227f, -0.009844f, 0.004038f, 0.002631f, -0.000798f, 0.007996f, -0.003708f, + 0.001861f, 0.002101f, 0.002104f, 0.003070f, 0.000607f, -0.003108f, 0.001904f, 0.004179f, -0.001774f, 0.000607f, -0.000892f, -0.002060f, 0.001640f, -0.005173f, -0.000790f, -0.005579f, -0.001129f, -0.001025f, -0.001888f, -0.002844f, 0.001111f, -0.001627f, -0.000133f, -0.004325f, 0.001690f, -0.000751f, 0.001462f, 0.001818f, 0.000610f, 0.000778f, -0.019740f, 0.006992f, -0.017445f, 0.022066f, 0.021221f, 0.000647f, -0.028756f, 0.011902f, 0.001627f, -0.005367f, 0.019838f, 0.000081f, -0.017136f, -0.001826f, 0.021567f, -0.027061f, 0.000853f, -0.006773f, -0.021357f, -0.005943f, 0.000387f, -0.004208f, -0.010939f, 0.006294f, -0.009062f, 0.007363f, -0.007719f, -0.014472f, 0.007712f, -0.001086f, 0.011081f, -0.021547f, 0.008791f, 0.016949f, -0.006817f, 0.001390f, 0.017043f, 0.024919f, -0.006629f, -0.005094f, -0.021003f, 0.001224f, -0.017327f, -0.001419f, -0.012062f, 0.000595f, 0.001690f, 0.010065f, 0.004826f, 0.009198f, -0.006641f, 0.001688f, 0.005704f, -0.001097f, 0.023003f, -0.015273f, -0.007541f, 0.030260f, 0.030398f, -0.006004f, -0.001917f, -0.019081f, -0.009751f, 0.000967f, -0.005293f, -0.012630f, + 0.018362f, 0.005657f, -0.004782f, 0.026938f, 0.005223f, -0.012931f, -0.000356f, -0.024744f, -0.012408f, -0.014029f, -0.012021f, -0.003290f, -0.019315f, -0.013945f, 0.007961f, 0.007356f, -0.001419f, 0.004339f, -0.005731f, 0.006466f, -0.004304f, -0.006324f, 0.001094f, -0.009103f, -0.004158f, 0.011685f, 0.000936f, 0.005822f, -0.003123f, 0.001194f, 0.000897f, 0.002740f, 0.002535f, -0.000513f, -0.000232f, -0.005787f, -0.000066f, 0.001233f, 0.000936f, -0.001632f, -0.001640f, 0.003904f, 0.001164f, -0.000838f, 0.000139f, -0.000998f, 0.000132f, 0.002163f, 0.024508f, -0.006438f, -0.000211f, 0.016901f, -0.003957f, 0.010021f, -0.005391f, -0.021289f, -0.001317f, 0.000101f, -0.004322f, -0.012581f, -0.014056f, 0.007434f, -0.011121f, 0.019857f, -0.006013f, -0.014267f, 0.012305f, 0.024904f, -0.006103f, 0.007041f, -0.006610f, 0.014425f, 0.000380f, -0.030085f, 0.010808f, 0.016843f, 0.001735f, -0.004939f, -0.017481f, 0.014797f, 0.009908f, 0.009560f, 0.001993f, 0.006059f, 0.019753f, -0.013813f, 0.002521f, 0.003940f, -0.010893f, -0.021123f, 0.020267f, 0.011325f, 0.037665f, -0.001831f, 0.016651f, -0.005442f, + -0.011753f, 0.002092f, -0.001786f, -0.000451f, -0.003302f, -0.012169f, 0.027064f, 0.000707f, 0.002171f, 0.003904f, -0.003705f, 0.022297f, 0.002885f, 0.018681f, 0.007830f, 0.003208f, 0.019951f, -0.009306f, -0.022229f, -0.004328f, 0.004185f, 0.002956f, -0.009156f, 0.010967f, -0.006536f, -0.031126f, 0.002889f, 0.006267f, -0.017167f, 0.008098f, -0.001722f, 0.003433f, 0.000109f, -0.007019f, -0.007764f, 0.000029f, 0.003022f, 0.009582f, -0.000791f, 0.002730f, -0.003606f, -0.002671f, 0.004373f, 0.002881f, -0.000471f, 0.002967f, -0.003105f, -0.000308f, 0.000290f, -0.004223f, -0.006088f, 0.003893f, -0.006785f, -0.001726f, -0.002919f, -0.005947f, -0.001593f, -0.000753f, -0.002152f, 0.002657f, -0.000949f, -0.002480f, -0.000672f, 0.011512f, 0.004574f, 0.004417f, -0.002240f, 0.001680f, -0.003513f, -0.004625f, -0.001454f, -0.001571f, 0.002072f, -0.003050f, 0.005629f, -0.007159f, -0.002188f, 0.001575f, 0.019801f, -0.032829f, 0.005390f, 0.014705f, 0.021889f, -0.022992f, -0.003313f, 0.015588f, 0.010864f, 0.013303f, 0.002350f, 0.028079f, 0.005206f, 0.011643f, -0.003491f, 0.001662f, 0.011586f, 0.006354f, + 0.013375f, 0.001061f, -0.018569f, -0.027093f, 0.014369f, 0.006955f, -0.005158f, 0.003187f, 0.008081f, -0.025349f, 0.000237f, -0.015996f, 0.007484f, -0.000870f, 0.016615f, -0.005325f, 0.007421f, -0.003837f, 0.004303f, 0.002275f, -0.000707f, 0.009357f, 0.012487f, 0.004477f, 0.007230f, -0.019859f, 0.008217f, -0.003497f, -0.034638f, -0.023008f, 0.005895f, -0.025289f, -0.001746f, 0.020908f, -0.015258f, 0.041530f, 0.015006f, -0.008360f, 0.022530f, 0.001061f, -0.007387f, -0.016755f, -0.016608f, -0.023055f, -0.003593f, 0.013484f, -0.016507f, -0.002045f, 0.014954f, 0.006837f, 0.008441f, 0.030433f, 0.003747f, 0.019899f, 0.000141f, 0.003910f, -0.032673f, 0.009052f, 0.002448f, -0.029725f, -0.028156f, 0.016245f, -0.010747f, 0.001895f, 0.008537f, -0.004844f, -0.007666f, 0.001723f, -0.001714f, -0.002031f, 0.001706f, -0.005314f, 0.004772f, -0.003820f, 0.001055f, -0.009382f, 0.005088f, 0.001582f, 0.002064f, -0.000503f, 0.011576f, -0.009382f, 0.000800f, -0.002625f, -0.002346f, 0.002347f, 0.002362f, 0.003244f, 0.005568f, 0.009312f, 0.005743f, -0.005977f, 0.001445f, -0.000749f, 0.008470f, -0.002785f, + 0.005463f, -0.008676f, -0.006604f, -0.004997f, -0.004215f, -0.000569f, -0.000477f, 0.004319f, 0.005036f, -0.017031f, -0.000415f, 0.010862f, -0.000048f, 0.007652f, -0.017447f, 0.013734f, -0.000973f, 0.004063f, 0.012812f, -0.023592f, -0.016180f, 0.004393f, -0.000215f, 0.013087f, 0.026916f, -0.002400f, 0.006794f, 0.028883f, -0.010587f, -0.019428f, -0.001013f, 0.021183f, -0.004462f, -0.024211f, 0.002060f, 0.009059f, -0.004666f, -0.007516f, -0.001677f, 0.031313f, -0.005837f, 0.026966f, 0.020415f, 0.024611f, 0.001462f, 0.002090f, 0.014437f, 0.004897f, -0.004865f, 0.005141f, -0.019307f, 0.014726f, 0.024671f, 0.015503f, 0.002219f, 0.013794f, -0.010665f, 0.010613f, -0.010373f, 0.015480f, -0.013773f, 0.000351f, -0.000999f, -0.000998f, 0.043798f, -0.006457f, -0.002335f, -0.003725f, 0.006179f, 0.012126f, 0.023112f, 0.026344f, -0.014247f, 0.006371f, 0.026252f, -0.014586f, -0.018098f, 0.011025f, -0.007820f, 0.011363f, 0.050014f, -0.023512f, 0.003484f, 0.004738f, -0.012890f, 0.005694f, 0.016399f, 0.011487f, 0.001461f, -0.010161f, -0.024478f, 0.011710f, -0.010616f, 0.013535f, -0.009134f, 0.001951f, + -0.012067f, -0.002616f, -0.020255f, 0.001792f, -0.006360f, -0.007149f, -0.002431f, 0.002519f, 0.005244f, 0.010144f, 0.004374f, -0.005746f, -0.001349f, 0.010336f, -0.005978f, -0.005296f, 0.000824f, 0.000766f, -0.009175f, -0.000086f, -0.004583f, -0.002268f, -0.001655f, -0.001634f, 0.003651f, 0.002255f, 0.007383f, -0.004640f, -0.004591f, 0.000584f, -0.005518f, 0.002647f, 0.011540f, -0.005715f, -0.006036f, -0.011379f, 0.005916f, -0.002867f, -0.002888f, -0.016913f, -0.026667f, -0.020528f, -0.027750f, -0.010688f, 0.003119f, 0.022223f, 0.016463f, 0.005966f, 0.023402f, 0.007039f, 0.014296f, 0.013161f, -0.006345f, 0.020298f, 0.021998f, 0.015538f, -0.029689f, -0.016637f, -0.017194f, 0.006481f, -0.011857f, 0.000829f, 0.008458f, -0.008624f, -0.020949f, 0.013560f, -0.009931f, 0.004817f, 0.004511f, 0.021383f, -0.022285f, 0.034666f, -0.034228f, 0.035414f, -0.000072f, 0.017771f, -0.017173f, 0.006259f, -0.038260f, -0.021304f, -0.018612f, 0.016878f, 0.007778f, 0.024467f, -0.002424f, -0.000079f, -0.012406f, -0.030670f, 0.020040f, -0.016744f, -0.008698f, 0.014606f, 0.034809f, 0.033684f, 0.015803f, -0.002232f, + -0.022773f, 0.013419f, -0.034979f, -0.002706f, -0.019857f, 0.011293f, 0.037772f, -0.036218f, 0.013230f, 0.016846f, -0.022519f, -0.002209f, -0.003831f, 0.012664f, -0.014925f, -0.021488f, 0.004298f, -0.008674f, -0.031590f, 0.016075f, -0.003110f, -0.029657f, 0.022062f, 0.029193f, -0.009601f, 0.001016f, 0.004135f, -0.012516f, 0.018956f, 0.008817f, -0.005345f, -0.004671f, -0.012415f, -0.007057f, 0.015210f, 0.008748f, 0.008686f, -0.000611f, -0.013680f, -0.004076f, -0.004633f, -0.015162f, -0.003224f, 0.004629f, -0.000898f, -0.004398f, -0.001366f, -0.010787f, 0.001440f, -0.003625f, 0.007403f, 0.004175f, 0.001559f, -0.012502f, 0.010398f, 0.001039f, -0.005415f, -0.003099f, -0.002047f, -0.000547f, 0.006177f, -0.004551f, -0.001911f, 0.004806f, 0.012785f, 0.006507f, 0.003792f, -0.007628f, 0.010205f, -0.025492f, -0.029765f, -0.008416f, 0.019161f, -0.022793f, 0.015050f, -0.031306f, -0.005606f, -0.012046f, -0.011044f, -0.024820f, -0.002233f, -0.009267f, -0.014928f, 0.011934f, -0.016631f, 0.017884f, 0.003762f, 0.013970f, -0.021971f, -0.041064f, -0.003430f, 0.008473f, -0.017213f, -0.012587f, 0.006699f, 0.005362f, + -0.020130f, -0.009538f, 0.028594f, 0.013900f, -0.003788f, 0.015663f, 0.041072f, 0.001472f, 0.005193f, 0.004223f, -0.003139f, -0.000661f, 0.006039f, 0.005518f, -0.031595f, -0.011466f, -0.038603f, -0.012180f, -0.036003f, -0.016947f, 0.001940f, 0.042062f, 0.019604f, -0.020790f, -0.024457f, 0.015694f, 0.033184f, 0.021012f, -0.014879f, 0.025472f, -0.009714f, -0.001901f, -0.044602f, -0.013241f, -0.005769f, -0.005484f, -0.030514f, -0.048839f, 0.015638f, -0.000100f, -0.035768f, 0.009120f, 0.055895f, 0.007305f, 0.006305f, -0.035311f, -0.003206f, -0.000501f, 0.007799f, -0.039651f, 0.036598f, 0.005797f, 0.010092f, 0.020262f, 0.007798f, 0.021979f, -0.001708f, 0.010324f, -0.008649f, -0.017165f, -0.014330f, 0.007563f, -0.011552f, -0.003643f, -0.015426f, 0.005172f, 0.012547f, 0.000242f, 0.010563f, 0.001191f, -0.004289f, -0.000185f, -0.008883f, 0.006149f, 0.006312f, 0.001135f, 0.001125f, -0.006028f, -0.002500f, 0.003367f, 0.009172f, 0.006690f, -0.008141f, -0.002880f, -0.003382f, -0.018545f, -0.025761f, -0.018935f, -0.006247f, -0.002381f, 0.002946f, -0.004426f, -0.007330f, -0.007894f, -0.000056f, -0.005292f, + -0.006903f, -0.011525f, -0.006305f, 0.018571f, -0.011544f, 0.022561f, -0.034277f, -0.007068f, 0.008061f, -0.016542f, 0.039278f, -0.032595f, -0.033554f, -0.027305f, 0.037981f, 0.016913f, -0.022176f, -0.020005f, -0.013383f, -0.004258f, -0.012072f, -0.012419f, 0.001764f, 0.014109f, 0.037515f, -0.004279f, 0.015917f, 0.013848f, 0.013449f, -0.025239f, -0.031479f, -0.022649f, 0.026184f, -0.004678f, 0.031840f, 0.010497f, -0.003668f, -0.043836f, -0.035781f, -0.003804f, 0.002764f, -0.025471f, -0.016003f, -0.012025f, -0.012314f, -0.057459f, -0.012610f, -0.014116f, -0.020818f, -0.010229f, -0.013671f, -0.026425f, 0.018352f, 0.035684f, 0.019737f, 0.000894f, 0.020977f, 0.026781f, -0.009733f, 0.008432f, 0.006681f, 0.002576f, -0.001272f, -0.006921f, 0.018694f, 0.007523f, 0.031455f, -0.007418f, 0.002964f, 0.011208f, 0.062096f, -0.000796f, 0.032934f, 0.041808f, -0.003810f, -0.036554f, 0.002985f, 0.036312f, 0.005182f, -0.031130f, -0.028019f, -0.035674f, 0.023083f, -0.029146f, -0.008059f, 0.041666f, -0.018098f, -0.027966f, 0.008465f, -0.007680f, 0.000644f, 0.011372f, -0.017674f, -0.007873f, 0.003306f, -0.005243f, + -0.008113f, -0.001587f, 0.003024f, 0.020827f, -0.002129f, -0.010817f, -0.009490f, -0.000090f, -0.008194f, -0.006573f, -0.006025f, -0.010495f, -0.005164f, 0.003962f, -0.005195f, -0.000994f, -0.014464f, 0.003679f, -0.001548f, 0.002892f, 0.014083f, 0.008942f, -0.008613f, 0.003906f, 0.002910f, -0.012580f, -0.019383f, 0.007182f, 0.007475f, 0.001108f, -0.019811f, -0.021187f, -0.003552f, -0.014799f, -0.005034f, -0.002164f, 0.035141f, 0.025599f, -0.058967f, 0.018701f, 0.023521f, -0.010339f, 0.017083f, 0.056028f, 0.004607f, 0.012470f, -0.019573f, 0.012985f, -0.020685f, -0.013219f, -0.011021f, 0.004114f, 0.014418f, 0.020156f, -0.002890f, 0.008308f, -0.006098f, -0.003434f, -0.010816f, 0.014834f, 0.052890f, -0.017276f, -0.017049f, 0.018962f, 0.013376f, 0.001910f, -0.038462f, 0.024931f, -0.030663f, 0.017592f, 0.022078f, 0.002451f, 0.005613f, -0.006355f, 0.036391f, 0.027535f, 0.000331f, 0.018520f, -0.014549f, 0.023354f, 0.003925f, 0.026373f, 0.038546f, -0.000867f, 0.009790f, -0.005039f, -0.014186f, -0.000994f, 0.016814f, 0.018925f, -0.036789f, -0.022378f, 0.008650f, 0.039972f, -0.019355f, 0.026526f, + 0.017803f, 0.005141f, -0.042865f, 0.005193f, 0.006704f, -0.051173f, 0.030179f, -0.028651f, -0.034019f, -0.064768f, 0.015792f, 0.039268f, -0.017763f, -0.036150f, 0.007523f, 0.043522f, 0.027807f, 0.004830f, -0.005648f, 0.000594f, 0.015391f, -0.013338f, 0.020527f, 0.033423f, 0.031902f, -0.002375f, 0.013540f, 0.033067f, -0.005180f, -0.000461f, -0.003636f, 0.028469f, -0.004179f, 0.006986f, -0.013310f, 0.007223f, -0.008186f, 0.001085f, 0.000410f, -0.002253f, -0.006445f, 0.006222f, 0.016791f, 0.005641f, 0.004778f, -0.015177f, 0.003864f, -0.015669f, 0.004758f, 0.024637f, -0.008973f, 0.000365f, 0.003254f, -0.011715f, -0.015247f, -0.017569f, -0.003983f, 0.011120f, -0.005157f, 0.002971f, -0.010619f, -0.001100f, 0.000406f, -0.032508f, -0.008339f, -0.001395f, 0.006836f, 0.008274f, -0.006750f, 0.011515f, 0.006105f, 0.006145f, -0.009638f, -0.009451f, 0.014425f, 0.040629f, 0.029453f, -0.010185f, -0.079400f, 0.009323f, 0.039729f, 0.018958f, 0.008629f, -0.034832f, -0.000220f, -0.024053f, 0.005581f, -0.002333f, 0.006573f, 0.011940f, 0.016635f, 0.007087f, -0.043174f, 0.024983f, -0.006020f, 0.007553f, + 0.032766f, 0.012605f, 0.006115f, -0.011759f, 0.040645f, -0.001462f, 0.040398f, -0.049129f, -0.014458f, 0.015632f, -0.028637f, -0.024759f, 0.001709f, -0.006498f, -0.022422f, 0.002582f, 0.035689f, -0.001235f, 0.002344f, -0.018821f, -0.039069f, -0.024940f, -0.011185f, 0.016119f, -0.004331f, 0.003703f, -0.019235f, -0.020950f, -0.010279f, 0.030984f, -0.021401f, 0.017812f, 0.011981f, 0.009990f, 0.003420f, -0.032211f, -0.045858f, -0.003812f, 0.030616f, -0.038145f, 0.018337f, -0.032857f, 0.020475f, -0.034562f, -0.001791f, -0.034079f, 0.048146f, -0.044083f, -0.026327f, 0.011275f, 0.007866f, 0.021986f, 0.018330f, -0.011499f, -0.006125f, -0.011571f, 0.005935f, -0.000580f, 0.028680f, -0.035786f, -0.014185f, -0.045956f, 0.023651f, -0.016403f, 0.001739f, -0.002027f, 0.012460f, -0.010261f, 0.004634f, -0.018875f, -0.028594f, 0.018226f, -0.014809f, 0.000351f, 0.004651f, 0.024246f, 0.009665f, -0.017612f, 0.003674f, -0.006040f, -0.022597f, -0.004283f, 0.005211f, 0.006987f, -0.020441f, -0.010058f, 0.022405f, -0.002404f, -0.019012f, -0.008421f, 0.026303f, -0.031083f, -0.010598f, 0.006213f, -0.007286f, 0.010926f, + -0.002413f, -0.013727f, -0.018427f, -0.005982f, -0.008309f, -0.005811f, -0.006124f, 0.004914f, -0.001527f, 0.011387f, -0.012236f, 0.006267f, 0.002115f, -0.005621f, 0.012284f, -0.067760f, -0.009627f, 0.020234f, 0.004933f, -0.016182f, -0.024198f, 0.002190f, -0.023003f, -0.002192f, -0.035508f, 0.033172f, -0.013307f, 0.020740f, -0.046162f, -0.026237f, -0.000977f, 0.056485f, -0.046309f, -0.004090f, -0.036254f, -0.028900f, -0.008834f, 0.035353f, -0.008267f, 0.015643f, 0.016550f, -0.018902f, -0.040214f, 0.056523f, 0.024616f, -0.032496f, 0.006244f, 0.004058f, 0.015587f, -0.031629f, 0.028231f, -0.002614f, -0.059242f, 0.006146f, 0.011817f, 0.015152f, -0.049091f, -0.011868f, 0.006153f, 0.043092f, 0.008193f, 0.023952f, -0.063318f, -0.038602f, 0.019386f, -0.000130f, 0.041276f, -0.011201f, -0.007000f, 0.003029f, 0.020971f, 0.019097f, 0.007319f, -0.080608f, 0.022650f, -0.009509f, 0.018397f, 0.042749f, -0.013586f, -0.003959f, -0.049032f, 0.015760f, 0.022149f, -0.025923f, -0.015322f, 0.044235f, 0.070073f, 0.018181f, 0.011412f, -0.020003f, -0.008237f, -0.038439f, 0.002913f, 0.000310f, -0.047272f, 0.017070f, + -0.001429f, -0.014005f, -0.003611f, 0.022072f, -0.018107f, -0.012373f, -0.002112f, -0.005239f, -0.001705f, 0.019462f, -0.008473f, 0.000213f, 0.011313f, 0.004321f, 0.015564f, 0.012919f, 0.009973f, 0.006839f, 0.018635f, 0.021612f, -0.029166f, 0.009082f, -0.018201f, 0.014238f, 0.002178f, -0.018669f, -0.012509f, -0.007392f, -0.006098f, -0.012322f, 0.011227f, -0.006388f, -0.011950f, 0.019859f, -0.003145f, -0.006584f, 0.011475f, 0.020452f, -0.000036f, -0.007655f, 0.005748f, 0.019061f, 0.020998f, 0.012950f, -0.006808f, 0.003283f, 0.003947f, 0.017115f, -0.058140f, -0.038043f, -0.013123f, -0.000639f, -0.033130f, 0.026245f, -0.068697f, 0.003301f, -0.042183f, 0.021832f, -0.015656f, -0.046898f, -0.004172f, -0.012670f, -0.016532f, -0.053416f, -0.038974f, 0.011098f, 0.042053f, -0.028307f, 0.051918f, -0.044324f, -0.029133f, 0.009426f, -0.004359f, 0.023516f, -0.014752f, -0.015515f, -0.021516f, -0.006084f, -0.072960f, -0.021073f, 0.002069f, -0.003261f, -0.012198f, -0.028802f, 0.022855f, -0.025501f, 0.038903f, -0.012174f, -0.004900f, -0.027725f, -0.025474f, -0.048417f, -0.021069f, 0.017724f, 0.007313f, -0.003027f, + 0.003147f, -0.017485f, -0.013142f, -0.022511f, -0.018816f, 0.009725f, 0.014321f, 0.006615f, -0.041980f, 0.047859f, 0.006471f, -0.020981f, 0.038373f, 0.027296f, 0.045740f, -0.008879f, 0.026671f, -0.062920f, -0.033959f, -0.059469f, 0.060258f, -0.019682f, -0.042116f, -0.040709f, -0.085956f, -0.036185f, 0.059407f, -0.004166f, -0.030200f, 0.021480f, -0.058672f, -0.039482f, 0.014671f, -0.003740f, -0.048967f, -0.048081f, -0.000621f, -0.027771f, 0.007295f, 0.009902f, -0.036431f, 0.035141f, -0.021704f, -0.032132f, 0.002720f, -0.019195f, 0.050629f, -0.019878f, 0.022729f, 0.003279f, 0.030764f, -0.016043f, -0.009051f, 0.002602f, -0.014085f, -0.000887f, -0.029582f, -0.022743f, -0.005742f, 0.011932f, 0.000551f, 0.020099f, 0.008223f, 0.014808f, -0.013309f, -0.000476f, -0.025749f, -0.006705f, -0.009315f, 0.007285f, 0.024497f, 0.010915f, 0.009807f, 0.011283f, 0.010115f, 0.002301f, -0.033542f, -0.010366f, -0.023173f, -0.006183f, 0.003828f, 0.015356f, 0.074997f, 0.096029f, -0.009142f, -0.042692f, -0.010174f, -0.016154f, -0.043134f, 0.018540f, 0.001182f, -0.031265f, 0.091786f, 0.031829f, -0.021764f, -0.063677f, + -0.005719f, 0.015326f, 0.016734f, 0.018624f, 0.043900f, -0.012659f, -0.021727f, 0.020604f, -0.079678f, -0.053258f, -0.020825f, -0.005740f, 0.008531f, -0.042564f, -0.038876f, 0.040949f, 0.032567f, -0.025083f, -0.048237f, 0.030576f, 0.000879f, 0.053958f, -0.043967f, -0.010117f, -0.015011f, -0.002760f, -0.034765f, -0.051782f, 0.043453f, -0.032119f, -0.020308f, -0.039577f, -0.008884f, 0.026110f, 0.024514f, -0.015965f, 0.003417f, 0.004585f, 0.032768f, 0.050232f, 0.036956f, -0.064392f, -0.030984f, -0.038202f, -0.009609f, 0.021967f, 0.007985f, -0.044013f, -0.063334f, 0.053654f, 0.003344f, -0.052568f, -0.087325f, 0.044019f, -0.011430f, 0.023695f, 0.021806f, 0.023172f, 0.003007f, 0.017115f, -0.034383f, -0.012968f, 0.023453f, 0.004324f, -0.016154f, 0.009783f, -0.004192f, -0.046219f, 0.023229f, -0.058688f, -0.003957f, -0.002806f, -0.010355f, -0.021022f, -0.008339f, 0.025929f, -0.001906f, -0.005809f, 0.013110f, -0.018886f, 0.057066f, -0.004397f, 0.004955f, -0.004118f, 0.000386f, 0.014406f, -0.001077f, 0.013893f, -0.029399f, 0.006481f, -0.005559f, -0.020216f, 0.001875f, 0.009919f, 0.018841f, -0.009439f, + 0.005098f, -0.048562f, -0.016187f, -0.002485f, -0.025781f, 0.021921f, -0.003183f, -0.005679f, -0.013997f, -0.019868f, -0.029902f, -0.041346f, 0.012300f, -0.003937f, 0.030155f, 0.036381f, 0.022701f, -0.024365f, -0.034552f, -0.043163f, -0.016619f, 0.040152f, 0.032212f, 0.005862f, 0.014860f, -0.013667f, -0.025413f, -0.018777f, -0.018308f, 0.008454f, 0.033605f, 0.041641f, -0.051874f, -0.043547f, 0.123343f, -0.010061f, -0.012173f, -0.018636f, -0.039061f, -0.004365f, 0.044446f, 0.071445f, -0.033048f, -0.020036f, -0.007347f, -0.032694f, -0.008187f, -0.018496f, 0.028370f, -0.029568f, 0.032489f, 0.015381f, -0.011248f, -0.041195f, -0.003076f, -0.017063f, 0.061546f, -0.034008f, -0.000886f, -0.000064f, -0.006195f, 0.027699f, -0.017802f, -0.002505f, 0.012766f, -0.008619f, -0.060205f, 0.030502f, -0.027489f, -0.031977f, -0.007354f, -0.034098f, -0.019727f, -0.061796f, 0.058904f, 0.002507f, -0.039293f, -0.072383f, 0.041996f, -0.042785f, -0.041601f, 0.000351f, -0.032408f, 0.014393f, 0.026628f, 0.081877f, -0.023371f, 0.031924f, -0.006941f, -0.039924f, -0.033760f, -0.010084f, 0.123480f, -0.109174f, -0.007999f, 0.113183f, + -0.103807f, -0.039616f, 0.058427f, -0.008876f, -0.046923f, 0.109434f, -0.054325f, -0.022818f, 0.050330f, 0.012226f, 0.021464f, -0.032782f, 0.036337f, 0.050879f, 0.023943f, -0.013359f, -0.003395f, 0.051376f, -0.007557f, 0.029266f, -0.000730f, 0.020332f, -0.029607f, -0.004159f, 0.013599f, 0.008001f, 0.005677f, 0.001052f, 0.002082f, 0.021168f, -0.009891f, 0.005217f, 0.007951f, 0.006928f, -0.046439f, -0.019467f, 0.014861f, -0.039686f, 0.011828f, 0.022072f, -0.016629f, -0.017912f, -0.013541f, 0.009012f, -0.019036f, 0.022101f, 0.019084f, -0.002902f, 0.011060f, -0.014409f, -0.027974f, -0.027705f, 0.054233f, 0.009323f, 0.033837f, 0.006498f, 0.006700f, 0.020974f, -0.018473f, -0.004856f, 0.034412f, -0.020945f, -0.046890f, 0.034655f, -0.004700f, 0.058698f, -0.073935f, 0.067139f, -0.010990f, -0.041061f, 0.036285f, 0.013011f, -0.006260f, 0.007930f, 0.005280f, -0.007612f, 0.013489f, -0.013947f, -0.018195f, -0.008059f, -0.025361f, -0.021060f, -0.047987f, -0.018118f, 0.042036f, 0.039655f, -0.059761f, 0.020535f, 0.032345f, 0.027168f, -0.009937f, -0.059001f, -0.004970f, -0.029001f, -0.069151f, 0.044281f, + 0.111813f, -0.063539f, -0.006525f, 0.079576f, -0.022081f, -0.027821f, 0.064697f, 0.048152f, 0.023958f, -0.025525f, -0.051405f, 0.017702f, -0.020705f, -0.032324f, 0.116919f, 0.086168f, -0.069891f, -0.051336f, 0.063333f, -0.114351f, -0.039983f, -0.032078f, -0.019403f, 0.080678f, 0.053760f, 0.035529f, 0.038939f, -0.134416f, -0.046651f, 0.128944f, 0.074858f, 0.015681f, -0.033891f, 0.044722f, -0.044843f, -0.091174f, -0.060673f, 0.045151f, -0.033020f, -0.006731f, 0.052303f, 0.096569f, -0.011168f, -0.053673f, 0.007363f, 0.038471f, -0.065113f, -0.023795f, 0.068665f, 0.061886f, 0.061942f, 0.043215f, -0.011848f, -0.038496f, -0.018934f, 0.052686f, 0.015499f, 0.022467f, -0.009611f, 0.006400f, 0.024186f, 0.002634f, -0.009039f, -0.010561f, -0.014488f, 0.012173f, 0.008842f, 0.050599f, 0.014465f, -0.009319f, -0.019508f, 0.005525f, 0.002937f, -0.006756f, -0.017071f, 0.005577f, 0.039159f, -0.040524f, -0.011878f, 0.037846f, -0.008057f, -0.000324f, 0.025175f, -0.008807f, 0.018747f, 0.008399f, 0.021943f, -0.040917f, -0.005504f, 0.009446f, 0.047854f, 0.012179f, 0.023202f, 0.020517f, 0.011421f, -0.008352f, + 0.016130f, 0.023197f, -0.024819f, 0.013287f, -0.114122f, 0.049469f, 0.000618f, -0.011637f, 0.058560f, -0.009886f, -0.044116f, 0.022278f, 0.020297f, 0.057278f, 0.032466f, -0.030866f, 0.001711f, 0.008921f, 0.039242f, 0.009168f, -0.045075f, -0.001656f, -0.002541f, 0.009289f, -0.041931f, -0.045684f, 0.066365f, -0.023811f, -0.069328f, 0.035776f, 0.061600f, -0.034542f, -0.011759f, 0.004144f, 0.042233f, -0.050259f, -0.066118f, 0.018259f, 0.055875f, -0.012000f, -0.023798f, -0.013697f, -0.013604f, 0.024415f, 0.010365f, 0.014635f, 0.140798f, 0.007896f, -0.017989f, 0.002041f, 0.004424f, 0.076164f, 0.002406f, -0.026904f, 0.017129f, -0.059316f, -0.034918f, 0.015545f, 0.000295f, 0.065484f, 0.051874f, -0.033445f, -0.009841f, -0.031609f, 0.001497f, 0.023573f, 0.005934f, 0.007414f, 0.023428f, -0.016687f, -0.069232f, 0.017770f, 0.046704f, -0.021937f, 0.041213f, -0.063934f, 0.030153f, 0.019483f, -0.056195f, 0.009775f, 0.001095f, -0.024344f, 0.002551f, -0.010320f, 0.027914f, 0.027417f, -0.047091f, -0.028862f, 0.062789f, -0.047774f, 0.023080f, -0.004321f, -0.018443f, 0.013954f, -0.001889f, -0.028035f, + 0.016046f, 0.009912f, 0.011482f, -0.000705f, -0.004807f, 0.003305f, 0.008691f, -0.010566f, -0.010215f, 0.008727f, 0.006112f, -0.005754f, -0.000525f, 0.014091f, 0.023377f, -0.013647f, -0.009462f, 0.003193f, -0.004189f, 0.008398f, -0.005800f, -0.002928f, 0.005415f, -0.000060f, 0.014051f, -0.004218f, 0.006938f, -0.017966f, 0.011065f, -0.012461f, 0.011699f, 0.020802f, -0.001815f, 0.000630f, 0.002874f, -0.023408f, 0.039714f, -0.073326f, -0.242134f, -0.286602f, -0.025408f, -0.198645f, 0.078600f, 0.485705f, 0.261454f, 0.394572f, 0.415790f, -0.044744f, -0.119327f, 0.035918f, -0.302178f, -0.369429f, -0.113889f, -0.406719f, -0.326466f, 0.083308f, -0.234734f, -0.063647f, 0.469026f, 0.170090f, 0.331705f, 0.572837f, 0.341052f, 0.152806f, 0.116337f, 0.041000f, -0.254635f, -0.317025f, -0.104396f, -0.433152f, -0.433527f, 0.057612f, -0.324121f, -0.265864f, 0.160424f, -0.272604f, -0.280409f, 0.212370f, 0.086451f, -0.038318f, 0.500661f, 0.468935f, 0.299501f, 0.635610f, 0.598922f, 0.204921f, 0.238589f, 0.186119f, -0.301061f, -0.301703f, -0.381741f, -0.756074f, -0.892650f, -0.641829f, -0.639071f, -0.471215f, + 0.016485f, 0.044008f, 0.311729f, 0.538906f, 0.664019f, 0.605158f, 0.702098f, 0.601722f, 0.354950f, 0.238871f, 0.079719f, -0.118114f, -0.266051f, -0.378535f, -0.325303f, -0.471739f, -0.528527f, -0.438158f, -0.512442f, -0.384317f, 0.061298f, 0.123787f, 0.299071f, 0.599681f, 0.477489f, 0.368197f, 0.278290f, 0.109934f, -0.090519f, -0.073711f, -0.149893f, -0.187538f, -0.143230f, -0.162863f, -0.157456f, -0.066821f, -0.063538f, 0.004032f, 0.097810f, 0.069811f, 0.137191f, 0.164876f, 0.029015f, 0.119744f, 0.114930f, -0.031293f, 0.038455f, 0.027299f, -0.086791f, 0.004284f, 0.028601f, -0.100328f, -0.109767f, -0.153252f, -0.315966f, -0.353164f, -0.274770f, -0.262416f, -0.085768f, 0.129740f, 0.233233f, 0.379348f, 0.571847f, 0.617527f, 0.572566f, 0.401522f, 0.122849f, -0.128547f, -0.275960f, -0.412107f, -0.508994f, -0.500432f, -0.390850f, -0.268027f, -0.127060f, -0.038336f, 0.016957f, 0.047447f, 0.117387f, 0.193187f, 0.199067f, 0.185182f, 0.189983f, 0.135852f, 0.122436f, 0.106558f, 0.044294f, 0.012004f, 0.028633f, 0.025775f, 0.017115f, 0.012841f, -0.020501f, -0.059974f, -0.087314f, -0.100471f, + -0.083436f, -0.049805f, -0.032249f, -0.028664f} + }, + { + {-0.016633f, -0.019806f, 0.010170f, 0.000599f, 0.015348f, 0.005550f, 0.006775f, 0.004337f, 0.006233f, -0.000197f, -0.000204f, -0.003480f, -0.010068f, -0.005835f, 0.002676f, -0.000528f, -0.001858f, -0.001224f, 0.005354f, 0.004137f, 0.000060f, 0.004797f, -0.004514f, -0.011482f, 0.003649f, -0.002700f, 0.001285f, -0.005875f, 0.004583f, -0.004819f, -0.002390f, -0.001931f, 0.008210f, -0.001979f, -0.000091f, -0.003472f, -0.000943f, -0.009315f, 0.003124f, -0.001618f, 0.005007f, -0.004458f, 0.000592f, -0.002135f, -0.007442f, 0.002306f, -0.000742f, -0.002069f, 0.003311f, 0.006060f, -0.001269f, -0.003810f, -0.010883f, 0.000931f, -0.006471f, 0.002941f, 0.000106f, -0.004255f, -0.000171f, -0.001864f, -0.001522f, -0.007915f, 0.005077f, -0.007026f, 0.003845f, -0.002806f, -0.004648f, -0.004024f, -0.008362f, 0.004540f, 0.000427f, 0.002227f, 0.005030f, -0.005432f, -0.008575f, 0.005426f, -0.008217f, 0.000197f, -0.005476f, 0.001679f, -0.004239f, 0.003662f, -0.002144f, 0.001901f, -0.003657f, 0.000592f, -0.001697f, 0.002126f, -0.001753f, -0.002001f, -0.001868f, -0.001840f, -0.003281f, 0.000403f, 0.000807f, -0.000646f, + -0.002585f, 0.001715f, -0.001952f, 0.000199f, -0.001305f, -0.002312f, -0.000825f, -0.000876f, -0.000361f, -0.000570f, -0.000328f, -0.001924f, -0.000999f, 0.000204f, -0.001107f, -0.000669f, -0.000593f, -0.029318f, -0.000353f, -0.003923f, 0.007667f, 0.000111f, 0.002929f, -0.002455f, 0.003797f, 0.000713f, 0.003317f, -0.003419f, 0.018870f, -0.004142f, -0.002693f, -0.008146f, 0.002687f, -0.009829f, -0.003178f, 0.000707f, -0.004795f, -0.000092f, 0.006905f, 0.003948f, 0.002605f, 0.004648f, 0.006707f, -0.008225f, -0.003161f, -0.000181f, 0.004253f, -0.007760f, 0.007517f, -0.006497f, -0.003296f, 0.006026f, -0.001174f, 0.001379f, -0.004836f, 0.005567f, 0.005816f, 0.006254f, -0.009657f, -0.002952f, 0.010379f, -0.000150f, -0.001595f, -0.002343f, 0.011318f, 0.007388f, 0.008750f, 0.000151f, -0.002079f, -0.002630f, -0.000650f, -0.000241f, 0.001262f, 0.003391f, -0.010994f, -0.000992f, -0.005135f, -0.006482f, -0.000876f, 0.001869f, -0.005718f, 0.001523f, -0.004377f, -0.001590f, -0.001787f, -0.000128f, 0.003768f, 0.003523f, -0.002016f, -0.001291f, -0.002516f, -0.008890f, -0.002139f, -0.005506f, 0.000115f, -0.007265f, + 0.001940f, 0.000135f, 0.007321f, -0.002520f, 0.000974f, -0.006357f, 0.000518f, 0.000920f, -0.003013f, -0.003033f, 0.003084f, 0.000132f, 0.000789f, -0.000265f, 0.002149f, -0.000540f, 0.000867f, -0.000332f, -0.000553f, 0.002702f, 0.001173f, 0.001158f, 0.000361f, -0.000247f, 0.009939f, 0.011773f, -0.008215f, 0.001040f, -0.007010f, 0.010785f, 0.001967f, -0.004482f, -0.006347f, -0.005618f, -0.001190f, 0.001352f, 0.002846f, 0.014353f, -0.008566f, -0.001379f, -0.003414f, 0.005612f, -0.016070f, -0.001900f, 0.010215f, -0.000305f, 0.008580f, 0.003781f, 0.006878f, 0.007156f, 0.003102f, -0.001428f, -0.007557f, 0.002463f, -0.002130f, 0.000932f, 0.011949f, 0.002993f, 0.010249f, -0.005422f, -0.002829f, 0.000758f, -0.013838f, 0.001592f, 0.010303f, -0.003061f, 0.000942f, -0.008664f, 0.006502f, -0.000172f, 0.002876f, -0.010249f, 0.005995f, -0.006893f, -0.003850f, -0.007199f, -0.008447f, 0.004829f, 0.001628f, -0.002757f, -0.004334f, -0.004107f, -0.003021f, -0.002066f, 0.004750f, -0.004753f, -0.008580f, -0.013213f, 0.012182f, 0.009339f, 0.000487f, -0.013218f, 0.003990f, -0.006351f, 0.005179f, -0.004299f, + 0.000928f, -0.008107f, -0.005108f, -0.010553f, -0.004778f, -0.001494f, 0.010269f, 0.006107f, -0.011492f, 0.004959f, 0.000242f, -0.001015f, 0.005008f, -0.000697f, 0.003975f, 0.008152f, 0.000417f, 0.001707f, 0.005406f, 0.001106f, 0.001073f, 0.005342f, -0.000950f, -0.000154f, 0.000403f, 0.000687f, 0.001131f, 0.001321f, -0.001200f, 0.001544f, -0.001124f, 0.000386f, 0.000263f, 0.001366f, 0.000314f, 0.003382f, 0.002958f, 0.000207f, -0.000165f, 0.003320f, 0.001696f, -0.002502f, 0.000475f, 0.001196f, 0.049848f, -0.018438f, 0.022361f, -0.017670f, 0.001573f, 0.005349f, 0.005287f, -0.014578f, -0.004919f, -0.004860f, -0.024450f, -0.000079f, 0.001344f, -0.008775f, -0.001381f, -0.000052f, 0.017563f, 0.003293f, -0.012172f, 0.008977f, 0.009786f, 0.002229f, 0.017803f, -0.013150f, -0.004788f, -0.007002f, 0.003794f, 0.014280f, -0.000988f, 0.000952f, 0.005336f, -0.002489f, 0.006400f, 0.002926f, 0.016295f, -0.002398f, 0.006413f, -0.010592f, 0.009757f, -0.007399f, 0.010888f, -0.000139f, -0.011301f, -0.001648f, 0.016425f, -0.000669f, 0.011126f, 0.006711f, 0.010702f, 0.001006f, -0.008398f, -0.006808f, + 0.000216f, -0.005045f, 0.008792f, 0.005862f, -0.008624f, 0.001253f, -0.006730f, 0.011613f, -0.003105f, 0.009329f, 0.011107f, 0.001998f, 0.011448f, -0.000466f, -0.005494f, -0.001820f, -0.007012f, 0.000384f, 0.015031f, -0.009340f, -0.009589f, -0.003578f, 0.004294f, -0.006525f, -0.004044f, 0.002969f, 0.007240f, -0.002926f, 0.002683f, -0.014474f, 0.003617f, 0.001011f, -0.001003f, 0.005160f, 0.000360f, 0.001439f, 0.003496f, -0.000374f, -0.001846f, 0.001636f, -0.003314f, 0.001120f, -0.001360f, 0.000491f, 0.000670f, -0.000446f, -0.001132f, -0.002836f, -0.000196f, -0.002244f, -0.001411f, -0.000905f, -0.004976f, -0.041467f, 0.004546f, -0.012207f, -0.008728f, -0.013388f, -0.016231f, 0.006409f, 0.014523f, -0.002184f, 0.005650f, 0.002304f, 0.007460f, 0.001695f, 0.000550f, 0.004505f, -0.008885f, 0.020609f, -0.001069f, -0.011992f, 0.013526f, -0.004131f, 0.005743f, -0.013518f, -0.008412f, -0.009578f, 0.004150f, 0.002520f, 0.010583f, 0.000323f, -0.006575f, 0.001108f, -0.005871f, -0.006453f, -0.007161f, -0.002488f, -0.009970f, -0.005052f, 0.009287f, -0.008648f, -0.000615f, -0.006766f, -0.010583f, -0.004715f, + 0.001320f, 0.003388f, 0.006709f, -0.005329f, -0.004892f, 0.006635f, 0.001151f, 0.002496f, 0.001753f, 0.004106f, 0.006217f, -0.010129f, -0.003403f, -0.001032f, -0.014207f, 0.003757f, -0.001015f, 0.008306f, -0.008339f, -0.006362f, -0.007797f, 0.001334f, 0.008782f, 0.006806f, 0.015506f, 0.010414f, -0.009624f, 0.003892f, -0.004377f, 0.007341f, 0.004571f, -0.010387f, 0.007452f, 0.002005f, -0.011549f, 0.001477f, -0.002133f, 0.000980f, -0.002197f, -0.007876f, 0.001403f, -0.005653f, -0.005975f, 0.002168f, -0.003307f, 0.001358f, 0.004180f, -0.002838f, -0.003818f, -0.003931f, -0.005913f, -0.001100f, 0.004476f, -0.001207f, 0.004656f, 0.000031f, 0.003127f, 0.002153f, 0.001601f, -0.002108f, -0.000880f, 0.000800f, -0.002104f, -0.002293f, 0.000478f, -0.002213f, -0.000912f, 0.000594f, -0.004187f, 0.002310f, -0.002176f, -0.000722f, 0.000408f, -0.000149f, 0.000261f, 0.001330f, -0.001908f, 0.001183f, 0.002696f, -0.052805f, 0.014498f, -0.015749f, -0.013122f, -0.009438f, 0.001780f, -0.002746f, 0.031105f, 0.003065f, 0.007442f, -0.003465f, 0.000119f, -0.012776f, 0.012689f, 0.003709f, -0.001851f, 0.002553f, + 0.016565f, -0.008295f, -0.002871f, 0.003829f, 0.001142f, 0.008322f, -0.007247f, -0.003252f, 0.009132f, 0.003361f, 0.008411f, 0.001012f, -0.008950f, -0.005849f, 0.005025f, -0.000866f, -0.003052f, -0.005577f, -0.003241f, -0.000364f, 0.015682f, 0.003970f, -0.002863f, 0.000334f, 0.001136f, -0.004760f, 0.011287f, 0.008665f, -0.002725f, -0.011881f, 0.002944f, -0.006289f, 0.010732f, 0.008366f, -0.008425f, 0.003278f, -0.010901f, -0.009678f, -0.008556f, -0.010680f, -0.003739f, 0.002361f, -0.006476f, 0.000534f, -0.007150f, -0.006011f, 0.012342f, 0.007888f, -0.010566f, -0.014184f, 0.001530f, 0.012085f, -0.009394f, -0.006918f, 0.010139f, 0.008035f, 0.011572f, -0.007509f, -0.000407f, 0.003292f, 0.004722f, 0.013087f, 0.003453f, -0.001713f, -0.000591f, -0.009537f, -0.001525f, -0.000174f, -0.008280f, 0.000597f, -0.002510f, -0.003737f, 0.000059f, -0.001108f, 0.003932f, -0.000971f, -0.001683f, 0.001915f, -0.001337f, -0.003412f, -0.002357f, 0.000714f, 0.003142f, -0.001564f, -0.001342f, 0.000096f, -0.000934f, 0.006128f, 0.000976f, 0.007946f, -0.005760f, 0.001431f, 0.000271f, -0.003321f, -0.000223f, -0.000282f, + -0.004408f, 0.001073f, -0.000969f, -0.004722f, -0.004534f, -0.002297f, -0.004347f, -0.003208f, 0.000938f, -0.002099f, -0.027790f, -0.002738f, 0.004702f, 0.013542f, -0.002614f, -0.007070f, 0.003192f, 0.019890f, -0.025007f, 0.005818f, -0.005057f, -0.004633f, -0.011243f, 0.006785f, -0.020033f, -0.013046f, 0.006922f, -0.010476f, 0.006371f, 0.028587f, -0.005028f, 0.011559f, -0.013410f, 0.013808f, -0.003556f, 0.004123f, -0.012023f, 0.005634f, 0.003455f, -0.006455f, 0.002874f, -0.001299f, -0.006166f, -0.000410f, 0.007885f, 0.012306f, -0.009597f, -0.015363f, -0.012138f, -0.011277f, 0.001500f, 0.009022f, 0.023938f, -0.000273f, 0.016135f, 0.016808f, -0.015596f, 0.012024f, -0.022957f, -0.008411f, 0.001501f, -0.010232f, -0.009490f, 0.006378f, -0.022228f, -0.004404f, 0.015545f, -0.006689f, -0.005781f, 0.002043f, -0.006757f, 0.006332f, -0.006703f, 0.010865f, 0.014091f, -0.003895f, 0.004414f, 0.000579f, -0.014167f, 0.001218f, -0.009151f, -0.006350f, -0.011181f, 0.006384f, 0.004941f, -0.010797f, 0.000929f, 0.008035f, 0.007528f, 0.009520f, 0.009873f, -0.001508f, -0.009281f, 0.007733f, 0.004105f, 0.004629f, + 0.002585f, 0.005591f, -0.000579f, -0.000189f, 0.000877f, 0.002297f, 0.002769f, -0.003829f, -0.001119f, -0.003090f, -0.001993f, 0.004487f, 0.003917f, 0.004332f, -0.007814f, 0.001606f, -0.000925f, -0.003250f, -0.003744f, 0.004058f, -0.002449f, -0.004306f, 0.001152f, 0.001016f, -0.001356f, 0.009576f, 0.003242f, -0.001882f, -0.002057f, -0.004452f, -0.001168f, 0.003914f, 0.006029f, 0.001498f, 0.000080f, 0.006002f, 0.066013f, -0.003078f, -0.025956f, -0.003157f, -0.001034f, 0.002606f, 0.008414f, 0.003496f, -0.002909f, -0.002596f, -0.013013f, -0.006106f, 0.007471f, 0.016214f, -0.013082f, -0.008189f, 0.010867f, 0.000987f, -0.003753f, 0.004422f, -0.000933f, -0.015161f, -0.015436f, 0.021289f, -0.001852f, -0.001229f, -0.003415f, 0.010994f, -0.000719f, 0.001268f, 0.007049f, -0.011476f, 0.012432f, 0.005242f, 0.002134f, 0.004823f, 0.012428f, -0.029454f, -0.013110f, -0.007069f, 0.027391f, 0.003646f, 0.002175f, -0.008267f, -0.009114f, 0.008287f, -0.001092f, 0.009588f, -0.003230f, -0.018776f, 0.002167f, 0.002439f, -0.002723f, 0.009316f, 0.004266f, 0.002596f, 0.015254f, 0.036964f, -0.002772f, -0.002984f, + 0.014173f, 0.004392f, -0.004206f, 0.009767f, 0.028811f, -0.003090f, 0.005634f, 0.010507f, 0.008491f, 0.007585f, 0.007768f, 0.008645f, 0.006717f, -0.007452f, 0.011591f, 0.020570f, -0.004574f, 0.007964f, 0.000266f, -0.002453f, -0.013994f, 0.008945f, 0.003496f, -0.001033f, 0.004442f, 0.005025f, 0.001328f, 0.000686f, -0.004610f, -0.005369f, -0.002001f, -0.010811f, -0.004695f, -0.007290f, 0.009656f, 0.004766f, 0.003772f, -0.001428f, -0.001266f, 0.000670f, -0.006117f, 0.000123f, 0.002475f, -0.008569f, 0.007776f, -0.003676f, 0.001522f, -0.002550f, 0.000585f, 0.002986f, 0.003631f, -0.006661f, -0.006519f, -0.005472f, 0.000928f, -0.001055f, -0.001681f, -0.000418f, 0.004868f, -0.001145f, 0.000669f, -0.002687f, -0.005767f, -0.003153f, 0.013326f, 0.014838f, -0.018847f, -0.005450f, -0.015997f, 0.015888f, 0.029737f, -0.014205f, -0.003321f, -0.016300f, -0.007080f, -0.019729f, 0.014101f, -0.012033f, -0.004890f, -0.001249f, 0.000154f, -0.007834f, -0.009666f, 0.017770f, -0.016088f, -0.005918f, 0.001853f, 0.012137f, 0.012937f, -0.018526f, -0.005446f, 0.007171f, -0.015953f, 0.009104f, -0.012655f, -0.005122f, + 0.004674f, 0.000413f, -0.006922f, -0.001887f, 0.003822f, 0.020778f, 0.002570f, 0.004726f, 0.000009f, -0.017685f, 0.019375f, -0.009457f, -0.014524f, 0.011673f, -0.010354f, -0.011667f, 0.015270f, -0.006857f, 0.001954f, -0.003326f, 0.002051f, 0.020122f, -0.003436f, 0.004554f, -0.017552f, -0.001323f, 0.020426f, 0.004626f, 0.020236f, 0.017388f, -0.005710f, -0.004377f, -0.023552f, 0.003678f, -0.003966f, 0.015672f, 0.019118f, -0.010932f, 0.004753f, -0.034522f, -0.009471f, 0.011526f, -0.011964f, 0.017993f, 0.001190f, 0.003942f, -0.006364f, -0.001269f, -0.008315f, 0.001541f, -0.005738f, 0.012731f, 0.012426f, -0.000490f, 0.004218f, -0.000115f, 0.007011f, 0.003116f, 0.005071f, 0.010775f, -0.003247f, -0.011951f, 0.005496f, 0.002822f, 0.007596f, -0.001901f, 0.008060f, -0.001567f, -0.002844f, 0.002128f, -0.004903f, -0.003144f, 0.000790f, -0.008365f, 0.002325f, -0.002849f, 0.007459f, 0.003339f, -0.000594f, -0.001496f, -0.004990f, -0.007398f, -0.000646f, 0.001122f, 0.002999f, -0.002647f, 0.001631f, -0.006946f, -0.000146f, 0.000536f, -0.003779f, 0.004846f, 0.000424f, 0.000229f, 0.001957f, -0.002188f, + 0.000312f, 0.000168f, 0.011933f, -0.015150f, 0.005203f, -0.014166f, -0.001534f, -0.019139f, 0.031473f, -0.009248f, 0.002152f, -0.009919f, -0.028685f, 0.016559f, 0.005807f, -0.021401f, 0.013273f, -0.009632f, -0.007091f, 0.007508f, 0.029791f, -0.014846f, 0.028780f, -0.000547f, -0.020208f, 0.000870f, 0.006734f, -0.017770f, 0.019651f, -0.010281f, 0.014555f, 0.031634f, 0.003104f, -0.014742f, -0.004120f, -0.001659f, 0.007260f, -0.012532f, -0.006846f, -0.001667f, 0.015594f, -0.005533f, -0.006245f, -0.020662f, -0.000689f, -0.024433f, -0.004496f, 0.027757f, -0.006206f, 0.015822f, 0.001513f, 0.004249f, -0.036319f, 0.000539f, -0.023233f, 0.018771f, 0.032575f, 0.010090f, 0.008200f, 0.002069f, 0.004899f, -0.018939f, 0.006714f, 0.010196f, -0.008437f, -0.002314f, -0.007476f, -0.004721f, 0.014699f, 0.000392f, 0.017825f, 0.054607f, 0.019949f, 0.005508f, -0.018709f, -0.017348f, -0.011259f, 0.010786f, -0.018524f, -0.001544f, -0.001663f, 0.003867f, 0.010524f, -0.010106f, -0.001890f, 0.010216f, 0.011167f, 0.002367f, 0.001930f, 0.007651f, 0.009620f, 0.008084f, -0.000061f, -0.001697f, -0.001770f, 0.000925f, + -0.003933f, -0.004865f, 0.004375f, -0.002419f, 0.006784f, -0.008183f, -0.002587f, 0.005803f, 0.004890f, -0.000405f, 0.004421f, -0.004168f, 0.002032f, 0.003098f, 0.004107f, -0.004583f, -0.004566f, 0.006563f, 0.004654f, 0.003726f, -0.001643f, -0.003166f, 0.001597f, -0.009113f, -0.002391f, 0.001573f, -0.004880f, 0.002340f, -0.003380f, -0.002295f, 0.001068f, 0.000849f, -0.000754f, -0.001724f, -0.006835f, 0.056990f, -0.030863f, -0.000846f, -0.015337f, -0.028926f, -0.038605f, 0.010686f, -0.012385f, 0.011316f, -0.036543f, 0.007155f, 0.013006f, 0.011702f, -0.015366f, -0.033551f, -0.026433f, -0.022198f, 0.000245f, -0.012929f, -0.024514f, -0.016880f, -0.008613f, -0.020027f, -0.013997f, 0.003266f, 0.025175f, -0.000751f, 0.003524f, -0.001004f, -0.022292f, 0.013563f, -0.002109f, 0.003890f, -0.005049f, -0.014822f, 0.012407f, -0.018456f, -0.025719f, 0.022800f, -0.025095f, 0.004782f, -0.000339f, -0.035188f, -0.021037f, 0.013517f, -0.000746f, 0.016659f, -0.011312f, -0.037377f, -0.000275f, 0.001096f, 0.013751f, 0.014622f, 0.034625f, -0.020348f, -0.071733f, -0.025257f, -0.024555f, 0.015807f, -0.046785f, -0.016007f, + -0.007917f, -0.042988f, -0.014389f, -0.000967f, -0.008281f, -0.008264f, 0.009197f, -0.011776f, -0.001156f, -0.011064f, 0.009912f, -0.025391f, 0.008929f, 0.019959f, -0.025592f, -0.013047f, 0.012400f, 0.009608f, 0.008323f, -0.026311f, 0.006056f, 0.000062f, -0.003822f, 0.013577f, -0.003619f, 0.011122f, 0.009906f, -0.002501f, 0.002985f, 0.001945f, -0.003285f, -0.008921f, 0.014099f, -0.004916f, -0.010156f, 0.000067f, -0.000540f, 0.007379f, 0.002560f, -0.000217f, 0.002232f, -0.007757f, -0.007826f, 0.000623f, 0.002548f, 0.004329f, 0.008012f, -0.001191f, 0.003582f, -0.001046f, 0.003150f, -0.008988f, -0.003950f, -0.006306f, -0.005737f, -0.001154f, -0.001345f, 0.002988f, -0.010079f, -0.004735f, -0.007583f, -0.005497f, -0.010554f, -0.012999f, -0.011513f, -0.001445f, -0.001187f, 0.001165f, -0.007143f, -0.009188f, -0.033087f, 0.012997f, 0.016265f, -0.005517f, -0.006416f, -0.016534f, -0.018216f, 0.041897f, 0.015247f, -0.039247f, 0.013523f, -0.021418f, -0.002065f, -0.019468f, -0.040268f, 0.011742f, -0.020992f, -0.008857f, 0.001651f, 0.001100f, -0.010254f, -0.034121f, -0.021110f, 0.016620f, -0.020869f, -0.000657f, + -0.018456f, -0.028412f, -0.011019f, 0.031376f, 0.005061f, 0.005519f, -0.027406f, -0.009280f, -0.005589f, -0.003659f, 0.011182f, 0.013706f, 0.017815f, 0.021918f, -0.010695f, 0.012316f, 0.004389f, -0.012794f, 0.007862f, -0.021443f, -0.018543f, -0.016170f, 0.007009f, -0.018668f, 0.000975f, -0.028027f, -0.024422f, -0.012712f, 0.029063f, 0.022542f, 0.022113f, 0.024203f, -0.022248f, 0.030347f, 0.001132f, 0.013936f, 0.041968f, -0.008684f, -0.007563f, 0.006730f, -0.019995f, 0.008222f, -0.009302f, -0.026103f, 0.003568f, 0.021170f, -0.024950f, -0.018010f, -0.002882f, 0.022752f, -0.018895f, 0.002086f, 0.007261f, 0.013636f, 0.003677f, -0.005793f, -0.012784f, 0.003385f, 0.009992f, -0.005470f, 0.001509f, -0.006861f, 0.002440f, -0.006533f, 0.002858f, 0.000278f, 0.003907f, -0.002578f, 0.002807f, 0.004468f, 0.012134f, -0.001672f, 0.000088f, 0.000789f, 0.005857f, -0.008949f, -0.003275f, -0.009841f, -0.002313f, -0.002370f, -0.010651f, 0.001871f, 0.010436f, -0.001125f, -0.012733f, -0.002473f, -0.000747f, -0.011693f, -0.012424f, -0.019072f, -0.007320f, 0.006948f, 0.001674f, 0.004830f, -0.002332f, -0.003662f, + -0.006223f, -0.001275f, -0.015987f, -0.003307f, 0.010493f, 0.015459f, -0.000206f, 0.004431f, -0.008762f, -0.015632f, -0.036692f, 0.042351f, -0.032774f, 0.043852f, 0.024613f, 0.016817f, 0.009516f, 0.017344f, 0.018803f, 0.017419f, 0.047098f, -0.016243f, 0.003469f, -0.002948f, -0.007944f, -0.001234f, 0.005972f, -0.004168f, 0.009180f, -0.002851f, 0.014827f, 0.012511f, -0.002501f, -0.007933f, -0.046643f, -0.016467f, -0.033798f, -0.001366f, 0.018024f, 0.018252f, 0.005871f, 0.009400f, 0.013614f, 0.011351f, 0.013196f, 0.033715f, 0.050094f, 0.033738f, 0.006877f, -0.006146f, -0.009544f, -0.014137f, 0.017593f, 0.018023f, 0.020071f, -0.014636f, -0.011605f, -0.018204f, -0.002949f, 0.024572f, 0.000327f, 0.029403f, -0.017610f, 0.015854f, 0.009499f, 0.026414f, -0.054669f, -0.038982f, -0.015983f, -0.021778f, -0.022439f, 0.006986f, -0.009124f, 0.034691f, 0.010290f, -0.038185f, -0.003112f, 0.062405f, -0.020908f, 0.019626f, -0.009348f, 0.025790f, -0.011861f, -0.007531f, 0.000954f, -0.010314f, -0.013839f, -0.000753f, 0.010479f, 0.015628f, 0.010747f, -0.003790f, 0.012112f, -0.002969f, 0.005608f, -0.015589f, + -0.010773f, 0.010403f, 0.006457f, -0.015672f, -0.006943f, -0.006506f, -0.002143f, 0.004215f, -0.004205f, -0.007551f, 0.003579f, 0.000965f, 0.002584f, -0.000996f, -0.004532f, 0.007329f, 0.002272f, -0.003751f, 0.009316f, -0.001052f, 0.002704f, -0.001486f, 0.010981f, -0.009119f, 0.009766f, 0.004574f, -0.009308f, 0.006365f, 0.000249f, 0.001892f, -0.009718f, -0.027855f, 0.010443f, 0.000503f, 0.001931f, -0.002964f, 0.010599f, -0.002341f, -0.005140f, 0.003688f, 0.008236f, 0.007204f, -0.004297f, 0.008870f, -0.027011f, -0.013532f, 0.022342f, 0.009752f, 0.016469f, 0.043024f, 0.003644f, 0.028745f, 0.042005f, 0.029185f, -0.019076f, -0.042780f, -0.001490f, -0.019648f, 0.046063f, 0.013263f, 0.035973f, -0.005163f, -0.019374f, -0.007132f, -0.021138f, 0.008303f, -0.016284f, 0.001941f, -0.018134f, 0.009386f, -0.013272f, -0.005569f, -0.029084f, -0.028760f, -0.002935f, -0.041194f, 0.022464f, 0.015521f, -0.012412f, 0.021070f, -0.010132f, 0.008183f, 0.023374f, -0.026052f, -0.034227f, 0.006050f, -0.007562f, 0.057270f, 0.024230f, -0.062894f, -0.017089f, -0.017871f, -0.032555f, -0.034362f, -0.070352f, 0.012354f, + -0.025292f, -0.006618f, 0.009938f, 0.002525f, 0.014325f, -0.002819f, -0.008449f, -0.053262f, 0.006188f, -0.024233f, 0.006395f, 0.031178f, 0.006422f, 0.020896f, -0.031866f, -0.042132f, 0.008354f, 0.026070f, 0.017414f, 0.009774f, 0.016534f, 0.027107f, 0.033780f, 0.034883f, -0.031203f, -0.018705f, -0.022530f, -0.016011f, -0.026277f, 0.036808f, 0.021405f, 0.020748f, 0.005496f, 0.015865f, 0.013413f, -0.001308f, 0.019056f, -0.029678f, -0.010634f, -0.003548f, 0.002239f, -0.006425f, -0.021241f, 0.001201f, -0.004463f, 0.002740f, 0.006625f, 0.021517f, 0.000985f, 0.010074f, 0.009875f, 0.001623f, 0.010493f, 0.000369f, -0.006708f, 0.001331f, -0.016366f, -0.006539f, 0.008393f, 0.012431f, 0.003587f, 0.002299f, -0.019976f, -0.001884f, 0.000459f, -0.009461f, -0.006821f, 0.002967f, 0.006086f, -0.018086f, -0.020310f, -0.009102f, 0.006546f, 0.005873f, 0.009977f, 0.002507f, -0.006667f, 0.004558f, -0.021031f, -0.018400f, 0.076007f, 0.050197f, 0.069737f, 0.004511f, -0.013835f, -0.047400f, -0.013985f, 0.007910f, 0.010991f, -0.011316f, -0.036625f, -0.013258f, 0.060256f, 0.024894f, -0.008340f, 0.018431f, + -0.001365f, -0.022169f, -0.006471f, -0.014477f, 0.041084f, -0.003190f, 0.002408f, 0.017700f, 0.001162f, 0.020088f, -0.000213f, 0.028449f, -0.026217f, 0.032784f, 0.006644f, -0.015330f, -0.009252f, -0.016978f, 0.029630f, -0.041107f, -0.044342f, 0.027991f, 0.046368f, 0.002124f, 0.032007f, 0.043968f, -0.049575f, 0.016441f, 0.010125f, -0.002783f, -0.000457f, 0.007296f, -0.018613f, 0.034498f, -0.020984f, -0.016744f, 0.013956f, 0.001687f, -0.003758f, -0.008117f, -0.010345f, 0.004906f, -0.032754f, -0.009890f, 0.026356f, -0.032389f, -0.007456f, -0.021910f, 0.000803f, 0.065270f, -0.020552f, 0.004103f, 0.017471f, 0.000220f, -0.015071f, -0.040938f, 0.039872f, 0.018499f, -0.082262f, 0.020263f, 0.020672f, 0.015182f, -0.018469f, -0.008716f, 0.041980f, 0.001754f, 0.003064f, 0.010635f, -0.029254f, 0.000975f, 0.018557f, -0.007745f, 0.010706f, -0.002492f, -0.009539f, -0.024523f, 0.003669f, -0.003372f, 0.022532f, -0.002279f, -0.001012f, -0.016406f, 0.017834f, -0.006210f, -0.006279f, -0.025909f, -0.012989f, 0.008834f, -0.016623f, 0.001154f, -0.008233f, 0.010062f, -0.009772f, -0.020915f, 0.010363f, -0.022521f, + -0.006202f, -0.010377f, 0.000942f, 0.001097f, -0.008472f, 0.021938f, -0.002863f, 0.029665f, 0.018143f, -0.003304f, 0.003011f, 0.018857f, -0.013428f, 0.003116f, 0.002121f, 0.018061f, -0.016818f, -0.010213f, -0.033474f, -0.080908f, 0.072904f, 0.043659f, 0.023445f, 0.016640f, 0.036259f, -0.081647f, 0.034210f, 0.038429f, 0.016726f, -0.052088f, 0.029741f, 0.053661f, 0.025118f, 0.059120f, 0.021858f, 0.001505f, -0.001852f, -0.001335f, -0.009513f, 0.025343f, 0.042118f, 0.040172f, 0.014334f, -0.011683f, -0.020225f, 0.005453f, -0.018374f, -0.021546f, 0.023660f, 0.016461f, 0.004874f, -0.021594f, -0.021052f, -0.004217f, -0.018246f, 0.010045f, 0.048315f, -0.008003f, -0.015033f, 0.016665f, 0.009115f, 0.014691f, 0.017154f, -0.003154f, -0.009229f, 0.038968f, 0.025875f, 0.013083f, 0.017397f, -0.002591f, -0.037799f, 0.009374f, 0.025863f, 0.003806f, -0.028034f, 0.038574f, 0.010335f, 0.053459f, 0.002370f, 0.048108f, 0.005489f, -0.015095f, -0.004674f, 0.011924f, 0.068152f, -0.008054f, 0.024742f, 0.017204f, 0.032398f, 0.017277f, 0.000523f, -0.001554f, 0.021258f, 0.096918f, 0.004875f, 0.039183f, + -0.032328f, -0.023912f, 0.012602f, 0.015660f, 0.019140f, 0.008227f, 0.003426f, -0.046889f, -0.018410f, -0.049191f, 0.003040f, -0.008042f, -0.016089f, -0.013405f, -0.005208f, -0.020475f, 0.002943f, -0.001691f, -0.021739f, 0.016242f, -0.025377f, -0.011991f, -0.022891f, -0.015372f, -0.001247f, 0.003023f, -0.018270f, -0.021047f, 0.005434f, 0.014142f, 0.016223f, -0.002790f, -0.005874f, -0.027223f, -0.035955f, 0.004071f, 0.004649f, -0.016046f, 0.033142f, 0.032311f, 0.047357f, 0.016980f, -0.010189f, 0.006876f, 0.014744f, 0.018277f, 0.021592f, 0.003583f, -0.022197f, 0.006050f, 0.028785f, 0.015080f, 0.001599f, 0.011863f, -0.053173f, 0.058037f, -0.001011f, 0.051362f, 0.001138f, 0.003395f, -0.046869f, -0.014457f, -0.021170f, 0.035625f, 0.008936f, 0.015753f, 0.009282f, -0.035949f, 0.003393f, 0.002822f, -0.031679f, -0.045159f, -0.046267f, 0.015576f, -0.017315f, 0.041962f, 0.002232f, -0.013342f, -0.011090f, 0.009044f, -0.016455f, 0.002706f, 0.012109f, -0.017665f, 0.009716f, 0.014165f, 0.004612f, 0.004062f, 0.031544f, 0.053426f, -0.010686f, -0.000397f, 0.026602f, 0.022004f, 0.031902f, -0.023805f, + -0.009588f, 0.009726f, -0.032202f, 0.003166f, 0.002527f, -0.042387f, 0.054451f, -0.002628f, 0.027353f, 0.023892f, 0.016457f, -0.032223f, 0.002797f, 0.027656f, -0.022712f, 0.049174f, 0.013223f, -0.017879f, 0.040339f, 0.030693f, 0.021092f, -0.068284f, -0.014198f, 0.013694f, -0.023616f, 0.003765f, -0.038403f, -0.009458f, -0.058061f, -0.016442f, -0.009115f, -0.015865f, -0.064317f, -0.006331f, -0.017767f, 0.096332f, -0.014141f, 0.019706f, -0.010171f, 0.015509f, -0.008366f, -0.015589f, 0.010112f, -0.013046f, -0.002322f, -0.006952f, 0.025562f, 0.009429f, 0.011075f, -0.041410f, -0.037464f, -0.027612f, -0.011856f, 0.007528f, -0.052547f, -0.008233f, -0.004502f, 0.004105f, 0.018830f, 0.014681f, -0.001862f, 0.020487f, -0.018592f, 0.000643f, 0.000801f, -0.029854f, -0.041860f, 0.008451f, -0.012459f, -0.038295f, -0.010878f, -0.017885f, 0.002328f, -0.040937f, -0.005007f, -0.017698f, 0.024035f, 0.000719f, -0.017900f, -0.006084f, 0.007278f, 0.009970f, -0.004248f, 0.018967f, -0.019129f, -0.011321f, 0.023803f, 0.023387f, 0.029967f, 0.026322f, 0.019616f, -0.014221f, 0.012272f, 0.032857f, 0.031729f, 0.013973f, + -0.038248f, -0.044394f, 0.019782f, -0.006078f, 0.014324f, -0.008138f, 0.037761f, -0.028090f, -0.005751f, -0.009662f, 0.032949f, -0.024666f, 0.057717f, 0.070913f, 0.072356f, 0.004500f, -0.013326f, 0.011785f, -0.009309f, 0.017736f, -0.002997f, -0.000350f, -0.021092f, -0.057963f, -0.019234f, -0.055509f, 0.031946f, 0.030034f, -0.034146f, -0.025575f, -0.034230f, -0.015990f, -0.004861f, 0.075808f, 0.000987f, -0.038591f, -0.041425f, -0.002449f, 0.053069f, 0.025369f, -0.106074f, -0.021605f, -0.018668f, 0.014026f, 0.040015f, -0.046053f, -0.014498f, -0.027400f, 0.012174f, -0.062864f, 0.031412f, -0.010434f, -0.001303f, 0.017526f, 0.002718f, -0.030754f, 0.062242f, -0.006162f, 0.029687f, 0.066564f, 0.136451f, 0.081813f, -0.001848f, 0.045990f, 0.069669f, 0.089476f, 0.097066f, 0.027797f, 0.059525f, 0.017052f, 0.000935f, 0.036516f, -0.028506f, 0.059865f, 0.025812f, -0.025919f, -0.088959f, -0.064780f, 0.008652f, -0.025272f, -0.018086f, -0.016369f, -0.009675f, -0.010856f, -0.036510f, -0.023941f, 0.001587f, -0.005576f, -0.001786f, -0.011450f, -0.003019f, -0.019020f, 0.024006f, -0.039514f, -0.015964f, 0.011611f, + 0.007567f, 0.003706f, -0.009962f, -0.012259f, -0.006719f, 0.008133f, -0.006026f, 0.020580f, -0.023702f, -0.029976f, -0.029866f, -0.018456f, 0.023308f, 0.025928f, -0.009323f, -0.004340f, 0.009736f, -0.004768f, 0.043113f, 0.009430f, 0.004135f, 0.034409f, 0.021851f, 0.019754f, 0.048941f, 0.032073f, 0.036930f, 0.011554f, 0.018017f, 0.040242f, 0.015892f, 0.016713f, -0.013380f, -0.030292f, 0.035251f, -0.044046f, 0.074158f, -0.008587f, -0.013425f, 0.001517f, 0.059088f, -0.039215f, -0.006800f, -0.001571f, 0.000950f, 0.021533f, -0.015104f, 0.030988f, 0.010859f, -0.005658f, 0.007312f, 0.003684f, 0.024380f, -0.074017f, -0.023238f, -0.002129f, 0.007995f, -0.007197f, -0.053899f, 0.044487f, -0.002317f, 0.006199f, 0.016200f, -0.035131f, -0.015938f, -0.081690f, 0.021807f, -0.019050f, 0.015806f, 0.059859f, -0.016270f, 0.012640f, -0.007585f, 0.028594f, -0.048744f, -0.065259f, 0.057367f, -0.005281f, 0.005029f, 0.009790f, 0.057699f, 0.042059f, 0.050090f, -0.000781f, -0.066811f, 0.039780f, 0.018743f, -0.015739f, -0.023574f, 0.038022f, -0.006850f, 0.048054f, 0.079483f, 0.061777f, 0.010607f, 0.005441f, + 0.058661f, -0.011498f, 0.018081f, 0.048246f, -0.032721f, 0.055775f, 0.034201f, 0.019919f, -0.039298f, -0.019408f, -0.052470f, -0.001480f, 0.018130f, 0.078305f, 0.033057f, -0.072608f, -0.006616f, 0.047050f, -0.006802f, 0.022934f, 0.031572f, -0.051475f, -0.012655f, 0.025226f, 0.006149f, 0.014130f, -0.022428f, 0.016787f, 0.028441f, 0.003752f, 0.000488f, 0.041586f, 0.007996f, -0.008886f, -0.010711f, 0.013847f, -0.003600f, 0.022375f, 0.003583f, 0.016949f, 0.019263f, -0.002852f, -0.019857f, 0.040935f, -0.005820f, -0.012485f, -0.002584f, -0.027698f, -0.027863f, -0.018275f, -0.019287f, 0.013336f, 0.024245f, -0.024278f, -0.020805f, 0.004897f, 0.036403f, -0.052467f, -0.012710f, 0.020322f, -0.006204f, 0.000171f, -0.007129f, -0.005639f, -0.037725f, -0.000494f, -0.010044f, 0.010489f, 0.002922f, 0.006312f, 0.000442f, 0.003299f, -0.002986f, -0.102796f, 0.023477f, -0.017053f, -0.004098f, 0.080188f, 0.034418f, -0.025195f, -0.019556f, -0.000337f, -0.051977f, -0.063608f, 0.005293f, 0.000530f, -0.035863f, 0.037946f, 0.004510f, -0.036711f, 0.023098f, 0.069004f, -0.009347f, -0.039768f, 0.024867f, -0.023417f, + -0.025629f, 0.012883f, 0.055940f, -0.018243f, 0.008092f, 0.015381f, -0.017409f, -0.041715f, -0.027506f, 0.055370f, 0.019346f, -0.054550f, 0.046548f, 0.018337f, -0.037539f, -0.019518f, 0.076733f, -0.024972f, -0.059149f, -0.030279f, 0.102026f, -0.100834f, -0.046915f, 0.059903f, -0.027256f, -0.032391f, -0.096295f, 0.075041f, -0.061725f, 0.022094f, 0.003015f, -0.011483f, -0.108735f, -0.032020f, 0.092718f, 0.058656f, -0.073635f, -0.020037f, -0.032004f, -0.014970f, 0.014852f, 0.020262f, 0.023979f, -0.128152f, 0.069931f, 0.053875f, 0.056228f, 0.000972f, 0.029326f, -0.062649f, -0.056011f, 0.109859f, 0.044804f, 0.012268f, 0.043962f, -0.058964f, 0.011657f, -0.026021f, 0.027995f, -0.015834f, 0.076771f, -0.031272f, -0.027021f, 0.010813f, 0.009048f, -0.029000f, 0.017288f, 0.008605f, 0.006304f, -0.005352f, 0.003645f, 0.006343f, 0.006010f, -0.007066f, -0.004432f, 0.016283f, 0.000661f, -0.008399f, 0.033430f, 0.010092f, -0.030235f, 0.003462f, 0.028630f, 0.007701f, -0.028780f, 0.038396f, 0.068358f, -0.033575f, -0.039644f, -0.010507f, -0.009169f, 0.023460f, 0.049995f, 0.015408f, -0.046842f, -0.015333f, + -0.007073f, 0.007106f, 0.013849f, -0.007661f, 0.020266f, -0.014688f, -0.002090f, 0.012205f, -0.084614f, 0.014821f, 0.105953f, 0.033206f, 0.011489f, 0.003023f, 0.008079f, 0.045507f, 0.062256f, -0.014089f, 0.011731f, 0.016190f, -0.010575f, 0.037596f, -0.019639f, -0.005189f, -0.014835f, 0.028909f, 0.021496f, -0.011648f, 0.019772f, -0.028117f, -0.022893f, 0.028865f, -0.018377f, 0.031707f, -0.020957f, -0.009246f, -0.000512f, 0.017380f, -0.000977f, 0.012959f, 0.005307f, 0.032286f, -0.022925f, -0.004502f, 0.000665f, -0.012701f, 0.031171f, 0.027058f, -0.022174f, -0.007803f, -0.013592f, 0.007243f, -0.028637f, 0.015600f, 0.008957f, 0.014327f, -0.011389f, -0.008616f, 0.035466f, -0.042412f, -0.007263f, 0.018033f, -0.011445f, -0.007635f, 0.018593f, -0.052147f, 0.012701f, -0.018815f, 0.003211f, -0.018423f, 0.045264f, -0.014614f, -0.019428f, 0.018642f, -0.010175f, -0.029522f, 0.057542f, -0.001497f, 0.005972f, -0.012750f, -0.022041f, -0.025985f, 0.029074f, -0.032475f, -0.015614f, 0.033228f, -0.045145f, -0.019616f, 0.005924f, -0.004156f, 0.005643f, -0.000624f, 0.006547f, 0.020230f, -0.007147f, 0.007982f, + -0.009132f, 0.021224f, 0.011675f, -0.000812f, 0.001888f, 0.012965f, -0.011217f, 0.009446f, 0.001622f, 0.010381f, -0.004557f, 0.016088f, -0.008057f, 0.004391f, -0.013828f, -0.011933f, -0.018926f, 0.003638f, 0.001214f, 0.006454f, -0.009224f, 0.021369f, -0.006929f, -0.003568f, 0.018349f, 0.016184f, 0.008724f, -0.007394f, -0.012154f, 0.011075f, 0.014653f, 0.009216f, 0.006383f, -0.000106f, 0.013252f, 0.014361f, 0.006402f, 0.012212f, 0.001686f, -0.009316f, 0.027446f, -0.079121f, -0.223245f, -0.183447f, 0.096635f, 0.027562f, 0.221445f, 0.395844f, 0.058594f, 0.124650f, 0.045194f, -0.316122f, -0.100132f, -0.214524f, -0.259215f, 0.007059f, 0.041119f, -0.108250f, 0.156304f, 0.204670f, 0.114761f, 0.326554f, 0.188212f, -0.042264f, -0.077808f, -0.151859f, -0.295383f, -0.233297f, -0.068946f, -0.208061f, -0.029212f, 0.179106f, 0.029697f, 0.041521f, 0.270858f, 0.138082f, 0.085303f, 0.282439f, 0.043300f, -0.078254f, 0.110255f, -0.148259f, -0.293472f, -0.122928f, -0.247641f, -0.309837f, -0.004778f, -0.064879f, -0.081749f, 0.205983f, 0.226993f, 0.144388f, 0.342612f, 0.276427f, 0.130251f, 0.117809f, + 0.068081f, -0.229327f, -0.211017f, -0.267116f, -0.352661f, -0.282774f, -0.119491f, -0.082122f, 0.006969f, 0.202381f, 0.246093f, 0.257673f, 0.246947f, 0.228875f, 0.048598f, 0.004047f, -0.039178f, -0.174836f, -0.191613f, -0.110781f, -0.200907f, -0.084623f, 0.017226f, -0.043973f, 0.100401f, 0.180985f, 0.055116f, 0.076357f, 0.033761f, -0.049645f, -0.031146f, -0.075894f, -0.098812f, -0.012012f, 0.027421f, 0.000606f, 0.080974f, 0.074845f, 0.008225f, 0.072049f, -0.000271f, -0.091537f, 0.080360f, 0.024143f, -0.081568f, 0.056988f, -0.060496f, -0.122267f, 0.055492f, -0.087046f, -0.215568f, 0.003266f, -0.095064f, -0.062808f, 0.213069f, 0.096437f, 0.101157f, 0.305180f, 0.202109f, 0.112233f, 0.132974f, -0.033309f, -0.193255f, -0.245372f, -0.333350f, -0.368539f, -0.234088f, -0.149449f, -0.026028f, 0.140169f, 0.311983f, 0.344648f, 0.319330f, 0.332751f, 0.177714f, 0.008173f, -0.085083f, -0.219104f, -0.280492f, -0.181406f, -0.202647f, -0.161197f, -0.032548f, 0.006162f, 0.021497f, 0.079652f, 0.067659f, 0.059443f, 0.105341f, 0.105430f, 0.089093f, 0.105488f, 0.073632f, 0.026613f, -0.005336f, -0.040966f, + -0.096908f, -0.102218f, -0.075694f, -0.059645f, -0.025891f, -0.008577f, -0.005999f, -0.007146f}, + {-0.019694f, -0.023970f, 0.012087f, -0.004389f, 0.010571f, -0.005251f, -0.005372f, -0.010723f, 0.002526f, 0.002273f, -0.000481f, 0.000174f, -0.001204f, -0.008202f, -0.000955f, -0.004690f, -0.005396f, -0.005112f, -0.000199f, 0.000616f, -0.000412f, -0.000923f, 0.004064f, -0.001129f, -0.012413f, 0.007721f, 0.003833f, -0.004227f, 0.001235f, -0.000120f, 0.000127f, 0.001743f, 0.007971f, -0.004446f, 0.000465f, -0.014062f, 0.007002f, 0.001384f, 0.003158f, 0.004861f, 0.007891f, -0.004416f, -0.003366f, -0.001597f, -0.007080f, 0.000567f, -0.001073f, 0.006113f, -0.003296f, -0.000419f, -0.003432f, -0.003922f, 0.007435f, -0.005611f, -0.002722f, 0.000699f, -0.005102f, 0.004252f, -0.000200f, -0.002392f, 0.004594f, 0.008445f, 0.000520f, -0.000328f, -0.001196f, 0.007220f, -0.007186f, 0.000063f, -0.001132f, 0.003778f, -0.001777f, -0.003288f, 0.007844f, -0.000139f, 0.001647f, -0.002182f, 0.001619f, 0.004223f, -0.003396f, -0.004736f, 0.000229f, 0.004123f, 0.006915f, -0.003119f, -0.002123f, 0.001704f, 0.000364f, 0.001058f, -0.003188f, -0.001025f, 0.001884f, -0.000429f, 0.001321f, -0.002513f, -0.000793f, -0.001551f, + -0.002178f, -0.001570f, -0.001468f, 0.001101f, 0.000184f, -0.001100f, 0.001095f, 0.000759f, -0.001005f, -0.000311f, -0.000256f, -0.001363f, -0.002458f, -0.000689f, -0.000010f, 0.000504f, 0.001316f, -0.028580f, 0.004858f, 0.003377f, 0.010017f, -0.003927f, 0.003035f, 0.011647f, -0.004512f, 0.003183f, -0.007068f, -0.010370f, 0.003793f, -0.007060f, -0.008059f, -0.008084f, 0.002432f, 0.003083f, -0.013794f, 0.008107f, 0.005372f, -0.002347f, -0.005053f, 0.003226f, -0.001259f, -0.003142f, 0.000995f, 0.004571f, 0.003377f, 0.007302f, 0.001405f, -0.002224f, 0.007513f, -0.003782f, 0.016391f, 0.003691f, 0.010097f, 0.003893f, 0.008858f, 0.003946f, 0.006103f, 0.003306f, 0.000725f, 0.000340f, 0.012402f, 0.002104f, -0.001997f, 0.000821f, 0.006546f, 0.004853f, 0.000708f, -0.000555f, -0.002556f, 0.001383f, 0.015131f, 0.004342f, 0.006990f, -0.007313f, -0.003770f, -0.007713f, -0.004884f, -0.007487f, 0.005617f, 0.003552f, -0.004793f, -0.003408f, 0.003363f, -0.003567f, 0.003754f, -0.001678f, -0.001145f, -0.005178f, -0.008743f, 0.003761f, -0.014195f, -0.002003f, -0.003041f, -0.003588f, 0.000757f, -0.003310f, + 0.000650f, 0.005344f, 0.002572f, -0.003637f, 0.000644f, -0.002884f, -0.006194f, -0.000998f, 0.002946f, -0.000301f, -0.004788f, 0.001737f, 0.000856f, 0.001814f, 0.003246f, 0.000131f, 0.000437f, -0.002241f, -0.001382f, -0.000328f, -0.000061f, 0.001179f, -0.002605f, -0.002203f, 0.016088f, 0.022167f, -0.006790f, 0.005962f, -0.011010f, -0.000581f, 0.000659f, 0.028323f, -0.002895f, -0.007478f, -0.012204f, 0.000292f, 0.008128f, 0.013033f, -0.002935f, -0.017087f, -0.004916f, -0.006509f, -0.004667f, 0.005819f, -0.001253f, 0.010887f, 0.001214f, -0.006142f, -0.013825f, 0.004159f, -0.001295f, 0.003225f, -0.001667f, 0.001574f, 0.006777f, 0.002498f, -0.017396f, 0.002108f, 0.011193f, 0.005518f, 0.001377f, 0.002693f, -0.002795f, 0.007769f, -0.010286f, -0.000990f, 0.008486f, -0.005839f, 0.000001f, 0.013801f, -0.006368f, -0.000637f, -0.004673f, 0.008496f, -0.008921f, -0.006605f, 0.004128f, -0.009236f, -0.004562f, 0.012053f, 0.007076f, -0.010742f, -0.003968f, -0.001600f, -0.002671f, -0.004888f, 0.003863f, -0.004193f, 0.004431f, -0.000116f, 0.000659f, 0.001958f, 0.009085f, -0.001017f, 0.012525f, 0.006491f, + -0.009620f, -0.004416f, -0.004696f, 0.007542f, 0.002241f, -0.000489f, -0.003866f, 0.010093f, 0.003880f, -0.000169f, -0.000219f, -0.002500f, -0.002313f, 0.003010f, 0.001160f, 0.003337f, 0.007859f, 0.002877f, -0.000425f, 0.000536f, 0.000634f, 0.002572f, -0.000523f, 0.000994f, 0.003758f, 0.000841f, 0.004651f, 0.000179f, 0.001647f, 0.002405f, 0.002851f, 0.001048f, 0.001806f, 0.002094f, 0.001703f, 0.002700f, -0.000817f, 0.000851f, 0.001833f, 0.002765f, -0.000234f, -0.002054f, -0.002449f, 0.000632f, 0.052881f, -0.019537f, 0.010732f, -0.014920f, -0.001548f, 0.000528f, -0.001084f, -0.007908f, 0.004335f, 0.006087f, 0.001483f, -0.005752f, -0.012248f, -0.000457f, 0.007489f, 0.005321f, -0.005384f, -0.009221f, -0.000740f, 0.008262f, 0.015088f, -0.008136f, -0.001092f, -0.006142f, -0.013201f, 0.001480f, -0.006641f, 0.004010f, -0.004917f, 0.010274f, -0.018028f, 0.012176f, -0.000799f, -0.010731f, 0.002614f, 0.004523f, -0.001273f, -0.005681f, 0.000351f, 0.014107f, -0.000534f, 0.002327f, -0.001997f, 0.005403f, 0.002484f, -0.003325f, -0.005301f, -0.011589f, 0.007513f, -0.002421f, -0.003418f, 0.004466f, + 0.000072f, -0.019483f, 0.014969f, -0.020970f, -0.012115f, -0.014849f, 0.003194f, -0.001734f, 0.008895f, -0.004857f, 0.004726f, -0.008935f, 0.004290f, -0.002331f, -0.003670f, -0.009858f, 0.006030f, 0.006957f, 0.011863f, -0.002877f, -0.001152f, 0.003231f, -0.003626f, -0.002119f, 0.002270f, 0.006880f, -0.009106f, 0.004509f, 0.006509f, 0.007271f, -0.011536f, -0.009395f, 0.003925f, -0.005867f, 0.002982f, -0.000081f, -0.000713f, 0.001031f, 0.001425f, -0.000471f, 0.002694f, -0.003334f, 0.001606f, -0.001021f, 0.006708f, 0.000423f, 0.001623f, 0.001539f, 0.000403f, -0.002628f, -0.000259f, 0.000685f, -0.000767f, -0.041754f, 0.004216f, 0.000404f, -0.003579f, -0.006472f, 0.007264f, -0.005697f, 0.004822f, -0.001536f, -0.000108f, 0.006707f, 0.008746f, -0.005438f, 0.006434f, -0.001923f, -0.003600f, -0.011740f, -0.000607f, -0.015849f, -0.011641f, 0.013881f, 0.004935f, -0.005426f, -0.002001f, -0.001669f, 0.009629f, 0.005062f, -0.004998f, 0.008772f, 0.005830f, 0.003419f, 0.003018f, 0.003715f, 0.006680f, 0.005740f, 0.005670f, 0.015528f, 0.013978f, 0.006017f, 0.001526f, -0.009703f, 0.010742f, -0.014400f, + 0.002816f, -0.004033f, 0.011639f, -0.008821f, -0.011461f, 0.019631f, -0.004603f, -0.010560f, -0.009416f, 0.014605f, 0.008961f, 0.000511f, 0.007501f, 0.010595f, 0.004850f, 0.017151f, -0.001046f, -0.002736f, 0.009724f, 0.005934f, 0.000550f, 0.000361f, -0.008959f, 0.005335f, 0.005551f, 0.013840f, 0.005621f, 0.008608f, -0.005352f, -0.007150f, -0.015161f, -0.003504f, -0.008211f, -0.006537f, -0.006919f, 0.007620f, -0.000297f, 0.000562f, -0.004459f, -0.005156f, -0.001450f, -0.004540f, 0.001373f, -0.003069f, -0.005044f, 0.002028f, -0.000521f, 0.000157f, -0.004723f, -0.000717f, 0.000166f, -0.005945f, -0.000839f, -0.001442f, 0.000366f, -0.002691f, -0.003101f, -0.001939f, -0.001169f, 0.000070f, -0.001017f, 0.000901f, -0.001414f, 0.001616f, 0.000367f, 0.001424f, 0.003214f, -0.000784f, 0.003395f, 0.000664f, 0.002219f, -0.001611f, 0.000668f, -0.003003f, -0.001136f, -0.000541f, -0.003602f, -0.001147f, -0.001789f, -0.055636f, 0.014882f, -0.011907f, -0.017588f, -0.017391f, 0.010731f, -0.012918f, 0.009474f, -0.016218f, 0.008872f, 0.007572f, 0.004640f, -0.017071f, 0.011631f, -0.000245f, 0.007026f, -0.014150f, + 0.007821f, 0.016656f, 0.012723f, 0.000423f, -0.006020f, 0.002310f, -0.003646f, -0.018038f, -0.003686f, -0.008689f, 0.004079f, -0.011360f, 0.009682f, 0.009497f, -0.003808f, -0.000458f, 0.013338f, -0.002972f, 0.009036f, -0.007343f, -0.011703f, 0.006038f, -0.000243f, 0.006249f, 0.016417f, 0.009977f, -0.000656f, -0.028733f, -0.013799f, -0.004024f, 0.003941f, -0.004454f, 0.015761f, -0.024968f, 0.007850f, 0.003344f, -0.000293f, 0.007775f, -0.003272f, 0.012068f, -0.026175f, -0.012238f, 0.010084f, -0.026305f, -0.004911f, 0.012217f, 0.004348f, -0.005843f, -0.017561f, 0.006465f, 0.011264f, 0.008255f, -0.003171f, -0.018422f, -0.001628f, 0.000098f, -0.002129f, -0.001023f, -0.009044f, 0.004038f, -0.014442f, 0.008813f, 0.001202f, -0.008584f, 0.001646f, -0.010317f, 0.000736f, -0.012332f, -0.003485f, 0.004267f, 0.004487f, 0.000359f, -0.001228f, -0.004277f, -0.003241f, 0.000818f, -0.007268f, 0.005775f, 0.000400f, -0.003536f, -0.000024f, -0.006276f, -0.004964f, 0.001350f, -0.002612f, 0.003340f, -0.003331f, -0.001872f, -0.002200f, -0.002404f, -0.004267f, -0.000751f, -0.002403f, -0.000976f, 0.001131f, -0.001023f, + -0.001952f, 0.001511f, -0.000817f, -0.001667f, -0.001717f, -0.003776f, -0.002672f, 0.000461f, 0.001925f, -0.000604f, -0.026145f, 0.002820f, 0.004359f, 0.020479f, -0.019342f, 0.022361f, 0.006342f, -0.001809f, -0.005250f, -0.002419f, 0.002080f, -0.016361f, -0.003125f, 0.005231f, -0.005365f, -0.009610f, -0.002585f, 0.015455f, -0.015969f, -0.003492f, 0.016021f, 0.000055f, -0.006333f, 0.005627f, -0.007771f, 0.011760f, 0.005197f, -0.000173f, 0.005911f, -0.006863f, -0.010744f, -0.000796f, 0.000846f, 0.008787f, -0.018853f, -0.010210f, -0.008304f, -0.005865f, -0.005564f, -0.005756f, 0.002864f, 0.000889f, 0.001605f, -0.014127f, -0.014430f, -0.011528f, 0.000457f, -0.018141f, -0.009954f, 0.010793f, -0.007285f, 0.002346f, 0.001203f, -0.000392f, 0.004574f, 0.006376f, 0.006179f, 0.007223f, 0.010735f, -0.001947f, 0.011612f, -0.000801f, 0.005904f, -0.001029f, -0.007352f, -0.000506f, -0.011895f, 0.007325f, -0.013931f, 0.013003f, -0.015551f, -0.000312f, -0.016040f, 0.001453f, -0.016114f, -0.015655f, 0.007456f, 0.021368f, 0.006561f, -0.013915f, 0.009957f, -0.000086f, -0.006021f, -0.003738f, -0.006310f, 0.008442f, + 0.007452f, 0.010400f, 0.001994f, 0.008087f, -0.006803f, -0.000839f, 0.008127f, 0.000846f, 0.002592f, 0.001482f, -0.003780f, 0.004704f, -0.000312f, 0.001686f, 0.007232f, 0.001978f, -0.001638f, -0.004354f, -0.001817f, 0.002822f, 0.003042f, 0.002205f, 0.000967f, -0.003423f, 0.000406f, -0.000821f, -0.007290f, 0.007111f, 0.000995f, 0.002522f, 0.000504f, -0.001892f, -0.003354f, 0.002417f, -0.003418f, -0.001848f, 0.072707f, 0.000878f, -0.020960f, 0.003311f, -0.011379f, 0.028993f, -0.004742f, 0.008164f, 0.002122f, 0.001414f, -0.025472f, -0.013046f, 0.014125f, 0.012424f, -0.020072f, -0.003515f, -0.000612f, 0.017874f, 0.008782f, 0.006809f, 0.017512f, 0.002768f, 0.001145f, 0.015216f, -0.005322f, -0.023143f, 0.003420f, 0.017718f, 0.010477f, -0.006693f, 0.000347f, 0.012359f, 0.007522f, 0.003388f, -0.000667f, -0.012980f, 0.006314f, -0.014119f, 0.001398f, -0.026592f, 0.006966f, 0.008205f, -0.002163f, -0.012231f, 0.016880f, 0.008894f, -0.003511f, 0.013148f, 0.006047f, -0.011063f, 0.020267f, 0.002199f, -0.007200f, 0.004721f, 0.020782f, 0.003251f, -0.000548f, -0.017335f, -0.010131f, 0.002447f, + 0.007039f, 0.023713f, -0.007824f, -0.009377f, 0.002045f, 0.012951f, -0.008367f, -0.010258f, -0.000935f, 0.017242f, 0.012322f, -0.004276f, -0.013234f, -0.000675f, 0.015036f, -0.005970f, 0.031236f, 0.006828f, 0.004661f, -0.015974f, 0.013566f, 0.000841f, -0.003463f, -0.008107f, 0.000794f, -0.004518f, 0.000830f, 0.019347f, 0.008806f, 0.007065f, 0.003686f, 0.002263f, 0.000317f, -0.001227f, 0.001787f, 0.003918f, 0.006970f, 0.001110f, 0.001255f, 0.002596f, -0.005293f, 0.000148f, 0.002295f, -0.001158f, 0.006070f, -0.004269f, -0.000120f, -0.002073f, 0.002391f, 0.010299f, 0.003515f, -0.003172f, -0.000760f, 0.002482f, 0.000878f, 0.003464f, -0.000655f, -0.004390f, 0.004104f, 0.003707f, -0.003455f, -0.000901f, 0.009067f, 0.003132f, 0.016389f, 0.008703f, -0.025860f, -0.002693f, -0.013087f, 0.025961f, -0.009769f, 0.012091f, 0.002294f, 0.016250f, 0.006392f, 0.002394f, -0.001364f, 0.006591f, -0.007457f, -0.011054f, -0.030602f, -0.022641f, 0.007448f, 0.020114f, 0.026984f, -0.009958f, -0.013231f, -0.011628f, 0.005994f, -0.006380f, -0.001413f, -0.001107f, 0.003603f, 0.004101f, 0.018002f, -0.009624f, + 0.001657f, 0.004433f, 0.008772f, -0.008734f, -0.006515f, -0.014405f, -0.009796f, -0.010045f, -0.017177f, -0.043495f, -0.000547f, -0.005833f, -0.018730f, 0.004190f, -0.002151f, -0.023591f, 0.007882f, -0.020005f, 0.005088f, -0.002432f, -0.001681f, 0.010147f, 0.013104f, -0.000378f, -0.019547f, 0.005745f, -0.012285f, -0.013508f, 0.018737f, 0.016963f, 0.018874f, -0.006166f, 0.003025f, 0.002518f, -0.009690f, 0.001506f, -0.004676f, 0.029633f, -0.004932f, -0.003039f, -0.002974f, -0.000201f, -0.018125f, -0.022382f, 0.005288f, -0.001622f, -0.001702f, 0.005077f, 0.032197f, -0.003964f, -0.015140f, -0.006351f, 0.016885f, -0.002444f, -0.005528f, -0.004846f, -0.000382f, -0.013704f, 0.003285f, -0.002609f, 0.002531f, -0.006906f, 0.000269f, -0.008693f, -0.000775f, -0.000519f, 0.003494f, -0.003624f, -0.001833f, -0.005293f, 0.007167f, 0.000501f, -0.005329f, 0.001225f, 0.002345f, -0.005610f, 0.001404f, 0.002283f, 0.008769f, -0.001777f, 0.001992f, 0.006299f, 0.003808f, -0.003162f, 0.003687f, -0.006639f, -0.011000f, 0.001404f, 0.000989f, -0.004065f, -0.010261f, -0.002014f, -0.002577f, 0.009128f, 0.003290f, 0.006156f, + -0.001109f, 0.007666f, 0.008384f, -0.028499f, 0.010459f, 0.003420f, 0.029997f, -0.020271f, -0.011500f, -0.006768f, 0.015996f, -0.015369f, -0.014763f, 0.013239f, 0.008902f, -0.015547f, -0.015670f, -0.015354f, -0.034280f, 0.022421f, 0.021059f, 0.022321f, -0.009676f, 0.007021f, 0.022166f, -0.032233f, 0.000008f, 0.021071f, 0.019550f, 0.008833f, -0.000085f, -0.010355f, 0.002120f, -0.005015f, -0.027874f, 0.003478f, 0.007598f, 0.004036f, 0.018437f, -0.016327f, 0.001725f, -0.030470f, -0.003888f, 0.005962f, -0.016740f, 0.006413f, 0.005109f, 0.013556f, 0.016609f, 0.023090f, -0.004757f, -0.009136f, -0.027957f, -0.019989f, 0.008595f, 0.040988f, -0.012756f, -0.001758f, -0.018936f, -0.010072f, -0.015026f, 0.008791f, 0.009073f, -0.003207f, 0.001326f, -0.030086f, -0.003978f, 0.020277f, -0.016243f, -0.014119f, 0.012046f, -0.005474f, 0.017634f, 0.004312f, -0.012977f, 0.002037f, -0.019599f, -0.005700f, -0.005182f, 0.037734f, -0.003790f, -0.011122f, 0.008271f, 0.007656f, -0.003325f, -0.006487f, -0.001935f, -0.005227f, -0.007029f, -0.006602f, -0.005008f, 0.002594f, 0.002934f, 0.006032f, -0.001575f, -0.000157f, + -0.003644f, 0.003629f, 0.000956f, -0.009760f, 0.002596f, -0.000150f, -0.001049f, 0.003442f, -0.000215f, -0.005360f, -0.005237f, -0.012596f, 0.004181f, -0.004010f, 0.003704f, 0.004721f, -0.005889f, 0.002627f, 0.001716f, -0.001322f, 0.004760f, -0.000047f, 0.013590f, 0.001840f, -0.002456f, 0.000258f, -0.003938f, -0.000777f, 0.002377f, 0.000318f, -0.001172f, 0.001039f, -0.005296f, 0.004182f, -0.017825f, 0.040773f, -0.020303f, -0.010523f, -0.000956f, -0.001495f, -0.029178f, 0.001727f, -0.021520f, 0.015315f, -0.040328f, -0.006001f, -0.012978f, 0.013579f, -0.013952f, -0.014056f, -0.034134f, 0.022777f, -0.014102f, 0.009277f, -0.011057f, 0.006712f, 0.017999f, -0.013298f, -0.022411f, -0.007634f, 0.015157f, 0.031529f, 0.010074f, 0.013120f, 0.001469f, -0.032035f, -0.017178f, -0.017334f, -0.008940f, 0.005438f, 0.028821f, 0.012324f, 0.016747f, 0.015654f, -0.004516f, -0.006875f, -0.009819f, -0.026801f, 0.001356f, -0.018745f, 0.028774f, -0.013339f, 0.019790f, 0.004120f, -0.010496f, 0.006528f, -0.007018f, -0.009178f, -0.015814f, 0.023578f, 0.006122f, 0.039930f, 0.008682f, -0.043261f, -0.010845f, 0.013690f, + 0.011127f, 0.006173f, -0.002531f, 0.003689f, 0.045036f, 0.022436f, -0.007724f, 0.004721f, -0.012248f, 0.032569f, -0.001349f, -0.001421f, 0.012634f, -0.028948f, -0.012532f, -0.009937f, -0.030913f, -0.036645f, 0.007144f, 0.012881f, -0.003513f, -0.018137f, -0.004807f, -0.005879f, -0.014228f, 0.000064f, -0.002985f, -0.011344f, 0.011020f, 0.016903f, -0.003852f, -0.002684f, -0.002683f, -0.006878f, 0.004787f, 0.000967f, -0.002054f, -0.003632f, -0.003083f, -0.002207f, 0.005511f, -0.003488f, -0.008154f, -0.002164f, -0.000508f, 0.002370f, 0.001484f, -0.005124f, 0.011939f, -0.004178f, 0.007202f, -0.001649f, 0.005992f, 0.002998f, -0.002080f, -0.008440f, -0.008009f, 0.002469f, -0.002278f, -0.012646f, -0.004696f, -0.003299f, 0.004421f, 0.000900f, -0.001070f, 0.003208f, 0.005544f, 0.001661f, -0.003544f, -0.005378f, -0.024836f, 0.015014f, 0.033434f, -0.003181f, -0.001346f, -0.000676f, 0.031082f, 0.009691f, 0.007525f, 0.005385f, 0.003761f, 0.005358f, -0.012110f, 0.002359f, -0.038293f, 0.005590f, -0.018402f, 0.016116f, 0.039361f, -0.005028f, 0.002959f, -0.030907f, 0.041490f, 0.020143f, 0.017686f, -0.005090f, + -0.022659f, 0.002802f, -0.007664f, 0.021062f, 0.015166f, -0.018760f, 0.001109f, 0.011136f, 0.007938f, -0.014513f, -0.012827f, 0.060691f, -0.013958f, -0.010524f, 0.012891f, -0.015395f, -0.011151f, 0.019325f, 0.018999f, 0.000787f, 0.007379f, 0.006905f, -0.023360f, -0.011641f, -0.000890f, 0.008030f, 0.020661f, 0.005110f, 0.004966f, -0.026485f, -0.002390f, 0.007848f, -0.036072f, 0.007957f, -0.009950f, -0.003635f, -0.006558f, 0.010662f, -0.010647f, -0.019629f, -0.020882f, -0.033224f, 0.004321f, -0.013460f, -0.006370f, 0.021297f, -0.007094f, 0.006914f, -0.037373f, -0.000066f, 0.034661f, 0.008079f, -0.017315f, -0.010378f, 0.021106f, 0.010753f, -0.022880f, 0.012909f, -0.016533f, -0.012848f, -0.005356f, -0.003230f, 0.007963f, -0.002236f, 0.001484f, -0.003571f, -0.004460f, 0.002768f, 0.004309f, -0.005865f, 0.005107f, 0.015235f, 0.002492f, -0.002100f, 0.006654f, 0.009620f, -0.003975f, 0.006539f, -0.004169f, -0.005941f, 0.001788f, 0.004341f, 0.012792f, 0.003322f, -0.001117f, 0.004589f, -0.001809f, 0.006517f, -0.003572f, 0.005988f, -0.004458f, 0.001974f, 0.005412f, 0.001516f, -0.008644f, -0.005018f, + 0.016203f, -0.006844f, -0.012741f, 0.006317f, 0.003485f, 0.004703f, -0.003267f, 0.020571f, 0.006134f, -0.019237f, -0.019314f, 0.045698f, -0.027456f, 0.007075f, -0.017574f, 0.053886f, 0.011402f, 0.009909f, -0.017310f, -0.020477f, 0.001904f, 0.015345f, -0.016603f, -0.026446f, -0.015737f, -0.038425f, -0.015004f, -0.022590f, -0.000098f, -0.051621f, 0.003554f, 0.027855f, 0.017140f, 0.022754f, -0.015985f, 0.005882f, 0.024730f, -0.002943f, 0.017919f, 0.006611f, 0.027957f, -0.014121f, 0.023309f, 0.018504f, 0.013235f, 0.030280f, -0.017041f, 0.018009f, -0.009329f, -0.010863f, -0.007202f, 0.006640f, -0.058887f, -0.018890f, -0.036615f, 0.042274f, -0.026717f, -0.030194f, -0.006476f, 0.023825f, 0.000641f, -0.010837f, 0.033281f, -0.011975f, -0.010582f, -0.024243f, -0.059544f, 0.002820f, 0.005516f, 0.024740f, -0.024973f, 0.000005f, -0.015229f, -0.020147f, 0.031826f, -0.006496f, 0.015942f, -0.034687f, -0.033707f, -0.021090f, 0.026536f, -0.002802f, -0.016809f, -0.017908f, -0.000708f, -0.029431f, -0.020042f, 0.002786f, -0.012308f, -0.021968f, 0.032307f, -0.044396f, -0.042226f, 0.010977f, 0.000196f, 0.018591f, + 0.002162f, -0.002108f, -0.013602f, -0.012102f, 0.002009f, -0.021029f, -0.008416f, 0.017787f, 0.002409f, 0.002991f, -0.010321f, 0.010503f, 0.003970f, -0.011517f, 0.005413f, -0.008556f, -0.001684f, -0.008772f, 0.007631f, -0.011648f, -0.002841f, 0.007819f, 0.015430f, 0.001651f, 0.000704f, -0.016793f, -0.004982f, -0.001212f, 0.002516f, -0.002536f, 0.014327f, -0.000661f, -0.005352f, 0.009042f, -0.010507f, -0.009808f, 0.006110f, 0.012945f, -0.003542f, -0.009289f, -0.012410f, 0.009953f, 0.008191f, 0.016071f, -0.022284f, -0.000309f, 0.029517f, 0.003739f, -0.009127f, 0.015151f, -0.024261f, 0.047830f, 0.029972f, -0.000451f, -0.022102f, -0.024991f, 0.010204f, -0.006422f, -0.002399f, -0.001482f, 0.043625f, -0.021666f, 0.000659f, -0.015127f, 0.015962f, -0.027374f, -0.025087f, -0.049251f, 0.011226f, -0.020121f, -0.027740f, -0.003543f, -0.046815f, -0.023105f, 0.013029f, 0.009774f, -0.006547f, 0.024121f, 0.002124f, 0.029275f, -0.013144f, -0.040765f, -0.006309f, -0.029913f, -0.005809f, -0.009109f, -0.039057f, 0.004913f, 0.031573f, -0.089461f, 0.011175f, 0.000046f, 0.022014f, -0.004608f, -0.027920f, -0.053157f, + 0.020996f, -0.006679f, 0.019616f, 0.011647f, -0.006578f, 0.030746f, -0.038579f, 0.053747f, -0.013641f, 0.029908f, 0.062803f, 0.025004f, 0.044656f, 0.017431f, 0.011640f, -0.006281f, 0.023275f, -0.008867f, -0.024572f, -0.033148f, -0.021393f, -0.001280f, 0.018463f, -0.003210f, -0.014497f, -0.020639f, -0.018408f, 0.024744f, -0.011189f, -0.009150f, 0.022253f, 0.003901f, 0.016742f, -0.001906f, -0.002519f, -0.006954f, 0.003883f, 0.008293f, -0.011497f, -0.002016f, -0.028022f, -0.020354f, 0.013677f, -0.006971f, -0.000767f, -0.004235f, -0.000586f, -0.010827f, -0.016785f, 0.011975f, -0.010120f, 0.015608f, -0.016141f, -0.007560f, -0.001829f, -0.011438f, -0.005713f, 0.007786f, 0.003262f, 0.018959f, -0.004833f, -0.011556f, 0.007188f, -0.022967f, 0.000358f, 0.002635f, -0.003565f, 0.001338f, -0.002556f, 0.011085f, 0.016174f, 0.002608f, -0.000584f, -0.007962f, -0.013538f, -0.006708f, 0.000780f, 0.026354f, 0.013283f, -0.013516f, 0.075298f, 0.061362f, 0.055297f, -0.012569f, 0.000166f, -0.046907f, 0.035100f, 0.043530f, 0.014828f, 0.042049f, 0.016808f, 0.014308f, 0.014781f, -0.007406f, 0.005842f, 0.011648f, + -0.010689f, -0.045196f, -0.027423f, -0.001655f, -0.030011f, -0.034993f, -0.082192f, 0.018081f, 0.014239f, 0.021448f, -0.015714f, -0.005609f, -0.010911f, 0.000594f, -0.025684f, -0.000725f, -0.019563f, 0.022774f, 0.018977f, -0.011734f, -0.015911f, -0.043348f, 0.073059f, -0.022797f, 0.014452f, -0.000025f, 0.004736f, 0.011660f, -0.030155f, 0.036419f, -0.018332f, 0.012450f, 0.008199f, -0.027212f, -0.028008f, -0.005193f, -0.002416f, 0.016917f, 0.077117f, -0.006441f, 0.011503f, 0.002555f, 0.023289f, 0.016545f, 0.017362f, -0.013619f, -0.004018f, 0.006665f, -0.037207f, 0.007572f, -0.031833f, -0.050910f, 0.017788f, 0.001616f, 0.004085f, -0.037273f, -0.089532f, 0.038738f, 0.040515f, 0.027883f, -0.050752f, 0.048369f, 0.051454f, 0.019014f, 0.014970f, 0.000453f, -0.014747f, -0.033838f, 0.025390f, -0.023845f, 0.001608f, 0.000417f, -0.013364f, 0.010217f, -0.024232f, -0.002545f, -0.004679f, 0.012019f, -0.006663f, -0.011201f, -0.015023f, 0.023136f, -0.012610f, -0.005527f, 0.006121f, -0.020815f, 0.011655f, 0.009451f, -0.007107f, -0.007298f, 0.002118f, -0.019339f, 0.017976f, -0.006503f, -0.004724f, -0.001636f, + 0.001625f, 0.013156f, -0.010268f, -0.024451f, 0.007391f, -0.013641f, -0.004100f, -0.013980f, -0.012247f, 0.001885f, -0.009877f, -0.004610f, -0.009190f, 0.031350f, -0.013774f, -0.025523f, 0.004161f, -0.009178f, -0.044161f, -0.088124f, 0.073101f, 0.011742f, 0.012964f, -0.029367f, -0.021147f, -0.093753f, 0.025900f, 0.067023f, 0.020543f, -0.059382f, -0.029716f, 0.009631f, -0.023123f, -0.014681f, 0.027463f, -0.030917f, 0.017252f, 0.015393f, 0.012731f, -0.034416f, 0.012284f, 0.010642f, -0.016156f, -0.032209f, -0.018650f, -0.012404f, -0.008343f, -0.030725f, -0.026502f, -0.014580f, -0.031682f, 0.024972f, -0.011833f, -0.040886f, -0.014126f, 0.025072f, -0.005195f, -0.028353f, -0.015613f, -0.014473f, -0.000107f, -0.022475f, -0.013560f, -0.037239f, -0.035384f, 0.015061f, -0.012592f, 0.046449f, 0.030527f, 0.002983f, 0.027719f, -0.040615f, 0.026255f, -0.038553f, 0.032393f, -0.005556f, 0.016570f, -0.017198f, 0.057564f, -0.014359f, 0.032237f, -0.008254f, 0.047351f, 0.019064f, 0.011523f, -0.048876f, 0.053012f, 0.042428f, 0.018481f, 0.019713f, -0.038116f, -0.007281f, 0.015607f, 0.026043f, -0.006751f, 0.006285f, + -0.042101f, 0.027015f, 0.046195f, -0.001019f, -0.033059f, -0.001931f, -0.021857f, -0.018727f, 0.009058f, -0.000110f, -0.009120f, 0.010672f, -0.024119f, -0.005679f, 0.000946f, 0.006870f, -0.016622f, -0.022848f, 0.008813f, -0.011132f, -0.021542f, -0.038692f, -0.002815f, 0.012006f, -0.003192f, -0.019487f, -0.023455f, -0.007218f, 0.014992f, -0.016163f, 0.006248f, 0.008655f, 0.002493f, 0.006362f, -0.001935f, -0.010400f, -0.008710f, -0.002923f, 0.010868f, 0.003617f, -0.004108f, -0.014526f, 0.019984f, -0.012863f, -0.011146f, -0.009391f, 0.004103f, 0.023138f, -0.015536f, 0.022784f, 0.019360f, -0.007671f, 0.007149f, 0.012134f, -0.061150f, 0.052241f, -0.006013f, 0.025102f, -0.033656f, -0.010837f, -0.008257f, -0.007734f, -0.007721f, 0.030564f, 0.001071f, -0.025209f, 0.020588f, 0.003636f, 0.014921f, 0.025921f, 0.026242f, 0.001490f, -0.022261f, 0.092383f, -0.025068f, 0.071074f, 0.000814f, 0.004373f, -0.039890f, -0.017444f, 0.006977f, 0.034484f, 0.017318f, -0.011031f, 0.028477f, 0.005886f, -0.038462f, 0.006645f, 0.006070f, 0.040117f, -0.001071f, 0.024084f, -0.029039f, 0.000179f, 0.027472f, 0.013623f, + 0.023071f, 0.060190f, 0.048538f, -0.007321f, 0.025411f, -0.003573f, 0.047695f, -0.037685f, 0.032049f, 0.013000f, -0.001164f, 0.028507f, -0.014358f, 0.073701f, -0.012107f, 0.035711f, -0.026136f, -0.023581f, 0.001825f, 0.078504f, 0.026123f, -0.072481f, 0.065074f, -0.001083f, 0.023231f, -0.054575f, 0.019280f, 0.006551f, -0.109101f, 0.046313f, 0.084510f, 0.032456f, -0.034391f, -0.021823f, 0.017660f, 0.083038f, 0.047716f, 0.063368f, -0.022251f, -0.030323f, -0.027265f, 0.013598f, 0.017850f, -0.002490f, -0.030863f, -0.013684f, 0.039898f, 0.007398f, 0.009653f, -0.013105f, 0.018740f, -0.004189f, 0.008923f, -0.007989f, -0.009876f, -0.012165f, 0.024407f, 0.040194f, 0.039207f, 0.009174f, 0.021180f, 0.036988f, 0.024921f, 0.026223f, 0.035755f, 0.020362f, 0.034186f, 0.026002f, 0.009964f, -0.050156f, -0.009145f, -0.023142f, 0.014945f, 0.030132f, -0.033074f, -0.011456f, 0.040624f, 0.022471f, 0.005292f, -0.008691f, 0.034510f, -0.025819f, 0.006872f, 0.035550f, 0.028177f, 0.015941f, 0.019164f, 0.021962f, 0.018473f, 0.021778f, 0.014340f, -0.016643f, -0.008130f, -0.029621f, 0.037875f, 0.005952f, + 0.025289f, -0.020068f, 0.050520f, -0.017438f, 0.023663f, 0.008000f, 0.010681f, 0.007578f, 0.004631f, -0.052437f, -0.030266f, 0.000535f, 0.004989f, 0.036190f, 0.029935f, -0.042735f, 0.004599f, -0.023450f, -0.021277f, 0.010801f, 0.002851f, -0.014505f, 0.017962f, 0.069698f, -0.045869f, -0.003461f, 0.106622f, -0.064569f, 0.007800f, 0.038216f, -0.019333f, -0.015453f, 0.022216f, 0.035323f, -0.038089f, 0.019073f, -0.069226f, -0.007238f, 0.103638f, 0.004783f, 0.029462f, -0.010691f, 0.056697f, 0.057119f, -0.015572f, -0.000699f, -0.026735f, 0.006850f, -0.019741f, -0.050167f, -0.032345f, -0.059909f, -0.044348f, 0.067324f, 0.027024f, 0.020149f, 0.089202f, -0.062847f, -0.037342f, 0.011718f, 0.033437f, -0.024459f, 0.016271f, -0.026218f, 0.049367f, 0.030012f, 0.017081f, 0.036687f, 0.129274f, -0.030162f, -0.010154f, -0.035629f, -0.041680f, -0.002149f, 0.054300f, -0.042051f, -0.005608f, 0.039300f, 0.041459f, 0.049813f, 0.028596f, -0.032642f, 0.008427f, -0.017758f, -0.004088f, 0.029351f, 0.009162f, -0.001763f, 0.021346f, -0.038459f, 0.002482f, 0.001442f, 0.010465f, -0.008030f, -0.010233f, 0.024628f, + -0.008964f, -0.005096f, 0.026181f, 0.034680f, 0.026866f, 0.012742f, 0.011289f, 0.023191f, 0.006457f, 0.002595f, 0.015275f, 0.002436f, -0.009053f, 0.007686f, -0.000432f, -0.001466f, -0.044304f, 0.011609f, 0.028189f, 0.047361f, -0.011071f, -0.012226f, -0.015590f, 0.024582f, 0.026401f, -0.058878f, 0.006821f, -0.025684f, -0.004180f, 0.004304f, 0.003478f, 0.010261f, -0.015158f, -0.031593f, 0.025255f, -0.007889f, 0.058079f, -0.053385f, 0.013110f, -0.004182f, -0.017292f, -0.015793f, -0.007938f, 0.017535f, 0.010756f, 0.011795f, -0.003066f, 0.032290f, 0.005474f, -0.043086f, -0.033882f, -0.005009f, -0.019998f, -0.024943f, 0.005387f, 0.026629f, -0.004003f, -0.006512f, -0.039359f, 0.018908f, -0.006469f, 0.039693f, -0.013811f, -0.077469f, 0.009268f, -0.023245f, -0.011773f, -0.000277f, -0.062669f, -0.033286f, -0.053844f, 0.000566f, -0.004032f, -0.015481f, -0.071222f, -0.029337f, -0.006320f, 0.036757f, 0.041008f, 0.002875f, 0.003058f, 0.019589f, 0.004480f, -0.049303f, 0.042783f, 0.057886f, -0.025368f, 0.008367f, -0.025409f, 0.010075f, -0.000232f, 0.043977f, -0.049909f, -0.036678f, -0.114123f, -0.040965f, + 0.028771f, 0.045499f, 0.032733f, 0.029194f, -0.028090f, -0.009837f, 0.022807f, 0.021336f, 0.049578f, 0.022964f, 0.021222f, 0.037595f, 0.009711f, -0.042538f, -0.044898f, -0.061562f, 0.025580f, -0.039555f, 0.003534f, -0.034762f, -0.052584f, -0.080444f, 0.011465f, -0.023723f, -0.024831f, 0.006522f, 0.007698f, -0.003639f, -0.011336f, 0.001042f, 0.026505f, 0.017641f, 0.006945f, -0.010811f, 0.019247f, 0.042298f, -0.009253f, -0.024131f, -0.019013f, 0.020401f, -0.010943f, -0.010323f, -0.038048f, -0.037756f, -0.028228f, -0.064045f, -0.003198f, -0.000529f, -0.025039f, 0.010515f, 0.017470f, 0.011771f, 0.031935f, 0.007995f, 0.037646f, 0.001699f, 0.010668f, 0.040324f, -0.019586f, -0.001888f, 0.006592f, -0.001113f, -0.028046f, -0.001840f, -0.005005f, 0.048705f, -0.002651f, -0.021357f, 0.016050f, 0.005355f, 0.015063f, 0.030882f, 0.010861f, -0.091335f, 0.038424f, -0.027257f, 0.003480f, 0.064992f, 0.054439f, -0.021529f, -0.009043f, 0.033468f, -0.020776f, -0.021950f, -0.018200f, 0.004486f, -0.006208f, -0.002473f, 0.007844f, -0.007187f, 0.032102f, 0.076284f, -0.032146f, -0.059853f, 0.059799f, -0.046392f, + -0.012424f, 0.000359f, 0.074611f, 0.005667f, -0.022463f, 0.021827f, 0.020865f, -0.078093f, -0.022832f, 0.012730f, -0.002939f, -0.037175f, -0.002700f, 0.014491f, -0.114439f, -0.053167f, 0.056822f, -0.056684f, -0.062805f, -0.039032f, 0.046428f, -0.060366f, -0.094095f, 0.094635f, -0.027828f, -0.059560f, -0.003360f, 0.036827f, -0.036222f, -0.063925f, -0.001491f, 0.028778f, -0.003195f, -0.082180f, 0.019378f, -0.001428f, -0.036595f, 0.085945f, 0.081284f, -0.006381f, -0.032913f, -0.064177f, 0.099082f, 0.013549f, 0.017635f, 0.033950f, -0.024169f, -0.096206f, 0.043412f, 0.073161f, 0.058911f, -0.036570f, 0.021390f, 0.079837f, 0.046694f, -0.055591f, -0.012008f, -0.043652f, 0.019749f, 0.011808f, 0.050613f, 0.049537f, -0.059562f, -0.002261f, -0.006006f, 0.008785f, -0.022983f, 0.023828f, -0.014954f, 0.013727f, 0.012860f, 0.009999f, -0.016549f, 0.012927f, -0.024872f, 0.041494f, -0.020783f, -0.010796f, 0.026863f, 0.022964f, -0.023669f, 0.003695f, -0.010822f, -0.028195f, -0.014569f, 0.011152f, 0.022593f, 0.013411f, -0.022217f, 0.012632f, -0.014087f, -0.035020f, 0.002263f, 0.006149f, -0.005032f, -0.002951f, + 0.024359f, 0.001425f, 0.003243f, 0.011117f, -0.002579f, 0.005958f, -0.036781f, 0.028064f, -0.094545f, 0.010399f, 0.089163f, 0.048533f, 0.012493f, -0.001166f, -0.016111f, 0.023138f, -0.031406f, 0.074000f, -0.005619f, 0.019690f, 0.027386f, -0.025537f, 0.001034f, -0.003279f, -0.028170f, -0.000180f, 0.010750f, 0.041465f, -0.000096f, -0.025856f, 0.012869f, 0.033342f, -0.005473f, 0.052890f, -0.041084f, 0.008503f, 0.012008f, 0.013729f, 0.046002f, -0.025262f, 0.004122f, -0.001843f, -0.059857f, 0.008398f, -0.019515f, -0.032871f, 0.014096f, -0.012592f, 0.047192f, 0.033803f, -0.024618f, -0.053893f, 0.025628f, 0.005048f, 0.010862f, 0.029866f, 0.065476f, -0.011317f, 0.013650f, -0.026730f, 0.037627f, 0.026668f, 0.028160f, -0.031357f, 0.043087f, -0.014953f, -0.018648f, -0.037809f, -0.003248f, -0.015061f, 0.055769f, -0.041681f, 0.003130f, 0.013560f, -0.012555f, -0.025522f, 0.077835f, -0.003596f, 0.018588f, -0.007331f, 0.009516f, -0.006658f, 0.021943f, -0.002910f, -0.009305f, -0.006449f, -0.008166f, 0.025780f, 0.018229f, 0.024256f, 0.013787f, 0.007650f, -0.016563f, 0.017892f, 0.001621f, 0.009878f, + 0.008797f, 0.021801f, -0.002888f, 0.000681f, 0.003741f, 0.006918f, 0.007463f, 0.016219f, -0.013283f, 0.010197f, 0.009199f, 0.007934f, 0.006964f, 0.005471f, 0.016193f, 0.006081f, -0.020716f, 0.012617f, 0.014777f, 0.015128f, 0.006867f, 0.016257f, 0.004749f, -0.001108f, 0.009502f, 0.005236f, 0.012020f, -0.001040f, -0.010178f, 0.002498f, 0.016556f, -0.008351f, 0.007038f, 0.000765f, 0.018010f, 0.015874f, 0.006452f, 0.011130f, 0.016775f, 0.007634f, 0.031216f, -0.082557f, -0.231910f, -0.220492f, 0.095980f, 0.009515f, 0.212197f, 0.449424f, 0.098482f, 0.181207f, 0.096695f, -0.333153f, -0.149078f, -0.224016f, -0.329083f, -0.021933f, 0.038990f, -0.155371f, 0.138290f, 0.235248f, 0.144047f, 0.405030f, 0.248571f, 0.002433f, -0.037388f, -0.143113f, -0.357555f, -0.289546f, -0.124779f, -0.274261f, -0.080923f, 0.157069f, 0.046682f, 0.039891f, 0.370911f, 0.143264f, 0.090370f, 0.343445f, 0.016278f, -0.017158f, 0.158268f, -0.078612f, -0.282986f, -0.136813f, -0.282780f, -0.412862f, -0.045759f, -0.187436f, -0.153194f, 0.132450f, 0.256414f, 0.118850f, 0.453101f, 0.361234f, 0.209325f, 0.274401f, + 0.092888f, -0.134163f, -0.207132f, -0.275856f, -0.442236f, -0.354279f, -0.237915f, -0.202416f, -0.063101f, 0.154263f, 0.233885f, 0.260995f, 0.350430f, 0.295364f, 0.138239f, 0.050588f, 0.075936f, -0.118081f, -0.181491f, -0.128561f, -0.271137f, -0.203703f, -0.035186f, -0.121496f, 0.048261f, 0.198746f, 0.070836f, 0.101556f, 0.144075f, 0.015626f, 0.008547f, -0.034850f, -0.135901f, -0.070838f, 0.001048f, -0.053935f, 0.041829f, 0.057836f, -0.023471f, 0.073265f, 0.062599f, -0.098023f, 0.075084f, 0.088072f, -0.062012f, 0.143354f, 0.021679f, -0.140395f, 0.098332f, -0.076845f, -0.275171f, -0.045089f, -0.167306f, -0.202572f, 0.125142f, 0.016272f, 0.031714f, 0.265082f, 0.168019f, 0.187678f, 0.300700f, 0.221815f, 0.073160f, 0.032155f, -0.209763f, -0.380532f, -0.379311f, -0.379628f, -0.359715f, -0.218777f, 0.011078f, 0.207304f, 0.303293f, 0.416494f, 0.386022f, 0.365580f, 0.287391f, 0.049598f, -0.132378f, -0.144147f, -0.305462f, -0.376969f, -0.227382f, -0.202684f, -0.113476f, 0.022198f, 0.054840f, 0.067222f, 0.130301f, 0.115713f, 0.107666f, 0.153526f, 0.125994f, 0.081849f, 0.070487f, 0.018747f, + -0.041628f, -0.071572f, -0.082518f, -0.085100f, -0.048489f, -0.024579f, -0.017177f, -0.015640f} + }, + { + {-0.009421f, -0.003640f, 0.002164f, -0.001773f, -0.005438f, -0.000423f, 0.012508f, -0.006465f, 0.001437f, -0.002745f, -0.000166f, -0.004825f, 0.008996f, -0.004711f, -0.005012f, -0.005666f, 0.010725f, -0.006423f, -0.001697f, -0.003053f, 0.003001f, 0.004929f, 0.006268f, -0.008908f, -0.000043f, 0.008462f, 0.003738f, 0.001420f, -0.000490f, -0.001096f, 0.003817f, 0.008627f, 0.002070f, -0.011158f, -0.005755f, -0.006020f, 0.009692f, -0.001030f, 0.007391f, -0.004693f, 0.003416f, 0.009682f, -0.004754f, -0.007355f, 0.002583f, -0.002774f, -0.000508f, -0.006585f, -0.002662f, -0.004930f, 0.001844f, -0.008916f, -0.002947f, -0.002308f, -0.000300f, 0.011982f, -0.003938f, -0.001842f, -0.000444f, -0.003185f, -0.001260f, -0.001170f, 0.007261f, 0.003730f, 0.004448f, -0.006286f, 0.004574f, 0.004783f, -0.004270f, 0.001958f, 0.002845f, -0.003252f, -0.004378f, 0.005076f, -0.007669f, 0.005378f, 0.003262f, 0.001399f, -0.007107f, -0.002494f, 0.002641f, -0.000661f, -0.001480f, -0.001948f, -0.000170f, -0.003842f, -0.004427f, -0.000713f, -0.000731f, 0.000499f, -0.001665f, 0.000006f, 0.002621f, -0.000131f, 0.000976f, 0.000342f, + 0.000518f, -0.000004f, -0.000513f, -0.001948f, -0.001154f, 0.001281f, -0.000681f, 0.000034f, -0.000262f, -0.005905f, 0.006242f, 0.000728f, -0.002695f, -0.004031f, -0.001101f, -0.002053f, 0.000007f, -0.004995f, -0.003833f, 0.002817f, -0.000790f, -0.001927f, -0.008715f, -0.001315f, 0.008106f, -0.005478f, -0.001367f, 0.006092f, -0.003522f, -0.006555f, -0.004989f, 0.004148f, 0.000036f, -0.000656f, -0.001257f, -0.006289f, 0.002111f, -0.002812f, -0.001472f, 0.007068f, -0.003900f, -0.009629f, -0.002863f, 0.000510f, 0.002880f, 0.002500f, 0.000826f, -0.007323f, -0.001684f, -0.008916f, -0.008078f, -0.002203f, 0.008466f, -0.001492f, -0.016729f, -0.000781f, 0.005637f, 0.004864f, -0.003452f, 0.003262f, 0.003601f, 0.000306f, 0.004979f, -0.009044f, -0.006377f, -0.000879f, 0.002619f, 0.000380f, 0.001868f, -0.001004f, 0.002362f, 0.002106f, 0.003485f, -0.000560f, 0.002150f, 0.002007f, -0.001679f, 0.003421f, -0.000853f, -0.008826f, -0.007198f, -0.004705f, -0.003711f, -0.003986f, 0.001205f, -0.002041f, 0.006814f, 0.005590f, -0.001038f, -0.002757f, -0.002363f, -0.001301f, 0.002050f, 0.003174f, 0.000410f, -0.001921f, + 0.000348f, 0.000409f, -0.001858f, 0.002378f, 0.000018f, -0.000599f, -0.000928f, -0.000245f, -0.001381f, 0.000927f, -0.000270f, 0.000142f, -0.001599f, 0.000915f, -0.001006f, -0.000031f, 0.000015f, 0.000621f, -0.000264f, -0.000805f, -0.000306f, -0.001549f, -0.000584f, 0.000112f, -0.000739f, 0.000088f, -0.001252f, 0.007653f, 0.004275f, 0.011465f, 0.000755f, -0.002270f, -0.001424f, 0.008107f, -0.002224f, 0.004342f, -0.007447f, -0.000805f, -0.000211f, 0.004248f, 0.002954f, 0.007268f, 0.005115f, -0.003765f, -0.007351f, -0.006013f, 0.004083f, -0.002576f, 0.005583f, 0.003497f, 0.000732f, -0.000387f, 0.004639f, 0.003252f, -0.003401f, 0.003809f, -0.007914f, -0.001127f, -0.007337f, -0.006299f, -0.008827f, 0.002539f, 0.005008f, -0.000966f, 0.006973f, -0.005468f, 0.006459f, -0.013148f, 0.005026f, 0.002199f, 0.009683f, 0.002807f, 0.003469f, 0.005196f, -0.000249f, -0.003382f, 0.003609f, 0.008428f, 0.002866f, 0.004063f, -0.001381f, -0.000187f, -0.012019f, -0.000837f, 0.001897f, 0.002272f, -0.001775f, 0.006365f, 0.012020f, -0.004064f, -0.008672f, 0.005727f, 0.001264f, -0.006175f, -0.000111f, -0.002885f, + -0.006191f, 0.000719f, 0.008646f, 0.002125f, 0.003138f, 0.001417f, -0.000935f, 0.003249f, 0.002023f, -0.000214f, 0.002838f, 0.000135f, -0.000796f, -0.000684f, -0.001644f, 0.001633f, -0.002410f, -0.000345f, 0.004013f, -0.000920f, -0.000101f, 0.001490f, -0.000955f, 0.002694f, -0.003838f, -0.001773f, 0.000054f, -0.001579f, -0.001677f, 0.000358f, -0.000944f, 0.001266f, 0.002941f, -0.001160f, 0.001660f, 0.000394f, 0.000171f, -0.000011f, 0.000408f, -0.003361f, -0.000855f, -0.000802f, 0.000648f, 0.002670f, 0.001608f, 0.004219f, 0.006309f, 0.006069f, -0.005879f, 0.009263f, -0.003297f, -0.006158f, -0.009100f, 0.002109f, -0.012035f, -0.000755f, 0.001249f, 0.003326f, -0.007677f, 0.004957f, -0.000125f, 0.001102f, 0.003212f, 0.001972f, 0.002718f, -0.010361f, -0.000697f, -0.002347f, -0.006760f, 0.003948f, 0.001987f, 0.001550f, 0.005797f, 0.020404f, -0.001506f, 0.001047f, 0.002908f, 0.005041f, 0.001995f, -0.016752f, 0.003478f, -0.002784f, -0.001925f, 0.009173f, 0.000268f, 0.004564f, 0.006616f, -0.008265f, -0.004614f, -0.002385f, -0.008020f, -0.017192f, 0.000810f, -0.006481f, -0.001038f, -0.001499f, + -0.000356f, -0.003986f, -0.008416f, 0.002389f, -0.008053f, -0.002556f, 0.001813f, -0.008975f, 0.009290f, 0.003208f, 0.002640f, -0.003770f, -0.000690f, -0.001468f, 0.001846f, -0.002892f, 0.004769f, -0.007361f, 0.002445f, 0.011197f, 0.009272f, -0.003239f, 0.004715f, -0.004407f, 0.001998f, -0.008346f, -0.000277f, 0.005198f, 0.005992f, 0.005366f, -0.000926f, 0.009988f, 0.000911f, 0.004995f, 0.004456f, -0.000170f, 0.002076f, 0.001094f, 0.000372f, -0.001682f, 0.001002f, 0.001562f, -0.000603f, 0.000184f, -0.001128f, -0.002735f, -0.000430f, 0.001885f, -0.001470f, 0.004036f, -0.001116f, -0.002081f, -0.001785f, 0.001424f, -0.001008f, 0.001774f, -0.000339f, -0.001681f, 0.001008f, -0.000456f, 0.002078f, 0.001281f, 0.001220f, 0.000851f, -0.003608f, -0.000835f, 0.000490f, 0.001564f, 0.000055f, 0.000319f, -0.000967f, 0.013621f, -0.017334f, 0.000707f, -0.010684f, 0.005427f, 0.007842f, 0.009567f, -0.001516f, -0.009141f, 0.000205f, 0.009424f, 0.001988f, 0.001780f, -0.007135f, -0.000980f, -0.012473f, 0.016512f, -0.000906f, -0.012763f, 0.013761f, 0.003425f, 0.004059f, -0.000927f, -0.005002f, -0.001655f, + -0.006597f, -0.006509f, 0.005068f, 0.007202f, -0.001501f, 0.006794f, -0.005651f, -0.003543f, -0.000027f, 0.009493f, 0.008989f, -0.002559f, -0.005108f, 0.007384f, 0.004705f, 0.000666f, 0.006252f, 0.001465f, -0.007401f, 0.007731f, 0.004818f, -0.000612f, -0.002588f, 0.002113f, -0.007975f, 0.021153f, -0.001121f, -0.000787f, 0.015760f, -0.001465f, -0.009680f, -0.005268f, -0.001163f, 0.003817f, -0.010059f, 0.006838f, 0.002052f, 0.000208f, -0.009134f, -0.007708f, -0.016126f, -0.001452f, 0.007492f, 0.003710f, 0.009091f, -0.005079f, -0.003595f, 0.019050f, -0.005319f, 0.003161f, -0.002669f, -0.007934f, 0.000593f, 0.003462f, -0.008268f, -0.014662f, 0.000594f, -0.009052f, -0.009120f, -0.004479f, 0.004737f, 0.000397f, -0.001390f, -0.005624f, -0.001931f, 0.000614f, -0.002107f, -0.001585f, 0.001484f, 0.005184f, 0.000721f, 0.001284f, -0.003702f, -0.001911f, -0.000396f, -0.000063f, -0.005217f, -0.003842f, -0.003317f, -0.000223f, 0.001248f, 0.000482f, -0.001708f, 0.000100f, -0.000344f, -0.000553f, -0.002742f, -0.001028f, -0.000407f, -0.001070f, -0.001441f, -0.018285f, -0.000280f, -0.007736f, -0.008740f, 0.002544f, + -0.010482f, 0.000211f, 0.007035f, 0.003793f, 0.014827f, -0.024950f, 0.015886f, -0.002733f, 0.006900f, -0.004850f, -0.003645f, -0.013154f, 0.011555f, 0.010180f, 0.002498f, -0.011704f, -0.000724f, -0.006808f, -0.000887f, 0.012005f, 0.008336f, 0.001764f, 0.011441f, -0.000256f, 0.000508f, 0.001039f, -0.000487f, -0.008158f, 0.017147f, -0.001821f, 0.000076f, 0.019929f, -0.013004f, 0.004695f, -0.006247f, -0.001396f, 0.006243f, -0.002828f, -0.010276f, 0.019179f, 0.014940f, -0.000635f, 0.004793f, 0.007986f, 0.020734f, -0.002789f, -0.003837f, -0.011388f, 0.001896f, 0.003865f, -0.012038f, -0.012839f, -0.011298f, 0.013360f, 0.000227f, -0.005603f, 0.009157f, 0.006487f, 0.000041f, -0.003277f, 0.002930f, -0.007340f, -0.001931f, -0.007979f, -0.001851f, 0.007397f, -0.014675f, 0.003394f, -0.003136f, -0.010177f, 0.006131f, 0.009680f, 0.004095f, 0.010083f, 0.008731f, -0.007494f, -0.011965f, -0.005991f, 0.005194f, -0.004737f, -0.009207f, 0.005906f, 0.009964f, -0.007303f, 0.001204f, 0.002110f, 0.001084f, -0.006821f, 0.003931f, -0.003048f, -0.002428f, -0.004383f, -0.002311f, -0.003434f, -0.000364f, -0.000397f, + 0.001295f, 0.002090f, -0.001745f, -0.001505f, -0.000685f, -0.002727f, -0.001599f, -0.000744f, -0.001097f, 0.002143f, 0.002688f, 0.000685f, 0.003964f, -0.003684f, 0.002677f, -0.003197f, -0.001455f, 0.002743f, 0.013691f, 0.014527f, 0.002408f, -0.012518f, -0.001722f, -0.011889f, 0.004959f, 0.031282f, 0.007722f, 0.021677f, 0.007965f, 0.000278f, -0.020218f, -0.004963f, 0.003332f, 0.019581f, -0.008656f, -0.004306f, -0.007539f, 0.001884f, 0.015738f, -0.011512f, 0.007706f, 0.013626f, 0.003029f, 0.005020f, -0.008910f, 0.016837f, -0.003604f, 0.021926f, -0.000205f, -0.006693f, -0.020567f, 0.002530f, 0.000077f, 0.024541f, -0.007402f, -0.001990f, 0.015558f, 0.000125f, 0.002061f, -0.005047f, -0.016083f, 0.001735f, 0.009264f, -0.011539f, -0.009107f, 0.002417f, -0.019288f, 0.010597f, 0.010708f, -0.003242f, -0.001254f, 0.005453f, 0.010921f, -0.000914f, -0.006721f, -0.000244f, 0.016037f, -0.002037f, -0.002466f, -0.006054f, 0.020762f, 0.021034f, 0.001422f, -0.003802f, 0.003276f, -0.000887f, 0.005480f, 0.009727f, -0.000804f, 0.014045f, -0.005468f, -0.007787f, -0.011362f, 0.003851f, -0.000933f, -0.017272f, + -0.012467f, -0.007166f, 0.013587f, -0.003968f, -0.006365f, -0.001746f, 0.000002f, -0.005855f, -0.008856f, -0.003103f, -0.002599f, -0.005280f, 0.000862f, -0.003310f, -0.002915f, 0.002793f, -0.005629f, -0.005795f, 0.001819f, 0.004654f, -0.002808f, -0.003732f, -0.002832f, -0.004868f, -0.002342f, 0.001519f, -0.001690f, 0.000838f, 0.002561f, -0.000855f, -0.001450f, -0.004294f, 0.002647f, 0.000373f, -0.013795f, 0.013986f, 0.010641f, 0.000824f, -0.009152f, -0.010277f, -0.004473f, -0.020417f, 0.023713f, 0.017838f, -0.003823f, 0.006612f, 0.002140f, -0.003896f, 0.017980f, -0.001442f, -0.008362f, 0.026617f, -0.028841f, 0.007450f, 0.012424f, -0.000099f, -0.011796f, 0.012686f, 0.001959f, 0.018343f, -0.007099f, -0.001971f, 0.004887f, 0.007329f, 0.001236f, -0.002507f, 0.026683f, 0.011513f, -0.012204f, -0.018424f, 0.012814f, -0.018432f, -0.005355f, -0.021221f, -0.002756f, 0.031772f, 0.012992f, 0.015360f, 0.000105f, -0.016856f, -0.002813f, -0.008236f, -0.003670f, 0.023762f, -0.003710f, -0.026186f, -0.002122f, 0.005140f, -0.016668f, -0.002764f, 0.010736f, 0.008455f, -0.011207f, -0.005850f, 0.011467f, 0.015188f, + -0.004422f, 0.015822f, 0.000274f, 0.003979f, 0.005913f, 0.001342f, 0.006208f, 0.009492f, 0.009177f, 0.008939f, -0.004711f, -0.018998f, -0.020997f, 0.005235f, -0.004226f, 0.015009f, -0.002696f, 0.017813f, 0.006019f, 0.008287f, -0.009496f, -0.008466f, 0.006340f, -0.000328f, 0.001291f, 0.001664f, 0.000782f, -0.008516f, -0.003912f, -0.001318f, -0.007084f, -0.000208f, -0.006087f, 0.001095f, -0.003442f, 0.002625f, -0.000866f, 0.004547f, -0.000010f, 0.002489f, 0.000794f, -0.002286f, -0.002001f, -0.002739f, 0.005623f, 0.000648f, -0.001673f, 0.001790f, 0.002904f, 0.002435f, 0.000543f, -0.004166f, -0.011653f, -0.006601f, 0.000041f, -0.005635f, -0.000143f, 0.011528f, -0.001635f, 0.010743f, -0.021942f, 0.007657f, 0.006041f, 0.003047f, -0.014422f, -0.012093f, -0.015352f, 0.011694f, 0.006013f, -0.011018f, -0.010993f, 0.014740f, 0.004692f, -0.001352f, -0.009277f, -0.015236f, -0.006305f, 0.005968f, -0.009806f, 0.000986f, -0.018254f, -0.005234f, 0.001958f, 0.006031f, 0.011667f, -0.002080f, 0.007386f, 0.010131f, -0.010674f, -0.025332f, 0.017146f, 0.000617f, -0.004170f, 0.016303f, -0.002727f, 0.000475f, + -0.011292f, 0.014304f, -0.009444f, -0.011945f, -0.004786f, 0.011693f, 0.017834f, 0.014958f, 0.004514f, 0.002866f, -0.032013f, 0.014273f, -0.002133f, 0.005895f, -0.011196f, -0.002266f, -0.012506f, -0.004461f, -0.003224f, -0.016534f, -0.008443f, -0.006887f, -0.009159f, 0.016755f, -0.005663f, 0.021848f, -0.002843f, -0.001428f, 0.013615f, 0.015582f, 0.026365f, 0.018038f, -0.000578f, -0.008803f, -0.001221f, -0.000146f, -0.012958f, 0.003035f, -0.008442f, -0.014167f, 0.026953f, -0.017435f, -0.018537f, -0.002839f, 0.009999f, 0.001322f, 0.003066f, 0.001180f, 0.011287f, -0.000326f, 0.003033f, 0.003917f, -0.004521f, 0.000534f, 0.006911f, -0.004034f, 0.002796f, 0.004927f, 0.004029f, 0.008659f, 0.001879f, 0.000038f, 0.004737f, 0.000765f, -0.001710f, 0.003161f, 0.004909f, 0.001891f, -0.000069f, 0.001454f, 0.000743f, 0.010068f, 0.000768f, 0.008185f, 0.005441f, 0.001180f, 0.008615f, 0.009450f, 0.000913f, -0.000319f, 0.001247f, 0.001273f, 0.001125f, -0.000859f, -0.001164f, 0.002369f, -0.005937f, -0.008508f, -0.033827f, 0.007503f, -0.023276f, -0.013925f, 0.022040f, 0.017148f, -0.038626f, -0.035410f, + 0.001205f, 0.015133f, -0.008979f, 0.009345f, -0.012747f, -0.001418f, -0.022424f, -0.005847f, -0.020244f, -0.001438f, -0.005540f, 0.000660f, 0.007780f, 0.006388f, 0.012606f, -0.001554f, -0.010752f, 0.009353f, -0.012823f, -0.005130f, 0.004112f, 0.000821f, 0.006532f, 0.013388f, -0.002166f, 0.001696f, 0.003074f, -0.005422f, -0.001425f, -0.019593f, -0.023219f, -0.022468f, 0.000017f, -0.022603f, 0.007570f, 0.002977f, -0.008941f, -0.010515f, -0.004531f, -0.003764f, -0.001952f, -0.013462f, -0.021268f, -0.001213f, 0.033739f, 0.018590f, -0.004773f, -0.020176f, -0.020840f, 0.023280f, -0.021887f, -0.007234f, -0.003911f, -0.014618f, -0.011097f, -0.014901f, -0.017437f, -0.024251f, -0.032801f, -0.004737f, -0.005310f, -0.004691f, 0.010955f, 0.010365f, 0.002692f, 0.009078f, -0.007472f, -0.009134f, 0.030272f, 0.012794f, -0.008126f, -0.022383f, 0.006890f, -0.013264f, -0.015733f, -0.000103f, 0.025375f, -0.005103f, -0.000269f, 0.017436f, -0.002031f, -0.011714f, 0.000432f, 0.004110f, -0.000426f, -0.004832f, -0.004673f, -0.000191f, 0.004225f, 0.002035f, 0.002795f, 0.001701f, 0.008615f, -0.002617f, 0.004594f, -0.012614f, + 0.005721f, 0.002976f, -0.002339f, 0.002600f, -0.002724f, 0.004554f, -0.002361f, -0.003719f, -0.002197f, 0.004131f, 0.003534f, 0.000417f, 0.004761f, -0.007184f, 0.007038f, -0.003613f, -0.004401f, 0.002159f, -0.027850f, 0.003107f, 0.013933f, 0.015142f, 0.014035f, 0.005884f, 0.027753f, -0.011068f, -0.020343f, -0.005384f, 0.003486f, -0.004189f, 0.008771f, 0.018437f, 0.037309f, 0.023433f, 0.013625f, 0.017332f, -0.014526f, -0.027700f, -0.009571f, -0.020775f, 0.023356f, 0.005215f, -0.005061f, -0.016874f, 0.026515f, 0.022770f, -0.008591f, -0.001805f, -0.000237f, -0.013914f, -0.011636f, -0.020875f, 0.006039f, 0.007034f, 0.011689f, -0.019746f, 0.001665f, 0.005474f, -0.009063f, -0.019192f, 0.000430f, 0.010957f, 0.014514f, 0.002348f, -0.037455f, -0.013468f, -0.018551f, 0.007509f, 0.022108f, -0.000150f, -0.021083f, 0.004853f, -0.020357f, 0.011063f, -0.005055f, 0.001653f, -0.014484f, 0.029962f, 0.023622f, -0.007595f, -0.007113f, -0.017517f, -0.001323f, 0.023921f, 0.005384f, 0.029430f, 0.028368f, 0.023622f, 0.013831f, 0.004730f, -0.019177f, -0.010755f, -0.025470f, 0.029099f, 0.029256f, -0.002489f, + -0.022510f, 0.014278f, 0.034011f, -0.000547f, 0.004240f, -0.008363f, -0.000889f, -0.022514f, 0.003483f, -0.017779f, 0.012042f, 0.004153f, 0.016975f, 0.016867f, 0.009147f, 0.001313f, 0.001451f, 0.010396f, 0.003786f, -0.002548f, -0.006959f, -0.002353f, -0.010587f, 0.001751f, 0.008135f, -0.007025f, -0.003954f, -0.008026f, 0.005733f, -0.001873f, 0.012294f, -0.011785f, 0.003119f, -0.000478f, 0.011709f, -0.005759f, 0.003863f, 0.007049f, 0.001275f, -0.000456f, 0.000416f, 0.002012f, -0.005404f, -0.002234f, 0.007017f, -0.018405f, -0.004592f, 0.013541f, 0.023575f, -0.024650f, -0.029938f, -0.025869f, 0.028522f, -0.011803f, 0.019078f, -0.000281f, 0.000346f, 0.045849f, -0.005491f, 0.003373f, -0.020253f, -0.031638f, 0.007946f, -0.004724f, 0.008586f, 0.005559f, -0.002480f, -0.018105f, 0.005184f, 0.006757f, 0.003239f, -0.017095f, 0.011384f, 0.008229f, 0.033514f, -0.015429f, 0.002363f, 0.018274f, 0.018771f, 0.000722f, 0.018955f, -0.004771f, 0.000831f, 0.016866f, 0.014330f, 0.003818f, -0.007288f, -0.026919f, -0.020338f, 0.015794f, -0.000368f, -0.006162f, -0.005275f, 0.004007f, 0.036225f, -0.002229f, + -0.012558f, 0.018413f, -0.008807f, 0.017404f, 0.004252f, 0.052161f, -0.010179f, -0.001676f, -0.000090f, 0.007757f, 0.017846f, -0.003473f, -0.006043f, 0.011605f, -0.024448f, 0.019970f, 0.036733f, 0.010881f, -0.007674f, 0.020492f, -0.007784f, -0.001077f, 0.041549f, -0.023979f, 0.009218f, 0.016319f, -0.006947f, 0.034594f, 0.008313f, 0.007434f, -0.013257f, -0.019909f, 0.003570f, 0.009058f, -0.021347f, 0.021752f, 0.000002f, 0.005508f, 0.000145f, 0.006350f, 0.020083f, -0.004551f, 0.020264f, 0.009612f, 0.006697f, 0.011292f, 0.010089f, -0.005877f, 0.012790f, 0.011890f, -0.010387f, 0.003944f, 0.008815f, 0.016209f, 0.003866f, 0.004677f, 0.008118f, 0.009494f, 0.014432f, 0.001479f, 0.000518f, -0.000856f, 0.009891f, 0.008369f, -0.009046f, -0.000137f, 0.006554f, 0.009222f, 0.007266f, -0.005403f, 0.013758f, -0.000371f, 0.004793f, 0.001697f, 0.011370f, 0.005791f, 0.005324f, 0.005445f, 0.007883f, 0.004435f, 0.005257f, 0.009086f, -0.026021f, -0.007411f, 0.017929f, -0.008595f, -0.013547f, -0.012083f, -0.012398f, 0.002318f, 0.018032f, -0.002204f, -0.039792f, 0.000111f, -0.030215f, 0.011872f, + 0.013117f, 0.000340f, 0.006249f, -0.013237f, -0.001614f, 0.016199f, -0.038101f, 0.009810f, -0.008238f, 0.021414f, 0.014869f, 0.009684f, 0.001783f, -0.015134f, -0.034372f, -0.001739f, -0.030024f, 0.018734f, 0.000380f, -0.009009f, 0.031880f, 0.016565f, -0.012526f, -0.009951f, -0.006469f, -0.004745f, -0.008724f, -0.017005f, 0.003237f, 0.005003f, 0.046066f, -0.001453f, -0.032672f, 0.000073f, 0.022591f, 0.001746f, -0.016738f, 0.010760f, -0.025333f, 0.017123f, -0.010605f, 0.011375f, -0.014677f, 0.006949f, -0.025909f, 0.068759f, 0.002772f, 0.047529f, -0.004417f, -0.012931f, 0.012497f, -0.015235f, -0.014862f, 0.026514f, 0.025896f, -0.022461f, -0.059576f, 0.056952f, -0.019779f, -0.015534f, -0.007294f, -0.007928f, 0.007711f, -0.005178f, 0.004584f, 0.024565f, 0.006047f, -0.019782f, -0.015862f, -0.011972f, 0.007493f, -0.012517f, -0.001662f, 0.011441f, -0.030857f, -0.002637f, 0.002110f, -0.004831f, -0.008970f, 0.003509f, -0.006323f, 0.016929f, -0.006583f, 0.007544f, -0.007457f, -0.005486f, 0.000507f, -0.007848f, 0.004650f, 0.004028f, -0.003164f, 0.004263f, -0.007142f, 0.003541f, -0.001829f, -0.000549f, + -0.003168f, 0.000097f, -0.012880f, -0.009488f, -0.001765f, -0.005287f, -0.010532f, -0.014061f, -0.007832f, -0.003433f, -0.005547f, -0.001197f, -0.009342f, -0.000011f, -0.008292f, -0.002413f, -0.010825f, 0.005849f, -0.005989f, -0.003353f, -0.029334f, -0.010415f, -0.008925f, -0.025221f, -0.044416f, -0.010962f, 0.000697f, -0.023590f, 0.011530f, -0.010094f, 0.019737f, -0.017021f, -0.007130f, -0.024252f, 0.057791f, 0.048893f, -0.010987f, 0.010903f, 0.033570f, -0.035318f, 0.035794f, -0.014899f, -0.014943f, 0.012905f, 0.004710f, 0.006118f, -0.005287f, -0.007788f, 0.000990f, 0.011590f, 0.009996f, -0.015705f, 0.017971f, -0.016924f, -0.028171f, 0.020424f, 0.017960f, -0.023451f, -0.029147f, -0.033678f, -0.004953f, -0.005584f, 0.009405f, -0.021996f, -0.027573f, -0.014079f, 0.046097f, 0.016135f, 0.015670f, -0.019760f, 0.017769f, 0.024267f, -0.018965f, 0.045305f, 0.008389f, -0.016215f, -0.021271f, 0.012125f, -0.017871f, -0.038748f, 0.009409f, -0.000443f, 0.000840f, 0.021179f, 0.019694f, -0.017029f, 0.003204f, -0.049658f, -0.006204f, -0.019585f, 0.041062f, 0.002453f, 0.005759f, -0.023952f, 0.019402f, -0.042186f, + -0.005168f, 0.016504f, 0.004717f, -0.004587f, -0.004857f, 0.005114f, -0.001992f, 0.004759f, -0.006354f, 0.001186f, 0.003456f, 0.010037f, 0.002447f, 0.003200f, -0.002338f, 0.005959f, -0.006235f, 0.001917f, 0.018681f, -0.003680f, 0.000797f, -0.005991f, 0.008298f, 0.003887f, -0.001045f, 0.009808f, -0.010365f, -0.009795f, 0.010596f, -0.008935f, -0.003365f, -0.008185f, 0.004461f, -0.011972f, -0.005453f, -0.003898f, 0.009568f, 0.009651f, -0.015452f, 0.002432f, 0.007828f, -0.005289f, -0.017420f, -0.008382f, 0.012815f, -0.008401f, -0.021484f, 0.027221f, 0.028683f, 0.025957f, 0.017509f, -0.000223f, 0.023774f, 0.021559f, 0.003605f, -0.004082f, 0.009580f, 0.000064f, -0.024241f, -0.002885f, 0.009203f, -0.018952f, 0.027068f, -0.028223f, 0.022601f, 0.024615f, -0.007082f, -0.005552f, 0.010434f, 0.032845f, 0.024605f, -0.029683f, -0.006481f, -0.007943f, -0.002369f, 0.007421f, -0.013849f, -0.014499f, 0.032220f, 0.000810f, 0.046271f, -0.030216f, -0.028662f, 0.023299f, -0.015437f, 0.008406f, -0.018163f, 0.015557f, 0.017749f, 0.011721f, -0.007253f, -0.026546f, 0.002627f, 0.008841f, -0.022086f, -0.040558f, + -0.001403f, 0.003712f, -0.023949f, 0.043846f, -0.005004f, -0.012406f, 0.058230f, 0.054867f, 0.005475f, -0.007601f, -0.002048f, -0.011682f, 0.013201f, -0.028737f, 0.026956f, 0.003592f, -0.015646f, 0.032599f, 0.005223f, 0.006632f, -0.009296f, -0.017656f, -0.043738f, 0.009632f, -0.014900f, -0.007179f, 0.020170f, 0.008211f, -0.009605f, -0.028551f, -0.007909f, -0.032517f, 0.013903f, 0.029315f, -0.004142f, -0.022082f, -0.015470f, -0.022020f, 0.000243f, 0.011922f, 0.014230f, -0.002976f, -0.015626f, -0.008099f, -0.008529f, 0.002089f, -0.004739f, -0.007460f, 0.006279f, -0.001149f, -0.004622f, 0.007735f, -0.017664f, 0.005073f, 0.004555f, 0.027318f, 0.002466f, -0.006031f, -0.013979f, 0.012058f, -0.014604f, -0.001891f, 0.010205f, -0.019375f, 0.018066f, 0.003881f, -0.000786f, 0.003718f, 0.012214f, -0.006154f, -0.019168f, 0.000466f, -0.005703f, -0.002412f, 0.018407f, 0.017561f, -0.048063f, -0.111317f, 0.037306f, 0.035348f, -0.012452f, 0.007888f, -0.026807f, 0.048030f, 0.030714f, -0.027236f, 0.007755f, 0.006532f, 0.000685f, -0.012258f, -0.008838f, -0.057411f, 0.024278f, 0.028341f, -0.006554f, -0.000018f, + -0.003224f, 0.019073f, -0.014400f, 0.036400f, 0.010783f, -0.043265f, -0.024525f, 0.054946f, 0.036065f, -0.035805f, -0.008430f, -0.012725f, -0.021934f, 0.003429f, -0.008765f, 0.007842f, 0.071374f, 0.019467f, 0.074783f, 0.042735f, 0.048192f, 0.043940f, 0.086136f, -0.005638f, -0.008003f, 0.020622f, -0.006094f, -0.072242f, 0.058576f, -0.025363f, 0.033588f, -0.047745f, -0.037990f, -0.071320f, 0.014163f, -0.006547f, -0.023957f, 0.017431f, -0.033540f, 0.000153f, -0.047912f, -0.047821f, 0.013417f, 0.027975f, -0.038886f, -0.010284f, -0.026963f, -0.037402f, -0.042039f, -0.030167f, 0.022985f, -0.018207f, -0.052485f, 0.075409f, 0.047230f, 0.076032f, -0.009926f, -0.016327f, -0.015133f, -0.026786f, -0.043111f, -0.002723f, -0.009479f, -0.032584f, -0.010893f, 0.009635f, -0.023112f, -0.020802f, 0.002405f, -0.003378f, -0.010302f, -0.008414f, 0.018751f, 0.020021f, 0.000628f, 0.005085f, 0.014209f, 0.017852f, 0.003623f, -0.001448f, -0.002742f, 0.008423f, -0.003568f, 0.002145f, -0.003282f, -0.012481f, -0.000339f, 0.011882f, -0.012313f, 0.016213f, 0.020414f, 0.008681f, 0.000665f, 0.003393f, 0.002155f, -0.013555f, + 0.001121f, 0.007815f, -0.007005f, 0.000166f, -0.003202f, 0.002295f, -0.004857f, 0.001881f, 0.007594f, -0.010360f, -0.008879f, 0.016502f, 0.006703f, -0.002003f, 0.002506f, -0.040194f, -0.105936f, 0.046359f, 0.055310f, -0.024550f, -0.010507f, -0.002420f, 0.062589f, 0.002350f, 0.013648f, 0.013480f, -0.014305f, 0.012720f, 0.029335f, -0.005465f, -0.027556f, 0.007301f, 0.053283f, -0.027712f, -0.017223f, 0.011952f, -0.007060f, 0.039988f, -0.009592f, 0.018220f, -0.020097f, -0.024186f, -0.024174f, 0.026334f, -0.007493f, 0.023417f, 0.027223f, -0.006596f, 0.003874f, 0.000516f, -0.021638f, 0.007634f, -0.019598f, 0.023879f, 0.057955f, 0.095000f, -0.000850f, -0.002349f, -0.039752f, 0.022008f, 0.031298f, -0.000582f, 0.035109f, 0.050095f, 0.021242f, 0.028637f, -0.043319f, -0.025852f, 0.036573f, 0.094921f, -0.017009f, -0.055164f, 0.014461f, -0.018103f, -0.000691f, 0.025991f, 0.000791f, -0.024970f, -0.011803f, -0.012718f, -0.064016f, -0.026534f, 0.000724f, 0.011023f, 0.022736f, -0.003342f, -0.024435f, -0.013895f, 0.006366f, -0.009676f, -0.024544f, 0.025948f, 0.062176f, 0.027125f, 0.033626f, 0.003767f, + -0.008158f, -0.049977f, -0.010842f, 0.014648f, 0.011420f, -0.010920f, 0.028837f, -0.007722f, 0.016261f, -0.034877f, 0.002324f, -0.011797f, -0.009861f, 0.000689f, 0.010058f, 0.009936f, -0.009664f, -0.018815f, 0.018823f, -0.006918f, 0.015512f, 0.001719f, -0.003579f, 0.001608f, 0.003538f, 0.014454f, 0.000733f, -0.001887f, -0.007032f, -0.007726f, 0.012403f, 0.004376f, 0.011450f, -0.023620f, 0.016945f, 0.009999f, 0.004797f, -0.008336f, -0.002924f, 0.017764f, -0.001844f, 0.001039f, -0.013169f, 0.001608f, -0.020340f, -0.003997f, 0.006207f, 0.017805f, 0.008907f, 0.015771f, 0.033747f, 0.011213f, 0.017682f, 0.006927f, 0.050864f, -0.016044f, -0.006405f, -0.019996f, 0.011777f, -0.012417f, 0.011158f, 0.057739f, 0.011364f, -0.061162f, -0.014974f, -0.017835f, -0.052385f, 0.033266f, 0.015643f, -0.006045f, 0.007325f, 0.003279f, -0.023574f, -0.000195f, -0.001754f, -0.023308f, -0.007093f, 0.050417f, 0.073969f, 0.034976f, -0.025939f, -0.040803f, 0.019149f, 0.033884f, 0.003650f, 0.027118f, -0.018994f, -0.013018f, 0.027668f, 0.008836f, 0.000233f, -0.062117f, -0.081220f, -0.002567f, -0.047576f, -0.027464f, + 0.016772f, 0.067883f, 0.014513f, 0.003435f, -0.019852f, -0.023391f, -0.034193f, -0.029817f, 0.005356f, 0.020536f, -0.007475f, -0.033603f, -0.054468f, 0.021644f, 0.001190f, -0.030107f, -0.050804f, -0.034141f, -0.055905f, -0.100330f, -0.060871f, -0.008954f, -0.012295f, 0.120853f, -0.015043f, -0.004429f, 0.069279f, 0.008262f, 0.003625f, 0.041955f, -0.025278f, -0.060953f, -0.071296f, -0.010906f, -0.034316f, -0.037517f, -0.040342f, -0.043662f, 0.008230f, 0.039685f, 0.062484f, 0.037472f, 0.007365f, 0.004227f, -0.016504f, 0.032575f, 0.006325f, -0.009683f, -0.040883f, 0.008517f, 0.029108f, -0.001260f, -0.000501f, -0.014367f, 0.007744f, 0.016548f, 0.026560f, 0.007803f, 0.011055f, 0.010550f, 0.013073f, 0.016955f, 0.017032f, -0.004686f, 0.012852f, 0.002952f, -0.009732f, -0.020955f, -0.025743f, 0.002827f, 0.005623f, -0.024987f, -0.012796f, -0.024011f, 0.007519f, 0.012810f, 0.018875f, 0.028615f, 0.047354f, 0.035877f, 0.036005f, 0.022014f, 0.013783f, -0.008374f, 0.003419f, 0.000548f, -0.022727f, -0.033912f, -0.026232f, -0.028889f, 0.038115f, -0.054196f, 0.013627f, 0.008554f, -0.023631f, -0.075983f, + 0.051614f, 0.015293f, -0.004935f, -0.076935f, 0.020408f, 0.011889f, -0.040657f, 0.006747f, 0.035560f, 0.021847f, 0.010313f, -0.034849f, -0.007156f, -0.013032f, 0.006073f, -0.013145f, 0.003159f, -0.027000f, -0.038850f, 0.042504f, -0.029448f, 0.064612f, -0.039953f, -0.036158f, -0.024541f, -0.045445f, 0.003921f, -0.000911f, 0.067837f, -0.050357f, -0.053144f, 0.027324f, 0.017408f, -0.043971f, -0.058508f, -0.006520f, -0.033006f, 0.037824f, 0.007978f, -0.048412f, 0.031314f, -0.008302f, -0.074454f, 0.048785f, -0.033262f, 0.031828f, -0.055424f, -0.013586f, -0.001639f, -0.023312f, -0.009640f, 0.006327f, 0.069738f, -0.018899f, -0.006643f, -0.020125f, 0.019839f, -0.033107f, 0.025748f, 0.054529f, -0.003468f, 0.054828f, 0.042985f, -0.006604f, 0.087845f, -0.005203f, 0.010051f, -0.002637f, 0.024710f, 0.088627f, -0.007414f, -0.024574f, -0.094917f, 0.073382f, 0.026069f, 0.062647f, 0.021213f, -0.049287f, 0.021796f, 0.014043f, 0.008907f, -0.043760f, 0.024861f, 0.005093f, 0.007085f, -0.023534f, -0.006986f, 0.029920f, 0.025514f, 0.001115f, -0.003219f, -0.003076f, -0.003573f, 0.007315f, 0.018662f, -0.038432f, + -0.011474f, -0.005334f, 0.006004f, -0.007868f, 0.008405f, 0.008271f, 0.011988f, -0.008982f, -0.020549f, 0.031708f, 0.049524f, 0.017380f, -0.025598f, -0.021880f, -0.009539f, -0.007463f, 0.013321f, 0.006754f, -0.005089f, -0.031364f, -0.022582f, -0.025412f, -0.002604f, 0.024352f, 0.010591f, 0.020532f, 0.007739f, -0.034203f, -0.006237f, 0.014954f, 0.052035f, -0.100297f, 0.003839f, -0.112879f, -0.037826f, -0.019176f, 0.034354f, 0.104233f, 0.088592f, 0.032630f, 0.052304f, -0.033992f, -0.028640f, 0.005038f, -0.007691f, 0.024122f, 0.007643f, -0.023575f, 0.034964f, 0.051481f, 0.042786f, 0.031974f, 0.027035f, -0.000898f, 0.004814f, -0.017541f, 0.048722f, 0.022725f, -0.009343f, -0.030078f, 0.010038f, 0.019966f, -0.005333f, 0.063742f, 0.066598f, -0.038570f, -0.028512f, 0.001377f, 0.051732f, 0.032217f, 0.008272f, 0.006292f, -0.012389f, -0.023394f, 0.012866f, 0.079507f, -0.032254f, -0.039456f, -0.042897f, 0.041504f, 0.016953f, -0.023936f, -0.037109f, -0.059506f, -0.070399f, 0.007631f, 0.015385f, 0.012604f, -0.015558f, -0.005306f, -0.019399f, 0.013780f, -0.056165f, -0.092327f, -0.041613f, -0.006545f, + -0.015728f, -0.036136f, 0.046097f, 0.076982f, -0.017400f, 0.039647f, 0.085087f, 0.055403f, 0.019671f, -0.058868f, 0.009434f, 0.010411f, -0.052015f, -0.028881f, -0.008367f, -0.041523f, 0.045086f, 0.064175f, -0.003958f, -0.015019f, -0.008052f, -0.018949f, -0.010574f, -0.026466f, -0.025879f, -0.009669f, -0.012914f, 0.009060f, -0.005892f, -0.007334f, 0.012543f, -0.039251f, -0.004870f, 0.002991f, 0.039506f, -0.040806f, -0.006752f, -0.009477f, 0.007373f, -0.026074f, -0.009235f, 0.007650f, -0.014303f, -0.024131f, -0.004091f, -0.002080f, -0.023590f, 0.027315f, -0.037959f, -0.004519f, -0.014121f, 0.008123f, -0.004195f, -0.011394f, -0.022256f, 0.000444f, 0.010883f, -0.008151f, -0.063885f, 0.051322f, -0.006639f, 0.044078f, 0.026700f, 0.000908f, 0.029202f, -0.012970f, -0.003394f, 0.025120f, 0.030831f, 0.004649f, 0.000060f, -0.001135f, -0.028258f, -0.018415f, 0.007433f, -0.039376f, 0.000962f, -0.014881f, 0.000861f, -0.033408f, 0.005582f, 0.001728f, -0.030374f, 0.025157f, 0.010664f, 0.016984f, -0.038120f, -0.010400f, 0.007083f, -0.002128f, 0.002666f, 0.021679f, 0.004742f, 0.005971f, -0.004451f, -0.008572f, + -0.006039f, -0.003264f, 0.014001f, -0.006518f, -0.024363f, 0.019523f, -0.033470f, -0.010634f, -0.011532f, 0.003855f, -0.016420f, -0.019521f, 0.025353f, -0.003394f, -0.025575f, 0.015434f, -0.035638f, 0.028339f, 0.008797f, 0.001186f, 0.029282f, 0.032505f, 0.004473f, 0.009148f, -0.024587f, 0.031522f, -0.015566f, -0.021840f, -0.001929f, 0.004522f, 0.059840f, -0.027084f, -0.044289f, 0.037730f, -0.014473f, 0.037698f, -0.006462f, 0.002315f, -0.016607f, 0.022763f, -0.038487f, -0.032063f, -0.012669f, 0.014889f, 0.008957f, -0.002506f, 0.018384f, -0.023042f, -0.023171f, -0.015547f, 0.005437f, 0.006509f, 0.001339f, -0.001178f, -0.007025f, 0.003783f, -0.031944f, 0.006279f, 0.006490f, -0.007887f, -0.002974f, 0.009437f, -0.005136f, -0.013834f, 0.016496f, -0.008435f, 0.002032f, -0.000897f, -0.004189f, 0.010946f, 0.004818f, -0.011774f, -0.001327f, -0.002952f, -0.010350f, -0.002433f, -0.003828f, -0.021460f, 0.006497f, 0.012782f, 0.010391f, -0.009856f, 0.009707f, -0.015716f, -0.004822f, 0.000179f, -0.010018f, 0.030774f, -0.014270f, -0.166692f, -0.317489f, -0.113289f, -0.248692f, -0.283326f, 0.068826f, -0.010014f, + 0.094466f, 0.366242f, 0.397099f, 0.280270f, 0.399931f, 0.328631f, 0.108751f, 0.114785f, 0.084777f, -0.221463f, -0.228067f, -0.127080f, -0.221404f, -0.239263f, -0.080504f, -0.070878f, -0.201791f, -0.152136f, -0.025141f, -0.090342f, -0.110420f, -0.027810f, -0.084638f, -0.149264f, -0.085261f, 0.027200f, -0.060233f, -0.074075f, 0.086856f, -0.015380f, -0.083294f, 0.074856f, 0.139027f, -0.032835f, 0.034327f, 0.215801f, 0.029232f, -0.069910f, 0.142989f, 0.124882f, -0.124947f, 0.070688f, 0.157642f, -0.049884f, 0.016706f, 0.273630f, 0.208587f, 0.104851f, 0.384484f, 0.428196f, 0.218623f, 0.394313f, 0.509259f, 0.319481f, 0.301328f, 0.418666f, 0.268914f, 0.170923f, 0.189250f, 0.098264f, -0.115884f, -0.223563f, -0.303104f, -0.516849f, -0.628854f, -0.712789f, -0.806065f, -0.794742f, -0.861447f, -0.769576f, -0.571504f, -0.571397f, -0.450668f, -0.040958f, -0.023992f, 0.011006f, 0.321950f, 0.254277f, 0.084190f, 0.168534f, 0.251006f, 0.092586f, 0.111612f, 0.255003f, 0.185399f, 0.037342f, 0.152664f, 0.215804f, 0.092317f, 0.115997f, 0.265474f, 0.099124f, -0.042901f, 0.122156f, 0.085171f, -0.059539f, + 0.115196f, 0.256592f, 0.120389f, 0.189025f, 0.409700f, 0.340774f, 0.322736f, 0.481498f, 0.444507f, 0.306334f, 0.266166f, 0.238712f, 0.088929f, -0.004042f, 0.012174f, -0.050857f, -0.160916f, -0.160052f, -0.183859f, -0.314162f, -0.351531f, -0.336872f, -0.377984f, -0.453255f, -0.397193f, -0.383825f, -0.409589f, -0.317096f, -0.214604f, -0.167862f, -0.106002f, 0.003644f, 0.042060f, 0.035359f, 0.058610f, 0.064570f, 0.032951f, 0.030227f, 0.059190f, 0.051293f, 0.034765f, 0.041953f, 0.048952f, 0.037014f, 0.048042f, 0.073526f, 0.080820f, 0.077122f, 0.088413f, 0.086142f, 0.060208f, 0.048775f, 0.033277f, 0.025804f, 0.025114f}, + {-0.008142f, 0.006770f, 0.007248f, -0.003433f, 0.007274f, -0.004381f, -0.000954f, 0.009680f, -0.003957f, 0.004608f, 0.002815f, -0.010720f, -0.004831f, 0.008061f, -0.003129f, -0.001530f, 0.005076f, 0.003362f, 0.003620f, 0.000975f, 0.012411f, 0.002126f, -0.003177f, 0.002788f, -0.004275f, 0.007692f, -0.002200f, -0.004217f, -0.001824f, -0.010034f, -0.003388f, -0.007389f, 0.002440f, -0.000120f, 0.002731f, -0.002957f, 0.004226f, 0.001996f, -0.000445f, 0.001295f, 0.000692f, 0.000979f, 0.001375f, -0.005304f, 0.013278f, 0.001963f, -0.004816f, 0.009831f, -0.002347f, -0.008474f, -0.009282f, 0.009076f, -0.001790f, -0.000718f, 0.006018f, 0.000682f, -0.001547f, 0.004699f, -0.000489f, 0.002726f, 0.000799f, 0.003463f, -0.001785f, 0.003770f, -0.001681f, 0.004478f, 0.006509f, 0.003540f, -0.003825f, -0.003936f, -0.001925f, 0.001755f, -0.004088f, 0.002903f, -0.002000f, 0.003601f, 0.004695f, -0.005798f, -0.003263f, 0.005075f, 0.001523f, -0.001591f, 0.007827f, 0.004538f, 0.003744f, -0.000379f, 0.002075f, -0.000147f, 0.001059f, -0.000892f, 0.001205f, 0.000473f, 0.000582f, -0.001764f, 0.002912f, 0.000960f, + 0.000224f, -0.000491f, 0.001194f, 0.001903f, -0.000975f, 0.002048f, -0.000059f, 0.008507f, 0.001676f, 0.001939f, 0.007141f, 0.000092f, 0.005155f, 0.002456f, -0.000577f, 0.000553f, -0.005568f, 0.002612f, 0.000454f, 0.008749f, 0.003102f, 0.002874f, 0.000401f, 0.002592f, 0.009600f, -0.009046f, 0.005133f, 0.001363f, -0.005968f, -0.002667f, -0.003695f, -0.001201f, -0.003428f, 0.002440f, 0.011085f, 0.006983f, 0.008282f, 0.006584f, 0.011301f, 0.008239f, -0.010231f, -0.018567f, -0.002341f, 0.000887f, -0.004519f, 0.009808f, -0.000402f, 0.014683f, -0.006835f, -0.006852f, 0.006337f, 0.000365f, 0.000540f, 0.005826f, -0.010699f, 0.002772f, -0.007657f, 0.010172f, 0.005994f, -0.000015f, 0.015434f, 0.000710f, -0.001461f, -0.001886f, -0.002695f, -0.003801f, 0.007315f, 0.003928f, -0.003743f, -0.001204f, -0.010724f, -0.004693f, -0.001406f, 0.011284f, 0.007696f, 0.001408f, 0.005676f, 0.000244f, 0.006044f, 0.000044f, 0.002507f, -0.006412f, -0.004151f, 0.001605f, 0.000850f, -0.000300f, -0.003257f, 0.003063f, 0.003566f, -0.000864f, -0.003348f, -0.000571f, 0.003593f, -0.000522f, 0.001917f, -0.001672f, + -0.000989f, -0.001309f, 0.001149f, -0.001140f, 0.000211f, -0.000038f, 0.001818f, -0.001458f, 0.001755f, 0.002760f, -0.001279f, 0.000689f, 0.000225f, -0.000010f, 0.003264f, -0.001001f, 0.000829f, -0.001171f, 0.001297f, 0.001004f, 0.000555f, -0.000334f, 0.002862f, -0.000094f, 0.000139f, 0.001266f, 0.006758f, 0.015364f, 0.004510f, 0.000680f, 0.000481f, 0.004334f, 0.004040f, 0.000923f, 0.002428f, 0.003486f, -0.000234f, -0.000317f, 0.004395f, 0.017390f, 0.005816f, 0.013571f, -0.007686f, -0.006262f, -0.002545f, -0.008135f, -0.009538f, -0.003797f, 0.007057f, -0.011752f, -0.001646f, -0.001369f, -0.018507f, 0.003739f, -0.018696f, -0.006195f, -0.002491f, 0.004464f, 0.000060f, 0.003923f, -0.003650f, -0.000159f, -0.012619f, 0.004667f, -0.004184f, -0.007020f, 0.001332f, 0.003580f, -0.000587f, 0.000959f, 0.005399f, 0.009604f, -0.016113f, 0.004444f, 0.001095f, -0.004726f, -0.005132f, -0.001004f, 0.002227f, -0.002119f, -0.009693f, -0.002244f, 0.002640f, 0.005092f, -0.000664f, 0.012067f, 0.001065f, 0.000574f, 0.004921f, -0.007666f, 0.011395f, 0.003671f, 0.006773f, 0.003058f, 0.005668f, -0.001153f, + -0.001080f, 0.003404f, 0.001981f, -0.001554f, -0.003438f, -0.002757f, -0.005684f, -0.000126f, -0.007630f, 0.000542f, 0.004448f, -0.000365f, -0.003249f, -0.005949f, 0.005313f, -0.003153f, 0.002155f, 0.000840f, -0.000944f, -0.005659f, 0.000474f, -0.000511f, 0.001395f, -0.001717f, -0.001653f, 0.000508f, -0.001839f, -0.003102f, -0.001686f, -0.001285f, -0.000314f, -0.002037f, -0.000358f, -0.001150f, 0.002672f, -0.000478f, -0.001454f, -0.000465f, 0.001421f, -0.000555f, -0.002429f, -0.002572f, 0.002759f, 0.000065f, 0.000236f, -0.001620f, 0.009175f, 0.010026f, -0.000309f, 0.011060f, 0.000706f, -0.001427f, 0.001368f, 0.000939f, -0.002035f, -0.000091f, -0.007697f, -0.004381f, 0.006899f, 0.008120f, -0.009468f, -0.002241f, 0.003957f, -0.006299f, -0.018127f, 0.004539f, 0.006727f, 0.007911f, -0.004150f, -0.004784f, -0.006451f, 0.009922f, 0.011302f, 0.001962f, 0.004472f, -0.008833f, -0.007154f, 0.008412f, 0.003190f, -0.006613f, 0.011668f, -0.011647f, 0.001962f, 0.001146f, 0.010944f, 0.004045f, -0.002396f, 0.001814f, -0.003764f, 0.006027f, -0.014227f, -0.004189f, -0.020507f, -0.008928f, 0.010416f, -0.000835f, + 0.015961f, -0.002138f, -0.013286f, 0.008461f, 0.001877f, -0.005405f, -0.000609f, 0.000682f, -0.005364f, 0.003571f, 0.009571f, 0.010792f, 0.000321f, 0.005177f, -0.000468f, 0.012274f, -0.006204f, 0.005328f, -0.001123f, -0.000179f, 0.000426f, 0.004271f, -0.001224f, 0.015347f, 0.001569f, 0.001423f, -0.002334f, 0.009057f, 0.003125f, -0.003008f, -0.006407f, 0.000176f, 0.006207f, 0.002168f, 0.001852f, -0.003964f, -0.000163f, 0.001275f, -0.000569f, -0.001028f, -0.001052f, -0.002100f, 0.001718f, 0.000178f, 0.000782f, 0.001341f, 0.003286f, -0.001230f, -0.003289f, 0.003725f, -0.000935f, 0.000406f, 0.000129f, -0.000400f, -0.000376f, 0.001501f, 0.001398f, 0.001824f, -0.000584f, 0.001704f, 0.000018f, 0.001001f, 0.001719f, -0.000346f, 0.000273f, 0.001450f, 0.002209f, 0.001207f, 0.001418f, 0.000465f, 0.000233f, 0.011217f, -0.015209f, -0.002091f, -0.010304f, -0.010701f, 0.003852f, 0.002091f, 0.022178f, 0.001170f, 0.008175f, -0.018483f, -0.004405f, 0.004101f, -0.009589f, 0.006369f, 0.001876f, 0.001584f, 0.005430f, 0.006275f, 0.014564f, 0.006493f, -0.002273f, 0.004621f, -0.007217f, 0.002133f, + 0.005897f, -0.000382f, 0.001249f, 0.006468f, 0.008369f, 0.020134f, 0.003970f, -0.002973f, -0.013726f, -0.000561f, 0.010491f, -0.016272f, 0.001846f, -0.001178f, 0.005167f, -0.008147f, -0.009577f, 0.017440f, -0.011080f, 0.003615f, -0.000648f, -0.010889f, 0.025231f, 0.006521f, 0.013258f, 0.007136f, 0.014494f, -0.002628f, -0.005367f, 0.009227f, -0.008414f, 0.007100f, -0.006689f, 0.003877f, 0.010021f, 0.005525f, -0.004386f, -0.000729f, 0.005161f, -0.008772f, -0.006437f, 0.000544f, -0.000961f, 0.014929f, -0.008104f, -0.013908f, -0.002001f, 0.007769f, 0.012639f, -0.007752f, -0.013094f, -0.002872f, 0.018434f, 0.002449f, 0.000080f, -0.006529f, 0.000994f, -0.000358f, 0.005764f, 0.005846f, -0.000268f, 0.002809f, 0.003223f, -0.008919f, -0.001955f, 0.003105f, -0.000330f, 0.005247f, 0.002192f, 0.000548f, -0.003676f, -0.000375f, -0.000402f, 0.002028f, -0.000490f, 0.005474f, -0.000941f, -0.000543f, -0.002585f, 0.000625f, -0.003298f, 0.000177f, -0.000251f, 0.001382f, 0.003305f, 0.000131f, 0.002789f, -0.000151f, -0.003078f, -0.000620f, 0.000445f, -0.005873f, 0.006684f, -0.024099f, 0.013657f, 0.004012f, + -0.005390f, 0.007326f, -0.019693f, -0.016439f, 0.002134f, -0.008119f, 0.018644f, 0.016556f, 0.017607f, -0.011755f, 0.006848f, 0.000257f, 0.017552f, 0.001237f, 0.012411f, 0.004965f, -0.005245f, -0.015801f, -0.014315f, 0.004563f, -0.019076f, -0.000294f, -0.004502f, -0.009279f, -0.012739f, -0.007495f, 0.000117f, 0.015342f, 0.000062f, 0.005976f, -0.021823f, -0.012203f, -0.002315f, -0.013697f, 0.000958f, 0.013687f, -0.014814f, 0.006107f, -0.000177f, -0.005081f, -0.001374f, -0.003192f, 0.015088f, 0.008080f, 0.007522f, -0.003638f, -0.004589f, 0.020755f, -0.006279f, -0.005687f, -0.017124f, 0.012486f, -0.024312f, 0.003305f, -0.007993f, 0.003772f, 0.008642f, -0.005885f, -0.012974f, -0.008054f, 0.000889f, 0.017596f, -0.008856f, -0.001983f, -0.011438f, -0.009251f, 0.005706f, 0.006086f, 0.013932f, -0.016313f, -0.000130f, -0.008661f, -0.005682f, 0.003371f, -0.006429f, -0.012829f, -0.007296f, -0.001179f, 0.011710f, 0.011871f, 0.004131f, 0.000584f, 0.001741f, 0.005382f, 0.000467f, 0.000784f, 0.002475f, -0.003438f, 0.000350f, 0.004871f, -0.001472f, 0.000514f, 0.006031f, -0.001554f, -0.000222f, 0.000892f, + 0.004392f, -0.000105f, 0.000690f, 0.001519f, 0.000754f, 0.003605f, -0.004341f, -0.004896f, -0.000315f, -0.001840f, 0.000058f, 0.002598f, -0.001164f, 0.004905f, 0.003133f, -0.022498f, 0.005994f, 0.002045f, 0.003733f, -0.030964f, 0.027622f, 0.000543f, -0.000639f, -0.000571f, -0.010076f, 0.003227f, 0.000325f, 0.009878f, -0.008701f, 0.011079f, 0.003137f, -0.006937f, -0.011946f, -0.014919f, 0.007440f, 0.001303f, -0.001325f, 0.001004f, -0.008632f, 0.009265f, 0.006893f, 0.017110f, 0.010138f, 0.006757f, 0.009407f, -0.002248f, -0.009500f, -0.007098f, 0.000519f, -0.004992f, 0.007357f, -0.008374f, -0.012708f, -0.013888f, 0.000757f, -0.018993f, 0.008607f, 0.009922f, -0.011412f, 0.011567f, -0.013771f, 0.006874f, -0.020287f, 0.002714f, -0.003787f, 0.001469f, -0.005451f, -0.000313f, -0.018884f, -0.003159f, -0.006554f, -0.011941f, -0.003283f, -0.009330f, 0.002880f, -0.008409f, -0.004928f, -0.012066f, 0.005241f, -0.011538f, -0.000938f, 0.018483f, -0.003245f, 0.000547f, 0.005908f, -0.004115f, -0.018874f, -0.021426f, -0.003671f, -0.014981f, 0.000640f, -0.004088f, 0.013867f, 0.001018f, 0.005153f, -0.014113f, + 0.001141f, -0.003184f, -0.002673f, 0.010199f, 0.002419f, -0.001216f, -0.005667f, 0.002772f, 0.003847f, 0.001434f, 0.005264f, -0.000225f, 0.002886f, -0.001611f, -0.000674f, 0.000797f, 0.000820f, 0.001920f, -0.000637f, 0.005928f, -0.001807f, -0.005058f, 0.001953f, -0.000070f, 0.001401f, 0.001957f, 0.001135f, -0.000736f, -0.002730f, 0.001507f, -0.004700f, 0.001768f, 0.008859f, 0.006059f, -0.019271f, -0.000683f, 0.003353f, -0.017951f, -0.020416f, 0.011055f, -0.020043f, 0.003805f, 0.013258f, -0.009759f, -0.023023f, -0.009908f, 0.000487f, 0.015086f, -0.006205f, 0.026665f, -0.001894f, -0.002174f, -0.015481f, -0.011029f, -0.001872f, 0.005334f, 0.001456f, -0.005585f, -0.004687f, -0.001317f, -0.005807f, -0.011524f, 0.009383f, -0.009563f, -0.005868f, 0.009956f, 0.002919f, -0.016241f, -0.017254f, -0.015903f, 0.013631f, -0.014798f, -0.015944f, 0.025849f, -0.016331f, 0.011357f, -0.002325f, 0.006908f, -0.023450f, 0.010608f, 0.001289f, -0.003909f, -0.001206f, -0.004677f, 0.007506f, 0.005428f, 0.021988f, -0.005678f, -0.004244f, 0.010338f, 0.021247f, 0.005732f, 0.004235f, -0.010220f, -0.006725f, -0.017697f, + -0.003795f, -0.000583f, -0.000251f, 0.012590f, -0.004073f, 0.006666f, 0.022244f, -0.003575f, -0.000887f, -0.002747f, -0.000508f, -0.022830f, -0.025994f, 0.001172f, 0.017039f, 0.000063f, -0.034483f, 0.008845f, -0.012118f, 0.005629f, -0.021562f, -0.013531f, -0.003426f, 0.000467f, -0.007950f, 0.003303f, 0.007865f, -0.001130f, -0.001146f, -0.000919f, -0.003764f, 0.003375f, -0.004281f, 0.003358f, 0.000436f, 0.000978f, -0.003750f, -0.002688f, -0.005202f, 0.002207f, 0.000275f, -0.001774f, -0.004996f, -0.001277f, -0.001572f, -0.003338f, -0.003726f, 0.002018f, -0.004223f, -0.001783f, 0.003408f, 0.000852f, -0.002104f, -0.000509f, -0.000008f, -0.005460f, 0.000442f, 0.009593f, -0.001514f, 0.011349f, -0.001641f, -0.004678f, -0.006816f, 0.009648f, 0.005971f, -0.005227f, 0.004411f, 0.009823f, -0.005033f, -0.032981f, -0.014330f, -0.006389f, -0.003622f, 0.014881f, -0.025880f, -0.018927f, 0.015967f, 0.009987f, 0.040103f, 0.011410f, 0.009279f, 0.011135f, 0.005120f, -0.007054f, 0.000839f, -0.007433f, 0.012795f, 0.000703f, 0.012912f, 0.000524f, -0.000340f, -0.017446f, 0.009141f, -0.011788f, 0.009280f, -0.001690f, + 0.009728f, 0.003993f, 0.013049f, -0.020197f, 0.002388f, -0.013963f, 0.016978f, 0.001192f, -0.017035f, 0.022672f, 0.016647f, 0.010856f, -0.010213f, -0.034125f, 0.009864f, -0.003554f, -0.004266f, 0.016975f, -0.001638f, 0.007953f, 0.016224f, -0.003406f, -0.020620f, 0.000014f, 0.009217f, 0.006201f, -0.005557f, -0.002100f, -0.015128f, 0.005811f, 0.002034f, 0.003396f, -0.002302f, 0.002345f, 0.012956f, -0.007886f, 0.005888f, -0.001925f, -0.000539f, 0.023626f, -0.006340f, 0.010972f, 0.007669f, -0.007161f, -0.008291f, 0.003142f, 0.001703f, -0.003715f, 0.001905f, -0.003874f, 0.003700f, -0.003434f, 0.008836f, 0.001043f, 0.008440f, 0.001873f, -0.000304f, 0.010967f, 0.003716f, -0.002937f, 0.002917f, -0.002271f, -0.003448f, 0.001803f, 0.004164f, -0.003808f, 0.002610f, -0.001841f, -0.004286f, 0.000067f, 0.004137f, -0.001702f, -0.004771f, 0.001691f, -0.002306f, -0.006916f, 0.002965f, 0.000291f, -0.003820f, -0.001893f, -0.001364f, -0.003790f, -0.000503f, 0.005598f, 0.007462f, -0.006932f, 0.008596f, -0.009384f, -0.037291f, 0.007687f, 0.009144f, 0.037913f, -0.007881f, -0.006014f, 0.017967f, 0.023587f, + -0.038282f, -0.021797f, 0.021006f, -0.010806f, 0.000761f, 0.008671f, -0.024364f, -0.053415f, -0.020946f, 0.030492f, 0.024236f, 0.020546f, -0.006158f, 0.011559f, -0.006187f, 0.010655f, -0.011091f, 0.003813f, -0.026934f, 0.006709f, -0.009468f, 0.013934f, 0.013507f, 0.000571f, -0.012685f, 0.012700f, 0.007999f, 0.021856f, -0.002194f, -0.013397f, -0.006665f, -0.034163f, -0.017465f, 0.008513f, -0.002237f, -0.022846f, 0.015638f, 0.021470f, -0.030215f, 0.029386f, -0.002742f, -0.003107f, 0.018461f, 0.003902f, 0.017456f, -0.002173f, 0.006275f, -0.006508f, -0.003490f, 0.008927f, 0.035021f, -0.012532f, 0.022313f, -0.001754f, 0.002126f, 0.008497f, 0.019433f, -0.017807f, 0.002122f, 0.028535f, 0.008514f, -0.012908f, 0.007608f, 0.011343f, 0.002655f, 0.022453f, 0.016167f, 0.028195f, -0.002513f, 0.008174f, -0.000231f, 0.001100f, -0.015591f, -0.010717f, -0.012394f, -0.005895f, -0.000009f, -0.002487f, -0.005008f, -0.004325f, 0.008399f, 0.012266f, 0.005577f, -0.006132f, 0.009784f, -0.002723f, -0.001556f, -0.005737f, -0.004702f, 0.006294f, 0.002052f, -0.002110f, 0.000399f, -0.006376f, -0.005515f, -0.006272f, + 0.000150f, -0.003446f, 0.005701f, 0.003630f, -0.002412f, 0.002654f, 0.006672f, -0.003945f, 0.003069f, 0.004026f, -0.003559f, -0.003086f, -0.003791f, -0.000487f, -0.001087f, 0.004279f, -0.001410f, -0.001602f, -0.024208f, -0.006073f, 0.025254f, 0.016089f, 0.019075f, -0.012157f, -0.006061f, -0.001844f, -0.002512f, 0.027037f, 0.003615f, -0.027554f, -0.012202f, -0.008339f, 0.017897f, 0.003592f, 0.003962f, 0.015205f, 0.033161f, -0.048691f, 0.032513f, -0.006312f, -0.005636f, -0.012502f, 0.009773f, 0.010074f, 0.019167f, 0.003071f, 0.018274f, -0.001769f, -0.004700f, 0.005735f, -0.002892f, 0.009371f, 0.016816f, 0.002078f, -0.001113f, 0.022027f, -0.016161f, -0.002933f, 0.005495f, -0.001815f, 0.019472f, -0.022724f, 0.002225f, -0.019434f, 0.003321f, -0.020612f, -0.002776f, 0.000724f, 0.011498f, 0.028118f, -0.016209f, -0.008933f, -0.016808f, -0.000911f, -0.024635f, -0.016030f, -0.016148f, 0.011072f, 0.020395f, 0.000327f, 0.040263f, -0.025369f, 0.035996f, -0.025210f, -0.005764f, 0.011125f, 0.008300f, 0.035596f, 0.020630f, -0.026557f, 0.014054f, -0.011106f, -0.036645f, -0.000876f, -0.023177f, 0.029443f, + 0.044812f, 0.028465f, -0.005401f, -0.015784f, -0.005683f, 0.025025f, -0.003571f, 0.013058f, 0.001661f, 0.005803f, 0.008974f, 0.002822f, 0.003663f, 0.002972f, -0.010753f, 0.007593f, 0.000282f, 0.003211f, -0.004058f, -0.003582f, -0.010197f, -0.005784f, -0.003413f, 0.006363f, -0.003018f, 0.004263f, 0.005532f, -0.002042f, -0.001168f, 0.000135f, 0.006282f, 0.003878f, 0.002428f, 0.011406f, -0.000014f, 0.011915f, -0.010453f, -0.004710f, 0.007841f, 0.007371f, -0.004280f, 0.002498f, -0.003563f, -0.007793f, 0.001082f, -0.024791f, -0.015691f, 0.000016f, 0.031289f, -0.005443f, 0.014124f, 0.029082f, -0.023681f, 0.010906f, -0.038174f, 0.023827f, -0.023236f, -0.011165f, 0.037938f, 0.013137f, 0.040863f, -0.016842f, 0.000754f, -0.017883f, 0.012160f, 0.052201f, 0.013790f, 0.017953f, -0.025687f, -0.004634f, 0.001779f, 0.020317f, 0.018101f, 0.033533f, -0.026477f, -0.009003f, -0.028854f, -0.024531f, 0.002345f, 0.002395f, 0.017878f, -0.016635f, 0.012670f, -0.039493f, 0.025489f, 0.019318f, 0.009507f, -0.006412f, -0.004215f, 0.002928f, 0.012360f, 0.004256f, 0.003845f, 0.000126f, 0.027608f, 0.023549f, + 0.010546f, 0.002405f, -0.020006f, -0.019885f, 0.056444f, 0.002390f, 0.007499f, 0.031492f, 0.014320f, -0.008515f, -0.006066f, 0.020144f, 0.040798f, -0.028879f, -0.011633f, -0.032585f, -0.030040f, 0.039706f, 0.018161f, 0.000712f, -0.007205f, 0.013367f, 0.030499f, 0.019428f, 0.031455f, 0.008939f, -0.013263f, 0.022705f, -0.015464f, -0.040691f, 0.012673f, 0.001767f, 0.001242f, 0.000397f, 0.017729f, 0.029967f, -0.005491f, 0.016000f, 0.018028f, 0.016180f, 0.002441f, 0.003816f, 0.015875f, 0.000483f, -0.004178f, -0.003067f, -0.005865f, 0.015239f, -0.008129f, -0.002212f, 0.004322f, 0.008718f, 0.001784f, -0.001116f, 0.016535f, 0.003608f, -0.002827f, 0.012295f, 0.015845f, 0.007301f, -0.005812f, 0.000195f, -0.002296f, 0.004958f, 0.000711f, 0.000304f, 0.000145f, -0.003275f, 0.005894f, 0.002297f, 0.001922f, 0.005429f, 0.007385f, -0.000966f, -0.006833f, -0.002635f, -0.000371f, 0.009245f, 0.003756f, 0.001548f, -0.001236f, 0.012163f, -0.026045f, -0.019449f, -0.007585f, -0.024239f, 0.027393f, -0.003051f, -0.006906f, -0.023086f, -0.003778f, -0.021496f, -0.053221f, 0.009274f, -0.006486f, -0.016802f, + 0.012131f, -0.028258f, -0.001628f, -0.015444f, -0.042634f, -0.009790f, -0.018440f, -0.020247f, 0.034246f, -0.009152f, -0.012226f, -0.006228f, -0.000681f, -0.008689f, -0.011953f, -0.001967f, 0.009122f, 0.028862f, 0.021894f, -0.000870f, -0.001561f, -0.048544f, 0.003089f, 0.006566f, 0.020010f, -0.011260f, -0.009944f, 0.073504f, -0.012504f, -0.036045f, -0.034810f, 0.030434f, -0.020293f, 0.008722f, -0.041276f, 0.010218f, -0.011471f, -0.022259f, -0.019009f, -0.047212f, 0.007727f, 0.013430f, 0.033666f, 0.009755f, -0.017980f, 0.026298f, 0.003292f, 0.024728f, 0.027780f, 0.079430f, 0.021511f, 0.005409f, -0.030753f, -0.034781f, -0.009137f, 0.003576f, -0.004237f, -0.031497f, 0.014283f, 0.036263f, 0.008605f, 0.025754f, 0.040303f, 0.035802f, -0.015051f, -0.028905f, -0.019457f, 0.002394f, 0.006587f, -0.003668f, -0.030315f, 0.005743f, -0.024609f, 0.007444f, -0.010796f, 0.001469f, -0.013480f, 0.008845f, -0.002043f, 0.005566f, 0.000983f, -0.006016f, -0.013764f, -0.003387f, -0.000098f, 0.008032f, 0.011627f, 0.008803f, 0.013368f, 0.000578f, 0.011482f, 0.019414f, 0.000741f, 0.003533f, 0.011303f, 0.003623f, + -0.009643f, -0.005860f, -0.016616f, -0.005190f, 0.010455f, 0.005548f, 0.001556f, -0.002433f, 0.006749f, 0.003414f, -0.003257f, -0.008104f, -0.014449f, 0.001735f, 0.002660f, -0.002311f, -0.004497f, -0.001324f, -0.004871f, -0.010617f, -0.032075f, -0.013846f, -0.004925f, 0.009964f, -0.011694f, 0.019163f, -0.009872f, -0.013093f, 0.037151f, 0.019355f, 0.042240f, 0.000605f, -0.012209f, -0.016583f, 0.044782f, -0.038352f, -0.014289f, 0.052279f, -0.031452f, 0.010514f, 0.010915f, 0.013624f, 0.003116f, 0.029419f, -0.009106f, 0.026486f, -0.009969f, 0.005860f, 0.006356f, -0.013493f, 0.019659f, -0.029632f, -0.020651f, -0.019196f, -0.008825f, -0.026326f, -0.048653f, -0.008772f, -0.014543f, 0.007841f, -0.012512f, -0.064607f, 0.018024f, 0.040744f, -0.002311f, -0.008548f, 0.063649f, -0.078703f, -0.017019f, 0.044063f, -0.010740f, 0.034220f, -0.025025f, -0.015443f, 0.011874f, -0.075099f, 0.024366f, -0.025498f, 0.037647f, 0.027752f, -0.039952f, 0.079050f, 0.011685f, 0.004308f, -0.004008f, 0.031227f, -0.057070f, 0.023507f, -0.002647f, -0.008938f, 0.015346f, -0.036781f, 0.052292f, 0.047564f, -0.087612f, 0.012733f, + -0.017404f, -0.082137f, -0.014122f, -0.036592f, 0.020295f, 0.005335f, 0.014310f, -0.033074f, 0.051685f, -0.004910f, -0.013810f, 0.024002f, -0.000938f, 0.017096f, -0.003555f, 0.026906f, 0.000702f, 0.013493f, 0.004212f, -0.001020f, -0.002785f, 0.015114f, -0.010762f, -0.011996f, 0.000334f, -0.014118f, 0.021452f, -0.004509f, -0.011016f, 0.001313f, 0.009911f, 0.004891f, 0.010222f, 0.004102f, 0.024887f, 0.006045f, -0.013412f, 0.025895f, -0.013874f, 0.014806f, 0.022235f, -0.006012f, 0.005068f, 0.015714f, -0.010611f, 0.015455f, 0.002504f, 0.048380f, -0.021567f, -0.062246f, -0.062451f, 0.005025f, 0.007829f, -0.027419f, 0.016397f, -0.034713f, 0.011244f, -0.015697f, 0.032251f, 0.041288f, 0.001427f, 0.039949f, 0.036359f, -0.020089f, -0.000425f, -0.025719f, -0.006388f, -0.005979f, 0.014095f, -0.002453f, -0.003890f, -0.004244f, -0.041684f, -0.063092f, -0.025306f, 0.033056f, 0.025587f, -0.027021f, -0.031089f, 0.018300f, 0.018550f, -0.040998f, 0.020829f, -0.027245f, -0.004991f, 0.031888f, 0.044249f, 0.000414f, -0.026055f, 0.017004f, 0.003480f, 0.027620f, 0.004886f, 0.023067f, 0.023819f, -0.006577f, + -0.090404f, 0.010377f, 0.002502f, 0.036753f, -0.013206f, 0.037483f, 0.037161f, -0.024640f, -0.122536f, -0.016318f, 0.005165f, -0.014602f, 0.073926f, 0.077549f, 0.054148f, 0.077061f, -0.019748f, 0.036315f, -0.030193f, 0.051558f, 0.036190f, -0.060429f, 0.076706f, -0.078987f, -0.067245f, -0.063382f, 0.020368f, 0.047968f, 0.039975f, 0.013520f, -0.049462f, 0.045996f, 0.006564f, -0.016281f, -0.021073f, 0.002883f, 0.043451f, -0.033295f, -0.013205f, 0.066281f, 0.012413f, 0.030413f, 0.005995f, 0.003400f, 0.016486f, -0.024784f, 0.013662f, -0.010017f, 0.000719f, 0.006965f, -0.006164f, -0.012751f, -0.008313f, -0.011136f, -0.024883f, 0.005821f, 0.023508f, -0.004443f, 0.024035f, 0.018634f, -0.015013f, -0.011871f, -0.011068f, 0.014914f, 0.009471f, -0.030426f, -0.017508f, 0.001795f, 0.001744f, -0.004367f, 0.004315f, 0.020283f, -0.000239f, 0.016169f, 0.001912f, -0.011631f, -0.048373f, -0.091572f, 0.019519f, 0.034057f, -0.004724f, 0.046735f, 0.018031f, -0.057686f, -0.014396f, 0.012528f, 0.014461f, 0.016156f, -0.011491f, 0.027055f, 0.002497f, -0.017058f, -0.007714f, 0.009777f, 0.038391f, 0.050042f, + 0.037862f, 0.059971f, -0.057249f, -0.015729f, -0.014706f, -0.058551f, -0.013892f, 0.010335f, 0.003194f, 0.006765f, -0.023226f, -0.026278f, 0.030078f, 0.067376f, -0.031591f, 0.034890f, -0.022496f, 0.009243f, -0.020735f, -0.003357f, -0.052162f, -0.018834f, -0.002812f, -0.072285f, -0.042227f, -0.070738f, -0.059747f, 0.039942f, 0.093750f, 0.074906f, 0.002356f, -0.004467f, 0.000413f, -0.016598f, -0.032022f, -0.113245f, -0.037773f, -0.016048f, 0.009417f, 0.005088f, -0.039886f, -0.027753f, 0.014872f, 0.050170f, 0.029944f, 0.016330f, 0.032810f, 0.056243f, 0.022084f, -0.055829f, 0.043048f, -0.032972f, -0.017242f, 0.033460f, 0.074930f, 0.016331f, 0.096031f, -0.022634f, -0.099533f, -0.011303f, -0.032025f, -0.060897f, 0.092337f, 0.026378f, 0.030145f, 0.000034f, -0.008050f, 0.026887f, 0.022172f, 0.001491f, -0.003577f, -0.015790f, -0.003070f, -0.004542f, 0.025352f, 0.030632f, 0.036509f, -0.003925f, -0.001180f, -0.001260f, -0.001156f, 0.024028f, -0.010060f, -0.007784f, -0.013827f, -0.010778f, 0.013709f, -0.002577f, -0.000259f, 0.004230f, 0.008811f, 0.014204f, 0.017510f, -0.002224f, -0.010110f, -0.017816f, + 0.009197f, 0.003571f, 0.008689f, 0.022692f, 0.019929f, -0.009803f, 0.005187f, 0.010330f, -0.017274f, -0.005185f, -0.003795f, -0.016623f, -0.007505f, -0.000550f, 0.015487f, -0.039211f, -0.064156f, 0.039542f, -0.006322f, -0.038790f, 0.018568f, 0.041936f, 0.036298f, -0.074941f, -0.064756f, 0.016028f, -0.030147f, 0.007543f, 0.036478f, -0.020019f, -0.014791f, 0.060371f, 0.016299f, -0.008553f, -0.019364f, -0.017300f, 0.022583f, -0.013741f, -0.002793f, -0.001916f, -0.024751f, -0.009655f, -0.041105f, -0.054695f, 0.019353f, 0.029642f, -0.034586f, 0.025043f, 0.017096f, -0.012049f, -0.024037f, 0.003534f, 0.042990f, 0.024683f, 0.007634f, -0.043305f, -0.048405f, -0.023672f, 0.012910f, 0.053892f, -0.040636f, -0.021597f, -0.018548f, 0.032122f, 0.086940f, 0.022894f, -0.085287f, -0.019077f, -0.010150f, 0.043580f, 0.000858f, 0.022499f, -0.011250f, -0.020354f, -0.018995f, -0.048375f, 0.044814f, 0.047461f, 0.019060f, 0.050188f, -0.015890f, 0.032406f, -0.015213f, -0.036488f, -0.040344f, -0.043148f, 0.007476f, -0.080651f, 0.084287f, -0.004121f, -0.032179f, -0.046693f, -0.038209f, -0.002726f, -0.025061f, -0.007685f, + -0.044426f, -0.027512f, -0.078846f, -0.022053f, -0.051987f, 0.018979f, -0.018535f, 0.015186f, 0.017539f, 0.018780f, -0.013122f, 0.043372f, -0.009990f, 0.031383f, 0.001061f, 0.007453f, -0.002563f, 0.013581f, -0.006829f, -0.017567f, 0.003478f, 0.004879f, 0.016106f, -0.026160f, -0.009196f, 0.006612f, -0.025776f, -0.000033f, 0.009325f, -0.032198f, -0.014142f, 0.007556f, -0.004546f, -0.024690f, -0.038083f, -0.022933f, 0.013794f, -0.007335f, 0.017361f, 0.004100f, 0.000599f, 0.025677f, 0.001716f, 0.022074f, 0.008517f, 0.013722f, 0.051659f, 0.030900f, -0.014607f, 0.007794f, 0.065210f, 0.048916f, 0.018649f, 0.009577f, 0.030646f, 0.027733f, -0.044416f, -0.064016f, 0.021658f, 0.049780f, 0.071325f, 0.000260f, -0.016064f, -0.044747f, -0.026291f, 0.029846f, -0.000940f, -0.038234f, -0.076855f, -0.076929f, 0.016102f, -0.023256f, 0.042983f, -0.088619f, -0.029283f, 0.017007f, 0.012665f, 0.016637f, -0.028053f, 0.012642f, -0.002436f, -0.016820f, -0.003353f, -0.041714f, 0.038237f, 0.047018f, 0.035058f, -0.056100f, -0.029915f, -0.001561f, 0.018911f, 0.027877f, 0.030051f, 0.023900f, -0.006352f, -0.004209f, + -0.007600f, 0.039750f, 0.110886f, 0.069820f, -0.057772f, -0.057031f, -0.036135f, -0.073404f, 0.086194f, 0.045758f, -0.026728f, -0.076142f, -0.072746f, 0.082494f, 0.050880f, 0.010855f, 0.063648f, -0.066345f, -0.007314f, 0.003873f, -0.017033f, 0.006222f, -0.024633f, -0.067121f, 0.016619f, -0.051360f, 0.068379f, 0.064422f, -0.024679f, -0.011722f, 0.000748f, 0.007185f, 0.072776f, 0.074230f, -0.118059f, -0.066083f, -0.037934f, 0.014657f, 0.033178f, 0.031875f, -0.045735f, -0.049280f, -0.057944f, -0.007394f, 0.060108f, 0.001119f, 0.011976f, -0.013935f, -0.064086f, 0.014550f, -0.026859f, -0.033773f, 0.014672f, 0.112052f, 0.037990f, -0.021252f, -0.028734f, -0.027139f, -0.022173f, 0.029245f, 0.035103f, 0.040303f, -0.007247f, 0.025914f, -0.039678f, 0.009351f, 0.014544f, 0.017835f, -0.014242f, 0.007466f, 0.033265f, -0.008886f, -0.009336f, -0.005839f, 0.032848f, 0.021005f, 0.051104f, 0.012555f, -0.018062f, -0.014020f, 0.018996f, 0.062761f, 0.051461f, 0.010384f, -0.037718f, -0.046871f, -0.014861f, -0.011534f, 0.011158f, -0.023191f, 0.043423f, -0.071041f, 0.061891f, 0.091249f, 0.099055f, -0.111717f, + 0.020515f, -0.003550f, -0.009594f, 0.047227f, -0.020168f, -0.033244f, 0.032739f, 0.016600f, 0.067899f, -0.007023f, -0.053752f, 0.001516f, -0.024523f, 0.040001f, -0.061757f, -0.021995f, -0.029014f, -0.041284f, 0.056412f, -0.041381f, -0.005840f, 0.038699f, 0.022574f, -0.013839f, -0.021546f, -0.057957f, 0.007507f, 0.075988f, 0.046416f, -0.003440f, 0.022691f, -0.017349f, 0.062248f, -0.042103f, 0.028786f, -0.023326f, 0.038697f, 0.064015f, -0.014201f, -0.041908f, 0.020661f, -0.057085f, 0.094280f, 0.010832f, -0.049916f, -0.017342f, -0.077918f, 0.009716f, 0.111818f, -0.020586f, -0.065644f, -0.046166f, 0.068598f, 0.020201f, -0.035860f, -0.002093f, 0.017765f, 0.038163f, 0.094258f, -0.077084f, 0.034336f, 0.076882f, -0.011567f, -0.091504f, -0.088189f, -0.052018f, 0.154827f, -0.113527f, 0.038495f, -0.119561f, -0.057172f, 0.248736f, 0.024097f, -0.108939f, -0.104197f, -0.120634f, 0.151883f, 0.019190f, -0.028529f, -0.120897f, -0.028783f, 0.037292f, 0.122964f, -0.044405f, 0.013546f, -0.053503f, 0.018442f, 0.074164f, 0.045684f, -0.067146f, 0.031702f, 0.011802f, 0.029125f, 0.025216f, -0.067527f, 0.001850f, + -0.015844f, -0.026123f, 0.013680f, -0.025363f, -0.049684f, 0.018644f, -0.014456f, 0.064441f, 0.009956f, -0.060331f, -0.067966f, -0.022310f, 0.002211f, 0.051797f, 0.039736f, 0.008602f, -0.031510f, 0.012855f, -0.000950f, -0.026009f, 0.002207f, 0.032671f, 0.029738f, 0.006545f, -0.049883f, 0.011838f, 0.020087f, 0.031148f, 0.028815f, 0.019747f, 0.040543f, -0.104954f, 0.018372f, -0.094300f, 0.041609f, 0.044559f, 0.088024f, 0.038943f, 0.020170f, 0.023008f, -0.027463f, -0.067339f, -0.046846f, -0.044232f, 0.018854f, 0.010938f, -0.011495f, 0.040220f, 0.062071f, -0.027821f, -0.039033f, 0.043089f, 0.007640f, -0.057484f, -0.013243f, 0.025977f, -0.047421f, -0.008416f, 0.010439f, 0.024082f, 0.012829f, 0.034076f, 0.058467f, 0.010282f, -0.037335f, -0.004361f, 0.011238f, -0.029684f, -0.013278f, 0.027295f, -0.020809f, -0.037573f, 0.052149f, -0.012648f, -0.012958f, -0.020826f, -0.020542f, 0.033764f, 0.008587f, 0.007669f, 0.045003f, -0.021589f, -0.034822f, -0.002085f, 0.003321f, -0.014823f, 0.011486f, -0.002519f, -0.012421f, -0.002310f, -0.043903f, 0.009715f, 0.008564f, -0.007535f, 0.023614f, 0.015892f, + 0.008236f, 0.010497f, -0.045342f, 0.053579f, -0.020120f, -0.019491f, 0.016412f, -0.049151f, 0.015952f, -0.036830f, 0.004253f, -0.029155f, 0.009421f, 0.012738f, 0.019843f, 0.001690f, 0.017599f, 0.026494f, -0.010283f, -0.006087f, 0.014722f, -0.000991f, -0.009370f, 0.008009f, 0.001858f, -0.006219f, -0.009427f, -0.008639f, -0.005668f, 0.019092f, -0.018364f, 0.018514f, 0.001264f, 0.004943f, 0.009297f, 0.005440f, 0.013550f, -0.000863f, -0.000382f, -0.008403f, -0.001842f, -0.011542f, 0.023062f, 0.001576f, -0.010356f, -0.017000f, -0.005526f, 0.008818f, -0.016504f, 0.021747f, -0.010629f, -0.027917f, 0.001576f, 0.011646f, -0.001613f, -0.000956f, 0.002851f, -0.013285f, -0.048676f, 0.078932f, -0.003980f, 0.044724f, -0.040398f, 0.005110f, -0.007231f, 0.014189f, 0.012845f, 0.024010f, -0.012111f, 0.017691f, -0.010840f, 0.009785f, -0.001655f, 0.007757f, 0.019120f, -0.002275f, 0.029595f, -0.011772f, 0.022387f, 0.001245f, -0.000838f, -0.008266f, 0.014375f, -0.011292f, 0.012997f, -0.007520f, 0.001011f, -0.006228f, 0.007168f, -0.005074f, 0.016884f, -0.005170f, -0.011639f, 0.026949f, -0.018481f, 0.014119f, + 0.011432f, 0.004197f, 0.013148f, -0.016421f, -0.011325f, 0.012399f, 0.011661f, -0.007194f, -0.001426f, 0.013216f, -0.001056f, -0.018285f, 0.008196f, -0.009266f, 0.009562f, 0.012831f, 0.006149f, 0.004427f, 0.004267f, -0.019692f, 0.009780f, 0.005613f, -0.005832f, 0.007273f, -0.009166f, 0.004553f, -0.004495f, -0.000853f, -0.002358f, 0.006936f, 0.013420f, -0.018373f, 0.016568f, -0.003210f, -0.006356f, 0.009489f, -0.012684f, 0.006116f, 0.009168f, -0.002191f, -0.004515f, 0.006344f, -0.002379f, 0.003739f, -0.001590f, -0.006525f, -0.000877f, 0.007078f, -0.001734f, 0.002753f, -0.001314f, -0.004783f, 0.003251f, 0.002869f, 0.005107f, -0.006951f, 0.005737f, -0.000461f, -0.002744f, 0.006626f, -0.007245f, 0.011557f, 0.006017f, -0.004314f, 0.011918f, -0.000895f, -0.004508f, 0.000475f, -0.004502f, 0.007045f, -0.007561f, 0.008078f, 0.003413f, 0.004347f, 0.002188f, -0.004645f, 0.004056f, 0.001815f, 0.001079f, 0.000731f, 0.000487f, -0.001897f, 0.002287f, -0.004866f, 0.006077f, 0.002354f, -0.005383f, 0.019464f, -0.066607f, -0.207300f, -0.030610f, 0.100458f, 0.051886f, 0.244380f, 0.045320f, 0.052433f, + 0.032932f, -0.066018f, -0.092939f, -0.066246f, -0.119098f, -0.102363f, -0.058146f, -0.023929f, 0.067907f, 0.185560f, 0.147130f, 0.126721f, 0.071948f, -0.057300f, -0.093166f, -0.068578f, -0.128334f, -0.121545f, -0.037406f, -0.017192f, -0.028518f, 0.046910f, 0.073412f, 0.048529f, 0.089567f, 0.069210f, 0.021032f, 0.063647f, 0.012808f, -0.009653f, 0.005680f, -0.038636f, -0.101411f, -0.086207f, -0.073317f, -0.102769f, -0.043178f, 0.029794f, 0.020393f, 0.065519f, 0.074173f, 0.064836f, 0.066517f, 0.067964f, 0.042977f, 0.042046f, 0.004412f, -0.038047f, -0.070942f, -0.048475f, -0.066796f, -0.088201f, -0.043562f, -0.040568f, -0.033093f, 0.012270f, 0.033178f, 0.031761f, 0.062013f, 0.077576f, 0.037418f, 0.054630f, 0.046594f, -0.013183f, 0.005230f, 0.020850f, -0.026028f, -0.023583f, -0.041637f, -0.074690f, -0.074986f, -0.059582f, -0.061693f, -0.012264f, 0.025703f, 0.017088f, 0.048827f, 0.073306f, 0.057778f, 0.053338f, 0.054845f, 0.036530f, 0.011940f, 0.003290f, -0.017182f, -0.032205f, -0.034579f, -0.051463f, -0.065037f, -0.069224f, -0.059592f, -0.053548f, -0.030624f, 0.006716f, 0.033590f, 0.076933f, + 0.101853f, 0.089334f, 0.074072f, 0.062795f, 0.036302f, 0.007450f, -0.031555f, -0.064948f, -0.088493f, -0.092756f, -0.102223f, -0.075459f, -0.031516f, -0.008107f, 0.021317f, 0.060646f, 0.078398f, 0.084539f, 0.087129f, 0.072774f, 0.030853f, -0.002384f, -0.022577f, -0.049700f, -0.064539f, -0.060687f, -0.053857f, -0.038905f, -0.015924f, 0.001854f, 0.021422f, 0.027689f, 0.021350f, 0.023352f, 0.018637f, 0.012638f, 0.009950f, 0.010186f, 0.003415f, 0.003355f, -0.000877f, -0.005242f, -0.006216f, -0.005552f, -0.007994f, -0.009540f, -0.010060f, -0.008812f, -0.007435f, -0.005041f, -0.001467f, 0.001725f, 0.001781f, 0.001125f, 0.000764f} + }, + { + {-0.006625f, 0.005005f, 0.003148f, -0.006536f, -0.001152f, 0.008345f, 0.002475f, 0.002060f, 0.004601f, -0.001089f, 0.001258f, -0.002171f, -0.008729f, -0.003430f, -0.000435f, -0.001926f, 0.002507f, -0.002702f, -0.000849f, -0.007393f, -0.000012f, 0.001275f, -0.005223f, -0.001136f, -0.006593f, -0.002345f, -0.002104f, -0.007977f, -0.003668f, 0.002539f, 0.003470f, 0.008940f, 0.005286f, 0.011421f, -0.001249f, -0.001863f, 0.001663f, -0.003941f, 0.009919f, 0.000584f, 0.004678f, 0.007872f, 0.001367f, -0.003190f, 0.003206f, -0.004209f, -0.005612f, -0.001409f, -0.002438f, -0.003102f, -0.010353f, -0.003349f, 0.000027f, 0.001607f, 0.003060f, 0.000856f, 0.005229f, -0.005872f, 0.004610f, -0.000047f, 0.001126f, 0.003270f, -0.004108f, -0.009145f, -0.003966f, 0.003880f, 0.005679f, 0.004321f, 0.000334f, 0.004406f, 0.003316f, 0.005995f, 0.002985f, 0.002584f, -0.003999f, 0.000301f, -0.000677f, -0.000805f, -0.003412f, -0.004182f, -0.001840f, -0.000973f, -0.000417f, -0.003225f, -0.000009f, 0.000455f, 0.001220f, 0.000294f, 0.002276f, -0.001256f, 0.001014f, -0.002019f, -0.003085f, 0.001506f, -0.000486f, -0.000078f, + 0.002073f, 0.001478f, 0.001810f, 0.000131f, 0.000132f, -0.001763f, 0.001002f, 0.000328f, 0.000574f, -0.000259f, 0.002819f, -0.000614f, 0.000104f, -0.001232f, -0.001056f, -0.001385f, 0.001164f, -0.000935f, -0.002677f, -0.004789f, 0.004554f, -0.007365f, -0.004526f, 0.011863f, -0.001921f, 0.010488f, -0.005364f, 0.001021f, 0.005188f, 0.002310f, 0.000348f, -0.007038f, -0.009985f, -0.010416f, 0.001123f, 0.000271f, -0.002948f, 0.001417f, -0.009221f, 0.018372f, 0.002078f, -0.010214f, 0.002720f, -0.005349f, -0.005828f, 0.005484f, 0.007790f, -0.000112f, 0.001754f, 0.003724f, -0.000563f, 0.000044f, 0.006116f, -0.003348f, -0.001494f, 0.000371f, 0.011137f, -0.000216f, -0.001302f, -0.004204f, -0.006579f, 0.003436f, -0.001623f, -0.006749f, -0.003051f, -0.008126f, 0.001091f, -0.007370f, 0.000167f, -0.005580f, -0.001845f, -0.004907f, -0.010222f, -0.004186f, -0.000642f, 0.009656f, 0.001420f, -0.002787f, 0.005262f, 0.008842f, 0.001334f, -0.012030f, 0.005544f, -0.000027f, 0.002250f, 0.003959f, -0.002798f, 0.007634f, -0.003805f, -0.006806f, -0.007101f, -0.012572f, 0.001176f, -0.004289f, -0.004464f, -0.005662f, + -0.005937f, -0.000339f, -0.006476f, 0.002056f, -0.001012f, -0.003674f, -0.001363f, -0.004151f, 0.000088f, -0.000179f, -0.004763f, -0.001977f, 0.001931f, -0.000690f, 0.000308f, 0.001072f, 0.000447f, 0.000819f, 0.000605f, -0.001292f, -0.004265f, -0.000766f, -0.001601f, 0.001204f, -0.000546f, 0.000505f, -0.000817f, 0.000037f, -0.000066f, -0.000923f, -0.002678f, -0.002198f, -0.000364f, -0.000969f, -0.001033f, -0.000862f, -0.002007f, -0.000741f, -0.009224f, 0.015442f, -0.003867f, -0.014003f, 0.001085f, 0.004803f, 0.000458f, 0.004428f, 0.003616f, -0.011081f, 0.003981f, -0.002564f, -0.000431f, 0.000475f, -0.002010f, 0.008500f, -0.002598f, -0.005479f, -0.000461f, 0.006799f, 0.004285f, 0.002542f, 0.004004f, 0.016447f, 0.004356f, -0.005606f, 0.007438f, -0.006849f, 0.002300f, -0.005521f, 0.015459f, 0.002435f, -0.005004f, -0.002998f, -0.005017f, -0.001719f, 0.010262f, -0.008149f, -0.006874f, -0.002074f, 0.008502f, 0.004890f, -0.007829f, 0.002244f, 0.001786f, -0.004568f, 0.000242f, -0.016790f, 0.005610f, -0.003851f, -0.003198f, -0.010638f, 0.016172f, 0.000924f, -0.008417f, -0.006606f, -0.008261f, 0.000650f, + -0.001778f, 0.000915f, -0.000045f, -0.009684f, 0.012802f, -0.007220f, -0.006627f, 0.005075f, 0.001372f, 0.005040f, -0.003590f, -0.000748f, -0.007875f, 0.000721f, 0.001722f, -0.010001f, -0.007466f, 0.000739f, -0.006970f, 0.002522f, -0.006234f, -0.001760f, -0.001758f, 0.004457f, -0.008052f, -0.008367f, -0.001711f, -0.001327f, -0.001998f, -0.000539f, -0.003608f, -0.000915f, -0.002626f, -0.002166f, -0.001702f, -0.002610f, -0.003156f, -0.000286f, -0.004238f, 0.001125f, -0.002812f, -0.000011f, 0.000270f, -0.001020f, -0.001596f, -0.000220f, -0.001124f, 0.002187f, -0.000333f, -0.001848f, -0.000109f, -0.003266f, -0.000640f, -0.002003f, 0.000161f, 0.000439f, -0.002240f, 0.013401f, 0.000416f, 0.002899f, -0.011085f, 0.003409f, 0.006369f, 0.004649f, -0.000464f, -0.005559f, 0.014412f, 0.002505f, -0.002871f, 0.006912f, 0.005648f, -0.006737f, 0.008831f, -0.005937f, 0.014563f, 0.002065f, 0.012998f, -0.001418f, 0.002294f, -0.005097f, -0.014715f, 0.001593f, 0.000302f, 0.000505f, -0.002543f, 0.003029f, 0.007771f, -0.001950f, -0.007557f, -0.005003f, -0.010749f, -0.002973f, -0.005293f, -0.005686f, 0.000991f, 0.003705f, + 0.005839f, -0.006912f, 0.004824f, -0.004626f, -0.005748f, -0.000776f, 0.004936f, 0.000925f, 0.001225f, -0.010749f, -0.010370f, -0.001966f, -0.003075f, -0.007859f, 0.017129f, 0.007951f, -0.001082f, 0.003303f, 0.006885f, -0.017279f, -0.008741f, 0.011591f, -0.006460f, 0.010872f, 0.002468f, -0.002263f, -0.011595f, -0.008557f, 0.013791f, 0.007308f, 0.013040f, -0.013693f, -0.000949f, -0.009496f, -0.000757f, 0.003379f, -0.005062f, 0.001615f, 0.001016f, -0.008524f, 0.007661f, 0.000860f, 0.001161f, -0.001388f, -0.015185f, 0.001652f, -0.003655f, -0.004777f, -0.004752f, -0.000917f, 0.002642f, -0.002444f, 0.001178f, -0.005339f, -0.001131f, -0.002444f, 0.003415f, -0.000655f, -0.000411f, -0.001730f, 0.000123f, -0.001808f, 0.001167f, -0.003012f, -0.001445f, 0.001001f, -0.000859f, -0.000184f, -0.000190f, -0.000019f, 0.001404f, 0.000880f, -0.000251f, -0.002111f, -0.002200f, -0.002289f, 0.001979f, 0.000908f, 0.002885f, 0.001521f, 0.001170f, -0.022686f, 0.001085f, -0.003019f, 0.005994f, -0.013777f, 0.004251f, -0.004727f, 0.022696f, -0.006175f, -0.011938f, -0.004451f, -0.010033f, 0.002967f, 0.008353f, -0.002827f, + 0.015830f, 0.001507f, -0.004822f, 0.003717f, 0.001828f, 0.004026f, -0.005766f, -0.001125f, 0.005821f, 0.009230f, 0.003591f, -0.001999f, 0.004379f, -0.008491f, -0.002721f, 0.011639f, 0.008304f, 0.013689f, 0.009697f, -0.000367f, -0.007145f, -0.014879f, 0.010065f, -0.001749f, -0.010863f, 0.005445f, -0.002951f, -0.016651f, 0.000322f, -0.013906f, -0.001202f, 0.012307f, -0.002223f, -0.009398f, -0.004373f, 0.011747f, -0.010412f, -0.017002f, 0.017008f, -0.003366f, -0.004268f, 0.003872f, 0.002066f, 0.001887f, 0.004010f, 0.003984f, 0.002173f, -0.012568f, -0.004826f, 0.009460f, -0.001401f, -0.003827f, 0.002801f, 0.016339f, -0.008460f, -0.009291f, -0.004277f, 0.006607f, 0.003330f, -0.014998f, -0.006702f, -0.005252f, -0.006577f, 0.004741f, -0.000977f, -0.001266f, -0.005618f, -0.004519f, -0.011849f, -0.006907f, 0.002742f, 0.000247f, 0.001778f, -0.000616f, 0.006875f, 0.007067f, 0.001172f, 0.002491f, -0.003708f, 0.000688f, 0.000260f, 0.002804f, -0.004544f, -0.002182f, 0.000473f, -0.000036f, 0.002001f, -0.000228f, -0.002613f, 0.002449f, 0.000886f, -0.005088f, -0.001044f, 0.001290f, 0.000813f, 0.000702f, + -0.001315f, 0.000515f, -0.002481f, -0.002519f, -0.002128f, 0.001111f, -0.001127f, -0.001359f, -0.000428f, -0.019841f, -0.000474f, 0.005242f, 0.018999f, 0.019638f, -0.006399f, 0.009755f, -0.012721f, 0.004117f, 0.008317f, 0.012598f, -0.003745f, 0.018921f, -0.003627f, 0.016042f, -0.008855f, 0.013434f, -0.006839f, -0.022470f, -0.005156f, 0.005553f, -0.007804f, 0.008610f, -0.004921f, -0.005433f, 0.002359f, -0.024624f, -0.008016f, -0.000554f, -0.004344f, -0.001525f, -0.011952f, -0.004150f, -0.004313f, 0.003862f, 0.024980f, 0.014395f, -0.014648f, 0.007921f, 0.019959f, 0.004923f, -0.007109f, 0.004949f, -0.005368f, -0.006012f, 0.014344f, 0.009992f, -0.010112f, -0.001393f, 0.010202f, 0.021450f, -0.007000f, 0.011650f, 0.031828f, 0.013689f, -0.014787f, 0.005903f, 0.003628f, -0.017817f, 0.002581f, -0.014729f, 0.006483f, -0.016046f, -0.003854f, 0.000630f, 0.007491f, -0.010482f, -0.002972f, -0.005211f, -0.009579f, 0.012248f, 0.010467f, -0.000605f, -0.007044f, 0.001875f, 0.001795f, 0.001715f, 0.002886f, 0.009099f, 0.001716f, -0.012149f, -0.000286f, 0.014720f, 0.000397f, 0.003294f, 0.002907f, 0.004454f, + -0.004659f, -0.002154f, -0.007449f, -0.003153f, -0.006859f, -0.000573f, 0.003995f, -0.000891f, -0.003906f, 0.002156f, -0.000832f, 0.000848f, -0.002138f, -0.001442f, 0.002696f, -0.000206f, 0.006517f, 0.001608f, -0.001442f, 0.003468f, -0.000121f, -0.001540f, -0.002513f, -0.003339f, 0.001425f, -0.001763f, -0.000934f, 0.001722f, -0.000201f, 0.003081f, 0.000150f, -0.004011f, 0.008729f, -0.004275f, -0.019986f, 0.004660f, -0.016048f, 0.002637f, -0.005292f, 0.020841f, -0.010522f, 0.002975f, 0.005510f, 0.002103f, 0.007588f, -0.003018f, 0.022806f, 0.001825f, -0.014728f, -0.002707f, -0.010851f, -0.001705f, -0.003507f, -0.010153f, -0.012764f, -0.003245f, -0.008208f, -0.003854f, 0.014602f, 0.005458f, -0.012282f, 0.004847f, -0.014675f, -0.002746f, 0.010734f, -0.020033f, -0.017690f, 0.010128f, 0.009505f, 0.004953f, -0.000575f, -0.012150f, 0.004857f, -0.005971f, -0.011491f, -0.005281f, 0.000646f, 0.003686f, 0.019085f, -0.007477f, -0.002138f, 0.001050f, 0.008908f, 0.004723f, -0.006588f, -0.008483f, -0.015271f, -0.004624f, -0.003374f, -0.008368f, -0.009793f, 0.006290f, 0.012750f, -0.000020f, -0.008132f, 0.014147f, + 0.002722f, -0.006920f, 0.001743f, -0.002021f, -0.001823f, -0.004815f, -0.002741f, 0.009201f, -0.007274f, -0.010873f, -0.006287f, 0.005759f, -0.008437f, 0.014954f, 0.006685f, -0.002418f, -0.006113f, -0.006892f, 0.004244f, 0.009309f, 0.018982f, -0.005436f, 0.009718f, 0.000373f, -0.000030f, 0.001090f, 0.003053f, -0.003444f, 0.000093f, 0.002398f, 0.004000f, -0.002451f, 0.002801f, -0.002096f, 0.009204f, 0.003568f, 0.006923f, 0.000141f, 0.004707f, -0.000191f, 0.004180f, -0.000768f, -0.000372f, 0.004926f, 0.001850f, 0.000655f, 0.002587f, 0.000637f, 0.004818f, -0.003499f, 0.001137f, 0.003354f, 0.004430f, 0.003879f, -0.001458f, -0.004816f, -0.000066f, 0.003144f, 0.000681f, 0.000632f, 0.003983f, 0.010361f, 0.019768f, -0.014744f, -0.000515f, 0.013461f, -0.006441f, -0.009663f, 0.012380f, -0.019533f, -0.001192f, 0.003609f, -0.002539f, -0.007288f, -0.008596f, -0.004138f, 0.003383f, -0.001052f, 0.009354f, 0.004708f, -0.003123f, -0.007446f, -0.005428f, 0.015387f, 0.000607f, -0.018820f, 0.008778f, -0.011907f, -0.011662f, 0.007146f, 0.013559f, 0.013812f, 0.010493f, -0.000339f, 0.007094f, 0.004817f, + 0.006698f, -0.006174f, -0.000304f, -0.005568f, -0.013540f, 0.005690f, -0.003490f, -0.000748f, -0.002980f, 0.001312f, -0.002231f, 0.014959f, 0.027851f, 0.004580f, -0.004819f, -0.000088f, -0.019879f, 0.019294f, -0.013551f, -0.008807f, -0.013040f, -0.015996f, 0.027075f, 0.001474f, -0.015032f, -0.005455f, 0.018686f, 0.009623f, -0.014144f, -0.010586f, 0.021418f, 0.001723f, 0.002223f, 0.027672f, -0.013207f, 0.007597f, -0.009915f, -0.027475f, 0.012923f, 0.013220f, 0.002224f, -0.015865f, -0.002210f, -0.003451f, 0.003300f, -0.006889f, 0.010075f, 0.006187f, -0.021702f, 0.009215f, 0.010428f, 0.013258f, 0.002316f, -0.011623f, 0.019447f, 0.003286f, -0.001700f, -0.001504f, -0.006485f, -0.006863f, -0.002432f, 0.001215f, 0.005894f, -0.000029f, 0.000510f, -0.000641f, -0.005190f, 0.002180f, 0.002387f, 0.001018f, -0.002361f, -0.001460f, 0.003961f, 0.001382f, 0.004507f, -0.002942f, 0.001093f, -0.006833f, 0.000812f, 0.006399f, -0.008572f, 0.001166f, -0.006706f, 0.007826f, -0.003229f, -0.000215f, -0.005210f, -0.000068f, 0.004593f, -0.000582f, 0.006248f, -0.000022f, 0.009333f, 0.011936f, 0.022155f, 0.020287f, + -0.000845f, 0.017293f, 0.007751f, 0.017636f, 0.017035f, -0.028407f, 0.010245f, -0.009210f, -0.012311f, -0.008983f, -0.002717f, -0.018123f, -0.003828f, 0.004401f, -0.015509f, -0.031785f, 0.007227f, -0.002258f, -0.028650f, -0.021023f, -0.018781f, -0.010494f, 0.000984f, -0.005395f, 0.006760f, -0.003796f, 0.011340f, 0.022171f, -0.012740f, 0.007530f, -0.005030f, -0.010183f, -0.007433f, 0.001338f, -0.002212f, -0.000934f, 0.016496f, -0.000699f, 0.016630f, 0.021578f, 0.006418f, 0.009282f, 0.014262f, -0.001887f, 0.002862f, -0.021336f, 0.019901f, -0.017404f, -0.006151f, -0.005556f, 0.001737f, -0.004822f, -0.016622f, -0.014637f, -0.032086f, 0.029033f, -0.032776f, -0.031758f, 0.005340f, 0.030448f, 0.010781f, -0.003950f, -0.007689f, 0.013996f, -0.015401f, 0.017510f, -0.005144f, 0.002216f, 0.001780f, -0.011644f, 0.012184f, -0.013754f, -0.011251f, -0.001333f, 0.004373f, -0.013140f, -0.002097f, 0.007033f, -0.001084f, -0.003618f, 0.009358f, -0.006234f, -0.011828f, -0.002739f, 0.005907f, -0.007840f, -0.004612f, -0.005377f, -0.001238f, 0.003524f, -0.002578f, 0.001036f, -0.002005f, -0.004317f, 0.001172f, -0.002790f, + 0.002681f, -0.002915f, 0.003904f, -0.001231f, 0.007328f, -0.001100f, 0.002803f, 0.003983f, -0.002613f, -0.005036f, -0.000580f, -0.001270f, -0.000348f, -0.001590f, 0.003375f, 0.000127f, 0.004381f, -0.004026f, 0.001510f, -0.008577f, 0.000323f, 0.000312f, -0.003188f, 0.002529f, 0.013295f, 0.017320f, 0.017313f, 0.018846f, 0.044421f, 0.019958f, 0.025391f, -0.012536f, 0.041118f, -0.023465f, 0.001137f, 0.009075f, -0.000179f, -0.015452f, 0.005142f, -0.004261f, -0.035039f, 0.013296f, -0.008819f, 0.003779f, -0.003274f, -0.011597f, 0.000032f, 0.010440f, -0.014143f, -0.007331f, -0.002196f, 0.008260f, -0.021368f, 0.013565f, 0.005126f, -0.019578f, -0.001519f, 0.008010f, -0.017744f, 0.006672f, -0.021282f, 0.009849f, -0.001813f, -0.006870f, -0.000813f, -0.013892f, 0.017906f, 0.021163f, -0.020142f, -0.011499f, 0.009159f, -0.007159f, 0.005642f, 0.005122f, 0.001372f, 0.000700f, 0.024413f, -0.006132f, -0.016290f, 0.015129f, -0.000605f, -0.012815f, -0.010765f, -0.020249f, 0.003926f, 0.005552f, 0.010153f, 0.009755f, -0.009351f, -0.015727f, 0.008831f, 0.004428f, 0.030511f, 0.003236f, -0.003764f, 0.000792f, + 0.002055f, -0.008978f, -0.004009f, -0.011261f, 0.012508f, 0.007241f, 0.008152f, -0.002372f, -0.019477f, -0.017751f, -0.005809f, -0.001560f, -0.006986f, -0.012296f, 0.003482f, -0.005374f, 0.008063f, 0.001434f, -0.001288f, 0.005023f, 0.005204f, 0.008279f, 0.007757f, 0.006256f, -0.000035f, -0.001844f, 0.002219f, 0.005569f, 0.004305f, -0.002464f, -0.002333f, -0.001550f, 0.001431f, -0.000004f, -0.001520f, 0.000110f, -0.009582f, 0.001191f, 0.006280f, 0.004817f, -0.007464f, -0.005367f, 0.010730f, 0.005750f, 0.010641f, 0.004213f, -0.007757f, 0.007394f, -0.001887f, -0.005863f, 0.001156f, -0.008373f, -0.004597f, -0.002125f, 0.003222f, -0.001671f, -0.023995f, -0.026966f, 0.044971f, 0.031356f, 0.040202f, 0.002558f, -0.025817f, 0.009084f, 0.020976f, 0.014931f, -0.006595f, -0.016339f, -0.004816f, -0.006013f, -0.007935f, -0.014069f, -0.005652f, -0.011819f, 0.029976f, 0.004782f, 0.004940f, 0.000216f, 0.001736f, 0.003173f, -0.011098f, 0.019836f, 0.011195f, -0.001196f, 0.007205f, -0.002840f, 0.020417f, 0.003753f, -0.001822f, -0.033438f, -0.002486f, 0.002087f, 0.003172f, -0.006273f, 0.004168f, -0.015846f, + 0.027119f, 0.021965f, 0.021199f, 0.018501f, -0.014571f, -0.020170f, 0.015454f, 0.004754f, 0.007550f, -0.001339f, -0.023479f, -0.016986f, 0.001343f, -0.013245f, 0.000144f, -0.011126f, -0.004848f, 0.014066f, 0.004468f, -0.010061f, 0.003586f, -0.025955f, 0.000783f, -0.043995f, -0.022363f, -0.041567f, 0.035871f, 0.032330f, 0.034508f, 0.041825f, 0.020249f, -0.006932f, -0.018568f, -0.005640f, -0.001038f, 0.005996f, 0.033131f, -0.010956f, -0.025192f, 0.019200f, -0.016037f, 0.008357f, -0.003681f, -0.003633f, 0.007762f, -0.007476f, -0.013631f, -0.003864f, -0.016781f, -0.003569f, -0.015090f, -0.003477f, 0.002103f, -0.001342f, -0.001829f, -0.004109f, -0.005273f, -0.010427f, -0.000169f, 0.005453f, 0.000842f, -0.005259f, 0.001822f, 0.009085f, -0.001238f, 0.006069f, 0.003323f, 0.003586f, 0.002544f, -0.012055f, 0.010531f, -0.004671f, -0.003835f, 0.007059f, 0.002427f, 0.007806f, 0.000786f, -0.010040f, -0.001876f, 0.000199f, 0.001731f, -0.006153f, -0.015958f, -0.021473f, 0.018929f, 0.024562f, -0.012068f, 0.022805f, 0.003214f, -0.009688f, 0.009170f, -0.033061f, -0.010260f, 0.009321f, -0.010536f, -0.020276f, + -0.038213f, 0.018770f, -0.016422f, 0.004417f, 0.024749f, 0.005938f, 0.028858f, 0.022076f, 0.012549f, 0.004736f, -0.017046f, -0.005005f, -0.008925f, 0.001559f, 0.016071f, 0.008376f, 0.003316f, 0.013720f, 0.039237f, -0.002051f, -0.033375f, -0.014657f, 0.005391f, 0.008010f, -0.001913f, 0.000826f, 0.003158f, -0.014238f, 0.000875f, -0.031414f, 0.007064f, -0.032863f, -0.011984f, -0.025448f, 0.012528f, -0.012696f, -0.020881f, 0.031860f, 0.008935f, 0.002596f, -0.014341f, -0.019116f, 0.004772f, 0.007574f, 0.002807f, 0.010381f, -0.016292f, 0.035818f, -0.043493f, 0.011313f, -0.018129f, -0.026401f, -0.014791f, 0.022796f, 0.006870f, -0.024750f, 0.017484f, -0.019710f, 0.048310f, -0.004504f, -0.005303f, -0.023501f, 0.002813f, -0.031351f, -0.016819f, 0.041823f, -0.016836f, -0.018995f, -0.012403f, 0.012505f, 0.001572f, 0.017727f, 0.008837f, 0.009267f, 0.012922f, 0.007022f, -0.001185f, 0.001334f, 0.006164f, 0.002640f, -0.003416f, 0.010384f, -0.003261f, -0.003619f, -0.007825f, -0.007029f, -0.003157f, 0.003832f, -0.006160f, 0.000454f, 0.003014f, -0.002543f, 0.002629f, 0.000486f, 0.010249f, 0.005370f, + -0.000012f, -0.002091f, 0.000019f, -0.000746f, 0.006125f, -0.005445f, 0.005557f, -0.001537f, 0.002461f, 0.008585f, -0.002717f, 0.000449f, -0.001183f, -0.004321f, 0.010517f, -0.001481f, 0.045440f, 0.046759f, 0.044104f, 0.009411f, -0.011828f, -0.007378f, -0.028415f, 0.023073f, 0.000678f, 0.013539f, -0.008503f, 0.004352f, -0.010391f, -0.007994f, -0.016431f, 0.008877f, -0.017109f, 0.028095f, -0.073325f, -0.021349f, 0.000525f, -0.022186f, 0.015759f, -0.022804f, 0.004690f, -0.008811f, 0.023060f, 0.004105f, 0.022198f, 0.001611f, -0.005241f, -0.000354f, 0.008125f, -0.025686f, -0.018457f, -0.019980f, -0.002830f, 0.025006f, -0.049321f, 0.017116f, 0.042889f, 0.005276f, -0.031559f, -0.001240f, -0.026581f, -0.025476f, 0.017641f, -0.003335f, -0.021716f, 0.012073f, 0.001802f, -0.008092f, -0.012272f, 0.007023f, 0.017827f, 0.010835f, -0.025224f, -0.018411f, 0.014421f, 0.021745f, -0.017761f, -0.023463f, 0.011560f, 0.024363f, -0.029632f, -0.001024f, -0.026456f, -0.036302f, 0.043178f, -0.007188f, 0.006665f, -0.008103f, 0.026759f, -0.006314f, 0.006546f, -0.014388f, 0.023275f, 0.012915f, 0.021414f, 0.024761f, + -0.024685f, -0.027244f, -0.011105f, -0.005222f, -0.016363f, -0.040991f, 0.004512f, 0.002229f, -0.000027f, -0.003021f, -0.006659f, -0.005516f, 0.011772f, -0.001037f, -0.005087f, 0.010874f, -0.011996f, -0.006382f, 0.004450f, 0.021354f, -0.006486f, -0.006595f, 0.001043f, -0.002701f, 0.007377f, -0.002586f, -0.001192f, -0.003761f, -0.006005f, -0.015001f, -0.021527f, 0.003807f, -0.001526f, -0.016400f, -0.008203f, 0.004315f, -0.005716f, -0.018580f, -0.010344f, -0.001249f, -0.003236f, 0.001482f, 0.005279f, 0.002216f, -0.000042f, 0.015230f, 0.005257f, 0.023972f, -0.008911f, -0.001189f, -0.035562f, -0.016820f, -0.008538f, -0.030226f, -0.043212f, -0.008450f, -0.014753f, 0.039805f, 0.011629f, 0.059413f, 0.010349f, -0.017663f, 0.007442f, 0.010899f, -0.049409f, 0.002341f, 0.042499f, 0.026833f, -0.028981f, 0.003451f, 0.021013f, -0.039770f, -0.006766f, -0.020137f, 0.016248f, -0.015857f, 0.010557f, 0.002213f, -0.008216f, 0.001679f, -0.000543f, -0.013098f, 0.012957f, -0.027167f, -0.010872f, -0.011929f, -0.033973f, -0.007505f, -0.004856f, 0.000069f, 0.001977f, -0.009611f, -0.010998f, 0.060693f, 0.017967f, -0.024231f, + -0.043726f, -0.016178f, 0.003960f, 0.043727f, -0.011150f, -0.006243f, -0.025148f, -0.007086f, -0.017827f, 0.035752f, -0.029916f, 0.031836f, 0.040555f, -0.041947f, 0.026916f, 0.009818f, -0.018035f, -0.016186f, 0.009581f, 0.018651f, -0.090871f, -0.012529f, -0.000626f, -0.012981f, 0.023357f, -0.012809f, -0.068048f, -0.026896f, -0.020173f, -0.031155f, -0.030257f, 0.004620f, 0.005339f, -0.017951f, -0.015860f, -0.028817f, 0.002408f, -0.011120f, 0.001906f, -0.012925f, -0.014794f, -0.016900f, 0.003232f, -0.004001f, 0.009334f, -0.014747f, 0.006336f, -0.002476f, -0.014845f, -0.030642f, -0.008004f, -0.002534f, 0.009147f, -0.005002f, -0.040273f, 0.007339f, 0.018739f, 0.006886f, -0.001420f, -0.014772f, 0.013622f, -0.002836f, -0.005110f, -0.024874f, -0.004629f, -0.009164f, 0.019355f, -0.003927f, 0.002668f, -0.000789f, 0.003757f, 0.011702f, -0.009731f, -0.000184f, 0.000134f, -0.005351f, 0.000545f, 0.004465f, -0.028984f, -0.025434f, -0.009866f, -0.020777f, -0.014344f, -0.006518f, -0.013090f, -0.016828f, -0.013098f, 0.009969f, 0.059834f, -0.002086f, -0.070317f, -0.039497f, -0.043602f, -0.008429f, -0.024215f, -0.001323f, + -0.035800f, 0.058036f, 0.034487f, -0.006580f, 0.045707f, 0.001017f, 0.049307f, 0.011523f, -0.028735f, -0.039300f, -0.024708f, -0.031787f, -0.014189f, 0.007304f, 0.021209f, -0.007349f, 0.006861f, -0.026356f, 0.004323f, -0.037858f, -0.003494f, -0.002571f, 0.012766f, -0.014504f, 0.059905f, 0.007294f, -0.001642f, 0.039344f, -0.015530f, -0.028711f, -0.016626f, 0.023911f, -0.001917f, -0.016534f, 0.006643f, -0.000737f, 0.051007f, 0.012071f, 0.000133f, -0.020349f, -0.030821f, -0.078381f, 0.005040f, -0.062396f, 0.031333f, 0.105474f, -0.075772f, -0.016812f, 0.017215f, -0.013673f, -0.013302f, -0.021867f, 0.017801f, -0.022445f, -0.073249f, -0.020145f, -0.073027f, -0.015966f, -0.002048f, -0.046519f, -0.006387f, -0.066658f, 0.028735f, -0.007325f, -0.041701f, 0.102096f, 0.008122f, 0.041197f, 0.035303f, 0.055985f, -0.034676f, -0.003083f, -0.020834f, -0.008356f, -0.014034f, 0.026172f, 0.017305f, 0.023423f, -0.049768f, -0.010849f, -0.026974f, -0.035944f, -0.029202f, -0.018873f, -0.003707f, 0.018708f, 0.016411f, 0.010353f, 0.014538f, -0.004843f, 0.004880f, 0.027093f, -0.004901f, 0.026786f, 0.008441f, -0.024910f, + -0.006286f, 0.007686f, -0.010090f, -0.005001f, 0.032848f, -0.000406f, -0.009551f, 0.035493f, -0.016522f, -0.003503f, -0.029624f, -0.008273f, -0.020548f, 0.014765f, -0.015607f, -0.008133f, -0.005681f, 0.005010f, -0.006684f, 0.013188f, 0.000782f, 0.013654f, 0.004562f, -0.006590f, -0.022185f, -0.123700f, -0.013205f, -0.031878f, -0.034851f, 0.044582f, 0.035307f, -0.043585f, -0.034505f, 0.084367f, -0.009928f, 0.027130f, 0.004047f, -0.004788f, -0.010091f, -0.009574f, -0.027832f, -0.000671f, 0.009469f, 0.014804f, 0.009934f, 0.029915f, -0.024102f, -0.000953f, -0.023493f, -0.014196f, 0.009089f, 0.042591f, 0.027329f, 0.037560f, 0.033749f, -0.008032f, 0.012031f, 0.020025f, -0.000233f, -0.035234f, -0.006621f, 0.047849f, -0.008911f, -0.069341f, -0.030643f, 0.007139f, -0.058680f, -0.025692f, -0.060124f, -0.041571f, -0.037671f, 0.054869f, 0.037575f, -0.012476f, 0.037614f, 0.014099f, 0.053167f, 0.035415f, 0.016934f, -0.094472f, -0.021227f, 0.003732f, -0.082842f, -0.060929f, -0.023443f, -0.016582f, -0.096980f, 0.020331f, 0.053270f, 0.071200f, 0.085714f, -0.029448f, -0.056241f, -0.001162f, -0.056736f, -0.042586f, + -0.078697f, -0.087831f, -0.061860f, -0.052510f, 0.057605f, 0.001944f, 0.011400f, -0.053413f, -0.055595f, -0.050259f, -0.005187f, 0.075193f, 0.095974f, 0.001908f, -0.035544f, -0.027808f, -0.039045f, -0.101709f, -0.045384f, -0.045715f, -0.012693f, -0.004629f, -0.023189f, 0.025654f, -0.000400f, -0.008709f, -0.036300f, -0.047801f, -0.024865f, -0.027357f, -0.041768f, -0.010123f, -0.010895f, -0.005004f, -0.011478f, -0.019949f, 0.024730f, 0.014487f, -0.002976f, -0.023875f, 0.016186f, 0.026344f, 0.001705f, -0.024490f, -0.012679f, 0.018115f, 0.004874f, -0.006274f, -0.022851f, 0.018084f, -0.004890f, -0.008416f, 0.001872f, 0.013790f, 0.003494f, -0.005375f, 0.002003f, 0.010449f, -0.037910f, -0.092075f, 0.036341f, 0.004769f, -0.062487f, 0.059005f, 0.029521f, 0.018401f, -0.013316f, -0.055865f, -0.013700f, 0.001994f, 0.055188f, 0.073069f, 0.004761f, 0.019995f, 0.005236f, 0.002598f, -0.002879f, 0.010155f, -0.029872f, 0.102728f, 0.025189f, -0.033135f, -0.032846f, -0.014594f, 0.005146f, 0.050343f, -0.023585f, -0.007324f, 0.000678f, 0.025598f, -0.023636f, 0.013600f, 0.002420f, -0.005412f, -0.083851f, -0.026273f, + 0.027884f, 0.044056f, 0.016353f, -0.009230f, -0.023594f, -0.055645f, -0.005271f, 0.009316f, -0.012422f, 0.001149f, -0.013698f, -0.035832f, 0.037159f, -0.008212f, 0.013892f, -0.038347f, -0.007124f, 0.098606f, 0.008373f, -0.010798f, 0.012498f, 0.012968f, 0.010304f, 0.049692f, -0.017136f, -0.022331f, 0.038048f, -0.004100f, 0.023019f, 0.013776f, 0.033339f, -0.012376f, -0.035474f, 0.018594f, -0.015741f, 0.002981f, 0.140347f, 0.134057f, 0.061409f, -0.011877f, -0.005645f, 0.017009f, 0.064325f, 0.029220f, -0.017481f, -0.002037f, -0.007013f, -0.035525f, -0.036473f, 0.020787f, 0.011767f, 0.005425f, 0.032886f, -0.004158f, -0.016182f, 0.018768f, 0.009351f, 0.027677f, -0.038740f, -0.032711f, -0.039359f, 0.006114f, -0.016842f, 0.002328f, -0.006652f, 0.014809f, 0.018056f, 0.034318f, 0.021484f, -0.036365f, -0.025213f, 0.013103f, -0.020736f, -0.012745f, 0.004482f, 0.011869f, -0.013344f, -0.035803f, -0.002261f, 0.001255f, -0.001318f, 0.015908f, 0.006049f, -0.028911f, 0.010772f, 0.046770f, 0.055652f, 0.040065f, 0.047817f, 0.032836f, 0.043362f, -0.011170f, -0.000521f, 0.035734f, 0.066211f, 0.007157f, + -0.074069f, -0.020964f, 0.013922f, 0.008725f, -0.019332f, 0.052369f, 0.024966f, 0.019147f, -0.020070f, 0.061618f, -0.005910f, -0.000427f, -0.019203f, 0.031930f, 0.020385f, -0.050716f, -0.073245f, -0.021892f, 0.009821f, 0.002129f, -0.015723f, -0.067360f, -0.008659f, 0.021365f, 0.003163f, -0.023990f, -0.011177f, -0.021650f, -0.027261f, 0.013374f, 0.016494f, -0.043937f, -0.049103f, -0.018348f, -0.060404f, 0.013801f, 0.049004f, -0.046885f, 0.047027f, -0.025173f, -0.029229f, -0.052407f, -0.072193f, -0.081007f, -0.076721f, -0.040566f, -0.002147f, 0.026132f, 0.010955f, 0.025991f, -0.041481f, -0.090175f, -0.036798f, -0.086779f, -0.150342f, -0.058741f, 0.117305f, 0.202267f, 0.117784f, -0.052466f, -0.042422f, -0.184128f, -0.165362f, 0.111186f, 0.017720f, 0.146770f, 0.152397f, 0.158231f, 0.051993f, -0.066479f, -0.081616f, -0.091193f, -0.103590f, -0.017215f, 0.099086f, 0.168601f, 0.052670f, 0.015282f, -0.009843f, -0.087828f, -0.127088f, -0.086901f, 0.014307f, 0.115528f, 0.053143f, 0.073879f, 0.060259f, 0.020175f, -0.046848f, -0.052495f, 0.000143f, -0.030345f, 0.007607f, 0.055008f, 0.059340f, 0.042327f, + 0.006992f, 0.020108f, -0.001057f, -0.041896f, 0.006276f, 0.012917f, -0.008161f, 0.003648f, -0.013159f, 0.080692f, 0.046607f, 0.049963f, 0.030031f, -0.032180f, -0.075842f, -0.107837f, 0.013679f, 0.033048f, 0.068481f, 0.067597f, 0.089290f, 0.040942f, -0.069779f, -0.088041f, -0.104891f, -0.021849f, -0.002338f, 0.051856f, 0.029812f, 0.013603f, 0.027801f, -0.055346f, -0.154021f, -0.105763f, -0.095902f, -0.025701f, 0.009590f, 0.030558f, -0.011884f, -0.025075f, -0.037511f, -0.006608f, 0.014233f, -0.046518f, 0.065133f, 0.031317f, 0.057831f, -0.127168f, 0.028802f, 0.017215f, -0.039154f, 0.028537f, -0.029308f, -0.014414f, -0.008787f, -0.018151f, 0.054716f, 0.100973f, -0.029392f, 0.020328f, -0.014137f, 0.024230f, 0.051244f, -0.015653f, -0.009458f, -0.027893f, 0.014650f, -0.017674f, -0.055789f, 0.040715f, 0.068529f, -0.008968f, -0.036080f, -0.032860f, -0.072464f, -0.019823f, 0.054666f, 0.037343f, 0.018930f, -0.079529f, -0.046412f, -0.034603f, 0.070270f, 0.061307f, 0.053419f, -0.155342f, -0.103724f, -0.012421f, 0.076639f, 0.164353f, 0.000405f, -0.197236f, -0.072780f, 0.006804f, 0.066312f, -0.005218f, + 0.036268f, 0.027861f, -0.086521f, -0.037522f, -0.024152f, -0.051456f, 0.003273f, -0.096829f, 0.014870f, 0.038744f, -0.117700f, -0.074822f, -0.036955f, -0.014696f, 0.129520f, -0.000427f, -0.199765f, 0.019526f, 0.027692f, 0.030828f, 0.078127f, 0.037039f, -0.085615f, 0.004713f, -0.003727f, 0.171032f, 0.119872f, -0.099557f, 0.090674f, -0.052835f, 0.035764f, 0.094714f, 0.033351f, -0.051165f, 0.046783f, -0.020124f, 0.011593f, 0.033247f, -0.004072f, -0.034403f, 0.063926f, -0.040866f, 0.046675f, -0.021497f, 0.024808f, -0.007075f, 0.051261f, -0.017460f, 0.040120f, -0.070372f, -0.012982f, -0.000058f, -0.010074f, 0.023683f, 0.043468f, -0.044372f, 0.090396f, -0.034822f, -0.032205f, -0.061275f, 0.044683f, 0.096799f, 0.018063f, -0.125323f, 0.009297f, -0.027403f, 0.060455f, 0.031244f, 0.026707f, -0.049690f, -0.004513f, -0.031206f, 0.029534f, -0.012013f, -0.021365f, -0.006232f, 0.040342f, -0.008757f, -0.026720f, -0.029971f, 0.022296f, 0.005001f, 0.021137f, -0.012570f, -0.000762f, -0.022594f, -0.003183f, -0.003547f, 0.009934f, 0.005187f, 0.023871f, 0.044015f, -0.105174f, 0.014919f, -0.077226f, 0.014063f, + 0.065553f, 0.057956f, 0.018976f, -0.037588f, 0.007520f, -0.022340f, -0.005532f, -0.027718f, -0.020481f, 0.014224f, 0.003827f, -0.040346f, -0.004651f, 0.020975f, -0.004489f, 0.002358f, 0.007594f, -0.025741f, -0.025492f, -0.000679f, 0.016856f, 0.002228f, -0.041024f, 0.003410f, 0.021028f, 0.006596f, 0.004882f, 0.042897f, -0.004737f, -0.011452f, 0.015373f, 0.016418f, -0.029031f, -0.032193f, 0.023854f, 0.004607f, -0.024722f, 0.016583f, 0.007177f, 0.008029f, -0.017298f, 0.006954f, 0.019439f, 0.002335f, -0.024339f, 0.032994f, -0.004019f, -0.037012f, 0.001106f, 0.028943f, 0.009017f, -0.024225f, 0.022023f, 0.007291f, -0.033768f, 0.013871f, 0.001728f, 0.034459f, -0.031250f, 0.002804f, 0.023738f, -0.054711f, 0.001737f, 0.023611f, -0.000918f, 0.016363f, -0.009105f, -0.035026f, 0.004641f, -0.037062f, 0.034776f, 0.017956f, 0.009798f, -0.013775f, -0.014530f, 0.028733f, -0.024776f, 0.025640f, 0.028159f, -0.040283f, -0.013083f, 0.001724f, 0.031181f, 0.000488f, -0.018089f, 0.011553f, -0.021907f, -0.001312f, 0.003165f, 0.018416f, 0.001253f, 0.003030f, -0.011324f, 0.019169f, -0.006422f, -0.022362f, + 0.020334f, -0.009029f, 0.008766f, -0.005063f, 0.014660f, 0.018531f, -0.021283f, 0.003728f, -0.011537f, 0.005020f, -0.011723f, 0.041205f, -0.011653f, -0.023105f, 0.018580f, -0.010402f, -0.003508f, -0.011749f, 0.012144f, 0.011229f, -0.016672f, 0.009338f, 0.016215f, -0.008383f, 0.001071f, -0.022979f, -0.052039f, 0.085341f, 0.012067f, 0.038610f, -0.033179f, 0.014774f, -0.007162f, 0.010351f, 0.009364f, -0.014200f, 0.005776f, 0.015686f, -0.008949f, 0.034078f, 0.001589f, 0.001183f, 0.011630f, 0.011202f, -0.001200f, -0.008583f, 0.014592f, -0.002163f, -0.009957f, -0.001966f, 0.014666f, -0.015650f, 0.003452f, 0.007231f, -0.019952f, 0.025151f, -0.004887f, -0.011950f, 0.038548f, -0.015711f, -0.022532f, 0.017785f, 0.009883f, -0.010492f, 0.016799f, 0.013473f, -0.004504f, -0.005282f, -0.002852f, 0.005144f, 0.009736f, 0.005749f, 0.000091f, -0.006504f, 0.019961f, -0.020953f, 0.019150f, 0.003106f, -0.002143f, 0.005437f, 0.006194f, 0.006301f, 0.001043f, -0.018633f, 0.005458f, 0.016323f, -0.011325f, 0.000087f, 0.000211f, 0.012468f, -0.001039f, -0.004648f, 0.018826f, -0.009320f, 0.010209f, -0.019152f, + -0.006926f, 0.018833f, -0.017563f, 0.018112f, -0.004440f, 0.011974f, 0.014666f, -0.016246f, -0.005338f, 0.020423f, -0.016705f, -0.000753f, 0.002364f, 0.006274f, 0.001753f, -0.002173f, 0.000992f, 0.001651f, 0.009608f, -0.007858f, 0.002310f, 0.006101f, -0.000351f, -0.004004f, 0.001293f, 0.003635f, -0.000556f, 0.001335f, -0.003281f, 0.004348f, 0.006095f, -0.010080f, -0.001367f, 0.017788f, -0.008292f, 0.005168f, -0.001042f, 0.010190f, 0.003115f, -0.005445f, 0.001393f, -0.000978f, -0.005616f, -0.003963f, 0.021097f, -0.003427f, -0.004513f, 0.003101f, 0.002590f, -0.001507f, 0.004696f, 0.008699f, 0.000543f, 0.002347f, 0.001068f, -0.001717f, 0.001557f, 0.002632f, -0.003697f, 0.002878f, 0.000016f, 0.019856f, -0.070468f, -0.225166f, -0.011522f, 0.121246f, 0.054382f, 0.258364f, 0.021980f, 0.054513f, 0.002212f, -0.075422f, -0.094988f, -0.064362f, -0.115743f, -0.081002f, -0.050961f, 0.001777f, 0.088273f, 0.173938f, 0.127998f, 0.111385f, 0.036245f, -0.060641f, -0.089026f, -0.080056f, -0.094333f, -0.104627f, -0.042434f, -0.020120f, -0.009188f, 0.050951f, 0.067672f, 0.050999f, 0.094627f, 0.061057f, + 0.022632f, 0.063451f, 0.001440f, -0.027681f, -0.018295f, -0.057115f, -0.116994f, -0.071178f, -0.068507f, -0.069900f, 0.003616f, 0.032437f, 0.022447f, 0.085863f, 0.070454f, 0.048489f, 0.069298f, 0.073628f, 0.020866f, 0.022008f, -0.007875f, -0.063588f, -0.088266f, -0.067535f, -0.088465f, -0.063000f, -0.021980f, -0.015668f, 0.005443f, 0.048055f, 0.037693f, 0.033918f, 0.067998f, 0.056100f, 0.041320f, 0.070117f, 0.019249f, -0.014528f, -0.002905f, -0.028305f, -0.061022f, -0.035610f, -0.077198f, -0.097706f, -0.057516f, -0.048693f, -0.021089f, 0.056515f, 0.076468f, 0.071165f, 0.082268f, 0.067547f, 0.038498f, 0.036955f, 0.018007f, -0.008106f, -0.020897f, -0.039402f, -0.057988f, -0.058230f, -0.065629f, -0.069089f, -0.058928f, -0.020258f, -0.006939f, 0.023030f, 0.059300f, 0.065820f, 0.065319f, 0.076112f, 0.060709f, 0.045264f, 0.037827f, 0.012224f, -0.029447f, -0.052713f, -0.085528f, -0.109450f, -0.102270f, -0.081287f, -0.040771f, 0.010145f, 0.054880f, 0.075077f, 0.086689f, 0.090106f, 0.077975f, 0.054871f, 0.028150f, -0.018179f, -0.044269f, -0.058833f, -0.067946f, -0.059747f, -0.044748f, -0.031156f, + -0.012741f, 0.014045f, 0.018985f, 0.025538f, 0.029719f, 0.026124f, 0.021056f, 0.016497f, 0.011347f, 0.009634f, 0.004452f, -0.003667f, -0.005652f, -0.006129f, -0.009131f, -0.010399f, -0.013026f, -0.015639f, -0.016897f, -0.013914f, -0.010305f, -0.005734f, 0.000142f, 0.008219f, 0.011113f, 0.008551f, 0.005297f, 0.003626f, 0.003020f}, + {-0.005147f, 0.001241f, 0.006039f, -0.000524f, 0.000548f, -0.008937f, -0.004491f, 0.001329f, 0.011865f, -0.007639f, 0.002484f, -0.012307f, 0.012649f, 0.000842f, 0.004641f, -0.001444f, 0.002012f, -0.002363f, -0.004330f, -0.010696f, 0.004543f, -0.010724f, -0.005005f, -0.006044f, 0.006106f, 0.004858f, 0.002347f, 0.005063f, 0.009538f, 0.000639f, -0.008630f, 0.005704f, 0.000945f, -0.000388f, 0.004678f, -0.001698f, -0.003118f, -0.012618f, 0.002070f, -0.003599f, 0.002785f, 0.005333f, -0.006837f, -0.002706f, 0.006266f, 0.001987f, 0.000764f, -0.006411f, 0.016254f, 0.009810f, 0.001614f, 0.007882f, 0.006480f, 0.006293f, -0.014809f, 0.000959f, -0.001413f, -0.003894f, 0.003667f, 0.002497f, -0.002351f, -0.002734f, -0.000767f, -0.004401f, 0.004409f, -0.001636f, 0.008665f, -0.000278f, -0.002174f, -0.004055f, -0.007521f, -0.001338f, 0.005850f, -0.000208f, 0.001365f, 0.006891f, 0.001904f, 0.007964f, -0.000123f, 0.001248f, -0.000781f, 0.008560f, 0.007593f, 0.007683f, 0.001698f, 0.000041f, 0.003433f, -0.000120f, 0.001087f, 0.000212f, 0.000423f, -0.000585f, -0.002326f, -0.001953f, -0.000400f, -0.002244f, + 0.001129f, 0.001215f, -0.000940f, 0.002549f, -0.000945f, -0.000672f, -0.000472f, 0.001079f, 0.000327f, 0.002287f, 0.000235f, 0.000087f, 0.000223f, 0.002951f, 0.001467f, -0.000164f, -0.000734f, 0.000191f, -0.000363f, 0.000765f, 0.003042f, 0.000705f, 0.003867f, 0.013453f, -0.006514f, 0.004496f, -0.003704f, -0.005824f, -0.002385f, -0.004032f, 0.007352f, -0.006063f, -0.011252f, -0.002872f, 0.002973f, -0.009381f, -0.005663f, 0.010601f, 0.018319f, -0.003084f, 0.007008f, -0.006277f, -0.006601f, -0.000291f, 0.001941f, -0.000804f, -0.000178f, 0.006797f, -0.011599f, 0.003790f, -0.000844f, -0.002432f, -0.009774f, 0.000853f, 0.000242f, 0.005515f, 0.001665f, -0.007659f, 0.010117f, -0.008040f, 0.009441f, -0.001060f, 0.001726f, 0.003832f, -0.001092f, -0.004718f, 0.007388f, 0.001809f, 0.009866f, 0.001497f, -0.008665f, 0.015744f, 0.012539f, -0.004369f, -0.001264f, -0.003038f, -0.010924f, -0.005924f, -0.001781f, -0.001891f, 0.004443f, -0.006032f, 0.000509f, 0.004309f, 0.000045f, -0.000175f, -0.000671f, -0.001045f, -0.005948f, 0.009511f, 0.000338f, -0.000219f, -0.002970f, -0.001074f, -0.008702f, -0.007783f, + 0.002608f, 0.006341f, -0.000761f, -0.001665f, 0.000035f, -0.000083f, -0.004432f, 0.008514f, 0.001214f, 0.002804f, -0.002170f, 0.002308f, 0.001513f, -0.000376f, -0.000101f, -0.000398f, 0.000174f, 0.001998f, -0.001064f, 0.001256f, 0.001430f, -0.000291f, -0.000281f, 0.001031f, 0.002348f, 0.002009f, -0.001390f, 0.000536f, 0.000773f, -0.001159f, -0.000562f, 0.003170f, -0.000375f, -0.000192f, -0.002434f, -0.002346f, -0.003779f, -0.001468f, -0.014112f, 0.017170f, -0.003857f, -0.002120f, 0.012240f, -0.004913f, 0.006266f, 0.027318f, -0.003385f, 0.000726f, -0.010583f, -0.008560f, -0.013160f, 0.007481f, -0.005494f, 0.003608f, 0.007099f, -0.008319f, -0.007127f, -0.005245f, 0.000489f, 0.002610f, -0.010257f, -0.004073f, 0.004337f, 0.003717f, -0.004130f, -0.001744f, 0.006103f, -0.006496f, 0.000897f, -0.003273f, -0.001260f, -0.004550f, 0.003702f, -0.004182f, 0.001586f, 0.003549f, -0.001780f, 0.011433f, 0.000383f, -0.001653f, -0.008620f, 0.000926f, 0.012219f, 0.001613f, 0.004057f, -0.011365f, -0.016202f, -0.005940f, -0.013953f, -0.012323f, -0.000424f, -0.005369f, -0.000583f, -0.014930f, 0.012591f, -0.013829f, + 0.001917f, 0.009327f, -0.008606f, -0.014445f, -0.010313f, -0.003104f, 0.009433f, 0.008373f, 0.012659f, -0.007599f, -0.006696f, -0.005370f, -0.004625f, 0.009144f, 0.002277f, -0.003904f, -0.002143f, 0.004308f, 0.004903f, 0.001434f, 0.002208f, 0.003118f, -0.000791f, -0.005393f, -0.000957f, -0.003598f, 0.001238f, 0.000378f, 0.001075f, 0.000978f, 0.000190f, 0.002151f, 0.000210f, 0.002522f, 0.000171f, -0.002035f, 0.002569f, -0.003147f, -0.002084f, 0.000546f, -0.000889f, 0.002587f, -0.001697f, -0.001288f, -0.000610f, 0.000282f, -0.001122f, -0.001914f, 0.001626f, -0.000651f, 0.001181f, -0.001626f, -0.001567f, -0.001912f, -0.002208f, -0.001411f, -0.002015f, 0.014940f, 0.001551f, -0.006009f, 0.000845f, -0.004974f, -0.001110f, 0.010456f, 0.017535f, -0.005997f, -0.006141f, -0.015914f, 0.002010f, 0.003996f, 0.009050f, -0.006001f, 0.009758f, 0.001548f, 0.015030f, -0.012064f, 0.001926f, -0.022782f, -0.002518f, 0.002725f, -0.005579f, -0.005122f, -0.002024f, 0.008401f, -0.006890f, -0.011973f, 0.003385f, -0.017568f, -0.003846f, -0.008436f, 0.003860f, -0.001865f, 0.005928f, 0.000789f, -0.013415f, -0.014463f, + 0.000378f, 0.007717f, 0.014307f, -0.002835f, -0.005850f, 0.012011f, -0.013254f, -0.007185f, 0.006364f, 0.005719f, 0.009459f, -0.009035f, 0.000313f, 0.003685f, -0.005734f, -0.001905f, 0.005574f, -0.008195f, 0.010676f, -0.004633f, -0.002018f, -0.011396f, -0.009522f, 0.004613f, -0.000054f, 0.000245f, -0.001645f, -0.006979f, 0.006598f, -0.004374f, 0.008211f, -0.000108f, -0.010939f, -0.011406f, 0.004152f, -0.005717f, 0.002009f, -0.016247f, -0.015589f, -0.002440f, 0.014604f, 0.000148f, -0.003056f, 0.000775f, 0.002073f, 0.001612f, -0.000710f, 0.002388f, -0.007673f, 0.001478f, 0.001247f, 0.002371f, 0.002899f, 0.003321f, 0.001678f, -0.004220f, 0.000269f, 0.003837f, 0.001698f, 0.001083f, -0.002177f, -0.002546f, 0.000562f, 0.000064f, -0.000924f, 0.003618f, -0.000119f, -0.000172f, -0.002508f, 0.004503f, 0.003598f, -0.000136f, 0.000269f, -0.002093f, 0.001223f, 0.001468f, 0.000562f, 0.000290f, 0.001403f, -0.001874f, 0.008999f, -0.024294f, 0.005697f, -0.010527f, 0.008998f, 0.010273f, -0.011458f, -0.021296f, 0.003050f, -0.002805f, 0.013573f, -0.008079f, 0.019633f, -0.008203f, 0.013009f, -0.015984f, + -0.005888f, 0.006738f, 0.009686f, 0.002741f, -0.000017f, -0.009791f, -0.001240f, -0.007695f, -0.009619f, 0.005403f, -0.008202f, 0.003269f, 0.001947f, 0.004019f, -0.004640f, 0.009153f, -0.001658f, 0.007883f, -0.001717f, -0.014978f, -0.002452f, -0.004765f, 0.001572f, 0.015033f, 0.001000f, -0.001252f, -0.000725f, -0.006040f, 0.005244f, -0.005692f, 0.007975f, 0.008605f, 0.003169f, 0.003333f, 0.015166f, -0.003703f, -0.002671f, -0.012049f, 0.008669f, 0.007632f, 0.001660f, 0.001994f, 0.001652f, 0.000671f, 0.004486f, 0.009244f, 0.006216f, 0.003550f, 0.003420f, -0.002305f, 0.012072f, 0.004135f, -0.002407f, -0.009185f, 0.004755f, -0.002699f, 0.017599f, 0.009992f, 0.002287f, -0.008041f, -0.002942f, 0.013400f, -0.005113f, 0.001795f, 0.007821f, -0.004262f, -0.005301f, -0.010559f, 0.001426f, 0.003926f, -0.000759f, 0.005151f, -0.004071f, -0.001507f, -0.003155f, 0.003793f, -0.000240f, -0.001126f, -0.005004f, 0.001276f, 0.001388f, 0.003111f, 0.003687f, -0.001160f, 0.000681f, 0.004039f, -0.000222f, 0.004098f, -0.000197f, 0.001283f, 0.006027f, 0.001295f, 0.006193f, -0.000397f, -0.001249f, -0.000315f, + -0.000448f, 0.000274f, 0.000519f, -0.004538f, 0.001796f, 0.003762f, 0.000472f, 0.001560f, -0.001024f, -0.031332f, -0.017006f, 0.006330f, -0.006095f, 0.012644f, 0.012616f, 0.019024f, 0.007889f, 0.007712f, 0.004715f, -0.022832f, -0.005087f, -0.003137f, 0.002078f, -0.002267f, 0.007141f, 0.005074f, -0.008759f, -0.006997f, 0.005898f, 0.011149f, 0.014068f, 0.012123f, 0.015976f, -0.008726f, -0.008698f, -0.011578f, 0.012325f, -0.007100f, 0.010188f, -0.002562f, -0.000502f, -0.010846f, -0.006478f, -0.006202f, 0.009257f, 0.011383f, 0.002035f, 0.011378f, 0.016305f, -0.006466f, 0.004143f, 0.019106f, -0.009582f, 0.006201f, 0.006506f, 0.000715f, 0.014392f, 0.018406f, 0.014025f, 0.031925f, 0.005958f, -0.004539f, -0.005886f, -0.005481f, -0.000320f, 0.005611f, 0.009708f, -0.001777f, -0.003102f, -0.003391f, -0.008531f, 0.003580f, 0.004650f, 0.008259f, -0.019907f, -0.002753f, 0.005067f, 0.013205f, 0.009247f, -0.017046f, -0.012587f, 0.003195f, 0.003210f, 0.013774f, -0.012125f, 0.000742f, -0.001202f, 0.001434f, -0.017263f, -0.004707f, -0.005929f, -0.004228f, -0.007079f, -0.003019f, 0.000571f, 0.006602f, + 0.000013f, 0.000337f, 0.002615f, 0.003136f, -0.006576f, -0.001085f, 0.000521f, -0.000016f, 0.002387f, -0.002325f, -0.004287f, -0.002976f, -0.003266f, 0.004650f, -0.004490f, -0.002230f, -0.005172f, 0.001249f, -0.001085f, 0.003283f, -0.004731f, 0.001938f, -0.001581f, 0.001900f, 0.001814f, 0.000271f, 0.004159f, -0.003988f, 0.002067f, 0.002197f, 0.000722f, 0.004732f, 0.007616f, 0.015199f, -0.001912f, 0.003145f, 0.013001f, 0.019067f, 0.010758f, -0.020937f, 0.000118f, -0.022279f, -0.015788f, -0.009540f, -0.001807f, -0.013612f, 0.016362f, 0.006087f, 0.009705f, -0.027725f, -0.001944f, 0.018224f, 0.009290f, -0.008097f, -0.011629f, -0.007077f, 0.007135f, -0.021196f, -0.001191f, -0.013601f, 0.020961f, -0.002698f, -0.006066f, 0.002287f, -0.000698f, -0.003527f, 0.003740f, -0.005467f, 0.009760f, 0.006967f, 0.014006f, -0.000974f, 0.000760f, 0.021607f, -0.006770f, 0.014484f, -0.002296f, -0.002471f, 0.038001f, 0.004586f, -0.004024f, -0.008507f, -0.029314f, 0.003161f, -0.030045f, -0.004997f, 0.031727f, -0.008874f, -0.006116f, -0.021949f, -0.006414f, 0.000853f, -0.011793f, 0.006435f, -0.001109f, -0.016066f, + 0.017187f, 0.006207f, 0.005623f, 0.004792f, -0.011900f, 0.013172f, -0.020425f, 0.005995f, 0.007899f, 0.000940f, -0.002672f, -0.008205f, -0.006470f, -0.008358f, -0.002669f, 0.006878f, 0.008784f, -0.002125f, -0.007118f, -0.004153f, 0.009787f, 0.004086f, 0.018699f, -0.000241f, 0.001445f, 0.007686f, -0.000738f, -0.003349f, -0.002549f, -0.002267f, -0.002023f, -0.002986f, 0.002229f, -0.003421f, -0.000099f, 0.003901f, 0.001433f, 0.003977f, 0.003783f, 0.003108f, 0.000372f, 0.005733f, 0.004110f, 0.002533f, 0.001766f, 0.001811f, -0.005851f, -0.004891f, 0.004307f, 0.000718f, -0.003595f, 0.000757f, -0.004093f, 0.001307f, 0.004752f, 0.001836f, -0.000761f, 0.001850f, 0.004081f, 0.001027f, -0.003242f, 0.001878f, 0.012545f, -0.024759f, 0.010927f, -0.008623f, -0.012432f, -0.011844f, 0.009650f, 0.012281f, 0.007235f, 0.021168f, 0.015665f, 0.003305f, 0.006496f, -0.016284f, 0.003516f, 0.007584f, 0.016460f, 0.003324f, -0.007633f, 0.006121f, 0.007785f, -0.014579f, 0.002334f, -0.014959f, 0.011987f, 0.010934f, 0.014032f, -0.013294f, 0.008411f, 0.015007f, -0.006526f, 0.003999f, 0.019873f, -0.000435f, + -0.012006f, -0.009536f, 0.004575f, -0.003090f, -0.012204f, -0.004929f, 0.000421f, 0.003057f, 0.006917f, -0.008372f, 0.013931f, 0.008521f, -0.002952f, 0.016753f, -0.001856f, 0.006456f, 0.021933f, -0.022941f, 0.042836f, -0.019462f, 0.006056f, 0.013024f, -0.004256f, -0.002214f, 0.005594f, 0.029048f, -0.001380f, -0.003834f, -0.000665f, -0.006694f, 0.014230f, 0.015906f, -0.004843f, 0.006898f, 0.005794f, 0.005296f, 0.009835f, 0.012560f, 0.001221f, 0.013569f, 0.003089f, -0.011352f, -0.017524f, 0.004398f, 0.001946f, 0.008291f, 0.003671f, 0.026897f, -0.002497f, 0.015094f, 0.012243f, -0.008124f, -0.015032f, -0.001625f, 0.001929f, 0.004114f, -0.003934f, 0.007040f, 0.003440f, -0.006403f, -0.001594f, -0.006107f, -0.002103f, 0.004063f, -0.001811f, 0.005922f, -0.001257f, 0.002225f, 0.001680f, -0.002519f, 0.003256f, 0.003654f, -0.005117f, 0.003728f, 0.002580f, 0.001272f, 0.001462f, -0.000029f, 0.001232f, 0.006554f, 0.002193f, -0.002112f, 0.001356f, 0.001915f, 0.003365f, 0.004096f, -0.001012f, -0.004269f, -0.001082f, -0.003711f, -0.002704f, 0.004885f, 0.014084f, 0.018575f, 0.011383f, -0.019906f, + 0.037909f, -0.012031f, 0.007108f, -0.027959f, 0.010983f, -0.024732f, 0.018995f, 0.001909f, -0.005413f, -0.014020f, 0.017945f, 0.002353f, 0.011405f, 0.011838f, 0.005984f, -0.020828f, 0.010496f, -0.012628f, -0.002432f, 0.009319f, 0.010062f, 0.002322f, -0.003998f, -0.020859f, 0.002763f, 0.019127f, 0.002002f, 0.012369f, 0.013736f, -0.021771f, 0.011823f, -0.011086f, -0.011061f, 0.016003f, 0.017610f, 0.009200f, 0.009838f, 0.002742f, 0.009420f, -0.022425f, -0.010160f, -0.007177f, 0.000473f, 0.023824f, 0.011271f, 0.009428f, -0.001942f, 0.010465f, -0.000718f, 0.026249f, 0.009507f, 0.009947f, 0.003824f, -0.001482f, -0.039058f, 0.014395f, 0.008986f, -0.003607f, -0.002960f, -0.029028f, 0.000055f, -0.011099f, 0.006717f, 0.025269f, -0.004470f, -0.014467f, 0.029239f, -0.001320f, 0.016406f, -0.009820f, -0.000144f, -0.018380f, -0.001954f, 0.000364f, -0.032106f, -0.009460f, -0.005761f, -0.014308f, -0.006917f, -0.002799f, 0.001726f, 0.015978f, 0.000891f, -0.000354f, -0.003378f, -0.008200f, -0.001628f, 0.001510f, -0.003339f, 0.001173f, 0.000072f, 0.004318f, -0.007798f, -0.002895f, -0.001336f, -0.006828f, + 0.000030f, -0.004405f, -0.003167f, -0.002192f, -0.005923f, -0.002797f, 0.006145f, -0.002110f, 0.000779f, -0.001708f, 0.006673f, -0.000240f, 0.002798f, -0.004508f, -0.010754f, -0.003052f, -0.000876f, 0.004559f, 0.001428f, 0.006459f, -0.000874f, -0.001919f, 0.004947f, -0.006570f, 0.007970f, -0.000140f, 0.024946f, -0.021376f, 0.003187f, 0.009113f, 0.011320f, -0.037146f, 0.024757f, 0.006963f, -0.026391f, -0.016855f, 0.014496f, 0.033217f, -0.011614f, -0.005965f, -0.022842f, 0.047529f, 0.018499f, 0.003016f, 0.007968f, -0.024865f, -0.016080f, -0.000988f, 0.002131f, 0.024681f, 0.005400f, 0.019041f, 0.021399f, -0.000873f, 0.001383f, 0.014921f, -0.003859f, -0.015797f, -0.015103f, -0.003801f, 0.021184f, -0.011358f, 0.026783f, -0.012342f, 0.039303f, 0.017508f, 0.031710f, -0.008520f, 0.005177f, 0.025456f, -0.019721f, 0.011893f, 0.011518f, 0.010825f, -0.011272f, 0.013577f, 0.003328f, 0.004362f, 0.011600f, 0.024203f, 0.020362f, -0.020567f, -0.004772f, 0.010658f, -0.020056f, -0.012731f, -0.005262f, -0.041107f, 0.011058f, -0.020302f, -0.012708f, 0.004004f, -0.005057f, 0.014118f, 0.026269f, 0.016842f, + 0.010644f, -0.014134f, -0.003308f, -0.000835f, -0.027802f, 0.005113f, 0.002401f, 0.034436f, 0.007440f, 0.007760f, -0.007427f, 0.026606f, -0.000210f, -0.000747f, 0.000107f, -0.008639f, -0.003931f, 0.001124f, -0.001565f, -0.009369f, 0.000884f, -0.002408f, 0.001712f, -0.011181f, -0.012116f, -0.003985f, 0.009682f, -0.001609f, 0.003774f, 0.003658f, 0.002994f, -0.000803f, -0.002564f, -0.003359f, -0.006722f, -0.011230f, 0.003852f, 0.000574f, -0.002751f, -0.013272f, 0.009760f, 0.006637f, 0.003770f, -0.001118f, 0.000815f, -0.004539f, 0.003313f, -0.002411f, -0.004380f, 0.001525f, 0.005636f, 0.003393f, -0.003526f, -0.000890f, -0.001449f, 0.004133f, -0.029670f, -0.043771f, 0.023642f, -0.017833f, 0.019376f, 0.006332f, 0.009361f, 0.011480f, -0.029429f, -0.053480f, 0.004694f, 0.007728f, 0.030086f, -0.029710f, -0.032619f, 0.028111f, -0.011279f, 0.012790f, -0.006199f, 0.006700f, 0.004399f, 0.007421f, -0.014898f, 0.007178f, -0.002206f, -0.004631f, 0.018503f, 0.006955f, -0.002746f, -0.024102f, -0.003372f, -0.000666f, -0.004527f, -0.001123f, -0.013143f, -0.031966f, -0.014313f, 0.023523f, -0.010100f, 0.011620f, + -0.018240f, 0.013481f, 0.006821f, -0.000196f, -0.009243f, -0.039640f, 0.021827f, 0.021349f, 0.027266f, -0.019095f, -0.008238f, 0.037279f, 0.032770f, 0.015262f, 0.006942f, 0.021102f, 0.007605f, 0.018972f, -0.010283f, 0.016492f, -0.031523f, -0.001916f, 0.008609f, -0.008088f, 0.037194f, 0.001542f, 0.020265f, -0.012088f, -0.020233f, 0.043256f, -0.000893f, 0.017232f, -0.005883f, 0.000713f, -0.050942f, -0.004168f, 0.010617f, -0.019481f, 0.023730f, 0.018253f, 0.004276f, -0.010269f, -0.038870f, -0.000702f, -0.008068f, 0.009765f, 0.011539f, 0.002094f, -0.004926f, 0.009234f, 0.000181f, 0.004610f, -0.002685f, -0.011551f, -0.004514f, -0.010530f, 0.018467f, 0.005897f, -0.000632f, -0.000229f, 0.002083f, 0.017451f, -0.003256f, -0.003970f, 0.002394f, -0.001180f, -0.000066f, 0.007935f, 0.003937f, 0.007158f, -0.005294f, -0.000460f, -0.008307f, 0.001755f, -0.000193f, 0.007505f, 0.006965f, -0.007877f, 0.012707f, 0.013485f, -0.010710f, 0.001034f, -0.021924f, -0.028725f, -0.008334f, -0.006722f, -0.049195f, -0.046147f, -0.012084f, 0.000233f, 0.034750f, 0.028270f, 0.027979f, -0.010808f, -0.004487f, -0.006992f, + 0.029873f, 0.012841f, -0.012521f, -0.002208f, -0.009967f, 0.021609f, 0.016775f, -0.012458f, -0.017451f, -0.016016f, -0.032723f, 0.013681f, 0.000923f, 0.000938f, 0.007155f, -0.004884f, 0.012424f, 0.046043f, -0.026192f, 0.013890f, 0.002758f, -0.017731f, -0.010149f, -0.021055f, 0.007999f, -0.009351f, -0.010572f, 0.023848f, 0.002940f, -0.007938f, 0.024080f, -0.003260f, -0.010613f, 0.008390f, 0.017573f, -0.009652f, 0.018885f, 0.033910f, 0.032705f, -0.022330f, -0.000296f, 0.008183f, 0.018437f, -0.028281f, -0.005881f, -0.007798f, 0.035275f, 0.015044f, -0.003786f, -0.021427f, -0.023782f, -0.021140f, 0.031862f, 0.026391f, -0.050431f, -0.042070f, -0.031902f, -0.022461f, 0.007631f, -0.020255f, 0.012333f, 0.003385f, 0.005026f, -0.040561f, -0.012988f, 0.036717f, 0.028323f, -0.012267f, -0.026022f, 0.025374f, 0.013307f, -0.003022f, 0.000446f, -0.003205f, -0.006150f, 0.014437f, -0.012897f, 0.003185f, 0.002241f, -0.000505f, -0.009310f, -0.017009f, 0.003321f, 0.013886f, -0.001329f, 0.001560f, -0.005924f, 0.013193f, 0.014430f, 0.001456f, -0.001876f, 0.004895f, -0.000482f, 0.005864f, 0.006313f, 0.009112f, + -0.012136f, -0.001125f, 0.004497f, 0.000048f, -0.007514f, 0.002079f, 0.015305f, 0.014259f, -0.005370f, 0.010942f, -0.016622f, 0.004236f, -0.005332f, -0.004563f, -0.006627f, -0.010349f, 0.040573f, 0.031957f, 0.019794f, 0.002990f, -0.026677f, -0.013906f, -0.004211f, 0.010831f, 0.016783f, -0.023617f, 0.006012f, 0.001363f, -0.020196f, -0.009605f, 0.016078f, -0.012041f, 0.012755f, 0.005437f, 0.015019f, -0.018859f, -0.000193f, -0.041990f, 0.006160f, -0.053083f, 0.021675f, 0.021436f, -0.020703f, 0.024216f, 0.028876f, 0.000746f, 0.008128f, -0.034267f, 0.020017f, 0.001900f, -0.014313f, 0.018406f, -0.004508f, 0.000152f, -0.000469f, 0.002155f, 0.035554f, -0.004147f, -0.000202f, 0.043679f, -0.000589f, -0.020348f, -0.058011f, -0.047705f, 0.052728f, 0.032800f, 0.012876f, 0.013179f, -0.022280f, -0.044723f, -0.022061f, 0.006925f, -0.017284f, 0.034728f, -0.002027f, 0.004493f, 0.037458f, -0.007864f, -0.011847f, -0.008603f, -0.023860f, -0.040394f, -0.032123f, 0.090823f, -0.044347f, -0.020155f, 0.025934f, -0.046226f, -0.033350f, 0.032845f, 0.046107f, 0.015089f, -0.008589f, 0.054294f, 0.026132f, -0.043962f, + -0.015369f, -0.024622f, -0.024034f, 0.049344f, 0.003407f, -0.033139f, -0.022962f, -0.025831f, 0.007047f, -0.005459f, 0.014916f, -0.000534f, -0.007795f, -0.012205f, 0.000928f, 0.013535f, -0.007562f, 0.006164f, -0.007374f, 0.006656f, 0.006019f, 0.018911f, -0.007628f, -0.002956f, 0.016176f, 0.001130f, 0.008170f, 0.008350f, 0.011484f, 0.002013f, -0.007039f, -0.004021f, -0.001960f, -0.002925f, 0.006954f, -0.002407f, -0.007870f, 0.015195f, 0.015684f, -0.008965f, 0.003837f, -0.010183f, 0.003397f, 0.003538f, 0.009586f, -0.002689f, -0.001203f, -0.005137f, 0.004826f, 0.011183f, -0.037266f, -0.027481f, -0.019150f, -0.034096f, -0.002992f, 0.032475f, -0.002259f, 0.006750f, 0.016031f, 0.010670f, -0.027429f, -0.013233f, -0.022652f, -0.012087f, 0.029254f, -0.008822f, -0.003093f, -0.003911f, 0.017773f, 0.017724f, 0.052726f, 0.008475f, 0.038836f, -0.002176f, 0.013165f, -0.021017f, -0.015806f, 0.013974f, -0.026767f, -0.029770f, 0.001068f, 0.009495f, -0.015236f, 0.012347f, -0.017853f, 0.005563f, -0.047119f, 0.026440f, 0.014835f, 0.021641f, 0.002773f, -0.019108f, -0.039465f, -0.014021f, -0.003440f, 0.032695f, + -0.024753f, -0.014617f, 0.009196f, 0.074660f, -0.020527f, 0.075897f, -0.046422f, 0.018449f, -0.017064f, 0.033352f, -0.013110f, 0.057603f, -0.054018f, 0.082458f, -0.007708f, 0.017024f, 0.035735f, -0.061008f, 0.054550f, -0.065171f, 0.044120f, -0.106244f, 0.057721f, -0.054579f, 0.048514f, -0.071229f, 0.062766f, 0.002188f, 0.040712f, 0.017663f, -0.033173f, 0.028995f, -0.023733f, 0.072117f, -0.032742f, 0.011931f, -0.042914f, 0.011711f, -0.002807f, 0.007964f, -0.015304f, 0.020064f, -0.019674f, 0.014232f, -0.006928f, 0.004628f, 0.006131f, 0.006426f, 0.008411f, -0.004845f, -0.011296f, -0.009161f, -0.010823f, -0.024947f, 0.014502f, 0.003753f, -0.017126f, -0.007945f, -0.005140f, 0.011179f, -0.019075f, 0.018232f, -0.014601f, 0.003668f, -0.007810f, 0.008887f, 0.002998f, -0.000136f, 0.027658f, -0.024438f, 0.014981f, -0.023613f, 0.035651f, -0.006749f, 0.034827f, -0.013685f, 0.010892f, 0.015749f, 0.005282f, 0.005444f, -0.000019f, 0.016683f, -0.024862f, 0.027279f, -0.018965f, 0.017955f, -0.032725f, -0.029647f, 0.034531f, 0.059559f, -0.049319f, 0.075499f, -0.004371f, 0.000005f, -0.002891f, 0.013125f, + -0.022452f, -0.016485f, -0.033643f, -0.007504f, 0.001085f, 0.000098f, -0.000172f, 0.029697f, 0.005082f, 0.032557f, 0.031842f, -0.020225f, 0.011716f, 0.067878f, 0.022163f, 0.014566f, 0.010171f, -0.058814f, 0.002990f, -0.009502f, -0.007387f, -0.053932f, -0.011430f, 0.031060f, 0.008745f, 0.010359f, 0.015581f, 0.039345f, 0.010232f, -0.012077f, -0.004052f, -0.003336f, 0.014713f, -0.026692f, -0.016489f, 0.040633f, 0.025150f, 0.018952f, 0.031331f, 0.023229f, -0.013691f, -0.006787f, -0.046834f, -0.020494f, 0.018995f, 0.015081f, 0.035291f, -0.025400f, -0.012729f, -0.008865f, 0.025927f, 0.015274f, 0.023268f, 0.009699f, -0.018516f, -0.017064f, 0.058370f, -0.017793f, -0.056827f, 0.013205f, 0.041008f, 0.028227f, -0.000810f, -0.004826f, 0.005007f, 0.009496f, 0.005738f, 0.052277f, -0.062925f, -0.053581f, 0.006167f, 0.021295f, -0.027130f, -0.013861f, 0.004494f, -0.021188f, 0.010002f, -0.010298f, -0.002771f, 0.005724f, -0.004174f, -0.014189f, 0.000434f, 0.012009f, -0.007751f, 0.000249f, -0.020916f, -0.003504f, -0.018421f, 0.013605f, -0.005940f, 0.012494f, -0.007581f, 0.007869f, 0.003077f, 0.010580f, + 0.016158f, -0.016358f, -0.007558f, -0.004761f, 0.012698f, -0.007837f, -0.015090f, -0.027183f, -0.000260f, -0.010743f, -0.004261f, 0.004361f, 0.002557f, 0.000988f, 0.005185f, 0.009183f, -0.001958f, 0.027837f, 0.003207f, -0.001975f, -0.021579f, 0.003949f, -0.004153f, -0.000943f, -0.023121f, -0.119406f, 0.033019f, -0.014534f, -0.007567f, 0.029314f, -0.020230f, 0.031455f, -0.004220f, -0.051735f, -0.009425f, 0.005049f, 0.018180f, 0.023130f, 0.005390f, -0.036657f, 0.036308f, -0.014221f, -0.003293f, -0.022521f, -0.010128f, 0.019482f, -0.003883f, 0.017381f, 0.029276f, -0.006757f, -0.037790f, 0.008406f, 0.041485f, -0.038601f, 0.014214f, 0.032220f, -0.005852f, -0.025525f, -0.047662f, -0.032141f, 0.033629f, 0.086198f, -0.026532f, -0.034356f, 0.097097f, -0.006322f, -0.013978f, 0.069902f, 0.040688f, 0.034745f, 0.028060f, 0.011540f, -0.020544f, 0.035526f, 0.033067f, 0.022809f, 0.010548f, -0.064228f, 0.040132f, 0.035548f, -0.067838f, -0.039204f, -0.024376f, -0.018971f, -0.018692f, 0.074056f, 0.036956f, -0.042296f, 0.039562f, -0.015638f, -0.039584f, 0.017269f, 0.020131f, -0.017456f, -0.016782f, -0.062063f, + 0.006975f, 0.010637f, 0.045411f, 0.021790f, 0.005614f, 0.038008f, -0.030188f, 0.078592f, -0.083523f, -0.097388f, 0.068762f, -0.042014f, -0.002622f, 0.048270f, -0.030413f, -0.020891f, -0.006033f, -0.005714f, 0.005979f, 0.029626f, 0.014512f, -0.024206f, -0.001509f, 0.011553f, -0.002923f, 0.016471f, -0.000679f, 0.009117f, 0.001747f, -0.012839f, 0.006872f, 0.026286f, 0.018054f, -0.001125f, 0.003479f, 0.017582f, -0.002863f, -0.002072f, 0.004413f, 0.040690f, 0.020832f, -0.006519f, 0.008847f, -0.036060f, -0.001628f, 0.009529f, -0.016664f, -0.022357f, 0.021048f, -0.009664f, -0.000680f, 0.021698f, -0.018892f, 0.008346f, -0.003280f, -0.005394f, 0.026860f, -0.015231f, -0.031929f, -0.130108f, 0.039801f, 0.073137f, -0.045607f, -0.009632f, -0.035504f, 0.075251f, 0.050549f, 0.031672f, -0.006187f, -0.026552f, 0.005246f, 0.030223f, 0.013981f, -0.013301f, -0.003060f, 0.041407f, -0.002913f, -0.015506f, -0.055903f, -0.026606f, 0.046832f, 0.027142f, -0.029833f, 0.023564f, -0.021654f, -0.006998f, 0.013920f, 0.013040f, -0.013120f, 0.008350f, -0.049039f, 0.013788f, 0.065855f, -0.008593f, -0.013061f, -0.065106f, + -0.039205f, 0.031279f, -0.051391f, -0.028022f, 0.011514f, 0.012812f, -0.016036f, 0.042325f, 0.039942f, -0.041555f, 0.015230f, 0.022829f, 0.066343f, 0.060752f, -0.009853f, 0.019730f, -0.001841f, 0.069487f, 0.030077f, 0.028052f, 0.065826f, -0.029709f, -0.043375f, -0.022323f, -0.055467f, 0.046365f, 0.021744f, 0.022538f, 0.011864f, 0.078831f, -0.052576f, -0.012444f, 0.033521f, -0.018893f, 0.037224f, -0.002036f, 0.004140f, 0.017211f, -0.045951f, -0.069531f, 0.008481f, 0.013119f, 0.075973f, 0.057773f, 0.001144f, -0.056466f, -0.009153f, -0.061654f, -0.000621f, -0.002172f, -0.017521f, -0.015968f, 0.008065f, -0.005540f, -0.004904f, -0.015810f, -0.010412f, -0.014070f, -0.008541f, 0.001894f, -0.016747f, -0.015259f, -0.002801f, 0.015099f, 0.007527f, -0.020205f, 0.017843f, -0.010355f, 0.033375f, -0.010784f, -0.030270f, -0.011223f, 0.014591f, -0.009532f, -0.023050f, 0.025722f, -0.005925f, -0.023929f, -0.037007f, 0.005430f, -0.006242f, 0.004077f, 0.007751f, -0.014327f, -0.012407f, -0.032336f, -0.007495f, -0.008718f, 0.001883f, 0.005709f, 0.011442f, 0.010022f, -0.024842f, 0.030442f, 0.051564f, 0.045045f, + 0.046394f, 0.059658f, -0.033970f, 0.047043f, -0.091227f, -0.039720f, 0.034836f, 0.008468f, 0.067011f, 0.030740f, 0.057177f, -0.024539f, 0.007751f, -0.049200f, 0.033768f, 0.055654f, 0.050601f, 0.005331f, 0.035920f, -0.087577f, -0.056999f, 0.054777f, 0.016072f, -0.054487f, -0.028091f, 0.006955f, 0.080742f, 0.025135f, -0.032600f, -0.041109f, 0.008381f, -0.011815f, 0.049723f, 0.053756f, -0.005116f, -0.008435f, 0.010792f, -0.014919f, 0.064248f, 0.018677f, -0.015042f, 0.013168f, -0.030346f, -0.017847f, -0.143442f, -0.048558f, 0.025746f, -0.022212f, -0.021346f, -0.000453f, -0.025763f, -0.025692f, 0.065955f, 0.044285f, -0.033011f, 0.060268f, 0.124550f, 0.025826f, 0.088753f, 0.012494f, 0.018143f, 0.065254f, 0.043075f, -0.034776f, -0.039589f, -0.069665f, -0.043326f, -0.004354f, -0.068841f, 0.025803f, -0.008181f, -0.066536f, -0.047770f, -0.047539f, -0.059920f, -0.036197f, -0.024013f, -0.031691f, 0.009558f, 0.057217f, 0.069673f, 0.036921f, -0.007130f, -0.050484f, -0.006370f, 0.002242f, 0.004421f, -0.024452f, -0.004326f, -0.016424f, 0.013682f, 0.019870f, 0.002258f, 0.014630f, -0.000378f, -0.009574f, + 0.016710f, -0.017664f, 0.002341f, 0.016113f, 0.034142f, 0.004984f, -0.000254f, 0.023287f, 0.009786f, 0.061949f, -0.015395f, -0.049838f, -0.002540f, 0.034173f, 0.006078f, -0.013322f, -0.015252f, -0.040445f, -0.038535f, -0.021507f, -0.015327f, -0.006754f, -0.023133f, -0.033091f, -0.035554f, -0.019134f, -0.002866f, 0.005275f, 0.047119f, 0.034474f, -0.012640f, 0.055218f, 0.097466f, 0.067844f, 0.047458f, 0.030070f, 0.018621f, -0.023546f, -0.015548f, -0.023476f, -0.021704f, -0.000847f, 0.057124f, -0.005855f, 0.048577f, -0.030865f, 0.013199f, -0.106631f, 0.030484f, -0.015906f, 0.055338f, -0.013332f, -0.063634f, 0.064683f, -0.023824f, 0.010199f, 0.036976f, 0.027737f, 0.059257f, -0.008637f, 0.009336f, -0.010855f, 0.067512f, -0.013911f, 0.013125f, 0.047114f, -0.053502f, 0.046463f, -0.013096f, 0.028564f, 0.045120f, -0.011677f, 0.010450f, 0.007850f, 0.005038f, -0.014057f, 0.020357f, 0.019707f, -0.007434f, -0.025905f, -0.004392f, -0.030258f, -0.009561f, -0.005448f, 0.025540f, -0.012482f, -0.048289f, -0.031707f, 0.051834f, 0.052352f, -0.048621f, -0.040697f, 0.061979f, 0.072763f, -0.027487f, -0.006729f, + 0.052575f, 0.002555f, 0.027276f, 0.038379f, -0.087099f, -0.025430f, -0.005478f, 0.085313f, 0.008252f, -0.005564f, -0.082978f, 0.017040f, 0.033249f, 0.021964f, 0.003435f, 0.022938f, 0.009097f, 0.012074f, 0.106852f, -0.002778f, 0.006043f, 0.063134f, -0.037074f, 0.042119f, 0.008239f, 0.031908f, 0.020931f, -0.047762f, -0.015477f, 0.057921f, 0.038453f, 0.022511f, -0.013182f, 0.020591f, 0.010458f, 0.000507f, 0.008061f, 0.015157f, -0.006552f, 0.025564f, -0.016036f, -0.003875f, 0.026252f, 0.015822f, 0.005656f, -0.053586f, 0.005285f, 0.027319f, -0.019920f, 0.010109f, -0.047679f, -0.029901f, 0.034182f, 0.017014f, 0.028176f, 0.024832f, -0.018758f, -0.052060f, -0.014290f, 0.018689f, 0.046286f, 0.028550f, -0.006437f, -0.009456f, -0.015726f, 0.038450f, -0.000332f, -0.006878f, -0.015043f, 0.020739f, 0.008796f, -0.007481f, -0.037951f, -0.023465f, 0.024581f, 0.024977f, 0.017565f, -0.025548f, -0.036684f, 0.019389f, 0.049093f, 0.023615f, 0.003585f, -0.023588f, -0.005694f, 0.012311f, -0.000434f, 0.001901f, 0.002856f, -0.005002f, -0.011256f, 0.061482f, -0.104279f, -0.007253f, -0.088235f, -0.081790f, + 0.020487f, 0.017175f, 0.014917f, 0.001991f, 0.077707f, 0.044245f, 0.100062f, 0.109494f, -0.012094f, -0.053951f, 0.011408f, -0.014705f, -0.010045f, 0.023662f, 0.010580f, -0.008866f, -0.050459f, -0.055246f, 0.059755f, 0.027531f, -0.006813f, 0.009060f, 0.009712f, 0.005385f, 0.011008f, -0.005762f, -0.014308f, -0.081668f, 0.001797f, 0.046664f, -0.013710f, -0.063000f, -0.020601f, 0.051438f, -0.095714f, -0.033103f, 0.060569f, 0.036449f, 0.072333f, -0.002291f, 0.005322f, -0.066876f, -0.067256f, -0.085021f, 0.071464f, 0.100871f, -0.133084f, -0.066600f, -0.006885f, 0.067371f, -0.052735f, -0.008875f, 0.122216f, 0.049399f, 0.031086f, 0.080545f, 0.059175f, 0.088440f, -0.031924f, 0.087922f, -0.013308f, -0.069517f, -0.101639f, -0.024188f, 0.039129f, -0.080960f, -0.015638f, 0.017013f, -0.016861f, -0.028745f, 0.017365f, 0.015209f, -0.055282f, 0.040953f, 0.020397f, 0.059671f, -0.014269f, -0.059231f, 0.073570f, 0.014432f, -0.066689f, -0.000036f, -0.015352f, 0.027458f, -0.029397f, -0.030818f, -0.015368f, -0.003551f, -0.000735f, -0.023486f, -0.027658f, 0.021211f, -0.028859f, -0.000708f, -0.028510f, 0.015350f, + 0.027599f, 0.003833f, 0.041139f, 0.027570f, -0.040878f, -0.015819f, 0.000308f, -0.037530f, 0.006501f, -0.006770f, 0.015023f, -0.010269f, 0.013289f, 0.035258f, 0.000427f, 0.006387f, -0.024754f, 0.037951f, 0.024825f, -0.027755f, -0.007643f, 0.026904f, 0.026166f, -0.004353f, -0.039218f, -0.005694f, -0.077324f, 0.059457f, -0.005108f, 0.018136f, 0.022976f, 0.022242f, 0.000670f, -0.026107f, 0.042154f, 0.010516f, 0.040687f, -0.008838f, -0.086497f, -0.007923f, 0.024896f, -0.028492f, -0.031705f, -0.019447f, -0.029228f, 0.035140f, -0.009109f, -0.030800f, -0.001807f, 0.032686f, -0.044092f, 0.030771f, -0.015337f, 0.016340f, -0.043435f, -0.010877f, 0.017524f, -0.003788f, -0.004056f, 0.005293f, 0.024294f, -0.004373f, -0.003992f, -0.030370f, 0.015061f, -0.008377f, 0.004832f, 0.009324f, 0.003149f, 0.022419f, -0.032931f, -0.025177f, 0.034419f, 0.029660f, -0.041339f, 0.019651f, -0.033413f, 0.038456f, -0.032283f, 0.014477f, 0.009913f, -0.027358f, 0.060495f, 0.005837f, -0.067365f, 0.030990f, 0.008127f, -0.052128f, 0.029198f, -0.019166f, 0.031100f, -0.045199f, 0.023151f, -0.047875f, 0.021938f, 0.033992f, + -0.030831f, 0.017632f, -0.032757f, 0.001105f, 0.001094f, 0.003091f, -0.021528f, 0.000384f, 0.016381f, -0.000952f, -0.029569f, 0.022272f, -0.018529f, -0.039821f, 0.017137f, -0.017697f, 0.008663f, 0.018497f, -0.014082f, -0.008539f, 0.003331f, -0.002642f, 0.012028f, -0.006342f, -0.004392f, 0.010704f, 0.013645f, 0.004556f, -0.013721f, -0.008220f, 0.013178f, 0.007860f, -0.031051f, 0.028322f, -0.004067f, -0.010637f, 0.003956f, -0.002252f, 0.006706f, 0.015179f, -0.003754f, 0.028774f, -0.008501f, -0.012555f, -0.014037f, -0.005666f, 0.002773f, -0.013649f, 0.003632f, -0.004655f, -0.005547f, 0.003448f, 0.004660f, -0.005693f, -0.000129f, -0.001629f, -0.006021f, 0.005862f, 0.003961f, -0.006682f, 0.018012f, 0.038617f, -0.017628f, -0.206704f, -0.373995f, -0.123498f, -0.289581f, -0.286461f, 0.156174f, 0.033446f, 0.216722f, 0.488154f, 0.439969f, 0.360973f, 0.440603f, 0.270119f, 0.061316f, 0.085799f, -0.061285f, -0.324961f, -0.321177f, -0.240027f, -0.312042f, -0.213567f, -0.043257f, -0.143750f, -0.198812f, -0.085590f, -0.023782f, -0.102735f, -0.048243f, -0.000803f, -0.050768f, -0.091304f, 0.020676f, 0.081163f, + -0.025857f, 0.112159f, 0.166901f, 0.005302f, 0.033202f, 0.225292f, 0.112265f, 0.002591f, 0.211174f, 0.172922f, -0.039065f, 0.082536f, 0.197238f, -0.002508f, 0.017237f, 0.277902f, 0.149807f, 0.063027f, 0.335741f, 0.369898f, 0.182476f, 0.350739f, 0.435821f, 0.115215f, 0.059518f, 0.178240f, -0.069620f, -0.209103f, -0.121585f, -0.272455f, -0.484326f, -0.483215f, -0.548812f, -0.731184f, -0.736582f, -0.706680f, -0.723192f, -0.646882f, -0.554583f, -0.443939f, -0.290693f, -0.147320f, 0.072513f, 0.321037f, 0.422874f, 0.515930f, 0.698246f, 0.614282f, 0.549035f, 0.613342f, 0.452849f, 0.212002f, 0.248860f, 0.281244f, 0.104262f, 0.136066f, 0.281494f, 0.138665f, 0.026511f, 0.121241f, 0.109003f, -0.061265f, 0.000226f, 0.075983f, -0.111283f, -0.141916f, 0.032490f, -0.028065f, -0.046331f, 0.157076f, 0.134700f, 0.014209f, 0.122439f, 0.177756f, 0.031224f, -0.013237f, 0.009943f, -0.181776f, -0.329184f, -0.343646f, -0.438814f, -0.552043f, -0.523405f, -0.468011f, -0.426661f, -0.380236f, -0.279442f, -0.264826f, -0.289650f, -0.193693f, -0.063475f, 0.017640f, 0.071444f, 0.190000f, 0.227349f, 0.257519f, + 0.461124f, 0.537802f, 0.496705f, 0.458484f, 0.364995f, 0.231271f, 0.197783f, 0.168539f, 0.102917f, 0.073684f, 0.067664f, 0.027072f, -0.006517f, -0.009208f, -0.019947f, -0.040694f, -0.050921f, -0.041722f, -0.057807f, -0.078598f, -0.075995f, -0.073647f, -0.083311f, -0.079173f, -0.060201f, -0.048258f, -0.035726f, -0.029050f, -0.027559f} + }, + { + {-0.015794f, 0.001746f, 0.010395f, 0.003553f, 0.006774f, -0.009882f, -0.005415f, 0.000446f, -0.001751f, 0.002647f, 0.008233f, -0.019798f, -0.000139f, 0.006507f, 0.003909f, 0.005998f, -0.005732f, -0.008002f, 0.008653f, -0.000147f, 0.002412f, 0.005393f, 0.007160f, 0.002640f, 0.001494f, 0.006439f, -0.000951f, -0.002063f, -0.005565f, 0.002997f, -0.001566f, -0.000907f, -0.002889f, 0.003700f, 0.009419f, 0.000038f, -0.001957f, 0.004431f, -0.006025f, -0.009017f, -0.004983f, -0.001829f, -0.005847f, 0.000525f, -0.001352f, 0.003784f, -0.003648f, 0.001050f, -0.007316f, -0.000706f, -0.006016f, -0.000289f, -0.002755f, -0.002378f, 0.003063f, -0.003473f, -0.000353f, 0.004950f, -0.002603f, 0.005904f, 0.007157f, 0.000519f, 0.009674f, -0.004949f, -0.000330f, 0.004624f, -0.001673f, 0.003120f, 0.004397f, 0.002375f, -0.005088f, 0.002002f, 0.002329f, 0.001636f, 0.000310f, -0.004256f, 0.005646f, -0.001524f, 0.002698f, -0.000930f, -0.001169f, 0.000355f, -0.005874f, -0.000486f, -0.004564f, -0.002129f, -0.000200f, -0.000797f, -0.000156f, -0.000456f, -0.002453f, 0.002919f, 0.000342f, 0.000817f, 0.000205f, 0.001630f, + -0.000995f, 0.002059f, -0.000151f, 0.000876f, -0.000337f, -0.000898f, 0.001162f, 0.000112f, -0.000344f, -0.000026f, 0.001640f, 0.000351f, -0.000286f, 0.001011f, 0.000532f, -0.000212f, 0.026251f, -0.007436f, 0.002515f, -0.005746f, -0.000484f, -0.002412f, 0.003009f, 0.002020f, 0.008990f, 0.002747f, 0.001559f, 0.003467f, -0.002197f, -0.018175f, -0.017390f, -0.005452f, 0.002304f, 0.005295f, -0.004426f, 0.000966f, -0.005666f, -0.002040f, 0.000265f, 0.003053f, -0.007726f, -0.008417f, -0.002501f, -0.000562f, 0.004506f, 0.001462f, -0.001906f, -0.006085f, 0.001047f, -0.003364f, 0.000148f, 0.004212f, -0.006168f, 0.002924f, 0.005437f, -0.004293f, -0.011304f, -0.002974f, 0.004077f, -0.000701f, 0.003306f, -0.000580f, 0.002858f, -0.000554f, 0.003143f, 0.000588f, -0.010554f, 0.002043f, 0.004281f, -0.001693f, 0.002893f, 0.000466f, -0.000636f, -0.002115f, 0.000079f, -0.006230f, -0.000580f, -0.001731f, -0.007858f, -0.001348f, -0.000274f, 0.006926f, -0.006907f, 0.011411f, 0.013277f, 0.010443f, -0.004568f, -0.002153f, -0.002446f, 0.005048f, -0.001956f, -0.002900f, 0.003146f, -0.007564f, -0.006879f, 0.000809f, + 0.006046f, -0.000218f, -0.003105f, -0.006768f, -0.004007f, -0.005166f, -0.002738f, -0.004769f, 0.001744f, -0.002868f, -0.000787f, -0.003008f, -0.001592f, 0.000137f, 0.001554f, 0.000107f, 0.001600f, -0.001123f, 0.000096f, 0.001262f, 0.000650f, 0.000990f, 0.001005f, 0.000578f, -0.001275f, 0.001265f, -0.024789f, -0.000161f, -0.003823f, 0.001710f, -0.000856f, -0.012834f, -0.002455f, -0.002711f, 0.004011f, 0.006235f, -0.008592f, 0.006860f, -0.002188f, 0.004725f, 0.004748f, -0.002587f, 0.010320f, 0.000623f, 0.000458f, -0.001799f, 0.001793f, -0.002570f, 0.001905f, -0.002887f, 0.000385f, -0.006751f, 0.000725f, 0.007426f, 0.000001f, 0.003123f, 0.007831f, -0.007708f, -0.008113f, 0.003378f, -0.003684f, 0.006255f, -0.006335f, -0.001922f, -0.013247f, -0.010225f, -0.008852f, 0.003854f, 0.001143f, 0.004699f, -0.004812f, -0.003439f, -0.000999f, 0.008303f, -0.009197f, 0.003787f, 0.001606f, 0.000672f, 0.004666f, -0.003223f, -0.004212f, -0.005549f, 0.003384f, 0.001786f, -0.008135f, -0.008983f, -0.010428f, -0.000318f, -0.002238f, 0.003384f, -0.000471f, -0.001985f, 0.000980f, 0.001388f, 0.004670f, -0.012482f, + 0.001547f, 0.007083f, 0.010537f, 0.010800f, 0.008942f, -0.001591f, -0.006586f, 0.009678f, 0.002966f, 0.001865f, -0.004835f, 0.002784f, 0.002009f, 0.000278f, -0.001193f, -0.002885f, -0.000416f, 0.003298f, -0.002555f, -0.004256f, -0.001725f, -0.001843f, 0.000723f, -0.000374f, -0.001023f, 0.002872f, 0.000241f, 0.003672f, -0.000332f, 0.001043f, 0.002482f, 0.002300f, 0.001821f, 0.001291f, -0.001459f, -0.001652f, -0.000515f, 0.001442f, -0.000270f, 0.001408f, -0.000988f, 0.002478f, 0.002115f, -0.002198f, 0.000150f, 0.000151f, -0.003538f, 0.002666f, -0.014475f, 0.008990f, -0.007671f, 0.010713f, 0.013950f, 0.008697f, -0.000148f, 0.004142f, 0.000955f, 0.011425f, -0.006224f, -0.006252f, 0.003281f, -0.001735f, 0.004687f, 0.008794f, -0.012552f, 0.003999f, 0.011285f, 0.005323f, -0.000807f, -0.000088f, 0.001375f, -0.005237f, -0.000075f, -0.004948f, -0.006900f, -0.001799f, 0.010693f, -0.004006f, 0.004972f, -0.003700f, -0.006520f, 0.012800f, -0.011148f, 0.008595f, 0.009402f, 0.001863f, 0.005963f, -0.008260f, -0.002256f, -0.003269f, -0.002604f, 0.005969f, 0.001809f, -0.008884f, 0.001452f, -0.000857f, + 0.001690f, -0.001915f, 0.003206f, 0.003076f, 0.010663f, -0.011151f, 0.005375f, 0.004244f, -0.001122f, 0.004216f, 0.001180f, 0.006561f, 0.006139f, 0.003892f, -0.003603f, 0.005228f, 0.009229f, -0.000232f, 0.005409f, -0.003906f, 0.010941f, 0.011293f, 0.012395f, -0.003563f, -0.008682f, 0.002803f, -0.001211f, 0.004422f, 0.003190f, -0.000048f, -0.000659f, -0.012419f, -0.003251f, -0.002881f, -0.000985f, -0.002547f, -0.003730f, 0.004265f, 0.001632f, 0.001347f, 0.004997f, -0.000297f, 0.005053f, 0.003193f, 0.001634f, -0.000708f, 0.000867f, -0.001107f, -0.002125f, 0.001497f, 0.000374f, 0.002451f, -0.000742f, 0.000590f, -0.000169f, -0.001652f, 0.002749f, -0.000104f, -0.002371f, 0.000966f, 0.002226f, 0.000261f, -0.003086f, 0.000768f, -0.001431f, 0.004234f, 0.003094f, 0.003087f, -0.000355f, 0.000955f, 0.002409f, 0.000249f, 0.001236f, 0.020307f, -0.001861f, -0.006341f, 0.019317f, -0.007628f, 0.008681f, -0.004642f, -0.018446f, 0.003294f, -0.005298f, 0.000587f, 0.022136f, -0.008564f, -0.010459f, 0.000852f, 0.011647f, -0.018709f, -0.006924f, 0.014040f, -0.004913f, 0.004537f, 0.006662f, -0.005008f, + 0.006067f, -0.003915f, -0.006454f, 0.001304f, -0.001796f, -0.002277f, -0.002368f, 0.007821f, -0.006237f, 0.015232f, 0.003834f, 0.000325f, -0.008700f, -0.002596f, 0.009354f, -0.010696f, 0.002316f, 0.003698f, -0.001627f, -0.014914f, 0.010241f, 0.002705f, 0.002553f, 0.001314f, -0.002008f, 0.007685f, -0.004519f, 0.010510f, 0.006039f, -0.004101f, -0.018117f, 0.008073f, 0.004927f, -0.000464f, -0.005091f, 0.004375f, 0.011785f, 0.011898f, -0.001246f, 0.007032f, -0.010651f, 0.007768f, -0.001835f, -0.003714f, 0.004699f, 0.009197f, -0.006406f, 0.009103f, 0.001701f, -0.003877f, -0.003153f, 0.007420f, -0.006161f, 0.017647f, -0.009022f, 0.007290f, -0.006037f, 0.001563f, -0.005386f, 0.007043f, -0.006266f, 0.000288f, 0.004104f, -0.001254f, 0.000848f, -0.005490f, -0.001784f, -0.000783f, 0.000108f, 0.001457f, -0.002294f, 0.003033f, -0.000225f, -0.002174f, 0.003207f, -0.006303f, -0.006239f, -0.003650f, 0.000193f, -0.000661f, -0.001178f, 0.000138f, -0.004224f, 0.005235f, 0.000431f, -0.000395f, 0.003792f, -0.003085f, -0.000520f, 0.004120f, 0.001888f, 0.001410f, 0.006734f, 0.006037f, 0.019075f, 0.002528f, + -0.004801f, -0.024364f, 0.007548f, 0.013842f, 0.008288f, 0.005421f, -0.002042f, 0.007051f, 0.026540f, -0.003211f, 0.012274f, 0.001214f, 0.006875f, 0.002627f, 0.000505f, 0.005333f, -0.002199f, -0.011318f, -0.003147f, -0.008410f, -0.002171f, -0.011868f, 0.004309f, 0.000364f, 0.013939f, 0.002744f, -0.006451f, 0.004617f, -0.001951f, -0.003385f, 0.008943f, 0.003221f, 0.006690f, 0.003912f, -0.003829f, -0.015506f, 0.000985f, 0.009052f, -0.000591f, -0.002955f, 0.004078f, -0.008181f, -0.003464f, -0.014440f, -0.017892f, 0.009314f, 0.010365f, 0.008104f, -0.002506f, -0.002911f, 0.000163f, -0.000269f, 0.005317f, -0.000877f, 0.005821f, 0.005228f, -0.000142f, 0.005388f, -0.004947f, 0.001482f, -0.002595f, 0.003216f, 0.003925f, 0.016878f, 0.000081f, 0.013821f, -0.005137f, -0.014118f, -0.001248f, -0.001862f, -0.005347f, 0.011345f, -0.000861f, 0.004725f, 0.001094f, -0.007998f, -0.009642f, -0.003355f, -0.002001f, 0.001153f, 0.010013f, 0.003348f, 0.001119f, 0.004292f, 0.006735f, -0.002739f, 0.005097f, -0.000510f, 0.004349f, 0.002779f, 0.001150f, 0.006038f, -0.000570f, 0.003567f, 0.002063f, 0.001889f, + -0.001009f, -0.001479f, -0.003392f, -0.001482f, 0.003576f, 0.005477f, -0.001247f, 0.000566f, -0.002942f, -0.000340f, 0.000301f, -0.002907f, 0.002236f, -0.005556f, 0.000316f, -0.000180f, 0.000082f, 0.008777f, -0.021629f, -0.000712f, 0.022024f, 0.030280f, -0.012587f, 0.003398f, 0.004803f, -0.010524f, -0.006144f, 0.001186f, -0.008783f, -0.009151f, 0.021191f, 0.002958f, -0.014071f, -0.002249f, -0.009188f, -0.005236f, 0.013777f, -0.004344f, -0.006126f, 0.012505f, 0.007716f, 0.012634f, -0.005387f, 0.002593f, 0.012323f, 0.000534f, -0.007428f, 0.003369f, -0.001092f, 0.001528f, -0.015645f, -0.010664f, 0.004651f, -0.001126f, 0.003699f, -0.014404f, 0.006735f, 0.005246f, 0.003344f, -0.025382f, -0.014872f, -0.006449f, -0.003193f, 0.003585f, -0.011114f, -0.007443f, 0.002463f, 0.019415f, 0.012787f, 0.006860f, -0.003468f, -0.002162f, -0.007375f, 0.005585f, -0.002153f, -0.014414f, -0.011011f, -0.001363f, -0.000243f, 0.020332f, 0.011264f, -0.010126f, -0.011288f, 0.014043f, 0.002799f, -0.008534f, 0.000071f, 0.012595f, 0.004781f, 0.000330f, -0.016461f, 0.018071f, -0.006386f, 0.012030f, 0.015834f, 0.016621f, + 0.001471f, -0.006206f, -0.005007f, 0.008512f, 0.009815f, -0.008642f, 0.006902f, 0.009253f, 0.006580f, -0.002902f, -0.002206f, 0.001257f, 0.005659f, 0.004567f, -0.004913f, -0.007686f, -0.007166f, 0.003475f, -0.003435f, -0.002334f, -0.004970f, -0.001065f, -0.003560f, 0.001764f, -0.002936f, 0.002116f, 0.001747f, -0.000661f, 0.000015f, 0.004000f, -0.002968f, -0.006158f, -0.001086f, 0.005494f, -0.003352f, -0.003099f, -0.003171f, -0.002366f, -0.000386f, -0.000216f, -0.003744f, -0.000210f, -0.002722f, -0.001431f, 0.001050f, 0.003631f, -0.002440f, -0.000214f, -0.000783f, -0.001767f, 0.003430f, 0.004161f, -0.005866f, 0.008976f, -0.011464f, 0.013098f, -0.001200f, -0.003540f, 0.006965f, -0.013216f, 0.004515f, 0.007207f, 0.001448f, 0.005038f, 0.006239f, -0.003569f, 0.014592f, -0.006859f, -0.024902f, -0.014807f, -0.003276f, 0.000985f, -0.005276f, -0.010629f, -0.011636f, -0.007887f, 0.024461f, -0.006778f, -0.001930f, 0.003543f, -0.005084f, 0.002933f, 0.020067f, -0.009641f, 0.009525f, -0.006244f, -0.012900f, 0.011573f, 0.008349f, 0.005348f, 0.017985f, 0.000421f, 0.008471f, -0.000768f, 0.002148f, -0.000685f, + -0.005907f, 0.003983f, -0.001367f, 0.013048f, 0.002606f, -0.008955f, -0.002307f, -0.002568f, -0.000613f, -0.014609f, 0.005885f, -0.014402f, 0.003511f, 0.019433f, -0.012653f, -0.024240f, 0.005638f, 0.003388f, 0.011134f, -0.004894f, -0.000219f, 0.011382f, -0.006998f, 0.005592f, 0.008381f, 0.002378f, -0.005082f, 0.011240f, 0.002429f, 0.014426f, 0.003068f, -0.008910f, -0.008459f, 0.009386f, 0.015746f, 0.005565f, -0.000132f, -0.012908f, -0.002601f, -0.004128f, 0.009350f, 0.002399f, -0.017663f, 0.002821f, 0.004712f, 0.001336f, 0.001812f, 0.006913f, -0.003085f, 0.002942f, -0.004801f, 0.003070f, 0.002790f, 0.002263f, 0.003649f, 0.001629f, 0.002425f, 0.002240f, -0.004056f, 0.001383f, -0.001212f, -0.000593f, 0.004043f, 0.001734f, 0.002272f, 0.004571f, -0.001331f, -0.014134f, 0.001423f, -0.000893f, 0.001100f, -0.001230f, -0.000814f, 0.004021f, 0.002666f, -0.002224f, -0.002620f, -0.019393f, 0.044543f, -0.010482f, 0.019977f, 0.001819f, 0.008302f, 0.005986f, -0.000182f, -0.025069f, 0.021210f, -0.031237f, 0.010021f, 0.007408f, 0.028028f, -0.013240f, 0.012593f, -0.019901f, 0.012882f, -0.006489f, + -0.021423f, -0.010308f, 0.004960f, 0.005394f, 0.007732f, 0.003893f, 0.011151f, 0.007269f, 0.016939f, -0.005353f, -0.014000f, -0.012634f, 0.004821f, -0.000235f, -0.006951f, 0.011298f, 0.004898f, -0.002421f, 0.006717f, 0.014003f, -0.001370f, 0.003557f, -0.002177f, 0.006877f, 0.004029f, -0.018134f, -0.007920f, -0.023732f, -0.005514f, -0.004110f, -0.000619f, 0.011251f, 0.010027f, 0.001406f, -0.006600f, -0.000229f, -0.003629f, -0.005714f, 0.003083f, 0.033157f, 0.002918f, -0.000831f, 0.010499f, -0.000902f, 0.012040f, -0.005306f, 0.000080f, -0.008004f, 0.033290f, 0.007760f, -0.013795f, -0.015806f, -0.010569f, 0.001197f, -0.000782f, -0.021449f, 0.001122f, 0.004289f, 0.001396f, 0.023171f, -0.006108f, 0.003309f, -0.014501f, -0.004851f, -0.039293f, -0.006905f, 0.001979f, 0.001377f, -0.015131f, 0.003820f, -0.007304f, 0.004795f, 0.002230f, -0.007260f, -0.000930f, 0.005028f, 0.007917f, 0.014684f, 0.003854f, -0.005523f, -0.005119f, -0.012053f, -0.004677f, 0.000983f, 0.001945f, -0.006992f, -0.002665f, 0.006322f, 0.002251f, -0.001921f, -0.001685f, -0.005221f, -0.004786f, -0.002445f, 0.001320f, -0.010070f, + -0.007060f, 0.001712f, 0.003935f, -0.000106f, -0.002595f, 0.002314f, 0.008102f, 0.001212f, 0.000620f, -0.000838f, -0.003598f, 0.000093f, -0.011649f, 0.023428f, 0.002111f, 0.019520f, 0.011883f, 0.019145f, 0.006478f, -0.019181f, 0.018998f, -0.012240f, 0.032800f, -0.021043f, -0.006165f, -0.029143f, -0.006088f, -0.003003f, 0.013089f, -0.013503f, 0.019165f, 0.015487f, -0.009182f, 0.001185f, 0.021899f, 0.030809f, -0.009705f, 0.000875f, -0.003936f, 0.009725f, 0.000218f, -0.003492f, 0.004523f, 0.008517f, -0.014570f, 0.011137f, 0.002164f, 0.012754f, 0.004893f, 0.002031f, -0.024935f, -0.003940f, 0.029061f, -0.003372f, 0.009762f, 0.022333f, 0.006470f, -0.001629f, -0.007711f, -0.010145f, -0.006086f, 0.001115f, -0.009487f, -0.005622f, 0.016856f, 0.015641f, 0.004920f, 0.025911f, 0.017189f, -0.005308f, -0.002539f, 0.003633f, 0.006017f, -0.007791f, -0.020547f, 0.026942f, 0.011845f, -0.005411f, 0.024591f, 0.025787f, 0.028649f, 0.012514f, 0.004336f, -0.010284f, 0.000738f, -0.014430f, -0.011643f, -0.007320f, -0.028709f, 0.011628f, -0.003638f, 0.024588f, -0.005811f, -0.019152f, -0.003630f, 0.001938f, + -0.002864f, -0.025580f, 0.004092f, 0.006939f, 0.011672f, 0.012463f, -0.008694f, 0.004070f, -0.005947f, -0.016607f, 0.003254f, 0.006549f, -0.001315f, -0.004853f, -0.012635f, 0.013295f, 0.007421f, -0.011698f, -0.013414f, -0.007408f, 0.007620f, -0.001284f, -0.003856f, 0.003650f, -0.006005f, 0.003780f, -0.001595f, 0.002359f, 0.005703f, -0.008448f, -0.004053f, 0.003890f, -0.001903f, 0.000224f, 0.017023f, 0.005675f, 0.001040f, -0.001093f, 0.003956f, -0.005626f, -0.003355f, -0.000488f, 0.005475f, 0.025513f, 0.001453f, 0.004616f, -0.003894f, 0.002056f, -0.003333f, -0.038799f, 0.004439f, -0.000435f, -0.007015f, -0.002951f, -0.019090f, 0.021785f, 0.022359f, 0.024989f, -0.040701f, 0.013060f, 0.008363f, 0.000952f, 0.040053f, 0.016394f, -0.019987f, -0.002395f, 0.039546f, 0.004604f, 0.007025f, 0.008008f, -0.011669f, 0.006540f, 0.008126f, 0.024509f, 0.012443f, -0.018872f, -0.030954f, 0.011624f, 0.007301f, -0.015661f, -0.002960f, 0.001428f, -0.019038f, 0.002088f, 0.023183f, 0.009805f, 0.012985f, 0.018771f, 0.030512f, 0.002804f, 0.026873f, 0.005228f, -0.010700f, -0.001642f, -0.015936f, -0.008422f, + 0.006645f, 0.009015f, 0.006953f, 0.013425f, -0.019154f, -0.008748f, 0.034263f, -0.002637f, -0.007381f, -0.019258f, 0.016243f, 0.014624f, 0.005089f, 0.006046f, -0.000279f, 0.009340f, -0.014917f, 0.024364f, -0.012347f, -0.014726f, -0.011915f, -0.008304f, 0.033177f, 0.008820f, 0.006902f, -0.036247f, -0.019867f, -0.029828f, 0.002151f, -0.003325f, -0.002950f, -0.028315f, -0.039134f, -0.001291f, 0.017566f, -0.009833f, 0.004996f, -0.002752f, -0.002694f, 0.009634f, -0.013640f, -0.006031f, -0.006228f, 0.011662f, 0.001954f, -0.008935f, -0.000154f, -0.001626f, -0.000237f, -0.004366f, -0.008219f, 0.001807f, 0.013067f, -0.006611f, -0.004314f, -0.008636f, -0.003833f, -0.006131f, -0.002899f, 0.005465f, -0.001945f, 0.008786f, -0.003003f, -0.002236f, -0.005206f, -0.004128f, 0.013743f, -0.001711f, -0.000940f, -0.006807f, -0.001059f, 0.007824f, 0.002213f, -0.010321f, 0.002248f, 0.000443f, 0.002894f, 0.036084f, 0.042466f, -0.011000f, 0.011856f, -0.003204f, -0.012551f, 0.002366f, -0.028620f, -0.017712f, -0.001360f, -0.005834f, 0.056985f, -0.025782f, 0.007204f, -0.036366f, -0.005434f, 0.022051f, -0.009410f, -0.020280f, + -0.021290f, -0.007835f, 0.008630f, 0.011194f, -0.001525f, -0.001901f, -0.023917f, 0.005533f, 0.016563f, 0.008336f, 0.010114f, 0.002968f, 0.003622f, -0.013980f, -0.004657f, 0.009243f, 0.003315f, -0.000101f, 0.000948f, -0.016847f, 0.007367f, -0.017726f, -0.002966f, -0.000543f, 0.005029f, -0.019674f, -0.002122f, 0.009526f, 0.013959f, -0.022407f, -0.011816f, 0.039564f, -0.015339f, -0.031337f, 0.026162f, -0.025513f, -0.008123f, -0.011335f, -0.004672f, -0.019608f, -0.013649f, -0.004188f, -0.019775f, -0.028161f, 0.045160f, 0.024888f, 0.020067f, 0.013716f, -0.017693f, -0.006963f, -0.011970f, 0.012631f, -0.021416f, 0.015007f, -0.011481f, 0.006401f, 0.015058f, 0.009800f, 0.002966f, -0.029003f, 0.028223f, -0.034630f, -0.009173f, -0.033577f, -0.013707f, 0.021952f, -0.001395f, 0.012413f, 0.025225f, 0.007961f, -0.002687f, 0.004840f, -0.008966f, 0.000395f, -0.002813f, -0.009681f, 0.011330f, -0.004083f, -0.005416f, 0.012985f, 0.006825f, -0.003578f, 0.000780f, 0.000494f, 0.001969f, -0.006010f, 0.005589f, 0.001683f, 0.002960f, -0.007173f, 0.004706f, -0.003393f, 0.012297f, -0.005675f, 0.008657f, -0.002776f, + -0.004448f, 0.013033f, -0.008917f, -0.003951f, -0.007990f, 0.005177f, 0.012895f, 0.005873f, -0.003831f, 0.006022f, -0.005370f, 0.006154f, 0.008937f, -0.009962f, -0.023798f, -0.001884f, 0.059742f, -0.026889f, 0.025927f, -0.053558f, 0.014627f, -0.034078f, -0.006454f, 0.018868f, -0.001773f, 0.012061f, 0.019775f, 0.015751f, -0.023405f, 0.017298f, 0.003508f, 0.012758f, -0.005094f, 0.017741f, 0.016463f, -0.003753f, 0.003394f, 0.010618f, 0.012024f, -0.017288f, -0.005972f, -0.025162f, -0.003175f, 0.021956f, 0.000520f, -0.010618f, 0.002202f, 0.008038f, 0.001472f, -0.009245f, -0.017928f, 0.004410f, -0.012147f, 0.011411f, -0.011481f, 0.042421f, -0.004069f, -0.023282f, -0.026193f, 0.005748f, -0.014419f, 0.013258f, -0.029369f, -0.023064f, -0.029837f, 0.006706f, -0.025215f, -0.006134f, -0.036152f, 0.025636f, 0.005194f, 0.017203f, 0.010600f, -0.039040f, 0.002880f, -0.003619f, -0.014677f, -0.021881f, -0.006060f, -0.018654f, -0.023466f, -0.013025f, 0.010704f, 0.015244f, 0.022268f, -0.013055f, 0.003005f, 0.009554f, -0.032808f, 0.014856f, -0.022522f, -0.002186f, 0.018300f, 0.007698f, 0.007310f, 0.003278f, + 0.037729f, -0.021846f, -0.008115f, -0.008408f, 0.009784f, -0.032465f, 0.002409f, -0.002778f, -0.000479f, 0.020823f, 0.012018f, 0.010219f, 0.003580f, -0.008032f, 0.001102f, -0.004065f, 0.015075f, -0.006046f, -0.002157f, -0.008760f, 0.017108f, 0.006772f, -0.006274f, 0.004585f, -0.015535f, 0.010385f, 0.005165f, 0.008134f, 0.001118f, -0.003231f, 0.009480f, 0.017466f, 0.005773f, -0.008742f, -0.011945f, -0.004955f, 0.004223f, -0.012104f, -0.002975f, -0.018319f, -0.013493f, -0.007320f, -0.000277f, -0.010157f, 0.007016f, -0.008043f, 0.017517f, -0.014211f, -0.000583f, -0.000259f, -0.049756f, -0.014306f, 0.056098f, 0.049652f, 0.027957f, -0.023844f, 0.024659f, 0.037169f, -0.024390f, 0.032851f, -0.026262f, 0.030342f, 0.007255f, -0.001896f, 0.010088f, -0.000521f, 0.016033f, -0.023743f, -0.006654f, -0.010643f, 0.012246f, -0.022507f, -0.020200f, 0.031952f, -0.002932f, -0.006511f, 0.003143f, -0.030638f, -0.000547f, 0.049603f, 0.027122f, 0.005748f, -0.000330f, 0.010663f, 0.046958f, 0.020099f, 0.000858f, 0.008007f, -0.012811f, -0.005446f, -0.011006f, 0.020228f, -0.010281f, 0.013547f, 0.002684f, 0.024137f, + -0.028318f, -0.000489f, -0.001560f, 0.000841f, -0.007872f, 0.013515f, 0.021734f, -0.004981f, -0.005983f, 0.021880f, 0.002658f, 0.002801f, 0.049508f, 0.007861f, 0.000836f, -0.022515f, 0.010150f, -0.016724f, 0.023021f, -0.026336f, -0.023244f, 0.003676f, -0.022892f, -0.024572f, -0.037477f, 0.010173f, -0.012389f, 0.019511f, -0.006202f, 0.011043f, -0.054813f, 0.011285f, -0.018415f, -0.033287f, 0.017569f, 0.023104f, 0.012256f, 0.007197f, 0.004381f, 0.009729f, 0.014907f, -0.007054f, -0.008311f, -0.010064f, -0.000442f, -0.011046f, 0.007166f, 0.001515f, -0.015669f, -0.010926f, 0.009339f, 0.005478f, 0.000952f, 0.016300f, -0.005446f, -0.001652f, -0.012699f, -0.002699f, 0.000336f, 0.006777f, 0.004516f, -0.010836f, -0.006395f, -0.002971f, -0.012850f, -0.002443f, -0.012047f, 0.004988f, 0.003615f, 0.014661f, 0.010258f, -0.001008f, -0.005635f, 0.000020f, 0.000389f, -0.004152f, -0.000609f, -0.015267f, -0.002421f, 0.006278f, 0.007093f, 0.001952f, -0.002269f, 0.014743f, 0.002768f, 0.041585f, -0.064002f, 0.026849f, 0.027988f, -0.045500f, -0.004644f, -0.038988f, -0.012868f, -0.035003f, -0.015833f, 0.040028f, + -0.013710f, -0.002938f, -0.028158f, -0.005471f, 0.006460f, -0.041740f, -0.001633f, 0.026646f, -0.051533f, 0.001879f, -0.035189f, -0.019008f, 0.000698f, 0.003779f, -0.023308f, -0.018734f, -0.019532f, -0.005647f, -0.016794f, -0.001101f, 0.008933f, -0.005087f, 0.013063f, -0.025159f, -0.016035f, 0.033556f, -0.015720f, 0.018160f, -0.019992f, 0.018894f, 0.017306f, 0.002928f, 0.004612f, 0.017595f, 0.000827f, 0.025084f, 0.031775f, -0.006022f, 0.004700f, 0.047189f, 0.002799f, 0.024233f, -0.001711f, -0.018826f, -0.037234f, 0.006219f, 0.025852f, -0.041114f, 0.000538f, -0.024192f, -0.012694f, -0.053306f, 0.023017f, 0.035111f, -0.009190f, 0.016897f, -0.008628f, 0.038185f, 0.042307f, -0.003444f, -0.041893f, -0.040750f, 0.058057f, -0.045263f, 0.016938f, 0.006657f, 0.006034f, 0.043389f, -0.018494f, 0.070717f, -0.001179f, -0.016101f, -0.018441f, -0.012820f, 0.011322f, -0.004491f, -0.005395f, -0.000486f, 0.018285f, -0.004598f, -0.011488f, 0.015264f, -0.005514f, 0.007670f, -0.014063f, -0.008549f, 0.013391f, 0.000973f, 0.020008f, -0.006658f, 0.008525f, -0.014775f, -0.004190f, -0.020198f, 0.004182f, 0.008145f, + 0.010006f, 0.001877f, 0.010280f, 0.000917f, -0.003124f, 0.010849f, -0.017037f, 0.011225f, -0.014447f, -0.005228f, 0.008805f, -0.017842f, -0.004467f, -0.010268f, -0.029805f, -0.008062f, 0.001985f, 0.010710f, -0.014544f, -0.007664f, -0.012786f, -0.004247f, 0.003156f, 0.011733f, 0.069500f, 0.078326f, -0.004630f, -0.059078f, 0.058345f, -0.064588f, 0.009098f, 0.027386f, 0.006784f, -0.006916f, -0.029804f, 0.033553f, -0.015028f, -0.012028f, -0.030351f, -0.017654f, -0.009468f, -0.037882f, -0.020849f, -0.016933f, -0.009481f, -0.006227f, 0.026299f, -0.000387f, 0.022730f, 0.000167f, -0.009836f, -0.033182f, -0.036358f, -0.009182f, -0.001335f, -0.000490f, -0.005528f, -0.013592f, -0.015713f, 0.017391f, 0.041859f, -0.022751f, 0.014412f, -0.014206f, -0.014649f, 0.016632f, -0.016228f, -0.026274f, 0.058768f, -0.006493f, 0.005395f, 0.002883f, -0.032852f, -0.007224f, -0.006899f, 0.016648f, -0.042438f, -0.018792f, 0.044870f, 0.007216f, -0.019092f, 0.024390f, 0.045602f, -0.025947f, -0.032138f, 0.016689f, -0.027246f, 0.000441f, -0.050983f, 0.016454f, 0.043327f, -0.004436f, 0.022591f, 0.013199f, 0.007565f, 0.049718f, + 0.015589f, -0.000220f, 0.028651f, -0.004160f, -0.003993f, 0.017548f, 0.018783f, -0.072101f, 0.006572f, -0.031355f, 0.025477f, -0.001172f, 0.000959f, 0.017939f, -0.005449f, -0.006882f, -0.009508f, 0.009666f, 0.003659f, -0.007045f, 0.009608f, -0.010309f, 0.001023f, -0.005467f, -0.013940f, 0.006411f, -0.006992f, 0.015597f, 0.008548f, -0.000238f, 0.000048f, 0.004300f, -0.004159f, 0.009247f, 0.004501f, 0.002910f, 0.003746f, -0.002586f, 0.003392f, -0.006206f, -0.012110f, -0.006604f, -0.003162f, 0.001695f, -0.015746f, 0.012829f, 0.008575f, 0.000671f, 0.004650f, -0.010526f, 0.014714f, 0.001832f, -0.008778f, 0.005388f, 0.006337f, -0.018804f, -0.003922f, 0.001926f, -0.001535f, 0.000306f, 0.003416f, 0.002396f, -0.095306f, -0.066752f, 0.027872f, -0.028275f, -0.026644f, -0.081070f, -0.023383f, 0.017315f, 0.006722f, -0.015950f, -0.045071f, -0.000557f, 0.022887f, -0.001648f, 0.003134f, 0.023710f, 0.042090f, -0.036457f, 0.095786f, -0.024620f, -0.031763f, -0.009653f, -0.005348f, 0.000460f, -0.037864f, 0.000892f, -0.006638f, 0.020254f, -0.012764f, 0.028655f, -0.011820f, -0.024338f, 0.010025f, 0.011829f, + -0.021724f, 0.023775f, -0.072903f, 0.000604f, -0.005803f, 0.029135f, 0.035229f, -0.025475f, 0.032855f, -0.012579f, 0.009420f, -0.015672f, -0.005230f, -0.009631f, 0.026295f, -0.003497f, 0.034610f, 0.054036f, -0.046984f, -0.013129f, 0.025385f, -0.031665f, 0.019203f, -0.035974f, -0.019832f, -0.017905f, -0.021056f, -0.036726f, -0.018820f, 0.017124f, 0.013997f, 0.028180f, 0.036579f, 0.026568f, -0.044286f, 0.005535f, 0.008206f, 0.010538f, 0.008957f, 0.028307f, -0.013855f, -0.029963f, 0.017150f, -0.007810f, -0.023411f, 0.004552f, -0.040110f, -0.016620f, -0.034941f, 0.003171f, 0.020593f, -0.012757f, 0.019792f, 0.010591f, -0.001197f, -0.007625f, -0.000592f, -0.031178f, -0.011692f, 0.010273f, 0.005178f, 0.006753f, 0.002145f, 0.003444f, 0.002771f, 0.009622f, 0.002610f, -0.020969f, -0.002948f, 0.003084f, -0.002132f, 0.005335f, -0.009608f, -0.008835f, -0.020470f, 0.005176f, 0.018050f, -0.020615f, -0.014473f, 0.010462f, -0.005242f, -0.021041f, 0.013755f, -0.010306f, -0.008441f, 0.012418f, -0.001000f, -0.004039f, -0.006469f, -0.009425f, -0.012480f, -0.013269f, -0.003472f, -0.011318f, -0.006760f, -0.005904f, + 0.008921f, -0.000778f, 0.013311f, -0.019820f, -0.064922f, 0.048994f, -0.083106f, 0.058402f, -0.008380f, -0.037176f, -0.031723f, -0.035409f, -0.023982f, -0.018671f, 0.001776f, 0.042813f, -0.003478f, -0.035904f, 0.038123f, 0.054033f, -0.082948f, -0.022159f, 0.005772f, -0.006874f, -0.012952f, -0.004167f, -0.011522f, -0.014755f, -0.024125f, 0.030754f, -0.010807f, -0.023043f, -0.039480f, -0.039243f, 0.038629f, 0.010044f, -0.007093f, -0.004297f, 0.000015f, -0.008677f, -0.010545f, 0.008490f, -0.034737f, 0.018887f, 0.039485f, 0.029466f, 0.018375f, 0.037693f, 0.043870f, -0.025269f, 0.009328f, -0.036359f, 0.039244f, -0.022519f, -0.006492f, -0.000271f, -0.057319f, 0.018539f, 0.047132f, 0.007972f, -0.019426f, -0.015826f, 0.061628f, -0.024898f, -0.026669f, 0.017233f, -0.062943f, -0.007428f, -0.031245f, 0.001272f, -0.061548f, 0.025624f, 0.010644f, 0.025110f, -0.099841f, -0.085674f, 0.013944f, -0.029996f, -0.020113f, -0.012484f, -0.066885f, 0.022033f, -0.039564f, -0.043194f, 0.032464f, -0.029102f, -0.017174f, 0.013773f, -0.007054f, -0.013152f, -0.002458f, -0.003721f, 0.013942f, -0.033061f, -0.015605f, -0.031904f, + 0.000025f, -0.014079f, 0.006346f, -0.004666f, -0.025178f, -0.010418f, 0.008819f, -0.001749f, 0.001779f, 0.006601f, -0.027566f, 0.003395f, -0.034917f, 0.015948f, 0.005258f, -0.025443f, 0.008033f, -0.030241f, -0.006524f, -0.011154f, 0.002235f, 0.015829f, -0.011913f, 0.016382f, -0.008835f, 0.027984f, -0.012889f, 0.017532f, -0.009880f, -0.003267f, -0.000919f, -0.003565f, 0.005698f, -0.003054f, -0.000022f, -0.002454f, -0.006395f, -0.000095f, 0.010090f, -0.002978f, -0.004353f, -0.003674f, 0.003227f, -0.003738f, -0.003795f, -0.002860f, -0.001803f, 0.000700f, -0.001797f, -0.001400f, -0.001607f, -0.003624f, -0.001504f, 0.001738f, -0.000079f, 0.006110f, 0.073975f, -0.101856f, 0.104533f, 0.031038f, -0.003081f, 0.009055f, -0.074728f, 0.015996f, 0.035734f, -0.012739f, 0.089098f, -0.024780f, 0.038778f, -0.030724f, 0.098104f, -0.003003f, -0.012748f, -0.036829f, -0.013261f, 0.014797f, -0.009447f, 0.040164f, 0.031157f, -0.009835f, 0.003034f, -0.037866f, 0.015044f, 0.039798f, 0.040118f, -0.042723f, 0.018498f, -0.007999f, 0.042803f, -0.010938f, 0.027951f, -0.025065f, -0.019752f, -0.057168f, 0.004233f, -0.036014f, + -0.053725f, 0.077281f, -0.033716f, -0.006197f, -0.014330f, -0.017836f, 0.010657f, 0.006930f, 0.027392f, -0.012234f, 0.041928f, 0.004504f, 0.075873f, 0.029639f, 0.083952f, 0.071740f, -0.006876f, 0.048170f, 0.036550f, -0.011922f, 0.042955f, 0.058745f, -0.024778f, -0.057439f, 0.033234f, 0.022050f, 0.047690f, 0.025020f, -0.004526f, 0.000045f, -0.061940f, -0.005260f, -0.018168f, -0.021899f, 0.082691f, -0.008819f, -0.000820f, 0.103215f, 0.068676f, 0.037599f, 0.045899f, 0.024245f, 0.003003f, 0.012412f, 0.059572f, 0.001422f, -0.015552f, 0.018362f, 0.050057f, 0.024245f, 0.028549f, 0.014827f, 0.034642f, -0.001108f, 0.009993f, 0.013651f, 0.024260f, 0.009040f, 0.006174f, 0.005117f, 0.002763f, 0.020396f, 0.029470f, 0.013329f, 0.038942f, 0.003633f, 0.024036f, 0.024674f, 0.043898f, 0.000172f, 0.030050f, 0.027526f, 0.005700f, 0.023367f, 0.001252f, 0.005896f, -0.007431f, 0.010199f, 0.012206f, 0.006978f, 0.006321f, 0.002553f, -0.005249f, 0.002228f, 0.010276f, -0.004441f, 0.005581f, 0.020975f, -0.004400f, 0.031791f, -0.071480f, 0.137238f, -0.018617f, -0.015274f, -0.008751f, 0.099843f, + -0.061311f, 0.050075f, -0.067126f, 0.063600f, 0.012884f, -0.012418f, 0.001639f, 0.037243f, -0.015994f, 0.034719f, -0.016124f, -0.000331f, 0.070161f, 0.021485f, -0.017938f, -0.000307f, 0.017537f, 0.013717f, -0.068005f, 0.018088f, -0.024747f, -0.006255f, -0.035813f, 0.034580f, 0.033009f, 0.005027f, 0.015682f, 0.058436f, -0.019369f, -0.093354f, 0.022362f, 0.060885f, -0.023579f, -0.061466f, 0.016375f, 0.043521f, 0.014898f, -0.000186f, -0.073306f, -0.035464f, -0.043348f, 0.040535f, 0.016693f, 0.041748f, -0.088241f, 0.005342f, -0.016135f, -0.098019f, -0.025133f, 0.014007f, 0.044449f, 0.061140f, -0.032518f, 0.114511f, 0.022612f, 0.001562f, -0.023437f, -0.046837f, -0.031812f, 0.021186f, -0.052964f, 0.107844f, -0.034378f, 0.003928f, 0.064435f, -0.042777f, 0.039467f, -0.041818f, -0.023265f, 0.089296f, -0.045140f, 0.058325f, 0.054737f, 0.019104f, 0.025165f, -0.078536f, -0.008898f, -0.004788f, -0.026797f, 0.035937f, 0.033539f, 0.012672f, 0.010556f, 0.034911f, -0.007994f, 0.013127f, -0.003781f, 0.009838f, -0.014806f, 0.011807f, -0.002094f, 0.009816f, 0.008862f, 0.001459f, -0.025957f, -0.005479f, + 0.004255f, -0.010499f, -0.002509f, 0.017935f, 0.011153f, 0.030190f, -0.013503f, 0.005508f, -0.050430f, -0.044060f, -0.005491f, -0.003754f, 0.031192f, 0.021732f, -0.013752f, -0.011890f, -0.040011f, -0.001338f, 0.014872f, -0.007820f, 0.000770f, 0.008495f, -0.011998f, 0.007889f, -0.029210f, 0.000400f, -0.009206f, -0.013107f, 0.020762f, -0.080691f, 0.046035f, 0.029453f, 0.046044f, -0.018398f, -0.013105f, 0.018641f, 0.000111f, 0.005297f, 0.001700f, 0.009093f, 0.002152f, -0.012705f, 0.059563f, -0.013921f, -0.041112f, 0.017358f, -0.001108f, -0.036196f, 0.012568f, 0.008342f, 0.024564f, -0.016712f, -0.027405f, 0.029411f, -0.023699f, -0.003260f, -0.007081f, 0.024133f, -0.041705f, 0.014193f, -0.025885f, 0.021087f, -0.036743f, 0.013011f, -0.012343f, 0.006278f, 0.080437f, -0.055386f, 0.010457f, 0.017659f, -0.049912f, 0.018047f, 0.022959f, -0.037017f, -0.007734f, -0.014216f, 0.066894f, 0.005574f, -0.077442f, 0.046281f, -0.062607f, 0.011311f, 0.032362f, -0.030105f, 0.037022f, -0.044913f, -0.037004f, 0.050817f, -0.008686f, 0.021550f, -0.076300f, 0.014203f, 0.016457f, -0.004135f, -0.011795f, -0.000724f, + 0.030924f, 0.001076f, -0.101457f, 0.061350f, -0.006418f, 0.023502f, -0.026673f, -0.031113f, 0.096695f, -0.002679f, -0.061892f, 0.005254f, 0.031208f, 0.007030f, -0.094077f, 0.003236f, 0.087211f, -0.016085f, -0.040385f, 0.009439f, 0.042174f, -0.005756f, 0.000115f, -0.007551f, -0.004390f, 0.005911f, -0.015294f, -0.009051f, 0.028629f, -0.012578f, -0.000811f, -0.016997f, 0.016783f, 0.025432f, -0.004613f, -0.003987f, 0.027055f, 0.008723f, -0.018634f, -0.004579f, 0.011645f, 0.007660f, -0.015832f, 0.008322f, 0.018610f, -0.015704f, 0.003979f, 0.004509f, 0.011986f, -0.029106f, 0.001821f, 0.017989f, 0.006830f, -0.020334f, 0.001118f, 0.014110f, 0.002338f, -0.015138f, -0.010118f, 0.038158f, -0.013250f, -0.199444f, -0.424355f, -0.169316f, -0.319495f, -0.389120f, 0.137805f, -0.001597f, 0.141345f, 0.537615f, 0.469506f, 0.267086f, 0.514492f, 0.286862f, 0.032368f, 0.177750f, 0.109350f, -0.194681f, -0.137618f, -0.040588f, -0.215793f, -0.260956f, -0.086919f, -0.132190f, -0.206588f, -0.052003f, -0.009489f, -0.263034f, -0.181274f, -0.027586f, -0.159927f, -0.207016f, -0.060439f, -0.101679f, -0.225049f, -0.043341f, + 0.022736f, -0.126287f, -0.096336f, 0.094931f, -0.034386f, -0.135426f, 0.028219f, 0.089363f, -0.066905f, 0.054718f, 0.196772f, -0.029118f, -0.052722f, 0.194725f, 0.103870f, -0.048877f, 0.323533f, 0.439819f, 0.273695f, 0.463777f, 0.693863f, 0.533694f, 0.507882f, 0.742260f, 0.643457f, 0.473544f, 0.581050f, 0.528199f, 0.335954f, 0.297159f, 0.159864f, -0.055420f, -0.232052f, -0.415095f, -0.589653f, -0.701664f, -0.879748f, -0.939935f, -0.991156f, -1.122854f, -1.122060f, -0.848078f, -0.867799f, -0.790320f, -0.355994f, -0.275494f, -0.267950f, 0.118657f, 0.226578f, 0.004782f, 0.236157f, 0.327784f, 0.112149f, 0.156196f, 0.307401f, 0.229737f, 0.133736f, 0.216973f, 0.268660f, 0.114152f, 0.167238f, 0.333440f, 0.198278f, 0.130527f, 0.307283f, 0.230436f, 0.093025f, 0.199701f, 0.228157f, 0.029283f, 0.117815f, 0.274657f, 0.157462f, 0.188930f, 0.387213f, 0.364269f, 0.383872f, 0.497068f, 0.500559f, 0.401536f, 0.379795f, 0.324163f, 0.197938f, 0.142726f, 0.075936f, -0.011900f, -0.078181f, -0.211934f, -0.289544f, -0.391358f, -0.521464f, -0.580657f, -0.656066f, -0.763698f, -0.727281f, -0.653239f, + -0.576915f, -0.421855f, -0.276582f, -0.146732f, -0.054147f, 0.022660f, 0.048169f, 0.058921f, 0.076058f, 0.080560f, 0.068103f, 0.072660f, 0.080289f, 0.077719f, 0.087095f, 0.112465f, 0.126145f, 0.134377f, 0.149375f, 0.152491f, 0.150510f, 0.143710f, 0.107506f, 0.067336f, 0.043131f, 0.036376f, 0.036406f}, + {-0.013341f, 0.000386f, 0.010605f, 0.007285f, 0.007329f, 0.004608f, 0.002910f, -0.004182f, 0.000159f, -0.004759f, 0.011346f, 0.006942f, 0.002724f, 0.001640f, 0.001638f, -0.000144f, -0.003590f, 0.005569f, 0.007806f, 0.007499f, 0.004596f, -0.005719f, -0.008243f, -0.009028f, -0.008566f, -0.000908f, 0.004472f, -0.008827f, 0.007359f, -0.001783f, 0.012864f, -0.002154f, 0.008173f, 0.000098f, -0.010670f, 0.003043f, -0.001374f, 0.008621f, 0.000596f, -0.001019f, -0.004354f, -0.007319f, 0.000658f, 0.004115f, -0.009369f, -0.012821f, 0.008948f, -0.007431f, -0.006838f, -0.006465f, 0.005043f, -0.005102f, 0.002145f, -0.002287f, -0.000632f, -0.007555f, -0.002279f, -0.005143f, -0.007502f, 0.002461f, 0.005821f, -0.002171f, -0.008253f, -0.001619f, -0.001685f, -0.004149f, -0.007135f, -0.000558f, -0.005804f, -0.006841f, -0.001237f, 0.000466f, 0.001607f, -0.002322f, 0.001003f, -0.001272f, -0.009647f, -0.002134f, 0.001187f, -0.002670f, -0.002477f, -0.003030f, 0.003084f, -0.003699f, 0.003176f, -0.000267f, 0.000548f, 0.001217f, -0.002362f, 0.002317f, 0.000019f, -0.001293f, 0.000573f, -0.000636f, -0.002006f, 0.000325f, + 0.001500f, -0.001034f, -0.000878f, -0.000097f, 0.002425f, 0.001094f, 0.000340f, 0.000373f, 0.001307f, 0.000885f, 0.001519f, 0.000430f, 0.001955f, -0.001632f, -0.000720f, -0.000739f, 0.025123f, -0.008780f, -0.005748f, -0.007827f, -0.005378f, 0.000586f, -0.016812f, 0.002838f, -0.008341f, -0.016459f, -0.003517f, 0.014107f, -0.010146f, 0.002751f, -0.001198f, 0.004733f, 0.007126f, 0.007624f, 0.012322f, -0.002639f, -0.007061f, 0.003143f, 0.002976f, -0.005660f, -0.000818f, -0.003825f, -0.002489f, 0.001515f, -0.006469f, -0.004044f, -0.000941f, -0.008144f, -0.009559f, 0.004884f, 0.007390f, -0.004383f, -0.010985f, -0.001926f, -0.002576f, 0.001555f, 0.008875f, 0.000587f, -0.003677f, -0.000591f, 0.011882f, 0.001481f, -0.007271f, -0.007011f, 0.003076f, 0.002250f, 0.009484f, 0.005385f, -0.000622f, -0.009055f, 0.000507f, -0.000533f, 0.007784f, -0.008334f, -0.002799f, 0.004578f, 0.009047f, -0.002551f, 0.000804f, -0.006853f, -0.003848f, 0.004200f, 0.000261f, 0.000885f, 0.002457f, -0.002665f, 0.003295f, 0.000976f, 0.004031f, 0.002479f, 0.001559f, 0.015729f, 0.004819f, -0.000645f, -0.002120f, -0.004637f, + 0.006746f, 0.004185f, 0.007291f, 0.005192f, 0.001830f, 0.001933f, -0.001522f, 0.001444f, -0.002945f, -0.003146f, -0.002414f, 0.000826f, -0.001113f, -0.000770f, -0.000476f, 0.002538f, 0.000421f, 0.003317f, 0.000314f, -0.001051f, -0.000414f, -0.000318f, -0.000458f, 0.001081f, 0.000780f, 0.001341f, -0.018430f, -0.004322f, -0.008691f, 0.008456f, 0.002150f, 0.000218f, 0.006018f, -0.003550f, -0.014243f, -0.007501f, 0.009489f, -0.000500f, 0.009775f, -0.000708f, -0.005508f, 0.010836f, 0.004081f, 0.023732f, -0.004446f, 0.010315f, 0.001520f, -0.011151f, 0.002832f, -0.009468f, 0.006164f, 0.002198f, 0.002437f, -0.010119f, 0.005094f, -0.001745f, -0.003564f, 0.004184f, 0.016163f, 0.006025f, -0.000072f, -0.012931f, 0.011254f, -0.002344f, 0.000071f, 0.007972f, -0.011763f, -0.002180f, 0.008149f, -0.004796f, -0.004184f, -0.013278f, -0.014505f, -0.001082f, 0.008820f, 0.005204f, -0.005806f, -0.000138f, 0.005753f, 0.007204f, 0.002881f, -0.001452f, -0.002777f, -0.012722f, 0.006016f, 0.015879f, 0.007232f, -0.004551f, -0.002216f, 0.005041f, 0.007586f, -0.000574f, -0.002342f, 0.001909f, -0.010470f, -0.001923f, + -0.007332f, -0.003415f, -0.000661f, -0.004495f, 0.012103f, 0.010554f, -0.003128f, 0.005305f, 0.003930f, -0.001998f, -0.007122f, 0.001699f, -0.005509f, -0.002076f, 0.001648f, -0.007110f, -0.001505f, 0.000727f, -0.002054f, 0.002041f, 0.003065f, -0.004544f, -0.001621f, -0.000289f, 0.000322f, -0.003563f, 0.000957f, -0.001643f, 0.002705f, -0.003159f, 0.002988f, -0.002157f, 0.000728f, 0.000498f, -0.001537f, 0.001210f, 0.000542f, -0.001145f, 0.001054f, 0.001178f, 0.001215f, -0.002343f, -0.001097f, 0.000058f, -0.003325f, 0.000446f, 0.001981f, -0.000653f, -0.013862f, 0.015490f, -0.013345f, 0.014146f, -0.000130f, -0.011274f, -0.026595f, -0.010471f, -0.007631f, 0.003990f, 0.013947f, 0.010920f, -0.003353f, -0.002130f, -0.003237f, -0.007622f, -0.002192f, -0.008566f, 0.002947f, 0.003166f, 0.005291f, 0.008779f, 0.005207f, 0.016786f, 0.000061f, 0.003401f, -0.005899f, -0.001368f, -0.003991f, 0.006179f, 0.001876f, -0.007786f, -0.011274f, 0.000482f, -0.008090f, 0.001035f, 0.007685f, -0.012751f, 0.009016f, -0.021467f, -0.005895f, -0.015917f, 0.002752f, -0.000957f, 0.000299f, -0.006222f, -0.008394f, 0.003007f, + 0.007651f, 0.005488f, 0.002051f, -0.012780f, 0.003948f, -0.008816f, -0.003328f, -0.002507f, -0.017414f, -0.006780f, 0.005276f, 0.006791f, -0.000551f, -0.011984f, 0.002123f, 0.004610f, -0.002272f, -0.002344f, 0.001499f, 0.010520f, 0.003818f, -0.002299f, -0.003301f, 0.001900f, -0.024824f, 0.001848f, 0.006371f, 0.005980f, 0.017598f, 0.002487f, -0.009769f, 0.011077f, -0.003792f, 0.001719f, 0.003939f, 0.003712f, -0.002472f, -0.008135f, 0.000529f, 0.004876f, 0.004664f, 0.007515f, -0.002271f, -0.002383f, 0.001369f, -0.001363f, -0.000877f, 0.001245f, -0.002058f, 0.000758f, 0.001774f, -0.000968f, -0.003941f, -0.003017f, -0.000093f, 0.000525f, 0.001114f, -0.001866f, 0.003855f, -0.001927f, -0.001034f, 0.002499f, 0.002916f, -0.000783f, -0.004374f, -0.002285f, 0.001827f, -0.002206f, -0.001150f, -0.001322f, 0.001012f, 0.003501f, -0.000584f, 0.017713f, -0.004584f, 0.000185f, 0.011663f, -0.006120f, -0.005722f, 0.017473f, -0.013432f, -0.031690f, -0.020821f, -0.012294f, 0.018932f, 0.008017f, 0.002565f, -0.018384f, 0.019319f, -0.008430f, 0.005369f, -0.005087f, 0.007548f, 0.009264f, -0.000834f, 0.000170f, + -0.000239f, -0.003220f, -0.010090f, -0.008154f, -0.002529f, 0.000985f, 0.008735f, 0.004919f, 0.013682f, 0.006496f, -0.006067f, -0.003272f, 0.012171f, -0.008882f, 0.014949f, -0.012083f, 0.003163f, 0.006523f, 0.004191f, -0.009813f, 0.013170f, -0.001362f, 0.014156f, 0.018673f, 0.002807f, -0.007561f, -0.007328f, 0.007851f, -0.009081f, -0.019120f, -0.004976f, 0.003926f, -0.012288f, 0.006901f, 0.005595f, -0.004134f, -0.007664f, -0.003319f, -0.002969f, 0.003590f, -0.001530f, -0.010802f, -0.004143f, 0.018443f, 0.014832f, 0.007937f, -0.022122f, -0.021752f, -0.011897f, 0.020716f, 0.010488f, -0.001714f, 0.002848f, -0.010341f, 0.013093f, -0.000674f, -0.010268f, -0.003635f, 0.001315f, -0.001093f, -0.005169f, -0.000832f, -0.004103f, -0.002232f, 0.003848f, 0.005653f, -0.003402f, -0.000142f, 0.000471f, 0.000882f, 0.000783f, -0.005781f, 0.006511f, -0.000537f, -0.006550f, -0.003933f, -0.000943f, -0.002107f, 0.000074f, -0.000555f, -0.000853f, -0.000760f, 0.001518f, 0.000246f, -0.003039f, -0.000272f, 0.001119f, -0.000808f, -0.004700f, -0.003247f, -0.004388f, -0.001598f, 0.003076f, 0.008917f, 0.013132f, -0.000735f, + 0.005062f, -0.020670f, -0.006977f, 0.003375f, 0.007069f, -0.025635f, -0.002839f, 0.011024f, -0.007722f, -0.016683f, 0.010388f, -0.019404f, -0.014229f, -0.007701f, 0.001695f, -0.007054f, -0.004788f, -0.000645f, 0.014413f, -0.012262f, 0.003197f, -0.003900f, -0.005093f, -0.010326f, -0.002849f, -0.015067f, -0.004486f, -0.000467f, 0.002870f, -0.010543f, -0.002224f, -0.006661f, 0.000953f, -0.003412f, -0.004670f, 0.002737f, 0.011858f, 0.002988f, -0.006183f, 0.005868f, -0.009058f, -0.002278f, 0.003469f, -0.003476f, 0.005908f, -0.001959f, -0.000669f, -0.041774f, 0.002770f, -0.014500f, 0.007065f, 0.006007f, 0.009221f, -0.023007f, -0.023440f, 0.003132f, 0.000818f, 0.005443f, 0.000153f, 0.012460f, -0.005067f, 0.006758f, 0.008409f, -0.004040f, 0.019614f, -0.006170f, -0.012773f, -0.002755f, -0.010573f, -0.000400f, -0.020918f, 0.000276f, 0.010346f, 0.004815f, 0.015612f, -0.004360f, -0.004275f, 0.006862f, -0.008258f, 0.001922f, 0.005080f, 0.010046f, -0.005402f, 0.005749f, -0.008196f, 0.001589f, 0.000322f, 0.001052f, -0.004042f, -0.001957f, -0.003014f, 0.003183f, -0.003749f, -0.005989f, -0.000126f, -0.002845f, + -0.003726f, -0.001371f, -0.002920f, -0.001306f, -0.001838f, 0.001670f, -0.002921f, 0.001657f, -0.005894f, -0.000663f, -0.003529f, -0.001531f, 0.000470f, 0.000361f, -0.000838f, -0.002852f, 0.000257f, 0.016164f, -0.032600f, 0.008728f, 0.001390f, 0.009048f, 0.013122f, 0.002376f, -0.012646f, -0.027773f, 0.001978f, -0.011230f, 0.021091f, -0.008592f, 0.004351f, 0.001530f, 0.004505f, 0.015910f, -0.007030f, -0.000491f, -0.007384f, -0.004163f, 0.004156f, -0.004018f, 0.014930f, 0.011119f, 0.003189f, -0.003170f, 0.000205f, 0.009994f, -0.001030f, 0.004824f, -0.000231f, -0.008241f, 0.007283f, -0.002119f, -0.006172f, 0.008827f, 0.014953f, 0.000041f, 0.005846f, 0.001047f, -0.009924f, -0.006189f, 0.018157f, -0.008771f, 0.008684f, 0.013226f, -0.017550f, 0.012518f, 0.006693f, 0.006355f, -0.007793f, 0.012837f, 0.003695f, -0.002219f, 0.016417f, 0.000607f, -0.000205f, -0.007695f, -0.004388f, -0.000008f, -0.007192f, -0.017564f, -0.004631f, 0.017939f, 0.013520f, 0.014759f, -0.001659f, -0.015565f, 0.006448f, 0.018819f, -0.003526f, -0.013327f, -0.000695f, -0.009416f, -0.002431f, -0.001563f, 0.014640f, -0.001404f, + 0.007509f, -0.001928f, 0.000666f, -0.010330f, 0.002715f, -0.001778f, 0.004035f, 0.004014f, -0.007133f, 0.004833f, -0.011280f, 0.001109f, 0.004038f, 0.000296f, -0.002925f, -0.000194f, 0.002216f, -0.007805f, -0.001460f, -0.007345f, 0.002267f, -0.004644f, -0.002943f, -0.004500f, -0.007555f, -0.004970f, -0.001952f, 0.001090f, -0.002329f, -0.000184f, 0.002364f, 0.000798f, -0.001993f, -0.001400f, -0.002280f, 0.004321f, 0.000124f, 0.001561f, 0.002780f, 0.001740f, 0.001949f, -0.001010f, 0.003668f, -0.000560f, 0.000065f, 0.001536f, -0.001469f, -0.002029f, 0.000946f, 0.003891f, -0.015481f, -0.004569f, -0.024958f, -0.007300f, -0.014479f, -0.017072f, -0.016188f, -0.005737f, 0.021767f, 0.023687f, 0.032637f, 0.007295f, -0.012461f, -0.007670f, 0.027013f, -0.000107f, -0.006309f, 0.020694f, -0.002177f, 0.000897f, -0.032352f, 0.014620f, 0.008125f, -0.021589f, 0.029895f, -0.004174f, 0.013423f, -0.003639f, 0.007011f, 0.013286f, 0.000015f, 0.023494f, 0.008997f, 0.006661f, -0.002737f, -0.008344f, 0.002240f, 0.014230f, -0.003836f, 0.004220f, 0.006654f, 0.018849f, -0.000899f, -0.005718f, 0.012141f, -0.014292f, + -0.008990f, 0.006448f, 0.020799f, -0.009239f, -0.011175f, -0.003533f, 0.017137f, 0.000145f, 0.002409f, -0.006420f, -0.002947f, 0.006143f, 0.009031f, 0.000789f, -0.007417f, -0.023737f, 0.002798f, 0.006978f, 0.022571f, 0.006552f, -0.001838f, 0.017336f, 0.030984f, -0.006397f, 0.010845f, 0.007305f, 0.012828f, -0.002511f, -0.010916f, 0.006377f, -0.025717f, -0.007001f, -0.003913f, -0.008349f, -0.005213f, 0.013370f, 0.004603f, -0.016651f, -0.009835f, 0.000463f, -0.005450f, -0.000607f, -0.012749f, -0.000400f, -0.004379f, -0.003220f, -0.001767f, 0.001267f, -0.003563f, -0.000898f, -0.001746f, 0.002715f, -0.001015f, 0.002490f, -0.003496f, -0.000116f, 0.000523f, 0.001147f, 0.005151f, 0.000144f, -0.001997f, 0.004811f, 0.007035f, -0.000576f, -0.004339f, -0.002742f, -0.006106f, -0.005339f, 0.007305f, -0.001255f, 0.001962f, 0.002671f, 0.002580f, 0.002411f, -0.005624f, 0.002731f, -0.002050f, -0.028256f, 0.039568f, -0.019949f, 0.008983f, -0.001465f, -0.013648f, 0.030160f, 0.007102f, 0.003743f, -0.031879f, 0.008274f, -0.012715f, -0.014510f, 0.003542f, -0.014163f, 0.016128f, 0.009761f, -0.002711f, 0.003233f, + -0.007811f, -0.003528f, -0.011585f, -0.007449f, -0.013914f, -0.021486f, -0.005294f, -0.015034f, -0.004036f, 0.008180f, -0.006076f, -0.008093f, 0.017015f, 0.010693f, 0.017077f, -0.014001f, -0.001579f, -0.002813f, -0.015381f, 0.000152f, -0.008178f, -0.038290f, 0.003353f, 0.000692f, -0.005921f, 0.013286f, -0.001387f, 0.014657f, 0.012418f, 0.004583f, 0.023038f, 0.020497f, -0.020239f, -0.005548f, 0.000170f, -0.000748f, 0.007205f, 0.002756f, 0.019588f, -0.004183f, 0.031286f, -0.000042f, -0.018449f, -0.014973f, 0.002396f, 0.005646f, 0.006401f, 0.022741f, 0.005975f, 0.005693f, 0.021378f, 0.028466f, 0.001166f, -0.017465f, -0.016540f, -0.001566f, -0.005549f, -0.004035f, 0.036778f, 0.002637f, -0.016704f, 0.011949f, -0.014625f, 0.013982f, 0.002309f, -0.002903f, -0.004373f, -0.011236f, 0.003128f, 0.003719f, -0.001665f, 0.003288f, 0.006204f, 0.003453f, 0.004228f, -0.001652f, -0.001563f, 0.000406f, -0.002056f, -0.001734f, 0.004169f, 0.001647f, 0.002958f, 0.003719f, 0.006593f, 0.000373f, -0.003096f, 0.006136f, 0.003490f, 0.001184f, 0.001403f, -0.001272f, 0.000932f, -0.000234f, 0.006567f, 0.010247f, + -0.005533f, 0.004889f, -0.001213f, 0.004261f, 0.000554f, 0.000908f, 0.008741f, -0.000456f, 0.000847f, 0.000750f, 0.007181f, 0.004766f, 0.005254f, 0.023736f, 0.001819f, 0.015996f, -0.017510f, 0.007829f, 0.001401f, -0.001303f, 0.010564f, 0.025098f, -0.006928f, -0.002285f, 0.023108f, -0.030569f, -0.017040f, -0.013354f, -0.035016f, 0.006872f, -0.011109f, -0.004941f, 0.004198f, -0.023904f, 0.026177f, 0.019738f, 0.027806f, 0.012468f, -0.017323f, 0.001624f, 0.001103f, 0.020796f, -0.003856f, -0.000688f, -0.000819f, -0.012941f, 0.001029f, -0.007620f, 0.011626f, -0.013731f, -0.005194f, -0.004648f, -0.005936f, -0.016081f, 0.007545f, -0.023574f, -0.003603f, -0.001688f, 0.014785f, 0.008728f, 0.001964f, 0.000223f, -0.004132f, 0.001691f, 0.000219f, 0.012246f, 0.002837f, 0.003528f, -0.001968f, -0.036898f, -0.017147f, 0.004242f, 0.015276f, 0.018286f, -0.028885f, 0.019293f, 0.005733f, -0.011407f, 0.002777f, 0.006220f, -0.006847f, 0.027946f, 0.000260f, 0.005334f, -0.006599f, -0.039012f, -0.013372f, -0.017783f, -0.004623f, 0.000688f, -0.010816f, 0.005582f, 0.008301f, -0.008032f, -0.001672f, 0.025043f, + 0.000708f, 0.012748f, -0.015373f, 0.001919f, -0.000250f, 0.014404f, 0.012745f, 0.009161f, -0.003471f, 0.002960f, 0.010465f, 0.006337f, -0.000461f, 0.011013f, 0.010709f, 0.011695f, 0.001523f, 0.004450f, 0.004018f, 0.001890f, -0.001517f, -0.001515f, 0.010120f, 0.001894f, -0.005337f, 0.000892f, -0.000776f, 0.005559f, -0.003883f, 0.001759f, 0.005280f, -0.004122f, 0.008207f, 0.002831f, -0.001121f, 0.000676f, -0.007084f, 0.005206f, 0.005262f, -0.000856f, -0.001571f, -0.004351f, -0.005867f, 0.036123f, 0.005741f, 0.014591f, -0.021786f, -0.019727f, 0.011316f, 0.018740f, 0.002178f, -0.006655f, 0.034665f, 0.010894f, 0.000116f, -0.009627f, 0.007527f, -0.002709f, -0.003862f, -0.001313f, -0.005990f, 0.001598f, -0.011567f, -0.027533f, 0.009039f, 0.002807f, 0.008361f, 0.002710f, 0.015265f, 0.004634f, -0.016486f, -0.033515f, 0.000848f, 0.002484f, -0.002716f, -0.029333f, -0.014328f, -0.004434f, 0.008187f, -0.006424f, 0.003260f, -0.025663f, 0.001227f, -0.005754f, 0.000143f, 0.002543f, 0.007096f, -0.002793f, -0.024145f, -0.022218f, -0.013847f, 0.009291f, 0.006870f, -0.005944f, -0.005029f, -0.038712f, + -0.021908f, -0.000815f, -0.037740f, 0.034685f, -0.035634f, -0.009820f, -0.023080f, 0.037201f, 0.011921f, -0.026272f, 0.013173f, -0.003085f, 0.014058f, -0.022393f, -0.007422f, 0.000932f, 0.015128f, -0.021263f, -0.008505f, -0.007258f, -0.021595f, 0.001486f, 0.014312f, -0.002750f, -0.003982f, 0.025766f, -0.040925f, 0.032163f, -0.005363f, 0.006755f, -0.018468f, 0.012897f, -0.002092f, 0.010264f, -0.009381f, 0.000473f, 0.008158f, 0.008839f, -0.002582f, -0.004536f, 0.000027f, 0.000856f, 0.001052f, -0.003067f, 0.010061f, 0.010526f, 0.007449f, 0.001887f, 0.007552f, -0.000783f, 0.009289f, -0.003498f, 0.001690f, -0.000471f, -0.003525f, -0.003657f, 0.000625f, -0.007755f, -0.009315f, -0.002773f, -0.000595f, 0.009342f, -0.000585f, -0.001618f, -0.002593f, -0.006574f, 0.004559f, -0.002167f, -0.003410f, -0.002418f, 0.004841f, -0.001112f, -0.010557f, -0.001501f, 0.003734f, 0.000799f, -0.001018f, 0.031729f, 0.069527f, -0.009465f, -0.021817f, -0.020451f, -0.018064f, -0.025876f, 0.004155f, -0.043980f, -0.000491f, -0.034027f, -0.015787f, 0.010339f, 0.021179f, 0.012094f, -0.015375f, -0.002213f, 0.020140f, -0.001508f, + 0.023261f, -0.014048f, -0.014179f, -0.012528f, 0.010908f, -0.008297f, -0.010787f, 0.003626f, -0.012910f, -0.013153f, 0.015727f, 0.037299f, 0.013998f, 0.015883f, 0.006963f, -0.022156f, -0.005351f, -0.018002f, -0.017032f, -0.002807f, -0.003195f, -0.014173f, -0.022635f, -0.045317f, -0.004364f, -0.016530f, 0.005712f, -0.008470f, 0.016787f, 0.015580f, 0.008764f, 0.016313f, 0.011412f, -0.001857f, 0.031502f, 0.045044f, 0.010645f, -0.053005f, 0.010612f, -0.009593f, -0.031128f, 0.004198f, 0.014979f, 0.007405f, 0.001186f, 0.014418f, -0.001036f, -0.025312f, 0.001372f, 0.011835f, -0.025427f, -0.013376f, -0.023837f, -0.043977f, 0.034349f, 0.004668f, -0.002740f, 0.023997f, 0.018636f, 0.001242f, 0.001213f, 0.023719f, -0.032560f, -0.014188f, 0.003455f, 0.017474f, 0.014652f, 0.022492f, 0.016090f, -0.013434f, -0.007921f, -0.003037f, -0.005320f, -0.002008f, -0.003419f, -0.006556f, -0.008671f, -0.013238f, -0.013452f, -0.009561f, -0.005256f, -0.001484f, 0.006355f, -0.003640f, -0.002878f, -0.015149f, -0.010513f, 0.001510f, 0.007735f, 0.005408f, 0.003074f, 0.003139f, 0.002069f, -0.002170f, -0.007908f, -0.003795f, + -0.005010f, -0.004326f, 0.001296f, -0.008351f, 0.001519f, -0.005965f, 0.006098f, -0.000750f, -0.002384f, -0.005713f, 0.005004f, -0.005256f, -0.001867f, 0.010446f, -0.004537f, -0.000360f, 0.051348f, -0.037997f, 0.044387f, -0.003705f, -0.005311f, -0.022575f, -0.008329f, -0.022427f, -0.019053f, 0.023718f, -0.021066f, 0.012269f, 0.053233f, 0.019803f, -0.007863f, -0.023998f, -0.020137f, 0.023757f, -0.019380f, -0.032822f, -0.013502f, 0.003390f, 0.003165f, -0.037474f, 0.002690f, -0.011352f, 0.019589f, -0.011822f, -0.000516f, 0.004373f, 0.055984f, -0.013504f, -0.017836f, 0.027170f, -0.021567f, 0.032634f, -0.019027f, 0.023904f, 0.004043f, -0.017216f, -0.015742f, 0.030338f, -0.039103f, 0.029849f, -0.016834f, 0.003089f, -0.009334f, 0.016322f, -0.013501f, -0.006881f, -0.000498f, -0.012025f, 0.057098f, -0.016376f, 0.038973f, 0.015140f, 0.017889f, -0.000244f, 0.014764f, 0.025014f, 0.028019f, -0.007654f, -0.027131f, 0.000174f, 0.023137f, 0.009340f, -0.004108f, -0.034127f, 0.045676f, -0.009534f, -0.030207f, -0.008350f, -0.018525f, 0.014311f, 0.019718f, 0.000825f, 0.033055f, -0.008911f, 0.016951f, -0.037542f, + -0.006646f, -0.040060f, -0.012492f, -0.014642f, -0.000922f, 0.002249f, -0.007742f, 0.014335f, 0.004685f, -0.010795f, -0.018467f, -0.013670f, -0.003988f, -0.001690f, -0.009269f, -0.001966f, -0.003297f, 0.011344f, -0.003377f, 0.000505f, -0.004318f, -0.017334f, -0.005275f, -0.006954f, 0.002103f, -0.002869f, -0.009777f, -0.015139f, 0.005977f, -0.010227f, 0.004702f, 0.006752f, -0.010643f, -0.025965f, -0.006244f, -0.004053f, -0.006970f, -0.009254f, 0.001022f, -0.004317f, 0.002754f, 0.003067f, -0.011850f, -0.001512f, -0.011931f, 0.011043f, 0.006719f, -0.006216f, 0.002931f, -0.010380f, -0.058193f, -0.024833f, 0.035736f, -0.007037f, -0.014601f, 0.041536f, 0.004007f, -0.021536f, 0.015776f, 0.022627f, 0.019200f, 0.003029f, -0.035782f, -0.014760f, 0.005511f, 0.005330f, 0.018764f, 0.012432f, 0.021162f, -0.018252f, -0.014402f, 0.007139f, -0.004921f, 0.017361f, -0.033629f, -0.005650f, -0.036378f, -0.011727f, 0.006650f, -0.004969f, -0.004518f, 0.039029f, 0.008179f, -0.028833f, -0.004321f, 0.002371f, -0.029452f, -0.003950f, 0.001514f, 0.017790f, 0.044887f, -0.015858f, 0.015053f, -0.024969f, 0.003839f, -0.014674f, + -0.018875f, 0.018309f, 0.039269f, -0.031026f, 0.003076f, 0.034955f, -0.015696f, -0.003190f, -0.013034f, 0.022887f, 0.005587f, -0.028361f, -0.000276f, -0.009893f, -0.009143f, -0.002802f, -0.013877f, 0.021176f, -0.050128f, 0.010653f, 0.004278f, -0.021094f, 0.028192f, 0.043141f, 0.030518f, 0.082164f, 0.024986f, -0.021058f, -0.029107f, -0.024109f, -0.013100f, 0.030167f, -0.010809f, 0.041886f, 0.003913f, 0.051002f, -0.060542f, -0.038869f, 0.018325f, -0.009956f, -0.006206f, 0.024461f, -0.016446f, -0.001882f, 0.026079f, 0.011592f, 0.019362f, 0.028495f, 0.022325f, -0.004832f, 0.009151f, -0.017439f, 0.000684f, -0.000684f, -0.012179f, -0.013400f, 0.008976f, -0.018461f, -0.001521f, 0.027879f, 0.002597f, -0.016675f, -0.021702f, 0.004023f, -0.027282f, -0.010087f, 0.029462f, 0.015258f, -0.004763f, -0.006765f, 0.005711f, -0.005483f, -0.009234f, 0.001947f, -0.006730f, -0.010491f, -0.001753f, -0.014396f, 0.010201f, 0.008784f, 0.009770f, -0.005381f, -0.003791f, 0.006183f, 0.015079f, 0.041146f, -0.095427f, -0.003508f, 0.054885f, -0.072428f, -0.003005f, 0.014607f, -0.074822f, 0.033936f, 0.009474f, 0.060509f, + -0.005702f, 0.021574f, 0.018071f, -0.065814f, -0.054424f, -0.021022f, -0.004985f, -0.032798f, -0.040371f, -0.021236f, 0.037922f, 0.026653f, 0.023103f, 0.002716f, 0.004561f, 0.012164f, 0.002656f, -0.047715f, -0.017644f, -0.061335f, -0.019361f, 0.034731f, 0.010577f, 0.023552f, 0.077815f, 0.020429f, 0.029611f, -0.000947f, 0.015836f, 0.068520f, 0.051652f, 0.014583f, 0.034003f, 0.031181f, 0.068425f, 0.056214f, -0.073863f, 0.046733f, -0.003813f, 0.044734f, 0.045599f, 0.019122f, 0.082088f, 0.072486f, -0.039451f, 0.036007f, -0.000156f, 0.034326f, -0.059365f, 0.006087f, 0.006825f, 0.002497f, -0.013142f, 0.038117f, 0.041363f, -0.039441f, -0.013056f, -0.023061f, 0.014795f, -0.032655f, -0.040479f, 0.038674f, 0.065919f, 0.024298f, 0.068589f, -0.019403f, 0.093060f, 0.090982f, 0.025767f, 0.047828f, -0.013484f, -0.023581f, 0.021739f, 0.021283f, 0.010593f, 0.007444f, 0.005967f, 0.012460f, -0.012519f, -0.023180f, -0.016359f, -0.043737f, -0.045690f, -0.018386f, 0.021889f, -0.000372f, 0.019351f, 0.003545f, 0.011945f, 0.028202f, 0.034743f, -0.010921f, 0.016159f, -0.001465f, -0.013788f, -0.011590f, + -0.009683f, -0.028774f, -0.012908f, 0.000635f, -0.024623f, -0.008709f, -0.022120f, -0.012310f, 0.005293f, 0.031643f, -0.014429f, 0.011474f, 0.009320f, -0.005196f, 0.017826f, 0.010277f, 0.013715f, 0.000484f, 0.023539f, 0.014925f, 0.010510f, -0.009155f, -0.013547f, -0.030390f, 0.044622f, 0.080134f, -0.010712f, -0.109075f, -0.034666f, 0.011269f, -0.008291f, -0.017995f, -0.023721f, 0.000485f, -0.062209f, -0.037355f, -0.051593f, -0.008269f, -0.014857f, 0.017400f, -0.036718f, -0.010551f, 0.010319f, 0.017444f, -0.000081f, 0.019390f, 0.038115f, 0.007880f, 0.054844f, -0.035015f, 0.013522f, 0.002252f, 0.052368f, 0.013683f, -0.009759f, -0.052291f, 0.035226f, -0.008974f, 0.047855f, -0.039772f, -0.031132f, -0.030127f, -0.015586f, -0.048208f, -0.006130f, -0.008325f, -0.044878f, 0.025024f, 0.052235f, -0.024994f, 0.008222f, -0.067113f, 0.065112f, -0.020347f, -0.034547f, 0.029480f, 0.026388f, -0.038375f, 0.003983f, -0.023912f, 0.009100f, -0.017510f, 0.081453f, -0.002958f, -0.006239f, -0.019885f, 0.143307f, 0.003679f, -0.018630f, 0.061135f, 0.049789f, -0.051784f, 0.041213f, -0.063455f, -0.034508f, -0.066316f, + 0.051490f, -0.045633f, 0.025283f, 0.034868f, 0.028587f, -0.058802f, 0.075094f, -0.013387f, -0.096361f, -0.110890f, -0.042808f, -0.013652f, -0.031305f, 0.025842f, 0.026391f, 0.043859f, 0.008134f, 0.003811f, -0.032013f, 0.033122f, 0.052977f, 0.076220f, 0.021076f, -0.021889f, 0.008430f, 0.064840f, 0.011835f, -0.035868f, -0.007815f, 0.069182f, 0.016947f, -0.041023f, -0.009532f, 0.034096f, 0.020861f, 0.031030f, 0.022079f, 0.043749f, 0.001519f, 0.023973f, 0.009741f, 0.030906f, 0.015899f, 0.049202f, 0.017631f, 0.031018f, -0.004853f, 0.009607f, 0.003611f, -0.003869f, 0.014468f, -0.004592f, 0.018414f, 0.030536f, 0.006044f, 0.017622f, 0.003685f, 0.022964f, -0.051074f, -0.012480f, 0.042032f, -0.030672f, -0.146775f, 0.010583f, 0.094488f, -0.056947f, -0.037935f, 0.075884f, -0.055048f, -0.003500f, -0.015558f, 0.072832f, -0.124836f, 0.069923f, 0.041571f, -0.035189f, 0.013164f, 0.068307f, 0.048853f, -0.023831f, 0.028014f, 0.012580f, -0.018902f, 0.032151f, -0.000552f, 0.019513f, 0.029679f, -0.012547f, 0.007285f, -0.003139f, 0.014241f, -0.018035f, -0.014399f, -0.001115f, 0.025512f, -0.074052f, + -0.036510f, 0.036888f, -0.008150f, -0.049092f, -0.057846f, 0.010079f, 0.072377f, -0.031292f, -0.045936f, 0.035526f, 0.054045f, -0.011754f, 0.013739f, -0.009494f, 0.050363f, -0.027221f, 0.075420f, -0.010153f, 0.000355f, 0.041232f, 0.001091f, 0.009505f, -0.053201f, 0.083971f, -0.043174f, -0.052566f, 0.040099f, -0.055664f, -0.018168f, 0.009418f, 0.028004f, 0.077576f, -0.027282f, 0.048372f, -0.009607f, 0.025324f, -0.131128f, -0.100487f, -0.018203f, -0.039171f, 0.020322f, 0.018156f, 0.050145f, -0.007874f, -0.010188f, 0.059497f, -0.064882f, -0.001445f, 0.041953f, 0.041157f, -0.014874f, 0.045855f, 0.006073f, -0.009774f, 0.000067f, -0.010184f, 0.044227f, -0.024409f, -0.002185f, 0.042804f, 0.010156f, -0.009716f, 0.017206f, -0.021270f, 0.005820f, -0.001630f, 0.001079f, 0.017290f, 0.008450f, -0.024337f, -0.005205f, 0.007519f, -0.018556f, -0.027789f, -0.000002f, 0.020296f, 0.036106f, -0.030181f, 0.035296f, 0.011919f, -0.034487f, 0.028902f, 0.033525f, -0.016714f, -0.039099f, 0.036301f, -0.017627f, 0.006664f, 0.020441f, -0.019950f, -0.051888f, 0.017066f, 0.014519f, -0.029010f, -0.026921f, 0.001980f, + 0.020242f, -0.023035f, -0.011015f, -0.049379f, -0.023382f, 0.035541f, -0.061493f, 0.059442f, -0.052419f, -0.065647f, 0.036511f, -0.031950f, -0.021729f, 0.037314f, -0.028746f, 0.031095f, -0.022696f, 0.014233f, 0.073090f, -0.066217f, -0.005200f, -0.010488f, 0.061492f, 0.007923f, 0.005377f, -0.059332f, -0.055746f, -0.020106f, -0.016628f, -0.009058f, -0.018309f, 0.010462f, 0.002737f, -0.006498f, 0.008676f, 0.012806f, 0.005871f, 0.009833f, -0.011870f, 0.028477f, -0.019302f, 0.027227f, -0.052877f, 0.001373f, -0.042934f, -0.055491f, -0.032949f, 0.072650f, -0.032039f, -0.032665f, -0.024434f, 0.016319f, -0.015097f, 0.032058f, 0.046896f, -0.050248f, 0.044023f, 0.007478f, -0.069301f, -0.034950f, 0.141641f, 0.073237f, -0.108290f, -0.020797f, 0.067930f, -0.035230f, -0.039868f, 0.027044f, -0.034532f, -0.074987f, 0.052933f, 0.023870f, -0.101813f, 0.041177f, 0.050775f, -0.060074f, -0.039860f, 0.059933f, -0.015347f, -0.046012f, 0.009835f, 0.029468f, -0.073950f, 0.013361f, 0.012401f, 0.020564f, -0.056594f, -0.017233f, -0.005459f, -0.018526f, -0.004464f, 0.003063f, 0.005616f, -0.034871f, 0.004777f, 0.050016f, + 0.016899f, 0.002585f, 0.016029f, -0.001496f, -0.009059f, -0.028433f, -0.009300f, -0.015683f, -0.021121f, -0.048266f, 0.012008f, -0.027822f, -0.008263f, 0.057833f, -0.052440f, -0.034444f, 0.042357f, -0.031798f, -0.012065f, -0.014135f, 0.018661f, -0.034403f, -0.013031f, 0.053248f, 0.027769f, -0.026980f, 0.029512f, 0.016328f, -0.023251f, -0.014911f, 0.072561f, -0.059271f, -0.046371f, 0.077415f, -0.001254f, -0.062988f, 0.007716f, 0.037755f, -0.037743f, -0.078496f, 0.051079f, 0.005722f, -0.087150f, 0.014139f, 0.023208f, -0.063733f, -0.002239f, 0.041597f, -0.012684f, -0.028767f, 0.021366f, 0.016959f, -0.044307f, -0.005168f, 0.031093f, 0.089721f, 0.126905f, -0.050178f, 0.142017f, -0.010768f, -0.038357f, -0.029578f, -0.047541f, -0.003635f, 0.024192f, 0.083931f, 0.003282f, 0.026123f, -0.020808f, -0.071661f, 0.001767f, 0.003030f, 0.047893f, 0.009410f, -0.054060f, 0.101651f, -0.042858f, 0.019301f, 0.045902f, -0.050083f, -0.040583f, -0.071637f, -0.031166f, 0.044876f, 0.055823f, 0.068881f, -0.025492f, -0.167225f, 0.037524f, 0.087896f, 0.112544f, 0.096815f, -0.001150f, -0.047602f, -0.059127f, 0.020658f, + 0.057539f, -0.036120f, -0.019003f, -0.148111f, -0.090686f, 0.080203f, 0.134587f, 0.027938f, -0.003419f, -0.032214f, -0.058503f, -0.013381f, 0.037508f, -0.051611f, 0.020617f, -0.006996f, 0.085142f, -0.003238f, 0.033341f, -0.165661f, -0.020885f, 0.002444f, 0.102206f, 0.079453f, -0.001944f, -0.049333f, -0.013534f, 0.121764f, 0.055027f, -0.142004f, -0.176273f, -0.068486f, 0.035627f, 0.274371f, 0.029763f, -0.047153f, 0.037880f, -0.072899f, 0.194769f, 0.059854f, -0.154820f, -0.096488f, -0.019180f, 0.137889f, 0.020777f, -0.056774f, -0.052914f, -0.048588f, 0.039270f, 0.074471f, 0.037233f, -0.079234f, -0.006490f, -0.026922f, 0.065927f, -0.006644f, 0.039926f, -0.013488f, -0.016634f, -0.052371f, 0.020739f, -0.015690f, -0.005502f, 0.041634f, -0.064470f, 0.038292f, -0.009623f, -0.009328f, 0.000420f, 0.030372f, 0.064214f, 0.032932f, 0.004483f, -0.012104f, 0.013699f, -0.000000f, 0.026140f, 0.009127f, 0.028830f, 0.007711f, 0.007381f, -0.031902f, 0.015206f, 0.017717f, 0.011798f, 0.000831f, 0.009726f, 0.006651f, 0.028542f, 0.014045f, -0.022956f, 0.058475f, -0.067251f, 0.002149f, -0.027012f, 0.015608f, + -0.041614f, 0.039180f, 0.010900f, -0.022157f, -0.041967f, -0.020616f, -0.007892f, 0.012285f, -0.057295f, 0.013279f, -0.028012f, -0.010903f, -0.044836f, -0.021126f, 0.036529f, -0.038294f, -0.013442f, -0.005239f, 0.017920f, 0.012076f, -0.014811f, 0.020661f, -0.032764f, -0.002589f, 0.000535f, 0.017683f, -0.021408f, 0.031275f, 0.023477f, -0.023752f, -0.027370f, -0.010502f, 0.044607f, -0.031986f, 0.014204f, 0.033037f, 0.007539f, -0.032175f, -0.012145f, 0.013865f, -0.020016f, 0.015010f, 0.001663f, 0.007265f, -0.029524f, 0.006255f, -0.023963f, -0.001046f, 0.022697f, 0.028386f, 0.022324f, -0.016418f, 0.021319f, 0.002668f, -0.026184f, -0.003925f, 0.000190f, 0.031572f, -0.008401f, 0.006650f, 0.027731f, -0.005932f, -0.035466f, 0.049934f, -0.019991f, 0.029528f, 0.021989f, 0.005068f, 0.007317f, -0.021136f, -0.025550f, 0.034376f, 0.005675f, 0.030233f, 0.009578f, 0.016445f, 0.008856f, -0.001018f, -0.001117f, -0.026539f, 0.003485f, 0.006997f, 0.009845f, 0.010368f, -0.002746f, 0.012083f, 0.002635f, -0.001710f, 0.003905f, 0.001419f, 0.013168f, -0.003593f, 0.010409f, -0.012316f, -0.002504f, -0.000180f, + 0.001581f, -0.007023f, -0.003257f, 0.023184f, 0.015371f, -0.004185f, -0.016084f, -0.019155f, -0.006357f, -0.007874f, 0.022070f, 0.001908f, -0.005764f, -0.014387f, -0.006571f, 0.001740f, -0.011029f, 0.024381f, 0.003013f, -0.010295f, 0.004946f, -0.000760f, -0.003719f, 0.006658f, -0.006458f, 0.021093f, -0.019355f, 0.014379f, -0.018797f, -0.054238f, 0.101659f, 0.009295f, 0.005629f, -0.040965f, 0.023643f, -0.003386f, 0.026741f, 0.020391f, 0.031284f, 0.003515f, 0.008032f, -0.017484f, 0.005139f, 0.028669f, -0.002721f, 0.015721f, -0.002405f, 0.005056f, 0.006411f, 0.011674f, -0.012035f, 0.021722f, -0.014659f, 0.002068f, -0.002291f, 0.007422f, -0.001849f, 0.004434f, 0.016546f, 0.018140f, -0.008639f, 0.008052f, 0.003607f, -0.003955f, -0.007672f, 0.024134f, -0.007307f, 0.005177f, -0.006755f, 0.012665f, 0.000011f, -0.011433f, 0.024260f, -0.014935f, -0.005113f, 0.006503f, -0.011282f, -0.006787f, -0.003442f, 0.001100f, -0.004262f, 0.000511f, -0.002226f, -0.006144f, 0.008309f, -0.015453f, 0.009908f, 0.006766f, -0.005227f, 0.010430f, -0.007738f, 0.012336f, -0.006191f, 0.002471f, 0.002499f, -0.007225f, + 0.012146f, 0.000146f, 0.001790f, -0.003664f, 0.016321f, -0.019100f, 0.020633f, -0.014389f, 0.002587f, 0.003681f, -0.000441f, 0.003947f, -0.003140f, 0.012027f, -0.011017f, 0.000953f, 0.010345f, -0.012135f, 0.007861f, 0.007128f, -0.001666f, 0.001688f, 0.007111f, 0.003481f, -0.003081f, 0.004811f, 0.001415f, -0.001403f, 0.001112f, 0.004247f, 0.000637f, -0.004996f, 0.001568f, 0.002301f, -0.002491f, 0.006138f, -0.001147f, 0.005078f, -0.002988f, 0.000990f, 0.004029f, -0.002338f, 0.000796f, 0.002844f, -0.003668f, 0.006715f, -0.000454f, 0.003414f, -0.000667f, 0.007059f, -0.002259f, 0.001009f, 0.006621f, -0.005464f, 0.007633f, -0.004115f, 0.003419f, -0.004237f, 0.007502f, 0.019470f, -0.092675f, -0.230794f, 0.035923f, 0.175847f, 0.163388f, 0.283403f, -0.072274f, -0.075816f, -0.192883f, -0.263385f, -0.054261f, 0.095296f, 0.101993f, 0.192019f, 0.104346f, 0.008262f, -0.049801f, -0.134007f, -0.095231f, -0.016430f, -0.014859f, 0.047785f, 0.044364f, 0.025635f, 0.016409f, 0.012897f, -0.007008f, -0.032919f, -0.002494f, 0.038062f, 0.000353f, 0.008019f, -0.002116f, -0.028520f, -0.021780f, -0.048515f, + -0.047473f, 0.021563f, 0.019961f, 0.044099f, 0.067128f, 0.050245f, 0.024618f, 0.008878f, -0.072318f, -0.051206f, -0.039540f, -0.039698f, -0.044197f, 0.009235f, 0.028309f, 0.049074f, 0.062782f, 0.051863f, 0.011387f, -0.006144f, -0.041510f, -0.042478f, -0.025150f, -0.012314f, 0.004161f, 0.006977f, 0.014150f, 0.001218f, -0.013494f, 0.004586f, -0.021590f, 0.011292f, 0.018522f, 0.002090f, 0.036987f, 0.044576f, 0.013894f, -0.008501f, -0.048966f, -0.064656f, -0.025922f, -0.011955f, -0.007437f, 0.032844f, 0.025580f, -0.006738f, 0.028998f, 0.031326f, 0.017657f, 0.021630f, -0.011889f, -0.023335f, -0.018620f, -0.026843f, -0.021163f, -0.003997f, -0.020310f, -0.008124f, 0.001226f, 0.016332f, 0.023255f, 0.033321f, 0.028930f, 0.026503f, 0.021207f, -0.011020f, -0.024901f, -0.042046f, -0.051638f, -0.030177f, -0.022346f, 0.002852f, 0.024797f, 0.036307f, 0.042284f, 0.033269f, 0.030823f, 0.019725f, -0.026021f, -0.046712f, -0.041989f, -0.020673f, -0.005910f, -0.001984f, 0.003273f, 0.017745f, 0.015812f, 0.007432f, 0.003688f, 0.014503f, 0.008386f, 0.012606f, 0.003650f, -0.019620f, -0.021346f, -0.014201f, + -0.005584f, 0.006635f, 0.004859f, -0.007168f, -0.003907f, 0.006593f, 0.003574f, 0.002793f, 0.009007f, 0.014227f, 0.006596f, 0.000224f, -0.007140f, -0.008394f, -0.006949f, -0.008627f, -0.011085f, -0.008566f, -0.000854f, 0.005780f, 0.008011f, 0.009306f, 0.007544f, 0.002291f, 0.000112f, 0.000180f, 0.000436f} + }, + { + {-0.010872f, -0.000147f, 0.002381f, 0.001806f, 0.007759f, 0.001020f, -0.000950f, -0.005003f, 0.011403f, 0.007043f, 0.000372f, -0.001405f, 0.011327f, 0.003845f, -0.003618f, -0.009934f, 0.006340f, -0.002862f, 0.004924f, -0.009455f, 0.000611f, -0.002262f, -0.007023f, -0.001907f, -0.003533f, -0.001310f, 0.000540f, 0.000044f, -0.005120f, -0.003148f, -0.000812f, -0.000990f, -0.003183f, 0.003408f, -0.000326f, -0.003412f, 0.006076f, -0.010108f, -0.004791f, 0.004820f, -0.006065f, 0.000831f, -0.003764f, -0.005552f, 0.003775f, 0.003420f, -0.002974f, 0.003789f, 0.007313f, 0.004110f, -0.003789f, -0.004442f, 0.000802f, 0.001432f, -0.004468f, 0.004837f, 0.008066f, -0.006883f, -0.002194f, 0.003963f, 0.002973f, -0.001644f, -0.002101f, -0.003364f, 0.004447f, 0.001346f, -0.005321f, 0.006050f, 0.002953f, -0.004981f, -0.003725f, 0.006362f, -0.004800f, -0.006146f, -0.011566f, -0.010067f, 0.005482f, 0.006328f, 0.000514f, 0.002775f, -0.001093f, 0.002270f, -0.004280f, 0.006492f, -0.000535f, 0.003001f, -0.002973f, 0.001671f, -0.002707f, -0.002126f, 0.000109f, 0.004157f, -0.000913f, -0.001068f, -0.001858f, 0.000613f, + -0.001402f, 0.000280f, 0.000495f, -0.000868f, -0.001004f, 0.000125f, -0.000047f, -0.000345f, -0.001102f, 0.000556f, -0.000401f, 0.014515f, -0.001393f, -0.002930f, -0.005941f, 0.009291f, -0.004944f, -0.000527f, -0.007547f, -0.008053f, -0.010128f, -0.004765f, 0.007945f, -0.008220f, -0.003073f, -0.002892f, 0.002755f, -0.002047f, -0.011284f, 0.005882f, 0.002828f, 0.021940f, -0.002240f, 0.010265f, -0.002046f, -0.000542f, -0.000993f, 0.001134f, -0.004625f, 0.008497f, -0.002231f, -0.001711f, -0.005127f, -0.000939f, -0.001833f, 0.013167f, 0.002445f, -0.001332f, -0.012339f, -0.001261f, -0.002373f, 0.003723f, -0.007842f, -0.002171f, 0.002123f, 0.001770f, -0.002169f, -0.001324f, -0.004873f, -0.001835f, -0.005857f, -0.002636f, 0.011369f, -0.003346f, 0.003600f, 0.006347f, -0.001536f, -0.006179f, -0.008108f, 0.002106f, 0.001903f, 0.002449f, 0.005040f, 0.005974f, 0.004920f, 0.002844f, -0.002253f, -0.002185f, -0.002607f, -0.011415f, -0.002730f, -0.001161f, 0.005529f, 0.004714f, -0.002821f, -0.000277f, 0.006073f, -0.006333f, 0.002496f, 0.000181f, -0.001582f, -0.003664f, -0.005582f, -0.000069f, 0.003322f, 0.003359f, + 0.003539f, -0.001479f, 0.001455f, -0.001322f, 0.000296f, 0.004978f, 0.002019f, 0.000386f, 0.000043f, -0.000759f, -0.000118f, 0.000318f, 0.000991f, -0.000632f, -0.000695f, 0.002160f, 0.001107f, 0.002200f, 0.002255f, 0.000463f, 0.001253f, -0.000323f, 0.000363f, 0.000164f, -0.001009f, -0.002555f, -0.000465f, -0.019239f, -0.004701f, -0.000391f, -0.004120f, -0.002861f, 0.006724f, -0.013520f, -0.011333f, -0.006642f, -0.004433f, 0.001908f, 0.015169f, -0.003312f, -0.000047f, 0.001810f, -0.010901f, -0.002866f, -0.009107f, -0.001426f, 0.016066f, -0.001261f, -0.007842f, -0.005109f, 0.000185f, 0.003261f, 0.003204f, -0.004533f, -0.020390f, -0.009772f, -0.002745f, -0.007885f, 0.000706f, 0.000348f, 0.008232f, -0.005347f, 0.007309f, 0.001768f, -0.003791f, -0.010932f, -0.009157f, 0.012613f, -0.010461f, 0.006921f, 0.002011f, -0.006715f, -0.002529f, -0.005998f, -0.004311f, 0.005930f, -0.011234f, 0.005781f, 0.001953f, -0.000198f, 0.001862f, 0.000769f, -0.001136f, 0.000234f, -0.005702f, -0.007811f, 0.000541f, -0.002391f, -0.005773f, -0.002341f, -0.008917f, 0.010332f, 0.007068f, 0.001774f, 0.008454f, 0.000992f, + -0.003619f, 0.010500f, -0.005565f, -0.003494f, -0.003588f, 0.007990f, -0.007829f, 0.003464f, 0.005610f, 0.000305f, 0.003470f, 0.008704f, 0.003180f, -0.000272f, 0.000540f, 0.001849f, 0.001437f, -0.001725f, -0.001055f, 0.000103f, -0.000459f, 0.002792f, 0.001349f, 0.002953f, 0.002190f, 0.000840f, -0.002679f, -0.003135f, 0.001881f, -0.000114f, -0.000189f, 0.002859f, -0.002005f, -0.001594f, -0.000056f, 0.000685f, 0.000931f, -0.000285f, -0.003226f, 0.002676f, 0.000709f, -0.012928f, 0.015852f, 0.017987f, 0.004932f, 0.004844f, -0.005141f, 0.008396f, 0.004211f, -0.010499f, 0.003298f, 0.006783f, -0.012553f, -0.010950f, 0.011038f, -0.009591f, -0.001385f, -0.006174f, 0.011125f, 0.002450f, -0.001261f, -0.004066f, -0.000071f, -0.007179f, 0.006704f, -0.003569f, 0.004066f, -0.001706f, -0.000044f, 0.007261f, 0.002858f, 0.001048f, -0.002785f, 0.007117f, 0.004517f, 0.002142f, -0.000592f, 0.007362f, -0.000554f, 0.001374f, -0.004606f, 0.008968f, 0.002028f, 0.003597f, 0.006560f, -0.017911f, -0.005808f, -0.003504f, -0.006403f, -0.006213f, 0.001845f, 0.010048f, -0.004298f, -0.002637f, -0.005457f, -0.002418f, + 0.002191f, 0.004442f, -0.012324f, -0.000705f, 0.004344f, 0.000541f, -0.000949f, 0.005406f, 0.003527f, -0.011539f, -0.003208f, -0.002480f, 0.007198f, -0.007575f, 0.010155f, 0.010992f, 0.005766f, 0.002302f, -0.005074f, -0.000228f, 0.000908f, 0.007364f, -0.001932f, 0.000924f, 0.000912f, 0.001152f, 0.010853f, 0.001226f, 0.011563f, 0.004302f, 0.000198f, -0.005480f, -0.003130f, 0.004770f, -0.000940f, 0.000037f, 0.000489f, 0.000328f, 0.001082f, 0.004856f, 0.001402f, 0.001924f, 0.000214f, 0.001860f, -0.003814f, -0.000283f, 0.001244f, 0.001575f, -0.000956f, -0.000574f, 0.000054f, 0.001572f, -0.001116f, -0.000803f, 0.001636f, 0.001589f, 0.002940f, 0.001392f, 0.002723f, -0.001558f, 0.000243f, 0.000360f, -0.001033f, 0.002589f, 0.019897f, -0.003709f, -0.000297f, 0.007258f, 0.004695f, 0.003511f, 0.006702f, 0.017671f, -0.004946f, -0.001634f, -0.017051f, 0.000326f, -0.014654f, -0.018583f, 0.000648f, 0.007903f, -0.024001f, 0.008133f, 0.007833f, 0.004293f, -0.007298f, -0.005767f, -0.007958f, -0.003023f, 0.000447f, 0.000498f, 0.007614f, 0.010069f, -0.001395f, -0.009926f, -0.006034f, 0.007453f, + -0.010675f, -0.005311f, -0.009025f, 0.001939f, -0.014576f, 0.007251f, 0.001137f, -0.000990f, 0.002327f, -0.000473f, -0.003347f, 0.000009f, 0.009360f, -0.010825f, 0.013091f, -0.009956f, -0.001176f, 0.002414f, -0.006617f, -0.005398f, 0.005113f, 0.002524f, -0.002106f, -0.005063f, 0.009765f, 0.004078f, -0.006835f, -0.013661f, 0.001567f, 0.003160f, 0.007976f, -0.000333f, -0.003553f, 0.000689f, 0.004216f, -0.003253f, 0.018979f, -0.006358f, -0.003109f, -0.013552f, -0.009000f, 0.021434f, 0.008680f, -0.004762f, -0.001249f, -0.007452f, -0.008367f, -0.000666f, 0.002958f, 0.000570f, -0.004075f, 0.004629f, 0.002521f, 0.006415f, -0.000707f, -0.004638f, 0.001843f, 0.000192f, -0.002147f, 0.001878f, 0.001779f, -0.000485f, 0.000804f, 0.002537f, 0.000804f, -0.000600f, -0.001960f, 0.001065f, 0.000630f, -0.001790f, 0.003488f, 0.002976f, 0.000927f, -0.001748f, -0.004554f, 0.000328f, -0.000394f, -0.000170f, 0.001957f, -0.002227f, 0.001415f, 0.002377f, -0.001458f, 0.005482f, 0.012819f, -0.017123f, -0.010116f, 0.011974f, -0.008973f, -0.009556f, -0.010491f, -0.012542f, 0.009013f, -0.003171f, -0.000374f, -0.002888f, + 0.000470f, -0.013955f, -0.002787f, 0.006381f, 0.006979f, 0.001583f, -0.007369f, -0.010712f, -0.008889f, -0.011304f, 0.002289f, 0.013473f, 0.001813f, 0.004355f, 0.004617f, 0.004490f, -0.007926f, 0.008299f, 0.005165f, -0.005941f, -0.004777f, -0.018303f, 0.002811f, 0.004074f, -0.014372f, -0.001152f, 0.004416f, -0.002710f, 0.001773f, -0.001310f, -0.015419f, 0.013096f, -0.014365f, 0.011278f, 0.000605f, 0.005675f, -0.016168f, -0.009061f, -0.014478f, -0.011432f, 0.002104f, -0.004090f, -0.005147f, -0.006454f, -0.000050f, 0.007180f, -0.013397f, -0.000252f, 0.003883f, -0.004350f, -0.014937f, -0.009376f, -0.003131f, 0.002788f, 0.007241f, 0.003121f, -0.012304f, 0.013098f, -0.004238f, -0.002896f, 0.013039f, -0.017145f, -0.005641f, -0.003442f, -0.003068f, 0.020455f, -0.007482f, -0.000381f, -0.007764f, -0.006458f, 0.003709f, 0.002789f, -0.000483f, 0.002160f, -0.001653f, -0.002922f, 0.003809f, 0.000020f, 0.001545f, 0.001605f, 0.004931f, -0.001974f, 0.001422f, 0.001067f, 0.000322f, 0.001265f, -0.005654f, 0.007304f, 0.006642f, -0.002308f, -0.001171f, 0.001010f, -0.000987f, 0.001224f, 0.000192f, -0.000549f, + -0.002731f, 0.001628f, -0.001422f, 0.000610f, 0.006462f, 0.004106f, 0.003461f, -0.002705f, 0.004603f, 0.001811f, -0.001895f, 0.002070f, 0.000680f, 0.001522f, 0.026487f, -0.023465f, -0.012331f, -0.015607f, 0.011409f, 0.004343f, -0.007929f, 0.005396f, -0.000044f, 0.015786f, 0.001070f, 0.000231f, -0.015077f, 0.010774f, 0.017434f, 0.018270f, 0.015217f, -0.008370f, -0.001209f, 0.002404f, -0.009591f, -0.006555f, 0.002629f, 0.001165f, -0.013856f, -0.006769f, -0.005787f, 0.006879f, -0.000964f, -0.010470f, -0.004753f, 0.003528f, 0.008474f, 0.001099f, -0.002824f, 0.000198f, -0.007305f, -0.000144f, -0.000359f, 0.001205f, -0.015846f, 0.009379f, 0.011084f, 0.002331f, 0.005768f, 0.006608f, -0.012803f, 0.018550f, 0.016758f, 0.003155f, -0.011381f, 0.006686f, -0.003950f, -0.016989f, -0.004220f, -0.005297f, -0.000133f, 0.001146f, -0.000190f, -0.010221f, -0.009079f, -0.021121f, -0.017552f, 0.000356f, 0.010870f, -0.009611f, 0.004667f, 0.001501f, -0.006414f, -0.017180f, -0.001560f, 0.010233f, -0.006551f, 0.009198f, 0.018017f, 0.005553f, -0.007207f, 0.010430f, 0.000134f, -0.000949f, 0.005057f, 0.008152f, + -0.000521f, -0.001256f, 0.002406f, 0.005315f, -0.002672f, -0.011488f, 0.000864f, -0.000182f, 0.001429f, 0.001592f, 0.004095f, 0.008663f, -0.002851f, -0.001347f, 0.006636f, 0.005994f, 0.001463f, 0.001001f, -0.003928f, 0.008360f, 0.001139f, -0.000397f, 0.005136f, 0.001697f, 0.002014f, 0.000991f, 0.004658f, 0.004107f, 0.004638f, 0.007412f, 0.000805f, 0.004489f, 0.000846f, 0.004982f, 0.002528f, 0.002899f, 0.002114f, 0.004729f, 0.004267f, -0.025140f, 0.002691f, -0.009370f, -0.033682f, -0.025909f, 0.006517f, 0.000266f, -0.005779f, 0.006034f, 0.016251f, -0.002554f, 0.009754f, 0.008634f, 0.005042f, -0.002561f, -0.008737f, 0.007190f, -0.007435f, 0.000928f, -0.006377f, 0.010161f, 0.018587f, -0.016654f, -0.004761f, 0.001060f, 0.006785f, 0.001826f, -0.005149f, -0.003006f, -0.006167f, -0.000455f, -0.007643f, 0.009830f, 0.002206f, -0.011701f, 0.013102f, -0.013055f, -0.004134f, 0.016046f, 0.014170f, 0.011937f, -0.013551f, -0.008903f, -0.012134f, 0.014153f, 0.019202f, -0.000259f, -0.003917f, 0.015218f, -0.022326f, 0.002779f, 0.006048f, -0.002135f, -0.018752f, 0.016944f, 0.005978f, 0.008625f, + 0.015930f, 0.000872f, -0.022635f, 0.005984f, 0.009364f, -0.005779f, -0.001639f, 0.015666f, -0.016158f, -0.015185f, -0.013079f, 0.001618f, 0.020208f, 0.010927f, -0.002858f, 0.023107f, -0.030652f, -0.011298f, 0.000415f, 0.014802f, 0.006933f, -0.004409f, -0.024349f, -0.003780f, -0.009736f, 0.002747f, 0.009337f, 0.023809f, 0.004110f, -0.006684f, 0.003172f, -0.004018f, -0.001524f, -0.007834f, 0.000096f, -0.006450f, 0.002283f, 0.006517f, 0.003742f, 0.006002f, 0.006810f, 0.002174f, 0.001516f, 0.000085f, 0.001268f, -0.003228f, -0.003337f, 0.000340f, 0.007189f, 0.002723f, -0.000793f, 0.001298f, 0.002944f, 0.005753f, 0.000846f, -0.001872f, 0.001062f, -0.001828f, 0.004683f, -0.008463f, -0.005063f, -0.003719f, 0.005425f, 0.004650f, -0.027083f, 0.027424f, 0.011161f, -0.000644f, -0.002760f, 0.002329f, 0.004733f, 0.014869f, -0.002790f, 0.001664f, -0.004722f, -0.003403f, 0.008402f, 0.004341f, 0.009751f, 0.004304f, 0.005642f, -0.018492f, -0.007646f, 0.031094f, 0.003176f, 0.009259f, 0.013085f, 0.004926f, -0.010501f, -0.019510f, 0.006112f, -0.008127f, 0.000765f, 0.006894f, -0.009693f, -0.011412f, + 0.013962f, 0.016375f, -0.008489f, -0.006032f, 0.012696f, -0.015543f, 0.006846f, -0.011958f, 0.005423f, -0.011573f, 0.016858f, 0.002365f, -0.002200f, 0.005940f, 0.028942f, 0.007994f, 0.011228f, -0.003247f, 0.001498f, 0.004945f, 0.021379f, -0.001835f, 0.030628f, 0.000924f, 0.014565f, -0.000515f, 0.027649f, 0.009792f, 0.020640f, 0.015658f, -0.003457f, -0.009233f, -0.002474f, -0.010550f, -0.011635f, 0.016206f, -0.003256f, -0.006322f, 0.002527f, 0.000243f, -0.008272f, -0.004030f, 0.002535f, 0.007255f, 0.002016f, -0.013854f, -0.013724f, -0.007132f, -0.014012f, -0.000365f, -0.000290f, -0.004119f, 0.003889f, -0.000276f, 0.005704f, -0.000836f, -0.005713f, 0.001182f, -0.002411f, -0.010562f, -0.006659f, 0.001511f, 0.014133f, -0.005955f, 0.005235f, -0.001596f, -0.000149f, 0.006551f, -0.004911f, 0.002227f, 0.003213f, -0.003589f, -0.002446f, -0.001765f, -0.004041f, 0.001992f, -0.005054f, -0.006596f, -0.002512f, -0.007147f, 0.008964f, -0.002517f, 0.000550f, -0.000771f, -0.000530f, 0.000948f, -0.002964f, 0.001323f, 0.002272f, 0.001164f, 0.003657f, 0.004848f, 0.000864f, 0.003613f, -0.002696f, -0.007733f, + 0.001548f, -0.002143f, 0.003247f, -0.003164f, 0.031777f, -0.008347f, -0.000283f, -0.039172f, -0.001399f, 0.020928f, -0.010967f, 0.018184f, -0.024924f, 0.003611f, 0.002492f, -0.000729f, -0.033050f, -0.001498f, -0.055063f, 0.002588f, -0.006087f, -0.023066f, -0.004039f, 0.003079f, -0.012100f, 0.002084f, 0.013895f, 0.002128f, -0.012625f, 0.002328f, -0.003927f, 0.012195f, -0.013576f, 0.000775f, 0.017625f, 0.003964f, 0.001432f, -0.002648f, 0.013498f, -0.008724f, 0.001387f, -0.000069f, 0.010350f, 0.001993f, -0.018614f, -0.009910f, -0.013141f, 0.015347f, -0.034838f, 0.016829f, 0.013811f, 0.011884f, 0.006605f, 0.002581f, -0.015274f, 0.010842f, -0.022602f, -0.005356f, -0.004785f, -0.004691f, -0.001043f, 0.001418f, 0.007199f, -0.017361f, -0.006862f, 0.029260f, 0.012218f, -0.010681f, -0.012456f, 0.003177f, -0.005205f, 0.008917f, -0.006002f, -0.001810f, -0.009525f, 0.026536f, 0.013466f, -0.009112f, 0.001609f, -0.013519f, 0.003081f, -0.010206f, -0.003582f, 0.010538f, 0.009776f, -0.003066f, 0.019312f, -0.007609f, 0.009551f, -0.012689f, 0.013465f, 0.001977f, -0.007928f, -0.010684f, -0.015966f, 0.004035f, + -0.001812f, 0.007250f, -0.002101f, -0.004699f, 0.002853f, 0.002974f, 0.004745f, 0.003884f, 0.008810f, -0.000336f, 0.002785f, -0.006854f, 0.005469f, -0.004920f, -0.002550f, -0.003690f, -0.000805f, -0.008725f, -0.001578f, 0.003415f, 0.007807f, -0.007498f, -0.003704f, -0.005417f, 0.005329f, 0.004172f, -0.003550f, -0.000676f, -0.005917f, 0.004494f, 0.020169f, 0.020379f, 0.011832f, 0.010566f, -0.009906f, 0.011753f, 0.019591f, -0.014551f, -0.000519f, -0.037766f, 0.021641f, 0.014768f, -0.005379f, 0.008750f, -0.002428f, 0.003020f, 0.013475f, -0.008456f, 0.021077f, -0.019003f, 0.001836f, 0.023732f, 0.010397f, 0.001461f, 0.018320f, -0.006478f, 0.008419f, 0.004830f, 0.009818f, 0.016216f, -0.009576f, -0.001941f, 0.029912f, 0.014954f, -0.000649f, 0.004130f, -0.020257f, 0.027524f, -0.023166f, -0.001459f, 0.024107f, 0.007482f, 0.025954f, -0.016284f, 0.004168f, -0.001053f, -0.006343f, 0.003482f, -0.025058f, -0.017582f, 0.023632f, -0.011767f, -0.005054f, -0.007991f, -0.026648f, 0.018929f, -0.006277f, -0.004416f, -0.011803f, 0.011644f, 0.027092f, -0.021354f, -0.004340f, 0.018260f, -0.020051f, -0.008752f, + 0.016324f, 0.022763f, -0.037624f, -0.010040f, -0.003222f, 0.016056f, -0.000563f, 0.018751f, -0.004548f, -0.013744f, 0.000920f, 0.009979f, 0.024307f, 0.012251f, -0.016325f, -0.000855f, 0.011963f, -0.024229f, -0.014824f, -0.004643f, -0.012400f, -0.012620f, -0.001476f, 0.011490f, -0.010865f, 0.002685f, 0.011990f, 0.003323f, 0.002157f, 0.008372f, -0.002063f, 0.005387f, 0.005218f, 0.005098f, 0.002946f, -0.000965f, -0.007284f, -0.002497f, -0.002018f, -0.006659f, -0.002992f, 0.001020f, 0.000870f, -0.001010f, 0.001056f, 0.007320f, -0.006032f, -0.001975f, -0.004476f, 0.003498f, 0.003461f, -0.001459f, -0.004993f, -0.011106f, 0.005608f, 0.004201f, 0.007225f, 0.001947f, 0.001779f, -0.000811f, -0.006867f, 0.002749f, -0.002748f, -0.003183f, -0.001984f, 0.019694f, 0.041734f, 0.008068f, -0.024668f, -0.008792f, 0.008195f, -0.054739f, 0.001730f, 0.000335f, -0.008568f, -0.002686f, 0.025290f, -0.041313f, 0.009090f, 0.019314f, -0.015190f, 0.017117f, 0.031934f, 0.007917f, -0.029501f, 0.007988f, -0.007425f, -0.000535f, -0.028917f, -0.008736f, 0.026388f, -0.002964f, 0.024197f, -0.006368f, -0.008472f, 0.003959f, + -0.020464f, -0.011510f, -0.014729f, -0.010930f, -0.008045f, 0.019739f, -0.021801f, 0.003545f, 0.038112f, 0.025724f, 0.008602f, -0.038735f, 0.006448f, 0.025414f, 0.010646f, 0.001511f, -0.013804f, -0.016820f, -0.041341f, -0.028568f, 0.005919f, -0.014138f, -0.014124f, -0.000816f, 0.017681f, 0.012513f, -0.012419f, 0.000542f, 0.025152f, -0.009679f, -0.004240f, 0.001141f, 0.033064f, 0.001256f, -0.001645f, 0.016807f, 0.005282f, -0.037613f, 0.010569f, 0.010894f, -0.000164f, -0.031150f, 0.013167f, 0.018245f, -0.013669f, -0.009767f, -0.025518f, 0.006799f, -0.009350f, 0.009668f, 0.004887f, -0.006018f, -0.010797f, 0.007049f, 0.003269f, 0.010885f, -0.005381f, 0.016978f, 0.006046f, -0.011655f, 0.001446f, -0.000608f, -0.015953f, 0.000297f, 0.001348f, -0.000059f, -0.000273f, -0.008439f, -0.007241f, -0.003402f, -0.000141f, 0.010642f, 0.003598f, 0.005563f, 0.008690f, -0.003944f, -0.005042f, 0.004088f, -0.008254f, -0.007470f, -0.000232f, -0.000420f, 0.002683f, -0.002474f, 0.001975f, 0.005235f, 0.005673f, 0.000690f, -0.003208f, -0.000800f, -0.000332f, -0.000944f, 0.000172f, -0.001389f, 0.000780f, -0.000192f, + 0.007373f, -0.004169f, -0.005082f, 0.013215f, 0.009595f, -0.001276f, 0.003813f, -0.012280f, 0.043152f, 0.002402f, -0.008664f, -0.000560f, 0.019095f, -0.009153f, 0.005292f, -0.004600f, 0.004542f, 0.016383f, -0.029757f, 0.031518f, 0.035694f, 0.010077f, 0.015134f, -0.012036f, 0.020265f, 0.046992f, 0.001578f, -0.005327f, -0.008590f, 0.020036f, -0.007021f, -0.011306f, -0.003897f, 0.007142f, -0.023313f, 0.010461f, -0.020524f, 0.023617f, 0.005431f, 0.023783f, -0.014810f, 0.021684f, 0.006520f, 0.028365f, 0.004772f, 0.006023f, -0.010046f, 0.017690f, 0.004504f, -0.005525f, 0.025516f, -0.009840f, -0.018025f, 0.036036f, 0.028781f, 0.010670f, 0.027210f, 0.039425f, 0.047788f, -0.014761f, -0.014858f, -0.016758f, 0.006061f, -0.021832f, 0.025942f, -0.003122f, -0.002261f, -0.036598f, 0.008620f, 0.041691f, 0.042484f, -0.001561f, -0.005450f, -0.029008f, 0.000561f, 0.027704f, -0.014000f, -0.017151f, 0.015734f, 0.002537f, -0.014959f, 0.005432f, -0.002338f, -0.009115f, -0.001968f, -0.007805f, -0.000207f, 0.016113f, 0.012033f, -0.003176f, 0.002981f, -0.003788f, -0.015895f, -0.020779f, -0.003773f, 0.010487f, + 0.004329f, 0.014805f, -0.002845f, -0.013780f, -0.003673f, 0.015349f, -0.007049f, 0.008773f, 0.014178f, -0.014051f, -0.003638f, -0.001289f, 0.003722f, -0.000676f, 0.009512f, 0.006962f, 0.003524f, -0.014006f, 0.003704f, 0.007803f, 0.002479f, 0.003258f, 0.005231f, -0.012420f, -0.005704f, 0.000093f, -0.000501f, -0.006552f, -0.016092f, -0.005182f, 0.001578f, 0.008495f, 0.002004f, -0.006575f, -0.007600f, -0.056588f, -0.039578f, 0.020610f, 0.007924f, -0.029731f, 0.002927f, 0.012948f, -0.027114f, -0.017119f, -0.011767f, 0.032031f, 0.014293f, 0.010143f, -0.010359f, -0.008005f, -0.008259f, -0.020188f, -0.026861f, -0.047239f, 0.024409f, 0.020863f, -0.010110f, 0.053030f, 0.025435f, 0.050913f, 0.034932f, 0.003123f, -0.016458f, 0.013389f, 0.006172f, 0.023081f, 0.026583f, 0.029342f, -0.004333f, -0.005326f, 0.012475f, -0.013469f, -0.003175f, -0.011889f, -0.022132f, -0.036380f, -0.010647f, 0.036759f, -0.009223f, -0.014878f, -0.020966f, 0.014537f, 0.022269f, 0.014726f, 0.001397f, 0.021601f, 0.042323f, -0.025434f, -0.011603f, -0.019612f, -0.014186f, -0.040996f, -0.010053f, 0.010179f, -0.018648f, -0.014694f, + -0.047100f, -0.067142f, 0.007288f, -0.044291f, -0.069510f, -0.050411f, -0.021194f, 0.044807f, 0.015495f, 0.027282f, 0.020528f, -0.046460f, -0.019594f, 0.003842f, 0.023171f, -0.023166f, -0.027326f, -0.026536f, -0.008252f, 0.013611f, -0.015727f, -0.057873f, -0.036364f, -0.008475f, -0.011735f, -0.004328f, -0.008602f, 0.032410f, 0.029704f, 0.030647f, 0.031402f, 0.010281f, -0.000300f, 0.011636f, 0.003267f, -0.001170f, 0.009263f, -0.026183f, -0.010075f, 0.011109f, 0.015201f, -0.000884f, -0.008492f, -0.009585f, 0.003802f, -0.014343f, -0.020601f, 0.018730f, -0.015352f, -0.007959f, 0.001690f, -0.018090f, -0.016900f, -0.030731f, -0.011932f, -0.007368f, 0.002164f, 0.025319f, -0.006567f, -0.003977f, -0.008093f, 0.012816f, -0.006869f, 0.000507f, 0.012427f, 0.000808f, -0.008778f, 0.005514f, 0.012399f, -0.007811f, -0.001858f, -0.000595f, 0.006565f, -0.107417f, -0.016865f, 0.034514f, -0.036571f, 0.015001f, -0.014255f, -0.058281f, -0.018163f, 0.062385f, 0.078574f, -0.041737f, 0.001449f, -0.014390f, -0.064129f, -0.051080f, -0.048266f, -0.051516f, -0.027549f, -0.033652f, -0.002797f, 0.010977f, -0.008988f, 0.013101f, + 0.012079f, -0.021115f, -0.005804f, -0.028965f, 0.012110f, -0.045586f, -0.041071f, 0.009795f, 0.007030f, -0.012464f, -0.015095f, 0.035668f, -0.010581f, 0.049550f, 0.010905f, 0.045923f, -0.031204f, 0.019958f, 0.012921f, 0.055634f, 0.029686f, 0.019454f, 0.005234f, 0.008350f, -0.006700f, 0.016283f, 0.022844f, -0.018107f, -0.025251f, 0.038899f, -0.005513f, -0.049030f, -0.094008f, -0.113024f, -0.081549f, 0.013384f, -0.000281f, -0.105270f, 0.034009f, 0.017756f, 0.026165f, -0.036008f, 0.004385f, 0.012207f, 0.004512f, 0.053773f, 0.054794f, 0.109694f, 0.036314f, -0.058773f, -0.075421f, -0.046427f, -0.041759f, -0.048290f, -0.043003f, -0.001702f, 0.023221f, 0.031323f, -0.020535f, 0.041299f, -0.035849f, -0.049934f, -0.038917f, -0.025928f, -0.019587f, -0.039085f, 0.024074f, -0.002952f, 0.023011f, 0.017611f, 0.002408f, 0.040522f, -0.021696f, -0.009626f, -0.040912f, 0.013376f, 0.021311f, -0.003700f, -0.004003f, 0.011965f, -0.039321f, 0.001109f, -0.014248f, 0.007116f, -0.019165f, -0.027096f, 0.015812f, -0.001122f, -0.011542f, -0.004600f, 0.018649f, -0.015365f, 0.009432f, -0.014333f, 0.010797f, 0.009386f, + -0.005954f, -0.014240f, 0.008289f, 0.009180f, -0.029171f, 0.011567f, -0.007789f, -0.008860f, -0.009308f, 0.005766f, -0.019116f, -0.008752f, 0.060267f, -0.016122f, -0.113780f, -0.032538f, 0.093754f, -0.012992f, 0.020958f, 0.013338f, 0.017564f, 0.032800f, 0.026949f, 0.009355f, -0.018487f, -0.006924f, 0.004745f, -0.020294f, -0.004618f, 0.034386f, -0.030708f, -0.018388f, -0.030776f, -0.007443f, 0.005438f, 0.003916f, 0.008313f, 0.016050f, -0.023357f, 0.020893f, 0.051453f, -0.000973f, -0.029791f, 0.002689f, -0.019432f, -0.006801f, 0.030602f, -0.032150f, 0.003809f, 0.010104f, 0.037400f, 0.053860f, -0.034087f, -0.019601f, 0.021078f, 0.002839f, 0.006097f, 0.006219f, -0.022526f, -0.058116f, -0.010164f, -0.027069f, 0.053068f, -0.100385f, -0.065756f, -0.027194f, -0.010708f, 0.028964f, 0.006308f, -0.035457f, -0.005733f, -0.040846f, -0.043846f, -0.015813f, -0.031634f, 0.005784f, 0.026411f, 0.120618f, 0.022609f, -0.017965f, -0.077373f, -0.063852f, 0.019185f, -0.001994f, -0.072608f, 0.039294f, 0.039382f, -0.074161f, -0.001125f, 0.019236f, 0.021672f, 0.079880f, 0.035380f, 0.016647f, -0.078718f, -0.040789f, + -0.054226f, 0.049553f, -0.004711f, -0.016324f, -0.008535f, 0.015413f, 0.052630f, 0.044350f, -0.023092f, -0.046950f, -0.068180f, 0.016535f, 0.040841f, -0.014384f, -0.006690f, 0.035593f, 0.020741f, 0.031005f, 0.008223f, 0.010976f, -0.026024f, -0.007998f, -0.012104f, 0.013329f, 0.014416f, -0.003835f, -0.005727f, -0.004082f, 0.019326f, 0.021094f, -0.030655f, 0.017846f, 0.014077f, 0.025512f, -0.016024f, -0.011612f, 0.016567f, 0.005515f, -0.021983f, -0.002536f, 0.026855f, 0.004801f, -0.019012f, -0.039910f, -0.135071f, 0.019152f, 0.020840f, -0.004591f, -0.002282f, -0.010521f, -0.038959f, 0.015122f, -0.008669f, 0.068710f, -0.071160f, -0.014639f, 0.072411f, -0.003491f, -0.049169f, -0.006182f, 0.042662f, 0.051891f, 0.031826f, -0.009514f, 0.037099f, -0.028334f, 0.025008f, -0.011614f, -0.009810f, -0.024546f, 0.040646f, 0.027594f, -0.026832f, -0.012456f, -0.004086f, 0.041212f, -0.004112f, 0.004196f, -0.026806f, 0.027697f, 0.017904f, -0.030888f, 0.055419f, 0.002267f, -0.050270f, 0.043972f, -0.054597f, -0.028913f, 0.049270f, -0.105896f, -0.067583f, 0.057208f, -0.036735f, 0.042347f, -0.067234f, 0.014693f, + 0.024327f, -0.037079f, 0.001160f, -0.003154f, -0.069389f, -0.016298f, 0.071150f, 0.075110f, -0.085997f, -0.028722f, 0.025919f, -0.069007f, 0.088518f, 0.088643f, 0.012483f, -0.127506f, -0.067043f, 0.135056f, -0.071733f, -0.014519f, 0.109503f, -0.064654f, -0.131627f, -0.029739f, 0.118424f, -0.025797f, -0.086857f, -0.021535f, -0.158364f, -0.007463f, 0.127872f, -0.046925f, -0.128049f, -0.013229f, -0.036120f, -0.017458f, 0.037835f, -0.004781f, -0.001712f, -0.046809f, -0.030682f, -0.015071f, 0.051020f, -0.065248f, 0.003001f, 0.010225f, -0.020564f, 0.002084f, 0.060769f, -0.039216f, -0.049213f, -0.006693f, 0.016988f, 0.038048f, -0.015403f, 0.019052f, 0.028963f, 0.003150f, -0.044446f, -0.023805f, 0.000822f, -0.035466f, -0.017326f, 0.067316f, -0.025653f, -0.066047f, -0.017837f, 0.038230f, 0.015716f, -0.005165f, 0.008365f, -0.059739f, -0.034517f, 0.045188f, 0.067035f, 0.007988f, -0.050007f, -0.024498f, 0.001977f, 0.017633f, 0.033519f, -0.019672f, -0.074646f, -0.070449f, -0.002155f, -0.088781f, -0.026442f, -0.038046f, -0.035765f, -0.027185f, 0.057098f, -0.006796f, -0.018676f, -0.024725f, 0.010933f, -0.031490f, + -0.073933f, 0.056569f, 0.017678f, 0.048810f, 0.015167f, 0.050503f, -0.020544f, -0.031940f, 0.011033f, -0.053737f, 0.041137f, -0.048703f, -0.010482f, 0.031399f, -0.036901f, -0.008140f, -0.022517f, -0.058847f, 0.008535f, -0.044520f, -0.032125f, -0.038885f, -0.028815f, -0.017968f, -0.039475f, 0.006564f, 0.043175f, -0.029737f, -0.010753f, 0.005043f, 0.039761f, -0.018559f, 0.013899f, -0.041365f, 0.066404f, 0.020577f, 0.028307f, 0.017997f, 0.063672f, -0.004020f, -0.075480f, 0.016336f, 0.026999f, -0.021133f, -0.000550f, 0.039352f, -0.052605f, -0.052079f, -0.061006f, 0.052210f, 0.015217f, -0.074847f, 0.028769f, -0.049455f, -0.009955f, -0.069838f, 0.030499f, 0.049333f, 0.009909f, -0.077323f, 0.042994f, 0.035678f, -0.010205f, -0.067961f, 0.017949f, -0.041042f, -0.014386f, -0.003045f, -0.021097f, 0.033523f, -0.030718f, -0.055100f, 0.026927f, -0.012348f, 0.022704f, -0.000361f, -0.002477f, -0.000408f, -0.015371f, -0.017175f, 0.011191f, 0.049093f, -0.006432f, -0.069414f, -0.019659f, 0.028863f, -0.034766f, -0.014627f, 0.032833f, -0.012560f, -0.005275f, -0.027745f, 0.053926f, 0.031980f, -0.016556f, 0.024493f, + -0.004868f, 0.011024f, 0.043628f, -0.007971f, -0.039205f, 0.016205f, 0.024665f, -0.019902f, 0.031270f, -0.005087f, 0.019076f, 0.002338f, -0.014955f, 0.026644f, 0.038086f, -0.022048f, -0.041290f, 0.016042f, 0.024445f, -0.019964f, -0.004658f, 0.023360f, 0.007443f, 0.065779f, 0.123501f, -0.029616f, 0.061282f, 0.012000f, -0.029085f, -0.055073f, -0.032081f, 0.071884f, -0.023458f, 0.013430f, 0.027930f, -0.007156f, 0.066242f, -0.009636f, 0.051998f, 0.054383f, -0.066561f, 0.034442f, -0.017385f, 0.001726f, 0.024499f, 0.020389f, -0.002211f, 0.010940f, 0.019839f, 0.066569f, 0.068388f, 0.052838f, -0.038530f, -0.013037f, -0.090775f, -0.002611f, 0.021508f, 0.041128f, 0.009510f, -0.075015f, 0.032976f, -0.044968f, 0.058360f, -0.052519f, -0.036784f, 0.003953f, -0.044026f, -0.007408f, -0.025400f, 0.089915f, -0.049012f, -0.023857f, -0.094031f, -0.030440f, -0.049349f, 0.132998f, 0.080793f, -0.027822f, -0.089451f, -0.095774f, -0.056984f, 0.066257f, 0.086259f, 0.043901f, 0.012746f, -0.114947f, -0.053431f, 0.038033f, 0.032341f, 0.005203f, 0.041675f, -0.023691f, -0.075771f, 0.036077f, -0.128565f, 0.140064f, + -0.013062f, -0.090196f, 0.210386f, 0.030390f, 0.073221f, 0.126306f, -0.208832f, -0.150244f, 0.041691f, -0.012176f, 0.031937f, 0.045966f, -0.130557f, -0.009435f, 0.026356f, 0.002863f, 0.109377f, 0.008002f, -0.057276f, -0.005738f, 0.058787f, -0.033876f, 0.025679f, 0.030465f, 0.001191f, -0.023668f, 0.028743f, -0.075763f, 0.058011f, -0.014576f, -0.024231f, 0.033013f, 0.008699f, 0.002594f, 0.034347f, -0.007857f, 0.020558f, -0.003946f, 0.013178f, -0.009658f, -0.039973f, 0.024504f, 0.016834f, 0.023188f, -0.000283f, 0.000952f, 0.015647f, 0.009010f, 0.006034f, 0.046758f, 0.051569f, 0.003241f, 0.033766f, -0.031543f, 0.004730f, -0.020620f, 0.039049f, 0.035979f, 0.005436f, -0.010048f, -0.023594f, -0.054880f, 0.004525f, -0.054683f, 0.037013f, -0.077255f, 0.047830f, -0.031786f, 0.078486f, -0.035384f, -0.003646f, 0.044726f, 0.007954f, 0.003943f, -0.020230f, -0.017494f, 0.002043f, -0.030029f, 0.033116f, -0.003828f, 0.035165f, -0.027537f, -0.027186f, 0.009293f, 0.001384f, -0.027913f, 0.017617f, -0.003478f, 0.015374f, -0.008533f, -0.007562f, 0.014749f, -0.014029f, -0.001085f, 0.010951f, -0.005638f, + -0.006700f, 0.055751f, -0.003833f, -0.018578f, -0.009981f, 0.026516f, -0.002424f, -0.030256f, 0.016093f, 0.032666f, 0.006577f, 0.000865f, -0.019297f, 0.006936f, -0.015631f, 0.015031f, 0.039582f, -0.013961f, 0.018092f, -0.014828f, -0.004463f, -0.016249f, -0.007748f, 0.010550f, 0.012791f, -0.023027f, 0.013928f, 0.004254f, -0.002959f, -0.023017f, 0.003951f, 0.008532f, -0.017167f, 0.024989f, 0.020838f, -0.041667f, 0.010654f, -0.038231f, -0.043630f, 0.030125f, -0.015551f, 0.036361f, 0.019701f, 0.001241f, 0.018529f, -0.005642f, -0.022525f, -0.005227f, 0.001322f, 0.025395f, -0.011412f, 0.007891f, 0.010371f, -0.014346f, -0.002669f, 0.008930f, -0.004412f, -0.002635f, 0.014578f, 0.000001f, 0.005571f, -0.011867f, 0.004997f, -0.001060f, -0.012449f, 0.023694f, 0.002037f, 0.019378f, -0.009413f, 0.015950f, -0.007929f, 0.001298f, -0.012411f, 0.010733f, -0.006047f, 0.023482f, -0.007289f, 0.022221f, -0.022675f, 0.005220f, 0.001453f, -0.004548f, 0.000747f, 0.002981f, 0.017475f, -0.000553f, -0.020633f, 0.013842f, -0.011647f, 0.002424f, 0.012449f, -0.012528f, 0.021791f, -0.045377f, 0.096115f, 0.018204f, + 0.023680f, -0.012130f, 0.008873f, -0.002717f, 0.018285f, 0.005814f, 0.041020f, 0.002888f, -0.022110f, 0.013550f, -0.014393f, 0.006382f, 0.008480f, -0.018712f, 0.001095f, 0.004606f, -0.020202f, 0.018585f, 0.004853f, -0.008260f, 0.025000f, -0.008826f, 0.009944f, -0.007541f, 0.004744f, 0.004823f, 0.002383f, -0.003054f, -0.007254f, -0.003323f, 0.003594f, 0.000693f, -0.004039f, -0.012031f, 0.009151f, -0.008054f, 0.004623f, 0.008032f, -0.008171f, 0.001840f, -0.007623f, 0.002302f, -0.012159f, -0.019817f, 0.020667f, -0.010954f, -0.005207f, 0.008805f, 0.004130f, -0.003424f, 0.002457f, 0.017752f, -0.019357f, 0.008516f, -0.007221f, 0.015392f, -0.016249f, 0.009405f, 0.004709f, -0.002796f, 0.003703f, 0.000479f, 0.000342f, 0.007583f, -0.010232f, 0.005926f, 0.005252f, -0.002711f, -0.000893f, 0.013472f, -0.001938f, 0.004654f, -0.015400f, 0.021033f, -0.016112f, -0.000149f, 0.010595f, -0.009348f, 0.007271f, 0.002440f, 0.002648f, -0.009778f, 0.008099f, 0.008399f, -0.005089f, 0.003387f, 0.004246f, -0.006937f, 0.002600f, 0.003566f, -0.001401f, 0.007389f, 0.000446f, -0.000059f, -0.000661f, 0.006644f, + 0.005164f, -0.004044f, 0.005806f, -0.002818f, 0.002669f, 0.002984f, -0.000591f, 0.008239f, -0.003544f, 0.000168f, 0.005311f, -0.006319f, 0.000635f, -0.000543f, -0.004426f, 0.000754f, 0.004766f, -0.001265f, -0.003701f, 0.008209f, -0.005056f, 0.018169f, -0.085318f, -0.211811f, 0.045761f, 0.176141f, 0.119073f, 0.248437f, -0.081247f, -0.069457f, -0.142926f, -0.228440f, -0.022571f, 0.071204f, 0.093868f, 0.122498f, 0.061767f, 0.006775f, -0.020017f, -0.052964f, -0.075531f, -0.011445f, -0.020168f, 0.007439f, 0.017351f, -0.000900f, 0.004369f, 0.009133f, 0.004065f, 0.029915f, 0.035536f, 0.022075f, -0.004060f, 0.004102f, -0.026273f, -0.055161f, -0.058765f, -0.028828f, -0.038538f, 0.031746f, 0.058540f, 0.062108f, 0.068212f, 0.037367f, -0.011010f, -0.026939f, -0.050102f, -0.052960f, -0.036773f, -0.020714f, -0.002359f, 0.013359f, 0.025737f, 0.027591f, 0.023245f, 0.019992f, -0.003408f, 0.005362f, -0.005889f, 0.002636f, -0.004417f, -0.002755f, -0.001560f, -0.018794f, -0.019643f, -0.014273f, -0.029623f, 0.000018f, -0.005548f, 0.003715f, 0.050488f, 0.066438f, 0.022479f, 0.022499f, -0.018185f, -0.036552f, + -0.025203f, -0.044009f, -0.035276f, 0.012426f, -0.002980f, -0.021349f, 0.016447f, 0.017530f, 0.020996f, 0.049718f, 0.020764f, 0.021793f, 0.005496f, -0.026815f, -0.026330f, -0.021640f, -0.023510f, -0.029890f, -0.025420f, -0.015222f, 0.004779f, 0.033189f, 0.050156f, 0.046853f, 0.019099f, 0.009437f, -0.012120f, -0.022738f, -0.020321f, -0.022538f, -0.025886f, -0.011924f, -0.010716f, -0.000929f, 0.008875f, 0.006694f, 0.020308f, 0.026764f, 0.019505f, 0.013177f, 0.004775f, -0.001739f, -0.012576f, -0.013179f, -0.020352f, -0.023095f, -0.017985f, -0.016211f, -0.003951f, 0.017159f, 0.025872f, 0.027664f, 0.024779f, 0.009978f, 0.004716f, -0.012431f, -0.019465f, -0.010533f, -0.014339f, -0.019795f, -0.014752f, 0.002645f, 0.013588f, 0.012514f, 0.007260f, 0.007931f, 0.007420f, 0.005456f, 0.001834f, -0.001491f, -0.001901f, -0.005353f, -0.006562f, -0.006374f, -0.007128f, -0.008736f, -0.004519f, 0.003454f, 0.006645f, 0.007334f, 0.004841f, 0.002075f, 0.000634f, 0.000526f, 0.000558f}, + {-0.011968f, 0.001523f, 0.003811f, 0.003691f, 0.018853f, 0.005127f, 0.003987f, -0.005577f, 0.000728f, -0.009551f, 0.002249f, 0.008786f, -0.004447f, 0.000426f, -0.001847f, -0.004698f, -0.007569f, 0.005856f, -0.012665f, -0.006388f, -0.006354f, 0.006879f, 0.007534f, 0.003974f, 0.001807f, 0.005459f, 0.004508f, 0.009012f, -0.003123f, 0.003160f, 0.005607f, 0.001197f, 0.001851f, -0.006559f, -0.002824f, -0.002738f, -0.002466f, 0.006096f, -0.011650f, 0.001958f, -0.004033f, 0.012224f, 0.000298f, -0.002190f, -0.003058f, -0.005026f, -0.001671f, -0.005246f, -0.015367f, -0.004856f, -0.003004f, -0.002473f, -0.003442f, 0.001600f, -0.002875f, -0.000713f, -0.000985f, 0.005394f, 0.002413f, -0.000685f, 0.003444f, -0.003000f, 0.006605f, -0.004313f, -0.007151f, 0.006925f, 0.007253f, -0.003120f, -0.006868f, 0.000672f, 0.003771f, 0.002854f, 0.003278f, -0.003242f, 0.000045f, 0.002670f, 0.003590f, 0.001578f, -0.000981f, 0.000451f, 0.004461f, 0.008599f, 0.004162f, -0.001048f, -0.000099f, -0.002023f, -0.002148f, 0.001807f, -0.002830f, 0.001756f, 0.002124f, -0.000820f, -0.000276f, 0.000950f, 0.000828f, -0.000851f, + 0.000719f, 0.000503f, -0.003940f, 0.000638f, 0.000311f, 0.001236f, 0.000705f, -0.001496f, 0.001429f, 0.001140f, -0.000099f, 0.017054f, -0.003188f, -0.001630f, 0.001833f, 0.004707f, -0.012563f, 0.007827f, -0.014912f, -0.000671f, -0.007217f, -0.001060f, -0.004769f, -0.001125f, -0.001159f, 0.007498f, -0.006315f, 0.008121f, -0.008461f, -0.009245f, 0.003923f, 0.012411f, -0.014624f, -0.004061f, -0.007071f, 0.000105f, -0.003676f, 0.003957f, 0.005252f, 0.002655f, 0.005350f, -0.008499f, 0.000315f, 0.011934f, 0.004693f, 0.001522f, -0.008656f, -0.012371f, -0.007440f, 0.001901f, -0.006324f, -0.003572f, 0.002424f, 0.008038f, -0.007236f, -0.007132f, 0.002898f, -0.005214f, 0.009235f, 0.003094f, -0.000943f, 0.006510f, 0.006187f, -0.000005f, 0.010379f, 0.005134f, 0.003255f, 0.002751f, 0.006807f, 0.010708f, -0.007043f, 0.002049f, 0.002949f, -0.007525f, 0.000677f, 0.006117f, -0.002372f, 0.015464f, -0.004768f, -0.004101f, -0.003212f, 0.005704f, 0.007875f, -0.010026f, -0.004078f, 0.002732f, -0.001813f, 0.002464f, 0.000976f, -0.004393f, 0.001968f, 0.000940f, -0.003230f, -0.005314f, 0.002197f, 0.001492f, + 0.004882f, 0.000411f, 0.001511f, 0.002239f, -0.000212f, -0.001595f, 0.003580f, 0.000214f, -0.000009f, 0.003080f, -0.001665f, 0.001492f, 0.004114f, -0.000346f, -0.000883f, 0.000778f, -0.000609f, 0.001269f, -0.002512f, -0.000789f, -0.001167f, 0.000167f, -0.000378f, 0.001608f, 0.000175f, -0.001574f, 0.000075f, -0.021921f, -0.003564f, -0.004901f, -0.003921f, -0.001980f, -0.002698f, 0.011634f, 0.013912f, -0.003201f, 0.011349f, 0.004316f, -0.006300f, 0.002942f, -0.009539f, 0.001659f, 0.001999f, -0.012823f, -0.001911f, 0.001967f, 0.002221f, 0.008832f, -0.001721f, 0.007668f, -0.005171f, -0.009843f, -0.010384f, -0.002991f, -0.005262f, -0.007889f, 0.008125f, -0.003217f, -0.001590f, -0.001451f, 0.001685f, 0.004405f, -0.012576f, 0.000022f, 0.001737f, -0.005981f, 0.014953f, 0.001144f, -0.003707f, -0.003273f, 0.015967f, -0.001171f, 0.002015f, 0.009425f, 0.000266f, 0.005749f, 0.002235f, 0.000505f, 0.008805f, -0.000080f, -0.006185f, 0.007887f, 0.004233f, 0.005056f, 0.007162f, 0.002342f, -0.005840f, 0.004119f, 0.005875f, 0.005687f, 0.008821f, 0.000022f, -0.008194f, -0.006572f, 0.010347f, 0.014388f, + -0.013173f, 0.002612f, -0.003495f, -0.002352f, 0.003009f, 0.005474f, 0.005273f, -0.004242f, -0.001705f, -0.004101f, -0.006800f, -0.005968f, -0.002192f, -0.003807f, -0.005846f, 0.001296f, -0.001604f, 0.002179f, 0.001873f, -0.001848f, 0.001036f, 0.000321f, -0.004752f, 0.001563f, -0.003217f, -0.005795f, 0.000374f, -0.001736f, -0.002432f, -0.002625f, -0.000748f, 0.001002f, -0.000889f, 0.001620f, -0.001119f, -0.001985f, -0.002682f, -0.002509f, -0.001074f, 0.000399f, 0.001891f, -0.016105f, 0.017208f, 0.015944f, 0.012024f, -0.008353f, 0.009404f, 0.016966f, -0.004243f, 0.013264f, 0.005003f, 0.002012f, -0.002044f, 0.014623f, 0.006919f, -0.003394f, -0.010454f, 0.006098f, -0.004322f, -0.005574f, 0.005932f, 0.007012f, 0.003081f, -0.010369f, 0.001703f, 0.009361f, -0.004538f, 0.003193f, -0.020433f, 0.002974f, -0.001631f, 0.009881f, 0.002424f, -0.004213f, -0.006152f, 0.012638f, -0.010841f, 0.000910f, -0.008754f, 0.001056f, -0.002673f, 0.007075f, -0.001457f, -0.002264f, -0.010731f, -0.002544f, -0.001884f, 0.013371f, 0.000675f, -0.012167f, -0.000442f, -0.000640f, 0.004180f, 0.006413f, -0.005421f, 0.000059f, + -0.006920f, 0.007430f, -0.001615f, 0.008973f, -0.004816f, 0.013342f, 0.006614f, -0.014647f, 0.015566f, -0.002206f, -0.010746f, 0.001868f, 0.014223f, 0.002927f, 0.002192f, -0.011461f, -0.000748f, -0.004417f, -0.006214f, -0.005985f, 0.000549f, 0.005462f, 0.007002f, 0.003845f, 0.003827f, -0.004448f, 0.003378f, -0.003849f, -0.000444f, -0.000167f, -0.001797f, -0.000706f, 0.004046f, -0.006352f, 0.001741f, -0.000582f, 0.000560f, 0.002192f, 0.001746f, -0.000129f, 0.002779f, 0.000348f, -0.004211f, -0.004514f, 0.002676f, 0.001278f, -0.000185f, -0.002965f, -0.000597f, 0.000771f, -0.000409f, -0.001270f, -0.002937f, 0.001896f, -0.000053f, -0.001782f, 0.002032f, -0.001171f, -0.000808f, -0.002296f, -0.001445f, -0.000837f, -0.002971f, 0.002133f, 0.018517f, -0.006438f, -0.013489f, -0.000749f, -0.020206f, -0.000072f, -0.017370f, -0.006072f, 0.011858f, -0.012407f, -0.013685f, 0.004035f, 0.001082f, 0.001172f, -0.003245f, -0.004518f, -0.009920f, 0.006631f, -0.019364f, -0.005989f, 0.001908f, 0.011924f, 0.000655f, 0.012099f, 0.004269f, 0.026643f, 0.010174f, -0.000328f, 0.001125f, 0.012665f, -0.003087f, -0.003852f, + -0.002439f, 0.002062f, -0.008464f, -0.004225f, -0.014235f, -0.001037f, -0.006568f, -0.003950f, 0.017420f, 0.000241f, 0.010879f, -0.004422f, 0.004406f, -0.001145f, 0.006469f, -0.002223f, 0.006018f, -0.006043f, -0.007486f, -0.001237f, 0.002048f, -0.007543f, -0.007557f, 0.000623f, 0.003806f, 0.008081f, -0.001224f, -0.003834f, -0.001709f, 0.007667f, 0.013079f, 0.000686f, -0.009001f, -0.012834f, 0.000128f, 0.003478f, 0.001285f, 0.017427f, -0.011003f, -0.000631f, 0.007764f, -0.002927f, -0.009226f, 0.012272f, 0.005581f, 0.002149f, -0.006150f, -0.006612f, -0.010998f, -0.004324f, -0.001231f, -0.005711f, -0.002900f, -0.004952f, 0.000877f, 0.001235f, 0.002677f, 0.000315f, 0.000751f, -0.006138f, -0.003218f, -0.006578f, -0.002334f, -0.001925f, -0.005046f, -0.003204f, 0.001655f, -0.000615f, -0.002169f, -0.000601f, 0.001560f, -0.004131f, 0.001991f, -0.002989f, -0.000400f, -0.001266f, -0.002301f, -0.000820f, -0.000118f, 0.001813f, -0.002953f, -0.004327f, 0.002160f, 0.001122f, 0.016567f, -0.012773f, -0.002622f, 0.001024f, -0.001019f, -0.000508f, -0.010516f, -0.008111f, -0.001160f, 0.006924f, 0.002505f, 0.002757f, + 0.002905f, 0.007277f, -0.001526f, 0.006651f, 0.005401f, -0.017300f, -0.006652f, -0.020298f, 0.005235f, -0.007178f, 0.010175f, -0.006609f, -0.008963f, -0.006605f, 0.005281f, -0.013547f, -0.011240f, 0.015640f, -0.008584f, 0.016961f, -0.004037f, 0.005067f, -0.006005f, -0.011508f, 0.012609f, -0.009770f, -0.010924f, -0.001148f, -0.005947f, -0.012876f, -0.009883f, -0.016222f, 0.000658f, 0.010333f, 0.005974f, -0.006343f, 0.017948f, 0.006522f, -0.006605f, -0.008406f, -0.012997f, 0.000503f, -0.004873f, -0.009154f, -0.004587f, -0.003922f, -0.006404f, 0.003353f, 0.014364f, -0.000938f, 0.000942f, -0.009800f, 0.004571f, 0.004794f, -0.008465f, -0.006793f, 0.003437f, 0.017391f, 0.006962f, -0.004407f, -0.002310f, -0.003745f, -0.017980f, -0.014233f, -0.011935f, 0.012420f, 0.013287f, -0.002008f, -0.006202f, 0.005730f, -0.003957f, 0.005021f, -0.002641f, 0.002336f, 0.000419f, 0.000183f, -0.005826f, 0.003826f, -0.003405f, -0.002530f, -0.000911f, 0.003414f, 0.002627f, -0.000427f, -0.004862f, 0.003013f, -0.000701f, 0.002191f, -0.001642f, -0.001164f, -0.004290f, -0.001959f, -0.000150f, -0.000609f, 0.000841f, 0.000752f, + -0.000539f, 0.000652f, -0.003556f, 0.001523f, 0.000362f, 0.000437f, -0.001279f, 0.004348f, 0.002830f, -0.000269f, -0.001736f, 0.000356f, -0.002699f, 0.004927f, 0.023847f, -0.004498f, -0.000028f, -0.003897f, 0.015529f, 0.014722f, 0.005096f, -0.024500f, -0.004059f, -0.029760f, 0.017649f, 0.007463f, 0.000516f, 0.030766f, 0.014570f, -0.002682f, -0.013751f, 0.012694f, -0.005867f, 0.003167f, 0.004335f, 0.002022f, 0.010108f, -0.008930f, 0.017259f, 0.006580f, 0.001713f, -0.005190f, -0.008725f, 0.011709f, 0.009888f, -0.001871f, 0.006445f, -0.014637f, 0.002793f, -0.019553f, 0.008030f, 0.001132f, 0.010035f, -0.016051f, 0.003383f, -0.005223f, 0.003602f, 0.018324f, 0.015551f, 0.000762f, 0.004535f, -0.011340f, 0.014996f, 0.000455f, 0.031856f, 0.033651f, -0.004410f, -0.008936f, -0.009105f, -0.007246f, -0.019437f, -0.005419f, -0.025400f, 0.001575f, -0.002071f, -0.001382f, -0.005133f, 0.008978f, 0.015109f, 0.023618f, 0.021980f, 0.016918f, -0.027698f, -0.019765f, -0.000806f, 0.001431f, 0.029186f, -0.020470f, 0.015713f, -0.001055f, -0.005814f, -0.002966f, -0.000645f, -0.005728f, -0.016060f, -0.010509f, + -0.002968f, 0.004761f, 0.001587f, -0.000363f, -0.004325f, 0.002587f, -0.005642f, -0.000510f, -0.002963f, 0.006224f, 0.006973f, -0.001621f, -0.001232f, 0.006477f, 0.004984f, 0.000874f, -0.000872f, 0.002408f, 0.000496f, 0.001017f, -0.001174f, 0.002828f, -0.000134f, -0.001570f, -0.002511f, 0.000867f, 0.002843f, 0.004174f, 0.008974f, 0.006974f, -0.003283f, 0.000891f, -0.006233f, -0.001135f, 0.002912f, -0.000459f, -0.001165f, 0.000232f, 0.001379f, -0.008601f, 0.017131f, 0.003697f, -0.012615f, -0.006964f, 0.032154f, 0.031620f, 0.035436f, -0.003454f, -0.001469f, -0.006005f, 0.005985f, 0.017350f, 0.019961f, 0.005813f, -0.008533f, -0.017022f, -0.034643f, 0.010311f, -0.020481f, -0.004472f, -0.002057f, -0.004410f, 0.002379f, -0.001005f, -0.006322f, -0.000735f, -0.020057f, -0.007933f, 0.001255f, -0.003689f, -0.022416f, -0.009445f, 0.001976f, 0.016356f, -0.004559f, 0.000503f, -0.017830f, -0.006001f, 0.000276f, 0.011878f, -0.007196f, 0.007316f, -0.019929f, -0.005535f, 0.004717f, 0.007618f, -0.005410f, 0.026880f, -0.005447f, -0.003372f, -0.013908f, -0.004580f, 0.010885f, 0.003711f, -0.001151f, 0.014037f, + 0.019477f, 0.022661f, -0.003910f, -0.011301f, -0.012766f, 0.000210f, 0.002763f, 0.005336f, -0.009034f, 0.007327f, 0.009721f, 0.008133f, 0.007996f, 0.022657f, 0.015359f, 0.010136f, -0.001125f, 0.005115f, -0.022443f, -0.004202f, 0.002465f, 0.011558f, 0.018342f, -0.003440f, -0.010209f, 0.003235f, 0.006379f, -0.005253f, 0.009449f, 0.007524f, 0.010209f, 0.001585f, 0.004520f, -0.000467f, -0.000703f, -0.007303f, 0.005825f, -0.002273f, 0.003863f, 0.003356f, 0.001166f, 0.005374f, 0.000579f, 0.008642f, 0.006203f, 0.003915f, 0.002545f, 0.002439f, 0.000131f, -0.001106f, 0.000812f, -0.003595f, -0.000143f, -0.004498f, -0.007135f, -0.002880f, 0.001617f, 0.001271f, 0.003270f, -0.001483f, 0.002193f, -0.002981f, 0.001482f, 0.003827f, -0.032790f, 0.040925f, -0.001098f, 0.006065f, 0.022403f, 0.000455f, -0.007790f, 0.001233f, -0.039825f, -0.024202f, -0.011355f, 0.006437f, -0.007808f, 0.004623f, -0.018602f, 0.012979f, -0.006471f, -0.000102f, 0.024645f, -0.023918f, -0.015922f, 0.023096f, -0.007178f, -0.033659f, 0.002428f, -0.020724f, 0.004333f, -0.001652f, 0.012669f, 0.005518f, 0.006402f, 0.002648f, + -0.004043f, 0.015074f, -0.001643f, 0.019345f, 0.011804f, -0.006770f, -0.011533f, -0.010756f, 0.005269f, -0.005244f, 0.005300f, 0.003810f, 0.011363f, 0.003394f, -0.021270f, 0.001342f, 0.007254f, -0.007275f, 0.000922f, -0.014598f, -0.003245f, 0.001382f, 0.000975f, 0.033800f, -0.005875f, 0.024043f, 0.028681f, -0.007799f, 0.015358f, -0.004632f, -0.000834f, -0.015861f, 0.010138f, 0.024473f, 0.017050f, 0.003877f, 0.006704f, 0.015204f, -0.000982f, 0.012617f, -0.005095f, -0.006909f, -0.012166f, 0.006726f, 0.031158f, 0.007060f, -0.004028f, 0.002563f, -0.021909f, -0.007320f, 0.000521f, 0.020713f, 0.015046f, 0.006592f, 0.013359f, -0.003746f, 0.013120f, -0.000051f, 0.008252f, 0.001128f, -0.000644f, -0.001493f, 0.009143f, -0.000890f, -0.005773f, -0.003463f, -0.002300f, -0.001314f, -0.002334f, -0.004519f, 0.006595f, -0.004193f, -0.005733f, -0.001571f, -0.007527f, -0.005078f, -0.006429f, -0.003590f, -0.004497f, -0.005660f, 0.001928f, 0.001436f, 0.002431f, 0.002141f, -0.003429f, -0.001680f, -0.005944f, -0.007635f, -0.000732f, -0.004207f, 0.002488f, -0.001967f, 0.000622f, 0.003872f, 0.003920f, 0.002828f, + 0.006759f, -0.001729f, -0.000650f, 0.005273f, 0.039189f, 0.005705f, 0.009772f, -0.009263f, -0.004698f, 0.026621f, -0.017569f, -0.004050f, -0.034576f, 0.032396f, 0.016915f, 0.002344f, -0.011751f, -0.032621f, 0.003297f, -0.008669f, 0.003991f, -0.036577f, 0.013045f, 0.019345f, -0.021273f, -0.005068f, 0.003173f, 0.002272f, 0.007068f, 0.021001f, 0.025805f, 0.000107f, -0.000065f, 0.004865f, 0.000975f, -0.015620f, -0.017909f, -0.011827f, -0.023598f, -0.011572f, 0.020085f, 0.009392f, -0.007530f, -0.009921f, -0.006602f, -0.041415f, 0.008992f, 0.009998f, -0.019423f, 0.031806f, 0.001122f, 0.023736f, -0.008551f, 0.015414f, -0.005092f, -0.020454f, 0.001831f, 0.018923f, -0.010431f, 0.010413f, 0.012095f, 0.033791f, 0.009321f, 0.010657f, 0.032317f, 0.018517f, 0.012223f, -0.044683f, 0.009237f, 0.006911f, 0.008652f, 0.000978f, -0.018288f, 0.032498f, -0.024123f, 0.018568f, 0.019354f, -0.029116f, -0.006414f, 0.040010f, -0.035613f, 0.006111f, -0.008377f, -0.003775f, -0.012858f, 0.015626f, -0.006709f, -0.013201f, -0.011387f, 0.007032f, 0.015067f, -0.014027f, 0.017503f, -0.014477f, -0.006419f, 0.020048f, + 0.007304f, -0.001564f, -0.008836f, -0.009262f, -0.000306f, -0.003623f, -0.015245f, -0.001660f, -0.003290f, -0.004167f, -0.001439f, 0.012087f, -0.001076f, -0.010972f, 0.000968f, 0.004779f, 0.011390f, 0.007262f, 0.009037f, -0.003554f, 0.004742f, -0.006500f, 0.000263f, -0.002140f, 0.004724f, 0.009638f, -0.007110f, 0.004496f, 0.004440f, -0.000396f, 0.002561f, 0.002081f, -0.021163f, -0.031609f, -0.014283f, -0.013543f, -0.042225f, 0.027736f, 0.003830f, 0.029651f, 0.001122f, 0.003772f, -0.015010f, -0.008065f, 0.014128f, -0.001674f, 0.014630f, -0.015678f, -0.005430f, 0.002176f, -0.007444f, -0.012929f, 0.017561f, -0.019048f, 0.021036f, -0.008104f, 0.006442f, -0.005198f, -0.015287f, -0.013727f, 0.005717f, -0.005306f, -0.000761f, 0.010629f, 0.042704f, 0.002591f, -0.006139f, -0.015127f, 0.005629f, 0.034442f, -0.007024f, -0.006218f, -0.020941f, -0.007530f, 0.002336f, -0.019749f, -0.007621f, -0.027961f, 0.017090f, -0.034117f, -0.061387f, -0.006851f, 0.001376f, 0.028527f, -0.030590f, 0.027375f, 0.017572f, -0.014723f, -0.028909f, -0.004991f, 0.004102f, 0.007835f, 0.000469f, 0.017154f, -0.012317f, -0.004848f, + -0.060571f, -0.008467f, 0.061426f, 0.005623f, -0.010961f, -0.008670f, -0.032673f, 0.023734f, -0.010864f, -0.009565f, -0.008464f, -0.005059f, -0.014442f, -0.021118f, 0.005683f, 0.011512f, -0.001132f, 0.008686f, -0.017978f, -0.032361f, -0.001658f, -0.017239f, -0.005330f, 0.000195f, -0.017162f, 0.003488f, -0.012647f, -0.021820f, -0.016349f, -0.008104f, 0.006432f, 0.009436f, -0.002346f, -0.025741f, -0.006822f, 0.001230f, -0.012969f, -0.005940f, -0.001538f, -0.012002f, -0.007297f, 0.002733f, -0.000984f, -0.009518f, -0.004114f, 0.003813f, 0.001083f, -0.012531f, -0.005294f, -0.000117f, 0.010732f, 0.012031f, 0.002872f, -0.004145f, -0.004989f, -0.001860f, 0.007888f, -0.002200f, -0.001278f, 0.000260f, 0.002692f, -0.010591f, 0.009030f, -0.002493f, 0.005942f, 0.029095f, 0.026020f, -0.007946f, -0.010257f, -0.002260f, -0.041056f, 0.027531f, -0.025865f, -0.021248f, -0.016448f, 0.010548f, 0.004423f, 0.025557f, 0.003322f, -0.013516f, -0.015946f, -0.016432f, 0.013240f, -0.006138f, -0.008761f, 0.023394f, 0.025996f, 0.009077f, -0.017152f, 0.021587f, 0.034507f, -0.012803f, -0.007312f, 0.030008f, 0.007831f, 0.006249f, + -0.019175f, 0.000271f, 0.028419f, -0.041349f, 0.028861f, -0.005934f, 0.004063f, 0.017506f, 0.020923f, 0.000138f, 0.010533f, -0.019308f, -0.015861f, 0.011100f, 0.039620f, 0.010896f, 0.009779f, 0.015266f, -0.019767f, 0.004509f, 0.017662f, 0.010463f, -0.003144f, 0.014432f, 0.008901f, -0.023338f, 0.019358f, -0.022735f, 0.005312f, 0.017203f, -0.018212f, 0.014292f, -0.022256f, -0.008569f, 0.004203f, 0.001156f, 0.014398f, -0.008821f, 0.012359f, -0.009025f, 0.001816f, 0.004922f, -0.004088f, -0.008832f, -0.018011f, 0.048692f, 0.005232f, 0.014845f, -0.021013f, -0.048977f, 0.034863f, -0.033188f, -0.014502f, 0.000144f, -0.007715f, -0.004698f, -0.002896f, -0.013526f, 0.008657f, 0.007302f, 0.003741f, -0.012473f, 0.015843f, 0.012509f, -0.005302f, -0.005107f, 0.004664f, -0.004137f, 0.004384f, -0.004175f, 0.016785f, 0.006501f, 0.001547f, 0.012233f, 0.012545f, -0.006974f, 0.000038f, 0.006339f, 0.008699f, 0.003893f, 0.004136f, -0.007590f, -0.010415f, 0.008672f, 0.010785f, 0.016009f, -0.002230f, -0.013940f, -0.002089f, 0.001697f, 0.006980f, -0.021621f, 0.008212f, -0.006958f, -0.003305f, 0.005500f, + 0.005061f, -0.005040f, 0.007537f, 0.001037f, 0.005963f, -0.003113f, 0.014377f, -0.027069f, 0.028908f, -0.010473f, -0.028344f, -0.036789f, -0.010203f, -0.003630f, 0.021809f, -0.032369f, -0.005106f, -0.003694f, 0.017208f, 0.032404f, 0.026869f, 0.016768f, 0.002674f, -0.008152f, -0.004855f, -0.003196f, 0.022851f, 0.018784f, -0.004259f, 0.003076f, -0.004812f, 0.014743f, -0.035159f, 0.021183f, 0.011753f, 0.016608f, 0.005745f, 0.003921f, 0.030575f, -0.011873f, -0.025744f, 0.000262f, -0.008369f, 0.001892f, -0.035763f, -0.019765f, -0.001951f, 0.030144f, -0.020124f, -0.006295f, 0.005108f, -0.001095f, 0.001045f, 0.029627f, 0.012059f, -0.004462f, 0.002783f, 0.014554f, 0.009720f, 0.034497f, -0.009924f, 0.015819f, 0.017686f, 0.009467f, -0.005374f, 0.005740f, -0.037225f, 0.016112f, -0.006793f, 0.001812f, -0.008380f, -0.020487f, -0.027475f, 0.005742f, -0.012989f, -0.037494f, 0.009249f, -0.031841f, -0.023287f, -0.005418f, -0.047950f, -0.029083f, 0.007443f, 0.020659f, -0.023826f, 0.005298f, 0.002155f, 0.055452f, 0.052742f, 0.049648f, -0.001258f, 0.002888f, -0.025815f, -0.015615f, 0.020928f, -0.011078f, + -0.007084f, 0.003522f, -0.006377f, 0.011723f, -0.013997f, -0.006988f, -0.000266f, 0.004516f, -0.008303f, 0.010760f, 0.010974f, 0.000590f, -0.004308f, 0.003057f, 0.010740f, -0.008381f, -0.010930f, -0.002755f, 0.009699f, -0.012642f, 0.021871f, 0.012527f, -0.000702f, 0.009912f, -0.003151f, -0.008832f, -0.013924f, -0.007595f, -0.012307f, -0.006706f, 0.007707f, 0.001435f, 0.022111f, -0.004934f, -0.006625f, -0.048781f, -0.053973f, 0.032211f, 0.028953f, 0.009754f, 0.031368f, 0.052482f, 0.014979f, -0.019930f, 0.016989f, -0.007905f, -0.014725f, 0.024027f, 0.001798f, -0.021415f, 0.013251f, 0.017307f, 0.004059f, 0.006121f, 0.001390f, 0.002712f, 0.048077f, -0.000988f, 0.010353f, 0.004519f, 0.029864f, 0.001799f, 0.047694f, -0.000182f, -0.020881f, 0.038129f, 0.007864f, -0.016804f, -0.005872f, 0.020205f, -0.004100f, -0.000317f, 0.015863f, -0.028922f, 0.028976f, -0.006071f, -0.042244f, -0.011820f, 0.004234f, -0.042280f, -0.004663f, -0.004389f, 0.018687f, 0.018015f, 0.031912f, -0.022295f, 0.004942f, 0.005093f, 0.006707f, 0.013631f, -0.020184f, -0.022820f, 0.012068f, -0.000538f, 0.024420f, 0.019810f, + 0.006206f, 0.050850f, -0.008383f, -0.007786f, -0.034649f, 0.051883f, 0.009261f, 0.036010f, 0.022130f, -0.057843f, 0.008398f, 0.005292f, 0.035575f, -0.018789f, 0.015225f, 0.000354f, -0.015292f, -0.001886f, -0.012338f, 0.028610f, -0.054656f, -0.006628f, -0.003826f, 0.000245f, 0.002582f, 0.008824f, 0.013507f, -0.000170f, 0.025386f, -0.000965f, -0.003515f, -0.008093f, -0.005148f, 0.001658f, -0.008688f, 0.003001f, -0.002295f, 0.007653f, 0.005457f, -0.002587f, 0.002217f, -0.002944f, -0.015171f, -0.000812f, 0.000866f, 0.003888f, -0.015498f, 0.008364f, -0.003109f, 0.008784f, 0.007031f, 0.012404f, -0.012537f, 0.014492f, -0.007771f, 0.004684f, 0.010554f, 0.009450f, -0.003143f, 0.000337f, -0.005601f, 0.008179f, -0.000388f, 0.003984f, -0.000095f, -0.001699f, 0.021179f, 0.011809f, 0.000395f, 0.009762f, 0.003024f, 0.010139f, 0.031944f, -0.067485f, 0.040060f, 0.040762f, -0.017407f, 0.009687f, 0.005656f, 0.011030f, 0.000267f, 0.032456f, -0.023681f, -0.005109f, -0.025406f, -0.000208f, -0.014371f, 0.002293f, 0.006794f, -0.037010f, 0.016621f, 0.040232f, -0.027712f, -0.026506f, -0.027117f, 0.053567f, + -0.023441f, -0.013125f, 0.004935f, -0.018325f, -0.055543f, 0.009782f, 0.040233f, -0.055285f, -0.025118f, 0.019144f, 0.029620f, 0.008090f, -0.008473f, 0.012845f, -0.019689f, -0.009158f, -0.001092f, 0.027434f, -0.037709f, -0.029887f, 0.021175f, 0.034452f, 0.013473f, -0.042939f, -0.013994f, 0.001121f, -0.002074f, -0.007416f, 0.022363f, -0.006609f, 0.033796f, -0.027514f, -0.006104f, 0.000019f, -0.031663f, 0.020086f, -0.036847f, -0.025201f, 0.011634f, -0.016356f, 0.035634f, 0.051757f, 0.030391f, -0.034091f, 0.018008f, -0.009961f, -0.010345f, -0.024029f, -0.007613f, -0.039219f, 0.029961f, 0.022237f, 0.010592f, 0.001293f, -0.018705f, -0.010324f, 0.012047f, -0.040925f, 0.033019f, -0.007706f, -0.005754f, 0.017466f, 0.002979f, 0.015923f, -0.004584f, -0.002340f, -0.014129f, -0.003906f, 0.001228f, 0.002952f, -0.011107f, -0.003708f, -0.005351f, -0.003798f, 0.018509f, 0.002143f, -0.000408f, -0.008738f, 0.007460f, 0.007584f, -0.006712f, 0.004276f, 0.008426f, 0.002091f, 0.014256f, -0.004950f, -0.010208f, 0.002269f, -0.016581f, 0.008713f, 0.006042f, 0.002329f, -0.000612f, 0.006769f, -0.001501f, 0.010932f, + 0.003338f, 0.007851f, -0.013139f, -0.003710f, 0.012057f, 0.000906f, 0.004853f, 0.006459f, -0.012256f, 0.002014f, 0.012391f, 0.039156f, 0.065289f, -0.000498f, -0.049479f, 0.010448f, -0.059035f, 0.010079f, 0.026766f, 0.012569f, 0.003525f, 0.035447f, 0.026198f, -0.001613f, -0.005444f, -0.048804f, -0.026325f, 0.000698f, -0.022868f, 0.066050f, -0.012093f, -0.015006f, -0.028567f, 0.003533f, 0.024812f, 0.017365f, -0.000946f, 0.012752f, 0.019318f, -0.029333f, 0.009989f, 0.056671f, 0.020033f, -0.038931f, -0.027474f, 0.018389f, -0.019286f, -0.002650f, 0.013766f, -0.008644f, -0.032159f, -0.007689f, 0.003851f, 0.054000f, -0.011741f, 0.011982f, -0.014422f, -0.043667f, 0.007590f, 0.054785f, -0.014789f, -0.032870f, 0.009526f, -0.020136f, 0.013368f, -0.011512f, -0.013420f, 0.037649f, -0.009679f, -0.004309f, 0.018380f, -0.032468f, 0.011674f, 0.039846f, -0.016533f, 0.003418f, -0.023399f, 0.070074f, -0.012784f, 0.008350f, 0.022715f, -0.016286f, -0.003928f, -0.018720f, 0.009802f, -0.021153f, -0.017867f, -0.016688f, 0.026825f, -0.036443f, 0.005330f, -0.005402f, -0.010885f, 0.028317f, 0.000623f, -0.009681f, + -0.012041f, 0.001474f, 0.010622f, 0.008262f, -0.016234f, -0.002961f, 0.000723f, -0.004537f, -0.020086f, -0.012085f, -0.003660f, 0.004771f, 0.001611f, 0.001606f, 0.002807f, 0.016341f, -0.016516f, 0.017179f, 0.003391f, 0.004950f, 0.001151f, 0.013616f, -0.007735f, 0.022369f, -0.004930f, -0.000369f, 0.017154f, 0.022469f, -0.011780f, 0.014680f, -0.007362f, 0.004903f, -0.013059f, 0.011342f, 0.009542f, -0.019436f, -0.000984f, -0.007797f, -0.002675f, -0.009739f, 0.007002f, -0.011979f, 0.010732f, -0.019022f, -0.108109f, -0.037872f, -0.001950f, 0.034561f, -0.018122f, -0.054103f, -0.020378f, -0.007917f, 0.026515f, 0.006910f, -0.007218f, -0.026750f, 0.028272f, 0.050198f, -0.022776f, 0.037951f, 0.009525f, -0.071833f, 0.026810f, 0.033737f, -0.011828f, -0.029202f, -0.005468f, 0.044291f, 0.047262f, -0.003901f, -0.035823f, 0.002517f, -0.004082f, -0.004620f, -0.029852f, 0.007397f, 0.013634f, -0.047364f, 0.032714f, 0.027814f, -0.033404f, 0.006210f, -0.037477f, 0.013296f, 0.091635f, -0.081844f, 0.084723f, 0.038345f, 0.003843f, 0.051832f, 0.025768f, -0.052969f, 0.031877f, -0.039822f, -0.008917f, 0.043568f, + 0.002063f, 0.012506f, -0.022231f, -0.038778f, 0.118078f, -0.027703f, 0.001737f, 0.046547f, -0.022438f, 0.009114f, 0.003587f, 0.028775f, 0.066535f, 0.063230f, 0.059848f, 0.003769f, -0.001132f, -0.009580f, 0.003075f, -0.016119f, 0.004528f, 0.050794f, -0.013404f, -0.017563f, 0.005114f, 0.007066f, 0.029504f, 0.034368f, 0.009827f, 0.009671f, 0.024429f, 0.010409f, -0.018583f, 0.006126f, -0.009566f, -0.027527f, -0.012340f, 0.014541f, -0.020736f, -0.029885f, -0.022686f, -0.000996f, 0.002788f, -0.017111f, 0.008855f, 0.019469f, 0.003068f, -0.006233f, -0.001109f, -0.021823f, 0.025972f, -0.003760f, -0.005600f, 0.018003f, -0.014787f, 0.012258f, -0.011055f, -0.008835f, 0.030563f, -0.000051f, -0.022593f, 0.028976f, -0.017702f, 0.017494f, 0.008227f, -0.011284f, 0.008770f, -0.003925f, 0.021124f, -0.009588f, 0.007414f, 0.001105f, 0.001825f, -0.002170f, 0.022483f, -0.011448f, -0.002565f, -0.001555f, 0.004056f, -0.003188f, 0.009844f, 0.027669f, -0.007321f, -0.079779f, 0.036232f, -0.057965f, 0.081494f, 0.009601f, -0.070866f, 0.015965f, 0.000635f, 0.033252f, 0.015706f, -0.017183f, 0.060312f, 0.014688f, + 0.003076f, 0.040234f, -0.032179f, -0.044807f, 0.001480f, 0.023400f, 0.081289f, -0.011476f, 0.000231f, -0.008557f, 0.058595f, 0.006332f, -0.046497f, -0.027548f, 0.008836f, -0.005202f, 0.025961f, -0.045264f, 0.021753f, 0.007322f, 0.013426f, -0.004101f, -0.017629f, 0.010227f, 0.018213f, 0.000119f, 0.054460f, -0.087814f, 0.007716f, -0.031022f, -0.019187f, -0.011400f, -0.064108f, -0.093312f, -0.096452f, -0.070242f, 0.007501f, 0.000265f, -0.055918f, -0.000549f, -0.010140f, 0.005936f, -0.034674f, -0.089926f, 0.088580f, -0.001695f, -0.013006f, 0.017920f, -0.087742f, -0.006151f, -0.021792f, 0.016359f, 0.025866f, 0.120450f, 0.089939f, -0.010209f, -0.001029f, -0.002982f, 0.023762f, 0.036315f, 0.022201f, 0.016486f, -0.003297f, -0.014715f, -0.085347f, 0.015978f, -0.001678f, -0.033483f, -0.014854f, 0.055638f, -0.007758f, -0.010358f, 0.026729f, -0.002442f, 0.029314f, -0.011559f, 0.014771f, -0.001830f, -0.006010f, 0.020436f, 0.025316f, -0.011721f, 0.003647f, 0.010955f, -0.004612f, 0.005041f, 0.001412f, -0.000547f, 0.017332f, -0.007554f, -0.008641f, 0.014000f, -0.016531f, 0.021801f, 0.000004f, 0.011665f, + 0.018512f, -0.009506f, 0.004695f, 0.015723f, -0.003702f, -0.010820f, -0.003743f, 0.001494f, -0.002756f, 0.004066f, -0.021553f, -0.001704f, -0.017033f, 0.017762f, 0.002866f, 0.011839f, 0.008814f, -0.002950f, 0.000722f, -0.001559f, 0.008451f, 0.010888f, 0.009441f, -0.022649f, 0.109770f, -0.104521f, 0.018059f, -0.020022f, 0.004187f, 0.044420f, -0.032182f, 0.011210f, 0.001809f, -0.113090f, 0.002933f, -0.012558f, 0.005623f, 0.013239f, -0.050465f, -0.018710f, -0.083625f, -0.021432f, -0.003968f, 0.004736f, -0.031582f, -0.023670f, -0.036364f, -0.015048f, 0.036308f, 0.008051f, 0.073215f, 0.018064f, -0.024612f, -0.025769f, 0.045030f, -0.049801f, 0.086100f, -0.067022f, 0.019677f, -0.054038f, 0.001225f, 0.051904f, -0.093867f, 0.088706f, 0.015743f, 0.010410f, -0.064425f, -0.012723f, -0.012133f, 0.000184f, 0.031079f, 0.031092f, 0.039092f, -0.074322f, -0.001769f, -0.029111f, -0.025271f, -0.028494f, -0.040051f, -0.027593f, 0.001523f, 0.042870f, -0.045458f, 0.012470f, -0.083795f, -0.027883f, 0.021348f, 0.025191f, 0.004667f, -0.095270f, -0.051532f, -0.033815f, -0.048505f, -0.040076f, 0.003523f, -0.031526f, + 0.050944f, 0.015464f, 0.025604f, -0.017402f, -0.026176f, 0.085366f, -0.028396f, 0.023114f, -0.016951f, 0.006860f, 0.064124f, 0.008803f, 0.011726f, -0.035573f, 0.036525f, 0.021359f, -0.014834f, 0.034004f, -0.025137f, 0.009570f, -0.009196f, 0.023117f, 0.004791f, -0.007352f, 0.012617f, 0.029381f, -0.009722f, 0.009603f, 0.010588f, 0.009010f, -0.003208f, 0.008143f, -0.003902f, 0.020282f, -0.006354f, 0.003644f, 0.019171f, -0.003594f, -0.007078f, 0.006160f, 0.008473f, -0.012670f, -0.002574f, -0.035793f, 0.022972f, 0.015816f, 0.000465f, -0.019685f, -0.007863f, 0.002165f, 0.007920f, 0.027949f, -0.004153f, -0.007155f, 0.009984f, 0.007480f, -0.003755f, 0.028291f, 0.005681f, -0.033595f, 0.009300f, 0.034044f, 0.047696f, -0.088330f, 0.135970f, -0.101449f, -0.010224f, -0.061011f, 0.012643f, 0.001831f, -0.036672f, -0.052120f, 0.062075f, 0.041861f, 0.019852f, -0.026368f, 0.027680f, 0.008920f, 0.058644f, -0.045514f, -0.029881f, 0.036606f, 0.060946f, -0.076621f, 0.031644f, -0.002301f, 0.037152f, -0.027342f, 0.011216f, -0.033725f, 0.007518f, -0.063577f, 0.021482f, 0.069088f, -0.001818f, -0.004845f, + 0.085786f, 0.015287f, -0.038870f, -0.082916f, 0.071742f, -0.037254f, 0.032614f, -0.030178f, 0.085671f, 0.038003f, -0.008903f, 0.009166f, -0.048852f, 0.006990f, 0.021680f, -0.023424f, 0.024269f, -0.102713f, 0.040928f, 0.093910f, 0.073594f, -0.040085f, -0.041523f, -0.041824f, 0.047808f, 0.004211f, -0.014519f, 0.004212f, 0.121262f, -0.058546f, -0.027016f, 0.047146f, -0.039728f, -0.108670f, 0.046825f, 0.024758f, -0.077425f, 0.044104f, 0.075998f, 0.066968f, -0.019830f, -0.029412f, -0.052635f, 0.028870f, -0.032278f, -0.020652f, 0.048966f, 0.033328f, 0.015519f, 0.042847f, 0.024533f, -0.016109f, -0.014764f, -0.054514f, 0.013370f, -0.022715f, 0.019581f, -0.020008f, 0.039708f, 0.027334f, 0.006565f, -0.007041f, 0.037796f, -0.020043f, -0.002282f, 0.005093f, 0.014891f, 0.008905f, 0.017802f, 0.016045f, 0.001908f, -0.008718f, -0.004713f, 0.013497f, 0.007623f, 0.005570f, 0.002469f, 0.021083f, 0.068046f, -0.001809f, -0.004664f, 0.010289f, -0.022747f, 0.008508f, 0.024938f, -0.034542f, 0.015974f, 0.018148f, -0.012604f, -0.009570f, 0.016548f, 0.009074f, -0.019332f, -0.087430f, 0.046632f, -0.005171f, + 0.012142f, -0.032089f, 0.027942f, 0.000518f, 0.015322f, 0.004572f, 0.005074f, -0.018296f, 0.013918f, 0.047198f, -0.060370f, 0.051792f, -0.008852f, -0.031994f, 0.010692f, -0.021811f, 0.014078f, -0.022350f, -0.018223f, 0.015208f, -0.048112f, -0.005100f, 0.064194f, -0.092781f, 0.026185f, 0.004237f, -0.015429f, -0.028656f, -0.033596f, -0.022099f, 0.067388f, -0.055634f, -0.007843f, 0.021536f, -0.056207f, 0.014062f, 0.031025f, 0.020437f, 0.010710f, 0.009495f, -0.031631f, 0.024758f, -0.082696f, 0.000897f, 0.072687f, -0.030602f, -0.007983f, -0.016557f, -0.020283f, -0.000872f, -0.058447f, 0.030777f, 0.023766f, -0.048795f, 0.045703f, 0.012351f, -0.055047f, 0.022407f, -0.010497f, 0.039754f, 0.035196f, -0.051756f, 0.018214f, 0.056750f, -0.053519f, 0.029736f, -0.038021f, 0.029790f, 0.035231f, -0.055003f, 0.031070f, -0.004336f, -0.028626f, 0.041272f, 0.002528f, -0.066106f, 0.020539f, 0.028806f, 0.009183f, -0.018698f, 0.003559f, 0.049369f, -0.022643f, -0.047007f, 0.049962f, -0.002542f, 0.004174f, -0.002610f, -0.005820f, 0.030033f, -0.022315f, -0.011373f, 0.022028f, 0.007791f, -0.004843f, -0.022795f, + 0.033386f, -0.012990f, -0.021075f, 0.001299f, 0.017825f, -0.010834f, -0.007468f, -0.005660f, 0.026251f, -0.020583f, -0.009824f, 0.001321f, 0.014535f, -0.012909f, 0.010607f, -0.001038f, 0.026109f, -0.016701f, 0.004677f, 0.001564f, 0.003168f, 0.044870f, -0.015607f, -0.198215f, -0.436910f, -0.171812f, -0.289616f, -0.395274f, 0.152581f, 0.055748f, 0.132066f, 0.593700f, 0.494953f, 0.327030f, 0.510133f, 0.347351f, 0.043343f, 0.087996f, 0.064316f, -0.268843f, -0.172681f, -0.118327f, -0.307860f, -0.314285f, -0.085536f, -0.086463f, -0.194581f, -0.056680f, -0.040370f, -0.234803f, -0.201615f, -0.064259f, -0.110074f, -0.221678f, -0.052681f, -0.035689f, -0.173254f, -0.018482f, 0.123704f, -0.051064f, -0.040848f, 0.181689f, 0.112204f, -0.071635f, 0.161203f, 0.264671f, 0.031165f, 0.149654f, 0.324449f, 0.159570f, 0.083338f, 0.349824f, 0.256277f, 0.191057f, 0.424394f, 0.573489f, 0.454026f, 0.526990f, 0.682395f, 0.446247f, 0.292730f, 0.383364f, 0.247652f, -0.066689f, -0.015039f, -0.167490f, -0.417786f, -0.591425f, -0.636369f, -0.852434f, -0.969938f, -1.029890f, -0.996240f, -0.957358f, -0.951830f, -0.794754f, + -0.607901f, -0.570375f, -0.371663f, 0.031538f, 0.160057f, 0.207077f, 0.624050f, 0.612434f, 0.422938f, 0.622205f, 0.570427f, 0.310240f, 0.301554f, 0.397390f, 0.241042f, 0.114277f, 0.278441f, 0.284011f, 0.128481f, 0.229757f, 0.346069f, 0.229952f, 0.137516f, 0.294596f, 0.244284f, 0.050237f, 0.150206f, 0.216972f, 0.025543f, 0.042259f, 0.237369f, 0.145671f, 0.079078f, 0.251482f, 0.249334f, 0.091816f, 0.198900f, 0.171828f, -0.043170f, -0.122414f, -0.126897f, -0.293807f, -0.398192f, -0.393268f, -0.454069f, -0.500762f, -0.519297f, -0.508481f, -0.521601f, -0.580279f, -0.600304f, -0.574445f, -0.640849f, -0.548826f, -0.373733f, -0.285945f, -0.097316f, 0.165611f, 0.346888f, 0.507801f, 0.655718f, 0.666493f, 0.570764f, 0.518145f, 0.425676f, 0.321882f, 0.259478f, 0.217868f, 0.175933f, 0.137005f, 0.124075f, 0.114340f, 0.084049f, 0.069875f, 0.061516f, 0.029737f, -0.006509f, -0.029541f, -0.064277f, -0.097353f, -0.102401f, -0.081711f, -0.060102f, -0.044858f, -0.039543f} + }, + { + {-0.007421f, 0.004520f, 0.007240f, -0.002552f, 0.006434f, -0.001045f, 0.006791f, 0.003417f, -0.001493f, -0.002659f, 0.006879f, 0.000582f, 0.001372f, -0.007819f, -0.001254f, -0.000562f, -0.000349f, 0.010692f, 0.005223f, -0.000389f, -0.008021f, -0.005832f, -0.003451f, 0.000980f, -0.000184f, 0.002317f, 0.004915f, 0.001498f, 0.001813f, -0.008094f, -0.001246f, -0.007878f, 0.000316f, -0.004356f, 0.005159f, 0.005153f, -0.002056f, -0.004250f, 0.005393f, 0.001156f, -0.002025f, -0.007283f, -0.000990f, -0.004671f, 0.001307f, 0.004456f, -0.007392f, -0.003606f, -0.001237f, -0.002890f, 0.018863f, 0.004495f, 0.010889f, 0.000794f, 0.003571f, -0.000080f, -0.005453f, -0.005055f, -0.006438f, 0.003042f, -0.005312f, 0.003821f, 0.000117f, 0.004664f, 0.004767f, 0.011584f, 0.003492f, -0.000959f, -0.000590f, -0.006879f, 0.011215f, 0.010323f, 0.001801f, 0.003184f, 0.002920f, 0.003195f, -0.000659f, -0.005759f, 0.001710f, 0.003332f, -0.002170f, 0.000964f, -0.001779f, -0.005264f, 0.002499f, -0.004391f, -0.002989f, -0.001368f, 0.000342f, -0.001965f, -0.002140f, -0.002503f, -0.000064f, -0.000140f, -0.000404f, 0.000504f, + -0.000889f, 0.001673f, -0.000944f, -0.001567f, -0.000164f, 0.002099f, 0.000778f, -0.000864f, -0.002838f, -0.000836f, 0.002599f, 0.000172f, 0.001164f, 0.001030f, 0.026068f, -0.006168f, -0.005454f, -0.002118f, -0.005164f, 0.001196f, -0.012395f, 0.000966f, 0.002467f, 0.000630f, 0.008422f, 0.000964f, -0.001741f, -0.007443f, 0.004764f, -0.010492f, -0.009046f, 0.003265f, -0.004413f, -0.002110f, -0.001565f, 0.001748f, 0.007070f, 0.009677f, 0.000726f, -0.001502f, 0.011503f, 0.004147f, -0.000671f, 0.000419f, -0.004703f, 0.000145f, 0.012626f, 0.000005f, -0.005870f, -0.004747f, -0.001365f, 0.004284f, -0.005845f, -0.007203f, -0.007359f, -0.006020f, 0.005761f, -0.005664f, 0.002154f, -0.006882f, 0.002420f, 0.008331f, 0.000543f, 0.005920f, -0.002519f, -0.004698f, -0.002326f, 0.004107f, -0.000252f, 0.006356f, 0.009295f, 0.001363f, -0.002814f, -0.004810f, -0.000244f, -0.000712f, 0.000424f, 0.000295f, -0.008199f, -0.000866f, -0.003833f, -0.004170f, 0.003970f, 0.000842f, 0.002547f, 0.003018f, -0.009756f, -0.005437f, 0.004040f, -0.001825f, 0.007205f, 0.001309f, 0.006070f, -0.001242f, -0.001552f, -0.001678f, + -0.003535f, -0.000829f, -0.003893f, -0.001565f, 0.000108f, 0.005684f, -0.001375f, -0.000128f, -0.000987f, 0.001801f, -0.000053f, 0.002191f, 0.000435f, -0.000479f, -0.001438f, 0.001765f, -0.002794f, 0.000013f, 0.000143f, -0.001586f, 0.001306f, 0.001672f, -0.002360f, 0.000790f, -0.001167f, 0.001016f, 0.000984f, -0.000007f, 0.001672f, 0.000179f, -0.000874f, -0.018612f, -0.009196f, -0.004034f, -0.012731f, -0.004436f, -0.012223f, 0.003552f, -0.001108f, -0.007629f, -0.008792f, -0.001342f, -0.007189f, -0.000212f, 0.005907f, -0.000488f, -0.010917f, -0.004080f, 0.000123f, -0.004297f, -0.003564f, 0.003107f, 0.010213f, 0.013096f, -0.002155f, -0.003551f, 0.007342f, 0.008349f, -0.002654f, -0.001990f, -0.001710f, -0.005970f, 0.001767f, 0.002692f, -0.005377f, -0.004044f, -0.001281f, 0.005024f, 0.011180f, 0.000690f, -0.003816f, -0.000038f, -0.005693f, -0.002129f, -0.009030f, -0.004276f, -0.004028f, -0.014266f, -0.001549f, -0.006500f, -0.004519f, -0.015658f, 0.009655f, -0.006842f, -0.006064f, 0.002732f, -0.001008f, -0.001170f, 0.002009f, -0.013018f, -0.003406f, -0.004696f, -0.001064f, -0.007537f, -0.001058f, -0.003575f, + 0.003405f, 0.004458f, -0.004257f, -0.002301f, -0.006235f, 0.002152f, -0.000959f, -0.001314f, -0.000012f, -0.009653f, -0.000257f, -0.008729f, 0.001304f, -0.000636f, -0.002763f, 0.002515f, 0.010528f, 0.004984f, -0.002509f, 0.000527f, -0.001870f, -0.004151f, 0.000384f, 0.001588f, -0.002086f, -0.000342f, -0.002578f, 0.000023f, -0.001074f, -0.003228f, 0.001261f, 0.001181f, -0.003371f, -0.001616f, 0.000894f, -0.001454f, 0.000441f, -0.002234f, -0.001721f, -0.001824f, -0.003148f, -0.003442f, -0.000276f, 0.000817f, -0.001745f, -0.002097f, -0.000015f, -0.001017f, -0.000443f, -0.001155f, -0.000033f, -0.000677f, -0.001153f, -0.002851f, 0.001494f, -0.001038f, -0.001356f, -0.001412f, -0.034422f, -0.002704f, -0.016958f, 0.015260f, -0.008821f, 0.027456f, -0.017538f, 0.017314f, -0.015542f, -0.000920f, -0.000209f, -0.011977f, 0.009354f, 0.000359f, -0.004444f, 0.002827f, -0.003885f, -0.001555f, -0.011655f, -0.000092f, -0.008787f, 0.006999f, 0.002472f, 0.008564f, -0.004981f, 0.012769f, 0.011510f, -0.011124f, 0.003170f, -0.009456f, 0.010119f, 0.000110f, -0.007009f, 0.000608f, -0.000954f, -0.000348f, 0.007438f, 0.001102f, + -0.010958f, 0.004555f, 0.007957f, -0.000507f, 0.009390f, -0.004332f, 0.007665f, -0.011389f, -0.005759f, 0.007496f, -0.006515f, 0.001908f, 0.010110f, -0.009145f, 0.014917f, 0.005896f, -0.014642f, 0.003585f, -0.014103f, 0.005104f, 0.007937f, 0.005346f, 0.007644f, 0.010940f, 0.003736f, -0.001331f, -0.000833f, 0.000737f, 0.003510f, 0.007866f, -0.002664f, 0.014852f, 0.002928f, 0.010181f, 0.005574f, 0.002966f, 0.000781f, 0.010214f, 0.001894f, 0.002544f, -0.005792f, -0.007949f, 0.004118f, 0.005516f, 0.000658f, 0.008782f, -0.000979f, -0.000060f, -0.001561f, 0.010426f, 0.003213f, -0.003714f, 0.002428f, 0.001786f, 0.001567f, 0.003559f, 0.000612f, 0.006491f, -0.000947f, 0.002241f, 0.001296f, 0.002487f, -0.001569f, 0.001244f, 0.000685f, 0.000153f, 0.000649f, -0.002202f, -0.001916f, 0.000827f, -0.002375f, -0.001084f, -0.002580f, 0.001701f, 0.000038f, 0.022749f, 0.000128f, -0.006191f, -0.002075f, -0.008485f, -0.010130f, 0.016613f, -0.003224f, -0.002419f, 0.015248f, -0.001181f, -0.002942f, 0.006742f, 0.011867f, 0.003384f, 0.005897f, -0.000305f, -0.012944f, -0.003433f, 0.009739f, -0.014761f, + -0.014611f, -0.005484f, 0.003210f, -0.010411f, -0.006246f, 0.000202f, -0.001449f, 0.010220f, -0.003933f, -0.002249f, 0.010794f, 0.014991f, -0.012986f, 0.003390f, -0.003086f, 0.005464f, 0.001509f, -0.005779f, -0.001242f, 0.006228f, 0.009580f, -0.002580f, -0.013482f, -0.003051f, -0.001174f, -0.003576f, -0.006720f, 0.000965f, -0.000839f, 0.002445f, -0.001842f, 0.001862f, 0.012633f, -0.009345f, 0.001227f, -0.007122f, -0.005741f, -0.009784f, -0.002925f, -0.005661f, -0.013481f, -0.000503f, 0.000945f, -0.005276f, -0.001015f, -0.005584f, 0.005229f, 0.006539f, -0.001011f, 0.001931f, -0.004842f, -0.001372f, 0.016323f, -0.002181f, -0.006739f, -0.022158f, -0.010058f, -0.000318f, -0.007543f, 0.005080f, -0.002126f, 0.001875f, -0.000006f, -0.004479f, -0.000821f, 0.006414f, -0.005426f, 0.001234f, -0.001517f, 0.000592f, 0.000031f, -0.004670f, -0.003414f, -0.001988f, -0.003560f, -0.000752f, -0.005646f, -0.001219f, -0.003195f, 0.000587f, -0.002224f, -0.000773f, -0.003037f, -0.003331f, -0.003218f, -0.000872f, -0.000330f, 0.001118f, 0.000849f, -0.000488f, 0.000938f, 0.000709f, -0.000161f, 0.003118f, 0.002758f, -0.000088f, + 0.001641f, -0.001352f, -0.001704f, 0.000344f, 0.029490f, 0.033140f, 0.006308f, -0.012053f, 0.007551f, 0.013069f, 0.013109f, 0.007399f, 0.009904f, 0.004438f, 0.016212f, -0.001636f, -0.001978f, -0.006602f, 0.010181f, -0.005956f, -0.014259f, -0.019652f, 0.002275f, -0.009419f, -0.008102f, 0.006966f, -0.002052f, -0.005218f, 0.016568f, -0.001175f, 0.020580f, 0.000232f, -0.008104f, -0.005543f, 0.007239f, 0.004807f, -0.004024f, -0.016263f, 0.023507f, 0.013592f, 0.000166f, 0.012746f, 0.007633f, 0.008296f, -0.007665f, 0.009365f, 0.004806f, 0.001901f, -0.002798f, -0.004168f, -0.010313f, -0.014585f, 0.004175f, 0.007098f, -0.011338f, 0.004598f, 0.009883f, 0.014697f, 0.003936f, 0.013281f, 0.006207f, 0.011320f, -0.016533f, 0.004963f, 0.001590f, 0.003368f, 0.000484f, -0.001099f, 0.007114f, 0.006440f, 0.006294f, 0.009087f, -0.002917f, 0.004435f, 0.002675f, 0.013058f, 0.016020f, -0.008022f, -0.009368f, 0.001471f, -0.003773f, -0.008430f, 0.003635f, 0.008872f, -0.005370f, 0.003786f, -0.015865f, -0.011667f, 0.002786f, -0.008037f, -0.003719f, -0.002565f, -0.007160f, 0.000076f, -0.000009f, 0.000972f, + -0.000084f, 0.003222f, 0.003848f, -0.000197f, 0.001991f, 0.000709f, 0.002936f, 0.003078f, 0.000135f, 0.000284f, -0.000097f, 0.003361f, 0.001770f, 0.001885f, 0.004180f, -0.000645f, -0.001983f, 0.003138f, -0.000784f, 0.000054f, 0.004787f, 0.002956f, 0.004538f, 0.006136f, 0.001049f, 0.002790f, 0.001738f, 0.004089f, 0.027083f, 0.008566f, 0.011963f, -0.009899f, 0.003932f, -0.024505f, 0.001328f, -0.017699f, 0.013424f, 0.009041f, -0.007454f, 0.011311f, 0.006426f, -0.011975f, -0.002969f, 0.017365f, -0.000559f, 0.011967f, -0.003264f, 0.002427f, 0.013840f, -0.017175f, -0.001320f, 0.002850f, 0.005062f, 0.001186f, 0.005568f, 0.000762f, 0.016781f, -0.007738f, -0.004819f, -0.005028f, 0.012688f, 0.001655f, -0.005957f, 0.007749f, 0.021394f, -0.014891f, 0.002644f, 0.002929f, -0.001300f, 0.008688f, -0.004328f, 0.016397f, 0.005491f, 0.004193f, -0.013405f, -0.001270f, -0.003559f, 0.007640f, 0.005692f, 0.008250f, -0.009213f, -0.005943f, 0.007775f, -0.015981f, -0.009003f, 0.003715f, 0.017247f, 0.010540f, 0.015249f, -0.016568f, -0.005291f, -0.016836f, -0.004404f, 0.005217f, -0.001468f, -0.015876f, + 0.002069f, -0.009693f, -0.000168f, -0.017377f, -0.021202f, -0.008550f, -0.015315f, 0.000976f, 0.005367f, 0.003146f, -0.006575f, 0.008552f, 0.013531f, 0.003917f, 0.003963f, 0.007919f, -0.002499f, -0.012897f, -0.000841f, -0.008833f, 0.004634f, 0.001613f, -0.000930f, 0.002550f, 0.001161f, -0.009405f, -0.004932f, -0.002578f, 0.004723f, 0.000828f, -0.003408f, -0.001005f, -0.000357f, -0.001249f, 0.000722f, -0.001792f, -0.000956f, 0.000825f, 0.004284f, 0.001264f, 0.001340f, 0.001148f, -0.000927f, 0.001453f, 0.002830f, 0.001673f, 0.003705f, 0.001309f, 0.001876f, 0.000407f, 0.002913f, -0.004483f, -0.031929f, -0.028794f, -0.020721f, 0.006284f, 0.006364f, 0.023859f, -0.010590f, 0.022658f, -0.009307f, -0.037473f, -0.003374f, -0.003520f, -0.014527f, -0.024260f, -0.008890f, -0.000571f, -0.014978f, -0.000171f, -0.023021f, 0.001637f, -0.024267f, 0.013824f, -0.006149f, 0.010058f, -0.004806f, -0.000478f, -0.007584f, -0.008791f, 0.014898f, 0.002882f, -0.004418f, 0.016913f, 0.001836f, 0.002677f, 0.005761f, 0.015559f, 0.013647f, 0.010401f, 0.000193f, -0.018541f, -0.002003f, 0.008820f, 0.002616f, 0.011268f, + -0.005512f, 0.004986f, -0.027222f, 0.008518f, 0.016283f, -0.020621f, 0.012011f, 0.004162f, 0.019273f, 0.014742f, -0.000141f, -0.005188f, -0.000588f, 0.013068f, 0.006365f, -0.017402f, -0.014215f, -0.024034f, -0.011723f, -0.016164f, -0.003778f, -0.019981f, -0.004375f, -0.006766f, 0.020129f, -0.009555f, 0.009874f, -0.005356f, -0.003110f, -0.006710f, -0.014163f, -0.007599f, -0.004655f, -0.004775f, 0.012610f, -0.038462f, -0.008332f, 0.017824f, 0.000663f, 0.003325f, 0.009438f, 0.018048f, -0.011566f, 0.002050f, 0.004655f, -0.000969f, -0.000347f, -0.002787f, 0.004797f, 0.007387f, -0.003464f, 0.000481f, -0.000915f, 0.008265f, -0.003298f, -0.000386f, 0.008271f, 0.001593f, 0.002790f, 0.003774f, 0.003781f, -0.001533f, 0.000518f, -0.002407f, -0.003480f, -0.002008f, -0.006019f, 0.001537f, 0.003619f, 0.002490f, 0.001330f, -0.007726f, -0.000172f, -0.001158f, -0.000559f, -0.003704f, 0.001901f, 0.003239f, -0.002038f, -0.000522f, 0.003805f, 0.004108f, -0.041933f, 0.032485f, -0.008928f, 0.019277f, 0.011287f, -0.000605f, -0.027680f, 0.022115f, 0.003156f, -0.001762f, 0.014027f, 0.009994f, -0.011339f, -0.000033f, + 0.023798f, 0.008002f, -0.010519f, 0.016931f, -0.009027f, -0.007230f, -0.004913f, 0.005536f, 0.000264f, -0.002914f, 0.002424f, 0.007343f, 0.006579f, 0.006763f, -0.017259f, 0.010900f, -0.014316f, 0.019819f, -0.012097f, 0.019726f, 0.006441f, 0.002008f, -0.019072f, -0.019383f, -0.006337f, -0.006369f, 0.022922f, 0.006577f, 0.018358f, 0.007777f, -0.016153f, 0.000753f, -0.003579f, 0.007946f, 0.000571f, 0.007011f, -0.001912f, -0.010829f, -0.006293f, 0.011693f, 0.028999f, 0.020947f, 0.002457f, 0.007278f, -0.001983f, -0.003929f, 0.014925f, 0.012550f, -0.005205f, 0.018410f, 0.025909f, 0.036193f, 0.000874f, -0.020562f, -0.024812f, 0.008807f, 0.004621f, -0.000925f, 0.006369f, 0.000247f, -0.007879f, -0.000806f, 0.021904f, -0.003847f, -0.009418f, 0.038946f, 0.009916f, -0.006441f, 0.011530f, 0.000395f, -0.000288f, -0.001093f, -0.006034f, -0.000739f, 0.011933f, 0.005995f, -0.003659f, -0.005545f, 0.008415f, 0.006848f, -0.000406f, 0.015911f, 0.004708f, 0.003122f, 0.001870f, 0.007230f, 0.002889f, 0.006785f, 0.004746f, 0.002478f, 0.001507f, 0.008513f, 0.004825f, 0.004619f, 0.001435f, 0.008455f, + -0.000846f, 0.003423f, 0.005164f, 0.003616f, -0.000418f, 0.009433f, 0.010844f, 0.003466f, -0.001429f, 0.011249f, 0.001164f, -0.004872f, -0.000558f, 0.008292f, 0.000779f, -0.000413f, -0.001339f, -0.001184f, 0.000788f, 0.002384f, 0.005617f, 0.019561f, -0.028556f, 0.024074f, 0.009921f, -0.019496f, 0.045732f, 0.006894f, -0.023292f, 0.005431f, 0.012772f, 0.001243f, 0.009242f, 0.032819f, -0.031311f, 0.020497f, -0.012625f, 0.018183f, -0.006855f, 0.003901f, -0.028984f, 0.004964f, -0.003076f, 0.011704f, -0.011056f, 0.001648f, 0.002319f, 0.000326f, -0.016964f, 0.016390f, 0.001823f, -0.001757f, 0.007819f, -0.003252f, 0.007711f, -0.004049f, 0.023192f, 0.018220f, 0.022963f, 0.022733f, -0.003548f, 0.007945f, 0.009980f, 0.001009f, -0.011800f, 0.016071f, -0.018912f, 0.005880f, 0.019050f, -0.011247f, 0.010171f, -0.021126f, 0.006911f, -0.001856f, -0.004854f, -0.001844f, 0.001796f, 0.006502f, 0.006465f, 0.022216f, -0.014402f, -0.000742f, 0.014919f, 0.031658f, -0.027894f, 0.007161f, -0.006695f, 0.009589f, -0.004953f, 0.046238f, -0.028273f, 0.010112f, -0.015652f, -0.008865f, 0.004368f, 0.004779f, + 0.002802f, -0.040549f, -0.021093f, 0.033372f, 0.018587f, -0.003758f, -0.017824f, -0.021020f, -0.008026f, 0.007382f, -0.022235f, -0.012388f, 0.011372f, 0.006096f, -0.000162f, -0.000755f, -0.015454f, 0.002827f, -0.004272f, -0.006067f, 0.007535f, -0.004009f, -0.004532f, -0.001998f, -0.013452f, 0.004525f, -0.003227f, -0.004846f, -0.004662f, 0.006101f, -0.006290f, 0.007463f, -0.000829f, -0.002165f, 0.002999f, 0.002494f, 0.010286f, -0.010428f, -0.001778f, -0.008004f, -0.001251f, 0.004692f, 0.004168f, 0.012714f, -0.003833f, 0.006874f, 0.002040f, -0.005068f, 0.021342f, -0.028185f, -0.006019f, 0.039744f, -0.011994f, -0.000843f, 0.021269f, 0.004960f, 0.013106f, -0.029743f, 0.028441f, 0.001810f, 0.002079f, -0.007585f, -0.017916f, -0.002505f, -0.002816f, -0.019180f, -0.011598f, 0.021175f, -0.006798f, 0.004030f, -0.010469f, -0.046700f, 0.015744f, 0.002078f, -0.014465f, 0.008868f, 0.018019f, -0.001736f, 0.001944f, -0.003691f, 0.004492f, 0.012206f, 0.003844f, 0.019639f, 0.013423f, 0.003040f, 0.017150f, -0.013904f, -0.013710f, -0.019484f, 0.007288f, 0.011199f, 0.003212f, -0.030882f, 0.008687f, -0.026392f, + 0.038123f, -0.009093f, 0.013510f, 0.032536f, -0.012900f, 0.020659f, 0.005105f, 0.022496f, 0.009013f, -0.010912f, -0.033503f, -0.024039f, -0.018772f, -0.002614f, -0.019704f, -0.003957f, -0.017234f, -0.011179f, 0.033566f, 0.007258f, -0.014409f, -0.012763f, 0.006715f, 0.012464f, -0.002994f, 0.004850f, -0.061228f, 0.024589f, 0.004093f, -0.019646f, -0.024189f, -0.006317f, -0.040466f, 0.004336f, 0.020000f, 0.002196f, -0.017434f, 0.010702f, 0.008959f, -0.014283f, 0.007060f, 0.004227f, -0.003639f, 0.000457f, -0.009216f, 0.002386f, 0.003092f, 0.002350f, -0.011988f, -0.006531f, 0.004808f, -0.007473f, 0.001636f, -0.004517f, -0.002963f, 0.002858f, 0.009950f, -0.012735f, 0.004351f, 0.009883f, -0.011934f, -0.011168f, 0.001388f, -0.010250f, 0.002273f, -0.006809f, 0.006985f, 0.003819f, -0.011952f, 0.006647f, -0.007879f, -0.005056f, 0.008108f, 0.001893f, 0.018351f, 0.005704f, -0.000112f, -0.001159f, 0.001363f, -0.004834f, 0.013224f, -0.037922f, -0.046470f, 0.027838f, -0.022899f, -0.026622f, -0.007719f, 0.017423f, 0.036024f, -0.023952f, 0.001780f, 0.017086f, -0.005345f, -0.007641f, 0.009147f, 0.005917f, + 0.027034f, 0.008966f, -0.026331f, -0.001131f, -0.013443f, -0.001037f, -0.015719f, -0.020629f, 0.002980f, 0.020370f, -0.001681f, 0.009012f, -0.017186f, 0.004854f, 0.020099f, 0.015582f, 0.002199f, 0.001466f, 0.012490f, 0.011887f, 0.007480f, 0.018413f, -0.023658f, 0.025589f, 0.018326f, 0.006192f, -0.019590f, 0.001282f, 0.014765f, -0.015489f, 0.017183f, -0.012330f, 0.019486f, -0.005400f, 0.025500f, -0.040533f, 0.042668f, 0.009892f, 0.040224f, 0.002446f, -0.008757f, -0.002988f, 0.014399f, 0.000792f, -0.033955f, 0.001150f, -0.002602f, -0.035193f, 0.010856f, 0.024704f, -0.033442f, 0.027508f, -0.029467f, 0.008929f, 0.011074f, 0.005880f, -0.036825f, -0.017865f, -0.018192f, 0.003329f, 0.002500f, -0.021587f, -0.031573f, 0.005916f, -0.027798f, 0.018593f, -0.013541f, -0.007445f, 0.009246f, -0.017429f, -0.013502f, -0.017881f, -0.007496f, -0.010076f, 0.000315f, -0.014355f, -0.010754f, -0.013123f, -0.019278f, -0.009533f, -0.004213f, -0.004571f, -0.005051f, -0.005829f, -0.003931f, -0.009353f, -0.010167f, 0.006303f, -0.012125f, -0.006760f, -0.003282f, 0.008903f, -0.004716f, 0.000006f, -0.015424f, -0.011254f, + -0.005190f, -0.000587f, -0.003686f, -0.013288f, -0.002032f, -0.001422f, 0.010319f, 0.006484f, -0.008782f, -0.008334f, 0.001493f, -0.004600f, 0.007552f, -0.004678f, 0.003941f, -0.008354f, -0.021449f, 0.032491f, 0.006557f, 0.021382f, 0.020725f, 0.005817f, -0.016003f, 0.003526f, 0.054844f, -0.037726f, 0.009075f, -0.006642f, -0.020600f, 0.001218f, 0.007364f, 0.008844f, -0.000262f, 0.000126f, -0.010807f, -0.015851f, -0.024659f, -0.012472f, 0.018629f, -0.015634f, -0.024775f, 0.014239f, -0.008878f, 0.005457f, -0.003277f, 0.011064f, -0.010545f, 0.023328f, -0.008415f, 0.002519f, -0.000525f, 0.002461f, 0.021508f, 0.007310f, -0.009977f, 0.011460f, -0.009130f, 0.017614f, -0.010591f, 0.007222f, -0.025209f, -0.018437f, -0.013499f, 0.004401f, -0.012591f, -0.022002f, 0.009274f, 0.016301f, 0.004795f, -0.011705f, 0.007546f, 0.011513f, 0.013106f, 0.035249f, 0.048665f, 0.066096f, -0.006676f, 0.010535f, 0.016033f, 0.009342f, 0.009005f, 0.010623f, -0.013419f, 0.026228f, -0.003587f, 0.034241f, 0.042380f, 0.030999f, 0.012710f, 0.017450f, 0.005996f, 0.059109f, 0.017173f, -0.010823f, -0.009182f, -0.008403f, + -0.003187f, -0.003805f, 0.003361f, -0.004719f, -0.010808f, 0.009886f, -0.017241f, 0.005202f, -0.003686f, 0.005489f, -0.008410f, -0.006954f, -0.005143f, 0.013404f, -0.012722f, -0.012554f, -0.000587f, 0.005527f, -0.006223f, -0.016117f, -0.004994f, 0.000929f, -0.007286f, 0.008608f, 0.016724f, -0.009306f, -0.000635f, 0.003474f, -0.001197f, 0.005495f, 0.009932f, -0.004411f, -0.010785f, -0.001846f, 0.005973f, -0.005474f, 0.015306f, 0.017646f, 0.011307f, -0.005011f, -0.011353f, -0.001517f, 0.017829f, 0.002028f, 0.000126f, 0.007768f, 0.003049f, -0.000092f, -0.002251f, 0.004373f, 0.005045f, -0.011604f, -0.000515f, 0.065981f, 0.052806f, -0.023063f, -0.010643f, -0.027503f, 0.015782f, 0.007694f, 0.032270f, -0.005715f, -0.014073f, -0.006356f, -0.021026f, 0.004705f, 0.000726f, 0.030480f, -0.011502f, 0.011357f, -0.041135f, 0.022606f, -0.003310f, 0.015910f, -0.000294f, 0.014420f, 0.002363f, -0.023366f, -0.012159f, -0.020042f, -0.015325f, 0.016888f, 0.040592f, 0.017738f, -0.004951f, -0.012609f, -0.000665f, -0.003408f, 0.010035f, 0.013769f, -0.026148f, -0.000494f, -0.009198f, -0.008686f, -0.028390f, -0.021800f, + -0.045932f, 0.000872f, -0.002436f, 0.016540f, -0.013868f, 0.029395f, -0.022447f, -0.009782f, 0.058624f, 0.058241f, -0.040398f, 0.009036f, 0.033598f, -0.019539f, -0.009505f, 0.017412f, -0.006649f, -0.024546f, 0.065202f, -0.016216f, -0.099473f, 0.033103f, -0.001450f, -0.051126f, 0.038990f, 0.041881f, -0.015012f, 0.029347f, 0.037024f, -0.017511f, 0.001118f, 0.023681f, -0.025770f, 0.010792f, 0.020310f, -0.036524f, -0.005247f, -0.011980f, 0.001780f, -0.013302f, -0.000016f, 0.005238f, -0.015706f, 0.012590f, -0.018182f, -0.008150f, 0.008501f, 0.017816f, -0.010449f, 0.001138f, 0.003302f, -0.002529f, 0.005758f, -0.012789f, 0.018758f, -0.009525f, 0.019819f, 0.019614f, -0.000751f, 0.001165f, 0.012915f, -0.009497f, 0.002565f, -0.000347f, 0.016237f, -0.012210f, 0.009714f, 0.003242f, -0.039066f, 0.007686f, -0.005164f, -0.007080f, 0.001760f, -0.000883f, 0.003799f, -0.021658f, 0.002630f, -0.005474f, -0.019682f, 0.003545f, 0.032766f, -0.030930f, 0.009866f, 0.018437f, -0.027011f, 0.000133f, 0.014139f, -0.024826f, -0.012383f, 0.004482f, 0.011431f, 0.021784f, 0.010505f, -0.017923f, -0.003474f, 0.016066f, + -0.018840f, 0.018497f, -0.009497f, -0.024069f, 0.021274f, 0.010894f, 0.010475f, -0.006185f, -0.006247f, -0.008671f, -0.001417f, 0.017857f, -0.037614f, 0.018344f, -0.001046f, 0.030940f, -0.019934f, -0.000165f, -0.024723f, 0.010417f, -0.040070f, 0.004165f, 0.001504f, -0.016069f, -0.012266f, 0.006146f, -0.027069f, -0.046541f, 0.027784f, -0.002845f, 0.008166f, -0.027633f, 0.016521f, -0.004687f, 0.017773f, 0.019078f, 0.009330f, -0.019572f, 0.015702f, -0.009524f, -0.004500f, -0.036048f, 0.004889f, -0.025736f, -0.028197f, -0.041032f, -0.016997f, 0.006258f, 0.011040f, -0.042350f, -0.021061f, 0.001994f, -0.015332f, -0.056783f, -0.045079f, -0.046346f, -0.009820f, -0.027823f, 0.024137f, 0.034094f, 0.009155f, -0.034345f, -0.039773f, -0.046351f, -0.004586f, -0.003705f, 0.024853f, -0.022532f, -0.038686f, -0.019181f, -0.025863f, 0.008395f, 0.000185f, 0.008783f, 0.004294f, -0.012995f, 0.002434f, 0.009049f, -0.010231f, -0.004530f, -0.008716f, -0.005647f, -0.006385f, -0.012649f, -0.000878f, 0.014842f, 0.000212f, 0.004067f, 0.004133f, -0.003024f, 0.011124f, -0.007819f, 0.017366f, 0.015458f, -0.006566f, -0.014639f, + -0.001014f, -0.005874f, -0.008264f, -0.009366f, -0.008252f, 0.012333f, 0.000258f, 0.011588f, -0.012826f, -0.014018f, -0.002789f, 0.006190f, -0.022068f, 0.003310f, 0.001884f, -0.016375f, 0.003187f, -0.013562f, -0.028739f, 0.017081f, -0.007090f, 0.001724f, -0.005021f, 0.002521f, -0.014842f, -0.004261f, -0.028834f, 0.050152f, 0.055732f, -0.013183f, 0.037639f, -0.010450f, -0.014473f, -0.014383f, 0.036660f, -0.031582f, -0.007071f, -0.014919f, 0.058035f, 0.002413f, 0.021386f, 0.007832f, -0.005159f, 0.029081f, 0.016412f, 0.023857f, 0.007723f, -0.003416f, -0.009826f, 0.022845f, -0.003465f, -0.021882f, 0.027952f, -0.000483f, 0.024523f, -0.026793f, 0.019194f, 0.006980f, -0.027207f, -0.020973f, 0.050585f, 0.032906f, -0.002746f, 0.018295f, 0.015404f, -0.031676f, -0.020600f, 0.010846f, 0.008405f, 0.022617f, 0.003158f, 0.005178f, 0.009105f, 0.027539f, 0.011614f, 0.007270f, -0.026781f, 0.075424f, 0.050857f, 0.006068f, -0.033403f, 0.017086f, -0.010969f, 0.009633f, -0.007327f, 0.016371f, -0.010648f, 0.002812f, 0.041890f, -0.028459f, -0.013438f, -0.038344f, 0.011219f, -0.010243f, -0.006348f, 0.035567f, + 0.011555f, 0.004741f, 0.003488f, -0.014311f, -0.028353f, 0.021081f, 0.000411f, 0.000650f, 0.022836f, 0.022445f, -0.001322f, -0.016123f, -0.018505f, 0.036731f, -0.003350f, -0.001937f, -0.006644f, 0.027653f, -0.001750f, -0.019019f, 0.013052f, 0.010373f, 0.017678f, 0.007994f, 0.006556f, 0.025539f, -0.004704f, -0.009137f, 0.009353f, -0.000510f, 0.001535f, 0.002346f, 0.012170f, -0.006453f, 0.000459f, -0.008264f, 0.003282f, 0.012301f, -0.005146f, 0.002969f, 0.015869f, -0.005350f, 0.003834f, 0.011192f, 0.001331f, -0.002986f, -0.023088f, 0.015404f, -0.012664f, 0.010098f, -0.015226f, -0.003453f, 0.006972f, -0.009972f, -0.003364f, 0.022511f, 0.016984f, 0.001909f, -0.002878f, 0.021018f, 0.004821f, 0.010009f, 0.009977f, 0.004676f, -0.003136f, 0.008988f, -0.018086f, -0.039203f, 0.101946f, -0.114330f, -0.013196f, -0.060151f, 0.073941f, 0.019969f, 0.013071f, -0.028674f, 0.006956f, -0.023383f, 0.066238f, -0.011594f, -0.004219f, 0.006899f, -0.003251f, -0.025773f, 0.009928f, 0.015174f, 0.020053f, -0.044561f, -0.023439f, -0.022878f, 0.009198f, -0.013386f, -0.012009f, -0.001284f, -0.000392f, 0.029488f, + -0.015112f, 0.001619f, 0.022178f, -0.002591f, -0.029466f, 0.003886f, 0.023336f, -0.002609f, -0.046463f, 0.034927f, 0.004186f, 0.000831f, -0.000064f, -0.019419f, 0.015332f, -0.085799f, -0.060044f, -0.008172f, -0.021503f, 0.004123f, 0.006577f, -0.040057f, 0.063324f, -0.024857f, 0.087234f, -0.012079f, -0.030557f, 0.030123f, 0.004982f, 0.026920f, 0.040383f, 0.013075f, -0.041518f, -0.011232f, 0.046620f, 0.108542f, 0.003573f, -0.027391f, 0.045095f, 0.004208f, 0.053187f, 0.008924f, 0.072009f, -0.018270f, -0.002925f, -0.001609f, 0.016785f, 0.002832f, 0.027634f, 0.050987f, 0.002952f, -0.010342f, -0.009091f, 0.016505f, -0.013812f, -0.005525f, 0.032977f, 0.024551f, 0.003552f, -0.005768f, -0.012553f, -0.013580f, -0.008661f, -0.010956f, 0.023721f, -0.014304f, -0.010382f, 0.012249f, 0.004119f, -0.004069f, 0.010535f, 0.012614f, -0.006901f, 0.010899f, 0.016769f, -0.008266f, 0.000946f, -0.023477f, 0.030111f, 0.000371f, 0.024169f, 0.002151f, -0.025615f, 0.000705f, 0.002414f, 0.007233f, 0.002483f, 0.000561f, -0.022076f, -0.019642f, -0.001483f, -0.011172f, 0.015828f, 0.006505f, -0.007751f, -0.000127f, + 0.012366f, 0.003230f, -0.007639f, 0.001372f, 0.008849f, 0.000770f, -0.004779f, 0.004147f, 0.148822f, 0.045960f, 0.016181f, -0.005026f, -0.016334f, -0.021751f, 0.048378f, 0.044312f, -0.051767f, 0.030187f, 0.022868f, 0.004902f, -0.015846f, -0.027720f, -0.070481f, -0.026720f, 0.022139f, 0.006874f, -0.022873f, 0.041945f, -0.014066f, 0.016715f, 0.016669f, -0.010691f, -0.010225f, 0.043777f, 0.000865f, -0.017297f, 0.027322f, -0.024559f, 0.053982f, -0.027084f, -0.016465f, -0.003438f, 0.020868f, 0.010749f, 0.054600f, -0.017384f, -0.033147f, -0.012177f, 0.014207f, 0.003261f, 0.029108f, 0.007563f, 0.002270f, -0.012485f, 0.023392f, 0.102542f, 0.043496f, -0.038841f, 0.032747f, -0.020635f, -0.031617f, 0.024880f, -0.001469f, 0.006861f, -0.002416f, 0.017759f, -0.027663f, -0.042108f, -0.110475f, -0.029563f, 0.038915f, -0.015137f, -0.038180f, 0.015929f, -0.009201f, 0.015855f, -0.044511f, -0.039268f, -0.018631f, 0.015975f, 0.017133f, 0.051913f, 0.008818f, -0.004334f, -0.041556f, -0.058836f, -0.007683f, -0.026816f, 0.004625f, 0.020324f, -0.028195f, -0.029183f, -0.006598f, -0.036152f, -0.059684f, -0.020374f, + -0.016204f, -0.032350f, -0.007856f, 0.016891f, -0.017003f, -0.009426f, -0.019481f, -0.005140f, -0.042674f, -0.027598f, -0.027358f, 0.000038f, 0.003419f, 0.014525f, -0.024096f, 0.012541f, -0.032328f, 0.000581f, -0.019247f, -0.003189f, 0.009347f, -0.010600f, 0.014444f, -0.042622f, -0.008832f, 0.013463f, 0.005427f, 0.012303f, -0.005865f, -0.012237f, 0.019940f, -0.004890f, -0.004832f, 0.013469f, -0.021494f, -0.017468f, -0.003671f, 0.003076f, -0.028349f, -0.014081f, -0.015729f, -0.009349f, -0.002983f, -0.001274f, 0.001729f, -0.013450f, 0.000612f, -0.023257f, 0.033160f, -0.026393f, 0.091142f, 0.076532f, 0.035908f, -0.020766f, -0.031923f, 0.054744f, 0.046939f, -0.061240f, -0.012315f, -0.037466f, 0.052888f, -0.008788f, -0.074695f, -0.032451f, 0.026829f, 0.046982f, -0.086372f, 0.034912f, -0.059747f, 0.022391f, -0.035208f, -0.008953f, 0.041817f, -0.013818f, 0.006518f, 0.026823f, 0.055666f, -0.036092f, -0.060755f, 0.013878f, -0.004624f, 0.006876f, 0.057055f, 0.014579f, 0.042621f, -0.053541f, -0.009765f, 0.017520f, -0.047833f, 0.078694f, -0.008991f, 0.047268f, -0.006402f, -0.010742f, 0.038711f, 0.038825f, + -0.022010f, 0.086669f, -0.020074f, -0.037299f, 0.041834f, 0.074521f, 0.004370f, 0.013755f, 0.003757f, 0.033051f, -0.034763f, 0.026582f, 0.112810f, 0.052149f, -0.003366f, 0.049546f, 0.060783f, -0.044566f, -0.137667f, 0.010798f, 0.083271f, 0.094313f, 0.025859f, -0.008678f, -0.040456f, 0.049164f, 0.103926f, 0.048848f, 0.025458f, -0.101260f, 0.019345f, -0.057166f, -0.035726f, -0.089202f, 0.076357f, 0.017055f, -0.026124f, -0.035183f, 0.026948f, -0.025278f, 0.014663f, 0.010748f, 0.013674f, -0.032687f, -0.006922f, -0.003569f, 0.017896f, -0.010866f, 0.015153f, 0.013707f, -0.014994f, -0.009169f, 0.020985f, 0.001553f, 0.022515f, -0.008844f, 0.008453f, -0.013985f, 0.008078f, 0.042936f, 0.008095f, 0.008658f, -0.005232f, -0.044633f, -0.022851f, -0.027240f, 0.015115f, 0.077333f, 0.072231f, 0.066048f, -0.004992f, -0.046565f, -0.044799f, -0.020474f, 0.030384f, 0.034746f, -0.002432f, -0.014813f, -0.024208f, -0.034368f, 0.009405f, 0.020782f, 0.016515f, 0.016506f, 0.012151f, 0.001347f, 0.062995f, -0.125437f, 0.095299f, 0.019600f, -0.057662f, 0.000566f, 0.053164f, -0.035802f, 0.001224f, 0.029433f, + -0.037567f, 0.002964f, -0.033800f, -0.021468f, 0.035068f, -0.030583f, -0.017613f, -0.064014f, 0.027289f, 0.061839f, 0.017081f, -0.028078f, -0.047730f, -0.007746f, 0.035189f, 0.019080f, -0.040850f, -0.001240f, 0.048307f, -0.006609f, 0.002886f, -0.016774f, -0.012377f, 0.114340f, -0.055419f, -0.014168f, -0.013253f, 0.019101f, 0.052676f, -0.056665f, -0.032258f, 0.075202f, -0.009449f, -0.004962f, -0.090727f, -0.074656f, 0.030601f, 0.050546f, 0.027071f, -0.092438f, 0.062653f, -0.001803f, -0.014794f, 0.013123f, -0.066704f, -0.018396f, -0.009274f, -0.032816f, 0.058657f, -0.046460f, -0.026510f, -0.049943f, -0.029576f, -0.065819f, 0.019036f, -0.102860f, -0.029637f, 0.011979f, -0.052014f, 0.012577f, 0.027609f, 0.012439f, -0.001619f, -0.018481f, -0.037868f, 0.054352f, -0.012733f, -0.005291f, -0.020511f, 0.032905f, 0.065014f, 0.009882f, -0.090141f, 0.007851f, -0.040722f, 0.005939f, 0.007222f, -0.016272f, 0.005170f, -0.026694f, -0.010094f, -0.002247f, -0.021326f, 0.000400f, -0.006914f, 0.015701f, 0.012824f, -0.004846f, 0.005872f, 0.029223f, -0.014363f, -0.010428f, 0.028622f, -0.021604f, 0.018574f, -0.010440f, + -0.011310f, 0.002290f, -0.013964f, -0.006034f, 0.016863f, -0.035286f, 0.009345f, 0.008454f, 0.011784f, 0.025484f, -0.019206f, 0.003195f, 0.017550f, 0.007069f, -0.007882f, -0.016531f, -0.004769f, -0.003835f, -0.001030f, -0.016923f, 0.003644f, -0.002754f, -0.071860f, 0.043824f, -0.001184f, 0.056682f, -0.011500f, 0.058626f, 0.007475f, -0.007313f, 0.026294f, 0.068002f, 0.032637f, 0.017550f, 0.013700f, 0.008830f, 0.026828f, -0.033986f, -0.002634f, -0.025447f, -0.026762f, 0.041890f, 0.026098f, 0.016132f, -0.011876f, -0.010326f, -0.004816f, 0.043803f, 0.006812f, -0.019159f, -0.031428f, -0.001280f, -0.007338f, 0.032981f, 0.005118f, 0.027607f, 0.051686f, -0.014215f, -0.130492f, 0.008730f, 0.106278f, 0.011222f, -0.077742f, -0.009944f, 0.030118f, 0.023686f, 0.041829f, 0.038042f, -0.002972f, -0.024516f, -0.025127f, 0.033303f, -0.020058f, 0.003816f, 0.011745f, -0.135541f, -0.023389f, -0.025995f, 0.021665f, 0.106681f, -0.001824f, 0.008633f, -0.024614f, 0.007309f, 0.022112f, 0.044779f, 0.023486f, -0.026384f, -0.013777f, -0.065812f, -0.003865f, 0.045307f, -0.019848f, -0.009375f, 0.016802f, 0.046013f, + 0.037405f, -0.009904f, -0.046678f, 0.000295f, 0.017222f, 0.005220f, -0.030970f, 0.003847f, 0.003911f, -0.002358f, -0.026716f, -0.034818f, 0.030374f, 0.024822f, -0.001115f, -0.005455f, -0.026120f, 0.020821f, 0.008766f, 0.004736f, 0.008253f, 0.006632f, 0.012228f, 0.000769f, -0.028940f, 0.016265f, 0.000975f, -0.001831f, 0.001845f, 0.007734f, 0.003873f, -0.003955f, 0.000137f, 0.001122f, -0.009358f, -0.005655f, -0.040058f, 0.006317f, 0.028653f, -0.020012f, 0.010371f, -0.032609f, 0.018588f, 0.008478f, -0.004610f, -0.009039f, -0.003040f, -0.003229f, 0.004112f, -0.007191f, 0.036487f, -0.004508f, -0.214414f, -0.403075f, -0.162144f, -0.272890f, -0.313610f, 0.194619f, 0.067858f, 0.178798f, 0.538112f, 0.352155f, 0.284086f, 0.425919f, 0.212474f, 0.013514f, 0.168270f, 0.041742f, -0.170824f, -0.120063f, -0.136191f, -0.312503f, -0.253958f, -0.109841f, -0.227441f, -0.250548f, -0.103793f, -0.154296f, -0.258764f, -0.133813f, 0.019690f, -0.162776f, -0.149073f, 0.032592f, -0.032539f, -0.148455f, 0.165788f, 0.108207f, -0.124833f, 0.122999f, 0.186618f, 0.028102f, 0.106551f, 0.375404f, 0.178049f, 0.112383f, + 0.441516f, 0.309393f, 0.178912f, 0.435353f, 0.583579f, 0.361288f, 0.523263f, 0.677995f, 0.484290f, 0.321184f, 0.423281f, 0.222775f, -0.216164f, -0.142359f, -0.285416f, -0.664324f, -0.666290f, -0.674731f, -1.018542f, -1.005603f, -1.010484f, -1.052519f, -0.993834f, -0.966629f, -0.761146f, -0.609198f, -0.460908f, -0.190017f, 0.055460f, 0.147467f, 0.375563f, 0.652913f, 0.552991f, 0.741616f, 1.054446f, 0.886441f, 0.827678f, 1.008003f, 0.746515f, 0.382930f, 0.414784f, 0.389349f, 0.145797f, 0.103869f, 0.208687f, 0.077123f, -0.018712f, 0.069799f, 0.024516f, -0.145540f, -0.130304f, -0.078529f, -0.260346f, -0.298821f, -0.130731f, -0.227397f, -0.313201f, -0.129454f, -0.083501f, -0.170732f, -0.002874f, 0.054816f, -0.056753f, -0.008707f, -0.041990f, -0.238944f, -0.344345f, -0.385754f, -0.481941f, -0.567170f, -0.509275f, -0.465417f, -0.433583f, -0.325399f, -0.207459f, -0.147681f, -0.027179f, 0.114634f, 0.178183f, 0.258602f, 0.425824f, 0.517842f, 0.603846f, 0.647283f, 0.613128f, 0.546617f, 0.418021f, 0.285864f, 0.159457f, 0.022286f, -0.027186f, -0.046115f, -0.075241f, -0.084670f, -0.086381f, -0.099991f, + -0.106186f, -0.095822f, -0.086290f, -0.095753f, -0.102771f, -0.097821f, -0.102681f, -0.111933f, -0.107625f, -0.101584f, -0.078251f, -0.046440f, -0.028979f, -0.007332f, 0.009120f, 0.007347f, 0.003072f, 0.000817f}, + {-0.012942f, -0.001200f, 0.012109f, -0.010826f, 0.004172f, -0.018233f, 0.000179f, -0.006606f, 0.007318f, -0.006167f, 0.001657f, -0.004187f, -0.007634f, -0.001971f, -0.000739f, 0.005521f, 0.006916f, -0.006585f, -0.011469f, 0.005991f, 0.002037f, 0.004184f, 0.002519f, 0.004732f, -0.006650f, -0.004999f, 0.001178f, -0.001281f, 0.005962f, 0.004288f, -0.005089f, -0.001109f, 0.004541f, 0.008430f, 0.005187f, 0.000048f, -0.006642f, 0.003546f, -0.001152f, -0.003548f, 0.004648f, 0.001998f, -0.006102f, -0.005114f, -0.004148f, 0.003384f, -0.005979f, -0.003227f, 0.004995f, 0.001911f, -0.000197f, -0.006264f, 0.002281f, -0.005389f, -0.013858f, 0.001344f, -0.004730f, -0.008954f, 0.004085f, -0.002566f, -0.002570f, -0.003087f, 0.000174f, 0.006781f, 0.004083f, 0.002269f, 0.003086f, 0.005112f, -0.010442f, 0.005404f, -0.004165f, -0.004031f, -0.002323f, 0.003432f, 0.000646f, 0.007287f, 0.010630f, 0.004128f, 0.000807f, 0.001179f, -0.000176f, 0.006778f, -0.002894f, -0.000278f, 0.003313f, 0.000208f, -0.002836f, -0.002919f, 0.000951f, -0.000110f, -0.003199f, -0.001628f, 0.000984f, -0.000197f, -0.000437f, -0.001300f, + -0.001590f, 0.001026f, 0.000669f, 0.001115f, -0.000482f, 0.000368f, -0.000338f, -0.002984f, -0.001152f, 0.001312f, 0.002348f, -0.001361f, -0.001576f, 0.000501f, 0.027683f, -0.002312f, 0.005093f, 0.006110f, -0.002810f, 0.002890f, 0.011042f, -0.008571f, -0.001497f, 0.003172f, -0.004251f, -0.000820f, 0.008118f, -0.002594f, -0.001802f, -0.000541f, 0.003161f, -0.001527f, 0.003922f, -0.002715f, -0.002666f, -0.001219f, -0.006255f, -0.010705f, -0.001996f, -0.003421f, -0.001414f, 0.006336f, -0.011335f, 0.013983f, 0.000110f, 0.000262f, 0.000506f, 0.002655f, -0.000311f, -0.005350f, 0.000872f, 0.004322f, 0.010565f, 0.000543f, -0.000050f, -0.001588f, -0.003526f, 0.007022f, 0.003355f, -0.002543f, 0.003894f, -0.006963f, 0.001220f, 0.002242f, -0.005251f, -0.018128f, -0.005650f, -0.000440f, -0.001037f, -0.000851f, -0.001566f, -0.002298f, -0.001284f, -0.003437f, 0.004478f, 0.013381f, 0.007608f, 0.000597f, 0.000009f, -0.000347f, 0.004707f, -0.002724f, -0.012156f, -0.000412f, -0.006314f, 0.004005f, -0.007168f, 0.004083f, -0.017557f, -0.000102f, -0.002469f, 0.005982f, 0.009625f, -0.001462f, -0.002245f, 0.001446f, + -0.000002f, 0.005160f, 0.001930f, 0.000868f, 0.007020f, -0.005140f, -0.000638f, 0.000890f, 0.002539f, 0.000015f, 0.002589f, 0.000144f, 0.001673f, 0.000746f, -0.000294f, 0.000522f, -0.000582f, -0.000075f, 0.001512f, 0.002218f, 0.000313f, -0.000609f, -0.000818f, 0.000291f, -0.000335f, 0.001255f, 0.000950f, 0.000610f, -0.000363f, 0.000229f, 0.000899f, -0.024358f, -0.023488f, -0.008840f, -0.003479f, -0.003352f, 0.000020f, 0.005940f, 0.001418f, 0.004825f, -0.011030f, 0.005455f, 0.006873f, 0.006642f, 0.007789f, -0.006026f, 0.001675f, 0.018328f, -0.011336f, -0.000400f, -0.008075f, -0.011712f, -0.001401f, -0.000832f, 0.010155f, -0.004925f, 0.001069f, -0.008748f, 0.005609f, 0.003503f, 0.004404f, -0.019611f, 0.003025f, -0.003587f, -0.006878f, -0.001852f, -0.000094f, -0.014550f, -0.009420f, -0.008125f, -0.000653f, 0.012157f, 0.004218f, 0.004027f, 0.005843f, -0.005439f, 0.003440f, -0.004880f, 0.010396f, 0.015992f, -0.001496f, -0.001471f, 0.004550f, 0.001119f, 0.004139f, 0.008986f, -0.004213f, 0.009297f, -0.001452f, -0.000286f, 0.005505f, 0.007530f, -0.002846f, -0.010878f, -0.010003f, 0.003865f, + -0.001364f, -0.001869f, -0.004406f, 0.004938f, -0.008328f, 0.003096f, 0.006252f, 0.010553f, -0.006131f, 0.010119f, 0.006615f, 0.003291f, 0.005064f, 0.001221f, -0.001707f, -0.006817f, 0.004857f, -0.003208f, -0.006358f, -0.008042f, 0.003343f, -0.002651f, 0.004857f, 0.000852f, -0.003089f, -0.003754f, -0.001907f, 0.001599f, -0.001976f, -0.000708f, -0.002542f, -0.001128f, -0.000144f, 0.002473f, 0.001310f, -0.000080f, 0.001446f, 0.004875f, -0.000460f, 0.000013f, 0.002859f, -0.001540f, 0.000813f, -0.001074f, -0.000822f, 0.001402f, 0.002062f, 0.002062f, 0.001333f, -0.000031f, -0.000628f, 0.001521f, 0.000737f, 0.003337f, 0.004011f, -0.003184f, -0.000316f, 0.001755f, -0.026709f, 0.011460f, -0.011994f, 0.021337f, -0.019999f, 0.015590f, 0.007916f, -0.008349f, -0.010417f, -0.005831f, 0.004018f, 0.003611f, -0.005654f, 0.012554f, -0.004605f, -0.012134f, -0.002523f, 0.012987f, 0.008889f, -0.013276f, 0.002053f, -0.001725f, -0.013892f, -0.005801f, -0.008955f, -0.002151f, -0.010648f, -0.002886f, -0.004473f, -0.014664f, -0.005256f, 0.007338f, 0.010579f, -0.002123f, -0.012557f, -0.002601f, 0.008818f, -0.002795f, + 0.000263f, 0.000534f, 0.000155f, -0.012507f, -0.000412f, -0.001559f, -0.003197f, -0.000654f, 0.002155f, -0.008976f, 0.005048f, -0.009606f, -0.000248f, -0.000134f, 0.000160f, 0.007007f, 0.000109f, -0.003358f, 0.002847f, 0.004838f, 0.011658f, 0.005272f, 0.002623f, -0.003455f, -0.007289f, -0.006902f, -0.002880f, -0.007532f, -0.005398f, 0.004334f, 0.007621f, -0.005699f, -0.009468f, -0.006518f, 0.002959f, 0.001587f, -0.008882f, -0.003098f, 0.001070f, -0.007497f, -0.003452f, 0.000969f, 0.002248f, 0.002962f, -0.003466f, -0.004169f, -0.005680f, 0.000156f, -0.000721f, -0.002224f, 0.001716f, -0.001916f, -0.000670f, -0.004360f, -0.000993f, -0.001501f, 0.003751f, 0.001814f, -0.001572f, 0.001804f, -0.000260f, 0.000537f, -0.001876f, 0.000167f, -0.001127f, -0.000137f, -0.001566f, -0.002915f, 0.002034f, -0.000243f, -0.002770f, -0.001758f, -0.000296f, -0.002547f, -0.002942f, 0.032686f, 0.013069f, -0.002068f, 0.007492f, -0.005118f, 0.018366f, 0.007838f, 0.032995f, 0.000745f, -0.031717f, 0.008287f, 0.019404f, -0.011347f, 0.003485f, 0.013419f, -0.010112f, 0.009505f, -0.008181f, -0.001659f, -0.010112f, -0.009585f, + -0.002981f, 0.002846f, -0.000962f, 0.004554f, -0.004283f, 0.014253f, -0.008342f, 0.004139f, 0.002692f, 0.009331f, -0.016729f, -0.008609f, -0.006545f, -0.001828f, -0.005870f, 0.001750f, 0.010348f, 0.007493f, 0.016383f, -0.002216f, -0.001132f, -0.009117f, -0.002977f, 0.010464f, -0.009965f, 0.008676f, -0.009319f, -0.003767f, 0.015036f, 0.021792f, 0.015559f, 0.002905f, -0.011332f, 0.008186f, 0.006009f, -0.005878f, 0.012647f, -0.008106f, 0.002546f, 0.002185f, -0.022923f, -0.000001f, -0.021727f, -0.008567f, 0.003533f, -0.005559f, -0.010343f, -0.008675f, 0.001873f, 0.015179f, 0.003787f, -0.005901f, -0.007549f, -0.006471f, 0.001555f, 0.002648f, 0.007207f, -0.011114f, -0.010167f, 0.000926f, -0.001927f, 0.000910f, -0.002895f, -0.001451f, -0.001785f, -0.000743f, 0.003432f, 0.001118f, 0.001594f, -0.001232f, -0.002327f, -0.002056f, 0.000700f, 0.006221f, 0.002020f, 0.004594f, 0.001408f, -0.006587f, 0.005186f, 0.002584f, 0.000964f, 0.001274f, 0.003004f, -0.000412f, 0.002590f, 0.000782f, -0.000047f, -0.001854f, -0.001563f, -0.002665f, 0.000881f, 0.003137f, -0.000542f, -0.001108f, -0.001599f, -0.009415f, + -0.001090f, -0.000885f, 0.000330f, -0.001219f, 0.020236f, 0.040957f, -0.017802f, -0.013224f, -0.003566f, -0.004790f, 0.014290f, -0.013609f, -0.024808f, -0.008592f, 0.001757f, -0.006067f, 0.007150f, 0.003385f, 0.012392f, 0.005199f, -0.004937f, 0.017812f, 0.016703f, -0.007680f, 0.001229f, -0.011472f, -0.001935f, 0.000642f, -0.007056f, -0.001363f, 0.012467f, 0.017879f, 0.000730f, 0.002950f, 0.007365f, 0.004710f, 0.002887f, 0.001231f, -0.006751f, -0.012830f, 0.001491f, -0.018459f, 0.000678f, 0.004250f, -0.005874f, 0.007262f, -0.004667f, -0.010202f, -0.000786f, 0.009948f, 0.004409f, -0.004447f, 0.030171f, -0.000081f, 0.009739f, -0.017948f, -0.003994f, 0.012326f, -0.005763f, -0.013287f, 0.007829f, -0.015572f, -0.013964f, 0.003191f, 0.017117f, -0.013994f, -0.007869f, -0.004129f, 0.000716f, -0.006332f, -0.006313f, 0.023094f, 0.013506f, -0.002081f, 0.001289f, -0.010857f, -0.007783f, -0.004409f, 0.006942f, 0.009138f, 0.000802f, 0.007329f, 0.004733f, -0.001472f, 0.006796f, -0.006234f, 0.023050f, 0.013074f, 0.002542f, 0.000752f, 0.002126f, -0.003882f, -0.001489f, -0.003864f, -0.004092f, -0.000108f, + -0.000149f, -0.003718f, 0.001991f, -0.005617f, -0.001696f, 0.004408f, -0.001576f, 0.004518f, 0.002570f, 0.004276f, 0.000180f, 0.002958f, 0.003359f, 0.003065f, 0.000579f, 0.005075f, 0.001665f, 0.000727f, -0.003655f, 0.000392f, -0.001354f, -0.000026f, 0.000252f, 0.001847f, -0.000244f, 0.001687f, -0.003485f, -0.000117f, 0.016164f, -0.029109f, -0.003957f, -0.021875f, -0.012478f, -0.019821f, -0.005080f, -0.003084f, -0.003017f, -0.007649f, 0.008792f, -0.027909f, 0.014285f, -0.009549f, 0.008479f, 0.003679f, 0.011588f, 0.000607f, 0.004785f, -0.011277f, -0.004802f, 0.005160f, -0.011223f, -0.008164f, 0.013660f, 0.003734f, 0.006169f, 0.005460f, -0.001434f, 0.003642f, 0.020353f, -0.007348f, 0.001933f, -0.009230f, 0.016364f, -0.009939f, -0.036443f, 0.011237f, 0.005705f, 0.015291f, 0.008262f, 0.021087f, -0.014289f, -0.005689f, 0.012729f, -0.005333f, -0.012220f, -0.005797f, 0.006615f, -0.017728f, 0.017469f, -0.000644f, 0.011638f, -0.014970f, -0.006575f, -0.005452f, -0.016215f, -0.003323f, -0.012895f, -0.005894f, 0.001355f, 0.018631f, 0.015004f, -0.001716f, -0.022889f, -0.013059f, -0.004226f, 0.018098f, + 0.014972f, 0.010898f, 0.010083f, -0.006436f, -0.026492f, -0.006790f, -0.000790f, 0.006187f, -0.008377f, -0.002617f, 0.013532f, -0.002602f, 0.015997f, 0.000190f, 0.011078f, 0.004235f, 0.000518f, -0.004099f, -0.000442f, 0.006028f, 0.001595f, -0.002820f, 0.000534f, -0.007323f, -0.001273f, -0.000429f, -0.009805f, -0.005869f, -0.006274f, -0.003060f, 0.001915f, -0.003943f, 0.001567f, -0.005282f, -0.000705f, -0.001550f, -0.002881f, 0.004283f, 0.002057f, -0.000910f, -0.006681f, -0.002588f, 0.002641f, 0.004364f, 0.000057f, -0.006484f, -0.003451f, 0.001468f, 0.003323f, 0.000922f, 0.001597f, 0.000492f, -0.038306f, -0.046237f, -0.026205f, 0.018708f, 0.001342f, -0.008780f, -0.009936f, -0.014900f, -0.001733f, 0.004804f, -0.025865f, -0.002642f, 0.016057f, -0.010102f, -0.007224f, 0.017943f, 0.004602f, -0.012135f, 0.004405f, -0.011749f, 0.026729f, -0.008867f, -0.006556f, 0.008520f, -0.014147f, -0.008948f, -0.008362f, 0.004374f, -0.009870f, -0.003815f, 0.004349f, 0.003073f, -0.031732f, 0.013945f, 0.013609f, -0.009270f, 0.024303f, 0.009226f, 0.002187f, 0.023279f, 0.013242f, 0.004018f, 0.003144f, 0.025185f, + -0.002665f, -0.004491f, -0.001844f, 0.015413f, 0.008584f, -0.023138f, 0.008775f, 0.007036f, -0.000299f, -0.012398f, -0.037202f, 0.016203f, -0.002565f, -0.009286f, -0.023374f, -0.013275f, 0.014164f, -0.003181f, -0.006891f, -0.015630f, -0.030271f, 0.002911f, -0.004289f, -0.016144f, -0.006850f, -0.028645f, -0.004665f, -0.006543f, -0.005496f, -0.001353f, 0.010125f, 0.021761f, 0.009287f, -0.007452f, -0.015750f, 0.005945f, 0.001006f, 0.009006f, 0.005658f, -0.003659f, 0.006590f, 0.002310f, -0.000804f, -0.008612f, 0.000702f, -0.013938f, -0.000901f, -0.003162f, 0.002222f, -0.005463f, 0.006458f, 0.003725f, -0.001590f, -0.001258f, -0.001378f, 0.000817f, -0.003190f, -0.000928f, 0.003701f, -0.001609f, -0.001424f, 0.007017f, -0.002857f, -0.001953f, 0.005692f, -0.004532f, 0.003427f, -0.011681f, -0.007548f, -0.004371f, -0.006172f, -0.000743f, -0.006129f, -0.008258f, -0.006090f, -0.001841f, -0.001276f, 0.002627f, -0.000302f, -0.005094f, 0.002879f, 0.000961f, -0.039431f, 0.031735f, 0.001788f, 0.016224f, -0.002887f, -0.001312f, 0.002995f, 0.017526f, 0.001748f, -0.002169f, -0.023808f, 0.008491f, -0.002597f, -0.018396f, + 0.004834f, -0.012015f, -0.009225f, 0.034179f, 0.009737f, 0.010534f, -0.007347f, 0.012252f, 0.014801f, 0.014295f, -0.008257f, 0.012484f, 0.006504f, -0.014367f, 0.009407f, -0.013972f, -0.004796f, 0.008955f, 0.004274f, -0.001428f, -0.007721f, -0.007274f, 0.022765f, -0.006590f, -0.009932f, -0.006366f, 0.004691f, 0.004961f, -0.010806f, -0.018305f, -0.001282f, -0.019643f, -0.002266f, -0.017709f, -0.006633f, -0.004188f, 0.003550f, -0.009015f, -0.015285f, 0.019413f, -0.007946f, -0.021337f, 0.013733f, 0.022813f, -0.010957f, -0.007285f, 0.011620f, 0.008394f, 0.022685f, 0.014634f, 0.002383f, -0.000198f, -0.023128f, 0.005630f, 0.022365f, 0.017923f, -0.015703f, 0.017089f, 0.018592f, -0.012342f, -0.034381f, -0.011109f, -0.030779f, 0.005215f, 0.017853f, 0.008959f, 0.002273f, -0.009258f, -0.012367f, -0.001376f, 0.001768f, 0.005382f, -0.002680f, 0.010126f, -0.004386f, -0.003547f, 0.004117f, 0.010720f, -0.015600f, -0.002082f, -0.001833f, -0.004794f, 0.000281f, 0.004316f, -0.000709f, -0.000487f, -0.002306f, -0.000304f, -0.002326f, 0.000887f, -0.000008f, -0.000335f, 0.001702f, 0.005597f, -0.004647f, -0.002787f, + 0.003413f, 0.003597f, 0.011991f, -0.001143f, 0.005150f, 0.004649f, -0.004830f, 0.004203f, 0.002136f, -0.004418f, 0.001405f, 0.001741f, 0.001648f, 0.004785f, 0.010538f, 0.002195f, -0.003172f, 0.006883f, -0.001860f, -0.003835f, 0.000880f, 0.007722f, -0.062732f, 0.030263f, 0.008672f, -0.002819f, 0.042549f, -0.002366f, 0.021609f, -0.018817f, -0.004294f, 0.003485f, 0.000417f, 0.024381f, 0.015565f, -0.032782f, 0.020707f, 0.001691f, 0.012494f, -0.029515f, -0.001008f, 0.017273f, -0.028957f, 0.036558f, 0.010020f, -0.000254f, -0.012859f, 0.002313f, 0.015928f, -0.025980f, 0.002561f, 0.006806f, 0.004772f, -0.015968f, -0.005810f, 0.015370f, 0.008775f, -0.001505f, 0.002421f, -0.010459f, -0.017961f, 0.007627f, -0.030471f, -0.001139f, 0.044030f, 0.042963f, -0.013557f, 0.005440f, -0.001731f, 0.012389f, 0.030978f, 0.002723f, 0.014894f, 0.005024f, -0.016050f, -0.001092f, -0.002951f, -0.046402f, -0.020874f, 0.028922f, 0.001466f, 0.009003f, -0.011104f, -0.002732f, 0.010374f, 0.014065f, -0.001138f, 0.035964f, 0.000647f, 0.028078f, 0.003610f, 0.006016f, 0.003779f, -0.018181f, -0.022865f, 0.028433f, + 0.006685f, -0.014649f, 0.020673f, -0.016717f, 0.001650f, 0.017505f, 0.002942f, -0.004336f, 0.008220f, -0.007353f, -0.007050f, 0.008821f, 0.012056f, 0.000968f, -0.015893f, -0.007591f, -0.017132f, -0.006047f, 0.004383f, 0.005671f, 0.002898f, -0.006562f, -0.003018f, -0.012297f, 0.009073f, -0.000034f, -0.004902f, -0.002156f, 0.003879f, 0.002202f, 0.011224f, 0.010071f, 0.006554f, 0.006591f, 0.002302f, 0.008026f, -0.005199f, 0.003761f, 0.004347f, 0.004173f, -0.004529f, 0.008110f, 0.004313f, -0.001060f, -0.001343f, -0.001949f, -0.001880f, -0.003514f, 0.021058f, -0.045817f, 0.018408f, 0.028867f, -0.003997f, 0.008586f, 0.012987f, -0.007007f, -0.004440f, 0.017815f, -0.006715f, 0.027034f, -0.025736f, 0.014064f, 0.033415f, -0.035813f, 0.001444f, -0.017032f, 0.021104f, 0.008911f, 0.017502f, -0.018121f, -0.014165f, -0.000205f, 0.045156f, 0.000524f, 0.022842f, -0.010133f, 0.001374f, -0.003104f, -0.004024f, -0.020044f, -0.000787f, -0.005620f, 0.009188f, -0.008945f, -0.013019f, -0.010918f, -0.000844f, -0.003799f, 0.020388f, 0.003518f, -0.011300f, -0.010223f, -0.010406f, -0.003792f, -0.004969f, 0.033319f, + 0.001429f, 0.016741f, 0.001122f, -0.007987f, -0.007315f, 0.027716f, 0.020642f, -0.007961f, -0.026125f, 0.014755f, 0.010110f, -0.057515f, 0.003311f, 0.032482f, 0.031628f, 0.007404f, 0.025142f, -0.034690f, 0.056842f, 0.005013f, 0.010849f, 0.011278f, 0.027094f, -0.002102f, -0.024362f, -0.007367f, -0.028779f, 0.032733f, -0.014502f, -0.009660f, 0.028493f, -0.000823f, -0.011273f, -0.008653f, -0.021512f, 0.020372f, -0.035084f, -0.005105f, 0.003320f, -0.000817f, 0.004933f, -0.007226f, -0.015095f, -0.009531f, 0.004616f, 0.003900f, -0.007169f, 0.001874f, -0.006843f, -0.007262f, -0.005464f, 0.006493f, 0.003297f, -0.008247f, 0.007664f, 0.001631f, -0.010180f, 0.004645f, -0.001929f, -0.003487f, -0.007792f, -0.008680f, 0.001573f, 0.004329f, 0.018045f, -0.007869f, 0.010646f, 0.001401f, -0.003721f, -0.001217f, -0.002248f, -0.004690f, 0.002659f, -0.000418f, -0.005524f, -0.001709f, -0.003870f, 0.001564f, 0.003546f, 0.003077f, 0.017322f, -0.034221f, -0.027408f, 0.024052f, 0.020204f, 0.049683f, -0.017853f, -0.013445f, -0.009128f, 0.009170f, -0.021424f, -0.002795f, 0.008054f, -0.001732f, 0.026594f, 0.017041f, + -0.021727f, 0.001699f, 0.006045f, 0.015259f, -0.024712f, 0.025453f, -0.000678f, 0.011138f, -0.004586f, -0.011974f, -0.025913f, 0.008813f, -0.004696f, -0.011080f, 0.004914f, -0.016005f, -0.015567f, -0.003692f, 0.007798f, 0.030886f, -0.046611f, -0.028306f, -0.025259f, -0.028351f, -0.008225f, 0.032035f, -0.019357f, -0.001146f, 0.031534f, -0.004932f, -0.014602f, -0.027831f, -0.007705f, -0.012144f, -0.057279f, -0.044521f, -0.012757f, 0.009729f, -0.005716f, 0.009699f, -0.012936f, -0.009399f, 0.026804f, 0.016079f, -0.028782f, -0.014997f, -0.032182f, -0.012959f, 0.002341f, 0.012493f, -0.005994f, 0.003143f, -0.027502f, -0.022058f, -0.020161f, -0.000835f, 0.004369f, 0.001442f, -0.026045f, 0.000568f, 0.034376f, 0.014680f, 0.039281f, -0.031436f, 0.048070f, 0.004008f, -0.030342f, -0.005271f, 0.001105f, 0.008214f, -0.005329f, 0.012897f, -0.018666f, 0.008457f, -0.016565f, 0.007413f, 0.010842f, -0.003776f, 0.024476f, -0.002338f, 0.005560f, -0.006945f, -0.009227f, -0.005312f, 0.000436f, 0.005332f, -0.009744f, -0.001949f, 0.002902f, -0.002369f, 0.009238f, -0.003110f, -0.005035f, -0.016249f, 0.006799f, 0.000766f, + 0.008101f, 0.003302f, -0.005629f, -0.015303f, 0.004590f, -0.019491f, 0.004624f, -0.005253f, -0.001053f, 0.001799f, -0.004392f, 0.001270f, 0.002778f, 0.013117f, 0.004982f, -0.006028f, -0.024444f, 0.004657f, -0.002694f, 0.056252f, 0.006129f, 0.027078f, -0.023476f, -0.015971f, -0.005776f, -0.026534f, -0.016837f, -0.025632f, -0.011911f, -0.016624f, 0.030533f, 0.007640f, 0.007707f, 0.031433f, -0.000835f, -0.001832f, 0.014222f, 0.028278f, 0.044278f, 0.032333f, -0.006639f, -0.012053f, -0.050965f, 0.014013f, 0.015996f, 0.006183f, -0.031771f, 0.036717f, 0.014680f, 0.021555f, -0.006005f, 0.002003f, 0.020914f, 0.045869f, 0.044739f, 0.025738f, 0.005442f, 0.047690f, 0.001273f, -0.014296f, 0.015534f, 0.028898f, 0.023558f, 0.042884f, 0.022729f, 0.000907f, 0.005216f, -0.025966f, 0.011286f, -0.064817f, -0.011050f, -0.006567f, 0.014414f, 0.050839f, 0.028698f, 0.007440f, 0.037044f, -0.026932f, -0.024292f, 0.005160f, -0.062794f, -0.015101f, 0.002661f, 0.011975f, 0.014631f, 0.016539f, -0.003707f, 0.027499f, 0.003527f, 0.014173f, 0.051020f, -0.031468f, -0.016231f, -0.008775f, 0.009790f, -0.006088f, + -0.048001f, -0.009204f, 0.032872f, -0.002506f, 0.041670f, -0.022452f, 0.001230f, 0.017071f, -0.003943f, 0.004687f, -0.017271f, -0.008649f, -0.013390f, -0.009143f, -0.014866f, -0.012432f, 0.003337f, 0.002398f, -0.029912f, -0.014115f, -0.016818f, -0.004701f, 0.005607f, 0.008869f, -0.013299f, -0.000761f, 0.004086f, -0.021319f, 0.003214f, -0.008714f, -0.013756f, -0.007479f, 0.001145f, 0.004916f, -0.009419f, -0.002653f, -0.014446f, -0.001414f, -0.003833f, -0.004996f, -0.010526f, -0.015831f, 0.003983f, 0.004851f, -0.008424f, -0.006219f, -0.006174f, -0.005049f, 0.002860f, 0.009925f, 0.002935f, 0.002901f, -0.043286f, -0.013577f, 0.007978f, 0.032893f, 0.060344f, -0.024128f, 0.001154f, 0.010053f, -0.010959f, 0.055939f, 0.009992f, -0.027416f, 0.049021f, -0.009995f, -0.016330f, 0.035120f, -0.031694f, -0.018491f, 0.002226f, 0.003167f, 0.004450f, 0.023039f, 0.012359f, 0.018716f, -0.005613f, 0.009975f, 0.028137f, 0.001812f, 0.019211f, 0.003610f, 0.000820f, 0.031097f, -0.040401f, -0.014613f, -0.013649f, 0.027081f, -0.020558f, -0.005265f, -0.012080f, 0.026821f, -0.011263f, 0.059546f, 0.043552f, -0.040406f, + 0.019922f, -0.048570f, 0.007062f, 0.017681f, 0.009547f, 0.010616f, -0.061950f, -0.011941f, -0.059746f, 0.008030f, 0.005010f, 0.007388f, -0.009374f, -0.010751f, 0.028687f, -0.051569f, 0.017841f, -0.022277f, -0.097243f, -0.036347f, -0.031779f, 0.016109f, -0.014105f, 0.014899f, 0.048777f, 0.052020f, 0.029485f, 0.027415f, 0.025430f, 0.007471f, -0.038628f, 0.040725f, 0.000136f, -0.044852f, -0.035700f, -0.056392f, -0.074759f, -0.038494f, -0.007510f, 0.059944f, 0.021638f, 0.003741f, 0.022993f, -0.018186f, -0.000365f, 0.011610f, 0.009627f, -0.004721f, 0.008832f, 0.002932f, 0.006144f, 0.002607f, -0.018443f, 0.015026f, 0.009970f, 0.007432f, 0.003028f, -0.009570f, 0.005307f, -0.014278f, -0.005080f, -0.022234f, 0.018656f, 0.014149f, -0.003020f, 0.002132f, 0.014935f, 0.023740f, -0.010584f, -0.022958f, -0.006945f, 0.018883f, -0.004120f, -0.013663f, 0.020115f, -0.001631f, -0.011609f, 0.013953f, 0.005603f, 0.001011f, -0.003400f, -0.000408f, -0.009854f, 0.006872f, -0.006271f, -0.002738f, 0.014419f, -0.077926f, -0.036612f, -0.027553f, 0.013505f, -0.059624f, 0.020337f, -0.035948f, 0.049352f, -0.059297f, + -0.074993f, -0.016837f, -0.011446f, 0.057470f, 0.027693f, 0.025177f, -0.015685f, 0.006030f, -0.036732f, -0.029691f, 0.005994f, 0.011455f, -0.047130f, -0.043910f, -0.030993f, -0.004609f, 0.022667f, 0.016092f, -0.033307f, -0.041854f, -0.024559f, -0.025018f, -0.056446f, -0.032928f, 0.023945f, -0.016267f, -0.001074f, -0.008420f, 0.017386f, 0.027999f, -0.008272f, -0.084215f, 0.034524f, 0.069087f, 0.025335f, -0.002260f, -0.084465f, -0.020707f, 0.035849f, -0.011139f, 0.092928f, -0.010704f, -0.076173f, 0.011759f, -0.013419f, 0.005558f, 0.001381f, -0.015785f, 0.019568f, 0.024412f, -0.080329f, -0.021938f, 0.003673f, 0.027540f, -0.015500f, -0.041230f, 0.035441f, 0.002969f, -0.027712f, -0.080007f, -0.092752f, -0.048026f, -0.006590f, 0.006161f, 0.073026f, 0.103529f, 0.052957f, 0.040249f, 0.017144f, -0.061001f, 0.021353f, -0.000849f, -0.032281f, -0.009639f, -0.100217f, -0.021499f, -0.001344f, 0.000238f, 0.002825f, 0.042907f, 0.015610f, 0.012450f, -0.018552f, -0.006214f, 0.037029f, -0.026194f, -0.001116f, -0.002051f, 0.006617f, -0.019556f, -0.032092f, -0.035595f, 0.014891f, -0.016850f, -0.006418f, 0.020110f, + 0.000055f, 0.002882f, -0.027475f, 0.008626f, 0.007971f, 0.004213f, -0.022738f, -0.011595f, -0.015214f, -0.023591f, 0.002427f, -0.013868f, 0.024253f, 0.009357f, -0.017716f, 0.002827f, -0.006999f, 0.016808f, -0.024116f, -0.003500f, -0.001724f, 0.011827f, 0.010318f, 0.005240f, 0.012610f, -0.000611f, 0.006353f, 0.140002f, 0.128588f, -0.054347f, 0.066684f, 0.059059f, -0.016675f, -0.010082f, -0.030755f, -0.016692f, -0.036140f, -0.025462f, 0.106694f, -0.005899f, 0.062151f, 0.000654f, 0.003009f, 0.000719f, -0.042133f, 0.009930f, 0.008720f, -0.092698f, 0.013791f, 0.022288f, -0.048703f, -0.010323f, -0.015004f, -0.006791f, 0.013722f, -0.002920f, 0.002852f, 0.040608f, 0.016570f, -0.020020f, 0.012611f, 0.064816f, 0.001126f, 0.029762f, -0.001546f, 0.024244f, -0.035774f, -0.043482f, -0.024158f, -0.079664f, 0.021331f, 0.008681f, -0.035237f, -0.096769f, -0.062991f, -0.090491f, 0.065840f, -0.047102f, 0.010354f, 0.016043f, 0.015036f, 0.012298f, 0.070269f, -0.067761f, 0.000504f, -0.038096f, 0.074388f, -0.166881f, 0.034307f, 0.012610f, 0.053424f, 0.048231f, 0.000378f, -0.015654f, -0.025362f, -0.007652f, + -0.048277f, 0.035260f, 0.098294f, -0.007768f, 0.020411f, 0.061661f, -0.043110f, 0.024307f, 0.030359f, -0.054819f, -0.037634f, -0.101394f, 0.083889f, -0.016585f, -0.073580f, 0.049157f, -0.012227f, 0.031992f, -0.002095f, 0.027679f, 0.004931f, -0.022012f, 0.034835f, 0.032879f, 0.005550f, 0.018681f, 0.031698f, 0.018395f, -0.021057f, -0.009477f, -0.020562f, -0.009536f, 0.026740f, 0.050502f, -0.002090f, -0.009812f, -0.001954f, 0.032260f, -0.051407f, 0.029120f, -0.013862f, 0.068411f, 0.013760f, -0.041455f, -0.008227f, 0.030080f, -0.015900f, -0.022010f, -0.015980f, -0.012942f, -0.015711f, 0.016232f, 0.012013f, 0.043469f, -0.036719f, 0.001706f, -0.004142f, 0.023475f, 0.001666f, -0.003731f, 0.014398f, 0.016739f, 0.013490f, 0.027967f, 0.003666f, 0.032314f, -0.048605f, -0.046088f, 0.056914f, -0.116019f, 0.079947f, -0.047866f, -0.033462f, -0.021059f, 0.007255f, -0.033615f, -0.026176f, 0.036339f, -0.011197f, -0.079361f, 0.027340f, -0.004890f, 0.014010f, -0.017892f, 0.070499f, -0.057574f, 0.002419f, 0.029253f, -0.020009f, 0.022155f, -0.046991f, 0.003851f, -0.040438f, -0.020482f, 0.043921f, 0.005634f, + 0.017586f, -0.024970f, 0.042459f, -0.012231f, -0.019849f, 0.016305f, -0.026037f, -0.021639f, -0.013922f, -0.014291f, -0.043883f, -0.058719f, -0.016369f, 0.032654f, 0.000504f, -0.018346f, -0.058672f, 0.002318f, -0.046374f, -0.003025f, 0.018669f, -0.045807f, -0.011295f, 0.033853f, 0.034290f, 0.024981f, -0.056937f, -0.026869f, 0.039258f, 0.012871f, -0.001088f, 0.031898f, -0.186870f, -0.043137f, -0.020822f, -0.084798f, 0.008378f, 0.023437f, -0.004958f, 0.015782f, 0.040098f, -0.022982f, -0.039694f, 0.010249f, -0.036031f, -0.010798f, 0.038940f, 0.061832f, -0.023358f, -0.074353f, -0.044901f, 0.004965f, -0.039689f, 0.006357f, -0.030774f, -0.028965f, 0.007829f, -0.059528f, 0.000784f, -0.037089f, -0.011363f, -0.020248f, 0.008448f, 0.015255f, -0.005826f, -0.036793f, 0.008285f, -0.002267f, -0.023219f, 0.029112f, -0.001095f, -0.027034f, -0.009249f, -0.006925f, -0.010139f, -0.018656f, 0.010396f, -0.017007f, 0.014302f, 0.019827f, -0.007518f, 0.002525f, -0.011281f, -0.025531f, -0.036283f, 0.006837f, 0.005108f, 0.017260f, -0.041998f, 0.009237f, 0.000127f, -0.026902f, 0.021350f, -0.010879f, 0.015405f, 0.034816f, + -0.076370f, 0.015990f, 0.011222f, 0.022773f, -0.012294f, -0.007257f, 0.025846f, 0.001428f, 0.125310f, -0.016094f, -0.034944f, 0.004581f, -0.014184f, 0.061994f, 0.011493f, -0.005459f, 0.058833f, 0.059720f, 0.019449f, 0.022994f, 0.032623f, -0.074028f, -0.041088f, 0.061075f, -0.008633f, -0.060797f, -0.030952f, -0.027687f, 0.041494f, 0.022208f, -0.022541f, -0.087713f, 0.026922f, 0.013567f, 0.011308f, 0.014208f, -0.010878f, 0.008724f, -0.065987f, 0.058554f, 0.040430f, 0.021505f, -0.033244f, -0.028086f, -0.000484f, 0.029253f, -0.006797f, 0.030432f, 0.012943f, -0.069375f, -0.031193f, 0.010826f, -0.070114f, 0.004025f, 0.012914f, -0.061433f, -0.086836f, -0.012191f, 0.025649f, -0.050315f, -0.105368f, -0.046026f, -0.027920f, 0.068053f, -0.041831f, 0.076814f, -0.016303f, 0.003582f, 0.032384f, 0.004480f, -0.118048f, -0.007844f, 0.004442f, 0.054934f, -0.105124f, -0.144617f, 0.010003f, -0.009411f, -0.092661f, 0.052063f, 0.024029f, -0.003415f, -0.000782f, 0.085165f, -0.122298f, 0.100038f, 0.020658f, 0.013452f, 0.040062f, -0.043774f, -0.040212f, -0.007519f, 0.018422f, -0.024841f, -0.002303f, 0.051448f, + -0.043974f, -0.034741f, 0.044928f, -0.025539f, -0.013263f, 0.019196f, 0.012045f, -0.050723f, 0.025461f, -0.016855f, -0.005094f, 0.018218f, 0.017222f, -0.053999f, -0.009284f, -0.041920f, 0.023137f, 0.033097f, 0.001717f, -0.069489f, 0.048955f, -0.011788f, -0.001570f, 0.030180f, -0.007962f, -0.025090f, -0.005048f, 0.039814f, -0.059944f, 0.041005f, 0.001763f, -0.004122f, 0.014485f, 0.008236f, -0.037671f, 0.017573f, -0.000625f, 0.002125f, -0.048963f, 0.033770f, -0.032215f, 0.037249f, 0.005053f, -0.043978f, 0.003209f, 0.006033f, -0.013192f, 0.006532f, 0.058915f, 0.023099f, 0.138647f, -0.057967f, -0.060469f, -0.025016f, -0.002187f, 0.131684f, -0.017994f, 0.109085f, -0.076108f, -0.029839f, 0.046350f, -0.082946f, -0.027130f, -0.078039f, 0.013214f, 0.079647f, -0.108980f, -0.039898f, -0.009021f, 0.033305f, -0.000545f, 0.012312f, 0.030670f, -0.007567f, -0.068920f, -0.063863f, 0.003625f, 0.045364f, 0.121904f, -0.026832f, 0.033370f, -0.034810f, 0.060402f, 0.002178f, 0.007451f, -0.016660f, -0.071271f, 0.002516f, 0.066574f, -0.011217f, -0.003422f, -0.024530f, -0.062102f, 0.082543f, 0.031829f, 0.055125f, + 0.074083f, -0.003460f, 0.004798f, 0.045875f, -0.117133f, 0.040817f, -0.058896f, 0.139399f, -0.012650f, 0.013887f, 0.021402f, -0.040431f, -0.040502f, 0.014186f, -0.058704f, 0.088541f, -0.051138f, -0.064895f, -0.065345f, 0.092583f, 0.031849f, 0.053740f, -0.011379f, 0.053691f, 0.054753f, -0.055110f, -0.015445f, -0.051093f, -0.026538f, 0.096497f, 0.068705f, 0.009271f, 0.019199f, -0.145466f, 0.100431f, 0.131448f, 0.015606f, -0.010266f, -0.024392f, -0.077907f, 0.113770f, -0.006256f, 0.008181f, -0.021931f, 0.003804f, -0.049039f, 0.106528f, -0.024936f, 0.052194f, 0.008638f, -0.017868f, -0.005771f, 0.102643f, -0.056013f, 0.050854f, 0.017216f, -0.042794f, 0.006452f, -0.013385f, 0.028629f, 0.008673f, 0.041837f, -0.016662f, 0.004839f, 0.008366f, 0.000048f, 0.041549f, 0.070708f, -0.021050f, -0.003012f, 0.008615f, 0.039126f, 0.011622f, -0.053350f, -0.035588f, 0.076576f, 0.015416f, 0.037891f, -0.073901f, -0.088875f, 0.083338f, 0.055604f, 0.026447f, -0.005648f, -0.068726f, -0.000756f, 0.012288f, -0.103395f, 0.070737f, -0.073532f, 0.008932f, -0.033883f, 0.027301f, -0.002854f, 0.038901f, -0.006258f, + -0.033649f, 0.057959f, -0.020352f, -0.008107f, 0.008916f, -0.024329f, -0.021143f, 0.066914f, -0.015788f, -0.009187f, -0.007835f, -0.003432f, 0.030701f, -0.023406f, 0.007231f, -0.017125f, 0.015325f, -0.014950f, -0.011402f, -0.035884f, 0.052490f, -0.032413f, 0.017404f, 0.008432f, 0.036364f, -0.040847f, 0.009137f, -0.016695f, 0.041248f, 0.005434f, 0.003270f, 0.032665f, 0.009715f, -0.054088f, -0.008016f, -0.009253f, 0.015017f, 0.023718f, 0.019785f, -0.049164f, 0.021043f, -0.037131f, 0.026255f, -0.021152f, 0.005559f, -0.012122f, 0.025916f, -0.010118f, 0.007485f, -0.054993f, 0.012969f, 0.026774f, -0.025262f, 0.025062f, 0.003376f, 0.009249f, 0.015544f, -0.022136f, 0.037987f, 0.015071f, -0.002192f, -0.011910f, 0.018429f, -0.011525f, 0.034448f, -0.028821f, -0.008679f, -0.027425f, 0.035668f, -0.035284f, 0.032391f, -0.029397f, 0.039402f, -0.033490f, 0.020630f, -0.033014f, 0.028964f, -0.002178f, 0.002947f, -0.009480f, 0.001498f, -0.005660f, -0.005176f, -0.010069f, 0.017182f, 0.006879f, -0.002447f, 0.005785f, -0.005334f, -0.009177f, 0.017253f, 0.002804f, 0.006503f, -0.011060f, 0.000625f, 0.017458f, + -0.020031f, -0.004718f, 0.011529f, 0.000416f, -0.006033f, -0.012696f, 0.031308f, -0.009766f, -0.015899f, 0.008337f, 0.002750f, -0.004814f, 0.003267f, -0.001634f, 0.002975f, -0.005173f, 0.004421f, -0.009079f, 0.015312f, -0.012582f, 0.017669f, 0.007940f, -0.043085f, 0.086971f, 0.007233f, 0.010913f, -0.034825f, -0.025660f, -0.055277f, 0.037008f, -0.015537f, -0.011314f, -0.024049f, -0.000979f, -0.021447f, -0.002703f, -0.002874f, 0.009671f, 0.010810f, -0.001746f, -0.002621f, -0.015750f, 0.014585f, 0.013638f, -0.013082f, 0.006093f, -0.029629f, 0.011738f, 0.005689f, -0.005228f, -0.004656f, -0.009920f, 0.009353f, 0.002023f, -0.021124f, -0.005709f, -0.006244f, -0.017529f, 0.028599f, 0.002956f, -0.018383f, 0.002751f, -0.007250f, 0.024929f, -0.008739f, -0.011731f, 0.004771f, -0.014953f, 0.029082f, 0.000791f, -0.016196f, 0.004568f, -0.006646f, 0.014211f, -0.018464f, -0.003694f, 0.005989f, -0.006730f, 0.012733f, -0.007340f, 0.003633f, 0.005766f, -0.016665f, 0.002277f, 0.016409f, -0.025245f, -0.001732f, 0.007605f, -0.023468f, 0.042571f, -0.039063f, 0.019419f, 0.006972f, -0.022310f, 0.043979f, -0.030015f, + 0.006995f, 0.005586f, -0.018711f, 0.014487f, -0.007692f, -0.014412f, 0.013975f, -0.017163f, 0.011064f, -0.007904f, -0.005884f, 0.012631f, -0.010615f, 0.004041f, -0.004351f, -0.000157f, 0.002393f, -0.005789f, 0.002628f, -0.000345f, -0.005701f, 0.011946f, -0.010269f, 0.008898f, 0.000255f, -0.008399f, 0.008113f, -0.014797f, -0.001502f, 0.003871f, -0.002510f, -0.002058f, 0.002009f, -0.007701f, 0.009337f, -0.004794f, -0.003424f, 0.000984f, 0.000902f, -0.006010f, -0.000982f, -0.003478f, 0.003179f, 0.004711f, -0.006836f, 0.005888f, -0.006529f, -0.001266f, 0.006166f, -0.004673f, 0.020324f, -0.093170f, -0.215098f, 0.056455f, 0.199125f, 0.168356f, 0.225905f, -0.111348f, -0.144298f, -0.217006f, -0.221800f, 0.015274f, 0.165390f, 0.182606f, 0.200034f, 0.066541f, -0.043509f, -0.158666f, -0.262704f, -0.143913f, 0.066854f, 0.103570f, 0.175241f, 0.132848f, 0.036311f, -0.023510f, -0.055323f, -0.131570f, -0.085247f, -0.081108f, -0.014848f, 0.069383f, 0.106335f, 0.056002f, 0.070999f, 0.035941f, -0.039958f, -0.006194f, -0.085480f, -0.118986f, -0.020338f, -0.027714f, 0.021023f, 0.112351f, 0.064743f, 0.055798f, + 0.016500f, -0.042012f, -0.043281f, -0.037269f, -0.061613f, -0.016095f, 0.002765f, 0.026498f, 0.032287f, 0.053769f, 0.015348f, -0.001836f, -0.027085f, -0.049955f, -0.004244f, 0.018059f, 0.018517f, 0.031552f, -0.007997f, -0.025059f, -0.012016f, -0.025093f, -0.019693f, 0.005410f, 0.014208f, 0.040399f, 0.034254f, 0.032739f, 0.001936f, -0.017499f, -0.065515f, -0.060906f, -0.024795f, 0.003951f, 0.050695f, 0.054372f, 0.022461f, 0.023080f, -0.002530f, -0.043773f, -0.026768f, -0.003123f, -0.010221f, 0.002393f, 0.004664f, 0.010575f, 0.008853f, -0.005628f, -0.014251f, 0.008496f, 0.013259f, 0.010866f, 0.011316f, -0.000995f, -0.008183f, -0.005101f, -0.022186f, -0.009131f, -0.012218f, -0.020898f, 0.012440f, 0.030408f, 0.035507f, 0.011761f, 0.012846f, -0.006885f, -0.008231f, -0.031743f, -0.047117f, -0.018185f, 0.005463f, 0.014752f, 0.018393f, 0.038695f, 0.036047f, 0.017444f, -0.014199f, -0.030285f, -0.034079f, -0.031986f, -0.023570f, -0.001620f, 0.028771f, 0.044395f, 0.035299f, 0.010190f, -0.016667f, -0.020152f, -0.019996f, -0.011676f, -0.007575f, -0.008782f, 0.008804f, 0.020289f, 0.015094f, 0.003186f, + -0.002527f, -0.001637f, -0.005110f, -0.006020f, -0.008297f, -0.003786f, 0.005035f, 0.004001f, 0.002673f, 0.002685f, 0.002606f, 0.001782f, -0.003517f, -0.003687f, -0.000575f, 0.000225f, -0.000056f, -0.000117f} + }, + { + {-0.010320f, -0.009100f, 0.011321f, -0.002316f, 0.009039f, 0.002637f, 0.013444f, -0.003134f, -0.006956f, -0.004792f, 0.008213f, 0.000228f, -0.002991f, -0.000797f, 0.009287f, -0.002474f, 0.001684f, 0.003258f, -0.006243f, -0.004751f, -0.002037f, 0.001712f, -0.006480f, 0.001645f, 0.001311f, -0.007506f, -0.002446f, -0.004492f, 0.000627f, -0.003283f, 0.001192f, 0.012236f, 0.006266f, -0.003584f, 0.000572f, -0.005817f, 0.004450f, -0.001569f, 0.007221f, -0.015015f, -0.001661f, 0.002316f, -0.005357f, 0.000955f, 0.007260f, 0.005546f, -0.006773f, -0.005005f, -0.005449f, -0.001017f, -0.004322f, -0.002194f, -0.006613f, 0.002509f, -0.000605f, -0.007636f, -0.003976f, -0.003089f, -0.000412f, 0.001563f, -0.001694f, -0.000802f, 0.003251f, 0.001288f, -0.003629f, 0.001875f, 0.008094f, -0.004182f, -0.001109f, -0.008748f, -0.003363f, -0.000692f, 0.003583f, -0.003707f, 0.001017f, 0.001459f, 0.001180f, 0.002804f, -0.006784f, -0.000242f, -0.003839f, 0.003184f, -0.002470f, -0.006527f, -0.001887f, -0.000223f, -0.000148f, -0.002895f, -0.003062f, 0.003149f, -0.001464f, -0.000604f, 0.001139f, 0.001830f, 0.000054f, -0.000448f, + 0.000327f, 0.001079f, 0.000040f, -0.000745f, 0.001413f, 0.000237f, -0.001294f, -0.001179f, 0.001318f, -0.000505f, 0.000458f, -0.000889f, 0.001188f, -0.001152f, -0.000762f, -0.000213f, -0.000276f, 0.000403f, 0.014044f, -0.005234f, 0.004579f, 0.011744f, -0.009502f, -0.010722f, -0.001561f, -0.002670f, -0.000111f, 0.005986f, 0.003349f, -0.014912f, 0.002353f, -0.008553f, -0.011757f, -0.000752f, 0.004343f, 0.004679f, -0.003819f, -0.000493f, -0.001234f, 0.006417f, -0.001303f, 0.005277f, -0.002438f, 0.000618f, 0.001184f, 0.001609f, -0.007432f, 0.003142f, 0.005799f, -0.002703f, 0.007383f, -0.004071f, -0.000772f, -0.009188f, 0.006564f, 0.001650f, -0.002396f, -0.007125f, -0.007030f, -0.003205f, -0.002380f, 0.003569f, -0.000745f, 0.003082f, 0.003082f, -0.006321f, 0.003974f, -0.008492f, 0.003074f, 0.004947f, 0.009411f, 0.009030f, -0.007746f, 0.003859f, -0.000461f, -0.002056f, 0.005526f, -0.004188f, -0.004962f, -0.003761f, 0.004513f, 0.002230f, 0.005872f, -0.005800f, 0.008823f, -0.002849f, -0.000406f, 0.002647f, 0.001495f, 0.005154f, -0.003861f, 0.007343f, 0.009310f, 0.016220f, 0.007572f, 0.005159f, + -0.009538f, -0.001753f, -0.006210f, -0.004524f, 0.005936f, -0.000775f, 0.007325f, 0.002975f, -0.000535f, -0.001457f, -0.001220f, 0.004204f, -0.003141f, 0.003352f, 0.004013f, -0.003133f, 0.001945f, 0.001449f, 0.000468f, 0.002395f, -0.001435f, -0.000446f, -0.003092f, -0.017182f, -0.018490f, 0.002111f, -0.001514f, 0.004401f, 0.004108f, 0.012217f, 0.005529f, 0.005838f, 0.002961f, -0.005970f, 0.002310f, 0.015434f, -0.010304f, -0.001151f, 0.000485f, 0.012392f, 0.007460f, 0.001733f, 0.005503f, -0.000972f, 0.004254f, 0.005717f, 0.012705f, 0.007043f, 0.007140f, 0.003840f, 0.003069f, 0.006197f, 0.002258f, -0.008838f, 0.005448f, 0.007318f, -0.002583f, 0.005325f, 0.007032f, -0.002434f, 0.002227f, 0.008774f, 0.003259f, -0.002097f, 0.003170f, 0.008955f, -0.000434f, -0.000082f, -0.001738f, 0.002470f, 0.008402f, -0.002458f, -0.004697f, 0.002438f, -0.002875f, 0.004445f, 0.005285f, -0.006218f, 0.001368f, -0.004010f, 0.000353f, 0.002573f, 0.007078f, 0.005821f, -0.014802f, -0.000012f, 0.007293f, -0.003755f, -0.006152f, 0.000854f, 0.001166f, 0.007326f, -0.000580f, -0.015802f, -0.006887f, 0.005147f, + -0.004369f, 0.007478f, -0.002042f, 0.000064f, 0.001924f, 0.009373f, 0.005895f, 0.003989f, -0.004781f, 0.007703f, -0.000889f, 0.004728f, 0.002343f, 0.000954f, 0.001640f, 0.001625f, -0.000088f, -0.001204f, 0.001060f, -0.000640f, -0.003806f, -0.001603f, -0.001547f, -0.000463f, -0.000853f, 0.000011f, -0.001128f, -0.002752f, 0.001412f, 0.000609f, -0.001380f, 0.000339f, 0.002643f, 0.001934f, 0.000935f, -0.000347f, -0.000408f, -0.000255f, -0.000109f, 0.002496f, -0.031272f, 0.004404f, 0.003249f, 0.014613f, -0.000547f, 0.011414f, 0.005866f, 0.002921f, -0.018319f, 0.000043f, -0.000262f, -0.014210f, 0.002298f, 0.010653f, 0.002040f, -0.000188f, -0.001324f, -0.005659f, -0.006490f, 0.002921f, 0.004215f, -0.000487f, 0.002818f, 0.003287f, 0.012797f, 0.001482f, 0.005677f, 0.005983f, -0.006687f, 0.001466f, -0.001564f, -0.001832f, -0.000841f, 0.004725f, -0.000714f, -0.003185f, -0.005109f, -0.003048f, 0.001653f, -0.009080f, -0.006452f, 0.003852f, -0.007227f, 0.002385f, -0.011880f, -0.014219f, -0.003623f, 0.017628f, -0.004647f, -0.001020f, 0.010401f, 0.003502f, 0.000774f, 0.011137f, -0.001569f, 0.001262f, + -0.001405f, 0.003279f, 0.007150f, -0.002777f, -0.011113f, 0.007122f, -0.006478f, -0.012319f, -0.004914f, -0.003432f, -0.000012f, 0.004557f, 0.013362f, 0.000111f, -0.000134f, -0.005209f, -0.000496f, 0.007904f, -0.003729f, -0.004055f, 0.009529f, -0.008030f, -0.000620f, 0.004382f, -0.009747f, -0.001888f, -0.003380f, -0.003276f, 0.001087f, -0.005199f, -0.007354f, 0.000474f, 0.004561f, -0.002099f, -0.003175f, -0.004145f, -0.004212f, -0.000568f, 0.003039f, 0.001390f, -0.000416f, -0.001212f, -0.003278f, 0.000176f, -0.001098f, -0.003981f, -0.005886f, -0.005002f, -0.000070f, -0.000625f, 0.002378f, -0.003887f, -0.000188f, -0.000550f, 0.001893f, -0.000286f, 0.000813f, 0.027881f, 0.000927f, -0.001678f, -0.010555f, -0.006067f, 0.014720f, -0.005940f, 0.011496f, 0.009893f, -0.011203f, -0.001815f, 0.008626f, -0.006267f, -0.003014f, -0.002923f, -0.004050f, 0.001861f, 0.003109f, 0.000541f, 0.005397f, -0.002433f, 0.000866f, 0.002042f, -0.002231f, -0.005261f, -0.005476f, -0.006200f, 0.000520f, 0.007268f, 0.003185f, -0.006121f, 0.000601f, 0.002879f, 0.013871f, -0.004081f, 0.012421f, -0.011263f, 0.005142f, 0.008954f, + -0.005859f, -0.003575f, -0.011473f, 0.005457f, -0.000076f, -0.008055f, 0.008046f, -0.009992f, 0.011276f, -0.000589f, 0.015943f, 0.003681f, 0.001779f, 0.003873f, 0.006668f, 0.003559f, -0.005090f, 0.007871f, -0.001409f, -0.008345f, -0.013047f, -0.003540f, 0.005612f, -0.006539f, -0.004205f, 0.005140f, -0.007270f, 0.014396f, -0.013763f, -0.000040f, 0.009302f, -0.007865f, -0.003072f, -0.014472f, -0.001022f, -0.005654f, -0.003116f, -0.004327f, 0.012611f, 0.004961f, 0.001345f, 0.000542f, 0.010890f, 0.001097f, -0.000860f, 0.008699f, 0.007209f, 0.006530f, 0.013515f, -0.002842f, 0.001384f, -0.003761f, 0.003872f, 0.004459f, 0.000979f, 0.001325f, -0.002194f, -0.000063f, -0.003136f, -0.001576f, 0.000390f, 0.001245f, 0.002217f, -0.001030f, -0.000389f, 0.004348f, 0.002089f, -0.001586f, 0.008416f, -0.000427f, -0.001990f, -0.003393f, -0.002156f, 0.003083f, -0.002778f, 0.000315f, -0.000262f, -0.002895f, 0.001376f, 0.000921f, -0.000707f, 0.002140f, 0.002289f, -0.002191f, 0.002373f, 0.013457f, 0.023816f, -0.006949f, -0.010353f, 0.002739f, -0.004219f, 0.006576f, 0.021685f, 0.000145f, -0.004973f, 0.006889f, + 0.003747f, 0.006428f, 0.003909f, -0.011783f, 0.000462f, -0.010515f, 0.005890f, 0.005103f, 0.003125f, 0.019825f, -0.000923f, 0.014783f, -0.000363f, -0.000352f, 0.004523f, -0.000112f, 0.015574f, 0.002069f, 0.009818f, -0.003604f, 0.013291f, -0.005968f, 0.007102f, 0.026283f, -0.004266f, -0.006621f, 0.018553f, 0.003909f, 0.012099f, -0.000284f, -0.011484f, 0.003601f, -0.006611f, 0.007950f, -0.013842f, -0.001845f, -0.007177f, 0.007838f, -0.001142f, 0.001625f, 0.014346f, -0.006944f, -0.014350f, 0.004040f, -0.001205f, -0.000668f, 0.011675f, 0.002261f, 0.001695f, -0.005238f, -0.009425f, -0.010021f, -0.003316f, -0.008272f, -0.006218f, 0.008587f, -0.004279f, -0.000806f, -0.003095f, 0.001019f, 0.000086f, 0.007666f, 0.004832f, -0.008759f, -0.012614f, -0.002950f, 0.000449f, 0.003499f, -0.003407f, -0.003097f, 0.010448f, 0.005942f, 0.005170f, 0.001521f, -0.008426f, -0.003906f, 0.004633f, 0.000210f, -0.002749f, 0.003717f, -0.001117f, 0.002271f, -0.002703f, 0.000234f, -0.001526f, -0.004797f, -0.005651f, -0.001503f, -0.004993f, 0.001348f, -0.000693f, 0.000509f, 0.003518f, -0.000909f, -0.002648f, 0.004265f, + 0.000978f, 0.002725f, 0.001653f, 0.000279f, -0.001518f, 0.002113f, -0.000462f, -0.000474f, -0.000089f, -0.000453f, 0.000253f, -0.000865f, 0.001257f, 0.002707f, -0.003231f, 0.000906f, -0.003821f, 0.000612f, -0.001809f, 0.032670f, -0.017148f, 0.011464f, 0.000448f, 0.005651f, -0.007889f, -0.006183f, -0.003593f, 0.007103f, 0.009151f, 0.001944f, -0.005013f, -0.009499f, 0.004967f, 0.009031f, -0.001765f, 0.002834f, -0.004831f, 0.009845f, 0.003651f, -0.018508f, -0.006075f, 0.005953f, -0.001076f, -0.007870f, -0.000368f, 0.008414f, -0.006175f, 0.002852f, -0.012028f, 0.007016f, 0.015223f, -0.006306f, 0.016102f, 0.000539f, -0.002927f, 0.010715f, -0.000458f, 0.000819f, 0.009704f, -0.020956f, 0.003151f, 0.006341f, 0.008917f, 0.006013f, 0.006967f, -0.009411f, -0.007283f, -0.000340f, 0.003345f, -0.010192f, 0.003369f, 0.009882f, 0.008888f, 0.003278f, 0.027128f, -0.008557f, -0.003397f, -0.012292f, -0.005258f, -0.008063f, -0.011286f, 0.013964f, 0.005835f, 0.013638f, -0.002131f, -0.021859f, 0.012722f, -0.007726f, 0.006993f, 0.006250f, 0.003055f, 0.003755f, -0.017249f, 0.020430f, 0.004467f, -0.009491f, + -0.016552f, -0.010391f, -0.010368f, 0.001435f, 0.008458f, -0.007725f, 0.000648f, 0.005183f, 0.004444f, -0.000008f, -0.003590f, 0.000833f, -0.000359f, 0.003210f, 0.003443f, 0.003679f, 0.002578f, 0.002426f, 0.001278f, -0.006037f, -0.005397f, 0.000245f, -0.001981f, 0.001952f, 0.002460f, -0.002816f, 0.003924f, -0.000969f, 0.001435f, 0.003223f, 0.001404f, 0.002497f, 0.000753f, -0.006421f, -0.000439f, -0.000104f, 0.002264f, 0.001644f, 0.000782f, -0.001468f, -0.001720f, 0.003443f, -0.001008f, 0.008414f, 0.001461f, 0.003627f, -0.039157f, -0.032963f, -0.030391f, 0.006781f, 0.006242f, 0.002544f, 0.001364f, -0.002170f, -0.002367f, 0.000813f, -0.005184f, -0.011028f, -0.007666f, -0.019305f, -0.008528f, -0.009371f, 0.011537f, -0.014839f, -0.006569f, -0.008401f, 0.002490f, 0.000168f, -0.003851f, 0.004327f, -0.001289f, -0.015407f, -0.000313f, 0.014135f, 0.001826f, -0.013744f, -0.012149f, 0.005308f, -0.004914f, 0.011863f, 0.008342f, -0.012986f, 0.012817f, 0.020232f, -0.016964f, -0.017376f, -0.009293f, 0.006382f, 0.016084f, -0.011460f, -0.011850f, 0.006085f, -0.006843f, 0.001251f, -0.001525f, -0.001477f, + -0.018454f, 0.003524f, 0.011171f, -0.005737f, 0.006396f, -0.009177f, -0.010912f, -0.010833f, -0.005362f, -0.018661f, 0.031958f, -0.006777f, -0.002158f, 0.005580f, 0.003476f, 0.006807f, 0.004352f, 0.009970f, 0.004552f, 0.008656f, 0.019780f, -0.025531f, 0.017863f, -0.006091f, -0.004855f, -0.000878f, -0.028495f, -0.001305f, 0.008719f, 0.000790f, 0.001123f, 0.007961f, 0.002913f, -0.000707f, 0.004737f, -0.009634f, 0.011153f, -0.004033f, -0.006494f, 0.006054f, -0.003950f, -0.003564f, 0.001141f, 0.004941f, -0.003814f, -0.006049f, 0.002057f, 0.004796f, 0.000188f, -0.002056f, -0.005273f, -0.002900f, 0.000727f, -0.007456f, -0.004982f, -0.002603f, 0.003555f, -0.001688f, 0.000267f, 0.003929f, 0.000067f, -0.007428f, -0.001692f, -0.006326f, -0.005625f, -0.005307f, -0.003276f, -0.005863f, 0.004963f, -0.001754f, 0.000326f, 0.010644f, -0.002124f, -0.003248f, -0.002881f, 0.005756f, 0.001444f, -0.001984f, -0.038506f, 0.029514f, 0.007820f, 0.006433f, -0.007129f, 0.028888f, -0.004547f, 0.013610f, -0.000041f, 0.012245f, -0.017194f, 0.006804f, 0.006746f, 0.002629f, -0.008459f, 0.025713f, -0.006972f, 0.007836f, + 0.005917f, 0.026686f, -0.018007f, -0.001175f, 0.007425f, -0.004645f, -0.013213f, 0.007970f, -0.012428f, 0.003210f, 0.003405f, -0.014601f, 0.005651f, 0.001190f, 0.000736f, 0.029349f, 0.018356f, -0.002465f, -0.012010f, -0.009395f, 0.006554f, -0.001570f, -0.017602f, 0.004988f, -0.001546f, 0.005176f, 0.013259f, 0.019517f, -0.013406f, 0.013268f, 0.006651f, -0.008812f, 0.006348f, 0.005097f, -0.013865f, -0.007515f, -0.008692f, 0.013967f, -0.015111f, -0.012850f, -0.034637f, -0.025397f, 0.007038f, -0.004784f, -0.004981f, -0.013361f, -0.026875f, 0.010292f, 0.002072f, -0.000813f, 0.013168f, 0.011194f, 0.015837f, 0.009383f, 0.003833f, -0.000475f, 0.002535f, 0.017877f, -0.013219f, 0.024488f, -0.009009f, -0.006968f, -0.022386f, 0.003551f, -0.004109f, -0.011433f, -0.002020f, 0.002708f, -0.005630f, 0.006504f, -0.002703f, 0.000265f, -0.002752f, -0.000909f, -0.002363f, -0.000561f, 0.004049f, 0.006400f, 0.000519f, 0.005281f, -0.005969f, -0.004264f, -0.003024f, 0.002189f, 0.004611f, -0.006107f, -0.002288f, -0.002857f, 0.000897f, -0.003417f, 0.002745f, -0.000634f, 0.002390f, 0.004031f, 0.000068f, -0.006510f, + 0.009184f, 0.008799f, 0.003678f, 0.000040f, -0.003961f, -0.000271f, -0.002062f, -0.000980f, 0.010387f, -0.046543f, 0.043063f, 0.030934f, -0.012615f, -0.010650f, 0.011629f, 0.000106f, 0.001060f, 0.020552f, 0.014547f, 0.000599f, -0.003025f, 0.008278f, -0.004774f, -0.002972f, 0.005803f, -0.009209f, 0.011573f, 0.007932f, -0.009611f, 0.012476f, -0.001335f, 0.003367f, -0.000900f, -0.020510f, -0.001136f, 0.014936f, 0.015486f, 0.006079f, 0.006640f, 0.008304f, -0.009546f, -0.012083f, 0.005232f, 0.009308f, -0.000377f, -0.004660f, -0.010528f, 0.004388f, -0.003079f, 0.013194f, 0.015538f, -0.001725f, 0.017910f, -0.009300f, 0.019959f, 0.010817f, 0.024053f, 0.001747f, 0.003526f, -0.006909f, -0.009806f, -0.001849f, 0.018466f, 0.030141f, 0.001844f, 0.022978f, -0.009882f, -0.022014f, 0.002967f, 0.008335f, -0.019237f, 0.020089f, -0.006614f, 0.007114f, -0.042402f, -0.018227f, -0.000250f, -0.010174f, 0.008242f, 0.014053f, 0.029496f, 0.006164f, 0.000251f, -0.014409f, -0.025576f, 0.006637f, 0.001137f, -0.021463f, 0.008846f, 0.004682f, -0.015475f, -0.004377f, 0.003747f, 0.017016f, 0.000426f, 0.005167f, + 0.005240f, 0.008885f, 0.007312f, -0.014341f, 0.005163f, -0.000221f, -0.002813f, 0.000349f, -0.000661f, -0.002270f, 0.006162f, 0.005820f, -0.005944f, -0.002432f, -0.000033f, 0.004168f, -0.002245f, 0.005930f, 0.000932f, 0.004332f, 0.003883f, -0.004642f, 0.003585f, 0.004344f, 0.011140f, 0.001051f, 0.006390f, 0.006981f, 0.001772f, 0.008189f, 0.003017f, 0.004247f, 0.001934f, 0.001075f, 0.003014f, 0.009615f, -0.004024f, -0.008767f, 0.002218f, 0.011461f, -0.018087f, 0.031060f, -0.013327f, 0.003734f, 0.023218f, 0.024028f, -0.001774f, -0.013806f, -0.007404f, -0.007321f, 0.001782f, -0.017847f, -0.014157f, 0.014949f, 0.003757f, 0.009611f, 0.011714f, 0.013844f, -0.006189f, 0.008981f, -0.003393f, 0.010754f, 0.044796f, 0.010551f, -0.021592f, 0.020972f, 0.024086f, 0.001050f, -0.003971f, 0.001273f, -0.011912f, -0.016423f, -0.008594f, 0.024561f, 0.016498f, 0.013601f, 0.020892f, 0.004235f, -0.003596f, -0.009603f, -0.026529f, 0.012296f, 0.013997f, 0.007770f, -0.004202f, -0.003285f, -0.009151f, 0.003691f, 0.021601f, 0.014884f, -0.024747f, 0.016349f, -0.020864f, 0.021999f, 0.004698f, 0.008236f, + 0.009837f, -0.003681f, -0.011792f, -0.003589f, 0.008858f, 0.038062f, -0.006059f, 0.019012f, -0.008453f, -0.017213f, 0.020212f, 0.018192f, 0.004619f, 0.004161f, 0.018330f, 0.006410f, 0.001082f, -0.002091f, -0.011651f, -0.003595f, -0.017093f, 0.005490f, -0.013270f, -0.006646f, 0.026978f, -0.001429f, 0.000736f, 0.000533f, 0.012446f, -0.004068f, 0.003716f, 0.008233f, 0.012534f, 0.013544f, 0.011300f, 0.004423f, 0.005939f, 0.006191f, 0.011355f, -0.001759f, -0.009058f, 0.012826f, 0.005103f, 0.007070f, 0.007797f, 0.000325f, -0.000899f, 0.000799f, -0.005652f, 0.003521f, 0.012174f, 0.001363f, 0.001569f, -0.002565f, -0.004513f, 0.010159f, 0.010941f, 0.002118f, 0.019389f, -0.002410f, 0.008372f, 0.014829f, 0.000958f, 0.004114f, -0.002137f, -0.005684f, 0.001540f, 0.003219f, 0.005382f, 0.010679f, 0.004673f, 0.008000f, 0.002989f, 0.001916f, 0.011139f, 0.015842f, -0.007995f, 0.016101f, 0.020569f, -0.023590f, 0.015888f, 0.009194f, -0.005702f, 0.001471f, 0.010931f, -0.009872f, -0.020839f, 0.031305f, 0.006767f, 0.005995f, 0.005851f, 0.018582f, 0.005416f, -0.018700f, 0.019979f, -0.026817f, + -0.031329f, 0.002786f, 0.003770f, -0.017300f, -0.005670f, -0.051240f, -0.036280f, -0.027322f, -0.009231f, -0.028109f, -0.013841f, 0.010662f, -0.025269f, 0.017734f, 0.016312f, -0.020582f, 0.026577f, 0.014178f, -0.005198f, -0.002674f, -0.013752f, 0.000597f, -0.024558f, 0.053895f, 0.015761f, 0.008399f, -0.026899f, 0.006553f, -0.008304f, 0.035740f, -0.007187f, -0.000931f, -0.032617f, 0.031921f, 0.002138f, 0.012502f, 0.010362f, 0.018617f, 0.010554f, -0.007228f, 0.010675f, -0.015896f, 0.016138f, -0.005834f, 0.009513f, -0.025446f, 0.057634f, 0.008792f, -0.026716f, 0.014501f, 0.016836f, 0.013156f, 0.019619f, 0.016739f, -0.025945f, 0.020693f, -0.000508f, 0.016687f, -0.013124f, 0.004960f, -0.033386f, 0.014047f, 0.014565f, 0.004226f, -0.008006f, -0.025260f, -0.001625f, 0.017291f, -0.022409f, -0.003061f, -0.002635f, -0.000108f, 0.006874f, 0.005203f, -0.005037f, 0.009716f, -0.000548f, -0.004763f, 0.007699f, 0.005906f, -0.006998f, -0.005661f, -0.014626f, -0.000918f, -0.013605f, 0.008185f, 0.002309f, 0.001367f, 0.010743f, 0.016524f, 0.010502f, 0.007774f, 0.005280f, -0.005879f, -0.002271f, 0.000170f, + -0.010609f, -0.008791f, -0.002410f, -0.003561f, 0.005787f, 0.013419f, 0.004273f, 0.008488f, -0.001893f, -0.000166f, -0.041657f, 0.011692f, -0.005702f, -0.004048f, 0.024737f, -0.004543f, -0.004211f, 0.002408f, 0.022148f, -0.005758f, 0.012920f, -0.010804f, -0.012743f, -0.016284f, -0.020652f, 0.035894f, 0.018715f, 0.013032f, -0.011267f, -0.032852f, -0.040324f, 0.019431f, 0.013384f, -0.014296f, 0.009617f, -0.009709f, 0.000967f, 0.035729f, 0.015605f, -0.010103f, 0.019268f, -0.006480f, 0.010002f, -0.011872f, 0.012095f, -0.026348f, -0.038760f, -0.015037f, -0.017287f, -0.002911f, 0.045373f, -0.036900f, 0.021361f, 0.012303f, 0.009278f, -0.008127f, 0.017864f, 0.008010f, -0.035452f, -0.045063f, -0.016045f, -0.020531f, 0.051075f, 0.037064f, -0.012363f, -0.022732f, -0.001893f, -0.023327f, -0.004933f, 0.037222f, 0.034435f, 0.019582f, -0.030365f, 0.006612f, -0.023719f, 0.037322f, 0.017704f, -0.003885f, 0.000133f, 0.012606f, -0.022015f, 0.005011f, 0.032882f, 0.017924f, -0.029743f, 0.032381f, -0.016493f, 0.019380f, 0.051307f, 0.019658f, -0.012081f, -0.015121f, 0.043910f, 0.004918f, -0.002676f, -0.019869f, + 0.007736f, -0.009323f, 0.002825f, -0.005787f, -0.001037f, -0.001215f, -0.021872f, 0.002849f, -0.002725f, -0.006144f, 0.009617f, -0.001603f, -0.007739f, 0.001490f, -0.004601f, 0.001315f, -0.005711f, -0.008418f, 0.007577f, -0.009341f, -0.006045f, 0.004581f, 0.011414f, -0.000461f, 0.008059f, 0.006760f, -0.001523f, 0.000079f, -0.011002f, 0.001623f, 0.003718f, -0.009198f, 0.012486f, 0.006286f, -0.007628f, -0.004991f, -0.005328f, -0.002245f, -0.012287f, 0.007392f, 0.011633f, 0.000666f, -0.009152f, -0.005176f, 0.006038f, -0.002517f, 0.005803f, 0.008348f, 0.000584f, 0.003168f, -0.033096f, -0.012958f, 0.055449f, 0.025678f, 0.031958f, 0.007806f, -0.046051f, 0.014246f, -0.037360f, 0.024591f, 0.069300f, 0.024647f, 0.043485f, -0.019558f, 0.012566f, 0.020210f, -0.002072f, 0.005227f, -0.017761f, 0.004548f, 0.027262f, 0.001457f, -0.007249f, -0.024581f, 0.013559f, 0.010183f, -0.025050f, 0.013099f, -0.009502f, 0.019208f, 0.027406f, 0.029142f, 0.035100f, 0.003552f, -0.027188f, 0.007391f, 0.016595f, -0.000273f, 0.047784f, 0.004238f, -0.054882f, -0.034414f, 0.015643f, -0.013933f, -0.064774f, 0.002391f, + 0.027640f, 0.010233f, 0.002919f, -0.005854f, 0.034153f, -0.026774f, -0.033226f, -0.006379f, -0.011882f, -0.032320f, -0.001774f, 0.002414f, -0.018828f, -0.027821f, -0.017045f, 0.001422f, 0.004057f, -0.040207f, 0.012045f, -0.016733f, 0.009811f, 0.046524f, -0.006324f, -0.016101f, 0.032407f, -0.005576f, 0.026986f, -0.025479f, 0.017435f, 0.001200f, -0.029533f, -0.032939f, 0.059584f, 0.005862f, 0.008068f, 0.002889f, 0.000086f, 0.059785f, 0.048817f, 0.015491f, -0.004468f, 0.023489f, -0.011446f, 0.008068f, 0.013986f, -0.002504f, 0.018373f, 0.007970f, 0.005374f, -0.027123f, 0.016218f, 0.008772f, -0.001496f, 0.002561f, -0.009179f, 0.007927f, 0.021107f, -0.003394f, -0.006807f, -0.011599f, -0.012729f, 0.012776f, 0.014990f, 0.000914f, 0.000105f, -0.011419f, -0.012330f, 0.002322f, -0.017724f, 0.002638f, -0.005864f, 0.018745f, 0.006688f, 0.000924f, -0.011692f, -0.020426f, -0.004618f, -0.009846f, -0.013778f, 0.008113f, 0.008349f, 0.016108f, 0.046884f, 0.006094f, -0.064207f, -0.029042f, 0.039844f, -0.057425f, 0.032639f, -0.054345f, 0.004422f, -0.008677f, -0.078600f, -0.010354f, 0.035386f, 0.072348f, + 0.023046f, -0.010506f, 0.017568f, -0.027743f, -0.009301f, -0.063107f, -0.003508f, -0.042861f, -0.006171f, -0.009381f, -0.029624f, -0.031431f, -0.010438f, 0.018071f, -0.028471f, 0.019627f, 0.036133f, -0.037233f, 0.013503f, 0.012030f, 0.006396f, -0.039624f, -0.006050f, -0.000406f, -0.041512f, 0.010831f, 0.052879f, -0.004010f, -0.076767f, 0.027194f, -0.046367f, -0.118365f, 0.033383f, -0.048948f, -0.060876f, 0.003249f, -0.027876f, 0.008456f, 0.020927f, -0.011659f, 0.031171f, -0.026048f, 0.027229f, -0.021491f, -0.052975f, 0.000318f, 0.037907f, 0.036348f, -0.068837f, 0.010135f, -0.008233f, -0.051237f, -0.013706f, -0.012689f, 0.089172f, 0.044527f, 0.052309f, 0.023840f, 0.022750f, 0.055193f, 0.079277f, -0.018090f, -0.037560f, -0.040979f, 0.007197f, -0.050914f, -0.015667f, 0.026370f, 0.042827f, 0.006026f, 0.003890f, 0.037193f, -0.008609f, -0.021094f, -0.028706f, 0.022411f, 0.025413f, 0.024972f, 0.005830f, 0.028646f, 0.011878f, -0.017559f, -0.003901f, -0.017007f, 0.026123f, 0.004225f, -0.003054f, -0.029292f, 0.008889f, 0.023484f, 0.002578f, 0.000449f, 0.022941f, -0.018306f, -0.012248f, 0.012702f, + 0.001295f, -0.009236f, -0.017636f, -0.005627f, 0.026995f, -0.001300f, -0.059768f, -0.005546f, -0.001478f, -0.013688f, -0.011654f, -0.015781f, -0.009676f, 0.013036f, 0.011657f, 0.006946f, 0.004138f, -0.009814f, -0.012399f, 0.103780f, 0.112191f, -0.065862f, -0.026093f, 0.050089f, -0.022725f, 0.020204f, -0.031256f, 0.009349f, -0.032114f, -0.060152f, 0.081958f, 0.011949f, 0.025738f, 0.021078f, 0.007675f, 0.010765f, 0.002463f, 0.016608f, 0.020365f, -0.058206f, -0.047985f, -0.042041f, -0.039690f, -0.029734f, -0.018739f, -0.015533f, -0.031205f, -0.017680f, -0.026446f, 0.030073f, 0.022868f, 0.011563f, -0.014573f, 0.006110f, -0.061585f, -0.030944f, 0.016754f, -0.055970f, -0.005173f, 0.027242f, 0.048321f, 0.007082f, 0.009366f, -0.020672f, -0.036141f, -0.042630f, 0.034249f, -0.004635f, 0.033908f, -0.119527f, 0.007468f, -0.013897f, 0.013764f, 0.073086f, 0.008979f, 0.012199f, 0.008250f, -0.021407f, -0.024615f, 0.000673f, -0.004856f, -0.067104f, 0.014404f, -0.024610f, 0.060200f, 0.004017f, -0.065944f, -0.089771f, -0.055775f, -0.011332f, -0.063039f, -0.061734f, -0.038299f, 0.043545f, -0.011273f, -0.042514f, + -0.057324f, 0.047915f, -0.006157f, 0.028355f, -0.032248f, 0.017401f, 0.047246f, -0.031367f, -0.045481f, -0.019103f, -0.023480f, 0.049411f, 0.010422f, -0.021661f, 0.019478f, 0.014500f, 0.043006f, 0.026689f, 0.012528f, -0.038176f, -0.038043f, -0.008361f, 0.004477f, -0.009985f, 0.006902f, 0.026488f, -0.005771f, -0.002216f, -0.019303f, -0.014151f, -0.010515f, -0.020093f, -0.003762f, 0.008273f, 0.012187f, 0.062456f, 0.004212f, -0.015637f, -0.004918f, 0.008376f, 0.019572f, -0.001107f, 0.030963f, 0.012985f, 0.071417f, 0.011084f, -0.000471f, 0.002641f, 0.013130f, -0.019763f, -0.030702f, 0.116891f, -0.067756f, 0.044390f, 0.082837f, -0.039682f, 0.011799f, 0.066207f, -0.083665f, 0.003415f, 0.009497f, 0.040835f, -0.093836f, 0.005307f, 0.006450f, 0.030981f, -0.040877f, 0.000612f, 0.016959f, -0.055167f, 0.008353f, -0.004102f, -0.010199f, 0.030525f, -0.009010f, -0.008239f, 0.012991f, -0.007142f, -0.009270f, 0.029950f, -0.027755f, 0.008337f, -0.011359f, 0.007737f, -0.017734f, -0.009788f, -0.021658f, 0.000430f, 0.004375f, 0.058523f, 0.019552f, 0.028507f, -0.005769f, 0.000794f, 0.043422f, -0.001696f, + -0.016239f, 0.024416f, 0.018029f, -0.019367f, -0.056529f, 0.052080f, -0.056339f, 0.009397f, 0.027256f, 0.035762f, -0.055441f, 0.059544f, 0.095576f, -0.052007f, -0.096842f, 0.129985f, 0.046038f, -0.063933f, 0.029804f, -0.061536f, -0.076466f, -0.038021f, -0.013848f, -0.079860f, 0.064969f, -0.111395f, 0.033683f, 0.053460f, -0.044127f, -0.148978f, 0.141279f, -0.024337f, -0.036206f, 0.094244f, -0.093556f, 0.048653f, 0.080434f, -0.023846f, -0.021838f, 0.025145f, 0.027748f, -0.014835f, 0.010123f, 0.008462f, 0.025628f, -0.012318f, -0.009067f, 0.028716f, 0.000118f, 0.006626f, -0.002830f, 0.005597f, 0.022966f, 0.017105f, -0.002904f, -0.020080f, 0.033571f, 0.036365f, -0.006642f, -0.030767f, -0.003105f, 0.015577f, 0.003504f, 0.022524f, 0.000301f, 0.019751f, 0.008444f, 0.028841f, 0.021302f, 0.024284f, -0.035421f, 0.009471f, -0.000495f, 0.001773f, 0.000333f, -0.021404f, -0.038278f, 0.056648f, -0.008897f, -0.051707f, 0.019119f, 0.012994f, 0.005632f, -0.008202f, -0.035775f, -0.028384f, 0.064856f, -0.042913f, -0.034329f, -0.068453f, -0.031562f, 0.040546f, 0.031449f, -0.018329f, -0.022836f, 0.021553f, + 0.053785f, -0.023242f, 0.040555f, 0.048567f, -0.034619f, -0.005056f, 0.029638f, -0.007796f, -0.000268f, -0.009929f, 0.002475f, -0.049811f, 0.013496f, -0.011128f, 0.001555f, 0.011871f, -0.010128f, 0.010152f, -0.020759f, -0.041741f, -0.019832f, -0.072600f, 0.008940f, -0.000264f, -0.010944f, 0.013342f, 0.006782f, -0.004831f, -0.016650f, 0.029036f, 0.045922f, -0.048495f, 0.070629f, -0.008083f, 0.009325f, 0.010149f, 0.062421f, 0.028597f, 0.045646f, -0.057535f, -0.014360f, -0.010875f, 0.081412f, -0.076183f, -0.026106f, 0.037092f, -0.002855f, -0.087958f, 0.005842f, -0.018225f, -0.015133f, 0.040012f, 0.043855f, 0.002989f, -0.033100f, 0.070894f, -0.030010f, 0.118293f, 0.001464f, -0.055026f, -0.000173f, -0.009633f, -0.062250f, 0.118851f, 0.023810f, -0.017833f, -0.140904f, -0.070461f, 0.039584f, -0.051923f, -0.046739f, 0.055054f, -0.206495f, 0.005119f, 0.040599f, 0.029781f, -0.016773f, 0.057967f, -0.035590f, -0.004689f, 0.000205f, 0.030156f, -0.008653f, 0.006099f, 0.041078f, -0.002949f, -0.010428f, -0.013095f, -0.014850f, -0.000727f, 0.004567f, -0.002813f, -0.006271f, 0.026511f, -0.037259f, -0.008417f, + 0.004394f, 0.006145f, -0.022327f, -0.037778f, -0.009624f, -0.011638f, -0.005420f, -0.003199f, 0.007285f, -0.041893f, 0.003203f, 0.031687f, -0.019781f, 0.024223f, 0.018600f, -0.018275f, 0.001139f, -0.013384f, 0.005289f, 0.008898f, -0.019496f, 0.054795f, -0.026602f, -0.024572f, -0.031716f, 0.026523f, 0.035981f, 0.021964f, 0.089422f, -0.017183f, 0.020280f, -0.008527f, -0.046106f, 0.023151f, -0.029377f, -0.016536f, 0.018460f, 0.040129f, -0.042267f, 0.046233f, 0.005334f, -0.002298f, 0.094225f, -0.019102f, -0.010446f, 0.070640f, -0.045124f, 0.062407f, 0.026937f, -0.014752f, 0.024897f, 0.026308f, 0.058214f, 0.060541f, 0.017597f, -0.049094f, 0.102828f, -0.103109f, 0.003490f, 0.093891f, -0.050508f, 0.020821f, -0.011131f, -0.012127f, -0.108727f, 0.073874f, 0.019541f, 0.032815f, 0.034638f, -0.022554f, -0.054121f, -0.040664f, -0.032979f, 0.005186f, 0.103325f, 0.000734f, 0.081043f, -0.026926f, -0.062368f, 0.003464f, 0.023307f, -0.051195f, 0.083163f, 0.033860f, 0.040868f, 0.082162f, 0.053184f, -0.087844f, 0.033523f, -0.126015f, -0.155715f, 0.003292f, 0.131129f, 0.082261f, 0.010611f, -0.092737f, + -0.331353f, -0.060897f, 0.102463f, 0.117109f, 0.165935f, -0.008406f, -0.210432f, -0.118674f, -0.109622f, 0.168271f, 0.128602f, -0.023193f, -0.084090f, -0.049178f, -0.102261f, -0.013028f, 0.131747f, -0.012759f, 0.030820f, 0.022028f, -0.021603f, -0.047700f, 0.071803f, -0.029111f, 0.040059f, 0.029396f, -0.002724f, -0.066651f, 0.091438f, -0.036028f, -0.017264f, 0.026506f, 0.023727f, -0.049459f, 0.000826f, -0.015478f, -0.018671f, 0.006339f, -0.001778f, 0.036650f, -0.065392f, 0.034693f, -0.078700f, -0.012400f, -0.013120f, 0.093613f, 0.002789f, 0.025436f, -0.057107f, 0.029907f, -0.021469f, 0.041401f, 0.049469f, -0.023872f, -0.056800f, 0.020523f, 0.014720f, 0.047938f, 0.013443f, -0.081234f, 0.068225f, -0.051076f, -0.008836f, -0.033073f, 0.031710f, -0.037152f, -0.001581f, -0.003907f, -0.010079f, 0.007624f, 0.034937f, -0.036903f, 0.016238f, 0.002897f, -0.008544f, 0.000515f, 0.024637f, -0.031195f, -0.008534f, -0.004572f, 0.051169f, -0.051818f, 0.013742f, -0.022709f, 0.033907f, -0.037831f, -0.010763f, 0.012973f, -0.007329f, 0.007183f, -0.024476f, -0.004328f, 0.022129f, -0.006721f, 0.008548f, 0.007024f, + 0.004628f, 0.027689f, -0.025652f, 0.017376f, 0.019960f, 0.024722f, -0.003476f, -0.057329f, 0.007339f, 0.006830f, 0.023347f, 0.021353f, -0.004188f, 0.005744f, -0.009676f, -0.026044f, -0.004457f, 0.011982f, -0.004936f, 0.034862f, -0.028378f, -0.009351f, -0.056605f, 0.016934f, 0.006087f, -0.008884f, 0.012612f, 0.011083f, -0.000848f, -0.029181f, 0.009072f, 0.028601f, -0.005599f, -0.004115f, 0.011182f, -0.011473f, 0.021280f, -0.013102f, 0.003574f, -0.026774f, 0.012646f, 0.005132f, -0.004321f, -0.007282f, 0.015481f, -0.007370f, -0.011331f, -0.016112f, 0.016841f, -0.000610f, -0.008555f, -0.003542f, 0.016753f, -0.006573f, 0.007361f, -0.009239f, -0.005702f, -0.000785f, 0.000518f, -0.000077f, -0.009346f, 0.001117f, 0.000193f, -0.007687f, 0.007870f, -0.007285f, 0.021886f, 0.003611f, 0.002841f, -0.030321f, 0.008485f, -0.000478f, -0.012262f, 0.013934f, 0.025689f, -0.018560f, -0.004333f, -0.000559f, -0.013584f, 0.020618f, -0.003530f, 0.003092f, -0.013625f, 0.007236f, -0.003024f, 0.002700f, -0.008762f, -0.046267f, 0.112342f, 0.030662f, 0.027794f, -0.014797f, -0.035904f, -0.034531f, 0.009863f, 0.021860f, + 0.003483f, -0.001222f, -0.000078f, -0.016343f, -0.002945f, 0.007949f, -0.004310f, 0.003461f, -0.001719f, -0.016367f, -0.000820f, 0.008210f, 0.012860f, -0.011367f, 0.003182f, 0.008291f, -0.016348f, 0.026957f, -0.016292f, -0.014164f, -0.014121f, 0.003754f, 0.007887f, 0.012553f, -0.013587f, 0.017484f, -0.025047f, 0.016699f, 0.014840f, -0.010952f, -0.001119f, -0.000710f, -0.002862f, 0.013039f, -0.013923f, 0.004158f, -0.004439f, -0.017946f, 0.025578f, -0.014186f, -0.000467f, -0.010483f, -0.003294f, 0.017918f, -0.023248f, 0.009570f, 0.006462f, -0.010058f, 0.008557f, -0.019743f, 0.005768f, 0.008363f, -0.014736f, 0.000463f, 0.007929f, -0.013527f, 0.013697f, -0.018713f, 0.005228f, 0.019406f, -0.028237f, 0.008243f, -0.010791f, 0.002068f, 0.011091f, -0.008311f, -0.004324f, 0.002120f, 0.002411f, -0.001561f, 0.007922f, -0.005901f, -0.005215f, 0.004003f, -0.004665f, 0.002673f, -0.001808f, 0.003474f, 0.003111f, -0.004418f, 0.002264f, -0.000719f, 0.004079f, -0.003614f, -0.001088f, 0.002921f, 0.000057f, -0.002019f, -0.006600f, 0.004317f, 0.004315f, -0.000817f, -0.004580f, 0.004497f, -0.000269f, -0.001866f, + 0.004408f, -0.009172f, -0.001954f, 0.005468f, -0.006800f, 0.009992f, -0.006074f, 0.000650f, 0.016205f, -0.004538f, 0.011652f, -0.006465f, -0.000725f, 0.013143f, -0.009148f, 0.016812f, -0.086799f, -0.203621f, 0.057606f, 0.199284f, 0.137047f, 0.216704f, -0.120684f, -0.128460f, -0.175157f, -0.202756f, 0.004333f, 0.156398f, 0.161585f, 0.168699f, 0.033103f, -0.055778f, -0.110656f, -0.158816f, -0.134609f, 0.010461f, 0.104533f, 0.123993f, 0.111566f, 0.026676f, -0.030854f, -0.019282f, -0.087150f, -0.097480f, -0.041133f, -0.002680f, 0.037468f, 0.082153f, 0.040123f, 0.029783f, 0.041143f, -0.020581f, -0.048898f, -0.008031f, -0.078162f, -0.036686f, 0.000841f, 0.012375f, 0.059536f, 0.069317f, 0.006134f, -0.010538f, -0.006534f, -0.051205f, -0.013885f, -0.000749f, -0.010668f, 0.017683f, 0.034247f, -0.007341f, -0.002739f, -0.013484f, -0.021418f, 0.004355f, 0.002093f, -0.002371f, 0.038644f, 0.026140f, 0.009649f, -0.001021f, -0.036487f, -0.052758f, -0.041715f, 0.002974f, 0.039216f, 0.033650f, 0.044185f, 0.005977f, 0.001126f, 0.010018f, -0.054891f, -0.031266f, -0.025825f, -0.004728f, 0.042075f, 0.009484f, + 0.014100f, 0.039239f, -0.022692f, -0.033014f, -0.007702f, -0.005667f, 0.012151f, 0.014123f, 0.004404f, 0.007869f, 0.003437f, -0.020280f, -0.021001f, -0.005151f, -0.000031f, 0.015050f, 0.021805f, 0.007129f, -0.003108f, -0.004773f, -0.006236f, 0.005436f, -0.006150f, -0.025775f, -0.004065f, 0.006039f, 0.011907f, 0.025603f, 0.006221f, -0.005345f, -0.012340f, -0.021106f, -0.004632f, 0.002098f, 0.006851f, 0.012031f, 0.015044f, 0.011841f, -0.006100f, -0.018287f, -0.019268f, -0.016821f, -0.001943f, 0.008340f, 0.009243f, 0.024745f, 0.025411f, 0.012378f, -0.005501f, -0.031272f, -0.033072f, -0.015336f, -0.011594f, 0.011675f, 0.030861f, 0.022869f, 0.009893f, 0.000132f, -0.002447f, -0.004014f, -0.009422f, -0.015502f, -0.014897f, -0.006334f, 0.002246f, 0.006532f, 0.010442f, 0.015147f, 0.014493f, 0.005686f, -0.005294f, -0.011670f, -0.012142f, -0.007793f, -0.001710f, 0.001194f, 0.001018f, 0.000329f, 0.000141f}, + {-0.008192f, -0.005439f, 0.002300f, -0.002093f, -0.002582f, -0.003986f, 0.000979f, 0.007943f, -0.002541f, 0.000040f, 0.000817f, 0.013597f, -0.000262f, 0.002610f, -0.005584f, -0.003874f, -0.001383f, -0.003648f, -0.003925f, -0.003679f, -0.002502f, -0.003495f, -0.004624f, 0.003905f, 0.006463f, -0.003537f, 0.000987f, 0.000275f, -0.007326f, 0.000220f, -0.000159f, -0.005188f, 0.009817f, -0.005001f, 0.005583f, 0.002142f, -0.001503f, -0.005617f, -0.005201f, 0.005063f, -0.002625f, -0.001886f, -0.007752f, -0.001960f, -0.000719f, -0.003642f, 0.010351f, -0.002245f, -0.000651f, 0.004342f, -0.000755f, -0.008609f, -0.004432f, -0.007587f, -0.005108f, 0.011817f, -0.003318f, 0.013140f, -0.000056f, -0.000526f, -0.002382f, 0.001546f, 0.000549f, -0.007785f, -0.008320f, 0.006076f, 0.000687f, 0.004137f, -0.000561f, 0.004815f, 0.002941f, -0.007542f, -0.000053f, 0.002538f, 0.004075f, 0.000009f, 0.003439f, 0.006290f, -0.008361f, 0.002226f, 0.002146f, -0.004162f, -0.000005f, 0.001922f, 0.005994f, 0.003972f, -0.004184f, -0.001243f, -0.000231f, 0.001426f, 0.001904f, 0.001475f, 0.001566f, -0.001075f, 0.000812f, -0.002252f, + -0.001461f, -0.000011f, 0.003051f, 0.001367f, -0.000094f, -0.000196f, -0.002074f, 0.001240f, -0.000162f, -0.000684f, -0.000180f, 0.001107f, 0.000455f, 0.000802f, 0.001966f, -0.000630f, 0.000863f, 0.002393f, 0.017987f, -0.001348f, -0.002116f, -0.004543f, -0.009756f, -0.012047f, -0.011018f, 0.001286f, 0.009916f, 0.003505f, 0.013222f, 0.004579f, -0.005927f, 0.001645f, -0.015628f, -0.013228f, 0.006221f, -0.004614f, 0.008742f, -0.000763f, -0.006918f, -0.003420f, 0.017312f, 0.003905f, 0.007348f, -0.000282f, 0.005638f, -0.002525f, -0.002072f, 0.003468f, -0.002330f, -0.007490f, -0.000507f, 0.002810f, -0.000830f, -0.000403f, 0.011030f, 0.006842f, -0.011755f, 0.000319f, -0.007439f, 0.012489f, 0.007405f, 0.000569f, -0.004370f, -0.004495f, 0.005774f, 0.003242f, 0.009333f, -0.008572f, 0.014786f, 0.018129f, -0.004931f, 0.017665f, 0.000025f, 0.009281f, 0.005789f, -0.003209f, 0.003103f, 0.014168f, -0.001602f, -0.009480f, 0.008210f, 0.002682f, -0.000055f, -0.001048f, -0.001627f, 0.000653f, 0.008290f, -0.005246f, 0.003044f, 0.002258f, 0.004413f, -0.006783f, 0.007818f, 0.001847f, -0.000636f, 0.002505f, + 0.001180f, 0.000802f, -0.000281f, 0.001803f, 0.004615f, -0.003174f, 0.001890f, 0.001258f, 0.001969f, -0.002894f, 0.000256f, -0.004672f, 0.000868f, 0.002261f, -0.002680f, -0.001699f, 0.000673f, 0.001346f, 0.001581f, 0.000471f, 0.001443f, 0.000040f, 0.000069f, -0.015575f, -0.012184f, 0.003783f, -0.006911f, 0.004871f, -0.008628f, -0.012251f, -0.011317f, 0.001534f, -0.008460f, 0.007678f, 0.005633f, -0.010879f, -0.002254f, 0.004369f, 0.001013f, 0.005382f, -0.003215f, 0.005569f, 0.006896f, -0.009664f, 0.003061f, 0.003123f, -0.007742f, 0.004496f, 0.000780f, -0.009160f, 0.006754f, 0.006481f, -0.003253f, 0.007085f, 0.001013f, 0.005773f, 0.005261f, 0.002155f, -0.003436f, -0.000901f, -0.010936f, -0.003345f, -0.005439f, 0.005704f, 0.006055f, 0.002340f, -0.017514f, 0.003293f, 0.007377f, -0.004011f, 0.012310f, -0.010121f, -0.013357f, 0.000964f, -0.003963f, 0.004217f, -0.009535f, 0.017334f, -0.000913f, -0.005876f, 0.001705f, 0.000160f, 0.009905f, -0.000623f, -0.005773f, -0.000444f, -0.003918f, -0.005405f, -0.006762f, 0.003120f, -0.012226f, 0.001193f, 0.000452f, 0.003527f, 0.008179f, 0.002623f, + 0.005822f, 0.008942f, -0.006155f, -0.001156f, 0.002020f, -0.007778f, 0.005274f, -0.002699f, 0.004496f, 0.003507f, -0.002380f, -0.001897f, 0.006616f, -0.002221f, -0.006016f, 0.000776f, -0.000631f, -0.000305f, -0.003242f, 0.004730f, -0.003702f, 0.001747f, 0.001811f, 0.002368f, -0.000950f, -0.001088f, 0.000301f, -0.001937f, 0.000733f, -0.001357f, 0.000126f, -0.000878f, -0.001806f, 0.002264f, -0.000914f, 0.000422f, -0.000315f, 0.000053f, 0.000042f, 0.000326f, -0.037450f, -0.000836f, -0.004771f, 0.025998f, 0.000348f, 0.001355f, 0.005367f, -0.003886f, 0.012983f, 0.003028f, -0.014353f, -0.007829f, -0.016800f, 0.002709f, -0.001393f, -0.005924f, -0.005029f, -0.006307f, -0.004104f, 0.020168f, -0.009623f, -0.004875f, -0.005552f, -0.015788f, -0.000901f, -0.004059f, 0.005071f, 0.007475f, -0.002764f, -0.000347f, 0.004305f, -0.005011f, -0.001540f, -0.002273f, -0.005871f, 0.005990f, 0.012332f, -0.001753f, -0.002321f, 0.009692f, -0.013394f, 0.008294f, -0.010743f, -0.021434f, -0.013665f, -0.021349f, -0.003452f, -0.012281f, -0.008320f, 0.001971f, 0.008184f, 0.004022f, 0.005783f, -0.003361f, 0.007066f, -0.009212f, + -0.002254f, 0.007401f, -0.000259f, 0.010374f, -0.004658f, 0.003028f, -0.007670f, -0.005871f, 0.005300f, -0.013138f, 0.003237f, 0.009442f, -0.012787f, 0.001075f, -0.003545f, -0.006055f, -0.008460f, -0.007654f, -0.002680f, -0.003482f, 0.001779f, 0.008826f, -0.004574f, 0.002633f, -0.007774f, -0.008288f, -0.006556f, 0.002889f, 0.004110f, 0.000957f, -0.002194f, -0.002538f, -0.003592f, 0.001697f, -0.003075f, -0.002716f, -0.001359f, -0.002533f, -0.000494f, 0.000283f, -0.004299f, -0.001125f, -0.000684f, -0.003277f, -0.000999f, -0.001555f, -0.000177f, -0.000695f, -0.005801f, 0.000533f, 0.002171f, -0.001220f, -0.002398f, -0.000381f, 0.003293f, 0.001648f, -0.001550f, 0.023815f, 0.000129f, -0.013326f, -0.012813f, -0.004407f, -0.009356f, -0.003617f, -0.007045f, 0.001802f, 0.001119f, -0.010537f, -0.006225f, -0.011570f, 0.021862f, 0.009273f, 0.001982f, -0.001255f, 0.011836f, -0.017736f, -0.000322f, -0.000385f, -0.011244f, -0.014922f, 0.013305f, 0.000266f, 0.009478f, -0.014964f, -0.006595f, -0.005213f, 0.005148f, -0.000530f, 0.006339f, -0.010316f, 0.003064f, 0.004234f, -0.011228f, -0.010736f, -0.009780f, 0.002341f, + -0.003264f, -0.002990f, 0.009374f, -0.002745f, 0.000979f, 0.000199f, -0.001932f, -0.010639f, -0.006574f, -0.001195f, -0.016103f, -0.010438f, -0.008520f, 0.004503f, 0.002993f, 0.006454f, -0.001663f, 0.002854f, -0.000261f, -0.001588f, 0.007377f, -0.005734f, 0.012910f, 0.001884f, 0.003847f, -0.001648f, -0.004381f, 0.005241f, 0.003927f, 0.010337f, -0.003193f, 0.001685f, 0.006171f, -0.003623f, 0.000028f, -0.013474f, 0.006286f, -0.010349f, 0.006511f, -0.007623f, -0.007613f, -0.014524f, -0.002961f, 0.003809f, 0.001494f, -0.002359f, 0.003296f, 0.001590f, 0.006569f, 0.001206f, -0.002146f, 0.005971f, 0.003080f, -0.005082f, 0.001156f, -0.004105f, 0.004476f, -0.001724f, 0.000655f, -0.001022f, -0.000656f, -0.003592f, -0.000266f, 0.000358f, 0.000576f, -0.002038f, 0.001613f, -0.002982f, 0.001101f, -0.000411f, -0.001704f, -0.002615f, 0.000584f, -0.001698f, 0.003800f, 0.001287f, -0.001197f, -0.001551f, -0.001741f, 0.003250f, 0.001895f, 0.003121f, 0.000143f, 0.000520f, 0.001370f, 0.028038f, 0.026535f, 0.019778f, -0.006850f, 0.007172f, 0.009947f, 0.005793f, 0.005560f, -0.010010f, -0.008762f, -0.013066f, + 0.011402f, -0.012268f, -0.001626f, -0.008957f, 0.015166f, -0.017093f, -0.012809f, -0.006445f, -0.002879f, -0.009469f, -0.014194f, 0.003887f, 0.000594f, 0.000698f, -0.017183f, -0.009513f, 0.004300f, 0.003445f, 0.004684f, -0.004746f, -0.006924f, 0.000409f, 0.004967f, 0.006418f, -0.004956f, 0.006097f, -0.009206f, -0.002531f, -0.022302f, 0.007984f, 0.002498f, -0.003945f, -0.004367f, -0.016460f, -0.007633f, 0.001921f, -0.004137f, -0.023066f, 0.012195f, 0.004968f, -0.000210f, -0.006333f, -0.005000f, -0.009843f, 0.002775f, -0.003587f, 0.006413f, -0.001589f, -0.003493f, -0.013187f, -0.002725f, -0.001458f, -0.007392f, 0.014168f, -0.010596f, 0.000040f, 0.008288f, -0.003728f, -0.011448f, -0.006473f, 0.009440f, 0.013839f, 0.006696f, -0.001232f, -0.000643f, 0.007245f, -0.015324f, 0.005986f, -0.001832f, -0.000899f, 0.000464f, 0.003086f, -0.001108f, -0.000797f, 0.000514f, -0.003122f, -0.009360f, -0.002632f, -0.003035f, 0.002608f, 0.001691f, 0.000883f, -0.003786f, -0.002027f, -0.004336f, -0.005199f, -0.001514f, -0.000366f, 0.005751f, 0.000395f, 0.000552f, 0.000568f, -0.002368f, -0.001396f, 0.002495f, -0.003338f, + -0.000769f, 0.000907f, 0.001453f, -0.003953f, -0.000236f, -0.000514f, 0.001935f, -0.002892f, -0.000936f, -0.001780f, -0.002926f, -0.005982f, -0.002960f, -0.000465f, -0.002823f, -0.000179f, -0.000003f, -0.000466f, -0.003509f, 0.034126f, 0.011482f, -0.004922f, -0.003921f, 0.012021f, -0.022968f, -0.004274f, 0.018692f, 0.009408f, -0.012946f, -0.000225f, -0.008770f, 0.003665f, 0.014382f, 0.035279f, 0.011667f, 0.027495f, -0.009676f, -0.001968f, -0.026647f, 0.009130f, -0.007749f, 0.007588f, -0.011653f, -0.000538f, 0.001160f, -0.004081f, 0.009611f, -0.004211f, 0.004604f, 0.011874f, -0.009008f, 0.005406f, 0.015083f, -0.004019f, 0.005059f, 0.000106f, 0.006073f, 0.008338f, 0.008493f, -0.045181f, 0.016570f, -0.005139f, -0.021190f, -0.003610f, 0.012956f, 0.004058f, -0.016371f, 0.008935f, 0.012915f, -0.026563f, 0.002143f, -0.007425f, 0.015688f, 0.003686f, 0.012957f, -0.003063f, -0.009336f, -0.018618f, 0.001141f, -0.011218f, 0.035338f, 0.006641f, -0.005821f, 0.011893f, 0.001469f, 0.011513f, -0.027832f, -0.003549f, 0.004272f, 0.008736f, 0.002025f, -0.012896f, -0.002077f, 0.004872f, 0.012348f, 0.010564f, + -0.008664f, 0.000352f, 0.012143f, -0.000410f, 0.005697f, -0.004124f, -0.002135f, 0.008662f, 0.000788f, -0.000543f, -0.001211f, 0.000554f, 0.004138f, -0.003907f, -0.001836f, -0.000389f, 0.003200f, 0.003281f, -0.000471f, -0.000997f, 0.008361f, -0.002554f, -0.001506f, -0.004314f, 0.000522f, 0.002413f, -0.002279f, 0.000284f, 0.002519f, 0.003566f, -0.003079f, -0.001242f, -0.005068f, 0.000500f, 0.003864f, -0.001762f, 0.000648f, 0.001954f, 0.001956f, 0.006918f, 0.000776f, 0.003455f, -0.000307f, -0.002817f, 0.004328f, 0.001218f, -0.040425f, -0.044335f, -0.015175f, -0.003448f, 0.000823f, 0.009437f, -0.018933f, 0.005991f, 0.022334f, -0.012794f, 0.011890f, 0.015475f, -0.010767f, 0.000351f, -0.005243f, 0.018925f, 0.026372f, -0.012611f, -0.014886f, 0.013284f, 0.001277f, -0.012637f, 0.005995f, 0.000237f, 0.003306f, 0.003798f, -0.006770f, -0.004904f, -0.028179f, -0.001420f, -0.008061f, -0.000618f, -0.000836f, 0.019190f, 0.005686f, -0.034358f, 0.000575f, 0.016617f, -0.018811f, 0.004987f, 0.020227f, -0.004414f, 0.007119f, 0.000447f, -0.005310f, -0.013032f, 0.026004f, 0.021924f, -0.016646f, 0.008754f, + -0.006193f, -0.000823f, 0.008091f, -0.005734f, 0.006785f, -0.010257f, -0.001178f, 0.022013f, -0.006245f, 0.004691f, 0.010373f, -0.007459f, -0.018063f, -0.000729f, 0.006197f, 0.003254f, -0.008683f, 0.001193f, 0.004864f, 0.007861f, 0.016062f, 0.009991f, 0.017675f, 0.009393f, 0.003412f, 0.008272f, -0.002907f, 0.015996f, -0.000527f, -0.012549f, -0.016969f, 0.002135f, 0.005503f, -0.002918f, 0.012679f, -0.006504f, -0.006856f, 0.005094f, -0.001605f, 0.001410f, 0.000638f, -0.007792f, -0.001103f, -0.004675f, 0.005760f, 0.002639f, 0.004630f, 0.009104f, 0.001121f, -0.003153f, -0.013140f, -0.000959f, 0.003039f, -0.003303f, -0.001366f, 0.001377f, -0.002934f, 0.002857f, 0.002908f, 0.000426f, -0.003107f, -0.002153f, 0.006416f, -0.000855f, 0.003006f, 0.001651f, 0.002068f, -0.004552f, -0.004895f, -0.002825f, 0.001107f, 0.002270f, 0.003834f, 0.002912f, 0.001869f, 0.001853f, 0.004821f, -0.001207f, -0.043529f, 0.048609f, -0.002797f, 0.031285f, 0.002409f, -0.018108f, -0.005410f, -0.010473f, -0.012706f, -0.001624f, 0.000894f, 0.022645f, -0.003552f, 0.015574f, -0.015602f, -0.000782f, 0.003888f, 0.003634f, + 0.001811f, 0.019696f, 0.019626f, 0.007218f, 0.003162f, -0.002414f, -0.003773f, -0.001060f, -0.003216f, -0.032659f, -0.011107f, 0.015154f, 0.009798f, -0.003573f, 0.001722f, -0.015412f, 0.007903f, -0.018915f, 0.004221f, 0.030265f, 0.003350f, 0.006639f, -0.025030f, 0.013495f, 0.011769f, 0.003315f, -0.016766f, -0.007273f, -0.007774f, 0.001478f, -0.015040f, 0.015553f, 0.018960f, 0.011500f, -0.001586f, 0.028401f, 0.010123f, 0.041521f, 0.016278f, -0.010959f, 0.034597f, 0.000899f, -0.012481f, 0.025099f, -0.003965f, 0.008373f, 0.015848f, -0.011234f, -0.009620f, 0.023235f, 0.024946f, 0.014808f, -0.020033f, 0.007794f, -0.000080f, -0.009165f, -0.016431f, 0.012426f, 0.022096f, 0.013433f, 0.032031f, 0.004556f, -0.006912f, -0.006953f, -0.019543f, -0.007293f, 0.012312f, 0.002072f, -0.003476f, 0.000959f, -0.012142f, -0.008410f, 0.001849f, 0.003333f, -0.000281f, 0.013398f, 0.010565f, 0.004831f, 0.000557f, 0.004073f, 0.006394f, 0.003439f, -0.005983f, -0.002258f, 0.001932f, -0.001182f, -0.001967f, 0.005790f, 0.000639f, -0.001332f, 0.004611f, 0.001950f, 0.001572f, 0.002005f, -0.003902f, 0.001285f, + 0.011694f, -0.004972f, 0.007424f, 0.003667f, 0.000446f, -0.004922f, -0.005638f, -0.002671f, 0.010692f, -0.023405f, 0.031075f, -0.009002f, -0.020459f, 0.006824f, 0.013496f, -0.013573f, -0.006905f, -0.028646f, 0.011959f, -0.010509f, -0.003492f, -0.026257f, -0.011577f, -0.008910f, -0.004532f, -0.011841f, 0.006150f, -0.005315f, -0.006512f, 0.006174f, 0.008626f, 0.015287f, 0.014932f, -0.006479f, -0.005466f, -0.021151f, 0.008285f, 0.000410f, 0.013871f, 0.003829f, 0.003676f, -0.004789f, 0.005516f, -0.013217f, -0.011260f, 0.006231f, 0.003112f, 0.006326f, -0.025867f, 0.008646f, 0.016814f, -0.000047f, -0.022795f, -0.023721f, -0.018565f, -0.054710f, 0.007662f, -0.006292f, 0.026409f, -0.012950f, 0.021925f, 0.007079f, 0.001417f, 0.028389f, 0.004237f, -0.003257f, 0.020302f, 0.007571f, -0.027897f, -0.013798f, 0.003229f, -0.008843f, -0.015880f, -0.009572f, 0.035747f, 0.016519f, -0.016975f, -0.002018f, -0.009581f, -0.004601f, 0.005135f, 0.025353f, 0.000354f, -0.006759f, 0.033386f, -0.011964f, -0.030537f, -0.028990f, -0.034546f, -0.006074f, 0.002523f, -0.000856f, -0.006172f, -0.004167f, -0.014839f, -0.002847f, + 0.004194f, -0.004518f, -0.004475f, 0.002960f, 0.002701f, -0.021598f, -0.009020f, -0.016901f, 0.000691f, -0.005688f, -0.005612f, -0.009018f, -0.002960f, 0.002489f, 0.013030f, 0.000200f, 0.016007f, 0.008001f, 0.011725f, 0.001324f, 0.005460f, -0.005462f, 0.010681f, 0.000002f, -0.007887f, -0.011531f, 0.006570f, 0.001131f, 0.003587f, -0.002963f, 0.002014f, -0.003583f, 0.003624f, -0.001243f, 0.004318f, -0.000857f, -0.002005f, 0.002929f, -0.000712f, 0.013652f, -0.022416f, -0.005579f, -0.005956f, -0.002873f, -0.001495f, 0.059818f, 0.009850f, 0.021919f, -0.010533f, 0.019154f, 0.038561f, -0.032915f, 0.050075f, 0.029730f, -0.013318f, 0.000532f, 0.003092f, -0.017898f, -0.030106f, 0.002163f, -0.017433f, -0.026825f, -0.012010f, 0.002483f, 0.000096f, -0.003215f, -0.012049f, -0.001929f, -0.011731f, -0.000723f, -0.013572f, -0.000895f, 0.009378f, -0.021050f, 0.011665f, 0.017916f, -0.013823f, -0.012783f, 0.009236f, 0.007055f, -0.001167f, 0.053753f, 0.004774f, 0.035871f, -0.025668f, -0.002380f, -0.031132f, -0.022767f, 0.005551f, -0.022833f, -0.031474f, -0.020892f, -0.023897f, -0.005099f, -0.006338f, -0.026456f, + -0.028850f, 0.037821f, 0.005954f, 0.002499f, -0.005074f, 0.019658f, 0.010875f, 0.023687f, -0.002303f, 0.022399f, -0.012416f, 0.005211f, -0.041622f, 0.034171f, 0.016487f, 0.002815f, -0.022846f, -0.001582f, 0.010362f, 0.002314f, 0.004012f, 0.016960f, 0.023481f, -0.018016f, -0.023323f, -0.015220f, -0.003626f, -0.000235f, 0.002584f, -0.013563f, 0.001594f, 0.004089f, 0.009692f, 0.012723f, -0.001561f, -0.007601f, 0.013120f, 0.006632f, -0.009745f, -0.000505f, 0.004757f, -0.005671f, -0.010301f, 0.002038f, -0.003477f, -0.003228f, -0.000289f, -0.004352f, 0.012029f, -0.012483f, 0.006993f, -0.000179f, 0.013304f, -0.013682f, -0.003338f, 0.002519f, -0.003491f, -0.005093f, -0.002201f, -0.010799f, -0.012056f, -0.002090f, 0.001298f, 0.003767f, 0.004416f, -0.008001f, 0.008351f, 0.006496f, -0.004911f, 0.007644f, -0.001427f, 0.004484f, 0.000405f, 0.004445f, -0.003317f, 0.029033f, -0.011950f, -0.009756f, 0.032421f, -0.027421f, -0.020928f, -0.005183f, -0.016663f, -0.002723f, -0.032640f, 0.007231f, -0.020127f, 0.015314f, 0.002093f, 0.005173f, 0.018538f, 0.005277f, 0.013060f, 0.017977f, 0.017057f, 0.014076f, + 0.023932f, 0.002774f, 0.016241f, 0.014555f, -0.017609f, 0.030245f, 0.007342f, 0.013938f, -0.016448f, 0.023584f, 0.010578f, 0.016536f, 0.004119f, 0.005845f, -0.003163f, -0.021914f, 0.005462f, 0.012257f, 0.014458f, 0.015810f, 0.003322f, -0.026634f, -0.016886f, 0.019006f, 0.010288f, 0.004254f, -0.010193f, 0.013127f, -0.009757f, -0.026698f, 0.038956f, 0.023762f, 0.017331f, -0.015128f, -0.007510f, -0.019915f, -0.061877f, -0.001966f, -0.008739f, 0.007878f, -0.014546f, -0.015605f, -0.027358f, 0.004719f, 0.008613f, 0.034469f, -0.027387f, 0.010959f, 0.000381f, 0.015817f, -0.024132f, -0.029559f, -0.018075f, 0.018937f, 0.005677f, 0.005859f, 0.009987f, -0.008182f, 0.003243f, 0.022215f, 0.007806f, 0.011205f, 0.014108f, -0.005782f, -0.005321f, -0.009446f, 0.000096f, 0.009658f, 0.011947f, 0.000361f, 0.004872f, 0.002348f, 0.001822f, 0.009071f, -0.005807f, -0.004960f, -0.008136f, -0.004585f, -0.008417f, -0.000347f, -0.012713f, -0.005162f, -0.013434f, -0.000835f, -0.008143f, -0.002388f, -0.001977f, -0.004699f, 0.003674f, -0.003415f, -0.017222f, -0.002650f, 0.006683f, 0.007371f, 0.013915f, -0.002200f, + -0.008518f, 0.003891f, -0.003458f, -0.012537f, 0.011301f, 0.009588f, 0.009153f, 0.021635f, 0.014078f, -0.001315f, -0.049731f, 0.028834f, 0.030676f, -0.014994f, 0.026185f, 0.009125f, -0.041913f, -0.007261f, 0.055490f, -0.007689f, -0.036616f, -0.005569f, -0.003357f, -0.031786f, 0.022566f, 0.004838f, -0.015940f, 0.024315f, 0.016194f, 0.057236f, 0.033621f, 0.001082f, 0.004386f, 0.054013f, -0.013613f, 0.013821f, -0.021794f, -0.031439f, -0.009243f, -0.021291f, 0.005037f, -0.001362f, 0.011043f, -0.001434f, -0.003664f, -0.008891f, 0.042617f, 0.002273f, -0.033229f, -0.026303f, -0.005840f, -0.006657f, -0.000994f, 0.014076f, 0.038916f, 0.024973f, 0.008383f, -0.023264f, 0.030318f, 0.055272f, -0.011437f, 0.025239f, 0.023600f, 0.066559f, 0.012820f, 0.012893f, 0.020263f, 0.028518f, 0.015881f, -0.022509f, -0.021681f, 0.015522f, -0.040451f, -0.024226f, -0.028930f, 0.027904f, 0.024393f, 0.017170f, -0.006395f, 0.020649f, 0.042771f, -0.023995f, 0.034114f, 0.034039f, -0.004325f, 0.033469f, -0.030978f, -0.013478f, -0.010663f, 0.069813f, -0.033717f, 0.034470f, 0.021591f, 0.012897f, 0.009940f, -0.030452f, + -0.002821f, -0.023874f, 0.026210f, 0.025016f, -0.000160f, 0.002164f, -0.012187f, 0.018800f, -0.006994f, 0.002201f, 0.007190f, 0.007928f, 0.000181f, 0.011628f, -0.007529f, -0.003801f, -0.002856f, -0.007348f, 0.003750f, 0.007185f, -0.005497f, 0.003505f, 0.008236f, 0.014502f, 0.002406f, -0.012579f, 0.005750f, -0.013663f, 0.002766f, 0.013128f, 0.008526f, 0.013869f, -0.002084f, 0.022105f, -0.008339f, 0.016442f, -0.003950f, -0.004735f, -0.002605f, 0.001360f, 0.017716f, -0.012235f, 0.008632f, 0.000100f, 0.008742f, -0.009861f, 0.002963f, 0.004699f, -0.004486f, 0.023458f, 0.011095f, 0.038143f, 0.067992f, 0.007346f, -0.006982f, 0.007253f, -0.003596f, -0.011124f, 0.002073f, 0.007164f, -0.016537f, -0.022036f, 0.007559f, -0.011404f, -0.006209f, 0.017393f, -0.000806f, 0.034094f, -0.017838f, 0.033431f, 0.016439f, 0.003380f, -0.019297f, 0.006402f, 0.033312f, 0.009740f, -0.016834f, 0.006692f, -0.003960f, 0.001065f, 0.019592f, -0.026927f, -0.014254f, 0.030338f, 0.000702f, -0.007317f, 0.026284f, -0.001145f, 0.009341f, 0.006118f, -0.025037f, -0.045587f, -0.009627f, 0.016041f, 0.029385f, 0.006517f, + -0.022441f, 0.029467f, -0.009532f, 0.059595f, -0.030017f, 0.040170f, -0.023294f, 0.014509f, 0.034349f, -0.050448f, -0.052295f, -0.000135f, -0.014756f, 0.013758f, 0.016762f, 0.002643f, -0.007644f, -0.030732f, 0.020946f, -0.004235f, 0.037236f, 0.017063f, 0.034676f, 0.009715f, 0.020207f, -0.008167f, 0.026634f, 0.009887f, -0.015849f, 0.003527f, -0.000406f, -0.076285f, -0.002223f, 0.013788f, 0.018571f, 0.032709f, 0.027504f, -0.008626f, 0.002344f, -0.005359f, 0.005167f, 0.000318f, -0.008491f, -0.019961f, 0.008844f, -0.011498f, 0.026580f, 0.003489f, 0.005199f, 0.013416f, 0.007740f, -0.007982f, 0.007676f, 0.019633f, 0.016887f, -0.005357f, -0.003052f, 0.003163f, -0.004078f, -0.002374f, -0.012006f, -0.001759f, -0.025161f, -0.003077f, 0.008633f, -0.020561f, 0.014565f, -0.015405f, -0.012862f, 0.004216f, -0.013083f, 0.013775f, 0.005164f, -0.004540f, 0.008685f, -0.000530f, -0.001448f, 0.006065f, 0.018470f, -0.012351f, 0.002867f, 0.003275f, 0.044315f, 0.057326f, -0.012553f, -0.002247f, 0.020195f, 0.075846f, 0.002087f, -0.044904f, -0.018000f, 0.009106f, 0.008589f, -0.014210f, 0.014459f, -0.010267f, + 0.023464f, -0.038079f, 0.001951f, 0.023695f, -0.015945f, -0.017183f, 0.003257f, -0.037634f, -0.011650f, -0.012264f, -0.059959f, -0.050587f, -0.029372f, 0.022074f, 0.025919f, -0.004559f, -0.042694f, 0.004799f, 0.001446f, -0.001506f, 0.008474f, -0.021401f, 0.051105f, -0.014604f, 0.006445f, 0.056707f, -0.049710f, 0.023941f, 0.008316f, -0.017305f, 0.020542f, -0.013402f, -0.040326f, 0.000846f, 0.034735f, -0.015567f, -0.025368f, 0.014516f, 0.004610f, 0.033212f, 0.000167f, -0.051156f, 0.004011f, -0.030237f, 0.050329f, -0.018273f, 0.007536f, 0.012413f, 0.005957f, -0.007224f, -0.032820f, 0.013685f, 0.034241f, 0.009993f, 0.035330f, -0.051863f, -0.028655f, -0.008531f, -0.000561f, 0.005607f, -0.040136f, 0.035876f, -0.005026f, -0.038143f, -0.012832f, 0.024161f, 0.022361f, -0.021112f, -0.029453f, 0.029012f, -0.023468f, -0.014612f, -0.000644f, -0.003563f, -0.003298f, -0.001864f, -0.008648f, -0.001588f, 0.014443f, -0.003270f, 0.013264f, -0.015281f, 0.010519f, 0.014003f, -0.003856f, 0.007585f, 0.002172f, -0.002782f, 0.000083f, 0.001953f, 0.024800f, 0.001366f, -0.004862f, 0.002191f, 0.005439f, -0.012363f, + 0.004365f, -0.015826f, -0.001356f, 0.018482f, -0.006697f, -0.014401f, -0.005443f, 0.008342f, 0.000192f, 0.000704f, 0.010784f, 0.000969f, -0.014593f, -0.007441f, 0.026370f, 0.019426f, -0.006442f, -0.001018f, -0.039321f, 0.057894f, 0.001686f, -0.099059f, 0.039732f, -0.013584f, 0.007759f, 0.010149f, 0.013341f, 0.024364f, 0.008904f, -0.017904f, -0.004299f, 0.024536f, 0.016599f, -0.019639f, -0.001019f, -0.015574f, -0.008061f, -0.048636f, -0.006178f, 0.023465f, 0.029126f, 0.006578f, -0.011514f, 0.032266f, -0.033166f, 0.036760f, -0.021126f, -0.011846f, 0.004408f, -0.011356f, 0.009821f, -0.029255f, -0.039519f, -0.044221f, -0.014138f, 0.022959f, -0.008824f, 0.000264f, 0.026983f, 0.007526f, 0.004737f, -0.000806f, 0.000942f, -0.009282f, 0.000388f, 0.029092f, 0.017909f, 0.030699f, 0.026026f, 0.030798f, 0.020952f, -0.018246f, -0.011642f, 0.007598f, -0.001939f, -0.035302f, 0.023785f, -0.006354f, -0.033376f, 0.041961f, -0.000457f, 0.006857f, -0.001152f, -0.015204f, -0.005020f, 0.017648f, 0.025513f, 0.021257f, 0.000659f, 0.013037f, -0.042764f, -0.006030f, -0.015238f, 0.023321f, 0.008038f, -0.011875f, + -0.013605f, 0.053909f, -0.016421f, -0.018404f, -0.005840f, 0.008735f, -0.013342f, -0.035444f, -0.002013f, -0.006030f, -0.019192f, 0.033317f, 0.006772f, 0.012574f, -0.010243f, -0.001727f, 0.007724f, 0.002053f, 0.009758f, 0.010607f, -0.003488f, 0.006528f, -0.006440f, 0.007392f, 0.002753f, -0.005823f, -0.004500f, 0.005493f, 0.007604f, 0.002144f, -0.006819f, -0.005547f, -0.006141f, -0.004422f, 0.000093f, 0.003874f, -0.005581f, -0.006604f, 0.001510f, -0.000455f, -0.001281f, 0.005852f, -0.002794f, 0.009229f, 0.002681f, 0.026882f, -0.002371f, -0.003277f, -0.006021f, -0.011538f, -0.015081f, 0.134734f, -0.132627f, -0.006793f, -0.144184f, -0.022446f, -0.054935f, -0.006823f, 0.034981f, -0.018011f, -0.040040f, 0.062685f, -0.017182f, -0.011104f, 0.001896f, 0.019214f, -0.002434f, 0.052072f, 0.034388f, 0.020569f, -0.031025f, 0.001898f, -0.021229f, -0.021558f, -0.014503f, 0.000619f, -0.006781f, -0.005934f, -0.017613f, -0.004042f, 0.028670f, 0.003390f, 0.018904f, 0.018910f, -0.001741f, 0.025298f, 0.036902f, 0.001820f, -0.007814f, -0.019540f, -0.023346f, 0.009074f, 0.009922f, -0.019370f, 0.031237f, -0.041741f, + -0.042261f, 0.004454f, -0.014931f, 0.022303f, -0.039198f, 0.016452f, -0.075180f, -0.040142f, -0.060229f, -0.005400f, -0.029838f, -0.002885f, -0.018296f, -0.022749f, -0.019830f, -0.001998f, 0.004869f, -0.058840f, 0.006472f, -0.013049f, 0.006518f, 0.000058f, -0.027314f, -0.047909f, 0.032778f, -0.028915f, -0.005327f, 0.029300f, -0.003192f, -0.009468f, 0.019328f, 0.024251f, -0.005243f, 0.024157f, 0.015765f, 0.029236f, 0.016054f, 0.029588f, 0.013928f, -0.017874f, -0.005102f, -0.015771f, 0.000529f, -0.013094f, 0.002577f, 0.010589f, 0.015090f, 0.016516f, -0.007594f, 0.007566f, 0.005411f, 0.010763f, -0.002769f, -0.004387f, 0.005565f, 0.012946f, 0.001573f, 0.002860f, 0.014341f, 0.007241f, 0.014771f, -0.002324f, 0.000539f, -0.001734f, 0.007134f, 0.010141f, -0.002021f, -0.017365f, 0.009279f, -0.003055f, 0.003523f, -0.005577f, 0.002257f, -0.005065f, -0.002667f, 0.000720f, -0.014437f, 0.000055f, 0.019482f, -0.012429f, -0.013042f, 0.001516f, 0.006580f, 0.006656f, 0.002206f, -0.012858f, 0.109891f, 0.055504f, 0.027164f, -0.025818f, -0.013069f, -0.056427f, 0.013185f, 0.046370f, -0.008321f, -0.010261f, + 0.075542f, -0.012810f, -0.016057f, 0.037709f, 0.055460f, 0.010107f, 0.056548f, -0.013387f, 0.008740f, 0.033653f, 0.037896f, 0.059525f, 0.048215f, -0.001905f, -0.020694f, 0.018316f, 0.022023f, 0.020897f, 0.025786f, 0.044673f, 0.022094f, 0.056649f, -0.021215f, -0.000885f, 0.016896f, 0.015814f, 0.047956f, 0.028193f, 0.051353f, -0.036068f, -0.011056f, 0.020902f, -0.039043f, 0.032519f, 0.032878f, 0.031653f, 0.013680f, -0.039228f, -0.014107f, 0.076141f, 0.019883f, 0.051529f, 0.042676f, 0.046927f, -0.009096f, 0.062003f, 0.096544f, 0.033709f, 0.008870f, 0.068043f, 0.046974f, -0.025371f, -0.015626f, -0.032060f, -0.025765f, 0.028981f, 0.033333f, 0.003453f, -0.027479f, 0.001161f, -0.024547f, -0.000579f, -0.010805f, 0.016845f, -0.058187f, -0.006104f, 0.006183f, -0.029058f, 0.022612f, 0.004516f, -0.018021f, 0.016189f, -0.036569f, -0.023379f, -0.040555f, -0.013080f, -0.019462f, 0.014976f, 0.004685f, -0.018412f, 0.004480f, 0.027199f, 0.008034f, -0.008179f, -0.016035f, -0.024625f, -0.009588f, 0.008888f, -0.035509f, -0.016078f, -0.002937f, 0.029171f, 0.009696f, -0.011639f, 0.006064f, -0.018686f, + -0.005208f, -0.005388f, -0.015878f, -0.009758f, 0.026791f, -0.005676f, -0.001894f, -0.006037f, 0.006299f, 0.017604f, 0.012131f, 0.015146f, 0.036855f, 0.000517f, 0.029672f, 0.001851f, 0.002937f, 0.019104f, 0.015828f, -0.024080f, -0.014381f, -0.001497f, 0.005540f, 0.003016f, -0.000015f, -0.034869f, 0.016883f, -0.041980f, 0.072718f, 0.103331f, 0.060073f, -0.026910f, -0.057205f, -0.021306f, 0.051004f, -0.015521f, -0.042694f, 0.076908f, -0.053783f, 0.045782f, 0.025809f, -0.061048f, -0.025379f, -0.006746f, -0.100384f, 0.003599f, 0.011303f, -0.048697f, 0.098487f, -0.034303f, 0.091466f, -0.069070f, 0.010010f, 0.003994f, 0.066845f, 0.098286f, -0.008283f, 0.033095f, 0.046467f, -0.055009f, 0.036498f, -0.074315f, -0.020488f, 0.139922f, -0.008009f, -0.039184f, -0.007678f, -0.079024f, 0.003317f, -0.025209f, 0.087765f, 0.032917f, 0.040833f, -0.013956f, -0.023249f, -0.044227f, -0.040483f, 0.009679f, 0.005589f, -0.000290f, 0.058476f, -0.014723f, 0.011166f, -0.061212f, -0.031440f, 0.040005f, -0.090362f, -0.036174f, -0.027146f, -0.031449f, 0.084460f, 0.005593f, 0.091260f, 0.064826f, 0.029152f, 0.034412f, + -0.020360f, -0.048771f, 0.040941f, -0.066182f, -0.039974f, 0.080343f, 0.024704f, -0.049351f, -0.080275f, -0.049270f, -0.057081f, 0.045333f, -0.049245f, 0.024987f, -0.035515f, -0.003757f, -0.030469f, 0.031956f, 0.019202f, 0.002181f, -0.026390f, -0.005623f, -0.018156f, 0.004681f, -0.035932f, -0.025790f, -0.013399f, 0.007203f, 0.020402f, -0.001500f, -0.014492f, -0.021381f, -0.033332f, -0.024841f, 0.021583f, 0.028324f, -0.008917f, 0.019261f, 0.041150f, 0.018667f, -0.037677f, -0.012070f, -0.013661f, 0.023074f, -0.022859f, -0.016194f, -0.005145f, 0.007877f, -0.030117f, -0.042117f, -0.028906f, -0.010782f, 0.017243f, -0.001588f, 0.004176f, -0.006880f, 0.023511f, 0.006153f, 0.065970f, -0.108958f, 0.116300f, -0.002730f, 0.009126f, -0.037024f, 0.093948f, 0.022187f, 0.060569f, 0.022988f, -0.039394f, 0.013662f, 0.033725f, -0.057229f, 0.040338f, 0.000868f, 0.026828f, -0.076454f, -0.005789f, 0.018929f, 0.070716f, -0.029279f, -0.057992f, -0.002415f, 0.070333f, 0.037152f, -0.026611f, -0.060345f, -0.002794f, 0.050776f, 0.006818f, 0.003656f, 0.014233f, 0.036947f, 0.093163f, -0.130934f, -0.021421f, 0.012789f, + 0.073094f, 0.016442f, -0.039512f, -0.009715f, 0.027975f, 0.066839f, -0.006530f, 0.003368f, -0.125483f, 0.036514f, 0.019861f, 0.034411f, -0.090985f, 0.080780f, 0.069672f, 0.026273f, -0.041038f, -0.004070f, -0.045429f, 0.034252f, 0.059705f, 0.025085f, 0.028061f, -0.005061f, 0.045315f, -0.065582f, 0.062524f, -0.018314f, -0.021994f, 0.073362f, 0.060576f, 0.004033f, -0.022578f, -0.060069f, 0.044324f, 0.048397f, -0.128713f, -0.010083f, 0.074392f, 0.018613f, -0.000578f, -0.045979f, -0.019606f, 0.126190f, -0.009411f, -0.042975f, -0.005212f, -0.023110f, -0.027801f, 0.042055f, -0.035191f, 0.012928f, 0.019387f, 0.025716f, -0.017451f, 0.002645f, -0.017721f, -0.021450f, -0.014131f, 0.019447f, 0.019613f, -0.019626f, -0.003684f, 0.009788f, -0.015422f, 0.038265f, -0.036355f, 0.009672f, -0.006320f, -0.011741f, 0.013826f, 0.063289f, 0.004421f, 0.000245f, -0.009864f, -0.022109f, 0.000380f, 0.034515f, 0.008475f, -0.001466f, -0.006385f, -0.016056f, 0.029561f, -0.007423f, -0.001428f, -0.017052f, 0.017076f, -0.097133f, 0.047828f, 0.009436f, 0.030558f, 0.036786f, 0.053389f, 0.019115f, 0.017372f, -0.025036f, + 0.027685f, 0.005327f, 0.063323f, -0.006962f, -0.018481f, 0.049803f, 0.038347f, -0.008037f, 0.003630f, -0.020882f, 0.001016f, 0.015975f, -0.004516f, -0.012357f, 0.028619f, -0.022207f, 0.003295f, 0.038530f, -0.007866f, 0.022360f, -0.038579f, -0.007659f, 0.005619f, -0.015766f, -0.005795f, 0.004748f, 0.028301f, -0.006811f, -0.046183f, 0.002112f, 0.093410f, 0.019547f, -0.049910f, 0.015335f, -0.050885f, -0.034893f, -0.026024f, -0.006921f, 0.059841f, -0.006172f, -0.046731f, 0.096208f, -0.103242f, 0.017902f, 0.106528f, 0.011487f, 0.075072f, -0.056639f, -0.105607f, 0.034561f, 0.004253f, 0.084922f, 0.005106f, -0.047440f, 0.039940f, -0.010406f, -0.008144f, -0.020013f, -0.002721f, -0.029414f, 0.015516f, 0.004422f, 0.023322f, -0.035979f, -0.030488f, -0.012117f, 0.038259f, 0.048563f, -0.015376f, 0.025992f, -0.003135f, 0.040704f, 0.029359f, -0.050519f, 0.041369f, -0.010101f, 0.006802f, -0.008296f, -0.014996f, 0.000159f, 0.000576f, 0.005846f, -0.003067f, 0.004618f, 0.004473f, 0.003236f, 0.006674f, -0.016408f, 0.001703f, 0.009701f, -0.013159f, -0.001458f, 0.009805f, -0.008608f, 0.012601f, 0.013316f, + -0.018261f, 0.023462f, 0.010298f, 0.024290f, -0.004415f, 0.011459f, 0.020189f, -0.036099f, 0.000482f, 0.011529f, 0.022224f, -0.012673f, -0.008723f, -0.012177f, -0.008106f, 0.041269f, -0.018879f, -0.198359f, -0.454772f, -0.180704f, -0.274016f, -0.400895f, 0.214368f, 0.058701f, 0.123047f, 0.569092f, 0.438548f, 0.255471f, 0.468413f, 0.349251f, 0.059117f, 0.114926f, 0.095592f, -0.223102f, -0.190921f, -0.093996f, -0.340683f, -0.325938f, -0.125180f, -0.167869f, -0.236532f, -0.099438f, -0.085379f, -0.240899f, -0.201022f, -0.017480f, -0.114784f, -0.195488f, -0.067485f, 0.061235f, -0.142002f, 0.041720f, 0.209827f, -0.016887f, -0.030767f, 0.284940f, 0.227650f, -0.010851f, 0.333327f, 0.386059f, 0.156566f, 0.362661f, 0.509533f, 0.303460f, 0.263835f, 0.611272f, 0.488006f, 0.366429f, 0.434915f, 0.576649f, 0.205973f, 0.081037f, 0.241295f, -0.191609f, -0.547770f, -0.397631f, -0.605760f, -0.981053f, -0.878396f, -0.932653f, -1.084023f, -1.105269f, -0.952714f, -0.830145f, -0.832054f, -0.585572f, -0.259411f, -0.176328f, -0.027012f, 0.282722f, 0.520917f, 0.525341f, 0.652962f, 0.939038f, 0.821290f, 0.750167f, + 1.037605f, 0.824013f, 0.465926f, 0.679515f, 0.476158f, 0.184016f, 0.167075f, 0.218857f, 0.022319f, -0.070385f, 0.042369f, 0.005284f, -0.154425f, -0.083130f, 0.013425f, -0.123736f, -0.227691f, -0.110192f, -0.156293f, -0.332232f, -0.209062f, -0.081682f, -0.247810f, -0.167429f, 0.033145f, -0.079676f, -0.115821f, 0.055716f, -0.068579f, -0.273779f, -0.209171f, -0.335830f, -0.566164f, -0.534045f, -0.511285f, -0.532028f, -0.466800f, -0.314614f, -0.245065f, -0.148489f, -0.028618f, 0.123723f, 0.221301f, 0.338515f, 0.428406f, 0.531015f, 0.553684f, 0.586103f, 0.654309f, 0.619517f, 0.569224f, 0.537309f, 0.356927f, 0.124772f, 0.012386f, -0.054136f, -0.151744f, -0.180295f, -0.156015f, -0.177570f, -0.197831f, -0.175482f, -0.175621f, -0.173389f, -0.144685f, -0.142426f, -0.147556f, -0.143501f, -0.123306f, -0.102567f, -0.084419f, -0.053044f, -0.024985f, 0.005979f, 0.018668f, 0.024489f, 0.017908f, 0.010913f, 0.007588f} + }, + { + {-0.015949f, 0.009434f, -0.012132f, 0.001472f, -0.005142f, -0.001607f, 0.004718f, -0.007524f, -0.013668f, -0.003497f, 0.001154f, -0.007839f, -0.004520f, 0.006625f, -0.003935f, 0.003063f, -0.017114f, -0.001474f, 0.011575f, 0.006162f, -0.019147f, -0.006600f, -0.005025f, -0.005093f, 0.006464f, -0.002801f, -0.009974f, -0.006273f, -0.007131f, -0.007266f, 0.012614f, 0.003936f, 0.008124f, -0.005275f, 0.010672f, 0.009692f, 0.006913f, -0.003850f, -0.009059f, -0.007126f, 0.000752f, 0.001797f, 0.014519f, 0.005138f, 0.002763f, -0.006850f, 0.001578f, 0.000617f, 0.001661f, 0.005744f, 0.003409f, -0.009870f, -0.008382f, -0.004343f, 0.005307f, 0.001225f, -0.001857f, -0.010551f, -0.003221f, 0.004123f, 0.004775f, -0.004265f, -0.001607f, 0.000223f, 0.005057f, -0.001103f, -0.005576f, -0.000007f, 0.000807f, -0.007205f, 0.015314f, 0.000949f, -0.010387f, -0.000031f, -0.001597f, 0.009814f, 0.000795f, 0.006636f, 0.009191f, 0.003427f, -0.000621f, 0.000425f, -0.003330f, -0.002196f, -0.002211f, 0.005814f, -0.001873f, -0.000778f, -0.002625f, 0.001989f, 0.000715f, -0.001158f, -0.000229f, -0.001552f, 0.000319f, -0.000251f, + 0.001198f, 0.001157f, 0.001965f, -0.010515f, -0.009515f, 0.010805f, 0.009911f, -0.008004f, 0.005971f, 0.000605f, 0.003082f, -0.026302f, 0.010185f, -0.003903f, -0.017957f, -0.023420f, 0.000642f, 0.016947f, 0.001035f, 0.010991f, 0.000422f, -0.021180f, -0.007300f, 0.002452f, 0.007425f, -0.003722f, -0.001799f, -0.008911f, 0.001197f, -0.001610f, 0.014991f, 0.007623f, 0.003198f, 0.002699f, 0.004085f, 0.005212f, 0.013670f, 0.008288f, -0.012047f, -0.001011f, 0.002821f, 0.002933f, -0.014332f, 0.004682f, -0.004251f, -0.009061f, -0.002553f, -0.000369f, 0.009831f, 0.002539f, -0.005470f, 0.009957f, 0.015510f, -0.003267f, -0.005863f, 0.003764f, -0.001095f, 0.008490f, 0.008652f, 0.006781f, -0.010346f, -0.007868f, 0.007445f, -0.003118f, -0.002588f, -0.007927f, 0.000874f, -0.011782f, 0.007042f, 0.006354f, 0.008331f, 0.002160f, 0.009680f, -0.010439f, -0.006559f, 0.013604f, 0.000723f, 0.005060f, 0.016049f, 0.006223f, 0.001590f, -0.006433f, 0.009419f, 0.001158f, -0.004761f, 0.002718f, -0.011328f, 0.000352f, -0.001184f, 0.001720f, 0.003055f, -0.001263f, -0.005042f, -0.002738f, -0.000813f, 0.002504f, + 0.002325f, 0.000816f, -0.001387f, 0.001419f, 0.003211f, 0.000601f, -0.001051f, 0.013413f, 0.001209f, 0.005208f, -0.011247f, -0.009550f, 0.005507f, -0.002631f, -0.004097f, -0.005213f, -0.004872f, 0.004091f, -0.013017f, -0.007455f, -0.016081f, -0.019329f, -0.003555f, 0.016131f, 0.010414f, -0.006484f, -0.001786f, -0.002216f, -0.003723f, -0.013916f, 0.010068f, -0.003477f, -0.003553f, 0.000903f, 0.006591f, -0.003119f, 0.000611f, -0.000461f, 0.009533f, -0.008765f, 0.009563f, 0.005225f, 0.011460f, -0.003879f, 0.008873f, 0.003951f, -0.005440f, 0.007992f, -0.005378f, 0.004609f, 0.008504f, -0.006376f, 0.008930f, -0.005296f, -0.004259f, -0.001327f, -0.002603f, 0.004499f, -0.002562f, -0.006751f, 0.002752f, -0.005859f, 0.001320f, 0.000816f, 0.000947f, 0.013436f, 0.002639f, -0.003070f, 0.000107f, -0.005488f, -0.007647f, 0.003983f, -0.001818f, 0.012825f, 0.013096f, 0.005312f, -0.003595f, -0.002004f, -0.000061f, -0.005137f, -0.005925f, 0.006602f, 0.010387f, 0.000345f, -0.001094f, 0.006380f, 0.006904f, -0.000887f, 0.002461f, 0.002217f, -0.004961f, 0.004747f, -0.000873f, 0.006808f, -0.003338f, -0.001294f, + -0.000223f, -0.002824f, -0.000275f, 0.004960f, -0.001050f, 0.001505f, 0.001487f, -0.003499f, 0.001133f, -0.000640f, -0.000671f, 0.001417f, 0.001333f, -0.002241f, 0.002592f, -0.000866f, -0.001062f, 0.000186f, -0.000251f, -0.000423f, -0.002007f, -0.001520f, 0.025522f, -0.010833f, 0.010449f, -0.013048f, -0.010979f, 0.000029f, -0.003066f, -0.002795f, 0.003535f, -0.005502f, 0.011022f, 0.010756f, 0.009209f, -0.002794f, -0.001231f, -0.004832f, -0.011818f, 0.001822f, -0.007111f, -0.001330f, 0.001266f, -0.003968f, 0.006691f, 0.002523f, -0.000834f, -0.019481f, -0.008153f, -0.012284f, 0.000432f, -0.008042f, -0.012366f, -0.005423f, -0.006846f, -0.007557f, 0.012253f, -0.009828f, 0.008628f, 0.000738f, -0.003514f, 0.004837f, 0.004137f, -0.008810f, -0.002440f, 0.000171f, 0.009455f, -0.000913f, -0.012998f, -0.016462f, -0.017157f, 0.004448f, -0.006287f, 0.000369f, -0.001388f, 0.002471f, 0.005758f, 0.009514f, -0.006608f, -0.003488f, 0.003103f, 0.003270f, 0.001188f, 0.011936f, -0.006711f, 0.007381f, -0.013747f, 0.026880f, 0.003273f, -0.002862f, 0.005194f, 0.002574f, 0.005108f, -0.007471f, -0.001349f, 0.002044f, + -0.000861f, -0.001605f, -0.013597f, -0.004505f, -0.009251f, -0.002738f, -0.001111f, -0.006640f, -0.006530f, 0.004838f, 0.005609f, 0.001730f, 0.001078f, -0.000608f, 0.004735f, 0.002815f, 0.005441f, -0.002724f, 0.000453f, 0.000187f, 0.004998f, -0.001998f, -0.000325f, -0.000286f, 0.000532f, -0.003957f, 0.000951f, -0.002856f, 0.001425f, 0.002034f, -0.000981f, -0.003323f, 0.000642f, 0.001062f, -0.001061f, -0.001122f, -0.003629f, 0.000985f, -0.000447f, -0.001803f, 0.002250f, 0.002655f, -0.000358f, -0.012410f, 0.001904f, 0.002405f, 0.000917f, -0.001887f, -0.007394f, 0.004539f, 0.003651f, -0.011202f, 0.013347f, -0.016448f, 0.020487f, -0.001915f, 0.006896f, 0.003094f, -0.000329f, -0.002112f, 0.004285f, 0.019204f, 0.021534f, -0.004027f, 0.003949f, -0.002502f, -0.002957f, 0.002925f, 0.004641f, 0.014788f, -0.001778f, 0.004538f, -0.007353f, 0.008145f, 0.001879f, 0.011677f, 0.005706f, 0.010943f, -0.015568f, 0.006687f, 0.005799f, -0.004846f, -0.000071f, 0.011874f, 0.000144f, 0.001008f, 0.003681f, 0.007258f, -0.002340f, -0.000935f, 0.022838f, 0.010909f, 0.002110f, 0.002157f, -0.004659f, 0.010414f, + -0.013649f, -0.020054f, -0.024287f, -0.001414f, 0.012914f, -0.000308f, 0.006486f, 0.017420f, 0.006945f, -0.002983f, -0.006003f, 0.009328f, -0.001701f, 0.022375f, 0.010111f, 0.003392f, 0.003209f, -0.012079f, 0.002679f, 0.009271f, -0.004584f, -0.013611f, 0.002499f, 0.005014f, -0.000504f, -0.004672f, -0.001655f, 0.002417f, -0.004358f, 0.002663f, 0.002629f, 0.002414f, -0.000793f, 0.002773f, -0.004276f, -0.003982f, -0.001250f, -0.002496f, 0.001488f, -0.003997f, 0.002452f, 0.004096f, 0.002724f, 0.003111f, 0.003117f, 0.001043f, 0.002031f, -0.005544f, -0.004668f, -0.001685f, -0.002409f, -0.002854f, -0.000524f, 0.001976f, 0.001130f, -0.000114f, 0.003614f, 0.002004f, -0.000186f, 0.004541f, 0.002850f, -0.029679f, 0.003213f, -0.002216f, 0.020408f, -0.015226f, 0.008974f, -0.031427f, 0.012413f, -0.002938f, -0.016002f, -0.017584f, -0.012291f, 0.009425f, 0.007371f, 0.023909f, 0.003203f, 0.007986f, 0.022890f, -0.003939f, -0.016593f, 0.002531f, -0.012776f, 0.003168f, 0.018673f, 0.003501f, -0.005186f, -0.002183f, -0.003526f, 0.005516f, 0.007259f, -0.001499f, 0.004867f, 0.009639f, -0.005950f, 0.003078f, + -0.011224f, -0.000837f, -0.014057f, -0.002175f, 0.001971f, -0.006651f, 0.010455f, 0.007144f, 0.008918f, 0.017717f, 0.001181f, 0.021434f, 0.016434f, 0.007958f, -0.011076f, 0.024575f, 0.010614f, 0.004346f, 0.021561f, -0.002325f, 0.000536f, 0.001825f, 0.007193f, -0.004453f, -0.006226f, -0.014706f, -0.014206f, -0.011608f, 0.000186f, -0.009154f, 0.018929f, -0.011348f, 0.007866f, 0.011807f, -0.006555f, 0.000630f, -0.005348f, -0.003141f, -0.018477f, -0.021200f, 0.009770f, -0.003680f, -0.007054f, -0.006275f, 0.001882f, 0.002500f, 0.001505f, 0.004171f, -0.007344f, 0.017369f, 0.001296f, 0.005233f, -0.003483f, 0.000977f, 0.005245f, -0.008450f, 0.002932f, 0.000334f, 0.003007f, 0.003941f, 0.000061f, 0.003079f, 0.006015f, 0.000018f, 0.001797f, 0.004275f, 0.004804f, 0.006143f, -0.000167f, 0.001054f, -0.003050f, -0.000875f, 0.000411f, -0.001468f, -0.004349f, 0.000315f, -0.001181f, -0.001925f, 0.000592f, 0.024925f, 0.001005f, 0.000358f, -0.002243f, -0.004804f, 0.004525f, 0.001090f, -0.012632f, -0.016205f, -0.021981f, -0.011493f, -0.023001f, -0.014607f, -0.007798f, -0.017009f, -0.010734f, -0.007410f, + -0.008812f, -0.023013f, 0.015879f, 0.009963f, 0.000643f, 0.008389f, 0.003888f, -0.006358f, 0.028696f, 0.001807f, -0.009838f, -0.005152f, -0.019354f, -0.008307f, 0.021386f, 0.001079f, -0.017835f, -0.017848f, 0.002669f, -0.018067f, 0.005865f, 0.006388f, -0.014042f, 0.000596f, 0.004472f, 0.001038f, 0.021055f, 0.006323f, -0.009519f, 0.002156f, -0.011425f, 0.010631f, 0.001576f, 0.004727f, -0.025599f, 0.017736f, -0.008751f, 0.007410f, 0.000666f, 0.003467f, 0.004287f, 0.000695f, -0.007402f, -0.000558f, -0.009949f, 0.000054f, -0.020161f, -0.000079f, -0.021754f, 0.028814f, -0.004817f, 0.018344f, -0.013387f, -0.006265f, -0.002812f, -0.013864f, -0.007679f, 0.011277f, -0.000321f, -0.000398f, 0.008418f, 0.010842f, 0.001817f, 0.017684f, 0.015366f, 0.021262f, 0.011393f, 0.004545f, 0.002679f, 0.009673f, 0.005238f, 0.003242f, 0.004013f, 0.002219f, 0.004826f, -0.001298f, 0.007826f, 0.001388f, -0.000399f, -0.001587f, 0.006121f, 0.002490f, 0.004387f, 0.002191f, -0.002727f, 0.002099f, 0.002482f, 0.002038f, -0.004557f, 0.008937f, 0.004902f, -0.000818f, -0.006682f, -0.000698f, -0.000911f, -0.004836f, + 0.001892f, 0.000934f, 0.005176f, -0.004114f, -0.009263f, -0.012770f, -0.000066f, 0.009373f, -0.024514f, -0.000020f, -0.010604f, -0.008491f, 0.017338f, -0.028273f, -0.026708f, 0.006947f, 0.035583f, 0.000902f, 0.003373f, 0.002727f, -0.005437f, 0.019481f, 0.018914f, 0.010923f, 0.005357f, -0.005143f, -0.028946f, 0.017141f, 0.000134f, -0.023192f, -0.007492f, 0.005365f, -0.001184f, 0.000183f, 0.002357f, -0.005594f, -0.022839f, -0.001298f, 0.000921f, -0.004185f, -0.009550f, 0.006837f, 0.019786f, -0.025556f, 0.015879f, -0.009590f, -0.004824f, 0.001504f, 0.012597f, 0.041491f, -0.026856f, -0.006780f, 0.002621f, -0.002677f, -0.004927f, 0.001356f, -0.010305f, 0.003565f, -0.009308f, 0.028519f, 0.009799f, 0.005329f, 0.007860f, -0.006049f, -0.001662f, 0.015087f, -0.002389f, 0.006547f, -0.012574f, 0.021888f, 0.000959f, -0.015527f, 0.030624f, -0.019543f, 0.014092f, 0.004000f, 0.006943f, 0.022262f, -0.008897f, 0.009467f, -0.001100f, 0.000023f, 0.002671f, -0.001514f, -0.015056f, -0.007990f, -0.000983f, -0.006671f, -0.002376f, -0.003646f, -0.009242f, -0.009452f, -0.007097f, 0.004372f, -0.008095f, 0.004632f, + -0.002175f, -0.000354f, -0.007105f, -0.004873f, -0.005246f, 0.004145f, -0.009804f, 0.000959f, 0.000932f, 0.005919f, 0.009283f, -0.003671f, -0.001785f, -0.008396f, -0.007166f, 0.000476f, -0.006306f, 0.001745f, -0.001182f, -0.005594f, 0.000089f, -0.001714f, 0.002517f, 0.003322f, -0.002352f, 0.030376f, 0.002390f, 0.007934f, 0.009024f, -0.005063f, -0.017460f, -0.013685f, 0.002117f, 0.030388f, 0.017232f, 0.003759f, -0.027141f, 0.003936f, -0.014920f, 0.000112f, 0.030401f, 0.029245f, 0.014778f, 0.019776f, -0.017805f, -0.036884f, -0.019310f, -0.026576f, 0.014766f, -0.000239f, -0.004481f, -0.000076f, -0.020116f, -0.005951f, 0.006242f, -0.003756f, -0.007635f, -0.007414f, 0.021544f, -0.001364f, 0.005872f, -0.006091f, 0.014129f, 0.003022f, -0.008132f, -0.017092f, -0.013140f, 0.039005f, -0.001666f, -0.008781f, 0.012464f, -0.022238f, 0.006996f, -0.012713f, -0.038902f, -0.008696f, -0.005052f, 0.011813f, 0.004523f, 0.010383f, 0.003296f, 0.015435f, 0.000587f, 0.001108f, 0.008533f, -0.037993f, -0.006000f, -0.010177f, -0.002708f, 0.003734f, 0.021848f, 0.024169f, 0.008704f, -0.006272f, -0.016630f, -0.021813f, + -0.007331f, -0.012815f, 0.002761f, -0.006351f, -0.006809f, -0.015007f, 0.022526f, 0.016278f, 0.006603f, 0.020758f, -0.004926f, 0.008319f, 0.012707f, -0.008040f, 0.007570f, -0.005161f, 0.001660f, 0.007605f, -0.002296f, -0.004957f, -0.002079f, -0.002713f, -0.001965f, -0.000121f, 0.000513f, 0.007540f, 0.000304f, 0.000949f, 0.002302f, -0.004102f, -0.011510f, 0.000522f, -0.002682f, -0.001436f, -0.002082f, -0.006714f, -0.000768f, 0.002319f, 0.010240f, 0.008478f, -0.004750f, 0.001245f, 0.006738f, -0.001362f, 0.001552f, -0.002356f, 0.001546f, 0.006531f, 0.000814f, 0.007161f, -0.043999f, -0.028777f, -0.006685f, -0.010498f, 0.022436f, 0.015403f, -0.003712f, 0.038657f, -0.039125f, -0.009143f, -0.014783f, 0.041293f, 0.019797f, -0.013604f, 0.015207f, 0.005772f, -0.016108f, 0.028513f, -0.031498f, 0.015559f, -0.014519f, 0.002439f, 0.003407f, -0.010526f, 0.027532f, -0.019387f, 0.016898f, -0.008085f, -0.040564f, -0.006744f, 0.028299f, -0.017163f, -0.027702f, 0.000362f, -0.003473f, -0.041434f, -0.007765f, 0.016604f, 0.007028f, 0.022075f, 0.016225f, -0.004693f, 0.039821f, -0.009546f, -0.012287f, -0.019606f, + -0.018262f, -0.017658f, 0.010919f, 0.014867f, -0.012842f, -0.014477f, 0.004756f, -0.012558f, 0.016689f, -0.004610f, 0.009052f, -0.006793f, -0.010373f, -0.007959f, -0.000244f, -0.023452f, 0.006335f, 0.016901f, -0.003967f, 0.007307f, 0.010147f, 0.012000f, 0.021631f, -0.015495f, 0.006951f, 0.016875f, -0.002187f, -0.035954f, -0.038280f, 0.004213f, -0.003647f, 0.002844f, -0.014015f, -0.005817f, 0.002813f, -0.013860f, -0.025156f, -0.007682f, 0.018975f, 0.015404f, -0.007569f, -0.003060f, 0.005838f, 0.005213f, -0.002997f, -0.006102f, 0.000455f, -0.000796f, -0.009887f, -0.003653f, 0.010513f, -0.003010f, 0.008449f, 0.001540f, -0.002621f, -0.005157f, 0.006792f, 0.006707f, 0.007861f, 0.000964f, -0.004394f, 0.004583f, -0.011765f, -0.007040f, 0.005826f, 0.002742f, 0.005004f, 0.009206f, -0.004664f, 0.001936f, 0.003627f, 0.004511f, 0.000887f, -0.005339f, -0.007701f, 0.003501f, -0.004176f, -0.002532f, 0.031769f, -0.019652f, -0.049898f, 0.000464f, 0.036021f, 0.045894f, 0.008801f, -0.016590f, -0.012357f, 0.004932f, -0.007872f, -0.006973f, 0.020342f, 0.020586f, -0.009689f, 0.019871f, -0.024603f, -0.002812f, + 0.018257f, -0.008532f, 0.022049f, 0.010468f, -0.002715f, -0.029693f, 0.011754f, -0.006775f, -0.006802f, 0.001761f, -0.001920f, -0.002963f, 0.041374f, -0.019962f, 0.021277f, 0.035402f, 0.024729f, 0.013060f, 0.000788f, -0.023038f, 0.023598f, -0.012807f, 0.022503f, -0.012292f, 0.005465f, -0.024237f, -0.004359f, -0.022898f, -0.014820f, 0.003700f, -0.021145f, -0.005757f, -0.007131f, -0.000695f, 0.019517f, -0.022370f, -0.019029f, -0.006897f, -0.010764f, -0.004396f, -0.018851f, -0.024672f, -0.030715f, 0.003318f, 0.024519f, -0.001499f, -0.014930f, 0.002757f, 0.005549f, 0.019343f, -0.020684f, -0.011903f, -0.006317f, -0.000366f, 0.014802f, 0.000426f, 0.004460f, -0.014376f, -0.005627f, 0.007764f, 0.029581f, 0.013238f, 0.020591f, 0.023589f, 0.030897f, 0.012036f, -0.003624f, -0.010497f, 0.007929f, 0.009603f, 0.013956f, 0.006019f, 0.001839f, 0.000315f, 0.019008f, 0.006912f, -0.006257f, 0.001783f, 0.010932f, 0.004499f, 0.003108f, -0.006448f, -0.006012f, -0.004396f, -0.008592f, 0.000958f, 0.009345f, 0.008706f, 0.002487f, -0.004621f, 0.012808f, 0.007366f, 0.016061f, 0.008392f, 0.001137f, 0.010667f, + 0.000823f, -0.007650f, 0.012507f, 0.000266f, -0.000887f, -0.004143f, 0.003065f, -0.002467f, 0.000502f, 0.010690f, -0.084133f, -0.039993f, 0.028068f, -0.068698f, -0.047624f, -0.003067f, -0.028032f, -0.019214f, 0.020962f, 0.023984f, 0.007341f, -0.004397f, 0.008679f, 0.068621f, -0.008416f, 0.010991f, 0.026405f, 0.030118f, -0.031297f, -0.016218f, -0.014828f, 0.025353f, 0.027641f, 0.013916f, 0.005078f, 0.025923f, -0.007623f, -0.012947f, 0.018173f, 0.035079f, 0.002482f, 0.011361f, 0.035632f, 0.026334f, 0.021426f, -0.015959f, 0.006737f, 0.010844f, -0.000086f, -0.000539f, 0.022862f, -0.007452f, -0.000380f, -0.002261f, 0.015259f, 0.000629f, -0.025048f, -0.016691f, 0.004995f, -0.033919f, 0.025719f, -0.007484f, 0.056853f, 0.002334f, 0.031167f, 0.006258f, -0.001394f, -0.018270f, -0.000916f, 0.007367f, -0.024091f, -0.012305f, -0.028139f, -0.003472f, 0.014334f, 0.019664f, -0.008588f, -0.045646f, 0.016518f, -0.007181f, 0.015549f, -0.016309f, -0.019644f, 0.014448f, -0.029682f, -0.022575f, 0.044082f, 0.000757f, 0.020263f, -0.004062f, -0.019187f, 0.005409f, 0.025926f, 0.006437f, 0.020598f, -0.033396f, + -0.001748f, -0.002164f, -0.005641f, -0.028692f, 0.028029f, -0.016659f, 0.001966f, -0.003171f, 0.003293f, -0.010565f, -0.001151f, 0.006027f, 0.008510f, -0.007009f, 0.018311f, -0.004420f, -0.006006f, -0.010668f, -0.009329f, -0.009187f, 0.008733f, -0.003455f, -0.006638f, -0.002603f, 0.002213f, -0.006956f, 0.012749f, -0.003721f, 0.014442f, -0.009004f, 0.006051f, 0.002388f, 0.005682f, 0.009577f, 0.001776f, 0.034149f, -0.015523f, -0.039443f, 0.016966f, -0.020587f, 0.008671f, -0.000497f, -0.019612f, 0.036350f, -0.048538f, -0.001979f, -0.058600f, 0.001457f, 0.047435f, 0.066327f, 0.031414f, -0.011361f, 0.030702f, -0.002302f, -0.004199f, 0.003321f, -0.005142f, 0.016328f, -0.001957f, -0.031007f, 0.001879f, -0.043099f, 0.015249f, -0.013323f, -0.009549f, 0.028942f, -0.000517f, -0.033137f, -0.036999f, 0.008617f, 0.005195f, -0.018452f, -0.015313f, 0.027787f, -0.040108f, -0.000196f, -0.008026f, 0.014204f, -0.010702f, -0.008697f, -0.032062f, -0.013646f, -0.014103f, -0.005980f, 0.023269f, -0.027472f, 0.009991f, -0.003332f, -0.004670f, 0.003629f, 0.010092f, -0.046518f, -0.004848f, 0.006331f, -0.004004f, 0.017240f, + -0.014552f, -0.020544f, -0.009267f, -0.052055f, -0.022857f, -0.022682f, 0.001207f, 0.022255f, 0.033598f, -0.015815f, 0.025456f, -0.043401f, 0.069730f, 0.004798f, -0.012373f, 0.036439f, -0.043057f, 0.036573f, 0.016469f, -0.009748f, 0.000894f, 0.012222f, 0.001107f, 0.005867f, 0.033432f, -0.014208f, 0.014350f, -0.007681f, 0.010426f, 0.016633f, 0.016502f, 0.020014f, -0.006732f, 0.016881f, 0.004133f, 0.002562f, -0.002635f, -0.022390f, 0.001019f, -0.015876f, 0.007503f, 0.010366f, -0.003274f, -0.002454f, 0.003175f, 0.002310f, 0.011403f, 0.005222f, -0.007934f, 0.012214f, 0.000046f, 0.001480f, 0.015243f, 0.010328f, 0.006234f, 0.027346f, -0.022201f, 0.000223f, 0.010222f, 0.000087f, -0.017373f, 0.004339f, -0.010946f, -0.010510f, 0.042545f, 0.002271f, -0.030636f, -0.000831f, -0.004761f, 0.019654f, 0.012909f, -0.018750f, 0.021340f, 0.000245f, -0.048128f, -0.052403f, -0.005140f, -0.015889f, 0.012907f, -0.002392f, -0.018585f, -0.047248f, -0.041216f, 0.022263f, -0.035086f, -0.007992f, 0.002091f, 0.010919f, 0.002497f, 0.033436f, 0.002701f, -0.017125f, 0.022389f, -0.003136f, 0.003182f, 0.020631f, + -0.027481f, -0.001942f, 0.005833f, -0.028083f, 0.016842f, 0.023068f, 0.010023f, 0.020512f, 0.010694f, 0.031848f, 0.008641f, 0.023148f, -0.032813f, -0.010358f, -0.005309f, -0.044063f, -0.000322f, -0.004889f, 0.018303f, -0.003078f, 0.020995f, -0.003649f, -0.025575f, -0.017492f, -0.001394f, -0.040759f, 0.017737f, 0.000991f, -0.007968f, 0.023627f, 0.014977f, 0.019606f, 0.020408f, 0.006142f, -0.002528f, 0.017108f, -0.055153f, 0.016586f, 0.006872f, 0.024543f, -0.009804f, -0.039011f, 0.024430f, -0.005993f, 0.042033f, -0.062202f, -0.022163f, -0.043594f, 0.029696f, -0.012790f, -0.040019f, -0.044661f, -0.029401f, -0.013290f, 0.014149f, 0.011074f, -0.012274f, -0.012764f, -0.006698f, -0.000903f, -0.013545f, -0.005215f, 0.022685f, 0.003434f, -0.002214f, 0.006586f, 0.004932f, 0.004083f, 0.012303f, -0.009651f, -0.012710f, -0.000401f, -0.022055f, -0.000079f, -0.007761f, -0.003216f, -0.014243f, -0.003904f, -0.019424f, -0.017434f, 0.021967f, -0.012349f, -0.000811f, 0.007341f, 0.010576f, -0.001915f, 0.018441f, -0.015400f, -0.004972f, 0.007593f, -0.018097f, -0.004992f, 0.021172f, 0.007581f, 0.004746f, -0.007262f, + -0.010932f, 0.008171f, 0.029169f, 0.027043f, 0.098929f, 0.074747f, 0.010132f, 0.021671f, 0.006285f, 0.057427f, 0.001591f, 0.027950f, -0.026074f, 0.068012f, -0.026929f, 0.061677f, -0.002757f, 0.039394f, -0.004567f, 0.027797f, -0.027637f, 0.006650f, 0.013916f, -0.015179f, -0.004932f, -0.008166f, -0.006354f, 0.018378f, 0.000475f, -0.015903f, -0.021834f, -0.033039f, -0.041940f, -0.020219f, -0.007025f, 0.000222f, 0.013260f, -0.035406f, 0.015046f, -0.019504f, -0.029972f, -0.006287f, -0.021882f, 0.009979f, -0.005285f, -0.046070f, -0.010885f, -0.023449f, -0.027667f, -0.029174f, 0.026523f, 0.035285f, -0.073830f, 0.016711f, 0.006647f, 0.020701f, 0.007407f, -0.009378f, 0.044799f, 0.025093f, 0.023487f, -0.061914f, -0.027587f, -0.000878f, 0.015346f, 0.051142f, 0.002019f, -0.006995f, 0.002583f, 0.043309f, 0.039076f, -0.037005f, 0.041811f, 0.003013f, 0.009474f, -0.007139f, 0.024584f, -0.052721f, -0.018326f, 0.054162f, -0.008214f, -0.003620f, -0.020779f, 0.036079f, 0.023757f, -0.018806f, -0.031537f, -0.005564f, -0.001239f, 0.003105f, 0.000596f, -0.006885f, -0.029386f, -0.010214f, 0.023137f, 0.030045f, + 0.018833f, -0.016788f, -0.004277f, -0.005007f, -0.014142f, 0.004498f, 0.004906f, 0.013808f, -0.002931f, -0.009996f, 0.008863f, 0.003227f, 0.005398f, 0.027158f, 0.003849f, -0.007757f, -0.010240f, 0.004535f, 0.009946f, 0.021101f, 0.004417f, -0.020853f, -0.010909f, -0.015707f, 0.006309f, 0.007744f, -0.016961f, -0.036624f, 0.011934f, -0.003175f, -0.005981f, -0.012934f, -0.022295f, 0.026644f, -0.011261f, 0.023150f, 0.036295f, -0.042103f, 0.012403f, -0.024278f, 0.068843f, -0.041584f, 0.038673f, 0.035599f, -0.014261f, -0.065315f, -0.038225f, -0.004797f, -0.017756f, -0.002453f, -0.030223f, -0.047727f, -0.063317f, -0.036521f, -0.042333f, 0.017519f, -0.036282f, 0.014366f, 0.003735f, -0.004643f, -0.004218f, -0.029985f, -0.009624f, -0.030791f, 0.008363f, 0.026500f, 0.034894f, 0.000105f, -0.010461f, -0.031600f, -0.007919f, 0.002548f, -0.018984f, 0.004728f, -0.025989f, -0.017154f, -0.004158f, -0.025847f, 0.019508f, -0.022895f, -0.066470f, 0.001891f, -0.002549f, -0.022346f, 0.027608f, 0.021460f, 0.031530f, 0.011724f, 0.024703f, 0.050424f, 0.008077f, -0.051307f, -0.012079f, 0.023293f, -0.011657f, -0.042753f, + 0.023069f, 0.032842f, 0.010770f, -0.000825f, -0.057534f, 0.050367f, -0.002924f, 0.040997f, -0.035010f, 0.041521f, 0.102728f, -0.009739f, -0.003447f, -0.051025f, 0.026668f, -0.041624f, 0.034123f, 0.016968f, -0.023055f, -0.005669f, -0.056218f, 0.012221f, -0.030873f, -0.000148f, 0.020979f, 0.020863f, -0.001235f, -0.015043f, -0.012914f, 0.014687f, 0.037259f, -0.018959f, -0.003406f, 0.005153f, -0.016903f, -0.005440f, -0.005647f, 0.007263f, -0.002279f, 0.015187f, -0.007701f, -0.018762f, -0.010499f, 0.004814f, 0.013827f, -0.018589f, -0.006025f, -0.000954f, 0.002022f, 0.012639f, 0.002438f, -0.005192f, 0.004313f, -0.031102f, -0.017861f, -0.002536f, -0.003227f, 0.005653f, 0.001371f, 0.001804f, -0.000987f, -0.005922f, 0.015115f, -0.001498f, 0.011165f, -0.001421f, -0.003756f, -0.011904f, -0.008119f, -0.081031f, 0.027691f, -0.106323f, 0.070431f, 0.025314f, -0.018069f, 0.075068f, -0.007081f, -0.038018f, 0.066576f, -0.025442f, -0.003505f, 0.014205f, 0.023358f, 0.061592f, 0.002612f, -0.004836f, 0.043481f, 0.018582f, 0.036529f, 0.044765f, 0.033177f, 0.003238f, 0.023219f, 0.003845f, -0.002226f, -0.024222f, + 0.015724f, 0.023598f, 0.005749f, -0.001197f, -0.026266f, 0.012868f, -0.024603f, 0.029944f, 0.029420f, 0.005330f, 0.034741f, -0.021108f, 0.022965f, 0.036181f, 0.023009f, -0.048244f, -0.052042f, 0.061510f, -0.005856f, 0.038577f, 0.059560f, 0.001681f, 0.000138f, -0.005914f, 0.011775f, 0.034651f, 0.032727f, 0.003701f, 0.027198f, 0.000314f, -0.030869f, -0.038323f, -0.057142f, 0.001315f, -0.023162f, 0.001134f, 0.032500f, 0.030687f, -0.053457f, 0.004916f, 0.020826f, -0.046620f, 0.007857f, 0.065642f, -0.028270f, -0.032248f, 0.035109f, -0.037342f, 0.008727f, -0.010249f, 0.068541f, -0.019569f, 0.042350f, -0.020642f, 0.035596f, -0.002989f, 0.013246f, 0.028774f, -0.044720f, -0.013270f, 0.017068f, -0.029279f, 0.021749f, -0.026238f, -0.007354f, -0.014656f, -0.013687f, 0.002290f, -0.007354f, -0.011824f, 0.007170f, 0.020739f, -0.010255f, 0.005944f, 0.007429f, -0.017288f, 0.003117f, 0.002799f, -0.004555f, -0.012109f, -0.005170f, -0.009262f, -0.028761f, -0.011024f, 0.006152f, -0.037356f, 0.013649f, -0.018952f, 0.014549f, -0.008393f, -0.003679f, -0.026075f, -0.013860f, 0.000723f, 0.007290f, -0.011288f, + -0.025851f, 0.004707f, 0.001726f, 0.014264f, 0.005915f, 0.000439f, 0.016753f, 0.013879f, 0.001382f, 0.007702f, -0.037235f, 0.008230f, -0.043127f, 0.088475f, 0.021671f, -0.047352f, 0.017944f, -0.011052f, -0.042140f, -0.049676f, -0.050381f, 0.014822f, -0.002518f, 0.044333f, 0.065838f, 0.031571f, 0.015928f, -0.008073f, 0.021846f, 0.001993f, -0.082928f, 0.036255f, 0.086080f, -0.056485f, -0.059279f, -0.051298f, -0.072450f, 0.052259f, -0.071340f, 0.031971f, 0.000426f, -0.009055f, -0.000503f, -0.023303f, -0.027623f, 0.035243f, -0.073392f, 0.075258f, 0.043227f, 0.009855f, -0.048305f, -0.036631f, -0.032010f, 0.006592f, 0.012548f, -0.031394f, -0.004375f, -0.023230f, 0.051873f, 0.023359f, -0.009433f, -0.001756f, 0.021295f, 0.004610f, 0.024314f, -0.042654f, -0.016880f, -0.004265f, -0.007587f, -0.039698f, -0.027862f, 0.023260f, -0.075187f, -0.044530f, 0.005652f, 0.087610f, 0.042310f, -0.026981f, -0.001866f, -0.066991f, 0.032417f, 0.101643f, 0.003534f, -0.022145f, -0.015381f, -0.048357f, 0.062683f, -0.020427f, -0.024309f, -0.002367f, 0.037132f, 0.023104f, -0.032322f, -0.029355f, -0.010453f, 0.032500f, + -0.008796f, 0.009324f, -0.002609f, -0.026293f, -0.008485f, 0.041237f, 0.023729f, 0.003113f, -0.019310f, -0.003369f, -0.002962f, 0.032082f, 0.026332f, 0.012891f, 0.011879f, -0.038708f, 0.014663f, 0.013519f, -0.005771f, 0.008401f, -0.006027f, -0.005808f, -0.033641f, -0.003892f, -0.001731f, -0.005085f, -0.010735f, 0.008690f, 0.012335f, 0.006145f, -0.039544f, -0.034368f, -0.016759f, -0.000452f, 0.002426f, -0.040241f, 0.014254f, 0.049806f, 0.010140f, -0.014261f, 0.000980f, 0.007423f, 0.000203f, -0.000069f, -0.041384f, -0.028563f, -0.082556f, 0.017834f, -0.060875f, -0.090927f, 0.021151f, 0.050016f, 0.012176f, 0.013307f, -0.038592f, -0.048216f, -0.012665f, -0.071356f, -0.035168f, 0.018431f, -0.059764f, 0.093696f, 0.018090f, -0.023226f, 0.019996f, -0.045145f, -0.089093f, -0.029986f, -0.068187f, 0.010629f, 0.019674f, -0.025110f, -0.048557f, -0.024694f, -0.030035f, 0.025917f, -0.035678f, -0.013115f, -0.004806f, 0.039998f, -0.029255f, -0.005480f, -0.013792f, 0.010093f, 0.016580f, 0.002886f, -0.012221f, 0.041271f, 0.053981f, 0.034486f, -0.027964f, -0.022909f, -0.079926f, -0.044531f, -0.018441f, 0.020944f, + 0.133704f, -0.023053f, 0.001351f, 0.059457f, -0.005639f, 0.025227f, -0.030693f, -0.031880f, -0.025876f, 0.028124f, -0.075844f, 0.000404f, -0.010263f, -0.001131f, 0.065188f, -0.028935f, 0.098802f, 0.008602f, 0.074813f, -0.095826f, -0.028940f, 0.027519f, -0.002150f, -0.041667f, -0.035226f, 0.077489f, -0.080290f, -0.066179f, 0.095009f, 0.016639f, 0.082456f, -0.032998f, -0.005765f, -0.005884f, 0.026359f, 0.011251f, -0.007850f, 0.028037f, 0.027950f, -0.001647f, 0.013004f, 0.008775f, 0.002714f, -0.009900f, -0.018088f, -0.004163f, -0.012061f, -0.015887f, 0.014432f, 0.008455f, -0.013648f, 0.009506f, -0.029489f, -0.002955f, 0.020367f, 0.035978f, -0.003163f, -0.022775f, -0.001994f, -0.025909f, 0.014520f, 0.024730f, -0.017550f, -0.014242f, 0.013643f, 0.016498f, -0.037197f, 0.013202f, 0.001359f, 0.024089f, -0.015975f, -0.016181f, -0.000450f, 0.007660f, 0.010951f, -0.041523f, 0.006481f, -0.017563f, 0.032691f, -0.011438f, -0.004933f, -0.082201f, 0.039102f, 0.060263f, -0.043764f, -0.035985f, -0.012321f, -0.039525f, -0.047602f, 0.012665f, 0.014043f, 0.036920f, 0.001600f, 0.032254f, 0.057444f, 0.059922f, + 0.039771f, 0.013723f, -0.043996f, 0.004270f, 0.022843f, 0.030278f, 0.046605f, 0.000433f, -0.024153f, -0.035171f, -0.013281f, 0.047217f, -0.019417f, 0.018527f, 0.041067f, 0.003971f, 0.080710f, 0.009225f, -0.051532f, 0.044444f, 0.043968f, 0.012595f, 0.018957f, 0.040711f, 0.006520f, 0.003361f, -0.047286f, 0.102051f, -0.108891f, -0.080161f, -0.092885f, -0.030866f, 0.019230f, -0.054723f, 0.028064f, 0.060802f, -0.018054f, 0.005840f, 0.053741f, 0.017029f, -0.058191f, -0.020350f, -0.045028f, -0.006608f, 0.003380f, 0.002809f, 0.051973f, 0.050909f, -0.011709f, -0.013063f, 0.032665f, 0.078467f, 0.013686f, 0.064518f, -0.054524f, 0.057323f, -0.025188f, 0.018868f, -0.011459f, -0.036895f, -0.025487f, -0.006027f, 0.026083f, 0.015731f, 0.064222f, -0.083268f, 0.042315f, -0.033098f, -0.020461f, -0.016432f, 0.030809f, -0.014893f, -0.002836f, 0.006422f, -0.033251f, 0.020581f, -0.016247f, -0.001418f, -0.025229f, 0.007512f, -0.005068f, 0.000799f, -0.028417f, 0.003899f, -0.002563f, 0.005349f, -0.002736f, -0.031379f, 0.012445f, -0.018035f, -0.016042f, -0.007695f, 0.023186f, 0.026406f, 0.029657f, -0.025794f, + 0.050948f, -0.038764f, -0.011513f, 0.002483f, -0.004091f, -0.028783f, -0.015175f, -0.002093f, -0.021189f, 0.005607f, -0.001683f, -0.001407f, -0.002454f, -0.021505f, 0.002788f, -0.004021f, -0.046487f, -0.093536f, -0.094146f, -0.068136f, 0.013992f, 0.174922f, 0.044214f, -0.024119f, -0.052877f, -0.126387f, -0.177780f, 0.040147f, 0.073641f, 0.088402f, -0.018594f, 0.007669f, -0.052126f, -0.090689f, 0.026157f, 0.016475f, 0.029518f, 0.004273f, -0.076056f, -0.023232f, 0.018590f, -0.015284f, -0.002996f, -0.014383f, 0.099111f, 0.087035f, 0.058688f, -0.005362f, -0.042535f, -0.072240f, -0.047819f, -0.043225f, 0.067703f, -0.011209f, 0.049543f, 0.022413f, 0.023205f, -0.030446f, -0.164670f, -0.113368f, 0.055993f, -0.089203f, -0.030440f, 0.190007f, 0.130646f, 0.098175f, -0.074402f, 0.053779f, -0.051529f, 0.003785f, 0.003783f, 0.027591f, 0.080602f, 0.142052f, -0.054370f, -0.005047f, -0.093642f, -0.075649f, -0.123932f, 0.013472f, -0.005103f, -0.133434f, -0.031954f, 0.085986f, 0.032144f, 0.060024f, 0.081348f, 0.146576f, -0.106737f, -0.064049f, 0.008498f, -0.087114f, -0.011207f, 0.048756f, 0.114182f, 0.058066f, + 0.017852f, -0.069630f, -0.066761f, 0.045122f, -0.018987f, 0.067313f, 0.059184f, -0.015932f, 0.027135f, 0.010926f, -0.011344f, -0.022342f, -0.012992f, -0.008399f, 0.020135f, 0.005874f, -0.000469f, 0.007044f, -0.002039f, 0.009762f, 0.000315f, 0.042629f, 0.035059f, 0.055553f, 0.010055f, -0.030440f, -0.064152f, -0.052398f, 0.021410f, 0.049930f, 0.057195f, -0.007096f, -0.036439f, -0.147624f, -0.075831f, -0.069844f, 0.001752f, 0.007562f, 0.015171f, -0.000444f, 0.011083f, -0.016640f, 0.000008f, -0.024663f, -0.022040f, 0.031326f, 0.027655f, 0.016114f, 0.016280f, 0.008230f, 0.003788f, 0.043330f, -0.070261f, -0.232704f, -0.216543f, -0.124283f, -0.135165f, -0.033678f, 0.224208f, 0.113939f, 0.230674f, 0.204713f, 0.320849f, 0.229166f, 0.197121f, 0.031842f, -0.085531f, -0.193386f, -0.309932f, -0.263180f, -0.265074f, -0.138506f, -0.066488f, -0.015570f, 0.002238f, 0.007673f, 0.054754f, 0.073199f, 0.184495f, 0.112087f, 0.217720f, 0.141874f, 0.186632f, 0.067577f, 0.180333f, 0.062705f, 0.044130f, 0.042739f, -0.010711f, -0.050554f, -0.122050f, -0.140791f, -0.261484f, -0.179066f, -0.331353f, -0.262102f, + -0.402167f, -0.238368f, -0.189195f, -0.045581f, 0.110525f, 0.058856f, 0.009934f, 0.110406f, 0.235826f, 0.315103f, 0.413032f, 0.492411f, 0.421274f, 0.307830f, 0.383779f, 0.316737f, 0.177505f, 0.079913f, -0.019692f, -0.131952f, -0.305488f, -0.362737f, -0.485894f, -0.627235f, -0.725990f, -0.655043f, -0.577414f, -0.410847f, -0.280587f, 0.086045f, 0.270586f, 0.329908f, 0.507880f, 0.424163f, 0.529662f, 0.556768f, 0.546060f, 0.629623f, 0.413234f, 0.107448f, -0.104066f, -0.201662f, -0.249751f, -0.161599f, -0.233906f, -0.200411f, -0.234098f, -0.316656f, -0.320430f, -0.372895f, -0.220911f, -0.171848f, -0.146649f, -0.081833f, -0.005044f, 0.022103f, 0.090516f, 0.246019f, 0.259060f, 0.368024f, 0.320192f, 0.420889f, 0.309344f, 0.206865f, 0.213257f, 0.081432f, -0.056075f, -0.091262f, -0.405984f, -0.523181f, -0.487361f, -0.429882f, -0.251888f, -0.197509f, -0.108200f, 0.009526f, 0.109542f, 0.167268f, 0.227143f, 0.271422f, 0.322529f, 0.306463f, 0.289496f, 0.255079f, 0.142338f, -0.000567f, -0.072406f, -0.168279f, -0.176298f, -0.150816f, -0.123358f, -0.128319f, -0.130115f, -0.102088f, -0.073510f, -0.043437f, + -0.018375f, -0.016628f, -0.012075f, 0.003653f, -0.012774f, -0.014846f, 0.017627f, 0.041846f, 0.046475f, 0.030613f, 0.021475f, 0.035935f, 0.043311f, 0.031792f, 0.028928f, 0.026921f, 0.016867f, 0.011463f, 0.009708f}, + {-0.022382f, 0.008214f, -0.012780f, 0.006803f, -0.007245f, -0.014779f, -0.025478f, 0.004400f, 0.000678f, 0.006315f, 0.005545f, -0.001848f, -0.001942f, 0.001843f, 0.015282f, -0.010980f, -0.019535f, 0.006374f, -0.008126f, -0.013117f, 0.000154f, -0.002024f, 0.007981f, 0.002794f, 0.005671f, -0.005939f, -0.001532f, -0.003922f, 0.013006f, -0.003649f, -0.005366f, -0.004741f, -0.002384f, -0.003244f, -0.005331f, -0.004724f, -0.003298f, 0.002505f, 0.001031f, 0.001625f, 0.000368f, 0.003319f, 0.005474f, 0.002731f, -0.005023f, -0.014861f, -0.000227f, -0.010362f, 0.001413f, -0.000788f, -0.004760f, 0.006518f, 0.000369f, -0.000046f, -0.014800f, -0.006106f, 0.001890f, -0.001247f, 0.005060f, 0.000282f, 0.004494f, -0.004368f, 0.001816f, -0.001948f, 0.008999f, -0.003314f, 0.004699f, -0.008221f, -0.008172f, -0.010324f, 0.000425f, -0.002524f, -0.003067f, -0.000029f, -0.003658f, -0.000161f, -0.004252f, 0.000788f, 0.000101f, -0.001854f, -0.006525f, 0.000546f, 0.000586f, 0.003609f, 0.003179f, -0.000065f, 0.003392f, -0.000465f, -0.002782f, -0.000987f, -0.001359f, 0.001259f, -0.000112f, 0.000094f, 0.001876f, 0.001328f, + -0.000334f, 0.001690f, -0.001280f, -0.016016f, -0.003346f, -0.002140f, -0.004575f, -0.002087f, -0.005506f, 0.005251f, -0.002210f, -0.001898f, -0.000508f, 0.000080f, -0.000377f, -0.003881f, 0.014099f, 0.009074f, 0.014737f, -0.006956f, 0.014666f, -0.008751f, -0.006183f, 0.005701f, 0.016245f, -0.000384f, -0.009955f, -0.014621f, -0.010558f, -0.002041f, 0.011555f, 0.004547f, 0.003861f, 0.005140f, -0.005187f, 0.007894f, 0.000929f, 0.005895f, -0.002967f, -0.013318f, 0.003536f, -0.009220f, -0.006391f, -0.006472f, -0.001626f, -0.016901f, -0.000874f, 0.000785f, -0.007151f, 0.015765f, -0.003090f, -0.005110f, -0.006441f, -0.000167f, 0.001638f, -0.006768f, 0.000127f, -0.008298f, -0.003227f, 0.000223f, -0.003527f, 0.011339f, 0.000241f, -0.003059f, 0.006244f, 0.004074f, 0.010394f, 0.004223f, 0.012516f, 0.003113f, 0.010210f, -0.011779f, 0.002939f, 0.009423f, -0.003346f, -0.008409f, -0.011713f, -0.000219f, -0.001036f, -0.002306f, 0.002721f, 0.003421f, -0.002592f, 0.009043f, -0.007903f, 0.003015f, 0.003016f, -0.005769f, 0.004086f, 0.000970f, -0.004376f, 0.002289f, -0.001213f, 0.000918f, -0.004115f, 0.001259f, + 0.000346f, 0.000766f, -0.000597f, -0.000249f, 0.001808f, 0.000542f, 0.003475f, 0.018138f, -0.008159f, -0.006265f, 0.001864f, -0.003975f, -0.002946f, 0.009127f, -0.007006f, 0.008792f, 0.004059f, 0.000252f, 0.004510f, -0.005790f, -0.005525f, -0.010202f, -0.011009f, 0.014634f, 0.006938f, 0.005191f, 0.007841f, -0.005030f, -0.003353f, -0.003682f, 0.018450f, -0.007049f, 0.020189f, -0.000606f, -0.005079f, -0.004775f, -0.010620f, -0.011396f, -0.013873f, -0.000782f, -0.003461f, 0.002599f, 0.013495f, -0.001064f, -0.006260f, -0.018674f, 0.000697f, 0.014988f, 0.021918f, -0.010179f, 0.005689f, 0.004119f, -0.005525f, -0.004859f, 0.005746f, 0.020818f, -0.004908f, 0.003358f, -0.001741f, -0.002929f, -0.001906f, 0.010041f, 0.014384f, -0.010766f, -0.005863f, 0.004552f, 0.018847f, 0.003244f, 0.013358f, -0.010782f, -0.010066f, -0.000447f, -0.001639f, 0.003922f, 0.002888f, -0.000134f, 0.001209f, 0.002063f, -0.004873f, 0.002399f, 0.006118f, 0.004790f, -0.003658f, 0.012141f, -0.003040f, 0.007675f, -0.003924f, -0.004029f, 0.004542f, 0.003919f, 0.004108f, 0.001038f, 0.004282f, 0.000936f, -0.006228f, -0.004126f, + 0.001240f, -0.000179f, 0.002327f, -0.001053f, 0.003465f, -0.000029f, 0.001944f, -0.001740f, -0.000326f, -0.000041f, -0.000897f, -0.002044f, -0.000179f, -0.001197f, -0.000314f, -0.001464f, -0.001344f, 0.003528f, -0.000031f, -0.001505f, 0.003707f, 0.000202f, 0.029583f, -0.020574f, -0.004657f, -0.008630f, 0.002182f, 0.007777f, 0.014133f, -0.014408f, 0.009642f, -0.003864f, -0.015247f, -0.024562f, -0.005152f, -0.010511f, 0.001587f, -0.002463f, -0.010479f, -0.005406f, 0.005547f, 0.005905f, 0.018947f, 0.010474f, 0.009566f, 0.000881f, 0.002874f, -0.010014f, -0.006851f, 0.015232f, 0.011600f, 0.007865f, 0.003547f, 0.007253f, 0.001425f, -0.000041f, -0.012967f, -0.018235f, 0.011981f, -0.004937f, -0.012355f, -0.005918f, -0.007823f, 0.006390f, -0.006908f, 0.015314f, 0.003406f, -0.008974f, -0.004479f, -0.006894f, -0.006048f, 0.007438f, 0.011168f, -0.001060f, 0.007478f, -0.005682f, -0.006395f, -0.000041f, 0.001378f, -0.006049f, -0.002472f, 0.008816f, -0.000045f, -0.003753f, -0.004529f, 0.004768f, 0.005251f, -0.000764f, 0.006378f, 0.000832f, -0.004777f, 0.015298f, -0.002343f, 0.001620f, 0.000588f, -0.018590f, + 0.007074f, 0.005738f, 0.009459f, 0.006194f, -0.006934f, -0.001619f, -0.016860f, -0.007749f, -0.015486f, -0.005694f, -0.007030f, -0.000007f, 0.001304f, -0.010173f, 0.000283f, -0.002508f, -0.000131f, 0.004241f, -0.001693f, -0.001931f, -0.000500f, -0.002863f, 0.000335f, -0.001492f, 0.000991f, -0.001786f, -0.003936f, -0.001964f, -0.001125f, -0.006385f, -0.000746f, -0.000357f, 0.001137f, -0.000457f, 0.000603f, -0.000409f, -0.000023f, -0.003442f, -0.004550f, 0.000377f, -0.000816f, -0.002015f, 0.000640f, -0.020138f, 0.005365f, 0.000350f, -0.005871f, -0.010967f, 0.004777f, -0.010474f, -0.001814f, 0.018483f, 0.027926f, 0.013824f, 0.015410f, -0.001006f, -0.007585f, 0.011625f, 0.010412f, 0.004479f, 0.005619f, 0.013836f, -0.001893f, 0.010100f, 0.009789f, 0.014352f, 0.013750f, -0.011020f, 0.009256f, -0.000582f, 0.003326f, -0.010258f, 0.003286f, -0.001254f, 0.009429f, -0.003470f, -0.002523f, -0.007203f, 0.006890f, -0.011244f, -0.009138f, 0.001056f, 0.009892f, 0.005481f, -0.005791f, -0.002923f, -0.001714f, -0.003766f, 0.006014f, -0.013556f, 0.012699f, 0.000075f, 0.015771f, -0.022114f, 0.001668f, -0.019903f, + -0.006229f, -0.006252f, 0.005561f, -0.001962f, -0.004472f, 0.004533f, 0.001749f, 0.005535f, 0.008747f, 0.014342f, -0.001673f, -0.011279f, 0.002542f, 0.019280f, 0.003996f, -0.005408f, -0.001316f, 0.011941f, -0.006142f, 0.007321f, -0.005931f, -0.020321f, 0.011911f, 0.012676f, 0.011714f, -0.009972f, -0.015089f, -0.010803f, 0.012946f, -0.001240f, -0.001881f, 0.009244f, 0.003451f, 0.002390f, 0.001652f, -0.000498f, 0.003627f, 0.004889f, -0.001497f, -0.002446f, 0.002762f, 0.000429f, -0.000811f, 0.001758f, -0.002479f, 0.000891f, 0.004219f, -0.001563f, 0.004427f, -0.001674f, -0.003134f, 0.001680f, -0.000010f, 0.000173f, 0.002283f, 0.001837f, 0.002317f, 0.001905f, 0.001688f, 0.000032f, 0.002239f, -0.030559f, 0.000469f, -0.006816f, 0.002761f, -0.017139f, 0.002040f, 0.002769f, 0.022608f, -0.018181f, 0.000185f, -0.024372f, 0.005498f, -0.014751f, -0.003623f, 0.000835f, -0.008002f, 0.006970f, 0.003075f, -0.012794f, 0.000200f, -0.000258f, 0.011738f, -0.007761f, 0.018931f, -0.000298f, -0.016468f, -0.008460f, 0.020152f, -0.002014f, 0.008051f, 0.005298f, -0.003359f, 0.011993f, -0.013381f, -0.012715f, + -0.009858f, 0.001303f, -0.012814f, 0.013518f, -0.007513f, 0.008642f, -0.012406f, -0.000227f, -0.015068f, 0.009804f, 0.001306f, 0.011759f, 0.010564f, -0.010111f, 0.019881f, 0.016882f, 0.016005f, 0.003082f, 0.016808f, 0.013736f, -0.014286f, 0.012163f, 0.005842f, 0.001039f, -0.013261f, 0.006016f, -0.011286f, 0.011089f, -0.004856f, -0.008991f, -0.001089f, 0.016588f, 0.005932f, -0.019306f, 0.018308f, -0.001611f, -0.006481f, -0.011079f, 0.018651f, 0.016033f, -0.013907f, 0.013657f, -0.000997f, -0.016684f, 0.000205f, -0.009531f, -0.005169f, 0.009004f, -0.007986f, 0.006394f, -0.000664f, 0.002765f, -0.003821f, 0.004838f, -0.000678f, -0.000634f, -0.001098f, -0.001962f, 0.001769f, 0.000833f, -0.004627f, 0.001523f, 0.002325f, -0.000140f, 0.001738f, 0.001887f, -0.004339f, 0.000798f, -0.000505f, -0.000054f, -0.003654f, 0.001157f, -0.001485f, -0.002373f, -0.004867f, 0.005472f, 0.001197f, -0.002821f, -0.000732f, 0.043555f, 0.007410f, -0.001728f, -0.015007f, -0.028200f, 0.007210f, -0.004145f, -0.041398f, 0.036336f, -0.017591f, -0.026267f, 0.005561f, -0.001667f, 0.004903f, -0.001685f, 0.007050f, 0.010488f, + 0.000147f, -0.000655f, -0.021153f, -0.001744f, -0.002000f, 0.024966f, -0.004549f, 0.000664f, 0.009192f, -0.004362f, -0.003064f, -0.010136f, 0.021315f, -0.015968f, 0.015404f, -0.003781f, -0.012758f, 0.002409f, -0.014264f, -0.007236f, -0.023171f, 0.004104f, 0.010651f, -0.006247f, -0.011556f, -0.009132f, 0.014021f, -0.021705f, -0.005129f, -0.010692f, -0.000294f, -0.003091f, 0.002839f, -0.018825f, 0.018373f, -0.025711f, -0.017589f, 0.007008f, 0.003118f, -0.000949f, 0.006885f, -0.013321f, -0.019197f, 0.002410f, -0.005212f, -0.000850f, 0.009442f, -0.011452f, 0.008561f, 0.005982f, 0.021201f, -0.005839f, 0.003054f, -0.001599f, 0.000320f, 0.029414f, 0.002477f, 0.029124f, -0.007008f, -0.010888f, 0.003331f, -0.014925f, -0.001318f, 0.014905f, 0.001213f, -0.017367f, -0.015220f, 0.004315f, -0.001601f, 0.000110f, 0.014951f, 0.001207f, -0.002788f, 0.006249f, -0.000831f, -0.000555f, -0.006955f, 0.002633f, 0.003288f, -0.003455f, -0.000073f, -0.001671f, 0.005790f, -0.002554f, -0.001143f, 0.003018f, 0.000793f, 0.001857f, -0.000520f, 0.003363f, -0.001058f, 0.000080f, 0.001791f, -0.003589f, 0.004571f, -0.002810f, + 0.001714f, 0.003886f, 0.002112f, 0.003678f, 0.001027f, -0.032104f, -0.004340f, -0.006651f, -0.026074f, -0.044780f, 0.013608f, 0.023026f, -0.016510f, -0.008013f, 0.012955f, -0.004960f, 0.027649f, -0.003241f, -0.015009f, -0.008994f, -0.041749f, 0.013923f, 0.004542f, -0.003927f, -0.029371f, 0.006774f, -0.016404f, -0.004415f, -0.014419f, -0.007432f, 0.020613f, -0.020056f, 0.008441f, -0.029633f, 0.018742f, 0.003641f, 0.000225f, -0.008636f, 0.002079f, -0.003975f, -0.016647f, -0.031189f, 0.005879f, -0.000064f, 0.006503f, 0.012911f, -0.007700f, -0.002604f, -0.020137f, -0.010393f, -0.005505f, 0.008353f, 0.005572f, 0.014625f, 0.023374f, 0.018290f, 0.009312f, 0.013931f, 0.004113f, 0.014526f, 0.013009f, -0.012932f, 0.014924f, 0.016935f, -0.003659f, 0.022717f, -0.002536f, 0.026672f, -0.012003f, -0.028862f, -0.004860f, 0.018253f, 0.020034f, 0.023113f, -0.004640f, -0.040229f, -0.004194f, -0.002223f, 0.001359f, -0.001445f, -0.010033f, 0.005672f, -0.029449f, 0.022717f, 0.014217f, 0.013744f, -0.015500f, -0.014568f, -0.003363f, 0.008401f, -0.001205f, -0.016284f, -0.000025f, -0.007994f, -0.013346f, -0.005370f, + -0.002352f, -0.006383f, 0.000419f, -0.005406f, 0.002496f, -0.003400f, -0.001996f, 0.004156f, 0.000621f, 0.001856f, -0.002278f, -0.005862f, -0.006601f, 0.004418f, -0.005303f, -0.000251f, -0.002053f, 0.002692f, -0.002273f, -0.001381f, -0.002254f, 0.006670f, 0.003383f, 0.001993f, -0.002284f, 0.042743f, -0.009394f, -0.010254f, 0.014258f, 0.023019f, -0.001648f, 0.010719f, 0.026649f, 0.019261f, -0.043748f, -0.040188f, 0.000328f, -0.003853f, 0.005895f, -0.017956f, -0.031919f, 0.007591f, 0.025583f, 0.016917f, -0.018533f, 0.030114f, 0.024314f, 0.022844f, -0.038354f, 0.010873f, 0.020101f, 0.001049f, 0.003049f, 0.017136f, 0.039494f, -0.007619f, -0.018072f, 0.012002f, 0.008941f, -0.005364f, 0.021338f, 0.031899f, 0.005937f, 0.033046f, 0.014420f, -0.024771f, 0.002776f, 0.027408f, -0.002977f, -0.011226f, 0.014166f, 0.002311f, 0.005374f, 0.028767f, 0.018434f, 0.009802f, 0.003385f, -0.033353f, -0.034026f, -0.002821f, 0.005361f, 0.008904f, -0.010521f, -0.001457f, -0.008821f, 0.003009f, 0.004210f, -0.012710f, 0.004791f, -0.007794f, -0.002018f, -0.010796f, 0.001185f, 0.021268f, -0.012601f, -0.030663f, + -0.004833f, -0.026076f, 0.005709f, -0.009288f, -0.000723f, -0.003474f, 0.012280f, -0.004581f, 0.008877f, -0.000084f, 0.007604f, 0.003650f, -0.003606f, -0.004129f, -0.005377f, -0.015106f, 0.005453f, 0.002011f, 0.003731f, 0.000546f, -0.011776f, 0.005928f, -0.009230f, -0.007662f, -0.002743f, -0.009850f, -0.002163f, -0.003189f, -0.003774f, -0.003066f, 0.006345f, -0.002794f, 0.004199f, -0.000349f, 0.003358f, 0.000665f, 0.008209f, -0.003528f, 0.002148f, -0.006642f, -0.001804f, -0.005687f, -0.005359f, -0.001032f, -0.003984f, 0.012826f, 0.005267f, 0.000546f, -0.001900f, -0.001731f, -0.071686f, -0.044835f, -0.013800f, 0.012654f, -0.004702f, -0.018133f, 0.002862f, -0.017682f, 0.049634f, -0.020563f, 0.031719f, 0.048985f, 0.026394f, 0.023962f, -0.019643f, 0.017134f, -0.009930f, -0.023218f, 0.019554f, 0.022907f, 0.015046f, 0.032870f, -0.000176f, -0.002092f, -0.015065f, -0.015402f, -0.013244f, -0.021073f, -0.020568f, -0.014213f, 0.007337f, 0.002407f, -0.000588f, -0.013405f, -0.007508f, -0.020465f, 0.007956f, -0.017734f, -0.016175f, -0.007450f, 0.007992f, -0.000514f, -0.011054f, -0.029618f, 0.003082f, -0.009066f, + 0.010161f, -0.034863f, -0.027089f, 0.029769f, -0.005041f, -0.006279f, -0.014406f, -0.009012f, 0.022206f, 0.006891f, -0.005126f, 0.011961f, -0.003830f, 0.012463f, 0.009810f, 0.014284f, -0.011016f, -0.017837f, -0.044240f, 0.002585f, -0.042923f, -0.003347f, -0.036406f, -0.005653f, 0.033540f, -0.004760f, 0.005561f, -0.024724f, -0.010970f, -0.012987f, 0.002248f, -0.016050f, -0.009535f, 0.014840f, 0.018542f, -0.002451f, -0.002421f, 0.001684f, -0.009174f, 0.002744f, -0.001481f, -0.009005f, -0.003991f, -0.007777f, -0.003373f, -0.004632f, -0.020211f, 0.002950f, -0.003816f, -0.003049f, 0.000703f, -0.005881f, -0.006903f, -0.014050f, -0.003697f, -0.008336f, -0.009894f, -0.002245f, -0.012328f, -0.005985f, 0.001420f, -0.007892f, -0.009137f, 0.000582f, -0.007731f, 0.001913f, 0.002260f, 0.008001f, -0.005677f, 0.005448f, 0.002270f, -0.008227f, -0.003473f, -0.002344f, -0.004141f, 0.001069f, -0.002271f, -0.002728f, 0.049130f, 0.000943f, -0.035602f, -0.030207f, 0.030825f, 0.024144f, -0.022785f, -0.022046f, 0.041341f, 0.026229f, 0.001524f, -0.024580f, 0.002975f, -0.010367f, 0.019620f, -0.015280f, 0.002351f, -0.006509f, + -0.004490f, 0.042681f, -0.006017f, -0.011706f, 0.007960f, 0.007204f, 0.012816f, 0.013131f, 0.001491f, -0.016946f, 0.012813f, 0.006382f, 0.014679f, 0.032978f, 0.015186f, -0.047689f, -0.013574f, -0.007852f, -0.036388f, 0.014015f, -0.006273f, 0.000647f, -0.020255f, 0.017066f, -0.007835f, 0.003178f, -0.026352f, 0.017806f, -0.021453f, 0.001656f, 0.021270f, -0.003521f, 0.022437f, -0.017587f, 0.027969f, -0.035891f, 0.017938f, 0.000277f, -0.012814f, 0.046659f, 0.012554f, -0.009865f, -0.027827f, 0.012001f, -0.005658f, 0.003708f, -0.004161f, 0.016974f, 0.025611f, 0.034251f, -0.021689f, 0.015313f, -0.008548f, 0.030614f, 0.011363f, 0.004242f, -0.002748f, 0.018288f, 0.003377f, -0.012386f, 0.015071f, -0.010814f, -0.017921f, -0.007972f, -0.024403f, 0.000147f, -0.027348f, -0.002506f, -0.018401f, 0.020971f, -0.006617f, 0.013415f, -0.014713f, 0.000372f, -0.008198f, 0.012644f, -0.003981f, -0.001422f, -0.008116f, 0.004139f, -0.006064f, -0.010123f, -0.005620f, 0.004089f, -0.009476f, 0.005606f, -0.007488f, 0.003356f, -0.004814f, -0.004982f, -0.004809f, -0.010786f, -0.006054f, 0.000040f, -0.007610f, -0.007233f, + 0.009857f, 0.008235f, 0.004701f, -0.005138f, -0.012312f, -0.001556f, 0.005502f, -0.000688f, -0.009528f, -0.005986f, -0.071788f, -0.046590f, 0.038214f, -0.028528f, -0.026784f, 0.014534f, 0.033423f, -0.055814f, -0.009494f, 0.012956f, 0.003314f, -0.029272f, -0.043721f, 0.081331f, -0.035446f, 0.010811f, -0.040264f, 0.021776f, -0.014194f, 0.037884f, 0.033647f, 0.003153f, 0.005755f, -0.045599f, -0.000312f, 0.021161f, -0.018618f, -0.027297f, 0.021235f, 0.005813f, 0.022917f, 0.018142f, -0.004092f, 0.007461f, -0.005342f, -0.003154f, 0.033919f, -0.029307f, -0.017306f, 0.027135f, -0.001353f, -0.022188f, 0.028775f, -0.001141f, -0.006601f, -0.019860f, -0.008876f, 0.010446f, -0.015529f, -0.002005f, 0.009995f, -0.019707f, -0.020142f, -0.013224f, 0.014497f, -0.042471f, 0.019964f, -0.002187f, 0.039956f, -0.037985f, 0.012362f, -0.028948f, 0.010411f, -0.017481f, -0.022155f, 0.035959f, -0.020188f, -0.009067f, -0.019654f, 0.015404f, -0.022454f, 0.012930f, -0.007748f, 0.026233f, 0.026991f, -0.003658f, -0.042501f, 0.016668f, 0.017456f, -0.002278f, -0.001506f, -0.024419f, -0.016868f, -0.004262f, -0.020987f, -0.016999f, + -0.006047f, -0.000746f, -0.010516f, -0.014020f, 0.015610f, 0.005036f, -0.009973f, -0.008474f, -0.010184f, -0.010877f, 0.011326f, 0.003983f, 0.002634f, -0.016224f, -0.006226f, 0.013494f, -0.008111f, -0.010053f, 0.006330f, -0.007269f, -0.000059f, 0.004758f, 0.007905f, -0.003522f, -0.013320f, 0.002395f, 0.007796f, -0.017911f, 0.000322f, 0.004334f, 0.000342f, -0.009558f, -0.005389f, 0.000206f, -0.004264f, 0.035950f, 0.017466f, -0.040483f, 0.013795f, 0.043551f, -0.003851f, 0.000099f, 0.020086f, -0.013026f, 0.030522f, 0.027637f, -0.036555f, -0.022404f, -0.006757f, 0.019301f, 0.034850f, 0.006198f, 0.018505f, 0.039367f, 0.029431f, -0.041396f, -0.004480f, 0.065793f, 0.016208f, -0.004372f, -0.007808f, -0.012368f, -0.019366f, 0.005814f, 0.016076f, 0.017979f, 0.016673f, -0.011749f, -0.028142f, 0.007572f, -0.014660f, 0.015450f, 0.045357f, -0.012051f, -0.045654f, 0.054603f, -0.016512f, -0.030044f, 0.044152f, -0.007947f, -0.013249f, -0.047300f, -0.008589f, 0.019596f, 0.009259f, -0.010252f, -0.020059f, 0.018317f, 0.001863f, -0.021895f, 0.018712f, -0.004365f, 0.043056f, -0.031719f, 0.004407f, -0.006167f, + 0.049334f, 0.016883f, -0.070331f, 0.022056f, -0.029455f, -0.012282f, -0.025218f, 0.030420f, 0.100406f, 0.036763f, 0.005717f, 0.023302f, 0.029138f, -0.037029f, -0.015856f, -0.010389f, -0.021300f, -0.012761f, -0.023566f, 0.022169f, -0.051767f, -0.013640f, 0.004515f, 0.006220f, -0.017078f, 0.003263f, 0.008940f, -0.005003f, -0.006724f, 0.017615f, 0.003052f, 0.011779f, 0.009566f, -0.010534f, 0.002809f, 0.008739f, 0.003118f, 0.007320f, -0.005502f, 0.004516f, -0.010238f, 0.001399f, -0.003255f, -0.009537f, -0.005285f, -0.002114f, 0.015507f, 0.000937f, 0.003847f, 0.000709f, -0.003518f, -0.003166f, 0.001070f, -0.001339f, -0.014849f, -0.001699f, 0.002094f, -0.003399f, -0.011522f, -0.026165f, -0.009812f, -0.007888f, 0.015154f, -0.002618f, 0.003085f, -0.015207f, -0.053090f, -0.022519f, 0.003759f, -0.021482f, -0.066856f, 0.058198f, -0.011044f, 0.026299f, 0.005053f, -0.030583f, -0.052728f, -0.050787f, 0.057201f, 0.034898f, 0.013204f, -0.020008f, -0.038092f, -0.028486f, -0.045253f, -0.011528f, 0.017008f, -0.006929f, 0.003798f, 0.007365f, -0.007353f, -0.023366f, -0.022501f, -0.038422f, -0.013747f, -0.007275f, + 0.019042f, 0.013365f, 0.020925f, -0.010202f, -0.017177f, -0.007095f, 0.027322f, 0.004018f, 0.024197f, -0.080463f, -0.018915f, 0.000038f, 0.017763f, -0.025570f, -0.001060f, -0.029617f, 0.023395f, 0.020690f, 0.003992f, 0.099725f, 0.001641f, 0.031275f, 0.041032f, 0.001939f, 0.013290f, 0.000786f, -0.007114f, -0.011809f, 0.020700f, 0.030482f, 0.039692f, -0.000718f, -0.007442f, 0.002899f, 0.026088f, 0.023846f, 0.000884f, 0.019367f, 0.016611f, 0.013096f, -0.005271f, 0.039156f, -0.011213f, 0.050196f, -0.049409f, -0.024534f, -0.060779f, -0.018754f, 0.010895f, 0.001649f, -0.015740f, 0.003437f, -0.000196f, 0.027409f, -0.005513f, 0.032803f, -0.014924f, -0.011938f, -0.016400f, 0.008603f, 0.018336f, -0.002808f, -0.008909f, -0.009728f, 0.011318f, 0.000332f, 0.038040f, -0.005867f, -0.002612f, 0.006985f, 0.010679f, 0.015840f, -0.013154f, -0.001015f, 0.005099f, 0.007899f, -0.018158f, 0.006472f, 0.006926f, 0.023482f, -0.023084f, 0.013281f, 0.008803f, -0.009681f, 0.019799f, -0.011014f, -0.013565f, 0.000236f, -0.004600f, 0.010300f, 0.005083f, -0.007989f, -0.000241f, 0.008491f, 0.001942f, 0.020479f, + -0.000948f, 0.013447f, 0.037791f, -0.006968f, 0.001666f, 0.009953f, -0.051718f, 0.002169f, 0.007422f, 0.032556f, 0.049664f, -0.042266f, 0.009364f, -0.026646f, 0.035401f, 0.032095f, 0.004066f, 0.061616f, 0.019224f, 0.024540f, -0.022454f, -0.003608f, -0.039323f, 0.061563f, -0.035770f, 0.009624f, 0.037673f, -0.008959f, -0.024217f, 0.019028f, -0.005530f, 0.009630f, 0.040446f, 0.001055f, -0.012809f, -0.003718f, 0.007595f, -0.001270f, -0.023977f, 0.017777f, -0.002279f, -0.006799f, 0.069051f, -0.053044f, 0.049964f, 0.032256f, 0.062348f, 0.025406f, -0.044048f, 0.034116f, 0.000710f, 0.031704f, 0.082101f, -0.059192f, -0.024511f, -0.007605f, 0.001616f, 0.055821f, -0.033086f, 0.002921f, -0.035531f, 0.002809f, 0.062945f, -0.007071f, 0.065321f, 0.018425f, 0.011191f, 0.029708f, -0.039866f, -0.006580f, 0.028734f, 0.040661f, -0.066003f, -0.002333f, -0.056549f, 0.025367f, -0.029395f, -0.000952f, 0.013408f, 0.018451f, 0.001427f, -0.020102f, -0.016009f, -0.061834f, -0.007014f, -0.043922f, 0.035665f, 0.003109f, -0.002760f, 0.027778f, 0.001576f, -0.000119f, 0.026680f, 0.019925f, 0.013425f, 0.000352f, + -0.008969f, 0.012600f, -0.020876f, -0.001538f, -0.014316f, 0.014355f, 0.014932f, -0.012603f, -0.002414f, -0.026819f, 0.011920f, -0.001645f, -0.000011f, -0.000712f, -0.026042f, -0.031385f, -0.010379f, 0.010180f, 0.023832f, 0.012134f, 0.010761f, -0.003775f, 0.019963f, 0.013898f, -0.000868f, -0.010141f, 0.017369f, -0.024716f, -0.006943f, 0.005168f, 0.027996f, 0.023151f, 0.005020f, -0.011261f, -0.039986f, 0.011232f, -0.069971f, -0.061669f, 0.000891f, 0.000832f, -0.039169f, 0.031764f, 0.009184f, -0.010713f, -0.036349f, 0.049389f, -0.011540f, 0.073528f, -0.010769f, 0.015776f, 0.026526f, -0.035905f, -0.011986f, 0.011123f, -0.042725f, -0.024148f, -0.037369f, 0.031948f, -0.029946f, -0.008263f, -0.009859f, 0.027629f, -0.025254f, -0.042746f, -0.059451f, -0.001913f, 0.049364f, 0.002767f, -0.027284f, -0.011805f, -0.034533f, -0.011773f, 0.000244f, 0.020377f, -0.038888f, -0.004583f, -0.008515f, -0.027940f, -0.038222f, 0.001569f, 0.006329f, 0.024424f, 0.008410f, 0.042152f, 0.011714f, 0.053257f, -0.022385f, 0.043920f, -0.011322f, -0.034791f, -0.009056f, 0.071592f, -0.031097f, 0.032466f, -0.022810f, 0.052444f, + -0.027948f, 0.017497f, 0.033417f, -0.002301f, -0.013850f, 0.006078f, -0.019132f, 0.047650f, -0.044000f, -0.016884f, 0.047834f, -0.006216f, -0.039984f, 0.001562f, 0.036560f, 0.020014f, 0.036564f, -0.037285f, -0.031440f, -0.020292f, -0.004075f, 0.035746f, 0.043614f, -0.077586f, 0.004070f, 0.022015f, -0.042408f, 0.006649f, 0.026764f, 0.020492f, 0.019634f, 0.018828f, 0.012820f, -0.006270f, 0.001412f, 0.014340f, 0.016444f, 0.013037f, 0.033005f, -0.010383f, 0.017356f, 0.006968f, 0.035732f, 0.020899f, -0.027573f, -0.035241f, 0.011113f, 0.037159f, -0.010676f, -0.010774f, -0.023900f, -0.041136f, 0.004710f, -0.035166f, -0.010912f, 0.007574f, -0.023135f, 0.021208f, 0.006205f, -0.007630f, -0.019099f, -0.004080f, -0.019797f, -0.002020f, 0.011036f, 0.004796f, 0.003145f, -0.003877f, -0.004825f, -0.066349f, 0.073166f, -0.024184f, 0.062319f, -0.012846f, 0.050085f, 0.004341f, -0.015495f, -0.034008f, -0.024018f, -0.004360f, 0.000885f, 0.036861f, -0.013840f, -0.002661f, 0.010665f, -0.033231f, 0.054077f, 0.020329f, 0.002154f, -0.044210f, 0.030600f, 0.016228f, -0.035273f, 0.034849f, 0.003172f, -0.005229f, + 0.008893f, -0.000848f, 0.045679f, -0.010193f, -0.057081f, 0.062089f, -0.031743f, -0.004778f, 0.046130f, -0.020049f, -0.009904f, -0.027229f, 0.072724f, -0.032273f, -0.008827f, -0.045142f, -0.008680f, 0.005799f, 0.065020f, -0.030125f, 0.012347f, 0.020929f, 0.038714f, -0.009881f, -0.041025f, 0.045116f, 0.027345f, 0.036680f, -0.017641f, -0.008449f, 0.004726f, 0.040616f, -0.022240f, -0.047035f, -0.052673f, 0.028404f, -0.036853f, 0.009753f, 0.039592f, 0.036920f, -0.025668f, -0.008541f, 0.053245f, -0.084413f, -0.001887f, 0.011996f, 0.029420f, -0.003619f, -0.030802f, -0.005864f, 0.048568f, -0.009099f, 0.099603f, 0.039243f, -0.028338f, -0.003526f, 0.003053f, -0.011665f, -0.035906f, -0.043815f, -0.032193f, 0.027994f, -0.020802f, -0.008247f, -0.000721f, 0.043719f, 0.018929f, -0.014701f, 0.019276f, 0.014341f, -0.000469f, 0.006725f, 0.008184f, -0.000184f, 0.006150f, 0.044781f, 0.036728f, 0.035715f, 0.024234f, 0.003752f, -0.021744f, 0.012161f, -0.016960f, 0.021666f, -0.026157f, 0.028942f, 0.041879f, 0.014251f, 0.053013f, 0.057394f, 0.023278f, -0.000155f, 0.030075f, 0.010683f, -0.005314f, -0.017770f, + 0.031260f, -0.007708f, -0.024742f, 0.000068f, 0.015226f, -0.006714f, 0.013275f, 0.024880f, 0.009444f, 0.025386f, -0.014153f, -0.016146f, -0.093703f, 0.031915f, 0.018244f, 0.083569f, 0.073230f, -0.010828f, -0.027030f, -0.086105f, 0.002538f, 0.028841f, -0.036854f, 0.028172f, 0.050441f, 0.049075f, -0.022717f, 0.059075f, 0.052809f, 0.002566f, -0.031834f, -0.034089f, 0.053925f, 0.046152f, -0.065472f, -0.089247f, 0.118744f, 0.006244f, -0.008369f, 0.015681f, 0.008836f, 0.044146f, 0.043826f, -0.017494f, -0.014935f, 0.061974f, 0.029468f, -0.010941f, -0.041068f, 0.025080f, 0.005012f, 0.003485f, 0.022100f, 0.003251f, -0.001863f, -0.024521f, 0.013932f, -0.007216f, -0.030173f, 0.055734f, -0.088329f, 0.061855f, 0.051250f, -0.083530f, -0.005739f, 0.042896f, 0.010867f, 0.048917f, -0.011320f, 0.007062f, 0.044712f, -0.005663f, 0.022882f, -0.041068f, -0.065299f, 0.184342f, -0.075209f, -0.105670f, -0.023051f, 0.205277f, 0.088646f, -0.087176f, -0.019670f, 0.036441f, 0.025160f, -0.001640f, -0.052668f, 0.077326f, 0.043266f, 0.032573f, 0.007743f, -0.103852f, -0.016953f, 0.017170f, 0.031130f, -0.042520f, + -0.070572f, 0.006469f, 0.022509f, 0.010005f, -0.033222f, -0.035107f, 0.017163f, 0.009733f, 0.025800f, -0.004529f, -0.008424f, -0.002350f, 0.027565f, 0.035025f, 0.024228f, -0.052184f, -0.020068f, 0.037193f, 0.027468f, -0.026188f, 0.000325f, 0.030364f, 0.053784f, 0.021134f, -0.028018f, -0.038040f, -0.049760f, 0.023805f, -0.015756f, 0.022153f, -0.042012f, 0.023956f, 0.012571f, 0.026963f, -0.019087f, -0.010016f, -0.033654f, -0.014225f, 0.033778f, 0.006334f, -0.027522f, 0.015574f, 0.050909f, 0.013435f, -0.036619f, -0.023114f, 0.046112f, 0.079855f, 0.005579f, 0.132623f, -0.058805f, -0.022616f, 0.076964f, 0.003800f, -0.004332f, -0.039578f, -0.079005f, 0.065681f, -0.041138f, -0.044844f, 0.034154f, -0.049780f, 0.024780f, -0.047203f, -0.052198f, -0.008821f, 0.011550f, 0.007398f, -0.012206f, 0.062825f, 0.015868f, 0.038304f, 0.018528f, 0.001059f, 0.001112f, -0.028402f, -0.060198f, 0.019282f, 0.060317f, -0.049167f, 0.042172f, -0.050121f, -0.005064f, -0.002775f, -0.077343f, 0.055140f, -0.026702f, 0.021455f, 0.001681f, -0.022839f, 0.001488f, -0.056085f, 0.057742f, -0.040618f, 0.019412f, -0.065293f, + -0.039481f, -0.085635f, 0.032518f, -0.040063f, -0.044822f, -0.036435f, -0.018522f, -0.000012f, 0.091285f, 0.032520f, 0.045240f, -0.012538f, -0.042405f, -0.053987f, 0.014446f, 0.003218f, -0.092650f, -0.043316f, -0.163076f, -0.076962f, -0.062940f, -0.009593f, -0.075035f, -0.062086f, -0.013434f, 0.059630f, 0.068328f, -0.055558f, -0.069873f, -0.080722f, 0.040789f, 0.096228f, 0.005132f, 0.077357f, 0.002203f, 0.046658f, 0.019013f, 0.005510f, 0.022804f, 0.008151f, -0.001628f, -0.028138f, 0.040259f, 0.032907f, 0.018029f, -0.033594f, -0.012999f, -0.004647f, 0.017392f, 0.017831f, -0.006391f, 0.019365f, -0.008373f, -0.022665f, -0.038937f, 0.004664f, 0.054794f, 0.019421f, -0.006199f, 0.015148f, -0.017334f, 0.028988f, -0.010435f, 0.037958f, 0.037284f, 0.004111f, -0.039578f, 0.006349f, 0.009156f, 0.043039f, 0.010828f, 0.048948f, -0.032687f, -0.020579f, 0.045687f, 0.046790f, 0.012853f, -0.012599f, -0.008319f, -0.046900f, -0.021913f, -0.093383f, 0.021989f, 0.032974f, -0.080859f, 0.044822f, 0.008932f, -0.023462f, 0.004838f, -0.022865f, -0.002261f, 0.017403f, 0.023606f, 0.041381f, -0.048706f, 0.004742f, + 0.056162f, -0.006241f, -0.026774f, 0.050509f, -0.022199f, 0.003538f, -0.029910f, -0.012140f, -0.059723f, 0.015569f, 0.001439f, 0.033742f, -0.023570f, 0.002503f, 0.041953f, -0.019860f, 0.000671f, 0.043291f, -0.084985f, 0.005528f, -0.097288f, -0.030951f, -0.065179f, 0.052034f, 0.018396f, -0.003818f, 0.021827f, -0.019092f, 0.023813f, 0.066130f, 0.017783f, 0.102674f, -0.057219f, -0.065642f, 0.060480f, 0.016466f, -0.044395f, -0.041672f, -0.017023f, 0.037914f, -0.036451f, -0.001407f, -0.031527f, -0.040698f, 0.023871f, 0.029882f, -0.060691f, -0.035281f, 0.052140f, -0.000927f, 0.018392f, -0.011309f, 0.028561f, 0.012686f, 0.052629f, -0.030675f, -0.022793f, 0.013348f, 0.012108f, -0.015233f, -0.055068f, -0.040251f, -0.043579f, 0.058250f, -0.027122f, -0.045108f, 0.013032f, -0.011812f, -0.014908f, -0.029742f, 0.011162f, 0.013319f, -0.005001f, -0.008859f, -0.016234f, -0.027413f, -0.004859f, -0.006231f, -0.020048f, 0.000715f, -0.009857f, -0.018817f, 0.011330f, -0.011113f, 0.010417f, -0.010966f, -0.009378f, 0.027493f, -0.010996f, 0.012985f, 0.009542f, -0.026224f, 0.011602f, 0.003450f, -0.010693f, -0.031799f, + 0.043111f, 0.028377f, -0.012359f, 0.006682f, -0.021361f, -0.016178f, 0.013057f, -0.000400f, -0.027415f, 0.009533f, -0.011059f, 0.024763f, -0.006771f, -0.004628f, 0.004630f, 0.011532f, -0.063054f, -0.127599f, -0.063727f, -0.024228f, 0.055947f, 0.072881f, -0.139275f, 0.024127f, -0.055242f, -0.075480f, -0.015382f, 0.087352f, 0.055924f, 0.047662f, -0.029938f, -0.033560f, -0.040066f, 0.044085f, 0.031200f, 0.067986f, 0.009013f, -0.088192f, -0.034417f, 0.066383f, -0.010035f, 0.019503f, 0.059570f, -0.028367f, -0.040979f, -0.064513f, -0.064478f, 0.000432f, 0.042293f, 0.090977f, 0.067521f, 0.044672f, 0.018457f, -0.093037f, -0.098957f, 0.034671f, -0.068216f, 0.016158f, 0.087530f, 0.034744f, 0.006110f, -0.044080f, -0.078878f, -0.013559f, -0.033881f, 0.026524f, 0.020852f, 0.014811f, 0.054952f, -0.008562f, -0.010394f, 0.014361f, 0.039943f, 0.064395f, 0.066961f, 0.022589f, 0.059657f, 0.019935f, 0.021570f, -0.013146f, -0.066355f, -0.026216f, -0.028651f, -0.054676f, 0.041335f, 0.038325f, 0.028801f, 0.028324f, -0.012442f, -0.065647f, 0.011101f, 0.019467f, -0.000785f, 0.043505f, 0.028319f, 0.022742f, + -0.004931f, 0.002865f, 0.006683f, 0.044783f, 0.045519f, 0.034219f, 0.010244f, -0.008443f, -0.032938f, -0.006312f, 0.019648f, 0.005473f, -0.009539f, -0.000349f, -0.026101f, -0.012468f, -0.014976f, -0.017538f, 0.013981f, 0.048874f, 0.024411f, -0.009190f, -0.004646f, -0.036908f, -0.003481f, 0.012632f, 0.025085f, 0.027290f, -0.008369f, -0.011979f, -0.056839f, -0.033266f, -0.007961f, 0.000151f, 0.023283f, 0.018856f, -0.010944f, -0.014037f, 0.009579f, 0.003369f, 0.006240f, 0.013793f, -0.015634f, -0.005984f, -0.002873f, 0.009058f, 0.015547f, 0.001163f, -0.005010f, -0.004578f, -0.023585f, 0.039474f, -0.112413f, -0.226147f, -0.116772f, 0.021830f, 0.088209f, 0.215084f, 0.210435f, 0.087623f, 0.089502f, 0.064231f, 0.003428f, -0.107239f, -0.181646f, -0.273697f, -0.081736f, -0.114546f, -0.019986f, 0.111586f, 0.198981f, 0.167269f, 0.147733f, 0.081374f, -0.001873f, -0.052191f, -0.069949f, -0.015031f, -0.121105f, -0.096220f, -0.091377f, -0.059930f, -0.049168f, -0.022872f, -0.004329f, 0.041614f, 0.098114f, 0.100993f, 0.099311f, 0.072658f, 0.094612f, 0.050127f, 0.054109f, -0.017775f, -0.003971f, -0.044730f, + -0.117278f, -0.169931f, -0.205241f, -0.099491f, -0.040024f, 0.031876f, -0.005289f, 0.021620f, 0.047729f, 0.062342f, 0.133150f, 0.153456f, 0.203468f, 0.129718f, 0.013116f, 0.059247f, -0.030726f, -0.112430f, -0.098284f, -0.195718f, -0.228251f, -0.170703f, -0.105475f, -0.045419f, -0.035741f, 0.082086f, 0.092806f, 0.257370f, 0.210826f, 0.154187f, 0.151035f, 0.072280f, -0.009207f, -0.102319f, -0.147844f, -0.108006f, -0.129449f, -0.177849f, -0.084427f, 0.004857f, -0.017360f, 0.004997f, 0.077763f, 0.108280f, 0.080093f, 0.041711f, 0.040498f, 0.068978f, 0.029501f, -0.005181f, -0.008243f, -0.033908f, -0.005669f, -0.030261f, -0.079626f, -0.042174f, -0.059370f, -0.096551f, -0.016948f, -0.016803f, 0.077179f, 0.070231f, 0.042363f, 0.075563f, 0.130945f, 0.093617f, -0.022931f, -0.015858f, -0.063073f, -0.056250f, -0.131721f, -0.136737f, -0.066051f, -0.027962f, 0.011425f, 0.046310f, 0.054982f, 0.081767f, 0.093317f, 0.090064f, 0.094746f, 0.024092f, -0.009560f, -0.050438f, -0.061449f, -0.081330f, -0.089872f, -0.090358f, -0.038813f, 0.020201f, 0.027171f, 0.039164f, 0.041110f, 0.028424f, 0.030490f, 0.031748f, + 0.010341f, 0.007421f, -0.010486f, -0.011239f, 0.019397f, -0.012832f, -0.031007f, 0.001906f, 0.007310f, -0.003752f, -0.009013f, -0.012802f, 0.001342f, -0.002205f, -0.012790f, -0.002648f, 0.001367f, 0.000123f, -0.000143f} + }, + { + {-0.008477f, -0.013211f, -0.009609f, 0.003730f, -0.001463f, -0.022610f, -0.012845f, -0.000988f, 0.003229f, -0.006959f, 0.002377f, -0.008396f, 0.001635f, -0.006069f, 0.015860f, -0.012931f, -0.005680f, -0.005688f, 0.010104f, 0.006978f, 0.016146f, 0.004260f, 0.003351f, -0.007390f, 0.007615f, 0.000969f, 0.002059f, -0.000904f, 0.006109f, 0.008382f, 0.000618f, 0.008355f, 0.007925f, -0.003862f, 0.004428f, -0.004720f, -0.005268f, 0.000588f, -0.004307f, 0.002688f, -0.006752f, -0.012211f, 0.003282f, 0.004359f, -0.003042f, 0.003397f, -0.005843f, 0.005497f, 0.007476f, -0.012897f, 0.002505f, -0.000713f, 0.004839f, 0.004147f, 0.000664f, -0.012729f, -0.003831f, -0.005594f, 0.004207f, -0.000150f, 0.001265f, -0.004086f, 0.002343f, -0.006529f, 0.000299f, 0.007085f, 0.004506f, 0.000480f, -0.003638f, 0.002346f, -0.010428f, -0.005845f, -0.007665f, 0.001387f, 0.001299f, -0.000650f, 0.010986f, 0.000054f, 0.009575f, 0.000140f, 0.001002f, 0.000897f, -0.000047f, -0.005194f, 0.003884f, -0.000314f, 0.001916f, -0.001111f, 0.001231f, 0.001822f, -0.000717f, -0.001812f, -0.000717f, -0.000544f, -0.000560f, -0.000301f, + -0.002798f, 0.000482f, 0.002876f, 0.001666f, 0.000028f, 0.000326f, -0.000788f, -0.001263f, 0.001217f, -0.026098f, -0.000831f, 0.001375f, 0.000369f, 0.004281f, -0.009216f, 0.006759f, 0.003792f, -0.004840f, -0.015558f, 0.010223f, 0.010483f, -0.002476f, 0.008722f, 0.006296f, -0.008629f, 0.017123f, 0.003558f, -0.007760f, 0.009195f, 0.000656f, 0.008591f, 0.001257f, -0.014933f, 0.005664f, -0.002842f, -0.005529f, -0.005808f, -0.004537f, 0.009755f, 0.007567f, 0.000598f, 0.007918f, 0.002853f, -0.007495f, -0.009287f, -0.000851f, -0.002183f, 0.003985f, 0.002696f, -0.007297f, 0.001725f, 0.003792f, 0.003572f, -0.006416f, -0.005392f, -0.008499f, -0.002997f, -0.002123f, 0.001689f, -0.002084f, 0.011388f, 0.004878f, -0.001781f, -0.005782f, 0.002123f, 0.004745f, 0.002445f, 0.012276f, -0.002062f, 0.006183f, -0.000744f, -0.004039f, -0.007474f, 0.005259f, -0.001704f, -0.003460f, 0.007187f, -0.002223f, 0.002383f, -0.001610f, -0.001506f, -0.008288f, 0.001805f, -0.002350f, 0.009729f, 0.012058f, -0.007272f, -0.007380f, -0.005200f, 0.002030f, -0.004668f, -0.002375f, -0.003017f, -0.002999f, -0.003256f, 0.001931f, + 0.004480f, -0.000292f, 0.001149f, 0.001341f, -0.000484f, 0.000144f, -0.002211f, -0.004928f, -0.007729f, -0.017762f, -0.010618f, -0.003879f, 0.012724f, 0.001615f, 0.002361f, 0.007774f, 0.002088f, 0.003331f, -0.018607f, -0.017100f, -0.010894f, -0.002891f, -0.000086f, 0.007833f, -0.005598f, 0.006119f, -0.003207f, -0.011514f, 0.003566f, -0.001724f, -0.007875f, -0.000171f, 0.010998f, 0.015973f, 0.007245f, -0.007381f, 0.004283f, 0.000467f, 0.011530f, -0.000098f, -0.009207f, -0.000360f, -0.005380f, 0.011310f, 0.004952f, 0.005281f, 0.011480f, -0.002031f, 0.000829f, 0.015381f, 0.013470f, -0.000550f, -0.000072f, 0.001018f, -0.000863f, 0.004063f, 0.001122f, -0.011279f, -0.014930f, -0.005305f, -0.001902f, 0.000010f, -0.004953f, -0.016664f, -0.001774f, 0.004573f, -0.009065f, -0.004453f, -0.005907f, -0.005074f, 0.001756f, 0.002098f, 0.005480f, -0.011624f, -0.009282f, 0.008906f, -0.003789f, -0.002058f, 0.001838f, -0.000723f, 0.005823f, -0.011195f, 0.004418f, 0.004107f, -0.004441f, -0.004286f, 0.004452f, -0.004909f, 0.007101f, -0.002823f, 0.000062f, -0.000032f, -0.002805f, 0.001379f, 0.005248f, 0.002891f, + 0.000591f, 0.003163f, 0.000900f, -0.001483f, -0.002869f, -0.001602f, -0.001655f, 0.000624f, 0.000801f, -0.000507f, -0.000422f, 0.000757f, -0.000259f, 0.023739f, -0.009109f, -0.007217f, -0.001155f, 0.000407f, -0.008877f, 0.000080f, -0.006211f, 0.011419f, -0.002794f, -0.014120f, -0.019666f, -0.005050f, -0.013027f, 0.018153f, 0.001474f, 0.012882f, 0.010852f, -0.017213f, -0.000969f, 0.007226f, 0.005226f, 0.009151f, 0.001703f, -0.001108f, -0.001562f, 0.004293f, -0.005706f, 0.006574f, 0.003630f, -0.006139f, 0.003798f, 0.000280f, 0.004435f, 0.009871f, -0.005330f, 0.003922f, -0.000631f, 0.005640f, 0.004853f, -0.002020f, 0.006689f, -0.001895f, 0.005818f, -0.004446f, 0.005306f, -0.013942f, -0.005927f, -0.005091f, 0.003922f, 0.012058f, -0.008857f, -0.005853f, -0.003269f, 0.000735f, -0.004048f, -0.005342f, -0.002830f, 0.004883f, 0.003956f, 0.006974f, -0.002314f, 0.003975f, -0.004108f, -0.004329f, -0.000406f, -0.002601f, 0.004826f, -0.000064f, -0.007284f, 0.004097f, -0.004253f, -0.007170f, -0.002663f, -0.004460f, 0.003154f, -0.005232f, -0.014200f, -0.002012f, -0.006139f, -0.006051f, 0.003080f, -0.003918f, + -0.008548f, -0.001739f, 0.001808f, -0.000613f, 0.000515f, -0.000084f, -0.005368f, 0.000172f, 0.002834f, -0.002030f, -0.002244f, 0.000570f, -0.000109f, 0.001026f, 0.000911f, 0.002786f, 0.000810f, -0.002418f, 0.001606f, -0.000429f, -0.000858f, -0.000935f, -0.002403f, -0.002253f, -0.002451f, 0.004035f, 0.006231f, -0.002406f, 0.009446f, -0.014751f, 0.006632f, -0.008805f, -0.009722f, 0.014319f, 0.005344f, -0.016831f, 0.001783f, 0.000138f, 0.005111f, -0.012102f, -0.007738f, -0.001026f, -0.009801f, -0.017889f, -0.017325f, -0.011417f, -0.017290f, 0.007479f, -0.001776f, 0.002667f, 0.009412f, -0.015171f, 0.010055f, -0.004259f, 0.004724f, 0.003133f, -0.001516f, 0.001613f, -0.002168f, -0.002146f, -0.009884f, -0.005898f, 0.012986f, -0.004735f, -0.010743f, -0.009871f, -0.000934f, -0.004410f, 0.004067f, -0.009433f, -0.014644f, 0.002290f, 0.013668f, -0.002031f, 0.008295f, -0.004674f, 0.004533f, -0.007284f, 0.005586f, 0.002321f, -0.010006f, 0.014789f, 0.002648f, -0.003059f, 0.003464f, 0.013603f, 0.012527f, 0.006620f, -0.001325f, -0.015083f, -0.002541f, -0.012566f, 0.003642f, -0.002728f, 0.002112f, 0.002223f, + 0.003523f, -0.011420f, -0.000088f, -0.000816f, 0.005539f, 0.011743f, -0.014650f, 0.001983f, -0.004289f, -0.013693f, -0.001550f, 0.004036f, -0.001402f, -0.000306f, -0.001317f, 0.004541f, 0.000886f, -0.003960f, -0.002732f, -0.002860f, -0.001757f, -0.004721f, 0.000162f, -0.000377f, 0.002655f, -0.005697f, -0.004015f, -0.000423f, -0.000767f, -0.000696f, 0.000259f, -0.000426f, 0.000914f, -0.002061f, -0.002148f, -0.000541f, -0.000366f, -0.001497f, -0.000390f, -0.000395f, 0.002537f, 0.002379f, -0.000049f, 0.000070f, -0.002650f, -0.004278f, -0.001534f, 0.000227f, -0.016801f, -0.016097f, -0.010457f, -0.017728f, -0.021008f, -0.020028f, 0.008486f, 0.009268f, -0.012883f, -0.003413f, -0.011663f, -0.019038f, 0.010192f, -0.004998f, -0.016510f, 0.005663f, -0.001123f, 0.000828f, 0.001679f, 0.005592f, 0.001842f, -0.000613f, 0.004256f, 0.005693f, -0.009492f, -0.009149f, -0.002454f, -0.011152f, -0.000785f, -0.011887f, -0.020518f, -0.001662f, 0.012431f, -0.014896f, -0.011386f, 0.008015f, -0.007834f, 0.000889f, 0.003167f, -0.007703f, -0.006168f, -0.006542f, -0.022105f, -0.009638f, 0.004759f, -0.006387f, -0.007320f, -0.014005f, + 0.006232f, 0.012370f, -0.004492f, 0.019112f, -0.010615f, -0.005085f, -0.000081f, -0.004711f, -0.016210f, -0.001227f, 0.003719f, -0.000622f, -0.003410f, -0.014246f, -0.002330f, 0.013846f, 0.007029f, 0.004018f, 0.007232f, 0.005074f, -0.003667f, 0.026558f, -0.008375f, -0.010447f, -0.009855f, -0.011921f, 0.004704f, 0.015045f, 0.010342f, 0.001061f, -0.002460f, -0.007749f, -0.002735f, -0.000332f, -0.003586f, 0.000541f, -0.004811f, 0.001753f, 0.011105f, 0.007077f, -0.005454f, -0.001268f, -0.001975f, 0.003898f, -0.002300f, 0.004251f, -0.004614f, -0.002442f, 0.000694f, 0.000771f, -0.001146f, 0.001368f, -0.002664f, 0.002763f, 0.000115f, 0.002150f, 0.001871f, 0.001232f, -0.001297f, -0.002259f, -0.000551f, -0.002282f, 0.029931f, 0.020388f, -0.000846f, 0.018626f, -0.001479f, 0.002794f, 0.003631f, -0.010063f, 0.016995f, 0.000260f, 0.015004f, 0.014379f, -0.011485f, 0.018653f, 0.000366f, -0.014092f, -0.023290f, 0.021411f, 0.010423f, 0.021271f, -0.017690f, 0.012247f, 0.006681f, -0.019501f, -0.019251f, -0.011381f, -0.005412f, 0.020494f, -0.019381f, 0.017292f, -0.001595f, -0.001877f, 0.012489f, 0.011758f, + 0.016028f, 0.005914f, -0.008651f, 0.007837f, 0.015069f, -0.009053f, 0.015066f, 0.022836f, 0.009767f, 0.013867f, 0.005818f, 0.003936f, 0.003956f, 0.000610f, -0.012348f, 0.004609f, 0.001331f, 0.000930f, 0.010534f, -0.007377f, 0.006315f, 0.007003f, -0.002958f, 0.019918f, -0.011601f, -0.007081f, -0.004421f, 0.017203f, -0.003052f, 0.014208f, 0.007258f, 0.009605f, 0.008694f, 0.001674f, -0.024215f, -0.003764f, -0.019395f, -0.010573f, 0.025389f, 0.013207f, -0.011209f, -0.000679f, -0.013836f, -0.012464f, -0.006410f, 0.021046f, 0.001972f, 0.007245f, 0.004207f, -0.003295f, 0.004422f, 0.007536f, 0.013298f, -0.003739f, 0.007826f, 0.005552f, 0.004892f, -0.004543f, -0.002768f, 0.002084f, -0.002226f, -0.000115f, 0.003724f, 0.004863f, 0.002156f, 0.002098f, 0.006001f, 0.005731f, 0.002281f, 0.000160f, 0.002959f, -0.001243f, 0.005121f, 0.007586f, 0.003760f, 0.000199f, 0.008492f, -0.026146f, 0.016632f, 0.015969f, 0.047117f, 0.001919f, 0.004144f, -0.002290f, -0.006383f, -0.003006f, 0.015983f, 0.014566f, 0.012705f, 0.018352f, 0.007487f, 0.028943f, 0.008520f, -0.011386f, 0.002827f, 0.025230f, + 0.010005f, 0.002609f, 0.003973f, -0.012894f, -0.018564f, 0.011989f, -0.009194f, -0.018195f, -0.038580f, -0.000569f, 0.015422f, -0.001138f, 0.009114f, -0.013339f, -0.007035f, -0.004961f, 0.002933f, -0.004199f, -0.011539f, -0.005618f, -0.031071f, -0.008088f, -0.026368f, 0.002261f, -0.013883f, 0.010643f, -0.015117f, 0.005797f, -0.014533f, -0.005032f, -0.000890f, 0.000466f, 0.002275f, 0.002976f, -0.019264f, 0.009350f, -0.002885f, 0.004298f, -0.010059f, 0.000290f, 0.015417f, 0.006219f, 0.021300f, 0.011938f, -0.006480f, -0.001245f, -0.004373f, -0.002160f, -0.004980f, -0.006763f, -0.000318f, 0.008749f, 0.005672f, 0.006506f, 0.004193f, -0.030433f, 0.020116f, 0.019737f, -0.007364f, 0.011308f, 0.008862f, -0.016082f, 0.007786f, 0.004835f, 0.001060f, -0.003408f, 0.002851f, 0.010407f, -0.009097f, 0.006070f, -0.002526f, 0.000536f, -0.000652f, 0.002302f, 0.005626f, -0.004642f, -0.002015f, 0.007729f, -0.005396f, 0.000396f, 0.000325f, 0.002937f, -0.003488f, -0.006457f, 0.004048f, 0.000261f, -0.001924f, -0.001926f, 0.001085f, -0.000226f, 0.003796f, 0.004281f, 0.004905f, 0.000072f, -0.004998f, 0.050712f, + 0.018284f, -0.008466f, 0.025051f, -0.016446f, 0.017474f, 0.011622f, -0.023860f, 0.005094f, -0.030016f, 0.000617f, -0.010192f, -0.021138f, 0.011324f, 0.000386f, 0.008672f, 0.012401f, 0.015397f, 0.024689f, 0.010324f, -0.001752f, -0.006353f, -0.016806f, -0.030251f, 0.010746f, 0.011890f, 0.003294f, -0.010539f, 0.016366f, 0.002168f, 0.017291f, 0.010318f, -0.031577f, -0.011951f, 0.004257f, -0.023199f, 0.001201f, -0.001625f, -0.004411f, 0.006885f, 0.005136f, -0.005431f, 0.023288f, -0.013405f, 0.000926f, 0.013105f, -0.011474f, 0.009019f, -0.005008f, -0.014067f, 0.009471f, -0.000057f, -0.001822f, 0.013474f, 0.008880f, 0.000562f, -0.006962f, 0.027831f, 0.001245f, 0.015689f, 0.001577f, -0.008576f, -0.009622f, -0.023197f, -0.008988f, 0.009801f, -0.000610f, 0.008379f, -0.002628f, -0.018049f, 0.007254f, 0.006084f, -0.026580f, 0.007830f, 0.013725f, -0.006998f, 0.014639f, 0.003551f, -0.015080f, -0.015255f, 0.017453f, -0.000237f, -0.034903f, 0.004494f, 0.003781f, 0.001616f, -0.003531f, 0.002206f, -0.004777f, 0.001027f, 0.010450f, -0.003040f, 0.001694f, 0.002786f, 0.003103f, -0.008632f, 0.002681f, + -0.002978f, 0.002451f, 0.006663f, 0.006896f, 0.005126f, 0.002413f, -0.005597f, 0.002652f, -0.000325f, -0.000493f, 0.002518f, -0.006408f, 0.000109f, 0.004444f, 0.006240f, -0.003988f, -0.002253f, -0.007509f, 0.001537f, 0.007951f, -0.007578f, 0.003210f, 0.002996f, -0.052684f, -0.017490f, 0.055060f, 0.015289f, 0.008792f, -0.008285f, -0.001482f, -0.008460f, 0.011230f, -0.017798f, 0.024070f, 0.013776f, 0.011285f, 0.011602f, -0.008527f, -0.000829f, -0.000993f, 0.007748f, 0.016200f, -0.024373f, -0.014473f, -0.007781f, 0.018523f, 0.006698f, 0.010331f, 0.011130f, -0.002546f, -0.017470f, 0.005727f, 0.001376f, 0.033630f, 0.026481f, 0.006953f, 0.020113f, 0.001092f, -0.009679f, 0.004161f, -0.002767f, -0.004622f, 0.012971f, 0.015922f, 0.013128f, 0.032537f, 0.015738f, 0.012760f, 0.014312f, -0.014769f, -0.024162f, -0.011349f, 0.011042f, -0.020628f, -0.010181f, 0.020034f, 0.021393f, 0.011714f, -0.009645f, 0.018902f, -0.007425f, 0.002053f, 0.004551f, 0.010854f, -0.005537f, -0.011806f, 0.006786f, -0.010648f, -0.033326f, 0.001441f, 0.010813f, -0.018190f, 0.002403f, -0.003286f, -0.004686f, -0.003337f, + -0.010765f, 0.027128f, -0.002804f, 0.015504f, -0.038876f, -0.037015f, -0.031313f, -0.014302f, 0.003222f, 0.003800f, -0.000990f, 0.002137f, -0.000631f, -0.008273f, 0.004089f, -0.009094f, -0.002646f, -0.003991f, 0.009521f, 0.001500f, 0.003465f, -0.007306f, -0.001316f, -0.006504f, -0.002325f, 0.005152f, 0.008230f, 0.008797f, 0.008490f, -0.000125f, -0.005629f, 0.004595f, 0.007484f, 0.004605f, 0.007452f, 0.002588f, -0.000674f, 0.003127f, 0.001098f, 0.001524f, -0.002197f, -0.005095f, 0.006025f, 0.006682f, -0.002174f, -0.001927f, -0.001448f, -0.001126f, 0.027113f, 0.042637f, -0.062846f, -0.008920f, 0.003724f, -0.000508f, -0.007554f, -0.015696f, 0.017180f, -0.020140f, -0.031986f, -0.003283f, 0.031184f, -0.004501f, -0.018273f, 0.005763f, -0.025555f, -0.013899f, 0.000987f, 0.016355f, -0.026786f, 0.002941f, 0.029172f, 0.029931f, 0.000749f, 0.010580f, 0.026144f, -0.014998f, -0.023413f, -0.032717f, 0.003138f, -0.032613f, -0.006993f, 0.013689f, 0.012870f, -0.028862f, -0.027238f, -0.016568f, 0.011684f, -0.007690f, -0.005116f, -0.007601f, 0.025959f, -0.038650f, -0.011331f, 0.005980f, -0.020861f, -0.007213f, + 0.000037f, -0.024395f, 0.001096f, 0.009992f, -0.001363f, 0.031913f, -0.002199f, -0.012968f, 0.002675f, -0.001647f, -0.010528f, 0.006098f, 0.015683f, -0.014576f, 0.022380f, -0.011105f, -0.041773f, 0.001929f, -0.016328f, -0.008969f, -0.001199f, -0.004497f, -0.055098f, -0.009276f, 0.025200f, 0.021765f, 0.015207f, 0.032835f, 0.033439f, -0.045334f, -0.005131f, 0.002892f, 0.009375f, -0.013193f, -0.022605f, -0.000451f, 0.010185f, 0.012050f, 0.010276f, 0.008021f, 0.003790f, 0.006466f, -0.012151f, 0.000044f, 0.007175f, -0.003834f, -0.002862f, 0.001326f, 0.002286f, 0.006504f, -0.007287f, 0.001310f, -0.002995f, 0.003038f, 0.004173f, -0.009689f, 0.001312f, -0.001008f, -0.006731f, 0.002815f, -0.001618f, 0.001256f, 0.000206f, -0.000178f, -0.008495f, 0.004276f, 0.000484f, 0.002226f, -0.005701f, -0.004206f, -0.003821f, -0.003550f, -0.060114f, 0.016755f, -0.011206f, 0.020461f, -0.019258f, -0.000228f, 0.031401f, -0.010538f, 0.044627f, 0.010244f, 0.008576f, -0.019224f, 0.008419f, 0.022112f, -0.013669f, -0.002796f, 0.028851f, 0.018588f, 0.021709f, 0.003051f, -0.033417f, 0.021210f, -0.021586f, -0.002036f, + -0.013023f, 0.003285f, -0.016621f, 0.009637f, -0.004352f, 0.009392f, 0.008938f, 0.015955f, 0.016176f, 0.017957f, -0.021334f, 0.005075f, 0.034016f, 0.007252f, -0.006133f, -0.006839f, -0.017113f, -0.013795f, -0.000092f, 0.001250f, 0.006107f, 0.028631f, 0.002450f, 0.015794f, 0.015294f, -0.001082f, -0.007317f, -0.006969f, 0.025972f, -0.030355f, -0.006622f, -0.026862f, -0.022150f, -0.006218f, 0.000167f, -0.045070f, 0.011697f, -0.014169f, 0.027584f, -0.005717f, 0.001184f, 0.019157f, 0.003899f, 0.046279f, 0.038204f, 0.055126f, 0.020828f, 0.002343f, -0.006428f, -0.005589f, -0.009321f, -0.002703f, -0.011082f, -0.030346f, 0.020535f, 0.025165f, 0.011967f, -0.004103f, 0.002782f, -0.021369f, -0.029110f, 0.013518f, 0.003562f, 0.004032f, -0.009411f, -0.003997f, -0.010210f, -0.005487f, 0.008879f, 0.002976f, 0.011649f, -0.000748f, 0.002529f, -0.006683f, 0.008094f, -0.024068f, -0.006451f, -0.000823f, -0.001065f, -0.004506f, 0.004128f, 0.001128f, 0.001440f, -0.001637f, -0.005993f, -0.001152f, -0.002574f, -0.001583f, 0.007376f, 0.000923f, 0.000792f, -0.004921f, 0.001466f, 0.001238f, -0.000536f, -0.010714f, + -0.007975f, -0.017605f, 0.023743f, -0.006931f, -0.005170f, 0.055384f, -0.011408f, -0.012159f, 0.061579f, -0.000858f, 0.035045f, 0.025869f, 0.002073f, 0.014524f, -0.008259f, 0.011394f, 0.010694f, 0.006802f, 0.008680f, 0.028471f, -0.019611f, 0.034306f, -0.018880f, -0.000562f, 0.007027f, -0.004613f, -0.024865f, -0.022190f, -0.000663f, -0.036034f, -0.011524f, -0.039366f, -0.002722f, -0.023377f, -0.017514f, -0.012791f, -0.011258f, 0.005898f, -0.031688f, 0.036794f, 0.005764f, -0.023860f, -0.017840f, -0.001112f, -0.004633f, -0.005826f, 0.009505f, 0.005073f, 0.036150f, 0.004174f, -0.000419f, -0.018450f, 0.003038f, 0.007515f, -0.001364f, -0.019683f, -0.008546f, 0.022714f, 0.024735f, -0.001443f, -0.021027f, 0.008621f, -0.004147f, 0.032297f, 0.035937f, -0.014015f, -0.009308f, -0.006618f, 0.004076f, -0.013784f, 0.014525f, -0.044713f, -0.004205f, 0.052899f, -0.047715f, -0.023493f, -0.011061f, 0.003449f, 0.004220f, 0.006332f, -0.004321f, 0.014180f, -0.008460f, -0.002365f, 0.025744f, -0.004037f, 0.018658f, -0.012612f, 0.018796f, -0.016439f, 0.012874f, 0.010508f, 0.025553f, -0.000519f, -0.004323f, 0.010803f, + 0.016821f, 0.001506f, -0.004028f, -0.002636f, 0.001712f, -0.009131f, -0.002785f, 0.008616f, 0.011354f, 0.003580f, -0.003680f, 0.011031f, -0.008613f, 0.009064f, 0.007569f, 0.008271f, 0.004554f, 0.000304f, -0.013429f, 0.013506f, 0.007983f, 0.006253f, 0.002966f, 0.006373f, 0.011815f, 0.002721f, -0.009269f, 0.004627f, -0.007554f, -0.005819f, 0.009779f, -0.002378f, 0.008466f, 0.009177f, -0.003581f, -0.006673f, 0.003776f, -0.032220f, -0.017657f, -0.005040f, 0.024936f, 0.030057f, 0.020600f, -0.019126f, -0.049087f, 0.084982f, 0.021379f, -0.053332f, -0.053509f, -0.008017f, 0.012958f, 0.036195f, -0.046553f, -0.008218f, 0.008693f, -0.000673f, -0.006695f, 0.048701f, 0.010450f, -0.028590f, 0.015266f, 0.002010f, -0.001367f, 0.025640f, -0.004678f, 0.014012f, -0.031741f, -0.010754f, 0.055776f, 0.020603f, 0.043984f, 0.013879f, 0.039766f, 0.006951f, -0.014606f, 0.027958f, 0.025483f, 0.039939f, 0.019669f, -0.045111f, -0.017105f, 0.009752f, 0.023316f, -0.018124f, 0.006878f, -0.017464f, -0.029167f, 0.002943f, -0.003372f, -0.017459f, 0.013569f, 0.018892f, 0.016408f, 0.011979f, 0.011249f, -0.008610f, + 0.030188f, -0.000249f, -0.029993f, -0.021789f, 0.027151f, 0.014709f, -0.047106f, 0.020474f, 0.008363f, 0.015133f, -0.041160f, -0.028148f, 0.026467f, 0.040873f, 0.023114f, -0.009204f, -0.044016f, 0.009946f, -0.001947f, 0.037520f, -0.012532f, -0.050481f, 0.021153f, 0.029424f, -0.011158f, 0.030624f, 0.025218f, 0.010379f, -0.020157f, 0.002626f, -0.000266f, 0.005873f, 0.002210f, -0.001388f, -0.010725f, -0.004528f, -0.013461f, -0.001417f, -0.002660f, 0.007012f, -0.008223f, -0.004956f, -0.002763f, -0.006186f, -0.003761f, -0.003301f, -0.003759f, 0.015615f, 0.004703f, 0.000159f, 0.015216f, -0.003809f, -0.014357f, -0.009671f, -0.007695f, -0.006237f, 0.000660f, -0.010501f, 0.004396f, 0.006333f, 0.005378f, 0.003973f, -0.013790f, -0.005395f, 0.011570f, 0.009510f, -0.001428f, 0.020299f, 0.039647f, 0.015284f, 0.041856f, 0.007018f, 0.019204f, 0.014305f, 0.069720f, 0.094859f, 0.007422f, 0.018987f, -0.060364f, -0.019179f, 0.036521f, -0.030760f, 0.071814f, -0.014287f, 0.011325f, 0.019346f, 0.042060f, 0.023329f, -0.010014f, -0.030467f, -0.035708f, -0.011784f, -0.005870f, -0.044781f, -0.021222f, -0.017819f, + 0.028737f, -0.016665f, 0.008560f, -0.028722f, 0.003828f, -0.011295f, -0.041903f, 0.043549f, 0.030208f, 0.035057f, 0.015444f, -0.021387f, -0.020705f, -0.048780f, 0.000901f, -0.043971f, -0.013356f, -0.003757f, 0.005797f, 0.022485f, 0.017743f, -0.014292f, -0.010125f, 0.018620f, 0.041185f, 0.011036f, 0.015747f, 0.030032f, -0.038306f, 0.027111f, -0.021759f, -0.020145f, -0.038676f, -0.016983f, 0.017686f, 0.014916f, 0.002465f, 0.045178f, -0.009901f, -0.016816f, 0.006926f, 0.011785f, 0.062116f, -0.020483f, 0.024901f, 0.024483f, -0.059713f, 0.000016f, 0.007461f, -0.013212f, -0.008800f, 0.020590f, -0.011851f, 0.001702f, 0.025301f, 0.013021f, -0.036749f, -0.044164f, -0.042594f, -0.019996f, -0.015855f, 0.035465f, 0.030963f, -0.008548f, -0.013538f, 0.001760f, 0.003931f, 0.023376f, -0.002644f, -0.007387f, 0.014532f, -0.002728f, -0.002424f, -0.006197f, 0.010526f, 0.014383f, -0.007654f, 0.013767f, 0.013010f, 0.013315f, 0.002351f, -0.005669f, 0.011771f, -0.008162f, 0.007052f, 0.014995f, 0.001106f, 0.008941f, 0.012005f, -0.020395f, -0.000890f, 0.009923f, 0.011097f, 0.014947f, 0.001759f, 0.013382f, + 0.000705f, 0.000862f, -0.004600f, 0.007684f, 0.011253f, 0.059425f, -0.014095f, 0.008686f, -0.026574f, -0.007613f, -0.035425f, 0.028147f, -0.050967f, 0.002342f, -0.041041f, 0.008121f, 0.017572f, 0.006377f, -0.024566f, 0.084186f, -0.005916f, -0.011326f, 0.007644f, -0.047915f, 0.002749f, -0.032376f, 0.001112f, 0.009098f, -0.009708f, -0.001104f, 0.019826f, -0.017594f, 0.000755f, 0.025478f, 0.002080f, 0.006446f, -0.041232f, 0.005249f, -0.003489f, -0.002572f, -0.010448f, -0.051149f, -0.028472f, 0.012639f, 0.004177f, 0.022709f, -0.059274f, 0.006462f, -0.055167f, 0.027969f, -0.037628f, -0.060181f, 0.030468f, 0.055486f, 0.009558f, 0.027292f, -0.041570f, 0.041157f, -0.010215f, 0.006144f, -0.025502f, 0.034280f, 0.013799f, 0.035596f, 0.011166f, 0.043189f, -0.039139f, 0.007473f, 0.002147f, -0.006709f, -0.031038f, -0.025301f, -0.029175f, 0.033096f, -0.008834f, 0.044980f, -0.027971f, -0.021455f, 0.005016f, 0.005991f, -0.025024f, 0.012985f, -0.014731f, -0.058589f, 0.025724f, 0.038812f, 0.064422f, 0.022537f, 0.045686f, -0.026421f, 0.000049f, -0.029788f, 0.048941f, 0.016508f, -0.009427f, -0.019522f, + 0.023210f, -0.016751f, -0.004760f, 0.002476f, -0.014828f, -0.024950f, -0.016678f, -0.011833f, -0.009969f, -0.033227f, -0.014516f, -0.027699f, 0.021274f, -0.005297f, 0.012609f, 0.024849f, 0.006482f, -0.018856f, -0.001903f, -0.018871f, -0.008194f, -0.028194f, -0.015672f, -0.029843f, -0.005334f, 0.048817f, 0.009843f, -0.003773f, 0.010841f, 0.014611f, -0.028386f, -0.013031f, -0.001785f, -0.003833f, -0.011868f, 0.012355f, -0.005720f, -0.043273f, -0.003882f, -0.009998f, -0.098361f, 0.012074f, -0.031423f, 0.091016f, -0.017132f, -0.045970f, 0.018275f, -0.002644f, -0.045797f, -0.007851f, 0.007622f, -0.027589f, 0.068717f, 0.009739f, 0.006592f, 0.031162f, -0.038645f, -0.059506f, -0.036661f, 0.083837f, -0.006694f, -0.017874f, 0.055421f, 0.031211f, -0.026435f, -0.026336f, -0.014809f, 0.066438f, 0.009322f, -0.016299f, -0.026009f, -0.012639f, -0.051947f, 0.034960f, -0.006052f, 0.014114f, 0.033417f, -0.011912f, -0.053798f, -0.006688f, 0.069382f, -0.003081f, -0.017304f, 0.033330f, -0.015193f, 0.041384f, 0.027243f, -0.003635f, -0.051266f, -0.026237f, -0.007028f, -0.047570f, -0.027843f, -0.027451f, 0.003722f, -0.006621f, + 0.040066f, -0.027975f, -0.009661f, -0.000265f, 0.103005f, 0.035718f, -0.017726f, 0.020768f, 0.012152f, -0.006134f, 0.052314f, 0.025361f, -0.019790f, 0.008132f, 0.042298f, 0.047717f, -0.029155f, -0.020874f, -0.069939f, -0.056222f, 0.031976f, -0.021034f, 0.034519f, -0.000995f, -0.041116f, 0.010012f, -0.003247f, 0.013007f, -0.027354f, -0.020924f, 0.038733f, 0.009751f, 0.005145f, -0.003883f, -0.004516f, 0.025678f, -0.012332f, 0.013209f, -0.006572f, 0.016010f, 0.032542f, 0.008616f, -0.023508f, 0.003845f, -0.009030f, 0.017697f, 0.014645f, 0.004824f, 0.021185f, 0.032907f, -0.012932f, 0.026541f, -0.002570f, -0.035288f, -0.009118f, 0.001103f, -0.019717f, 0.007917f, 0.025688f, -0.000507f, -0.013000f, 0.001571f, -0.004804f, 0.033480f, 0.028723f, 0.002909f, 0.013596f, 0.017245f, 0.009022f, 0.022363f, -0.028707f, -0.021377f, 0.010275f, 0.005765f, -0.006101f, -0.002553f, -0.004726f, -0.010740f, -0.010589f, -0.111164f, 0.038147f, -0.023810f, 0.059134f, 0.060123f, -0.034874f, 0.028379f, -0.059540f, -0.089399f, 0.002168f, -0.062881f, 0.008251f, -0.007892f, 0.048617f, -0.036132f, 0.034684f, 0.029750f, + 0.048762f, -0.074287f, 0.008089f, -0.045475f, -0.041667f, 0.004483f, -0.053786f, -0.034709f, 0.048795f, -0.014271f, 0.018522f, 0.056972f, -0.011316f, 0.018746f, -0.046973f, 0.005383f, -0.051790f, 0.047985f, -0.042932f, -0.028520f, -0.031693f, 0.053529f, 0.042908f, -0.030755f, 0.058676f, 0.038847f, -0.012417f, 0.058221f, -0.003248f, -0.061627f, -0.017028f, -0.007273f, -0.048012f, 0.010806f, -0.101583f, 0.010186f, -0.025843f, -0.048763f, -0.039371f, 0.045403f, -0.027120f, 0.094142f, 0.069967f, -0.105261f, 0.000048f, -0.002754f, 0.005056f, 0.048656f, -0.082630f, -0.057635f, 0.056852f, -0.047373f, -0.059185f, -0.068169f, 0.004623f, 0.140003f, 0.069609f, -0.065154f, -0.040993f, 0.005677f, 0.050989f, 0.019485f, -0.068093f, 0.010131f, -0.045475f, -0.026744f, -0.002372f, -0.008202f, 0.002677f, 0.044941f, 0.010679f, 0.026650f, 0.017726f, -0.052407f, 0.014142f, 0.023529f, -0.007344f, -0.018885f, 0.002834f, -0.044720f, 0.039879f, 0.014458f, 0.010954f, -0.059313f, 0.009970f, 0.030601f, 0.008706f, -0.014010f, -0.011021f, 0.026306f, -0.043203f, -0.002785f, -0.032199f, -0.017846f, 0.042479f, -0.044814f, + -0.001758f, 0.026719f, -0.022413f, 0.020950f, 0.025521f, 0.006629f, 0.003890f, 0.018683f, 0.006181f, -0.023844f, 0.034901f, -0.026868f, -0.020971f, -0.012192f, -0.036703f, -0.012682f, -0.034393f, -0.032969f, 0.011998f, 0.051605f, -0.059088f, 0.028396f, -0.098664f, -0.015528f, -0.038947f, -0.033998f, 0.050855f, -0.067630f, -0.105126f, 0.060074f, 0.090779f, 0.021426f, -0.018692f, -0.084069f, 0.004722f, 0.031828f, 0.031662f, -0.014732f, -0.034339f, 0.003417f, -0.009203f, -0.011659f, 0.009643f, -0.013022f, -0.028940f, -0.055286f, 0.005928f, -0.033555f, 0.007140f, -0.030150f, -0.063207f, 0.037934f, 0.027431f, 0.046814f, 0.000654f, 0.050696f, 0.027774f, 0.007047f, -0.017701f, -0.026945f, -0.043865f, -0.031220f, -0.018267f, 0.011507f, 0.028493f, -0.020444f, -0.010711f, -0.071517f, 0.065497f, 0.078232f, 0.042825f, -0.040779f, 0.041046f, -0.055456f, -0.001910f, 0.012080f, -0.121055f, 0.009279f, 0.010902f, 0.056219f, -0.072649f, 0.091961f, 0.035303f, -0.066697f, -0.038529f, 0.027410f, -0.012539f, -0.048964f, -0.060482f, -0.064521f, -0.088396f, 0.063951f, -0.028487f, 0.009750f, -0.134642f, -0.053560f, + 0.007303f, 0.001112f, 0.029753f, -0.021643f, 0.004510f, 0.022493f, 0.023080f, -0.064186f, -0.015568f, 0.010086f, 0.034502f, 0.025408f, -0.006417f, -0.024815f, -0.011382f, -0.005578f, 0.032148f, 0.005377f, -0.021600f, -0.002703f, -0.016991f, -0.006447f, 0.029659f, 0.013812f, -0.016040f, 0.032447f, -0.033423f, -0.019218f, -0.025172f, 0.031392f, -0.013462f, 0.003661f, -0.015426f, 0.013684f, -0.046142f, 0.006629f, 0.018021f, 0.007092f, -0.008818f, -0.019804f, -0.017886f, -0.023148f, 0.022052f, 0.004931f, -0.008518f, -0.026467f, 0.026535f, 0.001552f, 0.001136f, 0.003925f, -0.046961f, -0.022597f, -0.031027f, 0.003956f, -0.016113f, -0.009669f, -0.091649f, -0.012443f, 0.033008f, -0.043151f, -0.040269f, 0.037511f, 0.037956f, 0.007563f, -0.036427f, -0.123876f, -0.018510f, 0.024000f, 0.014409f, 0.053453f, -0.001525f, 0.031006f, -0.008428f, -0.000950f, -0.015941f, 0.002155f, 0.032362f, 0.003629f, 0.000946f, 0.031665f, -0.008896f, -0.007814f, -0.042229f, -0.003991f, -0.007155f, -0.004810f, 0.006752f, 0.025258f, 0.034219f, -0.006921f, -0.000455f, 0.027098f, -0.006635f, -0.052513f, -0.004092f, -0.046623f, + 0.006275f, 0.006254f, -0.061520f, 0.044161f, -0.084583f, 0.018746f, 0.022598f, -0.036934f, -0.003144f, 0.108940f, -0.031421f, 0.036739f, -0.023588f, 0.019423f, -0.082230f, 0.008755f, 0.047191f, -0.001323f, 0.040625f, -0.009636f, 0.003672f, -0.002691f, 0.052068f, -0.033937f, -0.041388f, 0.046748f, -0.043866f, -0.053357f, -0.001366f, -0.085206f, 0.056155f, 0.047261f, -0.017773f, 0.018250f, 0.007141f, -0.000500f, -0.073300f, -0.011933f, -0.006302f, 0.031995f, 0.011228f, -0.030575f, 0.028027f, -0.002049f, -0.037761f, -0.025034f, -0.023799f, 0.004953f, 0.004187f, -0.004997f, -0.001678f, 0.023235f, -0.023759f, -0.006532f, 0.015102f, -0.024363f, -0.014078f, 0.018873f, -0.025960f, 0.001727f, 0.021309f, 0.001480f, -0.007150f, 0.009746f, -0.001783f, 0.002304f, 0.018452f, -0.006970f, -0.006837f, -0.014702f, 0.005521f, -0.009233f, -0.009894f, 0.008627f, 0.009671f, -0.020712f, 0.002415f, -0.019325f, 0.017874f, -0.022014f, 0.011387f, -0.000004f, -0.004944f, 0.002377f, -0.005838f, -0.002418f, -0.001883f, -0.045345f, -0.136788f, -0.064387f, -0.021547f, 0.044479f, 0.100500f, -0.092358f, 0.019999f, -0.026836f, + -0.093142f, -0.013158f, 0.083404f, 0.022352f, 0.068680f, -0.058230f, 0.017129f, -0.020240f, 0.003916f, 0.040511f, 0.006727f, 0.021966f, -0.013300f, -0.118609f, 0.034993f, 0.005725f, -0.050449f, 0.051557f, 0.039285f, -0.035901f, 0.036305f, 0.004300f, -0.038735f, 0.011762f, -0.023988f, 0.074056f, 0.008958f, 0.029961f, 0.001297f, -0.076096f, -0.061043f, -0.020569f, -0.045270f, 0.049450f, 0.070963f, 0.073065f, 0.058697f, -0.020390f, 0.008070f, -0.059787f, -0.009156f, -0.006034f, -0.025299f, -0.031512f, 0.004935f, 0.005760f, -0.082289f, -0.024067f, -0.032271f, -0.002265f, 0.036625f, -0.040423f, -0.009496f, 0.014204f, -0.000088f, 0.042281f, -0.047029f, -0.001909f, -0.053256f, -0.027894f, -0.039423f, 0.021616f, 0.013917f, 0.042240f, -0.005918f, -0.004393f, -0.050229f, -0.015002f, -0.023972f, -0.006300f, 0.020896f, 0.028928f, 0.059205f, -0.038142f, 0.010578f, -0.033049f, 0.011609f, 0.022268f, 0.005946f, -0.018192f, -0.007720f, -0.006395f, -0.007728f, -0.002703f, 0.015393f, 0.016504f, -0.005008f, -0.001951f, -0.008272f, -0.011715f, 0.007301f, 0.016426f, 0.005227f, 0.001823f, 0.004096f, -0.013868f, + -0.016512f, -0.015111f, 0.024591f, -0.000715f, 0.016887f, 0.014246f, -0.002780f, -0.019463f, -0.021278f, 0.003102f, 0.005422f, -0.016152f, -0.005594f, -0.014059f, 0.009952f, -0.010190f, 0.003100f, 0.002946f, 0.010406f, -0.005502f, -0.006868f, 0.002651f, 0.003458f, 0.035520f, -0.057500f, -0.226750f, -0.119596f, 0.024483f, 0.095318f, 0.213397f, 0.163020f, 0.091835f, 0.030876f, 0.047889f, -0.015260f, -0.089787f, -0.173664f, -0.230975f, -0.058491f, -0.066958f, 0.003408f, 0.112470f, 0.160386f, 0.107574f, 0.143693f, 0.033081f, 0.030400f, -0.016828f, -0.072803f, -0.082384f, -0.066684f, -0.070793f, -0.087596f, -0.070189f, -0.030079f, -0.004516f, -0.001154f, 0.056096f, 0.072716f, 0.139180f, 0.065687f, 0.021654f, 0.057064f, 0.088827f, 0.028234f, 0.016952f, -0.071757f, -0.098103f, -0.160429f, -0.074100f, -0.084188f, -0.060860f, -0.036321f, -0.028436f, 0.011778f, 0.019759f, 0.067320f, 0.138051f, 0.110956f, 0.121202f, 0.089629f, 0.109962f, 0.081710f, -0.066132f, -0.060750f, -0.152793f, -0.118469f, -0.086605f, -0.194732f, -0.150514f, -0.092215f, 0.007320f, 0.117842f, 0.112447f, 0.132726f, 0.166136f, + 0.141916f, 0.076526f, 0.092062f, 0.003681f, -0.036237f, -0.097434f, -0.141674f, -0.142106f, -0.117444f, -0.070458f, -0.015365f, 0.020281f, 0.034131f, 0.039456f, 0.065527f, 0.047511f, 0.076672f, 0.048680f, 0.019043f, 0.012608f, -0.003139f, -0.007500f, -0.002032f, -0.053098f, -0.037334f, -0.007440f, -0.024927f, -0.063430f, -0.018055f, -0.022719f, -0.023852f, -0.004317f, 0.047234f, 0.089823f, 0.074182f, 0.007932f, 0.072904f, 0.051641f, -0.009840f, -0.060120f, -0.095598f, -0.088546f, -0.040414f, -0.043797f, -0.027733f, -0.015134f, 0.025004f, 0.055715f, 0.076832f, 0.087766f, 0.062847f, 0.024808f, 0.026731f, -0.016684f, -0.048214f, -0.080638f, -0.072657f, -0.031919f, -0.003550f, -0.023539f, -0.008044f, 0.023347f, 0.029196f, 0.030596f, 0.028668f, 0.007583f, 0.011745f, 0.018701f, -0.003557f, -0.016711f, 0.000197f, 0.006129f, -0.012697f, -0.013741f, -0.002277f, 0.005599f, 0.003718f, -0.008548f, -0.004716f, 0.004309f, 0.001632f, -0.005942f, -0.007926f, -0.003263f, 0.000861f, -0.000134f, -0.000168f}, + {-0.002911f, -0.004136f, -0.007931f, 0.004600f, 0.007370f, 0.013094f, 0.003518f, -0.009232f, -0.016407f, 0.003534f, -0.007678f, 0.000630f, 0.005118f, 0.001980f, 0.013230f, -0.010984f, -0.002727f, -0.001512f, -0.000896f, -0.009432f, 0.005771f, 0.002436f, 0.001183f, 0.000234f, -0.004624f, -0.003555f, -0.003358f, -0.001093f, 0.000432f, 0.002198f, -0.003496f, 0.005031f, 0.011839f, -0.000397f, 0.005243f, -0.008433f, -0.004915f, -0.010089f, -0.004891f, 0.010681f, 0.000481f, -0.002199f, 0.001871f, 0.011333f, 0.001192f, 0.005692f, -0.001465f, -0.005340f, -0.001702f, 0.006464f, -0.005600f, 0.010153f, 0.006228f, 0.011450f, 0.005626f, 0.000717f, -0.003543f, -0.007613f, -0.004247f, -0.006619f, -0.001054f, -0.004833f, 0.001872f, 0.000414f, -0.002634f, 0.001671f, -0.002269f, 0.004092f, -0.001064f, -0.001138f, 0.005754f, -0.000583f, -0.000455f, 0.000768f, -0.005651f, 0.002550f, -0.004148f, -0.006621f, -0.003855f, -0.002913f, 0.002835f, -0.000548f, -0.000506f, -0.007507f, -0.001295f, 0.001957f, 0.001430f, -0.002981f, 0.000234f, -0.002946f, 0.001272f, 0.002111f, 0.001522f, 0.000597f, -0.000570f, -0.001195f, + 0.000296f, -0.002315f, -0.001306f, 0.000518f, 0.000294f, 0.001038f, 0.000950f, 0.000937f, 0.000152f, -0.022863f, -0.005182f, 0.009372f, 0.001638f, 0.012779f, 0.006812f, -0.010526f, 0.002768f, -0.000232f, 0.004180f, -0.003771f, -0.017561f, 0.010130f, 0.006199f, 0.011608f, 0.014502f, 0.012493f, 0.004370f, 0.000167f, -0.017894f, -0.001846f, 0.008200f, -0.008156f, -0.007088f, -0.018676f, -0.001267f, -0.003126f, -0.002174f, -0.004755f, 0.002199f, -0.011149f, 0.005070f, -0.001957f, 0.004703f, 0.001387f, -0.007509f, 0.005782f, 0.004811f, 0.012951f, -0.001523f, -0.010376f, -0.005375f, 0.005614f, 0.002242f, -0.002597f, 0.000521f, 0.004133f, 0.000521f, -0.007582f, -0.000089f, 0.001596f, -0.000825f, 0.000480f, -0.004803f, -0.002098f, -0.006390f, -0.001312f, 0.007826f, 0.002804f, -0.002700f, 0.003352f, -0.001040f, -0.000404f, 0.001170f, -0.009103f, -0.000858f, -0.000451f, 0.005070f, 0.009858f, -0.002937f, -0.000993f, -0.006381f, -0.004923f, 0.002494f, 0.011218f, -0.009950f, -0.001552f, 0.002524f, -0.000537f, -0.002721f, -0.000171f, -0.002653f, 0.003655f, 0.003808f, 0.002030f, 0.006207f, -0.002960f, + -0.001944f, -0.000634f, 0.001438f, -0.001421f, 0.000231f, 0.001014f, 0.000860f, -0.000736f, -0.002650f, 0.001956f, -0.002639f, 0.012643f, 0.004745f, 0.004273f, -0.004240f, 0.000333f, 0.001189f, 0.001212f, -0.021709f, -0.011739f, -0.000984f, -0.005400f, -0.006719f, -0.000333f, -0.005657f, -0.022091f, 0.013167f, 0.003030f, 0.005960f, -0.002322f, 0.004535f, -0.005838f, 0.000280f, 0.000798f, 0.011383f, -0.004044f, -0.002398f, -0.001899f, -0.001924f, -0.001817f, -0.000806f, 0.012340f, -0.002389f, -0.000181f, -0.007026f, -0.000391f, -0.003392f, 0.004012f, 0.002029f, -0.011949f, 0.009269f, -0.012095f, -0.000231f, 0.010611f, -0.001519f, 0.000398f, 0.000809f, -0.000244f, -0.007412f, -0.005267f, 0.012181f, 0.007044f, -0.015095f, -0.008067f, 0.002389f, -0.008863f, -0.006431f, 0.006461f, -0.010864f, 0.002112f, 0.002632f, 0.006213f, 0.012974f, 0.009946f, 0.006085f, 0.004648f, -0.008839f, -0.009216f, -0.007891f, 0.002565f, 0.011290f, 0.004364f, -0.001936f, -0.005042f, 0.003702f, -0.004262f, -0.001858f, 0.002630f, -0.004185f, -0.006344f, -0.000853f, 0.005086f, -0.000921f, -0.004330f, 0.000577f, 0.000042f, + 0.004956f, 0.002064f, 0.004578f, 0.001043f, -0.002098f, -0.002152f, -0.001721f, -0.000899f, -0.000575f, 0.001472f, 0.002880f, 0.003422f, 0.003600f, 0.016594f, -0.004063f, -0.004241f, -0.004974f, 0.004680f, -0.005565f, 0.008114f, -0.015740f, -0.002017f, 0.011676f, 0.006113f, -0.011838f, 0.008759f, 0.014378f, 0.013569f, 0.008653f, 0.001659f, -0.000540f, -0.008875f, -0.011445f, 0.004854f, -0.001101f, 0.011471f, -0.000901f, 0.006859f, -0.007150f, -0.004758f, -0.003837f, 0.001135f, 0.003654f, -0.000651f, -0.013977f, 0.002947f, 0.004840f, 0.003515f, 0.006024f, 0.003695f, -0.007586f, -0.018677f, -0.006015f, 0.002733f, 0.003600f, 0.000877f, -0.000803f, 0.003541f, -0.007664f, -0.000128f, -0.013917f, 0.006501f, -0.014359f, -0.003789f, -0.006090f, -0.009450f, 0.006891f, 0.003045f, 0.002921f, -0.008252f, -0.004014f, -0.002431f, -0.008276f, 0.000780f, -0.000705f, 0.004418f, -0.003549f, -0.006969f, -0.005320f, -0.016529f, 0.005247f, 0.001912f, 0.007096f, 0.010465f, 0.013367f, 0.005215f, -0.005270f, -0.007877f, -0.003719f, 0.007261f, 0.007244f, -0.008209f, 0.008948f, 0.000378f, -0.005821f, 0.012902f, + -0.002504f, 0.002908f, 0.002188f, 0.003784f, -0.000232f, -0.002885f, 0.000836f, 0.004008f, 0.001439f, -0.000637f, 0.004343f, -0.002277f, -0.001783f, -0.003154f, 0.001489f, 0.000390f, -0.001613f, 0.002374f, -0.002304f, -0.004154f, -0.001742f, 0.003147f, -0.000758f, -0.000725f, 0.001135f, 0.008308f, 0.007676f, -0.001316f, 0.005436f, -0.016031f, 0.001907f, -0.007652f, 0.000862f, 0.002397f, -0.010063f, 0.003689f, 0.029534f, 0.003234f, -0.002585f, -0.016606f, 0.023781f, -0.000045f, 0.010003f, 0.001189f, -0.000471f, -0.012904f, 0.012565f, 0.003226f, -0.006905f, 0.001647f, 0.000976f, -0.005148f, 0.005097f, 0.013223f, -0.003818f, 0.014061f, -0.004133f, 0.006018f, -0.000195f, 0.009274f, 0.008263f, 0.009235f, 0.000130f, -0.005025f, 0.007260f, -0.005296f, 0.006398f, -0.001818f, 0.006450f, 0.006248f, 0.006012f, -0.000775f, -0.001812f, 0.002402f, -0.005166f, -0.007507f, -0.019167f, 0.012546f, -0.012383f, 0.008682f, 0.001137f, 0.003657f, -0.002211f, -0.022892f, -0.004930f, -0.006179f, -0.011125f, 0.001518f, 0.006967f, -0.014704f, -0.004625f, 0.006639f, 0.001252f, 0.010404f, 0.018186f, -0.000494f, + -0.004889f, -0.004341f, -0.018849f, 0.005792f, 0.003679f, -0.004218f, 0.001018f, 0.007498f, 0.007716f, 0.002230f, 0.001988f, 0.005429f, 0.000652f, -0.000829f, 0.008124f, 0.004774f, -0.004423f, 0.008288f, 0.006084f, 0.008137f, 0.002527f, -0.001381f, 0.000614f, -0.000525f, -0.000518f, -0.003001f, 0.001093f, -0.001820f, 0.001917f, -0.002301f, 0.003824f, 0.001369f, 0.000396f, 0.003150f, 0.000310f, -0.000946f, 0.000919f, -0.000671f, -0.000240f, -0.001071f, 0.003809f, 0.002323f, 0.000808f, 0.002704f, -0.000818f, 0.004298f, 0.000596f, 0.001385f, -0.008373f, -0.010114f, -0.000981f, 0.005448f, -0.003240f, -0.004879f, -0.007374f, 0.002158f, 0.013409f, 0.006020f, 0.002108f, -0.030481f, -0.013998f, -0.004242f, 0.006233f, -0.003631f, 0.010310f, 0.034805f, 0.010817f, -0.012765f, 0.001980f, -0.015103f, -0.004906f, 0.010608f, -0.012043f, -0.003042f, 0.015514f, 0.003762f, -0.003894f, 0.002224f, 0.008771f, -0.005262f, 0.004249f, 0.004633f, 0.004550f, -0.008617f, 0.003939f, -0.004023f, -0.004944f, -0.012739f, -0.004975f, -0.007439f, -0.014219f, 0.006236f, 0.000483f, -0.000948f, 0.014342f, 0.010497f, + 0.003672f, 0.011539f, 0.000063f, -0.014576f, 0.012283f, -0.001374f, -0.010002f, -0.007866f, -0.014519f, 0.000677f, 0.017472f, 0.001212f, -0.007702f, 0.007445f, -0.013023f, -0.008131f, 0.006731f, -0.010515f, -0.014024f, -0.007345f, -0.004425f, 0.007921f, -0.012392f, -0.003809f, -0.005771f, 0.015944f, 0.002292f, -0.005509f, 0.007809f, -0.004766f, -0.005812f, 0.000918f, 0.012611f, -0.002357f, 0.000833f, 0.006996f, 0.003994f, -0.016090f, -0.000616f, 0.009836f, 0.004670f, 0.005737f, -0.001313f, -0.003114f, 0.007223f, -0.004299f, 0.001245f, -0.003523f, 0.002059f, 0.002723f, 0.003734f, -0.008155f, 0.000048f, 0.000855f, 0.002055f, 0.000503f, 0.000087f, 0.003822f, -0.000716f, -0.000726f, -0.003602f, 0.002809f, 0.010595f, 0.007651f, -0.019786f, 0.018755f, -0.007078f, 0.001720f, -0.008654f, 0.016061f, -0.002289f, -0.010839f, -0.035324f, -0.004723f, 0.018318f, 0.004528f, -0.027541f, 0.012539f, -0.000028f, -0.005650f, -0.008838f, -0.007167f, -0.002728f, -0.016389f, -0.002771f, 0.013227f, 0.017231f, 0.020502f, 0.012446f, 0.018694f, -0.006137f, 0.014722f, 0.007095f, -0.029095f, -0.000693f, 0.007556f, + 0.010322f, 0.005024f, -0.010034f, 0.000557f, -0.002100f, 0.010250f, -0.017439f, -0.006283f, 0.012953f, -0.004294f, 0.007281f, 0.003811f, -0.011618f, -0.012915f, -0.006666f, -0.019344f, -0.005507f, -0.005954f, 0.007931f, 0.002860f, -0.011186f, -0.002588f, -0.023881f, -0.006039f, 0.009745f, -0.006999f, -0.023598f, -0.000375f, 0.013398f, -0.028650f, 0.008300f, 0.004739f, 0.009096f, -0.013599f, -0.006314f, -0.012928f, 0.000996f, -0.003903f, -0.014620f, -0.003876f, -0.002461f, 0.008760f, 0.004958f, 0.021374f, 0.001357f, 0.000193f, 0.003411f, -0.001659f, -0.010849f, 0.013495f, 0.004716f, -0.005611f, 0.011857f, 0.002110f, -0.005895f, 0.001912f, -0.000371f, 0.007168f, 0.001653f, 0.001370f, 0.004492f, -0.003893f, 0.000163f, -0.004178f, -0.000010f, -0.003342f, 0.003300f, -0.001399f, 0.001430f, 0.003989f, 0.000576f, -0.002628f, 0.003760f, 0.000876f, 0.004002f, 0.001013f, -0.001155f, -0.021898f, 0.004923f, 0.017601f, 0.022670f, 0.016905f, 0.017264f, 0.006690f, -0.011919f, 0.012104f, 0.020953f, -0.030928f, 0.015563f, 0.015564f, -0.033139f, -0.008667f, 0.008183f, 0.035809f, -0.002757f, -0.002239f, + -0.008492f, -0.009987f, 0.044291f, 0.021981f, 0.006187f, 0.005573f, 0.022987f, -0.000382f, -0.003463f, -0.008544f, 0.003461f, -0.019870f, -0.017944f, -0.004066f, 0.005593f, 0.013357f, 0.006072f, 0.003061f, -0.006757f, 0.001327f, -0.014590f, 0.006121f, -0.021638f, 0.021264f, -0.002352f, -0.010534f, -0.012431f, -0.014170f, -0.021832f, 0.003820f, -0.021133f, -0.007071f, 0.014541f, -0.003330f, -0.007226f, -0.006919f, -0.003368f, -0.018047f, -0.012553f, -0.008109f, -0.007693f, -0.004086f, 0.006670f, 0.003759f, 0.001119f, 0.001011f, -0.015972f, 0.027571f, 0.015836f, 0.000432f, -0.002010f, 0.036250f, -0.004350f, -0.006208f, -0.008872f, -0.018300f, -0.005011f, 0.012150f, 0.011655f, -0.001744f, 0.014179f, -0.028110f, 0.008343f, -0.010694f, 0.002712f, 0.010884f, -0.003760f, -0.000205f, 0.001779f, 0.000968f, 0.003492f, -0.004384f, 0.005261f, 0.006790f, -0.006324f, 0.002657f, 0.003567f, 0.004443f, 0.011522f, -0.008611f, -0.000777f, 0.001261f, -0.000203f, 0.002735f, 0.001289f, 0.002854f, 0.003638f, -0.003103f, 0.002341f, -0.000942f, 0.000289f, -0.006130f, -0.001324f, -0.001415f, 0.005257f, 0.040783f, + 0.013930f, 0.008630f, 0.019795f, -0.022339f, -0.013442f, 0.012780f, 0.013594f, 0.030272f, 0.004381f, 0.008444f, -0.020379f, -0.001163f, 0.010058f, -0.026714f, -0.008620f, 0.010745f, -0.008934f, 0.000371f, 0.007309f, 0.019804f, -0.006717f, 0.007760f, 0.004035f, 0.004383f, 0.016865f, 0.014735f, 0.017974f, -0.014135f, -0.009497f, 0.019523f, -0.024757f, -0.008188f, -0.008231f, -0.001634f, -0.006729f, -0.015784f, 0.015346f, -0.000531f, -0.017097f, 0.000826f, -0.006765f, -0.017756f, -0.022189f, -0.012302f, -0.013323f, 0.026182f, -0.008387f, -0.006649f, -0.015558f, -0.001276f, -0.007947f, 0.004057f, 0.030806f, -0.005776f, -0.010150f, 0.005258f, -0.001887f, 0.017807f, -0.020720f, 0.034972f, 0.006955f, -0.033650f, -0.024519f, 0.008872f, -0.022707f, 0.000368f, -0.024309f, 0.000107f, 0.005128f, -0.003109f, 0.026140f, 0.032829f, -0.015672f, 0.003974f, -0.006497f, -0.024307f, -0.009135f, -0.013244f, -0.015914f, -0.003660f, 0.011872f, -0.008261f, -0.018745f, 0.012356f, 0.000748f, -0.010138f, -0.008616f, 0.004062f, 0.006869f, -0.003031f, -0.002024f, -0.009549f, 0.000449f, -0.008819f, -0.001836f, -0.004426f, + 0.006069f, 0.006914f, 0.001589f, -0.008759f, 0.000859f, 0.000544f, 0.005570f, -0.000146f, -0.002242f, 0.000450f, -0.011049f, -0.001229f, -0.006267f, -0.004418f, 0.000772f, 0.002449f, -0.005848f, 0.004455f, -0.003439f, -0.003169f, 0.007367f, -0.003005f, -0.007354f, -0.035587f, 0.013658f, 0.074054f, -0.012638f, -0.000696f, -0.032204f, -0.013458f, 0.022100f, -0.003040f, 0.042537f, 0.025614f, 0.023677f, 0.000318f, 0.018307f, -0.034533f, 0.031716f, 0.016514f, 0.001652f, 0.004283f, -0.019955f, 0.008897f, -0.000142f, 0.032332f, 0.018106f, 0.021598f, -0.007642f, 0.002249f, 0.005752f, -0.021453f, -0.017283f, -0.007782f, 0.010028f, 0.037691f, -0.010252f, -0.012508f, -0.012626f, -0.006987f, 0.005031f, -0.023701f, -0.006777f, -0.001413f, -0.012621f, -0.025096f, -0.005187f, -0.031879f, -0.011502f, 0.019027f, -0.022133f, -0.009566f, -0.004241f, 0.001971f, -0.035962f, -0.021595f, -0.004559f, -0.003591f, -0.006743f, 0.022964f, 0.010169f, 0.001705f, 0.013894f, 0.023655f, -0.014286f, -0.005781f, -0.019541f, 0.009173f, -0.015334f, 0.013406f, 0.015312f, 0.018423f, 0.033257f, 0.009604f, -0.024756f, -0.003831f, + 0.055631f, 0.018301f, 0.031349f, 0.015274f, 0.009635f, -0.001907f, 0.003956f, -0.012888f, -0.016613f, 0.007816f, 0.005698f, -0.016415f, 0.004601f, 0.011896f, 0.010699f, -0.015746f, 0.012695f, 0.004528f, 0.009197f, 0.010742f, 0.000094f, 0.005328f, 0.008897f, 0.003866f, 0.010416f, -0.000757f, 0.002384f, -0.002948f, -0.006756f, 0.001778f, 0.009116f, 0.001621f, -0.003726f, 0.014718f, 0.009380f, 0.008150f, 0.000493f, -0.001442f, -0.002194f, -0.000071f, 0.000669f, -0.002040f, 0.005244f, 0.004269f, 0.004168f, 0.004706f, 0.002400f, -0.007363f, 0.038151f, 0.041809f, -0.042148f, 0.010368f, 0.030970f, 0.018726f, -0.011736f, -0.022408f, -0.019388f, 0.043577f, 0.003596f, 0.016419f, 0.022863f, -0.012969f, 0.006469f, 0.009598f, -0.026626f, -0.028281f, 0.023041f, 0.007865f, -0.041212f, -0.009477f, 0.053619f, 0.025742f, -0.000088f, -0.030536f, 0.010049f, 0.008084f, 0.032610f, 0.010816f, -0.015878f, 0.021376f, 0.003789f, -0.008935f, -0.003086f, -0.006408f, -0.025416f, -0.011976f, 0.003905f, 0.004434f, -0.030344f, -0.032714f, -0.019384f, -0.009353f, -0.036040f, 0.021472f, -0.002250f, -0.025551f, + 0.004884f, 0.000663f, -0.011106f, -0.003046f, 0.007739f, -0.000148f, 0.008145f, 0.009514f, 0.014523f, -0.014191f, -0.016915f, 0.022409f, 0.045307f, 0.020580f, 0.012369f, 0.033116f, -0.006207f, 0.018077f, 0.044033f, 0.027000f, 0.004139f, 0.004989f, -0.013781f, -0.026885f, 0.026190f, -0.025606f, 0.011526f, -0.010212f, 0.008000f, -0.033540f, 0.016109f, -0.000365f, -0.011006f, -0.006266f, 0.019091f, -0.018049f, -0.009138f, -0.004620f, 0.002890f, -0.000368f, 0.005638f, -0.007117f, -0.000926f, -0.012870f, -0.003298f, -0.000688f, 0.002362f, -0.003810f, 0.004462f, -0.004785f, 0.003867f, -0.004277f, 0.014638f, 0.004652f, -0.003784f, -0.006742f, 0.005532f, 0.000684f, 0.005073f, 0.004674f, -0.003515f, 0.004217f, 0.005384f, -0.003543f, 0.001406f, 0.006736f, -0.002023f, 0.002432f, 0.007326f, 0.007785f, 0.013394f, -0.008605f, -0.039558f, 0.011099f, -0.019073f, -0.008799f, -0.014743f, -0.002490f, 0.033859f, 0.033532f, -0.067852f, 0.020986f, 0.021531f, -0.021087f, -0.034521f, -0.045016f, 0.007937f, -0.013235f, 0.008329f, -0.015723f, -0.012360f, -0.007323f, 0.041997f, 0.010619f, -0.003661f, -0.000742f, + -0.006694f, -0.012576f, 0.010620f, 0.006964f, -0.000200f, 0.016825f, 0.003659f, -0.003580f, 0.005999f, 0.015266f, 0.043343f, 0.004331f, 0.005333f, -0.021449f, -0.009173f, -0.010171f, -0.010788f, -0.001345f, -0.003614f, 0.014324f, 0.020732f, 0.000949f, 0.023952f, -0.005602f, -0.004056f, -0.004948f, -0.002675f, -0.042056f, 0.047381f, 0.001181f, 0.003352f, -0.003529f, -0.012324f, 0.012534f, -0.003254f, 0.019194f, 0.001085f, -0.018442f, 0.004975f, 0.020351f, -0.014514f, 0.018896f, 0.004602f, -0.029023f, -0.004953f, -0.006245f, -0.052708f, -0.018044f, 0.013472f, 0.013569f, -0.021539f, -0.012431f, 0.012578f, 0.001704f, 0.035223f, -0.028113f, 0.012783f, 0.015680f, -0.002281f, 0.013707f, 0.012771f, 0.015543f, 0.006001f, 0.006892f, 0.006303f, 0.005120f, -0.002346f, -0.002923f, -0.009098f, 0.003579f, 0.013164f, 0.002294f, -0.009659f, -0.003810f, -0.005458f, 0.003068f, -0.004232f, -0.003635f, -0.006434f, 0.008469f, 0.004835f, 0.005757f, 0.000622f, -0.015398f, 0.006126f, -0.015650f, 0.001195f, 0.002430f, 0.005500f, -0.007460f, -0.003569f, -0.002379f, 0.005047f, 0.009266f, 0.004221f, 0.003864f, + 0.001311f, -0.011055f, 0.034452f, 0.009851f, 0.010544f, -0.025426f, 0.018774f, -0.010243f, 0.017882f, -0.014250f, 0.023092f, -0.021242f, -0.017349f, 0.031785f, 0.003853f, 0.008041f, -0.019127f, -0.042626f, -0.004201f, 0.012303f, 0.003167f, 0.018120f, -0.015322f, 0.002239f, -0.000352f, -0.031858f, -0.023027f, 0.010390f, -0.036000f, -0.023606f, 0.011278f, 0.000036f, -0.037640f, -0.005475f, -0.018838f, 0.023775f, 0.014166f, 0.004198f, -0.008907f, -0.023592f, -0.050067f, 0.017485f, -0.022526f, 0.027198f, -0.008418f, -0.009240f, -0.004803f, -0.013354f, 0.007414f, 0.007038f, -0.040068f, -0.017719f, 0.039079f, 0.034223f, -0.035652f, 0.045966f, 0.002194f, 0.033816f, -0.008323f, -0.008262f, -0.004470f, -0.013511f, 0.017440f, -0.013318f, -0.037404f, -0.019884f, 0.044018f, -0.010026f, -0.009086f, -0.002599f, 0.013500f, 0.008645f, 0.022140f, -0.050928f, 0.014793f, 0.034453f, 0.027057f, -0.011269f, -0.003047f, -0.011096f, -0.023197f, 0.002450f, 0.020911f, 0.032621f, -0.020328f, -0.020542f, -0.023280f, -0.002507f, -0.003972f, 0.001984f, -0.011275f, 0.005567f, 0.005566f, -0.004079f, -0.001826f, -0.005125f, + -0.010289f, 0.009656f, 0.000005f, 0.001309f, -0.015516f, -0.013077f, -0.003643f, -0.016904f, -0.006718f, -0.008576f, 0.001657f, -0.006132f, -0.000191f, 0.012675f, -0.005433f, 0.005167f, -0.000397f, -0.012217f, 0.002132f, -0.006267f, -0.001789f, 0.004961f, 0.011062f, 0.001386f, 0.004503f, 0.010337f, 0.010253f, 0.013698f, -0.004656f, -0.004002f, -0.002772f, 0.014048f, -0.002460f, -0.023276f, -0.001556f, 0.023827f, 0.018487f, -0.018025f, -0.030698f, -0.025756f, -0.015138f, -0.029845f, -0.001683f, 0.014093f, 0.032714f, -0.005689f, -0.001588f, -0.054818f, 0.032797f, 0.040852f, -0.006508f, -0.022243f, -0.022610f, -0.014013f, 0.061494f, -0.037486f, -0.000163f, -0.004442f, 0.016575f, -0.002776f, 0.070843f, 0.001710f, -0.038608f, -0.010172f, -0.036694f, 0.047831f, 0.041567f, -0.033593f, 0.039098f, 0.009791f, 0.031465f, 0.011773f, -0.059208f, 0.018549f, 0.031612f, -0.040990f, -0.011417f, -0.046508f, -0.023287f, 0.001608f, -0.042890f, -0.036555f, -0.001096f, -0.029615f, -0.000471f, 0.010416f, -0.010660f, -0.029372f, 0.024062f, 0.021874f, -0.048427f, -0.036960f, 0.020159f, 0.008541f, 0.012933f, 0.024536f, + 0.031976f, -0.011772f, -0.017456f, -0.000977f, -0.011339f, -0.000591f, -0.003662f, -0.016202f, 0.006373f, -0.067119f, 0.022810f, 0.032690f, -0.034706f, -0.028505f, 0.021586f, -0.021817f, -0.019879f, -0.009406f, 0.012046f, 0.001755f, 0.041596f, 0.000372f, 0.024273f, -0.002339f, -0.017046f, 0.009100f, 0.012498f, 0.013104f, -0.011024f, 0.000351f, 0.001279f, -0.001461f, -0.007102f, -0.016551f, 0.010911f, 0.017584f, -0.009032f, -0.029180f, 0.007392f, 0.002603f, 0.030950f, -0.002889f, -0.012183f, 0.009672f, 0.003397f, 0.015597f, -0.000070f, -0.009361f, 0.000178f, 0.012747f, 0.009376f, 0.003258f, -0.003382f, 0.002499f, -0.005817f, -0.004742f, -0.014609f, 0.007418f, 0.006924f, -0.009839f, 0.004770f, 0.004518f, 0.002628f, -0.001558f, -0.004943f, 0.001404f, -0.014007f, 0.015611f, 0.037881f, 0.070725f, 0.111310f, 0.003843f, -0.044273f, -0.057148f, -0.013025f, 0.002793f, -0.013265f, 0.054310f, 0.040835f, 0.028414f, 0.047249f, 0.034540f, 0.027993f, 0.002359f, 0.022645f, -0.028300f, 0.040984f, 0.047358f, 0.003648f, 0.049252f, -0.019608f, 0.004511f, 0.011769f, -0.044956f, -0.030107f, -0.010263f, + -0.026585f, -0.031352f, -0.004263f, 0.050617f, -0.000219f, -0.009136f, 0.006700f, 0.011240f, -0.006332f, -0.067383f, -0.008850f, 0.018309f, -0.009568f, -0.020265f, 0.008837f, 0.026819f, 0.047088f, 0.012059f, 0.024225f, 0.033565f, 0.041111f, -0.055590f, -0.038496f, 0.022655f, -0.015874f, 0.072012f, -0.006964f, 0.062002f, -0.049080f, 0.029885f, 0.050526f, 0.002487f, 0.008609f, 0.030629f, -0.053695f, -0.024575f, 0.001892f, 0.031536f, 0.001356f, 0.036214f, 0.014927f, 0.013999f, 0.036775f, 0.013719f, -0.004325f, -0.014664f, -0.042392f, -0.009300f, 0.002981f, 0.012009f, 0.001356f, 0.001577f, 0.001452f, -0.022741f, 0.012661f, 0.008808f, 0.020757f, -0.006329f, 0.015737f, 0.025567f, 0.015301f, 0.006959f, 0.000415f, -0.002323f, 0.005752f, -0.007965f, 0.005600f, -0.007583f, 0.000748f, 0.005791f, 0.005573f, -0.006628f, 0.011687f, 0.011506f, 0.014113f, 0.002188f, 0.001577f, 0.006360f, -0.004392f, 0.009947f, -0.006434f, 0.010040f, 0.022005f, -0.001951f, -0.003640f, 0.002312f, 0.019196f, -0.010843f, 0.004893f, -0.001576f, -0.002292f, -0.002894f, 0.003052f, 0.005818f, 0.008902f, 0.007054f, + 0.006904f, 0.017992f, -0.011733f, 0.021226f, -0.009554f, 0.079981f, 0.027006f, 0.028464f, 0.058470f, -0.003674f, 0.012847f, 0.025783f, 0.037770f, -0.040800f, -0.032616f, -0.013529f, -0.035830f, -0.005803f, -0.048337f, 0.025733f, 0.039622f, 0.029105f, 0.039353f, -0.025546f, -0.013932f, 0.030552f, 0.023856f, -0.015794f, 0.039904f, 0.024220f, -0.008468f, -0.047527f, 0.027313f, 0.029846f, -0.023885f, -0.003081f, 0.014624f, 0.007489f, -0.038209f, 0.045257f, 0.012536f, 0.048538f, 0.026790f, 0.019348f, -0.025476f, 0.022926f, -0.013247f, 0.073680f, -0.057023f, 0.006840f, 0.022699f, -0.010426f, -0.036587f, 0.024266f, 0.023930f, -0.004064f, 0.023558f, -0.021801f, 0.060291f, -0.027150f, 0.016370f, 0.013463f, -0.037223f, -0.015949f, -0.051642f, 0.022715f, 0.015972f, -0.038436f, 0.036981f, 0.031524f, -0.026255f, 0.022731f, -0.002229f, 0.060964f, 0.020450f, -0.029838f, -0.021516f, -0.021246f, 0.019742f, -0.012209f, 0.016936f, -0.007327f, 0.004271f, 0.020661f, 0.013503f, 0.010496f, -0.019220f, 0.052400f, 0.006472f, -0.019828f, -0.028872f, 0.025480f, 0.013228f, 0.024058f, -0.012841f, 0.007261f, + 0.019569f, 0.039560f, 0.010717f, -0.006194f, 0.033427f, -0.008567f, -0.008739f, -0.004388f, 0.003944f, 0.009055f, -0.018797f, -0.016929f, 0.008181f, -0.014621f, -0.008284f, 0.002035f, -0.006374f, -0.001897f, -0.001775f, -0.014388f, 0.010890f, 0.005966f, -0.027372f, 0.006871f, -0.020271f, -0.013000f, -0.005940f, 0.010388f, 0.006262f, 0.019415f, 0.009236f, -0.000550f, 0.006250f, 0.007135f, 0.009019f, 0.000744f, 0.003084f, 0.004432f, 0.017231f, -0.005401f, -0.070886f, 0.030895f, -0.060537f, 0.061667f, 0.074182f, -0.004470f, 0.012587f, -0.061204f, -0.001017f, -0.014053f, 0.005740f, 0.034795f, 0.035678f, -0.011195f, 0.018288f, 0.028852f, 0.004210f, 0.011836f, 0.008030f, 0.011683f, -0.008121f, 0.042306f, -0.006408f, 0.009259f, -0.024294f, 0.047687f, 0.009998f, -0.004950f, -0.002008f, 0.042897f, 0.016175f, 0.020045f, 0.047478f, -0.011065f, -0.030001f, 0.058427f, -0.062897f, -0.027348f, -0.011233f, 0.013522f, 0.040985f, 0.009307f, -0.017383f, -0.017774f, -0.030562f, -0.000905f, -0.005880f, 0.011762f, 0.065965f, 0.064232f, 0.040605f, 0.057945f, -0.005652f, 0.087375f, -0.029601f, 0.024257f, + -0.021110f, 0.001943f, 0.027247f, -0.013597f, 0.002957f, -0.026379f, -0.034183f, 0.000508f, -0.021569f, 0.017850f, -0.029202f, 0.043215f, -0.032763f, -0.052423f, -0.021902f, -0.013465f, -0.004955f, 0.063045f, -0.038282f, -0.008779f, -0.005586f, -0.039574f, -0.010191f, 0.023070f, 0.049374f, -0.004345f, -0.002346f, 0.001949f, -0.016439f, -0.033981f, 0.001201f, -0.001437f, -0.005360f, -0.003482f, -0.000170f, -0.019595f, 0.015654f, -0.016761f, 0.019382f, -0.007689f, -0.015161f, -0.016372f, 0.003885f, 0.015639f, -0.011115f, -0.013998f, -0.005137f, 0.012997f, 0.014122f, -0.010213f, 0.006552f, 0.008723f, 0.004940f, 0.008706f, -0.008317f, -0.007237f, 0.003851f, 0.000994f, 0.008850f, -0.010933f, 0.007764f, 0.014468f, -0.000766f, -0.004528f, -0.007504f, 0.012707f, -0.025572f, -0.011823f, 0.025018f, -0.015020f, -0.001891f, -0.003810f, 0.004756f, -0.015421f, 0.011220f, -0.004768f, 0.023060f, 0.019995f, 0.000329f, -0.024842f, 0.109064f, 0.151431f, 0.046435f, 0.118050f, -0.025845f, -0.082081f, -0.057534f, -0.040204f, 0.019913f, 0.021723f, -0.027374f, -0.044076f, 0.038201f, 0.051404f, 0.030013f, 0.051286f, + 0.039531f, 0.009784f, 0.015717f, 0.007767f, -0.002587f, -0.033710f, 0.014865f, -0.039950f, 0.028146f, 0.000280f, -0.037440f, 0.043394f, 0.026205f, 0.020769f, 0.074879f, 0.046062f, -0.021517f, -0.014445f, -0.027007f, -0.031946f, -0.039184f, -0.015431f, 0.001500f, -0.030945f, -0.009658f, 0.064730f, 0.098113f, 0.072328f, 0.009845f, 0.049365f, 0.052589f, 0.080495f, 0.036801f, -0.042645f, -0.070089f, -0.043669f, -0.044746f, 0.026450f, 0.022150f, -0.095731f, -0.065725f, -0.016901f, 0.040301f, 0.087125f, -0.065315f, -0.002579f, -0.056700f, -0.007355f, 0.071147f, -0.039199f, 0.026764f, -0.056865f, -0.009349f, -0.016994f, 0.047951f, -0.053306f, -0.030456f, 0.000860f, 0.021125f, -0.043282f, 0.099286f, -0.023418f, -0.001645f, 0.056484f, -0.024918f, 0.042456f, -0.013643f, -0.035118f, -0.027376f, 0.016471f, 0.001520f, 0.014033f, 0.008699f, -0.031371f, 0.000745f, -0.013281f, 0.037936f, 0.022215f, 0.006588f, 0.020723f, 0.023578f, 0.001237f, -0.000448f, -0.007628f, -0.023887f, 0.048420f, -0.015168f, 0.010062f, 0.000221f, -0.028241f, 0.000954f, 0.002948f, -0.009067f, -0.018629f, -0.004217f, -0.011009f, + 0.002476f, 0.007053f, -0.008461f, 0.001461f, 0.032849f, 0.023409f, -0.004494f, -0.005529f, 0.031094f, -0.013352f, -0.004225f, -0.026714f, -0.038390f, -0.014567f, -0.010356f, -0.004543f, -0.010755f, -0.043290f, -0.083644f, 0.009779f, 0.046028f, -0.038964f, 0.071514f, -0.029075f, 0.028241f, -0.009996f, -0.083336f, -0.042956f, -0.004331f, -0.049289f, -0.112375f, -0.031891f, 0.040147f, 0.061720f, -0.030635f, -0.048460f, -0.100287f, -0.030217f, 0.029254f, -0.020378f, -0.029247f, -0.050198f, 0.011545f, -0.011736f, -0.008670f, -0.009850f, 0.019972f, 0.039652f, -0.031489f, 0.030528f, 0.026255f, -0.032124f, -0.091493f, 0.006923f, 0.007189f, 0.023022f, 0.010819f, 0.059174f, 0.005849f, -0.091296f, 0.000427f, -0.100492f, -0.000624f, 0.034126f, 0.041685f, -0.008323f, 0.005397f, 0.045859f, -0.024426f, -0.018285f, -0.031428f, 0.029465f, 0.021756f, -0.014997f, 0.035724f, -0.011793f, 0.014983f, 0.016063f, 0.058559f, 0.007190f, -0.020921f, -0.063437f, -0.021725f, 0.031936f, 0.028197f, 0.049206f, 0.072575f, 0.125095f, 0.062532f, 0.029576f, -0.032832f, -0.126970f, -0.034690f, -0.018931f, 0.096491f, -0.016937f, + 0.005945f, -0.001140f, -0.030532f, 0.003409f, 0.028254f, 0.012766f, -0.000724f, 0.000619f, 0.000474f, -0.000604f, 0.046785f, -0.017701f, -0.013985f, -0.016346f, 0.032455f, 0.011616f, 0.016415f, -0.013613f, -0.039946f, 0.012316f, 0.016888f, -0.019049f, -0.002678f, 0.009284f, -0.002282f, 0.002207f, -0.007068f, -0.058340f, -0.018804f, -0.005534f, 0.026394f, 0.040379f, 0.004969f, -0.035319f, -0.033460f, 0.014368f, 0.005656f, -0.004144f, -0.005591f, 0.000893f, -0.003453f, -0.002713f, 0.030812f, -0.034785f, 0.004430f, -0.030059f, 0.030855f, -0.017943f, 0.000837f, -0.042856f, -0.006351f, 0.027038f, -0.008560f, 0.014047f, -0.023764f, 0.006600f, -0.081541f, -0.024918f, 0.056450f, -0.028011f, -0.023546f, -0.006158f, -0.018429f, -0.065376f, -0.072725f, -0.106256f, -0.033685f, 0.000095f, -0.008397f, 0.069371f, 0.018933f, 0.090645f, 0.055799f, 0.028005f, -0.012868f, -0.033627f, -0.006448f, 0.127171f, 0.007703f, 0.036593f, 0.020473f, -0.016061f, 0.063203f, -0.026538f, 0.050973f, -0.055969f, -0.005767f, -0.040353f, 0.047953f, -0.067934f, -0.014510f, 0.020666f, 0.021151f, 0.021711f, -0.059528f, 0.042138f, + -0.068104f, 0.013727f, -0.033481f, -0.022838f, 0.067326f, 0.003937f, 0.004214f, 0.023197f, -0.025870f, -0.001563f, 0.017425f, -0.082433f, 0.001991f, 0.018955f, -0.012219f, 0.053028f, -0.023985f, -0.010424f, 0.089036f, -0.033857f, -0.074520f, 0.000155f, -0.028298f, 0.005978f, -0.005870f, -0.003939f, -0.059868f, 0.031844f, -0.009960f, -0.081345f, 0.048695f, -0.100739f, 0.019301f, -0.023111f, -0.040138f, -0.063685f, -0.008471f, 0.017208f, 0.029022f, 0.002584f, 0.023447f, 0.029358f, -0.035032f, 0.061345f, -0.014471f, 0.016387f, -0.001097f, 0.029272f, -0.001616f, -0.003325f, -0.010257f, 0.017304f, -0.036955f, -0.004750f, 0.011711f, 0.007918f, -0.014547f, -0.000253f, -0.016252f, -0.021254f, 0.010634f, 0.008675f, 0.015845f, 0.010324f, -0.004937f, 0.012447f, 0.036181f, -0.018074f, -0.019295f, 0.006340f, -0.002094f, 0.007118f, 0.026749f, -0.003898f, 0.014431f, 0.013758f, 0.013664f, -0.018408f, -0.022353f, -0.005483f, -0.002098f, -0.023123f, -0.001644f, -0.004610f, 0.009438f, -0.025257f, 0.007226f, -0.035250f, -0.124304f, -0.127739f, -0.109051f, -0.054984f, 0.225378f, 0.070572f, -0.028198f, -0.029432f, + -0.111598f, -0.236249f, -0.026702f, 0.063381f, 0.079106f, 0.033935f, -0.036458f, -0.027314f, -0.069745f, -0.076792f, 0.057508f, -0.055369f, 0.141988f, 0.106417f, -0.165964f, 0.053441f, 0.021583f, -0.034941f, 0.012676f, 0.118821f, 0.016819f, 0.081896f, 0.162707f, -0.035717f, -0.134042f, 0.006025f, -0.023072f, -0.124957f, -0.034271f, 0.059978f, -0.005763f, 0.073886f, 0.119515f, 0.010424f, -0.104142f, -0.203613f, -0.174875f, -0.156344f, -0.016703f, 0.150926f, 0.042801f, 0.040055f, 0.022427f, -0.041409f, -0.204126f, -0.127825f, -0.065605f, -0.025162f, 0.012184f, 0.045751f, 0.044426f, 0.057170f, 0.058591f, 0.072924f, -0.088135f, -0.031938f, -0.072227f, -0.006428f, -0.078970f, 0.048600f, 0.048557f, 0.099868f, 0.110957f, 0.052831f, 0.001391f, -0.029986f, -0.020832f, -0.137472f, -0.109458f, 0.095551f, 0.149704f, 0.101832f, 0.119574f, -0.029152f, -0.053789f, -0.108854f, -0.062035f, 0.031733f, 0.000016f, 0.007092f, 0.033471f, 0.010986f, 0.008287f, -0.026635f, -0.035114f, -0.017598f, -0.026575f, 0.000644f, 0.026230f, 0.007179f, 0.010041f, -0.006358f, 0.015221f, -0.029018f, 0.019026f, -0.008884f, + -0.026876f, -0.026472f, -0.008120f, -0.043818f, -0.013605f, -0.026897f, 0.027388f, 0.030873f, 0.014866f, 0.011785f, -0.028568f, -0.058433f, -0.057789f, 0.015058f, -0.005617f, 0.025931f, 0.022823f, 0.012044f, -0.042164f, -0.021570f, -0.040155f, -0.061810f, 0.018293f, 0.042728f, -0.016524f, -0.226811f, -0.253925f, -0.172748f, -0.177688f, -0.047666f, 0.198477f, 0.133598f, 0.214166f, 0.238583f, 0.362532f, 0.240684f, 0.249076f, 0.160618f, -0.012691f, -0.179658f, -0.310446f, -0.366586f, -0.318307f, -0.251108f, -0.181837f, -0.044220f, -0.009637f, -0.026552f, 0.008794f, 0.078524f, 0.129436f, 0.179843f, 0.156214f, 0.213212f, 0.205830f, 0.266247f, 0.243377f, 0.068187f, 0.163206f, -0.035826f, 0.044302f, 0.032683f, 0.008786f, -0.022949f, -0.238114f, -0.285569f, -0.365186f, -0.428101f, -0.389447f, -0.216485f, -0.192638f, -0.158356f, -0.198510f, -0.229421f, -0.049623f, 0.055770f, 0.143328f, 0.210521f, 0.304611f, 0.364287f, 0.467479f, 0.617345f, 0.599182f, 0.455223f, 0.368984f, 0.307287f, 0.162096f, 0.258016f, -0.105338f, -0.210895f, -0.504688f, -0.577491f, -0.718246f, -0.689687f, -0.631185f, -0.597784f, + -0.577846f, -0.355669f, -0.220874f, -0.120086f, 0.321649f, 0.328123f, 0.501281f, 0.644527f, 0.558311f, 0.504751f, 0.510096f, 0.401110f, 0.305293f, 0.167904f, 0.021406f, -0.002726f, -0.095402f, -0.115352f, -0.167769f, -0.216601f, -0.298028f, -0.321519f, -0.293372f, -0.337408f, -0.261499f, -0.239500f, -0.226790f, -0.198609f, -0.103268f, -0.020458f, 0.104655f, 0.217388f, 0.203219f, 0.317900f, 0.350543f, 0.387434f, 0.456530f, 0.369958f, 0.215082f, 0.107703f, -0.066644f, -0.168663f, -0.169670f, -0.326170f, -0.303126f, -0.413731f, -0.330464f, -0.342958f, -0.221335f, -0.230397f, -0.135825f, -0.017401f, 0.115086f, 0.174568f, 0.306778f, 0.358350f, 0.346615f, 0.337822f, 0.327954f, 0.252898f, 0.088927f, -0.058198f, -0.084830f, -0.109163f, -0.121794f, -0.136902f, -0.163123f, -0.150598f, -0.112571f, -0.120995f, -0.110585f, -0.095146f, -0.069474f, -0.030835f, -0.022092f, -0.015661f, 0.003355f, 0.020054f, 0.012604f, 0.018728f, 0.047881f, 0.057591f, 0.051324f, 0.034162f, 0.023304f, 0.017519f, 0.016969f} + }, + { + {0.024972f, 0.002931f, -0.010883f, 0.003851f, -0.006848f, 0.001910f, -0.004429f, -0.002761f, -0.005952f, 0.004374f, 0.007482f, 0.002236f, 0.002394f, -0.013486f, 0.002761f, 0.000334f, 0.004320f, 0.005279f, 0.002938f, 0.007899f, -0.001552f, -0.004266f, 0.000919f, 0.009422f, 0.000154f, -0.007043f, -0.000623f, 0.008038f, 0.004409f, 0.000957f, 0.000175f, 0.002337f, -0.000105f, 0.000710f, 0.001635f, -0.000148f, -0.002735f, -0.000230f, 0.000170f, 0.003223f, -0.004548f, -0.010827f, 0.008171f, 0.008166f, 0.007146f, 0.006705f, -0.000237f, 0.003708f, 0.006405f, -0.006522f, -0.001387f, -0.000065f, -0.008715f, 0.002102f, 0.000756f, 0.008096f, 0.000938f, 0.004587f, 0.000246f, 0.010153f, 0.005212f, -0.001360f, 0.007170f, 0.004379f, -0.002175f, -0.008091f, 0.002168f, 0.002252f, -0.002050f, 0.000726f, -0.004541f, -0.001108f, 0.004314f, 0.003036f, 0.003606f, 0.008393f, -0.001254f, -0.002499f, 0.001253f, 0.005037f, 0.011492f, -0.006573f, 0.003155f, 0.003186f, 0.003437f, -0.000230f, -0.000639f, 0.003625f, -0.001835f, 0.000207f, 0.001793f, -0.002029f, -0.000243f, 0.000434f, 0.000724f, -0.001286f, + -0.001981f, 0.001440f, -0.000387f, 0.000372f, -0.000642f, 0.002190f, -0.000133f, 0.002585f, -0.000459f, 0.021112f, -0.014079f, 0.004774f, 0.011894f, 0.002793f, 0.008390f, 0.010151f, -0.009188f, 0.001950f, -0.000818f, 0.003958f, -0.011654f, -0.009258f, -0.001703f, 0.009093f, 0.012335f, -0.004707f, -0.004049f, 0.005911f, -0.009966f, -0.013357f, -0.002439f, -0.015711f, 0.005412f, 0.005222f, 0.001454f, -0.009761f, -0.009906f, 0.003537f, -0.005753f, 0.001346f, -0.000262f, 0.010360f, 0.010967f, 0.009876f, -0.001574f, 0.006920f, -0.010788f, 0.004708f, -0.006348f, -0.000589f, 0.000606f, 0.008449f, -0.009092f, -0.008109f, 0.000095f, 0.011113f, 0.004617f, 0.004337f, -0.006700f, 0.003759f, 0.002789f, -0.003286f, -0.013862f, -0.002263f, -0.004680f, -0.006116f, -0.005463f, 0.006360f, -0.005813f, -0.001903f, 0.001483f, 0.003943f, 0.010014f, -0.003840f, -0.000200f, -0.007544f, -0.003610f, 0.001543f, -0.010391f, -0.000664f, 0.002888f, 0.007116f, -0.002225f, -0.005428f, -0.002691f, -0.010880f, 0.005185f, 0.003163f, 0.000675f, -0.000908f, -0.009339f, 0.003840f, 0.000825f, -0.003369f, 0.003463f, -0.001362f, + 0.000882f, 0.003086f, 0.000360f, 0.000618f, 0.003674f, 0.001587f, 0.000803f, 0.000068f, 0.002959f, 0.001041f, -0.000490f, 0.001168f, 0.001761f, -0.007454f, -0.013502f, -0.003372f, 0.002316f, -0.004170f, -0.006838f, -0.003794f, -0.013460f, -0.007585f, 0.014212f, -0.000580f, -0.006312f, 0.007530f, -0.011400f, -0.002620f, -0.014217f, -0.002964f, -0.011206f, -0.005866f, 0.013144f, 0.000679f, -0.002689f, -0.014853f, -0.009268f, -0.003361f, -0.006371f, 0.002500f, -0.007914f, 0.000762f, 0.004904f, 0.015723f, 0.007707f, 0.005890f, 0.006803f, 0.012726f, -0.010713f, -0.000136f, -0.003216f, -0.008262f, 0.003397f, -0.001698f, -0.003222f, -0.008647f, 0.004496f, 0.009069f, 0.000945f, -0.006604f, -0.004232f, 0.023231f, 0.000094f, -0.006687f, -0.009306f, -0.013944f, -0.018575f, -0.002326f, -0.009633f, 0.002223f, -0.001889f, 0.005182f, 0.000963f, 0.002503f, -0.008536f, 0.001270f, 0.001394f, 0.011240f, 0.003799f, -0.008418f, 0.000471f, -0.002622f, -0.002500f, -0.002011f, 0.004019f, 0.006025f, 0.005904f, -0.005514f, -0.005366f, 0.003380f, 0.001606f, 0.002210f, 0.002432f, -0.002147f, -0.008238f, -0.009676f, + -0.001144f, 0.001743f, -0.002309f, 0.001005f, 0.000067f, -0.001315f, -0.002040f, -0.003034f, -0.001178f, -0.000584f, -0.001822f, -0.003371f, 0.000286f, 0.001097f, -0.001823f, 0.000639f, -0.001604f, 0.000317f, -0.002007f, -0.001007f, 0.000396f, 0.000527f, -0.002419f, 0.000359f, -0.000921f, -0.004349f, 0.000451f, -0.001530f, 0.002442f, -0.032469f, 0.012862f, -0.005802f, 0.005441f, -0.013433f, -0.005403f, -0.010516f, -0.009615f, 0.000661f, -0.003021f, -0.006587f, 0.016554f, 0.004295f, -0.001524f, -0.010028f, -0.003163f, 0.004660f, -0.011483f, -0.006079f, -0.010936f, -0.006086f, 0.015823f, 0.001547f, 0.010554f, -0.001002f, -0.000097f, -0.002649f, 0.002998f, 0.002929f, -0.008380f, 0.000111f, 0.002521f, 0.004737f, 0.017167f, -0.008963f, -0.010392f, -0.002050f, 0.018987f, 0.005981f, 0.020206f, 0.001795f, 0.001865f, -0.003562f, 0.009982f, -0.001724f, 0.014715f, -0.001486f, -0.001710f, -0.002635f, -0.006120f, 0.006264f, 0.001899f, -0.005238f, 0.004278f, 0.005554f, 0.010215f, -0.005891f, -0.000517f, -0.001819f, 0.009097f, -0.003704f, -0.001535f, -0.003410f, -0.002330f, 0.002206f, -0.002982f, 0.001074f, + 0.001534f, -0.002206f, 0.002249f, -0.015053f, 0.001441f, 0.009812f, 0.003433f, 0.013136f, 0.001061f, 0.001413f, 0.003155f, 0.008378f, 0.013379f, -0.008832f, 0.001280f, -0.000675f, 0.003155f, -0.000396f, -0.000340f, 0.004035f, 0.008672f, 0.003364f, 0.004251f, 0.000494f, -0.001514f, -0.002233f, 0.001170f, 0.004427f, -0.001549f, 0.002029f, 0.002002f, 0.002113f, -0.000091f, 0.000933f, 0.003682f, -0.000612f, 0.000963f, -0.000105f, 0.004249f, 0.002519f, -0.001390f, -0.000212f, 0.004571f, 0.002385f, -0.001386f, 0.003408f, 0.001861f, -0.006951f, -0.003430f, -0.000148f, -0.016054f, -0.002683f, 0.000151f, -0.007991f, -0.028413f, -0.006890f, -0.006127f, -0.012382f, -0.002416f, -0.003185f, 0.017793f, -0.006173f, 0.013457f, 0.006303f, 0.009707f, -0.018270f, -0.008208f, -0.018462f, -0.017151f, -0.000015f, 0.003229f, 0.010740f, -0.005179f, -0.008072f, -0.004961f, -0.012487f, 0.002673f, 0.005680f, 0.006538f, 0.004023f, -0.003783f, 0.004649f, -0.008329f, 0.000895f, -0.015025f, 0.005422f, -0.003873f, 0.002053f, 0.003314f, 0.005609f, 0.005994f, -0.005748f, 0.000229f, 0.014549f, -0.007798f, 0.007048f, + 0.007407f, -0.000491f, 0.004437f, 0.007153f, -0.002952f, 0.002812f, 0.007058f, 0.000378f, 0.012444f, -0.006525f, -0.008609f, -0.004178f, 0.004071f, -0.000046f, -0.016536f, -0.008403f, -0.018321f, -0.019958f, -0.003396f, 0.005384f, -0.016253f, 0.007235f, -0.002638f, -0.000301f, -0.005564f, 0.005432f, -0.009669f, -0.001562f, -0.003378f, -0.013664f, -0.012031f, -0.004002f, 0.007148f, 0.000215f, 0.006130f, -0.002595f, 0.003968f, 0.003158f, -0.007552f, 0.000026f, -0.001496f, 0.004256f, -0.005091f, -0.008538f, -0.002785f, 0.001143f, -0.000006f, -0.003298f, 0.001451f, -0.002053f, -0.000774f, 0.001341f, -0.000453f, 0.000078f, -0.000175f, -0.001954f, -0.000423f, -0.001897f, -0.001258f, -0.001232f, -0.000043f, 0.000861f, 0.000104f, 0.002406f, 0.000932f, -0.001190f, 0.009174f, -0.026446f, -0.001275f, 0.008217f, 0.005186f, -0.014037f, -0.001709f, -0.008932f, 0.002299f, 0.002682f, 0.001920f, -0.015331f, -0.020522f, -0.013990f, 0.002404f, -0.011184f, 0.012242f, 0.003873f, -0.019759f, 0.014278f, 0.012523f, 0.009905f, 0.008876f, -0.009822f, 0.016099f, 0.004249f, -0.000115f, -0.006265f, 0.005445f, 0.009643f, + -0.008831f, -0.012980f, 0.004811f, -0.004898f, -0.016076f, -0.002149f, -0.015512f, -0.005660f, 0.028123f, -0.007501f, -0.012622f, -0.015670f, 0.000889f, 0.002561f, 0.011199f, 0.004454f, -0.010279f, 0.009365f, -0.001180f, -0.008089f, -0.010687f, -0.011370f, 0.017338f, 0.007749f, 0.010933f, -0.008253f, -0.011277f, 0.005098f, 0.002821f, -0.011628f, -0.000570f, -0.007131f, 0.011216f, -0.002162f, 0.001017f, -0.013741f, 0.008792f, 0.007342f, -0.007797f, -0.005034f, -0.004832f, 0.015549f, 0.000205f, 0.002280f, -0.004475f, 0.010654f, -0.010867f, -0.018516f, -0.008243f, 0.001600f, -0.003529f, 0.010080f, -0.002056f, -0.001173f, -0.010775f, -0.005708f, 0.004691f, 0.000605f, -0.007664f, -0.005032f, 0.006572f, 0.003520f, -0.002068f, 0.000268f, 0.000113f, -0.000020f, -0.002100f, 0.002824f, 0.001278f, 0.004401f, 0.000718f, 0.000744f, 0.000171f, 0.001890f, -0.000891f, 0.002739f, -0.003616f, 0.003763f, -0.014200f, -0.000624f, 0.003497f, -0.003567f, -0.011353f, -0.016845f, -0.013498f, 0.013573f, 0.001572f, 0.016641f, 0.019871f, 0.019293f, 0.002918f, 0.026486f, 0.006352f, -0.002953f, 0.012248f, 0.009345f, + 0.024481f, 0.003521f, 0.014075f, -0.019332f, 0.031805f, 0.023393f, 0.011311f, -0.009663f, -0.007656f, 0.011484f, 0.002655f, 0.008237f, -0.004726f, 0.013710f, -0.004092f, -0.003568f, 0.012345f, 0.010017f, -0.012554f, 0.008453f, -0.003351f, 0.013353f, 0.014524f, -0.028474f, -0.005237f, 0.017549f, 0.005308f, 0.009556f, 0.007543f, 0.017377f, -0.008377f, 0.006972f, 0.000347f, -0.014630f, -0.007112f, -0.000400f, 0.003076f, -0.021482f, -0.001792f, 0.013592f, -0.010704f, 0.022814f, 0.017129f, -0.006886f, -0.000165f, 0.004380f, 0.008596f, 0.013324f, -0.005117f, -0.004295f, 0.021624f, -0.005092f, -0.000399f, 0.009402f, 0.000490f, 0.012634f, 0.010103f, 0.004163f, 0.007000f, 0.007288f, 0.006993f, 0.003225f, 0.003005f, -0.002995f, -0.004982f, -0.002106f, -0.004532f, -0.000532f, -0.003147f, 0.002402f, 0.002219f, -0.004564f, -0.003553f, -0.000535f, 0.003546f, 0.007068f, 0.005960f, 0.003353f, 0.000740f, 0.003519f, -0.006005f, -0.002733f, -0.003191f, 0.001359f, -0.002291f, 0.003158f, -0.006988f, 0.000781f, -0.000045f, 0.006106f, 0.002518f, 0.000313f, 0.001139f, 0.006329f, 0.002023f, -0.005441f, + 0.001894f, -0.000492f, 0.001566f, 0.055313f, -0.028928f, 0.004033f, 0.022811f, -0.002193f, 0.000829f, 0.030188f, 0.033103f, 0.003930f, -0.002511f, 0.006963f, -0.001576f, 0.007480f, 0.009527f, -0.012098f, -0.003687f, 0.019540f, 0.017279f, -0.008065f, -0.015704f, -0.016826f, -0.017427f, -0.009433f, 0.014544f, -0.011179f, 0.006399f, 0.000769f, -0.020365f, -0.001387f, -0.013521f, -0.001646f, 0.005891f, 0.008934f, -0.026416f, -0.012456f, -0.021022f, -0.006568f, 0.031972f, 0.004574f, -0.002826f, 0.002808f, -0.002840f, 0.001545f, 0.009486f, 0.005500f, 0.015998f, -0.000890f, 0.011973f, 0.007059f, -0.011048f, 0.007012f, -0.016844f, 0.000441f, -0.016917f, -0.017751f, 0.006768f, -0.019528f, 0.008274f, -0.000268f, 0.010004f, 0.007854f, 0.007239f, -0.010448f, 0.012211f, -0.017718f, -0.000285f, -0.008189f, -0.002669f, 0.022143f, 0.000883f, 0.011059f, 0.011095f, -0.002306f, -0.004123f, 0.008531f, -0.018248f, 0.007297f, 0.017557f, -0.026053f, -0.019006f, -0.005357f, 0.013306f, -0.001275f, -0.015872f, 0.005981f, -0.002219f, 0.006801f, -0.005769f, 0.002050f, -0.003225f, 0.011418f, -0.002018f, 0.010494f, + 0.005963f, 0.009795f, 0.003545f, 0.002675f, -0.005046f, 0.006613f, 0.003112f, -0.000287f, 0.004065f, 0.003319f, -0.001766f, 0.004915f, 0.004063f, -0.002487f, -0.002451f, -0.008566f, -0.001604f, -0.004920f, 0.000002f, -0.000279f, -0.002700f, 0.004307f, -0.001314f, 0.002497f, 0.001122f, 0.008807f, -0.006822f, -0.033023f, 0.006147f, 0.007977f, -0.022306f, 0.010076f, -0.000147f, 0.023382f, -0.006169f, -0.011896f, 0.009901f, -0.028908f, -0.009937f, 0.024371f, 0.010701f, -0.014848f, -0.035690f, 0.015880f, -0.004959f, 0.008714f, -0.022766f, -0.030204f, -0.020474f, 0.026098f, 0.002153f, 0.014386f, -0.002497f, -0.013857f, -0.020510f, 0.009655f, -0.005459f, -0.017891f, -0.020868f, 0.001482f, -0.018625f, -0.014368f, -0.007805f, -0.003721f, -0.020179f, 0.011282f, 0.013525f, 0.018231f, -0.008717f, 0.016200f, -0.013057f, 0.025658f, -0.004758f, -0.001411f, 0.019600f, 0.010035f, -0.004827f, -0.013203f, -0.006572f, 0.018863f, 0.004394f, -0.014089f, 0.006738f, 0.020039f, 0.019008f, 0.008121f, -0.023180f, -0.025665f, -0.002269f, 0.004939f, 0.001618f, -0.018487f, 0.005553f, 0.020318f, 0.005920f, -0.008719f, + -0.032792f, 0.008732f, -0.014253f, -0.032052f, 0.001026f, 0.001670f, -0.018064f, 0.025978f, -0.001856f, -0.010742f, -0.035457f, -0.000259f, -0.010418f, -0.001688f, 0.013346f, -0.007984f, -0.013545f, -0.000950f, 0.003079f, 0.003177f, -0.010734f, -0.010945f, -0.010806f, 0.003961f, -0.009325f, 0.000553f, -0.001665f, 0.001492f, -0.002578f, 0.002587f, 0.004790f, 0.004205f, 0.005472f, 0.002665f, 0.009820f, 0.012427f, 0.000723f, 0.003633f, 0.002308f, -0.004891f, -0.001336f, -0.003992f, 0.001546f, 0.001333f, 0.000754f, -0.012136f, 0.001450f, -0.001062f, -0.004395f, -0.000611f, -0.003949f, 0.003616f, -0.004831f, -0.005124f, -0.040859f, 0.025658f, 0.019795f, 0.021792f, 0.003117f, 0.023031f, 0.002367f, -0.014719f, -0.017029f, 0.002617f, 0.018493f, -0.012694f, 0.004337f, -0.027511f, 0.018951f, 0.020098f, -0.010041f, -0.005635f, 0.004695f, 0.022008f, 0.016080f, -0.011277f, -0.010063f, 0.015076f, -0.017936f, 0.006309f, -0.024546f, 0.000052f, -0.007170f, -0.032933f, -0.033962f, 0.006711f, 0.019786f, 0.009220f, -0.028970f, -0.015586f, 0.022391f, -0.024552f, -0.010087f, 0.019883f, -0.005174f, 0.024831f, + -0.008529f, -0.017135f, 0.006669f, -0.024972f, 0.029071f, -0.002944f, 0.005296f, -0.013401f, -0.006691f, -0.001042f, -0.026933f, -0.016425f, 0.002361f, -0.004264f, 0.002889f, -0.008637f, -0.028591f, 0.005566f, -0.023639f, 0.010794f, -0.005818f, 0.017364f, -0.028529f, 0.013093f, 0.005102f, -0.008004f, 0.021593f, -0.002529f, -0.014523f, -0.028043f, -0.003615f, 0.006382f, -0.022580f, 0.017001f, -0.015197f, 0.011094f, -0.029791f, -0.030481f, 0.014765f, 0.011796f, -0.012075f, -0.009483f, 0.009921f, 0.006805f, -0.006340f, -0.005305f, -0.008079f, -0.010484f, -0.000803f, -0.016950f, -0.001640f, -0.002338f, 0.001452f, 0.004867f, -0.002999f, 0.004919f, -0.003129f, -0.000944f, -0.009077f, -0.004470f, -0.002346f, -0.001092f, 0.013809f, -0.003944f, -0.001751f, 0.007983f, -0.008362f, 0.006001f, 0.003568f, -0.003216f, -0.001904f, -0.008493f, -0.007777f, -0.000271f, -0.004480f, -0.005422f, 0.013371f, -0.012946f, 0.004463f, 0.015918f, 0.023467f, -0.006152f, 0.002621f, -0.008274f, -0.031290f, -0.006635f, -0.006689f, 0.013657f, -0.027489f, -0.000022f, -0.015858f, 0.017128f, -0.019233f, -0.026166f, 0.017448f, 0.008081f, + 0.011347f, 0.036201f, -0.005963f, -0.010284f, 0.010185f, -0.023062f, -0.027002f, 0.002307f, 0.034561f, 0.010604f, 0.019394f, -0.013704f, -0.016992f, -0.027396f, 0.005472f, 0.035204f, -0.015758f, 0.018452f, 0.004190f, 0.027402f, -0.041793f, -0.013168f, -0.000734f, 0.005019f, 0.023750f, 0.011591f, -0.031867f, -0.008500f, -0.014814f, -0.001138f, -0.036692f, -0.005634f, -0.013240f, 0.002664f, -0.019339f, -0.001146f, 0.004423f, -0.053359f, 0.006074f, -0.016631f, 0.003225f, -0.021029f, -0.001217f, 0.013308f, 0.006655f, -0.007048f, -0.006849f, -0.028055f, 0.028291f, 0.027416f, 0.008914f, 0.006962f, -0.024557f, 0.037543f, 0.012937f, 0.019440f, -0.007440f, -0.058653f, 0.022848f, -0.001833f, 0.044051f, 0.041648f, 0.012991f, -0.005134f, 0.018177f, 0.001163f, 0.015905f, 0.001063f, 0.001739f, -0.010205f, 0.004884f, -0.009300f, -0.005182f, -0.002436f, 0.019141f, -0.000054f, 0.001059f, 0.005168f, -0.001327f, -0.010160f, -0.005454f, 0.002007f, 0.007693f, -0.003435f, 0.003772f, -0.005854f, 0.008006f, -0.006131f, -0.009930f, -0.004738f, -0.001539f, 0.004847f, 0.001653f, -0.001839f, -0.001834f, -0.001882f, + 0.012570f, -0.002496f, 0.000600f, 0.002385f, 0.006199f, 0.050692f, 0.017896f, 0.034704f, -0.033612f, 0.007853f, 0.035386f, -0.010592f, -0.012707f, 0.005031f, -0.021828f, 0.016726f, 0.004264f, -0.025499f, -0.033398f, -0.002479f, 0.028391f, -0.000701f, -0.002250f, 0.018586f, -0.027668f, -0.007026f, -0.022770f, 0.012842f, -0.038828f, 0.000673f, -0.008274f, 0.014167f, -0.040554f, -0.028011f, -0.017701f, 0.011928f, 0.013098f, 0.009074f, -0.013131f, 0.009895f, -0.009760f, 0.012066f, -0.008000f, -0.003524f, -0.002759f, -0.011367f, 0.007758f, 0.017994f, 0.010731f, 0.018114f, -0.001453f, -0.017511f, 0.002536f, -0.017436f, 0.046569f, -0.011731f, -0.045737f, -0.014230f, 0.012548f, 0.039789f, -0.039758f, -0.016378f, -0.002557f, 0.025595f, 0.001674f, -0.056287f, -0.006878f, 0.026020f, 0.053714f, 0.002018f, 0.037406f, 0.053867f, -0.003969f, 0.017360f, 0.025476f, -0.007012f, 0.045919f, -0.006137f, 0.055444f, 0.008853f, -0.015185f, -0.048023f, -0.030061f, 0.000387f, 0.014491f, 0.006932f, -0.007275f, -0.009310f, -0.014893f, -0.020353f, -0.018073f, 0.022068f, 0.006486f, -0.000241f, -0.031555f, -0.003543f, + 0.001202f, -0.005741f, -0.017928f, 0.004715f, 0.009551f, -0.002696f, -0.009272f, -0.006769f, -0.017564f, -0.010606f, -0.005136f, 0.011113f, -0.002134f, -0.009562f, 0.009646f, -0.013748f, 0.009941f, 0.010016f, -0.008587f, -0.016669f, 0.015293f, 0.022678f, 0.003511f, 0.000713f, 0.001420f, 0.013220f, -0.003896f, -0.015767f, 0.001904f, 0.015318f, 0.012721f, -0.015657f, -0.013262f, 0.002455f, 0.002557f, 0.000237f, 0.004578f, -0.002441f, 0.021347f, 0.025832f, -0.044202f, -0.043002f, 0.011455f, -0.010000f, 0.001417f, -0.017088f, 0.040233f, -0.018002f, -0.011479f, 0.014005f, 0.010124f, 0.000430f, -0.018307f, -0.013403f, -0.022291f, 0.009052f, -0.001230f, -0.010769f, -0.001718f, 0.026757f, 0.040184f, -0.043343f, -0.002704f, -0.042281f, -0.004442f, -0.010898f, 0.042023f, -0.017674f, -0.016864f, -0.008109f, 0.025602f, 0.008522f, 0.007114f, 0.010750f, 0.010287f, -0.007536f, 0.000573f, -0.005449f, 0.006889f, -0.004964f, 0.039347f, -0.010186f, 0.010497f, 0.027702f, -0.014330f, -0.031694f, 0.007137f, 0.010866f, -0.011091f, -0.012124f, -0.002578f, 0.006578f, 0.020000f, -0.027139f, 0.036519f, 0.053642f, + 0.036084f, -0.014991f, -0.021605f, -0.049569f, -0.063951f, -0.023507f, -0.000162f, -0.011533f, -0.003162f, -0.007241f, 0.015395f, -0.001278f, -0.024646f, 0.013038f, -0.010865f, -0.002307f, 0.023588f, 0.039244f, -0.009505f, 0.011064f, -0.006804f, 0.002196f, 0.035779f, 0.018075f, 0.030616f, 0.031116f, -0.024731f, -0.007592f, -0.005588f, 0.000930f, -0.000467f, 0.011106f, 0.000869f, 0.006826f, 0.031402f, 0.001350f, 0.014733f, -0.006586f, -0.006754f, -0.012771f, -0.003816f, 0.001870f, 0.014377f, -0.003910f, -0.011735f, -0.005532f, 0.006994f, -0.004880f, -0.002522f, -0.003627f, 0.004476f, 0.001178f, -0.004457f, -0.002437f, 0.003354f, 0.001634f, 0.001797f, 0.018098f, -0.007223f, 0.000497f, 0.002516f, 0.000312f, -0.009777f, 0.004606f, 0.005810f, 0.011577f, -0.022757f, 0.043163f, 0.019447f, 0.024584f, 0.036869f, 0.056935f, -0.021791f, 0.029494f, -0.058497f, -0.007142f, -0.026208f, -0.057474f, 0.023350f, 0.013697f, 0.017585f, 0.007766f, 0.022870f, 0.007032f, -0.041355f, 0.034947f, 0.061670f, -0.009148f, -0.009856f, 0.015160f, 0.006177f, -0.012799f, -0.054875f, 0.004572f, 0.000246f, -0.004923f, + 0.000793f, 0.018760f, -0.039220f, 0.008574f, 0.011201f, -0.008006f, -0.022604f, -0.010971f, -0.025199f, 0.025780f, -0.056343f, -0.008105f, -0.036225f, 0.020215f, 0.008194f, 0.020499f, -0.007137f, 0.005635f, -0.014379f, 0.034582f, 0.010428f, 0.028402f, -0.025737f, 0.027919f, -0.000595f, -0.027192f, 0.056354f, -0.009261f, 0.006932f, 0.038109f, -0.036515f, 0.042708f, 0.025513f, -0.033342f, 0.014132f, -0.012701f, 0.018768f, -0.046219f, 0.033869f, 0.004873f, 0.011920f, -0.004268f, 0.010987f, -0.037518f, 0.023966f, 0.042769f, -0.084791f, 0.008747f, 0.081837f, -0.052763f, -0.016938f, 0.005858f, 0.039902f, 0.028363f, 0.009860f, 0.024792f, -0.011133f, 0.014983f, -0.006184f, -0.018013f, 0.008974f, -0.003964f, -0.003023f, 0.015469f, 0.022342f, -0.001830f, -0.008661f, -0.007361f, 0.006624f, 0.014325f, -0.018875f, -0.006994f, -0.012912f, -0.007958f, -0.016877f, 0.016985f, 0.022333f, -0.004619f, 0.010290f, -0.006262f, 0.004189f, 0.014296f, 0.016050f, -0.018374f, 0.001587f, 0.006932f, -0.009678f, 0.014775f, 0.000774f, -0.000198f, 0.013316f, 0.006896f, -0.015973f, -0.013281f, 0.004566f, 0.002233f, + -0.004810f, 0.002827f, 0.034248f, -0.020890f, -0.025137f, -0.000894f, -0.024072f, -0.010993f, -0.063433f, -0.054148f, -0.007581f, -0.031103f, -0.037341f, -0.026940f, 0.016401f, -0.009650f, -0.018974f, -0.030347f, 0.027813f, 0.001794f, -0.045851f, -0.007291f, -0.000402f, -0.021834f, -0.006990f, 0.018480f, 0.013188f, -0.003288f, 0.000018f, 0.000798f, -0.011627f, 0.009687f, 0.021188f, -0.008067f, -0.005250f, 0.032706f, -0.061719f, -0.010089f, 0.017165f, 0.065585f, -0.027345f, -0.017085f, -0.024655f, -0.033364f, 0.014362f, 0.069606f, 0.012767f, 0.043100f, 0.008739f, -0.007133f, -0.003814f, -0.005200f, -0.033786f, 0.007325f, 0.007429f, -0.027403f, 0.005885f, 0.054370f, -0.009006f, -0.016816f, 0.008942f, -0.019569f, -0.004666f, 0.047964f, 0.070768f, 0.019122f, 0.042409f, 0.049208f, -0.017661f, -0.020582f, 0.005420f, -0.016286f, 0.002607f, -0.048716f, -0.000629f, -0.037963f, 0.011344f, 0.007908f, 0.022923f, -0.039516f, -0.014966f, -0.013484f, -0.015684f, -0.012377f, -0.014061f, 0.022000f, 0.004533f, 0.028360f, -0.007413f, 0.010815f, 0.028140f, -0.005203f, 0.000788f, -0.004104f, -0.011476f, -0.009042f, + -0.001762f, -0.006827f, -0.010571f, -0.000162f, 0.004069f, -0.005338f, 0.001686f, 0.013266f, -0.013510f, -0.012064f, 0.000684f, 0.009958f, 0.004924f, -0.006351f, -0.019912f, -0.019114f, -0.002578f, 0.004533f, -0.011910f, -0.006466f, 0.003896f, -0.003918f, 0.001831f, 0.001452f, 0.013228f, 0.004577f, 0.003189f, -0.014688f, 0.016094f, -0.006802f, 0.050497f, 0.057030f, -0.022731f, 0.128893f, -0.017591f, 0.003058f, -0.023722f, 0.015273f, -0.009973f, 0.015075f, 0.033183f, 0.009482f, -0.030741f, -0.016645f, -0.032125f, -0.000427f, -0.021776f, -0.039821f, 0.005469f, 0.026016f, -0.004268f, 0.007648f, 0.012411f, 0.015301f, -0.000118f, -0.011413f, -0.014932f, 0.007756f, 0.000021f, -0.019800f, 0.007935f, 0.055469f, 0.039254f, 0.022351f, -0.046826f, 0.033820f, 0.026484f, -0.012277f, -0.014199f, -0.014262f, -0.018651f, -0.007982f, 0.015351f, -0.033891f, 0.003387f, 0.004335f, 0.020537f, 0.052878f, 0.010334f, 0.011038f, 0.003014f, -0.006221f, -0.010535f, 0.022986f, -0.013731f, 0.053393f, 0.017296f, -0.005059f, 0.023499f, 0.004530f, -0.035768f, -0.025750f, 0.030458f, 0.035027f, 0.013144f, -0.008649f, + 0.023396f, 0.025082f, 0.035774f, 0.069667f, 0.007642f, -0.019914f, -0.035593f, -0.023807f, 0.018262f, 0.004021f, 0.006046f, -0.003221f, 0.024669f, 0.002688f, -0.002775f, -0.032386f, -0.015798f, 0.033911f, 0.038149f, -0.013431f, -0.025559f, -0.030693f, -0.008697f, 0.016610f, 0.010628f, 0.003134f, -0.010181f, 0.002771f, 0.000233f, -0.013537f, 0.000379f, -0.030010f, -0.007570f, -0.001052f, 0.021873f, -0.003793f, -0.006267f, 0.000263f, 0.017803f, -0.010392f, 0.012845f, -0.006419f, -0.013844f, 0.012350f, 0.017615f, 0.011259f, 0.012555f, -0.001460f, 0.013427f, 0.024985f, 0.011172f, 0.010741f, 0.007451f, -0.009057f, -0.003821f, 0.000814f, -0.001879f, 0.007601f, -0.006665f, 0.012333f, 0.016104f, 0.009448f, 0.001507f, -0.011840f, 0.005081f, 0.004497f, 0.013078f, 0.020895f, -0.020001f, 0.092100f, -0.013689f, 0.003916f, 0.010214f, -0.006945f, -0.001275f, 0.023106f, -0.017118f, -0.020238f, -0.010620f, 0.029818f, 0.026627f, -0.071154f, 0.013745f, 0.012226f, 0.029138f, -0.018152f, -0.028076f, -0.026698f, 0.020387f, 0.018503f, -0.028685f, -0.015599f, -0.011763f, 0.048012f, 0.024132f, 0.013581f, + -0.009265f, -0.049499f, 0.014091f, 0.012633f, 0.025616f, -0.006000f, 0.013629f, -0.013609f, 0.004869f, -0.042947f, 0.017937f, 0.017814f, 0.000663f, -0.010503f, -0.027010f, -0.053426f, 0.034805f, -0.022382f, 0.017911f, 0.018562f, 0.030753f, 0.004514f, -0.032646f, 0.054623f, 0.010682f, -0.052915f, -0.024634f, 0.032077f, 0.007598f, 0.041923f, 0.017645f, 0.007154f, -0.037866f, -0.018432f, 0.021176f, -0.065602f, 0.070996f, -0.050375f, 0.002891f, 0.042913f, -0.011428f, 0.084764f, 0.012673f, 0.015655f, -0.030570f, 0.098709f, 0.010272f, 0.064356f, -0.043428f, -0.019060f, -0.013657f, 0.025365f, -0.002635f, -0.009560f, 0.044641f, -0.036449f, 0.043056f, -0.050645f, 0.011042f, 0.005686f, 0.009366f, -0.009394f, 0.037963f, -0.004040f, 0.019377f, 0.017571f, 0.025234f, 0.014862f, 0.007449f, 0.018189f, 0.019722f, 0.001260f, 0.007295f, 0.002761f, -0.013213f, 0.017442f, 0.000597f, 0.012184f, 0.023865f, 0.012531f, 0.001608f, -0.000598f, 0.018295f, 0.020194f, 0.009885f, -0.010534f, 0.039939f, -0.001187f, -0.007892f, -0.007152f, 0.025664f, -0.018813f, 0.008966f, -0.003679f, 0.013828f, 0.001476f, + 0.005780f, 0.008163f, -0.005392f, -0.003759f, 0.003963f, 0.008247f, 0.006671f, 0.008600f, 0.010322f, -0.011421f, 0.032305f, 0.075925f, 0.025210f, 0.047676f, 0.060780f, -0.002615f, 0.069701f, -0.053721f, -0.019234f, -0.020238f, -0.017755f, 0.007435f, 0.011392f, -0.004633f, -0.023713f, -0.046229f, 0.044336f, 0.041788f, 0.017769f, 0.037732f, -0.061890f, -0.053673f, 0.018106f, 0.025532f, -0.028589f, -0.040279f, 0.025727f, -0.012774f, -0.057667f, -0.021323f, -0.010945f, 0.028431f, -0.053008f, 0.029239f, 0.019996f, 0.023132f, -0.024760f, -0.001629f, -0.024485f, -0.010936f, -0.070607f, -0.017385f, 0.034337f, -0.112176f, -0.035415f, -0.004466f, -0.002428f, 0.003697f, -0.067301f, -0.016954f, -0.101397f, -0.008649f, 0.020146f, -0.029095f, -0.031659f, -0.013339f, 0.030628f, -0.010523f, -0.036491f, -0.041943f, -0.105784f, -0.037979f, 0.049672f, -0.047094f, -0.071159f, 0.059439f, -0.018625f, -0.080369f, 0.024353f, 0.072129f, -0.038580f, -0.017804f, 0.008883f, -0.052810f, 0.065328f, 0.028664f, 0.041869f, -0.022122f, -0.004491f, 0.021154f, 0.062237f, 0.028635f, 0.009933f, -0.020200f, -0.004191f, 0.070148f, + 0.007008f, 0.010650f, -0.005024f, -0.041880f, -0.018287f, 0.032741f, -0.000567f, 0.001718f, -0.006561f, -0.037480f, -0.002638f, 0.015661f, -0.022829f, 0.026907f, -0.035299f, -0.023189f, 0.007507f, -0.012887f, 0.018653f, 0.007039f, -0.032081f, 0.012816f, 0.016455f, 0.008268f, 0.006405f, -0.013586f, 0.007988f, -0.000809f, -0.007627f, -0.023410f, 0.011675f, 0.008799f, -0.002377f, 0.016757f, -0.025112f, 0.002315f, -0.024018f, 0.000092f, 0.006784f, -0.009197f, -0.003871f, -0.001824f, 0.009973f, 0.000780f, 0.088654f, 0.122201f, -0.018029f, -0.002833f, -0.046566f, -0.046869f, -0.081446f, 0.035856f, -0.013054f, 0.122054f, -0.024641f, -0.051502f, -0.072014f, 0.005115f, 0.023623f, -0.026090f, 0.023797f, 0.080087f, -0.030480f, -0.013266f, -0.054416f, -0.024328f, 0.054493f, 0.062634f, -0.061350f, -0.016820f, 0.032758f, -0.012633f, 0.014973f, -0.017790f, 0.078678f, 0.063168f, 0.133506f, 0.044016f, 0.059526f, -0.025328f, 0.042926f, 0.090462f, 0.029960f, -0.004954f, 0.021772f, -0.002259f, 0.059316f, 0.031344f, 0.086109f, 0.024786f, -0.085149f, 0.030968f, 0.034063f, 0.071601f, -0.038794f, -0.032994f, + 0.041912f, 0.045262f, -0.020339f, 0.071966f, -0.024035f, 0.029950f, -0.077390f, 0.050289f, -0.017456f, 0.027913f, 0.028787f, 0.063183f, 0.055029f, -0.042300f, -0.043990f, -0.013711f, 0.066410f, 0.066926f, -0.024005f, -0.036008f, -0.069554f, -0.007297f, 0.050641f, 0.057046f, 0.038497f, -0.015747f, -0.045668f, -0.043420f, -0.006551f, 0.031373f, -0.029449f, 0.043458f, 0.011677f, 0.030551f, 0.006445f, -0.014568f, 0.035049f, 0.022067f, -0.003918f, -0.013763f, 0.011821f, 0.029433f, -0.040506f, 0.017429f, 0.022115f, 0.028681f, 0.016628f, 0.040287f, -0.011846f, 0.014573f, -0.017328f, -0.026666f, 0.017032f, 0.033976f, 0.030689f, 0.045413f, 0.000864f, -0.000092f, 0.014809f, 0.012405f, 0.081451f, 0.015813f, -0.002050f, -0.034608f, 0.001540f, 0.051615f, 0.027408f, 0.039933f, 0.024427f, -0.000818f, 0.002086f, -0.008607f, 0.001047f, 0.049535f, 0.042293f, 0.004472f, 0.016683f, -0.004852f, -0.006727f, 0.001886f, 0.022200f, 0.015825f, 0.015201f, -0.010682f, -0.009041f, 0.011853f, 0.003049f, -0.029611f, -0.098279f, 0.007009f, 0.150961f, 0.090199f, -0.020905f, -0.220947f, -0.031464f, -0.022370f, + 0.017440f, -0.025090f, 0.004342f, 0.023109f, -0.008285f, 0.010001f, -0.047925f, 0.030754f, 0.037126f, 0.068352f, -0.049218f, -0.062382f, 0.064756f, 0.102284f, 0.025971f, -0.045435f, -0.060349f, -0.013000f, 0.015415f, 0.005732f, 0.016373f, 0.000389f, 0.022714f, 0.009067f, 0.066973f, -0.021327f, -0.091484f, -0.039740f, 0.029701f, 0.010789f, -0.031497f, -0.040140f, 0.005558f, 0.043239f, 0.077023f, 0.070467f, -0.001286f, 0.001172f, 0.029138f, -0.027260f, -0.078901f, 0.024036f, -0.049125f, 0.095006f, 0.104465f, -0.002131f, 0.029692f, 0.014882f, 0.021056f, -0.046104f, -0.006350f, 0.099054f, -0.037036f, 0.000882f, -0.134317f, -0.017923f, 0.015551f, 0.031104f, 0.029648f, 0.027833f, -0.032983f, -0.021000f, 0.061307f, 0.089178f, -0.015376f, -0.003907f, 0.009052f, 0.035873f, 0.043943f, -0.020298f, 0.015063f, -0.048622f, -0.056912f, 0.005813f, 0.016168f, 0.021171f, -0.006554f, -0.009040f, -0.010401f, -0.012410f, 0.039641f, -0.000303f, -0.006864f, -0.020691f, -0.001148f, 0.024124f, 0.022445f, -0.011828f, 0.030525f, 0.006787f, 0.046189f, 0.003674f, 0.008605f, 0.001409f, -0.015515f, -0.013798f, + -0.007491f, -0.010759f, -0.002562f, -0.013891f, -0.009055f, 0.003367f, 0.038543f, 0.042841f, 0.013335f, 0.022181f, 0.008979f, 0.007651f, 0.037715f, -0.026977f, 0.028779f, 0.009979f, 0.046830f, -0.012595f, 0.012666f, 0.008308f, -0.018200f, 0.014442f, -0.008345f, 0.014736f, -0.004637f, 0.025302f, -0.008404f, -0.016177f, 0.013276f, 0.005291f, 0.006801f, 0.009794f, 0.006991f, 0.017832f, 0.004114f, 0.006455f, 0.003914f, 0.006033f, 0.006931f, 0.005095f, 0.012422f, 0.008186f, 0.001885f, 0.001203f, 0.003176f, 0.011065f, 0.008959f, 0.008250f, 0.010203f, -0.011708f, -0.099537f, -0.041292f, 0.079254f, 0.087399f, 0.082958f, 0.112603f, 0.019165f, -0.048706f, -0.149012f, -0.113107f, -0.021503f, 0.031382f, 0.094068f, 0.102457f, 0.048274f, 0.002160f, -0.050205f, -0.043356f, -0.019455f, 0.031923f, 0.087757f, 0.049907f, -0.011891f, 0.003112f, -0.007472f, -0.048427f, -0.066452f, -0.054222f, 0.009841f, 0.080990f, 0.060568f, 0.121831f, 0.078942f, 0.078440f, 0.110114f, -0.032230f, -0.076679f, -0.086878f, -0.115681f, -0.142049f, -0.053985f, -0.016789f, 0.041781f, 0.078158f, 0.112506f, 0.105497f, + 0.085321f, 0.054235f, 0.108037f, -0.021234f, -0.069036f, -0.003229f, -0.017939f, 0.028700f, 0.032341f, 0.129500f, 0.112582f, -0.042046f, 0.019774f, -0.029442f, -0.087113f, -0.025534f, 0.022454f, -0.052103f, 0.079933f, -0.032205f, 0.026190f, 0.006888f, -0.009762f, 0.069671f, 0.096154f, 0.077192f, 0.053680f, -0.040157f, -0.098463f, -0.111307f, 0.031156f, -0.046900f, 0.007930f, -0.005314f, 0.062199f, 0.009871f, 0.034906f, -0.029991f, -0.069245f, -0.063579f, -0.100578f, -0.086806f, 0.036201f, 0.020825f, 0.049609f, 0.075783f, 0.058224f, 0.002314f, -0.045330f, -0.071861f, -0.098284f, -0.053324f, -0.025668f, -0.035856f, 0.015343f, -0.013002f, -0.012095f, -0.011521f, -0.030408f, 0.000314f, -0.013952f, -0.019649f, -0.024327f, -0.014940f, -0.003968f, 0.015616f, -0.029280f, -0.017780f, 0.041552f, 0.004159f, -0.222520f, -0.234203f, -0.243610f, -0.249698f, -0.329950f, -0.035806f, -0.093332f, -0.022576f, 0.030829f, 0.150327f, 0.170836f, 0.176647f, 0.247251f, 0.341804f, 0.327505f, 0.321876f, 0.258607f, 0.186807f, 0.135746f, 0.040840f, -0.155939f, -0.074797f, -0.092124f, -0.057017f, -0.187280f, -0.031032f, + -0.077504f, -0.085344f, -0.154964f, -0.119058f, -0.121147f, -0.109721f, -0.114639f, -0.201457f, -0.178411f, -0.105239f, -0.095172f, -0.119540f, -0.165661f, -0.025115f, -0.145057f, -0.274953f, -0.235609f, -0.206825f, -0.109020f, -0.140481f, -0.025059f, -0.284584f, -0.126004f, -0.126006f, -0.058218f, -0.042402f, -0.146532f, 0.006593f, -0.146808f, -0.017636f, 0.022937f, 0.068930f, 0.006222f, 0.070844f, 0.105664f, 0.166155f, 0.177056f, 0.243618f, 0.159170f, 0.382231f, 0.241524f, 0.444894f, 0.302449f, 0.443221f, 0.514019f, 0.610416f, 0.501359f, 0.504827f, 0.568877f, 0.510524f, 0.518411f, 0.504615f, 0.437480f, 0.253233f, 0.202313f, 0.142871f, 0.104158f, 0.121982f, 0.181857f, 0.100378f, -0.036819f, -0.063084f, -0.072908f, -0.125213f, -0.162633f, -0.198217f, -0.182622f, -0.300092f, -0.290791f, -0.299418f, -0.362835f, -0.319416f, -0.403046f, -0.356776f, -0.418772f, -0.429987f, -0.405158f, -0.446967f, -0.404279f, -0.451332f, -0.358307f, -0.350959f, -0.290963f, -0.310434f, -0.320107f, -0.224889f, -0.201470f, -0.153801f, -0.078341f, 0.026640f, 0.085905f, 0.075473f, 0.096153f, 0.086246f, 0.097203f, 0.111847f, + 0.159486f, 0.191824f, 0.173252f, 0.156089f, 0.190557f, 0.177570f, 0.219173f, 0.199804f, 0.145945f, 0.133140f, 0.115604f, 0.102153f, 0.064259f, 0.049145f, 0.045518f, 0.029038f, 0.031555f, 0.013021f, 0.020615f, 0.018404f, 0.012527f, 0.018469f, 0.013294f, 0.008353f, 0.003073f, -0.006444f, -0.000925f, 0.000163f, -0.019177f, -0.029965f, -0.017185f, -0.013525f, -0.012390f, -0.008534f, -0.006057f, -0.005530f}, + {0.031749f, 0.004210f, -0.010404f, 0.004958f, 0.005622f, 0.001958f, -0.013180f, 0.006046f, 0.009380f, -0.010065f, -0.003006f, -0.012336f, -0.002700f, -0.005230f, -0.004512f, -0.001759f, 0.000700f, -0.000408f, 0.001273f, 0.004464f, -0.005489f, 0.002483f, -0.012642f, 0.004378f, 0.007796f, 0.001677f, -0.003312f, -0.010243f, 0.006725f, -0.004488f, 0.010866f, 0.009277f, -0.000383f, -0.004288f, 0.008862f, 0.010333f, 0.008311f, 0.008408f, 0.002101f, -0.006413f, 0.002032f, 0.007954f, -0.003314f, -0.006702f, 0.006053f, 0.009586f, -0.004187f, 0.005014f, -0.010874f, -0.000881f, -0.009537f, 0.006535f, -0.012699f, -0.003417f, -0.002356f, 0.004369f, 0.006351f, 0.004507f, -0.000351f, -0.006723f, 0.000837f, -0.009307f, -0.006142f, 0.001722f, -0.001143f, -0.005605f, 0.003084f, 0.003174f, 0.000814f, 0.005900f, -0.005227f, 0.002548f, -0.007064f, -0.002793f, -0.002998f, 0.003914f, -0.003657f, -0.007475f, -0.003345f, -0.002776f, 0.010319f, 0.008875f, 0.002262f, -0.004690f, 0.000625f, -0.000534f, 0.001816f, 0.003572f, 0.000670f, 0.000215f, 0.000643f, -0.000132f, 0.000167f, -0.001311f, 0.001046f, -0.003932f, + 0.000202f, -0.000287f, 0.001643f, 0.000865f, -0.001201f, -0.001713f, 0.000376f, 0.000726f, 0.000770f, 0.018102f, -0.018241f, 0.000693f, 0.000324f, -0.004617f, -0.005473f, -0.005830f, 0.001891f, -0.010279f, -0.010139f, 0.001435f, 0.004928f, -0.000375f, 0.005841f, 0.004552f, -0.005573f, 0.002300f, -0.020006f, -0.004893f, -0.004469f, -0.004654f, -0.006304f, -0.006955f, -0.017631f, -0.013698f, 0.001886f, 0.004132f, -0.000942f, 0.009552f, 0.007642f, 0.003217f, -0.003391f, -0.001898f, 0.008952f, -0.003449f, 0.001117f, -0.001297f, -0.009386f, 0.003151f, -0.003136f, -0.006393f, -0.002463f, 0.007689f, 0.018570f, -0.007069f, 0.002084f, 0.004526f, -0.003420f, 0.005853f, 0.002625f, -0.006476f, 0.003795f, -0.015327f, -0.007087f, 0.000183f, 0.006288f, 0.009753f, -0.005957f, -0.002759f, -0.000652f, -0.022217f, 0.003813f, 0.011504f, 0.000636f, 0.001681f, 0.006304f, -0.003605f, 0.009832f, 0.013248f, -0.001658f, 0.003774f, 0.007972f, 0.007565f, 0.001518f, 0.000426f, -0.003674f, -0.005298f, -0.003300f, 0.002357f, -0.005037f, 0.011066f, 0.007445f, -0.000235f, -0.005385f, -0.002756f, 0.006385f, 0.007500f, + -0.003730f, 0.005823f, -0.003521f, 0.001592f, -0.003590f, -0.002175f, -0.002455f, 0.000709f, 0.000186f, 0.000441f, 0.000514f, -0.000402f, -0.001182f, -0.004793f, -0.015628f, 0.003616f, 0.000567f, -0.015116f, 0.002310f, 0.008467f, 0.012460f, 0.003200f, -0.008971f, 0.021124f, -0.002840f, -0.004163f, 0.009926f, -0.006139f, -0.005983f, 0.001016f, -0.007719f, 0.009415f, 0.009407f, -0.003809f, -0.014218f, -0.007024f, 0.007068f, -0.009151f, 0.020092f, 0.017343f, -0.013869f, -0.016964f, 0.000602f, 0.003173f, -0.016148f, -0.001057f, 0.006665f, 0.004527f, -0.007908f, -0.004597f, 0.018523f, -0.001967f, 0.012748f, -0.001266f, -0.004148f, -0.004308f, -0.009548f, 0.001662f, -0.001362f, 0.009997f, -0.008539f, 0.002314f, -0.002243f, 0.001858f, -0.005032f, -0.000660f, 0.008428f, 0.006704f, -0.010567f, 0.016455f, 0.001354f, -0.000074f, -0.000267f, -0.001507f, 0.004459f, -0.002267f, -0.014735f, -0.002090f, -0.007783f, 0.012832f, 0.005371f, 0.000336f, 0.015757f, -0.008718f, 0.010539f, 0.010370f, 0.000949f, -0.007668f, -0.001572f, -0.001631f, -0.000171f, -0.002181f, -0.003183f, 0.004361f, 0.004615f, -0.006964f, + 0.003337f, -0.000410f, 0.004884f, 0.004319f, -0.001431f, 0.000677f, -0.002164f, -0.003271f, 0.002331f, -0.003010f, -0.002546f, 0.001293f, 0.003301f, -0.003040f, -0.002272f, -0.003957f, -0.001703f, 0.002383f, -0.001516f, -0.000575f, 0.000043f, 0.001210f, -0.002199f, -0.001245f, 0.003045f, 0.001015f, -0.000654f, -0.000958f, -0.003438f, -0.037659f, 0.008639f, 0.002012f, 0.026825f, -0.001458f, 0.010777f, -0.014440f, 0.003102f, -0.010823f, -0.002594f, -0.005308f, -0.001710f, 0.004921f, -0.002906f, 0.004595f, 0.009040f, 0.006898f, 0.025470f, 0.017572f, -0.011569f, 0.005832f, -0.000624f, 0.004693f, 0.003003f, -0.003261f, -0.025313f, 0.006400f, -0.001296f, -0.000256f, 0.009604f, -0.001517f, -0.007063f, -0.004920f, -0.001198f, -0.007870f, -0.004228f, -0.020236f, -0.004748f, 0.000522f, -0.007147f, -0.001280f, 0.008381f, 0.011987f, -0.003883f, 0.014815f, -0.011094f, 0.002429f, 0.005062f, 0.001930f, -0.003444f, -0.007817f, 0.005518f, -0.001974f, 0.003397f, -0.005812f, -0.008256f, 0.001527f, 0.004801f, -0.008344f, 0.007942f, -0.005706f, 0.018919f, 0.020065f, -0.006109f, 0.007317f, 0.007705f, -0.001055f, + -0.002609f, -0.002709f, -0.024533f, 0.010238f, 0.009963f, 0.000289f, -0.004134f, -0.010258f, 0.001071f, -0.003021f, -0.012505f, -0.028012f, 0.001831f, -0.006955f, 0.007175f, -0.000015f, -0.000121f, -0.004691f, -0.003174f, -0.005286f, -0.000533f, 0.002857f, -0.003663f, 0.004250f, -0.004509f, -0.002622f, -0.001910f, -0.001134f, 0.002278f, 0.001888f, -0.001529f, 0.000865f, 0.000617f, 0.001521f, 0.002485f, 0.001916f, -0.001326f, -0.002985f, 0.002091f, -0.001269f, -0.002233f, 0.000800f, 0.000706f, -0.001325f, 0.001542f, 0.002519f, 0.000846f, -0.008060f, -0.012306f, 0.012284f, 0.006999f, -0.001070f, 0.014198f, -0.007612f, 0.012737f, -0.014344f, -0.013771f, 0.006707f, -0.021976f, -0.007783f, 0.005545f, 0.013382f, 0.017487f, -0.003050f, 0.013053f, -0.000451f, 0.012432f, 0.004599f, 0.002021f, -0.002043f, 0.000681f, 0.012408f, -0.005913f, -0.001303f, 0.002257f, 0.001079f, -0.012224f, -0.001519f, -0.006632f, 0.025277f, -0.012082f, -0.012242f, -0.002974f, 0.011915f, 0.011987f, 0.010297f, 0.013771f, -0.002381f, 0.002529f, -0.003052f, -0.006837f, 0.005216f, -0.000618f, -0.001300f, -0.007819f, 0.019828f, + 0.012223f, -0.006123f, 0.003776f, 0.005863f, -0.010458f, 0.002225f, 0.007703f, -0.001947f, 0.014867f, -0.006000f, -0.001932f, -0.016160f, -0.006101f, -0.013739f, 0.000611f, 0.018962f, -0.007464f, 0.005358f, 0.003245f, 0.000659f, -0.005178f, -0.001751f, 0.000165f, -0.004629f, 0.009099f, -0.009350f, -0.004416f, -0.000826f, 0.019984f, 0.003171f, -0.000125f, 0.006318f, -0.005448f, -0.014992f, 0.003713f, 0.001516f, -0.002395f, 0.001092f, 0.003677f, -0.000987f, 0.000751f, 0.007295f, 0.001373f, -0.000581f, 0.001726f, 0.000111f, -0.000985f, -0.001737f, 0.006758f, -0.000327f, 0.000558f, -0.006184f, 0.003744f, 0.000961f, 0.003727f, -0.000912f, -0.002557f, -0.000759f, 0.001886f, 0.003068f, 0.001970f, -0.005040f, 0.000234f, 0.003575f, -0.001121f, -0.006359f, -0.004122f, -0.035498f, 0.025750f, 0.002715f, -0.013058f, -0.031351f, -0.003120f, 0.000799f, -0.018548f, -0.001671f, 0.008641f, 0.007365f, 0.000681f, -0.005360f, 0.006841f, 0.022414f, 0.022737f, -0.009738f, -0.010687f, -0.024652f, 0.004929f, -0.004442f, 0.023951f, -0.009757f, -0.000529f, -0.005617f, 0.009015f, -0.002684f, -0.024550f, 0.008066f, + -0.001152f, -0.014546f, 0.000014f, 0.002302f, -0.001993f, -0.002475f, -0.010091f, -0.014046f, 0.008541f, 0.002118f, 0.011170f, -0.009704f, 0.018801f, 0.008929f, -0.003884f, -0.016651f, -0.003308f, 0.006028f, 0.018387f, 0.005711f, -0.010400f, -0.004735f, 0.008544f, 0.005525f, -0.005342f, -0.002599f, 0.009006f, 0.007386f, 0.009507f, 0.018230f, 0.020334f, 0.009948f, 0.010826f, 0.012513f, -0.007323f, 0.001827f, -0.013463f, 0.013474f, 0.002120f, 0.006816f, -0.009618f, -0.014938f, 0.003415f, -0.019100f, -0.006890f, -0.008321f, 0.014031f, 0.014725f, 0.015395f, 0.004064f, -0.004367f, -0.004862f, 0.014381f, 0.002943f, -0.002014f, 0.003640f, -0.004534f, 0.009205f, 0.000475f, -0.000120f, 0.003017f, 0.003790f, -0.001432f, 0.007549f, -0.000006f, 0.001294f, -0.003615f, -0.002156f, 0.002074f, 0.005895f, -0.000362f, 0.002150f, 0.003402f, 0.001979f, 0.001133f, -0.001753f, 0.002812f, -0.002333f, -0.012769f, -0.000758f, 0.023889f, 0.014688f, 0.020196f, 0.003844f, -0.022100f, -0.007284f, 0.023456f, -0.006765f, -0.014864f, -0.015482f, -0.015248f, -0.016128f, 0.008867f, 0.009015f, 0.005783f, 0.005302f, + 0.005470f, 0.022572f, -0.002794f, 0.009798f, -0.019389f, -0.021810f, 0.014603f, -0.000774f, -0.011910f, 0.000856f, -0.030391f, -0.009920f, -0.010243f, 0.003735f, -0.001075f, -0.002803f, -0.021384f, -0.013991f, 0.002364f, 0.014766f, 0.023981f, -0.009512f, -0.009421f, 0.012786f, -0.016483f, -0.001179f, -0.000852f, 0.005517f, 0.010485f, 0.008566f, 0.016617f, -0.008923f, 0.024096f, 0.011377f, -0.026064f, 0.013020f, -0.014494f, -0.017275f, -0.014387f, -0.020898f, 0.018905f, 0.004450f, -0.022295f, 0.002553f, 0.004686f, 0.002071f, 0.003514f, -0.004080f, 0.015674f, -0.009099f, 0.012045f, -0.019380f, 0.014686f, -0.009831f, -0.008978f, 0.001921f, 0.006508f, -0.000751f, 0.010605f, 0.030437f, -0.002573f, -0.016315f, 0.009625f, 0.019949f, 0.001575f, -0.002163f, -0.015829f, -0.006893f, 0.014672f, -0.002492f, -0.001007f, 0.000506f, 0.002950f, -0.004114f, -0.002380f, -0.000359f, 0.004320f, -0.002506f, -0.000536f, -0.002880f, 0.008270f, -0.006067f, 0.001264f, -0.005702f, -0.007148f, 0.001884f, 0.002286f, -0.002227f, 0.001100f, -0.002066f, -0.001577f, -0.000448f, -0.000818f, -0.000172f, -0.003034f, -0.001781f, + 0.008490f, -0.000438f, 0.000049f, 0.049526f, -0.044644f, 0.020649f, 0.021546f, -0.020066f, -0.003621f, 0.029629f, 0.010743f, 0.018818f, 0.005628f, -0.006519f, 0.044573f, -0.001790f, -0.008339f, -0.000048f, 0.000152f, 0.021395f, 0.033530f, 0.012694f, -0.000229f, 0.000674f, 0.005035f, 0.011520f, -0.000158f, 0.006113f, -0.023432f, 0.011095f, 0.018270f, -0.003831f, 0.007454f, 0.000002f, 0.003397f, -0.015107f, -0.011784f, 0.000851f, -0.000515f, 0.020689f, 0.010224f, 0.008558f, -0.008710f, -0.010716f, -0.010700f, 0.011909f, 0.017314f, 0.000146f, -0.005561f, 0.033807f, 0.017516f, 0.022591f, -0.012171f, -0.025225f, -0.004798f, -0.026416f, -0.017374f, -0.007959f, -0.011009f, -0.001518f, 0.019780f, -0.006257f, 0.000769f, -0.016176f, -0.017265f, 0.019702f, -0.000988f, 0.009190f, 0.009845f, -0.010278f, 0.018936f, 0.004929f, 0.001704f, -0.006577f, -0.012669f, 0.014859f, -0.004546f, -0.026310f, 0.015217f, 0.012853f, 0.015911f, 0.007173f, -0.018529f, -0.003886f, 0.001734f, -0.019351f, 0.011065f, 0.011100f, -0.001805f, 0.008382f, 0.007012f, 0.007492f, -0.001811f, 0.011841f, 0.001766f, -0.000467f, + -0.006001f, 0.002942f, -0.000117f, 0.009433f, 0.002036f, -0.000263f, 0.001931f, -0.000091f, 0.006940f, -0.002953f, -0.000855f, -0.004598f, 0.002357f, -0.001226f, -0.003602f, 0.000784f, 0.000970f, -0.001369f, 0.001073f, 0.007642f, 0.005769f, -0.003304f, -0.002155f, -0.004930f, 0.001282f, -0.001062f, -0.000662f, -0.034615f, 0.004255f, 0.011428f, -0.017002f, 0.014180f, -0.029377f, 0.006711f, 0.008961f, -0.003866f, -0.011633f, -0.014929f, -0.017406f, -0.029474f, 0.003766f, 0.033521f, -0.011024f, 0.016169f, 0.008993f, 0.024929f, 0.013248f, -0.009419f, -0.021399f, 0.011031f, -0.005396f, -0.007609f, -0.022175f, -0.003314f, -0.002969f, -0.008849f, -0.009488f, -0.005100f, -0.015575f, -0.020478f, 0.023905f, -0.002344f, -0.013845f, 0.018747f, 0.006637f, -0.016351f, 0.002483f, -0.001200f, 0.010691f, -0.021727f, 0.006153f, 0.007470f, -0.032057f, 0.010720f, 0.010516f, -0.016523f, 0.004790f, 0.001252f, -0.005150f, 0.011858f, 0.001144f, -0.002237f, 0.001467f, 0.008033f, 0.021700f, 0.017231f, 0.022144f, 0.015259f, 0.007927f, -0.005719f, 0.032939f, -0.008360f, -0.016791f, 0.036473f, 0.002484f, 0.022043f, + 0.004793f, -0.007069f, -0.033806f, -0.031294f, -0.007727f, 0.001980f, -0.012319f, -0.005992f, -0.009662f, 0.021520f, -0.018796f, -0.005489f, -0.003153f, 0.005254f, -0.018345f, 0.013277f, -0.001411f, 0.004199f, -0.001537f, -0.007134f, -0.011922f, -0.008030f, -0.009380f, -0.007635f, -0.002226f, 0.001220f, -0.005751f, -0.004113f, -0.003190f, 0.007871f, -0.009109f, -0.008053f, -0.006538f, -0.007754f, -0.000284f, 0.006316f, -0.002757f, -0.003091f, 0.004560f, 0.001110f, -0.002248f, 0.003090f, -0.005685f, -0.006288f, 0.004862f, -0.007333f, -0.011778f, 0.004159f, 0.010630f, -0.005626f, 0.001186f, 0.007114f, -0.002391f, -0.005847f, -0.057632f, 0.028190f, 0.049653f, 0.003449f, -0.028179f, 0.012841f, -0.005205f, -0.001975f, 0.008140f, 0.004795f, 0.012782f, -0.015041f, 0.001736f, 0.044484f, 0.034187f, 0.029885f, -0.032635f, -0.001399f, 0.008019f, 0.017059f, -0.015659f, -0.017557f, -0.004469f, 0.005613f, 0.015466f, 0.007669f, -0.041969f, -0.047653f, 0.014822f, -0.001593f, 0.026846f, 0.027499f, -0.017753f, 0.022757f, 0.018334f, 0.024309f, -0.001656f, -0.014515f, -0.015090f, 0.011612f, -0.015981f, -0.006142f, + -0.000005f, -0.000698f, 0.014554f, 0.030914f, 0.017393f, -0.008475f, -0.007296f, -0.015321f, -0.003902f, 0.001357f, 0.008371f, -0.003304f, -0.005447f, 0.015196f, 0.009575f, -0.023360f, -0.000310f, 0.000965f, 0.028078f, -0.014132f, -0.016116f, -0.030619f, -0.010389f, 0.005242f, 0.002054f, 0.015814f, -0.003408f, 0.003957f, -0.013690f, -0.020345f, -0.018448f, -0.018642f, -0.010722f, 0.008897f, -0.038414f, 0.004588f, -0.005379f, -0.006029f, -0.008121f, 0.007599f, 0.021045f, 0.015328f, 0.002439f, -0.003445f, -0.019514f, -0.006226f, -0.001797f, -0.003970f, 0.012895f, 0.006581f, 0.003938f, 0.002838f, 0.006705f, 0.007823f, -0.002988f, -0.003272f, 0.000200f, -0.003544f, 0.000684f, 0.000862f, 0.002577f, 0.004300f, -0.012480f, 0.001927f, -0.001613f, 0.009470f, 0.002573f, -0.012556f, -0.000699f, -0.007950f, -0.006090f, -0.003135f, -0.002803f, -0.003336f, -0.001584f, 0.007098f, 0.006502f, 0.005482f, 0.009392f, 0.029043f, 0.002373f, 0.025202f, -0.003449f, 0.032713f, 0.016320f, 0.025509f, 0.015680f, 0.007432f, -0.012633f, -0.001278f, -0.007907f, 0.017484f, 0.005150f, 0.015355f, -0.014661f, -0.002564f, + 0.027128f, -0.033440f, -0.018691f, 0.026065f, -0.044109f, -0.019447f, 0.003290f, -0.008420f, -0.021840f, 0.044423f, -0.007939f, 0.030686f, 0.012312f, -0.026733f, -0.004090f, -0.010054f, -0.032322f, -0.041986f, 0.033537f, -0.000305f, -0.012217f, 0.008296f, 0.000611f, -0.005574f, 0.012214f, 0.004793f, -0.004329f, -0.015445f, 0.002966f, 0.031682f, 0.026862f, -0.022156f, 0.008793f, 0.001740f, 0.025061f, -0.011408f, 0.016986f, -0.036022f, -0.008718f, 0.024596f, 0.008265f, -0.008245f, 0.029354f, -0.009337f, 0.020580f, -0.039991f, -0.046111f, -0.016625f, 0.000905f, -0.032668f, 0.035304f, 0.024913f, 0.035865f, -0.016442f, -0.012100f, -0.012436f, 0.001868f, -0.018187f, -0.000186f, -0.027797f, -0.025230f, 0.001156f, 0.007119f, 0.025755f, 0.012183f, -0.002712f, -0.009489f, 0.008106f, 0.014878f, 0.009750f, 0.005954f, -0.009156f, 0.010760f, 0.009606f, 0.012126f, 0.008977f, 0.006572f, 0.009716f, -0.013329f, 0.011248f, -0.008060f, -0.004092f, 0.017639f, 0.015588f, 0.010489f, -0.001854f, 0.000637f, -0.004707f, 0.009050f, 0.002838f, -0.003702f, 0.004912f, 0.009181f, 0.001387f, 0.007139f, 0.006934f, + -0.009179f, 0.003051f, -0.006936f, -0.002029f, 0.002184f, 0.040214f, 0.028919f, 0.045315f, -0.040244f, -0.030249f, -0.068941f, 0.029705f, -0.007676f, -0.058913f, -0.011427f, 0.005589f, 0.008677f, -0.022014f, 0.023982f, 0.020261f, 0.002275f, -0.000267f, 0.003744f, -0.009762f, -0.020514f, 0.004521f, -0.011667f, -0.019199f, -0.000252f, 0.044662f, 0.001386f, -0.006780f, -0.035716f, 0.015066f, 0.028203f, -0.014593f, -0.043094f, -0.007819f, 0.014525f, 0.005151f, -0.009148f, 0.009390f, 0.003069f, 0.015500f, -0.004358f, 0.025565f, 0.039071f, 0.014780f, -0.025980f, 0.029445f, 0.013258f, -0.033277f, -0.035412f, 0.038491f, 0.018616f, -0.014991f, -0.017280f, -0.000856f, -0.031388f, 0.022975f, 0.030269f, -0.000722f, 0.001706f, 0.007621f, -0.003877f, 0.033126f, 0.011138f, 0.008611f, -0.013737f, 0.005352f, 0.011186f, 0.040907f, -0.009821f, 0.015674f, -0.031695f, -0.036104f, 0.032192f, -0.004859f, -0.003011f, 0.003324f, 0.030685f, 0.000671f, -0.001445f, 0.019363f, -0.009268f, 0.003858f, 0.017771f, 0.021688f, -0.010375f, -0.013517f, -0.029116f, -0.014369f, 0.009509f, -0.012870f, 0.010133f, -0.000330f, + 0.010753f, -0.005832f, 0.007930f, 0.001637f, -0.004487f, 0.003488f, 0.016277f, 0.004004f, 0.016203f, 0.004877f, -0.010260f, 0.000647f, 0.006759f, 0.005596f, -0.010069f, -0.009241f, -0.009809f, -0.004225f, -0.007708f, -0.007555f, -0.011979f, -0.005176f, 0.006663f, 0.004217f, -0.001227f, -0.001973f, 0.003639f, -0.007981f, -0.000202f, 0.010216f, -0.002896f, -0.001691f, -0.004940f, -0.004189f, -0.002162f, -0.015215f, -0.002144f, -0.005927f, -0.006524f, -0.009507f, -0.013537f, -0.046658f, -0.003847f, -0.030529f, -0.061930f, -0.063827f, -0.027590f, -0.048734f, -0.022096f, -0.007874f, 0.008753f, 0.027254f, 0.030406f, 0.003113f, -0.016453f, 0.032749f, -0.016652f, 0.016141f, -0.061144f, -0.006016f, -0.041946f, -0.028154f, 0.028410f, 0.019945f, 0.019407f, 0.006452f, 0.040912f, -0.004138f, -0.002561f, -0.029472f, -0.010217f, -0.005938f, -0.020059f, -0.020260f, -0.050245f, -0.019761f, -0.005549f, -0.008105f, -0.031087f, 0.027487f, 0.010947f, 0.016399f, -0.013687f, -0.005274f, -0.076248f, -0.021981f, -0.021017f, 0.017653f, 0.039077f, -0.024080f, -0.003693f, -0.044427f, -0.003208f, 0.022858f, -0.007281f, -0.015007f, + 0.009994f, 0.032785f, 0.055952f, 0.011757f, 0.001774f, -0.003098f, -0.015011f, -0.022402f, 0.014962f, -0.014763f, 0.050753f, 0.009977f, 0.021852f, 0.103500f, -0.020600f, -0.017621f, -0.026149f, -0.036284f, -0.004923f, 0.035356f, 0.015916f, 0.005053f, 0.011766f, -0.014957f, -0.011595f, -0.031581f, -0.007562f, 0.017752f, -0.002900f, -0.006985f, -0.002965f, -0.007365f, 0.003721f, -0.001166f, 0.006884f, 0.006975f, 0.007117f, 0.009339f, 0.010227f, 0.026363f, 0.016096f, -0.009773f, 0.015346f, -0.000410f, 0.000980f, 0.011028f, -0.012755f, 0.000240f, -0.014716f, -0.008902f, -0.020143f, -0.014964f, -0.021009f, -0.017438f, -0.011681f, 0.023037f, -0.014337f, -0.008094f, -0.016911f, 0.001055f, 0.005026f, -0.003660f, 0.006945f, 0.002793f, -0.000426f, -0.014292f, -0.051798f, 0.029384f, 0.048443f, -0.028681f, 0.001444f, 0.010852f, -0.016771f, -0.004056f, -0.036247f, -0.000775f, -0.020349f, 0.052590f, -0.000050f, -0.009960f, 0.042200f, -0.010770f, 0.012234f, -0.048508f, 0.025094f, 0.007453f, 0.032710f, -0.015341f, 0.024343f, 0.043018f, 0.046216f, 0.025917f, 0.041655f, 0.021318f, -0.006701f, 0.040486f, + -0.019690f, -0.026751f, -0.008621f, 0.016218f, 0.027421f, -0.066046f, -0.004578f, -0.042720f, 0.033774f, 0.015264f, -0.000917f, 0.011586f, 0.047326f, 0.001968f, 0.042228f, 0.018006f, 0.063990f, 0.005700f, -0.007376f, 0.027997f, 0.009195f, -0.032732f, 0.006945f, -0.003875f, -0.043904f, 0.030687f, -0.026512f, -0.042842f, -0.087553f, 0.006725f, -0.010862f, 0.051382f, -0.028735f, 0.068783f, 0.022648f, -0.001223f, -0.010605f, 0.026784f, 0.028246f, -0.050438f, -0.021586f, -0.037293f, 0.012904f, -0.016869f, 0.037750f, 0.011960f, 0.012652f, 0.018207f, -0.008774f, 0.003172f, -0.013304f, -0.004675f, 0.001004f, -0.005058f, -0.038971f, 0.015299f, -0.000123f, 0.011457f, 0.000328f, -0.011534f, 0.001201f, 0.015835f, -0.025940f, 0.022250f, -0.009534f, -0.000141f, 0.002495f, -0.021816f, -0.001898f, 0.013070f, 0.006613f, -0.015692f, -0.006495f, -0.003849f, -0.018358f, 0.006083f, -0.005255f, 0.026629f, -0.021442f, 0.009443f, 0.018582f, 0.006605f, -0.007924f, -0.005927f, 0.009027f, 0.004371f, 0.005595f, -0.004802f, 0.009361f, -0.028627f, 0.007627f, 0.006788f, 0.012258f, -0.008734f, -0.013367f, 0.000953f, + 0.011999f, 0.001605f, 0.033265f, -0.022242f, -0.024888f, -0.024485f, 0.031989f, 0.016596f, 0.041655f, 0.011564f, 0.128870f, -0.038273f, 0.000693f, 0.000970f, 0.059987f, 0.024840f, 0.027775f, -0.039350f, 0.017282f, -0.015515f, 0.001114f, -0.018201f, 0.004006f, 0.043357f, -0.011409f, 0.013753f, 0.083779f, 0.026302f, -0.037945f, -0.044428f, 0.005168f, 0.054640f, 0.028495f, 0.010387f, -0.021141f, 0.046516f, 0.007897f, -0.006898f, -0.051112f, 0.015630f, -0.008121f, 0.022032f, -0.046399f, -0.028317f, 0.002419f, -0.011799f, 0.006107f, -0.043262f, -0.001492f, -0.026387f, 0.012261f, 0.038367f, 0.030667f, 0.010042f, -0.059365f, 0.000506f, 0.005870f, -0.053492f, -0.047779f, -0.031659f, -0.026122f, -0.026074f, 0.042345f, 0.009679f, -0.001211f, 0.027616f, 0.044030f, 0.011755f, 0.038133f, 0.001040f, 0.025247f, 0.168371f, -0.038415f, 0.027750f, 0.019329f, -0.029577f, 0.006268f, -0.112177f, 0.002262f, 0.055716f, 0.014584f, -0.030856f, 0.042894f, 0.010348f, 0.016320f, -0.027983f, -0.006351f, -0.023905f, 0.008408f, 0.002095f, 0.002136f, 0.009619f, -0.034757f, 0.012882f, -0.019063f, -0.013858f, + -0.047589f, 0.011828f, 0.010942f, 0.009503f, 0.012267f, 0.059589f, 0.009008f, 0.006390f, 0.006853f, 0.004678f, 0.035623f, 0.004201f, 0.015052f, 0.012473f, 0.027181f, 0.010939f, -0.001615f, -0.006002f, -0.004925f, 0.004525f, 0.017247f, 0.020584f, 0.006105f, -0.031259f, -0.014347f, -0.006917f, -0.006911f, -0.010325f, -0.032641f, -0.007929f, 0.025086f, 0.068172f, -0.031690f, -0.001613f, -0.045729f, -0.033210f, 0.010835f, 0.029884f, -0.037831f, 0.045189f, 0.018954f, -0.059280f, 0.036489f, -0.023992f, -0.029358f, -0.002435f, -0.035507f, 0.008378f, -0.015886f, 0.045863f, -0.026397f, -0.002066f, 0.025255f, -0.088478f, 0.012699f, 0.027496f, -0.026687f, 0.021824f, -0.053455f, 0.053489f, 0.005869f, 0.009239f, -0.101172f, 0.091368f, 0.039193f, 0.030027f, 0.002038f, -0.057672f, 0.052927f, -0.003344f, -0.026185f, 0.093438f, -0.018573f, -0.040981f, -0.021581f, 0.011317f, 0.027058f, 0.025629f, 0.006843f, -0.015710f, -0.109948f, -0.012384f, 0.027541f, 0.001644f, 0.040408f, -0.057689f, 0.059611f, 0.006091f, 0.020176f, -0.058636f, -0.016931f, 0.009488f, 0.075972f, -0.031543f, 0.017776f, -0.054321f, + 0.048115f, 0.026995f, 0.045408f, -0.017455f, 0.020138f, 0.007887f, -0.059390f, -0.056700f, 0.031237f, 0.025549f, 0.048435f, 0.010420f, 0.062152f, -0.093565f, -0.122465f, 0.019611f, -0.025819f, 0.069268f, -0.045132f, -0.009728f, 0.008004f, -0.052106f, 0.002605f, -0.031084f, 0.027150f, 0.038528f, 0.003867f, 0.031272f, 0.034370f, 0.010263f, -0.031003f, -0.015606f, 0.055278f, 0.028821f, 0.007193f, 0.009732f, -0.016553f, 0.001393f, 0.033664f, 0.018934f, -0.027217f, -0.015322f, 0.031324f, -0.004350f, 0.019526f, 0.019692f, -0.012021f, -0.015904f, -0.016136f, 0.000226f, 0.016724f, 0.007660f, 0.021389f, 0.030740f, 0.002536f, -0.000864f, 0.025018f, 0.001659f, 0.005047f, 0.008022f, -0.010437f, 0.008682f, -0.018267f, 0.010537f, 0.003774f, 0.000550f, 0.007686f, -0.009112f, -0.085617f, 0.077965f, -0.016901f, -0.018911f, -0.030509f, -0.008963f, -0.067522f, -0.126031f, 0.043447f, 0.036102f, -0.005603f, -0.026035f, -0.051368f, -0.008542f, -0.015964f, -0.027353f, 0.049591f, -0.112714f, -0.048182f, -0.059533f, -0.017777f, -0.085834f, -0.007945f, -0.012979f, -0.003113f, -0.014424f, -0.017431f, 0.013767f, + -0.000883f, -0.038014f, -0.011922f, -0.000908f, -0.051981f, -0.027799f, -0.015354f, 0.003748f, 0.039968f, -0.020561f, 0.080137f, -0.041918f, -0.006023f, 0.033676f, -0.035768f, 0.021710f, 0.004545f, -0.054972f, -0.082216f, -0.020174f, 0.020984f, 0.074953f, 0.032511f, -0.057448f, -0.024304f, -0.164892f, -0.055183f, -0.011905f, 0.034687f, 0.089526f, -0.004747f, -0.095920f, 0.005333f, 0.052087f, -0.019165f, -0.004540f, 0.055236f, 0.058125f, 0.133370f, -0.147365f, -0.028567f, 0.020885f, 0.037299f, -0.046514f, -0.055217f, -0.078799f, -0.078227f, -0.043766f, -0.036367f, -0.010246f, -0.005592f, -0.091038f, -0.037725f, -0.033366f, 0.033710f, -0.017182f, -0.008965f, 0.082002f, 0.062115f, 0.004986f, -0.011704f, -0.003757f, -0.050644f, -0.002250f, 0.018054f, -0.036592f, -0.019597f, 0.006941f, 0.023147f, -0.015509f, -0.017926f, -0.012130f, 0.025829f, -0.017082f, 0.027067f, 0.001940f, 0.027954f, 0.019862f, 0.020152f, -0.015387f, 0.010207f, -0.038355f, 0.019808f, -0.005039f, 0.011685f, -0.033911f, -0.026252f, -0.003798f, 0.008782f, -0.019089f, 0.000518f, -0.042984f, -0.007517f, -0.005150f, 0.018430f, 0.022777f, + -0.027340f, 0.056144f, 0.001196f, 0.020842f, 0.012522f, 0.040681f, 0.040802f, -0.001966f, 0.025968f, -0.048649f, 0.011389f, -0.019842f, -0.117168f, 0.026189f, -0.020265f, 0.034291f, -0.032592f, -0.033526f, 0.002194f, -0.049162f, 0.008039f, -0.049566f, -0.001298f, -0.008845f, -0.019642f, 0.023474f, -0.037121f, -0.048245f, -0.044149f, -0.056608f, -0.009767f, -0.006404f, 0.062143f, 0.013588f, -0.045941f, -0.068008f, 0.008545f, -0.001665f, 0.015775f, -0.013432f, 0.037501f, -0.044793f, -0.018085f, -0.062812f, -0.040441f, -0.018218f, 0.001690f, -0.026644f, 0.064815f, -0.023007f, -0.056132f, 0.017099f, 0.067281f, 0.048903f, 0.019650f, -0.048072f, -0.031579f, -0.005088f, 0.061048f, 0.117469f, -0.001482f, 0.022962f, -0.022973f, -0.115335f, -0.025698f, 0.010276f, 0.043026f, 0.098079f, -0.054823f, -0.066818f, 0.038697f, 0.018379f, -0.023537f, 0.002940f, -0.037014f, 0.022453f, -0.097731f, -0.011367f, 0.005183f, 0.023484f, -0.059080f, 0.067550f, -0.095588f, -0.108489f, -0.100416f, 0.050360f, -0.020915f, 0.095213f, -0.133310f, -0.058042f, 0.010297f, 0.135608f, -0.011270f, -0.024277f, -0.075038f, -0.027449f, + -0.009081f, 0.065359f, -0.005901f, -0.000379f, 0.003570f, 0.011289f, 0.000962f, -0.001049f, -0.028597f, -0.024154f, 0.030905f, 0.013725f, 0.003468f, -0.071136f, 0.017505f, -0.018329f, -0.008718f, -0.036839f, 0.001353f, -0.003334f, -0.007026f, -0.083673f, 0.007439f, -0.018529f, -0.009870f, -0.007261f, 0.013894f, -0.000291f, 0.004891f, -0.000574f, 0.000221f, -0.000268f, 0.000108f, -0.030507f, -0.006183f, -0.019626f, -0.017117f, 0.014572f, 0.014897f, -0.024463f, 0.000674f, -0.017423f, 0.022525f, -0.008413f, 0.069562f, 0.021342f, -0.123912f, -0.021894f, -0.085463f, 0.038301f, 0.007245f, -0.170423f, 0.011726f, -0.052352f, -0.110384f, -0.085836f, -0.125983f, 0.078166f, -0.038370f, -0.099109f, -0.044510f, 0.032390f, -0.059054f, -0.050916f, -0.039734f, -0.023506f, -0.043814f, -0.043472f, -0.080418f, -0.058105f, -0.110364f, -0.062154f, -0.056074f, -0.018371f, -0.051897f, -0.010457f, -0.024185f, -0.001261f, 0.004413f, 0.014962f, 0.031187f, -0.030227f, 0.025987f, 0.003409f, 0.056986f, 0.025010f, 0.035698f, 0.036071f, -0.103358f, -0.026940f, 0.083516f, -0.013967f, -0.051240f, -0.057803f, -0.042729f, 0.033657f, + 0.134634f, -0.008580f, -0.001663f, -0.089752f, -0.091549f, -0.019062f, 0.019351f, 0.080634f, -0.005133f, 0.073528f, 0.027505f, -0.088154f, 0.160161f, 0.003410f, 0.124734f, 0.000665f, -0.031298f, 0.067107f, -0.089045f, -0.115255f, -0.073636f, -0.255734f, -0.154928f, -0.050597f, 0.117826f, 0.072355f, -0.102258f, -0.067237f, -0.156519f, 0.078232f, 0.104416f, -0.079871f, -0.079731f, 0.018804f, 0.069198f, 0.098105f, 0.027959f, 0.056412f, -0.051551f, -0.028343f, -0.038690f, -0.059378f, -0.023824f, -0.005097f, 0.006452f, 0.002741f, -0.031872f, 0.005388f, 0.023016f, 0.007562f, -0.004334f, -0.023380f, -0.015156f, -0.026687f, -0.009150f, -0.039573f, -0.007612f, 0.024792f, -0.037785f, -0.062706f, -0.008234f, -0.041070f, -0.027123f, -0.004630f, -0.052118f, -0.040840f, -0.009617f, 0.025671f, 0.027523f, 0.029586f, 0.000601f, -0.022475f, -0.002519f, 0.009731f, -0.012230f, 0.039674f, 0.003317f, 0.029302f, 0.003225f, 0.000130f, 0.030646f, 0.022777f, 0.034293f, 0.070988f, 0.046337f, 0.053022f, 0.046004f, -0.043528f, -0.105703f, 0.122929f, 0.117548f, -0.074333f, -0.096450f, -0.000448f, 0.105474f, -0.011432f, + -0.006124f, -0.032858f, 0.092231f, -0.010222f, -0.024617f, -0.002241f, 0.025471f, 0.047361f, 0.001267f, -0.035550f, -0.040474f, 0.056920f, 0.004223f, -0.024447f, -0.060868f, 0.034620f, 0.019092f, -0.006906f, -0.047978f, 0.015102f, 0.020636f, 0.017151f, -0.030350f, -0.018190f, 0.005352f, 0.046974f, -0.013821f, 0.016887f, -0.069084f, -0.019199f, 0.000100f, 0.045516f, -0.096165f, -0.017152f, 0.009342f, 0.069238f, -0.033279f, 0.010761f, -0.049147f, 0.006728f, 0.020324f, -0.033764f, -0.025781f, -0.003974f, 0.011225f, 0.021141f, -0.021937f, 0.001517f, -0.085717f, 0.046411f, -0.014351f, 0.080317f, -0.049805f, 0.035854f, -0.033908f, 0.037277f, 0.006931f, 0.025014f, 0.021140f, -0.062329f, 0.070506f, 0.013985f, 0.040661f, -0.068795f, 0.019095f, -0.017468f, 0.010903f, -0.019581f, 0.002692f, -0.004724f, 0.009342f, 0.023428f, -0.003718f, -0.027473f, -0.016414f, 0.007079f, -0.003759f, 0.001774f, -0.010771f, -0.026761f, 0.008932f, 0.007169f, -0.008375f, -0.007543f, -0.000561f, -0.008360f, 0.001198f, -0.014536f, -0.000531f, -0.007079f, 0.011980f, 0.007078f, -0.005064f, -0.010780f, 0.003678f, 0.000339f, + -0.009585f, 0.006997f, -0.029481f, -0.000226f, -0.003520f, 0.013140f, -0.000566f, 0.033928f, -0.022565f, -0.022832f, -0.007862f, 0.017929f, -0.024428f, 0.036390f, -0.030622f, 0.015458f, -0.015053f, 0.033175f, -0.029733f, 0.036496f, -0.020795f, 0.028540f, -0.025834f, 0.044344f, -0.041792f, 0.032119f, -0.009679f, 0.024177f, -0.022537f, 0.023757f, -0.025505f, 0.026795f, -0.025652f, 0.021497f, -0.017145f, 0.023752f, -0.018382f, 0.019811f, -0.018228f, 0.005776f, -0.005939f, 0.011937f, -0.008862f, 0.009644f, -0.007594f, 0.007536f, -0.004940f, 0.009866f, -0.036048f, -0.080117f, -0.106523f, 0.077635f, 0.051501f, -0.060768f, -0.086573f, -0.042447f, 0.040051f, 0.020982f, 0.053286f, 0.057346f, 0.011224f, -0.028978f, -0.008454f, 0.020034f, -0.019753f, -0.001660f, 0.011856f, 0.003210f, 0.032110f, 0.022411f, 0.009727f, -0.028961f, -0.001083f, -0.017954f, 0.018630f, -0.030343f, -0.026254f, 0.021946f, -0.007001f, -0.012384f, -0.012118f, -0.021114f, -0.028878f, 0.002154f, 0.023578f, 0.021463f, 0.018038f, -0.006911f, -0.023811f, -0.020738f, -0.014466f, 0.025660f, 0.034977f, -0.016361f, -0.024451f, -0.010634f, + 0.029025f, 0.014935f, 0.038831f, -0.027507f, -0.010442f, 0.015285f, -0.007321f, 0.001222f, -0.004163f, 0.013726f, 0.008263f, 0.011077f, 0.002336f, -0.026325f, 0.010873f, 0.004832f, -0.000974f, 0.020293f, -0.010570f, -0.005250f, 0.003511f, -0.003801f, 0.002607f, -0.007657f, 0.034468f, 0.008619f, -0.002791f, 0.032798f, 0.032895f, -0.033479f, -0.050627f, -0.018594f, -0.034676f, 0.000999f, 0.022931f, 0.006517f, -0.020742f, -0.025054f, -0.006677f, -0.004862f, 0.019927f, 0.009481f, 0.012419f, 0.018638f, 0.011393f, -0.010447f, 0.011536f, 0.008154f, -0.024371f, -0.032687f, 0.009778f, -0.008641f, 0.016246f, 0.011900f, -0.017915f, -0.004816f, -0.006088f, -0.006591f, -0.020817f, -0.011444f, -0.001298f, 0.006554f, 0.009937f, 0.027659f, -0.013786f, -0.010334f, 0.007089f, -0.006450f, 0.036523f, -0.088720f, -0.233572f, -0.085866f, 0.041896f, 0.121509f, 0.256637f, 0.171733f, 0.044203f, 0.065085f, -0.034293f, -0.104465f, -0.173477f, -0.150948f, -0.119999f, -0.034615f, 0.004624f, 0.083483f, 0.092054f, 0.195935f, 0.095134f, 0.062713f, -0.004912f, -0.041780f, -0.094305f, -0.048988f, -0.076254f, -0.087965f, + -0.054142f, -0.045352f, -0.003371f, 0.024486f, 0.073322f, 0.045301f, 0.052635f, 0.047814f, 0.048363f, 0.072701f, 0.006292f, 0.050365f, -0.009329f, -0.022644f, -0.061354f, -0.036590f, -0.091506f, -0.134747f, -0.117700f, 0.001365f, -0.020004f, 0.036922f, 0.063312f, 0.034683f, 0.097653f, 0.085228f, 0.123418f, 0.070218f, 0.083709f, 0.004117f, 0.004138f, -0.066016f, -0.107792f, -0.126020f, -0.151230f, -0.099447f, -0.123586f, -0.010427f, -0.000466f, 0.059471f, 0.062438f, 0.149380f, 0.117397f, 0.166866f, 0.067769f, 0.077994f, 0.032570f, -0.000739f, -0.099561f, -0.162488f, -0.108753f, -0.129820f, -0.080826f, -0.087919f, -0.008181f, 0.013552f, 0.051897f, 0.068003f, 0.092228f, 0.094066f, 0.090527f, 0.059210f, 0.064835f, 0.016827f, -0.011708f, -0.022310f, -0.072938f, -0.066585f, -0.087332f, -0.061793f, -0.087300f, -0.066603f, -0.006909f, 0.015546f, 0.046082f, 0.069454f, 0.062043f, 0.063845f, 0.105318f, 0.038066f, 0.064320f, 0.049290f, -0.066344f, -0.120215f, -0.052060f, -0.106009f, -0.066766f, -0.036415f, -0.007538f, 0.009379f, 0.033779f, 0.061077f, 0.042588f, 0.065708f, 0.041779f, 0.035741f, + 0.014472f, -0.004106f, -0.038187f, -0.012633f, -0.017898f, -0.067123f, -0.062625f, -0.017357f, -0.007059f, 0.003473f, 0.022056f, 0.025675f, 0.032704f, 0.026010f, 0.025855f, 0.009588f, 0.008724f, -0.000494f, -0.014676f, -0.007435f, -0.005390f, -0.015113f, -0.023948f, -0.008361f, -0.012079f, -0.014281f, -0.001866f, 0.005924f, 0.006823f, 0.009928f, 0.011066f, 0.010288f, 0.004310f, 0.001968f, 0.001330f, 0.001369f} + }, + { + {0.014252f, 0.001519f, -0.003851f, -0.004029f, 0.002484f, -0.006883f, -0.000100f, -0.013414f, 0.009628f, 0.012208f, 0.008530f, 0.012014f, -0.014405f, 0.001171f, 0.003302f, -0.005134f, -0.003951f, -0.003509f, -0.016872f, -0.002835f, 0.010042f, -0.017274f, -0.014036f, 0.008179f, 0.007415f, -0.011098f, -0.003866f, 0.007355f, 0.000949f, 0.008941f, 0.003836f, 0.009313f, -0.005837f, 0.001786f, 0.001298f, -0.002468f, 0.004342f, 0.003412f, 0.006326f, 0.002657f, -0.002782f, 0.000611f, 0.007067f, -0.001904f, -0.003202f, -0.001190f, -0.008528f, -0.018836f, 0.011210f, 0.005442f, -0.005886f, 0.008270f, -0.003301f, 0.000919f, -0.000281f, 0.003845f, -0.004963f, -0.001289f, 0.011141f, -0.010480f, -0.004195f, 0.003645f, 0.001827f, -0.001619f, -0.000508f, 0.004883f, 0.000567f, 0.004323f, -0.007463f, 0.007606f, 0.003921f, -0.009738f, 0.007769f, 0.000691f, 0.002821f, -0.001161f, -0.002887f, -0.011367f, -0.003509f, -0.000849f, 0.005853f, -0.001499f, 0.004789f, -0.002856f, 0.000577f, 0.001426f, 0.000582f, 0.003393f, -0.000596f, 0.000236f, -0.000405f, -0.002301f, -0.001040f, 0.000454f, -0.001227f, 0.000164f, + -0.000047f, -0.000522f, 0.003119f, 0.003129f, 0.001637f, 0.001305f, 0.001143f, 0.000405f, 0.000022f, 0.000419f, 0.000181f, -0.000472f, -0.001378f, -0.001559f, 0.022253f, -0.012816f, 0.003898f, -0.014164f, 0.001692f, 0.003300f, -0.014279f, -0.018053f, 0.004496f, -0.019586f, 0.004304f, -0.005116f, -0.001362f, -0.012017f, -0.001751f, -0.013493f, -0.006941f, 0.000043f, -0.014274f, 0.015147f, 0.005327f, -0.023669f, 0.002237f, -0.001315f, -0.004295f, -0.010139f, 0.005078f, 0.012262f, 0.000234f, -0.000917f, 0.011511f, -0.006782f, 0.000137f, -0.004322f, 0.007625f, -0.008957f, 0.002613f, 0.010756f, -0.009385f, 0.009404f, 0.003301f, 0.010173f, -0.000886f, 0.002296f, -0.001554f, -0.004318f, 0.013334f, -0.016582f, 0.003810f, -0.007350f, -0.003197f, -0.002180f, -0.006044f, -0.004479f, -0.013218f, -0.008320f, -0.002077f, 0.008577f, -0.000746f, 0.003206f, 0.012019f, -0.000305f, -0.010448f, -0.001367f, 0.000363f, 0.003239f, -0.005108f, -0.000011f, -0.010277f, 0.000190f, -0.004194f, 0.003363f, 0.005319f, 0.007818f, 0.002781f, -0.004459f, -0.005780f, 0.007673f, -0.002594f, -0.003559f, 0.001422f, 0.004253f, + 0.008858f, 0.001050f, 0.002531f, -0.000611f, 0.005187f, -0.001043f, -0.004138f, -0.002140f, -0.002056f, -0.000219f, 0.003513f, 0.000657f, -0.000249f, -0.001907f, 0.003403f, -0.000040f, -0.001296f, -0.000990f, -0.000890f, -0.001028f, 0.001610f, -0.000717f, -0.000185f, -0.002008f, -0.005358f, -0.018434f, -0.000218f, -0.011110f, -0.003506f, -0.001812f, -0.012956f, -0.001776f, -0.003018f, 0.006427f, 0.015110f, 0.015195f, 0.001807f, -0.006499f, 0.006077f, -0.014724f, -0.002105f, -0.005637f, 0.005132f, -0.021941f, 0.007746f, 0.003711f, -0.000801f, -0.006317f, -0.009457f, -0.004328f, -0.007802f, -0.006717f, 0.004104f, -0.001474f, -0.008409f, -0.002459f, 0.001703f, 0.014318f, -0.000553f, -0.014478f, 0.001133f, 0.006225f, -0.000181f, -0.004562f, 0.001201f, 0.005442f, -0.015726f, -0.001231f, -0.006838f, 0.011041f, 0.006727f, 0.001866f, -0.014538f, 0.001637f, 0.005600f, 0.008908f, 0.008342f, -0.009562f, -0.004493f, 0.000427f, -0.002986f, -0.003002f, 0.007771f, -0.004828f, 0.004757f, 0.001299f, -0.006109f, -0.001384f, -0.008393f, 0.010106f, 0.003798f, -0.009996f, -0.006890f, 0.001682f, 0.005302f, -0.007931f, + -0.009996f, -0.001706f, 0.000497f, -0.006653f, 0.001431f, -0.002733f, 0.003374f, -0.006341f, 0.009423f, 0.005044f, 0.007104f, 0.002027f, 0.000938f, 0.006388f, 0.008647f, 0.001006f, 0.002458f, -0.000828f, 0.001231f, 0.000145f, -0.000359f, 0.000964f, 0.000729f, 0.001001f, -0.001364f, 0.000048f, 0.000666f, -0.000484f, 0.000154f, 0.002880f, -0.001675f, 0.000656f, -0.002006f, -0.001610f, -0.001344f, 0.000296f, 0.001094f, 0.000735f, 0.000102f, -0.001868f, -0.001235f, -0.031374f, 0.010128f, 0.009057f, 0.015175f, -0.003954f, 0.009524f, -0.027063f, -0.007412f, 0.008461f, 0.000988f, -0.013395f, -0.003504f, -0.004469f, -0.023714f, -0.009619f, 0.002383f, -0.001105f, -0.016914f, 0.010535f, 0.014975f, -0.015418f, 0.011667f, -0.020186f, -0.006883f, -0.001828f, 0.006919f, -0.000128f, -0.008203f, 0.005514f, 0.002732f, -0.001367f, 0.008985f, -0.004382f, -0.005834f, -0.001832f, -0.003343f, -0.005989f, 0.008836f, -0.006833f, 0.002481f, 0.006617f, -0.001381f, -0.005296f, -0.009935f, -0.001224f, -0.007099f, -0.002181f, -0.008254f, -0.002247f, 0.018259f, 0.000351f, 0.011089f, -0.010232f, 0.009299f, -0.002940f, + -0.014979f, -0.008842f, 0.008241f, -0.005457f, -0.007635f, 0.005434f, -0.008972f, 0.007418f, 0.001967f, -0.002773f, 0.009696f, 0.008763f, 0.003843f, -0.009677f, -0.010963f, -0.000780f, 0.014514f, 0.002869f, 0.002171f, -0.008271f, 0.002114f, 0.005205f, -0.011134f, -0.004085f, 0.003573f, 0.007729f, 0.003810f, 0.006540f, -0.000406f, 0.000043f, 0.002381f, 0.000290f, -0.001284f, 0.000378f, -0.000985f, -0.001420f, -0.004947f, -0.003944f, 0.001160f, -0.002379f, -0.001443f, 0.001638f, 0.000710f, 0.001195f, -0.000345f, 0.001996f, -0.001338f, 0.000084f, -0.001765f, 0.000008f, -0.002134f, 0.001039f, 0.000323f, 0.001428f, -0.002773f, -0.016854f, -0.016025f, -0.010617f, 0.001904f, -0.002765f, 0.006460f, -0.005856f, -0.000064f, 0.001082f, -0.004836f, -0.001883f, 0.003946f, -0.004795f, 0.018589f, -0.012320f, 0.008567f, -0.003290f, -0.001355f, -0.008769f, -0.002469f, -0.001281f, 0.013530f, -0.009377f, 0.001138f, 0.002555f, -0.013431f, -0.008245f, -0.009201f, -0.007836f, -0.015558f, -0.005418f, 0.005484f, 0.010410f, 0.006566f, -0.012442f, -0.017513f, -0.003915f, 0.000449f, -0.008962f, 0.001542f, -0.006118f, + -0.009178f, -0.021663f, -0.010931f, -0.015211f, 0.008629f, -0.004001f, 0.006995f, -0.008776f, -0.021122f, -0.011244f, 0.000953f, -0.004375f, -0.006990f, -0.003230f, -0.008371f, 0.011144f, 0.000919f, 0.006450f, 0.008664f, 0.002126f, -0.000452f, -0.007386f, 0.000234f, 0.009420f, -0.001732f, -0.007134f, -0.009853f, 0.015563f, -0.013116f, -0.018277f, -0.012936f, -0.007490f, -0.010194f, 0.011296f, 0.018082f, -0.014578f, -0.010083f, 0.002140f, 0.008725f, 0.013456f, 0.010624f, 0.008273f, 0.008161f, -0.003016f, -0.003699f, -0.004215f, -0.004362f, 0.003261f, -0.002708f, 0.000819f, -0.003284f, -0.005233f, -0.002187f, -0.003795f, 0.002626f, -0.002405f, -0.004672f, -0.002768f, -0.002736f, -0.004696f, -0.005181f, -0.003277f, -0.001374f, 0.000927f, 0.000830f, 0.002305f, 0.000219f, -0.007998f, 0.000852f, -0.001307f, -0.003267f, 0.000841f, -0.001468f, -0.002479f, -0.005269f, -0.004363f, 0.000060f, -0.000076f, -0.001826f, -0.002091f, -0.000081f, 0.004301f, -0.034423f, 0.010615f, -0.002447f, 0.006085f, 0.018863f, 0.007403f, -0.004684f, 0.006383f, -0.014218f, 0.008778f, 0.010291f, -0.018755f, -0.004022f, -0.009499f, + 0.010559f, 0.009196f, 0.014334f, 0.016641f, -0.021646f, -0.011147f, 0.003548f, 0.018576f, -0.007067f, 0.008635f, -0.020696f, -0.006251f, -0.007270f, -0.004391f, -0.012537f, 0.003099f, -0.020491f, 0.014183f, -0.004038f, -0.003636f, 0.010347f, -0.000620f, 0.002349f, 0.011014f, 0.000282f, 0.009016f, 0.006023f, -0.002552f, -0.003571f, -0.001217f, -0.014393f, -0.010537f, -0.013153f, -0.000828f, 0.027292f, 0.006345f, 0.005264f, -0.000638f, -0.003832f, -0.000225f, 0.016302f, -0.003486f, 0.005089f, -0.031484f, 0.028957f, -0.007017f, -0.005194f, 0.001670f, 0.017728f, 0.006464f, -0.002990f, -0.010792f, 0.031028f, -0.005981f, -0.000397f, 0.009953f, -0.007885f, -0.000044f, 0.004431f, -0.006988f, 0.006112f, 0.006096f, 0.025619f, -0.012754f, -0.016081f, -0.002945f, 0.007653f, -0.009643f, 0.002130f, 0.006638f, 0.002098f, -0.005630f, 0.002519f, 0.006807f, -0.004311f, 0.000619f, -0.007359f, -0.002294f, -0.002180f, -0.005981f, 0.007848f, -0.005688f, -0.004856f, 0.003608f, -0.000251f, -0.006745f, -0.000634f, 0.001647f, 0.002883f, 0.000346f, 0.003396f, -0.002435f, -0.002118f, -0.001981f, 0.002273f, -0.002482f, + 0.004059f, 0.000465f, -0.001748f, 0.001888f, 0.004239f, -0.000095f, -0.001956f, 0.014898f, 0.008358f, 0.016579f, -0.006628f, -0.003938f, 0.009556f, -0.015287f, 0.013771f, 0.015715f, -0.007866f, -0.001317f, -0.024679f, 0.001178f, 0.008506f, 0.006885f, -0.005219f, -0.016788f, -0.034066f, 0.000557f, -0.005783f, -0.016164f, 0.003783f, 0.010880f, -0.014784f, -0.006296f, -0.016125f, 0.008173f, 0.000937f, -0.002394f, -0.005354f, -0.006988f, 0.017409f, 0.020308f, 0.007907f, 0.009681f, -0.004511f, -0.010183f, 0.028319f, 0.007049f, -0.004814f, -0.016614f, 0.012266f, 0.000521f, 0.016290f, -0.001425f, 0.020128f, 0.010074f, 0.014090f, 0.011919f, 0.006083f, 0.015673f, 0.019558f, -0.000548f, 0.003628f, -0.006228f, -0.000187f, 0.010680f, 0.004480f, 0.005815f, -0.017267f, -0.006331f, -0.003629f, -0.015035f, -0.014373f, -0.009464f, 0.008080f, 0.016629f, 0.021739f, 0.028438f, 0.006349f, 0.002504f, 0.022923f, -0.009109f, -0.017237f, -0.005992f, -0.008716f, 0.014844f, 0.012141f, 0.004664f, -0.016320f, -0.004430f, 0.002950f, 0.002398f, -0.003145f, -0.007510f, 0.002346f, 0.001950f, 0.009499f, -0.002240f, + -0.005188f, 0.001125f, 0.001884f, 0.002349f, 0.000227f, 0.000169f, 0.001929f, 0.004368f, -0.003008f, -0.002946f, 0.000343f, -0.000335f, -0.004240f, -0.000947f, -0.005423f, 0.006036f, 0.001992f, -0.004078f, -0.000109f, 0.004111f, -0.002062f, -0.000313f, -0.003190f, 0.001851f, 0.002210f, -0.001386f, 0.005267f, 0.004003f, 0.026315f, -0.024920f, -0.011710f, -0.003333f, 0.010091f, -0.023311f, 0.014767f, -0.022966f, 0.011327f, -0.000054f, 0.012017f, 0.019021f, -0.007764f, 0.017374f, 0.018997f, 0.018065f, -0.010446f, 0.015241f, -0.016377f, -0.013052f, -0.002016f, -0.010083f, -0.000146f, -0.008668f, 0.014929f, -0.011022f, 0.003295f, -0.010881f, -0.019123f, -0.008900f, -0.004018f, 0.023148f, -0.019380f, 0.018237f, 0.008031f, -0.026840f, 0.030821f, 0.007612f, 0.003449f, 0.021661f, 0.003854f, 0.000998f, -0.012244f, -0.000037f, -0.006833f, 0.024697f, 0.010430f, 0.017320f, -0.006727f, -0.004055f, 0.011916f, 0.020577f, -0.021472f, 0.021323f, 0.003900f, -0.003433f, -0.003996f, -0.020207f, 0.009764f, -0.009520f, 0.004129f, 0.000930f, -0.018335f, 0.006226f, 0.015541f, -0.014078f, 0.009861f, 0.006485f, + 0.021749f, 0.002343f, -0.001459f, 0.013228f, 0.019021f, 0.001579f, -0.010901f, 0.012799f, -0.014713f, -0.007636f, 0.003933f, -0.005929f, 0.003980f, -0.004747f, 0.001897f, 0.008253f, 0.006012f, -0.005975f, 0.005254f, -0.003060f, 0.004236f, -0.004185f, 0.013244f, 0.001368f, 0.012645f, -0.001485f, 0.003172f, -0.002639f, -0.001094f, -0.004003f, 0.008014f, 0.003398f, -0.006602f, 0.006937f, 0.008030f, -0.000856f, -0.001104f, 0.004934f, -0.000350f, -0.000383f, 0.006684f, -0.000172f, 0.001640f, 0.004349f, 0.002821f, -0.001005f, 0.005103f, -0.004192f, -0.000781f, 0.001018f, 0.001377f, 0.001170f, -0.000293f, -0.000570f, -0.005091f, 0.002452f, 0.007557f, -0.021243f, -0.015197f, 0.023118f, -0.029603f, 0.007468f, -0.015754f, 0.017601f, -0.018803f, 0.028748f, 0.009977f, 0.002787f, -0.024926f, 0.012716f, 0.021129f, 0.005584f, -0.012805f, -0.008332f, -0.007321f, 0.019604f, 0.010681f, -0.027354f, 0.003891f, -0.019353f, -0.001044f, 0.002216f, -0.016516f, 0.021685f, 0.021793f, -0.009884f, 0.004800f, 0.014765f, -0.018006f, -0.002747f, -0.005523f, -0.014937f, 0.031787f, -0.011548f, -0.007072f, -0.016000f, + -0.026682f, -0.004245f, 0.000528f, -0.009239f, 0.004004f, -0.022118f, 0.001985f, 0.001552f, -0.004395f, 0.017467f, -0.003605f, -0.013606f, 0.007118f, -0.000022f, -0.010134f, 0.008716f, 0.037690f, -0.007545f, 0.009008f, 0.002040f, -0.025526f, -0.004172f, 0.022865f, 0.010273f, 0.022701f, -0.002335f, 0.013148f, -0.018059f, 0.008153f, 0.007962f, 0.002722f, -0.015352f, 0.014239f, 0.004999f, -0.039732f, 0.003089f, -0.007126f, 0.026599f, -0.010154f, 0.020650f, 0.019205f, 0.015371f, -0.001838f, 0.005890f, 0.000974f, 0.001536f, -0.002520f, -0.004400f, 0.010471f, 0.004181f, -0.000064f, -0.006914f, -0.009561f, -0.002263f, 0.004213f, 0.006735f, 0.004923f, 0.008646f, 0.000393f, -0.002363f, -0.003485f, -0.002810f, 0.003228f, 0.005161f, -0.000381f, 0.004067f, 0.002782f, 0.000733f, 0.003853f, -0.000743f, 0.004027f, -0.006528f, -0.007936f, -0.010617f, -0.000389f, 0.004793f, 0.002306f, -0.005004f, -0.001687f, -0.003515f, -0.003730f, 0.006442f, 0.002107f, 0.002849f, -0.046490f, 0.052570f, 0.006200f, 0.020752f, -0.038140f, 0.020826f, 0.027100f, -0.031229f, 0.011902f, 0.015467f, 0.011965f, -0.020178f, + 0.002650f, 0.003566f, -0.006811f, 0.011787f, 0.024275f, -0.019483f, -0.016215f, -0.005927f, 0.020578f, 0.017800f, 0.025166f, -0.001209f, 0.010630f, -0.018748f, -0.004913f, -0.004867f, 0.004115f, 0.011835f, 0.032166f, 0.019158f, 0.011693f, 0.006122f, -0.001068f, 0.015372f, -0.005690f, -0.027597f, -0.005362f, 0.008120f, 0.008814f, -0.016149f, -0.012236f, -0.020001f, 0.003862f, -0.001584f, 0.007022f, -0.013110f, 0.023483f, 0.022964f, -0.019883f, 0.047276f, 0.002166f, -0.004339f, -0.000271f, -0.009836f, -0.002130f, -0.003022f, -0.019118f, 0.000322f, 0.000056f, 0.012554f, -0.039781f, 0.009750f, -0.014102f, 0.028901f, 0.034895f, 0.015110f, 0.014497f, 0.006525f, 0.002328f, 0.031509f, -0.005912f, -0.023292f, 0.019935f, -0.010488f, 0.005343f, 0.015568f, 0.028382f, 0.003993f, 0.002798f, -0.022719f, -0.000991f, 0.006652f, 0.018014f, -0.007825f, 0.009784f, 0.004724f, -0.006900f, 0.018302f, 0.003085f, 0.008208f, -0.005335f, -0.001683f, -0.005287f, 0.000898f, 0.002101f, -0.002785f, -0.000163f, 0.005516f, -0.003047f, 0.005590f, 0.003758f, -0.003893f, -0.000419f, 0.002600f, -0.001653f, 0.000450f, + -0.003754f, -0.012337f, -0.003553f, -0.001873f, 0.012897f, 0.015979f, 0.001562f, 0.002358f, -0.004596f, -0.005335f, 0.001338f, 0.001752f, -0.006687f, -0.005178f, -0.003479f, -0.003014f, 0.004281f, -0.007387f, -0.000366f, -0.005426f, 0.019119f, 0.003660f, -0.013314f, 0.012396f, 0.018605f, 0.016160f, 0.010198f, 0.019279f, -0.023461f, -0.014969f, 0.002603f, -0.021225f, -0.005304f, -0.003624f, 0.004657f, -0.005516f, -0.013790f, -0.017328f, -0.010429f, 0.008445f, 0.014511f, -0.025573f, 0.005340f, -0.002749f, -0.000746f, -0.030799f, -0.027662f, -0.004889f, -0.021473f, 0.010023f, -0.024479f, 0.001490f, 0.012987f, 0.018703f, -0.016719f, 0.022240f, 0.005619f, -0.002288f, -0.005003f, 0.033024f, -0.009307f, -0.001721f, -0.026682f, -0.015026f, 0.021598f, -0.001723f, 0.008123f, -0.025668f, -0.028114f, -0.007731f, -0.015905f, -0.002823f, 0.001133f, -0.010408f, -0.013350f, 0.007821f, -0.012401f, 0.001022f, -0.018232f, -0.009866f, -0.000561f, -0.029949f, 0.002653f, 0.019619f, 0.003650f, 0.010281f, 0.021323f, 0.036670f, -0.035538f, 0.006411f, -0.021969f, -0.021303f, -0.011996f, -0.016197f, -0.010485f, -0.009575f, + 0.035824f, 0.019734f, 0.019781f, 0.004097f, 0.005734f, -0.026011f, 0.001161f, -0.009180f, 0.004047f, -0.011308f, 0.015792f, 0.020967f, 0.001943f, -0.009530f, -0.006567f, -0.017948f, 0.001516f, 0.011005f, 0.005991f, -0.004355f, 0.011256f, 0.005468f, 0.011921f, -0.002598f, -0.002328f, 0.001965f, 0.007712f, -0.005004f, 0.003222f, -0.007354f, -0.010332f, 0.007375f, 0.002532f, 0.001517f, 0.001517f, -0.013914f, -0.008404f, -0.000072f, 0.010563f, -0.009006f, 0.005221f, -0.012067f, -0.004172f, -0.001927f, 0.004139f, 0.002904f, -0.003735f, -0.002942f, -0.016187f, 0.036910f, 0.039135f, 0.043005f, -0.032161f, 0.002242f, 0.023139f, 0.018204f, -0.018837f, -0.035926f, -0.004286f, -0.005439f, -0.028296f, -0.016392f, 0.053367f, 0.004114f, 0.003537f, 0.019921f, -0.002437f, 0.008466f, -0.007493f, -0.021308f, 0.013856f, 0.011596f, -0.028842f, -0.040909f, -0.031754f, -0.025225f, -0.024066f, 0.002216f, 0.006841f, 0.012062f, -0.016048f, 0.015522f, 0.003616f, -0.007895f, -0.016978f, -0.000647f, 0.000814f, -0.026096f, -0.020494f, 0.002908f, -0.004828f, 0.003473f, -0.015893f, 0.012667f, 0.003838f, -0.014921f, + -0.031966f, -0.012665f, -0.010878f, -0.042421f, -0.013480f, 0.003877f, 0.020794f, -0.002110f, 0.024647f, -0.004460f, -0.002221f, -0.036165f, -0.007806f, 0.014097f, 0.006629f, -0.060459f, 0.017168f, 0.005146f, -0.016971f, -0.010322f, -0.017698f, -0.019905f, -0.000931f, 0.000830f, -0.019289f, -0.006256f, 0.012083f, 0.017524f, 0.027589f, -0.021283f, 0.000875f, 0.015570f, -0.000844f, -0.046251f, -0.036942f, -0.000507f, -0.009879f, 0.011479f, -0.000479f, -0.011437f, -0.016670f, 0.007549f, -0.004900f, 0.006851f, 0.018735f, -0.000589f, -0.009472f, -0.015807f, -0.028996f, -0.009924f, 0.001623f, -0.004853f, -0.005004f, 0.001818f, 0.001754f, 0.012758f, -0.006712f, 0.001272f, 0.004688f, 0.002475f, -0.010563f, 0.001137f, -0.002783f, -0.025176f, 0.002433f, -0.009355f, -0.011470f, 0.004016f, 0.002957f, -0.007666f, -0.002520f, 0.008991f, 0.002503f, 0.002353f, -0.009407f, -0.010566f, -0.003825f, -0.000840f, 0.000424f, 0.006398f, 0.014799f, -0.012554f, 0.042015f, -0.035959f, -0.022138f, -0.007311f, -0.067989f, -0.035516f, -0.000187f, -0.043343f, 0.033653f, -0.015246f, -0.014047f, 0.003848f, 0.077062f, 0.037184f, + 0.002381f, 0.015817f, -0.003586f, -0.020692f, -0.002063f, -0.032011f, -0.023165f, 0.011006f, 0.011179f, 0.013815f, -0.022246f, 0.028478f, 0.017431f, 0.032220f, -0.032763f, 0.005249f, 0.047762f, 0.004450f, 0.001950f, 0.009409f, -0.045818f, 0.011674f, -0.011587f, 0.007514f, -0.018457f, -0.043273f, -0.002661f, 0.017454f, 0.021289f, 0.005489f, -0.006771f, 0.003113f, -0.001999f, 0.014302f, -0.032679f, -0.047563f, 0.008484f, -0.017384f, 0.028354f, -0.011391f, -0.011835f, 0.037025f, 0.008320f, 0.015900f, 0.002935f, -0.031374f, -0.012878f, -0.003791f, 0.016883f, 0.048844f, 0.037597f, -0.011275f, -0.043248f, -0.000942f, -0.005003f, 0.015956f, -0.026679f, -0.033443f, -0.018994f, 0.015757f, -0.033873f, -0.005342f, -0.028428f, 0.000118f, 0.022843f, -0.000761f, -0.042592f, -0.009422f, 0.005609f, 0.011130f, 0.005269f, -0.026598f, -0.017923f, -0.028462f, 0.004366f, -0.006029f, -0.012375f, -0.009548f, -0.012368f, 0.002333f, -0.005179f, -0.011859f, -0.003377f, 0.008245f, -0.000080f, -0.000461f, -0.014472f, -0.000426f, -0.001388f, -0.009274f, 0.000728f, 0.017663f, 0.005902f, 0.003141f, -0.018309f, 0.007013f, + -0.002054f, -0.002204f, 0.002829f, -0.000532f, -0.000400f, -0.003859f, -0.010917f, -0.012234f, -0.009998f, 0.012207f, 0.010709f, -0.005112f, -0.027180f, -0.010166f, -0.010116f, -0.002344f, -0.077320f, 0.029891f, 0.024533f, -0.011324f, -0.051093f, -0.011251f, -0.019664f, -0.020697f, 0.022581f, 0.027894f, -0.002819f, 0.007651f, -0.058053f, 0.020499f, -0.072667f, -0.018358f, -0.006267f, 0.014525f, 0.036635f, 0.058147f, 0.024169f, -0.033591f, 0.007878f, 0.040640f, 0.005462f, 0.012395f, 0.022091f, -0.034143f, -0.013129f, -0.005351f, 0.010440f, -0.024041f, -0.012886f, -0.007259f, -0.018020f, -0.013757f, 0.024755f, 0.024267f, 0.006299f, 0.002061f, 0.041860f, -0.007815f, 0.019595f, -0.047192f, 0.031412f, 0.009006f, -0.042740f, 0.004422f, 0.013817f, -0.040214f, -0.005101f, -0.039329f, 0.013272f, 0.016633f, 0.017792f, -0.026464f, -0.002171f, 0.026516f, -0.021951f, 0.000359f, -0.003445f, 0.043738f, -0.025751f, 0.032236f, 0.016426f, -0.040657f, 0.035861f, -0.029922f, 0.023124f, 0.030357f, -0.030487f, 0.017324f, -0.025991f, -0.032444f, -0.048852f, -0.040813f, -0.044659f, -0.010646f, 0.008125f, -0.013433f, + 0.039303f, 0.040725f, -0.017059f, 0.035897f, -0.005357f, -0.007506f, 0.045731f, -0.010092f, -0.030403f, 0.021307f, -0.004436f, -0.023809f, -0.018206f, 0.018073f, 0.003357f, 0.009393f, 0.014427f, 0.002575f, 0.011901f, 0.018182f, -0.004673f, 0.020381f, 0.014152f, 0.010192f, 0.011735f, 0.001749f, 0.007282f, 0.017327f, 0.014107f, 0.017566f, 0.002816f, 0.014594f, -0.002514f, 0.001060f, 0.012895f, -0.006234f, -0.022581f, 0.010841f, 0.003866f, 0.000076f, 0.000705f, 0.010352f, -0.019946f, 0.010412f, 0.014450f, 0.011579f, -0.013128f, 0.012705f, -0.061099f, -0.028814f, -0.029995f, 0.053710f, 0.001757f, 0.020165f, -0.008580f, 0.076109f, 0.012126f, -0.050602f, 0.003848f, 0.055960f, -0.020545f, 0.012576f, -0.009091f, 0.004983f, -0.032498f, -0.043869f, 0.069951f, 0.049840f, -0.018999f, 0.038289f, 0.015116f, 0.049763f, 0.056539f, -0.016347f, -0.013203f, 0.050312f, 0.036894f, 0.004221f, -0.015749f, -0.024793f, -0.026053f, 0.023368f, 0.044353f, 0.020939f, -0.007971f, 0.029878f, -0.015544f, 0.028364f, -0.012531f, 0.041297f, 0.073011f, 0.055656f, -0.059293f, 0.027268f, -0.010033f, -0.024067f, + -0.000702f, 0.020812f, 0.020071f, 0.133305f, -0.013371f, -0.001279f, -0.021606f, -0.023532f, 0.026018f, 0.048225f, -0.011711f, 0.036684f, 0.031310f, -0.004091f, 0.001184f, -0.025825f, 0.026481f, 0.022290f, 0.070932f, 0.072154f, 0.087586f, 0.036446f, -0.022276f, -0.018027f, -0.040153f, 0.039351f, -0.059424f, 0.043116f, -0.055776f, 0.032898f, -0.019633f, -0.033516f, 0.024345f, -0.090350f, -0.071465f, 0.013095f, 0.014108f, -0.025815f, -0.025032f, 0.042229f, 0.021077f, -0.038740f, 0.005820f, -0.008786f, -0.021188f, 0.007001f, 0.010927f, 0.003364f, 0.011072f, 0.012997f, 0.022834f, -0.010507f, 0.004495f, -0.012716f, -0.022555f, -0.013772f, 0.005467f, 0.002005f, 0.031297f, 0.006709f, -0.007505f, -0.025283f, 0.004072f, -0.010002f, -0.008091f, -0.011228f, 0.008797f, 0.018876f, 0.006733f, 0.016387f, 0.013765f, 0.021654f, -0.009035f, 0.016505f, 0.002240f, 0.004834f, -0.001420f, 0.001444f, -0.012647f, 0.015222f, 0.036328f, 0.019493f, -0.003766f, -0.004010f, 0.028887f, 0.024214f, -0.022260f, 0.007148f, 0.014553f, -0.011161f, 0.041785f, 0.009439f, -0.097950f, 0.022463f, 0.012831f, -0.072866f, + 0.004289f, -0.012504f, 0.003017f, 0.026685f, -0.003543f, -0.067350f, -0.011970f, -0.021478f, -0.003786f, 0.047665f, 0.057222f, -0.032593f, -0.008227f, -0.027362f, 0.014076f, -0.051615f, -0.100098f, -0.035881f, -0.030247f, 0.005229f, 0.001617f, 0.045482f, -0.068444f, 0.032569f, -0.015945f, -0.007598f, 0.028064f, 0.013163f, 0.047541f, 0.010808f, 0.018274f, 0.050864f, -0.058218f, 0.072541f, 0.057575f, 0.030004f, 0.053994f, -0.021042f, 0.020460f, -0.050685f, -0.010150f, -0.025540f, 0.044707f, -0.039746f, 0.009498f, -0.085288f, -0.105783f, 0.070508f, -0.003361f, 0.045472f, -0.032204f, 0.030081f, -0.021081f, 0.006482f, -0.012147f, -0.069311f, -0.022021f, -0.046355f, -0.022115f, 0.025011f, 0.102526f, 0.036589f, -0.090750f, -0.020567f, 0.023816f, -0.021061f, -0.013754f, -0.059924f, -0.031157f, 0.046176f, -0.017527f, 0.011133f, 0.008876f, -0.037369f, 0.023375f, -0.005510f, 0.001582f, -0.076631f, -0.022549f, -0.001687f, -0.035257f, -0.019910f, 0.002632f, -0.051877f, 0.005123f, 0.011543f, -0.042226f, -0.033047f, -0.059507f, -0.044202f, -0.004432f, -0.024506f, -0.012053f, 0.001427f, -0.017306f, -0.016783f, + -0.007315f, -0.026202f, -0.012916f, 0.003306f, 0.017402f, -0.023117f, -0.008650f, -0.039541f, 0.013537f, 0.009646f, 0.022802f, -0.016406f, 0.023717f, -0.051144f, -0.003483f, -0.000065f, -0.004062f, 0.007745f, -0.008792f, 0.005349f, -0.024211f, -0.024941f, 0.007173f, 0.006162f, -0.060045f, 0.031908f, 0.031879f, 0.056481f, -0.027323f, 0.020798f, -0.031428f, -0.036561f, 0.016539f, 0.074948f, 0.121366f, -0.007405f, -0.007861f, 0.002696f, -0.002514f, -0.053861f, 0.084982f, 0.040878f, 0.045290f, 0.034915f, -0.024376f, 0.029584f, -0.047621f, -0.068677f, -0.011703f, 0.051670f, 0.033694f, -0.024488f, -0.015716f, -0.003283f, 0.041874f, 0.001892f, 0.030573f, 0.029902f, 0.049551f, 0.016585f, -0.030884f, -0.029374f, 0.028410f, -0.033085f, -0.024583f, 0.014740f, 0.054410f, 0.050112f, -0.056946f, -0.044078f, 0.029648f, 0.035262f, 0.106790f, -0.024640f, -0.057867f, -0.060060f, 0.051200f, -0.038401f, 0.048319f, 0.054524f, 0.109883f, 0.232887f, -0.051865f, -0.029578f, -0.087047f, -0.138790f, -0.044100f, -0.069853f, 0.008207f, 0.096642f, -0.013999f, 0.051218f, 0.073132f, 0.047883f, -0.026762f, -0.085945f, + -0.140669f, 0.078708f, -0.005337f, 0.089513f, -0.045763f, -0.122087f, 0.042840f, -0.072330f, -0.096210f, -0.049435f, -0.030478f, 0.030776f, 0.030483f, 0.054995f, -0.003875f, -0.026680f, -0.004035f, -0.002194f, -0.049670f, -0.048295f, 0.024827f, -0.017075f, 0.049517f, 0.044949f, -0.021242f, 0.044749f, -0.035004f, 0.001009f, 0.044312f, 0.004758f, -0.068393f, 0.018325f, -0.034325f, -0.006006f, -0.010875f, -0.009199f, -0.050351f, -0.041419f, 0.008301f, 0.060021f, 0.064590f, -0.060258f, -0.006870f, 0.073282f, 0.070437f, 0.000083f, 0.015075f, -0.066372f, -0.034949f, 0.009822f, 0.039067f, -0.057384f, 0.014968f, 0.044677f, 0.022754f, 0.016892f, 0.005389f, 0.028166f, -0.047001f, 0.008745f, -0.042845f, -0.118152f, 0.029745f, -0.049367f, 0.049036f, 0.007210f, 0.027377f, 0.023998f, -0.108090f, -0.076577f, -0.037934f, -0.023815f, -0.025131f, -0.044175f, -0.013747f, -0.073390f, -0.046753f, 0.035303f, -0.047796f, 0.090956f, -0.067681f, 0.006963f, 0.018738f, -0.007193f, 0.007991f, -0.003903f, 0.021724f, -0.021093f, -0.022747f, -0.003935f, 0.016274f, -0.002864f, 0.038997f, -0.036818f, 0.008293f, 0.057000f, + 0.018249f, 0.008548f, 0.029007f, 0.003598f, -0.023237f, -0.014791f, 0.046234f, 0.010373f, -0.073129f, -0.032416f, -0.059343f, -0.027008f, 0.078593f, 0.073306f, -0.075751f, -0.008379f, -0.086126f, -0.020754f, -0.007184f, 0.019857f, 0.043145f, -0.070536f, 0.047026f, -0.060051f, -0.010188f, -0.040685f, 0.090490f, -0.018302f, 0.063814f, 0.059712f, 0.132866f, -0.061225f, 0.054776f, 0.008918f, 0.052041f, 0.018181f, 0.039693f, -0.066601f, -0.061212f, 0.088779f, 0.004290f, -0.003352f, -0.062916f, 0.071677f, -0.024312f, 0.036769f, -0.066223f, 0.139090f, -0.074579f, 0.077373f, -0.093369f, 0.036860f, -0.070392f, 0.038847f, -0.064861f, 0.048036f, -0.041108f, 0.028212f, -0.022982f, 0.015532f, -0.034995f, -0.021606f, -0.016617f, -0.004370f, 0.012264f, 0.002140f, 0.009868f, 0.000798f, 0.009690f, -0.005294f, -0.017935f, -0.028266f, 0.012697f, 0.014025f, 0.003945f, 0.012845f, -0.010688f, 0.004994f, -0.008505f, 0.005249f, 0.047679f, -0.012097f, -0.034486f, 0.004803f, -0.019622f, -0.036686f, 0.011449f, -0.020068f, 0.014418f, -0.016843f, 0.011937f, -0.032072f, 0.012759f, -0.041448f, 0.057931f, 0.008914f, + -0.106552f, -0.046931f, -0.066047f, 0.003594f, -0.015501f, -0.143856f, -0.065371f, -0.037769f, -0.076682f, -0.047784f, -0.144968f, -0.122388f, -0.022421f, 0.051958f, -0.079918f, -0.047808f, -0.011880f, -0.068102f, -0.015862f, -0.005719f, -0.065920f, -0.017803f, 0.013126f, 0.002939f, -0.087396f, -0.049864f, -0.049995f, -0.027926f, -0.031166f, -0.009230f, -0.060788f, 0.050057f, 0.032510f, 0.071597f, 0.104286f, 0.090645f, 0.022887f, 0.095851f, 0.038201f, 0.016772f, -0.043133f, 0.033314f, 0.034666f, 0.027323f, -0.011544f, -0.033370f, -0.015673f, 0.023678f, 0.042397f, 0.219569f, 0.029430f, 0.044891f, 0.031930f, 0.089521f, 0.034412f, 0.078566f, 0.143426f, -0.069872f, -0.141293f, 0.017052f, 0.089572f, 0.160294f, 0.070826f, -0.139368f, 0.018328f, -0.035150f, 0.202389f, 0.148752f, 0.181016f, 0.165909f, -0.145079f, -0.095934f, 0.118139f, 0.141901f, -0.042060f, -0.083389f, -0.100499f, 0.224070f, 0.149085f, -0.010292f, -0.193897f, 0.045676f, -0.007962f, -0.043689f, 0.052706f, 0.013627f, -0.017476f, -0.042250f, -0.001378f, 0.029668f, 0.082862f, 0.058509f, -0.050412f, -0.020932f, -0.014004f, -0.011605f, + 0.046482f, 0.033308f, 0.035890f, -0.000507f, 0.018913f, 0.075878f, 0.051397f, 0.009699f, 0.029972f, -0.022246f, 0.037550f, 0.048507f, 0.064350f, 0.081984f, 0.064034f, 0.048541f, -0.000304f, -0.012604f, -0.017826f, -0.007032f, -0.037870f, -0.021784f, -0.018582f, -0.047312f, -0.060484f, -0.069184f, -0.117799f, -0.067775f, -0.044301f, -0.071859f, -0.131025f, -0.091992f, -0.077575f, -0.090808f, -0.107367f, -0.113794f, -0.039433f, -0.044653f, -0.062577f, -0.036070f, -0.039314f, -0.027002f, -0.036964f, -0.036501f, -0.035666f, -0.035289f, -0.104105f, 0.167007f, 0.134841f, -0.116665f, 0.026081f, -0.002642f, 0.018769f, -0.004482f, -0.011559f, 0.043059f, -0.043224f, 0.042065f, -0.017147f, 0.000232f, 0.016564f, 0.013621f, 0.014938f, -0.000035f, -0.024543f, -0.015561f, 0.026789f, -0.021976f, -0.002914f, 0.026008f, -0.014236f, -0.014660f, -0.020687f, -0.037545f, -0.037967f, 0.027824f, -0.013948f, 0.010468f, -0.023957f, 0.004931f, -0.050657f, -0.008931f, 0.013636f, 0.032694f, -0.020867f, 0.007303f, 0.022045f, 0.035811f, -0.008780f, 0.029700f, -0.024200f, 0.094121f, -0.035155f, 0.032633f, 0.004009f, 0.018610f, + -0.017921f, 0.025180f, -0.010332f, 0.067194f, -0.011295f, 0.021036f, -0.047105f, 0.061704f, -0.032691f, -0.002155f, -0.009509f, 0.009294f, -0.018770f, 0.037232f, -0.042993f, 0.035023f, -0.039465f, 0.051000f, -0.053432f, 0.064579f, -0.043189f, -0.022604f, -0.027301f, -0.013018f, 0.001974f, -0.041778f, 0.026901f, -0.024577f, 0.023496f, 0.002404f, 0.032692f, 0.013022f, 0.022380f, 0.041087f, 0.016824f, -0.013616f, 0.010209f, 0.010426f, -0.006541f, 0.007806f, -0.013488f, 0.015202f, -0.007946f, 0.000608f, -0.013275f, 0.029141f, -0.029116f, 0.003234f, -0.003458f, 0.023784f, -0.005341f, 0.005404f, -0.006369f, 0.009976f, -0.014375f, 0.010989f, -0.012478f, -0.005286f, 0.020785f, 0.020469f, -0.007070f, -0.019017f, 0.011624f, 0.018266f, 0.017531f, -0.016290f, 0.013323f, -0.010961f, 0.009640f, 0.003612f, 0.002836f, -0.017427f, 0.018276f, -0.006232f, -0.024631f, 0.020340f, 0.016719f, -0.014360f, -0.004781f, -0.002109f, 0.003334f, -0.013761f, 0.019336f, -0.018185f, 0.005456f, -0.019940f, 0.017323f, -0.013926f, 0.014483f, -0.010818f, 0.018164f, -0.020616f, 0.022226f, -0.020206f, 0.009547f, -0.016431f, + 0.016340f, -0.019016f, 0.014753f, -0.011325f, 0.019331f, -0.021929f, 0.022680f, -0.019251f, -0.040948f, -0.084613f, -0.093099f, 0.079144f, 0.019993f, -0.024505f, -0.126165f, -0.050717f, 0.070274f, 0.014325f, 0.050750f, 0.056612f, -0.020457f, -0.035583f, 0.001657f, 0.013414f, 0.010385f, 0.009384f, -0.022347f, -0.016402f, -0.012431f, 0.000059f, 0.034090f, 0.018443f, -0.001704f, 0.007675f, -0.009891f, -0.016508f, -0.010602f, -0.008642f, 0.000550f, 0.010084f, -0.007832f, 0.013014f, 0.013588f, -0.046327f, -0.020666f, -0.020495f, 0.024653f, 0.017222f, -0.001649f, -0.021557f, -0.029261f, 0.025422f, 0.005509f, 0.017054f, 0.023603f, -0.042948f, -0.028709f, 0.007861f, 0.034495f, 0.017496f, -0.049007f, -0.030107f, -0.039839f, -0.018923f, 0.010104f, 0.009001f, -0.016485f, 0.018000f, -0.007514f, -0.017111f, 0.007529f, 0.016411f, -0.012375f, 0.003931f, -0.000625f, -0.015279f, -0.001554f, -0.005374f, -0.034866f, -0.035010f, -0.002321f, -0.037347f, -0.028206f, 0.001227f, 0.011170f, -0.008104f, 0.041078f, 0.030516f, 0.017178f, 0.001360f, -0.004132f, -0.018295f, 0.022671f, 0.011264f, 0.013150f, 0.012953f, + -0.011739f, -0.004781f, -0.001058f, 0.006645f, -0.021803f, -0.026220f, -0.003813f, 0.011687f, 0.001525f, 0.014769f, 0.010031f, -0.013607f, 0.004329f, 0.008191f, 0.005497f, -0.004284f, 0.014475f, -0.018126f, -0.011081f, 0.033769f, 0.019128f, -0.020531f, -0.015733f, -0.010365f, -0.018642f, 0.020590f, -0.000877f, 0.003115f, 0.009184f, 0.006265f, -0.000406f, -0.000570f, -0.013940f, 0.008985f, 0.005060f, 0.012275f, -0.006970f, -0.001756f, 0.007643f, 0.032850f, -0.081694f, -0.222703f, -0.084618f, 0.050787f, 0.107345f, 0.253070f, 0.148766f, 0.040512f, 0.053019f, -0.043771f, -0.081831f, -0.179134f, -0.120772f, -0.092573f, -0.030258f, 0.036810f, 0.098685f, 0.076724f, 0.095804f, 0.092582f, 0.062770f, -0.021070f, -0.072958f, -0.063143f, -0.064905f, -0.052139f, -0.075249f, 0.023212f, -0.047556f, 0.003585f, 0.035064f, 0.064804f, 0.036576f, 0.060668f, 0.079940f, 0.001593f, 0.023872f, 0.001870f, -0.001202f, -0.044548f, -0.005883f, -0.039627f, -0.077524f, -0.122324f, -0.068163f, -0.037244f, 0.009899f, 0.009427f, 0.072812f, 0.101141f, 0.097168f, 0.115736f, 0.016856f, 0.075995f, 0.030097f, -0.006724f, + -0.071123f, -0.069591f, -0.094600f, -0.124103f, -0.084674f, -0.096137f, -0.060937f, 0.000488f, 0.029855f, 0.069295f, 0.111757f, 0.164711f, 0.131898f, 0.119612f, 0.064716f, -0.024526f, -0.024355f, -0.064479f, -0.137437f, -0.105468f, -0.173680f, -0.114072f, -0.050588f, -0.038378f, 0.054288f, 0.104405f, 0.142894f, 0.100996f, 0.077233f, 0.047095f, 0.053532f, 0.047195f, -0.007524f, -0.053958f, -0.051613f, -0.081251f, -0.090099f, -0.071543f, -0.049063f, -0.045447f, -0.043368f, 0.020030f, 0.042222f, 0.074914f, 0.088687f, 0.072937f, 0.063921f, 0.036666f, 0.001252f, 0.002030f, 0.008233f, -0.053718f, -0.091469f, -0.037278f, -0.079892f, -0.090338f, -0.003094f, 0.022823f, 0.050412f, 0.052378f, 0.033309f, 0.055350f, 0.032000f, 0.044324f, -0.009366f, -0.000733f, -0.038774f, -0.023085f, -0.020633f, -0.025411f, -0.029408f, -0.023459f, 0.003831f, -0.009651f, -0.000028f, 0.027076f, 0.037195f, 0.023689f, 0.020349f, -0.004969f, -0.006645f, -0.000142f, -0.000684f, -0.011175f, -0.013588f, -0.002040f, -0.008126f, -0.007949f, -0.005068f, 0.000332f, -0.008575f, -0.002637f, 0.016111f, 0.005882f, 0.007048f, 0.010590f, + 0.007471f, 0.002264f, 0.000367f, -0.001858f, -0.002210f, -0.001332f, -0.000878f}, + {0.015042f, 0.009628f, 0.000264f, 0.000504f, 0.011849f, 0.002948f, -0.005897f, 0.004024f, 0.007887f, -0.004000f, -0.006537f, -0.023512f, 0.001258f, -0.007913f, 0.015702f, -0.007796f, 0.007877f, 0.006336f, -0.000811f, 0.005119f, 0.008694f, 0.002361f, 0.002040f, -0.004296f, -0.005151f, -0.004012f, -0.006492f, 0.005656f, 0.003396f, -0.003086f, 0.005126f, -0.003550f, -0.005182f, -0.006228f, -0.002978f, -0.004926f, 0.000440f, 0.000057f, -0.000891f, 0.010731f, -0.006195f, 0.008772f, -0.003150f, -0.002264f, 0.005935f, -0.003686f, 0.001877f, -0.003689f, 0.006508f, -0.001944f, -0.018336f, 0.005428f, 0.000682f, 0.002217f, 0.009282f, 0.004736f, 0.000710f, -0.002139f, -0.006031f, 0.015683f, -0.008270f, 0.006069f, 0.003252f, -0.006557f, 0.006675f, 0.002894f, -0.007632f, 0.006040f, -0.007871f, 0.000395f, -0.000759f, 0.006875f, 0.001206f, 0.007186f, -0.002729f, -0.016299f, -0.003403f, -0.003989f, -0.007640f, -0.006983f, -0.006768f, 0.005525f, 0.002546f, 0.001882f, 0.003485f, 0.003314f, 0.000762f, 0.001524f, -0.001815f, 0.001047f, -0.001313f, -0.000738f, -0.003869f, -0.000150f, -0.001219f, 0.002901f, + -0.000193f, -0.001054f, -0.000503f, 0.000211f, -0.001948f, 0.000594f, -0.000783f, 0.000998f, -0.000543f, 0.000089f, -0.002252f, -0.000415f, -0.002839f, -0.001944f, 0.028570f, -0.014160f, 0.001546f, -0.000897f, -0.000875f, 0.006467f, -0.005187f, -0.020586f, -0.018973f, 0.008867f, -0.006030f, -0.001801f, 0.004793f, 0.001002f, 0.004731f, 0.005278f, -0.009062f, 0.004820f, 0.003318f, -0.006443f, 0.007435f, 0.011213f, -0.007403f, -0.002476f, 0.000511f, -0.012219f, -0.005547f, 0.001162f, 0.014477f, -0.002409f, -0.000872f, -0.012176f, 0.007109f, -0.000063f, -0.010918f, -0.004713f, 0.003718f, -0.001721f, 0.002051f, -0.009468f, -0.000287f, 0.000564f, -0.003890f, 0.009960f, 0.002478f, 0.002175f, 0.009631f, -0.001089f, 0.012527f, -0.004313f, -0.016070f, 0.006384f, 0.006201f, -0.005718f, -0.002522f, -0.002047f, 0.001922f, 0.000631f, 0.004397f, -0.003752f, 0.002888f, -0.008817f, -0.000455f, 0.005650f, -0.008414f, -0.001067f, 0.004851f, 0.001475f, -0.004429f, 0.002789f, -0.003368f, 0.000820f, 0.008135f, 0.002865f, -0.011323f, 0.013603f, 0.005080f, 0.004959f, -0.001224f, 0.007799f, 0.008693f, -0.003868f, + -0.000593f, 0.001869f, 0.002200f, 0.002679f, 0.003643f, -0.000436f, 0.000259f, 0.002692f, -0.000437f, 0.000339f, 0.001683f, 0.004210f, -0.000725f, 0.004289f, -0.000203f, 0.000995f, 0.002185f, 0.000531f, -0.001296f, -0.000407f, 0.001484f, 0.001427f, -0.000288f, -0.001988f, -0.006987f, -0.016763f, -0.002070f, 0.001721f, 0.018343f, -0.007093f, 0.015710f, 0.003885f, -0.000617f, 0.000906f, 0.014046f, -0.003357f, -0.003944f, -0.004159f, 0.009875f, 0.020150f, 0.005216f, -0.014013f, -0.019002f, -0.026987f, 0.003446f, -0.007100f, -0.011399f, -0.006279f, -0.017630f, -0.000150f, -0.008227f, 0.001258f, 0.008343f, 0.008811f, -0.010089f, -0.009023f, -0.006449f, 0.001063f, -0.014974f, -0.001686f, 0.004545f, -0.006803f, -0.002540f, 0.001506f, 0.005918f, -0.008423f, 0.002099f, 0.019624f, -0.000901f, -0.001011f, -0.007339f, 0.008142f, -0.003737f, 0.000671f, 0.006169f, 0.008099f, 0.012022f, -0.001984f, 0.001701f, -0.003696f, -0.000249f, -0.002117f, 0.001515f, 0.018863f, -0.021095f, 0.000424f, 0.003996f, 0.011129f, -0.004735f, -0.005602f, -0.001324f, -0.005290f, 0.015019f, -0.008363f, -0.019893f, -0.001409f, + -0.005999f, -0.008328f, 0.004827f, -0.019637f, 0.007153f, -0.002130f, -0.005534f, 0.000365f, 0.013752f, -0.004131f, -0.005299f, -0.005368f, 0.006544f, -0.006250f, -0.001782f, 0.001146f, -0.000661f, 0.002367f, 0.000126f, 0.000914f, 0.004015f, 0.000317f, 0.000979f, -0.001042f, 0.003208f, 0.000714f, -0.000754f, -0.003737f, -0.002100f, -0.000289f, -0.002054f, 0.003826f, 0.002236f, -0.002188f, 0.002761f, 0.000290f, 0.000325f, -0.002028f, 0.000967f, -0.000886f, -0.000010f, -0.030749f, 0.011486f, -0.009617f, 0.012890f, -0.011583f, -0.001052f, 0.008926f, -0.017787f, -0.003052f, 0.005421f, -0.004838f, 0.025910f, -0.010869f, -0.003288f, -0.010368f, -0.008679f, 0.013320f, 0.014800f, 0.005738f, -0.017453f, -0.021048f, 0.019461f, 0.003274f, -0.019744f, 0.007381f, 0.000712f, 0.009348f, -0.005868f, 0.008921f, -0.011823f, 0.005769f, 0.019040f, 0.007890f, 0.008143f, 0.004343f, 0.000312f, -0.004835f, 0.003958f, 0.001505f, -0.013031f, 0.000238f, -0.004152f, -0.009533f, -0.009565f, -0.003598f, 0.007500f, -0.013688f, 0.001838f, -0.009894f, -0.001054f, -0.001488f, 0.004488f, 0.008164f, 0.017181f, 0.006113f, + -0.000142f, 0.007435f, -0.009249f, -0.013509f, -0.000288f, 0.003193f, 0.001359f, 0.016404f, -0.003774f, -0.001958f, -0.005285f, -0.002271f, 0.002273f, 0.007994f, -0.002213f, 0.003371f, -0.008177f, 0.013293f, -0.003535f, -0.004575f, -0.003119f, 0.004346f, -0.007252f, 0.000282f, 0.008125f, -0.000524f, -0.002418f, 0.001272f, 0.006437f, 0.005190f, -0.001086f, 0.004198f, -0.003594f, 0.002684f, -0.002205f, 0.001088f, 0.004581f, -0.001570f, 0.001912f, 0.002058f, -0.003260f, 0.003269f, 0.001872f, 0.000791f, -0.001449f, -0.002809f, -0.000779f, 0.003655f, 0.002285f, -0.001159f, 0.001344f, -0.000604f, 0.005761f, -0.000438f, -0.001731f, -0.015341f, -0.003556f, -0.009947f, -0.000989f, 0.020445f, 0.013079f, 0.009147f, -0.001522f, -0.017939f, 0.002538f, -0.011793f, -0.019015f, -0.006293f, 0.013738f, -0.010728f, -0.016858f, 0.004441f, 0.001480f, -0.008384f, 0.001835f, 0.009640f, 0.002677f, -0.022482f, -0.006350f, 0.014174f, 0.016693f, 0.008338f, -0.018626f, -0.006741f, 0.008531f, -0.003152f, -0.003987f, 0.001237f, 0.006275f, 0.001032f, 0.002337f, 0.019171f, 0.000065f, 0.011607f, 0.009004f, -0.000121f, + -0.008593f, -0.000186f, -0.005058f, 0.011440f, -0.006500f, -0.010864f, 0.000052f, 0.017933f, 0.001032f, 0.017815f, 0.009615f, 0.001750f, 0.011521f, -0.001914f, 0.024726f, 0.002017f, 0.012245f, 0.013945f, 0.001314f, -0.011488f, -0.001741f, -0.013749f, 0.007055f, -0.009847f, -0.005511f, -0.009078f, -0.005978f, -0.004346f, 0.004544f, 0.001550f, 0.006828f, -0.000262f, -0.007846f, -0.006829f, 0.002580f, 0.012742f, -0.003749f, 0.003166f, -0.013637f, 0.004345f, 0.011819f, 0.018134f, -0.006222f, -0.001332f, 0.003017f, -0.006214f, -0.000455f, 0.005996f, -0.001817f, 0.011002f, 0.000739f, 0.002515f, 0.000289f, 0.000536f, 0.004066f, -0.002666f, -0.001728f, -0.001417f, -0.000814f, 0.001121f, 0.001372f, -0.002059f, 0.001808f, -0.000622f, -0.002184f, -0.002663f, 0.000914f, -0.002529f, -0.001663f, -0.003173f, 0.001553f, 0.002206f, -0.000456f, 0.006199f, -0.004015f, 0.001094f, -0.000436f, -0.003513f, 0.005898f, -0.001703f, -0.000838f, 0.018626f, -0.027849f, -0.005138f, 0.023315f, -0.011587f, 0.004260f, -0.018008f, 0.007924f, 0.032796f, -0.004441f, 0.001720f, -0.001389f, -0.023196f, 0.001871f, -0.001494f, + 0.034813f, -0.011004f, -0.001704f, 0.015199f, -0.009595f, 0.021557f, -0.014547f, -0.002196f, -0.021994f, 0.024847f, 0.000345f, -0.009811f, 0.000319f, 0.009086f, -0.011560f, 0.017264f, -0.001835f, 0.015296f, -0.000105f, 0.007999f, -0.024036f, -0.015502f, -0.011210f, -0.003635f, 0.014500f, -0.021820f, 0.011656f, 0.008967f, 0.003049f, -0.009056f, -0.013127f, 0.029922f, 0.005963f, -0.003435f, 0.011634f, -0.010624f, 0.006314f, -0.014132f, -0.013827f, -0.005810f, -0.009278f, 0.032312f, 0.009679f, -0.006473f, -0.009599f, -0.012388f, 0.010190f, 0.008355f, 0.003078f, -0.011433f, -0.001371f, -0.004663f, 0.013845f, 0.001198f, 0.011204f, -0.026180f, 0.014233f, -0.002346f, 0.000725f, -0.002964f, 0.004621f, -0.011591f, -0.005336f, -0.018179f, -0.005904f, 0.006530f, 0.011083f, 0.011622f, 0.004352f, 0.004194f, 0.002759f, -0.006550f, 0.003898f, 0.002593f, -0.000448f, -0.004417f, -0.007201f, 0.003794f, 0.003646f, -0.005601f, 0.002889f, 0.000320f, -0.004527f, 0.002923f, 0.000868f, -0.002026f, -0.001044f, 0.000215f, 0.000924f, -0.003437f, 0.002375f, 0.001218f, -0.005215f, -0.001302f, -0.002659f, 0.000354f, + 0.003740f, 0.002465f, -0.000516f, 0.000082f, -0.002399f, 0.000286f, -0.002211f, 0.011789f, 0.005802f, 0.009715f, 0.002871f, 0.000105f, -0.003705f, -0.014925f, -0.004650f, -0.009632f, 0.005857f, -0.000575f, 0.022409f, -0.018864f, -0.024294f, -0.006166f, 0.007528f, -0.007609f, -0.005910f, 0.019046f, 0.003789f, -0.010592f, -0.012198f, -0.012649f, 0.020825f, -0.010578f, 0.014057f, -0.006867f, 0.015384f, -0.015465f, 0.003334f, 0.023632f, 0.008054f, -0.032366f, 0.007373f, 0.000650f, -0.004201f, -0.002955f, 0.003248f, -0.003941f, 0.003067f, -0.005355f, 0.002517f, -0.001397f, -0.014504f, 0.014369f, 0.014756f, -0.004509f, 0.016354f, -0.014104f, -0.002503f, -0.004127f, -0.006751f, 0.017993f, -0.013091f, -0.023152f, -0.013001f, 0.004249f, -0.018887f, -0.017615f, -0.008838f, -0.006008f, -0.012126f, -0.001094f, 0.015352f, 0.016164f, 0.002411f, 0.017433f, 0.005402f, 0.002263f, 0.013203f, -0.014294f, -0.002573f, -0.000084f, -0.011748f, -0.000204f, -0.011383f, 0.013594f, -0.004007f, -0.002586f, 0.011304f, -0.002175f, -0.003656f, -0.002441f, 0.013511f, -0.001749f, 0.004669f, -0.013313f, -0.004764f, 0.007310f, + -0.008653f, 0.000542f, 0.000168f, 0.001382f, -0.006611f, -0.004606f, -0.003512f, 0.000127f, -0.003654f, -0.004349f, 0.001293f, -0.000738f, -0.003906f, -0.001768f, 0.000431f, -0.000492f, -0.001264f, -0.001387f, -0.002276f, 0.000619f, -0.007170f, -0.005027f, -0.004851f, -0.004821f, -0.000007f, -0.000351f, -0.001752f, 0.001646f, 0.036000f, -0.017780f, -0.017115f, 0.011591f, 0.029258f, 0.005687f, 0.026351f, 0.015039f, 0.023932f, 0.010602f, -0.004477f, -0.010869f, 0.008571f, -0.017891f, -0.013609f, 0.019970f, 0.016705f, 0.041733f, -0.001076f, 0.005805f, -0.015459f, 0.016118f, 0.007303f, -0.018604f, -0.004410f, 0.023635f, -0.000077f, -0.026045f, -0.010519f, -0.014700f, -0.004987f, 0.014525f, 0.013345f, -0.009880f, -0.004787f, 0.018118f, -0.017555f, 0.008062f, 0.015273f, 0.018246f, -0.009735f, 0.015706f, -0.006629f, -0.023723f, 0.008390f, 0.021774f, -0.005811f, 0.006287f, 0.005333f, -0.007381f, 0.002679f, 0.006525f, -0.006748f, 0.002429f, 0.017657f, -0.010383f, -0.005463f, 0.016275f, -0.003466f, -0.003288f, -0.026960f, -0.009552f, -0.016266f, -0.026781f, -0.018006f, 0.013445f, -0.008745f, -0.011449f, + 0.023241f, 0.023202f, -0.005819f, 0.024954f, 0.010049f, 0.016394f, -0.004557f, -0.012905f, 0.010838f, -0.013383f, -0.026680f, -0.016104f, -0.006816f, 0.013188f, 0.006143f, 0.022108f, 0.003967f, -0.004771f, -0.003518f, -0.000015f, 0.003904f, -0.006880f, 0.000514f, -0.004001f, -0.000508f, 0.003875f, -0.000598f, 0.000615f, 0.007230f, -0.002607f, -0.001217f, 0.007100f, -0.005148f, -0.002688f, -0.003381f, 0.002089f, -0.003778f, 0.002580f, 0.001677f, 0.001093f, 0.003832f, 0.004765f, 0.002266f, 0.008613f, 0.001153f, 0.005879f, 0.002109f, 0.004411f, 0.005198f, -0.004500f, 0.004161f, 0.004326f, -0.003034f, -0.001007f, -0.000334f, -0.006287f, 0.001922f, -0.018175f, -0.019443f, 0.026336f, -0.004386f, 0.060164f, -0.024777f, -0.011651f, -0.001380f, 0.014681f, -0.008386f, -0.008195f, -0.024783f, -0.028680f, 0.012958f, 0.002490f, 0.039599f, 0.012827f, -0.004034f, -0.004521f, 0.026308f, 0.026848f, -0.022175f, 0.016114f, -0.021181f, 0.005570f, -0.009115f, -0.010927f, -0.006491f, 0.004507f, -0.003433f, 0.013941f, 0.007006f, 0.015600f, -0.001928f, -0.007454f, -0.014634f, -0.002844f, 0.017075f, 0.001519f, + -0.022639f, -0.002860f, 0.005537f, -0.009687f, 0.017976f, 0.015158f, 0.003182f, 0.005267f, -0.049455f, -0.018964f, 0.017322f, -0.001169f, 0.027805f, 0.007742f, 0.031339f, -0.003527f, -0.016902f, 0.016706f, -0.009434f, 0.011392f, 0.002072f, 0.045598f, 0.037760f, 0.004441f, 0.010718f, -0.006229f, 0.015047f, 0.015897f, 0.017254f, 0.018584f, 0.030303f, -0.000569f, 0.005487f, -0.011612f, -0.010045f, 0.009459f, -0.014085f, -0.035099f, -0.025952f, -0.000628f, 0.021859f, -0.011018f, -0.019773f, -0.011419f, -0.010629f, -0.001209f, -0.023615f, -0.000975f, 0.004477f, -0.000184f, -0.003112f, -0.002356f, 0.002540f, 0.005090f, -0.000560f, 0.003829f, -0.017604f, -0.010879f, -0.005560f, -0.012576f, 0.001204f, -0.004564f, -0.007215f, -0.004951f, -0.002883f, 0.007128f, 0.003029f, -0.006760f, 0.002303f, 0.015807f, 0.008261f, -0.003388f, -0.005541f, -0.007257f, -0.004086f, -0.005860f, -0.012278f, 0.004508f, -0.004663f, -0.001043f, 0.009119f, 0.002895f, -0.001657f, 0.001685f, -0.052257f, 0.041185f, -0.001213f, 0.004660f, -0.014497f, 0.023079f, -0.049617f, -0.031814f, -0.010052f, -0.012762f, -0.001231f, -0.044487f, + 0.008673f, 0.000885f, -0.001225f, -0.020330f, -0.020695f, 0.008383f, 0.028302f, 0.004364f, -0.037842f, -0.008220f, -0.030991f, 0.024434f, 0.015755f, 0.001206f, -0.013738f, -0.006507f, -0.007028f, 0.020133f, -0.002903f, -0.000429f, -0.004394f, -0.027415f, 0.014209f, 0.019184f, -0.011511f, -0.006152f, 0.014912f, -0.029837f, -0.021756f, -0.032915f, -0.011173f, 0.008259f, -0.021007f, -0.010037f, -0.000915f, -0.034083f, 0.010391f, 0.021002f, 0.037183f, 0.005343f, -0.003713f, 0.002272f, -0.024487f, -0.019202f, 0.028465f, -0.002044f, -0.010845f, -0.006742f, -0.043624f, -0.023410f, 0.008520f, -0.009224f, -0.005100f, -0.003412f, 0.028519f, -0.004960f, -0.027128f, 0.002165f, 0.021116f, -0.000554f, -0.013311f, -0.000272f, 0.001450f, -0.011214f, -0.019024f, 0.014932f, -0.034970f, -0.017311f, -0.000267f, 0.016894f, -0.021375f, 0.013512f, 0.008950f, 0.012311f, 0.013118f, -0.013428f, -0.003397f, 0.016099f, 0.003079f, -0.009845f, 0.009237f, 0.013325f, -0.012457f, 0.004631f, 0.011954f, 0.011290f, 0.017735f, 0.001199f, -0.005417f, -0.003027f, 0.002913f, 0.000246f, 0.007801f, 0.006575f, 0.000610f, -0.001607f, + -0.005655f, -0.001919f, 0.003913f, 0.007929f, -0.013097f, 0.001708f, -0.002476f, 0.005447f, 0.012665f, 0.000649f, 0.008877f, -0.004702f, 0.005906f, 0.007264f, 0.010689f, 0.008344f, 0.010435f, -0.000739f, 0.006007f, -0.001884f, 0.005106f, 0.027683f, 0.025424f, 0.009250f, 0.043056f, -0.019197f, -0.008937f, 0.007012f, -0.011230f, -0.003277f, 0.014090f, 0.046135f, -0.007397f, 0.009409f, -0.000246f, -0.002787f, -0.000719f, 0.050880f, -0.024588f, 0.026429f, -0.000227f, -0.033278f, 0.011095f, -0.033010f, -0.020161f, 0.019168f, -0.017371f, 0.013583f, 0.000779f, 0.001897f, 0.022830f, 0.018317f, -0.027334f, -0.030972f, -0.023273f, -0.007742f, 0.008936f, 0.009043f, 0.003409f, 0.006229f, -0.037241f, 0.005798f, -0.019966f, -0.046895f, 0.032058f, -0.009161f, 0.030151f, 0.032246f, 0.001924f, 0.012103f, -0.017105f, -0.020830f, -0.036930f, 0.008589f, 0.033987f, 0.006073f, -0.014819f, 0.002097f, -0.007422f, 0.005288f, -0.019851f, -0.016217f, -0.019820f, 0.003526f, -0.002333f, -0.006407f, 0.021940f, 0.019745f, 0.011922f, 0.031926f, 0.003677f, -0.033396f, 0.043370f, -0.031516f, -0.009631f, -0.007832f, + -0.008260f, 0.036355f, -0.005686f, -0.051834f, 0.044291f, -0.017159f, -0.010453f, 0.012208f, 0.011331f, 0.034146f, 0.021867f, 0.014355f, 0.016770f, 0.015150f, 0.011512f, 0.000758f, 0.014436f, 0.017303f, 0.004709f, 0.000341f, 0.018568f, -0.003161f, 0.002293f, -0.016814f, -0.003911f, -0.005280f, -0.008636f, 0.001528f, -0.001201f, 0.011223f, 0.008256f, 0.003419f, -0.001207f, 0.005469f, 0.002488f, 0.004019f, 0.007681f, -0.002195f, -0.002680f, 0.001691f, -0.002631f, 0.005699f, 0.002810f, 0.002727f, 0.004637f, 0.002674f, 0.017225f, 0.012559f, 0.003771f, 0.039436f, 0.044571f, 0.010417f, -0.083769f, 0.003040f, 0.023718f, -0.027643f, 0.016897f, 0.033549f, 0.001703f, 0.009137f, 0.021226f, 0.016305f, 0.006384f, 0.030158f, 0.006913f, -0.004142f, 0.056682f, 0.021098f, 0.007500f, 0.024508f, -0.018591f, 0.030056f, -0.020910f, -0.001791f, -0.002243f, -0.006893f, -0.030896f, 0.010449f, -0.021810f, 0.040367f, -0.003435f, -0.007887f, 0.059439f, 0.007958f, 0.008845f, 0.019765f, 0.002420f, 0.011408f, -0.013106f, -0.025796f, -0.002739f, 0.017469f, -0.030383f, 0.035534f, 0.032261f, 0.023685f, + 0.006420f, 0.014114f, -0.020914f, -0.021934f, -0.034607f, -0.015363f, -0.018562f, -0.017889f, 0.008534f, -0.003358f, -0.033868f, -0.015109f, 0.030264f, -0.000488f, -0.027886f, 0.015982f, -0.001293f, -0.019151f, -0.045429f, 0.003209f, -0.068988f, 0.040290f, -0.023300f, 0.036648f, 0.002062f, 0.010238f, 0.001490f, -0.013588f, 0.018721f, 0.061961f, 0.005989f, 0.017677f, -0.010526f, -0.048255f, 0.004590f, -0.005189f, 0.035641f, 0.020582f, -0.007993f, -0.001686f, -0.006984f, -0.003795f, 0.012347f, -0.013795f, 0.011619f, -0.001606f, -0.011795f, -0.012209f, 0.013400f, -0.014958f, -0.014387f, -0.020745f, -0.003825f, -0.014910f, 0.005074f, 0.013084f, 0.001277f, -0.003757f, -0.009288f, 0.019095f, -0.017482f, 0.004727f, 0.002740f, 0.001630f, -0.010069f, 0.007616f, 0.019219f, -0.000808f, -0.008871f, -0.002258f, 0.017601f, 0.017800f, -0.013757f, 0.017044f, -0.000725f, -0.004423f, 0.003238f, -0.001072f, 0.019389f, 0.004912f, 0.023097f, 0.017182f, 0.045651f, -0.062795f, 0.024741f, -0.036784f, 0.031322f, -0.015623f, -0.026405f, -0.007585f, -0.030409f, -0.012796f, -0.006822f, 0.010948f, 0.013945f, -0.008889f, + 0.043828f, -0.002091f, -0.007610f, -0.005919f, -0.039804f, -0.004429f, 0.000105f, -0.033476f, 0.010664f, -0.028554f, -0.036019f, -0.011674f, 0.021585f, -0.059582f, -0.040487f, -0.027059f, 0.002995f, -0.041793f, -0.035530f, -0.028775f, -0.014504f, -0.011703f, -0.005557f, -0.028269f, 0.030081f, 0.005108f, -0.003017f, -0.021119f, -0.021735f, 0.040716f, -0.035570f, -0.024341f, 0.010630f, 0.010800f, 0.014570f, -0.020689f, -0.028758f, -0.012183f, -0.005412f, 0.013274f, -0.020680f, -0.008341f, -0.008517f, -0.024666f, -0.042017f, -0.053073f, 0.050052f, -0.054991f, -0.003143f, 0.003826f, -0.009674f, -0.010219f, -0.049199f, 0.018960f, -0.011867f, -0.051574f, -0.001268f, -0.011369f, 0.048398f, 0.011954f, 0.034418f, 0.032786f, -0.009871f, 0.012811f, -0.005486f, -0.009416f, 0.024190f, -0.006173f, 0.013865f, -0.018645f, 0.001369f, -0.018776f, 0.015918f, 0.012482f, 0.002204f, 0.011425f, -0.004973f, -0.001803f, 0.012064f, 0.005785f, -0.011937f, 0.008767f, 0.019724f, -0.003064f, 0.004502f, -0.010778f, -0.025402f, -0.002671f, -0.002290f, -0.000847f, -0.017648f, -0.003816f, 0.002762f, -0.002539f, -0.009428f, 0.012027f, + -0.002250f, -0.006766f, -0.020551f, -0.020724f, 0.000268f, 0.011429f, 0.006680f, 0.004451f, -0.001418f, 0.015001f, 0.016944f, -0.007551f, 0.003643f, 0.004187f, -0.001139f, 0.005148f, -0.055872f, 0.064638f, 0.010236f, 0.006519f, -0.011208f, 0.032818f, 0.000405f, 0.054038f, -0.014736f, 0.037068f, 0.019985f, -0.053304f, 0.023104f, 0.008731f, 0.025306f, -0.004374f, -0.014193f, -0.021247f, -0.007810f, 0.026008f, 0.057292f, 0.006032f, -0.008367f, -0.036278f, 0.013691f, -0.039237f, -0.006195f, 0.039529f, -0.035738f, 0.000018f, 0.002525f, -0.006213f, -0.013481f, -0.015250f, 0.063505f, -0.013762f, -0.015581f, -0.007746f, 0.014415f, 0.021248f, 0.007999f, 0.001000f, -0.012922f, -0.000242f, 0.009520f, 0.038518f, -0.008838f, 0.055128f, 0.032275f, 0.016385f, -0.013250f, 0.048042f, 0.054685f, -0.004562f, -0.014461f, -0.002926f, -0.017748f, 0.005379f, -0.017572f, 0.027512f, 0.009426f, 0.039663f, 0.030731f, -0.048717f, -0.054781f, 0.065679f, 0.048895f, 0.007692f, -0.009255f, -0.026149f, -0.036059f, -0.014189f, 0.037073f, -0.034910f, -0.037635f, -0.005384f, -0.010107f, -0.060375f, -0.013360f, 0.013312f, + -0.023280f, 0.003153f, -0.000063f, 0.003118f, 0.005001f, 0.009947f, -0.017674f, -0.011041f, -0.018161f, -0.006703f, 0.000042f, 0.002618f, -0.009843f, -0.004836f, -0.001625f, -0.029853f, -0.009760f, -0.014271f, -0.006397f, -0.000898f, 0.002797f, 0.001125f, 0.005157f, -0.002030f, 0.001285f, -0.015779f, 0.009202f, -0.013607f, -0.015369f, 0.010952f, 0.004971f, -0.028047f, -0.002811f, -0.008876f, 0.014008f, 0.026452f, 0.000818f, -0.022835f, 0.018458f, -0.005340f, 0.005025f, 0.006203f, -0.007087f, -0.005486f, 0.001953f, -0.012305f, -0.015692f, 0.028580f, -0.023483f, -0.007631f, -0.004970f, 0.005623f, 0.000866f, -0.035274f, -0.102153f, 0.051137f, -0.049140f, 0.019989f, 0.072844f, 0.011106f, -0.030569f, 0.021010f, 0.025370f, -0.010624f, -0.023131f, -0.004817f, -0.050333f, 0.016592f, -0.052314f, -0.031773f, 0.020967f, 0.002150f, 0.009027f, -0.047263f, -0.009645f, -0.034121f, -0.028986f, -0.042098f, -0.014716f, 0.014401f, -0.025093f, -0.025453f, 0.024697f, 0.003404f, -0.002106f, 0.007851f, -0.048437f, -0.002993f, -0.037678f, 0.032222f, 0.008859f, -0.092156f, 0.023175f, 0.049368f, -0.010588f, 0.029444f, + 0.024754f, 0.016717f, 0.013378f, 0.047148f, 0.036938f, 0.001346f, -0.033791f, -0.007155f, 0.037332f, 0.024235f, -0.031324f, 0.002233f, -0.036585f, -0.011796f, 0.002421f, 0.026487f, 0.035444f, -0.065198f, -0.051590f, -0.028871f, 0.005438f, -0.019399f, -0.007219f, 0.060614f, 0.009923f, 0.014333f, 0.047169f, -0.019190f, 0.009688f, -0.012075f, 0.048262f, -0.024626f, 0.001916f, 0.004791f, 0.035736f, -0.010000f, -0.003862f, 0.013075f, 0.014628f, -0.001893f, 0.007108f, 0.023352f, 0.000866f, -0.000763f, -0.001027f, 0.022737f, -0.011608f, -0.007404f, 0.005403f, 0.009821f, 0.006608f, 0.002972f, 0.010653f, -0.005025f, -0.000044f, -0.010456f, -0.000388f, -0.007789f, -0.001249f, -0.010714f, 0.017353f, -0.013207f, -0.019463f, 0.018218f, 0.011864f, 0.012529f, -0.013782f, -0.017618f, -0.000141f, -0.031565f, -0.008785f, -0.016293f, -0.016664f, 0.006361f, -0.000342f, -0.016872f, 0.005483f, 0.006793f, -0.002042f, -0.010008f, -0.009803f, 0.007260f, 0.004346f, 0.014968f, 0.033763f, 0.032628f, -0.057095f, 0.011853f, -0.012348f, -0.015081f, -0.013313f, 0.038171f, 0.020262f, -0.027994f, -0.015975f, 0.029102f, + -0.052503f, 0.002882f, 0.019040f, 0.029152f, -0.006270f, 0.006374f, -0.061251f, -0.000332f, -0.027150f, 0.020372f, 0.007499f, 0.033869f, -0.053861f, -0.027266f, -0.007853f, 0.006532f, -0.004651f, 0.010403f, 0.003838f, 0.029254f, 0.055340f, -0.035158f, -0.045275f, 0.011811f, -0.047178f, -0.014027f, 0.019759f, -0.034414f, -0.033310f, 0.002661f, 0.020539f, 0.028689f, 0.020461f, -0.012997f, -0.002876f, -0.060194f, -0.040475f, 0.053200f, -0.036980f, 0.071855f, -0.030488f, 0.014523f, 0.010583f, -0.000703f, -0.052857f, 0.066147f, -0.030819f, -0.006423f, -0.011858f, 0.025735f, 0.049994f, -0.050650f, -0.028645f, 0.059125f, -0.043792f, -0.000250f, -0.016472f, 0.011945f, 0.068709f, 0.000213f, -0.004944f, -0.042631f, 0.052596f, -0.017285f, 0.013770f, 0.017169f, -0.033062f, -0.040214f, 0.004053f, 0.022896f, -0.011835f, 0.011638f, -0.094808f, -0.044488f, -0.013429f, -0.048630f, -0.023700f, 0.007888f, 0.031657f, -0.006839f, -0.008447f, -0.024973f, 0.000860f, -0.002577f, -0.017883f, -0.006463f, 0.011340f, 0.000707f, 0.015131f, 0.006759f, 0.014364f, -0.018903f, -0.002398f, -0.004152f, 0.019909f, 0.015300f, + -0.011485f, 0.035780f, 0.013588f, -0.014761f, 0.022168f, 0.005730f, -0.001826f, -0.011679f, 0.008620f, -0.008529f, -0.007380f, 0.015822f, 0.001754f, -0.007372f, -0.005941f, 0.013202f, -0.003323f, 0.011900f, -0.002341f, 0.021886f, 0.005082f, 0.002908f, 0.003237f, 0.033071f, -0.037062f, 0.010722f, 0.031280f, 0.030910f, 0.069784f, -0.043871f, 0.064133f, -0.010959f, -0.041472f, -0.040619f, 0.010832f, 0.026936f, -0.018151f, -0.008259f, -0.028438f, -0.011570f, 0.054405f, -0.037879f, -0.003200f, 0.043741f, -0.013707f, 0.026212f, -0.017006f, -0.008017f, 0.046454f, -0.001371f, 0.002711f, 0.044738f, 0.031194f, 0.011142f, -0.005113f, 0.037818f, 0.051652f, -0.052019f, 0.048568f, -0.045927f, 0.024802f, -0.033093f, 0.007350f, 0.039960f, 0.013974f, -0.090014f, 0.040448f, 0.025835f, 0.000097f, 0.045957f, -0.071231f, -0.013631f, 0.049116f, 0.041661f, 0.007343f, 0.065355f, -0.034248f, 0.000947f, -0.007914f, -0.009883f, 0.028376f, 0.011732f, 0.049253f, 0.040859f, -0.030079f, 0.027163f, -0.056209f, -0.017388f, 0.004978f, -0.002727f, -0.003948f, -0.009061f, -0.088209f, -0.048782f, -0.068020f, -0.046359f, + 0.051388f, -0.031537f, -0.007205f, 0.005943f, 0.083850f, -0.019828f, -0.028884f, 0.067035f, 0.041470f, -0.001846f, 0.054671f, 0.008314f, 0.010764f, -0.025248f, 0.000611f, -0.021111f, -0.021875f, -0.011468f, 0.018089f, -0.021354f, -0.010667f, 0.010427f, 0.004532f, 0.016819f, -0.006170f, -0.002787f, 0.022214f, 0.012639f, 0.001859f, -0.017127f, -0.013266f, -0.002118f, -0.004742f, 0.012905f, 0.022200f, -0.001606f, 0.004452f, 0.004996f, -0.008133f, 0.053812f, 0.017264f, 0.003810f, 0.002811f, -0.017621f, 0.014974f, -0.031480f, -0.001663f, 0.027067f, -0.001207f, -0.007215f, 0.020353f, 0.011203f, 0.006736f, -0.000530f, -0.016815f, 0.011608f, 0.013477f, 0.004139f, -0.022240f, 0.021447f, 0.055045f, -0.030399f, 0.021235f, 0.027170f, -0.039688f, 0.005082f, -0.048809f, 0.018552f, -0.005232f, -0.026015f, 0.038633f, 0.001128f, 0.060272f, -0.003708f, -0.045153f, 0.076308f, -0.013745f, 0.007607f, 0.010506f, -0.071637f, 0.021536f, 0.061648f, 0.021958f, -0.026814f, -0.046933f, 0.004875f, 0.011408f, 0.052720f, 0.033973f, -0.017195f, -0.010289f, -0.041084f, 0.000361f, 0.059655f, -0.081120f, 0.024609f, + 0.056658f, -0.051002f, 0.018685f, 0.005298f, 0.019622f, 0.059679f, 0.019896f, 0.023036f, -0.011084f, -0.058595f, 0.060641f, -0.011260f, -0.031051f, 0.127229f, 0.062567f, 0.032465f, 0.005538f, 0.002893f, -0.059901f, -0.049084f, -0.022298f, 0.037410f, -0.001300f, -0.034728f, -0.024555f, 0.047189f, -0.028851f, 0.032507f, 0.018407f, -0.023289f, 0.034682f, 0.015911f, -0.050434f, -0.025162f, -0.029604f, 0.008313f, 0.031509f, -0.063029f, 0.020689f, -0.064583f, -0.081659f, -0.051312f, 0.078241f, -0.027056f, 0.016139f, -0.018295f, -0.027236f, -0.003898f, -0.032458f, -0.022442f, -0.017309f, 0.004003f, -0.031121f, 0.003666f, 0.018139f, -0.000017f, -0.027411f, -0.020303f, 0.009493f, 0.003100f, 0.034692f, 0.004670f, -0.040092f, -0.015540f, -0.023019f, 0.032863f, -0.006778f, -0.013285f, -0.031765f, -0.000401f, 0.018905f, 0.008681f, 0.021549f, -0.010973f, -0.003682f, 0.006411f, 0.021939f, 0.014062f, -0.000747f, -0.012515f, 0.016292f, -0.015326f, -0.001744f, 0.008914f, -0.014429f, -0.000380f, 0.024524f, -0.000801f, 0.004422f, -0.027142f, -0.019260f, -0.020655f, 0.012118f, -0.021976f, 0.078078f, 0.130083f, + -0.021540f, -0.004224f, -0.106436f, -0.035661f, -0.078216f, -0.052138f, 0.072779f, 0.005248f, 0.019899f, -0.060234f, 0.019730f, -0.052881f, -0.119059f, 0.017475f, 0.057477f, -0.004637f, 0.007610f, 0.061763f, -0.081552f, 0.093414f, 0.046731f, 0.029219f, -0.046033f, 0.062832f, 0.121217f, -0.023971f, 0.037637f, 0.091965f, 0.077828f, 0.136991f, 0.030003f, 0.049236f, 0.037517f, 0.033418f, 0.117867f, -0.030508f, -0.013682f, 0.043434f, 0.026051f, -0.012682f, 0.064987f, 0.003996f, 0.013952f, -0.038272f, -0.104674f, 0.004181f, 0.070435f, 0.010776f, 0.042826f, -0.075691f, 0.005115f, -0.100682f, 0.000612f, -0.108209f, 0.007897f, 0.076094f, -0.009182f, -0.032179f, -0.102818f, 0.135398f, 0.025068f, 0.009196f, 0.140607f, -0.001565f, -0.031513f, -0.023528f, 0.007760f, 0.028153f, -0.007203f, 0.000624f, -0.010566f, -0.073961f, 0.044473f, 0.017182f, -0.045868f, -0.028340f, 0.037257f, -0.044639f, -0.076894f, -0.037690f, 0.017431f, 0.074193f, -0.076973f, 0.061784f, -0.002508f, 0.033006f, -0.013028f, 0.026952f, -0.018080f, -0.002637f, 0.007206f, 0.007620f, 0.025341f, 0.022607f, 0.005135f, 0.047408f, + -0.002010f, 0.019496f, 0.025387f, 0.014576f, 0.011347f, 0.011320f, 0.041319f, 0.030456f, 0.015125f, -0.016001f, -0.006329f, 0.035487f, -0.046907f, 0.018203f, -0.027870f, 0.006749f, -0.010193f, 0.031998f, 0.037261f, 0.075017f, 0.042251f, 0.070759f, 0.040868f, 0.014813f, 0.074670f, 0.077117f, 0.073730f, 0.042008f, -0.012403f, 0.043959f, 0.049011f, 0.030000f, 0.058940f, 0.044209f, 0.000183f, 0.013328f, 0.010184f, 0.009600f, 0.017366f, 0.012429f, -0.014950f, -0.015226f, 0.000801f, 0.012267f, -0.003589f, -0.040803f, -0.135672f, 0.006848f, 0.184060f, 0.027010f, -0.037124f, -0.035232f, -0.083323f, -0.054441f, 0.002900f, 0.114977f, 0.020634f, -0.076370f, -0.005066f, 0.031495f, 0.008001f, 0.002529f, -0.007056f, 0.020180f, -0.054229f, -0.020323f, 0.028525f, 0.063774f, 0.064694f, -0.060319f, -0.022657f, 0.004812f, 0.009188f, 0.016339f, -0.068941f, 0.006892f, 0.012046f, -0.018161f, 0.050776f, -0.000364f, 0.058505f, 0.087134f, 0.042398f, 0.018170f, 0.038670f, -0.049218f, 0.045679f, -0.039725f, 0.067949f, 0.118712f, 0.039899f, -0.063902f, -0.054370f, 0.053892f, 0.020532f, 0.101216f, + 0.076916f, 0.023380f, -0.017981f, -0.022498f, 0.004122f, 0.005435f, -0.034129f, 0.039467f, 0.035472f, 0.006722f, 0.092418f, 0.062697f, -0.007255f, 0.044754f, 0.050843f, 0.023351f, 0.050877f, 0.002296f, -0.085593f, -0.010586f, -0.019647f, -0.019924f, 0.100068f, 0.045651f, 0.017364f, 0.078702f, 0.047884f, 0.050214f, 0.062870f, 0.021374f, -0.061328f, -0.031023f, -0.000034f, -0.001004f, -0.020665f, -0.018304f, -0.036559f, 0.023779f, 0.016829f, 0.036996f, -0.015742f, 0.041265f, 0.013168f, 0.042720f, 0.030181f, -0.009361f, -0.020097f, 0.006477f, 0.013214f, 0.000481f, 0.006633f, 0.031299f, 0.004798f, 0.048923f, 0.067232f, 0.018817f, -0.003670f, 0.004870f, 0.048888f, 0.010895f, -0.012994f, -0.012435f, 0.039093f, -0.001886f, -0.009592f, -0.007169f, 0.014265f, 0.026405f, 0.054626f, -0.027670f, 0.006306f, -0.017932f, 0.006456f, 0.002128f, 0.045080f, -0.023003f, 0.023396f, 0.026027f, 0.017755f, -0.019505f, 0.008312f, 0.030276f, 0.006174f, 0.000889f, 0.031674f, 0.003998f, 0.020113f, 0.011053f, 0.005455f, -0.005677f, 0.007871f, -0.004125f, 0.009342f, 0.002075f, 0.009854f, 0.001679f, + 0.017073f, 0.003960f, 0.008687f, 0.002954f, 0.013350f, 0.002564f, 0.013962f, 0.002972f, -0.000980f, -0.027114f, -0.129342f, -0.028023f, 0.072057f, 0.038915f, 0.157756f, 0.008537f, -0.023004f, -0.070842f, -0.138668f, -0.152268f, -0.025469f, 0.065514f, 0.073595f, 0.047170f, -0.077012f, -0.101651f, -0.000872f, -0.012523f, 0.040376f, 0.105887f, 0.053773f, -0.010023f, -0.063729f, -0.086277f, -0.054386f, 0.003466f, -0.053295f, 0.020624f, -0.044653f, -0.021994f, 0.070378f, 0.058381f, 0.051706f, 0.020278f, -0.072892f, -0.020273f, -0.069761f, -0.053428f, -0.028280f, 0.040968f, -0.008108f, 0.043518f, 0.106748f, 0.111789f, -0.047074f, 0.012875f, -0.083001f, -0.056416f, -0.039913f, -0.007136f, 0.014866f, 0.064860f, 0.068587f, 0.095387f, 0.067182f, 0.024387f, -0.047842f, -0.043446f, -0.011087f, 0.030707f, -0.078564f, 0.005737f, 0.090322f, 0.072675f, -0.019787f, 0.098473f, 0.087046f, 0.049643f, 0.090975f, -0.173873f, 0.040508f, -0.049359f, -0.054541f, 0.029955f, -0.029715f, -0.002393f, 0.174491f, 0.148575f, 0.051620f, -0.045734f, -0.005129f, -0.069659f, -0.014810f, -0.093711f, -0.034458f, -0.015634f, + 0.035037f, 0.115095f, 0.059005f, 0.024261f, 0.019225f, -0.018354f, -0.058985f, -0.074101f, -0.001136f, -0.048853f, 0.037883f, -0.004085f, -0.001712f, 0.044288f, 0.034565f, 0.013813f, 0.035804f, 0.013417f, 0.056747f, -0.040466f, -0.002447f, -0.044631f, 0.016983f, -0.038780f, -0.037508f, 0.006516f, -0.012587f, 0.031289f, 0.053290f, 0.003655f, -0.052987f, -0.085750f, -0.027876f, -0.049577f, 0.003717f, 0.022674f, 0.038687f, -0.032950f, -0.013940f, 0.043922f, 0.003786f, -0.223460f, -0.253377f, -0.272436f, -0.275268f, -0.373245f, -0.022117f, -0.133665f, -0.043178f, 0.049561f, 0.124783f, 0.175092f, 0.180573f, 0.368993f, 0.395621f, 0.322124f, 0.239603f, 0.253850f, 0.242020f, 0.093368f, -0.035956f, -0.166189f, -0.166554f, -0.255561f, -0.083034f, -0.138435f, -0.103250f, -0.009534f, -0.216979f, -0.062278f, -0.193800f, -0.052605f, -0.222693f, -0.209842f, -0.096902f, -0.173215f, -0.017655f, -0.087400f, -0.080879f, -0.129480f, -0.085765f, -0.195594f, -0.138336f, -0.073355f, -0.067351f, -0.103383f, -0.063400f, -0.007433f, -0.083756f, 0.028409f, 0.125294f, -0.097376f, 0.148211f, 0.089002f, 0.197818f, 0.198851f, + 0.173504f, 0.214095f, 0.180761f, 0.298556f, 0.296422f, 0.236548f, 0.316286f, 0.271367f, 0.414220f, 0.408050f, 0.480678f, 0.374270f, 0.402698f, 0.438981f, 0.396401f, 0.474126f, 0.351226f, 0.513394f, 0.410189f, 0.156520f, 0.200582f, 0.053056f, 0.079464f, -0.277466f, -0.233016f, -0.259958f, -0.276877f, -0.291749f, -0.377180f, -0.354953f, -0.390362f, -0.428441f, -0.503904f, -0.420979f, -0.385658f, -0.428485f, -0.467517f, -0.557198f, -0.447132f, -0.494885f, -0.498354f, -0.377917f, -0.426297f, -0.245768f, -0.305325f, -0.208759f, -0.194057f, -0.102562f, -0.075199f, -0.106202f, -0.018434f, 0.050336f, 0.241971f, 0.229554f, 0.166433f, 0.188470f, 0.202450f, 0.274796f, 0.281172f, 0.304399f, 0.320721f, 0.276123f, 0.280233f, 0.206182f, 0.291563f, 0.298491f, 0.227063f, 0.159989f, 0.123195f, 0.179355f, 0.177060f, 0.138126f, 0.082407f, 0.045841f, 0.069324f, -0.018169f, 0.009033f, -0.032706f, -0.026455f, -0.132490f, -0.121834f, -0.088461f, -0.061817f, -0.080751f, -0.062516f, -0.029686f, -0.025136f, -0.032194f, -0.060541f, -0.055091f, -0.028240f, -0.035578f, -0.024448f, -0.019988f, 0.002779f, 0.009119f, + 0.000590f, -0.008130f, -0.002561f, 0.000811f, -0.001943f, -0.001991f, -0.001969f} + }, + { + {-0.005288f, 0.009776f, -0.000395f, 0.004012f, 0.001553f, -0.008552f, -0.006433f, 0.002231f, -0.005796f, -0.008599f, 0.004903f, -0.001018f, 0.001279f, -0.004936f, 0.003625f, 0.000350f, -0.007620f, -0.000346f, 0.008790f, 0.007144f, -0.005472f, -0.009639f, -0.008786f, 0.001293f, -0.002027f, -0.001722f, -0.007478f, 0.008134f, -0.002167f, 0.002292f, -0.003413f, -0.002070f, -0.000750f, 0.003085f, -0.002216f, -0.004282f, -0.016411f, 0.005580f, -0.001251f, 0.005303f, 0.003142f, 0.002229f, -0.000431f, 0.010939f, 0.002048f, 0.002186f, 0.001519f, -0.005597f, -0.003587f, -0.000519f, 0.000796f, -0.005603f, -0.001334f, 0.002181f, -0.000779f, -0.005294f, -0.002796f, 0.000195f, 0.005169f, -0.008106f, -0.011004f, -0.013626f, 0.004816f, 0.007807f, 0.000781f, 0.006457f, 0.004729f, 0.000907f, -0.012500f, -0.000325f, -0.003278f, -0.004382f, 0.000207f, 0.000698f, 0.005166f, -0.001115f, 0.007356f, 0.005215f, -0.002340f, -0.007481f, -0.003649f, -0.001336f, 0.001900f, 0.000572f, 0.002404f, 0.002803f, 0.005133f, -0.000109f, -0.000503f, -0.002422f, -0.002109f, -0.002005f, -0.000904f, -0.004174f, -0.001983f, -0.002360f, + 0.001287f, -0.000276f, -0.000537f, -0.001283f, 0.001945f, -0.002938f, 0.005896f, 0.007712f, -0.001795f, -0.000118f, -0.011066f, 0.009842f, -0.012673f, 0.004875f, 0.021301f, -0.004583f, -0.007953f, 0.001194f, 0.011105f, 0.001166f, -0.003183f, -0.001559f, -0.003208f, -0.002034f, -0.010038f, -0.003919f, 0.004918f, -0.007973f, -0.004570f, 0.000435f, -0.000463f, 0.008775f, -0.005389f, 0.001626f, -0.002099f, 0.001905f, -0.001139f, -0.005151f, 0.009715f, 0.016542f, 0.004174f, -0.000959f, -0.003125f, 0.017904f, 0.000815f, -0.007509f, 0.000482f, -0.013378f, 0.000030f, 0.006961f, -0.010275f, -0.001317f, 0.002183f, -0.008206f, -0.002482f, 0.009424f, 0.001328f, -0.001026f, 0.009092f, -0.006071f, -0.009592f, 0.005409f, 0.003582f, -0.006700f, -0.003328f, -0.007172f, -0.008405f, -0.009041f, -0.005007f, -0.005174f, 0.007310f, 0.005196f, 0.001425f, -0.000217f, -0.005088f, 0.004697f, -0.001109f, -0.003476f, 0.006194f, 0.006845f, -0.004898f, -0.000986f, -0.002320f, -0.003129f, 0.000956f, 0.007844f, -0.003971f, 0.001751f, 0.007480f, 0.004942f, -0.001722f, 0.001891f, -0.001313f, -0.000214f, 0.003169f, -0.000457f, + 0.000047f, 0.003225f, -0.003458f, 0.001395f, 0.000709f, -0.001113f, -0.003186f, 0.002433f, 0.000279f, -0.001429f, 0.000749f, 0.000344f, -0.001142f, 0.000358f, -0.000585f, -0.001066f, -0.001860f, 0.010891f, -0.015877f, -0.010482f, -0.003781f, -0.002310f, 0.000536f, 0.002042f, -0.015140f, 0.010513f, -0.004783f, 0.003435f, 0.002166f, 0.003499f, 0.006611f, -0.000048f, -0.002193f, -0.005039f, 0.010896f, -0.000862f, 0.007082f, 0.013458f, -0.002923f, 0.011443f, 0.009759f, -0.008463f, 0.005654f, 0.005723f, 0.006138f, -0.014933f, -0.001488f, 0.000892f, -0.004697f, -0.009393f, 0.000142f, 0.010958f, -0.002577f, -0.004695f, -0.003690f, 0.003351f, 0.010157f, 0.005017f, -0.005196f, -0.000087f, -0.004286f, 0.000430f, -0.001367f, -0.005065f, 0.009485f, -0.012266f, -0.010139f, -0.009310f, 0.002874f, -0.001310f, -0.000340f, -0.011444f, -0.012088f, 0.002942f, -0.000260f, 0.000682f, -0.001197f, -0.000644f, -0.009025f, -0.005340f, -0.009867f, 0.001931f, 0.008446f, -0.002636f, 0.007494f, 0.001403f, 0.006662f, -0.014404f, 0.000056f, 0.002079f, -0.004811f, -0.002175f, 0.001918f, -0.005134f, -0.000637f, 0.003771f, + 0.004069f, -0.003197f, -0.009640f, 0.008480f, 0.001324f, 0.000206f, -0.002135f, -0.001233f, -0.007720f, 0.000339f, 0.000526f, -0.001359f, 0.001386f, 0.000248f, -0.002728f, 0.001162f, 0.001243f, -0.000779f, -0.001116f, -0.000385f, -0.000466f, -0.000522f, 0.000419f, 0.004060f, 0.000062f, -0.001220f, 0.003355f, 0.001499f, -0.000271f, -0.001121f, -0.000339f, -0.005440f, 0.001342f, -0.001092f, 0.009348f, 0.014869f, 0.000943f, -0.005654f, -0.012644f, 0.005786f, 0.003755f, 0.003509f, 0.015751f, -0.010297f, 0.000364f, 0.001919f, -0.002855f, -0.005151f, 0.002330f, 0.000994f, 0.009495f, 0.020949f, -0.001844f, 0.003627f, 0.008760f, -0.003797f, 0.007814f, 0.013617f, -0.009501f, -0.000353f, -0.003540f, -0.000195f, 0.006075f, -0.010604f, 0.011460f, 0.002558f, 0.000135f, 0.006044f, -0.000992f, 0.008368f, -0.004533f, -0.001923f, -0.002353f, 0.013144f, 0.006127f, 0.008373f, -0.001584f, 0.006900f, -0.012751f, 0.014747f, -0.005705f, 0.005803f, -0.013423f, 0.005423f, 0.009750f, 0.017973f, 0.006601f, 0.003362f, -0.011820f, -0.004522f, 0.003269f, -0.008944f, -0.010643f, -0.002519f, 0.021233f, 0.024591f, + 0.004719f, 0.005791f, -0.007010f, -0.003109f, 0.013752f, 0.002688f, 0.006025f, -0.000825f, 0.004190f, 0.003691f, -0.001812f, 0.003150f, -0.002006f, 0.002376f, 0.001663f, 0.008691f, 0.007073f, -0.010899f, 0.009723f, -0.003184f, 0.005003f, -0.003429f, 0.003679f, -0.002893f, -0.004048f, -0.000071f, -0.006466f, 0.001021f, 0.004744f, 0.001083f, 0.002450f, -0.002294f, -0.002854f, -0.001469f, 0.001191f, 0.000208f, 0.001088f, -0.000415f, 0.000757f, -0.001825f, 0.000689f, 0.000702f, 0.003457f, 0.000208f, 0.002357f, -0.001103f, 0.002112f, 0.010371f, 0.000292f, 0.001296f, 0.014550f, -0.012249f, -0.014420f, 0.022486f, -0.005819f, -0.003594f, 0.014705f, 0.008804f, 0.001093f, -0.025786f, 0.027871f, -0.005096f, -0.003513f, -0.002919f, -0.001509f, 0.001116f, 0.001732f, 0.008722f, 0.013009f, 0.008573f, -0.001854f, 0.014594f, 0.009265f, 0.004697f, 0.003939f, -0.005354f, 0.006673f, -0.010472f, 0.008389f, -0.001587f, 0.003523f, -0.008862f, -0.012879f, 0.001670f, -0.001612f, 0.004747f, 0.007802f, -0.003816f, -0.012324f, -0.007187f, 0.003064f, -0.014799f, 0.009606f, 0.002997f, -0.023600f, 0.010698f, + 0.001663f, 0.006129f, 0.001563f, 0.003698f, 0.004046f, -0.000939f, -0.006629f, -0.005759f, -0.016089f, -0.011820f, -0.006543f, -0.008206f, -0.001775f, 0.000994f, -0.011762f, -0.016673f, -0.002446f, 0.010900f, 0.018770f, -0.000919f, -0.012416f, 0.002109f, -0.019552f, 0.001384f, -0.001284f, -0.007671f, 0.016596f, 0.015592f, 0.005294f, -0.000560f, -0.003938f, -0.001138f, -0.008627f, 0.004127f, 0.015921f, 0.008522f, 0.013170f, 0.002687f, -0.005915f, 0.006138f, 0.003236f, -0.000402f, 0.001322f, 0.000754f, 0.000454f, 0.002872f, 0.002988f, 0.002849f, -0.000817f, 0.004972f, 0.001406f, 0.009779f, 0.003875f, 0.002647f, 0.000531f, 0.000872f, 0.002643f, -0.000667f, 0.004643f, 0.001716f, 0.001843f, -0.002573f, 0.005758f, 0.001451f, -0.001952f, -0.000819f, -0.025305f, 0.013097f, -0.004820f, -0.008994f, -0.007131f, -0.008603f, -0.012024f, 0.023216f, -0.029536f, 0.006985f, 0.007153f, 0.009685f, 0.014452f, 0.002389f, 0.004024f, 0.005455f, 0.003923f, 0.003027f, 0.004904f, 0.012725f, 0.002305f, -0.006977f, -0.000003f, -0.001209f, -0.009087f, -0.008210f, 0.004222f, 0.008533f, 0.009171f, 0.001262f, + 0.006541f, -0.015375f, -0.001782f, -0.000200f, -0.000840f, -0.014568f, -0.008732f, -0.005233f, 0.009542f, 0.008577f, -0.000146f, -0.015946f, 0.000092f, -0.008628f, -0.006186f, -0.003119f, -0.004294f, 0.010048f, 0.013647f, 0.004163f, 0.014196f, -0.022694f, -0.015868f, 0.007576f, 0.004638f, 0.000792f, 0.003004f, 0.001506f, -0.007365f, -0.014267f, -0.009873f, 0.007594f, -0.006399f, 0.011602f, 0.011403f, -0.004136f, 0.010805f, -0.017174f, -0.008504f, -0.004817f, -0.005804f, 0.001278f, 0.031313f, -0.004481f, 0.008854f, -0.004976f, -0.004536f, -0.003169f, 0.006643f, 0.007146f, -0.000833f, 0.005773f, 0.003927f, -0.009747f, 0.002690f, 0.000770f, 0.004189f, 0.000933f, 0.000510f, -0.004903f, 0.003152f, -0.000182f, 0.003194f, 0.001046f, 0.001651f, -0.000888f, -0.001874f, 0.000958f, -0.002858f, -0.004088f, 0.001392f, -0.002227f, -0.003539f, -0.001021f, 0.001053f, 0.001421f, 0.001391f, 0.001558f, -0.000211f, 0.001126f, 0.002211f, 0.001875f, 0.000616f, 0.000566f, -0.000740f, -0.001161f, 0.002062f, 0.025913f, -0.004965f, 0.000723f, 0.010922f, -0.024638f, 0.016962f, 0.008610f, -0.013880f, 0.015440f, + 0.017273f, 0.005809f, -0.026602f, 0.016472f, 0.000732f, -0.002495f, 0.013491f, 0.014572f, -0.000810f, -0.004283f, 0.000441f, -0.010315f, 0.009683f, -0.005633f, -0.009827f, -0.020692f, 0.004853f, -0.022492f, 0.006060f, -0.005501f, -0.002501f, 0.006506f, -0.018323f, -0.007520f, 0.015265f, -0.001317f, -0.007102f, 0.009347f, 0.000637f, -0.007989f, 0.006924f, 0.002519f, 0.000696f, -0.003417f, 0.005285f, -0.011150f, -0.001153f, -0.016290f, 0.015445f, 0.015439f, -0.019184f, 0.012848f, -0.013681f, -0.005157f, 0.013277f, 0.018555f, -0.001327f, -0.009222f, 0.005624f, -0.001151f, 0.002692f, -0.022648f, -0.017900f, 0.003593f, 0.003235f, -0.004886f, -0.004639f, 0.005893f, -0.000680f, -0.008018f, 0.009600f, -0.009245f, 0.003265f, 0.006947f, -0.001568f, 0.010887f, -0.010878f, 0.011009f, -0.000057f, 0.017507f, -0.005981f, 0.005325f, 0.009894f, 0.001132f, -0.006253f, -0.001771f, -0.000632f, 0.005145f, -0.001695f, -0.008217f, 0.006958f, 0.001522f, -0.003434f, 0.003081f, -0.002304f, -0.000090f, -0.003222f, -0.000914f, 0.002389f, -0.002743f, 0.001794f, 0.004811f, -0.002469f, 0.001182f, 0.000351f, -0.001575f, + 0.003053f, 0.000827f, 0.002601f, -0.003851f, 0.001589f, -0.003943f, -0.004509f, 0.001700f, -0.000704f, 0.001855f, 0.001926f, 0.000587f, 0.007166f, 0.003122f, -0.009432f, 0.018181f, -0.006228f, 0.008845f, -0.018363f, -0.001304f, -0.004850f, -0.016671f, 0.000577f, 0.011771f, 0.020923f, 0.027376f, -0.015598f, -0.000440f, -0.019441f, -0.001457f, -0.012383f, 0.011049f, -0.011595f, -0.022925f, 0.001480f, -0.014694f, -0.001381f, 0.019003f, -0.011273f, -0.011246f, 0.020392f, 0.000627f, 0.003500f, -0.002137f, -0.011999f, 0.005090f, 0.004347f, 0.024576f, -0.016966f, 0.012051f, -0.014390f, 0.003582f, 0.004767f, -0.014198f, -0.008745f, 0.023599f, 0.006449f, -0.017562f, -0.004540f, -0.006429f, -0.014102f, -0.000599f, 0.023131f, 0.012389f, 0.016094f, 0.003675f, 0.006431f, -0.021122f, -0.003062f, 0.026849f, 0.002120f, -0.016695f, 0.008923f, 0.008873f, -0.012256f, -0.010672f, -0.005912f, -0.027594f, -0.004263f, 0.008187f, 0.013623f, 0.024217f, -0.006079f, -0.013258f, -0.003842f, -0.008255f, 0.019658f, -0.007323f, -0.017178f, -0.011707f, -0.005081f, -0.002351f, -0.005329f, -0.009932f, 0.021402f, -0.012279f, + -0.001500f, 0.001969f, 0.001015f, 0.006983f, 0.004350f, -0.006315f, -0.008479f, 0.006355f, 0.007631f, 0.008071f, -0.001859f, 0.003647f, -0.002249f, -0.001343f, 0.003602f, -0.000802f, -0.003766f, 0.003799f, 0.001774f, -0.000118f, -0.002470f, -0.000832f, -0.006269f, 0.000575f, -0.001564f, -0.005390f, -0.002759f, 0.002439f, 0.002120f, 0.000092f, 0.002491f, 0.011780f, -0.040896f, -0.028189f, -0.018069f, 0.002157f, -0.034266f, 0.005121f, 0.025471f, 0.008428f, 0.026226f, -0.014074f, -0.006491f, -0.002849f, -0.013632f, -0.005102f, -0.020464f, 0.036371f, 0.020765f, 0.014500f, -0.030729f, -0.005940f, -0.009891f, -0.019994f, 0.006914f, -0.002105f, 0.006483f, -0.024834f, -0.001710f, -0.002226f, -0.017836f, 0.010374f, 0.002951f, 0.018225f, 0.007329f, -0.015242f, 0.024010f, -0.011355f, 0.009743f, 0.005057f, -0.000205f, 0.019001f, 0.017657f, 0.004455f, -0.022917f, 0.027951f, -0.014154f, 0.020041f, 0.009133f, -0.010372f, -0.011539f, 0.022473f, 0.003294f, -0.002620f, 0.005846f, -0.018985f, -0.006810f, 0.010947f, -0.001594f, 0.019873f, -0.011495f, -0.017969f, 0.007360f, 0.005084f, 0.000605f, 0.019764f, + 0.008512f, 0.004018f, -0.012617f, 0.014383f, 0.005634f, -0.011026f, -0.001524f, -0.001184f, -0.006346f, -0.004612f, -0.005353f, 0.008651f, 0.021701f, 0.036583f, 0.016994f, -0.006172f, 0.001849f, -0.008399f, 0.008409f, 0.011256f, -0.000187f, -0.009348f, -0.005506f, -0.012202f, 0.007517f, -0.006667f, 0.001778f, -0.005765f, -0.001588f, 0.008117f, -0.000974f, 0.000879f, -0.007436f, 0.007938f, -0.004200f, -0.003563f, 0.004350f, -0.007302f, 0.007990f, -0.005595f, 0.004273f, -0.003955f, -0.000757f, 0.001791f, -0.005459f, -0.003877f, -0.002400f, -0.008883f, -0.008931f, -0.003917f, -0.000479f, -0.003148f, 0.007054f, 0.006519f, 0.003802f, -0.025822f, 0.034713f, 0.014394f, 0.039695f, -0.017795f, -0.021314f, 0.037827f, 0.001286f, -0.003896f, 0.008299f, 0.002911f, 0.022150f, 0.029511f, 0.003859f, -0.027390f, -0.043874f, 0.006176f, -0.012102f, 0.002698f, 0.001255f, -0.018977f, -0.001202f, 0.023928f, 0.019563f, 0.015394f, 0.030798f, -0.006930f, 0.026098f, -0.018299f, 0.023114f, 0.007626f, 0.017912f, -0.011973f, 0.031544f, 0.018178f, 0.023038f, -0.036513f, -0.000161f, 0.033270f, 0.018943f, 0.006067f, + -0.007870f, 0.050034f, 0.021124f, -0.019574f, -0.012069f, 0.012228f, -0.019058f, -0.001822f, -0.009140f, 0.002614f, 0.042006f, 0.044014f, 0.031956f, 0.011767f, 0.000386f, 0.016594f, -0.014579f, -0.003649f, 0.018036f, -0.018629f, 0.044480f, 0.027761f, 0.021841f, 0.008642f, -0.001693f, -0.020955f, 0.026418f, 0.001000f, 0.023047f, -0.010246f, 0.008968f, -0.014774f, -0.008473f, -0.000337f, 0.011635f, -0.017385f, 0.041414f, 0.017885f, -0.004530f, -0.020238f, -0.038983f, 0.019241f, 0.003443f, -0.012638f, -0.001169f, 0.004883f, -0.009088f, 0.005719f, 0.015085f, -0.002555f, -0.005151f, 0.000524f, -0.003162f, -0.003830f, 0.003432f, -0.004658f, -0.003423f, -0.006402f, 0.006779f, 0.003901f, -0.009769f, 0.005562f, 0.006316f, 0.006147f, -0.000175f, -0.002849f, -0.001079f, -0.000025f, 0.003281f, -0.000788f, 0.002431f, -0.005754f, 0.009578f, -0.011950f, 0.000220f, 0.004184f, 0.010735f, 0.042814f, -0.002576f, -0.021270f, -0.009629f, -0.016694f, -0.000709f, -0.026737f, 0.006843f, -0.023053f, 0.012933f, 0.002872f, -0.006271f, -0.018165f, -0.021665f, -0.032834f, -0.034026f, -0.010174f, 0.029389f, -0.002298f, + -0.019284f, 0.007835f, -0.018392f, 0.013962f, -0.015723f, 0.027495f, -0.028419f, 0.006527f, -0.020179f, -0.020686f, -0.003851f, 0.003398f, -0.006078f, 0.012923f, -0.040872f, 0.016324f, 0.003856f, -0.009939f, -0.002901f, -0.002818f, -0.020269f, -0.032486f, -0.034778f, 0.024853f, 0.012264f, -0.013683f, 0.021529f, 0.000575f, -0.009098f, -0.025651f, -0.053737f, -0.044301f, 0.024941f, -0.007847f, 0.000480f, -0.005436f, -0.002608f, -0.002690f, -0.036427f, 0.013684f, -0.043018f, -0.023038f, 0.001881f, -0.001488f, -0.009271f, -0.005915f, -0.005812f, 0.044136f, -0.013796f, -0.014588f, -0.012110f, 0.046181f, -0.008457f, -0.018765f, 0.029259f, -0.023196f, -0.014758f, -0.019147f, -0.016104f, -0.059919f, 0.011861f, 0.009400f, -0.020137f, -0.003081f, 0.013851f, -0.007977f, -0.005496f, -0.011324f, -0.010335f, -0.001634f, -0.005468f, -0.005489f, 0.020730f, -0.001923f, -0.002370f, 0.013744f, 0.016464f, -0.008412f, -0.006143f, -0.001575f, -0.003057f, 0.004016f, -0.010254f, 0.000926f, 0.001047f, 0.001663f, -0.006148f, -0.007662f, -0.003175f, 0.006565f, -0.002894f, -0.005764f, -0.000882f, 0.004065f, -0.013181f, -0.002314f, + 0.007283f, 0.000229f, -0.005321f, 0.006758f, -0.004658f, 0.005958f, -0.000137f, 0.005681f, 0.006225f, 0.006217f, -0.011529f, -0.001433f, -0.063313f, -0.047809f, -0.027350f, 0.055278f, -0.002817f, -0.009215f, -0.006755f, -0.004360f, -0.018218f, 0.019563f, 0.015123f, 0.049473f, -0.045659f, -0.008902f, 0.014060f, -0.033400f, -0.013367f, -0.011818f, 0.056988f, -0.000836f, 0.013136f, 0.029008f, 0.002624f, 0.027918f, -0.030148f, -0.037894f, -0.025359f, -0.006976f, -0.006447f, 0.004521f, 0.017807f, -0.000878f, -0.031920f, -0.022026f, -0.001636f, -0.017043f, -0.035810f, 0.031958f, -0.005345f, -0.017864f, -0.000228f, 0.010259f, 0.010151f, 0.005967f, -0.016184f, 0.003256f, -0.033300f, -0.014583f, -0.049384f, 0.023200f, 0.014917f, -0.005846f, -0.015507f, 0.018247f, -0.024607f, -0.006294f, 0.053272f, -0.005618f, 0.045147f, 0.020188f, 0.012104f, -0.011832f, -0.056706f, -0.023594f, -0.010909f, -0.030540f, -0.022829f, -0.014565f, 0.025380f, -0.011617f, 0.000578f, -0.022802f, 0.048351f, -0.017305f, 0.019944f, 0.013513f, -0.032991f, -0.013294f, 0.007275f, 0.030552f, 0.055818f, 0.046416f, 0.020120f, -0.003192f, + 0.019165f, 0.000117f, 0.001667f, -0.010974f, 0.005640f, -0.011345f, -0.007869f, -0.000239f, 0.003287f, -0.006865f, -0.009068f, -0.016385f, -0.013023f, 0.006909f, 0.005367f, 0.005622f, -0.006023f, -0.002574f, -0.032484f, -0.000682f, -0.014980f, -0.007110f, 0.005885f, 0.004432f, 0.001879f, 0.013348f, 0.000334f, -0.001984f, 0.001340f, -0.005512f, -0.023569f, -0.002334f, -0.013396f, 0.006605f, -0.011887f, -0.013058f, 0.001515f, 0.014915f, 0.006859f, -0.004415f, -0.008802f, -0.008289f, -0.003868f, 0.007936f, 0.002124f, -0.003793f, 0.032873f, -0.001521f, -0.018615f, 0.020307f, 0.011667f, 0.068679f, 0.002450f, 0.000855f, 0.024275f, -0.030837f, -0.021252f, -0.006031f, 0.005743f, 0.011223f, -0.008212f, 0.029151f, -0.017710f, 0.004178f, 0.027401f, 0.012436f, 0.010230f, 0.010273f, -0.020039f, 0.003979f, -0.000486f, -0.009685f, 0.004305f, -0.014445f, -0.025888f, -0.013398f, 0.002189f, -0.025427f, 0.033267f, -0.002215f, 0.003459f, -0.004338f, 0.022947f, 0.025932f, -0.004704f, -0.018762f, -0.001583f, -0.005829f, 0.030502f, 0.039167f, -0.027510f, -0.018782f, -0.013819f, 0.009987f, 0.029104f, -0.025609f, + 0.008835f, -0.000874f, 0.006268f, -0.013186f, -0.017809f, 0.005918f, 0.019280f, 0.003823f, -0.023356f, 0.021623f, 0.062902f, -0.020006f, 0.011901f, -0.004440f, 0.005087f, 0.024486f, 0.007093f, 0.028817f, 0.024108f, -0.005994f, 0.036819f, 0.066750f, 0.002959f, -0.024293f, 0.065350f, -0.001025f, 0.062501f, -0.021261f, -0.030173f, 0.028968f, 0.011356f, 0.043712f, -0.006764f, 0.061450f, 0.019626f, 0.014444f, -0.018010f, 0.029235f, 0.003694f, 0.003153f, 0.007132f, 0.023916f, 0.005310f, 0.027276f, 0.003629f, 0.006953f, 0.001275f, 0.004306f, 0.004682f, 0.008875f, -0.002384f, 0.009919f, 0.023120f, 0.009771f, 0.010787f, 0.003467f, 0.006484f, -0.012422f, 0.011506f, 0.004529f, 0.005481f, 0.008423f, 0.004735f, -0.000558f, 0.000242f, 0.006628f, -0.005974f, 0.002457f, 0.000719f, 0.005925f, 0.016661f, 0.006090f, -0.000104f, -0.007973f, 0.008994f, 0.001731f, 0.002504f, -0.001285f, 0.008801f, 0.005128f, 0.012809f, -0.043058f, -0.013885f, 0.067229f, 0.011257f, -0.031040f, 0.009270f, -0.023512f, 0.008728f, 0.012901f, -0.005437f, -0.035548f, -0.013352f, -0.053149f, 0.022090f, 0.018249f, + -0.020408f, 0.019794f, 0.030906f, 0.006361f, -0.008257f, -0.031041f, 0.007120f, 0.049687f, -0.023727f, 0.029823f, 0.028514f, 0.004508f, 0.021463f, 0.019862f, 0.000975f, 0.024769f, 0.016567f, -0.047306f, -0.006650f, -0.019060f, 0.048406f, 0.032076f, -0.033670f, 0.020759f, -0.003821f, 0.025533f, 0.080684f, -0.007611f, -0.013578f, 0.008073f, 0.072624f, 0.029810f, -0.004403f, 0.009298f, 0.013207f, 0.041906f, 0.037029f, -0.025269f, 0.044440f, 0.020377f, 0.041201f, -0.029116f, 0.004481f, 0.008276f, 0.008816f, 0.025458f, 0.037814f, -0.024550f, -0.019474f, 0.029929f, 0.015004f, -0.010143f, -0.010634f, 0.000122f, 0.045375f, -0.085446f, 0.020173f, -0.030368f, -0.022390f, 0.004140f, -0.029241f, -0.027187f, -0.003875f, -0.046714f, 0.033777f, -0.009914f, 0.035685f, -0.001264f, 0.031220f, -0.020565f, 0.012581f, 0.000779f, 0.010357f, -0.000937f, -0.011988f, 0.009472f, 0.006687f, 0.007572f, 0.015250f, -0.007400f, 0.007734f, 0.010524f, -0.008712f, 0.000844f, 0.014573f, 0.005429f, -0.007800f, 0.016259f, -0.010651f, 0.002217f, 0.008484f, -0.010391f, -0.007842f, 0.003353f, 0.003265f, 0.018134f, + 0.015000f, 0.010778f, 0.005462f, -0.001680f, 0.011704f, 0.002683f, 0.005165f, 0.005213f, 0.009714f, 0.011858f, -0.009775f, -0.008128f, -0.015820f, 0.012530f, 0.004943f, 0.001072f, 0.003947f, -0.016662f, -0.015969f, 0.011169f, 0.014536f, 0.015350f, -0.018907f, -0.022580f, -0.058448f, 0.002776f, -0.032594f, 0.053366f, 0.006555f, -0.013706f, -0.007857f, 0.032079f, 0.009260f, 0.052019f, 0.021000f, -0.013342f, 0.002214f, 0.011092f, 0.023685f, 0.039173f, -0.043614f, -0.037669f, -0.007874f, 0.065791f, -0.020166f, 0.008523f, 0.018788f, 0.028911f, 0.034956f, 0.050046f, 0.043167f, 0.003940f, -0.010211f, 0.046752f, 0.003688f, -0.029546f, 0.015868f, -0.027400f, 0.019974f, 0.005117f, -0.024484f, 0.022622f, 0.087722f, 0.048979f, -0.030881f, -0.023287f, -0.003113f, -0.024163f, -0.024022f, -0.020679f, 0.015131f, -0.011714f, -0.020427f, 0.004715f, 0.024198f, 0.014567f, 0.008079f, 0.034593f, 0.009322f, -0.008186f, 0.036459f, 0.030789f, -0.026203f, 0.018000f, -0.029590f, -0.023037f, -0.026226f, 0.000080f, -0.063468f, -0.018666f, 0.044314f, 0.032791f, -0.015043f, 0.022068f, -0.005255f, 0.001724f, + -0.038977f, 0.008933f, 0.023521f, 0.037373f, 0.021010f, 0.024803f, 0.013597f, 0.011950f, -0.016592f, -0.014543f, -0.017653f, 0.010094f, -0.003765f, 0.001536f, 0.007601f, 0.007927f, -0.000754f, 0.019386f, -0.006005f, -0.008363f, -0.009147f, 0.013631f, -0.017639f, -0.007068f, -0.021769f, -0.001083f, 0.004324f, -0.009331f, 0.000879f, -0.005131f, 0.013636f, -0.002543f, -0.028730f, 0.000506f, -0.001958f, 0.008636f, 0.011261f, 0.003707f, 0.012793f, -0.000751f, 0.020792f, 0.004307f, -0.001642f, -0.000506f, 0.002269f, 0.000927f, 0.001056f, -0.023863f, 0.019733f, 0.015930f, -0.030308f, -0.012953f, -0.065904f, -0.005244f, 0.054970f, 0.000691f, -0.040268f, 0.006523f, 0.001895f, -0.027025f, 0.036645f, 0.021218f, -0.014718f, 0.010466f, 0.016613f, 0.022658f, 0.012580f, 0.003957f, -0.016261f, 0.008905f, 0.013046f, 0.035057f, 0.052345f, -0.014339f, -0.035227f, -0.018523f, 0.009991f, 0.010927f, 0.043080f, -0.016440f, -0.033735f, -0.026258f, -0.026991f, 0.052144f, 0.095531f, 0.034720f, 0.004796f, 0.104818f, 0.006305f, 0.043470f, 0.024795f, -0.008799f, -0.021970f, 0.018648f, -0.029746f, -0.019812f, + 0.021245f, 0.001447f, -0.063138f, -0.065384f, -0.016357f, 0.027334f, -0.034115f, -0.042784f, -0.023559f, -0.031673f, -0.026079f, 0.022112f, -0.018161f, -0.048515f, 0.021824f, 0.001929f, -0.014144f, 0.011366f, -0.010933f, 0.024480f, 0.098328f, -0.060222f, 0.049571f, -0.068473f, -0.038829f, -0.022694f, -0.015494f, 0.038082f, 0.015387f, 0.018266f, -0.007396f, 0.021161f, 0.044129f, 0.011044f, 0.001035f, 0.000579f, -0.012801f, 0.006074f, 0.012100f, 0.035360f, -0.002124f, -0.017516f, -0.002614f, 0.027012f, 0.017364f, -0.007630f, 0.010246f, 0.012261f, -0.009747f, -0.000335f, -0.004168f, 0.033896f, 0.012284f, 0.016072f, 0.011932f, 0.009700f, -0.013954f, -0.009891f, -0.002193f, 0.008702f, -0.017075f, 0.002513f, -0.016840f, -0.011618f, 0.002749f, 0.001806f, -0.019355f, 0.018996f, 0.025955f, -0.002540f, -0.003303f, 0.015789f, 0.000233f, -0.006778f, 0.022976f, -0.009424f, 0.015945f, 0.001488f, 0.053224f, 0.034231f, 0.030863f, 0.045330f, -0.052897f, 0.020345f, -0.055404f, -0.002221f, 0.072413f, 0.064401f, 0.027454f, 0.001001f, 0.012531f, 0.008183f, -0.020765f, 0.016784f, 0.020851f, -0.091242f, + 0.005595f, 0.013416f, 0.027749f, -0.033434f, -0.051375f, 0.037689f, 0.017832f, 0.009592f, -0.021958f, 0.044703f, -0.006278f, 0.034751f, 0.028876f, -0.003440f, 0.004412f, -0.010092f, 0.035193f, -0.020875f, 0.010747f, 0.021178f, -0.001840f, 0.044976f, 0.026043f, -0.002511f, 0.023078f, 0.026224f, -0.001346f, -0.020291f, -0.068437f, -0.012613f, 0.007319f, -0.040523f, 0.003929f, 0.032354f, -0.062189f, -0.027586f, 0.009554f, -0.026726f, -0.004317f, 0.032841f, 0.001919f, -0.023207f, -0.030291f, 0.013511f, 0.013170f, -0.062866f, -0.020951f, -0.005202f, 0.000279f, 0.039518f, 0.019370f, 0.004439f, 0.069023f, -0.008672f, -0.002218f, 0.002749f, -0.039342f, 0.037308f, 0.000338f, 0.061210f, -0.023698f, -0.010203f, 0.018429f, 0.009273f, -0.052131f, 0.001730f, -0.007178f, -0.020833f, -0.016832f, 0.006555f, 0.002188f, -0.014686f, -0.001281f, -0.009109f, -0.006421f, 0.001936f, -0.022283f, 0.006476f, 0.003095f, -0.003079f, 0.008569f, 0.002389f, -0.014697f, 0.003049f, 0.004250f, 0.003963f, -0.014217f, 0.020869f, 0.004127f, 0.027140f, -0.019943f, 0.002579f, -0.016799f, -0.005885f, -0.003062f, -0.029931f, + 0.006414f, 0.002849f, -0.001220f, -0.003994f, -0.005383f, 0.011179f, -0.013480f, -0.010359f, 0.013092f, 0.017534f, -0.017334f, -0.064582f, -0.056287f, 0.010315f, -0.028969f, -0.009066f, -0.043371f, -0.054030f, -0.056848f, -0.037356f, 0.040564f, 0.055371f, 0.001494f, -0.045570f, 0.003629f, 0.002144f, 0.000631f, 0.021062f, 0.035350f, 0.035349f, 0.000902f, -0.022881f, -0.056713f, -0.032511f, -0.049641f, -0.010637f, 0.000241f, 0.004216f, 0.005155f, 0.007013f, 0.013710f, 0.017764f, 0.033456f, -0.052455f, 0.023065f, 0.009201f, 0.011612f, 0.028182f, 0.049814f, 0.055928f, -0.032179f, 0.024939f, -0.044488f, -0.013878f, -0.040367f, -0.003913f, -0.015724f, 0.092961f, 0.032991f, 0.066976f, 0.002834f, -0.035892f, -0.015419f, 0.042901f, 0.046419f, -0.027250f, 0.085744f, -0.035894f, 0.005355f, 0.003793f, 0.014896f, 0.031515f, 0.095383f, -0.006653f, 0.023359f, 0.053132f, 0.012131f, -0.042064f, 0.026745f, 0.097612f, -0.017812f, -0.023596f, -0.057560f, -0.004777f, 0.036003f, 0.022242f, 0.003021f, -0.055240f, -0.041865f, 0.007052f, -0.043686f, 0.013177f, 0.001933f, -0.054993f, -0.006237f, 0.005685f, + -0.008651f, 0.039755f, 0.037316f, 0.000849f, -0.010898f, -0.023678f, 0.025832f, -0.010936f, 0.044895f, -0.010214f, 0.000581f, 0.030781f, 0.030867f, 0.043956f, 0.033931f, -0.024768f, -0.009725f, 0.005946f, -0.008212f, 0.003031f, -0.018908f, -0.018138f, -0.018414f, 0.009657f, -0.022551f, -0.026222f, 0.015574f, 0.020397f, 0.001831f, -0.022515f, 0.014353f, 0.008059f, -0.005566f, -0.005683f, -0.015362f, -0.000237f, 0.008760f, -0.003805f, -0.013736f, -0.017793f, -0.003414f, -0.011653f, 0.014676f, 0.008341f, -0.007619f, -0.009854f, 0.018783f, 0.086671f, -0.004549f, -0.000539f, 0.036737f, 0.007091f, -0.119726f, -0.037664f, 0.084918f, 0.028222f, -0.025003f, -0.047723f, -0.006761f, -0.031547f, 0.043754f, 0.022711f, 0.008159f, -0.025311f, -0.056716f, 0.012098f, -0.097643f, -0.011978f, 0.047643f, 0.065074f, -0.007595f, -0.055361f, -0.037745f, -0.114249f, 0.033446f, -0.019884f, 0.044647f, 0.033745f, -0.032530f, -0.023677f, -0.101410f, -0.076171f, 0.039551f, 0.107924f, 0.043040f, 0.051232f, -0.036047f, -0.064244f, -0.061675f, -0.025880f, 0.091696f, 0.123572f, 0.064396f, -0.143746f, -0.052761f, -0.110165f, + -0.058962f, 0.136458f, 0.033196f, 0.030223f, -0.018210f, -0.131511f, -0.107727f, -0.108064f, -0.020168f, 0.010428f, 0.067998f, -0.025320f, 0.051708f, -0.104298f, 0.064735f, 0.025892f, 0.007823f, 0.131039f, 0.008338f, -0.012151f, -0.006350f, -0.177872f, -0.054414f, -0.012118f, 0.055934f, 0.029175f, 0.025529f, 0.078453f, -0.083985f, 0.005376f, -0.055601f, 0.060520f, 0.043660f, 0.004165f, 0.012016f, 0.012870f, -0.009984f, 0.035986f, 0.019227f, 0.009547f, 0.030589f, -0.020930f, -0.039156f, 0.009483f, 0.027975f, 0.042577f, 0.035030f, 0.023152f, -0.029417f, -0.047583f, -0.066739f, -0.005968f, 0.004697f, 0.053939f, 0.066779f, -0.010068f, -0.050982f, -0.087507f, -0.042086f, 0.006241f, 0.066807f, 0.107369f, 0.027897f, -0.105027f, -0.107889f, -0.110034f, -0.001293f, 0.089770f, 0.078942f, 0.083400f, -0.028102f, -0.040606f, -0.078369f, -0.078992f, 0.028861f, 0.053424f, 0.069533f, 0.035374f, -0.055308f, -0.052133f, -0.029612f, -0.008220f, 0.064510f, 0.034301f, 0.010561f, -0.002883f, -0.039754f, -0.028531f, -0.006038f, 0.007951f, -0.051391f, 0.098622f, 0.042326f, 0.045204f, -0.122174f, 0.024497f, + -0.170190f, -0.037625f, -0.000513f, 0.024025f, 0.009743f, -0.109088f, 0.059022f, -0.030301f, -0.019701f, -0.020600f, -0.023268f, -0.026814f, -0.033801f, 0.071316f, -0.020508f, -0.061454f, 0.019506f, -0.017472f, 0.007425f, 0.034334f, -0.069377f, -0.024904f, -0.004363f, 0.028954f, 0.002890f, 0.078458f, -0.006774f, -0.045055f, 0.103623f, -0.087884f, 0.051201f, -0.081509f, -0.027026f, 0.039612f, -0.066229f, 0.004735f, 0.047835f, -0.025118f, -0.005814f, -0.005023f, 0.061622f, 0.094091f, 0.054383f, -0.031784f, -0.013159f, -0.014814f, 0.005858f, 0.030166f, -0.012602f, -0.018823f, 0.018199f, 0.009622f, -0.170886f, -0.006961f, -0.006447f, 0.024773f, 0.021090f, 0.001033f, 0.000140f, 0.048500f, -0.053892f, -0.013893f, -0.005385f, 0.036944f, -0.137241f, -0.019298f, 0.123740f, -0.031831f, -0.050143f, -0.000527f, 0.093593f, -0.017336f, -0.022621f, 0.025467f, -0.037102f, -0.038713f, 0.057728f, 0.089627f, -0.032699f, -0.045648f, 0.015244f, 0.026835f, -0.014445f, -0.048115f, -0.001260f, 0.006920f, -0.010027f, -0.007046f, -0.015295f, -0.020972f, 0.009565f, 0.000641f, -0.019513f, -0.003504f, -0.001035f, -0.000733f, + -0.018021f, 0.010182f, -0.024034f, -0.025167f, -0.015047f, -0.015383f, 0.022950f, -0.003402f, -0.005259f, -0.000548f, -0.013638f, 0.019238f, -0.025541f, 0.007268f, 0.000337f, 0.001822f, 0.017066f, -0.000808f, -0.030640f, 0.003491f, -0.008401f, 0.005704f, 0.003711f, -0.027187f, 0.042432f, -0.011254f, -0.004502f, -0.004076f, 0.003480f, 0.010914f, -0.001464f, -0.009963f, -0.022765f, -0.041557f, -0.125027f, -0.102708f, 0.089755f, 0.076513f, 0.007001f, 0.081743f, -0.089613f, -0.005444f, -0.172778f, -0.061545f, -0.030827f, 0.083290f, 0.075802f, 0.046359f, -0.069729f, -0.024165f, -0.003336f, -0.033390f, 0.016097f, 0.029951f, 0.038963f, 0.052139f, -0.040257f, 0.029105f, -0.074930f, -0.047499f, -0.012107f, -0.016146f, 0.001697f, 0.049139f, -0.059219f, 0.050628f, -0.023058f, -0.033006f, -0.013310f, 0.004535f, -0.074270f, -0.001883f, -0.067268f, -0.025254f, -0.026300f, -0.063913f, 0.087264f, 0.039965f, 0.019604f, 0.021169f, -0.017213f, -0.089523f, -0.132591f, -0.077563f, -0.078090f, 0.052589f, 0.012359f, 0.056702f, 0.079134f, 0.065205f, -0.021687f, 0.015479f, -0.045956f, -0.035328f, -0.042003f, 0.032534f, + -0.044501f, -0.002331f, -0.042482f, -0.043898f, -0.027722f, 0.051332f, -0.041752f, -0.011907f, 0.003943f, -0.006134f, -0.060109f, -0.064658f, -0.039314f, -0.023310f, -0.087079f, -0.051889f, 0.012902f, 0.052086f, 0.054353f, 0.069408f, -0.004782f, -0.056952f, -0.073747f, -0.056749f, 0.028598f, 0.009036f, -0.009357f, 0.033685f, 0.085556f, 0.022592f, 0.022648f, -0.021894f, -0.016525f, -0.028429f, -0.017481f, -0.009286f, -0.027577f, -0.006503f, 0.032303f, -0.007173f, -0.014652f, -0.026622f, -0.029629f, -0.033281f, -0.010117f, 0.015993f, -0.009149f, 0.006778f, 0.003723f, -0.059803f, 0.006173f, -0.028571f, 0.024690f, 0.047861f, -0.024456f, 0.033037f, -0.004514f, 0.007993f, 0.000822f, -0.047295f, -0.007818f, -0.015452f, -0.012577f, 0.043052f, -0.027456f, -0.186219f, -0.252401f, -0.238497f, -0.226844f, -0.271955f, -0.045485f, -0.075187f, 0.048280f, 0.076965f, 0.243561f, 0.156475f, 0.206492f, 0.284566f, 0.312888f, 0.213615f, 0.271829f, 0.154735f, 0.072132f, -0.010854f, -0.051030f, -0.069331f, -0.114757f, -0.112634f, -0.155654f, -0.065806f, -0.057258f, -0.146436f, -0.109346f, -0.104699f, -0.119082f, -0.193754f, + -0.131974f, -0.101587f, -0.081590f, -0.149109f, -0.020782f, -0.044648f, -0.061999f, -0.144390f, -0.133372f, -0.109943f, -0.094010f, -0.068249f, -0.027760f, -0.091784f, 0.026582f, 0.047671f, -0.071860f, 0.080617f, 0.111961f, 0.107585f, 0.195229f, 0.158664f, 0.122219f, 0.134520f, 0.135339f, 0.134312f, 0.205304f, 0.231027f, 0.227031f, 0.155387f, 0.244862f, 0.241798f, 0.251908f, 0.256168f, 0.290874f, 0.258210f, 0.272652f, 0.361795f, 0.184574f, 0.186398f, 0.188916f, 0.176055f, -0.008285f, 0.080469f, 0.101207f, -0.057899f, -0.031222f, -0.099833f, -0.183200f, -0.165777f, -0.175096f, -0.315409f, -0.231549f, -0.140778f, -0.246707f, -0.261083f, -0.215610f, -0.229635f, -0.227481f, -0.273048f, -0.250365f, -0.252662f, -0.236616f, -0.220670f, -0.201378f, -0.186289f, -0.186682f, -0.154981f, -0.130736f, -0.206620f, -0.031597f, -0.092848f, -0.106848f, -0.023980f, -0.013269f, -0.104523f, -0.013284f, -0.040307f, -0.015033f, 0.038660f, 0.046270f, 0.121532f, 0.072069f, 0.101625f, 0.112625f, 0.122649f, 0.111250f, 0.155381f, 0.151522f, 0.161391f, 0.150542f, 0.180696f, 0.185490f, 0.182178f, 0.147263f, 0.190493f, + 0.200058f, 0.155346f, 0.104665f, 0.101449f, 0.061446f, 0.053326f, 0.014509f, -0.006362f, -0.006027f, -0.032861f, -0.029664f, -0.022541f, -0.013109f, -0.029180f, -0.031515f, -0.029154f, -0.013646f, -0.029152f, -0.037362f, -0.021682f, -0.007412f, -0.025508f, -0.035189f, -0.028119f, -0.023837f, -0.037304f, -0.037951f, -0.028523f, -0.018317f, -0.015898f, -0.014920f}, + {-0.011750f, 0.014856f, -0.001147f, 0.005983f, 0.003010f, 0.007047f, -0.012611f, -0.006811f, 0.008090f, 0.003912f, 0.000082f, -0.007015f, 0.001429f, -0.019566f, -0.012601f, -0.000686f, -0.007514f, -0.008498f, 0.003480f, 0.015281f, 0.002558f, 0.011635f, -0.002704f, 0.011498f, -0.006877f, -0.006138f, -0.000774f, -0.010391f, 0.002053f, 0.005155f, -0.003761f, -0.000259f, 0.002687f, 0.000481f, 0.004677f, -0.000565f, -0.011122f, 0.003968f, -0.006898f, -0.005203f, 0.003110f, -0.006855f, -0.010380f, 0.010307f, -0.010891f, 0.009808f, 0.009156f, 0.006024f, -0.000508f, -0.012779f, -0.007445f, 0.001423f, -0.002429f, 0.016414f, -0.010078f, 0.003980f, -0.001319f, 0.002155f, -0.012457f, -0.020781f, -0.003688f, -0.006253f, -0.006954f, -0.001654f, 0.008748f, -0.001924f, -0.009388f, 0.008191f, 0.003462f, -0.004185f, 0.006833f, -0.001363f, 0.002030f, -0.009580f, -0.000817f, -0.002410f, -0.000186f, 0.003636f, -0.004408f, 0.002940f, -0.008776f, 0.005876f, -0.001406f, 0.000600f, -0.003232f, -0.002919f, -0.000006f, 0.003558f, 0.001269f, -0.000153f, 0.001333f, -0.000093f, -0.005309f, 0.001493f, 0.000380f, 0.003281f, + -0.000582f, 0.000086f, -0.000065f, 0.000049f, -0.000387f, -0.001916f, 0.007975f, 0.007954f, 0.001127f, 0.014345f, -0.000163f, 0.006194f, 0.007709f, -0.000094f, -0.007001f, 0.000732f, -0.009947f, -0.012741f, -0.004836f, -0.014519f, -0.014985f, -0.004882f, 0.009850f, -0.003524f, -0.003413f, -0.007806f, -0.001975f, -0.013647f, 0.006668f, -0.003825f, 0.003368f, 0.008186f, 0.002777f, -0.002877f, 0.005629f, 0.005335f, -0.006660f, 0.004622f, 0.000614f, 0.001232f, 0.004991f, -0.011906f, -0.005137f, 0.008427f, -0.005406f, -0.000398f, -0.003439f, 0.009353f, -0.011991f, -0.001002f, -0.010043f, 0.006507f, -0.000597f, -0.000741f, 0.009073f, -0.003926f, -0.004360f, -0.003140f, -0.008480f, 0.000602f, -0.003841f, -0.000678f, 0.000561f, 0.005768f, 0.005864f, 0.001971f, -0.002605f, -0.010014f, -0.016376f, -0.005081f, -0.001138f, -0.004051f, 0.008802f, -0.003555f, -0.005049f, 0.007023f, -0.004526f, -0.007028f, 0.015541f, -0.003381f, -0.008693f, -0.000785f, 0.001427f, -0.002608f, 0.007666f, -0.000997f, -0.006852f, 0.000098f, 0.000301f, -0.001480f, -0.002064f, 0.006095f, 0.001377f, 0.000859f, -0.003637f, 0.000757f, + -0.001108f, 0.000411f, 0.002378f, -0.000535f, 0.001348f, 0.002828f, 0.000357f, -0.000574f, -0.000610f, 0.001198f, -0.003455f, -0.001292f, -0.000691f, -0.001595f, 0.001437f, 0.001191f, -0.000567f, 0.016649f, -0.010586f, -0.004991f, -0.007660f, 0.006186f, 0.001199f, -0.000742f, 0.012010f, 0.002893f, 0.003521f, -0.017399f, 0.003213f, -0.008109f, -0.009443f, -0.012265f, -0.000197f, 0.000457f, 0.014581f, -0.011897f, 0.005518f, -0.004980f, 0.018028f, -0.006483f, -0.005968f, 0.012842f, -0.004900f, 0.004445f, 0.001939f, -0.000832f, 0.002123f, -0.008580f, 0.001401f, 0.000426f, 0.003641f, 0.016962f, 0.005908f, 0.001604f, -0.007230f, 0.005950f, -0.013162f, -0.003631f, -0.002518f, 0.007234f, 0.006167f, 0.010259f, 0.006717f, -0.007651f, -0.011285f, -0.004901f, 0.008628f, -0.001033f, 0.004481f, -0.001789f, -0.001242f, 0.017249f, 0.004067f, -0.001280f, -0.020554f, -0.009142f, 0.000539f, 0.007180f, 0.011004f, 0.015507f, 0.008674f, -0.003709f, 0.002780f, -0.003762f, -0.005255f, 0.011136f, -0.006993f, 0.011465f, 0.000527f, -0.010292f, 0.003727f, -0.005288f, 0.008930f, -0.007630f, -0.000872f, 0.007790f, + 0.008908f, -0.008895f, -0.003420f, -0.001648f, -0.003653f, 0.005397f, -0.001196f, -0.003783f, 0.002478f, 0.001328f, 0.001365f, 0.001540f, 0.002162f, 0.001205f, 0.001294f, 0.000610f, -0.000639f, -0.000741f, -0.003302f, 0.005179f, -0.000196f, 0.000346f, 0.000593f, 0.000117f, 0.000822f, 0.002784f, 0.002674f, -0.000083f, -0.000697f, 0.003462f, 0.002610f, 0.002085f, 0.008730f, -0.002091f, -0.001463f, -0.003222f, -0.010219f, 0.000397f, 0.007339f, 0.007311f, 0.013676f, 0.006269f, -0.017960f, -0.015002f, -0.013019f, 0.000538f, -0.002206f, 0.000953f, -0.007093f, -0.004407f, -0.001104f, 0.005452f, -0.000074f, -0.011507f, 0.012433f, -0.001777f, -0.011553f, 0.002365f, 0.002728f, -0.000237f, -0.001110f, 0.004998f, 0.006583f, -0.004121f, 0.010062f, 0.000499f, 0.005895f, -0.013724f, 0.009762f, 0.003472f, 0.005629f, -0.009446f, -0.001038f, 0.006905f, 0.005909f, 0.014987f, -0.000561f, -0.020698f, -0.005662f, -0.009915f, 0.004849f, 0.003352f, -0.000859f, -0.005527f, 0.001579f, -0.008489f, -0.003009f, -0.015457f, -0.009099f, -0.000522f, 0.008605f, 0.009604f, -0.006937f, -0.005938f, -0.006079f, 0.009871f, + -0.003372f, -0.001217f, -0.014845f, 0.008944f, -0.014652f, -0.005089f, -0.000640f, -0.003099f, -0.003983f, 0.015583f, -0.001331f, -0.003624f, -0.004176f, 0.003091f, -0.009398f, 0.001080f, -0.016295f, -0.013096f, 0.004767f, -0.004573f, -0.002438f, 0.005820f, -0.002955f, 0.007765f, 0.001526f, 0.003566f, 0.005464f, -0.001463f, 0.002637f, 0.001782f, 0.001005f, -0.001150f, 0.001994f, 0.000807f, 0.000488f, -0.001214f, -0.001287f, 0.000317f, -0.004778f, -0.000091f, 0.002989f, 0.000716f, -0.000190f, 0.000566f, -0.002935f, -0.000949f, 0.001783f, -0.000878f, 0.004156f, -0.005401f, 0.007648f, -0.006150f, 0.000006f, 0.010556f, 0.019220f, 0.013297f, 0.002854f, -0.015049f, -0.011292f, 0.004039f, -0.002584f, -0.009651f, -0.003169f, -0.012432f, -0.005346f, 0.024980f, 0.002887f, -0.002661f, -0.004654f, 0.000015f, -0.005814f, -0.004020f, 0.016889f, -0.017526f, -0.002068f, 0.001731f, -0.003750f, 0.004400f, 0.010215f, -0.004694f, -0.005771f, 0.002584f, -0.007179f, -0.007004f, -0.016297f, -0.006036f, 0.004389f, -0.014589f, -0.002446f, 0.007240f, 0.010990f, 0.003911f, -0.022886f, -0.006905f, 0.004598f, 0.011536f, + -0.008979f, 0.019908f, -0.002321f, -0.010104f, -0.005638f, -0.004310f, -0.007868f, 0.010822f, -0.008095f, -0.002159f, -0.010690f, -0.008386f, -0.003925f, -0.008528f, 0.011442f, -0.004212f, -0.022943f, 0.008762f, 0.015391f, 0.000205f, 0.005561f, -0.027882f, 0.021757f, 0.000394f, -0.018284f, 0.001844f, -0.012352f, -0.002620f, 0.001928f, -0.013270f, -0.015571f, 0.010339f, 0.004830f, -0.013482f, -0.000929f, 0.000334f, -0.008350f, -0.001057f, -0.003093f, 0.002072f, -0.007413f, -0.003825f, -0.001477f, -0.003692f, -0.001889f, -0.005450f, 0.001771f, -0.000371f, 0.002782f, -0.005926f, 0.001375f, 0.003329f, -0.000102f, -0.003375f, 0.002147f, -0.003277f, 0.003085f, 0.002517f, -0.002527f, 0.002454f, -0.000485f, -0.001744f, -0.000832f, 0.000844f, 0.001166f, 0.000698f, -0.020632f, 0.004657f, -0.015187f, 0.016241f, 0.004146f, -0.006171f, -0.012255f, -0.021483f, -0.009328f, -0.015551f, 0.005391f, 0.030070f, 0.005151f, -0.007787f, -0.000430f, -0.004096f, -0.004598f, -0.013516f, -0.008875f, -0.013916f, 0.003813f, -0.001022f, 0.003100f, -0.004852f, 0.002355f, -0.014707f, -0.000969f, 0.003399f, -0.009976f, -0.003664f, + 0.001310f, -0.005437f, 0.001493f, -0.005003f, 0.022242f, -0.027098f, -0.004782f, 0.002225f, 0.007347f, -0.002775f, -0.011093f, -0.016612f, -0.011750f, 0.008947f, -0.002323f, 0.009923f, -0.008393f, 0.025737f, 0.003425f, -0.004966f, -0.000196f, -0.015256f, -0.019475f, -0.009847f, 0.007467f, -0.016655f, -0.000949f, 0.019601f, -0.000482f, -0.009258f, -0.018525f, -0.031414f, 0.001372f, 0.016138f, -0.004397f, 0.018516f, -0.001606f, -0.005789f, -0.011539f, -0.010260f, 0.001874f, 0.007356f, -0.005854f, 0.026845f, 0.008183f, -0.008615f, 0.004206f, -0.011027f, 0.004130f, 0.005077f, -0.003614f, 0.005819f, 0.010955f, 0.004624f, 0.000580f, -0.007205f, -0.019650f, 0.001327f, -0.004405f, -0.001989f, -0.002934f, 0.001419f, 0.000501f, -0.000259f, -0.008644f, 0.001375f, -0.004926f, 0.001637f, -0.004852f, -0.001639f, -0.001211f, -0.000455f, -0.000372f, -0.000955f, -0.003464f, -0.003172f, -0.003802f, -0.005704f, -0.005992f, -0.002541f, 0.000383f, 0.001595f, -0.003111f, -0.000098f, 0.000257f, 0.000589f, -0.002350f, 0.017643f, -0.007749f, -0.020407f, -0.005582f, -0.015242f, -0.007933f, -0.006624f, 0.021616f, -0.005435f, + -0.007236f, -0.009128f, 0.013898f, 0.012480f, 0.011034f, 0.030483f, 0.031950f, 0.014783f, 0.019864f, -0.007489f, -0.009180f, 0.013199f, 0.019601f, -0.008519f, 0.008624f, 0.006037f, -0.017003f, -0.016121f, 0.009524f, -0.002375f, -0.000196f, -0.016088f, -0.020403f, -0.004874f, -0.016536f, 0.018718f, 0.035033f, 0.007218f, 0.013837f, 0.004012f, -0.004102f, 0.012497f, -0.023903f, -0.006407f, 0.004994f, 0.013317f, -0.007859f, -0.019331f, 0.028228f, -0.000066f, -0.008646f, -0.006906f, 0.011594f, -0.003470f, 0.010338f, -0.007064f, 0.016214f, -0.001366f, -0.000406f, 0.020000f, 0.006237f, 0.009223f, 0.003613f, -0.003055f, 0.014961f, -0.022767f, -0.009113f, 0.008514f, 0.025771f, -0.015669f, -0.001809f, -0.003197f, -0.003617f, -0.010737f, -0.002354f, -0.005571f, -0.007373f, -0.001054f, 0.001742f, 0.007281f, -0.003017f, 0.020679f, 0.007544f, -0.011866f, -0.002855f, 0.001550f, 0.007902f, 0.002800f, -0.003581f, -0.007156f, -0.001556f, 0.004576f, -0.004601f, -0.004027f, -0.003520f, 0.004247f, 0.002648f, 0.004195f, 0.002189f, -0.003800f, -0.001505f, 0.000133f, -0.003839f, -0.000654f, 0.003010f, 0.001873f, + -0.000473f, -0.004260f, 0.005648f, -0.000761f, 0.003516f, -0.002370f, 0.001725f, -0.004950f, -0.000480f, -0.000714f, 0.000239f, -0.003294f, 0.012772f, -0.012498f, -0.004837f, 0.011532f, -0.008951f, 0.005001f, 0.008696f, -0.017061f, -0.018204f, 0.005224f, 0.014000f, -0.004729f, 0.012782f, -0.009255f, -0.004069f, 0.024317f, -0.027514f, 0.016629f, -0.007810f, 0.000219f, 0.000776f, 0.030022f, -0.006637f, 0.005948f, 0.009575f, 0.016551f, 0.009704f, 0.014502f, -0.002372f, -0.002307f, 0.004763f, 0.002352f, 0.002445f, -0.014461f, 0.022544f, -0.030001f, -0.006577f, -0.007882f, 0.016804f, -0.003360f, 0.020471f, -0.000918f, 0.001960f, -0.035703f, -0.009772f, 0.021801f, 0.037057f, -0.000315f, -0.018346f, -0.015459f, 0.015238f, 0.012255f, 0.009228f, 0.008750f, -0.015723f, -0.007187f, -0.009090f, 0.004836f, 0.000701f, -0.009655f, 0.005732f, 0.005000f, -0.004488f, -0.004931f, -0.021529f, -0.005658f, -0.007881f, 0.030841f, 0.002852f, 0.005836f, 0.011711f, 0.000954f, -0.024097f, 0.001232f, -0.014496f, 0.012075f, 0.028802f, -0.015226f, 0.008926f, -0.004360f, -0.014906f, 0.007252f, -0.012491f, -0.002135f, + 0.005251f, 0.003901f, 0.006614f, 0.002811f, -0.001016f, -0.005442f, 0.006258f, 0.013519f, 0.002293f, 0.006714f, 0.011121f, 0.004969f, 0.012570f, -0.003761f, 0.011890f, 0.000624f, 0.000302f, 0.002614f, 0.001350f, 0.003438f, -0.000341f, -0.005805f, -0.003224f, 0.000278f, 0.003199f, 0.003371f, -0.002261f, 0.005777f, 0.005469f, -0.004563f, 0.007724f, 0.013009f, -0.022385f, -0.008618f, -0.008422f, 0.004255f, -0.001291f, 0.033299f, -0.004187f, 0.001156f, 0.021139f, -0.018863f, -0.013696f, -0.017686f, -0.018511f, -0.004503f, -0.000683f, 0.008302f, 0.035621f, -0.003280f, -0.020508f, 0.036870f, 0.000604f, 0.010298f, 0.025212f, 0.017363f, 0.023529f, -0.006185f, 0.018587f, -0.012036f, 0.024632f, 0.021507f, -0.005844f, 0.011189f, -0.009919f, -0.009244f, 0.009301f, 0.028155f, 0.012693f, 0.011104f, 0.003989f, -0.009043f, -0.015584f, -0.015906f, 0.002569f, 0.019335f, -0.011288f, -0.013636f, -0.016688f, -0.006394f, -0.033075f, -0.007820f, 0.006335f, -0.024367f, 0.011745f, 0.001658f, -0.011092f, -0.028616f, -0.019088f, -0.000045f, -0.037865f, 0.011787f, 0.008376f, -0.000928f, 0.010544f, 0.006767f, + -0.003700f, -0.019821f, -0.011955f, -0.002325f, -0.012503f, 0.011551f, -0.013102f, 0.031243f, -0.021117f, 0.001001f, 0.013762f, 0.001094f, -0.009445f, -0.036306f, 0.006299f, 0.017605f, 0.004289f, 0.000904f, 0.019619f, 0.010689f, -0.011253f, -0.000130f, -0.001313f, 0.001321f, -0.000805f, -0.006407f, -0.012751f, -0.003964f, -0.013775f, 0.000611f, 0.003441f, 0.001518f, -0.003570f, -0.007289f, -0.003302f, -0.004927f, 0.005980f, 0.001625f, 0.007825f, 0.005394f, 0.004494f, 0.001536f, -0.000648f, -0.002908f, -0.002424f, -0.006439f, 0.002873f, 0.000200f, 0.002862f, -0.003229f, -0.000416f, -0.005441f, 0.000333f, -0.004310f, 0.001613f, -0.046225f, 0.016240f, 0.021118f, 0.037146f, -0.000101f, -0.027583f, 0.007796f, 0.013295f, -0.028552f, -0.029699f, -0.018552f, -0.000730f, 0.015873f, -0.000816f, -0.011620f, -0.000604f, -0.010165f, -0.006849f, -0.018398f, 0.030753f, 0.024037f, 0.009047f, -0.037687f, -0.011294f, 0.006087f, -0.002141f, -0.008373f, 0.047738f, 0.017514f, 0.015005f, 0.014077f, 0.022663f, 0.017028f, 0.004148f, 0.017828f, -0.001206f, -0.029601f, 0.016044f, -0.030450f, 0.009323f, -0.030145f, + 0.025501f, -0.007945f, 0.030790f, -0.016761f, 0.007490f, -0.013549f, 0.011105f, 0.018044f, 0.046993f, 0.009972f, -0.059733f, -0.003124f, -0.008304f, 0.012872f, 0.026117f, -0.005241f, -0.011593f, 0.019230f, -0.003380f, -0.009375f, 0.025727f, 0.001678f, -0.001130f, 0.001354f, 0.011024f, 0.020621f, 0.016301f, -0.017628f, -0.013133f, -0.011102f, -0.017925f, 0.004258f, -0.001650f, 0.020391f, 0.014627f, -0.027385f, -0.006610f, -0.015466f, 0.013325f, -0.007499f, -0.007323f, 0.004865f, 0.000900f, -0.010511f, 0.009076f, 0.002276f, 0.001514f, -0.001496f, 0.005163f, 0.005409f, 0.000856f, -0.015466f, 0.004343f, 0.002784f, -0.001993f, -0.002667f, -0.005163f, 0.000274f, -0.006909f, 0.003281f, 0.007796f, -0.002294f, -0.002317f, 0.007729f, 0.001194f, -0.007051f, -0.005471f, -0.001203f, 0.003722f, -0.003024f, -0.000748f, -0.004302f, 0.001170f, -0.002847f, 0.000029f, 0.007439f, -0.004932f, 0.050323f, -0.019099f, -0.033569f, -0.010701f, 0.013088f, -0.008317f, 0.024175f, 0.034983f, -0.014098f, 0.032082f, 0.020642f, 0.016116f, -0.005322f, -0.003893f, -0.006487f, 0.031118f, 0.005678f, 0.003728f, -0.018147f, + 0.007868f, -0.009491f, -0.000819f, -0.029960f, 0.020267f, -0.027493f, 0.000101f, -0.019396f, 0.032460f, -0.016617f, 0.000700f, 0.032083f, 0.024373f, 0.016481f, -0.001989f, -0.012753f, 0.014893f, -0.000480f, -0.002910f, -0.041000f, -0.012199f, -0.024769f, -0.020141f, -0.015711f, -0.007429f, 0.021302f, 0.013366f, 0.012419f, 0.000026f, 0.031357f, -0.016640f, 0.033182f, 0.029156f, 0.031299f, 0.054742f, -0.021184f, -0.016551f, 0.024070f, 0.004507f, -0.021262f, 0.033020f, -0.010884f, -0.015983f, 0.010711f, -0.004116f, -0.011475f, -0.009489f, 0.014179f, -0.019196f, 0.008675f, -0.011906f, 0.030333f, -0.012944f, 0.000454f, 0.008827f, 0.022110f, 0.030048f, 0.002384f, -0.026308f, -0.028573f, 0.009294f, -0.019048f, -0.061292f, -0.032276f, 0.009734f, -0.000729f, 0.017676f, 0.002224f, -0.010086f, -0.001207f, -0.005875f, 0.002556f, -0.010672f, -0.004725f, -0.007341f, -0.003122f, 0.000789f, -0.001378f, -0.019182f, -0.005086f, -0.012583f, -0.011321f, -0.008893f, 0.003823f, -0.000942f, 0.000707f, -0.013987f, -0.009788f, -0.000581f, -0.000613f, 0.002658f, 0.007099f, 0.005839f, 0.004293f, -0.010087f, 0.000395f, + 0.002221f, -0.013063f, 0.004500f, 0.000662f, 0.005571f, 0.002457f, 0.007124f, 0.003942f, -0.003013f, 0.005968f, -0.004727f, -0.003590f, -0.046957f, -0.039694f, -0.001922f, 0.008335f, -0.027104f, 0.001198f, 0.002394f, 0.043644f, -0.028476f, -0.032579f, 0.010552f, -0.013734f, -0.000058f, -0.023808f, 0.022668f, -0.024189f, -0.032404f, -0.019610f, 0.037437f, -0.025551f, -0.020873f, -0.004819f, 0.015196f, -0.011209f, -0.026863f, 0.008319f, -0.010883f, 0.000144f, 0.012216f, -0.035440f, -0.002676f, 0.019605f, 0.031524f, -0.004806f, 0.048190f, 0.021115f, -0.005499f, 0.002126f, 0.021913f, -0.009044f, -0.019604f, 0.003701f, 0.026103f, 0.002892f, 0.012529f, 0.000568f, -0.021385f, 0.007372f, -0.046941f, 0.004253f, 0.002546f, -0.005998f, -0.027650f, -0.025116f, 0.003043f, -0.011467f, -0.018986f, -0.012733f, -0.015286f, 0.017946f, -0.030918f, -0.017664f, -0.008919f, 0.013431f, -0.018194f, 0.037887f, -0.005712f, -0.031879f, -0.002766f, -0.018987f, -0.050548f, -0.015137f, 0.003340f, -0.001559f, -0.032841f, -0.017553f, -0.007502f, 0.007464f, -0.019521f, -0.009707f, 0.032389f, -0.011546f, -0.044222f, -0.015576f, + 0.005717f, 0.003365f, 0.014524f, 0.012272f, 0.009162f, -0.010292f, -0.012854f, -0.003080f, -0.008984f, 0.006436f, 0.001937f, -0.005687f, 0.009456f, 0.003928f, 0.005555f, -0.003839f, 0.004550f, 0.003401f, -0.000036f, -0.001899f, -0.003283f, -0.004120f, 0.000072f, 0.002550f, -0.015727f, 0.003354f, -0.009054f, 0.010088f, 0.003731f, -0.011641f, -0.010306f, -0.000913f, -0.008160f, -0.001208f, 0.003308f, -0.002962f, -0.005513f, -0.008638f, -0.006566f, 0.004532f, 0.001671f, -0.009782f, 0.003637f, 0.001003f, -0.006513f, -0.005546f, 0.035853f, 0.032045f, 0.009609f, 0.065598f, -0.012183f, -0.022912f, -0.020528f, -0.009614f, -0.035334f, 0.047746f, -0.028597f, -0.010438f, -0.023162f, -0.011950f, -0.010885f, 0.005637f, -0.033602f, 0.000528f, 0.000394f, -0.004632f, 0.009560f, -0.035523f, -0.009016f, 0.024375f, -0.024181f, 0.001334f, -0.031294f, 0.030055f, 0.000195f, -0.053376f, -0.027680f, -0.009662f, -0.001125f, 0.014849f, -0.032398f, -0.018174f, 0.022287f, -0.003801f, 0.015404f, 0.014151f, 0.013990f, -0.019449f, 0.002204f, 0.023619f, 0.008765f, -0.044061f, 0.028449f, 0.020520f, -0.023775f, 0.067688f, + -0.001150f, -0.048570f, 0.013530f, 0.015356f, -0.000989f, 0.036128f, -0.010975f, -0.060341f, 0.017126f, 0.008663f, 0.018197f, 0.021429f, -0.027466f, 0.043674f, 0.016564f, 0.013589f, -0.010243f, 0.066135f, -0.004930f, 0.001150f, 0.045279f, -0.007701f, 0.020742f, 0.035731f, 0.012407f, 0.005338f, -0.008407f, 0.017179f, 0.000914f, 0.030212f, -0.013090f, 0.029409f, 0.027157f, 0.001654f, 0.026877f, 0.015984f, 0.021459f, -0.010827f, 0.000140f, 0.024409f, 0.017803f, 0.013115f, 0.008077f, 0.008357f, -0.015887f, -0.001882f, 0.001014f, -0.007516f, 0.001254f, -0.002725f, -0.006658f, 0.014145f, -0.014271f, -0.002749f, -0.013991f, 0.012327f, -0.005802f, 0.014772f, -0.012313f, 0.002060f, -0.008489f, -0.012434f, 0.008930f, -0.004744f, -0.000023f, -0.012136f, -0.017723f, -0.013376f, 0.014252f, 0.001334f, -0.005428f, 0.001470f, 0.017678f, 0.012593f, -0.004924f, 0.006107f, 0.000571f, -0.004875f, 0.018290f, 0.000634f, 0.013213f, -0.046805f, -0.045939f, 0.094207f, 0.030382f, -0.058862f, -0.029609f, -0.027007f, -0.053908f, -0.004018f, -0.028459f, 0.039231f, -0.022205f, 0.000181f, 0.048928f, 0.001040f, + 0.008110f, -0.036060f, 0.045108f, 0.033624f, -0.000614f, -0.010900f, -0.003548f, -0.028037f, 0.002098f, 0.003549f, 0.005692f, -0.038522f, -0.005641f, -0.002240f, -0.011627f, -0.008586f, -0.026583f, 0.025140f, 0.049785f, 0.059839f, -0.004913f, -0.024253f, -0.010153f, -0.012406f, -0.008428f, -0.036741f, 0.012457f, 0.014346f, 0.013134f, -0.038286f, -0.051138f, 0.055225f, 0.020816f, 0.030927f, 0.040074f, 0.037617f, -0.016354f, -0.025725f, 0.036257f, -0.036946f, 0.018695f, -0.027652f, -0.021261f, -0.012335f, 0.043145f, -0.014320f, 0.008727f, 0.014852f, -0.007927f, -0.034930f, 0.072175f, -0.043667f, 0.004429f, 0.052330f, -0.047420f, -0.021420f, 0.005512f, 0.019156f, 0.053730f, 0.009660f, -0.031260f, 0.000918f, 0.006494f, -0.007279f, -0.013165f, 0.007778f, -0.021917f, 0.016784f, -0.018156f, -0.025358f, 0.013631f, 0.007749f, 0.019289f, 0.008764f, -0.000782f, -0.008759f, 0.002110f, 0.005479f, 0.005897f, 0.020774f, -0.001275f, 0.002934f, 0.012786f, -0.030588f, 0.004327f, -0.013740f, 0.003283f, 0.003497f, -0.005039f, -0.011526f, -0.014471f, -0.003433f, -0.014524f, 0.005750f, 0.007747f, 0.017804f, + -0.001654f, -0.011766f, 0.011202f, 0.013824f, 0.008258f, 0.008490f, -0.022163f, 0.000870f, 0.005462f, -0.005371f, 0.018883f, -0.007020f, 0.001325f, 0.002126f, 0.017426f, -0.008257f, 0.005139f, 0.024448f, -0.015739f, 0.015314f, 0.062728f, 0.037784f, -0.005724f, -0.040261f, 0.004156f, 0.064326f, 0.051208f, 0.010743f, -0.051015f, -0.019682f, -0.044051f, -0.003336f, 0.034380f, 0.042482f, -0.003175f, 0.016114f, 0.050502f, 0.053750f, 0.083434f, 0.083987f, -0.042018f, 0.018233f, -0.045369f, -0.008251f, -0.036790f, -0.013254f, 0.028909f, -0.006540f, 0.012625f, 0.011331f, -0.026158f, -0.019178f, 0.021259f, 0.023708f, 0.030778f, 0.021859f, -0.001098f, 0.022537f, 0.033977f, -0.018076f, 0.017179f, 0.020014f, 0.005921f, 0.019544f, 0.065058f, -0.048996f, -0.042187f, -0.009547f, 0.040178f, 0.038494f, -0.022967f, -0.000356f, 0.061754f, 0.049928f, -0.035088f, -0.023428f, 0.021182f, -0.042845f, 0.011839f, -0.020654f, -0.038866f, 0.012470f, -0.045656f, 0.047297f, 0.017339f, 0.052399f, -0.022100f, -0.030767f, -0.059342f, -0.012909f, 0.019300f, -0.052022f, -0.044503f, -0.024415f, 0.023143f, 0.013657f, + 0.010853f, -0.022970f, 0.009859f, -0.016468f, 0.006228f, 0.048158f, -0.020613f, 0.005565f, -0.027447f, 0.020615f, -0.011364f, -0.023098f, 0.016147f, 0.022412f, -0.012615f, -0.006597f, -0.007508f, 0.016055f, 0.035900f, -0.011655f, -0.024289f, 0.000395f, -0.000540f, -0.009101f, -0.003945f, -0.033685f, 0.004545f, -0.017972f, -0.008097f, 0.011996f, -0.011064f, -0.006128f, -0.001112f, -0.009467f, 0.014661f, -0.014910f, -0.023374f, -0.021243f, -0.017888f, 0.018682f, 0.009793f, -0.004513f, 0.008205f, 0.005420f, -0.015208f, -0.016646f, 0.005967f, -0.029357f, 0.024770f, 0.063113f, -0.004057f, -0.019523f, 0.040532f, 0.008343f, -0.002315f, -0.060067f, 0.052792f, -0.026037f, -0.057062f, -0.019384f, 0.003889f, 0.065815f, 0.006331f, 0.047167f, 0.019146f, -0.055835f, -0.012114f, -0.049464f, 0.007972f, -0.049305f, -0.035432f, -0.021163f, 0.002513f, 0.010380f, -0.038193f, 0.037523f, -0.012075f, 0.022806f, 0.024537f, 0.024265f, 0.045541f, 0.083025f, 0.048745f, -0.015834f, -0.040806f, -0.001420f, 0.087443f, 0.054466f, -0.029733f, 0.043525f, -0.016736f, 0.053164f, -0.026377f, 0.005169f, -0.019739f, -0.009802f, + -0.002947f, -0.014930f, 0.131405f, -0.024986f, -0.036231f, -0.041911f, -0.058918f, -0.022675f, -0.045404f, -0.002020f, 0.050801f, -0.020217f, 0.015025f, -0.016901f, -0.025882f, 0.046192f, -0.012820f, 0.077813f, 0.014444f, 0.062244f, -0.076002f, 0.031323f, 0.133587f, 0.048611f, -0.074466f, 0.044359f, 0.040640f, 0.002461f, 0.008646f, -0.022818f, 0.025472f, 0.117261f, 0.062380f, 0.026330f, 0.035592f, -0.036658f, 0.067891f, -0.007079f, 0.010464f, 0.010789f, 0.016788f, 0.007893f, 0.044671f, -0.036855f, -0.009169f, 0.003240f, 0.056942f, -0.009575f, 0.013995f, 0.065940f, -0.005146f, -0.036642f, -0.008437f, 0.024272f, 0.004045f, -0.015473f, -0.037130f, 0.021667f, 0.015557f, -0.025555f, -0.014991f, 0.017787f, -0.031402f, -0.026115f, 0.008556f, 0.013142f, -0.000057f, 0.009149f, 0.006235f, 0.010691f, -0.011471f, 0.011182f, -0.006961f, -0.009323f, 0.010323f, 0.004471f, 0.014263f, 0.002210f, 0.091285f, 0.042595f, 0.010136f, -0.002913f, -0.099757f, 0.046400f, 0.062583f, -0.045215f, -0.032881f, 0.077275f, 0.050418f, -0.062061f, -0.065808f, 0.002180f, -0.038476f, 0.016584f, 0.006343f, 0.015816f, + -0.061839f, 0.015994f, -0.012030f, -0.030966f, 0.054927f, -0.004005f, -0.009145f, 0.018280f, 0.046071f, 0.041197f, 0.028336f, -0.053110f, 0.001176f, -0.026031f, -0.056362f, 0.020323f, 0.015998f, 0.034502f, -0.011872f, -0.026543f, 0.072208f, -0.052062f, 0.022933f, 0.024798f, 0.020455f, 0.015214f, -0.008890f, 0.042359f, -0.039471f, -0.068619f, -0.011384f, -0.078568f, 0.068793f, 0.041888f, 0.067515f, -0.005785f, 0.013382f, -0.054775f, 0.056731f, 0.071026f, 0.025738f, -0.030733f, -0.079873f, -0.018792f, -0.105409f, 0.001152f, -0.019514f, -0.072004f, -0.060593f, 0.027376f, 0.004597f, 0.043594f, -0.033904f, 0.050027f, 0.042643f, -0.060366f, 0.012862f, -0.036263f, -0.009947f, -0.054607f, 0.007064f, 0.157034f, 0.039490f, 0.045703f, 0.057915f, 0.025218f, -0.044515f, -0.006690f, -0.000434f, 0.036824f, -0.008374f, 0.037843f, -0.017194f, -0.024260f, 0.001150f, -0.003272f, -0.043949f, 0.037376f, -0.006799f, -0.011450f, -0.013473f, -0.031577f, 0.004680f, -0.015251f, -0.019527f, -0.029412f, -0.022392f, 0.013374f, -0.016101f, 0.013073f, 0.015923f, -0.011702f, -0.018160f, -0.025525f, 0.011638f, -0.005177f, + 0.010860f, 0.037309f, 0.023960f, -0.001130f, -0.002870f, 0.011471f, 0.024045f, -0.024201f, 0.021248f, -0.024402f, -0.010283f, -0.062411f, 0.028139f, 0.021600f, -0.029125f, 0.010959f, -0.014781f, -0.094118f, -0.024583f, 0.024048f, -0.010554f, 0.011078f, -0.052288f, 0.069504f, -0.090172f, 0.007824f, -0.065942f, 0.046807f, 0.051296f, 0.017301f, 0.042992f, 0.005437f, -0.043347f, 0.075401f, -0.034447f, 0.008611f, 0.001558f, -0.042207f, 0.071253f, 0.005694f, 0.018776f, 0.016305f, 0.022511f, 0.012586f, 0.053485f, 0.063393f, 0.021531f, 0.073941f, -0.063123f, -0.004048f, 0.000450f, 0.094327f, -0.017448f, 0.075388f, 0.042045f, 0.103283f, 0.020591f, -0.022356f, -0.032217f, 0.041581f, -0.076130f, 0.073161f, -0.043148f, -0.024877f, -0.011666f, 0.015482f, 0.055239f, -0.011913f, -0.098831f, -0.026684f, 0.161327f, 0.012835f, -0.100804f, 0.025949f, -0.066594f, 0.020867f, 0.158959f, -0.042668f, -0.042898f, 0.110938f, -0.118203f, 0.060892f, 0.027728f, 0.036807f, 0.103702f, 0.066214f, -0.091254f, 0.113905f, 0.074937f, 0.004379f, 0.120981f, -0.048525f, -0.015934f, 0.088183f, 0.058135f, 0.011433f, + 0.024094f, 0.000910f, -0.000480f, 0.011568f, 0.030652f, -0.026005f, 0.032363f, 0.033516f, -0.026273f, 0.015136f, 0.022786f, -0.037650f, -0.002793f, 0.015564f, -0.002809f, 0.008455f, 0.049966f, 0.001915f, 0.033580f, -0.016170f, 0.001318f, 0.024885f, -0.014007f, -0.011242f, -0.031360f, 0.006690f, 0.030366f, 0.020844f, 0.028666f, -0.050675f, 0.029969f, 0.035089f, 0.016369f, 0.007150f, 0.015056f, -0.001154f, 0.031892f, 0.056347f, 0.014574f, 0.027844f, 0.026307f, -0.011465f, -0.013329f, 0.027521f, 0.040123f, 0.054541f, 0.103982f, 0.051776f, -0.049859f, 0.066497f, 0.019930f, 0.059994f, -0.017282f, -0.111047f, 0.112909f, 0.098050f, 0.060248f, 0.185111f, -0.017265f, -0.155298f, -0.080299f, -0.073282f, 0.164174f, 0.120702f, 0.029180f, -0.010412f, -0.030006f, -0.108559f, -0.051582f, -0.035147f, -0.062403f, 0.167116f, 0.135548f, 0.188485f, 0.003498f, -0.215505f, -0.335706f, -0.163646f, 0.187043f, 0.252487f, 0.257751f, 0.103997f, -0.213655f, -0.392435f, -0.240710f, -0.121362f, 0.181108f, 0.308064f, 0.174886f, 0.095261f, 0.025450f, -0.138725f, -0.186651f, -0.139496f, -0.010526f, 0.108495f, + 0.219552f, 0.262673f, 0.046681f, 0.051579f, -0.208288f, -0.344995f, -0.184078f, 0.172355f, 0.288862f, 0.274111f, 0.171004f, -0.100115f, -0.335815f, -0.217121f, -0.281600f, 0.001428f, 0.191172f, 0.206989f, 0.103572f, -0.081571f, -0.176815f, -0.156293f, -0.123902f, 0.037185f, 0.117749f, 0.083333f, 0.238225f, 0.086647f, -0.053338f, -0.140215f, -0.052328f, 0.159443f, 0.231892f, 0.079025f, -0.009136f, -0.141152f, -0.028932f, -0.031082f, 0.091457f, 0.035597f, -0.023522f, -0.097133f, -0.029624f, 0.006498f, -0.016002f, -0.028354f, -0.006677f, 0.024391f, 0.049333f, 0.085085f, 0.040128f, -0.081270f, -0.073899f, -0.067557f, 0.016153f, 0.089688f, 0.097714f, 0.046909f, 0.010040f, -0.061187f, -0.027547f, -0.121293f, -0.109228f, -0.007720f, 0.031715f, 0.136898f, 0.202662f, 0.079096f, -0.071401f, -0.165559f, -0.209417f, -0.085564f, 0.163221f, 0.272700f, 0.185046f, 0.058719f, -0.136526f, -0.219047f, -0.109218f, 0.001847f, 0.039555f, 0.042535f, 0.093458f, 0.050695f, 0.020050f, -0.053549f, -0.120388f, -0.087259f, 0.011646f, -0.023407f, -0.060251f, 0.069727f, 0.010105f, -0.100807f, 0.013095f, -0.026171f, + -0.040360f, 0.030445f, -0.030870f, -0.012253f, -0.053796f, 0.003230f, -0.020398f, -0.040215f, 0.016422f, -0.004444f, 0.013823f, 0.006653f, 0.033859f, -0.032786f, -0.010723f, 0.010275f, 0.004057f, 0.015706f, -0.013619f, 0.033922f, -0.023377f, 0.023425f, 0.011507f, -0.010744f, -0.024549f, -0.010591f, -0.046387f, 0.051241f, -0.004090f, 0.001953f, -0.008322f, -0.011934f, 0.003390f, -0.001240f, 0.001921f, 0.019969f, 0.012384f, -0.000334f, 0.029259f, -0.024495f, 0.009486f, -0.023253f, 0.026394f, 0.015950f, -0.018760f, 0.013888f, -0.023038f, -0.026507f, -0.020942f, -0.041005f, -0.003788f, 0.031190f, -0.027567f, -0.055871f, -0.037745f, 0.003517f, 0.034842f, 0.000847f, 0.026141f, -0.053196f, -0.013386f, -0.006091f, -0.004243f, -0.052040f, -0.012477f, 0.001813f, 0.008180f, -0.018627f, 0.054889f, 0.021908f, -0.017077f, 0.050100f, -0.004502f, -0.089623f, -0.003294f, -0.013076f, -0.007633f, 0.017230f, 0.011773f, 0.023750f, -0.027609f, 0.038432f, -0.065485f, 0.018911f, 0.012029f, -0.002901f, 0.000368f, -0.004431f, -0.004164f, 0.021921f, -0.003776f, 0.003723f, -0.009552f, -0.001179f, -0.018959f, 0.004714f, + 0.000489f, 0.038228f, 0.000019f, 0.016793f, -0.017394f, 0.001885f, -0.008574f, -0.023000f, 0.007375f, -0.000867f, -0.010930f, 0.027124f, -0.004883f, -0.007446f, -0.010783f, 0.019782f, -0.007313f, -0.038452f, 0.008162f, -0.007928f, 0.012124f, -0.016638f, 0.002058f, -0.005149f, -0.022932f, 0.021003f, -0.020247f, 0.014293f, -0.019325f, 0.009900f, -0.001448f, -0.007926f, -0.054442f, -0.089327f, -0.140335f, 0.005158f, 0.115860f, -0.044277f, -0.071071f, -0.075966f, -0.071780f, 0.015034f, 0.014924f, 0.133542f, -0.019290f, -0.019126f, -0.059372f, 0.006697f, 0.018099f, 0.042080f, -0.044623f, 0.022660f, -0.032446f, 0.052319f, 0.016701f, 0.017159f, 0.006325f, -0.032498f, -0.017666f, -0.021169f, -0.006970f, 0.018959f, -0.019583f, -0.017254f, 0.036907f, -0.033648f, -0.020977f, 0.030496f, -0.028979f, -0.010647f, -0.024872f, -0.040623f, 0.014394f, 0.026674f, 0.004930f, 0.025130f, -0.038189f, -0.009732f, -0.001105f, 0.022158f, 0.027473f, 0.033999f, 0.002405f, -0.003578f, -0.057448f, -0.059081f, -0.021821f, -0.019179f, -0.012902f, 0.027087f, 0.037174f, 0.052423f, 0.005809f, -0.023991f, 0.052612f, -0.037626f, + -0.016781f, 0.023352f, -0.016449f, 0.069001f, 0.003537f, -0.011574f, 0.011721f, -0.025305f, 0.020051f, 0.047765f, 0.039227f, -0.014244f, 0.014856f, -0.046580f, -0.030329f, -0.017351f, -0.011460f, 0.034371f, -0.004449f, 0.033548f, 0.008968f, -0.011229f, 0.004065f, 0.005888f, -0.040282f, 0.023819f, -0.029812f, 0.018373f, -0.013674f, -0.008596f, -0.002080f, 0.021788f, -0.020919f, 0.002398f, 0.003715f, 0.018979f, 0.033704f, -0.017390f, -0.005008f, -0.027050f, -0.010749f, 0.008973f, -0.010518f, 0.007059f, -0.008218f, -0.011288f, -0.018587f, -0.029580f, -0.016088f, 0.026304f, -0.010446f, 0.012754f, -0.019151f, -0.004850f, -0.001508f, -0.006500f, -0.017167f, -0.008185f, 0.001968f, -0.002467f, 0.000263f, -0.000454f, -0.025982f, 0.036575f, -0.090420f, -0.211368f, -0.161532f, -0.018644f, 0.069922f, 0.182362f, 0.153947f, 0.147005f, 0.150095f, 0.099079f, 0.041702f, -0.054096f, -0.096013f, -0.183177f, -0.135029f, -0.132622f, -0.132295f, -0.082235f, 0.079742f, 0.107571f, 0.157978f, 0.121372f, 0.101587f, 0.033582f, 0.067736f, -0.015213f, -0.017641f, -0.021253f, -0.037182f, -0.069328f, -0.056932f, -0.116797f, + -0.042663f, -0.092744f, -0.044323f, -0.021884f, 0.030280f, 0.006150f, 0.043369f, 0.010136f, 0.060780f, 0.044860f, 0.073545f, 0.098021f, 0.121526f, 0.077907f, 0.052141f, 0.086551f, 0.006534f, -0.029320f, -0.106940f, -0.125128f, -0.172431f, -0.153455f, -0.143736f, -0.054897f, -0.094400f, -0.049198f, 0.005608f, 0.026107f, 0.060648f, 0.116166f, 0.123490f, 0.138353f, 0.208612f, 0.117684f, 0.159776f, 0.111068f, 0.025088f, -0.016836f, -0.065763f, -0.166931f, -0.182936f, -0.173825f, -0.193241f, -0.141587f, -0.099091f, -0.079193f, -0.021943f, 0.040805f, 0.067898f, 0.086712f, 0.128533f, 0.136901f, 0.143776f, 0.136213f, 0.084580f, 0.059388f, 0.027911f, 0.003261f, -0.000604f, -0.040890f, -0.067406f, -0.096864f, -0.115661f, -0.122326f, -0.116178f, -0.081274f, -0.036846f, -0.032632f, -0.012663f, 0.021933f, 0.057491f, 0.072149f, 0.136003f, 0.096275f, 0.075613f, 0.076031f, 0.027112f, -0.002959f, -0.019914f, -0.023977f, -0.025912f, -0.065901f, -0.059604f, -0.042718f, -0.045216f, -0.032695f, 0.004113f, 0.010448f, 0.012827f, -0.007814f, 0.021444f, 0.000776f, 0.025415f, 0.026630f, 0.008430f, -0.009015f, + -0.001335f, 0.005821f, 0.003428f, 0.004235f, 0.011911f, 0.002768f, -0.006342f, -0.019124f, -0.004636f, 0.004359f, -0.000714f, 0.011876f, 0.009076f, -0.002015f, -0.001966f, -0.008177f, -0.006682f, -0.004432f, -0.003074f, -0.003653f, 0.002603f, -0.002224f, -0.001733f, -0.000508f, -0.004054f, -0.005399f, 0.000514f, 0.001086f, 0.001652f, 0.001186f, 0.000798f} + }, + { + {-0.017318f, 0.013452f, 0.000685f, 0.006191f, 0.006143f, 0.017404f, 0.008199f, -0.006398f, -0.008086f, -0.011289f, 0.008127f, -0.009873f, -0.007173f, 0.001639f, 0.002513f, 0.001094f, 0.010220f, -0.003309f, 0.009554f, -0.002419f, 0.008578f, -0.008080f, 0.003775f, -0.003557f, -0.008636f, -0.000589f, -0.016492f, 0.002499f, 0.004074f, 0.007406f, -0.006011f, -0.000076f, 0.006465f, -0.004722f, 0.007259f, 0.006835f, -0.004071f, 0.004914f, -0.005463f, -0.002531f, -0.004034f, -0.005904f, -0.007506f, 0.006758f, 0.009974f, -0.007431f, 0.004437f, 0.008023f, 0.006497f, 0.009818f, 0.001251f, -0.001454f, 0.005726f, 0.004349f, -0.010341f, -0.000378f, 0.001218f, 0.000677f, 0.003308f, 0.006732f, 0.001525f, 0.002451f, -0.003577f, -0.002261f, 0.004772f, 0.006688f, 0.003739f, -0.003522f, -0.006170f, 0.006894f, -0.005568f, -0.001802f, 0.003869f, -0.001149f, -0.000234f, 0.002944f, 0.000712f, 0.000198f, 0.006254f, -0.006095f, 0.004663f, 0.002539f, 0.003063f, 0.005769f, -0.002303f, -0.000660f, -0.001932f, -0.000801f, 0.000253f, 0.002827f, -0.002225f, -0.000403f, -0.001533f, -0.000887f, 0.000108f, -0.000217f, + -0.000888f, -0.000635f, 0.000648f, 0.000837f, -0.000005f, -0.000364f, -0.000612f, 0.000092f, -0.000187f, 0.000097f, -0.000884f, -0.000201f, 0.000908f, -0.001991f, 0.006860f, -0.003643f, 0.005025f, 0.000477f, -0.000430f, -0.013985f, 0.002240f, 0.011905f, -0.007316f, 0.004917f, -0.014851f, -0.015026f, -0.004955f, -0.012219f, -0.010667f, -0.001609f, 0.002198f, 0.008389f, 0.001331f, -0.004047f, 0.001896f, 0.005709f, -0.007389f, 0.010229f, -0.006937f, -0.007501f, 0.008665f, -0.004317f, 0.009983f, 0.012691f, 0.001754f, -0.009158f, 0.006403f, 0.004185f, 0.002564f, -0.004661f, -0.003381f, 0.005330f, 0.004448f, 0.000905f, -0.010353f, -0.002987f, -0.009564f, 0.008634f, -0.008633f, -0.005628f, 0.006352f, 0.000301f, 0.005513f, 0.001580f, 0.002113f, 0.009398f, 0.001586f, 0.010541f, -0.013593f, -0.006975f, -0.003146f, 0.006736f, 0.009518f, 0.010886f, 0.014804f, 0.001611f, -0.004224f, -0.001414f, -0.001993f, -0.000450f, -0.009630f, -0.004211f, -0.004193f, -0.001167f, 0.001480f, -0.007802f, -0.004629f, -0.001757f, -0.003331f, -0.006099f, 0.007328f, -0.007332f, -0.002509f, 0.004891f, -0.012579f, 0.003807f, + 0.006846f, 0.007610f, 0.003993f, 0.002212f, 0.004548f, -0.002224f, -0.004885f, -0.001221f, 0.001305f, -0.000515f, 0.001305f, 0.000250f, -0.001366f, 0.000107f, -0.001964f, -0.002287f, 0.002789f, 0.001271f, -0.000270f, -0.000009f, -0.000033f, 0.002138f, 0.000976f, -0.000816f, -0.000881f, -0.000852f, 0.000146f, 0.001586f, -0.001878f, -0.000298f, -0.000118f, -0.000330f, 0.001023f, -0.000034f, -0.000770f, 0.015925f, -0.011762f, -0.004398f, -0.002298f, 0.009801f, 0.008851f, -0.008882f, -0.000785f, -0.016509f, -0.003584f, 0.020073f, 0.007582f, -0.008040f, 0.014424f, 0.004723f, 0.005566f, 0.001495f, -0.004798f, -0.015755f, 0.002150f, -0.007081f, -0.004467f, -0.002858f, -0.009587f, -0.003378f, -0.007414f, 0.005222f, -0.003339f, -0.004331f, 0.009035f, -0.016958f, 0.015657f, -0.005482f, 0.002252f, -0.005292f, 0.004908f, -0.000607f, -0.001531f, -0.000394f, 0.006681f, 0.000356f, 0.004234f, -0.006044f, 0.011735f, -0.009078f, 0.013660f, 0.002930f, -0.001322f, -0.007606f, -0.008927f, 0.018555f, 0.003221f, -0.017343f, 0.017789f, 0.016769f, -0.009067f, -0.003306f, 0.005282f, -0.006830f, -0.001253f, -0.004199f, + 0.004228f, 0.010706f, -0.006474f, 0.002468f, -0.004844f, -0.004421f, 0.001772f, 0.014403f, -0.013163f, 0.008025f, -0.013568f, -0.010423f, -0.009795f, -0.001707f, 0.000286f, 0.000018f, 0.008240f, 0.012754f, 0.003337f, 0.003114f, 0.006230f, 0.005066f, 0.002797f, 0.003185f, 0.003740f, -0.001355f, 0.004024f, -0.001812f, -0.003934f, 0.006798f, -0.000333f, 0.000957f, -0.001224f, -0.001987f, -0.001174f, 0.000068f, 0.002869f, -0.000702f, 0.000646f, 0.000311f, -0.002547f, 0.000047f, 0.001412f, 0.001827f, -0.000208f, 0.001601f, 0.004541f, -0.006094f, 0.000737f, -0.012038f, 0.011600f, -0.016921f, 0.000722f, 0.017788f, -0.032133f, 0.022490f, 0.009034f, -0.008492f, 0.007133f, -0.000583f, 0.019617f, -0.001969f, -0.016086f, -0.011218f, 0.006652f, 0.007653f, 0.002263f, 0.000617f, 0.008393f, 0.002570f, 0.001459f, 0.011352f, 0.004709f, 0.003311f, 0.008220f, 0.005933f, 0.027948f, -0.007559f, 0.007517f, -0.000301f, -0.004462f, 0.007329f, 0.004603f, 0.002932f, 0.003649f, -0.004457f, -0.007594f, 0.000617f, 0.000105f, 0.000506f, 0.004148f, 0.008606f, -0.008550f, -0.009098f, 0.004097f, -0.002096f, + -0.003402f, -0.005402f, 0.011454f, -0.008022f, 0.016501f, 0.007808f, 0.000849f, 0.003958f, 0.001509f, 0.004591f, 0.020935f, 0.017596f, 0.001459f, 0.001104f, 0.004129f, -0.004069f, 0.007920f, -0.001597f, 0.007157f, 0.002283f, 0.000593f, 0.000131f, -0.008739f, 0.008622f, 0.006642f, -0.001775f, -0.004961f, 0.000831f, 0.008324f, 0.000929f, -0.002151f, 0.000596f, -0.006047f, 0.004617f, 0.001842f, 0.005849f, -0.001363f, 0.001830f, 0.002556f, 0.002523f, 0.002168f, 0.003569f, 0.001795f, 0.001669f, -0.007389f, -0.000297f, 0.003113f, 0.004383f, -0.002418f, 0.002897f, 0.002705f, 0.002409f, 0.002720f, 0.001236f, 0.002147f, 0.002621f, 0.002944f, 0.000592f, 0.001243f, 0.000953f, 0.001450f, 0.000558f, 0.000896f, 0.001881f, 0.000855f, -0.000171f, -0.001484f, -0.002026f, 0.004151f, -0.001864f, 0.009068f, 0.000246f, 0.010462f, -0.003951f, 0.009285f, -0.006954f, 0.019371f, -0.014746f, -0.005468f, -0.007021f, 0.019975f, 0.011308f, 0.007376f, 0.012678f, -0.011380f, -0.002285f, 0.018439f, 0.010460f, 0.008683f, 0.008952f, 0.004820f, 0.006157f, -0.002051f, 0.017656f, -0.001776f, -0.008098f, + -0.005978f, 0.006203f, -0.006593f, 0.004060f, -0.016618f, 0.006196f, -0.003138f, 0.000346f, -0.017858f, 0.007745f, -0.003783f, 0.016839f, -0.002683f, 0.005341f, 0.004677f, -0.007073f, -0.001699f, 0.007679f, 0.001118f, 0.005271f, -0.003729f, 0.009344f, 0.013291f, 0.001687f, -0.009163f, 0.003556f, 0.009367f, 0.006664f, 0.001298f, -0.006312f, -0.012937f, 0.010910f, -0.014411f, -0.006117f, 0.008189f, -0.019193f, -0.004327f, 0.011919f, -0.008799f, 0.002512f, 0.000239f, -0.001073f, -0.002494f, 0.004851f, -0.009500f, 0.000537f, -0.015912f, -0.008271f, -0.021774f, 0.001658f, -0.006051f, 0.000487f, -0.004154f, -0.000674f, -0.005477f, 0.005014f, 0.004871f, 0.001939f, -0.003370f, 0.004629f, -0.000439f, 0.001810f, -0.006213f, 0.001612f, 0.001378f, 0.002024f, 0.001469f, 0.004331f, -0.000468f, 0.004886f, -0.002049f, -0.000322f, 0.003483f, 0.004586f, 0.000807f, 0.002539f, -0.002854f, -0.001112f, -0.000739f, -0.001141f, -0.002022f, 0.001427f, 0.003670f, 0.000977f, 0.003868f, -0.003576f, -0.002049f, -0.002004f, -0.004865f, -0.005698f, 0.005226f, -0.035321f, 0.006163f, -0.011143f, -0.006492f, 0.008079f, + 0.006109f, 0.004296f, 0.001510f, -0.025954f, -0.002786f, 0.008065f, -0.013991f, -0.003665f, -0.019123f, -0.009721f, 0.004186f, -0.002281f, -0.017620f, 0.018262f, 0.010955f, -0.005607f, 0.001889f, 0.014365f, -0.009383f, 0.003848f, -0.006456f, -0.010049f, -0.006948f, -0.018162f, -0.006885f, 0.013668f, 0.006332f, 0.017470f, -0.008977f, -0.028637f, -0.012500f, 0.006972f, -0.009322f, -0.018677f, -0.003300f, -0.003539f, 0.016875f, 0.008648f, -0.020013f, 0.013219f, -0.014218f, -0.000909f, -0.010321f, -0.009840f, -0.009472f, -0.022035f, -0.013182f, 0.001534f, 0.013948f, 0.021228f, 0.013477f, 0.003883f, 0.008309f, -0.009833f, -0.016492f, -0.010176f, 0.010138f, -0.005103f, 0.010948f, -0.003479f, -0.010554f, -0.000632f, 0.000764f, -0.005123f, -0.011870f, 0.000606f, 0.008607f, -0.028687f, -0.019069f, 0.026541f, -0.008846f, 0.000419f, -0.014891f, 0.006917f, 0.003761f, -0.001854f, -0.001336f, 0.009631f, 0.007018f, 0.002069f, -0.003246f, -0.003765f, -0.000861f, -0.004191f, 0.002095f, 0.002742f, -0.005837f, -0.002971f, 0.001891f, 0.000507f, -0.000196f, 0.001543f, 0.005344f, -0.006051f, -0.002927f, -0.010957f, + -0.004613f, -0.001763f, -0.002233f, 0.000407f, 0.001330f, 0.002937f, 0.000008f, 0.003805f, -0.004896f, -0.003501f, 0.000618f, 0.000815f, 0.001362f, 0.013494f, -0.000379f, 0.006829f, -0.009255f, 0.006788f, -0.012648f, -0.000890f, 0.021965f, -0.010349f, 0.020750f, 0.021046f, 0.025938f, 0.006496f, 0.010380f, 0.022379f, 0.017514f, 0.012900f, -0.017343f, 0.002269f, 0.005487f, 0.015014f, -0.002951f, -0.012855f, 0.016662f, 0.016905f, -0.004787f, 0.011269f, -0.005602f, -0.005869f, 0.010598f, 0.009164f, -0.001277f, 0.010872f, 0.000964f, -0.017729f, -0.014180f, 0.015367f, 0.022275f, -0.001731f, -0.007702f, 0.004724f, 0.000694f, -0.010592f, -0.019892f, 0.010412f, -0.018809f, -0.009139f, 0.014401f, 0.003070f, 0.012742f, 0.000566f, 0.020396f, 0.002854f, 0.022397f, -0.026016f, 0.023635f, -0.004565f, -0.000878f, 0.007139f, 0.012503f, -0.009994f, -0.021531f, -0.006093f, 0.019783f, -0.003824f, -0.023040f, -0.013604f, -0.014106f, 0.003845f, 0.008376f, -0.020064f, 0.010189f, 0.011646f, 0.020901f, 0.006449f, 0.006608f, 0.000098f, 0.005909f, 0.001107f, 0.004632f, 0.003187f, -0.015178f, -0.001662f, + 0.007290f, 0.005118f, 0.012358f, -0.008045f, -0.002443f, -0.000104f, 0.001040f, 0.005910f, 0.000797f, 0.004888f, 0.002010f, -0.002325f, -0.001008f, 0.004661f, 0.004288f, 0.001672f, 0.004670f, 0.001330f, 0.002074f, 0.006147f, 0.000095f, -0.003247f, -0.001685f, 0.001379f, 0.002996f, -0.000376f, -0.001407f, 0.004978f, 0.002556f, 0.001139f, -0.005051f, -0.001588f, -0.002888f, -0.002482f, -0.000234f, 0.005317f, 0.000295f, 0.005061f, 0.007010f, 0.022452f, 0.002891f, 0.009387f, 0.026689f, 0.028768f, 0.008583f, 0.007253f, -0.021240f, -0.010705f, 0.023494f, -0.017409f, 0.024010f, 0.006809f, -0.000091f, -0.004745f, -0.008388f, -0.013831f, 0.002547f, 0.010680f, -0.025819f, -0.011644f, -0.010981f, 0.005783f, 0.005187f, 0.005715f, 0.000797f, 0.004446f, -0.000946f, 0.007846f, 0.006322f, -0.006784f, -0.012116f, -0.022259f, 0.003929f, -0.011993f, 0.020148f, 0.000882f, -0.011200f, -0.013972f, -0.004306f, 0.009439f, -0.017544f, 0.011053f, -0.005879f, 0.003702f, -0.000219f, -0.012400f, 0.012383f, 0.015786f, -0.010782f, 0.013300f, 0.003749f, -0.000919f, 0.037625f, -0.009370f, -0.024445f, 0.004732f, + 0.009155f, -0.005999f, 0.002009f, -0.010517f, 0.025531f, 0.014983f, -0.002572f, -0.005349f, 0.018117f, 0.017469f, -0.003672f, -0.014665f, -0.010785f, 0.035691f, -0.003320f, -0.004764f, -0.014388f, -0.009172f, -0.002913f, 0.003600f, -0.003772f, -0.009319f, 0.015266f, -0.004704f, 0.018124f, 0.005424f, -0.005789f, -0.001854f, 0.003193f, 0.000055f, -0.003177f, -0.003016f, 0.006340f, -0.007924f, -0.002053f, -0.002004f, 0.010436f, 0.001132f, -0.002361f, -0.000094f, -0.005431f, -0.004824f, -0.000742f, 0.001237f, 0.010936f, -0.002411f, 0.006449f, 0.002683f, -0.003667f, 0.002446f, 0.000364f, -0.005150f, 0.004024f, -0.002468f, 0.005589f, -0.000361f, -0.005905f, -0.004078f, -0.003415f, -0.004101f, -0.000168f, -0.001158f, -0.001939f, 0.002181f, 0.001921f, 0.003291f, 0.009172f, -0.019709f, -0.005642f, -0.006264f, 0.001543f, 0.008266f, 0.019253f, 0.016819f, -0.027107f, 0.000536f, 0.003085f, -0.002819f, -0.008155f, -0.018694f, -0.001999f, 0.006197f, 0.010967f, 0.008915f, -0.017183f, -0.003059f, -0.021758f, 0.020220f, 0.000792f, -0.002095f, 0.009658f, -0.009730f, -0.001868f, -0.023152f, 0.003768f, -0.013854f, + 0.009404f, -0.001884f, -0.003974f, -0.007884f, -0.015428f, -0.014974f, -0.001883f, -0.018451f, -0.030067f, -0.005651f, -0.013772f, -0.028868f, -0.002468f, -0.002560f, -0.015884f, 0.010231f, 0.015674f, -0.002051f, 0.007396f, -0.002081f, -0.002647f, 0.004200f, 0.004522f, -0.023399f, -0.007024f, 0.012698f, -0.011387f, 0.027796f, 0.004881f, 0.007351f, -0.018152f, -0.000262f, -0.008287f, -0.018449f, -0.002121f, 0.025796f, 0.011839f, 0.019580f, 0.010755f, -0.008659f, -0.021042f, -0.032708f, 0.021726f, 0.022360f, -0.002851f, 0.011514f, -0.025613f, 0.012093f, 0.010239f, 0.018193f, 0.002573f, -0.021854f, -0.002983f, -0.020376f, -0.007225f, 0.001605f, -0.006776f, 0.004224f, -0.004705f, -0.006815f, -0.001943f, 0.001884f, -0.001204f, -0.002282f, 0.005783f, -0.001942f, 0.002120f, -0.014811f, 0.000063f, -0.001289f, -0.002539f, -0.006762f, -0.003050f, 0.004346f, -0.006420f, -0.007299f, -0.002815f, -0.002677f, -0.003199f, -0.000114f, -0.001986f, -0.008070f, -0.006670f, -0.004067f, 0.002027f, 0.002586f, 0.004449f, 0.002140f, 0.004060f, 0.001385f, -0.006015f, 0.001080f, -0.001195f, -0.003644f, 0.001895f, -0.006791f, + 0.002598f, -0.003723f, -0.050496f, -0.012635f, 0.040151f, 0.013418f, 0.016378f, -0.010465f, 0.016542f, 0.027991f, 0.002061f, -0.004721f, -0.046632f, -0.010890f, -0.002186f, 0.026726f, 0.007530f, 0.010707f, -0.034933f, -0.009421f, -0.012986f, -0.008334f, 0.021728f, -0.012275f, -0.004246f, 0.003750f, 0.006228f, -0.011052f, -0.004814f, 0.005592f, -0.009752f, 0.021336f, -0.023930f, 0.002574f, 0.015789f, -0.020540f, 0.016851f, 0.028604f, 0.033348f, 0.015983f, 0.016328f, 0.021855f, -0.014989f, -0.027544f, 0.010999f, 0.011932f, 0.018212f, 0.014444f, -0.031083f, -0.008883f, 0.016362f, 0.009410f, 0.005963f, 0.019482f, 0.004404f, 0.022697f, -0.008437f, -0.004940f, 0.013030f, 0.011984f, 0.003649f, -0.020073f, -0.010686f, -0.021561f, -0.024617f, -0.001480f, -0.026926f, 0.001381f, -0.015667f, 0.001069f, -0.014248f, -0.008480f, -0.034593f, 0.023828f, 0.006321f, -0.005207f, -0.006187f, -0.003958f, 0.004649f, -0.012872f, -0.001778f, -0.030188f, -0.016489f, 0.010411f, 0.013647f, 0.005536f, 0.004592f, 0.001095f, -0.015782f, 0.007147f, 0.007230f, 0.005521f, -0.015080f, 0.003357f, 0.000600f, -0.012114f, + -0.004044f, 0.001989f, 0.001904f, -0.006298f, -0.009014f, 0.002862f, -0.004427f, -0.005645f, -0.001363f, 0.001186f, -0.001118f, -0.000807f, 0.003067f, -0.002938f, 0.004267f, -0.000864f, 0.006084f, -0.002832f, 0.005436f, 0.008371f, -0.006041f, 0.004597f, 0.000418f, 0.003149f, -0.003725f, -0.000522f, 0.004916f, 0.003789f, -0.007443f, 0.003790f, 0.003904f, 0.031657f, -0.015446f, -0.013218f, -0.011719f, 0.021793f, 0.027666f, -0.017396f, 0.044408f, 0.009312f, -0.019019f, 0.022723f, 0.006456f, -0.018531f, -0.021783f, -0.017581f, -0.001454f, -0.009452f, -0.006502f, -0.029009f, 0.011584f, 0.012048f, 0.040036f, 0.005402f, -0.006885f, -0.018116f, -0.018998f, 0.004771f, -0.002293f, -0.025379f, 0.004442f, -0.009432f, 0.001163f, 0.019545f, -0.015200f, 0.025858f, -0.022783f, -0.019130f, -0.001349f, -0.029764f, -0.035631f, 0.005740f, -0.004137f, -0.041087f, 0.002780f, 0.000439f, -0.019599f, 0.010223f, -0.009553f, 0.005148f, -0.027808f, -0.045334f, 0.029679f, -0.027752f, 0.046014f, 0.025119f, -0.032999f, -0.004258f, -0.033438f, -0.009036f, -0.004299f, 0.013814f, -0.012090f, 0.021103f, 0.026584f, 0.025270f, + -0.018339f, -0.014925f, 0.002295f, -0.022437f, -0.002165f, -0.007339f, -0.029639f, 0.017641f, 0.013017f, -0.015779f, 0.023193f, -0.034604f, -0.003400f, 0.002047f, -0.009135f, -0.005853f, 0.029955f, 0.022166f, 0.014688f, -0.001833f, -0.015767f, -0.012725f, -0.011908f, 0.005183f, 0.004753f, -0.000973f, 0.003313f, -0.000929f, -0.001479f, 0.000623f, -0.001353f, 0.001201f, 0.005899f, -0.007147f, 0.002753f, -0.000515f, 0.006500f, -0.003852f, -0.000783f, 0.003809f, 0.008717f, 0.003495f, 0.007017f, -0.008476f, -0.009350f, 0.004402f, -0.006260f, 0.001494f, -0.000135f, -0.009875f, -0.005612f, -0.005889f, 0.000008f, 0.003248f, 0.002835f, 0.001996f, 0.002220f, -0.026913f, -0.020467f, 0.013429f, 0.016268f, 0.017984f, 0.030402f, -0.011196f, 0.055934f, -0.001713f, -0.028936f, 0.012669f, 0.027582f, 0.007590f, 0.014505f, -0.012214f, -0.030991f, 0.046683f, 0.025918f, 0.019164f, 0.009079f, -0.016091f, 0.015046f, 0.038898f, -0.014250f, 0.008395f, -0.000360f, 0.008246f, 0.006720f, 0.027742f, -0.007939f, 0.009485f, -0.009736f, 0.008495f, -0.002600f, -0.001405f, 0.017218f, 0.003738f, -0.034270f, -0.022931f, + -0.032111f, -0.021941f, -0.017013f, -0.008387f, -0.024571f, -0.013841f, -0.012043f, -0.021254f, -0.014784f, 0.009513f, -0.022233f, -0.007591f, -0.017248f, 0.041467f, 0.021096f, 0.036115f, -0.032575f, -0.002965f, -0.029759f, -0.006200f, 0.033465f, 0.018483f, 0.039417f, 0.018875f, 0.024418f, -0.025773f, 0.011750f, 0.011590f, 0.036509f, 0.037120f, 0.011144f, 0.033598f, -0.028781f, -0.013667f, 0.021538f, -0.075557f, 0.001420f, 0.012552f, 0.001639f, 0.018902f, 0.012190f, 0.042787f, -0.003245f, -0.005782f, 0.046287f, 0.014087f, -0.004046f, -0.020582f, -0.000360f, 0.000479f, 0.037943f, 0.005154f, 0.001082f, 0.003187f, 0.007720f, 0.011940f, -0.002054f, -0.002024f, 0.012287f, 0.006004f, 0.004040f, 0.006592f, 0.008937f, 0.006996f, -0.000393f, 0.001639f, 0.001274f, 0.012785f, -0.002176f, 0.006815f, 0.012272f, 0.009147f, 0.013684f, -0.005812f, -0.004458f, 0.003385f, 0.004480f, -0.004440f, 0.000454f, 0.008009f, 0.012713f, -0.000620f, 0.003845f, 0.032560f, 0.021159f, -0.021374f, 0.041636f, 0.024688f, -0.002125f, -0.010440f, -0.005253f, 0.024968f, 0.061521f, 0.032825f, 0.008837f, 0.002513f, + 0.020209f, -0.005003f, 0.049668f, 0.028015f, 0.031024f, 0.001192f, -0.015815f, 0.010452f, 0.003741f, -0.026498f, -0.006509f, -0.001754f, -0.006239f, -0.007621f, 0.010089f, 0.005402f, -0.021666f, -0.010487f, -0.038287f, -0.004028f, -0.011898f, -0.049373f, -0.022121f, 0.001395f, 0.018447f, -0.025462f, 0.031719f, -0.008889f, -0.007567f, -0.004426f, -0.007736f, 0.022957f, -0.015517f, 0.016012f, -0.050513f, 0.015520f, 0.022046f, 0.016887f, 0.033670f, -0.033362f, 0.028834f, -0.029963f, -0.022281f, 0.024822f, -0.014608f, -0.004562f, 0.020945f, -0.033969f, 0.030022f, 0.047983f, -0.000973f, -0.007123f, 0.061391f, -0.013352f, 0.011828f, 0.034470f, -0.073771f, -0.037909f, 0.002518f, 0.002105f, 0.010022f, 0.017605f, 0.035905f, 0.021440f, -0.028203f, -0.022758f, -0.006682f, -0.008217f, -0.038099f, -0.003878f, -0.007581f, 0.009242f, -0.039808f, 0.000290f, -0.011983f, 0.016028f, -0.005993f, 0.020452f, 0.005558f, 0.000004f, -0.011775f, -0.008841f, -0.011070f, -0.011931f, -0.008979f, 0.007932f, -0.024188f, 0.017169f, -0.002862f, 0.009475f, 0.000617f, -0.001740f, -0.016501f, 0.008882f, -0.011710f, 0.002804f, + -0.012442f, -0.007003f, -0.000054f, -0.005718f, -0.014279f, 0.000858f, -0.004453f, 0.001379f, -0.009709f, -0.010952f, -0.011422f, 0.001864f, 0.002492f, 0.014300f, 0.015528f, -0.000330f, 0.000388f, -0.011236f, -0.058615f, -0.035298f, 0.042980f, 0.042735f, 0.004502f, -0.010238f, 0.036225f, -0.058795f, -0.031613f, -0.063608f, 0.027673f, 0.007604f, 0.002717f, 0.012210f, -0.028999f, 0.014530f, 0.019995f, 0.026250f, 0.044552f, 0.045795f, 0.038450f, -0.001660f, 0.008612f, 0.000402f, -0.016888f, -0.003571f, -0.014119f, -0.007339f, 0.053110f, -0.012531f, -0.049042f, -0.012471f, -0.010179f, 0.004273f, 0.076567f, -0.027827f, -0.027602f, 0.025844f, -0.041640f, 0.014252f, -0.046194f, 0.060087f, 0.016893f, -0.001797f, 0.015325f, -0.023340f, -0.029512f, 0.041129f, -0.050281f, -0.040190f, -0.036169f, 0.009875f, 0.014946f, 0.018645f, -0.033568f, 0.034188f, -0.010725f, 0.002459f, 0.052738f, -0.003739f, -0.009119f, 0.015435f, 0.042534f, -0.027750f, 0.070624f, 0.002494f, -0.081669f, -0.010052f, -0.003272f, -0.027360f, -0.007992f, -0.000151f, -0.007770f, -0.022372f, -0.018849f, 0.039978f, 0.026739f, -0.010016f, + 0.025868f, -0.046974f, 0.012996f, 0.020849f, 0.012910f, 0.001374f, 0.024901f, -0.004272f, -0.001265f, 0.009236f, 0.024336f, -0.010288f, -0.010844f, -0.008500f, 0.000965f, 0.009111f, -0.004883f, -0.019466f, -0.020934f, 0.000871f, -0.009918f, 0.007057f, -0.000422f, 0.004934f, 0.010852f, -0.013667f, -0.009107f, 0.023197f, -0.005573f, 0.004066f, -0.001980f, 0.000458f, -0.008155f, -0.009044f, -0.004683f, -0.003146f, -0.012601f, 0.005835f, 0.011158f, 0.006186f, -0.000414f, 0.000883f, 0.004920f, -0.009707f, 0.001980f, 0.010686f, -0.001301f, 0.009137f, -0.005500f, -0.017133f, -0.023166f, 0.000347f, 0.010169f, -0.016508f, -0.007505f, 0.077843f, 0.046149f, -0.062697f, -0.050649f, 0.062663f, 0.059741f, 0.037394f, 0.042948f, -0.074655f, -0.016350f, -0.020554f, 0.019752f, 0.007288f, -0.030106f, -0.055134f, -0.083517f, 0.024481f, 0.022103f, 0.006515f, 0.023034f, -0.011381f, -0.004145f, -0.019799f, 0.016644f, 0.028958f, 0.026015f, 0.006817f, 0.034548f, 0.011097f, -0.003853f, -0.014032f, -0.050742f, -0.002700f, -0.021315f, -0.017682f, 0.017725f, -0.054467f, 0.004941f, 0.002228f, -0.025370f, 0.022286f, + 0.020460f, 0.010113f, -0.036610f, -0.034086f, -0.089833f, -0.022853f, 0.000699f, -0.028772f, 0.005137f, 0.019017f, 0.018977f, 0.050296f, 0.024731f, -0.022183f, -0.015508f, -0.033378f, 0.042344f, -0.017750f, 0.073246f, 0.061181f, 0.017013f, -0.039051f, 0.080862f, 0.037201f, -0.032670f, 0.005039f, 0.040660f, 0.094029f, -0.038782f, -0.071828f, -0.037008f, 0.001013f, -0.025852f, 0.011369f, 0.025989f, 0.021673f, -0.018797f, -0.029359f, -0.016175f, -0.024431f, -0.026794f, 0.007483f, 0.029276f, 0.023362f, 0.013195f, 0.011654f, 0.004327f, 0.019654f, 0.002736f, 0.003183f, 0.028627f, 0.022415f, -0.001235f, -0.009354f, 0.006529f, -0.014853f, 0.015962f, -0.005644f, 0.016338f, -0.008310f, 0.006588f, 0.004271f, 0.010827f, 0.013865f, 0.008238f, 0.006459f, -0.013397f, -0.026540f, 0.003233f, -0.013469f, -0.006745f, 0.008019f, 0.002487f, -0.003921f, -0.005065f, 0.019190f, 0.006412f, 0.025958f, -0.008235f, 0.013887f, 0.014049f, -0.017655f, 0.018446f, 0.000967f, -0.014748f, 0.031206f, 0.011233f, -0.010719f, -0.030016f, 0.025406f, -0.050965f, -0.047124f, -0.016870f, 0.036799f, -0.020858f, -0.026721f, + -0.000104f, 0.042379f, 0.004626f, 0.043788f, -0.014426f, 0.052828f, 0.006253f, 0.028389f, -0.018279f, -0.012161f, 0.016848f, -0.054122f, -0.014948f, 0.020683f, -0.009474f, -0.007098f, -0.043493f, -0.041071f, 0.019400f, -0.024963f, -0.017847f, 0.034096f, 0.046681f, -0.006590f, 0.030791f, -0.054684f, 0.003612f, -0.014661f, 0.071603f, -0.029159f, 0.024028f, 0.043990f, 0.041899f, 0.012463f, -0.028737f, 0.018807f, 0.013589f, 0.012965f, 0.023351f, -0.069938f, 0.130024f, 0.041815f, -0.011051f, 0.007195f, 0.014900f, 0.036398f, -0.009645f, 0.028114f, 0.075991f, -0.003910f, -0.093131f, 0.039494f, 0.032923f, -0.032792f, 0.044323f, -0.009253f, -0.019198f, -0.049704f, 0.097296f, -0.049466f, 0.108286f, -0.070611f, 0.027089f, -0.000923f, 0.117613f, 0.052452f, -0.049674f, 0.048524f, 0.002518f, -0.030668f, 0.023975f, 0.004122f, 0.011024f, 0.026700f, 0.011585f, -0.029644f, -0.007407f, 0.036233f, 0.010012f, 0.020723f, -0.016025f, 0.022855f, -0.037381f, 0.014557f, -0.001700f, -0.011707f, 0.023951f, -0.012552f, -0.006924f, 0.017447f, -0.002453f, 0.003050f, -0.002555f, 0.028985f, -0.018210f, 0.028299f, + -0.015976f, 0.026220f, 0.036366f, 0.013886f, 0.010168f, 0.020407f, -0.004753f, -0.013604f, -0.013341f, 0.017682f, 0.006364f, -0.002313f, 0.000174f, -0.003936f, -0.025407f, -0.019312f, -0.003595f, 0.001347f, -0.015741f, 0.088721f, 0.010369f, 0.048050f, 0.024375f, -0.049216f, 0.002783f, 0.028786f, -0.009019f, -0.042891f, -0.008449f, -0.093236f, -0.026317f, -0.034893f, -0.020345f, 0.020045f, -0.003022f, 0.033029f, -0.016621f, 0.003357f, 0.032106f, -0.029139f, 0.002803f, 0.018243f, -0.002152f, -0.031944f, -0.000391f, -0.022017f, 0.063809f, -0.011486f, 0.036828f, 0.005789f, -0.000990f, 0.065554f, 0.047017f, -0.029193f, -0.034385f, 0.016455f, 0.029386f, 0.035884f, 0.043437f, -0.001032f, 0.015053f, 0.041357f, -0.002683f, -0.016947f, 0.012585f, 0.001238f, -0.037298f, -0.001057f, 0.023824f, -0.036478f, -0.049321f, -0.004836f, -0.003436f, -0.005449f, -0.016887f, -0.017856f, -0.058709f, -0.000235f, 0.056632f, 0.017407f, 0.031265f, 0.018594f, -0.008211f, -0.075411f, -0.055725f, 0.014649f, 0.048120f, 0.015722f, 0.024027f, 0.098654f, 0.102030f, 0.086663f, -0.007505f, 0.042993f, -0.028145f, -0.073063f, + -0.122180f, 0.020984f, 0.014335f, -0.005568f, 0.016218f, -0.038587f, 0.007566f, -0.009505f, 0.043861f, -0.003483f, 0.035069f, -0.044169f, 0.020966f, -0.054208f, -0.011228f, 0.022710f, 0.003123f, -0.027659f, 0.005685f, -0.022802f, -0.025338f, -0.010591f, 0.005690f, 0.020543f, 0.025868f, 0.034968f, -0.009295f, -0.002021f, 0.008218f, -0.009746f, 0.010415f, -0.036492f, -0.031911f, -0.021710f, -0.029936f, -0.028136f, -0.030568f, 0.019150f, 0.013102f, -0.005081f, -0.020401f, -0.029798f, 0.017074f, 0.000172f, 0.027514f, -0.007115f, 0.024259f, 0.018457f, 0.000142f, 0.007860f, 0.029243f, -0.036372f, -0.035046f, 0.020663f, -0.004114f, -0.026905f, -0.057325f, 0.017195f, -0.034116f, 0.017705f, -0.014448f, -0.040238f, -0.012006f, 0.000475f, 0.020976f, -0.016565f, 0.011010f, -0.059382f, 0.056955f, -0.125278f, -0.011921f, -0.030723f, -0.025131f, 0.017676f, 0.072838f, 0.012388f, 0.026877f, -0.061278f, 0.014620f, 0.023702f, 0.050290f, -0.024978f, -0.039426f, -0.027030f, -0.012902f, -0.001058f, -0.000354f, 0.030835f, 0.022549f, -0.016829f, -0.090319f, -0.042372f, -0.073311f, 0.009469f, 0.131300f, -0.091488f, + -0.035854f, -0.013309f, 0.076199f, -0.024333f, 0.032649f, -0.023205f, 0.037119f, -0.013480f, -0.021281f, -0.045944f, 0.024943f, -0.053387f, 0.051034f, 0.091714f, 0.012439f, -0.015785f, -0.016195f, 0.076245f, 0.020757f, 0.000290f, 0.040584f, 0.014039f, 0.015177f, -0.013510f, 0.087831f, -0.135838f, 0.099862f, -0.082375f, 0.040367f, 0.098828f, -0.077704f, 0.159636f, 0.108880f, -0.039650f, -0.012784f, 0.110118f, 0.040623f, -0.009323f, 0.072638f, 0.065431f, -0.082975f, 0.113603f, -0.067305f, 0.021083f, 0.022358f, -0.029113f, 0.022503f, 0.037854f, -0.021956f, -0.040114f, 0.014166f, -0.021112f, 0.010341f, 0.010547f, -0.010528f, -0.031189f, 0.013667f, 0.012651f, -0.012419f, 0.014708f, 0.011729f, -0.024855f, 0.064553f, 0.008074f, 0.002126f, 0.002493f, -0.012114f, 0.010902f, 0.009394f, 0.004534f, -0.019969f, 0.011970f, 0.003732f, -0.007904f, -0.017410f, 0.040554f, -0.014095f, 0.033219f, 0.037352f, -0.002496f, -0.012730f, 0.010874f, 0.009798f, 0.015415f, 0.044857f, 0.039154f, -0.033212f, 0.017080f, -0.013012f, -0.000728f, 0.019817f, -0.003044f, 0.092673f, 0.088361f, -0.074892f, 0.073639f, + 0.067744f, -0.063105f, -0.095482f, -0.141154f, 0.033191f, 0.212701f, 0.087481f, 0.000689f, 0.044048f, -0.202746f, -0.083665f, -0.006887f, 0.031144f, 0.153080f, 0.149659f, 0.026122f, -0.057445f, -0.112181f, -0.065782f, 0.007956f, 0.048431f, 0.073372f, 0.117691f, 0.071303f, -0.094567f, -0.223515f, -0.182319f, -0.017575f, 0.203189f, 0.221265f, 0.139696f, 0.043010f, -0.046792f, -0.089802f, -0.136177f, -0.077328f, -0.082798f, 0.162901f, 0.135312f, 0.085832f, 0.075721f, -0.114545f, -0.160980f, -0.186483f, -0.167304f, 0.064893f, 0.226748f, 0.279557f, 0.094416f, -0.084132f, -0.198684f, -0.237913f, -0.064824f, 0.038823f, 0.024652f, 0.149617f, 0.058529f, -0.055873f, -0.033403f, -0.114326f, -0.025071f, -0.130766f, 0.056815f, 0.156091f, 0.291023f, -0.017180f, -0.155654f, -0.337554f, -0.013267f, -0.113788f, -0.012204f, 0.162569f, 0.032039f, -0.014341f, -0.072375f, -0.151747f, -0.099908f, 0.073687f, 0.117981f, 0.039410f, -0.020735f, -0.051311f, -0.062237f, 0.061108f, 0.069447f, 0.043574f, 0.037122f, 0.017253f, 0.034595f, -0.002751f, 0.003144f, -0.033194f, -0.015819f, 0.004482f, 0.087619f, 0.077419f, + -0.004153f, -0.032269f, -0.008734f, -0.077708f, -0.052849f, -0.001313f, 0.029715f, 0.081738f, 0.062234f, 0.045026f, 0.003808f, -0.108459f, -0.098604f, -0.065825f, 0.025524f, 0.106107f, 0.203890f, 0.125816f, -0.094446f, -0.168708f, -0.150045f, -0.059486f, 0.003937f, 0.140699f, 0.175622f, 0.132186f, 0.022748f, -0.103531f, -0.237651f, -0.148540f, 0.047919f, 0.148262f, 0.167815f, 0.050194f, -0.025070f, -0.064255f, -0.077785f, 0.001317f, -0.019485f, 0.095631f, 0.055908f, -0.008534f, 0.020272f, 0.010267f, -0.068254f, -0.007221f, -0.005620f, 0.007335f, 0.002052f, 0.005351f, -0.025003f, -0.010080f, -0.009268f, -0.006388f, -0.011410f, 0.040689f, -0.014724f, 0.017413f, -0.030776f, -0.003213f, 0.012619f, -0.001576f, -0.009390f, 0.070345f, 0.009697f, -0.040026f, -0.046416f, 0.009617f, 0.009695f, -0.027382f, 0.007510f, 0.035259f, 0.018337f, 0.033175f, -0.034146f, 0.010177f, -0.001251f, 0.007856f, -0.024047f, 0.004414f, 0.026592f, 0.037553f, 0.009507f, -0.009981f, 0.011019f, 0.004097f, -0.008822f, 0.025541f, -0.038022f, 0.008401f, -0.061907f, -0.019556f, 0.025519f, -0.021187f, -0.024904f, 0.033447f, + -0.021496f, -0.057953f, -0.044744f, 0.039393f, -0.004980f, -0.008063f, 0.009063f, 0.019845f, 0.050133f, -0.032937f, -0.042653f, 0.001582f, -0.005892f, 0.033737f, 0.000209f, 0.019622f, 0.009047f, -0.003611f, 0.052076f, -0.068149f, -0.009995f, -0.009850f, -0.039924f, 0.009944f, 0.022271f, 0.000713f, -0.023804f, 0.010264f, -0.005416f, 0.006493f, -0.020593f, 0.014790f, -0.001127f, 0.002163f, -0.001886f, -0.005329f, 0.026367f, -0.026876f, 0.001993f, -0.004851f, -0.009633f, -0.008814f, 0.003008f, -0.011825f, 0.012041f, 0.015234f, -0.016271f, -0.004440f, -0.006284f, 0.013916f, 0.015699f, -0.008310f, 0.019370f, 0.001554f, -0.002909f, -0.013490f, 0.013931f, 0.004481f, -0.005676f, -0.022085f, 0.010126f, -0.020084f, 0.012559f, -0.011045f, -0.009680f, 0.017559f, 0.017801f, -0.024932f, 0.002793f, -0.006185f, -0.024166f, 0.007316f, -0.014196f, 0.015256f, -0.013997f, -0.056045f, -0.061808f, -0.147023f, 0.042492f, 0.042031f, -0.003006f, -0.123945f, -0.080134f, -0.011801f, -0.020346f, 0.082800f, 0.055847f, 0.026855f, -0.054884f, -0.022661f, -0.014561f, 0.051841f, 0.005673f, -0.014793f, -0.032226f, 0.021249f, + 0.009419f, 0.025782f, -0.001441f, -0.010554f, -0.013208f, -0.029681f, -0.014842f, -0.017969f, 0.049509f, 0.026464f, 0.005802f, 0.007412f, -0.032654f, -0.001765f, 0.003933f, 0.045209f, -0.003302f, 0.021063f, -0.016842f, -0.011730f, 0.009181f, -0.018658f, 0.012284f, 0.005394f, 0.013214f, 0.044100f, -0.003898f, 0.038698f, -0.000548f, 0.024845f, -0.019269f, 0.001616f, -0.028318f, -0.036631f, -0.038557f, -0.032989f, 0.010826f, 0.005701f, 0.002802f, -0.048573f, 0.023956f, -0.042279f, -0.004805f, 0.002182f, -0.026508f, -0.028690f, -0.015176f, 0.000507f, -0.050506f, -0.034166f, 0.031327f, -0.015255f, 0.029164f, 0.004627f, -0.008129f, -0.027308f, -0.031544f, -0.002062f, 0.044686f, 0.055402f, -0.013837f, -0.005690f, -0.020874f, -0.027790f, -0.019204f, 0.017655f, 0.009360f, 0.006785f, 0.017308f, -0.003441f, -0.011518f, 0.012000f, 0.006592f, 0.009986f, 0.015139f, -0.008514f, 0.005084f, -0.001692f, 0.000323f, -0.011567f, 0.020013f, 0.006342f, 0.004542f, -0.006021f, 0.002875f, -0.000437f, 0.031214f, 0.003980f, 0.009344f, -0.017526f, 0.001155f, -0.011348f, 0.020422f, 0.001413f, 0.000294f, -0.007197f, + 0.004729f, -0.002352f, 0.000244f, 0.009789f, 0.000915f, 0.012830f, -0.008737f, 0.004170f, 0.001340f, -0.016440f, -0.000900f, 0.009405f, 0.003605f, -0.003382f, 0.033056f, -0.071065f, -0.176229f, -0.168918f, -0.025624f, 0.051103f, 0.169986f, 0.146897f, 0.138487f, 0.148750f, 0.082825f, 0.020043f, -0.075075f, -0.075441f, -0.156782f, -0.121760f, -0.106737f, -0.067715f, -0.085163f, 0.117327f, 0.096544f, 0.127051f, 0.073298f, 0.103845f, -0.003733f, 0.027355f, -0.016648f, -0.040506f, -0.023135f, -0.048432f, -0.056305f, -0.056124f, -0.055326f, -0.065541f, -0.047942f, -0.038970f, -0.004378f, 0.010324f, 0.092152f, 0.077304f, 0.040788f, 0.043779f, 0.060811f, 0.056394f, 0.027212f, 0.131122f, 0.017110f, 0.001714f, 0.024659f, -0.048983f, -0.150384f, -0.043045f, -0.120536f, -0.129346f, -0.136592f, -0.096674f, -0.086027f, 0.004295f, 0.071454f, 0.072821f, 0.089024f, 0.161812f, 0.116538f, 0.142000f, 0.139639f, 0.089037f, 0.095824f, 0.032684f, -0.033619f, -0.109338f, -0.143365f, -0.163908f, -0.106540f, -0.147109f, -0.123528f, -0.141251f, -0.082334f, -0.009859f, 0.038775f, 0.114272f, 0.109147f, 0.110710f, + 0.184471f, 0.128450f, 0.152503f, 0.094919f, 0.015875f, -0.017926f, -0.046092f, -0.076353f, -0.085392f, -0.090602f, -0.088168f, -0.101778f, -0.087115f, -0.063842f, -0.039114f, -0.020344f, -0.015271f, 0.044118f, 0.042027f, 0.059073f, 0.095613f, 0.107596f, 0.068348f, 0.082191f, 0.050797f, -0.003183f, -0.022289f, -0.049702f, -0.062001f, -0.053297f, -0.045900f, -0.055710f, -0.020282f, -0.013857f, 0.001296f, 0.015630f, 0.017513f, 0.004308f, 0.002426f, 0.015298f, -0.002211f, -0.013522f, 0.012356f, 0.007176f, 0.008817f, 0.013498f, 0.004067f, 0.003498f, 0.008306f, 0.018802f, 0.016252f, 0.007283f, 0.001587f, -0.004347f, -0.016176f, -0.012473f, -0.014722f, -0.013014f, -0.005137f, -0.010124f, -0.008673f, -0.005064f, -0.003862f, -0.005597f, -0.001544f, 0.005774f, 0.005904f, 0.007069f, 0.011723f, 0.007457f, 0.005274f, 0.006603f, 0.001728f, 0.001194f, 0.000630f, 0.000011f, 0.000049f, 0.000121f}, + {-0.008237f, 0.013810f, 0.004811f, -0.002529f, 0.003495f, 0.004431f, 0.008280f, 0.013830f, -0.006657f, 0.004585f, -0.005673f, -0.004416f, 0.002769f, 0.000018f, 0.001145f, -0.009788f, -0.004760f, 0.003432f, 0.006883f, -0.000934f, 0.005798f, -0.010495f, -0.009309f, 0.005838f, 0.003732f, 0.001594f, 0.004248f, -0.003594f, 0.007498f, 0.008390f, 0.008148f, 0.011687f, -0.006503f, -0.005380f, 0.000407f, 0.001471f, -0.011233f, -0.000725f, -0.000985f, 0.003066f, 0.001093f, -0.007037f, -0.001741f, 0.009542f, -0.005117f, 0.001857f, -0.005868f, 0.002791f, 0.002942f, 0.001896f, -0.008736f, 0.007027f, 0.000633f, 0.001571f, -0.001213f, -0.002886f, -0.003630f, -0.005969f, 0.012649f, -0.002248f, -0.002344f, -0.002856f, 0.005612f, 0.001295f, -0.011983f, 0.003025f, -0.005479f, -0.008233f, 0.004838f, -0.005096f, -0.012971f, 0.005154f, 0.001892f, 0.000551f, -0.011953f, -0.014501f, -0.005926f, -0.007156f, 0.006706f, -0.001964f, -0.000028f, -0.003293f, -0.003926f, -0.003276f, 0.000090f, 0.005916f, 0.001070f, -0.002664f, -0.000225f, -0.002783f, -0.001238f, 0.002615f, 0.000791f, -0.002523f, -0.003401f, -0.001191f, + -0.001400f, 0.001288f, -0.000859f, 0.000475f, 0.000471f, 0.001406f, 0.000362f, 0.002022f, -0.000859f, 0.000465f, -0.000475f, 0.001420f, -0.000092f, 0.001302f, 0.008097f, 0.000964f, 0.000699f, 0.007204f, -0.010750f, 0.001801f, -0.008970f, -0.011356f, 0.003279f, 0.010655f, -0.006585f, 0.005059f, -0.004955f, -0.002394f, 0.002151f, 0.000537f, -0.005269f, -0.015659f, -0.015548f, 0.000281f, -0.003933f, -0.000140f, 0.008141f, 0.001306f, 0.009966f, 0.013461f, -0.007088f, 0.011625f, 0.001459f, 0.011800f, 0.000752f, 0.014002f, 0.001790f, -0.007832f, -0.002147f, 0.000790f, 0.006385f, -0.001724f, -0.002097f, 0.001392f, 0.004847f, -0.005817f, -0.000346f, -0.001794f, 0.004289f, 0.005219f, 0.000296f, -0.005300f, -0.000368f, -0.000958f, 0.003071f, 0.005481f, 0.009824f, -0.003422f, 0.006378f, -0.002868f, -0.008533f, -0.007623f, -0.005148f, 0.004836f, 0.005253f, -0.002882f, 0.008500f, 0.000283f, 0.003093f, 0.000446f, 0.010334f, 0.006850f, 0.007618f, 0.003095f, 0.004491f, 0.002771f, 0.004168f, 0.008441f, -0.001779f, -0.000431f, 0.011927f, 0.002397f, 0.000356f, 0.002484f, -0.004419f, 0.000667f, + 0.003528f, -0.000264f, -0.011124f, 0.003496f, 0.001197f, -0.001783f, -0.003853f, 0.002579f, 0.000774f, 0.006070f, -0.002227f, -0.001099f, -0.002309f, -0.001883f, 0.001546f, 0.000444f, 0.002444f, 0.001153f, 0.000575f, -0.002188f, -0.001726f, -0.001022f, -0.001067f, 0.000958f, -0.002883f, 0.002554f, -0.001029f, 0.000757f, -0.000689f, -0.001031f, -0.001596f, 0.000986f, -0.001285f, -0.000976f, -0.003141f, 0.011966f, -0.012386f, -0.008375f, -0.006892f, -0.010046f, 0.003072f, 0.004212f, -0.008092f, 0.001776f, 0.016381f, -0.012074f, 0.008269f, 0.014110f, 0.013960f, -0.008743f, -0.002446f, 0.006871f, 0.001259f, 0.002072f, -0.006375f, 0.003371f, -0.021432f, 0.016687f, 0.026208f, 0.004568f, 0.008783f, -0.004356f, -0.000424f, 0.013871f, -0.007401f, -0.016941f, -0.002868f, 0.000167f, -0.000112f, -0.013702f, 0.000949f, 0.003303f, -0.016243f, -0.007689f, 0.007454f, 0.002464f, -0.005813f, -0.001583f, 0.005555f, -0.007978f, 0.016706f, 0.005145f, 0.000724f, -0.010841f, -0.001112f, 0.005697f, -0.003700f, 0.000273f, -0.003888f, -0.000301f, -0.001648f, -0.008703f, 0.000494f, -0.008420f, 0.012534f, -0.012236f, + -0.008131f, -0.002808f, -0.014593f, 0.009668f, -0.007870f, -0.020341f, -0.003765f, -0.008822f, 0.002435f, 0.009226f, -0.009503f, 0.001092f, -0.006465f, 0.006527f, 0.000877f, -0.006778f, 0.005704f, -0.007337f, -0.009625f, 0.010594f, -0.006935f, 0.002966f, 0.000223f, 0.000887f, 0.003696f, -0.002191f, -0.003296f, -0.003724f, -0.005875f, 0.001876f, -0.008287f, 0.000390f, -0.001705f, 0.002514f, -0.002489f, -0.000283f, -0.000022f, 0.000141f, -0.004414f, 0.003845f, 0.000157f, 0.000661f, -0.002393f, -0.001739f, -0.001801f, -0.000202f, 0.002605f, -0.009446f, 0.006033f, -0.000273f, -0.001850f, 0.007161f, -0.006776f, -0.023807f, -0.004649f, -0.001461f, 0.010408f, 0.014742f, 0.013058f, 0.006284f, -0.005124f, -0.001600f, -0.014681f, -0.012442f, 0.004299f, 0.016751f, -0.004793f, 0.017160f, 0.010915f, -0.010579f, 0.005692f, -0.001621f, 0.005952f, -0.011824f, -0.007980f, 0.001959f, 0.008546f, -0.001073f, 0.005095f, 0.007127f, -0.013377f, -0.002676f, -0.006172f, -0.018207f, 0.011328f, 0.001816f, 0.004114f, 0.007909f, 0.014447f, 0.005051f, 0.000678f, 0.011347f, -0.002650f, -0.005782f, 0.011654f, -0.006122f, + 0.019696f, 0.009094f, 0.007831f, 0.000429f, -0.005668f, -0.006872f, 0.009653f, 0.013143f, -0.009756f, 0.002393f, 0.012526f, -0.002203f, 0.004070f, 0.027704f, -0.008377f, -0.003310f, 0.005375f, -0.013853f, -0.000568f, 0.002510f, -0.006195f, 0.006769f, -0.004490f, 0.004185f, 0.013732f, 0.000510f, -0.003173f, -0.009326f, -0.000780f, -0.011589f, 0.004904f, -0.004282f, -0.005722f, -0.002351f, 0.002195f, -0.003311f, -0.003362f, -0.002786f, 0.000619f, 0.004313f, 0.003155f, 0.000905f, -0.001004f, -0.001263f, -0.000999f, -0.000609f, -0.001944f, -0.003386f, -0.000679f, -0.001025f, 0.001792f, 0.000045f, 0.000893f, -0.003423f, 0.001449f, 0.001865f, -0.001313f, -0.002993f, -0.001146f, -0.003140f, -0.001699f, -0.001376f, 0.002328f, 0.000298f, -0.000524f, -0.000200f, 0.000528f, -0.004745f, -0.000942f, 0.001715f, -0.005947f, -0.033968f, -0.002641f, -0.000599f, -0.006695f, -0.010452f, -0.003337f, 0.018413f, -0.012839f, -0.019281f, 0.007415f, -0.007762f, 0.002904f, 0.003571f, 0.012406f, -0.008260f, -0.002394f, 0.002530f, 0.011546f, -0.005227f, -0.007360f, -0.002131f, -0.006313f, 0.008525f, 0.015544f, 0.007867f, + 0.000275f, -0.001162f, -0.008691f, -0.000418f, 0.024379f, 0.004377f, -0.002872f, 0.028122f, -0.001536f, 0.020943f, -0.006154f, 0.000278f, 0.014280f, 0.004403f, 0.003658f, 0.005156f, 0.002624f, 0.007888f, 0.004676f, -0.013194f, 0.024877f, 0.015140f, 0.020455f, 0.013727f, 0.009114f, -0.013426f, 0.006134f, 0.007001f, 0.001193f, -0.008191f, 0.023112f, 0.014008f, 0.020896f, 0.003803f, -0.003982f, -0.005003f, 0.015431f, -0.007338f, -0.015615f, 0.018664f, 0.005964f, -0.010083f, -0.005752f, 0.001032f, -0.004609f, 0.001927f, -0.001997f, 0.002731f, -0.006278f, -0.001652f, -0.014764f, 0.005843f, -0.001675f, -0.000274f, 0.005651f, -0.001722f, -0.002629f, 0.008896f, -0.000415f, 0.006938f, 0.009308f, 0.007610f, 0.004996f, 0.004918f, 0.002100f, 0.002924f, 0.000215f, -0.001777f, -0.001570f, 0.004130f, -0.000954f, -0.002335f, -0.002385f, 0.002029f, -0.002712f, -0.000625f, -0.000395f, 0.005123f, 0.002265f, 0.003708f, -0.003175f, 0.001191f, -0.002509f, -0.000815f, 0.003636f, -0.000334f, -0.001220f, -0.000975f, -0.000722f, -0.008545f, -0.001136f, -0.022247f, -0.008718f, -0.024892f, -0.017016f, 0.001943f, + -0.016123f, -0.012671f, 0.001625f, -0.002748f, 0.016852f, -0.011033f, 0.018665f, 0.022859f, 0.002461f, -0.019241f, -0.013466f, 0.020541f, -0.010250f, -0.005497f, 0.011597f, -0.014875f, -0.026451f, 0.010748f, 0.023073f, -0.011708f, 0.005995f, -0.000334f, 0.010141f, -0.027636f, 0.005667f, -0.011048f, 0.006840f, 0.000652f, -0.011493f, 0.019427f, 0.008980f, 0.008258f, 0.025890f, 0.012094f, 0.005465f, 0.014681f, 0.003068f, 0.004816f, 0.007497f, 0.002547f, 0.001320f, 0.004073f, 0.003663f, 0.029414f, 0.016637f, 0.000023f, 0.024749f, 0.015499f, 0.018308f, 0.028483f, -0.014369f, -0.012037f, 0.025020f, -0.008587f, -0.000812f, -0.014688f, -0.006106f, 0.008929f, 0.013344f, -0.011175f, -0.001179f, 0.003827f, -0.003037f, 0.006930f, -0.011767f, -0.002163f, -0.013633f, 0.026853f, -0.008507f, 0.014695f, -0.004009f, -0.007087f, 0.019845f, 0.003518f, -0.005617f, 0.006467f, -0.002284f, 0.000622f, -0.005419f, 0.007509f, -0.001248f, 0.002739f, 0.008134f, 0.004631f, 0.002543f, 0.004550f, 0.000510f, -0.000666f, 0.003363f, 0.000862f, -0.005292f, 0.001222f, -0.000978f, -0.002505f, 0.005111f, 0.000038f, + 0.002586f, 0.002064f, -0.000938f, 0.000982f, -0.003029f, 0.000702f, -0.002750f, 0.000281f, -0.001016f, 0.003605f, 0.001135f, 0.003100f, 0.001014f, 0.008482f, -0.009049f, 0.002923f, 0.001316f, 0.002897f, -0.012997f, 0.016917f, 0.009831f, 0.022982f, 0.004466f, -0.003108f, -0.025918f, -0.013861f, -0.009703f, 0.006625f, -0.013453f, -0.022453f, -0.006233f, 0.005757f, 0.002523f, -0.025075f, 0.020379f, 0.001567f, -0.001497f, -0.021360f, -0.012259f, 0.005039f, 0.002665f, -0.023732f, -0.007348f, 0.008673f, 0.000996f, 0.002393f, 0.012201f, 0.014209f, 0.008341f, -0.003676f, 0.007205f, 0.002214f, -0.008471f, -0.017569f, 0.030311f, -0.007602f, -0.014693f, 0.000285f, 0.007558f, 0.009777f, 0.022681f, 0.003714f, -0.000357f, -0.008512f, -0.000197f, 0.012542f, -0.001528f, 0.015672f, 0.030110f, 0.002516f, -0.006454f, 0.000901f, 0.025936f, 0.032346f, -0.016060f, 0.004504f, 0.004587f, 0.017482f, 0.009317f, 0.003072f, 0.005454f, -0.012898f, 0.008103f, 0.008329f, 0.008410f, -0.005584f, 0.000556f, 0.006337f, 0.009717f, -0.001377f, 0.003394f, 0.002209f, -0.010859f, 0.005260f, 0.000606f, -0.009889f, + -0.007082f, 0.010445f, -0.004608f, 0.007219f, -0.010407f, -0.008047f, -0.003485f, 0.002359f, -0.000063f, 0.009417f, 0.004416f, 0.001665f, 0.000568f, 0.004693f, 0.004466f, 0.001341f, -0.007864f, 0.000316f, -0.003237f, 0.001244f, -0.002408f, -0.001980f, 0.000020f, -0.000839f, -0.001014f, -0.002754f, -0.007691f, -0.002212f, 0.000976f, -0.005309f, -0.003226f, -0.003383f, 0.000274f, -0.003389f, -0.005374f, -0.001338f, 0.002752f, 0.004200f, -0.008360f, 0.011979f, -0.010548f, -0.019194f, 0.013417f, -0.001492f, -0.004617f, 0.005149f, 0.011433f, -0.032251f, 0.002064f, 0.024856f, -0.002801f, 0.044656f, 0.021381f, -0.013533f, -0.009915f, -0.004098f, -0.012800f, -0.005639f, 0.019979f, -0.007576f, -0.006451f, 0.020028f, 0.016266f, 0.005430f, 0.009360f, 0.018727f, 0.012413f, 0.014037f, -0.010148f, -0.006904f, 0.017774f, -0.003388f, 0.016096f, 0.000194f, -0.019062f, -0.012211f, 0.005253f, 0.015218f, -0.020741f, 0.001395f, -0.011041f, 0.005925f, -0.012629f, 0.017786f, 0.017711f, -0.017122f, -0.001763f, 0.005133f, -0.000488f, -0.023186f, -0.010372f, 0.004099f, 0.015513f, 0.025519f, 0.008709f, -0.018720f, + -0.004085f, -0.004472f, -0.002141f, 0.016095f, 0.002608f, 0.012921f, -0.019189f, 0.008760f, 0.001381f, -0.015153f, 0.018150f, 0.007802f, -0.002377f, -0.003935f, 0.003188f, -0.000561f, -0.015511f, 0.011855f, -0.003541f, 0.007119f, -0.012042f, -0.021281f, -0.011808f, 0.005189f, 0.009612f, 0.000356f, 0.005334f, 0.019343f, 0.000257f, -0.004784f, 0.012141f, -0.003611f, 0.011431f, 0.000804f, 0.003750f, -0.009627f, 0.001054f, 0.000393f, 0.005273f, 0.005876f, 0.008115f, 0.005262f, -0.001931f, -0.002218f, -0.003697f, 0.009701f, -0.004423f, 0.005124f, 0.001094f, 0.003150f, 0.003971f, 0.005501f, 0.002410f, -0.001685f, 0.004871f, 0.002047f, 0.001664f, -0.001699f, 0.006535f, 0.003226f, 0.001409f, -0.006286f, 0.002393f, -0.002378f, -0.000021f, 0.004576f, 0.020725f, -0.025328f, -0.003946f, -0.008023f, 0.026172f, -0.011549f, 0.021582f, -0.006602f, 0.020154f, 0.027294f, -0.011956f, 0.008681f, -0.006819f, 0.015593f, -0.005788f, 0.013001f, 0.010807f, 0.010196f, -0.002211f, 0.010719f, -0.005257f, -0.013384f, -0.006381f, 0.015169f, -0.017525f, 0.002895f, 0.000036f, 0.013526f, 0.027270f, -0.024756f, + 0.000975f, 0.024460f, -0.000496f, 0.022373f, 0.003140f, 0.009892f, -0.002973f, -0.001780f, 0.006108f, -0.034237f, 0.003481f, -0.000715f, -0.013568f, 0.009197f, 0.005721f, 0.025036f, 0.012499f, -0.002367f, 0.047433f, 0.011905f, -0.024856f, 0.006709f, 0.002484f, 0.016642f, -0.010663f, 0.003283f, 0.014054f, 0.001210f, 0.008592f, -0.002379f, -0.027167f, -0.027801f, 0.000134f, -0.009328f, 0.022499f, -0.037822f, 0.048840f, -0.000182f, 0.027222f, 0.031159f, 0.007536f, -0.008124f, -0.006138f, -0.014485f, -0.019263f, -0.001553f, 0.006294f, -0.004801f, 0.009819f, -0.006425f, -0.015506f, -0.009730f, -0.007814f, 0.002900f, -0.002386f, 0.001813f, 0.010486f, 0.005347f, 0.004992f, 0.003922f, -0.004325f, -0.005270f, 0.000342f, -0.001044f, 0.003022f, 0.000806f, 0.001233f, 0.003382f, 0.006084f, 0.003706f, -0.012065f, 0.002295f, -0.002268f, 0.008884f, 0.008882f, 0.005219f, -0.000809f, -0.002487f, 0.003488f, 0.002858f, -0.004270f, -0.004423f, -0.001115f, -0.002999f, 0.000847f, -0.003211f, -0.005855f, 0.002412f, 0.009768f, -0.002442f, 0.003932f, -0.007419f, 0.000962f, 0.004393f, 0.004474f, -0.000149f, + 0.002867f, 0.006370f, -0.045202f, -0.003287f, 0.015256f, 0.002435f, -0.017041f, -0.041984f, -0.000120f, 0.004692f, -0.007450f, -0.001846f, -0.012440f, 0.006400f, -0.010375f, 0.021484f, 0.007507f, -0.012949f, -0.016184f, -0.027627f, 0.020510f, -0.008874f, 0.001302f, 0.026753f, 0.036804f, 0.022417f, -0.003537f, 0.001848f, -0.025422f, -0.010908f, -0.010288f, 0.006718f, -0.036024f, 0.009307f, 0.009704f, 0.001980f, -0.018573f, 0.017657f, 0.027470f, -0.004517f, -0.000590f, 0.003147f, -0.016111f, -0.016987f, 0.009631f, 0.006602f, 0.020752f, -0.022995f, 0.024782f, -0.013169f, 0.013611f, -0.021290f, -0.016868f, -0.008453f, -0.000653f, -0.002569f, 0.008976f, -0.004631f, -0.037231f, -0.027889f, -0.007946f, 0.000942f, -0.037332f, 0.000474f, 0.018297f, -0.009894f, -0.004415f, 0.005602f, 0.015540f, -0.032787f, 0.016620f, -0.005796f, -0.005043f, -0.000192f, 0.013262f, 0.016684f, -0.019795f, -0.010070f, -0.013351f, -0.006449f, -0.004904f, 0.009696f, 0.003098f, -0.011890f, -0.005458f, -0.009121f, 0.006183f, 0.021754f, 0.014211f, -0.000128f, -0.000769f, -0.012166f, 0.000320f, -0.007435f, 0.010103f, -0.001869f, + 0.017727f, 0.005965f, 0.006088f, -0.006420f, 0.000223f, 0.000213f, -0.014452f, 0.015266f, 0.000984f, -0.002688f, 0.007797f, -0.002811f, -0.002580f, -0.000716f, 0.001006f, -0.012386f, 0.005282f, 0.007567f, 0.007831f, -0.001275f, -0.003109f, 0.002736f, 0.004345f, -0.004418f, -0.002819f, 0.004418f, -0.009624f, 0.001064f, -0.000429f, 0.008882f, -0.000880f, 0.040510f, 0.000989f, -0.008213f, 0.031508f, -0.006877f, -0.012806f, -0.003381f, -0.002891f, 0.039080f, 0.044689f, -0.005805f, 0.009514f, 0.011401f, -0.005699f, -0.021202f, 0.010454f, 0.041562f, 0.031698f, 0.027115f, -0.009831f, 0.011763f, 0.022318f, -0.028937f, -0.021560f, 0.025315f, -0.012900f, -0.014148f, -0.000968f, 0.031645f, -0.004756f, 0.029134f, 0.001918f, 0.026148f, -0.015632f, 0.035920f, 0.010925f, -0.011102f, -0.018304f, 0.006588f, -0.025899f, 0.003147f, -0.030733f, -0.010448f, -0.011022f, 0.017635f, -0.017596f, 0.029032f, -0.035489f, -0.061363f, 0.038374f, 0.017217f, -0.007544f, 0.000368f, 0.042325f, 0.019921f, 0.003363f, -0.011061f, 0.009143f, -0.004879f, 0.000507f, -0.027454f, -0.027905f, 0.016474f, -0.009371f, 0.009127f, + 0.052544f, -0.013694f, 0.011299f, -0.034252f, 0.040598f, -0.013535f, -0.018144f, -0.008632f, -0.005684f, 0.017014f, -0.034422f, 0.028834f, -0.033740f, 0.024386f, -0.017378f, -0.023458f, 0.023457f, -0.000953f, 0.007676f, -0.009471f, 0.013866f, -0.007553f, -0.010633f, -0.004681f, -0.016111f, 0.011150f, -0.000548f, -0.010412f, -0.004478f, 0.003980f, 0.017138f, 0.003320f, 0.002421f, 0.004650f, -0.000463f, -0.002860f, 0.008680f, -0.004833f, 0.003902f, 0.003706f, -0.004499f, -0.001191f, -0.001040f, 0.012396f, 0.010727f, -0.003894f, -0.006014f, -0.012821f, -0.000298f, -0.002562f, -0.001913f, -0.002031f, 0.000320f, 0.011886f, 0.003483f, -0.001353f, 0.014841f, -0.046053f, -0.034233f, -0.033193f, 0.046334f, 0.001549f, 0.019886f, 0.011845f, -0.040822f, -0.035696f, 0.023994f, -0.063684f, 0.018605f, 0.018904f, -0.004094f, -0.025345f, -0.023304f, 0.039663f, -0.021337f, -0.002813f, -0.006674f, -0.020573f, 0.030173f, 0.009598f, 0.027299f, 0.015866f, 0.018835f, -0.005984f, 0.030652f, -0.002834f, -0.020046f, -0.023619f, -0.005434f, 0.013289f, -0.017895f, 0.023788f, 0.015283f, -0.017958f, -0.064467f, -0.005430f, + -0.005295f, -0.001611f, 0.046845f, 0.001047f, -0.036691f, -0.021786f, -0.022435f, 0.019220f, -0.014140f, -0.030573f, -0.034099f, -0.021232f, -0.016579f, -0.076034f, 0.001827f, 0.009465f, 0.024979f, -0.039726f, 0.013007f, -0.032828f, -0.026837f, -0.009209f, 0.031787f, 0.008109f, 0.029505f, 0.055682f, 0.016772f, 0.012763f, 0.036338f, -0.028342f, -0.003605f, -0.013473f, -0.015527f, 0.029083f, 0.026930f, 0.042733f, 0.021028f, -0.039177f, -0.026065f, 0.030724f, -0.046237f, -0.050978f, -0.016003f, 0.037099f, 0.005905f, -0.009106f, 0.025337f, 0.020631f, -0.000196f, 0.005865f, 0.021488f, -0.014080f, 0.012721f, -0.010386f, -0.001959f, -0.010822f, -0.001985f, 0.002797f, 0.015060f, -0.009580f, -0.012053f, -0.000064f, 0.008509f, 0.002680f, 0.007740f, -0.001238f, -0.012048f, -0.002925f, -0.007972f, 0.000591f, -0.006657f, -0.001351f, -0.000921f, -0.013622f, 0.011042f, 0.001645f, 0.011239f, 0.014057f, 0.019508f, -0.007354f, -0.010342f, -0.000866f, 0.001906f, 0.022440f, -0.019692f, -0.041740f, 0.012151f, -0.000067f, -0.000287f, 0.002094f, 0.006421f, 0.009508f, 0.019069f, 0.006564f, 0.016130f, 0.009129f, + 0.019013f, 0.048460f, 0.002091f, -0.061953f, -0.022396f, 0.016340f, 0.001097f, -0.012488f, -0.039675f, -0.025947f, 0.008923f, 0.033045f, 0.013081f, -0.030628f, 0.017115f, 0.013691f, -0.034733f, -0.006167f, -0.043064f, 0.034636f, -0.017686f, -0.022235f, 0.031991f, -0.030100f, 0.008974f, 0.066207f, -0.007286f, 0.011153f, 0.019833f, 0.000324f, 0.009997f, -0.038104f, 0.009790f, 0.007238f, 0.006649f, 0.086819f, 0.058900f, -0.006025f, -0.029735f, -0.019525f, 0.027548f, 0.031916f, -0.034231f, -0.018886f, -0.046077f, 0.074150f, 0.020714f, 0.008946f, -0.011500f, -0.007640f, -0.016073f, -0.008709f, 0.053402f, -0.013795f, 0.014710f, 0.053363f, 0.009254f, -0.014554f, -0.038975f, 0.001404f, 0.016064f, -0.078665f, 0.017520f, 0.009033f, 0.054370f, 0.037309f, 0.029123f, 0.048642f, 0.027582f, -0.009176f, 0.005046f, 0.017215f, -0.005181f, 0.002745f, -0.003154f, 0.008054f, 0.004515f, 0.045478f, -0.001058f, 0.018912f, -0.007712f, 0.018284f, -0.001277f, 0.024278f, 0.005278f, 0.007063f, 0.021949f, -0.001363f, 0.009217f, 0.015067f, 0.000570f, 0.012264f, 0.016907f, 0.007788f, 0.013509f, 0.019900f, + 0.011359f, -0.006847f, -0.001255f, 0.004729f, 0.004933f, 0.000608f, -0.007666f, 0.004319f, 0.005245f, 0.002755f, 0.010495f, -0.000999f, 0.016382f, 0.009278f, -0.006528f, 0.017362f, -0.002186f, -0.010997f, -0.050519f, -0.007229f, 0.034851f, 0.019542f, -0.056594f, -0.074630f, 0.008617f, 0.050674f, 0.020523f, 0.030971f, -0.017564f, 0.023921f, 0.004049f, 0.000642f, -0.027051f, -0.009689f, -0.042146f, 0.062665f, 0.021049f, -0.050873f, -0.034855f, 0.022774f, 0.002472f, 0.012551f, -0.015172f, 0.031254f, 0.018320f, 0.021511f, 0.041080f, 0.036324f, 0.007555f, 0.035511f, -0.018626f, 0.020379f, -0.000023f, 0.024771f, 0.011468f, -0.005977f, -0.014857f, 0.017084f, -0.022100f, 0.058428f, -0.015610f, -0.011091f, 0.012092f, 0.028859f, 0.028684f, -0.019403f, 0.050471f, 0.049851f, 0.029143f, 0.012017f, 0.004314f, -0.016119f, -0.037791f, -0.064961f, -0.010403f, 0.022995f, -0.001251f, 0.028152f, 0.030936f, 0.032901f, 0.011657f, 0.018281f, 0.107926f, -0.053098f, -0.022965f, 0.010548f, 0.021006f, -0.002869f, -0.083934f, 0.019587f, -0.012881f, 0.012443f, 0.015128f, 0.037101f, 0.007697f, 0.000440f, + -0.033593f, 0.034879f, -0.012323f, 0.004842f, 0.030985f, 0.013727f, -0.032530f, -0.007340f, -0.018156f, -0.006552f, -0.013867f, 0.002027f, 0.001590f, 0.012919f, -0.002859f, 0.015811f, 0.016140f, 0.020586f, 0.000116f, -0.000531f, -0.012373f, -0.006086f, -0.016669f, -0.011869f, -0.004720f, 0.021843f, 0.007484f, -0.003936f, 0.001876f, -0.009173f, 0.003595f, 0.019057f, 0.022303f, -0.004861f, -0.019841f, -0.000888f, 0.001641f, 0.008934f, -0.005176f, 0.005990f, -0.009189f, 0.014261f, -0.027890f, 0.002265f, -0.008253f, -0.010633f, 0.000446f, 0.004960f, -0.017797f, 0.008132f, -0.003005f, 0.008018f, -0.009447f, -0.016614f, 0.006359f, 0.028234f, 0.027792f, -0.015285f, -0.020802f, 0.006220f, -0.019988f, -0.064090f, 0.066313f, -0.019313f, 0.018664f, 0.006174f, 0.055625f, 0.044362f, 0.027889f, -0.026481f, -0.004355f, 0.038067f, 0.020208f, 0.044798f, 0.119329f, -0.007346f, -0.047000f, -0.012217f, 0.035692f, -0.005284f, -0.055519f, 0.084910f, 0.044000f, -0.029880f, -0.046480f, -0.005691f, 0.010448f, -0.014734f, 0.033728f, 0.028688f, 0.033094f, 0.063402f, 0.010627f, 0.017945f, 0.011342f, -0.024496f, + -0.058962f, 0.034720f, -0.040118f, -0.030102f, 0.046565f, 0.024447f, 0.026271f, 0.013826f, 0.009602f, -0.002620f, -0.058226f, -0.051649f, 0.000975f, 0.030970f, -0.038491f, 0.036520f, -0.017071f, -0.043134f, 0.013628f, 0.037942f, -0.006996f, 0.007346f, 0.037639f, 0.037137f, 0.038509f, 0.002890f, -0.023492f, 0.021999f, 0.091491f, 0.011086f, 0.037208f, 0.052317f, 0.002559f, -0.016517f, -0.045974f, -0.018539f, -0.072455f, -0.024795f, -0.018135f, -0.008887f, 0.016471f, 0.002868f, -0.003293f, -0.020774f, -0.013721f, -0.012044f, 0.017901f, -0.018582f, -0.003725f, -0.016388f, 0.005355f, -0.010391f, -0.017853f, 0.000760f, -0.025696f, -0.009009f, 0.000438f, -0.023159f, -0.004390f, -0.020172f, -0.011680f, 0.002283f, -0.037106f, -0.003546f, 0.001740f, -0.000370f, 0.017531f, -0.023575f, -0.007782f, 0.025368f, 0.000493f, -0.009936f, -0.001100f, -0.008484f, 0.004877f, -0.010844f, -0.008230f, 0.012644f, -0.000870f, 0.000892f, 0.033841f, 0.027897f, 0.000988f, -0.021832f, -0.032375f, -0.057420f, 0.010593f, 0.035741f, 0.048782f, -0.040946f, -0.043676f, 0.054213f, 0.024508f, -0.001835f, -0.005182f, -0.022086f, + 0.010557f, -0.010147f, -0.023069f, 0.025009f, 0.030429f, 0.021140f, 0.002284f, -0.004118f, -0.016593f, 0.003898f, 0.012938f, 0.007936f, -0.018784f, -0.067062f, 0.015292f, -0.015046f, -0.019941f, 0.004009f, -0.008444f, 0.005909f, -0.066840f, 0.031548f, 0.024789f, -0.048053f, 0.034074f, 0.045162f, 0.037833f, -0.009820f, 0.006559f, -0.005745f, 0.024759f, -0.005277f, 0.000120f, 0.120212f, -0.035764f, 0.010238f, -0.031903f, -0.018404f, 0.067995f, 0.025049f, 0.023390f, 0.043599f, -0.054907f, -0.045400f, 0.068365f, -0.042850f, 0.035016f, 0.043271f, 0.004365f, 0.011742f, 0.016616f, 0.077535f, -0.026013f, -0.029242f, -0.070663f, -0.014922f, -0.030293f, 0.024290f, -0.044131f, 0.075367f, 0.041108f, 0.046144f, 0.022834f, 0.040367f, 0.021265f, 0.071960f, 0.017880f, 0.034772f, 0.026564f, -0.034948f, -0.016638f, -0.013342f, 0.006494f, 0.004372f, 0.035342f, 0.015606f, 0.000197f, -0.001354f, 0.008235f, 0.003567f, -0.013436f, -0.026554f, -0.014115f, -0.019861f, 0.025574f, -0.008626f, -0.014244f, 0.008490f, -0.005392f, 0.031608f, 0.014674f, -0.005261f, 0.017777f, -0.019833f, 0.009877f, 0.016072f, + -0.005493f, 0.030629f, 0.031162f, 0.021009f, -0.014322f, 0.025915f, 0.014925f, -0.024926f, -0.004661f, 0.002945f, -0.015071f, 0.002040f, 0.022311f, -0.025080f, -0.029158f, 0.013267f, 0.006021f, -0.002499f, -0.019278f, 0.049657f, -0.028699f, 0.026278f, 0.084362f, 0.041921f, 0.031952f, -0.047075f, 0.013335f, 0.047016f, -0.040065f, 0.066541f, 0.023891f, 0.035630f, 0.031900f, -0.020387f, 0.033044f, 0.028472f, 0.012026f, 0.065972f, 0.050023f, -0.003724f, -0.112706f, -0.013157f, 0.052468f, 0.050620f, 0.052031f, 0.012526f, 0.029079f, 0.002640f, 0.014682f, -0.003661f, -0.034842f, 0.072301f, -0.001797f, 0.068896f, 0.031086f, 0.049745f, -0.069373f, 0.047221f, 0.023581f, 0.021307f, -0.018115f, 0.016476f, -0.012847f, 0.015735f, 0.069253f, 0.027690f, 0.090331f, 0.004587f, 0.020054f, 0.052864f, -0.010552f, 0.083022f, 0.040947f, 0.007417f, -0.054793f, -0.034156f, 0.030318f, 0.003647f, -0.009061f, 0.001997f, -0.009280f, 0.006698f, -0.039911f, 0.026935f, -0.042507f, -0.063217f, -0.023666f, -0.003338f, -0.021121f, -0.016130f, 0.053799f, -0.006195f, 0.048998f, -0.046377f, 0.053831f, 0.007449f, + -0.059484f, 0.059167f, 0.049256f, -0.018206f, -0.008280f, 0.014308f, 0.025877f, 0.016839f, -0.002469f, -0.026787f, 0.017055f, -0.011428f, -0.001718f, 0.034243f, -0.006949f, -0.005337f, -0.027505f, -0.007103f, 0.007603f, 0.005567f, -0.001854f, 0.025814f, 0.022635f, -0.017622f, 0.006116f, -0.000172f, 0.000937f, 0.023767f, 0.007180f, -0.025376f, 0.017247f, -0.021670f, 0.011109f, -0.017481f, -0.007126f, -0.005373f, -0.004033f, 0.003256f, 0.004907f, 0.003375f, 0.001326f, -0.004840f, 0.004279f, -0.012079f, 0.008491f, 0.010020f, -0.002136f, -0.009867f, 0.007463f, -0.002059f, 0.012687f, -0.006936f, -0.006172f, -0.017541f, -0.000842f, -0.015556f, -0.050301f, -0.048089f, -0.019352f, -0.020830f, 0.038936f, -0.062965f, -0.078459f, -0.085306f, -0.103034f, 0.046034f, 0.050543f, -0.002943f, -0.008310f, -0.000322f, -0.024530f, 0.005970f, 0.012780f, -0.021724f, 0.070114f, 0.066067f, 0.043144f, 0.047262f, -0.043553f, 0.028920f, 0.002352f, 0.034440f, -0.013612f, -0.017746f, -0.064381f, 0.057563f, -0.058182f, -0.070429f, -0.018550f, -0.014796f, 0.075534f, -0.041533f, 0.010112f, -0.039205f, -0.011014f, 0.072870f, + 0.013467f, 0.023054f, 0.036031f, 0.066923f, 0.004068f, -0.007495f, -0.081810f, -0.015091f, -0.006605f, -0.002324f, 0.044747f, 0.024082f, 0.152204f, 0.007625f, -0.004755f, -0.050499f, -0.004108f, 0.060526f, 0.055472f, -0.005002f, -0.026807f, -0.075224f, 0.018751f, 0.047623f, -0.024436f, -0.054859f, -0.023282f, 0.046936f, -0.014367f, 0.034453f, -0.109024f, -0.060993f, -0.087155f, -0.023584f, 0.034981f, 0.018579f, -0.037968f, -0.036243f, -0.042662f, 0.017115f, 0.089797f, 0.027175f, -0.000385f, -0.031866f, -0.002577f, -0.024825f, -0.006776f, 0.010614f, 0.010623f, -0.028585f, -0.012904f, -0.002569f, 0.019496f, -0.048581f, -0.033031f, -0.011361f, 0.023895f, -0.003342f, 0.031436f, 0.010033f, 0.003736f, -0.010996f, -0.005389f, -0.021887f, -0.004595f, -0.032972f, -0.007291f, 0.036163f, 0.013050f, 0.016450f, -0.025212f, -0.045591f, 0.022620f, 0.021365f, -0.013135f, -0.000055f, -0.018724f, -0.003547f, 0.005778f, -0.002511f, 0.017144f, 0.010548f, 0.011253f, 0.021628f, 0.012131f, 0.017069f, 0.018597f, -0.003731f, 0.014963f, 0.007910f, -0.012468f, -0.030453f, -0.015801f, 0.074057f, 0.002429f, 0.000432f, + 0.131094f, 0.012980f, -0.097083f, -0.074550f, 0.091928f, 0.081603f, 0.005194f, -0.064663f, -0.080318f, -0.046063f, 0.016055f, 0.079384f, 0.070789f, 0.047423f, -0.028793f, 0.009398f, -0.028920f, 0.025989f, 0.060288f, 0.092919f, 0.101528f, -0.012591f, -0.053966f, -0.085476f, -0.127734f, -0.001215f, 0.068474f, 0.277294f, -0.035930f, -0.014673f, -0.133658f, -0.055293f, 0.011607f, 0.032117f, 0.165286f, 0.119156f, 0.073869f, -0.083700f, -0.047139f, -0.081777f, -0.004599f, 0.138315f, 0.128044f, 0.155884f, -0.042719f, -0.153224f, -0.111373f, -0.154712f, 0.039020f, 0.142211f, 0.125149f, 0.230464f, -0.109764f, -0.133693f, -0.117081f, -0.019446f, 0.102098f, 0.135910f, 0.190065f, 0.086064f, -0.039691f, -0.073776f, 0.017697f, -0.005551f, 0.054224f, 0.152010f, -0.033216f, 0.094497f, -0.033506f, -0.087334f, 0.001473f, 0.013724f, 0.082473f, 0.003980f, -0.007453f, 0.007902f, -0.021344f, -0.075532f, 0.031745f, -0.010361f, 0.025974f, -0.021325f, -0.062023f, -0.015032f, -0.014478f, 0.007067f, 0.041531f, 0.005813f, -0.011743f, 0.015930f, -0.014905f, -0.019346f, -0.003444f, 0.060277f, 0.015497f, 0.055353f, + -0.003842f, 0.006347f, -0.015624f, 0.007236f, 0.006566f, 0.011206f, 0.042924f, 0.073946f, -0.001984f, -0.019933f, -0.067498f, -0.089341f, 0.003735f, 0.005427f, 0.108382f, 0.069800f, 0.011929f, -0.037417f, -0.152221f, -0.085738f, -0.012926f, 0.069077f, 0.135110f, 0.070113f, -0.040622f, -0.050242f, -0.157816f, -0.058603f, 0.075546f, 0.138940f, 0.112281f, 0.007400f, -0.071328f, -0.080809f, -0.007852f, -0.002759f, 0.065735f, -0.011942f, -0.067815f, 0.088635f, -0.020696f, 0.104675f, -0.096622f, 0.000987f, -0.042285f, -0.100371f, 0.073211f, -0.052786f, 0.067765f, -0.053981f, -0.020877f, -0.005018f, 0.034836f, 0.007601f, -0.038533f, -0.020709f, -0.001776f, 0.054084f, -0.050583f, 0.062066f, 0.044582f, -0.034188f, 0.007695f, -0.042873f, -0.042993f, 0.072298f, -0.071661f, -0.036327f, 0.048076f, 0.110557f, -0.000886f, 0.014729f, -0.010253f, -0.048801f, -0.013655f, 0.044944f, -0.015759f, -0.073509f, 0.010281f, -0.016317f, -0.012467f, 0.021768f, -0.066819f, 0.033300f, -0.000267f, 0.022704f, 0.051394f, -0.116710f, -0.086187f, -0.028911f, -0.002661f, 0.119436f, -0.063600f, 0.043042f, 0.094136f, -0.052081f, + -0.030619f, -0.003648f, 0.051043f, 0.074056f, -0.040742f, 0.021133f, -0.015026f, 0.029086f, 0.115908f, -0.043445f, -0.130721f, 0.027409f, 0.059822f, 0.015169f, -0.069872f, 0.043177f, 0.018266f, 0.043345f, -0.013701f, -0.002375f, -0.048808f, -0.039165f, 0.028710f, 0.006887f, -0.052013f, 0.014859f, 0.035924f, -0.017847f, -0.000267f, -0.058113f, 0.008458f, -0.014772f, -0.063422f, -0.002624f, 0.028381f, 0.024190f, 0.010244f, -0.002137f, 0.015730f, -0.043784f, -0.010689f, 0.014903f, -0.020997f, 0.032834f, -0.020253f, -0.008949f, -0.019146f, -0.000428f, -0.020398f, 0.031370f, 0.005845f, -0.025692f, -0.021543f, -0.001543f, -0.000856f, 0.052043f, -0.018294f, 0.018096f, -0.009473f, -0.001561f, 0.011542f, -0.023283f, -0.020029f, 0.002881f, -0.044400f, -0.012940f, 0.013126f, -0.038476f, 0.001880f, -0.007666f, -0.013007f, 0.007495f, 0.024856f, -0.000683f, 0.003747f, -0.013917f, -0.009034f, -0.134905f, -0.042815f, 0.057914f, 0.079289f, 0.065839f, -0.067291f, 0.021454f, -0.187853f, -0.122157f, -0.103808f, -0.016535f, 0.087899f, 0.056570f, -0.004005f, -0.041306f, -0.051047f, 0.024884f, -0.031261f, -0.003198f, + 0.067172f, 0.018310f, 0.003077f, -0.066594f, -0.032134f, -0.006788f, -0.031599f, 0.020342f, -0.005642f, 0.036096f, -0.009549f, -0.000367f, -0.011914f, -0.002148f, -0.008689f, -0.038013f, -0.028866f, -0.063801f, -0.045143f, 0.032596f, 0.062362f, 0.068054f, 0.037774f, 0.059314f, -0.009101f, 0.050477f, -0.011863f, -0.023058f, -0.079743f, -0.003018f, -0.044081f, 0.034168f, 0.012984f, 0.100835f, -0.081430f, 0.028974f, 0.056424f, -0.031048f, -0.043307f, -0.024981f, -0.020229f, -0.020576f, 0.007238f, 0.071669f, 0.045926f, -0.018973f, -0.002751f, 0.051482f, -0.059530f, -0.065587f, 0.027064f, -0.076138f, -0.058791f, -0.051062f, 0.006314f, 0.024905f, 0.029535f, 0.088653f, 0.060062f, -0.009429f, 0.044689f, -0.025590f, 0.001727f, 0.011244f, 0.033098f, 0.053898f, 0.057950f, 0.041049f, 0.033812f, 0.027472f, 0.002262f, -0.074149f, -0.021114f, -0.038182f, -0.009682f, 0.043644f, -0.001945f, 0.006813f, -0.016262f, -0.032870f, 0.003623f, -0.016115f, -0.013583f, -0.035804f, 0.015854f, 0.027326f, -0.012101f, 0.010707f, 0.023908f, 0.013479f, 0.015570f, 0.003033f, 0.015328f, -0.010352f, 0.010524f, -0.004716f, + -0.019013f, 0.014787f, 0.018098f, -0.014591f, -0.021866f, 0.002245f, -0.014792f, -0.025095f, 0.019576f, 0.021473f, 0.008194f, 0.027578f, -0.002508f, -0.024752f, 0.042782f, -0.017575f, -0.161115f, -0.238003f, -0.292118f, -0.230868f, -0.344293f, -0.061108f, -0.125919f, 0.037801f, 0.071957f, 0.248747f, 0.145168f, 0.257691f, 0.262031f, 0.358838f, 0.261849f, 0.266199f, 0.196004f, 0.008165f, -0.057148f, -0.104226f, -0.064208f, -0.214762f, -0.146862f, -0.117020f, -0.119592f, -0.118332f, -0.118111f, -0.114640f, -0.123692f, -0.135705f, -0.101234f, -0.157745f, -0.129051f, -0.112493f, -0.050663f, -0.132592f, -0.041151f, 0.048427f, -0.098585f, -0.047752f, 0.026195f, 0.021340f, -0.083499f, 0.069139f, 0.088908f, 0.112672f, 0.152907f, 0.155444f, -0.012468f, 0.092332f, 0.150302f, 0.213441f, 0.168156f, 0.336346f, 0.315854f, 0.278970f, 0.225984f, 0.286220f, 0.141962f, 0.227834f, 0.277352f, 0.213579f, 0.136472f, 0.231658f, 0.074984f, 0.077678f, 0.142196f, 0.142697f, 0.101228f, 0.029212f, 0.082700f, -0.027833f, 0.004684f, 0.072407f, -0.082952f, -0.208024f, -0.310843f, -0.122941f, -0.425479f, -0.372147f, + -0.327394f, -0.378488f, -0.421138f, -0.352969f, -0.305631f, -0.294770f, -0.203314f, -0.267186f, -0.137354f, -0.169710f, -0.180477f, -0.273459f, -0.221109f, -0.159429f, -0.130706f, -0.110587f, -0.103775f, -0.065028f, 0.025525f, -0.000414f, -0.006504f, 0.076855f, 0.160518f, 0.133980f, 0.135550f, 0.216433f, 0.184883f, 0.192303f, 0.244019f, 0.230291f, 0.195759f, 0.186387f, 0.223400f, 0.190393f, 0.184389f, 0.195917f, 0.203063f, 0.172919f, 0.150959f, 0.139144f, 0.129804f, 0.170025f, 0.133090f, 0.100084f, 0.104340f, 0.078301f, 0.045414f, -0.026972f, -0.056563f, -0.073633f, -0.132445f, -0.112967f, -0.117381f, -0.139271f, -0.147678f, -0.135457f, -0.088667f, -0.098971f, -0.090010f, -0.091014f, -0.047272f, -0.051838f, -0.062948f, -0.042553f, -0.013963f, -0.015065f, -0.029420f, -0.017985f, 0.001851f, -0.009709f, -0.014410f, -0.010791f, -0.000557f, -0.000743f, -0.000813f, 0.000744f, 0.001311f, 0.000232f} + } +}; +const float CRendBin_Combined_BRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][2819]={ + { + {0.009763f, 0.004826f, -0.006570f, 0.009881f, -0.005791f, -0.002002f, 0.000151f, -0.003400f, -0.003805f, -0.007681f, 0.001838f, 0.011624f, 0.001194f, 0.002073f, 0.004945f, 0.001187f, -0.004128f, -0.001297f, -0.002453f, -0.002488f, 0.007055f, 0.001924f, 0.000928f, -0.002418f, 0.001304f, -0.000306f, -0.002679f, -0.004405f, 0.006838f, 0.005246f, 0.000978f, -0.001469f, 0.007930f, -0.011047f, -0.004108f, 0.004685f, -0.004570f, 0.009484f, 0.000974f, 0.006690f, 0.000864f, 0.000762f, 0.004341f, -0.003817f, -0.001583f, -0.000144f, -0.000106f, -0.002982f, -0.002374f, 0.004178f, -0.000209f, -0.010189f, 0.009547f, -0.001355f, 0.001625f, -0.008609f, 0.004085f, -0.003819f, 0.003384f, 0.000247f, -0.000296f, -0.003242f, -0.000332f, -0.004984f, 0.005131f, -0.009678f, -0.001093f, 0.007056f, -0.005603f, 0.002624f, 0.010545f, 0.003199f, 0.001057f, -0.005259f, 0.000556f, 0.002804f, -0.001992f, 0.003516f, -0.002220f, -0.001537f, -0.002978f, 0.003182f, -0.003473f, -0.005549f, 0.001757f, 0.000922f, -0.001396f, 0.006788f, -0.001729f, -0.001473f, -0.001665f, 0.002253f, 0.002466f, -0.000178f, 0.000264f, 0.001227f, + -0.001368f, 0.001216f, -0.002631f, -0.001082f, -0.000443f, -0.000548f, -0.001426f, -0.000049f, -0.000095f, -0.000291f, -0.000845f, -0.000062f, -0.001432f, 0.000753f, -0.000730f, 0.001637f, -0.001088f, 0.001220f, 0.001645f, 0.020362f, 0.003762f, -0.002850f, 0.006224f, -0.003076f, -0.002546f, -0.003260f, -0.001325f, -0.007645f, 0.010824f, 0.006253f, 0.004673f, 0.005031f, 0.004786f, -0.005016f, -0.006759f, 0.009111f, -0.001958f, -0.007069f, -0.013458f, 0.002204f, -0.003984f, 0.004224f, 0.000085f, -0.001142f, -0.003012f, 0.004236f, -0.004986f, -0.002520f, 0.006652f, 0.012636f, 0.003292f, 0.005749f, 0.001096f, 0.006355f, -0.001316f, 0.006761f, 0.004266f, 0.000764f, 0.003782f, 0.000336f, 0.001111f, 0.000348f, 0.009236f, 0.001956f, 0.002430f, -0.002087f, 0.001368f, -0.000655f, -0.001292f, 0.007494f, 0.008579f, -0.003085f, -0.003158f, 0.001729f, 0.007895f, -0.012851f, -0.000674f, -0.003491f, -0.009512f, -0.003872f, 0.001323f, -0.004056f, 0.004228f, 0.003425f, 0.000283f, -0.005801f, 0.002699f, -0.001237f, -0.005548f, 0.007116f, -0.009823f, -0.004645f, -0.010477f, -0.005187f, -0.001489f, 0.001558f, + 0.010569f, -0.004571f, -0.002756f, 0.003266f, -0.001669f, -0.002516f, 0.005005f, -0.000831f, -0.000208f, -0.002289f, -0.003546f, -0.004398f, -0.001175f, 0.003732f, 0.001485f, 0.001813f, 0.001731f, 0.001323f, 0.000131f, -0.000627f, -0.000274f, 0.000296f, 0.002634f, 0.001281f, 0.001386f, -0.000905f, 0.000215f, 0.000903f, 0.000745f, -0.000002f, 0.000168f, 0.000006f, -0.000203f, -0.000366f, -0.001846f, -0.001419f, -0.000960f, 0.001017f, 0.000852f, -0.000416f, 0.006145f, 0.002721f, -0.012411f, -0.001154f, 0.001828f, 0.008837f, -0.002669f, -0.015367f, 0.012384f, -0.014519f, 0.000761f, -0.006326f, -0.005048f, -0.015396f, -0.010259f, -0.005988f, -0.003900f, 0.006378f, 0.002140f, -0.010124f, 0.001428f, -0.005399f, 0.000068f, -0.000324f, 0.004173f, 0.000890f, -0.004445f, 0.000761f, 0.001075f, 0.002531f, -0.003146f, -0.002130f, -0.000951f, -0.004987f, -0.007643f, 0.010372f, 0.004779f, 0.001441f, -0.001438f, 0.008843f, 0.007597f, -0.008643f, 0.002416f, 0.000871f, -0.001673f, -0.005018f, 0.001130f, -0.008930f, 0.001998f, -0.001664f, -0.007349f, 0.009094f, 0.000132f, -0.000660f, 0.011308f, -0.009801f, + 0.008889f, 0.003335f, -0.001349f, -0.007251f, 0.002094f, -0.001011f, -0.007736f, -0.006382f, 0.000030f, -0.002771f, -0.003491f, -0.010612f, 0.000463f, 0.002317f, 0.004963f, -0.003051f, 0.004613f, 0.001455f, -0.001919f, -0.001444f, -0.006332f, 0.005483f, 0.001077f, 0.000839f, -0.010499f, 0.005528f, -0.000958f, 0.000786f, -0.005446f, 0.000210f, -0.009651f, 0.001210f, 0.002011f, 0.001338f, -0.000879f, 0.000989f, -0.000239f, 0.000115f, -0.001727f, 0.000571f, -0.000554f, 0.002161f, 0.001152f, 0.000926f, 0.001895f, 0.000078f, 0.000608f, 0.002012f, 0.001118f, -0.001308f, -0.000615f, 0.003166f, -0.001165f, 0.000670f, -0.001136f, 0.001217f, -0.003641f, -0.000836f, -0.001160f, 0.001522f, -0.000714f, -0.022861f, -0.021660f, 0.008398f, 0.014326f, 0.008683f, -0.019512f, 0.013897f, -0.004725f, -0.001770f, 0.001222f, -0.009028f, -0.006866f, 0.016395f, -0.000236f, -0.000020f, 0.001238f, -0.000383f, 0.005343f, -0.008144f, 0.004943f, -0.004311f, 0.004430f, 0.007510f, -0.004980f, -0.001341f, 0.004340f, -0.001243f, 0.007816f, -0.002430f, 0.003393f, 0.000686f, -0.000803f, 0.000661f, -0.006673f, -0.009267f, + 0.008749f, 0.001150f, -0.001692f, 0.000080f, -0.008698f, -0.010815f, -0.000307f, 0.000212f, 0.005630f, -0.010054f, -0.008579f, -0.001827f, -0.017877f, 0.006941f, -0.001414f, 0.003648f, -0.001379f, -0.004301f, 0.002728f, 0.022899f, 0.012704f, 0.006647f, -0.006868f, 0.009026f, -0.000109f, -0.011759f, 0.000028f, -0.012274f, 0.010425f, 0.001438f, 0.001226f, -0.006993f, 0.000059f, 0.007138f, 0.002607f, 0.001427f, 0.000887f, 0.000798f, 0.007659f, 0.005346f, 0.000976f, 0.005208f, 0.003087f, 0.004159f, 0.011213f, 0.004658f, 0.005511f, -0.005204f, 0.004206f, 0.003143f, -0.001356f, 0.008845f, 0.002672f, -0.000027f, -0.000810f, 0.002640f, 0.004690f, 0.000574f, -0.000075f, -0.001749f, 0.001115f, 0.003880f, 0.002126f, -0.000887f, 0.000364f, -0.003192f, 0.000896f, 0.000800f, -0.001443f, 0.000307f, -0.000220f, -0.000064f, 0.002151f, -0.000423f, 0.002245f, 0.003113f, 0.001100f, -0.001834f, -0.003546f, 0.000575f, -0.002245f, 0.001694f, 0.001506f, -0.002241f, 0.000890f, -0.032844f, -0.002500f, -0.007901f, -0.001149f, -0.005490f, -0.018632f, -0.000794f, -0.005012f, -0.007682f, -0.017467f, -0.002155f, + 0.012401f, -0.008668f, 0.008157f, -0.001446f, 0.011501f, -0.003899f, 0.009344f, -0.003082f, -0.009255f, -0.002485f, 0.000993f, -0.004061f, -0.008322f, -0.006688f, -0.008181f, 0.000262f, -0.007465f, 0.002718f, 0.000879f, 0.000744f, 0.003529f, -0.005617f, -0.007521f, 0.010846f, -0.000992f, 0.003214f, 0.000110f, -0.008521f, -0.005406f, -0.006017f, 0.000290f, -0.004321f, 0.007561f, 0.007685f, 0.001267f, -0.010438f, -0.003423f, 0.019189f, 0.004772f, -0.008123f, -0.006462f, -0.004115f, -0.007118f, -0.003765f, 0.014991f, 0.009120f, -0.010890f, 0.006656f, 0.008841f, 0.013053f, -0.003373f, 0.005303f, -0.000806f, 0.000111f, -0.005291f, -0.010877f, -0.001972f, 0.008017f, 0.000821f, 0.015532f, 0.011020f, 0.000733f, 0.003604f, 0.013100f, -0.010441f, -0.004787f, -0.003083f, -0.006432f, 0.004615f, 0.002027f, 0.002115f, -0.005638f, 0.003824f, -0.004097f, 0.004239f, -0.008015f, -0.000377f, -0.000743f, -0.003147f, -0.000197f, -0.000690f, 0.003935f, 0.001074f, 0.000882f, -0.003437f, -0.002324f, -0.001110f, -0.003237f, -0.000140f, -0.004669f, -0.002719f, 0.000189f, -0.000365f, 0.002909f, -0.001987f, 0.000796f, + -0.000962f, 0.001583f, 0.001142f, 0.004025f, -0.003328f, 0.042097f, 0.028257f, -0.008700f, -0.001586f, 0.000109f, -0.001146f, -0.004810f, 0.005880f, 0.014416f, 0.012167f, 0.006323f, -0.022083f, -0.009809f, 0.002840f, 0.001288f, 0.009385f, -0.016618f, 0.003361f, 0.022546f, 0.015172f, -0.002582f, 0.005406f, -0.001974f, -0.007610f, -0.010386f, 0.000580f, -0.008849f, -0.005167f, 0.002599f, 0.006999f, -0.006484f, -0.012088f, -0.005739f, 0.002078f, 0.011107f, 0.015501f, -0.002945f, -0.016394f, -0.003463f, -0.005863f, -0.016443f, -0.000993f, -0.000492f, -0.007897f, 0.002726f, 0.004429f, 0.009619f, -0.013800f, 0.005642f, 0.007112f, 0.001557f, -0.013346f, -0.009906f, 0.004541f, 0.000589f, 0.003459f, -0.001450f, -0.001311f, -0.000458f, -0.007402f, 0.003650f, 0.003856f, -0.005161f, 0.009254f, 0.010959f, 0.014973f, 0.003600f, 0.001114f, 0.014117f, 0.022999f, 0.003678f, 0.003140f, 0.003925f, 0.013521f, 0.001536f, 0.007997f, 0.022718f, 0.006731f, 0.004188f, 0.000618f, -0.004288f, -0.019423f, 0.002599f, -0.000531f, -0.003152f, -0.003728f, 0.002389f, -0.002708f, 0.004799f, 0.002119f, -0.002568f, + -0.001431f, -0.000657f, 0.003899f, 0.002493f, -0.001100f, -0.000756f, 0.002647f, 0.005770f, 0.000024f, -0.001448f, 0.001995f, 0.000220f, -0.002717f, -0.005368f, 0.003874f, -0.005055f, 0.003059f, 0.002134f, 0.003726f, -0.000254f, -0.000651f, 0.000077f, 0.001198f, -0.007051f, 0.000176f, 0.001027f, -0.000698f, 0.022154f, 0.000490f, 0.004617f, 0.005389f, 0.010684f, -0.004165f, 0.006804f, -0.005756f, -0.003672f, -0.018250f, 0.007284f, 0.012474f, -0.011292f, 0.009469f, -0.004673f, -0.015989f, 0.016658f, 0.009894f, -0.002967f, 0.010004f, 0.019508f, 0.013689f, -0.010062f, -0.005596f, 0.009834f, 0.003136f, -0.002221f, 0.007601f, 0.006949f, 0.010162f, 0.000642f, -0.004407f, -0.008699f, -0.015419f, -0.000507f, -0.012793f, 0.001579f, -0.004146f, 0.007164f, -0.010167f, -0.023455f, 0.005192f, -0.005818f, 0.010859f, 0.002729f, 0.000883f, -0.006492f, -0.013784f, -0.011595f, -0.001060f, -0.001187f, -0.010385f, 0.014674f, 0.019022f, 0.019709f, 0.008005f, -0.014114f, -0.001204f, 0.018674f, 0.001836f, -0.003221f, 0.008734f, -0.002444f, -0.004668f, -0.017729f, 0.009806f, 0.005136f, 0.025733f, 0.011877f, + -0.017417f, 0.005861f, 0.006601f, -0.001849f, -0.000282f, 0.006236f, -0.004209f, 0.001430f, -0.007443f, -0.018386f, 0.016657f, 0.003040f, 0.009945f, 0.004799f, -0.008627f, 0.014068f, -0.003082f, 0.003353f, 0.000800f, -0.003111f, 0.000579f, 0.000431f, 0.001161f, 0.007361f, 0.002480f, 0.001406f, 0.000678f, -0.002514f, -0.002916f, -0.003844f, -0.002229f, 0.002539f, -0.001174f, -0.000192f, -0.001423f, 0.002327f, -0.002108f, -0.001125f, 0.000270f, -0.000280f, 0.001035f, -0.004053f, 0.004761f, -0.001982f, 0.004196f, 0.001371f, -0.002117f, -0.002673f, 0.005904f, -0.005346f, 0.004751f, -0.001295f, -0.006824f, -0.011383f, -0.003071f, -0.002906f, -0.019650f, 0.000986f, 0.002413f, 0.009838f, -0.003715f, -0.008465f, 0.003528f, 0.001077f, 0.004652f, 0.000159f, 0.010678f, 0.004294f, 0.007376f, 0.001266f, -0.000822f, 0.006354f, 0.003716f, -0.019340f, -0.005977f, -0.027651f, 0.001256f, -0.005146f, 0.003199f, 0.004917f, 0.000374f, 0.013235f, 0.003368f, 0.018892f, 0.002324f, -0.022425f, 0.000461f, -0.009012f, -0.003709f, -0.001047f, -0.003362f, -0.001134f, -0.017788f, 0.003893f, -0.008561f, 0.021455f, + -0.022245f, 0.012369f, -0.004829f, -0.018985f, -0.003550f, -0.013342f, -0.002870f, -0.004046f, -0.020216f, 0.005829f, 0.006203f, -0.003679f, -0.003338f, -0.001265f, 0.007166f, -0.016038f, 0.000418f, 0.015092f, 0.002794f, 0.020985f, 0.034234f, 0.014169f, -0.030983f, -0.041336f, 0.020078f, 0.009019f, 0.030908f, -0.006369f, 0.014839f, 0.003200f, 0.014738f, 0.020650f, 0.026566f, -0.014081f, 0.007674f, 0.019791f, -0.016161f, 0.003047f, -0.002062f, -0.001997f, 0.001505f, 0.014144f, -0.002132f, 0.004858f, -0.009120f, 0.003347f, -0.007027f, -0.007395f, -0.003262f, -0.006170f, 0.001045f, -0.003621f, -0.010415f, -0.000345f, 0.006946f, 0.004350f, -0.001918f, -0.001890f, -0.001528f, 0.000195f, 0.003247f, 0.003432f, -0.002672f, -0.004025f, -0.001776f, 0.006046f, -0.001441f, 0.005860f, 0.000949f, 0.000904f, -0.001446f, 0.001460f, 0.001752f, 0.000543f, 0.001639f, 0.000337f, -0.004905f, -0.004753f, -0.003092f, 0.001600f, 0.005021f, -0.006967f, -0.004638f, -0.002156f, 0.002952f, -0.003241f, -0.037832f, 0.028247f, 0.005249f, -0.005034f, -0.000503f, -0.017184f, -0.014002f, 0.014724f, -0.003909f, -0.004851f, + 0.015367f, -0.011424f, -0.012191f, 0.000642f, 0.015287f, 0.006439f, -0.004841f, 0.000413f, -0.008636f, -0.001213f, 0.001279f, 0.008123f, 0.000445f, -0.019393f, -0.019154f, 0.004289f, -0.002488f, 0.004599f, -0.001833f, 0.007694f, 0.015047f, 0.027842f, -0.000341f, 0.017255f, -0.004158f, 0.004841f, 0.012026f, -0.011648f, 0.022869f, -0.003322f, -0.014043f, -0.020041f, -0.003711f, -0.016638f, -0.020805f, -0.005845f, 0.009753f, -0.006525f, -0.016132f, 0.008055f, 0.011700f, 0.018038f, 0.023503f, -0.019133f, 0.007395f, -0.005378f, -0.017412f, 0.006516f, -0.019475f, -0.003668f, -0.031879f, 0.012729f, -0.009413f, 0.004687f, -0.005624f, 0.004994f, -0.034277f, -0.034365f, -0.020676f, -0.008104f, 0.019198f, -0.018509f, 0.036308f, -0.012790f, 0.003763f, -0.003401f, 0.006913f, -0.003331f, -0.025398f, 0.003677f, 0.003172f, 0.006957f, 0.006129f, 0.002976f, 0.010105f, -0.005706f, -0.008576f, 0.000016f, 0.000608f, -0.008561f, 0.004095f, -0.011012f, 0.006443f, 0.003674f, 0.005269f, -0.001632f, 0.000247f, -0.003374f, -0.008257f, -0.006190f, -0.003244f, -0.003849f, 0.005898f, -0.003819f, -0.010012f, 0.003540f, + 0.004653f, -0.001902f, 0.007234f, -0.000596f, -0.001780f, -0.000049f, 0.001929f, -0.003000f, -0.002636f, 0.003698f, 0.005350f, 0.003777f, 0.002017f, -0.007477f, -0.005027f, -0.001622f, -0.005602f, 0.002199f, 0.000894f, -0.000070f, -0.004983f, 0.031777f, 0.002058f, 0.011874f, 0.008615f, 0.003174f, 0.018831f, 0.002376f, -0.025900f, 0.012376f, 0.003938f, 0.011807f, -0.000991f, -0.019522f, 0.027843f, 0.014750f, 0.011550f, -0.002820f, -0.008194f, 0.003352f, -0.001825f, -0.015538f, 0.010121f, 0.006717f, -0.008336f, 0.010896f, 0.017787f, 0.000247f, 0.006817f, 0.017291f, -0.018877f, 0.004348f, -0.006232f, 0.007628f, -0.035677f, 0.010719f, 0.017455f, -0.006268f, 0.004789f, 0.017054f, 0.009442f, 0.000027f, 0.005909f, -0.018212f, 0.004817f, -0.010828f, 0.001000f, 0.004941f, 0.003039f, -0.008467f, 0.034556f, -0.006454f, -0.006319f, -0.008316f, -0.029779f, -0.012463f, -0.018170f, -0.021590f, -0.003902f, 0.029228f, 0.032620f, -0.003515f, 0.010215f, 0.012643f, -0.026883f, -0.009095f, 0.022208f, 0.017828f, -0.010556f, -0.007951f, -0.026472f, -0.009035f, -0.009889f, -0.013231f, -0.014843f, 0.003635f, + -0.027009f, 0.004099f, 0.025757f, 0.035316f, 0.011199f, -0.010898f, -0.000524f, 0.018543f, -0.006416f, -0.013286f, 0.001465f, -0.002058f, -0.005452f, -0.009058f, 0.001492f, -0.001303f, 0.004448f, 0.005238f, 0.003501f, -0.003505f, 0.001870f, 0.002592f, 0.002582f, -0.000933f, -0.004993f, -0.011852f, 0.003482f, -0.001149f, -0.004435f, 0.008216f, 0.002943f, 0.004409f, -0.004627f, 0.006902f, -0.004973f, -0.004451f, -0.005626f, 0.005367f, 0.001397f, 0.003836f, 0.008832f, -0.001221f, -0.004192f, -0.002873f, 0.004552f, 0.001443f, -0.000132f, -0.000270f, 0.001435f, 0.000731f, -0.000251f, -0.002247f, 0.004625f, 0.005346f, 0.007447f, -0.002924f, -0.010066f, 0.006291f, 0.001700f, -0.013404f, -0.019826f, -0.021354f, -0.008491f, -0.020877f, -0.008637f, -0.008467f, 0.000381f, -0.019858f, 0.004499f, 0.008365f, 0.000985f, -0.022664f, 0.007118f, -0.028116f, 0.008765f, 0.015718f, 0.000525f, 0.024424f, 0.000824f, -0.007237f, -0.004366f, 0.016487f, -0.005827f, 0.022686f, 0.008167f, -0.007802f, -0.007656f, 0.004032f, -0.011434f, -0.006192f, 0.000979f, 0.021474f, -0.000585f, 0.011379f, 0.006582f, 0.002004f, + 0.015182f, -0.006677f, -0.013627f, 0.006180f, -0.009710f, -0.004508f, -0.026760f, 0.015244f, -0.009290f, -0.007879f, -0.005282f, -0.029602f, 0.035692f, 0.009299f, -0.004048f, 0.015558f, 0.005249f, 0.007624f, -0.015530f, -0.023538f, -0.026697f, -0.012882f, 0.001605f, -0.027065f, 0.010344f, 0.019806f, -0.030268f, -0.011014f, 0.011396f, -0.013913f, 0.007578f, 0.033992f, 0.001307f, -0.005364f, -0.008777f, 0.007775f, -0.018186f, 0.012176f, 0.006739f, -0.016490f, 0.005690f, 0.011941f, -0.006467f, -0.019546f, -0.016581f, -0.008672f, -0.000378f, 0.005525f, 0.004850f, 0.003824f, -0.003167f, -0.004782f, -0.002181f, 0.004488f, 0.000504f, -0.002638f, -0.010851f, -0.013117f, -0.003351f, 0.001058f, -0.009195f, -0.011214f, -0.007566f, -0.004627f, -0.004050f, -0.009817f, -0.008302f, -0.004477f, -0.005901f, -0.012571f, 0.002516f, 0.012097f, -0.000902f, -0.000968f, -0.004480f, -0.003460f, 0.004295f, -0.004330f, 0.001228f, -0.009873f, 0.000695f, -0.002751f, -0.005062f, 0.000138f, -0.004722f, 0.003287f, 0.005020f, -0.004054f, 0.007421f, -0.004781f, -0.001580f, -0.004946f, -0.000028f, 0.000972f, 0.021754f, 0.053626f, + 0.056697f, 0.016941f, 0.035263f, -0.024177f, -0.024062f, -0.005802f, -0.003369f, 0.001891f, 0.008186f, 0.017885f, 0.032668f, 0.010491f, 0.030257f, 0.003173f, 0.009329f, 0.004317f, -0.008044f, 0.013547f, -0.000100f, 0.005303f, 0.002587f, -0.015456f, -0.001628f, -0.008370f, -0.016299f, -0.010495f, 0.000542f, 0.001481f, -0.021698f, -0.009231f, 0.027982f, 0.019777f, 0.014688f, 0.023274f, -0.014240f, -0.000028f, -0.039966f, 0.001688f, 0.034869f, -0.006933f, -0.006575f, 0.003966f, -0.003397f, 0.026864f, -0.001832f, -0.004704f, 0.021180f, -0.025083f, -0.040006f, -0.016453f, 0.003936f, -0.021886f, 0.016373f, 0.022247f, -0.031422f, -0.012229f, 0.000612f, -0.000796f, -0.045231f, -0.029234f, 0.014969f, 0.006098f, -0.003046f, 0.014467f, -0.019523f, -0.012416f, -0.027775f, 0.006485f, 0.009430f, 0.002126f, 0.002343f, -0.018918f, -0.030643f, 0.025462f, -0.041803f, 0.012116f, -0.015053f, 0.040086f, 0.004616f, 0.016584f, -0.011061f, -0.016141f, 0.012140f, 0.005221f, 0.018521f, -0.017428f, -0.002648f, 0.012021f, -0.000340f, -0.009757f, -0.008414f, -0.009597f, 0.001385f, 0.009186f, 0.010854f, -0.011827f, + -0.004328f, -0.002120f, -0.014924f, -0.005719f, 0.003329f, -0.001926f, 0.001881f, -0.008322f, -0.013015f, -0.002163f, 0.000893f, 0.010384f, 0.003847f, -0.006807f, 0.008766f, 0.001168f, 0.004747f, -0.015176f, 0.003638f, -0.009158f, 0.007678f, 0.001083f, 0.008103f, 0.011774f, 0.004321f, -0.008665f, -0.016212f, 0.005038f, 0.006272f, -0.052489f, -0.037749f, 0.026148f, -0.005445f, 0.047546f, -0.011585f, 0.039143f, -0.031484f, 0.000948f, 0.014079f, -0.003119f, 0.001703f, 0.004598f, -0.002439f, -0.023633f, 0.008305f, 0.008892f, 0.010359f, 0.011778f, -0.007256f, 0.019426f, -0.017639f, -0.013035f, -0.010078f, 0.027324f, -0.015070f, -0.005083f, 0.002462f, -0.000570f, -0.014175f, 0.012184f, -0.015818f, -0.018843f, -0.035508f, 0.003241f, 0.006521f, -0.024123f, -0.011245f, 0.011620f, -0.004873f, 0.006210f, 0.001939f, 0.028052f, 0.001962f, 0.021113f, 0.009425f, 0.000909f, 0.016928f, 0.003844f, 0.005870f, -0.031818f, 0.032779f, 0.011607f, 0.025685f, -0.015603f, 0.006827f, -0.017077f, 0.026646f, 0.020209f, 0.032507f, 0.005182f, -0.008499f, -0.023620f, -0.001457f, 0.004166f, -0.020092f, 0.028560f, + 0.004620f, 0.004442f, 0.030770f, 0.006882f, -0.009200f, -0.012280f, -0.000983f, 0.018283f, 0.022087f, -0.007176f, 0.027541f, -0.032929f, -0.034478f, -0.015098f, 0.008045f, -0.010518f, 0.015072f, -0.003752f, 0.008106f, 0.026364f, -0.001144f, 0.013086f, -0.010946f, -0.010039f, 0.011562f, -0.001016f, 0.018526f, -0.005716f, -0.000082f, -0.005678f, -0.011381f, 0.002314f, -0.006679f, -0.002675f, 0.007663f, 0.002588f, -0.010336f, -0.009517f, 0.005602f, 0.013994f, 0.014578f, -0.001473f, 0.011953f, 0.012909f, -0.018052f, 0.008442f, 0.017186f, 0.013460f, 0.007661f, -0.013533f, -0.016318f, -0.017097f, -0.017152f, -0.017108f, 0.001506f, -0.005978f, -0.002319f, 0.001927f, -0.012515f, 0.008934f, 0.008194f, -0.006491f, 0.009738f, 0.003422f, 0.004655f, -0.011993f, 0.024190f, -0.057049f, -0.002593f, 0.029730f, -0.018988f, -0.006334f, 0.021919f, -0.023743f, -0.048229f, 0.009612f, 0.008223f, 0.007501f, -0.006264f, -0.028508f, 0.007239f, 0.008144f, 0.002194f, 0.015883f, -0.051089f, 0.023510f, -0.011828f, 0.012262f, -0.029083f, 0.023763f, -0.036811f, -0.023488f, 0.014380f, -0.009596f, -0.004222f, -0.027960f, + 0.022099f, 0.029065f, 0.000003f, 0.003313f, -0.013251f, 0.043571f, 0.010877f, 0.011951f, -0.007798f, -0.037525f, -0.007984f, 0.020890f, -0.003671f, 0.031216f, 0.000384f, -0.011150f, 0.007635f, -0.002044f, 0.019645f, -0.037090f, -0.004352f, -0.028408f, 0.031029f, -0.011346f, 0.010512f, -0.000705f, -0.000933f, -0.033573f, -0.011675f, 0.029817f, 0.009654f, 0.002837f, -0.008739f, 0.001069f, 0.003987f, -0.043042f, -0.044566f, 0.047886f, -0.020947f, -0.051558f, 0.021296f, 0.024693f, -0.041448f, -0.054302f, -0.037815f, -0.036310f, 0.006747f, 0.014750f, -0.004303f, -0.034877f, -0.000869f, -0.018547f, -0.008571f, -0.025203f, -0.001134f, 0.002833f, 0.002858f, -0.004805f, 0.024422f, -0.012808f, 0.009800f, -0.010822f, -0.000226f, 0.006916f, -0.005807f, -0.000627f, -0.013916f, 0.019158f, -0.004042f, 0.006945f, -0.010089f, -0.014900f, -0.002784f, 0.007740f, 0.008846f, 0.003019f, -0.014453f, 0.009183f, -0.001715f, -0.011544f, 0.012091f, -0.017663f, -0.003162f, -0.010760f, 0.018579f, -0.007541f, -0.019636f, 0.009198f, -0.007489f, -0.008208f, -0.026216f, -0.000929f, 0.006488f, 0.022889f, 0.009676f, -0.012710f, + -0.006250f, 0.002744f, -0.003050f, -0.006494f, 0.004677f, -0.000464f, -0.004553f, -0.004434f, -0.001183f, 0.022822f, -0.031766f, -0.016974f, -0.033193f, -0.002556f, 0.006202f, -0.043461f, 0.006525f, -0.021016f, 0.060580f, 0.003682f, -0.055498f, -0.012169f, 0.026124f, 0.016768f, 0.012463f, 0.028163f, 0.027291f, -0.039204f, -0.010675f, -0.014877f, 0.036647f, -0.012605f, 0.042876f, 0.000417f, -0.025659f, -0.019509f, -0.039406f, -0.044044f, 0.002059f, 0.005665f, -0.007875f, -0.022458f, -0.010374f, 0.003490f, 0.006446f, 0.015778f, -0.022397f, 0.011561f, -0.026235f, -0.029616f, 0.005252f, -0.005918f, -0.008661f, -0.030900f, -0.030435f, -0.013823f, -0.009849f, 0.043195f, 0.003294f, 0.014868f, 0.023321f, -0.000204f, 0.052992f, 0.022286f, -0.018551f, 0.003314f, 0.026950f, -0.010244f, 0.034296f, -0.008640f, 0.003699f, 0.002979f, -0.048175f, -0.048029f, 0.006479f, 0.034540f, 0.000019f, -0.010021f, -0.053823f, 0.003991f, 0.017428f, 0.011976f, -0.018948f, -0.014265f, -0.011286f, 0.007069f, -0.023670f, 0.056983f, 0.031082f, 0.035166f, 0.006134f, -0.039244f, 0.013750f, 0.018747f, 0.055435f, 0.013531f, + 0.005005f, 0.023135f, 0.008898f, -0.008589f, -0.000226f, 0.017861f, -0.002344f, 0.002930f, 0.004852f, -0.013681f, -0.010739f, 0.017383f, -0.000265f, -0.013003f, 0.016946f, -0.010397f, -0.004812f, -0.007833f, -0.008902f, 0.016297f, -0.010898f, -0.003978f, 0.007589f, -0.016378f, 0.006379f, -0.000980f, -0.010430f, 0.021294f, -0.008224f, 0.000559f, -0.027199f, 0.016714f, -0.008826f, -0.006342f, -0.017802f, -0.023679f, 0.003092f, -0.009225f, 0.016312f, -0.000012f, 0.009378f, 0.007056f, -0.000355f, -0.009557f, -0.000458f, -0.026399f, -0.024087f, 0.050858f, -0.015778f, -0.018823f, -0.002710f, -0.014006f, -0.034658f, 0.000753f, 0.023923f, -0.059409f, -0.001061f, 0.015431f, 0.018920f, -0.020253f, 0.013417f, -0.034012f, 0.002557f, -0.008771f, 0.010581f, -0.030463f, 0.018899f, -0.051878f, 0.008429f, 0.001432f, 0.029313f, 0.027654f, 0.013675f, -0.019375f, 0.021512f, -0.006317f, 0.024036f, -0.026271f, 0.004054f, 0.030766f, 0.024283f, -0.014445f, 0.004904f, 0.000772f, -0.006931f, 0.014923f, -0.005920f, -0.017916f, -0.020085f, 0.014227f, -0.036191f, 0.023819f, 0.005433f, -0.038683f, 0.036301f, 0.034870f, + 0.032675f, 0.011831f, -0.017204f, 0.042201f, 0.004918f, 0.018125f, -0.026084f, -0.022511f, -0.025017f, 0.007697f, 0.009457f, 0.015107f, -0.035038f, 0.003363f, 0.025446f, -0.066941f, 0.002311f, -0.022003f, 0.041733f, 0.027020f, 0.020845f, -0.005953f, 0.027578f, -0.026277f, -0.001615f, -0.018310f, -0.040485f, -0.001730f, -0.037309f, -0.031045f, 0.017883f, 0.049401f, -0.046743f, -0.011075f, -0.008771f, 0.049590f, -0.012562f, 0.021660f, -0.014530f, -0.008769f, -0.002210f, 0.017502f, -0.010697f, -0.004394f, 0.001108f, 0.011898f, 0.008478f, 0.006221f, -0.006960f, 0.001741f, 0.004831f, 0.024511f, -0.019820f, 0.020437f, -0.004838f, 0.014924f, -0.000352f, 0.003899f, 0.004838f, 0.009354f, -0.013273f, -0.003017f, -0.002906f, -0.016102f, -0.014718f, -0.014305f, 0.009415f, 0.007799f, -0.003360f, -0.006495f, -0.008695f, -0.011323f, -0.007402f, 0.000797f, -0.005455f, -0.000262f, 0.014322f, -0.000497f, -0.027600f, 0.012566f, -0.016368f, -0.002581f, 0.044219f, 0.009597f, 0.022390f, -0.063714f, 0.029534f, -0.035613f, 0.048237f, -0.004746f, 0.018755f, 0.036654f, -0.039525f, 0.070493f, 0.050453f, 0.038191f, + -0.017368f, 0.010394f, 0.048193f, -0.011972f, -0.015605f, -0.011112f, -0.002641f, -0.036313f, 0.009552f, -0.019244f, -0.044349f, 0.042998f, 0.014050f, 0.011945f, 0.005241f, 0.010107f, 0.016450f, 0.045261f, 0.009334f, -0.027925f, -0.002547f, -0.028983f, 0.005623f, 0.004412f, -0.051460f, -0.001982f, 0.027775f, 0.002240f, -0.003836f, -0.015452f, 0.054371f, 0.011450f, 0.023056f, 0.012222f, -0.029618f, -0.020823f, -0.016269f, 0.034109f, 0.019829f, -0.006568f, 0.020383f, -0.002804f, -0.037332f, 0.036265f, 0.004198f, 0.041539f, 0.004379f, 0.004479f, 0.000625f, -0.054608f, 0.007278f, 0.001688f, 0.005869f, 0.034330f, -0.013685f, 0.053893f, -0.081748f, -0.014244f, 0.060604f, -0.024389f, 0.019905f, -0.027524f, -0.043622f, -0.034722f, 0.024970f, -0.023654f, 0.023263f, -0.037319f, -0.008268f, 0.006579f, -0.009480f, -0.014514f, -0.004985f, -0.004163f, 0.016155f, 0.038038f, 0.003751f, 0.022684f, -0.007572f, -0.003495f, 0.027306f, -0.003732f, -0.008119f, 0.007909f, -0.014030f, 0.012538f, 0.023735f, -0.015737f, -0.002717f, -0.005950f, 0.004128f, 0.004812f, 0.011117f, 0.042982f, -0.008021f, 0.015352f, + 0.000494f, 0.010583f, 0.015230f, 0.008122f, 0.002116f, 0.024098f, 0.025402f, -0.006815f, -0.003900f, 0.010977f, 0.005282f, 0.009560f, -0.033349f, -0.002352f, 0.031096f, -0.006637f, 0.006216f, 0.012732f, -0.002060f, 0.032399f, 0.011428f, -0.066026f, -0.078991f, -0.006983f, -0.037021f, 0.005011f, 0.022497f, -0.031617f, 0.009234f, -0.048291f, 0.021015f, -0.026600f, -0.132016f, -0.008505f, 0.080555f, -0.034723f, -0.014916f, 0.080927f, -0.018977f, 0.004361f, 0.096977f, -0.023205f, 0.021459f, 0.009065f, -0.014140f, 0.078079f, -0.062849f, -0.008120f, -0.001692f, -0.011064f, -0.012625f, -0.012874f, -0.001532f, 0.025430f, -0.014279f, -0.042607f, 0.000519f, 0.000851f, 0.012631f, 0.015533f, 0.002863f, 0.035064f, -0.001295f, 0.016136f, -0.009521f, -0.042273f, 0.029522f, -0.005190f, -0.043465f, 0.001671f, 0.025166f, 0.076911f, 0.038972f, 0.064657f, 0.001430f, 0.015922f, 0.030936f, 0.007296f, -0.003697f, 0.060446f, -0.003106f, -0.023543f, 0.070839f, 0.012370f, 0.012592f, 0.000518f, -0.009894f, 0.040438f, 0.000078f, -0.023502f, -0.026452f, -0.005482f, -0.005157f, 0.061227f, -0.041423f, 0.005380f, + 0.007982f, -0.010863f, 0.071990f, 0.000622f, -0.045876f, 0.007743f, 0.023602f, -0.033753f, -0.001504f, 0.034448f, 0.028522f, -0.017340f, 0.002855f, -0.019598f, 0.016715f, -0.005254f, 0.002411f, -0.019282f, 0.018109f, 0.000276f, -0.001820f, -0.028037f, 0.011777f, 0.009647f, -0.018149f, 0.001499f, 0.006815f, -0.009400f, -0.006068f, 0.021768f, 0.003571f, 0.012176f, -0.007784f, 0.006447f, 0.037794f, -0.034043f, -0.015357f, -0.011098f, 0.040865f, 0.015262f, 0.021741f, -0.024444f, -0.022212f, -0.009000f, -0.002461f, -0.029656f, -0.033209f, 0.040275f, 0.016475f, -0.023377f, -0.021670f, -0.013241f, 0.000050f, -0.023162f, -0.020177f, 0.000530f, 0.006512f, 0.015464f, -0.003603f, -0.007206f, 0.003955f, 0.044871f, 0.036233f, -0.074052f, -0.036167f, 0.056851f, -0.010450f, -0.055515f, -0.000487f, 0.001096f, 0.020112f, 0.060115f, 0.053531f, -0.033015f, 0.009922f, -0.007547f, 0.000488f, -0.000634f, -0.034639f, 0.052124f, -0.015488f, -0.034312f, 0.012191f, -0.024661f, 0.029670f, 0.002501f, 0.042188f, -0.013099f, -0.040011f, -0.036273f, 0.031964f, -0.015493f, 0.041611f, -0.011285f, 0.026954f, -0.027480f, + -0.021272f, -0.013133f, 0.002980f, -0.034468f, 0.008420f, 0.001691f, 0.000559f, 0.033445f, -0.000394f, 0.011086f, -0.023330f, 0.016511f, -0.036817f, 0.039270f, -0.035420f, 0.023286f, 0.011894f, 0.032987f, -0.055432f, 0.001754f, 0.004653f, -0.016891f, -0.040058f, -0.067979f, -0.011368f, -0.058031f, -0.022277f, -0.046470f, -0.021600f, -0.084810f, -0.026331f, 0.038267f, 0.048629f, 0.026332f, 0.028302f, -0.004727f, 0.030750f, -0.060472f, -0.013811f, 0.009206f, 0.038944f, 0.010595f, -0.082983f, -0.003430f, -0.036491f, -0.024438f, 0.096986f, 0.065040f, -0.046011f, -0.018880f, -0.032315f, 0.010653f, -0.085520f, 0.005094f, 0.017826f, -0.024602f, -0.025386f, 0.015391f, 0.004980f, 0.000663f, -0.016433f, -0.014576f, -0.014076f, -0.014416f, 0.026674f, 0.024323f, -0.001762f, -0.007022f, -0.026332f, -0.030369f, -0.006431f, -0.007731f, 0.010160f, 0.025939f, -0.050981f, -0.004030f, 0.025489f, -0.000273f, 0.032622f, -0.011562f, -0.031277f, 0.016714f, 0.035261f, 0.017658f, -0.021214f, 0.002421f, 0.032629f, -0.041751f, -0.029638f, 0.054950f, 0.003005f, -0.002080f, -0.005641f, 0.008548f, 0.012671f, 0.016553f, + -0.006976f, -0.013627f, -0.097628f, 0.028567f, 0.015205f, -0.051275f, 0.020149f, 0.019152f, -0.037379f, -0.028542f, 0.043719f, 0.005523f, 0.023233f, -0.011706f, 0.028859f, -0.009142f, -0.004693f, 0.022903f, 0.010921f, 0.007568f, 0.000517f, -0.015330f, -0.026603f, -0.016058f, 0.041327f, -0.014524f, -0.036064f, 0.061193f, 0.037636f, 0.004928f, 0.027761f, 0.008372f, -0.031693f, -0.093219f, 0.038094f, -0.003009f, -0.050560f, 0.042448f, -0.004612f, -0.067909f, -0.057352f, -0.029623f, 0.044517f, 0.018050f, 0.046146f, 0.058459f, 0.017286f, -0.047003f, 0.014780f, 0.017098f, -0.060170f, -0.009542f, 0.033692f, -0.018585f, -0.065553f, -0.049464f, -0.079879f, -0.050670f, -0.011664f, 0.050570f, 0.072820f, 0.035339f, -0.004959f, 0.050430f, -0.012671f, -0.122968f, -0.097795f, 0.021664f, -0.049332f, -0.058160f, 0.083564f, 0.011296f, -0.112687f, -0.086767f, 0.029616f, 0.005466f, 0.019169f, 0.042140f, 0.100728f, 0.058114f, -0.008549f, 0.112564f, 0.035736f, -0.117462f, 0.001004f, -0.024778f, 0.060853f, 0.018631f, -0.038690f, 0.019280f, -0.029045f, -0.016861f, -0.025265f, 0.038676f, -0.007091f, 0.028396f, + 0.023489f, 0.030734f, -0.006778f, -0.029981f, -0.009859f, 0.021376f, -0.013090f, 0.018061f, 0.011362f, 0.013165f, -0.026377f, 0.003675f, 0.010704f, 0.001073f, 0.047485f, -0.001063f, 0.021113f, 0.005242f, -0.007829f, 0.025967f, 0.006147f, -0.003154f, 0.028241f, -0.012838f, -0.004274f, 0.017943f, 0.007124f, -0.001977f, -0.011411f, -0.015266f, 0.001849f, -0.017614f, -0.013620f, 0.010645f, 0.013608f, 0.092404f, 0.089382f, -0.027976f, 0.031039f, -0.036510f, 0.022299f, 0.001447f, 0.012849f, -0.043547f, 0.003360f, -0.037163f, -0.033484f, 0.000590f, -0.077203f, 0.002179f, -0.032925f, 0.008873f, 0.022547f, -0.000306f, 0.026139f, -0.037590f, 0.057311f, -0.028088f, -0.001155f, 0.040035f, -0.037543f, 0.014936f, 0.028530f, 0.035564f, 0.004931f, 0.013059f, 0.008575f, -0.055027f, -0.030973f, -0.008583f, 0.008009f, 0.008922f, -0.008407f, 0.037094f, -0.012019f, -0.000118f, -0.007188f, -0.015504f, 0.012802f, 0.007709f, -0.043978f, 0.013296f, -0.035382f, 0.010046f, -0.084743f, -0.003687f, -0.002305f, 0.000222f, 0.034332f, -0.013522f, -0.031025f, -0.013365f, 0.031521f, 0.000305f, -0.081919f, 0.114748f, + -0.010197f, -0.021461f, 0.024716f, -0.004584f, -0.017028f, -0.021028f, -0.022971f, -0.024105f, 0.078224f, -0.029924f, -0.045634f, 0.039274f, 0.003595f, -0.061493f, -0.014807f, 0.026272f, 0.020383f, -0.020007f, 0.042099f, -0.007061f, -0.011804f, 0.039524f, -0.029010f, -0.026070f, 0.049282f, -0.021507f, -0.008022f, -0.002305f, 0.020772f, 0.010525f, -0.000708f, -0.003089f, 0.001036f, 0.009749f, -0.010358f, -0.000387f, 0.009503f, 0.010666f, 0.012108f, -0.029984f, 0.007646f, 0.015693f, -0.029713f, 0.002867f, 0.006001f, -0.004877f, -0.012134f, 0.012290f, 0.003207f, -0.010309f, 0.001532f, -0.000649f, -0.005156f, -0.036844f, 0.020962f, -0.021658f, 0.006494f, 0.006657f, -0.033840f, -0.001523f, 0.001472f, 0.000148f, -0.000652f, -0.011023f, -0.001836f, 0.009888f, -0.001545f, -0.072586f, -0.107567f, -0.103111f, 0.228437f, 0.189876f, 0.215850f, 0.488305f, 0.127567f, -0.122178f, 0.038432f, -0.391412f, -0.415290f, -0.102628f, -0.261056f, -0.201625f, 0.123281f, -0.064041f, 0.025584f, 0.311162f, 0.154253f, 0.230674f, 0.442700f, 0.295266f, 0.077032f, 0.064306f, -0.130653f, -0.403059f, -0.308189f, -0.235682f, + -0.476458f, -0.192643f, 0.011301f, -0.084223f, -0.038068f, 0.241059f, 0.063773f, 0.032459f, 0.298323f, 0.037066f, 0.071250f, 0.424080f, 0.311577f, 0.197450f, 0.400716f, 0.199757f, -0.070494f, -0.005988f, -0.127014f, -0.624376f, -0.545060f, -0.440241f, -0.684428f, -0.521333f, -0.184891f, -0.246963f, 0.055539f, 0.475215f, 0.424202f, 0.587394f, 0.741393f, 0.551785f, 0.430169f, 0.418602f, 0.231369f, -0.078447f, -0.149510f, -0.340607f, -0.486475f, -0.477657f, -0.414102f, -0.474187f, -0.485424f, -0.390214f, -0.218500f, -0.158348f, 0.058520f, 0.371539f, 0.535607f, 0.764897f, 0.860173f, 0.513460f, 0.124230f, -0.073992f, -0.519084f, -0.493899f, -0.376592f, -0.292721f, -0.109399f, 0.054255f, 0.039877f, 0.052168f, 0.065318f, 0.030170f, 0.076996f, 0.108601f, 0.080243f, 0.131240f, 0.074065f, -0.034757f, -0.042350f, -0.117770f, -0.214542f, -0.059716f, -0.068114f, -0.078299f, 0.065425f, 0.055980f, -0.074059f, -0.094941f, -0.175354f, -0.285276f, -0.120947f, 0.159996f, 0.273548f, 0.532502f, 0.642740f, 0.436360f, 0.269884f, 0.070656f, -0.244208f, -0.356191f, -0.402866f, -0.470650f, -0.442619f, -0.340352f, + -0.276505f, -0.229417f, -0.140510f, -0.037888f, 0.114358f, 0.404628f, 0.566067f, 0.501938f, 0.359618f, 0.220305f, 0.044583f, -0.092457f, -0.138875f, -0.175045f, -0.126414f, -0.038056f, -0.011547f, -0.041284f, -0.064633f, -0.100537f, -0.157002f, -0.202540f, -0.196351f, -0.198117f, -0.120746f, 0.005950f, 0.056511f, 0.112177f, 0.147845f, 0.132421f, 0.076330f, 0.028348f, 0.008473f, 0.002222f, 0.001551f}, + {0.016671f, -0.002219f, 0.001353f, 0.013061f, -0.001661f, -0.000641f, -0.003788f, 0.014250f, 0.000860f, 0.006911f, 0.004244f, 0.004169f, -0.005871f, 0.002927f, -0.009106f, -0.001030f, 0.007097f, 0.001398f, 0.004164f, 0.006626f, -0.011252f, -0.007911f, 0.002700f, -0.000600f, 0.008381f, 0.005052f, -0.000418f, -0.004684f, -0.002906f, -0.005786f, -0.000900f, -0.000810f, -0.000848f, 0.001547f, 0.002200f, -0.005043f, 0.008396f, -0.001973f, -0.001296f, 0.002819f, -0.010675f, -0.002514f, 0.004635f, 0.001587f, 0.010556f, -0.000089f, -0.000762f, 0.002010f, 0.000728f, 0.004339f, 0.007310f, 0.009233f, -0.000529f, -0.001010f, 0.000175f, -0.005394f, -0.006772f, 0.003689f, 0.006061f, -0.004305f, -0.004072f, -0.002810f, 0.007726f, 0.004492f, -0.001059f, 0.001147f, -0.009102f, -0.002680f, 0.004736f, 0.003867f, 0.006735f, -0.009848f, 0.002224f, 0.003644f, -0.002041f, 0.006845f, -0.000445f, 0.005958f, 0.002863f, 0.001874f, 0.007633f, 0.003727f, 0.001924f, -0.000001f, 0.000896f, -0.001884f, 0.000636f, 0.000997f, -0.000608f, -0.002778f, 0.001334f, 0.001255f, -0.002016f, -0.000348f, -0.001364f, 0.001351f, + 0.002186f, 0.000021f, -0.000292f, -0.000192f, -0.002048f, 0.000930f, -0.000733f, 0.001622f, 0.000784f, 0.000449f, 0.000346f, -0.000981f, 0.000534f, 0.000178f, 0.000850f, -0.001690f, -0.000791f, -0.000431f, 0.000200f, 0.021638f, 0.006032f, -0.005027f, 0.011119f, -0.005432f, 0.011572f, -0.003882f, -0.005186f, 0.005802f, 0.010827f, -0.000382f, -0.005259f, 0.002825f, 0.002326f, -0.000490f, -0.015259f, 0.003544f, 0.004558f, 0.001184f, 0.009642f, 0.012843f, 0.006988f, 0.012648f, 0.008700f, 0.007692f, -0.001990f, 0.008548f, 0.004212f, -0.006548f, 0.002515f, 0.003931f, -0.008308f, -0.010683f, -0.001557f, 0.004164f, 0.000247f, -0.003874f, -0.005067f, -0.005045f, -0.002404f, 0.005717f, 0.011600f, 0.009728f, 0.003769f, 0.007468f, -0.012004f, 0.000740f, -0.002995f, 0.000096f, -0.013788f, 0.005127f, -0.001241f, -0.003291f, -0.000445f, -0.003784f, -0.006765f, -0.004836f, 0.004965f, 0.001152f, 0.003833f, -0.005071f, 0.009569f, 0.002425f, -0.010863f, 0.004523f, 0.001496f, 0.003043f, 0.006114f, 0.001819f, 0.011133f, -0.003519f, 0.001318f, -0.012875f, 0.002559f, 0.001244f, 0.000481f, 0.000309f, + -0.002311f, 0.009166f, -0.002686f, -0.004250f, 0.007066f, -0.007189f, -0.003394f, -0.002961f, -0.001219f, -0.003343f, 0.002444f, 0.000630f, 0.001335f, -0.000076f, -0.000193f, 0.000139f, -0.001188f, 0.000812f, 0.001334f, -0.000441f, -0.000434f, -0.000036f, -0.002251f, -0.003858f, 0.001566f, 0.000506f, -0.002933f, -0.000374f, -0.000203f, -0.000634f, -0.003577f, 0.000990f, 0.000122f, -0.000079f, 0.000396f, 0.000690f, 0.000546f, -0.001364f, 0.000091f, -0.002513f, 0.001206f, -0.004521f, -0.004291f, -0.001559f, 0.004155f, -0.007557f, 0.002292f, -0.014800f, 0.002873f, 0.002643f, -0.001589f, 0.010357f, 0.000784f, -0.001294f, 0.001062f, 0.005426f, -0.008877f, 0.001159f, 0.002873f, 0.005619f, -0.012678f, -0.006606f, -0.004711f, 0.004568f, 0.002037f, -0.004140f, -0.012813f, 0.003012f, -0.012745f, -0.000911f, 0.005223f, -0.002506f, 0.004006f, -0.002345f, 0.008783f, 0.012729f, 0.006908f, -0.006774f, 0.001364f, 0.009618f, 0.006134f, -0.006145f, 0.005176f, 0.001386f, -0.009907f, 0.003403f, 0.013896f, 0.006341f, 0.004738f, 0.015247f, 0.001496f, -0.005954f, -0.011643f, -0.000635f, -0.006484f, -0.008039f, + -0.003634f, 0.008330f, -0.007904f, 0.002679f, -0.004670f, -0.004600f, 0.009968f, -0.001411f, 0.001752f, 0.007731f, 0.010817f, -0.004871f, -0.009702f, 0.012377f, 0.009710f, 0.006000f, 0.000702f, -0.007631f, 0.001321f, 0.009756f, -0.009894f, 0.002930f, -0.006405f, -0.000338f, 0.006236f, -0.005857f, -0.000199f, -0.011161f, -0.002790f, -0.001092f, 0.001801f, -0.000708f, -0.004054f, -0.000619f, 0.002236f, -0.003381f, -0.000719f, 0.001392f, 0.001390f, 0.000827f, 0.001036f, -0.000290f, -0.000679f, -0.004477f, 0.002469f, -0.000361f, 0.002540f, -0.001808f, -0.002740f, 0.000894f, 0.002417f, -0.001625f, 0.002151f, -0.000467f, -0.000002f, -0.000304f, -0.000319f, 0.002300f, -0.001279f, 0.000819f, -0.001292f, -0.029090f, -0.010609f, -0.004503f, 0.015930f, -0.006062f, -0.002361f, -0.009422f, -0.007920f, -0.001384f, -0.020930f, 0.011723f, 0.003913f, -0.000620f, -0.007712f, 0.011543f, -0.003224f, 0.005851f, -0.004652f, 0.003688f, 0.007409f, -0.009237f, 0.001008f, 0.010149f, 0.005783f, 0.004076f, 0.010913f, 0.009709f, -0.006067f, -0.007803f, -0.009673f, -0.000179f, -0.012729f, 0.003031f, -0.016824f, -0.003245f, + 0.012461f, 0.006516f, -0.004236f, -0.001328f, -0.012645f, 0.005749f, -0.005382f, 0.011170f, -0.006399f, -0.011492f, -0.002314f, -0.004744f, -0.009386f, 0.003642f, -0.002115f, -0.006015f, -0.006071f, -0.020345f, 0.002827f, -0.006109f, -0.015021f, -0.004019f, 0.009342f, 0.004757f, -0.007744f, 0.006430f, 0.008331f, 0.007989f, 0.003023f, -0.010403f, -0.001680f, -0.002315f, 0.007255f, -0.007312f, -0.002753f, 0.003787f, 0.003909f, -0.011384f, -0.013496f, -0.024343f, -0.004106f, -0.014140f, 0.004712f, -0.000550f, -0.003317f, 0.007155f, -0.001451f, -0.003259f, 0.003183f, 0.004880f, 0.004754f, 0.003647f, 0.008537f, -0.003618f, -0.002915f, -0.002289f, 0.001312f, 0.000427f, -0.001858f, 0.002336f, 0.003432f, -0.000747f, 0.000861f, -0.001483f, -0.001853f, -0.000358f, -0.001177f, 0.000352f, 0.000813f, 0.000102f, -0.002059f, 0.000333f, -0.001362f, -0.000550f, 0.001295f, 0.002733f, -0.001133f, 0.003274f, 0.004069f, 0.000630f, -0.001070f, -0.003460f, -0.000612f, 0.002332f, 0.001638f, -0.025258f, -0.010152f, -0.004498f, -0.007527f, 0.008638f, 0.011214f, 0.010637f, -0.021155f, -0.015739f, 0.006036f, 0.025757f, + 0.015173f, 0.000014f, 0.003623f, 0.007355f, -0.009289f, 0.006128f, -0.008616f, 0.006213f, 0.009097f, 0.001432f, 0.007291f, 0.002308f, -0.000558f, 0.003824f, 0.002212f, -0.006881f, -0.008783f, 0.012087f, 0.004847f, -0.008801f, 0.008597f, -0.004796f, -0.000941f, 0.020763f, -0.009956f, 0.011758f, 0.023150f, 0.009476f, -0.001376f, 0.000900f, -0.008420f, 0.010853f, -0.011134f, -0.006055f, -0.018680f, 0.003512f, 0.014310f, -0.000360f, -0.013240f, -0.004700f, -0.018749f, -0.009495f, -0.003528f, -0.026592f, -0.014526f, -0.002635f, 0.002760f, -0.011649f, 0.005839f, -0.003095f, -0.009251f, 0.009941f, 0.029329f, 0.002720f, 0.014919f, 0.010149f, 0.008746f, -0.009322f, 0.003849f, -0.015873f, 0.001628f, 0.004537f, 0.003489f, -0.006182f, 0.000077f, -0.016122f, -0.005675f, -0.005675f, -0.001212f, 0.007794f, 0.008316f, -0.000407f, 0.003195f, 0.004527f, -0.002373f, -0.001795f, -0.001554f, 0.001469f, 0.000116f, 0.001088f, 0.000808f, 0.002529f, -0.001435f, -0.000131f, -0.003935f, -0.000523f, -0.000674f, 0.002710f, 0.001503f, -0.001745f, -0.002407f, -0.002303f, -0.002266f, -0.000792f, -0.002767f, 0.000908f, + 0.004880f, -0.003982f, -0.000589f, 0.001636f, 0.002740f, 0.039319f, 0.025151f, -0.013770f, 0.005253f, 0.012530f, -0.005063f, 0.007092f, -0.002287f, 0.011675f, 0.006126f, 0.003610f, 0.010943f, 0.005898f, 0.005505f, -0.003542f, -0.026254f, 0.012470f, -0.004322f, -0.006205f, 0.020862f, 0.012613f, 0.007327f, 0.009350f, 0.007262f, 0.005074f, -0.003867f, 0.002875f, 0.001020f, -0.006957f, 0.005646f, 0.008756f, -0.014733f, 0.002665f, -0.009473f, 0.006943f, 0.008434f, -0.023503f, -0.000206f, -0.027934f, 0.000654f, 0.003274f, 0.002531f, 0.007380f, 0.019102f, -0.002508f, -0.009634f, -0.005002f, -0.005091f, -0.007490f, 0.005623f, 0.005672f, 0.002006f, -0.003275f, -0.003229f, 0.018197f, -0.005929f, -0.003878f, -0.009870f, 0.016140f, -0.002310f, 0.013531f, -0.006292f, 0.014473f, -0.013962f, -0.029918f, -0.008663f, 0.001657f, 0.006185f, 0.009841f, -0.009835f, -0.007660f, 0.004243f, 0.002473f, -0.004469f, -0.007959f, 0.018747f, -0.007481f, 0.017842f, 0.004458f, 0.012656f, 0.004705f, 0.009266f, 0.007456f, -0.003029f, -0.001419f, 0.003742f, -0.000745f, 0.009807f, 0.000028f, -0.003028f, 0.000657f, + -0.010641f, -0.002366f, -0.002337f, 0.000524f, -0.003448f, -0.001613f, -0.001053f, -0.000488f, -0.001083f, -0.005901f, -0.004436f, 0.001143f, 0.000555f, -0.006599f, -0.000220f, 0.000699f, 0.001100f, 0.002355f, 0.001266f, 0.006015f, 0.000441f, -0.002359f, -0.000092f, -0.001099f, -0.002739f, -0.003673f, -0.001192f, 0.018428f, -0.007005f, -0.012347f, -0.000511f, 0.001889f, -0.017507f, -0.013797f, -0.004328f, 0.004708f, -0.002574f, 0.022728f, 0.013724f, 0.000528f, 0.021809f, 0.007774f, 0.006405f, -0.018741f, 0.017538f, -0.003360f, -0.004365f, -0.015826f, -0.007085f, 0.013881f, 0.013819f, -0.004028f, 0.009170f, -0.019023f, -0.002644f, 0.012611f, 0.009586f, -0.007180f, -0.013427f, -0.007656f, -0.008296f, -0.010480f, -0.008622f, 0.001953f, -0.014121f, -0.001484f, 0.019524f, -0.009523f, 0.002255f, -0.000866f, -0.004495f, 0.007481f, -0.003118f, 0.012623f, 0.000010f, 0.017854f, -0.004629f, -0.011479f, 0.006496f, -0.009103f, -0.008891f, -0.009107f, -0.025562f, 0.002814f, 0.010556f, 0.015055f, 0.010943f, 0.019830f, -0.002074f, -0.007850f, 0.011526f, -0.014370f, 0.003274f, 0.002026f, -0.002166f, 0.012779f, + 0.012051f, -0.003289f, -0.015468f, 0.002905f, -0.008010f, -0.014880f, -0.013660f, 0.007320f, 0.013150f, 0.008078f, -0.028589f, 0.006241f, 0.002993f, -0.001618f, 0.013415f, 0.007068f, 0.010966f, 0.003965f, -0.001124f, 0.014251f, 0.001887f, 0.006358f, 0.005194f, 0.000929f, -0.006553f, 0.000841f, -0.003683f, -0.008172f, 0.001448f, 0.002190f, 0.003707f, -0.001181f, 0.000957f, 0.000659f, 0.000630f, 0.002594f, 0.001769f, 0.001712f, -0.000377f, -0.005267f, 0.003474f, -0.002280f, -0.002338f, -0.002144f, -0.003660f, 0.006297f, 0.007326f, 0.006028f, 0.002449f, 0.000425f, 0.000987f, -0.001785f, 0.004795f, -0.022483f, -0.013162f, 0.002375f, -0.012843f, -0.033279f, 0.025222f, -0.000551f, -0.001653f, 0.003197f, 0.001998f, -0.022009f, 0.015401f, -0.022945f, 0.002053f, 0.010504f, -0.003011f, 0.003833f, 0.003712f, -0.024683f, -0.008303f, -0.010990f, -0.002274f, 0.005084f, -0.008102f, -0.005132f, -0.000988f, -0.001431f, 0.002278f, 0.010358f, 0.005550f, 0.022248f, -0.008047f, 0.030530f, -0.002118f, 0.000861f, -0.019926f, -0.002925f, 0.014843f, -0.002907f, -0.030656f, 0.012427f, 0.014281f, -0.009086f, + 0.007565f, -0.011416f, 0.021279f, 0.011809f, -0.000584f, -0.001203f, -0.013623f, -0.008653f, -0.014910f, 0.014037f, 0.013819f, 0.006124f, 0.001594f, 0.006358f, -0.012016f, -0.031595f, -0.011556f, 0.011164f, 0.004884f, -0.023410f, 0.000614f, 0.002852f, 0.003236f, -0.011182f, 0.008099f, 0.016767f, 0.008634f, 0.000439f, 0.006775f, 0.011574f, -0.006460f, 0.017191f, 0.000287f, -0.000344f, -0.016916f, -0.021511f, 0.013911f, -0.006472f, 0.006906f, 0.007152f, -0.001169f, -0.004503f, -0.004733f, -0.003481f, 0.002205f, -0.005180f, 0.007010f, 0.001774f, -0.001955f, 0.001943f, -0.002512f, 0.000445f, -0.008860f, 0.002386f, 0.000663f, -0.001362f, -0.004956f, 0.001838f, -0.004393f, -0.000048f, 0.001362f, -0.000704f, -0.002901f, 0.000152f, -0.002914f, 0.010898f, 0.008070f, 0.003255f, -0.001312f, -0.000689f, -0.003161f, 0.000295f, -0.001297f, 0.007069f, -0.002382f, -0.000667f, 0.006429f, 0.001781f, 0.002628f, 0.005034f, -0.003449f, -0.001541f, 0.004767f, 0.003212f, -0.001484f, -0.000480f, -0.035002f, 0.018790f, -0.004715f, 0.006868f, -0.010312f, -0.005753f, 0.014823f, -0.017151f, 0.016660f, -0.010406f, + -0.019834f, 0.008930f, -0.010657f, 0.042341f, 0.006369f, -0.014924f, -0.020553f, -0.003796f, -0.025505f, -0.011846f, -0.027476f, -0.001721f, 0.018470f, -0.013157f, 0.011416f, 0.018479f, -0.017168f, -0.000049f, -0.020049f, 0.011169f, 0.004023f, -0.000852f, 0.011903f, -0.012654f, -0.017977f, -0.015348f, 0.001096f, 0.003279f, 0.015197f, -0.021934f, 0.015578f, 0.002916f, -0.032164f, -0.017850f, -0.025952f, -0.010807f, 0.009928f, -0.008896f, -0.008630f, -0.049621f, -0.000985f, -0.011002f, -0.004486f, -0.031881f, -0.011007f, -0.004338f, 0.002504f, 0.025745f, 0.023637f, 0.019820f, 0.011531f, 0.024809f, -0.026817f, 0.020791f, 0.002954f, 0.009617f, 0.007083f, -0.019335f, 0.029886f, 0.018353f, 0.011814f, -0.013264f, -0.017571f, -0.012828f, 0.017368f, 0.001844f, 0.000120f, 0.009233f, 0.004573f, 0.009715f, -0.008644f, 0.026070f, 0.013821f, -0.002965f, -0.004235f, 0.005729f, 0.005338f, 0.003046f, -0.001525f, -0.001756f, 0.002482f, -0.000570f, -0.000415f, -0.011024f, 0.000687f, -0.006439f, 0.000440f, 0.003297f, 0.001251f, -0.000820f, 0.000102f, 0.001990f, 0.001943f, -0.010504f, -0.002692f, 0.003495f, + -0.002945f, -0.004208f, -0.000196f, 0.001218f, 0.001757f, 0.001834f, -0.001448f, -0.002317f, 0.001851f, -0.004689f, -0.007611f, -0.002120f, -0.001841f, -0.002689f, 0.001485f, -0.000785f, 0.006916f, 0.003020f, -0.002684f, 0.002823f, -0.001529f, 0.013271f, 0.024630f, 0.026681f, 0.010917f, 0.018665f, 0.015123f, 0.009027f, -0.004886f, 0.001993f, -0.007287f, 0.000615f, -0.002518f, -0.016135f, 0.020532f, 0.032571f, 0.012980f, -0.008924f, 0.014597f, 0.013872f, -0.000578f, 0.008611f, -0.015381f, -0.029638f, -0.019725f, -0.013499f, 0.008558f, -0.003601f, -0.015498f, 0.011558f, -0.005341f, -0.013865f, -0.000195f, 0.023990f, 0.012074f, 0.017770f, 0.006204f, 0.013078f, 0.014516f, -0.003345f, 0.013291f, -0.005196f, -0.015260f, 0.006412f, -0.017669f, 0.006568f, 0.006984f, -0.025953f, -0.016888f, 0.010622f, 0.026840f, -0.013947f, 0.018691f, 0.026127f, -0.021653f, 0.000878f, 0.023795f, 0.002563f, -0.008758f, -0.002023f, -0.012276f, -0.021387f, 0.000208f, -0.006505f, -0.011267f, 0.014665f, 0.000679f, -0.024482f, 0.031285f, -0.012980f, 0.025359f, -0.030108f, -0.020634f, 0.014660f, -0.018567f, 0.010180f, + -0.012513f, -0.009119f, -0.017451f, -0.010689f, -0.014225f, -0.035551f, 0.005766f, 0.021627f, -0.010104f, -0.001682f, 0.014948f, 0.015969f, 0.011295f, -0.002327f, -0.001407f, -0.009296f, -0.002998f, -0.004146f, -0.004935f, 0.003704f, -0.001103f, -0.003497f, 0.005068f, 0.004574f, -0.002367f, -0.000609f, -0.006512f, 0.002634f, -0.005755f, -0.010337f, -0.000885f, 0.009339f, -0.000098f, -0.005494f, -0.001600f, 0.015523f, 0.007665f, 0.000357f, -0.004914f, -0.005885f, -0.004372f, 0.000762f, 0.000866f, -0.004981f, -0.002013f, -0.000022f, 0.001625f, 0.006045f, 0.001263f, 0.009654f, 0.005687f, 0.006848f, 0.002450f, 0.002938f, -0.001716f, 0.000784f, -0.022430f, 0.014484f, -0.009760f, -0.023836f, 0.034453f, 0.018067f, -0.024495f, 0.017570f, 0.015505f, 0.004865f, 0.029021f, -0.059465f, 0.004184f, 0.024912f, 0.008315f, 0.002557f, 0.025960f, 0.001375f, 0.014153f, -0.034230f, -0.004799f, 0.009780f, 0.000305f, -0.016950f, 0.006617f, 0.014285f, 0.006597f, 0.006962f, 0.018299f, 0.015710f, 0.024363f, 0.019630f, -0.007697f, -0.007498f, 0.018820f, -0.011284f, 0.013159f, -0.021091f, -0.011808f, -0.027088f, + -0.012660f, 0.015539f, 0.005148f, -0.005952f, 0.022442f, -0.026408f, -0.036342f, -0.058213f, 0.018044f, 0.020634f, 0.015713f, 0.012784f, -0.013979f, 0.009711f, -0.008180f, 0.022529f, 0.058966f, -0.008818f, -0.012633f, -0.025335f, -0.008332f, 0.022533f, -0.015262f, 0.013080f, 0.021630f, 0.003948f, -0.000662f, -0.016788f, -0.005151f, 0.008532f, -0.041151f, -0.037456f, 0.003617f, 0.005507f, -0.014731f, 0.021158f, 0.015678f, 0.030286f, 0.048214f, 0.019669f, -0.011451f, -0.005514f, 0.010010f, 0.000113f, -0.026920f, 0.013077f, 0.010988f, 0.009920f, 0.002941f, 0.012823f, -0.000741f, 0.007271f, 0.005494f, 0.004224f, -0.006322f, 0.000883f, -0.000883f, -0.000453f, 0.009640f, 0.003323f, -0.000434f, 0.005560f, -0.010896f, 0.003421f, 0.001607f, -0.000950f, 0.010147f, 0.002463f, -0.003369f, -0.001384f, -0.006783f, 0.018942f, 0.000907f, 0.003581f, 0.007452f, -0.002333f, -0.003111f, 0.010845f, -0.011665f, 0.010790f, -0.008631f, 0.009016f, -0.000941f, -0.000322f, -0.002367f, 0.003920f, -0.002106f, 0.009310f, -0.007689f, -0.002589f, 0.002350f, -0.001213f, -0.002898f, -0.005168f, 0.006088f, 0.088737f, + 0.050044f, 0.032037f, -0.008266f, -0.008942f, -0.001185f, -0.007460f, -0.009203f, -0.013658f, -0.016650f, -0.028350f, 0.001179f, -0.001915f, 0.006870f, 0.012500f, 0.023554f, 0.035842f, -0.004854f, -0.046406f, -0.018256f, 0.040012f, -0.006297f, 0.015057f, -0.005243f, -0.000572f, 0.026517f, 0.009308f, 0.020119f, 0.011979f, -0.000906f, -0.001099f, -0.000447f, 0.013527f, 0.017081f, -0.006555f, -0.026267f, 0.034406f, 0.024512f, 0.017568f, 0.006357f, 0.009001f, -0.013998f, -0.025856f, 0.035690f, 0.020060f, 0.009136f, -0.016487f, -0.018527f, -0.025796f, -0.016020f, -0.004499f, -0.016273f, 0.009084f, -0.033205f, 0.004691f, 0.024383f, -0.015799f, 0.008555f, 0.001590f, 0.003513f, -0.037711f, 0.013331f, -0.016130f, 0.027522f, -0.060631f, 0.010351f, -0.015763f, -0.020584f, 0.005141f, -0.012450f, 0.012607f, 0.011771f, -0.039460f, 0.000358f, 0.027780f, 0.004065f, 0.008228f, 0.017330f, 0.007217f, 0.028792f, 0.011890f, 0.006034f, 0.002049f, -0.004258f, 0.018707f, -0.036800f, -0.000584f, -0.002216f, -0.003256f, 0.001375f, -0.000941f, -0.000351f, -0.003081f, -0.005475f, -0.006949f, 0.011358f, 0.009685f, + -0.005095f, -0.000706f, -0.017657f, 0.001841f, -0.001168f, -0.017245f, -0.000150f, -0.025634f, -0.019633f, 0.008790f, 0.003210f, 0.013667f, -0.015367f, 0.006690f, 0.013260f, 0.003055f, -0.000640f, 0.003570f, 0.007079f, 0.000716f, -0.003903f, 0.014227f, 0.000037f, 0.004705f, -0.008350f, -0.006109f, 0.005808f, 0.008574f, 0.001433f, -0.054407f, -0.028051f, 0.004091f, -0.047937f, 0.011043f, 0.034681f, -0.016659f, 0.042172f, 0.049609f, 0.006238f, 0.024816f, 0.030492f, 0.013764f, -0.029387f, 0.019193f, 0.023251f, -0.001088f, 0.005827f, 0.016510f, 0.014480f, 0.035027f, 0.005899f, -0.013422f, 0.022257f, 0.008064f, -0.003542f, 0.000566f, 0.014897f, -0.020383f, -0.009316f, -0.008594f, 0.012416f, 0.006531f, -0.028902f, 0.008569f, 0.024008f, 0.000697f, 0.028950f, -0.027399f, -0.051935f, 0.004198f, 0.023194f, 0.035238f, 0.032560f, 0.016897f, 0.015409f, 0.012459f, -0.035317f, -0.010262f, -0.001555f, 0.026489f, 0.041719f, -0.014397f, 0.008921f, -0.015336f, 0.009804f, 0.006697f, 0.025361f, 0.039455f, -0.015277f, -0.017221f, -0.003519f, 0.021638f, 0.027647f, 0.038885f, 0.000867f, -0.041930f, + -0.039678f, -0.006417f, 0.005034f, 0.000169f, -0.018240f, 0.000454f, -0.047825f, -0.030769f, -0.028300f, -0.032069f, 0.013596f, 0.004968f, 0.038368f, 0.030776f, 0.011497f, -0.018348f, -0.018448f, -0.017055f, -0.015615f, -0.026637f, 0.012490f, 0.008393f, 0.004843f, 0.017975f, 0.019852f, 0.000149f, 0.016923f, 0.003531f, 0.018077f, -0.006288f, 0.014976f, -0.004785f, -0.001463f, 0.004507f, -0.005638f, 0.025245f, 0.011260f, 0.015000f, 0.006670f, 0.017982f, 0.003921f, 0.008637f, 0.025651f, 0.022356f, 0.011859f, -0.001413f, -0.009977f, -0.008443f, -0.018317f, -0.010208f, -0.012060f, -0.007119f, -0.011130f, -0.013351f, -0.007834f, 0.007799f, 0.017061f, 0.004778f, -0.004126f, 0.000641f, -0.002645f, 0.010732f, 0.012576f, 0.010527f, -0.001220f, 0.004736f, 0.023079f, -0.050984f, 0.004642f, -0.010237f, 0.027942f, -0.015013f, -0.002298f, 0.008570f, 0.021168f, -0.028500f, -0.047837f, -0.008386f, -0.018735f, 0.001266f, -0.021581f, 0.012640f, 0.012572f, 0.001173f, -0.025809f, 0.016039f, 0.001623f, 0.043049f, -0.006883f, 0.023533f, -0.019931f, 0.044457f, 0.012849f, 0.027706f, 0.018673f, 0.030233f, + 0.044606f, -0.010978f, 0.017308f, -0.031318f, 0.032907f, 0.031882f, -0.000745f, 0.010283f, 0.032222f, -0.020747f, -0.019935f, -0.003410f, 0.064872f, 0.010425f, -0.018154f, 0.032092f, 0.004204f, 0.024580f, 0.035510f, 0.010226f, -0.002420f, 0.003209f, 0.005524f, 0.023303f, -0.008225f, 0.024997f, -0.017379f, 0.024394f, -0.013611f, 0.055237f, -0.008078f, 0.047475f, -0.043232f, -0.047598f, 0.065982f, -0.055436f, -0.029617f, 0.002058f, -0.017844f, -0.034484f, 0.030119f, -0.004206f, -0.042579f, -0.020316f, -0.021895f, -0.062763f, -0.023257f, 0.007519f, 0.014008f, -0.048479f, -0.012388f, 0.029076f, -0.005910f, 0.016605f, 0.028830f, -0.020867f, -0.004777f, 0.004477f, 0.018795f, 0.013306f, 0.014162f, -0.004926f, -0.002800f, 0.011422f, -0.001091f, -0.008029f, 0.006337f, 0.013195f, 0.002476f, 0.009082f, -0.000359f, -0.008964f, -0.000107f, 0.012124f, 0.004603f, -0.006632f, -0.015708f, -0.009748f, 0.018218f, -0.008731f, -0.024702f, 0.005535f, -0.014219f, -0.027128f, -0.000077f, 0.009753f, 0.000850f, -0.007290f, -0.002084f, 0.007010f, -0.005715f, -0.000005f, 0.009535f, -0.000896f, -0.004586f, -0.006145f, + 0.017266f, 0.032951f, 0.001718f, -0.012134f, -0.009844f, -0.005835f, -0.015839f, -0.003789f, -0.006698f, 0.006555f, -0.042696f, -0.028533f, 0.008368f, -0.055895f, -0.032539f, -0.038833f, -0.039438f, 0.048162f, -0.001107f, 0.001680f, 0.014432f, -0.014008f, -0.061345f, -0.045926f, -0.044912f, -0.091754f, 0.006755f, 0.010487f, 0.039802f, 0.023262f, 0.013889f, 0.019881f, 0.013882f, 0.004389f, -0.028819f, -0.042474f, -0.024355f, 0.033211f, -0.004008f, -0.024779f, -0.009867f, 0.032556f, -0.039004f, -0.025146f, -0.040060f, -0.019857f, -0.003224f, -0.038456f, 0.014598f, -0.031892f, 0.034945f, 0.024541f, -0.005143f, 0.024225f, -0.023362f, -0.048331f, 0.021480f, 0.028554f, -0.024790f, -0.055469f, 0.042262f, -0.003360f, 0.030698f, 0.025809f, -0.079389f, -0.056332f, 0.000849f, -0.012627f, 0.052212f, -0.029449f, -0.034074f, -0.008915f, 0.019481f, 0.003269f, -0.004447f, -0.017720f, 0.069261f, -0.033438f, -0.055743f, -0.075495f, 0.054790f, -0.012603f, -0.062088f, 0.029520f, 0.030035f, 0.018000f, 0.063209f, 0.067629f, 0.069404f, 0.029981f, -0.015231f, -0.005867f, -0.010265f, 0.023395f, -0.043714f, 0.028893f, + 0.005872f, 0.006073f, 0.021993f, 0.021361f, -0.017751f, 0.027221f, -0.020443f, 0.009479f, -0.029221f, -0.016346f, -0.011041f, -0.014795f, -0.005627f, -0.015965f, -0.003608f, 0.012056f, 0.031708f, 0.036940f, 0.002055f, 0.029145f, -0.016474f, 0.004833f, 0.017376f, 0.002989f, -0.031007f, 0.004624f, 0.008319f, -0.007979f, -0.022867f, -0.014226f, -0.013827f, 0.038460f, 0.024062f, 0.013029f, 0.018364f, 0.032632f, -0.004362f, -0.036948f, -0.023120f, -0.020830f, -0.026499f, -0.034206f, 0.006884f, -0.028502f, -0.050907f, -0.011649f, -0.010470f, 0.008442f, -0.051033f, -0.019445f, 0.022836f, 0.038829f, 0.077151f, 0.013373f, 0.040042f, 0.020338f, 0.018988f, -0.017142f, -0.006354f, -0.014529f, -0.043349f, -0.049547f, -0.071080f, -0.025037f, -0.064105f, -0.024347f, -0.033885f, -0.011818f, 0.033399f, 0.008959f, 0.022506f, 0.040661f, -0.000635f, 0.027652f, 0.007184f, 0.001946f, -0.001618f, -0.004733f, -0.054213f, 0.020035f, -0.007385f, -0.059915f, -0.038144f, 0.018206f, -0.039509f, -0.014349f, 0.013414f, 0.044430f, 0.052549f, 0.019062f, -0.011792f, 0.007857f, 0.034936f, 0.019603f, 0.006795f, -0.000539f, + -0.106196f, -0.020762f, 0.022606f, 0.027274f, 0.009951f, -0.003536f, -0.036298f, 0.025157f, -0.032465f, -0.023426f, -0.006986f, 0.006959f, -0.018389f, -0.055856f, 0.029361f, -0.006742f, 0.069327f, 0.027120f, 0.023192f, 0.027391f, 0.050758f, 0.116017f, 0.001002f, 0.002418f, -0.005624f, -0.033976f, 0.019765f, -0.023445f, 0.083256f, -0.007052f, -0.030926f, -0.026700f, 0.034729f, -0.045173f, -0.031573f, -0.005597f, 0.071088f, 0.002803f, 0.033499f, 0.053494f, 0.009924f, 0.043375f, 0.031787f, -0.005567f, 0.029075f, 0.032767f, 0.000264f, -0.021776f, -0.024673f, 0.007031f, 0.007386f, 0.027525f, 0.016631f, -0.000832f, -0.004901f, 0.005156f, 0.010222f, -0.019841f, -0.005053f, -0.004636f, -0.003493f, -0.031321f, 0.019073f, -0.022660f, 0.007176f, -0.004376f, -0.014581f, 0.004092f, 0.037652f, 0.033938f, -0.000794f, -0.002022f, -0.025368f, -0.009783f, -0.025224f, -0.003419f, -0.029217f, -0.040207f, 0.010976f, 0.028187f, 0.001045f, 0.001763f, 0.058622f, -0.007600f, 0.010315f, -0.064199f, -0.022264f, 0.076041f, -0.050831f, -0.013396f, -0.044075f, -0.128629f, -0.018731f, 0.039909f, 0.032242f, 0.006601f, + 0.008974f, -0.006647f, 0.071872f, -0.077572f, -0.000481f, -0.022112f, -0.052487f, -0.043787f, -0.006981f, 0.015097f, 0.012559f, 0.017726f, 0.046243f, 0.030570f, -0.033475f, -0.033331f, 0.092395f, 0.076126f, -0.006535f, 0.009161f, -0.010624f, 0.024999f, -0.000811f, 0.054403f, 0.019259f, 0.029043f, 0.007649f, 0.004457f, -0.096440f, 0.040052f, -0.004590f, -0.055038f, -0.028618f, 0.005732f, -0.015367f, -0.054782f, 0.052513f, -0.009108f, -0.039651f, -0.007957f, 0.005309f, 0.047192f, 0.052117f, 0.040219f, 0.014957f, 0.047057f, 0.049566f, -0.037368f, -0.041560f, -0.026053f, -0.007194f, 0.048738f, 0.064407f, 0.011331f, 0.022911f, 0.062417f, 0.036902f, -0.058130f, 0.042629f, 0.015884f, -0.013324f, 0.002499f, 0.119187f, -0.079044f, 0.060502f, 0.070022f, -0.070783f, -0.003933f, -0.046181f, -0.014567f, -0.101480f, 0.029229f, 0.044165f, -0.060641f, 0.036184f, -0.052455f, -0.038523f, 0.046158f, -0.029174f, -0.004101f, -0.017756f, 0.002368f, -0.025816f, 0.007913f, 0.011116f, -0.019043f, -0.027638f, -0.002016f, -0.029979f, 0.038645f, 0.006357f, -0.036115f, 0.007339f, -0.006008f, -0.020257f, -0.018940f, + 0.011852f, 0.024630f, 0.030236f, 0.012689f, -0.028371f, 0.071027f, -0.013760f, 0.007084f, -0.005240f, -0.037580f, 0.013704f, 0.020483f, -0.019723f, 0.030254f, 0.007059f, 0.022576f, -0.005965f, -0.036420f, 0.011573f, 0.054476f, -0.035106f, -0.051055f, -0.082637f, 0.016319f, -0.015810f, -0.026410f, -0.033413f, 0.018242f, -0.020272f, -0.009650f, 0.054388f, -0.017081f, -0.003033f, -0.042769f, 0.003502f, 0.027092f, -0.059727f, -0.037856f, -0.035725f, -0.017728f, 0.021758f, -0.080719f, -0.044797f, -0.116432f, 0.020256f, -0.001331f, -0.029513f, -0.013118f, -0.017144f, 0.024692f, 0.037368f, -0.041465f, 0.001585f, -0.014583f, -0.013952f, -0.072810f, 0.016013f, 0.055599f, 0.014785f, 0.042020f, 0.052997f, 0.047279f, -0.063658f, -0.019655f, -0.019198f, -0.030004f, 0.053630f, -0.054942f, -0.031535f, 0.001747f, 0.077863f, 0.017407f, -0.027274f, 0.078240f, -0.044043f, -0.041590f, 0.093587f, 0.089404f, 0.008696f, 0.022652f, -0.025403f, -0.085031f, -0.026054f, 0.085340f, -0.041378f, 0.077335f, -0.027882f, -0.122132f, -0.032082f, -0.057190f, 0.065139f, 0.000456f, 0.014676f, 0.058171f, -0.009202f, 0.047945f, + -0.062623f, -0.074064f, 0.057006f, -0.014942f, -0.124468f, 0.076852f, -0.039531f, 0.020899f, 0.025410f, -0.043672f, 0.082828f, -0.056535f, 0.030158f, -0.000947f, 0.022195f, 0.083657f, -0.021078f, -0.026524f, 0.003474f, -0.017497f, -0.022497f, -0.018978f, 0.009796f, 0.018775f, 0.004955f, -0.012058f, 0.010920f, -0.039922f, 0.036302f, 0.025098f, 0.020629f, 0.007955f, 0.000683f, -0.018683f, -0.019821f, -0.019433f, 0.017403f, 0.032680f, -0.031530f, 0.028340f, 0.066612f, 0.022172f, -0.056043f, 0.005465f, 0.021241f, -0.021036f, -0.036796f, 0.035175f, -0.031062f, -0.000725f, -0.002166f, -0.033833f, -0.042935f, -0.000453f, 0.025445f, -0.014456f, 0.057546f, -0.019085f, -0.036912f, 0.026269f, 0.022292f, 0.043050f, 0.003216f, -0.077554f, 0.045750f, 0.052723f, -0.064070f, 0.035023f, -0.000339f, -0.023209f, -0.027400f, -0.092474f, -0.040764f, 0.032454f, 0.005879f, 0.084808f, -0.068095f, -0.038559f, 0.015993f, -0.009402f, 0.054450f, -0.075634f, 0.000150f, 0.007738f, -0.063822f, 0.063880f, 0.035120f, 0.019487f, -0.029873f, 0.043748f, -0.051695f, 0.028623f, 0.022371f, 0.013466f, -0.003564f, -0.028927f, + 0.012131f, 0.058128f, -0.030428f, -0.011114f, 0.011512f, -0.045491f, 0.046576f, 0.001846f, 0.012323f, -0.062327f, 0.033807f, 0.008302f, 0.011603f, -0.146295f, 0.020247f, -0.041535f, 0.068578f, 0.056722f, 0.060301f, 0.030827f, -0.118847f, -0.020787f, 0.025703f, 0.002664f, 0.008099f, 0.083970f, -0.012301f, -0.050329f, -0.060335f, 0.002601f, -0.067125f, -0.058925f, -0.052129f, 0.025382f, -0.098007f, 0.069998f, 0.133773f, -0.034820f, -0.015778f, -0.104034f, -0.022479f, 0.040168f, 0.024913f, -0.034433f, -0.006845f, -0.125876f, -0.044014f, 0.126922f, 0.054241f, -0.039015f, 0.037397f, -0.071243f, -0.052510f, 0.014286f, 0.003196f, 0.008899f, -0.048086f, -0.016472f, -0.009745f, 0.000328f, -0.069858f, 0.015519f, -0.008569f, -0.021633f, 0.009835f, 0.029468f, -0.037894f, -0.018789f, -0.005503f, 0.014297f, -0.028964f, -0.007405f, -0.004528f, -0.027394f, 0.000984f, -0.051130f, 0.068037f, 0.022297f, -0.017072f, -0.006274f, -0.019211f, -0.002227f, 0.043926f, 0.013544f, -0.007331f, 0.023225f, -0.013356f, -0.063651f, 0.003661f, 0.003596f, 0.014293f, 0.029191f, -0.016101f, -0.011401f, 0.028786f, 0.034586f, + 0.015234f, -0.030223f, -0.095496f, 0.025952f, -0.041877f, -0.028499f, 0.029008f, -0.023395f, -0.033585f, 0.026575f, -0.044158f, -0.002721f, -0.050336f, 0.072676f, 0.001275f, -0.053153f, -0.015694f, 0.001200f, -0.005345f, 0.016879f, -0.035499f, -0.024621f, 0.007969f, 0.014606f, 0.008529f, 0.007080f, 0.027586f, -0.032021f, -0.012270f, -0.073585f, 0.027289f, 0.006794f, -0.022453f, 0.053009f, 0.029055f, -0.021895f, 0.081305f, 0.017874f, -0.051084f, 0.038413f, 0.006693f, 0.024922f, 0.053699f, -0.005213f, -0.013121f, 0.008147f, 0.044276f, 0.024729f, 0.001049f, -0.004803f, 0.047371f, -0.004509f, -0.054886f, -0.009836f, 0.010223f, 0.043061f, -0.019159f, 0.074370f, 0.082652f, -0.052801f, 0.043211f, 0.092400f, -0.024939f, 0.140496f, 0.079672f, -0.035714f, -0.031943f, -0.053540f, -0.059939f, -0.034424f, 0.018932f, -0.010982f, -0.010516f, -0.002341f, -0.008986f, -0.098970f, -0.037983f, -0.097728f, 0.022952f, 0.086657f, -0.032435f, -0.005797f, -0.047231f, 0.023094f, 0.006082f, 0.016274f, 0.024515f, 0.072606f, -0.003417f, 0.032696f, 0.034185f, -0.055464f, 0.002543f, -0.000659f, 0.012191f, 0.023492f, + -0.002914f, -0.013545f, 0.023044f, -0.003931f, -0.012439f, 0.002336f, -0.022547f, -0.006030f, 0.016963f, 0.002572f, -0.009559f, -0.053147f, 0.002914f, -0.024813f, -0.001761f, -0.021013f, 0.044175f, -0.015357f, 0.021664f, 0.025837f, -0.020724f, 0.031297f, 0.020702f, -0.000317f, -0.011105f, -0.020739f, 0.005198f, -0.002951f, -0.011252f, -0.002709f, 0.022101f, -0.017569f, 0.009749f, -0.006815f, 0.016008f, 0.124291f, 0.032942f, -0.044625f, 0.005073f, -0.058571f, -0.007563f, 0.020441f, -0.024180f, -0.031154f, -0.034547f, -0.013201f, 0.013452f, -0.007709f, -0.011015f, 0.015753f, 0.009242f, 0.021376f, -0.021979f, -0.013921f, 0.016080f, -0.005766f, 0.002988f, -0.032352f, 0.022076f, -0.037862f, 0.018312f, 0.012479f, -0.008001f, -0.001707f, 0.001546f, -0.021972f, 0.003849f, 0.004475f, -0.017344f, 0.031645f, -0.016852f, 0.007666f, 0.000351f, 0.001111f, 0.016175f, -0.015598f, -0.024088f, -0.007274f, 0.036758f, -0.027112f, 0.018107f, -0.049728f, -0.029397f, 0.009479f, -0.010561f, -0.000751f, -0.003086f, -0.029909f, 0.031982f, 0.025434f, 0.002525f, -0.021875f, -0.000871f, -0.013273f, 0.006759f, -0.016574f, + -0.000305f, -0.015899f, 0.012197f, -0.004327f, 0.003352f, 0.040344f, -0.033817f, -0.002807f, 0.006285f, 0.002571f, -0.007143f, 0.001080f, -0.015907f, 0.001054f, -0.013289f, 0.008425f, 0.016144f, -0.024236f, -0.019989f, 0.011837f, 0.001778f, -0.005612f, -0.019028f, 0.008508f, 0.002850f, -0.000635f, -0.004119f, 0.000371f, -0.004159f, 0.013649f, -0.008675f, -0.002270f, 0.006531f, -0.004284f, -0.000445f, 0.011008f, -0.006925f, -0.004491f, -0.002479f, 0.002551f, 0.011418f, -0.003526f, -0.012227f, 0.001035f, -0.007764f, 0.029264f, -0.011395f, 0.003865f, 0.006934f, -0.007047f, 0.023431f, -0.002994f, -0.019717f, 0.007526f, -0.011116f, 0.014604f, 0.007348f, -0.002812f, -0.000879f, -0.004945f, -0.005110f, 0.014469f, -0.008953f, -0.003847f, -0.001149f, -0.011888f, 0.016209f, -0.059631f, -0.088158f, 0.061438f, 0.282308f, 0.123681f, 0.129386f, -0.000827f, -0.261314f, -0.189126f, -0.098394f, -0.205926f, 0.099976f, 0.122882f, 0.063865f, 0.266350f, 0.119747f, -0.011530f, 0.088310f, -0.172299f, -0.219752f, -0.125384f, -0.153955f, -0.033139f, 0.118999f, 0.121939f, 0.051030f, 0.204822f, 0.101609f, -0.014175f, + 0.098469f, -0.090566f, -0.155556f, -0.089109f, -0.117035f, -0.183536f, 0.067588f, -0.001478f, -0.065968f, 0.197880f, 0.119029f, 0.067167f, 0.202390f, 0.049117f, -0.102881f, 0.099894f, -0.146667f, -0.166945f, -0.034286f, -0.175592f, -0.178460f, 0.070784f, -0.029596f, 0.043390f, 0.224819f, 0.154344f, 0.160272f, 0.151591f, 0.018264f, -0.084505f, -0.098123f, -0.163779f, -0.215416f, -0.112597f, -0.061465f, -0.044213f, 0.082113f, 0.128563f, 0.120292f, 0.170860f, 0.153882f, -0.023378f, -0.027341f, -0.027297f, -0.158250f, -0.047018f, -0.078008f, -0.117087f, 0.026146f, 0.048617f, 0.007660f, 0.109956f, 0.048728f, 0.001457f, 0.068438f, -0.052304f, -0.058270f, 0.002088f, -0.037924f, -0.011401f, 0.028484f, -0.005394f, 0.031641f, 0.042990f, -0.023524f, 0.033944f, 0.013470f, -0.050773f, 0.004743f, -0.023911f, -0.097587f, -0.000799f, -0.024886f, -0.040981f, 0.093976f, 0.028814f, 0.035240f, 0.124195f, 0.048904f, 0.036926f, 0.027121f, -0.060584f, -0.089693f, -0.082353f, -0.139566f, -0.113334f, -0.050853f, 0.005559f, 0.062712f, 0.144287f, 0.151925f, 0.140365f, 0.123621f, 0.077223f, -0.030424f, -0.086635f, + -0.174556f, -0.220259f, -0.170706f, -0.101514f, -0.036057f, 0.094137f, 0.172532f, 0.199253f, 0.203308f, 0.099085f, -0.024019f, -0.065708f, -0.081959f, -0.104886f, -0.076246f, -0.077385f, -0.063134f, -0.007723f, 0.020122f, 0.033231f, 0.054904f, 0.059901f, 0.054342f, 0.050691f, 0.028112f, 0.009877f, -0.005506f, -0.023450f, -0.037672f, -0.032073f, -0.020393f, -0.006436f, -0.001998f, 0.001574f, -0.001046f} + }, + { + {0.008957f, 0.005154f, -0.008124f, -0.001854f, -0.003005f, -0.000260f, 0.012161f, 0.000699f, -0.005208f, 0.006412f, 0.001303f, 0.000656f, 0.002136f, 0.001348f, 0.000104f, 0.009152f, 0.005154f, -0.006192f, -0.002392f, -0.000710f, -0.002181f, 0.002568f, 0.003901f, 0.002625f, -0.002658f, -0.003955f, 0.001516f, -0.007968f, -0.003630f, 0.005986f, 0.000520f, 0.004820f, 0.002460f, -0.003887f, 0.002939f, 0.000053f, -0.003439f, 0.008405f, -0.005630f, -0.002643f, 0.001066f, 0.002892f, -0.003852f, -0.001010f, -0.005529f, -0.010929f, 0.010217f, -0.002050f, -0.005708f, 0.000603f, 0.009392f, 0.000010f, 0.003629f, -0.004672f, -0.002741f, -0.001927f, 0.002880f, -0.003695f, 0.007509f, 0.001188f, 0.006774f, -0.009847f, 0.004157f, -0.002559f, 0.001637f, 0.004183f, -0.001708f, -0.001097f, -0.007286f, 0.000051f, 0.003924f, 0.000893f, -0.002038f, -0.000343f, 0.003491f, -0.001853f, -0.001950f, 0.005519f, -0.002529f, 0.001752f, -0.001061f, -0.000331f, -0.006804f, -0.002791f, -0.001865f, 0.002479f, -0.000522f, -0.003028f, -0.000536f, -0.000617f, -0.001924f, 0.001807f, -0.002300f, 0.000150f, 0.000496f, 0.001162f, + 0.001826f, -0.000807f, -0.001663f, 0.001729f, 0.000330f, -0.001246f, 0.000207f, 0.002946f, -0.000417f, -0.000285f, 0.001158f, 0.000102f, 0.000372f, 0.000478f, -0.000925f, -0.001596f, -0.000939f, 0.001261f, -0.000325f, 0.000142f, 0.000592f, -0.000855f, 0.000792f, 0.000020f, -0.000550f, 0.025675f, 0.008802f, -0.002032f, 0.006952f, 0.000355f, 0.012668f, 0.007960f, -0.001777f, 0.006513f, 0.011375f, 0.014878f, -0.008782f, -0.008595f, 0.003656f, -0.003468f, -0.002874f, 0.010639f, 0.008599f, 0.008190f, 0.005847f, 0.001101f, -0.000335f, -0.003715f, 0.004060f, 0.002835f, 0.013554f, 0.001371f, -0.000293f, -0.005995f, 0.002822f, 0.003969f, -0.000772f, -0.001848f, -0.002120f, 0.003675f, -0.000537f, -0.002186f, -0.004963f, 0.005263f, -0.001766f, -0.001782f, 0.007485f, 0.010618f, -0.002738f, -0.001303f, 0.006141f, 0.005494f, 0.009729f, 0.006026f, 0.002674f, 0.001000f, 0.008284f, 0.004686f, -0.011420f, 0.000010f, 0.003506f, -0.006582f, 0.000172f, 0.001074f, -0.008147f, 0.004147f, -0.003956f, 0.006107f, -0.001317f, -0.001057f, 0.003287f, 0.001055f, -0.005620f, -0.000504f, 0.003121f, -0.001107f, + -0.001391f, -0.001634f, 0.000606f, 0.006498f, 0.001147f, -0.006549f, -0.001557f, 0.001536f, -0.001953f, -0.000836f, 0.009617f, -0.001952f, 0.001169f, -0.001131f, -0.002461f, 0.002171f, 0.003577f, -0.000931f, 0.001625f, 0.001748f, -0.001783f, 0.000846f, 0.001600f, 0.000370f, -0.001187f, -0.003382f, -0.001051f, -0.002037f, -0.000947f, -0.000250f, 0.001071f, -0.000632f, 0.001289f, 0.000703f, -0.000295f, 0.008883f, -0.000692f, -0.016768f, -0.007806f, -0.003253f, -0.003629f, -0.009127f, -0.008384f, -0.005264f, 0.009088f, -0.009985f, -0.004663f, -0.004741f, 0.001828f, 0.015162f, -0.002276f, -0.001202f, 0.003708f, 0.008679f, -0.013268f, -0.002162f, 0.002708f, -0.005855f, 0.004685f, 0.007421f, -0.008181f, -0.000502f, 0.001055f, -0.004754f, -0.012042f, 0.002099f, -0.005070f, 0.001637f, -0.004668f, 0.006897f, -0.008314f, -0.007757f, -0.019112f, -0.005147f, 0.006573f, -0.001061f, -0.007333f, -0.003608f, -0.000922f, -0.007681f, 0.000388f, -0.001289f, 0.005282f, 0.004184f, -0.001979f, 0.000247f, -0.001955f, -0.008108f, 0.009911f, 0.001735f, 0.006699f, -0.002451f, 0.000025f, 0.001752f, 0.002899f, 0.007686f, + -0.002459f, -0.001845f, 0.002271f, -0.000207f, 0.008381f, 0.004489f, -0.007245f, -0.002865f, -0.001807f, -0.011461f, -0.001289f, -0.001073f, 0.006825f, -0.004385f, 0.006220f, 0.001081f, -0.000217f, -0.000626f, -0.001095f, -0.001226f, 0.001327f, -0.004616f, 0.002151f, -0.002656f, 0.002338f, 0.002008f, 0.000900f, 0.000587f, 0.006681f, 0.004917f, -0.001227f, 0.006097f, -0.000826f, -0.002033f, -0.001932f, 0.001206f, -0.000435f, 0.004179f, -0.001077f, 0.002616f, 0.002111f, -0.000353f, 0.001770f, 0.000016f, 0.001854f, 0.001851f, 0.000537f, 0.000648f, 0.002007f, 0.001357f, -0.002745f, -0.001492f, -0.000289f, 0.003400f, 0.003765f, 0.000031f, -0.000400f, 0.002065f, -0.036890f, -0.011556f, -0.003257f, -0.002985f, -0.003080f, 0.014236f, -0.013135f, 0.006318f, -0.003060f, 0.002886f, -0.003747f, -0.003060f, -0.010572f, 0.001725f, -0.003848f, 0.000788f, -0.015349f, 0.000295f, -0.001558f, -0.002766f, -0.000234f, 0.002871f, 0.002345f, -0.001472f, -0.001033f, -0.006177f, 0.001921f, -0.004963f, 0.003275f, -0.000025f, 0.002801f, 0.009574f, -0.002487f, -0.011013f, -0.004676f, -0.012893f, 0.001809f, 0.002299f, + -0.001138f, 0.002207f, -0.004466f, 0.004290f, 0.002249f, -0.005724f, 0.000526f, -0.015496f, -0.003264f, -0.010372f, 0.005700f, 0.010210f, -0.008977f, -0.000730f, 0.002975f, 0.001547f, -0.014720f, 0.002440f, 0.007632f, -0.007111f, -0.003329f, -0.016868f, 0.005764f, -0.002460f, 0.007012f, 0.012455f, 0.007165f, -0.010054f, 0.002179f, 0.002348f, 0.000607f, -0.011176f, 0.002939f, -0.004778f, 0.007486f, -0.003025f, -0.000296f, 0.003462f, 0.003094f, 0.008754f, 0.010053f, 0.006807f, -0.000435f, 0.002504f, 0.006022f, 0.002987f, -0.005806f, -0.001233f, -0.003845f, -0.003964f, 0.001880f, -0.000189f, 0.001048f, 0.000079f, -0.001080f, -0.000348f, 0.003688f, -0.001199f, -0.001084f, 0.000088f, -0.000920f, -0.002658f, 0.003362f, 0.000112f, 0.001650f, 0.003939f, -0.000382f, 0.000428f, -0.002996f, 0.001994f, 0.001496f, 0.000309f, -0.003007f, 0.001024f, 0.000167f, -0.022757f, 0.002443f, 0.004162f, -0.008254f, -0.000936f, 0.022255f, 0.017419f, 0.009344f, -0.002417f, -0.004119f, 0.011186f, 0.006901f, 0.003636f, 0.004143f, -0.008881f, 0.003002f, 0.000945f, 0.010435f, -0.009942f, -0.004643f, -0.001835f, + 0.001260f, -0.001973f, -0.011623f, -0.007762f, -0.008197f, -0.009539f, 0.005266f, 0.006526f, 0.004088f, 0.002937f, 0.000152f, 0.002872f, -0.001510f, -0.001172f, 0.000678f, -0.003422f, -0.001055f, 0.005141f, 0.003898f, -0.007784f, -0.008818f, -0.000744f, -0.008844f, 0.005337f, -0.002719f, -0.014795f, 0.001748f, 0.007631f, 0.010665f, 0.007482f, 0.000371f, 0.007073f, -0.010652f, -0.003340f, -0.004781f, -0.000676f, 0.000706f, 0.004824f, -0.003695f, -0.009651f, 0.011793f, -0.010674f, -0.005182f, 0.007380f, 0.017070f, 0.004105f, 0.003348f, -0.016643f, 0.018034f, 0.002219f, 0.012560f, 0.019451f, -0.004313f, 0.002125f, 0.002229f, -0.007885f, 0.016034f, 0.003814f, -0.005297f, 0.004485f, -0.002277f, 0.007979f, -0.013242f, -0.006993f, -0.013531f, -0.002573f, -0.006017f, 0.005462f, -0.003453f, 0.002351f, -0.006358f, -0.001575f, -0.001265f, -0.004018f, -0.000303f, -0.001483f, 0.001631f, -0.000251f, -0.001797f, -0.000894f, -0.000828f, 0.003237f, 0.000833f, -0.002392f, -0.005526f, 0.003115f, 0.003021f, 0.000600f, -0.000034f, -0.000052f, -0.002311f, 0.001010f, -0.001556f, 0.003372f, 0.000593f, 0.001914f, + -0.001944f, -0.002176f, -0.004395f, 0.034528f, 0.024324f, -0.008672f, -0.012673f, 0.019174f, 0.012502f, 0.020181f, 0.029639f, -0.014932f, 0.010285f, 0.004971f, 0.008621f, 0.003893f, 0.005189f, 0.012289f, 0.003072f, 0.012549f, 0.000436f, -0.007962f, 0.003385f, -0.002544f, 0.004244f, -0.001451f, 0.023016f, 0.003921f, 0.005089f, 0.003154f, 0.000930f, 0.008084f, 0.003439f, 0.000508f, -0.001461f, 0.005796f, -0.004430f, 0.011038f, -0.008563f, 0.013282f, -0.006245f, 0.008047f, 0.004205f, 0.004932f, 0.003898f, 0.019482f, 0.014876f, 0.000968f, -0.004178f, -0.010509f, 0.011531f, -0.012818f, 0.003234f, -0.005588f, 0.005676f, 0.012207f, 0.001471f, -0.020347f, -0.016535f, 0.001740f, -0.010287f, -0.011129f, -0.006435f, -0.012838f, 0.004592f, 0.022333f, 0.011193f, -0.008188f, 0.000516f, 0.002599f, -0.005847f, -0.006552f, -0.001090f, 0.010976f, 0.012178f, -0.012905f, 0.006120f, 0.014317f, 0.002841f, 0.004721f, 0.006895f, 0.011157f, -0.001929f, -0.007596f, 0.002953f, -0.003265f, -0.000662f, -0.007290f, 0.006735f, 0.010543f, 0.001598f, 0.001893f, 0.001442f, -0.007383f, -0.001088f, -0.000122f, + -0.000842f, 0.000749f, -0.001184f, 0.001216f, 0.000883f, 0.003610f, 0.000355f, -0.000067f, 0.000308f, 0.002317f, 0.003956f, 0.002073f, 0.004189f, 0.002300f, 0.000742f, 0.001234f, -0.000934f, -0.006888f, -0.007172f, 0.001441f, 0.005211f, 0.001336f, -0.001609f, 0.001270f, -0.000966f, 0.003305f, -0.002695f, -0.002452f, -0.004518f, 0.001936f, 0.015120f, 0.002982f, 0.021928f, -0.001853f, -0.000346f, -0.007221f, -0.005981f, 0.007473f, 0.016576f, -0.004770f, 0.004336f, 0.001286f, 0.017968f, 0.007563f, -0.008481f, -0.007661f, 0.001106f, 0.003887f, 0.016324f, 0.016184f, 0.024406f, 0.004558f, 0.006741f, -0.004184f, 0.009911f, 0.011462f, -0.004473f, -0.005500f, 0.008730f, -0.006628f, -0.009441f, 0.008936f, 0.002595f, -0.010728f, -0.013377f, 0.020381f, 0.010093f, -0.000542f, 0.012858f, 0.002668f, -0.009125f, 0.019372f, -0.004560f, 0.000741f, -0.000521f, 0.005148f, -0.007054f, 0.005151f, -0.007063f, 0.005021f, -0.006563f, 0.006056f, -0.005374f, 0.008184f, -0.006763f, -0.006649f, 0.017862f, -0.022241f, 0.001221f, 0.002845f, -0.007740f, 0.001688f, -0.025231f, -0.012192f, 0.012009f, -0.009852f, + 0.007368f, -0.002482f, 0.004963f, 0.002393f, 0.004254f, 0.002859f, -0.011449f, 0.006355f, -0.006663f, -0.000550f, -0.014533f, -0.007649f, -0.003651f, -0.003250f, 0.004121f, 0.013903f, 0.007907f, -0.010794f, 0.004245f, 0.002386f, 0.000090f, -0.005062f, 0.000748f, -0.000764f, 0.002684f, 0.001521f, -0.002799f, -0.003482f, -0.001460f, -0.000776f, -0.002120f, 0.008180f, 0.001476f, -0.002756f, -0.001692f, 0.002174f, -0.003234f, 0.000628f, 0.001608f, 0.000399f, 0.000455f, -0.008057f, -0.003360f, -0.001777f, 0.001292f, -0.002012f, -0.000303f, 0.005610f, -0.017828f, -0.015457f, -0.000002f, 0.006635f, 0.012593f, -0.014639f, 0.004264f, -0.013158f, 0.010899f, 0.008258f, -0.017958f, -0.003777f, 0.002007f, -0.021177f, -0.011952f, 0.012832f, -0.001593f, -0.000952f, 0.003122f, -0.001367f, -0.022055f, 0.020204f, 0.001383f, -0.014368f, -0.006896f, 0.002660f, -0.001773f, -0.013809f, -0.004044f, -0.007948f, 0.002377f, -0.000719f, -0.004302f, 0.004391f, -0.019098f, -0.008555f, 0.005053f, 0.025068f, -0.004101f, -0.014770f, -0.010332f, -0.008235f, 0.017181f, -0.018218f, -0.003538f, -0.001284f, -0.019343f, -0.024251f, + 0.006067f, -0.016814f, -0.002564f, 0.002494f, 0.012885f, 0.007132f, 0.001158f, 0.002758f, 0.015367f, -0.006597f, -0.004649f, 0.022609f, -0.014990f, 0.011776f, -0.005066f, -0.005654f, -0.002182f, -0.002730f, 0.024258f, 0.000565f, 0.009509f, -0.024837f, -0.017899f, 0.000611f, -0.003474f, 0.027769f, 0.001028f, 0.018940f, 0.008104f, 0.023685f, 0.014494f, -0.003571f, -0.016341f, -0.006175f, 0.011212f, 0.004849f, 0.007617f, -0.009122f, -0.010170f, -0.002830f, -0.003332f, 0.004929f, -0.002406f, -0.006635f, -0.001068f, -0.001594f, 0.000074f, -0.000792f, 0.001034f, -0.002690f, -0.003545f, 0.004550f, -0.000192f, 0.000319f, -0.001129f, -0.001971f, -0.001434f, 0.001265f, 0.003984f, -0.004005f, 0.001045f, -0.002441f, -0.003541f, 0.002645f, -0.000962f, -0.003380f, -0.003873f, -0.000733f, 0.003891f, 0.000440f, 0.000611f, 0.001473f, 0.006919f, -0.005691f, -0.004653f, -0.002868f, 0.000674f, 0.002803f, -0.029704f, 0.002813f, -0.002911f, 0.020287f, 0.002367f, -0.021609f, 0.025735f, 0.008231f, -0.015097f, -0.033171f, -0.013791f, 0.032667f, 0.001633f, -0.004209f, -0.005470f, 0.003316f, 0.001087f, 0.010038f, + 0.005353f, 0.010759f, -0.002340f, 0.019258f, -0.009963f, -0.022813f, 0.000972f, 0.001005f, -0.005412f, -0.000876f, 0.008538f, -0.005892f, -0.003473f, -0.002029f, 0.018209f, 0.014087f, 0.007324f, -0.001384f, -0.024776f, -0.000516f, -0.001284f, -0.001069f, -0.004109f, -0.000434f, -0.010835f, -0.020246f, -0.003156f, 0.013876f, 0.013540f, -0.005117f, 0.014547f, -0.004715f, 0.006293f, 0.015952f, 0.015297f, -0.033762f, 0.011590f, 0.012154f, 0.005068f, -0.008244f, -0.029569f, 0.017934f, 0.010619f, 0.005723f, -0.010532f, -0.005914f, -0.011928f, 0.006621f, -0.013234f, -0.002471f, 0.000266f, 0.012070f, -0.007462f, 0.006144f, 0.003376f, -0.021641f, -0.002945f, -0.014465f, 0.023749f, 0.010999f, -0.027819f, -0.005907f, 0.022122f, 0.011006f, -0.011428f, -0.005725f, -0.012626f, -0.004275f, 0.006650f, -0.003863f, -0.001470f, -0.004830f, -0.006026f, -0.010584f, 0.002120f, 0.000847f, -0.003333f, -0.001066f, 0.005505f, 0.003676f, -0.006613f, -0.002355f, 0.004997f, -0.001284f, 0.003844f, -0.004391f, -0.002977f, -0.000840f, 0.001083f, 0.005706f, -0.005943f, -0.004263f, 0.003142f, -0.006824f, -0.000439f, -0.004803f, + 0.003035f, -0.003805f, 0.006681f, -0.002287f, -0.001068f, -0.003346f, 0.004303f, 0.002868f, 0.007604f, 0.002368f, 0.018340f, 0.022855f, 0.023005f, 0.017972f, 0.022551f, -0.028424f, -0.018939f, -0.009679f, -0.009511f, -0.013511f, -0.010729f, -0.022779f, -0.008019f, 0.001739f, 0.013467f, 0.000174f, -0.013382f, -0.000431f, 0.013452f, 0.000851f, -0.011586f, -0.005145f, 0.030895f, 0.003200f, 0.011461f, 0.003765f, 0.012621f, 0.002793f, 0.003926f, -0.018986f, 0.010430f, 0.000880f, 0.004166f, -0.019915f, 0.006683f, -0.030675f, -0.000282f, -0.009601f, 0.007370f, -0.002676f, -0.022802f, -0.000403f, -0.022700f, 0.004247f, -0.018914f, 0.017144f, -0.009942f, 0.026871f, 0.000542f, -0.000366f, 0.013179f, 0.003020f, -0.004537f, -0.003814f, 0.005151f, -0.009023f, 0.006009f, 0.016614f, 0.008132f, -0.012166f, -0.006737f, 0.035470f, 0.002396f, 0.028311f, -0.026464f, -0.005399f, -0.003088f, 0.020617f, -0.023137f, 0.003317f, 0.010611f, -0.022607f, 0.015531f, -0.014170f, 0.003827f, 0.022145f, 0.002057f, 0.012507f, 0.005553f, 0.028904f, 0.012150f, -0.011893f, -0.009754f, -0.011460f, 0.001404f, 0.001158f, + 0.011783f, -0.007160f, -0.001719f, 0.007961f, 0.000208f, 0.006146f, 0.007952f, 0.001190f, -0.007042f, 0.008014f, 0.005759f, -0.000753f, 0.002115f, 0.002699f, -0.003318f, -0.002382f, -0.009844f, 0.006331f, -0.004917f, -0.004248f, -0.002246f, -0.004931f, 0.004243f, -0.003369f, -0.001539f, -0.005296f, -0.001704f, -0.001222f, 0.006252f, 0.004718f, -0.000643f, -0.001121f, -0.000827f, 0.003725f, 0.004132f, 0.003948f, 0.008117f, -0.001060f, -0.008717f, -0.028542f, 0.004255f, 0.027941f, 0.020798f, 0.022844f, -0.007634f, -0.005793f, 0.005641f, -0.003891f, 0.028138f, 0.009504f, 0.013371f, 0.023828f, -0.001786f, 0.008962f, -0.016207f, 0.023732f, 0.011759f, -0.005890f, -0.014586f, -0.013433f, 0.015807f, -0.027399f, 0.010650f, 0.015879f, -0.011560f, -0.015269f, -0.008846f, 0.014813f, 0.005422f, -0.005504f, -0.010165f, 0.000263f, -0.017040f, -0.025389f, 0.004516f, -0.024368f, -0.036539f, -0.004517f, 0.001274f, 0.036957f, -0.016059f, -0.012520f, 0.016280f, 0.027241f, 0.027053f, 0.014549f, -0.001822f, 0.006365f, -0.011908f, 0.002153f, -0.012480f, 0.030441f, 0.026622f, 0.017432f, -0.001436f, -0.031028f, + -0.000402f, -0.026496f, 0.029062f, 0.022790f, 0.013905f, -0.021993f, 0.017939f, 0.010387f, 0.012336f, -0.004086f, -0.018937f, -0.013547f, -0.015211f, 0.005103f, -0.021280f, -0.038424f, 0.007249f, 0.026099f, 0.013478f, 0.025622f, -0.008132f, -0.007034f, 0.025521f, 0.008632f, 0.003137f, 0.017203f, 0.005321f, 0.000506f, 0.014433f, 0.009322f, -0.001764f, 0.006765f, 0.006027f, 0.003889f, -0.005313f, -0.008498f, -0.011641f, 0.002994f, 0.006807f, 0.004189f, 0.014504f, 0.000367f, 0.010201f, -0.003384f, 0.003909f, 0.008408f, 0.000692f, -0.003898f, -0.002785f, -0.012440f, -0.011136f, 0.003704f, 0.002202f, 0.004903f, 0.012467f, 0.001873f, 0.009346f, -0.003780f, -0.002690f, 0.001651f, -0.010047f, -0.007544f, -0.003308f, -0.008095f, 0.003254f, -0.002730f, 0.002520f, 0.007167f, 0.009591f, 0.014255f, 0.023592f, 0.049709f, 0.022567f, 0.017120f, 0.016607f, -0.031347f, -0.004550f, -0.011696f, 0.039915f, -0.040603f, -0.037853f, 0.010570f, 0.026157f, -0.001100f, 0.031919f, 0.028301f, -0.001071f, 0.010656f, -0.018672f, -0.014071f, 0.030351f, -0.012241f, 0.020944f, 0.006917f, -0.013084f, -0.007381f, + -0.005642f, -0.007024f, -0.013668f, 0.011274f, 0.012750f, 0.010022f, 0.001252f, -0.016016f, -0.019795f, 0.025572f, -0.025284f, 0.019708f, 0.002124f, -0.031910f, 0.016140f, 0.029612f, -0.000348f, -0.008568f, -0.003551f, 0.002024f, 0.001984f, 0.020068f, -0.000825f, -0.015816f, -0.006174f, 0.017011f, -0.031515f, 0.007247f, -0.005082f, 0.025403f, 0.027486f, 0.017766f, 0.021564f, 0.027652f, 0.020413f, 0.006911f, -0.018020f, -0.021002f, 0.010172f, 0.013268f, -0.000762f, 0.011434f, 0.016406f, 0.042360f, -0.023931f, 0.026644f, -0.015836f, -0.010694f, 0.029656f, 0.004051f, -0.017372f, -0.015763f, -0.016014f, -0.026838f, -0.008809f, -0.013345f, 0.021334f, 0.000079f, -0.016688f, 0.008814f, 0.006069f, -0.004045f, 0.010115f, -0.020575f, 0.013350f, 0.000419f, -0.001689f, -0.002606f, 0.011369f, 0.001489f, 0.003134f, 0.011220f, -0.004664f, 0.001461f, 0.008707f, -0.013338f, 0.009273f, 0.000076f, 0.003566f, -0.006213f, 0.007424f, -0.003026f, 0.001024f, 0.009499f, 0.000205f, -0.002855f, 0.002704f, 0.006256f, 0.008626f, 0.013674f, 0.011673f, 0.003741f, -0.006393f, -0.005906f, -0.019953f, 0.003976f, + -0.016599f, -0.005426f, -0.007155f, -0.007366f, 0.008061f, -0.033324f, -0.005943f, 0.019385f, -0.023919f, 0.000756f, -0.015046f, -0.026325f, 0.038291f, 0.032725f, 0.027371f, 0.012968f, 0.007140f, 0.010766f, 0.028114f, 0.015523f, 0.028823f, -0.010674f, 0.024143f, -0.018187f, 0.029238f, 0.039257f, 0.024626f, 0.019622f, 0.010002f, 0.020268f, 0.020430f, -0.006071f, 0.040645f, 0.009755f, -0.024501f, 0.011625f, -0.024806f, -0.017068f, -0.005078f, -0.038595f, 0.000670f, -0.008230f, -0.010458f, -0.018764f, -0.009751f, -0.005391f, -0.001198f, -0.003808f, 0.001682f, 0.001613f, -0.022145f, -0.014631f, 0.004597f, -0.011699f, 0.009207f, 0.038009f, -0.019157f, -0.001547f, -0.003606f, 0.001405f, -0.018163f, 0.009792f, -0.008722f, 0.029423f, 0.006268f, 0.017575f, 0.027521f, 0.004699f, -0.001821f, -0.018146f, -0.040395f, 0.005336f, 0.030080f, 0.021832f, -0.005685f, -0.026923f, 0.022692f, 0.002393f, 0.013672f, -0.034468f, -0.024743f, -0.022696f, -0.034180f, -0.021161f, -0.025006f, 0.011654f, 0.003703f, 0.008756f, 0.011414f, 0.015787f, -0.007715f, 0.016070f, 0.018270f, 0.000583f, 0.009823f, -0.005856f, + -0.012128f, -0.012478f, -0.013131f, -0.005247f, -0.009575f, -0.000574f, 0.002885f, -0.001254f, 0.000863f, 0.002448f, -0.011115f, -0.010260f, -0.017598f, -0.006013f, -0.004089f, -0.009770f, 0.003857f, 0.001477f, -0.005210f, -0.015894f, -0.007336f, -0.005853f, -0.004124f, 0.013296f, 0.004037f, -0.005776f, -0.007363f, -0.002653f, -0.019123f, 0.005235f, -0.003920f, 0.009892f, 0.001095f, -0.005988f, -0.011297f, 0.011774f, 0.016734f, -0.057130f, -0.036651f, -0.017358f, 0.040815f, 0.029814f, -0.022179f, 0.025561f, 0.022980f, 0.019694f, 0.019190f, -0.019111f, 0.001929f, 0.011160f, -0.019099f, -0.057538f, -0.010539f, -0.015908f, -0.035340f, 0.003277f, -0.012065f, -0.008953f, 0.010792f, 0.006516f, -0.007866f, 0.001791f, 0.027001f, 0.028980f, -0.053109f, 0.012730f, 0.002709f, 0.024676f, 0.008372f, 0.001449f, -0.033065f, 0.010209f, -0.008468f, -0.009073f, -0.022730f, -0.016801f, 0.042573f, -0.019199f, -0.000742f, 0.005192f, -0.011222f, 0.047188f, 0.022379f, -0.020829f, -0.012640f, -0.036702f, -0.005275f, 0.035332f, 0.010377f, 0.010783f, -0.011511f, 0.021642f, -0.005014f, -0.009140f, 0.019858f, -0.011582f, + 0.032892f, -0.007565f, 0.024525f, -0.049698f, -0.016812f, 0.028722f, 0.007100f, -0.004423f, 0.008118f, -0.054988f, -0.025994f, 0.008556f, -0.021915f, 0.008605f, 0.002342f, 0.006308f, 0.033939f, -0.012475f, 0.013766f, -0.002488f, -0.027372f, -0.004582f, 0.020944f, 0.030337f, -0.000834f, -0.012430f, -0.023169f, 0.000848f, -0.032397f, -0.010380f, 0.002967f, 0.038500f, 0.034318f, 0.004885f, 0.014514f, 0.004525f, -0.005557f, 0.019206f, 0.014501f, -0.007284f, 0.015905f, 0.012134f, 0.006483f, -0.012925f, -0.000738f, -0.006568f, 0.011668f, 0.008300f, 0.010405f, -0.000563f, -0.015409f, 0.014996f, 0.000869f, -0.006958f, -0.014991f, -0.000410f, -0.001022f, -0.014012f, 0.010270f, -0.010083f, -0.016361f, 0.019079f, -0.007268f, -0.005961f, -0.008154f, 0.004568f, 0.002897f, 0.015415f, 0.003536f, -0.002129f, 0.006460f, 0.009737f, -0.016551f, 0.005101f, 0.011153f, -0.025692f, -0.070820f, -0.006860f, -0.007878f, -0.008552f, 0.011711f, -0.029370f, 0.056846f, -0.011056f, 0.003209f, 0.061073f, -0.072144f, -0.008405f, -0.013564f, -0.007780f, -0.082751f, 0.003813f, -0.012252f, -0.016979f, 0.028942f, -0.029503f, + 0.005031f, 0.004607f, 0.014116f, -0.003494f, -0.029791f, 0.019926f, -0.019366f, 0.042476f, -0.006873f, -0.050047f, -0.003044f, -0.002554f, -0.024239f, -0.050431f, 0.022803f, 0.024307f, -0.040920f, 0.032946f, -0.036963f, -0.030093f, -0.017418f, 0.002340f, 0.003533f, 0.004647f, 0.024456f, -0.005490f, -0.022337f, -0.054957f, 0.011500f, -0.073966f, -0.038325f, -0.026069f, -0.058047f, -0.035628f, -0.016415f, -0.004575f, -0.027025f, 0.040832f, 0.043458f, 0.008565f, -0.012544f, 0.046507f, 0.021840f, -0.006433f, -0.010311f, 0.033191f, 0.025624f, -0.012696f, 0.045629f, -0.039008f, -0.019090f, 0.048434f, 0.023644f, 0.068347f, -0.037527f, -0.043698f, 0.011406f, -0.033490f, 0.035296f, 0.002695f, 0.012517f, 0.064886f, -0.036000f, -0.040040f, -0.013992f, 0.012626f, 0.015407f, 0.015525f, 0.017240f, 0.018013f, -0.019940f, 0.006935f, 0.003471f, -0.002553f, -0.001986f, -0.014723f, -0.010484f, 0.018113f, -0.020462f, -0.002187f, 0.004574f, -0.011218f, 0.002958f, -0.011489f, -0.000391f, -0.002293f, 0.004678f, -0.017867f, 0.008857f, 0.019613f, 0.006502f, 0.003793f, 0.023335f, 0.015668f, -0.001285f, -0.023448f, + 0.020658f, 0.003881f, -0.007375f, -0.017846f, 0.021416f, 0.001829f, 0.000954f, 0.011500f, 0.016650f, -0.022449f, 0.011216f, 0.005446f, -0.014827f, -0.007695f, -0.023897f, 0.015405f, -0.003234f, -0.026166f, -0.013628f, 0.006958f, 0.055360f, 0.031944f, -0.005508f, 0.075597f, -0.009033f, 0.031181f, -0.035927f, 0.044223f, 0.041108f, -0.003539f, -0.033619f, 0.003745f, 0.011683f, -0.018353f, 0.019327f, -0.026889f, -0.000782f, -0.008106f, -0.009241f, -0.030587f, -0.022875f, -0.013794f, -0.002219f, -0.009753f, -0.024542f, 0.036187f, 0.024348f, 0.006900f, -0.010376f, 0.006360f, 0.034301f, 0.016532f, 0.025127f, 0.016241f, -0.019249f, -0.029077f, 0.058891f, -0.007523f, -0.032655f, -0.013260f, -0.014191f, -0.007504f, 0.042552f, 0.002075f, -0.033300f, -0.012378f, -0.082356f, -0.019978f, -0.009892f, 0.050809f, 0.034658f, -0.099520f, -0.043227f, -0.024028f, -0.000759f, 0.005250f, -0.040074f, 0.029569f, 0.015442f, 0.025767f, 0.049799f, -0.065196f, 0.063797f, 0.046225f, -0.021029f, -0.043700f, 0.002581f, -0.010714f, 0.016833f, 0.058542f, -0.030407f, -0.033545f, 0.047332f, -0.055733f, -0.062852f, -0.024987f, + 0.006230f, -0.017704f, -0.068846f, -0.027529f, -0.022373f, 0.001293f, 0.003602f, -0.019422f, -0.001539f, 0.003189f, 0.000680f, 0.006077f, -0.043547f, -0.015030f, -0.014512f, 0.003013f, 0.012007f, -0.003006f, -0.013997f, -0.007868f, 0.004507f, 0.022363f, 0.023574f, -0.003087f, -0.020652f, -0.005143f, 0.030037f, 0.001992f, -0.007917f, 0.006482f, -0.040939f, -0.011836f, -0.019340f, 0.002897f, 0.007017f, -0.039452f, -0.040443f, 0.010263f, 0.035114f, -0.014910f, 0.022981f, 0.007284f, -0.011330f, -0.003119f, 0.009339f, 0.007235f, -0.003310f, 0.007187f, 0.052112f, 0.007196f, 0.019493f, -0.040642f, -0.064589f, 0.093259f, 0.046468f, 0.004387f, 0.005953f, -0.020790f, -0.054971f, 0.019388f, -0.004422f, 0.047160f, 0.010356f, 0.017600f, 0.051381f, 0.028657f, -0.000740f, -0.005345f, 0.008552f, -0.031270f, -0.026004f, -0.033258f, -0.018808f, 0.031078f, -0.008633f, 0.002102f, 0.038513f, -0.006500f, 0.016802f, -0.053580f, -0.048437f, -0.032607f, 0.027737f, 0.011496f, -0.001959f, 0.012924f, -0.017258f, -0.048170f, 0.060818f, -0.057799f, 0.026521f, 0.027686f, 0.021512f, 0.009820f, 0.036748f, -0.023687f, + -0.059453f, 0.043951f, 0.124047f, -0.021769f, 0.059905f, -0.072163f, -0.039207f, 0.044818f, 0.025954f, -0.066990f, -0.019122f, -0.005537f, 0.058060f, -0.014368f, -0.006538f, -0.091137f, -0.058888f, -0.020843f, -0.067254f, 0.056153f, 0.059474f, 0.094357f, -0.083703f, 0.035998f, 0.010199f, -0.046287f, -0.002932f, -0.002082f, -0.096678f, 0.068883f, -0.028905f, 0.032587f, -0.010174f, 0.005472f, 0.130203f, -0.035126f, 0.044978f, 0.030039f, -0.031910f, 0.057001f, -0.000392f, -0.010822f, 0.003152f, 0.014813f, 0.036418f, 0.022637f, 0.014280f, -0.001144f, 0.034437f, -0.032459f, -0.016430f, 0.002909f, 0.008329f, 0.016318f, -0.009324f, 0.028278f, 0.003385f, 0.012672f, -0.005891f, 0.021487f, -0.002223f, -0.031000f, 0.017495f, -0.038116f, -0.023102f, -0.008685f, 0.015956f, -0.003853f, 0.019126f, 0.045089f, 0.068753f, 0.050246f, 0.013242f, 0.032436f, -0.019097f, 0.016658f, -0.001726f, -0.001082f, -0.003515f, 0.007048f, -0.014936f, 0.019353f, -0.018407f, -0.083125f, -0.047130f, -0.001718f, -0.012589f, -0.027861f, 0.010101f, 0.026801f, 0.002781f, -0.029446f, -0.001478f, -0.028228f, 0.076450f, -0.023484f, + 0.001759f, 0.057947f, -0.003249f, -0.059454f, -0.041353f, -0.040639f, -0.017993f, -0.021639f, 0.063695f, 0.006596f, 0.010515f, 0.031740f, -0.017444f, -0.017779f, -0.010689f, -0.018124f, -0.038828f, -0.009130f, 0.073013f, 0.023554f, 0.017365f, -0.048518f, 0.017914f, 0.003799f, -0.034540f, -0.004036f, -0.017300f, 0.079212f, -0.062637f, -0.054089f, -0.019043f, 0.009879f, -0.018647f, 0.002413f, 0.021407f, -0.041241f, -0.011057f, 0.067102f, -0.054051f, 0.009496f, -0.013527f, -0.032874f, -0.057329f, -0.043826f, 0.002151f, -0.079864f, -0.096547f, 0.022920f, 0.019808f, 0.015505f, -0.086269f, 0.066637f, 0.080981f, -0.027492f, -0.023419f, 0.005046f, -0.003348f, -0.018255f, -0.044811f, 0.032479f, 0.122185f, 0.031707f, -0.030163f, 0.000586f, 0.019418f, 0.040748f, 0.011057f, -0.072302f, -0.064454f, 0.069839f, -0.013358f, -0.028594f, -0.042102f, 0.014490f, 0.079860f, 0.024441f, -0.025234f, 0.014706f, -0.003089f, -0.014235f, -0.006975f, -0.004289f, 0.035340f, 0.019515f, -0.012004f, -0.019564f, 0.015999f, 0.009255f, -0.002964f, -0.008110f, 0.012934f, -0.018925f, 0.011746f, 0.030594f, -0.002814f, -0.016965f, + -0.005088f, -0.010934f, -0.018532f, -0.034315f, 0.005002f, 0.026136f, -0.017505f, -0.021658f, 0.010683f, -0.027026f, 0.000160f, -0.043943f, 0.021081f, 0.027334f, 0.069955f, -0.022310f, -0.009529f, -0.029008f, -0.029714f, 0.008351f, 0.015414f, 0.029058f, -0.003505f, -0.006343f, -0.029334f, 0.011750f, 0.007223f, 0.008754f, 0.018503f, 0.021286f, -0.026427f, -0.069767f, 0.019325f, 0.027253f, -0.103287f, 0.056581f, 0.002475f, -0.029451f, 0.009949f, 0.037693f, -0.053353f, 0.032971f, -0.049537f, 0.013382f, -0.002821f, -0.025001f, -0.013830f, -0.006774f, -0.036450f, 0.026151f, 0.022955f, -0.001069f, 0.012691f, 0.001587f, 0.020318f, 0.026412f, 0.025622f, 0.037883f, 0.032627f, -0.020143f, 0.005149f, -0.041338f, 0.043905f, -0.033890f, 0.010815f, -0.006531f, 0.009020f, 0.002150f, -0.031221f, 0.028478f, -0.015780f, -0.030256f, 0.063571f, -0.050789f, 0.015349f, -0.014639f, -0.025149f, 0.025632f, -0.006514f, 0.007617f, 0.039654f, -0.047799f, 0.002037f, -0.058567f, -0.115325f, -0.002922f, 0.036884f, -0.013839f, 0.148471f, 0.030235f, -0.057877f, 0.016332f, -0.080786f, 0.028125f, 0.057974f, 0.068396f, + -0.023401f, -0.013447f, -0.089823f, -0.103041f, -0.008570f, -0.064222f, 0.015329f, -0.004011f, -0.055991f, -0.013086f, -0.027674f, -0.061350f, 0.050412f, 0.099032f, -0.027676f, 0.007042f, 0.021456f, -0.026194f, 0.030726f, 0.039087f, -0.027010f, 0.004600f, 0.000197f, -0.049213f, 0.024715f, 0.004230f, 0.015064f, 0.018106f, -0.034722f, 0.013711f, -0.018376f, -0.027862f, -0.031553f, 0.026995f, -0.019543f, 0.011154f, -0.030499f, -0.010946f, -0.001990f, -0.037223f, 0.036650f, -0.023556f, 0.007408f, 0.011263f, -0.034681f, -0.005557f, 0.026905f, -0.003058f, 0.003914f, 0.006090f, -0.010067f, 0.016598f, 0.034700f, -0.004011f, 0.020193f, 0.023831f, -0.029485f, -0.055993f, 0.019077f, 0.008003f, 0.032501f, 0.038990f, -0.050666f, -0.049683f, 0.008807f, -0.073590f, 0.015131f, -0.005305f, -0.042969f, 0.019373f, -0.027914f, -0.018765f, -0.034685f, 0.017728f, -0.037766f, 0.048379f, -0.005173f, 0.017955f, -0.011173f, 0.064967f, -0.017667f, 0.035713f, -0.000613f, 0.042567f, -0.011889f, -0.021384f, 0.013852f, -0.024209f, -0.025685f, 0.003568f, 0.048333f, 0.031177f, -0.032935f, 0.035249f, -0.024705f, -0.037723f, + 0.010652f, 0.051809f, -0.019903f, -0.020983f, 0.027658f, 0.012510f, -0.025767f, 0.002987f, 0.035191f, -0.014569f, -0.033853f, 0.018552f, 0.014117f, 0.021735f, 0.039636f, 0.008423f, -0.023905f, -0.007751f, 0.087066f, 0.091566f, -0.025263f, -0.075616f, 0.058101f, -0.025202f, 0.016406f, 0.008364f, 0.098053f, 0.013607f, -0.050852f, -0.018460f, -0.012298f, 0.002899f, 0.015208f, 0.023806f, 0.031901f, -0.037700f, 0.012206f, 0.008763f, 0.056885f, -0.014019f, 0.040100f, 0.043246f, 0.023913f, 0.020716f, 0.012486f, 0.034481f, -0.032811f, 0.037096f, 0.047055f, 0.034076f, 0.005818f, -0.066372f, -0.009850f, -0.042733f, 0.002097f, 0.029028f, 0.009799f, -0.014466f, -0.023271f, -0.013479f, -0.003609f, -0.001479f, 0.012331f, -0.013570f, 0.003875f, -0.001209f, -0.010306f, 0.020507f, 0.008043f, -0.017940f, -0.008433f, -0.004426f, 0.024917f, 0.000234f, 0.005231f, -0.023594f, -0.016907f, -0.031375f, -0.014724f, -0.001669f, -0.002838f, 0.000697f, -0.005343f, -0.028078f, 0.007489f, -0.009408f, -0.004462f, 0.004498f, -0.007724f, -0.000107f, -0.024374f, -0.005550f, 0.001237f, 0.000694f, 0.000735f, -0.005952f, + -0.005975f, -0.001828f, -0.009515f, -0.013492f, 0.103720f, 0.043080f, -0.046302f, 0.010892f, -0.048388f, -0.026835f, -0.002973f, 0.017265f, -0.007414f, 0.037489f, -0.044719f, -0.001782f, 0.018164f, -0.001896f, 0.018877f, -0.003069f, 0.006869f, 0.003949f, -0.031937f, -0.010529f, 0.008875f, -0.030535f, -0.029988f, 0.002175f, 0.008205f, -0.021824f, 0.015742f, 0.014450f, -0.008647f, -0.015538f, -0.002026f, 0.002908f, -0.004910f, 0.012363f, 0.003674f, 0.009659f, -0.012910f, -0.006024f, 0.024044f, -0.000360f, 0.001628f, 0.011042f, -0.007218f, 0.012258f, -0.011646f, -0.022772f, -0.014125f, 0.022748f, -0.017955f, -0.013886f, 0.001862f, -0.018593f, -0.019245f, 0.027758f, -0.027561f, 0.044098f, 0.010194f, -0.020093f, 0.019922f, 0.002715f, -0.032516f, 0.002507f, -0.005448f, -0.006156f, 0.016111f, -0.000881f, -0.018884f, 0.037460f, -0.022232f, -0.009185f, 0.020059f, 0.005920f, -0.007772f, 0.000598f, 0.006537f, -0.001005f, -0.001112f, -0.004288f, 0.009187f, 0.015344f, -0.000118f, -0.026599f, 0.019265f, -0.013902f, -0.001535f, 0.022062f, -0.000984f, -0.007243f, -0.000422f, -0.019768f, 0.009881f, 0.006334f, + -0.001657f, 0.000051f, 0.008415f, -0.019259f, 0.001881f, -0.006849f, 0.002411f, 0.007433f, 0.002514f, -0.008405f, 0.019024f, -0.028529f, 0.004199f, 0.002948f, -0.001489f, 0.003107f, -0.003631f, -0.016274f, 0.018044f, -0.008516f, 0.013038f, -0.000169f, -0.001532f, 0.016139f, 0.006686f, -0.014206f, 0.005739f, -0.007350f, -0.005502f, 0.002794f, 0.010978f, 0.010269f, -0.003655f, -0.014027f, 0.007507f, -0.008144f, -0.062538f, -0.075206f, 0.063432f, 0.256890f, 0.100519f, 0.117856f, 0.001619f, -0.240515f, -0.177107f, -0.092588f, -0.141128f, 0.063333f, 0.121575f, 0.050131f, 0.214906f, 0.121602f, -0.008052f, 0.050517f, -0.108605f, -0.219157f, -0.087427f, -0.152215f, -0.024295f, 0.105483f, 0.088892f, 0.080451f, 0.133978f, 0.082660f, 0.022772f, 0.036819f, -0.009925f, -0.155929f, -0.068869f, -0.056142f, -0.215427f, 0.039996f, 0.028306f, -0.095660f, 0.155273f, 0.153633f, -0.005179f, 0.194377f, 0.095623f, -0.090239f, 0.060372f, -0.089711f, -0.186731f, -0.014781f, -0.112766f, -0.163426f, 0.028961f, 0.017530f, -0.009686f, 0.152460f, 0.147051f, 0.087823f, 0.130914f, 0.079562f, -0.050797f, -0.057295f, + -0.101878f, -0.174692f, -0.128853f, -0.061477f, -0.057573f, 0.031397f, 0.098773f, 0.067500f, 0.108513f, 0.163771f, 0.063802f, -0.021477f, -0.020377f, -0.113199f, -0.091342f, 0.008444f, -0.104862f, -0.047607f, 0.057076f, 0.014101f, 0.071424f, 0.057412f, -0.029101f, 0.019184f, -0.005761f, -0.039041f, 0.008794f, -0.017390f, -0.017533f, 0.036279f, 0.012716f, 0.015409f, 0.048360f, -0.027609f, -0.010579f, 0.026273f, -0.035757f, -0.029395f, 0.013845f, -0.085945f, -0.014121f, 0.029641f, -0.069150f, 0.034087f, 0.043547f, 0.004760f, 0.109045f, 0.103657f, 0.024047f, 0.042180f, -0.029972f, -0.092328f, -0.046129f, -0.122923f, -0.139469f, -0.079078f, -0.033426f, 0.026701f, 0.133573f, 0.154601f, 0.162073f, 0.143875f, 0.082390f, -0.017625f, -0.089962f, -0.142717f, -0.199087f, -0.170387f, -0.093493f, -0.024013f, 0.080935f, 0.144724f, 0.144592f, 0.129207f, 0.084328f, -0.015257f, -0.025241f, -0.040827f, -0.061691f, -0.043854f, -0.038289f, -0.045626f, -0.024071f, -0.012222f, -0.010065f, 0.010202f, 0.028290f, 0.036998f, 0.048388f, 0.044559f, 0.035706f, 0.016673f, 0.004294f, -0.014880f, -0.019821f, -0.021536f, + -0.012019f, -0.006727f, 0.000043f, -0.001458f}, + {0.001000f, 0.006407f, -0.008711f, -0.007089f, -0.001217f, 0.006868f, 0.010120f, -0.004765f, 0.005910f, -0.003272f, -0.008428f, -0.002310f, -0.004711f, 0.002771f, -0.001160f, -0.004072f, 0.003734f, 0.005669f, 0.001270f, 0.006853f, -0.012556f, -0.013566f, -0.008717f, 0.001264f, -0.000034f, -0.002318f, 0.000654f, 0.004143f, -0.001357f, 0.005594f, 0.004620f, -0.005925f, 0.002255f, -0.000442f, 0.007242f, 0.006681f, 0.002518f, -0.007095f, 0.004652f, -0.004226f, 0.002365f, 0.004659f, -0.011341f, 0.012393f, 0.018195f, 0.002385f, 0.008244f, -0.006697f, -0.001356f, -0.006287f, -0.003271f, 0.005641f, -0.001887f, -0.006502f, -0.001728f, -0.004092f, 0.003132f, -0.003991f, -0.003635f, 0.000369f, 0.003323f, -0.003308f, -0.003743f, -0.001616f, 0.006461f, 0.005826f, -0.004924f, -0.001805f, -0.005818f, 0.001344f, 0.007676f, 0.002140f, -0.002817f, -0.003664f, 0.002885f, -0.001026f, -0.005238f, -0.001905f, -0.003539f, -0.000502f, -0.001900f, 0.003043f, 0.002838f, 0.001534f, -0.001687f, -0.002313f, 0.005172f, -0.000695f, 0.001403f, 0.002694f, -0.000777f, -0.000065f, -0.001079f, 0.001587f, 0.000204f, 0.000405f, + -0.001521f, 0.000222f, -0.000486f, -0.001497f, 0.000068f, -0.000225f, 0.001112f, 0.002736f, -0.001522f, 0.000644f, -0.000301f, 0.001337f, 0.001619f, -0.000384f, -0.000676f, -0.000331f, -0.000091f, -0.001445f, -0.000618f, 0.000663f, -0.000565f, 0.000288f, -0.000040f, 0.001225f, 0.000256f, 0.027993f, 0.012883f, -0.000972f, 0.005860f, 0.005320f, -0.006716f, -0.003295f, 0.007761f, 0.003528f, 0.008446f, -0.006146f, 0.012283f, 0.004611f, -0.012131f, 0.009618f, 0.000505f, -0.000225f, -0.006407f, 0.007035f, -0.013118f, -0.011257f, -0.002421f, -0.004008f, -0.002189f, -0.004027f, 0.001505f, -0.002449f, -0.005465f, -0.003951f, 0.004545f, -0.004989f, 0.003168f, 0.002000f, 0.001258f, -0.005507f, 0.007691f, -0.016152f, -0.002862f, -0.000103f, -0.002854f, -0.002044f, 0.001364f, 0.002996f, -0.005206f, 0.004099f, -0.006304f, 0.005984f, 0.001868f, 0.001294f, 0.006157f, -0.004389f, -0.001088f, 0.002486f, 0.009651f, 0.002375f, 0.004025f, -0.002259f, -0.008448f, -0.011769f, 0.002118f, 0.006348f, 0.008280f, -0.003441f, -0.013176f, 0.001923f, -0.005415f, -0.003694f, -0.003086f, 0.003608f, 0.000336f, 0.012805f, + -0.000432f, 0.004287f, 0.002467f, -0.001980f, -0.003395f, -0.003619f, -0.013467f, -0.003980f, -0.002247f, -0.001865f, -0.002623f, 0.002454f, 0.006664f, 0.001834f, 0.006318f, -0.000115f, -0.000661f, -0.002083f, 0.001694f, 0.002278f, -0.000701f, -0.002646f, 0.002200f, -0.001387f, 0.000828f, -0.001185f, 0.001113f, -0.001978f, -0.001254f, 0.001769f, 0.000526f, 0.000974f, -0.000762f, 0.000577f, -0.001297f, 0.015061f, 0.003529f, -0.012754f, -0.014423f, 0.003940f, -0.004374f, -0.011987f, 0.013617f, -0.006690f, -0.002187f, -0.001873f, 0.010689f, 0.002224f, -0.006135f, 0.007458f, -0.005755f, 0.011282f, -0.015575f, -0.010320f, 0.012482f, -0.012995f, -0.013060f, -0.005277f, 0.010676f, 0.004643f, 0.005135f, -0.001264f, 0.009572f, 0.005753f, -0.000946f, -0.012598f, 0.003446f, -0.003515f, 0.004571f, 0.003976f, 0.003472f, 0.010904f, 0.002972f, -0.010777f, 0.001035f, 0.007473f, 0.011047f, 0.003691f, -0.005978f, -0.001441f, -0.008839f, 0.003784f, -0.015716f, -0.000632f, 0.017076f, 0.000898f, 0.001877f, -0.008748f, -0.010758f, 0.001646f, 0.002414f, 0.012510f, -0.002671f, 0.001066f, 0.001375f, -0.001863f, + 0.001346f, 0.004152f, 0.000805f, 0.008800f, -0.002328f, 0.005843f, 0.000930f, 0.001575f, 0.001125f, 0.010329f, 0.000499f, -0.001446f, 0.001979f, -0.002208f, -0.006918f, -0.003724f, -0.007133f, -0.000166f, 0.013086f, 0.002731f, -0.004183f, -0.001459f, -0.007350f, 0.004230f, -0.005736f, -0.004078f, 0.001494f, 0.000225f, 0.000520f, -0.003343f, -0.004662f, -0.000969f, 0.001263f, -0.001581f, 0.002813f, -0.000287f, 0.000086f, 0.002684f, 0.001761f, 0.002705f, 0.002315f, -0.000007f, 0.000980f, -0.002154f, 0.000222f, -0.001907f, -0.001974f, 0.001487f, 0.001851f, 0.003110f, 0.002343f, -0.001459f, -0.000273f, 0.001665f, -0.001084f, -0.002316f, 0.001447f, 0.000377f, -0.034626f, -0.022715f, -0.004934f, 0.003709f, 0.005639f, 0.000523f, 0.000012f, -0.013307f, -0.000759f, -0.002950f, -0.002157f, 0.000226f, -0.003310f, -0.001592f, -0.009734f, 0.005018f, -0.020547f, -0.007601f, 0.001912f, -0.004205f, -0.006234f, -0.003675f, -0.011661f, -0.006014f, -0.004805f, -0.005634f, 0.002663f, -0.009148f, -0.004924f, 0.011184f, 0.007406f, 0.000695f, 0.005476f, 0.003906f, -0.003611f, -0.007603f, 0.004549f, 0.016735f, + 0.001981f, 0.002044f, -0.006545f, -0.005980f, 0.005018f, -0.014447f, -0.007578f, 0.015888f, -0.014498f, 0.004348f, -0.003395f, -0.007407f, 0.003453f, 0.001021f, -0.003973f, 0.000893f, 0.002532f, -0.005098f, 0.000132f, -0.001049f, 0.009923f, 0.008679f, 0.001375f, 0.002305f, 0.004353f, -0.000334f, -0.001831f, -0.003438f, -0.020149f, 0.009758f, 0.006201f, -0.005552f, -0.000132f, -0.008509f, -0.002216f, 0.001168f, -0.006104f, 0.002774f, -0.007424f, -0.004215f, -0.008657f, -0.013009f, 0.008628f, -0.002500f, 0.000476f, -0.010998f, -0.002646f, 0.001391f, 0.001913f, -0.002917f, -0.000411f, -0.000630f, -0.002931f, -0.005700f, 0.001004f, -0.002937f, 0.002542f, -0.000473f, -0.001333f, -0.001188f, -0.000495f, 0.002758f, 0.000584f, -0.004222f, 0.000898f, -0.001283f, -0.000246f, 0.001334f, 0.000734f, -0.001111f, 0.001098f, -0.003316f, 0.001876f, -0.003015f, -0.000828f, -0.029965f, 0.004614f, 0.007031f, -0.001894f, -0.002625f, -0.016598f, -0.006788f, 0.004543f, -0.014815f, -0.014207f, 0.002902f, -0.013516f, -0.006953f, -0.000356f, -0.008153f, 0.004589f, -0.006427f, 0.010119f, -0.005347f, -0.003527f, 0.003199f, + 0.007070f, 0.013110f, 0.008175f, -0.014612f, -0.000814f, -0.001085f, 0.007181f, 0.010803f, 0.018333f, -0.008159f, -0.007242f, 0.009514f, -0.010056f, 0.002326f, 0.002850f, 0.015509f, 0.005655f, 0.008656f, -0.011575f, -0.005104f, -0.015793f, 0.012466f, 0.013019f, 0.015005f, -0.000275f, -0.003229f, -0.010096f, -0.002110f, 0.010047f, -0.004681f, -0.006521f, -0.005969f, -0.007940f, 0.001706f, 0.001809f, 0.002367f, -0.010853f, -0.000145f, -0.010636f, -0.000573f, -0.001637f, 0.004313f, 0.003673f, -0.003249f, -0.004861f, -0.013416f, -0.000844f, -0.001075f, 0.008206f, -0.005182f, 0.013676f, -0.007833f, 0.001647f, 0.006369f, 0.012416f, -0.009656f, 0.002820f, 0.006542f, -0.011289f, 0.005620f, -0.000073f, 0.013815f, 0.004535f, 0.003092f, 0.008419f, -0.000861f, 0.002250f, 0.006531f, 0.002565f, 0.000069f, -0.002494f, 0.000106f, 0.002673f, -0.000894f, 0.003416f, 0.005349f, 0.004294f, -0.002028f, 0.002343f, 0.000337f, -0.001540f, 0.002139f, 0.002730f, -0.000005f, 0.001200f, 0.003422f, 0.002426f, 0.002759f, 0.001231f, -0.001349f, -0.002324f, 0.002637f, -0.002489f, 0.002625f, -0.001480f, 0.000190f, + 0.003200f, 0.002508f, -0.000888f, 0.037072f, 0.031805f, -0.001155f, 0.000957f, 0.016528f, 0.002267f, 0.008088f, -0.004950f, 0.009066f, -0.006986f, 0.016685f, 0.005726f, 0.000012f, 0.003418f, 0.001151f, 0.021147f, 0.014259f, -0.013849f, -0.011556f, 0.004502f, 0.002218f, -0.004433f, -0.003027f, 0.002689f, 0.010118f, 0.007534f, 0.004608f, 0.001094f, 0.005331f, -0.003523f, -0.000300f, 0.011653f, -0.012817f, 0.005144f, 0.015529f, 0.011673f, 0.021120f, -0.002074f, -0.003241f, -0.001837f, 0.001308f, -0.006743f, 0.022952f, 0.021069f, 0.015022f, -0.006999f, -0.002125f, 0.008963f, 0.007268f, -0.006424f, 0.001404f, 0.012061f, -0.004540f, -0.005639f, 0.007636f, -0.022333f, -0.002632f, 0.001241f, 0.003249f, -0.007556f, -0.014642f, 0.005968f, 0.009949f, -0.011875f, -0.004465f, -0.012914f, 0.004772f, 0.000912f, -0.002762f, -0.002774f, -0.011316f, 0.018887f, -0.005020f, 0.002544f, -0.019258f, -0.004557f, -0.009225f, 0.022459f, -0.004020f, -0.003081f, 0.009942f, 0.004627f, -0.000124f, -0.007163f, 0.006583f, -0.004712f, -0.006759f, 0.010415f, 0.009628f, -0.000143f, 0.005985f, 0.000223f, -0.002839f, + 0.005528f, -0.000937f, 0.002160f, -0.001872f, -0.002434f, -0.000702f, 0.004302f, -0.003277f, -0.002432f, -0.000232f, -0.003255f, 0.001070f, -0.002934f, -0.001794f, 0.000284f, -0.000635f, 0.004275f, 0.000030f, 0.001258f, 0.002618f, 0.002745f, 0.000614f, 0.001423f, 0.002139f, 0.005697f, 0.000964f, 0.005370f, 0.000786f, 0.002663f, 0.003781f, 0.024407f, -0.000930f, 0.015419f, 0.021105f, -0.011152f, -0.025952f, 0.001077f, 0.019770f, -0.015302f, 0.013887f, -0.004141f, -0.018778f, -0.008688f, 0.018945f, -0.018505f, -0.016310f, 0.011879f, -0.018863f, 0.006277f, 0.009016f, 0.007394f, -0.005344f, 0.011422f, 0.003234f, 0.002136f, 0.007365f, -0.012069f, 0.016442f, 0.008077f, 0.007144f, -0.003404f, -0.001827f, 0.030622f, -0.010721f, 0.001891f, 0.007978f, 0.015404f, -0.020946f, -0.017258f, -0.016063f, 0.000608f, 0.001189f, -0.001087f, 0.009749f, 0.003022f, 0.017401f, 0.006992f, 0.010197f, -0.001651f, 0.001363f, -0.008615f, 0.015550f, -0.007055f, 0.015337f, -0.008379f, -0.013236f, 0.022810f, 0.018532f, -0.026258f, -0.023171f, -0.015241f, -0.011917f, 0.008250f, 0.001301f, -0.005328f, 0.012068f, + 0.013306f, -0.015993f, 0.009398f, -0.001305f, -0.032011f, -0.010584f, -0.016147f, -0.014649f, 0.005529f, -0.004996f, 0.010497f, -0.002436f, 0.001567f, 0.019126f, 0.019484f, -0.001827f, 0.005116f, -0.001716f, 0.003022f, 0.002737f, -0.006607f, 0.005469f, 0.001590f, -0.000271f, 0.016439f, 0.004922f, -0.000130f, 0.000470f, -0.002951f, 0.004838f, -0.000551f, 0.003176f, -0.003573f, -0.000221f, -0.003768f, 0.000976f, 0.004269f, 0.001324f, -0.000026f, -0.000541f, 0.003733f, 0.002386f, -0.002380f, 0.000297f, -0.000117f, 0.000536f, 0.001889f, 0.000810f, -0.013917f, -0.019393f, 0.011623f, -0.011125f, -0.008255f, -0.006887f, -0.022648f, -0.002313f, 0.010048f, -0.006049f, -0.001405f, -0.008189f, 0.018591f, 0.002950f, 0.011829f, 0.009135f, -0.015047f, 0.015498f, 0.023054f, -0.006993f, -0.009462f, 0.002569f, -0.004040f, 0.010057f, -0.028580f, 0.011029f, 0.024703f, -0.003194f, -0.008118f, -0.006952f, 0.010732f, 0.022250f, -0.005276f, 0.005695f, -0.009903f, 0.015279f, -0.018304f, -0.006901f, 0.003540f, -0.002750f, -0.014204f, 0.026238f, 0.018409f, 0.013913f, -0.005829f, -0.019568f, -0.002433f, -0.027845f, + 0.004823f, -0.001912f, -0.000900f, -0.000459f, -0.004222f, 0.015285f, 0.012832f, -0.019300f, 0.010860f, -0.011502f, 0.016071f, -0.001341f, -0.003257f, -0.001198f, -0.017020f, -0.003113f, -0.015526f, -0.034241f, -0.001558f, 0.004167f, 0.002720f, -0.013053f, -0.000441f, -0.003628f, -0.025674f, 0.000672f, 0.022313f, -0.013940f, 0.005849f, 0.007436f, -0.002816f, 0.001742f, -0.006588f, -0.003745f, 0.005252f, 0.006512f, 0.007011f, -0.001611f, -0.004461f, -0.001541f, -0.004795f, 0.004107f, 0.001952f, -0.003883f, -0.001151f, -0.003555f, -0.004039f, -0.000362f, -0.003627f, -0.005363f, 0.003436f, -0.000974f, -0.004222f, 0.003549f, -0.002949f, 0.002961f, 0.004268f, 0.001979f, 0.004104f, 0.003076f, -0.000017f, 0.002920f, 0.009237f, 0.004634f, -0.004547f, -0.002947f, -0.005224f, 0.000221f, -0.006768f, 0.003804f, -0.000363f, 0.005472f, -0.001360f, 0.004314f, -0.000666f, -0.002680f, 0.008731f, 0.004405f, -0.035975f, 0.002400f, 0.021192f, 0.011361f, -0.016320f, -0.013515f, 0.026532f, 0.005964f, 0.006068f, -0.005337f, 0.006966f, -0.000405f, -0.017519f, -0.004738f, -0.018407f, 0.008637f, -0.010911f, -0.001822f, + -0.017931f, -0.020132f, -0.026749f, 0.016689f, 0.011492f, -0.008758f, -0.009449f, 0.007421f, -0.024552f, -0.002387f, 0.001997f, 0.005831f, 0.010989f, 0.005167f, 0.000832f, -0.008676f, 0.003731f, -0.007978f, 0.006654f, -0.007658f, 0.004442f, 0.002154f, -0.007681f, -0.010289f, -0.019210f, -0.012898f, 0.005034f, -0.033152f, -0.008863f, 0.017986f, 0.009779f, -0.004114f, 0.043246f, -0.006372f, 0.020108f, 0.019622f, -0.031281f, 0.001918f, -0.004037f, -0.026668f, -0.013745f, -0.014735f, 0.000600f, 0.002979f, 0.029928f, -0.004923f, 0.003001f, 0.020066f, 0.015115f, -0.003650f, 0.020248f, -0.009663f, -0.007245f, -0.013565f, -0.017688f, -0.026080f, -0.009725f, 0.014685f, -0.028131f, -0.014543f, 0.021985f, 0.015807f, -0.009387f, 0.019849f, -0.008752f, -0.001499f, -0.000748f, 0.009488f, -0.006107f, 0.009456f, -0.005842f, 0.008074f, -0.002225f, 0.003269f, -0.003700f, 0.006513f, 0.006503f, 0.002643f, -0.000970f, 0.007368f, -0.004685f, -0.005591f, 0.005995f, -0.001745f, 0.006530f, 0.004540f, 0.003320f, 0.004193f, 0.002779f, 0.001116f, -0.010738f, -0.002121f, 0.000060f, 0.002936f, -0.002735f, -0.004711f, + -0.003680f, -0.010538f, 0.004127f, -0.000317f, 0.006756f, 0.003616f, 0.006583f, 0.004778f, 0.001538f, 0.002125f, 0.024777f, -0.004263f, 0.007960f, -0.012067f, 0.007113f, 0.010474f, -0.006393f, 0.008971f, -0.013785f, -0.015031f, 0.022996f, 0.012630f, 0.014845f, 0.018448f, -0.000101f, -0.015027f, 0.019866f, -0.017322f, -0.023402f, 0.000428f, 0.021936f, -0.003056f, -0.019013f, 0.002698f, 0.025820f, -0.003619f, 0.007090f, 0.002607f, 0.036227f, 0.002400f, 0.007755f, 0.017988f, -0.002271f, -0.009135f, -0.017351f, 0.002574f, -0.002402f, -0.016555f, 0.000550f, -0.009699f, 0.006660f, 0.024694f, 0.000254f, -0.014677f, -0.004383f, -0.013596f, -0.007300f, -0.001995f, -0.005785f, 0.003472f, -0.018302f, 0.019819f, -0.010374f, 0.033379f, -0.008361f, -0.023979f, 0.001400f, 0.001337f, 0.011810f, 0.005202f, 0.006402f, -0.024590f, -0.020049f, 0.014682f, -0.020877f, -0.028932f, 0.008382f, 0.005965f, -0.006586f, 0.031661f, -0.025579f, -0.035300f, 0.013313f, -0.024039f, 0.002364f, 0.003548f, 0.000732f, -0.023101f, -0.014147f, -0.030102f, 0.010438f, -0.002835f, -0.001626f, -0.004460f, -0.013449f, -0.005845f, + -0.010189f, -0.004828f, -0.003921f, 0.011807f, -0.008797f, 0.009129f, 0.003295f, 0.009422f, 0.001597f, 0.001441f, -0.012309f, -0.004254f, 0.003423f, -0.003717f, -0.013436f, 0.002935f, -0.002122f, -0.004991f, -0.004683f, 0.004583f, -0.005354f, 0.006094f, -0.003034f, 0.007343f, -0.001280f, 0.003893f, -0.006968f, -0.006604f, -0.000151f, 0.000839f, -0.002431f, 0.010962f, -0.009221f, -0.008530f, -0.005749f, 0.005495f, 0.005684f, -0.006837f, 0.001645f, -0.019432f, 0.010839f, 0.000967f, 0.026488f, 0.027530f, 0.040043f, 0.018103f, 0.008615f, 0.005428f, 0.013306f, -0.013669f, 0.015360f, -0.024150f, 0.011865f, -0.002463f, -0.001880f, -0.046195f, -0.017675f, -0.007672f, 0.015852f, -0.002076f, 0.003965f, 0.004892f, 0.004337f, -0.023660f, 0.024528f, -0.001026f, 0.010076f, 0.000708f, 0.022902f, -0.024546f, 0.017143f, -0.012118f, -0.000433f, 0.018329f, -0.020778f, -0.009454f, -0.022657f, -0.009179f, -0.025248f, 0.023028f, 0.017147f, 0.030972f, -0.001382f, 0.007250f, -0.028162f, 0.006344f, -0.029203f, 0.028410f, 0.008207f, -0.004738f, 0.027143f, 0.027452f, 0.014220f, -0.016526f, -0.024381f, -0.035415f, + -0.001434f, -0.012607f, -0.017667f, 0.019055f, -0.005146f, 0.044510f, -0.032927f, -0.012160f, 0.025632f, -0.026717f, -0.010459f, 0.006024f, 0.000587f, -0.003989f, -0.025427f, 0.011553f, 0.004457f, -0.014007f, 0.012754f, 0.026783f, -0.023007f, 0.025848f, 0.032430f, -0.009790f, -0.017012f, 0.013202f, -0.013035f, 0.012189f, 0.007968f, -0.013645f, -0.010439f, -0.002798f, -0.004115f, 0.018843f, 0.006489f, -0.003330f, -0.009112f, -0.015163f, -0.008424f, 0.004653f, -0.009542f, 0.004499f, 0.009213f, 0.005745f, -0.006395f, 0.004845f, -0.005223f, 0.007124f, 0.004776f, 0.007962f, 0.004958f, 0.000269f, -0.008429f, 0.005456f, 0.008540f, -0.008673f, 0.000406f, 0.002859f, 0.003211f, 0.007218f, 0.000718f, -0.001046f, 0.008113f, 0.009811f, 0.001980f, -0.004620f, -0.007698f, -0.000287f, 0.006900f, 0.008366f, 0.005866f, 0.041474f, -0.009440f, 0.005805f, -0.002177f, -0.013741f, 0.018667f, -0.006879f, 0.006941f, 0.002172f, 0.026718f, -0.008463f, 0.031148f, 0.000452f, 0.015524f, 0.013681f, -0.002419f, -0.010158f, -0.030266f, 0.014312f, 0.031575f, 0.001579f, -0.000182f, 0.021810f, 0.018598f, -0.001428f, + 0.003456f, 0.037464f, 0.023549f, -0.006892f, 0.008201f, 0.024597f, -0.006202f, -0.027440f, 0.000672f, -0.019954f, -0.003114f, -0.012689f, 0.001174f, -0.037927f, -0.011284f, -0.013890f, 0.000647f, 0.007803f, 0.007968f, 0.036674f, 0.040659f, 0.021325f, -0.028132f, -0.016715f, 0.022846f, 0.031939f, 0.006771f, -0.029408f, -0.004826f, -0.007066f, -0.030555f, -0.019417f, -0.023142f, 0.028128f, -0.010586f, 0.003739f, -0.028771f, 0.041684f, 0.030838f, -0.003613f, 0.012731f, 0.069277f, -0.003545f, -0.014381f, -0.026725f, -0.001769f, 0.018411f, 0.014453f, -0.010785f, 0.020768f, 0.041495f, -0.017964f, 0.026447f, -0.012240f, 0.008622f, -0.016852f, -0.009110f, -0.014569f, -0.018910f, -0.009876f, 0.012277f, -0.000238f, -0.004214f, 0.002815f, 0.005048f, 0.022208f, -0.002564f, 0.002027f, -0.000350f, -0.010570f, -0.001215f, -0.003922f, 0.001979f, 0.008840f, -0.005975f, -0.003015f, -0.007384f, -0.003692f, 0.002431f, 0.002512f, -0.002753f, -0.015055f, -0.013946f, -0.005001f, -0.017152f, -0.015137f, -0.002846f, 0.012917f, 0.011532f, 0.009798f, 0.002110f, -0.002630f, 0.000441f, 0.005316f, 0.004533f, -0.002146f, + 0.003062f, 0.001996f, 0.021084f, 0.001691f, -0.013155f, -0.018137f, -0.029737f, 0.038705f, -0.024188f, 0.029121f, -0.021223f, -0.032439f, 0.001814f, 0.040096f, 0.026224f, -0.030155f, -0.019723f, 0.006600f, 0.006187f, 0.013359f, -0.002126f, 0.026630f, 0.014577f, 0.035185f, -0.012721f, -0.006258f, -0.001037f, -0.007191f, -0.033987f, -0.025534f, -0.007688f, 0.035365f, 0.007633f, 0.002476f, 0.001408f, -0.033588f, -0.037670f, -0.029602f, 0.015315f, 0.016945f, -0.012762f, -0.008884f, 0.003492f, 0.003763f, -0.020013f, 0.005475f, 0.037815f, 0.006255f, 0.023750f, 0.022826f, 0.016826f, 0.040046f, 0.058157f, 0.018689f, 0.001168f, 0.007990f, 0.023057f, -0.012468f, -0.006287f, 0.015038f, -0.005076f, 0.007869f, -0.005214f, 0.024671f, 0.009025f, 0.017362f, -0.004787f, -0.007048f, 0.012863f, 0.033080f, -0.002301f, -0.027828f, 0.017695f, -0.043333f, -0.049678f, -0.017455f, 0.025894f, -0.017040f, -0.049133f, -0.030526f, -0.012412f, 0.017572f, 0.012400f, -0.027058f, 0.047918f, -0.015791f, -0.033401f, 0.008321f, 0.013189f, -0.011457f, 0.016717f, -0.017732f, -0.006705f, 0.005749f, 0.004588f, -0.009543f, + 0.008540f, 0.001127f, 0.015172f, -0.008826f, -0.017954f, -0.010986f, 0.003091f, -0.004485f, -0.003573f, -0.001941f, 0.000200f, -0.001970f, 0.012305f, -0.002628f, 0.002093f, -0.005493f, 0.005699f, 0.009570f, 0.002023f, 0.009146f, 0.003057f, -0.015627f, -0.006622f, -0.000504f, -0.012994f, -0.015963f, 0.007437f, 0.010239f, -0.008421f, -0.017004f, -0.018037f, 0.006788f, 0.003017f, -0.001397f, 0.011658f, -0.007370f, 0.015665f, -0.069447f, 0.003697f, 0.035253f, -0.006557f, -0.008223f, 0.042689f, -0.022888f, -0.023753f, -0.030152f, -0.010090f, -0.010167f, -0.020201f, 0.005996f, 0.009710f, 0.016509f, 0.011550f, -0.009627f, -0.007716f, -0.003379f, -0.008638f, 0.002891f, 0.007949f, 0.034833f, -0.015027f, -0.045067f, 0.023997f, 0.000213f, -0.001446f, -0.037482f, 0.016599f, 0.007299f, -0.004010f, 0.042738f, -0.012359f, 0.004662f, -0.004093f, 0.018855f, 0.022589f, -0.024983f, -0.002600f, -0.014012f, -0.001774f, 0.012790f, -0.009603f, 0.019578f, -0.030664f, -0.025470f, -0.016270f, -0.027214f, -0.004887f, 0.002480f, 0.004066f, -0.038067f, -0.025181f, 0.018124f, 0.030548f, -0.014580f, -0.017334f, 0.016142f, + -0.035002f, -0.031586f, -0.030735f, 0.033592f, -0.056869f, 0.018404f, -0.003236f, -0.033465f, -0.010856f, 0.028222f, 0.071894f, -0.009682f, -0.020100f, 0.023732f, 0.055077f, 0.019827f, -0.012676f, -0.013440f, -0.002742f, 0.015095f, -0.001251f, 0.007018f, 0.032692f, 0.002114f, -0.012526f, -0.023300f, 0.019060f, -0.027482f, -0.018934f, -0.013719f, 0.009465f, -0.011381f, -0.020100f, -0.012655f, -0.012322f, -0.000256f, -0.014892f, 0.004942f, -0.011595f, -0.001113f, -0.003959f, 0.013851f, -0.010794f, -0.008409f, -0.021873f, -0.006573f, -0.004088f, -0.007421f, 0.020307f, -0.015295f, -0.019692f, -0.001394f, -0.017314f, -0.015764f, -0.007387f, 0.002149f, 0.015152f, -0.002192f, -0.006843f, -0.003153f, -0.010456f, 0.007011f, -0.020838f, -0.001977f, 0.021013f, 0.009914f, 0.013658f, -0.005588f, 0.005014f, 0.006593f, -0.005382f, -0.008319f, -0.011886f, 0.003890f, 0.009975f, -0.004402f, -0.038846f, -0.062601f, -0.003405f, 0.071238f, -0.011234f, -0.005380f, -0.047059f, -0.003835f, -0.002960f, 0.004653f, 0.015829f, 0.001880f, 0.013187f, 0.000658f, -0.000596f, -0.033954f, 0.004970f, 0.030365f, -0.020525f, 0.037725f, + -0.015858f, -0.002636f, -0.033540f, 0.021301f, -0.016636f, -0.011194f, -0.038737f, -0.052999f, 0.027064f, -0.026018f, -0.025199f, 0.008959f, 0.005536f, -0.011641f, 0.002712f, 0.029560f, -0.008742f, -0.028772f, -0.017582f, -0.036763f, -0.004370f, 0.010142f, 0.025346f, 0.004893f, -0.007349f, -0.006536f, -0.015029f, 0.008468f, 0.026307f, 0.004061f, -0.016351f, 0.029561f, -0.028518f, 0.002786f, -0.049194f, -0.014784f, -0.009601f, 0.060433f, -0.038330f, 0.012130f, -0.012429f, 0.007702f, -0.007040f, -0.007053f, 0.001201f, 0.024419f, 0.007508f, -0.045072f, 0.049277f, 0.014780f, 0.017605f, 0.006094f, -0.019624f, -0.015275f, -0.005619f, 0.005954f, -0.001091f, 0.009564f, -0.026640f, -0.028031f, -0.004533f, 0.013243f, 0.029928f, -0.018827f, 0.025380f, -0.006537f, 0.009883f, -0.020359f, 0.011420f, -0.033001f, 0.036571f, 0.001298f, 0.004054f, 0.011701f, 0.016476f, 0.001288f, -0.022869f, -0.011343f, 0.006119f, -0.021992f, 0.005834f, 0.009848f, 0.009102f, -0.013223f, -0.008062f, 0.021584f, 0.003942f, -0.022615f, -0.003287f, 0.018662f, -0.007252f, -0.027752f, 0.030920f, -0.008798f, 0.011882f, -0.005612f, + -0.009021f, -0.014978f, 0.009408f, 0.002248f, 0.009782f, 0.001110f, 0.016506f, 0.001580f, 0.011814f, -0.006215f, 0.000637f, 0.007093f, -0.004433f, -0.007003f, -0.031020f, -0.017934f, 0.066114f, -0.007918f, 0.005479f, -0.034112f, 0.030839f, -0.017502f, 0.022701f, -0.017664f, 0.039930f, 0.004364f, 0.004051f, -0.019041f, -0.015916f, 0.023682f, 0.051761f, -0.021155f, -0.031574f, 0.015300f, -0.012440f, 0.034578f, 0.043132f, 0.021721f, -0.006489f, 0.027146f, -0.017739f, -0.016029f, 0.036237f, 0.050373f, -0.055846f, 0.005066f, 0.008330f, 0.009954f, -0.018899f, -0.000813f, 0.022549f, -0.055937f, 0.016964f, 0.033496f, 0.012414f, -0.024597f, -0.006943f, 0.041020f, 0.033177f, 0.011551f, -0.019067f, -0.024377f, -0.048851f, 0.070217f, 0.012619f, 0.036362f, -0.005213f, -0.014306f, 0.007806f, 0.021393f, 0.000658f, -0.000585f, -0.056777f, 0.009337f, 0.053554f, -0.009024f, 0.051318f, -0.030243f, -0.013833f, -0.020919f, 0.011964f, 0.048833f, -0.015216f, -0.000838f, 0.043662f, 0.053891f, -0.017407f, -0.038407f, -0.034778f, -0.029739f, -0.014128f, -0.012228f, 0.030667f, -0.036986f, 0.020447f, 0.023721f, + -0.008556f, 0.003247f, 0.024024f, -0.004058f, -0.013882f, 0.015068f, 0.010193f, 0.008321f, 0.022078f, 0.005475f, -0.004010f, 0.020653f, 0.007089f, 0.009097f, 0.010084f, -0.002819f, 0.001119f, -0.003932f, 0.008578f, -0.036197f, -0.010347f, 0.002198f, -0.007312f, 0.015001f, -0.027803f, -0.002477f, 0.000179f, 0.010476f, -0.000835f, 0.016266f, 0.010677f, -0.006775f, 0.021928f, 0.011963f, -0.007900f, 0.016652f, 0.017083f, 0.000862f, -0.011396f, 0.009124f, 0.016605f, 0.010933f, -0.002754f, -0.015524f, -0.008151f, 0.004982f, 0.002300f, 0.003348f, 0.026369f, 0.019397f, 0.046537f, -0.014077f, 0.033705f, -0.017839f, -0.007114f, 0.031325f, -0.001055f, 0.042698f, -0.051537f, 0.032289f, 0.005886f, 0.014339f, -0.020733f, 0.015627f, 0.038445f, 0.074759f, -0.017217f, 0.018979f, -0.001057f, -0.049633f, 0.045475f, 0.004581f, 0.017766f, -0.009098f, -0.023247f, -0.008667f, -0.001930f, -0.019295f, -0.012135f, 0.063433f, 0.004400f, 0.024358f, -0.018212f, 0.044935f, 0.000198f, 0.021761f, 0.009166f, -0.026399f, -0.005679f, -0.016320f, 0.000414f, 0.008043f, 0.053121f, 0.026977f, 0.002159f, 0.006206f, + -0.001980f, -0.004536f, 0.008619f, 0.005181f, 0.033210f, 0.026990f, 0.013539f, -0.015999f, 0.023010f, 0.048497f, -0.046095f, 0.042476f, 0.006691f, 0.012639f, -0.046342f, -0.022130f, -0.058199f, -0.047037f, -0.009436f, 0.030996f, 0.025841f, -0.080679f, -0.000816f, -0.036538f, 0.018821f, 0.080019f, 0.040045f, -0.051941f, 0.027964f, -0.021556f, -0.026931f, 0.043919f, 0.022051f, -0.023083f, -0.012996f, 0.038581f, 0.031551f, 0.017061f, 0.049186f, -0.013750f, 0.030020f, 0.026339f, -0.031970f, 0.043804f, 0.011744f, 0.050894f, 0.015230f, -0.005229f, 0.029804f, -0.003625f, 0.007440f, -0.036570f, 0.026679f, -0.018108f, 0.013655f, -0.013623f, 0.005753f, 0.016168f, 0.040399f, 0.010136f, 0.024347f, 0.005680f, 0.007414f, -0.014065f, -0.003578f, -0.005458f, 0.002785f, 0.019846f, 0.016960f, 0.030159f, 0.010823f, -0.004445f, 0.004331f, -0.007992f, -0.004685f, -0.031785f, -0.005848f, 0.006912f, 0.009162f, 0.025789f, 0.023080f, 0.020919f, 0.026131f, -0.067552f, -0.103699f, -0.027198f, -0.011670f, -0.025754f, 0.005769f, 0.034853f, -0.036554f, 0.052644f, 0.019321f, -0.076258f, -0.058386f, -0.011878f, + 0.041629f, 0.001321f, 0.003495f, -0.008149f, -0.024111f, -0.073848f, 0.003041f, -0.062081f, -0.051259f, 0.024932f, 0.019964f, 0.017980f, -0.008654f, -0.024218f, 0.055827f, 0.033236f, -0.023676f, -0.048496f, 0.036866f, 0.018394f, 0.008696f, -0.022948f, -0.056504f, 0.021246f, -0.026517f, 0.008228f, -0.048126f, 0.058263f, 0.001476f, -0.023711f, 0.005737f, 0.014455f, 0.048298f, 0.029893f, -0.012336f, -0.002707f, 0.016936f, 0.016426f, 0.018632f, -0.011298f, -0.075470f, -0.059695f, 0.012046f, -0.008496f, 0.044231f, -0.008807f, -0.018923f, -0.053612f, 0.061926f, 0.023402f, -0.043081f, -0.044850f, 0.063526f, 0.059143f, -0.000579f, 0.043286f, -0.005785f, 0.001131f, -0.017993f, -0.011347f, -0.034051f, 0.041688f, -0.007730f, -0.009942f, -0.018173f, 0.016953f, -0.053604f, 0.024912f, -0.015658f, -0.010503f, 0.038169f, -0.001255f, 0.006082f, 0.009147f, 0.035043f, 0.017458f, -0.014218f, 0.025531f, -0.007690f, 0.030910f, 0.012444f, -0.035664f, 0.008804f, -0.018337f, 0.016768f, -0.014968f, 0.000416f, -0.023852f, -0.011970f, 0.012403f, -0.023112f, 0.009394f, 0.007972f, 0.009663f, -0.020658f, -0.015267f, + -0.026598f, -0.023792f, 0.031105f, -0.011658f, 0.020092f, 0.012174f, -0.019009f, -0.003135f, -0.016623f, 0.000229f, -0.010541f, 0.038853f, 0.033149f, 0.022007f, 0.030963f, -0.008044f, -0.034364f, -0.039797f, -0.005637f, 0.011474f, 0.057268f, 0.034548f, -0.013223f, -0.011135f, -0.015435f, -0.028958f, -0.001769f, 0.012520f, 0.005786f, 0.036378f, 0.003564f, -0.025639f, -0.065873f, 0.103868f, 0.002618f, -0.080343f, -0.006081f, -0.029909f, 0.013587f, 0.039863f, 0.036209f, -0.044699f, -0.071729f, 0.012252f, -0.034331f, 0.010941f, -0.006995f, 0.031626f, -0.010383f, 0.004525f, 0.018789f, -0.029303f, -0.035933f, 0.003797f, 0.009432f, 0.031314f, -0.000718f, -0.050099f, 0.032953f, -0.027942f, 0.025898f, -0.024286f, -0.016534f, -0.002735f, -0.007951f, -0.053861f, 0.010118f, 0.015049f, -0.052076f, 0.022028f, -0.020468f, 0.010433f, -0.017377f, 0.050312f, 0.039175f, -0.050732f, -0.026929f, 0.034650f, 0.043417f, -0.051913f, 0.068532f, 0.004446f, 0.055182f, 0.040095f, 0.065118f, -0.020144f, -0.027639f, 0.014623f, -0.054038f, 0.008253f, 0.006826f, 0.094883f, -0.029420f, -0.089191f, 0.150566f, -0.071141f, + -0.054728f, 0.086809f, 0.039207f, -0.050651f, 0.084346f, 0.009387f, -0.068710f, 0.085443f, 0.010310f, 0.007649f, -0.014942f, 0.012551f, 0.056689f, -0.013873f, -0.019783f, -0.029523f, 0.042202f, -0.015385f, -0.010846f, -0.005944f, -0.017073f, -0.018217f, -0.026513f, 0.025329f, -0.003832f, -0.002388f, -0.009653f, -0.006555f, 0.003132f, -0.011460f, -0.019964f, 0.002502f, -0.016180f, -0.029860f, -0.031135f, 0.038532f, -0.016881f, 0.003544f, 0.035479f, -0.017178f, -0.016464f, 0.002462f, 0.017510f, 0.007550f, 0.007356f, 0.034196f, -0.021327f, 0.004898f, -0.015779f, -0.009787f, -0.007070f, 0.056585f, 0.027896f, -0.009272f, 0.007822f, -0.030092f, 0.009375f, -0.027548f, -0.017328f, 0.013212f, -0.007553f, -0.056790f, 0.034664f, 0.014207f, -0.010851f, -0.093609f, 0.013056f, 0.027918f, -0.070036f, 0.032008f, 0.018688f, -0.024689f, -0.006876f, -0.001316f, -0.017061f, -0.005722f, -0.009936f, -0.031347f, 0.001022f, -0.015666f, -0.003293f, -0.007740f, 0.015390f, 0.055816f, 0.046930f, -0.043153f, -0.004597f, 0.058751f, -0.010131f, -0.011069f, -0.059963f, 0.006929f, 0.019920f, -0.009851f, 0.051428f, 0.122845f, + -0.041141f, -0.051777f, 0.087657f, -0.005835f, -0.046969f, 0.054591f, 0.036132f, -0.028297f, -0.042165f, -0.052343f, 0.016175f, 0.028118f, -0.023115f, 0.082450f, 0.053989f, -0.102762f, -0.098427f, 0.057556f, -0.046205f, -0.060082f, 0.078228f, 0.012606f, 0.104647f, 0.050169f, -0.012426f, -0.013986f, -0.075096f, -0.058687f, 0.171745f, 0.047417f, -0.036543f, -0.082923f, 0.002569f, -0.033744f, -0.073862f, -0.011481f, 0.087101f, 0.037012f, 0.001376f, 0.071556f, 0.062762f, -0.019726f, -0.079298f, 0.012423f, 0.048000f, -0.019673f, -0.018315f, 0.099699f, 0.057577f, 0.009989f, -0.010155f, -0.051128f, -0.049895f, -0.012870f, 0.047754f, 0.019215f, -0.018935f, -0.009036f, -0.021958f, 0.018757f, -0.013989f, -0.019094f, -0.012021f, -0.002276f, 0.014618f, 0.019276f, 0.017393f, 0.007230f, -0.045180f, -0.015823f, -0.008523f, 0.017295f, -0.017301f, 0.003252f, -0.004283f, 0.042007f, -0.026593f, -0.018695f, 0.043737f, 0.012197f, -0.021417f, 0.034218f, -0.011397f, 0.010087f, 0.003209f, 0.007894f, -0.025595f, -0.006933f, 0.036155f, 0.035018f, 0.015055f, -0.013699f, 0.009917f, -0.015745f, -0.012184f, -0.009628f, + 0.019317f, -0.029077f, -0.005500f, 0.023353f, 0.093124f, 0.077307f, -0.020572f, 0.054907f, 0.005831f, -0.042831f, 0.027513f, 0.046885f, 0.015863f, 0.020213f, -0.061390f, -0.012644f, 0.007383f, 0.012343f, -0.008892f, -0.053640f, -0.019107f, 0.019190f, -0.012858f, -0.005805f, -0.045108f, 0.069405f, 0.008890f, -0.057487f, 0.032683f, 0.081501f, -0.041933f, -0.024681f, 0.012142f, 0.026786f, -0.026127f, -0.051547f, 0.044297f, 0.074095f, -0.005739f, -0.029351f, 0.009857f, 0.020861f, 0.034039f, 0.047402f, 0.003352f, 0.086419f, -0.001714f, -0.096606f, 0.000979f, -0.011035f, 0.031684f, -0.010273f, -0.078509f, -0.002360f, -0.033775f, -0.033397f, 0.047503f, 0.024666f, 0.027198f, 0.033770f, -0.070330f, -0.037097f, -0.012151f, -0.001129f, 0.028741f, 0.000810f, -0.014180f, 0.001800f, -0.023912f, -0.048285f, 0.004917f, 0.074620f, -0.038205f, 0.006940f, -0.029631f, -0.021582f, 0.051416f, -0.063109f, -0.000442f, 0.027461f, -0.021994f, 0.010137f, 0.008113f, 0.015471f, 0.018401f, -0.033429f, -0.039546f, 0.066779f, -0.013656f, -0.021928f, 0.034773f, -0.034579f, 0.021807f, 0.004101f, -0.013859f, 0.010339f, + 0.029261f, -0.005725f, 0.004192f, -0.014507f, 0.007248f, 0.001584f, -0.001647f, -0.012985f, 0.016117f, 0.007690f, -0.001311f, -0.001597f, 0.013567f, 0.010797f, -0.012082f, -0.022533f, 0.012469f, -0.001607f, 0.006491f, 0.001025f, -0.005491f, 0.011215f, 0.000611f, 0.009252f, -0.003401f, -0.002098f, -0.006183f, 0.001514f, 0.011058f, -0.002713f, 0.027135f, -0.011210f, -0.007842f, 0.000907f, -0.011388f, 0.007128f, -0.080510f, -0.115491f, -0.102131f, 0.205442f, 0.196113f, 0.195720f, 0.552552f, 0.196311f, -0.022749f, 0.036365f, -0.382052f, -0.465382f, -0.156345f, -0.261137f, -0.361876f, 0.046536f, -0.020068f, -0.060560f, 0.398572f, 0.243270f, 0.101645f, 0.622390f, 0.293871f, 0.054328f, 0.283814f, -0.067307f, -0.338580f, -0.324287f, -0.308900f, -0.428151f, -0.419142f, -0.098448f, -0.151255f, -0.246826f, 0.288292f, 0.132728f, -0.103721f, 0.416231f, 0.134534f, -0.048883f, 0.470713f, 0.428781f, 0.098871f, 0.444966f, 0.451598f, -0.017320f, 0.112226f, 0.051110f, -0.434426f, -0.504439f, -0.375560f, -0.710138f, -0.672402f, -0.403909f, -0.539308f, -0.405788f, 0.046121f, 0.333618f, 0.378714f, 0.813520f, + 0.739799f, 0.652238f, 0.702877f, 0.518345f, 0.263329f, 0.080382f, -0.056853f, -0.395940f, -0.477217f, -0.511002f, -0.575758f, -0.546403f, -0.465616f, -0.300983f, -0.218504f, -0.213814f, 0.041031f, 0.129659f, 0.254777f, 0.605463f, 0.628945f, 0.429950f, 0.537557f, 0.227234f, -0.073977f, -0.177895f, -0.275398f, -0.377711f, -0.273357f, -0.182919f, -0.181871f, -0.062742f, -0.016884f, 0.001562f, 0.097170f, 0.123163f, 0.117576f, 0.179756f, 0.113433f, 0.073254f, 0.090937f, -0.053543f, -0.049283f, 0.015322f, -0.145408f, -0.103061f, -0.037662f, -0.140699f, -0.086613f, -0.009700f, -0.141355f, -0.149580f, -0.099028f, -0.146771f, -0.096043f, 0.110666f, 0.207056f, 0.328873f, 0.485363f, 0.452733f, 0.387790f, 0.364282f, 0.197378f, -0.060051f, -0.302543f, -0.536194f, -0.636418f, -0.574216f, -0.464536f, -0.350892f, -0.164195f, 0.052837f, 0.208811f, 0.292450f, 0.315993f, 0.278708f, 0.249180f, 0.231517f, 0.233790f, 0.162606f, 0.077700f, 0.036015f, -0.019143f, -0.065578f, -0.058700f, -0.106877f, -0.114473f, -0.080750f, -0.059453f, -0.079311f, -0.075018f, -0.096653f, -0.108201f, -0.100722f, -0.068209f, -0.032261f, + 0.013400f, 0.020041f, 0.014214f, 0.000959f} + }, + { + {-0.006839f, 0.025744f, 0.013624f, 0.011354f, 0.006323f, -0.002728f, -0.000811f, -0.002637f, -0.005362f, -0.007433f, -0.005263f, -0.007596f, -0.003214f, 0.007232f, 0.002463f, -0.000378f, -0.000010f, 0.004741f, 0.002204f, -0.003000f, -0.003231f, -0.002432f, -0.013423f, 0.005563f, 0.001405f, 0.000130f, -0.002771f, 0.001742f, 0.000235f, -0.003710f, 0.001935f, 0.004912f, -0.000021f, -0.006129f, -0.001562f, -0.002650f, -0.002854f, 0.000755f, 0.005904f, -0.001530f, 0.001393f, -0.007017f, 0.004503f, -0.008670f, 0.005523f, 0.001223f, 0.000326f, 0.000066f, 0.005494f, -0.006656f, -0.004943f, -0.009071f, 0.002404f, 0.001629f, 0.000443f, 0.005175f, -0.005599f, 0.001206f, -0.000771f, 0.000147f, -0.004086f, 0.003590f, 0.001634f, -0.003011f, 0.005583f, -0.008921f, 0.004077f, -0.004871f, 0.009077f, 0.004134f, 0.001587f, 0.000644f, -0.001830f, -0.011131f, 0.008461f, -0.002677f, -0.000294f, 0.001447f, 0.002349f, 0.002013f, 0.002222f, 0.002672f, -0.000831f, 0.000770f, -0.001262f, 0.002607f, -0.000218f, 0.001478f, -0.003402f, 0.001136f, -0.000558f, 0.000721f, 0.001318f, 0.003608f, -0.000238f, -0.000636f, + 0.001192f, 0.001416f, -0.001504f, 0.001855f, -0.002253f, 0.001810f, 0.000351f, 0.001609f, 0.000083f, 0.001031f, -0.000621f, 0.000393f, 0.001377f, 0.000680f, -0.000285f, 0.001058f, -0.000287f, 0.024601f, 0.011721f, 0.016061f, 0.004401f, 0.005463f, -0.000932f, 0.006285f, 0.000661f, 0.005586f, -0.004117f, 0.010891f, -0.002762f, -0.012447f, -0.003410f, 0.000253f, 0.000686f, -0.003954f, 0.009547f, 0.000525f, 0.003731f, 0.009220f, 0.004518f, 0.000102f, -0.000009f, 0.002194f, -0.008410f, -0.005570f, 0.003348f, 0.004009f, -0.003057f, 0.000874f, 0.004119f, -0.008352f, 0.011774f, -0.001214f, 0.001739f, -0.001874f, 0.004375f, 0.006065f, 0.000309f, -0.006389f, -0.006506f, 0.012761f, 0.000289f, -0.003740f, -0.000537f, 0.007346f, 0.005441f, -0.003809f, -0.005122f, -0.011273f, -0.003494f, -0.004631f, 0.000471f, -0.004184f, 0.001008f, -0.010954f, -0.004470f, 0.001257f, -0.004459f, 0.002396f, 0.004414f, -0.002231f, -0.000294f, 0.002059f, -0.002780f, 0.004295f, -0.000316f, 0.005407f, 0.000067f, -0.001879f, -0.006296f, 0.000699f, -0.007809f, 0.002442f, 0.000143f, 0.004407f, 0.000080f, 0.004526f, + 0.005851f, 0.004970f, 0.000190f, -0.003253f, -0.000247f, -0.001200f, 0.006458f, -0.001757f, 0.000828f, 0.004114f, 0.004320f, -0.000318f, 0.002436f, 0.000855f, 0.002226f, -0.000928f, 0.002695f, -0.001038f, 0.003973f, 0.000893f, 0.000760f, -0.000345f, 0.000356f, 0.000386f, 0.005203f, -0.016608f, -0.005352f, -0.003798f, 0.002897f, 0.003254f, -0.011338f, -0.005111f, -0.002240f, 0.002699f, 0.006042f, 0.001875f, 0.008281f, -0.006851f, -0.009858f, 0.002834f, 0.000346f, -0.001796f, -0.006748f, 0.021902f, -0.001131f, 0.005809f, 0.001322f, 0.000659f, -0.000480f, -0.003403f, -0.008323f, -0.006568f, -0.002035f, 0.005578f, -0.004643f, 0.011456f, -0.003873f, -0.001095f, -0.009395f, -0.011223f, -0.000950f, -0.007167f, -0.003957f, 0.015247f, -0.008332f, -0.002338f, -0.008088f, 0.002946f, 0.000403f, -0.002963f, -0.008499f, -0.001647f, 0.000089f, -0.009691f, 0.001159f, -0.005227f, 0.007753f, 0.005062f, -0.004432f, -0.002393f, -0.002440f, 0.002346f, -0.000401f, 0.006119f, -0.003155f, -0.004060f, -0.004122f, 0.013903f, 0.012600f, -0.004340f, -0.012089f, 0.001619f, 0.003774f, -0.000412f, 0.003587f, -0.005055f, + 0.001019f, -0.005859f, 0.004194f, 0.000295f, 0.013403f, 0.008222f, 0.012745f, -0.011601f, 0.005045f, 0.007724f, 0.000331f, 0.005855f, 0.004271f, 0.000851f, 0.008782f, -0.001634f, -0.000893f, 0.002215f, 0.001254f, -0.003619f, 0.003529f, -0.002779f, -0.002317f, -0.000274f, 0.000932f, -0.000420f, 0.001370f, -0.002084f, 0.001070f, -0.000291f, 0.000320f, 0.001105f, 0.001658f, 0.000739f, 0.001915f, 0.001719f, -0.001282f, -0.001793f, 0.001439f, 0.000480f, -0.003091f, -0.001317f, 0.002587f, -0.001575f, -0.054568f, -0.008837f, -0.015724f, -0.017840f, 0.004801f, -0.006038f, -0.015511f, -0.012858f, 0.002159f, -0.012667f, 0.001806f, 0.018889f, -0.004687f, 0.008109f, 0.006154f, 0.015928f, 0.004151f, -0.011092f, 0.002557f, 0.017313f, -0.008066f, 0.008621f, -0.012756f, -0.011638f, 0.003837f, 0.004970f, 0.013627f, 0.000804f, -0.008321f, 0.007905f, -0.005573f, 0.006068f, -0.000674f, 0.008592f, -0.007248f, -0.004716f, -0.008087f, 0.000113f, 0.001513f, -0.003174f, 0.006278f, -0.014323f, 0.001887f, 0.014462f, 0.003175f, -0.004090f, 0.005613f, -0.007381f, -0.003698f, -0.018084f, -0.005310f, -0.000591f, + 0.002885f, 0.000316f, 0.009777f, -0.014517f, 0.001469f, -0.001983f, 0.007378f, 0.003925f, -0.002748f, 0.010362f, -0.009015f, -0.001210f, -0.007220f, -0.013948f, -0.005813f, -0.003199f, -0.003876f, 0.010512f, -0.009328f, -0.015069f, 0.000671f, 0.004955f, -0.001433f, -0.004336f, 0.005268f, 0.005782f, -0.004136f, -0.003387f, -0.005778f, -0.002404f, 0.012228f, -0.005620f, 0.006785f, -0.001987f, -0.000117f, -0.001098f, -0.000311f, -0.006271f, 0.001641f, -0.003746f, -0.000078f, -0.000425f, -0.000801f, 0.000171f, -0.001340f, -0.001948f, -0.001821f, -0.000507f, 0.000729f, -0.001192f, 0.002134f, 0.000922f, -0.027104f, 0.015445f, 0.017498f, -0.000989f, 0.009841f, 0.004413f, 0.020662f, 0.027359f, 0.003571f, 0.003547f, 0.007915f, 0.003366f, 0.004609f, -0.003933f, 0.005476f, -0.004555f, 0.007255f, 0.008346f, -0.023420f, 0.012127f, -0.002522f, -0.004389f, -0.007211f, -0.009545f, 0.003888f, 0.006633f, 0.010736f, 0.002048f, 0.001867f, -0.013746f, 0.000646f, -0.004040f, -0.004533f, -0.002070f, 0.001876f, 0.000751f, -0.001007f, 0.013435f, -0.000661f, -0.004513f, 0.004491f, -0.005278f, 0.006944f, 0.009063f, + 0.010220f, 0.005250f, 0.001152f, -0.005713f, 0.011409f, 0.003570f, 0.001564f, 0.001146f, 0.001529f, 0.000775f, -0.006552f, -0.009319f, 0.008448f, -0.008691f, 0.008093f, 0.007312f, 0.005432f, -0.001246f, -0.006083f, 0.005458f, 0.007189f, 0.015840f, 0.007360f, 0.005943f, 0.003745f, -0.015608f, -0.004765f, 0.001849f, -0.002525f, 0.006628f, -0.013454f, 0.000612f, 0.004462f, -0.012668f, -0.001176f, 0.004158f, -0.003046f, 0.001544f, -0.007381f, 0.002715f, 0.000952f, -0.003227f, 0.005811f, 0.003342f, 0.000229f, 0.006295f, -0.002891f, -0.002888f, -0.000648f, 0.001244f, 0.002595f, 0.009579f, 0.001566f, 0.003216f, 0.002264f, -0.000170f, 0.002092f, -0.001675f, -0.001854f, -0.002680f, 0.001681f, -0.001513f, -0.001262f, 0.001001f, 0.000998f, -0.001271f, 0.003245f, -0.002007f, 0.002257f, 0.002020f, -0.001000f, 0.003081f, 0.000874f, 0.001258f, 0.001540f, 0.000117f, 0.000294f, 0.003591f, -0.000318f, 0.050347f, 0.015185f, 0.003722f, 0.009851f, 0.025168f, 0.010145f, 0.030348f, 0.007437f, -0.006697f, -0.002176f, -0.002548f, -0.002896f, 0.008233f, 0.013009f, -0.006048f, 0.002795f, 0.009064f, + -0.003370f, -0.012619f, 0.010025f, -0.001192f, 0.004767f, -0.004302f, -0.006330f, 0.010309f, 0.002407f, -0.000953f, -0.002933f, -0.011498f, -0.005682f, 0.006218f, 0.001564f, -0.003960f, -0.002013f, 0.001734f, 0.004330f, 0.011555f, 0.003658f, -0.010663f, -0.002441f, 0.000681f, -0.003343f, 0.003826f, 0.005487f, -0.010747f, -0.012959f, -0.000762f, 0.003258f, -0.001385f, 0.010026f, -0.018492f, -0.003916f, -0.008394f, -0.010392f, -0.001153f, -0.000794f, 0.002719f, 0.009910f, -0.000110f, 0.001501f, 0.003186f, -0.001589f, 0.013187f, 0.008436f, -0.010851f, -0.009495f, 0.007221f, 0.016003f, -0.001399f, -0.007470f, 0.015756f, 0.008353f, 0.003638f, -0.006923f, -0.007542f, 0.007808f, 0.000383f, 0.005909f, -0.003592f, -0.011443f, -0.006337f, -0.007785f, -0.004965f, 0.004536f, -0.006414f, 0.000891f, 0.002705f, -0.002287f, 0.002622f, 0.001936f, 0.002228f, 0.001338f, -0.004162f, 0.002304f, -0.001336f, -0.002168f, -0.001036f, 0.003093f, 0.002380f, 0.000419f, -0.003584f, 0.003166f, -0.001441f, 0.005460f, -0.000895f, 0.000759f, -0.005238f, -0.006677f, 0.002183f, -0.006285f, -0.001268f, -0.000965f, -0.003605f, + -0.001704f, 0.000717f, -0.005643f, -0.002407f, -0.000572f, 0.000573f, -0.001178f, 0.003922f, 0.000564f, -0.001564f, 0.024705f, 0.012002f, 0.022245f, -0.007505f, 0.000178f, -0.005658f, 0.022411f, -0.023059f, -0.003280f, 0.005906f, -0.004423f, -0.004567f, 0.007499f, -0.002592f, -0.007115f, 0.019666f, 0.011109f, 0.002265f, 0.033221f, -0.009081f, -0.002220f, -0.007035f, 0.000245f, 0.005487f, -0.008586f, -0.001105f, -0.004461f, 0.012680f, -0.010732f, 0.002853f, 0.000736f, -0.003371f, 0.001147f, 0.007453f, 0.005072f, -0.010091f, -0.017608f, 0.000413f, 0.003611f, 0.014569f, 0.017089f, 0.017018f, 0.001541f, -0.009815f, 0.012235f, -0.029707f, -0.004899f, -0.011669f, -0.017300f, 0.012092f, -0.003989f, -0.005602f, 0.009418f, -0.003426f, -0.005076f, 0.025919f, 0.000297f, -0.007652f, 0.009016f, 0.000694f, 0.006858f, 0.005059f, 0.003369f, 0.015702f, -0.009428f, -0.005779f, 0.000910f, -0.013485f, -0.000121f, 0.002549f, -0.003435f, 0.004623f, 0.007749f, 0.016511f, -0.006244f, 0.005505f, 0.014248f, 0.008660f, 0.004211f, 0.002693f, -0.004930f, -0.010426f, 0.005318f, 0.007955f, -0.001753f, 0.000798f, + -0.001669f, -0.001331f, -0.005957f, 0.001165f, -0.001841f, 0.001021f, -0.005566f, -0.002791f, -0.000005f, -0.000970f, 0.005113f, 0.002237f, -0.000005f, -0.007139f, -0.003265f, 0.003549f, -0.004196f, -0.000072f, 0.002721f, 0.002805f, -0.004855f, 0.004490f, 0.003466f, 0.001155f, 0.004589f, 0.004170f, -0.008309f, -0.001471f, -0.003224f, 0.002249f, 0.004433f, 0.005462f, -0.001189f, -0.003041f, 0.000661f, -0.001651f, -0.038519f, -0.057906f, -0.009755f, 0.002858f, -0.000998f, 0.001590f, -0.002703f, -0.011622f, -0.006536f, -0.009266f, -0.002484f, 0.009403f, 0.011237f, -0.010205f, -0.015030f, 0.012850f, 0.002671f, -0.008264f, 0.000679f, -0.001378f, -0.009162f, -0.007698f, 0.021365f, 0.010867f, -0.011474f, 0.005832f, 0.002425f, 0.009136f, -0.011131f, 0.012400f, -0.012381f, 0.008523f, 0.005580f, -0.002622f, -0.005770f, 0.005506f, -0.023091f, -0.011464f, 0.014163f, 0.022794f, 0.012661f, -0.015950f, 0.000386f, -0.011309f, 0.015167f, 0.003138f, 0.003943f, 0.001081f, -0.012477f, 0.006069f, 0.018555f, 0.002100f, 0.014032f, 0.009932f, 0.006435f, 0.010730f, 0.022760f, -0.006304f, -0.022884f, 0.011111f, + 0.000081f, -0.005415f, 0.001184f, 0.019695f, -0.008024f, -0.013672f, 0.006730f, -0.003613f, -0.002311f, -0.005169f, -0.003055f, -0.006146f, -0.010683f, -0.005370f, 0.013223f, -0.017979f, -0.011264f, -0.006624f, -0.012896f, -0.012560f, -0.000723f, 0.007822f, -0.011819f, -0.000201f, -0.004350f, -0.004990f, -0.010642f, -0.006736f, -0.012224f, -0.000641f, -0.009386f, -0.000714f, -0.000186f, 0.008639f, 0.006185f, -0.004354f, -0.004617f, -0.006248f, -0.001832f, -0.004414f, -0.004166f, 0.005248f, -0.008281f, 0.003181f, 0.000810f, -0.005296f, 0.000672f, -0.003457f, 0.002116f, -0.001777f, -0.006734f, -0.008339f, 0.000034f, 0.002225f, 0.003589f, -0.001559f, 0.001596f, 0.002673f, 0.000128f, -0.004339f, -0.000459f, -0.005566f, 0.000725f, 0.002629f, 0.002561f, -0.022271f, -0.014511f, 0.003764f, 0.003568f, 0.029698f, -0.025958f, -0.017759f, -0.010024f, -0.004905f, -0.003217f, 0.009608f, 0.009284f, -0.013741f, 0.014129f, -0.003269f, 0.006409f, -0.009895f, 0.021062f, -0.004089f, -0.007928f, 0.013618f, 0.009824f, 0.007925f, -0.014315f, -0.013467f, 0.017831f, -0.009328f, 0.005268f, 0.004364f, -0.006449f, 0.015156f, + 0.004621f, -0.000009f, 0.003381f, 0.011127f, 0.014288f, 0.004404f, -0.012674f, 0.002959f, -0.018092f, 0.010813f, 0.004743f, -0.020271f, 0.014399f, 0.003351f, -0.010521f, 0.018576f, 0.005933f, -0.005026f, 0.010860f, -0.001677f, 0.020539f, -0.004685f, -0.005103f, -0.004343f, -0.002652f, 0.026688f, 0.005671f, 0.000462f, 0.007299f, -0.022419f, -0.013967f, -0.015234f, 0.001712f, 0.014200f, 0.001934f, 0.017611f, -0.022714f, -0.009359f, -0.014395f, -0.013385f, 0.033260f, -0.003380f, 0.011919f, 0.008514f, -0.007068f, -0.001667f, -0.004566f, 0.002514f, 0.001813f, 0.009065f, 0.005594f, 0.018158f, -0.009726f, 0.001505f, -0.003037f, 0.003943f, -0.000058f, -0.000360f, 0.000014f, -0.003878f, -0.017075f, 0.006378f, 0.004072f, 0.002536f, -0.004482f, -0.001622f, -0.002129f, -0.009578f, -0.000536f, -0.003436f, -0.006146f, 0.003472f, -0.005174f, 0.002226f, 0.003140f, 0.002395f, 0.004008f, -0.006673f, -0.003545f, -0.004527f, -0.004018f, 0.002375f, 0.004845f, 0.002779f, -0.001490f, -0.000920f, -0.001098f, -0.002094f, 0.007008f, -0.002401f, 0.005016f, 0.003059f, -0.001787f, 0.002059f, -0.001272f, -0.000021f, + 0.001825f, 0.001830f, -0.030054f, 0.009371f, -0.012898f, 0.007301f, -0.009016f, 0.024274f, 0.004114f, -0.017045f, 0.002698f, -0.017376f, 0.014102f, 0.026833f, -0.022878f, 0.015104f, 0.005622f, -0.000694f, 0.011095f, 0.028604f, -0.010923f, -0.000051f, 0.008779f, -0.031276f, 0.001858f, 0.014198f, -0.008662f, 0.010172f, 0.011126f, -0.005722f, 0.028078f, -0.013999f, -0.025343f, -0.010931f, 0.003087f, 0.000662f, -0.005161f, -0.010956f, 0.007680f, 0.007068f, 0.000046f, -0.017879f, -0.004158f, -0.004539f, 0.011974f, -0.007836f, 0.047077f, -0.005926f, 0.006773f, -0.002173f, -0.001960f, -0.022832f, 0.002384f, 0.016921f, 0.013736f, 0.045873f, -0.004891f, -0.004446f, -0.009459f, -0.001813f, -0.012872f, -0.000981f, 0.018442f, -0.009797f, -0.001857f, 0.003331f, 0.004386f, 0.018087f, 0.014764f, 0.004163f, 0.035562f, -0.006717f, -0.032847f, -0.032929f, -0.023177f, -0.004781f, 0.010438f, -0.003245f, -0.008597f, 0.015672f, -0.000905f, 0.013917f, -0.008526f, -0.001626f, 0.011349f, 0.009592f, -0.003433f, -0.003359f, 0.001205f, 0.002942f, -0.003603f, -0.007684f, -0.011001f, -0.003721f, -0.004644f, -0.001387f, + -0.007827f, 0.005899f, -0.002315f, 0.001778f, -0.003936f, -0.005660f, 0.007649f, 0.003412f, -0.003823f, -0.001042f, -0.003123f, -0.003374f, 0.003370f, -0.002098f, -0.003703f, -0.007474f, 0.005969f, 0.002352f, -0.003155f, -0.005658f, -0.007476f, -0.001401f, -0.005121f, -0.005225f, 0.006422f, -0.003754f, 0.001327f, 0.000271f, -0.002679f, 0.002747f, 0.001307f, -0.001018f, -0.001339f, -0.001653f, 0.053509f, -0.038564f, -0.029254f, -0.009360f, -0.018484f, -0.021140f, 0.025957f, 0.010531f, 0.005206f, -0.008156f, -0.005175f, 0.031495f, -0.009137f, -0.013232f, -0.037662f, -0.005433f, -0.000906f, 0.017795f, 0.006589f, -0.007642f, 0.002349f, 0.015606f, 0.007079f, 0.009767f, 0.024148f, 0.030298f, 0.008425f, -0.011263f, 0.007825f, -0.018168f, 0.012491f, 0.010231f, -0.006484f, 0.000630f, -0.014070f, 0.005706f, 0.000396f, -0.027302f, 0.026635f, -0.002383f, -0.012379f, 0.016442f, -0.025261f, -0.005836f, 0.027811f, 0.015866f, -0.000348f, 0.001046f, -0.035002f, 0.012292f, 0.019561f, 0.011162f, 0.006500f, -0.001915f, -0.025837f, -0.075924f, -0.006059f, 0.015478f, 0.021335f, -0.001949f, -0.022271f, 0.037509f, + -0.017378f, 0.017119f, 0.028395f, 0.023399f, 0.004349f, 0.028306f, 0.003217f, 0.010088f, 0.005987f, 0.017176f, 0.003374f, 0.005448f, 0.036051f, -0.012097f, -0.007883f, 0.030480f, 0.015887f, 0.008258f, -0.012606f, 0.003050f, 0.024789f, -0.002709f, 0.019859f, 0.004548f, 0.004313f, 0.012491f, -0.006752f, -0.000638f, 0.001304f, -0.001338f, -0.005639f, 0.009721f, 0.004497f, -0.013604f, 0.007414f, 0.005026f, 0.007134f, 0.003493f, -0.003947f, -0.000065f, -0.004379f, -0.005027f, 0.005945f, 0.007575f, 0.003113f, 0.004559f, -0.004118f, -0.004020f, -0.002770f, -0.004932f, -0.006468f, -0.009649f, 0.001304f, -0.006230f, 0.004457f, -0.002358f, 0.002540f, -0.008942f, -0.005939f, -0.001987f, -0.003026f, -0.002754f, -0.004174f, 0.000995f, 0.008335f, 0.008709f, 0.003158f, 0.000541f, -0.005143f, 0.006834f, 0.026733f, 0.025427f, -0.006727f, -0.013034f, -0.002535f, -0.007692f, 0.029250f, 0.019013f, -0.051086f, -0.005605f, 0.004090f, -0.023964f, 0.009425f, -0.034954f, 0.026465f, 0.006419f, -0.004213f, 0.014499f, 0.007106f, -0.007361f, -0.011853f, -0.008581f, 0.037390f, 0.001495f, -0.000421f, 0.008287f, + -0.005214f, 0.015020f, 0.044059f, 0.018000f, -0.006605f, -0.007817f, -0.006650f, 0.025596f, 0.008938f, 0.025917f, 0.017764f, 0.012930f, 0.007292f, -0.011294f, -0.012604f, 0.011560f, -0.026434f, 0.004483f, -0.014138f, -0.011660f, 0.000687f, 0.018122f, 0.002331f, 0.001458f, 0.006280f, -0.005702f, 0.030099f, 0.039329f, 0.044776f, -0.000212f, 0.020307f, -0.026715f, 0.010079f, 0.015482f, -0.012497f, 0.022902f, -0.018574f, -0.036589f, 0.004604f, -0.019172f, -0.003133f, 0.001733f, -0.019712f, 0.004901f, 0.026324f, -0.016144f, -0.016044f, 0.013412f, 0.024358f, -0.001080f, -0.009351f, 0.022678f, 0.001725f, 0.005099f, -0.015861f, -0.003188f, -0.001369f, 0.018730f, -0.009791f, 0.001558f, -0.004704f, 0.004142f, -0.000679f, 0.003672f, 0.004417f, 0.003379f, -0.000304f, 0.001901f, 0.003737f, 0.005322f, -0.004614f, -0.008411f, -0.001886f, -0.001199f, -0.008238f, -0.009528f, -0.001117f, -0.004339f, 0.006478f, -0.006412f, 0.004817f, 0.009163f, -0.001057f, -0.014907f, -0.002055f, 0.003052f, -0.005802f, -0.006965f, 0.000484f, 0.004295f, 0.022811f, 0.007933f, 0.006618f, -0.000575f, -0.000062f, -0.001864f, + 0.006206f, -0.001507f, 0.006636f, 0.019768f, 0.017206f, -0.002127f, -0.001715f, -0.003166f, 0.000203f, -0.031863f, 0.057983f, 0.003621f, 0.015106f, 0.044263f, -0.016333f, 0.004488f, -0.008412f, 0.011643f, -0.012734f, 0.012747f, -0.031140f, -0.037012f, -0.001088f, -0.021934f, -0.001633f, -0.002078f, -0.002440f, -0.006280f, 0.002410f, -0.010283f, 0.009284f, -0.029423f, -0.011705f, -0.039682f, -0.001959f, 0.009074f, 0.019067f, 0.042809f, 0.023796f, 0.007388f, 0.005518f, 0.012285f, 0.009546f, 0.007216f, 0.017352f, 0.018122f, -0.005701f, -0.036240f, -0.035865f, -0.024640f, -0.014662f, 0.003595f, 0.012173f, -0.013276f, -0.020994f, -0.036759f, 0.001129f, -0.014042f, 0.033616f, -0.014959f, 0.008501f, -0.025505f, -0.012235f, -0.004466f, -0.010413f, -0.049285f, -0.051277f, 0.014094f, 0.005334f, 0.001345f, 0.026412f, 0.015042f, 0.021219f, 0.017053f, -0.031910f, -0.006942f, 0.060101f, -0.011094f, -0.022618f, 0.008848f, -0.013120f, 0.006161f, -0.036954f, 0.015041f, -0.016902f, 0.002566f, -0.002343f, 0.024392f, 0.001540f, 0.009811f, -0.020977f, 0.004046f, -0.011783f, -0.005300f, -0.014354f, -0.010887f, + 0.007665f, 0.008536f, -0.019160f, -0.006401f, 0.001509f, 0.003717f, 0.004910f, 0.002629f, -0.007353f, 0.008519f, 0.003601f, 0.002994f, -0.000877f, -0.000432f, 0.002780f, 0.008652f, -0.009034f, 0.008748f, -0.002156f, -0.000159f, -0.003125f, 0.005625f, -0.005250f, -0.002993f, 0.007729f, -0.014119f, -0.000143f, 0.002971f, -0.008552f, -0.002802f, -0.019879f, 0.014615f, 0.017163f, -0.000939f, 0.004176f, 0.004758f, 0.005965f, -0.008686f, 0.009649f, 0.006318f, 0.007574f, -0.006232f, 0.004222f, 0.006000f, 0.008776f, 0.034399f, 0.026207f, 0.003416f, 0.027845f, -0.005214f, -0.011320f, 0.015237f, -0.021183f, -0.041492f, -0.061958f, 0.005194f, 0.001378f, 0.023972f, 0.017586f, -0.023118f, -0.011764f, -0.060585f, -0.004003f, -0.028219f, 0.006649f, -0.014204f, -0.006714f, -0.011662f, -0.004429f, -0.004726f, -0.020982f, -0.009472f, -0.024464f, 0.019561f, -0.004867f, 0.016739f, 0.043460f, -0.022928f, 0.012543f, -0.003565f, -0.010725f, 0.011180f, -0.023174f, -0.039498f, 0.019005f, 0.009276f, 0.018902f, 0.011795f, -0.082691f, -0.037558f, 0.011063f, -0.027541f, -0.002302f, -0.023531f, 0.034654f, 0.041703f, + -0.002017f, 0.046098f, 0.006528f, 0.020940f, -0.006066f, -0.001527f, -0.025766f, 0.016331f, 0.033345f, 0.007221f, 0.055510f, 0.001311f, 0.007654f, -0.016296f, -0.024382f, 0.032847f, 0.052091f, 0.018179f, 0.010124f, 0.005132f, 0.019705f, 0.001700f, 0.003773f, -0.048741f, -0.035743f, -0.003702f, 0.002605f, 0.006460f, 0.036654f, 0.039414f, -0.007255f, 0.002589f, -0.013527f, 0.008207f, -0.025242f, 0.000646f, -0.026714f, -0.022634f, 0.011687f, -0.000660f, 0.002943f, -0.015027f, 0.009647f, 0.011799f, 0.007937f, 0.011949f, 0.014111f, 0.001224f, -0.008010f, 0.006191f, -0.010942f, -0.002671f, -0.006753f, -0.016037f, -0.004607f, -0.008871f, -0.007142f, 0.013309f, 0.007350f, -0.004743f, -0.010547f, -0.015883f, -0.010403f, 0.010718f, -0.010557f, -0.001044f, 0.000848f, 0.007336f, -0.014989f, -0.011970f, 0.005308f, 0.018611f, 0.011860f, 0.004790f, -0.000030f, -0.011195f, -0.001371f, -0.006806f, -0.012980f, 0.022166f, -0.032445f, -0.015987f, -0.060619f, -0.075537f, -0.056012f, -0.025572f, 0.017130f, -0.000484f, -0.013285f, -0.027591f, 0.000060f, 0.049862f, 0.024415f, -0.043594f, -0.007174f, -0.009001f, + -0.030812f, -0.005481f, 0.002282f, 0.021003f, 0.015464f, -0.032515f, 0.023386f, -0.018360f, 0.009933f, -0.017101f, 0.005195f, -0.024903f, -0.009307f, 0.012372f, -0.045024f, -0.008581f, -0.016969f, 0.014821f, -0.011199f, -0.041577f, 0.048963f, 0.047240f, 0.000652f, -0.019034f, 0.026678f, -0.063725f, -0.019967f, 0.019040f, -0.021447f, -0.013501f, -0.001636f, -0.020560f, 0.004097f, -0.005254f, -0.042738f, 0.018404f, -0.005437f, -0.013080f, -0.014614f, -0.011228f, -0.002665f, -0.011640f, -0.018115f, 0.035540f, -0.016878f, -0.016696f, 0.016883f, -0.000376f, 0.058219f, -0.011571f, -0.036074f, 0.020716f, -0.018834f, -0.015926f, -0.028142f, 0.019611f, 0.035911f, -0.069954f, 0.005509f, 0.059221f, -0.009608f, -0.003568f, -0.023382f, 0.040409f, -0.002841f, -0.021808f, -0.002906f, -0.020465f, -0.016504f, 0.029311f, -0.017531f, -0.001363f, -0.009726f, -0.012092f, -0.020486f, 0.008786f, 0.006863f, 0.010803f, -0.002434f, -0.016400f, -0.011326f, 0.000727f, 0.002909f, -0.025036f, -0.007204f, -0.016057f, 0.025050f, -0.008236f, 0.001798f, 0.003701f, 0.003109f, 0.002800f, -0.020349f, 0.013886f, 0.000698f, -0.007629f, + 0.018278f, 0.002980f, 0.023913f, -0.004080f, 0.027629f, 0.006565f, 0.011161f, 0.013689f, -0.017863f, -0.011620f, 0.008747f, -0.014531f, -0.011462f, 0.004549f, 0.000084f, -0.010151f, -0.024147f, 0.012004f, -0.047802f, 0.095496f, 0.068115f, -0.001296f, -0.018206f, 0.015160f, -0.057249f, 0.000962f, 0.071273f, -0.012549f, -0.024759f, 0.001186f, 0.080783f, -0.011542f, 0.017754f, -0.017152f, -0.036498f, -0.029508f, -0.007439f, -0.013462f, 0.014921f, 0.020689f, 0.001165f, -0.030350f, -0.042508f, -0.039102f, -0.006268f, -0.008552f, -0.021054f, 0.019837f, 0.016073f, -0.017048f, -0.020807f, -0.022715f, 0.012902f, 0.004545f, 0.015846f, 0.040459f, -0.000146f, -0.034356f, 0.023513f, 0.009347f, 0.008015f, 0.002583f, -0.000530f, -0.016478f, 0.029997f, 0.015445f, -0.011833f, -0.014113f, -0.009333f, -0.038998f, 0.010946f, 0.028879f, 0.008864f, -0.027242f, 0.032252f, 0.023727f, 0.013440f, 0.003783f, -0.016691f, 0.009044f, -0.055661f, 0.008954f, -0.003294f, 0.050048f, -0.017711f, -0.024417f, 0.010763f, -0.012615f, -0.000848f, -0.035733f, -0.006322f, -0.009379f, 0.048578f, -0.031166f, -0.058444f, -0.037950f, + -0.076004f, 0.015256f, -0.015293f, -0.004750f, -0.040458f, -0.025650f, -0.067134f, -0.029519f, -0.023323f, -0.003152f, 0.016761f, -0.021411f, -0.003560f, -0.003765f, -0.003177f, -0.005638f, 0.014702f, -0.024905f, 0.011242f, -0.009553f, -0.019395f, 0.003438f, -0.005396f, 0.018504f, 0.009646f, 0.000789f, -0.009576f, 0.023800f, 0.022110f, 0.013616f, -0.008143f, -0.011191f, -0.011241f, -0.010181f, 0.024835f, 0.040585f, 0.005027f, 0.037351f, 0.040836f, 0.014031f, 0.001057f, -0.035673f, -0.003534f, 0.007322f, 0.005659f, -0.002818f, -0.009589f, -0.030062f, -0.000327f, 0.021219f, 0.003686f, -0.022378f, -0.005461f, -0.016643f, 0.091126f, 0.003176f, 0.015449f, -0.015566f, -0.029380f, -0.040460f, -0.012861f, 0.010891f, 0.026954f, 0.021578f, -0.018855f, -0.000542f, -0.039678f, -0.015074f, 0.014715f, -0.034171f, -0.017733f, -0.013225f, 0.049320f, 0.025118f, 0.027303f, 0.025027f, -0.028035f, 0.004776f, 0.010641f, 0.011125f, -0.002400f, 0.032594f, -0.006942f, 0.014100f, 0.025958f, 0.009372f, 0.007444f, 0.021206f, 0.030064f, -0.017983f, -0.034652f, 0.022916f, -0.003487f, -0.000357f, -0.036653f, -0.034868f, + 0.008207f, -0.017682f, -0.013097f, 0.029741f, -0.030854f, 0.039483f, 0.026075f, -0.018227f, 0.021314f, -0.023913f, -0.023347f, -0.029080f, 0.041535f, -0.029431f, 0.013257f, 0.012106f, -0.047062f, 0.003988f, 0.005709f, -0.037842f, -0.064130f, -0.058041f, 0.042120f, -0.043755f, -0.000600f, -0.039398f, -0.008799f, -0.028321f, -0.002172f, 0.017464f, 0.011159f, -0.028820f, 0.029470f, 0.033535f, 0.071320f, 0.018115f, -0.047774f, 0.016369f, -0.029377f, 0.015442f, -0.042032f, 0.022087f, -0.017968f, 0.002661f, -0.008595f, 0.016733f, -0.005170f, -0.017626f, -0.040388f, -0.040792f, 0.004495f, 0.003385f, 0.025510f, -0.018684f, -0.001746f, 0.039302f, 0.011256f, 0.027090f, 0.008344f, -0.007719f, -0.003079f, -0.009974f, -0.026692f, 0.009048f, -0.032203f, -0.019497f, 0.006839f, 0.026125f, -0.035175f, 0.019038f, 0.003569f, 0.024672f, -0.008652f, 0.013584f, 0.025312f, 0.027472f, 0.028026f, -0.013344f, 0.013590f, 0.021422f, 0.023529f, 0.004108f, 0.013963f, 0.006866f, -0.011011f, 0.043138f, 0.020017f, 0.021489f, -0.018304f, 0.001640f, -0.039920f, -0.000634f, 0.006706f, 0.007801f, -0.035207f, -0.036627f, + -0.057985f, 0.040285f, 0.004116f, 0.013877f, -0.009554f, 0.021374f, -0.015896f, -0.015572f, 0.011967f, 0.030704f, 0.007163f, 0.020215f, 0.062401f, -0.008970f, -0.037709f, -0.079993f, -0.011427f, -0.030861f, -0.015249f, -0.018987f, -0.037219f, -0.026110f, -0.055584f, -0.006360f, -0.000887f, 0.019550f, 0.057588f, -0.047855f, -0.018490f, -0.007780f, 0.018853f, 0.020521f, 0.057063f, 0.007887f, -0.065199f, -0.014843f, 0.013369f, 0.051125f, 0.013383f, -0.078819f, -0.031657f, 0.071615f, 0.006516f, 0.071447f, -0.041934f, 0.002470f, 0.005599f, 0.043324f, -0.003992f, 0.039445f, 0.059195f, 0.008558f, 0.050231f, 0.035402f, 0.008557f, 0.069715f, 0.059451f, 0.019478f, 0.092686f, 0.071362f, 0.044682f, -0.074835f, -0.004797f, 0.029635f, 0.017165f, -0.000643f, -0.054317f, -0.064810f, -0.033548f, -0.092865f, -0.014596f, -0.068990f, -0.026285f, -0.017545f, -0.099551f, -0.094318f, -0.065662f, 0.032791f, 0.001182f, -0.021576f, -0.000997f, -0.006888f, -0.001822f, -0.018102f, -0.009549f, 0.023502f, 0.009467f, 0.004338f, -0.002906f, 0.004014f, -0.004278f, 0.014704f, -0.002141f, -0.024545f, 0.043564f, 0.007346f, + 0.010735f, -0.012492f, 0.002435f, -0.001150f, 0.023032f, -0.000793f, 0.013598f, -0.007414f, -0.023274f, 0.009887f, 0.018741f, 0.048291f, 0.042988f, 0.003245f, 0.000040f, 0.031000f, 0.015706f, 0.036149f, 0.030195f, -0.009019f, 0.034768f, 0.019632f, 0.007488f, 0.021995f, 0.014527f, -0.011699f, -0.004902f, -0.026863f, 0.017432f, -0.023910f, -0.010169f, 0.013601f, -0.051617f, 0.055097f, -0.023900f, 0.036094f, 0.017565f, -0.046156f, 0.006707f, 0.028833f, -0.018341f, -0.048213f, 0.031822f, -0.012986f, 0.027190f, -0.016101f, 0.006799f, 0.011291f, -0.029947f, -0.003393f, -0.013312f, -0.000502f, -0.048884f, -0.038137f, 0.047152f, 0.002317f, 0.018950f, -0.037217f, 0.038514f, 0.034756f, -0.026250f, 0.022207f, -0.038015f, -0.007953f, -0.021390f, 0.027628f, 0.067117f, -0.000993f, 0.081481f, -0.020469f, -0.004134f, 0.004132f, 0.008123f, -0.005343f, -0.046332f, 0.080428f, 0.052026f, -0.005971f, 0.043655f, 0.034644f, 0.045323f, -0.016986f, -0.001319f, -0.081117f, 0.036550f, 0.038707f, -0.010882f, -0.013560f, 0.050690f, 0.027322f, 0.026587f, 0.063832f, 0.010307f, -0.032181f, -0.039608f, 0.012326f, + -0.012656f, -0.046415f, 0.038452f, -0.053828f, 0.001989f, 0.012504f, -0.038931f, -0.059826f, -0.041355f, -0.014883f, 0.003944f, 0.049158f, 0.032269f, 0.016033f, -0.092811f, -0.025481f, 0.055314f, -0.003907f, -0.020506f, 0.016967f, -0.050478f, -0.030706f, 0.041754f, 0.000332f, 0.000216f, -0.017264f, -0.000123f, 0.026184f, -0.008347f, -0.018344f, 0.014161f, -0.005976f, -0.036037f, -0.018804f, 0.003105f, -0.002100f, -0.002588f, 0.001144f, -0.016041f, 0.000610f, -0.024881f, -0.032332f, 0.004031f, -0.002473f, -0.054550f, -0.005502f, -0.033199f, -0.018341f, -0.006425f, 0.008783f, 0.009478f, 0.030286f, -0.027794f, -0.018050f, 0.005587f, 0.029528f, -0.030721f, -0.031847f, 0.045242f, -0.006534f, -0.002981f, -0.008133f, -0.000700f, -0.018552f, 0.007729f, 0.021973f, 0.011348f, 0.019199f, 0.000923f, 0.007567f, 0.000065f, 0.003242f, -0.068514f, 0.038899f, 0.060813f, -0.001330f, 0.070061f, 0.020982f, -0.060580f, -0.037574f, -0.004639f, -0.021304f, -0.036791f, 0.038883f, 0.045838f, -0.004585f, 0.031950f, 0.042660f, -0.033677f, 0.030036f, 0.051516f, -0.003307f, -0.069201f, 0.027060f, -0.001810f, -0.013947f, + 0.019305f, 0.052194f, -0.016559f, -0.026569f, 0.013026f, -0.023153f, -0.029900f, -0.002288f, 0.046215f, 0.039113f, -0.065189f, 0.020599f, 0.028179f, -0.044094f, -0.027850f, 0.052805f, -0.014211f, -0.077258f, -0.009618f, 0.064622f, -0.020910f, -0.111540f, 0.117043f, -0.033409f, -0.013211f, -0.057757f, 0.075731f, 0.024412f, -0.025716f, 0.054727f, -0.031985f, -0.024297f, -0.013781f, 0.140339f, 0.047223f, -0.058987f, -0.051715f, 0.053730f, -0.012143f, 0.078291f, 0.001803f, 0.058723f, -0.080692f, 0.064610f, 0.112026f, 0.010390f, -0.011631f, -0.019829f, -0.019099f, -0.044717f, 0.105737f, 0.070658f, -0.062619f, 0.017532f, -0.065834f, -0.011501f, 0.007566f, 0.013651f, 0.009735f, 0.019389f, 0.002280f, -0.072770f, 0.034420f, 0.004268f, -0.007084f, -0.001732f, 0.033847f, -0.014644f, 0.007865f, -0.010771f, 0.017787f, -0.007046f, 0.004953f, -0.011775f, 0.022292f, 0.000703f, -0.003890f, 0.012238f, 0.018017f, -0.039923f, 0.005316f, 0.024866f, 0.010048f, -0.028820f, 0.015823f, 0.044848f, -0.043582f, -0.068669f, 0.013992f, 0.008330f, 0.027358f, 0.026113f, -0.003065f, -0.062046f, -0.020382f, 0.016751f, + 0.009119f, 0.017237f, -0.008772f, 0.002424f, -0.001922f, -0.020823f, 0.018596f, -0.016329f, 0.050372f, 0.115200f, 0.022271f, -0.044548f, -0.010616f, -0.010927f, 0.020202f, 0.017335f, -0.035975f, -0.051294f, 0.013680f, -0.043408f, 0.008629f, -0.027022f, -0.031083f, -0.006758f, 0.005256f, 0.014723f, -0.034644f, -0.013994f, -0.013742f, -0.043111f, 0.036147f, -0.013563f, 0.002321f, -0.006399f, -0.028767f, 0.011407f, 0.008083f, 0.000999f, -0.006221f, 0.000319f, -0.001061f, -0.017005f, -0.036594f, 0.015645f, -0.018169f, 0.015868f, 0.011150f, -0.036572f, -0.029613f, -0.003365f, -0.004260f, -0.004169f, -0.007863f, 0.029811f, -0.020630f, 0.003051f, -0.038843f, 0.033163f, -0.038056f, -0.020141f, 0.018922f, 0.000537f, -0.030498f, 0.024252f, -0.041005f, 0.003131f, 0.012353f, -0.001077f, 0.004495f, 0.019664f, 0.009338f, -0.042245f, 0.021399f, 0.003018f, -0.025484f, 0.036268f, 0.014297f, -0.040085f, -0.004370f, -0.031954f, -0.004189f, 0.013053f, 0.010745f, -0.040804f, 0.052042f, -0.027464f, -0.015078f, 0.028994f, 0.019252f, 0.004790f, 0.019375f, -0.001553f, 0.027100f, -0.011978f, 0.005592f, -0.003283f, + 0.013150f, 0.010304f, -0.007706f, -0.009306f, 0.010477f, -0.012897f, 0.001454f, 0.002347f, 0.001802f, -0.007527f, 0.001371f, -0.007009f, -0.011643f, -0.006251f, -0.012671f, -0.000541f, 0.009687f, 0.016850f, 0.006323f, 0.002137f, 0.008955f, 0.011101f, -0.015090f, 0.023608f, 0.006277f, -0.000556f, -0.015300f, -0.008580f, 0.007485f, 0.018740f, -0.003464f, -0.000164f, -0.008957f, 0.003280f, 0.002823f, -0.007400f, -0.010212f, -0.008960f, -0.023969f, -0.008543f, -0.069148f, -0.086330f, -0.031656f, 0.260818f, 0.208748f, 0.138445f, 0.252441f, -0.100236f, -0.238829f, -0.076549f, -0.386005f, -0.150398f, 0.010923f, -0.090443f, 0.177047f, 0.241896f, 0.039568f, 0.153796f, 0.264084f, 0.005816f, 0.072796f, -0.017122f, -0.310374f, -0.256711f, -0.194028f, -0.192663f, -0.094971f, 0.147341f, 0.079142f, 0.114044f, 0.324170f, 0.137589f, 0.020126f, 0.194206f, 0.090232f, -0.111063f, 0.037868f, -0.093146f, -0.314556f, -0.075588f, -0.164357f, -0.323944f, -0.053874f, 0.007606f, -0.079197f, 0.219345f, 0.253036f, 0.099916f, 0.297543f, 0.301232f, 0.056183f, 0.116184f, 0.052210f, -0.190269f, -0.213444f, -0.199654f, + -0.359349f, -0.317424f, -0.121042f, -0.147375f, 0.031055f, 0.192561f, 0.263496f, 0.217861f, 0.336592f, 0.249822f, 0.133983f, 0.018615f, -0.042063f, -0.194107f, -0.236557f, -0.174586f, -0.207869f, -0.173264f, -0.007649f, -0.009762f, 0.039357f, 0.187031f, 0.090075f, 0.114257f, 0.179091f, -0.003741f, -0.055903f, -0.029620f, -0.112426f, -0.064253f, -0.037762f, -0.041482f, 0.045906f, 0.094692f, 0.036625f, 0.052394f, 0.059565f, -0.043580f, -0.015643f, -0.018599f, -0.114707f, 0.015717f, 0.047726f, -0.124267f, -0.001655f, -0.011615f, -0.125450f, 0.046432f, 0.020997f, -0.142069f, 0.089459f, 0.133357f, 0.031232f, 0.268836f, 0.167181f, -0.003626f, 0.142993f, 0.025515f, -0.182117f, -0.151400f, -0.237112f, -0.336437f, -0.252600f, -0.164616f, -0.088587f, 0.114316f, 0.248439f, 0.291118f, 0.362648f, 0.355257f, 0.251471f, 0.055188f, -0.027041f, -0.181187f, -0.330079f, -0.321106f, -0.285327f, -0.239839f, -0.052033f, 0.025199f, 0.041203f, 0.164198f, 0.174608f, 0.121000f, 0.124680f, 0.096655f, 0.041778f, 0.058983f, 0.042726f, -0.011092f, -0.022313f, -0.052497f, -0.104861f, -0.113731f, -0.112529f, -0.113930f, + -0.085341f, -0.017130f, 0.008478f, 0.030067f, 0.036100f, 0.020430f, 0.008192f, 0.002036f}, + {-0.009431f, 0.029314f, 0.011241f, 0.007123f, 0.002320f, -0.006218f, 0.000085f, 0.005619f, 0.010585f, 0.000141f, 0.001033f, 0.000614f, -0.003867f, 0.001025f, 0.003598f, -0.000729f, 0.003514f, 0.005404f, 0.007217f, 0.003021f, 0.002967f, 0.003791f, 0.003378f, -0.006636f, 0.006730f, 0.012614f, -0.005978f, 0.003576f, 0.001991f, 0.003511f, 0.000660f, 0.007461f, -0.004860f, -0.001752f, -0.004373f, 0.004297f, 0.012528f, -0.002128f, 0.006084f, -0.000189f, -0.002820f, -0.010339f, 0.003870f, -0.005368f, 0.004765f, 0.002386f, 0.005322f, -0.000618f, -0.003186f, 0.001652f, -0.002192f, 0.007142f, 0.000935f, -0.005709f, 0.007285f, -0.001624f, 0.005688f, 0.004350f, -0.000221f, 0.004173f, 0.008211f, -0.002344f, -0.002866f, -0.002365f, 0.004090f, -0.003392f, -0.004416f, 0.005066f, 0.000068f, 0.003387f, -0.005456f, 0.008029f, 0.000486f, -0.002317f, -0.000939f, -0.000938f, 0.003221f, -0.003068f, -0.004835f, 0.002816f, 0.004340f, 0.004057f, -0.003834f, -0.005784f, 0.002314f, -0.000251f, -0.000679f, -0.002261f, -0.002092f, 0.002821f, -0.000745f, -0.000475f, -0.001775f, -0.002163f, 0.000422f, -0.001572f, + 0.000658f, 0.000387f, 0.002130f, 0.001420f, -0.000630f, 0.000704f, 0.001214f, -0.001344f, -0.000531f, 0.000019f, -0.000583f, -0.001045f, 0.000741f, 0.001996f, 0.001180f, 0.001474f, 0.000030f, 0.022772f, 0.017871f, 0.008957f, 0.001317f, -0.003384f, 0.010363f, -0.006073f, -0.006493f, -0.001513f, -0.011352f, 0.006849f, 0.000476f, -0.004734f, 0.002707f, 0.006581f, 0.011359f, -0.005284f, 0.006560f, 0.014713f, -0.004186f, 0.000077f, 0.003397f, 0.007634f, -0.001909f, 0.008319f, 0.005931f, 0.008416f, 0.001969f, 0.006420f, -0.006538f, 0.011226f, -0.001318f, 0.010830f, 0.005414f, -0.001229f, 0.001380f, -0.001832f, -0.000220f, -0.003961f, -0.001822f, -0.004886f, -0.003543f, 0.003750f, -0.000985f, -0.010557f, -0.002327f, 0.001075f, -0.000259f, -0.005910f, -0.006028f, -0.003120f, -0.002587f, 0.008184f, -0.003258f, -0.009080f, -0.012033f, -0.013333f, -0.004548f, -0.005899f, -0.000441f, 0.002001f, 0.006454f, -0.008739f, -0.003911f, 0.000968f, -0.000844f, -0.003945f, 0.001003f, -0.009197f, -0.000828f, -0.010831f, 0.005796f, -0.005922f, -0.002825f, 0.007421f, -0.001053f, 0.005077f, 0.001516f, 0.001814f, + 0.005824f, 0.001388f, -0.004625f, -0.002192f, 0.000497f, -0.004603f, 0.002453f, 0.004570f, 0.002281f, -0.003619f, 0.002709f, 0.003812f, 0.000789f, 0.002039f, -0.001104f, -0.002152f, -0.001431f, -0.002152f, 0.001522f, -0.000276f, 0.001398f, -0.001808f, -0.001266f, 0.001427f, 0.012068f, -0.026164f, -0.007037f, -0.013250f, -0.002474f, 0.000003f, 0.014401f, -0.006998f, -0.023472f, -0.008253f, -0.000610f, 0.008947f, 0.002775f, -0.008689f, -0.020379f, -0.005226f, 0.005573f, -0.002267f, 0.011463f, 0.000468f, 0.005018f, -0.001116f, -0.009049f, -0.009817f, 0.005920f, 0.007254f, 0.000841f, 0.002370f, -0.000365f, 0.004446f, 0.001021f, -0.012076f, 0.000640f, 0.017069f, 0.002291f, -0.004206f, -0.001575f, -0.004497f, 0.001043f, -0.003874f, -0.007405f, 0.011442f, -0.003547f, -0.004717f, 0.010358f, -0.005382f, -0.009191f, 0.000459f, 0.000065f, 0.000338f, -0.013256f, 0.010821f, -0.004104f, -0.000215f, 0.009952f, 0.009088f, -0.014211f, -0.003562f, 0.002761f, 0.003498f, -0.001249f, 0.007836f, 0.002157f, 0.003917f, 0.005411f, 0.000857f, 0.004327f, 0.006576f, 0.001435f, 0.000091f, 0.006101f, -0.016166f, + -0.003577f, 0.000463f, 0.008281f, 0.004641f, -0.001980f, -0.001583f, 0.006028f, 0.005657f, -0.006450f, -0.000864f, -0.002285f, 0.000259f, 0.003576f, 0.004592f, 0.000925f, 0.005661f, -0.000545f, -0.003949f, -0.001876f, 0.000516f, 0.000438f, 0.000599f, -0.001486f, 0.003967f, -0.000778f, 0.001471f, -0.000571f, -0.001705f, 0.001173f, 0.000017f, -0.000749f, -0.001383f, 0.000349f, -0.001296f, -0.000199f, -0.002382f, -0.001869f, 0.000581f, -0.000345f, -0.001845f, -0.003758f, -0.001310f, 0.000858f, 0.003282f, -0.051986f, -0.020650f, -0.010391f, -0.014873f, 0.004772f, -0.005200f, -0.004863f, -0.000706f, 0.006704f, -0.006055f, -0.006994f, -0.010432f, 0.002203f, 0.009210f, 0.002200f, -0.007178f, -0.008685f, 0.002548f, 0.007882f, 0.007095f, -0.009890f, -0.014843f, 0.001243f, -0.013882f, 0.007485f, -0.000174f, 0.005263f, -0.000471f, 0.005083f, -0.005513f, -0.002151f, 0.014352f, -0.017334f, 0.007955f, 0.004206f, 0.001873f, -0.006063f, 0.003779f, 0.008735f, 0.002213f, -0.010508f, 0.002066f, -0.006617f, 0.005124f, -0.014391f, -0.000631f, -0.013024f, 0.010050f, -0.000940f, -0.002690f, -0.003600f, 0.005498f, + -0.021947f, 0.010106f, -0.006231f, -0.013447f, 0.005483f, 0.010680f, 0.012303f, 0.007094f, 0.002737f, -0.000939f, 0.001587f, -0.001178f, 0.007992f, -0.004552f, 0.002367f, 0.006104f, 0.015349f, 0.002355f, 0.000447f, -0.010989f, 0.007110f, -0.005497f, 0.001392f, 0.000239f, 0.008242f, -0.007245f, 0.000573f, 0.007370f, -0.000510f, -0.008883f, -0.011995f, 0.009979f, 0.000997f, 0.001822f, 0.005218f, -0.001104f, 0.002619f, 0.002107f, 0.000082f, 0.001755f, -0.000691f, 0.000246f, 0.002855f, 0.002444f, 0.002817f, -0.004464f, 0.001895f, -0.003365f, -0.001276f, -0.002843f, 0.002770f, -0.003218f, -0.029642f, 0.014523f, 0.023101f, 0.004516f, 0.001803f, 0.012876f, 0.004315f, 0.003954f, 0.007005f, 0.000988f, 0.007330f, 0.007419f, -0.005994f, -0.001074f, 0.000977f, -0.007245f, -0.004531f, -0.000073f, 0.003548f, -0.004265f, 0.024021f, 0.012798f, -0.003536f, 0.001741f, 0.007609f, 0.009636f, 0.010949f, -0.004575f, 0.007702f, 0.009022f, 0.000479f, 0.002646f, 0.002567f, 0.005146f, 0.003688f, 0.002281f, 0.005055f, 0.004874f, -0.010433f, -0.008023f, -0.016048f, 0.001752f, -0.005703f, -0.007990f, + 0.008213f, -0.002325f, 0.005160f, -0.019829f, 0.021828f, -0.001569f, -0.010422f, -0.001912f, 0.017298f, 0.012556f, -0.002790f, 0.000466f, 0.008362f, -0.003973f, 0.003581f, -0.006372f, -0.013668f, 0.001623f, 0.001249f, -0.010946f, -0.004364f, -0.010790f, 0.001903f, 0.004009f, 0.002417f, -0.005238f, -0.009576f, -0.014539f, -0.017367f, -0.012455f, -0.004885f, 0.001011f, -0.004244f, 0.001703f, 0.005735f, 0.005125f, -0.007233f, -0.000761f, -0.007886f, 0.002882f, -0.002764f, 0.002270f, -0.000128f, -0.003200f, 0.002274f, 0.002637f, -0.002337f, -0.001081f, -0.003036f, 0.004075f, -0.004842f, 0.001060f, 0.001522f, 0.001439f, -0.000510f, -0.001111f, 0.001008f, 0.002171f, 0.002138f, 0.001779f, 0.001337f, 0.001832f, 0.000578f, 0.003475f, -0.000817f, 0.003850f, -0.002413f, 0.001224f, -0.000731f, -0.000975f, -0.002775f, -0.002122f, -0.001852f, -0.002487f, 0.000968f, -0.001995f, -0.000285f, 0.001839f, 0.000594f, 0.054604f, 0.014480f, 0.004050f, -0.002024f, 0.032911f, 0.003863f, 0.015637f, 0.003228f, 0.010400f, 0.017143f, 0.006048f, -0.009515f, 0.010114f, 0.011784f, 0.001857f, -0.000860f, 0.002512f, + 0.021571f, 0.001490f, -0.007372f, -0.013122f, -0.003853f, -0.000404f, -0.014984f, 0.002505f, 0.004446f, 0.008589f, 0.003663f, 0.006059f, 0.016520f, -0.005171f, -0.002629f, 0.010138f, -0.001591f, -0.004491f, -0.000861f, -0.014791f, 0.009552f, 0.006243f, 0.000333f, 0.009490f, -0.004759f, -0.012959f, -0.027981f, -0.010262f, 0.010322f, 0.011401f, 0.000349f, 0.007995f, -0.007914f, -0.008603f, 0.022746f, -0.013194f, 0.010299f, -0.011622f, 0.002406f, -0.016933f, -0.017772f, 0.019243f, -0.007381f, -0.006954f, 0.026560f, 0.001976f, -0.003011f, -0.012516f, 0.009719f, 0.015326f, 0.000721f, -0.008305f, -0.015689f, -0.002490f, 0.011349f, -0.003676f, 0.003823f, -0.006953f, 0.005567f, -0.002670f, 0.001774f, 0.012090f, -0.013127f, 0.004052f, -0.003749f, 0.000768f, 0.001459f, -0.001552f, 0.013963f, 0.004339f, 0.002008f, -0.004215f, 0.000087f, -0.003353f, 0.005846f, -0.002917f, 0.004621f, 0.004638f, -0.004988f, -0.000037f, -0.000856f, -0.003262f, 0.006590f, 0.001048f, 0.003042f, 0.000173f, -0.002428f, 0.001269f, -0.000051f, 0.000037f, 0.001823f, 0.002864f, 0.001014f, 0.003780f, 0.001130f, -0.000393f, + 0.002083f, 0.001376f, -0.001603f, 0.000364f, -0.000750f, 0.000738f, 0.003355f, 0.003724f, 0.000516f, -0.000471f, 0.027735f, 0.009322f, 0.022976f, -0.014039f, 0.004576f, 0.012972f, -0.017596f, -0.005910f, -0.006895f, 0.001925f, -0.008908f, -0.005312f, 0.013607f, -0.004048f, -0.002602f, -0.000863f, 0.017036f, -0.006130f, -0.007945f, 0.018336f, 0.002919f, -0.012784f, 0.005404f, -0.002718f, 0.002883f, 0.007000f, -0.010489f, -0.002303f, -0.007892f, -0.013988f, 0.001678f, 0.000467f, 0.002641f, -0.013761f, -0.014490f, 0.005704f, -0.001296f, 0.005555f, -0.000629f, 0.008029f, 0.002282f, -0.000250f, -0.009277f, -0.008826f, 0.002425f, 0.009018f, 0.004273f, -0.002491f, 0.026106f, 0.006325f, 0.004416f, 0.012004f, 0.004340f, 0.008956f, 0.008939f, 0.006003f, 0.003550f, 0.004627f, -0.003869f, -0.001954f, 0.001919f, -0.010993f, 0.002864f, -0.017785f, 0.004813f, -0.011737f, 0.009197f, -0.006555f, 0.005016f, -0.002207f, -0.008757f, 0.003025f, -0.002375f, 0.009444f, -0.008217f, 0.025088f, 0.020974f, 0.009820f, -0.018088f, 0.005760f, 0.007918f, -0.007585f, 0.003240f, 0.002328f, 0.012165f, 0.011745f, + 0.004795f, -0.000164f, -0.001764f, -0.002406f, -0.007213f, 0.010951f, -0.000919f, -0.001215f, -0.000069f, -0.003025f, 0.001080f, 0.003716f, -0.003090f, 0.005748f, -0.002260f, -0.004563f, -0.004981f, -0.000082f, 0.003215f, 0.003320f, -0.001008f, -0.001076f, -0.003962f, -0.001573f, 0.001911f, -0.004532f, 0.005029f, 0.005410f, -0.003510f, 0.001040f, -0.004412f, -0.001331f, 0.000597f, 0.001817f, -0.003398f, 0.005726f, -0.034464f, -0.066318f, -0.002828f, -0.013291f, 0.011505f, -0.003419f, -0.018359f, -0.001780f, -0.014866f, -0.016399f, -0.014054f, 0.021689f, 0.011265f, -0.014485f, -0.008323f, 0.016508f, 0.009565f, 0.014733f, -0.010129f, 0.009530f, -0.008982f, -0.009078f, -0.002790f, -0.003964f, -0.028037f, 0.007667f, 0.016034f, 0.006903f, -0.016660f, -0.003827f, 0.002976f, 0.004280f, -0.014857f, -0.003308f, -0.021330f, 0.004720f, -0.010099f, -0.000937f, -0.007414f, 0.004096f, 0.022876f, -0.002451f, -0.004215f, 0.011462f, 0.016735f, -0.010089f, 0.004592f, 0.006329f, -0.014049f, 0.007562f, 0.007072f, -0.016525f, 0.002644f, 0.010726f, -0.002484f, -0.017399f, -0.010930f, -0.011214f, 0.015872f, 0.006157f, + 0.015546f, -0.009140f, -0.017848f, 0.004276f, 0.008990f, -0.003776f, -0.012755f, 0.008552f, 0.012589f, 0.011908f, -0.014628f, -0.007601f, -0.002980f, 0.023785f, -0.004970f, 0.014216f, 0.004248f, -0.016666f, -0.013531f, -0.002554f, 0.009407f, -0.015787f, -0.000846f, -0.002896f, 0.008805f, -0.001852f, 0.019734f, 0.002516f, -0.004393f, -0.005807f, -0.004868f, -0.005598f, -0.003557f, -0.001856f, 0.001921f, 0.000017f, -0.002187f, -0.007130f, -0.000573f, -0.006929f, -0.002935f, 0.002948f, -0.002315f, 0.001216f, -0.001896f, -0.005215f, 0.003337f, -0.000777f, 0.008556f, -0.001558f, -0.006678f, -0.004721f, 0.002841f, -0.001199f, 0.000466f, -0.001820f, -0.004224f, 0.001585f, 0.004889f, -0.004098f, -0.001140f, 0.006518f, 0.003163f, -0.003867f, 0.005325f, -0.033927f, -0.000032f, 0.000939f, 0.019566f, 0.004739f, -0.007801f, 0.011571f, -0.005560f, 0.005062f, -0.018375f, -0.005411f, -0.011639f, -0.006465f, -0.023233f, -0.008827f, -0.013870f, 0.032045f, 0.018431f, 0.019528f, -0.022789f, -0.019529f, -0.009328f, 0.010915f, -0.001028f, -0.000269f, 0.000683f, 0.006548f, -0.001535f, 0.009298f, -0.013248f, -0.011413f, + -0.000193f, -0.003257f, -0.016347f, -0.016501f, -0.013148f, -0.009575f, -0.007077f, -0.006588f, -0.020715f, 0.009493f, 0.025469f, -0.005546f, 0.011962f, 0.016316f, -0.011931f, 0.014116f, 0.009007f, 0.003332f, 0.023268f, -0.001145f, 0.019497f, 0.007181f, 0.002569f, -0.018296f, 0.007384f, 0.008978f, -0.004729f, 0.026708f, 0.021413f, 0.004113f, -0.007856f, -0.013381f, 0.007827f, -0.013156f, 0.005415f, -0.000311f, 0.015935f, -0.000091f, -0.023452f, 0.001644f, -0.009164f, -0.003811f, -0.017536f, 0.020587f, 0.010844f, 0.007423f, 0.005049f, 0.022981f, -0.006493f, -0.024214f, -0.003640f, 0.015116f, 0.000566f, -0.012509f, -0.003052f, 0.001655f, -0.005224f, 0.002869f, 0.007460f, -0.000150f, 0.000389f, -0.001634f, 0.002533f, -0.000485f, 0.008958f, 0.002599f, 0.002785f, -0.002162f, 0.003569f, 0.004554f, 0.008152f, -0.006801f, 0.004588f, 0.004523f, 0.000110f, 0.001353f, 0.008212f, 0.004349f, 0.002253f, -0.004990f, 0.007006f, -0.002115f, -0.003795f, -0.004727f, -0.000132f, -0.012110f, 0.007759f, 0.003747f, 0.001551f, -0.005793f, 0.006864f, 0.006588f, 0.012066f, 0.007314f, 0.002202f, 0.001948f, + 0.000790f, 0.009751f, -0.030714f, 0.013842f, 0.010150f, 0.013131f, -0.014351f, -0.025470f, 0.007362f, 0.007637f, 0.001259f, -0.021481f, 0.020510f, 0.005877f, -0.010979f, -0.018921f, 0.008509f, -0.008379f, 0.032845f, 0.038262f, 0.005624f, -0.006145f, -0.014315f, 0.021718f, -0.024770f, -0.008875f, 0.030494f, 0.007571f, -0.005974f, -0.016532f, -0.015254f, -0.008625f, 0.000499f, -0.020215f, 0.004508f, 0.021490f, -0.002784f, 0.008058f, -0.015816f, -0.014427f, -0.004932f, -0.011933f, 0.031214f, -0.011503f, 0.013988f, 0.011521f, 0.012634f, 0.003321f, 0.006178f, -0.021710f, -0.021800f, -0.020876f, -0.004708f, 0.015615f, 0.035987f, -0.014556f, -0.026105f, -0.006051f, -0.012065f, 0.006639f, 0.005527f, 0.020040f, -0.012331f, -0.000290f, -0.016318f, -0.003128f, 0.028801f, -0.003724f, -0.015795f, 0.020624f, 0.006697f, 0.003307f, 0.010774f, -0.023200f, 0.003463f, -0.007879f, 0.002164f, 0.010570f, 0.025305f, 0.007066f, -0.029579f, 0.010749f, 0.002500f, -0.004610f, -0.012378f, 0.000542f, -0.003230f, -0.001645f, -0.000882f, 0.004131f, 0.006710f, 0.008141f, 0.002618f, 0.000524f, -0.004855f, 0.001510f, + -0.001573f, 0.005835f, -0.010111f, 0.003714f, 0.003797f, -0.000249f, 0.000780f, 0.001647f, -0.007684f, -0.000238f, -0.005136f, 0.008223f, 0.007557f, 0.001871f, 0.009095f, -0.003631f, 0.001158f, 0.006991f, -0.001601f, 0.005532f, 0.001246f, 0.005118f, 0.001609f, -0.011687f, -0.000842f, -0.004203f, -0.000794f, 0.001543f, 0.000551f, -0.004148f, 0.000254f, -0.004880f, -0.000142f, -0.002396f, 0.049847f, -0.021629f, -0.017074f, -0.005133f, 0.010444f, -0.029134f, 0.011613f, -0.007820f, 0.014664f, -0.013045f, -0.006057f, 0.018170f, 0.013344f, 0.005171f, -0.009204f, -0.003251f, 0.024701f, 0.024439f, -0.005161f, 0.021343f, -0.006278f, 0.031358f, -0.014739f, -0.007652f, 0.005518f, 0.032844f, 0.023857f, 0.007966f, -0.017691f, -0.001200f, -0.036548f, -0.005478f, 0.005582f, 0.016787f, 0.019416f, 0.034599f, 0.008943f, -0.000612f, -0.001793f, -0.013256f, -0.022850f, -0.001618f, -0.019838f, 0.014266f, 0.004342f, 0.022051f, 0.012137f, -0.007524f, 0.021716f, -0.026012f, 0.011625f, -0.005802f, 0.001746f, -0.004527f, 0.027672f, 0.016293f, 0.007820f, 0.004951f, -0.050627f, -0.008044f, 0.029796f, 0.015103f, + 0.001712f, -0.000955f, 0.001372f, 0.024125f, 0.010096f, -0.038200f, -0.012603f, -0.014756f, 0.003425f, 0.000794f, -0.038084f, 0.001453f, -0.035611f, -0.023545f, -0.003230f, -0.015275f, -0.016668f, 0.022129f, 0.027834f, -0.003047f, -0.013753f, -0.001533f, 0.008444f, -0.003470f, 0.007183f, 0.011422f, -0.001076f, 0.012693f, 0.018496f, -0.005997f, -0.010534f, 0.001693f, -0.004578f, 0.005612f, 0.003527f, -0.002971f, -0.002751f, 0.000216f, 0.000133f, 0.005240f, -0.000714f, -0.006444f, 0.001164f, 0.006322f, 0.002218f, 0.005615f, -0.005046f, 0.008530f, -0.000142f, -0.003172f, 0.001965f, -0.005433f, 0.002033f, -0.010867f, -0.007085f, -0.008507f, 0.004247f, 0.000397f, -0.008197f, -0.001625f, 0.006772f, 0.004526f, 0.005860f, -0.003985f, 0.003169f, 0.000050f, -0.001468f, -0.010385f, -0.005457f, -0.011008f, 0.018087f, 0.035231f, -0.008918f, -0.014329f, 0.001972f, 0.013633f, 0.007762f, -0.021539f, -0.001406f, -0.017448f, -0.001024f, -0.023751f, -0.002690f, -0.020412f, 0.000867f, 0.021164f, 0.001568f, 0.046710f, -0.019700f, -0.009358f, -0.016766f, 0.019088f, 0.030997f, -0.024858f, -0.008447f, -0.038574f, + 0.007150f, -0.000262f, 0.010441f, 0.009586f, -0.021751f, -0.012759f, 0.016778f, -0.006256f, -0.004902f, -0.020939f, 0.042258f, -0.005566f, -0.045485f, 0.012858f, -0.012078f, -0.013369f, 0.016196f, 0.012829f, -0.013236f, -0.014324f, -0.004513f, -0.026082f, -0.015881f, 0.008886f, 0.005738f, 0.009269f, -0.008124f, -0.018791f, -0.022123f, -0.021881f, 0.018076f, -0.032209f, 0.000379f, 0.008019f, -0.010132f, 0.001069f, -0.000346f, -0.004166f, -0.025855f, -0.004522f, -0.010592f, 0.016612f, 0.020797f, -0.003633f, 0.032408f, -0.001599f, -0.000475f, -0.009718f, -0.002221f, 0.047071f, 0.004394f, -0.020869f, -0.008586f, 0.018472f, 0.013414f, -0.025715f, 0.000382f, 0.003977f, -0.017766f, 0.014961f, 0.003304f, 0.016715f, 0.002397f, 0.002773f, 0.002378f, 0.001555f, 0.007026f, 0.010172f, 0.000731f, 0.005232f, 0.015775f, 0.001511f, -0.005837f, 0.003046f, 0.007492f, -0.005778f, -0.001888f, 0.001182f, -0.007638f, 0.007192f, 0.006226f, 0.008270f, 0.001411f, -0.008403f, 0.001832f, -0.002696f, 0.001265f, -0.001546f, -0.001781f, 0.001043f, -0.005050f, 0.007199f, -0.003761f, -0.004502f, -0.005988f, 0.014270f, + -0.000046f, -0.014886f, 0.010898f, 0.008964f, 0.003565f, -0.000712f, 0.008290f, 0.006692f, -0.017072f, -0.022626f, 0.057293f, -0.014661f, -0.005147f, 0.005201f, 0.024360f, 0.017682f, -0.037386f, -0.015111f, -0.035526f, 0.007862f, 0.001914f, -0.010866f, -0.039097f, 0.001704f, -0.018321f, 0.008182f, 0.008455f, 0.019760f, 0.000867f, 0.014404f, 0.067306f, 0.014738f, 0.016695f, -0.010514f, -0.003889f, 0.029522f, -0.002716f, 0.002387f, 0.007662f, 0.001993f, -0.004475f, -0.015326f, 0.027019f, -0.028771f, 0.011852f, -0.042804f, -0.013205f, -0.019999f, -0.026621f, -0.022684f, -0.000207f, -0.046780f, -0.016105f, 0.006479f, 0.026650f, 0.015474f, -0.046181f, 0.026142f, 0.017192f, 0.019061f, -0.029391f, 0.021520f, -0.013881f, -0.033465f, -0.011574f, -0.033299f, 0.016113f, 0.039883f, 0.009908f, -0.003793f, -0.026180f, 0.021100f, -0.027873f, 0.041643f, -0.007856f, -0.004469f, -0.025203f, -0.027394f, 0.003946f, 0.032519f, 0.010627f, -0.022363f, -0.009145f, 0.005451f, -0.004686f, -0.008952f, 0.021258f, 0.010996f, -0.009971f, 0.027519f, -0.002271f, -0.039069f, 0.048947f, 0.026064f, 0.020149f, 0.009242f, + -0.006619f, -0.002416f, -0.004100f, 0.014625f, 0.003310f, 0.002145f, 0.032215f, 0.012579f, 0.000566f, 0.001535f, 0.004570f, 0.016823f, -0.013497f, 0.009483f, 0.000919f, 0.003166f, 0.003078f, 0.010833f, 0.005296f, 0.000667f, 0.018154f, 0.013888f, 0.001207f, -0.006355f, -0.006458f, -0.002388f, 0.014859f, 0.007432f, 0.008339f, 0.008011f, 0.009883f, -0.012299f, 0.012291f, -0.003271f, -0.003286f, 0.011386f, 0.017857f, -0.002604f, -0.004975f, -0.000120f, 0.016995f, 0.019578f, 0.007490f, 0.012061f, 0.009244f, 0.031489f, 0.005871f, -0.020123f, 0.009114f, -0.005805f, 0.009392f, 0.034539f, -0.048591f, -0.021983f, -0.039071f, 0.022244f, -0.007878f, 0.003894f, -0.012900f, 0.028200f, -0.027704f, -0.027872f, -0.012723f, -0.006448f, -0.019953f, -0.034510f, -0.016694f, 0.006549f, 0.022698f, -0.031750f, 0.020979f, -0.011908f, 0.002511f, 0.041292f, 0.031551f, -0.000457f, 0.016628f, 0.008043f, -0.006563f, -0.004912f, -0.055969f, 0.007833f, -0.005680f, 0.005585f, 0.010902f, -0.004329f, 0.001526f, 0.056618f, -0.050766f, 0.004845f, 0.061255f, 0.008057f, 0.016918f, -0.023959f, -0.006559f, 0.032084f, + 0.056233f, 0.002907f, 0.049869f, -0.019389f, 0.045115f, -0.015801f, 0.033394f, 0.033918f, -0.008382f, 0.066050f, -0.010985f, -0.002750f, -0.019604f, -0.029787f, -0.031608f, -0.014465f, -0.018973f, -0.045888f, -0.021437f, -0.009713f, 0.016985f, 0.016830f, 0.002154f, -0.023561f, -0.003941f, -0.006638f, 0.029537f, 0.009186f, -0.015401f, 0.025322f, 0.005696f, -0.003117f, -0.003570f, -0.018411f, -0.002835f, -0.007317f, 0.007708f, -0.018644f, -0.008916f, -0.013004f, -0.012940f, 0.023540f, 0.009089f, -0.007815f, 0.007109f, -0.006017f, 0.004498f, -0.014171f, 0.021095f, 0.000990f, 0.005916f, -0.000563f, -0.014226f, 0.013013f, -0.001733f, 0.004768f, 0.014984f, 0.010371f, 0.006383f, 0.001150f, -0.022134f, 0.010545f, -0.008490f, -0.001053f, 0.019034f, -0.000455f, 0.007048f, 0.004516f, 0.009088f, 0.012750f, -0.004626f, -0.010384f, -0.006850f, -0.008334f, 0.003960f, 0.011425f, 0.019594f, 0.011255f, -0.022906f, -0.002985f, -0.025094f, -0.021216f, -0.072760f, -0.051439f, -0.036602f, -0.003451f, 0.049214f, -0.032185f, -0.004203f, -0.024726f, -0.036088f, -0.029609f, -0.036866f, -0.038157f, -0.015265f, -0.045066f, + -0.049349f, -0.042650f, 0.012036f, -0.029400f, -0.015543f, -0.036690f, 0.035046f, 0.057696f, 0.004906f, -0.006485f, -0.020361f, 0.004866f, -0.003669f, -0.001372f, -0.004702f, 0.018273f, 0.003742f, 0.039389f, -0.034294f, 0.003138f, -0.029184f, 0.059794f, 0.014561f, -0.034853f, 0.027419f, -0.024940f, 0.022262f, -0.033534f, 0.019672f, 0.003024f, -0.020216f, 0.018221f, -0.031942f, -0.010515f, 0.010056f, 0.032739f, 0.014200f, 0.058007f, -0.013031f, -0.037195f, 0.003463f, -0.010524f, 0.004367f, -0.024605f, -0.021464f, -0.039706f, 0.005007f, -0.042222f, -0.008540f, -0.006501f, -0.037152f, 0.024925f, 0.031387f, -0.018156f, -0.002021f, -0.054480f, 0.062747f, 0.076255f, 0.012174f, -0.029920f, 0.010374f, 0.067120f, -0.031466f, -0.014155f, -0.035885f, -0.020773f, -0.039388f, 0.016290f, -0.001911f, -0.022086f, 0.017168f, -0.022124f, 0.009236f, -0.013723f, -0.006381f, 0.009226f, 0.004762f, -0.000053f, -0.014771f, -0.002824f, 0.012911f, 0.007657f, -0.024617f, 0.019549f, -0.017158f, 0.009074f, 0.011221f, -0.007627f, -0.014495f, 0.007897f, -0.011730f, 0.009702f, 0.006885f, -0.015176f, 0.005572f, -0.001957f, + 0.005871f, -0.008997f, -0.024834f, 0.006879f, 0.004301f, -0.010075f, 0.006382f, -0.009015f, 0.017620f, -0.000164f, 0.007174f, 0.002143f, 0.022907f, 0.003156f, -0.030842f, 0.017459f, 0.011378f, 0.005353f, -0.058631f, 0.107311f, 0.040619f, -0.008815f, -0.032334f, -0.009033f, -0.034341f, 0.036926f, 0.093121f, 0.002016f, -0.061761f, -0.028281f, 0.033602f, 0.012485f, -0.012283f, 0.044369f, -0.008571f, 0.005566f, 0.025457f, -0.002683f, -0.025605f, -0.008352f, 0.020969f, -0.026848f, -0.024395f, -0.009915f, 0.008730f, 0.001325f, -0.004642f, -0.011274f, 0.019759f, 0.002052f, 0.029242f, 0.023083f, -0.030118f, 0.014804f, 0.035940f, 0.020106f, -0.027834f, 0.010760f, 0.005978f, 0.024238f, 0.000626f, 0.008451f, 0.006541f, 0.009997f, 0.050668f, 0.047951f, 0.029720f, 0.064991f, -0.032014f, 0.033504f, -0.038571f, 0.024626f, -0.000426f, 0.022506f, 0.028223f, 0.009101f, 0.007341f, 0.034268f, 0.015929f, -0.009120f, 0.021752f, 0.000134f, 0.029176f, -0.030936f, -0.017691f, 0.002702f, 0.070333f, -0.048516f, 0.004693f, -0.061008f, -0.007251f, 0.007097f, 0.024038f, -0.029675f, -0.005871f, -0.030583f, + 0.007917f, 0.037751f, -0.023143f, -0.054545f, -0.011635f, -0.005347f, -0.014825f, 0.013269f, 0.009483f, -0.015421f, 0.005445f, -0.013189f, -0.012927f, 0.012261f, -0.001976f, -0.007342f, -0.024668f, 0.013406f, -0.001073f, -0.015588f, -0.012529f, 0.011677f, 0.033183f, 0.003248f, -0.009555f, -0.004391f, 0.012068f, 0.029838f, 0.005921f, 0.002613f, 0.024817f, -0.000704f, 0.006731f, -0.002294f, -0.004922f, -0.001122f, 0.008978f, 0.014136f, 0.008448f, -0.003975f, -0.005310f, 0.012597f, 0.008928f, -0.018689f, 0.017742f, 0.004828f, 0.034506f, -0.008581f, 0.008737f, 0.020813f, -0.014295f, -0.008729f, 0.011680f, -0.019611f, 0.089841f, 0.007364f, 0.006512f, -0.019779f, -0.012596f, 0.014856f, 0.013725f, 0.008192f, 0.034666f, 0.014444f, -0.014614f, 0.018306f, 0.036989f, -0.001550f, 0.040552f, -0.004015f, 0.019696f, -0.041360f, 0.074809f, -0.011225f, -0.008762f, 0.012452f, -0.056617f, -0.014665f, -0.027255f, 0.039803f, 0.021927f, 0.022489f, -0.026446f, 0.009529f, 0.009553f, -0.035323f, 0.009773f, 0.030034f, 0.025638f, 0.008709f, -0.008712f, 0.003500f, -0.016955f, 0.056746f, 0.008606f, 0.025584f, + 0.020961f, 0.030560f, -0.050608f, -0.004166f, -0.015241f, 0.009313f, -0.018776f, -0.022319f, 0.041937f, -0.040107f, 0.030739f, -0.025508f, 0.032359f, -0.007435f, -0.033871f, -0.003373f, -0.050904f, 0.031376f, 0.029227f, 0.035211f, -0.105293f, 0.030209f, 0.019032f, -0.032541f, -0.021662f, -0.030268f, 0.054271f, -0.077738f, 0.046590f, 0.108908f, 0.002105f, -0.052251f, -0.020848f, 0.031478f, 0.064059f, 0.017514f, -0.021824f, -0.047102f, -0.078834f, -0.006521f, -0.000404f, 0.031175f, -0.023555f, -0.010798f, -0.018034f, 0.053927f, 0.003542f, -0.001706f, -0.015419f, 0.011130f, 0.003192f, -0.000166f, 0.002229f, -0.000696f, 0.010248f, 0.034373f, 0.042231f, 0.022137f, -0.006162f, -0.003482f, 0.016881f, 0.004168f, -0.010250f, 0.004922f, -0.016574f, -0.010158f, -0.020218f, -0.029705f, -0.062164f, -0.024688f, 0.009794f, 0.003029f, 0.035290f, -0.024963f, -0.017521f, 0.044963f, 0.016949f, -0.011664f, -0.018283f, 0.014648f, -0.004258f, -0.017138f, 0.044780f, 0.005247f, -0.001789f, -0.013915f, 0.001644f, -0.017677f, -0.023553f, 0.014807f, -0.050692f, 0.007045f, -0.030243f, 0.045775f, 0.004188f, 0.012071f, + -0.025433f, 0.019972f, -0.006463f, -0.019255f, 0.009644f, -0.019795f, -0.010409f, -0.016878f, -0.040354f, -0.024399f, 0.031213f, 0.024558f, 0.020302f, 0.020827f, -0.048993f, -0.015077f, 0.010732f, -0.015338f, 0.030150f, 0.020042f, 0.002652f, 0.017031f, 0.050544f, -0.015524f, -0.050121f, 0.096356f, -0.041548f, -0.054866f, 0.060870f, -0.029699f, -0.016318f, 0.012789f, 0.031623f, -0.036740f, -0.010551f, 0.003096f, -0.022957f, 0.125678f, -0.000302f, -0.021226f, -0.007174f, 0.000559f, 0.032238f, -0.062404f, -0.046214f, -0.026948f, -0.023917f, -0.002686f, -0.052446f, -0.000640f, -0.003868f, 0.019057f, 0.080843f, 0.080209f, -0.030381f, 0.061884f, -0.060313f, -0.055077f, 0.033931f, 0.050002f, -0.016325f, 0.013474f, 0.007444f, 0.034121f, 0.043949f, -0.000426f, 0.003881f, 0.055960f, -0.049375f, -0.100618f, -0.010055f, -0.040376f, 0.023386f, 0.046704f, -0.003535f, -0.032097f, 0.065402f, 0.018613f, 0.014105f, -0.017804f, -0.051581f, -0.030027f, 0.006898f, -0.023294f, 0.031506f, -0.003157f, -0.017731f, -0.003147f, -0.020209f, -0.022478f, 0.031342f, -0.010089f, 0.013435f, -0.022480f, 0.033325f, -0.003195f, + -0.000581f, 0.020132f, 0.032042f, -0.003775f, -0.005018f, -0.021427f, 0.004115f, -0.018476f, -0.015053f, -0.013127f, -0.003892f, -0.031937f, 0.001463f, -0.014736f, -0.003880f, -0.032020f, 0.010716f, 0.036137f, 0.015444f, -0.022685f, -0.044656f, -0.003800f, -0.002532f, 0.024537f, -0.060663f, -0.013146f, 0.016312f, -0.013064f, 0.030732f, -0.000816f, 0.019367f, 0.004691f, -0.036506f, 0.039452f, 0.000376f, 0.024174f, -0.024954f, -0.037934f, 0.035224f, -0.037553f, 0.011525f, -0.008531f, 0.033090f, 0.000334f, 0.007141f, -0.019872f, 0.006179f, -0.013986f, -0.049346f, -0.038588f, 0.016254f, -0.002820f, -0.001552f, 0.008277f, 0.036323f, -0.016165f, -0.011497f, -0.030504f, 0.012942f, 0.011563f, -0.004136f, -0.005777f, -0.082745f, 0.004085f, 0.022782f, -0.029138f, 0.020108f, -0.045319f, -0.009003f, 0.003363f, 0.028115f, 0.036458f, 0.003900f, -0.016865f, 0.010988f, 0.065395f, 0.056246f, 0.056813f, -0.003091f, -0.004800f, 0.011505f, 0.007153f, -0.026512f, 0.017171f, 0.070775f, -0.050498f, -0.017183f, -0.014365f, -0.000498f, 0.003086f, 0.008597f, -0.037456f, -0.058378f, -0.021298f, -0.004158f, 0.116592f, + 0.058343f, 0.039835f, -0.006191f, -0.009800f, -0.030385f, 0.050913f, 0.006556f, 0.032718f, -0.012747f, -0.015324f, -0.024261f, -0.020388f, -0.086716f, -0.037705f, -0.046157f, 0.035982f, -0.004179f, -0.016416f, -0.003559f, -0.034928f, -0.017356f, 0.037674f, 0.055333f, -0.008456f, 0.048685f, 0.027013f, 0.019893f, 0.003305f, 0.022610f, 0.029961f, 0.024092f, -0.006036f, -0.002452f, 0.000642f, 0.032897f, -0.026509f, -0.035369f, -0.016449f, 0.017637f, -0.002993f, -0.025151f, -0.015575f, -0.025196f, 0.014543f, -0.006402f, 0.030941f, 0.060398f, 0.011692f, 0.036900f, 0.049314f, 0.023034f, 0.030649f, 0.014458f, 0.009831f, 0.012676f, -0.022356f, 0.031471f, -0.026539f, -0.018789f, 0.007248f, 0.001866f, -0.018921f, 0.008888f, 0.017616f, 0.031607f, 0.013358f, -0.038141f, 0.020559f, 0.014829f, 0.004079f, 0.016446f, -0.010027f, -0.079572f, 0.044738f, 0.038845f, -0.002020f, 0.063949f, 0.028940f, -0.043921f, -0.043019f, 0.018540f, -0.017604f, -0.039215f, 0.002638f, 0.003648f, 0.017586f, -0.009940f, 0.022914f, -0.005902f, 0.021701f, 0.027327f, -0.025341f, -0.103099f, 0.055348f, -0.015780f, -0.032117f, + 0.023184f, 0.036599f, 0.001042f, -0.068981f, -0.009301f, -0.002684f, -0.071342f, -0.044268f, 0.037208f, -0.010710f, -0.029133f, -0.024330f, 0.015843f, -0.069090f, -0.049354f, 0.093610f, -0.008204f, -0.054121f, 0.021016f, 0.050919f, 0.021542f, -0.076712f, 0.109619f, 0.044560f, -0.067956f, 0.037780f, 0.049428f, 0.008072f, -0.046101f, 0.047756f, 0.052951f, 0.032484f, -0.042508f, 0.040086f, 0.074266f, 0.004157f, 0.075026f, 0.093241f, -0.050058f, -0.029569f, -0.034928f, 0.088106f, 0.055803f, -0.038076f, 0.021238f, -0.022973f, -0.056200f, 0.048311f, 0.109474f, 0.015959f, -0.033197f, -0.027437f, 0.065688f, -0.006047f, -0.073980f, -0.052699f, 0.013218f, -0.002632f, 0.060897f, -0.010792f, 0.047001f, -0.091594f, -0.014245f, 0.003767f, 0.015568f, -0.018994f, 0.019291f, -0.000771f, 0.001718f, 0.010607f, 0.002445f, -0.023876f, 0.007121f, -0.011322f, 0.014647f, 0.005880f, -0.033523f, 0.029266f, 0.009384f, -0.027741f, -0.019980f, 0.005357f, -0.024227f, 0.004778f, 0.021931f, 0.024292f, 0.003336f, -0.022744f, -0.007511f, 0.007523f, -0.031334f, 0.018261f, 0.023025f, 0.007534f, 0.001831f, 0.023121f, + 0.008372f, -0.010391f, 0.011187f, -0.008383f, 0.001849f, -0.015977f, 0.009991f, 0.036982f, 0.064708f, 0.103699f, 0.041932f, -0.043131f, -0.015772f, -0.036191f, 0.022187f, -0.017646f, 0.028567f, 0.018722f, -0.047573f, 0.024175f, -0.048476f, -0.016424f, 0.000477f, -0.017932f, 0.002825f, 0.025282f, 0.019924f, 0.001342f, -0.038617f, 0.008678f, 0.031209f, -0.011825f, 0.004737f, -0.014065f, -0.045174f, 0.045791f, -0.027239f, 0.031702f, -0.046520f, -0.027526f, -0.006456f, -0.038323f, -0.011261f, 0.038904f, -0.037832f, 0.051299f, 0.003455f, 0.041837f, 0.016641f, -0.020841f, -0.055990f, 0.046037f, 0.028680f, 0.019176f, 0.011950f, 0.047468f, -0.035028f, -0.017866f, -0.020211f, 0.014848f, 0.017956f, -0.004638f, -0.044164f, -0.001990f, -0.005974f, -0.044729f, -0.017594f, 0.007098f, 0.012273f, 0.035343f, -0.004043f, -0.031409f, 0.042097f, -0.008043f, -0.007097f, 0.050473f, 0.024177f, -0.041329f, 0.013607f, -0.025306f, 0.016265f, -0.013239f, 0.019954f, -0.035678f, 0.020217f, -0.012328f, 0.039802f, 0.006861f, 0.015434f, -0.013355f, 0.000153f, -0.028931f, 0.011875f, 0.001959f, 0.001569f, -0.000679f, + 0.008585f, -0.011611f, -0.010579f, -0.001325f, 0.004996f, -0.003170f, 0.007918f, -0.014673f, -0.002523f, 0.011407f, -0.002414f, -0.000452f, -0.002048f, 0.000384f, 0.001031f, -0.023193f, 0.004771f, 0.018768f, 0.000750f, -0.002626f, -0.004635f, -0.002191f, -0.016897f, 0.001346f, -0.003911f, -0.002047f, -0.008560f, -0.014174f, -0.002769f, 0.014114f, -0.007635f, -0.004177f, 0.007026f, 0.003088f, 0.011200f, -0.010543f, -0.003606f, -0.001480f, -0.007967f, -0.012323f, -0.076850f, -0.090521f, -0.048479f, 0.268574f, 0.236102f, 0.142890f, 0.313292f, -0.066759f, -0.235338f, -0.082743f, -0.443705f, -0.232592f, -0.004577f, -0.114830f, 0.158712f, 0.290874f, 0.040849f, 0.170924f, 0.333269f, 0.055945f, 0.116320f, 0.011138f, -0.342220f, -0.285904f, -0.252416f, -0.278087f, -0.168509f, 0.138081f, 0.058565f, 0.138257f, 0.360217f, 0.217060f, 0.056320f, 0.267237f, 0.122111f, -0.163700f, 0.089064f, -0.119462f, -0.313314f, -0.038648f, -0.193651f, -0.356230f, -0.160604f, -0.036961f, -0.186658f, 0.208425f, 0.224396f, 0.106187f, 0.357297f, 0.403536f, 0.153281f, 0.199553f, 0.188434f, -0.209907f, -0.136611f, -0.268442f, + -0.419249f, -0.385730f, -0.247140f, -0.248310f, -0.071094f, 0.161280f, 0.208924f, 0.278989f, 0.393332f, 0.353135f, 0.206627f, 0.150703f, 0.027369f, -0.163634f, -0.237676f, -0.174341f, -0.226281f, -0.279752f, -0.094457f, -0.105617f, -0.051071f, 0.174552f, 0.121209f, 0.128984f, 0.271814f, 0.069320f, -0.011649f, 0.044834f, -0.074707f, -0.117356f, -0.064969f, -0.118590f, -0.035231f, 0.076107f, 0.029361f, 0.041957f, 0.096622f, -0.022559f, 0.020545f, 0.052512f, -0.088117f, -0.008813f, 0.111861f, -0.105331f, 0.009682f, 0.017753f, -0.209570f, -0.010608f, -0.003472f, -0.250921f, 0.020672f, 0.088486f, -0.031557f, 0.258666f, 0.235625f, 0.043161f, 0.252115f, 0.124160f, -0.010188f, 0.041904f, -0.066982f, -0.270961f, -0.281743f, -0.349375f, -0.396985f, -0.200310f, -0.031595f, 0.080714f, 0.250580f, 0.415360f, 0.476980f, 0.379173f, 0.281324f, 0.128541f, -0.051373f, -0.157795f, -0.346702f, -0.435036f, -0.319499f, -0.256749f, -0.243660f, 0.016175f, 0.121460f, 0.147900f, 0.242618f, 0.216148f, 0.143419f, 0.140582f, 0.102297f, 0.033270f, 0.042203f, 0.001044f, -0.073620f, -0.084969f, -0.106837f, -0.137669f, + -0.119599f, -0.080359f, -0.046544f, -0.003850f, 0.026200f, 0.015073f, 0.009636f, 0.000465f} + }, + { + {-0.000983f, 0.012034f, -0.001255f, 0.003665f, -0.002216f, 0.016058f, -0.006321f, -0.001542f, -0.000590f, 0.002001f, -0.002856f, 0.007361f, -0.001293f, -0.004943f, -0.000902f, 0.010059f, 0.000722f, -0.005074f, 0.004688f, 0.003483f, 0.006592f, 0.002720f, -0.005063f, -0.003322f, 0.011205f, 0.001572f, -0.002901f, -0.002212f, -0.002315f, 0.002216f, 0.002364f, -0.001440f, -0.014327f, -0.003573f, 0.000662f, 0.009878f, 0.003500f, -0.001218f, -0.000070f, -0.005690f, 0.007832f, -0.008024f, -0.010708f, 0.001387f, 0.000074f, -0.003614f, -0.002490f, -0.002980f, 0.001497f, 0.000975f, 0.000911f, -0.003737f, 0.009293f, 0.000286f, 0.012465f, -0.002013f, -0.005986f, 0.002739f, -0.000697f, 0.001785f, 0.002868f, 0.006314f, 0.004263f, -0.001618f, -0.003465f, -0.002927f, 0.008074f, -0.008259f, 0.000287f, 0.000228f, -0.001485f, -0.007086f, 0.006209f, -0.003576f, 0.000789f, 0.005415f, -0.003855f, -0.005125f, -0.004293f, 0.005490f, -0.000544f, -0.001723f, -0.001565f, 0.000171f, -0.001069f, -0.002244f, 0.002692f, 0.002785f, 0.002004f, 0.001261f, 0.000660f, 0.003808f, 0.000578f, -0.000096f, 0.000765f, -0.000392f, + 0.000097f, -0.000902f, -0.000515f, -0.000477f, 0.002541f, 0.000603f, -0.001768f, 0.002196f, -0.004770f, 0.004171f, 0.002469f, -0.005560f, -0.003098f, -0.000406f, 0.000495f, -0.000262f, -0.000850f, -0.002800f, 0.005036f, 0.001007f, -0.002205f, -0.002929f, -0.000175f, 0.010502f, -0.001489f, -0.004884f, 0.006680f, -0.002572f, -0.006335f, -0.000602f, 0.005340f, 0.004047f, -0.003481f, 0.000988f, -0.004345f, 0.002560f, 0.002435f, -0.002021f, 0.005333f, -0.001418f, -0.009697f, 0.001843f, 0.004987f, 0.004727f, 0.000632f, -0.000668f, -0.007038f, -0.002314f, -0.000951f, -0.003022f, 0.006302f, 0.008941f, 0.004112f, -0.012075f, 0.004076f, 0.014326f, 0.005876f, -0.000644f, -0.000124f, 0.006628f, -0.003281f, 0.002207f, -0.006048f, -0.005389f, 0.005495f, 0.006300f, 0.002982f, 0.001728f, 0.001074f, 0.001311f, 0.002919f, 0.000618f, -0.000597f, -0.002095f, 0.001466f, -0.004184f, -0.000832f, -0.001771f, -0.008692f, -0.004273f, 0.001781f, 0.003277f, 0.002625f, 0.005916f, 0.004588f, 0.004923f, 0.006974f, -0.004415f, -0.002855f, -0.001243f, 0.002191f, 0.002620f, 0.004100f, -0.000836f, -0.001423f, -0.000733f, + 0.002489f, -0.001788f, 0.002249f, 0.000619f, -0.000990f, -0.000723f, 0.000718f, -0.000379f, 0.001355f, 0.000617f, 0.000185f, -0.000535f, 0.000732f, 0.000740f, -0.000344f, 0.001164f, 0.000242f, 0.000321f, -0.000957f, 0.000239f, -0.000299f, 0.000064f, 0.001429f, 0.000205f, 0.000583f, 0.000579f, 0.008295f, -0.000581f, 0.003419f, -0.005342f, -0.007983f, -0.004981f, 0.004330f, -0.003623f, -0.003711f, -0.003930f, -0.005275f, 0.005077f, 0.000705f, 0.003726f, -0.001654f, 0.001099f, -0.010837f, -0.006955f, -0.004956f, 0.006946f, 0.001310f, 0.001548f, 0.003781f, -0.003831f, -0.001965f, -0.000862f, 0.001237f, -0.008203f, -0.001602f, -0.005534f, -0.006052f, 0.000350f, -0.005342f, 0.003579f, 0.003351f, 0.014308f, -0.003579f, 0.007277f, -0.004861f, 0.003008f, -0.003343f, 0.000749f, 0.012492f, 0.002007f, 0.005401f, -0.005927f, 0.003793f, -0.005332f, -0.002554f, -0.000826f, 0.007928f, -0.003924f, -0.002065f, -0.007074f, -0.003779f, -0.008353f, -0.001143f, 0.007892f, 0.001866f, 0.000585f, 0.001347f, 0.007235f, -0.007156f, -0.012518f, 0.002879f, 0.003937f, -0.008192f, -0.000604f, 0.001077f, -0.002029f, + 0.003279f, 0.009782f, 0.002027f, -0.002490f, 0.000206f, -0.003489f, 0.000631f, 0.000591f, -0.002812f, -0.000845f, -0.000905f, -0.003961f, -0.000946f, -0.002263f, 0.000824f, -0.000863f, -0.001571f, 0.003234f, -0.000626f, -0.003192f, 0.001355f, -0.002275f, 0.000090f, -0.002461f, -0.003586f, 0.002079f, -0.000656f, -0.000261f, 0.001133f, 0.001520f, 0.000457f, 0.003315f, -0.001581f, -0.000279f, 0.000554f, -0.001195f, -0.000511f, -0.000377f, -0.001653f, -0.000867f, 0.002730f, 0.000912f, 0.003890f, 0.000477f, 0.001747f, -0.001543f, 0.004604f, -0.012781f, 0.002134f, -0.004475f, -0.009399f, -0.006808f, 0.003836f, -0.001887f, -0.000421f, 0.009326f, 0.003114f, -0.001305f, 0.000832f, 0.007931f, -0.003716f, 0.005855f, -0.002640f, 0.001749f, -0.008376f, -0.001483f, 0.005710f, -0.001915f, 0.007089f, 0.007928f, 0.002631f, 0.004995f, 0.010406f, -0.002429f, -0.014602f, 0.003327f, -0.006485f, 0.000457f, -0.017889f, 0.000490f, 0.005774f, -0.003590f, 0.006711f, 0.000951f, -0.006437f, 0.002325f, -0.013446f, -0.008617f, -0.003260f, -0.003308f, -0.011153f, 0.005669f, 0.006225f, 0.000367f, 0.005796f, 0.000446f, + 0.001594f, -0.003622f, 0.005259f, 0.003987f, -0.002061f, 0.012340f, -0.002290f, 0.010195f, 0.008762f, -0.000501f, -0.001388f, 0.000027f, 0.002829f, 0.004165f, 0.001362f, 0.004662f, 0.001587f, 0.001584f, 0.013687f, 0.005212f, -0.005928f, -0.002741f, -0.000047f, -0.003289f, 0.002061f, -0.002380f, 0.013807f, 0.002300f, 0.006506f, -0.004947f, 0.005626f, -0.000062f, -0.002678f, 0.001183f, -0.004420f, -0.002904f, -0.000727f, -0.003201f, -0.001931f, -0.001939f, 0.001727f, -0.003004f, -0.000663f, -0.002116f, -0.001052f, -0.001031f, 0.003824f, -0.001614f, 0.002013f, -0.000544f, -0.003180f, -0.000537f, 0.002033f, 0.000799f, 0.000395f, 0.001238f, -0.001904f, 0.001665f, 0.001136f, 0.000975f, 0.001910f, -0.001074f, 0.000489f, -0.003151f, -0.000180f, 0.002415f, 0.002214f, 0.000524f, 0.000455f, 0.000301f, 0.001819f, -0.024377f, 0.000080f, -0.000059f, 0.006256f, 0.010717f, 0.003759f, -0.005380f, -0.008911f, -0.001410f, 0.011593f, -0.002186f, -0.002209f, -0.008576f, -0.000199f, -0.003560f, 0.008585f, 0.010218f, -0.017514f, 0.011444f, 0.007301f, -0.006626f, -0.001421f, -0.009169f, 0.000058f, -0.002756f, + 0.000219f, 0.006035f, 0.011649f, -0.004358f, 0.002693f, -0.003034f, -0.003985f, 0.004339f, 0.008039f, 0.005434f, -0.005050f, -0.008277f, 0.005780f, 0.004026f, -0.002985f, -0.001494f, 0.001013f, -0.010672f, 0.003886f, 0.003248f, -0.004278f, -0.007131f, 0.002763f, -0.005415f, 0.009505f, 0.004198f, -0.016690f, 0.007634f, -0.007148f, -0.018366f, -0.005330f, -0.001358f, 0.003688f, -0.007522f, -0.000350f, 0.004072f, -0.008119f, -0.007981f, -0.008356f, -0.002539f, 0.002092f, 0.017465f, 0.002743f, 0.003336f, -0.003756f, -0.009100f, 0.011885f, -0.003587f, -0.013959f, 0.000710f, -0.014089f, 0.001085f, -0.001368f, -0.005113f, -0.015434f, 0.004727f, 0.000206f, -0.003370f, 0.003769f, 0.009385f, 0.004291f, -0.001753f, -0.001603f, -0.000021f, 0.005101f, 0.000852f, 0.001244f, 0.002899f, 0.004966f, -0.000405f, -0.002341f, -0.002951f, -0.003093f, 0.001223f, -0.000254f, -0.002399f, -0.002490f, 0.002290f, 0.002165f, 0.004380f, 0.000899f, -0.000069f, -0.000267f, 0.001659f, -0.000783f, -0.000041f, -0.000715f, 0.002784f, -0.000339f, 0.001504f, -0.000431f, 0.015187f, 0.004055f, 0.003299f, 0.006622f, 0.009559f, + -0.002138f, 0.023348f, -0.003424f, 0.016705f, -0.019731f, 0.006783f, 0.011485f, -0.004174f, 0.001575f, -0.005554f, -0.000560f, 0.008992f, 0.016390f, -0.004659f, -0.008187f, -0.002414f, 0.007622f, 0.001615f, 0.016666f, 0.007882f, -0.001832f, 0.002383f, -0.000152f, -0.007826f, 0.001523f, -0.001762f, -0.002450f, 0.007277f, 0.009557f, -0.015150f, 0.017443f, -0.013323f, -0.007266f, 0.002950f, -0.005418f, 0.008779f, 0.000197f, -0.005078f, 0.012313f, 0.017280f, -0.012920f, -0.002349f, -0.001290f, 0.005336f, -0.012235f, -0.020127f, -0.009410f, -0.006170f, 0.005884f, -0.013966f, -0.008083f, -0.001647f, 0.014411f, 0.009060f, -0.010101f, 0.007172f, 0.003790f, -0.005507f, -0.008308f, -0.001335f, -0.005127f, -0.005928f, 0.000564f, -0.003952f, 0.010765f, -0.008199f, -0.001742f, 0.009123f, -0.007291f, 0.009861f, 0.011780f, 0.001586f, -0.001262f, 0.001015f, -0.014642f, -0.012987f, -0.003279f, 0.008114f, 0.000310f, -0.005704f, 0.005338f, 0.011972f, -0.008040f, -0.003749f, 0.003224f, -0.001105f, -0.005727f, -0.000053f, 0.001495f, -0.005533f, 0.000254f, -0.001541f, 0.002426f, 0.000708f, 0.004295f, 0.000580f, + 0.003361f, -0.002191f, -0.000947f, 0.000137f, 0.000348f, -0.000250f, 0.003004f, 0.001283f, 0.003511f, 0.003374f, 0.000288f, 0.000991f, -0.000563f, 0.002291f, 0.003491f, -0.001765f, 0.008900f, 0.007235f, 0.009722f, -0.009392f, -0.012426f, -0.006718f, 0.008441f, 0.000381f, 0.034950f, -0.002672f, -0.000868f, -0.008455f, -0.015809f, -0.023234f, -0.005139f, 0.007630f, 0.012278f, -0.007705f, -0.014882f, 0.001886f, 0.000119f, 0.014858f, -0.005002f, -0.006155f, 0.018384f, -0.010076f, 0.001184f, -0.014240f, 0.009076f, -0.002899f, 0.000058f, -0.003210f, -0.021624f, -0.013617f, 0.001135f, 0.011934f, 0.008004f, 0.000917f, -0.022406f, 0.014810f, -0.009063f, -0.009297f, -0.009676f, -0.012865f, -0.002020f, 0.012111f, -0.009939f, -0.010992f, 0.007500f, -0.003635f, 0.004301f, 0.022346f, -0.009798f, 0.000421f, 0.001099f, 0.009452f, -0.006648f, -0.006139f, -0.003112f, 0.014176f, -0.003226f, -0.007579f, -0.001339f, 0.011039f, 0.014413f, -0.014384f, -0.016299f, -0.005605f, -0.002426f, -0.005520f, 0.003448f, -0.011500f, -0.004055f, -0.010859f, -0.021530f, -0.008569f, -0.004985f, 0.002793f, -0.019801f, -0.005557f, + 0.000295f, 0.013931f, 0.000409f, -0.012248f, -0.000240f, -0.000584f, -0.003736f, -0.006812f, 0.000298f, 0.002809f, -0.001295f, 0.002061f, 0.001965f, -0.002765f, 0.004023f, -0.001741f, -0.004018f, 0.004293f, 0.005352f, -0.002397f, -0.005136f, -0.000238f, -0.001010f, 0.000821f, 0.004286f, 0.001523f, 0.000078f, 0.002943f, -0.001631f, -0.002661f, -0.002065f, -0.002912f, 0.004185f, -0.011406f, 0.009667f, 0.011813f, -0.008688f, -0.010516f, -0.008895f, 0.004820f, -0.000900f, 0.017119f, 0.029810f, -0.016729f, 0.001100f, -0.000688f, -0.002086f, 0.002787f, 0.008620f, -0.024474f, 0.021981f, -0.017243f, -0.008547f, 0.022144f, -0.005131f, -0.010571f, 0.007324f, 0.008192f, 0.000484f, -0.001223f, -0.017092f, 0.010678f, -0.002448f, 0.003719f, -0.011318f, 0.014111f, -0.001306f, -0.023546f, -0.025169f, 0.008425f, -0.004629f, -0.012977f, 0.006364f, -0.001061f, 0.038957f, 0.006556f, -0.007142f, -0.011586f, -0.022995f, -0.008132f, 0.004447f, -0.005575f, 0.017931f, -0.003780f, -0.026780f, -0.002572f, 0.018388f, -0.008021f, 0.002396f, 0.015922f, 0.010724f, -0.009003f, -0.001702f, 0.012899f, 0.017188f, -0.007825f, + 0.003346f, 0.002480f, -0.008315f, 0.003753f, -0.003840f, -0.001126f, 0.002546f, -0.003976f, -0.004865f, -0.016555f, -0.018157f, -0.015302f, 0.015272f, 0.008571f, 0.009941f, 0.004244f, 0.000095f, 0.006134f, -0.013256f, -0.007281f, -0.018544f, 0.009231f, -0.002365f, -0.002521f, -0.003793f, -0.002723f, -0.009475f, -0.005570f, 0.001908f, -0.003801f, 0.000540f, 0.000755f, 0.000634f, 0.003679f, 0.000440f, 0.004407f, -0.000511f, 0.003262f, -0.004338f, 0.002514f, -0.006490f, 0.000592f, -0.003103f, 0.005430f, 0.000223f, -0.003360f, -0.001047f, 0.001752f, -0.002816f, -0.003083f, -0.007586f, -0.007525f, -0.004239f, 0.007762f, 0.000471f, 0.002777f, 0.004802f, -0.019972f, 0.007575f, -0.021560f, 0.000835f, 0.007850f, -0.003487f, -0.016134f, -0.007594f, -0.003289f, 0.014448f, 0.011480f, -0.008605f, -0.008904f, 0.015406f, 0.006431f, -0.008926f, -0.009627f, -0.007514f, -0.001017f, 0.014897f, -0.002526f, 0.001351f, -0.000828f, -0.000184f, 0.019142f, 0.009485f, 0.012832f, -0.000900f, -0.000917f, 0.006602f, -0.009875f, -0.016661f, 0.013637f, 0.021908f, -0.014791f, 0.018834f, -0.005494f, -0.001908f, -0.008411f, + 0.009706f, 0.000634f, -0.010544f, 0.006462f, 0.017811f, 0.013978f, 0.006438f, -0.013331f, -0.005483f, -0.027034f, 0.004502f, 0.014158f, -0.008702f, -0.002121f, -0.010718f, 0.002862f, -0.006379f, 0.010570f, -0.006683f, 0.003567f, 0.012551f, 0.007218f, 0.023643f, 0.012431f, 0.008000f, 0.015187f, -0.012678f, 0.022764f, 0.007032f, 0.013870f, -0.004527f, -0.015565f, -0.024115f, -0.004504f, -0.004038f, -0.006215f, -0.005652f, 0.009070f, -0.016573f, 0.025172f, -0.004290f, -0.020196f, 0.011573f, 0.018842f, 0.007796f, 0.002514f, 0.003934f, 0.007137f, 0.002402f, -0.004054f, 0.004838f, -0.003702f, -0.000043f, 0.007984f, -0.000006f, -0.000184f, 0.008640f, 0.001351f, 0.004747f, -0.000599f, -0.004019f, 0.001437f, 0.000873f, -0.003315f, 0.002716f, 0.003661f, 0.000965f, -0.002318f, 0.002105f, 0.000858f, 0.006703f, 0.001619f, -0.001186f, 0.004373f, -0.005689f, 0.001828f, 0.001338f, -0.006078f, -0.009077f, -0.002387f, -0.003529f, -0.002177f, -0.004479f, -0.003016f, -0.001861f, -0.000605f, 0.011190f, -0.023811f, 0.017514f, 0.006064f, -0.003599f, 0.025849f, 0.020003f, -0.032825f, -0.021979f, 0.020712f, + 0.035554f, -0.003283f, 0.005254f, -0.003026f, -0.004478f, -0.003552f, -0.001466f, 0.009000f, 0.005362f, 0.021488f, 0.005301f, 0.020563f, 0.005819f, 0.008950f, -0.002782f, -0.011617f, 0.004999f, 0.001613f, -0.009472f, 0.015743f, 0.001631f, 0.006317f, 0.003689f, -0.003251f, -0.014586f, 0.001907f, -0.016549f, -0.005583f, -0.019154f, -0.012815f, -0.007740f, 0.016113f, 0.002313f, 0.007942f, 0.019730f, -0.008521f, -0.001636f, 0.002324f, 0.007094f, 0.002142f, 0.000495f, -0.005529f, 0.014609f, 0.032176f, 0.015488f, -0.025604f, -0.018247f, -0.018948f, 0.022228f, -0.003366f, -0.020573f, 0.012022f, -0.011528f, -0.001257f, -0.003361f, -0.001429f, -0.001580f, 0.000705f, 0.019487f, 0.032207f, 0.012183f, 0.027739f, 0.017793f, 0.008997f, 0.003616f, 0.006989f, -0.008926f, 0.029524f, 0.009559f, -0.015489f, -0.020737f, 0.009160f, 0.006825f, -0.005683f, 0.014796f, 0.027918f, 0.006443f, -0.010782f, 0.017396f, -0.001632f, -0.012792f, 0.002653f, 0.009755f, 0.001584f, -0.001694f, 0.001106f, 0.005357f, 0.009411f, 0.004179f, 0.004167f, 0.001070f, 0.006138f, -0.002604f, -0.001213f, -0.003624f, -0.001048f, + 0.012879f, -0.006849f, 0.004767f, -0.002030f, 0.003072f, 0.000302f, -0.003434f, 0.001907f, 0.004566f, 0.005594f, -0.002663f, 0.002283f, -0.005199f, -0.000159f, 0.002588f, -0.009326f, 0.003955f, -0.013318f, 0.003715f, 0.032026f, 0.006120f, 0.011247f, -0.010275f, 0.008207f, -0.015777f, -0.027908f, 0.000647f, 0.014845f, 0.004456f, 0.011909f, 0.016821f, 0.018447f, 0.001102f, -0.020258f, -0.017158f, -0.026818f, -0.041433f, -0.000782f, -0.004988f, 0.018261f, 0.013623f, -0.015616f, -0.008666f, 0.010684f, 0.021679f, -0.027187f, -0.017499f, -0.005277f, -0.014856f, -0.010187f, -0.005550f, 0.008331f, 0.016835f, 0.000696f, -0.010221f, -0.012623f, 0.017012f, -0.013648f, -0.005718f, -0.000469f, 0.023945f, -0.001745f, 0.001967f, -0.037648f, -0.002836f, 0.009112f, 0.019314f, 0.025032f, 0.005411f, -0.024275f, 0.011428f, 0.000418f, 0.011374f, 0.015734f, 0.002663f, 0.007872f, 0.018159f, 0.031654f, -0.021093f, -0.008408f, -0.001855f, 0.009645f, 0.033759f, 0.014138f, 0.011279f, 0.018858f, -0.006496f, -0.011230f, -0.020263f, -0.025605f, -0.015148f, -0.001066f, 0.016385f, 0.037507f, -0.023438f, -0.017305f, + -0.002403f, 0.036778f, -0.020630f, -0.012057f, -0.018426f, -0.003466f, -0.016514f, 0.005211f, 0.003157f, 0.008698f, 0.019582f, 0.003541f, 0.012546f, -0.008209f, -0.008065f, -0.010503f, 0.000851f, -0.005337f, -0.012206f, -0.011025f, -0.005339f, -0.002955f, -0.002528f, 0.012374f, -0.009314f, -0.002886f, -0.003501f, 0.008831f, 0.002251f, 0.006418f, -0.004193f, -0.004318f, 0.008915f, 0.002894f, 0.002366f, -0.007503f, 0.011486f, -0.005857f, -0.000294f, -0.004108f, 0.003663f, -0.004258f, 0.001210f, 0.007493f, 0.009136f, 0.016674f, 0.009421f, 0.023489f, -0.027782f, -0.019828f, -0.003094f, 0.040768f, 0.016484f, 0.001035f, 0.022059f, -0.013731f, 0.033100f, -0.007767f, -0.029056f, -0.005627f, -0.028874f, 0.023484f, 0.014031f, 0.009221f, 0.009144f, 0.000555f, -0.009259f, 0.011379f, 0.016921f, 0.008535f, -0.005894f, 0.015173f, 0.020267f, 0.018165f, -0.002259f, -0.015733f, 0.027462f, 0.006485f, -0.001676f, -0.004585f, 0.003305f, -0.017892f, 0.017823f, -0.003347f, -0.004935f, -0.022810f, -0.012423f, -0.014070f, 0.032038f, 0.011450f, 0.000350f, 0.004259f, 0.016565f, 0.023817f, 0.012147f, -0.030719f, + 0.028006f, -0.003264f, 0.016206f, 0.006943f, 0.024613f, -0.005601f, -0.032181f, 0.010144f, -0.001453f, 0.013371f, -0.005698f, -0.013118f, 0.011999f, -0.005081f, 0.008151f, 0.040596f, -0.004898f, -0.018606f, 0.000127f, 0.005395f, -0.019643f, 0.032737f, -0.014497f, -0.019636f, 0.028868f, -0.016708f, 0.014746f, 0.002028f, -0.020841f, -0.014763f, -0.020844f, 0.006679f, 0.017563f, -0.010332f, 0.010206f, 0.019504f, -0.010712f, 0.013798f, -0.004385f, 0.023070f, -0.008067f, 0.006975f, 0.007572f, -0.006175f, 0.000179f, 0.001036f, -0.010314f, -0.001199f, 0.009611f, -0.014450f, -0.002708f, 0.010902f, 0.005620f, 0.000506f, -0.008809f, 0.004649f, -0.002268f, 0.003811f, -0.009209f, -0.008863f, -0.004927f, 0.002136f, 0.002476f, -0.010698f, -0.006650f, 0.010432f, 0.001520f, 0.004692f, -0.010909f, 0.005322f, 0.001177f, -0.004782f, 0.002423f, 0.001828f, 0.003825f, -0.005649f, 0.000676f, -0.002616f, -0.000372f, -0.011628f, 0.008701f, -0.026831f, -0.005816f, 0.014456f, 0.002893f, -0.026240f, 0.006477f, -0.009197f, 0.018866f, 0.004691f, 0.009446f, -0.043829f, 0.012954f, 0.000833f, 0.016566f, 0.028286f, + 0.001040f, -0.003559f, 0.001897f, -0.014246f, 0.028230f, -0.027263f, 0.008414f, 0.017265f, 0.011327f, 0.015899f, -0.007725f, -0.013139f, -0.015737f, -0.028218f, 0.010710f, 0.004302f, 0.015960f, 0.029971f, -0.011796f, 0.025699f, 0.013509f, -0.024794f, -0.014603f, -0.000388f, 0.002210f, 0.001317f, -0.000725f, 0.012710f, 0.021560f, 0.020410f, 0.008125f, -0.051803f, 0.012300f, 0.015375f, 0.014815f, -0.034145f, 0.020132f, -0.017539f, 0.017396f, 0.002120f, 0.008938f, -0.004668f, 0.012908f, -0.004169f, 0.043492f, 0.021114f, -0.020253f, 0.002433f, -0.055915f, 0.009260f, -0.016887f, -0.016801f, 0.014974f, 0.011136f, -0.028399f, -0.055134f, 0.034252f, 0.021426f, -0.052323f, 0.020212f, -0.012301f, 0.019797f, -0.004947f, 0.004765f, 0.007485f, 0.000566f, -0.035470f, -0.012994f, -0.005679f, 0.011087f, -0.000966f, -0.008774f, 0.014013f, -0.018592f, -0.007998f, 0.019412f, -0.002332f, -0.001630f, 0.006074f, 0.004095f, 0.006938f, 0.003539f, -0.011059f, 0.004376f, -0.016214f, 0.009731f, -0.007486f, 0.005601f, 0.003431f, -0.004034f, -0.003063f, -0.002696f, -0.006229f, 0.002960f, -0.009632f, -0.001307f, + -0.008275f, -0.005471f, -0.013191f, 0.006539f, -0.004451f, -0.003170f, -0.007912f, 0.003456f, 0.005468f, 0.004279f, 0.002613f, 0.001391f, 0.001074f, 0.004894f, -0.001083f, 0.005303f, 0.003501f, 0.012116f, -0.007160f, -0.006425f, -0.011206f, 0.020340f, -0.015534f, 0.000172f, 0.003022f, 0.052217f, -0.007099f, 0.037712f, 0.009287f, 0.028403f, 0.001805f, 0.008128f, 0.009223f, 0.050348f, 0.050437f, -0.026037f, -0.023805f, 0.028825f, -0.036534f, 0.000045f, 0.009884f, -0.036410f, 0.020746f, 0.002951f, -0.002906f, -0.006600f, -0.011101f, 0.004417f, 0.003931f, 0.006856f, -0.022380f, 0.000211f, -0.005459f, -0.029405f, 0.015022f, 0.020532f, -0.032882f, -0.024453f, -0.012021f, 0.017763f, 0.017227f, 0.016518f, -0.001772f, -0.006639f, 0.015468f, 0.052429f, 0.028249f, -0.010285f, -0.006824f, -0.007111f, 0.035376f, -0.028257f, 0.013071f, 0.007529f, -0.044117f, -0.018255f, -0.001983f, 0.006036f, -0.037392f, 0.025786f, 0.016775f, 0.007535f, 0.007122f, 0.017891f, -0.035410f, -0.004264f, -0.029372f, 0.001330f, 0.018238f, 0.030697f, 0.018889f, -0.019385f, -0.010315f, -0.001522f, 0.001034f, -0.022276f, + 0.049874f, -0.003948f, 0.006645f, -0.011747f, 0.017114f, -0.003786f, 0.010013f, -0.004510f, 0.006229f, 0.004698f, 0.010862f, -0.001265f, 0.000197f, -0.004066f, 0.002588f, -0.000773f, -0.002793f, 0.014705f, -0.004374f, -0.010858f, -0.000610f, -0.001224f, 0.007542f, -0.011070f, 0.002543f, -0.009185f, -0.014372f, 0.008868f, -0.002650f, -0.009852f, 0.000824f, -0.000215f, 0.001734f, -0.008680f, 0.011524f, 0.002955f, 0.014146f, -0.017481f, -0.001176f, 0.008150f, -0.004368f, -0.014207f, -0.000224f, 0.015228f, 0.006933f, -0.004704f, 0.024055f, 0.037299f, -0.002598f, 0.002426f, -0.023102f, 0.001941f, -0.001018f, -0.016514f, -0.027587f, -0.005296f, -0.012774f, -0.020673f, -0.015113f, 0.023377f, -0.019816f, 0.016953f, -0.005973f, -0.004732f, 0.032740f, -0.022668f, -0.012647f, 0.005001f, 0.013207f, 0.001920f, -0.043316f, -0.026628f, 0.004955f, -0.006990f, 0.007027f, -0.006074f, -0.013596f, 0.027600f, 0.005915f, -0.002401f, -0.011342f, -0.062313f, 0.037410f, -0.011292f, -0.000679f, -0.005328f, 0.002382f, 0.017832f, -0.010375f, -0.017023f, -0.029074f, -0.002770f, 0.012838f, -0.017978f, -0.023037f, 0.009469f, + 0.036579f, -0.006241f, 0.034019f, 0.025016f, -0.024900f, 0.045767f, 0.030277f, -0.030235f, -0.046664f, -0.013454f, -0.020336f, 0.002467f, -0.014785f, -0.003660f, 0.022354f, -0.039053f, 0.019116f, -0.006375f, -0.021923f, -0.024520f, -0.024456f, -0.029672f, 0.006179f, 0.017758f, -0.015921f, 0.025389f, -0.003304f, -0.014870f, -0.030565f, 0.000467f, -0.003423f, 0.011788f, 0.036486f, -0.013223f, -0.027638f, -0.009679f, 0.000810f, 0.009350f, 0.024972f, 0.006537f, -0.003087f, -0.020491f, -0.000149f, 0.000736f, 0.009294f, 0.003835f, 0.000058f, 0.006871f, 0.010237f, -0.007696f, 0.012779f, -0.007389f, 0.005858f, 0.014798f, 0.013376f, 0.000786f, -0.020888f, -0.008617f, 0.003197f, 0.005128f, -0.014516f, 0.023561f, -0.014284f, 0.010754f, 0.012771f, -0.009709f, 0.001292f, 0.002564f, -0.005504f, -0.020027f, 0.004277f, 0.008951f, 0.001619f, 0.016774f, 0.011753f, -0.011456f, -0.039542f, 0.071956f, 0.101266f, -0.009770f, 0.012338f, 0.006503f, 0.024527f, 0.049106f, -0.046872f, 0.000565f, 0.008120f, 0.000933f, -0.016905f, 0.002537f, -0.020885f, 0.024653f, 0.060324f, -0.012731f, 0.001295f, 0.003449f, + 0.018273f, 0.001684f, 0.007082f, 0.023209f, -0.046483f, -0.003455f, 0.045602f, 0.046867f, -0.054768f, -0.011611f, 0.007874f, 0.007722f, 0.016296f, 0.041254f, 0.011598f, 0.083201f, 0.013841f, 0.025686f, 0.012249f, -0.013054f, -0.017268f, -0.000979f, -0.058386f, -0.083961f, -0.028442f, -0.027237f, -0.087500f, 0.013714f, -0.002095f, -0.048846f, -0.023860f, -0.081839f, -0.008969f, -0.011251f, 0.055776f, -0.054650f, 0.034086f, -0.037337f, -0.003063f, -0.024548f, -0.019410f, 0.021968f, 0.050119f, -0.038621f, -0.014520f, -0.003484f, -0.011460f, -0.004080f, 0.021128f, 0.040223f, 0.042901f, -0.030611f, 0.086313f, 0.057932f, 0.007522f, -0.032723f, -0.071062f, -0.016096f, -0.026465f, -0.019371f, 0.004666f, 0.022835f, -0.014933f, 0.008532f, 0.026780f, 0.004373f, -0.008529f, 0.027256f, 0.018112f, 0.009363f, 0.011926f, 0.028615f, 0.028815f, 0.000251f, 0.002336f, 0.011591f, 0.010788f, -0.004679f, -0.008616f, -0.004909f, 0.005252f, -0.000678f, -0.003657f, 0.001836f, -0.005762f, 0.004020f, 0.018783f, -0.000774f, 0.006614f, 0.022996f, -0.006024f, -0.008190f, -0.008807f, -0.000933f, -0.012769f, -0.002523f, + 0.010866f, -0.005924f, -0.003503f, 0.002249f, 0.000058f, 0.002009f, -0.001829f, 0.009087f, -0.006136f, -0.006273f, 0.014853f, 0.010579f, -0.011614f, -0.000541f, -0.006223f, -0.036161f, 0.066247f, 0.110277f, -0.025902f, -0.005616f, 0.019645f, 0.049385f, 0.016689f, -0.028636f, 0.018034f, -0.024451f, 0.006443f, 0.015657f, -0.005819f, -0.032986f, 0.010047f, 0.035215f, -0.008654f, -0.050248f, 0.039495f, -0.011474f, 0.032266f, -0.011811f, -0.007820f, -0.012321f, -0.020221f, -0.000716f, 0.035838f, 0.020051f, 0.006050f, 0.028984f, -0.013567f, -0.011327f, 0.011156f, -0.015300f, 0.020141f, 0.011782f, 0.030732f, 0.052519f, 0.046072f, -0.032918f, -0.061379f, -0.022333f, -0.003693f, 0.048313f, -0.018266f, 0.008718f, 0.019605f, -0.018941f, -0.028182f, -0.045219f, -0.046417f, 0.036883f, 0.039347f, -0.031103f, -0.111987f, 0.009453f, -0.007700f, -0.015195f, 0.008916f, -0.010998f, -0.044802f, -0.020819f, -0.010347f, -0.031075f, -0.013170f, 0.047954f, 0.018302f, 0.027735f, -0.010572f, -0.015404f, -0.009913f, 0.026768f, 0.004691f, 0.005202f, 0.023061f, 0.066463f, -0.005541f, -0.009490f, -0.033207f, -0.031392f, + -0.045944f, -0.004721f, 0.026387f, 0.018093f, -0.018601f, 0.014083f, -0.008455f, -0.010706f, -0.019009f, -0.017257f, 0.016215f, -0.013292f, 0.015829f, 0.007602f, 0.009057f, -0.009584f, -0.014138f, 0.016541f, 0.010330f, -0.003760f, 0.012548f, -0.016657f, 0.007413f, -0.001981f, 0.010390f, -0.005276f, -0.009420f, -0.005142f, -0.004530f, 0.011773f, 0.005943f, -0.000165f, -0.011639f, -0.002443f, 0.024161f, -0.016717f, -0.000148f, -0.016214f, 0.020777f, -0.010632f, -0.004307f, -0.014925f, 0.002497f, -0.006138f, 0.002498f, 0.017795f, 0.017782f, 0.004072f, 0.000578f, -0.006199f, -0.023452f, -0.003489f, -0.019336f, 0.010270f, -0.027495f, -0.045728f, -0.009647f, -0.007833f, 0.008749f, -0.015756f, 0.035374f, -0.021083f, -0.071071f, -0.038926f, 0.025057f, -0.033876f, 0.040022f, 0.035206f, -0.015313f, -0.005614f, 0.005497f, -0.021997f, 0.000469f, 0.011386f, -0.002743f, 0.006097f, 0.050605f, 0.041654f, -0.010797f, -0.066776f, -0.050107f, 0.003538f, 0.035637f, -0.026970f, -0.011121f, -0.031655f, -0.039904f, 0.003489f, -0.010993f, -0.047436f, -0.051049f, -0.075652f, 0.030707f, 0.010175f, 0.002030f, 0.043282f, + 0.058738f, -0.002520f, -0.043266f, -0.033353f, -0.034929f, -0.020176f, -0.012143f, 0.013049f, 0.022950f, -0.020395f, -0.031781f, -0.039431f, 0.021121f, 0.018058f, -0.038198f, -0.036941f, -0.014428f, -0.006633f, -0.022177f, 0.013679f, 0.094929f, 0.056586f, 0.110809f, 0.036721f, -0.058481f, 0.068621f, -0.002765f, -0.035487f, 0.003645f, -0.033424f, -0.072273f, -0.030225f, 0.016830f, 0.034341f, -0.007979f, 0.031617f, 0.018568f, 0.070139f, 0.076947f, 0.062946f, 0.021109f, -0.017988f, -0.010996f, -0.010656f, 0.013506f, 0.017617f, -0.026577f, -0.010117f, 0.004503f, 0.057148f, -0.007917f, 0.004711f, -0.006182f, 0.020514f, 0.020948f, 0.024288f, -0.001201f, 0.000232f, 0.000440f, 0.005084f, -0.002225f, 0.003219f, -0.020904f, -0.006952f, -0.007156f, -0.019858f, -0.020260f, -0.009621f, 0.007351f, 0.024016f, -0.015701f, 0.003409f, 0.008503f, 0.027325f, 0.037325f, 0.025309f, 0.023852f, 0.026334f, 0.005852f, -0.010234f, -0.020566f, -0.029861f, -0.036864f, -0.029274f, -0.017166f, -0.035223f, -0.035574f, -0.014016f, -0.006301f, 0.065893f, -0.037418f, 0.004297f, 0.019381f, -0.008315f, -0.048838f, 0.049399f, + 0.047200f, -0.027157f, -0.037337f, 0.005100f, 0.065356f, -0.034277f, 0.018648f, 0.041856f, 0.012845f, -0.015775f, -0.031184f, -0.020532f, 0.014535f, -0.004989f, 0.011091f, -0.018326f, 0.012245f, -0.040568f, 0.059375f, -0.005764f, 0.013382f, -0.002831f, -0.074713f, 0.023269f, -0.020634f, 0.038526f, 0.023292f, 0.041165f, -0.016018f, -0.072140f, 0.051851f, 0.023275f, -0.024441f, -0.044926f, 0.037196f, 0.019855f, 0.039552f, 0.039817f, -0.034687f, 0.015958f, 0.041738f, -0.061116f, 0.056048f, 0.027508f, -0.001698f, 0.017762f, -0.031596f, 0.070067f, -0.007827f, 0.046097f, 0.020791f, 0.081366f, -0.005634f, -0.014317f, 0.011539f, 0.033074f, 0.022058f, 0.023007f, 0.082309f, 0.004784f, 0.020175f, 0.048015f, -0.031706f, 0.032934f, 0.003974f, -0.054740f, 0.020434f, -0.018480f, 0.061929f, -0.045611f, -0.054681f, -0.057030f, 0.048741f, 0.079855f, -0.025439f, 0.020288f, -0.094155f, 0.008931f, 0.004608f, -0.003654f, -0.044059f, 0.007322f, 0.018742f, -0.014628f, -0.012064f, -0.011905f, 0.029917f, 0.013934f, -0.018760f, -0.020372f, -0.011653f, -0.004860f, -0.005831f, 0.008497f, -0.032415f, -0.019543f, + 0.017336f, 0.007058f, 0.006218f, 0.000971f, 0.014949f, -0.002611f, -0.001646f, -0.019161f, 0.025670f, 0.031842f, -0.013566f, -0.049759f, -0.033485f, -0.000448f, 0.000145f, 0.009441f, 0.002605f, -0.015755f, -0.024327f, -0.013502f, 0.009307f, 0.014252f, 0.039916f, 0.013366f, 0.002187f, 0.000562f, -0.029577f, -0.006203f, 0.030959f, 0.018117f, -0.120909f, 0.006640f, -0.014839f, 0.003779f, 0.093553f, 0.077061f, 0.110793f, 0.058549f, -0.029515f, -0.022561f, -0.045961f, -0.061199f, 0.021506f, 0.005385f, 0.016031f, 0.019478f, -0.017879f, 0.027878f, 0.047214f, 0.008701f, -0.012700f, -0.016002f, -0.033520f, -0.022250f, -0.020278f, 0.009245f, 0.015006f, -0.048067f, -0.028484f, -0.006628f, 0.032203f, -0.014558f, 0.020723f, 0.025806f, -0.068355f, -0.067302f, 0.012717f, 0.019506f, 0.014937f, -0.050805f, -0.023410f, -0.045634f, -0.022140f, -0.020896f, 0.043951f, -0.057841f, -0.080582f, -0.030281f, 0.015917f, 0.013686f, -0.062169f, -0.049885f, -0.039259f, -0.029702f, 0.033503f, 0.047299f, 0.002070f, -0.016083f, -0.019722f, -0.010984f, -0.010549f, -0.021392f, -0.069012f, 0.022665f, 0.051725f, 0.047055f, + 0.014579f, 0.064275f, 0.086872f, -0.007596f, -0.011264f, 0.066553f, -0.016207f, -0.040545f, -0.091667f, -0.031222f, 0.012388f, -0.050289f, -0.033739f, 0.023513f, -0.008325f, 0.032613f, 0.057018f, -0.034805f, -0.054053f, -0.017903f, -0.023253f, -0.013436f, -0.014748f, -0.014566f, 0.005970f, 0.008239f, 0.006567f, 0.011576f, -0.019493f, 0.016866f, -0.026887f, -0.003264f, 0.016532f, 0.022261f, -0.024042f, -0.033432f, 0.018993f, -0.007662f, 0.001111f, -0.023356f, 0.027414f, -0.016192f, -0.005934f, -0.006484f, 0.025358f, -0.021643f, 0.027518f, -0.012345f, -0.013050f, 0.018225f, 0.004682f, 0.014500f, -0.011691f, 0.001217f, 0.005270f, 0.029735f, -0.003647f, 0.007000f, 0.079369f, 0.027887f, 0.006401f, 0.029006f, -0.032934f, 0.002170f, -0.016841f, -0.024562f, 0.014650f, 0.005825f, -0.020570f, -0.034097f, -0.019663f, -0.031648f, -0.025819f, 0.010430f, -0.019936f, -0.009650f, 0.014847f, -0.009788f, 0.003320f, -0.010896f, 0.039416f, -0.030810f, 0.032302f, 0.011818f, 0.003584f, -0.029796f, -0.012935f, 0.023902f, 0.009591f, -0.000468f, 0.018967f, -0.003301f, -0.007975f, -0.012152f, -0.010399f, -0.008117f, + 0.003481f, -0.000075f, 0.003909f, -0.034912f, 0.018296f, -0.014550f, -0.013821f, 0.012289f, 0.008265f, 0.004664f, -0.006721f, 0.024646f, 0.021014f, -0.030541f, 0.027288f, -0.003747f, 0.018466f, 0.037072f, -0.007903f, 0.020107f, 0.018920f, -0.018302f, -0.013258f, -0.024423f, 0.002038f, 0.004309f, -0.039466f, 0.016314f, 0.005800f, 0.030696f, -0.012224f, -0.069629f, 0.043541f, 0.002742f, 0.001091f, 0.000991f, -0.030960f, -0.009633f, -0.008296f, -0.010318f, -0.045048f, 0.025641f, 0.012657f, 0.027647f, -0.020186f, 0.012218f, -0.022624f, -0.020372f, 0.000734f, 0.017580f, 0.013914f, 0.000546f, -0.002789f, -0.006210f, 0.001334f, -0.010207f, -0.002342f, 0.029812f, -0.012309f, 0.005991f, 0.002996f, 0.008525f, -0.018482f, 0.019872f, -0.000973f, -0.003688f, 0.004394f, -0.001891f, 0.004282f, 0.006708f, -0.016851f, -0.002211f, 0.000030f, -0.003042f, -0.003311f, 0.009144f, -0.010876f, 0.013308f, 0.018956f, 0.007325f, -0.012280f, -0.000535f, -0.002796f, -0.011122f, 0.013736f, -0.003831f, 0.007368f, -0.040940f, -0.115896f, -0.172578f, 0.036293f, 0.135465f, 0.005703f, 0.370960f, 0.342116f, 0.234898f, + 0.404212f, 0.310830f, 0.042352f, 0.006608f, -0.041880f, -0.296417f, -0.302215f, -0.229880f, -0.395870f, -0.369271f, -0.105517f, -0.123250f, -0.124513f, 0.029550f, 0.074978f, -0.061859f, -0.020578f, 0.118688f, 0.075664f, -0.004124f, 0.088323f, 0.061184f, 0.004634f, 0.073880f, 0.175048f, 0.115100f, 0.040144f, 0.179312f, 0.132754f, 0.010350f, 0.154123f, 0.208890f, 0.050167f, 0.022609f, 0.213119f, 0.058367f, -0.082979f, 0.107299f, 0.164160f, -0.083897f, 0.038346f, 0.229439f, 0.021795f, 0.037911f, 0.276989f, 0.217682f, 0.018384f, 0.172719f, 0.229086f, -0.079549f, -0.047137f, 0.065186f, -0.187417f, -0.313122f, -0.211329f, -0.345296f, -0.512926f, -0.471124f, -0.526955f, -0.671169f, -0.708180f, -0.626480f, -0.662043f, -0.623547f, -0.468169f, -0.373939f, -0.194777f, -0.048576f, 0.110108f, 0.384060f, 0.446984f, 0.485273f, 0.752987f, 0.736162f, 0.494250f, 0.636368f, 0.497283f, 0.197777f, 0.218611f, 0.309146f, 0.151191f, 0.098502f, 0.230987f, 0.164737f, -0.001056f, 0.078892f, 0.179492f, 0.044669f, 0.012399f, 0.133750f, 0.030799f, -0.139557f, 0.044959f, 0.109523f, -0.032225f, 0.098059f, + 0.261389f, 0.103389f, 0.058585f, 0.230055f, 0.125435f, -0.045520f, 0.026659f, -0.059858f, -0.276351f, -0.338432f, -0.336275f, -0.423989f, -0.478946f, -0.396251f, -0.380962f, -0.434352f, -0.392035f, -0.324221f, -0.373407f, -0.341858f, -0.230492f, -0.183543f, -0.175757f, -0.072643f, 0.040874f, 0.048861f, 0.155287f, 0.262841f, 0.276421f, 0.273273f, 0.308792f, 0.285204f, 0.203592f, 0.172427f, 0.153389f, 0.105381f, 0.085696f, 0.105797f, 0.093664f, 0.062624f, 0.065071f, 0.071356f, 0.059524f, 0.057886f, 0.074784f, 0.065060f, 0.043208f, 0.031964f, 0.023129f, -0.010026f, -0.020698f, -0.020894f, -0.020117f, -0.009408f, -0.002847f}, + {0.006995f, 0.009644f, -0.005667f, 0.000385f, 0.000319f, -0.006929f, 0.009254f, -0.003701f, -0.003609f, 0.002632f, -0.009536f, -0.004290f, 0.010232f, 0.002311f, -0.004163f, 0.007257f, 0.002256f, 0.001544f, -0.001492f, 0.003533f, -0.000056f, -0.012246f, -0.000579f, -0.004552f, -0.000544f, -0.000278f, -0.011708f, 0.000170f, -0.007525f, 0.000398f, 0.001188f, 0.005219f, 0.006259f, 0.002053f, 0.001558f, 0.001138f, 0.005408f, -0.002969f, 0.001852f, 0.000335f, 0.000853f, 0.001119f, -0.001618f, 0.004819f, 0.007225f, -0.013881f, 0.006450f, -0.003636f, -0.008339f, -0.005344f, 0.010649f, 0.005330f, -0.003590f, 0.006038f, 0.001764f, -0.003822f, 0.003756f, 0.000075f, 0.000000f, 0.000553f, 0.000733f, -0.001451f, 0.000087f, 0.000783f, -0.000609f, 0.004571f, -0.002839f, -0.006412f, -0.006203f, -0.000041f, 0.002094f, -0.000396f, 0.000304f, 0.003497f, -0.001373f, 0.006141f, -0.006484f, -0.001938f, 0.005003f, 0.005393f, -0.003703f, 0.006080f, 0.002145f, -0.001574f, -0.004097f, -0.001902f, -0.001746f, -0.001634f, -0.001618f, -0.000808f, -0.000226f, -0.000892f, -0.001705f, 0.000524f, 0.001234f, -0.002440f, + -0.000632f, -0.000783f, 0.001275f, -0.002121f, -0.000478f, 0.000306f, 0.005155f, 0.000370f, -0.004109f, 0.002569f, -0.002213f, -0.003295f, 0.000811f, -0.006932f, -0.000828f, -0.005198f, 0.001820f, 0.003230f, 0.003116f, 0.002466f, -0.005405f, -0.000394f, -0.004479f, 0.004782f, -0.009241f, -0.005258f, 0.004662f, -0.010142f, -0.001146f, -0.000684f, 0.002581f, 0.002207f, 0.004975f, 0.010494f, 0.004845f, -0.001328f, -0.000040f, -0.003780f, -0.002936f, -0.018583f, -0.017098f, -0.001164f, 0.012643f, -0.003163f, 0.010097f, 0.000863f, 0.002881f, -0.003164f, -0.014379f, 0.007410f, 0.002266f, -0.004346f, 0.003531f, -0.007640f, -0.001560f, 0.004293f, 0.001892f, 0.013452f, -0.009256f, 0.008153f, -0.004248f, -0.010636f, -0.004940f, -0.002917f, -0.002926f, 0.003736f, 0.003160f, -0.008579f, -0.003828f, -0.004895f, -0.001831f, 0.008241f, 0.008807f, 0.009465f, -0.006964f, 0.001168f, -0.004372f, -0.000590f, -0.003679f, -0.004695f, -0.005693f, -0.006394f, 0.003511f, 0.000990f, -0.000993f, -0.002330f, 0.000833f, 0.003580f, -0.003666f, -0.003220f, -0.001649f, 0.004103f, -0.001436f, -0.000790f, -0.001803f, -0.002087f, + -0.000526f, 0.000895f, -0.000060f, -0.000350f, 0.000679f, 0.000899f, -0.000274f, -0.000400f, 0.002625f, -0.002079f, -0.001320f, 0.001008f, -0.001281f, 0.002031f, -0.001284f, -0.001413f, -0.000289f, -0.000259f, 0.001269f, -0.000669f, -0.000648f, 0.000761f, 0.000160f, -0.002070f, 0.000665f, 0.000483f, 0.006908f, -0.006545f, -0.008447f, -0.007337f, 0.000219f, -0.002906f, -0.002335f, -0.005808f, 0.001263f, -0.006487f, -0.000463f, -0.002677f, 0.009942f, -0.006406f, -0.007001f, -0.015648f, -0.020286f, -0.004924f, -0.009039f, -0.008334f, -0.001979f, 0.004188f, -0.005144f, -0.012192f, 0.007561f, -0.017677f, 0.005318f, -0.002982f, -0.003163f, 0.011405f, 0.008066f, 0.004209f, 0.001594f, -0.001984f, -0.001804f, -0.004312f, 0.001864f, 0.007734f, -0.006221f, 0.007333f, 0.006809f, 0.001957f, 0.001028f, 0.003042f, 0.005224f, -0.011503f, -0.004956f, 0.010933f, -0.008462f, 0.000698f, -0.000141f, 0.006681f, -0.000807f, -0.002569f, 0.001302f, 0.011344f, 0.006328f, 0.003938f, 0.003704f, 0.006315f, -0.009992f, 0.007733f, -0.008147f, 0.007160f, 0.004771f, -0.002144f, -0.001393f, -0.003430f, -0.004448f, -0.007321f, + -0.000323f, -0.002296f, -0.005773f, -0.006461f, -0.003578f, -0.003764f, -0.000602f, -0.000448f, -0.001717f, 0.008613f, -0.003510f, -0.001629f, -0.005811f, 0.005967f, 0.000086f, -0.001335f, 0.001325f, -0.002526f, -0.004172f, 0.000082f, 0.002440f, -0.000296f, -0.000356f, -0.002755f, 0.000847f, -0.000917f, -0.002413f, 0.000151f, 0.000608f, 0.001350f, -0.000254f, 0.000883f, 0.000810f, 0.002016f, 0.000761f, -0.002220f, 0.000154f, 0.001134f, -0.000262f, -0.001948f, -0.001155f, 0.002834f, 0.001531f, -0.001542f, -0.000611f, -0.000617f, 0.004071f, -0.010753f, -0.000257f, -0.005046f, -0.009876f, -0.004593f, -0.001838f, -0.006886f, -0.002326f, -0.006353f, -0.002479f, 0.005003f, 0.006731f, -0.011158f, -0.006348f, 0.003655f, -0.002223f, -0.012191f, 0.008109f, 0.014521f, 0.003044f, -0.003421f, -0.006789f, 0.001606f, 0.007013f, 0.013136f, -0.006680f, -0.002783f, -0.008422f, -0.006753f, 0.007260f, 0.007288f, -0.010222f, 0.006004f, -0.003268f, -0.006521f, 0.010328f, -0.000027f, 0.005632f, -0.014149f, 0.000973f, -0.009073f, 0.002051f, -0.011272f, -0.007080f, -0.001842f, -0.002634f, 0.023510f, 0.007460f, 0.006096f, + 0.004586f, -0.017504f, 0.009785f, 0.006810f, -0.003869f, -0.000440f, 0.007629f, -0.001084f, 0.008061f, 0.009335f, 0.009281f, -0.005385f, 0.000677f, -0.003006f, 0.004938f, -0.004413f, -0.004671f, 0.003074f, -0.004388f, 0.002073f, 0.002902f, 0.000161f, 0.005464f, 0.002169f, -0.010385f, -0.001255f, -0.001328f, 0.003263f, -0.011771f, -0.003782f, -0.002992f, 0.008297f, -0.002533f, -0.001379f, -0.006366f, -0.001682f, 0.000408f, -0.000598f, -0.002970f, 0.000086f, -0.001931f, 0.002146f, 0.000751f, 0.000019f, 0.000337f, 0.000792f, -0.001531f, -0.004377f, 0.002311f, 0.000980f, -0.002528f, 0.001216f, -0.001387f, 0.000524f, 0.000531f, 0.001571f, -0.000362f, -0.000525f, -0.001110f, 0.001006f, -0.001822f, 0.001711f, -0.002072f, -0.000105f, -0.000181f, 0.001366f, -0.001380f, -0.000529f, -0.002000f, -0.001147f, -0.001847f, -0.014548f, -0.008119f, 0.005956f, -0.006375f, 0.017073f, 0.007506f, 0.016715f, -0.000260f, -0.008166f, -0.008711f, -0.011725f, 0.017837f, -0.004368f, 0.008146f, 0.009117f, 0.001880f, 0.006420f, 0.005816f, 0.005679f, 0.002253f, -0.011779f, -0.000680f, -0.004550f, -0.001773f, 0.008083f, + -0.000741f, -0.000719f, 0.005622f, 0.003560f, 0.005823f, -0.005117f, -0.018594f, -0.011084f, -0.007050f, 0.013688f, -0.012376f, -0.003739f, 0.008371f, -0.000941f, 0.001548f, -0.010369f, 0.017983f, 0.000985f, -0.007021f, 0.014214f, -0.008743f, 0.022017f, 0.011363f, -0.004965f, 0.002536f, -0.006268f, -0.004300f, -0.020276f, 0.007175f, -0.009234f, -0.001448f, -0.000788f, -0.004451f, 0.008697f, -0.003402f, -0.008848f, -0.008640f, 0.002016f, -0.007895f, -0.008677f, 0.004950f, 0.000777f, 0.006250f, -0.003383f, -0.018521f, 0.006405f, 0.008039f, 0.010359f, -0.009968f, -0.011198f, 0.001454f, 0.018364f, 0.002949f, -0.009473f, -0.004352f, -0.001593f, 0.005029f, 0.000935f, 0.005356f, -0.005381f, -0.002050f, -0.001042f, -0.006641f, -0.005417f, 0.008157f, -0.001337f, 0.003200f, -0.000685f, -0.002323f, -0.005167f, -0.000498f, 0.000232f, 0.002030f, -0.000940f, 0.001888f, -0.001314f, -0.004221f, -0.001661f, -0.000581f, -0.000062f, -0.000760f, 0.003215f, 0.000185f, 0.003479f, -0.001155f, -0.000204f, -0.000529f, -0.003702f, -0.000005f, 0.001987f, 0.001946f, 0.014687f, -0.013514f, 0.006749f, 0.017239f, -0.012429f, + 0.003410f, -0.006984f, -0.013554f, 0.020059f, 0.007493f, 0.018643f, 0.017165f, 0.002533f, -0.013703f, -0.008371f, 0.007104f, -0.000873f, 0.002959f, -0.014799f, 0.001545f, -0.026311f, -0.011073f, -0.020519f, 0.012658f, -0.011648f, -0.000430f, 0.003805f, -0.003405f, -0.005294f, 0.006222f, 0.006275f, 0.018201f, -0.002510f, -0.004052f, -0.013918f, -0.011923f, 0.011662f, 0.002492f, 0.004042f, 0.021770f, -0.006558f, 0.000141f, 0.011626f, -0.005215f, 0.005394f, 0.003982f, 0.011636f, 0.010428f, -0.007195f, -0.001145f, -0.014751f, 0.015371f, -0.010062f, -0.013358f, -0.012799f, 0.008113f, -0.004723f, -0.007047f, 0.015184f, -0.004730f, 0.015738f, -0.009675f, -0.007310f, -0.002020f, 0.010323f, 0.013322f, -0.000969f, -0.014413f, 0.005247f, -0.009218f, 0.018790f, 0.003873f, 0.011058f, -0.015096f, -0.006615f, 0.004027f, -0.003822f, 0.009075f, 0.001389f, -0.005149f, 0.005486f, 0.012032f, 0.017040f, 0.013097f, 0.000247f, -0.003088f, -0.000155f, 0.002821f, 0.000314f, -0.002960f, 0.002045f, -0.002495f, -0.000364f, 0.004833f, 0.000307f, -0.002397f, 0.005240f, -0.001676f, -0.002714f, 0.001343f, 0.001866f, + -0.000109f, -0.003214f, 0.001187f, -0.002199f, 0.000454f, -0.004391f, -0.005491f, 0.001415f, 0.002057f, -0.000114f, 0.004241f, -0.001495f, 0.001914f, 0.008687f, -0.022997f, 0.008000f, 0.006871f, 0.004559f, -0.017379f, 0.013260f, 0.021948f, -0.021409f, 0.008175f, -0.013178f, 0.008649f, 0.001129f, 0.007774f, -0.006371f, -0.000449f, 0.005016f, -0.014522f, -0.007252f, -0.006242f, 0.011486f, 0.012133f, -0.004007f, 0.005716f, -0.002994f, 0.008974f, 0.011381f, 0.004480f, 0.003415f, -0.011544f, -0.004377f, -0.014424f, -0.016044f, -0.011170f, 0.001042f, -0.005333f, -0.000782f, -0.006666f, -0.015977f, -0.005378f, 0.003213f, 0.001470f, -0.001005f, 0.024154f, -0.019568f, 0.007225f, -0.009766f, -0.002794f, -0.006101f, -0.006127f, 0.010217f, -0.006100f, 0.000744f, -0.007394f, -0.004988f, -0.008987f, 0.012271f, -0.011304f, 0.010059f, -0.002614f, 0.010048f, -0.000900f, 0.001486f, -0.001030f, 0.009710f, 0.005652f, -0.000326f, 0.020948f, 0.000789f, -0.010474f, 0.005470f, -0.009420f, -0.011630f, -0.013951f, 0.013536f, 0.004817f, 0.012053f, 0.012348f, 0.014417f, 0.008513f, -0.001787f, -0.002581f, -0.002659f, + 0.013926f, -0.002091f, 0.015612f, 0.003280f, -0.000657f, -0.002429f, 0.005361f, 0.007898f, 0.002087f, 0.003217f, 0.001104f, -0.001106f, 0.001562f, -0.002671f, 0.004203f, 0.000141f, 0.003606f, -0.001119f, 0.003422f, -0.000418f, -0.005444f, 0.002651f, 0.003758f, -0.000057f, 0.003058f, -0.001016f, 0.000178f, -0.003207f, 0.002641f, -0.000809f, 0.001295f, 0.005731f, 0.005778f, -0.024193f, -0.001923f, 0.003131f, -0.005603f, -0.019056f, 0.021787f, -0.001420f, 0.000794f, 0.018507f, -0.005192f, -0.019074f, 0.006709f, 0.012479f, 0.023631f, -0.001532f, 0.009976f, 0.002033f, -0.020832f, -0.006129f, -0.010841f, 0.010585f, 0.006018f, 0.005524f, -0.007812f, -0.001436f, -0.000901f, 0.001892f, -0.007062f, 0.009857f, 0.002714f, -0.008390f, 0.012190f, 0.001709f, -0.013697f, -0.011495f, 0.003168f, 0.014768f, 0.013241f, -0.018540f, 0.036215f, -0.001812f, 0.000656f, 0.009957f, -0.001468f, -0.004773f, -0.000352f, 0.023281f, -0.011685f, 0.011508f, -0.002837f, 0.016113f, 0.004835f, 0.014441f, -0.005519f, -0.011380f, 0.007999f, 0.012347f, -0.006155f, -0.013831f, -0.015046f, -0.013244f, -0.006009f, -0.002682f, + 0.013761f, 0.000333f, 0.011959f, -0.001446f, -0.003969f, 0.011879f, -0.010389f, -0.020050f, -0.005345f, -0.012804f, -0.012063f, -0.022294f, 0.016617f, 0.014501f, 0.005954f, -0.034570f, 0.008119f, 0.007279f, -0.002593f, -0.001016f, -0.012064f, 0.016516f, 0.008454f, 0.006539f, 0.004036f, 0.015168f, -0.001323f, -0.001087f, 0.001118f, -0.000156f, 0.003523f, 0.001720f, 0.000068f, 0.004649f, -0.002802f, -0.000629f, -0.003579f, 0.001038f, 0.001202f, 0.005122f, -0.003585f, -0.000563f, -0.001410f, 0.003946f, -0.001830f, 0.001467f, 0.002334f, 0.003158f, -0.002742f, 0.007579f, -0.000021f, -0.000233f, -0.002793f, 0.002958f, -0.004751f, 0.001673f, 0.000194f, -0.006940f, -0.001629f, -0.001152f, -0.013783f, -0.000931f, 0.001074f, 0.010039f, -0.014505f, 0.000736f, -0.002224f, -0.006055f, -0.030131f, -0.003651f, 0.014254f, 0.011000f, 0.014606f, 0.001688f, -0.016181f, 0.042807f, 0.018034f, 0.029113f, 0.003069f, -0.012749f, -0.005057f, -0.004137f, -0.018136f, -0.001147f, -0.007095f, 0.009122f, 0.000089f, 0.000942f, -0.005781f, -0.007772f, -0.015324f, 0.005178f, 0.001561f, 0.000756f, 0.007978f, -0.000656f, + 0.003417f, -0.001533f, -0.013302f, -0.010368f, 0.008134f, 0.000049f, 0.019505f, -0.024579f, 0.019732f, 0.012070f, -0.008616f, -0.017770f, -0.027695f, 0.005873f, 0.021975f, -0.011211f, 0.021275f, -0.001661f, -0.000877f, 0.004879f, -0.006155f, -0.024635f, 0.003031f, 0.011655f, 0.005271f, -0.010696f, -0.002724f, -0.006707f, 0.005529f, 0.011957f, -0.000544f, 0.003060f, -0.001538f, 0.011514f, -0.005067f, -0.003919f, 0.007937f, -0.006797f, 0.018194f, -0.004828f, -0.009082f, 0.006743f, -0.016301f, -0.008352f, 0.000232f, 0.006499f, -0.007010f, 0.003061f, -0.002488f, 0.003624f, 0.000221f, 0.004304f, 0.003826f, -0.001451f, 0.002329f, -0.007759f, 0.004318f, -0.001051f, -0.010386f, -0.003640f, -0.002864f, -0.006311f, 0.000110f, 0.001836f, -0.004795f, -0.003508f, -0.000115f, -0.006649f, 0.000597f, 0.001706f, -0.001330f, -0.007038f, 0.000750f, -0.000105f, -0.005197f, 0.002192f, 0.004062f, -0.004328f, -0.000150f, 0.001266f, 0.000557f, 0.002051f, 0.006352f, 0.005171f, -0.005195f, -0.004281f, 0.004771f, -0.033133f, 0.023707f, 0.021374f, 0.025243f, -0.008160f, -0.022510f, 0.007851f, 0.009052f, -0.033715f, + -0.030607f, 0.029603f, 0.003245f, -0.014557f, 0.011229f, -0.021094f, -0.023910f, 0.003339f, 0.062288f, 0.028852f, 0.011563f, -0.016995f, 0.000281f, -0.006110f, 0.000492f, -0.007179f, -0.003462f, -0.007965f, 0.002244f, 0.017657f, 0.003518f, 0.021787f, -0.008660f, -0.007322f, 0.004004f, 0.015202f, -0.002920f, -0.002280f, -0.032569f, -0.001462f, -0.018343f, -0.001056f, 0.025254f, 0.017940f, -0.006677f, 0.017534f, 0.035044f, -0.016762f, 0.010122f, 0.028956f, -0.021320f, 0.030610f, -0.002558f, 0.012551f, -0.007276f, 0.001226f, -0.004148f, 0.004193f, 0.007112f, 0.030367f, -0.011665f, -0.003904f, 0.007913f, -0.014246f, 0.008948f, 0.004640f, -0.008165f, -0.013880f, 0.029978f, -0.002044f, -0.016463f, -0.005500f, 0.018590f, -0.007874f, 0.012619f, -0.000135f, 0.000908f, -0.019826f, -0.021532f, -0.010405f, -0.018366f, -0.016645f, -0.017994f, -0.001138f, -0.004288f, 0.008719f, -0.001130f, 0.001549f, -0.001641f, 0.010986f, 0.007014f, 0.000765f, -0.013640f, 0.000481f, -0.002553f, -0.010168f, -0.002899f, -0.005243f, 0.005332f, 0.002017f, -0.006934f, -0.002334f, -0.005317f, -0.004182f, -0.000489f, 0.003800f, + 0.003721f, 0.003888f, 0.006678f, -0.004109f, 0.000849f, 0.004188f, -0.002903f, -0.004001f, 0.004906f, -0.006907f, -0.002717f, -0.002122f, 0.003094f, 0.001324f, 0.004969f, 0.000868f, 0.000510f, -0.001951f, -0.004991f, 0.040415f, 0.007240f, 0.005727f, -0.021033f, -0.012167f, 0.001048f, 0.004676f, 0.008167f, 0.009396f, -0.040093f, 0.001833f, 0.002518f, 0.028975f, 0.004619f, 0.007391f, -0.002766f, 0.026363f, -0.043053f, 0.001351f, 0.022034f, -0.025609f, 0.006401f, 0.005057f, 0.020749f, 0.004113f, 0.002199f, -0.007016f, 0.000657f, -0.021980f, 0.007446f, -0.005463f, 0.003890f, 0.006023f, -0.003781f, -0.016661f, 0.006102f, -0.013143f, -0.022943f, 0.012986f, -0.012977f, 0.008557f, -0.021572f, -0.013553f, -0.002292f, -0.006646f, 0.005138f, -0.009120f, 0.023625f, -0.000229f, 0.022526f, -0.023747f, -0.020122f, -0.006406f, 0.000320f, -0.000349f, -0.007005f, 0.020332f, 0.016554f, 0.042355f, -0.006802f, 0.027112f, -0.015865f, -0.002663f, 0.008147f, -0.032056f, 0.036637f, -0.000926f, 0.022808f, -0.000845f, -0.032002f, -0.019228f, 0.013461f, -0.042763f, 0.022291f, 0.006214f, 0.032541f, 0.041085f, + 0.005332f, -0.030354f, -0.023013f, -0.009424f, 0.023364f, -0.002794f, -0.005663f, 0.001350f, -0.008569f, 0.001301f, -0.006272f, -0.009162f, -0.003188f, -0.014774f, -0.000729f, 0.000719f, -0.006880f, -0.006137f, -0.008396f, -0.005937f, -0.002880f, 0.003772f, 0.007136f, 0.002697f, -0.001184f, 0.006560f, -0.004472f, -0.002449f, 0.001521f, 0.003488f, 0.004167f, -0.004127f, 0.005273f, -0.005390f, -0.002545f, -0.007886f, -0.013842f, 0.008601f, 0.001486f, -0.007835f, -0.007924f, -0.001490f, -0.010987f, 0.001529f, 0.000117f, 0.008191f, 0.020519f, 0.031783f, 0.010877f, -0.013073f, 0.029979f, -0.032206f, -0.003511f, -0.009854f, 0.003843f, 0.025825f, -0.023459f, 0.058131f, 0.007548f, 0.014442f, -0.017263f, -0.023371f, 0.007945f, 0.000252f, 0.049179f, -0.007024f, -0.017244f, -0.028147f, -0.019165f, 0.013802f, 0.008666f, 0.008095f, -0.003715f, -0.027705f, -0.042962f, 0.003265f, -0.025960f, 0.034390f, 0.004328f, 0.027940f, -0.017380f, 0.011718f, -0.011292f, 0.014509f, 0.040120f, -0.006624f, -0.004407f, -0.006019f, 0.010370f, 0.013454f, 0.006745f, 0.003017f, 0.004019f, 0.017546f, 0.015580f, -0.008986f, + -0.013957f, -0.012368f, -0.013976f, 0.046115f, 0.018051f, -0.026937f, 0.020693f, -0.006072f, -0.022224f, -0.015787f, 0.008007f, 0.016928f, -0.031623f, -0.041032f, 0.004468f, -0.018281f, 0.053874f, 0.028129f, -0.009392f, -0.006061f, 0.011319f, 0.024433f, 0.006115f, -0.004050f, -0.007295f, -0.037190f, -0.001865f, -0.009042f, -0.040583f, 0.015416f, 0.025369f, -0.004047f, 0.012650f, 0.007156f, 0.025879f, -0.014191f, -0.003952f, 0.009432f, -0.004168f, -0.011634f, -0.013364f, -0.000256f, -0.008114f, -0.019641f, -0.004181f, -0.008994f, 0.008485f, -0.003727f, -0.011014f, 0.007669f, 0.002910f, 0.001201f, -0.006865f, 0.007654f, 0.001969f, -0.012282f, 0.004204f, 0.005043f, -0.005892f, -0.017095f, -0.008581f, -0.003032f, -0.001962f, -0.000094f, -0.006596f, -0.000740f, -0.004919f, 0.002510f, 0.001940f, -0.003254f, 0.000689f, -0.000133f, -0.005246f, -0.010537f, -0.001504f, 0.002416f, 0.006106f, 0.003270f, -0.008146f, -0.005102f, 0.001917f, -0.015130f, -0.025692f, 0.014841f, -0.008634f, 0.022417f, 0.009973f, -0.023859f, -0.010312f, -0.011969f, 0.005015f, -0.032210f, 0.021792f, 0.030899f, -0.012660f, 0.019356f, + -0.004820f, -0.008226f, 0.014767f, -0.022495f, 0.013971f, 0.025144f, 0.006714f, 0.043207f, 0.020732f, -0.017779f, 0.018234f, 0.008031f, 0.016007f, 0.000979f, 0.022986f, 0.020335f, 0.030842f, 0.011909f, -0.012285f, -0.014298f, -0.019346f, -0.001592f, 0.047923f, 0.001265f, 0.020178f, -0.030031f, 0.062652f, -0.018395f, -0.049396f, -0.023036f, 0.039494f, 0.003379f, -0.005694f, -0.005196f, -0.003080f, 0.029796f, -0.021883f, 0.017358f, -0.004589f, 0.037456f, 0.056667f, 0.029506f, 0.027228f, -0.019960f, 0.032146f, 0.019788f, 0.019019f, 0.022228f, 0.032143f, -0.006479f, -0.056631f, -0.035961f, -0.041194f, 0.010893f, 0.014421f, 0.011961f, -0.009706f, 0.019350f, 0.049651f, 0.003753f, 0.003681f, 0.012409f, -0.002985f, -0.043462f, -0.047223f, -0.015827f, 0.009155f, 0.005279f, -0.002195f, -0.026627f, 0.006652f, 0.001601f, 0.002028f, 0.014394f, -0.003306f, 0.009253f, 0.002886f, 0.017707f, -0.004578f, 0.011920f, -0.009406f, 0.002369f, 0.001639f, 0.020510f, 0.009098f, 0.020476f, 0.002086f, 0.010571f, -0.003804f, 0.002564f, 0.008465f, -0.005298f, -0.013333f, 0.003326f, -0.008026f, -0.014509f, + -0.011867f, -0.002929f, -0.003396f, 0.019996f, 0.003931f, 0.000255f, -0.006176f, 0.003388f, -0.000085f, -0.006790f, -0.008245f, -0.005583f, 0.004273f, 0.012899f, -0.001780f, 0.001484f, 0.001404f, 0.005969f, 0.003790f, -0.012911f, 0.008201f, 0.020786f, 0.024340f, 0.008841f, 0.011414f, 0.019011f, -0.014989f, 0.044171f, 0.017381f, 0.008562f, -0.012628f, -0.033832f, -0.013692f, 0.018500f, -0.001872f, -0.047957f, 0.064586f, -0.022664f, -0.012695f, 0.019940f, 0.000946f, -0.006422f, 0.004650f, -0.012518f, -0.015204f, -0.003285f, -0.035191f, 0.008721f, -0.037816f, 0.001070f, -0.029986f, -0.033703f, -0.006801f, -0.007153f, -0.007433f, -0.024651f, 0.010788f, 0.026432f, 0.007046f, 0.020243f, -0.035104f, 0.034597f, 0.062968f, 0.006540f, -0.025340f, 0.039380f, -0.032327f, -0.051135f, 0.085121f, -0.008721f, 0.006004f, -0.005914f, -0.038123f, 0.029394f, -0.034565f, 0.014957f, 0.051993f, -0.001028f, 0.071426f, -0.055762f, 0.053795f, 0.015702f, -0.035411f, -0.018523f, 0.006703f, -0.033976f, -0.016983f, 0.037872f, -0.037177f, 0.024666f, -0.025016f, 0.013691f, 0.039508f, -0.086834f, -0.038323f, 0.040001f, + -0.074581f, 0.026350f, 0.023064f, 0.042644f, 0.037653f, 0.016983f, -0.003080f, 0.025034f, 0.037347f, -0.040600f, 0.040528f, -0.000747f, 0.013991f, -0.002130f, 0.012682f, 0.003299f, -0.007768f, 0.002810f, -0.011834f, -0.003858f, 0.002995f, -0.002091f, -0.020482f, 0.012876f, -0.003656f, 0.016768f, 0.009983f, -0.014458f, 0.011376f, 0.013995f, 0.010112f, 0.004219f, 0.007224f, 0.004397f, 0.009220f, -0.028367f, 0.015869f, -0.003704f, -0.007785f, 0.020172f, -0.016232f, -0.013154f, 0.006744f, -0.016752f, -0.013698f, -0.016508f, 0.009135f, -0.025026f, -0.074692f, -0.019438f, 0.024470f, 0.057665f, -0.018372f, 0.029118f, 0.000791f, 0.013756f, 0.029861f, 0.019347f, 0.051720f, -0.013370f, 0.002179f, 0.014223f, -0.045851f, -0.029462f, -0.013688f, -0.014810f, 0.010516f, 0.000797f, 0.003855f, -0.023869f, -0.003984f, -0.031605f, -0.025746f, 0.012386f, 0.063869f, 0.036786f, -0.016833f, -0.020431f, 0.030423f, 0.036513f, -0.021766f, 0.009657f, 0.028045f, -0.011094f, 0.061088f, 0.020827f, 0.008945f, -0.047123f, 0.029059f, 0.006011f, 0.022891f, -0.004807f, 0.005883f, -0.007748f, -0.010196f, -0.074317f, + 0.019674f, 0.051457f, 0.025367f, 0.006920f, -0.001478f, 0.025970f, -0.041861f, -0.077202f, 0.005707f, 0.102455f, 0.024606f, 0.081290f, 0.076991f, 0.001071f, 0.006682f, -0.048945f, -0.043925f, -0.004634f, -0.037688f, 0.051342f, -0.111839f, 0.021176f, -0.041929f, -0.089230f, 0.019789f, 0.041850f, 0.089214f, 0.008065f, 0.004410f, -0.056824f, 0.018530f, 0.026938f, -0.039823f, -0.003649f, 0.002757f, 0.041779f, -0.011243f, -0.026542f, 0.063083f, 0.013440f, -0.022633f, -0.000735f, -0.036619f, 0.004903f, -0.034666f, -0.006900f, -0.001263f, -0.016823f, 0.005186f, -0.013571f, -0.014583f, -0.007838f, -0.000237f, -0.006809f, 0.011607f, 0.032829f, -0.001940f, 0.000486f, 0.012107f, -0.029517f, -0.018004f, -0.003452f, 0.008867f, 0.009483f, -0.025905f, -0.014484f, 0.020382f, 0.012200f, 0.007022f, 0.005063f, 0.021523f, -0.000696f, 0.000251f, 0.002354f, -0.014739f, 0.002775f, -0.019382f, 0.054456f, 0.095565f, 0.002332f, 0.026243f, 0.017052f, -0.049949f, -0.014361f, 0.050191f, 0.015619f, 0.022234f, -0.012688f, 0.014721f, 0.008383f, -0.017543f, 0.000650f, 0.026136f, 0.027368f, 0.033721f, -0.014956f, + -0.003941f, -0.074243f, -0.069339f, 0.009452f, -0.042802f, 0.001352f, 0.037471f, 0.008889f, 0.004621f, -0.013011f, -0.008126f, 0.023785f, 0.058540f, -0.042528f, -0.024159f, -0.005674f, -0.041026f, -0.003145f, -0.039534f, -0.012490f, -0.041981f, 0.037110f, -0.050911f, -0.004304f, 0.009381f, 0.024608f, 0.089525f, 0.118993f, 0.031036f, -0.031473f, -0.063376f, -0.005758f, -0.043291f, -0.017214f, -0.067416f, 0.009967f, 0.065371f, 0.047938f, 0.039307f, 0.004555f, 0.009669f, 0.066642f, 0.065058f, 0.047514f, -0.003709f, 0.029935f, 0.011306f, 0.014715f, -0.076703f, 0.023041f, 0.008710f, -0.017890f, 0.046569f, 0.062806f, -0.008552f, -0.001224f, -0.030720f, -0.131538f, -0.002342f, 0.038700f, -0.018886f, 0.090787f, 0.064808f, -0.030191f, 0.006216f, -0.033643f, 0.022825f, 0.006116f, -0.011987f, -0.020200f, -0.008945f, -0.002025f, 0.014330f, 0.017416f, 0.027108f, 0.000593f, -0.016001f, -0.035197f, 0.002239f, -0.016689f, 0.013577f, -0.015758f, -0.021160f, -0.005485f, -0.005340f, 0.015698f, 0.006849f, -0.006176f, 0.008553f, 0.004432f, 0.006832f, 0.001398f, -0.011936f, -0.019517f, -0.009594f, 0.007144f, + 0.016428f, -0.001569f, 0.013438f, -0.000328f, -0.019182f, -0.020343f, 0.005839f, -0.024859f, -0.013688f, -0.000107f, -0.010634f, -0.003185f, 0.007175f, 0.009963f, -0.008987f, -0.023210f, 0.059460f, 0.042429f, -0.028358f, 0.028739f, 0.044163f, 0.005003f, -0.055368f, -0.066053f, 0.061697f, 0.021029f, 0.014259f, 0.048610f, 0.001060f, -0.021138f, 0.052132f, 0.013767f, -0.039589f, -0.020054f, -0.014369f, 0.017628f, 0.001072f, -0.023668f, 0.009132f, -0.026185f, -0.002665f, -0.011798f, -0.012788f, 0.035560f, 0.066194f, -0.022516f, 0.013702f, 0.031246f, -0.015554f, -0.013291f, 0.012761f, 0.037747f, 0.012022f, -0.028910f, -0.036688f, -0.044062f, 0.023622f, 0.024901f, 0.060074f, -0.028438f, -0.027043f, 0.021159f, 0.035771f, 0.056092f, -0.001643f, -0.103761f, -0.022277f, 0.033527f, 0.033330f, 0.015081f, -0.020335f, -0.000719f, -0.041577f, 0.006296f, -0.018007f, 0.043212f, 0.061793f, -0.018648f, 0.001294f, -0.036179f, -0.039324f, -0.015105f, -0.079571f, -0.015951f, -0.040490f, 0.035300f, -0.032420f, 0.036616f, 0.045295f, -0.091963f, -0.007751f, -0.038887f, 0.039343f, -0.016176f, 0.013828f, -0.028580f, + 0.004600f, -0.024341f, 0.027077f, 0.030274f, 0.052134f, 0.050432f, 0.024895f, 0.048522f, 0.022429f, 0.002913f, 0.025574f, 0.016524f, -0.007316f, 0.021613f, -0.024061f, 0.011585f, -0.012345f, 0.010032f, -0.030311f, 0.017937f, 0.000066f, 0.014208f, -0.022347f, -0.012643f, 0.014359f, -0.005811f, -0.007555f, 0.026032f, -0.020591f, -0.004710f, 0.020981f, 0.010413f, -0.014265f, -0.004480f, 0.008485f, 0.048038f, 0.025692f, 0.020938f, 0.028200f, 0.001916f, 0.030664f, 0.010366f, 0.009290f, 0.016090f, -0.000122f, 0.025827f, 0.007017f, -0.044455f, -0.020919f, -0.011883f, -0.021844f, -0.030178f, -0.049907f, -0.011313f, -0.027764f, -0.050624f, -0.076489f, 0.037417f, 0.039608f, 0.023357f, -0.051109f, -0.069560f, -0.053413f, -0.030285f, 0.012541f, -0.002271f, -0.067748f, -0.040426f, -0.046425f, 0.065799f, 0.020484f, 0.028696f, -0.020680f, -0.037370f, 0.083376f, 0.020681f, 0.026020f, -0.015880f, 0.004959f, 0.024719f, -0.017027f, 0.019670f, -0.006116f, 0.039858f, 0.056199f, 0.002586f, -0.045299f, -0.036263f, 0.044529f, 0.030629f, 0.039013f, 0.011416f, 0.009817f, -0.019926f, -0.008765f, 0.006625f, + 0.027282f, 0.059032f, -0.000446f, -0.109560f, -0.101692f, 0.001696f, -0.024804f, 0.066110f, 0.067076f, -0.074297f, -0.050298f, -0.031078f, 0.092870f, 0.082956f, -0.044708f, 0.013512f, -0.058568f, -0.056209f, 0.034545f, -0.025670f, 0.000468f, -0.008327f, -0.040592f, 0.029447f, 0.029991f, 0.024141f, 0.094111f, -0.068479f, -0.018381f, -0.005968f, 0.024251f, 0.008077f, 0.038830f, -0.137078f, -0.079755f, 0.029246f, 0.043344f, 0.043099f, 0.012296f, -0.044897f, -0.046206f, 0.001339f, 0.027659f, 0.080045f, 0.019552f, -0.025883f, 0.008381f, -0.050878f, 0.032176f, 0.028415f, 0.001864f, 0.045144f, 0.095677f, 0.023550f, -0.069774f, -0.036069f, -0.004699f, 0.008727f, 0.046357f, 0.040753f, 0.019269f, -0.020384f, -0.008305f, -0.013803f, -0.016249f, 0.042252f, -0.004573f, 0.004583f, -0.016203f, 0.041032f, -0.018321f, -0.006943f, -0.000685f, 0.035753f, 0.015695f, 0.013275f, -0.006985f, -0.043062f, -0.015297f, 0.015170f, 0.035507f, 0.006967f, -0.048274f, -0.066695f, -0.055867f, -0.000384f, 0.008754f, 0.011434f, 0.007393f, 0.092063f, -0.061119f, 0.057441f, 0.057310f, 0.036584f, -0.133364f, -0.053590f, + 0.044801f, -0.036286f, 0.025967f, -0.009542f, -0.055328f, 0.035489f, 0.010794f, 0.010573f, -0.024393f, -0.088361f, -0.008262f, -0.002700f, 0.000452f, -0.012617f, -0.064257f, 0.048121f, -0.039662f, 0.082187f, -0.008558f, -0.007188f, 0.040157f, 0.029809f, -0.039177f, -0.003647f, -0.029626f, 0.043914f, 0.069298f, 0.052651f, -0.058226f, 0.013081f, -0.038923f, 0.035205f, -0.033792f, -0.013925f, 0.005897f, -0.002972f, 0.037724f, -0.034540f, -0.080891f, 0.020838f, -0.028850f, 0.030256f, 0.031725f, -0.102535f, -0.017269f, -0.019557f, 0.003875f, 0.113541f, -0.030480f, -0.082631f, -0.021823f, 0.072165f, 0.034783f, -0.044750f, -0.014551f, 0.044767f, -0.000051f, 0.055269f, -0.082994f, -0.043910f, 0.050164f, -0.052185f, -0.126610f, -0.037392f, -0.017139f, 0.144641f, -0.039324f, -0.074729f, 0.039899f, -0.086210f, 0.227572f, 0.021537f, -0.211166f, -0.056263f, -0.037175f, 0.149988f, 0.081336f, -0.094291f, -0.049632f, -0.001225f, 0.110987f, 0.088394f, -0.013645f, -0.069503f, 0.027378f, -0.023514f, 0.100111f, -0.009679f, -0.050077f, -0.041577f, 0.065628f, -0.052414f, 0.034073f, -0.100367f, -0.000319f, -0.003845f, + -0.005715f, -0.005893f, 0.021229f, -0.055565f, 0.053939f, 0.004465f, 0.039597f, 0.001594f, -0.063257f, -0.048690f, 0.036234f, 0.042720f, 0.067240f, 0.025052f, -0.006718f, -0.043816f, 0.005969f, 0.010903f, -0.011445f, 0.002873f, 0.044113f, 0.006848f, -0.001964f, -0.050123f, 0.009763f, 0.035605f, 0.013273f, 0.001468f, -0.014545f, -0.036048f, -0.122102f, 0.034254f, -0.001971f, 0.041739f, 0.100926f, 0.032384f, 0.013877f, -0.056874f, -0.023635f, -0.056839f, -0.068134f, -0.022782f, 0.013361f, 0.038959f, 0.051484f, -0.005744f, 0.029931f, 0.036324f, -0.031642f, -0.064058f, 0.033918f, 0.012227f, -0.052117f, -0.017676f, 0.049441f, -0.016812f, -0.005578f, 0.045300f, 0.025339f, 0.020151f, 0.006262f, 0.025762f, -0.024680f, -0.059508f, -0.025933f, 0.016985f, -0.024439f, -0.014049f, 0.021760f, 0.001482f, -0.041981f, 0.043729f, 0.009389f, -0.038817f, 0.004929f, -0.009356f, 0.037568f, 0.020957f, -0.015230f, 0.017686f, -0.023237f, -0.052171f, 0.006945f, 0.012716f, -0.004793f, 0.000138f, 0.010993f, -0.022784f, 0.007160f, -0.019508f, 0.011671f, 0.037246f, -0.003997f, 0.016287f, 0.017169f, -0.014386f, + 0.000884f, -0.035524f, 0.012113f, 0.020970f, -0.064619f, 0.037498f, -0.040320f, 0.012710f, 0.001824f, -0.000179f, 0.017748f, 0.007214f, 0.042101f, 0.007698f, 0.011871f, -0.006085f, 0.021516f, -0.022655f, -0.014967f, 0.005226f, 0.003563f, -0.019824f, 0.007092f, -0.001767f, -0.005820f, -0.011450f, 0.004036f, -0.002257f, 0.022755f, -0.005843f, 0.002664f, 0.016337f, -0.011527f, 0.011351f, -0.007127f, 0.003984f, -0.011538f, -0.010005f, -0.011525f, -0.003012f, -0.005224f, 0.008628f, 0.006082f, -0.026737f, -0.007389f, -0.007812f, 0.018537f, -0.011034f, 0.006878f, 0.003198f, -0.029872f, 0.009910f, 0.019243f, 0.001269f, -0.007352f, 0.003223f, -0.008853f, -0.004413f, 0.098837f, -0.003598f, -0.003289f, -0.027444f, -0.026994f, 0.020346f, -0.001200f, 0.017614f, 0.000303f, -0.009659f, -0.013070f, 0.006699f, -0.018293f, 0.018542f, -0.017229f, 0.027016f, -0.021871f, 0.015743f, -0.018516f, -0.004120f, -0.003005f, -0.017221f, -0.013192f, 0.003895f, -0.007801f, -0.005438f, -0.000160f, -0.012949f, 0.001685f, -0.002572f, 0.004100f, -0.003045f, 0.007524f, -0.025961f, 0.023619f, -0.008888f, -0.007778f, 0.017923f, + -0.014414f, 0.000960f, -0.017995f, -0.015738f, 0.011428f, 0.010092f, -0.012652f, -0.008161f, 0.005062f, -0.000817f, -0.022000f, 0.005624f, 0.003843f, -0.000021f, 0.014410f, -0.005357f, -0.006221f, -0.005931f, -0.015027f, -0.004088f, 0.015727f, -0.016752f, 0.004298f, -0.008126f, -0.002076f, 0.001066f, -0.005107f, 0.003686f, 0.000080f, 0.010999f, -0.016011f, -0.001390f, 0.010320f, -0.020665f, 0.012026f, -0.009313f, 0.000129f, 0.009432f, -0.004588f, -0.009421f, 0.004252f, -0.001677f, -0.002708f, -0.000706f, -0.006731f, -0.000177f, 0.006972f, -0.000465f, -0.003288f, 0.001212f, -0.005833f, 0.004020f, 0.002936f, 0.001708f, -0.004711f, -0.001419f, 0.006041f, -0.007740f, 0.007709f, -0.003544f, 0.003350f, 0.008570f, -0.010335f, 0.002457f, 0.000690f, -0.013040f, 0.002365f, -0.004162f, 0.005362f, -0.001859f, 0.000387f, 0.007885f, -0.005213f, 0.001506f, -0.008394f, 0.001431f, 0.001204f, -0.002105f, -0.002031f, -0.001019f, -0.003031f, 0.000581f, -0.001536f, 0.000332f, 0.005804f, -0.008508f, 0.003710f, -0.046413f, -0.078364f, 0.029057f, 0.250978f, 0.062778f, 0.138384f, -0.005476f, -0.134827f, -0.043825f, + -0.132679f, -0.113395f, -0.040105f, -0.027377f, -0.009303f, 0.075112f, 0.100916f, 0.133401f, 0.168544f, 0.072702f, -0.043234f, -0.078172f, -0.165638f, -0.157481f, -0.064250f, -0.052685f, -0.035148f, 0.067909f, 0.092635f, 0.055323f, 0.085876f, 0.102994f, 0.034790f, 0.028166f, 0.019173f, -0.053538f, -0.024686f, -0.038373f, -0.083472f, -0.046133f, -0.062049f, -0.091918f, -0.050072f, 0.011259f, 0.009719f, 0.051164f, 0.124291f, 0.084982f, 0.070711f, 0.068887f, 0.021121f, 0.004980f, -0.007195f, -0.035934f, -0.051219f, -0.064793f, -0.092575f, -0.081859f, -0.045828f, -0.014461f, -0.031355f, 0.025666f, 0.047795f, 0.040600f, 0.070134f, 0.078203f, 0.050159f, 0.045432f, 0.044394f, -0.007062f, -0.021979f, -0.011099f, -0.063905f, -0.052944f, -0.013657f, -0.052406f, -0.056083f, -0.035545f, -0.050464f, -0.024570f, 0.014221f, 0.032044f, 0.058026f, 0.093135f, 0.057675f, 0.053483f, 0.059150f, 0.021822f, -0.007227f, -0.010940f, -0.032026f, -0.052816f, -0.054892f, -0.052288f, -0.057399f, -0.039914f, -0.036797f, -0.030545f, -0.012735f, 0.014172f, 0.035167f, 0.054658f, 0.082481f, 0.086922f, 0.084661f, 0.071980f, + 0.022616f, -0.018928f, -0.038864f, -0.062364f, -0.082598f, -0.093195f, -0.093138f, -0.073719f, -0.041723f, -0.010056f, 0.025282f, 0.076193f, 0.084657f, 0.084896f, 0.088821f, 0.073496f, 0.038436f, 0.012143f, -0.021185f, -0.059601f, -0.083458f, -0.073571f, -0.068976f, -0.054290f, -0.025521f, 0.002077f, 0.019953f, 0.040828f, 0.046085f, 0.045542f, 0.035997f, 0.016269f, 0.007218f, 0.002760f, -0.007138f, -0.008029f, -0.008278f, -0.010653f, -0.013359f, -0.010319f, -0.014733f, -0.009967f, -0.008525f, -0.005920f, -0.007543f, -0.002851f, -0.001730f, 0.003087f, 0.003135f, 0.007069f, 0.005689f, 0.005383f, 0.000642f, 0.001581f, -0.000869f} + }, + { + {0.005807f, 0.005797f, -0.005219f, -0.000924f, 0.008310f, 0.002729f, -0.004297f, 0.000896f, -0.004747f, -0.004229f, -0.003398f, -0.007449f, -0.002585f, 0.004541f, -0.000364f, 0.002515f, -0.001253f, -0.002112f, -0.002062f, -0.000905f, 0.006263f, -0.003956f, 0.000394f, -0.000283f, 0.000277f, 0.004969f, -0.000160f, 0.003418f, 0.010898f, 0.008495f, 0.008547f, 0.004427f, 0.001943f, -0.001379f, -0.010067f, 0.004135f, -0.003754f, 0.006460f, 0.002297f, -0.003419f, 0.003046f, -0.004497f, -0.008725f, -0.002691f, -0.003369f, -0.008268f, 0.000358f, -0.001016f, -0.001176f, -0.003873f, 0.000533f, 0.008629f, 0.003833f, 0.005865f, -0.000085f, 0.003607f, -0.003366f, -0.000243f, 0.004520f, -0.003728f, 0.003030f, -0.004622f, -0.004912f, 0.000501f, 0.010166f, 0.006693f, 0.003908f, -0.001976f, 0.001706f, 0.001090f, 0.000596f, -0.001833f, -0.003893f, -0.005965f, -0.004318f, 0.000136f, -0.003696f, -0.001851f, -0.003980f, 0.001322f, 0.000616f, 0.002064f, -0.001168f, 0.001698f, 0.002408f, 0.001974f, 0.000266f, 0.001240f, -0.000908f, -0.000994f, -0.000024f, -0.002483f, 0.002625f, 0.002149f, -0.000243f, 0.002715f, + 0.000808f, 0.000547f, -0.001218f, -0.000772f, -0.001559f, 0.000522f, 0.000886f, -0.000028f, -0.000486f, 0.000938f, -0.000593f, -0.002304f, -0.000644f, -0.001542f, -0.000085f, 0.000452f, 0.000577f, -0.002413f, 0.000440f, 0.003725f, 0.001915f, -0.006435f, 0.015197f, -0.000330f, 0.000916f, -0.001612f, -0.008029f, 0.005930f, -0.004191f, -0.004015f, -0.009357f, -0.007212f, -0.003037f, 0.005801f, 0.008344f, -0.001697f, 0.004932f, -0.001929f, 0.009051f, 0.009393f, -0.018776f, 0.003428f, 0.000080f, -0.001848f, 0.006340f, 0.009978f, -0.003093f, -0.001467f, 0.000191f, -0.000626f, -0.004781f, 0.003914f, -0.004820f, -0.003812f, -0.000402f, 0.004991f, -0.002845f, -0.010570f, -0.004706f, -0.007191f, 0.000826f, 0.000622f, -0.009386f, -0.001130f, -0.004105f, 0.001926f, -0.000295f, -0.001434f, 0.002287f, -0.003144f, 0.003163f, -0.005045f, 0.004911f, 0.007191f, 0.011060f, 0.004577f, -0.004858f, 0.003946f, 0.004630f, -0.001766f, -0.012558f, 0.000793f, 0.006512f, -0.005065f, 0.003747f, -0.007299f, -0.000101f, -0.004669f, -0.012759f, -0.003911f, -0.006682f, 0.003199f, 0.004715f, -0.004330f, 0.002010f, -0.002054f, + 0.005992f, 0.000439f, 0.003501f, 0.005004f, -0.002169f, 0.002044f, 0.000999f, 0.002090f, 0.004315f, -0.001055f, 0.001445f, 0.005382f, 0.003060f, 0.000688f, 0.003214f, 0.000535f, 0.001377f, -0.000275f, -0.000096f, -0.002995f, 0.001547f, 0.001810f, 0.002435f, 0.001626f, 0.000529f, 0.000737f, 0.000054f, 0.000878f, -0.000413f, -0.000884f, -0.000257f, 0.001934f, 0.001653f, 0.000453f, 0.001478f, 0.000291f, 0.001713f, 0.001428f, 0.012423f, 0.003422f, -0.016925f, 0.006019f, 0.008656f, 0.003183f, -0.001487f, 0.004422f, -0.010643f, 0.001511f, 0.004688f, -0.002370f, 0.004532f, -0.000717f, 0.005526f, 0.001346f, -0.007194f, 0.004512f, 0.006531f, 0.006481f, -0.001908f, 0.003098f, 0.003517f, 0.002461f, -0.019165f, 0.002689f, -0.008172f, -0.002411f, -0.002735f, 0.004470f, 0.002045f, -0.015621f, -0.005653f, -0.003501f, -0.002993f, 0.006350f, -0.005845f, -0.010933f, 0.002669f, 0.005064f, 0.003129f, -0.010879f, -0.005143f, 0.003481f, -0.010296f, -0.000833f, -0.011374f, 0.001662f, 0.005534f, -0.005820f, -0.001800f, 0.006486f, 0.008237f, -0.019288f, -0.001457f, -0.005362f, 0.005809f, 0.002386f, + 0.000930f, 0.001662f, -0.005462f, 0.004905f, 0.004215f, -0.014981f, 0.011470f, -0.001549f, 0.002797f, -0.007648f, -0.003230f, -0.006470f, -0.000841f, 0.001676f, -0.006032f, -0.008330f, 0.007351f, -0.002691f, 0.003007f, -0.000422f, -0.001543f, 0.002133f, 0.002470f, -0.003046f, -0.007738f, 0.004278f, 0.003846f, 0.000979f, 0.001762f, -0.000252f, 0.000540f, 0.001275f, -0.000103f, 0.001270f, 0.000851f, -0.000184f, 0.002917f, 0.000411f, 0.002223f, 0.002685f, 0.000108f, 0.003790f, -0.000150f, 0.000731f, 0.000977f, 0.001691f, 0.001320f, 0.001879f, -0.002893f, 0.001278f, -0.001342f, 0.000560f, 0.001212f, 0.000909f, 0.002186f, -0.000785f, -0.000726f, -0.008125f, -0.007624f, -0.006341f, -0.004018f, 0.012630f, -0.004412f, 0.001716f, -0.010262f, 0.010877f, 0.000731f, -0.007385f, -0.001940f, 0.006298f, -0.013141f, 0.004453f, -0.003876f, 0.002954f, 0.002125f, -0.006026f, -0.004268f, -0.015642f, -0.004205f, -0.017616f, 0.002283f, 0.003960f, -0.001886f, -0.002403f, -0.001606f, 0.002650f, -0.006888f, -0.012560f, -0.005830f, -0.004626f, -0.001935f, 0.004600f, -0.002889f, 0.007464f, 0.003322f, 0.005718f, + -0.007777f, -0.000448f, -0.000383f, -0.006516f, 0.001809f, 0.005117f, -0.000507f, -0.003255f, -0.007624f, -0.007064f, 0.004752f, 0.007094f, -0.000229f, 0.014057f, 0.011159f, -0.010088f, -0.002564f, 0.000015f, -0.010633f, -0.012178f, 0.018389f, -0.000312f, 0.000506f, 0.005755f, -0.011685f, -0.003857f, -0.007570f, 0.018146f, 0.004907f, 0.000930f, -0.014459f, -0.011495f, 0.001544f, -0.004745f, 0.009384f, -0.004828f, -0.000103f, 0.002560f, -0.005675f, 0.002046f, 0.005664f, -0.008521f, 0.000094f, -0.013580f, 0.001481f, 0.005094f, -0.003919f, 0.001969f, 0.001630f, 0.006640f, -0.000954f, 0.001056f, -0.001314f, -0.000270f, 0.002880f, 0.002947f, 0.002765f, -0.002061f, 0.000884f, -0.000145f, 0.001241f, 0.000080f, 0.001216f, -0.001993f, 0.004282f, 0.000026f, 0.001228f, 0.000637f, 0.001352f, 0.000995f, 0.001237f, -0.001153f, -0.001111f, -0.000978f, 0.000944f, 0.002863f, 0.003385f, 0.000591f, 0.001535f, -0.002802f, -0.021213f, 0.010620f, 0.006019f, 0.010829f, -0.005806f, 0.005938f, 0.006211f, 0.011129f, 0.002642f, -0.021173f, 0.005297f, 0.000919f, 0.008426f, 0.015379f, 0.000816f, 0.006683f, + 0.005857f, -0.012677f, 0.004463f, 0.001181f, 0.001764f, -0.003441f, -0.001755f, 0.007877f, 0.005224f, 0.000326f, -0.007752f, -0.000088f, -0.003695f, -0.004011f, 0.012696f, 0.005868f, -0.000525f, -0.001694f, -0.015326f, -0.013148f, -0.015056f, 0.004013f, 0.004079f, -0.015609f, 0.001116f, 0.001062f, -0.015465f, 0.000977f, 0.002397f, -0.002065f, 0.017791f, -0.002189f, -0.008733f, -0.002196f, 0.010220f, -0.000842f, -0.015836f, 0.017218f, 0.008926f, -0.010951f, 0.008385f, 0.001671f, 0.001616f, -0.000283f, 0.000972f, -0.004253f, -0.007950f, -0.007528f, 0.013767f, -0.000913f, -0.004013f, -0.000639f, 0.009903f, -0.009168f, -0.016190f, 0.000581f, 0.003694f, 0.003038f, -0.014151f, -0.007331f, 0.005456f, -0.001273f, 0.007919f, 0.003017f, -0.002509f, -0.002366f, -0.002158f, -0.001125f, 0.000280f, 0.012578f, 0.007334f, 0.004548f, 0.004029f, 0.004862f, 0.007328f, -0.003499f, -0.001166f, -0.003967f, -0.001205f, 0.001394f, 0.000365f, -0.002196f, -0.003540f, 0.003697f, 0.000567f, 0.001667f, -0.000058f, -0.002262f, 0.000811f, 0.001953f, -0.004473f, -0.000761f, 0.003584f, 0.000774f, 0.000213f, -0.001645f, + -0.000492f, -0.001070f, -0.001942f, 0.000479f, 0.001817f, 0.001449f, -0.001310f, 0.001478f, 0.000128f, 0.006352f, 0.024526f, 0.007254f, 0.019677f, -0.021645f, 0.000863f, -0.010707f, 0.000377f, 0.007133f, 0.008303f, -0.011142f, 0.004882f, -0.006472f, -0.005660f, -0.007758f, -0.012518f, -0.001883f, -0.029527f, -0.000323f, 0.009792f, -0.001345f, -0.001982f, 0.003209f, -0.015478f, 0.005417f, -0.014760f, -0.004710f, 0.015260f, 0.003045f, 0.005286f, 0.000321f, 0.004511f, 0.012949f, 0.011780f, 0.022591f, 0.011784f, -0.017155f, -0.001399f, 0.019026f, -0.002642f, -0.013992f, -0.002094f, 0.001730f, -0.006348f, 0.012736f, 0.009495f, -0.011013f, -0.003178f, 0.012213f, 0.013068f, -0.004681f, -0.008260f, 0.020634f, -0.008490f, -0.027901f, -0.018801f, 0.006105f, -0.028001f, -0.000594f, -0.008362f, 0.000103f, -0.002573f, -0.007869f, 0.010529f, 0.002969f, -0.002713f, -0.009195f, 0.008047f, -0.005522f, 0.014893f, 0.010123f, -0.004031f, -0.009886f, 0.002147f, 0.003855f, 0.001414f, 0.000526f, 0.003545f, -0.002083f, -0.010896f, -0.003196f, 0.015246f, -0.001791f, -0.006156f, -0.001675f, -0.003164f, -0.007893f, + -0.007607f, -0.004265f, -0.003638f, 0.000875f, -0.000038f, 0.007594f, -0.000632f, -0.002776f, 0.001103f, 0.002699f, -0.001798f, 0.001565f, -0.002589f, 0.005155f, -0.000133f, 0.003156f, 0.000509f, -0.005011f, -0.000472f, -0.000567f, -0.005203f, -0.001439f, -0.003153f, 0.002360f, 0.000189f, -0.000832f, 0.001833f, 0.000783f, -0.000491f, 0.000910f, -0.005823f, 0.001249f, 0.001705f, -0.023892f, 0.011341f, -0.002103f, 0.006075f, 0.007924f, 0.012958f, 0.002904f, -0.011310f, 0.015436f, -0.005696f, 0.006874f, -0.006851f, 0.005729f, -0.000995f, -0.028066f, -0.005760f, -0.004797f, -0.003248f, 0.001928f, -0.006685f, -0.004629f, 0.003810f, 0.006167f, 0.002184f, 0.015171f, 0.007056f, -0.014652f, -0.001020f, 0.000039f, -0.008194f, 0.017453f, -0.010371f, -0.010078f, 0.018432f, 0.019355f, -0.002340f, -0.000219f, -0.011977f, 0.004352f, 0.002686f, -0.006273f, 0.003280f, 0.011991f, 0.007470f, 0.014418f, -0.003515f, -0.011308f, 0.007109f, 0.001690f, 0.003532f, -0.013480f, -0.006918f, -0.007917f, 0.003250f, 0.007727f, 0.002897f, 0.002073f, 0.013917f, 0.016602f, 0.002548f, -0.007881f, 0.009517f, 0.007744f, + -0.011628f, 0.001640f, 0.002100f, -0.001332f, 0.001437f, -0.000261f, 0.009979f, -0.001077f, -0.007669f, 0.003952f, 0.013132f, 0.005812f, 0.007739f, 0.016190f, -0.010966f, 0.001977f, -0.003686f, 0.015364f, 0.008866f, 0.016455f, -0.007851f, -0.002100f, 0.002804f, -0.005841f, 0.000924f, 0.001625f, -0.001798f, 0.000020f, 0.003880f, 0.004408f, -0.001583f, 0.002412f, 0.001777f, 0.005715f, 0.005103f, -0.000669f, -0.000358f, -0.002560f, 0.000798f, -0.002578f, 0.001431f, -0.004545f, 0.004581f, -0.000066f, -0.001679f, -0.000059f, -0.000312f, 0.000191f, -0.001536f, -0.003535f, 0.005091f, -0.000616f, 0.000903f, -0.005597f, -0.004531f, -0.001227f, 0.004895f, -0.000498f, -0.000442f, 0.000486f, -0.000483f, 0.010008f, -0.020765f, -0.012369f, 0.008211f, -0.004814f, -0.019398f, 0.009890f, -0.010166f, -0.008807f, 0.012458f, -0.003749f, -0.004170f, -0.003058f, 0.003188f, 0.009294f, 0.004770f, 0.005020f, 0.005084f, -0.007662f, -0.004642f, -0.001562f, 0.011221f, 0.005841f, -0.019822f, 0.006346f, 0.006137f, -0.008254f, 0.018583f, 0.017127f, 0.009159f, 0.000708f, -0.006795f, -0.004334f, 0.000968f, -0.005758f, + -0.006993f, -0.011416f, 0.001634f, -0.013040f, 0.009470f, 0.003702f, 0.000085f, 0.002123f, 0.004983f, 0.004390f, 0.010140f, 0.015925f, -0.006048f, -0.025092f, -0.004416f, -0.017070f, 0.005871f, 0.002429f, -0.022798f, 0.008319f, -0.009590f, 0.028651f, 0.009457f, -0.017947f, -0.000651f, 0.018253f, 0.009450f, -0.014847f, -0.008915f, 0.019095f, 0.010894f, -0.013146f, 0.016220f, -0.013493f, -0.017921f, 0.002837f, -0.027117f, 0.016416f, 0.017547f, -0.003961f, -0.016338f, -0.002850f, 0.006370f, 0.003390f, 0.002693f, 0.001720f, 0.012563f, -0.017629f, 0.005662f, 0.019804f, 0.000292f, 0.000763f, -0.017415f, 0.008731f, 0.004815f, -0.015957f, -0.004044f, -0.008013f, -0.003879f, 0.000720f, 0.004976f, 0.004106f, 0.000525f, -0.004739f, 0.000447f, -0.005083f, 0.002098f, 0.003173f, -0.000706f, -0.002410f, -0.001776f, 0.003255f, 0.000955f, -0.000919f, -0.002757f, -0.005069f, -0.000641f, -0.004946f, 0.010013f, -0.009336f, -0.000081f, -0.000900f, 0.003803f, 0.002705f, -0.005494f, 0.001760f, -0.001744f, 0.008665f, -0.001138f, 0.002526f, 0.000189f, -0.004815f, -0.000552f, 0.005492f, -0.000059f, -0.016245f, + -0.011999f, 0.000384f, -0.019506f, 0.000058f, -0.045863f, -0.014436f, -0.005273f, -0.025062f, -0.008777f, -0.005249f, -0.010989f, -0.008495f, 0.005982f, -0.012081f, -0.022935f, 0.006107f, 0.014394f, -0.023428f, -0.006476f, 0.007219f, 0.011761f, 0.020208f, 0.012903f, 0.011903f, 0.013060f, 0.004720f, 0.023146f, -0.013775f, -0.005894f, 0.004899f, -0.011452f, 0.004356f, 0.006561f, 0.012114f, 0.001594f, 0.019810f, 0.004164f, 0.004882f, 0.013681f, -0.006048f, -0.011729f, 0.000207f, -0.017982f, -0.011504f, -0.020756f, -0.000874f, -0.000954f, -0.027294f, 0.009841f, -0.012369f, 0.005586f, -0.025781f, 0.003086f, -0.019513f, 0.029106f, 0.001455f, -0.025943f, 0.031124f, 0.038135f, 0.010698f, -0.012783f, -0.009482f, 0.009895f, -0.003333f, -0.001260f, 0.011254f, -0.018213f, 0.011851f, -0.018811f, 0.009944f, -0.007502f, -0.010615f, 0.004480f, 0.009986f, -0.005442f, -0.000599f, 0.011734f, 0.003056f, -0.005804f, 0.006585f, -0.002913f, -0.010788f, 0.001402f, 0.010028f, -0.001947f, -0.004001f, 0.003980f, 0.002896f, 0.008175f, 0.001611f, 0.000263f, 0.003500f, -0.002767f, 0.005681f, 0.001424f, 0.004699f, + 0.001616f, 0.003726f, 0.003017f, 0.003033f, 0.002443f, -0.003540f, 0.003921f, -0.004751f, -0.004401f, 0.000392f, 0.002563f, 0.000813f, 0.001270f, 0.002797f, 0.001846f, 0.000182f, -0.001557f, -0.003585f, 0.000013f, -0.003768f, 0.009921f, -0.004982f, 0.008937f, 0.013486f, 0.001986f, 0.012446f, -0.007038f, 0.019455f, -0.015129f, -0.014092f, -0.037074f, -0.008243f, -0.019225f, -0.045235f, 0.011346f, -0.026088f, -0.015842f, -0.021037f, 0.005770f, -0.040754f, 0.010894f, 0.003304f, -0.007829f, -0.000932f, -0.011723f, -0.004167f, 0.009763f, -0.013913f, -0.009903f, 0.000503f, 0.007440f, -0.012177f, -0.000949f, 0.013894f, -0.022363f, -0.005213f, 0.013039f, -0.012452f, -0.000766f, 0.000073f, -0.003543f, 0.018851f, -0.016531f, 0.011177f, -0.007524f, 0.015325f, 0.016209f, -0.016546f, -0.022042f, 0.020574f, -0.002234f, 0.004446f, 0.005386f, 0.001808f, -0.004734f, 0.011566f, -0.006297f, -0.025533f, 0.006647f, 0.005145f, -0.022082f, -0.002514f, -0.007905f, 0.013224f, 0.016154f, 0.007952f, 0.002724f, -0.006403f, -0.015687f, 0.016006f, 0.009928f, 0.014311f, -0.000985f, -0.022659f, -0.005285f, -0.003458f, + -0.009866f, -0.005622f, -0.002632f, 0.006486f, 0.010081f, -0.008781f, -0.007415f, -0.022514f, -0.010657f, 0.004290f, 0.009283f, 0.002459f, -0.001891f, 0.010246f, 0.009718f, 0.005760f, 0.011930f, -0.003705f, 0.009362f, 0.004193f, 0.006413f, 0.001033f, 0.000108f, -0.006240f, -0.004701f, -0.001180f, 0.003043f, -0.001518f, -0.005232f, -0.006651f, -0.000172f, -0.001132f, 0.001438f, -0.004538f, 0.001116f, -0.005403f, 0.001742f, 0.008916f, 0.002093f, -0.005179f, -0.005205f, 0.011360f, 0.006569f, -0.001455f, -0.000609f, -0.014471f, -0.001549f, -0.000213f, -0.012128f, 0.000269f, -0.004864f, -0.003831f, 0.003000f, 0.003757f, 0.001017f, -0.001446f, -0.011147f, 0.055062f, 0.031795f, 0.002119f, -0.017479f, -0.041694f, -0.005084f, 0.019387f, -0.009131f, -0.016845f, -0.031262f, -0.001827f, -0.006748f, 0.001010f, -0.010726f, 0.010026f, -0.000177f, 0.027217f, 0.010789f, -0.011470f, -0.000812f, -0.004950f, 0.002060f, -0.005707f, 0.005635f, 0.016842f, -0.019826f, 0.003762f, -0.011951f, 0.007803f, -0.008516f, -0.014524f, -0.028249f, -0.002355f, 0.016155f, 0.005345f, -0.003538f, 0.005890f, -0.002104f, 0.015344f, + 0.024381f, -0.008585f, -0.005569f, -0.028330f, -0.030643f, 0.008395f, 0.004536f, -0.013030f, -0.011212f, -0.025519f, -0.017498f, 0.010004f, -0.003309f, -0.000029f, 0.001287f, -0.002047f, 0.011619f, 0.006575f, -0.020954f, 0.000800f, -0.019097f, -0.001738f, -0.010305f, -0.006006f, 0.020266f, 0.041716f, 0.068841f, 0.002517f, 0.022141f, -0.020851f, -0.026464f, -0.037257f, -0.001964f, -0.000205f, 0.007534f, 0.007801f, -0.005088f, -0.047076f, 0.019507f, -0.008067f, -0.006490f, 0.002880f, -0.012325f, 0.001341f, -0.006702f, -0.019225f, 0.000240f, -0.007741f, 0.000181f, 0.001834f, 0.000734f, 0.013519f, 0.001975f, 0.001474f, -0.000731f, 0.000487f, -0.000568f, 0.005763f, 0.012820f, 0.003716f, -0.000452f, 0.002667f, 0.011625f, 0.000244f, 0.000150f, 0.004301f, -0.003845f, 0.001371f, -0.010621f, 0.003563f, 0.005567f, -0.010059f, 0.010222f, 0.000546f, 0.000896f, -0.003027f, -0.011105f, -0.003650f, 0.004990f, -0.000016f, -0.001117f, -0.002842f, 0.000400f, 0.020157f, 0.033546f, -0.016580f, 0.000042f, 0.006474f, -0.027399f, 0.000276f, -0.017698f, -0.017108f, 0.025769f, -0.007569f, -0.006497f, -0.013841f, + 0.029596f, 0.026050f, -0.000031f, 0.042784f, 0.004787f, 0.013376f, 0.009387f, -0.011902f, -0.013992f, -0.022240f, -0.011750f, 0.005233f, 0.000180f, 0.019183f, 0.001463f, -0.002073f, -0.003521f, 0.013560f, -0.019604f, -0.047814f, -0.016801f, 0.014124f, 0.004391f, -0.003913f, -0.014285f, 0.000866f, -0.023047f, -0.003442f, -0.021001f, -0.001434f, -0.002662f, -0.014758f, 0.014123f, 0.007049f, 0.026859f, -0.022203f, 0.041628f, 0.011200f, -0.008146f, -0.014733f, -0.007613f, 0.006578f, 0.023995f, -0.007384f, 0.013711f, -0.021225f, 0.017120f, -0.019274f, -0.021749f, 0.021416f, -0.031087f, 0.020359f, 0.017050f, 0.033035f, -0.033670f, 0.025566f, -0.003236f, 0.022793f, 0.008850f, -0.035326f, -0.006231f, -0.008293f, 0.009805f, -0.018741f, 0.055582f, -0.002729f, -0.019692f, 0.007899f, 0.025659f, 0.017472f, 0.011990f, 0.013284f, -0.001810f, 0.006332f, -0.002332f, -0.007367f, -0.004750f, 0.001967f, -0.000305f, -0.007308f, 0.002041f, -0.002143f, -0.011345f, -0.002339f, -0.004372f, 0.004753f, 0.005888f, 0.003248f, -0.001623f, 0.010990f, -0.001850f, 0.006086f, 0.002364f, 0.007779f, 0.002852f, -0.003918f, + -0.004960f, 0.001341f, -0.000657f, 0.005367f, -0.002247f, 0.000523f, 0.004472f, -0.002744f, 0.007713f, -0.003673f, -0.004381f, 0.002187f, -0.003307f, 0.008149f, 0.002861f, -0.002372f, 0.002396f, -0.023260f, -0.031201f, -0.063899f, -0.019626f, -0.037524f, 0.010446f, -0.001715f, -0.012797f, -0.018589f, -0.017706f, -0.015997f, -0.017345f, -0.016985f, 0.001758f, -0.013851f, -0.002517f, -0.030094f, -0.046179f, 0.056521f, -0.017651f, 0.030615f, -0.005890f, 0.007885f, 0.009726f, 0.016489f, 0.010855f, -0.002916f, -0.000969f, -0.024447f, -0.005566f, -0.005846f, -0.016464f, -0.025642f, 0.009950f, -0.002932f, 0.036139f, -0.025106f, 0.000610f, 0.050015f, -0.012124f, -0.041653f, -0.013480f, 0.001595f, -0.018918f, 0.029235f, 0.013398f, -0.016150f, 0.011817f, 0.015673f, -0.009771f, -0.000390f, 0.007839f, 0.019514f, -0.000805f, -0.019366f, -0.019067f, 0.023364f, 0.016681f, -0.012399f, -0.026800f, 0.016966f, 0.019645f, -0.017698f, -0.024129f, 0.016758f, -0.030578f, 0.058247f, 0.012455f, -0.004864f, 0.002282f, 0.014171f, 0.003120f, -0.010376f, 0.000842f, 0.004086f, 0.020846f, -0.013857f, 0.004087f, -0.041570f, + -0.037451f, -0.004292f, 0.002115f, -0.004195f, -0.018240f, 0.013070f, 0.030715f, -0.000988f, 0.007780f, -0.003026f, 0.006465f, 0.009190f, 0.010996f, -0.012058f, 0.013244f, -0.006320f, -0.003690f, 0.008719f, 0.016329f, -0.005007f, -0.016667f, 0.004563f, -0.001669f, 0.002607f, -0.001652f, -0.009018f, -0.002614f, -0.009320f, -0.005832f, -0.011469f, 0.011484f, 0.011753f, -0.007309f, -0.000185f, 0.014162f, 0.004371f, -0.006235f, 0.002823f, 0.017776f, 0.011622f, 0.012769f, 0.012858f, 0.011349f, 0.004094f, 0.016270f, 0.008490f, 0.006672f, 0.005911f, 0.015394f, -0.024052f, 0.000052f, 0.008893f, 0.006840f, -0.015763f, 0.037980f, 0.026779f, 0.054671f, 0.030193f, 0.020359f, 0.007911f, -0.047815f, -0.003949f, 0.006521f, -0.028196f, -0.007500f, 0.054056f, 0.004158f, -0.031387f, -0.030918f, 0.027981f, -0.042606f, -0.011103f, 0.001881f, 0.011363f, 0.004905f, -0.008186f, 0.013846f, -0.019306f, -0.000025f, -0.003964f, -0.012115f, -0.002747f, -0.008432f, -0.027910f, 0.014669f, -0.024207f, 0.014150f, 0.012512f, 0.016469f, 0.002882f, 0.010916f, -0.010196f, 0.044992f, 0.005915f, -0.047778f, -0.042141f, + 0.003856f, 0.018714f, 0.036569f, -0.012209f, -0.028702f, -0.012879f, -0.003803f, 0.003958f, 0.021474f, 0.004496f, -0.016943f, 0.049297f, -0.060666f, -0.010295f, 0.011483f, -0.042407f, -0.021863f, -0.011315f, 0.006234f, -0.068600f, -0.032389f, 0.048745f, -0.018571f, 0.014067f, -0.015928f, -0.055456f, -0.020913f, 0.026340f, -0.008173f, 0.010104f, 0.016894f, 0.034657f, -0.016671f, 0.003579f, -0.010473f, 0.021588f, 0.009870f, 0.009130f, 0.001343f, -0.001163f, 0.000511f, 0.018749f, 0.009703f, 0.010961f, -0.003034f, -0.000744f, 0.006963f, -0.013096f, -0.011799f, 0.004757f, 0.021948f, 0.010012f, 0.008455f, -0.021878f, 0.012554f, 0.039949f, -0.000331f, -0.000803f, -0.015612f, 0.010545f, 0.001644f, -0.009764f, -0.012720f, 0.001295f, 0.011771f, 0.013591f, 0.009942f, -0.012895f, 0.008193f, -0.008801f, 0.009317f, -0.016519f, -0.009074f, -0.003709f, -0.008701f, -0.010935f, -0.003435f, -0.026661f, -0.025118f, 0.003577f, -0.002062f, -0.004636f, 0.008573f, -0.000850f, -0.002708f, -0.000328f, 0.008479f, 0.028358f, -0.012507f, -0.087647f, -0.023466f, 0.005507f, 0.023962f, 0.024669f, 0.021179f, 0.022593f, + 0.038996f, 0.071988f, -0.041622f, 0.030460f, -0.011067f, -0.000776f, -0.011216f, -0.058168f, -0.044556f, -0.007845f, -0.003348f, 0.013090f, 0.022314f, 0.030590f, -0.010160f, -0.000520f, -0.016187f, 0.000600f, -0.003460f, 0.000168f, 0.030369f, 0.017074f, 0.009681f, 0.024335f, 0.027595f, -0.049133f, 0.023909f, -0.028369f, -0.037246f, -0.010375f, 0.022940f, 0.007232f, -0.025373f, 0.008591f, 0.002327f, 0.018100f, -0.002353f, -0.047760f, -0.035189f, -0.039540f, -0.040442f, 0.005619f, 0.032276f, -0.005771f, 0.118692f, -0.077652f, -0.059485f, 0.036319f, -0.011175f, -0.023576f, -0.008724f, -0.006181f, 0.000652f, -0.072753f, 0.007059f, -0.005043f, 0.009394f, 0.056196f, -0.004557f, 0.019839f, 0.020951f, 0.026936f, 0.091195f, -0.033836f, 0.115487f, 0.032563f, -0.003799f, 0.015537f, 0.006024f, -0.047464f, -0.042927f, -0.000525f, -0.011017f, 0.006200f, 0.017301f, 0.014506f, -0.008917f, -0.040673f, -0.034376f, 0.013732f, -0.023411f, 0.015049f, 0.015515f, 0.036477f, 0.034489f, 0.032488f, 0.005581f, 0.011503f, -0.001183f, -0.001320f, 0.023058f, -0.003652f, -0.002802f, 0.007891f, -0.035113f, -0.007895f, + 0.013795f, 0.000274f, -0.004211f, 0.022223f, 0.007560f, -0.031720f, 0.021348f, -0.017600f, -0.025746f, -0.013632f, -0.008498f, 0.006534f, 0.009647f, 0.011230f, -0.014110f, 0.016090f, 0.005869f, 0.010481f, 0.003651f, 0.013699f, -0.006296f, 0.008434f, -0.021522f, -0.003951f, -0.052482f, 0.019124f, 0.083798f, 0.002460f, 0.087448f, 0.046268f, -0.005458f, -0.033781f, 0.098631f, 0.014876f, -0.016819f, 0.012826f, -0.022707f, -0.006589f, -0.003603f, -0.006033f, 0.012239f, 0.027611f, 0.018958f, 0.003673f, 0.012415f, -0.019808f, -0.019462f, 0.006021f, -0.006145f, 0.032505f, 0.034920f, 0.022443f, -0.009376f, 0.002241f, -0.043160f, -0.026862f, -0.008302f, -0.029383f, -0.046683f, -0.027577f, 0.021694f, -0.026901f, -0.082086f, -0.037779f, 0.024554f, -0.033009f, -0.023710f, 0.001169f, -0.006440f, 0.038437f, 0.056074f, 0.074270f, -0.039794f, 0.021115f, -0.001034f, 0.002438f, -0.016466f, -0.049126f, -0.098524f, -0.064547f, 0.033521f, -0.065407f, -0.034817f, 0.017842f, 0.032710f, -0.024229f, 0.036947f, 0.107489f, 0.022095f, 0.020827f, -0.081794f, -0.108958f, -0.024145f, -0.033923f, -0.058690f, -0.016603f, + -0.049127f, 0.034667f, 0.019175f, 0.097435f, 0.039608f, -0.011295f, -0.020278f, -0.033859f, 0.022470f, 0.044268f, 0.087698f, 0.061730f, -0.043071f, -0.089206f, -0.044147f, -0.028477f, -0.053377f, -0.009874f, 0.044383f, 0.021538f, 0.055031f, 0.002350f, 0.038941f, 0.015717f, -0.013502f, -0.016714f, -0.019756f, 0.010696f, 0.023528f, 0.005953f, 0.030793f, 0.039159f, 0.023043f, 0.027893f, 0.012197f, 0.042287f, 0.036551f, 0.001437f, -0.001503f, 0.018473f, 0.041324f, -0.004250f, -0.011999f, -0.006436f, 0.035117f, 0.010885f, 0.000936f, -0.010815f, 0.021647f, 0.017067f, -0.006310f, 0.014133f, 0.016944f, 0.008639f, -0.004723f, 0.003740f, 0.011867f, 0.001398f, -0.021354f, 0.044901f, 0.089044f, -0.047530f, 0.067413f, 0.054111f, -0.009119f, -0.014091f, -0.030710f, 0.009006f, 0.060069f, 0.044571f, 0.070508f, -0.031127f, -0.014426f, -0.014775f, -0.004833f, -0.019391f, 0.018101f, -0.023746f, 0.051597f, 0.021769f, -0.086029f, -0.037297f, 0.000231f, 0.012479f, 0.036426f, -0.018031f, -0.032866f, 0.009218f, 0.009583f, -0.014142f, -0.016487f, 0.009212f, -0.024823f, -0.037668f, -0.017413f, 0.080207f, + 0.032886f, 0.013246f, -0.041401f, -0.013634f, -0.035204f, 0.019878f, 0.038608f, 0.012750f, 0.002107f, 0.022691f, -0.014190f, 0.051039f, 0.028734f, 0.002656f, 0.016613f, -0.002284f, 0.101468f, 0.020669f, -0.043864f, 0.016201f, 0.017167f, 0.009772f, 0.022634f, 0.000968f, -0.041870f, 0.048752f, 0.010395f, 0.008060f, 0.018847f, 0.008585f, -0.000486f, -0.030810f, 0.034721f, 0.039668f, 0.020304f, 0.114519f, 0.081284f, -0.044430f, -0.089050f, -0.062401f, -0.006472f, 0.007395f, -0.009427f, -0.075722f, -0.037758f, -0.027054f, -0.031380f, -0.031226f, 0.027700f, 0.021674f, -0.008239f, 0.004410f, -0.007063f, -0.042511f, 0.011899f, -0.008033f, -0.002591f, -0.043541f, -0.041916f, -0.007712f, 0.017435f, 0.020481f, 0.002333f, 0.021857f, 0.009228f, 0.027632f, 0.003837f, 0.005391f, -0.047440f, -0.028242f, 0.019958f, 0.005349f, -0.013239f, 0.024659f, 0.010384f, 0.004309f, -0.022858f, 0.021905f, 0.030116f, 0.021181f, 0.021849f, 0.027649f, -0.006184f, 0.030654f, 0.061455f, 0.048470f, 0.010928f, 0.006715f, -0.007876f, -0.010720f, -0.031605f, -0.039951f, 0.010509f, -0.004392f, -0.016650f, -0.104061f, + -0.013662f, 0.025814f, 0.029099f, -0.023974f, 0.036382f, 0.011077f, -0.015045f, -0.039213f, 0.008352f, -0.009846f, -0.058220f, -0.018909f, -0.020900f, 0.003758f, -0.080079f, -0.062928f, -0.011025f, 0.038602f, -0.005673f, -0.012709f, -0.048638f, 0.000300f, 0.040868f, 0.001273f, -0.029098f, -0.017239f, -0.006635f, -0.016939f, 0.009784f, 0.012966f, -0.041317f, -0.046295f, 0.006601f, -0.002349f, 0.009295f, 0.074325f, -0.046462f, -0.005565f, -0.003439f, -0.074014f, -0.022631f, -0.054379f, -0.008974f, -0.005320f, 0.051232f, 0.057578f, 0.070886f, 0.019670f, 0.011487f, -0.027960f, -0.063222f, 0.001710f, 0.024768f, -0.022531f, 0.087141f, 0.204501f, 0.196513f, 0.027967f, -0.126916f, -0.116692f, -0.046175f, -0.073687f, 0.241166f, 0.148831f, 0.093239f, 0.121386f, -0.002750f, -0.065621f, -0.173162f, -0.111279f, -0.043603f, -0.010058f, 0.068619f, 0.139659f, 0.124273f, -0.015696f, -0.104286f, -0.063477f, -0.094540f, -0.074473f, 0.012173f, 0.100915f, 0.147433f, 0.056669f, -0.008996f, 0.007481f, -0.057886f, -0.068152f, -0.067944f, 0.022593f, 0.009446f, 0.016685f, 0.058560f, 0.031051f, -0.007106f, -0.038961f, + -0.034178f, -0.022591f, -0.053420f, -0.011170f, 0.022007f, -0.020215f, 0.000230f, -0.007875f, 0.035159f, 0.026644f, -0.049802f, -0.030938f, -0.099460f, -0.079746f, -0.071464f, 0.044314f, 0.078323f, 0.029622f, 0.019374f, -0.029496f, -0.052177f, -0.154784f, -0.115266f, -0.069081f, 0.011973f, 0.042173f, 0.026180f, 0.005758f, -0.057916f, -0.047946f, -0.090946f, -0.149369f, -0.059793f, 0.016702f, 0.042263f, 0.075564f, 0.034005f, -0.000630f, -0.043149f, -0.016018f, -0.029062f, 0.053703f, -0.052531f, 0.060576f, 0.012454f, 0.006053f, -0.096439f, -0.032152f, 0.086181f, -0.057866f, 0.024413f, -0.000597f, -0.018434f, 0.025664f, 0.010689f, 0.044888f, 0.072895f, -0.042865f, -0.055531f, 0.014158f, -0.033445f, 0.044492f, -0.058053f, -0.031633f, -0.036360f, 0.003763f, -0.009148f, -0.034803f, 0.016448f, 0.068032f, -0.052888f, -0.060160f, -0.043072f, -0.014386f, -0.011966f, 0.091546f, 0.006542f, -0.003267f, -0.089735f, -0.023882f, 0.009401f, 0.076838f, 0.034475f, -0.014203f, -0.129771f, -0.093974f, 0.089503f, 0.096238f, 0.094306f, -0.043216f, -0.217083f, -0.043222f, 0.098473f, 0.081365f, 0.013020f, -0.025399f, + 0.014364f, -0.088107f, -0.051932f, 0.029624f, -0.025434f, 0.026814f, -0.015683f, 0.003572f, 0.092635f, -0.068578f, -0.035695f, 0.076474f, 0.060584f, 0.115394f, 0.049283f, -0.154025f, 0.048558f, 0.166432f, 0.036112f, 0.084296f, 0.021568f, -0.046679f, -0.001055f, 0.105934f, 0.073123f, 0.140680f, -0.184454f, 0.025344f, -0.000881f, -0.020869f, 0.073588f, 0.001003f, -0.095703f, 0.008220f, -0.003844f, -0.020060f, 0.014547f, -0.000770f, -0.058399f, 0.051035f, -0.023895f, -0.001848f, 0.003012f, -0.014382f, 0.002981f, 0.007256f, -0.015894f, -0.021862f, -0.031606f, -0.047543f, 0.046677f, -0.002878f, 0.017479f, 0.038774f, -0.044440f, 0.020760f, -0.001169f, -0.082362f, 0.000864f, 0.024619f, 0.088666f, -0.024119f, -0.121841f, -0.015387f, 0.059086f, 0.014663f, 0.052346f, -0.041544f, -0.033370f, -0.045696f, 0.021381f, -0.009078f, 0.032433f, -0.048357f, 0.024421f, 0.010596f, 0.015217f, -0.053754f, 0.006538f, 0.009675f, 0.038265f, -0.016345f, 0.009191f, -0.033477f, 0.013202f, -0.020714f, 0.033285f, -0.007579f, 0.027064f, -0.009956f, 0.012317f, -0.108557f, 0.012267f, 0.019414f, 0.010347f, 0.107031f, + 0.018028f, -0.008034f, -0.068334f, -0.011683f, -0.006727f, -0.016012f, -0.000687f, -0.012935f, 0.027378f, 0.012778f, -0.020151f, -0.003453f, 0.042494f, 0.000131f, -0.002401f, 0.004514f, -0.010650f, -0.018244f, 0.023840f, 0.021086f, 0.015994f, -0.026576f, 0.013957f, 0.039761f, 0.015581f, -0.002286f, 0.025635f, -0.004672f, -0.030448f, 0.008046f, 0.007699f, -0.024518f, -0.026660f, 0.026541f, 0.025832f, -0.025520f, 0.016336f, 0.015786f, -0.000242f, -0.009298f, 0.000173f, 0.020177f, -0.001132f, -0.022544f, 0.011714f, 0.013745f, -0.041884f, 0.010702f, 0.030941f, 0.010122f, -0.027238f, 0.004235f, 0.019197f, -0.035273f, 0.009563f, 0.016520f, 0.006960f, -0.009180f, -0.033643f, 0.039574f, -0.042862f, -0.003792f, 0.041213f, 0.000662f, -0.007128f, 0.000900f, -0.038768f, 0.017142f, -0.000589f, 0.022125f, 0.040983f, -0.018565f, -0.002970f, -0.023709f, 0.031340f, -0.006583f, -0.003524f, 0.032139f, -0.042004f, -0.018475f, 0.023290f, 0.019007f, 0.008327f, -0.034152f, 0.011782f, -0.007517f, -0.002166f, 0.016356f, 0.012424f, 0.002329f, -0.008712f, -0.004387f, 0.001564f, 0.009247f, -0.029824f, 0.021697f, + 0.004410f, -0.004159f, 0.008392f, -0.003924f, 0.018833f, -0.028052f, -0.005101f, 0.000561f, 0.001629f, 0.002780f, 0.012955f, 0.008572f, -0.047634f, 0.025161f, -0.005106f, -0.005554f, -0.002001f, 0.009671f, 0.013001f, -0.011818f, -0.004782f, 0.022135f, -0.018971f, -0.002451f, -0.014517f, 0.010516f, 0.100308f, 0.008798f, -0.012242f, -0.033545f, -0.022295f, 0.011752f, -0.014950f, 0.012936f, -0.019954f, -0.001589f, 0.015893f, -0.008992f, 0.007472f, 0.007319f, -0.027809f, 0.007678f, -0.009110f, -0.006059f, -0.022920f, 0.006463f, -0.006494f, -0.014459f, -0.006743f, 0.011070f, -0.010007f, -0.009911f, 0.014137f, -0.015714f, 0.007947f, 0.013440f, -0.027865f, 0.027457f, -0.006959f, -0.032783f, 0.017388f, 0.017293f, -0.015290f, 0.005306f, 0.009914f, -0.013854f, -0.012406f, 0.000074f, 0.001845f, 0.008918f, -0.004511f, -0.001698f, -0.013793f, 0.012636f, -0.010806f, -0.003506f, 0.015869f, -0.019187f, 0.005527f, -0.003497f, 0.000049f, -0.009047f, -0.012370f, -0.005061f, 0.021576f, -0.014778f, -0.005622f, 0.003463f, 0.004585f, 0.000595f, -0.013077f, 0.009931f, -0.005861f, -0.011315f, -0.000322f, -0.020720f, + 0.030254f, -0.013391f, 0.006132f, 0.006653f, -0.006221f, 0.010467f, -0.017994f, -0.014703f, 0.018424f, -0.009074f, -0.012480f, 0.012315f, -0.000819f, 0.003419f, -0.008315f, 0.002173f, -0.001834f, 0.005620f, -0.006630f, -0.005216f, 0.006993f, -0.004076f, -0.004828f, -0.001322f, 0.004421f, -0.002890f, -0.000390f, -0.002349f, 0.001190f, 0.004182f, -0.005882f, -0.005959f, 0.017348f, -0.005118f, -0.006181f, 0.005415f, -0.001965f, 0.005034f, -0.013879f, 0.000927f, -0.002286f, -0.000433f, -0.003655f, 0.016247f, 0.000247f, -0.014298f, 0.004720f, 0.001582f, -0.000577f, 0.000126f, 0.006364f, -0.004076f, -0.004068f, -0.001807f, -0.003662f, -0.001853f, 0.001844f, -0.004463f, -0.000052f, 0.001357f, -0.000562f, -0.049806f, -0.081434f, 0.037239f, 0.280845f, 0.043089f, 0.140272f, -0.032898f, -0.142824f, -0.051826f, -0.139194f, -0.091551f, -0.029166f, -0.015251f, 0.006527f, 0.082689f, 0.099247f, 0.137978f, 0.136877f, 0.043573f, -0.054248f, -0.087598f, -0.160905f, -0.123142f, -0.064903f, -0.025197f, -0.016543f, 0.049690f, 0.083233f, 0.064430f, 0.087702f, 0.085127f, 0.031264f, 0.027617f, 0.010310f, -0.062242f, + -0.023234f, -0.053513f, -0.092779f, -0.055997f, -0.054244f, -0.080315f, -0.017207f, 0.037577f, 0.028435f, 0.081986f, 0.107310f, 0.055944f, 0.071445f, 0.053872f, -0.007670f, -0.002317f, -0.005149f, -0.057749f, -0.071270f, -0.063433f, -0.095694f, -0.081394f, -0.028903f, -0.004758f, 0.011442f, 0.066343f, 0.060924f, 0.058859f, 0.073992f, 0.055363f, 0.018900f, 0.034995f, 0.019054f, -0.021551f, -0.010408f, -0.039858f, -0.084042f, -0.050448f, -0.047744f, -0.066071f, -0.031977f, -0.021163f, -0.037293f, 0.031435f, 0.059294f, 0.068638f, 0.109326f, 0.103157f, 0.043397f, 0.025620f, -0.001582f, -0.037376f, -0.044525f, -0.045765f, -0.066801f, -0.061028f, -0.056203f, -0.051378f, -0.032268f, -0.012750f, -0.000261f, 0.025027f, 0.058500f, 0.073120f, 0.067834f, 0.082050f, 0.056653f, 0.027545f, 0.011456f, -0.009529f, -0.042283f, -0.047557f, -0.066486f, -0.086510f, -0.087402f, -0.069301f, -0.058082f, -0.008827f, 0.034403f, 0.077399f, 0.103558f, 0.112295f, 0.086529f, 0.056491f, 0.024812f, -0.006801f, -0.043729f, -0.063753f, -0.086364f, -0.085523f, -0.061462f, -0.040211f, -0.012518f, 0.015438f, 0.030545f, 0.040811f, + 0.050824f, 0.044042f, 0.027208f, 0.023202f, 0.007909f, -0.000687f, -0.008576f, -0.010723f, -0.014199f, -0.013619f, -0.019867f, -0.016029f, -0.012979f, -0.010594f, -0.010968f, -0.007149f, -0.007377f, -0.001911f, 0.002202f, 0.009753f, 0.011182f, 0.015755f, 0.015405f, 0.014618f, 0.004749f, 0.001465f, -0.002053f, 0.000335f, -0.001275f}, + {-0.002126f, 0.011493f, -0.006458f, 0.001924f, -0.009600f, 0.002688f, 0.001081f, 0.014649f, -0.008772f, 0.000029f, -0.004614f, 0.007342f, 0.007498f, -0.004782f, -0.000909f, -0.004110f, -0.002356f, -0.004804f, -0.005980f, 0.004414f, 0.001445f, -0.003911f, 0.008180f, 0.007447f, 0.012729f, -0.000376f, 0.004823f, 0.002532f, -0.000209f, -0.011497f, 0.002995f, 0.004791f, -0.004535f, 0.002878f, -0.003342f, -0.003896f, -0.006306f, 0.003280f, 0.008128f, 0.000845f, 0.009484f, -0.003863f, -0.000801f, 0.009565f, 0.005008f, 0.000780f, -0.000111f, 0.009087f, 0.013646f, -0.010131f, 0.002281f, -0.003491f, -0.001563f, -0.015774f, -0.005594f, 0.006395f, -0.004894f, 0.004436f, 0.002053f, -0.002304f, -0.003819f, 0.002250f, -0.001300f, 0.004941f, 0.002683f, 0.002312f, 0.002534f, -0.008177f, 0.000324f, -0.003921f, 0.005056f, 0.008382f, 0.005880f, -0.001170f, 0.009074f, 0.000081f, 0.003859f, -0.001178f, -0.001995f, 0.000509f, 0.004561f, 0.005261f, -0.001693f, -0.003548f, -0.007358f, -0.000925f, -0.003234f, -0.003464f, -0.001947f, -0.002942f, -0.002104f, -0.003469f, -0.001812f, -0.000055f, -0.000025f, 0.000114f, + 0.002933f, -0.001980f, 0.001545f, -0.000692f, -0.001393f, 0.000117f, 0.001357f, 0.000527f, 0.001086f, 0.000041f, -0.000952f, 0.000060f, 0.001387f, 0.000494f, -0.001979f, -0.001512f, -0.000051f, 0.000066f, 0.000840f, 0.000167f, 0.001519f, -0.001961f, 0.006842f, -0.008387f, -0.008773f, 0.000332f, -0.011815f, 0.002169f, -0.003720f, 0.005742f, -0.003165f, -0.009372f, 0.001066f, 0.009188f, -0.001404f, 0.000317f, 0.012793f, 0.016080f, -0.006939f, -0.007378f, -0.002097f, -0.011953f, 0.005107f, 0.001092f, 0.002980f, -0.004203f, 0.006382f, -0.008328f, -0.001517f, 0.005704f, -0.004687f, -0.001708f, 0.000874f, 0.010362f, 0.000667f, 0.007498f, -0.009881f, 0.009709f, -0.001058f, 0.001405f, 0.006285f, -0.005422f, 0.005244f, -0.002461f, -0.002509f, 0.004518f, 0.005960f, -0.001008f, 0.003409f, -0.013104f, 0.007926f, 0.007694f, -0.013892f, -0.012227f, -0.003454f, -0.010140f, -0.002842f, 0.003870f, 0.002523f, 0.003695f, 0.000213f, -0.003378f, 0.008549f, -0.002861f, 0.000313f, -0.003415f, 0.002014f, -0.005174f, 0.007274f, 0.001786f, -0.005597f, -0.003126f, -0.002216f, -0.003241f, -0.002871f, 0.007370f, + 0.009652f, -0.000456f, -0.001968f, 0.000379f, 0.003091f, -0.002004f, 0.006743f, 0.003833f, -0.002756f, -0.000514f, -0.001722f, 0.002936f, -0.002827f, -0.000075f, -0.000746f, 0.000452f, 0.001068f, -0.000161f, -0.000829f, 0.001834f, -0.001416f, -0.000465f, 0.000379f, 0.001226f, 0.000096f, -0.002442f, -0.001690f, 0.000479f, -0.001613f, -0.001345f, 0.001618f, -0.000851f, -0.002993f, -0.001920f, -0.002408f, -0.000632f, 0.000381f, 0.002886f, 0.020666f, 0.003948f, -0.007642f, 0.009581f, 0.001220f, -0.006505f, 0.018877f, -0.012667f, -0.018145f, -0.010634f, -0.011002f, -0.003704f, 0.005369f, 0.006622f, -0.006271f, 0.009530f, -0.011957f, -0.006520f, -0.001446f, 0.003964f, 0.002983f, -0.003643f, -0.004699f, 0.010662f, 0.002053f, -0.000727f, -0.005977f, 0.007959f, -0.005821f, -0.001347f, -0.000012f, -0.000675f, -0.000836f, 0.003099f, 0.001656f, -0.001642f, 0.006646f, -0.003134f, 0.004052f, -0.000286f, -0.010841f, -0.004254f, -0.004330f, 0.011529f, -0.006391f, -0.007772f, -0.014079f, -0.016451f, -0.003006f, 0.000837f, -0.006569f, 0.012484f, 0.001686f, 0.006706f, -0.005042f, 0.010806f, 0.004609f, -0.006266f, + 0.017426f, -0.007896f, -0.008437f, 0.001349f, 0.010923f, 0.016012f, 0.011339f, 0.003754f, -0.005577f, -0.012602f, 0.005021f, -0.000155f, 0.012419f, 0.004994f, -0.003549f, -0.000430f, 0.006333f, 0.005087f, 0.000093f, -0.001187f, 0.000522f, -0.002481f, -0.005231f, -0.000495f, 0.001647f, 0.001296f, 0.004522f, -0.000161f, 0.002742f, -0.000960f, 0.002164f, -0.000551f, 0.000413f, -0.000466f, -0.003061f, 0.000287f, -0.000558f, -0.003926f, 0.003154f, -0.000725f, 0.001932f, -0.001067f, -0.002110f, 0.000292f, 0.000375f, -0.000153f, -0.001380f, 0.001454f, 0.000584f, -0.001038f, -0.000317f, -0.003021f, 0.000392f, -0.001705f, 0.001523f, -0.000568f, 0.003266f, -0.001476f, -0.019517f, 0.003033f, -0.007068f, 0.004512f, 0.001348f, 0.014030f, -0.018048f, -0.010351f, -0.013233f, 0.007090f, 0.005960f, 0.008515f, -0.009423f, 0.003239f, -0.002759f, 0.001184f, -0.014707f, -0.012615f, -0.009182f, -0.009175f, 0.014974f, -0.006029f, -0.001730f, -0.000292f, 0.005146f, -0.002398f, -0.015628f, 0.006595f, -0.006176f, -0.002072f, 0.007329f, 0.005434f, 0.008404f, 0.000517f, 0.004527f, -0.011017f, -0.004476f, 0.009841f, + 0.016450f, 0.009590f, -0.000639f, -0.012529f, 0.008993f, -0.004051f, -0.010729f, 0.014906f, 0.004508f, 0.005116f, -0.009106f, -0.005372f, 0.005201f, -0.003394f, -0.005034f, 0.007859f, -0.006126f, 0.002724f, 0.000475f, -0.010418f, -0.002123f, -0.006899f, 0.011013f, 0.005551f, -0.001431f, 0.001851f, -0.004939f, 0.006461f, 0.001172f, -0.000198f, 0.002010f, -0.012464f, -0.006399f, 0.007016f, 0.003480f, -0.002043f, -0.001516f, -0.008865f, 0.014609f, 0.017960f, 0.010015f, -0.008249f, 0.007460f, 0.001260f, 0.006381f, -0.002750f, 0.005261f, -0.003960f, 0.003438f, 0.006557f, 0.003631f, 0.003140f, 0.002476f, 0.000119f, -0.002121f, -0.000747f, 0.006528f, 0.000327f, 0.000518f, -0.002426f, -0.000372f, 0.001342f, 0.003961f, -0.000492f, 0.004639f, 0.000740f, 0.000206f, -0.000176f, 0.003782f, 0.004532f, -0.001894f, -0.000875f, -0.000422f, 0.000700f, 0.003334f, -0.000192f, 0.000964f, 0.000238f, 0.000866f, -0.001635f, -0.029517f, 0.009848f, 0.001498f, 0.007342f, 0.007951f, -0.005764f, -0.020875f, 0.016088f, 0.006835f, 0.015830f, -0.002910f, 0.008392f, -0.000164f, -0.005697f, -0.000391f, -0.014755f, + 0.018056f, 0.004123f, 0.001712f, -0.009293f, -0.005338f, -0.006294f, 0.005395f, -0.008287f, 0.013829f, 0.000608f, 0.004762f, 0.007704f, 0.004259f, -0.000887f, 0.004467f, 0.004267f, -0.003229f, 0.003591f, -0.015372f, 0.003998f, 0.007011f, 0.007173f, 0.013809f, 0.004795f, -0.009218f, 0.004623f, -0.004643f, 0.009391f, 0.001824f, 0.006834f, 0.010515f, 0.001723f, -0.002295f, 0.008238f, -0.005662f, -0.008951f, -0.003302f, 0.005747f, 0.014573f, -0.003453f, 0.000926f, 0.000261f, 0.001752f, 0.002861f, 0.006113f, 0.002073f, -0.003820f, -0.000687f, -0.005156f, 0.003752f, 0.001222f, -0.009231f, -0.008114f, 0.003244f, 0.005140f, 0.005141f, 0.009166f, -0.014097f, -0.007569f, -0.010276f, 0.012108f, -0.005332f, -0.007486f, 0.003919f, -0.006898f, -0.010048f, -0.003611f, 0.000281f, 0.010780f, -0.003803f, 0.003502f, -0.004283f, -0.002489f, -0.000625f, 0.003304f, 0.001424f, -0.001921f, -0.001633f, 0.002093f, 0.005344f, 0.001841f, 0.003081f, -0.001451f, -0.001016f, 0.003660f, -0.000144f, 0.000285f, 0.001362f, -0.002489f, 0.004774f, -0.001452f, -0.000333f, -0.002193f, -0.006088f, -0.000903f, -0.001341f, + -0.000407f, -0.000068f, -0.002243f, 0.000240f, 0.005502f, -0.001362f, -0.000478f, -0.001041f, -0.001967f, 0.007283f, 0.029978f, 0.015906f, 0.014243f, 0.020767f, 0.005652f, 0.003794f, -0.012700f, -0.000416f, -0.023751f, -0.004279f, 0.009052f, 0.006569f, 0.004225f, 0.005496f, 0.006542f, -0.005127f, -0.003470f, 0.013619f, 0.012284f, 0.010536f, -0.000793f, 0.001479f, -0.016959f, -0.014694f, -0.005558f, 0.010740f, 0.003483f, -0.002228f, 0.005841f, -0.009882f, 0.000944f, -0.005098f, 0.011822f, 0.009279f, 0.020757f, -0.002059f, 0.007837f, 0.006522f, -0.003329f, -0.010880f, 0.019530f, -0.011350f, -0.002565f, 0.008840f, 0.000434f, 0.005025f, 0.014084f, -0.004494f, 0.005260f, -0.013608f, -0.029079f, -0.016134f, -0.009641f, -0.003907f, 0.001360f, -0.001161f, -0.007489f, -0.015636f, -0.003246f, -0.011227f, 0.003461f, -0.000259f, 0.001399f, -0.017633f, -0.008015f, 0.011433f, 0.003961f, -0.000686f, -0.019535f, -0.017688f, 0.010542f, 0.001894f, 0.006423f, -0.012959f, -0.010329f, 0.000697f, -0.005263f, -0.011055f, -0.007846f, 0.006214f, -0.002385f, 0.002864f, 0.000832f, 0.007771f, 0.005706f, 0.002670f, + -0.003937f, 0.002105f, -0.000693f, -0.004704f, -0.004633f, 0.004475f, -0.001899f, 0.001329f, -0.002992f, -0.004539f, -0.000780f, -0.000357f, 0.004050f, -0.000440f, -0.003920f, 0.001074f, 0.001525f, 0.004476f, 0.000888f, 0.001089f, -0.001878f, 0.005602f, -0.002111f, 0.006377f, -0.003496f, 0.004735f, -0.004161f, 0.000748f, 0.002484f, 0.000239f, -0.000293f, 0.001043f, -0.000946f, -0.001660f, -0.015158f, 0.011469f, -0.006737f, -0.000569f, -0.039466f, -0.009331f, -0.014584f, -0.009662f, 0.001615f, 0.013022f, -0.002584f, 0.017222f, 0.009139f, -0.001031f, -0.016965f, -0.007042f, 0.025277f, 0.004212f, -0.015109f, -0.011066f, -0.004980f, 0.011831f, -0.009221f, 0.000127f, 0.008161f, 0.012873f, 0.014556f, -0.015959f, 0.010744f, 0.001438f, 0.003050f, 0.004539f, 0.005907f, 0.005112f, 0.014594f, 0.000385f, 0.004440f, -0.012794f, 0.017883f, -0.008996f, -0.004197f, 0.002985f, -0.014823f, 0.018333f, -0.002894f, -0.035889f, -0.011848f, -0.028821f, 0.001772f, -0.000441f, -0.008692f, 0.039035f, -0.006821f, -0.019361f, -0.006550f, -0.004779f, 0.017959f, -0.002483f, 0.008573f, 0.010499f, -0.007317f, 0.013378f, + 0.018509f, -0.009425f, 0.007053f, -0.016468f, 0.008030f, -0.005922f, -0.004636f, 0.018968f, -0.006942f, -0.001842f, -0.008434f, 0.000481f, 0.000334f, 0.007222f, 0.010735f, 0.011343f, -0.003020f, -0.003246f, 0.000459f, 0.014700f, 0.006992f, 0.007633f, 0.000306f, -0.012040f, 0.004840f, -0.005856f, -0.006530f, -0.003610f, -0.000108f, -0.000351f, 0.000793f, 0.002659f, 0.002819f, -0.000719f, 0.008012f, 0.001285f, 0.003510f, 0.001382f, 0.001596f, -0.002246f, 0.002135f, 0.000803f, -0.002350f, -0.003509f, -0.002260f, -0.006029f, -0.004695f, 0.004147f, 0.003361f, -0.005102f, 0.001410f, -0.000278f, 0.001454f, 0.005761f, 0.001246f, -0.002251f, 0.000650f, 0.001861f, 0.000153f, -0.004653f, 0.002089f, 0.017942f, -0.025054f, 0.005003f, 0.005128f, -0.007937f, 0.003370f, 0.018882f, 0.020247f, 0.007506f, 0.007246f, 0.009653f, -0.015654f, -0.002727f, -0.016714f, -0.000354f, 0.010691f, 0.006761f, -0.003512f, -0.013231f, -0.004276f, 0.008938f, -0.017325f, 0.000588f, -0.001226f, 0.007999f, 0.016523f, 0.001562f, -0.008885f, -0.006782f, 0.017681f, -0.011355f, -0.005466f, 0.010168f, -0.006309f, -0.020884f, + -0.007547f, 0.004754f, 0.003554f, -0.008349f, 0.001978f, 0.010881f, 0.007532f, 0.010496f, -0.001207f, 0.007915f, 0.015043f, -0.006614f, 0.007510f, 0.006463f, -0.010236f, 0.022284f, -0.021378f, 0.012776f, 0.005657f, -0.029751f, 0.028523f, -0.018418f, 0.004088f, -0.003277f, 0.022774f, -0.009634f, -0.016070f, -0.003413f, 0.000189f, 0.004141f, 0.017512f, -0.014824f, -0.000678f, 0.001082f, 0.001075f, -0.002648f, 0.005225f, -0.012047f, -0.001714f, -0.008583f, -0.016014f, -0.017781f, 0.009658f, 0.007808f, 0.007486f, 0.000207f, 0.011339f, -0.005163f, -0.012963f, 0.003428f, -0.023007f, -0.019202f, -0.003553f, 0.005685f, -0.000127f, -0.003514f, -0.002909f, 0.002817f, -0.012559f, -0.004159f, -0.002587f, -0.001992f, 0.005940f, -0.000542f, 0.001045f, 0.000553f, -0.004072f, 0.002158f, -0.004585f, 0.000438f, 0.002301f, -0.004964f, -0.000998f, 0.004381f, -0.003257f, 0.000129f, -0.002260f, -0.000084f, 0.001666f, 0.000269f, -0.006847f, -0.000970f, -0.000009f, -0.000214f, -0.001112f, -0.004101f, -0.007049f, -0.001568f, -0.000361f, -0.000837f, 0.005874f, 0.004454f, -0.019965f, 0.015827f, -0.045750f, 0.025045f, + -0.018213f, -0.012517f, -0.022371f, 0.002452f, -0.002693f, 0.003867f, 0.015959f, -0.013490f, -0.005172f, 0.012650f, 0.011614f, -0.003915f, 0.004510f, -0.006265f, -0.020972f, -0.002125f, 0.005263f, -0.010879f, 0.016895f, 0.002701f, -0.001987f, -0.010206f, -0.009901f, 0.002128f, 0.026041f, 0.000903f, -0.003674f, 0.006935f, -0.022535f, -0.004102f, 0.008217f, -0.015480f, 0.021880f, 0.013682f, -0.000797f, -0.006934f, -0.007345f, -0.008673f, -0.014983f, -0.018742f, 0.015549f, 0.000913f, 0.027630f, 0.002268f, -0.001440f, -0.012665f, 0.002294f, -0.005112f, 0.006203f, -0.000631f, -0.017419f, -0.013867f, -0.017750f, -0.030146f, -0.004164f, 0.026113f, -0.025205f, -0.001797f, -0.026392f, 0.003969f, 0.007439f, 0.005892f, 0.018842f, -0.002316f, -0.027130f, 0.019231f, -0.001880f, -0.013378f, -0.010943f, -0.023695f, -0.008022f, -0.018075f, 0.009786f, -0.027625f, -0.004556f, 0.010524f, -0.000200f, 0.001847f, 0.013108f, 0.006434f, 0.015742f, -0.000172f, -0.008501f, -0.003598f, -0.005821f, -0.000525f, 0.005820f, -0.001838f, 0.001031f, 0.000566f, 0.000644f, -0.004802f, -0.006653f, 0.003974f, -0.004654f, 0.001807f, + 0.000860f, -0.001182f, 0.002105f, 0.000471f, 0.000896f, 0.009223f, 0.001732f, -0.000786f, 0.001825f, 0.002761f, 0.002121f, -0.004986f, -0.000691f, -0.010244f, 0.003792f, 0.004955f, 0.007877f, 0.002591f, 0.002737f, -0.000386f, -0.005033f, 0.002818f, -0.000187f, 0.019590f, -0.007126f, 0.017414f, -0.016986f, -0.009103f, 0.012023f, 0.003774f, -0.022945f, 0.001438f, 0.030022f, -0.034544f, 0.002116f, 0.016067f, 0.038850f, -0.016620f, -0.009777f, -0.004289f, 0.030107f, 0.029435f, -0.031067f, -0.001501f, -0.023844f, -0.011496f, 0.015684f, 0.015648f, 0.020628f, 0.011629f, -0.003977f, 0.014407f, -0.017754f, -0.009654f, -0.001691f, -0.002770f, -0.025739f, 0.002266f, -0.000487f, 0.034167f, -0.005181f, 0.016832f, 0.004175f, 0.009974f, 0.022999f, -0.013868f, -0.006070f, -0.033774f, 0.023370f, -0.029765f, -0.005180f, 0.006831f, -0.003914f, -0.017190f, -0.004207f, 0.004883f, -0.012117f, 0.003354f, -0.001887f, -0.002599f, -0.037837f, -0.026874f, 0.001992f, -0.019481f, -0.026531f, 0.004926f, -0.024519f, 0.007860f, 0.016149f, -0.014452f, 0.027654f, 0.005800f, 0.017792f, 0.018981f, 0.004987f, -0.014041f, + -0.016555f, -0.020726f, 0.010790f, -0.021505f, 0.013080f, 0.015601f, 0.021602f, 0.003830f, -0.015167f, -0.009787f, 0.000558f, 0.002122f, -0.028364f, -0.000656f, -0.018319f, -0.003091f, -0.005084f, 0.001201f, -0.013372f, 0.001828f, -0.002951f, -0.000142f, -0.008630f, -0.006343f, 0.002249f, 0.014278f, 0.001655f, -0.001300f, 0.002088f, -0.001964f, -0.005107f, -0.005118f, -0.005536f, -0.002439f, -0.006597f, 0.007406f, 0.005539f, -0.000435f, -0.005422f, 0.008791f, 0.013244f, -0.002832f, -0.002079f, -0.003014f, -0.001140f, -0.000363f, 0.003417f, -0.004881f, 0.005400f, 0.004900f, 0.003521f, -0.004638f, -0.000490f, 0.002805f, 0.004034f, 0.009085f, -0.018281f, 0.047302f, 0.019829f, 0.008155f, 0.024440f, -0.009370f, 0.005203f, -0.025208f, -0.032321f, 0.020372f, 0.041728f, 0.012357f, -0.000119f, -0.041200f, 0.049751f, 0.007145f, 0.006192f, 0.007091f, 0.001917f, 0.008947f, 0.002911f, -0.007151f, -0.000232f, 0.012511f, -0.007627f, 0.015731f, 0.003101f, -0.012444f, -0.017148f, -0.004733f, 0.015804f, -0.004340f, 0.005206f, -0.007144f, -0.006245f, 0.000238f, 0.044639f, 0.007185f, 0.006515f, 0.005996f, + 0.003828f, 0.026690f, -0.009889f, 0.007664f, -0.017199f, 0.031806f, 0.044398f, 0.011536f, -0.002495f, -0.015800f, 0.046387f, 0.021756f, 0.000739f, -0.017943f, 0.006830f, -0.010769f, -0.001609f, -0.020581f, -0.007677f, -0.013737f, -0.018812f, 0.030482f, -0.009101f, 0.022462f, 0.004759f, -0.017532f, -0.000217f, -0.037508f, 0.035689f, -0.002590f, -0.017014f, -0.013324f, -0.021697f, -0.026788f, -0.014615f, 0.041481f, -0.012897f, 0.014943f, 0.018876f, -0.016765f, -0.015923f, -0.029929f, 0.004540f, 0.020180f, 0.006954f, 0.019297f, -0.004425f, -0.003809f, 0.000889f, 0.005490f, -0.008211f, 0.002313f, -0.014888f, 0.004853f, -0.000678f, 0.016934f, 0.011952f, -0.009141f, 0.000933f, -0.000489f, 0.010078f, -0.003408f, -0.013403f, 0.002990f, -0.000414f, -0.001073f, 0.004986f, 0.000941f, -0.002102f, -0.006704f, -0.007524f, -0.001428f, -0.001799f, 0.007985f, -0.000308f, 0.008010f, -0.010968f, 0.002674f, 0.008265f, -0.015526f, -0.011340f, 0.004121f, -0.004949f, 0.011678f, 0.014023f, -0.010442f, -0.011100f, 0.044099f, 0.043231f, 0.053406f, 0.032136f, 0.010606f, -0.013585f, -0.014099f, 0.007987f, 0.015516f, + 0.018977f, -0.028377f, -0.000844f, -0.003378f, 0.014232f, 0.011247f, -0.019700f, -0.024282f, -0.000099f, -0.009197f, 0.023147f, 0.027250f, -0.000016f, 0.014448f, 0.004750f, 0.005779f, 0.031459f, -0.019210f, -0.025474f, 0.020093f, -0.033359f, 0.002889f, -0.010284f, 0.018417f, 0.009391f, 0.000346f, 0.021528f, 0.019773f, -0.017975f, 0.022403f, -0.000053f, -0.009577f, 0.005295f, 0.024337f, -0.009410f, 0.010415f, 0.018037f, 0.008171f, -0.038883f, -0.022474f, 0.003827f, 0.002061f, -0.026437f, -0.018055f, 0.008777f, 0.012585f, 0.010688f, -0.036009f, -0.025160f, -0.025057f, -0.001992f, 0.015618f, 0.022764f, -0.057207f, -0.042053f, 0.007004f, 0.008789f, 0.033054f, 0.011650f, 0.012126f, 0.024059f, -0.002584f, -0.006178f, -0.008728f, 0.059070f, 0.020428f, -0.009324f, -0.030906f, 0.028239f, 0.018456f, -0.009240f, -0.008392f, 0.004357f, -0.008502f, 0.015082f, -0.005443f, -0.003234f, 0.008887f, -0.002204f, -0.003538f, -0.004660f, 0.009333f, 0.024212f, 0.000174f, 0.001719f, 0.000852f, 0.010526f, 0.013528f, -0.003453f, -0.008510f, 0.003653f, -0.000791f, 0.002717f, 0.001589f, 0.002066f, -0.011482f, + -0.006278f, 0.008142f, 0.000816f, -0.004671f, 0.003961f, 0.011330f, 0.008807f, -0.015193f, -0.003426f, -0.010100f, -0.009742f, 0.007214f, -0.011630f, 0.004558f, -0.006280f, 0.011287f, -0.013458f, -0.018767f, -0.036312f, -0.035352f, -0.029050f, 0.011207f, -0.003738f, 0.016393f, -0.032030f, -0.005287f, 0.001500f, -0.012367f, -0.014987f, 0.026036f, -0.009973f, 0.005266f, -0.000392f, 0.001805f, -0.026115f, -0.009619f, -0.022331f, 0.002964f, 0.002953f, 0.005796f, 0.061753f, -0.024063f, 0.017059f, 0.025987f, -0.013189f, -0.012457f, -0.018679f, -0.003783f, 0.028849f, -0.029439f, 0.020156f, -0.001938f, -0.004900f, 0.002698f, 0.002962f, 0.015806f, 0.001782f, -0.031231f, 0.023889f, -0.019458f, -0.044805f, -0.036281f, -0.018165f, 0.060650f, 0.051476f, -0.027986f, -0.008045f, -0.038417f, -0.032045f, -0.012666f, 0.037483f, 0.000966f, 0.025857f, 0.013501f, -0.017617f, 0.019694f, -0.013410f, -0.039986f, -0.003376f, -0.024250f, -0.004930f, -0.013000f, 0.078924f, 0.000712f, -0.065309f, 0.051275f, -0.020683f, -0.014574f, 0.051829f, 0.052653f, 0.000188f, -0.023072f, 0.010289f, 0.012869f, -0.070919f, -0.030531f, + 0.001898f, -0.010440f, 0.037155f, 0.015710f, -0.053795f, -0.008065f, -0.004302f, 0.024384f, 0.015538f, 0.010609f, 0.009666f, -0.011218f, 0.001938f, 0.004269f, 0.022537f, -0.002800f, 0.003117f, 0.004411f, 0.003867f, 0.013229f, 0.006297f, 0.000294f, -0.015357f, 0.019457f, -0.001742f, -0.000097f, 0.000926f, 0.000020f, -0.008288f, -0.012965f, -0.008861f, 0.001760f, -0.003185f, 0.005661f, -0.000861f, -0.005747f, 0.006210f, 0.014357f, -0.019084f, -0.006215f, -0.005808f, -0.002742f, 0.005468f, -0.000372f, -0.005439f, -0.010772f, -0.004016f, -0.002784f, 0.009730f, -0.031409f, -0.019529f, 0.009548f, 0.007455f, 0.017087f, 0.053771f, 0.009279f, -0.001363f, 0.012590f, 0.002823f, -0.022346f, -0.013719f, 0.012057f, 0.002784f, 0.043910f, 0.010385f, -0.002721f, 0.015901f, 0.023583f, 0.023909f, 0.025730f, 0.001411f, -0.018020f, -0.004983f, -0.041185f, -0.005577f, -0.046505f, 0.025974f, -0.028294f, -0.010937f, 0.000158f, 0.037695f, -0.021817f, 0.020987f, -0.015315f, 0.012728f, -0.019212f, 0.024069f, 0.036360f, 0.002503f, -0.007658f, -0.019526f, -0.028166f, 0.015803f, 0.018097f, 0.046106f, -0.006217f, + 0.002339f, 0.020333f, 0.073831f, -0.017194f, 0.011090f, -0.011916f, -0.041079f, 0.028892f, -0.005859f, 0.020555f, -0.002523f, 0.005121f, -0.024739f, 0.068363f, -0.102454f, 0.075475f, -0.117559f, 0.050731f, -0.060633f, 0.018889f, -0.047539f, 0.017170f, 0.031555f, -0.007494f, 0.023452f, -0.012011f, 0.085789f, -0.051980f, 0.056967f, -0.088202f, 0.044541f, -0.034565f, 0.042852f, -0.028742f, -0.031143f, -0.015209f, -0.007877f, 0.021667f, -0.005919f, -0.003782f, 0.002166f, 0.001356f, -0.011011f, 0.015421f, -0.016614f, 0.016296f, -0.012006f, 0.005009f, -0.019108f, -0.010675f, -0.014117f, 0.002554f, -0.012980f, 0.016091f, 0.017147f, -0.016226f, -0.000258f, 0.006518f, 0.015737f, -0.002360f, 0.005644f, 0.012909f, -0.012083f, 0.021335f, -0.005931f, 0.028212f, -0.016807f, 0.033792f, -0.024096f, 0.008701f, -0.001981f, 0.018851f, 0.015638f, -0.002987f, 0.009156f, -0.026027f, 0.029676f, -0.020386f, 0.007212f, -0.020715f, 0.015001f, -0.027635f, 0.009496f, -0.002327f, -0.010131f, 0.010448f, 0.026151f, 0.020887f, 0.082811f, -0.057588f, 0.024164f, 0.015124f, -0.049570f, -0.001394f, -0.009666f, -0.014130f, + -0.025422f, -0.001383f, 0.003031f, 0.032914f, 0.012380f, 0.017219f, 0.024849f, 0.020022f, 0.000854f, 0.027443f, -0.031554f, -0.004574f, 0.038260f, 0.004239f, -0.052246f, -0.012048f, -0.068402f, -0.012820f, 0.012062f, -0.012709f, -0.015858f, -0.002995f, 0.061356f, 0.015469f, 0.004807f, 0.007468f, 0.015447f, -0.004632f, -0.035014f, -0.010770f, -0.003782f, 0.006514f, -0.007983f, -0.016424f, 0.044466f, 0.023863f, -0.009049f, -0.002120f, -0.009411f, -0.040112f, -0.032798f, -0.024060f, -0.019870f, 0.044749f, 0.010903f, 0.016511f, -0.026853f, -0.026205f, 0.008548f, 0.018210f, 0.016926f, -0.007589f, -0.005181f, -0.030427f, -0.019976f, 0.026552f, 0.001324f, -0.073636f, 0.026023f, 0.040161f, 0.012980f, -0.032097f, -0.019614f, -0.015997f, 0.005401f, -0.023113f, 0.011531f, -0.054204f, -0.072314f, 0.029969f, 0.026251f, -0.014492f, -0.026511f, 0.020310f, -0.011804f, 0.005249f, 0.006411f, -0.010685f, 0.011712f, -0.006625f, -0.006697f, -0.003939f, 0.017529f, -0.012404f, -0.003545f, -0.013569f, -0.000080f, 0.001124f, 0.011754f, 0.012048f, -0.001248f, 0.007095f, -0.008454f, 0.014081f, -0.009717f, 0.011501f, + -0.026546f, -0.012143f, -0.003576f, 0.007686f, -0.008615f, -0.017395f, -0.013240f, 0.006343f, 0.013823f, -0.000524f, 0.017832f, 0.004978f, 0.007104f, 0.001084f, 0.011636f, -0.006542f, 0.011122f, -0.002670f, -0.021875f, -0.016893f, -0.006394f, 0.009994f, -0.012272f, 0.007264f, -0.068285f, 0.059770f, 0.072739f, -0.006846f, 0.052884f, 0.002117f, 0.008075f, 0.023004f, -0.046729f, 0.016954f, 0.034569f, 0.034082f, 0.014305f, 0.010532f, -0.033793f, 0.024677f, 0.014527f, -0.020533f, 0.010899f, -0.004112f, 0.040280f, 0.011073f, 0.010290f, 0.023778f, -0.009572f, -0.027479f, 0.007912f, 0.051295f, -0.018411f, -0.010027f, 0.046341f, -0.017072f, -0.020767f, -0.016928f, 0.015943f, 0.059597f, 0.082910f, -0.005196f, -0.053823f, 0.081316f, 0.027993f, -0.053612f, 0.060650f, 0.023203f, -0.015070f, -0.015591f, -0.022776f, -0.037784f, -0.002166f, 0.019804f, -0.032409f, -0.021231f, -0.068438f, -0.009314f, 0.039813f, -0.082904f, -0.044911f, 0.013075f, 0.013351f, 0.016340f, 0.050273f, 0.044489f, -0.073675f, 0.000599f, 0.002815f, -0.052141f, 0.014551f, 0.024803f, -0.026756f, -0.019097f, -0.022592f, 0.015106f, + 0.057888f, 0.018116f, 0.030104f, -0.039588f, 0.020172f, -0.044824f, 0.003920f, -0.030145f, -0.122471f, 0.093667f, 0.024071f, -0.034184f, 0.063403f, -0.021875f, -0.028891f, 0.017056f, 0.012957f, 0.016313f, 0.024792f, 0.010027f, -0.024906f, -0.007910f, 0.024323f, -0.000800f, 0.009359f, 0.003922f, -0.003994f, 0.005971f, -0.010925f, 0.008090f, 0.022725f, 0.008204f, -0.013410f, -0.009921f, 0.006938f, -0.006086f, -0.012167f, 0.004637f, 0.014177f, 0.008239f, -0.042359f, -0.012811f, -0.031196f, -0.016186f, 0.018182f, -0.013909f, -0.017437f, 0.016596f, 0.010723f, -0.018285f, 0.023226f, -0.017155f, -0.007507f, 0.008342f, -0.013465f, 0.015268f, -0.006792f, -0.025131f, -0.038859f, 0.044777f, 0.148460f, -0.047399f, 0.001308f, 0.011408f, 0.067031f, 0.059428f, -0.019451f, -0.025803f, -0.037439f, 0.001594f, 0.028393f, -0.000946f, -0.019141f, -0.019687f, 0.026794f, -0.014621f, -0.036015f, -0.032197f, -0.006504f, 0.054553f, 0.038264f, -0.043384f, 0.002915f, 0.000789f, -0.018916f, 0.021505f, 0.007957f, -0.015483f, -0.005111f, -0.012178f, -0.005818f, 0.069639f, -0.025934f, -0.046252f, -0.032374f, -0.026289f, + 0.061587f, 0.001702f, -0.014282f, 0.056710f, 0.038983f, 0.015494f, 0.028858f, 0.055764f, -0.033920f, 0.008595f, 0.054255f, 0.031720f, 0.041447f, -0.047092f, -0.013280f, -0.001766f, 0.019849f, 0.018699f, -0.044579f, 0.004246f, -0.058567f, -0.088082f, -0.004654f, -0.023310f, 0.040888f, 0.045473f, -0.011943f, -0.003622f, 0.009221f, -0.032036f, -0.085325f, 0.057402f, -0.041358f, 0.008863f, -0.015938f, -0.028864f, -0.016760f, -0.033470f, -0.067649f, 0.039921f, 0.035518f, 0.043107f, 0.008295f, -0.053765f, -0.094449f, -0.028058f, -0.026157f, -0.011576f, 0.029807f, -0.019342f, -0.004766f, 0.005673f, 0.003959f, -0.015051f, -0.006920f, -0.012098f, 0.001406f, -0.005410f, 0.009922f, -0.005961f, -0.007394f, 0.010915f, 0.014178f, 0.011246f, -0.022922f, 0.007439f, 0.001218f, -0.002109f, 0.000186f, -0.050240f, 0.002337f, 0.006893f, 0.007285f, -0.033124f, 0.021421f, -0.004799f, -0.027654f, -0.022589f, 0.013253f, 0.017647f, -0.003445f, 0.010452f, -0.017124f, -0.012013f, -0.011729f, 0.001273f, 0.020349f, 0.005121f, 0.019416f, -0.000563f, 0.008887f, -0.029256f, -0.004740f, 0.007041f, 0.003872f, -0.023207f, + -0.007033f, -0.072904f, -0.041792f, -0.033990f, -0.085829f, 0.099101f, -0.002272f, 0.052195f, -0.011911f, 0.002594f, -0.059821f, -0.032720f, -0.030866f, 0.006905f, 0.046873f, -0.002159f, -0.048805f, -0.036512f, -0.069767f, -0.077680f, 0.066615f, 0.024563f, -0.060457f, -0.018780f, 0.029829f, 0.055458f, 0.007772f, -0.068862f, -0.041860f, 0.013552f, 0.019260f, 0.017072f, 0.040191f, -0.042825f, -0.040621f, -0.006261f, -0.014416f, 0.005648f, 0.011970f, -0.082752f, -0.015247f, -0.057726f, -0.036954f, -0.076982f, -0.029172f, 0.105391f, 0.018180f, 0.003303f, 0.025860f, 0.026109f, 0.008261f, 0.078308f, 0.062023f, -0.020538f, 0.021073f, 0.105817f, -0.027727f, -0.024762f, -0.025279f, -0.078894f, -0.003038f, -0.043216f, -0.097948f, -0.102772f, -0.053855f, -0.053076f, 0.024002f, -0.039762f, 0.003477f, 0.020789f, -0.069795f, -0.025627f, 0.000445f, -0.000350f, 0.018021f, 0.045592f, 0.030353f, 0.054986f, 0.074540f, 0.054023f, -0.006658f, -0.039419f, -0.057101f, -0.004912f, 0.023634f, 0.006911f, -0.008034f, -0.000763f, 0.016191f, 0.013027f, 0.035109f, -0.004002f, 0.005598f, 0.000573f, -0.011699f, 0.011427f, + 0.001815f, -0.005707f, 0.030002f, 0.012925f, 0.006811f, -0.028177f, 0.018923f, -0.010151f, 0.014271f, -0.026746f, -0.074053f, -0.003536f, 0.029240f, -0.005593f, -0.039308f, -0.025298f, -0.028768f, -0.021767f, 0.009381f, 0.012839f, 0.014684f, 0.003932f, -0.002632f, 0.010941f, 0.028979f, 0.048293f, 0.045693f, 0.056730f, 0.048643f, -0.004750f, 0.032707f, 0.073998f, 0.005258f, -0.032640f, -0.046422f, -0.046858f, -0.063634f, -0.051799f, -0.024745f, -0.027884f, -0.003893f, 0.065606f, -0.042890f, 0.012960f, -0.049675f, -0.016843f, -0.054173f, 0.006958f, 0.065713f, -0.001511f, 0.040615f, -0.081242f, 0.071420f, 0.023935f, -0.014635f, 0.056610f, 0.007938f, 0.025754f, -0.022641f, -0.026724f, -0.000508f, 0.017346f, 0.013294f, -0.056727f, 0.052080f, -0.062864f, 0.007703f, 0.017596f, -0.021341f, 0.037057f, -0.039074f, -0.022196f, -0.004314f, -0.013941f, -0.019780f, -0.004364f, 0.008386f, -0.029027f, -0.034215f, -0.011084f, -0.005987f, -0.008398f, 0.020792f, 0.011301f, 0.008473f, -0.041505f, 0.011047f, 0.050504f, 0.066946f, -0.049382f, -0.024881f, 0.056926f, 0.077849f, -0.047196f, -0.029190f, 0.032833f, + 0.013780f, -0.037482f, 0.031124f, -0.088049f, -0.017340f, 0.035888f, 0.070391f, 0.009166f, -0.043665f, -0.039479f, 0.010685f, 0.084371f, 0.007355f, 0.012656f, 0.002532f, 0.028005f, -0.005404f, 0.062708f, -0.000686f, -0.069354f, 0.043777f, -0.045247f, -0.013878f, 0.019212f, -0.026485f, 0.006350f, -0.056468f, -0.021026f, 0.052362f, 0.024138f, -0.023459f, -0.033516f, -0.018349f, 0.004408f, -0.027223f, -0.008187f, -0.006002f, -0.016653f, -0.010229f, -0.008019f, -0.035345f, 0.022428f, -0.013210f, -0.015642f, -0.051196f, -0.012864f, 0.037661f, -0.026006f, -0.014382f, -0.013526f, -0.029238f, 0.056368f, 0.023117f, 0.002238f, -0.001849f, -0.031199f, -0.046865f, 0.003092f, 0.041923f, 0.034509f, 0.011547f, -0.035141f, -0.020597f, -0.015630f, 0.020453f, 0.003865f, -0.031346f, -0.007635f, 0.002037f, 0.012499f, -0.027881f, -0.018620f, -0.016446f, 0.043868f, 0.022422f, 0.002988f, -0.027081f, -0.023306f, 0.024515f, 0.052731f, -0.000527f, -0.022443f, -0.032346f, -0.010794f, 0.014620f, 0.001334f, -0.007454f, 0.002058f, -0.006453f, -0.004779f, 0.004979f, -0.105863f, -0.029621f, 0.018084f, -0.036006f, 0.104892f, + 0.076415f, 0.050450f, 0.026443f, 0.070815f, 0.049629f, 0.016772f, 0.033706f, -0.082966f, -0.111978f, -0.015378f, 0.000754f, -0.028591f, 0.014623f, -0.005187f, -0.029490f, -0.036476f, -0.030193f, 0.058022f, 0.050041f, -0.040172f, -0.005509f, -0.005470f, -0.010457f, -0.014185f, -0.021346f, -0.030370f, -0.043072f, -0.008009f, 0.075156f, -0.023981f, -0.042258f, -0.019866f, 0.070521f, -0.032928f, -0.032885f, 0.109811f, 0.038692f, 0.018633f, -0.026986f, -0.060052f, -0.042373f, -0.061946f, 0.016494f, 0.051465f, 0.138163f, -0.121468f, -0.051902f, 0.071590f, 0.098554f, 0.017459f, -0.006104f, 0.127118f, 0.060566f, -0.039830f, 0.040208f, -0.014399f, 0.000271f, -0.087671f, -0.044529f, -0.030496f, -0.144270f, -0.060889f, -0.023403f, 0.077802f, -0.042111f, -0.024056f, 0.057720f, -0.003627f, -0.007817f, 0.014075f, 0.040593f, -0.039139f, 0.028668f, 0.044293f, 0.000919f, -0.008160f, -0.081451f, 0.037767f, 0.029086f, -0.093809f, -0.006867f, 0.010413f, 0.006048f, -0.007771f, -0.041791f, 0.011351f, 0.007060f, 0.011975f, -0.006634f, -0.011836f, 0.030053f, 0.006653f, -0.006294f, 0.020970f, 0.008582f, 0.055505f, + -0.007580f, 0.018365f, 0.003483f, -0.043658f, -0.038252f, 0.027085f, -0.021297f, 0.016560f, 0.020636f, 0.013044f, 0.012741f, 0.000605f, 0.036525f, -0.011419f, -0.009150f, -0.014172f, 0.010482f, 0.028701f, -0.042854f, -0.015701f, 0.020581f, 0.009809f, -0.024279f, -0.043467f, -0.011174f, 0.012251f, 0.091814f, 0.033713f, -0.007667f, 0.023831f, -0.004661f, -0.008480f, -0.033842f, 0.016256f, 0.014015f, -0.026676f, -0.013005f, -0.097121f, -0.003953f, 0.040017f, -0.009383f, -0.040492f, 0.017732f, -0.009086f, 0.043705f, 0.008747f, -0.021169f, -0.000325f, 0.046788f, -0.026622f, 0.007530f, 0.016912f, -0.014233f, -0.000402f, -0.025309f, 0.051672f, -0.003101f, 0.007698f, 0.000829f, 0.024976f, -0.011304f, -0.009716f, -0.016148f, 0.010335f, 0.019419f, -0.008502f, 0.023069f, -0.009981f, 0.014216f, -0.024229f, -0.019090f, 0.029429f, 0.037737f, -0.048746f, 0.002281f, 0.000073f, 0.004572f, 0.015374f, -0.030671f, 0.047063f, -0.042145f, 0.037881f, 0.005305f, -0.065792f, -0.003585f, 0.051365f, -0.066973f, 0.031968f, 0.000295f, 0.008666f, -0.016078f, -0.010021f, 0.013538f, -0.019418f, 0.068595f, -0.050732f, + 0.007589f, -0.013606f, -0.006152f, 0.016928f, 0.000964f, -0.008316f, -0.001572f, 0.020753f, -0.000644f, -0.023793f, 0.006711f, 0.012092f, -0.039846f, 0.031011f, 0.013998f, 0.001470f, 0.028585f, -0.010454f, -0.008840f, 0.013466f, 0.006247f, 0.008544f, 0.004861f, -0.007878f, 0.016138f, 0.006955f, 0.001197f, -0.017427f, -0.002878f, 0.008522f, 0.015468f, -0.026455f, 0.013847f, 0.016490f, -0.023385f, 0.011098f, 0.003432f, 0.003986f, 0.012342f, -0.006955f, 0.002757f, -0.004359f, -0.033921f, -0.000510f, -0.008203f, 0.014818f, -0.009556f, 0.005658f, 0.003720f, -0.001399f, 0.004523f, 0.008585f, -0.005623f, 0.000008f, 0.001526f, -0.000244f, 0.002451f, 0.010308f, -0.010519f, 0.009658f, -0.007684f, -0.048940f, -0.138185f, -0.197370f, 0.066372f, 0.175533f, 0.038758f, 0.486518f, 0.400696f, 0.270736f, 0.458173f, 0.238667f, -0.016278f, -0.057163f, -0.180899f, -0.417714f, -0.344947f, -0.335486f, -0.466528f, -0.344912f, -0.101288f, -0.074698f, -0.012211f, 0.162345f, 0.075587f, -0.020167f, 0.102982f, 0.170327f, 0.083412f, 0.079811f, 0.155017f, 0.092355f, 0.071230f, 0.140456f, 0.220550f, 0.091829f, + 0.129473f, 0.207023f, 0.035535f, 0.014056f, 0.182930f, 0.108175f, -0.070128f, 0.088214f, 0.113675f, -0.118610f, -0.035385f, 0.131097f, -0.026405f, -0.078469f, 0.169341f, 0.089769f, -0.105051f, 0.090894f, 0.120560f, -0.160769f, -0.150498f, -0.064279f, -0.388264f, -0.515209f, -0.323133f, -0.455471f, -0.607134f, -0.423065f, -0.432947f, -0.559777f, -0.442663f, -0.306948f, -0.332812f, -0.198911f, 0.019010f, 0.124269f, 0.270123f, 0.441974f, 0.550919f, 0.678408f, 0.753754f, 0.823449f, 0.873157f, 0.784075f, 0.616558f, 0.569576f, 0.365097f, 0.110387f, 0.086709f, -0.058344f, -0.280318f, -0.220164f, -0.093426f, -0.208561f, -0.214424f, -0.045259f, -0.151049f, -0.289523f, -0.174844f, -0.126786f, -0.258976f, -0.220490f, -0.077907f, -0.195946f, -0.232790f, -0.018551f, -0.011621f, -0.104862f, 0.041663f, 0.024310f, -0.168790f, -0.125114f, -0.072618f, -0.240305f, -0.331107f, -0.270749f, -0.369819f, -0.458732f, -0.340311f, -0.273308f, -0.259242f, -0.113472f, 0.053175f, 0.137997f, 0.204730f, 0.282693f, 0.319020f, 0.286144f, 0.373073f, 0.478291f, 0.495797f, 0.463034f, 0.471564f, 0.454831f, 0.369279f, 0.416968f, + 0.376471f, 0.161857f, 0.021299f, -0.092382f, -0.203603f, -0.215223f, -0.177448f, -0.209600f, -0.204905f, -0.177372f, -0.174991f, -0.186551f, -0.153207f, -0.136814f, -0.130616f, -0.123318f, -0.095005f, -0.089971f, -0.093262f, -0.073794f, -0.048225f, -0.043355f, -0.027645f, -0.002970f, 0.011458f, 0.011913f, 0.014353f, 0.005395f, 0.003308f} + }, + { + {0.007552f, 0.018077f, 0.000306f, 0.000741f, -0.008639f, -0.006916f, 0.005212f, 0.003185f, 0.000467f, 0.007373f, -0.011144f, -0.003792f, 0.018044f, 0.001219f, 0.003508f, -0.004760f, -0.006105f, 0.008476f, 0.007088f, -0.002989f, 0.006976f, 0.000283f, 0.001127f, -0.006900f, 0.002465f, -0.006284f, -0.004907f, -0.006173f, 0.002081f, 0.000234f, -0.002021f, -0.000708f, 0.002093f, 0.005354f, -0.002583f, -0.009829f, 0.000152f, -0.007011f, -0.008961f, -0.002360f, 0.004015f, -0.001390f, 0.003582f, 0.002272f, 0.003282f, -0.001424f, -0.001277f, -0.001696f, -0.001466f, 0.003008f, -0.000123f, 0.006199f, -0.000854f, 0.007679f, 0.001261f, 0.001728f, 0.007300f, 0.002596f, 0.001856f, 0.009456f, -0.003868f, 0.003120f, -0.003310f, -0.006706f, 0.006126f, -0.002231f, -0.000002f, 0.002258f, -0.001143f, -0.005570f, -0.001735f, 0.003992f, -0.002613f, -0.000151f, -0.005419f, 0.002598f, 0.000339f, -0.003611f, 0.000414f, -0.005756f, 0.000841f, -0.005521f, -0.000519f, -0.000083f, -0.000764f, 0.003182f, 0.001514f, 0.000831f, 0.001729f, -0.000607f, 0.003193f, 0.002331f, -0.000291f, 0.000714f, 0.000690f, -0.000121f, + 0.000087f, 0.001067f, -0.001380f, 0.000738f, -0.001756f, 0.001474f, 0.000129f, -0.000272f, -0.000107f, 0.001221f, 0.000282f, -0.001127f, 0.000357f, -0.000059f, -0.000685f, -0.001702f, -0.023724f, -0.012320f, -0.005544f, -0.005150f, -0.000025f, 0.000059f, 0.001761f, 0.000334f, -0.001333f, -0.009722f, -0.004412f, -0.009963f, -0.015603f, -0.013035f, 0.007353f, 0.009070f, 0.009175f, -0.003620f, -0.001091f, -0.001038f, -0.002054f, 0.003376f, 0.001408f, -0.003323f, -0.007074f, 0.005089f, 0.004343f, 0.006359f, 0.001660f, -0.002145f, -0.003876f, 0.001802f, 0.003034f, -0.000728f, 0.006459f, -0.003148f, -0.000187f, 0.006278f, -0.004813f, -0.007633f, 0.000602f, 0.010550f, 0.002419f, 0.002332f, 0.001471f, 0.000089f, 0.001346f, -0.001636f, 0.001871f, -0.008341f, 0.001353f, 0.008650f, -0.001989f, 0.000125f, 0.000851f, -0.002956f, -0.001660f, -0.001203f, -0.001415f, -0.002318f, 0.005286f, -0.004971f, 0.005188f, 0.004423f, 0.009710f, -0.000677f, 0.005455f, 0.012404f, -0.002297f, -0.010002f, -0.011216f, -0.000543f, -0.001473f, 0.000601f, -0.009521f, 0.002756f, -0.006686f, -0.004972f, 0.002278f, 0.006939f, + -0.002865f, -0.005302f, -0.006350f, -0.001243f, -0.000704f, 0.001744f, 0.000553f, 0.003986f, 0.002353f, -0.000226f, 0.002007f, 0.000576f, 0.003930f, 0.002974f, 0.001865f, 0.000851f, 0.000852f, -0.000696f, 0.002627f, 0.000121f, 0.000783f, -0.000329f, 0.000049f, -0.001993f, -0.000008f, -0.000390f, 0.016484f, 0.013006f, 0.005529f, 0.006669f, -0.004304f, 0.003020f, 0.011398f, 0.005603f, 0.012276f, -0.004764f, 0.004949f, 0.007056f, -0.000356f, 0.009042f, -0.004670f, 0.005662f, 0.001027f, -0.005746f, -0.001468f, -0.001065f, -0.000362f, -0.001612f, 0.000673f, -0.002871f, 0.000905f, -0.002094f, 0.011228f, -0.002559f, -0.000621f, -0.000005f, -0.005068f, -0.014253f, 0.008122f, -0.003363f, 0.003135f, -0.005646f, -0.005367f, -0.006042f, -0.004023f, 0.003734f, 0.010771f, 0.008522f, 0.003577f, -0.000590f, -0.002316f, 0.003441f, 0.007741f, -0.001698f, -0.002544f, 0.009612f, -0.004251f, 0.004613f, -0.004782f, -0.003728f, -0.002293f, 0.003590f, 0.003797f, -0.006719f, -0.004639f, 0.000203f, 0.007205f, 0.009354f, 0.005065f, 0.007294f, -0.001003f, 0.006834f, 0.002679f, 0.007176f, -0.004032f, 0.002887f, + 0.016377f, 0.007648f, 0.006950f, -0.001667f, -0.004607f, -0.011156f, 0.006483f, 0.002805f, -0.004609f, -0.004615f, -0.001519f, 0.003420f, -0.003393f, -0.001555f, -0.003054f, 0.000114f, 0.002344f, -0.000985f, -0.004598f, 0.001341f, 0.001586f, 0.002650f, 0.002725f, 0.000382f, 0.003859f, 0.001910f, 0.001604f, 0.001202f, -0.001264f, 0.002731f, 0.000253f, -0.000000f, -0.001323f, -0.002007f, -0.002209f, 0.000547f, 0.001586f, 0.000664f, 0.000102f, 0.000498f, -0.000133f, 0.002454f, -0.003344f, -0.000788f, 0.001012f, -0.001328f, 0.001337f, 0.005131f, 0.018936f, 0.002699f, 0.006872f, 0.013718f, 0.000260f, -0.007839f, -0.003363f, -0.002352f, 0.000541f, -0.004938f, -0.013462f, 0.005406f, 0.000454f, 0.000294f, 0.005627f, -0.008927f, -0.004126f, 0.014064f, -0.003446f, -0.005307f, -0.008331f, 0.000289f, -0.007872f, -0.001311f, -0.002627f, -0.002365f, 0.001010f, 0.011365f, -0.000366f, -0.003562f, 0.003333f, -0.009029f, 0.012117f, -0.001541f, -0.002725f, 0.015153f, -0.008728f, 0.000724f, -0.010314f, -0.004712f, 0.000878f, 0.000485f, 0.003965f, 0.004786f, -0.009203f, 0.002745f, 0.003857f, 0.003143f, + 0.000883f, 0.004350f, 0.003154f, 0.006350f, -0.005826f, -0.003107f, 0.011955f, -0.004968f, 0.004569f, 0.001146f, 0.003435f, 0.003094f, -0.001017f, -0.004045f, -0.000627f, 0.008452f, -0.005027f, -0.000552f, -0.002672f, 0.001964f, 0.007539f, -0.004229f, -0.009404f, -0.018158f, 0.001135f, -0.000741f, -0.001564f, 0.000080f, -0.006986f, -0.004886f, -0.010132f, -0.003983f, 0.005044f, -0.000161f, 0.003139f, -0.001196f, 0.006312f, 0.004382f, -0.000058f, 0.003287f, -0.000253f, -0.000382f, 0.002192f, -0.003932f, -0.002104f, -0.003189f, -0.000020f, -0.003809f, 0.002280f, -0.000127f, 0.001089f, -0.001407f, -0.001223f, -0.000149f, -0.001371f, 0.000892f, 0.001444f, -0.003525f, 0.001695f, 0.001447f, 0.000840f, -0.003360f, 0.001797f, 0.001212f, 0.003199f, 0.003378f, -0.000295f, -0.001147f, -0.001751f, 0.001695f, -0.000878f, -0.000604f, 0.000642f, -0.008067f, -0.020422f, 0.010389f, -0.006805f, -0.011434f, 0.000391f, -0.021585f, 0.004552f, 0.006769f, -0.002530f, 0.015991f, -0.006210f, -0.018973f, 0.004444f, 0.007378f, -0.006789f, -0.013386f, 0.022952f, -0.001323f, -0.001523f, 0.005995f, -0.005250f, -0.002832f, + 0.002215f, -0.011179f, 0.006483f, -0.001075f, 0.003119f, -0.002244f, 0.010655f, -0.002608f, 0.005909f, 0.005445f, -0.010814f, -0.005110f, -0.006159f, 0.011214f, -0.005668f, -0.003193f, 0.008282f, -0.002820f, -0.006417f, 0.005007f, 0.015313f, -0.007735f, 0.007389f, -0.007995f, 0.010018f, -0.005491f, 0.005212f, 0.001142f, -0.005611f, -0.015710f, 0.008707f, 0.011510f, -0.001208f, -0.003526f, 0.006412f, 0.008100f, 0.007617f, -0.010781f, -0.001380f, -0.009499f, -0.001021f, 0.003488f, -0.006842f, 0.002687f, 0.007404f, -0.007919f, -0.000304f, 0.001644f, -0.007806f, -0.005500f, 0.007063f, -0.005044f, 0.005558f, -0.003251f, -0.009986f, 0.002098f, -0.009685f, 0.002570f, -0.003739f, 0.003430f, -0.010652f, 0.009797f, -0.008056f, 0.001074f, -0.007497f, -0.000175f, -0.000566f, 0.002063f, -0.000888f, 0.000018f, -0.002415f, 0.002625f, -0.007242f, 0.002564f, -0.005949f, -0.004647f, 0.000036f, 0.004354f, 0.001945f, 0.000851f, 0.001245f, 0.000328f, 0.002470f, 0.005523f, -0.004686f, 0.004599f, -0.003058f, -0.000569f, 0.002812f, 0.002354f, -0.003347f, 0.000013f, -0.008193f, 0.010351f, -0.011403f, -0.011350f, + -0.019411f, 0.008161f, 0.020544f, 0.003104f, -0.003670f, -0.001796f, -0.003444f, 0.017858f, -0.010711f, -0.009792f, -0.002297f, -0.010793f, -0.003297f, -0.011724f, -0.005041f, -0.008235f, -0.016245f, -0.004583f, -0.003571f, -0.000590f, -0.001771f, 0.004201f, 0.009716f, 0.003447f, 0.004820f, -0.014955f, 0.001869f, -0.000259f, -0.004660f, 0.005168f, 0.002784f, -0.004371f, -0.001905f, -0.010649f, -0.011771f, -0.001736f, 0.013098f, -0.003845f, -0.006700f, -0.001452f, -0.004336f, -0.009196f, 0.000182f, -0.009601f, 0.019647f, 0.016539f, 0.004311f, -0.005063f, -0.004564f, 0.001725f, 0.002985f, 0.003383f, 0.003265f, -0.001199f, 0.007336f, -0.006931f, 0.003265f, -0.006097f, 0.000224f, -0.000073f, 0.004136f, 0.002867f, 0.009244f, -0.003990f, -0.005618f, -0.005159f, -0.021269f, 0.000665f, 0.004480f, -0.002152f, 0.007766f, 0.003343f, -0.006369f, 0.001856f, -0.011142f, -0.004156f, 0.000972f, 0.008569f, 0.003695f, 0.011725f, 0.002401f, -0.001402f, 0.000115f, 0.004348f, -0.004807f, -0.000611f, 0.001168f, -0.002010f, 0.003048f, -0.004201f, 0.002258f, -0.003199f, -0.002567f, -0.000518f, -0.003540f, -0.003514f, + -0.004342f, -0.002309f, -0.001230f, 0.003303f, 0.002797f, -0.003250f, -0.004599f, -0.001408f, -0.003504f, 0.002478f, -0.003914f, 0.001961f, -0.002252f, -0.000643f, 0.004022f, 0.000290f, 0.003375f, -0.020058f, 0.003248f, 0.020450f, 0.019274f, -0.020715f, -0.018908f, 0.004885f, -0.015047f, -0.007992f, 0.002152f, -0.001057f, -0.006159f, 0.015518f, 0.006856f, -0.021883f, -0.001800f, 0.001297f, -0.000233f, 0.013973f, 0.005166f, -0.010171f, 0.014685f, 0.005480f, 0.001899f, -0.007896f, -0.008443f, 0.006292f, -0.005433f, -0.014825f, -0.002748f, -0.001938f, -0.006671f, -0.008849f, -0.012005f, 0.012723f, 0.000843f, 0.001879f, -0.008334f, 0.000204f, 0.008973f, -0.007117f, -0.015094f, -0.015245f, 0.015945f, 0.003595f, 0.015048f, -0.002406f, 0.004271f, 0.011126f, 0.022584f, 0.007310f, -0.002903f, -0.011556f, -0.005026f, -0.005760f, 0.003377f, 0.001227f, -0.009079f, -0.003660f, 0.013102f, 0.009301f, 0.017823f, 0.008377f, -0.012439f, -0.011835f, 0.014733f, 0.007873f, -0.007850f, 0.000092f, 0.015176f, 0.001194f, -0.000929f, -0.011840f, 0.013012f, 0.009809f, -0.002405f, 0.018218f, -0.002803f, -0.005246f, + -0.019117f, -0.002510f, 0.000869f, 0.010142f, -0.013223f, -0.000808f, 0.005777f, -0.003204f, -0.009540f, -0.008865f, -0.001286f, -0.000878f, -0.001821f, -0.011083f, -0.009899f, -0.005807f, 0.003447f, -0.000202f, -0.004608f, -0.001507f, -0.000708f, 0.000988f, 0.000824f, 0.001660f, -0.001042f, 0.003749f, -0.003175f, -0.000764f, -0.000010f, -0.002193f, -0.007436f, 0.000504f, 0.004156f, -0.001315f, -0.006581f, 0.000573f, -0.001666f, 0.002326f, 0.000274f, -0.000800f, -0.000685f, 0.002149f, -0.001105f, 0.003961f, 0.001931f, -0.000104f, -0.003692f, 0.002685f, -0.002935f, 0.002713f, 0.003340f, -0.008213f, 0.003251f, -0.003073f, -0.001656f, 0.010047f, -0.016741f, 0.010065f, -0.010977f, 0.001979f, 0.008776f, -0.000116f, -0.004464f, 0.003280f, -0.011496f, 0.000457f, -0.008955f, -0.025985f, -0.007955f, 0.010988f, 0.007104f, 0.003998f, -0.006330f, 0.005293f, 0.002363f, 0.027729f, 0.004750f, -0.009409f, 0.010303f, 0.002014f, 0.002178f, 0.018426f, -0.005340f, -0.005217f, 0.006389f, -0.013034f, 0.015614f, 0.014417f, -0.000377f, 0.008142f, -0.003081f, -0.007993f, -0.001083f, -0.010038f, 0.000793f, -0.009830f, + 0.003779f, -0.000171f, 0.002781f, 0.001098f, -0.016859f, -0.003494f, -0.002218f, 0.000901f, -0.008522f, 0.003635f, 0.003680f, -0.003262f, 0.022121f, -0.009718f, -0.019761f, 0.011732f, 0.019338f, 0.004369f, 0.004961f, -0.008594f, 0.016585f, -0.005709f, 0.002747f, 0.007442f, 0.002132f, -0.007573f, 0.007887f, 0.003406f, 0.000903f, -0.000083f, -0.015247f, -0.005399f, 0.007411f, 0.013470f, -0.005280f, -0.010016f, -0.013876f, -0.004537f, 0.004609f, 0.002524f, 0.006873f, -0.017085f, 0.003169f, 0.011465f, 0.001472f, -0.000685f, 0.004362f, -0.003580f, -0.001977f, -0.000495f, -0.000964f, 0.006009f, -0.001732f, 0.001900f, -0.001829f, -0.001264f, -0.001351f, -0.004376f, -0.002490f, 0.002057f, -0.003091f, 0.004138f, -0.000691f, -0.000757f, -0.002038f, -0.002461f, -0.012982f, 0.001213f, 0.006896f, -0.000354f, 0.002387f, -0.001251f, 0.004265f, 0.001442f, -0.002564f, -0.002991f, 0.002377f, 0.056604f, -0.015511f, 0.000341f, -0.005712f, -0.003621f, -0.012614f, -0.000286f, -0.033170f, 0.017224f, -0.011926f, -0.000843f, 0.019187f, 0.009475f, -0.012746f, -0.013676f, -0.005127f, -0.011696f, 0.010542f, -0.027442f, + 0.005053f, 0.011353f, 0.015683f, 0.003075f, 0.004664f, 0.000619f, 0.002541f, -0.003643f, -0.008643f, -0.025090f, -0.003725f, 0.003157f, 0.011510f, -0.009057f, 0.011097f, 0.004311f, -0.004591f, -0.001641f, 0.008586f, -0.009113f, -0.008616f, -0.004978f, -0.006594f, -0.001015f, -0.022229f, -0.010425f, -0.005334f, -0.000665f, 0.017548f, 0.003888f, 0.016738f, 0.005730f, -0.000810f, -0.010588f, 0.001243f, 0.000993f, 0.002513f, 0.005754f, 0.023474f, 0.002696f, -0.022065f, 0.005630f, -0.008682f, -0.000671f, -0.008354f, -0.009355f, -0.004407f, 0.008949f, 0.005779f, -0.039059f, -0.014689f, -0.011666f, 0.007333f, -0.001743f, -0.008431f, -0.005439f, 0.021956f, -0.009109f, 0.016855f, -0.016006f, -0.012043f, -0.017328f, -0.009477f, -0.018416f, -0.002937f, 0.024432f, 0.005665f, -0.003032f, 0.002858f, 0.010340f, -0.000286f, 0.012763f, -0.007308f, 0.004869f, 0.007102f, 0.008630f, 0.003360f, -0.001624f, -0.017083f, -0.006392f, -0.008818f, 0.000035f, 0.005418f, 0.004664f, -0.003532f, -0.001319f, 0.007076f, 0.002885f, -0.005708f, -0.002452f, -0.004035f, -0.001836f, 0.000210f, 0.003597f, -0.003087f, -0.003022f, + 0.009016f, 0.007593f, 0.002321f, -0.001188f, 0.003192f, 0.006190f, 0.000352f, -0.005699f, -0.000667f, -0.005815f, 0.001341f, -0.005234f, 0.002904f, -0.008737f, -0.009501f, 0.007094f, -0.017657f, 0.001039f, -0.041277f, 0.010001f, -0.013479f, 0.003984f, -0.014011f, -0.030543f, -0.004638f, -0.007146f, 0.021703f, 0.009127f, 0.007857f, -0.000777f, 0.028788f, -0.021631f, 0.005343f, 0.008115f, 0.022262f, -0.025608f, -0.014513f, -0.005105f, 0.002189f, -0.001753f, -0.007179f, -0.002415f, 0.007750f, -0.013805f, 0.002899f, 0.008106f, -0.001489f, 0.001075f, -0.011020f, -0.012759f, -0.007785f, 0.034310f, 0.000408f, -0.008381f, 0.013457f, -0.008278f, -0.017178f, -0.014183f, -0.009262f, -0.002507f, 0.006197f, 0.001249f, 0.001296f, 0.019049f, 0.017542f, -0.003166f, 0.006325f, 0.004190f, -0.021914f, -0.015136f, -0.000840f, -0.001776f, -0.005649f, -0.015039f, 0.018582f, 0.022289f, -0.018159f, 0.012032f, 0.011430f, -0.003580f, -0.017346f, -0.028210f, -0.027213f, -0.021090f, -0.012291f, -0.024343f, 0.002350f, -0.019927f, 0.012082f, 0.010754f, 0.001912f, 0.000241f, -0.033876f, 0.002228f, 0.000773f, 0.002510f, + -0.017293f, 0.005862f, 0.019472f, 0.002608f, 0.005049f, -0.015397f, -0.009400f, -0.001881f, -0.016087f, 0.003792f, 0.010254f, -0.004781f, -0.005878f, -0.007446f, 0.006464f, 0.010309f, -0.017868f, -0.009850f, -0.000733f, 0.012043f, 0.004615f, -0.005225f, 0.004382f, -0.000611f, -0.000032f, 0.005432f, -0.003301f, 0.006996f, -0.007830f, -0.002791f, 0.006007f, 0.005112f, -0.001815f, 0.013536f, 0.001040f, -0.008436f, -0.007016f, -0.001179f, -0.005745f, -0.005321f, 0.000908f, 0.003848f, -0.002330f, -0.016825f, -0.014301f, -0.009753f, -0.011214f, -0.003426f, -0.025341f, 0.001184f, 0.027447f, -0.009653f, 0.014400f, -0.005748f, 0.027362f, 0.023333f, 0.009486f, -0.028515f, -0.007476f, 0.038201f, -0.010019f, 0.028328f, 0.004269f, -0.027082f, -0.013914f, 0.031999f, 0.000516f, -0.021465f, 0.000330f, -0.018298f, -0.002697f, 0.006513f, 0.002449f, -0.003643f, -0.032043f, -0.028284f, 0.007639f, 0.020503f, -0.018379f, -0.001585f, 0.007811f, -0.001350f, 0.002957f, 0.034043f, 0.006093f, 0.004973f, 0.002777f, 0.011264f, -0.015233f, -0.010660f, -0.007899f, -0.035848f, -0.012335f, -0.013446f, -0.009447f, 0.009476f, + 0.006167f, -0.002258f, -0.003727f, -0.014178f, -0.021649f, 0.028069f, -0.006195f, -0.024649f, -0.011698f, 0.005021f, 0.018654f, -0.014891f, -0.004806f, -0.015806f, -0.003108f, -0.018887f, -0.003774f, -0.004022f, -0.038100f, 0.003487f, -0.012919f, 0.026304f, -0.006903f, -0.021372f, -0.040397f, -0.026555f, -0.005143f, 0.003344f, 0.014029f, -0.010417f, -0.009636f, -0.021943f, 0.019992f, 0.033953f, 0.003502f, -0.004025f, 0.011471f, -0.008869f, 0.012698f, -0.009576f, -0.004703f, 0.004371f, 0.009701f, 0.007047f, -0.011926f, 0.000413f, 0.002415f, -0.000157f, -0.000902f, -0.002981f, 0.003160f, 0.012054f, -0.005098f, -0.010599f, -0.000501f, -0.002378f, 0.005489f, -0.000088f, 0.011692f, 0.000812f, 0.004263f, 0.000412f, -0.007204f, 0.001881f, -0.002892f, 0.012581f, 0.000721f, -0.008025f, -0.001525f, -0.001954f, 0.008418f, 0.000825f, -0.009219f, -0.001429f, 0.006496f, -0.003015f, 0.001593f, 0.013106f, -0.046400f, -0.023748f, -0.015943f, -0.025432f, -0.013562f, -0.010432f, -0.026305f, 0.027641f, -0.007990f, 0.041740f, -0.021067f, -0.031567f, -0.006116f, -0.021207f, 0.035974f, -0.012418f, -0.018947f, -0.008824f, + 0.009656f, 0.018239f, 0.015713f, -0.003840f, -0.004208f, -0.008286f, 0.003975f, 0.029597f, -0.000779f, 0.002782f, -0.009535f, -0.003790f, -0.015515f, -0.005122f, 0.006894f, 0.005056f, -0.012826f, 0.000567f, -0.018984f, 0.003761f, -0.005667f, -0.005735f, 0.007765f, 0.003561f, -0.008837f, -0.003598f, 0.016239f, 0.006047f, -0.013435f, -0.017745f, 0.029535f, -0.001464f, -0.047012f, 0.024401f, -0.005208f, -0.020041f, 0.009482f, -0.002969f, 0.002165f, -0.004653f, 0.016364f, 0.006247f, 0.001685f, 0.045089f, 0.044600f, -0.015823f, 0.004879f, -0.033610f, -0.007113f, -0.006538f, 0.014248f, -0.005229f, 0.002325f, 0.013665f, -0.010132f, 0.025695f, -0.010894f, 0.002728f, -0.034933f, 0.014402f, -0.009084f, -0.024573f, 0.012295f, -0.005777f, 0.049212f, 0.011594f, 0.009391f, 0.018078f, 0.002049f, -0.017304f, -0.001356f, -0.007215f, -0.004211f, 0.004796f, -0.006079f, 0.009885f, 0.006160f, -0.007661f, 0.012554f, 0.006963f, -0.008211f, -0.002307f, 0.000768f, 0.001117f, -0.003358f, 0.002524f, 0.004416f, -0.001342f, -0.003668f, 0.000696f, 0.003930f, 0.002149f, 0.002983f, -0.008081f, 0.008055f, -0.016017f, + 0.014101f, -0.009489f, -0.005422f, -0.001257f, 0.007366f, 0.010300f, 0.002834f, -0.012223f, 0.000146f, -0.005055f, -0.002859f, 0.002684f, -0.011536f, -0.021215f, 0.006213f, 0.055829f, -0.041843f, -0.013374f, -0.026452f, -0.017585f, 0.021224f, -0.024056f, 0.051306f, -0.005973f, 0.015745f, 0.002883f, 0.012543f, -0.031801f, 0.005941f, 0.008404f, -0.002251f, -0.004745f, -0.002694f, 0.009457f, -0.019462f, -0.011819f, -0.002672f, -0.005494f, -0.024081f, -0.021433f, -0.005662f, -0.009887f, 0.029309f, -0.007563f, -0.013753f, -0.009960f, 0.010137f, -0.014957f, -0.006261f, -0.025923f, 0.012251f, -0.009877f, 0.010806f, -0.009148f, 0.013715f, -0.006912f, -0.044712f, -0.022778f, 0.006696f, -0.003452f, -0.002663f, -0.013933f, -0.026601f, -0.001495f, 0.011826f, 0.007940f, -0.005995f, 0.008832f, 0.013791f, 0.042515f, -0.018156f, 0.020161f, -0.047744f, 0.003048f, 0.007080f, -0.005646f, -0.013677f, 0.009729f, 0.001850f, 0.002248f, 0.010787f, 0.033799f, 0.022961f, 0.017335f, -0.009009f, -0.010867f, 0.016755f, -0.020325f, 0.005051f, 0.017114f, -0.012066f, 0.042272f, -0.000614f, 0.013138f, -0.011491f, 0.024390f, + -0.023157f, -0.022818f, 0.000776f, 0.008573f, -0.010449f, -0.002539f, 0.026414f, 0.000260f, 0.024050f, 0.008797f, -0.003692f, -0.003786f, -0.013689f, -0.001095f, -0.000707f, 0.006789f, -0.000874f, -0.011012f, 0.001929f, 0.004962f, 0.013635f, -0.019882f, 0.003442f, -0.010090f, 0.004210f, 0.011360f, -0.003881f, -0.000309f, -0.010378f, 0.003423f, 0.003880f, -0.006727f, -0.023945f, -0.014994f, -0.009464f, 0.004648f, -0.012655f, -0.007189f, -0.008488f, -0.007605f, 0.004816f, 0.009253f, -0.000265f, 0.007677f, 0.002948f, 0.004090f, 0.001402f, -0.017314f, 0.014689f, -0.012779f, 0.022423f, 0.066077f, 0.046809f, -0.012574f, -0.029303f, -0.019856f, 0.040119f, -0.047682f, 0.002553f, -0.012088f, -0.011694f, 0.019497f, -0.034952f, 0.004660f, -0.017881f, -0.000442f, -0.024321f, -0.018763f, 0.002835f, 0.001273f, 0.000977f, -0.023486f, 0.037439f, 0.007586f, -0.016752f, 0.006790f, -0.004949f, 0.003291f, 0.055820f, 0.017639f, -0.015586f, -0.013712f, 0.002708f, 0.017323f, 0.004670f, -0.041733f, -0.010278f, -0.028848f, -0.009638f, -0.013501f, 0.014097f, -0.007774f, -0.003967f, -0.000268f, -0.001440f, -0.020454f, + -0.023765f, 0.015491f, -0.009004f, 0.004203f, -0.001119f, 0.020792f, -0.016878f, -0.012053f, 0.005285f, 0.008697f, -0.022344f, 0.024953f, -0.015631f, -0.036364f, -0.033925f, -0.012109f, -0.009741f, -0.014694f, -0.007606f, -0.051702f, 0.018254f, -0.024524f, -0.007792f, -0.020470f, 0.028669f, 0.009332f, 0.013715f, 0.000008f, -0.004407f, -0.024993f, -0.007571f, 0.033788f, -0.027813f, 0.040941f, 0.031236f, 0.011008f, -0.007377f, 0.001447f, -0.005787f, 0.005917f, -0.018091f, -0.014504f, -0.009032f, 0.002535f, -0.002484f, 0.002641f, 0.007630f, -0.013088f, -0.003278f, 0.013273f, 0.013769f, -0.005367f, 0.008554f, -0.007266f, -0.011822f, -0.005152f, -0.003730f, 0.008818f, 0.002321f, 0.003364f, -0.011699f, -0.007574f, 0.003986f, -0.004244f, 0.003702f, 0.004949f, 0.008242f, 0.016479f, 0.006469f, 0.009298f, -0.011084f, -0.006233f, -0.003847f, 0.004947f, -0.005436f, 0.002344f, -0.005042f, 0.002452f, 0.016557f, 0.008002f, 0.004424f, -0.003033f, 0.010374f, 0.003487f, -0.004461f, -0.065192f, -0.008065f, 0.043435f, -0.053257f, -0.021186f, -0.001283f, -0.016280f, 0.019320f, -0.011043f, 0.060219f, -0.006002f, + -0.013082f, -0.009910f, -0.002653f, 0.017705f, -0.011957f, -0.011544f, 0.049141f, -0.035914f, -0.004371f, 0.011534f, -0.007951f, 0.030846f, 0.017343f, -0.002033f, -0.003853f, 0.013165f, 0.017471f, 0.019132f, 0.015589f, 0.032643f, 0.010365f, 0.014120f, 0.008464f, -0.010421f, 0.054417f, 0.006988f, 0.010157f, 0.013895f, 0.008093f, 0.039428f, -0.002818f, 0.009841f, 0.013529f, 0.011502f, 0.006404f, 0.026065f, -0.015364f, -0.012233f, 0.025781f, -0.004599f, -0.026072f, -0.006548f, -0.045569f, -0.015349f, -0.008771f, 0.043256f, -0.040840f, -0.005141f, 0.001743f, -0.001265f, -0.002379f, 0.025560f, 0.069620f, -0.012026f, 0.008704f, 0.008094f, 0.010531f, 0.033357f, -0.036045f, -0.036850f, -0.033640f, 0.059435f, 0.004358f, -0.022191f, 0.054428f, -0.020650f, 0.047448f, -0.025445f, 0.018186f, 0.002124f, -0.063174f, -0.009064f, -0.015819f, 0.018201f, -0.001339f, -0.005330f, 0.000376f, 0.011480f, -0.001726f, -0.019043f, 0.010290f, 0.000389f, -0.008967f, -0.000073f, -0.016836f, 0.022701f, -0.002463f, 0.008216f, -0.010758f, -0.009588f, -0.009621f, -0.012731f, -0.001239f, 0.000464f, 0.021529f, -0.000879f, + 0.002360f, -0.008538f, 0.002380f, -0.020347f, 0.006484f, -0.019610f, -0.003671f, -0.004173f, -0.017616f, 0.009409f, -0.013951f, -0.013926f, 0.003064f, -0.019458f, 0.005991f, 0.015697f, 0.014569f, -0.007281f, -0.006889f, 0.003837f, 0.005906f, 0.013654f, 0.017319f, 0.038621f, 0.003519f, -0.038923f, -0.114456f, 0.022932f, -0.027487f, -0.044245f, 0.049590f, -0.029698f, -0.015280f, -0.043571f, 0.011321f, -0.008618f, -0.042566f, -0.013780f, -0.025269f, 0.011952f, -0.023400f, 0.001202f, 0.009145f, 0.019211f, 0.009770f, 0.032498f, 0.005138f, -0.000166f, -0.003338f, -0.027238f, -0.020933f, -0.019374f, 0.015764f, 0.024315f, 0.011309f, 0.008691f, -0.000663f, 0.009438f, 0.019049f, 0.044399f, -0.020953f, -0.011599f, 0.007811f, -0.020062f, 0.021368f, 0.004714f, -0.019362f, 0.045188f, 0.016509f, -0.037890f, 0.015041f, -0.036445f, 0.004365f, 0.007060f, 0.019273f, -0.010299f, -0.012298f, 0.057436f, 0.022326f, -0.024579f, 0.015018f, 0.030425f, -0.023485f, -0.049922f, 0.027821f, -0.003933f, -0.000517f, 0.004197f, 0.012234f, 0.077695f, -0.007158f, 0.009799f, 0.014934f, -0.000154f, 0.017905f, 0.010520f, + -0.041107f, 0.008837f, -0.021835f, -0.019053f, -0.011455f, 0.009486f, -0.066426f, -0.007996f, 0.020845f, 0.003391f, 0.033147f, -0.024199f, 0.023508f, -0.015773f, -0.006865f, -0.008837f, 0.010582f, 0.004703f, -0.008046f, 0.000164f, 0.000087f, -0.011685f, 0.009509f, -0.014777f, 0.015753f, 0.002195f, 0.011007f, 0.009380f, -0.006615f, -0.005431f, 0.002853f, -0.004046f, 0.002386f, 0.003729f, -0.006419f, -0.002263f, -0.007392f, -0.005168f, -0.004813f, -0.013237f, 0.000363f, 0.001953f, 0.007871f, -0.004205f, 0.007586f, 0.018193f, -0.009375f, 0.003054f, -0.009407f, 0.004872f, 0.005858f, -0.015157f, 0.000270f, 0.004982f, -0.014298f, -0.007077f, 0.012642f, 0.000205f, 0.002600f, 0.002861f, 0.000579f, -0.035409f, -0.040747f, 0.087396f, 0.018696f, -0.005649f, -0.010520f, 0.019711f, 0.078988f, 0.036228f, 0.009461f, -0.002290f, 0.026490f, 0.065954f, 0.016426f, 0.022737f, 0.020583f, 0.047022f, -0.030301f, 0.030455f, 0.013556f, -0.090295f, 0.026765f, -0.012773f, 0.026789f, -0.028121f, 0.021256f, 0.014095f, 0.028069f, -0.000228f, 0.011920f, 0.004392f, -0.025601f, 0.012770f, 0.025428f, -0.021321f, + 0.012793f, -0.020704f, -0.012426f, 0.064728f, 0.006641f, 0.057309f, -0.040761f, 0.017843f, -0.002063f, -0.008211f, -0.001258f, -0.004990f, 0.008932f, 0.021001f, 0.014599f, -0.001605f, 0.032776f, -0.052214f, -0.049185f, 0.035690f, -0.027984f, -0.007227f, -0.006534f, -0.033771f, 0.017041f, -0.008910f, 0.009627f, 0.005224f, 0.055499f, 0.026930f, 0.029255f, 0.010967f, 0.007863f, -0.050473f, -0.011602f, 0.024808f, -0.000462f, 0.000618f, -0.000039f, -0.016206f, -0.043890f, 0.008386f, 0.004061f, -0.032878f, 0.004645f, -0.015808f, -0.012989f, 0.013777f, 0.009284f, 0.049776f, -0.007144f, 0.012642f, 0.011889f, -0.009610f, -0.012877f, -0.001424f, -0.012243f, -0.004741f, 0.029318f, 0.012230f, 0.005287f, 0.001435f, -0.000570f, 0.000668f, -0.000401f, -0.001783f, -0.019948f, -0.006126f, 0.012133f, -0.003523f, 0.001190f, -0.007430f, -0.010096f, -0.004151f, 0.003194f, 0.023758f, -0.015908f, -0.015392f, 0.013962f, 0.006812f, -0.017868f, 0.012520f, 0.007540f, -0.012700f, 0.015858f, 0.001255f, -0.009585f, -0.004509f, -0.006660f, -0.003063f, -0.003112f, 0.007830f, 0.003926f, 0.003877f, 0.008995f, 0.013086f, + 0.009713f, -0.002635f, 0.022689f, -0.079222f, 0.067586f, -0.028487f, 0.013354f, 0.043732f, -0.063330f, -0.001654f, -0.005089f, 0.015436f, 0.024129f, 0.027524f, 0.047810f, 0.008017f, -0.030117f, 0.016837f, 0.050897f, -0.071715f, -0.041776f, 0.048170f, 0.002899f, -0.000371f, 0.002706f, 0.004126f, -0.000866f, -0.001239f, 0.025056f, 0.015103f, -0.034010f, 0.002187f, -0.009255f, 0.059903f, 0.036666f, -0.012250f, 0.004061f, 0.007198f, 0.007891f, -0.000402f, 0.022212f, 0.002177f, 0.017168f, 0.061136f, 0.008882f, 0.006431f, -0.008806f, 0.015689f, -0.057711f, -0.025196f, -0.024006f, -0.002618f, 0.006588f, -0.051330f, 0.020572f, -0.045562f, 0.015740f, 0.047189f, -0.010028f, -0.042532f, -0.022525f, 0.017558f, -0.008079f, -0.086851f, 0.023949f, -0.060627f, -0.013037f, -0.007565f, 0.002142f, -0.024326f, 0.006288f, 0.030565f, -0.025031f, -0.057615f, -0.086458f, 0.067603f, 0.020635f, -0.010621f, 0.019346f, -0.020482f, 0.020670f, 0.037487f, -0.038953f, 0.067206f, 0.009274f, -0.007164f, 0.031229f, 0.017717f, -0.010830f, 0.017351f, 0.001271f, 0.018730f, -0.018228f, -0.009711f, 0.005059f, 0.013533f, + 0.023323f, 0.006931f, 0.021023f, -0.013921f, 0.011933f, 0.021842f, 0.019385f, -0.003252f, 0.017647f, -0.018969f, 0.007512f, 0.001789f, 0.008120f, 0.036418f, -0.024335f, 0.014474f, 0.001981f, -0.001389f, 0.028424f, 0.007760f, 0.037058f, -0.004889f, 0.018305f, 0.004842f, 0.014440f, 0.004128f, -0.007623f, 0.011086f, -0.019152f, 0.016523f, -0.007098f, 0.013680f, -0.003284f, 0.003664f, -0.001554f, 0.002747f, -0.000276f, 0.014323f, -0.003275f, -0.003574f, -0.001948f, 0.006100f, -0.000715f, -0.001606f, 0.000670f, 0.002980f, 0.002052f, 0.002473f, -0.001796f, 0.002471f, -0.002108f, 0.002335f, 0.001641f, 0.002613f, -0.004965f, 0.096578f, -0.103926f, 0.042017f, 0.052840f, -0.065110f, -0.020089f, -0.035051f, -0.019312f, 0.095892f, -0.043169f, 0.068054f, -0.031945f, -0.009158f, -0.017303f, 0.022311f, 0.008320f, -0.082912f, -0.015858f, -0.021940f, 0.035547f, 0.001875f, 0.014765f, 0.028878f, -0.040772f, -0.007461f, -0.026167f, 0.014593f, 0.033470f, 0.021108f, -0.052654f, -0.008995f, 0.010079f, 0.007150f, -0.003685f, -0.024475f, -0.010604f, -0.047010f, -0.009069f, -0.006365f, 0.043021f, -0.038329f, + 0.094447f, 0.021123f, -0.028149f, 0.042099f, 0.001073f, 0.054613f, 0.029270f, 0.051850f, 0.012266f, 0.047398f, 0.038057f, 0.046384f, 0.048252f, 0.007678f, 0.046683f, -0.059970f, -0.010781f, 0.012961f, -0.040094f, -0.006580f, 0.024628f, -0.046440f, -0.068833f, 0.027847f, 0.044112f, 0.001751f, 0.009931f, -0.047590f, -0.013205f, -0.039748f, -0.001851f, 0.046158f, 0.003524f, 0.085941f, 0.038558f, -0.021254f, 0.090085f, 0.048172f, -0.026839f, -0.009946f, -0.019229f, -0.028295f, -0.018402f, 0.022537f, -0.013045f, -0.044024f, 0.007138f, 0.031550f, 0.001023f, -0.014157f, -0.011805f, -0.008828f, -0.015056f, -0.026488f, 0.004626f, -0.005781f, -0.003649f, -0.020320f, -0.001996f, -0.006843f, 0.009059f, 0.015325f, -0.004576f, 0.003469f, -0.006033f, -0.015706f, 0.010495f, -0.003800f, -0.012612f, -0.030130f, 0.014210f, -0.041719f, -0.005946f, -0.028727f, -0.017912f, -0.023236f, -0.006202f, -0.003124f, -0.008692f, -0.016046f, -0.008251f, -0.018381f, -0.003559f, -0.001517f, -0.001464f, -0.012080f, 0.019402f, -0.014709f, 0.009184f, -0.134939f, 0.123038f, -0.027912f, -0.040786f, -0.035959f, 0.085288f, -0.064715f, + -0.010259f, -0.018586f, -0.000565f, 0.045644f, -0.050684f, -0.004671f, 0.020391f, -0.015364f, -0.006520f, 0.001158f, -0.028567f, 0.040804f, 0.002685f, -0.066804f, -0.016463f, -0.016258f, 0.004501f, -0.073214f, -0.000238f, 0.008601f, -0.014131f, 0.000514f, 0.020371f, 0.045006f, -0.018289f, -0.011517f, 0.010039f, -0.030334f, -0.093690f, 0.008024f, 0.075097f, -0.038229f, -0.057509f, 0.003859f, 0.060669f, -0.028250f, -0.017574f, -0.078168f, -0.012267f, 0.001468f, 0.056047f, 0.025690f, 0.007484f, -0.058979f, -0.033285f, 0.046208f, -0.055205f, 0.019511f, 0.092295f, 0.051901f, 0.071649f, -0.034504f, 0.041907f, 0.026385f, -0.079567f, -0.029445f, -0.042598f, -0.010606f, 0.047319f, -0.002264f, 0.051145f, 0.041261f, -0.079070f, 0.088418f, -0.053562f, -0.000257f, 0.004782f, -0.040663f, 0.087613f, -0.005939f, -0.020068f, 0.070137f, -0.056841f, -0.009888f, -0.081197f, -0.027792f, 0.037404f, -0.011634f, 0.033858f, 0.036118f, -0.008227f, -0.014312f, 0.006350f, -0.020008f, -0.022889f, -0.006533f, -0.016809f, -0.010274f, -0.013587f, 0.005779f, -0.016940f, 0.003308f, -0.021416f, -0.021333f, -0.018732f, 0.015789f, + -0.010991f, -0.001952f, 0.011167f, 0.002622f, -0.003744f, -0.023291f, -0.036115f, -0.023441f, -0.047131f, 0.034701f, 0.014547f, 0.030031f, 0.010949f, -0.025719f, -0.026007f, -0.013718f, -0.003544f, 0.038141f, -0.007871f, -0.000264f, 0.005202f, -0.006161f, -0.006169f, -0.003298f, -0.014254f, 0.026559f, -0.016671f, 0.034079f, -0.000176f, 0.080417f, 0.057072f, 0.008411f, -0.015387f, -0.041778f, 0.024474f, -0.003282f, -0.003727f, -0.002654f, -0.001371f, 0.000177f, -0.015963f, 0.020250f, -0.000384f, -0.071764f, 0.018039f, 0.006432f, -0.024792f, 0.000948f, 0.031039f, -0.010456f, 0.002113f, -0.051894f, 0.037826f, -0.018466f, -0.005558f, -0.005233f, 0.021552f, -0.028124f, -0.000999f, 0.006396f, 0.000897f, 0.005943f, -0.013297f, 0.038434f, -0.020098f, 0.067750f, -0.041640f, -0.044448f, 0.041939f, -0.046966f, 0.002524f, 0.035014f, -0.032369f, -0.014475f, 0.018728f, 0.021800f, 0.028937f, -0.103351f, 0.032982f, -0.000983f, -0.023567f, 0.065536f, -0.032812f, 0.004021f, 0.000418f, -0.055653f, 0.071411f, -0.003403f, -0.003027f, -0.037499f, -0.006677f, 0.058830f, -0.013629f, -0.002216f, 0.002431f, 0.016961f, + 0.009874f, -0.072654f, 0.035920f, 0.064739f, -0.033912f, 0.025938f, -0.050576f, 0.084872f, 0.003919f, -0.079214f, 0.001171f, 0.044187f, -0.004363f, -0.049210f, -0.010975f, 0.115636f, -0.017908f, -0.047632f, 0.008110f, 0.051013f, -0.013095f, -0.015945f, -0.005904f, -0.002263f, 0.003096f, 0.002302f, -0.012863f, 0.033676f, -0.005359f, -0.007912f, 0.001986f, 0.011503f, 0.028316f, -0.008424f, -0.013684f, 0.015546f, 0.003604f, -0.026097f, -0.009439f, 0.014008f, 0.003303f, -0.010902f, -0.005766f, 0.022499f, -0.020358f, -0.004115f, 0.003601f, 0.003239f, -0.019220f, -0.007799f, 0.025098f, -0.001352f, -0.017895f, -0.007615f, 0.018218f, -0.005324f, -0.013413f, -0.011465f, 0.015933f, -0.045099f, -0.149482f, -0.226614f, 0.015290f, 0.195996f, 0.003087f, 0.512756f, 0.464781f, 0.278253f, 0.536568f, 0.352054f, -0.058136f, 0.020366f, -0.068809f, -0.422378f, -0.239828f, -0.185862f, -0.412530f, -0.339270f, -0.100055f, -0.199164f, -0.228699f, -0.018637f, 0.013650f, -0.096749f, 0.021251f, 0.087534f, -0.111747f, -0.095009f, 0.149845f, 0.030654f, -0.036262f, 0.104562f, 0.140353f, -0.000177f, 0.143965f, 0.243653f, + 0.087363f, 0.066832f, 0.248454f, 0.167915f, 0.020343f, 0.182381f, 0.269142f, 0.118222f, 0.137646f, 0.306668f, 0.116510f, 0.041853f, 0.292951f, 0.288288f, 0.089155f, 0.347226f, 0.493838f, 0.184067f, 0.202761f, 0.344318f, 0.105095f, -0.111484f, 0.019802f, -0.114514f, -0.414853f, -0.395754f, -0.422600f, -0.678989f, -0.733859f, -0.784840f, -0.928142f, -0.971019f, -0.948387f, -0.923100f, -0.812624f, -0.729338f, -0.596309f, -0.394042f, -0.281196f, -0.097143f, 0.268073f, 0.434737f, 0.429483f, 0.795226f, 0.848073f, 0.660042f, 0.804393f, 0.842573f, 0.452384f, 0.471889f, 0.578726f, 0.280891f, 0.227249f, 0.375517f, 0.272549f, 0.127946f, 0.177408f, 0.237393f, 0.101047f, 0.082355f, 0.238594f, 0.125991f, -0.021624f, 0.130593f, 0.102106f, -0.074591f, 0.010399f, 0.093961f, -0.062012f, -0.027208f, 0.176419f, 0.069614f, 0.006696f, 0.169567f, 0.111547f, -0.016779f, 0.009220f, -0.074436f, -0.249732f, -0.340026f, -0.375796f, -0.493061f, -0.527310f, -0.526973f, -0.570600f, -0.576145f, -0.603146f, -0.605173f, -0.553032f, -0.549495f, -0.461063f, -0.356306f, -0.282023f, -0.118233f, 0.102660f, 0.220242f, + 0.367838f, 0.459937f, 0.487368f, 0.464364f, 0.423833f, 0.359710f, 0.292163f, 0.254092f, 0.222374f, 0.181837f, 0.163934f, 0.158788f, 0.144731f, 0.135148f, 0.141296f, 0.131086f, 0.109369f, 0.092388f, 0.071787f, 0.039073f, 0.014936f, -0.023538f, -0.052515f, -0.052787f, -0.033977f, -0.016373f, -0.003910f}, + {0.005473f, 0.017776f, 0.003983f, 0.002579f, -0.004035f, -0.001472f, -0.008775f, -0.000378f, -0.002241f, 0.006581f, 0.005838f, -0.005886f, -0.004232f, -0.003557f, -0.003370f, -0.004192f, 0.000460f, 0.005237f, -0.004162f, -0.004476f, -0.014653f, -0.010791f, -0.007927f, -0.000372f, 0.000789f, 0.010745f, -0.005921f, 0.005325f, 0.003295f, 0.002737f, 0.000646f, -0.008028f, 0.002058f, -0.017115f, 0.002088f, 0.000528f, 0.000808f, -0.001175f, -0.010554f, -0.004812f, -0.009098f, 0.000558f, 0.000586f, -0.005503f, -0.014128f, 0.009712f, -0.000682f, -0.008270f, -0.000039f, 0.005511f, 0.001200f, -0.002853f, 0.002008f, -0.004710f, -0.002031f, -0.004445f, 0.003422f, -0.004731f, 0.006661f, 0.005386f, -0.001069f, -0.009414f, 0.000492f, 0.001299f, -0.000837f, -0.003451f, 0.002384f, 0.001673f, -0.002147f, 0.005086f, 0.005541f, 0.003823f, 0.000366f, 0.000024f, 0.001772f, -0.005113f, 0.000709f, 0.007869f, 0.000920f, 0.001504f, 0.001457f, 0.005815f, 0.002235f, 0.001828f, 0.005219f, -0.001289f, 0.004109f, -0.001607f, 0.002682f, 0.001883f, -0.000716f, 0.001114f, 0.001515f, -0.000464f, 0.001917f, 0.002938f, + 0.000702f, 0.000063f, 0.002083f, 0.002769f, 0.002212f, -0.000333f, 0.000841f, 0.000908f, 0.001081f, 0.000318f, 0.000175f, -0.000214f, -0.000691f, -0.002188f, 0.001426f, 0.000160f, -0.018896f, -0.021209f, -0.001506f, -0.008383f, 0.006478f, -0.010390f, 0.002611f, 0.004811f, -0.007086f, 0.005799f, 0.021224f, 0.001198f, -0.001953f, 0.011641f, 0.001577f, 0.011689f, 0.000181f, 0.005341f, -0.008353f, -0.011061f, -0.000599f, 0.004212f, -0.007698f, -0.002467f, -0.000781f, -0.002160f, 0.002108f, -0.002250f, -0.004066f, 0.003860f, -0.001917f, -0.001599f, 0.008338f, 0.011906f, -0.003708f, -0.006377f, 0.002367f, 0.009533f, 0.003612f, 0.012214f, 0.000510f, -0.001696f, -0.000314f, 0.010903f, 0.000699f, -0.007765f, -0.004277f, 0.008566f, 0.006197f, 0.006670f, 0.001808f, -0.004216f, -0.008795f, 0.001765f, 0.004138f, 0.005164f, -0.001896f, -0.004579f, 0.009506f, 0.006417f, -0.001579f, -0.005288f, 0.000317f, -0.003669f, 0.009908f, 0.003076f, 0.001816f, 0.003205f, 0.001106f, 0.002099f, 0.006087f, 0.001122f, 0.006115f, -0.001138f, 0.009748f, 0.001244f, -0.009649f, -0.003763f, -0.003363f, 0.004848f, + 0.005956f, -0.000901f, 0.001590f, -0.006690f, -0.002457f, -0.006226f, -0.001913f, -0.004036f, -0.003496f, -0.001415f, 0.002045f, 0.000156f, 0.000054f, 0.000332f, 0.002696f, 0.000496f, 0.000612f, -0.000268f, -0.002897f, -0.000750f, 0.000150f, -0.000214f, 0.001168f, 0.000515f, 0.000499f, -0.001030f, 0.011136f, 0.007810f, 0.011726f, 0.012209f, -0.002927f, 0.006119f, -0.002617f, -0.006914f, -0.000645f, 0.018085f, 0.007915f, 0.004043f, 0.006433f, -0.007531f, 0.012889f, 0.005536f, 0.008636f, -0.002538f, -0.014309f, 0.006025f, -0.022326f, 0.004542f, -0.005703f, 0.004501f, 0.003518f, -0.000407f, -0.007686f, 0.001868f, 0.005014f, -0.002973f, 0.004702f, 0.011335f, -0.000813f, -0.009369f, -0.012792f, 0.002014f, 0.005717f, -0.011758f, 0.006547f, -0.011049f, -0.007221f, 0.008052f, -0.004670f, -0.009337f, -0.004561f, -0.006582f, 0.010334f, 0.014208f, 0.008036f, -0.005087f, 0.000061f, 0.007597f, 0.004527f, -0.000626f, -0.005801f, -0.002738f, -0.005091f, 0.005419f, 0.017550f, -0.000124f, -0.009520f, -0.007501f, 0.004071f, 0.001444f, -0.003568f, -0.010377f, -0.000193f, -0.008887f, -0.003497f, 0.001415f, + -0.001526f, 0.007077f, 0.001319f, 0.008883f, 0.010322f, -0.009043f, -0.003334f, 0.000519f, -0.007068f, -0.008471f, -0.001357f, 0.000053f, -0.005192f, 0.004986f, -0.004718f, -0.000577f, 0.003928f, 0.000801f, 0.000282f, 0.003892f, -0.004772f, -0.001640f, 0.001130f, 0.001804f, -0.002161f, 0.001557f, 0.000847f, 0.001758f, -0.000266f, -0.000030f, 0.001790f, -0.002430f, 0.003121f, -0.002434f, 0.001528f, 0.000485f, -0.000693f, -0.000186f, 0.001389f, -0.000998f, -0.001625f, -0.002751f, 0.001724f, -0.002019f, 0.000758f, 0.002635f, -0.000362f, -0.001677f, 0.024915f, -0.006694f, 0.002429f, 0.003557f, -0.016434f, -0.014003f, 0.000365f, 0.016284f, 0.012424f, 0.019684f, 0.006493f, -0.005556f, -0.008470f, 0.001451f, -0.004862f, 0.003880f, 0.001881f, 0.006651f, 0.012228f, 0.003895f, 0.009016f, -0.000254f, 0.005346f, -0.005426f, -0.011390f, -0.005970f, -0.008718f, 0.000118f, -0.002434f, 0.002658f, -0.013876f, -0.006928f, -0.001857f, 0.005134f, -0.006859f, 0.014378f, -0.016202f, 0.003476f, -0.010203f, -0.008276f, 0.004711f, 0.004128f, 0.013872f, -0.001541f, 0.003506f, -0.003961f, 0.009716f, 0.010268f, + 0.002855f, -0.002214f, -0.010440f, -0.001449f, 0.003603f, -0.008005f, 0.008023f, -0.008812f, 0.003780f, 0.014566f, 0.012209f, 0.000179f, -0.004705f, 0.002281f, 0.014563f, -0.001821f, 0.003580f, 0.002262f, 0.011900f, 0.000117f, -0.003178f, -0.007392f, 0.005189f, -0.011139f, 0.004053f, 0.023165f, 0.005694f, 0.010907f, 0.001080f, -0.015329f, 0.005540f, 0.002845f, -0.006050f, 0.006252f, -0.001944f, -0.001671f, -0.007647f, 0.003193f, 0.007519f, 0.003356f, 0.001444f, -0.003496f, -0.007527f, 0.001736f, -0.001501f, -0.001176f, 0.000482f, -0.000385f, -0.001426f, 0.002421f, -0.002569f, -0.002338f, -0.002214f, 0.003408f, 0.001362f, 0.002681f, -0.001518f, 0.002472f, 0.000135f, -0.002447f, 0.002617f, 0.001425f, -0.002173f, -0.004148f, -0.001516f, 0.003404f, 0.000208f, -0.000903f, 0.001709f, 0.001543f, 0.003700f, -0.000180f, -0.001457f, -0.009084f, -0.015538f, 0.007838f, -0.011079f, -0.011422f, 0.002354f, -0.005536f, -0.036553f, 0.003542f, 0.005648f, 0.033458f, 0.010841f, 0.002477f, -0.015189f, 0.013942f, 0.006047f, -0.006074f, 0.007313f, -0.001272f, 0.012166f, -0.007344f, -0.003760f, -0.002476f, + -0.003223f, -0.005045f, -0.002177f, 0.008633f, 0.007567f, 0.013065f, 0.004684f, 0.006406f, -0.000120f, -0.008516f, -0.009188f, 0.012374f, -0.006767f, 0.002743f, -0.001101f, -0.008754f, 0.012577f, -0.002109f, -0.005426f, 0.002178f, 0.009161f, -0.006096f, 0.013901f, -0.017610f, -0.014543f, -0.017860f, 0.004340f, -0.010068f, -0.015258f, -0.003532f, 0.014295f, -0.006069f, 0.004301f, 0.008452f, -0.006125f, -0.008077f, 0.000665f, 0.001295f, 0.004792f, 0.000851f, -0.004441f, -0.000537f, 0.018414f, 0.007781f, -0.007489f, -0.023186f, -0.018492f, 0.006739f, 0.021902f, 0.018380f, -0.014350f, 0.000338f, -0.009360f, 0.004117f, 0.003644f, -0.015726f, -0.001244f, 0.003077f, 0.001837f, -0.004294f, 0.000939f, 0.000905f, 0.000478f, 0.005286f, 0.004870f, -0.003173f, -0.003828f, 0.002571f, -0.001862f, 0.001181f, -0.005478f, 0.002205f, 0.001634f, -0.008782f, -0.001971f, 0.001834f, 0.001323f, 0.000674f, 0.001713f, -0.000587f, 0.000632f, 0.000598f, 0.000864f, -0.003241f, -0.000453f, 0.001070f, -0.001024f, -0.003930f, -0.001948f, 0.000468f, 0.000597f, 0.004162f, -0.006531f, 0.010830f, -0.018207f, -0.003030f, + -0.022563f, -0.006537f, 0.003345f, 0.007953f, -0.020567f, -0.005039f, 0.014087f, -0.001616f, -0.020586f, 0.010753f, -0.006590f, -0.011690f, 0.006449f, 0.010887f, 0.002444f, 0.002348f, 0.003722f, 0.014198f, -0.006699f, -0.005778f, 0.003689f, -0.006911f, -0.003567f, 0.000271f, -0.000795f, 0.000553f, 0.011313f, 0.005886f, -0.001316f, -0.000909f, 0.006611f, 0.002854f, 0.008120f, -0.000628f, 0.009167f, 0.009781f, 0.003868f, -0.010518f, 0.001531f, -0.001411f, -0.007536f, 0.010272f, -0.005783f, 0.004344f, -0.007001f, -0.002503f, -0.025210f, 0.002376f, 0.020465f, 0.001875f, 0.021756f, -0.003949f, -0.004890f, -0.022338f, 0.026288f, 0.012449f, 0.014979f, 0.002515f, 0.012278f, -0.000079f, -0.000096f, 0.010305f, -0.005989f, 0.003766f, -0.000042f, -0.025062f, 0.005764f, -0.005837f, 0.006638f, -0.003730f, 0.005991f, 0.023369f, 0.007032f, 0.006197f, -0.000283f, -0.014108f, 0.010627f, -0.005699f, 0.002132f, 0.005382f, 0.007007f, -0.007750f, -0.002060f, -0.003182f, -0.004220f, 0.004596f, -0.002654f, -0.001992f, -0.003315f, 0.000579f, 0.000851f, 0.000386f, -0.006522f, 0.002650f, 0.001131f, -0.001431f, + 0.001882f, 0.000942f, 0.001641f, 0.001390f, 0.003099f, 0.000057f, 0.000660f, -0.000370f, -0.001499f, 0.003932f, -0.000735f, 0.005530f, 0.000855f, 0.002316f, -0.001696f, 0.003053f, 0.001016f, -0.028948f, -0.000955f, 0.021761f, -0.004770f, 0.012879f, -0.013890f, -0.009584f, -0.025007f, 0.014275f, 0.007411f, 0.016575f, 0.007749f, -0.008184f, 0.013976f, -0.003546f, 0.013372f, -0.008819f, -0.008145f, 0.001000f, -0.002990f, 0.011568f, 0.002430f, 0.009752f, 0.010923f, -0.006563f, -0.005583f, -0.003884f, 0.007194f, -0.001503f, -0.004643f, 0.001460f, -0.009836f, 0.005058f, 0.003484f, -0.005202f, 0.007279f, 0.012758f, -0.005115f, -0.005831f, -0.001541f, -0.009688f, -0.004690f, 0.014666f, 0.002000f, -0.009133f, 0.017868f, -0.019676f, 0.003114f, 0.010490f, -0.004495f, -0.006501f, -0.001441f, 0.008356f, -0.014983f, 0.007476f, -0.006078f, -0.012908f, -0.009638f, -0.007815f, 0.000294f, -0.003714f, -0.008191f, 0.003501f, 0.022194f, 0.012199f, -0.002993f, -0.007665f, -0.021427f, 0.002226f, 0.011953f, -0.007041f, -0.023681f, 0.000585f, -0.003683f, 0.001139f, 0.003033f, 0.010826f, -0.000591f, -0.005589f, + -0.002056f, -0.008716f, -0.005060f, -0.004153f, 0.006585f, -0.005435f, 0.006116f, -0.012701f, 0.001126f, -0.005864f, -0.003800f, 0.007631f, -0.003599f, -0.003693f, -0.004350f, 0.001510f, -0.008006f, -0.003292f, -0.001784f, -0.000380f, 0.001805f, -0.005799f, 0.001700f, -0.004614f, 0.002591f, 0.002939f, 0.006721f, 0.001180f, 0.002482f, 0.003431f, 0.002759f, -0.001970f, 0.001161f, 0.000351f, 0.005025f, 0.002796f, -0.000421f, 0.002898f, -0.000161f, 0.000198f, -0.001944f, 0.000243f, 0.000103f, -0.003562f, 0.001125f, -0.002478f, -0.001765f, 0.000190f, 0.002711f, -0.000798f, 0.009631f, -0.004242f, 0.002450f, 0.014236f, 0.000925f, 0.016678f, 0.018079f, 0.040343f, 0.027512f, 0.016871f, -0.004289f, -0.021371f, -0.007456f, 0.019578f, 0.008464f, -0.020643f, 0.015400f, -0.003604f, -0.010247f, -0.012634f, 0.001879f, 0.034878f, -0.023648f, 0.025221f, 0.009837f, -0.005438f, 0.008277f, -0.006823f, 0.018042f, -0.006935f, 0.009525f, 0.001894f, -0.012538f, -0.008780f, -0.012216f, 0.000463f, 0.010313f, -0.002989f, -0.006894f, 0.006646f, 0.000847f, -0.002091f, -0.023608f, 0.007136f, -0.013232f, -0.010010f, + 0.006496f, 0.015547f, -0.011501f, -0.016550f, 0.000573f, 0.014035f, 0.001144f, -0.009438f, -0.003531f, -0.005621f, 0.006388f, 0.004662f, -0.005443f, -0.008921f, -0.013409f, 0.008279f, 0.021472f, 0.013160f, 0.006773f, -0.012473f, 0.006450f, 0.013596f, -0.015278f, -0.019937f, 0.003475f, -0.016462f, -0.007885f, -0.032270f, 0.000405f, -0.022161f, -0.011555f, 0.005957f, -0.002795f, -0.002134f, 0.009800f, 0.001668f, -0.018090f, -0.012543f, 0.008142f, -0.002505f, 0.000977f, -0.005629f, 0.000523f, 0.005278f, -0.000797f, 0.003498f, 0.003512f, 0.000723f, 0.000323f, 0.002596f, 0.003029f, 0.002016f, 0.000229f, 0.000625f, -0.001833f, 0.004775f, 0.000117f, 0.004395f, -0.000794f, -0.002926f, 0.001415f, 0.004091f, -0.005141f, -0.007543f, -0.003856f, -0.001092f, -0.002372f, 0.008577f, 0.003219f, -0.002699f, 0.003803f, -0.002173f, 0.000564f, -0.006912f, -0.000631f, 0.000502f, -0.003176f, 0.044143f, 0.000988f, -0.017279f, 0.019457f, -0.021283f, 0.024632f, 0.001998f, -0.015005f, -0.025696f, -0.006229f, 0.012610f, -0.020433f, 0.018134f, -0.002897f, 0.011692f, 0.013920f, -0.011949f, -0.004977f, -0.007190f, + -0.009525f, -0.003699f, -0.008899f, 0.001487f, -0.010876f, 0.011316f, 0.007140f, 0.009499f, 0.019256f, 0.009920f, -0.002877f, 0.022979f, 0.011705f, 0.004251f, -0.012335f, -0.013439f, 0.006886f, -0.010286f, 0.002362f, 0.007268f, -0.015347f, 0.013143f, 0.034995f, 0.002677f, 0.024887f, 0.011793f, 0.012038f, 0.017782f, 0.001030f, 0.009429f, 0.009942f, -0.022647f, -0.015373f, 0.015642f, 0.001040f, 0.014764f, 0.002621f, 0.015500f, -0.002508f, 0.005584f, 0.003849f, -0.032445f, -0.002143f, 0.008354f, 0.021712f, 0.004864f, 0.019042f, 0.001952f, -0.004495f, 0.006266f, 0.008542f, -0.018202f, -0.030813f, -0.016241f, 0.004234f, 0.007605f, 0.001028f, 0.022636f, 0.007971f, -0.035421f, 0.009020f, -0.005118f, 0.000187f, 0.010225f, -0.014227f, -0.000458f, -0.007666f, 0.006554f, 0.009165f, 0.000589f, 0.001979f, 0.006665f, 0.000270f, -0.000026f, -0.003071f, -0.003362f, 0.001206f, 0.000709f, 0.000228f, 0.005578f, 0.004020f, 0.001438f, 0.003337f, 0.002196f, 0.000159f, -0.005383f, 0.004348f, 0.003605f, -0.002126f, -0.000422f, -0.000739f, 0.000324f, 0.003187f, 0.002696f, 0.008419f, -0.006991f, + -0.001985f, 0.003221f, -0.001701f, 0.004482f, -0.003478f, 0.007449f, -0.001721f, -0.002165f, 0.001081f, 0.004307f, 0.003038f, -0.000945f, -0.000433f, -0.021294f, -0.001945f, -0.018947f, -0.009053f, 0.008139f, -0.009731f, 0.004407f, 0.006418f, -0.011303f, -0.028482f, 0.009246f, -0.028218f, -0.032212f, 0.006939f, -0.015762f, 0.014194f, 0.020515f, -0.005298f, 0.023916f, -0.005839f, 0.023632f, 0.031909f, 0.000209f, 0.001802f, -0.032143f, -0.006196f, 0.003685f, 0.005444f, -0.003592f, -0.021376f, 0.001673f, -0.018115f, 0.002489f, -0.004947f, 0.005103f, -0.007010f, -0.011750f, 0.002626f, -0.001934f, -0.006668f, 0.007776f, 0.000672f, -0.004733f, 0.023032f, 0.008780f, 0.017272f, -0.010769f, 0.003118f, -0.009049f, 0.006532f, -0.001869f, 0.009013f, -0.002852f, -0.006934f, -0.008668f, -0.020530f, -0.011871f, 0.032916f, 0.013555f, 0.021805f, -0.025126f, 0.005257f, 0.018923f, -0.016030f, 0.000343f, 0.012160f, -0.006431f, 0.012203f, 0.001952f, -0.022187f, -0.005550f, -0.034114f, -0.004012f, 0.013658f, 0.007297f, 0.022779f, 0.002786f, 0.015107f, 0.016390f, 0.005552f, -0.000814f, 0.029535f, 0.002709f, + 0.000699f, -0.004874f, -0.003000f, 0.015884f, 0.009110f, 0.015204f, -0.001859f, -0.002876f, -0.003918f, 0.011168f, 0.002147f, -0.002065f, 0.002877f, 0.007737f, -0.001886f, -0.004197f, -0.008804f, 0.000540f, -0.007048f, -0.002845f, -0.006030f, 0.005236f, -0.000823f, -0.009933f, -0.002011f, 0.001014f, 0.000614f, -0.000235f, -0.004956f, 0.007198f, -0.005763f, 0.002043f, 0.002465f, -0.007408f, -0.001591f, -0.004854f, 0.000880f, 0.006438f, -0.005646f, -0.004173f, -0.003581f, -0.003051f, 0.003260f, -0.020766f, -0.018910f, -0.019659f, -0.029155f, 0.019942f, 0.012583f, 0.001951f, -0.019693f, 0.017791f, -0.000379f, -0.024407f, -0.020330f, -0.006846f, -0.005236f, -0.015572f, -0.006431f, -0.009169f, -0.008146f, -0.005661f, -0.022972f, 0.011541f, 0.013084f, -0.001029f, -0.002354f, -0.003999f, -0.008643f, -0.026861f, -0.029705f, 0.001048f, 0.012543f, -0.007637f, -0.018394f, -0.010052f, 0.013565f, 0.010300f, 0.000418f, -0.005539f, -0.008054f, -0.007762f, 0.017213f, -0.008761f, 0.012020f, -0.008284f, 0.000097f, -0.029242f, -0.006668f, -0.002185f, 0.021904f, 0.006224f, -0.005467f, -0.016390f, -0.011761f, -0.022993f, + 0.037031f, -0.017036f, 0.035152f, 0.004636f, -0.015556f, 0.023495f, 0.022730f, 0.039894f, -0.039302f, 0.016265f, 0.006195f, 0.005371f, -0.008045f, -0.011103f, 0.016944f, 0.009034f, -0.003275f, -0.018205f, 0.020038f, -0.010588f, 0.021562f, 0.018164f, 0.016798f, -0.015403f, 0.033465f, -0.024855f, 0.013565f, 0.021876f, -0.012880f, 0.002816f, 0.000286f, 0.019016f, -0.005377f, 0.008500f, -0.010223f, 0.020311f, -0.000998f, 0.003636f, -0.011970f, 0.009319f, -0.001007f, 0.009609f, -0.003136f, 0.012921f, 0.005902f, 0.004133f, -0.007964f, 0.002509f, -0.006736f, 0.000449f, -0.005799f, -0.007210f, -0.001866f, -0.006360f, -0.004700f, -0.000609f, -0.003685f, -0.006339f, 0.003984f, 0.005421f, 0.007440f, 0.001908f, -0.007778f, 0.000770f, -0.005397f, 0.005051f, 0.001639f, -0.003533f, 0.000522f, 0.003553f, 0.001636f, -0.008196f, 0.001161f, 0.008375f, 0.002793f, -0.001231f, 0.001916f, 0.031520f, -0.052807f, -0.057096f, -0.035567f, -0.006152f, -0.024741f, 0.015130f, -0.020318f, 0.001943f, 0.010394f, -0.001695f, 0.037655f, 0.026848f, 0.009743f, -0.011154f, -0.008178f, 0.026069f, -0.004212f, 0.003898f, + -0.010567f, -0.023582f, 0.000247f, 0.009315f, 0.006459f, -0.013039f, 0.011528f, 0.001456f, -0.001347f, 0.022061f, 0.030786f, 0.002030f, -0.019389f, -0.008594f, -0.037359f, -0.014716f, -0.009528f, -0.011440f, 0.001867f, 0.006399f, -0.013474f, -0.005629f, -0.018917f, 0.020398f, 0.024852f, 0.020399f, 0.023216f, 0.017945f, 0.030328f, 0.003522f, 0.010518f, 0.006983f, -0.005310f, 0.011446f, 0.018141f, -0.018218f, -0.062180f, -0.014698f, 0.020873f, -0.032489f, 0.016628f, 0.020179f, 0.007523f, -0.010018f, 0.001720f, -0.007957f, -0.024881f, -0.007014f, 0.016448f, -0.020226f, -0.016794f, 0.005813f, -0.013609f, 0.040382f, 0.041429f, -0.015500f, 0.026727f, 0.006806f, -0.003764f, -0.018292f, 0.012848f, -0.024602f, -0.020026f, 0.021956f, 0.016890f, 0.011519f, -0.001438f, -0.002370f, -0.029586f, -0.021595f, -0.003798f, -0.006994f, -0.005421f, -0.004683f, -0.008679f, -0.007521f, -0.008087f, -0.004346f, 0.001179f, 0.006770f, 0.005639f, 0.009050f, -0.000695f, -0.004674f, -0.004368f, -0.003283f, 0.013485f, 0.012200f, 0.006514f, -0.001408f, -0.000784f, -0.003120f, -0.004951f, -0.008057f, -0.003385f, 0.001151f, + -0.002255f, 0.005158f, -0.002828f, 0.001774f, 0.002626f, 0.002029f, 0.005157f, -0.006238f, -0.000081f, 0.000936f, 0.004365f, -0.007468f, 0.012381f, -0.005404f, -0.003122f, 0.050812f, -0.042754f, -0.000887f, 0.007341f, -0.041089f, -0.012018f, -0.017407f, 0.006259f, -0.012621f, 0.035661f, 0.004462f, -0.000356f, 0.044288f, -0.002429f, -0.039508f, -0.031481f, -0.019472f, 0.015298f, -0.002459f, -0.038079f, 0.009603f, 0.010712f, 0.019870f, -0.022620f, 0.011333f, 0.019394f, 0.016598f, 0.013585f, -0.004871f, 0.023161f, 0.024707f, 0.008514f, -0.055798f, 0.040706f, -0.020169f, 0.015741f, -0.004301f, -0.005672f, 0.010386f, -0.024519f, -0.014337f, 0.026219f, -0.012222f, -0.003305f, 0.023335f, -0.026322f, 0.023465f, -0.009079f, 0.021760f, -0.029005f, 0.038539f, -0.017168f, 0.059786f, -0.007759f, 0.003453f, 0.015575f, -0.013635f, -0.009756f, -0.007653f, 0.005017f, -0.003437f, -0.030130f, -0.038371f, -0.010372f, 0.021689f, -0.011256f, -0.014192f, -0.038585f, 0.017446f, 0.004139f, -0.053323f, -0.000614f, 0.000291f, 0.007976f, 0.026798f, -0.018323f, 0.008073f, -0.023578f, -0.021219f, -0.031327f, -0.031871f, + -0.005405f, -0.018841f, 0.022913f, -0.004260f, 0.022386f, -0.011312f, 0.012830f, -0.002276f, -0.014040f, -0.020282f, -0.002094f, 0.001845f, 0.009850f, -0.005230f, 0.004439f, 0.001412f, 0.008095f, -0.001333f, -0.010320f, -0.002076f, -0.015708f, -0.001298f, 0.002761f, 0.002950f, 0.001082f, -0.006606f, -0.007523f, 0.008152f, 0.004234f, -0.003229f, 0.010128f, -0.013111f, -0.016467f, -0.000929f, 0.014984f, -0.000289f, 0.004478f, 0.005207f, 0.010311f, -0.000053f, 0.011517f, -0.009892f, 0.003835f, 0.001580f, 0.009402f, 0.014907f, -0.009507f, 0.001809f, -0.002084f, 0.001833f, 0.019329f, 0.059360f, 0.029209f, -0.017717f, 0.040458f, 0.013687f, -0.026256f, 0.010304f, 0.026062f, -0.003779f, -0.009201f, -0.035994f, -0.010075f, 0.022683f, 0.014394f, 0.010953f, 0.006360f, -0.006240f, -0.014787f, -0.033949f, 0.018015f, -0.011369f, 0.008870f, -0.025991f, -0.014451f, -0.000342f, -0.004260f, 0.034003f, 0.009949f, 0.005690f, 0.025592f, 0.012706f, -0.039219f, -0.004238f, 0.014078f, -0.006989f, 0.000621f, 0.033613f, 0.010767f, 0.038973f, -0.022681f, -0.013856f, -0.006523f, -0.014083f, 0.014984f, -0.014691f, + 0.028929f, 0.029315f, -0.012917f, -0.027969f, 0.047252f, -0.024059f, -0.010022f, -0.005338f, 0.013960f, 0.007576f, -0.026615f, -0.007540f, 0.016769f, -0.012224f, 0.021315f, -0.009800f, 0.030268f, -0.015443f, 0.006716f, 0.046884f, -0.001088f, 0.033141f, 0.056601f, 0.007552f, 0.027720f, -0.014021f, -0.068412f, -0.045882f, -0.009008f, -0.002532f, 0.038649f, -0.000872f, 0.012831f, 0.003694f, -0.009790f, -0.031227f, -0.070591f, 0.053720f, 0.003546f, 0.001987f, 0.017302f, 0.008725f, -0.017317f, 0.039828f, 0.001842f, 0.008743f, -0.000620f, 0.003080f, -0.034875f, -0.012478f, -0.023034f, -0.013391f, -0.001246f, -0.012480f, -0.013059f, 0.008512f, -0.002934f, -0.008446f, 0.025306f, -0.004286f, -0.025972f, -0.018029f, 0.006382f, 0.001736f, -0.007609f, 0.039836f, 0.011779f, -0.012694f, -0.015322f, 0.004572f, -0.003638f, -0.007671f, 0.001190f, 0.004118f, -0.008955f, 0.009846f, -0.000387f, 0.014003f, 0.017430f, 0.003947f, -0.001725f, -0.004761f, 0.011671f, 0.011911f, 0.010193f, -0.077011f, -0.018549f, 0.080650f, -0.030989f, -0.034405f, 0.071050f, -0.045485f, 0.040025f, 0.053707f, 0.021132f, 0.007528f, + -0.040693f, 0.015748f, -0.071353f, -0.034957f, 0.015621f, 0.037301f, 0.004218f, 0.008777f, 0.027077f, 0.072404f, 0.048837f, 0.015496f, 0.002757f, 0.000179f, 0.008109f, 0.006237f, -0.027914f, 0.000886f, 0.017968f, 0.022881f, 0.096436f, 0.054604f, 0.037252f, 0.069878f, 0.028570f, -0.009620f, 0.021062f, -0.000959f, 0.066816f, 0.024485f, -0.005248f, -0.010733f, 0.028053f, -0.003897f, 0.032196f, -0.098947f, 0.004530f, 0.034626f, -0.001799f, 0.041835f, -0.015219f, 0.011384f, 0.022345f, -0.092047f, -0.035448f, -0.006784f, -0.029308f, -0.037842f, -0.044837f, 0.042762f, -0.027286f, 0.008936f, -0.008095f, 0.042937f, -0.069124f, -0.018554f, -0.009405f, 0.022354f, 0.000083f, -0.005854f, 0.051665f, 0.089921f, -0.000007f, 0.028369f, -0.016475f, 0.008098f, 0.062984f, -0.065916f, -0.039043f, -0.055066f, -0.069745f, -0.005548f, -0.002314f, -0.027077f, -0.029282f, -0.027567f, -0.026269f, -0.033898f, -0.049575f, -0.021239f, -0.031963f, -0.019264f, 0.009270f, 0.044673f, 0.014623f, 0.007304f, 0.007172f, -0.003735f, 0.010371f, 0.004918f, -0.030739f, -0.027546f, -0.007548f, -0.039070f, -0.015214f, -0.016867f, + -0.013072f, -0.015003f, 0.018753f, -0.013813f, 0.001716f, 0.003340f, 0.008446f, 0.022509f, 0.033972f, 0.000254f, -0.007798f, 0.024863f, -0.011675f, 0.016077f, 0.006548f, 0.004008f, -0.005882f, 0.005048f, 0.003713f, -0.013612f, -0.018192f, -0.019742f, -0.002171f, 0.042483f, 0.036196f, -0.034035f, -0.123395f, -0.021583f, 0.049700f, 0.012033f, -0.014311f, -0.009285f, 0.003205f, -0.016555f, -0.023130f, 0.027482f, 0.019598f, 0.056235f, 0.019722f, 0.033971f, -0.013177f, 0.074695f, 0.012845f, 0.047507f, -0.007196f, 0.068940f, -0.026571f, 0.045062f, -0.044031f, 0.000810f, 0.004274f, 0.032321f, -0.013091f, -0.023360f, -0.058051f, 0.032479f, 0.003701f, 0.007014f, -0.028327f, -0.051149f, -0.003675f, 0.006450f, -0.006864f, 0.016282f, 0.032729f, 0.005494f, 0.023265f, 0.085356f, -0.036212f, 0.008991f, -0.028450f, 0.044322f, 0.037560f, -0.042097f, 0.039746f, 0.046393f, -0.033261f, 0.012152f, 0.010352f, 0.032304f, 0.015268f, 0.065127f, 0.019926f, -0.022425f, 0.003449f, 0.084031f, 0.026049f, -0.095000f, 0.027769f, 0.017608f, -0.082602f, -0.022342f, -0.026726f, -0.057556f, 0.003802f, 0.036355f, + 0.038912f, -0.022802f, 0.070290f, -0.017674f, -0.031048f, -0.015304f, 0.037012f, -0.138185f, -0.017280f, 0.002530f, 0.111537f, 0.015338f, 0.094530f, 0.046079f, 0.066258f, -0.001361f, 0.022542f, -0.012245f, 0.056117f, 0.057741f, 0.051075f, -0.011921f, -0.034496f, -0.013481f, 0.056093f, -0.006117f, -0.037079f, -0.015489f, 0.066528f, 0.009829f, -0.041775f, -0.013689f, 0.060016f, 0.017745f, 0.024877f, -0.000292f, 0.022562f, -0.016693f, -0.001370f, -0.000780f, 0.009691f, -0.001084f, 0.010504f, -0.007848f, -0.019689f, -0.022619f, -0.028418f, -0.003207f, -0.020764f, 0.000514f, -0.003779f, -0.007541f, 0.019911f, -0.022242f, -0.009373f, -0.022048f, -0.008406f, -0.040900f, -0.030894f, 0.042374f, 0.000743f, -0.076071f, 0.061680f, 0.133080f, 0.008862f, -0.073779f, 0.114621f, -0.025689f, -0.001714f, 0.016514f, 0.064994f, -0.037237f, 0.002750f, 0.130374f, -0.064592f, 0.031179f, 0.043839f, 0.042268f, -0.057771f, -0.005645f, 0.010319f, -0.028113f, 0.004909f, 0.013760f, -0.023498f, 0.023303f, -0.039827f, -0.011096f, -0.015958f, -0.002816f, -0.023917f, -0.020719f, -0.007736f, 0.012743f, -0.043428f, -0.040374f, + 0.060997f, 0.011284f, -0.038228f, -0.009803f, 0.036279f, 0.088299f, -0.007688f, -0.042731f, 0.045950f, 0.067775f, -0.019633f, -0.004792f, 0.001752f, 0.024686f, 0.000183f, 0.000295f, 0.030717f, -0.074384f, 0.051193f, -0.042811f, 0.000550f, -0.060780f, 0.034249f, -0.004535f, -0.091144f, 0.045230f, -0.006506f, -0.035025f, 0.061509f, 0.007476f, 0.060820f, -0.051196f, -0.019701f, -0.020534f, -0.047584f, -0.073590f, -0.097679f, 0.083157f, 0.033894f, 0.061285f, 0.056281f, 0.035083f, 0.013587f, -0.034868f, 0.053293f, -0.026228f, -0.022428f, 0.072406f, 0.024095f, -0.013318f, -0.006471f, 0.022260f, -0.051141f, 0.013449f, -0.020210f, 0.034137f, -0.013009f, -0.021585f, 0.032311f, 0.005775f, -0.038016f, 0.003357f, -0.018015f, -0.010292f, 0.008042f, -0.007994f, 0.006954f, -0.001769f, -0.027387f, -0.013528f, 0.011840f, -0.008792f, -0.017276f, 0.017444f, 0.026935f, 0.026797f, -0.021287f, -0.008371f, 0.030962f, -0.052195f, 0.015750f, 0.019604f, -0.022536f, -0.051853f, 0.026243f, 0.003648f, -0.023578f, 0.016705f, -0.025241f, -0.040264f, 0.010652f, 0.036859f, -0.030226f, -0.012630f, 0.012861f, 0.032237f, + -0.008785f, -0.003553f, 0.001735f, -0.021852f, 0.072163f, -0.029414f, 0.021377f, 0.016633f, -0.074850f, 0.067239f, 0.023529f, -0.019309f, 0.057777f, 0.004753f, 0.003846f, 0.028165f, -0.025118f, 0.073645f, -0.059220f, -0.031790f, 0.027465f, 0.025286f, 0.012518f, -0.055165f, -0.033556f, -0.061464f, 0.033859f, 0.008017f, 0.030918f, -0.000089f, 0.033204f, 0.013273f, 0.011071f, 0.001178f, 0.028286f, -0.012958f, 0.015533f, -0.028219f, 0.020942f, -0.026106f, -0.000325f, -0.034414f, -0.024425f, 0.001227f, -0.030560f, 0.014042f, 0.072445f, 0.017118f, -0.054530f, 0.028138f, 0.021692f, 0.038234f, 0.000934f, 0.063734f, -0.055160f, 0.008136f, 0.025367f, -0.053358f, -0.012559f, 0.106783f, 0.060101f, -0.142043f, -0.060373f, 0.075058f, -0.020792f, -0.067592f, 0.026300f, -0.007247f, -0.052114f, 0.037680f, 0.064216f, -0.087767f, 0.017028f, 0.077193f, -0.052846f, -0.047611f, 0.063173f, 0.008071f, -0.052511f, 0.008827f, 0.040943f, -0.046111f, -0.006666f, 0.049554f, -0.007690f, -0.022806f, -0.036195f, 0.045263f, -0.012468f, 0.024992f, 0.005557f, 0.025378f, -0.018177f, 0.016214f, 0.045788f, 0.017642f, + -0.034470f, 0.002171f, -0.024799f, -0.017125f, -0.034751f, -0.003759f, -0.009623f, -0.003106f, -0.023537f, 0.022872f, 0.019794f, -0.008761f, 0.052293f, -0.014102f, -0.056675f, 0.066828f, -0.008567f, -0.013627f, 0.011894f, 0.022874f, 0.002591f, -0.007091f, 0.056442f, 0.030516f, -0.040690f, 0.002532f, 0.015591f, -0.029965f, -0.024687f, 0.040355f, -0.021936f, -0.079173f, 0.074703f, 0.008670f, -0.076981f, -0.003210f, 0.039433f, -0.029651f, -0.064896f, 0.035992f, 0.048619f, -0.080116f, 0.010827f, 0.058502f, -0.035751f, -0.007182f, 0.064317f, -0.005913f, -0.027542f, 0.014187f, 0.026585f, -0.036829f, -0.010781f, 0.037125f, -0.009814f, 0.061760f, -0.134354f, -0.010475f, -0.023077f, -0.151157f, -0.026061f, -0.047209f, 0.015587f, 0.025006f, 0.045322f, -0.020679f, -0.057797f, -0.022993f, -0.083776f, 0.010505f, 0.031133f, 0.016698f, 0.014286f, -0.068882f, 0.042614f, 0.005814f, -0.080945f, 0.058943f, -0.087105f, -0.036780f, -0.032135f, 0.023084f, 0.064519f, 0.073034f, -0.005181f, -0.017400f, -0.141474f, 0.060357f, 0.145022f, 0.051776f, 0.004198f, -0.079957f, -0.115154f, -0.048427f, -0.008907f, 0.059858f, + -0.071786f, -0.044177f, -0.073767f, -0.024541f, 0.135544f, 0.144433f, -0.024399f, -0.067679f, -0.056776f, -0.031458f, -0.014434f, 0.072392f, -0.033858f, 0.021150f, 0.016147f, 0.047919f, -0.012470f, -0.033508f, -0.083885f, -0.037505f, 0.130081f, 0.054608f, 0.086881f, -0.079558f, -0.042806f, -0.037224f, 0.088768f, 0.001101f, -0.141989f, -0.138547f, 0.078134f, 0.132243f, 0.223883f, 0.038333f, -0.188398f, 0.031028f, -0.049056f, 0.063746f, 0.063050f, -0.232658f, -0.072998f, 0.044685f, 0.123270f, 0.029097f, -0.117061f, -0.027088f, -0.010762f, 0.068021f, 0.059666f, 0.015037f, -0.093509f, -0.015425f, 0.021877f, 0.041552f, 0.022137f, -0.025285f, 0.005227f, -0.052960f, -0.005432f, -0.001508f, 0.051834f, -0.035270f, 0.068746f, -0.043698f, 0.020541f, 0.038556f, -0.014850f, 0.031878f, 0.030097f, 0.052367f, 0.004098f, -0.026332f, -0.029134f, 0.004166f, 0.004020f, 0.008347f, 0.007009f, -0.002383f, -0.002063f, -0.019802f, -0.018704f, -0.004653f, 0.035039f, -0.009238f, 0.002522f, -0.007615f, 0.012820f, 0.001902f, 0.020324f, -0.067704f, 0.057694f, -0.060331f, -0.013888f, 0.002845f, 0.014786f, -0.010919f, + 0.013193f, 0.024260f, -0.039937f, -0.033171f, -0.001413f, 0.009478f, 0.024544f, -0.027861f, 0.003334f, 0.022273f, -0.017534f, 0.014096f, -0.009434f, 0.067017f, -0.001633f, -0.009505f, 0.037522f, 0.021453f, 0.033265f, -0.016654f, 0.020989f, -0.006385f, -0.001610f, 0.028518f, 0.019213f, 0.005176f, 0.007659f, 0.038276f, -0.035926f, -0.010124f, 0.003070f, 0.051463f, -0.001520f, -0.010960f, 0.046681f, -0.011530f, -0.021303f, -0.019987f, 0.038554f, -0.008793f, 0.016438f, 0.011027f, 0.005263f, -0.013260f, 0.006339f, 0.015842f, 0.004690f, 0.044882f, 0.021288f, 0.013151f, -0.019931f, -0.002326f, 0.016185f, -0.031062f, 0.010671f, 0.012631f, 0.031938f, 0.001045f, -0.004619f, 0.019094f, 0.003338f, -0.036131f, 0.040607f, 0.013260f, -0.010403f, 0.034969f, -0.024070f, -0.002257f, -0.018160f, -0.014586f, 0.033036f, 0.025379f, -0.003114f, 0.013031f, -0.020973f, 0.005367f, -0.028009f, -0.001925f, -0.025723f, 0.006238f, 0.015293f, 0.006542f, 0.002190f, -0.004718f, -0.004270f, 0.005453f, -0.015727f, 0.005035f, -0.007299f, 0.007769f, -0.010668f, -0.002749f, -0.009946f, -0.010867f, 0.004734f, -0.001292f, + -0.001660f, -0.003547f, 0.015120f, 0.006927f, -0.021202f, -0.020450f, -0.015377f, 0.005213f, 0.005708f, 0.016228f, 0.008248f, -0.018764f, -0.003833f, -0.006579f, 0.016993f, -0.003709f, 0.018393f, 0.008814f, -0.016797f, 0.000919f, 0.007628f, -0.008223f, 0.011380f, -0.006438f, 0.012986f, -0.008984f, -0.004122f, 0.005359f, -0.008864f, 0.107095f, 0.008556f, -0.039488f, -0.032815f, 0.005369f, 0.024139f, -0.001427f, 0.022031f, -0.008358f, -0.005982f, -0.029635f, -0.006591f, -0.020739f, 0.032981f, -0.020625f, -0.001746f, -0.013005f, -0.006219f, -0.007612f, 0.003562f, -0.021917f, 0.003315f, -0.009419f, -0.015530f, 0.004591f, -0.002515f, 0.001291f, -0.004238f, 0.007785f, 0.003686f, -0.018320f, -0.011845f, 0.000039f, -0.012498f, -0.010786f, 0.009074f, -0.002922f, -0.018812f, 0.001302f, -0.010475f, 0.008061f, -0.027767f, 0.013918f, -0.012085f, -0.020993f, 0.006372f, -0.009591f, -0.010938f, 0.002905f, -0.000204f, 0.001367f, -0.004636f, 0.004714f, -0.008502f, 0.009441f, -0.005840f, 0.001053f, 0.015450f, -0.011105f, 0.005177f, -0.002880f, -0.001651f, 0.004280f, -0.012797f, 0.011697f, -0.013451f, 0.011680f, + -0.002816f, -0.000494f, -0.008614f, 0.011049f, -0.012920f, 0.000925f, 0.004557f, -0.016899f, 0.016928f, -0.010257f, 0.007182f, -0.007746f, 0.006862f, -0.005947f, -0.007504f, 0.012677f, -0.007903f, -0.001463f, 0.012372f, -0.007893f, -0.000119f, 0.001130f, 0.001955f, -0.008731f, 0.000701f, -0.000677f, -0.003866f, -0.002361f, 0.002120f, -0.002652f, -0.004767f, -0.002235f, 0.005390f, -0.004797f, 0.004038f, -0.001258f, -0.000571f, -0.001438f, -0.003663f, 0.003593f, -0.002477f, -0.002724f, 0.003700f, -0.003716f, 0.002925f, 0.001529f, -0.002343f, 0.000748f, -0.000611f, 0.001202f, -0.007481f, 0.007347f, -0.007695f, 0.001516f, -0.001143f, -0.003835f, 0.001020f, -0.002021f, 0.005227f, -0.051473f, -0.083223f, 0.088220f, 0.306289f, 0.058822f, 0.091873f, -0.188610f, -0.262493f, -0.109521f, -0.137513f, 0.106184f, 0.245877f, 0.141527f, 0.094835f, 0.009605f, -0.135710f, -0.119919f, -0.120163f, -0.048987f, 0.067946f, 0.058184f, 0.061910f, 0.055880f, -0.002014f, -0.008925f, -0.014390f, -0.019234f, -0.028614f, -0.003737f, 0.037459f, -0.003232f, -0.022023f, -0.008457f, -0.031745f, -0.017647f, -0.005669f, -0.007739f, + 0.060200f, 0.056250f, 0.033025f, 0.035756f, 0.001646f, -0.043483f, -0.044644f, -0.081441f, -0.054523f, 0.007615f, 0.006465f, 0.016788f, 0.047940f, 0.068697f, 0.040952f, 0.034674f, -0.001778f, -0.038673f, -0.054225f, -0.046483f, -0.039334f, 0.005760f, 0.013742f, 0.025274f, 0.017139f, 0.011700f, 0.002288f, -0.013973f, 0.005327f, 0.001541f, 0.005690f, 0.034250f, -0.003419f, 0.015272f, 0.015267f, -0.025155f, -0.048155f, -0.049147f, -0.044727f, 0.012015f, 0.036237f, 0.026646f, 0.039670f, 0.035395f, -0.012055f, 0.009054f, 0.021511f, -0.013819f, -0.013408f, -0.030465f, -0.039802f, -0.015145f, -0.009608f, -0.003890f, 0.016473f, 0.008047f, 0.008768f, 0.026884f, 0.025073f, 0.026471f, 0.014697f, 0.006930f, -0.013424f, -0.016048f, -0.040912f, -0.044315f, -0.031874f, -0.022922f, 0.009765f, 0.029350f, 0.036332f, 0.049389f, 0.034819f, 0.022680f, 0.000041f, -0.014970f, -0.024322f, -0.050511f, -0.054143f, -0.018724f, 0.009332f, 0.026062f, 0.020271f, 0.018239f, 0.020291f, 0.015187f, -0.001292f, -0.003501f, 0.001884f, 0.000898f, -0.009229f, -0.007666f, -0.027502f, -0.017506f, -0.001044f, 0.010226f, + 0.013125f, 0.011013f, -0.004334f, -0.000055f, 0.009614f, 0.008209f, 0.000328f, 0.005854f, 0.004520f, -0.002699f, -0.013060f, -0.011052f, -0.011327f, -0.002052f, -0.003143f, 0.000322f, 0.002158f, 0.011912f, 0.012402f, 0.011776f, 0.004800f, 0.003328f, -0.004566f, -0.003270f, -0.003263f, 0.000555f, -0.001313f} + }, + { + {0.004058f, 0.011758f, 0.000993f, 0.007867f, -0.001811f, -0.001158f, -0.004253f, 0.008388f, 0.005298f, -0.004945f, -0.006519f, 0.004220f, -0.001670f, -0.010017f, -0.011604f, 0.002738f, 0.000564f, -0.003925f, -0.003967f, -0.007815f, 0.004968f, -0.009191f, 0.002333f, -0.000918f, 0.002063f, 0.000742f, 0.001950f, -0.004138f, -0.000619f, 0.001614f, 0.002620f, -0.000956f, 0.003209f, 0.002342f, -0.004093f, 0.003055f, -0.002485f, -0.007841f, 0.011092f, -0.002151f, 0.000484f, 0.002632f, -0.001416f, 0.006113f, 0.007813f, -0.001698f, 0.002917f, 0.005873f, 0.000471f, -0.006270f, -0.004812f, 0.001551f, 0.003701f, -0.001915f, 0.002011f, 0.007211f, -0.006392f, -0.005755f, 0.005980f, 0.001125f, -0.002411f, -0.003895f, -0.000198f, 0.001353f, 0.004528f, -0.007314f, 0.003556f, 0.001838f, -0.005723f, -0.006175f, 0.005220f, -0.003369f, -0.007575f, -0.003242f, -0.000744f, 0.011367f, 0.013114f, -0.001154f, 0.002145f, -0.001656f, 0.001983f, -0.002187f, 0.003454f, 0.002107f, -0.002211f, -0.000747f, -0.002346f, 0.001108f, -0.003115f, 0.002882f, 0.002542f, 0.000573f, -0.003643f, 0.000413f, -0.000217f, 0.001555f, + -0.000978f, 0.002421f, -0.001312f, 0.000421f, 0.000108f, 0.001499f, -0.000387f, 0.000513f, 0.000390f, 0.001549f, -0.000129f, -0.014467f, -0.006246f, -0.009983f, 0.006543f, -0.004846f, -0.006772f, -0.004598f, -0.006073f, -0.001216f, 0.002244f, 0.010931f, 0.001890f, -0.005854f, 0.009236f, 0.000352f, 0.009520f, -0.009158f, 0.014743f, 0.006831f, 0.015993f, -0.002880f, -0.005445f, -0.001110f, -0.008802f, -0.000760f, -0.000630f, -0.003200f, 0.002988f, 0.000284f, -0.006991f, -0.001707f, -0.000029f, 0.002152f, 0.006935f, 0.001588f, -0.010453f, -0.008716f, -0.003306f, 0.005856f, 0.000385f, 0.000275f, -0.005302f, 0.008687f, -0.000243f, 0.000623f, -0.003759f, 0.001094f, -0.002274f, 0.004551f, -0.001488f, 0.014490f, 0.000115f, -0.001926f, 0.005489f, -0.003680f, -0.006536f, -0.002719f, 0.004904f, 0.008736f, 0.001442f, 0.005343f, 0.001309f, 0.000886f, -0.004619f, -0.004520f, -0.007393f, -0.000350f, -0.007664f, 0.001880f, 0.006218f, 0.006630f, 0.004661f, -0.002391f, -0.003406f, 0.005949f, -0.004254f, -0.001794f, 0.003714f, -0.003434f, -0.000616f, -0.001798f, 0.003844f, 0.006843f, 0.003527f, 0.001989f, + -0.001754f, -0.000797f, 0.001222f, -0.000711f, 0.004582f, 0.000755f, -0.002262f, -0.001357f, -0.001048f, -0.000337f, 0.000627f, 0.000545f, 0.000056f, -0.000740f, 0.002114f, 0.001327f, 0.000086f, 0.000799f, -0.001682f, -0.001086f, -0.001347f, -0.001579f, -0.000571f, -0.001766f, -0.001727f, -0.000398f, 0.002164f, 0.010111f, 0.010939f, 0.005775f, 0.000018f, 0.008919f, -0.004806f, -0.007589f, 0.007407f, 0.007686f, 0.009769f, 0.014357f, 0.001400f, -0.009147f, 0.005358f, -0.008724f, -0.000527f, 0.002919f, 0.002158f, 0.015990f, 0.001334f, -0.012875f, -0.000518f, 0.002298f, 0.005491f, -0.000930f, -0.004286f, -0.014175f, -0.002696f, 0.012030f, 0.004252f, 0.007912f, 0.009362f, 0.007702f, 0.002243f, -0.001341f, 0.008333f, -0.010530f, -0.000225f, -0.007159f, 0.019309f, -0.001042f, 0.000635f, 0.008552f, -0.007029f, -0.001121f, 0.003101f, -0.001078f, 0.011554f, -0.001770f, 0.003556f, 0.010965f, -0.002040f, 0.003438f, 0.001003f, -0.000531f, -0.000018f, -0.001443f, -0.003080f, 0.004739f, 0.006453f, -0.001541f, 0.006423f, 0.002309f, 0.012622f, 0.014326f, -0.000678f, 0.003830f, 0.002454f, -0.007236f, + 0.007184f, -0.001772f, -0.005952f, 0.002526f, 0.007075f, 0.001975f, -0.001747f, 0.012695f, -0.001727f, 0.003447f, 0.003886f, 0.001880f, -0.006372f, -0.000374f, -0.001243f, 0.001024f, -0.003332f, -0.000703f, 0.000457f, 0.001348f, 0.001430f, 0.002336f, -0.000754f, 0.001142f, -0.003096f, -0.002148f, -0.003856f, 0.002987f, 0.001054f, -0.000584f, 0.001253f, -0.000541f, -0.003156f, 0.002024f, 0.000372f, 0.001466f, -0.000925f, -0.001127f, 0.000623f, 0.003774f, -0.003858f, 0.015984f, 0.015623f, -0.006138f, -0.008976f, -0.007806f, -0.005394f, 0.004044f, -0.017122f, -0.001632f, 0.002348f, -0.008148f, -0.015170f, 0.014749f, -0.003201f, -0.003655f, 0.002331f, 0.006829f, 0.006016f, -0.007451f, -0.003009f, -0.000245f, -0.000842f, 0.003601f, 0.005154f, -0.002782f, 0.006345f, -0.004698f, 0.009742f, -0.001092f, 0.000375f, -0.004916f, 0.005137f, 0.001989f, -0.001506f, -0.004893f, 0.002348f, -0.002737f, -0.004377f, -0.003567f, 0.000858f, 0.003314f, -0.009248f, 0.000894f, -0.017438f, -0.009972f, 0.006260f, -0.002519f, 0.002076f, 0.004000f, 0.011471f, -0.003585f, -0.005784f, -0.000290f, 0.000363f, 0.004943f, + 0.004645f, -0.005256f, -0.002359f, 0.012794f, 0.000490f, 0.002056f, 0.001085f, 0.005763f, -0.010563f, 0.000482f, 0.005364f, 0.009977f, 0.002076f, 0.004362f, 0.014990f, -0.003555f, -0.001399f, -0.007978f, 0.000119f, 0.002599f, 0.005258f, 0.000120f, -0.003217f, 0.004712f, -0.000379f, 0.008453f, 0.000097f, -0.000197f, 0.001040f, -0.010390f, -0.005405f, -0.006095f, 0.005885f, -0.000890f, -0.001674f, 0.000018f, 0.000798f, -0.000302f, 0.003105f, -0.000859f, -0.001725f, -0.002198f, -0.001109f, -0.003160f, -0.002094f, 0.002556f, 0.000184f, -0.000795f, -0.001622f, 0.000860f, 0.000683f, 0.000310f, -0.001419f, 0.002807f, 0.001200f, 0.001801f, -0.000361f, -0.000078f, -0.001855f, -0.001988f, 0.001418f, -0.000909f, 0.001903f, 0.002524f, -0.010122f, -0.015846f, 0.006802f, -0.005174f, 0.000325f, -0.008158f, 0.006355f, -0.018292f, -0.014991f, -0.017250f, -0.005781f, -0.003652f, -0.012014f, 0.006157f, 0.016524f, -0.012133f, 0.002579f, 0.019376f, -0.004447f, -0.005271f, -0.008876f, 0.001588f, -0.000017f, 0.008596f, 0.002840f, 0.006184f, 0.004358f, -0.006287f, -0.012269f, -0.005839f, 0.007382f, -0.004155f, + -0.007492f, 0.001918f, 0.003141f, 0.002438f, 0.001595f, 0.016874f, -0.007925f, 0.009195f, -0.004359f, 0.004626f, -0.004875f, 0.014043f, -0.010408f, 0.005743f, -0.000829f, -0.008317f, 0.007800f, -0.003076f, -0.002728f, 0.008380f, 0.004479f, -0.000703f, -0.003663f, 0.007618f, 0.003777f, -0.007805f, -0.009342f, 0.006431f, 0.010393f, 0.005850f, 0.000266f, -0.004498f, 0.000551f, 0.006625f, -0.002827f, 0.008004f, -0.001858f, -0.016262f, 0.000535f, -0.007136f, 0.023193f, 0.008102f, -0.013167f, -0.007418f, -0.002583f, -0.005962f, 0.005995f, 0.005804f, 0.004410f, -0.002834f, 0.005098f, 0.004099f, 0.001455f, -0.000970f, -0.006793f, 0.001353f, 0.002357f, -0.001941f, 0.001582f, 0.002374f, -0.000897f, -0.000284f, 0.001511f, -0.000430f, -0.002009f, -0.001688f, 0.000176f, 0.001781f, -0.001833f, 0.001685f, 0.001997f, -0.002549f, -0.003243f, -0.004102f, 0.000144f, 0.002440f, -0.001104f, 0.002167f, -0.001752f, -0.000168f, 0.001658f, -0.001166f, 0.000702f, 0.006077f, -0.013485f, -0.016445f, 0.014169f, -0.002953f, -0.013418f, 0.001215f, -0.003452f, 0.013855f, 0.006852f, -0.003399f, 0.002568f, -0.000577f, + -0.002043f, -0.002343f, 0.016000f, 0.003250f, 0.000875f, -0.010791f, -0.004971f, -0.002429f, 0.005623f, 0.007151f, 0.021540f, 0.000668f, 0.000730f, -0.000530f, 0.001488f, -0.009332f, 0.000451f, 0.004041f, -0.011742f, -0.008178f, -0.007596f, -0.000836f, 0.015752f, -0.012665f, 0.002203f, 0.007311f, 0.003136f, -0.005854f, 0.006572f, -0.015841f, 0.013080f, -0.002700f, 0.000022f, 0.007216f, -0.008056f, -0.009338f, -0.014653f, 0.003235f, -0.004782f, 0.014023f, 0.004849f, 0.000465f, 0.002665f, 0.004349f, 0.010920f, -0.004702f, -0.002385f, 0.011506f, -0.002326f, -0.006379f, -0.000226f, 0.011513f, 0.011562f, 0.010648f, 0.005714f, -0.006902f, 0.006775f, 0.009641f, -0.011247f, 0.014517f, -0.008799f, -0.008128f, 0.013070f, 0.001475f, 0.018853f, -0.000141f, -0.010571f, 0.004750f, -0.004706f, 0.012581f, 0.005964f, 0.003533f, 0.000847f, 0.004372f, -0.002199f, 0.007938f, 0.002738f, 0.003206f, 0.002372f, 0.004682f, -0.000367f, -0.000306f, 0.003596f, -0.000056f, 0.002640f, -0.001332f, 0.004352f, 0.008974f, -0.005180f, -0.002303f, 0.001567f, 0.001189f, 0.000570f, 0.002336f, -0.000451f, 0.000785f, + 0.001827f, 0.004433f, 0.000316f, 0.008265f, 0.001950f, 0.001024f, -0.003685f, 0.000999f, 0.002708f, -0.003616f, 0.000800f, 0.001676f, -0.000224f, 0.001117f, -0.029522f, -0.019450f, 0.005230f, 0.009484f, 0.020186f, -0.012302f, 0.010832f, 0.002018f, 0.011408f, -0.000582f, -0.005327f, -0.006934f, 0.007043f, 0.020914f, 0.001764f, -0.001831f, -0.019957f, -0.016690f, 0.000102f, -0.012267f, -0.007225f, 0.000717f, 0.002508f, -0.012572f, -0.003772f, 0.003056f, 0.007377f, 0.003946f, -0.008144f, -0.000018f, 0.009378f, 0.007653f, 0.001578f, -0.007705f, 0.001416f, -0.004709f, 0.002264f, 0.002646f, 0.004295f, -0.005928f, 0.007443f, 0.018229f, -0.001864f, -0.001342f, 0.003523f, -0.010138f, 0.004783f, 0.014687f, -0.014471f, -0.017036f, -0.008835f, 0.001433f, -0.022096f, 0.000572f, 0.000620f, 0.003108f, 0.000203f, -0.000297f, -0.010497f, -0.005622f, -0.006822f, -0.000899f, 0.015014f, 0.022214f, 0.000617f, 0.001494f, 0.010812f, -0.004500f, -0.001866f, 0.005059f, 0.024946f, 0.003192f, 0.008960f, 0.017565f, 0.003192f, -0.011333f, 0.004708f, 0.005280f, -0.005261f, 0.005434f, 0.004499f, -0.001128f, + -0.005440f, 0.002603f, 0.001585f, -0.001131f, -0.009287f, 0.004138f, 0.008502f, 0.003235f, 0.006192f, 0.003514f, 0.007475f, -0.001567f, -0.002821f, 0.006945f, 0.005714f, -0.001720f, -0.000392f, -0.002003f, 0.004919f, 0.005405f, -0.004322f, 0.005371f, 0.001421f, 0.000717f, 0.001328f, 0.002947f, 0.003982f, 0.000583f, 0.003479f, -0.002296f, -0.001267f, 0.000048f, -0.000629f, 0.001493f, -0.002327f, 0.000420f, -0.000702f, 0.001092f, -0.003134f, 0.015276f, 0.009445f, -0.013940f, -0.000693f, 0.030221f, 0.026538f, 0.005733f, 0.015974f, 0.019972f, 0.004934f, -0.000171f, 0.012964f, -0.005780f, 0.000070f, -0.011716f, 0.009601f, -0.000692f, 0.000407f, 0.004477f, 0.005077f, 0.016502f, -0.013890f, -0.012491f, 0.012453f, 0.002676f, 0.005645f, -0.009728f, 0.001699f, -0.003333f, 0.006367f, 0.000201f, 0.008967f, 0.008993f, -0.009129f, 0.007631f, 0.006202f, -0.010304f, 0.026621f, 0.004772f, 0.005111f, -0.020617f, -0.006740f, -0.001564f, 0.017219f, 0.016239f, -0.001745f, -0.017684f, 0.011514f, -0.015364f, -0.004911f, 0.013647f, -0.000503f, -0.010867f, 0.013117f, 0.016728f, -0.004348f, 0.005706f, + -0.006807f, -0.023210f, 0.000019f, 0.015047f, -0.006990f, -0.007873f, 0.009713f, -0.011081f, -0.017101f, 0.004320f, 0.011391f, 0.021081f, 0.010875f, -0.015621f, 0.006459f, -0.018369f, -0.021893f, 0.020187f, 0.009319f, 0.007450f, -0.013653f, -0.014501f, -0.002323f, 0.015241f, 0.004922f, 0.021732f, 0.009467f, 0.005558f, -0.023121f, 0.003814f, -0.006535f, 0.000971f, -0.005497f, 0.004881f, 0.001315f, 0.005888f, 0.009583f, 0.005165f, 0.000735f, 0.004378f, -0.003958f, -0.001802f, -0.004031f, 0.000032f, -0.003783f, -0.001002f, 0.001307f, 0.007333f, 0.001136f, -0.002940f, -0.001430f, 0.002398f, 0.000191f, -0.000570f, -0.007527f, 0.000482f, -0.003915f, 0.001476f, -0.005393f, -0.005720f, 0.003722f, 0.004637f, 0.007097f, -0.007040f, 0.031260f, 0.020053f, -0.013550f, -0.003712f, -0.000516f, 0.005466f, 0.004409f, -0.001980f, -0.012221f, 0.002955f, -0.008379f, 0.012996f, 0.000405f, 0.005003f, -0.004254f, -0.001944f, -0.012755f, -0.006800f, 0.026871f, 0.008872f, -0.016389f, 0.007744f, -0.016010f, -0.011320f, -0.025042f, 0.010872f, 0.000415f, 0.000373f, 0.005929f, -0.000712f, -0.011358f, 0.018860f, + 0.010797f, -0.004189f, -0.019028f, 0.019026f, -0.013065f, 0.005001f, -0.000496f, 0.006214f, 0.003757f, 0.012079f, 0.013960f, -0.003289f, 0.007729f, 0.022098f, 0.002835f, -0.006974f, -0.006336f, -0.003948f, 0.003434f, 0.014740f, -0.004063f, 0.005972f, 0.001160f, -0.013565f, 0.000517f, -0.003365f, 0.006599f, -0.020387f, -0.000344f, -0.033965f, -0.020572f, -0.018966f, -0.004792f, -0.018742f, 0.012578f, -0.004710f, -0.015485f, -0.004200f, -0.001740f, -0.012577f, -0.005447f, -0.000481f, 0.001260f, -0.007559f, -0.016269f, -0.016332f, 0.000879f, -0.003576f, 0.003982f, 0.009102f, -0.001455f, 0.004536f, 0.002279f, -0.000111f, -0.000266f, -0.008913f, -0.000378f, -0.000219f, -0.007125f, -0.000623f, 0.006720f, 0.012875f, -0.002230f, -0.006212f, 0.004843f, -0.008031f, 0.006768f, -0.006711f, -0.002484f, 0.001251f, -0.004854f, -0.006035f, -0.000031f, -0.003781f, 0.000942f, -0.001433f, -0.006026f, 0.002935f, -0.000235f, 0.007496f, 0.005084f, -0.005351f, 0.004560f, -0.003006f, 0.004243f, -0.002474f, 0.002889f, 0.002611f, 0.002070f, 0.000116f, 0.003034f, -0.003554f, -0.001866f, -0.003946f, -0.007856f, 0.001001f, + 0.002884f, -0.000862f, 0.001739f, -0.006225f, -0.021293f, -0.026768f, -0.012523f, -0.017818f, 0.046137f, -0.022339f, 0.010560f, -0.021097f, -0.005918f, 0.002217f, -0.003279f, -0.031435f, -0.000524f, -0.014941f, 0.001250f, 0.037008f, -0.011711f, 0.015525f, 0.020507f, 0.007356f, 0.008417f, 0.022255f, 0.006760f, -0.008674f, 0.006462f, 0.008721f, 0.009528f, 0.003980f, -0.004495f, 0.025901f, 0.001121f, -0.002091f, -0.004209f, 0.007017f, -0.002083f, -0.009028f, 0.008898f, -0.003348f, 0.006419f, -0.025108f, 0.001176f, -0.004862f, 0.022835f, -0.008973f, 0.007453f, 0.034034f, -0.002841f, 0.000701f, -0.008186f, -0.014083f, -0.000685f, -0.002321f, -0.014277f, 0.018073f, -0.003777f, 0.013110f, 0.001511f, 0.012380f, -0.007077f, -0.001350f, 0.027328f, 0.013302f, -0.021025f, -0.011078f, 0.005869f, 0.006529f, 0.003343f, 0.005788f, -0.006073f, 0.007688f, 0.010082f, 0.022594f, -0.028943f, 0.001733f, -0.012326f, 0.005907f, -0.000442f, 0.003307f, 0.010772f, 0.015516f, -0.010292f, 0.010958f, -0.007434f, -0.005112f, -0.004123f, -0.003886f, 0.008820f, -0.019772f, -0.003821f, -0.009134f, 0.011391f, 0.009152f, + 0.003964f, 0.004709f, -0.006570f, 0.007559f, 0.003519f, 0.005440f, -0.000731f, 0.004313f, -0.005830f, -0.003304f, -0.007325f, -0.000626f, -0.001172f, -0.006617f, -0.000087f, -0.000689f, -0.001757f, -0.000092f, 0.007842f, 0.004805f, -0.004316f, -0.007077f, 0.003692f, 0.002681f, 0.008987f, -0.006936f, 0.000541f, -0.002502f, 0.004031f, 0.004584f, -0.003771f, -0.007136f, -0.015273f, -0.013532f, -0.014776f, 0.016012f, -0.030909f, -0.008991f, -0.019393f, 0.009715f, 0.031896f, -0.017297f, 0.000873f, 0.001017f, -0.006329f, 0.012439f, -0.010356f, 0.005069f, -0.003258f, -0.013048f, 0.028454f, 0.001537f, -0.009359f, 0.000526f, -0.004228f, -0.012500f, 0.009898f, -0.009549f, 0.009290f, -0.017937f, -0.008441f, 0.012294f, 0.008896f, -0.030047f, -0.005459f, -0.025569f, 0.007616f, -0.004187f, -0.024741f, 0.030233f, -0.008458f, -0.000476f, -0.022887f, -0.024954f, 0.001432f, -0.022487f, -0.002976f, -0.019413f, -0.016691f, 0.019831f, 0.002161f, -0.025285f, 0.008320f, -0.022620f, 0.020251f, 0.007435f, -0.009833f, 0.000886f, 0.006508f, 0.021398f, -0.016477f, -0.023195f, 0.023575f, -0.016357f, -0.009393f, 0.012466f, + 0.017799f, -0.032918f, -0.016247f, 0.018887f, 0.013963f, 0.007391f, -0.001730f, 0.002432f, -0.023724f, 0.008256f, 0.007912f, 0.013194f, -0.004176f, -0.024997f, -0.018198f, 0.008989f, -0.021657f, -0.018860f, 0.007994f, -0.001152f, 0.000298f, 0.008012f, 0.018294f, 0.000128f, -0.000766f, 0.017138f, 0.001585f, -0.002672f, 0.002921f, -0.002222f, -0.003463f, 0.003771f, -0.004478f, -0.003063f, -0.008597f, -0.008132f, -0.005869f, 0.001612f, -0.004883f, 0.000171f, 0.003484f, 0.002873f, -0.000475f, -0.000004f, 0.003729f, -0.004213f, -0.006819f, 0.002154f, -0.000222f, 0.006620f, -0.006282f, -0.001694f, -0.007122f, 0.008374f, 0.008737f, 0.001987f, -0.000433f, -0.005288f, -0.002184f, -0.007478f, 0.000653f, 0.001331f, -0.004246f, 0.001426f, 0.001729f, 0.015709f, -0.024244f, -0.039527f, -0.031925f, 0.014384f, -0.038170f, -0.001846f, 0.028895f, -0.002561f, 0.002054f, 0.020749f, -0.013798f, -0.011737f, 0.045934f, -0.018202f, 0.010727f, 0.017488f, -0.003274f, -0.041665f, -0.003496f, 0.004395f, -0.010507f, -0.005775f, -0.009728f, 0.038876f, 0.000340f, 0.000441f, -0.001948f, -0.028004f, 0.005091f, -0.016124f, + -0.008138f, 0.001744f, 0.004646f, 0.008299f, 0.022537f, 0.005015f, -0.005858f, 0.044420f, 0.004635f, -0.010986f, -0.040660f, -0.005928f, 0.029753f, -0.006467f, -0.018684f, -0.024998f, -0.022063f, -0.018802f, -0.011877f, 0.031597f, 0.012239f, 0.001817f, 0.017513f, 0.026398f, 0.014673f, -0.005750f, -0.004682f, 0.027286f, -0.005438f, -0.008368f, 0.007875f, 0.020866f, 0.002920f, -0.021442f, 0.004877f, -0.002164f, -0.032106f, -0.002422f, 0.025451f, -0.012633f, -0.014792f, -0.003587f, 0.034234f, -0.027292f, -0.005529f, -0.015229f, 0.015605f, 0.009089f, 0.007200f, 0.010967f, -0.004554f, -0.005882f, 0.011553f, 0.009268f, 0.006354f, -0.001873f, 0.001374f, 0.007294f, -0.020207f, -0.003725f, 0.002582f, -0.010433f, 0.000211f, 0.011015f, -0.001173f, 0.002033f, -0.004389f, -0.001257f, 0.005981f, 0.007780f, 0.011623f, 0.006558f, -0.002013f, 0.004151f, -0.006733f, -0.008519f, 0.002387f, -0.001672f, -0.006979f, 0.007704f, 0.004049f, 0.005827f, 0.001190f, 0.002820f, 0.005944f, 0.003313f, -0.001778f, -0.004290f, -0.001173f, 0.002425f, -0.000030f, 0.002458f, 0.000462f, 0.003049f, 0.001813f, 0.005220f, + 0.000629f, -0.005026f, 0.011056f, 0.009074f, -0.008577f, -0.002897f, -0.004126f, 0.032345f, 0.003243f, -0.028873f, -0.001077f, 0.008675f, -0.001051f, -0.013155f, 0.012528f, -0.009729f, 0.025706f, -0.019769f, 0.017663f, 0.038640f, -0.010457f, -0.010274f, -0.009110f, -0.008020f, 0.034479f, -0.025538f, -0.028091f, -0.021412f, 0.007821f, -0.011161f, -0.018084f, -0.008297f, 0.012385f, -0.017310f, 0.009586f, 0.002296f, 0.013528f, 0.020113f, 0.002472f, -0.002541f, -0.003857f, 0.019827f, -0.005102f, 0.007025f, -0.024269f, -0.000187f, -0.008643f, 0.019335f, -0.025790f, 0.021210f, -0.008909f, -0.013263f, 0.021326f, 0.036980f, -0.020767f, 0.010548f, -0.004584f, 0.007528f, -0.055474f, -0.043954f, -0.026681f, 0.003881f, -0.016924f, 0.007345f, 0.001815f, -0.020576f, -0.016273f, 0.001826f, 0.044230f, 0.010461f, -0.027549f, -0.041165f, -0.021730f, -0.015175f, 0.027112f, -0.018747f, -0.026827f, 0.006467f, 0.005905f, -0.024779f, -0.001546f, -0.000363f, -0.012295f, -0.002778f, -0.000635f, -0.000982f, 0.012169f, 0.003051f, -0.014247f, -0.012602f, -0.006935f, -0.018193f, -0.009915f, 0.003105f, 0.020590f, 0.003534f, + 0.003887f, -0.005869f, -0.016836f, -0.002522f, 0.013859f, -0.000561f, -0.007807f, 0.012807f, -0.019198f, -0.009351f, 0.002942f, 0.003161f, -0.000267f, 0.002252f, 0.001411f, -0.006384f, -0.013419f, -0.004723f, 0.010341f, -0.005853f, -0.004735f, -0.005257f, -0.011964f, -0.013173f, 0.005046f, -0.004640f, -0.002841f, -0.012394f, 0.003170f, 0.008381f, 0.010028f, -0.000271f, -0.005911f, -0.006830f, 0.007251f, 0.006606f, 0.055551f, 0.036440f, -0.009604f, 0.003749f, 0.035919f, -0.014115f, 0.001173f, 0.015539f, 0.038884f, 0.022936f, -0.006856f, -0.008590f, -0.013540f, 0.003598f, -0.007496f, 0.000701f, 0.000903f, 0.041115f, 0.067758f, -0.003874f, 0.046709f, 0.029661f, 0.005957f, 0.007442f, -0.033462f, -0.032989f, -0.003871f, 0.008870f, -0.002498f, 0.008220f, -0.012567f, -0.024675f, -0.041926f, -0.003495f, -0.027024f, -0.022654f, -0.015197f, -0.023454f, -0.017051f, -0.000828f, 0.038689f, -0.001135f, -0.029606f, -0.002382f, 0.008246f, 0.028919f, -0.009194f, -0.007218f, -0.017745f, 0.013177f, -0.052995f, -0.047387f, -0.023004f, -0.023591f, -0.025546f, -0.015307f, 0.016682f, -0.021267f, -0.029779f, -0.024813f, + -0.044460f, 0.022805f, 0.011983f, -0.039270f, 0.020006f, 0.039861f, 0.077777f, 0.043101f, -0.000678f, 0.014327f, -0.045059f, -0.018264f, 0.023956f, 0.020505f, -0.011698f, -0.030263f, 0.003744f, 0.006460f, 0.027385f, -0.003421f, -0.028546f, -0.004866f, 0.044967f, 0.028950f, 0.032495f, 0.026108f, 0.045354f, 0.043002f, 0.012654f, 0.011757f, -0.010266f, -0.017941f, -0.005253f, -0.001481f, -0.015658f, 0.000039f, -0.018063f, -0.013204f, 0.020457f, 0.009285f, -0.005867f, -0.017876f, -0.007091f, -0.002055f, -0.000527f, -0.019909f, 0.019702f, 0.000350f, -0.016977f, 0.010117f, -0.010561f, -0.008571f, -0.002807f, 0.006338f, 0.027269f, 0.013564f, 0.032674f, 0.000242f, -0.006734f, 0.003861f, 0.012315f, 0.008478f, -0.004482f, 0.017477f, 0.000595f, -0.005502f, 0.002331f, 0.014490f, -0.007325f, -0.005964f, 0.005117f, -0.001100f, -0.057748f, -0.005209f, 0.092137f, -0.006513f, 0.003050f, 0.023321f, -0.034059f, 0.019174f, 0.065216f, 0.060733f, -0.061443f, -0.058342f, -0.000372f, -0.063319f, -0.024424f, 0.000110f, 0.006956f, 0.023373f, 0.034503f, 0.030977f, 0.054020f, 0.013035f, 0.021020f, 0.021855f, + -0.009623f, -0.003718f, 0.005492f, 0.007341f, 0.015630f, -0.029039f, 0.064959f, 0.028211f, 0.030076f, -0.005557f, 0.065957f, 0.008373f, 0.039560f, 0.016721f, 0.012035f, -0.015527f, -0.010662f, 0.033985f, 0.012510f, 0.015852f, -0.036229f, -0.019000f, -0.030350f, -0.017317f, -0.022232f, -0.000021f, -0.043778f, -0.046872f, -0.003314f, -0.018016f, -0.089136f, -0.065857f, -0.060276f, 0.017076f, 0.063948f, 0.083639f, -0.046791f, 0.057672f, 0.088997f, 0.015325f, 0.006936f, -0.005682f, 0.061029f, 0.004726f, 0.055140f, 0.024012f, 0.025461f, -0.037183f, -0.123741f, -0.097463f, -0.022701f, -0.003328f, 0.001909f, 0.004308f, 0.044773f, 0.042966f, 0.036704f, -0.023360f, 0.002252f, -0.012230f, -0.064211f, 0.006340f, 0.004271f, 0.031812f, 0.004146f, 0.046812f, 0.041575f, 0.010388f, 0.036044f, -0.015737f, 0.024126f, -0.022300f, -0.025792f, -0.009364f, 0.009020f, 0.040590f, -0.010077f, -0.011684f, 0.005093f, -0.020393f, -0.010817f, 0.020405f, -0.006825f, 0.014008f, -0.026672f, 0.034718f, 0.009597f, 0.000061f, -0.003436f, 0.026601f, -0.007666f, 0.001542f, 0.003326f, -0.000901f, 0.017204f, -0.013606f, + -0.007870f, -0.000597f, 0.016447f, -0.026620f, 0.002333f, 0.008883f, -0.013968f, 0.001476f, 0.003558f, 0.002744f, -0.007001f, 0.045172f, -0.010145f, -0.080768f, -0.007395f, 0.129357f, 0.023333f, -0.023806f, 0.033018f, -0.010303f, 0.021399f, -0.009961f, -0.014260f, -0.042120f, -0.016255f, -0.004248f, -0.007385f, -0.019965f, 0.030246f, -0.027187f, -0.029901f, -0.001643f, 0.004456f, 0.027431f, 0.011878f, 0.007839f, 0.011255f, -0.010626f, -0.000039f, 0.040772f, -0.020897f, -0.047687f, -0.009911f, 0.004642f, -0.016524f, 0.034013f, -0.017842f, -0.010892f, 0.028024f, 0.008387f, 0.021093f, -0.049272f, -0.056260f, 0.019058f, -0.011084f, -0.018594f, -0.024256f, -0.029122f, -0.061923f, 0.000631f, -0.005686f, 0.021048f, -0.039749f, -0.081835f, 0.061376f, 0.017449f, 0.057674f, 0.006942f, -0.018980f, -0.016953f, 0.014807f, -0.030494f, 0.047773f, 0.010065f, 0.057396f, 0.040756f, 0.085355f, -0.007963f, -0.082528f, -0.063429f, -0.036642f, 0.047824f, 0.047261f, -0.035645f, 0.037467f, 0.075396f, -0.044432f, -0.006305f, 0.080220f, 0.013019f, 0.061546f, -0.008693f, -0.031929f, -0.083286f, -0.032896f, 0.009935f, + 0.053132f, 0.047100f, -0.027867f, 0.023891f, 0.021678f, 0.044688f, 0.014911f, -0.043625f, -0.052507f, -0.020116f, 0.035700f, 0.077006f, -0.002291f, -0.006484f, 0.039479f, 0.021414f, 0.003264f, -0.006213f, -0.017131f, -0.020320f, -0.017073f, 0.013435f, 0.007644f, 0.024621f, -0.010540f, -0.002468f, 0.001940f, 0.015015f, 0.018543f, -0.023921f, 0.000057f, 0.027765f, -0.003486f, -0.007685f, -0.030814f, 0.022409f, -0.000420f, -0.012795f, -0.009719f, 0.030902f, -0.001813f, -0.019365f, -0.010884f, -0.068042f, 0.070546f, 0.095724f, 0.016669f, 0.004346f, 0.021258f, -0.014612f, 0.041758f, 0.023360f, 0.043638f, -0.008853f, -0.046115f, 0.102416f, 0.000571f, -0.038511f, 0.004717f, 0.069246f, 0.031689f, 0.013567f, -0.043909f, 0.004742f, -0.023524f, -0.017176f, 0.006836f, -0.032669f, 0.002724f, 0.008759f, 0.039330f, -0.055928f, -0.009556f, -0.006734f, 0.033205f, -0.012681f, -0.020700f, -0.019692f, -0.000319f, 0.021156f, -0.043530f, 0.003125f, 0.011390f, -0.088982f, 0.012189f, -0.024158f, -0.062759f, 0.041155f, -0.046411f, -0.081325f, 0.107214f, -0.000910f, 0.006118f, -0.008547f, -0.029946f, 0.064662f, + -0.045916f, -0.004402f, 0.009526f, -0.029664f, -0.002544f, 0.081720f, 0.042179f, -0.072299f, -0.078246f, 0.076918f, -0.036920f, 0.044756f, 0.073800f, -0.066516f, -0.114408f, -0.079236f, 0.131722f, -0.007993f, -0.103618f, 0.094390f, -0.069162f, -0.131367f, -0.002294f, 0.112936f, -0.005129f, -0.136339f, -0.002199f, -0.046037f, 0.000982f, 0.167633f, -0.025893f, -0.123820f, 0.017650f, 0.065533f, 0.001100f, 0.076670f, 0.004171f, 0.001264f, -0.024657f, 0.002861f, 0.017269f, 0.061823f, -0.013322f, -0.017040f, 0.061131f, -0.008516f, 0.014304f, 0.042765f, -0.007748f, -0.063019f, 0.040539f, 0.029346f, 0.047535f, -0.015197f, -0.001525f, 0.016707f, -0.014220f, -0.046501f, -0.020773f, 0.018696f, 0.001003f, -0.009444f, 0.060372f, -0.002193f, -0.068136f, 0.015437f, 0.054824f, 0.031684f, -0.024037f, 0.002652f, -0.027488f, -0.015435f, 0.066559f, 0.055863f, -0.015185f, -0.064896f, -0.021210f, 0.026062f, 0.021020f, 0.017149f, -0.012738f, -0.002802f, -0.045145f, 0.069381f, -0.013442f, 0.020440f, 0.045486f, 0.031235f, 0.034619f, 0.081757f, 0.036374f, -0.021184f, 0.013679f, 0.019458f, 0.027579f, -0.030858f, + 0.080093f, 0.074181f, 0.011047f, 0.025070f, -0.017781f, -0.000991f, -0.080559f, 0.036346f, -0.042259f, 0.027962f, -0.002720f, -0.030779f, 0.044570f, -0.018459f, -0.032237f, 0.016655f, -0.045767f, 0.029815f, 0.001908f, -0.009774f, 0.013399f, 0.018264f, 0.029374f, 0.028508f, 0.028639f, 0.083188f, -0.007667f, 0.008202f, 0.027205f, 0.055728f, -0.004969f, 0.014100f, 0.000823f, 0.043371f, 0.053246f, -0.018129f, 0.013292f, -0.003319f, -0.007956f, -0.097140f, 0.008341f, 0.040014f, -0.022346f, -0.024509f, 0.021957f, -0.041049f, -0.058965f, 0.004336f, 0.034499f, 0.070061f, -0.090594f, 0.033946f, -0.003998f, -0.003541f, 0.001091f, 0.034706f, 0.077184f, 0.000374f, -0.055133f, 0.017528f, 0.062769f, -0.034620f, -0.048415f, 0.003762f, 0.027928f, -0.027315f, 0.049857f, -0.010560f, 0.038484f, 0.002296f, -0.036985f, 0.045357f, 0.037971f, 0.005339f, 0.030104f, -0.017577f, 0.019065f, -0.010017f, 0.010416f, 0.014160f, 0.045496f, -0.010516f, -0.053589f, -0.008004f, 0.063615f, 0.003855f, -0.007287f, 0.054893f, 0.012391f, -0.001272f, 0.014168f, 0.037781f, 0.058400f, -0.038035f, 0.014945f, 0.006889f, + -0.002023f, 0.027331f, -0.007519f, -0.043005f, 0.014541f, 0.039058f, -0.016402f, 0.009466f, 0.014379f, -0.013999f, 0.016341f, -0.027702f, 0.019789f, 0.016133f, -0.022526f, -0.051282f, 0.022238f, 0.027646f, -0.012492f, -0.019311f, 0.027494f, -0.002987f, -0.015452f, 0.043238f, -0.082144f, -0.064982f, -0.000603f, -0.099968f, -0.033590f, -0.037344f, 0.077104f, -0.002779f, -0.027793f, 0.034670f, -0.017527f, 0.018971f, 0.005534f, -0.038504f, 0.045851f, -0.103014f, -0.009203f, 0.005676f, -0.025102f, 0.018349f, 0.005090f, -0.020536f, -0.003134f, 0.002476f, 0.026328f, 0.001020f, -0.029532f, -0.099953f, -0.072001f, -0.055767f, -0.026965f, 0.061114f, -0.011979f, 0.001806f, -0.099052f, 0.006953f, -0.006430f, -0.013987f, 0.003646f, -0.096755f, 0.052053f, -0.047223f, 0.024223f, -0.019613f, 0.066058f, -0.036272f, -0.062981f, -0.031010f, -0.000042f, 0.047079f, 0.087192f, 0.090608f, -0.111880f, -0.083628f, -0.056870f, 0.038294f, 0.092850f, 0.111303f, -0.018977f, -0.028498f, -0.097860f, -0.036924f, 0.088087f, 0.053079f, -0.000536f, -0.000397f, -0.001569f, -0.083535f, 0.056135f, -0.017102f, 0.054202f, 0.129568f, + -0.144674f, 0.175596f, 0.050254f, -0.095710f, 0.027205f, -0.191494f, -0.186220f, 0.137489f, 0.059367f, 0.013240f, 0.041671f, -0.071079f, -0.033419f, 0.128133f, -0.004327f, 0.086072f, -0.007911f, -0.069777f, -0.022087f, 0.076016f, -0.024811f, -0.001975f, 0.025360f, -0.006416f, -0.043895f, 0.024517f, -0.035519f, 0.016447f, 0.049277f, -0.050852f, 0.048553f, 0.015867f, -0.005796f, 0.017931f, -0.002296f, -0.011585f, 0.008625f, -0.017740f, 0.009685f, -0.036108f, 0.032559f, 0.033110f, 0.007470f, 0.000999f, -0.010374f, 0.016946f, 0.006940f, 0.006735f, 0.017208f, 0.031910f, -0.038920f, -0.013449f, -0.036061f, -0.028119f, 0.003668f, 0.001432f, 0.032394f, -0.041042f, -0.030672f, -0.039529f, -0.024200f, -0.010552f, -0.082967f, 0.068584f, -0.041119f, 0.042074f, 0.022419f, 0.026458f, 0.015756f, -0.053332f, 0.058138f, -0.008888f, -0.020621f, -0.019310f, -0.022886f, 0.017507f, -0.011971f, 0.025019f, 0.015151f, -0.003594f, -0.005969f, -0.044701f, 0.025916f, 0.010236f, -0.011304f, 0.009603f, 0.023535f, -0.006969f, 0.013402f, -0.022867f, 0.026771f, -0.010234f, 0.003530f, 0.010539f, 0.011448f, -0.012177f, + 0.041213f, -0.001911f, -0.038516f, -0.002875f, 0.017935f, 0.008477f, -0.029437f, 0.014053f, 0.034527f, -0.006787f, -0.016599f, -0.016640f, -0.002145f, 0.009157f, -0.004056f, 0.040099f, -0.027073f, -0.010725f, -0.009545f, -0.020620f, -0.001610f, -0.006509f, 0.014926f, 0.010408f, -0.016598f, -0.002825f, 0.015648f, -0.016642f, -0.008294f, -0.005178f, 0.025099f, -0.015749f, 0.010826f, 0.016502f, -0.038622f, -0.015886f, 0.012513f, -0.040675f, 0.061379f, 0.016112f, 0.019605f, 0.028009f, -0.017827f, -0.000732f, -0.005200f, -0.028079f, 0.005692f, 0.008946f, 0.022474f, -0.004670f, -0.009313f, 0.013415f, -0.014043f, -0.006035f, 0.013511f, -0.000063f, -0.003203f, 0.011128f, 0.003553f, -0.007443f, -0.000238f, -0.008192f, 0.017971f, -0.017108f, 0.027223f, 0.001026f, 0.006062f, -0.011493f, -0.000933f, -0.004286f, -0.008404f, -0.004624f, 0.006538f, 0.003118f, 0.007891f, -0.000303f, -0.006314f, -0.004422f, -0.020939f, 0.021101f, -0.016799f, 0.009497f, -0.003932f, 0.012287f, -0.006863f, -0.019713f, 0.001384f, 0.010095f, -0.016008f, 0.024064f, -0.019095f, 0.010499f, -0.007244f, 0.095946f, 0.012486f, -0.032495f, + -0.025268f, -0.018909f, -0.001859f, -0.003072f, 0.002075f, -0.002599f, -0.003742f, -0.054234f, 0.001146f, -0.010787f, -0.012563f, 0.006902f, -0.021341f, -0.009649f, 0.009839f, -0.014835f, 0.004188f, 0.016855f, -0.022800f, 0.014365f, -0.008466f, -0.012055f, -0.001971f, -0.012056f, 0.005607f, -0.011186f, -0.006017f, -0.013183f, -0.002619f, -0.000164f, -0.000347f, -0.007902f, -0.008284f, 0.002536f, 0.004288f, -0.009450f, 0.012805f, -0.015769f, -0.001439f, -0.006262f, -0.002051f, -0.002921f, -0.012585f, 0.017253f, 0.010521f, -0.017198f, 0.020959f, -0.002074f, 0.004448f, -0.009420f, 0.020112f, -0.020061f, 0.001487f, 0.001800f, 0.005299f, -0.003252f, -0.005236f, 0.015109f, -0.009993f, 0.002317f, 0.000779f, -0.002974f, 0.004790f, -0.006452f, -0.000923f, 0.008488f, -0.004235f, -0.003739f, 0.009503f, -0.003608f, -0.004163f, -0.008734f, 0.004587f, 0.004434f, -0.019595f, 0.023563f, -0.013244f, 0.005417f, 0.001609f, 0.000436f, -0.007594f, 0.003360f, 0.009644f, -0.007037f, -0.003631f, 0.005291f, -0.007214f, -0.000338f, 0.005907f, -0.002308f, 0.002353f, 0.001415f, -0.005346f, 0.001061f, 0.000691f, 0.004935f, + -0.008681f, 0.000847f, -0.000979f, -0.003290f, 0.003629f, -0.004137f, 0.002090f, -0.002632f, -0.007593f, 0.004387f, -0.006582f, -0.003651f, 0.002444f, -0.003987f, 0.001528f, 0.003963f, 0.000426f, -0.005608f, 0.006106f, -0.001032f, -0.003757f, -0.046882f, -0.076276f, 0.085179f, 0.286472f, 0.029157f, 0.065804f, -0.155847f, -0.238325f, -0.059885f, -0.124476f, 0.097009f, 0.199726f, 0.105253f, 0.066592f, -0.014920f, -0.077446f, -0.076179f, -0.057293f, -0.053207f, 0.019050f, 0.034077f, 0.019737f, 0.036679f, 0.004896f, 0.002944f, 0.014523f, 0.004166f, 0.016482f, 0.013113f, -0.009727f, -0.036476f, -0.026945f, -0.032147f, -0.043377f, -0.022920f, 0.024528f, 0.031613f, 0.058719f, 0.082888f, 0.030084f, 0.012014f, -0.027478f, -0.065669f, -0.063522f, -0.044373f, -0.030762f, 0.006340f, 0.024526f, 0.035195f, 0.037574f, 0.031659f, 0.021389f, 0.002510f, -0.002439f, -0.020849f, -0.014371f, -0.009184f, -0.010389f, -0.004039f, -0.011748f, -0.003364f, -0.013941f, -0.013639f, 0.005117f, -0.001066f, 0.018202f, 0.029864f, 0.017783f, 0.044402f, 0.039577f, -0.018974f, -0.038908f, -0.039000f, -0.058060f, -0.016323f, + -0.013929f, -0.003087f, 0.035829f, 0.031932f, -0.005567f, 0.027775f, 0.034650f, 0.011781f, 0.024228f, -0.002124f, -0.027849f, -0.020183f, -0.047852f, -0.030121f, -0.011302f, -0.002926f, -0.003492f, 0.008703f, 0.022672f, 0.035918f, 0.045295f, 0.038344f, 0.012829f, -0.020828f, -0.034170f, -0.032683f, -0.036481f, -0.016326f, -0.009246f, -0.003705f, 0.008120f, 0.018096f, 0.014350f, 0.025286f, 0.013808f, 0.016642f, 0.015083f, 0.000220f, -0.012430f, -0.016189f, -0.020352f, -0.019943f, -0.017820f, -0.009374f, -0.009814f, 0.005808f, 0.010312f, 0.020822f, 0.030081f, 0.029120f, 0.011065f, 0.002159f, -0.016523f, -0.019996f, -0.023682f, -0.023645f, -0.006949f, -0.000927f, -0.004563f, 0.005823f, 0.018474f, 0.024220f, 0.011905f, 0.002817f, -0.001298f, 0.000528f, -0.004861f, -0.005265f, -0.009110f, -0.005405f, -0.006938f, -0.004693f, -0.003039f, 0.000341f, 0.000003f, 0.005605f, 0.010353f, 0.011171f, 0.004990f, 0.002204f, -0.002870f, -0.001447f, -0.002179f, 0.000445f, -0.001016f}, + {0.007429f, 0.012093f, 0.003175f, 0.010678f, 0.000184f, -0.011008f, -0.007593f, -0.008016f, -0.001247f, -0.005503f, 0.012912f, -0.009651f, -0.002453f, -0.004379f, -0.001543f, -0.007739f, 0.007448f, -0.004561f, -0.003574f, 0.006269f, 0.010389f, 0.011760f, 0.001814f, -0.000835f, 0.002448f, 0.000630f, 0.001663f, -0.005311f, -0.005722f, 0.002808f, -0.005187f, -0.005191f, -0.006962f, -0.007316f, 0.002239f, -0.004842f, 0.006487f, -0.008076f, -0.001094f, 0.003578f, 0.003400f, 0.003003f, -0.012534f, -0.002240f, -0.006949f, -0.001198f, -0.002912f, -0.007636f, -0.000149f, 0.009145f, 0.002788f, 0.004450f, 0.004210f, 0.004952f, 0.000639f, 0.006209f, 0.003907f, 0.006928f, -0.003900f, 0.004631f, -0.002258f, 0.003205f, 0.000379f, -0.006361f, 0.007476f, 0.008458f, -0.004508f, -0.005643f, 0.002506f, 0.007776f, 0.001866f, 0.002093f, -0.002581f, -0.000488f, 0.004222f, 0.002651f, 0.000695f, -0.001513f, 0.000531f, 0.003574f, 0.004340f, -0.000500f, -0.006730f, -0.004106f, -0.002257f, -0.002849f, 0.001582f, -0.000621f, -0.000599f, 0.003230f, -0.002348f, -0.000767f, 0.000001f, 0.000589f, -0.001587f, -0.000435f, + 0.000253f, -0.002533f, -0.000280f, 0.003166f, -0.000451f, 0.001687f, -0.002260f, 0.001339f, 0.000683f, -0.000130f, -0.001481f, -0.018892f, -0.004963f, -0.008522f, 0.006252f, -0.017711f, 0.003880f, -0.007808f, -0.004126f, 0.002509f, 0.000348f, 0.001977f, 0.002644f, 0.001993f, 0.007681f, -0.003421f, 0.000799f, -0.000781f, -0.009357f, 0.006889f, 0.011511f, -0.009378f, -0.008804f, 0.006681f, 0.001713f, 0.008249f, 0.002610f, 0.011083f, -0.001546f, 0.003731f, -0.005877f, -0.001794f, 0.011299f, 0.000897f, -0.007382f, -0.009105f, -0.009835f, 0.000410f, 0.008134f, 0.004126f, -0.000060f, 0.009257f, 0.007378f, 0.000284f, -0.007581f, 0.011840f, 0.003018f, 0.009130f, 0.009282f, -0.001632f, 0.005912f, 0.006987f, -0.000854f, 0.004126f, 0.004788f, -0.004614f, 0.000946f, -0.001435f, 0.004550f, -0.010415f, -0.006669f, 0.003355f, -0.006448f, -0.002490f, 0.008921f, -0.003618f, 0.004900f, -0.002097f, -0.014014f, 0.002359f, -0.000071f, 0.007359f, -0.011542f, -0.006209f, 0.005213f, 0.001316f, -0.001112f, 0.002974f, -0.005442f, 0.001578f, 0.001385f, -0.001667f, -0.003431f, 0.004717f, 0.004288f, 0.002966f, + 0.000537f, -0.001778f, 0.001139f, -0.001317f, -0.002079f, 0.001553f, 0.001334f, -0.002815f, 0.002029f, -0.001574f, -0.001197f, 0.002533f, -0.001822f, -0.003746f, -0.000057f, -0.001397f, -0.000459f, -0.001775f, -0.001951f, 0.000784f, -0.000146f, 0.001141f, -0.000010f, 0.001120f, -0.002761f, 0.000802f, -0.000804f, 0.011882f, 0.012544f, 0.005519f, 0.009278f, 0.007246f, 0.012563f, 0.014319f, -0.005328f, -0.001538f, 0.004819f, -0.014307f, -0.000481f, -0.004718f, -0.002732f, 0.006549f, -0.008331f, -0.000976f, 0.010583f, 0.001955f, 0.006783f, -0.003358f, -0.002456f, -0.003567f, -0.013456f, -0.002206f, 0.000912f, 0.007114f, -0.002167f, 0.012243f, 0.004822f, -0.002117f, 0.004892f, 0.002536f, 0.006289f, -0.004552f, -0.000954f, 0.014296f, -0.001917f, 0.013506f, 0.006336f, -0.005930f, 0.001414f, 0.011893f, 0.006189f, -0.007850f, 0.010839f, -0.002979f, 0.000728f, 0.000560f, -0.002196f, 0.002077f, 0.001198f, -0.009810f, 0.006249f, 0.004568f, -0.000854f, 0.000351f, -0.002197f, -0.008863f, -0.000000f, 0.004974f, -0.001025f, -0.001050f, -0.005976f, -0.013031f, -0.004489f, 0.004843f, 0.010920f, -0.016615f, + -0.008871f, 0.003100f, -0.007265f, 0.004250f, -0.000353f, -0.000082f, -0.010014f, -0.007591f, -0.004461f, -0.006497f, -0.003224f, 0.000363f, 0.001102f, -0.002333f, 0.003744f, 0.002993f, 0.000591f, 0.002758f, -0.003064f, -0.001130f, 0.000049f, -0.004481f, -0.001007f, 0.000439f, -0.005709f, 0.002379f, 0.001341f, -0.001093f, 0.000133f, 0.001181f, 0.002695f, 0.000303f, 0.000349f, 0.000043f, -0.002802f, -0.000355f, -0.000877f, 0.002022f, 0.001363f, 0.002768f, -0.002010f, 0.017509f, 0.018702f, -0.003771f, -0.007772f, -0.008584f, 0.017935f, -0.015563f, 0.000473f, -0.002574f, -0.007187f, -0.009868f, 0.003544f, -0.002741f, -0.013335f, -0.016326f, 0.000669f, -0.001264f, -0.008458f, 0.003042f, 0.004566f, -0.006026f, -0.008971f, -0.008456f, 0.011948f, -0.012877f, -0.001499f, -0.015041f, 0.000228f, 0.008321f, 0.002900f, 0.001397f, -0.008363f, -0.008128f, 0.007419f, -0.005718f, -0.008548f, 0.001038f, -0.003076f, 0.005235f, 0.000161f, 0.002099f, -0.008522f, -0.003199f, -0.002364f, 0.008209f, 0.005702f, 0.005701f, -0.016927f, 0.002662f, 0.004790f, 0.003855f, 0.004844f, -0.004866f, -0.003037f, 0.000587f, + 0.003500f, 0.006698f, -0.001107f, 0.004419f, -0.004857f, 0.013095f, -0.023731f, 0.008340f, 0.000737f, -0.012675f, -0.000485f, 0.013976f, -0.004175f, -0.006578f, -0.012696f, -0.004319f, 0.001052f, -0.003558f, 0.000045f, 0.005725f, 0.007363f, 0.006089f, -0.001748f, -0.001020f, -0.007444f, -0.001541f, -0.001863f, -0.003788f, 0.001097f, -0.001544f, -0.001429f, 0.003042f, -0.003737f, -0.001763f, 0.003720f, -0.001835f, 0.002422f, -0.000565f, -0.001455f, -0.001324f, -0.000955f, -0.005498f, -0.003377f, 0.002388f, 0.002751f, -0.002611f, -0.002053f, -0.001777f, 0.002078f, -0.001299f, -0.000733f, -0.002159f, 0.001464f, 0.001499f, -0.002517f, 0.001028f, -0.000313f, -0.002341f, -0.000506f, -0.001326f, 0.001559f, -0.000778f, 0.002295f, 0.003177f, -0.008307f, -0.026351f, 0.004820f, -0.012026f, 0.002647f, 0.002180f, -0.001509f, 0.018663f, 0.001048f, -0.011978f, 0.015977f, 0.007668f, 0.005494f, -0.002426f, 0.003320f, -0.004888f, 0.012526f, -0.002106f, 0.001435f, 0.018823f, 0.018411f, 0.007845f, 0.008436f, 0.008075f, 0.009168f, 0.006083f, -0.018179f, -0.005714f, -0.000249f, -0.004817f, -0.015475f, -0.001742f, + -0.003669f, -0.004128f, -0.008315f, -0.000200f, -0.002443f, 0.013275f, -0.004278f, 0.023306f, -0.000147f, 0.001925f, -0.004334f, -0.003425f, 0.000168f, -0.000718f, -0.001881f, -0.004130f, -0.002750f, -0.011490f, 0.002770f, 0.001825f, -0.001383f, -0.005966f, 0.007971f, 0.005866f, 0.006905f, -0.002483f, -0.005034f, 0.000083f, 0.006011f, 0.006483f, -0.005286f, -0.015000f, -0.007662f, 0.001560f, 0.012431f, -0.001778f, 0.010156f, -0.008148f, -0.011786f, 0.008720f, -0.004146f, -0.009710f, 0.005571f, 0.005793f, -0.010859f, -0.008618f, -0.011948f, -0.004020f, -0.004145f, 0.006774f, -0.003770f, 0.002017f, -0.000813f, 0.004493f, 0.002771f, 0.002457f, -0.002301f, -0.001341f, -0.006252f, -0.003184f, -0.001713f, -0.000147f, 0.002689f, -0.000602f, 0.000126f, 0.005076f, 0.001946f, -0.000329f, -0.000017f, 0.003232f, -0.002249f, 0.000817f, 0.000880f, -0.001828f, 0.001918f, -0.001632f, 0.001234f, 0.000944f, 0.001385f, -0.001022f, -0.003940f, 0.003656f, -0.006580f, 0.009679f, -0.011463f, -0.012535f, 0.006033f, -0.003591f, -0.001049f, -0.006581f, -0.003762f, 0.006427f, 0.009135f, 0.004762f, -0.002054f, 0.001399f, + -0.001029f, -0.002082f, -0.008607f, 0.002937f, -0.023297f, -0.006759f, -0.007374f, 0.006475f, 0.008086f, 0.000699f, 0.004053f, -0.014519f, 0.004048f, 0.002274f, 0.004031f, -0.013085f, 0.024853f, -0.001083f, 0.004684f, 0.003287f, -0.011631f, 0.001885f, -0.016711f, 0.010823f, -0.003498f, -0.014018f, 0.002918f, 0.001115f, -0.006968f, 0.000806f, 0.001620f, 0.011145f, 0.020066f, 0.008693f, -0.003963f, 0.006514f, 0.008290f, -0.018556f, -0.006755f, -0.008479f, 0.005256f, 0.004298f, -0.003012f, 0.002988f, 0.006556f, 0.004168f, 0.008421f, 0.015631f, 0.000441f, -0.005761f, -0.001523f, -0.000625f, 0.012321f, -0.008767f, 0.000123f, 0.005688f, 0.016588f, 0.000098f, -0.010912f, -0.010685f, -0.000878f, -0.013132f, -0.001718f, 0.005021f, 0.020296f, 0.017447f, -0.001961f, -0.009220f, 0.007520f, 0.000580f, 0.002240f, 0.001910f, -0.000638f, 0.002576f, -0.000650f, -0.002536f, 0.002261f, 0.002924f, -0.002806f, 0.004087f, 0.003821f, 0.003690f, -0.001017f, -0.002974f, 0.002394f, 0.003284f, -0.000498f, 0.000980f, -0.002497f, 0.000406f, -0.000524f, 0.004760f, 0.001753f, 0.002972f, 0.002304f, 0.000743f, + 0.001546f, -0.000021f, 0.001869f, 0.004256f, 0.000894f, 0.001748f, 0.003038f, 0.004139f, -0.001985f, -0.001040f, 0.000988f, 0.001231f, 0.003117f, 0.004861f, -0.024268f, -0.006602f, -0.009021f, 0.010382f, 0.000298f, -0.004980f, -0.031184f, -0.004101f, -0.004235f, 0.012905f, 0.030746f, -0.008868f, 0.020631f, 0.003568f, -0.018296f, -0.018610f, 0.003163f, 0.004738f, -0.010666f, 0.011677f, -0.008446f, 0.009411f, -0.011667f, 0.005617f, 0.003927f, -0.011016f, -0.009347f, -0.007073f, 0.003592f, 0.012063f, -0.015790f, 0.000590f, -0.016599f, -0.000919f, -0.006356f, 0.004034f, 0.011999f, 0.001272f, -0.005289f, -0.004617f, 0.012994f, -0.000037f, 0.019843f, 0.006118f, -0.007573f, -0.007221f, -0.005831f, 0.002853f, 0.012428f, -0.000256f, 0.020644f, -0.036873f, -0.027258f, -0.022004f, -0.005155f, -0.018768f, 0.001155f, -0.007064f, 0.006614f, 0.016749f, 0.002945f, 0.006933f, 0.010678f, 0.017729f, 0.009054f, 0.002714f, -0.012290f, -0.030523f, -0.032229f, 0.017264f, 0.001106f, 0.021915f, -0.015672f, -0.011236f, 0.009542f, -0.022593f, 0.000388f, -0.008070f, -0.000912f, -0.014571f, 0.000515f, 0.004862f, + 0.013106f, 0.002380f, 0.002073f, -0.004201f, 0.004689f, -0.000962f, 0.001514f, 0.003677f, 0.005906f, 0.007675f, -0.002136f, -0.003223f, 0.005536f, 0.002830f, -0.002179f, -0.004047f, 0.000801f, -0.000675f, -0.000538f, -0.001714f, 0.000818f, 0.000059f, -0.002242f, -0.000747f, 0.002250f, 0.004151f, 0.003288f, 0.002852f, 0.001448f, -0.009358f, -0.005190f, -0.003579f, -0.003364f, 0.005028f, -0.000815f, -0.001550f, 0.000010f, 0.001434f, 0.000339f, 0.014619f, 0.006387f, -0.011645f, -0.000318f, 0.027837f, 0.023599f, -0.002181f, -0.020398f, -0.034418f, -0.003927f, -0.012082f, 0.012312f, -0.010314f, -0.010153f, -0.038976f, -0.016724f, -0.034910f, 0.012885f, -0.001141f, -0.008507f, 0.009304f, -0.001222f, 0.000215f, 0.002530f, -0.011203f, 0.000991f, -0.012869f, -0.002285f, 0.007826f, 0.005822f, -0.013126f, 0.004734f, 0.013410f, 0.021822f, -0.003295f, -0.003049f, -0.007251f, 0.001245f, 0.011337f, 0.016088f, -0.002299f, 0.002383f, -0.003457f, -0.002780f, 0.019173f, 0.013952f, 0.000575f, 0.014391f, 0.004180f, -0.017618f, 0.003343f, -0.001764f, 0.022821f, 0.008925f, 0.002890f, 0.011018f, 0.014814f, + 0.004087f, -0.012999f, -0.022280f, -0.005127f, 0.004666f, 0.011980f, 0.006124f, 0.000767f, 0.004687f, 0.017707f, 0.003914f, 0.005774f, 0.008165f, 0.004781f, -0.011349f, -0.012827f, -0.011147f, -0.012670f, -0.011601f, 0.019685f, 0.002790f, 0.015208f, -0.013330f, -0.011759f, -0.002247f, 0.012715f, -0.007924f, 0.006785f, 0.003905f, 0.002046f, -0.006727f, -0.004264f, -0.006214f, -0.004244f, -0.007085f, 0.002853f, 0.002313f, -0.001921f, 0.004690f, -0.003058f, 0.002220f, -0.001222f, 0.000532f, 0.002153f, -0.006269f, -0.003887f, -0.006291f, -0.004066f, -0.007668f, -0.002190f, -0.006355f, -0.003033f, -0.003676f, -0.004833f, -0.000299f, 0.005593f, 0.001839f, 0.002344f, -0.001979f, -0.000524f, -0.000679f, -0.001309f, 0.004361f, -0.002036f, 0.048824f, 0.010699f, -0.015047f, 0.008724f, -0.008755f, -0.028940f, -0.005840f, -0.028388f, -0.015534f, 0.014703f, 0.019621f, 0.007581f, 0.004088f, 0.001672f, 0.003693f, 0.018593f, -0.013106f, 0.026301f, -0.016893f, -0.017275f, 0.021095f, 0.009343f, -0.033722f, 0.014837f, 0.008795f, 0.010765f, 0.022483f, 0.011040f, 0.016778f, -0.001096f, 0.009196f, -0.005269f, + 0.014372f, 0.003756f, 0.003255f, 0.009492f, -0.018850f, -0.010275f, -0.005610f, 0.012269f, 0.005572f, 0.004430f, 0.009987f, 0.002877f, 0.003722f, -0.017199f, 0.000455f, 0.018720f, -0.003062f, 0.002359f, 0.002656f, 0.002471f, 0.022633f, 0.008672f, 0.030349f, 0.007007f, -0.003962f, 0.028633f, -0.024245f, -0.003111f, -0.003556f, -0.009718f, -0.001906f, 0.006077f, 0.028648f, 0.002815f, -0.005658f, -0.010897f, 0.006208f, -0.011461f, -0.004585f, -0.007336f, -0.015129f, -0.002376f, 0.004521f, 0.024328f, -0.001633f, -0.023275f, -0.006093f, -0.013923f, -0.006655f, 0.017030f, 0.014035f, 0.015963f, -0.012210f, 0.002743f, -0.013625f, -0.001990f, -0.004351f, -0.008324f, -0.004322f, -0.011462f, -0.006339f, -0.002036f, -0.004536f, -0.015081f, -0.005593f, -0.004222f, -0.002670f, -0.003296f, -0.004909f, 0.000830f, -0.002132f, -0.011824f, -0.000178f, -0.005605f, -0.003015f, -0.000836f, 0.000301f, 0.002291f, 0.000052f, 0.005561f, 0.005724f, 0.001101f, 0.001393f, -0.003657f, -0.002914f, -0.000705f, -0.003608f, 0.005704f, 0.003733f, 0.005372f, 0.005356f, 0.002309f, 0.007325f, 0.004756f, 0.002192f, 0.003405f, + -0.000463f, -0.002594f, 0.005335f, 0.007169f, -0.017501f, -0.027163f, -0.009708f, -0.026745f, 0.019228f, -0.022830f, -0.016676f, -0.013475f, 0.012181f, 0.030446f, -0.030891f, -0.011063f, -0.034823f, 0.009925f, 0.004945f, 0.003202f, -0.009951f, 0.002652f, 0.039364f, -0.020631f, -0.003377f, 0.014805f, 0.010237f, 0.007709f, 0.013897f, 0.009131f, -0.012849f, -0.021913f, -0.004005f, -0.012171f, -0.016409f, -0.020238f, 0.000398f, -0.004781f, 0.005040f, 0.025887f, 0.016514f, -0.014660f, -0.007804f, -0.001710f, -0.007458f, 0.006278f, 0.049452f, -0.016841f, 0.034519f, 0.010709f, 0.005864f, -0.002339f, -0.005509f, 0.005744f, -0.018839f, 0.008969f, 0.026884f, 0.001051f, 0.004356f, 0.021373f, 0.013998f, 0.008219f, -0.018018f, 0.015047f, -0.010715f, -0.016204f, -0.043537f, -0.013810f, 0.028406f, -0.016196f, 0.007417f, -0.030779f, 0.022038f, -0.011641f, -0.012023f, 0.019106f, -0.030530f, -0.022707f, 0.034740f, -0.024790f, -0.023197f, 0.013832f, -0.015891f, 0.003152f, 0.000126f, 0.009853f, -0.025031f, 0.007829f, 0.000728f, 0.024969f, -0.018563f, 0.006155f, -0.002576f, -0.014220f, 0.018627f, 0.003706f, + -0.015379f, -0.011253f, -0.010575f, 0.001586f, 0.000027f, -0.007823f, 0.000274f, 0.009642f, -0.000746f, 0.006823f, 0.007785f, 0.006090f, -0.013845f, 0.007698f, 0.007148f, 0.011135f, -0.000220f, 0.000796f, -0.010054f, -0.004067f, -0.004919f, -0.005269f, 0.002396f, -0.001188f, 0.006530f, -0.009220f, -0.005747f, 0.003453f, -0.008847f, -0.007520f, 0.003223f, -0.019716f, -0.014699f, -0.002000f, 0.022412f, -0.010623f, 0.039396f, 0.036696f, 0.007187f, 0.011746f, -0.021347f, 0.002628f, -0.017296f, 0.027536f, -0.005562f, 0.008098f, -0.013212f, -0.008541f, 0.004633f, 0.003687f, -0.012698f, 0.021082f, -0.006039f, 0.004438f, 0.007808f, -0.013882f, 0.005162f, -0.017705f, -0.000003f, 0.009983f, 0.011945f, 0.000218f, 0.015814f, 0.019999f, -0.001595f, -0.037665f, -0.006424f, -0.011205f, 0.026807f, -0.022797f, -0.028321f, -0.020220f, -0.013580f, 0.003820f, -0.016101f, -0.012660f, -0.008162f, -0.002418f, 0.004835f, -0.055211f, 0.034674f, 0.027012f, 0.039545f, -0.012727f, 0.006243f, 0.026461f, -0.025541f, -0.023670f, 0.004528f, 0.017239f, 0.011276f, -0.003123f, 0.005217f, -0.014058f, -0.016732f, -0.021319f, + -0.006371f, 0.073144f, 0.005738f, -0.040767f, -0.007428f, -0.022407f, 0.013813f, 0.010800f, -0.025354f, 0.005239f, -0.007907f, 0.001919f, -0.012611f, 0.015515f, 0.015796f, -0.002551f, -0.008308f, -0.009788f, -0.032115f, 0.009445f, 0.004942f, -0.001463f, 0.012972f, -0.006549f, 0.001891f, 0.004934f, -0.015364f, 0.005616f, 0.008818f, 0.020724f, 0.010883f, 0.001113f, -0.018236f, -0.000065f, 0.016161f, 0.000763f, -0.000266f, 0.012079f, -0.000017f, 0.003989f, 0.011824f, 0.010048f, -0.002164f, 0.005402f, 0.009947f, 0.009250f, -0.004829f, 0.003921f, 0.011985f, 0.014858f, 0.010817f, -0.000568f, -0.008261f, -0.002049f, 0.000001f, 0.009200f, -0.000385f, -0.002965f, 0.000267f, 0.003205f, -0.006303f, 0.003219f, 0.005475f, -0.006044f, 0.003350f, -0.010592f, -0.020973f, -0.040481f, 0.003270f, -0.033818f, 0.015928f, 0.005453f, -0.027221f, 0.015353f, 0.017664f, 0.024624f, 0.007121f, 0.009731f, -0.028251f, -0.000578f, -0.005635f, 0.026299f, 0.012241f, 0.001148f, 0.024599f, 0.027398f, -0.003304f, -0.013145f, 0.003130f, 0.033788f, -0.022015f, -0.017457f, 0.017416f, 0.009494f, -0.022395f, -0.004997f, + -0.020723f, 0.038641f, -0.033007f, 0.009129f, 0.020558f, -0.012487f, 0.018894f, 0.006763f, -0.009442f, -0.010081f, -0.010162f, -0.015805f, 0.021631f, 0.029105f, 0.005805f, -0.022445f, 0.002303f, -0.024786f, -0.009440f, 0.015997f, -0.003083f, -0.012367f, -0.009045f, 0.004023f, -0.032901f, 0.000879f, -0.003480f, -0.019078f, 0.025636f, -0.025412f, -0.001743f, -0.005970f, -0.018742f, 0.019666f, -0.001608f, 0.011305f, -0.009553f, -0.002123f, -0.001165f, -0.012161f, 0.009186f, -0.011224f, -0.002090f, -0.011058f, 0.029645f, 0.012561f, -0.035297f, -0.007950f, -0.058134f, 0.033314f, -0.000137f, -0.026416f, 0.023440f, 0.002300f, 0.003440f, 0.008345f, 0.000380f, 0.013209f, 0.016417f, 0.003452f, -0.004303f, 0.008795f, 0.017658f, -0.010388f, -0.006268f, 0.006897f, 0.002530f, 0.004069f, 0.005182f, 0.008678f, 0.012028f, -0.008173f, 0.006269f, 0.003504f, -0.009548f, -0.009031f, 0.007635f, 0.001279f, -0.001001f, -0.006694f, -0.005798f, -0.010730f, 0.010294f, 0.010304f, 0.001785f, -0.007285f, -0.021923f, 0.000134f, 0.001972f, 0.006798f, -0.014081f, 0.001206f, 0.011130f, -0.006447f, 0.012879f, 0.005470f, + -0.000851f, 0.003221f, 0.007005f, 0.000257f, 0.002547f, 0.003523f, 0.008610f, 0.035430f, 0.001335f, -0.026976f, -0.011596f, 0.015933f, 0.025807f, 0.027659f, 0.000994f, -0.006509f, 0.038888f, 0.016915f, 0.043222f, 0.005250f, 0.003665f, -0.020842f, -0.008572f, -0.012370f, 0.011530f, 0.006229f, 0.023376f, -0.026822f, 0.001810f, -0.015980f, 0.014338f, -0.023257f, 0.008820f, 0.025681f, -0.003876f, -0.000821f, -0.013445f, 0.003598f, -0.013533f, -0.046232f, 0.006335f, -0.007152f, 0.003202f, -0.020684f, -0.004546f, 0.017977f, 0.034859f, -0.003675f, -0.012677f, 0.020239f, 0.009528f, 0.004892f, 0.023991f, 0.008305f, -0.012833f, -0.006182f, 0.015483f, -0.002185f, 0.014131f, -0.016932f, -0.015066f, 0.005178f, -0.014159f, -0.027130f, -0.012538f, -0.030892f, -0.006905f, 0.010367f, -0.024258f, -0.003508f, -0.027859f, -0.012201f, -0.000214f, 0.010935f, -0.033197f, 0.014502f, 0.002451f, -0.019755f, 0.024717f, -0.008824f, 0.006539f, 0.043823f, 0.049616f, 0.003185f, 0.017443f, 0.036288f, 0.043393f, 0.043074f, -0.004254f, -0.028719f, -0.044031f, -0.016003f, -0.029194f, 0.027566f, -0.005942f, -0.012999f, + 0.007049f, -0.000707f, 0.003003f, -0.000515f, -0.013054f, 0.014011f, 0.003950f, 0.005262f, 0.001010f, 0.018944f, -0.010600f, -0.000185f, -0.005822f, 0.013153f, -0.012197f, -0.005166f, -0.001300f, 0.018719f, -0.004879f, 0.011323f, 0.015412f, -0.014114f, -0.003036f, -0.005938f, -0.016026f, -0.006428f, -0.003678f, 0.006970f, 0.000548f, 0.021942f, 0.005937f, 0.014875f, -0.001409f, -0.014027f, 0.003939f, 0.000437f, 0.059299f, 0.068596f, 0.003307f, 0.022153f, 0.020675f, -0.002620f, -0.049437f, -0.001043f, -0.002252f, -0.018389f, 0.013587f, 0.013114f, -0.027037f, 0.014834f, 0.018457f, 0.003348f, -0.007401f, 0.010429f, -0.007110f, 0.035050f, -0.006251f, -0.016052f, -0.000050f, 0.008141f, -0.003553f, -0.002068f, -0.000899f, -0.055260f, 0.015747f, -0.001044f, -0.038600f, -0.015679f, 0.006362f, -0.003392f, -0.026388f, 0.009284f, -0.031094f, -0.002580f, 0.002768f, -0.049272f, -0.009113f, 0.021438f, -0.016142f, 0.002511f, 0.030954f, 0.019333f, 0.023621f, 0.007636f, -0.013699f, -0.022907f, 0.023510f, -0.012062f, 0.013063f, -0.021754f, -0.011715f, 0.015974f, 0.026440f, 0.004117f, 0.031722f, -0.021220f, + 0.027413f, -0.023195f, -0.028423f, -0.019922f, 0.027324f, 0.029061f, -0.026885f, 0.014010f, -0.073825f, -0.006506f, 0.021401f, 0.007061f, -0.011778f, -0.029109f, 0.013280f, -0.041231f, 0.006463f, -0.021147f, 0.019432f, -0.031786f, -0.020652f, 0.032339f, 0.000503f, 0.016377f, 0.003430f, 0.014310f, -0.007441f, 0.006060f, -0.003854f, -0.023741f, -0.004558f, -0.010933f, 0.007254f, -0.007475f, 0.004052f, 0.001225f, 0.003780f, 0.002202f, -0.005497f, -0.007014f, 0.000806f, -0.014906f, 0.005210f, 0.004604f, 0.008515f, -0.009437f, 0.008456f, 0.008364f, 0.005109f, 0.007242f, 0.004900f, -0.010141f, 0.000902f, 0.005397f, -0.007923f, 0.014290f, -0.001464f, -0.005084f, -0.008190f, 0.000260f, 0.001044f, 0.006988f, -0.005287f, 0.006651f, -0.005114f, 0.015039f, 0.006255f, -0.012026f, -0.003424f, -0.002720f, -0.006037f, -0.004851f, -0.053983f, 0.003973f, 0.066842f, -0.045189f, -0.004228f, -0.003924f, 0.003571f, -0.017883f, 0.008554f, -0.028510f, -0.029167f, -0.009637f, -0.007953f, 0.007049f, -0.007324f, 0.015199f, -0.021860f, 0.000715f, 0.043004f, -0.035239f, -0.031072f, -0.007551f, 0.037634f, 0.005244f, + -0.047079f, 0.020038f, -0.017457f, -0.020162f, 0.004701f, 0.064724f, -0.036402f, -0.020323f, 0.046107f, 0.034116f, 0.002989f, -0.019081f, 0.001285f, -0.007110f, -0.014617f, 0.013165f, 0.012058f, -0.007872f, -0.037328f, 0.047819f, 0.022491f, 0.009028f, -0.050823f, -0.007812f, 0.015815f, 0.017565f, -0.006305f, 0.026708f, -0.004297f, 0.009064f, -0.011639f, -0.030654f, 0.019976f, -0.021881f, 0.013127f, 0.006771f, -0.026821f, 0.050663f, 0.007814f, 0.036478f, 0.036619f, 0.006504f, -0.055050f, -0.010589f, 0.000537f, -0.021892f, -0.011079f, 0.002065f, -0.001744f, 0.023901f, 0.044969f, -0.013006f, -0.004387f, -0.019851f, -0.008852f, 0.018670f, -0.012599f, 0.010847f, 0.033436f, -0.029232f, 0.033234f, -0.006533f, 0.009994f, -0.012638f, -0.006769f, -0.010609f, 0.001443f, 0.006203f, 0.007339f, -0.005560f, 0.000186f, 0.007584f, 0.004324f, 0.017566f, 0.008246f, -0.008865f, 0.000756f, 0.001603f, 0.016026f, -0.008878f, 0.004665f, 0.007404f, 0.002501f, -0.000624f, 0.000568f, -0.020897f, 0.010272f, -0.007691f, 0.010057f, 0.013114f, 0.001763f, -0.002117f, 0.006671f, -0.000684f, 0.005107f, 0.001738f, + -0.002175f, -0.007716f, -0.007850f, 0.015585f, 0.002666f, -0.003643f, 0.004376f, -0.009695f, -0.001824f, 0.015890f, 0.020844f, 0.002878f, -0.019186f, -0.096028f, 0.006308f, -0.025025f, 0.003311f, 0.048140f, 0.004594f, -0.009231f, 0.008763f, 0.001907f, -0.032625f, -0.035157f, -0.031720f, -0.030392f, 0.039621f, -0.007878f, 0.047291f, 0.004259f, -0.044680f, -0.001508f, 0.004927f, 0.038341f, 0.007536f, -0.006120f, -0.007610f, 0.011001f, -0.024060f, -0.009149f, 0.042331f, -0.008561f, -0.054976f, -0.041919f, 0.025092f, -0.005385f, -0.011428f, 0.012712f, -0.003946f, -0.028245f, 0.008539f, 0.016715f, 0.038116f, -0.007599f, -0.031643f, 0.000517f, -0.039909f, 0.015441f, 0.045179f, -0.007145f, -0.055450f, 0.017546f, -0.000635f, 0.003211f, 0.013366f, -0.017373f, 0.034127f, 0.002656f, -0.023022f, 0.018000f, -0.012464f, -0.007608f, 0.048766f, -0.024881f, -0.008386f, -0.008100f, 0.030727f, 0.012448f, -0.053935f, 0.027468f, -0.043462f, -0.010269f, -0.023447f, 0.005710f, -0.014297f, -0.013076f, -0.004481f, 0.024878f, -0.008043f, -0.015160f, 0.029327f, -0.016987f, 0.030107f, -0.000050f, -0.015885f, -0.009458f, + 0.007504f, 0.008396f, 0.005983f, -0.017977f, -0.005965f, 0.004561f, -0.000989f, -0.011718f, 0.000291f, 0.011282f, 0.017211f, 0.007280f, 0.008872f, 0.001525f, 0.016925f, -0.009438f, 0.005526f, 0.013481f, -0.005029f, 0.001804f, 0.005495f, -0.003211f, 0.002719f, 0.005421f, -0.016490f, 0.014111f, 0.006021f, -0.016516f, -0.013580f, 0.001102f, -0.019512f, 0.001842f, -0.014354f, 0.018829f, -0.033710f, 0.000065f, -0.007057f, 0.003699f, -0.008693f, 0.010689f, -0.005519f, 0.005055f, 0.003909f, -0.046917f, 0.009606f, 0.077449f, 0.050455f, 0.023073f, -0.038431f, 0.028793f, 0.036417f, 0.053873f, 0.026026f, 0.006362f, 0.001917f, 0.033749f, 0.058271f, -0.013155f, -0.007094f, 0.032992f, -0.065228f, 0.023735f, 0.058210f, -0.012073f, -0.020150f, 0.015104f, 0.045202f, 0.036393f, -0.024320f, -0.041692f, -0.002435f, 0.020968f, -0.007046f, 0.005050f, 0.000693f, 0.048894f, -0.027896f, 0.031323f, 0.047329f, -0.018931f, -0.005688f, 0.033393f, -0.004968f, 0.117090f, -0.049061f, 0.021085f, 0.080189f, -0.046148f, 0.015175f, 0.005368f, -0.064921f, -0.002011f, 0.012191f, -0.028648f, 0.063620f, 0.004816f, + -0.008658f, 0.004952f, -0.026358f, 0.087146f, 0.024117f, -0.069833f, 0.067483f, -0.028158f, 0.002598f, 0.020691f, 0.025135f, 0.044737f, 0.021918f, -0.012069f, -0.043543f, -0.058718f, -0.021925f, -0.023528f, -0.003906f, -0.018008f, 0.037061f, -0.022442f, -0.038793f, 0.004378f, 0.010902f, 0.007951f, 0.014332f, -0.022013f, -0.021321f, -0.013010f, -0.014044f, -0.046272f, -0.019400f, -0.015733f, -0.031809f, -0.015340f, 0.011626f, -0.013566f, -0.029807f, -0.001398f, 0.011848f, 0.020183f, -0.004550f, 0.009519f, 0.022138f, -0.001217f, -0.014687f, -0.000878f, -0.008821f, 0.012260f, 0.017716f, -0.024488f, 0.021814f, -0.012662f, 0.000504f, 0.003294f, -0.011146f, 0.022734f, 0.009005f, -0.031803f, 0.019874f, 0.003034f, -0.011052f, 0.023590f, -0.026496f, 0.010803f, -0.004721f, 0.011565f, -0.006086f, -0.007381f, 0.004780f, -0.004313f, -0.002392f, 0.008349f, -0.004505f, -0.018189f, 0.008828f, -0.001627f, 0.005939f, -0.000728f, 0.015669f, 0.019182f, -0.090132f, 0.052504f, 0.002349f, 0.031745f, 0.052255f, -0.086391f, 0.019715f, 0.044490f, 0.010034f, 0.033202f, -0.033321f, 0.036549f, 0.010609f, -0.033856f, + 0.000455f, -0.021331f, -0.063323f, 0.034747f, 0.019661f, 0.057879f, -0.032062f, -0.042365f, -0.014877f, 0.013595f, -0.008875f, -0.071716f, -0.035473f, 0.022079f, -0.005426f, 0.010759f, -0.030358f, -0.009359f, 0.023788f, -0.020198f, -0.010183f, -0.030599f, -0.007261f, 0.011188f, -0.034029f, 0.003612f, -0.074216f, -0.060957f, 0.018750f, -0.063408f, 0.005416f, -0.066339f, -0.046643f, -0.031981f, 0.031111f, 0.062008f, 0.076160f, -0.018006f, 0.033772f, 0.041410f, 0.019891f, 0.017989f, -0.029744f, 0.084991f, 0.086437f, -0.058774f, 0.058863f, -0.046223f, 0.029542f, 0.061008f, 0.057721f, 0.070685f, 0.084048f, 0.059814f, -0.067174f, -0.047477f, -0.000662f, 0.001790f, 0.025178f, -0.015835f, -0.013047f, -0.040024f, -0.022423f, -0.059432f, 0.012923f, 0.050160f, -0.020369f, 0.012409f, 0.052050f, 0.024763f, -0.035930f, 0.040283f, -0.002639f, 0.014354f, -0.004094f, -0.006915f, 0.011413f, -0.012444f, 0.017590f, 0.015183f, -0.013490f, -0.015923f, 0.015156f, -0.010785f, 0.000368f, 0.000685f, -0.001437f, 0.004588f, 0.001342f, -0.021256f, 0.019812f, -0.008893f, 0.009379f, 0.011710f, -0.008153f, 0.012599f, + -0.015516f, -0.011008f, 0.009980f, -0.012067f, -0.016022f, -0.006757f, 0.006108f, -0.005960f, 0.003725f, -0.014074f, 0.000306f, 0.005525f, 0.012982f, 0.020016f, -0.004897f, 0.011394f, -0.013288f, 0.000276f, -0.002643f, 0.006258f, 0.004341f, -0.000906f, -0.010338f, 0.111522f, -0.081633f, -0.041530f, 0.043969f, -0.026173f, 0.042001f, -0.032746f, -0.036535f, 0.012334f, -0.086337f, -0.003908f, 0.058034f, -0.014015f, 0.029822f, -0.049520f, -0.012183f, -0.019556f, 0.001955f, 0.061911f, 0.018712f, 0.013754f, -0.011065f, 0.033980f, 0.010920f, 0.084589f, 0.020796f, 0.049381f, 0.003501f, -0.038630f, -0.036538f, 0.049216f, -0.023956f, 0.022753f, -0.000495f, -0.063544f, 0.045786f, -0.056619f, 0.109911f, -0.081964f, 0.050003f, 0.044769f, -0.047074f, -0.039566f, -0.029237f, 0.040578f, -0.003127f, 0.042465f, -0.000564f, 0.005518f, -0.075201f, -0.040423f, 0.017459f, -0.036978f, 0.012200f, -0.022563f, 0.022044f, 0.012507f, 0.057695f, -0.034345f, -0.011858f, -0.014670f, -0.028345f, 0.078237f, 0.014445f, 0.007327f, -0.072952f, -0.023658f, 0.039162f, 0.023098f, 0.024923f, 0.067754f, 0.043339f, 0.059907f, + 0.069140f, -0.002072f, 0.030585f, -0.028835f, 0.091980f, 0.006871f, -0.015258f, 0.033482f, -0.007930f, 0.070573f, 0.001213f, -0.014287f, -0.014661f, 0.008397f, 0.049593f, -0.037742f, 0.025582f, -0.012063f, -0.004160f, 0.014663f, 0.009790f, 0.019256f, -0.012234f, 0.012505f, 0.023091f, -0.006175f, -0.008926f, 0.015611f, -0.002669f, -0.002557f, -0.001887f, 0.004122f, 0.002441f, 0.007451f, -0.016992f, 0.021985f, -0.013163f, -0.007329f, -0.003719f, 0.013387f, -0.019235f, 0.001796f, -0.013818f, 0.018336f, 0.033289f, -0.011345f, -0.009441f, -0.004604f, 0.022789f, 0.011139f, 0.023804f, -0.002101f, -0.014160f, 0.010799f, 0.011311f, -0.003625f, 0.011194f, 0.008722f, -0.032844f, 0.004854f, 0.037070f, -0.005206f, -0.168332f, 0.117026f, -0.072522f, -0.050716f, 0.001302f, 0.024060f, 0.030278f, 0.005500f, -0.026871f, 0.091133f, 0.046283f, 0.012791f, -0.045478f, 0.029951f, -0.001429f, 0.034044f, -0.043405f, -0.029999f, 0.023437f, 0.068178f, -0.077927f, 0.003293f, 0.025459f, 0.008405f, -0.019051f, -0.011438f, -0.009663f, 0.003250f, -0.003787f, 0.017750f, 0.086023f, 0.005655f, -0.038601f, 0.057857f, + -0.013279f, -0.055672f, -0.071795f, 0.068706f, 0.022637f, -0.009386f, 0.025757f, 0.015995f, 0.057275f, -0.077281f, -0.007974f, -0.039231f, -0.010952f, 0.044409f, -0.032388f, 0.017399f, -0.037377f, 0.018313f, 0.118579f, 0.009107f, -0.067465f, -0.075868f, -0.004427f, 0.036360f, 0.035811f, -0.030325f, 0.007640f, 0.057730f, -0.023892f, -0.111334f, 0.063853f, -0.038298f, -0.063110f, 0.027972f, 0.106018f, -0.072910f, 0.053576f, 0.073843f, 0.025728f, -0.063714f, -0.052967f, -0.032688f, 0.026918f, 0.023179f, -0.021709f, 0.066287f, 0.032660f, -0.004024f, -0.001513f, 0.004103f, -0.054834f, -0.020968f, -0.038676f, 0.020254f, 0.018285f, 0.013263f, 0.018486f, 0.013675f, 0.041191f, -0.020241f, -0.009431f, 0.007917f, 0.000687f, -0.031326f, 0.027709f, -0.001094f, 0.017607f, -0.007761f, 0.013440f, -0.020148f, -0.005553f, -0.012120f, 0.019822f, 0.003715f, 0.004659f, 0.000617f, 0.012279f, 0.029943f, -0.011021f, -0.056964f, 0.005513f, -0.028103f, -0.004624f, 0.017084f, -0.023215f, -0.015657f, 0.033363f, -0.030283f, -0.005745f, 0.000263f, 0.016607f, -0.032438f, 0.003411f, 0.097262f, 0.031185f, 0.007031f, + -0.007705f, 0.015941f, 0.026572f, -0.008043f, 0.012067f, -0.014016f, -0.000756f, -0.010948f, 0.044769f, -0.050318f, -0.006339f, 0.031065f, -0.071363f, 0.023509f, -0.017881f, 0.005943f, -0.008897f, -0.019193f, 0.012034f, -0.004862f, -0.029426f, 0.078122f, -0.059772f, -0.016044f, 0.054428f, -0.034678f, -0.006004f, -0.010530f, 0.011505f, 0.055047f, 0.003635f, -0.052528f, 0.072214f, -0.038749f, 0.025348f, 0.045963f, 0.019621f, -0.016364f, 0.003427f, -0.039420f, 0.009187f, -0.023648f, -0.019643f, 0.098098f, -0.023249f, -0.038304f, 0.012119f, -0.017585f, 0.022576f, -0.014588f, 0.024847f, 0.063321f, -0.035090f, 0.021341f, 0.047358f, -0.055790f, 0.025238f, 0.031234f, 0.013450f, 0.038950f, -0.044329f, -0.010963f, 0.066466f, -0.045706f, -0.010780f, 0.019710f, -0.019343f, 0.064531f, -0.064126f, 0.011369f, 0.022324f, -0.028794f, 0.021699f, 0.025016f, -0.061098f, 0.022110f, 0.050994f, 0.000011f, -0.016105f, -0.001864f, 0.032591f, -0.006285f, -0.057412f, 0.046766f, 0.021311f, -0.024390f, 0.008869f, -0.013181f, 0.019891f, -0.007413f, -0.026031f, 0.030523f, 0.001065f, -0.005929f, -0.022710f, 0.021393f, + 0.003350f, -0.028871f, 0.009930f, 0.020344f, -0.004682f, -0.009043f, 0.003713f, 0.018858f, -0.003302f, -0.018352f, 0.018784f, 0.013299f, 0.001770f, -0.000344f, 0.015610f, 0.003741f, 0.005091f, -0.021912f, 0.028046f, -0.015144f, 0.029953f, -0.054583f, -0.147069f, -0.231299f, 0.021111f, 0.221556f, 0.018314f, 0.501569f, 0.517857f, 0.257846f, 0.542173f, 0.361620f, -0.074732f, -0.007583f, -0.118933f, -0.434827f, -0.381559f, -0.235791f, -0.444094f, -0.347565f, -0.100713f, -0.217638f, -0.182043f, 0.065083f, 0.109843f, -0.052464f, 0.029157f, 0.098123f, -0.074614f, -0.043488f, 0.138203f, 0.122750f, 0.014709f, 0.137171f, 0.233753f, 0.078516f, 0.169330f, 0.319515f, 0.153910f, 0.081558f, 0.286497f, 0.239543f, 0.032713f, 0.172283f, 0.335669f, 0.067101f, 0.079768f, 0.271267f, 0.117491f, -0.028380f, 0.192187f, 0.181372f, -0.015836f, 0.160264f, 0.206745f, -0.002490f, -0.149625f, -0.069278f, -0.352904f, -0.583719f, -0.518941f, -0.553496f, -0.845752f, -0.759688f, -0.710741f, -0.864744f, -0.840053f, -0.689108f, -0.621188f, -0.558855f, -0.323137f, -0.123796f, 0.110477f, 0.234127f, 0.447637f, 0.666939f, + 0.728107f, 0.810900f, 1.057906f, 1.043998f, 0.821686f, 0.898741f, 0.794792f, 0.329442f, 0.358991f, 0.305142f, -0.011874f, -0.048917f, 0.089148f, -0.011394f, -0.135376f, 0.018563f, 0.092716f, -0.087557f, -0.034093f, 0.082008f, -0.041823f, -0.172260f, -0.056148f, -0.045886f, -0.249629f, -0.176687f, -0.046796f, -0.195637f, -0.221595f, -0.014388f, -0.077862f, -0.224190f, -0.107117f, -0.100868f, -0.315508f, -0.299167f, -0.270911f, -0.489372f, -0.529035f, -0.441027f, -0.470369f, -0.507699f, -0.363303f, -0.309743f, -0.268534f, -0.194147f, -0.103861f, -0.046080f, -0.011384f, 0.042471f, 0.175745f, 0.239379f, 0.368553f, 0.600005f, 0.678490f, 0.750495f, 0.876548f, 0.856700f, 0.755161f, 0.643957f, 0.452968f, 0.197610f, 0.053316f, -0.040684f, -0.138055f, -0.162889f, -0.159486f, -0.161158f, -0.164436f, -0.152670f, -0.136756f, -0.147401f, -0.150168f, -0.140723f, -0.150471f, -0.164408f, -0.153986f, -0.143525f, -0.131423f, -0.094664f, -0.043980f, -0.010207f, 0.002737f, 0.003902f, 0.000883f} + }, + { + {0.003031f, 0.012017f, -0.005986f, 0.003317f, -0.001243f, 0.000684f, 0.000563f, -0.004865f, -0.005516f, 0.003597f, -0.001010f, -0.004436f, -0.005656f, -0.003495f, 0.004980f, -0.000533f, 0.006685f, 0.001392f, -0.008487f, -0.008776f, -0.006224f, 0.002543f, 0.002165f, 0.004529f, -0.000681f, 0.005185f, -0.003977f, -0.000750f, -0.009178f, -0.001426f, -0.001713f, 0.001879f, 0.003451f, 0.003449f, 0.006776f, -0.003390f, -0.004539f, 0.003651f, 0.002068f, -0.004440f, -0.004514f, 0.000195f, 0.003152f, 0.001494f, 0.007524f, -0.002881f, -0.002386f, 0.008511f, 0.002607f, 0.015971f, 0.006796f, -0.004508f, -0.000154f, -0.009864f, 0.000184f, -0.011241f, -0.000740f, -0.004219f, 0.007752f, 0.000796f, 0.004161f, 0.005656f, 0.003073f, 0.005422f, 0.003622f, 0.000750f, -0.009413f, -0.001070f, -0.004718f, 0.006466f, 0.009473f, -0.006668f, -0.004730f, -0.002881f, -0.003835f, -0.005039f, -0.008070f, -0.001857f, 0.002420f, -0.004781f, -0.003933f, -0.001700f, -0.006634f, 0.000746f, -0.001334f, -0.004503f, 0.001431f, 0.000215f, -0.000026f, -0.002229f, 0.000396f, 0.000393f, 0.002467f, -0.000709f, 0.001592f, -0.000843f, + 0.001152f, -0.000344f, -0.001490f, 0.000383f, 0.001939f, 0.000304f, -0.001738f, -0.001813f, -0.000183f, 0.003280f, 0.000767f, -0.000664f, 0.000533f, -0.000995f, -0.018872f, -0.020175f, -0.001603f, -0.005786f, 0.000777f, -0.004378f, -0.001189f, 0.011226f, -0.002007f, 0.006035f, -0.002774f, -0.005396f, -0.007458f, 0.001370f, -0.001542f, -0.008908f, 0.010269f, 0.003085f, 0.000706f, 0.005474f, 0.005223f, 0.008467f, 0.005965f, -0.000562f, -0.006300f, 0.005882f, 0.001371f, -0.008493f, -0.003752f, -0.003830f, -0.002544f, 0.007592f, -0.002600f, -0.012952f, -0.004386f, -0.001481f, 0.002705f, -0.004026f, -0.008427f, 0.000275f, -0.000822f, 0.009790f, 0.001451f, -0.000079f, 0.003577f, -0.000225f, 0.013210f, -0.002279f, 0.001216f, -0.002920f, -0.005241f, 0.000005f, 0.005673f, 0.002565f, 0.001548f, 0.005361f, -0.004918f, -0.008196f, -0.005862f, -0.001180f, 0.001079f, -0.001912f, 0.000235f, -0.006152f, -0.001362f, 0.003224f, -0.001962f, 0.006417f, 0.003349f, -0.000362f, 0.001191f, -0.006017f, -0.005124f, 0.009958f, 0.002263f, 0.004242f, 0.002889f, -0.001770f, -0.000585f, -0.007563f, 0.000534f, -0.004321f, + 0.001857f, -0.001473f, 0.001926f, 0.002053f, 0.005856f, -0.000608f, -0.002047f, 0.000346f, 0.001255f, 0.000785f, 0.000210f, 0.000208f, -0.001764f, -0.001387f, 0.000711f, -0.000636f, -0.001520f, 0.002381f, -0.001204f, 0.001224f, 0.001811f, -0.001713f, -0.000511f, 0.001371f, -0.000517f, 0.002457f, -0.001477f, 0.001221f, -0.001177f, -0.000854f, -0.003069f, 0.002825f, 0.013047f, -0.000722f, 0.006695f, 0.003932f, 0.008928f, 0.010940f, -0.002487f, 0.000890f, 0.006747f, 0.006649f, 0.004462f, 0.012516f, 0.002550f, -0.004110f, 0.000555f, 0.010947f, 0.003868f, 0.005160f, 0.009516f, 0.012764f, 0.008445f, -0.002923f, -0.008751f, 0.006141f, 0.004211f, -0.005094f, -0.008453f, 0.000429f, -0.004934f, 0.002221f, 0.003246f, -0.003125f, -0.004217f, 0.004214f, 0.003366f, 0.007509f, -0.005049f, -0.010340f, -0.005163f, -0.004505f, -0.006863f, -0.002434f, -0.007840f, 0.004640f, -0.010733f, 0.004551f, 0.000914f, 0.002418f, -0.004774f, 0.010183f, 0.007815f, -0.007318f, 0.009004f, 0.003312f, -0.001335f, 0.002890f, -0.006531f, -0.002166f, 0.006155f, 0.002107f, 0.002577f, 0.001529f, 0.007351f, 0.002894f, + 0.009089f, -0.004553f, -0.000553f, -0.000682f, 0.003525f, 0.005173f, -0.002104f, 0.003409f, -0.004779f, 0.002318f, 0.003189f, 0.002775f, 0.009972f, 0.000270f, 0.007440f, 0.008243f, 0.004678f, -0.007703f, -0.001466f, -0.001289f, -0.001995f, 0.000573f, 0.004221f, -0.001860f, 0.000125f, -0.000422f, 0.000477f, 0.001427f, -0.001248f, 0.001695f, 0.002907f, -0.002149f, -0.001096f, 0.002661f, 0.000090f, -0.000085f, -0.000149f, -0.001692f, 0.000685f, -0.000881f, 0.000220f, 0.002032f, 0.003500f, 0.000037f, -0.000485f, 0.001655f, 0.001348f, 0.000440f, 0.000805f, 0.000560f, 0.000851f, -0.000249f, -0.000496f, 0.001441f, 0.001894f, -0.001881f, 0.000991f, -0.000755f, 0.036080f, 0.000301f, 0.031947f, 0.002573f, 0.020234f, -0.004341f, -0.003484f, 0.005546f, -0.015104f, 0.016519f, -0.009389f, 0.011086f, 0.008168f, -0.006031f, 0.004821f, -0.000428f, 0.000612f, -0.002775f, 0.004592f, 0.006544f, 0.008090f, 0.013361f, 0.003250f, 0.004281f, -0.000525f, 0.015713f, -0.018022f, 0.000467f, -0.001386f, 0.004354f, 0.007637f, -0.009446f, 0.003617f, 0.004313f, 0.002190f, 0.006310f, 0.003383f, -0.007278f, + 0.003470f, 0.014077f, -0.002649f, 0.004336f, -0.002389f, -0.002142f, -0.000694f, -0.010038f, 0.015519f, -0.000196f, 0.001485f, 0.011671f, -0.001665f, 0.000946f, 0.014385f, -0.021106f, 0.005768f, -0.000345f, 0.006288f, 0.017175f, 0.005065f, 0.004194f, 0.005886f, -0.001799f, -0.004839f, -0.003181f, 0.004130f, 0.001624f, 0.009135f, -0.003262f, 0.007495f, 0.003590f, -0.002643f, 0.001620f, -0.006112f, -0.003851f, 0.000731f, -0.001700f, -0.008415f, -0.005227f, -0.008609f, 0.005128f, 0.007456f, -0.001952f, 0.002239f, -0.001687f, -0.005757f, -0.000154f, 0.003031f, 0.003233f, -0.010263f, -0.000328f, 0.000853f, -0.001467f, 0.000477f, -0.001995f, 0.000109f, -0.002149f, -0.004996f, 0.000010f, -0.003341f, -0.002503f, -0.004147f, 0.000288f, -0.004058f, -0.001114f, -0.003939f, -0.002807f, -0.000222f, -0.001271f, -0.002143f, -0.000097f, 0.000419f, 0.001985f, -0.002156f, -0.014399f, -0.017746f, -0.007009f, -0.002686f, -0.006613f, 0.014160f, 0.006085f, -0.011348f, 0.012647f, -0.001795f, -0.009183f, 0.002722f, 0.005521f, -0.005155f, -0.008391f, -0.007608f, -0.015975f, -0.008105f, 0.006930f, -0.010172f, -0.016222f, + 0.004549f, 0.006596f, 0.001274f, -0.005954f, 0.012139f, 0.001527f, 0.011221f, -0.000683f, -0.002628f, 0.006452f, 0.010627f, -0.015145f, -0.007266f, 0.004157f, -0.003443f, 0.003740f, -0.009964f, -0.000699f, 0.002628f, 0.003617f, -0.008514f, -0.015381f, -0.004388f, 0.004520f, -0.002660f, -0.001917f, 0.000882f, 0.005005f, -0.001580f, 0.002790f, -0.005249f, 0.008961f, -0.011787f, -0.008744f, -0.003128f, -0.008565f, -0.002638f, -0.002295f, 0.003360f, -0.006276f, 0.004698f, 0.009729f, -0.000907f, 0.002307f, 0.002547f, 0.004684f, 0.009406f, -0.003573f, -0.001890f, -0.001766f, -0.004004f, 0.009894f, -0.004086f, -0.017145f, -0.011044f, -0.007225f, 0.016426f, 0.000321f, 0.009389f, 0.004379f, 0.001353f, 0.002594f, -0.001224f, -0.000332f, 0.007862f, -0.002602f, -0.001896f, 0.002612f, -0.001479f, 0.001319f, -0.003647f, -0.002117f, 0.001731f, -0.000439f, 0.001912f, -0.000470f, 0.001089f, 0.003024f, 0.002044f, 0.002830f, -0.000078f, 0.001985f, -0.000529f, 0.002900f, 0.003033f, 0.005136f, 0.003085f, 0.004087f, 0.000856f, 0.002744f, 0.002216f, 0.001720f, 0.002309f, 0.003396f, -0.001621f, 0.000310f, + -0.000761f, -0.001377f, 0.001278f, 0.002028f, -0.004118f, -0.015590f, -0.036245f, -0.003374f, 0.002511f, 0.000396f, -0.011751f, -0.005194f, -0.013336f, -0.003427f, -0.015729f, -0.018006f, -0.014079f, -0.003252f, -0.009326f, -0.020292f, -0.012705f, 0.004220f, 0.006285f, -0.005593f, 0.012219f, 0.006778f, -0.004518f, 0.015086f, 0.003229f, 0.001266f, 0.002425f, -0.020601f, -0.000755f, 0.003456f, 0.007769f, -0.006460f, -0.005740f, 0.012311f, 0.023910f, -0.017861f, 0.006439f, -0.005237f, -0.000920f, -0.015738f, -0.001385f, -0.000154f, -0.008035f, -0.010173f, -0.007403f, -0.008650f, -0.004615f, 0.005186f, 0.017558f, -0.008173f, 0.006589f, 0.011889f, 0.010743f, -0.003597f, 0.001222f, -0.003815f, -0.003401f, -0.016154f, -0.008003f, 0.009200f, -0.005827f, 0.002019f, -0.005562f, 0.004653f, 0.002465f, -0.001756f, -0.000602f, -0.007521f, -0.006216f, 0.001450f, -0.002237f, 0.003355f, -0.019137f, -0.020225f, -0.002166f, -0.002930f, -0.008688f, -0.000013f, 0.006442f, -0.009925f, -0.007648f, -0.008457f, -0.014721f, 0.010457f, -0.001050f, -0.002172f, 0.004022f, -0.000539f, 0.003612f, 0.006915f, 0.002409f, 0.003861f, + 0.002209f, 0.005093f, -0.001487f, 0.000950f, 0.000846f, 0.001197f, 0.001701f, -0.001271f, -0.001224f, 0.000330f, 0.001592f, 0.002003f, -0.001212f, 0.001652f, -0.001777f, -0.003414f, 0.001924f, 0.001417f, -0.001329f, 0.004579f, 0.002095f, 0.000357f, 0.001794f, -0.002689f, -0.002917f, -0.000722f, -0.001522f, -0.001180f, -0.022508f, -0.004434f, -0.027103f, -0.006079f, -0.019200f, -0.002295f, 0.003625f, 0.004887f, 0.020853f, -0.013009f, 0.004671f, 0.005626f, -0.011301f, -0.005108f, 0.016782f, 0.001777f, -0.004888f, 0.002105f, -0.013801f, 0.012531f, -0.017687f, -0.005848f, 0.007905f, 0.004909f, -0.001829f, 0.003021f, -0.003482f, 0.005796f, -0.007539f, -0.013297f, 0.000921f, 0.006431f, 0.005280f, -0.010634f, 0.002963f, 0.011948f, -0.012273f, -0.015578f, 0.012431f, -0.010624f, 0.008122f, -0.007647f, 0.004539f, -0.000317f, -0.011037f, -0.014386f, -0.008841f, 0.003916f, -0.000558f, 0.005371f, -0.007497f, -0.007332f, -0.018344f, 0.009570f, -0.013144f, -0.006021f, 0.007166f, 0.016292f, -0.002097f, -0.003386f, -0.024018f, -0.018941f, -0.006295f, -0.006754f, 0.009056f, -0.002565f, -0.014063f, -0.002261f, + 0.000761f, -0.007837f, -0.001908f, -0.016824f, 0.011225f, 0.004351f, 0.014151f, 0.017256f, 0.009115f, 0.000702f, 0.007536f, 0.015392f, -0.001264f, -0.003557f, -0.001036f, -0.004716f, -0.015289f, 0.000846f, 0.001149f, 0.003290f, 0.008220f, -0.003343f, 0.001831f, -0.000016f, -0.006003f, -0.003269f, 0.005617f, 0.005377f, 0.005114f, -0.003931f, 0.001556f, 0.002112f, 0.001964f, 0.001876f, 0.002262f, 0.000730f, 0.004281f, 0.004223f, 0.002901f, -0.000868f, 0.001985f, -0.000735f, 0.001706f, 0.003045f, 0.001106f, 0.001222f, 0.000096f, -0.001065f, -0.000933f, -0.000071f, -0.002636f, -0.001244f, 0.013369f, 0.007007f, 0.038825f, 0.018783f, 0.025153f, -0.007783f, -0.000957f, -0.000420f, -0.038293f, 0.002007f, 0.016548f, -0.007593f, -0.002952f, 0.001311f, 0.024170f, -0.004098f, 0.014012f, -0.002872f, 0.013420f, 0.007354f, 0.016569f, 0.023254f, 0.003013f, 0.015523f, -0.004790f, 0.013433f, -0.001801f, 0.024885f, 0.013265f, -0.000429f, 0.014184f, 0.011427f, -0.004176f, 0.010907f, 0.006589f, 0.009416f, -0.007437f, -0.005992f, -0.020106f, -0.001246f, 0.014279f, 0.002730f, 0.001829f, -0.004699f, + -0.007514f, -0.006024f, -0.006624f, 0.035017f, -0.022523f, 0.008914f, 0.010654f, 0.006017f, 0.003037f, -0.013471f, -0.017880f, -0.004599f, -0.002659f, -0.000854f, -0.030987f, -0.015400f, -0.015928f, 0.000733f, -0.000730f, 0.009184f, -0.001016f, 0.008154f, 0.010985f, 0.019815f, 0.003644f, -0.005148f, 0.006674f, -0.012533f, 0.003413f, -0.009205f, 0.003333f, 0.007638f, 0.004335f, 0.012600f, -0.008550f, -0.009753f, 0.045469f, 0.006180f, 0.008239f, 0.005704f, 0.015420f, -0.010981f, -0.005671f, 0.009660f, -0.001152f, -0.000327f, 0.001763f, 0.003134f, 0.008887f, -0.004494f, -0.000711f, 0.001611f, 0.005100f, 0.001098f, -0.004738f, 0.008558f, 0.000283f, -0.002121f, 0.000157f, -0.001086f, -0.004667f, -0.004421f, -0.002074f, -0.004910f, -0.000060f, -0.001985f, 0.002051f, 0.006087f, -0.000627f, -0.000712f, -0.006867f, -0.001544f, 0.003309f, -0.000866f, 0.000347f, 0.000511f, 0.005300f, -0.002901f, -0.000869f, 0.001601f, 0.001955f, -0.006072f, 0.059482f, 0.006414f, 0.008850f, 0.006735f, -0.003733f, -0.024086f, 0.016261f, 0.017233f, -0.009657f, 0.007577f, 0.007715f, -0.014409f, -0.002047f, 0.014224f, + 0.008115f, -0.025411f, 0.006463f, -0.006821f, -0.013069f, -0.000137f, 0.007467f, 0.002202f, -0.000261f, -0.000291f, 0.010994f, -0.003244f, 0.006196f, -0.019704f, 0.007972f, -0.001829f, 0.007829f, 0.004727f, -0.003632f, 0.014421f, -0.019354f, -0.008095f, -0.019112f, 0.016883f, 0.007879f, 0.027391f, 0.013426f, 0.000179f, 0.005837f, -0.021734f, -0.000182f, 0.006705f, 0.007025f, 0.006986f, 0.001476f, 0.004170f, -0.005817f, 0.006569f, 0.019502f, 0.026554f, 0.011370f, -0.011637f, -0.006578f, -0.002380f, -0.005177f, 0.010099f, 0.013279f, -0.008866f, 0.007861f, 0.015011f, 0.004515f, -0.019878f, -0.039931f, -0.019358f, 0.008030f, 0.017855f, -0.007517f, 0.005632f, -0.001499f, -0.003274f, -0.000128f, 0.018645f, 0.003358f, -0.014628f, 0.024695f, 0.011605f, -0.028602f, 0.001779f, -0.003426f, -0.008742f, -0.003192f, -0.003872f, -0.000002f, 0.010411f, 0.004192f, -0.007215f, -0.004078f, 0.006386f, 0.010691f, -0.004217f, 0.008142f, 0.002639f, -0.006620f, -0.001165f, 0.001097f, 0.000835f, -0.001207f, 0.001156f, -0.003257f, -0.001815f, 0.002418f, 0.001280f, -0.002880f, -0.002533f, 0.000249f, -0.001395f, + -0.004807f, 0.003682f, -0.001629f, -0.001880f, 0.001459f, 0.005762f, -0.005375f, -0.007937f, 0.000024f, -0.000546f, -0.012572f, -0.001459f, 0.003260f, 0.000741f, -0.007540f, -0.000145f, -0.002711f, 0.003236f, 0.001924f, 0.004795f, 0.003281f, -0.036389f, 0.010853f, 0.017442f, -0.019643f, 0.012752f, 0.021206f, -0.051833f, 0.011112f, 0.002358f, 0.011294f, -0.019243f, 0.029244f, -0.040862f, -0.000474f, -0.002788f, -0.003473f, -0.004054f, -0.012054f, -0.015348f, -0.002661f, 0.014854f, 0.001388f, 0.000568f, -0.007943f, 0.010508f, -0.001736f, -0.004897f, 0.007680f, 0.018308f, -0.012149f, 0.013256f, -0.002501f, 0.008122f, 0.003860f, 0.012469f, 0.018718f, -0.004164f, 0.004835f, -0.024207f, -0.012345f, -0.004839f, -0.009364f, -0.022022f, 0.002271f, -0.007883f, -0.014583f, 0.021563f, -0.020128f, -0.006446f, -0.009557f, -0.010587f, 0.014462f, -0.016325f, 0.009153f, -0.005549f, 0.014864f, -0.007657f, 0.016290f, -0.021409f, -0.006280f, 0.003066f, 0.019753f, -0.034716f, -0.013321f, 0.001593f, -0.000140f, -0.005919f, 0.013797f, -0.017843f, -0.035739f, 0.008048f, -0.031404f, 0.016179f, -0.011333f, 0.000443f, + -0.032830f, -0.012431f, 0.035019f, 0.020268f, -0.026691f, -0.021800f, -0.018971f, 0.001465f, 0.010461f, -0.004251f, -0.012082f, 0.023270f, 0.007944f, -0.003651f, -0.005232f, -0.008220f, -0.002044f, 0.009368f, -0.008664f, 0.010046f, -0.001413f, -0.006294f, 0.000936f, -0.004714f, 0.003244f, 0.008559f, -0.005165f, 0.004022f, 0.005664f, 0.004647f, -0.001040f, 0.009894f, -0.009343f, 0.009369f, -0.002872f, 0.008297f, -0.010824f, -0.005001f, 0.001203f, 0.001128f, 0.010491f, 0.004101f, 0.006154f, -0.003217f, -0.006607f, 0.004049f, -0.012375f, -0.000706f, -0.026962f, -0.011574f, 0.033968f, 0.001429f, -0.028010f, 0.026366f, -0.012342f, 0.001746f, -0.029208f, 0.004483f, 0.011586f, -0.025781f, -0.006290f, -0.023043f, -0.000159f, 0.001452f, -0.007759f, -0.006410f, 0.022489f, 0.003443f, -0.015228f, 0.003802f, -0.032631f, 0.019594f, 0.031099f, -0.010076f, 0.012989f, 0.022039f, -0.001645f, -0.004526f, 0.002716f, 0.002658f, 0.012924f, 0.002184f, 0.002989f, 0.006763f, -0.018242f, -0.001336f, -0.020971f, -0.021451f, -0.008790f, 0.008986f, 0.012725f, -0.000694f, -0.025232f, 0.004951f, 0.006616f, 0.012394f, + 0.026976f, -0.027681f, 0.040483f, -0.033593f, 0.001479f, -0.006785f, -0.005822f, -0.016256f, -0.031157f, -0.042050f, -0.016307f, -0.004832f, 0.010700f, -0.003209f, 0.001737f, 0.006165f, -0.000315f, 0.029581f, 0.013995f, -0.030389f, -0.004749f, -0.000640f, 0.019369f, -0.021010f, 0.001389f, -0.042323f, 0.007912f, 0.033030f, -0.029557f, -0.011620f, 0.004170f, -0.000343f, 0.008251f, 0.046292f, 0.000677f, -0.006133f, 0.002393f, 0.023557f, -0.016030f, 0.006292f, 0.008600f, -0.003523f, -0.001734f, -0.000335f, -0.000645f, 0.010472f, -0.003458f, -0.002436f, -0.009113f, 0.015259f, -0.003340f, 0.004473f, 0.001509f, 0.002664f, 0.003787f, 0.011087f, -0.007770f, -0.002017f, 0.011745f, -0.008577f, -0.012084f, 0.009908f, 0.000444f, 0.004820f, 0.006662f, 0.003746f, 0.012144f, -0.009511f, 0.005628f, 0.006701f, -0.004264f, 0.017203f, 0.005869f, 0.010509f, 0.003815f, -0.010422f, -0.003845f, -0.001801f, -0.001862f, -0.001882f, -0.017342f, -0.035178f, 0.042048f, 0.017965f, -0.020607f, 0.027299f, 0.027314f, 0.038798f, -0.014312f, -0.013394f, 0.028316f, -0.004163f, -0.005607f, 0.009875f, 0.012588f, 0.005031f, + 0.006019f, -0.038589f, -0.004103f, 0.000124f, 0.000318f, 0.002141f, -0.004370f, 0.016377f, 0.031735f, 0.003226f, 0.002163f, -0.000528f, 0.001510f, 0.029250f, 0.007758f, -0.002047f, -0.006395f, 0.007500f, 0.006457f, -0.004573f, 0.003344f, -0.016670f, -0.003496f, 0.025438f, -0.025246f, -0.012251f, -0.021775f, 0.028421f, -0.026050f, 0.013061f, -0.010678f, 0.008369f, -0.005678f, 0.006751f, -0.020938f, 0.004800f, 0.031551f, -0.020771f, 0.001628f, -0.055106f, -0.002477f, -0.019468f, 0.001464f, -0.051436f, -0.002306f, -0.002535f, -0.015899f, -0.011056f, 0.041954f, -0.045071f, 0.007481f, -0.012192f, -0.016854f, 0.012110f, -0.015291f, -0.035216f, -0.024737f, 0.003399f, 0.001811f, 0.007247f, -0.017492f, -0.023725f, 0.013446f, 0.001113f, 0.002583f, 0.015758f, -0.026341f, 0.019665f, -0.019180f, -0.009012f, -0.008283f, 0.004642f, 0.000614f, 0.005577f, -0.003468f, -0.006759f, 0.001566f, -0.003871f, 0.005459f, 0.012205f, 0.007064f, 0.004449f, 0.003380f, 0.003249f, 0.003159f, -0.001400f, 0.013244f, 0.002441f, -0.002662f, 0.009861f, 0.010117f, 0.003725f, -0.005794f, -0.000680f, -0.008403f, 0.013179f, + 0.004592f, 0.010569f, -0.005367f, 0.010844f, 0.009642f, 0.014228f, 0.006918f, -0.004207f, -0.007656f, 0.011923f, 0.002296f, 0.010285f, 0.002206f, 0.002644f, 0.002579f, 0.002932f, 0.035269f, 0.012416f, -0.004658f, 0.007635f, -0.017667f, -0.018603f, -0.015263f, 0.034374f, -0.030702f, -0.038148f, 0.018297f, -0.035490f, 0.013192f, 0.001420f, 0.009702f, -0.015835f, -0.003815f, -0.019283f, -0.008184f, -0.014870f, 0.007212f, 0.017725f, 0.012208f, -0.028633f, 0.033382f, 0.004111f, 0.011677f, 0.003115f, 0.016086f, -0.003384f, 0.015453f, 0.003859f, -0.006871f, 0.009926f, 0.003611f, 0.013132f, 0.009005f, -0.021703f, 0.008765f, -0.006308f, 0.006160f, -0.004359f, -0.008101f, -0.006659f, -0.015270f, 0.014327f, 0.015270f, 0.016030f, -0.002969f, 0.029261f, 0.034880f, 0.014033f, 0.004579f, 0.015908f, 0.036152f, 0.017922f, 0.039436f, 0.025412f, 0.029399f, -0.031505f, -0.031792f, 0.006550f, -0.006450f, -0.008479f, 0.002483f, -0.015836f, 0.013224f, 0.009970f, 0.006217f, 0.030104f, -0.007055f, -0.019346f, -0.016279f, -0.014286f, 0.003492f, -0.006773f, -0.064477f, -0.027973f, -0.025099f, -0.009044f, + -0.013037f, -0.006697f, -0.009787f, -0.018230f, 0.000665f, -0.010928f, -0.010548f, 0.004353f, -0.010583f, -0.003244f, -0.016265f, 0.001041f, 0.000836f, -0.002482f, -0.023175f, 0.009654f, -0.000081f, 0.001208f, -0.017439f, 0.005376f, 0.006171f, 0.006837f, 0.001883f, 0.020349f, -0.013095f, -0.004852f, 0.004105f, 0.002359f, -0.001502f, 0.008487f, -0.009284f, -0.007699f, -0.001717f, 0.014510f, -0.001506f, 0.010609f, 0.011850f, -0.002369f, -0.014982f, -0.013196f, -0.001662f, 0.015157f, 0.001109f, -0.010510f, 0.001468f, -0.002147f, -0.007337f, -0.005228f, -0.002369f, 0.001074f, -0.011221f, -0.009256f, 0.028680f, 0.019479f, -0.062808f, -0.046389f, -0.014445f, -0.000606f, 0.020701f, -0.008637f, -0.001473f, -0.050009f, 0.007081f, -0.026207f, 0.018706f, -0.003668f, 0.024783f, -0.021282f, -0.005282f, -0.025253f, 0.004383f, 0.020498f, -0.009828f, 0.005929f, -0.014418f, 0.001000f, -0.033745f, -0.009456f, -0.001613f, 0.002321f, 0.025050f, 0.032458f, 0.001151f, -0.030036f, -0.021025f, -0.009803f, 0.003092f, -0.008050f, 0.009543f, -0.034525f, -0.010646f, -0.004878f, -0.008897f, -0.019483f, -0.004500f, -0.009085f, + 0.023435f, 0.033773f, 0.022949f, 0.008173f, 0.014036f, 0.014027f, -0.016336f, 0.056524f, 0.034452f, -0.044975f, -0.038655f, 0.041449f, -0.032730f, -0.019172f, 0.006484f, 0.004353f, -0.031766f, 0.030566f, 0.002071f, -0.096375f, 0.025790f, 0.060014f, -0.041674f, 0.041250f, 0.055682f, -0.018850f, -0.005692f, 0.029371f, -0.034654f, -0.023352f, 0.011662f, -0.019275f, -0.021646f, 0.024834f, -0.042059f, -0.013198f, 0.005485f, 0.000574f, 0.002465f, -0.004467f, 0.015510f, -0.011448f, 0.006669f, 0.001847f, -0.011127f, 0.021868f, 0.011456f, -0.001172f, -0.014164f, 0.016759f, -0.010748f, 0.012825f, -0.011447f, 0.015695f, 0.001727f, 0.002882f, 0.016414f, -0.013156f, -0.014197f, 0.003819f, -0.013097f, -0.008573f, -0.000588f, 0.000919f, -0.008715f, -0.016249f, 0.007496f, -0.037491f, -0.000001f, 0.016533f, -0.013647f, 0.009524f, -0.004179f, 0.004524f, -0.015495f, -0.000154f, 0.008488f, -0.007788f, 0.005557f, 0.032675f, -0.014795f, -0.014465f, 0.032666f, -0.024180f, -0.003974f, 0.026907f, -0.019597f, -0.012396f, 0.020599f, 0.012720f, 0.013509f, -0.003333f, -0.020223f, -0.016145f, 0.019014f, -0.015185f, + -0.001445f, 0.005667f, -0.028597f, 0.018589f, 0.015128f, -0.011562f, -0.009408f, -0.022295f, 0.000539f, -0.013795f, 0.019206f, -0.031307f, 0.002316f, 0.011996f, -0.001738f, -0.014898f, -0.032523f, -0.007308f, -0.014196f, -0.003165f, -0.025191f, 0.034234f, -0.033527f, 0.005845f, -0.012248f, 0.008599f, -0.047452f, 0.048802f, 0.009187f, 0.004865f, -0.019631f, 0.011113f, 0.007853f, 0.002116f, 0.004337f, -0.008739f, -0.037478f, -0.006500f, -0.016289f, -0.023993f, -0.032222f, -0.011617f, -0.008213f, -0.031929f, -0.012333f, -0.001528f, 0.021920f, 0.010120f, -0.029011f, -0.025286f, 0.015421f, -0.006679f, -0.036799f, -0.015873f, 0.008870f, 0.030117f, 0.029849f, 0.030425f, 0.048527f, -0.009430f, -0.033158f, -0.031623f, -0.002158f, 0.021298f, 0.037751f, 0.016955f, 0.007983f, -0.038756f, 0.021597f, 0.008006f, 0.036805f, 0.025583f, 0.016576f, 0.012560f, -0.000180f, 0.003167f, 0.021573f, -0.005294f, 0.001321f, 0.003724f, 0.006079f, 0.007346f, 0.006782f, 0.010374f, 0.025903f, 0.008070f, 0.001656f, 0.008834f, -0.000901f, 0.008223f, 0.002132f, 0.001371f, 0.015937f, -0.019891f, -0.014329f, -0.005405f, + 0.007005f, -0.010176f, 0.006124f, -0.004564f, 0.020076f, 0.000551f, 0.003023f, -0.010897f, -0.013676f, 0.000928f, 0.011493f, -0.011484f, -0.001712f, 0.013574f, -0.011857f, -0.000914f, 0.006006f, -0.020042f, 0.023649f, 0.012712f, -0.004828f, 0.005518f, -0.001454f, -0.000533f, -0.006374f, 0.013396f, 0.022623f, 0.061227f, -0.054004f, -0.001561f, -0.021549f, -0.028568f, -0.017149f, 0.028019f, -0.015378f, -0.016630f, 0.014299f, 0.036084f, 0.022651f, -0.027071f, 0.017436f, -0.028406f, 0.020833f, 0.001186f, -0.003268f, -0.013728f, -0.021268f, -0.017062f, 0.003521f, 0.003927f, -0.033598f, 0.021314f, 0.003437f, -0.002979f, -0.012807f, -0.014174f, 0.023729f, -0.032482f, -0.001621f, 0.035473f, 0.041551f, -0.037253f, -0.002585f, -0.007341f, -0.024266f, -0.031183f, 0.034109f, 0.007875f, 0.021648f, -0.006611f, 0.002560f, -0.002854f, 0.021549f, -0.008326f, 0.001070f, -0.026699f, 0.038349f, 0.032186f, -0.046985f, -0.057179f, -0.012255f, 0.000823f, -0.018973f, 0.002068f, -0.014131f, 0.004542f, -0.029202f, 0.030999f, -0.037513f, -0.032585f, -0.012337f, 0.005592f, 0.025690f, -0.013289f, 0.037278f, 0.004153f, + -0.013481f, -0.012564f, -0.009941f, -0.023312f, 0.022663f, 0.017264f, -0.006320f, 0.014648f, 0.011176f, -0.018167f, -0.018548f, -0.015345f, 0.028859f, 0.007955f, -0.020876f, 0.003059f, 0.008044f, 0.010201f, -0.031070f, 0.016386f, 0.012229f, 0.006454f, -0.000455f, -0.008044f, 0.003991f, -0.008844f, -0.027659f, 0.006418f, -0.003795f, -0.004269f, -0.003356f, 0.003464f, -0.008477f, -0.009750f, -0.000705f, -0.003032f, 0.013623f, -0.006536f, -0.003952f, 0.008766f, -0.003809f, -0.012132f, 0.010734f, -0.012077f, -0.004344f, -0.021652f, 0.011920f, 0.003300f, -0.003330f, 0.004916f, -0.010214f, 0.020979f, -0.001381f, 0.004378f, 0.022525f, 0.017209f, -0.006368f, -0.006362f, 0.010802f, 0.007135f, -0.007842f, 0.005421f, -0.007195f, -0.005490f, -0.001437f, 0.006186f, -0.082865f, 0.122767f, -0.084348f, -0.021576f, 0.022213f, 0.066278f, 0.053880f, -0.019938f, -0.021576f, 0.003463f, 0.003077f, 0.034143f, 0.012609f, -0.045328f, 0.013584f, -0.009868f, -0.015898f, 0.004350f, 0.018521f, -0.000357f, -0.033920f, -0.030022f, 0.015839f, 0.012818f, 0.020975f, -0.011596f, 0.025964f, 0.005924f, 0.030452f, -0.003293f, + -0.010375f, 0.022394f, -0.002714f, -0.024225f, 0.004212f, 0.027837f, -0.001184f, -0.032083f, 0.015873f, 0.037045f, -0.034257f, 0.013378f, -0.036799f, 0.014419f, -0.046503f, -0.030550f, 0.051258f, 0.047616f, 0.022475f, 0.062054f, -0.011918f, 0.074109f, 0.027644f, 0.028477f, 0.039930f, -0.067424f, 0.056763f, 0.019209f, 0.022993f, 0.026018f, 0.006318f, -0.033005f, 0.005414f, 0.062501f, 0.071448f, -0.001027f, -0.080739f, 0.039539f, 0.002271f, 0.016713f, -0.002710f, 0.001723f, -0.017512f, -0.061115f, 0.012401f, -0.010328f, 0.013832f, -0.011564f, 0.030284f, -0.034460f, -0.036600f, -0.026059f, 0.005466f, -0.011369f, -0.016383f, 0.019419f, 0.007898f, -0.026541f, -0.027679f, -0.022264f, -0.016214f, -0.003207f, -0.004168f, 0.014249f, -0.000180f, -0.022818f, 0.018056f, 0.003223f, -0.005302f, 0.000672f, 0.009059f, -0.011560f, -0.005233f, 0.010845f, -0.019437f, -0.008747f, -0.013164f, 0.011226f, 0.014912f, -0.016951f, 0.005395f, -0.044859f, 0.001401f, 0.001813f, 0.002998f, -0.009072f, -0.007751f, -0.020464f, -0.014456f, 0.009798f, 0.007236f, 0.009374f, 0.016284f, -0.015226f, 0.001983f, 0.005619f, + 0.004776f, -0.014941f, 0.000928f, 0.003213f, 0.000363f, -0.012352f, -0.000820f, 0.081324f, -0.003119f, -0.096436f, -0.048938f, -0.056714f, -0.021838f, 0.000645f, 0.031740f, -0.082175f, -0.018563f, 0.013098f, -0.038500f, -0.044040f, -0.040371f, -0.043965f, -0.007244f, 0.048846f, 0.024870f, -0.019154f, 0.023255f, 0.009743f, -0.022460f, 0.025275f, -0.028335f, -0.006092f, 0.011588f, 0.016775f, -0.056136f, 0.028265f, -0.027711f, 0.016173f, -0.011197f, -0.044813f, 0.012291f, 0.014108f, 0.006742f, 0.007528f, -0.018889f, -0.063679f, 0.002358f, 0.013306f, 0.013660f, 0.000764f, 0.007710f, -0.026373f, -0.000576f, -0.002149f, 0.057676f, -0.008815f, -0.095574f, -0.042961f, -0.010641f, -0.079082f, 0.017731f, -0.024110f, -0.020511f, -0.038089f, -0.017400f, -0.056932f, -0.056187f, -0.068483f, -0.007156f, 0.072186f, 0.009566f, -0.045620f, 0.020672f, 0.000662f, -0.005430f, -0.025660f, -0.036469f, 0.015166f, 0.029319f, 0.022625f, 0.011888f, -0.013675f, -0.058856f, -0.041702f, -0.059260f, 0.008637f, 0.005992f, -0.002081f, 0.020455f, -0.031023f, -0.037966f, -0.005324f, -0.014424f, -0.038339f, 0.007780f, 0.022000f, + 0.002445f, 0.008014f, 0.036191f, -0.006693f, -0.008301f, -0.006367f, 0.001728f, -0.013286f, -0.008047f, 0.016367f, 0.024423f, 0.027413f, 0.017768f, -0.007712f, 0.000455f, 0.004187f, -0.012297f, 0.025356f, -0.011263f, 0.037047f, -0.013923f, 0.017319f, -0.018607f, -0.005083f, 0.036849f, 0.012368f, 0.004262f, -0.000338f, -0.015709f, 0.014702f, 0.002284f, -0.018543f, 0.007343f, -0.015899f, -0.021204f, 0.005661f, 0.005035f, -0.012677f, -0.013175f, 0.012676f, -0.000362f, 0.017894f, 0.002831f, 0.012118f, -0.007811f, 0.005223f, 0.003993f, 0.053071f, -0.005838f, 0.042437f, 0.055868f, -0.047313f, -0.058176f, -0.062278f, 0.016758f, 0.021138f, -0.084164f, -0.049447f, 0.002244f, 0.001913f, 0.026069f, -0.099044f, 0.011096f, 0.022260f, 0.068896f, -0.079444f, 0.009918f, 0.012425f, -0.009263f, 0.043009f, -0.024482f, 0.075759f, -0.003613f, 0.006204f, 0.023590f, 0.029109f, -0.028241f, -0.062129f, 0.036495f, 0.042982f, 0.010629f, 0.054523f, 0.011283f, -0.007513f, -0.019978f, -0.047075f, 0.072677f, -0.032756f, 0.068918f, 0.026470f, -0.004425f, 0.019705f, -0.028246f, 0.036428f, 0.037152f, -0.025979f, + 0.027804f, 0.013376f, -0.070945f, 0.051710f, 0.053787f, -0.007173f, -0.035834f, 0.006457f, -0.001073f, 0.001877f, -0.012184f, 0.098156f, -0.001118f, -0.057659f, -0.031330f, 0.010758f, -0.081840f, -0.108591f, 0.015568f, 0.134908f, 0.030683f, -0.009961f, -0.085640f, -0.022332f, -0.013553f, 0.091828f, -0.062266f, -0.040799f, -0.151094f, -0.022382f, -0.026962f, -0.036166f, -0.027628f, 0.055458f, 0.060489f, -0.059749f, -0.022158f, 0.019236f, 0.009187f, -0.011210f, 0.025430f, -0.010790f, -0.017782f, -0.019023f, 0.022090f, 0.008088f, 0.007873f, -0.007890f, 0.021722f, -0.021669f, -0.006177f, 0.017916f, 0.009520f, -0.001521f, 0.000304f, -0.016234f, 0.008881f, -0.010869f, 0.040578f, -0.011072f, -0.020189f, -0.017845f, -0.032441f, -0.011719f, 0.027281f, 0.029087f, 0.081431f, 0.030219f, -0.007736f, -0.061360f, -0.083098f, -0.039817f, 0.002698f, 0.034320f, 0.029438f, -0.022779f, -0.032137f, -0.017318f, -0.012240f, 0.020729f, 0.037942f, 0.007824f, 0.003680f, -0.004772f, -0.011305f, -0.011183f, -0.134865f, 0.039154f, 0.065275f, -0.086858f, -0.007425f, 0.048685f, -0.020569f, -0.039084f, 0.035314f, -0.037712f, + -0.020218f, 0.002859f, -0.027937f, 0.045787f, -0.015011f, -0.020931f, -0.007559f, 0.024185f, 0.083297f, -0.012922f, -0.037723f, -0.042638f, 0.015807f, 0.039588f, 0.024133f, -0.037690f, -0.005483f, 0.045055f, 0.001668f, -0.034168f, 0.011769f, -0.030503f, 0.077068f, -0.034694f, -0.082575f, 0.028616f, -0.013524f, 0.039564f, -0.055176f, -0.054775f, 0.055371f, -0.004494f, -0.070749f, -0.037919f, -0.067581f, 0.087993f, 0.042907f, 0.023664f, -0.092349f, 0.016400f, 0.038742f, -0.065171f, 0.004280f, -0.046853f, -0.034991f, 0.036225f, -0.031064f, 0.041581f, -0.025583f, -0.056661f, -0.012307f, -0.014145f, -0.007910f, 0.019288f, 0.007237f, -0.035473f, 0.110213f, -0.013692f, 0.049160f, 0.049694f, 0.030880f, -0.015170f, 0.012055f, -0.025149f, 0.062212f, 0.014953f, -0.015068f, 0.007110f, 0.026721f, 0.042547f, -0.010150f, -0.093439f, -0.005823f, 0.028718f, -0.008765f, 0.048854f, -0.020343f, 0.016623f, -0.006993f, 0.000916f, 0.020754f, 0.004527f, 0.012823f, 0.024703f, 0.015356f, 0.028732f, -0.006523f, 0.009047f, 0.015880f, 0.001588f, -0.029472f, 0.035421f, -0.014441f, -0.000244f, 0.005989f, -0.018404f, + 0.009663f, 0.001364f, -0.004350f, 0.024453f, -0.010856f, 0.001330f, 0.036446f, -0.000895f, 0.020468f, -0.018153f, -0.010987f, 0.018915f, -0.004209f, -0.013962f, -0.018522f, 0.000417f, 0.002897f, 0.003934f, -0.005992f, 0.004028f, 0.011539f, -0.004673f, 0.097570f, 0.020355f, 0.042106f, -0.003329f, 0.009957f, 0.015770f, -0.035871f, 0.015943f, 0.033868f, 0.000604f, -0.041233f, -0.021631f, -0.030666f, -0.012172f, -0.041324f, -0.039340f, 0.004659f, -0.031301f, 0.046042f, 0.015287f, -0.011099f, -0.033275f, -0.016400f, -0.010755f, 0.024662f, -0.007419f, -0.039101f, -0.031743f, 0.007810f, 0.008627f, 0.021931f, 0.008735f, -0.008875f, 0.010628f, -0.034141f, -0.102712f, 0.003986f, 0.125296f, -0.003989f, -0.090560f, -0.015094f, 0.059802f, 0.016241f, 0.010025f, -0.002010f, -0.039153f, -0.049517f, -0.029095f, 0.010867f, -0.002695f, -0.045829f, 0.017135f, -0.091836f, -0.016033f, 0.084409f, 0.025288f, 0.108678f, -0.013986f, -0.043359f, -0.012630f, -0.009941f, 0.029556f, 0.006007f, -0.000446f, -0.059802f, -0.029537f, -0.028781f, -0.003634f, 0.068663f, -0.008894f, -0.017223f, 0.023095f, 0.027606f, 0.004870f, + -0.037077f, -0.056927f, -0.004496f, 0.023634f, -0.002903f, -0.028045f, -0.007643f, 0.016439f, -0.012418f, -0.010287f, -0.019127f, 0.035039f, 0.036180f, -0.017936f, -0.009987f, -0.016441f, 0.014499f, 0.021996f, -0.010358f, 0.003563f, -0.004195f, -0.002554f, -0.007195f, -0.026957f, 0.002650f, 0.016112f, -0.016988f, 0.004565f, -0.004369f, 0.001703f, -0.015249f, -0.004540f, -0.006632f, -0.009285f, -0.011660f, -0.011121f, -0.003663f, 0.049435f, -0.024669f, 0.000773f, -0.009937f, 0.003178f, 0.026721f, -0.017802f, -0.002929f, -0.004745f, 0.008181f, -0.000771f, 0.007414f, -0.013552f, -0.043171f, -0.144375f, -0.222360f, 0.052273f, 0.199479f, 0.062624f, 0.487611f, 0.458819f, 0.204428f, 0.473100f, 0.200180f, -0.086074f, -0.001192f, -0.142615f, -0.389207f, -0.212877f, -0.203691f, -0.399397f, -0.290366f, -0.167156f, -0.251186f, -0.169320f, 0.037023f, -0.014939f, -0.080219f, 0.095037f, 0.089318f, -0.000661f, 0.095736f, 0.258977f, 0.109074f, 0.048547f, 0.248405f, 0.221769f, 0.074829f, 0.264238f, 0.323893f, -0.000814f, 0.191968f, 0.326000f, 0.123810f, 0.130144f, 0.332872f, 0.198420f, -0.026108f, 0.259302f, + 0.182444f, -0.071107f, 0.102134f, 0.206180f, -0.092251f, -0.164220f, -0.036814f, -0.346707f, -0.581270f, -0.563271f, -0.625726f, -1.001658f, -0.866514f, -0.715360f, -0.926421f, -0.794822f, -0.510352f, -0.605542f, -0.462344f, -0.128386f, -0.041171f, 0.195494f, 0.364744f, 0.600649f, 0.805387f, 0.877962f, 1.024662f, 1.112340f, 1.039608f, 0.984164f, 1.044645f, 0.794230f, 0.630174f, 0.747032f, 0.407789f, 0.064716f, 0.094243f, -0.151435f, -0.552153f, -0.464150f, -0.343011f, -0.495610f, -0.506269f, -0.316379f, -0.359504f, -0.453919f, -0.332308f, -0.302755f, -0.426533f, -0.383254f, -0.249605f, -0.318060f, -0.341036f, -0.112226f, -0.107436f, -0.201904f, -0.021281f, 0.075952f, -0.057759f, 0.010167f, 0.075912f, -0.109339f, -0.140686f, -0.134140f, -0.292477f, -0.323546f, -0.226237f, -0.170644f, -0.124064f, 0.041057f, 0.197702f, 0.268255f, 0.381031f, 0.487777f, 0.509941f, 0.540362f, 0.598248f, 0.566790f, 0.515682f, 0.536524f, 0.486262f, 0.360798f, 0.247529f, 0.063928f, -0.096958f, -0.248161f, -0.360048f, -0.403971f, -0.425017f, -0.380076f, -0.291161f, -0.255944f, -0.215568f, -0.177357f, -0.152950f, -0.135737f, + -0.102010f, -0.080437f, -0.073900f, -0.073093f, -0.051707f, -0.040916f, -0.033194f, -0.015331f, 0.010235f, 0.031010f, 0.059291f, 0.059421f, 0.057100f, 0.050854f, 0.032928f, 0.012507f, 0.007024f, 0.000373f}, + {-0.001031f, 0.020775f, -0.010300f, 0.000820f, -0.006145f, -0.000472f, 0.008781f, 0.004167f, 0.005509f, -0.004806f, 0.006824f, -0.007055f, 0.007661f, 0.003830f, 0.009233f, 0.003900f, -0.001758f, -0.010426f, 0.011212f, 0.007732f, 0.002841f, 0.001320f, 0.001038f, -0.004430f, -0.005079f, 0.005801f, 0.003548f, 0.003791f, 0.005562f, -0.005657f, -0.000442f, 0.005227f, 0.006181f, -0.000805f, -0.004628f, -0.008777f, 0.000021f, 0.001642f, -0.005319f, 0.001988f, 0.001399f, -0.007911f, -0.004294f, -0.000600f, 0.004005f, 0.000093f, -0.003873f, 0.007392f, 0.001360f, -0.002496f, -0.005490f, -0.001214f, 0.000627f, -0.010330f, 0.004748f, 0.006479f, -0.003618f, 0.008296f, 0.006765f, -0.001071f, 0.005590f, 0.003326f, 0.010951f, 0.003465f, 0.002024f, -0.001700f, 0.004104f, -0.008824f, 0.001104f, 0.004246f, -0.004412f, 0.004860f, 0.005811f, 0.006435f, 0.003970f, 0.008454f, -0.001852f, -0.005115f, -0.002703f, -0.002156f, 0.001078f, -0.001940f, -0.006603f, 0.003124f, -0.003140f, -0.003439f, -0.004025f, 0.001530f, -0.000051f, -0.002002f, -0.001638f, 0.002630f, 0.000146f, -0.000285f, -0.000752f, -0.000241f, + 0.001182f, 0.001772f, -0.000335f, -0.000085f, -0.001539f, 0.000436f, -0.002730f, 0.000276f, 0.001739f, 0.002393f, -0.001745f, -0.001776f, 0.000358f, 0.001568f, -0.019711f, -0.013786f, -0.001963f, -0.008876f, -0.007597f, 0.003739f, -0.011226f, -0.010823f, 0.003114f, -0.004902f, -0.004400f, 0.004507f, -0.003546f, -0.007666f, -0.000839f, -0.000578f, -0.002171f, -0.003506f, -0.002075f, -0.008792f, -0.000553f, -0.006340f, -0.004593f, -0.000239f, 0.007858f, -0.001744f, 0.011358f, -0.005904f, 0.006821f, 0.007846f, -0.008815f, 0.003074f, -0.002239f, 0.001711f, -0.006244f, 0.003094f, 0.004024f, 0.006055f, -0.003118f, -0.007388f, -0.002585f, -0.004049f, 0.002355f, 0.002876f, -0.008978f, -0.001121f, -0.006170f, -0.004939f, 0.001669f, -0.007336f, -0.011777f, -0.002194f, 0.011534f, 0.002567f, 0.004026f, 0.000642f, 0.002638f, 0.001594f, 0.004234f, 0.004581f, 0.012936f, 0.000988f, -0.005775f, -0.007416f, -0.001617f, -0.003521f, -0.000978f, -0.015014f, 0.003096f, -0.001047f, 0.004778f, -0.001987f, 0.001312f, -0.003564f, -0.001784f, 0.014740f, 0.002928f, 0.013519f, -0.004604f, -0.002434f, 0.001006f, 0.003866f, + 0.001283f, 0.004604f, -0.004515f, 0.004998f, -0.005260f, -0.003214f, 0.002655f, 0.001972f, -0.000224f, 0.000269f, 0.000080f, -0.001099f, 0.000339f, -0.001962f, -0.000216f, -0.000651f, -0.000359f, 0.000912f, 0.000990f, -0.001068f, -0.001938f, -0.001143f, 0.000092f, 0.000115f, 0.000290f, 0.000673f, -0.000827f, -0.000828f, -0.000842f, 0.000250f, -0.000345f, 0.001090f, 0.016001f, 0.018501f, 0.014192f, 0.010580f, 0.014920f, 0.006087f, 0.006469f, -0.001338f, 0.004219f, 0.015755f, 0.001651f, 0.004822f, -0.005874f, -0.003873f, 0.012027f, -0.008065f, -0.014777f, 0.004486f, -0.012351f, 0.010658f, 0.002479f, 0.012784f, -0.004093f, -0.000780f, -0.003176f, 0.004215f, 0.005080f, -0.000160f, -0.012583f, -0.002570f, 0.010725f, -0.007139f, 0.004819f, 0.002865f, -0.002455f, -0.003076f, 0.011921f, 0.009029f, 0.020818f, 0.008362f, 0.001700f, 0.005009f, -0.001794f, 0.001282f, 0.006536f, 0.003930f, 0.017738f, -0.007597f, -0.005103f, 0.001251f, 0.004544f, -0.002786f, 0.008204f, -0.007704f, 0.001567f, -0.000497f, -0.005958f, 0.001853f, 0.001750f, -0.008020f, -0.010898f, -0.006715f, 0.008568f, 0.004176f, + 0.000001f, -0.000692f, 0.006457f, 0.000497f, 0.002117f, 0.011265f, 0.005520f, -0.002680f, -0.001829f, 0.010014f, -0.008717f, 0.001153f, -0.007862f, -0.003520f, -0.010151f, 0.002757f, -0.002142f, -0.005995f, -0.003966f, 0.005869f, 0.003581f, 0.001049f, 0.003410f, -0.005617f, -0.000981f, -0.000479f, 0.004314f, 0.000126f, 0.000272f, 0.000804f, 0.001261f, 0.003201f, 0.003553f, 0.002833f, 0.000181f, 0.001514f, 0.003212f, 0.000183f, -0.002994f, 0.002735f, -0.001539f, -0.000585f, 0.000627f, -0.000498f, 0.002349f, 0.002171f, 0.001049f, -0.000005f, -0.000869f, -0.000861f, 0.000987f, 0.001367f, 0.000460f, 0.002087f, -0.004262f, -0.002699f, 0.002075f, -0.000149f, 0.034813f, -0.000618f, 0.017055f, -0.003094f, -0.002668f, 0.018291f, -0.017908f, -0.006206f, -0.001397f, 0.009032f, 0.006275f, -0.003841f, 0.003482f, 0.001685f, -0.016224f, 0.004095f, 0.008673f, 0.007697f, -0.018186f, -0.006404f, 0.002043f, -0.013049f, -0.003596f, 0.000983f, 0.000576f, 0.001758f, -0.002018f, 0.008287f, -0.005889f, 0.006585f, 0.013613f, 0.013595f, -0.003976f, -0.007834f, -0.001417f, 0.015314f, -0.000901f, -0.000853f, + 0.000089f, 0.001478f, -0.007997f, 0.001329f, 0.006426f, 0.000932f, 0.001501f, 0.006141f, -0.004126f, 0.004120f, 0.002382f, -0.001731f, 0.010749f, 0.001015f, 0.008537f, 0.001646f, -0.002914f, 0.003692f, 0.005690f, 0.004891f, -0.000294f, -0.008491f, -0.007725f, -0.010215f, -0.004573f, -0.000420f, -0.000041f, -0.001253f, 0.007502f, 0.006426f, -0.004967f, -0.010031f, 0.000262f, 0.005097f, 0.006163f, -0.006171f, -0.001196f, 0.005803f, -0.000591f, -0.000899f, 0.007755f, 0.003575f, 0.003638f, -0.003007f, -0.002586f, -0.000561f, 0.003298f, 0.004929f, 0.000037f, 0.003704f, 0.001291f, 0.000210f, 0.000653f, 0.001157f, 0.004593f, 0.003400f, 0.005177f, -0.002787f, 0.002392f, 0.000234f, 0.000570f, -0.000893f, 0.000452f, 0.000650f, 0.000132f, 0.000549f, -0.000966f, 0.002376f, 0.002362f, -0.002438f, 0.000497f, 0.001255f, 0.001437f, -0.000908f, 0.004755f, -0.009356f, -0.025957f, -0.006806f, -0.008788f, 0.001634f, 0.004330f, -0.004475f, -0.005199f, -0.049042f, 0.000981f, 0.015665f, -0.011435f, -0.018411f, 0.013719f, -0.020829f, -0.003147f, -0.009374f, -0.010918f, -0.006877f, -0.006862f, 0.000632f, + 0.008311f, -0.001636f, 0.004627f, -0.005415f, 0.006263f, -0.004931f, -0.007439f, 0.003144f, -0.002798f, -0.011842f, -0.014976f, 0.007019f, 0.000698f, 0.006927f, 0.002147f, 0.015662f, 0.002218f, 0.005343f, -0.007605f, -0.013291f, -0.003831f, -0.006670f, 0.013123f, -0.006276f, 0.000328f, 0.003270f, -0.006539f, 0.018231f, 0.012159f, 0.000118f, -0.014652f, -0.018717f, -0.006317f, 0.006035f, -0.016768f, -0.000567f, -0.008163f, -0.016094f, 0.001469f, -0.025118f, -0.005535f, -0.002806f, -0.009298f, 0.016640f, -0.001048f, -0.002794f, -0.000284f, 0.010368f, 0.013412f, 0.003885f, -0.013444f, -0.004495f, -0.003408f, 0.007088f, 0.003384f, 0.004006f, -0.007554f, -0.009773f, 0.007545f, 0.004996f, 0.001894f, 0.002391f, -0.000474f, 0.004166f, 0.001199f, 0.006352f, 0.001845f, 0.001369f, -0.000548f, -0.000335f, 0.001040f, 0.004047f, 0.005975f, 0.003525f, -0.001456f, 0.002240f, -0.007461f, 0.003722f, 0.004452f, -0.001388f, -0.000618f, 0.001237f, -0.001677f, -0.000602f, -0.000405f, -0.002430f, -0.002405f, -0.001447f, -0.000701f, 0.001278f, 0.002976f, -0.000589f, -0.003432f, -0.000145f, -0.004852f, 0.001538f, + 0.006686f, 0.002746f, 0.003955f, 0.002675f, 0.010391f, -0.028031f, -0.041317f, 0.005015f, -0.009467f, 0.009153f, -0.011600f, -0.020566f, 0.000466f, 0.018807f, 0.003810f, 0.011520f, 0.009194f, 0.007109f, 0.004542f, -0.006661f, 0.005007f, 0.012486f, -0.019677f, -0.009238f, -0.006575f, -0.004443f, 0.007151f, -0.001657f, 0.002433f, 0.012965f, 0.011286f, -0.004635f, -0.011114f, 0.002571f, -0.006241f, -0.004751f, -0.010772f, -0.007476f, -0.016383f, 0.003921f, -0.006145f, -0.000141f, 0.014489f, -0.002906f, 0.002754f, 0.003838f, -0.010442f, 0.008756f, 0.008627f, 0.012108f, -0.010638f, 0.019118f, -0.003131f, -0.013977f, -0.011827f, -0.015289f, 0.014239f, -0.005379f, -0.016258f, 0.004943f, -0.002508f, -0.011446f, 0.012192f, 0.016389f, -0.005656f, -0.013674f, 0.010157f, 0.003227f, 0.007966f, -0.001182f, 0.022044f, 0.012960f, -0.012848f, -0.006374f, -0.006054f, -0.005006f, 0.007374f, 0.010093f, 0.013096f, -0.000017f, 0.001754f, 0.005026f, -0.005166f, 0.004781f, -0.001401f, 0.008456f, 0.012038f, -0.016282f, -0.007238f, -0.008207f, -0.005081f, -0.008385f, -0.000606f, -0.005943f, 0.002794f, -0.000360f, + -0.000472f, -0.000732f, 0.002239f, -0.004046f, 0.010251f, -0.001312f, 0.004411f, 0.001496f, 0.002190f, -0.002032f, 0.000477f, 0.000233f, 0.000688f, -0.003486f, 0.000813f, -0.002286f, -0.003472f, -0.005424f, -0.001482f, -0.000376f, -0.000780f, 0.000145f, 0.000757f, -0.001148f, -0.000600f, -0.002079f, -0.001741f, 0.003138f, -0.038582f, -0.000026f, -0.007008f, 0.002558f, -0.000070f, 0.014559f, 0.010678f, 0.015080f, -0.002445f, 0.020570f, -0.009559f, 0.013989f, 0.017124f, 0.003159f, 0.017068f, 0.003689f, 0.004439f, -0.004781f, -0.001742f, -0.007171f, 0.013533f, -0.000831f, -0.001536f, 0.019064f, 0.011517f, 0.000187f, 0.005140f, -0.001613f, -0.000635f, 0.012402f, -0.007081f, -0.012251f, -0.000007f, -0.001691f, 0.006299f, -0.034662f, 0.020856f, 0.022501f, 0.008883f, 0.004387f, 0.000601f, -0.011015f, -0.023117f, 0.015284f, -0.009314f, -0.010506f, -0.007036f, 0.013719f, -0.009650f, 0.008467f, 0.008591f, -0.008206f, -0.005435f, -0.019963f, 0.009199f, -0.012984f, 0.007713f, 0.001293f, 0.006907f, 0.012143f, 0.019384f, 0.008317f, -0.008937f, -0.021316f, -0.003755f, 0.013046f, 0.021360f, 0.016034f, + -0.003236f, -0.004239f, -0.013730f, -0.022831f, -0.002417f, 0.015790f, 0.007048f, 0.004977f, -0.005067f, 0.020955f, -0.000715f, 0.007043f, 0.002028f, -0.004071f, 0.001980f, -0.010717f, -0.005214f, -0.005431f, 0.003561f, -0.002711f, -0.007649f, -0.004535f, -0.005287f, -0.005740f, 0.002282f, -0.008159f, -0.003391f, 0.001537f, 0.001396f, 0.006258f, 0.000327f, 0.000860f, 0.001072f, -0.001741f, 0.005124f, -0.001656f, 0.005828f, 0.002072f, -0.001685f, -0.004527f, -0.000248f, 0.005590f, 0.003992f, -0.000756f, -0.005504f, -0.001496f, 0.004836f, 0.004299f, 0.000601f, -0.001048f, -0.000683f, -0.003383f, 0.003717f, 0.014762f, 0.050423f, 0.027558f, -0.002427f, 0.004900f, 0.004506f, 0.011231f, 0.019959f, -0.002660f, 0.003954f, 0.033859f, 0.003488f, -0.001340f, 0.020391f, 0.014330f, -0.013996f, 0.008514f, 0.002089f, 0.013712f, 0.009392f, -0.023289f, 0.017885f, -0.010707f, -0.001491f, 0.002148f, 0.014013f, 0.002642f, 0.003837f, 0.010757f, 0.012235f, -0.011479f, 0.012567f, 0.037403f, -0.006518f, 0.017100f, 0.017458f, -0.009133f, 0.013705f, 0.003747f, -0.008910f, -0.009574f, 0.006676f, -0.008545f, + -0.023123f, -0.002871f, -0.001034f, 0.002509f, -0.029615f, -0.007120f, 0.009165f, -0.018646f, -0.012594f, -0.030792f, 0.010261f, 0.014338f, -0.021102f, -0.007428f, -0.010164f, 0.022484f, 0.000569f, -0.012697f, -0.008939f, -0.014155f, 0.007184f, 0.018824f, -0.013291f, 0.007311f, -0.005645f, 0.009120f, 0.021184f, 0.008981f, 0.016688f, 0.017039f, 0.021149f, 0.003314f, -0.011853f, -0.011758f, 0.008476f, 0.013468f, 0.001931f, 0.009068f, -0.009488f, 0.003852f, -0.001172f, -0.002887f, -0.009966f, 0.001420f, -0.004434f, 0.000620f, 0.008075f, 0.003472f, 0.003390f, 0.002780f, 0.008915f, -0.005512f, 0.000292f, -0.001466f, 0.002629f, -0.001023f, 0.000271f, 0.003844f, 0.000972f, -0.003131f, 0.004747f, -0.001033f, -0.006919f, 0.004289f, -0.004960f, -0.003928f, -0.005144f, -0.010314f, 0.005522f, -0.002365f, 0.004659f, -0.000550f, -0.001041f, 0.001375f, 0.007606f, 0.005159f, 0.006775f, 0.003176f, -0.000172f, 0.002792f, 0.007811f, -0.003233f, 0.051833f, 0.013948f, 0.002101f, -0.002904f, -0.007519f, 0.000413f, 0.009693f, -0.006201f, -0.011997f, -0.017650f, 0.001323f, 0.012767f, -0.015801f, 0.007863f, + 0.010365f, -0.004350f, 0.034979f, 0.012474f, -0.008729f, -0.005873f, -0.002650f, 0.012674f, -0.005202f, -0.011566f, -0.012869f, 0.008153f, -0.028063f, 0.001100f, -0.007942f, -0.010132f, 0.008936f, 0.002098f, -0.010317f, -0.006231f, -0.009918f, 0.014107f, -0.004662f, -0.022083f, -0.002746f, 0.000631f, 0.001603f, -0.012755f, -0.018171f, 0.001836f, -0.003448f, -0.002334f, 0.006090f, -0.003713f, 0.016901f, 0.003634f, 0.010052f, -0.010703f, 0.024631f, 0.007307f, -0.012414f, 0.016486f, 0.031176f, -0.008834f, -0.007771f, 0.016150f, 0.014693f, 0.006300f, 0.008905f, -0.019142f, -0.005235f, -0.020706f, 0.006039f, 0.019707f, 0.008752f, -0.024297f, -0.005073f, 0.007903f, -0.024262f, -0.037735f, -0.003390f, 0.001409f, 0.010657f, 0.034579f, 0.002638f, -0.003751f, -0.010861f, -0.007975f, 0.005277f, 0.008895f, 0.007209f, -0.000359f, 0.003761f, 0.000507f, -0.007722f, 0.004887f, 0.005816f, -0.009513f, -0.009388f, 0.010623f, -0.003627f, 0.006318f, 0.004533f, 0.003275f, -0.002764f, 0.002425f, -0.000397f, 0.003798f, 0.000741f, 0.005678f, 0.000005f, 0.005039f, 0.003252f, 0.001275f, -0.004622f, 0.010295f, + 0.003067f, 0.009417f, -0.002094f, -0.002894f, 0.003211f, -0.005991f, -0.001211f, 0.004585f, -0.005974f, 0.001693f, 0.003193f, 0.002251f, 0.002032f, 0.005139f, -0.002111f, -0.008803f, -0.000286f, -0.000745f, -0.009716f, 0.001605f, -0.004174f, -0.040228f, 0.018914f, 0.053473f, -0.021995f, 0.037529f, -0.008490f, -0.008087f, -0.011757f, -0.019386f, 0.014370f, 0.000552f, 0.009805f, 0.009719f, -0.035139f, 0.000468f, 0.016315f, -0.014236f, -0.007561f, -0.022118f, 0.039113f, -0.024411f, 0.019282f, 0.018230f, -0.023335f, -0.009595f, -0.008166f, 0.016430f, -0.018675f, -0.007597f, 0.018944f, -0.003297f, -0.005111f, -0.009233f, 0.023114f, 0.004091f, -0.003773f, -0.009504f, 0.000585f, -0.017596f, 0.019053f, -0.002250f, 0.008752f, 0.047594f, 0.031912f, -0.027381f, -0.019403f, 0.007490f, -0.002489f, 0.019921f, -0.010958f, -0.016048f, -0.005722f, -0.029844f, -0.011537f, -0.003529f, -0.022939f, -0.013089f, 0.050857f, 0.012151f, 0.000176f, -0.002481f, -0.000564f, 0.014989f, 0.017919f, -0.003761f, 0.017702f, 0.001442f, -0.009718f, 0.001938f, -0.027131f, -0.002020f, -0.025138f, -0.013554f, 0.015164f, 0.022228f, + -0.033333f, 0.013559f, -0.008532f, -0.010556f, 0.016170f, -0.002337f, -0.015332f, -0.000842f, -0.005997f, -0.011991f, 0.006187f, 0.004501f, -0.008370f, -0.020653f, -0.009946f, -0.002025f, -0.001609f, 0.016414f, 0.004884f, 0.004153f, -0.008877f, 0.000222f, -0.003637f, 0.008848f, 0.009845f, -0.005157f, 0.004228f, 0.007495f, 0.008107f, 0.006443f, 0.009216f, -0.003526f, 0.000681f, -0.006194f, 0.000546f, -0.007227f, -0.003870f, 0.002943f, -0.001989f, -0.005791f, -0.001358f, 0.003301f, -0.009766f, -0.004669f, -0.005274f, -0.002774f, -0.003698f, -0.004278f, -0.042601f, 0.007229f, 0.039609f, -0.010486f, -0.010045f, 0.008459f, -0.012231f, -0.010111f, 0.011212f, -0.001588f, -0.002177f, -0.000588f, -0.026798f, 0.045451f, -0.048384f, -0.004777f, -0.001062f, 0.016477f, 0.010032f, 0.000474f, -0.018339f, -0.013341f, 0.005842f, 0.035458f, -0.002845f, -0.015816f, -0.010680f, -0.025383f, -0.001673f, -0.014964f, -0.011754f, -0.005335f, 0.007967f, -0.000978f, 0.001234f, -0.017239f, 0.003488f, 0.004716f, 0.010983f, 0.008957f, 0.011059f, -0.023352f, 0.000156f, -0.004881f, 0.015307f, 0.003720f, 0.031004f, 0.006544f, + -0.007114f, 0.002589f, -0.016781f, -0.000275f, 0.013574f, 0.017297f, -0.026512f, -0.020757f, -0.001874f, 0.027573f, -0.043310f, 0.011242f, 0.050137f, 0.027383f, -0.013319f, 0.004482f, -0.026839f, 0.011207f, 0.024814f, -0.042486f, 0.009551f, -0.020775f, -0.005742f, -0.057546f, 0.000386f, -0.024327f, 0.022473f, 0.001401f, -0.026575f, 0.017593f, -0.001605f, -0.034545f, -0.004487f, -0.021896f, 0.014302f, -0.012260f, -0.017863f, 0.024333f, -0.004616f, 0.004204f, -0.008039f, -0.010742f, -0.002785f, 0.010326f, 0.007938f, -0.006007f, -0.001365f, 0.000315f, -0.005937f, 0.003677f, 0.006065f, 0.008527f, -0.008624f, 0.003328f, 0.004762f, -0.010507f, 0.000779f, 0.004448f, -0.007320f, 0.000599f, -0.004693f, 0.011376f, 0.006288f, 0.013871f, -0.006497f, -0.005341f, 0.004815f, -0.013444f, -0.001285f, -0.003944f, -0.001960f, -0.000813f, 0.002964f, -0.007595f, 0.000616f, -0.001116f, 0.002752f, 0.002453f, 0.000608f, -0.007665f, -0.011608f, -0.032340f, 0.051165f, 0.015047f, 0.026761f, -0.030142f, -0.034015f, -0.006037f, 0.008948f, -0.009215f, -0.004603f, 0.017432f, 0.004658f, 0.005597f, 0.015121f, -0.037419f, + -0.004188f, 0.000767f, 0.009515f, -0.025942f, 0.003379f, 0.004729f, -0.018302f, -0.009798f, -0.025189f, -0.018617f, -0.000205f, 0.008336f, -0.020402f, 0.001786f, -0.009290f, -0.017810f, 0.006945f, 0.000213f, 0.014352f, -0.039687f, -0.041790f, 0.008896f, -0.003672f, 0.015893f, 0.034884f, 0.004113f, -0.022107f, 0.031459f, -0.015688f, -0.029203f, -0.022742f, -0.009504f, 0.002396f, -0.031033f, -0.012170f, 0.030799f, 0.041497f, 0.017680f, 0.011533f, 0.008790f, -0.004934f, 0.026613f, 0.014861f, -0.030873f, -0.017021f, 0.000243f, 0.002956f, 0.029105f, 0.018525f, 0.004711f, -0.004610f, -0.003547f, -0.014400f, 0.019324f, 0.014977f, 0.033566f, 0.007512f, 0.009798f, 0.003919f, 0.060237f, 0.006666f, 0.023344f, -0.025088f, 0.002157f, 0.022722f, -0.054565f, 0.004299f, 0.007215f, 0.015193f, -0.005669f, 0.007990f, -0.007144f, -0.002040f, 0.009345f, -0.004726f, 0.028901f, -0.011815f, 0.016882f, -0.004675f, -0.010299f, -0.005718f, -0.011142f, 0.000092f, 0.004486f, 0.005447f, -0.002358f, -0.005827f, 0.012007f, -0.003864f, 0.008013f, -0.004550f, -0.004685f, -0.009065f, 0.008990f, 0.009621f, 0.002029f, + 0.000664f, -0.007488f, -0.013070f, 0.005860f, -0.001418f, 0.000291f, 0.014873f, -0.004407f, 0.012981f, -0.002194f, 0.007441f, 0.005122f, 0.009902f, 0.002156f, -0.009840f, -0.001967f, 0.034505f, 0.002299f, 0.042877f, -0.001542f, -0.019945f, -0.021706f, -0.040591f, 0.007301f, -0.017260f, -0.001245f, 0.003219f, 0.014394f, 0.020917f, 0.035621f, 0.036806f, -0.005863f, 0.032736f, -0.002586f, -0.003120f, 0.012341f, 0.027545f, 0.011968f, 0.007525f, -0.044375f, -0.022969f, -0.036109f, 0.017977f, 0.035909f, 0.006745f, -0.015699f, 0.024911f, 0.036022f, -0.005145f, 0.005486f, -0.008715f, 0.030267f, 0.025435f, 0.021676f, -0.013154f, -0.023048f, -0.003898f, -0.006071f, -0.051271f, 0.008782f, 0.006732f, 0.004429f, -0.013221f, -0.006890f, -0.057146f, -0.020253f, -0.051889f, -0.009155f, -0.038919f, -0.020160f, 0.037061f, 0.009787f, 0.039060f, 0.002505f, -0.032414f, -0.015758f, -0.033717f, -0.064067f, 0.008800f, -0.039626f, -0.011764f, 0.037642f, 0.015517f, 0.014763f, 0.002887f, -0.007243f, -0.002982f, 0.007361f, -0.027761f, 0.022040f, -0.047202f, -0.048479f, -0.002904f, -0.004159f, -0.006264f, -0.035607f, + -0.008303f, 0.047070f, -0.002779f, 0.002955f, -0.012757f, -0.040669f, 0.020500f, -0.027320f, -0.010966f, -0.027192f, -0.017074f, -0.012657f, -0.008907f, -0.009731f, -0.006266f, 0.000756f, 0.004642f, -0.025416f, -0.011194f, 0.005062f, 0.004385f, 0.014429f, 0.006497f, -0.008344f, -0.010951f, 0.009487f, -0.017447f, -0.002452f, 0.005164f, -0.013057f, 0.004016f, 0.004198f, 0.009444f, -0.008858f, -0.003319f, -0.004639f, -0.000872f, 0.006583f, -0.003951f, -0.000375f, -0.005241f, 0.010360f, 0.013883f, -0.004432f, -0.002427f, 0.003994f, 0.004556f, 0.009032f, 0.012287f, 0.002492f, -0.002278f, -0.002793f, 0.020168f, 0.040633f, 0.035366f, 0.038104f, -0.021961f, -0.038225f, 0.029399f, -0.017373f, 0.030385f, 0.009134f, -0.048811f, 0.012312f, 0.009093f, -0.054951f, 0.029549f, -0.025018f, -0.025585f, 0.015042f, 0.016725f, 0.002676f, 0.019853f, 0.001556f, 0.000992f, -0.012839f, -0.007445f, 0.012130f, -0.007634f, -0.018791f, 0.001267f, -0.035361f, 0.012805f, -0.044967f, -0.027377f, 0.001749f, 0.017874f, -0.006071f, -0.018618f, 0.007065f, 0.014100f, 0.010571f, 0.000833f, 0.036358f, -0.083369f, -0.018847f, + -0.022827f, -0.027604f, 0.036180f, -0.029073f, -0.003980f, -0.067160f, -0.018805f, -0.007893f, 0.003516f, 0.044945f, -0.010811f, 0.005773f, -0.027071f, 0.022850f, -0.033685f, -0.021718f, 0.017524f, -0.077978f, 0.011378f, 0.041849f, 0.054225f, 0.041522f, 0.026231f, 0.061080f, 0.033682f, -0.000609f, -0.015067f, -0.015528f, -0.023566f, -0.052439f, -0.005686f, 0.005044f, -0.074330f, -0.029283f, -0.022462f, -0.016642f, 0.023813f, 0.062425f, 0.072778f, 0.048341f, -0.024402f, 0.020035f, -0.015725f, -0.003255f, 0.016492f, 0.011361f, -0.006329f, 0.004103f, 0.005439f, -0.001277f, 0.002523f, -0.011263f, 0.006565f, 0.020614f, -0.009595f, 0.002918f, -0.018004f, 0.004626f, -0.008426f, -0.001025f, -0.000873f, 0.015988f, 0.027990f, -0.009822f, 0.001767f, 0.007028f, 0.011407f, -0.016700f, -0.026178f, 0.000730f, 0.020404f, 0.006167f, -0.016694f, 0.015896f, 0.008246f, -0.016723f, 0.011911f, 0.007865f, -0.006521f, -0.004939f, -0.001800f, -0.002892f, 0.003088f, 0.006646f, -0.005943f, 0.011726f, -0.071581f, 0.000097f, 0.011946f, 0.050196f, -0.016342f, 0.023200f, 0.021110f, 0.011105f, 0.011524f, -0.078302f, + 0.061740f, 0.033624f, 0.076496f, 0.028062f, -0.003339f, -0.028482f, -0.018076f, -0.017862f, -0.027748f, 0.019719f, 0.014510f, -0.028220f, -0.032048f, 0.016836f, 0.022902f, 0.039877f, 0.011135f, -0.024929f, -0.037154f, 0.007747f, 0.006197f, 0.002442f, 0.004355f, 0.070847f, 0.023915f, 0.013427f, 0.023251f, 0.025530f, 0.028764f, 0.000506f, -0.045177f, 0.031528f, 0.098846f, -0.010299f, -0.027754f, -0.060447f, -0.013143f, 0.079628f, 0.009130f, 0.032820f, 0.010846f, -0.110606f, 0.022543f, 0.019573f, 0.002079f, 0.011092f, -0.007976f, 0.001428f, 0.022255f, -0.059700f, -0.024942f, 0.050135f, 0.018419f, 0.006608f, -0.045044f, 0.031655f, 0.011546f, -0.040650f, -0.044095f, -0.029720f, 0.039734f, 0.082985f, 0.077208f, 0.085070f, 0.086289f, 0.003077f, -0.038970f, -0.032133f, -0.076157f, -0.025245f, 0.023557f, -0.061898f, -0.000959f, -0.050528f, 0.000257f, 0.066905f, 0.025819f, 0.027294f, 0.033000f, 0.020412f, -0.020996f, -0.007305f, -0.025799f, 0.036120f, -0.022626f, -0.020048f, 0.006112f, -0.004769f, -0.013683f, -0.024748f, -0.007562f, 0.024391f, 0.022959f, -0.011538f, 0.035783f, -0.002272f, + 0.000354f, -0.017074f, 0.004778f, 0.018149f, -0.005345f, -0.014917f, -0.014485f, 0.008710f, -0.008311f, 0.019823f, 0.012276f, 0.015903f, 0.023541f, -0.025408f, 0.005595f, 0.001411f, 0.010389f, -0.005889f, -0.011309f, 0.021007f, 0.004465f, 0.016979f, -0.010373f, 0.005667f, -0.015334f, -0.005647f, 0.034471f, 0.073210f, -0.147344f, -0.050634f, 0.010454f, -0.084503f, -0.079394f, -0.032925f, -0.048592f, 0.006459f, -0.036033f, 0.093805f, -0.010830f, -0.031820f, -0.014278f, -0.069943f, -0.020632f, -0.056224f, -0.024811f, 0.011114f, -0.074849f, -0.011275f, 0.056294f, -0.046816f, -0.014742f, 0.017645f, -0.001221f, 0.025040f, 0.004078f, 0.001249f, 0.020419f, 0.009095f, -0.037646f, -0.005696f, 0.031764f, -0.015330f, -0.046656f, -0.013823f, -0.056379f, -0.026095f, -0.098069f, 0.010710f, -0.067093f, 0.033204f, 0.010916f, -0.023013f, -0.086605f, 0.009208f, -0.010029f, 0.106894f, 0.041076f, 0.003246f, 0.056419f, 0.026155f, -0.000356f, 0.047916f, -0.055855f, -0.024819f, 0.003229f, 0.042545f, -0.046411f, -0.026321f, 0.152211f, -0.013312f, 0.078425f, -0.060497f, -0.001013f, -0.042836f, 0.032419f, -0.014346f, + 0.051058f, 0.082850f, 0.001315f, -0.056517f, 0.048682f, -0.060294f, -0.028796f, 0.021957f, -0.064716f, -0.041482f, -0.021203f, 0.047620f, 0.087735f, -0.104170f, 0.087964f, 0.018991f, 0.025138f, 0.011033f, 0.011649f, 0.010696f, -0.013925f, 0.017294f, 0.045187f, -0.022004f, 0.007271f, -0.003253f, 0.005210f, -0.048643f, -0.009757f, -0.014012f, 0.014266f, 0.016693f, 0.048354f, -0.029389f, -0.018570f, -0.022612f, 0.033323f, -0.042243f, 0.009720f, 0.017385f, 0.014028f, 0.017536f, -0.072499f, -0.015737f, 0.025122f, -0.010987f, -0.031405f, -0.002651f, 0.007728f, 0.003209f, 0.029675f, 0.016809f, 0.023413f, -0.022744f, -0.022266f, 0.025925f, 0.006488f, 0.017926f, -0.016864f, 0.018053f, 0.010610f, 0.004655f, 0.005487f, -0.005233f, -0.008137f, 0.001915f, -0.055285f, 0.114250f, -0.065657f, 0.042017f, 0.037436f, -0.059444f, 0.032558f, 0.017959f, 0.012794f, -0.010564f, 0.045082f, 0.023332f, -0.057502f, 0.040735f, 0.047331f, 0.009212f, 0.007953f, 0.028661f, -0.000843f, -0.057130f, 0.074133f, -0.042405f, 0.016688f, -0.031548f, -0.007387f, 0.009300f, -0.014031f, 0.060455f, 0.013464f, -0.008042f, + -0.014689f, -0.003219f, 0.011703f, -0.061632f, 0.019363f, -0.031988f, -0.021735f, -0.014853f, -0.000317f, -0.030294f, -0.014554f, 0.007249f, 0.063731f, 0.000589f, -0.013601f, -0.040833f, 0.016811f, 0.011137f, 0.001681f, 0.049494f, -0.012287f, -0.005289f, 0.058789f, 0.018437f, 0.003201f, -0.057076f, -0.030047f, 0.036618f, 0.020301f, -0.053484f, 0.001439f, -0.121372f, -0.060318f, 0.108541f, -0.025749f, 0.058644f, 0.076726f, 0.021762f, 0.012804f, 0.034712f, -0.015184f, -0.042727f, 0.022546f, 0.007011f, -0.003098f, 0.048882f, 0.031545f, -0.035395f, -0.084989f, -0.017685f, 0.034125f, 0.010824f, -0.002425f, 0.027274f, -0.032362f, 0.047312f, -0.023660f, 0.017600f, 0.021759f, 0.009543f, 0.032166f, 0.024549f, 0.039072f, 0.004314f, -0.010700f, 0.014128f, 0.037849f, -0.010208f, 0.033077f, 0.019941f, -0.022148f, 0.006593f, 0.017359f, 0.011829f, 0.006882f, 0.023887f, 0.019665f, 0.008653f, 0.039694f, -0.012901f, 0.004148f, -0.005959f, -0.003045f, -0.010375f, 0.035183f, 0.029307f, 0.023198f, -0.011306f, 0.004079f, 0.041839f, -0.011375f, 0.030632f, 0.027221f, -0.000083f, 0.047750f, -0.043711f, + 0.005746f, 0.065924f, 0.008086f, 0.018581f, -0.014102f, 0.046369f, 0.008634f, 0.064852f, -0.020018f, -0.108398f, 0.018432f, -0.013083f, 0.037336f, 0.011394f, -0.036749f, 0.019023f, 0.022373f, -0.041925f, -0.046002f, -0.030827f, -0.076813f, -0.077342f, 0.053192f, -0.012365f, -0.079440f, -0.024402f, 0.008130f, 0.026237f, 0.025147f, -0.048711f, -0.052776f, 0.005133f, 0.073393f, -0.035169f, 0.028309f, -0.049454f, 0.017525f, -0.055786f, 0.036254f, 0.038245f, -0.027365f, -0.057413f, -0.039509f, -0.006456f, 0.022452f, -0.024681f, -0.016292f, -0.020559f, -0.073033f, -0.063119f, 0.032984f, -0.053002f, -0.010913f, 0.018805f, -0.043812f, -0.070663f, 0.026858f, 0.036991f, -0.004838f, -0.085056f, 0.037910f, 0.033304f, 0.107377f, 0.000446f, 0.028100f, 0.020995f, -0.046041f, 0.017537f, -0.014402f, -0.092951f, -0.014367f, 0.056748f, 0.013376f, -0.047044f, -0.116730f, 0.073588f, 0.093956f, -0.028023f, 0.075963f, 0.088556f, 0.004406f, 0.003968f, 0.069854f, -0.045397f, 0.003350f, 0.117237f, -0.086632f, 0.050245f, -0.074237f, -0.020371f, -0.006203f, 0.050469f, -0.017321f, 0.007305f, 0.028153f, -0.000916f, + -0.065735f, 0.072191f, -0.013285f, -0.008494f, 0.010920f, 0.030139f, -0.049461f, 0.021566f, 0.012505f, -0.007445f, 0.014844f, 0.017553f, -0.045853f, -0.006191f, 0.010475f, 0.024003f, 0.049694f, -0.004206f, -0.043939f, 0.022255f, 0.051007f, -0.040722f, 0.049747f, -0.023642f, -0.005495f, -0.017545f, 0.056120f, -0.038918f, 0.013163f, 0.035199f, -0.024528f, 0.008855f, 0.006012f, -0.032432f, 0.006901f, 0.014031f, -0.006376f, -0.024614f, 0.015815f, 0.020486f, -0.011679f, 0.040709f, -0.061370f, 0.015115f, 0.017605f, 0.000894f, 0.003433f, 0.042028f, -0.009443f, 0.023576f, -0.048800f, -0.154522f, 0.041787f, -0.017859f, 0.115415f, -0.039730f, -0.025342f, -0.046375f, -0.132183f, 0.060423f, -0.077022f, -0.045093f, 0.002374f, -0.000217f, 0.101995f, -0.073021f, -0.051054f, 0.067091f, 0.040006f, 0.034944f, -0.012634f, 0.033383f, -0.023613f, -0.033707f, -0.030931f, 0.078681f, 0.065544f, 0.102316f, -0.032536f, -0.038404f, 0.001860f, -0.006842f, 0.037647f, -0.061729f, 0.013273f, -0.064878f, 0.034675f, 0.063476f, 0.021879f, -0.052423f, 0.035734f, -0.046224f, 0.103972f, 0.052830f, 0.014773f, 0.013921f, + -0.015987f, -0.081564f, 0.046120f, -0.110614f, 0.023160f, 0.020519f, 0.054079f, 0.042804f, -0.095420f, 0.028741f, -0.060081f, -0.035760f, 0.026078f, -0.009530f, 0.035710f, 0.022782f, -0.087233f, 0.035649f, 0.080283f, 0.106009f, -0.030692f, 0.031310f, -0.043221f, 0.074401f, -0.105648f, -0.005598f, -0.019178f, 0.033378f, 0.069643f, 0.099886f, -0.079877f, 0.019917f, -0.106913f, 0.068785f, 0.141055f, -0.035801f, -0.095978f, -0.007720f, -0.072363f, 0.092574f, 0.023588f, -0.047250f, -0.013275f, 0.005394f, -0.015733f, 0.066126f, 0.024994f, -0.037336f, 0.035676f, -0.052872f, 0.003546f, 0.049646f, -0.010257f, -0.060938f, 0.067692f, -0.097244f, 0.028299f, -0.014647f, 0.038988f, -0.002409f, 0.024259f, -0.022383f, -0.011899f, 0.009945f, 0.008649f, 0.010373f, 0.046247f, -0.047144f, -0.039548f, 0.002259f, 0.010755f, -0.010843f, -0.049122f, -0.035940f, 0.072207f, 0.019513f, -0.031944f, -0.036888f, -0.082191f, 0.098606f, 0.077239f, -0.029956f, -0.026302f, -0.057385f, 0.002285f, 0.073707f, -0.121385f, 0.086680f, -0.011231f, -0.003413f, 0.028843f, 0.024145f, 0.034343f, 0.009498f, 0.016828f, -0.042774f, + 0.040601f, 0.011008f, -0.043458f, 0.029293f, -0.017220f, -0.000803f, 0.039702f, 0.022817f, -0.061870f, 0.034703f, -0.029214f, 0.051508f, -0.037475f, 0.012940f, -0.019084f, 0.023900f, -0.018181f, 0.010914f, -0.027136f, 0.059254f, -0.005110f, 0.001480f, 0.017827f, 0.019767f, -0.029924f, -0.006415f, 0.013747f, 0.019660f, 0.018266f, -0.021037f, 0.007715f, 0.000711f, -0.060150f, -0.005179f, 0.015855f, 0.022035f, 0.009870f, 0.014062f, -0.054079f, 0.008475f, -0.002934f, 0.005304f, 0.012723f, -0.010923f, 0.012048f, 0.008880f, 0.005361f, -0.013308f, -0.012018f, -0.004371f, 0.063105f, -0.022283f, 0.012763f, 0.023177f, -0.012903f, 0.022044f, -0.025005f, 0.021237f, 0.011387f, -0.017108f, -0.025155f, 0.015793f, -0.015354f, 0.012344f, -0.022596f, -0.019932f, -0.008785f, 0.028692f, -0.007195f, 0.002587f, 0.006031f, -0.002284f, 0.007131f, -0.023073f, 0.017558f, -0.014957f, 0.038269f, -0.035571f, 0.016762f, -0.021300f, 0.019142f, -0.017431f, 0.015352f, 0.000233f, 0.025914f, -0.022446f, 0.012210f, -0.011578f, 0.001493f, 0.004356f, 0.015348f, -0.016171f, 0.003919f, -0.017435f, 0.024564f, -0.020648f, + -0.005546f, 0.012171f, 0.005189f, -0.010169f, -0.002833f, 0.013772f, 0.009349f, -0.033915f, 0.018980f, 0.001494f, 0.000317f, -0.003736f, 0.006936f, -0.004385f, 0.003712f, -0.002784f, 0.004485f, 0.000959f, 0.008908f, -0.009713f, 0.024218f, -0.030819f, 0.096578f, -0.006981f, -0.031249f, -0.047700f, -0.021656f, -0.026787f, 0.035051f, 0.020236f, -0.025451f, 0.002097f, 0.003019f, 0.011417f, 0.001587f, 0.024230f, 0.008387f, 0.019077f, -0.006539f, -0.000717f, -0.005721f, 0.008926f, 0.020722f, -0.019261f, -0.000113f, -0.009549f, 0.000685f, 0.025217f, -0.014315f, 0.002428f, -0.006465f, 0.009915f, 0.005142f, -0.013888f, -0.005129f, 0.014828f, -0.004561f, 0.024198f, 0.017242f, -0.025323f, 0.008110f, 0.005326f, 0.013270f, 0.005573f, -0.023898f, 0.016141f, -0.004474f, 0.015696f, 0.012587f, -0.028569f, 0.007828f, 0.000046f, 0.006423f, -0.003223f, -0.012535f, 0.020304f, -0.005003f, 0.009194f, 0.000484f, -0.006150f, 0.009414f, -0.012187f, -0.001710f, 0.016925f, -0.011662f, -0.014031f, 0.028276f, -0.018304f, 0.026378f, -0.002792f, -0.021378f, 0.043685f, -0.040157f, 0.034863f, -0.012385f, -0.020968f, + 0.022107f, -0.020602f, 0.006085f, 0.007078f, -0.020125f, 0.016893f, -0.003632f, -0.001346f, 0.010808f, -0.014038f, 0.018294f, -0.005982f, -0.001420f, 0.004460f, -0.003136f, 0.006378f, -0.003079f, 0.000982f, 0.005326f, -0.005209f, 0.008522f, -0.001054f, -0.004879f, 0.010444f, -0.016298f, 0.008594f, -0.007259f, -0.003403f, 0.010133f, 0.000788f, -0.003081f, 0.005207f, -0.003887f, 0.005168f, 0.002645f, -0.007610f, 0.005030f, 0.000960f, -0.001739f, -0.001354f, 0.004539f, 0.000914f, 0.008403f, -0.006717f, 0.002369f, 0.001011f, -0.004795f, 0.009271f, -0.002739f, -0.001557f, -0.047306f, -0.081142f, 0.102355f, 0.293207f, 0.046342f, 0.028416f, -0.214370f, -0.265014f, -0.084947f, -0.052099f, 0.179234f, 0.273425f, 0.140667f, 0.040770f, -0.092066f, -0.197830f, -0.180487f, -0.151145f, 0.011916f, 0.226517f, 0.189400f, 0.108643f, 0.036835f, -0.096937f, -0.125790f, -0.099859f, -0.096581f, -0.034037f, 0.045714f, 0.062915f, 0.130053f, 0.093163f, 0.022534f, -0.031544f, -0.018635f, -0.104728f, -0.050958f, -0.052920f, -0.071772f, 0.042696f, 0.080386f, 0.046543f, 0.117058f, 0.031126f, -0.027891f, -0.044983f, + -0.077950f, -0.061530f, -0.009713f, -0.019014f, 0.023838f, 0.048490f, 0.043110f, 0.030880f, 0.020944f, -0.010632f, -0.042832f, -0.030210f, -0.035635f, 0.011479f, 0.041408f, 0.013713f, 0.010118f, -0.017977f, -0.037266f, -0.006926f, -0.000161f, -0.000509f, 0.030052f, 0.027017f, 0.030123f, 0.011956f, -0.010476f, -0.032331f, -0.046963f, -0.047952f, -0.031285f, 0.033302f, 0.049167f, 0.061120f, 0.042169f, -0.010590f, -0.023957f, -0.025310f, -0.050331f, -0.022161f, 0.018272f, 0.009700f, 0.009034f, 0.014693f, 0.006969f, 0.005658f, -0.007855f, -0.010048f, 0.007864f, 0.017495f, -0.000435f, -0.001472f, -0.012089f, -0.016497f, -0.008664f, -0.010007f, -0.005970f, 0.012981f, -0.002348f, 0.027110f, 0.033357f, 0.019363f, -0.011639f, -0.018946f, -0.021344f, -0.026849f, -0.019718f, -0.026571f, 0.014178f, 0.036708f, 0.033391f, 0.019845f, 0.020834f, 0.007951f, -0.020606f, -0.040141f, -0.041168f, -0.020846f, -0.004297f, 0.013050f, 0.029249f, 0.043066f, 0.035251f, 0.006691f, -0.022769f, -0.037818f, -0.027793f, -0.009167f, 0.000231f, 0.010401f, 0.006563f, 0.016272f, 0.020732f, 0.006194f, -0.009014f, -0.012223f, + -0.006915f, -0.005084f, -0.005010f, -0.001387f, 0.001462f, 0.009676f, 0.005820f, 0.000693f, -0.000119f, -0.000576f, -0.001858f, -0.004215f, -0.004414f, 0.001334f, 0.001359f, 0.000827f, -0.000331f, 0.000400f} + }, + { + {-0.005343f, 0.020366f, 0.002374f, 0.005529f, 0.001946f, 0.002922f, -0.004913f, -0.012293f, -0.002380f, 0.006525f, 0.002318f, -0.006075f, -0.000860f, 0.004995f, -0.001288f, -0.007318f, 0.002209f, -0.008438f, -0.005245f, -0.000243f, 0.002323f, -0.002386f, -0.001915f, 0.005261f, -0.007297f, -0.000155f, 0.000921f, 0.003546f, 0.002792f, 0.002703f, 0.008906f, 0.004042f, -0.011082f, -0.002807f, -0.005042f, 0.001420f, -0.000294f, -0.000821f, -0.006982f, -0.009075f, 0.012036f, -0.005544f, 0.002937f, 0.003521f, 0.003010f, -0.011414f, -0.006505f, -0.002979f, 0.001252f, -0.000881f, -0.000366f, -0.001036f, 0.001917f, 0.004372f, -0.005986f, -0.000002f, 0.003194f, 0.003742f, 0.004441f, 0.001651f, 0.000072f, 0.004320f, 0.001519f, -0.001860f, -0.000560f, 0.007006f, -0.005203f, -0.005484f, -0.002975f, -0.002196f, 0.005966f, 0.003540f, 0.001412f, -0.002226f, 0.005748f, -0.002563f, 0.002973f, -0.006805f, -0.000662f, 0.000527f, 0.001403f, 0.001415f, -0.005511f, 0.001489f, 0.003878f, 0.001959f, 0.000645f, -0.000495f, 0.005077f, 0.002425f, -0.000528f, 0.003263f, 0.001925f, 0.000847f, -0.000761f, 0.001094f, + 0.000862f, 0.000708f, -0.000987f, 0.001239f, 0.000335f, -0.001026f, -0.000830f, 0.001763f, 0.000372f, -0.000174f, 0.000005f, 0.000068f, 0.000279f, -0.001646f, 0.001160f, -0.000463f, 0.000907f, -0.001296f, -0.011577f, -0.006970f, 0.004932f, -0.011325f, -0.016014f, 0.003115f, 0.001376f, 0.001976f, 0.002341f, 0.002255f, -0.013767f, -0.002248f, 0.003998f, -0.008729f, 0.009173f, 0.008918f, 0.007652f, -0.003094f, 0.000703f, 0.002072f, 0.005860f, 0.001337f, -0.000199f, 0.001154f, -0.003984f, 0.003699f, -0.001439f, -0.001450f, -0.001873f, 0.011312f, -0.006749f, 0.003916f, -0.004260f, -0.003668f, -0.003826f, 0.003002f, 0.006186f, -0.006601f, -0.003292f, -0.003576f, 0.004527f, 0.004264f, 0.006878f, 0.004676f, 0.000918f, 0.006028f, -0.005134f, 0.003624f, 0.001377f, 0.001575f, 0.012623f, 0.002987f, 0.006241f, -0.010359f, -0.002798f, 0.004273f, -0.005184f, 0.004916f, -0.002241f, -0.003812f, 0.001349f, 0.007576f, 0.005108f, 0.003495f, -0.001854f, 0.001552f, 0.005645f, -0.006831f, 0.009011f, -0.001228f, 0.007385f, -0.003000f, 0.006093f, 0.007276f, 0.006126f, -0.003421f, -0.009090f, -0.013416f, + -0.009064f, 0.000876f, -0.004756f, 0.008864f, 0.001469f, 0.001389f, 0.002370f, -0.006325f, -0.001960f, -0.002845f, 0.003182f, -0.001711f, -0.001219f, 0.003905f, -0.004769f, -0.001683f, 0.001887f, -0.002646f, 0.000219f, -0.002953f, -0.002361f, -0.001870f, -0.000531f, -0.003149f, 0.019453f, 0.013978f, 0.011453f, 0.009532f, 0.010742f, 0.004538f, -0.000847f, -0.000237f, -0.003989f, -0.001189f, 0.014133f, -0.006168f, -0.006358f, 0.009753f, 0.007240f, 0.009377f, -0.006554f, 0.002840f, -0.002478f, 0.002120f, 0.004178f, 0.005855f, 0.000857f, -0.004272f, -0.003175f, -0.005497f, -0.001964f, -0.003396f, -0.010024f, -0.001214f, 0.008441f, -0.006568f, -0.001143f, 0.003123f, -0.005164f, -0.004676f, 0.004775f, -0.002576f, -0.006695f, -0.003585f, 0.003816f, -0.005718f, -0.007365f, -0.003355f, -0.002186f, 0.002490f, -0.005138f, -0.010645f, 0.000757f, -0.001749f, -0.001489f, 0.003092f, -0.008739f, -0.004249f, 0.000164f, -0.003639f, 0.004823f, -0.001213f, 0.002084f, -0.015677f, -0.004752f, 0.008901f, -0.003493f, -0.008621f, 0.002581f, 0.001554f, 0.002442f, -0.003192f, -0.012438f, -0.005624f, 0.014013f, 0.000981f, + 0.005171f, 0.002992f, -0.002002f, 0.004300f, 0.005846f, 0.002486f, -0.002887f, -0.006667f, -0.000002f, 0.001707f, -0.005063f, 0.002334f, -0.006565f, -0.000634f, -0.004182f, -0.002010f, -0.005540f, -0.001014f, -0.003161f, -0.003986f, -0.003097f, 0.000662f, -0.001370f, 0.000765f, -0.001503f, 0.000604f, -0.002786f, 0.002057f, 0.001093f, -0.000714f, -0.000499f, 0.002663f, -0.000045f, -0.000878f, -0.002474f, -0.001218f, -0.001113f, -0.000125f, 0.000255f, 0.000127f, 0.027586f, 0.016947f, 0.016041f, 0.000295f, 0.001613f, 0.001291f, -0.006558f, -0.014595f, -0.005501f, 0.011035f, -0.008317f, 0.005001f, 0.014925f, 0.001211f, -0.004703f, -0.001857f, -0.002996f, -0.001573f, 0.006052f, 0.008577f, 0.000333f, 0.002532f, 0.003526f, 0.005592f, 0.000366f, -0.007842f, 0.002450f, -0.012640f, -0.003778f, -0.001597f, -0.003484f, -0.002298f, 0.001610f, -0.003027f, -0.006601f, -0.005175f, -0.002353f, 0.000542f, -0.002811f, -0.007674f, 0.009154f, -0.003430f, 0.000703f, -0.002381f, -0.005936f, 0.007470f, 0.020872f, 0.005000f, -0.007203f, 0.012293f, 0.002862f, -0.003827f, 0.003798f, -0.002168f, -0.007978f, -0.000004f, + -0.003318f, 0.003067f, -0.006905f, -0.012081f, 0.000520f, 0.001952f, -0.014551f, 0.004310f, 0.003065f, 0.008103f, 0.004678f, 0.010725f, -0.003607f, -0.007331f, -0.004228f, -0.002321f, 0.005294f, -0.001979f, -0.009341f, 0.006341f, -0.004534f, -0.008597f, 0.005871f, -0.008588f, -0.004627f, 0.002635f, -0.003044f, 0.002893f, -0.001994f, -0.003582f, 0.002869f, 0.007176f, -0.001635f, -0.003626f, -0.001258f, -0.000068f, 0.002574f, 0.005025f, 0.001499f, -0.001547f, -0.001862f, -0.001926f, -0.000586f, 0.001144f, -0.003650f, -0.001353f, -0.001054f, 0.005515f, 0.002866f, 0.003884f, -0.000635f, 0.000245f, 0.003082f, 0.001990f, 0.001502f, -0.000234f, 0.000541f, -0.014195f, -0.022437f, -0.006889f, -0.011226f, 0.016077f, -0.003669f, -0.001968f, 0.006021f, -0.014841f, -0.010456f, 0.008907f, -0.007190f, -0.006678f, -0.000369f, -0.000607f, 0.001583f, 0.005868f, -0.002467f, 0.002670f, -0.003868f, -0.002878f, -0.000274f, -0.002547f, -0.006502f, -0.000585f, -0.001396f, 0.006791f, 0.006878f, 0.006031f, -0.008054f, 0.003739f, 0.002730f, 0.011265f, -0.005676f, -0.000421f, -0.003860f, -0.008621f, 0.012279f, -0.011647f, + -0.005714f, -0.004536f, 0.002901f, 0.010186f, -0.009424f, 0.010537f, -0.001136f, 0.005680f, 0.008790f, 0.001425f, 0.006779f, -0.012546f, 0.002775f, -0.004732f, 0.000660f, -0.013288f, 0.000263f, -0.004580f, -0.011884f, -0.009141f, 0.000729f, 0.008780f, 0.000478f, -0.006398f, 0.010012f, -0.003433f, 0.005803f, -0.000786f, -0.012332f, 0.017287f, -0.010770f, -0.002137f, -0.006118f, 0.004323f, 0.007037f, 0.004651f, 0.006494f, 0.014000f, 0.010703f, -0.001780f, 0.002255f, 0.006615f, 0.004188f, -0.004975f, 0.007132f, 0.005546f, -0.001023f, 0.003157f, -0.006950f, -0.009609f, -0.001004f, -0.003090f, 0.005428f, -0.005628f, -0.001148f, -0.005409f, -0.001228f, -0.002478f, -0.000782f, 0.001637f, 0.002034f, 0.001120f, -0.000214f, -0.001349f, 0.003273f, 0.001665f, -0.003330f, 0.002442f, 0.000184f, -0.008313f, -0.000718f, -0.002980f, 0.004789f, -0.001255f, -0.000537f, 0.001756f, -0.000887f, 0.001676f, 0.003762f, -0.000230f, 0.002450f, 0.002607f, -0.000475f, 0.000987f, 0.005295f, 0.006048f, -0.015886f, -0.022655f, 0.002548f, 0.001907f, 0.001283f, 0.014612f, -0.004719f, -0.015892f, 0.001696f, 0.001862f, + -0.004182f, -0.000902f, -0.013968f, -0.002747f, 0.001761f, 0.002095f, 0.015670f, -0.002721f, 0.014046f, -0.003370f, -0.003596f, 0.001194f, -0.013893f, 0.005963f, -0.005220f, 0.008502f, -0.002319f, -0.003556f, -0.005143f, -0.002501f, 0.000526f, -0.010378f, 0.018026f, -0.012443f, -0.020204f, 0.006080f, 0.000962f, -0.014180f, -0.004167f, -0.027241f, 0.000505f, -0.009680f, -0.000097f, -0.010512f, -0.008519f, 0.001515f, 0.001005f, 0.004735f, -0.008588f, 0.006924f, -0.009695f, -0.018794f, 0.002284f, 0.005253f, -0.005667f, 0.006211f, -0.003188f, -0.010410f, -0.009163f, -0.012665f, -0.005989f, -0.001312f, 0.002126f, -0.003760f, 0.011836f, 0.000080f, -0.003637f, 0.001068f, 0.000758f, 0.002498f, 0.001881f, 0.001430f, -0.011267f, -0.010533f, 0.002290f, 0.007543f, 0.004476f, 0.001288f, -0.002449f, 0.009360f, 0.005169f, -0.004292f, -0.003156f, -0.010374f, -0.004259f, 0.004701f, 0.002238f, -0.005631f, 0.002335f, -0.001532f, -0.001639f, -0.002612f, -0.003251f, -0.001084f, -0.004303f, -0.003239f, 0.001828f, 0.000918f, 0.002637f, 0.004535f, 0.000388f, 0.003987f, 0.000228f, -0.002531f, 0.003752f, 0.002391f, + -0.000722f, 0.000607f, -0.002099f, -0.002064f, -0.000031f, 0.000257f, -0.002356f, 0.000176f, -0.000703f, -0.000042f, 0.000000f, -0.000448f, 0.002447f, -0.003823f, -0.000599f, -0.001088f, 0.000220f, 0.001423f, 0.002505f, -0.034983f, -0.008828f, 0.001423f, -0.008976f, -0.006499f, -0.011220f, 0.002915f, 0.003884f, 0.007996f, -0.006061f, -0.007442f, -0.008497f, 0.004248f, 0.009371f, -0.004666f, -0.004077f, -0.002374f, -0.001495f, 0.004491f, -0.019572f, -0.004799f, 0.010986f, 0.003619f, -0.005765f, 0.002111f, 0.009727f, -0.000939f, -0.002538f, 0.003440f, -0.000660f, 0.023988f, -0.010356f, 0.005884f, 0.001886f, -0.010073f, 0.003279f, 0.002275f, -0.011524f, 0.008128f, -0.016357f, -0.001566f, 0.014400f, 0.003194f, -0.000458f, -0.003020f, -0.011192f, -0.009613f, 0.002537f, 0.006228f, -0.004234f, 0.003043f, 0.011930f, 0.005949f, -0.005001f, 0.007394f, -0.010651f, -0.024961f, -0.003336f, -0.010953f, 0.006919f, -0.007010f, 0.017714f, 0.008902f, -0.000843f, -0.002894f, -0.023029f, 0.007274f, 0.008769f, -0.007038f, 0.014036f, -0.010904f, 0.004269f, -0.018286f, 0.008475f, 0.006441f, -0.020864f, -0.013246f, + -0.004292f, 0.005171f, 0.006910f, 0.015215f, -0.002121f, -0.000710f, 0.009851f, 0.002312f, 0.000042f, -0.004376f, 0.002251f, 0.002313f, 0.002957f, 0.003262f, 0.000803f, -0.000375f, -0.001899f, -0.002128f, -0.005624f, -0.004641f, 0.003744f, 0.002688f, 0.001929f, 0.004680f, -0.001881f, 0.002278f, 0.002370f, -0.001148f, 0.004004f, -0.000499f, -0.000032f, -0.000917f, -0.004519f, -0.000952f, 0.005216f, 0.001210f, 0.003877f, -0.001399f, 0.001432f, -0.002009f, 0.006204f, 0.000631f, 0.005207f, 0.002336f, -0.002533f, 0.001399f, 0.008793f, 0.014766f, 0.034164f, 0.036427f, 0.007319f, 0.010917f, 0.000119f, 0.005207f, 0.000343f, 0.003845f, -0.009731f, 0.004529f, -0.006046f, 0.008077f, 0.007655f, 0.018760f, 0.002905f, -0.003786f, 0.011768f, 0.008486f, 0.014151f, 0.000706f, 0.008808f, 0.005122f, -0.004351f, 0.004408f, 0.021056f, 0.003355f, -0.009078f, -0.004894f, 0.015584f, 0.009637f, 0.007501f, 0.014487f, -0.011132f, 0.004352f, 0.017268f, -0.017193f, -0.020547f, 0.006798f, 0.011026f, 0.017927f, -0.007762f, -0.013373f, 0.010854f, 0.003937f, -0.001621f, 0.006742f, -0.002714f, -0.001636f, + -0.000098f, 0.025512f, -0.009223f, 0.005173f, -0.006152f, -0.003953f, -0.003004f, 0.013302f, -0.001760f, 0.029690f, 0.014240f, -0.014257f, 0.016595f, 0.003617f, 0.007736f, 0.003566f, 0.003606f, 0.004045f, -0.005435f, 0.010015f, -0.023487f, -0.006209f, 0.010749f, -0.023926f, 0.008192f, -0.019335f, 0.004541f, 0.021332f, 0.005276f, -0.000149f, 0.005864f, 0.002026f, -0.005744f, 0.001433f, -0.006105f, 0.000695f, 0.004917f, -0.014386f, 0.008239f, -0.002625f, -0.003422f, 0.000957f, 0.004460f, -0.003784f, -0.005733f, 0.001920f, 0.005181f, -0.002755f, -0.004851f, -0.004790f, -0.002806f, 0.001977f, -0.003428f, -0.003088f, 0.003226f, 0.004490f, 0.002105f, -0.002408f, 0.002937f, -0.002152f, -0.007414f, -0.003377f, -0.000121f, -0.003797f, 0.002108f, 0.001506f, 0.003095f, 0.005016f, 0.007390f, -0.003534f, 0.010426f, -0.003690f, -0.006110f, -0.002115f, 0.003689f, 0.000760f, -0.006213f, -0.004066f, 0.056326f, 0.009822f, 0.008845f, -0.016481f, 0.024274f, -0.008051f, -0.001081f, -0.006369f, 0.001332f, -0.015775f, -0.001219f, 0.007491f, 0.001754f, -0.012846f, 0.016010f, -0.003834f, -0.008345f, 0.002351f, + 0.005001f, -0.016542f, -0.023322f, 0.009707f, -0.009648f, -0.013718f, 0.002679f, -0.000026f, -0.007099f, 0.012189f, -0.012259f, 0.004086f, 0.011784f, -0.002039f, 0.017183f, 0.005478f, -0.021839f, -0.022741f, -0.009778f, 0.001536f, 0.004121f, -0.017956f, 0.006485f, 0.006618f, 0.003399f, 0.005862f, 0.007925f, -0.018663f, -0.009373f, 0.005499f, -0.020911f, -0.007486f, -0.000527f, -0.021557f, -0.011614f, -0.007325f, 0.004354f, -0.011006f, -0.023536f, -0.011074f, -0.012589f, 0.027314f, 0.013132f, -0.002147f, 0.003703f, -0.007221f, 0.021633f, 0.026071f, 0.002897f, 0.017502f, 0.012681f, 0.005100f, 0.003110f, -0.009973f, -0.002206f, -0.008799f, 0.012602f, -0.016536f, 0.000542f, -0.003921f, -0.025519f, -0.007649f, -0.003694f, 0.013920f, -0.012637f, 0.007018f, 0.005942f, 0.002672f, 0.001317f, 0.006079f, -0.006110f, 0.004866f, -0.003689f, 0.005394f, -0.001361f, 0.007943f, 0.002292f, 0.000747f, -0.004139f, -0.001461f, -0.009972f, 0.005410f, -0.001391f, 0.008536f, -0.008138f, 0.000053f, -0.000848f, 0.005116f, -0.000894f, 0.004578f, 0.001910f, 0.002523f, 0.002400f, 0.001341f, -0.005453f, 0.006369f, + 0.008016f, -0.004012f, -0.005781f, -0.006704f, -0.002809f, -0.000376f, -0.002435f, 0.000755f, -0.038426f, 0.025943f, 0.041640f, -0.031234f, -0.018603f, 0.008580f, 0.007471f, -0.006336f, 0.013683f, 0.003722f, -0.011642f, -0.014225f, -0.000291f, -0.004569f, -0.010157f, 0.005203f, -0.004668f, 0.000670f, 0.011520f, -0.015488f, 0.003267f, 0.002085f, -0.009195f, 0.001328f, -0.014606f, 0.002864f, 0.021459f, 0.010954f, -0.002140f, -0.006880f, -0.001749f, -0.012231f, -0.013025f, 0.006430f, 0.010862f, -0.003405f, -0.005990f, -0.004254f, 0.006504f, 0.010832f, 0.005206f, 0.019830f, -0.010643f, 0.008177f, -0.005119f, 0.001979f, 0.012379f, -0.004415f, -0.003888f, -0.023543f, -0.003590f, -0.018221f, 0.009203f, 0.006302f, 0.023503f, -0.020086f, -0.007391f, -0.019439f, -0.032028f, -0.005347f, 0.013403f, -0.022101f, 0.004941f, -0.002412f, -0.016125f, -0.019006f, -0.023979f, 0.032281f, 0.001248f, 0.019191f, 0.014108f, 0.016311f, -0.007331f, -0.021399f, -0.016201f, -0.020022f, 0.007046f, 0.015779f, -0.014994f, 0.007145f, 0.016816f, -0.011306f, 0.001959f, 0.013659f, 0.015673f, 0.003813f, -0.005564f, 0.006760f, + -0.002765f, 0.003637f, -0.016630f, -0.001466f, 0.006436f, -0.005594f, 0.002175f, 0.001101f, 0.000754f, 0.003796f, 0.006321f, -0.006527f, -0.002318f, 0.003897f, 0.005636f, 0.001645f, 0.002758f, 0.005544f, -0.001141f, 0.005986f, -0.004941f, 0.004126f, 0.006016f, 0.006746f, 0.000776f, -0.002444f, 0.005243f, -0.004160f, 0.001326f, -0.000878f, -0.003577f, -0.001704f, -0.003528f, -0.000882f, 0.001707f, -0.004318f, -0.012144f, 0.004383f, 0.006683f, -0.030059f, 0.021713f, -0.002735f, -0.011273f, 0.018595f, 0.006567f, -0.018109f, -0.025932f, -0.010019f, 0.000067f, 0.000529f, 0.001241f, -0.009245f, 0.029461f, 0.012210f, 0.008892f, 0.006801f, 0.009254f, -0.008971f, 0.002216f, 0.005854f, 0.004292f, 0.026472f, 0.002741f, -0.039455f, 0.004839f, 0.016416f, -0.014738f, -0.022184f, -0.004719f, -0.012047f, -0.007140f, 0.001845f, 0.027872f, 0.016706f, -0.002853f, -0.000642f, -0.008438f, -0.024432f, -0.008290f, -0.020181f, 0.014379f, 0.019709f, 0.000224f, -0.010948f, -0.004018f, -0.004526f, 0.009008f, 0.012550f, 0.013285f, -0.030775f, 0.005908f, 0.001067f, 0.002690f, 0.021406f, -0.012516f, 0.008770f, + -0.011424f, -0.008205f, 0.002231f, 0.014013f, 0.025179f, -0.003989f, -0.016329f, 0.005290f, -0.029373f, 0.023454f, 0.012629f, -0.002890f, -0.012148f, 0.006351f, -0.006803f, -0.014473f, -0.012072f, -0.013118f, -0.006290f, -0.002739f, 0.000872f, 0.012436f, -0.009502f, 0.034170f, 0.001420f, -0.005163f, 0.001957f, 0.010216f, 0.000459f, -0.000359f, 0.011074f, 0.007655f, 0.005713f, 0.000459f, -0.005371f, -0.004120f, -0.001277f, -0.000717f, -0.004954f, -0.013813f, 0.007339f, 0.007019f, -0.005232f, 0.001983f, -0.007685f, -0.005683f, -0.002651f, -0.001430f, -0.000192f, 0.012298f, -0.002506f, -0.003745f, -0.001971f, -0.000621f, 0.007519f, 0.013700f, -0.004427f, 0.007729f, -0.002044f, -0.008398f, 0.009856f, -0.009100f, -0.007426f, -0.004801f, -0.007494f, 0.001726f, 0.005819f, 0.003085f, 0.005967f, 0.000222f, -0.002197f, -0.000414f, -0.006056f, 0.003794f, -0.003456f, -0.013018f, -0.003185f, 0.014419f, -0.025835f, -0.007331f, 0.016726f, -0.021002f, -0.002155f, -0.002085f, -0.002797f, -0.024461f, 0.024320f, 0.010546f, -0.016926f, -0.002909f, -0.007254f, -0.006199f, -0.037172f, -0.005211f, -0.016979f, -0.041958f, + 0.008976f, 0.006500f, -0.019079f, -0.015778f, -0.022485f, -0.025601f, 0.021838f, 0.012326f, 0.022990f, 0.000824f, 0.048232f, 0.002278f, 0.025199f, 0.034672f, -0.004005f, 0.010608f, 0.035721f, -0.024044f, 0.011026f, -0.014484f, 0.024578f, -0.007705f, 0.047854f, 0.021750f, -0.014881f, -0.022483f, 0.003748f, 0.011103f, 0.019968f, 0.005376f, -0.017292f, -0.003979f, 0.015853f, 0.035563f, -0.014837f, 0.023854f, -0.008674f, 0.014562f, -0.027824f, 0.010999f, -0.015122f, 0.011018f, 0.001831f, 0.003676f, -0.005039f, 0.021984f, 0.030694f, -0.055740f, 0.016932f, 0.011621f, 0.008300f, -0.010163f, 0.007355f, -0.039989f, 0.003429f, 0.000718f, -0.006217f, -0.015274f, -0.013261f, -0.013211f, -0.003831f, 0.028538f, -0.016416f, -0.009645f, -0.023101f, 0.000850f, 0.020523f, -0.010265f, -0.011452f, 0.015890f, -0.000565f, 0.011542f, 0.002573f, -0.002814f, 0.000292f, 0.005098f, -0.011031f, 0.005603f, 0.002238f, -0.009487f, -0.007942f, -0.004635f, 0.002792f, 0.006441f, 0.006629f, 0.019345f, -0.002040f, 0.014655f, 0.007209f, 0.004782f, -0.009653f, -0.002997f, -0.014582f, -0.006579f, -0.002422f, -0.004880f, + -0.006918f, 0.008118f, 0.004711f, 0.009697f, 0.012426f, 0.002340f, -0.002795f, -0.001567f, -0.007931f, 0.004837f, 0.027791f, 0.029536f, -0.006442f, 0.030710f, -0.001576f, -0.006405f, 0.002427f, 0.017268f, -0.006465f, -0.007821f, -0.003586f, -0.021828f, 0.003585f, -0.006255f, 0.034388f, 0.022636f, -0.016389f, -0.017365f, -0.032645f, -0.011952f, 0.023710f, 0.042711f, -0.019436f, 0.013194f, 0.002863f, 0.005621f, 0.023270f, 0.016653f, -0.033444f, 0.006644f, -0.011938f, -0.006797f, -0.013795f, -0.007541f, -0.014559f, -0.032238f, 0.005653f, 0.021558f, 0.008270f, 0.050494f, -0.012269f, -0.006965f, 0.035088f, -0.012792f, -0.001950f, -0.007831f, 0.009301f, -0.038532f, -0.024722f, 0.013386f, 0.028830f, 0.042000f, 0.050142f, -0.036847f, -0.019107f, -0.001938f, 0.016780f, -0.001658f, 0.056894f, 0.015827f, 0.008513f, -0.044141f, 0.003074f, 0.000318f, 0.021354f, 0.027847f, -0.020744f, -0.006886f, 0.008717f, -0.009053f, 0.000011f, 0.031640f, 0.011429f, -0.031288f, 0.008177f, 0.016499f, -0.015009f, 0.049208f, -0.017005f, -0.026317f, -0.036926f, 0.027304f, -0.005897f, -0.031007f, -0.024562f, -0.005631f, + -0.001129f, -0.012339f, 0.000753f, -0.013433f, 0.002634f, -0.018702f, 0.001330f, 0.009136f, -0.006427f, 0.007195f, 0.001455f, -0.011311f, 0.001292f, -0.000179f, -0.002142f, 0.001206f, -0.007650f, 0.009290f, 0.000128f, -0.004743f, 0.010661f, 0.010787f, 0.000526f, -0.002977f, 0.004792f, -0.010167f, -0.004182f, -0.008169f, -0.001491f, 0.008391f, -0.006558f, 0.003672f, 0.008327f, -0.015292f, -0.005412f, -0.003153f, 0.002581f, -0.002891f, 0.006654f, 0.014807f, -0.004117f, -0.008852f, -0.004246f, 0.009562f, 0.002788f, 0.000900f, 0.007742f, -0.004445f, -0.003101f, -0.002791f, 0.006841f, 0.058331f, 0.027670f, -0.015324f, -0.004913f, -0.053820f, 0.004212f, 0.014248f, 0.003778f, 0.080286f, -0.010124f, -0.006074f, -0.035236f, -0.030467f, 0.012540f, -0.024911f, -0.015185f, -0.016705f, -0.011205f, 0.019950f, -0.012988f, -0.022902f, -0.019718f, 0.001794f, 0.020171f, -0.025900f, 0.005883f, 0.011719f, 0.002649f, 0.028972f, -0.003309f, 0.002280f, -0.029386f, -0.041433f, -0.017008f, 0.018996f, -0.022803f, 0.005554f, -0.019135f, -0.072339f, -0.038892f, 0.021695f, 0.001614f, -0.041448f, 0.006457f, 0.057757f, + -0.002601f, -0.001490f, -0.022481f, 0.012645f, -0.024814f, -0.044591f, 0.001194f, 0.006789f, -0.017236f, 0.008575f, 0.016860f, -0.004121f, -0.014511f, 0.012048f, 0.015688f, 0.028991f, -0.016595f, 0.021793f, 0.027988f, 0.011780f, 0.048620f, 0.005471f, -0.030100f, 0.035422f, 0.002223f, 0.005954f, -0.006364f, -0.007095f, 0.021964f, -0.021611f, -0.003011f, 0.053893f, 0.042342f, -0.026103f, 0.027143f, -0.007765f, 0.050091f, 0.021104f, -0.017216f, -0.039869f, -0.001618f, -0.014546f, -0.017205f, 0.011314f, -0.015486f, -0.000414f, -0.003863f, -0.013891f, -0.023236f, -0.004512f, 0.019930f, -0.021222f, 0.000266f, -0.013152f, 0.002185f, 0.008410f, -0.008453f, -0.024833f, -0.004224f, -0.011713f, 0.015343f, 0.009267f, -0.005892f, -0.016400f, -0.006662f, -0.017648f, 0.010868f, -0.008621f, 0.005996f, 0.007063f, 0.010377f, 0.008223f, -0.013582f, -0.009670f, -0.015279f, 0.004689f, 0.010164f, 0.001411f, 0.020021f, 0.021114f, 0.011634f, 0.008653f, -0.041907f, -0.044476f, -0.053132f, 0.073243f, -0.040553f, 0.009623f, -0.002246f, -0.023304f, 0.037196f, -0.043754f, 0.018923f, 0.077884f, 0.047947f, 0.011100f, + -0.063157f, -0.003576f, -0.041671f, -0.021169f, -0.038053f, -0.003646f, 0.010816f, -0.006883f, 0.029924f, -0.014417f, 0.004977f, 0.014760f, 0.041820f, 0.005784f, 0.005774f, 0.050583f, -0.033322f, -0.004759f, 0.022324f, -0.009802f, -0.025844f, -0.017213f, 0.025504f, -0.022274f, 0.010696f, 0.043288f, -0.012060f, -0.078161f, -0.004775f, 0.019509f, -0.095956f, 0.057854f, 0.044648f, -0.036451f, 0.059507f, 0.040282f, 0.026554f, 0.061677f, 0.001327f, 0.031660f, 0.003656f, 0.003677f, 0.022237f, -0.039309f, 0.039151f, 0.053114f, 0.040928f, -0.042318f, -0.008268f, 0.058378f, -0.028379f, 0.046269f, 0.042496f, 0.099260f, 0.059930f, 0.003321f, 0.006872f, -0.012946f, 0.012462f, 0.017202f, -0.057593f, -0.082520f, -0.028707f, 0.007054f, 0.003074f, -0.011964f, 0.064489f, 0.030280f, 0.012149f, -0.028486f, 0.025572f, -0.020228f, -0.025476f, -0.013150f, 0.029195f, 0.033873f, 0.006560f, -0.006268f, -0.006552f, 0.000869f, -0.039956f, -0.009616f, -0.010320f, 0.012766f, 0.007424f, -0.020897f, -0.015797f, -0.001139f, 0.031497f, -0.008954f, -0.012141f, 0.000655f, -0.012574f, -0.032104f, 0.015974f, -0.007075f, + -0.012489f, -0.018915f, 0.000110f, 0.010397f, 0.002085f, -0.056956f, -0.003218f, 0.027745f, -0.004248f, 0.000897f, 0.004669f, 0.007878f, 0.023799f, 0.018701f, 0.000831f, -0.000505f, -0.009141f, -0.003196f, 0.044722f, 0.055321f, -0.108540f, -0.099392f, 0.043350f, -0.028564f, -0.031302f, -0.013030f, -0.037828f, 0.013441f, -0.061279f, 0.077374f, 0.029089f, -0.032237f, -0.000693f, -0.031534f, -0.023718f, -0.025417f, -0.029101f, -0.018857f, -0.073918f, -0.066413f, -0.012390f, -0.015079f, 0.004225f, 0.006315f, 0.012851f, -0.004659f, 0.009428f, 0.012386f, 0.032888f, 0.036433f, -0.013742f, -0.018395f, -0.021573f, -0.018285f, -0.041833f, 0.062264f, -0.021990f, 0.015197f, 0.046221f, 0.043710f, -0.016591f, -0.018707f, -0.034834f, -0.022856f, -0.028605f, 0.047858f, 0.005088f, 0.005916f, -0.059220f, -0.020990f, 0.085568f, -0.008291f, 0.079662f, -0.016088f, -0.029868f, -0.018822f, -0.033763f, -0.034555f, -0.006359f, 0.000386f, -0.047541f, 0.003996f, 0.022694f, -0.001922f, 0.017832f, -0.109686f, -0.044350f, -0.030708f, 0.058226f, -0.013919f, 0.009565f, 0.019899f, 0.091420f, 0.025943f, -0.008452f, -0.009316f, + 0.078718f, 0.047561f, 0.011591f, 0.015362f, -0.004055f, 0.062519f, -0.026086f, -0.035655f, 0.019250f, 0.029384f, 0.052160f, 0.048549f, -0.028479f, 0.032947f, 0.024620f, 0.026550f, 0.007874f, -0.018987f, -0.037521f, -0.031840f, 0.019805f, 0.027477f, 0.014653f, 0.009876f, 0.032424f, -0.003206f, -0.009009f, -0.001865f, -0.002737f, 0.016893f, 0.010118f, 0.022047f, 0.038524f, 0.027209f, 0.044072f, 0.011897f, -0.039701f, 0.012578f, 0.010559f, 0.034461f, -0.000689f, 0.027001f, 0.011487f, 0.025965f, 0.000561f, -0.049892f, -0.006487f, -0.010977f, -0.003391f, -0.057345f, 0.119110f, -0.038461f, -0.023909f, 0.070588f, -0.044746f, -0.067564f, 0.062671f, -0.090950f, -0.026301f, 0.021442f, 0.015621f, -0.063441f, -0.024880f, 0.054459f, 0.000355f, -0.010731f, -0.035415f, 0.042745f, -0.042398f, 0.002812f, 0.033654f, -0.011227f, 0.030901f, 0.000222f, -0.015255f, 0.010352f, 0.007345f, -0.018421f, 0.029383f, -0.016163f, -0.006547f, 0.008777f, -0.000575f, 0.001830f, -0.005514f, 0.008726f, 0.018649f, 0.030145f, 0.043392f, 0.021286f, -0.017917f, -0.004996f, -0.027518f, 0.025443f, -0.009150f, -0.039760f, + 0.009342f, 0.000171f, -0.022651f, -0.054353f, 0.038279f, 0.002906f, -0.025153f, 0.061451f, 0.003538f, -0.019009f, -0.011082f, 0.091015f, -0.085129f, -0.091634f, 0.055886f, 0.087241f, -0.160943f, 0.000798f, -0.059574f, -0.054076f, -0.023941f, 0.058579f, -0.045237f, 0.077520f, -0.010970f, -0.001899f, 0.104158f, -0.029396f, -0.080635f, 0.100138f, 0.117926f, -0.114513f, 0.128024f, -0.043124f, 0.003155f, 0.105853f, -0.035422f, -0.040486f, 0.029022f, 0.028465f, -0.013612f, -0.005329f, 0.019642f, 0.003933f, 0.002506f, -0.025169f, 0.034808f, 0.000227f, -0.002278f, 0.000693f, 0.004671f, 0.015755f, 0.009512f, -0.012668f, -0.013885f, 0.014675f, 0.034707f, -0.030017f, -0.027863f, -0.007447f, 0.036342f, -0.001229f, 0.019411f, -0.005219f, 0.008089f, 0.000203f, 0.008278f, -0.004084f, -0.006392f, -0.042880f, -0.018045f, 0.010835f, -0.015526f, -0.004249f, -0.015277f, -0.023120f, 0.036277f, 0.022777f, -0.063183f, 0.025313f, 0.032736f, -0.006317f, -0.000277f, -0.022137f, 0.032400f, 0.070874f, -0.033128f, -0.044900f, -0.012343f, 0.011250f, 0.072036f, 0.053810f, -0.018808f, -0.005732f, 0.022495f, 0.058620f, + -0.019526f, -0.003284f, 0.035953f, -0.046075f, -0.039618f, 0.031587f, -0.021036f, -0.015695f, -0.019373f, -0.001743f, -0.031918f, 0.002561f, 0.021880f, -0.013409f, 0.016896f, -0.015010f, -0.009442f, -0.009453f, -0.044148f, 0.006608f, -0.017886f, 0.027100f, 0.057784f, 0.003231f, 0.028791f, 0.023935f, 0.002192f, 0.010970f, 0.018072f, 0.061371f, -0.043402f, 0.029684f, 0.026044f, -0.031354f, 0.020997f, 0.020516f, 0.006509f, -0.027821f, -0.055755f, -0.056316f, 0.018571f, 0.020263f, -0.021304f, -0.094149f, 0.076584f, -0.025750f, -0.041287f, -0.023795f, 0.077038f, -0.036205f, 0.084247f, 0.000045f, 0.028288f, -0.079278f, 0.074953f, -0.034310f, 0.033198f, -0.010114f, -0.108541f, -0.034170f, 0.021361f, -0.067008f, 0.068917f, 0.007432f, -0.099514f, -0.111855f, -0.057583f, 0.077796f, 0.019197f, -0.069428f, 0.084657f, -0.091041f, -0.004494f, 0.164447f, 0.024597f, 0.009366f, 0.016342f, 0.012483f, -0.043167f, 0.044961f, 0.003327f, 0.022983f, -0.028975f, 0.043218f, -0.023875f, -0.022738f, -0.019072f, -0.002409f, -0.001195f, 0.013100f, -0.004344f, -0.006340f, 0.008475f, -0.015045f, -0.031151f, 0.028344f, + -0.010467f, -0.004861f, -0.036965f, 0.016898f, 0.008202f, 0.016038f, 0.004385f, 0.018504f, -0.013724f, 0.004369f, 0.051122f, -0.005946f, 0.000532f, 0.027106f, -0.029065f, -0.006119f, 0.001494f, -0.002908f, 0.019881f, -0.020566f, 0.022321f, -0.007808f, -0.057816f, 0.003736f, -0.015120f, 0.016997f, -0.019244f, 0.022361f, -0.035900f, -0.068619f, 0.000289f, -0.072891f, 0.020012f, -0.006514f, -0.013036f, 0.024346f, 0.040265f, -0.025843f, 0.005785f, 0.044223f, -0.034668f, 0.059989f, -0.007999f, -0.066041f, 0.056646f, -0.027267f, -0.012108f, 0.050415f, -0.064608f, 0.017017f, 0.001107f, 0.023431f, -0.010140f, -0.023737f, -0.098607f, 0.022604f, -0.040691f, -0.099078f, 0.119763f, -0.080633f, -0.033569f, -0.016021f, -0.027247f, -0.060864f, 0.034163f, 0.082631f, -0.051133f, 0.023183f, -0.074179f, -0.041985f, -0.042257f, 0.037337f, 0.006745f, 0.108433f, -0.018637f, -0.009060f, -0.032333f, -0.093558f, 0.000128f, 0.045469f, -0.034554f, 0.038166f, 0.045936f, -0.038757f, 0.003893f, -0.033052f, -0.138167f, -0.072503f, -0.042506f, -0.145214f, 0.092842f, 0.122263f, 0.057538f, -0.123129f, -0.098939f, -0.220876f, + 0.031964f, 0.262570f, 0.121486f, 0.046387f, -0.069000f, -0.242265f, -0.055000f, 0.056084f, 0.165619f, 0.166051f, -0.112818f, -0.095462f, -0.044304f, 0.021670f, 0.011466f, 0.180391f, 0.003058f, -0.021986f, 0.014710f, -0.017883f, -0.044021f, 0.063461f, 0.011418f, -0.013608f, 0.035143f, -0.028772f, -0.049102f, 0.034832f, 0.030166f, -0.083659f, 0.056372f, -0.012516f, -0.018409f, -0.044573f, 0.047348f, -0.045037f, 0.054189f, -0.026652f, 0.055464f, -0.065379f, 0.026175f, -0.018273f, 0.000880f, 0.047268f, 0.077321f, 0.021907f, -0.028723f, -0.020426f, -0.004808f, 0.042733f, -0.006824f, 0.061447f, -0.048050f, -0.037822f, 0.017686f, 0.060915f, 0.007165f, 0.037139f, -0.103956f, 0.075413f, -0.014800f, -0.016509f, 0.001872f, 0.033964f, 0.000644f, -0.006508f, 0.025132f, 0.008641f, 0.008371f, 0.040066f, -0.025391f, -0.000283f, 0.020806f, -0.007255f, -0.003782f, 0.025262f, -0.023457f, -0.005694f, 0.007105f, 0.039710f, -0.026255f, -0.018639f, 0.022230f, -0.001056f, 0.012478f, -0.039348f, 0.051600f, -0.012309f, 0.017411f, -0.011288f, 0.006645f, 0.028109f, 0.012372f, -0.006621f, 0.024189f, -0.009234f, + 0.024448f, -0.019294f, -0.001447f, 0.025210f, -0.005821f, -0.010530f, -0.050951f, 0.005127f, 0.039371f, 0.004078f, 0.018449f, -0.025839f, -0.008192f, -0.015497f, -0.016209f, -0.006705f, 0.028479f, -0.010464f, 0.017352f, -0.022515f, -0.026829f, -0.011582f, 0.006369f, 0.052016f, -0.019991f, 0.023611f, 0.001556f, 0.005102f, -0.025474f, 0.013832f, 0.027032f, 0.001370f, -0.024628f, 0.018938f, -0.016414f, 0.012664f, -0.010018f, -0.007339f, -0.009585f, 0.003435f, 0.018959f, -0.009652f, -0.004875f, 0.008673f, -0.001143f, -0.014510f, -0.003093f, 0.014050f, 0.012002f, -0.012598f, 0.002113f, 0.012829f, 0.000525f, -0.007970f, 0.002076f, -0.012680f, 0.009408f, -0.000885f, 0.004804f, -0.005815f, 0.002444f, 0.008132f, -0.004124f, 0.009546f, 0.001833f, 0.008698f, 0.006701f, -0.014314f, -0.014445f, -0.004984f, 0.025218f, -0.016158f, 0.017515f, 0.013938f, -0.010265f, -0.026144f, 0.019732f, -0.016817f, 0.022296f, -0.002171f, -0.003724f, -0.009266f, 0.003697f, 0.003631f, -0.001380f, -0.003060f, 0.001869f, 0.098955f, 0.019685f, -0.053078f, -0.037654f, -0.058621f, -0.018549f, 0.011244f, 0.031150f, -0.009754f, + -0.012544f, -0.010869f, -0.010406f, -0.009908f, 0.014258f, -0.007258f, -0.001952f, -0.003173f, -0.010272f, -0.002502f, 0.015672f, 0.002198f, -0.004481f, -0.015666f, 0.017982f, -0.023309f, 0.013722f, -0.008353f, -0.022790f, 0.000052f, 0.010458f, 0.011663f, 0.009213f, -0.013539f, 0.003059f, -0.004375f, -0.007334f, 0.027452f, -0.024434f, -0.004521f, -0.000938f, -0.001745f, 0.002639f, -0.004151f, -0.014323f, 0.012055f, -0.022734f, 0.021688f, -0.003118f, -0.015328f, 0.005345f, -0.007935f, 0.019416f, -0.011370f, -0.006765f, 0.020828f, -0.018639f, 0.006455f, -0.008879f, -0.002115f, 0.016101f, -0.011496f, -0.004462f, 0.014303f, -0.009767f, 0.003723f, 0.001569f, -0.011714f, 0.028452f, -0.024823f, -0.002019f, 0.010864f, -0.006204f, 0.018071f, -0.008122f, -0.004049f, 0.004841f, 0.005934f, -0.001854f, 0.003971f, -0.001503f, -0.008076f, 0.007305f, -0.000049f, 0.000807f, 0.003909f, -0.000412f, 0.005618f, -0.005604f, 0.001623f, 0.001242f, 0.001236f, -0.000598f, -0.003564f, 0.004733f, -0.000700f, -0.001115f, -0.003381f, 0.004197f, 0.006634f, -0.002155f, -0.003445f, 0.002185f, 0.003866f, -0.004806f, 0.004036f, + -0.003600f, -0.003223f, 0.010778f, -0.001661f, 0.004044f, 0.005599f, -0.007280f, 0.018131f, -0.005859f, -0.000975f, -0.000813f, -0.010500f, 0.010945f, -0.006792f, -0.010758f, -0.046850f, -0.070402f, 0.092275f, 0.287858f, 0.024648f, 0.025062f, -0.196236f, -0.248225f, -0.051718f, -0.052574f, 0.146219f, 0.248871f, 0.127710f, 0.024587f, -0.090046f, -0.175216f, -0.123678f, -0.088425f, -0.004587f, 0.121251f, 0.177180f, 0.095755f, 0.021943f, -0.062117f, -0.110414f, -0.061825f, -0.059484f, -0.055709f, 0.035214f, 0.072193f, 0.071154f, 0.071684f, 0.017237f, -0.031071f, -0.012749f, -0.047225f, -0.073929f, -0.008188f, -0.022043f, -0.014917f, 0.066759f, 0.038575f, 0.055773f, 0.033829f, -0.025281f, -0.060833f, -0.014648f, -0.039538f, -0.006104f, 0.027659f, 0.008480f, 0.014946f, 0.030173f, -0.015290f, -0.021399f, -0.004924f, -0.012571f, 0.012179f, 0.019484f, 0.001060f, 0.024052f, 0.014272f, -0.025239f, -0.024281f, -0.038691f, -0.033089f, 0.001476f, 0.039927f, 0.060522f, 0.029154f, 0.007661f, -0.014064f, -0.040502f, -0.006948f, -0.045669f, -0.028021f, 0.021514f, 0.016876f, 0.051167f, 0.017238f, -0.013013f, + 0.015077f, -0.026516f, -0.046022f, 0.008109f, 0.011674f, 0.015439f, 0.014265f, -0.002873f, -0.005751f, -0.004396f, -0.019136f, -0.014660f, 0.010037f, 0.015621f, 0.015705f, 0.015940f, -0.004416f, -0.015398f, -0.010210f, -0.005910f, 0.000407f, -0.000317f, -0.017424f, 0.004465f, 0.021938f, 0.011842f, 0.013651f, -0.004064f, -0.022082f, -0.012826f, -0.013039f, 0.005099f, 0.015479f, 0.010215f, 0.009560f, 0.004140f, -0.003168f, -0.016748f, -0.022071f, -0.010101f, 0.001340f, 0.013636f, 0.021746f, 0.013319f, 0.013396f, 0.008458f, -0.013860f, -0.025697f, -0.032994f, -0.021388f, 0.009194f, 0.018457f, 0.023937f, 0.033222f, 0.010066f, -0.010005f, -0.016845f, -0.013658f, -0.010169f, -0.009592f, -0.009776f, -0.002875f, 0.007341f, 0.014590f, 0.012818f, 0.010056f, 0.006927f, 0.001490f, -0.009461f, -0.016307f, -0.015792f, -0.008083f, -0.000509f, 0.005885f, 0.005922f, 0.003451f, 0.000632f, 0.000498f, -0.000173f}, + {0.002348f, 0.006368f, 0.005018f, -0.001687f, 0.003852f, 0.001794f, 0.011038f, -0.001952f, -0.000264f, 0.001356f, 0.008087f, -0.001625f, -0.008375f, -0.003941f, -0.008038f, 0.001932f, -0.002842f, -0.000709f, -0.000989f, 0.001913f, 0.000809f, 0.001602f, 0.004705f, 0.008555f, -0.003788f, -0.002150f, 0.001746f, -0.004093f, -0.000529f, 0.006665f, -0.003610f, 0.008247f, 0.000885f, -0.003013f, 0.005534f, -0.007552f, -0.001893f, -0.005274f, 0.007377f, -0.000260f, -0.002680f, -0.002039f, 0.000121f, 0.006785f, 0.000309f, 0.008175f, 0.003190f, -0.006796f, 0.005504f, -0.002995f, -0.005011f, -0.004164f, 0.005656f, -0.001214f, 0.017952f, 0.001860f, 0.004539f, 0.003219f, -0.008317f, 0.000083f, -0.001198f, 0.002145f, -0.004708f, -0.003246f, 0.009371f, 0.007610f, 0.000726f, 0.003140f, -0.000822f, 0.004722f, -0.007671f, 0.000748f, 0.005818f, 0.003609f, 0.000621f, -0.000631f, 0.004155f, -0.006571f, -0.002981f, 0.006924f, -0.004544f, 0.001447f, 0.003418f, 0.004082f, 0.001294f, -0.005258f, -0.003455f, 0.002723f, 0.000636f, 0.002700f, -0.000802f, 0.000756f, -0.002583f, -0.000177f, -0.001274f, -0.000797f, + 0.001513f, 0.002836f, 0.001230f, -0.001692f, -0.000623f, -0.001153f, 0.000698f, 0.001726f, -0.001015f, 0.001268f, 0.000970f, 0.001798f, -0.000239f, 0.002163f, -0.000868f, 0.000525f, 0.001360f, 0.001691f, -0.013665f, -0.012346f, -0.007671f, -0.006998f, -0.006051f, 0.002319f, 0.008636f, 0.017581f, 0.003383f, 0.004532f, -0.000025f, -0.012555f, -0.005242f, -0.004664f, -0.011264f, 0.017547f, 0.004678f, 0.006970f, 0.004833f, -0.003880f, 0.001803f, 0.016802f, 0.006723f, -0.003951f, -0.000306f, -0.004073f, 0.000372f, -0.007773f, 0.004698f, -0.002448f, -0.003463f, 0.000671f, 0.008951f, 0.000951f, 0.003139f, 0.005603f, 0.007766f, -0.013860f, 0.000207f, 0.003534f, 0.008100f, 0.012416f, -0.006871f, -0.001386f, -0.003311f, 0.010361f, 0.005637f, 0.006688f, -0.001069f, 0.003112f, 0.020727f, -0.013050f, 0.002660f, 0.001240f, -0.008697f, 0.003745f, -0.012165f, -0.001618f, 0.003177f, -0.002616f, -0.018360f, 0.005189f, 0.001321f, -0.004948f, -0.005051f, -0.000822f, -0.002716f, 0.006247f, -0.005784f, -0.002554f, 0.001869f, -0.000162f, -0.005623f, -0.000241f, 0.004715f, -0.007673f, 0.000746f, -0.002068f, + -0.001784f, -0.002364f, -0.001292f, 0.001212f, -0.004426f, -0.003349f, 0.000737f, -0.002653f, -0.003483f, -0.003620f, -0.001179f, -0.002391f, 0.004547f, -0.003902f, -0.001035f, 0.000672f, 0.002328f, -0.000220f, 0.000236f, -0.001333f, 0.000357f, -0.002321f, 0.001864f, -0.003330f, 0.018464f, 0.001703f, 0.006573f, -0.000700f, -0.005058f, 0.000469f, 0.012947f, 0.006737f, 0.008324f, 0.013536f, -0.006034f, 0.000204f, 0.012990f, 0.004248f, 0.005657f, 0.000811f, 0.001520f, 0.007729f, -0.007026f, -0.001978f, 0.009633f, -0.006554f, 0.003708f, 0.005600f, -0.004239f, 0.004133f, 0.012944f, -0.006116f, 0.004719f, 0.001100f, 0.000409f, 0.000232f, -0.002815f, -0.008833f, -0.002858f, -0.007391f, -0.000889f, 0.003184f, 0.006139f, 0.006667f, -0.001296f, -0.011098f, -0.001133f, 0.016364f, -0.006157f, 0.003357f, -0.003043f, -0.017081f, 0.009896f, 0.002585f, 0.007314f, -0.001177f, 0.008344f, 0.008323f, -0.014720f, 0.005897f, 0.000308f, 0.005540f, -0.001221f, -0.010159f, -0.000632f, -0.001369f, -0.002027f, -0.001854f, 0.006380f, 0.000046f, 0.001123f, 0.013325f, 0.002412f, 0.010611f, 0.000183f, 0.001105f, + 0.001859f, -0.005694f, -0.009258f, 0.006314f, -0.007047f, 0.004181f, 0.002392f, -0.000270f, 0.004174f, -0.004508f, -0.002782f, 0.003003f, -0.000017f, -0.008697f, 0.002663f, 0.001129f, 0.000968f, -0.001687f, 0.003640f, 0.000455f, -0.001695f, 0.004337f, -0.001144f, -0.000275f, -0.003711f, 0.001356f, -0.001942f, 0.000703f, -0.000153f, -0.000430f, 0.000666f, -0.001251f, 0.002110f, 0.000622f, -0.001087f, 0.000756f, -0.000727f, 0.000343f, -0.000293f, -0.001317f, 0.030346f, 0.017074f, 0.025962f, 0.008446f, -0.010795f, 0.005534f, -0.004849f, 0.000748f, 0.002496f, -0.022134f, -0.005934f, -0.006084f, 0.005689f, 0.008719f, -0.003620f, -0.000496f, 0.002892f, 0.000715f, 0.015818f, -0.001736f, -0.016660f, 0.005426f, -0.009649f, 0.007397f, 0.008388f, 0.006733f, 0.009777f, -0.002353f, -0.003435f, 0.003990f, -0.002983f, -0.003860f, 0.002786f, -0.002577f, 0.005850f, 0.008442f, -0.003687f, -0.012798f, 0.004083f, -0.012449f, -0.008062f, -0.001568f, -0.025942f, 0.000252f, -0.004416f, 0.010153f, 0.009645f, 0.004678f, 0.015822f, 0.015960f, 0.007029f, 0.003549f, -0.001201f, 0.000769f, 0.000855f, -0.007250f, + 0.014773f, -0.001988f, 0.005107f, -0.004712f, -0.005696f, -0.002052f, -0.008514f, 0.007455f, -0.003963f, -0.003150f, 0.014486f, -0.012123f, -0.003761f, 0.003060f, -0.005598f, -0.001701f, -0.000493f, 0.005073f, 0.005966f, 0.004016f, 0.010303f, -0.003411f, -0.002861f, -0.001526f, -0.006557f, 0.003418f, 0.006603f, 0.009101f, -0.000208f, -0.001405f, -0.001976f, 0.000087f, 0.001933f, 0.001899f, -0.002774f, 0.003009f, -0.000071f, 0.002162f, 0.001828f, -0.000397f, -0.000750f, 0.003893f, -0.001160f, 0.001953f, 0.001584f, 0.001794f, 0.001594f, -0.001150f, 0.001443f, 0.006593f, -0.000517f, 0.000301f, 0.000754f, 0.004859f, 0.000853f, -0.001124f, -0.003501f, -0.011560f, -0.026610f, -0.009519f, -0.002764f, 0.003766f, -0.003286f, 0.008038f, -0.001750f, 0.012989f, -0.011699f, 0.006855f, -0.002871f, 0.023910f, 0.010075f, -0.005299f, -0.010225f, 0.005474f, -0.014562f, -0.007888f, 0.005674f, -0.005230f, -0.008666f, 0.016501f, 0.006964f, -0.001051f, -0.007606f, -0.010464f, 0.007087f, 0.005304f, 0.005308f, -0.000564f, -0.002516f, -0.006514f, 0.009828f, -0.012858f, -0.005395f, -0.000714f, 0.009131f, 0.006807f, + -0.000575f, 0.009860f, 0.001339f, -0.004803f, 0.002114f, -0.004785f, -0.004763f, -0.005757f, 0.007121f, -0.005296f, -0.000077f, 0.009162f, 0.013980f, 0.014076f, 0.005921f, 0.004896f, -0.000822f, 0.007909f, -0.003128f, 0.011436f, -0.001900f, 0.007239f, 0.005808f, -0.004915f, 0.000714f, -0.005371f, 0.005755f, 0.004768f, 0.002096f, -0.001938f, -0.009609f, 0.006729f, -0.010467f, -0.001418f, -0.011335f, 0.004076f, -0.000711f, -0.001235f, 0.002323f, -0.009872f, 0.000595f, 0.002406f, 0.015965f, 0.005006f, 0.002816f, 0.003626f, 0.006327f, 0.002597f, 0.003364f, -0.004836f, 0.003714f, 0.002569f, -0.006313f, -0.000670f, 0.000523f, 0.001259f, 0.002949f, -0.003322f, 0.002236f, -0.002195f, 0.000629f, -0.000517f, 0.004183f, 0.000296f, 0.000693f, 0.000357f, 0.001538f, -0.000956f, 0.003817f, -0.002104f, 0.001556f, 0.001284f, 0.003689f, 0.001539f, 0.005045f, -0.003629f, 0.002005f, -0.000950f, 0.005788f, 0.002022f, 0.002195f, -0.000845f, -0.000579f, 0.000316f, -0.000884f, -0.003766f, -0.012385f, -0.026109f, -0.021027f, 0.001283f, -0.017964f, -0.008892f, -0.025454f, -0.013597f, -0.015509f, 0.006146f, + -0.008280f, -0.011071f, -0.003766f, 0.000570f, -0.006540f, -0.024778f, 0.006655f, -0.004414f, 0.002495f, -0.011239f, 0.011174f, 0.004097f, 0.000260f, -0.010006f, -0.004432f, 0.012619f, 0.008639f, 0.000517f, -0.001882f, -0.008541f, 0.005300f, 0.002700f, 0.005487f, -0.010219f, -0.000946f, -0.008312f, -0.007414f, -0.008134f, 0.000838f, 0.016352f, -0.013384f, 0.000234f, -0.012752f, 0.001250f, 0.005929f, 0.007385f, -0.013449f, 0.013462f, 0.016405f, -0.005472f, -0.003915f, -0.002928f, -0.000660f, 0.005154f, 0.006611f, 0.001575f, 0.004492f, -0.008069f, -0.001573f, -0.003041f, 0.014104f, -0.004495f, 0.015609f, -0.000474f, -0.004821f, 0.012395f, -0.001328f, -0.007537f, 0.002638f, 0.013433f, 0.015530f, -0.001249f, -0.004904f, -0.008558f, 0.005325f, -0.011397f, -0.001161f, 0.007485f, -0.005837f, 0.003322f, -0.000445f, -0.000161f, -0.004706f, 0.000009f, -0.003662f, -0.005756f, -0.000631f, 0.004691f, 0.002475f, 0.004671f, -0.002196f, -0.001645f, -0.003882f, 0.001390f, -0.003153f, 0.004863f, 0.002455f, 0.006834f, 0.000581f, -0.001725f, -0.000697f, -0.001337f, -0.002541f, 0.003071f, -0.002262f, -0.001362f, + 0.001211f, 0.000956f, -0.003516f, -0.001304f, 0.000814f, -0.000007f, -0.001993f, -0.003424f, -0.000317f, -0.003168f, -0.002225f, -0.001396f, 0.003876f, -0.000411f, 0.001256f, 0.001080f, 0.000037f, -0.002509f, -0.000855f, -0.020203f, -0.019987f, -0.023211f, 0.006868f, -0.018808f, -0.007749f, 0.017974f, 0.008850f, -0.020408f, -0.001308f, 0.000148f, 0.009007f, 0.013260f, 0.022800f, -0.006201f, -0.008110f, -0.022403f, -0.027374f, -0.016262f, -0.005455f, 0.011138f, -0.011065f, 0.005334f, -0.015743f, 0.016385f, -0.011796f, 0.013148f, -0.006053f, 0.001799f, 0.003515f, -0.002705f, -0.011631f, 0.018490f, -0.015935f, -0.000865f, -0.008466f, 0.002211f, -0.009875f, 0.002230f, -0.040018f, 0.000588f, 0.018746f, -0.023930f, 0.005539f, 0.016241f, 0.005947f, -0.012497f, -0.001288f, 0.019561f, -0.024093f, -0.000153f, 0.010003f, 0.009426f, 0.009411f, -0.003567f, -0.003395f, -0.015721f, -0.007655f, 0.006335f, 0.010787f, 0.016921f, 0.020845f, -0.030608f, 0.011730f, -0.009293f, 0.002354f, -0.021605f, -0.008634f, 0.017646f, 0.004449f, 0.002355f, -0.011702f, -0.000068f, 0.011557f, 0.008239f, 0.005226f, -0.010741f, + -0.006763f, 0.011013f, -0.002820f, -0.004785f, -0.002272f, -0.007931f, 0.006819f, -0.001382f, -0.006071f, -0.002463f, -0.001996f, 0.001512f, -0.003876f, -0.004355f, 0.001609f, 0.001425f, 0.001844f, -0.002523f, -0.003406f, 0.002932f, -0.002127f, -0.008203f, -0.000575f, -0.002514f, 0.005054f, -0.003864f, 0.000397f, 0.000285f, 0.002109f, -0.005181f, -0.002705f, -0.001944f, 0.000687f, 0.005272f, -0.000482f, -0.001399f, 0.003469f, -0.000057f, 0.003415f, -0.001662f, -0.003457f, -0.001485f, -0.005966f, 0.001258f, 0.000105f, -0.004387f, 0.002440f, 0.023901f, 0.040019f, 0.022176f, 0.026104f, 0.003910f, 0.009302f, 0.034993f, -0.001047f, 0.000992f, 0.024042f, -0.011786f, 0.000108f, 0.006843f, 0.012011f, 0.019736f, -0.016056f, -0.023022f, 0.012712f, 0.006978f, -0.013284f, 0.002807f, 0.008243f, -0.005168f, 0.004759f, -0.012417f, -0.002743f, -0.014493f, 0.004496f, 0.015690f, 0.004947f, 0.013739f, 0.010713f, 0.011172f, -0.027260f, 0.001386f, 0.031848f, -0.003828f, -0.000512f, 0.029586f, -0.003849f, -0.001090f, 0.004446f, -0.003947f, -0.000813f, 0.016361f, 0.025820f, -0.025347f, -0.004068f, 0.005015f, + -0.007711f, 0.011914f, -0.003965f, 0.001142f, 0.001935f, -0.005549f, 0.022739f, -0.002935f, -0.008203f, 0.008472f, -0.008508f, -0.014176f, 0.004939f, 0.015431f, 0.005901f, -0.001740f, 0.003190f, 0.014767f, 0.007784f, 0.013229f, 0.004056f, 0.001632f, -0.000092f, -0.013010f, -0.002631f, -0.010194f, -0.002271f, -0.004286f, -0.023091f, -0.010034f, 0.001552f, 0.014924f, -0.006077f, 0.005768f, -0.003910f, -0.012244f, 0.005491f, 0.001329f, -0.003835f, 0.001923f, -0.007398f, 0.000376f, 0.001912f, 0.004579f, 0.006572f, -0.001554f, 0.004255f, -0.005613f, -0.008268f, -0.009956f, -0.000998f, 0.009023f, -0.001571f, -0.000702f, 0.003069f, 0.000501f, 0.001052f, 0.004863f, -0.002296f, -0.000890f, -0.002594f, 0.006992f, 0.000219f, -0.001029f, 0.000877f, -0.001758f, -0.003667f, -0.004464f, 0.001905f, 0.003977f, 0.004997f, 0.002736f, 0.002015f, -0.000861f, -0.000262f, 0.000086f, -0.001557f, -0.006863f, 0.067447f, 0.009351f, -0.001439f, -0.000408f, -0.032369f, -0.009469f, 0.003126f, -0.007550f, 0.014284f, 0.006284f, 0.023152f, -0.002947f, 0.000038f, -0.004994f, -0.009785f, 0.015532f, 0.002922f, 0.005943f, + 0.008723f, 0.012160f, -0.011433f, -0.011515f, -0.013308f, -0.009262f, -0.007623f, -0.003341f, -0.018283f, -0.003587f, 0.029530f, 0.013922f, -0.005616f, -0.001995f, -0.003470f, 0.002466f, 0.010461f, -0.005114f, 0.042199f, -0.007334f, -0.001148f, -0.019152f, 0.007655f, 0.018411f, -0.003165f, -0.014092f, -0.001828f, 0.007093f, 0.014133f, 0.006106f, 0.019867f, 0.029676f, 0.009668f, -0.000630f, 0.017628f, 0.014403f, 0.005385f, 0.011133f, -0.036988f, 0.008588f, 0.000978f, -0.032726f, 0.012023f, -0.000763f, -0.014101f, 0.009229f, -0.014954f, -0.014548f, 0.017359f, 0.013662f, -0.007710f, -0.028953f, -0.013105f, 0.006965f, -0.016645f, -0.003385f, 0.007282f, 0.028459f, -0.004611f, 0.005764f, -0.014826f, -0.031241f, -0.016781f, -0.014962f, -0.006782f, 0.014948f, 0.002046f, -0.010353f, -0.003140f, -0.006446f, -0.006303f, 0.009573f, 0.007954f, 0.003093f, 0.006794f, 0.008084f, -0.006776f, -0.004952f, -0.005033f, 0.001117f, -0.005520f, -0.008177f, -0.007962f, 0.003500f, -0.002696f, -0.001137f, 0.001137f, 0.002994f, -0.006760f, 0.003888f, -0.001450f, -0.000768f, -0.002991f, -0.001046f, -0.004248f, 0.010719f, + -0.006579f, -0.002243f, 0.001902f, -0.006792f, -0.006590f, -0.004964f, 0.000418f, 0.005487f, -0.035747f, 0.022513f, -0.004142f, -0.023097f, -0.000915f, 0.020941f, -0.023959f, -0.005090f, -0.019317f, 0.012768f, 0.004154f, -0.007155f, -0.008225f, -0.003009f, 0.012863f, 0.009786f, 0.005525f, 0.013325f, 0.011748f, 0.001137f, 0.014187f, 0.016212f, 0.006734f, 0.008939f, -0.016591f, -0.008195f, -0.011552f, 0.010185f, 0.013384f, 0.004695f, 0.004140f, -0.007963f, -0.005771f, -0.004920f, -0.004281f, -0.014190f, 0.012899f, 0.002858f, 0.000838f, -0.015185f, -0.004505f, 0.023841f, -0.017248f, -0.018522f, -0.028230f, 0.009738f, -0.021174f, 0.030602f, 0.035550f, 0.024364f, 0.014336f, 0.001234f, 0.027787f, -0.014835f, 0.021838f, -0.002992f, -0.015583f, 0.000997f, 0.001271f, -0.033591f, -0.014884f, 0.012383f, 0.001908f, -0.005831f, 0.005044f, 0.027868f, 0.019169f, -0.032404f, -0.008163f, -0.000669f, -0.000867f, 0.009099f, 0.013704f, -0.000851f, -0.025861f, 0.010192f, -0.015016f, -0.048147f, -0.013970f, -0.009969f, 0.014858f, 0.023990f, 0.008153f, 0.000985f, 0.001215f, 0.000507f, 0.002138f, 0.017017f, + 0.000040f, 0.002336f, 0.002197f, 0.008481f, -0.015276f, -0.001041f, 0.004663f, 0.011144f, 0.013681f, 0.004620f, 0.008114f, 0.011902f, 0.015981f, 0.020402f, 0.007858f, 0.009980f, 0.010063f, 0.000271f, -0.000963f, -0.003982f, -0.002568f, -0.000137f, 0.004188f, -0.012312f, -0.003007f, 0.006789f, 0.011292f, -0.001461f, 0.003155f, -0.001798f, 0.004732f, -0.000174f, 0.007237f, -0.001425f, 0.006939f, -0.005437f, 0.008892f, -0.000083f, 0.008398f, -0.029980f, 0.002988f, 0.003334f, 0.018752f, 0.004039f, 0.047910f, 0.007625f, -0.019774f, -0.006400f, -0.016650f, 0.030273f, -0.038840f, -0.003473f, 0.026846f, -0.058670f, -0.023155f, -0.019802f, -0.020512f, -0.038916f, 0.003677f, -0.006826f, -0.016691f, -0.002132f, 0.018405f, 0.002311f, 0.002439f, -0.011484f, 0.004561f, -0.003890f, 0.004533f, 0.000017f, 0.002908f, 0.015002f, -0.003649f, -0.000936f, 0.030527f, -0.019753f, -0.003980f, 0.005268f, 0.026293f, -0.013813f, 0.037544f, -0.011374f, -0.015171f, -0.032152f, -0.041831f, -0.012211f, -0.031136f, 0.015180f, -0.009450f, -0.023383f, 0.003189f, 0.003770f, 0.017219f, 0.014560f, 0.006085f, -0.002966f, + 0.053135f, 0.029402f, -0.003359f, 0.005177f, 0.018194f, 0.013598f, 0.008835f, -0.007202f, -0.001041f, -0.009542f, -0.012392f, -0.011467f, 0.008006f, 0.041436f, -0.028978f, -0.007103f, -0.016505f, 0.029859f, -0.007873f, 0.009249f, -0.004266f, 0.014017f, -0.032822f, -0.024552f, -0.008481f, 0.013943f, 0.004416f, 0.012039f, -0.007266f, 0.007425f, 0.011229f, 0.009861f, 0.004673f, -0.001963f, -0.014007f, 0.008811f, 0.003283f, -0.011886f, -0.008346f, 0.007434f, -0.007826f, -0.005924f, -0.000260f, 0.008005f, -0.007457f, 0.009647f, -0.006056f, 0.013782f, -0.007689f, 0.001542f, 0.004793f, 0.002507f, -0.006663f, -0.012594f, 0.009742f, -0.003783f, -0.002853f, -0.000984f, -0.001335f, -0.003981f, 0.009236f, 0.011556f, 0.007995f, 0.007071f, -0.001403f, 0.004079f, 0.013233f, -0.007149f, 0.005211f, 0.002304f, -0.000346f, 0.002922f, -0.000893f, 0.000718f, -0.004832f, -0.023885f, -0.022960f, 0.012946f, -0.010295f, -0.043007f, 0.021295f, -0.012811f, 0.017004f, -0.012359f, 0.021403f, 0.014602f, 0.017792f, 0.028540f, 0.004601f, 0.024155f, 0.009676f, 0.006266f, 0.016353f, 0.005692f, 0.004462f, 0.001212f, + -0.000717f, -0.015284f, 0.013621f, -0.031076f, 0.013581f, 0.003302f, -0.008954f, -0.016721f, -0.000479f, 0.012086f, -0.013937f, -0.005748f, -0.020821f, -0.007991f, -0.025622f, 0.001683f, 0.014038f, -0.000190f, -0.003358f, -0.016165f, -0.028286f, -0.020438f, 0.022035f, 0.007448f, -0.009243f, -0.016145f, -0.004017f, -0.001213f, -0.027655f, 0.023471f, 0.021240f, -0.027108f, -0.026473f, -0.043220f, -0.006633f, -0.051727f, 0.013925f, 0.020291f, 0.010582f, -0.003120f, -0.006656f, -0.005237f, 0.021233f, 0.021627f, 0.024775f, -0.016035f, -0.012890f, 0.016726f, -0.007205f, -0.007606f, -0.030431f, 0.013639f, 0.024793f, 0.028581f, -0.006739f, 0.015725f, -0.008785f, 0.004835f, 0.015516f, 0.008187f, -0.010998f, 0.005315f, -0.018801f, -0.011249f, -0.007821f, 0.002967f, 0.007884f, 0.006979f, -0.007472f, -0.006627f, -0.002809f, -0.008216f, -0.001697f, -0.011387f, -0.014468f, -0.007370f, -0.006052f, -0.004214f, -0.001960f, -0.003982f, -0.005775f, 0.001485f, -0.000302f, 0.008596f, -0.002932f, 0.010922f, -0.002851f, 0.008775f, 0.000540f, -0.004569f, 0.002141f, 0.021860f, 0.006653f, 0.011280f, -0.005016f, -0.008460f, + 0.001742f, 0.008138f, -0.007583f, 0.015948f, 0.015709f, 0.004800f, 0.007357f, 0.003581f, -0.018051f, -0.009180f, 0.041322f, 0.047888f, -0.018977f, -0.001001f, 0.012843f, -0.038622f, -0.007242f, 0.048178f, 0.001617f, -0.052338f, 0.005692f, 0.016178f, -0.001315f, 0.018278f, 0.042987f, -0.017586f, 0.038850f, 0.021151f, 0.033154f, 0.009378f, -0.025475f, -0.027023f, 0.021669f, -0.024515f, -0.038650f, -0.011146f, -0.045911f, 0.010164f, -0.003124f, 0.016357f, 0.013968f, 0.010084f, 0.005148f, -0.001781f, 0.001264f, 0.023380f, 0.011355f, -0.044906f, -0.005286f, 0.015132f, 0.028894f, 0.016181f, 0.035803f, 0.032379f, 0.025291f, -0.011896f, -0.004333f, 0.006764f, 0.065204f, -0.027240f, 0.004772f, 0.013892f, 0.025575f, -0.010473f, -0.036255f, -0.007538f, -0.009143f, -0.021759f, -0.040096f, -0.043716f, 0.012023f, -0.024489f, -0.018537f, 0.011401f, 0.034483f, 0.042551f, 0.000807f, -0.002332f, -0.000512f, 0.032702f, -0.022129f, -0.011238f, 0.038628f, -0.042027f, 0.004677f, -0.033186f, -0.022303f, 0.002556f, 0.044795f, -0.007190f, -0.030629f, 0.040025f, -0.040884f, 0.001745f, -0.049356f, -0.004271f, + -0.006190f, 0.014625f, 0.027468f, -0.020236f, -0.011545f, -0.014279f, 0.003707f, 0.001107f, -0.015280f, 0.008781f, -0.004511f, -0.004220f, -0.006509f, -0.005168f, -0.018093f, 0.004183f, -0.008706f, 0.006530f, 0.004904f, -0.001207f, -0.003985f, 0.011117f, 0.000027f, 0.000286f, -0.021336f, 0.003325f, -0.001797f, -0.000581f, 0.019948f, 0.002134f, 0.005653f, -0.008183f, 0.003247f, -0.004662f, -0.011579f, 0.005234f, -0.023628f, 0.008043f, -0.008128f, 0.017877f, -0.014048f, -0.001755f, 0.003300f, -0.001810f, -0.003651f, -0.007198f, 0.013191f, -0.008522f, 0.014361f, -0.004905f, 0.008479f, 0.022479f, -0.026419f, -0.059151f, -0.013956f, -0.020640f, -0.019489f, -0.012238f, 0.002747f, -0.020282f, -0.017155f, 0.005643f, 0.013178f, -0.012743f, 0.031314f, -0.003417f, 0.020979f, -0.010618f, -0.001250f, 0.018044f, -0.025814f, -0.016186f, -0.008789f, 0.026928f, -0.006502f, -0.029625f, -0.011183f, 0.004444f, -0.014359f, 0.012264f, -0.019850f, -0.019985f, 0.029001f, 0.008398f, -0.022990f, 0.013928f, -0.002777f, -0.018145f, -0.001764f, -0.030066f, -0.025835f, 0.005094f, 0.045029f, 0.018127f, 0.014027f, -0.036125f, + 0.027798f, -0.003226f, 0.021296f, -0.012611f, -0.025134f, 0.012187f, -0.046356f, 0.038686f, -0.062761f, -0.039805f, 0.014530f, 0.034520f, 0.002670f, 0.041340f, -0.018104f, 0.010820f, -0.028715f, 0.038778f, 0.012472f, 0.028833f, 0.013284f, 0.006750f, -0.009114f, -0.009698f, -0.018956f, -0.006646f, -0.001140f, -0.033471f, -0.019973f, 0.002900f, -0.050696f, 0.002826f, 0.056927f, 0.016945f, 0.020500f, 0.005456f, -0.025829f, -0.019467f, -0.005269f, -0.006259f, -0.001837f, -0.010065f, -0.013589f, 0.011315f, 0.007444f, 0.010265f, 0.016082f, -0.016272f, 0.010556f, -0.006197f, -0.008778f, -0.006650f, 0.014321f, -0.004868f, -0.015628f, -0.023694f, -0.000165f, -0.014276f, -0.006713f, -0.014635f, -0.004061f, -0.009603f, -0.005760f, 0.022260f, -0.012172f, 0.005073f, 0.006904f, -0.017901f, 0.020393f, 0.000168f, 0.012193f, 0.016042f, -0.007472f, 0.007923f, 0.003598f, -0.000742f, 0.004962f, 0.013423f, -0.007794f, -0.007637f, 0.012377f, 0.001041f, 0.009840f, -0.044453f, -0.041457f, 0.004092f, 0.017087f, -0.020962f, -0.093790f, -0.019605f, -0.000479f, 0.012259f, -0.031724f, 0.002743f, -0.017689f, -0.003688f, + -0.025274f, -0.028222f, 0.025072f, -0.027445f, -0.033673f, -0.005695f, -0.023568f, -0.025921f, 0.008928f, -0.037655f, -0.012461f, 0.022720f, 0.052034f, 0.042025f, -0.002004f, -0.025639f, 0.008997f, 0.037827f, -0.001744f, 0.025157f, -0.007217f, 0.031690f, 0.017823f, -0.032552f, 0.051812f, -0.039488f, -0.020849f, 0.034872f, -0.038421f, 0.011597f, -0.008823f, -0.028922f, 0.003417f, 0.043835f, -0.009087f, -0.025766f, 0.016424f, 0.021510f, -0.000607f, 0.008903f, -0.063031f, 0.015223f, 0.002650f, 0.031807f, 0.015416f, -0.027653f, 0.027482f, -0.014733f, -0.002375f, -0.025628f, 0.013638f, 0.036941f, -0.007589f, -0.007309f, -0.037841f, -0.053550f, 0.030489f, -0.003874f, 0.024571f, -0.029286f, 0.022312f, 0.017808f, -0.038087f, 0.002199f, 0.033964f, 0.019386f, -0.017766f, -0.030642f, 0.027785f, 0.004526f, -0.023781f, 0.022601f, 0.003766f, 0.010077f, 0.002722f, 0.009365f, 0.001795f, 0.025253f, 0.000392f, 0.008696f, -0.001667f, 0.001050f, 0.022466f, -0.007225f, 0.000601f, 0.005102f, -0.005833f, 0.004094f, 0.002053f, 0.015490f, -0.000752f, -0.017235f, -0.002077f, 0.002196f, -0.010210f, -0.003052f, + 0.001150f, -0.006882f, 0.023263f, -0.005476f, -0.013277f, 0.001477f, 0.014816f, 0.006948f, -0.000749f, 0.008423f, 0.001225f, -0.009662f, -0.001176f, 0.024401f, 0.016694f, -0.016499f, -0.012050f, 0.003526f, 0.035352f, 0.035468f, -0.095639f, 0.036058f, 0.048476f, -0.012336f, 0.033721f, -0.000341f, 0.017475f, -0.007764f, -0.019670f, -0.012704f, 0.020338f, 0.004799f, -0.027631f, -0.017947f, -0.002559f, -0.012958f, -0.007079f, -0.002969f, 0.059155f, 0.011894f, 0.013095f, -0.036600f, 0.025468f, -0.026062f, 0.000380f, 0.004584f, -0.040000f, 0.018678f, -0.014833f, 0.002085f, -0.016199f, -0.028915f, 0.000781f, 0.019194f, 0.054813f, 0.019716f, 0.005691f, 0.033909f, 0.014348f, -0.004093f, 0.005565f, 0.000855f, 0.009564f, 0.005556f, 0.037177f, 0.016275f, 0.011232f, 0.006136f, -0.004776f, -0.011558f, -0.036617f, -0.030735f, 0.004260f, -0.004394f, -0.022596f, 0.003209f, 0.027450f, -0.041887f, 0.040459f, 0.010429f, -0.014915f, -0.001682f, -0.010846f, -0.003358f, 0.024502f, 0.010718f, 0.007975f, -0.028463f, -0.005800f, -0.038903f, -0.012014f, 0.010834f, 0.014210f, 0.014174f, -0.016860f, -0.013524f, + 0.030136f, -0.003555f, -0.048884f, 0.007022f, -0.000909f, -0.000533f, -0.028874f, 0.009460f, 0.021561f, -0.002980f, 0.031042f, 0.020943f, -0.010468f, -0.000575f, -0.013496f, 0.016776f, -0.001475f, 0.005529f, 0.002520f, -0.007063f, -0.005932f, -0.001295f, -0.006149f, 0.006804f, -0.013417f, -0.001313f, 0.000756f, 0.007237f, -0.006935f, -0.008029f, -0.009595f, 0.000522f, -0.002372f, 0.005330f, 0.003028f, -0.000283f, -0.006014f, 0.006470f, 0.004850f, 0.000955f, 0.007037f, 0.001290f, 0.005017f, 0.004688f, 0.006673f, -0.001861f, -0.024563f, -0.000928f, -0.007043f, -0.085000f, 0.131732f, -0.130244f, -0.058902f, -0.029763f, -0.008891f, 0.076197f, 0.022391f, 0.085301f, 0.021299f, -0.017442f, 0.067208f, 0.029081f, -0.022758f, 0.031507f, 0.028514f, 0.015945f, 0.026677f, 0.025873f, -0.023070f, -0.037249f, -0.026526f, 0.004292f, -0.024395f, 0.012864f, 0.007639f, 0.016680f, -0.002613f, 0.011524f, 0.003882f, 0.041874f, 0.009916f, 0.003928f, 0.012874f, -0.009782f, -0.000610f, 0.014766f, -0.026304f, -0.037391f, -0.025434f, -0.021764f, 0.003691f, 0.011063f, -0.026378f, -0.004313f, -0.015886f, -0.064812f, + 0.032598f, -0.011737f, 0.016481f, -0.034105f, -0.011612f, -0.031594f, -0.043297f, 0.016316f, 0.011434f, 0.042069f, -0.001853f, 0.037062f, -0.015742f, 0.031040f, 0.003623f, 0.044314f, -0.031449f, 0.027408f, 0.032919f, 0.018207f, 0.019079f, 0.001590f, -0.013509f, 0.051894f, 0.034704f, -0.003476f, 0.062597f, 0.014973f, 0.007292f, 0.026786f, 0.040335f, 0.000457f, 0.018522f, 0.023281f, 0.010610f, 0.010147f, -0.004728f, 0.002019f, -0.036660f, -0.009410f, -0.004987f, 0.005775f, 0.007634f, 0.007193f, 0.024293f, 0.010711f, 0.012359f, -0.009593f, -0.001387f, 0.009508f, 0.000959f, 0.000738f, -0.008759f, 0.009943f, 0.008432f, 0.004747f, -0.006851f, 0.012648f, -0.001995f, 0.002189f, -0.009929f, -0.009246f, -0.003742f, 0.000920f, 0.001070f, -0.006091f, -0.020200f, 0.004574f, 0.004309f, -0.005557f, -0.001071f, -0.005271f, 0.001460f, -0.007486f, 0.004902f, -0.007217f, 0.000247f, 0.017940f, -0.005193f, -0.018018f, 0.011563f, 0.008291f, 0.007014f, -0.004441f, -0.002446f, 0.080423f, 0.006968f, -0.048450f, -0.071172f, -0.037757f, -0.029691f, 0.009550f, 0.058937f, -0.000977f, -0.024899f, 0.052703f, + 0.004361f, -0.042599f, 0.038338f, 0.041565f, -0.007594f, -0.000787f, -0.004010f, -0.037710f, 0.041928f, 0.002356f, 0.023821f, -0.013300f, -0.033514f, -0.058639f, 0.010711f, 0.007400f, 0.009098f, -0.008279f, 0.018462f, -0.019501f, -0.000203f, -0.037583f, -0.046798f, 0.016444f, -0.005896f, 0.014905f, -0.006734f, -0.017373f, -0.042371f, -0.065815f, 0.033786f, -0.036780f, 0.015129f, 0.031656f, -0.002181f, -0.016943f, -0.032281f, -0.023285f, 0.075819f, 0.017225f, -0.003419f, 0.009852f, -0.009975f, -0.030633f, -0.010017f, 0.043948f, -0.042455f, -0.071487f, -0.024939f, -0.022689f, -0.100142f, -0.078265f, -0.042112f, -0.043522f, 0.010792f, -0.000451f, -0.034829f, -0.066822f, -0.026411f, -0.031577f, -0.022652f, -0.018274f, -0.013433f, -0.039965f, -0.038290f, 0.030317f, -0.034002f, 0.002165f, 0.005189f, -0.041872f, -0.007310f, -0.030550f, -0.038274f, -0.009281f, -0.006213f, 0.017799f, 0.007498f, 0.023930f, -0.024441f, 0.006332f, 0.014098f, -0.000060f, -0.032885f, -0.018575f, -0.022054f, -0.002088f, 0.010775f, -0.011130f, -0.015986f, 0.028608f, 0.017031f, 0.020616f, -0.033617f, 0.005813f, -0.016340f, -0.001777f, + 0.001461f, 0.003463f, -0.003993f, 0.034115f, 0.002720f, -0.005860f, 0.004342f, 0.012047f, 0.017208f, 0.014257f, -0.002203f, 0.020295f, -0.014464f, -0.007578f, -0.006203f, -0.026184f, -0.000705f, -0.007872f, -0.033828f, -0.028164f, 0.004946f, 0.001613f, -0.000518f, -0.008478f, -0.007411f, 0.055260f, -0.006569f, 0.052643f, 0.077913f, -0.014353f, -0.084588f, -0.081845f, -0.017723f, 0.039263f, 0.005263f, -0.064229f, 0.050315f, -0.010975f, -0.042236f, 0.051775f, -0.097414f, -0.020418f, 0.000307f, -0.017198f, -0.015123f, 0.118011f, -0.049673f, 0.110592f, -0.005710f, 0.023302f, -0.008433f, -0.043626f, 0.070553f, 0.018846f, 0.073364f, -0.050398f, -0.050000f, 0.016135f, -0.080487f, -0.023971f, -0.013186f, -0.055708f, 0.115719f, -0.010040f, -0.120692f, -0.001763f, -0.053992f, 0.015751f, 0.029304f, 0.048332f, 0.038848f, -0.047473f, -0.030112f, -0.073905f, -0.022037f, -0.034190f, 0.031333f, 0.021029f, -0.004394f, 0.021885f, -0.015191f, -0.052404f, -0.021885f, -0.061167f, 0.062411f, -0.047274f, -0.033131f, 0.056463f, 0.012932f, 0.095398f, 0.045802f, 0.008441f, 0.049905f, -0.067306f, -0.025570f, -0.069495f, + -0.068047f, -0.010310f, -0.010252f, -0.084803f, 0.087143f, -0.015278f, -0.068352f, -0.101021f, 0.006221f, -0.019927f, 0.073711f, -0.004575f, 0.003446f, 0.010108f, -0.013684f, 0.014215f, 0.016279f, 0.034958f, -0.023700f, -0.023315f, -0.015416f, 0.001223f, -0.004656f, -0.004708f, -0.022405f, 0.024736f, 0.014802f, 0.029474f, -0.007278f, -0.015684f, -0.013957f, -0.005022f, 0.005117f, 0.039417f, 0.041331f, -0.006633f, 0.001927f, 0.022828f, -0.006681f, -0.052093f, -0.025733f, 0.003423f, 0.006832f, -0.003947f, -0.033659f, 0.011827f, -0.004297f, -0.007773f, -0.038485f, 0.015098f, 0.012593f, 0.045600f, 0.007132f, 0.011342f, -0.002539f, 0.018838f, 0.002993f, -0.010696f, -0.157769f, 0.081510f, 0.018647f, -0.033952f, -0.025795f, 0.050399f, 0.027556f, -0.030347f, -0.008445f, -0.074106f, -0.031200f, 0.031669f, -0.064306f, 0.002587f, 0.011357f, -0.019474f, -0.042950f, -0.029069f, 0.057452f, 0.023278f, -0.011744f, -0.082687f, 0.027871f, 0.052262f, 0.029907f, -0.063990f, -0.042909f, 0.000418f, 0.069619f, 0.006374f, -0.017074f, 0.011156f, 0.002065f, 0.035829f, -0.093205f, -0.080303f, 0.099406f, 0.015620f, + 0.041478f, -0.094559f, 0.020451f, -0.004089f, 0.069258f, -0.062084f, -0.012087f, -0.094783f, 0.033042f, 0.068643f, 0.015877f, -0.041994f, 0.027040f, 0.099549f, -0.044689f, -0.047173f, -0.037340f, 0.014343f, 0.003985f, 0.087369f, -0.026181f, 0.006918f, -0.047141f, 0.015662f, -0.051676f, -0.001440f, 0.032934f, -0.064110f, 0.061409f, 0.018951f, -0.044846f, -0.069360f, -0.042410f, -0.003231f, 0.061963f, -0.112040f, -0.024596f, 0.101970f, 0.013275f, -0.045537f, -0.021676f, -0.032012f, 0.095643f, -0.010268f, -0.100472f, -0.011301f, -0.000150f, -0.024374f, 0.040816f, -0.006633f, -0.014176f, 0.031447f, -0.002900f, -0.020175f, -0.026408f, -0.002327f, -0.023293f, 0.007493f, 0.016954f, 0.023005f, -0.020275f, -0.014389f, 0.020793f, -0.013199f, 0.019692f, -0.009982f, -0.020206f, 0.028113f, -0.015217f, 0.025384f, 0.034148f, 0.002752f, -0.049651f, -0.002820f, -0.029616f, 0.012877f, 0.018259f, 0.012546f, -0.034701f, 0.000954f, -0.026211f, 0.025081f, -0.007393f, -0.014370f, -0.010024f, 0.005947f, 0.008368f, 0.104286f, 0.053247f, 0.024267f, 0.023999f, 0.025314f, -0.016675f, -0.016104f, -0.035254f, 0.004729f, + 0.011202f, 0.009504f, -0.002201f, -0.059595f, 0.028551f, 0.012077f, -0.041779f, -0.035014f, -0.018191f, -0.020333f, 0.015362f, -0.015102f, -0.017818f, 0.005483f, -0.001618f, -0.031458f, 0.040616f, -0.028902f, -0.009626f, -0.030041f, -0.027743f, 0.020217f, -0.011917f, -0.003613f, 0.010096f, 0.013342f, -0.003490f, -0.040083f, 0.009490f, 0.063556f, 0.013323f, -0.098623f, -0.006426f, -0.021073f, -0.030947f, 0.021297f, 0.022185f, 0.051711f, 0.024530f, -0.064159f, 0.069915f, -0.016905f, -0.048721f, 0.146382f, -0.029557f, -0.012022f, -0.048277f, -0.115536f, 0.052988f, 0.059399f, 0.019305f, 0.022724f, -0.099306f, 0.029314f, -0.007878f, -0.023551f, -0.017582f, 0.004457f, -0.009538f, 0.016010f, 0.018781f, 0.004590f, -0.014804f, -0.027896f, 0.030003f, 0.038284f, 0.052554f, -0.025532f, -0.005403f, 0.011683f, -0.007804f, 0.028087f, -0.068125f, 0.007094f, 0.012002f, -0.031402f, 0.005244f, -0.026077f, 0.010396f, 0.000985f, 0.008341f, -0.003893f, 0.001872f, 0.003125f, -0.001375f, -0.000414f, -0.009059f, -0.006557f, 0.018198f, -0.009554f, -0.000663f, 0.013956f, 0.003016f, 0.001116f, 0.022273f, -0.017835f, + 0.013668f, 0.016479f, -0.000936f, -0.002691f, -0.018766f, 0.015758f, -0.035131f, -0.009368f, 0.023061f, 0.007152f, -0.009508f, -0.023297f, 0.007316f, -0.005016f, 0.028712f, -0.058831f, -0.141937f, -0.239180f, 0.019166f, 0.243897f, 0.023079f, 0.518107f, 0.522984f, 0.190146f, 0.524829f, 0.304648f, -0.088781f, -0.008070f, -0.047818f, -0.397697f, -0.330154f, -0.231353f, -0.413332f, -0.394342f, -0.112828f, -0.248094f, -0.216603f, 0.049290f, 0.068854f, -0.053264f, 0.076525f, 0.113039f, -0.000456f, 0.008241f, 0.224245f, 0.150098f, 0.056876f, 0.166339f, 0.310264f, 0.146523f, 0.170880f, 0.384515f, 0.151725f, 0.069438f, 0.331989f, 0.320674f, 0.013761f, 0.205248f, 0.362196f, 0.001069f, 0.091738f, 0.215274f, -0.008738f, -0.175277f, 0.086690f, -0.036275f, -0.338343f, -0.314845f, -0.289938f, -0.562535f, -0.832397f, -0.578894f, -0.809885f, -1.078273f, -0.761467f, -0.616577f, -0.834321f, -0.532344f, -0.256711f, -0.246777f, -0.047299f, 0.248831f, 0.500935f, 0.567925f, 0.759267f, 1.034058f, 1.015367f, 0.961258f, 1.082026f, 1.081117f, 0.882190f, 0.710818f, 0.760393f, 0.505955f, 0.179460f, 0.241351f, + 0.058701f, -0.443528f, -0.285866f, -0.301417f, -0.619889f, -0.522872f, -0.376663f, -0.440183f, -0.510167f, -0.316934f, -0.277660f, -0.385261f, -0.318570f, -0.164973f, -0.265146f, -0.348178f, -0.210017f, -0.147563f, -0.276908f, -0.155737f, 0.035857f, -0.086301f, -0.099403f, 0.111080f, -0.004453f, -0.140042f, -0.018521f, -0.088134f, -0.317523f, -0.220325f, -0.167297f, -0.293895f, -0.132187f, 0.073322f, 0.140175f, 0.260351f, 0.432589f, 0.503807f, 0.527904f, 0.592827f, 0.630337f, 0.621475f, 0.572207f, 0.533234f, 0.452033f, 0.359886f, 0.219959f, 0.165356f, 0.018603f, -0.141650f, -0.248591f, -0.396133f, -0.570266f, -0.553786f, -0.472488f, -0.427510f, -0.372036f, -0.254468f, -0.215697f, -0.192117f, -0.140173f, -0.092185f, -0.083834f, -0.036115f, -0.024264f, -0.017373f, -0.003801f, 0.030033f, 0.050725f, 0.067396f, 0.078476f, 0.092364f, 0.085115f, 0.076594f, 0.046140f, 0.031854f, 0.006745f, 0.007675f, -0.002778f} + }, + { + {0.019095f, -0.000790f, -0.001011f, 0.006083f, -0.002474f, 0.006948f, -0.003677f, -0.008916f, 0.003142f, 0.008958f, 0.001328f, -0.001390f, 0.011901f, 0.000405f, 0.000497f, -0.004058f, -0.002258f, 0.018540f, 0.002584f, -0.012583f, -0.009302f, 0.013077f, -0.001187f, 0.013561f, 0.000956f, -0.002576f, -0.001272f, 0.010243f, 0.002031f, 0.021502f, 0.009472f, 0.005921f, -0.001154f, 0.004778f, 0.009730f, -0.002390f, -0.007246f, -0.009104f, -0.001742f, 0.008212f, 0.007063f, 0.010956f, 0.003080f, -0.006123f, -0.006368f, -0.002650f, 0.004578f, -0.001465f, 0.002519f, -0.001245f, -0.009747f, -0.007523f, 0.002986f, 0.007121f, 0.004383f, -0.003524f, -0.004021f, -0.000269f, 0.010632f, 0.005411f, -0.001165f, -0.002376f, 0.004930f, 0.003329f, 0.002116f, -0.005419f, 0.002727f, 0.005099f, -0.000654f, 0.007787f, 0.009188f, -0.016046f, 0.005895f, 0.003282f, 0.010476f, 0.003163f, 0.000834f, 0.004783f, -0.002123f, -0.007480f, -0.002780f, -0.004506f, -0.001504f, -0.000927f, 0.004556f, -0.000229f, -0.003647f, 0.000057f, 0.000537f, 0.002722f, -0.002369f, 0.000443f, -0.000459f, 0.000974f, 0.001392f, 0.000975f, + 0.001797f, 0.000182f, 0.001110f, 0.005368f, 0.008358f, 0.018064f, -0.014683f, 0.003306f, -0.003223f, 0.000205f, -0.018867f, 0.001893f, 0.011351f, -0.016785f, -0.003478f, 0.011211f, 0.029759f, 0.004263f, -0.000200f, 0.002114f, -0.018636f, -0.000603f, 0.013742f, 0.012193f, 0.000338f, -0.000390f, 0.001135f, 0.006399f, 0.010722f, 0.011294f, 0.012215f, -0.005457f, 0.002645f, -0.000745f, 0.004714f, 0.001318f, 0.003042f, -0.018915f, -0.005177f, 0.002948f, 0.001552f, -0.010462f, -0.000328f, 0.007135f, -0.008313f, 0.006569f, 0.006073f, 0.011195f, 0.005252f, -0.004283f, 0.005598f, 0.012512f, -0.006998f, -0.011302f, 0.003802f, 0.002620f, 0.002218f, 0.005930f, -0.004999f, -0.009139f, -0.013609f, 0.010999f, -0.002014f, -0.002577f, -0.004419f, 0.004827f, -0.000156f, 0.007133f, 0.014117f, 0.002854f, 0.000973f, -0.000760f, -0.003391f, -0.011002f, 0.017124f, 0.004210f, -0.002027f, 0.008843f, -0.001374f, -0.010142f, -0.008901f, -0.001981f, 0.003383f, -0.014791f, 0.001236f, -0.008769f, -0.001638f, 0.004513f, -0.000239f, 0.002373f, -0.002628f, -0.004837f, -0.001008f, 0.002444f, 0.003371f, 0.002483f, + -0.000495f, -0.001484f, -0.000067f, 0.002417f, -0.001254f, -0.002463f, -0.001819f, -0.008856f, -0.007687f, -0.009608f, -0.013653f, 0.007642f, -0.000178f, -0.006523f, -0.002598f, -0.003334f, 0.002962f, -0.005419f, -0.009375f, 0.002133f, -0.006097f, 0.016013f, 0.021284f, 0.016834f, -0.011649f, -0.000448f, -0.000770f, 0.004503f, -0.006467f, 0.013207f, 0.008280f, -0.001884f, 0.006394f, 0.010017f, 0.000809f, 0.002429f, 0.003494f, 0.009733f, -0.000932f, 0.003622f, 0.011645f, 0.001188f, -0.000134f, -0.005085f, 0.008379f, -0.012654f, 0.005112f, -0.001769f, -0.002602f, 0.008438f, -0.008150f, -0.001026f, 0.000287f, -0.010998f, 0.004571f, -0.002215f, 0.005096f, -0.000351f, -0.004755f, 0.003346f, 0.003501f, -0.000575f, 0.009775f, -0.000693f, 0.011277f, -0.000163f, -0.007495f, -0.003330f, 0.000434f, -0.005112f, 0.010057f, 0.005254f, 0.008634f, 0.009797f, -0.004278f, -0.009685f, -0.006331f, -0.000004f, -0.001796f, -0.002058f, 0.007982f, 0.010077f, -0.001503f, -0.005508f, 0.003507f, 0.002757f, -0.003854f, -0.005255f, 0.001811f, -0.007552f, 0.001848f, -0.000135f, -0.000233f, -0.002014f, -0.007155f, 0.001630f, + -0.002815f, 0.000308f, 0.003209f, 0.000012f, -0.003653f, 0.001849f, -0.005011f, -0.000075f, 0.000327f, -0.001136f, 0.000426f, 0.000979f, -0.002738f, 0.000066f, 0.000340f, -0.003232f, 0.000694f, -0.000958f, -0.000195f, -0.001689f, -0.000041f, 0.000929f, -0.028150f, -0.006645f, -0.008763f, -0.015233f, 0.005197f, 0.003982f, -0.001808f, 0.007075f, -0.000973f, 0.005970f, 0.008448f, -0.003716f, -0.009839f, -0.012416f, -0.004726f, -0.011563f, 0.000914f, 0.001273f, -0.005027f, 0.006557f, -0.005650f, 0.003515f, -0.002578f, -0.006599f, -0.017520f, -0.006825f, 0.001568f, 0.002752f, 0.004612f, -0.006521f, 0.004659f, 0.007042f, 0.002337f, 0.015986f, 0.003983f, -0.000413f, 0.012385f, -0.008754f, 0.007155f, 0.001173f, -0.004161f, -0.005929f, 0.007988f, 0.001070f, 0.002527f, -0.018880f, -0.003478f, -0.006242f, 0.018968f, 0.008125f, 0.006833f, 0.007693f, 0.008708f, 0.006886f, 0.009656f, -0.005113f, -0.002070f, 0.005914f, 0.009485f, -0.001281f, 0.011077f, -0.005968f, 0.002423f, -0.002409f, 0.009382f, 0.014046f, -0.021953f, 0.005747f, -0.005433f, 0.000695f, -0.010359f, -0.005332f, 0.001728f, -0.003152f, + -0.004453f, -0.008796f, -0.003967f, 0.004128f, -0.000219f, 0.009388f, -0.000997f, 0.003613f, 0.008138f, 0.012935f, -0.000494f, 0.003408f, -0.001526f, 0.006014f, 0.000955f, 0.002919f, -0.004031f, -0.001427f, 0.000416f, 0.002740f, -0.001809f, -0.002951f, 0.000128f, 0.000147f, -0.002289f, 0.000329f, 0.001299f, 0.000037f, 0.003757f, -0.001677f, -0.001783f, 0.000411f, 0.003270f, -0.001351f, 0.000053f, -0.001215f, 0.001938f, 0.003010f, -0.000446f, 0.002878f, 0.003147f, -0.000791f, -0.001390f, 0.010990f, 0.006748f, 0.003984f, -0.002086f, 0.000904f, 0.001200f, 0.014195f, -0.011269f, 0.014240f, -0.001885f, 0.007761f, 0.014601f, -0.009135f, 0.011315f, -0.007068f, 0.005811f, 0.002214f, 0.017166f, 0.007591f, -0.009545f, -0.015723f, 0.003592f, -0.011787f, 0.009709f, -0.002414f, 0.012650f, -0.009414f, -0.001521f, -0.007537f, 0.004370f, 0.002814f, 0.003627f, -0.000937f, -0.001332f, -0.013721f, -0.006009f, 0.011297f, -0.008983f, -0.001819f, 0.007353f, 0.000357f, -0.007029f, 0.002308f, 0.000649f, -0.001568f, -0.006091f, 0.012352f, 0.003952f, -0.017559f, -0.007913f, -0.014172f, -0.002465f, -0.012528f, + -0.021611f, -0.004911f, 0.009460f, 0.026666f, 0.005848f, 0.002220f, 0.012580f, -0.000311f, -0.009807f, -0.008571f, 0.007036f, 0.002758f, 0.004760f, 0.007717f, -0.018826f, -0.004607f, -0.017313f, -0.003779f, 0.004894f, -0.006840f, -0.015998f, 0.001658f, 0.006974f, -0.003392f, -0.005924f, -0.002785f, 0.002826f, -0.002340f, -0.000632f, 0.003558f, -0.002157f, -0.002324f, -0.003190f, -0.002303f, -0.007297f, 0.002685f, -0.001867f, 0.003442f, -0.001195f, 0.002043f, 0.004688f, 0.000720f, -0.001201f, -0.000361f, -0.003863f, -0.002521f, -0.006148f, -0.005558f, 0.000918f, 0.000762f, 0.000059f, 0.002300f, 0.003692f, 0.002633f, 0.000063f, 0.002410f, 0.002020f, -0.001593f, 0.001489f, 0.001585f, -0.003168f, 0.030640f, 0.007293f, 0.022185f, -0.010402f, -0.001443f, -0.007401f, -0.001708f, 0.023570f, -0.020107f, 0.006747f, 0.002283f, 0.030867f, 0.016437f, 0.020483f, 0.003743f, -0.005097f, 0.009669f, -0.006741f, -0.025593f, 0.004866f, 0.001456f, 0.003000f, 0.020171f, 0.001915f, -0.011851f, -0.001048f, 0.000531f, 0.006394f, 0.006982f, -0.000609f, -0.002641f, 0.008230f, -0.009642f, -0.002661f, -0.004882f, + -0.002479f, 0.002490f, 0.000365f, 0.017769f, 0.002554f, 0.013953f, 0.016078f, 0.004453f, 0.014180f, -0.001051f, 0.004689f, 0.008625f, -0.009317f, -0.013903f, 0.001737f, 0.014005f, -0.022379f, 0.006661f, -0.017175f, -0.016039f, -0.009848f, -0.004445f, -0.015114f, -0.014628f, -0.015497f, -0.007940f, -0.003865f, 0.010398f, 0.000242f, 0.012458f, 0.001875f, -0.010258f, 0.015697f, -0.016330f, -0.006207f, -0.006759f, -0.006721f, -0.008656f, -0.011415f, 0.016305f, 0.012671f, -0.007125f, 0.006216f, 0.005134f, 0.012874f, 0.000053f, 0.009295f, -0.004572f, 0.011687f, 0.005914f, -0.006918f, 0.000404f, -0.006252f, 0.007456f, -0.007132f, 0.000796f, 0.005746f, 0.000445f, 0.004393f, -0.001248f, 0.000696f, 0.003072f, -0.001041f, -0.003122f, 0.002892f, -0.000831f, 0.000491f, -0.006009f, -0.005006f, -0.004792f, -0.003771f, -0.000621f, -0.002113f, -0.004148f, -0.000206f, 0.000886f, -0.001971f, 0.000505f, -0.000156f, -0.016441f, -0.016735f, -0.009697f, -0.010310f, -0.005351f, -0.004299f, -0.019740f, -0.016036f, -0.013382f, -0.002152f, -0.001066f, -0.002584f, 0.013859f, 0.001300f, 0.007202f, 0.010477f, 0.012451f, + 0.001860f, 0.024249f, 0.030159f, -0.000534f, 0.008674f, 0.006916f, -0.003758f, 0.013319f, 0.007088f, -0.027092f, -0.000993f, -0.009315f, 0.001488f, 0.021110f, 0.008279f, -0.021647f, -0.005860f, 0.009761f, 0.009510f, 0.001418f, 0.027741f, -0.011442f, 0.011134f, 0.011443f, 0.012308f, 0.007341f, 0.014351f, -0.024404f, 0.008884f, -0.009472f, 0.014461f, 0.000628f, 0.006179f, -0.018301f, 0.013411f, 0.009865f, -0.002464f, 0.009555f, -0.001679f, 0.002729f, -0.000272f, -0.009505f, 0.002402f, -0.006046f, 0.005911f, -0.007479f, 0.009321f, 0.003047f, 0.023482f, 0.017715f, -0.005653f, 0.006385f, -0.019539f, 0.017015f, -0.005417f, 0.010470f, 0.018183f, 0.018054f, 0.000738f, 0.018439f, 0.012567f, 0.008768f, 0.009199f, 0.016951f, 0.001557f, 0.003731f, -0.013887f, -0.002299f, -0.004073f, 0.003254f, -0.010054f, 0.001580f, -0.007362f, 0.002348f, -0.007335f, 0.002301f, -0.002779f, -0.004416f, -0.004384f, 0.003074f, 0.000178f, -0.002179f, -0.001837f, -0.005756f, -0.002031f, 0.001131f, -0.001843f, -0.004123f, 0.000487f, 0.004474f, -0.010192f, -0.006119f, -0.005690f, 0.004156f, -0.006308f, 0.003890f, + -0.000102f, 0.002278f, -0.005252f, -0.007422f, -0.001843f, 0.001490f, 0.015914f, -0.014180f, -0.003772f, 0.012747f, -0.006825f, 0.021808f, -0.007003f, -0.015356f, 0.028885f, 0.039363f, 0.008687f, -0.015503f, 0.010806f, -0.008165f, 0.016098f, 0.009423f, -0.003585f, -0.016447f, -0.010837f, -0.027984f, 0.007268f, 0.011957f, -0.024771f, -0.002926f, 0.014292f, 0.003760f, -0.001268f, 0.000600f, -0.003099f, -0.013366f, 0.003179f, 0.016601f, 0.000604f, 0.003597f, 0.005929f, 0.023509f, -0.015559f, -0.000413f, 0.016996f, -0.015599f, 0.022853f, 0.001216f, 0.032149f, -0.026793f, -0.024249f, 0.013325f, 0.001113f, -0.003189f, 0.006847f, -0.002188f, 0.008891f, 0.005541f, 0.017840f, 0.017110f, -0.014197f, 0.002617f, -0.009308f, -0.005531f, 0.010642f, -0.001297f, -0.005605f, -0.002349f, 0.000424f, 0.016074f, -0.030714f, 0.023382f, -0.007401f, -0.010385f, 0.017230f, -0.013937f, 0.013795f, -0.018766f, -0.010656f, -0.003445f, -0.014061f, -0.004784f, -0.009956f, -0.015595f, -0.010628f, 0.003466f, -0.003659f, -0.003710f, -0.000323f, -0.007235f, -0.002425f, -0.001032f, 0.009599f, -0.000447f, 0.001308f, 0.003958f, + -0.004188f, -0.001542f, -0.003563f, 0.002408f, 0.004640f, 0.001355f, -0.002059f, 0.011453f, -0.000043f, 0.008513f, -0.009292f, -0.005875f, -0.005564f, -0.003865f, 0.004236f, 0.002176f, 0.000197f, 0.006691f, -0.005052f, 0.005124f, 0.001885f, 0.004772f, 0.002547f, 0.000729f, -0.005946f, -0.019502f, -0.014851f, -0.006552f, -0.013926f, -0.021259f, -0.004443f, 0.007705f, 0.026104f, 0.004216f, -0.015719f, -0.029185f, -0.006063f, 0.009024f, -0.005077f, 0.031292f, 0.009877f, -0.011100f, -0.022123f, -0.027703f, -0.052406f, -0.004305f, -0.005760f, 0.020063f, 0.014887f, -0.010764f, 0.001390f, -0.008334f, -0.004511f, 0.018828f, -0.000470f, 0.000979f, -0.002270f, 0.021364f, 0.003650f, -0.006440f, -0.001035f, -0.000814f, 0.005816f, -0.019485f, -0.006102f, -0.007677f, 0.030823f, 0.007159f, -0.032358f, 0.008332f, -0.016779f, -0.009482f, 0.004800f, -0.030163f, 0.009410f, 0.021708f, 0.019302f, 0.015007f, 0.003702f, 0.006050f, -0.000942f, 0.003180f, -0.018975f, 0.006885f, -0.029726f, -0.005733f, 0.017079f, 0.006209f, 0.017497f, 0.017203f, 0.014276f, -0.009767f, -0.021928f, -0.019234f, -0.014820f, 0.004806f, + 0.005986f, 0.010147f, 0.010150f, 0.002171f, 0.006799f, 0.021461f, 0.030129f, -0.007242f, 0.010769f, -0.007514f, -0.008043f, 0.009171f, -0.013152f, -0.004700f, 0.000596f, -0.008403f, 0.007885f, -0.007307f, -0.006276f, -0.003527f, 0.001940f, -0.001949f, 0.004325f, 0.000034f, 0.006233f, -0.001503f, -0.003681f, -0.001775f, -0.003601f, -0.009554f, 0.002611f, 0.005062f, -0.000391f, 0.003310f, -0.000849f, 0.004545f, 0.008833f, 0.008348f, 0.006610f, -0.006780f, -0.003336f, 0.006408f, -0.001890f, -0.002639f, 0.000688f, -0.001141f, 0.006576f, -0.001524f, -0.000290f, -0.001059f, 0.015350f, 0.027139f, 0.031456f, 0.022724f, 0.038883f, -0.018207f, 0.027637f, -0.023690f, -0.018551f, 0.020443f, 0.026170f, 0.030872f, -0.031875f, -0.000211f, 0.008044f, -0.023648f, 0.011196f, -0.010415f, -0.016727f, 0.019049f, -0.024819f, 0.026904f, -0.025513f, 0.025200f, -0.018311f, -0.006788f, -0.001671f, -0.033420f, -0.004628f, 0.036761f, -0.009407f, -0.026348f, 0.005633f, 0.017042f, -0.019175f, 0.009453f, 0.039801f, 0.021348f, 0.008061f, 0.017552f, -0.021047f, 0.014001f, -0.012642f, -0.036314f, -0.010995f, -0.009546f, + 0.002693f, 0.016374f, 0.020313f, -0.009066f, -0.015895f, 0.014401f, 0.000101f, 0.011003f, 0.006917f, -0.005987f, 0.001979f, -0.014504f, 0.002190f, 0.004499f, -0.000200f, 0.004642f, 0.032730f, -0.004150f, 0.003228f, 0.009267f, 0.001940f, 0.003928f, -0.016667f, -0.018324f, 0.012643f, -0.021796f, -0.029491f, -0.031021f, 0.024022f, 0.015461f, 0.004608f, -0.001781f, -0.003603f, 0.011373f, -0.001848f, -0.008784f, 0.010987f, 0.030167f, 0.020434f, -0.008121f, -0.005184f, 0.009261f, 0.005382f, -0.002244f, -0.004841f, 0.003303f, 0.004225f, -0.001395f, 0.001192f, 0.016312f, 0.003883f, 0.002222f, 0.006388f, -0.005479f, 0.001144f, 0.005098f, 0.010900f, -0.001192f, 0.000725f, -0.010854f, 0.003409f, -0.005720f, -0.004140f, 0.011048f, 0.008918f, 0.000434f, 0.006972f, -0.006231f, -0.003009f, 0.003206f, -0.000013f, -0.003386f, -0.006255f, -0.006834f, 0.004182f, 0.001750f, -0.002986f, 0.003660f, -0.025214f, -0.039964f, 0.014208f, 0.051966f, 0.025403f, -0.009711f, -0.040190f, -0.013929f, 0.002541f, 0.005634f, -0.007825f, 0.019748f, 0.013287f, -0.014566f, -0.007567f, -0.001930f, -0.026594f, 0.036955f, + -0.016835f, 0.013183f, -0.003096f, -0.008677f, -0.032394f, 0.010640f, 0.006717f, -0.004008f, 0.003907f, 0.014537f, -0.005296f, 0.036145f, -0.008092f, -0.005476f, 0.030117f, -0.003327f, -0.021625f, -0.019299f, -0.037355f, 0.005175f, -0.008293f, -0.011564f, -0.008143f, -0.027361f, -0.011475f, -0.025619f, 0.002744f, -0.022542f, 0.020419f, -0.012718f, -0.000414f, 0.006401f, 0.002543f, 0.011845f, -0.010839f, -0.027676f, 0.012084f, -0.003136f, 0.006914f, -0.006141f, -0.002782f, 0.000885f, 0.026732f, 0.040036f, 0.010883f, -0.012480f, 0.013842f, 0.014582f, 0.015910f, -0.006457f, -0.013328f, 0.020458f, 0.009690f, 0.027317f, 0.006381f, 0.007357f, 0.000822f, 0.008275f, 0.024580f, 0.033577f, 0.016537f, 0.005746f, 0.012646f, 0.005389f, -0.006932f, -0.022847f, -0.014478f, 0.002706f, 0.011193f, 0.001851f, -0.000496f, -0.008493f, -0.003101f, 0.004810f, 0.003287f, -0.018032f, -0.003344f, 0.004199f, -0.000658f, -0.008926f, -0.007444f, -0.009989f, 0.002027f, -0.001672f, 0.007003f, 0.012958f, 0.007682f, 0.000533f, -0.004150f, 0.007973f, 0.009589f, 0.000745f, 0.003297f, -0.012546f, -0.000326f, -0.004173f, + -0.012834f, 0.002850f, 0.002512f, -0.011477f, -0.001042f, -0.002597f, 0.004529f, -0.004385f, 0.011069f, 0.000179f, 0.015146f, 0.077258f, 0.002239f, -0.021044f, 0.064870f, 0.032401f, 0.028890f, 0.055853f, 0.056222f, 0.015712f, 0.018155f, 0.013762f, 0.061074f, 0.002832f, -0.021001f, 0.025913f, 0.006012f, -0.024002f, -0.026259f, 0.023039f, 0.023048f, 0.043300f, -0.003848f, 0.002851f, 0.001016f, 0.005655f, -0.025479f, 0.028839f, 0.020721f, 0.008630f, -0.019691f, 0.030538f, -0.008920f, -0.001967f, -0.040554f, -0.009287f, -0.002663f, -0.002944f, -0.021181f, 0.013815f, -0.019670f, -0.011852f, -0.011339f, 0.005500f, -0.013490f, -0.019230f, -0.025724f, 0.027295f, -0.019473f, 0.029050f, 0.013446f, 0.023793f, 0.007901f, -0.024932f, -0.000801f, -0.039867f, -0.017867f, -0.021901f, 0.008688f, -0.027805f, -0.014547f, -0.005363f, 0.000592f, 0.028076f, 0.003332f, -0.004842f, -0.045192f, 0.017663f, 0.015767f, -0.001470f, -0.000103f, -0.023450f, 0.017978f, 0.001521f, -0.019492f, 0.053524f, 0.012411f, -0.007435f, -0.000376f, -0.022149f, 0.003875f, 0.026602f, -0.006881f, -0.002663f, -0.029716f, -0.018188f, + 0.011146f, -0.004637f, -0.013981f, 0.017058f, 0.010965f, -0.018300f, 0.016155f, -0.006634f, 0.005297f, -0.006433f, 0.015821f, 0.002897f, -0.002188f, -0.000030f, 0.004030f, -0.021974f, 0.000495f, -0.008417f, 0.006639f, 0.006897f, 0.010781f, -0.009311f, 0.007938f, 0.005292f, 0.004878f, 0.007411f, 0.009574f, -0.001166f, 0.007441f, -0.010847f, 0.018453f, -0.008730f, 0.015657f, -0.011151f, 0.007085f, -0.023616f, -0.043310f, 0.013301f, 0.013044f, -0.013401f, 0.028191f, -0.031172f, 0.033860f, -0.024427f, -0.014227f, 0.010899f, 0.007836f, 0.087389f, 0.034146f, 0.013091f, -0.054535f, -0.001451f, -0.012944f, -0.028905f, -0.008399f, -0.010565f, -0.009568f, -0.003236f, -0.045351f, -0.000873f, -0.017159f, 0.000562f, 0.022078f, -0.024057f, 0.028650f, -0.009393f, -0.031709f, -0.028290f, 0.022697f, 0.017411f, -0.007092f, -0.015620f, 0.028950f, -0.015622f, -0.014754f, 0.022754f, -0.000650f, 0.007001f, -0.023444f, -0.000792f, -0.013784f, 0.029185f, -0.004400f, 0.041866f, -0.015660f, 0.006290f, 0.012617f, -0.001199f, 0.001602f, 0.012770f, -0.026995f, -0.004332f, 0.034406f, 0.002787f, 0.009445f, -0.000324f, + -0.027898f, 0.011921f, -0.019474f, 0.009913f, 0.030080f, 0.039016f, 0.042558f, 0.044797f, -0.009664f, 0.015717f, -0.000357f, 0.024035f, 0.054304f, -0.059647f, 0.046370f, -0.027581f, 0.012466f, 0.037265f, -0.023515f, 0.002389f, 0.011711f, 0.010153f, -0.002777f, 0.025932f, -0.010046f, -0.008219f, 0.010981f, -0.006238f, 0.025006f, -0.003724f, 0.009487f, -0.020164f, -0.003261f, -0.000621f, -0.016214f, -0.006847f, -0.020455f, 0.000193f, 0.005939f, 0.001967f, 0.022752f, -0.007528f, 0.001558f, 0.002426f, 0.009689f, 0.002348f, 0.009775f, -0.013503f, 0.010170f, 0.003083f, -0.000537f, 0.007190f, 0.009977f, -0.011365f, 0.010366f, -0.021823f, -0.019207f, 0.013395f, -0.006406f, -0.015498f, -0.002170f, 0.006279f, -0.009875f, 0.017490f, -0.020780f, -0.046239f, -0.008818f, 0.009156f, 0.000779f, 0.010642f, -0.034093f, -0.004807f, -0.006880f, -0.048875f, -0.037584f, 0.019210f, 0.020348f, 0.009195f, 0.014063f, -0.025101f, -0.012122f, -0.017839f, 0.053372f, 0.012634f, 0.001575f, 0.039747f, 0.023058f, 0.019911f, 0.018152f, 0.015538f, -0.028032f, 0.020075f, 0.008283f, -0.008790f, 0.015965f, -0.014328f, + -0.013939f, 0.027680f, -0.012030f, 0.017391f, 0.036792f, 0.001146f, 0.007089f, -0.000788f, 0.002430f, -0.008132f, -0.021511f, -0.027361f, -0.044215f, 0.018002f, -0.037450f, 0.013942f, 0.014618f, 0.018731f, 0.000154f, 0.001016f, -0.005227f, -0.028974f, -0.013671f, 0.014521f, -0.009985f, 0.014988f, 0.036776f, -0.011433f, 0.028134f, 0.012755f, 0.003132f, -0.001736f, -0.010023f, -0.026846f, -0.001122f, -0.036233f, -0.012537f, 0.038541f, -0.020667f, 0.006000f, -0.063806f, 0.030144f, -0.011821f, 0.009616f, -0.049238f, -0.043940f, 0.004134f, 0.011602f, 0.022519f, -0.050973f, -0.005390f, 0.000490f, 0.034630f, 0.028225f, 0.032049f, -0.010378f, 0.000668f, 0.004711f, 0.016753f, 0.003833f, 0.009208f, 0.026335f, 0.015033f, -0.010269f, 0.009600f, 0.002416f, 0.001881f, -0.000748f, -0.005646f, -0.022052f, 0.007670f, -0.010773f, 0.003256f, 0.008489f, -0.000294f, 0.001764f, -0.000311f, 0.008504f, -0.005415f, 0.035540f, 0.009690f, -0.001603f, 0.019914f, 0.011874f, 0.001644f, 0.005779f, -0.000624f, -0.016157f, 0.020934f, -0.007077f, 0.002804f, 0.024830f, 0.013903f, -0.008041f, 0.000085f, -0.010211f, + 0.016486f, 0.011198f, 0.013777f, 0.012638f, 0.037861f, -0.089946f, -0.022378f, -0.053346f, 0.017872f, -0.047888f, -0.016319f, -0.054298f, 0.014385f, -0.028221f, -0.021992f, -0.004459f, -0.046473f, -0.016634f, -0.049777f, -0.024847f, -0.057603f, 0.012582f, -0.053306f, -0.020806f, -0.027781f, -0.015268f, -0.014768f, -0.012208f, -0.050885f, -0.028796f, -0.038751f, -0.019596f, -0.011311f, 0.022102f, -0.003337f, 0.016551f, -0.031723f, -0.004932f, 0.001662f, -0.036160f, 0.006877f, -0.002341f, 0.002933f, 0.009734f, -0.036959f, -0.001871f, 0.013435f, -0.004342f, 0.015166f, 0.030780f, 0.055247f, -0.045794f, 0.002697f, 0.061774f, 0.000170f, 0.030432f, -0.021702f, 0.038364f, 0.006852f, -0.008892f, -0.051302f, -0.029922f, 0.042388f, 0.026458f, 0.041394f, 0.001739f, -0.029058f, 0.010796f, 0.014895f, 0.029903f, -0.055756f, 0.000622f, 0.010450f, -0.030500f, -0.010329f, -0.013057f, -0.018718f, -0.044380f, 0.068901f, -0.012449f, -0.022240f, -0.013931f, 0.014230f, 0.016790f, -0.039054f, -0.036012f, -0.001501f, 0.011772f, 0.001751f, 0.000348f, -0.007657f, -0.012939f, -0.000216f, 0.034987f, 0.021494f, 0.000003f, + -0.028663f, -0.019581f, 0.003184f, -0.010814f, 0.007558f, 0.009405f, 0.004658f, -0.002789f, -0.014780f, 0.006267f, 0.007311f, -0.003858f, 0.011080f, -0.006220f, -0.025415f, -0.011852f, -0.001440f, 0.007605f, -0.001870f, -0.007957f, -0.037169f, -0.014654f, -0.008485f, 0.003026f, 0.004709f, -0.015865f, -0.028762f, 0.011493f, 0.017363f, -0.015083f, 0.000759f, -0.013240f, 0.014650f, -0.004624f, -0.025652f, 0.038439f, -0.064829f, -0.000598f, -0.012929f, 0.028066f, -0.014353f, -0.039817f, 0.034745f, -0.069956f, -0.060496f, -0.049771f, 0.028472f, -0.014758f, 0.001494f, -0.027115f, -0.025844f, -0.029997f, 0.016781f, 0.014696f, 0.048715f, 0.023047f, 0.009768f, 0.045526f, -0.012202f, 0.016547f, -0.016508f, 0.014275f, 0.008111f, 0.027145f, 0.043675f, 0.022929f, -0.009226f, -0.026729f, -0.016097f, -0.005419f, 0.024473f, -0.008064f, 0.006739f, 0.000976f, -0.011427f, 0.023303f, -0.001600f, 0.019136f, 0.014046f, -0.037249f, 0.030623f, 0.056538f, 0.008669f, 0.047297f, 0.045616f, 0.020780f, 0.015010f, 0.000135f, 0.024034f, -0.015032f, -0.055096f, -0.017872f, 0.040667f, 0.000418f, -0.020356f, 0.021037f, + 0.057810f, -0.013222f, 0.004284f, -0.041934f, 0.041164f, 0.037053f, -0.002851f, 0.011927f, -0.019091f, 0.095114f, -0.059849f, -0.051821f, -0.049074f, 0.004147f, 0.001571f, -0.014397f, 0.042234f, -0.059552f, -0.001189f, -0.038067f, 0.014379f, 0.016867f, -0.002854f, 0.041320f, 0.009350f, -0.003503f, -0.022553f, -0.000279f, 0.010255f, 0.030104f, -0.020819f, -0.026572f, 0.010900f, -0.015838f, -0.004348f, 0.003675f, 0.007040f, 0.002452f, -0.000012f, -0.002000f, -0.025170f, 0.002364f, 0.005810f, 0.017152f, -0.014974f, -0.008403f, 0.009496f, 0.004542f, 0.006548f, 0.000573f, -0.016520f, -0.001884f, -0.018728f, -0.014161f, 0.018464f, 0.009414f, 0.010314f, 0.007244f, -0.000827f, 0.003559f, -0.005248f, 0.011232f, 0.001358f, -0.005154f, -0.001291f, -0.016375f, -0.006317f, -0.010914f, 0.006380f, 0.103992f, -0.022923f, 0.057922f, 0.099927f, -0.034083f, 0.047911f, 0.021133f, -0.062933f, 0.057448f, 0.008740f, -0.027580f, 0.042401f, 0.017995f, 0.039840f, -0.000409f, -0.033592f, 0.031718f, 0.010952f, 0.000095f, 0.010031f, -0.009694f, -0.035531f, -0.021272f, -0.017001f, -0.030842f, -0.022815f, -0.005898f, + 0.023674f, -0.021253f, -0.012697f, -0.030377f, 0.006446f, 0.002530f, 0.004882f, 0.041536f, -0.024872f, 0.009964f, -0.023071f, -0.013117f, 0.023913f, -0.019133f, -0.042655f, -0.054914f, 0.063205f, 0.028005f, -0.015632f, 0.043492f, -0.040013f, -0.035147f, -0.021283f, -0.003574f, 0.006449f, 0.000238f, -0.037235f, -0.027482f, -0.029102f, -0.064176f, -0.039996f, -0.034603f, 0.012448f, 0.021452f, -0.001697f, 0.037169f, 0.007150f, -0.038420f, -0.033012f, 0.050169f, -0.042988f, 0.005984f, 0.044101f, -0.005872f, -0.075683f, 0.052841f, -0.027844f, 0.008306f, 0.003522f, 0.043687f, -0.010416f, -0.017023f, -0.002102f, -0.025330f, 0.013284f, -0.043539f, 0.014873f, -0.055926f, -0.035527f, 0.021314f, -0.023469f, -0.007068f, -0.002893f, -0.033321f, 0.011013f, -0.019578f, 0.016023f, -0.005323f, -0.000413f, 0.001410f, 0.020818f, -0.015171f, -0.011638f, 0.003338f, -0.020684f, -0.009529f, 0.003411f, -0.013953f, -0.014405f, -0.010372f, -0.005980f, -0.016232f, -0.008643f, 0.022177f, -0.018022f, 0.008369f, 0.013851f, -0.003608f, 0.014803f, -0.019673f, 0.002442f, -0.013928f, 0.028595f, 0.004973f, 0.010499f, -0.020128f, + 0.025174f, 0.016742f, 0.019362f, 0.007695f, 0.002797f, 0.005746f, 0.014205f, -0.013926f, 0.001877f, -0.050279f, 0.030130f, -0.014071f, 0.050998f, 0.035390f, -0.081610f, -0.010018f, 0.008615f, -0.049414f, -0.008129f, -0.007889f, 0.060198f, 0.043710f, 0.040203f, 0.050371f, -0.001911f, -0.034911f, -0.027250f, -0.027747f, 0.001281f, -0.077619f, 0.009296f, 0.066868f, -0.060814f, -0.109477f, 0.011116f, -0.040841f, 0.080862f, -0.000342f, 0.002593f, 0.054448f, -0.024928f, 0.011336f, -0.002585f, -0.014555f, 0.047042f, -0.013416f, 0.023757f, 0.079387f, -0.058381f, -0.033098f, -0.053222f, 0.026615f, 0.004312f, 0.053192f, -0.030516f, 0.021048f, 0.002718f, 0.048451f, 0.028337f, -0.023477f, -0.015844f, 0.018413f, -0.008867f, -0.002019f, -0.034259f, -0.033527f, 0.017520f, -0.007391f, -0.010074f, -0.019021f, 0.043579f, -0.016482f, -0.017737f, 0.073467f, 0.078257f, 0.050903f, -0.066828f, -0.005822f, -0.021132f, 0.025985f, 0.097480f, -0.012273f, -0.074625f, -0.004800f, -0.030861f, 0.043919f, 0.019417f, -0.049821f, 0.026071f, 0.019433f, 0.025423f, -0.048081f, -0.017559f, 0.003621f, 0.042416f, 0.002672f, + -0.007085f, 0.007029f, -0.014843f, 0.003391f, 0.042377f, 0.020719f, -0.017985f, -0.021306f, -0.005092f, 0.013439f, 0.016795f, 0.022515f, -0.021532f, -0.008088f, -0.039260f, -0.008195f, 0.024432f, -0.024514f, -0.004114f, -0.015159f, -0.014291f, -0.023046f, -0.005091f, 0.015616f, -0.003782f, -0.001727f, 0.003646f, 0.009913f, -0.010630f, -0.029432f, -0.030729f, 0.018281f, 0.013846f, 0.025569f, -0.013113f, 0.018725f, 0.054863f, 0.002765f, -0.033302f, -0.005452f, 0.002695f, -0.003119f, -0.020950f, -0.047945f, 0.007242f, -0.039356f, 0.036248f, 0.020783f, -0.038398f, 0.065490f, 0.099383f, 0.002765f, -0.004574f, -0.034047f, -0.034336f, 0.005731f, 0.005786f, -0.016814f, 0.089901f, -0.008165f, 0.067068f, 0.053640f, -0.067639f, -0.002202f, -0.022641f, -0.072487f, 0.018319f, 0.016708f, 0.039610f, 0.067687f, -0.002000f, -0.019441f, 0.022343f, 0.024486f, 0.053399f, 0.022254f, 0.004943f, 0.043821f, 0.046268f, 0.015809f, -0.010587f, 0.040175f, 0.017993f, 0.048297f, 0.010403f, 0.013855f, 0.030316f, 0.051156f, -0.008520f, -0.040742f, -0.046942f, -0.015438f, -0.016306f, 0.080521f, 0.044212f, 0.124349f, + -0.005783f, -0.062851f, 0.055250f, -0.019070f, -0.021480f, -0.018925f, -0.042331f, 0.006137f, 0.023792f, -0.001034f, -0.023714f, 0.088312f, -0.017651f, 0.104233f, -0.028576f, 0.056037f, 0.004913f, -0.017740f, -0.056947f, -0.081428f, 0.076240f, -0.007495f, -0.013026f, -0.023482f, 0.070851f, -0.000149f, -0.074358f, 0.136204f, 0.042854f, 0.014725f, -0.015656f, -0.057351f, 0.028659f, 0.001410f, 0.028846f, -0.026735f, 0.020572f, 0.010226f, -0.012876f, -0.019798f, 0.003516f, -0.023905f, -0.011165f, -0.027139f, 0.003139f, -0.004904f, -0.000377f, 0.008779f, 0.022247f, -0.022834f, 0.008691f, -0.011248f, -0.000706f, 0.029735f, 0.019915f, -0.010903f, -0.037497f, -0.001404f, -0.002271f, 0.004771f, 0.034151f, -0.022407f, -0.013178f, 0.008366f, 0.021395f, -0.031380f, 0.001997f, 0.020295f, -0.000567f, -0.002644f, -0.032633f, 0.016616f, -0.001147f, 0.015103f, -0.034113f, 0.003587f, 0.014276f, 0.011119f, 0.016671f, -0.032885f, -0.034445f, 0.022337f, 0.092375f, -0.054895f, -0.035330f, 0.007505f, 0.016641f, -0.010447f, 0.065353f, 0.050936f, 0.051397f, 0.017390f, 0.025347f, 0.043289f, 0.026668f, -0.015649f, + -0.025844f, -0.058082f, -0.009470f, 0.031958f, 0.010858f, 0.006930f, -0.021717f, -0.054929f, -0.016119f, -0.007673f, 0.055971f, 0.000815f, -0.006773f, 0.042550f, -0.006830f, 0.011805f, 0.008992f, -0.094612f, 0.024200f, 0.025622f, -0.016616f, -0.040417f, 0.007619f, -0.053331f, -0.027252f, -0.081712f, 0.024648f, -0.068213f, -0.135412f, 0.015771f, -0.001930f, 0.095364f, -0.003353f, 0.032434f, 0.078613f, -0.012835f, -0.020477f, 0.035024f, -0.000772f, -0.068604f, -0.024070f, 0.009084f, 0.011360f, 0.050719f, 0.021013f, 0.045172f, 0.039009f, -0.028046f, -0.021105f, 0.019281f, 0.057441f, -0.023893f, -0.012136f, -0.052751f, -0.036537f, 0.014077f, -0.071365f, 0.020730f, -0.080147f, 0.015273f, -0.021190f, 0.056897f, -0.024899f, 0.040346f, -0.085891f, -0.017430f, 0.011646f, -0.051015f, 0.012826f, 0.009104f, 0.008745f, -0.038467f, 0.020149f, -0.037666f, 0.010680f, -0.002832f, -0.016150f, -0.006841f, -0.003866f, 0.012118f, -0.013235f, -0.005961f, -0.010633f, 0.024608f, -0.016068f, 0.014404f, -0.036327f, 0.019144f, -0.002191f, -0.002855f, 0.005105f, 0.035165f, 0.012115f, 0.015063f, -0.042099f, 0.005532f, + -0.017320f, -0.051820f, 0.020741f, -0.016562f, -0.013302f, -0.019110f, 0.019231f, -0.009288f, 0.009219f, 0.010938f, -0.005124f, 0.002336f, -0.012834f, 0.003706f, 0.010504f, -0.002434f, -0.001691f, -0.019765f, 0.072589f, 0.077367f, 0.180809f, 0.021312f, -0.101191f, -0.075978f, -0.055925f, -0.064555f, 0.126566f, 0.168923f, 0.057282f, -0.016113f, -0.053110f, 0.001883f, -0.064277f, 0.070760f, 0.066908f, 0.019856f, 0.009700f, -0.041901f, -0.006057f, 0.077865f, 0.018166f, 0.031289f, 0.026370f, 0.081706f, 0.068750f, -0.026490f, -0.060743f, -0.080310f, -0.054126f, -0.008045f, 0.022393f, 0.073456f, 0.044061f, -0.015323f, 0.039815f, -0.055741f, -0.018973f, -0.125355f, -0.019797f, 0.123398f, 0.095369f, -0.019195f, 0.250029f, 0.078439f, 0.007336f, -0.137076f, -0.023360f, -0.011754f, -0.032158f, 0.035021f, 0.019439f, 0.029675f, 0.052474f, -0.111853f, -0.120498f, -0.060537f, -0.081292f, -0.011596f, 0.027529f, 0.101215f, -0.060537f, 0.037035f, 0.157745f, 0.078872f, 0.027459f, 0.044235f, 0.032185f, -0.095278f, -0.157715f, 0.080675f, -0.039025f, 0.034743f, 0.084442f, 0.093448f, 0.008232f, -0.056498f, + -0.074480f, -0.060697f, 0.065264f, 0.037760f, 0.011352f, 0.065181f, -0.064993f, -0.011279f, -0.010441f, -0.028748f, -0.033662f, -0.002863f, -0.001010f, 0.021148f, 0.006515f, -0.009321f, 0.000127f, -0.000819f, 0.001022f, 0.005580f, 0.012011f, 0.018825f, -0.018904f, -0.025721f, -0.088335f, -0.048304f, -0.043713f, 0.052092f, 0.030742f, 0.018614f, -0.072363f, -0.070772f, -0.114118f, -0.031122f, 0.044684f, 0.057270f, 0.074421f, 0.029223f, 0.021655f, 0.008672f, 0.007055f, -0.002168f, 0.016563f, -0.004037f, 0.053222f, 0.037778f, 0.007387f, 0.000375f, 0.000161f, -0.009232f, -0.000349f, -0.038457f, -0.165541f, -0.039445f, 0.092284f, 0.176712f, 0.155687f, 0.373256f, 0.195359f, 0.132561f, 0.116635f, 0.053087f, -0.020873f, -0.188551f, -0.236703f, -0.353119f, -0.270416f, -0.277399f, -0.105532f, 0.001404f, 0.106242f, 0.197655f, 0.163054f, 0.168517f, 0.116145f, 0.158562f, 0.124120f, 0.175561f, 0.083609f, 0.065492f, 0.031323f, -0.045109f, -0.069424f, -0.106330f, -0.064283f, -0.231010f, -0.097572f, -0.218643f, -0.157754f, -0.250251f, -0.148763f, -0.232937f, -0.082718f, -0.115443f, -0.037579f, 0.017901f, + 0.118303f, 0.310213f, 0.295392f, 0.413894f, 0.280146f, 0.191134f, 0.248147f, 0.338938f, 0.298272f, 0.250552f, 0.174820f, 0.021156f, -0.169400f, -0.168138f, -0.208471f, -0.396763f, -0.438060f, -0.477119f, -0.476472f, -0.523169f, -0.452493f, -0.381139f, -0.336163f, -0.218847f, 0.025224f, 0.249170f, 0.433328f, 0.572828f, 0.713996f, 0.794505f, 0.553876f, 0.528282f, 0.342832f, 0.207782f, 0.196309f, -0.011638f, -0.064784f, -0.304204f, -0.583212f, -0.628058f, -0.509907f, -0.394053f, -0.232184f, -0.187789f, -0.191308f, -0.105423f, -0.164287f, -0.066369f, -0.018234f, 0.126350f, 0.239674f, 0.197000f, 0.256200f, 0.275462f, 0.293726f, 0.259547f, 0.346274f, 0.257473f, 0.210864f, 0.109091f, 0.022414f, -0.058306f, -0.268206f, -0.237405f, -0.318417f, -0.422038f, -0.382509f, -0.438311f, -0.450635f, -0.131222f, 0.014758f, 0.229208f, 0.280336f, 0.298759f, 0.346533f, 0.362148f, 0.307051f, 0.267287f, 0.204812f, 0.155522f, 0.056172f, -0.039806f, -0.119426f, -0.215171f, -0.316481f, -0.296218f, -0.264675f, -0.197723f, -0.093227f, -0.040770f, -0.019498f, -0.011357f, 0.029165f, 0.061253f, 0.073917f, 0.079862f, + 0.065641f, 0.052875f, 0.056920f, 0.046689f, 0.034522f, 0.063773f, 0.071031f, 0.054793f, 0.026045f, 0.013525f, 0.020838f, 0.027059f, 0.006411f, -0.001161f, -0.002481f, -0.007501f, -0.011974f, -0.004983f, -0.003283f}, + {0.024074f, 0.001085f, 0.004053f, 0.003381f, -0.009811f, -0.005067f, 0.013338f, 0.023226f, 0.003744f, 0.012381f, -0.005017f, 0.002354f, -0.000638f, 0.010487f, -0.008297f, -0.018913f, 0.007657f, 0.008875f, -0.011034f, 0.012811f, 0.006303f, 0.011688f, 0.003696f, 0.002791f, -0.005097f, -0.001619f, 0.000611f, 0.007795f, 0.000704f, -0.011704f, 0.000517f, -0.000936f, 0.002536f, -0.001620f, 0.002089f, 0.002823f, 0.006984f, 0.005079f, 0.001668f, 0.002196f, 0.000693f, 0.003436f, -0.003609f, -0.005835f, -0.012982f, 0.002517f, 0.002852f, 0.001059f, 0.009941f, -0.003514f, 0.007724f, 0.002143f, -0.003090f, -0.006124f, -0.003975f, 0.013934f, 0.002975f, 0.007777f, 0.001287f, 0.003069f, -0.002683f, 0.000479f, 0.000922f, 0.004006f, -0.001215f, -0.005188f, -0.002821f, -0.010802f, 0.001187f, 0.002110f, 0.009224f, -0.002970f, 0.007046f, -0.001233f, 0.004606f, 0.000078f, 0.004146f, 0.003228f, 0.001922f, -0.001738f, 0.004768f, 0.006600f, 0.004592f, 0.004306f, -0.000175f, 0.000923f, 0.001053f, -0.003661f, 0.001505f, 0.000809f, 0.003182f, 0.001640f, 0.001292f, 0.001691f, 0.002265f, -0.001315f, + 0.001354f, -0.001010f, -0.000166f, 0.008924f, 0.008618f, 0.003933f, 0.003524f, 0.004705f, 0.005697f, 0.008424f, -0.003677f, 0.008741f, 0.000095f, 0.009340f, -0.002052f, 0.016631f, 0.005650f, 0.005490f, -0.011343f, -0.001598f, -0.002576f, -0.014761f, 0.008058f, 0.006784f, -0.004664f, -0.019335f, -0.008806f, -0.002916f, 0.009411f, 0.012941f, 0.008163f, -0.005195f, 0.002758f, -0.008302f, 0.000386f, 0.000701f, -0.006754f, -0.003376f, -0.017490f, 0.001424f, -0.002203f, -0.007338f, 0.000750f, 0.000988f, -0.002382f, -0.000575f, 0.016719f, -0.004044f, 0.013615f, 0.002631f, -0.010549f, 0.000759f, 0.001008f, 0.007641f, -0.003458f, 0.002151f, 0.001798f, 0.000564f, 0.010416f, 0.003598f, 0.010693f, 0.007855f, -0.005520f, 0.009743f, 0.004734f, 0.007107f, 0.000647f, 0.002304f, -0.002527f, -0.004675f, -0.008848f, -0.010891f, 0.011288f, -0.011315f, -0.008737f, -0.009365f, 0.005202f, 0.004697f, 0.002049f, 0.002019f, 0.006599f, -0.004306f, 0.004958f, -0.003260f, -0.004554f, 0.007207f, -0.006701f, 0.001089f, 0.003353f, -0.005650f, 0.001321f, 0.000778f, -0.000913f, -0.000917f, -0.000535f, 0.003762f, + -0.001288f, 0.001378f, -0.001728f, 0.002879f, -0.000859f, 0.001594f, -0.002065f, -0.015076f, -0.014017f, 0.003019f, 0.000280f, -0.003040f, 0.008401f, -0.001107f, -0.001461f, 0.008716f, -0.009598f, 0.001878f, -0.008378f, -0.005429f, -0.003024f, 0.000090f, 0.014247f, 0.016178f, -0.007515f, 0.006338f, -0.011654f, -0.001117f, -0.004562f, 0.015718f, -0.004648f, -0.000893f, 0.001646f, -0.022139f, -0.003850f, -0.010934f, -0.003603f, -0.002715f, 0.008247f, 0.010954f, 0.004489f, 0.014806f, -0.001895f, -0.006743f, -0.006841f, 0.008551f, 0.022222f, 0.015534f, -0.008665f, -0.010133f, 0.011119f, -0.009971f, 0.001902f, 0.003548f, 0.018211f, -0.006699f, -0.008966f, 0.001987f, -0.005559f, 0.003485f, 0.004648f, 0.011577f, -0.012666f, -0.008218f, 0.007444f, 0.013986f, -0.001273f, -0.006487f, -0.008224f, -0.019765f, 0.007521f, -0.000032f, 0.005913f, 0.000928f, 0.000536f, -0.003105f, 0.003653f, -0.005044f, 0.003158f, 0.004275f, 0.004335f, -0.007014f, 0.005183f, -0.001282f, -0.004898f, 0.000478f, -0.010352f, 0.006512f, 0.001013f, 0.000829f, -0.004093f, -0.001413f, -0.003457f, -0.007235f, -0.005462f, 0.003856f, + 0.000397f, 0.001564f, -0.001312f, 0.000514f, -0.000368f, -0.002065f, -0.001592f, -0.003019f, 0.000360f, -0.001730f, -0.001251f, -0.000419f, 0.000729f, -0.000529f, 0.001042f, -0.000552f, 0.003691f, 0.001414f, -0.002059f, 0.002482f, 0.001550f, -0.002838f, -0.036658f, -0.012079f, -0.001942f, 0.006247f, 0.004198f, 0.009111f, -0.017516f, -0.005256f, -0.000806f, -0.018172f, -0.012987f, 0.004543f, 0.010966f, 0.006425f, 0.012101f, -0.001572f, 0.006940f, 0.016113f, 0.014219f, 0.013356f, 0.007690f, -0.005189f, -0.004132f, -0.008325f, -0.003701f, -0.008365f, 0.017195f, 0.007973f, -0.002677f, -0.007674f, -0.004688f, -0.007837f, -0.011387f, -0.012292f, -0.015423f, 0.009229f, 0.006608f, -0.017129f, 0.003987f, -0.000956f, 0.011748f, 0.001732f, 0.005762f, 0.007566f, -0.016183f, -0.002597f, -0.000638f, 0.002049f, 0.008424f, 0.012767f, -0.005198f, -0.001961f, -0.003825f, -0.010264f, 0.003075f, 0.001924f, -0.001121f, -0.002883f, 0.009702f, 0.000420f, -0.005440f, -0.001940f, 0.004573f, 0.006117f, -0.002568f, -0.000401f, 0.001579f, -0.008959f, 0.006504f, -0.000809f, -0.013331f, 0.001399f, -0.016260f, 0.002445f, + 0.011993f, -0.004155f, -0.000543f, -0.018337f, -0.008943f, -0.013662f, -0.008267f, -0.001264f, -0.001459f, 0.008257f, 0.001577f, 0.009716f, -0.005979f, 0.003173f, 0.005293f, 0.001632f, 0.005207f, 0.000453f, -0.003602f, 0.001881f, -0.001643f, 0.001529f, 0.000098f, 0.000535f, -0.000724f, -0.002673f, -0.000980f, 0.002047f, -0.002465f, 0.001475f, 0.004115f, 0.001946f, 0.001021f, -0.000084f, 0.000081f, -0.001079f, -0.001678f, -0.002900f, 0.001950f, 0.002459f, -0.001639f, 0.001541f, -0.001729f, 0.020116f, 0.007600f, 0.003394f, -0.005014f, 0.014819f, 0.005764f, 0.008373f, 0.023509f, 0.025434f, 0.000992f, -0.004136f, -0.009000f, -0.013833f, 0.005100f, 0.010050f, -0.005180f, -0.001035f, 0.001461f, -0.002424f, -0.008097f, 0.009537f, -0.009305f, 0.004401f, -0.026900f, -0.003888f, -0.006527f, -0.006541f, -0.013277f, -0.002775f, -0.001692f, 0.000207f, -0.006789f, -0.009740f, -0.007644f, 0.001069f, -0.005053f, -0.010332f, 0.006214f, 0.008883f, 0.000760f, -0.008475f, -0.009481f, 0.003500f, -0.007292f, 0.008378f, -0.010438f, 0.006757f, 0.002480f, -0.000124f, -0.014887f, -0.013813f, 0.003241f, -0.010007f, + 0.016288f, 0.002909f, 0.013674f, -0.007060f, 0.013764f, 0.002681f, 0.008874f, 0.003014f, 0.008410f, -0.007703f, -0.010993f, -0.000218f, 0.017688f, -0.001718f, -0.011857f, -0.006298f, 0.007729f, -0.004929f, -0.006763f, 0.001798f, -0.018925f, 0.012814f, 0.015456f, -0.000952f, -0.013125f, -0.016593f, -0.000480f, 0.013975f, 0.010117f, -0.007900f, 0.010746f, 0.001126f, -0.001534f, -0.002079f, -0.001083f, -0.000889f, 0.002976f, -0.004675f, -0.004028f, 0.000369f, 0.001624f, -0.003511f, 0.001308f, -0.001640f, -0.000471f, 0.003717f, -0.001467f, -0.000796f, 0.000622f, -0.005843f, 0.003122f, 0.000784f, 0.000558f, 0.001363f, 0.001876f, -0.000245f, 0.000520f, -0.001140f, -0.001112f, -0.000871f, -0.000653f, 0.028933f, 0.005930f, 0.015906f, -0.006236f, 0.011923f, 0.008874f, 0.018554f, -0.013707f, -0.009769f, -0.003121f, 0.001105f, 0.013196f, -0.006159f, 0.020023f, -0.001454f, 0.011390f, 0.009852f, -0.005571f, 0.004074f, 0.011541f, 0.010688f, 0.002751f, 0.002981f, 0.010516f, -0.021651f, 0.003569f, 0.016813f, 0.013132f, -0.011687f, 0.014660f, -0.017254f, 0.010524f, -0.015215f, -0.007678f, -0.003976f, + 0.015902f, -0.003221f, 0.016650f, 0.003715f, 0.003598f, 0.000840f, -0.000548f, 0.006597f, 0.009776f, 0.021682f, 0.003418f, 0.018713f, -0.009191f, 0.013681f, 0.018011f, -0.000558f, -0.003220f, -0.006486f, 0.006970f, -0.025714f, -0.002128f, 0.002543f, -0.009625f, -0.015256f, -0.000851f, -0.000963f, -0.002056f, 0.006745f, -0.015708f, 0.007957f, 0.006938f, 0.009997f, -0.024773f, 0.008540f, 0.005966f, -0.014640f, -0.001715f, 0.008086f, 0.018245f, -0.023096f, -0.002857f, 0.001785f, -0.021833f, -0.001910f, 0.003215f, -0.006048f, 0.014360f, -0.003193f, 0.001254f, 0.004058f, -0.002509f, -0.000698f, -0.000975f, 0.002587f, -0.005649f, 0.000875f, -0.002929f, 0.001769f, 0.000520f, -0.003183f, -0.000348f, 0.004009f, -0.001758f, -0.000756f, 0.000102f, -0.004576f, -0.001751f, 0.000947f, -0.001770f, -0.002057f, -0.000660f, 0.000935f, -0.002557f, -0.001026f, 0.003230f, 0.004407f, -0.005595f, -0.000086f, 0.000916f, -0.025711f, -0.031512f, -0.025231f, -0.022786f, -0.000783f, 0.016053f, -0.033261f, 0.023677f, 0.015300f, -0.037345f, 0.023508f, 0.009981f, 0.008031f, 0.003712f, 0.003599f, 0.008463f, -0.005889f, + -0.006084f, -0.012296f, -0.000352f, 0.014308f, 0.012128f, 0.007037f, -0.021257f, 0.014512f, -0.015189f, 0.000391f, -0.013355f, 0.016658f, -0.008827f, -0.006927f, 0.005282f, -0.025041f, 0.002512f, -0.008315f, -0.007465f, -0.002697f, 0.001805f, 0.024572f, -0.011589f, -0.003798f, -0.009351f, 0.018679f, -0.011367f, -0.006167f, 0.005779f, 0.005593f, 0.005288f, 0.006587f, -0.007754f, 0.008989f, 0.002312f, -0.020556f, 0.028218f, 0.011183f, 0.004567f, 0.002902f, -0.000135f, -0.013185f, 0.016153f, 0.013485f, 0.005659f, 0.018056f, 0.001934f, 0.007920f, 0.018200f, 0.009217f, 0.003919f, -0.012593f, 0.014996f, -0.006637f, 0.028644f, -0.003181f, 0.000763f, -0.007880f, -0.030046f, 0.003859f, -0.007287f, -0.003646f, 0.015419f, -0.001387f, -0.016301f, -0.009365f, 0.013252f, 0.011006f, 0.001728f, 0.012764f, 0.003384f, -0.009534f, 0.004479f, -0.001004f, -0.003164f, -0.002725f, 0.001041f, 0.007504f, -0.003601f, 0.000833f, 0.001346f, 0.004169f, 0.001619f, -0.003573f, 0.005555f, 0.000692f, 0.001476f, -0.000452f, 0.001433f, 0.000562f, -0.002181f, 0.003053f, -0.002204f, 0.002488f, 0.002046f, -0.001760f, + 0.006258f, -0.000994f, 0.001539f, -0.002277f, -0.001425f, 0.018368f, 0.012497f, -0.002117f, -0.011529f, 0.030176f, 0.047954f, -0.006329f, -0.006677f, 0.023201f, 0.005625f, 0.007654f, 0.006135f, -0.034548f, 0.003785f, -0.022340f, 0.017851f, 0.025484f, -0.006712f, -0.012313f, 0.004140f, 0.016138f, -0.009715f, 0.019494f, -0.007681f, 0.037627f, -0.011034f, 0.007274f, -0.001877f, 0.010204f, 0.026777f, -0.010134f, 0.002606f, -0.002379f, 0.007718f, -0.009956f, -0.004839f, 0.015246f, 0.032849f, 0.002732f, 0.024036f, -0.008933f, 0.003277f, -0.004548f, 0.007982f, 0.017580f, 0.026198f, 0.020440f, 0.019389f, 0.020188f, 0.012734f, -0.003716f, 0.003066f, -0.002808f, 0.000454f, 0.003988f, -0.013186f, -0.003811f, 0.021089f, -0.018607f, 0.007344f, -0.008200f, -0.004957f, -0.009688f, -0.038345f, 0.004248f, 0.020695f, 0.013105f, -0.004787f, -0.018191f, -0.044192f, -0.007144f, 0.017890f, -0.003748f, 0.007018f, -0.013791f, 0.010195f, -0.012722f, 0.011583f, 0.024984f, -0.011058f, -0.013567f, -0.025043f, 0.007496f, 0.003007f, 0.004064f, -0.019819f, 0.001389f, 0.000039f, -0.006015f, 0.001055f, 0.009278f, + 0.000326f, 0.006367f, 0.002754f, 0.004111f, 0.004982f, -0.000912f, 0.007884f, 0.001870f, 0.000716f, -0.001692f, -0.002687f, -0.002235f, 0.007501f, 0.002528f, -0.000366f, 0.005068f, 0.002575f, 0.003649f, -0.000818f, 0.004190f, 0.005033f, 0.006938f, -0.003031f, 0.000712f, -0.002959f, -0.033144f, -0.026043f, 0.003233f, 0.015618f, -0.014994f, -0.009548f, 0.001757f, -0.007808f, -0.049534f, -0.042419f, 0.018402f, 0.017282f, 0.002994f, 0.002695f, -0.018233f, 0.028504f, 0.034267f, 0.021404f, -0.017899f, 0.016754f, 0.022450f, -0.003337f, -0.028808f, -0.012747f, 0.039475f, -0.011583f, 0.003834f, 0.002598f, 0.022119f, -0.017668f, -0.031955f, 0.007096f, 0.014487f, -0.007635f, 0.009224f, 0.020808f, -0.010137f, -0.007727f, -0.001068f, -0.044251f, -0.013003f, 0.015485f, -0.008574f, -0.029502f, 0.005248f, -0.000591f, -0.009473f, 0.006102f, -0.002934f, -0.027959f, -0.023997f, -0.041947f, -0.033627f, 0.006738f, 0.014642f, 0.001582f, -0.010155f, -0.013862f, 0.000221f, -0.009413f, 0.008867f, -0.020042f, 0.000565f, -0.006963f, -0.005970f, -0.006648f, -0.001953f, 0.008125f, -0.009328f, -0.040220f, 0.005950f, + -0.005604f, 0.009866f, 0.011305f, 0.000642f, 0.007924f, 0.009252f, 0.003203f, -0.002430f, 0.005155f, -0.005866f, 0.002503f, -0.012724f, -0.006443f, -0.005772f, -0.006693f, 0.002754f, 0.011381f, -0.005946f, 0.002003f, -0.014445f, 0.001901f, -0.001549f, -0.010364f, 0.004523f, -0.003124f, 0.002569f, 0.004611f, 0.002383f, 0.002204f, 0.008919f, 0.002239f, 0.001063f, 0.003282f, -0.000089f, 0.001511f, 0.001138f, -0.002305f, -0.006946f, -0.001080f, -0.007030f, 0.003550f, -0.005375f, 0.008041f, -0.000029f, 0.011402f, 0.005010f, -0.006402f, -0.004532f, -0.003354f, -0.000521f, 0.016120f, 0.051744f, 0.045991f, 0.035924f, -0.003826f, 0.035121f, 0.011404f, 0.049018f, 0.020777f, -0.001012f, 0.059824f, -0.012456f, -0.003121f, -0.038095f, -0.010037f, -0.000784f, -0.026852f, 0.016069f, 0.024015f, -0.007816f, -0.000329f, -0.021638f, -0.037081f, -0.021900f, -0.028271f, -0.008269f, -0.017078f, -0.005398f, -0.002686f, 0.016970f, 0.004313f, -0.003561f, -0.015283f, -0.005307f, -0.010203f, 0.005395f, 0.000399f, -0.015180f, 0.008001f, 0.010032f, 0.003975f, -0.011746f, -0.015382f, 0.005090f, 0.014206f, -0.002073f, + -0.000537f, -0.027237f, 0.048753f, 0.008129f, -0.009281f, -0.001386f, 0.004317f, 0.020813f, 0.017711f, -0.018403f, 0.010327f, -0.007238f, 0.002203f, -0.003165f, -0.004649f, -0.027944f, -0.024897f, -0.033452f, 0.005029f, -0.001481f, -0.007078f, 0.020864f, -0.006700f, 0.059058f, -0.005868f, -0.003288f, -0.014614f, -0.006611f, 0.007629f, 0.010070f, 0.007098f, -0.000606f, 0.025402f, 0.018138f, -0.003825f, -0.012431f, 0.003310f, -0.007464f, -0.000099f, 0.002271f, -0.008268f, -0.002835f, 0.000144f, -0.002885f, 0.003925f, -0.010215f, 0.005921f, 0.011126f, -0.003532f, 0.005768f, -0.003567f, -0.002924f, -0.004643f, 0.001706f, 0.006143f, -0.002807f, 0.008273f, 0.001429f, 0.002846f, 0.011415f, 0.004868f, -0.001703f, 0.012028f, 0.005314f, 0.008296f, 0.010794f, 0.008311f, 0.000762f, -0.000177f, 0.007943f, -0.007619f, 0.000072f, 0.004788f, 0.002531f, 0.005497f, 0.005062f, 0.002654f, 0.006545f, -0.031832f, -0.044664f, -0.025278f, 0.033671f, 0.026006f, -0.022711f, -0.024058f, 0.036086f, 0.021329f, -0.022441f, -0.031281f, -0.004882f, 0.004921f, 0.003611f, 0.004027f, -0.017881f, 0.018527f, -0.013301f, + 0.036612f, -0.005601f, -0.026366f, 0.006187f, 0.009093f, -0.000098f, 0.002462f, -0.011332f, -0.017274f, -0.000825f, 0.014666f, -0.009105f, 0.011081f, -0.018073f, -0.048927f, -0.039299f, 0.024578f, -0.030593f, 0.024230f, 0.007269f, 0.002502f, -0.010176f, 0.014079f, 0.004713f, -0.004221f, -0.006963f, 0.006394f, 0.014866f, -0.013724f, 0.041170f, -0.010750f, 0.013898f, -0.012773f, 0.003689f, -0.003862f, -0.016043f, 0.039297f, -0.030986f, 0.042782f, -0.001500f, -0.021847f, -0.032571f, 0.016296f, 0.005908f, 0.005027f, 0.001978f, 0.017159f, 0.011821f, 0.015513f, -0.033534f, -0.010574f, 0.000959f, 0.000068f, 0.008538f, -0.025849f, -0.012276f, -0.008804f, -0.004301f, -0.032265f, -0.006444f, -0.011129f, -0.035777f, -0.002402f, -0.020261f, 0.004733f, -0.009474f, 0.002217f, 0.004688f, 0.015191f, 0.009353f, -0.006512f, -0.000937f, -0.013697f, 0.007332f, -0.001464f, 0.006372f, -0.015998f, 0.000915f, -0.006751f, 0.003807f, -0.014800f, 0.002869f, 0.002668f, 0.000779f, -0.003752f, 0.005051f, -0.008952f, 0.006447f, -0.013642f, 0.005063f, -0.009956f, 0.004625f, 0.001857f, 0.006460f, -0.005475f, 0.016448f, + 0.005813f, 0.000304f, -0.010521f, -0.008093f, -0.002207f, 0.010996f, -0.002914f, -0.005305f, -0.005775f, 0.007546f, 0.006585f, 0.076853f, 0.025608f, -0.017119f, 0.039447f, 0.036777f, -0.019046f, -0.024218f, 0.059319f, -0.005317f, 0.013012f, -0.035208f, 0.086359f, 0.003008f, -0.024248f, 0.012530f, 0.004265f, 0.041938f, 0.000666f, 0.052965f, -0.038146f, 0.000792f, -0.041667f, 0.003177f, 0.029170f, 0.001326f, -0.025565f, 0.036080f, 0.019224f, 0.010594f, 0.008610f, -0.012672f, -0.012268f, 0.003235f, -0.018135f, 0.023592f, -0.021189f, -0.028178f, 0.024716f, 0.009336f, -0.032726f, 0.017637f, 0.002027f, -0.023792f, -0.013425f, -0.008012f, 0.012336f, -0.002895f, -0.014426f, 0.017315f, -0.021229f, -0.008471f, -0.007385f, 0.029038f, -0.019302f, 0.013968f, 0.022223f, 0.010238f, -0.013418f, -0.027373f, 0.017088f, -0.023433f, 0.031312f, -0.039827f, 0.052148f, -0.015646f, -0.007563f, -0.007600f, 0.023624f, -0.001886f, 0.008432f, 0.014076f, 0.008356f, 0.020072f, -0.019999f, -0.037832f, 0.002404f, 0.031800f, -0.021594f, -0.010310f, -0.022566f, -0.013596f, 0.005627f, -0.002421f, -0.006684f, 0.013621f, + 0.009690f, 0.007091f, -0.003795f, 0.020867f, 0.012636f, -0.010038f, -0.005455f, 0.003915f, 0.000828f, 0.017614f, 0.011020f, -0.001710f, -0.006128f, -0.004798f, 0.019188f, 0.001535f, -0.010329f, 0.012076f, 0.003368f, 0.000229f, 0.009963f, 0.004384f, -0.002169f, -0.010817f, 0.002577f, 0.012516f, -0.009884f, -0.002688f, 0.014236f, -0.001266f, -0.003404f, -0.004008f, 0.008232f, 0.001334f, -0.000157f, -0.004197f, -0.045603f, -0.006035f, 0.042377f, -0.012614f, -0.025849f, 0.011284f, -0.011944f, -0.002583f, 0.019415f, -0.045961f, -0.026449f, 0.017332f, 0.023855f, 0.031716f, -0.001895f, -0.006351f, 0.013280f, -0.003390f, -0.044749f, -0.031200f, 0.053459f, -0.004322f, -0.046120f, -0.027288f, -0.018329f, -0.015667f, 0.004707f, 0.015333f, 0.001236f, -0.008043f, -0.022815f, -0.035773f, 0.005175f, 0.004452f, -0.000846f, 0.028761f, -0.019412f, -0.055950f, 0.022986f, 0.016123f, -0.064636f, 0.038583f, -0.010116f, -0.033099f, -0.026657f, -0.002696f, 0.037426f, 0.008605f, -0.011850f, -0.013652f, 0.010984f, 0.019216f, -0.026977f, 0.020732f, 0.003794f, 0.015214f, -0.011444f, -0.028723f, 0.025695f, -0.000145f, + 0.028767f, -0.088252f, 0.011610f, 0.013376f, -0.012600f, 0.024251f, 0.028837f, 0.083476f, 0.002795f, -0.055465f, -0.025052f, -0.014638f, -0.053281f, -0.052921f, 0.003163f, -0.030134f, 0.000815f, -0.020084f, 0.020151f, -0.020431f, -0.019473f, 0.035137f, 0.009099f, -0.001367f, -0.001514f, 0.020561f, -0.003951f, -0.002229f, 0.012432f, 0.009705f, -0.007193f, 0.006591f, -0.018456f, -0.004299f, 0.005693f, -0.003699f, -0.005057f, -0.009225f, -0.009253f, -0.005086f, -0.011511f, 0.004675f, -0.014745f, 0.003179f, -0.002196f, 0.014130f, -0.002924f, -0.007528f, -0.005885f, -0.008653f, -0.008731f, -0.002538f, -0.005972f, -0.011226f, -0.007807f, 0.008093f, -0.010603f, -0.005752f, -0.019304f, 0.006036f, 0.008372f, 0.020338f, 0.005042f, -0.002658f, 0.001098f, -0.038388f, 0.006108f, 0.023699f, 0.021085f, -0.034067f, 0.060636f, 0.042294f, -0.019500f, 0.025300f, -0.049164f, -0.010891f, -0.016505f, 0.077567f, 0.049645f, -0.018454f, -0.029635f, -0.036189f, -0.008089f, 0.002074f, 0.014205f, 0.052046f, 0.011025f, 0.008862f, 0.011213f, 0.001461f, -0.017200f, 0.002118f, -0.003290f, 0.024002f, 0.032317f, 0.041054f, + 0.026663f, 0.017432f, -0.004072f, -0.007543f, 0.006486f, 0.037229f, 0.005854f, 0.006644f, -0.037839f, -0.019172f, 0.063823f, 0.025968f, 0.019175f, 0.000529f, 0.038237f, 0.020491f, 0.080596f, -0.004455f, 0.083100f, 0.005967f, -0.025790f, 0.026968f, -0.022450f, -0.016719f, -0.002934f, -0.015270f, 0.000929f, 0.015504f, 0.033264f, 0.005861f, -0.007061f, -0.036332f, 0.011773f, 0.003098f, 0.024050f, -0.028471f, 0.007649f, -0.012520f, 0.004343f, -0.036231f, 0.018488f, -0.031864f, -0.003840f, -0.043405f, -0.059801f, -0.009869f, -0.009302f, 0.049401f, 0.013330f, -0.001407f, 0.009288f, 0.015505f, 0.019263f, 0.003392f, -0.000677f, 0.000943f, -0.034624f, 0.011145f, 0.000557f, 0.032487f, -0.013062f, -0.001410f, -0.008580f, 0.023149f, 0.004643f, 0.021170f, -0.000181f, -0.024188f, 0.011959f, -0.001060f, 0.008139f, -0.018321f, -0.008317f, 0.004677f, 0.005188f, -0.013545f, 0.001395f, 0.012883f, 0.007938f, -0.011867f, -0.013400f, 0.024019f, -0.023839f, 0.010244f, -0.007307f, -0.019206f, 0.006249f, 0.004768f, 0.006300f, 0.008429f, -0.008864f, -0.000798f, 0.011471f, 0.001267f, 0.008004f, -0.003008f, + -0.009062f, -0.008927f, -0.020280f, -0.031094f, 0.009510f, -0.035665f, -0.000019f, 0.042943f, 0.013545f, 0.036591f, -0.042530f, -0.019739f, 0.020909f, 0.004178f, 0.060966f, -0.031076f, 0.036474f, -0.013901f, -0.018402f, -0.045527f, -0.017601f, -0.024533f, 0.030490f, 0.006993f, -0.040417f, 0.050558f, -0.026163f, -0.024516f, 0.004958f, 0.019614f, -0.014779f, 0.034922f, -0.016971f, -0.024510f, -0.012524f, 0.011500f, -0.004253f, -0.006839f, 0.003826f, 0.034802f, -0.023659f, 0.063819f, -0.024809f, -0.000977f, 0.059293f, -0.012054f, 0.010456f, -0.080993f, 0.003612f, 0.014297f, -0.018230f, 0.035505f, -0.064844f, -0.079500f, 0.030131f, -0.014241f, 0.043893f, -0.032921f, -0.030922f, 0.003368f, -0.010166f, 0.067283f, -0.008202f, -0.003259f, 0.015037f, -0.062830f, 0.003575f, -0.063491f, -0.025361f, 0.003475f, 0.015137f, -0.079225f, -0.035285f, -0.009880f, -0.003857f, 0.025413f, -0.033913f, 0.040300f, -0.016622f, 0.004373f, -0.051939f, -0.002806f, -0.045889f, 0.017164f, 0.009937f, 0.033981f, 0.043538f, -0.016395f, 0.028555f, 0.003689f, -0.009337f, 0.014422f, 0.009137f, -0.014191f, -0.014185f, -0.025273f, + -0.000891f, -0.015106f, -0.015596f, 0.005236f, -0.003662f, 0.021462f, -0.029031f, -0.005239f, -0.018239f, 0.007031f, 0.010621f, -0.010272f, -0.001310f, -0.015644f, -0.015395f, 0.017169f, 0.028514f, 0.031854f, 0.006638f, 0.001891f, -0.008551f, 0.005897f, 0.005369f, -0.012292f, -0.019212f, 0.006421f, -0.010078f, -0.014325f, 0.021751f, 0.014911f, 0.012746f, -0.020003f, -0.022807f, -0.048934f, 0.039902f, -0.034980f, -0.010044f, 0.032040f, 0.073206f, -0.020664f, 0.060004f, 0.021554f, 0.015495f, -0.027653f, 0.066476f, 0.010689f, 0.031034f, 0.003183f, -0.038946f, 0.014475f, -0.039108f, -0.038667f, 0.024369f, -0.038517f, -0.008324f, -0.008779f, 0.039420f, 0.003693f, -0.013173f, 0.013079f, 0.017564f, -0.007791f, -0.037089f, -0.008385f, 0.028610f, 0.069510f, 0.015985f, -0.038642f, 0.004329f, -0.007152f, 0.016623f, 0.021336f, 0.035112f, -0.015173f, 0.000835f, 0.023044f, 0.005260f, -0.000856f, 0.046300f, 0.042130f, 0.049793f, 0.017502f, 0.041837f, 0.006056f, 0.025089f, -0.019356f, -0.003528f, 0.005886f, -0.038930f, 0.003267f, 0.065783f, -0.008031f, -0.014467f, 0.014181f, -0.001044f, 0.018027f, + -0.039268f, 0.052200f, -0.032627f, -0.014212f, -0.008995f, 0.002982f, 0.006015f, 0.006995f, -0.057109f, 0.072243f, -0.015706f, -0.022696f, -0.008643f, 0.061391f, -0.007083f, 0.013030f, -0.048440f, -0.033303f, 0.000843f, 0.025730f, 0.023218f, 0.039364f, -0.062909f, -0.019340f, 0.059922f, -0.021270f, 0.006471f, 0.051727f, 0.012079f, 0.011556f, -0.003523f, 0.002074f, -0.019815f, -0.001226f, 0.004725f, 0.014974f, -0.009073f, 0.012512f, -0.022848f, -0.012440f, 0.001027f, -0.006112f, -0.004108f, -0.052432f, -0.041052f, 0.003619f, 0.026307f, -0.024615f, -0.042818f, -0.017143f, -0.035221f, 0.010068f, 0.001266f, -0.013143f, 0.033245f, -0.009414f, 0.013404f, 0.015587f, -0.018563f, -0.012648f, -0.003372f, 0.004344f, -0.001685f, 0.025540f, -0.000726f, 0.001820f, -0.012610f, -0.002551f, -0.019653f, 0.117547f, -0.006900f, 0.023543f, -0.000981f, -0.012112f, 0.003323f, -0.054404f, -0.023208f, -0.016745f, 0.021147f, 0.015063f, 0.026610f, 0.003019f, -0.028607f, 0.029959f, -0.024296f, 0.034544f, 0.025449f, -0.028004f, -0.029971f, 0.003539f, 0.042298f, -0.043392f, 0.018169f, 0.019957f, -0.024768f, 0.011005f, + -0.003196f, 0.015114f, -0.001919f, -0.063247f, 0.035463f, 0.021763f, -0.053267f, 0.064249f, -0.034063f, -0.008207f, -0.021085f, 0.051862f, -0.010280f, -0.044153f, -0.000074f, 0.000653f, 0.042894f, 0.043598f, 0.002908f, -0.033639f, 0.048916f, -0.007899f, 0.008659f, -0.062027f, 0.048872f, 0.019923f, 0.002983f, -0.035577f, -0.026923f, -0.003771f, 0.017039f, -0.028579f, -0.051079f, -0.021735f, 0.040448f, 0.025072f, -0.005915f, 0.065619f, 0.003979f, -0.010596f, -0.047223f, 0.057927f, -0.053695f, -0.017281f, 0.059170f, 0.018762f, 0.007751f, -0.022125f, 0.009277f, 0.058363f, 0.013037f, 0.025664f, 0.036997f, -0.095181f, -0.020763f, -0.015690f, -0.007768f, -0.039373f, -0.006875f, -0.004514f, 0.058046f, 0.015877f, 0.004063f, 0.029632f, 0.041532f, 0.029188f, -0.020336f, 0.011267f, 0.024937f, -0.004669f, 0.009764f, 0.010932f, 0.013421f, 0.008817f, 0.041331f, 0.022541f, 0.002782f, -0.011678f, -0.018292f, -0.035310f, 0.005439f, 0.000360f, 0.009885f, 0.012028f, 0.005837f, 0.062253f, -0.008205f, 0.022755f, 0.013723f, -0.016471f, -0.048819f, -0.007554f, -0.017862f, -0.030195f, -0.032652f, 0.006122f, + -0.005088f, -0.039395f, 0.000508f, 0.015644f, -0.003541f, -0.003417f, 0.014330f, -0.009320f, -0.030040f, -0.047135f, 0.001495f, -0.052768f, 0.049356f, 0.077127f, 0.035807f, 0.043871f, -0.067346f, -0.060034f, -0.047185f, 0.004500f, 0.083448f, -0.015493f, 0.031001f, 0.054231f, 0.027317f, -0.030028f, 0.001751f, 0.039575f, -0.051174f, -0.042787f, -0.036717f, 0.041467f, 0.028898f, -0.053675f, -0.075747f, 0.102570f, 0.063250f, -0.073292f, 0.033077f, -0.008657f, 0.030297f, 0.003146f, -0.022214f, -0.050944f, 0.046362f, -0.001356f, -0.037759f, -0.056533f, 0.014372f, 0.013083f, -0.014329f, 0.001388f, -0.005292f, -0.027956f, -0.012306f, -0.014781f, 0.026118f, -0.049560f, 0.054486f, -0.037423f, 0.001948f, 0.085721f, -0.082866f, -0.020101f, 0.078099f, 0.005596f, 0.018219f, -0.011714f, -0.024542f, 0.024429f, -0.009163f, -0.034561f, 0.004394f, -0.078690f, 0.133186f, -0.013201f, -0.147073f, 0.055539f, 0.144883f, 0.085459f, -0.179298f, -0.052210f, 0.033795f, 0.012880f, -0.027406f, -0.041394f, 0.022239f, 0.054698f, -0.067552f, -0.018676f, -0.117770f, -0.020351f, 0.040494f, 0.014774f, -0.036089f, -0.058924f, + 0.023023f, 0.051564f, -0.001244f, -0.015941f, -0.028365f, 0.040983f, 0.024236f, 0.016649f, -0.003606f, -0.012401f, 0.004732f, 0.022890f, 0.017650f, -0.004198f, -0.047300f, -0.029386f, 0.048893f, 0.020999f, -0.025440f, -0.017160f, 0.035029f, 0.011757f, -0.005084f, -0.071523f, -0.032954f, -0.035672f, 0.039975f, 0.010999f, 0.008606f, -0.007430f, 0.000843f, 0.039048f, -0.008115f, -0.006940f, -0.034263f, 0.006760f, -0.011204f, 0.054523f, 0.011392f, -0.012198f, 0.006451f, 0.055046f, -0.007346f, -0.037164f, 0.008553f, 0.036581f, 0.085434f, -0.035787f, 0.027837f, -0.045173f, -0.119821f, 0.064721f, -0.030186f, -0.065484f, -0.045435f, -0.066943f, 0.032114f, 0.022409f, -0.090161f, 0.057963f, -0.031440f, -0.002171f, -0.001123f, -0.046162f, 0.035662f, 0.035667f, 0.031329f, -0.002848f, 0.040991f, 0.021564f, -0.024909f, 0.002400f, -0.051433f, -0.018478f, -0.045638f, -0.031663f, -0.002279f, 0.074273f, -0.061955f, -0.013065f, -0.013391f, -0.055315f, 0.032479f, -0.062411f, 0.032372f, 0.028284f, -0.042528f, 0.033664f, -0.068337f, 0.019797f, -0.059425f, 0.038710f, -0.022302f, -0.031193f, -0.032608f, -0.048197f, + -0.013117f, 0.024566f, 0.042115f, -0.048918f, 0.032754f, 0.018594f, 0.051299f, 0.063384f, 0.036545f, -0.052294f, -0.024469f, -0.098527f, -0.025046f, -0.028456f, 0.032746f, -0.115020f, -0.021961f, -0.068319f, -0.006054f, 0.068980f, 0.063170f, 0.041814f, 0.014617f, 0.092810f, 0.101286f, 0.090493f, -0.031133f, -0.040344f, 0.034189f, 0.088591f, 0.163262f, 0.012040f, 0.038125f, 0.020160f, -0.008880f, 0.030439f, -0.029587f, 0.018048f, -0.007796f, -0.000191f, -0.019122f, 0.030883f, 0.035305f, -0.012130f, -0.029463f, -0.021996f, 0.026704f, 0.012122f, 0.030300f, -0.016457f, 0.011651f, -0.005803f, -0.013661f, -0.008464f, 0.030085f, 0.060022f, 0.028401f, -0.030771f, 0.015600f, -0.010479f, 0.021235f, 0.009823f, 0.010409f, 0.029481f, -0.019018f, -0.039119f, 0.003088f, 0.030507f, 0.023549f, 0.008394f, -0.006068f, -0.013317f, -0.054262f, 0.053367f, 0.014661f, -0.012273f, -0.056411f, -0.012906f, -0.038821f, 0.019506f, -0.018878f, 0.013907f, 0.106861f, -0.063105f, 0.039811f, 0.048828f, -0.022734f, 0.004596f, 0.018411f, -0.005802f, 0.051705f, 0.002824f, 0.037366f, -0.047929f, -0.007043f, 0.041958f, + 0.006642f, -0.065101f, 0.041986f, -0.025921f, -0.021494f, -0.024784f, -0.006735f, -0.024176f, 0.024478f, 0.034687f, 0.016571f, -0.005927f, -0.018423f, 0.030098f, -0.010048f, -0.047827f, 0.038974f, -0.080820f, -0.020656f, -0.016581f, -0.018053f, 0.046237f, 0.050255f, 0.090694f, -0.026859f, 0.038831f, -0.001714f, 0.017531f, 0.059141f, -0.004288f, 0.006076f, -0.039583f, -0.125111f, 0.061845f, 0.011630f, -0.060240f, -0.041579f, 0.006124f, 0.032361f, -0.005727f, -0.035648f, 0.018365f, -0.036547f, 0.047717f, 0.026332f, -0.020785f, -0.043784f, 0.086478f, 0.009230f, 0.004597f, -0.008215f, 0.011993f, 0.005823f, 0.003774f, -0.029362f, -0.061458f, 0.016706f, -0.009004f, -0.022163f, -0.056646f, -0.014226f, -0.001686f, 0.050224f, 0.020825f, -0.063941f, 0.037092f, 0.006320f, -0.002437f, -0.007357f, 0.020679f, 0.026226f, -0.005279f, -0.012194f, -0.004542f, -0.011558f, 0.009766f, 0.015462f, -0.000731f, 0.008738f, 0.017656f, -0.006835f, 0.025505f, 0.010557f, 0.007803f, 0.013118f, -0.007242f, 0.031682f, 0.005352f, -0.007083f, 0.020833f, -0.025563f, 0.008074f, 0.014220f, -0.006042f, -0.011111f, 0.028752f, + 0.041209f, -0.037229f, -0.007194f, -0.013165f, -0.013049f, 0.014774f, 0.012554f, -0.023424f, 0.012617f, 0.010303f, 0.008948f, 0.010784f, -0.021274f, 0.014896f, -0.001917f, 0.008745f, -0.006923f, 0.005972f, 0.118911f, 0.060648f, 0.119655f, -0.110491f, 0.009554f, 0.057432f, -0.022277f, 0.065416f, 0.126252f, 0.069282f, 0.004026f, -0.034019f, -0.035080f, 0.006545f, 0.054717f, 0.058594f, 0.013313f, -0.000147f, -0.087136f, -0.017960f, 0.085931f, 0.028429f, -0.023969f, 0.047459f, -0.040377f, -0.056481f, -0.015515f, -0.003771f, 0.066438f, 0.086773f, 0.077954f, 0.029537f, -0.030222f, -0.046458f, -0.086188f, -0.085701f, 0.074645f, 0.031305f, 0.006117f, 0.115284f, 0.006984f, -0.035300f, -0.047177f, -0.047933f, 0.023316f, 0.049254f, 0.039199f, 0.075621f, 0.005370f, 0.054413f, -0.003568f, -0.009780f, 0.027565f, 0.050380f, 0.036855f, 0.032017f, -0.028737f, -0.010886f, -0.022666f, -0.051102f, -0.040942f, -0.074475f, -0.024928f, 0.019967f, -0.012227f, 0.054182f, 0.065135f, -0.001061f, 0.000618f, -0.026668f, -0.047612f, 0.009823f, 0.062939f, -0.003626f, 0.034837f, 0.015280f, -0.004569f, -0.019716f, + -0.009065f, 0.005761f, 0.021977f, 0.017135f, -0.016818f, -0.035230f, -0.043551f, -0.040866f, -0.015833f, 0.016607f, -0.004250f, -0.025679f, -0.013137f, -0.017816f, -0.015061f, 0.008437f, -0.002271f, 0.024137f, 0.034531f, 0.007763f, -0.041975f, -0.021569f, -0.025143f, -0.005696f, 0.028332f, 0.006854f, 0.006976f, -0.034316f, -0.032511f, -0.037041f, -0.019019f, 0.032377f, 0.022053f, 0.027954f, 0.015017f, -0.013486f, -0.016717f, 0.011886f, 0.010732f, -0.002858f, 0.007280f, -0.014133f, -0.011391f, 0.008461f, 0.005929f, 0.011707f, -0.006813f, -0.014039f, -0.006483f, -0.010745f, -0.002031f, -0.063164f, -0.123185f, 0.048606f, 0.200874f, 0.204245f, 0.172882f, 0.125268f, -0.077322f, -0.088180f, -0.095292f, -0.126731f, -0.193939f, -0.156231f, -0.135704f, 0.062990f, 0.145763f, 0.108407f, 0.234429f, 0.181190f, 0.094462f, -0.034872f, -0.063208f, -0.157617f, -0.123066f, -0.121848f, -0.024938f, -0.074670f, -0.060659f, 0.018060f, 0.032952f, 0.066384f, 0.066613f, 0.091417f, 0.090662f, 0.116989f, 0.068205f, 0.029990f, -0.017072f, -0.019789f, -0.051536f, -0.077940f, -0.094130f, -0.115043f, -0.075383f, -0.141293f, + -0.094171f, -0.070672f, 0.070646f, 0.134020f, 0.144506f, 0.099972f, 0.068080f, 0.106698f, 0.081607f, 0.102398f, 0.080438f, 0.028180f, -0.038096f, -0.179431f, -0.126933f, -0.129365f, -0.200754f, -0.125953f, -0.109040f, -0.105806f, 0.038361f, 0.106329f, 0.168852f, 0.139039f, 0.198516f, 0.178172f, 0.174201f, 0.124187f, -0.067908f, -0.061460f, -0.139600f, -0.184568f, -0.203382f, -0.166815f, -0.080136f, -0.022812f, -0.042239f, 0.054915f, 0.145354f, 0.102458f, 0.069163f, 0.116570f, 0.097935f, 0.034942f, -0.023218f, -0.023387f, -0.007709f, -0.028672f, -0.078429f, -0.049318f, -0.056088f, -0.030360f, -0.025251f, -0.058456f, -0.021772f, 0.019958f, -0.019728f, 0.064457f, 0.085099f, 0.093509f, 0.098914f, 0.006014f, 0.029393f, 0.028758f, -0.008652f, -0.135913f, -0.108504f, -0.084817f, -0.075782f, -0.059713f, -0.056656f, 0.062291f, 0.093131f, 0.101236f, 0.096878f, 0.079836f, 0.054674f, 0.049182f, -0.000986f, -0.014880f, -0.078747f, -0.106216f, -0.095140f, -0.079411f, -0.050754f, -0.033145f, 0.003545f, 0.047454f, 0.096582f, 0.072208f, 0.045836f, 0.033064f, 0.008821f, -0.001022f, -0.000310f, -0.019750f, + -0.025628f, -0.021343f, -0.025085f, 0.005387f, -0.009736f, -0.034471f, 0.003959f, 0.015582f, -0.006601f, -0.009174f, -0.007624f, 0.003133f, 0.005732f, -0.007803f, 0.001490f, 0.008673f, 0.002502f, 0.000940f, 0.000034f} + }, + { + {-0.006192f, 0.006233f, 0.005383f, 0.011961f, -0.016344f, 0.003472f, 0.010816f, 0.019685f, -0.002106f, 0.011068f, -0.000443f, 0.010044f, 0.002462f, 0.015432f, -0.000290f, -0.005075f, 0.010451f, 0.014785f, 0.014081f, 0.008243f, 0.002291f, -0.005784f, -0.004492f, 0.001334f, 0.007197f, -0.003707f, 0.003358f, 0.000822f, 0.008179f, -0.004010f, -0.000203f, 0.001968f, -0.009709f, -0.005726f, -0.002837f, -0.010234f, 0.002460f, -0.002942f, -0.000059f, -0.001457f, -0.008433f, 0.006511f, 0.010117f, -0.002164f, 0.000840f, 0.000849f, -0.001581f, 0.010625f, -0.012959f, -0.000123f, 0.005407f, 0.001355f, 0.001748f, -0.003208f, -0.010727f, -0.002839f, 0.004218f, 0.004858f, 0.005535f, -0.001071f, 0.000224f, -0.000024f, 0.002216f, -0.001925f, 0.011303f, 0.000216f, -0.000955f, -0.007486f, 0.001036f, -0.005392f, -0.004041f, 0.004341f, 0.004881f, 0.011510f, 0.000449f, 0.011314f, 0.001337f, 0.001128f, 0.000808f, -0.006147f, 0.000413f, -0.002259f, -0.003030f, 0.001122f, 0.003696f, -0.002422f, 0.001517f, -0.002503f, 0.002943f, -0.003146f, -0.000898f, -0.001674f, 0.001721f, -0.001087f, 0.001610f, -0.001474f, + 0.001890f, 0.003127f, 0.001662f, -0.001709f, -0.000383f, -0.000939f, -0.000748f, 0.000805f, 0.000737f, 0.012926f, 0.020968f, 0.002802f, 0.010439f, -0.003792f, 0.006201f, 0.008089f, -0.002488f, -0.006493f, 0.010995f, 0.018957f, -0.003717f, 0.002101f, 0.007337f, -0.009082f, 0.005653f, 0.008091f, -0.016575f, 0.004659f, 0.001621f, -0.003733f, 0.000004f, -0.017265f, 0.000705f, 0.004832f, -0.008204f, 0.001515f, 0.000292f, 0.011054f, 0.007901f, -0.004155f, -0.001179f, -0.001054f, -0.011750f, -0.007906f, 0.001295f, 0.004744f, 0.001065f, 0.005271f, -0.007762f, 0.001169f, 0.003880f, 0.000798f, -0.007186f, -0.005267f, -0.001591f, 0.002498f, 0.005818f, 0.006012f, 0.004015f, 0.007019f, 0.006876f, -0.007719f, -0.002359f, 0.000309f, 0.009773f, -0.001491f, 0.007013f, -0.004615f, -0.004770f, -0.001481f, -0.008778f, -0.004056f, 0.001802f, 0.005120f, -0.007492f, 0.007332f, -0.002073f, -0.002194f, -0.001462f, -0.002975f, -0.003788f, 0.001513f, 0.005708f, 0.002124f, 0.009527f, -0.013217f, -0.010650f, -0.002350f, 0.003950f, -0.000145f, -0.002170f, 0.002016f, 0.000299f, 0.002446f, 0.004022f, 0.006729f, + 0.000123f, -0.000401f, 0.001597f, -0.000629f, -0.000095f, 0.001034f, -0.003073f, -0.001656f, -0.006378f, 0.002517f, 0.012185f, 0.017168f, 0.009994f, -0.004345f, 0.007403f, -0.004526f, -0.003005f, -0.014724f, -0.011680f, 0.005279f, 0.011278f, 0.010991f, 0.011497f, 0.002541f, 0.000641f, 0.007090f, -0.009456f, 0.009516f, 0.007744f, 0.000695f, 0.006655f, 0.017021f, 0.011612f, 0.003231f, -0.012223f, 0.000339f, 0.004137f, 0.002625f, 0.002041f, -0.013432f, 0.003233f, 0.002452f, 0.008999f, 0.009894f, -0.003094f, 0.006348f, -0.004806f, -0.005374f, 0.007236f, 0.004077f, -0.012823f, -0.012171f, -0.005306f, -0.006847f, -0.005065f, -0.005443f, -0.014818f, -0.013444f, -0.001199f, 0.004828f, -0.000070f, -0.001436f, -0.009981f, 0.001313f, 0.011880f, -0.003349f, -0.003734f, 0.004450f, -0.000010f, 0.008562f, 0.004327f, 0.004365f, -0.005523f, -0.006854f, 0.012754f, 0.005809f, -0.005088f, 0.008373f, -0.001106f, 0.006522f, -0.005523f, 0.001009f, 0.009417f, -0.003595f, -0.003038f, 0.006759f, 0.000841f, 0.002678f, 0.004047f, -0.004704f, 0.005285f, -0.002224f, 0.004331f, 0.004328f, 0.003375f, -0.003028f, + 0.001108f, -0.001523f, -0.002545f, -0.003295f, 0.000189f, 0.000360f, 0.002132f, 0.001794f, 0.000500f, -0.000199f, 0.001674f, 0.000488f, 0.001166f, -0.023761f, -0.013971f, -0.004391f, 0.004512f, -0.009804f, 0.002995f, -0.002695f, 0.006843f, -0.001676f, -0.013290f, -0.010593f, 0.009207f, 0.007512f, 0.019034f, 0.016786f, -0.002549f, 0.012139f, -0.018289f, -0.002996f, 0.014223f, 0.004265f, 0.003301f, -0.001895f, -0.005975f, -0.002808f, 0.001967f, -0.001654f, -0.000556f, 0.007175f, -0.008971f, 0.001978f, 0.003257f, -0.000239f, 0.005659f, -0.006189f, -0.005057f, 0.003233f, -0.003935f, 0.005037f, -0.010032f, 0.001637f, -0.006030f, -0.002396f, -0.006716f, -0.005048f, -0.007629f, -0.011328f, 0.006917f, -0.000102f, 0.011799f, -0.011075f, -0.009469f, -0.000109f, 0.002249f, -0.001329f, -0.002285f, 0.000748f, 0.007099f, 0.003374f, 0.001515f, -0.004893f, -0.004706f, -0.002694f, -0.008841f, 0.001367f, -0.002306f, 0.000998f, -0.000437f, -0.009535f, -0.000820f, -0.000792f, -0.010081f, 0.000238f, -0.001922f, 0.001128f, -0.001722f, -0.011241f, 0.000985f, 0.004991f, -0.002253f, 0.007356f, 0.002018f, -0.004002f, + 0.003088f, 0.007719f, 0.002525f, 0.001294f, 0.001726f, -0.001692f, 0.000933f, 0.006027f, -0.000508f, -0.001012f, 0.002202f, 0.002447f, 0.000930f, 0.001963f, 0.000396f, 0.000794f, -0.004101f, 0.000400f, -0.000363f, -0.002044f, -0.001502f, -0.001520f, -0.002114f, 0.000264f, -0.001745f, 0.008253f, -0.012686f, 0.005160f, -0.014188f, -0.002484f, 0.000772f, -0.010531f, 0.009979f, 0.007553f, -0.021104f, -0.002147f, 0.003627f, -0.001962f, -0.009198f, -0.012423f, 0.002625f, -0.006257f, -0.010270f, -0.005104f, 0.006186f, 0.005424f, 0.015076f, 0.019523f, -0.001640f, 0.017444f, -0.010649f, 0.006853f, 0.007661f, -0.001566f, 0.007546f, -0.004311f, 0.000218f, -0.001157f, -0.003541f, -0.001887f, -0.003972f, 0.014521f, -0.000762f, -0.010865f, -0.002537f, 0.007258f, 0.004580f, 0.005797f, 0.001214f, -0.005097f, 0.010679f, 0.021622f, 0.001401f, 0.002151f, 0.001319f, -0.001646f, 0.003478f, -0.001491f, 0.012421f, -0.009499f, 0.011882f, 0.008165f, -0.007475f, 0.003815f, 0.007752f, 0.005235f, -0.008971f, -0.009806f, -0.019251f, -0.003200f, -0.001785f, 0.002401f, 0.007494f, -0.001863f, 0.004891f, -0.001690f, + -0.005093f, -0.005159f, 0.009994f, -0.002325f, 0.010597f, -0.015643f, -0.006124f, 0.003530f, -0.009860f, 0.002516f, 0.010655f, 0.000954f, -0.000052f, 0.000725f, 0.002291f, 0.001404f, -0.005968f, -0.001976f, -0.000955f, 0.000813f, -0.001044f, 0.001890f, 0.002746f, 0.001344f, -0.001717f, -0.004090f, 0.004425f, 0.001635f, 0.001732f, 0.001085f, 0.001296f, 0.000251f, 0.000126f, -0.002016f, 0.001851f, 0.000793f, 0.000730f, 0.000244f, 0.001941f, 0.001216f, 0.002323f, -0.002767f, -0.001629f, -0.003236f, -0.002926f, -0.000865f, 0.002323f, -0.001928f, 0.000218f, 0.005607f, 0.002482f, 0.000285f, 0.007534f, 0.021865f, 0.025771f, -0.006691f, -0.000599f, 0.005434f, -0.003902f, 0.016697f, 0.016287f, -0.010255f, 0.015965f, 0.012557f, 0.004829f, 0.007284f, 0.006501f, 0.003331f, -0.001411f, 0.001166f, 0.002134f, -0.008810f, -0.010796f, 0.002832f, -0.003032f, -0.000132f, 0.001850f, -0.009530f, 0.009602f, 0.019311f, -0.000620f, -0.011586f, 0.018863f, 0.002295f, 0.000559f, 0.007411f, -0.003338f, -0.005665f, 0.002724f, -0.007105f, 0.002809f, 0.019277f, 0.008234f, -0.000147f, 0.006864f, 0.010473f, + 0.027182f, -0.004459f, 0.011709f, -0.002346f, -0.011867f, 0.007765f, 0.000667f, -0.003947f, 0.005312f, 0.016672f, 0.004239f, 0.002951f, -0.000292f, 0.006667f, 0.024039f, 0.010785f, 0.002958f, 0.002427f, 0.006285f, -0.006965f, 0.012265f, -0.003198f, -0.023906f, 0.002886f, -0.002624f, 0.014346f, 0.016850f, 0.007300f, -0.007308f, -0.006596f, -0.006248f, -0.000873f, 0.005184f, 0.000470f, 0.003480f, 0.002404f, 0.003648f, 0.010762f, 0.004576f, -0.008588f, -0.003812f, 0.001155f, 0.002882f, 0.000517f, -0.000320f, 0.000287f, -0.004808f, 0.004934f, 0.001057f, 0.000969f, 0.000421f, 0.000966f, 0.000336f, 0.003677f, -0.001644f, 0.002666f, -0.002844f, -0.000849f, -0.004417f, 0.000810f, -0.001785f, -0.000289f, 0.001440f, -0.029027f, -0.003347f, -0.012277f, -0.014652f, -0.003792f, -0.010472f, 0.000567f, 0.008860f, -0.013594f, 0.014078f, -0.030157f, 0.004216f, -0.008876f, -0.016188f, -0.021547f, 0.022483f, 0.011340f, 0.001370f, -0.019083f, -0.012613f, 0.007230f, -0.024963f, -0.017319f, 0.005822f, 0.005361f, 0.025186f, -0.003202f, 0.002021f, 0.018802f, -0.011220f, 0.018471f, 0.006227f, 0.006820f, + -0.003667f, -0.010995f, -0.001378f, 0.015397f, -0.008341f, 0.001386f, 0.019156f, -0.006938f, -0.005748f, -0.009224f, -0.011500f, -0.009793f, -0.007479f, -0.015449f, -0.001971f, 0.004753f, -0.005390f, 0.003503f, -0.005156f, -0.007864f, 0.010746f, -0.013782f, 0.008369f, -0.011702f, -0.014920f, 0.000807f, 0.012172f, 0.000884f, -0.003735f, 0.004940f, -0.009966f, -0.004911f, -0.013940f, -0.024677f, -0.011746f, 0.003611f, -0.007550f, 0.028376f, 0.011213f, -0.019657f, -0.009991f, -0.002841f, -0.007155f, 0.009172f, 0.019149f, 0.012692f, -0.009314f, 0.008965f, -0.011037f, 0.006714f, 0.000972f, 0.008988f, -0.009770f, -0.002222f, 0.000850f, -0.004203f, -0.008330f, -0.006871f, 0.001286f, -0.000365f, -0.001939f, 0.004459f, 0.001675f, 0.000772f, -0.002749f, 0.002706f, -0.000533f, -0.002047f, -0.006041f, -0.000041f, -0.003093f, 0.000626f, 0.002718f, -0.001897f, -0.006704f, -0.000684f, -0.002826f, 0.031503f, 0.020495f, 0.021559f, -0.006320f, -0.030644f, -0.002479f, -0.015705f, 0.003892f, 0.006781f, 0.016438f, -0.007755f, 0.007181f, -0.012614f, 0.002101f, -0.011129f, -0.028529f, -0.015386f, 0.010847f, -0.010420f, + -0.022618f, -0.021250f, -0.019780f, -0.030845f, 0.003785f, -0.010822f, -0.023506f, -0.021136f, 0.003656f, 0.029643f, -0.004016f, -0.004979f, -0.009970f, -0.018019f, 0.003665f, -0.007187f, 0.001922f, -0.022471f, 0.001385f, -0.023405f, 0.003216f, -0.001925f, 0.012516f, 0.009713f, 0.010410f, 0.005355f, -0.000933f, 0.008664f, -0.005785f, 0.017063f, 0.004758f, 0.008631f, 0.005140f, -0.005599f, 0.006037f, 0.017197f, -0.002292f, 0.009603f, -0.002488f, 0.027055f, 0.003442f, 0.010163f, 0.001281f, -0.015177f, -0.011653f, 0.000534f, -0.005420f, 0.003500f, -0.003967f, 0.008971f, 0.007958f, 0.010429f, -0.004831f, 0.005953f, -0.020798f, 0.011058f, 0.030318f, -0.014627f, -0.003116f, 0.008082f, -0.017511f, -0.001180f, 0.010905f, -0.006844f, -0.001114f, -0.003610f, 0.009485f, -0.009738f, -0.002350f, 0.002671f, -0.005474f, 0.002672f, -0.001912f, 0.004044f, -0.005064f, -0.005005f, 0.005589f, -0.002494f, -0.005559f, 0.003956f, -0.002202f, 0.000156f, -0.007844f, 0.006027f, 0.001998f, -0.001259f, -0.001304f, 0.003454f, 0.001209f, 0.003351f, 0.002409f, 0.000636f, -0.003358f, -0.005874f, -0.001727f, -0.015177f, + -0.044175f, -0.007263f, -0.015454f, -0.023181f, 0.012450f, -0.044282f, -0.005806f, -0.015727f, -0.008644f, 0.012837f, -0.014170f, 0.018784f, 0.016104f, 0.002612f, 0.014515f, 0.001327f, 0.007644f, -0.011519f, -0.020452f, -0.022416f, -0.012624f, -0.020541f, 0.015974f, 0.021047f, -0.000969f, -0.011040f, 0.006001f, 0.006090f, -0.007805f, 0.001576f, -0.035122f, -0.018509f, 0.016233f, -0.008908f, 0.000404f, 0.016025f, -0.001590f, 0.009924f, 0.008396f, -0.004536f, 0.009617f, -0.000088f, -0.018759f, 0.020830f, -0.014699f, 0.001028f, 0.001075f, -0.011454f, 0.007572f, 0.012429f, -0.007389f, 0.014197f, 0.001522f, -0.001082f, -0.013028f, 0.016035f, -0.000160f, -0.012948f, -0.004366f, -0.025963f, -0.010970f, -0.014813f, -0.001945f, 0.017892f, 0.005092f, -0.001677f, 0.000232f, -0.016795f, 0.003719f, 0.012957f, -0.017028f, 0.000998f, 0.025917f, -0.010672f, 0.002489f, 0.001992f, -0.018528f, -0.011088f, 0.011760f, 0.009922f, -0.030109f, 0.006078f, 0.022419f, -0.000089f, 0.002628f, 0.000157f, 0.005364f, -0.001692f, 0.014135f, -0.003225f, -0.000639f, 0.001841f, 0.002676f, -0.006411f, 0.001584f, 0.005022f, + 0.001494f, 0.008457f, 0.003053f, -0.000155f, -0.003141f, -0.006616f, -0.001963f, 0.003182f, -0.004155f, 0.003011f, -0.004259f, -0.000094f, 0.005803f, 0.003166f, -0.004156f, -0.005557f, 0.000255f, 0.000220f, 0.012398f, -0.004985f, 0.000985f, 0.006838f, 0.002719f, 0.006681f, 0.078588f, 0.017488f, -0.010310f, -0.015768f, -0.001545f, -0.004987f, 0.013910f, -0.003105f, 0.011753f, 0.022287f, -0.009018f, 0.001121f, -0.014781f, -0.010100f, 0.004708f, -0.002434f, 0.011419f, -0.022033f, -0.012951f, 0.010400f, 0.022041f, 0.014578f, -0.000729f, 0.005232f, -0.005458f, -0.013268f, 0.009543f, 0.017261f, 0.018050f, 0.021845f, -0.018145f, -0.004285f, -0.010433f, -0.022438f, -0.002893f, 0.001167f, -0.004976f, 0.010316f, 0.013548f, -0.000029f, 0.006655f, -0.004024f, -0.023906f, -0.012973f, -0.031953f, -0.032355f, -0.009511f, 0.010846f, -0.004799f, -0.014326f, 0.027054f, 0.010266f, -0.001175f, -0.025426f, -0.001234f, -0.007824f, -0.018263f, 0.000240f, -0.008396f, -0.011772f, -0.025264f, -0.003214f, -0.009381f, -0.027678f, -0.000083f, 0.021208f, -0.014314f, -0.006731f, 0.007748f, -0.011889f, 0.004661f, -0.011778f, + 0.017178f, -0.005495f, -0.016756f, -0.025857f, -0.042601f, 0.008439f, 0.007107f, 0.032543f, 0.013003f, 0.011306f, -0.000237f, 0.009922f, -0.007730f, 0.010515f, -0.001046f, 0.003752f, 0.005123f, 0.012469f, 0.005596f, 0.000578f, -0.002351f, -0.000535f, 0.004831f, 0.003154f, 0.012803f, 0.010201f, 0.006682f, 0.002296f, -0.002705f, -0.006710f, 0.003637f, 0.008461f, 0.000665f, 0.000643f, -0.001650f, -0.005911f, -0.001121f, -0.000774f, -0.002971f, -0.002022f, -0.004734f, 0.004007f, 0.005604f, -0.005192f, -0.005507f, -0.000163f, -0.000792f, 0.003127f, 0.017680f, -0.062270f, -0.035481f, 0.033012f, -0.008577f, 0.002123f, -0.017104f, 0.014404f, -0.005900f, -0.024025f, 0.011553f, 0.033373f, 0.004291f, -0.029197f, 0.008249f, -0.006355f, -0.006669f, 0.019217f, 0.019938f, -0.002684f, -0.004041f, 0.042024f, 0.009404f, -0.006037f, -0.025810f, 0.011442f, -0.037022f, -0.030476f, -0.028077f, 0.011405f, -0.005298f, -0.003005f, 0.024159f, 0.009637f, -0.024505f, -0.020485f, 0.005353f, 0.023853f, 0.008182f, -0.002714f, 0.001374f, 0.015907f, -0.011470f, -0.025890f, 0.033815f, -0.009923f, 0.003526f, 0.013656f, + 0.002126f, 0.004693f, 0.034774f, 0.000614f, 0.022157f, 0.001011f, -0.023275f, 0.003382f, 0.004991f, -0.004817f, 0.004455f, 0.015828f, -0.011765f, -0.003567f, 0.004056f, -0.046031f, 0.012223f, 0.009422f, -0.000258f, 0.011055f, 0.008616f, -0.017077f, 0.008102f, 0.063236f, 0.027184f, 0.015626f, 0.004586f, 0.015361f, -0.048615f, -0.023043f, 0.024602f, 0.000986f, -0.000227f, -0.018653f, 0.016439f, 0.019901f, 0.016661f, 0.002777f, 0.003489f, -0.006677f, 0.000263f, -0.011569f, -0.004209f, 0.009128f, -0.002067f, -0.005837f, 0.004738f, 0.000367f, 0.004545f, -0.006752f, -0.002871f, 0.002255f, -0.001244f, 0.004598f, -0.008084f, -0.002803f, 0.005726f, -0.006455f, 0.004625f, 0.001667f, 0.000574f, 0.000156f, 0.000028f, -0.005243f, 0.002577f, 0.004790f, -0.002452f, -0.002458f, -0.005627f, 0.002417f, -0.000382f, -0.041753f, 0.029344f, 0.031349f, 0.010149f, 0.017281f, -0.011566f, 0.050054f, -0.005853f, 0.019076f, 0.013104f, -0.023128f, -0.009434f, -0.010688f, 0.029145f, -0.017334f, -0.005340f, 0.018303f, 0.015469f, -0.017038f, -0.004562f, -0.049203f, 0.009250f, -0.005484f, -0.014380f, 0.004226f, + 0.001390f, 0.003599f, 0.004582f, 0.016617f, 0.000742f, 0.018205f, 0.002233f, 0.008857f, -0.004648f, -0.015876f, -0.016830f, 0.031742f, -0.011255f, -0.023043f, -0.019305f, -0.008815f, -0.010592f, 0.013752f, 0.008618f, 0.010583f, 0.014118f, 0.004180f, -0.017350f, 0.009946f, -0.028335f, -0.009330f, -0.024751f, 0.017040f, -0.029888f, -0.021534f, -0.006293f, -0.010124f, 0.009012f, 0.020114f, -0.015948f, 0.018987f, 0.031382f, 0.015515f, 0.030233f, -0.012690f, 0.040562f, 0.003671f, 0.034374f, 0.019423f, 0.004336f, -0.018327f, -0.045949f, -0.031114f, -0.025213f, -0.014384f, -0.014105f, -0.004535f, -0.021363f, 0.016128f, 0.026971f, -0.010372f, -0.020568f, -0.018835f, -0.014828f, -0.028015f, 0.017695f, 0.012738f, -0.007380f, -0.007231f, -0.010814f, 0.001425f, -0.006102f, 0.015079f, 0.000099f, 0.003860f, -0.007988f, -0.006912f, -0.011286f, -0.002096f, -0.013530f, -0.013051f, 0.013428f, -0.000946f, 0.001688f, 0.000330f, 0.004957f, -0.005337f, -0.000452f, -0.008017f, 0.000322f, 0.000047f, -0.000299f, 0.004128f, 0.000489f, -0.006561f, -0.004260f, -0.004708f, 0.001368f, -0.007050f, -0.007629f, -0.009695f, + 0.002671f, 0.023250f, 0.011852f, -0.013229f, 0.039148f, 0.004427f, -0.038206f, 0.047718f, 0.003203f, -0.020322f, 0.016846f, -0.039187f, -0.007497f, -0.024948f, -0.007785f, -0.004414f, -0.007650f, -0.017831f, 0.005005f, -0.033854f, -0.013089f, -0.012202f, -0.045684f, 0.005559f, -0.033128f, -0.023545f, -0.037167f, 0.007470f, -0.028040f, -0.008457f, -0.009284f, 0.000316f, 0.014151f, -0.011388f, 0.019917f, 0.001044f, 0.026426f, -0.006137f, 0.022987f, 0.028967f, -0.034735f, -0.000503f, 0.009334f, 0.021271f, 0.000843f, 0.025574f, 0.008572f, 0.024660f, -0.000503f, -0.018807f, -0.011823f, -0.001790f, 0.015961f, -0.003649f, -0.007320f, -0.001578f, 0.029547f, 0.018668f, -0.007006f, -0.024316f, 0.008174f, 0.013396f, 0.009524f, 0.026211f, -0.035057f, -0.025920f, -0.007396f, 0.002498f, -0.009859f, 0.000309f, -0.010053f, -0.021902f, 0.061547f, -0.030364f, -0.035255f, 0.026358f, 0.015181f, 0.022903f, 0.007035f, 0.008441f, 0.004749f, 0.013405f, -0.012623f, 0.035377f, -0.006166f, 0.008703f, -0.006818f, 0.004766f, 0.002136f, -0.001902f, 0.022549f, 0.002858f, 0.001987f, -0.022180f, 0.010075f, 0.003360f, + -0.003247f, -0.018056f, -0.001839f, -0.003705f, 0.000492f, -0.005724f, 0.016248f, 0.003793f, 0.004551f, -0.013038f, 0.008945f, -0.006176f, 0.001832f, 0.007867f, -0.000312f, -0.003829f, -0.004186f, -0.011597f, 0.006781f, 0.011932f, -0.005646f, -0.001279f, -0.004187f, 0.001806f, -0.006738f, -0.015624f, -0.004722f, -0.000491f, -0.010713f, 0.011157f, -0.000950f, -0.001479f, 0.003775f, -0.010497f, -0.011905f, 0.004887f, -0.008197f, -0.010436f, 0.031020f, 0.022844f, 0.036679f, -0.012212f, -0.009083f, -0.050376f, 0.058493f, 0.026811f, -0.077910f, -0.041698f, 0.024962f, 0.034679f, 0.034885f, -0.022410f, -0.018193f, 0.042212f, 0.010009f, 0.009688f, 0.029262f, 0.023656f, -0.043083f, 0.013201f, 0.018149f, -0.003226f, 0.020325f, 0.003910f, -0.005542f, 0.004213f, -0.014035f, 0.071921f, 0.018822f, 0.009369f, -0.001988f, -0.008894f, -0.004847f, -0.040795f, 0.007809f, 0.011990f, -0.009620f, -0.013375f, -0.066057f, -0.031552f, 0.013807f, 0.011516f, -0.021693f, -0.021200f, -0.003013f, -0.031441f, 0.012985f, 0.011674f, -0.004600f, 0.013134f, 0.026015f, 0.001309f, -0.001383f, -0.008340f, -0.013947f, -0.004547f, + 0.002306f, -0.048675f, -0.006513f, 0.011437f, 0.029647f, -0.052682f, 0.011669f, 0.018887f, -0.004181f, -0.024801f, -0.022429f, 0.039784f, 0.039283f, -0.005750f, -0.024588f, -0.046578f, 0.009769f, 0.018684f, 0.009739f, 0.000777f, -0.050826f, 0.021427f, 0.046183f, -0.015648f, 0.005176f, 0.014525f, -0.019065f, -0.030341f, -0.016091f, 0.004631f, -0.009464f, -0.002409f, -0.014357f, -0.012325f, -0.010503f, -0.004427f, -0.004172f, 0.006180f, -0.001171f, -0.000925f, -0.013095f, 0.005376f, -0.006188f, 0.002803f, 0.000030f, 0.004216f, 0.007829f, 0.009209f, -0.014630f, 0.005850f, -0.011326f, -0.018936f, -0.010028f, 0.002720f, -0.001998f, 0.008277f, -0.001923f, 0.005391f, 0.011094f, 0.000562f, -0.000607f, -0.009817f, -0.005573f, 0.014809f, 0.007417f, -0.006196f, -0.003885f, 0.023175f, -0.017067f, 0.006324f, -0.014223f, -0.012541f, 0.002178f, 0.015711f, 0.031355f, -0.057753f, -0.075371f, -0.052374f, -0.067429f, 0.058555f, -0.039057f, 0.023585f, -0.006604f, -0.047350f, 0.008473f, -0.012837f, -0.017603f, -0.061474f, -0.056336f, -0.042045f, -0.016055f, 0.002223f, -0.032597f, -0.009411f, 0.008611f, 0.026517f, + 0.002100f, -0.016439f, 0.000067f, -0.017580f, 0.025413f, -0.031926f, 0.044184f, 0.038112f, -0.009104f, -0.012071f, -0.052388f, -0.030511f, -0.031857f, 0.003882f, 0.007050f, -0.008489f, 0.042824f, 0.012252f, 0.034717f, 0.006896f, -0.004080f, -0.015692f, 0.031238f, 0.021622f, 0.009816f, -0.031301f, 0.016814f, -0.052972f, -0.005900f, -0.005568f, -0.035183f, -0.005730f, 0.000464f, 0.040623f, 0.026903f, 0.000843f, 0.018792f, -0.000672f, -0.039948f, 0.020445f, 0.005694f, 0.033430f, -0.018844f, -0.038398f, 0.022996f, -0.069063f, -0.015817f, 0.024554f, -0.010334f, -0.010926f, 0.016987f, -0.004423f, -0.013582f, 0.012893f, -0.005712f, -0.044280f, -0.038956f, -0.006365f, 0.018322f, 0.029608f, 0.041591f, 0.041692f, -0.017567f, -0.014048f, 0.008263f, 0.015179f, 0.013682f, 0.005784f, -0.018404f, 0.016356f, 0.000397f, -0.003332f, 0.002192f, 0.010189f, 0.016971f, -0.004815f, 0.002954f, 0.016071f, -0.003589f, -0.000197f, -0.015983f, 0.008169f, -0.003388f, -0.000986f, 0.013403f, -0.002465f, -0.005797f, 0.006099f, -0.018164f, -0.006627f, 0.018761f, 0.005481f, 0.006191f, -0.006426f, -0.004180f, -0.002591f, + -0.014428f, -0.001759f, -0.007958f, 0.011249f, -0.031547f, -0.075343f, -0.007042f, -0.047964f, 0.002928f, -0.035321f, 0.032139f, -0.025222f, -0.002711f, 0.006348f, 0.011976f, 0.038795f, 0.012971f, -0.017533f, 0.041840f, 0.013070f, -0.071319f, 0.011796f, -0.042813f, -0.002986f, 0.008096f, -0.005913f, 0.035135f, -0.010369f, 0.006342f, 0.008972f, 0.003045f, -0.022793f, 0.035655f, -0.020608f, -0.002026f, -0.041701f, -0.000099f, 0.007158f, -0.006676f, -0.014622f, -0.019237f, -0.021750f, 0.054067f, 0.002244f, 0.027956f, -0.048142f, 0.005357f, -0.000530f, 0.016463f, 0.028855f, -0.033255f, 0.058971f, 0.084697f, -0.003799f, 0.008072f, -0.029531f, 0.013452f, 0.019810f, -0.016511f, 0.004298f, 0.015829f, 0.032981f, -0.001224f, 0.002007f, -0.010365f, -0.028564f, -0.043177f, 0.021977f, -0.032432f, -0.013568f, -0.021315f, 0.009399f, 0.028768f, 0.026036f, -0.005350f, 0.009813f, -0.058584f, 0.038622f, -0.007412f, 0.008446f, -0.017379f, 0.037733f, -0.052629f, 0.062537f, 0.045214f, 0.052108f, -0.021312f, -0.001210f, -0.051621f, -0.027807f, -0.019391f, 0.016902f, 0.013956f, -0.042482f, -0.031503f, 0.001202f, + -0.011181f, -0.030999f, -0.000480f, -0.021457f, -0.025877f, -0.009535f, -0.004237f, 0.001959f, -0.017274f, 0.003003f, 0.005229f, 0.025738f, 0.022580f, -0.003600f, 0.021246f, -0.010721f, -0.027634f, -0.015041f, -0.006336f, -0.013711f, -0.002630f, -0.010203f, 0.014795f, 0.004612f, 0.058699f, 0.007802f, -0.021018f, -0.007051f, 0.004689f, -0.031022f, -0.019991f, 0.007333f, 0.000572f, -0.008074f, 0.002402f, -0.000027f, -0.034548f, -0.003598f, 0.021904f, -0.016747f, 0.094617f, 0.027089f, 0.068797f, 0.022020f, -0.071817f, 0.028885f, 0.019891f, -0.023842f, 0.004808f, 0.046410f, 0.001977f, 0.044423f, 0.039215f, -0.046019f, 0.025280f, -0.046038f, -0.031238f, -0.004312f, 0.092585f, 0.028551f, -0.041944f, 0.039567f, 0.025332f, -0.050956f, -0.022630f, -0.003425f, 0.051760f, 0.007729f, -0.047584f, -0.026631f, -0.001608f, -0.012931f, 0.028675f, 0.041622f, -0.015154f, 0.036619f, -0.023673f, -0.031786f, -0.001232f, 0.075364f, 0.006871f, -0.043152f, 0.024459f, -0.001950f, -0.004437f, 0.021157f, -0.049206f, -0.042317f, -0.040402f, 0.029593f, -0.026509f, 0.009607f, 0.012416f, 0.045104f, 0.022127f, 0.046368f, + 0.004788f, -0.001902f, 0.037593f, 0.069380f, 0.041031f, -0.068423f, 0.001276f, 0.006769f, -0.011756f, 0.013331f, 0.018860f, -0.052808f, -0.008132f, 0.010600f, 0.009011f, -0.062914f, -0.059905f, -0.033375f, -0.036466f, 0.062716f, 0.022983f, 0.003037f, 0.027439f, -0.050928f, 0.020900f, 0.014282f, 0.009150f, -0.004371f, -0.011881f, 0.043391f, 0.025787f, -0.017146f, 0.007183f, -0.012888f, 0.028009f, -0.007979f, 0.001755f, 0.006097f, 0.003950f, 0.021214f, -0.003580f, -0.033997f, -0.001694f, 0.006593f, 0.008699f, 0.017770f, -0.005047f, 0.001768f, 0.012869f, -0.026294f, -0.016003f, -0.002255f, -0.048514f, -0.007181f, 0.013030f, -0.003350f, 0.004880f, 0.027811f, -0.004298f, -0.019009f, 0.003740f, 0.006923f, 0.017534f, 0.021631f, -0.021038f, -0.012490f, -0.001797f, -0.017282f, -0.011865f, -0.033349f, -0.040471f, 0.011372f, 0.000154f, -0.017760f, -0.015612f, -0.018124f, -0.036006f, 0.026964f, -0.071948f, 0.052069f, 0.058150f, 0.016122f, 0.063325f, -0.064900f, -0.031775f, -0.017554f, -0.093291f, 0.052566f, 0.005237f, 0.032547f, 0.042753f, 0.041851f, 0.003198f, -0.001297f, 0.042499f, -0.006713f, + -0.050542f, -0.052419f, 0.031706f, -0.059229f, 0.057784f, -0.016576f, 0.012636f, 0.057304f, 0.051621f, -0.025982f, 0.078627f, -0.045590f, 0.005049f, -0.047406f, 0.007619f, -0.016192f, 0.030923f, 0.010542f, -0.033697f, 0.030198f, 0.045824f, 0.067411f, -0.039023f, 0.014432f, 0.041316f, -0.056833f, 0.002561f, -0.022833f, -0.082270f, -0.035356f, 0.021881f, -0.045139f, 0.016014f, -0.037893f, -0.000985f, 0.055369f, -0.026344f, 0.023461f, 0.063709f, 0.045563f, 0.016991f, 0.084818f, -0.132187f, -0.024890f, 0.044024f, -0.005085f, 0.025619f, -0.040908f, -0.071481f, 0.086729f, -0.001337f, -0.043690f, 0.018624f, 0.054884f, 0.136095f, 0.051575f, -0.103098f, -0.056226f, 0.034992f, 0.038086f, 0.016414f, -0.071948f, -0.006380f, 0.015769f, -0.022345f, 0.048568f, 0.017266f, 0.030998f, 0.036794f, 0.027678f, -0.019014f, 0.021367f, -0.057281f, 0.008204f, 0.030400f, -0.003705f, -0.030470f, 0.017680f, -0.018668f, 0.030271f, 0.033344f, -0.014385f, -0.028077f, -0.007571f, 0.061675f, -0.011130f, -0.007452f, -0.024305f, 0.027763f, -0.024140f, -0.015065f, 0.017805f, -0.011787f, 0.058196f, -0.004702f, -0.014525f, + 0.058344f, -0.005336f, 0.013404f, 0.035795f, -0.003034f, -0.003173f, 0.003119f, 0.005222f, -0.027910f, 0.012417f, 0.001155f, -0.040108f, 0.026809f, -0.012527f, 0.051156f, -0.028087f, 0.016139f, 0.004807f, 0.069743f, -0.061314f, -0.005553f, -0.029308f, -0.036337f, 0.055889f, -0.021753f, 0.073383f, -0.007285f, -0.056630f, 0.088033f, 0.127252f, -0.018172f, -0.040660f, -0.061493f, 0.014597f, 0.067597f, 0.013277f, -0.014268f, -0.042201f, 0.009995f, 0.009932f, -0.009368f, 0.010395f, -0.006052f, -0.020764f, -0.021192f, 0.019445f, 0.027743f, -0.002183f, 0.037510f, -0.036268f, 0.076977f, 0.057982f, 0.033394f, -0.002866f, 0.004504f, 0.010906f, -0.040846f, -0.035748f, -0.039602f, -0.020845f, -0.010919f, 0.024604f, 0.021582f, 0.041723f, -0.020293f, -0.005069f, -0.018002f, 0.047470f, 0.092716f, -0.022008f, -0.059845f, -0.038540f, -0.002568f, -0.080938f, 0.062714f, -0.109907f, 0.031527f, 0.046437f, 0.047641f, -0.047968f, 0.010995f, 0.048354f, -0.111376f, -0.052679f, 0.022627f, -0.011882f, -0.055931f, -0.049307f, -0.006596f, -0.025897f, 0.082455f, 0.035341f, -0.030538f, -0.028003f, -0.046175f, 0.126546f, + 0.026952f, 0.066046f, -0.005043f, 0.019191f, 0.023641f, 0.028264f, -0.041761f, -0.005453f, 0.052273f, 0.036113f, 0.021342f, -0.017539f, -0.022953f, -0.000156f, 0.016007f, 0.024098f, 0.016042f, -0.032859f, 0.004222f, 0.000161f, 0.007998f, 0.023362f, 0.023123f, -0.034418f, 0.015416f, -0.021295f, -0.026425f, 0.002507f, 0.026186f, 0.010661f, -0.016743f, 0.003455f, -0.002976f, -0.005128f, -0.014476f, 0.050341f, -0.015725f, -0.000117f, -0.031071f, 0.006841f, -0.012046f, 0.033077f, 0.009897f, -0.007437f, -0.018771f, 0.018664f, 0.014756f, -0.023602f, 0.000582f, -0.038235f, -0.016009f, 0.008621f, 0.014475f, 0.021031f, -0.001413f, -0.047835f, 0.014407f, 0.073407f, 0.002429f, -0.025062f, 0.061623f, 0.043785f, -0.012549f, -0.039652f, -0.059598f, 0.011229f, 0.117767f, 0.025643f, 0.060477f, -0.005497f, 0.005459f, -0.004967f, -0.013628f, -0.000220f, 0.005592f, 0.028251f, 0.009607f, -0.023077f, 0.019767f, -0.020236f, -0.021794f, -0.025132f, 0.000821f, 0.023329f, 0.005321f, 0.018590f, 0.020446f, 0.016070f, -0.016328f, -0.029471f, 0.009460f, -0.020524f, -0.050342f, -0.015295f, 0.011684f, -0.017969f, + 0.059282f, -0.061305f, 0.049839f, -0.016095f, 0.000591f, 0.073049f, -0.011296f, -0.002397f, 0.096121f, -0.015129f, -0.038807f, 0.006636f, -0.033220f, -0.008017f, -0.031352f, 0.106378f, -0.029989f, 0.025316f, -0.025440f, -0.011970f, -0.014415f, 0.017267f, -0.026655f, -0.065966f, 0.029133f, -0.008012f, -0.072407f, 0.037499f, -0.018803f, 0.039917f, 0.091465f, -0.046243f, -0.000747f, -0.005227f, -0.013260f, -0.049731f, -0.008336f, 0.044494f, 0.018329f, 0.027083f, -0.041148f, 0.011724f, 0.007625f, -0.040588f, -0.010615f, 0.008339f, 0.020873f, 0.025101f, 0.002412f, 0.004322f, 0.017063f, -0.004599f, -0.019607f, 0.028361f, -0.011124f, -0.009385f, 0.026661f, 0.002951f, -0.006959f, 0.038643f, -0.002312f, -0.003608f, 0.000641f, 0.012183f, -0.011474f, 0.019176f, -0.014987f, -0.008316f, -0.011777f, 0.009658f, -0.000013f, -0.002106f, 0.006014f, 0.017559f, -0.021361f, 0.004029f, -0.002600f, 0.012402f, 0.004207f, -0.004861f, 0.022689f, -0.014321f, 0.012386f, -0.004547f, 0.006933f, 0.000856f, 0.017063f, -0.026040f, 0.000075f, 0.122449f, 0.062222f, 0.128469f, -0.071842f, -0.018665f, 0.042516f, -0.040183f, + 0.030808f, 0.132155f, 0.031463f, 0.019112f, -0.034730f, -0.032866f, 0.038025f, -0.020025f, 0.053708f, -0.008792f, -0.012055f, -0.015538f, -0.075785f, 0.018297f, 0.091547f, -0.048253f, 0.055442f, 0.048193f, -0.030725f, -0.009312f, 0.038218f, -0.060700f, 0.030497f, -0.004293f, 0.045996f, 0.015514f, -0.037770f, -0.012228f, -0.076191f, -0.039176f, 0.036021f, 0.026956f, 0.059572f, 0.092644f, 0.010090f, 0.001478f, -0.080021f, -0.049010f, -0.047707f, -0.039445f, 0.021198f, -0.032724f, -0.009174f, -0.007514f, 0.024211f, -0.061272f, -0.009712f, 0.031732f, 0.016558f, 0.050521f, -0.006588f, -0.024199f, 0.050428f, -0.009109f, 0.030974f, -0.038707f, -0.023193f, -0.005998f, -0.012762f, 0.024637f, 0.036726f, 0.051671f, 0.014758f, 0.004243f, -0.035543f, -0.010069f, -0.018173f, 0.043259f, 0.000622f, 0.064838f, 0.011415f, 0.048828f, -0.047390f, -0.017072f, -0.000208f, -0.001204f, 0.035501f, -0.005671f, -0.017474f, -0.009618f, 0.008801f, 0.002401f, 0.009305f, 0.016302f, 0.014728f, -0.009048f, -0.010489f, 0.000608f, -0.006171f, 0.013725f, 0.014816f, 0.003379f, -0.012254f, 0.000458f, -0.016097f, -0.006860f, + -0.003481f, 0.027794f, 0.010049f, -0.003733f, 0.007313f, -0.018760f, -0.021996f, -0.015017f, 0.007023f, 0.015194f, -0.013098f, -0.001415f, 0.000258f, 0.011292f, 0.006366f, -0.001871f, 0.012179f, 0.001776f, -0.000614f, -0.012144f, 0.005770f, 0.003378f, -0.004904f, -0.033676f, -0.125775f, 0.003264f, 0.202395f, 0.182518f, 0.171671f, 0.072738f, -0.072908f, -0.101083f, -0.100213f, -0.089628f, -0.164509f, -0.117495f, -0.114507f, 0.088534f, 0.136079f, 0.110969f, 0.177104f, 0.147292f, 0.031268f, -0.006901f, -0.063363f, -0.123523f, -0.073677f, -0.129795f, -0.070448f, -0.043498f, 0.000716f, -0.017417f, 0.032566f, 0.055603f, 0.094650f, 0.059450f, 0.099446f, 0.075591f, 0.079018f, 0.006043f, -0.065020f, -0.029735f, 0.002290f, -0.071175f, -0.093838f, -0.122178f, -0.119961f, -0.085237f, -0.011952f, 0.059433f, 0.023570f, 0.086524f, 0.061338f, 0.098698f, 0.088042f, 0.095697f, 0.111221f, 0.059680f, -0.008503f, -0.018106f, -0.072558f, -0.059570f, -0.195977f, -0.156969f, -0.125633f, -0.098390f, 0.011479f, -0.043050f, 0.002822f, 0.133710f, 0.165380f, 0.226025f, 0.143088f, 0.085816f, 0.058560f, 0.013473f, + -0.086628f, -0.079629f, -0.120785f, -0.156401f, -0.132265f, -0.123620f, -0.057880f, 0.008659f, 0.062567f, 0.102573f, 0.101557f, 0.086168f, 0.054527f, 0.057747f, 0.024937f, 0.015377f, -0.002765f, -0.048252f, -0.041784f, -0.038453f, -0.042518f, -0.022917f, -0.047524f, -0.034291f, 0.011804f, 0.003787f, -0.027615f, 0.014739f, 0.039216f, 0.021964f, 0.044741f, 0.069381f, 0.072531f, 0.031675f, -0.044778f, -0.019704f, -0.006237f, -0.091748f, -0.096392f, -0.084436f, -0.035055f, 0.025746f, 0.041339f, 0.034081f, 0.057954f, 0.065113f, 0.080847f, 0.053223f, 0.033103f, -0.012781f, -0.054115f, -0.055473f, -0.061298f, -0.083026f, -0.058590f, -0.032987f, 0.028284f, 0.044369f, 0.029110f, 0.017155f, 0.052428f, 0.034855f, 0.021570f, 0.004436f, -0.007719f, -0.017292f, 0.001808f, -0.020681f, -0.023797f, -0.009424f, 0.008156f, -0.014592f, -0.010328f, 0.001518f, 0.010905f, 0.000599f, -0.005209f, -0.008015f, 0.008244f, -0.000863f, -0.003639f, -0.008184f, 0.003551f, 0.002458f, 0.005033f, -0.002333f, 0.003005f}, + {0.002045f, -0.002350f, 0.008276f, 0.009304f, 0.004997f, -0.003601f, -0.014059f, -0.012897f, 0.004673f, 0.007399f, -0.002735f, 0.013819f, -0.002680f, 0.008243f, -0.009823f, -0.008665f, 0.003773f, 0.000338f, -0.002554f, 0.003649f, 0.008958f, -0.003907f, 0.001238f, -0.005129f, -0.000518f, 0.000471f, 0.003667f, 0.003413f, 0.004597f, 0.000757f, 0.002734f, 0.010232f, -0.003958f, -0.004797f, -0.005179f, -0.009282f, 0.002661f, -0.001957f, 0.016958f, 0.003292f, -0.001285f, 0.001329f, 0.010285f, -0.000957f, -0.002252f, -0.002631f, -0.006046f, -0.001113f, 0.007906f, -0.001223f, 0.003274f, 0.007998f, -0.002521f, -0.000582f, -0.012883f, -0.007573f, -0.011749f, -0.002303f, -0.003420f, 0.001728f, 0.000630f, 0.001686f, 0.004177f, -0.002821f, 0.002013f, 0.000125f, 0.001026f, 0.001783f, -0.004296f, 0.004046f, -0.001399f, -0.004887f, -0.000632f, -0.004928f, -0.001512f, 0.000454f, -0.007683f, 0.002026f, 0.000334f, 0.005906f, 0.000608f, -0.000109f, -0.003538f, 0.000785f, 0.005880f, 0.002875f, -0.001483f, 0.000650f, 0.001296f, 0.001427f, 0.004481f, 0.000531f, 0.000265f, -0.001093f, -0.000692f, 0.000445f, + 0.000162f, -0.000468f, 0.002952f, 0.001612f, 0.001747f, 0.001248f, 0.000909f, 0.000375f, 0.000879f, 0.009535f, 0.022561f, 0.008881f, 0.005355f, 0.006244f, -0.013223f, -0.001576f, 0.005737f, -0.001813f, 0.002257f, -0.012103f, 0.011901f, 0.016074f, 0.002797f, 0.007170f, -0.003368f, -0.009447f, -0.014585f, -0.016011f, -0.010612f, 0.012657f, -0.011945f, -0.007623f, -0.010106f, 0.003228f, 0.008442f, 0.001571f, 0.001161f, 0.004689f, -0.000457f, 0.002955f, 0.010398f, -0.001477f, 0.008648f, -0.008238f, 0.007892f, 0.005459f, 0.005025f, -0.004349f, -0.013404f, -0.002876f, 0.007704f, 0.004532f, -0.003733f, -0.000468f, 0.002677f, -0.000587f, -0.006459f, -0.001377f, 0.005510f, -0.001904f, 0.000626f, -0.003219f, -0.000692f, 0.000380f, 0.001852f, 0.009461f, 0.003981f, -0.004877f, 0.000836f, 0.000766f, -0.003203f, 0.001710f, -0.004673f, -0.000568f, 0.007706f, 0.002484f, 0.008644f, -0.006182f, -0.005275f, -0.003183f, -0.001349f, 0.004373f, 0.009796f, -0.005661f, -0.007062f, 0.008401f, -0.000777f, -0.000181f, 0.000306f, 0.002887f, 0.002096f, 0.007058f, -0.001978f, 0.003280f, -0.004301f, -0.004060f, + 0.000332f, 0.001894f, -0.000284f, 0.000126f, 0.001639f, 0.001752f, 0.001368f, -0.003662f, 0.004112f, -0.000859f, 0.006606f, 0.002811f, -0.007418f, -0.006988f, -0.007949f, -0.001237f, -0.006489f, -0.013655f, -0.013017f, 0.013446f, -0.000295f, 0.002840f, -0.000101f, 0.008195f, -0.012107f, 0.018000f, 0.015975f, 0.000839f, 0.000852f, 0.000036f, 0.000475f, -0.001765f, 0.006256f, 0.004879f, 0.000396f, -0.010227f, 0.004438f, -0.003165f, 0.004924f, -0.001416f, 0.010910f, -0.002530f, -0.006349f, -0.002866f, -0.001712f, 0.004054f, -0.000068f, 0.006758f, -0.010832f, 0.005852f, 0.001889f, -0.006001f, 0.017047f, -0.002696f, -0.002441f, -0.000347f, -0.000266f, -0.004483f, -0.001451f, 0.009110f, 0.007448f, -0.015965f, -0.007537f, 0.008134f, 0.002339f, -0.003810f, 0.013901f, 0.000520f, 0.003116f, 0.013699f, 0.005652f, 0.010757f, 0.003036f, -0.004115f, -0.005581f, -0.010740f, -0.010418f, 0.001526f, 0.005545f, 0.013332f, 0.000508f, -0.005419f, -0.006796f, 0.002330f, -0.000125f, -0.003708f, 0.004323f, -0.001489f, -0.003418f, 0.003130f, 0.007219f, 0.002353f, -0.003620f, 0.003632f, 0.003760f, 0.004728f, + 0.003025f, 0.000252f, 0.000450f, -0.004459f, -0.000940f, -0.000048f, 0.002292f, 0.001946f, 0.003677f, 0.003570f, 0.002954f, 0.001136f, -0.000290f, -0.018225f, -0.006365f, -0.008862f, 0.008272f, -0.006050f, 0.005370f, -0.006543f, -0.002719f, 0.015472f, 0.007549f, -0.010256f, 0.004673f, 0.014757f, 0.002152f, -0.005163f, -0.010367f, -0.012435f, -0.008540f, -0.012504f, 0.008297f, 0.001896f, 0.004561f, -0.002395f, -0.005672f, -0.005968f, -0.011031f, 0.000579f, -0.000351f, 0.002624f, -0.002697f, -0.010018f, 0.000154f, 0.010711f, -0.002382f, 0.000128f, -0.005344f, -0.010672f, -0.015806f, -0.001356f, 0.011376f, 0.004141f, 0.001190f, -0.005354f, 0.001449f, -0.008569f, -0.002816f, -0.006447f, 0.000813f, 0.001459f, -0.009769f, 0.011021f, -0.006212f, 0.014023f, 0.005296f, 0.001334f, -0.006378f, -0.003343f, 0.003596f, -0.000802f, 0.003402f, 0.007528f, 0.001523f, 0.002987f, -0.008338f, 0.004920f, -0.004195f, 0.012890f, 0.015957f, 0.007324f, 0.010722f, 0.004995f, -0.001643f, -0.011197f, -0.007237f, 0.000924f, 0.008247f, 0.008318f, -0.006660f, 0.000874f, 0.007837f, -0.010255f, 0.010123f, 0.000650f, + -0.005201f, 0.003339f, -0.002186f, -0.000491f, -0.005784f, 0.001135f, 0.001634f, 0.000998f, -0.004641f, 0.001229f, -0.003281f, -0.004351f, -0.001524f, 0.000309f, 0.001917f, -0.002839f, 0.000698f, -0.001231f, -0.004037f, 0.000432f, 0.003321f, 0.001394f, -0.002891f, 0.001869f, -0.002176f, 0.006102f, -0.014716f, 0.001933f, -0.015736f, -0.000070f, 0.002419f, 0.001464f, 0.007108f, 0.000712f, 0.001136f, 0.027845f, -0.003482f, -0.012299f, -0.013253f, 0.013987f, 0.009383f, -0.010552f, 0.002564f, -0.011768f, -0.005030f, 0.000395f, 0.013334f, -0.016512f, 0.004830f, -0.000643f, 0.002649f, -0.001257f, 0.016927f, -0.008742f, 0.004787f, -0.002642f, -0.004457f, 0.002575f, -0.000792f, 0.005075f, -0.005154f, -0.004799f, -0.014287f, 0.002250f, -0.004729f, -0.003073f, 0.001157f, -0.005059f, 0.004245f, -0.008064f, -0.004778f, -0.014193f, -0.000402f, -0.012600f, -0.005295f, -0.014987f, 0.011172f, 0.002276f, -0.004570f, 0.009811f, -0.011334f, -0.000042f, -0.021624f, -0.001149f, 0.007522f, -0.000573f, 0.006455f, 0.013800f, -0.004800f, -0.001920f, 0.017283f, 0.007299f, 0.006699f, 0.010553f, -0.005407f, -0.015913f, + -0.001646f, -0.009516f, 0.007012f, 0.015907f, -0.002810f, 0.004689f, 0.008502f, 0.007145f, -0.000792f, -0.001300f, 0.002022f, 0.000342f, -0.002879f, 0.004318f, 0.003893f, -0.006570f, 0.002262f, 0.005630f, -0.002742f, -0.001967f, -0.009756f, -0.002228f, -0.004064f, -0.001304f, -0.004218f, 0.000922f, -0.000967f, 0.000830f, -0.000367f, 0.000733f, 0.002613f, -0.002826f, 0.001106f, -0.001118f, -0.002869f, -0.000324f, -0.000417f, -0.000819f, 0.000307f, 0.001763f, 0.002876f, -0.002660f, 0.001055f, -0.002236f, 0.000506f, -0.000181f, -0.002987f, -0.001132f, -0.002005f, 0.007866f, 0.008896f, 0.003217f, -0.005355f, 0.003849f, 0.002338f, 0.016937f, -0.002565f, -0.003643f, -0.022835f, -0.006462f, 0.017199f, 0.016772f, 0.010810f, 0.008498f, 0.024476f, 0.001504f, -0.029188f, -0.007497f, -0.004847f, -0.007084f, 0.015592f, -0.002479f, -0.005644f, 0.018144f, 0.002858f, -0.007496f, -0.002578f, 0.007237f, -0.006424f, -0.002557f, 0.002236f, -0.002332f, -0.010155f, -0.004626f, -0.000459f, -0.009845f, -0.004486f, -0.004141f, 0.006884f, -0.004628f, 0.013243f, 0.012844f, 0.001269f, 0.012217f, 0.008599f, -0.005535f, + -0.001861f, -0.004204f, -0.018963f, 0.002124f, 0.003941f, -0.018070f, -0.002572f, -0.005130f, 0.006490f, 0.016491f, 0.002536f, -0.016744f, 0.002483f, -0.006461f, -0.011253f, 0.009123f, -0.002613f, -0.011995f, 0.005464f, 0.004607f, 0.013278f, -0.001065f, -0.001610f, 0.009754f, 0.011575f, 0.012688f, -0.012999f, 0.009197f, -0.001627f, -0.002219f, 0.003466f, 0.013698f, -0.000571f, -0.003664f, 0.004381f, 0.002083f, -0.011574f, -0.001538f, 0.016009f, 0.003516f, -0.000971f, -0.002007f, -0.007148f, 0.005137f, -0.002586f, -0.003280f, 0.000606f, -0.000478f, 0.003760f, -0.000247f, -0.004883f, -0.003557f, 0.006723f, -0.000829f, 0.002702f, -0.003004f, 0.003298f, -0.002481f, -0.001766f, -0.002454f, 0.001764f, 0.003544f, 0.011660f, -0.029881f, 0.012434f, -0.003256f, -0.006816f, -0.006133f, 0.005128f, -0.002831f, -0.017719f, -0.018868f, 0.002308f, 0.029450f, 0.008118f, -0.021411f, 0.004838f, 0.017479f, -0.012563f, 0.002277f, -0.003169f, 0.010427f, -0.000062f, 0.009623f, 0.025761f, 0.018766f, 0.011716f, -0.000427f, -0.002122f, -0.011894f, -0.012747f, 0.005088f, -0.033359f, -0.005265f, 0.015826f, 0.001782f, + -0.001678f, -0.015969f, -0.005689f, -0.000669f, -0.000715f, -0.007754f, -0.016514f, 0.018528f, -0.006390f, -0.004048f, -0.002976f, -0.015297f, -0.017208f, -0.000529f, -0.008393f, 0.001207f, 0.008206f, 0.006287f, 0.006946f, -0.013654f, -0.003541f, -0.006703f, -0.004263f, 0.021991f, -0.002311f, -0.010025f, 0.000714f, 0.028198f, -0.015031f, 0.004748f, 0.020756f, 0.000657f, -0.004758f, -0.010449f, 0.006321f, 0.001208f, 0.014950f, -0.008028f, 0.012651f, 0.010273f, 0.019581f, 0.009484f, 0.014667f, 0.001564f, -0.009594f, 0.002074f, -0.000390f, -0.005528f, 0.008865f, 0.012626f, -0.010460f, 0.006896f, 0.003780f, -0.009399f, 0.001240f, 0.003353f, 0.002643f, 0.003431f, -0.005372f, 0.003063f, -0.005889f, -0.001767f, -0.001627f, 0.000424f, 0.001106f, 0.002546f, 0.003227f, -0.000656f, 0.004833f, -0.000349f, -0.002153f, 0.001684f, 0.003217f, -0.001080f, 0.001953f, -0.005025f, 0.002002f, 0.017178f, 0.024659f, 0.015060f, 0.002516f, -0.005296f, -0.009227f, -0.020487f, -0.005927f, 0.013503f, -0.027857f, -0.011441f, 0.025381f, -0.035178f, -0.006362f, 0.019645f, 0.024690f, -0.002554f, -0.024793f, 0.003416f, + -0.009487f, 0.033141f, 0.014702f, -0.022801f, -0.014666f, -0.003527f, -0.014060f, -0.028690f, -0.014349f, -0.012744f, -0.010383f, -0.023239f, 0.011672f, 0.004097f, 0.014330f, -0.008863f, -0.004295f, -0.020446f, -0.002102f, -0.017744f, 0.001836f, -0.011804f, 0.002598f, 0.006172f, -0.027371f, -0.009009f, -0.010428f, -0.007286f, 0.005884f, 0.005818f, -0.008748f, 0.026948f, -0.001762f, -0.007076f, -0.005074f, 0.002582f, -0.006346f, -0.002250f, 0.010021f, 0.008528f, 0.011220f, 0.014779f, 0.014030f, 0.001091f, 0.009196f, -0.004514f, 0.021026f, 0.022488f, -0.011336f, -0.005908f, 0.013798f, -0.000416f, -0.034154f, 0.001551f, -0.017353f, 0.010565f, 0.010781f, 0.019287f, -0.014663f, 0.008200f, -0.020569f, -0.002016f, 0.011730f, -0.005036f, 0.018331f, -0.004797f, -0.002250f, 0.003668f, 0.001189f, 0.002559f, -0.001229f, 0.001065f, 0.007788f, -0.005797f, -0.001491f, 0.007487f, -0.001167f, 0.005877f, -0.008790f, -0.007642f, 0.005154f, -0.001238f, 0.001609f, 0.000807f, -0.001057f, 0.001343f, -0.005261f, -0.001381f, -0.000921f, -0.002292f, -0.003558f, -0.001241f, 0.002781f, 0.003343f, -0.000172f, -0.018926f, + -0.022901f, -0.011217f, -0.022125f, -0.031572f, 0.022337f, 0.002209f, 0.012499f, -0.017449f, -0.018156f, -0.025039f, -0.016939f, 0.007729f, -0.018571f, -0.016676f, 0.022713f, -0.005688f, 0.001068f, 0.005492f, 0.012975f, -0.010090f, -0.007654f, 0.003746f, -0.006130f, 0.003549f, -0.001157f, -0.011214f, -0.021465f, -0.033598f, 0.011097f, -0.024133f, -0.022134f, 0.001163f, -0.005839f, -0.001552f, -0.012463f, 0.005631f, 0.006395f, -0.027388f, -0.000608f, -0.006015f, -0.010731f, -0.015228f, 0.008647f, 0.001851f, 0.027359f, 0.003264f, -0.015372f, -0.000956f, 0.002529f, 0.011289f, 0.004712f, 0.024271f, -0.002100f, -0.026412f, 0.011289f, -0.005605f, 0.011914f, -0.015793f, 0.003428f, 0.008962f, -0.046717f, -0.022183f, 0.016493f, -0.001435f, -0.005030f, 0.007173f, -0.002394f, 0.029492f, -0.001056f, 0.018678f, 0.016213f, -0.023906f, -0.027762f, 0.001615f, -0.030754f, -0.000707f, -0.001536f, 0.000622f, 0.004450f, 0.019264f, -0.000693f, -0.012098f, 0.011026f, 0.014496f, -0.013549f, 0.002375f, 0.004340f, 0.014582f, -0.007146f, 0.000512f, -0.007246f, 0.004932f, -0.000419f, 0.003088f, 0.004830f, 0.007857f, + 0.007933f, -0.000241f, -0.007660f, 0.000342f, 0.005635f, 0.001775f, 0.001167f, -0.006981f, 0.000741f, -0.006992f, -0.001044f, 0.003785f, -0.001142f, 0.006870f, 0.005083f, -0.000294f, 0.001435f, 0.005563f, -0.005182f, 0.009811f, -0.000221f, -0.004301f, 0.004388f, 0.015944f, 0.065488f, -0.016197f, -0.043927f, -0.004010f, -0.019193f, 0.047496f, 0.003712f, 0.026566f, 0.014436f, -0.008379f, -0.021015f, -0.009527f, -0.022900f, -0.005986f, 0.032065f, -0.035773f, 0.001548f, -0.029200f, 0.007939f, 0.002338f, 0.014256f, 0.003207f, -0.013930f, -0.023679f, -0.027469f, -0.005185f, -0.026947f, -0.021206f, 0.003492f, 0.006207f, 0.020099f, -0.018841f, -0.039089f, -0.008271f, -0.013551f, 0.004623f, -0.018360f, -0.012497f, 0.005675f, -0.009861f, -0.015531f, -0.001129f, 0.001734f, -0.008026f, 0.038161f, -0.007882f, -0.006223f, 0.009568f, 0.009996f, -0.011374f, -0.004773f, 0.028152f, 0.023696f, 0.015476f, 0.029789f, 0.023250f, 0.000083f, 0.009712f, 0.016939f, -0.012613f, -0.011780f, 0.003434f, 0.012217f, 0.019756f, 0.008152f, 0.040129f, 0.004442f, 0.026903f, -0.007596f, -0.015571f, -0.009983f, 0.056971f, + 0.010164f, -0.007410f, -0.006836f, -0.020474f, -0.019546f, -0.014114f, -0.013695f, -0.016389f, 0.006582f, 0.013131f, -0.013920f, 0.004487f, 0.014204f, 0.007040f, -0.012850f, 0.002615f, 0.014488f, -0.003616f, 0.008034f, -0.007214f, -0.001992f, 0.003237f, -0.002416f, -0.001619f, -0.004303f, -0.009214f, -0.001407f, -0.008345f, 0.004454f, 0.006991f, 0.003595f, -0.006957f, 0.009276f, 0.006008f, -0.005089f, -0.006078f, -0.009409f, -0.002804f, -0.002578f, 0.002490f, -0.002033f, 0.004403f, 0.003302f, 0.000827f, -0.000891f, 0.000166f, -0.007500f, 0.003149f, 0.012689f, -0.057639f, -0.020990f, 0.028460f, -0.006554f, -0.029576f, -0.027181f, -0.009537f, 0.031436f, 0.016322f, -0.024748f, 0.013610f, -0.033033f, -0.013934f, -0.003733f, -0.022142f, -0.029648f, 0.024905f, 0.014089f, -0.026901f, -0.009135f, 0.057232f, 0.013602f, -0.025629f, -0.034736f, 0.000492f, 0.019082f, 0.003104f, 0.003470f, -0.040163f, -0.000952f, -0.004603f, -0.028566f, -0.016845f, -0.011398f, -0.023103f, -0.010710f, 0.006651f, 0.001100f, -0.024376f, -0.024141f, 0.003087f, 0.015488f, -0.000418f, 0.020688f, 0.034315f, -0.023953f, 0.021264f, + 0.016225f, 0.006760f, 0.004806f, 0.025872f, 0.008237f, 0.015954f, 0.010836f, 0.014380f, -0.004684f, -0.003113f, 0.029689f, 0.046186f, 0.007798f, -0.010741f, 0.005809f, -0.006639f, -0.017351f, 0.029397f, -0.014226f, -0.024770f, -0.039035f, -0.013459f, -0.045510f, 0.022831f, -0.018484f, -0.007871f, -0.002532f, -0.006558f, -0.016282f, -0.002724f, 0.018299f, -0.020770f, -0.001712f, 0.009607f, -0.005851f, -0.020251f, 0.010296f, 0.001679f, 0.005780f, -0.001326f, -0.002287f, -0.007227f, -0.000678f, -0.003734f, 0.010981f, 0.002886f, 0.003123f, 0.001794f, 0.003670f, 0.000178f, 0.005653f, 0.003782f, 0.009750f, -0.013447f, -0.001462f, 0.001149f, 0.009058f, -0.003655f, 0.007570f, -0.008089f, 0.002933f, 0.002025f, -0.001635f, -0.004457f, 0.007940f, -0.003513f, -0.000490f, 0.004548f, 0.001522f, 0.000487f, -0.010813f, -0.025267f, 0.021472f, 0.012905f, -0.003829f, 0.014379f, 0.010644f, 0.030590f, 0.023541f, -0.049652f, -0.016507f, 0.055269f, -0.043549f, -0.012828f, -0.026390f, 0.039396f, 0.017510f, 0.018176f, 0.007624f, 0.005809f, 0.015741f, 0.041793f, 0.019858f, -0.018345f, -0.000377f, 0.001426f, + -0.001182f, 0.016572f, 0.018568f, 0.002304f, 0.010984f, 0.010556f, -0.009591f, 0.012981f, 0.007762f, 0.025844f, -0.012396f, -0.024765f, -0.021316f, -0.016556f, 0.004909f, -0.002115f, 0.009846f, 0.011233f, 0.011243f, 0.022766f, -0.009966f, 0.004841f, -0.010045f, -0.017670f, -0.007178f, 0.001929f, -0.020423f, 0.026136f, 0.031571f, -0.034266f, 0.011692f, -0.023724f, 0.019410f, -0.003841f, 0.007544f, -0.002563f, -0.018997f, -0.004586f, 0.021845f, -0.017051f, -0.005262f, 0.003906f, -0.035034f, -0.013354f, 0.007337f, -0.027064f, -0.001885f, 0.043387f, 0.021558f, -0.002893f, -0.009927f, 0.034624f, 0.009083f, 0.024941f, -0.007839f, -0.011156f, 0.036118f, -0.012240f, 0.011272f, 0.004828f, 0.005128f, -0.007423f, -0.005452f, -0.006635f, -0.004605f, -0.012144f, -0.007512f, -0.008460f, 0.001212f, 0.007828f, -0.002883f, -0.017063f, -0.005491f, -0.002347f, 0.001924f, -0.000516f, -0.004257f, 0.000080f, 0.004812f, 0.008342f, -0.006661f, -0.000199f, -0.018418f, 0.003120f, -0.002302f, -0.003477f, 0.012416f, -0.000218f, -0.001204f, -0.007330f, 0.007592f, 0.002087f, 0.011245f, -0.003844f, -0.000665f, -0.007546f, + -0.000833f, 0.034499f, -0.002807f, -0.008057f, -0.028675f, 0.001216f, 0.002734f, -0.007737f, -0.000607f, -0.013339f, 0.005045f, -0.041238f, 0.037617f, -0.007638f, -0.013303f, -0.026117f, -0.029439f, -0.003083f, 0.035887f, -0.006548f, 0.009952f, -0.022215f, -0.012800f, -0.006232f, -0.021576f, -0.026096f, 0.023825f, -0.014762f, -0.011982f, 0.021068f, 0.020539f, -0.029078f, 0.010126f, 0.010935f, 0.025151f, 0.020722f, -0.007578f, -0.018421f, -0.011585f, -0.028277f, 0.031070f, 0.020387f, 0.010319f, 0.022111f, -0.022938f, 0.015665f, -0.003325f, 0.014356f, 0.015965f, -0.015072f, -0.001182f, 0.050512f, 0.042383f, -0.032086f, 0.012835f, 0.026202f, -0.020169f, 0.006203f, -0.047247f, 0.014110f, -0.025563f, 0.021087f, -0.014830f, -0.016382f, -0.011548f, 0.056360f, 0.003226f, -0.016478f, 0.005004f, 0.018926f, 0.002495f, 0.011241f, -0.030394f, -0.003503f, 0.050659f, -0.001706f, -0.019895f, -0.031024f, 0.000958f, -0.022975f, 0.014318f, 0.014571f, 0.017707f, -0.031686f, -0.033050f, -0.008863f, 0.005564f, 0.010830f, 0.003451f, 0.000132f, 0.000811f, 0.012008f, -0.008109f, -0.003292f, -0.002511f, -0.005367f, + 0.005937f, 0.004992f, -0.010109f, -0.007002f, -0.015529f, 0.009457f, -0.005696f, 0.004110f, 0.006801f, 0.009957f, 0.007949f, 0.003392f, 0.015601f, 0.000951f, -0.003636f, 0.007431f, -0.011593f, 0.006435f, 0.004490f, 0.003133f, 0.010326f, 0.011024f, 0.002049f, -0.001575f, 0.006525f, 0.000703f, -0.001002f, -0.012247f, -0.015998f, -0.003070f, -0.001235f, -0.002026f, -0.031186f, -0.001618f, -0.003710f, 0.009090f, -0.045282f, -0.020974f, -0.025369f, 0.021396f, -0.010744f, 0.031838f, 0.019418f, 0.040537f, -0.020073f, -0.001702f, -0.031770f, 0.027017f, 0.049297f, -0.015361f, -0.039015f, 0.003807f, -0.007903f, 0.060380f, -0.014788f, -0.023720f, 0.023120f, 0.012670f, 0.009738f, 0.022729f, 0.007846f, -0.075941f, 0.000383f, -0.005117f, 0.029758f, 0.053308f, -0.050265f, 0.001975f, 0.015226f, -0.024184f, -0.004781f, -0.068860f, -0.015467f, 0.035089f, -0.056535f, -0.033922f, -0.017269f, -0.022186f, 0.022709f, -0.013742f, -0.020065f, 0.030323f, 0.009347f, 0.011048f, 0.031401f, 0.003428f, -0.010642f, 0.022239f, 0.032944f, -0.031943f, -0.023668f, 0.048819f, 0.033706f, 0.011320f, 0.015640f, 0.011527f, + -0.021855f, -0.031748f, 0.000087f, 0.000409f, -0.006400f, 0.009987f, -0.019084f, 0.013627f, -0.026479f, 0.010783f, 0.062231f, -0.028917f, -0.023755f, 0.034147f, 0.009973f, -0.011640f, 0.021741f, 0.030012f, 0.022445f, 0.026522f, 0.013277f, -0.013492f, 0.011077f, -0.032748f, 0.017637f, 0.007414f, 0.009387f, -0.016619f, -0.004827f, 0.003473f, -0.001411f, -0.003322f, -0.004850f, 0.010746f, 0.021173f, -0.008222f, -0.020182f, 0.012888f, 0.024467f, 0.012704f, 0.009708f, -0.028807f, 0.017586f, 0.001872f, 0.009580f, -0.004620f, -0.009721f, -0.002302f, 0.014849f, 0.001340f, -0.002575f, -0.012430f, -0.000879f, -0.007248f, -0.003437f, -0.005745f, 0.006688f, 0.013897f, -0.008217f, 0.000550f, 0.008916f, -0.003435f, -0.001383f, -0.007593f, 0.001530f, -0.005088f, -0.005524f, 0.018013f, 0.016267f, 0.026528f, -0.061446f, -0.113488f, -0.052308f, -0.007956f, 0.038627f, 0.002735f, 0.042596f, 0.039349f, -0.011902f, 0.006378f, -0.009640f, -0.021584f, -0.035486f, -0.020652f, -0.025616f, -0.014899f, 0.040466f, -0.052598f, -0.009145f, -0.043838f, -0.054372f, -0.009522f, -0.054874f, -0.044151f, 0.005406f, -0.011551f, + -0.006333f, 0.009985f, 0.048156f, 0.003362f, -0.034947f, 0.001992f, -0.004192f, -0.010515f, -0.045381f, -0.002975f, 0.054094f, 0.005004f, -0.000923f, 0.021917f, 0.042024f, 0.028289f, 0.007350f, -0.017114f, 0.014653f, -0.014376f, -0.038519f, -0.070637f, 0.067194f, -0.008506f, 0.055975f, -0.004713f, 0.000745f, -0.020115f, -0.032344f, 0.059007f, -0.033529f, -0.027244f, -0.002833f, -0.042994f, -0.040394f, 0.033586f, 0.024632f, 0.012928f, -0.004287f, 0.017110f, -0.029828f, 0.011607f, -0.024206f, -0.034170f, -0.037295f, -0.029085f, -0.011992f, 0.028899f, 0.001840f, 0.010387f, -0.017253f, 0.010234f, -0.022574f, 0.016453f, 0.012779f, 0.011723f, -0.007351f, -0.000927f, 0.014561f, -0.003946f, -0.017608f, -0.013270f, -0.017429f, -0.001489f, -0.012862f, -0.002959f, -0.004514f, -0.004666f, 0.005155f, 0.002137f, -0.006912f, 0.003016f, 0.009170f, -0.002380f, -0.005808f, -0.013625f, -0.000089f, -0.009348f, -0.001267f, -0.001481f, -0.006467f, 0.015996f, -0.014953f, -0.013984f, -0.006600f, 0.008523f, -0.013233f, -0.013295f, 0.001939f, -0.011101f, -0.000051f, -0.001922f, 0.006278f, -0.001384f, 0.002133f, -0.008934f, + 0.003674f, -0.018594f, -0.009381f, -0.002734f, -0.039422f, -0.028863f, -0.043747f, -0.000451f, -0.041845f, -0.048590f, -0.008221f, -0.022198f, -0.053369f, -0.073892f, 0.008372f, -0.027959f, 0.013627f, -0.005324f, 0.027708f, 0.062257f, 0.003145f, 0.006452f, -0.031589f, -0.033793f, 0.028141f, 0.015738f, -0.022879f, 0.000138f, 0.018353f, -0.042091f, -0.032398f, -0.002249f, 0.053422f, -0.045910f, 0.000597f, 0.001136f, 0.024585f, -0.039203f, 0.040884f, 0.021519f, 0.011574f, -0.001022f, -0.017053f, -0.045495f, -0.000481f, -0.010846f, 0.016453f, -0.024661f, -0.060453f, 0.049859f, -0.036432f, -0.016173f, -0.002557f, 0.048797f, -0.037082f, 0.017164f, -0.030462f, 0.018938f, -0.011045f, -0.044744f, 0.021425f, -0.057028f, -0.012618f, -0.016310f, 0.019937f, 0.046892f, -0.027095f, 0.017418f, 0.047421f, -0.037889f, 0.006260f, 0.011552f, 0.011137f, 0.014114f, -0.069203f, -0.020618f, -0.011720f, 0.025015f, 0.005231f, -0.000002f, 0.012637f, -0.012053f, 0.027616f, -0.004920f, 0.006288f, -0.026489f, 0.023049f, 0.006045f, -0.042655f, -0.019331f, 0.020088f, 0.025276f, -0.003559f, -0.006252f, -0.016684f, 0.023702f, + 0.002974f, 0.000544f, -0.044365f, 0.007404f, -0.021341f, -0.033421f, -0.010158f, -0.006592f, -0.004322f, -0.019582f, -0.025448f, 0.009337f, -0.005854f, -0.012331f, 0.007333f, -0.002361f, -0.003637f, 0.001692f, -0.006804f, 0.002636f, 0.013746f, -0.025657f, 0.002627f, 0.005094f, -0.008507f, 0.018880f, 0.017390f, 0.019998f, 0.007963f, 0.012167f, -0.012432f, 0.005423f, 0.000673f, 0.005918f, -0.005634f, 0.000507f, -0.000347f, 0.008524f, -0.004997f, -0.011309f, 0.081530f, 0.007891f, 0.034660f, 0.092682f, -0.043137f, -0.024820f, -0.036090f, -0.013971f, 0.043237f, 0.002440f, 0.053167f, 0.013821f, -0.001578f, -0.020096f, 0.040249f, -0.025260f, 0.009400f, -0.017006f, 0.016796f, -0.026738f, 0.030734f, -0.015193f, -0.006803f, -0.017765f, 0.023693f, 0.015655f, -0.025475f, -0.006510f, 0.024925f, 0.007066f, -0.016258f, 0.001272f, -0.020994f, -0.070286f, 0.030589f, -0.037108f, -0.053500f, 0.032855f, 0.014982f, 0.035564f, -0.003130f, -0.035382f, -0.012855f, -0.009749f, 0.021105f, 0.027519f, 0.031239f, 0.051369f, 0.051266f, -0.023022f, 0.007257f, -0.054404f, 0.000760f, -0.039714f, -0.070091f, -0.007288f, + -0.057111f, 0.018224f, -0.045574f, -0.030502f, -0.030122f, -0.043295f, 0.004438f, -0.010542f, 0.003796f, -0.013140f, -0.005246f, -0.004106f, -0.074167f, 0.011520f, 0.011464f, 0.016610f, 0.035847f, -0.007088f, -0.058947f, 0.033889f, -0.038127f, 0.021788f, 0.021964f, 0.047946f, -0.026063f, -0.024326f, -0.015739f, -0.009684f, -0.034182f, 0.013469f, 0.008059f, 0.004068f, -0.008088f, 0.011886f, -0.017005f, 0.017149f, -0.002731f, 0.003377f, 0.005284f, -0.021421f, 0.000016f, 0.008094f, 0.021114f, -0.005713f, -0.012512f, 0.009027f, 0.014661f, 0.017818f, -0.011123f, -0.000030f, 0.010191f, -0.001368f, -0.001822f, -0.006817f, -0.013234f, 0.009300f, -0.000138f, 0.005904f, -0.007344f, -0.001147f, 0.012380f, -0.008233f, -0.012445f, -0.007305f, 0.002088f, -0.005440f, -0.021955f, 0.035418f, -0.008912f, -0.007388f, 0.003184f, 0.006728f, -0.005834f, 0.006465f, 0.008616f, -0.003542f, -0.000877f, -0.004875f, -0.007134f, 0.058026f, 0.108572f, -0.059602f, -0.048141f, -0.084143f, -0.171045f, -0.042360f, -0.017922f, 0.038180f, 0.023105f, -0.014853f, -0.033012f, 0.046679f, 0.057113f, 0.004889f, -0.002765f, 0.000264f, + -0.045129f, -0.026671f, -0.032008f, -0.024640f, -0.047736f, -0.000711f, -0.012062f, -0.005829f, 0.032745f, -0.044892f, 0.035923f, 0.033640f, -0.010521f, 0.017289f, -0.001973f, -0.079832f, -0.056837f, -0.031782f, -0.029056f, -0.013446f, 0.006298f, 0.030683f, 0.009965f, 0.016464f, 0.077025f, 0.069976f, 0.015861f, -0.052108f, -0.027074f, -0.002335f, -0.026757f, -0.049416f, -0.123169f, -0.103574f, -0.046560f, -0.011165f, 0.005084f, 0.026896f, -0.085441f, -0.049301f, 0.044313f, 0.051349f, 0.061734f, -0.056324f, -0.068296f, 0.022195f, -0.041659f, 0.101300f, -0.051095f, -0.005881f, -0.030062f, -0.016319f, 0.014016f, 0.029939f, -0.014938f, -0.040104f, 0.037230f, 0.036054f, -0.008156f, 0.041308f, 0.036767f, -0.080324f, 0.071871f, -0.046585f, 0.000250f, -0.013727f, -0.047970f, -0.013495f, 0.024337f, 0.018097f, -0.003870f, 0.009369f, -0.029239f, 0.000659f, 0.014752f, 0.019844f, 0.031366f, -0.023540f, 0.004798f, -0.006737f, -0.012738f, -0.033324f, -0.004050f, -0.032103f, 0.028351f, -0.005233f, -0.034067f, 0.005425f, -0.039028f, -0.002626f, 0.004757f, -0.009082f, -0.016857f, 0.001144f, 0.003175f, 0.004085f, + 0.012794f, -0.002424f, -0.000556f, 0.022786f, 0.007478f, -0.023000f, -0.026314f, 0.007182f, -0.017440f, -0.037193f, -0.012722f, -0.034988f, 0.011548f, 0.011055f, 0.027529f, 0.003734f, -0.028314f, -0.020319f, 0.020098f, 0.102047f, -0.034013f, 0.032900f, -0.001436f, -0.045417f, 0.007011f, -0.091697f, -0.020657f, 0.019715f, 0.001801f, -0.053375f, 0.031593f, 0.093487f, 0.065576f, -0.028926f, -0.058540f, -0.024925f, 0.006576f, 0.098238f, 0.013213f, 0.002479f, 0.000372f, 0.045425f, 0.046699f, 0.012213f, 0.035702f, 0.028960f, 0.054899f, -0.015643f, 0.006265f, 0.035080f, -0.032017f, -0.048729f, 0.027370f, 0.080605f, 0.017463f, 0.039064f, 0.003739f, 0.023983f, -0.107904f, 0.019970f, -0.004226f, 0.024371f, 0.105771f, 0.042684f, 0.014294f, -0.010506f, 0.047396f, -0.010831f, -0.022240f, 0.016749f, 0.029449f, 0.062252f, -0.020080f, 0.038689f, 0.007036f, 0.010728f, 0.024485f, 0.031495f, -0.000996f, -0.041241f, -0.025603f, 0.009630f, 0.079774f, 0.054642f, 0.042442f, 0.045960f, 0.038475f, -0.011048f, -0.098811f, -0.070991f, -0.135542f, -0.001919f, 0.041310f, 0.077993f, 0.012133f, -0.056941f, + 0.018786f, -0.035256f, 0.011293f, 0.026910f, 0.008135f, -0.016541f, -0.009168f, 0.000240f, -0.007658f, 0.021806f, -0.015001f, -0.039468f, 0.000739f, 0.013061f, 0.017517f, -0.025558f, -0.011584f, -0.047481f, 0.011739f, 0.020552f, -0.018227f, -0.016439f, 0.011843f, -0.009383f, -0.011730f, -0.010356f, -0.036865f, -0.008021f, 0.038003f, 0.023693f, 0.034408f, -0.018678f, -0.038965f, -0.029012f, 0.025274f, 0.019808f, -0.009184f, -0.001874f, -0.002381f, 0.006925f, -0.010969f, 0.022666f, -0.026000f, -0.014862f, 0.001805f, 0.004133f, 0.014967f, -0.032317f, 0.006633f, -0.023802f, 0.062660f, -0.018609f, 0.013663f, -0.020688f, 0.007225f, -0.038852f, -0.016265f, 0.083389f, -0.003397f, -0.039016f, 0.009535f, -0.007578f, -0.031703f, -0.025784f, 0.004644f, 0.043871f, 0.119685f, 0.053466f, 0.106082f, 0.055200f, 0.047112f, 0.044588f, -0.031581f, -0.026722f, -0.030220f, 0.012944f, 0.086920f, 0.027644f, -0.072721f, 0.030995f, -0.078185f, 0.038748f, -0.049611f, -0.010891f, -0.043563f, -0.047126f, -0.002317f, 0.005645f, -0.000767f, -0.058873f, 0.076113f, -0.015860f, 0.028546f, -0.074361f, 0.019716f, -0.017590f, + -0.022879f, 0.037959f, -0.031510f, 0.076310f, 0.008939f, -0.030648f, 0.003843f, -0.023191f, -0.031532f, 0.021179f, -0.052089f, -0.011571f, 0.065219f, -0.014681f, 0.026632f, -0.003951f, -0.047446f, 0.051469f, -0.028066f, -0.108216f, 0.013326f, 0.007657f, -0.000528f, 0.011439f, -0.014957f, -0.021446f, -0.006126f, 0.048347f, -0.092731f, 0.054294f, -0.021939f, -0.013348f, 0.060853f, -0.037966f, 0.017820f, 0.022028f, 0.088388f, 0.030346f, 0.039013f, -0.006743f, 0.052776f, -0.042716f, 0.041839f, 0.006418f, -0.016316f, 0.010764f, 0.002414f, 0.001269f, -0.022960f, -0.006402f, 0.003965f, -0.010203f, -0.017220f, 0.035492f, 0.000484f, -0.003048f, -0.010729f, 0.011521f, -0.014237f, 0.031588f, 0.018506f, 0.016768f, 0.003831f, -0.000623f, -0.003195f, 0.026363f, -0.021650f, -0.028012f, 0.010438f, 0.013601f, -0.001481f, 0.023622f, -0.010510f, -0.005298f, 0.001040f, -0.008668f, -0.026984f, -0.027274f, -0.002721f, 0.008525f, -0.013521f, 0.004193f, 0.008368f, 0.009124f, -0.007446f, -0.001091f, 0.017359f, -0.025375f, -0.045034f, 0.073925f, 0.068874f, 0.239792f, 0.096949f, -0.130644f, -0.061262f, -0.063996f, + -0.100267f, 0.069975f, 0.215709f, 0.086319f, 0.041036f, -0.054041f, -0.014743f, -0.003617f, -0.002407f, 0.103519f, 0.071047f, 0.045175f, 0.155903f, -0.186526f, 0.012289f, 0.097540f, -0.023485f, 0.020075f, 0.102340f, 0.017941f, -0.029023f, 0.055141f, -0.102718f, -0.206358f, -0.019531f, 0.020307f, -0.079873f, -0.009050f, 0.110765f, 0.018679f, 0.006685f, 0.042066f, -0.087141f, -0.177797f, -0.162285f, -0.073896f, 0.053924f, 0.105727f, 0.234323f, 0.058849f, -0.029746f, -0.029415f, -0.063264f, -0.140002f, -0.042362f, 0.102484f, 0.103300f, 0.108189f, 0.105662f, 0.066240f, 0.055119f, 0.015934f, 0.024204f, -0.089962f, -0.055101f, 0.013401f, 0.025355f, 0.046149f, 0.056713f, 0.139161f, 0.036607f, 0.081000f, -0.053137f, -0.052582f, -0.094266f, -0.020527f, -0.072061f, -0.017231f, 0.145237f, 0.186310f, 0.004173f, -0.007552f, -0.115909f, -0.133798f, -0.075234f, -0.031815f, 0.074434f, 0.039567f, -0.008043f, 0.027598f, -0.010207f, -0.019156f, -0.034931f, -0.033161f, -0.004374f, 0.008392f, 0.006926f, 0.040913f, -0.002928f, -0.000925f, -0.020923f, 0.000664f, -0.026061f, -0.008811f, 0.000096f, -0.038503f, + -0.017312f, 0.000767f, -0.010500f, -0.002760f, 0.022500f, 0.019939f, 0.046982f, -0.020757f, -0.008537f, -0.047677f, -0.038569f, -0.029307f, 0.048663f, 0.030814f, 0.015253f, 0.016117f, -0.015115f, -0.042362f, -0.034143f, 0.001471f, -0.024078f, 0.041325f, 0.061379f, -0.015865f, -0.170373f, -0.106176f, 0.062160f, 0.160489f, 0.188230f, 0.389793f, 0.238771f, 0.160973f, 0.143432f, 0.110437f, -0.018659f, -0.169804f, -0.184502f, -0.359977f, -0.381421f, -0.362862f, -0.230865f, -0.081491f, 0.081156f, 0.138433f, 0.232371f, 0.227009f, 0.160437f, 0.157154f, 0.202376f, 0.192921f, 0.174328f, 0.109492f, 0.077224f, 0.066924f, -0.006281f, -0.012441f, -0.222845f, -0.159909f, -0.199335f, -0.242752f, -0.101214f, -0.237077f, -0.190262f, -0.348964f, -0.304217f, -0.216760f, -0.143798f, -0.022196f, 0.181687f, 0.218719f, 0.185442f, 0.196842f, 0.183444f, 0.338254f, 0.441852f, 0.393682f, 0.391710f, 0.344503f, 0.333812f, 0.247084f, 0.248225f, 0.052405f, -0.166680f, -0.348562f, -0.332252f, -0.498488f, -0.414828f, -0.605274f, -0.719689f, -0.640709f, -0.607377f, -0.366622f, -0.254375f, 0.045882f, 0.121140f, 0.283508f, + 0.423010f, 0.650766f, 0.564671f, 0.813885f, 0.704002f, 0.503313f, 0.496057f, 0.224887f, 0.016660f, -0.046063f, -0.176358f, -0.309124f, -0.368192f, -0.441077f, -0.381274f, -0.346505f, -0.333282f, -0.271834f, -0.278976f, -0.230234f, -0.201647f, -0.062353f, -0.042866f, 0.054645f, 0.130095f, 0.148426f, 0.194916f, 0.276120f, 0.335334f, 0.356427f, 0.374168f, 0.273765f, 0.227520f, 0.219479f, 0.081789f, 0.052935f, -0.124404f, -0.298864f, -0.396660f, -0.406972f, -0.454241f, -0.289686f, -0.329137f, -0.220696f, -0.158524f, -0.045087f, 0.078520f, 0.153784f, 0.235626f, 0.243387f, 0.368329f, 0.377122f, 0.363342f, 0.306781f, 0.276258f, 0.108457f, 0.027658f, -0.070726f, -0.157010f, -0.300183f, -0.352209f, -0.294060f, -0.198994f, -0.177297f, -0.123428f, -0.114161f, -0.059607f, -0.009612f, 0.013690f, 0.008045f, 0.052104f, 0.057900f, 0.094101f, 0.078453f, 0.073878f, 0.067391f, 0.078304f, 0.052772f, 0.050564f, 0.055861f, 0.056861f, 0.020775f, 0.006321f, -0.013502f, -0.002813f, -0.008730f, 0.004202f} + }, + { + {-0.009636f, -0.025798f, -0.002176f, -0.004122f, -0.003524f, 0.000383f, -0.004304f, 0.001608f, 0.002528f, 0.010573f, -0.003571f, -0.000425f, -0.009753f, 0.000719f, 0.009802f, 0.000683f, 0.007084f, -0.002091f, 0.002973f, -0.004095f, -0.006160f, 0.000208f, 0.006734f, -0.000864f, -0.008442f, -0.000347f, 0.008170f, 0.002666f, -0.003504f, -0.002915f, -0.000388f, -0.001121f, -0.001913f, 0.000102f, -0.001386f, -0.002807f, -0.000362f, 0.001684f, 0.001140f, -0.000366f, -0.006433f, 0.009567f, 0.013019f, 0.000429f, 0.001512f, -0.005252f, -0.002994f, 0.001046f, -0.006805f, -0.007532f, 0.004506f, -0.006115f, 0.004453f, 0.005794f, 0.005749f, 0.002177f, -0.000876f, 0.001579f, 0.001199f, 0.004367f, -0.009364f, 0.000833f, -0.001213f, -0.006786f, -0.009222f, 0.000299f, 0.004600f, -0.003480f, -0.000492f, -0.001038f, -0.000654f, 0.006532f, 0.003218f, 0.000907f, 0.002541f, -0.002082f, -0.007589f, 0.002989f, 0.001226f, 0.006539f, -0.007802f, -0.005866f, 0.004398f, -0.003444f, -0.001627f, -0.005762f, 0.001314f, -0.003365f, -0.003173f, 0.000130f, -0.002544f, -0.002715f, 0.000760f, -0.001443f, -0.000702f, -0.003096f, + 0.001945f, -0.000335f, 0.000183f, -0.000784f, 0.001589f, -0.000242f, 0.000515f, -0.000503f, -0.000497f, -0.023631f, -0.005584f, 0.009208f, -0.001422f, -0.007267f, 0.002972f, -0.017518f, -0.006888f, -0.002523f, -0.003299f, -0.009051f, -0.009713f, 0.005200f, 0.007823f, 0.006859f, -0.009093f, -0.013178f, 0.001362f, -0.007707f, -0.014226f, 0.003248f, -0.001029f, 0.004012f, 0.015707f, -0.005193f, -0.001806f, -0.009982f, 0.013554f, 0.001080f, 0.006697f, 0.004740f, 0.011105f, 0.005737f, 0.003343f, -0.011129f, -0.001396f, -0.010231f, -0.002959f, 0.000470f, -0.004436f, 0.003467f, 0.002780f, -0.004829f, -0.009646f, 0.006084f, 0.009794f, 0.002813f, -0.004852f, -0.007328f, -0.004684f, 0.002375f, -0.008395f, -0.010458f, -0.003102f, 0.005207f, -0.003012f, 0.002578f, 0.006473f, 0.004182f, -0.005007f, 0.009572f, 0.000746f, 0.008156f, -0.006922f, -0.005716f, -0.003428f, -0.003986f, 0.005578f, -0.003175f, 0.000239f, 0.009664f, 0.003335f, 0.000263f, -0.009220f, 0.002509f, -0.003732f, 0.006786f, 0.009737f, -0.001672f, 0.000727f, -0.004462f, 0.003641f, 0.008671f, -0.003148f, 0.005413f, 0.002370f, 0.001170f, + 0.004379f, 0.001799f, 0.000147f, 0.003579f, 0.001280f, -0.000258f, -0.000044f, 0.001599f, 0.001375f, -0.001573f, 0.001136f, 0.001227f, 0.001765f, -0.004828f, 0.006094f, 0.008424f, 0.003394f, -0.005245f, 0.003664f, -0.002453f, 0.002536f, 0.015828f, 0.009745f, -0.013336f, 0.009058f, -0.007331f, -0.003633f, -0.001915f, 0.000260f, 0.006739f, 0.000246f, 0.018508f, 0.005336f, -0.007081f, -0.004670f, -0.004590f, 0.013015f, 0.003079f, 0.012534f, 0.004129f, 0.008436f, 0.013098f, 0.014998f, 0.005722f, -0.001704f, -0.001488f, 0.002255f, -0.012016f, -0.011201f, 0.003587f, -0.008506f, 0.004839f, 0.002310f, -0.002870f, -0.001265f, 0.003537f, 0.012512f, -0.004095f, -0.004268f, -0.006431f, 0.015986f, -0.002156f, -0.019966f, -0.009946f, -0.007925f, -0.007250f, 0.008228f, 0.007930f, 0.006951f, 0.010436f, 0.004613f, 0.006544f, -0.000307f, -0.000619f, -0.000311f, 0.010495f, 0.003392f, 0.006161f, -0.013904f, 0.000917f, 0.000623f, 0.000760f, 0.000900f, 0.006050f, 0.004215f, 0.001759f, -0.006747f, -0.006694f, 0.003877f, 0.003251f, -0.002000f, -0.000411f, -0.005439f, -0.006882f, -0.005650f, 0.003841f, + 0.006651f, 0.000824f, 0.000367f, 0.002335f, -0.001951f, -0.000234f, -0.001547f, 0.001217f, 0.001160f, 0.000706f, -0.000941f, 0.002012f, 0.003183f, -0.000462f, 0.000299f, 0.000718f, -0.000530f, 0.000857f, -0.001341f, 0.002347f, -0.000002f, -0.000441f, -0.001528f, 0.002075f, -0.004046f, 0.002280f, 0.000644f, 0.001719f, -0.000316f, 0.035122f, 0.007783f, 0.005358f, -0.004197f, -0.002434f, 0.003493f, 0.002461f, 0.009456f, 0.012396f, -0.000481f, 0.018250f, 0.007368f, -0.006436f, -0.005936f, -0.000461f, 0.008822f, -0.001030f, -0.004673f, 0.009658f, 0.001450f, 0.026317f, 0.006986f, 0.005209f, 0.001180f, -0.002543f, 0.001338f, 0.003981f, 0.005202f, -0.001197f, 0.000153f, 0.014119f, 0.002076f, 0.015543f, -0.007717f, -0.007476f, 0.005232f, 0.023339f, 0.006867f, 0.005636f, -0.001918f, -0.010100f, -0.003861f, 0.003152f, 0.000802f, -0.000236f, 0.000965f, -0.014331f, 0.001125f, -0.006309f, 0.005849f, 0.004514f, -0.005543f, 0.003290f, 0.005140f, 0.003371f, -0.006615f, -0.006920f, 0.001765f, 0.002439f, 0.000141f, -0.008895f, 0.002446f, -0.003467f, 0.005826f, -0.000828f, 0.001235f, 0.003612f, + -0.001243f, 0.001993f, -0.003043f, 0.000969f, 0.020621f, 0.002314f, 0.007393f, 0.000238f, -0.005509f, 0.003360f, 0.001359f, 0.006341f, -0.011259f, -0.007949f, 0.004037f, -0.001678f, 0.002483f, -0.002974f, 0.004484f, 0.003635f, 0.000604f, -0.005053f, -0.001762f, -0.006873f, -0.001074f, -0.001585f, 0.004565f, -0.003173f, -0.000687f, 0.000743f, -0.000452f, -0.001657f, -0.001495f, 0.001279f, -0.001596f, -0.002312f, 0.000136f, 0.000081f, 0.001403f, -0.004655f, -0.001640f, 0.001170f, 0.000844f, -0.005067f, -0.001058f, -0.000345f, -0.006333f, -0.000740f, 0.005173f, -0.007745f, -0.001344f, 0.007878f, -0.003991f, -0.012215f, -0.000080f, 0.020156f, -0.001402f, 0.015825f, 0.008099f, 0.021891f, 0.002628f, 0.002049f, 0.007947f, -0.006147f, -0.013071f, -0.017156f, 0.004022f, -0.008730f, 0.020157f, 0.011557f, 0.014231f, -0.002661f, -0.005965f, 0.001808f, 0.003167f, 0.006697f, 0.018856f, 0.002292f, 0.007833f, -0.008604f, 0.005977f, -0.006097f, 0.002537f, -0.003274f, 0.006171f, 0.010847f, 0.001410f, 0.010365f, 0.003735f, 0.005203f, -0.003051f, -0.002468f, 0.013757f, -0.003199f, -0.003525f, 0.010440f, + -0.006300f, -0.000560f, 0.001414f, -0.004532f, -0.006120f, 0.004635f, -0.007010f, -0.001301f, -0.008930f, -0.018855f, -0.002204f, -0.002848f, -0.000585f, -0.019650f, -0.007607f, -0.005985f, -0.005195f, 0.007413f, 0.019278f, -0.004922f, 0.006122f, 0.010151f, -0.002939f, 0.001920f, 0.001600f, 0.001163f, -0.007179f, 0.007719f, -0.009078f, 0.002348f, 0.006311f, 0.018170f, 0.005548f, 0.005384f, 0.001519f, -0.000235f, 0.005343f, -0.006565f, -0.000196f, 0.003748f, 0.001632f, 0.000322f, -0.007502f, 0.004385f, 0.005208f, 0.005384f, -0.001176f, 0.004006f, 0.002025f, 0.001126f, 0.003491f, 0.002105f, 0.000270f, 0.002059f, -0.000679f, 0.001594f, 0.000860f, 0.001340f, 0.001934f, 0.002631f, 0.002944f, 0.002154f, 0.001911f, 0.002334f, -0.001584f, 0.002108f, -0.025561f, 0.002239f, 0.013688f, 0.007249f, -0.014357f, -0.001055f, 0.000634f, 0.003402f, 0.005207f, -0.000800f, -0.011191f, -0.010656f, 0.001611f, 0.018113f, 0.008551f, 0.010749f, 0.018152f, -0.012304f, 0.012933f, 0.024050f, -0.002277f, 0.005434f, -0.013704f, 0.004696f, 0.004840f, -0.011679f, -0.006382f, -0.002508f, 0.005443f, -0.011801f, + -0.015693f, 0.003004f, 0.001604f, -0.013357f, 0.000945f, 0.004244f, -0.002860f, 0.028508f, -0.001762f, -0.020161f, -0.001528f, 0.007000f, 0.015881f, 0.005943f, 0.007025f, -0.012917f, 0.003400f, 0.004115f, -0.011729f, -0.000730f, -0.002159f, 0.019807f, 0.011906f, -0.003257f, -0.007001f, -0.015295f, 0.006390f, 0.006170f, -0.009268f, -0.000284f, 0.003446f, 0.006022f, 0.005927f, -0.007778f, -0.000453f, -0.001678f, 0.018320f, -0.015574f, 0.001674f, -0.004041f, 0.016466f, -0.001179f, -0.004338f, -0.006989f, 0.001839f, -0.007234f, -0.017279f, 0.000491f, 0.012681f, 0.003892f, 0.007848f, 0.002040f, -0.006401f, -0.002421f, -0.003365f, 0.011037f, 0.004103f, -0.002981f, -0.000688f, 0.010023f, 0.007204f, -0.002813f, 0.000791f, 0.001588f, 0.001872f, -0.000183f, 0.003723f, 0.002788f, 0.002162f, 0.000263f, -0.001694f, -0.000634f, 0.000503f, -0.001431f, 0.000182f, -0.001998f, -0.000961f, 0.001641f, 0.009712f, 0.008842f, 0.003107f, -0.006489f, 0.001799f, 0.004232f, 0.029886f, 0.019852f, 0.014847f, 0.021054f, 0.008476f, -0.001828f, 0.002947f, 0.007782f, -0.021296f, 0.010880f, 0.000247f, 0.011697f, + -0.008636f, -0.004356f, -0.013768f, 0.003864f, 0.024031f, -0.023618f, -0.015066f, -0.025109f, 0.012613f, -0.005757f, 0.000698f, -0.011455f, 0.001368f, -0.004300f, -0.011531f, 0.004316f, 0.005487f, -0.017879f, -0.002548f, 0.003173f, -0.004045f, 0.009359f, -0.025970f, -0.012579f, 0.026338f, 0.002592f, -0.000576f, -0.002681f, 0.000824f, -0.013503f, -0.014378f, 0.000776f, -0.020868f, -0.004860f, 0.001984f, 0.005493f, -0.009033f, -0.002124f, 0.025665f, -0.001733f, 0.008942f, 0.019105f, -0.017965f, -0.006278f, 0.004095f, 0.004474f, 0.003340f, -0.005543f, -0.012865f, 0.014574f, -0.001713f, -0.013687f, 0.009917f, -0.002506f, 0.002255f, 0.003763f, -0.007444f, -0.004500f, -0.003204f, -0.005605f, -0.008058f, -0.009627f, -0.009298f, -0.011794f, -0.003644f, -0.005002f, -0.001248f, -0.001543f, -0.000228f, 0.001540f, -0.004917f, -0.003849f, 0.002701f, 0.003271f, 0.005309f, -0.000293f, -0.002258f, -0.006921f, -0.002032f, -0.007998f, -0.005183f, -0.001057f, 0.001510f, -0.000553f, 0.001030f, -0.001992f, -0.001241f, 0.006009f, 0.002260f, 0.004188f, -0.004064f, 0.001114f, 0.000941f, 0.001626f, -0.008183f, 0.000680f, + 0.002408f, 0.000092f, 0.004331f, -0.049578f, -0.027788f, 0.022573f, -0.008798f, -0.010441f, 0.013445f, 0.011964f, -0.021397f, -0.028557f, -0.009358f, -0.010113f, -0.010955f, -0.001795f, -0.019911f, -0.014080f, 0.007054f, 0.000933f, -0.026731f, -0.029116f, -0.016582f, -0.007862f, -0.001660f, 0.015161f, -0.001262f, -0.010769f, 0.008049f, -0.024205f, 0.000551f, -0.000970f, 0.000850f, 0.008686f, 0.004487f, -0.017585f, -0.013553f, 0.010834f, 0.003536f, 0.039804f, 0.009522f, -0.013014f, 0.001587f, 0.001474f, 0.000191f, 0.010650f, 0.001783f, 0.004561f, -0.004296f, -0.008515f, 0.002357f, -0.022589f, -0.004489f, -0.009733f, -0.012288f, 0.002834f, -0.018371f, 0.021337f, -0.002961f, 0.009043f, 0.014875f, 0.004699f, 0.007772f, -0.000769f, -0.010053f, -0.000194f, -0.001505f, -0.011972f, 0.015620f, -0.006342f, 0.027987f, -0.000693f, -0.000893f, 0.001556f, -0.007576f, -0.015043f, 0.004517f, -0.011748f, -0.005113f, 0.016794f, -0.021606f, -0.020736f, 0.013824f, 0.013654f, 0.011236f, -0.017524f, 0.012591f, 0.005629f, 0.007239f, -0.000258f, 0.003032f, 0.003782f, 0.009738f, 0.004556f, 0.002209f, 0.007708f, + -0.001229f, -0.000152f, -0.006315f, -0.004410f, -0.001215f, 0.005359f, -0.006762f, 0.001216f, -0.000988f, -0.003507f, -0.002600f, 0.002008f, -0.008632f, -0.004787f, -0.006498f, -0.000753f, 0.002475f, 0.000311f, 0.005992f, -0.001725f, 0.006280f, 0.000934f, 0.002190f, 0.001406f, 0.004813f, -0.003539f, -0.003402f, 0.010256f, 0.036718f, -0.020423f, 0.017418f, 0.007400f, 0.012949f, -0.005060f, -0.020189f, 0.003040f, -0.005378f, -0.018583f, 0.037886f, -0.002506f, -0.010675f, -0.037287f, 0.022912f, 0.006565f, -0.000530f, -0.013828f, -0.016315f, 0.000599f, 0.038472f, 0.014529f, -0.001616f, -0.003646f, -0.016673f, -0.013323f, 0.011023f, 0.005085f, -0.013069f, -0.008963f, 0.013346f, 0.003516f, -0.000678f, 0.011720f, 0.017692f, 0.002945f, 0.023393f, 0.026817f, 0.016065f, -0.006015f, 0.005751f, 0.002313f, 0.004273f, 0.014049f, -0.019903f, 0.020928f, -0.001570f, -0.010452f, -0.016167f, 0.000217f, 0.013516f, 0.009683f, -0.019060f, 0.004261f, 0.014801f, 0.002409f, -0.013850f, -0.029442f, -0.027033f, 0.007193f, 0.011731f, 0.002103f, -0.010583f, -0.001287f, 0.021308f, -0.009752f, -0.016368f, -0.031110f, + 0.003132f, 0.006154f, -0.023454f, 0.008840f, 0.023102f, -0.010499f, 0.017927f, 0.006382f, -0.021744f, -0.015896f, 0.001488f, 0.022232f, -0.002491f, 0.023348f, -0.004235f, -0.008073f, 0.004698f, 0.011941f, 0.002956f, -0.003896f, -0.006456f, 0.004062f, 0.010300f, 0.008606f, 0.001225f, 0.013887f, 0.002336f, 0.009979f, 0.002234f, 0.013620f, 0.001812f, 0.008431f, -0.000378f, 0.006746f, 0.003359f, -0.003293f, -0.010162f, 0.000902f, -0.011846f, -0.001575f, -0.005006f, 0.001859f, -0.001785f, -0.000407f, -0.010564f, -0.000930f, 0.004535f, -0.004999f, 0.000386f, -0.001192f, 0.000441f, -0.000659f, -0.007739f, 0.001157f, 0.044214f, 0.029519f, 0.006368f, -0.008645f, -0.005055f, -0.005961f, -0.030842f, -0.012091f, -0.000693f, 0.019763f, -0.014342f, -0.007601f, -0.006869f, 0.000587f, 0.031874f, -0.024766f, -0.007008f, -0.001140f, 0.014800f, -0.004988f, -0.018786f, -0.030697f, 0.010762f, -0.021140f, -0.010090f, -0.013103f, -0.014738f, 0.004761f, -0.024541f, -0.011549f, 0.021182f, 0.032409f, 0.001168f, -0.019936f, -0.018273f, 0.029899f, -0.003626f, -0.015879f, 0.030688f, 0.001164f, 0.001600f, 0.001506f, + -0.034109f, 0.013951f, -0.012830f, 0.012482f, 0.011058f, -0.022794f, -0.002810f, -0.023128f, 0.008755f, -0.022427f, -0.004155f, 0.009651f, 0.012550f, -0.007379f, 0.007507f, -0.027264f, 0.018580f, -0.001966f, 0.012578f, 0.010982f, 0.007516f, -0.005931f, -0.006053f, 0.027504f, -0.019223f, 0.013735f, -0.004952f, -0.023138f, -0.014358f, -0.001410f, 0.024273f, -0.013929f, 0.011212f, 0.003440f, -0.007879f, 0.000447f, -0.027689f, 0.034754f, 0.020986f, -0.003967f, -0.009720f, 0.017090f, 0.007061f, -0.004879f, -0.009181f, 0.002032f, -0.006219f, 0.008854f, -0.002116f, 0.004704f, 0.014078f, 0.005268f, 0.011085f, 0.000081f, 0.003748f, 0.001784f, -0.002407f, 0.000394f, -0.001346f, 0.009924f, 0.003592f, 0.013734f, 0.002006f, -0.007572f, 0.009672f, -0.003910f, -0.000569f, 0.007547f, -0.007476f, -0.002308f, -0.004080f, -0.003002f, 0.005884f, 0.003825f, 0.002921f, 0.012768f, -0.004090f, -0.004345f, 0.017400f, 0.003328f, -0.011518f, -0.026423f, -0.001444f, -0.034342f, 0.005912f, 0.003060f, 0.016799f, -0.013715f, -0.003276f, 0.008908f, 0.007415f, 0.009799f, -0.023238f, 0.032867f, 0.023315f, 0.004296f, + 0.017240f, -0.007769f, -0.033103f, 0.007818f, -0.013935f, -0.015506f, 0.015611f, 0.038093f, 0.006677f, -0.010505f, -0.013801f, -0.030553f, 0.000078f, 0.001424f, 0.046997f, -0.018490f, -0.000721f, 0.001410f, -0.001410f, -0.028301f, -0.031920f, 0.025286f, 0.001016f, 0.014372f, -0.004085f, -0.036173f, -0.020810f, 0.002892f, -0.006025f, -0.007649f, -0.010302f, 0.023679f, -0.004970f, 0.015383f, -0.016562f, 0.032982f, -0.038913f, 0.019283f, 0.020232f, 0.012052f, 0.010718f, 0.009766f, 0.030852f, 0.015836f, -0.002196f, 0.006578f, 0.000285f, 0.030448f, 0.045799f, -0.005275f, 0.003703f, -0.013445f, 0.019195f, 0.030724f, -0.020963f, 0.006457f, -0.052893f, 0.034606f, 0.035797f, 0.023850f, 0.033309f, -0.015157f, -0.026475f, -0.001906f, -0.003783f, -0.007844f, -0.005495f, -0.015921f, -0.010985f, -0.005887f, -0.001311f, -0.008905f, 0.005430f, 0.009728f, 0.003880f, -0.014961f, 0.003097f, -0.008312f, -0.008630f, -0.005526f, 0.006364f, 0.005760f, -0.002487f, -0.003726f, -0.001168f, -0.002597f, 0.001771f, -0.014477f, 0.004986f, 0.002095f, 0.009552f, 0.002095f, -0.000439f, -0.000423f, 0.002252f, 0.008202f, + 0.003039f, -0.007494f, 0.006192f, 0.000005f, 0.001089f, -0.038496f, -0.005730f, -0.049244f, -0.025313f, 0.019397f, -0.020204f, -0.043793f, 0.004034f, -0.023609f, 0.001052f, 0.000864f, -0.028134f, -0.026691f, 0.012039f, 0.025807f, 0.007745f, -0.029977f, 0.014309f, -0.033721f, -0.011868f, -0.012414f, 0.010520f, -0.013848f, -0.006360f, 0.016228f, 0.002730f, -0.011088f, -0.024058f, 0.025445f, 0.024615f, 0.032062f, 0.004142f, -0.003550f, 0.001091f, 0.010286f, -0.002467f, 0.013159f, -0.014504f, 0.017298f, -0.006849f, 0.019924f, 0.015919f, 0.012035f, -0.005832f, 0.000846f, -0.031019f, 0.010561f, -0.007847f, 0.023315f, 0.004187f, -0.054130f, 0.008267f, 0.026710f, 0.035850f, -0.020633f, -0.028267f, 0.033787f, 0.015275f, 0.023760f, -0.042350f, 0.020930f, 0.052890f, 0.055788f, 0.003492f, 0.001343f, 0.031676f, -0.021947f, -0.029329f, 0.018767f, -0.032467f, 0.012184f, -0.015156f, -0.012736f, -0.007223f, -0.069783f, -0.040373f, -0.033978f, 0.025009f, 0.009530f, 0.006981f, -0.024781f, -0.010158f, -0.018719f, -0.003620f, -0.010050f, 0.027333f, 0.006527f, -0.010979f, -0.024341f, -0.005503f, 0.015781f, + -0.002600f, -0.006724f, 0.004758f, 0.016518f, -0.005965f, -0.009744f, -0.004767f, -0.003609f, -0.001216f, 0.012847f, 0.012801f, 0.011215f, -0.011422f, 0.014696f, -0.000850f, 0.004205f, 0.016684f, -0.007539f, -0.007684f, 0.014645f, 0.026167f, -0.006142f, -0.008699f, -0.004182f, 0.003040f, -0.004736f, -0.018232f, 0.002924f, 0.013091f, 0.003566f, -0.018368f, -0.017463f, 0.008094f, 0.005918f, -0.001123f, -0.001122f, -0.003340f, -0.012990f, -0.008856f, -0.029033f, -0.055661f, 0.042555f, 0.004484f, 0.014280f, -0.007194f, 0.030135f, 0.000821f, -0.025724f, 0.019916f, 0.008087f, -0.009085f, -0.015529f, -0.012143f, 0.003825f, 0.007288f, 0.026695f, -0.015181f, 0.020949f, 0.006697f, 0.038069f, -0.054606f, -0.014665f, -0.008633f, 0.007033f, 0.022330f, 0.032361f, 0.007377f, -0.026282f, 0.017776f, 0.025462f, 0.021463f, -0.005992f, 0.007509f, 0.001546f, -0.008942f, -0.003670f, 0.001584f, 0.008244f, 0.002998f, 0.018830f, 0.003138f, -0.023741f, 0.022220f, -0.024615f, -0.031399f, 0.004893f, 0.022762f, -0.011046f, -0.008120f, 0.008269f, 0.011129f, 0.019600f, -0.011151f, 0.009299f, 0.044286f, -0.017647f, + -0.046980f, -0.060891f, -0.030739f, -0.041253f, 0.018784f, 0.035827f, 0.022947f, 0.008769f, 0.021588f, 0.012678f, 0.023856f, -0.020371f, 0.026961f, 0.014002f, 0.010965f, 0.028069f, 0.036497f, -0.011325f, -0.008095f, 0.009982f, -0.002350f, 0.032831f, 0.012753f, -0.004990f, 0.005579f, -0.040004f, -0.027950f, 0.005571f, -0.001535f, 0.007143f, 0.002744f, 0.008439f, -0.007439f, 0.021125f, -0.011103f, -0.012849f, -0.012396f, -0.021022f, -0.007594f, -0.004132f, 0.006961f, 0.005654f, -0.003106f, -0.018048f, -0.001007f, 0.006026f, 0.002063f, -0.007218f, 0.004331f, 0.000295f, 0.007039f, -0.007522f, 0.003161f, 0.001505f, 0.008482f, -0.003976f, 0.013027f, -0.007976f, -0.009194f, 0.002808f, -0.001517f, -0.006705f, 0.002207f, 0.009032f, 0.000827f, -0.001309f, 0.055798f, 0.005323f, 0.008814f, -0.011626f, 0.020313f, -0.063798f, -0.028066f, -0.043619f, -0.044889f, 0.017802f, -0.039162f, 0.038524f, 0.043981f, 0.001882f, 0.009597f, -0.006802f, 0.008112f, -0.041728f, 0.017212f, 0.046097f, -0.026205f, -0.053706f, 0.007178f, -0.020217f, -0.017041f, -0.052382f, 0.009144f, 0.019200f, -0.000129f, -0.007128f, + 0.016914f, -0.029880f, -0.004898f, 0.019405f, -0.010637f, -0.026481f, 0.003278f, -0.013225f, 0.027429f, -0.018136f, -0.009987f, 0.025607f, 0.022302f, 0.047295f, 0.006340f, 0.011414f, -0.004279f, 0.012697f, 0.016923f, 0.029221f, -0.008351f, -0.000960f, -0.018091f, 0.038555f, -0.048520f, 0.052208f, 0.001935f, -0.020808f, 0.024537f, -0.018971f, -0.013896f, 0.048023f, -0.069242f, 0.011316f, -0.014549f, 0.013572f, -0.026815f, 0.012962f, 0.027577f, -0.014230f, -0.002463f, -0.007305f, -0.011402f, -0.006145f, 0.051177f, -0.057946f, -0.019714f, 0.097453f, -0.036599f, -0.042991f, 0.042263f, 0.025253f, 0.028239f, -0.024520f, 0.002028f, -0.024371f, -0.013565f, -0.003810f, -0.027762f, 0.006119f, 0.003857f, -0.007240f, 0.010132f, 0.008993f, -0.012520f, -0.023676f, -0.005990f, -0.001972f, 0.009423f, -0.020891f, -0.014570f, 0.000578f, -0.001980f, 0.005305f, 0.013168f, 0.031056f, -0.013994f, -0.000674f, -0.003273f, -0.003211f, 0.009050f, 0.003539f, -0.018325f, -0.013889f, 0.014961f, -0.011979f, 0.005741f, 0.003870f, -0.011096f, 0.004326f, -0.002430f, -0.018826f, -0.015322f, 0.009309f, 0.006242f, -0.002804f, + -0.000183f, 0.011846f, -0.027691f, -0.042851f, 0.004192f, -0.016276f, -0.014468f, -0.024147f, -0.030158f, 0.038020f, 0.016415f, 0.002363f, 0.017903f, 0.045038f, 0.026685f, -0.003153f, 0.009238f, 0.030255f, 0.038726f, -0.034409f, 0.016075f, 0.032322f, 0.014131f, 0.011800f, 0.044716f, 0.021465f, 0.009359f, -0.001432f, 0.020141f, -0.002319f, 0.022786f, 0.018726f, 0.010323f, -0.020996f, 0.039557f, -0.032563f, -0.004029f, 0.049397f, 0.048953f, -0.011726f, -0.043336f, 0.016248f, -0.000630f, 0.042365f, 0.073081f, 0.016242f, -0.011160f, 0.005085f, -0.041885f, -0.005034f, -0.011048f, -0.009095f, 0.000869f, 0.037194f, -0.015970f, 0.016320f, 0.044883f, 0.007530f, -0.041469f, 0.027367f, -0.002096f, 0.017374f, 0.042172f, 0.059263f, -0.016721f, -0.015834f, -0.005069f, -0.047115f, -0.068824f, 0.001787f, -0.031290f, -0.005165f, -0.037939f, -0.003995f, 0.001242f, 0.005074f, 0.028196f, -0.000889f, -0.019603f, -0.032719f, 0.023856f, -0.010161f, 0.020414f, 0.000657f, 0.038009f, 0.013994f, 0.014038f, 0.000046f, -0.011797f, 0.021245f, -0.016267f, -0.018955f, -0.005670f, -0.014276f, -0.005479f, 0.000991f, + 0.001522f, -0.005190f, 0.005859f, 0.008279f, 0.000708f, -0.002251f, 0.011075f, -0.009604f, -0.013466f, 0.008145f, 0.009754f, 0.001851f, -0.011641f, -0.014113f, -0.008164f, 0.011196f, 0.015206f, 0.001895f, -0.002132f, 0.016732f, 0.004622f, 0.007932f, 0.006995f, 0.011935f, 0.003403f, -0.002317f, -0.008877f, 0.004736f, 0.009598f, -0.019825f, 0.046452f, -0.087169f, 0.047944f, -0.036668f, -0.086077f, -0.025398f, -0.021733f, -0.002970f, -0.019896f, 0.010525f, -0.023840f, -0.053202f, -0.032237f, -0.015842f, -0.004906f, 0.006207f, -0.021981f, 0.021550f, 0.041724f, 0.001657f, -0.002657f, 0.011559f, 0.002537f, -0.007676f, -0.015529f, -0.008624f, 0.011276f, 0.012539f, -0.003727f, 0.011933f, 0.051285f, 0.014254f, -0.015014f, -0.050765f, -0.008139f, 0.036090f, -0.043792f, -0.020452f, -0.016683f, 0.000666f, -0.003346f, 0.027761f, -0.009113f, 0.003453f, 0.038025f, 0.013718f, 0.042185f, -0.005790f, -0.019900f, -0.008996f, -0.010806f, -0.010787f, 0.020363f, 0.002359f, 0.013779f, 0.025861f, -0.045183f, 0.006797f, -0.011938f, -0.027979f, -0.021193f, 0.044322f, 0.031850f, 0.001773f, -0.021528f, 0.009100f, + 0.018691f, 0.002110f, 0.012952f, -0.030174f, -0.074953f, -0.034565f, -0.027406f, 0.027655f, 0.002847f, -0.003263f, -0.012602f, 0.005581f, -0.008387f, -0.023499f, -0.024503f, -0.012603f, 0.030438f, 0.023150f, -0.033795f, -0.042117f, -0.016454f, 0.003191f, 0.025804f, 0.010651f, -0.008093f, -0.011112f, -0.008598f, 0.006248f, -0.018663f, 0.003070f, -0.012701f, 0.001354f, 0.019529f, 0.020980f, 0.005630f, -0.010426f, 0.006831f, 0.015211f, -0.000333f, -0.002906f, 0.011217f, -0.014896f, 0.021344f, 0.019297f, 0.007568f, -0.000031f, -0.000684f, -0.001806f, 0.017951f, -0.006629f, -0.009159f, -0.010359f, -0.015007f, -0.014593f, 0.005038f, -0.005159f, 0.006695f, -0.003924f, 0.003473f, 0.011572f, -0.005237f, -0.010424f, -0.015432f, -0.003972f, 0.007569f, -0.010772f, 0.025179f, -0.034404f, 0.041394f, -0.003287f, -0.065431f, 0.013394f, -0.031535f, -0.006494f, -0.004717f, -0.007702f, -0.041645f, 0.013160f, 0.002212f, 0.033080f, -0.071216f, 0.001210f, 0.035175f, 0.004290f, -0.016860f, -0.035995f, -0.002751f, 0.020746f, 0.030817f, -0.025476f, -0.009045f, 0.016677f, 0.035220f, 0.032169f, -0.030909f, -0.006250f, + -0.050151f, 0.023490f, 0.025589f, 0.015866f, -0.014221f, -0.003853f, -0.013569f, -0.005264f, -0.016641f, 0.004914f, 0.036754f, -0.013504f, -0.014314f, -0.012497f, -0.020658f, 0.041676f, 0.035883f, -0.003413f, 0.050483f, -0.002204f, 0.018032f, -0.044373f, 0.036639f, 0.016300f, -0.049850f, -0.016090f, 0.057392f, 0.023815f, 0.015661f, 0.011213f, -0.026787f, -0.021152f, -0.028730f, 0.049776f, -0.025558f, 0.038467f, 0.039891f, -0.045006f, 0.104454f, -0.022270f, 0.064847f, 0.002896f, -0.014485f, -0.027870f, 0.048764f, 0.018827f, -0.037540f, -0.022977f, -0.080862f, 0.032476f, -0.010959f, 0.037334f, -0.049716f, 0.055819f, -0.042566f, 0.016515f, -0.016400f, -0.012734f, 0.036854f, 0.003487f, 0.003589f, 0.020482f, 0.014479f, -0.009340f, 0.024240f, -0.002915f, 0.007235f, -0.016758f, 0.003451f, -0.002271f, -0.010457f, -0.016846f, 0.000783f, -0.018701f, 0.009154f, 0.008088f, -0.004199f, 0.016210f, -0.005627f, -0.009712f, -0.013395f, 0.009562f, 0.002180f, -0.002239f, -0.026644f, 0.012183f, -0.005137f, -0.032319f, -0.010070f, 0.009301f, -0.008940f, -0.016716f, 0.011439f, -0.009069f, 0.009491f, -0.017012f, + 0.008284f, -0.017336f, -0.002760f, -0.002597f, 0.009668f, -0.004077f, 0.001984f, -0.005622f, -0.005710f, 0.025015f, 0.042908f, 0.003558f, -0.035981f, 0.017433f, -0.069487f, -0.018428f, -0.063124f, -0.087315f, 0.003002f, -0.033522f, 0.011260f, -0.006402f, -0.013678f, -0.033164f, -0.022848f, 0.019628f, 0.052633f, -0.043753f, -0.009387f, -0.075444f, -0.066295f, 0.018381f, 0.026601f, -0.041384f, -0.043395f, 0.002827f, 0.009646f, -0.070082f, 0.003766f, 0.001600f, 0.036500f, -0.031404f, 0.001410f, 0.030333f, -0.019677f, -0.036440f, -0.040853f, -0.019663f, -0.037254f, -0.030461f, -0.038893f, 0.054569f, -0.069237f, -0.042854f, 0.062611f, -0.001929f, 0.017656f, -0.052339f, -0.009165f, -0.014875f, 0.001364f, 0.088332f, -0.012537f, -0.001675f, 0.008689f, 0.041410f, 0.000928f, -0.039047f, -0.017368f, -0.028146f, 0.009458f, 0.105660f, 0.020490f, -0.037194f, 0.079542f, 0.057542f, -0.051161f, 0.059344f, 0.097287f, 0.000852f, -0.038068f, 0.066266f, -0.011594f, 0.069711f, 0.062726f, 0.005280f, -0.003362f, -0.018723f, 0.043754f, 0.035657f, 0.020195f, -0.037219f, -0.012504f, -0.024031f, 0.055425f, -0.007051f, + -0.038341f, -0.018615f, -0.038551f, -0.016541f, 0.037848f, 0.004305f, -0.020215f, -0.006826f, -0.024714f, -0.004134f, 0.033791f, -0.016411f, 0.008148f, -0.003419f, -0.032662f, 0.035117f, 0.004013f, 0.014087f, 0.016801f, -0.022652f, 0.006752f, 0.032266f, -0.006025f, 0.001272f, -0.017584f, -0.000072f, 0.002376f, -0.010629f, -0.010043f, 0.006098f, 0.023711f, -0.015398f, 0.009215f, -0.020560f, -0.010078f, 0.001219f, -0.007121f, 0.023572f, -0.009349f, 0.001010f, 0.001971f, 0.008605f, 0.000488f, -0.011267f, 0.049117f, -0.124808f, -0.075416f, -0.081011f, -0.027864f, -0.053879f, 0.067131f, 0.025705f, 0.055044f, -0.007903f, -0.106649f, -0.015956f, 0.017183f, 0.073612f, -0.003113f, 0.017356f, 0.067245f, -0.024836f, -0.048797f, 0.005339f, -0.003316f, 0.085440f, 0.055318f, -0.027411f, -0.038647f, 0.090756f, 0.006341f, 0.045609f, 0.021797f, 0.084704f, 0.072841f, 0.056553f, 0.005953f, -0.047214f, -0.025898f, -0.035978f, 0.070488f, -0.033455f, -0.048125f, -0.025897f, 0.002609f, -0.001639f, 0.031219f, -0.030251f, 0.011268f, -0.142854f, 0.016155f, 0.022575f, 0.023641f, -0.059563f, -0.055424f, 0.017440f, + 0.050563f, -0.061496f, 0.024199f, -0.034830f, -0.027268f, -0.041192f, -0.003584f, 0.044351f, -0.029352f, 0.048701f, -0.012150f, 0.019288f, -0.089121f, -0.057060f, -0.002081f, 0.047797f, 0.033347f, -0.064582f, -0.069822f, -0.032133f, 0.006773f, 0.074613f, 0.030777f, -0.006761f, -0.051932f, -0.059776f, -0.020239f, 0.012965f, 0.052740f, -0.004222f, 0.017652f, 0.035590f, -0.013204f, 0.013127f, -0.034549f, 0.022016f, 0.012667f, -0.021086f, -0.017608f, 0.002361f, 0.027276f, -0.025439f, -0.000715f, 0.043425f, 0.007070f, 0.006767f, 0.000353f, -0.011745f, -0.028847f, 0.007994f, -0.032067f, 0.038613f, 0.033035f, 0.025364f, 0.003327f, -0.002474f, -0.037592f, 0.024598f, -0.007269f, 0.044988f, -0.010340f, -0.049578f, -0.030492f, -0.005604f, 0.049292f, 0.014399f, -0.010028f, -0.004327f, -0.038891f, -0.018310f, -0.015399f, -0.001673f, 0.022547f, 0.021983f, -0.039210f, -0.021160f, -0.023828f, -0.023021f, -0.008154f, 0.008222f, -0.002882f, -0.012770f, -0.023707f, -0.024005f, 0.003782f, -0.000475f, -0.012116f, -0.011905f, 0.022126f, 0.161650f, 0.016336f, -0.086391f, -0.194186f, -0.017673f, 0.115081f, 0.028865f, + 0.050180f, -0.005398f, 0.069983f, -0.011881f, 0.030744f, -0.016342f, 0.039638f, 0.055876f, 0.029807f, -0.027237f, -0.064138f, 0.075338f, 0.085586f, -0.019358f, -0.084837f, -0.051691f, 0.008822f, 0.049298f, 0.016366f, 0.017631f, 0.003097f, 0.012558f, 0.005623f, 0.012448f, -0.016718f, -0.098265f, -0.000621f, 0.060718f, 0.046651f, -0.019342f, 0.004671f, 0.037383f, 0.081805f, 0.050293f, 0.040080f, -0.048224f, -0.033760f, -0.008213f, -0.008955f, -0.073177f, 0.051789f, 0.030839f, 0.053804f, 0.110104f, -0.056665f, -0.036202f, -0.005133f, -0.030390f, -0.026489f, -0.047960f, 0.085245f, -0.051582f, -0.055853f, -0.057200f, -0.020059f, 0.109168f, 0.027820f, 0.042675f, -0.002386f, -0.008901f, -0.025272f, 0.068007f, 0.054691f, -0.027773f, -0.063683f, 0.022319f, -0.008378f, 0.026586f, -0.059709f, -0.022879f, -0.034751f, -0.044837f, 0.027516f, 0.045388f, 0.008370f, 0.002162f, -0.024069f, 0.013843f, -0.009428f, 0.042249f, 0.003316f, -0.013834f, -0.008302f, 0.014427f, 0.026789f, 0.030024f, -0.017154f, 0.018864f, 0.009562f, 0.010063f, -0.001374f, -0.030840f, -0.004125f, -0.024897f, -0.010166f, 0.002098f, + 0.004267f, 0.009260f, 0.009121f, 0.011194f, 0.027397f, 0.041166f, 0.036247f, -0.002574f, -0.008916f, 0.005387f, -0.017737f, 0.023078f, -0.024933f, -0.002188f, 0.020307f, -0.000387f, -0.004910f, -0.039670f, 0.020305f, -0.039563f, 0.013536f, -0.008195f, 0.006483f, -0.002644f, 0.004712f, -0.001009f, -0.025021f, 0.014976f, 0.012563f, -0.001191f, 0.008543f, -0.000525f, 0.007360f, -0.002417f, -0.006374f, -0.000321f, -0.001872f, 0.002314f, -0.001011f, 0.002371f, 0.001287f, -0.007618f, -0.003264f, -0.000784f, 0.006026f, 0.002501f, -0.001571f, -0.004100f, -0.002769f, -0.047289f, 0.004766f, 0.123336f, 0.096071f, 0.014282f, 0.007878f, -0.068009f, -0.129141f, -0.114176f, -0.054973f, 0.092430f, 0.102414f, 0.105057f, 0.059142f, -0.016204f, -0.066802f, -0.062916f, -0.040340f, 0.025907f, 0.041798f, 0.071664f, 0.007115f, -0.055763f, -0.046124f, -0.010887f, -0.046216f, -0.022439f, 0.010639f, 0.074229f, 0.107344f, 0.068567f, 0.033453f, 0.029622f, -0.066601f, -0.008657f, -0.134318f, -0.151314f, -0.093947f, -0.046161f, -0.040981f, 0.069665f, 0.110647f, 0.121495f, 0.110850f, 0.094972f, 0.040003f, 0.005715f, + -0.045874f, -0.013461f, -0.074116f, -0.132749f, -0.010605f, 0.011561f, 0.013152f, 0.043083f, 0.026437f, 0.043718f, -0.147542f, -0.081528f, -0.052566f, -0.086382f, -0.036078f, 0.062697f, -0.037577f, 0.041991f, 0.006156f, -0.039745f, 0.031748f, -0.033329f, 0.035657f, 0.040552f, -0.031226f, -0.064165f, -0.130727f, -0.127623f, -0.094523f, 0.045705f, 0.016546f, -0.018855f, 0.024668f, 0.006155f, 0.000631f, -0.061282f, -0.042407f, -0.113436f, -0.037238f, -0.042256f, -0.004388f, 0.081741f, 0.088302f, 0.012212f, 0.045660f, -0.027998f, -0.060989f, -0.110374f, -0.072151f, -0.068451f, -0.002259f, 0.032849f, 0.019292f, 0.026647f, 0.029520f, -0.020896f, 0.017933f, -0.019747f, 0.018601f, 0.003958f, -0.000575f, -0.004675f, 0.015382f, 0.012842f, 0.029266f, -0.007306f, -0.006790f, 0.026671f, 0.021678f, -0.222005f, -0.113538f, -0.059099f, 0.074740f, 0.017355f, 0.284895f, 0.292032f, 0.220130f, 0.284724f, 0.298311f, 0.271074f, 0.194573f, 0.176653f, 0.195978f, 0.078062f, -0.011625f, -0.121195f, -0.187389f, -0.258915f, -0.251603f, -0.375001f, -0.227579f, -0.147974f, -0.117591f, -0.167149f, -0.087988f, -0.024030f, + -0.125331f, -0.097221f, -0.102781f, -0.023132f, -0.061728f, -0.021874f, -0.083570f, -0.042323f, 0.049795f, 0.051700f, 0.015396f, -0.015307f, 0.054266f, 0.044094f, -0.126445f, 0.026417f, 0.085455f, 0.187295f, 0.137254f, 0.178329f, 0.073060f, 0.070961f, 0.296819f, 0.160900f, 0.303739f, 0.101891f, 0.284868f, 0.196885f, 0.248702f, 0.335678f, 0.317752f, 0.257890f, 0.289349f, 0.321693f, 0.349847f, 0.299040f, 0.344858f, 0.235539f, 0.349802f, 0.281129f, 0.249187f, 0.265982f, 0.145043f, 0.297753f, 0.143904f, 0.087613f, -0.109504f, 0.007474f, -0.161737f, -0.181434f, -0.277971f, -0.327811f, -0.504394f, -0.492155f, -0.465267f, -0.434693f, -0.410138f, -0.346207f, -0.422872f, -0.520031f, -0.513311f, -0.425356f, -0.450734f, -0.423410f, -0.425356f, -0.362574f, -0.395367f, -0.378614f, -0.282872f, -0.311882f, -0.240079f, -0.223702f, -0.206735f, -0.131344f, -0.170347f, -0.038450f, -0.063446f, 0.029524f, 0.039238f, 0.124291f, 0.183077f, 0.192472f, 0.221628f, 0.197403f, 0.296697f, 0.336968f, 0.333264f, 0.385802f, 0.402268f, 0.399224f, 0.303875f, 0.271955f, 0.238068f, 0.221390f, 0.214889f, 0.221298f, + 0.207331f, 0.158562f, 0.101663f, 0.116242f, 0.089243f, 0.070168f, 0.046279f, -0.035160f, -0.046788f, -0.048401f, -0.060196f, -0.072783f, -0.082835f, -0.057441f, -0.064093f, -0.050362f, -0.052182f, -0.044364f, -0.032377f, -0.038020f, -0.031643f, -0.029837f, -0.037579f, -0.033576f, -0.038148f, -0.028839f, -0.023912f, -0.031544f, -0.036839f, -0.012652f, -0.003020f, -0.002551f, -0.000954f, 0.002805f, 0.000016f, 0.001218f}, + {-0.014319f, -0.028270f, -0.004980f, 0.000408f, -0.006512f, -0.013286f, -0.004421f, 0.009792f, -0.015688f, -0.008620f, -0.005211f, -0.003035f, 0.004949f, -0.002204f, 0.005513f, 0.002567f, 0.004826f, -0.000507f, 0.005980f, -0.005204f, 0.000953f, -0.002264f, 0.001112f, 0.015142f, -0.003239f, -0.000895f, -0.007512f, 0.009374f, 0.005774f, 0.004529f, 0.011629f, -0.005921f, -0.003408f, 0.004022f, 0.010411f, -0.002777f, -0.000717f, -0.008384f, -0.009248f, -0.006133f, 0.006568f, -0.008152f, -0.007044f, -0.000847f, 0.009365f, -0.012660f, -0.002720f, -0.010570f, -0.005165f, -0.002995f, 0.001443f, -0.000914f, -0.007623f, 0.009795f, 0.001648f, 0.008820f, -0.003564f, -0.002181f, -0.010949f, -0.000193f, -0.003849f, -0.004078f, 0.006288f, 0.003588f, -0.001971f, 0.003438f, 0.006961f, -0.001939f, 0.002985f, -0.004947f, -0.002894f, -0.001161f, -0.004721f, 0.004231f, 0.001447f, 0.003234f, -0.007481f, 0.005413f, 0.003080f, 0.012149f, 0.007189f, -0.001931f, -0.007696f, -0.000576f, 0.001669f, 0.001008f, 0.002385f, -0.000303f, -0.002610f, 0.000158f, -0.001775f, 0.000068f, -0.002146f, 0.000818f, -0.002087f, -0.000084f, + 0.002328f, 0.000842f, 0.001201f, -0.001435f, -0.001049f, 0.001161f, 0.001601f, 0.000785f, -0.000238f, -0.023263f, -0.008386f, 0.006733f, -0.006188f, -0.002742f, -0.002632f, 0.003192f, -0.001212f, -0.006113f, 0.009673f, 0.008705f, 0.002871f, -0.001058f, 0.004470f, -0.011926f, -0.001776f, -0.011785f, -0.005978f, 0.008748f, -0.001480f, 0.001587f, -0.001218f, -0.001323f, 0.000173f, 0.018269f, 0.016672f, 0.007490f, 0.008889f, 0.010597f, -0.002063f, -0.001184f, -0.003662f, 0.009354f, -0.000932f, -0.003505f, 0.002597f, -0.005399f, 0.003704f, 0.006742f, -0.003453f, 0.007596f, 0.008524f, 0.016706f, -0.006546f, -0.007835f, 0.007119f, -0.004278f, 0.000218f, 0.003545f, -0.009714f, 0.000614f, -0.005092f, -0.005656f, 0.012826f, 0.007580f, 0.009227f, -0.005255f, -0.006990f, 0.004926f, -0.008134f, 0.005728f, 0.024770f, 0.001430f, 0.001684f, 0.005598f, 0.002404f, 0.002314f, 0.014093f, -0.007523f, -0.001931f, 0.002617f, 0.001825f, -0.007002f, -0.005179f, -0.007148f, -0.003422f, -0.002598f, 0.006472f, -0.001081f, 0.006501f, 0.006701f, -0.006716f, -0.007147f, -0.001862f, 0.004548f, 0.006269f, -0.007495f, + -0.001476f, -0.002213f, -0.005179f, -0.000609f, -0.004907f, 0.001294f, -0.000339f, 0.002635f, -0.001509f, 0.001023f, -0.001912f, -0.000464f, -0.001472f, -0.006812f, 0.007375f, 0.011862f, -0.005694f, 0.005866f, 0.018692f, 0.006227f, 0.004280f, -0.013095f, 0.010834f, 0.002822f, -0.016817f, 0.007105f, -0.004719f, -0.010126f, 0.004070f, -0.001433f, 0.003922f, 0.009743f, -0.010263f, -0.010814f, -0.004797f, 0.014635f, 0.000414f, 0.007248f, 0.015186f, -0.022613f, -0.018212f, 0.002933f, 0.011130f, -0.008192f, 0.000724f, 0.015046f, 0.003892f, -0.001976f, -0.004528f, 0.018011f, 0.002215f, -0.004419f, 0.002533f, -0.016392f, 0.001869f, -0.009052f, 0.008346f, 0.001433f, 0.008865f, -0.004484f, -0.002209f, 0.003978f, 0.000279f, 0.001140f, 0.000523f, 0.008473f, 0.006853f, -0.009345f, 0.005351f, 0.007497f, -0.012782f, 0.001502f, -0.005753f, 0.002380f, -0.002921f, -0.009913f, 0.000174f, 0.008506f, 0.007425f, 0.016433f, -0.010178f, 0.012720f, -0.008412f, -0.001716f, 0.007572f, -0.008268f, -0.012277f, -0.004464f, 0.000598f, -0.000796f, -0.000611f, -0.001348f, 0.002454f, 0.005226f, -0.007133f, -0.000111f, + 0.003424f, -0.000676f, 0.002943f, -0.005879f, -0.003345f, -0.002342f, -0.004289f, 0.001247f, -0.000913f, -0.003393f, 0.001872f, 0.001898f, -0.002806f, -0.004344f, -0.000208f, -0.001024f, 0.004483f, -0.000240f, -0.000708f, 0.000800f, 0.000980f, -0.000795f, -0.001315f, 0.002984f, 0.001020f, -0.002416f, -0.001191f, -0.001854f, 0.000293f, 0.037582f, 0.016848f, 0.022766f, -0.001843f, -0.006299f, -0.008210f, -0.008235f, 0.004478f, -0.006917f, 0.010481f, -0.001192f, 0.014383f, 0.000866f, 0.007608f, 0.009440f, 0.007300f, 0.006246f, 0.008277f, -0.027925f, -0.008257f, -0.002631f, -0.005887f, -0.005173f, -0.008791f, -0.019895f, 0.000893f, 0.013618f, -0.008389f, 0.008173f, -0.006738f, -0.009934f, -0.007493f, 0.001122f, -0.006325f, -0.002358f, -0.006486f, -0.000462f, 0.016432f, 0.000865f, 0.007385f, 0.010376f, 0.013509f, -0.006360f, 0.003163f, -0.003035f, -0.010429f, 0.011828f, -0.006628f, -0.000497f, -0.010323f, 0.007531f, -0.000104f, 0.000158f, -0.002852f, -0.004820f, 0.003491f, 0.010564f, -0.004443f, 0.005945f, 0.005641f, 0.004730f, 0.018186f, -0.018322f, -0.007744f, 0.000425f, -0.010087f, -0.013082f, + -0.005190f, -0.016008f, 0.002389f, 0.018723f, -0.012941f, -0.006192f, -0.014778f, 0.000930f, -0.004661f, -0.007089f, -0.017324f, 0.010149f, 0.013273f, 0.005230f, 0.009271f, -0.004743f, 0.001481f, -0.003524f, 0.003836f, 0.000132f, 0.009175f, -0.002412f, 0.003940f, -0.000221f, -0.002369f, 0.003165f, 0.002182f, 0.004175f, 0.003516f, -0.000641f, 0.000828f, 0.002264f, 0.000914f, 0.001757f, -0.000172f, -0.001801f, -0.003339f, 0.001607f, 0.000846f, -0.002319f, 0.001616f, 0.001760f, -0.000584f, 0.000739f, 0.002161f, -0.000717f, -0.001998f, -0.000725f, 0.011680f, 0.016655f, -0.009228f, 0.008657f, -0.007532f, -0.003680f, -0.002989f, -0.020692f, 0.015024f, -0.004407f, -0.002199f, 0.023811f, 0.014833f, 0.015903f, -0.006478f, 0.000575f, 0.002848f, -0.003709f, 0.005310f, -0.012197f, -0.000319f, -0.008358f, 0.009738f, -0.009501f, -0.006516f, -0.001034f, 0.001663f, -0.011724f, 0.002253f, 0.001196f, 0.015349f, 0.000066f, -0.020967f, 0.012039f, 0.011325f, 0.016085f, -0.002560f, 0.004015f, -0.011595f, -0.008793f, -0.003659f, -0.008538f, 0.003336f, 0.002171f, -0.003164f, -0.001323f, 0.008776f, 0.013618f, + -0.018708f, -0.004092f, -0.000007f, -0.007721f, -0.007991f, 0.012314f, -0.009952f, 0.004618f, -0.009767f, -0.012991f, -0.009633f, -0.006443f, 0.004472f, 0.001768f, 0.023141f, -0.003965f, -0.006209f, 0.006850f, -0.006949f, -0.002081f, -0.006169f, 0.006402f, -0.005708f, 0.008265f, -0.004155f, -0.003873f, 0.005717f, 0.013852f, 0.003866f, -0.013096f, 0.000080f, -0.006477f, -0.013232f, 0.003710f, 0.009371f, -0.003158f, 0.002171f, 0.003220f, 0.000465f, -0.001470f, 0.004826f, 0.000053f, -0.005362f, -0.000004f, -0.001929f, -0.001046f, -0.002786f, 0.004356f, -0.001037f, -0.003657f, -0.003866f, 0.000495f, 0.004074f, -0.001870f, -0.000272f, -0.005471f, 0.000512f, 0.000928f, 0.001837f, -0.001030f, -0.004588f, -0.002440f, 0.004036f, -0.001694f, -0.004952f, 0.001955f, -0.028745f, 0.027649f, 0.014841f, -0.016497f, -0.016637f, 0.006821f, 0.021949f, -0.000318f, 0.006439f, 0.025560f, 0.008572f, 0.007695f, -0.004319f, 0.013322f, 0.012176f, 0.014033f, -0.025300f, -0.015540f, -0.015349f, 0.012120f, 0.010458f, 0.013330f, 0.000639f, -0.015444f, 0.006351f, -0.002343f, 0.006989f, -0.022201f, 0.008581f, 0.013450f, + -0.010412f, 0.005817f, 0.010885f, 0.003048f, -0.000323f, 0.002333f, -0.003487f, 0.019436f, 0.013211f, 0.010399f, 0.000393f, 0.006754f, 0.015005f, -0.013392f, -0.007201f, 0.000661f, 0.019840f, 0.012691f, 0.007811f, -0.014943f, 0.000558f, 0.010157f, 0.011852f, -0.004169f, 0.003679f, 0.011570f, 0.014335f, 0.004523f, 0.013256f, 0.005258f, -0.001472f, -0.012227f, -0.000068f, -0.020363f, -0.008331f, -0.009769f, 0.001717f, 0.006714f, -0.011783f, -0.004779f, -0.021524f, 0.009368f, -0.005967f, -0.000157f, 0.011441f, 0.016658f, 0.020144f, 0.002500f, -0.002078f, -0.012489f, -0.003715f, 0.006379f, 0.006894f, -0.013251f, 0.004179f, -0.005963f, 0.004876f, 0.000889f, -0.004456f, 0.000085f, 0.002386f, -0.004200f, 0.001900f, -0.001109f, -0.004996f, -0.002577f, -0.003137f, 0.003163f, 0.003876f, -0.000674f, -0.002890f, 0.002082f, -0.002216f, -0.001605f, -0.003881f, -0.000537f, -0.000817f, -0.004541f, 0.003776f, 0.024357f, 0.007637f, -0.004131f, -0.011038f, -0.028862f, -0.013989f, 0.017712f, -0.006184f, -0.026525f, -0.007065f, -0.004186f, 0.004083f, 0.014708f, 0.022457f, -0.001282f, 0.006634f, -0.005103f, + 0.011210f, -0.012481f, -0.013292f, -0.014307f, -0.025452f, 0.013653f, 0.007797f, -0.021256f, 0.000696f, -0.015512f, -0.005893f, 0.013774f, 0.007820f, 0.011248f, -0.003110f, -0.002912f, -0.003612f, 0.024251f, 0.018898f, 0.020014f, -0.009038f, -0.017047f, 0.013559f, -0.002268f, -0.006005f, 0.017250f, 0.003116f, 0.016971f, -0.000490f, 0.009500f, -0.011856f, -0.000597f, 0.008568f, -0.036293f, -0.005429f, 0.001771f, -0.026537f, 0.006919f, -0.006726f, 0.024832f, 0.015871f, -0.015187f, 0.001253f, 0.022671f, -0.002296f, 0.011557f, -0.007556f, 0.015585f, -0.007188f, 0.003084f, -0.005957f, 0.000388f, 0.010960f, -0.014753f, 0.015981f, 0.008169f, 0.009202f, 0.002605f, 0.021222f, -0.008313f, -0.024162f, 0.004192f, 0.016854f, -0.007952f, -0.014983f, -0.010864f, -0.007622f, 0.017370f, 0.000437f, -0.007453f, 0.000787f, 0.000413f, -0.003313f, -0.003338f, 0.001156f, 0.003335f, -0.001876f, -0.002288f, -0.001197f, 0.003713f, -0.001877f, -0.006544f, 0.001898f, -0.007244f, 0.006686f, 0.004286f, -0.000013f, -0.000756f, 0.001839f, -0.002122f, 0.003006f, 0.000267f, 0.002105f, 0.000368f, 0.000979f, 0.007661f, + 0.002761f, -0.004053f, 0.002250f, -0.058507f, -0.012362f, 0.031373f, -0.025322f, -0.009184f, 0.026673f, 0.010039f, -0.008439f, 0.002818f, -0.022057f, 0.019695f, -0.002481f, -0.035581f, 0.002566f, -0.001866f, 0.013470f, 0.013200f, -0.007049f, -0.027871f, -0.011921f, -0.010641f, 0.000614f, -0.014860f, -0.008144f, -0.018949f, -0.005424f, 0.020662f, -0.016941f, -0.008516f, -0.006498f, -0.011028f, -0.011625f, -0.015809f, 0.010827f, 0.002202f, 0.013460f, 0.002357f, -0.009882f, -0.015317f, -0.015100f, -0.003106f, 0.010104f, 0.014879f, -0.005220f, -0.013536f, 0.014261f, 0.005933f, -0.021272f, -0.023727f, -0.048378f, -0.004267f, -0.015432f, -0.009342f, 0.007214f, 0.007375f, 0.004470f, 0.021765f, -0.002229f, -0.010369f, -0.001271f, -0.011175f, 0.024841f, 0.013202f, -0.004782f, 0.013275f, -0.013913f, 0.006974f, 0.005750f, -0.013619f, -0.005949f, -0.012211f, 0.008789f, 0.006171f, -0.022474f, 0.014875f, 0.022824f, -0.001471f, -0.001047f, -0.023034f, -0.008932f, 0.010178f, -0.007115f, 0.006732f, 0.022631f, -0.007534f, 0.005018f, 0.002308f, 0.001806f, -0.007125f, 0.001381f, -0.001137f, -0.009378f, -0.005656f, + -0.000805f, 0.003378f, 0.000604f, 0.002665f, -0.009780f, 0.001199f, -0.005209f, 0.002527f, -0.005636f, -0.005478f, -0.003291f, -0.000306f, 0.001307f, -0.004180f, 0.001365f, 0.002445f, -0.000520f, 0.001038f, 0.004260f, 0.002395f, -0.007745f, -0.005109f, -0.002371f, 0.000870f, 0.002992f, -0.001207f, 0.003035f, 0.010445f, 0.038804f, -0.018110f, 0.014747f, -0.009486f, -0.000091f, 0.022268f, -0.006419f, -0.009885f, -0.005246f, -0.002048f, 0.003914f, 0.015148f, 0.051132f, -0.002790f, 0.003086f, 0.014212f, 0.003312f, 0.000264f, -0.023919f, -0.024863f, 0.003833f, 0.003431f, -0.015639f, -0.007956f, -0.003607f, 0.014196f, -0.006282f, 0.002777f, -0.000326f, 0.006213f, -0.006404f, 0.029881f, 0.016578f, -0.013922f, 0.016418f, 0.014897f, -0.018067f, 0.003184f, 0.007687f, 0.006006f, -0.005029f, -0.006095f, 0.024860f, -0.021746f, 0.009207f, 0.027529f, -0.009597f, 0.003449f, 0.017618f, -0.001899f, 0.015317f, 0.008461f, 0.000217f, 0.008453f, 0.013136f, 0.018126f, 0.011358f, 0.001499f, -0.000694f, -0.012450f, -0.013842f, 0.000546f, 0.001498f, -0.043370f, 0.028304f, -0.006636f, -0.013462f, -0.015058f, + -0.031862f, -0.035924f, -0.023390f, 0.004386f, 0.017748f, -0.006496f, 0.002150f, -0.002884f, 0.017630f, -0.006582f, -0.014369f, 0.008154f, 0.004191f, -0.005950f, 0.002114f, 0.012075f, -0.011728f, 0.002341f, -0.014898f, -0.004957f, -0.006729f, 0.003567f, -0.001807f, 0.007634f, 0.004654f, 0.001623f, -0.002231f, 0.003889f, 0.005117f, -0.000116f, -0.010839f, 0.006029f, -0.000633f, 0.009177f, 0.008648f, 0.004373f, -0.004522f, 0.007951f, 0.001608f, -0.001248f, -0.000413f, 0.000474f, -0.007320f, 0.007977f, -0.000886f, -0.005274f, 0.007514f, 0.015331f, -0.003204f, -0.003268f, 0.007695f, -0.003100f, -0.005668f, -0.002047f, 0.052518f, 0.052781f, -0.001521f, -0.043632f, 0.008505f, 0.008981f, -0.005039f, 0.011484f, 0.006539f, 0.003865f, -0.000524f, -0.007335f, 0.042607f, 0.007942f, -0.006876f, -0.047421f, -0.026713f, 0.011287f, -0.002968f, -0.016436f, -0.028493f, 0.004063f, 0.004812f, 0.007403f, -0.007115f, -0.031128f, -0.033323f, 0.036200f, 0.034160f, 0.010765f, 0.031371f, -0.026725f, 0.003638f, 0.014166f, -0.005665f, -0.016901f, -0.030600f, -0.015016f, 0.005399f, -0.001179f, -0.014364f, 0.014890f, + 0.000270f, 0.014458f, 0.011617f, 0.000925f, -0.032898f, -0.018990f, -0.015476f, -0.002524f, 0.003377f, 0.004482f, -0.005601f, -0.009175f, 0.002258f, 0.005447f, -0.029418f, -0.007273f, 0.004804f, 0.006752f, -0.013360f, -0.036655f, -0.008596f, -0.009110f, 0.027164f, -0.000917f, 0.012222f, -0.012162f, -0.009339f, -0.016329f, -0.018410f, -0.010640f, 0.002967f, -0.001237f, 0.022804f, -0.013412f, 0.003953f, 0.026502f, -0.001842f, 0.013311f, 0.011793f, 0.025751f, 0.005685f, -0.007293f, -0.013119f, -0.011384f, -0.004519f, 0.015629f, 0.002391f, 0.015755f, 0.008295f, -0.001075f, -0.000423f, 0.000915f, 0.001260f, -0.006808f, -0.008732f, 0.000178f, -0.002168f, -0.000684f, 0.002527f, -0.001536f, 0.001978f, -0.009980f, -0.002367f, 0.006386f, -0.000376f, 0.004099f, -0.017364f, -0.001783f, -0.000711f, -0.003225f, 0.003535f, 0.002872f, 0.002212f, 0.003191f, 0.003947f, -0.007963f, 0.009490f, -0.006103f, 0.022876f, -0.011761f, 0.003997f, -0.008860f, 0.001771f, 0.006012f, -0.014396f, -0.009740f, -0.025701f, -0.028417f, -0.018664f, -0.007308f, -0.001302f, 0.000712f, -0.015725f, -0.014569f, -0.029468f, 0.014178f, + -0.029533f, -0.038005f, 0.024549f, -0.022782f, -0.029002f, 0.027017f, 0.005132f, -0.006089f, 0.028976f, 0.016731f, -0.022514f, 0.020825f, -0.057406f, -0.003873f, -0.014753f, -0.006118f, -0.026989f, 0.047253f, 0.022123f, -0.013823f, 0.006936f, 0.014904f, -0.009889f, 0.016453f, 0.000248f, 0.000746f, -0.013499f, 0.015980f, 0.018392f, 0.024881f, -0.038945f, -0.001334f, -0.000270f, 0.011553f, -0.017658f, -0.006716f, -0.017973f, -0.017642f, 0.030954f, 0.010032f, -0.023190f, 0.011975f, -0.014347f, -0.015192f, -0.024903f, -0.045235f, 0.011819f, 0.029931f, 0.002028f, 0.030150f, 0.040906f, -0.002411f, -0.016760f, -0.038757f, 0.003021f, -0.004945f, 0.002478f, -0.009656f, 0.008010f, -0.017020f, 0.036623f, 0.020302f, 0.032036f, 0.006517f, -0.003952f, -0.009724f, 0.013078f, 0.015145f, 0.006817f, -0.002740f, -0.004584f, 0.001456f, 0.017238f, -0.003019f, 0.007228f, -0.010850f, 0.004694f, -0.017945f, 0.001752f, 0.002238f, -0.007904f, 0.016957f, 0.009803f, -0.004338f, -0.011140f, -0.009730f, -0.003214f, -0.000887f, 0.005444f, -0.011395f, 0.002951f, 0.002056f, -0.000834f, -0.007872f, 0.002987f, -0.017092f, + -0.003462f, -0.004048f, -0.004773f, 0.002964f, -0.000311f, -0.032771f, 0.004391f, -0.073099f, -0.049110f, -0.035205f, 0.019051f, 0.036257f, -0.051715f, 0.011998f, 0.036662f, 0.022645f, -0.000524f, 0.013420f, 0.034567f, -0.015879f, -0.002067f, -0.010070f, 0.001019f, -0.022463f, 0.015969f, 0.000331f, 0.001888f, 0.005900f, 0.046335f, -0.002349f, -0.020444f, -0.019914f, 0.011045f, 0.034111f, -0.013779f, -0.034554f, 0.010255f, 0.034615f, 0.020209f, -0.004675f, 0.016809f, 0.011351f, 0.016195f, 0.003595f, 0.013718f, 0.023478f, -0.002933f, -0.039602f, 0.001983f, 0.012204f, -0.037108f, -0.027098f, 0.036296f, 0.028473f, -0.028028f, -0.018371f, 0.008865f, -0.001888f, 0.017803f, 0.044134f, -0.009491f, -0.008554f, 0.008392f, -0.002293f, 0.016341f, 0.008155f, -0.016093f, -0.012652f, -0.006075f, 0.012918f, 0.011745f, -0.011761f, -0.031993f, -0.005658f, -0.048143f, 0.045538f, 0.007680f, -0.008374f, 0.004334f, 0.018860f, -0.000980f, -0.021176f, 0.007857f, -0.009218f, -0.013727f, 0.010703f, -0.002881f, -0.020957f, -0.034440f, -0.011267f, -0.014045f, 0.028420f, -0.004539f, 0.009365f, 0.005409f, 0.003458f, + -0.002679f, -0.002492f, 0.004434f, -0.007657f, 0.001237f, 0.010278f, -0.001246f, -0.005410f, -0.003088f, -0.023501f, -0.007254f, -0.000652f, -0.004413f, -0.017115f, -0.015353f, -0.006465f, -0.003516f, -0.001559f, -0.005028f, -0.000926f, 0.000284f, 0.012856f, 0.004551f, -0.002138f, -0.005235f, 0.002005f, -0.004631f, -0.003918f, 0.008348f, -0.004229f, -0.009993f, -0.002948f, -0.007532f, 0.000884f, -0.009263f, 0.000246f, 0.006110f, 0.001914f, -0.008889f, -0.002965f, -0.028243f, -0.001222f, 0.004885f, -0.034620f, -0.009098f, 0.026028f, 0.033856f, 0.023961f, 0.063178f, 0.038109f, 0.057248f, 0.021371f, 0.015085f, -0.029580f, 0.032129f, -0.010818f, -0.003621f, -0.023688f, -0.015775f, 0.031044f, -0.010170f, 0.070410f, 0.032757f, 0.020317f, -0.003773f, 0.016280f, -0.011087f, -0.032872f, -0.016633f, -0.020405f, 0.014830f, -0.019241f, -0.000448f, -0.020590f, 0.012038f, 0.028640f, 0.025845f, -0.001709f, 0.037380f, 0.031232f, 0.001447f, -0.010887f, -0.014303f, -0.025634f, -0.008830f, 0.058944f, 0.022843f, 0.067855f, -0.021897f, 0.000333f, -0.002328f, 0.015814f, 0.054441f, 0.018652f, 0.001277f, 0.035005f, + 0.040095f, 0.042369f, -0.003874f, -0.025059f, -0.009245f, -0.006931f, -0.007270f, 0.028082f, 0.019134f, 0.026650f, 0.040652f, -0.025397f, 0.061509f, -0.041361f, -0.077647f, -0.012016f, -0.024264f, 0.015801f, 0.037384f, 0.018313f, -0.021019f, -0.002156f, -0.022823f, -0.017027f, -0.011337f, 0.000272f, 0.030904f, 0.005211f, -0.008854f, 0.004834f, 0.002232f, 0.009271f, 0.009791f, 0.006725f, 0.012032f, 0.003278f, 0.007528f, 0.002769f, 0.008358f, 0.000524f, -0.025105f, -0.009673f, -0.000379f, -0.023344f, 0.002451f, -0.024373f, -0.012931f, -0.014802f, -0.013800f, -0.011558f, -0.008588f, -0.003274f, 0.001279f, 0.006984f, 0.025518f, 0.003471f, -0.016376f, 0.007425f, 0.001377f, 0.023186f, -0.004537f, 0.009999f, -0.000341f, 0.000284f, -0.012601f, 0.002920f, 0.036751f, 0.059756f, -0.029753f, -0.023561f, 0.021494f, -0.018027f, -0.003278f, -0.008576f, 0.008023f, 0.025950f, 0.028141f, 0.041348f, -0.045666f, 0.051026f, -0.018587f, 0.004170f, -0.023771f, 0.020837f, 0.038755f, 0.015291f, 0.007086f, 0.002052f, 0.047214f, 0.010960f, -0.001690f, -0.016340f, -0.007352f, -0.049358f, -0.006705f, -0.024399f, + -0.058667f, 0.004213f, -0.003664f, 0.023099f, -0.061102f, -0.012771f, 0.014148f, 0.021698f, 0.050592f, -0.014825f, 0.014619f, 0.026818f, 0.004016f, -0.007969f, 0.014180f, -0.014404f, -0.003641f, -0.077068f, 0.006510f, -0.033352f, -0.038318f, -0.043403f, 0.016993f, -0.069124f, 0.022308f, -0.026432f, -0.034446f, -0.047293f, 0.041785f, 0.044783f, 0.044582f, 0.008705f, 0.007995f, 0.042003f, -0.058972f, -0.005793f, -0.018341f, 0.023795f, -0.070030f, -0.024059f, -0.007447f, 0.022355f, 0.017511f, 0.014345f, 0.027956f, -0.026115f, 0.010084f, -0.031522f, -0.009529f, -0.018899f, -0.007629f, -0.006426f, 0.000632f, -0.029870f, 0.013409f, 0.018762f, -0.003463f, 0.001320f, -0.014869f, -0.004578f, 0.014139f, -0.019265f, -0.000615f, 0.009477f, -0.024083f, 0.010952f, -0.021603f, 0.000301f, 0.013173f, 0.003230f, -0.017750f, -0.011466f, 0.006562f, -0.009700f, 0.010661f, 0.007689f, 0.012332f, -0.001548f, -0.015575f, 0.029372f, -0.014130f, -0.006947f, -0.019160f, 0.013159f, -0.006665f, 0.001955f, -0.017793f, 0.002450f, -0.021572f, -0.003282f, 0.015454f, -0.004838f, -0.009280f, -0.022292f, 0.002382f, 0.003113f, + -0.003183f, -0.029290f, -0.055293f, -0.000948f, -0.019828f, 0.065375f, 0.013483f, 0.046255f, -0.015287f, 0.063124f, -0.039802f, -0.074253f, 0.016600f, 0.012638f, 0.008304f, -0.036889f, -0.042246f, -0.032916f, 0.012163f, -0.033152f, 0.014421f, -0.017563f, 0.049335f, -0.016102f, -0.007650f, 0.035747f, 0.000936f, -0.088862f, -0.037117f, -0.001152f, 0.058419f, -0.006681f, -0.018544f, -0.050927f, 0.008685f, -0.012527f, -0.044031f, -0.051898f, -0.006185f, 0.009573f, -0.018043f, -0.019727f, -0.052143f, 0.034103f, -0.013048f, 0.012295f, -0.026030f, 0.001202f, 0.015282f, 0.009477f, 0.045754f, 0.000527f, -0.015929f, -0.059598f, -0.021172f, 0.028902f, -0.040973f, -0.020755f, 0.015002f, 0.032896f, 0.025498f, 0.065511f, 0.049825f, 0.001017f, 0.037788f, 0.038933f, 0.013131f, 0.001616f, 0.022637f, -0.019311f, 0.098679f, -0.045333f, -0.107963f, 0.028783f, -0.091909f, -0.003450f, -0.071956f, -0.000389f, 0.087853f, 0.011131f, -0.041969f, 0.014056f, 0.014880f, -0.027251f, -0.022558f, -0.030845f, 0.006664f, -0.009233f, 0.028122f, -0.022116f, 0.018783f, -0.037126f, 0.010377f, -0.001107f, -0.006145f, -0.008320f, + 0.025497f, 0.049009f, 0.015253f, 0.020016f, 0.033741f, 0.010467f, -0.033749f, 0.010010f, -0.012523f, 0.022754f, -0.007033f, -0.010307f, -0.001302f, -0.002080f, -0.009071f, -0.027568f, -0.018239f, -0.012083f, -0.001530f, 0.004201f, -0.002011f, -0.017369f, -0.039744f, -0.024598f, 0.006000f, -0.006736f, -0.000678f, -0.014921f, 0.005382f, 0.029033f, 0.041344f, -0.062665f, -0.041683f, -0.025881f, -0.022002f, 0.025206f, 0.039125f, -0.023008f, 0.002610f, 0.034921f, -0.070684f, 0.005230f, 0.016569f, -0.053319f, 0.027623f, -0.017750f, 0.024370f, 0.009176f, 0.027464f, 0.002983f, -0.034554f, 0.035795f, -0.045035f, -0.009804f, 0.087221f, -0.035781f, 0.031955f, -0.020757f, 0.035913f, 0.032743f, -0.011442f, -0.038250f, 0.040647f, 0.105727f, -0.057928f, 0.015056f, -0.076882f, 0.038897f, 0.023398f, -0.041653f, 0.046150f, 0.004333f, -0.092316f, 0.013253f, 0.004541f, 0.042142f, -0.011304f, -0.006551f, -0.048503f, -0.047224f, -0.024227f, 0.115246f, -0.017593f, 0.058474f, -0.051389f, 0.038437f, 0.018862f, -0.010687f, -0.039505f, -0.007440f, 0.032535f, 0.064716f, -0.023470f, -0.021890f, -0.006848f, 0.012574f, + 0.056443f, -0.014477f, -0.013320f, -0.042060f, 0.012894f, -0.063249f, -0.028052f, 0.044816f, 0.054525f, 0.005930f, -0.004485f, -0.029803f, -0.048441f, -0.140948f, 0.087847f, 0.033137f, 0.050474f, 0.004709f, -0.045736f, 0.050100f, -0.028310f, 0.021032f, 0.030036f, 0.028920f, 0.067835f, -0.001578f, 0.015893f, 0.018434f, -0.007528f, -0.029993f, -0.009777f, 0.049210f, 0.030634f, -0.028091f, -0.005988f, -0.019217f, -0.004762f, 0.022796f, 0.006943f, -0.032834f, -0.020902f, 0.030740f, 0.007349f, -0.010173f, 0.016227f, -0.027834f, -0.016645f, -0.006069f, 0.013692f, 0.021584f, 0.014360f, 0.003839f, 0.017441f, -0.014331f, -0.018264f, 0.002915f, -0.001672f, -0.025067f, 0.003128f, -0.025849f, -0.000815f, -0.015966f, -0.003558f, 0.003574f, -0.012937f, -0.024783f, 0.008477f, -0.059247f, 0.041389f, 0.040516f, -0.080275f, 0.007552f, -0.042175f, 0.004990f, -0.088375f, 0.088608f, 0.077273f, -0.008172f, -0.040316f, -0.014252f, -0.016157f, 0.042857f, -0.044203f, 0.055345f, -0.073895f, -0.043117f, 0.021079f, 0.025898f, 0.006009f, 0.024989f, 0.070401f, 0.019979f, 0.032482f, 0.008333f, 0.033754f, 0.023683f, + -0.015802f, 0.006701f, 0.028589f, -0.002327f, -0.002405f, 0.055871f, 0.025260f, 0.073428f, -0.006724f, 0.041690f, 0.000143f, -0.054337f, 0.055214f, -0.028918f, -0.006165f, 0.016609f, -0.051138f, -0.035014f, 0.019897f, 0.079857f, 0.043887f, 0.028547f, -0.103436f, -0.024558f, -0.072520f, -0.001199f, 0.116063f, 0.075810f, 0.087814f, 0.006339f, -0.085147f, 0.025926f, 0.086431f, 0.017558f, -0.021602f, 0.076312f, 0.008337f, 0.050800f, -0.132444f, -0.110525f, 0.079009f, -0.006357f, -0.035630f, -0.084848f, -0.018319f, -0.032289f, 0.036033f, 0.032681f, 0.039453f, 0.039786f, -0.016690f, 0.011905f, 0.073208f, 0.066883f, 0.070713f, 0.005121f, 0.101600f, 0.049934f, -0.017973f, -0.040996f, 0.000664f, -0.020602f, 0.006081f, 0.050865f, -0.008098f, 0.001459f, 0.037656f, 0.040653f, 0.004043f, -0.000624f, 0.016115f, 0.045100f, 0.016225f, 0.020694f, 0.031310f, 0.010294f, 0.024373f, -0.002033f, -0.013664f, -0.006857f, -0.005187f, 0.001044f, 0.032371f, -0.013250f, 0.005760f, -0.027363f, 0.039166f, 0.018052f, 0.017151f, -0.001386f, 0.019793f, -0.000918f, 0.067075f, 0.016290f, 0.068864f, -0.019563f, + 0.060249f, 0.026648f, 0.008958f, 0.025229f, 0.025966f, 0.028408f, -0.007784f, -0.006392f, 0.041242f, 0.013222f, 0.034566f, -0.076695f, 0.045212f, 0.060324f, 0.004576f, 0.020529f, -0.054663f, 0.042566f, -0.024892f, 0.020327f, 0.001931f, 0.000036f, 0.036063f, -0.011333f, 0.023451f, -0.007734f, -0.043921f, 0.011521f, -0.003120f, 0.048827f, 0.042729f, 0.060751f, 0.020213f, -0.046896f, -0.038642f, 0.039334f, 0.044325f, 0.020318f, 0.003771f, 0.013790f, -0.012297f, -0.038541f, 0.006346f, -0.014470f, 0.053968f, 0.037519f, 0.032847f, 0.042594f, 0.043825f, -0.061124f, 0.066716f, 0.065452f, 0.047999f, -0.033040f, -0.029320f, -0.042638f, 0.058059f, 0.033713f, 0.095495f, -0.058697f, -0.057993f, -0.045011f, -0.084968f, -0.022491f, 0.091205f, 0.014145f, 0.071550f, -0.077077f, -0.082287f, 0.017436f, 0.051709f, -0.072129f, 0.010882f, -0.057551f, 0.022387f, -0.066367f, -0.005586f, 0.030824f, 0.032727f, -0.060410f, 0.023230f, -0.046084f, -0.091209f, -0.003527f, 0.107049f, 0.055135f, 0.043081f, -0.030578f, -0.077397f, 0.116312f, 0.094008f, 0.025997f, -0.105565f, -0.004675f, -0.025230f, 0.074271f, + 0.037659f, 0.045812f, -0.055199f, 0.040454f, -0.025122f, 0.026287f, -0.038453f, 0.012783f, -0.042962f, 0.060542f, -0.012788f, 0.009433f, -0.073717f, 0.020507f, 0.008379f, -0.004027f, -0.017156f, 0.014181f, 0.006840f, 0.006976f, -0.046040f, 0.018350f, 0.045158f, 0.002236f, 0.026771f, 0.022779f, 0.018345f, 0.002380f, 0.008107f, 0.000271f, 0.001456f, 0.001332f, -0.015471f, -0.002341f, 0.013394f, -0.000950f, 0.027825f, 0.023840f, -0.014292f, -0.003265f, 0.012154f, 0.005035f, 0.021108f, -0.042812f, -0.001293f, -0.147437f, -0.030258f, -0.002958f, 0.001731f, 0.052425f, -0.137805f, -0.014867f, 0.062239f, -0.100750f, 0.022786f, -0.022295f, 0.118207f, 0.063439f, -0.072557f, 0.018670f, 0.079425f, 0.008939f, -0.031959f, 0.027068f, 0.018841f, 0.011291f, -0.001823f, -0.007117f, 0.005799f, 0.013843f, 0.026940f, 0.082805f, 0.065249f, 0.072509f, 0.048521f, 0.091096f, 0.043450f, 0.093121f, 0.037472f, 0.082693f, 0.000575f, 0.051654f, 0.045140f, 0.051191f, 0.037934f, -0.002910f, 0.014431f, -0.062055f, -0.038147f, 0.120394f, 0.000847f, -0.047029f, -0.014059f, 0.038317f, 0.062348f, 0.129491f, + -0.018085f, -0.070092f, -0.036367f, -0.051477f, 0.072633f, 0.084638f, 0.093264f, 0.029923f, -0.004136f, 0.064331f, -0.108791f, 0.099102f, 0.036544f, -0.051150f, -0.001708f, -0.167405f, 0.003240f, -0.110414f, -0.154867f, -0.037662f, -0.091343f, -0.038619f, 0.173814f, 0.160001f, 0.149024f, -0.117187f, -0.012862f, -0.012758f, 0.117005f, 0.185279f, -0.041920f, -0.051421f, 0.101486f, 0.105740f, 0.089593f, -0.010081f, -0.015363f, -0.050446f, -0.065129f, 0.010022f, -0.024452f, 0.028978f, 0.043625f, 0.039280f, 0.026002f, 0.003266f, 0.016568f, 0.050042f, 0.007671f, 0.000892f, -0.014785f, 0.003406f, 0.002584f, 0.014039f, 0.009384f, 0.010677f, 0.050352f, -0.003893f, -0.031238f, 0.031887f, 0.036382f, 0.009256f, 0.058584f, 0.014597f, 0.027947f, 0.065482f, 0.086081f, 0.064072f, 0.045711f, 0.019343f, 0.007997f, 0.025872f, 0.058779f, 0.026751f, 0.060284f, 0.045805f, 0.028579f, 0.043127f, 0.014974f, 0.058369f, 0.049827f, 0.041709f, 0.062103f, 0.036634f, 0.011104f, 0.018085f, -0.003926f, -0.040983f, 0.105886f, 0.128672f, -0.106579f, -0.097764f, 0.032888f, 0.112489f, 0.002795f, -0.052732f, + 0.000369f, 0.030522f, 0.033756f, -0.093051f, 0.034590f, -0.012427f, 0.049104f, -0.051095f, -0.024600f, -0.059871f, 0.063191f, -0.008626f, -0.027956f, -0.055982f, 0.040995f, 0.024205f, -0.009712f, -0.047315f, 0.022105f, 0.020948f, 0.011145f, -0.041809f, -0.006063f, -0.002100f, 0.048304f, -0.036441f, -0.008920f, -0.053291f, -0.014067f, 0.018438f, 0.042386f, -0.055448f, -0.021228f, 0.059100f, 0.050541f, -0.015521f, -0.035831f, -0.000219f, -0.018316f, 0.049378f, -0.028290f, -0.015556f, 0.023811f, 0.017945f, 0.030077f, -0.027078f, 0.008475f, -0.037317f, 0.043043f, 0.051068f, 0.024104f, 0.008005f, -0.040042f, 0.045395f, -0.032227f, 0.070251f, -0.051456f, 0.056484f, -0.088595f, 0.059859f, 0.007418f, -0.004994f, -0.062359f, -0.018382f, 0.020116f, -0.015695f, 0.005916f, -0.015163f, 0.017464f, -0.007541f, 0.019556f, -0.019116f, -0.026801f, -0.016681f, 0.018565f, 0.001690f, -0.002488f, -0.004344f, -0.014905f, 0.009526f, 0.021729f, -0.010993f, -0.002978f, 0.001730f, 0.002792f, -0.000775f, 0.003694f, -0.003469f, 0.015654f, 0.000921f, 0.020341f, -0.018231f, 0.003205f, -0.008148f, 0.020510f, -0.021924f, + 0.020186f, -0.022606f, 0.013422f, 0.007369f, 0.025598f, -0.005539f, 0.024192f, -0.021968f, -0.018463f, -0.003059f, 0.039466f, -0.018729f, 0.030295f, -0.010335f, 0.003704f, 0.005138f, 0.021142f, -0.008698f, 0.010332f, 0.005035f, -0.000635f, -0.000566f, 0.006571f, -0.001403f, -0.014800f, 0.028867f, -0.017602f, 0.005664f, -0.014367f, 0.010082f, -0.013715f, 0.015658f, -0.020326f, 0.023623f, -0.019073f, 0.020318f, -0.025596f, 0.023158f, -0.032192f, 0.031050f, -0.020326f, 0.022568f, -0.023891f, 0.024026f, -0.024334f, 0.025087f, -0.022964f, 0.024040f, -0.003417f, -0.022962f, 0.102616f, 0.109204f, -0.064262f, -0.038061f, 0.021650f, 0.104289f, 0.064787f, 0.038864f, 0.037375f, -0.016604f, -0.043644f, -0.013206f, 0.024501f, -0.000376f, -0.010285f, 0.031113f, 0.000536f, 0.021929f, 0.002683f, -0.011663f, -0.039107f, -0.010378f, -0.002295f, 0.002887f, -0.001555f, -0.031771f, 0.035459f, 0.005918f, -0.014285f, -0.000803f, -0.001105f, 0.000499f, 0.022886f, 0.042053f, 0.017926f, 0.004250f, -0.015154f, -0.021771f, -0.005659f, 0.013660f, 0.028178f, 0.037955f, -0.021200f, -0.020930f, 0.004722f, 0.038367f, + 0.017294f, 0.008549f, -0.017354f, -0.034837f, 0.029688f, -0.006137f, 0.000818f, 0.002006f, 0.009550f, 0.009164f, -0.004244f, -0.001285f, -0.022729f, 0.003471f, 0.020003f, -0.009530f, 0.011941f, -0.006731f, -0.016205f, 0.010258f, -0.003098f, 0.005539f, -0.001262f, 0.017390f, 0.011785f, -0.025988f, 0.007633f, 0.001215f, -0.047129f, -0.062619f, 0.001765f, 0.003636f, 0.014232f, 0.038081f, 0.004147f, -0.016815f, -0.016459f, 0.014978f, 0.016361f, 0.024842f, 0.016927f, 0.001026f, 0.007202f, -0.002705f, -0.018930f, -0.007894f, 0.002845f, -0.025976f, -0.024853f, 0.015943f, 0.016937f, -0.000446f, 0.019054f, -0.027110f, -0.004952f, -0.001316f, 0.001309f, -0.008412f, 0.004250f, 0.014572f, 0.020252f, 0.009845f, 0.017048f, -0.010865f, -0.021271f, 0.012395f, 0.001943f, -0.005271f, -0.036276f, -0.135419f, 0.057499f, 0.208843f, 0.192554f, 0.164381f, 0.065562f, -0.155954f, -0.097630f, -0.140202f, -0.157131f, -0.140471f, -0.040931f, 0.030391f, 0.118413f, 0.123371f, 0.147719f, 0.097874f, 0.098678f, 0.002472f, -0.103817f, -0.099117f, -0.122246f, -0.095586f, -0.053245f, -0.003559f, -0.034310f, 0.037187f, + 0.045779f, 0.074282f, 0.081520f, 0.082865f, 0.049321f, 0.004210f, 0.021898f, -0.018205f, 0.011717f, -0.056653f, -0.041247f, -0.052389f, -0.085734f, -0.067949f, -0.052150f, -0.036749f, -0.060974f, 0.008508f, 0.103971f, 0.117575f, 0.065568f, 0.122938f, 0.030414f, 0.071763f, 0.036835f, 0.021115f, -0.030950f, -0.065555f, -0.089967f, -0.126242f, -0.096905f, -0.144022f, -0.059725f, -0.064094f, 0.041287f, 0.041465f, 0.120442f, 0.138927f, 0.123601f, 0.110186f, 0.107599f, 0.067421f, 0.008191f, -0.037640f, -0.115255f, -0.072202f, -0.150532f, -0.128235f, -0.178518f, -0.028831f, -0.016071f, 0.044029f, 0.056369f, 0.101757f, 0.119565f, 0.100176f, 0.089320f, 0.066353f, 0.039022f, 0.005575f, -0.033332f, -0.047833f, -0.064588f, -0.099529f, -0.070059f, -0.086652f, -0.060406f, -0.030883f, -0.009034f, 0.019690f, 0.019020f, 0.095173f, 0.087594f, 0.086949f, 0.067678f, 0.049763f, 0.005820f, 0.030952f, -0.034568f, -0.057079f, -0.044614f, -0.123606f, -0.144263f, -0.027783f, -0.009828f, -0.006210f, 0.070198f, 0.057604f, 0.076622f, 0.053818f, 0.070009f, 0.021429f, 0.018012f, -0.005396f, -0.029827f, -0.038174f, + -0.049499f, -0.054656f, -0.033785f, -0.007048f, -0.042796f, -0.022471f, 0.033984f, 0.048675f, 0.032501f, 0.042168f, 0.028631f, 0.020929f, 0.005303f, -0.003773f, -0.014959f, -0.020870f, -0.016358f, -0.026098f, -0.013855f, -0.005119f, -0.009984f, -0.013247f, 0.002810f, 0.010100f, 0.002006f, 0.015343f, 0.019259f, 0.014616f, 0.009736f, 0.008503f, 0.002560f, -0.001576f, -0.005496f, -0.001396f, -0.002080f, 0.000734f} + }, + { + {-0.009620f, -0.009836f, -0.008129f, 0.002252f, -0.004664f, -0.000752f, -0.001333f, 0.004711f, 0.018830f, -0.005038f, 0.001896f, -0.017939f, -0.009798f, 0.005466f, -0.008528f, -0.006655f, -0.002517f, -0.007580f, -0.002008f, 0.015622f, -0.006711f, -0.010009f, 0.016884f, 0.013513f, -0.004769f, -0.003137f, 0.015455f, 0.004394f, 0.005994f, 0.002981f, 0.000757f, -0.003959f, -0.006513f, 0.006123f, -0.004852f, 0.004575f, 0.001663f, 0.001760f, -0.002163f, -0.005315f, -0.004166f, 0.003771f, -0.004796f, -0.007581f, -0.003416f, -0.003391f, -0.009650f, 0.010918f, 0.016878f, -0.009712f, 0.005509f, 0.000464f, -0.003788f, 0.002672f, -0.000418f, 0.000136f, -0.005651f, 0.010436f, -0.006192f, -0.007653f, 0.008688f, 0.002649f, -0.000454f, -0.000978f, 0.004774f, 0.000300f, -0.000135f, -0.003000f, -0.001503f, 0.009170f, -0.013396f, 0.004557f, 0.002466f, -0.003262f, -0.003202f, -0.004682f, -0.006817f, 0.000049f, 0.006581f, 0.006719f, 0.001960f, -0.000133f, 0.001524f, -0.003740f, 0.004898f, -0.001861f, 0.002883f, -0.002089f, -0.001341f, -0.001013f, -0.001219f, -0.000980f, 0.002262f, -0.000113f, 0.000935f, 0.001361f, + 0.000832f, 0.002342f, 0.002967f, -0.000986f, -0.000681f, -0.001335f, -0.000915f, -0.001893f, -0.000555f, -0.001266f, -0.001031f, -0.001926f, -0.000753f, -0.000225f, -0.029660f, -0.004685f, -0.010836f, -0.002668f, 0.002399f, -0.008088f, -0.018078f, 0.013251f, -0.004438f, 0.003084f, 0.008874f, -0.002822f, -0.000902f, -0.001108f, 0.004087f, -0.003141f, 0.014928f, -0.000623f, 0.011516f, 0.016877f, -0.020260f, 0.004241f, 0.014080f, 0.000963f, 0.002808f, 0.009738f, 0.018010f, 0.002567f, -0.004049f, 0.009056f, -0.002410f, -0.004705f, 0.004062f, 0.003194f, 0.004018f, -0.005084f, 0.018352f, -0.008484f, 0.004631f, 0.006833f, -0.000083f, -0.000912f, -0.008955f, 0.001442f, -0.010376f, 0.008698f, -0.010600f, -0.008157f, 0.005869f, -0.009901f, 0.006776f, -0.006919f, 0.002845f, -0.005591f, 0.003765f, 0.007963f, 0.015635f, 0.004775f, 0.001768f, 0.007584f, 0.000114f, -0.013544f, 0.001791f, 0.003767f, 0.005140f, -0.003433f, 0.000705f, -0.001896f, 0.002566f, 0.007501f, 0.004543f, 0.010260f, 0.003550f, 0.001328f, -0.006281f, -0.003251f, 0.006064f, 0.004683f, -0.006015f, 0.007155f, 0.003515f, 0.007827f, + -0.002468f, -0.001947f, -0.002476f, 0.000306f, -0.001534f, -0.006383f, -0.001173f, 0.000977f, 0.001046f, 0.004016f, 0.000446f, -0.001285f, -0.001566f, 0.001654f, 0.000862f, -0.003165f, -0.000472f, -0.000310f, 0.000018f, 0.001164f, 0.000330f, -0.001517f, -0.000209f, -0.001443f, -0.010830f, 0.008082f, 0.005178f, 0.001695f, 0.010120f, -0.000467f, 0.005651f, 0.013920f, 0.008531f, 0.018231f, 0.003462f, -0.002601f, -0.018638f, 0.003008f, -0.011446f, -0.003729f, 0.001387f, 0.004274f, -0.007185f, 0.000081f, 0.017834f, -0.009064f, -0.000524f, -0.009050f, 0.004301f, 0.000173f, 0.003428f, 0.007384f, 0.008565f, -0.005336f, 0.006416f, 0.006754f, 0.012891f, 0.000576f, -0.012731f, 0.001314f, 0.013668f, -0.001267f, -0.000898f, -0.001814f, 0.009178f, -0.010654f, 0.000864f, 0.007121f, 0.009186f, 0.011128f, -0.004198f, -0.007161f, -0.000964f, 0.015960f, 0.001448f, 0.005811f, -0.012956f, -0.005707f, 0.003103f, 0.002739f, -0.002243f, 0.008488f, -0.000612f, -0.001678f, 0.004694f, -0.008060f, 0.000488f, -0.001210f, 0.005524f, 0.008590f, -0.012584f, -0.002755f, 0.004041f, 0.008467f, -0.005402f, -0.005101f, + 0.003462f, 0.010020f, -0.000902f, 0.006750f, 0.004732f, 0.006919f, 0.002867f, 0.007712f, 0.011528f, 0.000500f, 0.003219f, -0.003141f, 0.004687f, 0.003407f, -0.002215f, -0.005156f, -0.000992f, -0.003642f, 0.001200f, -0.003328f, 0.001454f, -0.001494f, 0.000804f, -0.002694f, 0.000062f, -0.000229f, 0.000566f, -0.001605f, 0.002567f, -0.002415f, -0.001071f, -0.001060f, -0.001319f, 0.000352f, 0.001445f, 0.001535f, 0.000827f, -0.000706f, -0.000546f, -0.001114f, 0.003474f, 0.032246f, 0.015655f, 0.012708f, -0.011991f, -0.002123f, -0.016735f, -0.011965f, 0.017974f, 0.001621f, -0.011306f, -0.005271f, 0.003870f, -0.010718f, -0.000940f, 0.018258f, 0.007335f, -0.000759f, 0.005893f, 0.026775f, -0.017796f, 0.004273f, -0.003308f, -0.008664f, 0.015432f, 0.007821f, 0.008025f, -0.005999f, 0.006935f, 0.008837f, -0.002682f, 0.005670f, -0.001767f, -0.007640f, 0.001631f, 0.002864f, -0.001286f, 0.009063f, 0.002281f, -0.003281f, 0.010077f, -0.004589f, -0.004683f, -0.005818f, 0.002863f, 0.003842f, 0.000777f, 0.007199f, 0.001013f, 0.022659f, 0.001536f, -0.000020f, -0.005218f, -0.004738f, 0.005485f, -0.016877f, + 0.000748f, 0.010111f, 0.008089f, -0.009116f, 0.013405f, 0.000218f, 0.006024f, 0.010663f, -0.002978f, 0.008253f, 0.006462f, -0.002943f, -0.009574f, -0.007357f, 0.006085f, 0.015159f, 0.004377f, -0.006606f, -0.003194f, -0.003748f, 0.010489f, -0.008856f, -0.000453f, 0.008602f, 0.010038f, 0.001371f, 0.001307f, -0.002773f, -0.004132f, 0.000170f, -0.000925f, -0.003520f, -0.000679f, -0.001609f, -0.001695f, -0.002709f, -0.001313f, 0.003537f, 0.002455f, -0.000719f, 0.004642f, 0.001350f, 0.001900f, -0.000603f, 0.001611f, -0.000817f, -0.000359f, -0.000193f, 0.000575f, 0.000563f, 0.001330f, 0.002495f, 0.000678f, 0.000284f, -0.000722f, 0.007764f, 0.002094f, 0.021091f, 0.005289f, 0.012569f, -0.000532f, 0.002783f, 0.003573f, 0.003500f, -0.003452f, 0.012852f, -0.005378f, 0.013906f, -0.006793f, -0.005395f, 0.003693f, -0.009205f, -0.002585f, -0.002904f, 0.003970f, 0.005778f, -0.003636f, -0.013474f, 0.006178f, -0.016290f, -0.006516f, -0.002777f, -0.000318f, -0.002565f, 0.003246f, 0.014576f, 0.008306f, 0.000977f, -0.015107f, -0.014591f, 0.000568f, 0.009825f, -0.005130f, 0.001526f, -0.001796f, -0.006480f, + -0.009680f, 0.000994f, 0.006668f, 0.014056f, 0.012762f, -0.001642f, 0.004146f, -0.017658f, 0.006096f, 0.011708f, 0.013383f, -0.001658f, 0.012208f, 0.002585f, 0.017742f, 0.010442f, 0.003443f, 0.007983f, -0.000744f, -0.004638f, -0.003085f, -0.001811f, 0.011152f, -0.004274f, -0.006226f, -0.007756f, 0.011128f, -0.002701f, -0.019411f, 0.003849f, 0.007404f, 0.010879f, 0.014138f, 0.024092f, -0.010090f, -0.008300f, 0.014287f, 0.015054f, 0.011898f, 0.005070f, -0.002500f, -0.002775f, -0.009413f, -0.010580f, -0.002959f, -0.003841f, 0.003138f, -0.000463f, -0.003100f, -0.000463f, -0.005872f, 0.001222f, -0.000825f, 0.002709f, 0.000323f, -0.004500f, -0.000423f, 0.000434f, -0.000807f, -0.000448f, 0.002044f, 0.003907f, 0.003906f, 0.003211f, 0.000790f, 0.000770f, -0.006051f, 0.000228f, 0.004070f, -0.002755f, 0.002188f, 0.000455f, -0.001787f, -0.001476f, -0.000865f, 0.004057f, 0.002960f, 0.000573f, -0.000510f, 0.002195f, 0.000052f, -0.028013f, 0.013608f, 0.019194f, 0.002592f, 0.015976f, 0.002261f, -0.014322f, -0.001291f, -0.006686f, -0.003466f, 0.014749f, -0.019139f, -0.005358f, 0.006781f, 0.007540f, + 0.017442f, -0.003429f, 0.007584f, -0.027238f, -0.013787f, 0.006969f, 0.016184f, -0.010608f, -0.007539f, -0.011371f, -0.013633f, 0.007169f, -0.001620f, 0.000137f, 0.005181f, 0.002488f, 0.005403f, 0.021131f, -0.012726f, 0.020507f, -0.001068f, 0.004194f, 0.004616f, 0.004458f, -0.006120f, 0.007133f, -0.014444f, -0.002761f, -0.007838f, -0.001531f, -0.010712f, 0.013066f, 0.002376f, 0.036187f, 0.001226f, -0.002319f, -0.009092f, 0.001601f, -0.007603f, 0.018912f, -0.011605f, 0.002506f, -0.021100f, 0.015878f, 0.014681f, -0.017529f, 0.010781f, 0.010878f, 0.004604f, -0.009500f, -0.009589f, 0.015931f, 0.004196f, -0.023057f, 0.011131f, -0.010948f, -0.005859f, 0.005212f, -0.005671f, 0.002060f, 0.004751f, 0.006211f, -0.011914f, -0.029213f, 0.004345f, 0.006551f, -0.000804f, -0.006282f, 0.011625f, -0.004978f, -0.003640f, -0.005413f, 0.007768f, -0.009458f, -0.003631f, -0.005379f, -0.003871f, 0.002370f, -0.003497f, 0.005006f, 0.000836f, -0.008412f, 0.006273f, 0.000802f, -0.004195f, -0.000268f, 0.005668f, 0.001799f, 0.000386f, -0.000758f, -0.001405f, -0.004466f, 0.000496f, 0.001222f, 0.000689f, -0.000463f, + 0.002675f, -0.005054f, 0.000678f, 0.000940f, -0.005479f, -0.005011f, 0.012316f, 0.002374f, -0.000223f, -0.010398f, -0.017439f, 0.006174f, -0.009347f, -0.003782f, 0.016922f, -0.023023f, -0.009566f, -0.016964f, -0.001703f, 0.014542f, -0.001326f, -0.012001f, -0.016628f, -0.018700f, 0.007313f, 0.019779f, -0.005643f, 0.012358f, 0.018630f, -0.005151f, -0.004267f, 0.007286f, 0.010372f, 0.022086f, -0.003175f, 0.012417f, 0.001827f, 0.026261f, 0.019336f, 0.005288f, -0.006156f, 0.002655f, -0.014528f, 0.025497f, 0.005953f, -0.011242f, -0.012454f, 0.014707f, 0.012446f, 0.008943f, 0.006395f, 0.004370f, 0.013229f, -0.005700f, 0.005853f, -0.008727f, 0.001290f, 0.000720f, -0.013226f, -0.017705f, -0.006254f, -0.012503f, 0.008072f, -0.007629f, -0.005642f, -0.019310f, -0.012124f, 0.003711f, -0.006571f, -0.002307f, 0.009315f, 0.019361f, 0.024437f, 0.012700f, 0.010133f, -0.008988f, -0.019843f, 0.000356f, -0.013879f, -0.032120f, 0.000312f, -0.002248f, 0.012018f, 0.008096f, -0.007833f, -0.017891f, -0.009699f, 0.008671f, -0.000395f, -0.001983f, -0.007379f, 0.003975f, 0.004119f, 0.003248f, -0.001874f, -0.010180f, + 0.002184f, 0.001355f, 0.001031f, -0.002291f, -0.001220f, -0.001364f, 0.001309f, -0.004975f, -0.005100f, -0.000524f, 0.000661f, -0.004133f, 0.000401f, -0.000813f, 0.003875f, 0.005144f, -0.005503f, -0.000183f, 0.004056f, -0.000662f, -0.002288f, 0.000956f, 0.000621f, 0.005579f, -0.001687f, 0.003596f, 0.002848f, -0.002370f, -0.037047f, -0.011473f, 0.002045f, 0.018035f, -0.012994f, 0.008791f, 0.005789f, -0.000792f, 0.027206f, -0.003691f, 0.025604f, -0.015125f, 0.007520f, 0.008052f, 0.000321f, -0.023442f, -0.009668f, -0.008787f, -0.026562f, 0.009012f, -0.006607f, 0.005584f, -0.001659f, 0.009580f, -0.000034f, -0.010448f, 0.005545f, -0.017152f, 0.012619f, 0.007328f, 0.029125f, -0.001293f, 0.000881f, 0.026545f, -0.023504f, 0.020594f, 0.025316f, -0.015891f, 0.016305f, -0.006867f, -0.007647f, -0.013347f, 0.003356f, 0.002997f, 0.018005f, 0.011509f, -0.004639f, -0.007566f, -0.015303f, 0.008311f, 0.009550f, -0.017638f, -0.007893f, 0.016342f, -0.028797f, 0.002599f, -0.022244f, 0.012470f, 0.001231f, -0.000530f, 0.006730f, -0.007655f, 0.002560f, 0.026432f, -0.010938f, 0.005698f, 0.012920f, 0.008041f, + 0.001423f, -0.014099f, 0.006188f, 0.005080f, -0.008139f, -0.022784f, 0.000249f, -0.005282f, -0.017970f, 0.013526f, -0.004893f, 0.004923f, -0.000716f, 0.002494f, 0.005725f, 0.005478f, -0.010039f, 0.002454f, -0.001000f, 0.002218f, -0.000801f, 0.006702f, 0.003393f, -0.001753f, -0.001242f, -0.009867f, -0.000382f, -0.006768f, 0.001178f, 0.001040f, 0.007106f, -0.010426f, 0.003858f, 0.005529f, -0.003918f, -0.006497f, 0.002315f, -0.000996f, -0.003792f, 0.003051f, -0.000811f, -0.004079f, 0.001444f, -0.001415f, -0.004637f, -0.001353f, -0.002996f, -0.006281f, 0.002959f, -0.001953f, 0.000594f, -0.003459f, -0.000700f, -0.003534f, 0.001683f, 0.006635f, -0.000861f, -0.015145f, 0.044032f, -0.016374f, 0.008513f, 0.006333f, 0.015682f, 0.004944f, 0.009498f, 0.021997f, -0.017045f, -0.010445f, -0.001441f, 0.030601f, -0.011851f, -0.013022f, -0.015226f, 0.007564f, 0.005066f, 0.016747f, -0.034978f, 0.000331f, 0.000694f, -0.002373f, 0.017909f, -0.004358f, 0.013800f, 0.025683f, -0.018714f, -0.008379f, 0.007274f, -0.014012f, -0.017664f, 0.011847f, -0.016412f, 0.024150f, -0.004169f, -0.024871f, -0.003332f, -0.014283f, + 0.007855f, 0.019696f, -0.000424f, 0.009959f, -0.001264f, 0.003824f, 0.023429f, 0.000715f, 0.016982f, 0.006718f, -0.012793f, 0.013277f, 0.011325f, 0.001560f, 0.009507f, 0.033671f, -0.005628f, -0.015161f, 0.007964f, -0.019187f, 0.001462f, 0.032159f, 0.010887f, 0.005061f, -0.006170f, -0.009233f, -0.006240f, -0.011402f, 0.019361f, -0.012763f, -0.003434f, -0.007964f, 0.021976f, -0.040484f, 0.013806f, 0.014242f, 0.024317f, 0.005757f, 0.001819f, 0.021436f, -0.006104f, -0.009302f, -0.012183f, 0.000284f, -0.010139f, -0.001032f, -0.008728f, 0.007020f, 0.000620f, -0.007771f, -0.008199f, -0.006862f, 0.002575f, 0.008373f, 0.006702f, 0.001430f, 0.000463f, -0.003596f, -0.008872f, -0.002969f, -0.002314f, 0.003628f, 0.003699f, -0.001498f, -0.002210f, 0.001718f, -0.005332f, -0.000033f, -0.005175f, -0.002614f, -0.006803f, -0.009150f, -0.002573f, 0.003109f, 0.010125f, 0.001620f, -0.002850f, -0.002727f, 0.003955f, -0.000995f, 0.009709f, 0.004388f, 0.001668f, 0.001351f, 0.065080f, 0.019422f, -0.011861f, -0.015806f, -0.013315f, 0.047150f, -0.040633f, 0.003234f, 0.015916f, 0.002354f, -0.022029f, -0.004983f, + 0.011060f, -0.002360f, 0.002570f, 0.019559f, -0.020239f, -0.017003f, 0.008347f, 0.025495f, 0.015716f, 0.006585f, -0.012350f, -0.012072f, -0.011620f, -0.013540f, 0.012630f, 0.005016f, 0.018098f, 0.014516f, 0.008274f, -0.019204f, -0.009127f, -0.020458f, -0.004054f, -0.013421f, -0.030898f, -0.005758f, 0.013819f, 0.003071f, -0.014328f, -0.014452f, 0.000374f, 0.007478f, 0.019357f, 0.002461f, 0.009821f, 0.002804f, 0.037395f, -0.032436f, 0.021236f, 0.003982f, -0.033090f, -0.005977f, -0.009966f, -0.008187f, 0.005099f, -0.014488f, 0.008760f, 0.006363f, 0.014837f, -0.018068f, 0.006417f, 0.028943f, 0.013571f, 0.045985f, -0.010269f, -0.001141f, -0.011285f, -0.005780f, 0.001268f, -0.000913f, -0.043584f, 0.019439f, -0.001815f, -0.002550f, 0.011849f, 0.011710f, -0.012343f, -0.018569f, -0.020303f, -0.007549f, 0.014446f, 0.006152f, -0.004722f, -0.011996f, 0.010609f, -0.018865f, 0.009902f, -0.003088f, -0.008524f, -0.010662f, -0.011560f, -0.004173f, -0.003840f, 0.001839f, -0.004815f, -0.003263f, 0.002414f, -0.003461f, -0.003222f, 0.002010f, -0.009445f, -0.004307f, -0.000641f, -0.003214f, -0.005399f, -0.002410f, + -0.009592f, 0.001367f, 0.007211f, 0.009706f, 0.011395f, -0.008256f, -0.010106f, -0.007170f, -0.009137f, 0.000353f, -0.000006f, -0.005605f, -0.006374f, 0.002463f, -0.000837f, 0.006332f, -0.001953f, -0.000455f, 0.004914f, 0.004919f, -0.003939f, -0.021783f, 0.005297f, 0.011852f, -0.000453f, -0.013384f, -0.009288f, -0.028932f, -0.034378f, 0.007138f, -0.015234f, -0.007256f, 0.005064f, -0.000287f, -0.003593f, -0.015341f, -0.007609f, -0.000147f, 0.012079f, 0.012869f, -0.018881f, -0.010834f, 0.011899f, -0.016922f, -0.008306f, -0.027715f, 0.026838f, -0.003492f, 0.024179f, 0.002116f, 0.009074f, 0.025686f, 0.019419f, -0.011404f, 0.005857f, 0.013061f, -0.013712f, -0.005583f, 0.012729f, -0.004719f, -0.030783f, -0.005722f, -0.021567f, 0.031651f, -0.003340f, -0.008401f, -0.018089f, -0.026400f, 0.009468f, 0.005599f, 0.006233f, 0.013029f, 0.000309f, -0.004812f, 0.013636f, 0.003483f, -0.002600f, 0.004797f, -0.007615f, 0.020917f, -0.004937f, 0.013198f, 0.039049f, 0.008708f, 0.007339f, 0.009145f, 0.014411f, -0.033987f, -0.027508f, 0.010474f, -0.030024f, 0.020795f, -0.004237f, 0.023825f, 0.006295f, 0.046450f, + 0.018242f, 0.003163f, -0.013496f, -0.005988f, -0.023885f, -0.001610f, 0.007454f, 0.004666f, 0.005079f, 0.008211f, 0.021198f, -0.008816f, -0.017190f, -0.005976f, -0.004777f, 0.006672f, 0.019235f, 0.006803f, -0.004637f, 0.005546f, 0.005642f, -0.000991f, -0.004446f, -0.011196f, 0.000753f, 0.001262f, -0.005464f, -0.007409f, -0.001412f, -0.011873f, 0.008328f, 0.004728f, -0.005583f, -0.001810f, -0.011794f, -0.005781f, 0.005452f, 0.010322f, -0.005185f, -0.004792f, -0.000218f, -0.009477f, 0.010049f, -0.000476f, 0.007238f, -0.009804f, 0.000004f, -0.010158f, 0.005946f, -0.012054f, -0.002735f, -0.055456f, -0.038837f, 0.014410f, -0.015469f, -0.032073f, -0.048684f, -0.001186f, 0.003883f, -0.009440f, -0.007776f, 0.046433f, 0.012184f, -0.033577f, 0.007026f, -0.020490f, -0.017236f, -0.016639f, -0.029987f, -0.004953f, 0.002765f, -0.041294f, -0.039102f, -0.014855f, 0.006469f, 0.003851f, 0.023692f, 0.020053f, 0.012459f, -0.009942f, -0.000386f, 0.009165f, -0.021178f, -0.011806f, -0.007226f, 0.007014f, -0.019896f, -0.012152f, 0.013598f, 0.008238f, -0.000539f, -0.003053f, -0.003716f, 0.011337f, -0.028651f, -0.016325f, + -0.014106f, 0.019009f, -0.022209f, 0.015099f, 0.025454f, 0.034873f, -0.002319f, 0.010038f, -0.008268f, -0.016634f, -0.021839f, -0.005882f, 0.021531f, 0.008104f, -0.039096f, 0.001737f, 0.040460f, -0.026863f, 0.001308f, -0.005727f, 0.002157f, 0.009627f, 0.020634f, -0.004268f, 0.006556f, 0.024777f, 0.017035f, 0.010919f, -0.018951f, -0.022801f, 0.016670f, -0.016496f, -0.031241f, -0.030001f, 0.032696f, 0.012457f, 0.018061f, 0.007763f, -0.005149f, -0.006292f, 0.015600f, 0.011063f, 0.002941f, 0.015037f, -0.005993f, -0.019682f, -0.010170f, -0.013713f, 0.005516f, 0.019929f, 0.009702f, 0.002423f, 0.011792f, 0.006557f, 0.010995f, -0.002088f, -0.005642f, 0.006781f, -0.002458f, -0.007613f, -0.006494f, 0.005262f, -0.018192f, 0.004015f, 0.010670f, -0.006401f, 0.013200f, 0.009064f, -0.000761f, -0.001425f, 0.012444f, 0.001556f, -0.002878f, -0.007914f, -0.007788f, 0.002192f, 0.006560f, 0.001509f, 0.005282f, -0.007886f, -0.032411f, 0.017885f, -0.026237f, -0.046767f, 0.008437f, -0.028433f, -0.016528f, 0.055264f, 0.003748f, 0.041382f, 0.037226f, -0.007463f, 0.039203f, 0.054263f, 0.038572f, -0.048524f, + -0.006491f, -0.022550f, -0.022863f, -0.013971f, 0.000960f, -0.020001f, 0.042329f, 0.012590f, 0.023221f, -0.019821f, 0.022226f, 0.017132f, 0.005678f, -0.025246f, -0.019666f, 0.040319f, -0.007384f, -0.037591f, -0.002585f, -0.043510f, -0.006302f, 0.012125f, -0.015633f, 0.000989f, -0.035548f, 0.016343f, 0.032174f, 0.017476f, -0.004774f, -0.017395f, -0.006542f, -0.004348f, -0.006077f, -0.016288f, -0.043674f, 0.029526f, 0.016543f, 0.015450f, 0.018432f, -0.024747f, 0.038456f, 0.004895f, -0.011676f, -0.008523f, -0.030752f, -0.013472f, 0.019838f, 0.012375f, 0.032873f, -0.003486f, -0.037772f, -0.066120f, -0.003969f, -0.000396f, 0.000188f, -0.023782f, -0.033427f, -0.006281f, 0.021990f, -0.011564f, -0.013578f, 0.008850f, -0.003067f, 0.033697f, -0.006728f, -0.029825f, -0.010798f, 0.031386f, 0.001903f, 0.006031f, -0.030567f, -0.010747f, -0.005853f, 0.012676f, 0.016199f, -0.007980f, 0.005562f, 0.001327f, 0.012099f, 0.008053f, -0.001348f, 0.005516f, 0.016246f, 0.004061f, -0.000403f, -0.005368f, 0.001728f, 0.010879f, -0.000486f, 0.005562f, 0.018588f, 0.002814f, -0.006557f, -0.013794f, -0.001646f, 0.010105f, + -0.009730f, 0.005185f, -0.004444f, -0.002911f, -0.006528f, -0.008280f, -0.006427f, 0.000175f, 0.011698f, 0.009257f, -0.012678f, -0.023055f, -0.006948f, 0.008652f, 0.002994f, 0.003138f, 0.070553f, 0.044499f, -0.006317f, -0.041094f, 0.008647f, 0.020490f, 0.011806f, 0.029945f, 0.044943f, -0.019832f, 0.003700f, -0.040170f, 0.011374f, 0.003316f, -0.015592f, 0.072389f, 0.027428f, 0.062462f, 0.025780f, 0.016115f, -0.054430f, 0.000844f, 0.030347f, 0.005538f, -0.028981f, 0.012253f, -0.044298f, -0.017286f, 0.003032f, 0.013353f, -0.013279f, -0.008604f, 0.009584f, 0.007835f, 0.003181f, 0.039224f, 0.024346f, 0.006462f, -0.015719f, 0.027018f, -0.017583f, -0.012603f, -0.025843f, -0.008588f, 0.033664f, -0.053204f, -0.000838f, 0.023893f, -0.026573f, -0.008338f, 0.010108f, 0.008993f, 0.049118f, -0.002820f, -0.000578f, -0.022923f, 0.048022f, -0.021389f, 0.006043f, 0.005059f, 0.033245f, -0.007745f, -0.012040f, 0.031686f, -0.053462f, 0.013946f, 0.005094f, -0.022133f, 0.042699f, -0.053384f, -0.006806f, -0.017833f, -0.035888f, -0.017924f, -0.003214f, 0.015225f, 0.033536f, 0.055384f, 0.026979f, 0.036607f, + 0.055690f, -0.022650f, 0.010238f, 0.014041f, -0.023844f, 0.032246f, 0.000606f, -0.042639f, 0.022349f, 0.011861f, -0.015661f, 0.001525f, 0.032913f, 0.024951f, 0.007310f, 0.019700f, 0.005809f, 0.006462f, 0.018050f, -0.003186f, 0.007650f, 0.016216f, -0.003984f, 0.003617f, -0.003006f, -0.000839f, 0.011353f, 0.002337f, 0.001164f, -0.009892f, -0.005987f, -0.006821f, -0.014158f, 0.003167f, -0.007844f, -0.022454f, 0.008601f, 0.013647f, -0.004727f, -0.000123f, 0.005993f, -0.007680f, -0.000335f, 0.023956f, -0.003675f, -0.006535f, -0.015137f, -0.068379f, 0.018946f, 0.003602f, 0.082586f, 0.018862f, 0.015526f, -0.002267f, 0.040280f, 0.010874f, -0.060541f, -0.009294f, 0.064773f, -0.019190f, -0.013639f, 0.005465f, -0.004479f, 0.001472f, -0.011794f, 0.067456f, 0.076740f, -0.041263f, 0.018629f, 0.020664f, 0.011221f, 0.021803f, -0.033776f, -0.046654f, 0.035913f, 0.009872f, -0.025805f, -0.044601f, -0.013390f, -0.015143f, 0.040803f, 0.033352f, 0.018719f, -0.037759f, 0.020771f, -0.016355f, 0.013244f, 0.002278f, 0.017531f, 0.038478f, 0.008856f, -0.085992f, -0.026353f, 0.015811f, -0.034452f, 0.010491f, + 0.036496f, 0.012278f, 0.063551f, -0.021011f, -0.095454f, -0.002189f, -0.038051f, 0.033233f, 0.028830f, -0.010393f, -0.020300f, 0.029518f, -0.045838f, -0.008162f, -0.024765f, 0.021672f, 0.029854f, 0.025516f, 0.027737f, -0.020652f, -0.038842f, -0.115606f, -0.055278f, -0.067266f, 0.010637f, -0.045581f, -0.022097f, -0.009260f, -0.050156f, 0.026919f, -0.090302f, 0.028151f, -0.064935f, -0.047031f, 0.046323f, 0.054741f, -0.016807f, -0.002194f, 0.029648f, 0.038604f, -0.052997f, 0.001178f, 0.008689f, -0.007598f, 0.009361f, 0.028522f, -0.003629f, 0.012628f, -0.002400f, 0.011162f, -0.023427f, -0.012259f, -0.010679f, -0.015399f, -0.003347f, 0.022389f, 0.009297f, 0.020159f, 0.000763f, -0.021262f, -0.019333f, 0.003398f, 0.011744f, -0.004375f, 0.012471f, 0.013036f, 0.031406f, 0.003112f, 0.010810f, 0.003447f, 0.007492f, -0.013798f, -0.004229f, 0.005780f, -0.011228f, 0.000604f, -0.005142f, 0.001355f, 0.005835f, 0.032827f, -0.003012f, -0.019432f, -0.021565f, 0.002163f, -0.001220f, -0.034288f, -0.020107f, 0.014196f, -0.022550f, -0.001111f, -0.000291f, -0.089430f, -0.013154f, 0.059552f, -0.070687f, 0.007137f, + 0.026434f, 0.000956f, 0.018540f, -0.005075f, -0.055994f, -0.004466f, 0.030542f, 0.010484f, 0.045493f, 0.031041f, -0.048028f, -0.051769f, -0.006895f, -0.022273f, -0.007373f, -0.085474f, 0.032061f, 0.034192f, 0.059963f, 0.027476f, 0.054580f, -0.023397f, 0.007501f, 0.056269f, -0.017706f, 0.061219f, 0.016996f, 0.032463f, 0.010916f, -0.015367f, 0.030176f, -0.036883f, 0.001808f, 0.077308f, -0.059893f, 0.005670f, -0.077903f, -0.034949f, -0.056027f, -0.037974f, -0.009820f, 0.004216f, -0.018428f, -0.059268f, -0.010751f, -0.098521f, 0.111353f, 0.039164f, 0.000625f, -0.015009f, -0.026963f, 0.006246f, -0.049062f, 0.009115f, -0.073503f, 0.001724f, 0.003695f, 0.016453f, 0.047023f, 0.067839f, 0.002286f, -0.113738f, -0.052323f, 0.048757f, -0.024867f, -0.022723f, -0.027611f, -0.015137f, 0.056073f, 0.011657f, -0.031596f, 0.023544f, -0.052769f, 0.009147f, -0.010063f, -0.023440f, -0.053279f, -0.030178f, 0.033571f, -0.016075f, -0.012977f, 0.018043f, -0.019879f, -0.006240f, 0.033400f, -0.039264f, -0.026679f, -0.011530f, -0.008282f, 0.041976f, 0.019503f, 0.011320f, 0.024771f, 0.009668f, -0.004251f, 0.019302f, + -0.000572f, 0.014132f, 0.020182f, 0.031561f, -0.012491f, -0.000377f, -0.003701f, 0.023231f, 0.035347f, 0.013036f, -0.008713f, -0.002700f, -0.010973f, -0.025930f, 0.045210f, -0.013471f, 0.023195f, -0.013570f, 0.006995f, -0.014418f, -0.010522f, 0.011436f, 0.020525f, -0.044356f, 0.031424f, 0.050877f, 0.018737f, -0.023238f, -0.030949f, 0.014833f, -0.039955f, 0.063240f, 0.052655f, 0.080149f, -0.057171f, -0.070389f, -0.017705f, -0.001602f, -0.035643f, 0.047149f, 0.057151f, -0.042261f, -0.000179f, -0.075371f, -0.022293f, -0.035677f, -0.068107f, 0.021567f, 0.056148f, 0.034082f, -0.044285f, -0.017102f, 0.005150f, 0.037925f, 0.005629f, -0.002657f, 0.014184f, -0.004181f, -0.019185f, -0.060901f, -0.041407f, 0.015843f, -0.005734f, -0.033068f, 0.035999f, 0.032182f, 0.020398f, -0.062308f, -0.056974f, 0.054017f, 0.032502f, 0.040204f, -0.040675f, -0.103881f, -0.019674f, 0.043997f, 0.043485f, -0.010464f, 0.105240f, -0.012875f, 0.105793f, -0.158865f, -0.197258f, -0.080813f, -0.118850f, 0.001631f, 0.046286f, 0.024631f, 0.128480f, -0.014350f, -0.008439f, 0.024199f, -0.025716f, -0.101126f, -0.090360f, -0.100251f, + 0.080312f, 0.066093f, -0.024928f, -0.006514f, -0.168182f, 0.047138f, -0.002256f, -0.074744f, 0.031082f, 0.048401f, 0.074220f, 0.058593f, 0.026859f, -0.004858f, -0.050041f, 0.001812f, 0.002373f, -0.013664f, -0.021598f, 0.059651f, 0.036462f, 0.023426f, 0.060365f, -0.046250f, 0.011019f, -0.012712f, -0.028991f, 0.038209f, -0.006066f, -0.065796f, -0.000569f, 0.021189f, -0.023836f, 0.031711f, -0.012713f, 0.008726f, -0.014740f, 0.073735f, 0.057207f, 0.068337f, -0.057445f, -0.012689f, 0.070325f, 0.052414f, -0.050067f, -0.030559f, -0.050428f, -0.029342f, 0.041002f, 0.047010f, -0.016501f, -0.004433f, 0.078431f, 0.003619f, 0.007210f, -0.010010f, 0.013953f, 0.013850f, 0.012874f, 0.022594f, -0.076190f, 0.066479f, 0.050865f, 0.020700f, 0.062941f, -0.037032f, 0.023299f, -0.104087f, -0.050074f, 0.027190f, 0.038553f, 0.017476f, 0.013582f, 0.012778f, 0.027070f, -0.012787f, 0.118450f, 0.010507f, 0.073832f, 0.020996f, -0.035349f, 0.089963f, -0.012078f, 0.035225f, 0.002060f, 0.032131f, -0.003220f, -0.002116f, 0.019982f, 0.045049f, 0.013368f, 0.032860f, 0.002510f, -0.006996f, 0.071339f, 0.007913f, + -0.014812f, 0.001038f, -0.005412f, -0.036007f, -0.010065f, 0.019851f, 0.013418f, -0.080473f, -0.019434f, 0.009950f, 0.018752f, 0.083752f, 0.068585f, -0.083208f, -0.045578f, 0.006665f, -0.018207f, 0.092246f, 0.009187f, 0.085068f, -0.059866f, 0.042732f, 0.008814f, 0.004545f, 0.039753f, 0.087434f, 0.057009f, 0.011513f, 0.077613f, 0.030264f, -0.036330f, -0.078289f, 0.068616f, -0.062471f, 0.041535f, -0.082212f, 0.000461f, -0.130274f, 0.135113f, -0.033570f, 0.004727f, -0.091271f, 0.082032f, -0.031980f, 0.025995f, -0.067012f, 0.079226f, -0.041446f, -0.037210f, -0.027246f, -0.049772f, 0.015324f, -0.027892f, 0.023464f, -0.025866f, 0.043231f, -0.048628f, 0.043316f, -0.051203f, 0.028065f, -0.059957f, 0.047776f, -0.020743f, 0.053046f, -0.018615f, 0.027750f, -0.022676f, 0.017873f, -0.025867f, 0.000840f, -0.028270f, 0.032174f, 0.013107f, 0.009050f, -0.011338f, 0.003035f, -0.022611f, 0.017274f, -0.023233f, 0.040625f, -0.033805f, -0.040210f, -0.018216f, 0.016175f, -0.047798f, 0.036758f, -0.011914f, 0.020174f, -0.013700f, 0.011473f, -0.022081f, 0.010234f, -0.011477f, 0.012269f, -0.003782f, -0.130310f, + -0.032561f, -0.010102f, 0.013741f, 0.011698f, -0.081110f, -0.047126f, 0.073301f, -0.028427f, 0.027039f, -0.032436f, 0.007166f, 0.092084f, 0.148425f, 0.010293f, -0.005285f, 0.074554f, 0.032480f, 0.030881f, 0.091892f, 0.002071f, 0.055624f, 0.067502f, 0.064775f, -0.025397f, 0.027986f, 0.058352f, 0.081190f, 0.066483f, 0.099856f, 0.056432f, 0.127522f, 0.135387f, 0.097779f, 0.107954f, 0.073501f, -0.008042f, 0.035962f, 0.019152f, -0.028023f, -0.027613f, 0.021141f, 0.063038f, 0.014270f, 0.002919f, -0.000460f, 0.031162f, 0.093695f, 0.072957f, 0.157423f, 0.031791f, -0.081943f, 0.032674f, 0.001435f, 0.033408f, -0.042188f, 0.062637f, -0.114432f, -0.147340f, 0.041005f, 0.148159f, 0.064250f, 0.029603f, -0.183876f, 0.001061f, 0.069573f, 0.110949f, 0.148786f, -0.063352f, 0.008965f, -0.256936f, -0.169675f, 0.068627f, 0.095961f, -0.143123f, -0.122386f, -0.076163f, 0.140164f, 0.093654f, -0.168350f, -0.217045f, -0.044248f, 0.088317f, -0.104210f, 0.049352f, -0.016316f, -0.037634f, -0.056520f, 0.007658f, 0.021837f, 0.036420f, -0.007008f, -0.089947f, -0.078181f, 0.009432f, -0.024729f, 0.037517f, + 0.004569f, -0.009527f, -0.034743f, -0.022835f, 0.013565f, -0.002254f, -0.075302f, -0.037862f, -0.057188f, -0.029532f, 0.009485f, -0.029145f, -0.021920f, -0.067211f, -0.089672f, -0.122814f, -0.123067f, -0.103645f, -0.088544f, -0.097244f, -0.097054f, -0.074014f, -0.102357f, -0.108092f, -0.092459f, -0.103895f, -0.067769f, -0.018505f, -0.060283f, -0.086915f, -0.058175f, 0.002128f, -0.032487f, -0.017797f, -0.021680f, 0.044142f, 0.046641f, 0.000865f, 0.020185f, 0.023790f, 0.012762f, 0.013132f, -0.001344f, 0.009937f, 0.006606f, -0.049979f, 0.124657f, 0.137316f, -0.154968f, -0.066215f, 0.061613f, -0.044979f, 0.031556f, -0.058545f, 0.053649f, -0.049781f, 0.013688f, -0.001418f, -0.021484f, 0.010570f, 0.004621f, -0.016233f, -0.009103f, -0.040085f, -0.008363f, 0.007078f, 0.006697f, -0.040832f, 0.039456f, -0.037581f, -0.010507f, -0.032789f, 0.005575f, -0.031456f, 0.063194f, -0.002892f, 0.018175f, -0.018076f, 0.018124f, -0.019128f, 0.019418f, 0.035770f, 0.052865f, -0.015461f, 0.019062f, 0.017103f, 0.046647f, -0.029594f, 0.030711f, -0.026594f, 0.055645f, -0.015933f, -0.028611f, 0.015667f, -0.011517f, -0.018035f, + 0.007991f, -0.006530f, 0.024922f, -0.014102f, -0.028814f, -0.031581f, 0.006469f, 0.003937f, -0.051533f, 0.014393f, -0.006481f, -0.007177f, 0.010984f, -0.016912f, -0.007327f, 0.003556f, -0.006768f, 0.005468f, -0.026956f, 0.031730f, -0.093593f, 0.048402f, -0.038902f, 0.061937f, -0.041053f, 0.055229f, 0.001047f, 0.029072f, 0.019803f, 0.023241f, 0.013395f, 0.002191f, 0.012797f, -0.004108f, -0.038346f, -0.010505f, 0.003731f, -0.018392f, -0.005706f, -0.010680f, -0.002387f, 0.000059f, -0.013334f, -0.003483f, 0.007742f, -0.003723f, -0.022985f, 0.024565f, -0.002386f, 0.012014f, -0.024520f, 0.010523f, -0.014288f, 0.008597f, -0.017002f, 0.019739f, -0.025880f, 0.037570f, -0.005251f, 0.003025f, -0.038928f, 0.026105f, 0.000456f, 0.018224f, -0.036727f, 0.007263f, -0.013812f, 0.003364f, -0.005378f, 0.000938f, -0.023086f, 0.009932f, -0.002424f, -0.018964f, 0.004524f, 0.028976f, -0.033217f, -0.000876f, -0.011059f, 0.015499f, -0.022159f, 0.020606f, -0.017002f, 0.002788f, -0.011089f, 0.014600f, -0.003164f, 0.005895f, -0.003775f, 0.006802f, -0.010237f, 0.003473f, -0.002113f, -0.008251f, 0.003285f, 0.001041f, + 0.002795f, -0.003670f, 0.009750f, -0.002627f, 0.002308f, -0.007480f, 0.013788f, -0.018405f, 0.006187f, -0.025270f, 0.118374f, 0.071784f, -0.039027f, -0.044895f, -0.003932f, 0.147082f, 0.061453f, 0.020624f, 0.040716f, -0.035665f, -0.045022f, 0.012547f, 0.028554f, 0.007449f, 0.002591f, -0.015662f, -0.012204f, 0.013840f, 0.014111f, 0.034242f, 0.015240f, -0.018461f, -0.008139f, -0.009128f, -0.018608f, -0.000207f, 0.003283f, 0.009121f, 0.011611f, 0.000355f, -0.004940f, 0.013666f, -0.039479f, -0.015004f, 0.017563f, 0.025182f, 0.031223f, -0.017576f, -0.010226f, -0.018686f, 0.031936f, 0.022092f, -0.006047f, 0.010146f, -0.036909f, -0.031943f, 0.029470f, 0.022918f, 0.007229f, -0.055938f, -0.028759f, 0.002295f, 0.009318f, 0.036812f, 0.026319f, -0.004138f, 0.010824f, 0.013075f, -0.017487f, 0.015982f, 0.017341f, -0.005135f, -0.010672f, 0.010300f, -0.018724f, 0.001747f, -0.003205f, -0.013144f, -0.020059f, 0.027822f, 0.005685f, 0.006156f, 0.038328f, 0.046624f, 0.016504f, 0.037729f, 0.035321f, -0.005588f, -0.009551f, -0.010634f, -0.006823f, 0.014720f, 0.024092f, -0.009371f, 0.007409f, -0.021655f, + -0.007879f, -0.001082f, 0.005135f, -0.011820f, -0.014107f, 0.014564f, 0.027885f, 0.012049f, 0.007727f, 0.011669f, -0.013421f, 0.001077f, 0.013262f, 0.002586f, -0.004181f, 0.003333f, -0.001378f, -0.016265f, 0.033067f, 0.010766f, -0.026479f, -0.025011f, 0.010050f, -0.004968f, 0.026073f, 0.013796f, -0.003348f, 0.009735f, 0.003339f, -0.005405f, -0.001216f, -0.007546f, 0.007632f, 0.011959f, 0.001846f, -0.003141f, -0.010370f, 0.008861f, -0.002065f, -0.042465f, -0.117106f, 0.040564f, 0.215367f, 0.169339f, 0.162175f, 0.051849f, -0.150729f, -0.090426f, -0.133615f, -0.134055f, -0.122150f, -0.042640f, 0.065922f, 0.084939f, 0.133634f, 0.119675f, 0.072119f, 0.012118f, 0.011818f, -0.057891f, -0.091491f, -0.131015f, -0.050326f, -0.035555f, 0.011851f, -0.007368f, 0.066586f, 0.044940f, 0.019190f, 0.088936f, 0.050014f, 0.038081f, -0.007671f, 0.033420f, -0.060282f, -0.045490f, -0.037549f, -0.043936f, -0.057818f, -0.034867f, -0.023010f, -0.058878f, -0.040655f, 0.015677f, 0.086785f, 0.083716f, 0.095152f, 0.074692f, 0.108779f, 0.018842f, 0.027939f, -0.072208f, -0.053386f, -0.045830f, -0.108289f, -0.107905f, + -0.096750f, -0.045744f, -0.056653f, 0.013353f, 0.042137f, 0.060555f, 0.121726f, 0.119517f, 0.114464f, 0.102641f, 0.089893f, 0.019224f, -0.052674f, -0.085932f, -0.153465f, -0.131889f, -0.096115f, -0.131088f, -0.060752f, -0.027331f, 0.005888f, 0.128722f, 0.100960f, 0.148066f, 0.146322f, 0.106880f, 0.030007f, -0.029477f, -0.043619f, -0.050640f, -0.045111f, -0.087078f, -0.107684f, -0.075247f, -0.051350f, -0.045425f, 0.005823f, 0.030341f, 0.048279f, 0.041570f, 0.086800f, 0.094856f, 0.071737f, 0.057053f, 0.009623f, -0.019976f, -0.040789f, -0.066815f, -0.057375f, -0.040699f, -0.064092f, -0.086891f, -0.009088f, 0.005116f, -0.014206f, 0.075015f, 0.099003f, 0.063385f, 0.055703f, 0.004245f, 0.015828f, -0.010195f, -0.017300f, -0.043139f, -0.050710f, -0.033251f, -0.037873f, 0.005534f, -0.015043f, 0.005038f, 0.000875f, 0.034270f, 0.018492f, 0.017777f, 0.032048f, 0.032750f, 0.000204f, -0.008360f, -0.023002f, -0.022891f, -0.006421f, -0.004967f, -0.010993f, -0.010766f, 0.002418f, 0.003138f, -0.002499f, 0.006000f, 0.006444f, 0.006217f, 0.002059f, 0.021662f, 0.008178f, 0.000235f, 0.003860f, 0.000070f, + -0.006743f, -0.005685f, -0.005704f, -0.003118f, -0.001942f, 0.000467f, -0.000715f}, + {-0.006247f, -0.007775f, -0.011480f, 0.003879f, -0.005610f, -0.011332f, -0.007258f, 0.005155f, -0.014317f, -0.007933f, -0.017510f, 0.006085f, 0.007822f, 0.009960f, 0.005430f, -0.006128f, 0.013263f, -0.009081f, 0.002677f, 0.000278f, -0.001911f, -0.009596f, -0.004918f, -0.010554f, 0.000409f, -0.004486f, 0.005906f, 0.003913f, -0.005040f, -0.001609f, -0.001155f, -0.009687f, -0.000409f, -0.002153f, 0.004300f, -0.000172f, 0.008757f, -0.003118f, 0.011081f, -0.004800f, 0.000136f, 0.001785f, -0.008103f, 0.005629f, -0.002492f, -0.003108f, 0.000907f, -0.002190f, 0.004234f, -0.016968f, 0.007852f, 0.010222f, 0.001417f, 0.005811f, 0.003097f, -0.007509f, -0.001068f, -0.008149f, 0.011048f, -0.002933f, -0.007024f, 0.006715f, -0.010306f, 0.000458f, 0.003837f, -0.011575f, 0.001258f, -0.002697f, -0.004550f, 0.004015f, 0.000725f, 0.001092f, -0.005633f, -0.003467f, -0.018791f, -0.002231f, 0.003862f, -0.002922f, 0.000728f, 0.002403f, 0.009746f, 0.008580f, 0.000313f, 0.002926f, 0.001008f, -0.001454f, -0.001575f, -0.002339f, -0.001520f, -0.000630f, -0.002097f, -0.001541f, -0.000272f, 0.001992f, 0.001005f, 0.001406f, + -0.003082f, 0.000184f, -0.000298f, -0.000614f, -0.000404f, 0.000890f, -0.000618f, 0.000304f, -0.001595f, -0.000897f, -0.001447f, 0.000151f, -0.001372f, 0.001943f, -0.026588f, -0.015937f, 0.002921f, -0.008598f, 0.001613f, -0.008871f, -0.015286f, -0.010132f, 0.017288f, 0.010105f, -0.002714f, 0.011757f, 0.002731f, 0.002910f, 0.003261f, -0.005656f, -0.001577f, 0.009562f, -0.007707f, 0.004358f, 0.006926f, -0.007412f, -0.011798f, 0.005422f, -0.009649f, 0.001100f, 0.005485f, 0.014160f, -0.003213f, -0.006783f, -0.005989f, 0.002232f, 0.007659f, -0.010408f, -0.000113f, 0.008622f, 0.003357f, 0.000938f, -0.000594f, -0.000770f, 0.011132f, -0.000391f, 0.010196f, 0.006753f, -0.002620f, 0.006729f, -0.002381f, -0.000573f, -0.001069f, -0.018623f, 0.006434f, 0.010584f, -0.006129f, -0.003442f, 0.002547f, 0.002908f, 0.002971f, 0.001686f, -0.001039f, -0.002214f, 0.000607f, -0.004655f, 0.012752f, -0.005690f, 0.001462f, 0.006979f, 0.005522f, -0.004528f, 0.005021f, 0.001636f, 0.003263f, 0.007050f, 0.006162f, -0.009227f, 0.009574f, 0.010677f, -0.003630f, 0.000223f, -0.000693f, 0.006989f, -0.008523f, -0.004380f, + 0.001848f, 0.001261f, 0.000308f, 0.000505f, -0.001826f, -0.002811f, 0.001695f, -0.001304f, -0.000744f, 0.000544f, 0.002423f, -0.001757f, -0.000438f, 0.000106f, -0.003346f, 0.001190f, -0.001988f, -0.001996f, -0.001613f, 0.001302f, 0.000172f, -0.000904f, -0.002001f, 0.000530f, -0.010436f, 0.013369f, 0.008894f, 0.020731f, -0.003370f, 0.002151f, 0.006460f, -0.010201f, -0.002014f, 0.003949f, -0.004097f, -0.013826f, -0.000735f, 0.001398f, 0.009303f, -0.011185f, -0.027040f, -0.021982f, -0.013410f, 0.005131f, 0.012970f, -0.013066f, 0.007375f, -0.006453f, 0.010036f, 0.007653f, 0.006824f, 0.011853f, 0.006722f, -0.009457f, -0.008578f, 0.001527f, 0.006454f, -0.000590f, 0.000610f, 0.016611f, -0.000068f, 0.002808f, 0.008381f, 0.008678f, 0.001517f, 0.000144f, 0.020719f, -0.001555f, -0.007704f, -0.002445f, 0.004748f, 0.005914f, -0.003955f, 0.010992f, 0.002229f, 0.005846f, -0.007900f, -0.007163f, -0.002667f, -0.004778f, 0.002736f, -0.003817f, 0.012140f, -0.014087f, -0.012423f, 0.014969f, -0.001545f, -0.000762f, -0.017513f, 0.005322f, -0.008477f, 0.009335f, -0.007270f, -0.019575f, -0.000862f, 0.009860f, + -0.008294f, 0.012783f, -0.007750f, 0.005807f, 0.012100f, -0.003566f, 0.005074f, 0.012003f, -0.000776f, -0.009131f, 0.000770f, 0.005780f, 0.002768f, -0.004507f, 0.008386f, 0.000391f, 0.004426f, 0.001494f, 0.001211f, 0.002997f, 0.000581f, -0.001440f, -0.000085f, 0.000260f, 0.001281f, -0.003562f, -0.001721f, -0.001949f, 0.003212f, 0.000198f, 0.003271f, 0.003218f, -0.003182f, 0.000583f, 0.000818f, -0.002031f, -0.001375f, -0.000858f, 0.000598f, -0.001870f, 0.000655f, 0.032323f, 0.007708f, 0.008566f, 0.003785f, -0.007473f, 0.015625f, -0.007426f, -0.004326f, 0.019713f, -0.001412f, 0.015841f, -0.001603f, -0.018255f, 0.006510f, -0.006234f, 0.020144f, 0.010502f, -0.001324f, -0.018030f, -0.012490f, 0.016538f, 0.019762f, -0.023041f, 0.011591f, 0.009153f, 0.006999f, -0.001564f, 0.002307f, 0.001856f, -0.001670f, 0.022696f, -0.000960f, -0.003961f, -0.006201f, -0.007695f, -0.009667f, -0.003274f, -0.000445f, -0.013177f, -0.004597f, 0.003360f, -0.009065f, 0.000446f, 0.000598f, 0.013556f, -0.005036f, 0.000364f, 0.006407f, 0.000475f, 0.013090f, 0.005815f, 0.013607f, 0.006632f, 0.004193f, -0.014377f, + 0.001575f, -0.010669f, -0.009848f, 0.002312f, 0.013873f, -0.000600f, 0.011924f, -0.005030f, -0.008896f, -0.002142f, 0.000636f, 0.003430f, 0.008207f, -0.003822f, -0.000009f, -0.004512f, 0.004612f, 0.003055f, -0.011611f, 0.002214f, 0.002486f, 0.001493f, -0.003225f, 0.012158f, -0.001236f, -0.002444f, 0.001368f, 0.005676f, 0.002575f, -0.004068f, -0.001241f, -0.001681f, -0.002881f, 0.002344f, -0.003456f, 0.005708f, -0.003423f, -0.000739f, 0.000753f, -0.002778f, -0.000731f, 0.003151f, -0.003723f, -0.000914f, -0.004013f, 0.001527f, 0.001745f, 0.003219f, -0.004390f, 0.000832f, -0.001771f, 0.002196f, -0.001472f, -0.005358f, -0.001666f, 0.009143f, 0.006401f, 0.007355f, 0.020834f, 0.010908f, -0.009044f, -0.008078f, -0.022426f, -0.001448f, -0.000497f, -0.011959f, 0.004552f, 0.018008f, 0.002185f, -0.014168f, 0.013172f, 0.012525f, -0.001299f, 0.005016f, 0.012688f, 0.003020f, -0.011514f, -0.001762f, 0.026878f, 0.013235f, 0.002789f, -0.017707f, -0.006333f, 0.016190f, 0.005575f, -0.002394f, 0.009118f, 0.008162f, 0.008539f, -0.000046f, 0.016693f, -0.000127f, -0.002122f, 0.004228f, -0.008268f, -0.010830f, + -0.000530f, 0.001864f, 0.006220f, 0.003434f, -0.010124f, 0.010332f, 0.018105f, 0.009313f, -0.000474f, 0.013461f, -0.015267f, 0.008754f, -0.009085f, 0.009616f, -0.002528f, -0.010968f, -0.000533f, -0.014298f, -0.023437f, -0.008529f, -0.009295f, -0.001106f, -0.000069f, -0.012246f, 0.002414f, -0.003736f, 0.007160f, 0.004744f, 0.008475f, -0.001304f, 0.003433f, -0.011786f, 0.002088f, 0.001919f, 0.016524f, -0.006323f, -0.000479f, -0.005676f, 0.003524f, 0.014876f, 0.007664f, -0.008560f, -0.013726f, 0.004406f, -0.005462f, -0.001836f, 0.007216f, -0.000959f, 0.002459f, 0.001742f, -0.008149f, 0.000450f, -0.006204f, 0.001839f, -0.005889f, -0.003942f, -0.002108f, -0.000186f, -0.000741f, 0.001148f, -0.003746f, -0.000328f, -0.001219f, -0.002968f, -0.002498f, 0.000986f, -0.000600f, -0.001501f, 0.000477f, 0.001486f, 0.004633f, -0.001537f, 0.002743f, -0.001894f, -0.004516f, 0.003488f, -0.004946f, 0.004916f, -0.000373f, -0.003156f, -0.000465f, -0.021940f, -0.014547f, 0.031098f, -0.006822f, -0.006793f, 0.001804f, -0.001064f, 0.033295f, -0.009713f, -0.017994f, 0.000465f, -0.017751f, 0.004447f, 0.014124f, 0.015230f, + 0.004790f, -0.030895f, 0.025402f, -0.019982f, 0.010615f, -0.013652f, -0.010412f, -0.007631f, 0.012677f, 0.013673f, -0.020474f, 0.001646f, 0.008923f, -0.006324f, 0.004085f, 0.006032f, -0.007408f, 0.000972f, -0.016863f, -0.011299f, -0.026021f, 0.015428f, -0.003649f, 0.026246f, -0.012225f, 0.005716f, 0.017500f, -0.004350f, -0.005209f, -0.007727f, 0.020060f, 0.014676f, -0.024647f, 0.007054f, -0.013943f, -0.004655f, -0.005419f, -0.013815f, 0.008307f, 0.004432f, 0.021695f, 0.015296f, -0.027262f, -0.004445f, -0.011712f, 0.015947f, 0.005539f, 0.001392f, -0.015908f, 0.002404f, -0.001676f, 0.013405f, -0.002239f, 0.001697f, -0.018294f, -0.000397f, 0.012986f, -0.011958f, 0.002009f, -0.003760f, -0.003572f, -0.009661f, 0.001946f, -0.001255f, 0.023024f, 0.010172f, 0.010530f, -0.004198f, -0.002573f, -0.003984f, -0.006273f, -0.003349f, 0.005137f, -0.007031f, -0.002242f, -0.006897f, 0.005227f, 0.004403f, -0.003759f, -0.002102f, 0.004861f, -0.006495f, 0.003229f, 0.001003f, -0.001748f, -0.002056f, 0.001748f, -0.000170f, -0.000588f, -0.001238f, 0.004253f, -0.006269f, 0.000839f, 0.000574f, 0.003186f, 0.003448f, + 0.003449f, -0.003180f, 0.000950f, -0.002243f, 0.004607f, 0.001078f, 0.003378f, 0.007565f, -0.008340f, 0.000554f, -0.017599f, -0.002222f, -0.020311f, 0.003159f, -0.005084f, 0.011642f, -0.000817f, 0.009873f, -0.013915f, -0.026228f, 0.005563f, 0.017606f, 0.002304f, -0.002153f, 0.013751f, 0.009227f, -0.021431f, -0.000373f, -0.008081f, 0.027098f, -0.001209f, 0.003128f, 0.002128f, 0.000245f, -0.000853f, -0.009767f, 0.021495f, -0.001862f, -0.030482f, -0.005759f, 0.018464f, -0.011938f, 0.003074f, -0.000525f, 0.002462f, -0.003857f, 0.002934f, -0.005650f, 0.007276f, -0.011734f, 0.011000f, 0.015399f, -0.012118f, -0.003135f, -0.007178f, -0.021272f, 0.008485f, -0.015119f, 0.013102f, -0.013297f, -0.022915f, -0.006313f, 0.013597f, -0.004309f, -0.008196f, 0.009040f, 0.012571f, 0.007140f, 0.013778f, 0.023537f, 0.018991f, -0.001289f, 0.003682f, 0.003153f, -0.012681f, 0.002347f, -0.013260f, -0.014497f, 0.007853f, -0.011077f, 0.003560f, -0.000726f, 0.008278f, 0.008358f, -0.010972f, 0.012644f, -0.003505f, -0.005297f, -0.002371f, 0.008865f, -0.001670f, -0.008346f, -0.005659f, -0.011786f, 0.013348f, -0.006801f, + -0.001785f, 0.002215f, -0.000583f, -0.005049f, -0.004249f, 0.000804f, 0.001741f, 0.000488f, -0.002370f, 0.002989f, 0.002240f, -0.002733f, 0.000208f, 0.001883f, 0.001183f, -0.001710f, -0.000073f, -0.002261f, 0.000805f, -0.003715f, -0.003353f, 0.001924f, 0.000995f, 0.004334f, 0.004835f, 0.000297f, 0.003314f, -0.000079f, -0.030131f, -0.024908f, 0.014462f, 0.027025f, -0.000144f, -0.001388f, 0.004979f, -0.012698f, -0.006390f, -0.030802f, -0.016645f, -0.008580f, -0.000429f, -0.022345f, 0.032118f, 0.006620f, 0.017812f, -0.020350f, -0.024672f, -0.018241f, -0.007328f, 0.005125f, -0.027988f, -0.012252f, 0.012752f, -0.005305f, -0.034012f, -0.011267f, 0.004417f, 0.000581f, 0.020861f, 0.007289f, -0.006748f, -0.015834f, 0.019837f, -0.011371f, -0.001314f, 0.015291f, 0.004311f, -0.016170f, -0.008566f, -0.001041f, -0.027558f, 0.007138f, 0.021177f, -0.009044f, -0.011906f, 0.003348f, -0.014012f, -0.004884f, 0.002623f, -0.008602f, -0.006892f, 0.007470f, -0.010473f, -0.021623f, 0.010687f, -0.012224f, -0.016433f, -0.022160f, -0.011322f, 0.002485f, -0.009065f, 0.003979f, 0.027454f, 0.015827f, -0.003462f, 0.026537f, + 0.026586f, -0.011294f, 0.003615f, 0.007678f, -0.013922f, -0.008707f, -0.029376f, 0.003289f, -0.009467f, -0.023405f, -0.000321f, 0.012746f, 0.021958f, 0.013843f, 0.006396f, 0.002743f, -0.019974f, -0.002210f, -0.004607f, 0.005505f, -0.007591f, -0.000580f, 0.000409f, 0.000008f, 0.004740f, 0.001226f, -0.001853f, 0.004575f, -0.001816f, -0.005972f, 0.005009f, -0.003901f, -0.005668f, 0.001164f, 0.002035f, 0.002198f, 0.000417f, 0.006425f, -0.000649f, 0.004227f, 0.002269f, 0.000784f, 0.001215f, 0.000285f, -0.004769f, 0.001394f, -0.006547f, 0.001843f, -0.010447f, -0.002270f, -0.000466f, -0.006550f, -0.008182f, -0.000739f, -0.008086f, -0.001169f, -0.001721f, -0.018973f, 0.048496f, -0.001809f, 0.029698f, -0.014887f, -0.042641f, 0.012258f, 0.003586f, -0.001574f, -0.020030f, -0.001847f, -0.013218f, 0.033813f, 0.024613f, 0.022166f, 0.016056f, -0.026322f, -0.000229f, 0.003738f, 0.023393f, -0.040015f, -0.004625f, -0.009715f, -0.011797f, 0.006132f, -0.013290f, 0.005257f, 0.008864f, 0.006750f, 0.007069f, 0.009406f, -0.002863f, -0.003841f, -0.019584f, -0.004540f, -0.003053f, 0.019270f, -0.000075f, -0.017432f, + -0.004199f, 0.020960f, -0.002502f, 0.012241f, 0.015515f, -0.011191f, -0.006762f, -0.025734f, -0.015096f, 0.050693f, 0.013250f, 0.022622f, 0.012023f, 0.003044f, 0.001829f, -0.031943f, 0.018927f, 0.003118f, 0.005505f, 0.016479f, 0.017778f, 0.027906f, -0.032062f, -0.013097f, -0.017824f, -0.002129f, 0.004367f, -0.004111f, -0.009036f, -0.005136f, -0.026898f, -0.033605f, -0.021966f, -0.031488f, -0.004169f, -0.020541f, -0.035449f, -0.014843f, 0.011434f, 0.019495f, -0.007434f, -0.030148f, -0.001137f, -0.004458f, 0.007108f, -0.008209f, 0.001889f, 0.017506f, 0.000744f, -0.001168f, -0.001135f, 0.002323f, 0.003007f, -0.005032f, -0.004675f, -0.012054f, -0.013682f, 0.007368f, -0.003790f, 0.006604f, 0.005832f, -0.002114f, 0.003959f, 0.005463f, 0.009755f, 0.007053f, -0.004302f, 0.002254f, 0.012446f, 0.002504f, -0.012664f, -0.010344f, -0.005738f, -0.002542f, 0.000917f, -0.004349f, 0.007198f, 0.008066f, -0.001948f, 0.012124f, 0.001559f, -0.003272f, -0.002607f, 0.002880f, 0.065267f, 0.014766f, -0.009418f, -0.013555f, 0.002097f, -0.020958f, -0.040931f, 0.030116f, 0.000131f, 0.019377f, -0.014664f, 0.014013f, + 0.033501f, -0.003331f, 0.003733f, -0.008456f, 0.029155f, 0.024534f, 0.009518f, -0.039537f, 0.002848f, 0.005792f, 0.024408f, 0.035517f, -0.010509f, -0.007301f, -0.004719f, 0.009502f, 0.012670f, 0.010522f, -0.017998f, 0.008182f, -0.020745f, 0.015816f, 0.021133f, -0.010152f, -0.020987f, 0.013191f, -0.022836f, -0.020905f, -0.000912f, 0.006013f, 0.029671f, 0.003539f, -0.004113f, 0.025262f, -0.004740f, 0.022683f, 0.041966f, 0.021003f, 0.000429f, -0.026736f, -0.002591f, -0.015428f, -0.012511f, 0.026780f, 0.010430f, -0.027120f, -0.000377f, -0.020751f, -0.005307f, 0.035516f, 0.016302f, 0.005116f, 0.015168f, 0.021359f, 0.011041f, -0.028770f, 0.014715f, 0.023862f, 0.008131f, -0.019690f, 0.008006f, 0.002192f, 0.004022f, -0.015431f, 0.023582f, -0.006604f, -0.005776f, 0.028367f, 0.030073f, 0.004355f, 0.008491f, 0.032698f, 0.001833f, 0.016093f, -0.011599f, -0.000451f, 0.018790f, 0.010842f, -0.008470f, 0.009647f, 0.016945f, -0.004723f, 0.000030f, 0.021628f, 0.004380f, 0.009145f, -0.006545f, -0.010974f, -0.003411f, 0.005958f, 0.003043f, 0.004892f, 0.005020f, -0.003666f, -0.003517f, -0.002936f, + 0.001555f, 0.006403f, 0.007752f, -0.005400f, -0.001715f, 0.013431f, 0.001861f, 0.018045f, -0.003393f, 0.004830f, -0.002593f, 0.002210f, 0.008051f, 0.004878f, 0.000534f, -0.000243f, -0.007821f, -0.005516f, -0.004021f, -0.008343f, 0.010422f, 0.009512f, -0.015926f, -0.000738f, -0.020322f, -0.047591f, 0.016409f, -0.018911f, 0.005219f, 0.001768f, 0.033360f, -0.022933f, -0.020405f, -0.008464f, -0.009359f, -0.012211f, 0.024640f, -0.021774f, -0.030912f, 0.009332f, -0.057731f, 0.001797f, -0.010897f, -0.024296f, 0.031011f, -0.001875f, -0.001857f, 0.013177f, -0.012319f, 0.009937f, -0.003134f, -0.034334f, -0.037627f, -0.000247f, 0.007939f, 0.022183f, 0.010651f, -0.002374f, -0.003961f, -0.021530f, -0.010255f, 0.021905f, -0.034015f, 0.047103f, 0.027907f, 0.006429f, 0.034747f, -0.023019f, -0.009899f, -0.021057f, -0.021663f, -0.009218f, 0.015897f, 0.044509f, 0.000443f, -0.022735f, -0.003804f, 0.002338f, -0.002419f, -0.002192f, -0.014023f, 0.012141f, 0.011053f, 0.030080f, -0.000474f, 0.033990f, 0.017501f, 0.009483f, -0.000758f, 0.007409f, -0.050389f, 0.026824f, -0.006323f, -0.029336f, 0.021188f, 0.000183f, + 0.027864f, 0.012528f, -0.046660f, 0.036517f, 0.028469f, -0.024259f, 0.039542f, 0.015391f, 0.029584f, 0.011900f, -0.003942f, -0.001408f, -0.001076f, -0.005278f, -0.010135f, -0.002919f, 0.004536f, -0.010065f, -0.015491f, 0.000392f, -0.010029f, -0.018170f, -0.010791f, -0.013542f, 0.008971f, -0.008220f, 0.010992f, 0.003144f, 0.011223f, 0.005465f, -0.000950f, -0.005600f, 0.002163f, 0.001328f, -0.000546f, 0.001818f, -0.002946f, -0.007356f, 0.004006f, -0.000404f, 0.004835f, 0.005168f, 0.000554f, 0.004420f, 0.002290f, 0.007405f, 0.006486f, -0.010782f, -0.006250f, -0.018031f, -0.013659f, -0.088952f, -0.007257f, 0.053165f, -0.010120f, 0.001848f, 0.045818f, -0.010453f, 0.000149f, 0.005920f, 0.011934f, -0.013619f, 0.011906f, -0.004502f, -0.015818f, 0.015173f, 0.017162f, -0.051865f, 0.005763f, -0.046126f, -0.001658f, -0.023761f, -0.026618f, -0.005469f, -0.008282f, -0.025181f, 0.012356f, 0.004495f, 0.015690f, 0.022236f, -0.032050f, 0.040106f, 0.002348f, -0.036965f, 0.002658f, -0.025425f, -0.013398f, -0.027367f, -0.025595f, -0.010567f, 0.025989f, -0.022430f, 0.012168f, 0.027030f, -0.016429f, -0.028183f, + -0.026700f, -0.038216f, -0.041977f, -0.024088f, -0.012249f, 0.003567f, -0.006702f, 0.011785f, 0.007456f, -0.024308f, -0.002223f, 0.028059f, 0.015501f, -0.040619f, 0.015662f, -0.002771f, -0.011831f, -0.037606f, 0.025198f, -0.013269f, 0.034938f, 0.045076f, 0.000748f, 0.042893f, -0.023834f, 0.025029f, -0.018851f, 0.026891f, 0.033355f, 0.003291f, -0.044896f, -0.001009f, -0.061115f, 0.020021f, 0.012714f, 0.024473f, 0.011007f, -0.023406f, -0.021107f, -0.000005f, -0.014299f, 0.014116f, -0.015434f, -0.000114f, -0.001368f, -0.014515f, -0.012121f, 0.010665f, -0.006286f, -0.016462f, -0.002047f, 0.005690f, 0.012145f, 0.007191f, 0.026857f, -0.002385f, 0.001858f, -0.007671f, 0.018705f, -0.002245f, -0.004595f, 0.017273f, -0.001371f, 0.002996f, 0.003551f, 0.023137f, -0.004088f, -0.008714f, 0.001901f, 0.016149f, 0.014332f, -0.014368f, -0.001896f, 0.010859f, -0.017693f, 0.010175f, -0.003233f, 0.012895f, 0.000281f, -0.014111f, -0.042051f, 0.033908f, -0.080572f, -0.005206f, -0.007363f, -0.007178f, 0.007852f, -0.046897f, 0.003585f, -0.009593f, -0.003651f, 0.020769f, 0.008659f, 0.024231f, -0.018766f, 0.017009f, + -0.008810f, -0.041744f, -0.016351f, -0.030770f, -0.018568f, 0.019509f, -0.035787f, 0.004244f, -0.013097f, -0.027787f, -0.004621f, 0.026212f, -0.035598f, -0.034966f, 0.014353f, 0.020220f, -0.000929f, -0.016811f, 0.019552f, 0.019921f, 0.025223f, 0.021039f, 0.009140f, 0.028983f, 0.035159f, -0.019301f, 0.005434f, -0.017090f, 0.044045f, -0.004095f, -0.030169f, 0.036037f, 0.016219f, 0.008239f, -0.017216f, -0.023645f, 0.005548f, 0.013358f, 0.014153f, -0.001813f, -0.018959f, 0.013926f, -0.022108f, 0.000039f, -0.021823f, 0.067145f, 0.010570f, -0.020098f, 0.055751f, -0.007443f, 0.017119f, -0.015063f, 0.028036f, 0.040906f, -0.025738f, 0.039037f, 0.042200f, 0.054336f, 0.042304f, 0.003260f, 0.031424f, -0.025286f, -0.004813f, 0.005196f, -0.013597f, 0.023566f, 0.001114f, -0.002303f, -0.002412f, -0.007824f, 0.011839f, 0.005212f, 0.033332f, -0.011711f, 0.012304f, -0.008129f, 0.000188f, 0.005473f, 0.009799f, -0.014875f, 0.005141f, 0.013116f, -0.006112f, -0.016625f, -0.003122f, -0.026170f, 0.008685f, 0.006996f, 0.006782f, -0.007573f, 0.004102f, 0.012361f, 0.007396f, -0.004147f, 0.012646f, 0.004774f, + -0.008421f, -0.005204f, -0.002786f, 0.019852f, 0.026985f, 0.013425f, 0.006126f, 0.003851f, 0.009132f, 0.015066f, -0.010933f, -0.005405f, 0.007123f, -0.002785f, 0.001315f, 0.006327f, 0.083275f, 0.021943f, -0.014362f, -0.011992f, 0.019234f, 0.005773f, 0.008114f, -0.001760f, -0.033488f, 0.028269f, -0.076265f, 0.008626f, 0.016572f, -0.003065f, -0.014061f, -0.028876f, -0.013555f, 0.003806f, 0.022421f, 0.034843f, -0.020585f, -0.043991f, -0.035977f, -0.004770f, 0.001162f, -0.025802f, 0.053559f, -0.024741f, -0.016574f, 0.022497f, -0.007713f, 0.004307f, -0.004981f, 0.046413f, 0.007530f, -0.045905f, 0.018145f, 0.006172f, 0.031819f, -0.011108f, 0.003296f, -0.018805f, 0.015721f, 0.007352f, 0.040155f, -0.009519f, 0.018027f, 0.019436f, -0.024547f, -0.026569f, 0.001741f, 0.024788f, -0.047642f, -0.055841f, -0.016698f, -0.022758f, -0.003208f, -0.007845f, 0.005409f, 0.013030f, -0.011560f, 0.002221f, -0.065008f, -0.054774f, 0.043617f, 0.046813f, -0.056333f, -0.042869f, -0.054225f, -0.028003f, -0.022558f, 0.028295f, -0.029686f, -0.051834f, 0.001349f, 0.002524f, -0.032064f, -0.006520f, 0.045208f, -0.006580f, + 0.002342f, 0.014857f, -0.000646f, 0.002851f, -0.002182f, -0.015822f, -0.020115f, -0.000833f, -0.005838f, 0.013295f, -0.002282f, -0.001031f, -0.014611f, 0.007455f, -0.022505f, -0.000317f, 0.006647f, 0.007611f, 0.010561f, 0.012353f, 0.002083f, 0.007073f, -0.005143f, 0.001327f, -0.011542f, 0.004302f, 0.000972f, -0.012680f, 0.012990f, 0.013303f, -0.020828f, 0.001412f, 0.014908f, 0.012579f, 0.023135f, -0.004720f, -0.027261f, 0.007631f, 0.008680f, -0.013282f, 0.008429f, -0.014812f, -0.007181f, -0.002253f, -0.004883f, -0.012603f, 0.004422f, -0.046453f, -0.005653f, -0.011253f, 0.013988f, -0.022013f, -0.005972f, -0.072230f, 0.063962f, 0.041076f, -0.006924f, 0.087677f, -0.008594f, -0.048114f, -0.004414f, 0.019666f, -0.029710f, -0.039248f, -0.008225f, -0.026800f, -0.001240f, 0.007432f, -0.040280f, 0.059117f, 0.001993f, 0.006332f, -0.037160f, -0.010751f, 0.004029f, -0.010663f, 0.009506f, 0.013433f, 0.048638f, 0.008670f, -0.002466f, 0.039248f, 0.032436f, -0.011531f, 0.019137f, -0.024863f, 0.007018f, 0.021932f, 0.021386f, 0.054921f, -0.054333f, 0.033353f, 0.100826f, 0.000681f, 0.016566f, 0.034438f, + 0.003957f, 0.006802f, 0.016301f, 0.012494f, -0.033678f, -0.040216f, -0.014588f, 0.032227f, 0.009638f, -0.041794f, -0.022595f, -0.001899f, -0.020035f, 0.037030f, 0.003415f, 0.028579f, -0.063640f, -0.039509f, 0.018566f, 0.043573f, 0.026746f, 0.017502f, 0.060526f, 0.035263f, -0.025415f, 0.041597f, -0.031411f, -0.006495f, -0.004515f, 0.023336f, -0.004938f, -0.026123f, 0.022596f, 0.009723f, 0.002161f, -0.029952f, 0.020666f, -0.000581f, 0.000401f, -0.013447f, 0.017416f, -0.014349f, -0.011473f, -0.011041f, 0.008300f, -0.011521f, -0.021859f, 0.007178f, 0.001533f, -0.000315f, -0.011899f, -0.002482f, -0.014901f, -0.012931f, -0.011919f, -0.007697f, -0.004602f, -0.005787f, -0.004539f, 0.001914f, 0.000422f, -0.028425f, 0.018960f, 0.007265f, -0.008927f, -0.021097f, -0.029758f, -0.000943f, -0.016213f, -0.011148f, 0.010742f, -0.008077f, 0.018428f, 0.008955f, -0.006506f, 0.002974f, 0.017234f, -0.007999f, -0.002878f, -0.008535f, 0.014521f, 0.003174f, 0.006027f, -0.014970f, 0.029312f, -0.083496f, 0.001256f, -0.000054f, -0.003227f, -0.010156f, 0.038701f, 0.003599f, -0.023119f, -0.041634f, 0.042103f, -0.037393f, + 0.000441f, 0.027834f, 0.021481f, -0.029315f, -0.008518f, -0.047493f, -0.000759f, 0.014144f, 0.016176f, 0.019816f, 0.004555f, -0.030804f, -0.039459f, 0.032394f, 0.015967f, 0.016323f, 0.005714f, 0.016594f, 0.004304f, 0.023940f, -0.042523f, -0.070656f, 0.019132f, -0.010368f, -0.015691f, 0.039970f, -0.007515f, -0.020777f, 0.034455f, 0.033377f, 0.026861f, -0.002200f, -0.018446f, -0.030227f, -0.008483f, -0.040090f, 0.094396f, -0.007785f, 0.033608f, 0.007653f, -0.032148f, 0.026207f, -0.012675f, -0.029938f, 0.029061f, 0.023854f, -0.052872f, 0.036733f, -0.006196f, 0.050836f, -0.051761f, -0.038301f, 0.050930f, -0.001826f, -0.042393f, 0.042929f, -0.016298f, 0.073123f, -0.031581f, -0.024753f, -0.044643f, 0.028207f, 0.004500f, -0.035510f, 0.013600f, -0.046238f, -0.034637f, 0.003337f, 0.029480f, -0.026406f, -0.017019f, -0.052563f, -0.048587f, 0.056483f, -0.007191f, 0.024775f, 0.038723f, 0.053607f, -0.000459f, -0.005111f, -0.004860f, 0.014372f, 0.020682f, 0.004288f, 0.009089f, 0.033128f, 0.013646f, 0.018392f, 0.009988f, 0.008537f, -0.007186f, -0.002742f, 0.019439f, 0.015697f, 0.025707f, -0.012224f, + 0.016673f, 0.018740f, -0.029695f, 0.007690f, 0.006474f, -0.015433f, -0.008863f, 0.000277f, 0.006461f, -0.012478f, 0.020002f, 0.001472f, -0.005649f, -0.005619f, 0.016830f, 0.000995f, 0.004656f, 0.001940f, 0.004088f, 0.004337f, -0.017064f, -0.007723f, 0.011474f, -0.010244f, -0.024101f, 0.062353f, -0.014261f, 0.042248f, -0.066026f, -0.011536f, -0.001573f, -0.078673f, -0.017351f, 0.011466f, 0.038648f, -0.019309f, -0.018498f, 0.001788f, -0.006102f, 0.055349f, -0.005285f, -0.027708f, 0.058600f, -0.007186f, -0.003033f, 0.011153f, -0.023417f, 0.050758f, 0.003356f, -0.010234f, 0.024285f, 0.020904f, -0.027624f, -0.009360f, -0.012798f, 0.039571f, -0.078808f, -0.001219f, -0.015244f, -0.027692f, 0.013557f, -0.028152f, 0.045971f, -0.011888f, -0.056747f, -0.005738f, 0.086408f, -0.052198f, 0.037917f, -0.058207f, -0.016709f, 0.058315f, 0.042589f, -0.031162f, 0.014865f, -0.038040f, -0.050137f, 0.010914f, -0.021970f, 0.022133f, 0.006475f, -0.003286f, 0.008706f, -0.073386f, -0.028627f, -0.037289f, -0.053642f, 0.025252f, -0.020248f, -0.014728f, -0.029647f, -0.052045f, -0.043783f, 0.034733f, -0.006669f, 0.107763f, + 0.019074f, 0.010210f, 0.038622f, 0.067890f, 0.009095f, -0.048470f, 0.059570f, 0.045187f, -0.037658f, 0.010348f, -0.009333f, -0.037466f, -0.029485f, -0.025209f, -0.002631f, -0.022979f, 0.009069f, 0.016160f, 0.005837f, -0.017819f, 0.031895f, 0.005266f, 0.014912f, -0.003972f, -0.005181f, 0.015317f, 0.009503f, -0.014769f, -0.013259f, -0.012710f, 0.014855f, 0.007281f, 0.017886f, 0.018946f, 0.001100f, -0.009569f, 0.014486f, -0.007641f, 0.030637f, 0.014730f, -0.035896f, -0.006762f, -0.026358f, 0.003659f, -0.008342f, -0.012521f, 0.038300f, -0.001598f, -0.011341f, 0.010133f, 0.012335f, -0.013348f, -0.002332f, -0.018521f, 0.008901f, 0.014170f, -0.002168f, -0.005527f, 0.018093f, 0.041343f, -0.024290f, -0.032082f, 0.035970f, -0.056875f, -0.006165f, -0.012055f, 0.003786f, 0.039341f, -0.025568f, 0.043707f, 0.019368f, 0.009616f, 0.013644f, -0.072436f, 0.049392f, 0.008727f, -0.050192f, 0.019422f, -0.053268f, 0.008762f, 0.072559f, -0.009348f, -0.042219f, -0.045822f, 0.019850f, 0.032353f, 0.026905f, 0.013703f, -0.047098f, -0.032963f, -0.014277f, -0.009220f, 0.062043f, -0.039373f, -0.022944f, 0.091331f, + -0.050513f, -0.004296f, 0.036797f, -0.000186f, 0.038738f, -0.005945f, -0.030443f, -0.021048f, -0.055687f, 0.028321f, 0.040354f, -0.060217f, 0.089970f, 0.029481f, -0.067090f, -0.061914f, -0.058299f, -0.070699f, -0.056498f, 0.002624f, 0.028538f, 0.005222f, -0.047013f, -0.018249f, 0.032073f, -0.001143f, -0.029306f, 0.032413f, -0.063437f, 0.003785f, -0.014300f, -0.059290f, -0.054690f, 0.009273f, -0.021531f, 0.041392f, -0.075996f, -0.010538f, -0.026680f, -0.056187f, 0.004191f, 0.089792f, 0.023456f, -0.040102f, 0.019711f, -0.049312f, 0.020260f, -0.020178f, 0.002078f, 0.002450f, 0.025834f, -0.002973f, 0.009052f, 0.031851f, 0.000662f, -0.018010f, -0.007864f, 0.025496f, 0.018526f, 0.011624f, 0.006600f, -0.050757f, -0.004844f, 0.003608f, 0.028600f, 0.013942f, -0.025910f, -0.000701f, 0.003278f, 0.043947f, 0.002734f, 0.013982f, -0.013388f, -0.008889f, 0.006766f, 0.014221f, -0.001568f, -0.013215f, -0.024544f, 0.003461f, -0.009163f, -0.017306f, 0.008661f, -0.012120f, -0.012035f, 0.016934f, -0.013532f, -0.019927f, -0.027164f, -0.024334f, -0.004299f, 0.006981f, 0.000255f, -0.021169f, 0.043746f, -0.109513f, + -0.101285f, -0.087786f, -0.056741f, 0.022960f, -0.023980f, 0.112927f, 0.029811f, -0.012034f, -0.025908f, -0.014244f, 0.031946f, -0.073419f, 0.085967f, 0.113791f, 0.045199f, -0.006833f, 0.089909f, -0.028497f, 0.054362f, 0.103432f, -0.018903f, 0.005757f, 0.019335f, 0.137643f, -0.034925f, -0.008618f, 0.081732f, 0.031093f, 0.026253f, -0.022472f, -0.083891f, 0.005869f, -0.066496f, 0.031802f, -0.082388f, -0.096348f, -0.001189f, -0.005426f, -0.067366f, -0.003468f, -0.032782f, -0.068915f, -0.055196f, -0.089948f, -0.004324f, 0.092032f, -0.029363f, -0.017494f, -0.084786f, -0.045300f, -0.031249f, -0.028962f, 0.028648f, -0.020647f, 0.153006f, -0.036093f, -0.002156f, -0.055742f, 0.115468f, 0.095049f, -0.067152f, 0.077334f, -0.027036f, -0.112037f, -0.020094f, -0.010614f, 0.023579f, -0.025903f, -0.025508f, -0.013911f, -0.045534f, 0.013372f, 0.056271f, -0.066332f, -0.009493f, 0.019496f, 0.011645f, -0.077044f, 0.050267f, 0.035772f, 0.116041f, -0.049138f, 0.031843f, 0.049372f, -0.002901f, 0.013928f, -0.001486f, 0.017446f, -0.012848f, 0.038236f, 0.015991f, 0.031155f, 0.026076f, 0.003050f, 0.026864f, 0.009314f, + -0.009938f, 0.029238f, -0.001590f, 0.005837f, 0.003198f, 0.020841f, 0.014671f, -0.019585f, -0.016132f, -0.025134f, 0.040460f, -0.025935f, 0.006186f, 0.026102f, 0.010624f, 0.046263f, 0.038717f, 0.068308f, 0.045955f, 0.039532f, 0.002893f, 0.026643f, -0.034777f, 0.033969f, 0.024403f, -0.006079f, -0.033366f, -0.061657f, -0.024393f, 0.020421f, -0.034965f, -0.011230f, -0.025234f, -0.060131f, -0.053451f, -0.023358f, -0.039613f, -0.021702f, -0.033978f, -0.041695f, -0.045977f, -0.012111f, -0.012714f, -0.018357f, -0.033488f, -0.033767f, 0.045531f, 0.195491f, 0.021919f, -0.121142f, -0.031034f, -0.042244f, 0.008650f, 0.061680f, 0.108528f, 0.032157f, -0.092328f, -0.000793f, 0.062816f, 0.014770f, 0.000785f, -0.001847f, 0.015986f, -0.007743f, -0.011686f, 0.076451f, 0.046744f, 0.043180f, -0.064610f, -0.040531f, 0.043167f, 0.017966f, 0.025321f, -0.021142f, 0.007616f, 0.085148f, 0.001586f, 0.072384f, 0.037078f, 0.040019f, 0.069294f, 0.011253f, -0.037289f, 0.009733f, -0.042631f, 0.011811f, 0.029215f, 0.008698f, 0.113631f, -0.036802f, -0.073638f, -0.069547f, 0.087757f, 0.041800f, 0.046674f, 0.033265f, + -0.050541f, -0.062001f, -0.038666f, -0.000917f, 0.019059f, -0.012567f, 0.030975f, 0.059561f, -0.004062f, 0.043547f, 0.038378f, -0.057765f, -0.011697f, 0.018105f, -0.027655f, -0.023696f, -0.029006f, -0.096099f, -0.016400f, 0.043422f, 0.003804f, 0.086314f, 0.056798f, -0.039948f, 0.030226f, 0.001760f, -0.028103f, -0.022586f, -0.046906f, -0.103940f, -0.055909f, 0.005593f, 0.002171f, -0.022002f, -0.005987f, -0.009650f, 0.034020f, 0.036450f, 0.018584f, -0.005091f, 0.002979f, 0.027944f, -0.012786f, 0.018016f, -0.046963f, -0.021252f, -0.005723f, 0.026689f, -0.006040f, 0.011293f, 0.017207f, 0.017651f, 0.002782f, 0.046694f, -0.035833f, -0.031713f, -0.032457f, 0.024904f, -0.020767f, -0.033198f, -0.033130f, 0.025173f, -0.010431f, -0.023901f, -0.012187f, 0.019175f, 0.005494f, 0.027529f, -0.043369f, -0.028077f, -0.004157f, -0.001845f, 0.009862f, 0.021569f, -0.008627f, -0.016590f, 0.030971f, -0.014644f, -0.017357f, -0.015515f, 0.030142f, -0.006846f, -0.013822f, 0.009282f, -0.000291f, -0.015034f, 0.001883f, -0.020388f, -0.011481f, -0.008946f, 0.000589f, -0.006286f, 0.006835f, -0.005203f, 0.004701f, -0.002040f, + 0.006303f, -0.011216f, 0.004818f, -0.004902f, 0.005683f, -0.007795f, 0.007347f, -0.012406f, -0.010955f, -0.047332f, 0.005291f, 0.153387f, 0.039434f, 0.064440f, -0.032092f, -0.140043f, -0.071056f, -0.103143f, -0.034798f, 0.069121f, 0.158813f, 0.070747f, 0.017601f, -0.075695f, -0.071254f, 0.049920f, 0.078974f, 0.039037f, 0.095924f, -0.004241f, -0.062853f, -0.092067f, -0.044788f, -0.014368f, 0.071255f, 0.008552f, 0.041170f, 0.036534f, 0.006169f, 0.095076f, 0.066776f, -0.007555f, -0.009160f, -0.088042f, -0.021427f, -0.002085f, 0.001783f, 0.050100f, 0.089854f, 0.054791f, 0.043130f, 0.084168f, 0.048717f, -0.087807f, -0.070434f, -0.022214f, -0.055209f, 0.058314f, 0.039750f, 0.086385f, 0.067459f, 0.076388f, 0.022657f, 0.013346f, -0.062919f, -0.066019f, -0.061786f, 0.021601f, 0.031472f, -0.000357f, -0.008385f, 0.136387f, 0.034589f, -0.009580f, -0.012896f, 0.093336f, -0.099653f, 0.020801f, -0.189751f, -0.042607f, 0.047498f, -0.066552f, 0.061974f, 0.034898f, 0.000984f, 0.136227f, 0.064717f, -0.077598f, -0.153998f, -0.074273f, -0.069743f, -0.038075f, -0.025900f, -0.020082f, 0.067369f, 0.042595f, + 0.090871f, 0.010751f, -0.066848f, -0.046252f, -0.070147f, -0.065494f, -0.064902f, 0.028514f, 0.006114f, 0.028199f, 0.038751f, -0.018446f, 0.035841f, 0.018783f, -0.024983f, -0.003106f, -0.027680f, -0.009097f, -0.059845f, -0.063533f, -0.023710f, -0.027698f, 0.001094f, -0.059530f, 0.031626f, -0.004423f, 0.011000f, 0.016498f, -0.039657f, -0.082301f, -0.074366f, -0.004129f, 0.016303f, 0.016886f, 0.048880f, 0.012041f, -0.024564f, -0.046378f, 0.015357f, 0.010853f, -0.221464f, -0.135362f, -0.073799f, 0.065249f, 0.018635f, 0.302160f, 0.322438f, 0.195941f, 0.357554f, 0.292176f, 0.309272f, 0.214192f, 0.261679f, 0.212247f, 0.003973f, -0.101243f, -0.144247f, -0.138752f, -0.289806f, -0.347936f, -0.363389f, -0.253819f, -0.199475f, -0.078574f, 0.013961f, -0.102791f, 0.062881f, -0.129544f, -0.046743f, -0.008915f, -0.039962f, 0.030660f, -0.118750f, 0.163366f, 0.028018f, 0.148928f, 0.095826f, 0.055668f, 0.039042f, 0.082395f, 0.053845f, 0.084505f, 0.194651f, 0.184826f, 0.147565f, 0.180627f, 0.228739f, 0.208032f, 0.196383f, 0.359893f, 0.126478f, 0.253222f, 0.330242f, 0.226757f, 0.300011f, 0.159132f, + 0.213861f, 0.166959f, 0.200781f, 0.216949f, 0.080649f, 0.140468f, 0.106843f, 0.131472f, 0.127540f, 0.034749f, -0.024549f, -0.137902f, -0.050675f, -0.183984f, -0.160379f, -0.272138f, -0.307624f, -0.310274f, -0.654123f, -0.554366f, -0.594635f, -0.590573f, -0.688473f, -0.697039f, -0.429313f, -0.500271f, -0.371825f, -0.441407f, -0.334903f, -0.317865f, -0.276017f, -0.277721f, -0.158936f, -0.070631f, -0.100867f, -0.102823f, -0.083217f, 0.015846f, 0.133243f, 0.069204f, 0.277028f, 0.237800f, 0.350046f, 0.358916f, 0.332018f, 0.413617f, 0.384094f, 0.443906f, 0.347828f, 0.424700f, 0.450868f, 0.503070f, 0.440841f, 0.262764f, 0.263668f, 0.262443f, 0.267445f, 0.245874f, 0.173714f, 0.161771f, 0.068027f, 0.047439f, -0.005033f, 0.007709f, 0.033532f, -0.091221f, -0.133711f, -0.145631f, -0.089117f, -0.079577f, -0.149017f, -0.174044f, -0.202422f, -0.147373f, -0.187389f, -0.173816f, -0.146069f, -0.157385f, -0.160046f, -0.160443f, -0.041448f, -0.037802f, -0.019486f, -0.036063f, 0.021088f, -0.004977f, -0.003713f, -0.033861f, -0.011852f, 0.011944f, 0.021730f, 0.007507f, 0.030084f, 0.020716f, 0.036278f, 0.001196f, + 0.006179f, -0.004607f, 0.015418f, -0.004623f, 0.007741f, -0.006052f, 0.007177f} + }, + { + {0.010258f, 0.000177f, -0.003781f, -0.000892f, -0.009139f, -0.006321f, 0.004095f, 0.000335f, -0.005747f, 0.007150f, 0.004833f, -0.001585f, 0.000457f, -0.001003f, 0.005798f, -0.008047f, 0.003030f, 0.005977f, 0.005321f, -0.011568f, -0.008066f, -0.005763f, 0.007771f, 0.001846f, 0.002551f, -0.003245f, 0.008287f, 0.003074f, -0.002032f, 0.000187f, -0.002336f, 0.001590f, 0.003116f, -0.001869f, -0.002359f, -0.006980f, 0.007412f, 0.012281f, 0.001474f, 0.007788f, -0.001434f, 0.001541f, 0.002825f, 0.003367f, -0.009326f, 0.000623f, -0.009744f, -0.002276f, -0.001370f, 0.003035f, -0.004910f, -0.000199f, 0.002148f, 0.000944f, -0.005680f, 0.000185f, 0.000654f, 0.004617f, -0.006041f, -0.007630f, -0.001016f, 0.010258f, 0.016527f, -0.000008f, 0.002710f, 0.001106f, -0.003539f, -0.009971f, -0.002527f, 0.006883f, -0.003170f, 0.006856f, 0.002672f, 0.006982f, -0.000384f, 0.002689f, 0.002484f, -0.005972f, -0.008023f, -0.000887f, 0.003024f, 0.004562f, 0.002227f, 0.002016f, 0.001371f, 0.001506f, -0.002757f, -0.004423f, -0.002993f, -0.002428f, -0.001155f, 0.000039f, -0.001660f, -0.000270f, 0.001456f, 0.002322f, + 0.002078f, -0.000376f, 0.000134f, 0.001358f, -0.000047f, -0.001781f, 0.004698f, -0.010364f, -0.002352f, -0.009830f, 0.005683f, 0.000636f, -0.004531f, 0.020952f, -0.008190f, -0.015016f, 0.001143f, 0.006952f, -0.001270f, -0.011301f, -0.003221f, -0.004913f, -0.001853f, -0.005361f, -0.001766f, 0.007769f, -0.000549f, -0.005074f, 0.008912f, 0.001307f, 0.008657f, -0.002308f, -0.002133f, 0.003328f, 0.000219f, 0.003877f, -0.001630f, 0.008170f, 0.013350f, -0.003685f, -0.008989f, -0.006585f, 0.005502f, -0.000021f, -0.020577f, -0.001959f, -0.008205f, -0.003057f, 0.010062f, -0.007035f, -0.005350f, 0.006940f, -0.004549f, -0.000998f, 0.009227f, 0.003181f, -0.007291f, 0.003258f, -0.005254f, -0.012155f, 0.003877f, 0.004762f, -0.009233f, -0.005344f, -0.002674f, -0.003883f, -0.000092f, 0.003950f, 0.006294f, 0.009535f, 0.010662f, -0.002552f, 0.001087f, -0.004216f, 0.004596f, 0.002925f, -0.002375f, 0.004461f, 0.006848f, -0.006551f, -0.003343f, 0.001100f, 0.000128f, 0.002634f, 0.007868f, -0.000999f, -0.002112f, 0.007131f, 0.001044f, -0.004955f, -0.003102f, -0.000381f, -0.003042f, 0.002179f, -0.001265f, -0.002742f, + 0.001117f, -0.003110f, -0.002450f, 0.001537f, -0.003124f, -0.002117f, 0.000087f, 0.002065f, -0.003865f, 0.000440f, -0.000942f, -0.001351f, -0.001865f, -0.000179f, -0.003016f, -0.000862f, -0.002888f, -0.016868f, -0.008567f, 0.005182f, 0.007473f, 0.002911f, 0.008107f, -0.006937f, 0.008485f, 0.010408f, -0.002925f, 0.011518f, -0.001572f, 0.008483f, -0.004034f, 0.000256f, -0.003618f, 0.010849f, 0.004237f, -0.000446f, 0.009698f, -0.005170f, -0.004101f, 0.007091f, -0.016845f, -0.002940f, 0.000923f, -0.003593f, -0.015012f, -0.009179f, 0.006231f, -0.005891f, -0.003913f, 0.000207f, 0.011749f, -0.002831f, -0.008220f, -0.000658f, 0.003025f, 0.006633f, -0.001008f, -0.010662f, -0.006865f, -0.001970f, -0.005456f, 0.001760f, -0.009271f, 0.004593f, -0.008723f, -0.012835f, 0.000412f, 0.004485f, 0.005217f, -0.004115f, -0.002945f, -0.008429f, 0.010889f, 0.006283f, 0.001521f, 0.000098f, -0.000302f, -0.003710f, -0.001980f, 0.003669f, 0.004651f, 0.016415f, -0.001849f, 0.004122f, 0.001081f, -0.000507f, -0.008042f, -0.006127f, 0.011138f, -0.004803f, 0.001097f, 0.002750f, 0.001614f, -0.001764f, 0.008419f, 0.000431f, + 0.000309f, -0.009150f, 0.008829f, 0.004936f, -0.003411f, -0.002048f, -0.000989f, -0.002670f, 0.001221f, 0.006349f, -0.000087f, 0.002511f, 0.001928f, -0.000912f, 0.001477f, 0.003271f, -0.000343f, -0.000015f, 0.001012f, 0.001513f, 0.001318f, 0.001860f, 0.003403f, 0.001254f, -0.002498f, 0.002597f, 0.001213f, -0.001859f, -0.001441f, -0.000319f, 0.000389f, 0.004085f, 0.005028f, 0.004490f, 0.010742f, -0.007126f, -0.010634f, -0.008593f, 0.005385f, 0.011870f, -0.002219f, 0.009090f, -0.008104f, -0.009857f, 0.008130f, -0.004110f, 0.000829f, 0.003025f, 0.010192f, 0.003775f, 0.016191f, -0.007073f, -0.008652f, 0.003771f, -0.004799f, -0.004528f, 0.009172f, -0.014342f, -0.008849f, 0.001425f, -0.002782f, 0.006517f, -0.004876f, 0.001787f, 0.011512f, -0.010739f, 0.008002f, -0.006484f, 0.005181f, -0.006075f, -0.001734f, -0.000988f, 0.011932f, 0.002239f, 0.000417f, -0.008748f, 0.000423f, -0.010407f, 0.003895f, 0.002562f, -0.006956f, -0.000172f, -0.002883f, 0.018011f, 0.002420f, 0.001150f, -0.015639f, -0.009170f, -0.013190f, 0.010296f, -0.006722f, -0.000744f, 0.005426f, 0.022981f, 0.016223f, -0.006488f, + -0.014142f, -0.005889f, -0.012278f, 0.012984f, -0.002492f, -0.003587f, -0.005682f, -0.003769f, -0.001065f, -0.005929f, -0.003931f, -0.000980f, -0.004812f, 0.003468f, -0.003366f, 0.004861f, -0.017873f, 0.001234f, -0.001474f, -0.005631f, -0.002648f, -0.005979f, -0.001201f, -0.009359f, 0.000768f, -0.003863f, -0.000313f, 0.005726f, -0.001801f, -0.001975f, -0.004006f, -0.004422f, -0.001249f, 0.001315f, -0.000249f, -0.000339f, -0.001594f, -0.000642f, -0.001886f, -0.000255f, 0.000460f, 0.001164f, -0.001335f, -0.001523f, -0.002125f, -0.001877f, -0.001626f, -0.002852f, -0.009066f, 0.006515f, -0.009381f, -0.016659f, 0.016995f, 0.007713f, -0.017859f, 0.017860f, -0.002878f, -0.001022f, -0.025090f, 0.014952f, 0.009940f, -0.020258f, 0.006021f, -0.003322f, 0.007671f, 0.001803f, 0.008842f, 0.005707f, 0.002247f, -0.009405f, 0.000868f, 0.003504f, -0.012484f, -0.005283f, -0.014729f, -0.002490f, -0.009161f, -0.004862f, 0.001660f, -0.011488f, -0.004258f, -0.016945f, 0.006411f, 0.001728f, 0.001454f, 0.001535f, -0.007316f, -0.014744f, -0.004628f, 0.005246f, -0.002406f, -0.001235f, 0.015475f, -0.022921f, 0.009643f, 0.011780f, + -0.001710f, 0.000786f, -0.004477f, -0.001768f, -0.007453f, -0.011298f, -0.007746f, -0.008891f, -0.005988f, 0.005751f, 0.003145f, 0.005126f, 0.007743f, -0.001797f, -0.004139f, 0.011110f, 0.021117f, 0.014953f, -0.000325f, -0.017931f, 0.004935f, -0.002707f, 0.002638f, 0.019103f, -0.000131f, 0.019243f, 0.017119f, -0.002298f, -0.005750f, -0.004552f, 0.001334f, 0.001707f, 0.006376f, 0.019512f, 0.005181f, 0.000827f, -0.002010f, -0.012011f, 0.001424f, 0.003775f, -0.004096f, -0.000541f, 0.000605f, -0.000104f, 0.002231f, 0.001748f, 0.001364f, -0.001461f, 0.002344f, 0.002214f, 0.002094f, 0.002452f, -0.006547f, -0.000993f, -0.004707f, 0.001922f, -0.003680f, 0.001599f, -0.001059f, -0.001631f, -0.003938f, 0.000798f, 0.000968f, -0.005669f, -0.001836f, 0.001395f, 0.027068f, 0.006924f, -0.004808f, -0.001310f, 0.008328f, -0.002843f, 0.026221f, -0.002783f, -0.004027f, 0.033226f, 0.000209f, 0.016801f, -0.006245f, 0.000463f, -0.001448f, 0.002736f, -0.004249f, 0.002308f, -0.000519f, -0.000949f, -0.018027f, -0.001724f, -0.004295f, -0.003226f, -0.007512f, 0.011540f, 0.005398f, 0.006867f, -0.010112f, -0.001121f, + -0.015981f, -0.006398f, 0.003003f, -0.001301f, -0.009715f, -0.002994f, 0.005342f, 0.012057f, 0.007298f, -0.003824f, -0.014858f, -0.000522f, 0.004231f, -0.002497f, 0.007873f, 0.005230f, 0.010673f, 0.014711f, -0.004784f, -0.000098f, -0.015867f, -0.019291f, 0.018206f, 0.009773f, -0.000658f, -0.000812f, -0.000603f, -0.007038f, -0.007714f, -0.000154f, 0.014574f, 0.008420f, 0.002646f, 0.017780f, -0.013631f, 0.003994f, -0.011180f, -0.008630f, 0.007651f, 0.007856f, 0.006473f, 0.026782f, -0.000966f, -0.012108f, 0.002104f, -0.011870f, 0.005376f, 0.003120f, 0.009784f, -0.005288f, 0.000156f, 0.001202f, -0.008997f, -0.001613f, 0.006297f, -0.000947f, 0.001633f, -0.003915f, -0.001992f, -0.000594f, 0.004362f, -0.002310f, 0.002756f, -0.004153f, 0.000392f, -0.005369f, 0.001719f, -0.002856f, -0.001835f, 0.000849f, 0.002712f, -0.003327f, 0.003594f, 0.002287f, 0.004386f, 0.000259f, 0.002604f, -0.001130f, 0.001594f, 0.000786f, 0.001613f, -0.001677f, -0.000025f, -0.001571f, -0.000213f, 0.000778f, 0.002276f, -0.014860f, -0.019955f, 0.007748f, -0.018650f, 0.000006f, 0.020760f, -0.021722f, 0.007950f, 0.009752f, + -0.005829f, -0.026811f, 0.000353f, 0.015685f, -0.017349f, 0.010790f, -0.001216f, -0.007688f, -0.022497f, -0.000631f, -0.016232f, 0.002877f, -0.008243f, -0.012645f, -0.015791f, 0.006494f, -0.002242f, -0.000921f, 0.015006f, -0.009079f, 0.012659f, -0.009612f, -0.003851f, 0.019405f, 0.006646f, -0.010346f, 0.007962f, 0.004690f, -0.008980f, 0.004740f, 0.004877f, -0.003436f, -0.003837f, 0.000784f, -0.004330f, -0.005107f, 0.003174f, 0.003561f, 0.026399f, -0.024849f, 0.004017f, 0.001597f, -0.008913f, 0.017884f, 0.010169f, -0.006123f, -0.019277f, 0.001727f, -0.001956f, -0.005806f, -0.012168f, -0.014237f, 0.017382f, 0.011287f, 0.001438f, -0.001725f, 0.009258f, 0.004714f, -0.004214f, 0.007423f, 0.005320f, -0.004809f, 0.018494f, -0.006855f, 0.011312f, -0.007561f, 0.005626f, 0.005831f, 0.004166f, -0.000546f, -0.010297f, 0.009851f, -0.008018f, -0.008327f, -0.005729f, 0.002881f, -0.000022f, 0.001236f, -0.009767f, 0.005321f, 0.004100f, -0.006165f, 0.000633f, -0.000226f, -0.003092f, 0.000599f, -0.002050f, 0.004739f, -0.001366f, 0.000741f, 0.003947f, -0.001775f, -0.003005f, 0.002643f, -0.003425f, 0.002784f, + -0.000618f, -0.000018f, -0.003943f, -0.001743f, -0.000138f, -0.004282f, 0.004241f, 0.002427f, 0.000955f, 0.002840f, -0.000916f, 0.001942f, 0.008807f, -0.020124f, 0.014768f, -0.008423f, -0.003691f, -0.011553f, -0.008287f, 0.007032f, -0.006607f, 0.005751f, 0.022559f, 0.007715f, 0.012405f, -0.028758f, -0.019007f, -0.010251f, -0.006858f, 0.003107f, -0.000112f, 0.004954f, -0.024112f, 0.012911f, 0.005402f, 0.003220f, 0.023042f, 0.000382f, -0.013032f, 0.021606f, 0.008522f, -0.009652f, 0.004433f, -0.012404f, 0.011376f, 0.005347f, 0.015155f, -0.012986f, -0.009199f, 0.003827f, -0.013106f, 0.016540f, -0.015161f, -0.000274f, 0.014720f, 0.013538f, -0.027998f, -0.000801f, 0.001381f, 0.003250f, 0.004643f, 0.030592f, 0.007075f, 0.001905f, -0.009357f, -0.007745f, -0.016535f, -0.008967f, 0.022629f, 0.000540f, -0.026998f, 0.000401f, 0.006259f, -0.015345f, -0.016874f, 0.001998f, -0.010943f, 0.004483f, 0.024798f, 0.012159f, 0.010439f, -0.010180f, -0.026490f, 0.002128f, -0.004531f, 0.012152f, -0.002379f, -0.022199f, -0.002696f, 0.005781f, 0.006116f, 0.005983f, -0.001871f, 0.018780f, 0.003549f, -0.011961f, + 0.015503f, -0.001154f, 0.009278f, -0.000319f, -0.002314f, -0.008076f, 0.011456f, 0.007871f, 0.004480f, -0.005865f, -0.002288f, -0.001549f, -0.003868f, 0.002167f, -0.000025f, -0.004987f, 0.002478f, 0.001500f, -0.002800f, -0.003714f, -0.001545f, -0.002809f, -0.000410f, 0.003475f, -0.003564f, 0.001787f, 0.004381f, 0.005239f, -0.001351f, 0.002230f, -0.002794f, -0.035468f, -0.010548f, 0.010014f, 0.027418f, 0.003897f, 0.014236f, 0.048633f, 0.008118f, 0.008290f, -0.007487f, -0.023330f, 0.013255f, -0.011319f, 0.012217f, -0.002943f, 0.032219f, 0.023444f, -0.012375f, -0.026355f, -0.020909f, 0.015886f, -0.013913f, 0.019476f, 0.008607f, 0.006340f, -0.006690f, -0.002577f, 0.023201f, -0.004579f, 0.020481f, 0.020448f, 0.010615f, 0.014341f, -0.015864f, 0.015531f, 0.008421f, -0.008339f, 0.022677f, -0.009983f, 0.020607f, 0.001539f, 0.002370f, -0.030181f, 0.018232f, 0.001656f, -0.005626f, 0.014900f, -0.020984f, -0.008352f, 0.012651f, 0.010294f, -0.019329f, 0.003116f, -0.012346f, -0.007132f, 0.019244f, 0.002573f, 0.005844f, -0.002035f, -0.022053f, 0.014833f, 0.014141f, 0.000959f, 0.011192f, 0.004993f, + -0.009738f, -0.010291f, -0.000777f, 0.011785f, -0.019962f, -0.000727f, 0.001343f, 0.000865f, -0.000130f, 0.008762f, 0.011573f, 0.023643f, 0.013332f, 0.000782f, -0.033166f, -0.010927f, -0.012378f, -0.001114f, 0.002523f, -0.009335f, -0.019632f, -0.006205f, -0.008809f, 0.005196f, 0.000831f, -0.005613f, 0.002175f, -0.005755f, 0.009229f, -0.003292f, -0.003851f, -0.005428f, 0.000174f, 0.002648f, -0.011772f, 0.007434f, -0.007545f, 0.003092f, -0.001884f, -0.004369f, 0.000284f, -0.007293f, 0.002436f, -0.006578f, -0.004719f, -0.000936f, -0.003723f, -0.003498f, 0.004148f, 0.007009f, 0.004278f, 0.006749f, 0.008858f, -0.001813f, 0.001388f, 0.043848f, 0.012926f, 0.005784f, -0.016203f, -0.039607f, 0.028692f, 0.008873f, -0.026151f, 0.007786f, -0.002755f, 0.006690f, 0.005647f, -0.018999f, -0.040455f, -0.031781f, 0.010805f, 0.024822f, -0.004837f, 0.026065f, -0.012002f, 0.020333f, 0.024951f, 0.033650f, -0.007329f, 0.024864f, -0.021992f, 0.008409f, -0.011949f, 0.002983f, 0.013525f, -0.000590f, -0.007071f, 0.006051f, 0.016961f, -0.012020f, -0.022290f, -0.022678f, 0.047603f, 0.000082f, -0.002248f, -0.021429f, + 0.022144f, 0.007161f, -0.043695f, -0.025380f, 0.009959f, -0.006167f, -0.007629f, 0.017114f, 0.005926f, 0.042408f, 0.023554f, -0.001503f, -0.024506f, -0.024184f, -0.013591f, -0.009940f, -0.027817f, 0.025852f, -0.018978f, 0.020460f, 0.017725f, -0.017694f, -0.022675f, -0.022050f, -0.032050f, 0.007851f, -0.000387f, -0.011564f, -0.014418f, -0.023613f, -0.008308f, -0.023256f, 0.005055f, 0.002830f, -0.007763f, 0.003186f, 0.019231f, -0.048679f, -0.018754f, -0.039721f, 0.020226f, 0.013996f, -0.016897f, -0.005734f, 0.008330f, -0.007477f, -0.000081f, 0.009440f, -0.007207f, -0.015889f, -0.001607f, -0.004564f, -0.004849f, -0.000178f, -0.001901f, -0.006741f, 0.000434f, 0.001430f, 0.008666f, -0.011710f, 0.003282f, 0.006465f, -0.000555f, -0.004834f, -0.007343f, -0.002167f, -0.000973f, 0.001692f, -0.002416f, -0.000618f, -0.004380f, 0.002266f, -0.001647f, -0.007467f, 0.013517f, 0.001405f, 0.004213f, -0.023579f, -0.045452f, -0.010096f, -0.011795f, 0.002520f, -0.010548f, 0.001977f, 0.004806f, -0.004882f, 0.019534f, -0.025167f, -0.007621f, -0.023884f, -0.001155f, -0.011885f, 0.027686f, 0.030950f, 0.024741f, -0.034504f, + 0.024492f, -0.012455f, 0.018606f, -0.007129f, 0.013742f, -0.011448f, -0.014738f, 0.005325f, -0.019043f, 0.012269f, 0.014784f, -0.001825f, 0.008883f, -0.017457f, -0.002190f, 0.029572f, -0.023503f, 0.001130f, -0.006971f, -0.009637f, -0.018949f, -0.001055f, 0.029213f, 0.038496f, -0.024285f, 0.011640f, -0.003049f, -0.023354f, -0.023884f, -0.025652f, -0.011744f, 0.048730f, 0.029416f, -0.009108f, 0.015639f, -0.010343f, 0.013543f, -0.026663f, 0.015652f, -0.000803f, -0.014595f, 0.037092f, 0.019098f, 0.007573f, 0.012100f, 0.010615f, 0.034699f, 0.004600f, -0.029513f, 0.011991f, 0.022444f, 0.017611f, -0.051489f, 0.031403f, -0.021889f, -0.019428f, -0.009668f, 0.003194f, -0.020246f, 0.022218f, 0.049237f, -0.008574f, 0.006985f, 0.025189f, 0.004213f, -0.004136f, 0.005924f, 0.002564f, 0.014302f, 0.012910f, 0.007699f, 0.023626f, 0.012043f, -0.006597f, 0.016005f, 0.009983f, -0.007195f, -0.014403f, 0.008028f, -0.002009f, 0.008695f, -0.004144f, 0.002532f, 0.007129f, 0.002715f, -0.002077f, -0.001876f, 0.003206f, 0.010966f, 0.002390f, -0.002720f, 0.002421f, 0.008392f, -0.003777f, 0.000337f, 0.014301f, + 0.005415f, -0.003852f, 0.007719f, 0.002427f, 0.001958f, 0.005857f, -0.000283f, 0.004821f, -0.002389f, -0.009187f, -0.008443f, 0.007066f, 0.031623f, 0.020818f, 0.085941f, 0.024198f, -0.014521f, 0.005667f, 0.014416f, 0.000502f, 0.028591f, 0.021467f, 0.019788f, -0.025439f, -0.042791f, 0.042885f, -0.024265f, 0.004213f, 0.014727f, 0.047047f, 0.018753f, -0.028245f, 0.025565f, -0.025532f, -0.005387f, -0.035162f, -0.046449f, -0.005038f, 0.012436f, 0.012654f, 0.009248f, 0.011979f, -0.003757f, -0.031677f, -0.011855f, 0.010380f, 0.010662f, -0.016704f, 0.035240f, 0.022563f, -0.021268f, 0.011866f, 0.017499f, 0.007042f, 0.000985f, -0.019395f, -0.002517f, -0.013561f, -0.008180f, 0.002146f, 0.021887f, 0.054843f, -0.014945f, 0.005114f, 0.007970f, 0.020535f, -0.019672f, 0.069475f, -0.006090f, 0.006843f, 0.005700f, -0.031351f, -0.030957f, -0.049689f, -0.021255f, 0.027384f, -0.009648f, 0.013826f, 0.010943f, 0.047831f, 0.007533f, 0.008672f, 0.002426f, 0.037711f, 0.018063f, -0.015624f, 0.034414f, -0.031322f, 0.004942f, 0.031899f, 0.040918f, 0.037834f, 0.014786f, -0.021433f, -0.035194f, -0.015073f, + -0.011318f, -0.025558f, -0.014371f, -0.014514f, -0.004148f, -0.021457f, 0.005339f, -0.007348f, -0.003630f, -0.018707f, -0.002308f, -0.011650f, 0.018445f, 0.001958f, 0.003953f, -0.016651f, -0.003322f, -0.022886f, 0.001489f, 0.009823f, -0.000839f, 0.016778f, 0.010469f, 0.000051f, 0.006825f, -0.003468f, -0.010442f, -0.006064f, -0.004750f, -0.019635f, 0.001706f, 0.003922f, 0.004572f, 0.005852f, -0.009817f, 0.013854f, 0.014911f, 0.006609f, -0.011761f, -0.007856f, -0.004004f, 0.003351f, 0.008186f, 0.004474f, -0.007920f, -0.004051f, -0.009049f, -0.035807f, 0.020168f, 0.009567f, 0.024757f, -0.006665f, -0.054756f, 0.004347f, -0.036742f, -0.032586f, 0.009626f, 0.007767f, 0.015212f, -0.009537f, 0.010930f, -0.001958f, -0.018781f, 0.029807f, -0.004878f, -0.009904f, -0.012018f, -0.020961f, -0.018019f, 0.010832f, -0.022695f, 0.005504f, -0.014555f, -0.009970f, -0.006339f, 0.029252f, -0.005844f, 0.031402f, 0.019543f, -0.008259f, 0.010325f, 0.010858f, 0.022211f, -0.015429f, -0.021177f, 0.003158f, 0.013035f, 0.017135f, 0.029359f, -0.032529f, -0.031670f, 0.013524f, 0.010398f, 0.036353f, -0.018013f, -0.002600f, + 0.017964f, 0.000107f, 0.004980f, -0.006715f, 0.023718f, 0.029892f, 0.013652f, -0.003801f, 0.018708f, 0.062694f, -0.013908f, -0.018295f, 0.023240f, -0.002574f, 0.036584f, 0.008804f, 0.017058f, 0.020639f, -0.006726f, 0.014447f, 0.042350f, -0.011565f, -0.050922f, 0.035813f, 0.010452f, -0.016776f, 0.004879f, -0.077586f, 0.051745f, -0.000516f, 0.032080f, -0.020375f, 0.016738f, 0.002365f, -0.030934f, -0.029486f, -0.004057f, 0.005723f, -0.022860f, 0.000122f, 0.003512f, -0.004200f, -0.007605f, -0.004764f, -0.025004f, -0.004154f, -0.015010f, 0.000215f, -0.007848f, -0.002268f, -0.008989f, 0.015047f, -0.011165f, -0.008524f, -0.016132f, -0.007800f, -0.018407f, -0.003396f, 0.004128f, -0.010243f, -0.001158f, -0.008389f, -0.009151f, -0.009912f, -0.000606f, -0.008206f, -0.006114f, 0.002961f, -0.002633f, 0.008007f, -0.005707f, -0.011759f, -0.012869f, 0.000084f, 0.002233f, -0.008102f, -0.001652f, -0.003647f, 0.003954f, -0.017297f, -0.033169f, -0.001638f, 0.051663f, 0.025360f, -0.066540f, 0.010186f, -0.012006f, 0.005552f, 0.010881f, -0.003475f, -0.034303f, 0.004546f, -0.005308f, 0.029550f, 0.057797f, -0.009809f, + 0.018613f, 0.037832f, -0.001700f, -0.010961f, -0.009774f, 0.014803f, 0.057724f, -0.001456f, -0.003995f, 0.047178f, -0.019303f, 0.012507f, 0.000134f, -0.001081f, -0.012369f, 0.017558f, -0.052953f, 0.001352f, 0.016789f, 0.038403f, 0.041177f, -0.034175f, 0.001461f, 0.036890f, -0.002215f, 0.068928f, -0.025089f, -0.034214f, 0.004697f, 0.050002f, 0.008929f, -0.038884f, -0.018050f, 0.011182f, -0.000079f, 0.021632f, -0.056169f, 0.006627f, 0.002607f, -0.012001f, -0.040712f, -0.036410f, 0.009707f, -0.011223f, -0.002406f, 0.001807f, -0.042363f, -0.044784f, 0.009599f, 0.006776f, -0.044898f, -0.015450f, -0.029129f, 0.026029f, -0.071045f, -0.027128f, 0.023522f, -0.043396f, 0.023830f, -0.011841f, -0.017202f, 0.023433f, -0.007122f, 0.035293f, 0.033811f, 0.007424f, 0.021041f, -0.009615f, 0.004395f, -0.025248f, 0.027311f, -0.019606f, 0.016316f, -0.026434f, 0.019596f, 0.001207f, 0.008822f, -0.002385f, 0.000277f, -0.015225f, 0.018133f, -0.019923f, 0.003582f, 0.002173f, 0.010269f, -0.021844f, 0.011459f, -0.008883f, -0.005939f, 0.006790f, -0.004467f, -0.010281f, 0.014799f, 0.006108f, 0.015808f, 0.006848f, + -0.001455f, -0.007419f, -0.007309f, -0.002025f, 0.003091f, -0.010386f, 0.003823f, -0.007583f, 0.003834f, -0.020891f, -0.010731f, -0.008563f, 0.010879f, 0.012350f, -0.006687f, 0.002779f, -0.002922f, -0.017362f, 0.037571f, 0.000045f, 0.020780f, -0.039221f, -0.002957f, -0.037121f, 0.038930f, 0.017304f, 0.050939f, 0.035970f, -0.018092f, 0.006945f, 0.040234f, 0.020748f, 0.020474f, 0.013212f, -0.034207f, -0.009697f, 0.016794f, 0.002795f, 0.019838f, -0.043513f, -0.032376f, 0.019810f, 0.065284f, 0.008998f, -0.021615f, 0.041364f, 0.011735f, 0.025895f, 0.006799f, 0.005156f, -0.036878f, -0.037425f, 0.000638f, 0.000737f, -0.064561f, 0.005334f, -0.013289f, -0.003206f, 0.020388f, -0.025068f, 0.015402f, 0.050806f, 0.005290f, -0.082522f, -0.059455f, -0.009573f, -0.018326f, -0.020436f, -0.000654f, 0.015158f, 0.013057f, -0.020149f, 0.022862f, 0.021827f, 0.019641f, -0.012670f, 0.016899f, -0.009213f, -0.021544f, -0.004972f, 0.018874f, -0.061562f, -0.014128f, -0.027734f, -0.032204f, -0.012687f, 0.008634f, -0.016265f, -0.001741f, 0.068037f, 0.038584f, -0.025988f, 0.000182f, 0.000883f, -0.011761f, -0.011988f, + 0.005917f, 0.045675f, 0.016603f, 0.007024f, -0.014179f, -0.010131f, -0.023690f, -0.027124f, -0.029099f, -0.006531f, 0.003677f, 0.009146f, -0.010225f, 0.008187f, -0.002469f, -0.006500f, -0.002566f, -0.007651f, -0.025559f, -0.006223f, -0.000282f, -0.006314f, -0.022115f, 0.002934f, -0.008040f, 0.024193f, -0.012204f, 0.008291f, -0.002495f, 0.010076f, -0.000164f, -0.019312f, 0.001617f, 0.023494f, 0.003527f, 0.021151f, -0.005827f, 0.010907f, -0.006758f, 0.006985f, -0.001483f, -0.014284f, -0.006449f, -0.001373f, -0.002618f, -0.002688f, -0.000133f, 0.013937f, 0.026614f, -0.037051f, -0.009458f, -0.015727f, 0.009786f, 0.077344f, 0.012156f, -0.038119f, 0.009996f, 0.034144f, -0.007415f, 0.031900f, 0.040583f, -0.021033f, 0.009531f, 0.020491f, 0.013928f, 0.000873f, -0.006074f, -0.012617f, 0.005980f, 0.024085f, 0.012350f, 0.022493f, -0.033852f, -0.052069f, -0.005622f, 0.023189f, 0.020387f, 0.016642f, -0.006006f, -0.048034f, 0.015383f, 0.010623f, 0.071829f, 0.075582f, 0.017886f, -0.056277f, 0.040615f, -0.021445f, -0.057573f, -0.013460f, -0.068121f, -0.051858f, -0.022962f, -0.024995f, -0.052843f, 0.009179f, + -0.021342f, -0.060438f, -0.055361f, 0.015961f, 0.035825f, -0.005937f, -0.046745f, 0.013857f, 0.001265f, 0.014920f, 0.029309f, 0.028620f, -0.036183f, 0.046596f, 0.031952f, 0.004060f, 0.012805f, 0.032422f, -0.001765f, 0.084810f, -0.060549f, -0.028923f, -0.002098f, -0.069007f, 0.056564f, 0.004127f, 0.071121f, 0.021974f, 0.015860f, -0.003606f, 0.014038f, 0.030168f, 0.001117f, -0.028095f, -0.000520f, -0.014999f, 0.011227f, 0.010866f, 0.020292f, -0.008542f, -0.026062f, -0.000175f, 0.024093f, 0.011429f, -0.015482f, -0.007715f, 0.012644f, -0.017322f, -0.000136f, 0.000373f, 0.022132f, 0.008680f, -0.012144f, -0.005262f, -0.013789f, -0.022248f, -0.019306f, -0.001069f, 0.004182f, -0.011030f, -0.008128f, 0.002588f, -0.011140f, 0.017429f, 0.008484f, -0.000209f, 0.010461f, 0.035201f, -0.013405f, -0.006700f, 0.003963f, 0.009453f, -0.018993f, 0.020632f, -0.006953f, -0.000637f, 0.003522f, 0.015429f, 0.025964f, -0.037701f, 0.009893f, -0.075290f, -0.020404f, -0.004665f, -0.018531f, 0.082659f, 0.026045f, -0.021956f, -0.051938f, -0.026327f, -0.021385f, -0.032897f, -0.024153f, 0.012643f, -0.075820f, -0.016318f, + 0.055633f, -0.006583f, -0.006264f, -0.057919f, 0.055237f, 0.027389f, 0.001231f, -0.021963f, 0.023532f, 0.011687f, -0.013210f, 0.025226f, -0.039162f, -0.010380f, -0.020011f, 0.011233f, -0.009161f, -0.024657f, 0.027986f, -0.021031f, 0.011661f, 0.000816f, -0.038052f, -0.023676f, -0.005957f, -0.047592f, -0.046759f, -0.062568f, -0.016178f, 0.028710f, -0.021037f, -0.011456f, 0.036079f, -0.044030f, -0.036234f, 0.039041f, -0.000343f, -0.002250f, 0.035121f, 0.000526f, -0.030109f, -0.017266f, 0.011832f, 0.025437f, -0.038894f, -0.012193f, 0.047262f, 0.020456f, 0.045603f, 0.023673f, -0.009377f, 0.024057f, -0.001872f, -0.061789f, 0.019382f, -0.046738f, 0.033854f, 0.005950f, 0.012392f, -0.019655f, -0.053500f, 0.011281f, -0.008015f, -0.046368f, -0.018638f, 0.020855f, -0.023589f, 0.001008f, 0.007272f, 0.015198f, -0.015151f, 0.000856f, 0.002211f, -0.003958f, 0.009646f, -0.006914f, 0.005384f, 0.019077f, -0.003561f, 0.006568f, 0.004957f, -0.012295f, 0.003849f, 0.009182f, 0.005157f, -0.009169f, 0.012486f, 0.008743f, -0.000962f, -0.012855f, -0.026432f, 0.005487f, -0.020925f, 0.017019f, -0.021364f, 0.014042f, + 0.017410f, 0.000885f, 0.000966f, 0.000567f, 0.009876f, 0.001608f, -0.009131f, 0.020601f, 0.016381f, -0.008070f, -0.012908f, -0.021507f, 0.056412f, 0.019695f, 0.002082f, 0.006888f, -0.014733f, 0.022367f, 0.034762f, 0.088063f, 0.076916f, 0.006651f, -0.033862f, 0.015665f, 0.044599f, 0.012747f, 0.034535f, 0.024908f, 0.016724f, -0.026102f, -0.033519f, -0.040283f, -0.002808f, 0.014966f, 0.028372f, 0.057209f, 0.030275f, 0.036690f, 0.021335f, 0.034017f, 0.017165f, 0.032768f, -0.021884f, 0.006178f, 0.061850f, -0.001663f, 0.047583f, 0.012612f, 0.038482f, -0.061057f, -0.009930f, -0.017998f, -0.017991f, 0.014240f, 0.023781f, 0.044222f, 0.071541f, 0.059926f, -0.021242f, 0.010642f, -0.079446f, 0.019299f, 0.018294f, 0.069999f, -0.055647f, 0.044271f, -0.014448f, -0.039010f, 0.029894f, 0.009225f, 0.024949f, 0.043849f, -0.014267f, -0.056157f, 0.029066f, -0.036103f, -0.049507f, -0.023532f, 0.066237f, -0.057497f, -0.081613f, -0.041186f, -0.013523f, 0.043047f, -0.004494f, -0.029349f, -0.056328f, -0.042526f, 0.026936f, -0.003848f, -0.001054f, 0.036486f, -0.039743f, 0.011364f, 0.040808f, 0.015895f, + 0.027319f, 0.039526f, -0.026769f, -0.013488f, -0.022624f, 0.030231f, 0.006712f, 0.015566f, 0.011019f, -0.027204f, 0.033785f, 0.008350f, 0.005354f, -0.013327f, -0.049397f, -0.047188f, 0.004703f, -0.022458f, -0.009321f, -0.021302f, -0.018527f, -0.008132f, 0.008704f, -0.000283f, -0.020836f, 0.026606f, 0.022297f, -0.003001f, -0.023652f, 0.003877f, 0.014243f, -0.016902f, -0.007658f, -0.009707f, 0.000197f, 0.011498f, -0.005310f, -0.011684f, -0.009460f, 0.008085f, 0.006764f, 0.012970f, 0.016177f, -0.008482f, 0.009243f, 0.010010f, 0.055335f, -0.017455f, -0.061149f, 0.004291f, -0.025540f, -0.087419f, -0.044216f, 0.114647f, 0.016034f, -0.051780f, -0.056851f, 0.006398f, 0.001015f, 0.023675f, 0.029765f, -0.040104f, -0.026626f, -0.063976f, 0.014895f, -0.023215f, -0.015357f, 0.097745f, 0.020993f, -0.013534f, -0.100899f, -0.006531f, -0.053876f, 0.053384f, 0.065962f, 0.006901f, 0.051319f, -0.060473f, -0.023784f, -0.038215f, -0.009020f, 0.099812f, 0.124329f, 0.019837f, -0.033183f, -0.044422f, -0.089760f, 0.001207f, 0.011617f, 0.108507f, 0.060571f, -0.015884f, -0.178413f, -0.092442f, 0.015366f, -0.017152f, + 0.156717f, 0.052504f, -0.075209f, -0.031317f, -0.134271f, -0.042519f, 0.004735f, 0.087806f, 0.090623f, 0.101716f, 0.004854f, 0.024086f, -0.010692f, 0.008769f, 0.125151f, -0.046199f, 0.091933f, -0.022278f, -0.094386f, -0.028277f, -0.100056f, -0.032157f, 0.131038f, 0.059565f, 0.093567f, -0.031021f, 0.073379f, -0.082160f, -0.013087f, 0.019523f, 0.039118f, 0.077817f, -0.026258f, -0.001699f, 0.004917f, -0.007381f, 0.012033f, 0.020756f, -0.022260f, 0.003384f, -0.023407f, -0.042354f, 0.019048f, 0.034405f, 0.019195f, -0.004472f, -0.025423f, -0.056666f, -0.055796f, -0.029438f, 0.018891f, 0.052147f, 0.029394f, 0.040337f, -0.054849f, -0.071921f, -0.055467f, 0.006229f, 0.063002f, 0.069951f, 0.053748f, -0.032120f, -0.136973f, -0.088039f, 0.002671f, 0.068946f, 0.148855f, 0.057670f, 0.012240f, -0.067781f, -0.089288f, -0.031033f, -0.028412f, 0.078005f, 0.086215f, 0.032223f, -0.005110f, -0.074827f, -0.056118f, 0.017090f, 0.025779f, 0.063444f, 0.030840f, -0.032796f, -0.022947f, -0.039269f, -0.018686f, 0.018429f, 0.016853f, -0.079486f, 0.088155f, 0.000149f, -0.022973f, -0.136964f, -0.036870f, -0.036987f, + -0.061795f, 0.132593f, 0.001421f, 0.059403f, -0.090631f, 0.050321f, 0.042258f, -0.040784f, 0.026538f, -0.007844f, 0.023724f, -0.000021f, 0.067842f, 0.023950f, -0.065805f, 0.039738f, 0.032810f, -0.000234f, 0.045815f, -0.033882f, -0.017373f, 0.057460f, 0.040315f, 0.038259f, 0.019147f, 0.033283f, -0.099174f, 0.086554f, -0.049759f, -0.031718f, 0.018982f, -0.069595f, 0.101655f, -0.028947f, 0.010253f, 0.073321f, 0.002643f, -0.011231f, 0.040000f, 0.040724f, 0.072041f, -0.017631f, -0.066655f, -0.068129f, 0.007695f, -0.024656f, 0.031668f, -0.041246f, -0.019877f, -0.027956f, 0.020516f, -0.127969f, 0.002236f, 0.094843f, 0.026426f, 0.038553f, -0.003422f, -0.010554f, 0.025171f, -0.033866f, -0.038482f, 0.023714f, 0.013369f, -0.041735f, -0.046122f, 0.176115f, -0.018908f, -0.057419f, 0.016167f, 0.082481f, -0.002151f, -0.065199f, 0.026943f, -0.012342f, -0.024498f, 0.053045f, 0.067649f, -0.049544f, -0.080711f, 0.018143f, 0.019597f, -0.018791f, -0.048226f, 0.002269f, 0.024513f, -0.007579f, -0.007738f, -0.003347f, -0.008225f, 0.012830f, 0.014520f, -0.016752f, 0.001933f, 0.007112f, 0.003728f, -0.010134f, + 0.003818f, -0.000699f, -0.022295f, 0.015983f, 0.006984f, 0.031061f, 0.015571f, -0.011990f, 0.012829f, -0.006314f, 0.018467f, -0.001457f, -0.004701f, 0.025308f, -0.006236f, 0.017296f, -0.005026f, -0.020156f, -0.001664f, 0.022768f, -0.006364f, 0.025937f, -0.024632f, 0.032602f, 0.007765f, -0.023668f, 0.009962f, 0.000386f, 0.012111f, -0.004091f, -0.009409f, -0.002505f, 0.025611f, -0.068324f, 0.024333f, 0.107814f, 0.169806f, -0.075080f, 0.055351f, -0.112107f, -0.033038f, -0.068296f, -0.009305f, 0.104343f, 0.110746f, 0.088002f, -0.002752f, -0.070277f, -0.042486f, 0.038263f, 0.002891f, 0.019192f, 0.057891f, -0.001063f, 0.028827f, -0.073667f, -0.018771f, -0.042612f, -0.051878f, 0.028482f, 0.023747f, 0.001607f, 0.051923f, -0.044073f, -0.001560f, 0.011691f, -0.062115f, -0.001716f, 0.004379f, -0.039280f, -0.014805f, 0.014729f, -0.026220f, 0.058510f, -0.019119f, 0.088630f, 0.067048f, -0.043698f, -0.012247f, -0.060742f, -0.069407f, -0.090153f, 0.028845f, 0.041553f, 0.120511f, 0.091893f, 0.042953f, 0.058397f, 0.011200f, -0.066382f, -0.043869f, -0.037191f, -0.045184f, -0.009614f, 0.025303f, -0.002447f, + -0.031049f, 0.008076f, -0.031328f, 0.019688f, 0.044896f, 0.008740f, -0.046836f, 0.036588f, -0.022458f, -0.023858f, -0.046873f, 0.024237f, 0.020781f, 0.010618f, 0.005740f, 0.106223f, 0.081191f, 0.066390f, 0.011265f, -0.015447f, -0.090012f, -0.018880f, -0.009427f, 0.088473f, 0.050691f, 0.023030f, 0.026724f, 0.076617f, -0.012254f, -0.030577f, -0.041453f, -0.034729f, -0.016375f, -0.007820f, 0.006925f, 0.000877f, 0.000488f, 0.039721f, -0.004697f, -0.023826f, -0.014643f, -0.008226f, 0.000755f, 0.019600f, 0.035387f, 0.015452f, -0.004602f, 0.021877f, -0.036868f, 0.014263f, 0.033638f, 0.013672f, 0.066424f, -0.027414f, 0.000282f, 0.011250f, -0.027949f, 0.007112f, -0.044369f, -0.002430f, 0.015262f, 0.000377f, 0.017792f, -0.012803f, -0.184350f, -0.106790f, -0.061480f, 0.105984f, 0.049767f, 0.282069f, 0.265205f, 0.273899f, 0.277180f, 0.296835f, 0.208933f, 0.108960f, 0.158240f, 0.094966f, -0.047194f, -0.087927f, -0.135411f, -0.263548f, -0.237297f, -0.246223f, -0.178332f, -0.180912f, -0.133935f, -0.111195f, -0.058975f, 0.005946f, -0.104187f, -0.053428f, -0.021542f, -0.016563f, -0.056337f, 0.014451f, + 0.070650f, 0.079105f, 0.029611f, 0.093476f, 0.119217f, 0.029421f, 0.023560f, 0.023470f, 0.117154f, 0.121836f, 0.154032f, 0.172171f, 0.150915f, 0.170984f, 0.259996f, 0.105243f, 0.203035f, 0.276753f, 0.178189f, 0.210056f, 0.165392f, 0.082661f, 0.098869f, 0.109081f, 0.097243f, 0.131797f, 0.130125f, 0.080563f, 0.015933f, 0.040016f, 0.076760f, -0.004878f, 0.009058f, -0.036901f, -0.042232f, -0.130691f, -0.058631f, -0.226439f, -0.284257f, -0.227902f, -0.259335f, -0.353236f, -0.340841f, -0.202299f, -0.380732f, -0.345735f, -0.315275f, -0.356920f, -0.300893f, -0.229792f, -0.288318f, -0.212427f, -0.058609f, -0.141107f, -0.174199f, -0.069044f, -0.068730f, -0.056785f, -0.062344f, -0.027874f, 0.017482f, 0.035815f, 0.069888f, 0.090152f, 0.103608f, 0.116440f, 0.120632f, 0.169842f, 0.104385f, 0.200098f, 0.224307f, 0.106678f, 0.208383f, 0.197906f, 0.125869f, 0.151692f, 0.220484f, 0.149757f, 0.248834f, 0.187668f, 0.235977f, 0.165044f, 0.150336f, 0.155562f, 0.145682f, 0.114188f, 0.131107f, 0.113757f, 0.090385f, 0.067868f, 0.066587f, 0.053865f, 0.023825f, -0.016587f, -0.012484f, -0.009354f, + -0.077637f, -0.127255f, -0.121694f, -0.125372f, -0.136017f, -0.126474f, -0.140720f, -0.102217f, -0.105152f, -0.086418f, -0.063171f, -0.049754f, -0.055931f, -0.055690f, -0.041457f, -0.029327f, -0.031470f, -0.042738f, -0.020701f, -0.010020f, -0.022534f, -0.036217f, -0.018511f, -0.012201f, -0.015503f, -0.017286f, 0.002300f, 0.006880f, 0.009664f, 0.001125f, 0.003365f}, + {0.020074f, 0.001053f, -0.001324f, -0.000691f, -0.001576f, -0.010276f, -0.010429f, 0.009985f, 0.002398f, -0.005964f, -0.009108f, -0.004384f, -0.006883f, -0.011866f, 0.015180f, 0.001840f, 0.005499f, 0.007572f, 0.021869f, -0.000558f, 0.003492f, -0.005267f, -0.001945f, -0.004051f, -0.014256f, 0.003183f, -0.004362f, 0.001410f, 0.009907f, -0.003911f, -0.000975f, 0.002158f, 0.001047f, -0.002354f, 0.000462f, -0.013169f, 0.002731f, -0.000316f, -0.004729f, 0.004120f, 0.001887f, -0.008864f, 0.013988f, 0.000491f, 0.002007f, 0.013020f, -0.005060f, -0.005624f, -0.012843f, -0.006504f, 0.008859f, 0.000556f, 0.009443f, -0.004630f, -0.010508f, 0.004567f, -0.009796f, -0.004380f, -0.018901f, 0.007766f, 0.006598f, 0.004027f, 0.005673f, 0.012960f, 0.003347f, -0.005692f, 0.006978f, 0.010764f, -0.007062f, 0.005329f, -0.000060f, -0.002274f, -0.003675f, -0.002902f, 0.007231f, -0.001470f, 0.008026f, -0.004072f, 0.003205f, -0.002514f, 0.002895f, 0.005866f, -0.003215f, 0.002137f, -0.002232f, 0.004740f, 0.003814f, 0.003247f, -0.001671f, 0.001124f, 0.000086f, -0.002644f, 0.001276f, 0.004631f, 0.000773f, 0.001570f, + -0.002787f, 0.001819f, -0.001544f, 0.001077f, -0.002153f, 0.000460f, 0.002681f, -0.007941f, 0.002140f, -0.004915f, -0.010071f, -0.000981f, -0.011896f, -0.014418f, -0.009117f, -0.006905f, -0.015914f, 0.000644f, -0.005752f, -0.003197f, 0.004888f, 0.016951f, 0.001545f, -0.004024f, -0.001950f, 0.002728f, -0.000337f, 0.007043f, 0.012024f, -0.001015f, 0.013502f, -0.001553f, -0.000890f, -0.001616f, 0.007688f, -0.010169f, 0.001578f, 0.001234f, -0.002503f, -0.000579f, -0.006080f, -0.010106f, 0.013880f, -0.004724f, -0.001039f, -0.002475f, 0.006121f, -0.006605f, -0.005691f, 0.002420f, 0.002054f, 0.009700f, -0.006659f, 0.007989f, -0.004674f, -0.007999f, -0.000636f, -0.003305f, 0.002165f, 0.004353f, -0.000180f, 0.005649f, 0.002682f, 0.004118f, -0.005360f, -0.006291f, -0.010430f, -0.007660f, 0.000971f, 0.012446f, 0.001565f, 0.010109f, 0.002617f, -0.005205f, 0.006944f, 0.003301f, -0.007517f, 0.013171f, 0.002189f, -0.012403f, 0.003225f, 0.005622f, 0.001108f, 0.003734f, 0.003219f, -0.008787f, 0.003197f, 0.003078f, 0.002160f, -0.000505f, 0.006462f, 0.002176f, -0.001662f, -0.002122f, -0.000052f, 0.002588f, + -0.000081f, 0.003514f, -0.000117f, 0.000171f, 0.002020f, -0.000840f, -0.001935f, -0.001241f, 0.000343f, -0.001716f, -0.001841f, 0.002262f, -0.000222f, 0.002171f, 0.001901f, -0.000529f, -0.000196f, -0.014763f, -0.013121f, 0.002782f, 0.001476f, 0.010984f, -0.008507f, 0.011299f, -0.005771f, -0.002563f, -0.017800f, -0.001183f, 0.001134f, -0.006146f, -0.001115f, 0.009485f, 0.008934f, 0.013450f, -0.003361f, -0.002114f, 0.008355f, 0.003900f, 0.007494f, -0.018375f, 0.018067f, -0.003971f, -0.000336f, 0.002815f, -0.002305f, -0.000206f, -0.001717f, -0.001319f, 0.011165f, -0.000396f, 0.014686f, -0.002612f, -0.006155f, -0.012366f, 0.001332f, -0.005639f, -0.004985f, 0.008428f, 0.006463f, 0.008815f, 0.000187f, 0.001028f, -0.013208f, -0.009519f, -0.000255f, 0.011850f, 0.004009f, -0.001610f, 0.003875f, -0.005045f, 0.012583f, -0.000755f, -0.011086f, -0.013999f, -0.005091f, 0.015529f, 0.011671f, 0.011977f, 0.005483f, 0.000381f, -0.013174f, -0.005908f, -0.001959f, -0.007709f, 0.007937f, -0.001442f, -0.003767f, 0.006817f, -0.018710f, 0.005505f, -0.002489f, 0.004358f, -0.001533f, -0.005382f, 0.008374f, 0.003149f, + -0.008902f, -0.009425f, 0.004691f, -0.002486f, 0.005484f, 0.001460f, -0.004062f, 0.002848f, 0.003471f, -0.000195f, 0.001307f, -0.000029f, 0.000357f, -0.001599f, -0.000072f, -0.002614f, -0.000015f, -0.002280f, 0.003652f, 0.001995f, -0.002846f, 0.001387f, -0.000757f, 0.000961f, 0.000954f, 0.001271f, -0.002124f, -0.001832f, 0.000627f, 0.001358f, -0.003873f, 0.003723f, -0.004202f, -0.008097f, -0.001338f, -0.006273f, 0.002868f, 0.010150f, 0.003975f, 0.000357f, -0.004141f, -0.023602f, -0.015560f, -0.000513f, 0.006828f, 0.008261f, 0.000472f, 0.001665f, -0.003335f, 0.008190f, 0.003626f, 0.006561f, -0.010293f, 0.009749f, 0.005595f, -0.011096f, 0.004150f, 0.010164f, -0.000564f, 0.003282f, 0.001650f, 0.009216f, -0.007176f, 0.005467f, -0.000943f, -0.001251f, -0.008827f, 0.000532f, 0.009434f, -0.006030f, -0.004369f, -0.008269f, 0.011074f, -0.001091f, 0.002150f, -0.008699f, -0.024782f, -0.007232f, 0.003633f, 0.002277f, 0.009147f, -0.006601f, -0.004078f, -0.003768f, -0.001663f, -0.007973f, 0.000242f, -0.007200f, 0.016228f, 0.005702f, 0.013237f, -0.013422f, -0.002649f, -0.005574f, 0.012403f, -0.003789f, + -0.002295f, -0.010340f, 0.006405f, -0.000225f, -0.006913f, 0.010555f, 0.003267f, 0.001279f, 0.012112f, 0.002582f, -0.010633f, -0.001498f, 0.001280f, -0.002902f, -0.003594f, 0.000065f, -0.009032f, 0.017895f, 0.007373f, 0.002590f, 0.011154f, 0.004830f, 0.004404f, 0.008187f, -0.002355f, 0.006926f, -0.003986f, 0.001182f, 0.000710f, 0.000403f, -0.002079f, 0.001240f, 0.000530f, -0.000672f, -0.001219f, -0.001173f, 0.000853f, -0.000930f, 0.000072f, 0.005926f, 0.000616f, -0.000188f, -0.000108f, -0.000093f, -0.000809f, 0.004700f, 0.001211f, 0.006589f, -0.005248f, 0.004182f, 0.000396f, -0.002713f, 0.011200f, 0.008519f, -0.000863f, -0.015278f, -0.020381f, -0.015756f, 0.005833f, 0.000004f, -0.008803f, -0.002305f, 0.001033f, -0.002013f, 0.022936f, 0.003951f, -0.016571f, -0.004416f, -0.004953f, 0.000824f, -0.007800f, 0.012962f, -0.009695f, -0.012719f, 0.011876f, -0.005005f, 0.003261f, 0.003142f, -0.005432f, -0.014973f, 0.001994f, -0.007986f, -0.007044f, -0.007341f, -0.000914f, 0.011633f, -0.001611f, -0.002655f, 0.017211f, 0.003143f, 0.002635f, -0.022225f, -0.002480f, 0.011827f, 0.013864f, -0.007687f, + 0.003760f, 0.001878f, -0.021917f, -0.002953f, -0.001347f, -0.002256f, 0.005516f, 0.000225f, -0.012299f, 0.001577f, -0.009837f, 0.009400f, -0.003353f, 0.012105f, 0.002411f, -0.013952f, 0.006159f, 0.026099f, -0.010162f, 0.000197f, -0.019489f, 0.004683f, 0.016364f, -0.029398f, 0.004173f, -0.002128f, -0.002565f, 0.007257f, -0.004762f, -0.007710f, 0.013754f, 0.013127f, -0.011414f, -0.001432f, 0.008600f, -0.003891f, 0.002007f, 0.004012f, 0.002524f, 0.000779f, -0.003356f, 0.007289f, -0.000227f, 0.004743f, 0.000169f, 0.006503f, 0.004435f, 0.004077f, -0.000385f, 0.001349f, 0.007272f, 0.000719f, -0.001544f, 0.002496f, 0.002233f, 0.000794f, 0.006031f, -0.003447f, 0.001886f, 0.000891f, -0.001399f, 0.000359f, 0.002143f, 0.001441f, 0.000686f, -0.000666f, 0.019643f, 0.002444f, 0.008809f, 0.013919f, -0.017162f, -0.005267f, -0.013097f, 0.006589f, 0.007600f, 0.015116f, 0.029261f, 0.004607f, -0.022316f, -0.002086f, -0.005610f, -0.002315f, -0.009651f, 0.000036f, -0.001080f, 0.011062f, 0.008806f, 0.003206f, -0.000791f, 0.000443f, -0.003437f, -0.002553f, 0.012674f, -0.004134f, -0.001698f, 0.009472f, + -0.001190f, 0.005581f, -0.000946f, 0.012056f, -0.009205f, -0.018226f, 0.022670f, -0.001336f, 0.005382f, -0.017061f, 0.001257f, -0.005191f, 0.025153f, 0.003963f, 0.011386f, -0.002382f, 0.010097f, 0.006795f, -0.022766f, -0.003589f, -0.012784f, -0.010991f, 0.001534f, 0.016043f, 0.002013f, -0.003224f, 0.024904f, -0.002639f, -0.014075f, -0.010748f, -0.007365f, 0.012223f, 0.037628f, -0.000078f, 0.010441f, 0.002699f, -0.011995f, -0.002634f, 0.000206f, 0.011165f, 0.017105f, 0.001573f, 0.013748f, 0.012266f, -0.022533f, 0.000746f, -0.004027f, -0.000574f, 0.011290f, -0.005040f, 0.002933f, 0.005332f, -0.001738f, -0.011571f, -0.008034f, -0.016901f, 0.004042f, 0.006737f, -0.000853f, 0.002601f, 0.002485f, 0.002054f, -0.000208f, -0.005248f, 0.001109f, 0.002490f, -0.000300f, 0.002306f, -0.002745f, 0.004502f, -0.000392f, 0.002262f, -0.001249f, -0.000810f, -0.002180f, 0.000572f, -0.001173f, 0.000792f, 0.003717f, 0.005978f, 0.004938f, 0.000749f, 0.001287f, 0.003662f, 0.002030f, 0.000115f, 0.002062f, -0.006698f, -0.029061f, 0.006586f, -0.002941f, 0.009966f, 0.006384f, 0.027043f, 0.005438f, -0.005126f, + 0.006476f, 0.020690f, 0.022901f, 0.009451f, 0.016126f, 0.016495f, -0.012811f, -0.009957f, -0.020753f, -0.022424f, 0.002437f, 0.009654f, -0.018975f, -0.013500f, -0.001047f, -0.021947f, -0.018198f, 0.009203f, 0.002933f, -0.009762f, -0.006509f, -0.014407f, 0.011927f, 0.008707f, 0.019624f, 0.037323f, -0.004166f, -0.010613f, -0.004012f, -0.018430f, -0.000243f, -0.014367f, -0.015895f, 0.019111f, 0.002157f, 0.002606f, -0.024616f, 0.025365f, 0.005020f, -0.015844f, -0.005108f, 0.013042f, 0.000850f, 0.002802f, -0.000459f, 0.002096f, 0.007404f, -0.012144f, 0.014183f, 0.000283f, -0.010004f, -0.002818f, -0.017123f, 0.002628f, -0.017580f, -0.015609f, 0.013433f, 0.013867f, -0.013988f, -0.022217f, 0.005619f, -0.010731f, -0.001632f, -0.005949f, 0.007431f, -0.006387f, 0.009816f, 0.003118f, 0.011890f, -0.002737f, 0.008872f, 0.004555f, -0.019945f, -0.007001f, 0.004863f, 0.002584f, 0.000323f, -0.009879f, -0.005591f, -0.002977f, 0.006547f, -0.003837f, -0.003339f, 0.000260f, 0.005237f, 0.004069f, -0.000264f, -0.000314f, -0.005745f, -0.003102f, 0.001062f, -0.001375f, -0.000611f, 0.004657f, 0.000476f, -0.000350f, + -0.004230f, 0.004019f, 0.001258f, -0.001551f, -0.000847f, -0.002843f, -0.000570f, -0.003144f, 0.004232f, -0.001071f, 0.001931f, -0.001250f, -0.011083f, -0.012094f, 0.014612f, -0.004505f, -0.003474f, 0.008459f, -0.012223f, -0.012837f, 0.014730f, 0.019739f, 0.000291f, -0.001206f, 0.006637f, -0.016992f, 0.028934f, -0.017796f, 0.002051f, 0.013861f, -0.006645f, 0.012931f, 0.015581f, 0.005144f, -0.016474f, 0.017688f, -0.002694f, 0.006640f, -0.012930f, -0.002420f, -0.024537f, 0.008410f, -0.014600f, 0.005594f, -0.025252f, 0.014776f, -0.018474f, -0.012879f, 0.010485f, 0.014585f, 0.004861f, 0.001597f, 0.000560f, -0.015862f, -0.014747f, -0.009415f, 0.038293f, 0.021011f, -0.006072f, -0.035552f, -0.005049f, 0.009953f, 0.020640f, -0.011736f, 0.001652f, -0.024590f, -0.008465f, -0.003085f, 0.006362f, 0.003547f, -0.005529f, -0.000498f, 0.010756f, -0.012207f, -0.000681f, -0.013908f, 0.007530f, 0.008995f, 0.026487f, 0.011186f, -0.012870f, 0.005400f, -0.007161f, -0.020079f, -0.002520f, 0.011508f, 0.001659f, 0.032912f, -0.018858f, -0.009276f, 0.005118f, -0.017250f, 0.008798f, 0.002685f, -0.003214f, 0.016688f, + 0.004179f, 0.007335f, 0.000164f, 0.000544f, -0.002574f, 0.008220f, 0.012384f, 0.002917f, -0.003513f, 0.008991f, -0.004672f, 0.002783f, -0.008467f, -0.002905f, 0.000035f, -0.011267f, -0.000139f, -0.004418f, -0.001932f, -0.004409f, -0.007215f, -0.003418f, 0.002558f, 0.002781f, 0.002021f, -0.002415f, -0.000293f, 0.004903f, -0.008126f, 0.000804f, 0.000777f, -0.025277f, -0.003716f, 0.005187f, 0.014922f, 0.007268f, 0.019482f, 0.003553f, -0.023288f, 0.014832f, -0.019701f, -0.021084f, 0.000590f, -0.001909f, 0.016053f, 0.019961f, 0.018357f, 0.026776f, 0.006551f, -0.027607f, 0.030245f, 0.016547f, -0.012208f, 0.023279f, -0.002996f, 0.002857f, -0.020392f, -0.007039f, -0.005870f, -0.009023f, 0.019518f, -0.032738f, -0.007393f, -0.015366f, -0.014618f, 0.002737f, 0.015814f, -0.007446f, -0.018889f, -0.020024f, -0.026100f, -0.026372f, -0.013397f, -0.004456f, 0.011414f, -0.020692f, -0.026852f, -0.015845f, -0.006748f, -0.013149f, -0.008794f, 0.023457f, -0.013141f, 0.002246f, 0.012451f, -0.021199f, -0.012598f, -0.014272f, 0.023087f, -0.009793f, 0.015046f, 0.033089f, -0.003186f, 0.007462f, 0.003255f, -0.010077f, + -0.013250f, -0.009028f, 0.015636f, -0.002278f, 0.017899f, 0.001124f, 0.013520f, 0.003193f, -0.022667f, 0.028160f, -0.012100f, -0.003538f, -0.024081f, 0.014841f, 0.031651f, 0.005390f, -0.004301f, 0.008442f, 0.003692f, -0.020199f, -0.009417f, 0.001243f, -0.004759f, -0.002133f, -0.008694f, -0.008493f, -0.001379f, 0.001552f, 0.001293f, 0.014744f, -0.001672f, 0.001910f, -0.007254f, 0.005628f, 0.000632f, 0.011090f, 0.004827f, 0.005026f, 0.002118f, -0.001289f, -0.004729f, -0.003974f, -0.006578f, -0.001402f, -0.004948f, 0.003349f, 0.001725f, -0.000077f, -0.003440f, -0.002904f, -0.002514f, -0.000979f, 0.001178f, -0.001155f, 0.006081f, 0.046849f, 0.029538f, 0.021497f, -0.015534f, -0.033721f, -0.009103f, 0.020533f, -0.031942f, -0.017402f, 0.000616f, 0.025092f, 0.017982f, 0.014580f, -0.018508f, 0.013968f, -0.004987f, 0.013964f, -0.003662f, 0.036279f, 0.021744f, -0.001789f, -0.033368f, -0.003432f, 0.025288f, 0.021521f, 0.000892f, 0.043979f, 0.019887f, -0.008831f, -0.000021f, 0.003044f, -0.005205f, -0.012273f, -0.016940f, -0.002655f, -0.047555f, 0.013481f, -0.016316f, 0.002269f, -0.001678f, 0.012427f, + 0.017689f, 0.000455f, 0.004706f, -0.021213f, 0.015119f, -0.007704f, 0.031483f, 0.000728f, 0.004495f, -0.076698f, -0.003300f, 0.020472f, 0.010564f, 0.021774f, -0.007466f, -0.021472f, 0.011932f, 0.004171f, -0.017595f, 0.016756f, 0.003396f, -0.016861f, 0.000247f, 0.000728f, 0.005884f, -0.006193f, -0.028079f, -0.028128f, -0.001155f, -0.010117f, 0.009433f, 0.009922f, 0.004173f, 0.010560f, -0.034381f, -0.011783f, 0.001772f, 0.007629f, 0.008303f, -0.013688f, 0.010801f, 0.002523f, -0.004920f, 0.003638f, 0.009744f, -0.006475f, 0.001310f, -0.002089f, 0.004031f, -0.006588f, -0.010304f, -0.003478f, 0.012259f, -0.009267f, 0.001308f, -0.006925f, 0.004912f, -0.002865f, 0.004349f, 0.007065f, -0.000850f, -0.007029f, 0.005754f, -0.001190f, -0.008219f, -0.005245f, 0.002957f, 0.003800f, 0.000454f, -0.003323f, 0.001638f, -0.000671f, 0.005073f, -0.002397f, 0.009832f, -0.003363f, -0.000631f, -0.032367f, -0.052074f, 0.008399f, 0.018025f, 0.018723f, 0.000437f, 0.043273f, -0.030789f, 0.010145f, 0.005915f, -0.008783f, -0.027333f, -0.011516f, -0.015551f, 0.018347f, -0.008069f, -0.016837f, -0.027821f, -0.002580f, + -0.010291f, -0.005324f, -0.020989f, 0.011173f, -0.001332f, -0.009829f, 0.011281f, 0.014369f, 0.017004f, -0.022114f, 0.040355f, 0.002441f, -0.005824f, -0.024812f, -0.023331f, -0.004755f, -0.003083f, -0.024203f, -0.025234f, -0.019367f, 0.016237f, -0.011225f, 0.026940f, 0.008617f, 0.044968f, 0.015422f, 0.017052f, -0.005794f, 0.024097f, -0.004218f, 0.005774f, 0.034170f, -0.010455f, 0.012384f, -0.041148f, -0.052369f, 0.011372f, -0.002496f, -0.033271f, 0.002050f, 0.000775f, -0.045204f, 0.012668f, -0.013333f, -0.008989f, -0.017670f, 0.016997f, -0.016512f, 0.000886f, -0.001846f, 0.008165f, 0.000019f, -0.024787f, 0.014487f, -0.003624f, 0.005753f, -0.031249f, -0.043081f, -0.038389f, 0.002104f, -0.009149f, -0.043622f, -0.009237f, 0.041858f, 0.022015f, 0.009689f, 0.007930f, -0.019384f, 0.000584f, -0.004470f, 0.001817f, -0.006400f, -0.005215f, -0.000250f, -0.000531f, 0.001644f, -0.000116f, -0.013542f, -0.003308f, 0.003541f, -0.002593f, 0.006491f, 0.010627f, 0.008927f, -0.000151f, -0.001524f, -0.004697f, 0.014166f, 0.008120f, 0.009318f, 0.007731f, 0.005703f, -0.001104f, -0.005424f, -0.004910f, 0.011051f, + -0.008615f, 0.006586f, 0.009264f, 0.003625f, 0.004547f, 0.000743f, 0.002706f, -0.007487f, 0.000638f, -0.002167f, -0.006453f, 0.003083f, 0.008386f, 0.031690f, 0.041365f, -0.001136f, 0.011018f, 0.026165f, 0.021449f, -0.002150f, -0.052632f, 0.036085f, -0.003535f, 0.009855f, -0.010716f, 0.018519f, -0.001282f, -0.022741f, 0.006436f, 0.041459f, 0.006365f, -0.027153f, 0.023984f, 0.017157f, 0.011241f, -0.020418f, 0.022072f, 0.016372f, 0.001973f, 0.026353f, -0.010465f, 0.007069f, 0.042449f, 0.030928f, 0.001289f, 0.009794f, 0.020875f, -0.040025f, -0.008027f, -0.002554f, -0.006211f, -0.035075f, 0.009041f, 0.010599f, 0.002082f, -0.027206f, -0.000361f, -0.046570f, 0.002555f, -0.033286f, -0.006516f, 0.017118f, -0.014136f, -0.020163f, -0.016135f, 0.009858f, 0.008194f, -0.018610f, 0.007426f, -0.006740f, 0.023017f, -0.011982f, -0.013434f, 0.011932f, 0.021508f, -0.002108f, 0.009398f, 0.008250f, -0.050799f, -0.001217f, -0.003708f, -0.025969f, 0.002726f, 0.033057f, 0.010122f, -0.009339f, -0.004058f, 0.024141f, 0.016999f, 0.010523f, -0.006818f, 0.038331f, 0.000401f, -0.031913f, 0.004288f, 0.038360f, + 0.019927f, 0.019463f, 0.011536f, 0.002071f, -0.009477f, -0.010893f, 0.006927f, 0.006220f, 0.009117f, 0.014392f, -0.003584f, 0.011361f, 0.006922f, 0.001109f, -0.001974f, -0.001193f, 0.005081f, -0.005212f, -0.002027f, -0.005169f, -0.000149f, -0.002452f, 0.005594f, -0.011600f, 0.001954f, 0.003929f, 0.001210f, 0.008819f, -0.015695f, -0.006555f, 0.002607f, 0.002978f, -0.001616f, 0.009025f, -0.003380f, -0.003028f, -0.004397f, 0.001017f, 0.005764f, 0.006837f, -0.008775f, 0.001267f, 0.003968f, -0.008010f, -0.005141f, -0.004435f, 0.020225f, -0.046566f, 0.019788f, -0.048222f, -0.057211f, -0.037011f, 0.002425f, -0.031579f, 0.030751f, -0.009683f, -0.038464f, -0.001339f, -0.009774f, 0.005186f, 0.007179f, -0.009012f, -0.004956f, 0.025337f, -0.007565f, 0.009643f, -0.013819f, -0.013809f, 0.040390f, -0.013635f, -0.004624f, -0.001250f, 0.009216f, 0.024849f, -0.050683f, -0.003469f, 0.027173f, 0.026175f, 0.024600f, 0.003206f, -0.009163f, 0.052124f, 0.017718f, 0.016398f, 0.020398f, 0.009225f, -0.007321f, 0.000323f, 0.030759f, 0.009891f, -0.021675f, 0.011447f, 0.056613f, -0.029917f, 0.039142f, 0.014293f, + -0.059673f, 0.014415f, 0.040165f, -0.004394f, 0.018101f, -0.000259f, -0.045207f, 0.022847f, 0.056425f, 0.003159f, 0.038396f, -0.023238f, 0.033981f, 0.028032f, -0.000836f, -0.005091f, 0.031203f, 0.016476f, -0.040852f, 0.040916f, -0.010037f, -0.009353f, 0.024920f, -0.012033f, -0.014633f, -0.018264f, 0.006474f, 0.002126f, 0.006912f, -0.001717f, -0.008196f, 0.030748f, -0.027380f, 0.004743f, -0.005591f, -0.008971f, -0.022357f, -0.021298f, 0.012652f, -0.001612f, -0.013740f, -0.018999f, -0.015871f, -0.027068f, -0.019152f, -0.001054f, -0.013232f, -0.007956f, -0.001894f, -0.014023f, 0.005996f, -0.012340f, -0.012672f, -0.003426f, 0.003224f, 0.004530f, -0.006335f, -0.000772f, -0.019888f, 0.007988f, -0.020865f, 0.016031f, -0.005289f, -0.001297f, -0.009106f, -0.004965f, -0.000952f, 0.024001f, 0.012083f, -0.002416f, 0.005785f, 0.016539f, 0.009038f, -0.008984f, -0.004217f, 0.006527f, -0.008128f, 0.013515f, 0.003091f, -0.005125f, -0.018130f, -0.032180f, 0.077282f, 0.038239f, -0.090116f, -0.037148f, 0.009565f, -0.014938f, 0.026034f, 0.030650f, 0.032889f, 0.037622f, -0.023113f, 0.071278f, -0.010727f, 0.001801f, + -0.023330f, 0.026862f, 0.035794f, -0.025793f, -0.029423f, -0.006187f, -0.016945f, 0.003173f, 0.014276f, 0.002211f, -0.018522f, -0.006992f, 0.029353f, -0.002331f, 0.014833f, 0.003592f, 0.035322f, 0.052951f, 0.020083f, -0.025440f, -0.059642f, -0.004988f, -0.010125f, 0.006733f, -0.013804f, 0.019697f, 0.033059f, 0.003012f, -0.012255f, -0.027226f, 0.065206f, 0.057047f, -0.007567f, 0.027870f, -0.015522f, -0.020811f, -0.062814f, 0.034749f, -0.029311f, -0.006726f, -0.001880f, -0.019603f, 0.011002f, 0.038611f, 0.005898f, -0.016993f, 0.018310f, -0.007846f, -0.025932f, 0.039483f, 0.008010f, -0.054641f, 0.070055f, -0.047427f, -0.025426f, 0.027126f, 0.027804f, 0.023337f, 0.000394f, -0.058364f, -0.005028f, 0.005163f, -0.003396f, -0.019154f, 0.011310f, -0.010000f, 0.004134f, 0.007286f, -0.024243f, 0.028042f, 0.019509f, 0.009422f, 0.003762f, -0.011459f, -0.008514f, -0.000536f, 0.009883f, 0.000893f, 0.007623f, -0.004552f, -0.018779f, 0.005706f, -0.027525f, -0.008703f, 0.008754f, -0.008116f, 0.015054f, -0.012739f, -0.001886f, -0.010823f, 0.011995f, 0.001062f, 0.014753f, 0.017165f, 0.011792f, 0.000508f, + -0.012994f, 0.009439f, 0.015957f, -0.003151f, -0.001867f, -0.017093f, -0.007545f, 0.019854f, -0.006787f, 0.013409f, -0.001165f, -0.007463f, 0.007036f, 0.006664f, -0.000410f, -0.011262f, 0.020507f, -0.024867f, 0.002773f, 0.035555f, 0.010544f, -0.048238f, -0.038693f, -0.009262f, 0.060354f, 0.006312f, -0.028984f, -0.077848f, -0.021657f, -0.003534f, 0.018485f, 0.053584f, 0.041050f, -0.005729f, 0.000509f, 0.035252f, 0.028686f, 0.001339f, 0.007866f, -0.105050f, -0.066236f, -0.032274f, -0.051905f, 0.004514f, -0.028953f, 0.046489f, -0.010642f, -0.003643f, -0.000227f, -0.018721f, -0.021377f, 0.033686f, 0.020991f, 0.011924f, -0.004763f, -0.016040f, -0.014367f, 0.016782f, -0.037646f, -0.014105f, 0.006660f, -0.013051f, -0.018334f, 0.015702f, -0.054414f, -0.076140f, 0.018109f, 0.023792f, 0.029551f, -0.044462f, -0.023642f, 0.024621f, 0.009348f, -0.074224f, -0.065191f, 0.003962f, -0.031550f, -0.032636f, 0.012140f, -0.059965f, 0.030431f, -0.023196f, 0.025009f, 0.023999f, -0.014876f, -0.033797f, -0.078099f, -0.027379f, -0.023463f, 0.043840f, -0.037892f, -0.024713f, 0.013367f, 0.044815f, 0.026124f, 0.000251f, + -0.015254f, -0.005019f, 0.013409f, -0.013439f, 0.045289f, -0.028063f, -0.021996f, -0.010630f, -0.003936f, 0.012452f, -0.033363f, 0.019650f, 0.015063f, -0.013976f, -0.023362f, 0.005435f, -0.001354f, 0.022747f, -0.029178f, -0.038059f, -0.009655f, 0.006023f, -0.021055f, -0.003170f, -0.025461f, 0.001102f, 0.006211f, -0.011457f, 0.017765f, -0.004786f, -0.012590f, 0.005518f, -0.008510f, 0.005183f, -0.007251f, -0.026450f, -0.001163f, 0.001942f, 0.025251f, 0.019806f, -0.012154f, 0.000091f, -0.001361f, -0.014933f, -0.019105f, 0.009266f, -0.004854f, 0.030880f, 0.042629f, -0.006877f, -0.057109f, 0.025858f, -0.008473f, -0.023922f, -0.049215f, 0.014679f, 0.021218f, -0.073191f, 0.027753f, 0.025972f, 0.066110f, 0.005948f, -0.016403f, 0.004073f, -0.080608f, -0.023463f, -0.009673f, 0.001046f, 0.014917f, -0.027605f, 0.049628f, 0.019817f, 0.061311f, -0.012286f, 0.053947f, 0.034550f, 0.021410f, 0.049046f, 0.024965f, 0.032367f, 0.041804f, 0.001825f, -0.054432f, -0.051480f, 0.010613f, 0.058942f, 0.042691f, -0.078531f, -0.002151f, -0.013301f, -0.010934f, -0.008243f, -0.054301f, 0.013936f, -0.038651f, 0.034884f, + -0.025822f, 0.078713f, -0.020597f, -0.112924f, -0.011901f, -0.038915f, 0.022567f, 0.016770f, 0.032280f, 0.073288f, 0.016492f, -0.009954f, 0.040246f, -0.023688f, 0.082009f, 0.013787f, 0.054909f, 0.025762f, 0.005120f, -0.020756f, -0.018658f, 0.134402f, 0.000931f, -0.092767f, -0.018521f, 0.074154f, -0.044180f, 0.009735f, -0.020307f, 0.032562f, 0.068220f, 0.039319f, -0.078414f, -0.005060f, -0.077191f, 0.010760f, -0.010522f, -0.045769f, -0.005259f, -0.012362f, -0.020133f, -0.000096f, -0.039455f, -0.043459f, 0.015203f, 0.016452f, -0.002000f, -0.048637f, 0.035324f, -0.043089f, -0.066609f, -0.028408f, 0.016797f, -0.016522f, -0.029586f, -0.038278f, 0.007216f, 0.016241f, -0.034586f, -0.026508f, 0.013067f, -0.015341f, -0.027865f, 0.022969f, 0.018482f, -0.001608f, -0.003319f, 0.001366f, -0.006218f, -0.011422f, -0.012026f, 0.004520f, -0.025689f, 0.015252f, -0.009041f, 0.005829f, -0.032714f, 0.036997f, 0.016022f, -0.076777f, -0.028803f, -0.087189f, 0.013292f, 0.076855f, -0.056630f, -0.053104f, 0.050782f, 0.023875f, -0.086917f, -0.082370f, 0.026411f, 0.004360f, 0.012094f, 0.028042f, -0.003431f, -0.024730f, + -0.012574f, 0.052636f, -0.037684f, 0.064995f, 0.010595f, -0.015219f, 0.013896f, 0.037551f, -0.000123f, -0.011242f, -0.069549f, -0.030524f, 0.007733f, -0.037273f, 0.032174f, 0.048041f, 0.003482f, 0.007956f, -0.049751f, 0.059354f, -0.020827f, -0.026528f, 0.048421f, -0.018593f, 0.000119f, -0.034711f, -0.003507f, -0.024401f, -0.085521f, 0.029370f, -0.009560f, 0.063595f, 0.081579f, -0.001185f, -0.014536f, -0.051684f, -0.016317f, -0.014379f, 0.077633f, -0.073769f, -0.052059f, -0.122284f, 0.002893f, -0.050619f, 0.014069f, 0.042444f, -0.022850f, -0.006370f, 0.083456f, 0.053822f, 0.038079f, 0.006586f, 0.003847f, 0.063330f, -0.068623f, -0.002979f, 0.019533f, -0.008100f, 0.037919f, 0.018188f, 0.161032f, 0.025466f, -0.043946f, -0.002462f, -0.030101f, -0.079342f, -0.031416f, 0.002961f, 0.013513f, -0.015277f, -0.016421f, -0.015016f, -0.056661f, -0.000709f, -0.004634f, -0.030097f, 0.008065f, 0.020218f, -0.048570f, 0.003193f, -0.032941f, 0.012927f, -0.002214f, -0.011442f, -0.006504f, 0.002832f, 0.028681f, 0.016729f, 0.001327f, 0.031737f, -0.019445f, -0.004095f, -0.009225f, 0.029873f, 0.020027f, 0.014225f, + 0.030749f, 0.014309f, -0.021852f, -0.010491f, -0.003532f, 0.015241f, -0.027504f, -0.007070f, 0.000952f, -0.031058f, -0.009599f, 0.005675f, 0.074445f, -0.054685f, 0.018975f, -0.018776f, -0.026542f, -0.025881f, 0.112524f, -0.015093f, 0.055250f, -0.044615f, 0.076780f, -0.026636f, 0.001153f, 0.041352f, 0.044358f, 0.105863f, 0.005085f, 0.017300f, 0.015583f, -0.044981f, 0.054701f, 0.016920f, -0.032076f, 0.053258f, -0.022205f, 0.067080f, 0.051327f, -0.015874f, 0.044676f, 0.002059f, 0.041728f, 0.008371f, 0.070713f, -0.043132f, 0.035350f, -0.071373f, -0.017731f, 0.023968f, 0.076669f, -0.003352f, 0.006356f, 0.032971f, -0.000063f, -0.025784f, -0.091914f, -0.056933f, 0.015967f, -0.039538f, -0.001517f, 0.029116f, -0.080035f, 0.049142f, -0.003267f, 0.058439f, -0.027534f, -0.054606f, -0.009255f, 0.151004f, 0.034564f, -0.137327f, 0.024490f, 0.035011f, 0.008864f, 0.149512f, -0.008717f, -0.110057f, 0.114554f, -0.038479f, -0.007039f, 0.125140f, -0.013107f, 0.082340f, 0.013607f, -0.074282f, 0.003519f, 0.127949f, -0.103997f, 0.054875f, -0.063579f, -0.072037f, 0.053861f, 0.032292f, -0.065589f, -0.024073f, + -0.040575f, -0.022133f, -0.023537f, 0.012069f, -0.039968f, -0.008160f, 0.016574f, -0.041290f, -0.029273f, 0.021711f, -0.048121f, -0.011646f, 0.017669f, 0.006941f, -0.010682f, 0.036688f, -0.015245f, -0.012113f, -0.017071f, -0.032752f, 0.016598f, -0.021020f, -0.023949f, -0.005521f, 0.004866f, 0.048944f, 0.000836f, 0.014077f, -0.039537f, 0.004444f, 0.052227f, -0.009297f, -0.005458f, -0.003733f, 0.003223f, 0.003965f, 0.036721f, -0.018672f, -0.021413f, -0.010653f, -0.033677f, -0.040485f, 0.011651f, -0.019942f, 0.008999f, 0.013328f, -0.005274f, -0.110403f, -0.008387f, 0.017399f, -0.041257f, -0.011691f, -0.115874f, 0.073770f, 0.112787f, -0.049148f, 0.016068f, -0.085370f, -0.250249f, -0.047491f, 0.011744f, 0.127530f, 0.106843f, -0.104074f, -0.093002f, -0.093449f, -0.076979f, -0.053982f, 0.066399f, -0.010981f, 0.146110f, 0.099341f, -0.029225f, -0.120197f, -0.301726f, -0.194869f, 0.013809f, 0.335670f, 0.255193f, 0.047303f, -0.131314f, -0.329217f, -0.337640f, -0.023978f, 0.196919f, 0.304910f, 0.333831f, 0.035043f, -0.107685f, -0.135913f, -0.180901f, -0.162437f, 0.011172f, 0.113456f, 0.210252f, 0.145297f, + 0.115787f, -0.149828f, -0.184240f, -0.216013f, -0.260730f, 0.029940f, 0.313079f, 0.309027f, 0.062997f, -0.110626f, -0.293115f, -0.384056f, -0.129791f, 0.030308f, 0.143349f, 0.351700f, 0.129591f, -0.000225f, -0.193288f, -0.157818f, -0.066386f, 0.080397f, 0.137634f, 0.241585f, 0.063382f, 0.126408f, -0.009833f, -0.161123f, -0.133406f, 0.008007f, 0.155933f, 0.170213f, -0.077035f, -0.147250f, -0.180680f, -0.045012f, 0.029926f, 0.043257f, 0.027953f, -0.090103f, -0.077963f, -0.032134f, 0.058160f, 0.000229f, 0.001244f, 0.013140f, 0.046597f, 0.037606f, 0.029207f, -0.015707f, -0.109870f, -0.073062f, 0.008571f, 0.056989f, 0.105576f, 0.051161f, -0.029413f, -0.069656f, -0.091984f, -0.057639f, -0.036764f, -0.048197f, 0.105888f, 0.110496f, 0.121359f, 0.100694f, -0.046386f, -0.192847f, -0.163313f, -0.088040f, 0.074774f, 0.244135f, 0.236756f, 0.013376f, -0.149039f, -0.233417f, -0.209940f, -0.013601f, 0.117013f, 0.109968f, 0.053630f, 0.048353f, 0.003074f, -0.062589f, -0.074889f, -0.094936f, -0.014010f, 0.088896f, 0.109335f, -0.029740f, 0.053864f, 0.041415f, -0.094987f, 0.001037f, 0.048856f, -0.039245f, + 0.054002f, -0.002193f, -0.009904f, -0.003874f, 0.010883f, 0.041057f, -0.016138f, 0.048382f, 0.032886f, 0.019710f, 0.021881f, 0.016625f, -0.004204f, -0.027679f, 0.045220f, -0.000594f, 0.027585f, -0.016444f, 0.024559f, -0.008435f, -0.003543f, 0.016726f, -0.022398f, -0.023577f, 0.003452f, -0.010122f, 0.036599f, 0.036223f, -0.033192f, 0.016590f, -0.019781f, 0.022799f, 0.000452f, 0.014985f, 0.005659f, 0.019440f, -0.023647f, 0.016422f, -0.027211f, -0.011744f, -0.003803f, -0.003016f, 0.021919f, -0.041412f, -0.008226f, -0.017059f, -0.036949f, -0.003211f, -0.014548f, 0.008887f, 0.035119f, -0.010503f, -0.048797f, 0.007904f, 0.030209f, 0.059101f, -0.002636f, 0.005266f, -0.031872f, -0.024118f, 0.027438f, 0.002561f, -0.010477f, 0.000893f, 0.048140f, 0.021396f, 0.015154f, 0.026090f, 0.044354f, -0.050272f, 0.020031f, -0.008536f, -0.075152f, -0.008695f, 0.058041f, -0.010717f, 0.051631f, -0.002258f, 0.032040f, -0.037949f, 0.023429f, -0.025799f, -0.007747f, 0.050958f, -0.014704f, 0.004740f, 0.000999f, -0.000177f, 0.018540f, -0.000036f, -0.007698f, -0.004292f, -0.001483f, -0.003564f, 0.009241f, 0.014634f, + 0.021251f, 0.002443f, -0.018338f, -0.008207f, -0.023688f, 0.008894f, -0.024559f, 0.013229f, 0.009968f, -0.007553f, 0.013596f, 0.004364f, -0.025472f, 0.000398f, -0.000142f, 0.008075f, -0.043671f, 0.015192f, 0.009546f, 0.003771f, -0.001309f, -0.012074f, 0.014130f, -0.022079f, 0.022087f, -0.001793f, -0.002820f, 0.005914f, -0.010783f, 0.018703f, -0.021212f, 0.005812f, 0.010555f, -0.034650f, 0.088562f, 0.152586f, 0.013041f, -0.099828f, 0.033504f, -0.007518f, 0.123733f, 0.058121f, 0.121629f, -0.011450f, -0.057761f, -0.015731f, 0.027004f, 0.051101f, 0.040022f, -0.022552f, 0.003962f, 0.021689f, 0.015798f, 0.048273f, -0.033717f, 0.008125f, -0.045482f, -0.007394f, 0.000700f, 0.011678f, 0.023788f, 0.005183f, -0.019358f, 0.036958f, -0.003347f, -0.032717f, 0.044669f, -0.007657f, -0.015885f, 0.011811f, -0.006560f, 0.034688f, 0.055464f, 0.001326f, 0.014546f, -0.018667f, -0.011550f, 0.032009f, 0.023287f, 0.026501f, 0.005345f, -0.016862f, -0.034747f, -0.035789f, -0.038773f, 0.031061f, 0.034257f, 0.033460f, 0.050044f, 0.053483f, 0.023233f, 0.002797f, -0.046646f, 0.028621f, -0.004920f, -0.042457f, + 0.052501f, -0.003878f, 0.034560f, 0.018036f, -0.052431f, 0.014506f, -0.015510f, 0.011204f, 0.035620f, 0.006616f, -0.043809f, -0.031211f, -0.025800f, -0.046046f, 0.028122f, -0.002849f, 0.048458f, -0.000519f, 0.007981f, 0.000944f, -0.026043f, -0.016846f, 0.009261f, -0.039507f, 0.012012f, -0.000430f, -0.007594f, 0.014213f, -0.021871f, 0.013335f, 0.008744f, -0.001797f, -0.018512f, 0.024344f, -0.006096f, 0.021591f, -0.036438f, -0.026906f, -0.015816f, -0.014169f, 0.017291f, -0.007289f, -0.004468f, -0.004672f, -0.018222f, -0.009947f, -0.011185f, 0.000010f, 0.033857f, 0.004495f, -0.008568f, -0.000567f, -0.019654f, 0.014321f, -0.010928f, -0.001946f, -0.007483f, 0.016048f, -0.001381f, 0.002112f, -0.003405f, -0.011653f, -0.007903f, -0.053928f, -0.120350f, 0.008092f, 0.166909f, 0.220475f, 0.189432f, 0.130488f, -0.005429f, 0.008017f, -0.096354f, -0.114900f, -0.192755f, -0.145851f, -0.154738f, -0.050291f, 0.013197f, 0.050334f, 0.084873f, 0.210253f, 0.175156f, 0.117766f, 0.038302f, -0.018673f, -0.075929f, -0.056752f, -0.078951f, -0.100688f, -0.055822f, -0.057637f, -0.070680f, -0.033085f, -0.046463f, 0.009750f, + 0.033037f, 0.027531f, 0.089741f, 0.082605f, 0.073536f, 0.047891f, 0.055731f, 0.034867f, 0.066721f, 0.015923f, 0.057747f, 0.002431f, -0.014922f, -0.100676f, -0.043602f, -0.121317f, -0.140758f, -0.157705f, -0.123402f, -0.092935f, -0.032761f, 0.023648f, 0.090699f, 0.096353f, 0.076214f, 0.156421f, 0.127047f, 0.135475f, 0.125761f, 0.117057f, 0.047206f, 0.075652f, -0.030262f, -0.075559f, -0.078909f, -0.186297f, -0.185857f, -0.179874f, -0.191087f, -0.157869f, -0.053754f, -0.026710f, 0.042643f, 0.106587f, 0.116467f, 0.141946f, 0.171333f, 0.152532f, 0.119183f, 0.107968f, 0.079810f, 0.029590f, -0.002774f, -0.064238f, -0.094109f, -0.095270f, -0.108301f, -0.091194f, -0.101864f, -0.106568f, -0.089604f, -0.070148f, -0.034842f, 0.003930f, 0.046545f, 0.089036f, 0.083795f, 0.082219f, 0.097435f, 0.107195f, 0.083398f, 0.083066f, 0.037426f, -0.039341f, -0.028320f, -0.068973f, -0.087161f, -0.073257f, -0.059743f, -0.042485f, -0.052796f, -0.038727f, 0.004901f, 0.010831f, 0.018871f, 0.046838f, 0.041794f, 0.026020f, 0.006819f, 0.017428f, 0.018401f, 0.005013f, 0.023209f, -0.014671f, -0.015454f, -0.013126f, + 0.008961f, -0.003020f, 0.000760f, -0.001714f, -0.002669f, -0.017645f, -0.011616f, -0.005574f, 0.016843f, -0.000677f, 0.007961f, 0.001837f, -0.008613f, -0.011707f, -0.005322f, -0.008485f, 0.002721f, -0.001242f, 0.003175f, 0.000858f, 0.004170f, -0.005234f, 0.004205f, -0.003965f, 0.001143f, 0.000845f, 0.007884f, -0.000970f, 0.004468f, -0.002981f, 0.003164f} + }, + { + {0.019357f, 0.010286f, -0.001158f, 0.006752f, 0.001689f, 0.001541f, -0.021194f, -0.009223f, -0.010498f, 0.008258f, -0.001136f, -0.006887f, 0.007508f, 0.007751f, 0.000509f, 0.007442f, -0.003109f, -0.000256f, -0.000437f, -0.004595f, -0.002392f, -0.010186f, 0.005264f, -0.015060f, 0.006289f, -0.007856f, 0.006412f, 0.011973f, 0.005466f, -0.002282f, -0.003386f, 0.008847f, -0.001427f, 0.000409f, 0.008374f, -0.008973f, -0.000262f, -0.003037f, -0.005167f, 0.001097f, -0.001257f, 0.001853f, 0.008583f, 0.014144f, -0.004495f, 0.000253f, 0.011748f, 0.000891f, 0.003090f, -0.004329f, -0.006584f, -0.000970f, 0.001974f, -0.011100f, -0.002914f, 0.005798f, 0.000754f, 0.002093f, 0.003444f, -0.001595f, -0.003469f, -0.003283f, -0.003891f, 0.004291f, 0.003516f, -0.002048f, -0.006360f, -0.007821f, 0.003864f, 0.000068f, -0.006491f, 0.006847f, -0.001496f, -0.000457f, 0.001044f, 0.001932f, -0.003239f, 0.004095f, -0.004361f, -0.001476f, 0.005358f, -0.003703f, 0.002135f, -0.006267f, -0.004792f, -0.002309f, -0.001552f, -0.000403f, 0.000847f, -0.002529f, -0.003164f, -0.000320f, -0.001802f, 0.000705f, -0.000668f, -0.000576f, + -0.000863f, 0.000667f, 0.000186f, -0.000665f, -0.001292f, -0.000782f, -0.000481f, -0.000122f, -0.000700f, -0.000451f, -0.000988f, 0.000903f, -0.001448f, -0.000899f, -0.006957f, -0.001912f, 0.000055f, -0.006590f, -0.006667f, -0.004000f, 0.015998f, -0.011237f, -0.004620f, -0.007847f, -0.014288f, 0.005336f, 0.002450f, 0.000556f, 0.012266f, 0.011613f, 0.011638f, 0.003758f, -0.002177f, 0.001800f, 0.008773f, -0.003753f, 0.003784f, 0.004432f, -0.010350f, 0.014737f, 0.002859f, 0.004583f, 0.010899f, -0.004193f, -0.010875f, 0.000733f, 0.007386f, -0.005207f, -0.002362f, -0.006942f, 0.007351f, -0.000191f, -0.000749f, -0.012065f, -0.000523f, -0.001468f, 0.007428f, 0.003792f, -0.006616f, 0.013195f, 0.004870f, 0.002744f, 0.004623f, -0.002155f, 0.007399f, -0.002885f, 0.000365f, -0.009213f, -0.011003f, 0.008818f, 0.006907f, 0.012217f, 0.001193f, 0.003294f, -0.009464f, -0.014651f, -0.007192f, -0.004398f, -0.004268f, -0.006771f, -0.005831f, 0.003017f, -0.001697f, 0.004442f, -0.005500f, -0.002110f, 0.002414f, 0.002731f, -0.001654f, 0.007452f, 0.002264f, -0.005602f, 0.011253f, -0.004417f, 0.003461f, 0.014197f, + 0.003028f, 0.001945f, -0.004404f, 0.000195f, -0.004836f, -0.005780f, -0.000932f, 0.003265f, -0.000067f, 0.000417f, 0.000176f, -0.001569f, -0.000503f, 0.000139f, -0.001420f, 0.003327f, 0.002133f, -0.001249f, -0.000308f, 0.000093f, 0.000873f, 0.000469f, -0.002214f, -0.001198f, -0.000534f, 0.000243f, 0.000985f, -0.001033f, -0.001593f, 0.001367f, -0.000820f, 0.001048f, -0.000571f, -0.000884f, -0.001108f, -0.013779f, -0.012835f, 0.007521f, 0.001720f, 0.010535f, -0.016281f, -0.002300f, -0.006468f, 0.001748f, 0.019403f, 0.011069f, -0.016951f, 0.006417f, 0.001620f, -0.007072f, -0.007857f, -0.009618f, -0.015606f, 0.000557f, 0.001885f, -0.005790f, 0.002789f, -0.003337f, 0.000612f, 0.004711f, 0.003655f, 0.010069f, -0.008791f, 0.015853f, -0.009648f, 0.009207f, 0.007321f, -0.005936f, 0.004292f, 0.000770f, 0.006607f, -0.002636f, 0.003463f, 0.006047f, 0.002040f, 0.000943f, -0.002400f, 0.004714f, 0.001437f, -0.002102f, 0.011301f, -0.014740f, 0.001039f, -0.008927f, 0.017780f, 0.006275f, -0.015473f, 0.006030f, 0.020326f, -0.019074f, -0.009071f, 0.002305f, -0.001540f, -0.007228f, 0.006079f, -0.002527f, + 0.013545f, -0.011363f, -0.001105f, -0.003752f, -0.000761f, -0.000680f, 0.013090f, -0.012110f, -0.004000f, -0.001304f, -0.012495f, 0.006761f, 0.005244f, 0.013516f, 0.005521f, 0.011510f, 0.010386f, 0.001718f, -0.004162f, 0.003269f, -0.000345f, -0.001428f, -0.003097f, -0.000282f, -0.004754f, -0.001894f, -0.001059f, -0.006668f, 0.004266f, 0.000371f, -0.004644f, -0.000773f, -0.003762f, 0.000368f, -0.000146f, 0.002588f, -0.000884f, -0.001494f, 0.000335f, -0.002133f, -0.000059f, 0.002237f, 0.000833f, -0.000469f, -0.001494f, 0.006140f, -0.009486f, 0.001205f, -0.005961f, 0.006287f, 0.002240f, -0.009548f, 0.027592f, -0.017553f, 0.005515f, 0.029890f, -0.021135f, 0.009837f, -0.000580f, 0.009775f, -0.002622f, -0.018065f, -0.003983f, 0.014918f, 0.013343f, 0.003699f, -0.000156f, 0.007553f, 0.003675f, 0.000273f, 0.006223f, 0.006281f, -0.005216f, 0.008003f, -0.002249f, 0.012614f, -0.010190f, -0.015685f, 0.003322f, -0.013693f, 0.004701f, 0.000257f, -0.003942f, -0.004383f, -0.006278f, -0.009319f, 0.001785f, 0.003285f, 0.000308f, 0.002370f, 0.002690f, -0.005746f, -0.012048f, 0.009455f, 0.002095f, 0.001551f, + -0.000611f, 0.013894f, 0.002775f, 0.005818f, 0.014660f, -0.009019f, 0.003537f, 0.000587f, 0.004410f, 0.010280f, 0.008037f, -0.013399f, -0.011758f, -0.003027f, -0.006726f, -0.001544f, 0.000461f, -0.005771f, 0.003048f, -0.010715f, 0.000509f, -0.010310f, 0.005082f, 0.005047f, -0.005982f, -0.007843f, 0.000860f, 0.004303f, 0.000788f, -0.009065f, 0.001268f, -0.005190f, 0.003889f, 0.003229f, 0.001444f, -0.001701f, -0.002550f, 0.001802f, -0.000269f, -0.000976f, -0.000064f, -0.002338f, -0.001970f, -0.006221f, -0.001544f, 0.005669f, 0.002479f, -0.001627f, -0.001128f, 0.003958f, -0.001364f, 0.001189f, -0.001755f, 0.000071f, -0.000441f, 0.000212f, -0.002254f, -0.001497f, -0.000860f, -0.000644f, -0.000813f, -0.000938f, 0.000189f, -0.000619f, -0.001423f, -0.001168f, 0.000750f, 0.008712f, -0.003725f, 0.007889f, -0.001488f, 0.003933f, -0.004533f, 0.000540f, -0.002977f, 0.002620f, -0.001433f, -0.017223f, 0.013080f, 0.008393f, 0.021574f, -0.014157f, 0.008834f, -0.017515f, -0.003010f, 0.010684f, 0.011561f, -0.012293f, 0.003517f, -0.014241f, 0.001052f, -0.016698f, 0.005468f, -0.012509f, -0.015524f, -0.013889f, + 0.006971f, -0.011222f, 0.000483f, -0.013161f, 0.001708f, 0.001933f, -0.001987f, -0.009635f, 0.006046f, 0.008457f, 0.005035f, 0.003938f, -0.010301f, 0.005601f, -0.010803f, -0.003416f, 0.006623f, 0.000214f, -0.001502f, -0.002909f, -0.000422f, 0.006851f, -0.007971f, -0.015360f, -0.003252f, 0.004727f, -0.003251f, -0.011389f, -0.011521f, -0.016333f, 0.003899f, -0.004711f, -0.015298f, 0.010933f, -0.009808f, -0.009612f, 0.018471f, -0.006680f, -0.003656f, 0.001511f, -0.003357f, -0.006028f, 0.001483f, -0.010140f, -0.005034f, -0.008531f, -0.006738f, -0.002800f, 0.005494f, 0.013991f, 0.000699f, 0.008409f, 0.000690f, 0.006275f, 0.004347f, 0.011303f, -0.000840f, -0.000254f, 0.001147f, 0.004179f, -0.002319f, 0.000484f, -0.001127f, 0.008266f, -0.000345f, 0.003993f, 0.000573f, 0.001593f, -0.001439f, 0.001848f, -0.005098f, 0.005541f, 0.000101f, 0.000110f, -0.004176f, -0.001052f, -0.005632f, 0.002659f, -0.002897f, 0.001905f, -0.000791f, 0.005590f, -0.002762f, 0.001107f, -0.004910f, -0.003905f, -0.000407f, -0.001698f, 0.001313f, 0.014272f, -0.020560f, 0.003702f, 0.017986f, -0.006672f, 0.019698f, 0.005488f, + 0.001242f, -0.005713f, -0.013757f, -0.009050f, 0.023450f, -0.012598f, -0.000110f, -0.004354f, 0.001832f, 0.014115f, 0.012680f, -0.007685f, 0.018318f, 0.018291f, -0.008624f, -0.004510f, 0.011140f, -0.009413f, -0.008241f, -0.000591f, -0.012658f, -0.000285f, -0.003737f, 0.001633f, 0.021977f, 0.007503f, 0.001185f, -0.010075f, -0.029237f, -0.003563f, 0.016425f, 0.004032f, -0.010959f, 0.008405f, 0.013351f, 0.011666f, 0.014106f, -0.023103f, 0.004668f, 0.001123f, -0.011467f, 0.006216f, -0.010321f, 0.007350f, -0.005824f, 0.009116f, 0.020490f, 0.027085f, 0.017094f, 0.007855f, -0.011238f, -0.003101f, -0.013413f, -0.014098f, -0.002970f, 0.015881f, 0.003905f, 0.000250f, 0.003737f, -0.015545f, 0.004037f, 0.001934f, -0.000143f, -0.007868f, 0.004209f, 0.008507f, -0.008995f, -0.016951f, 0.038604f, 0.004988f, -0.006917f, 0.002382f, 0.004154f, 0.017590f, -0.003544f, 0.004840f, 0.005995f, 0.008731f, -0.006076f, -0.002979f, -0.006560f, 0.003115f, -0.001818f, 0.003435f, 0.003201f, -0.002279f, -0.003592f, 0.006547f, 0.000871f, 0.001731f, -0.001250f, 0.003957f, -0.006793f, -0.004845f, -0.003270f, -0.001205f, + 0.007545f, 0.002779f, 0.005044f, 0.003850f, 0.003954f, 0.000280f, 0.000876f, -0.001680f, -0.004760f, 0.004654f, 0.001121f, 0.001968f, -0.003318f, -0.010635f, -0.002987f, -0.006525f, -0.002481f, 0.004943f, -0.006697f, 0.030446f, -0.002992f, 0.008578f, 0.021869f, 0.002858f, -0.003240f, -0.014304f, 0.008057f, -0.007726f, -0.009631f, -0.028905f, -0.012894f, 0.005806f, -0.001501f, -0.005601f, -0.020826f, 0.007279f, 0.011547f, -0.016436f, -0.008537f, -0.004423f, -0.017143f, 0.006842f, 0.001278f, -0.009107f, -0.007414f, -0.003144f, -0.023177f, -0.008292f, 0.011585f, 0.019308f, -0.014565f, -0.018298f, -0.005239f, -0.001080f, -0.014783f, -0.012220f, 0.004729f, 0.008129f, -0.016199f, 0.032592f, 0.000245f, 0.013249f, -0.007330f, 0.012449f, -0.008345f, 0.003745f, -0.023046f, -0.004882f, 0.009545f, -0.023153f, 0.006458f, -0.005239f, -0.011682f, -0.026290f, -0.000468f, 0.014577f, 0.000333f, -0.027730f, -0.004064f, 0.005033f, 0.011281f, 0.020327f, -0.007351f, 0.009092f, 0.023888f, 0.007921f, 0.003045f, -0.010815f, -0.001904f, -0.006752f, 0.001563f, -0.008046f, 0.001998f, -0.015189f, -0.001851f, 0.011622f, + 0.003488f, 0.002253f, -0.006439f, -0.011778f, 0.006709f, -0.002183f, 0.006921f, -0.002513f, 0.001063f, -0.001535f, -0.003218f, -0.003138f, 0.004566f, 0.001699f, -0.000689f, -0.001560f, 0.000334f, -0.004580f, 0.002334f, -0.004677f, -0.005643f, -0.003680f, 0.002257f, 0.000274f, 0.000224f, -0.004415f, 0.003666f, -0.000557f, -0.002075f, -0.006238f, -0.001756f, 0.000389f, 0.001032f, 0.002528f, 0.006838f, 0.002101f, 0.001751f, 0.003336f, 0.009006f, -0.002950f, -0.008989f, 0.010958f, 0.002010f, -0.016950f, -0.026463f, -0.021726f, -0.027390f, 0.023573f, -0.014292f, -0.003609f, 0.007837f, -0.026057f, -0.010710f, -0.018156f, -0.007976f, -0.005867f, 0.011829f, -0.022846f, -0.012070f, 0.007153f, 0.009087f, 0.013027f, -0.000129f, 0.000339f, -0.003987f, -0.000147f, -0.005272f, 0.003153f, -0.017970f, -0.009814f, -0.015795f, 0.010907f, 0.005543f, 0.008424f, 0.011134f, -0.022049f, -0.001508f, -0.002476f, 0.020034f, -0.007614f, 0.006357f, 0.010760f, -0.004019f, 0.011528f, -0.007554f, 0.012866f, 0.018280f, -0.007232f, -0.001187f, 0.015512f, -0.013290f, 0.021493f, -0.009186f, -0.034478f, 0.005409f, 0.017684f, + -0.006734f, 0.001936f, -0.000530f, 0.013541f, 0.017179f, -0.017479f, -0.007509f, 0.003945f, 0.011846f, -0.020540f, -0.015451f, -0.012516f, 0.024808f, -0.000699f, -0.028333f, -0.006271f, -0.011759f, 0.009591f, 0.001328f, 0.007217f, -0.010610f, 0.017438f, 0.000792f, 0.003036f, 0.005106f, -0.016338f, -0.005480f, 0.001102f, -0.001989f, -0.004195f, -0.004678f, 0.004437f, -0.004455f, -0.004490f, 0.003476f, 0.005072f, 0.002698f, -0.009641f, -0.000820f, -0.003906f, -0.002748f, 0.003851f, 0.003552f, 0.007906f, -0.001065f, -0.004041f, 0.003102f, -0.009059f, -0.001023f, -0.000172f, -0.005811f, 0.000700f, 0.000585f, -0.002316f, 0.001146f, -0.010283f, -0.001822f, -0.001319f, 0.001180f, 0.001207f, 0.004306f, -0.000635f, 0.004831f, 0.002637f, 0.002504f, 0.000234f, -0.015942f, -0.006453f, 0.010950f, 0.004054f, 0.015688f, 0.005381f, 0.007675f, -0.030810f, -0.012073f, 0.012022f, -0.008117f, -0.005813f, -0.010265f, 0.003156f, 0.016052f, 0.004211f, 0.003825f, -0.020642f, -0.006981f, -0.003768f, 0.007652f, 0.018126f, -0.022016f, 0.010379f, -0.017947f, -0.004773f, -0.016510f, 0.002118f, 0.002287f, -0.000842f, + 0.006896f, -0.015416f, -0.004442f, -0.014447f, -0.005941f, 0.000259f, -0.000668f, -0.018143f, 0.010397f, 0.011643f, -0.004340f, 0.013817f, 0.027177f, 0.002784f, 0.020586f, 0.026403f, 0.002076f, 0.000851f, 0.006368f, -0.005555f, 0.008751f, 0.001787f, -0.005783f, -0.008904f, 0.033167f, -0.003454f, 0.019381f, 0.008568f, -0.009782f, -0.011355f, -0.007906f, 0.009264f, -0.007580f, 0.012041f, 0.029213f, 0.014803f, -0.003885f, 0.000465f, -0.024504f, -0.016889f, -0.014951f, 0.022988f, 0.036091f, -0.015853f, -0.000146f, -0.014669f, -0.002425f, 0.022064f, -0.006989f, -0.001353f, -0.034828f, -0.004670f, -0.006354f, -0.003706f, 0.013205f, 0.000924f, 0.002734f, 0.004013f, -0.007001f, 0.005530f, 0.002940f, 0.004926f, -0.004187f, 0.007146f, -0.003462f, -0.000811f, -0.008839f, -0.002104f, 0.007658f, -0.002849f, -0.000250f, -0.001523f, 0.007350f, -0.001894f, -0.005368f, 0.003098f, 0.003251f, 0.001855f, 0.002553f, 0.002695f, -0.002922f, 0.000722f, 0.005177f, 0.008986f, 0.007778f, 0.005036f, 0.002709f, 0.000531f, 0.000654f, -0.005650f, -0.000541f, 0.003533f, -0.003486f, 0.003722f, -0.001305f, 0.001277f, + 0.004860f, -0.002143f, 0.020841f, 0.057787f, 0.025187f, -0.007854f, -0.002006f, -0.010736f, 0.026633f, -0.026682f, -0.015163f, -0.040793f, -0.000470f, 0.020115f, 0.025024f, 0.004507f, -0.009936f, -0.024456f, -0.017897f, 0.018022f, -0.003663f, 0.028624f, -0.000086f, -0.009194f, 0.013506f, 0.004922f, -0.000250f, -0.007119f, 0.018681f, -0.003475f, 0.016137f, -0.000258f, -0.008806f, 0.035216f, -0.008430f, 0.014283f, 0.034612f, 0.012171f, -0.001470f, -0.016923f, -0.003197f, -0.027564f, -0.032300f, 0.007028f, 0.020669f, -0.004966f, 0.002887f, -0.035247f, -0.013414f, 0.020413f, 0.011048f, -0.009138f, 0.006734f, -0.010460f, -0.005089f, -0.016077f, -0.027030f, 0.001626f, -0.006395f, -0.019081f, -0.031197f, -0.026894f, -0.008778f, -0.024705f, 0.011341f, -0.011065f, 0.003892f, 0.003190f, -0.000217f, 0.000588f, -0.004029f, -0.005540f, 0.015962f, 0.031782f, -0.021461f, 0.003877f, -0.009040f, 0.011489f, -0.011997f, -0.000478f, -0.008674f, -0.003908f, 0.029211f, 0.021251f, 0.004753f, -0.003297f, 0.000257f, -0.011966f, 0.004095f, 0.011909f, -0.002309f, -0.010350f, -0.005953f, 0.010311f, -0.012540f, 0.001139f, + 0.005285f, 0.004998f, -0.004440f, -0.003993f, 0.004424f, 0.005618f, -0.004352f, 0.006692f, 0.003822f, 0.005550f, -0.000644f, 0.007329f, -0.000833f, 0.004635f, 0.002228f, 0.002726f, 0.001631f, -0.001621f, 0.008566f, -0.008479f, -0.001317f, 0.001846f, -0.002608f, -0.002157f, -0.004054f, 0.003837f, 0.000278f, -0.007311f, -0.002815f, 0.004772f, -0.005324f, -0.023809f, -0.026934f, 0.006992f, 0.010344f, 0.032324f, -0.027311f, 0.008732f, 0.008402f, -0.045492f, -0.002092f, 0.000340f, -0.038003f, -0.020694f, -0.013426f, 0.009727f, -0.003016f, 0.002327f, -0.010704f, 0.016051f, 0.025227f, 0.013315f, -0.003553f, -0.038570f, -0.016783f, -0.020951f, 0.007870f, 0.002409f, -0.016903f, -0.001272f, 0.013333f, -0.011196f, 0.023012f, -0.020663f, -0.000580f, -0.012027f, -0.038556f, 0.006629f, -0.016393f, -0.018481f, 0.014406f, 0.021360f, -0.023882f, 0.009299f, 0.028260f, -0.009176f, 0.012403f, 0.009723f, -0.006583f, 0.003885f, -0.031300f, 0.047470f, 0.018707f, 0.011271f, 0.045334f, -0.055246f, -0.004111f, -0.007615f, 0.005899f, 0.022595f, 0.023468f, 0.009034f, 0.011209f, 0.029000f, -0.002733f, -0.019659f, + -0.034168f, 0.013270f, -0.012906f, 0.001303f, 0.009279f, -0.006815f, 0.014005f, 0.037137f, -0.022877f, 0.017317f, -0.011080f, -0.010619f, 0.028088f, 0.002138f, 0.008774f, 0.027231f, 0.022486f, -0.009881f, -0.011362f, -0.023956f, -0.006031f, 0.000119f, 0.012506f, 0.013099f, 0.000047f, 0.003106f, 0.001900f, -0.000480f, 0.002630f, 0.003011f, 0.001028f, 0.007393f, -0.003679f, 0.001104f, 0.005341f, 0.002947f, 0.001571f, -0.003330f, 0.007182f, 0.004656f, 0.001110f, -0.004093f, -0.005708f, -0.013589f, 0.008131f, -0.000559f, -0.001206f, 0.004093f, -0.006490f, -0.000802f, 0.004563f, 0.006210f, 0.009415f, 0.005260f, 0.002618f, 0.002566f, -0.000059f, 0.006785f, 0.029727f, 0.034798f, 0.008797f, 0.021438f, -0.013923f, 0.010057f, 0.009948f, -0.057317f, 0.016278f, 0.018480f, 0.003998f, -0.018310f, -0.000335f, -0.035402f, 0.041663f, 0.024979f, -0.012972f, -0.014054f, -0.020572f, -0.010859f, 0.030182f, -0.030512f, -0.017341f, -0.004627f, -0.004975f, -0.006622f, 0.004495f, -0.020220f, -0.020457f, -0.012174f, -0.015726f, -0.004336f, -0.020488f, -0.002889f, -0.013703f, -0.045295f, -0.028743f, -0.011208f, + -0.007042f, 0.006296f, 0.007711f, -0.000273f, 0.001484f, 0.013097f, 0.006470f, 0.006704f, 0.032023f, 0.006653f, 0.010939f, 0.019879f, 0.042964f, 0.036585f, 0.002115f, -0.014456f, -0.027883f, 0.025581f, -0.006090f, 0.069092f, 0.014146f, 0.030994f, -0.003172f, 0.003978f, -0.027230f, -0.001049f, 0.024182f, 0.013900f, 0.018389f, -0.020688f, -0.013484f, -0.026596f, -0.050351f, 0.029270f, -0.044404f, -0.005380f, 0.059116f, 0.004007f, 0.023844f, 0.011328f, 0.017610f, 0.000619f, -0.031524f, 0.031003f, -0.000262f, -0.027814f, -0.024709f, 0.001028f, 0.010006f, 0.020905f, 0.005860f, -0.024358f, 0.001575f, -0.004732f, 0.005260f, -0.009506f, -0.007729f, 0.004473f, 0.004248f, -0.007441f, 0.001052f, -0.002299f, -0.000384f, -0.009836f, -0.003345f, -0.003025f, 0.004970f, -0.002494f, -0.005786f, 0.008190f, -0.004600f, -0.001784f, -0.013812f, -0.014811f, 0.000385f, 0.000553f, -0.005837f, -0.003728f, 0.005270f, 0.003891f, -0.005926f, -0.009819f, -0.000251f, 0.006713f, -0.041041f, 0.012212f, 0.015255f, -0.027281f, -0.021345f, 0.000563f, 0.016750f, 0.040106f, -0.002192f, -0.030683f, -0.031250f, -0.001503f, + -0.017749f, 0.005348f, 0.005517f, -0.034276f, -0.029833f, -0.056084f, -0.016759f, -0.016178f, -0.038424f, -0.025809f, -0.000408f, -0.017676f, -0.011337f, -0.009955f, -0.003285f, -0.037708f, -0.020456f, -0.023138f, -0.011674f, 0.011770f, -0.032336f, 0.002511f, 0.026630f, 0.031990f, -0.007640f, 0.008823f, 0.018086f, -0.031453f, 0.017674f, -0.013571f, 0.027897f, -0.013491f, 0.002402f, -0.014548f, -0.003346f, 0.055790f, -0.011607f, 0.021050f, -0.040869f, -0.006658f, -0.000184f, -0.038554f, 0.035907f, 0.001449f, -0.013365f, 0.025950f, -0.010757f, 0.006721f, 0.050994f, -0.020233f, -0.028154f, 0.019338f, -0.005492f, -0.057406f, 0.023204f, -0.076121f, -0.041036f, 0.030608f, 0.023708f, 0.004942f, 0.016002f, 0.000134f, -0.000554f, -0.057421f, -0.031038f, -0.013495f, 0.005110f, -0.032624f, 0.007895f, 0.004567f, 0.013330f, -0.021295f, 0.001128f, 0.016512f, 0.012379f, 0.009506f, 0.000951f, 0.007827f, -0.018860f, -0.011952f, -0.012779f, -0.003511f, -0.002752f, -0.001643f, 0.014941f, -0.007737f, 0.007765f, 0.015087f, -0.007580f, 0.004668f, -0.012152f, -0.009124f, -0.000732f, 0.003888f, -0.010940f, 0.004727f, + -0.013673f, 0.011843f, -0.004929f, -0.002380f, 0.000338f, 0.010624f, -0.003529f, 0.004243f, -0.009666f, 0.008504f, 0.006264f, 0.019627f, 0.004439f, 0.016119f, -0.016107f, -0.005346f, -0.019129f, -0.009855f, -0.009478f, 0.077216f, 0.042286f, 0.000060f, -0.039755f, 0.020424f, -0.041456f, -0.033729f, 0.006135f, 0.034295f, 0.067806f, -0.010676f, 0.034283f, -0.012266f, 0.024337f, 0.041089f, 0.022989f, 0.026257f, 0.014092f, -0.007711f, -0.033632f, -0.034820f, -0.010530f, -0.032909f, -0.009673f, -0.006061f, -0.007401f, 0.026273f, -0.004478f, -0.067590f, 0.003968f, 0.016272f, 0.015610f, 0.040385f, -0.004170f, -0.080662f, 0.045854f, -0.036118f, 0.011807f, -0.007934f, 0.027131f, 0.039468f, -0.043963f, -0.003123f, -0.021967f, -0.038380f, 0.027751f, -0.019114f, -0.047210f, 0.018477f, 0.027574f, 0.045329f, 0.012018f, -0.007132f, 0.004963f, 0.037098f, -0.029900f, 0.058594f, -0.018441f, -0.016408f, -0.005280f, 0.035678f, -0.037184f, 0.003358f, 0.004537f, -0.103563f, -0.015350f, 0.031968f, -0.014903f, 0.005301f, 0.014370f, 0.007442f, -0.005082f, 0.008349f, 0.035493f, 0.042322f, -0.033576f, 0.012033f, + -0.024598f, -0.004274f, 0.041958f, -0.000976f, -0.004374f, 0.001468f, -0.002844f, -0.021839f, 0.005985f, 0.001369f, -0.012710f, -0.032309f, 0.000423f, -0.007790f, 0.009840f, -0.014974f, -0.013922f, -0.017601f, 0.014825f, 0.003330f, 0.009084f, 0.007212f, 0.000606f, 0.005296f, -0.007151f, -0.014861f, 0.022553f, -0.002374f, -0.010952f, -0.000454f, -0.007900f, -0.005049f, -0.009120f, 0.001045f, 0.002765f, -0.001441f, 0.006238f, 0.016325f, -0.000637f, -0.004119f, -0.006734f, 0.001376f, -0.008371f, -0.004859f, 0.009384f, -0.007320f, -0.006012f, -0.008934f, -0.021774f, -0.012304f, 0.003001f, 0.013953f, -0.011454f, -0.003019f, 0.044255f, 0.029358f, -0.082281f, -0.046778f, 0.056355f, 0.065316f, -0.035108f, -0.011896f, -0.092589f, -0.051177f, 0.013336f, -0.004200f, 0.012313f, -0.049216f, -0.030842f, -0.033730f, 0.049966f, 0.074249f, -0.003615f, 0.020046f, -0.012091f, -0.006503f, -0.000948f, 0.017054f, 0.032170f, 0.007832f, -0.011464f, -0.006156f, -0.007562f, -0.044351f, -0.025163f, -0.045090f, -0.006007f, 0.013942f, -0.018969f, 0.027827f, -0.020617f, -0.007713f, 0.043164f, -0.020924f, 0.024251f, 0.016870f, + -0.007934f, -0.041581f, -0.030124f, -0.024787f, 0.007474f, 0.077763f, 0.013666f, 0.041818f, 0.049254f, 0.038580f, 0.028529f, 0.025569f, -0.042923f, 0.001038f, -0.007048f, 0.057567f, 0.027321f, 0.033675f, 0.060063f, -0.029492f, -0.040454f, 0.014851f, 0.050795f, -0.086112f, -0.001585f, 0.006885f, 0.040029f, -0.069634f, -0.104996f, -0.018654f, 0.029385f, 0.007367f, 0.011869f, 0.032934f, 0.002074f, -0.023253f, -0.034485f, 0.001173f, 0.004705f, 0.006846f, 0.031752f, 0.047141f, 0.022257f, 0.003530f, 0.000140f, -0.000479f, 0.003860f, 0.004773f, -0.011918f, 0.017416f, 0.002146f, -0.015857f, -0.028001f, 0.003504f, -0.011947f, 0.006045f, 0.003034f, -0.002486f, 0.001757f, -0.011552f, 0.012033f, -0.006183f, 0.008074f, -0.012422f, -0.008077f, -0.022191f, -0.021947f, 0.001082f, 0.011535f, -0.009797f, 0.023108f, 0.000661f, 0.006875f, -0.006931f, 0.024699f, 0.002106f, 0.011316f, -0.012187f, -0.006691f, -0.003859f, -0.015379f, -0.002981f, 0.016651f, -0.028801f, 0.022199f, -0.001111f, -0.021131f, -0.037420f, 0.014100f, -0.018241f, -0.036489f, 0.026258f, 0.050655f, 0.015463f, -0.019171f, 0.029980f, + 0.050965f, 0.018738f, 0.010714f, 0.003537f, -0.005382f, 0.023835f, -0.042112f, 0.002462f, -0.060680f, 0.032535f, -0.048908f, -0.004190f, 0.026805f, 0.014581f, -0.027746f, 0.005881f, -0.032148f, 0.066580f, 0.008989f, 0.021570f, 0.035105f, 0.073461f, -0.029967f, 0.023835f, -0.034781f, 0.012674f, 0.026842f, 0.059060f, 0.014363f, -0.012038f, 0.060987f, 0.008160f, -0.003813f, -0.034869f, 0.002757f, 0.037942f, -0.012391f, 0.036473f, -0.044442f, 0.069202f, 0.072252f, -0.086287f, -0.001769f, -0.005444f, 0.019342f, -0.014698f, -0.010823f, 0.037126f, -0.030820f, -0.092038f, 0.001608f, 0.081861f, -0.064066f, 0.032444f, -0.014415f, -0.008169f, -0.038820f, 0.090376f, -0.005321f, 0.014983f, 0.008827f, -0.060741f, 0.079222f, 0.006190f, 0.070518f, -0.138433f, 0.013725f, -0.012978f, -0.041226f, -0.011168f, 0.024857f, -0.032195f, 0.022209f, -0.029010f, -0.018816f, -0.038195f, 0.048816f, -0.018488f, 0.003838f, -0.040726f, 0.002303f, -0.029901f, -0.009685f, 0.013990f, -0.020133f, 0.009723f, 0.001824f, -0.027583f, 0.025526f, -0.011264f, 0.004116f, -0.011753f, 0.023221f, -0.016981f, 0.004102f, 0.001660f, + -0.005779f, 0.030128f, -0.016816f, -0.020954f, -0.011641f, -0.023492f, -0.032299f, -0.016402f, 0.003719f, 0.002145f, -0.023105f, -0.013327f, -0.015341f, -0.022781f, -0.017565f, 0.008024f, 0.005880f, -0.000601f, 0.058531f, 0.006750f, -0.044433f, 0.004330f, -0.090583f, -0.020960f, 0.004793f, -0.017840f, -0.072167f, -0.008276f, -0.047303f, -0.012069f, 0.043793f, 0.009839f, 0.057348f, 0.023435f, 0.021775f, 0.013112f, -0.019291f, 0.045538f, -0.023054f, -0.000766f, 0.021859f, 0.009657f, -0.027882f, 0.022439f, 0.009525f, 0.053932f, 0.022542f, -0.010089f, 0.033019f, -0.026439f, 0.044512f, 0.014844f, -0.048444f, -0.050472f, 0.026130f, 0.032162f, 0.013764f, 0.004900f, -0.023406f, -0.032462f, 0.010039f, -0.031954f, -0.047407f, -0.015052f, -0.007807f, -0.044232f, -0.016043f, 0.015943f, -0.029725f, -0.049841f, 0.014184f, 0.017849f, 0.001981f, -0.006527f, -0.002625f, -0.008871f, 0.017991f, 0.083614f, 0.017406f, -0.003241f, -0.002934f, -0.030221f, -0.047726f, -0.021802f, 0.069503f, 0.073858f, 0.038387f, 0.006544f, 0.067787f, 0.031939f, -0.014997f, -0.094453f, -0.071337f, -0.059497f, -0.111911f, -0.065922f, + 0.016163f, 0.090603f, -0.040102f, 0.030279f, -0.044871f, 0.014208f, -0.003404f, 0.030753f, -0.014340f, -0.005862f, -0.040000f, -0.023713f, -0.009509f, -0.036526f, 0.046215f, -0.007749f, -0.023588f, -0.011951f, 0.005079f, -0.026602f, 0.018998f, 0.013134f, 0.030055f, 0.006221f, 0.008768f, -0.029803f, -0.033708f, -0.004572f, -0.024790f, -0.016504f, -0.028957f, -0.042927f, 0.002637f, -0.011685f, 0.003068f, 0.002420f, 0.032841f, 0.031762f, -0.011643f, -0.007087f, -0.013922f, 0.030655f, 0.021175f, 0.012965f, 0.005302f, -0.007030f, 0.018333f, -0.025421f, -0.009445f, -0.004693f, -0.027932f, -0.055589f, 0.029261f, -0.001682f, -0.017242f, -0.008060f, 0.020939f, 0.038761f, -0.016497f, 0.050003f, -0.057273f, 0.046189f, -0.005735f, 0.061725f, -0.039977f, 0.035551f, -0.059024f, 0.051290f, -0.047666f, -0.020451f, 0.071913f, 0.016284f, 0.057801f, 0.082085f, 0.008643f, -0.006916f, -0.034171f, -0.003024f, 0.052481f, 0.012897f, -0.018324f, -0.058181f, 0.005165f, 0.011174f, 0.027589f, 0.016459f, 0.023013f, 0.013960f, -0.033548f, -0.054148f, -0.022618f, 0.051930f, 0.020256f, 0.166237f, -0.052617f, -0.044726f, + 0.054572f, 0.085233f, 0.018226f, -0.001690f, 0.022788f, 0.005433f, 0.027760f, -0.025342f, 0.010240f, 0.039747f, 0.044493f, 0.029270f, 0.129571f, -0.016602f, -0.016311f, -0.008588f, 0.067059f, 0.039674f, -0.033390f, 0.034751f, -0.000307f, 0.011226f, -0.027386f, 0.059011f, -0.058561f, 0.003964f, 0.091722f, -0.067332f, 0.196400f, -0.090078f, 0.094276f, 0.085855f, -0.083876f, -0.077301f, 0.087742f, 0.003635f, -0.049686f, -0.021389f, 0.048784f, -0.132392f, 0.021415f, -0.015659f, -0.084445f, 0.055647f, -0.065932f, 0.005204f, 0.005785f, -0.026946f, -0.065010f, 0.017803f, -0.004213f, -0.003015f, 0.013607f, -0.013652f, -0.020778f, 0.011763f, 0.028622f, -0.010525f, 0.005227f, 0.021443f, -0.019086f, 0.029861f, 0.024121f, -0.047654f, 0.007947f, -0.026772f, 0.013286f, -0.001906f, 0.005046f, -0.024382f, 0.011329f, 0.006374f, 0.001101f, -0.012225f, 0.038087f, 0.008318f, -0.000044f, 0.035169f, -0.023521f, -0.022689f, 0.005142f, 0.015198f, 0.005220f, 0.016937f, 0.010202f, -0.048996f, -0.023895f, 0.012673f, -0.027244f, 0.042224f, -0.015525f, 0.032346f, 0.043617f, -0.101306f, -0.041933f, 0.061000f, + -0.129026f, -0.081107f, -0.053469f, 0.090127f, 0.194385f, 0.052841f, -0.150970f, -0.034929f, -0.154250f, -0.081634f, 0.127340f, 0.074908f, 0.119778f, 0.064721f, -0.089040f, -0.143375f, -0.107879f, -0.026751f, 0.065308f, 0.072552f, 0.044959f, 0.024050f, -0.036810f, -0.156656f, -0.186729f, -0.041255f, 0.144584f, 0.255564f, 0.174624f, -0.033364f, -0.119283f, -0.173111f, -0.127049f, -0.104118f, 0.001000f, 0.040732f, 0.140831f, 0.148764f, -0.079987f, -0.051247f, -0.186950f, -0.175252f, -0.061914f, 0.016616f, 0.182247f, 0.267166f, 0.119736f, -0.079654f, -0.279721f, -0.208623f, -0.151691f, 0.073110f, 0.160724f, 0.099127f, 0.064043f, 0.053064f, -0.166512f, -0.031368f, -0.094551f, 0.034886f, -0.012302f, 0.098565f, 0.156810f, 0.123149f, -0.144565f, -0.294146f, -0.219699f, 0.023889f, 0.172558f, -0.004837f, 0.238914f, 0.009308f, -0.060296f, -0.072185f, -0.051587f, 0.000086f, 0.172903f, 0.147790f, 0.028241f, -0.059660f, -0.020120f, -0.011471f, 0.091235f, 0.098986f, 0.012962f, 0.003749f, -0.014509f, -0.003218f, -0.018105f, -0.024862f, -0.014991f, -0.009411f, 0.035585f, 0.053269f, 0.045139f, -0.065535f, + -0.072582f, -0.028955f, -0.029453f, -0.029747f, 0.068205f, 0.054275f, 0.071681f, 0.020173f, -0.029166f, -0.053572f, -0.101418f, -0.065907f, 0.044171f, 0.089983f, 0.138315f, 0.093398f, 0.009002f, -0.212064f, -0.184772f, -0.063901f, 0.077601f, 0.118429f, 0.160267f, 0.119402f, -0.008139f, -0.120829f, -0.176000f, -0.171617f, -0.029925f, 0.185680f, 0.194051f, 0.097481f, -0.045100f, -0.129180f, -0.088382f, -0.060849f, 0.006804f, -0.034167f, 0.068281f, 0.021723f, -0.055936f, -0.052115f, -0.000186f, -0.084177f, -0.010801f, 0.012856f, 0.009315f, -0.007016f, 0.001758f, -0.028090f, -0.003901f, -0.003010f, 0.014225f, -0.009478f, 0.038595f, -0.010016f, -0.007861f, -0.010553f, -0.012597f, 0.024609f, 0.006582f, -0.011393f, 0.037360f, 0.002709f, -0.067443f, -0.033172f, 0.018103f, 0.033143f, -0.011547f, 0.004317f, 0.045585f, -0.000817f, 0.005894f, -0.037283f, -0.017176f, 0.011890f, -0.008558f, -0.008043f, -0.005378f, 0.030720f, 0.010620f, -0.011597f, -0.036372f, -0.014020f, -0.002506f, -0.032505f, 0.002744f, -0.037170f, -0.025481f, -0.017137f, -0.033709f, 0.052521f, -0.009814f, -0.023326f, 0.021682f, -0.000061f, + -0.051737f, -0.002703f, 0.050859f, 0.041882f, -0.024240f, 0.032496f, 0.004999f, 0.031016f, -0.034704f, -0.050269f, 0.018970f, 0.022589f, 0.019223f, 0.017309f, -0.019516f, 0.019075f, -0.038144f, 0.025837f, -0.051880f, -0.045002f, 0.033032f, -0.026211f, 0.022404f, 0.031622f, 0.001848f, -0.023942f, 0.007359f, 0.009146f, -0.002480f, -0.001701f, -0.001268f, 0.020699f, -0.017576f, 0.013541f, -0.018353f, 0.024212f, -0.021404f, -0.011143f, 0.008356f, -0.006968f, -0.001219f, 0.009737f, 0.001821f, 0.006599f, 0.017980f, -0.014440f, -0.009209f, 0.010848f, 0.005882f, 0.021357f, -0.017590f, 0.006136f, -0.002544f, -0.012902f, -0.013727f, 0.005696f, 0.002904f, -0.012758f, -0.019887f, 0.005877f, -0.000241f, -0.003352f, 0.011879f, -0.018260f, 0.020958f, 0.006716f, -0.019074f, -0.020389f, 0.016763f, -0.028767f, 0.019376f, -0.002963f, 0.013251f, -0.001179f, 0.004193f, 0.025700f, -0.041116f, 0.082509f, 0.126357f, -0.016669f, -0.046474f, -0.040272f, 0.116514f, 0.052402f, 0.112770f, 0.060535f, 0.000371f, -0.052446f, -0.011461f, 0.028549f, 0.053079f, 0.025123f, -0.024281f, -0.006211f, 0.025472f, 0.037052f, + 0.004820f, 0.008175f, -0.025836f, 0.004568f, -0.012368f, 0.016782f, 0.019237f, 0.049066f, 0.042632f, -0.022734f, 0.003889f, -0.025497f, 0.006796f, 0.022276f, 0.033777f, 0.002281f, -0.015774f, -0.000269f, -0.028665f, 0.023879f, -0.006456f, 0.009721f, 0.022694f, 0.000246f, 0.030163f, -0.014985f, -0.008023f, -0.007252f, -0.030628f, -0.018712f, -0.046818f, -0.009147f, -0.053415f, 0.003412f, -0.018247f, 0.043860f, 0.006754f, 0.012728f, -0.041257f, 0.017247f, 0.000495f, -0.018724f, 0.030589f, -0.016682f, -0.008336f, 0.007257f, 0.020296f, -0.002720f, -0.010816f, 0.068029f, 0.022436f, 0.015490f, 0.025866f, -0.018822f, -0.000707f, -0.006496f, 0.035931f, 0.049318f, 0.047907f, -0.028798f, -0.030913f, -0.004590f, -0.012170f, 0.012129f, 0.032358f, 0.033044f, 0.001685f, 0.018357f, -0.002034f, -0.005479f, 0.011144f, 0.020921f, -0.001821f, 0.016350f, -0.013803f, 0.002634f, 0.000460f, 0.005436f, -0.004597f, 0.018332f, 0.011107f, -0.002403f, -0.005026f, 0.005244f, 0.003536f, 0.019944f, 0.001369f, -0.012504f, -0.012869f, -0.007981f, 0.005972f, 0.006470f, 0.013294f, -0.016337f, 0.002443f, -0.004837f, + 0.010736f, -0.008284f, 0.015057f, -0.005522f, 0.005781f, -0.008854f, -0.006665f, 0.004164f, -0.012656f, -0.000480f, 0.014573f, 0.003022f, -0.005615f, 0.000759f, -0.047168f, -0.102222f, -0.013857f, 0.135170f, 0.208272f, 0.174937f, 0.138155f, -0.009261f, 0.016199f, -0.101450f, -0.115167f, -0.187626f, -0.108097f, -0.118143f, -0.037273f, 0.014936f, 0.081682f, 0.058251f, 0.177880f, 0.154983f, 0.051132f, 0.010894f, -0.027652f, -0.060382f, -0.095641f, -0.034930f, -0.098034f, -0.026027f, -0.047721f, -0.030754f, -0.022902f, 0.005253f, 0.001647f, 0.033326f, 0.048055f, 0.073189f, 0.079171f, 0.095187f, 0.082051f, -0.009786f, 0.007954f, -0.000918f, 0.015391f, -0.046978f, 0.018996f, -0.050218f, -0.125847f, -0.061672f, -0.094202f, -0.158143f, -0.046416f, -0.013655f, -0.064147f, 0.021823f, 0.048635f, 0.110603f, 0.130199f, 0.192329f, 0.121365f, 0.099056f, 0.098320f, 0.061295f, -0.019064f, 0.010110f, -0.096996f, -0.083420f, -0.140466f, -0.166836f, -0.192824f, -0.140272f, -0.108197f, -0.011150f, -0.005249f, 0.015424f, 0.056334f, 0.095506f, 0.171795f, 0.170044f, 0.169155f, 0.135779f, 0.058168f, 0.087652f, + 0.013731f, -0.043804f, -0.066175f, -0.156319f, -0.142278f, -0.125864f, -0.108666f, -0.086884f, -0.052616f, -0.031813f, -0.010900f, 0.007966f, 0.052702f, 0.062626f, 0.082374f, 0.068339f, 0.097644f, 0.088509f, 0.057876f, 0.066758f, 0.044822f, -0.012037f, -0.036134f, -0.041616f, -0.099522f, -0.086199f, -0.077695f, -0.058122f, -0.031691f, -0.001050f, -0.003781f, 0.025584f, 0.039236f, 0.030625f, 0.036409f, 0.023350f, 0.007362f, -0.000621f, 0.010611f, 0.002626f, -0.012121f, 0.013280f, 0.015918f, 0.001271f, 0.008607f, -0.002231f, -0.003445f, 0.001637f, 0.006005f, -0.000062f, -0.013383f, -0.017787f, -0.017476f, -0.020195f, -0.013656f, -0.003918f, -0.004553f, 0.006171f, 0.002538f, 0.001982f, 0.007075f, 0.008196f, 0.006545f, 0.008852f, 0.013615f, 0.011732f, 0.006740f, 0.008187f, 0.002974f, -0.002385f, -0.000607f, -0.003115f, -0.004784f, -0.001720f, -0.002591f, -0.000769f, -0.000979f, 0.000279f}, + {0.013781f, 0.005240f, -0.006918f, -0.001174f, 0.004798f, -0.000848f, 0.005105f, -0.012612f, -0.009000f, -0.002201f, -0.010630f, 0.004455f, -0.002374f, -0.001169f, -0.007185f, -0.003199f, 0.006666f, 0.006670f, -0.002622f, -0.002029f, -0.004438f, -0.010193f, 0.011356f, 0.006763f, 0.000281f, 0.001198f, -0.000636f, 0.000333f, 0.009142f, -0.004639f, 0.001667f, -0.014643f, -0.012022f, -0.003004f, 0.001073f, -0.010204f, -0.001912f, 0.003631f, 0.000861f, 0.000186f, -0.005142f, -0.003939f, 0.009560f, -0.004434f, -0.004106f, -0.001344f, -0.001373f, 0.004223f, -0.002236f, -0.006272f, -0.000244f, 0.005505f, -0.007862f, 0.000341f, -0.008421f, 0.000592f, -0.006175f, 0.009324f, -0.000557f, -0.009822f, -0.001457f, -0.000953f, 0.001142f, -0.014027f, -0.001727f, 0.001168f, -0.009410f, 0.004318f, 0.000170f, -0.010807f, 0.004884f, 0.006646f, -0.005802f, -0.006620f, -0.011914f, 0.006222f, 0.003554f, 0.011023f, 0.005399f, -0.001639f, 0.002101f, -0.001530f, 0.003299f, 0.003505f, 0.007561f, 0.001936f, -0.003359f, -0.000118f, 0.000844f, -0.000249f, 0.004298f, 0.001126f, -0.001548f, -0.002113f, 0.002063f, 0.001690f, + 0.003205f, 0.001627f, 0.001212f, 0.001950f, 0.001715f, 0.000730f, 0.001040f, -0.000207f, -0.000620f, 0.000695f, 0.000402f, 0.000827f, -0.000521f, 0.000976f, -0.000101f, -0.010197f, 0.004600f, -0.012720f, -0.003566f, -0.001767f, -0.006456f, 0.006148f, 0.014226f, -0.005812f, -0.001922f, 0.000688f, -0.005918f, 0.004112f, -0.000914f, -0.004775f, -0.008166f, -0.004310f, 0.012828f, 0.012430f, 0.006950f, 0.014437f, 0.008461f, 0.004608f, 0.013551f, -0.008417f, 0.002961f, 0.005827f, -0.000297f, 0.002363f, -0.004063f, 0.002626f, -0.018819f, 0.000425f, -0.001123f, 0.006810f, -0.004285f, -0.002363f, -0.001343f, 0.005224f, -0.005980f, -0.000934f, 0.001660f, 0.003688f, 0.003532f, -0.000973f, -0.006412f, 0.001236f, 0.002201f, 0.004631f, 0.003443f, 0.005382f, -0.006030f, -0.003532f, -0.001130f, -0.010611f, -0.001291f, 0.002858f, 0.009116f, 0.010246f, -0.001431f, 0.005665f, 0.004164f, -0.000729f, 0.003763f, 0.004555f, 0.006572f, -0.002612f, -0.000118f, -0.004912f, 0.000827f, -0.004227f, 0.002906f, -0.006276f, -0.005992f, 0.003617f, -0.000064f, -0.011754f, -0.001132f, -0.008792f, -0.002422f, -0.001215f, + -0.001516f, -0.011683f, 0.001107f, 0.004178f, -0.003480f, -0.003304f, 0.002003f, 0.001522f, 0.000831f, -0.002280f, -0.006319f, -0.000283f, -0.002777f, 0.002437f, 0.000072f, 0.000211f, -0.000718f, -0.002562f, -0.002904f, -0.003229f, 0.000222f, -0.001372f, 0.001411f, -0.002006f, 0.000803f, 0.000539f, -0.001878f, 0.000006f, -0.002089f, -0.000705f, 0.000116f, 0.000059f, -0.001857f, -0.000401f, -0.000317f, -0.012874f, -0.012175f, 0.004538f, -0.001451f, 0.010115f, 0.010129f, 0.000856f, 0.000215f, 0.019543f, -0.005311f, -0.000445f, 0.016369f, 0.000698f, -0.009518f, -0.013868f, 0.010041f, -0.004045f, 0.000025f, -0.008583f, 0.002627f, -0.006125f, 0.006804f, 0.030507f, -0.011175f, -0.008940f, -0.011041f, -0.011879f, 0.002128f, -0.009684f, -0.024072f, -0.000587f, 0.002359f, 0.000077f, -0.009604f, -0.001992f, 0.007752f, -0.009794f, -0.005842f, 0.014268f, 0.004636f, -0.003611f, -0.003454f, 0.009194f, -0.004610f, 0.006587f, 0.005943f, -0.012991f, -0.008689f, -0.007685f, 0.008447f, -0.006581f, -0.003988f, -0.003569f, -0.004396f, -0.000665f, -0.008839f, 0.000090f, -0.002717f, 0.002186f, -0.001284f, -0.019036f, + 0.008765f, -0.010637f, 0.008332f, 0.001589f, -0.015735f, 0.003198f, 0.010387f, 0.003246f, 0.017348f, -0.007354f, 0.000871f, 0.002055f, 0.003991f, 0.006257f, -0.006967f, 0.002624f, 0.002206f, -0.010115f, 0.013794f, 0.001016f, -0.002070f, 0.005913f, -0.002098f, 0.002659f, -0.002644f, -0.005279f, -0.000477f, -0.003394f, 0.004452f, -0.001174f, 0.000753f, 0.005429f, 0.001760f, 0.002072f, -0.001323f, 0.002956f, 0.000404f, -0.000789f, 0.001824f, 0.003946f, -0.002975f, 0.000259f, -0.003134f, 0.001880f, -0.001109f, 0.005697f, -0.008011f, 0.003733f, 0.004184f, -0.004429f, 0.002062f, -0.002217f, -0.017410f, 0.005329f, 0.016516f, 0.013613f, 0.015496f, 0.002641f, -0.003227f, -0.013281f, -0.006836f, -0.006272f, -0.004889f, 0.013613f, 0.019091f, 0.001309f, -0.001186f, 0.013481f, -0.021856f, 0.000371f, -0.001654f, -0.000456f, -0.007038f, -0.007450f, 0.008131f, 0.009818f, 0.000451f, -0.002261f, 0.004082f, -0.010748f, -0.007950f, 0.008111f, -0.008776f, 0.016983f, 0.015596f, 0.002510f, 0.009659f, 0.007963f, 0.001772f, -0.007061f, 0.002565f, -0.000460f, -0.011902f, 0.011604f, -0.000892f, 0.005381f, + 0.009653f, -0.011395f, -0.004244f, -0.013525f, -0.002891f, 0.002984f, 0.012758f, -0.013036f, -0.004993f, 0.009356f, -0.001840f, -0.008375f, 0.013983f, -0.011618f, -0.024059f, 0.003982f, -0.013485f, -0.006191f, 0.006740f, -0.005952f, 0.001319f, 0.001344f, -0.005757f, 0.010235f, -0.009309f, -0.010836f, -0.012746f, -0.001530f, -0.005443f, 0.000749f, 0.003581f, -0.007990f, 0.002239f, 0.002158f, 0.000735f, -0.003863f, 0.002241f, 0.001580f, 0.005550f, 0.000706f, -0.001582f, -0.003805f, -0.002229f, -0.001749f, -0.000813f, -0.001415f, -0.002143f, 0.000594f, 0.001206f, 0.001457f, 0.000644f, -0.000827f, -0.001683f, -0.000840f, 0.002838f, -0.002845f, -0.002705f, -0.000955f, 0.000077f, -0.000358f, 0.002209f, 0.002325f, 0.002431f, -0.001524f, 0.000957f, 0.000386f, 0.001056f, 0.005292f, -0.002631f, 0.000339f, -0.021910f, 0.004692f, 0.020616f, 0.001690f, 0.003212f, 0.006297f, 0.019312f, 0.002683f, -0.018608f, 0.020665f, 0.009051f, 0.007489f, 0.012547f, 0.010937f, 0.000076f, -0.003819f, 0.011836f, 0.009104f, 0.003090f, -0.008478f, 0.010295f, 0.004898f, 0.015246f, 0.017844f, 0.006765f, -0.004338f, + 0.000403f, -0.000077f, 0.007415f, 0.022642f, 0.013420f, -0.012480f, 0.021863f, 0.000934f, -0.002691f, 0.002949f, -0.016120f, 0.017978f, -0.002384f, 0.000386f, -0.002138f, 0.004633f, -0.002417f, 0.009317f, -0.012997f, 0.018370f, 0.015614f, -0.000515f, -0.002909f, -0.010108f, -0.019388f, -0.006584f, 0.007703f, -0.004443f, -0.007268f, 0.010361f, 0.012082f, -0.008104f, -0.007274f, -0.024799f, -0.008620f, -0.003001f, -0.001204f, -0.027757f, 0.014183f, 0.001636f, -0.016567f, -0.013547f, 0.004580f, -0.006384f, 0.001702f, -0.004035f, 0.000904f, -0.007245f, -0.001604f, -0.006453f, 0.004734f, 0.009378f, -0.002615f, 0.007156f, 0.000852f, -0.002858f, 0.008340f, 0.002985f, 0.000434f, 0.006946f, -0.000779f, -0.003046f, -0.004299f, -0.004783f, -0.005062f, -0.004743f, -0.005920f, -0.004257f, 0.000326f, -0.002312f, -0.005553f, -0.002669f, 0.000586f, -0.001104f, -0.002049f, 0.001281f, 0.002288f, 0.001178f, -0.002518f, -0.003545f, -0.004480f, 0.000573f, -0.004247f, 0.004037f, -0.002319f, -0.002377f, -0.002288f, 0.000171f, -0.001623f, 0.010265f, -0.012965f, -0.000104f, 0.000134f, 0.000481f, 0.020941f, 0.011520f, + -0.000182f, 0.026112f, 0.012061f, 0.023578f, 0.005623f, 0.007989f, 0.025151f, -0.009926f, -0.016763f, -0.010578f, 0.023517f, 0.005785f, -0.013267f, 0.017972f, -0.004909f, -0.010436f, 0.016033f, 0.038096f, -0.009821f, 0.001958f, 0.006081f, 0.007327f, -0.009897f, 0.001311f, 0.020953f, 0.002307f, 0.025765f, -0.005548f, 0.027668f, 0.019641f, 0.006630f, 0.016480f, 0.010394f, -0.009774f, 0.006882f, -0.002451f, -0.002462f, 0.002726f, 0.001881f, -0.001703f, 0.007301f, 0.005149f, 0.017878f, 0.012144f, -0.014942f, 0.005319f, 0.006732f, -0.010926f, 0.000660f, -0.025915f, -0.033723f, 0.013618f, -0.008638f, -0.021917f, -0.004727f, -0.011739f, 0.014528f, 0.003320f, -0.006847f, -0.016502f, 0.013033f, -0.011899f, 0.007952f, -0.013367f, 0.001988f, -0.005290f, 0.020437f, 0.003965f, -0.007975f, 0.008028f, -0.017424f, 0.016034f, 0.002588f, -0.014819f, 0.000687f, -0.001379f, -0.004299f, -0.001625f, 0.002138f, 0.004609f, -0.004358f, 0.007490f, -0.001619f, -0.002691f, -0.003318f, -0.002394f, -0.006452f, -0.000335f, -0.002291f, -0.006063f, -0.002310f, 0.002446f, -0.003878f, 0.004200f, 0.000619f, -0.002024f, + 0.001065f, -0.003953f, -0.000771f, -0.002695f, -0.000358f, 0.000083f, 0.000201f, 0.002270f, 0.002504f, 0.003010f, 0.000134f, 0.001639f, -0.000132f, -0.014757f, 0.001982f, 0.000598f, 0.003916f, -0.008991f, 0.010182f, 0.011248f, -0.001213f, -0.007478f, -0.025912f, -0.022191f, -0.017091f, 0.007995f, 0.002317f, 0.004161f, -0.021242f, 0.013499f, 0.009506f, 0.016792f, -0.018210f, 0.017318f, 0.013291f, -0.010421f, -0.008672f, -0.005244f, 0.017602f, 0.012183f, -0.007731f, 0.001787f, 0.026632f, 0.013538f, 0.006883f, 0.015476f, 0.010614f, 0.004199f, -0.008802f, 0.002046f, 0.001239f, -0.003699f, -0.009771f, 0.023702f, 0.011059f, -0.021954f, 0.014895f, 0.014856f, 0.014753f, 0.011610f, 0.003134f, -0.013659f, 0.000440f, -0.001767f, 0.020645f, 0.002804f, 0.009244f, 0.018792f, -0.003329f, -0.020374f, 0.004572f, 0.011079f, 0.020864f, -0.027703f, -0.015632f, 0.007688f, 0.000328f, 0.002641f, -0.016416f, -0.003986f, -0.015917f, -0.002136f, 0.007624f, -0.005166f, -0.008684f, -0.010523f, 0.004543f, -0.002543f, -0.005253f, -0.013030f, 0.000531f, -0.017474f, -0.000276f, -0.001613f, -0.008849f, -0.009805f, + 0.011330f, -0.003786f, -0.002758f, -0.005512f, -0.010766f, 0.003928f, 0.005271f, 0.003712f, 0.004139f, 0.003064f, -0.005922f, -0.003147f, -0.001764f, -0.001368f, -0.005562f, -0.010439f, -0.004622f, -0.000163f, -0.003521f, -0.000208f, -0.005592f, 0.000599f, -0.003008f, -0.002047f, -0.004048f, -0.004503f, -0.002362f, 0.004724f, -0.003276f, -0.001496f, 0.000753f, 0.001980f, 0.001279f, -0.002132f, 0.003566f, 0.005374f, 0.005369f, -0.001350f, 0.009844f, 0.001279f, -0.017226f, 0.017544f, 0.011277f, -0.005247f, 0.006977f, 0.010568f, -0.011644f, -0.003941f, 0.044900f, -0.001471f, 0.017520f, 0.012245f, -0.037452f, -0.019924f, -0.002093f, -0.001581f, -0.000420f, 0.021276f, 0.004797f, -0.010361f, 0.022013f, 0.013507f, -0.002730f, -0.003616f, 0.007043f, -0.003584f, -0.007747f, -0.016702f, -0.019763f, 0.010946f, -0.004311f, -0.009328f, -0.000937f, -0.030835f, -0.005700f, 0.002033f, 0.017048f, -0.020374f, -0.005856f, 0.002636f, 0.001408f, 0.004442f, 0.001560f, 0.021742f, -0.025295f, -0.008437f, 0.005683f, -0.000826f, -0.014906f, -0.003158f, 0.019776f, 0.016959f, 0.014721f, -0.004045f, -0.025180f, -0.011518f, + 0.009192f, -0.002876f, 0.017008f, -0.000991f, -0.000266f, -0.012584f, -0.007731f, 0.014796f, -0.018029f, 0.012392f, 0.009760f, -0.013050f, -0.006401f, -0.003035f, 0.002174f, -0.014050f, 0.006925f, 0.004866f, -0.006811f, -0.002151f, -0.019077f, 0.006949f, 0.014927f, 0.021205f, 0.001962f, 0.005703f, 0.010155f, 0.003118f, -0.016642f, 0.011509f, -0.003904f, 0.001913f, 0.000166f, -0.005364f, -0.005658f, -0.003081f, 0.007918f, 0.001413f, 0.006640f, -0.000687f, 0.001196f, -0.009287f, -0.003046f, -0.004254f, 0.007169f, -0.000679f, -0.002897f, 0.004906f, -0.003448f, 0.003854f, -0.002144f, 0.000666f, -0.007563f, 0.001847f, -0.001655f, -0.001556f, -0.004799f, 0.001816f, -0.000640f, -0.004301f, -0.007817f, -0.001734f, 0.000936f, -0.003153f, 0.003372f, -0.000782f, -0.033864f, -0.002231f, 0.004786f, 0.022737f, 0.002981f, -0.001057f, 0.013956f, -0.010138f, 0.030120f, -0.030062f, -0.002740f, -0.006532f, 0.005149f, -0.001579f, -0.002314f, 0.007578f, -0.005503f, -0.010294f, -0.006666f, -0.006129f, -0.017838f, -0.002954f, 0.012905f, -0.003044f, -0.007853f, 0.018902f, -0.000163f, 0.022759f, -0.022233f, -0.012918f, + 0.028434f, -0.002983f, -0.001591f, 0.001585f, -0.017684f, -0.002168f, -0.022110f, 0.006421f, -0.026566f, -0.000765f, 0.019980f, -0.006569f, 0.013660f, 0.017702f, 0.010474f, 0.013922f, -0.017922f, 0.017913f, 0.002136f, -0.047144f, -0.007774f, 0.006773f, -0.003707f, -0.005311f, -0.020039f, 0.015842f, -0.017058f, -0.003452f, -0.019363f, -0.018370f, -0.028183f, 0.025202f, 0.000325f, 0.029386f, -0.014519f, 0.022137f, 0.029580f, -0.019398f, 0.024133f, -0.029561f, -0.024383f, -0.026763f, -0.009136f, -0.018872f, 0.006194f, 0.008826f, -0.000876f, -0.003525f, 0.000008f, -0.021170f, 0.001818f, 0.000194f, 0.012369f, 0.004787f, 0.004948f, 0.008644f, 0.005082f, -0.004630f, -0.000009f, -0.008633f, -0.004948f, 0.000198f, 0.003696f, 0.000125f, 0.004157f, -0.002850f, 0.004457f, -0.001315f, 0.002450f, -0.013113f, 0.000990f, 0.004985f, 0.004001f, 0.007273f, -0.003941f, -0.005786f, -0.007477f, -0.000185f, -0.000450f, -0.006129f, -0.006466f, 0.000697f, -0.000870f, 0.001129f, 0.000256f, -0.001940f, 0.003696f, 0.010445f, -0.002333f, -0.002420f, -0.001099f, -0.002826f, 0.009600f, 0.000401f, 0.001359f, -0.003213f, + 0.005801f, -0.006046f, 0.022340f, 0.037306f, 0.005487f, -0.010088f, -0.020108f, 0.012445f, 0.034611f, 0.000198f, 0.010004f, 0.001651f, 0.013880f, 0.009361f, 0.010678f, 0.018659f, -0.022545f, -0.001939f, -0.008307f, 0.029481f, 0.022098f, -0.001225f, 0.034218f, 0.017878f, 0.003168f, -0.032229f, -0.015793f, -0.024614f, -0.011197f, 0.002327f, 0.009337f, -0.008934f, 0.001423f, 0.034521f, -0.006371f, -0.000135f, 0.001904f, 0.035472f, -0.021650f, -0.008941f, -0.008739f, -0.003669f, -0.021182f, 0.024377f, 0.001779f, 0.016291f, -0.025438f, 0.003307f, -0.002651f, -0.015408f, -0.005922f, -0.028401f, 0.008985f, 0.000352f, 0.006074f, -0.003652f, -0.001582f, -0.032946f, -0.011006f, 0.012610f, 0.020951f, -0.006232f, 0.005576f, 0.043359f, -0.002702f, 0.002331f, 0.008124f, 0.019438f, -0.018331f, 0.004039f, 0.022189f, -0.013284f, 0.016162f, 0.004508f, 0.016838f, -0.022426f, -0.011192f, 0.002818f, 0.005206f, 0.011062f, 0.012863f, 0.012006f, -0.008263f, 0.003336f, 0.007634f, 0.014567f, 0.023109f, 0.010461f, -0.010839f, -0.005296f, -0.008514f, 0.003511f, 0.004943f, 0.009823f, 0.009193f, 0.005303f, + 0.009705f, -0.010580f, -0.002014f, -0.010787f, 0.009177f, -0.012329f, 0.012343f, 0.008631f, -0.009145f, 0.005231f, -0.001068f, -0.005823f, 0.001416f, 0.001648f, -0.003266f, 0.002595f, 0.015294f, -0.000678f, 0.000008f, -0.009587f, 0.004837f, -0.000622f, -0.000275f, -0.008724f, 0.008760f, -0.007451f, 0.002750f, 0.003562f, 0.006941f, -0.000972f, -0.003292f, -0.020489f, -0.030886f, 0.008479f, -0.003195f, -0.031445f, 0.008712f, 0.003019f, 0.028514f, 0.024966f, -0.023148f, -0.028060f, 0.006385f, -0.021453f, -0.011103f, 0.000755f, 0.042414f, 0.000478f, -0.005258f, -0.037926f, -0.018815f, -0.003389f, -0.028080f, -0.042963f, 0.029509f, -0.011163f, -0.013415f, -0.002576f, 0.031993f, -0.010085f, 0.003601f, -0.006498f, -0.006288f, -0.018627f, -0.009767f, 0.003011f, -0.044643f, -0.028882f, -0.008162f, -0.016428f, -0.015046f, -0.005324f, -0.017451f, 0.015128f, 0.007078f, 0.004793f, -0.010599f, 0.007616f, -0.064494f, 0.059993f, 0.035368f, -0.006165f, -0.008089f, 0.033721f, 0.002145f, -0.020292f, -0.028684f, -0.003735f, -0.009996f, -0.012055f, -0.017216f, -0.017758f, 0.022212f, 0.020567f, -0.009242f, 0.045257f, + -0.025098f, -0.020753f, -0.018578f, 0.000061f, 0.014905f, -0.053126f, 0.015788f, -0.016829f, 0.027841f, -0.030119f, 0.013294f, -0.002767f, -0.010088f, 0.020733f, -0.038997f, 0.036713f, 0.002183f, -0.000516f, -0.008189f, 0.001062f, -0.000447f, -0.018576f, 0.003735f, -0.005149f, 0.009783f, 0.012353f, -0.011256f, 0.005648f, 0.007984f, 0.017346f, 0.000712f, -0.005664f, -0.000882f, -0.001550f, -0.006811f, 0.005086f, -0.002609f, -0.004155f, 0.004523f, -0.006884f, -0.002103f, 0.001689f, 0.005081f, 0.005961f, -0.013777f, -0.010604f, -0.009105f, 0.001580f, 0.005765f, 0.000009f, 0.003833f, 0.003245f, 0.009379f, 0.004862f, -0.007444f, 0.007009f, 0.001479f, 0.030806f, 0.002494f, 0.071766f, 0.023320f, -0.001417f, 0.003034f, -0.027719f, -0.036005f, 0.044829f, -0.013324f, 0.005107f, 0.059418f, -0.015472f, -0.002931f, -0.012701f, 0.046319f, 0.008939f, -0.019236f, 0.027395f, -0.010021f, 0.040682f, 0.021283f, 0.010141f, 0.005957f, -0.004499f, -0.015640f, -0.005074f, -0.004296f, -0.043602f, -0.011028f, -0.007029f, 0.024045f, -0.013512f, 0.004472f, 0.008011f, -0.031317f, -0.046551f, -0.001741f, 0.040166f, + -0.002766f, 0.035677f, -0.006266f, -0.049912f, -0.019405f, 0.002247f, 0.011221f, 0.008999f, -0.040671f, 0.000314f, -0.011708f, 0.029441f, -0.030206f, 0.037224f, 0.055009f, 0.035691f, -0.011309f, 0.006621f, 0.022135f, -0.007973f, 0.043079f, 0.049912f, 0.043959f, 0.014346f, 0.048210f, -0.001703f, -0.019561f, 0.006186f, -0.025360f, -0.031953f, 0.017305f, -0.013752f, 0.039377f, 0.020331f, 0.010368f, -0.013631f, -0.048714f, -0.044148f, 0.030828f, -0.019593f, -0.039440f, 0.026178f, 0.052338f, 0.031440f, -0.016926f, 0.024943f, 0.015266f, -0.005546f, -0.012505f, 0.014761f, -0.018755f, -0.005767f, -0.002112f, -0.012957f, 0.001590f, -0.002886f, 0.010684f, 0.006421f, -0.002619f, -0.017223f, 0.009425f, 0.008557f, 0.005872f, -0.003832f, 0.000442f, -0.016121f, 0.001174f, -0.000306f, 0.004033f, 0.003606f, 0.000297f, 0.009367f, -0.003440f, 0.013015f, 0.014758f, 0.003684f, 0.011962f, 0.000933f, -0.009679f, -0.022854f, 0.005013f, 0.000365f, 0.004762f, -0.016278f, -0.036211f, 0.021191f, 0.026542f, -0.000422f, 0.012999f, 0.008723f, 0.012865f, 0.010656f, 0.004919f, -0.002890f, 0.006298f, -0.007605f, + 0.013808f, -0.024622f, -0.068588f, -0.027532f, 0.037649f, 0.002171f, -0.011157f, -0.022976f, -0.000091f, 0.031636f, 0.040440f, 0.008610f, -0.024747f, -0.004373f, 0.032366f, -0.039109f, 0.003787f, -0.004873f, 0.028976f, 0.033001f, -0.026396f, 0.050070f, 0.009783f, 0.001994f, 0.070803f, 0.000348f, -0.022104f, 0.024766f, -0.011724f, 0.003532f, -0.015016f, 0.005254f, 0.047097f, 0.005421f, 0.059973f, 0.025269f, -0.052172f, -0.057220f, -0.012398f, 0.014882f, 0.032087f, -0.044368f, -0.015581f, -0.006413f, 0.054015f, 0.049370f, -0.042157f, -0.001630f, -0.025678f, 0.016301f, -0.008785f, 0.056448f, 0.000852f, -0.012395f, 0.037163f, -0.007523f, -0.043691f, -0.022090f, -0.007060f, 0.045529f, -0.040229f, 0.024454f, 0.070826f, 0.033513f, 0.047579f, -0.012670f, 0.019418f, -0.012763f, -0.029241f, -0.028185f, 0.014962f, -0.020023f, -0.001226f, -0.007160f, 0.013034f, -0.000281f, 0.028852f, -0.006400f, -0.013088f, -0.004641f, -0.005624f, 0.007122f, -0.004422f, 0.011121f, -0.019563f, 0.014617f, -0.012889f, -0.005882f, 0.004205f, -0.005106f, -0.005993f, 0.009269f, -0.008500f, -0.003200f, -0.002416f, -0.007054f, + -0.024068f, -0.013565f, -0.002193f, -0.002734f, -0.006994f, -0.009381f, -0.002066f, 0.007335f, -0.004053f, 0.004376f, -0.003560f, -0.000091f, 0.005672f, -0.018454f, 0.002240f, -0.002466f, -0.013872f, -0.032981f, 0.024488f, 0.036962f, 0.030154f, -0.052766f, -0.025717f, 0.033943f, 0.101280f, 0.006565f, 0.021690f, -0.029112f, 0.008782f, -0.001051f, -0.005173f, -0.027306f, 0.007978f, -0.009329f, 0.048384f, 0.039119f, -0.051417f, -0.022169f, 0.053502f, 0.027807f, 0.018958f, 0.006171f, 0.028712f, 0.034412f, 0.010396f, 0.020764f, 0.018292f, -0.024159f, 0.003200f, -0.023644f, -0.011243f, 0.007119f, -0.005170f, 0.004587f, -0.021241f, -0.018171f, 0.014016f, -0.003333f, 0.019493f, 0.016221f, -0.047586f, 0.035761f, 0.006609f, 0.028904f, -0.032262f, 0.018807f, 0.028202f, -0.021636f, -0.036784f, -0.036047f, -0.040693f, -0.039727f, -0.033800f, 0.012596f, 0.059142f, 0.016412f, 0.017931f, 0.028884f, 0.001550f, 0.000150f, -0.023664f, 0.040585f, -0.051020f, -0.100817f, 0.034350f, -0.022459f, 0.003991f, -0.085396f, 0.020848f, 0.028172f, 0.004269f, 0.018037f, 0.014076f, -0.011889f, -0.022456f, -0.033272f, + 0.010398f, 0.008522f, -0.026492f, 0.020005f, -0.010349f, -0.043115f, -0.024503f, 0.000504f, -0.008334f, 0.005686f, 0.002531f, 0.014125f, 0.005651f, 0.003429f, -0.001308f, 0.011452f, -0.006833f, -0.012999f, -0.025470f, -0.013918f, -0.016627f, -0.004511f, -0.009391f, 0.010358f, 0.013672f, 0.011706f, -0.020408f, -0.000502f, -0.008870f, 0.001286f, 0.010996f, 0.004659f, -0.018108f, -0.031451f, -0.003290f, 0.002561f, 0.002215f, -0.010427f, -0.005426f, -0.010944f, -0.002978f, -0.014661f, -0.017232f, 0.012054f, -0.016858f, 0.007984f, 0.002217f, -0.007183f, -0.003868f, 0.011630f, -0.009946f, 0.005244f, -0.011969f, 0.024131f, 0.017388f, 0.023048f, -0.032901f, -0.017112f, -0.004625f, 0.021068f, -0.043908f, 0.073053f, 0.034722f, -0.005987f, 0.039863f, 0.023927f, 0.037989f, -0.019997f, -0.025567f, -0.024867f, 0.046012f, 0.016319f, 0.008311f, 0.041473f, -0.036331f, -0.117653f, -0.007836f, 0.007833f, 0.013996f, -0.066238f, 0.051316f, 0.037292f, -0.071098f, -0.054754f, 0.001754f, 0.029278f, 0.002488f, 0.016623f, 0.037692f, -0.010017f, 0.023404f, -0.034366f, -0.039325f, -0.031373f, -0.040852f, -0.063619f, + 0.017723f, 0.006577f, -0.042701f, 0.056362f, 0.021915f, -0.013783f, -0.013437f, -0.033284f, -0.024923f, -0.057990f, -0.031496f, 0.020617f, 0.051454f, -0.019605f, 0.005162f, 0.021166f, -0.045636f, 0.032932f, 0.044590f, 0.006574f, -0.011427f, 0.038109f, 0.010437f, 0.004293f, -0.027318f, -0.031948f, -0.002343f, 0.056978f, -0.017522f, -0.052574f, -0.000924f, -0.066994f, -0.069790f, -0.072686f, -0.034858f, -0.038350f, -0.024495f, 0.031261f, -0.004392f, 0.028103f, -0.005809f, -0.009279f, -0.026304f, -0.007070f, -0.007754f, 0.015094f, -0.011563f, -0.016811f, -0.003331f, -0.006598f, 0.002463f, -0.024510f, 0.004631f, -0.011300f, -0.009823f, 0.012965f, -0.011754f, -0.003916f, 0.004232f, -0.008728f, 0.019080f, -0.012107f, 0.002844f, 0.030981f, 0.003785f, 0.018099f, -0.006940f, -0.010883f, 0.031388f, 0.004703f, -0.016658f, 0.000607f, 0.000297f, 0.002439f, 0.004435f, -0.008914f, 0.019594f, 0.001190f, -0.001509f, -0.009485f, -0.009872f, -0.025845f, -0.044406f, -0.023408f, -0.023801f, 0.028912f, 0.057165f, 0.021000f, -0.025889f, -0.055060f, 0.059140f, 0.031717f, -0.028323f, -0.015379f, -0.015041f, 0.003285f, + 0.014045f, -0.018200f, 0.030828f, 0.028508f, 0.001769f, -0.019172f, -0.017989f, -0.017105f, -0.002010f, 0.011100f, -0.008425f, -0.018921f, -0.044865f, 0.013909f, 0.039826f, -0.022726f, 0.035241f, 0.001102f, 0.023728f, -0.019611f, 0.026364f, 0.075877f, -0.028198f, 0.033144f, 0.066104f, 0.011489f, -0.011303f, -0.018235f, 0.019340f, 0.001485f, 0.033862f, -0.025659f, 0.090644f, -0.027911f, -0.060456f, 0.014016f, -0.027412f, 0.071616f, 0.023700f, -0.022294f, 0.004361f, -0.043076f, -0.058951f, 0.072729f, 0.008561f, -0.019463f, 0.072026f, -0.037080f, 0.009614f, -0.020900f, 0.041857f, -0.052963f, -0.059293f, -0.042403f, 0.013480f, 0.025715f, 0.047902f, 0.020459f, 0.050614f, 0.079032f, -0.009447f, 0.015998f, -0.010153f, 0.010095f, -0.002249f, 0.003307f, -0.057740f, 0.002294f, -0.079835f, -0.026616f, -0.015519f, 0.014317f, -0.002434f, 0.017679f, -0.006073f, -0.023822f, -0.024899f, -0.005628f, -0.016367f, -0.018325f, -0.031653f, 0.000133f, -0.003055f, 0.024401f, 0.010639f, -0.019528f, 0.018264f, 0.008557f, 0.015127f, 0.019736f, -0.025225f, 0.007295f, -0.010293f, -0.004682f, 0.025919f, -0.008380f, + 0.013083f, 0.017461f, -0.010002f, -0.027579f, -0.013821f, 0.010344f, -0.045351f, -0.014070f, 0.001389f, -0.006254f, -0.009963f, 0.020862f, -0.021221f, -0.023655f, 0.017119f, 0.027988f, -0.012338f, 0.023422f, 0.055652f, -0.008442f, 0.001847f, 0.066191f, 0.007457f, -0.036560f, -0.041959f, -0.037523f, 0.068422f, -0.046060f, 0.027300f, 0.031696f, -0.021662f, 0.006244f, -0.037236f, -0.008853f, 0.030700f, -0.027540f, 0.022247f, -0.009494f, -0.046837f, -0.103787f, -0.008962f, 0.092553f, 0.039246f, 0.009083f, -0.018071f, -0.028423f, -0.004719f, -0.037158f, 0.012280f, -0.052197f, 0.062348f, 0.004113f, 0.007915f, 0.004612f, -0.020448f, -0.062848f, -0.023393f, 0.049622f, -0.040429f, -0.010951f, -0.027817f, 0.021917f, -0.019780f, 0.068852f, -0.010669f, 0.013845f, -0.024751f, -0.065150f, 0.014866f, -0.049843f, -0.010593f, -0.004775f, -0.090062f, -0.076866f, -0.071694f, 0.023575f, -0.012758f, -0.039538f, -0.024868f, -0.025436f, -0.022492f, -0.035319f, -0.022961f, -0.006452f, -0.080751f, 0.022348f, 0.009712f, 0.029625f, -0.017420f, 0.070329f, -0.006777f, 0.013282f, -0.023906f, -0.010087f, 0.038742f, -0.075802f, + 0.032683f, 0.049132f, -0.050121f, -0.033176f, 0.003700f, 0.007696f, -0.012785f, -0.024699f, -0.039108f, -0.002735f, 0.001547f, -0.024237f, 0.021011f, -0.017943f, -0.031018f, -0.017760f, -0.012964f, 0.019794f, 0.000077f, 0.000425f, -0.000087f, 0.014730f, -0.038330f, -0.011400f, -0.004056f, -0.007807f, -0.002066f, 0.000441f, -0.046067f, 0.001264f, -0.014490f, -0.012531f, -0.003383f, -0.021124f, 0.006368f, -0.006141f, 0.004839f, 0.000664f, -0.003432f, -0.005386f, -0.011024f, -0.002097f, -0.008940f, -0.002405f, 0.007149f, -0.010756f, -0.016482f, 0.000361f, -0.003500f, -0.003982f, -0.010076f, -0.019107f, -0.012266f, -0.005022f, -0.001787f, -0.013609f, -0.015877f, 0.028129f, 0.017019f, 0.034038f, -0.012825f, -0.070750f, 0.020410f, 0.001019f, 0.117485f, 0.120244f, 0.014547f, 0.001189f, 0.028331f, 0.014213f, 0.030264f, 0.051897f, 0.019346f, 0.053888f, 0.081423f, -0.020258f, 0.010701f, -0.066857f, -0.009461f, 0.008778f, -0.008625f, -0.019877f, -0.040529f, -0.034081f, 0.018916f, 0.018802f, -0.088841f, 0.063447f, 0.017162f, 0.089528f, -0.005426f, -0.017672f, 0.029292f, -0.006146f, 0.094239f, 0.024047f, + -0.004796f, 0.018178f, 0.018670f, -0.025210f, -0.057502f, -0.045047f, -0.022587f, 0.070400f, 0.000970f, 0.077376f, 0.009535f, 0.075651f, -0.021769f, -0.103925f, -0.038876f, -0.030121f, 0.053872f, 0.006625f, -0.050496f, -0.073146f, -0.051108f, -0.010130f, 0.063261f, -0.054953f, -0.047876f, -0.031506f, 0.056464f, -0.027739f, -0.016410f, -0.072820f, -0.072487f, 0.022947f, 0.012282f, 0.097724f, 0.025135f, -0.010264f, -0.026395f, 0.030698f, 0.031734f, 0.104333f, 0.001918f, -0.033708f, -0.045133f, -0.002831f, -0.004627f, 0.002455f, 0.016241f, 0.015083f, -0.024264f, -0.005419f, 0.007890f, 0.021803f, -0.023301f, -0.018873f, 0.029320f, 0.043215f, 0.020079f, 0.013267f, 0.016798f, -0.018147f, -0.007732f, -0.011413f, -0.002361f, -0.002399f, 0.009494f, 0.000160f, 0.056336f, 0.011850f, -0.002401f, -0.017185f, -0.029561f, 0.028289f, 0.045721f, -0.016524f, 0.000757f, 0.001811f, 0.005724f, 0.026200f, 0.011415f, 0.019469f, 0.019863f, 0.005076f, 0.015462f, 0.005096f, -0.000972f, 0.005117f, -0.013919f, -0.004696f, 0.003416f, -0.008387f, 0.005588f, 0.001554f, 0.071902f, 0.027316f, -0.034946f, 0.067771f, + -0.004207f, -0.133103f, -0.040536f, 0.083970f, 0.093273f, -0.065612f, -0.065705f, -0.066778f, 0.037278f, 0.057137f, 0.114159f, 0.034577f, 0.014740f, -0.065083f, -0.006607f, -0.003990f, 0.025681f, 0.057165f, 0.041498f, 0.003392f, -0.069052f, -0.134124f, -0.035556f, -0.067838f, 0.100949f, 0.106932f, 0.186550f, -0.055832f, -0.179413f, -0.039055f, -0.061638f, 0.139484f, 0.047436f, 0.141469f, 0.036440f, -0.047224f, -0.136692f, -0.092385f, 0.004985f, 0.017066f, 0.153272f, 0.062307f, -0.005318f, -0.126089f, -0.220039f, -0.057480f, 0.004716f, 0.101722f, 0.231548f, 0.050524f, 0.069832f, -0.149144f, -0.228601f, 0.009940f, 0.052523f, 0.182119f, 0.107056f, 0.076570f, -0.042219f, -0.147243f, -0.120476f, -0.001093f, 0.034030f, -0.003080f, 0.091946f, -0.075794f, -0.070973f, -0.017501f, -0.162401f, 0.025489f, 0.007862f, 0.044443f, -0.032580f, -0.065548f, -0.035256f, -0.027628f, -0.074241f, 0.017231f, 0.021828f, -0.023608f, -0.003635f, -0.069581f, 0.010063f, 0.020416f, 0.023101f, 0.032714f, 0.010506f, -0.035484f, 0.012677f, -0.011027f, -0.006004f, 0.005535f, 0.056838f, 0.010067f, -0.001594f, -0.014128f, + -0.042884f, -0.008082f, -0.016980f, 0.017041f, -0.007566f, 0.018878f, 0.012281f, -0.039038f, -0.089140f, -0.043604f, -0.065388f, 0.054148f, 0.054410f, 0.064726f, 0.037222f, -0.082893f, -0.074807f, -0.115771f, -0.027673f, 0.094844f, 0.104791f, 0.102283f, 0.005455f, -0.111626f, -0.083529f, -0.064773f, -0.000855f, 0.168011f, 0.116649f, 0.048065f, -0.089200f, -0.103677f, -0.077674f, 0.039219f, 0.040410f, 0.058766f, 0.031082f, -0.076333f, 0.101439f, -0.002192f, 0.014723f, -0.042696f, -0.096621f, 0.057565f, -0.097298f, 0.103076f, 0.014786f, 0.009220f, 0.021508f, -0.061941f, 0.061198f, 0.006044f, 0.042449f, -0.059393f, 0.020699f, 0.000537f, 0.073500f, -0.029357f, 0.017822f, 0.049242f, -0.056319f, -0.032282f, 0.005042f, -0.051058f, 0.082506f, -0.018564f, -0.034588f, 0.074580f, 0.085262f, -0.022883f, -0.063851f, -0.015590f, -0.056341f, -0.010259f, 0.034056f, -0.005327f, -0.070069f, 0.008380f, 0.036965f, -0.024423f, 0.041750f, -0.034930f, 0.015801f, 0.045370f, -0.018687f, 0.029935f, -0.079766f, -0.079657f, 0.080597f, 0.045311f, 0.124677f, -0.005050f, -0.032379f, 0.106406f, -0.061277f, -0.053884f, + 0.036632f, 0.036015f, 0.059615f, -0.054594f, -0.026809f, 0.016344f, -0.012336f, 0.060360f, -0.048848f, -0.149003f, 0.038061f, 0.083605f, 0.000370f, -0.068936f, 0.012333f, 0.042654f, -0.017428f, -0.017880f, -0.056431f, -0.017772f, -0.046723f, 0.046444f, 0.010479f, -0.032253f, -0.009574f, 0.055429f, -0.039983f, -0.013732f, -0.036220f, -0.003949f, 0.025979f, -0.038705f, 0.019970f, 0.057915f, 0.021302f, -0.000593f, -0.017276f, -0.003023f, -0.022190f, -0.026691f, 0.042794f, -0.018015f, 0.018978f, -0.005914f, -0.023127f, 0.000029f, 0.003893f, 0.004334f, 0.015047f, 0.019427f, -0.034175f, -0.009963f, 0.015724f, 0.014082f, 0.032218f, -0.004208f, -0.029512f, 0.011495f, -0.034231f, 0.016113f, -0.031269f, -0.016931f, -0.000312f, -0.006417f, -0.021253f, 0.046980f, -0.021325f, 0.009759f, 0.019569f, 0.004519f, 0.015158f, 0.031207f, -0.001440f, -0.005442f, 0.000656f, -0.002994f, -0.039264f, -0.024745f, 0.151473f, 0.040988f, 0.042422f, -0.128358f, -0.031541f, -0.100629f, -0.084234f, 0.076068f, 0.080874f, 0.158861f, 0.074041f, -0.021521f, -0.030182f, -0.018715f, 0.050869f, 0.034810f, 0.001720f, 0.077207f, + 0.015748f, -0.030952f, -0.035902f, -0.029583f, 0.056274f, 0.000001f, 0.049305f, 0.022679f, 0.030032f, 0.007322f, -0.011547f, 0.005663f, 0.000344f, 0.007305f, -0.011998f, -0.003216f, 0.016602f, 0.013410f, 0.104937f, 0.083933f, 0.069271f, -0.006017f, 0.019416f, -0.042482f, -0.006368f, -0.026422f, -0.047214f, -0.049911f, 0.015732f, 0.027230f, 0.040299f, 0.048597f, 0.040729f, -0.025077f, -0.063350f, 0.097389f, -0.068911f, -0.030432f, -0.017170f, 0.033450f, 0.004990f, 0.047706f, 0.050304f, 0.043561f, -0.057980f, -0.020950f, 0.008570f, -0.022968f, -0.093895f, 0.063264f, -0.021594f, -0.016964f, 0.036283f, 0.073420f, 0.083799f, 0.060794f, 0.059989f, 0.051410f, -0.054199f, 0.007198f, -0.013489f, -0.016951f, 0.031770f, 0.024874f, 0.033812f, 0.016242f, -0.014724f, -0.027231f, -0.039029f, -0.042697f, -0.085352f, -0.034235f, 0.013125f, -0.004843f, 0.052758f, -0.000029f, -0.023419f, -0.007916f, -0.033737f, 0.013033f, 0.004398f, -0.002463f, -0.000047f, 0.022283f, 0.049433f, -0.005952f, 0.002831f, 0.027085f, 0.002346f, 0.000385f, -0.009445f, -0.003135f, -0.011289f, -0.011151f, 0.003298f, -0.023281f, + 0.010755f, 0.013446f, -0.016839f, -0.025344f, 0.007379f, 0.005208f, -0.008895f, 0.025033f, 0.033822f, -0.004473f, 0.005383f, -0.010794f, -0.033468f, -0.014158f, 0.005895f, -0.195214f, -0.097393f, -0.134050f, 0.096789f, 0.021470f, 0.277208f, 0.286641f, 0.285491f, 0.326370f, 0.321279f, 0.230931f, 0.143617f, 0.180129f, 0.079588f, 0.016832f, -0.151982f, -0.132192f, -0.331897f, -0.290116f, -0.260575f, -0.153436f, -0.193754f, -0.147536f, -0.012167f, -0.047104f, -0.019087f, -0.023220f, 0.001138f, -0.000306f, 0.008746f, 0.037905f, 0.040580f, 0.038856f, 0.114364f, 0.117488f, 0.124403f, 0.088977f, 0.248887f, 0.065151f, 0.104589f, 0.174341f, 0.194222f, 0.072284f, 0.195463f, 0.235359f, 0.185458f, 0.161162f, 0.163727f, 0.018095f, 0.098001f, 0.198096f, 0.195595f, 0.126177f, 0.164132f, 0.143638f, -0.002025f, -0.053092f, -0.037502f, -0.097838f, -0.120879f, -0.015487f, -0.135846f, -0.207020f, -0.161456f, -0.192822f, -0.285316f, -0.130499f, -0.192948f, -0.213721f, -0.302823f, -0.246130f, -0.279274f, -0.318910f, -0.212600f, -0.360605f, -0.426734f, -0.428150f, -0.233116f, -0.289712f, -0.365252f, -0.071763f, + -0.162733f, -0.076302f, -0.041087f, 0.119678f, 0.053131f, 0.175587f, 0.093103f, 0.165861f, 0.157754f, 0.103820f, 0.081700f, 0.128587f, 0.238035f, 0.242331f, 0.243035f, 0.248359f, 0.257924f, 0.313570f, 0.279984f, 0.232555f, 0.285835f, 0.322663f, 0.257734f, 0.193957f, 0.231322f, 0.194732f, 0.125610f, 0.158829f, 0.107224f, 0.053339f, 0.022726f, 0.049033f, 0.014115f, -0.020148f, -0.014161f, -0.025964f, -0.062343f, -0.094567f, -0.094231f, -0.102487f, -0.087836f, -0.109565f, -0.172517f, -0.154967f, -0.178290f, -0.200858f, -0.234201f, -0.233388f, -0.193555f, -0.194227f, -0.159448f, -0.101254f, -0.114372f, -0.077880f, -0.055108f, 0.005580f, -0.001480f, 0.000028f, 0.008599f, 0.034308f, 0.039283f, 0.012924f, 0.030750f, 0.049999f, 0.039235f, 0.017040f, 0.019409f, 0.036693f, 0.020619f, 0.008226f, 0.013541f, 0.019868f, 0.016744f, 0.009773f, 0.008455f, 0.006378f, 0.002691f, 0.000657f} + } +}; +const float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2870]={ {-0.000055f, -0.000016f, -0.000030f, -0.000018f, -0.000046f, -0.000008f, -0.000074f, -0.000017f, -0.000239f, 0.000164f, -0.000016f, 0.000165f, -0.000036f, 0.000073f, 0.000441f, -0.000049f, -0.000525f, -0.000519f, -0.000172f, -0.000319f, 0.000042f, -0.000258f, -0.000703f, 0.000200f, -0.000177f, -0.000125f, 0.000186f, 0.000060f, -0.000237f, -0.000368f, -0.000480f, 0.000065f, -0.000289f, -0.000175f, 0.000101f, -0.000504f, 0.000450f, 0.000472f, -0.000271f, -0.000032f, -0.000174f, -0.000470f, 0.000042f, -0.000423f, -0.000335f, 0.000326f, -0.000217f, 0.000489f, 0.002039f, -0.000885f, 0.000905f, -0.000382f, 0.000324f, -0.000012f, 0.000474f, -0.000204f, 0.000119f, 0.000203f, 0.000244f, 0.000260f, 0.000450f, -0.000109f, 0.000054f, 0.000822f, 0.000616f, -0.001615f, 0.000323f, -0.000206f, 0.000083f, -0.000549f, 0.000365f, -0.000692f, 0.000693f, 0.000575f, 0.000285f, -0.000088f, -0.000216f, -0.000253f, 0.000493f, 0.000452f, -0.000200f, 0.000104f, 0.000849f, -0.000315f, -0.000015f, -0.000287f, 0.000102f, 0.000132f, -0.000021f, -0.000238f, 0.000400f, 0.000062f, -0.000120f, 0.000303f, 0.008189f, -0.000591f, + 0.001141f, -0.000020f, 0.000362f, 0.000158f, 0.000276f, 0.000188f, 0.000784f, -0.000451f, 0.000331f, -0.000160f, 0.000136f, 0.000431f, 0.000671f, 0.000268f, 0.000130f, -0.000322f, 0.000611f, -0.000442f, 0.000233f, -0.000205f, -0.000644f, 0.000067f, 0.000224f, 0.000023f, -0.000201f, 0.000057f, -0.000225f, 0.000423f, -0.000869f, 0.000203f, -0.000201f, 0.000230f, -0.000009f, -0.001218f, -0.000423f, 0.000124f, 0.000193f, 0.000141f, -0.000211f, -0.000275f, -0.000238f, 0.000173f, 0.000472f, -0.000195f, 0.000209f, 0.004940f, -0.005836f, 0.001168f, -0.001401f, 0.000771f, -0.000907f, 0.000713f, -0.001241f, -0.000370f, -0.000765f, -0.000137f, -0.000637f, 0.000059f, 0.001149f, 0.001671f, 0.000701f, 0.000375f, 0.000033f, 0.000528f, 0.001196f, 0.000871f, -0.000541f, -0.000650f, -0.000870f, -0.000411f, -0.000501f, 0.000051f, -0.000079f, -0.000072f, 0.000027f, 0.000259f, -0.000403f, 0.000521f, -0.000531f, -0.000706f, 0.000263f, -0.000005f, 0.000055f, 0.000155f, -0.000491f, -0.000555f, 0.000173f, -0.000335f, -0.000457f, -0.000081f, 0.000067f, 0.000365f, -0.011317f, 0.002256f, -0.000570f, 0.000287f, + 0.000244f, -0.000948f, -0.000427f, 0.000900f, -0.000147f, 0.000077f, 0.001010f, 0.000327f, -0.000386f, -0.000704f, 0.000704f, 0.000061f, -0.000854f, -0.001223f, -0.001770f, 0.000571f, -0.000787f, 0.000182f, -0.000255f, 0.000331f, -0.000181f, 0.000125f, -0.000919f, -0.000907f, -0.000566f, -0.000242f, -0.000572f, 0.000171f, -0.000277f, 0.000323f, 0.001062f, 0.000183f, 0.000185f, 0.000703f, 0.000194f, 0.000163f, -0.000023f, -0.000138f, -0.000701f, -0.000166f, 0.000163f, -0.000129f, -0.000033f, -0.013529f, 0.005063f, -0.001263f, 0.001626f, -0.000794f, 0.001173f, -0.000647f, -0.000183f, -0.001153f, 0.000888f, -0.001365f, 0.000910f, -0.000233f, 0.001273f, -0.001728f, 0.000450f, 0.001612f, 0.000476f, -0.001357f, -0.000476f, -0.000816f, -0.000335f, 0.000516f, 0.000268f, 0.000382f, -0.000208f, -0.000461f, -0.000649f, -0.000637f, -0.000048f, -0.000731f, -0.000122f, -0.000679f, -0.000475f, -0.001889f, -0.000522f, -0.000264f, 0.000111f, 0.000045f, 0.000664f, 0.000282f, 0.000654f, -0.000066f, 0.000760f, 0.000179f, 0.000076f, 0.000188f, 0.001689f, 0.005892f, -0.001625f, 0.002614f, -0.001586f, 0.000684f, + -0.001711f, 0.001347f, -0.000123f, 0.001468f, -0.000117f, -0.000147f, 0.001443f, -0.000238f, -0.000200f, 0.001262f, -0.000616f, -0.001158f, -0.001846f, 0.001640f, -0.000133f, 0.001122f, 0.000131f, 0.000797f, 0.000386f, -0.001071f, 0.000456f, 0.000435f, -0.000072f, 0.000553f, 0.000845f, -0.001065f, 0.000141f, -0.000032f, -0.000090f, -0.000611f, -0.000275f, -0.000598f, 0.000163f, -0.000124f, 0.000462f, 0.001381f, 0.000054f, 0.000700f, -0.000124f, 0.000135f, -0.000148f, 0.000212f, 0.000559f, -0.000254f, 0.017789f, -0.004387f, 0.001691f, -0.000849f, 0.001497f, -0.000654f, 0.001149f, -0.000639f, 0.000395f, -0.001731f, 0.000804f, -0.001653f, 0.001266f, -0.000505f, 0.000374f, -0.000481f, 0.001783f, 0.000245f, 0.000449f, -0.000855f, 0.001165f, -0.000104f, -0.000537f, 0.000992f, -0.000768f, -0.001193f, 0.000031f, -0.000372f, 0.000570f, -0.000005f, -0.000178f, -0.000389f, 0.000174f, -0.000039f, 0.000225f, -0.000821f, 0.000194f, -0.000363f, 0.001282f, -0.000239f, 0.000614f, 0.000116f, 0.000516f, 0.000960f, -0.000659f, 0.000052f, 0.000223f, -0.000327f, 0.000754f, -0.000155f, 0.001499f, -0.009227f, + 0.003644f, -0.002847f, 0.001680f, -0.001418f, 0.000488f, -0.001869f, 0.001214f, -0.000747f, 0.001696f, -0.000189f, 0.000740f, -0.001491f, -0.000629f, -0.000097f, -0.000542f, -0.000506f, 0.001956f, -0.001442f, 0.000249f, 0.000911f, -0.001787f, 0.000460f, 0.000632f, -0.000448f, 0.000615f, 0.000206f, 0.000354f, -0.001138f, -0.000100f, -0.000365f, 0.000702f, -0.000567f, 0.000384f, -0.001343f, -0.000271f, 0.000983f, 0.000475f, 0.000312f, -0.000342f, -0.000202f, -0.001025f, -0.001090f, 0.000593f, 0.000221f, -0.000048f, -0.000160f, -0.000095f, 0.000097f, 0.000096f, -0.000228f, -0.000223f, 0.000135f, 0.000143f, -0.000374f, -0.014916f, 0.004886f, -0.002641f, 0.000678f, -0.000246f, 0.000834f, -0.001117f, 0.001208f, -0.000493f, -0.000420f, -0.000146f, 0.000874f, -0.000470f, -0.000698f, 0.000512f, 0.001681f, -0.000230f, 0.000071f, -0.002815f, 0.000243f, 0.000047f, 0.001374f, -0.000445f, -0.000211f, -0.002152f, -0.000737f, 0.000028f, 0.000041f, 0.000750f, 0.001029f, -0.001626f, -0.001492f, 0.000966f, 0.000243f, -0.001676f, -0.001287f, 0.000632f, 0.000365f, -0.000098f, -0.000049f, -0.000643f, 0.000659f, + -0.000202f, 0.000241f, 0.000087f, -0.000879f, -0.000371f, 0.000470f, -0.001357f, -0.000679f, -0.000271f, 0.000287f, -0.000272f, 0.000024f, -0.000678f, -0.000059f, -0.014890f, 0.006590f, -0.003641f, 0.002766f, -0.002540f, 0.001260f, -0.002891f, 0.000667f, -0.001885f, 0.002976f, -0.001506f, 0.001050f, -0.000184f, 0.000022f, -0.001364f, -0.000389f, -0.000564f, 0.002694f, -0.000512f, 0.001375f, 0.002183f, 0.001253f, 0.000323f, -0.000291f, 0.000524f, -0.000477f, 0.001222f, 0.001181f, 0.000168f, -0.000594f, 0.000208f, 0.000226f, -0.000814f, -0.000366f, 0.000618f, 0.000888f, -0.000670f, -0.000656f, -0.000679f, 0.000045f, -0.000282f, 0.000380f, -0.000655f, 0.000468f, -0.001030f, 0.000304f, -0.000565f, -0.000038f, 0.000105f, -0.000409f, -0.000560f, -0.000712f, -0.000668f, -0.000886f, 0.000111f, -0.000808f, 0.005531f, 0.005748f, -0.002123f, 0.001915f, -0.002331f, 0.000361f, 0.000710f, 0.000064f, -0.000931f, 0.001074f, 0.000276f, 0.002279f, 0.001190f, 0.002573f, -0.000391f, 0.001519f, -0.000410f, 0.000972f, 0.001356f, -0.000179f, -0.001874f, 0.001793f, -0.000193f, 0.000756f, -0.000417f, 0.000001f, + 0.000259f, 0.002192f, 0.000329f, -0.001185f, -0.000400f, 0.000292f, -0.000652f, 0.001654f, 0.000708f, -0.000254f, -0.000426f, -0.000931f, 0.000739f, -0.000912f, 0.000943f, 0.000990f, -0.000725f, 0.000570f, 0.000515f, 0.000267f, -0.000070f, 0.001606f, 0.000994f, 0.001177f, -0.000042f, 0.000147f, 0.000529f, -0.000337f, -0.000129f, -0.000105f, -0.000343f, -0.000004f, 0.000088f, 0.000151f, -0.000282f, -0.000660f, -0.000691f, 0.016813f, -0.006003f, 0.002085f, -0.002806f, 0.001914f, -0.001848f, 0.002460f, -0.000844f, 0.000115f, -0.001845f, 0.003693f, -0.000531f, 0.003328f, 0.000208f, 0.000570f, -0.002230f, 0.000796f, 0.003346f, -0.001029f, -0.002816f, 0.000416f, 0.000120f, 0.001306f, -0.002030f, 0.001664f, -0.000016f, 0.000146f, -0.000176f, -0.001960f, -0.000575f, 0.000327f, -0.002355f, 0.000391f, 0.000960f, 0.000788f, -0.000661f, -0.000187f, -0.000087f, 0.001105f, 0.000334f, -0.000188f, -0.000482f, 0.000861f, 0.000595f, 0.002138f, 0.000553f, -0.000318f, 0.001195f, 0.000479f, -0.000122f, 0.000395f, 0.000907f, 0.000598f, 0.000126f, 0.000144f, -0.000693f, 0.000150f, -0.000067f, 0.000886f, + -0.000091f, 0.000351f, -0.000096f, 0.000315f, 0.005629f, -0.008132f, 0.004872f, -0.003616f, 0.001521f, 0.000550f, -0.000369f, -0.000307f, 0.000967f, -0.002047f, -0.001302f, -0.001060f, -0.000826f, -0.002799f, 0.001418f, -0.002600f, -0.000105f, -0.002080f, 0.000764f, -0.001566f, -0.001234f, -0.000623f, 0.002365f, 0.000332f, 0.002301f, 0.001209f, 0.001577f, 0.002278f, 0.000118f, -0.000289f, -0.000349f, 0.000642f, 0.001750f, -0.000146f, -0.000128f, -0.001169f, 0.000888f, -0.000142f, -0.000699f, 0.000649f, 0.000540f, 0.001828f, 0.000746f, 0.000862f, -0.001295f, -0.000602f, -0.000076f, -0.000240f, 0.000891f, -0.002616f, 0.000565f, -0.000643f, -0.000442f, -0.000811f, -0.000919f, -0.000310f, -0.000909f, 0.000370f, -0.000636f, -0.000104f, -0.001381f, -0.001355f, -0.000001f, -0.017258f, -0.003771f, 0.000791f, -0.003274f, -0.001353f, 0.000139f, -0.000104f, -0.002790f, 0.000798f, -0.002779f, 0.000080f, 0.002235f, -0.000418f, -0.000372f, 0.001226f, 0.000804f, 0.001248f, 0.000073f, 0.001510f, -0.000838f, 0.000427f, 0.001753f, -0.000121f, -0.000110f, -0.001151f, 0.001669f, -0.001295f, -0.000710f, 0.000435f, + 0.000676f, 0.001272f, 0.003932f, -0.001079f, -0.000639f, -0.001697f, 0.000097f, -0.001251f, 0.000299f, -0.000501f, -0.001849f, -0.000118f, 0.002368f, 0.000664f, -0.001594f, -0.000796f, 0.000787f, -0.000970f, -0.001208f, 0.000223f, -0.000569f, 0.000136f, 0.000252f, 0.001487f, 0.000215f, 0.000728f, 0.000394f, -0.001258f, -0.000640f, 0.000783f, 0.000739f, -0.000509f, 0.000442f, -0.000103f, -0.021154f, 0.017460f, -0.006103f, 0.005188f, -0.003822f, 0.002922f, -0.001109f, 0.001861f, -0.002028f, 0.001249f, 0.001457f, 0.002107f, -0.001371f, 0.002551f, 0.001262f, 0.004340f, -0.000679f, 0.000366f, -0.002297f, 0.000583f, -0.000805f, -0.001435f, -0.001779f, -0.002047f, -0.001886f, 0.002814f, -0.000127f, 0.003379f, 0.000877f, 0.000620f, -0.000057f, 0.000431f, -0.001491f, 0.000240f, -0.000544f, 0.000704f, 0.002002f, 0.000359f, 0.000660f, 0.000119f, 0.000209f, -0.001521f, -0.000833f, -0.000058f, -0.000116f, 0.000204f, -0.000464f, -0.001401f, 0.000034f, 0.001505f, -0.000484f, 0.000444f, 0.000438f, -0.001242f, 0.000854f, 0.000368f, 0.000470f, -0.000255f, 0.000142f, -0.000135f, -0.000388f, 0.000111f, + 0.001352f, 0.012327f, -0.001896f, -0.003977f, -0.001382f, -0.000838f, -0.000639f, -0.003504f, -0.001840f, 0.000977f, 0.000601f, 0.001000f, 0.001247f, -0.002355f, 0.000952f, -0.000462f, 0.000847f, 0.003777f, -0.003817f, 0.001320f, 0.001324f, 0.001028f, -0.000983f, -0.002209f, 0.001725f, 0.000514f, 0.001236f, 0.002328f, 0.000007f, 0.003209f, 0.000283f, 0.001492f, 0.000130f, 0.001013f, -0.000876f, 0.001214f, 0.000880f, 0.001159f, -0.000441f, 0.000386f, -0.000086f, 0.001486f, 0.001837f, -0.002713f, 0.003667f, 0.000313f, 0.001029f, 0.000163f, 0.000644f, 0.000713f, -0.000766f, 0.002198f, 0.001192f, 0.000088f, 0.002017f, 0.000859f, -0.001099f, -0.000089f, -0.000733f, -0.000794f, -0.000594f, 0.000369f, -0.000149f, 0.000128f, -0.000041f, -0.002240f, 0.001163f, -0.000885f, 0.000325f, -0.000298f, -0.000123f, -0.000552f, -0.000311f, 0.009770f, 0.000855f, 0.001991f, -0.002527f, -0.000478f, -0.006278f, 0.001502f, -0.000300f, -0.004266f, 0.003579f, -0.001974f, 0.000128f, 0.002627f, 0.001182f, 0.001973f, -0.001509f, 0.000872f, -0.001979f, 0.000040f, -0.001693f, 0.000635f, -0.002573f, 0.003691f, + 0.002663f, 0.002180f, 0.002540f, 0.000567f, -0.000839f, -0.001593f, 0.000719f, 0.002028f, 0.000006f, 0.001383f, -0.000997f, 0.000283f, 0.001343f, 0.000950f, 0.001209f, 0.000088f, 0.000435f, -0.000150f, -0.000860f, 0.000859f, -0.000595f, 0.000403f, 0.000354f, -0.000879f, 0.001202f, -0.001625f, 0.001457f, -0.000761f, 0.001031f, 0.001572f, -0.001914f, 0.000194f, 0.000225f, -0.000781f, -0.001507f, 0.001069f, -0.002446f, -0.001891f, 0.001178f, 0.000497f, 0.000551f, 0.000476f, 0.001528f, 0.001468f, -0.000528f, 0.000207f, 0.000894f, -0.000352f, -0.000003f, 0.015411f, -0.012811f, 0.004347f, -0.003188f, 0.001129f, 0.004004f, 0.003256f, -0.002147f, 0.003904f, 0.002199f, 0.002359f, -0.001615f, 0.001099f, -0.000824f, 0.004635f, 0.001289f, 0.001311f, 0.001795f, 0.001963f, 0.001244f, 0.001342f, -0.003806f, 0.000612f, -0.006880f, -0.002393f, -0.000638f, -0.003941f, 0.000991f, 0.002115f, -0.001486f, -0.002137f, -0.002514f, -0.002414f, -0.001288f, 0.001388f, 0.001095f, -0.003504f, -0.004054f, -0.000311f, -0.002068f, 0.001107f, 0.000901f, 0.000387f, -0.000290f, 0.001919f, -0.001007f, 0.000098f, + -0.000267f, -0.000859f, -0.002604f, 0.002019f, 0.003427f, -0.000463f, -0.000429f, 0.001612f, -0.002415f, 0.002933f, 0.000757f, -0.001486f, -0.000055f, -0.001380f, -0.000581f, -0.000349f, -0.000987f, -0.000264f, -0.000667f, -0.002021f, 0.000527f, 0.000726f, 0.000683f, 0.000720f, 0.000232f, -0.023850f, 0.002367f, -0.002129f, 0.000875f, 0.002430f, 0.001744f, 0.004864f, -0.002001f, -0.000170f, 0.000391f, 0.005823f, 0.002021f, -0.004564f, -0.002983f, 0.002568f, 0.003443f, -0.000866f, -0.001304f, -0.000097f, 0.001587f, 0.003559f, 0.003615f, -0.000054f, -0.006480f, -0.001876f, -0.000672f, -0.000780f, 0.003754f, -0.001729f, 0.002190f, 0.000213f, -0.000416f, -0.003363f, 0.000261f, 0.002673f, -0.004304f, -0.002523f, -0.001017f, -0.000756f, -0.002045f, -0.001707f, -0.004025f, -0.000746f, -0.002732f, 0.000022f, 0.000582f, 0.002892f, -0.001983f, -0.001306f, 0.000241f, -0.000296f, 0.000443f, -0.002503f, 0.000971f, 0.000942f, 0.000303f, 0.000135f, -0.001898f, -0.001720f, -0.000964f, -0.000545f, -0.000159f, -0.003234f, 0.000646f, 0.000934f, -0.001404f, -0.002974f, 0.001175f, -0.000151f, -0.001499f, -0.000301f, + -0.000703f, -0.000503f, 0.001865f, -0.014008f, 0.014866f, -0.002124f, 0.000938f, 0.003502f, 0.004200f, -0.003165f, 0.002022f, 0.000799f, 0.002594f, 0.001757f, 0.003662f, 0.002069f, -0.002480f, -0.004122f, 0.000586f, 0.004361f, 0.008712f, -0.002107f, -0.002959f, 0.002280f, 0.001415f, -0.001667f, -0.004292f, -0.000876f, -0.000863f, -0.003886f, 0.003401f, 0.004048f, 0.000064f, 0.000939f, -0.000080f, 0.003182f, -0.002485f, -0.007704f, 0.003248f, -0.000928f, 0.002577f, 0.001231f, 0.000109f, -0.001911f, -0.002960f, 0.002047f, 0.002427f, 0.001768f, -0.000344f, -0.000162f, 0.002669f, 0.001494f, 0.000823f, -0.001594f, 0.002247f, 0.001872f, -0.000311f, -0.000587f, -0.001302f, 0.001535f, 0.000050f, -0.003804f, 0.003128f, 0.001867f, -0.000708f, 0.000893f, -0.000473f, 0.000098f, -0.000072f, 0.000924f, 0.000246f, 0.001137f, 0.001845f, 0.000982f, -0.000281f, -0.001121f, -0.000737f, 0.002657f, 0.001058f, -0.000503f, -0.000815f, -0.000134f, 0.004188f, 0.000172f, -0.003224f, -0.006604f, 0.001598f, -0.000344f, -0.005449f, 0.001842f, -0.001805f, 0.000255f, -0.002063f, -0.001608f, 0.001718f, 0.004149f, + 0.000512f, 0.005496f, 0.002494f, -0.002766f, -0.003635f, 0.006014f, -0.002607f, -0.000192f, 0.000538f, -0.005644f, -0.000042f, 0.002987f, -0.003275f, -0.000868f, 0.003780f, 0.000240f, 0.001975f, 0.000059f, 0.002489f, -0.000420f, -0.001689f, -0.000226f, 0.003305f, 0.004463f, -0.001463f, 0.000907f, 0.000776f, 0.002977f, -0.001772f, -0.000311f, 0.000580f, -0.000752f, 0.001931f, 0.000874f, 0.000160f, -0.001013f, 0.001545f, 0.001718f, 0.000089f, 0.000085f, 0.001285f, 0.002009f, -0.002412f, -0.000008f, 0.000673f, 0.001103f, -0.001235f, 0.001000f, 0.000495f, 0.000036f, 0.000700f, -0.000762f, 0.000336f, 0.000799f, 0.001666f, 0.002014f, -0.001624f, 0.000184f, 0.031279f, -0.002987f, 0.000540f, 0.001968f, -0.002784f, -0.004826f, -0.002796f, -0.001185f, -0.005491f, -0.005900f, 0.000476f, -0.005223f, -0.002282f, -0.001493f, -0.001268f, 0.003244f, 0.003780f, 0.001210f, 0.007888f, 0.001449f, -0.003870f, 0.006796f, -0.000654f, 0.004819f, -0.001508f, -0.000482f, -0.004436f, 0.000192f, 0.003975f, -0.000113f, -0.001898f, -0.000743f, 0.000430f, -0.000968f, -0.000808f, 0.001547f, -0.003526f, 0.001463f, + 0.000561f, -0.001663f, -0.003343f, -0.002264f, 0.002627f, 0.002581f, 0.003082f, -0.005132f, 0.002923f, 0.000816f, -0.000093f, 0.000255f, 0.000542f, 0.000589f, 0.000700f, -0.000419f, 0.000307f, 0.002744f, -0.000736f, 0.001091f, 0.001310f, -0.001116f, 0.002294f, 0.002608f, 0.000466f, -0.000212f, 0.002425f, 0.001724f, 0.001354f, 0.001629f, -0.001976f, -0.000913f, 0.000499f, -0.000205f, -0.000263f, 0.000150f, 0.001105f, 0.000304f, -0.001914f, -0.018376f, -0.030813f, 0.011131f, -0.000800f, 0.004619f, -0.005408f, 0.000235f, -0.006262f, -0.000830f, -0.009021f, 0.003870f, 0.004134f, -0.000222f, -0.000720f, -0.000134f, 0.000819f, -0.002176f, -0.007694f, 0.014109f, 0.000961f, -0.001834f, 0.004826f, 0.000838f, -0.002574f, 0.006761f, 0.007520f, -0.003264f, 0.004428f, 0.000839f, -0.000981f, -0.007096f, -0.003892f, 0.005499f, -0.002863f, 0.000753f, -0.000402f, 0.003729f, -0.005787f, -0.006512f, 0.000897f, 0.000066f, -0.004404f, 0.002616f, 0.000517f, -0.002766f, 0.001914f, -0.003044f, -0.002533f, 0.001164f, 0.001128f, 0.000127f, -0.000830f, -0.001454f, 0.001774f, 0.002987f, 0.000418f, 0.000915f, + -0.000891f, -0.000904f, 0.002616f, 0.000279f, 0.000568f, -0.002728f, -0.000644f, -0.001835f, 0.001460f, 0.002167f, -0.000004f, 0.001776f, -0.000050f, 0.002379f, -0.001981f, 0.001173f, -0.000052f, -0.000159f, -0.001873f, -0.000064f, -0.001609f, -0.000255f, -0.009906f, 0.029760f, -0.013222f, 0.002227f, 0.001946f, 0.007463f, -0.000949f, 0.004766f, -0.004710f, 0.000292f, -0.009030f, -0.001726f, 0.000043f, 0.003640f, 0.000602f, 0.003749f, -0.002590f, -0.005480f, 0.000707f, -0.008244f, -0.008693f, 0.000257f, -0.002858f, -0.000154f, 0.000741f, 0.001252f, -0.002157f, -0.001434f, -0.003105f, -0.004697f, 0.001892f, 0.002289f, -0.006129f, -0.002764f, -0.007703f, 0.000132f, -0.003404f, 0.002779f, 0.003237f, -0.006334f, 0.000999f, 0.005250f, 0.004713f, -0.002431f, 0.001716f, -0.001792f, -0.000898f, 0.001491f, -0.002874f, -0.000601f, 0.002673f, 0.002105f, 0.001831f, 0.002264f, 0.001199f, -0.000649f, 0.001764f, 0.001183f, -0.001324f, -0.000049f, 0.003600f, -0.000358f, -0.001661f, -0.000507f, 0.001483f, -0.001523f, -0.003688f, -0.000246f, -0.001290f, 0.000963f, 0.000781f, -0.000516f, -0.001496f, -0.002199f, + -0.002601f, 0.002654f, -0.000885f, -0.000082f, -0.000586f, -0.000165f, -0.000328f, -0.024587f, -0.007617f, 0.002768f, -0.003888f, 0.003509f, -0.001623f, 0.000034f, -0.007248f, -0.008707f, -0.001184f, -0.003048f, 0.003644f, 0.001039f, -0.001061f, -0.017996f, 0.009032f, 0.000642f, 0.007871f, 0.009792f, 0.006772f, -0.009408f, -0.002299f, -0.000910f, -0.002351f, 0.002031f, 0.002231f, -0.000161f, -0.003430f, 0.003807f, -0.006366f, -0.003401f, 0.005647f, 0.000292f, -0.002435f, 0.006612f, 0.000146f, 0.006936f, -0.002399f, -0.001108f, 0.000823f, 0.002174f, -0.004967f, -0.003665f, -0.000875f, 0.003908f, -0.001424f, 0.000636f, -0.001565f, 0.002613f, 0.003274f, 0.000638f, 0.000174f, -0.005758f, -0.000601f, 0.002822f, 0.003160f, -0.001801f, 0.003540f, 0.001169f, -0.000980f, 0.000927f, -0.003597f, -0.001122f, -0.002407f, 0.002376f, 0.000372f, -0.000838f, 0.000856f, -0.006141f, 0.000039f, 0.001175f, 0.002942f, 0.000974f, -0.001611f, 0.002850f, 0.000270f, -0.003868f, -0.001762f, -0.001981f, -0.000546f, 0.000822f, 0.015736f, 0.005306f, -0.009468f, -0.001618f, -0.004080f, 0.003295f, -0.005717f, 0.004777f, + -0.001067f, 0.005556f, 0.003858f, 0.006746f, -0.009074f, 0.010907f, -0.006694f, 0.006387f, -0.003664f, 0.003835f, 0.000716f, 0.003259f, -0.005806f, -0.013289f, 0.005161f, 0.009283f, -0.003365f, 0.003823f, -0.004715f, 0.001135f, -0.003097f, 0.009762f, -0.000095f, -0.000936f, 0.002323f, -0.004702f, -0.003293f, -0.002745f, 0.004271f, 0.000072f, -0.001575f, 0.000034f, -0.000843f, 0.006717f, 0.004484f, -0.002472f, 0.002168f, 0.002574f, -0.002777f, -0.001581f, -0.002501f, -0.005038f, -0.000698f, 0.000133f, -0.000686f, -0.001835f, -0.005140f, -0.000184f, 0.007852f, 0.004287f, -0.003279f, 0.004409f, -0.000468f, -0.000049f, 0.003681f, 0.001949f, -0.003743f, 0.001440f, 0.000837f, 0.003893f, 0.004637f, -0.003656f, 0.001674f, 0.002730f, 0.003541f, -0.000289f, -0.000101f, -0.001248f, -0.000645f, 0.002012f, -0.000322f, 0.003638f, -0.000810f, 0.033311f, -0.027211f, -0.004587f, 0.001331f, -0.000553f, -0.007542f, 0.002492f, 0.001938f, 0.010617f, -0.003515f, 0.002063f, 0.008720f, 0.000207f, 0.005232f, 0.017265f, -0.003788f, -0.001157f, -0.009031f, -0.008449f, 0.000356f, 0.002830f, -0.003827f, 0.001610f, + 0.015219f, 0.008790f, 0.001237f, 0.000545f, 0.001212f, 0.008408f, -0.007070f, -0.003146f, -0.000420f, 0.004321f, -0.000704f, 0.001015f, -0.003600f, 0.001317f, -0.006372f, -0.003763f, -0.004824f, 0.000046f, -0.004323f, 0.000996f, -0.007679f, 0.003498f, -0.015316f, -0.003946f, 0.002071f, 0.002792f, -0.000598f, -0.003557f, 0.001158f, 0.000419f, 0.001808f, -0.004216f, 0.001837f, -0.002482f, -0.002790f, -0.006781f, -0.005053f, -0.001518f, -0.000865f, 0.000297f, 0.001122f, 0.002128f, 0.000389f, 0.000998f, -0.004049f, -0.000064f, -0.004937f, -0.000777f, -0.000361f, 0.000094f, 0.001614f, 0.004869f, -0.003091f, -0.001407f, -0.000345f, -0.002656f, -0.004556f, 0.000975f, -0.021140f, -0.014733f, -0.001146f, -0.003034f, 0.010991f, 0.000300f, 0.001984f, -0.013896f, 0.000657f, 0.001838f, 0.000735f, 0.001003f, 0.008288f, -0.010465f, 0.002143f, -0.002284f, -0.007228f, -0.003541f, 0.006557f, -0.002379f, 0.005328f, -0.001904f, 0.003062f, 0.001627f, -0.001175f, -0.000884f, 0.003474f, -0.000541f, -0.000113f, -0.008969f, 0.004344f, 0.003926f, 0.003707f, 0.004278f, -0.008060f, -0.008307f, 0.004734f, 0.007086f, + -0.008662f, 0.003102f, 0.001166f, 0.007364f, 0.004206f, 0.000649f, 0.004925f, -0.002694f, -0.005258f, -0.000847f, -0.010073f, -0.007369f, -0.000891f, -0.000435f, 0.001510f, -0.004835f, 0.001583f, -0.003891f, -0.012890f, -0.003822f, -0.003537f, -0.012705f, -0.000063f, -0.002130f, -0.001562f, 0.001379f, 0.003849f, -0.003785f, 0.002340f, 0.001541f, -0.005796f, -0.003713f, -0.004476f, -0.001003f, -0.001389f, -0.000184f, -0.001901f, 0.002357f, -0.002867f, -0.000773f, -0.002450f, 0.004087f, -0.004687f, 0.002675f, -0.000818f, -0.001083f, 0.000159f, 0.001106f, -0.001173f, -0.013165f, 0.020018f, -0.010526f, -0.004497f, -0.006161f, 0.001575f, 0.001712f, 0.002943f, -0.001281f, 0.008734f, 0.006581f, -0.006288f, -0.011157f, 0.004165f, -0.004194f, 0.010246f, 0.000833f, 0.004371f, 0.005375f, -0.003888f, -0.003775f, 0.013617f, -0.007816f, -0.001891f, -0.003972f, 0.000472f, -0.001642f, 0.001802f, -0.002314f, -0.000913f, -0.010517f, 0.009267f, -0.003244f, -0.000832f, 0.010967f, -0.007523f, -0.009481f, 0.000852f, -0.004302f, -0.006242f, -0.000041f, -0.003203f, 0.002485f, -0.013681f, -0.004543f, -0.003364f, -0.000323f, + 0.004808f, 0.000068f, 0.000951f, 0.002500f, -0.002356f, 0.001913f, 0.003208f, 0.002791f, 0.003043f, -0.001738f, -0.002911f, -0.002520f, 0.003460f, -0.008260f, -0.001823f, -0.001934f, -0.002060f, 0.005431f, -0.003682f, -0.005771f, 0.005850f, 0.001809f, 0.003514f, 0.006979f, -0.002570f, -0.002299f, 0.003417f, -0.003736f, -0.004780f, -0.004360f, 0.002587f, 0.002024f, -0.002609f, 0.002428f, 0.000776f, 0.002860f, 0.000483f, -0.005198f, 0.003474f, -0.001706f, -0.027533f, 0.013750f, 0.014815f, 0.007582f, 0.006884f, -0.004940f, 0.006997f, -0.011906f, 0.000373f, -0.013986f, -0.001855f, -0.006117f, 0.006467f, -0.006699f, -0.005566f, -0.001540f, -0.010266f, 0.002987f, -0.004706f, 0.004501f, -0.009639f, 0.016011f, -0.005297f, 0.007551f, -0.006612f, 0.000620f, -0.006625f, -0.002137f, 0.003602f, 0.010241f, 0.011486f, -0.005798f, 0.000012f, -0.003437f, -0.006115f, -0.004674f, -0.016479f, -0.000428f, 0.002722f, -0.015506f, 0.005999f, 0.003015f, 0.004203f, 0.007367f, 0.004632f, 0.002445f, -0.005233f, -0.001739f, -0.005833f, -0.002983f, 0.003064f, -0.012413f, 0.004842f, 0.002379f, 0.000754f, -0.005890f, + -0.003487f, 0.003133f, 0.009935f, 0.004150f, 0.002540f, -0.003980f, 0.004120f, 0.000530f, -0.004774f, 0.001226f, -0.003465f, -0.005450f, -0.002855f, -0.001328f, -0.004933f, 0.005513f, 0.003113f, 0.004475f, 0.002474f, -0.004130f, 0.001299f, 0.006899f, -0.001419f, 0.006403f, 0.003385f, 0.002329f, 0.004311f, -0.002337f, -0.002656f, 0.001619f, 0.001087f, 0.022785f, -0.015698f, -0.006594f, -0.002015f, -0.000096f, 0.011082f, -0.002127f, 0.003613f, -0.006426f, 0.003415f, -0.004005f, -0.018046f, -0.012417f, -0.004643f, 0.006430f, -0.000800f, -0.009988f, -0.009364f, -0.019685f, -0.006372f, 0.002482f, 0.002628f, 0.000874f, -0.002055f, -0.001194f, -0.006126f, 0.001560f, 0.002526f, 0.003302f, 0.000732f, -0.000936f, -0.002389f, -0.009412f, -0.002426f, -0.002169f, 0.004681f, -0.001020f, -0.007518f, -0.002978f, 0.002129f, -0.008445f, 0.001404f, -0.008708f, 0.004788f, 0.006737f, -0.006479f, -0.012585f, -0.002467f, -0.003986f, -0.005787f, 0.000563f, 0.001092f, 0.001194f, 0.003037f, 0.000116f, -0.004972f, 0.007826f, 0.012172f, -0.005937f, 0.005020f, 0.002002f, 0.005742f, -0.008893f, 0.003289f, 0.001079f, + 0.003107f, -0.012773f, 0.010012f, 0.001175f, 0.001081f, -0.001594f, -0.007326f, 0.001845f, 0.000865f, 0.001738f, 0.002164f, -0.007979f, -0.004250f, 0.001518f, 0.003666f, -0.002053f, -0.000069f, 0.002902f, 0.001105f, -0.001477f, -0.003867f, 0.002706f, 0.037102f, -0.020680f, 0.001932f, -0.002051f, -0.004378f, -0.015425f, -0.000798f, -0.000828f, 0.012614f, 0.005777f, 0.025446f, -0.010079f, 0.001016f, 0.002803f, 0.006125f, -0.002577f, -0.001133f, 0.010322f, -0.006426f, 0.014845f, 0.009029f, -0.020589f, 0.019684f, 0.006942f, -0.007047f, -0.005104f, -0.007690f, -0.004018f, 0.001452f, 0.000915f, -0.005516f, 0.013063f, 0.001714f, -0.006245f, -0.005496f, 0.001282f, -0.006814f, -0.012106f, 0.000158f, 0.007236f, 0.002918f, 0.008797f, -0.004044f, 0.002739f, 0.009459f, 0.013551f, 0.003236f, -0.014021f, 0.004641f, -0.004514f, -0.007692f, 0.002041f, 0.005969f, 0.003407f, -0.001676f, -0.012730f, -0.011108f, 0.015695f, -0.002038f, 0.012128f, 0.001423f, -0.004784f, 0.005980f, -0.010527f, -0.004628f, 0.005067f, -0.001329f, 0.010428f, -0.008360f, -0.016628f, -0.004639f, -0.000824f, -0.005078f, -0.003995f, + 0.010365f, -0.003471f, 0.001927f, -0.009502f, -0.009245f, 0.004523f, 0.002405f, 0.003808f, -0.004015f, 0.003887f, 0.000421f, -0.002230f, -0.000457f, -0.041951f, -0.027308f, 0.009837f, -0.014256f, 0.004368f, -0.007193f, -0.025440f, -0.018860f, 0.033635f, -0.015684f, 0.015111f, 0.008476f, -0.008964f, 0.007728f, -0.005150f, 0.010494f, 0.011643f, -0.000902f, -0.003492f, 0.020100f, -0.006725f, -0.023014f, 0.000228f, -0.009722f, 0.002188f, 0.002022f, 0.013549f, 0.007117f, 0.002702f, 0.006562f, -0.006311f, -0.000143f, 0.014849f, 0.009444f, -0.002853f, 0.003718f, -0.013394f, -0.020622f, -0.015243f, -0.010701f, -0.003111f, -0.003061f, 0.003641f, -0.002059f, -0.005856f, 0.012976f, 0.003302f, -0.010015f, -0.009381f, -0.002810f, 0.003663f, -0.010090f, 0.003819f, 0.012095f, -0.000400f, 0.004436f, -0.008566f, 0.006378f, 0.004599f, 0.001355f, 0.004694f, -0.007556f, -0.011599f, -0.016266f, 0.007937f, 0.006192f, 0.000400f, 0.006144f, 0.001037f, -0.007549f, -0.001714f, 0.000408f, -0.013044f, -0.001329f, -0.020177f, -0.011163f, 0.003187f, -0.005272f, 0.003682f, 0.000315f, -0.002807f, -0.002892f, -0.002042f, + -0.003889f, 0.003391f, -0.000060f, -0.000752f, -0.049993f, 0.017027f, -0.003981f, -0.003287f, 0.008928f, 0.002184f, 0.004978f, 0.021769f, 0.012997f, 0.016437f, 0.008272f, 0.022449f, -0.003948f, -0.021891f, 0.003224f, -0.002474f, -0.009376f, -0.019397f, -0.008456f, 0.016928f, 0.003843f, -0.001191f, 0.003536f, -0.001311f, 0.000240f, 0.014259f, 0.001815f, 0.005276f, -0.002159f, 0.003510f, 0.014229f, -0.003960f, -0.009567f, 0.007203f, -0.016991f, -0.017103f, -0.010975f, -0.002190f, 0.000475f, 0.007044f, 0.016676f, 0.000225f, -0.005750f, -0.016653f, -0.027228f, -0.009618f, -0.003969f, -0.001663f, -0.000177f, 0.010016f, -0.012474f, 0.022441f, 0.011687f, -0.002174f, 0.006476f, -0.008891f, 0.001619f, 0.000146f, 0.010406f, 0.020045f, 0.013557f, -0.011860f, -0.004958f, 0.003321f, -0.001897f, -0.002557f, 0.001045f, -0.006143f, -0.019450f, -0.001511f, -0.003579f, -0.001433f, 0.003062f, -0.007616f, -0.002546f, -0.013317f, -0.001398f, 0.001828f, 0.013923f, 0.006789f, 0.001967f, 0.002209f, 0.003530f, 0.000402f, -0.011755f, 0.002392f, -0.002724f, 0.003109f, -0.001416f, -0.001584f, -0.006424f, 0.000969f, + -0.006770f, 0.020477f, 0.020727f, 0.007141f, 0.013919f, 0.010085f, 0.021742f, -0.018828f, 0.022598f, -0.027237f, -0.004655f, 0.025778f, 0.035288f, 0.007495f, -0.002072f, 0.012956f, -0.010637f, -0.012421f, 0.025574f, 0.004269f, -0.003753f, 0.006360f, 0.020593f, -0.005199f, 0.012695f, -0.003932f, -0.004953f, -0.002278f, 0.009388f, -0.023489f, -0.002719f, 0.011670f, -0.005081f, 0.001382f, -0.008203f, 0.005083f, 0.018910f, -0.017112f, 0.005757f, -0.004947f, 0.006301f, -0.008865f, 0.012765f, 0.001248f, 0.004728f, 0.005281f, -0.020775f, 0.010417f, -0.028994f, -0.005762f, 0.016722f, 0.001960f, -0.010235f, 0.018451f, -0.006119f, -0.010846f, 0.013448f, -0.005279f, -0.003597f, -0.001919f, 0.008202f, -0.001030f, 0.002310f, -0.015759f, 0.005988f, 0.001647f, 0.031360f, -0.023262f, -0.010009f, 0.002951f, -0.005828f, 0.007196f, 0.008990f, -0.011107f, 0.021997f, 0.008316f, 0.000107f, 0.003738f, 0.007508f, -0.003378f, -0.011610f, 0.004821f, -0.005887f, 0.002103f, -0.002194f, 0.005834f, -0.007281f, 0.002433f, 0.000289f, -0.003829f, 0.005228f, -0.001607f, -0.001113f, -0.000408f, 0.041784f, -0.026060f, + 0.001049f, -0.004139f, -0.006928f, 0.000898f, -0.009498f, -0.003991f, -0.030840f, -0.025804f, -0.025701f, 0.008661f, -0.005329f, 0.008560f, -0.005840f, -0.018674f, 0.029896f, 0.020845f, -0.013829f, -0.011609f, -0.016334f, -0.003387f, 0.006430f, 0.009888f, 0.012120f, -0.000816f, 0.009388f, -0.002653f, -0.011772f, -0.014376f, 0.009044f, -0.006528f, 0.027294f, 0.017113f, 0.025177f, 0.003573f, 0.009176f, 0.024794f, 0.017196f, -0.005401f, 0.004555f, -0.001070f, 0.000342f, 0.002656f, -0.011509f, -0.008276f, 0.004479f, -0.014401f, -0.014839f, 0.014429f, 0.016405f, -0.017922f, -0.000560f, 0.031929f, 0.022247f, -0.001109f, -0.010517f, -0.002290f, 0.006637f, 0.006027f, -0.004287f, -0.011848f, 0.014283f, -0.000925f, 0.003520f, 0.010242f, 0.012989f, -0.013538f, 0.005854f, -0.002194f, 0.005416f, -0.021063f, 0.003927f, 0.019076f, -0.018935f, -0.015546f, -0.008053f, 0.008489f, 0.015054f, -0.008458f, 0.008294f, -0.007287f, -0.000720f, 0.000467f, 0.003157f, 0.005660f, -0.002601f, -0.001131f, 0.003443f, 0.003191f, 0.000063f, -0.000397f, 0.002494f, 0.033849f, 0.013052f, -0.004486f, -0.001058f, 0.010637f, + -0.012626f, -0.016436f, 0.014157f, -0.019643f, -0.025434f, 0.006797f, -0.013629f, -0.017590f, -0.009151f, 0.016858f, 0.041329f, 0.017115f, -0.022425f, 0.042314f, 0.004955f, -0.006601f, 0.007669f, -0.024667f, 0.006330f, 0.003436f, -0.017650f, 0.015334f, -0.004708f, 0.003044f, -0.012691f, 0.007180f, -0.011593f, 0.021420f, -0.025290f, -0.009316f, -0.008699f, 0.012091f, 0.013992f, 0.012433f, -0.013411f, 0.003953f, -0.014022f, -0.004030f, 0.007567f, 0.017899f, 0.008320f, -0.008208f, 0.017487f, 0.008896f, 0.014120f, 0.000950f, 0.016450f, -0.007160f, 0.009126f, -0.024939f, 0.028093f, -0.002430f, 0.003971f, -0.007429f, -0.014542f, 0.000749f, 0.009432f, 0.022387f, 0.006655f, -0.026778f, 0.011492f, -0.010836f, 0.022132f, 0.001904f, -0.008347f, 0.004271f, -0.007207f, 0.004594f, -0.015516f, 0.006229f, 0.001564f, 0.001356f, 0.002575f, -0.003057f, 0.001688f, -0.004206f, -0.006455f, 0.008728f, 0.005557f, 0.005028f, -0.011479f, 0.003804f, -0.006188f, 0.005390f, 0.001298f, -0.000725f, 0.002789f, 0.001285f, -0.069152f, 0.003157f, 0.011692f, 0.027320f, 0.009043f, -0.042494f, 0.056852f, 0.020922f, + -0.025891f, 0.009468f, 0.056545f, 0.012807f, -0.013615f, -0.001584f, -0.034111f, 0.017702f, 0.001722f, -0.008615f, 0.005021f, 0.011845f, -0.022089f, 0.011995f, -0.027703f, 0.003075f, -0.025242f, -0.022635f, -0.009603f, 0.010852f, 0.016386f, -0.012307f, 0.014342f, -0.024555f, -0.003458f, 0.027897f, 0.002658f, -0.009855f, -0.003167f, 0.005578f, -0.006335f, -0.018163f, -0.020354f, -0.002546f, -0.009294f, 0.020208f, -0.028045f, 0.029976f, 0.009586f, 0.003994f, -0.009890f, -0.003092f, 0.013880f, -0.010982f, 0.018693f, 0.004807f, 0.016905f, -0.006009f, -0.009671f, -0.029258f, 0.010154f, -0.002770f, -0.030279f, 0.009320f, -0.001972f, 0.018695f, 0.029842f, -0.012360f, 0.006838f, 0.014897f, 0.015727f, 0.003430f, -0.009014f, -0.001550f, -0.036693f, -0.001568f, 0.003419f, 0.009312f, -0.000131f, 0.024944f, 0.005407f, 0.012527f, -0.013833f, -0.009692f, 0.018540f, -0.001644f, -0.003712f, 0.011450f, -0.002554f, -0.002881f, -0.000166f, -0.000351f, 0.001246f, -0.001732f, 0.010350f, 0.085614f, 0.038881f, 0.007884f, 0.013690f, -0.017862f, -0.012073f, -0.004425f, 0.032193f, -0.023260f, 0.003425f, -0.019398f, + -0.053057f, -0.025582f, 0.011853f, -0.013753f, 0.008463f, -0.021184f, -0.001315f, -0.022759f, 0.019046f, -0.023040f, -0.016638f, -0.049258f, -0.009392f, -0.007965f, -0.013128f, 0.025251f, -0.008546f, -0.020713f, 0.006403f, 0.019418f, 0.007055f, 0.006411f, -0.003187f, -0.004411f, -0.013198f, 0.009764f, -0.016918f, -0.004779f, -0.010606f, -0.029490f, 0.004205f, -0.020551f, 0.007942f, 0.002329f, -0.006192f, -0.000945f, -0.021526f, -0.001501f, -0.005085f, 0.030844f, -0.009202f, -0.001031f, 0.012427f, -0.017370f, -0.007816f, 0.031300f, -0.018677f, 0.011779f, 0.000595f, 0.027801f, 0.039702f, -0.002657f, 0.004933f, 0.003675f, 0.013590f, 0.006909f, -0.030690f, 0.002478f, 0.007480f, 0.010432f, -0.013261f, -0.020610f, 0.001911f, 0.005569f, -0.005523f, -0.008041f, -0.032896f, -0.016457f, -0.019011f, 0.000984f, 0.003915f, -0.006498f, -0.009193f, -0.010543f, -0.002714f, -0.005463f, -0.005926f, 0.006465f, -0.003413f, 0.002952f, -0.011961f, 0.000492f, -0.004743f, -0.008498f, 0.001712f, 0.004435f}, + {-0.000064f, -0.000019f, -0.000070f, 0.000004f, -0.000045f, 0.000103f, 0.000068f, -0.000324f, 0.000004f, -0.000211f, -0.000252f, 0.000067f, 0.000210f, 0.000205f, 0.000074f, -0.000463f, -0.000284f, 0.000093f, -0.000145f, 0.000025f, 0.000093f, 0.000121f, 0.000192f, -0.000140f, -0.000156f, -0.000287f, -0.000168f, -0.000000f, -0.000653f, -0.000012f, -0.000065f, -0.000187f, 0.000133f, -0.000371f, -0.000325f, -0.000655f, -0.000092f, -0.000575f, -0.000178f, -0.000012f, 0.000456f, 0.000128f, 0.000346f, -0.000175f, 0.000365f, -0.000094f, 0.000072f, 0.000319f, 0.001951f, -0.001521f, 0.000953f, -0.001201f, 0.000619f, -0.000584f, -0.000576f, -0.000345f, -0.000326f, 0.000356f, 0.000407f, -0.001488f, -0.000078f, 0.000224f, -0.000146f, -0.000246f, -0.000870f, -0.000314f, 0.000626f, 0.000948f, 0.000476f, 0.001492f, 0.000305f, -0.000260f, 0.000308f, 0.000262f, -0.000149f, 0.000491f, 0.001061f, -0.000401f, -0.000008f, 0.000456f, -0.000011f, -0.000097f, -0.000754f, -0.000024f, 0.000387f, 0.000313f, 0.000065f, 0.000027f, -0.000249f, 0.000273f, -0.000025f, 0.000039f, 0.000018f, -0.000253f, 0.007069f, -0.000456f, + 0.000620f, -0.000443f, 0.000460f, -0.000532f, 0.000117f, -0.000127f, -0.000121f, 0.000410f, -0.000369f, -0.001278f, 0.000374f, 0.000137f, 0.000401f, 0.000872f, 0.000468f, 0.000316f, -0.000112f, -0.000739f, -0.000251f, 0.000346f, -0.000097f, -0.000116f, 0.000729f, -0.000915f, -0.000288f, -0.000011f, -0.000153f, -0.000223f, 0.000353f, 0.000387f, 0.000477f, 0.000138f, 0.000173f, -0.000189f, 0.000660f, -0.000025f, 0.000508f, 0.000359f, -0.000113f, -0.000061f, 0.000243f, 0.000010f, -0.000137f, -0.000063f, 0.000012f, 0.005193f, -0.004960f, 0.000779f, -0.001340f, 0.000719f, -0.000090f, 0.000519f, -0.000475f, 0.000934f, -0.000396f, 0.000566f, -0.001184f, 0.000047f, -0.000687f, 0.000197f, -0.000108f, -0.000162f, -0.000318f, -0.000872f, -0.000088f, 0.000103f, -0.000429f, 0.000714f, -0.000322f, -0.000519f, -0.000655f, 0.000392f, -0.000419f, 0.001015f, -0.000106f, 0.000003f, 0.000300f, 0.000004f, 0.000023f, -0.000453f, -0.000380f, -0.000106f, 0.000104f, -0.000174f, -0.000436f, 0.000387f, 0.000279f, 0.000697f, -0.000161f, 0.000229f, -0.000096f, 0.000129f, -0.012182f, 0.001429f, -0.000914f, 0.000026f, + -0.000142f, -0.001022f, 0.001104f, -0.000273f, 0.000098f, 0.000467f, 0.000141f, 0.001280f, -0.000064f, -0.000523f, 0.001535f, 0.000620f, 0.001385f, -0.000029f, -0.001838f, -0.001100f, -0.000887f, 0.000758f, -0.000959f, 0.000080f, -0.000350f, -0.000325f, 0.000110f, 0.000285f, -0.000280f, -0.000577f, -0.000430f, 0.000371f, 0.000418f, 0.000801f, -0.000066f, -0.000112f, -0.000052f, 0.000496f, -0.000558f, 0.000144f, 0.000218f, 0.000367f, -0.000455f, 0.000474f, -0.000552f, -0.000098f, 0.000182f, -0.015385f, 0.005576f, -0.002247f, 0.002579f, -0.001791f, 0.001184f, -0.001941f, 0.001104f, -0.001441f, 0.000558f, 0.001073f, 0.000055f, 0.000412f, 0.000984f, -0.000632f, 0.000708f, -0.000811f, -0.000597f, -0.001790f, 0.001634f, -0.001051f, 0.001096f, 0.000083f, -0.000003f, -0.001717f, -0.000059f, 0.000333f, -0.000241f, -0.000055f, -0.000060f, 0.000719f, -0.000103f, -0.000502f, 0.000546f, 0.000167f, -0.000215f, 0.000038f, 0.000028f, 0.000064f, 0.000317f, -0.000462f, 0.001198f, -0.000094f, -0.000744f, -0.000075f, -0.000403f, -0.000040f, 0.000774f, 0.007013f, -0.001488f, 0.002671f, -0.001202f, 0.000927f, + -0.000972f, 0.003324f, -0.000621f, 0.001780f, -0.000186f, -0.000115f, 0.000464f, 0.000013f, -0.002257f, 0.000531f, -0.000188f, -0.001011f, -0.000231f, 0.000053f, -0.002843f, -0.000065f, 0.000254f, 0.000919f, -0.000004f, -0.000530f, -0.000092f, 0.000994f, 0.000199f, -0.000472f, -0.000943f, 0.001486f, -0.000894f, -0.000022f, -0.001341f, -0.000137f, 0.000024f, 0.000250f, -0.000310f, 0.000374f, 0.000609f, -0.000564f, 0.000488f, -0.000009f, 0.000394f, -0.000008f, 0.000696f, -0.000328f, -0.000183f, 0.000620f, 0.018465f, -0.005382f, 0.000805f, -0.000911f, 0.001216f, 0.000015f, -0.000012f, -0.002481f, 0.001115f, -0.001083f, 0.000763f, 0.000268f, 0.000393f, 0.000803f, 0.001251f, 0.000195f, 0.000438f, -0.002087f, 0.000771f, 0.000775f, -0.001341f, -0.000259f, 0.001419f, 0.000918f, 0.000908f, 0.002010f, 0.001129f, 0.000295f, 0.000538f, -0.000750f, 0.000643f, -0.000178f, 0.001161f, 0.001503f, -0.000206f, 0.000508f, 0.000950f, -0.000396f, 0.000332f, -0.001306f, -0.000346f, 0.001308f, 0.000028f, -0.000917f, -0.000308f, 0.000395f, 0.000975f, -0.000068f, 0.000555f, -0.000007f, 0.001309f, -0.009877f, + 0.004152f, -0.002883f, 0.001876f, -0.001716f, 0.002215f, -0.001449f, 0.000088f, -0.001234f, -0.001519f, -0.002122f, 0.000142f, -0.001262f, 0.000604f, 0.000703f, 0.001592f, -0.002618f, 0.001605f, -0.000630f, 0.002231f, 0.000486f, -0.000139f, 0.000171f, 0.000165f, -0.000534f, -0.000455f, 0.000334f, -0.001073f, 0.000695f, 0.001258f, -0.001725f, -0.000387f, -0.000109f, 0.000683f, -0.000662f, 0.001802f, -0.001894f, 0.000357f, -0.000009f, 0.000105f, -0.000818f, 0.000119f, -0.000516f, 0.000469f, 0.000067f, 0.000082f, -0.000584f, -0.000111f, -0.001204f, -0.000416f, -0.000075f, 0.000253f, 0.000086f, -0.000449f, -0.001522f, -0.015921f, 0.005041f, -0.003263f, -0.000222f, -0.000668f, 0.000991f, -0.002752f, 0.000189f, 0.000868f, 0.000717f, -0.000965f, 0.000539f, -0.001231f, -0.002019f, -0.000791f, 0.000247f, -0.001210f, 0.004215f, 0.000110f, -0.001178f, -0.000390f, -0.001418f, -0.000667f, 0.001283f, 0.000766f, 0.001666f, -0.000158f, 0.000739f, -0.000950f, 0.000381f, -0.000860f, -0.000298f, -0.000506f, 0.000274f, 0.000516f, -0.000275f, -0.000816f, 0.000193f, 0.000299f, 0.001151f, -0.000208f, -0.000433f, + -0.001514f, -0.001240f, -0.000593f, -0.000246f, 0.000278f, 0.000197f, -0.000623f, -0.000263f, 0.000107f, 0.000546f, 0.000282f, 0.000089f, -0.000276f, 0.000555f, -0.015328f, 0.007183f, -0.003396f, 0.003202f, -0.001680f, 0.001894f, 0.000935f, 0.000574f, -0.001750f, 0.000206f, -0.000895f, 0.000254f, -0.002289f, 0.000851f, 0.001422f, 0.000456f, -0.002436f, -0.001211f, -0.001229f, -0.001279f, -0.000841f, 0.001734f, 0.000411f, 0.001219f, 0.000976f, -0.000437f, -0.000106f, -0.001842f, 0.002361f, -0.000681f, -0.000246f, 0.000145f, -0.000514f, -0.000734f, -0.000865f, -0.000202f, -0.001936f, 0.000566f, -0.001030f, 0.000765f, 0.000667f, 0.001101f, -0.000306f, 0.000116f, -0.001259f, 0.000468f, 0.000918f, 0.000215f, -0.000211f, 0.000181f, 0.000717f, 0.001074f, 0.000464f, 0.000998f, 0.000041f, 0.000150f, 0.004975f, 0.006155f, -0.002780f, 0.001649f, -0.000855f, 0.000619f, -0.000661f, 0.000355f, 0.000543f, 0.003014f, -0.001066f, 0.001243f, 0.002833f, -0.000771f, -0.000114f, -0.000477f, 0.000689f, 0.001463f, 0.001501f, 0.001950f, 0.000528f, 0.001660f, -0.000422f, -0.000980f, -0.003318f, 0.000700f, + -0.000502f, -0.001666f, -0.001187f, -0.000056f, -0.000313f, 0.001072f, -0.000152f, -0.001926f, -0.001987f, 0.000536f, -0.001726f, 0.000233f, 0.001053f, -0.001552f, -0.001038f, -0.000659f, 0.000774f, 0.000701f, -0.000049f, -0.000204f, 0.001164f, 0.000249f, -0.000447f, 0.000468f, -0.001001f, 0.000128f, -0.000527f, -0.000754f, -0.000508f, 0.000792f, -0.000402f, 0.000598f, -0.000445f, -0.000968f, 0.000266f, 0.000538f, -0.000339f, 0.017709f, -0.006163f, 0.003344f, -0.002310f, 0.003324f, -0.002342f, 0.002039f, -0.000757f, 0.002071f, 0.000504f, 0.001458f, -0.001693f, 0.001739f, -0.000593f, -0.001443f, -0.000148f, -0.001550f, -0.002474f, -0.001306f, -0.000268f, 0.001257f, -0.001694f, -0.002267f, -0.002777f, -0.000498f, -0.000242f, 0.002224f, 0.001219f, 0.001429f, -0.000975f, 0.001156f, -0.000881f, -0.000866f, -0.000476f, 0.001467f, 0.001267f, 0.000396f, -0.000008f, -0.000052f, 0.000042f, -0.000410f, -0.000230f, 0.001016f, 0.000199f, 0.002498f, -0.000956f, -0.000300f, -0.002080f, 0.001364f, -0.000542f, -0.000323f, -0.000489f, -0.000129f, 0.000123f, -0.000346f, 0.000381f, -0.000557f, 0.000009f, -0.000790f, + -0.000347f, 0.000177f, 0.000816f, -0.000423f, 0.004975f, -0.007600f, 0.004456f, -0.002843f, 0.003461f, -0.000039f, 0.002149f, 0.000607f, -0.003332f, -0.001580f, -0.001123f, 0.000408f, 0.000835f, 0.000467f, 0.003762f, -0.002115f, 0.003006f, 0.000524f, 0.000382f, -0.002056f, -0.000446f, 0.002599f, -0.000171f, -0.002206f, 0.002512f, 0.001919f, 0.000425f, -0.001034f, -0.000817f, -0.000219f, -0.000175f, 0.001165f, -0.000571f, 0.000520f, -0.001407f, -0.000311f, 0.000811f, -0.002028f, 0.000776f, -0.000786f, 0.000726f, -0.000587f, -0.000180f, 0.002394f, 0.001033f, 0.001365f, -0.000106f, 0.000565f, 0.000877f, -0.000179f, -0.000660f, -0.001055f, 0.000361f, 0.000484f, 0.000850f, 0.001030f, 0.000241f, -0.000230f, -0.001059f, -0.000479f, -0.001071f, -0.000954f, 0.000123f, -0.018898f, -0.003853f, -0.000551f, -0.003191f, -0.001350f, 0.002777f, 0.001160f, -0.000866f, -0.000776f, -0.002307f, -0.001548f, -0.001880f, -0.002104f, -0.001752f, -0.001133f, -0.001589f, -0.002675f, -0.002293f, 0.000823f, -0.002327f, 0.000718f, -0.003116f, 0.000058f, -0.001313f, -0.001059f, 0.002638f, -0.000317f, -0.001342f, 0.001688f, + -0.001981f, 0.001787f, 0.000510f, 0.001888f, 0.001277f, -0.000079f, -0.000962f, 0.001989f, -0.000065f, -0.000351f, 0.001812f, -0.000808f, -0.002550f, -0.002882f, -0.000766f, 0.000906f, 0.000568f, -0.000884f, -0.000119f, -0.000821f, 0.000146f, 0.000003f, 0.000112f, 0.001745f, 0.000665f, -0.001323f, -0.000519f, 0.000196f, 0.001095f, 0.000225f, 0.001652f, 0.000427f, -0.000175f, -0.000899f, -0.022179f, 0.019303f, -0.007865f, 0.005356f, -0.005040f, 0.001232f, -0.002476f, 0.003264f, 0.000618f, 0.000378f, -0.001580f, 0.002210f, 0.000450f, -0.003989f, 0.000405f, 0.000584f, -0.002004f, -0.003076f, 0.003037f, 0.003761f, -0.001215f, -0.001000f, 0.000630f, 0.001729f, -0.001017f, 0.003424f, -0.000107f, 0.000861f, -0.002490f, -0.000893f, -0.001483f, 0.002228f, -0.000496f, 0.000478f, 0.000485f, -0.001293f, 0.002169f, 0.002069f, 0.000570f, 0.000704f, 0.002543f, -0.001561f, -0.000409f, -0.000336f, -0.001844f, 0.000385f, -0.001202f, 0.000438f, -0.000055f, 0.000152f, 0.002079f, -0.000093f, -0.000469f, 0.000446f, 0.000112f, 0.001343f, -0.001258f, 0.000462f, -0.000079f, 0.002645f, -0.000790f, -0.000122f, + -0.001043f, 0.014829f, -0.001760f, -0.003067f, -0.000710f, 0.002015f, 0.001052f, 0.000924f, -0.000084f, -0.002033f, 0.000534f, 0.001276f, 0.001441f, -0.000915f, -0.000861f, 0.003012f, 0.001046f, -0.002309f, 0.000526f, 0.003890f, -0.004803f, 0.003252f, 0.000416f, 0.004152f, -0.000248f, 0.000263f, 0.000836f, 0.000861f, 0.002196f, -0.001573f, -0.000579f, 0.000842f, 0.001586f, -0.000586f, -0.000014f, 0.000231f, 0.000393f, 0.001011f, -0.001952f, -0.000014f, 0.001185f, 0.000360f, -0.001061f, -0.000306f, 0.002585f, 0.001914f, 0.000927f, -0.000944f, -0.000683f, 0.000768f, -0.000295f, -0.000594f, 0.000484f, -0.000752f, -0.001194f, 0.002661f, 0.001066f, 0.001723f, 0.000302f, 0.001309f, 0.001071f, 0.001169f, 0.000163f, 0.001408f, 0.000723f, 0.001012f, -0.000757f, 0.000221f, 0.000405f, -0.001130f, 0.000459f, -0.000526f, -0.000075f, 0.007039f, 0.002049f, 0.001702f, -0.001023f, -0.000684f, -0.001902f, -0.001360f, 0.000357f, -0.000744f, -0.000931f, -0.002733f, 0.002341f, 0.001618f, -0.001695f, 0.002918f, -0.002734f, -0.000828f, 0.001235f, -0.002032f, 0.001193f, 0.001895f, 0.002903f, 0.002553f, + 0.002445f, 0.001264f, -0.005129f, 0.000001f, -0.001065f, 0.001030f, -0.000481f, 0.002011f, 0.001378f, -0.000664f, -0.001235f, 0.001319f, -0.000903f, 0.003392f, 0.000016f, 0.001120f, 0.003457f, 0.003291f, -0.002469f, 0.000205f, -0.001621f, -0.002964f, -0.000301f, 0.000551f, -0.000358f, -0.000613f, -0.000296f, 0.000249f, -0.001366f, 0.000177f, -0.001596f, -0.000460f, -0.000169f, 0.000422f, 0.000034f, -0.000953f, -0.000984f, 0.002054f, -0.000704f, 0.000306f, 0.000946f, 0.001130f, -0.000605f, -0.000654f, -0.000276f, -0.001642f, -0.001083f, 0.000164f, 0.000382f, 0.016619f, -0.011686f, 0.004260f, -0.004436f, -0.000338f, -0.003099f, 0.002812f, 0.002794f, 0.000903f, 0.000572f, 0.002642f, 0.007256f, -0.006369f, -0.000881f, -0.001653f, -0.002568f, 0.005629f, 0.004242f, -0.000863f, -0.003850f, 0.001566f, -0.003144f, -0.002514f, -0.004407f, 0.000568f, -0.004513f, -0.001489f, 0.002667f, 0.000388f, -0.001380f, -0.003725f, 0.000012f, -0.000897f, 0.002271f, 0.002087f, 0.000967f, -0.001691f, 0.000260f, -0.000104f, 0.000922f, 0.001801f, -0.001137f, -0.000574f, -0.002016f, 0.003067f, -0.000375f, 0.000455f, + 0.002739f, -0.000562f, -0.000244f, 0.001094f, -0.001369f, -0.000141f, 0.001191f, -0.002030f, 0.000467f, -0.000376f, -0.000173f, -0.002117f, 0.001034f, -0.000453f, 0.000187f, 0.000521f, -0.000778f, 0.001389f, -0.001088f, -0.000283f, -0.002262f, 0.000204f, -0.000310f, 0.000943f, 0.001000f, -0.025902f, 0.003552f, 0.000334f, 0.001790f, -0.002016f, -0.003257f, -0.000042f, 0.002139f, 0.003414f, -0.000237f, 0.005206f, 0.002889f, -0.003566f, -0.003184f, 0.002420f, 0.000415f, -0.002547f, -0.004710f, -0.005399f, -0.003470f, -0.003990f, -0.004463f, 0.000780f, 0.001392f, 0.001161f, -0.003308f, -0.003180f, 0.000461f, -0.000852f, -0.000560f, -0.000442f, -0.002643f, 0.002201f, -0.004536f, -0.001708f, -0.000708f, -0.000183f, 0.001425f, 0.000491f, -0.000330f, 0.002069f, -0.000653f, 0.002063f, 0.001177f, -0.001617f, 0.000239f, 0.003363f, -0.001367f, -0.001366f, 0.000070f, 0.001963f, 0.000495f, -0.001418f, -0.001821f, 0.001640f, 0.000071f, -0.002383f, 0.003238f, 0.003657f, 0.000427f, -0.001059f, 0.000421f, -0.000079f, 0.000762f, 0.001610f, -0.000175f, 0.002141f, 0.001352f, 0.001221f, 0.001063f, 0.000549f, + 0.000883f, -0.001086f, -0.000096f, -0.015846f, 0.013547f, -0.004530f, 0.002895f, -0.000074f, 0.002257f, -0.005485f, 0.002123f, -0.003739f, 0.000019f, -0.002530f, 0.005086f, 0.004327f, 0.001636f, 0.000352f, -0.004178f, -0.002772f, -0.000430f, -0.001680f, 0.004827f, -0.003944f, -0.000156f, -0.001953f, 0.007069f, -0.002246f, 0.000633f, -0.000197f, 0.001219f, 0.000558f, 0.001214f, 0.000894f, -0.001169f, 0.000640f, -0.000284f, 0.002472f, 0.000381f, 0.004683f, 0.002428f, -0.001505f, -0.000317f, -0.000578f, 0.000086f, -0.001781f, -0.001260f, -0.000442f, 0.000835f, 0.005710f, 0.000518f, 0.000388f, -0.001568f, 0.002334f, -0.000865f, -0.001212f, 0.000751f, -0.001177f, 0.000702f, -0.001463f, -0.003196f, 0.001592f, 0.001411f, -0.000436f, 0.003333f, 0.000719f, 0.000789f, 0.001208f, -0.000899f, 0.000405f, 0.001077f, -0.002752f, -0.001302f, -0.000202f, -0.001264f, 0.001282f, 0.001965f, -0.000738f, 0.003372f, 0.002235f, -0.000089f, -0.000914f, -0.000694f, -0.000248f, 0.010332f, -0.000241f, 0.002323f, -0.007036f, -0.001176f, 0.000879f, -0.005678f, 0.000444f, 0.007848f, -0.001378f, 0.000557f, -0.003553f, + -0.004864f, 0.001226f, -0.004445f, 0.006913f, -0.004815f, 0.001651f, 0.001629f, 0.003697f, 0.002874f, -0.000766f, -0.004297f, -0.000508f, -0.000404f, 0.002185f, -0.003015f, -0.000593f, -0.000891f, -0.001442f, -0.001028f, 0.002088f, 0.001282f, 0.005603f, 0.001897f, -0.002102f, 0.002320f, -0.001540f, -0.001619f, 0.001715f, 0.004798f, -0.000703f, -0.002491f, -0.002335f, 0.002546f, -0.000075f, -0.003491f, -0.003220f, 0.001633f, 0.001516f, -0.001455f, -0.002664f, -0.004410f, 0.001203f, 0.001628f, 0.001088f, -0.002495f, 0.001852f, 0.001137f, 0.000763f, -0.000893f, -0.000286f, 0.001351f, -0.003320f, -0.000442f, 0.001439f, 0.001704f, -0.000331f, 0.000824f, 0.000053f, 0.035220f, -0.002214f, 0.001445f, 0.003250f, -0.003055f, -0.001287f, -0.001028f, -0.008264f, 0.005597f, -0.000874f, -0.005116f, 0.001138f, -0.002611f, 0.003050f, 0.002419f, 0.003869f, -0.001342f, 0.005242f, 0.004494f, 0.002884f, -0.004575f, 0.003558f, -0.006285f, -0.003697f, -0.004269f, 0.001725f, -0.003274f, -0.000571f, -0.001100f, -0.004179f, -0.002259f, 0.003576f, -0.002616f, -0.001971f, -0.003990f, 0.001330f, 0.001321f, 0.003033f, + -0.001673f, 0.005201f, 0.001318f, 0.005926f, -0.000652f, 0.001099f, 0.001214f, -0.003231f, 0.002349f, 0.006066f, -0.002055f, -0.000140f, 0.001667f, -0.001728f, -0.002411f, 0.001461f, -0.002403f, -0.001281f, -0.003148f, -0.002052f, 0.002377f, 0.002129f, 0.001438f, 0.002284f, 0.002859f, 0.002729f, 0.004088f, 0.000694f, -0.001179f, 0.002137f, 0.001456f, 0.000012f, -0.000378f, 0.000206f, -0.001494f, -0.000288f, 0.000347f, 0.000409f, -0.000060f, -0.015588f, -0.030559f, 0.011318f, 0.000097f, 0.000612f, -0.003065f, -0.003278f, -0.000747f, 0.001035f, -0.001991f, 0.007963f, -0.003707f, -0.006989f, 0.000396f, 0.000422f, -0.000939f, -0.002477f, 0.005417f, 0.000967f, -0.002466f, 0.002511f, -0.004852f, 0.006098f, -0.003450f, -0.001807f, -0.004197f, 0.006810f, -0.002980f, -0.001013f, -0.004161f, -0.001938f, 0.003680f, -0.001757f, 0.003987f, -0.005217f, -0.006097f, 0.000472f, 0.001024f, 0.001025f, -0.000193f, -0.003169f, 0.000549f, 0.001593f, 0.000773f, 0.003140f, -0.000052f, 0.004939f, 0.000655f, 0.004627f, 0.006060f, 0.001241f, -0.000496f, 0.001121f, -0.003452f, -0.000904f, -0.005742f, -0.005112f, + 0.001455f, 0.001481f, 0.000961f, -0.000384f, -0.001665f, -0.000883f, -0.001430f, -0.000809f, -0.001428f, -0.000004f, -0.000166f, 0.001034f, -0.000388f, -0.000699f, -0.001989f, -0.000184f, -0.002303f, -0.000307f, -0.003045f, -0.000430f, -0.001158f, -0.000367f, -0.010243f, 0.029825f, -0.013612f, 0.006210f, -0.002902f, 0.009460f, -0.001512f, -0.004206f, -0.004387f, 0.002470f, -0.001320f, -0.000583f, 0.000199f, 0.001835f, -0.010048f, -0.004917f, -0.002604f, 0.003969f, 0.003336f, 0.005831f, 0.001055f, -0.000910f, -0.000940f, 0.007001f, -0.009135f, 0.005265f, -0.004402f, -0.000934f, -0.004636f, 0.007232f, 0.002900f, -0.004735f, 0.000616f, -0.002087f, 0.000772f, 0.003056f, -0.013103f, -0.005489f, 0.001070f, 0.004582f, -0.002701f, 0.000950f, 0.003353f, -0.001383f, -0.001484f, -0.000497f, 0.005064f, 0.001982f, 0.000865f, 0.000549f, 0.001951f, 0.005934f, -0.003615f, 0.002704f, -0.008360f, -0.001462f, 0.001883f, 0.004014f, 0.000756f, 0.000566f, 0.000195f, 0.002166f, -0.001635f, 0.000234f, -0.000587f, -0.001986f, -0.001715f, 0.003108f, 0.003043f, -0.001165f, -0.001578f, -0.005217f, -0.002198f, -0.001181f, + -0.000929f, 0.003776f, -0.001444f, -0.001435f, -0.002542f, -0.002314f, -0.000182f, -0.026788f, -0.005789f, 0.002609f, -0.006362f, 0.001588f, 0.001155f, 0.003913f, -0.000031f, 0.007469f, 0.004872f, 0.002694f, -0.002062f, -0.003681f, -0.000202f, 0.007903f, -0.006779f, -0.002595f, -0.005256f, -0.000125f, -0.014346f, -0.011311f, 0.000700f, 0.007006f, 0.009643f, 0.002221f, -0.003525f, 0.003285f, -0.003131f, -0.002091f, -0.002136f, 0.000948f, 0.002517f, 0.000610f, 0.003746f, -0.002858f, -0.005110f, 0.004214f, 0.002765f, 0.008858f, -0.001098f, 0.001438f, -0.001282f, 0.007144f, -0.007450f, -0.003741f, -0.001771f, -0.005651f, 0.003584f, -0.002334f, 0.003008f, -0.006053f, 0.006022f, 0.005848f, 0.005377f, -0.002199f, 0.004766f, 0.000254f, 0.001658f, 0.002797f, 0.001987f, -0.002531f, 0.000436f, -0.000789f, -0.000144f, 0.005497f, 0.002049f, -0.002418f, 0.004448f, -0.000723f, -0.003856f, -0.001276f, -0.000281f, -0.005421f, -0.000220f, 0.002263f, 0.002950f, 0.000471f, -0.000114f, -0.002239f, 0.000822f, 0.001315f, 0.019448f, 0.012657f, -0.003944f, 0.005757f, -0.012875f, 0.009100f, 0.003356f, 0.006856f, + -0.002310f, -0.001691f, -0.007035f, -0.003599f, -0.012046f, -0.002064f, -0.009585f, -0.002894f, -0.005895f, -0.006039f, -0.008140f, 0.003267f, -0.011132f, 0.001525f, 0.004850f, -0.002122f, 0.001546f, -0.004782f, -0.000039f, -0.001477f, -0.001568f, -0.006526f, -0.000860f, 0.000776f, -0.000425f, -0.000989f, -0.003407f, -0.002960f, 0.002040f, 0.002169f, 0.002851f, 0.014199f, -0.005698f, -0.000310f, 0.005762f, -0.001358f, -0.002342f, -0.005423f, 0.001698f, 0.004833f, 0.007980f, 0.002703f, 0.006656f, -0.006471f, -0.009735f, 0.000948f, 0.006410f, 0.003595f, -0.005248f, 0.006134f, -0.004596f, 0.002964f, 0.001236f, 0.005577f, 0.003157f, 0.002058f, 0.003780f, -0.003740f, 0.002416f, 0.002017f, 0.001155f, 0.005478f, 0.001272f, 0.004430f, -0.000643f, -0.001750f, 0.000717f, 0.001065f, 0.000934f, 0.005318f, -0.000832f, -0.002969f, -0.000268f, 0.039181f, -0.025388f, -0.001395f, 0.002923f, 0.000772f, 0.003071f, 0.005353f, -0.001101f, -0.000880f, 0.002994f, -0.004545f, -0.004345f, -0.000727f, 0.003456f, 0.014091f, 0.000574f, 0.004858f, -0.004563f, 0.000269f, -0.013968f, 0.008603f, -0.008456f, -0.012033f, + 0.002777f, 0.003359f, -0.004478f, 0.003998f, 0.001665f, 0.009301f, 0.010293f, -0.001728f, -0.003912f, -0.002952f, -0.015430f, -0.008414f, 0.012061f, 0.003971f, 0.004426f, -0.006966f, -0.007153f, 0.002100f, -0.001403f, -0.006153f, 0.005335f, -0.001181f, -0.003860f, -0.004450f, 0.003014f, -0.003988f, -0.002144f, 0.014149f, -0.008652f, 0.002607f, -0.003117f, 0.003268f, -0.003905f, -0.001611f, -0.010586f, 0.001764f, -0.003932f, -0.002650f, 0.008424f, 0.002020f, 0.002336f, 0.005091f, 0.006105f, 0.001805f, 0.004220f, -0.001908f, -0.000521f, -0.006962f, 0.003155f, 0.005708f, -0.001328f, 0.000354f, -0.000655f, -0.001466f, -0.001805f, 0.000619f, -0.001855f, -0.000859f, -0.024487f, -0.012104f, 0.004432f, -0.001603f, 0.008759f, -0.001344f, -0.002415f, -0.007139f, -0.007984f, 0.004084f, -0.008342f, -0.002950f, -0.004770f, -0.001018f, -0.005028f, -0.003481f, -0.004055f, -0.002134f, -0.005007f, -0.009432f, 0.005273f, -0.018615f, -0.000283f, 0.016482f, 0.003958f, -0.000186f, -0.004619f, 0.001076f, -0.016844f, 0.006818f, 0.004126f, 0.001056f, 0.005970f, 0.008900f, -0.007185f, -0.003841f, -0.007473f, 0.000983f, + 0.000179f, -0.004485f, -0.005087f, -0.005653f, -0.003374f, -0.000361f, 0.003599f, 0.000196f, 0.002938f, 0.001602f, 0.000295f, 0.011394f, 0.002689f, -0.001962f, 0.009044f, -0.004567f, -0.010436f, -0.003297f, -0.001288f, -0.001602f, -0.000740f, -0.003699f, -0.000872f, -0.004585f, -0.001140f, -0.004661f, 0.000398f, 0.002335f, -0.005033f, -0.001529f, -0.002800f, 0.000092f, -0.005101f, -0.006518f, -0.002827f, 0.002476f, 0.004477f, 0.001711f, -0.001551f, -0.000291f, 0.001687f, -0.000945f, -0.001104f, -0.002362f, 0.000980f, 0.002271f, 0.000447f, -0.000226f, -0.002867f, -0.015074f, 0.020182f, -0.010042f, -0.005012f, -0.016592f, 0.012843f, -0.004610f, 0.007540f, 0.000417f, 0.000398f, -0.005073f, 0.010049f, -0.002582f, 0.003226f, 0.002455f, -0.004704f, -0.001630f, -0.001571f, -0.008815f, 0.001675f, 0.001538f, -0.006849f, -0.011422f, -0.007136f, -0.010512f, -0.002618f, 0.005625f, 0.002898f, -0.006206f, -0.006201f, 0.009102f, 0.006223f, -0.007955f, 0.007200f, -0.003986f, 0.006361f, -0.010069f, -0.008000f, -0.007685f, 0.002642f, -0.006810f, 0.004210f, -0.003096f, 0.001737f, -0.001903f, -0.001043f, 0.001539f, + 0.007229f, -0.016011f, -0.002096f, 0.003152f, -0.001533f, -0.004892f, -0.011600f, -0.001061f, 0.010505f, -0.000062f, 0.009093f, 0.006724f, 0.001884f, -0.001339f, 0.006924f, -0.006973f, -0.005769f, 0.004437f, -0.001751f, -0.004340f, 0.002882f, 0.000837f, -0.003456f, -0.004981f, 0.008310f, -0.007840f, -0.004337f, -0.004694f, 0.004681f, 0.000221f, -0.003447f, -0.001919f, 0.002398f, -0.007236f, -0.000066f, 0.001919f, 0.001386f, 0.000156f, -0.002548f, -0.003524f, -0.034641f, 0.012869f, 0.005438f, -0.008735f, 0.004268f, -0.009878f, 0.008841f, 0.007617f, 0.006485f, -0.017768f, 0.010705f, 0.018752f, -0.002626f, 0.006350f, 0.000267f, -0.005888f, -0.007685f, 0.020658f, -0.000309f, -0.001867f, -0.011419f, -0.022547f, -0.012223f, 0.001098f, -0.009994f, 0.008257f, -0.014784f, -0.004949f, -0.008744f, 0.002339f, -0.003442f, -0.011055f, 0.001806f, -0.002593f, 0.007188f, -0.002490f, -0.008689f, -0.003377f, -0.026523f, 0.004686f, -0.000866f, 0.012181f, -0.007541f, -0.008369f, 0.011372f, 0.002335f, 0.001828f, -0.004642f, -0.007143f, 0.002457f, 0.005148f, 0.003698f, -0.001915f, 0.003932f, 0.002123f, 0.000390f, + -0.002376f, -0.002578f, -0.008795f, 0.000606f, -0.003532f, -0.005175f, 0.004527f, 0.002496f, 0.012828f, 0.002612f, -0.008749f, -0.008816f, 0.001856f, -0.005745f, -0.004220f, 0.001355f, -0.004340f, -0.000290f, -0.002035f, -0.002634f, 0.002393f, -0.003529f, 0.001196f, -0.000528f, -0.000756f, -0.001379f, -0.001964f, -0.004313f, -0.005174f, -0.001692f, -0.004468f, 0.028889f, -0.011377f, 0.000199f, 0.001621f, 0.012087f, -0.001530f, -0.002327f, 0.008296f, 0.014242f, -0.009576f, -0.011055f, 0.008657f, -0.001626f, 0.007533f, 0.010913f, 0.009087f, 0.007846f, 0.006287f, 0.007415f, 0.028053f, -0.002346f, 0.002083f, 0.005485f, 0.015484f, -0.003171f, -0.005651f, 0.005990f, -0.000401f, -0.005013f, -0.006208f, -0.005406f, 0.000163f, -0.007037f, 0.010708f, 0.016153f, -0.000822f, -0.003963f, 0.006760f, -0.003880f, 0.009669f, 0.006961f, 0.000265f, -0.008279f, 0.006365f, -0.000590f, -0.002696f, 0.001362f, -0.001114f, 0.018801f, -0.001553f, 0.008215f, -0.004096f, 0.016760f, -0.001524f, 0.001562f, -0.005769f, -0.010079f, 0.008563f, -0.004976f, 0.016888f, 0.003774f, 0.008024f, 0.000140f, 0.000125f, 0.004963f, + 0.001356f, 0.012126f, 0.006787f, 0.002276f, 0.006121f, -0.006981f, 0.002736f, 0.005632f, 0.000679f, -0.001917f, 0.009965f, 0.002544f, -0.003171f, -0.003156f, 0.004046f, -0.001737f, 0.000103f, 0.005679f, -0.001637f, 0.003498f, 0.001460f, -0.002992f, 0.037373f, -0.010780f, 0.003504f, -0.003578f, 0.001659f, 0.004817f, 0.012559f, -0.009744f, 0.005259f, -0.000204f, 0.000673f, 0.006818f, -0.005579f, 0.007290f, -0.019694f, -0.008926f, 0.003294f, 0.007333f, 0.005188f, 0.015662f, -0.015590f, 0.002434f, -0.002339f, -0.021358f, 0.009086f, -0.008308f, -0.005431f, -0.003115f, -0.017543f, 0.005691f, 0.006151f, 0.002728f, -0.009159f, -0.015330f, 0.005995f, -0.009499f, 0.008288f, -0.014688f, 0.000188f, -0.017573f, -0.004332f, -0.011739f, -0.010200f, 0.010384f, 0.016158f, 0.002245f, 0.005933f, -0.007469f, 0.002996f, -0.012526f, 0.005292f, -0.008229f, 0.002258f, 0.011983f, 0.006084f, -0.004229f, 0.007250f, 0.001197f, 0.006275f, -0.005410f, 0.010527f, 0.018024f, 0.000952f, -0.010913f, -0.007559f, -0.004884f, -0.002016f, 0.001146f, 0.008082f, 0.001591f, 0.013137f, -0.000062f, 0.005017f, -0.011965f, + -0.001782f, -0.008644f, -0.001656f, -0.001303f, 0.002685f, -0.010851f, 0.001463f, -0.000846f, 0.003239f, 0.001158f, 0.002017f, 0.001079f, 0.000841f, -0.038108f, -0.031968f, 0.013507f, -0.004010f, 0.015707f, -0.001222f, 0.005140f, -0.019100f, -0.017919f, -0.010897f, 0.005989f, -0.014786f, -0.010201f, -0.004371f, 0.002971f, 0.010816f, 0.003862f, -0.021678f, 0.005846f, 0.012128f, -0.030751f, -0.003665f, 0.001486f, -0.032645f, -0.011200f, 0.014542f, -0.030241f, 0.014820f, 0.015596f, 0.000200f, -0.004362f, -0.001233f, -0.007276f, -0.008027f, 0.005429f, 0.006681f, 0.022687f, -0.013404f, -0.007036f, -0.005634f, -0.010527f, 0.000622f, -0.017973f, -0.004481f, 0.001373f, -0.000507f, -0.005846f, -0.000913f, -0.009898f, -0.002008f, 0.005530f, -0.002472f, -0.006451f, 0.007504f, -0.003512f, -0.007345f, -0.010492f, 0.022339f, -0.000931f, 0.013611f, 0.001798f, 0.005108f, 0.014727f, 0.002130f, 0.010033f, -0.006677f, 0.011149f, 0.008093f, 0.002425f, 0.002927f, 0.002734f, 0.009718f, 0.004430f, 0.001808f, 0.009385f, -0.003985f, 0.001368f, -0.001087f, -0.014659f, 0.006861f, 0.003482f, 0.002007f, -0.008976f, + -0.002554f, 0.001665f, 0.002851f, -0.002583f, -0.061833f, 0.023317f, -0.006832f, -0.027738f, -0.006770f, 0.000698f, -0.007174f, 0.010709f, -0.024015f, 0.011563f, -0.001938f, -0.027615f, -0.019037f, 0.003778f, 0.010963f, 0.010355f, 0.007600f, 0.016257f, 0.004643f, 0.026740f, 0.014640f, 0.031342f, 0.004072f, 0.025459f, -0.019617f, -0.015456f, 0.005267f, 0.002209f, -0.015561f, 0.004347f, 0.003294f, -0.002174f, -0.005935f, 0.015085f, 0.002885f, -0.033307f, -0.014851f, 0.011154f, 0.003841f, -0.007073f, 0.009520f, 0.009707f, 0.015126f, 0.003245f, 0.004486f, 0.002818f, 0.004390f, 0.005514f, -0.011574f, 0.001750f, 0.002124f, -0.024637f, 0.011603f, 0.008534f, 0.010446f, -0.016891f, -0.009802f, 0.012301f, 0.000012f, -0.003286f, -0.002550f, -0.007233f, -0.006385f, 0.000028f, -0.008496f, -0.018945f, 0.006438f, 0.020176f, -0.014200f, 0.001955f, -0.008073f, -0.003291f, -0.005885f, -0.001848f, 0.010405f, 0.002481f, 0.008597f, 0.002489f, -0.009155f, -0.006523f, -0.007436f, -0.004469f, -0.006082f, 0.001438f, -0.003857f, -0.000849f, -0.005821f, 0.001837f, 0.003012f, 0.003292f, -0.001768f, -0.005835f, + 0.000097f, 0.025950f, 0.017542f, 0.012129f, 0.006593f, 0.000803f, -0.006048f, -0.009215f, 0.008134f, -0.025892f, 0.027317f, -0.016931f, 0.004391f, -0.028107f, -0.001040f, 0.026431f, 0.010370f, -0.009367f, 0.016757f, -0.026702f, 0.010653f, 0.004972f, 0.001853f, -0.032880f, -0.009876f, 0.002009f, 0.005274f, 0.021113f, -0.032362f, -0.004376f, -0.010763f, -0.030458f, -0.006700f, 0.007295f, 0.015194f, 0.022821f, 0.017716f, 0.017649f, -0.001531f, -0.011358f, 0.011604f, 0.003506f, -0.007001f, 0.004159f, -0.014903f, 0.023643f, 0.011042f, 0.007994f, -0.012366f, -0.027066f, -0.007266f, 0.000609f, -0.032829f, -0.026530f, -0.007012f, -0.023798f, 0.015244f, 0.005904f, 0.004712f, -0.010967f, -0.011815f, 0.004564f, 0.003273f, 0.001982f, 0.007299f, -0.004591f, 0.005502f, 0.015630f, 0.007059f, 0.002637f, 0.002069f, -0.010326f, -0.008700f, -0.007777f, 0.004495f, -0.002781f, -0.021058f, -0.016820f, -0.001746f, -0.013550f, -0.012051f, -0.003470f, -0.017400f, -0.010917f, -0.002798f, 0.000909f, -0.002558f, -0.001161f, 0.004064f, -0.003345f, -0.001339f, 0.000905f, 0.000536f, -0.005077f, 0.029861f, -0.023299f, + 0.006269f, -0.003295f, -0.003024f, 0.000547f, 0.008262f, -0.014513f, 0.019426f, -0.005605f, 0.013323f, -0.001297f, -0.010810f, 0.020665f, 0.020389f, 0.014590f, -0.006824f, 0.031315f, 0.011598f, -0.035010f, 0.036112f, 0.003298f, -0.000095f, 0.026100f, 0.001161f, -0.011318f, -0.015135f, 0.025762f, -0.016128f, -0.021518f, 0.020853f, 0.018184f, -0.011832f, -0.028618f, 0.011237f, -0.009819f, 0.003989f, -0.020129f, -0.016491f, -0.006834f, 0.019529f, 0.017530f, 0.002331f, 0.016088f, -0.023341f, 0.007540f, -0.006123f, -0.008695f, 0.011215f, 0.001581f, 0.003458f, -0.032689f, -0.008922f, 0.018204f, -0.023342f, -0.006071f, -0.029288f, -0.005451f, -0.010915f, 0.004955f, -0.007045f, 0.003326f, 0.003064f, -0.000992f, 0.002989f, -0.007828f, -0.026003f, -0.004899f, 0.013336f, -0.001756f, 0.009267f, -0.010016f, -0.022807f, -0.004041f, 0.005106f, 0.014557f, 0.003608f, 0.007973f, -0.000783f, 0.003284f, 0.005561f, 0.003362f, -0.007880f, 0.002031f, -0.003185f, 0.003447f, -0.006259f, 0.003779f, 0.001613f, 0.000455f, -0.000637f, -0.005462f, -0.002667f, 0.027055f, 0.002077f, -0.007877f, -0.019391f, -0.000662f, + -0.009271f, 0.007203f, -0.016018f, 0.010176f, 0.006479f, -0.014006f, -0.014366f, 0.021659f, -0.025550f, -0.001008f, 0.016486f, -0.018501f, 0.005953f, 0.021168f, -0.016854f, 0.014516f, 0.010660f, 0.015537f, -0.025588f, 0.022087f, -0.025694f, 0.007734f, -0.019561f, 0.002434f, -0.010009f, 0.017389f, 0.000525f, 0.010640f, 0.005484f, -0.018258f, -0.011137f, -0.025237f, 0.014709f, -0.017098f, 0.014791f, -0.020559f, -0.023407f, -0.039197f, 0.003817f, 0.020564f, -0.003147f, -0.000613f, 0.006497f, 0.017723f, -0.006016f, 0.004751f, -0.021652f, 0.005494f, 0.028743f, -0.002915f, 0.026060f, 0.034091f, -0.000224f, 0.005699f, 0.007010f, -0.014581f, 0.007564f, -0.017663f, -0.000886f, -0.018130f, -0.017564f, 0.001015f, -0.006653f, -0.029780f, 0.020174f, 0.000460f, 0.015009f, -0.017584f, -0.008964f, -0.006739f, 0.007699f, -0.000191f, -0.004640f, -0.004651f, -0.002994f, -0.001165f, 0.001720f, 0.001899f, -0.003527f, 0.004019f, -0.004046f, -0.004052f, -0.002236f, 0.005683f, 0.004263f, 0.004720f, -0.002308f, 0.003551f, -0.061278f, 0.015582f, 0.022986f, 0.006399f, -0.026534f, -0.003860f, 0.043266f, -0.049653f, + -0.001221f, -0.008350f, -0.032454f, -0.008162f, -0.021977f, 0.008102f, 0.008069f, 0.019033f, 0.007745f, -0.025942f, -0.009175f, 0.018762f, -0.029594f, -0.008387f, -0.031652f, 0.027091f, 0.008172f, 0.021199f, 0.036117f, -0.012668f, -0.007558f, -0.005908f, -0.018012f, 0.017344f, -0.008419f, -0.021481f, -0.024079f, -0.004184f, 0.009318f, -0.000628f, 0.004989f, 0.005935f, 0.014102f, -0.006122f, -0.000594f, 0.010462f, -0.009975f, 0.020470f, 0.023301f, 0.021970f, -0.017696f, 0.002436f, -0.005467f, 0.010543f, 0.043895f, 0.032926f, 0.062808f, 0.005040f, 0.024880f, 0.020132f, -0.009452f, -0.002094f, -0.003203f, -0.005788f, 0.008005f, 0.001914f, 0.022669f, 0.017077f, -0.007569f, -0.002242f, -0.013327f, -0.026265f, 0.010670f, -0.000310f, 0.009090f, -0.001844f, -0.018112f, -0.002596f, 0.002837f, -0.010091f, 0.006248f, -0.006409f, -0.008743f, 0.000321f, -0.008761f, 0.000031f, -0.002359f, -0.002119f, 0.000163f, 0.001426f, -0.005434f, 0.000851f, 0.000455f, 0.000042f, 0.002319f, 0.095118f, 0.045863f, 0.016303f, 0.014684f, -0.022672f, 0.014538f, -0.018327f, 0.021799f, 0.017838f, 0.016724f, 0.004228f, + -0.031215f, -0.017507f, 0.033926f, 0.005805f, -0.002028f, -0.007282f, 0.037984f, -0.041305f, -0.017399f, -0.010436f, -0.003136f, -0.029288f, 0.006894f, -0.025325f, -0.014156f, 0.004074f, -0.016055f, 0.023486f, -0.022799f, -0.009917f, -0.005660f, 0.025107f, -0.041941f, -0.008167f, -0.031233f, -0.001001f, -0.000231f, -0.027472f, 0.004408f, 0.021396f, 0.011583f, -0.000617f, -0.012937f, 0.001038f, 0.012853f, -0.017332f, 0.034530f, 0.046932f, -0.003050f, -0.029370f, -0.027644f, 0.019276f, -0.007081f, -0.006473f, 0.040394f, -0.008737f, 0.012829f, -0.001234f, 0.025365f, -0.005228f, 0.003227f, -0.005013f, -0.016220f, -0.045102f, -0.026972f, -0.004350f, -0.012170f, -0.031129f, -0.020495f, 0.011539f, 0.026020f, -0.002282f, -0.003449f, -0.002916f, -0.004293f, 0.014177f, 0.008954f, 0.001916f, -0.008876f, 0.009905f, -0.005889f, -0.020687f, -0.019790f, 0.002428f, 0.013427f, -0.016156f, 0.010462f, -0.001154f, -0.006245f, -0.005476f, 0.000324f, -0.009086f, -0.007026f, 0.000275f, -0.002771f, -0.001462f} +}; +const float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2870]={ {-0.004481f, 0.002514f, -0.001425f, 0.000635f, -0.000793f, 0.000202f, -0.000577f, -0.000144f, 0.000043f, 0.001204f, -0.000761f, 0.000531f, -0.001239f, 0.000940f, -0.001392f, -0.001895f, -0.001655f, 0.000398f, -0.000160f, 0.000274f, 0.000053f, -0.000833f, 0.000504f, 0.000853f, -0.000454f, 0.000677f, -0.000086f, -0.000273f, -0.000558f, -0.000091f, 0.000184f, 0.000458f, -0.000306f, 0.000668f, -0.000248f, 0.000422f, 0.000610f, -0.000419f, -0.000394f, 0.000036f, -0.000404f, 0.000121f, 0.000025f, -0.000176f, 0.000409f, 0.000071f, -0.000165f, 0.001707f, -0.001764f, -0.000327f, -0.000370f, -0.000411f, -0.000125f, -0.000029f, -0.000334f, -0.000244f, 0.000005f, 0.000072f, -0.000244f, 0.000142f, -0.000546f, -0.000163f, -0.000087f, 0.000331f, -0.001876f, -0.000178f, 0.000390f, -0.000180f, -0.000226f, 0.000163f, 0.000038f, 0.000132f, 0.000867f, -0.000418f, -0.000275f, -0.000463f, -0.000084f, 0.000254f, 0.000391f, -0.000397f, -0.000295f, 0.000461f, -0.000421f, -0.000630f, -0.000067f, -0.000172f, 0.000222f, -0.000187f, -0.000177f, 0.000104f, 0.000196f, -0.000388f, 0.000130f, 0.000147f, -0.006023f, -0.004100f, + -0.001658f, -0.001906f, -0.001056f, -0.000999f, -0.000936f, -0.000431f, -0.001130f, -0.000900f, -0.000385f, -0.000702f, -0.000086f, -0.000256f, -0.000602f, -0.000828f, -0.000916f, -0.000367f, -0.000528f, -0.000933f, -0.000115f, -0.001166f, 0.000011f, -0.000092f, -0.000154f, -0.000707f, -0.000114f, -0.000536f, 0.000011f, -0.000690f, -0.000431f, 0.000234f, -0.000498f, 0.000086f, -0.001166f, -0.000219f, 0.000580f, 0.000349f, -0.000014f, -0.000173f, -0.000330f, 0.000093f, 0.000115f, 0.000542f, -0.000318f, -0.000056f, -0.000160f, -0.007922f, -0.000437f, 0.001025f, -0.000022f, 0.000309f, -0.000060f, 0.000013f, -0.000640f, 0.000681f, 0.000261f, 0.000819f, 0.000575f, 0.001674f, 0.001221f, 0.000099f, -0.000665f, -0.000375f, -0.000161f, 0.000317f, -0.000229f, -0.001469f, -0.001329f, -0.000681f, -0.000210f, 0.000069f, 0.000182f, 0.000277f, -0.000058f, 0.000051f, 0.000157f, -0.000305f, -0.000047f, -0.000038f, -0.000913f, 0.000539f, 0.000215f, -0.000096f, -0.000015f, -0.000343f, -0.000509f, 0.000318f, 0.000115f, -0.000325f, 0.000310f, 0.000272f, 0.000379f, -0.000167f, 0.008884f, 0.006243f, 0.001224f, 0.002418f, + 0.000498f, 0.000801f, 0.001968f, 0.001016f, 0.000311f, 0.001187f, 0.000480f, -0.000520f, -0.000261f, 0.000413f, 0.000684f, -0.001204f, -0.000164f, -0.000722f, 0.001602f, 0.000798f, 0.000408f, 0.000798f, 0.000405f, 0.000413f, 0.000018f, -0.000078f, -0.000396f, 0.000628f, 0.000758f, 0.000648f, 0.000807f, 0.000978f, 0.000583f, 0.001429f, 0.000321f, -0.000081f, 0.000507f, 0.000094f, -0.000251f, -0.000113f, -0.000224f, -0.000283f, 0.000005f, 0.000663f, 0.000157f, 0.000109f, 0.000384f, 0.013257f, 0.005638f, 0.001703f, 0.001552f, 0.001084f, 0.000672f, 0.000213f, 0.000052f, 0.001453f, 0.000295f, 0.000805f, 0.001097f, 0.000578f, -0.000076f, -0.000405f, 0.002318f, -0.000211f, -0.001266f, -0.000727f, 0.000577f, 0.000031f, 0.001240f, 0.000405f, 0.000154f, -0.000230f, -0.000575f, -0.000165f, -0.000263f, 0.000542f, -0.000092f, 0.000224f, 0.000057f, 0.000083f, -0.000295f, 0.000439f, 0.001611f, 0.001016f, 0.001071f, 0.000961f, 0.000798f, 0.000433f, 0.000313f, 0.000181f, 0.000529f, -0.000447f, 0.000325f, -0.000212f, 0.004354f, -0.004589f, -0.001404f, -0.001974f, -0.001732f, -0.000924f, + -0.000289f, 0.000653f, -0.000652f, 0.000081f, -0.001715f, 0.000594f, -0.000632f, -0.001532f, 0.000397f, -0.001092f, -0.001484f, -0.001042f, 0.001398f, 0.001073f, -0.000507f, 0.000551f, -0.000986f, 0.000390f, -0.001786f, 0.000103f, 0.000283f, -0.000292f, -0.000426f, 0.000381f, -0.001415f, -0.000629f, 0.000172f, -0.000482f, -0.000424f, -0.000311f, 0.000106f, 0.000158f, 0.000701f, 0.000050f, 0.001215f, -0.000465f, -0.000344f, -0.000377f, -0.000613f, -0.000180f, -0.000311f, 0.000180f, -0.000529f, -0.000797f, -0.015738f, -0.007994f, -0.002855f, -0.002254f, -0.002436f, -0.001543f, -0.002105f, -0.001386f, -0.002293f, -0.000428f, -0.001033f, -0.000277f, 0.000110f, -0.000966f, -0.000258f, 0.000140f, 0.000016f, -0.001463f, -0.000960f, -0.000668f, 0.000140f, -0.001969f, 0.000198f, -0.000899f, -0.001738f, 0.000140f, -0.000021f, 0.000111f, -0.000042f, -0.000624f, -0.000469f, 0.000011f, -0.000131f, -0.000031f, -0.000649f, 0.000012f, 0.000177f, 0.000517f, 0.000201f, -0.000686f, 0.000388f, -0.000685f, 0.000459f, -0.001172f, -0.000793f, 0.000167f, -0.000643f, 0.000024f, -0.000243f, -0.000943f, -0.009307f, 0.004880f, + 0.002055f, 0.000756f, 0.001265f, 0.000229f, 0.000342f, 0.001103f, 0.001243f, 0.000665f, 0.000829f, -0.000633f, -0.000262f, -0.000984f, 0.001193f, 0.000243f, 0.000218f, 0.001618f, 0.000056f, -0.001094f, 0.001933f, -0.001286f, 0.000159f, 0.001589f, -0.000479f, 0.000413f, 0.000209f, -0.000042f, -0.000798f, -0.000196f, 0.000444f, 0.000455f, 0.000080f, -0.000290f, 0.000034f, -0.000569f, 0.001824f, 0.000150f, -0.000026f, -0.000722f, -0.000358f, -0.000469f, -0.000431f, 0.000980f, 0.000946f, -0.000250f, 0.000096f, -0.000068f, 0.000287f, 0.000063f, -0.000060f, -0.000200f, 0.000226f, 0.000142f, -0.000274f, -0.000263f, 0.014014f, 0.005953f, 0.001591f, 0.003214f, 0.001866f, 0.000799f, 0.001399f, 0.001205f, 0.000001f, 0.000879f, 0.001389f, 0.000321f, 0.000001f, 0.000711f, 0.001957f, -0.000663f, -0.000362f, -0.001549f, 0.000392f, 0.001786f, 0.000753f, 0.000083f, -0.001011f, -0.000542f, -0.000436f, 0.001881f, 0.000581f, 0.000984f, 0.000547f, -0.000893f, -0.001441f, 0.001631f, 0.000891f, -0.001002f, -0.000483f, 0.001585f, 0.001330f, -0.000067f, 0.000327f, -0.000166f, 0.000692f, 0.000445f, + -0.000160f, 0.000323f, -0.000565f, -0.000262f, 0.000848f, -0.000450f, -0.000355f, 0.000912f, 0.000773f, 0.000433f, 0.000149f, 0.000190f, 0.000185f, 0.000651f, 0.016574f, 0.003606f, 0.002758f, 0.001228f, 0.001262f, 0.000546f, 0.001299f, 0.001552f, 0.002450f, 0.001519f, -0.000471f, 0.001946f, -0.000380f, 0.000532f, 0.000424f, 0.001649f, 0.002410f, 0.001568f, -0.000426f, 0.002713f, -0.000521f, -0.000266f, -0.001430f, 0.000397f, -0.000432f, 0.000456f, 0.000719f, -0.000804f, -0.001143f, -0.000457f, 0.000213f, -0.000897f, -0.000309f, 0.000430f, 0.000591f, -0.001054f, -0.000921f, -0.000366f, 0.000340f, 0.000008f, 0.000272f, -0.000373f, -0.000019f, -0.000247f, -0.000372f, 0.000449f, -0.000627f, 0.000603f, -0.000672f, -0.000215f, -0.000515f, 0.000124f, -0.000194f, 0.000677f, 0.000284f, -0.000036f, 0.001906f, -0.007339f, -0.002373f, -0.002613f, -0.001706f, 0.000469f, -0.000432f, -0.001562f, 0.000889f, 0.000082f, 0.001096f, -0.000108f, 0.000104f, -0.001703f, -0.001225f, -0.000783f, -0.001260f, 0.000124f, -0.001340f, -0.002547f, 0.000497f, 0.000318f, -0.001201f, -0.000242f, -0.001091f, 0.000246f, + 0.000353f, -0.000191f, -0.002656f, -0.000731f, 0.000157f, -0.000276f, 0.000216f, 0.000731f, -0.001893f, -0.000546f, -0.001187f, 0.000630f, -0.000156f, -0.000081f, 0.001223f, -0.001230f, -0.000094f, 0.000405f, -0.000168f, -0.000392f, 0.000587f, 0.000335f, -0.000757f, -0.000898f, -0.001470f, -0.000203f, -0.001125f, -0.000885f, -0.000485f, -0.000606f, -0.000381f, -0.000153f, -0.000351f, -0.000544f, -0.000764f, -0.000412f, 0.000264f, -0.017218f, -0.005865f, -0.003510f, -0.000911f, -0.001809f, -0.000083f, -0.000971f, -0.001295f, -0.001563f, 0.001947f, 0.000063f, -0.000764f, -0.000168f, -0.002876f, -0.001611f, -0.001409f, 0.002356f, -0.001979f, -0.004140f, 0.000335f, 0.000529f, 0.000317f, -0.001510f, -0.000414f, 0.000896f, -0.001920f, -0.000178f, -0.001958f, -0.000562f, 0.001083f, -0.000917f, 0.000260f, 0.002145f, 0.000226f, -0.000418f, -0.000521f, 0.000599f, 0.000654f, 0.000555f, -0.000638f, -0.000095f, 0.000680f, 0.000959f, 0.000560f, 0.000340f, -0.001795f, 0.000363f, -0.000090f, -0.000883f, -0.000342f, 0.000201f, -0.000245f, -0.000893f, -0.000610f, -0.000927f, -0.000276f, 0.000075f, 0.000132f, -0.000118f, + -0.000667f, -0.000094f, -0.000519f, -0.000016f, -0.011435f, 0.002648f, 0.000174f, -0.001397f, 0.002054f, -0.001297f, -0.000998f, 0.000516f, -0.001928f, -0.001155f, -0.000407f, 0.000802f, -0.001520f, 0.002082f, 0.000049f, -0.000057f, 0.000978f, 0.000970f, 0.001531f, -0.000164f, 0.002107f, 0.003020f, 0.002187f, 0.000689f, 0.001872f, -0.000607f, 0.001191f, -0.001379f, -0.001401f, -0.000589f, 0.000179f, 0.000914f, -0.000734f, -0.001324f, -0.000709f, -0.000034f, 0.000823f, -0.001280f, 0.000929f, 0.000315f, 0.000718f, -0.000328f, -0.001160f, -0.001574f, -0.001863f, 0.000487f, -0.000950f, 0.000507f, -0.001976f, -0.000577f, 0.000898f, -0.001254f, 0.000213f, -0.000882f, 0.000606f, -0.000286f, 0.000589f, 0.000134f, -0.000346f, -0.000035f, -0.000791f, 0.001487f, 0.000635f, 0.007650f, 0.012631f, 0.003665f, 0.003285f, 0.004560f, 0.003697f, 0.000730f, 0.002934f, 0.002611f, 0.001424f, 0.005528f, 0.001321f, 0.000943f, 0.002397f, 0.002219f, 0.001171f, 0.000988f, 0.000588f, 0.000928f, -0.000706f, 0.002798f, -0.000740f, 0.000279f, -0.000870f, 0.001776f, 0.000096f, -0.000446f, 0.001469f, 0.001751f, + 0.000622f, 0.002321f, -0.001628f, -0.002696f, -0.000603f, -0.000147f, 0.000595f, -0.000176f, 0.001175f, -0.001072f, 0.001070f, 0.002339f, 0.001010f, -0.002061f, -0.000421f, 0.001068f, 0.000421f, -0.001004f, 0.001473f, 0.000587f, 0.000875f, 0.000974f, 0.001316f, 0.000440f, -0.000358f, 0.000331f, -0.001176f, -0.000302f, 0.001111f, 0.001020f, -0.000564f, -0.000007f, 0.000278f, -0.000491f, 0.029002f, 0.003003f, -0.000292f, 0.001814f, -0.000055f, 0.002498f, 0.000028f, 0.000686f, 0.000313f, 0.002632f, 0.001220f, -0.001056f, 0.000876f, 0.001273f, 0.000671f, -0.001558f, -0.003281f, -0.001484f, -0.001379f, 0.000602f, -0.002015f, -0.000333f, -0.000129f, 0.000562f, 0.003607f, 0.002026f, 0.000679f, 0.001468f, -0.002247f, -0.000115f, -0.001178f, -0.000428f, -0.000928f, 0.001377f, -0.000519f, 0.002291f, -0.001043f, -0.000386f, -0.001164f, -0.000495f, -0.001681f, -0.000758f, 0.000386f, 0.000391f, -0.000088f, 0.000045f, -0.000922f, 0.000549f, 0.001563f, 0.000153f, -0.000841f, 0.001008f, -0.001381f, 0.000632f, 0.000608f, -0.000108f, -0.000429f, -0.000265f, -0.000060f, -0.000231f, 0.000070f, 0.000966f, + -0.000103f, -0.008442f, -0.010046f, -0.001867f, -0.000560f, -0.000411f, -0.001597f, -0.000660f, 0.003048f, 0.001805f, 0.000643f, 0.000832f, -0.001330f, -0.000266f, 0.002289f, -0.000842f, 0.003725f, -0.002891f, -0.000789f, 0.003038f, -0.000585f, -0.000339f, -0.001765f, 0.002083f, 0.002302f, 0.000045f, 0.002269f, -0.000824f, 0.001007f, -0.000045f, -0.001268f, -0.000198f, -0.001003f, -0.000417f, -0.000650f, 0.001255f, -0.000921f, -0.000217f, -0.001418f, 0.000963f, -0.000736f, 0.002100f, -0.003309f, 0.001394f, 0.001156f, -0.001998f, 0.000044f, -0.001319f, 0.000358f, -0.001501f, 0.000480f, 0.000631f, -0.001908f, -0.000285f, -0.000693f, -0.002840f, -0.001645f, -0.000785f, -0.001411f, -0.000304f, -0.000235f, 0.000159f, -0.001153f, 0.000168f, -0.002232f, 0.000630f, 0.000278f, -0.000766f, 0.000284f, -0.000765f, -0.000203f, -0.000496f, -0.000229f, -0.007420f, -0.004255f, -0.005756f, -0.002955f, -0.003845f, -0.000435f, 0.003711f, -0.003877f, 0.002983f, 0.001903f, -0.002113f, 0.004230f, -0.000669f, 0.000823f, -0.002762f, -0.000298f, -0.001228f, -0.000177f, 0.000018f, 0.001042f, 0.000510f, 0.002207f, 0.004234f, + -0.001147f, 0.000584f, -0.002026f, -0.002115f, -0.001880f, 0.000428f, 0.001759f, -0.000620f, -0.000617f, -0.000562f, -0.001310f, 0.001468f, -0.000463f, -0.000098f, -0.001283f, -0.001008f, -0.000855f, -0.001321f, -0.000114f, -0.000058f, -0.001120f, 0.000732f, -0.001713f, 0.000632f, -0.000996f, -0.000178f, 0.000617f, -0.001263f, 0.001558f, -0.002715f, -0.000848f, 0.000256f, -0.000808f, -0.001449f, 0.000707f, -0.000400f, -0.001634f, 0.002676f, 0.001510f, 0.000370f, 0.000507f, 0.000537f, 0.000653f, -0.001353f, -0.000891f, 0.000344f, -0.000485f, -0.000938f, 0.001007f, -0.020663f, -0.002362f, 0.001673f, -0.001511f, 0.003433f, 0.001587f, -0.004179f, 0.000570f, 0.000708f, -0.001344f, -0.003499f, -0.001293f, -0.000849f, 0.001005f, 0.000256f, -0.003235f, -0.001219f, -0.001723f, -0.003114f, -0.002622f, -0.006109f, -0.003176f, -0.003566f, -0.004327f, 0.003447f, -0.002297f, 0.001264f, 0.002588f, -0.001862f, -0.002931f, -0.001127f, -0.000625f, 0.000709f, 0.001946f, 0.001132f, -0.002426f, -0.003017f, 0.002392f, 0.001497f, 0.001894f, 0.002659f, 0.000394f, -0.000005f, 0.001052f, -0.000120f, -0.001163f, 0.000679f, + -0.000623f, -0.000397f, 0.001569f, 0.003979f, -0.001307f, -0.001980f, 0.000936f, -0.001259f, -0.000109f, 0.002054f, -0.003917f, -0.000047f, -0.001284f, -0.000207f, -0.000071f, 0.000032f, -0.000455f, 0.000793f, -0.001157f, 0.001433f, 0.001561f, 0.000662f, -0.000079f, -0.000002f, -0.001312f, 0.016556f, 0.014438f, 0.003911f, 0.008779f, 0.002429f, 0.005056f, -0.000820f, -0.000802f, 0.002457f, 0.003322f, 0.001764f, -0.005733f, -0.001901f, 0.003574f, 0.004037f, -0.001489f, -0.001946f, 0.000655f, 0.001681f, 0.001909f, 0.000284f, -0.002983f, -0.006407f, -0.002408f, 0.003497f, -0.000311f, 0.003594f, -0.000852f, -0.001144f, 0.000726f, -0.002979f, -0.001727f, -0.001733f, 0.003291f, -0.004104f, -0.002832f, 0.000737f, 0.000686f, -0.001057f, -0.000132f, -0.001177f, 0.001231f, 0.001678f, 0.001439f, 0.003251f, 0.001892f, 0.000055f, -0.002663f, 0.002504f, -0.000239f, 0.001387f, -0.001303f, 0.000968f, 0.001979f, -0.000302f, -0.000533f, -0.001240f, -0.001472f, 0.000901f, 0.000199f, 0.001274f, -0.001274f, 0.001064f, 0.002570f, -0.000541f, -0.001413f, 0.001792f, 0.002328f, -0.000947f, 0.001037f, 0.001167f, + 0.000931f, 0.002225f, 0.001898f, 0.020077f, 0.003747f, -0.003936f, 0.003266f, 0.002107f, -0.003801f, -0.000868f, 0.001947f, 0.000098f, 0.000627f, -0.000331f, -0.000792f, -0.004226f, -0.004106f, 0.001800f, 0.003887f, 0.003982f, -0.003953f, -0.008046f, 0.001125f, -0.000157f, -0.003213f, -0.004134f, -0.000723f, 0.002012f, -0.001414f, 0.003003f, 0.004884f, -0.001870f, -0.001595f, -0.000697f, -0.000724f, -0.000992f, -0.007470f, 0.003861f, 0.003556f, -0.000179f, 0.002292f, -0.002307f, -0.000721f, -0.002103f, 0.003011f, 0.003177f, 0.000357f, -0.000848f, -0.001177f, 0.001751f, 0.000430f, -0.001095f, -0.001896f, -0.000039f, 0.001590f, -0.002467f, -0.001506f, -0.001364f, 0.000407f, 0.000728f, -0.003052f, 0.001508f, 0.003363f, -0.002793f, -0.000039f, -0.000708f, -0.000476f, -0.000068f, 0.000333f, 0.000142f, -0.000198f, 0.000556f, -0.000912f, -0.001846f, -0.002125f, -0.000981f, -0.000522f, -0.001130f, -0.002131f, -0.001604f, -0.000513f, 0.001487f, -0.000718f, -0.005505f, -0.003629f, 0.000518f, 0.004979f, -0.005014f, 0.003560f, 0.001625f, 0.000774f, 0.001012f, 0.000854f, 0.003245f, 0.005258f, 0.000137f, + 0.001579f, 0.000577f, -0.004535f, -0.004119f, 0.004008f, 0.000538f, -0.004686f, 0.002753f, -0.004002f, 0.000651f, 0.004902f, -0.000321f, -0.001350f, 0.005599f, 0.000865f, 0.000375f, 0.000452f, 0.000159f, 0.000496f, -0.002474f, 0.001469f, 0.002252f, 0.003690f, -0.002945f, -0.001465f, 0.000567f, 0.000505f, -0.001355f, -0.002662f, 0.001688f, -0.000977f, 0.001180f, 0.000620f, -0.000931f, -0.000867f, 0.000372f, 0.001674f, -0.001284f, -0.000572f, -0.000293f, 0.000958f, -0.002695f, -0.001263f, 0.001241f, 0.000260f, -0.000914f, -0.000476f, 0.001122f, -0.001142f, 0.000348f, -0.000775f, -0.000194f, 0.000904f, 0.000260f, 0.000526f, -0.002326f, -0.001659f, 0.000616f, -0.021590f, -0.019822f, -0.004433f, -0.009184f, -0.008065f, -0.004568f, -0.001387f, -0.003430f, -0.004131f, 0.002807f, 0.000749f, -0.000959f, 0.004709f, 0.001729f, 0.005658f, 0.004384f, 0.001259f, 0.001756f, 0.002062f, -0.008676f, 0.004088f, -0.000670f, -0.001840f, -0.001625f, -0.005136f, -0.001589f, -0.001785f, 0.004931f, -0.001652f, -0.002945f, -0.001471f, 0.000785f, -0.000647f, -0.000984f, 0.001083f, -0.001304f, -0.000850f, 0.003017f, + -0.002962f, -0.000258f, -0.000961f, 0.005427f, 0.002150f, 0.002170f, -0.004179f, 0.000322f, 0.003712f, -0.001952f, 0.000883f, 0.000018f, 0.000899f, 0.000024f, 0.000308f, -0.000285f, 0.002365f, -0.000309f, -0.000776f, 0.001725f, -0.001229f, 0.000967f, 0.002061f, -0.000966f, -0.001438f, 0.000639f, 0.000786f, -0.001551f, -0.000638f, -0.002862f, -0.002269f, 0.000751f, -0.000262f, -0.000504f, -0.000054f, 0.000377f, -0.000185f, -0.001816f, -0.000856f, -0.013522f, 0.028554f, 0.017910f, 0.005763f, 0.001739f, 0.001972f, 0.002010f, 0.003214f, 0.002800f, 0.006054f, 0.012065f, 0.000699f, 0.001361f, 0.002641f, 0.002461f, 0.003120f, -0.002269f, 0.011739f, 0.008342f, -0.007771f, 0.005736f, 0.001077f, -0.001267f, 0.002829f, 0.007071f, -0.006635f, -0.001906f, 0.000552f, -0.005532f, -0.003752f, -0.003956f, 0.008067f, -0.000366f, -0.001424f, 0.001063f, 0.000453f, -0.002416f, -0.006463f, 0.004480f, 0.003672f, -0.001105f, 0.002006f, 0.004594f, -0.003055f, 0.002500f, 0.000265f, -0.001204f, 0.003638f, 0.003095f, 0.000728f, 0.000415f, 0.000375f, 0.002493f, 0.003530f, 0.000026f, -0.000635f, -0.000038f, + -0.001115f, 0.002471f, 0.000520f, -0.001006f, -0.001234f, -0.000905f, 0.001881f, 0.000868f, 0.004273f, -0.001292f, 0.001528f, -0.000951f, 0.001066f, -0.001744f, -0.000619f, 0.000525f, -0.000948f, -0.001220f, 0.000108f, 0.000207f, 0.000548f, 0.001156f, 0.030926f, -0.010900f, -0.010707f, 0.004849f, 0.001192f, -0.004052f, -0.003568f, -0.005667f, -0.005617f, -0.004108f, -0.003481f, 0.005121f, 0.001194f, 0.000619f, -0.002904f, -0.002535f, -0.009053f, -0.000009f, -0.003578f, -0.006222f, 0.005185f, 0.003449f, 0.001070f, 0.003206f, 0.000901f, -0.001091f, -0.002005f, -0.000169f, -0.001694f, 0.002624f, 0.004444f, -0.004717f, -0.001736f, 0.000069f, 0.002428f, 0.006160f, 0.001855f, 0.008262f, -0.004236f, 0.002608f, 0.006890f, 0.004060f, -0.003428f, -0.001021f, 0.000811f, -0.001746f, 0.002986f, -0.000462f, 0.000180f, 0.004400f, 0.002428f, 0.000706f, 0.000439f, -0.000107f, -0.001821f, -0.000051f, 0.000559f, -0.001974f, -0.001086f, 0.001953f, -0.000727f, -0.003744f, -0.000509f, 0.000114f, -0.000611f, -0.003899f, 0.001057f, 0.000805f, 0.001020f, 0.001092f, -0.000769f, -0.001617f, -0.000506f, -0.000815f, + 0.003219f, 0.001359f, -0.001189f, 0.000886f, -0.000243f, 0.000672f, 0.000098f, 0.009930f, 0.018867f, 0.007414f, 0.005058f, 0.005916f, -0.001715f, 0.001908f, -0.005377f, 0.009387f, 0.003703f, 0.009018f, 0.002704f, 0.003444f, -0.008213f, 0.010281f, 0.015231f, 0.001946f, 0.009879f, -0.001966f, -0.007997f, -0.007914f, 0.007251f, -0.002316f, 0.005792f, 0.001087f, 0.002328f, -0.004421f, 0.004486f, -0.001538f, -0.001587f, 0.007408f, 0.005147f, -0.003854f, 0.006917f, 0.000800f, 0.001273f, -0.001366f, -0.005197f, 0.001475f, 0.000399f, -0.002872f, -0.003270f, 0.003082f, 0.004302f, 0.001437f, -0.001502f, 0.002055f, 0.000175f, 0.004598f, -0.002745f, -0.000371f, -0.004533f, 0.000562f, 0.004454f, 0.003022f, -0.002055f, 0.000016f, 0.001569f, -0.004003f, -0.000297f, -0.002723f, -0.001529f, 0.000873f, 0.001069f, 0.002744f, -0.003181f, 0.001412f, -0.003660f, 0.000353f, 0.004545f, 0.001629f, 0.000898f, -0.002844f, 0.000428f, 0.000376f, -0.004739f, -0.001225f, 0.000552f, 0.000841f, 0.001878f, 0.000797f, -0.000102f, -0.022037f, -0.001202f, -0.004978f, 0.006255f, -0.004766f, 0.005145f, 0.000155f, + 0.004124f, -0.000574f, 0.003557f, -0.011013f, 0.003236f, -0.001294f, -0.003974f, 0.001935f, -0.004840f, 0.002967f, -0.004886f, -0.002579f, -0.010794f, 0.006140f, 0.012924f, -0.005074f, -0.001721f, -0.001479f, -0.002124f, 0.001969f, 0.002558f, 0.003747f, -0.009602f, 0.002866f, -0.005985f, -0.001712f, -0.000345f, 0.004921f, 0.001857f, -0.002474f, 0.001019f, 0.001048f, 0.003498f, 0.003592f, -0.006007f, -0.001973f, 0.000842f, -0.004365f, -0.003916f, -0.000738f, -0.002805f, 0.001184f, 0.003323f, 0.000449f, 0.000555f, -0.000789f, 0.003097f, 0.008432f, 0.004732f, -0.005175f, 0.001020f, 0.001915f, -0.002591f, 0.002974f, 0.000748f, -0.003312f, -0.000340f, 0.003800f, 0.000381f, 0.003638f, -0.004915f, -0.001136f, 0.002911f, 0.000146f, -0.001632f, -0.003396f, -0.000282f, -0.001799f, 0.002786f, -0.000791f, 0.001732f, -0.000833f, -0.000383f, -0.040453f, -0.015181f, 0.008214f, 0.002961f, -0.005196f, 0.005749f, 0.004739f, 0.007590f, -0.001834f, -0.003312f, 0.006631f, 0.000294f, -0.004466f, 0.009031f, -0.010108f, -0.013153f, -0.006214f, -0.007051f, 0.004615f, 0.006650f, -0.000150f, 0.001730f, 0.010471f, + 0.004629f, -0.010604f, -0.004773f, -0.006522f, 0.001974f, -0.009846f, -0.008571f, -0.000518f, 0.001353f, -0.003764f, -0.004098f, -0.005999f, -0.003094f, -0.005488f, -0.005358f, -0.002015f, 0.000489f, -0.001955f, -0.000290f, -0.003698f, -0.000543f, -0.002831f, -0.006231f, 0.013535f, 0.001128f, 0.003211f, -0.005486f, 0.003595f, -0.000322f, 0.001846f, -0.004398f, -0.000165f, -0.000685f, -0.003668f, -0.002273f, -0.001663f, 0.004430f, 0.003226f, 0.003475f, 0.002157f, 0.002703f, -0.000606f, 0.000077f, -0.003172f, -0.000546f, -0.000137f, -0.000211f, 0.004173f, 0.001168f, 0.002455f, 0.002582f, -0.001859f, -0.004452f, 0.001943f, -0.001686f, -0.000781f, 0.001874f, 0.005345f, -0.000543f, 0.021219f, 0.007790f, 0.017098f, 0.002689f, 0.001165f, -0.006842f, 0.002644f, 0.010226f, 0.003868f, 0.000744f, 0.006891f, -0.006146f, -0.002724f, 0.005590f, -0.004230f, 0.001950f, 0.009856f, 0.003167f, 0.001371f, 0.003140f, -0.001759f, 0.004282f, -0.003216f, 0.000119f, 0.001703f, 0.000581f, -0.002473f, -0.002694f, 0.001100f, 0.010129f, -0.003236f, 0.002516f, -0.009288f, -0.004978f, 0.004310f, 0.010672f, -0.008152f, + 0.000077f, 0.005182f, 0.001305f, 0.002001f, -0.006767f, -0.002322f, -0.005847f, -0.010201f, -0.002695f, -0.005651f, -0.006008f, 0.004911f, 0.001956f, 0.001730f, -0.003508f, -0.002106f, -0.000689f, -0.009796f, -0.000913f, 0.005571f, -0.003892f, 0.004481f, 0.009105f, 0.001435f, 0.006033f, 0.004025f, 0.000350f, -0.001764f, 0.005236f, -0.006553f, -0.000302f, -0.000342f, 0.004167f, 0.002067f, 0.003840f, 0.000203f, 0.004258f, -0.000210f, 0.000889f, 0.000705f, 0.004532f, 0.000088f, 0.000055f, 0.004111f, -0.002179f, 0.002583f, 0.000903f, 0.000740f, -0.001303f, 0.025767f, -0.005654f, -0.007917f, 0.001269f, 0.005924f, 0.004823f, 0.004930f, -0.001434f, 0.005318f, 0.001673f, -0.006327f, -0.012654f, 0.008472f, 0.002281f, 0.006128f, 0.003666f, -0.003373f, 0.001495f, -0.004851f, -0.008274f, 0.008595f, -0.005376f, -0.010303f, 0.001103f, -0.001693f, 0.001281f, -0.001029f, -0.001031f, -0.002620f, -0.004071f, 0.003030f, 0.006957f, -0.010044f, 0.009830f, -0.008499f, -0.011072f, 0.001072f, 0.002987f, -0.006263f, 0.004944f, -0.000892f, 0.003143f, -0.005394f, -0.002653f, 0.009158f, 0.003771f, 0.009273f, + 0.002491f, 0.000698f, 0.002981f, -0.000033f, 0.000378f, 0.004855f, -0.000391f, 0.000852f, -0.004304f, -0.002963f, -0.002534f, 0.003417f, -0.003338f, -0.002886f, 0.005562f, -0.000169f, 0.006225f, 0.000938f, -0.004483f, 0.007401f, 0.005800f, -0.000480f, 0.003794f, -0.003803f, -0.006203f, 0.002393f, -0.002251f, -0.004500f, 0.000421f, 0.003950f, 0.005414f, -0.002037f, 0.001713f, 0.002599f, -0.000324f, 0.001109f, -0.005357f, 0.002061f, 0.001901f, -0.002700f, 0.021591f, 0.026307f, -0.004035f, 0.000161f, -0.013238f, -0.001497f, -0.009661f, -0.007224f, -0.002309f, -0.004940f, 0.007447f, 0.000004f, 0.005776f, -0.012354f, 0.010265f, -0.007780f, 0.010483f, 0.000373f, 0.008323f, -0.003008f, 0.010491f, 0.003451f, -0.004999f, 0.002214f, -0.007460f, 0.004948f, -0.004159f, 0.011815f, 0.003518f, 0.007766f, -0.012926f, -0.007401f, -0.003175f, -0.006548f, -0.002746f, -0.004481f, 0.000416f, 0.015971f, -0.007386f, 0.008031f, 0.013532f, 0.001919f, 0.005948f, 0.000080f, -0.003039f, -0.006319f, -0.004824f, 0.000673f, -0.003483f, 0.008172f, -0.005300f, 0.003747f, 0.009882f, -0.001301f, -0.000821f, -0.000792f, + 0.008081f, 0.008740f, 0.002733f, -0.004058f, -0.003562f, -0.002143f, 0.003412f, -0.008007f, 0.001499f, -0.001436f, -0.002209f, 0.000113f, 0.005281f, 0.000472f, 0.007480f, 0.006854f, 0.001353f, 0.001645f, -0.003261f, -0.000163f, 0.007690f, -0.000993f, 0.000451f, 0.003228f, -0.004114f, 0.000079f, -0.004708f, -0.005120f, 0.000738f, 0.000739f, -0.001031f, -0.020502f, -0.018371f, 0.008183f, -0.002437f, 0.010123f, -0.005760f, -0.004755f, -0.006875f, -0.005642f, -0.002609f, -0.016179f, -0.005932f, 0.006231f, 0.008700f, 0.003593f, -0.011273f, -0.003200f, -0.005410f, 0.004785f, 0.016313f, 0.009137f, 0.003990f, 0.000644f, 0.001241f, 0.000853f, 0.002871f, 0.008442f, 0.000691f, 0.002225f, -0.004794f, 0.000404f, -0.006874f, 0.002703f, 0.003372f, 0.006111f, 0.000802f, -0.004156f, -0.002081f, 0.008054f, -0.003727f, 0.003051f, 0.001661f, 0.002933f, 0.010287f, -0.005698f, -0.008666f, 0.003282f, 0.007339f, 0.001955f, 0.007335f, 0.008799f, 0.004257f, 0.006107f, 0.002368f, 0.001330f, 0.004845f, 0.014654f, -0.008127f, 0.000011f, 0.002425f, 0.001319f, -0.006299f, -0.001100f, 0.004889f, -0.000064f, + -0.005649f, 0.002273f, 0.010641f, -0.008625f, 0.002835f, -0.008168f, 0.004752f, 0.003231f, 0.001325f, 0.000333f, -0.003845f, -0.003832f, 0.007490f, 0.004051f, 0.001541f, -0.002268f, 0.005253f, -0.000736f, 0.000033f, -0.003626f, 0.003875f, 0.001448f, -0.041269f, -0.014405f, -0.000926f, -0.004118f, -0.010177f, 0.006217f, 0.008302f, 0.014006f, 0.004603f, 0.008806f, -0.008177f, -0.017255f, 0.008036f, -0.004078f, 0.000432f, -0.009291f, 0.009140f, -0.005489f, -0.000434f, 0.008494f, -0.023539f, 0.002268f, 0.012242f, -0.022847f, -0.006040f, -0.008098f, 0.001105f, 0.000846f, 0.005588f, -0.006358f, 0.007407f, 0.001050f, -0.011978f, -0.006179f, 0.001415f, -0.001544f, -0.005935f, 0.005214f, 0.013925f, 0.002967f, 0.003851f, -0.002244f, -0.003469f, 0.008115f, 0.001481f, -0.004092f, -0.020007f, -0.003199f, 0.002521f, -0.010156f, 0.004814f, 0.004084f, 0.000808f, -0.007853f, -0.007014f, -0.008372f, 0.017955f, 0.004749f, -0.002741f, 0.003460f, -0.015269f, 0.001775f, -0.007150f, -0.008230f, 0.007945f, -0.001377f, 0.000099f, -0.005198f, -0.019103f, 0.002555f, 0.005801f, 0.003334f, -0.001397f, 0.011275f, + 0.000374f, -0.004760f, -0.000759f, -0.007442f, 0.011703f, 0.006352f, 0.003273f, -0.001960f, 0.000795f, 0.003746f, -0.003485f, 0.001451f, 0.001613f, 0.000533f, 0.043790f, 0.011029f, 0.011302f, 0.009602f, -0.002796f, 0.000378f, 0.045032f, 0.013006f, -0.003726f, 0.027509f, -0.015431f, 0.011477f, 0.002412f, 0.007015f, 0.011243f, -0.003476f, -0.007849f, 0.008477f, -0.001542f, -0.027198f, 0.006954f, 0.007053f, 0.005757f, 0.012948f, 0.008202f, 0.008457f, -0.007662f, 0.001689f, -0.007399f, -0.003860f, 0.008061f, 0.002676f, -0.015877f, -0.009480f, -0.013307f, -0.019811f, -0.003034f, 0.004087f, 0.009677f, 0.008354f, 0.007197f, 0.006036f, -0.002934f, 0.010363f, 0.005765f, -0.012611f, -0.004825f, 0.003364f, 0.009498f, 0.000228f, 0.002048f, 0.016723f, -0.002995f, -0.001416f, -0.004333f, -0.000872f, 0.008522f, -0.007278f, 0.000126f, -0.010294f, -0.009147f, -0.005861f, 0.010714f, 0.014725f, -0.004273f, 0.001190f, -0.002838f, -0.009141f, -0.006196f, 0.002375f, -0.010589f, -0.002815f, -0.002830f, -0.006845f, 0.018758f, 0.004110f, 0.006275f, 0.005469f, -0.000544f, 0.000024f, 0.003241f, 0.000985f, + 0.005899f, 0.003718f, 0.000105f, -0.000597f, 0.044544f, 0.026341f, 0.001874f, 0.016732f, 0.012748f, 0.003666f, 0.019290f, 0.005463f, -0.000087f, -0.005979f, -0.004472f, -0.012568f, -0.034179f, -0.002510f, 0.003296f, -0.011634f, -0.006670f, -0.001288f, 0.023819f, 0.007834f, -0.006215f, 0.000273f, 0.001629f, -0.003386f, 0.010027f, -0.001665f, -0.006224f, -0.004196f, -0.005869f, 0.003799f, -0.008611f, -0.020936f, 0.000445f, -0.010913f, -0.016994f, 0.003357f, 0.007285f, 0.010652f, 0.005947f, 0.009432f, -0.006441f, -0.018029f, -0.011816f, -0.016214f, 0.006344f, 0.015261f, 0.012509f, 0.008143f, 0.015169f, 0.000421f, 0.009467f, 0.020674f, -0.017117f, 0.003111f, -0.007746f, 0.000110f, 0.005899f, 0.006186f, 0.010002f, -0.000875f, -0.020915f, -0.016100f, 0.003438f, -0.004530f, -0.005969f, -0.003952f, -0.004592f, -0.014265f, 0.001233f, 0.009718f, -0.001067f, 0.007411f, -0.004466f, -0.000351f, -0.000831f, 0.003721f, 0.014158f, 0.010033f, 0.008619f, -0.008167f, 0.000451f, -0.004902f, 0.000560f, -0.013106f, 0.002620f, 0.002196f, 0.001410f, -0.000245f, -0.001623f, -0.003760f, 0.003265f, 0.000168f, + 0.005910f, 0.010848f, -0.022256f, 0.002756f, -0.017035f, 0.007619f, -0.032524f, -0.000881f, -0.010791f, -0.016775f, 0.030030f, 0.016989f, -0.010714f, -0.026970f, -0.006827f, -0.009837f, -0.023575f, 0.018346f, 0.000978f, -0.016289f, -0.006061f, 0.009427f, -0.015429f, -0.010491f, -0.008107f, -0.018276f, -0.007017f, -0.000365f, -0.014793f, -0.013410f, 0.018832f, -0.007026f, -0.005879f, -0.001732f, -0.004210f, 0.016019f, -0.017743f, -0.008283f, 0.003747f, -0.004720f, -0.000020f, -0.004019f, 0.009236f, -0.016813f, 0.005992f, -0.026885f, 0.002737f, -0.007683f, -0.010738f, 0.028248f, 0.002935f, -0.010431f, 0.005386f, 0.005909f, -0.022799f, 0.015826f, -0.003858f, -0.004902f, -0.001726f, 0.009053f, -0.003770f, 0.000410f, -0.010917f, 0.005948f, 0.007400f, 0.012717f, -0.010976f, -0.028144f, 0.019658f, -0.002244f, 0.008118f, 0.009632f, -0.005829f, 0.005561f, 0.014536f, -0.018554f, 0.000999f, -0.006532f, -0.002018f, -0.019260f, 0.006577f, -0.002989f, 0.000778f, -0.000475f, 0.002555f, -0.003236f, -0.002910f, 0.005311f, -0.004876f, 0.003849f, 0.001133f, -0.003612f, 0.002181f, 0.000599f, -0.042512f, -0.023705f, + 0.005324f, -0.015120f, 0.001833f, -0.010931f, -0.005656f, -0.016026f, -0.011024f, 0.008063f, 0.023885f, 0.025087f, 0.003995f, 0.017699f, -0.012225f, 0.030926f, 0.022712f, -0.018101f, -0.016274f, 0.005116f, 0.005109f, 0.026138f, 0.009492f, 0.016733f, -0.006033f, 0.006701f, -0.003395f, -0.002815f, -0.005539f, 0.024437f, 0.010945f, 0.023406f, 0.021269f, 0.004077f, -0.001254f, -0.010363f, 0.010268f, -0.001237f, -0.021410f, -0.014288f, -0.004070f, -0.011078f, -0.002470f, -0.011385f, -0.009980f, 0.006745f, -0.003022f, -0.007211f, 0.017879f, 0.021058f, -0.012122f, -0.004065f, 0.028743f, 0.011709f, -0.019624f, -0.019312f, -0.006952f, 0.007249f, -0.000911f, -0.003608f, -0.013962f, 0.011780f, 0.003644f, -0.004565f, 0.003284f, 0.003225f, -0.017311f, -0.007647f, 0.001658f, -0.006552f, -0.008399f, -0.009107f, 0.023517f, -0.018437f, -0.016488f, 0.006757f, 0.012076f, 0.017162f, -0.008696f, -0.002809f, 0.001680f, -0.007934f, 0.008236f, -0.001255f, 0.006192f, -0.005187f, -0.002101f, 0.001574f, 0.002427f, -0.002988f, -0.002560f, -0.000251f, -0.003134f, -0.016170f, -0.023757f, -0.020397f, -0.000177f, -0.016048f, + -0.020658f, 0.005338f, -0.001781f, -0.028758f, 0.020546f, 0.003697f, -0.001759f, 0.010279f, 0.031671f, 0.030318f, 0.013044f, -0.037020f, 0.013758f, 0.009888f, -0.036333f, -0.000450f, -0.017546f, -0.008455f, 0.018699f, -0.021906f, 0.012748f, 0.000063f, -0.003789f, -0.007784f, 0.003764f, -0.001755f, 0.006285f, -0.004154f, -0.019460f, 0.018968f, 0.008931f, 0.022704f, -0.002364f, -0.007541f, -0.010948f, 0.009248f, -0.009867f, 0.026808f, 0.005620f, 0.016141f, -0.020824f, 0.016678f, 0.000640f, 0.005968f, -0.013518f, 0.004639f, -0.016054f, -0.002430f, -0.016467f, 0.006837f, 0.011386f, -0.021758f, 0.000886f, -0.017907f, 0.008436f, 0.010756f, 0.010367f, -0.001304f, -0.030903f, 0.000181f, 0.008165f, -0.002540f, 0.013743f, -0.029442f, 0.007589f, -0.012174f, 0.003977f, -0.010293f, 0.002160f, 0.007777f, -0.003318f, 0.000025f, -0.003204f, -0.003706f, 0.001196f, -0.007830f, 0.010037f, 0.002401f, -0.000237f, -0.012560f, -0.001157f, 0.001483f, -0.000889f, 0.005479f, -0.005460f, 0.001371f, -0.000555f, -0.002650f, 0.044506f, 0.053900f, 0.022604f, 0.018769f, -0.031053f, 0.029875f, 0.043472f, -0.047551f, + 0.005732f, 0.030784f, 0.005412f, -0.056707f, -0.005609f, -0.030798f, 0.009982f, 0.011243f, -0.014275f, -0.005637f, 0.010388f, -0.026050f, -0.002024f, -0.010222f, -0.012731f, 0.005054f, -0.019681f, 0.021239f, 0.015213f, 0.027475f, -0.013562f, 0.004474f, -0.002910f, -0.011233f, 0.034777f, -0.000703f, -0.015918f, -0.007569f, 0.007563f, -0.007498f, -0.009030f, -0.010688f, 0.017724f, 0.006541f, 0.024616f, -0.001760f, 0.009066f, 0.032207f, -0.020382f, 0.004258f, -0.013819f, 0.025553f, -0.009981f, 0.011944f, 0.005139f, -0.001038f, -0.009625f, -0.018234f, -0.012252f, 0.005117f, 0.023176f, -0.021762f, 0.019565f, 0.023043f, 0.011657f, 0.026934f, -0.013103f, -0.010735f, 0.017624f, -0.003057f, -0.003198f, -0.024877f, -0.001505f, -0.020527f, 0.004284f, 0.025974f, 0.012818f, 0.006532f, 0.011983f, 0.007077f, -0.011097f, -0.005047f, -0.019430f, 0.022045f, 0.000995f, -0.008777f, 0.005899f, 0.001976f, -0.010179f, 0.005352f, -0.001397f, 0.006317f, -0.000987f, 0.009591f, 0.004665f, -0.020561f, -0.070739f, -0.029435f, -0.050922f, -0.027246f, -0.021880f, 0.011854f, -0.032765f, -0.033147f, -0.016125f, -0.044348f, + -0.014669f, 0.033654f, -0.001235f, 0.001442f, -0.009283f, -0.007770f, -0.004426f, 0.003149f, -0.000768f, -0.029685f, -0.004961f, -0.005792f, 0.042936f, -0.005513f, 0.038145f, 0.003193f, -0.010571f, 0.010059f, 0.031353f, -0.001570f, 0.000072f, -0.012657f, -0.003977f, -0.013292f, 0.007248f, -0.005585f, -0.011628f, 0.005791f, -0.015618f, 0.012522f, 0.012389f, 0.002502f, 0.027393f, -0.012488f, 0.013819f, -0.011675f, 0.015276f, 0.010568f, 0.028861f, 0.004024f, -0.012185f, 0.015707f, -0.002306f, -0.009742f, 0.036720f, -0.002739f, -0.002552f, 0.021352f, 0.006256f, 0.028736f, -0.022697f, -0.021816f, -0.003660f, -0.009447f, -0.003349f, -0.035312f, -0.008376f, 0.012262f, -0.005142f, -0.015198f, -0.025203f, 0.001686f, 0.007236f, -0.012427f, -0.012268f, -0.021611f, -0.008071f, 0.009178f, 0.009091f, 0.019134f, -0.003455f, -0.001767f, -0.001072f, 0.006380f, 0.007244f, 0.001291f, 0.011716f, 0.003328f, 0.000893f, -0.001638f, -0.001573f, 0.008669f, -0.004133f, 0.008565f, 0.009231f, -0.000431f}, + {-0.005154f, 0.002787f, -0.001446f, 0.001705f, -0.001002f, 0.001433f, -0.002977f, 0.000142f, -0.000111f, -0.000330f, 0.000690f, 0.001478f, -0.000045f, -0.000131f, -0.001599f, -0.000630f, 0.000692f, 0.000401f, -0.000180f, 0.000629f, -0.000185f, 0.000223f, -0.000694f, -0.000466f, -0.000466f, -0.000152f, 0.000070f, -0.000340f, -0.000237f, 0.000800f, -0.000454f, 0.000483f, -0.000439f, -0.000068f, -0.000337f, 0.000427f, 0.000158f, 0.000346f, 0.000579f, 0.000719f, 0.000269f, 0.000194f, -0.000057f, 0.000082f, 0.000108f, -0.000130f, 0.000132f, 0.001823f, -0.002086f, -0.000280f, -0.000384f, -0.000519f, 0.000338f, -0.001036f, 0.000352f, -0.000024f, 0.000472f, 0.000414f, -0.000822f, -0.000292f, 0.001254f, -0.000132f, 0.000268f, -0.000233f, 0.000545f, 0.001150f, 0.001330f, 0.000226f, 0.000573f, -0.000020f, -0.001050f, -0.000032f, 0.000114f, -0.000228f, 0.000004f, 0.000578f, -0.000603f, -0.000811f, 0.000353f, -0.000392f, -0.000362f, -0.000569f, -0.000025f, 0.000597f, 0.000150f, -0.000177f, -0.000217f, -0.000239f, -0.000004f, 0.000132f, -0.000320f, 0.000117f, -0.000366f, 0.000220f, -0.005238f, -0.003708f, + -0.001823f, -0.001359f, -0.001056f, -0.001071f, -0.000380f, -0.000790f, -0.000255f, -0.000495f, -0.001302f, 0.000254f, 0.000654f, -0.000104f, 0.000370f, -0.000246f, -0.000679f, -0.000670f, -0.001022f, -0.000344f, 0.000236f, 0.000031f, -0.000579f, 0.000386f, -0.000698f, -0.000679f, 0.000439f, -0.000000f, 0.000014f, 0.000359f, 0.000398f, 0.000108f, -0.000166f, -0.000203f, -0.000277f, 0.000138f, 0.000062f, -0.000358f, 0.000182f, -0.000711f, -0.000316f, -0.000178f, -0.000084f, -0.000508f, -0.000112f, -0.000189f, -0.000021f, -0.007452f, -0.000981f, 0.000557f, 0.000129f, 0.000525f, 0.000077f, -0.000426f, 0.000288f, -0.000332f, -0.000331f, -0.000683f, -0.000544f, 0.000254f, -0.000191f, 0.000458f, -0.000439f, -0.000008f, -0.000424f, 0.000124f, 0.000774f, -0.000213f, 0.000580f, 0.000016f, -0.000498f, -0.000119f, 0.000703f, 0.000329f, 0.000464f, 0.000490f, -0.000694f, 0.000466f, -0.000272f, -0.000073f, -0.000366f, -0.000199f, 0.000227f, 0.000294f, 0.000185f, -0.000187f, 0.000571f, 0.000462f, 0.000306f, -0.000180f, -0.000337f, 0.000036f, -0.000274f, 0.000046f, 0.008773f, 0.006964f, 0.001664f, 0.003111f, + 0.000766f, 0.002404f, 0.001711f, 0.000510f, 0.001723f, 0.000675f, 0.001310f, 0.000552f, -0.000456f, 0.001291f, 0.000932f, -0.000365f, -0.000102f, -0.002427f, -0.000244f, 0.000115f, 0.001492f, 0.000160f, 0.000074f, 0.000745f, 0.000078f, 0.000674f, 0.000644f, 0.000095f, -0.000032f, 0.000235f, 0.001025f, 0.000767f, 0.000669f, -0.000068f, -0.000239f, 0.000039f, 0.000487f, -0.000178f, -0.000029f, 0.000520f, 0.000193f, -0.000259f, 0.000008f, 0.000112f, -0.000493f, 0.000642f, -0.000353f, 0.015448f, 0.005604f, 0.002767f, 0.001580f, 0.001027f, 0.000958f, 0.000984f, 0.001536f, 0.000427f, 0.002530f, 0.000394f, 0.000196f, 0.001146f, -0.000640f, 0.000310f, -0.000307f, -0.000231f, -0.000467f, 0.001697f, 0.000872f, -0.000087f, 0.001219f, -0.000815f, -0.000259f, -0.000254f, 0.001904f, -0.000130f, 0.000660f, 0.000208f, 0.000915f, 0.000220f, -0.000320f, 0.000557f, 0.000616f, -0.000243f, 0.000196f, 0.000325f, 0.000139f, 0.000455f, -0.000163f, 0.000514f, 0.000376f, -0.001187f, 0.000239f, 0.000209f, 0.000205f, 0.000919f, 0.005963f, -0.004425f, -0.001482f, -0.002076f, -0.001209f, -0.001257f, + 0.000860f, -0.000742f, -0.001777f, -0.000514f, -0.002379f, -0.000626f, -0.001011f, -0.002384f, -0.000547f, 0.000464f, -0.001429f, -0.000553f, 0.000268f, -0.001704f, -0.000035f, 0.001827f, 0.000462f, 0.000206f, -0.000830f, -0.000032f, 0.000697f, -0.000055f, -0.000762f, -0.000915f, 0.000905f, -0.000149f, -0.001090f, 0.000032f, -0.000443f, 0.001301f, -0.000005f, 0.000543f, -0.000188f, 0.001112f, -0.000749f, 0.000397f, 0.000192f, 0.000198f, 0.000047f, 0.000223f, -0.000002f, -0.000465f, 0.000757f, 0.000477f, -0.016282f, -0.009141f, -0.001923f, -0.002248f, -0.001621f, -0.001962f, -0.002873f, -0.000222f, 0.000024f, -0.000793f, 0.000653f, -0.000735f, 0.000064f, -0.000049f, -0.000982f, -0.000993f, -0.001671f, -0.000538f, 0.001534f, -0.001488f, -0.000229f, 0.001463f, 0.000860f, -0.000210f, 0.000469f, -0.000195f, -0.001625f, -0.000765f, -0.001347f, -0.000425f, -0.000003f, -0.000314f, 0.000681f, -0.001366f, -0.001149f, -0.000040f, -0.001398f, -0.001029f, -0.001009f, -0.001095f, 0.001084f, -0.000343f, -0.001473f, -0.000453f, 0.000316f, 0.000430f, -0.000546f, -0.000728f, -0.000395f, -0.001349f, -0.010083f, 0.005841f, + 0.002020f, 0.001061f, 0.000859f, 0.000997f, 0.000316f, -0.000942f, 0.000163f, -0.000509f, -0.000300f, 0.001908f, 0.000977f, 0.001662f, 0.001460f, 0.001749f, -0.001466f, 0.000814f, 0.001636f, 0.000410f, 0.001412f, -0.001668f, 0.000231f, -0.000324f, -0.000230f, -0.000542f, 0.000537f, -0.000101f, -0.000079f, 0.001719f, -0.001741f, -0.000361f, 0.000520f, 0.001048f, -0.000530f, 0.000897f, -0.000750f, -0.000938f, 0.001176f, -0.000500f, -0.000155f, -0.000218f, 0.000382f, -0.000023f, 0.000489f, -0.000494f, -0.000341f, -0.000433f, -0.000256f, -0.000359f, 0.000854f, 0.000235f, 0.000209f, -0.000442f, -0.000807f, 0.000196f, 0.014879f, 0.006006f, 0.001349f, 0.003317f, 0.002712f, 0.000452f, 0.001250f, 0.003135f, 0.001527f, -0.000137f, 0.000754f, 0.000339f, -0.000400f, 0.000857f, 0.002819f, 0.000587f, 0.003351f, 0.001536f, -0.002628f, 0.000451f, 0.000170f, 0.000502f, 0.002496f, 0.001310f, 0.001050f, -0.000265f, -0.000302f, -0.000379f, -0.000333f, 0.000327f, -0.000454f, 0.000758f, 0.000321f, 0.001051f, -0.000145f, -0.000328f, 0.000482f, 0.000852f, 0.000568f, -0.000142f, -0.001106f, -0.000543f, + -0.000578f, 0.001018f, 0.000849f, 0.001156f, 0.000744f, 0.000141f, 0.000255f, 0.000985f, 0.000893f, 0.000637f, 0.000193f, 0.000120f, 0.000596f, 0.000512f, 0.016606f, 0.004693f, 0.002123f, 0.002533f, 0.000481f, 0.002446f, -0.000350f, -0.001010f, 0.000002f, 0.000588f, 0.000322f, -0.000130f, 0.000531f, 0.002498f, -0.000319f, -0.001647f, -0.001060f, 0.001185f, 0.000372f, 0.001390f, 0.002339f, 0.001951f, -0.000079f, 0.001285f, -0.001394f, 0.000113f, -0.001070f, 0.001490f, 0.000937f, -0.001777f, 0.001067f, -0.000867f, 0.000179f, -0.000707f, 0.001081f, -0.000682f, 0.001341f, 0.000985f, 0.000886f, 0.001621f, 0.000599f, -0.000070f, -0.000351f, -0.000031f, 0.000280f, 0.001803f, 0.000006f, 0.000016f, 0.000186f, 0.000859f, 0.000648f, 0.000040f, -0.000172f, -0.000295f, -0.000915f, -0.000193f, 0.002348f, -0.007105f, -0.002799f, -0.001204f, -0.001549f, -0.000795f, -0.000545f, 0.000045f, 0.001072f, -0.001092f, -0.001842f, 0.001715f, -0.002226f, -0.002244f, -0.000338f, -0.000570f, 0.001057f, -0.000683f, 0.000015f, -0.002172f, -0.001196f, -0.002608f, -0.002732f, -0.003174f, -0.000369f, 0.000658f, + -0.002110f, -0.000651f, 0.000372f, 0.000167f, 0.000156f, -0.000347f, -0.002091f, -0.001406f, 0.000998f, 0.000294f, -0.000440f, 0.001971f, -0.001303f, -0.000681f, 0.000571f, 0.001182f, 0.001083f, -0.000245f, -0.000247f, 0.000423f, 0.000364f, -0.001390f, 0.000184f, -0.000845f, -0.000289f, 0.000034f, -0.000473f, 0.000005f, 0.000964f, 0.000131f, -0.000123f, 0.000159f, -0.000934f, 0.000540f, 0.000881f, -0.000242f, 0.000024f, -0.018019f, -0.005642f, -0.003423f, -0.001387f, -0.002469f, -0.001931f, -0.000598f, -0.001372f, -0.000604f, -0.001839f, -0.002537f, -0.001776f, -0.000638f, -0.003700f, -0.000914f, -0.001493f, -0.002280f, -0.000257f, 0.000365f, 0.001234f, -0.001344f, -0.001839f, -0.000711f, 0.001548f, 0.001936f, 0.002425f, 0.001266f, -0.000046f, -0.001211f, -0.000520f, -0.000009f, -0.001445f, 0.000590f, 0.001014f, 0.001232f, -0.000834f, -0.000751f, -0.000662f, -0.000357f, -0.000269f, -0.000533f, 0.000990f, -0.000302f, 0.000648f, -0.001261f, -0.002135f, -0.000923f, -0.000064f, 0.001062f, -0.001846f, 0.000600f, -0.000876f, 0.000859f, -0.000892f, 0.000506f, -0.000743f, -0.000058f, -0.000477f, -0.000069f, + 0.000334f, 0.000671f, -0.000450f, -0.000641f, -0.010335f, 0.002755f, 0.000764f, 0.000010f, 0.001809f, -0.001738f, 0.000461f, -0.003998f, -0.001304f, 0.001387f, 0.000980f, 0.002574f, -0.000194f, 0.002807f, -0.001646f, -0.000419f, 0.001338f, -0.002452f, -0.000906f, -0.001446f, 0.002732f, -0.000182f, -0.002281f, 0.001134f, 0.002175f, -0.001953f, -0.001492f, -0.001760f, 0.000495f, -0.000420f, 0.000931f, -0.000683f, -0.000568f, -0.000484f, -0.001075f, 0.001532f, -0.001260f, 0.000284f, 0.000999f, -0.000144f, 0.001156f, -0.000698f, 0.002548f, 0.000365f, -0.000274f, -0.000918f, -0.000908f, 0.000017f, -0.001043f, -0.001275f, -0.000796f, 0.000176f, 0.000858f, -0.000147f, 0.000223f, -0.001118f, -0.001112f, -0.001583f, -0.000639f, -0.000525f, -0.000428f, 0.000415f, 0.000620f, 0.008925f, 0.012845f, 0.004407f, 0.004475f, 0.006064f, 0.004422f, -0.000633f, 0.000911f, -0.000491f, 0.000861f, 0.000733f, 0.001164f, 0.000813f, 0.002240f, 0.000829f, 0.001426f, 0.000419f, 0.004381f, 0.001005f, 0.002181f, 0.001249f, 0.001177f, 0.003404f, 0.000874f, 0.004268f, 0.002277f, -0.000870f, 0.003085f, 0.000789f, + 0.001560f, 0.003013f, 0.000690f, 0.001795f, -0.000837f, -0.000312f, 0.000931f, 0.001356f, -0.001758f, 0.001576f, -0.000979f, -0.002000f, -0.001092f, 0.001659f, 0.002574f, 0.001887f, -0.000271f, 0.000612f, 0.000667f, 0.000933f, 0.001401f, 0.000754f, 0.001573f, 0.000899f, -0.001318f, -0.000039f, 0.001134f, 0.001433f, 0.000525f, 0.000466f, 0.000350f, -0.001420f, -0.000481f, -0.000878f, 0.030895f, 0.002251f, -0.001489f, 0.002405f, -0.001597f, 0.003414f, 0.001130f, 0.003589f, -0.001728f, 0.000276f, 0.000097f, 0.002130f, -0.003807f, 0.000694f, 0.002582f, -0.000595f, -0.000491f, 0.003152f, 0.005142f, -0.002170f, -0.001088f, 0.000554f, 0.002588f, -0.001175f, 0.001713f, 0.000022f, -0.001540f, -0.001418f, -0.001209f, 0.001014f, 0.001630f, 0.001716f, -0.001182f, 0.001901f, -0.001167f, 0.001846f, 0.001809f, -0.000490f, -0.001036f, 0.000603f, -0.001724f, -0.002628f, 0.000681f, -0.001811f, 0.000834f, 0.000136f, 0.000394f, 0.001056f, 0.000097f, 0.001293f, 0.000208f, -0.001793f, 0.000817f, -0.000496f, 0.000955f, -0.001318f, -0.000133f, 0.000165f, 0.001009f, -0.000733f, -0.002094f, -0.000408f, + -0.000839f, -0.010502f, -0.010212f, -0.002306f, 0.000782f, -0.000450f, -0.001551f, -0.001662f, -0.002292f, -0.000609f, 0.001674f, -0.000553f, -0.000591f, -0.002353f, 0.002459f, -0.000151f, -0.002053f, -0.001763f, 0.004272f, -0.003892f, 0.000383f, 0.002834f, -0.000356f, 0.000459f, -0.003768f, 0.001186f, -0.001629f, 0.000886f, -0.002627f, -0.001715f, 0.000405f, 0.000681f, -0.001241f, -0.001376f, 0.000106f, -0.000571f, 0.000162f, -0.001607f, -0.000927f, 0.001657f, -0.000207f, -0.000794f, -0.000498f, 0.002109f, 0.000912f, -0.001220f, -0.001870f, -0.001648f, 0.000526f, -0.000262f, -0.000804f, 0.000169f, 0.000324f, -0.000911f, 0.002492f, 0.001357f, -0.000290f, -0.000205f, -0.000682f, 0.000294f, -0.000762f, -0.000741f, -0.000785f, -0.000156f, -0.001451f, -0.001138f, -0.001939f, 0.000436f, -0.002073f, -0.000083f, -0.000543f, -0.000506f, -0.000136f, -0.004148f, -0.003490f, -0.004269f, -0.003000f, -0.002258f, -0.001435f, 0.000288f, 0.000003f, -0.001114f, -0.000379f, 0.000964f, 0.003710f, -0.003241f, 0.001651f, -0.001117f, -0.001968f, 0.002536f, -0.000173f, 0.000466f, 0.003444f, 0.000454f, 0.001478f, -0.002175f, + -0.000455f, -0.006243f, -0.000657f, 0.001131f, 0.000819f, 0.000494f, 0.000681f, 0.000831f, -0.001322f, -0.001898f, 0.001472f, -0.000203f, 0.001394f, 0.000636f, -0.001582f, 0.001311f, -0.000082f, -0.004434f, -0.003564f, -0.000645f, -0.003371f, 0.000409f, 0.001124f, -0.000270f, -0.000826f, -0.000429f, 0.000207f, -0.001045f, -0.000265f, -0.000234f, -0.000544f, 0.001029f, 0.000335f, 0.000318f, -0.000565f, -0.000479f, 0.001738f, 0.000408f, -0.001047f, 0.001137f, -0.000224f, -0.000818f, -0.001737f, 0.000014f, -0.000927f, -0.000334f, 0.001299f, 0.000979f, 0.001379f, -0.020058f, -0.004573f, 0.000297f, -0.003990f, 0.001612f, 0.000399f, 0.004813f, -0.002252f, 0.000288f, -0.001323f, 0.003227f, -0.006579f, -0.006310f, 0.002659f, -0.003057f, 0.004745f, 0.001719f, -0.003815f, -0.006683f, -0.000153f, -0.001890f, -0.003244f, -0.001328f, 0.000763f, 0.001084f, -0.001567f, 0.005724f, 0.000306f, -0.000568f, -0.002394f, 0.001950f, 0.002168f, 0.002337f, 0.002510f, -0.000310f, -0.001486f, -0.000561f, 0.001484f, -0.000115f, 0.001791f, -0.001683f, -0.000663f, -0.000578f, 0.002075f, 0.001668f, -0.001818f, 0.002361f, + -0.001315f, -0.001641f, 0.000202f, -0.000744f, -0.001562f, 0.001613f, -0.001849f, -0.000243f, 0.000470f, -0.000445f, -0.000753f, 0.000426f, 0.001548f, -0.000957f, 0.001484f, -0.001224f, 0.000996f, -0.000678f, -0.000767f, -0.000477f, 0.000299f, 0.001920f, 0.000347f, 0.001799f, -0.001141f, 0.018397f, 0.016163f, 0.003383f, 0.004321f, -0.000857f, 0.005283f, 0.004238f, 0.005322f, -0.000215f, 0.002141f, 0.001288f, -0.004987f, -0.004222f, 0.002328f, 0.000460f, -0.003568f, -0.003773f, -0.002102f, 0.000249f, 0.002156f, 0.000635f, 0.005063f, 0.004620f, 0.002036f, -0.001059f, -0.001105f, 0.003062f, 0.002876f, 0.000234f, 0.002523f, -0.000802f, 0.003222f, 0.000188f, -0.000669f, 0.004461f, 0.002341f, 0.003660f, 0.002383f, 0.000812f, 0.002588f, 0.001298f, 0.000917f, 0.002381f, -0.001271f, 0.000485f, 0.003181f, -0.000023f, -0.001998f, 0.001881f, 0.001891f, 0.001341f, -0.001393f, -0.000025f, 0.001870f, 0.002776f, -0.001349f, 0.003355f, 0.003857f, -0.000652f, -0.002031f, 0.000367f, 0.000915f, 0.000606f, 0.001715f, 0.000005f, 0.000639f, 0.001308f, -0.000890f, 0.000107f, -0.001281f, -0.000322f, + -0.001741f, -0.001006f, -0.000178f, 0.022313f, 0.001823f, -0.000633f, 0.001580f, 0.001076f, -0.003654f, 0.000957f, 0.001001f, 0.000003f, 0.002384f, 0.003411f, 0.005109f, -0.002275f, -0.002299f, -0.003605f, -0.002909f, 0.003294f, -0.000249f, 0.004756f, -0.001133f, -0.001152f, 0.001972f, 0.004133f, 0.001654f, -0.004147f, 0.003297f, -0.001209f, 0.002640f, -0.001367f, 0.002052f, -0.002496f, 0.001547f, -0.000197f, 0.002407f, 0.000295f, 0.001378f, 0.000739f, -0.004195f, -0.002310f, -0.000379f, -0.000846f, -0.000381f, -0.001307f, 0.002044f, 0.000777f, 0.004352f, -0.000666f, -0.002955f, -0.001725f, -0.000284f, 0.000265f, -0.003288f, 0.001119f, -0.001110f, -0.000142f, -0.000306f, -0.001923f, 0.001771f, 0.003364f, -0.001043f, 0.001734f, 0.000415f, -0.001880f, -0.000165f, -0.001789f, -0.001481f, 0.000306f, -0.002615f, -0.001863f, 0.001112f, -0.000129f, 0.000603f, 0.001810f, -0.002475f, 0.003013f, 0.000309f, -0.001221f, -0.002995f, 0.000875f, -0.001100f, 0.006445f, -0.001539f, -0.006152f, -0.004161f, -0.005546f, 0.005130f, -0.004097f, 0.001137f, 0.006269f, -0.000277f, -0.006358f, 0.000436f, -0.006674f, + 0.005563f, -0.001934f, 0.005545f, 0.000042f, -0.002111f, 0.004776f, 0.000179f, 0.000999f, -0.003588f, -0.004524f, -0.000728f, 0.001604f, 0.000975f, -0.000875f, -0.002091f, 0.002120f, -0.000646f, 0.001587f, 0.002425f, 0.002956f, 0.001363f, 0.001641f, -0.005973f, 0.000511f, -0.001354f, -0.002029f, 0.000819f, 0.002974f, -0.002495f, -0.004574f, -0.002026f, 0.001358f, 0.000523f, -0.004017f, -0.001643f, 0.001894f, 0.002750f, -0.002408f, -0.001577f, -0.001850f, 0.002813f, 0.003750f, 0.000755f, -0.001242f, 0.000423f, 0.002692f, -0.001283f, -0.000090f, -0.001759f, 0.001893f, -0.002201f, -0.000242f, 0.002611f, 0.001579f, -0.000761f, -0.000380f, -0.000065f, -0.000825f, -0.022514f, -0.022810f, -0.003697f, -0.011181f, -0.006940f, -0.003969f, -0.006206f, -0.000756f, 0.004680f, -0.010226f, 0.003734f, -0.002095f, 0.003406f, 0.000588f, 0.002087f, -0.004243f, 0.001075f, -0.000533f, -0.002214f, -0.009381f, -0.001914f, -0.004879f, -0.005966f, -0.000624f, 0.001505f, 0.000315f, -0.002031f, 0.001297f, -0.001928f, -0.000572f, 0.004979f, -0.000108f, -0.001661f, 0.000308f, 0.003257f, 0.004378f, 0.002933f, -0.000000f, + 0.002342f, 0.002707f, -0.000266f, 0.000024f, -0.004873f, 0.001788f, -0.004027f, 0.000752f, 0.003883f, -0.002676f, -0.004876f, 0.001407f, -0.002735f, -0.002617f, 0.000540f, -0.000041f, -0.002310f, 0.001121f, -0.000548f, 0.005253f, 0.002952f, 0.001607f, 0.000651f, 0.001926f, -0.000190f, 0.000579f, -0.002069f, -0.003727f, -0.000613f, 0.000321f, -0.002658f, -0.001847f, -0.001458f, -0.001246f, -0.001504f, 0.000832f, -0.000770f, -0.000228f, -0.001668f, -0.013345f, 0.024830f, 0.019552f, 0.001183f, 0.004006f, 0.001544f, 0.004364f, 0.006569f, 0.001547f, 0.006379f, 0.001191f, -0.006784f, 0.004528f, 0.005374f, 0.001639f, 0.001585f, 0.004079f, 0.005295f, -0.005297f, 0.004412f, -0.002780f, 0.003872f, 0.000617f, -0.003263f, 0.000657f, 0.004384f, 0.002534f, -0.005269f, 0.002567f, -0.002168f, 0.007644f, -0.000658f, 0.001804f, -0.001190f, -0.004894f, 0.004941f, 0.004948f, 0.002337f, 0.001275f, -0.000232f, 0.001791f, 0.005247f, 0.001239f, 0.003750f, 0.000487f, 0.002604f, 0.001439f, -0.000355f, 0.002859f, -0.003448f, -0.005340f, -0.002359f, -0.004070f, -0.003464f, -0.001762f, -0.003557f, 0.004791f, + 0.003395f, 0.000424f, -0.000857f, -0.001697f, -0.000563f, -0.000117f, 0.000036f, 0.000243f, 0.000665f, 0.001006f, 0.000552f, -0.000094f, -0.001262f, -0.001069f, -0.000179f, -0.000095f, -0.000458f, 0.000544f, -0.000554f, 0.002889f, -0.000648f, 0.003792f, 0.033314f, -0.013044f, -0.007067f, 0.001210f, -0.000069f, -0.001648f, -0.009243f, -0.003948f, 0.002370f, -0.000446f, -0.001316f, -0.001806f, 0.001435f, -0.007601f, -0.002161f, 0.003957f, 0.007420f, 0.004045f, 0.003337f, -0.002368f, -0.002237f, -0.004373f, 0.005124f, -0.007202f, -0.001245f, 0.001793f, -0.004736f, 0.001564f, 0.002057f, 0.005811f, -0.008860f, -0.000740f, -0.000143f, -0.001828f, 0.002372f, -0.008209f, -0.004274f, 0.009054f, 0.005969f, 0.001248f, -0.001539f, 0.005411f, -0.001569f, -0.000693f, 0.001022f, 0.004233f, 0.002449f, -0.002606f, 0.000570f, -0.001519f, 0.003478f, -0.005532f, -0.002481f, -0.003348f, -0.003514f, 0.006783f, 0.001873f, 0.000847f, -0.002979f, -0.000245f, -0.001001f, -0.001190f, -0.003124f, 0.000510f, -0.002961f, -0.000122f, 0.001038f, 0.002616f, -0.004500f, -0.003121f, -0.003976f, -0.001213f, 0.002164f, 0.000384f, + 0.002869f, -0.000379f, -0.003695f, -0.000388f, -0.001662f, 0.001730f, -0.000154f, 0.009896f, 0.022791f, 0.003742f, 0.008698f, 0.007856f, 0.007541f, 0.002518f, 0.005639f, 0.003472f, -0.001630f, -0.004625f, -0.002932f, -0.001334f, 0.006459f, -0.005511f, -0.006099f, -0.000416f, -0.000271f, -0.002495f, -0.004666f, 0.013818f, 0.012985f, 0.009770f, 0.000489f, -0.005571f, 0.000999f, 0.000930f, -0.002769f, 0.003184f, 0.002049f, 0.005579f, 0.000662f, 0.002281f, -0.000252f, -0.003832f, 0.006333f, 0.005242f, 0.003792f, -0.000900f, -0.004993f, 0.000313f, -0.000368f, -0.001393f, -0.010214f, 0.007377f, -0.004644f, 0.008507f, 0.000503f, 0.004603f, -0.000957f, 0.005075f, 0.007721f, 0.001543f, -0.003465f, -0.000255f, 0.001433f, -0.002536f, 0.001375f, -0.000983f, -0.003250f, -0.001787f, 0.001092f, -0.000792f, 0.003249f, 0.001146f, -0.005443f, 0.000349f, -0.000730f, -0.005877f, -0.001363f, 0.001200f, -0.002218f, 0.000648f, 0.005009f, 0.002052f, -0.000271f, -0.001725f, -0.001305f, 0.000108f, 0.002196f, -0.000599f, 0.002373f, -0.023931f, -0.003178f, -0.014917f, 0.000168f, 0.002625f, -0.005064f, -0.008724f, + -0.010090f, -0.009567f, -0.005664f, -0.007803f, -0.001913f, -0.000531f, -0.002016f, 0.002504f, -0.001556f, 0.000506f, 0.006124f, 0.002748f, -0.000606f, 0.014487f, -0.003181f, 0.002900f, -0.002119f, 0.001214f, 0.002103f, 0.000769f, -0.000814f, 0.002126f, 0.006785f, 0.002040f, 0.002402f, 0.000759f, 0.002714f, 0.005728f, 0.007897f, 0.002480f, 0.009582f, -0.002567f, -0.008261f, 0.008343f, -0.002646f, -0.001758f, -0.001682f, 0.004716f, 0.007321f, 0.005517f, -0.000141f, -0.001903f, -0.004189f, -0.010682f, 0.006580f, 0.007474f, 0.005291f, -0.006380f, 0.003861f, 0.000995f, -0.000642f, 0.006052f, 0.001023f, 0.004064f, -0.003381f, 0.001982f, -0.004215f, -0.000407f, 0.003657f, -0.001068f, 0.002751f, -0.000582f, -0.001539f, -0.001506f, -0.005134f, 0.000517f, 0.000385f, -0.000044f, 0.000988f, -0.001140f, -0.006333f, 0.000480f, 0.000332f, -0.041877f, -0.018801f, 0.008526f, -0.001637f, -0.001434f, 0.001485f, -0.005246f, -0.004612f, -0.001577f, -0.002086f, -0.007335f, 0.005169f, 0.000564f, 0.010938f, -0.006122f, -0.005265f, -0.008957f, -0.005021f, -0.009225f, 0.000740f, 0.003368f, -0.013779f, 0.008870f, + 0.007627f, -0.001103f, 0.001510f, 0.005775f, 0.000842f, 0.005080f, -0.010447f, -0.010510f, -0.005841f, -0.006898f, -0.005318f, 0.017000f, 0.005530f, -0.003761f, -0.006124f, -0.008727f, 0.004113f, 0.002325f, -0.004153f, 0.003381f, 0.003336f, -0.006161f, 0.000555f, 0.001356f, 0.004818f, -0.005724f, 0.013990f, -0.006156f, -0.004919f, 0.002169f, -0.001535f, -0.000096f, -0.004246f, -0.001612f, 0.000409f, 0.008883f, -0.002794f, 0.012809f, 0.002706f, 0.000815f, 0.001402f, 0.003405f, -0.003882f, -0.001407f, -0.005095f, -0.004115f, -0.003913f, -0.000040f, 0.006879f, -0.004527f, -0.003344f, -0.001929f, -0.002619f, -0.002431f, -0.000332f, -0.001616f, -0.002422f, -0.002121f, 0.006582f, 0.021207f, 0.010855f, 0.006791f, 0.004559f, -0.007416f, 0.000723f, -0.005993f, 0.009385f, -0.000988f, -0.001281f, 0.003235f, 0.002044f, 0.002221f, -0.000310f, 0.003351f, 0.001171f, 0.003536f, -0.002919f, 0.009234f, 0.001216f, -0.000805f, 0.027568f, 0.001536f, -0.002132f, -0.007032f, 0.004084f, -0.006539f, 0.006135f, 0.014895f, -0.001189f, 0.003670f, 0.003641f, -0.007623f, -0.008582f, 0.000284f, 0.000159f, 0.006558f, + -0.004256f, 0.000263f, -0.000474f, 0.004837f, 0.004934f, 0.008304f, 0.003091f, 0.002896f, 0.003408f, 0.000373f, 0.005439f, 0.002568f, -0.010074f, 0.002175f, -0.005204f, -0.012884f, -0.001137f, 0.003653f, 0.000047f, 0.001102f, -0.001735f, 0.000272f, -0.000435f, -0.000045f, 0.001605f, 0.000306f, 0.005860f, -0.003500f, -0.000568f, 0.001169f, 0.001216f, 0.000194f, -0.002278f, 0.004090f, 0.006891f, 0.006795f, 0.001402f, -0.001408f, -0.000712f, 0.002436f, -0.000339f, -0.000824f, -0.000157f, 0.001360f, 0.003175f, -0.000531f, -0.001247f, -0.002255f, -0.001427f, 0.031032f, -0.009047f, -0.003429f, -0.008416f, 0.015617f, 0.005746f, 0.001287f, 0.003162f, -0.002285f, -0.003653f, 0.005494f, 0.000502f, -0.005423f, 0.001395f, -0.007151f, -0.005417f, 0.000350f, -0.007249f, 0.000980f, 0.002356f, -0.005355f, -0.009419f, 0.000892f, 0.000498f, 0.006367f, 0.010454f, 0.007288f, -0.004914f, -0.000080f, 0.006489f, 0.011864f, -0.012436f, 0.004686f, -0.002341f, -0.000209f, -0.005679f, -0.007975f, 0.000671f, 0.007151f, 0.002093f, 0.003199f, 0.004512f, -0.000501f, 0.003011f, -0.000722f, 0.002151f, 0.004586f, + -0.008304f, -0.005818f, 0.012885f, -0.001033f, -0.000409f, -0.002927f, 0.005141f, 0.016682f, 0.004169f, 0.002507f, 0.005405f, -0.004403f, -0.004971f, -0.000007f, -0.003713f, -0.009574f, 0.006147f, 0.000780f, -0.004778f, 0.002616f, 0.001425f, -0.002720f, -0.004501f, 0.006075f, -0.002105f, -0.007275f, 0.003388f, 0.003357f, 0.005128f, -0.005074f, 0.000461f, 0.002206f, -0.000897f, -0.001945f, 0.007691f, -0.000630f, 0.001410f, -0.003434f, -0.000457f, -0.000107f, 0.026496f, 0.025105f, -0.008171f, 0.006850f, 0.002069f, 0.005323f, 0.013470f, -0.001656f, -0.007029f, -0.002461f, 0.026019f, -0.014616f, -0.002777f, -0.007240f, -0.005803f, -0.011841f, 0.013016f, -0.003746f, -0.017680f, -0.013172f, -0.016130f, -0.006179f, 0.014300f, -0.001686f, 0.006756f, -0.002511f, -0.007290f, 0.006388f, 0.001894f, 0.008086f, -0.007760f, 0.007198f, 0.005722f, 0.002966f, 0.003333f, -0.012685f, 0.003682f, -0.010584f, 0.008996f, 0.019013f, 0.005521f, 0.005737f, -0.012056f, 0.017030f, 0.004570f, -0.001733f, -0.002610f, -0.003413f, 0.005347f, 0.008535f, 0.002089f, -0.001941f, -0.000473f, 0.002337f, -0.004088f, -0.002901f, + -0.003933f, -0.003019f, -0.000302f, 0.006261f, -0.004148f, 0.009339f, 0.003367f, 0.005728f, -0.001914f, -0.013303f, -0.008927f, 0.003433f, 0.000922f, -0.003948f, 0.004990f, -0.000218f, -0.000445f, 0.002713f, -0.001864f, 0.003934f, -0.000655f, -0.000427f, 0.001909f, -0.002282f, -0.000397f, -0.002471f, -0.001502f, -0.003108f, 0.002052f, 0.000178f, 0.000664f, -0.024932f, -0.014862f, 0.003570f, 0.001949f, -0.000149f, -0.010969f, 0.006484f, 0.003657f, -0.006627f, -0.017944f, 0.014609f, 0.003571f, 0.005411f, 0.008259f, 0.004852f, -0.002376f, 0.002644f, -0.004543f, 0.012122f, -0.010145f, -0.017551f, -0.000600f, -0.000919f, -0.008326f, -0.019076f, 0.000575f, -0.003966f, -0.010022f, -0.005574f, -0.003153f, 0.004194f, 0.000696f, 0.006923f, 0.013978f, -0.006024f, -0.011587f, 0.003569f, -0.001375f, 0.000062f, 0.005714f, -0.008280f, -0.007507f, -0.001094f, 0.006745f, -0.008952f, 0.007364f, -0.002634f, 0.014216f, -0.002110f, -0.004473f, -0.001754f, 0.000065f, 0.002770f, -0.016287f, 0.002273f, -0.014094f, 0.014328f, 0.000049f, 0.008963f, 0.005375f, -0.005594f, -0.000727f, -0.007390f, 0.003572f, -0.000874f, + 0.002833f, 0.002616f, -0.009702f, -0.001555f, -0.009359f, -0.004209f, 0.004164f, -0.002921f, -0.005744f, 0.002663f, -0.000088f, -0.009771f, -0.004782f, 0.000952f, 0.000332f, -0.004081f, 0.004230f, -0.002252f, -0.002484f, 0.001984f, -0.005825f, 0.002966f, -0.034515f, -0.015936f, -0.005796f, -0.003888f, -0.001051f, 0.003588f, -0.011998f, -0.008662f, 0.003198f, -0.010117f, 0.003194f, -0.011234f, -0.003483f, -0.010864f, -0.013057f, 0.013795f, 0.005757f, 0.002041f, -0.000809f, -0.011458f, -0.019333f, 0.009618f, -0.025361f, 0.009165f, 0.000399f, -0.008176f, 0.001358f, -0.005088f, 0.001964f, 0.017639f, -0.008878f, -0.000989f, -0.019052f, 0.014956f, -0.004410f, 0.006784f, -0.006698f, -0.002289f, -0.001533f, -0.000766f, 0.008899f, 0.003007f, 0.018515f, 0.022183f, -0.002316f, 0.000278f, -0.007336f, 0.000772f, -0.002848f, 0.003420f, 0.007102f, 0.000827f, 0.016107f, 0.004506f, -0.005965f, 0.002520f, 0.003355f, 0.000044f, -0.001116f, 0.000453f, 0.012250f, -0.009177f, -0.018384f, -0.007607f, 0.000292f, 0.004291f, 0.003216f, 0.009201f, -0.000912f, 0.003901f, -0.004645f, -0.007454f, -0.010234f, -0.008245f, + 0.000714f, -0.002679f, 0.005016f, 0.001273f, -0.002807f, -0.001342f, 0.008839f, -0.000196f, 0.004917f, -0.002170f, 0.001695f, -0.002200f, -0.002013f, -0.003383f, 0.044002f, 0.019643f, 0.013575f, 0.005631f, -0.005010f, -0.008003f, -0.013734f, 0.007615f, 0.013165f, 0.005438f, -0.006163f, 0.015536f, 0.008747f, 0.015532f, 0.001055f, -0.011242f, -0.004363f, 0.023323f, -0.024351f, -0.005007f, 0.016100f, -0.009543f, -0.005351f, 0.037667f, -0.004727f, 0.010764f, 0.034156f, -0.005486f, -0.002248f, -0.001003f, 0.004244f, -0.001899f, 0.014808f, 0.009520f, 0.012205f, -0.008646f, -0.020179f, 0.008059f, -0.007963f, 0.009687f, -0.003783f, 0.003513f, 0.014380f, 0.008325f, 0.000841f, 0.006320f, 0.002914f, 0.006085f, 0.013902f, 0.007831f, -0.001485f, 0.013511f, 0.005665f, 0.001921f, 0.003213f, 0.024892f, 0.014934f, 0.000023f, 0.013566f, -0.005993f, 0.017151f, -0.004281f, 0.003780f, -0.004878f, 0.002052f, 0.009822f, -0.005455f, -0.000400f, -0.000975f, 0.003405f, 0.000379f, -0.006447f, 0.000257f, -0.005523f, -0.009860f, 0.001645f, -0.013126f, 0.005096f, 0.008048f, -0.003301f, -0.005621f, -0.003782f, + 0.007050f, 0.002079f, 0.000377f, -0.002955f, 0.056788f, 0.025665f, -0.011502f, 0.004963f, 0.029342f, 0.000692f, 0.021190f, -0.006225f, 0.008382f, 0.017666f, -0.013309f, 0.001610f, 0.030825f, 0.027690f, 0.022538f, 0.007964f, 0.019357f, 0.003261f, 0.016969f, 0.005922f, 0.005135f, -0.010608f, -0.012457f, -0.017716f, -0.035105f, 0.011191f, 0.000416f, -0.009529f, -0.003359f, 0.012148f, -0.007979f, -0.001206f, 0.001371f, 0.006831f, -0.031106f, -0.005031f, 0.022573f, 0.017382f, -0.006281f, 0.011485f, 0.009808f, 0.006362f, -0.003813f, -0.007229f, -0.003140f, -0.004863f, -0.003150f, -0.011489f, -0.009763f, 0.007967f, -0.019381f, 0.006417f, 0.015902f, -0.004714f, -0.011345f, -0.017676f, 0.016584f, -0.000517f, -0.008376f, -0.005473f, -0.003824f, -0.006065f, 0.003493f, -0.002800f, -0.006165f, 0.006301f, 0.025815f, -0.012900f, -0.007759f, 0.003299f, -0.005016f, 0.005961f, 0.000237f, 0.013313f, 0.002572f, -0.001293f, -0.001116f, -0.013824f, -0.006526f, -0.002147f, 0.001178f, 0.001069f, 0.004948f, 0.003059f, 0.000576f, 0.002224f, 0.002572f, 0.008157f, 0.000674f, 0.000226f, -0.005296f, 0.002676f, + 0.003941f, 0.001634f, -0.022438f, -0.006261f, -0.026972f, -0.005867f, -0.026956f, 0.012954f, -0.025684f, 0.013814f, -0.004461f, -0.014870f, -0.004509f, -0.006963f, 0.031396f, 0.004869f, -0.022895f, 0.000437f, -0.014957f, -0.011784f, 0.015458f, -0.017467f, -0.016166f, -0.018231f, 0.027381f, -0.003692f, 0.018070f, -0.027879f, -0.014881f, 0.011089f, -0.013011f, 0.010576f, 0.030309f, 0.019919f, 0.018748f, 0.003213f, -0.003238f, -0.014725f, -0.020954f, -0.001122f, 0.004639f, -0.019400f, 0.000407f, -0.011434f, 0.005596f, 0.008565f, -0.022212f, -0.018853f, -0.034798f, -0.005441f, 0.002379f, -0.014955f, -0.021525f, 0.021194f, 0.001070f, 0.021769f, 0.021350f, -0.002628f, -0.003031f, -0.008680f, 0.012313f, 0.010672f, 0.001530f, 0.005273f, -0.001758f, -0.001096f, 0.010413f, -0.002753f, -0.012215f, -0.009380f, -0.015377f, -0.012909f, -0.004782f, -0.000600f, -0.002120f, -0.019429f, -0.011274f, 0.006324f, 0.001464f, -0.006914f, 0.008354f, -0.001707f, 0.000424f, 0.013134f, 0.010847f, 0.006986f, 0.002764f, 0.008408f, 0.001240f, 0.000219f, 0.003890f, 0.002762f, -0.001856f, 0.000798f, -0.038326f, -0.006605f, + 0.003372f, -0.003536f, 0.000053f, 0.010376f, -0.008491f, 0.009227f, 0.008731f, -0.006050f, 0.011820f, -0.016429f, 0.020590f, 0.014126f, 0.000701f, -0.015133f, 0.001215f, 0.010051f, -0.044783f, 0.009290f, 0.018257f, -0.032069f, 0.013194f, -0.016419f, -0.023530f, -0.021444f, 0.010889f, -0.005361f, -0.033438f, 0.017969f, 0.009610f, -0.020243f, -0.033831f, 0.006845f, 0.003985f, -0.010651f, -0.002465f, -0.017383f, 0.016336f, 0.013495f, 0.023771f, -0.019031f, 0.003094f, -0.025276f, -0.009567f, 0.004360f, -0.016175f, 0.006723f, -0.002012f, -0.012690f, -0.019083f, -0.020621f, 0.030153f, -0.020330f, -0.009619f, -0.007652f, 0.001259f, 0.013854f, 0.008210f, 0.010105f, 0.000098f, 0.011824f, -0.003985f, 0.001891f, -0.005024f, -0.012502f, 0.002460f, 0.026775f, 0.004148f, 0.000616f, -0.000110f, -0.017249f, 0.011215f, 0.018014f, 0.018794f, 0.003757f, 0.001394f, -0.000823f, -0.001508f, 0.002718f, 0.000363f, -0.008582f, -0.000195f, 0.001726f, 0.001255f, 0.000128f, 0.000169f, 0.006648f, -0.002312f, 0.000849f, -0.001685f, 0.000351f, 0.011585f, -0.025449f, -0.013522f, -0.026874f, 0.007652f, -0.004773f, + 0.010668f, -0.007323f, 0.005055f, 0.008798f, -0.008997f, -0.015345f, 0.022898f, -0.006008f, -0.010209f, 0.026603f, -0.005478f, -0.006200f, 0.030405f, -0.017591f, 0.004474f, 0.007443f, 0.002369f, -0.026814f, 0.000086f, -0.003913f, -0.016121f, 0.009215f, -0.012665f, 0.017058f, -0.003008f, 0.018987f, -0.020783f, 0.012918f, -0.036796f, 0.000406f, -0.020079f, 0.022401f, -0.003458f, 0.003061f, -0.003864f, -0.020420f, -0.001490f, 0.017789f, 0.046946f, 0.003464f, 0.002944f, 0.009975f, 0.016039f, -0.002726f, -0.004532f, 0.001465f, -0.000816f, 0.041290f, -0.003754f, 0.006358f, 0.016569f, -0.016096f, -0.027521f, 0.000083f, -0.029086f, -0.003573f, -0.014941f, -0.010711f, -0.005850f, -0.012280f, 0.006889f, 0.010227f, -0.016950f, 0.021366f, 0.017737f, -0.002547f, -0.004418f, -0.017470f, 0.012175f, 0.004319f, 0.011547f, -0.009799f, 0.004760f, -0.001914f, 0.008726f, 0.000995f, 0.008442f, -0.004319f, 0.006183f, -0.001063f, 0.000126f, 0.002052f, 0.009575f, 0.004585f, 0.002913f, -0.003177f, 0.000215f, 0.000863f, 0.044242f, 0.048216f, 0.000336f, -0.014794f, -0.011897f, 0.040382f, -0.026570f, -0.030269f, + 0.031458f, -0.028595f, 0.018366f, 0.005588f, 0.025444f, 0.023474f, 0.015827f, 0.002536f, -0.016093f, -0.013878f, 0.033029f, -0.014058f, -0.001464f, 0.008051f, 0.028131f, 0.040762f, -0.001287f, 0.027841f, -0.022859f, -0.023842f, 0.002646f, -0.008821f, 0.013114f, 0.008322f, -0.020389f, 0.002753f, 0.012887f, 0.033517f, 0.011396f, 0.013723f, 0.012570f, 0.014979f, 0.003823f, -0.001202f, 0.021244f, 0.003721f, 0.016982f, 0.027236f, 0.005652f, -0.011237f, -0.009558f, 0.024547f, 0.006403f, 0.050382f, 0.011733f, 0.019842f, -0.020594f, -0.032353f, -0.003144f, -0.037770f, -0.024221f, -0.008633f, -0.012941f, 0.001391f, -0.001955f, 0.000276f, 0.000488f, -0.028253f, -0.023404f, -0.012371f, -0.024166f, 0.008796f, 0.009562f, -0.007331f, -0.001898f, -0.022425f, -0.003544f, 0.006580f, -0.006407f, -0.001948f, 0.002266f, -0.014163f, 0.005888f, -0.004370f, 0.001670f, 0.002484f, 0.000065f, 0.000944f, 0.003053f, -0.003401f, 0.000513f, 0.003267f, -0.000142f, 0.000763f, 0.000945f, -0.021037f, -0.074026f, -0.030548f, -0.060417f, -0.013550f, -0.021133f, -0.008534f, 0.005490f, -0.019809f, -0.024006f, -0.038365f, + -0.030519f, 0.027258f, -0.004872f, -0.024412f, -0.025958f, 0.005865f, -0.034537f, -0.048705f, 0.008013f, -0.011347f, -0.010463f, -0.010480f, 0.009340f, -0.029039f, 0.030517f, -0.017776f, 0.020717f, -0.014466f, -0.013902f, 0.000316f, 0.016725f, -0.023690f, -0.022640f, 0.012110f, -0.004311f, 0.033404f, -0.014684f, 0.019133f, 0.028780f, 0.013672f, -0.010535f, -0.004820f, -0.003049f, 0.023610f, -0.008334f, 0.015840f, 0.031862f, -0.026837f, -0.046802f, -0.018449f, 0.015820f, 0.019420f, -0.022107f, 0.036264f, -0.011732f, -0.013165f, -0.004432f, -0.004019f, -0.011290f, -0.029439f, -0.012475f, -0.030418f, -0.029136f, -0.018067f, 0.021415f, 0.005020f, -0.005215f, 0.001915f, 0.033137f, 0.031128f, 0.002152f, -0.014470f, 0.005893f, -0.003315f, 0.013612f, 0.004239f, -0.006009f, -0.013786f, -0.001289f, -0.002803f, -0.021865f, -0.005694f, 0.008246f, 0.022588f, -0.010185f, -0.000025f, 0.008581f, -0.012767f, -0.000458f, -0.000932f, 0.000324f, -0.006676f, 0.008426f, 0.000455f, 0.002150f, -0.001106f} +}; + +/********************** Sample Rate = 16000 **********************/ + +const float CRendBin_Combined_BRIR_latency_s_16kHz = 0.000145833328133f; +const int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz = 23; +const uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]={{23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23}, {23, 23} }; +const uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS] = {40, 40}; +const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][23]={{{77, 76, 77, 77, 77, 76, 77, 76, 77, 76, 77, 77, 77, 78, 76, 76, 77, 77, 77, 77, 77, 76, 80},{77, 76, 77, 77, 77, 76, 77, 76, 77, 76, 77, 77, 77, 78, 76, 76, 77, 77, 77, 77, 77, 76, 80}},{{76, 77, 77, 75, 77, 78, 77, 76, 77, 77, 76, 77, 77, 77, 77, 77, 76, 77, 76, 76, 77, 78, 80},{76, 77, 77, 75, 77, 78, 77, 76, 77, 77, 76, 77, 77, 77, 77, 77, 76, 77, 76, 76, 77, 78, 80}},{{77, 76, 76, 78, 75, 76, 74, 78, 77, 76, 77, 77, 77, 76, 76, 77, 78, 78, 77, 77, 77, 77, 80},{77, 76, 76, 78, 75, 76, 74, 78, 77, 76, 77, 77, 77, 76, 76, 77, 78, 78, 77, 77, 77, 77, 80}},{{76, 76, 76, 76, 77, 77, 76, 78, 77, 77, 77, 77, 78, 78, 77, 77, 77, 77, 77, 78, 77, 78, 80},{76, 76, 76, 76, 77, 77, 76, 78, 77, 77, 77, 77, 78, 78, 77, 77, 77, 77, 77, 78, 77, 78, 80}},{{76, 77, 77, 76, 77, 77, 75, 77, 77, 77, 76, 77, 77, 77, 77, 78, 77, 77, 77, 77, 76, 76, 80},{76, 77, 77, 76, 77, 77, 75, 77, 77, 77, 76, 77, 77, 77, 77, 78, 77, 77, 77, 77, 76, 76, 80}},{{77, 76, 77, 77, 77, 77, 77, 77, 76, 78, 76, 78, 75, 76, 77, 77, 76, 76, 77, 78, 78, 77, 80},{77, 76, 77, 77, 77, 77, 77, 77, 76, 78, 76, 78, 75, 76, 77, 77, 76, 76, 77, 78, 78, 77, 80}},{{77, 77, 75, 76, 76, 77, 77, 77, 77, 77, 77, 75, 77, 76, 76, 76, 77, 77, 76, 77, 76, 77, 80},{77, 77, 75, 76, 76, 77, 77, 77, 77, 77, 77, 75, 77, 76, 76, 76, 77, 77, 76, 77, 76, 77, 80}},{{75, 76, 77, 77, 75, 77, 75, 76, 76, 77, 77, 77, 78, 78, 77, 77, 76, 77, 78, 78, 78, 76, 80},{75, 76, 77, 77, 75, 77, 75, 76, 76, 77, 77, 77, 78, 78, 77, 77, 76, 77, 78, 78, 78, 76, 80}},{{77, 77, 77, 76, 77, 77, 76, 76, 76, 77, 77, 75, 76, 78, 78, 77, 77, 78, 78, 77, 76, 76, 80},{77, 77, 77, 76, 77, 77, 76, 76, 76, 77, 77, 75, 76, 78, 78, 77, 77, 78, 78, 77, 76, 76, 80}},{{76, 75, 76, 76, 77, 77, 77, 77, 77, 77, 74, 78, 77, 78, 78, 77, 76, 77, 77, 77, 77, 76, 80},{76, 75, 76, 76, 77, 77, 77, 77, 77, 77, 74, 78, 77, 78, 78, 77, 76, 77, 77, 77, 77, 76, 80}},{{76, 76, 77, 76, 77, 77, 76, 76, 76, 76, 77, 77, 76, 76, 77, 75, 77, 76, 76, 76, 77, 77, 80},{76, 76, 77, 76, 77, 77, 76, 76, 76, 76, 77, 77, 76, 76, 77, 75, 77, 76, 76, 76, 77, 77, 80}},{{76, 76, 77, 75, 78, 77, 77, 77, 77, 77, 77, 77, 77, 76, 78, 77, 76, 78, 76, 77, 76, 77, 80},{76, 76, 77, 75, 78, 77, 77, 77, 77, 77, 77, 77, 77, 76, 78, 77, 76, 78, 76, 77, 76, 77, 80}},{{76, 77, 77, 76, 76, 77, 77, 75, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 77, 76, 76, 78, 80},{76, 77, 77, 76, 76, 77, 77, 75, 77, 77, 77, 77, 77, 77, 78, 78, 78, 78, 77, 76, 76, 78, 80}},{{74, 76, 74, 76, 75, 76, 76, 76, 76, 77, 77, 78, 77, 78, 75, 76, 77, 76, 78, 76, 78, 77, 80},{74, 76, 74, 76, 75, 76, 76, 76, 76, 77, 77, 78, 77, 78, 75, 76, 77, 76, 78, 76, 78, 77, 80}},{{76, 77, 77, 77, 76, 78, 77, 76, 75, 77, 77, 77, 76, 78, 77, 78, 78, 78, 77, 76, 77, 75, 80},{76, 77, 77, 77, 76, 78, 77, 76, 75, 77, 77, 77, 76, 78, 77, 78, 78, 78, 77, 76, 77, 75, 80}}}; +const uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz = 77; +const float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[15]={0.223532f, 0.226827f, 0.248830f, 0.208782f, 0.220391f, 0.219790f, 0.231187f, 0.248730f, 0.251408f, 0.263698f, 0.243858f, 0.281483f, 0.283080f, 0.261660f, 0.273527f}; +const uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]={{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 55, 55, 61, 61, 61, 65, 67, 67, 67, 67, 67, 67, 69, 72, 72, 72, 73, 73, 75, 75, 75, 75, 75, 75, 75, 75, 75, 77},{46, 46, 46, 46, 46, 46, 46, 49, 49, 53, 53, 53, 55, 55, 61, 61, 61, 65, 67, 67, 67, 67, 67, 67, 69, 72, 72, 72, 73, 73, 75, 75, 75, 75, 75, 75, 75, 75, 75, 77}}; +const float CRendBin_Combined_BRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][1774]={ + { + {0.010832f, 0.002712f, -0.004173f, 0.000188f, -0.002118f, 0.002726f, 0.010885f, -0.000914f, -0.007116f, -0.010756f, 0.001174f, -0.008083f, -0.002332f, -0.002440f, 0.001864f, 0.005777f, -0.008313f, -0.004040f, -0.002553f, 0.000455f, -0.004910f, -0.008631f, -0.003371f, -0.007258f, -0.003869f, 0.001568f, -0.000354f, -0.003350f, -0.000643f, -0.000920f, 0.000933f, -0.007724f, -0.001925f, 0.003126f, 0.006652f, 0.003422f, -0.000986f, -0.000941f, 0.000320f, -0.007324f, -0.004978f, 0.001622f, 0.000486f, 0.001950f, -0.001956f, 0.001611f, -0.001588f, 0.002919f, -0.001525f, 0.005462f, 0.005550f, -0.000510f, -0.000125f, 0.004259f, 0.001657f, -0.000296f, 0.000411f, -0.008943f, -0.005621f, -0.001358f, 0.003347f, -0.003679f, -0.007892f, -0.004968f, -0.003761f, -0.005550f, 0.003359f, -0.010204f, 0.003130f, 0.010428f, -0.005504f, -0.002617f, -0.005058f, 0.005816f, -0.002310f, -0.006421f, 0.001701f, -0.009205f, 0.009235f, -0.003556f, -0.000119f, 0.008653f, -0.005126f, 0.003328f, -0.000784f, 0.001148f, -0.006096f, -0.012503f, -0.002727f, 0.004827f, -0.003367f, 0.002923f, 0.004129f, 0.003619f, -0.002924f, 0.002040f, + -0.007896f, -0.001437f, 0.001716f, 0.003166f, -0.000481f, -0.000184f, 0.000726f, 0.001899f, -0.006684f, -0.005343f, 0.002006f, 0.004474f, -0.002488f, 0.004692f, 0.008633f, -0.011933f, 0.001419f, -0.005681f, -0.004175f, 0.002728f, -0.001795f, 0.007420f, -0.002599f, 0.006700f, 0.003149f, 0.001171f, -0.000820f, 0.003639f, -0.000148f, -0.000614f, -0.004107f, 0.010858f, -0.007844f, -0.002127f, 0.003367f, 0.004316f, -0.000613f, -0.003470f, 0.001619f, -0.003841f, 0.003699f, 0.000990f, 0.001028f, 0.000119f, -0.001937f, -0.001107f, 0.005025f, -0.014096f, 0.002796f, -0.001594f, -0.008915f, -0.001143f, 0.006375f, 0.003674f, 0.003685f, -0.005967f, 0.004348f, -0.017398f, 0.012247f, -0.006959f, 0.002170f, 0.001696f, -0.000326f, -0.004296f, -0.001011f, -0.010096f, -0.012397f, 0.002466f, -0.002965f, 0.002920f, 0.002952f, 0.009792f, -0.009331f, 0.000528f, 0.006426f, 0.006200f, -0.007716f, -0.008181f, -0.004684f, -0.007203f, -0.000139f, -0.002904f, -0.005772f, -0.004621f, -0.000715f, -0.012553f, -0.012018f, -0.003134f, 0.001492f, -0.001782f, 0.000175f, -0.002117f, 0.001792f, -0.006976f, 0.006378f, -0.003308f, + 0.003281f, -0.001682f, 0.002072f, -0.006462f, 0.001097f, 0.003108f, 0.003892f, 0.001219f, 0.000047f, 0.000846f, -0.002910f, -0.005557f, 0.008629f, 0.006321f, 0.002087f, -0.004483f, 0.010858f, 0.007065f, -0.004372f, 0.006554f, -0.001654f, -0.006902f, -0.002551f, -0.003185f, -0.006420f, 0.002309f, 0.002701f, 0.000716f, -0.005367f, 0.007097f, -0.006979f, 0.003533f, 0.005444f, -0.002855f, -0.001149f, -0.012072f, -0.006967f, -0.012810f, 0.000373f, 0.013930f, 0.006364f, -0.005457f, 0.002356f, 0.001740f, 0.022282f, -0.006678f, 0.006376f, 0.010766f, -0.002109f, 0.009775f, 0.004036f, 0.006602f, -0.008821f, -0.003416f, -0.010329f, -0.004943f, 0.007003f, -0.000369f, -0.004885f, 0.000999f, -0.007208f, -0.000763f, -0.004694f, 0.006419f, -0.002843f, -0.001138f, -0.002545f, 0.003282f, 0.001633f, -0.000181f, -0.000758f, 0.002617f, -0.010802f, -0.008698f, 0.003861f, 0.000684f, -0.000940f, -0.005866f, 0.013113f, 0.003368f, -0.001536f, 0.003907f, 0.005289f, -0.000400f, 0.002701f, 0.000783f, -0.006251f, 0.005351f, -0.007462f, -0.006276f, 0.007039f, -0.008686f, 0.007235f, 0.002582f, -0.005949f, 0.009969f, + 0.005940f, 0.003404f, -0.002649f, 0.008874f, 0.002490f, -0.002092f, -0.002517f, 0.002066f, 0.001412f, -0.002624f, -0.011000f, -0.002703f, -0.001859f, 0.002238f, -0.006249f, 0.007523f, -0.002645f, 0.005501f, -0.006974f, 0.023049f, -0.019580f, -0.017219f, -0.005712f, 0.017590f, -0.002731f, -0.009912f, 0.011974f, -0.008383f, 0.005533f, -0.000691f, -0.013528f, -0.009286f, 0.010980f, -0.007505f, 0.005328f, -0.007819f, 0.007186f, -0.003536f, -0.002271f, -0.001078f, -0.007540f, 0.003641f, 0.005163f, -0.007590f, 0.001608f, -0.003963f, 0.001329f, 0.003155f, -0.001259f, 0.004622f, 0.001285f, 0.003752f, 0.006089f, -0.008217f, -0.006060f, 0.007073f, 0.000228f, 0.005463f, 0.005361f, -0.005250f, -0.007705f, -0.003161f, 0.001206f, 0.009856f, -0.010873f, 0.004344f, -0.012115f, -0.014761f, -0.003509f, -0.008459f, -0.001442f, -0.009986f, -0.018927f, -0.010037f, 0.008784f, 0.008212f, 0.005353f, -0.006252f, 0.018162f, -0.005484f, 0.003142f, -0.009875f, -0.009321f, 0.002682f, 0.000158f, -0.000653f, -0.011718f, -0.003536f, -0.000435f, -0.001927f, -0.002016f, -0.005759f, -0.004816f, 0.002262f, -0.001272f, -0.002112f, + 0.030034f, -0.009616f, 0.014166f, -0.003566f, 0.018986f, -0.003499f, -0.002673f, 0.003299f, 0.004034f, -0.003062f, -0.021320f, 0.002226f, -0.001811f, -0.005658f, -0.000042f, -0.000963f, 0.007982f, -0.002411f, 0.018689f, -0.002392f, 0.002417f, -0.001298f, 0.010755f, -0.002043f, 0.003971f, -0.008608f, 0.000079f, -0.005939f, -0.005728f, -0.001818f, -0.001331f, -0.000004f, 0.007140f, -0.011894f, -0.003000f, 0.003876f, -0.000848f, 0.008005f, 0.002412f, -0.002244f, -0.004846f, -0.005583f, -0.005149f, -0.011022f, 0.004697f, 0.004302f, 0.004704f, -0.019102f, -0.002050f, 0.012933f, 0.008212f, -0.003391f, 0.000219f, -0.006245f, -0.012042f, -0.014161f, 0.014590f, -0.004743f, -0.008166f, -0.005708f, 0.008511f, 0.005259f, 0.001866f, 0.005898f, 0.004047f, 0.005589f, -0.001722f, -0.014348f, -0.002965f, -0.007106f, -0.005026f, 0.008648f, 0.008631f, -0.002555f, 0.013476f, 0.014636f, -0.045502f, 0.023720f, 0.008101f, -0.002889f, -0.002831f, -0.000703f, -0.007649f, -0.013262f, -0.003554f, 0.005270f, 0.018054f, 0.011900f, -0.018092f, -0.004089f, -0.011114f, 0.006221f, -0.001738f, -0.024063f, -0.007733f, 0.013514f, + 0.007962f, 0.004121f, 0.011249f, 0.006584f, -0.002106f, -0.002277f, 0.002710f, -0.009597f, -0.006106f, 0.001318f, 0.009698f, -0.005162f, -0.009758f, -0.013563f, -0.007348f, 0.005741f, 0.019950f, 0.000778f, -0.004513f, 0.003761f, -0.005155f, -0.016071f, 0.000288f, -0.011513f, -0.009434f, -0.010765f, 0.005480f, -0.001194f, -0.015326f, 0.002154f, 0.004634f, 0.005138f, -0.016503f, -0.009179f, -0.006671f, -0.004345f, -0.002540f, -0.006205f, -0.003625f, -0.007851f, -0.016014f, -0.002087f, -0.013713f, -0.015742f, -0.010396f, -0.002903f, 0.001893f, -0.009284f, -0.014380f, 0.004087f, 0.010178f, -0.000331f, -0.002746f, -0.000827f, 0.007192f, -0.011101f, 0.007947f, -0.019134f, 0.006288f, -0.009773f, -0.002283f, 0.001800f, 0.004724f, -0.001352f, 0.008800f, -0.000330f, -0.002700f, -0.026457f, 0.011212f, -0.005334f, -0.006331f, 0.008805f, -0.015871f, -0.021124f, 0.007554f, -0.007682f, -0.010585f, -0.003478f, 0.017721f, 0.011332f, -0.007778f, -0.004394f, 0.007694f, -0.002926f, -0.001941f, 0.002196f, 0.007429f, 0.015254f, 0.008825f, 0.012316f, -0.003030f, -0.000773f, -0.000828f, -0.008484f, 0.000948f, -0.003657f, + 0.019956f, -0.016311f, -0.010617f, -0.008655f, -0.009294f, 0.005029f, 0.001543f, 0.007557f, -0.002633f, -0.010671f, -0.015735f, -0.004082f, -0.019297f, -0.024720f, -0.006521f, 0.000820f, 0.017669f, 0.004020f, -0.016983f, -0.003676f, 0.012669f, -0.005823f, 0.002944f, 0.004719f, 0.006079f, -0.011056f, -0.019436f, -0.007116f, -0.011205f, 0.028392f, 0.000348f, -0.008244f, 0.002799f, 0.005408f, -0.006178f, 0.004361f, 0.000218f, 0.016233f, 0.005320f, -0.000982f, 0.011271f, -0.001731f, -0.013450f, -0.002173f, -0.000985f, 0.013892f, -0.007410f, -0.001400f, -0.003934f, 0.002627f, -0.004007f, 0.001304f, 0.004567f, 0.006874f, 0.009344f, 0.006554f, 0.003038f, 0.024228f, 0.009441f, 0.008368f, -0.000922f, -0.018053f, 0.001298f, -0.014900f, 0.004804f, -0.009857f, 0.002619f, 0.000769f, 0.006034f, 0.029887f, 0.008277f, -0.003716f, 0.010461f, -0.007380f, 0.008895f, -0.004207f, 0.015141f, -0.007339f, -0.000144f, -0.010404f, 0.006865f, 0.012634f, -0.013643f, 0.028524f, -0.006836f, 0.003239f, -0.004343f, -0.006045f, 0.002793f, -0.006805f, -0.023630f, 0.005498f, -0.006062f, 0.000340f, -0.014683f, 0.005216f, + -0.005331f, -0.022236f, -0.011151f, -0.004653f, -0.021578f, 0.014416f, 0.030556f, 0.039829f, -0.035772f, -0.024335f, -0.015271f, 0.004665f, 0.008652f, -0.007386f, 0.004933f, -0.008356f, 0.003264f, 0.021235f, 0.014997f, -0.023769f, 0.038320f, 0.002295f, 0.023101f, 0.009307f, -0.005963f, -0.006307f, 0.021546f, -0.010265f, 0.014215f, 0.017005f, -0.000375f, -0.009469f, 0.002263f, 0.017511f, 0.010710f, 0.009687f, 0.008847f, -0.000024f, 0.004271f, 0.006798f, 0.022076f, 0.015732f, -0.009175f, -0.007931f, 0.000067f, -0.003369f, -0.000516f, -0.009370f, -0.005374f, 0.011537f, 0.019746f, 0.005873f, 0.028903f, -0.006307f, 0.031457f, 0.002579f, 0.015793f, 0.033861f, 0.024983f, 0.008591f, 0.008556f, 0.015902f, -0.001318f, -0.012091f, 0.001856f, 0.014959f, -0.006039f, -0.014117f, 0.002570f, -0.001429f, 0.031900f, 0.024908f, 0.001798f, 0.034610f, -0.000847f, 0.018933f, 0.011804f, 0.015058f, 0.000424f, -0.011037f, 0.017547f, -0.002554f, 0.020243f, 0.012492f, 0.040132f, -0.020752f, -0.000712f, -0.042319f, 0.012171f, -0.021139f, 0.000782f, 0.018622f, -0.003629f, 0.006179f, -0.024180f, -0.017627f, + 0.009119f, -0.014142f, 0.008566f, -0.008345f, 0.002619f, 0.022989f, -0.003670f, -0.020779f, 0.005882f, -0.008412f, 0.021788f, -0.022167f, -0.015812f, 0.009841f, 0.010471f, 0.016470f, 0.000537f, -0.000911f, 0.010164f, -0.005526f, -0.015641f, 0.010390f, -0.006530f, -0.011625f, 0.003537f, 0.012955f, -0.009120f, 0.023682f, 0.008990f, 0.000064f, 0.002705f, 0.012118f, 0.004558f, -0.038009f, 0.015562f, -0.002972f, -0.004532f, -0.005658f, 0.020289f, 0.001242f, 0.021594f, 0.002094f, 0.001406f, 0.003659f, -0.006405f, -0.001086f, 0.010119f, -0.011138f, 0.002314f, 0.036862f, 0.002431f, 0.027559f, 0.001293f, -0.003722f, -0.003625f, -0.015881f, -0.037260f, -0.024774f, 0.011214f, 0.018629f, -0.008096f, 0.029938f, 0.011024f, -0.017710f, -0.012521f, 0.027981f, 0.017250f, 0.019667f, 0.004349f, -0.004682f, -0.000447f, 0.002480f, -0.015923f, 0.000426f, -0.007732f, 0.012530f, 0.025007f, 0.010569f, 0.009513f, 0.028450f, 0.024078f, 0.020360f, 0.002439f, 0.008630f, 0.003148f, -0.002672f, -0.003519f, 0.006060f, -0.000428f, -0.014368f, 0.005211f, 0.017396f, 0.001517f, -0.002874f, 0.006568f, -0.037528f, + 0.014745f, -0.013955f, 0.011429f, 0.014927f, 0.013686f, -0.013069f, 0.009640f, 0.000128f, 0.001388f, 0.024844f, 0.018682f, 0.001868f, 0.010807f, 0.008367f, -0.001423f, -0.011614f, 0.004958f, 0.012964f, 0.001955f, 0.018168f, 0.006691f, 0.016592f, 0.031219f, 0.003182f, 0.013646f, 0.014271f, 0.017560f, 0.000990f, -0.008362f, 0.027133f, -0.008089f, 0.022240f, -0.022444f, -0.018217f, 0.029695f, 0.000321f, 0.011018f, 0.018213f, 0.026162f, 0.033302f, 0.015106f, 0.006198f, -0.013533f, 0.008879f, -0.001271f, -0.026101f, 0.025829f, 0.017119f, -0.021048f, 0.001113f, 0.003566f, -0.026004f, 0.012079f, 0.026482f, 0.016571f, 0.004303f, -0.065736f, -0.041149f, 0.012336f, 0.013077f, 0.025782f, 0.043419f, -0.013085f, -0.007572f, -0.015035f, -0.013653f, -0.017605f, -0.018358f, 0.000373f, 0.006555f, 0.004469f, 0.027308f, 0.000052f, 0.026819f, -0.002594f, 0.008932f, 0.011382f, 0.009276f, 0.019019f, 0.014087f, -0.000340f, 0.017531f, -0.001647f, -0.002467f, -0.011795f, 0.011799f, -0.003168f, -0.026962f, -0.024665f, 0.014221f, -0.005002f, 0.031580f, 0.017269f, 0.020253f, 0.005776f, -0.040198f, + 0.007780f, 0.025015f, -0.005801f, 0.007197f, -0.008150f, 0.004895f, 0.029511f, -0.001174f, 0.024308f, 0.044109f, 0.000210f, -0.016695f, -0.002840f, 0.000460f, -0.030184f, 0.037505f, 0.015294f, -0.004938f, -0.004812f, 0.027221f, 0.010018f, -0.032838f, -0.029700f, 0.010660f, -0.014668f, 0.015849f, 0.008257f, 0.005111f, -0.016204f, -0.023254f, -0.004304f, 0.006052f, 0.001374f, 0.025389f, -0.036400f, 0.004809f, -0.002274f, 0.046377f, -0.054445f, -0.014992f, -0.026357f, -0.000791f, 0.009046f, 0.001780f, 0.037102f, -0.037586f, 0.018299f, -0.004854f, 0.007702f, -0.004271f, 0.020562f, -0.010807f, -0.018375f, -0.001254f, -0.005064f, 0.014574f, -0.000771f, 0.009954f, 0.021799f, -0.004136f, -0.015581f, -0.001831f, 0.024484f, -0.013829f, 0.006192f, 0.005721f, 0.001429f, -0.001868f, 0.024360f, -0.000585f, -0.005654f, -0.039551f, 0.013346f, -0.009543f, -0.024645f, -0.021583f, -0.005264f, -0.023957f, -0.013736f, -0.020756f, 0.010602f, -0.024549f, 0.025455f, -0.022497f, 0.016042f, -0.011449f, 0.030781f, -0.028803f, -0.016245f, -0.004019f, 0.018177f, 0.007570f, 0.000912f, -0.011605f, -0.023099f, 0.002844f, + 0.010181f, 0.034555f, 0.018774f, 0.007899f, -0.018587f, 0.012082f, -0.016335f, -0.019032f, 0.018066f, -0.018441f, 0.010112f, 0.022640f, 0.019578f, -0.004404f, -0.005891f, -0.015514f, 0.027761f, 0.002966f, 0.022202f, 0.032460f, 0.044195f, -0.042713f, 0.034810f, 0.024837f, 0.003100f, 0.018416f, 0.058094f, -0.013854f, -0.014169f, 0.007240f, 0.018506f, 0.025201f, 0.009670f, -0.020011f, 0.026777f, -0.007232f, 0.051560f, 0.000555f, -0.006196f, 0.017884f, 0.015011f, 0.014720f, 0.001447f, 0.048341f, -0.036686f, 0.011220f, 0.001263f, 0.014538f, -0.014169f, -0.030447f, 0.017960f, 0.014331f, 0.014997f, -0.009593f, -0.006644f, 0.040532f, 0.016499f, 0.050476f, 0.006362f, -0.016534f, -0.000069f, 0.012360f, -0.002399f, 0.052179f, -0.004558f, 0.028999f, -0.003120f, 0.046823f, 0.018370f, 0.013489f, -0.009314f, -0.001454f, 0.026757f, 0.001457f, 0.028482f, 0.021108f, 0.025303f, -0.030812f, 0.006574f, 0.022986f, 0.028495f, 0.020443f, 0.016825f, 0.036350f, 0.045891f, -0.034557f, -0.003069f, 0.066951f, -0.015567f, -0.020090f, 0.044348f, 0.056565f, 0.000833f, -0.004861f, -0.033860f, 0.021294f, + 0.044660f, 0.000029f, 0.015862f, -0.033302f, 0.036967f, -0.015693f, -0.008304f, -0.028956f, -0.017389f, 0.066669f, 0.003917f, -0.042982f, -0.017104f, 0.000898f, 0.003344f, -0.003783f, 0.052971f, 0.025370f, -0.000928f, -0.018674f, 0.001424f, 0.015126f, -0.002674f, 0.068245f, 0.017656f, 0.031086f, 0.013709f, -0.013002f, -0.033746f, 0.010702f, 0.003438f, 0.007724f, -0.025087f, -0.001264f, -0.015538f, 0.024124f, 0.004346f, 0.005426f, 0.027528f, -0.019253f, -0.010909f, 0.006304f, 0.005647f, 0.008608f, -0.027308f, -0.023501f, -0.050032f, -0.027043f, 0.007512f, -0.029663f, 0.009563f, -0.021014f, -0.008076f, 0.042661f, 0.018665f, -0.017966f, 0.018334f, 0.006624f, 0.006253f, 0.041409f, 0.000056f, 0.049896f, 0.025429f, -0.017933f, -0.050347f, 0.013020f, 0.017653f, 0.035546f, -0.008147f, -0.037654f, -0.004455f, 0.017271f, 0.014320f, -0.002917f, -0.014231f, 0.029341f, -0.034216f, -0.002874f, 0.050042f, -0.011835f, 0.014315f, 0.004342f, 0.006043f, -0.048587f, 0.038892f, -0.004971f, -0.038721f, -0.023402f, 0.019410f, -0.006828f, 0.009461f, -0.001420f, -0.016313f, -0.013011f, 0.006381f, -0.013079f, + -0.003199f, -0.002004f, -0.055654f, -0.015836f, -0.037426f, 0.006745f, 0.012803f, -0.001838f, -0.016640f, 0.004991f, -0.008110f, 0.020040f, -0.049163f, 0.001585f, 0.008265f, 0.026209f, -0.021517f, 0.024225f, -0.021174f, 0.014671f, 0.004252f, 0.018281f, -0.032076f, 0.007689f, -0.015950f, -0.036109f, 0.021938f, -0.029741f, -0.055270f, 0.005708f, -0.005248f, 0.040981f, -0.021050f, 0.003425f, 0.019961f, 0.026044f, 0.032664f, 0.000522f, -0.011194f, -0.023781f, 0.000674f, 0.012117f, 0.021554f, -0.046744f, 0.048225f, -0.004489f, -0.032483f, -0.028917f, -0.043237f, 0.012364f, 0.010555f, 0.010960f, 0.007702f, 0.037798f, -0.015818f, 0.036091f, -0.042942f, -0.002171f, 0.020532f, -0.010971f, -0.046373f, -0.009049f, -0.066839f, 0.029397f, -0.073668f, 0.040762f, -0.051595f, -0.045150f, 0.010184f, 0.035122f, 0.025546f, -0.026549f, 0.023812f, 0.044707f, 0.006098f, 0.005038f, 0.008757f, 0.002285f, -0.029732f, 0.031547f, -0.058431f, -0.036794f, 0.000847f, -0.005373f, -0.005947f, -0.009351f, -0.016374f, 0.005620f, 0.049259f, 0.011499f, 0.004714f, 0.002988f, -0.026838f, 0.028168f, -0.008006f, -0.053831f, + -0.010651f, -0.000701f, -0.001598f, -0.037379f, -0.027932f, 0.025582f, -0.011811f, 0.045196f, 0.005716f, -0.001723f, -0.041342f, -0.022692f, 0.010829f, 0.004349f, -0.013848f, 0.038548f, -0.035475f, -0.021022f, -0.005249f, -0.004000f, 0.033836f, 0.001473f, 0.039931f, -0.001570f, -0.041256f, 0.007496f, -0.036483f, 0.022084f, -0.010652f, 0.030690f, 0.053394f, -0.094962f, 0.022795f, 0.011666f, 0.005103f, 0.034194f, -0.011076f, 0.005465f, 0.073531f, 0.063213f, -0.022023f, -0.028514f, -0.004645f, -0.053221f, 0.026229f, -0.005708f, 0.007878f, 0.001127f, -0.028708f, 0.073647f, -0.036124f, -0.137452f, -0.023065f, 0.024234f, -0.094101f, -0.018159f, 0.024959f, -0.079412f, 0.007187f, 0.047508f, -0.038845f, 0.047436f, -0.051495f, 0.040452f, 0.049586f, -0.036363f, 0.010825f, -0.007236f, -0.002557f, -0.016680f, -0.024813f, -0.006114f, 0.028930f, -0.023288f, -0.039002f, -0.021320f, -0.032217f, -0.005068f, -0.026190f, -0.005646f, 0.007689f, -0.007243f, 0.027878f, -0.030123f, -0.038846f, 0.025794f, -0.040921f, -0.056187f, -0.074090f, -0.026016f, -0.006063f, 0.011932f, 0.034386f, -0.017806f, 0.012835f, 0.016723f, + -0.017501f, -0.007431f, 0.059235f, -0.043695f, -0.006611f, 0.042593f, 0.008445f, 0.033309f, -0.013981f, 0.011491f, 0.043005f, 0.024025f, -0.008654f, -0.006815f, -0.036546f, 0.011483f, 0.041325f, -0.046975f, -0.022137f, -0.015970f, 0.067134f, 0.045189f, -0.064967f, -0.013601f, 0.057938f, -0.018242f, -0.035812f, -0.026027f, -0.035858f, -0.022037f, 0.058721f, 0.034794f, -0.004429f, 0.025569f, -0.006031f, 0.031280f, -0.019938f, -0.012520f, 0.065508f, -0.028380f, 0.012321f, -0.020256f, -0.006384f, -0.002306f, 0.018493f, 0.051196f, 0.021165f, -0.037677f, -0.009659f, -0.003622f, -0.004505f, 0.027654f, 0.004977f, 0.050987f, -0.014631f, 0.006766f, -0.004355f, 0.012937f, -0.043436f, 0.024034f, -0.039900f, 0.024893f, -0.000823f, 0.037724f, -0.009242f, 0.026913f, -0.012485f, 0.005868f, 0.019008f, -0.021634f, 0.019718f, 0.037061f, 0.053368f, -0.031935f, 0.054730f, 0.017261f, 0.064680f, -0.023410f, 0.013872f, -0.008224f, -0.005574f, -0.018475f, -0.002059f, -0.027891f, -0.100433f, -0.072690f, -0.017339f, -0.010278f, 0.017398f, -0.003136f, 0.026851f, 0.026234f, -0.053149f, -0.019797f, -0.019428f, 0.049498f, + -0.075217f, 0.067901f, -0.021707f, -0.022273f, 0.016454f, 0.030746f, -0.059146f, -0.013162f, -0.000353f, 0.009913f, 0.001768f, -0.003303f, 0.027656f, -0.019258f, 0.002428f, 0.013517f, 0.015600f, 0.022423f, 0.018755f, 0.004912f, -0.032908f, -0.008186f, 0.041919f, -0.043705f, -0.036968f, 0.042810f, 0.014119f, 0.029669f, 0.047728f, 0.073795f, -0.018253f, -0.050118f, 0.063006f, -0.027861f, -0.011836f, 0.064746f, 0.019989f, -0.026559f, -0.070628f, -0.048080f, -0.007922f, -0.027849f, 0.031884f, 0.063653f, 0.032873f, -0.024766f, 0.066779f, 0.020527f, -0.025257f, 0.016406f, 0.074706f, 0.019563f, 0.013949f, -0.018202f, -0.061038f, -0.083429f, -0.065024f, -0.006972f, 0.048421f, 0.012628f, 0.030517f, 0.113331f, 0.056728f, -0.071480f, -0.046729f, 0.028496f, -0.095726f, -0.046056f, 0.082998f, 0.027773f, -0.105678f, -0.090011f, -0.039794f, -0.067781f, -0.061571f, -0.032106f, -0.100637f, 0.074109f, 0.033391f, 0.025659f, 0.031490f, -0.008625f, 0.038076f, 0.031370f, 0.044216f, -0.005514f, 0.059638f, -0.033370f, 0.046003f, -0.013461f, -0.029925f, -0.008302f, -0.050965f, 0.007709f, -0.016687f, 0.021141f, + -0.010485f, -0.018967f, 0.055172f, -0.057682f, 0.041830f, -0.000205f, -0.022497f, -0.008637f, 0.026527f, 0.027682f, 0.022407f, 0.050719f, 0.043308f, -0.026881f, -0.002101f, -0.023962f, 0.026003f, -0.021151f, 0.021268f, 0.024960f, 0.015015f, 0.014491f, 0.013122f, -0.012871f, 0.058677f, -0.004055f, 0.020760f, 0.006325f, 0.029808f, 0.014651f, -0.059769f, 0.004870f, -0.033499f, 0.010420f, 0.034145f, -0.004925f, -0.021617f, -0.024943f, 0.066581f, -0.063803f, -0.045035f, 0.094594f, -0.033188f, 0.024154f, 0.017107f, 0.029723f, -0.005872f, 0.014862f, -0.056563f, 0.003012f, 0.074800f, -0.036395f, -0.013230f, 0.052345f, 0.012193f, -0.049929f, 0.023293f, -0.070180f, -0.257008f, -0.276355f, -0.018995f, -0.162327f, 0.126407f, 0.481837f, 0.204525f, 0.287108f, 0.364389f, -0.149994f, -0.109337f, -0.048478f, -0.345265f, -0.243473f, -0.085693f, -0.376715f, -0.170040f, -0.041240f, -0.160117f, 0.027486f, 0.335938f, 0.305678f, 0.330087f, 0.432214f, 0.255670f, -0.031941f, 0.089278f, -0.106672f, -0.401570f, -0.220717f, -0.167263f, -0.333282f, -0.232979f, 0.004902f, -0.260417f, -0.089899f, 0.045609f, -0.257674f, + -0.138142f, 0.180388f, 0.063038f, 0.196442f, 0.496633f, 0.405009f, 0.323275f, 0.592511f, 0.425195f, -0.013328f, 0.053234f, -0.117484f, -0.545613f, -0.517944f, -0.537888f, -0.828601f, -0.566691f, -0.348893f, -0.345782f, 0.000958f, 0.260105f, 0.299377f, 0.415785f, 0.638892f, 0.586423f, 0.500960f, 0.489710f, 0.286589f, 0.098520f, 0.023999f, -0.026560f, -0.208883f, -0.373671f, -0.445265f, -0.477228f, -0.624737f, -0.476615f, -0.186451f, 0.054341f, 0.053551f}, + {0.016394f, 0.003508f, -0.000366f, -0.002725f, -0.005240f, -0.003985f, 0.004793f, 0.006277f, 0.003167f, 0.005132f, 0.000969f, -0.003613f, -0.000492f, 0.000282f, -0.003748f, -0.003799f, -0.007416f, 0.010633f, -0.004831f, 0.009252f, -0.006533f, -0.008086f, 0.001099f, 0.013007f, -0.000873f, 0.005309f, -0.001478f, 0.003674f, 0.005456f, 0.004156f, 0.006924f, 0.004429f, -0.012967f, 0.000752f, -0.007141f, 0.002178f, -0.003372f, -0.001600f, -0.002531f, 0.000472f, -0.001100f, -0.002449f, 0.000097f, -0.001281f, 0.006619f, 0.001953f, 0.000706f, 0.005540f, 0.005299f, 0.001018f, -0.002933f, -0.002556f, -0.002782f, 0.003073f, -0.000192f, 0.000415f, -0.005086f, 0.013371f, 0.006090f, 0.003227f, -0.002376f, -0.002842f, 0.005882f, 0.001541f, -0.000502f, 0.001817f, -0.002937f, 0.001690f, -0.004191f, 0.000138f, 0.003490f, -0.005721f, -0.003868f, -0.002079f, 0.000276f, 0.000751f, 0.003185f, -0.014805f, 0.006690f, -0.016793f, 0.002901f, 0.000858f, 0.000710f, -0.011572f, -0.004298f, 0.002746f, -0.002775f, 0.003311f, 0.005540f, 0.003180f, -0.000457f, 0.004255f, -0.012994f, -0.000050f, -0.000790f, -0.000673f, + 0.006684f, 0.010247f, -0.011415f, -0.002863f, -0.007032f, -0.002569f, 0.003686f, 0.006910f, 0.000909f, 0.001433f, -0.003006f, -0.004001f, -0.003211f, -0.002629f, -0.005317f, 0.002390f, -0.005350f, -0.003830f, 0.005575f, -0.005346f, 0.003943f, 0.000304f, -0.012782f, -0.004645f, -0.007133f, -0.002048f, 0.005139f, -0.004104f, -0.001286f, -0.004043f, -0.003953f, -0.003032f, 0.005058f, 0.007546f, 0.001318f, 0.004024f, 0.003380f, -0.004599f, -0.008094f, 0.003906f, 0.003451f, -0.002124f, -0.006925f, -0.006108f, 0.005164f, 0.000684f, 0.003904f, 0.001492f, -0.010481f, -0.003830f, -0.003768f, 0.005511f, 0.002637f, -0.010926f, 0.003252f, -0.005894f, -0.000942f, -0.019987f, 0.013961f, -0.009309f, 0.001780f, -0.000834f, -0.003313f, 0.010843f, -0.008709f, -0.005569f, 0.000391f, 0.011457f, -0.003678f, -0.000113f, -0.000798f, 0.009589f, -0.005097f, -0.013976f, -0.002866f, -0.006911f, -0.009798f, 0.000951f, -0.000466f, 0.002266f, 0.006203f, 0.010270f, 0.006353f, 0.001552f, 0.015102f, 0.006390f, 0.000807f, 0.011195f, 0.011360f, -0.000223f, -0.005671f, 0.001104f, 0.005167f, 0.004609f, 0.000186f, -0.001411f, + -0.008322f, -0.006828f, -0.003464f, 0.009225f, 0.003749f, 0.015360f, 0.008488f, 0.000160f, 0.005106f, 0.006776f, 0.002206f, -0.008192f, 0.010019f, -0.002990f, 0.005332f, 0.000546f, 0.003302f, -0.009823f, -0.001533f, -0.002410f, 0.004007f, -0.002221f, -0.003894f, 0.012412f, -0.000596f, -0.007250f, 0.003534f, -0.005136f, 0.005464f, -0.002214f, 0.008679f, 0.008856f, 0.008396f, 0.004523f, -0.007368f, 0.006442f, -0.000309f, 0.007016f, 0.003895f, 0.004409f, 0.000037f, -0.004148f, 0.004075f, 0.001509f, 0.001080f, 0.001874f, -0.016398f, 0.005094f, -0.010544f, 0.001571f, 0.003087f, 0.003379f, -0.004989f, 0.008464f, 0.001089f, -0.003295f, -0.001766f, 0.009916f, 0.006898f, -0.004464f, -0.005921f, -0.004697f, 0.003556f, 0.007028f, -0.004636f, -0.004776f, 0.001041f, -0.018398f, -0.000409f, -0.007881f, -0.003468f, -0.007831f, -0.010598f, -0.001294f, 0.008878f, 0.002529f, -0.008741f, -0.002228f, 0.007510f, 0.002396f, -0.005563f, 0.008999f, -0.004394f, -0.012537f, -0.004236f, 0.007070f, -0.003631f, 0.008374f, 0.015397f, 0.012939f, 0.001222f, -0.000115f, 0.003919f, -0.001878f, -0.010018f, 0.000193f, + 0.002904f, -0.006625f, 0.005007f, -0.013229f, -0.002703f, 0.000985f, -0.006412f, -0.004182f, 0.005044f, 0.011862f, -0.009941f, -0.009279f, 0.005078f, 0.006263f, 0.010111f, 0.003906f, -0.007190f, 0.009239f, 0.007290f, 0.027761f, -0.010473f, -0.004489f, -0.001538f, 0.020074f, -0.001749f, 0.015234f, -0.010691f, 0.013448f, -0.012869f, -0.011276f, 0.002990f, 0.006477f, -0.007506f, -0.001692f, 0.004176f, -0.000807f, 0.005375f, -0.007773f, 0.009427f, 0.003523f, -0.009645f, -0.000185f, 0.004183f, 0.003275f, 0.001986f, 0.018855f, 0.015106f, 0.011817f, 0.000218f, 0.007722f, 0.000926f, 0.002335f, 0.005809f, -0.017091f, -0.002422f, 0.010639f, 0.007047f, 0.008276f, 0.000016f, -0.002944f, 0.004012f, -0.000583f, 0.021272f, -0.003108f, 0.003757f, 0.002179f, 0.001234f, -0.006186f, 0.012837f, -0.001411f, 0.013339f, -0.007235f, -0.007383f, 0.005419f, -0.004847f, -0.017586f, -0.007864f, 0.003447f, -0.001444f, -0.012662f, 0.003735f, -0.000125f, 0.016572f, 0.001222f, 0.001694f, -0.005249f, 0.006259f, 0.005707f, -0.000962f, -0.001335f, 0.014805f, 0.010096f, 0.011091f, -0.007366f, -0.008926f, -0.008525f, + 0.019845f, -0.016425f, -0.000822f, -0.017147f, -0.011458f, -0.006890f, 0.014103f, 0.008201f, -0.020740f, -0.028035f, -0.011154f, 0.009470f, 0.006450f, -0.004447f, 0.008970f, -0.000187f, -0.002904f, 0.000815f, -0.015134f, 0.004139f, -0.002503f, 0.000983f, 0.004000f, 0.000767f, -0.000679f, 0.005918f, 0.004724f, -0.009868f, -0.010326f, 0.010850f, -0.004189f, -0.005576f, 0.006026f, -0.019093f, 0.003767f, 0.003838f, -0.018247f, 0.006255f, 0.017268f, 0.010868f, 0.011566f, 0.002482f, 0.005970f, 0.017123f, 0.002308f, 0.003251f, -0.020644f, 0.010401f, 0.013847f, 0.012173f, 0.001290f, 0.012392f, -0.015126f, 0.013900f, -0.005299f, -0.013688f, -0.022484f, -0.000060f, -0.014813f, -0.010725f, -0.006042f, -0.012731f, -0.033782f, 0.001691f, 0.000132f, -0.000730f, 0.003361f, 0.016341f, 0.004168f, 0.006959f, 0.002254f, -0.010857f, -0.000522f, 0.006340f, 0.002102f, 0.005519f, -0.043936f, 0.021284f, 0.002540f, -0.017218f, 0.003894f, -0.002110f, -0.005242f, -0.003711f, -0.009849f, 0.004919f, -0.005161f, 0.000766f, 0.006070f, 0.005557f, 0.018708f, -0.007905f, -0.018316f, 0.009591f, -0.023164f, -0.010146f, + 0.003524f, 0.002901f, 0.002399f, 0.007176f, 0.008992f, 0.007676f, -0.000380f, 0.010242f, 0.000473f, -0.004426f, 0.013735f, 0.008386f, -0.004453f, 0.008041f, -0.014626f, 0.027002f, 0.000829f, 0.004824f, -0.002754f, -0.023638f, -0.004247f, -0.008944f, -0.008389f, 0.003403f, 0.019310f, 0.000333f, 0.000631f, -0.002723f, -0.005564f, -0.012823f, 0.003815f, -0.002263f, 0.006804f, -0.016072f, 0.005194f, 0.008344f, 0.003560f, -0.011893f, -0.004354f, 0.003043f, 0.001359f, 0.009538f, 0.001719f, 0.033184f, -0.009609f, -0.013983f, -0.016192f, -0.004597f, 0.000214f, 0.012261f, -0.016079f, -0.001374f, -0.006874f, 0.008466f, -0.023166f, 0.001121f, -0.005066f, -0.006189f, 0.019143f, -0.006930f, -0.005319f, 0.003676f, 0.005205f, -0.016490f, -0.016699f, -0.015255f, -0.014456f, -0.023146f, 0.013588f, -0.013766f, 0.003331f, 0.004952f, 0.019859f, -0.003925f, -0.005572f, 0.015565f, 0.003024f, 0.002857f, -0.019603f, -0.012880f, 0.008557f, 0.003537f, 0.006641f, 0.010620f, -0.020652f, -0.000257f, 0.007723f, 0.018520f, -0.000982f, 0.001337f, -0.003664f, -0.000435f, -0.013801f, -0.002896f, -0.004873f, -0.024571f, + -0.002794f, 0.006968f, -0.014732f, 0.005535f, -0.015969f, -0.000471f, -0.011346f, -0.002514f, -0.004193f, 0.001010f, 0.018510f, -0.006013f, -0.000730f, 0.009665f, -0.006597f, 0.005553f, -0.017206f, -0.029070f, -0.016725f, -0.008971f, -0.005190f, 0.002860f, 0.018068f, -0.009206f, 0.003970f, 0.004556f, -0.015046f, 0.004605f, -0.011901f, -0.003744f, 0.005760f, 0.019586f, -0.004258f, -0.000837f, 0.005072f, -0.000057f, -0.018983f, 0.019723f, 0.020672f, -0.005666f, 0.002364f, 0.021680f, -0.021044f, -0.018631f, 0.016671f, -0.003346f, 0.002684f, 0.015244f, -0.002441f, -0.003474f, 0.015147f, -0.026652f, 0.012046f, -0.000662f, 0.005054f, 0.013818f, 0.014102f, -0.014653f, 0.003327f, -0.020342f, 0.006874f, -0.005700f, -0.001812f, -0.013958f, -0.000320f, -0.020263f, 0.002446f, -0.017472f, 0.013096f, -0.005713f, 0.002817f, 0.023235f, 0.010895f, 0.010769f, -0.017616f, 0.003987f, 0.021360f, -0.004280f, -0.029345f, 0.016658f, -0.003214f, 0.003606f, -0.005433f, -0.013102f, 0.020091f, 0.007776f, 0.016457f, 0.004716f, 0.002765f, -0.012501f, -0.016701f, 0.006898f, 0.008498f, 0.009323f, 0.011897f, 0.027049f, + -0.000371f, -0.019733f, -0.012767f, 0.016526f, -0.001726f, -0.016929f, -0.004020f, -0.000513f, -0.004145f, -0.021750f, 0.001047f, 0.003344f, 0.006298f, -0.008026f, 0.013576f, -0.001184f, 0.001990f, 0.015997f, 0.014966f, -0.018975f, 0.021479f, -0.005248f, 0.022736f, -0.019186f, 0.016734f, 0.001554f, -0.002165f, 0.028436f, -0.015386f, 0.001405f, -0.014948f, -0.004656f, 0.043460f, 0.020847f, 0.008934f, 0.006043f, 0.012091f, -0.007297f, -0.000436f, -0.037342f, 0.006503f, -0.001829f, -0.016407f, 0.017492f, 0.012945f, -0.000824f, 0.002779f, -0.021676f, 0.018482f, -0.010257f, 0.019651f, 0.012880f, 0.010311f, -0.015606f, -0.003091f, -0.013153f, 0.018855f, 0.004204f, -0.007392f, 0.033886f, 0.015919f, -0.004057f, 0.001413f, -0.028455f, 0.004424f, 0.001121f, 0.022077f, -0.010260f, -0.029094f, -0.005111f, -0.008295f, -0.005740f, -0.040944f, -0.020378f, -0.043568f, -0.022158f, -0.015742f, 0.004995f, -0.011123f, 0.020354f, 0.002348f, -0.023398f, 0.013955f, -0.015629f, 0.022036f, -0.019644f, -0.015903f, 0.011631f, 0.019925f, 0.019608f, 0.000614f, -0.017788f, -0.013363f, 0.009542f, -0.028256f, -0.033299f, + -0.022524f, -0.004481f, -0.001795f, -0.005594f, 0.006202f, 0.010053f, 0.006642f, -0.001503f, 0.002938f, -0.011635f, 0.005291f, -0.022075f, -0.029967f, -0.000667f, 0.020610f, 0.002250f, -0.009061f, 0.015941f, 0.009064f, 0.015347f, 0.027285f, 0.002031f, -0.010165f, -0.019954f, -0.015930f, 0.006605f, -0.018068f, -0.013403f, 0.002971f, -0.015086f, -0.030537f, -0.017893f, -0.002965f, -0.005328f, 0.005467f, -0.008560f, 0.014800f, 0.002644f, 0.004750f, 0.020264f, -0.004989f, 0.000466f, 0.003767f, -0.020131f, 0.019628f, 0.001117f, -0.020961f, -0.034335f, 0.006611f, 0.000313f, -0.024713f, 0.021854f, 0.014337f, -0.024284f, 0.005632f, 0.017662f, 0.009895f, 0.002402f, 0.015338f, -0.011159f, -0.008787f, -0.002262f, -0.011485f, -0.019015f, 0.023819f, -0.027339f, -0.004953f, 0.005090f, -0.000436f, 0.035218f, -0.038145f, 0.004746f, -0.008289f, -0.007392f, 0.005682f, -0.003066f, 0.004589f, -0.008861f, -0.021904f, 0.017243f, -0.038716f, -0.027789f, 0.018702f, -0.001997f, -0.035369f, 0.016500f, -0.021162f, 0.037715f, 0.006631f, -0.052092f, -0.007624f, 0.003590f, -0.014026f, 0.002796f, 0.007760f, 0.017077f, + 0.014374f, -0.030678f, -0.002437f, 0.001748f, -0.007286f, -0.028188f, -0.005337f, -0.006652f, -0.010466f, -0.009295f, -0.001523f, 0.001009f, 0.021999f, 0.024338f, -0.008972f, 0.012652f, 0.010675f, 0.010531f, 0.024149f, -0.000666f, 0.005704f, -0.030068f, -0.011067f, 0.009268f, -0.006803f, 0.013061f, 0.033629f, 0.004124f, -0.031338f, -0.068591f, -0.001125f, -0.021835f, 0.018263f, -0.013780f, -0.007776f, -0.014298f, -0.037356f, 0.014865f, 0.048056f, 0.001805f, 0.012113f, -0.039386f, 0.007355f, -0.005468f, -0.017684f, 0.003223f, 0.018481f, 0.008502f, 0.015134f, -0.017793f, 0.024659f, 0.012864f, -0.027130f, -0.043195f, -0.000221f, -0.031595f, -0.073943f, -0.046809f, 0.033268f, 0.026633f, 0.043675f, -0.000489f, 0.017175f, 0.003903f, 0.013787f, -0.000973f, 0.008920f, -0.019866f, -0.023220f, -0.014945f, -0.020740f, -0.013986f, -0.014706f, 0.017233f, 0.042284f, 0.008564f, -0.051151f, -0.012883f, 0.009278f, -0.014369f, 0.012874f, -0.030142f, -0.002006f, -0.001814f, 0.002132f, 0.013446f, 0.011332f, 0.001087f, -0.003006f, -0.007541f, 0.012547f, 0.022206f, -0.017980f, -0.029995f, 0.019937f, 0.007998f, + 0.025995f, 0.010293f, 0.037507f, -0.026653f, -0.007984f, 0.022046f, 0.035953f, 0.028934f, 0.019061f, 0.007028f, -0.006328f, 0.000693f, -0.003138f, -0.001568f, 0.013488f, -0.047474f, 0.026042f, -0.005507f, 0.008272f, -0.005040f, 0.036448f, -0.012727f, 0.001414f, -0.009881f, 0.024116f, 0.016263f, -0.036623f, 0.025404f, -0.030535f, -0.004356f, -0.013869f, -0.019430f, 0.018486f, 0.000112f, -0.047825f, -0.006383f, -0.000267f, 0.041501f, -0.044984f, -0.000462f, -0.025345f, -0.072412f, -0.008109f, -0.026329f, -0.057121f, 0.012155f, 0.000123f, -0.010544f, 0.004105f, 0.031649f, -0.001535f, -0.032041f, 0.011691f, 0.002042f, -0.010079f, -0.007134f, -0.005409f, 0.002422f, 0.036108f, -0.007218f, -0.000912f, 0.017026f, 0.012366f, -0.004290f, 0.017658f, 0.016695f, -0.007263f, -0.006584f, -0.013995f, 0.020809f, -0.004418f, -0.033215f, 0.005535f, -0.001240f, 0.012047f, 0.045886f, -0.029639f, -0.046867f, -0.030009f, -0.012846f, 0.006866f, 0.017233f, 0.008713f, 0.035402f, 0.017225f, -0.022687f, -0.013739f, -0.031363f, 0.028500f, 0.018986f, 0.003223f, 0.007640f, -0.018802f, 0.003700f, -0.019953f, 0.036229f, + 0.033628f, 0.004390f, -0.015920f, -0.006594f, 0.003030f, 0.033654f, 0.062052f, 0.041045f, -0.006497f, -0.011051f, 0.000089f, 0.023213f, 0.007627f, 0.022289f, 0.024056f, -0.020112f, -0.002513f, -0.040610f, -0.026240f, 0.016213f, 0.018892f, -0.032425f, -0.000935f, -0.015242f, 0.030101f, -0.026408f, 0.009021f, 0.005811f, 0.055777f, -0.029257f, -0.006205f, -0.030186f, -0.003899f, -0.029780f, -0.024377f, -0.016805f, 0.013702f, -0.032278f, -0.022357f, -0.035379f, -0.006450f, -0.002609f, -0.008379f, -0.014234f, -0.039540f, 0.014438f, -0.026908f, 0.015486f, -0.028372f, 0.042508f, 0.009600f, 0.020829f, -0.004002f, -0.033849f, 0.023484f, 0.014731f, -0.008809f, 0.023093f, 0.031490f, -0.011756f, -0.036172f, -0.018122f, 0.057370f, -0.019590f, 0.002151f, 0.004687f, -0.005112f, 0.015100f, 0.038752f, 0.009512f, 0.018904f, -0.007790f, 0.029074f, 0.003767f, 0.023923f, 0.009418f, 0.011143f, 0.002900f, 0.006669f, 0.046014f, 0.017719f, 0.105263f, -0.056959f, 0.043317f, 0.061054f, -0.010902f, 0.006981f, 0.032673f, -0.014635f, -0.001988f, 0.053501f, 0.022801f, 0.000211f, 0.029316f, -0.000153f, 0.054087f, + 0.060808f, -0.001624f, 0.043319f, 0.042820f, -0.004710f, 0.017782f, -0.047805f, -0.016895f, 0.038420f, 0.001039f, 0.037989f, 0.052995f, 0.044164f, -0.012225f, 0.028252f, -0.049881f, -0.074721f, -0.034392f, -0.028933f, 0.014365f, -0.001400f, 0.015503f, 0.018930f, 0.040588f, 0.032723f, 0.008365f, -0.036065f, -0.007845f, 0.033668f, 0.007491f, -0.018133f, 0.018580f, 0.047071f, -0.009341f, 0.015885f, -0.043230f, 0.018050f, -0.035107f, -0.008965f, -0.023948f, -0.041071f, 0.020457f, 0.002514f, 0.007547f, 0.048494f, -0.031066f, -0.029546f, 0.012627f, 0.050610f, -0.044711f, -0.026084f, 0.011087f, -0.012147f, 0.065688f, 0.053595f, -0.055813f, -0.017734f, -0.045558f, 0.003635f, 0.037219f, -0.018259f, -0.036659f, -0.011400f, -0.004124f, 0.013376f, -0.043214f, 0.012268f, 0.065134f, 0.009803f, -0.056275f, -0.068252f, 0.051796f, -0.063638f, -0.067895f, -0.023503f, 0.008746f, -0.016000f, 0.008158f, 0.002957f, -0.069698f, -0.042358f, -0.053232f, 0.008946f, 0.024081f, 0.005410f, 0.038916f, 0.033599f, 0.050364f, 0.012167f, 0.055397f, 0.021575f, 0.034720f, -0.023286f, -0.010320f, -0.023474f, -0.048047f, + -0.037312f, -0.072634f, -0.046453f, -0.016101f, -0.045830f, 0.006435f, -0.006800f, -0.003492f, 0.011364f, 0.011427f, 0.000897f, 0.031657f, -0.014069f, -0.030058f, 0.034775f, 0.001871f, -0.059399f, -0.024804f, -0.011784f, -0.065896f, -0.055001f, -0.048833f, -0.001936f, 0.021792f, -0.000296f, -0.025658f, -0.009848f, 0.026191f, 0.009611f, 0.063594f, 0.004730f, -0.086339f, -0.036217f, -0.014784f, 0.005924f, 0.013900f, -0.018113f, -0.022025f, 0.023274f, -0.046464f, -0.018025f, -0.036517f, 0.019184f, -0.072884f, -0.057195f, -0.058354f, -0.060921f, 0.006103f, -0.040861f, -0.016772f, -0.064590f, 0.030657f, 0.070266f, 0.004676f, 0.032132f, -0.024957f, -0.018409f, 0.048252f, 0.019380f, 0.048571f, -0.081738f, 0.033952f, 0.060380f, -0.007263f, 0.069743f, -0.038644f, -0.107365f, -0.056973f, -0.000940f, -0.012369f, 0.011744f, -0.040158f, 0.037050f, 0.050379f, -0.046921f, 0.039498f, -0.025498f, -0.033748f, -0.074320f, -0.032822f, -0.042389f, -0.030795f, -0.033652f, 0.031157f, 0.005883f, -0.069682f, -0.084768f, 0.061953f, 0.015815f, 0.020242f, -0.018737f, 0.002057f, -0.021726f, -0.002678f, 0.021370f, 0.026439f, + 0.028948f, 0.068915f, 0.004374f, -0.055882f, 0.072624f, -0.011462f, -0.015810f, -0.036894f, 0.032407f, -0.062331f, -0.035919f, 0.028168f, -0.026878f, -0.050031f, -0.053065f, -0.054808f, -0.006743f, 0.001090f, 0.009567f, -0.021199f, 0.065620f, 0.045657f, 0.000034f, -0.036354f, -0.045470f, -0.065834f, 0.020599f, 0.004454f, -0.004680f, -0.014383f, 0.091447f, -0.003963f, -0.015719f, 0.025372f, 0.027236f, -0.067364f, 0.051912f, 0.034108f, 0.102120f, 0.045441f, 0.003217f, -0.032866f, 0.049169f, 0.000261f, 0.004274f, -0.022108f, 0.044858f, -0.050044f, 0.038065f, 0.037107f, 0.038500f, 0.019543f, -0.013257f, 0.051450f, 0.063496f, -0.011516f, 0.026523f, -0.037645f, 0.063787f, 0.028431f, 0.021624f, -0.038913f, -0.087860f, 0.019095f, -0.026702f, -0.018603f, -0.035519f, -0.043515f, 0.027505f, 0.013904f, -0.021751f, 0.006769f, 0.002241f, -0.022065f, -0.107818f, -0.004892f, -0.022930f, -0.009164f, -0.001766f, 0.077988f, 0.051707f, -0.023316f, 0.019299f, -0.047980f, 0.005194f, 0.039671f, -0.057752f, -0.050829f, -0.044302f, 0.071177f, -0.050266f, 0.016775f, 0.054281f, -0.071919f, -0.070375f, 0.066435f, + 0.049297f, 0.056344f, 0.069805f, 0.029440f, -0.093469f, 0.023828f, 0.024627f, -0.004653f, 0.146412f, -0.011715f, -0.026417f, -0.063368f, -0.063088f, 0.034829f, -0.060265f, 0.040762f, 0.002168f, 0.046653f, -0.014685f, 0.025333f, 0.077791f, 0.009215f, -0.061107f, 0.094245f, 0.024951f, -0.003067f, 0.067806f, 0.035289f, 0.055346f, 0.022740f, -0.075555f, -0.014108f, -0.026603f, 0.039956f, 0.093784f, -0.054631f, 0.017308f, -0.024552f, 0.043141f, 0.049871f, -0.059019f, 0.054593f, -0.046960f, -0.041179f, 0.025016f, 0.045571f, 0.004155f, 0.017367f, 0.035221f, -0.046438f, 0.046210f, 0.006857f, 0.055835f, -0.006080f, -0.012071f, 0.020972f, 0.081485f, -0.032166f, 0.066136f, -0.027524f, 0.014786f, 0.020371f, 0.065896f, -0.000152f, -0.002542f, 0.025735f, 0.098198f, 0.010073f, -0.074231f, -0.002399f, -0.089804f, 0.058444f, 0.001218f, 0.153032f, 0.032755f, -0.039720f, -0.012667f, 0.036944f, -0.032727f, 0.056432f, 0.097305f, 0.070784f, 0.000990f, 0.032559f, 0.041180f, -0.000437f, -0.046980f, -0.001678f, -0.012881f, -0.150932f, 0.093246f, 0.077681f, 0.061042f, 0.021952f, -0.075556f, 0.059982f, + -0.034908f, 0.060946f, -0.053198f, 0.010381f, 0.030070f, -0.026973f, 0.005581f, 0.012268f, -0.013301f, -0.028339f, -0.053548f, 0.085093f, -0.017086f, -0.015725f, -0.026229f, -0.003918f, -0.009667f, 0.028100f, -0.054600f, -0.015646f, -0.033340f, 0.012782f, -0.033446f, 0.034753f, 0.002014f, 0.018131f, -0.036940f, -0.071089f, 0.005794f, -0.051887f, -0.052137f, 0.025117f, -0.039323f, -0.035150f, 0.071834f, -0.025315f, -0.037666f, 0.005417f, -0.038714f, 0.019710f, 0.029073f, -0.007444f, -0.030907f, -0.009775f, 0.022947f, 0.017537f, -0.012195f, -0.001368f, 0.064323f, -0.010784f, -0.034193f, -0.047719f, -0.003340f, -0.020862f, -0.068331f, 0.067642f, 0.027066f, -0.082460f, 0.054672f, -0.003432f, -0.030791f, 0.159266f, 0.093387f, 0.073696f, 0.042734f, 0.023107f, -0.033890f, 0.007034f, 0.021143f, 0.020476f, 0.010405f, 0.072350f, 0.018078f, -0.015808f, -0.033721f, -0.128221f, -0.071311f, 0.124376f, 0.017133f, 0.041792f, 0.023413f, -0.028930f, 0.024289f, 0.036167f, 0.010052f, -0.001947f, -0.028289f, -0.003611f, 0.009776f, -0.012271f, -0.009170f, 0.006788f, 0.015157f, 0.037403f, -0.023415f, 0.016712f, + 0.002781f, 0.030226f, -0.008770f, 0.007371f, 0.010686f, -0.031033f, 0.027915f, 0.006078f, 0.007842f, 0.011354f, 0.011067f, -0.018957f, 0.023339f, -0.016066f, 0.005705f, 0.023071f, -0.010409f, 0.022684f, -0.007869f, 0.028128f, 0.021405f, 0.013775f, -0.031459f, 0.026291f, 0.019462f, 0.016814f, 0.041463f, -0.036880f, -0.002495f, 0.001748f, -0.007421f, 0.014062f, -0.019316f, -0.030073f, 0.022880f, 0.027275f, 0.013229f, -0.000790f, 0.005914f, -0.001116f, 0.013530f, -0.008900f, 0.005693f, -0.021474f, 0.022102f, -0.034638f, 0.035273f, 0.022247f, -0.011810f, 0.002226f, 0.014379f, 0.003902f, 0.012672f, 0.003278f, 0.001030f, 0.002141f, 0.023543f, -0.098202f, -0.228618f, -0.036631f, 0.133471f, 0.121293f, 0.298624f, 0.156033f, -0.080702f, -0.024723f, -0.165795f, -0.280909f, -0.019727f, -0.127615f, -0.018154f, 0.204788f, 0.087017f, 0.158273f, 0.242346f, -0.028084f, -0.036032f, -0.123121f, -0.210201f, -0.166493f, -0.011283f, -0.062375f, -0.024309f, 0.174530f, 0.054641f, 0.113679f, 0.205299f, 0.034136f, -0.001524f, 0.021760f, -0.125987f, -0.189176f, 0.031824f, -0.195454f, -0.129020f, 0.044084f, + -0.020557f, 0.032495f, 0.251349f, 0.029633f, 0.095760f, 0.206710f, -0.042021f, 0.007204f, 0.044890f, -0.197680f, -0.166673f, -0.057726f, -0.227124f, -0.086490f, 0.027601f, 0.042934f, 0.154391f, 0.220462f, 0.154957f, 0.111661f, 0.094727f, -0.035018f, -0.133822f, -0.107030f, -0.165173f, -0.170050f, -0.075287f, -0.041371f, -0.000487f, 0.146936f, 0.170490f, 0.057180f, 0.132906f, 0.043652f, -0.043896f, 0.034991f, -0.092458f, -0.097676f, -0.014884f, -0.016038f} + }, + { + {0.014085f, 0.003015f, -0.003886f, -0.001391f, -0.012989f, -0.006968f, 0.003037f, -0.000664f, -0.000688f, 0.011340f, 0.009528f, 0.002088f, -0.002756f, -0.002327f, -0.006276f, 0.005696f, 0.000631f, -0.003797f, -0.001952f, -0.003632f, -0.001690f, -0.000933f, -0.008573f, -0.007868f, 0.007024f, 0.006528f, 0.002812f, -0.008093f, -0.003750f, -0.001893f, 0.003547f, -0.002993f, -0.004002f, -0.000711f, 0.000351f, 0.001679f, 0.003808f, 0.000765f, 0.005449f, -0.006988f, -0.006472f, -0.008698f, -0.006355f, -0.003515f, 0.000815f, -0.001142f, -0.001206f, -0.003676f, 0.001338f, -0.001025f, 0.000739f, 0.006166f, 0.004616f, -0.002338f, -0.004630f, -0.003376f, 0.001808f, 0.001424f, 0.000608f, -0.000514f, 0.012116f, 0.007436f, 0.001175f, -0.002393f, 0.000596f, -0.007037f, 0.000435f, -0.000466f, 0.001926f, -0.001106f, -0.003904f, 0.006675f, -0.008500f, 0.000402f, 0.000820f, -0.000836f, -0.008431f, 0.008433f, 0.001963f, -0.004904f, -0.002288f, -0.010673f, -0.002996f, 0.008553f, -0.004829f, -0.003591f, 0.002509f, -0.001582f, -0.000519f, 0.000337f, -0.002984f, -0.002467f, 0.010437f, 0.004945f, -0.001479f, 0.000295f, + -0.001765f, -0.003401f, 0.001279f, 0.003564f, 0.005663f, -0.001729f, 0.002053f, 0.002458f, -0.009588f, -0.003130f, -0.000202f, -0.002118f, 0.005584f, 0.000268f, -0.002164f, 0.004929f, -0.004146f, 0.001485f, 0.007870f, -0.004747f, 0.000321f, 0.000795f, 0.005924f, -0.002651f, 0.008241f, -0.012267f, -0.004568f, 0.004893f, -0.002580f, -0.010465f, 0.000512f, 0.001700f, 0.003154f, 0.003119f, -0.001328f, -0.004735f, 0.000133f, -0.004348f, -0.002951f, 0.000777f, 0.004750f, 0.004195f, -0.007050f, 0.005494f, -0.007711f, 0.006119f, 0.000032f, 0.005265f, -0.002640f, -0.005379f, -0.002562f, 0.003244f, -0.001261f, -0.001743f, -0.001779f, 0.004453f, -0.006406f, -0.028480f, 0.009344f, -0.010351f, -0.004133f, -0.008471f, -0.008714f, 0.004955f, -0.002918f, -0.007337f, -0.003966f, 0.010011f, 0.014835f, -0.008105f, -0.003047f, -0.000698f, -0.010725f, -0.010025f, 0.000726f, -0.000983f, 0.006506f, 0.002241f, 0.004836f, -0.004245f, -0.002720f, -0.005508f, 0.001529f, 0.009643f, 0.004124f, 0.001925f, -0.006223f, 0.004755f, 0.001375f, 0.002944f, -0.004080f, 0.000438f, 0.001371f, 0.002243f, -0.005530f, -0.003914f, + 0.001452f, -0.007463f, -0.007788f, 0.003435f, 0.005819f, -0.006473f, -0.003372f, -0.002407f, 0.000422f, 0.006001f, 0.004665f, 0.002205f, 0.000836f, 0.015312f, 0.005889f, -0.004584f, 0.005839f, 0.004413f, -0.004258f, 0.007387f, -0.002716f, -0.001531f, -0.000091f, -0.002824f, 0.006304f, -0.003248f, 0.001622f, 0.004204f, 0.003026f, -0.005225f, 0.002188f, 0.001562f, 0.001108f, -0.001366f, -0.002839f, -0.000403f, 0.008831f, 0.001667f, 0.003866f, 0.021828f, 0.008796f, -0.001355f, 0.001139f, 0.005121f, 0.002753f, -0.001311f, -0.009208f, 0.000458f, 0.008468f, -0.008370f, -0.000794f, -0.015844f, 0.004359f, 0.006671f, 0.000596f, -0.003656f, 0.011858f, 0.008378f, -0.007374f, 0.003800f, 0.000607f, -0.006452f, 0.010602f, 0.005912f, -0.000513f, 0.004375f, 0.010112f, -0.002922f, -0.001886f, 0.000828f, 0.000229f, 0.000403f, 0.002559f, 0.012379f, 0.002632f, 0.001992f, -0.019571f, -0.000872f, 0.001073f, 0.002535f, -0.008760f, 0.002247f, -0.007032f, -0.005349f, -0.007448f, -0.004794f, 0.000219f, 0.002485f, -0.004485f, 0.004853f, -0.011172f, -0.006314f, -0.000524f, 0.000058f, 0.003804f, -0.004331f, + -0.000898f, -0.003895f, 0.002617f, 0.006372f, -0.003572f, 0.000896f, -0.003088f, -0.000342f, 0.009634f, 0.007710f, -0.002928f, 0.007244f, -0.003312f, -0.005711f, -0.007477f, -0.000321f, -0.000844f, 0.034857f, -0.014233f, 0.003467f, -0.000600f, -0.005654f, 0.006084f, 0.010248f, -0.005577f, 0.010972f, 0.000083f, 0.011662f, 0.003698f, 0.004553f, -0.004088f, 0.006909f, 0.003062f, 0.007063f, -0.012805f, 0.007897f, -0.007303f, 0.003185f, -0.006025f, 0.009145f, -0.001644f, 0.009214f, -0.004335f, 0.003849f, -0.002608f, -0.000011f, 0.000297f, -0.000120f, 0.004023f, 0.018427f, 0.001467f, 0.005953f, -0.004200f, -0.007415f, 0.001046f, 0.000954f, 0.001056f, 0.003505f, -0.004958f, 0.012430f, -0.000004f, 0.010578f, 0.001423f, -0.003319f, -0.004555f, -0.013668f, 0.007944f, 0.005698f, -0.006016f, 0.001748f, 0.006671f, 0.004138f, -0.016126f, 0.011229f, 0.000323f, 0.008359f, -0.009261f, -0.009761f, -0.004335f, -0.009385f, -0.000895f, 0.013795f, 0.003737f, -0.003164f, 0.002033f, 0.008765f, -0.000872f, -0.003569f, -0.001150f, -0.003829f, 0.006770f, -0.006320f, 0.001650f, -0.002003f, 0.009023f, -0.020887f, + 0.004346f, -0.006515f, -0.019104f, -0.014665f, 0.007906f, 0.008876f, 0.011571f, -0.005578f, -0.002931f, 0.008074f, 0.003819f, 0.012008f, 0.003880f, -0.001164f, 0.001223f, 0.007740f, 0.014750f, -0.003595f, 0.004292f, 0.000013f, 0.011935f, 0.002954f, -0.000754f, -0.002180f, -0.009152f, -0.013636f, 0.000110f, -0.001750f, 0.004120f, -0.000528f, 0.003209f, 0.002701f, 0.000782f, 0.001177f, 0.002689f, -0.004432f, 0.000451f, 0.006914f, 0.010228f, -0.004712f, 0.001130f, -0.004094f, -0.006031f, 0.008898f, -0.006653f, -0.015894f, -0.006524f, -0.003756f, 0.007701f, 0.001094f, 0.008502f, 0.008362f, -0.004326f, 0.000843f, -0.006908f, -0.000415f, -0.003057f, 0.010672f, -0.012899f, 0.000228f, 0.004126f, -0.012850f, -0.015354f, 0.000923f, 0.004518f, 0.010361f, -0.006876f, -0.015246f, 0.008219f, -0.013918f, 0.017188f, 0.010809f, 0.002798f, 0.008594f, 0.000347f, -0.003371f, -0.046890f, 0.009075f, 0.001866f, -0.023796f, -0.029892f, -0.005223f, -0.023184f, 0.017967f, 0.004815f, -0.014187f, 0.000388f, -0.006870f, 0.001589f, -0.009848f, 0.000737f, -0.001037f, -0.000347f, 0.012510f, -0.005103f, -0.003541f, + -0.005874f, -0.005297f, -0.012715f, -0.008738f, 0.011881f, -0.005596f, 0.007360f, -0.007370f, 0.002949f, -0.000306f, 0.006623f, -0.007676f, 0.004925f, -0.007709f, 0.002743f, -0.003270f, -0.004875f, 0.003938f, -0.011849f, 0.003892f, -0.006203f, -0.002618f, -0.008688f, 0.019638f, 0.009265f, 0.017154f, -0.007847f, 0.006933f, 0.005708f, -0.004030f, 0.002878f, -0.008892f, 0.008641f, 0.018856f, 0.015114f, -0.011196f, -0.003030f, 0.004015f, -0.007852f, -0.005717f, -0.013601f, -0.025845f, -0.008593f, 0.012451f, 0.004748f, -0.006782f, 0.002756f, 0.000794f, -0.006565f, -0.012568f, -0.011596f, 0.008085f, 0.001873f, -0.019151f, 0.003426f, 0.001328f, 0.002087f, -0.017994f, -0.007402f, -0.004526f, 0.013896f, -0.003416f, 0.003414f, -0.013941f, -0.014642f, 0.000977f, 0.004419f, -0.008398f, -0.004839f, -0.007852f, 0.016932f, 0.003996f, -0.005543f, -0.011978f, -0.012030f, -0.011533f, -0.003224f, 0.006018f, 0.016954f, 0.005822f, 0.009592f, -0.007232f, 0.018022f, 0.010642f, 0.003329f, 0.000583f, 0.018505f, -0.010418f, 0.001751f, 0.006267f, 0.012499f, -0.019846f, -0.010353f, 0.009274f, 0.003508f, -0.002351f, + 0.021055f, -0.008774f, 0.005893f, 0.013215f, 0.003861f, 0.002631f, 0.009189f, 0.004286f, 0.004494f, 0.005259f, 0.001862f, 0.005996f, -0.000491f, 0.008596f, -0.002070f, 0.020299f, -0.014579f, 0.016820f, 0.012657f, -0.010654f, 0.012503f, 0.002974f, 0.010556f, 0.011625f, -0.024475f, 0.000016f, -0.001342f, -0.006582f, 0.003452f, -0.005829f, 0.006249f, -0.001953f, 0.014917f, -0.000781f, 0.001926f, 0.007426f, 0.003832f, 0.024475f, -0.006088f, -0.003467f, -0.005614f, 0.017495f, 0.009368f, 0.002104f, 0.006908f, -0.011395f, 0.026104f, 0.008776f, -0.001672f, 0.009957f, 0.012816f, -0.020802f, -0.001022f, 0.005194f, 0.002863f, 0.000180f, 0.018213f, -0.008357f, -0.010371f, 0.024680f, 0.004152f, -0.001556f, -0.001966f, 0.012971f, 0.001468f, -0.001693f, -0.001895f, -0.005788f, 0.006911f, -0.003537f, 0.009064f, 0.006131f, -0.014852f, -0.014488f, 0.002437f, 0.029033f, 0.000290f, 0.006019f, -0.017167f, 0.008914f, 0.012571f, -0.007277f, 0.009539f, 0.011017f, -0.017301f, -0.010952f, -0.001446f, -0.023083f, -0.011416f, -0.013754f, 0.005002f, -0.004676f, -0.004134f, -0.002488f, 0.017371f, -0.022286f, + 0.011040f, 0.004895f, -0.005966f, 0.013670f, -0.007319f, 0.001338f, -0.017189f, -0.000371f, 0.013118f, 0.010209f, 0.023398f, -0.025218f, -0.003848f, -0.027995f, -0.003008f, -0.000526f, -0.002606f, 0.003470f, 0.017064f, -0.017954f, 0.001184f, -0.010793f, 0.032278f, -0.012852f, -0.007108f, 0.028016f, 0.021311f, 0.004371f, -0.037717f, -0.008818f, 0.018241f, 0.001947f, -0.001223f, -0.004947f, -0.002394f, -0.002487f, 0.003310f, 0.006427f, 0.006053f, 0.005631f, 0.034600f, -0.006615f, -0.004272f, 0.000487f, 0.005096f, -0.009674f, 0.006638f, 0.004038f, -0.000589f, -0.010722f, -0.006314f, 0.012664f, 0.013829f, 0.025241f, 0.007064f, -0.009868f, 0.007002f, 0.000020f, 0.007099f, 0.000778f, 0.014540f, -0.011206f, -0.016383f, -0.017418f, 0.012350f, -0.004822f, 0.003216f, 0.004776f, -0.005498f, -0.001048f, 0.030348f, 0.010142f, -0.024017f, 0.017700f, 0.006561f, 0.029793f, -0.014594f, -0.014826f, 0.009634f, 0.015784f, 0.012159f, 0.005749f, -0.001631f, 0.000304f, 0.008896f, -0.010617f, -0.001465f, -0.000902f, 0.014191f, -0.010919f, 0.027267f, -0.003463f, 0.001951f, -0.017389f, -0.010893f, -0.023254f, + -0.019799f, -0.008042f, 0.006546f, 0.006687f, 0.034591f, 0.033495f, -0.004438f, 0.002176f, 0.001046f, -0.000326f, -0.000834f, -0.007637f, -0.023294f, -0.018139f, -0.009477f, 0.007479f, -0.006781f, -0.020511f, -0.006025f, 0.003147f, -0.001851f, -0.031128f, -0.009321f, 0.006105f, -0.003461f, 0.002234f, 0.001780f, 0.008505f, 0.013117f, 0.001509f, -0.010015f, 0.009230f, 0.010046f, 0.006579f, -0.000649f, 0.012687f, -0.026959f, 0.008286f, -0.023887f, 0.028854f, -0.021125f, 0.007396f, -0.022375f, -0.004355f, -0.024953f, -0.013791f, -0.015563f, -0.017407f, 0.011439f, -0.015375f, -0.002856f, 0.004554f, -0.000157f, -0.008464f, -0.005580f, -0.003164f, -0.024167f, 0.000242f, 0.001777f, 0.011536f, -0.037669f, 0.000431f, -0.000644f, 0.017294f, 0.021713f, -0.014748f, -0.008288f, 0.000623f, 0.017109f, -0.031355f, 0.021147f, -0.013796f, -0.007804f, 0.002412f, -0.028018f, 0.004243f, -0.019473f, -0.048377f, -0.020233f, -0.010337f, 0.006686f, 0.011303f, -0.016923f, -0.007194f, -0.020916f, -0.018444f, 0.007460f, -0.016349f, 0.013899f, 0.004995f, 0.009518f, -0.003146f, -0.016865f, 0.025361f, 0.008937f, 0.013661f, + -0.020713f, 0.006838f, 0.001784f, -0.028972f, 0.015441f, 0.009074f, -0.000721f, -0.020075f, -0.009037f, 0.008155f, 0.008100f, -0.001599f, 0.001598f, 0.012334f, -0.015020f, -0.010843f, 0.013989f, -0.032681f, -0.033064f, -0.042012f, -0.011124f, 0.012137f, -0.037914f, -0.031006f, -0.020195f, -0.000373f, 0.010912f, 0.003185f, 0.001589f, -0.000283f, -0.012501f, -0.015213f, -0.036088f, 0.017093f, 0.002876f, 0.040373f, -0.012073f, 0.000347f, -0.027766f, -0.031156f, 0.001525f, 0.019054f, -0.001062f, -0.019794f, 0.010188f, 0.004640f, 0.025456f, 0.002321f, 0.000798f, -0.013942f, -0.005482f, 0.011607f, -0.030681f, -0.051658f, -0.017965f, -0.012826f, -0.043003f, -0.032873f, -0.014541f, 0.024075f, -0.000976f, 0.040560f, 0.008948f, -0.002662f, -0.021160f, 0.008673f, 0.042138f, -0.042172f, -0.037342f, -0.012105f, -0.005118f, -0.026282f, 0.026818f, 0.008012f, 0.015206f, 0.016990f, -0.025462f, -0.002749f, 0.012328f, -0.016556f, 0.033347f, 0.000826f, 0.008793f, -0.008937f, 0.009555f, -0.020731f, -0.010191f, -0.007007f, 0.013801f, 0.005828f, 0.021241f, -0.031548f, 0.004844f, -0.000197f, -0.021492f, 0.025740f, + -0.013216f, -0.037725f, 0.009715f, 0.013440f, 0.005109f, -0.011442f, -0.000263f, -0.015945f, 0.005171f, 0.012498f, 0.008157f, -0.026149f, 0.012911f, -0.006358f, -0.025627f, -0.017480f, -0.032014f, 0.000103f, -0.002196f, -0.001723f, 0.008009f, 0.020639f, 0.030430f, 0.021226f, -0.007537f, -0.020658f, 0.010526f, -0.006374f, 0.001089f, -0.016711f, 0.032522f, 0.020997f, 0.000001f, 0.040259f, -0.022116f, 0.010864f, 0.031645f, 0.016232f, -0.037901f, 0.004987f, 0.000649f, -0.023938f, 0.003724f, -0.053449f, -0.046112f, -0.010982f, -0.000169f, 0.002091f, -0.000917f, -0.018975f, -0.000408f, -0.005395f, 0.017407f, 0.003374f, -0.000801f, 0.003223f, -0.040189f, 0.013975f, 0.007850f, 0.022422f, 0.009631f, 0.009656f, 0.026709f, 0.013039f, 0.004144f, 0.065894f, 0.014456f, 0.025229f, 0.035378f, 0.001422f, 0.025057f, 0.005933f, -0.013374f, 0.015740f, 0.001493f, 0.007368f, -0.013080f, 0.000590f, -0.008356f, 0.005126f, -0.008324f, 0.018032f, 0.002611f, -0.012176f, -0.014067f, 0.001284f, -0.038806f, 0.021977f, 0.015747f, -0.002907f, -0.003170f, 0.007917f, -0.010040f, -0.009824f, -0.012485f, -0.016872f, + 0.013317f, -0.013937f, 0.021756f, 0.023107f, 0.024740f, 0.023856f, -0.005733f, -0.041839f, 0.000864f, 0.013605f, 0.039813f, -0.012908f, -0.001534f, 0.014064f, 0.027189f, 0.034358f, -0.007194f, 0.007436f, 0.034080f, 0.043730f, -0.029467f, -0.030860f, -0.041421f, 0.040752f, -0.002329f, -0.013801f, 0.015258f, 0.015001f, 0.038141f, 0.032303f, 0.003744f, 0.035257f, 0.048996f, 0.015519f, -0.022272f, 0.024757f, -0.020489f, -0.010288f, -0.002835f, -0.013358f, -0.016930f, 0.011959f, -0.007670f, -0.006980f, -0.020806f, 0.053722f, 0.008193f, -0.024958f, 0.001759f, -0.001270f, 0.024775f, 0.026815f, 0.011361f, -0.013471f, 0.026301f, -0.004071f, 0.016906f, -0.044350f, 0.004223f, 0.022247f, -0.018410f, 0.009529f, -0.020161f, -0.015026f, 0.050279f, 0.023071f, 0.016388f, -0.000397f, -0.041243f, -0.007367f, 0.014194f, 0.012438f, 0.008703f, -0.006917f, 0.035952f, -0.020655f, 0.020747f, -0.007774f, 0.014304f, 0.017537f, 0.028819f, 0.040483f, -0.040841f, 0.002963f, 0.023529f, 0.014969f, 0.032341f, 0.034501f, -0.040914f, 0.005316f, -0.010421f, -0.015975f, -0.000424f, -0.015177f, 0.010019f, 0.032470f, + 0.064808f, 0.002664f, -0.031047f, 0.008624f, -0.020756f, 0.013265f, -0.018018f, -0.019603f, 0.058928f, -0.044915f, 0.074006f, 0.045076f, -0.010827f, 0.014671f, 0.035853f, 0.004926f, -0.055602f, 0.021625f, -0.044969f, 0.010456f, 0.004243f, -0.022621f, 0.001209f, -0.003380f, 0.032542f, -0.016503f, -0.001299f, -0.001633f, -0.009465f, 0.067735f, -0.003529f, -0.010686f, 0.009204f, 0.022481f, -0.022769f, -0.049545f, 0.039197f, -0.006725f, -0.002426f, 0.043554f, -0.025372f, -0.007775f, -0.030276f, 0.007632f, -0.020932f, 0.024251f, 0.023683f, 0.046247f, -0.012708f, 0.012380f, 0.032170f, -0.045302f, 0.006313f, -0.029199f, -0.043885f, -0.058149f, -0.029151f, -0.062861f, -0.068592f, -0.010758f, 0.005624f, -0.033866f, -0.034062f, 0.020644f, -0.001177f, -0.021105f, -0.036608f, 0.025929f, -0.018764f, 0.005379f, 0.036209f, -0.067201f, -0.016785f, -0.014980f, 0.031313f, 0.071998f, 0.003372f, -0.019625f, 0.020230f, -0.010082f, -0.030806f, -0.045274f, -0.034495f, 0.036756f, -0.031306f, 0.014423f, 0.034972f, 0.014515f, 0.022208f, -0.043258f, 0.060453f, 0.037708f, 0.032640f, -0.025384f, 0.043096f, -0.005618f, + 0.028233f, 0.018202f, 0.005671f, 0.014925f, 0.020476f, 0.012045f, -0.007975f, -0.011857f, -0.010620f, 0.003417f, -0.030358f, -0.035790f, 0.018607f, 0.007531f, 0.010361f, -0.029736f, 0.006751f, 0.007479f, 0.020309f, 0.030610f, 0.046833f, -0.028472f, 0.006038f, 0.066826f, 0.013423f, 0.005789f, 0.005213f, -0.015702f, 0.003529f, 0.066249f, 0.018133f, 0.042189f, 0.010843f, -0.049084f, -0.021472f, -0.036411f, 0.096711f, 0.037866f, -0.040330f, -0.026290f, -0.036411f, 0.003204f, -0.024952f, -0.056348f, 0.009411f, -0.043488f, 0.057190f, -0.007241f, -0.053721f, 0.062816f, 0.049166f, 0.004687f, -0.019523f, 0.006686f, -0.036608f, 0.040548f, -0.047785f, 0.017608f, -0.007463f, 0.045472f, -0.098125f, -0.067444f, 0.037256f, 0.017546f, 0.012716f, 0.031823f, -0.034328f, -0.043884f, -0.025026f, -0.036221f, 0.018782f, -0.038761f, 0.009779f, 0.024757f, 0.040213f, 0.000870f, 0.033434f, 0.019853f, 0.004259f, -0.011514f, -0.037989f, -0.026065f, 0.019693f, -0.044865f, 0.021099f, 0.005055f, 0.036340f, 0.028869f, -0.015911f, -0.055557f, -0.037842f, -0.003316f, -0.004574f, -0.014553f, 0.036147f, -0.066889f, + -0.007110f, 0.002664f, -0.072241f, -0.000933f, -0.010680f, -0.005068f, 0.005433f, 0.041813f, -0.042250f, -0.109664f, 0.039008f, 0.045967f, 0.024529f, 0.087279f, -0.073324f, -0.007809f, 0.045391f, 0.038120f, -0.047096f, -0.018957f, -0.014960f, 0.069863f, 0.010571f, 0.067076f, -0.096623f, 0.016313f, -0.114817f, -0.063916f, -0.067926f, 0.080361f, 0.021200f, -0.045530f, 0.042119f, 0.009807f, -0.045676f, 0.048542f, -0.061475f, 0.034280f, 0.083970f, 0.031270f, -0.029855f, -0.019284f, 0.011675f, -0.020932f, -0.024891f, -0.002585f, 0.039015f, -0.006344f, 0.007276f, -0.040979f, -0.008622f, 0.057752f, -0.041868f, 0.032211f, 0.074630f, 0.037969f, -0.003354f, -0.013646f, -0.024808f, -0.047151f, -0.035427f, 0.041901f, -0.023786f, 0.039402f, 0.027505f, 0.014050f, 0.001419f, 0.015916f, -0.012376f, -0.059945f, -0.021598f, 0.044413f, 0.033927f, 0.037109f, -0.039076f, 0.067386f, -0.017748f, 0.026853f, -0.049786f, 0.046032f, 0.076607f, -0.014443f, -0.028374f, -0.001685f, 0.001967f, -0.015989f, 0.015980f, 0.035098f, -0.064461f, 0.042972f, 0.039388f, -0.008553f, 0.045775f, 0.026225f, 0.019092f, -0.028299f, + 0.004972f, 0.043376f, -0.089713f, -0.077355f, -0.034038f, 0.022382f, -0.041925f, -0.118343f, 0.049120f, 0.034322f, -0.016470f, -0.019010f, 0.000334f, -0.005973f, -0.040876f, -0.109688f, -0.004426f, -0.002141f, 0.040643f, 0.053909f, 0.001096f, -0.061007f, 0.080535f, -0.022766f, -0.056420f, 0.050335f, -0.008229f, -0.030750f, 0.038854f, 0.010310f, -0.008309f, 0.032756f, -0.045258f, 0.042626f, -0.015461f, 0.001281f, -0.013308f, -0.011372f, -0.063084f, 0.024712f, -0.024237f, 0.009706f, -0.025467f, -0.002294f, -0.019082f, 0.017769f, -0.011332f, 0.067693f, 0.011648f, 0.044176f, -0.017694f, 0.010817f, 0.027656f, -0.012256f, 0.018928f, -0.004203f, 0.033393f, -0.002088f, -0.012014f, 0.053243f, -0.048622f, 0.026301f, 0.035918f, -0.022013f, 0.040666f, -0.025941f, -0.001971f, 0.020776f, -0.017286f, 0.048160f, 0.042517f, 0.008398f, 0.071388f, -0.045555f, -0.104131f, -0.018101f, -0.065139f, -0.042904f, 0.148028f, -0.004828f, 0.043835f, -0.008132f, -0.065760f, -0.002924f, 0.060087f, 0.087684f, 0.050798f, 0.088014f, -0.052516f, -0.016842f, -0.026999f, -0.054797f, 0.026295f, 0.046913f, -0.046932f, 0.059007f, + -0.033631f, 0.009103f, 0.001206f, 0.007112f, -0.043083f, -0.005792f, -0.038793f, -0.032203f, 0.001573f, -0.012079f, -0.028823f, -0.011089f, 0.023798f, -0.024907f, 0.022110f, -0.011263f, 0.063858f, -0.027846f, 0.020313f, 0.004714f, -0.013655f, -0.049001f, -0.016440f, 0.038954f, 0.008824f, -0.011536f, 0.051892f, -0.035987f, -0.035128f, -0.004180f, 0.049821f, -0.042405f, -0.003748f, 0.009392f, 0.015334f, -0.047324f, 0.017043f, 0.017657f, -0.014590f, -0.049510f, 0.003694f, -0.038226f, 0.019527f, 0.009858f, 0.018119f, -0.076100f, -0.029670f, 0.044975f, 0.122061f, -0.052637f, -0.003717f, 0.010657f, -0.016066f, -0.032321f, 0.003578f, 0.100308f, 0.027398f, -0.008759f, -0.003752f, -0.024731f, -0.000673f, -0.018450f, 0.044398f, 0.003805f, -0.017863f, -0.024323f, 0.008967f, 0.020097f, -0.030625f, 0.033556f, 0.020057f, 0.036753f, 0.016364f, 0.045091f, -0.074081f, 0.101338f, 0.015101f, 0.024037f, 0.025305f, -0.021868f, -0.025344f, 0.002196f, -0.008958f, 0.015461f, 0.034287f, -0.045078f, 0.016659f, -0.008552f, 0.013383f, 0.012472f, 0.009202f, 0.027583f, 0.022022f, -0.018552f, 0.019953f, 0.017320f, + -0.014611f, -0.026471f, 0.009875f, -0.008642f, -0.021488f, 0.014897f, 0.012742f, -0.000785f, -0.013507f, 0.001573f, -0.009420f, -0.004170f, 0.002593f, 0.007097f, 0.012094f, -0.019548f, -0.001483f, 0.017683f, -0.005770f, 0.015979f, 0.004501f, 0.011833f, 0.023434f, 0.007534f, -0.020460f, 0.003420f, 0.022531f, -0.010687f, 0.000754f, 0.011133f, -0.033387f, -0.001075f, -0.006753f, -0.031838f, 0.047549f, -0.010528f, 0.000252f, 0.028027f, 0.006900f, -0.019296f, 0.010424f, -0.018426f, -0.001331f, 0.015962f, -0.015378f, -0.005687f, 0.036747f, -0.034901f, 0.007352f, 0.003926f, 0.016405f, -0.015299f, 0.016171f, -0.004846f, 0.019167f, -0.006821f, 0.023609f, -0.098966f, -0.201561f, -0.025806f, 0.126632f, 0.097500f, 0.279449f, 0.134640f, -0.065125f, -0.056680f, -0.132487f, -0.231762f, -0.029367f, -0.089669f, -0.027974f, 0.164127f, 0.104350f, 0.111812f, 0.213116f, -0.007109f, -0.047328f, -0.080036f, -0.211023f, -0.115981f, -0.037631f, -0.038735f, 0.005663f, 0.096470f, 0.074112f, 0.079423f, 0.148563f, 0.087620f, -0.055003f, 0.079912f, -0.083676f, -0.193887f, 0.024542f, -0.129890f, -0.181988f, 0.071515f, + -0.016005f, -0.032932f, 0.222868f, 0.073917f, 0.058885f, 0.193284f, -0.021177f, -0.037007f, 0.058027f, -0.128084f, -0.160875f, -0.042143f, -0.137885f, -0.121628f, 0.025301f, 0.027685f, 0.054704f, 0.169111f, 0.147923f, 0.091372f, 0.105804f, 0.022019f, -0.085083f, -0.089088f, -0.113181f, -0.152452f, -0.073104f, -0.037201f, -0.053618f, 0.048840f, 0.147164f, 0.099735f, 0.094220f, 0.082421f, -0.057406f, 0.005118f, 0.011821f, -0.094694f, -0.026192f, -0.013995f}, + {0.010523f, 0.001233f, -0.009159f, -0.002329f, -0.002385f, -0.001025f, -0.002392f, 0.004557f, 0.010740f, 0.001637f, 0.008729f, 0.003248f, -0.002100f, -0.004759f, 0.004082f, -0.001445f, 0.008632f, 0.006097f, -0.002946f, -0.005422f, -0.006346f, 0.003188f, -0.002123f, 0.000742f, -0.004603f, -0.001929f, -0.001176f, 0.003696f, -0.004506f, 0.003654f, -0.001447f, -0.005044f, 0.006486f, 0.006559f, 0.001073f, 0.002454f, 0.001303f, -0.001286f, -0.004234f, -0.013756f, 0.003805f, -0.004438f, 0.004191f, -0.004394f, -0.005325f, 0.003961f, -0.004692f, 0.002290f, 0.002512f, -0.009690f, 0.000403f, 0.001455f, 0.002411f, -0.003813f, 0.005131f, -0.005090f, -0.003276f, -0.001706f, -0.002315f, 0.003380f, -0.000562f, 0.001633f, 0.002908f, 0.004279f, -0.000754f, -0.004583f, -0.004632f, 0.000302f, -0.009714f, -0.004214f, -0.000897f, 0.008788f, 0.002650f, 0.003527f, 0.002741f, 0.004923f, -0.002073f, 0.004902f, 0.008563f, -0.006586f, -0.005715f, -0.008775f, 0.007741f, 0.003805f, 0.000573f, 0.011506f, -0.001274f, -0.000253f, -0.003666f, -0.002982f, 0.002406f, -0.003214f, -0.006168f, 0.003297f, 0.000866f, 0.009591f, + 0.013137f, -0.003560f, -0.007919f, -0.009718f, -0.000727f, -0.005604f, -0.005419f, -0.003743f, -0.000865f, -0.007765f, 0.007242f, -0.002854f, -0.003024f, -0.005176f, -0.003868f, 0.001298f, 0.008143f, -0.000979f, -0.002533f, 0.002385f, -0.008284f, 0.005985f, -0.005228f, -0.018367f, 0.008891f, 0.005891f, 0.009887f, 0.010302f, 0.001812f, 0.005362f, -0.005627f, 0.001415f, 0.007709f, 0.000480f, -0.000301f, -0.002044f, -0.001271f, 0.004093f, -0.004095f, -0.002936f, -0.000066f, 0.003867f, -0.003639f, -0.004342f, -0.006433f, 0.007616f, 0.002721f, 0.000747f, -0.002349f, -0.008067f, -0.000812f, 0.005527f, 0.002940f, -0.001545f, -0.002417f, 0.005114f, -0.002144f, -0.027383f, 0.014247f, -0.001369f, 0.000378f, 0.004943f, 0.006964f, -0.010213f, -0.001328f, -0.001849f, 0.005782f, 0.002194f, -0.006274f, 0.019442f, -0.002126f, -0.001223f, 0.008615f, 0.007092f, 0.002278f, 0.004917f, 0.015835f, -0.007878f, 0.000447f, -0.004023f, 0.001536f, -0.004904f, 0.000339f, 0.000482f, 0.001724f, -0.008833f, 0.000693f, -0.002132f, -0.003388f, -0.000393f, 0.005468f, -0.003071f, 0.005074f, 0.007486f, -0.013030f, 0.001727f, + -0.005355f, -0.001451f, -0.008070f, 0.003954f, -0.004838f, -0.000836f, -0.002787f, -0.008125f, 0.002968f, -0.005465f, 0.003557f, 0.001994f, -0.004155f, -0.005938f, 0.000026f, 0.005424f, 0.003941f, 0.009889f, 0.004403f, -0.004373f, -0.012434f, -0.000908f, 0.001912f, 0.015299f, -0.005050f, -0.002475f, -0.000480f, -0.003175f, -0.008387f, -0.004058f, -0.007894f, -0.001321f, 0.005698f, -0.001866f, 0.006745f, 0.003974f, 0.002907f, 0.003360f, -0.004609f, 0.020586f, 0.011022f, -0.002621f, -0.007444f, 0.012048f, -0.012753f, -0.001611f, 0.008022f, -0.004895f, -0.003381f, -0.005128f, 0.013787f, -0.004026f, 0.004668f, 0.001731f, 0.004619f, 0.018650f, -0.017514f, 0.006021f, 0.009660f, -0.005398f, -0.016165f, -0.008096f, -0.000554f, 0.001697f, -0.001784f, -0.002377f, 0.007617f, 0.010872f, -0.000245f, -0.006567f, 0.001146f, -0.008490f, 0.003335f, -0.005069f, 0.003844f, 0.011607f, 0.004608f, -0.010244f, 0.000326f, 0.001399f, 0.016949f, 0.003799f, 0.008800f, -0.001586f, 0.004259f, 0.003646f, -0.019098f, 0.001127f, 0.010004f, 0.005167f, 0.011120f, -0.008398f, -0.005021f, -0.008325f, 0.003186f, 0.006855f, + -0.001191f, 0.003001f, 0.001220f, -0.003588f, 0.002483f, -0.002368f, 0.003888f, 0.004165f, 0.000089f, 0.006140f, 0.001788f, 0.000742f, 0.002965f, 0.013420f, 0.003046f, 0.008167f, 0.008640f, 0.041812f, -0.010028f, -0.003261f, -0.005626f, 0.009006f, 0.006265f, 0.014586f, 0.006216f, -0.001523f, 0.007382f, 0.000235f, 0.008190f, 0.003426f, 0.011133f, 0.000720f, 0.009464f, 0.011892f, -0.011949f, 0.002736f, 0.003990f, 0.002560f, 0.002723f, 0.003258f, -0.006784f, 0.000393f, -0.007913f, -0.000860f, 0.000450f, -0.014308f, -0.009201f, 0.004027f, 0.000723f, -0.000186f, 0.006643f, 0.006036f, -0.002176f, -0.012376f, 0.004619f, 0.011666f, 0.008351f, 0.010870f, -0.002017f, 0.005950f, 0.011423f, -0.017423f, 0.006457f, 0.007867f, -0.007800f, 0.010977f, -0.006671f, -0.001540f, 0.001999f, 0.002153f, -0.004914f, 0.005107f, -0.000584f, -0.002079f, -0.005112f, -0.005133f, 0.007101f, 0.005900f, 0.003791f, 0.005725f, 0.010441f, 0.004742f, 0.014138f, -0.003257f, -0.013541f, 0.013562f, 0.003522f, 0.006156f, 0.004242f, -0.003462f, 0.005146f, 0.001357f, 0.002380f, 0.007935f, 0.017481f, -0.021719f, + 0.013133f, 0.002209f, 0.013446f, 0.002594f, -0.008893f, 0.001948f, 0.010124f, -0.013806f, -0.003678f, 0.000861f, -0.015736f, -0.003550f, -0.012331f, -0.007567f, -0.009266f, -0.009674f, 0.002869f, -0.014699f, -0.009808f, -0.011798f, -0.003923f, 0.010392f, 0.002853f, -0.014035f, -0.006386f, -0.014631f, -0.004640f, 0.002679f, 0.019206f, -0.016792f, 0.005533f, -0.004533f, -0.007241f, -0.012552f, -0.000690f, 0.001793f, 0.011761f, 0.006607f, 0.000309f, -0.011306f, -0.020622f, -0.000463f, 0.004227f, 0.014981f, 0.003811f, 0.004759f, -0.012685f, 0.004037f, 0.007918f, 0.000750f, -0.000135f, -0.005902f, -0.007597f, -0.001850f, 0.003786f, 0.001220f, -0.005636f, 0.000442f, -0.014160f, -0.001321f, -0.012308f, 0.007102f, -0.004213f, 0.007266f, -0.012287f, -0.007642f, -0.016223f, -0.000385f, -0.011360f, -0.002225f, 0.001076f, -0.011276f, -0.008454f, 0.005058f, 0.005095f, -0.008884f, -0.051093f, 0.008031f, 0.005660f, -0.014892f, -0.003413f, -0.000265f, 0.000383f, -0.003031f, -0.005001f, -0.003992f, -0.015237f, 0.011410f, -0.007421f, 0.001355f, -0.012682f, -0.004747f, 0.018175f, 0.016249f, -0.010531f, -0.006617f, + 0.000492f, -0.000596f, -0.008625f, -0.010348f, -0.007121f, 0.000866f, 0.000787f, -0.000035f, -0.001016f, 0.003902f, -0.012394f, 0.003518f, 0.000473f, -0.022299f, -0.002572f, -0.006947f, 0.010100f, 0.014249f, 0.002378f, -0.002986f, 0.000804f, -0.013267f, -0.015974f, 0.008200f, 0.016052f, 0.017291f, -0.004636f, 0.002789f, 0.010501f, 0.010220f, -0.005356f, 0.009388f, 0.016226f, -0.001133f, 0.013699f, 0.010985f, -0.013253f, 0.003945f, 0.000990f, 0.014017f, -0.008660f, -0.009906f, 0.008554f, 0.010541f, -0.003169f, 0.000578f, -0.015669f, 0.010800f, -0.008713f, 0.011484f, -0.019615f, 0.001939f, 0.004714f, 0.009364f, 0.000553f, -0.008077f, -0.016634f, -0.020177f, 0.006549f, -0.017876f, 0.021617f, 0.020795f, 0.000193f, -0.029176f, 0.011442f, 0.001213f, -0.005833f, 0.019429f, -0.000391f, -0.017539f, -0.002305f, 0.021170f, -0.027545f, 0.000462f, -0.007264f, -0.021743f, -0.006440f, 0.000007f, -0.004711f, -0.011313f, 0.005784f, -0.009430f, 0.006846f, -0.008082f, -0.014996f, 0.007355f, -0.001617f, 0.010731f, -0.022086f, 0.008447f, 0.016403f, -0.007155f, 0.000835f, 0.016711f, 0.024355f, -0.006954f, + -0.005666f, -0.021321f, 0.000643f, -0.017639f, -0.002010f, -0.012366f, -0.000006f, 0.001393f, 0.009453f, 0.004538f, 0.008574f, -0.006921f, 0.001052f, 0.005433f, -0.001747f, 0.022743f, -0.015938f, -0.007790f, 0.029579f, 0.030163f, -0.006703f, -0.002137f, -0.019800f, -0.009953f, 0.000225f, -0.005471f, -0.013395f, 0.018215f, 0.004865f, -0.004885f, 0.026119f, 0.005185f, -0.013774f, -0.000291f, -0.025599f, -0.012169f, -0.014842f, 0.024345f, -0.006614f, -0.000361f, 0.016711f, -0.004095f, 0.009817f, -0.005517f, -0.021507f, -0.001431f, -0.000132f, -0.004425f, -0.012829f, -0.014147f, 0.007169f, -0.011200f, 0.019576f, -0.006081f, -0.014566f, 0.012247f, 0.024587f, -0.006150f, 0.006705f, -0.006647f, 0.014070f, 0.000354f, -0.030461f, 0.010792f, 0.016444f, 0.001728f, -0.005360f, -0.017478f, 0.014351f, 0.009920f, 0.009087f, 0.002014f, 0.005558f, 0.019783f, -0.014344f, 0.002560f, 0.003377f, -0.010847f, -0.021722f, 0.020322f, 0.010689f, 0.037727f, -0.002509f, 0.016720f, -0.006166f, -0.011678f, 0.001318f, -0.001706f, -0.001280f, -0.003218f, -0.013062f, 0.027150f, -0.000256f, 0.002258f, 0.002860f, -0.003620f, + 0.021161f, 0.002964f, 0.017436f, 0.007897f, 0.001836f, 0.019999f, -0.010832f, -0.022212f, -0.006044f, 0.004151f, 0.001001f, -0.009277f, 0.008700f, -0.006817f, -0.033817f, 0.002274f, 0.003013f, -0.018541f, 0.020792f, -0.031843f, 0.006387f, 0.015687f, 0.022892f, -0.022015f, -0.002305f, 0.016562f, 0.011879f, 0.014272f, 0.003372f, 0.029046f, 0.006235f, 0.012606f, -0.002453f, 0.002622f, 0.012633f, 0.007311f, 0.014431f, 0.002015f, -0.017503f, -0.026141f, 0.015446f, 0.007905f, -0.004069f, 0.004134f, 0.009184f, -0.024404f, 0.001353f, -0.015053f, 0.008616f, 0.000071f, 0.017764f, -0.004386f, 0.008589f, -0.002900f, 0.005490f, 0.003210f, 0.000503f, 0.010291f, 0.013721f, 0.005408f, 0.008491f, -0.018929f, 0.009508f, -0.002570f, -0.033313f, -0.022083f, 0.007258f, -0.024366f, -0.000341f, 0.021827f, -0.013804f, 0.042446f, 0.016515f, -0.007446f, 0.024103f, 0.001970f, -0.005740f, -0.015850f, -0.014873f, -0.022153f, -0.001753f, 0.014383f, -0.014538f, -0.001148f, 0.017082f, 0.007737f, 0.010772f, 0.031346f, 0.006349f, 0.020850f, 0.003119f, 0.004969f, -0.029144f, 0.010433f, 0.006488f, -0.017245f, + -0.000614f, 0.010632f, -0.000233f, 0.007404f, -0.017617f, 0.013468f, -0.001131f, 0.003777f, 0.012665f, -0.023900f, -0.016316f, 0.004063f, -0.000342f, 0.012734f, 0.026798f, -0.002777f, 0.006683f, 0.028479f, -0.010692f, -0.019860f, -0.001113f, 0.020723f, -0.004558f, -0.024702f, 0.001966f, 0.008535f, -0.004759f, -0.008075f, -0.001770f, 0.030717f, -0.005932f, 0.026331f, 0.020317f, 0.023934f, 0.001357f, 0.001368f, 0.014325f, 0.004127f, -0.004987f, 0.004321f, -0.019442f, 0.013850f, 0.024520f, 0.014567f, 0.002048f, 0.012793f, -0.010859f, 0.009542f, -0.010595f, 0.014332f, -0.014028f, -0.000882f, -0.001295f, -0.002325f, 0.043454f, -0.007888f, -0.002738f, -0.005274f, 0.005706f, 0.010443f, 0.022552f, 0.024507f, -0.014915f, 0.004354f, 0.025448f, -0.016819f, -0.019079f, 0.008528f, -0.009039f, 0.008526f, 0.048458f, -0.026821f, 0.001416f, 0.000653f, -0.015850f, -0.003379f, -0.017384f, -0.027178f, -0.020978f, -0.028282f, -0.011118f, 0.002566f, 0.021814f, 0.015889f, 0.005578f, 0.022807f, 0.006672f, 0.013680f, 0.012814f, -0.006982f, 0.019973f, 0.021340f, 0.015235f, -0.030370f, -0.016917f, -0.017898f, + 0.006223f, -0.012583f, 0.000594f, 0.007708f, -0.008836f, -0.021724f, 0.013373f, -0.010730f, 0.004655f, 0.003686f, 0.021246f, -0.023137f, 0.034556f, -0.035108f, 0.035331f, -0.000981f, 0.017717f, -0.018113f, 0.006234f, -0.039232f, -0.021298f, -0.019617f, 0.016916f, 0.006738f, 0.024539f, -0.003502f, 0.000028f, -0.013523f, -0.030526f, 0.018881f, -0.016561f, -0.009903f, 0.014829f, 0.033556f, 0.033950f, 0.014498f, -0.001919f, -0.024135f, 0.013780f, -0.036400f, -0.002294f, -0.021343f, 0.011757f, 0.036218f, -0.035701f, 0.011607f, 0.017415f, -0.024208f, -0.001597f, -0.005569f, 0.013288f, -0.016651f, -0.020958f, 0.002791f, -0.008767f, -0.031659f, -0.027311f, -0.031606f, -0.010212f, 0.017298f, -0.024567f, 0.013164f, -0.033056f, -0.007516f, -0.013774f, -0.012978f, -0.026525f, -0.004191f, -0.010949f, -0.016910f, 0.010276f, -0.018639f, 0.016250f, 0.001728f, 0.012360f, -0.024031f, -0.042648f, -0.005518f, 0.006914f, -0.019330f, -0.014119f, 0.004552f, 0.003858f, -0.022309f, -0.011014f, 0.026382f, 0.012455f, -0.006035f, 0.014250f, 0.038789f, 0.000093f, 0.002870f, 0.002879f, -0.005503f, -0.001967f, 0.003630f, + 0.004253f, -0.034052f, -0.012688f, -0.041113f, -0.013354f, -0.038570f, -0.018069f, -0.000689f, 0.040996f, 0.016907f, -0.021792f, -0.027230f, 0.014762f, 0.030326f, 0.020160f, -0.017833f, 0.024710f, -0.012779f, -0.002558f, -0.047794f, -0.013775f, -0.009112f, -0.005872f, -0.034036f, -0.049049f, 0.011896f, -0.000087f, -0.039787f, 0.009423f, 0.051512f, 0.008002f, 0.001413f, -0.034035f, -0.008890f, 0.001749f, 0.000544f, -0.034888f, 0.022490f, -0.034394f, -0.007092f, 0.007898f, -0.016521f, 0.039066f, -0.032528f, -0.033812f, -0.027193f, 0.037674f, 0.017071f, -0.022533f, -0.019801f, -0.013790f, -0.004008f, -0.012530f, -0.012123f, 0.001253f, 0.014452f, 0.036951f, -0.003889f, 0.015297f, 0.014286f, 0.012773f, -0.024753f, -0.032214f, -0.022113f, 0.025389f, -0.004092f, 0.030981f, 0.011135f, -0.004592f, -0.043145f, -0.036773f, -0.003058f, 0.001700f, -0.024669f, -0.017143f, -0.011164f, -0.013533f, -0.056538f, -0.013913f, -0.013130f, -0.022212f, -0.009176f, -0.015160f, -0.025301f, 0.016759f, 0.036884f, 0.018032f, 0.002176f, 0.019150f, 0.028150f, -0.011695f, 0.009898f, 0.004569f, 0.004149f, -0.003551f, -0.005227f, + 0.016224f, 0.009356f, 0.028765f, -0.005422f, 0.000015f, 0.013401f, 0.058834f, 0.001644f, 0.029283f, 0.044574f, -0.007969f, -0.033327f, -0.001879f, 0.040259f, -0.000780f, -0.025848f, -0.036112f, -0.026584f, 0.038116f, 0.028587f, -0.056005f, 0.021703f, 0.026471f, -0.007321f, 0.020023f, 0.059062f, 0.007536f, 0.015520f, -0.016654f, 0.016054f, -0.017775f, -0.010131f, -0.008120f, 0.007223f, 0.017312f, 0.023288f, -0.000004f, 0.011463f, -0.003218f, -0.000253f, -0.007942f, 0.018042f, 0.055759f, -0.014038f, -0.014185f, 0.022232f, 0.016238f, 0.005214f, -0.035604f, 0.028273f, -0.027806f, 0.020974f, 0.024934f, 0.005877f, 0.008470f, -0.002880f, 0.039250f, 0.031062f, 0.003194f, 0.022106f, -0.011681f, 0.027004f, 0.006801f, 0.030094f, 0.041432f, 0.002935f, 0.012690f, -0.001147f, -0.011268f, 0.002999f, 0.019755f, 0.023033f, -0.033819f, -0.018137f, 0.011658f, 0.044366f, -0.016298f, 0.031099f, 0.020923f, 0.009926f, -0.039660f, 0.010231f, 0.010021f, -0.045824f, 0.033648f, -0.022914f, -0.030335f, -0.058529f, 0.019786f, 0.046182f, -0.013295f, -0.028266f, 0.012763f, 0.052975f, 0.034000f, 0.013887f, + 0.040148f, 0.028859f, -0.010610f, -0.080052f, 0.008954f, 0.039018f, 0.018644f, 0.007859f, -0.035091f, -0.001049f, -0.024256f, 0.004691f, -0.002482f, 0.005621f, 0.011845f, 0.015621f, 0.007046f, -0.044252f, 0.024997f, -0.007163f, 0.007621f, 0.031556f, 0.012728f, 0.004838f, -0.011582f, 0.039299f, -0.001231f, 0.038981f, -0.048843f, -0.015948f, 0.015973f, -0.030202f, -0.024363f, 0.000067f, -0.006046f, -0.024143f, 0.003089f, 0.033886f, -0.000673f, 0.000456f, -0.018202f, -0.041043f, -0.024265f, -0.013251f, 0.016850f, -0.006491f, 0.004491f, -0.021493f, -0.020106f, -0.012639f, 0.031884f, -0.023868f, 0.018767f, 0.009402f, 0.010999f, 0.000723f, -0.031150f, -0.048679f, -0.002703f, 0.027662f, -0.036992f, 0.015243f, -0.031668f, 0.017232f, -0.033350f, -0.005194f, -0.032863f, 0.044571f, -0.042895f, -0.030086f, 0.012378f, 0.003917f, 0.022900f, 0.014246f, -0.010945f, -0.009262f, 0.013334f, -0.066704f, -0.008581f, 0.021296f, 0.005976f, -0.015111f, -0.023157f, 0.003269f, -0.021963f, -0.001102f, -0.034467f, 0.034274f, -0.012264f, 0.021856f, -0.045116f, -0.025107f, 0.000072f, 0.057633f, -0.045254f, -0.002924f, + -0.035193f, -0.027713f, -0.007766f, 0.036561f, -0.007190f, 0.016876f, 0.017637f, -0.017641f, -0.039115f, 0.057813f, 0.025727f, -0.031174f, 0.007370f, 0.005416f, 0.016728f, -0.030232f, 0.029389f, -0.001175f, -0.058065f, 0.007631f, 0.013015f, 0.016688f, -0.047871f, -0.010276f, 0.007396f, 0.044746f, 0.009461f, 0.025676f, -0.062023f, -0.036803f, 0.020709f, 0.001755f, 0.042629f, -0.009220f, -0.005617f, 0.005118f, 0.022385f, 0.021308f, 0.008762f, -0.078257f, 0.024120f, -0.006996f, 0.019887f, 0.045451f, -0.012088f, -0.001031f, -0.047547f, 0.018960f, 0.023577f, -0.022384f, -0.014034f, 0.048215f, 0.071034f, 0.022763f, 0.011535f, -0.014535f, -0.058942f, -0.038845f, -0.013923f, -0.001440f, -0.033928f, 0.025446f, -0.069491f, 0.002507f, -0.042972f, 0.021043f, -0.016439f, -0.047680f, -0.004946f, -0.013444f, -0.017297f, -0.054181f, -0.039727f, 0.010344f, 0.041312f, -0.029048f, 0.051192f, -0.045051f, -0.029843f, 0.008715f, -0.005051f, 0.022822f, -0.015424f, -0.016189f, -0.022166f, -0.006736f, -0.073585f, -0.021701f, 0.001471f, -0.003863f, -0.012766f, -0.029375f, 0.022321f, -0.026043f, 0.038405f, -0.012681f, + -0.005357f, -0.028194f, -0.025886f, -0.048844f, -0.021431f, 0.017343f, 0.007005f, -0.003359f, 0.002901f, -0.017761f, -0.013319f, -0.022726f, -0.018916f, 0.009577f, 0.014310f, 0.006541f, -0.041892f, 0.047867f, 0.006674f, -0.020881f, 0.038709f, 0.027500f, 0.046231f, -0.008561f, 0.027346f, -0.062471f, -0.033060f, -0.058874f, 0.061431f, -0.018921f, -0.040597f, -0.039764f, -0.083993f, -0.035047f, 0.061916f, -0.002859f, -0.027766f, 0.014855f, 0.074460f, 0.095565f, -0.009716f, -0.043121f, -0.010785f, -0.016547f, -0.043783f, 0.018183f, 0.000495f, -0.031588f, 0.091061f, 0.031541f, -0.022528f, -0.063931f, -0.006522f, 0.015107f, 0.015891f, 0.018438f, 0.043016f, -0.012811f, -0.022651f, 0.020485f, -0.080643f, -0.053345f, -0.021832f, -0.005795f, 0.007482f, -0.042587f, -0.039968f, 0.040957f, 0.031431f, -0.025045f, -0.049418f, 0.030644f, -0.000347f, 0.054054f, -0.045237f, -0.009994f, -0.016328f, -0.002611f, -0.036128f, -0.051610f, 0.042043f, -0.031925f, -0.021766f, -0.039364f, -0.010389f, 0.026338f, 0.022961f, -0.015726f, 0.001818f, 0.004830f, 0.031124f, 0.050476f, 0.035269f, -0.064158f, -0.032710f, -0.037991f, + -0.011367f, 0.022140f, 0.006205f, -0.043903f, -0.065118f, 0.053671f, 0.001582f, -0.052693f, -0.089017f, 0.043679f, -0.012967f, 0.023013f, 0.020594f, 0.021920f, 0.002497f, 0.014789f, -0.033078f, -0.017667f, 0.009090f, 0.034252f, 0.042273f, -0.051220f, -0.042918f, 0.124006f, -0.009434f, -0.011500f, -0.018010f, -0.038377f, -0.003738f, 0.045141f, 0.072074f, -0.032339f, -0.019404f, -0.006623f, -0.032057f, -0.007448f, -0.017852f, 0.029126f, -0.028916f, 0.033264f, 0.016043f, -0.010453f, -0.040521f, -0.002259f, -0.016375f, 0.062386f, -0.033303f, -0.000020f, 0.000660f, -0.005302f, 0.028446f, -0.016879f, -0.001732f, 0.013721f, -0.007817f, -0.059217f, 0.031338f, -0.026463f, -0.031101f, -0.006288f, -0.033177f, -0.018618f, -0.060823f, 0.060060f, 0.003539f, -0.038087f, -0.071281f, 0.043258f, -0.041601f, -0.040280f, 0.001630f, -0.031022f, 0.015785f, 0.028085f, 0.083403f, -0.021837f, 0.033612f, -0.005325f, -0.038039f, -0.032053f, -0.007957f, 0.125282f, -0.106743f, -0.006096f, 0.116002f, -0.101802f, -0.036287f, 0.060533f, -0.004858f, -0.044727f, 0.114419f, -0.052017f, -0.016390f, 0.060481f, -0.072153f, 0.068926f, + -0.009206f, -0.039269f, 0.038072f, 0.014809f, -0.004468f, 0.009738f, 0.007079f, -0.005793f, 0.015297f, -0.012114f, -0.016375f, -0.006210f, -0.023528f, -0.019193f, -0.046137f, -0.016231f, 0.043904f, 0.041566f, -0.057871f, 0.022472f, 0.034260f, 0.029134f, -0.007996f, -0.057002f, -0.002999f, -0.026966f, -0.067146f, 0.046356f, 0.113856f, -0.061420f, -0.004440f, 0.081743f, -0.019950f, -0.025601f, 0.066879f, 0.050431f, 0.026197f, -0.023180f, -0.049103f, 0.020120f, -0.018333f, -0.029825f, 0.119369f, 0.088757f, -0.067354f, -0.048645f, 0.065969f, -0.111545f, -0.037237f, -0.029141f, -0.016532f, 0.083763f, 0.056773f, 0.038785f, 0.042117f, -0.130960f, -0.043282f, 0.132636f, 0.078454f, 0.019656f, -0.030022f, 0.049044f, -0.040638f, -0.086416f, -0.056037f, 0.050478f, -0.027803f, -0.000627f, 0.058371f, 0.103819f, -0.003666f, -0.044500f, 0.018027f, 0.051667f, -0.113109f, 0.050477f, 0.001637f, -0.010636f, 0.059586f, -0.008889f, -0.043083f, 0.023270f, 0.021338f, 0.058266f, 0.033516f, -0.029882f, 0.002770f, 0.009900f, 0.040311f, 0.010144f, -0.043995f, -0.000684f, -0.001449f, 0.010256f, -0.040826f, -0.044721f, + 0.067484f, -0.022851f, -0.068193f, 0.036731f, 0.062752f, -0.033591f, -0.010587f, 0.005090f, 0.043425f, -0.049318f, -0.064903f, 0.019193f, 0.057116f, -0.011072f, -0.022530f, -0.012777f, -0.012304f, 0.025327f, 0.011701f, 0.015536f, 0.142172f, 0.008785f, -0.016570f, 0.002915f, 0.005893f, 0.077021f, 0.003932f, -0.026068f, 0.018721f, -0.058505f, -0.033249f, 0.016325f, 0.002052f, 0.066226f, 0.053736f, -0.032751f, -0.007855f, -0.030973f, 0.003635f, 0.024132f, 0.008258f, 0.007875f, 0.025986f, -0.016356f, -0.066372f, 0.017925f, 0.049968f, -0.022026f, 0.045036f, -0.064377f, 0.034796f, 0.018507f, -0.050279f, 0.008006f, 0.008500f, -0.022033f, 0.035526f, -0.077503f, -0.246333f, -0.290766f, -0.029615f, -0.202794f, 0.074387f, 0.481573f, 0.257237f, 0.390458f, 0.411570f, -0.048837f, -0.123547f, 0.031848f, -0.306396f, -0.373475f, -0.118104f, -0.410737f, -0.330674f, 0.079319f, -0.238933f, -0.067603f, 0.464840f, 0.166171f, 0.327535f, 0.568958f, 0.336902f, 0.148970f, 0.112212f, 0.037212f, -0.258731f, -0.320758f, -0.108456f, -0.436824f, -0.437544f, 0.054007f, -0.328087f, -0.269392f, 0.156520f, -0.276046f, + -0.284240f, 0.209026f, 0.082707f, -0.041548f, 0.497022f, 0.465836f, 0.295989f, 0.632666f, 0.595563f, 0.202160f, 0.235419f, 0.183577f, -0.303999f, -0.303979f, -0.384388f, -0.758024f, -0.894930f, -0.643369f, -0.640880f, -0.472231f, 0.015292f, 0.043676f, 0.311361f, 0.539493f, 0.664786f, 0.607021f, 0.704483f, 0.605433f, 0.359743f, 0.245404f, 0.088322f, -0.106947f, -0.250885f, -0.358890f, -0.297171f, -0.433306f, -0.462534f, -0.278542f, -0.133698f, -0.066015f} + }, + { + {-0.000387f, 0.003966f, 0.004430f, 0.012898f, -0.001574f, 0.002067f, 0.001524f, -0.000787f, 0.007292f, 0.005492f, -0.010060f, -0.005690f, -0.009159f, -0.005399f, -0.001026f, -0.006505f, 0.000105f, 0.000704f, 0.000466f, -0.000907f, -0.000582f, -0.008937f, -0.001421f, 0.002066f, 0.003452f, -0.004293f, 0.005535f, 0.001699f, -0.004441f, -0.002937f, 0.001016f, 0.005526f, -0.001841f, -0.001914f, -0.002757f, -0.007439f, 0.001494f, -0.009652f, -0.000804f, -0.004791f, -0.004409f, -0.003184f, 0.002028f, -0.003266f, -0.005482f, -0.003852f, -0.000562f, -0.002800f, -0.007660f, -0.003264f, -0.002159f, -0.001943f, -0.005691f, 0.000797f, -0.002763f, 0.006634f, 0.001325f, -0.007673f, -0.004419f, 0.009380f, -0.002790f, 0.002623f, -0.005097f, 0.002508f, 0.004292f, 0.003953f, -0.006923f, 0.003582f, 0.004978f, 0.003624f, -0.000348f, -0.004138f, -0.002657f, -0.003767f, 0.002586f, -0.001166f, 0.001968f, -0.017090f, -0.020271f, 0.009721f, 0.000125f, 0.014906f, 0.005068f, 0.006342f, 0.003847f, 0.005807f, -0.000696f, -0.000622f, -0.003988f, -0.010478f, -0.006351f, 0.002273f, -0.001054f, -0.002253f, -0.001759f, 0.004966f, + 0.003592f, -0.000320f, 0.004243f, -0.004886f, -0.012046f, 0.003284f, -0.003275f, 0.000928f, -0.006462f, 0.004235f, -0.005417f, -0.002731f, -0.002541f, 0.007877f, -0.002602f, -0.000415f, -0.004107f, -0.001258f, -0.009965f, 0.002817f, -0.002282f, 0.004708f, -0.005137f, 0.000302f, -0.002831f, -0.007722f, 0.001593f, -0.001013f, -0.002800f, 0.003049f, 0.005308f, -0.001521f, -0.004584f, -0.011125f, 0.000133f, -0.006702f, 0.002117f, -0.000115f, -0.005108f, -0.000382f, -0.002749f, -0.001723f, -0.008837f, 0.004885f, -0.007990f, 0.003661f, -0.003818f, -0.004827f, -0.005093f, -0.008540f, 0.003403f, 0.000239f, 0.001005f, 0.004808f, -0.006757f, -0.008895f, 0.003983f, -0.028955f, 0.000000f, -0.003549f, 0.008010f, 0.000496f, 0.003262f, -0.002059f, 0.004120f, 0.001121f, 0.003632f, -0.003000f, 0.019176f, -0.003710f, -0.002397f, -0.007701f, 0.002975f, -0.009371f, -0.002898f, 0.001178f, -0.004524f, 0.000394f, 0.007168f, 0.004449f, 0.002860f, 0.005166f, 0.006954f, -0.007691f, -0.002922f, 0.000369f, 0.004484f, -0.007191f, 0.007741f, -0.005908f, -0.003079f, 0.006634f, -0.000965f, 0.002009f, -0.004633f, 0.006220f, + 0.006012f, 0.006932f, -0.009467f, -0.002249f, 0.010562f, 0.000582f, -0.001418f, -0.001581f, 0.011488f, 0.008183f, 0.008915f, 0.000981f, -0.001920f, -0.001760f, -0.000496f, 0.000672f, 0.001412f, 0.004353f, -0.010847f, 0.000023f, -0.004992f, -0.005406f, -0.000734f, 0.003015f, -0.005575f, 0.002749f, -0.004231f, -0.000268f, -0.001632f, 0.001308f, 0.003941f, 0.005101f, -0.001805f, 0.000472f, -0.002218f, -0.006869f, -0.001573f, 0.010296f, 0.012132f, -0.007861f, 0.001402f, -0.006657f, 0.011150f, 0.002319f, -0.004113f, -0.005996f, -0.005244f, -0.000839f, 0.001730f, 0.003197f, 0.014736f, -0.008215f, -0.000990f, -0.003062f, 0.006007f, -0.015716f, -0.001498f, 0.010571f, 0.000104f, 0.008939f, 0.004198f, 0.007240f, 0.007582f, 0.003468f, -0.000992f, -0.007186f, 0.002909f, -0.001753f, 0.001389f, 0.012332f, 0.003462f, 0.010641f, -0.004939f, -0.002429f, 0.001255f, -0.013428f, 0.002105f, 0.010725f, -0.002530f, 0.001377f, -0.008113f, 0.006952f, 0.000400f, 0.003343f, -0.009654f, 0.006482f, -0.006271f, -0.003340f, -0.006547f, -0.007910f, 0.005516f, 0.002196f, -0.002032f, -0.003731f, -0.003336f, -0.002375f, + -0.001241f, 0.005447f, -0.003863f, -0.007821f, -0.012244f, 0.013017f, 0.010408f, 0.001418f, -0.012018f, 0.005043f, -0.004972f, 0.006393f, -0.002655f, 0.002367f, -0.006023f, -0.003335f, -0.007541f, -0.002354f, 0.005155f, 0.049793f, -0.018495f, 0.022308f, -0.017729f, 0.001521f, 0.005287f, 0.005236f, -0.014642f, -0.004968f, -0.004928f, -0.024499f, -0.000150f, 0.001296f, -0.008850f, -0.001429f, -0.000131f, 0.017516f, 0.003209f, -0.012220f, 0.008887f, 0.009738f, 0.002134f, 0.017755f, -0.013251f, -0.004837f, -0.007110f, 0.003744f, 0.014164f, -0.001040f, 0.000828f, 0.005283f, -0.002622f, 0.006345f, 0.002784f, 0.016239f, -0.002551f, 0.006354f, -0.010756f, 0.009696f, -0.007577f, 0.010824f, -0.000331f, -0.011368f, -0.001856f, 0.016355f, -0.000895f, 0.011052f, 0.006465f, 0.010623f, 0.000737f, -0.008482f, -0.007102f, 0.000127f, -0.005368f, 0.008697f, 0.005506f, -0.008726f, 0.000859f, -0.006840f, 0.011175f, -0.003223f, 0.008839f, 0.010977f, 0.001445f, 0.011306f, -0.001096f, -0.005651f, -0.002547f, -0.007188f, -0.000471f, 0.014831f, -0.010377f, -0.009823f, -0.004907f, 0.004009f, -0.005073f, -0.041562f, + 0.004447f, -0.012300f, -0.008829f, -0.013479f, -0.016333f, 0.006320f, 0.014419f, -0.002270f, 0.005545f, 0.002220f, 0.007353f, 0.001614f, 0.000443f, 0.004426f, -0.008993f, 0.020533f, -0.001178f, -0.012065f, 0.013416f, -0.004201f, 0.005632f, -0.013586f, -0.008523f, -0.009643f, 0.004039f, 0.002459f, 0.010472f, 0.000265f, -0.006685f, 0.001053f, -0.005981f, -0.006504f, -0.007270f, -0.002536f, -0.010078f, -0.005097f, 0.009181f, -0.008689f, -0.000720f, -0.006804f, -0.010684f, -0.004749f, 0.001221f, 0.003357f, 0.006614f, -0.005358f, -0.004983f, 0.006609f, 0.001064f, 0.002472f, 0.001672f, 0.004084f, 0.006142f, -0.010151f, -0.003470f, -0.001055f, -0.014264f, 0.003732f, -0.001062f, 0.008276f, -0.008372f, -0.006401f, -0.007814f, 0.001281f, 0.008785f, 0.006731f, 0.015535f, 0.010304f, -0.009562f, 0.003724f, -0.004270f, 0.007079f, 0.004745f, -0.010824f, -0.053484f, 0.013818f, -0.016426f, -0.013804f, -0.010114f, 0.001095f, -0.003422f, 0.030418f, 0.002390f, 0.006752f, -0.004141f, -0.000575f, -0.013452f, 0.011991f, 0.003031f, -0.002553f, 0.001873f, 0.015858f, -0.008978f, -0.003583f, 0.003144f, 0.000425f, + 0.007633f, -0.007970f, -0.003945f, 0.008403f, 0.002663f, 0.007675f, 0.000308f, -0.009692f, -0.006559f, 0.004276f, -0.001585f, -0.003809f, -0.006304f, -0.004007f, -0.001101f, 0.014908f, 0.003221f, -0.003647f, -0.000428f, 0.000343f, -0.005537f, 0.010484f, 0.007871f, -0.003540f, -0.012694f, 0.002118f, -0.007123f, 0.009893f, 0.007506f, -0.009277f, 0.002390f, -0.011767f, -0.010600f, -0.009436f, -0.011641f, -0.004635f, 0.001354f, -0.007389f, -0.000528f, -0.008080f, -0.007139f, 0.011392f, 0.006678f, -0.011536f, -0.015497f, 0.000537f, 0.010637f, -0.010414f, -0.008550f, 0.009088f, 0.006136f, 0.010479f, -0.027969f, -0.002922f, 0.004529f, 0.013352f, -0.002780f, -0.007265f, 0.003032f, 0.019689f, -0.025160f, 0.005612f, -0.005202f, -0.004843f, -0.011382f, 0.006570f, -0.020164f, -0.013264f, 0.006799f, -0.010699f, 0.006256f, 0.028361f, -0.005135f, 0.011331f, -0.013508f, 0.013576f, -0.003645f, 0.003889f, -0.012102f, 0.005398f, 0.003386f, -0.006693f, 0.002815f, -0.001538f, -0.006214f, -0.000650f, 0.007847f, 0.012065f, -0.009623f, -0.015603f, -0.012152f, -0.011517f, 0.001498f, 0.008784f, 0.023949f, -0.000509f, + 0.016159f, 0.016576f, -0.015558f, 0.011795f, -0.022904f, -0.008634f, 0.001570f, -0.010449f, -0.009405f, 0.006169f, -0.022126f, -0.004603f, 0.015664f, -0.006876f, -0.005643f, 0.001870f, -0.006600f, 0.006175f, -0.006526f, 0.010727f, 0.014288f, -0.004011f, 0.004633f, 0.000487f, -0.013924f, 0.001152f, -0.008880f, -0.006395f, -0.010869f, 0.006333f, 0.005352f, -0.010969f, 0.001865f, 0.005787f, 0.066203f, -0.002903f, -0.025752f, -0.002997f, -0.000816f, 0.002750f, 0.008644f, 0.003623f, -0.002665f, -0.002487f, -0.012758f, -0.006015f, 0.007739f, 0.016287f, -0.012803f, -0.008137f, 0.011157f, 0.001019f, -0.003452f, 0.004432f, -0.000621f, -0.015174f, -0.015115f, 0.021250f, -0.001520f, -0.001294f, -0.003074f, 0.010902f, -0.000369f, 0.001146f, 0.007408f, -0.011630f, 0.012799f, 0.005053f, 0.002510f, 0.004598f, 0.012812f, -0.029719f, -0.012719f, -0.007378f, 0.027788f, 0.003290f, 0.002578f, -0.008674f, -0.008705f, 0.007823f, -0.000678f, 0.009060f, -0.002812f, -0.019374f, 0.002587f, 0.001761f, -0.002301f, 0.008548f, 0.004688f, 0.001726f, 0.015672f, 0.035975f, -0.002359f, -0.004113f, 0.014576f, 0.003098f, + -0.003817f, 0.008273f, 0.029176f, -0.004831f, 0.005966f, 0.008451f, 0.008773f, 0.005112f, 0.007970f, 0.005587f, 0.006788f, -0.011410f, 0.011420f, 0.014922f, -0.005431f, 0.013037f, 0.014563f, -0.019149f, -0.005711f, -0.016314f, 0.015642f, 0.029406f, -0.014437f, -0.003666f, -0.016518f, -0.007439f, -0.019932f, 0.013728f, -0.012222f, -0.005277f, -0.001423f, -0.000247f, -0.007993f, -0.010082f, 0.017626f, -0.016519f, -0.006046f, 0.001407f, 0.012025f, 0.012475f, -0.018621f, -0.005922f, 0.007092f, -0.016446f, 0.009042f, -0.013163f, -0.005167f, 0.004149f, 0.000386f, -0.007464f, -0.001895f, 0.003261f, 0.020790f, 0.001991f, 0.004758f, -0.000588f, -0.017633f, 0.018758f, -0.009383f, -0.015161f, 0.011769f, -0.011012f, -0.011548f, 0.014589f, -0.006713f, 0.001250f, -0.003156f, 0.001322f, 0.020319f, -0.004191f, 0.004778f, -0.018334f, -0.001068f, 0.019614f, 0.004913f, 0.019394f, 0.017709f, -0.006585f, -0.004019f, -0.024460f, 0.004074f, -0.004909f, 0.016111f, 0.018141f, -0.010450f, 0.003746f, -0.033995f, -0.010498f, 0.012088f, -0.012984f, 0.018508f, 0.012209f, -0.014886f, 0.005490f, -0.013912f, -0.001236f, + -0.018896f, 0.031783f, -0.009016f, 0.002474f, -0.009698f, -0.028351f, 0.016769f, 0.006153f, -0.021202f, 0.013632f, -0.009444f, -0.006719f, 0.007686f, 0.030177f, -0.014679f, 0.029179f, -0.000392f, -0.019794f, 0.001014f, 0.007162f, -0.017638f, 0.020095f, -0.010160f, 0.015014f, 0.031743f, 0.003581f, -0.014644f, -0.003625f, -0.001574f, 0.007773f, -0.012459f, -0.006313f, -0.001607f, 0.016149f, -0.005486f, -0.005668f, -0.020628f, -0.000088f, -0.024413f, -0.003869f, 0.027763f, -0.005550f, 0.015814f, 0.002201f, 0.004226f, -0.035596f, 0.000501f, -0.022472f, 0.018717f, 0.033380f, 0.010021f, 0.009054f, 0.001984f, 0.005810f, -0.019040f, 0.007692f, 0.010082f, -0.007380f, -0.002442f, -0.006321f, -0.004857f, 0.015976f, 0.000255f, 0.019262f, 0.054483f, 0.021610f, 0.005428f, -0.016705f, -0.017314f, -0.008627f, 0.011131f, -0.013955f, -0.008288f, 0.055545f, -0.032323f, -0.002282f, -0.016802f, -0.030354f, -0.040077f, 0.009269f, -0.013862f, 0.009909f, -0.038024f, 0.005760f, 0.011521f, 0.010318f, -0.016854f, -0.034922f, -0.027924f, -0.023554f, -0.001248f, -0.014270f, -0.026007f, -0.018205f, -0.010106f, -0.021334f, + -0.015490f, 0.001977f, 0.023683f, -0.002020f, 0.002035f, -0.002252f, -0.023778f, 0.012338f, -0.003590f, 0.002690f, -0.006525f, -0.015995f, 0.010939f, -0.019600f, -0.027178f, 0.021688f, -0.026544f, 0.003705f, -0.001775f, -0.036228f, -0.022458f, 0.012518f, -0.002149f, 0.015705f, -0.012694f, -0.038280f, -0.001633f, 0.000248f, 0.012423f, 0.013836f, 0.033332f, -0.021065f, -0.072984f, -0.025896f, -0.025755f, 0.015258f, -0.047923f, -0.016453f, -0.008977f, -0.043314f, -0.015351f, -0.001150f, -0.009114f, -0.008275f, 0.008534f, -0.011573f, -0.001575f, -0.010582f, 0.009866f, -0.024513f, 0.009559f, 0.021524f, -0.022912f, -0.032214f, 0.013819f, 0.017191f, -0.004745f, -0.005438f, -0.015812f, -0.017184f, 0.042570f, 0.016334f, -0.038622f, 0.014667f, -0.020841f, -0.000863f, -0.018940f, -0.039007f, 0.012224f, -0.019670f, -0.008423f, 0.003036f, 0.001486f, -0.008805f, -0.033782f, -0.019594f, 0.016913f, -0.019283f, -0.000412f, -0.016798f, -0.028214f, -0.009286f, 0.031526f, 0.006872f, 0.005621f, -0.025514f, -0.009228f, -0.003611f, -0.003656f, 0.013251f, 0.013658f, 0.019978f, 0.021819f, -0.008432f, 0.012164f, 0.006757f, + -0.013000f, 0.010343f, -0.021705f, -0.015942f, -0.016491f, 0.009739f, -0.019049f, 0.003844f, -0.028472f, -0.021402f, -0.013224f, 0.032246f, 0.021959f, 0.025476f, 0.023542f, -0.018687f, 0.029603f, 0.004915f, 0.013099f, 0.046001f, -0.009625f, -0.003243f, 0.005669f, -0.015342f, 0.007021f, -0.004250f, -0.027476f, 0.009115f, 0.019573f, -0.018752f, -0.019914f, 0.004296f, 0.020398f, -0.009390f, -0.016504f, -0.037560f, 0.041475f, -0.033639f, 0.042970f, 0.023751f, 0.015928f, 0.008656f, 0.016449f, 0.017943f, 0.016515f, 0.046238f, -0.017156f, 0.002608f, -0.003871f, -0.008806f, -0.002168f, 0.005107f, -0.005114f, 0.008311f, -0.003810f, 0.013954f, 0.011538f, -0.003380f, -0.008922f, -0.047528f, -0.017474f, -0.034691f, -0.002391f, 0.017122f, 0.017207f, 0.004959f, 0.008333f, 0.012690f, 0.010260f, 0.012259f, 0.032598f, 0.049141f, 0.032593f, 0.005907f, -0.007321f, -0.010533f, -0.015346f, 0.016582f, 0.016776f, 0.019036f, -0.015923f, -0.012668f, -0.019536f, -0.004044f, 0.023190f, -0.000804f, 0.027967f, -0.018782f, 0.014356f, 0.008280f, 0.024846f, -0.055943f, -0.040630f, -0.017322f, -0.023517f, -0.023854f, + 0.005140f, -0.010629f, 0.032720f, 0.008675f, -0.040308f, -0.004860f, 0.060095f, -0.022822f, 0.017076f, -0.011469f, 0.022915f, -0.014229f, -0.010875f, -0.001607f, -0.027801f, -0.014333f, 0.021563f, 0.008940f, 0.015702f, 0.042202f, 0.002888f, 0.027912f, 0.041261f, 0.028341f, -0.019808f, -0.043635f, -0.002211f, -0.020514f, 0.045355f, 0.012385f, 0.035278f, -0.006051f, -0.020055f, -0.008033f, -0.021805f, 0.007391f, -0.016936f, 0.001017f, -0.018770f, 0.008449f, -0.013892f, -0.006519f, -0.029687f, -0.029723f, -0.003518f, -0.042171f, 0.021900f, 0.014529f, -0.012955f, 0.020062f, -0.010651f, 0.007159f, 0.022880f, -0.027094f, -0.034694f, 0.004989f, -0.007999f, 0.056189f, 0.023825f, -0.063996f, -0.017458f, -0.018997f, -0.032883f, -0.035513f, -0.070634f, 0.011174f, -0.025523f, -0.007830f, 0.009765f, 0.001278f, 0.014220f, -0.004105f, -0.008476f, -0.054595f, 0.006254f, -0.025619f, 0.006572f, 0.029728f, 0.006735f, 0.019371f, -0.031384f, -0.043750f, 0.009053f, 0.024337f, 0.018403f, 0.007896f, 0.017927f, 0.025039f, 0.035755f, 0.032536f, 0.075273f, 0.049443f, 0.069023f, 0.003735f, -0.014530f, -0.048199f, + -0.014663f, 0.007088f, 0.010330f, -0.012163f, -0.037270f, -0.014130f, 0.059626f, 0.023994f, -0.008955f, 0.017502f, -0.001966f, -0.023127f, -0.007060f, -0.015467f, 0.040507f, -0.004212f, 0.001842f, 0.016643f, 0.000607f, 0.018995f, -0.000759f, 0.027317f, -0.026755f, 0.031611f, 0.006113f, -0.016545f, -0.009776f, -0.018239f, 0.029112f, -0.042416f, -0.044857f, 0.026630f, 0.045856f, 0.000708f, 0.031497f, 0.042493f, -0.050086f, 0.014902f, 0.009612f, -0.004390f, -0.000973f, 0.005616f, -0.019134f, 0.032737f, -0.021514f, -0.018593f, 0.013415f, -0.000259f, -0.004313f, -0.010170f, -0.010918f, 0.002733f, -0.033350f, -0.012198f, 0.025732f, -0.034851f, -0.008117f, -0.024552f, 0.000096f, 0.062414f, -0.021320f, 0.000987f, 0.016622f, -0.003226f, -0.016039f, -0.044829f, 0.038707f, 0.013941f, -0.083862f, 0.014449f, 0.016795f, -0.034227f, -0.081667f, 0.072156f, 0.042890f, 0.022699f, 0.015858f, 0.035512f, -0.082444f, 0.033460f, 0.037613f, 0.015971f, -0.052925f, 0.028976f, 0.052800f, 0.024342f, 0.058231f, 0.021069f, 0.000583f, -0.002659f, -0.002292f, -0.010339f, 0.024346f, 0.041268f, 0.039131f, 0.013457f, + -0.012774f, -0.021132f, 0.004307f, -0.019316f, -0.022754f, 0.022680f, 0.015186f, 0.003851f, -0.022945f, -0.022124f, -0.005652f, -0.019372f, 0.008516f, 0.047128f, -0.009636f, -0.016288f, 0.014914f, 0.007784f, 0.012808f, 0.015737f, -0.005186f, -0.010741f, 0.036768f, 0.024253f, 0.010690f, 0.015651f, -0.005205f, -0.039687f, 0.006505f, 0.023812f, 0.000639f, -0.030275f, 0.035055f, 0.007872f, 0.049520f, -0.000356f, 0.043660f, 0.002445f, -0.020172f, -0.008109f, 0.006053f, 0.064223f, -0.014963f, 0.020171f, 0.008885f, 0.026949f, 0.006915f, -0.006225f, -0.015197f, 0.012264f, 0.076650f, -0.010651f, -0.010323f, -0.051870f, 0.059364f, 0.000268f, 0.052713f, 0.002393f, 0.004770f, -0.045638f, -0.013057f, -0.019964f, 0.037049f, 0.010118f, 0.017202f, 0.010441f, -0.034476f, 0.004527f, 0.004321f, -0.030569f, -0.043635f, -0.045182f, 0.017125f, -0.016255f, 0.043538f, 0.003267f, -0.011739f, -0.010081f, 0.010673f, -0.015472f, 0.004362f, 0.013065f, -0.015981f, 0.010645f, 0.015876f, 0.005513f, 0.005802f, 0.032416f, 0.055194f, -0.009844f, 0.001399f, 0.027414f, 0.023829f, 0.032683f, -0.021951f, -0.008841f, + 0.011609f, -0.031490f, 0.005078f, 0.003204f, -0.040448f, 0.055089f, -0.000662f, 0.027951f, 0.025884f, 0.017012f, -0.030209f, 0.003306f, 0.029689f, -0.022253f, 0.051220f, 0.013627f, -0.015830f, 0.040683f, 0.032731f, 0.021368f, -0.066278f, -0.013998f, 0.015632f, -0.023504f, 0.005577f, -0.038396f, -0.007878f, -0.058186f, -0.015298f, -0.009416f, -0.015613f, -0.064867f, -0.008223f, -0.017476f, 0.070446f, 0.033735f, 0.030111f, 0.023363f, -0.010412f, 0.015999f, 0.036687f, 0.035435f, 0.017823f, -0.034564f, -0.040524f, 0.023445f, -0.002187f, 0.017966f, -0.004227f, 0.041381f, -0.024159f, -0.002152f, -0.005711f, 0.036526f, -0.020697f, 0.061271f, 0.074901f, 0.075887f, 0.008507f, -0.009818f, 0.015810f, -0.005824f, 0.021778f, 0.000464f, 0.003708f, -0.017656f, -0.053891f, -0.015826f, -0.051424f, 0.035327f, 0.034131f, -0.030793f, -0.021469f, -0.030907f, -0.011877f, -0.001571f, 0.079924f, 0.004243f, -0.034477f, -0.038208f, 0.001659f, 0.056244f, 0.029463f, -0.102946f, -0.017534f, -0.015594f, 0.018063f, 0.043027f, -0.042064f, -0.011557f, -0.023479f, 0.015028f, -0.059035f, 0.034160f, -0.006731f, 0.001313f, + 0.021057f, 0.005165f, -0.027460f, 0.064465f, -0.003195f, 0.031603f, 0.069065f, 0.137926f, 0.083637f, -0.001039f, 0.046781f, 0.069385f, 0.088572f, 0.094742f, 0.023602f, 0.051044f, 0.020299f, -0.009680f, -0.026819f, 0.039066f, -0.040685f, 0.078089f, -0.005339f, -0.009376f, 0.004652f, 0.063257f, -0.036193f, -0.002509f, 0.001338f, 0.005365f, 0.024328f, -0.010561f, 0.033667f, 0.015532f, -0.003096f, 0.012120f, 0.006127f, 0.029326f, -0.071696f, -0.018148f, 0.000069f, 0.013234f, -0.005126f, -0.048505f, 0.046428f, 0.003238f, 0.008005f, 0.021925f, -0.033464f, -0.010035f, -0.080167f, 0.027897f, -0.017676f, 0.022095f, 0.061076f, -0.009770f, 0.013692f, -0.000860f, 0.029473f, -0.041778f, -0.064563f, 0.064593f, -0.004780f, 0.012535f, 0.010084f, 0.065512f, 0.042129f, 0.058239f, -0.000952f, -0.058292f, 0.039346f, 0.027675f, -0.016458f, -0.014179f, 0.036988f, 0.003071f, 0.046670f, 0.090007f, 0.060001f, 0.021835f, 0.003225f, 0.070722f, -0.014215f, 0.031153f, 0.044957f, -0.018389f, 0.051833f, 0.050168f, 0.015254f, -0.021069f, -0.024737f, -0.030662f, -0.005348f, -0.003460f, -0.103189f, 0.022922f, + -0.017364f, -0.004733f, 0.079961f, 0.033705f, -0.025337f, -0.020348f, -0.000394f, -0.052848f, -0.063577f, 0.004344f, 0.000650f, -0.036890f, 0.038156f, 0.003404f, -0.036407f, 0.021914f, 0.069403f, -0.010610f, -0.039271f, 0.023524f, -0.022819f, -0.027051f, 0.013585f, 0.054436f, -0.017434f, 0.006507f, 0.016302f, -0.019076f, -0.040680f, -0.029257f, 0.056525f, 0.017509f, -0.053271f, 0.044625f, 0.019745f, -0.039551f, -0.017974f, 0.074630f, -0.023287f, -0.061345f, -0.028445f, 0.099735f, -0.098844f, -0.049305f, 0.062058f, -0.029748f, -0.030062f, -0.098892f, 0.077554f, -0.064431f, 0.024802f, 0.000194f, -0.008569f, -0.111675f, -0.028888f, 0.089653f, 0.062018f, -0.076831f, -0.016435f, -0.035338f, -0.011122f, 0.011372f, 0.024353f, 0.020345f, -0.123840f, 0.066139f, 0.058334f, 0.052275f, 0.005381f, 0.025235f, -0.058867f, -0.060126f, 0.110727f, 0.041244f, -0.084115f, 0.015296f, 0.106476f, 0.033657f, 0.012036f, 0.003449f, 0.008650f, 0.045909f, 0.062852f, -0.013710f, 0.012351f, 0.016544f, -0.009931f, 0.037925f, -0.018970f, -0.004884f, -0.014141f, 0.029189f, 0.022215f, -0.011393f, 0.020515f, -0.027887f, + -0.022125f, 0.029069f, -0.017583f, 0.031885f, -0.020138f, -0.009094f, 0.000334f, 0.017506f, -0.000104f, 0.013058f, 0.006206f, 0.032359f, -0.021999f, -0.004456f, 0.001619f, -0.012683f, 0.032154f, 0.027049f, -0.021162f, -0.007839f, -0.012549f, 0.007180f, -0.027563f, 0.015509f, 0.010063f, 0.014209f, -0.010250f, -0.008761f, 0.036639f, -0.042582f, -0.006053f, 0.017837f, -0.010196f, -0.007853f, 0.019883f, -0.052385f, 0.014036f, -0.019068f, 0.004599f, -0.018684f, 0.046710f, -0.014872f, -0.017909f, 0.018405f, -0.008562f, -0.029708f, 0.059289f, -0.001581f, 0.007928f, -0.012631f, -0.019701f, -0.025441f, 0.032278f, -0.030915f, -0.009979f, 0.026240f, -0.080321f, -0.224455f, -0.184641f, 0.095419f, 0.026374f, 0.220224f, 0.394662f, 0.057369f, 0.123475f, 0.043965f, -0.317289f, -0.101364f, -0.215684f, -0.260450f, 0.005906f, 0.039882f, -0.109394f, 0.155065f, 0.203534f, 0.113520f, 0.325427f, 0.186971f, -0.043382f, -0.079049f, -0.152966f, -0.296623f, -0.234394f, -0.070184f, -0.209147f, -0.030446f, 0.178033f, 0.028468f, 0.040461f, 0.269634f, 0.137036f, 0.084088f, 0.281409f, 0.042095f, -0.079266f, 0.109062f, + -0.149251f, -0.294650f, -0.123898f, -0.248799f, -0.310780f, -0.005912f, -0.065792f, -0.082854f, 0.205106f, 0.225923f, 0.143556f, 0.341585f, 0.275648f, 0.129280f, 0.117099f, 0.067179f, -0.229950f, -0.211832f, -0.267625f, -0.353361f, -0.283130f, -0.120038f, -0.082267f, 0.006631f, 0.202540f, 0.246053f, 0.258287f, 0.247356f, 0.230211f, 0.049736f, 0.006617f, -0.036712f, -0.169894f, -0.186156f, -0.100231f, -0.181902f, -0.041978f, 0.022171f, 0.002014f}, + {-0.001329f, 0.002296f, 0.006628f, 0.008642f, 0.000113f, -0.004743f, 0.006038f, 0.003391f, 0.007143f, 0.008806f, -0.003533f, -0.001013f, -0.007112f, 0.003974f, 0.001243f, -0.002997f, -0.008503f, 0.002850f, 0.004328f, 0.005820f, 0.000336f, -0.008059f, -0.004587f, 0.004665f, -0.005540f, 0.004872f, -0.001200f, 0.001632f, 0.001913f, 0.001833f, -0.008173f, 0.002557f, 0.002996f, -0.005618f, -0.009468f, -0.009054f, 0.000491f, 0.000723f, 0.001863f, -0.000543f, 0.000070f, -0.002627f, 0.004379f, -0.000777f, 0.003823f, -0.005796f, -0.000726f, 0.006083f, 0.011223f, 0.000880f, -0.000236f, 0.001456f, 0.006569f, 0.004245f, -0.008038f, 0.002104f, 0.003937f, 0.002497f, 0.000020f, 0.004284f, 0.003871f, 0.002459f, 0.002503f, 0.001537f, -0.002070f, -0.004696f, 0.006075f, 0.002632f, -0.003753f, -0.000720f, -0.003076f, 0.004070f, -0.000081f, -0.002792f, 0.003409f, 0.002277f, 0.001675f, -0.019901f, -0.024173f, 0.011876f, -0.004587f, 0.010354f, -0.005445f, -0.005593f, -0.010912f, 0.002301f, 0.002089f, -0.000711f, -0.000006f, -0.001438f, -0.008377f, -0.001194f, -0.004861f, -0.005640f, -0.005278f, -0.000448f, + 0.000456f, -0.000665f, -0.001079f, 0.003807f, -0.001280f, -0.012676f, 0.007575f, 0.003566f, -0.004367f, 0.000962f, -0.000255f, -0.000151f, 0.001614f, 0.007688f, -0.004569f, 0.000176f, -0.014180f, 0.006707f, 0.001273f, 0.002857f, 0.004757f, 0.007583f, -0.004513f, -0.003680f, -0.001688f, -0.007401f, 0.000484f, -0.001401f, 0.006037f, -0.003632f, -0.000486f, -0.003776f, -0.003980f, 0.007082f, -0.005660f, -0.003085f, 0.000659f, -0.005475f, 0.004222f, -0.000583f, -0.002411f, 0.004198f, 0.008439f, 0.000110f, -0.000323f, -0.001621f, 0.007239f, -0.007629f, 0.000095f, -0.001597f, 0.003823f, -0.002270f, -0.003235f, 0.007312f, -0.000092f, 0.001044f, -0.002202f, -0.028829f, 0.004607f, 0.003132f, 0.009762f, -0.004169f, 0.002776f, 0.011408f, -0.004775f, 0.002947f, -0.007334f, -0.010604f, 0.003522f, -0.007292f, -0.008334f, -0.008315f, 0.002151f, 0.002854f, -0.014079f, 0.007880f, 0.005082f, -0.002573f, -0.005349f, 0.003001f, -0.001560f, -0.003366f, 0.000688f, 0.004347f, 0.003064f, 0.007078f, 0.001085f, -0.002449f, 0.007186f, -0.004007f, 0.016058f, 0.003465f, 0.009756f, 0.003665f, 0.008509f, 0.003716f, + 0.005747f, 0.003074f, 0.000360f, 0.000104f, 0.012028f, 0.001864f, -0.002380f, 0.000576f, 0.006154f, 0.004602f, 0.000305f, -0.000813f, -0.002970f, 0.001118f, 0.014705f, 0.004067f, 0.006551f, -0.007599f, -0.004222f, -0.008011f, -0.005351f, -0.007800f, 0.005134f, 0.003221f, -0.005294f, -0.003761f, 0.002841f, -0.003945f, 0.003209f, -0.002088f, -0.001718f, -0.005628f, -0.009351f, 0.003258f, -0.014851f, -0.002581f, -0.003766f, 0.016415f, 0.022490f, -0.006460f, 0.006283f, -0.010677f, -0.000262f, 0.000996f, 0.028640f, -0.002554f, -0.007163f, -0.011859f, 0.000605f, 0.008478f, 0.013346f, -0.002580f, -0.016775f, -0.004555f, -0.006198f, -0.004300f, 0.006130f, -0.000879f, 0.011197f, 0.001596f, -0.005832f, -0.013436f, 0.004470f, -0.000897f, 0.003536f, -0.001260f, 0.001886f, 0.007194f, 0.002812f, -0.016969f, 0.002423f, 0.011632f, 0.005835f, 0.001829f, 0.003012f, -0.002329f, 0.008090f, -0.009805f, -0.000666f, 0.008983f, -0.005512f, 0.000517f, 0.014130f, -0.005833f, -0.000304f, -0.004115f, 0.008833f, -0.008339f, -0.006265f, 0.004737f, -0.008892f, -0.003921f, 0.012399f, 0.007751f, -0.010392f, -0.003254f, + -0.001249f, -0.001912f, -0.004537f, 0.004674f, -0.003844f, 0.005301f, 0.000226f, 0.001598f, 0.002286f, 0.010105f, -0.000715f, 0.013640f, 0.006745f, -0.008397f, -0.004254f, -0.003376f, 0.007502f, 0.003398f, -0.000093f, 0.052424f, -0.019996f, 0.010276f, -0.015381f, -0.002002f, 0.000065f, -0.001537f, -0.008373f, 0.003884f, 0.005621f, 0.001033f, -0.006220f, -0.012696f, -0.000928f, 0.007042f, 0.004847f, -0.005829f, -0.009698f, -0.001184f, 0.007782f, 0.014646f, -0.008619f, -0.001532f, -0.006629f, -0.013640f, 0.000989f, -0.007077f, 0.003514f, -0.005351f, 0.009773f, -0.018460f, 0.011670f, -0.001228f, -0.011244f, 0.002188f, 0.004003f, -0.001696f, -0.006209f, -0.000069f, 0.013570f, -0.000950f, 0.001780f, -0.002407f, 0.004845f, 0.002079f, -0.003896f, -0.005700f, -0.012176f, 0.007120f, -0.003025f, -0.003803f, 0.003842f, -0.000304f, -0.020131f, 0.014605f, -0.021645f, -0.012467f, -0.015557f, 0.002857f, -0.002482f, 0.008576f, -0.005653f, 0.004428f, -0.009792f, 0.004018f, -0.003263f, -0.003911f, -0.010889f, 0.005830f, 0.005793f, 0.011713f, -0.004230f, -0.001240f, 0.001595f, -0.003650f, -0.000692f, -0.041691f, + 0.004303f, 0.000454f, -0.003481f, -0.006434f, 0.007373f, -0.005672f, 0.004942f, -0.001525f, 0.000023f, 0.006704f, 0.008888f, -0.005455f, 0.006585f, -0.001955f, -0.003438f, -0.011787f, -0.000435f, -0.015912f, -0.011460f, 0.013801f, 0.005127f, -0.005523f, -0.001801f, -0.001784f, 0.009839f, 0.004927f, -0.004778f, 0.008618f, 0.006058f, 0.003244f, 0.003255f, 0.003518f, 0.006926f, 0.005520f, 0.005925f, 0.015284f, 0.014241f, 0.005747f, 0.001797f, -0.010000f, 0.011022f, -0.014727f, 0.003104f, -0.004391f, 0.011935f, -0.009213f, -0.011157f, 0.019203f, -0.004291f, -0.011027f, -0.009096f, 0.014094f, 0.009288f, -0.000046f, 0.007835f, 0.009986f, 0.005192f, 0.016486f, -0.000698f, -0.003464f, 0.010079f, 0.005136f, 0.000913f, -0.000517f, -0.008586f, 0.004367f, 0.005936f, 0.012772f, 0.006029f, 0.007429f, -0.004893f, -0.008434f, -0.014563f, -0.004775f, -0.056389f, 0.014141f, -0.012672f, -0.018317f, -0.018169f, 0.010014f, -0.013709f, 0.008770f, -0.017022f, 0.008179f, 0.006754f, 0.003960f, -0.017902f, 0.010962f, -0.001091f, 0.006369f, -0.015011f, 0.007176f, 0.015781f, 0.012090f, -0.000468f, -0.006640f, + 0.001402f, -0.004254f, -0.018962f, -0.004281f, -0.009631f, 0.003497f, -0.012321f, 0.009113f, 0.008517f, -0.004363f, -0.001458f, 0.012797f, -0.003994f, 0.008510f, -0.008387f, -0.012214f, 0.004970f, -0.000739f, 0.005155f, 0.015937f, 0.008856f, -0.001117f, -0.029883f, -0.014242f, -0.005206f, 0.003518f, -0.005671f, 0.015360f, -0.026222f, 0.007471f, 0.002050f, -0.000646f, 0.006436f, -0.003596f, 0.010680f, -0.026467f, -0.013682f, 0.009828f, -0.027811f, -0.005124f, 0.010641f, 0.004187f, -0.007500f, -0.017659f, 0.004712f, 0.011247f, 0.006389f, -0.003074f, -0.020429f, -0.001360f, -0.002094f, -0.001565f, -0.025480f, 0.003471f, 0.005038f, 0.021117f, -0.018648f, 0.022987f, 0.007052f, -0.001195f, -0.004524f, -0.001816f, 0.002823f, -0.015769f, -0.002363f, 0.005814f, -0.004584f, -0.009036f, -0.001784f, 0.016021f, -0.015147f, -0.002934f, 0.016865f, 0.000607f, -0.005466f, 0.006172f, -0.006879f, 0.012301f, 0.006114f, 0.000364f, 0.006855f, -0.006329f, -0.009771f, -0.000265f, 0.001849f, 0.009317f, -0.017817f, -0.009679f, -0.007234f, -0.005332f, -0.004457f, -0.005220f, 0.004011f, 0.001431f, 0.002794f, -0.013577f, + -0.013195f, -0.010968f, 0.001742f, -0.017567f, -0.008615f, 0.011383f, -0.005887f, 0.002958f, 0.002666f, 0.000246f, 0.006110f, 0.007046f, 0.007797f, 0.007934f, 0.012444f, -0.001186f, 0.013427f, 0.000023f, 0.007841f, -0.000125f, -0.005270f, 0.000500f, -0.009637f, 0.008464f, -0.011451f, 0.014321f, -0.012780f, 0.001249f, -0.012857f, 0.003356f, -0.012273f, -0.013257f, 0.012850f, 0.021386f, 0.073791f, 0.001966f, -0.019880f, 0.004405f, -0.010303f, 0.030092f, -0.003670f, 0.009268f, 0.003190f, 0.002524f, -0.024407f, -0.011930f, 0.015187f, 0.013546f, -0.019014f, -0.002387f, 0.000444f, 0.019010f, 0.009835f, 0.007952f, 0.018562f, 0.003919f, 0.002193f, 0.016376f, -0.004276f, -0.021975f, 0.004464f, 0.018897f, 0.011519f, -0.005504f, 0.001388f, 0.013558f, 0.008562f, 0.004599f, 0.000371f, -0.011756f, 0.007351f, -0.012881f, 0.002435f, -0.025340f, 0.008002f, 0.009473f, -0.001127f, -0.010945f, 0.017915f, 0.010200f, -0.002476f, 0.014475f, 0.007082f, -0.009713f, 0.021303f, 0.003576f, -0.006164f, 0.006127f, 0.021819f, 0.004689f, 0.000489f, -0.015859f, -0.009094f, 0.003966f, 0.008075f, 0.025282f, + -0.006789f, -0.007750f, 0.003077f, 0.014648f, -0.007342f, -0.008479f, 0.000079f, 0.019122f, 0.013314f, -0.002277f, -0.012285f, 0.001446f, 0.015890f, -0.003874f, 0.031527f, 0.015414f, 0.007748f, -0.026856f, -0.003628f, -0.014103f, 0.025047f, -0.010806f, 0.011197f, 0.001237f, 0.015376f, 0.005315f, 0.001540f, -0.002461f, 0.005759f, -0.008575f, -0.011865f, -0.031742f, -0.023432f, 0.006288f, 0.019345f, 0.025802f, -0.010705f, -0.014435f, -0.012353f, 0.004768f, -0.007083f, -0.002662f, -0.001787f, 0.002331f, 0.003444f, 0.016707f, -0.010257f, 0.000337f, 0.003825f, 0.007428f, -0.009318f, -0.007886f, -0.014964f, -0.011193f, -0.010577f, -0.018601f, -0.044000f, -0.001999f, -0.006310f, -0.020213f, 0.003741f, -0.003665f, -0.024010f, 0.006335f, -0.020393f, 0.003506f, -0.002787f, -0.003299f, 0.009825f, 0.011445f, -0.000664f, -0.021249f, 0.005496f, -0.014033f, -0.013718f, 0.016937f, 0.016796f, 0.017017f, -0.006289f, 0.001103f, 0.002442f, -0.011685f, 0.001480f, -0.006755f, 0.029660f, -0.007108f, -0.002961f, -0.005256f, -0.000088f, -0.020505f, -0.022394f, 0.008552f, -0.028358f, 0.010656f, 0.003534f, 0.030222f, + -0.020185f, -0.011247f, -0.006709f, 0.016278f, -0.015338f, -0.014451f, 0.013242f, 0.009243f, -0.015571f, -0.015299f, -0.015407f, -0.033878f, 0.022340f, 0.021493f, 0.022212f, -0.009209f, 0.006883f, 0.022666f, -0.032401f, 0.000542f, 0.020873f, 0.020120f, 0.008606f, 0.000522f, -0.010614f, 0.002765f, -0.005306f, -0.027189f, 0.003154f, 0.008325f, 0.003677f, 0.019207f, -0.016721f, 0.002541f, -0.030900f, -0.003023f, 0.005493f, -0.015823f, 0.005902f, 0.006080f, 0.013003f, 0.017639f, 0.022491f, -0.003663f, -0.009784f, -0.026794f, -0.020689f, 0.009833f, 0.040230f, -0.011435f, -0.002580f, -0.017523f, -0.010965f, -0.013509f, 0.007817f, 0.010709f, -0.004273f, 0.003100f, -0.031263f, -0.002041f, 0.018965f, -0.014107f, -0.015602f, 0.014431f, -0.007187f, 0.020346f, 0.002261f, -0.009805f, -0.000577f, -0.015708f, -0.009509f, 0.000151f, -0.018406f, 0.040192f, -0.020885f, -0.011103f, -0.001540f, -0.002076f, -0.029765f, 0.001145f, -0.022110f, 0.014731f, -0.040920f, -0.006587f, -0.013575f, 0.012990f, -0.014554f, -0.014648f, -0.034741f, 0.022181f, -0.014715f, 0.008676f, -0.011676f, 0.006106f, 0.017372f, -0.013911f, + -0.023047f, -0.008254f, 0.014512f, 0.030901f, 0.009419f, 0.012483f, 0.000802f, -0.032682f, -0.017858f, -0.017992f, -0.009633f, 0.004768f, 0.028111f, 0.011639f, 0.016020f, 0.014954f, -0.005261f, -0.007592f, -0.010586f, -0.027538f, 0.000566f, -0.019504f, 0.027958f, -0.014123f, 0.018944f, 0.003309f, -0.011375f, 0.005685f, -0.007934f, -0.010057f, -0.016773f, 0.022658f, 0.005114f, 0.038962f, 0.007618f, -0.044285f, -0.011974f, 0.012601f, 0.009921f, 0.005004f, -0.003828f, 0.002423f, 0.043629f, 0.021046f, -0.009265f, 0.003169f, -0.013952f, 0.030787f, -0.003256f, -0.003573f, 0.010481f, -0.031940f, -0.014867f, -0.025362f, 0.014489f, 0.032906f, -0.003705f, -0.001875f, -0.001200f, 0.030552f, 0.009168f, 0.006994f, 0.004862f, 0.003227f, 0.004837f, -0.012646f, 0.001838f, -0.038831f, 0.005070f, -0.018943f, 0.015597f, 0.038816f, -0.005547f, 0.002411f, -0.031425f, 0.040938f, 0.019626f, 0.017129f, -0.005606f, -0.023221f, 0.002287f, -0.008232f, 0.020548f, 0.014592f, -0.019272f, 0.000526f, 0.010626f, 0.007347f, -0.015020f, -0.013427f, 0.060186f, -0.014569f, -0.011025f, 0.012268f, -0.015891f, -0.011789f, + 0.018834f, 0.018346f, 0.000302f, 0.006708f, 0.006427f, -0.024053f, -0.012110f, -0.001607f, 0.007572f, 0.019916f, 0.004665f, 0.004187f, -0.026913f, -0.003209f, 0.007440f, -0.036939f, 0.007574f, -0.010875f, -0.003986f, -0.007555f, 0.010351f, -0.011736f, -0.019885f, -0.022091f, -0.033406f, 0.002948f, -0.013533f, -0.007980f, 0.021397f, -0.009081f, 0.007332f, -0.040074f, 0.001151f, 0.029376f, -0.019105f, -0.019197f, 0.045846f, -0.027353f, 0.007239f, -0.017483f, 0.054066f, 0.011480f, 0.010108f, -0.017243f, -0.020259f, 0.001961f, 0.015583f, -0.016557f, -0.026187f, -0.015701f, -0.038144f, -0.014976f, -0.022285f, -0.000078f, -0.051290f, 0.003567f, 0.028212f, 0.017146f, 0.023139f, -0.015985f, 0.006297f, 0.024725f, -0.002496f, 0.017910f, 0.007092f, 0.027944f, -0.013605f, 0.023294f, 0.019059f, 0.013219f, 0.030876f, -0.017058f, 0.018650f, -0.009345f, -0.010175f, -0.007216f, 0.007379f, -0.058897f, -0.018095f, -0.036620f, 0.043128f, -0.026714f, -0.029274f, -0.006463f, 0.024815f, 0.000666f, -0.009769f, 0.033323f, -0.010821f, -0.010519f, -0.022995f, -0.059455f, 0.004172f, 0.005640f, 0.026208f, -0.024807f, + 0.001604f, -0.015006f, -0.018402f, 0.032124f, -0.004587f, 0.016341f, -0.032593f, -0.033166f, -0.018791f, 0.027289f, -0.000283f, -0.015715f, -0.015174f, 0.001021f, -0.023152f, -0.001193f, 0.028666f, 0.002838f, -0.009963f, 0.014233f, -0.025080f, 0.046896f, 0.029169f, -0.001402f, -0.022889f, -0.025961f, 0.009433f, -0.007409f, -0.003154f, -0.002487f, 0.042886f, -0.022689f, -0.000064f, -0.016169f, 0.015256f, -0.028436f, -0.025776f, -0.050333f, 0.010554f, -0.021224f, -0.028395f, -0.004668f, -0.047453f, -0.024252f, 0.012408f, 0.008603f, -0.007150f, 0.022926f, 0.001539f, 0.028054f, -0.013711f, -0.042013f, -0.006857f, -0.031189f, -0.006339f, -0.010416f, -0.039568f, 0.003574f, 0.031083f, -0.090834f, 0.010705f, -0.001365f, 0.021563f, -0.006059f, -0.028350f, -0.054651f, 0.020586f, -0.008220f, 0.019228f, 0.010054f, -0.006945f, 0.029097f, -0.038925f, 0.052036f, -0.013966f, 0.028129f, 0.062499f, 0.023152f, 0.044373f, 0.015500f, 0.011379f, -0.008292f, 0.023036f, -0.010949f, -0.024786f, -0.035261f, -0.021576f, -0.003284f, 0.018295f, -0.004559f, 0.076500f, 0.062542f, 0.056522f, -0.011412f, 0.001413f, -0.045773f, + 0.036370f, 0.044641f, 0.016121f, 0.043137f, 0.018124f, 0.015374f, 0.016120f, -0.006363f, 0.007205f, 0.012667f, -0.009302f, -0.044202f, -0.026011f, -0.000685f, -0.028575f, -0.034048f, -0.080731f, 0.019001f, 0.015726f, 0.022341f, -0.014202f, -0.004743f, -0.009372f, 0.001431f, -0.024118f, 0.000083f, -0.017968f, 0.023551f, 0.020601f, -0.010990f, -0.014258f, -0.042639f, 0.074742f, -0.022125f, 0.016166f, 0.000608f, 0.006482f, 0.012250f, -0.028375f, 0.036962f, -0.016519f, 0.012941f, 0.010047f, -0.026779f, -0.026123f, -0.004825f, -0.000495f, 0.017211f, 0.079076f, -0.006233f, 0.013501f, 0.002662f, 0.025326f, 0.016530f, 0.019437f, -0.013782f, -0.001906f, 0.006314f, -0.035062f, 0.006977f, -0.029662f, -0.051834f, 0.019971f, 0.000227f, 0.006254f, -0.039370f, -0.087430f, 0.035442f, 0.042454f, 0.022136f, -0.048133f, -0.044701f, -0.088656f, 0.072551f, 0.011220f, 0.012404f, -0.029879f, -0.021716f, -0.094256f, 0.025322f, 0.066529f, 0.019957f, -0.059866f, -0.030311f, 0.009156f, -0.023726f, -0.015149f, 0.026852f, -0.031376f, 0.016634f, 0.014941f, 0.012106f, -0.034861f, 0.011652f, 0.010203f, -0.016794f, + -0.032642f, -0.019294f, -0.012833f, -0.008991f, -0.031152f, -0.027154f, -0.015006f, -0.032338f, 0.024546f, -0.012491f, -0.041315f, -0.014785f, 0.024637f, -0.005855f, -0.028797f, -0.016272f, -0.014930f, -0.000764f, -0.022950f, -0.014214f, -0.037737f, -0.036033f, 0.014532f, -0.013235f, 0.045880f, 0.029893f, 0.002363f, 0.027096f, -0.041300f, 0.025644f, -0.039321f, 0.031798f, -0.006430f, 0.015992f, -0.018209f, 0.057006f, -0.015548f, 0.031703f, -0.009676f, 0.046843f, 0.017328f, 0.011046f, -0.051045f, 0.052570f, 0.039640f, 0.018080f, 0.015985f, -0.038457f, -0.012581f, 0.015392f, 0.017484f, -0.007127f, -0.011732f, -0.057036f, 0.056339f, -0.001882f, 0.029186f, -0.029507f, -0.006766f, -0.004087f, -0.003674f, -0.003529f, 0.034615f, 0.005287f, -0.021166f, 0.024829f, 0.007673f, 0.019190f, 0.029953f, 0.030540f, 0.005519f, -0.017931f, 0.096412f, -0.020705f, 0.075104f, 0.005213f, 0.008406f, -0.035453f, -0.013406f, 0.011455f, 0.038530f, 0.021840f, -0.006976f, 0.033046f, 0.009954f, -0.033842f, 0.010729f, 0.010743f, 0.044219f, 0.003660f, 0.028208f, -0.024244f, 0.004328f, 0.032335f, 0.017802f, 0.028008f, + 0.064403f, 0.053556f, -0.003068f, 0.030517f, 0.000725f, 0.052899f, -0.033335f, 0.037360f, 0.017408f, 0.004266f, 0.032981f, -0.008794f, 0.078251f, -0.006393f, 0.040346f, -0.020250f, -0.018848f, 0.007908f, 0.083347f, 0.032435f, -0.067515f, 0.071656f, 0.004020f, 0.030135f, -0.049325f, 0.026577f, 0.011952f, -0.101316f, 0.051842f, 0.092917f, 0.038031f, -0.025150f, -0.016323f, 0.029137f, 0.078921f, 0.018692f, 0.022074f, 0.014481f, -0.016269f, -0.008067f, -0.029171f, 0.037859f, 0.006479f, 0.025194f, -0.019463f, 0.050344f, -0.016757f, 0.023405f, 0.008759f, 0.010340f, 0.008416f, 0.004205f, -0.051520f, -0.030778f, 0.001532f, 0.004389f, 0.037267f, 0.029245f, -0.041575f, 0.003815f, -0.022207f, -0.022157f, 0.012128f, 0.001872f, -0.013092f, 0.016880f, 0.071199f, -0.047057f, -0.001870f, 0.105322f, -0.062886f, 0.006383f, 0.039992f, -0.020872f, -0.013580f, 0.020548f, 0.037296f, -0.039895f, 0.021147f, -0.071178f, -0.005059f, 0.101530f, 0.007071f, 0.027185f, -0.008291f, 0.054237f, 0.059634f, -0.018233f, 0.001935f, -0.029616f, 0.009605f, -0.022868f, -0.047289f, -0.035750f, -0.056908f, -0.048070f, + 0.070447f, 0.022933f, 0.023385f, 0.084673f, -0.059516f, -0.042402f, 0.015106f, 0.027708f, -0.021094f, 0.009661f, -0.023056f, 0.041514f, 0.032506f, 0.007230f, 0.036826f, 0.113663f, 0.012401f, -0.013014f, -0.029456f, 0.027404f, -0.005754f, 0.060234f, -0.051251f, 0.015272f, -0.002049f, -0.015122f, -0.013659f, -0.005759f, 0.019671f, 0.012946f, 0.013935f, -0.000864f, 0.034434f, 0.007688f, -0.040937f, -0.031654f, -0.002854f, -0.017755f, -0.022780f, 0.007647f, 0.028801f, -0.001725f, -0.004330f, -0.037062f, 0.021102f, -0.004150f, 0.041899f, -0.011469f, -0.075249f, 0.011635f, -0.021008f, -0.009379f, 0.001978f, -0.060245f, -0.031013f, -0.051388f, 0.002860f, -0.001541f, -0.013164f, -0.068693f, -0.026997f, -0.003749f, 0.039122f, 0.043625f, 0.005267f, 0.005727f, 0.022009f, 0.007205f, -0.046854f, 0.045572f, 0.060363f, -0.022507f, 0.010871f, -0.022465f, 0.012602f, 0.002806f, 0.046519f, -0.046759f, -0.034134f, -0.110840f, -0.038443f, 0.032218f, 0.047957f, 0.036387f, 0.031510f, -0.024161f, -0.007820f, 0.027117f, 0.022711f, 0.054457f, 0.022735f, 0.026891f, 0.030951f, 0.012653f, -0.089485f, 0.040161f, + -0.025349f, 0.005163f, 0.066959f, 0.056070f, -0.019500f, -0.007463f, 0.035562f, -0.019248f, -0.019789f, -0.016722f, 0.006717f, -0.004780f, -0.000169f, 0.009223f, -0.004807f, 0.033430f, 0.078744f, -0.030867f, -0.057309f, 0.061027f, -0.043759f, -0.011247f, 0.003085f, 0.075736f, 0.008493f, -0.021393f, 0.024758f, 0.021880f, -0.075049f, -0.021874f, 0.015893f, -0.002042f, -0.033884f, -0.001867f, 0.017920f, -0.113673f, -0.049589f, 0.057515f, -0.052946f, -0.062192f, -0.035119f, 0.046955f, -0.056264f, -0.093664f, 0.098946f, -0.027503f, -0.055020f, -0.003156f, 0.041620f, -0.036157f, -0.058851f, -0.001587f, 0.034167f, -0.003480f, -0.076435f, 0.018867f, 0.004722f, -0.037382f, 0.092559f, 0.080152f, 0.000771f, -0.034484f, -0.056392f, 0.096934f, 0.022089f, 0.014700f, 0.043401f, -0.028236f, -0.085640f, 0.037598f, 0.085084f, 0.050049f, -0.023191f, 0.006061f, -0.092700f, 0.012257f, 0.090996f, 0.050404f, 0.014315f, 0.000719f, -0.014300f, 0.025039f, -0.029606f, 0.075917f, -0.003828f, 0.021624f, 0.029168f, -0.023586f, 0.002807f, -0.001309f, -0.026405f, 0.001811f, 0.012508f, 0.043476f, 0.001655f, -0.023821f, + 0.014614f, 0.035401f, -0.003734f, 0.054975f, -0.039350f, 0.010616f, 0.013737f, 0.015872f, 0.047727f, -0.023086f, 0.005844f, 0.000367f, -0.058138f, 0.010646f, -0.017798f, -0.030581f, 0.015812f, -0.010258f, 0.048908f, 0.036187f, -0.022901f, -0.051454f, 0.027346f, 0.007548f, 0.012584f, 0.032434f, 0.067202f, -0.008673f, 0.015382f, -0.023999f, 0.039367f, 0.029499f, 0.029912f, -0.028410f, 0.044854f, -0.011870f, -0.016862f, -0.034564f, -0.001437f, -0.011619f, 0.057615f, -0.037993f, 0.005026f, 0.017563f, -0.010585f, -0.021098f, 0.079923f, 0.001420f, 0.020885f, -0.001414f, 0.012246f, 0.000812f, 0.025825f, 0.007873f, -0.000599f, 0.029754f, -0.083988f, -0.233402f, -0.221893f, 0.094458f, 0.008146f, 0.210646f, 0.448086f, 0.096902f, 0.179902f, 0.095086f, -0.334425f, -0.150715f, -0.225255f, -0.330749f, -0.023136f, 0.037297f, -0.156539f, 0.136569f, 0.234117f, 0.142298f, 0.403936f, 0.246795f, 0.001378f, -0.039191f, -0.144127f, -0.359385f, -0.290519f, -0.126635f, -0.275190f, -0.082805f, 0.156186f, 0.044775f, 0.039057f, 0.368980f, 0.142481f, 0.088415f, 0.342716f, 0.014301f, -0.017829f, 0.156270f, + -0.079220f, -0.285002f, -0.137353f, -0.284813f, -0.413327f, -0.047805f, -0.187817f, -0.155250f, 0.132161f, 0.254355f, 0.118667f, 0.451045f, 0.361172f, 0.207284f, 0.274481f, 0.090875f, -0.133913f, -0.209096f, -0.275398f, -0.444123f, -0.353560f, -0.239680f, -0.201359f, -0.064677f, 0.155777f, 0.232610f, 0.263157f, 0.349646f, 0.298501f, 0.138309f, 0.055323f, 0.077633f, -0.110385f, -0.176101f, -0.114121f, -0.250248f, -0.135718f, -0.003095f, -0.017737f} + }, + { + {-0.002684f, 0.000038f, 0.004022f, -0.007594f, -0.002239f, -0.004807f, -0.006689f, -0.000587f, 0.008250f, 0.001430f, -0.004459f, -0.004223f, 0.011405f, -0.005154f, 0.001089f, -0.003708f, -0.003806f, -0.005893f, -0.001447f, 0.014284f, 0.000939f, -0.000712f, 0.002677f, 0.003685f, 0.001215f, -0.004622f, 0.007917f, 0.000245f, -0.000277f, -0.003551f, 0.000999f, -0.002685f, 0.001182f, 0.005253f, 0.000387f, -0.000216f, -0.000298f, -0.000373f, -0.001242f, -0.006992f, 0.001633f, 0.005909f, -0.001762f, -0.003447f, 0.005516f, -0.006408f, -0.000491f, -0.002724f, 0.004046f, -0.010331f, 0.003815f, -0.000785f, 0.001553f, -0.002335f, -0.002149f, -0.000285f, -0.002916f, 0.000419f, 0.003121f, 0.002301f, -0.000635f, 0.002037f, 0.009214f, -0.005820f, -0.004625f, 0.000472f, -0.002183f, -0.004383f, 0.001216f, -0.004718f, 0.002588f, -0.005679f, 0.000587f, -0.002892f, -0.004781f, -0.000695f, -0.009260f, -0.003483f, 0.002330f, -0.001621f, -0.005267f, -0.000275f, 0.012684f, -0.006322f, 0.001618f, -0.002606f, 0.000020f, -0.004691f, 0.009187f, -0.004582f, -0.004815f, -0.005541f, 0.010927f, -0.006303f, -0.001489f, -0.002937f, + 0.003214f, 0.005040f, 0.006488f, -0.008802f, 0.000184f, 0.008563f, 0.003971f, 0.001516f, -0.000249f, -0.001005f, 0.004065f, 0.008713f, 0.002327f, -0.011078f, -0.005489f, -0.005946f, 0.009966f, -0.000962f, 0.007675f, -0.004632f, 0.003710f, 0.009736f, -0.004448f, -0.007308f, 0.002901f, -0.002736f, -0.000177f, -0.006555f, -0.002316f, -0.004910f, 0.002206f, -0.008906f, -0.002567f, -0.002310f, 0.000099f, 0.011967f, -0.003516f, -0.001872f, 0.000004f, -0.003231f, -0.000784f, -0.001234f, 0.007770f, 0.003643f, 0.004997f, -0.006399f, 0.005170f, 0.004638f, -0.003615f, 0.001773f, 0.003575f, -0.003490f, -0.003545f, 0.004761f, -0.006679f, 0.004925f, -0.000821f, -0.000101f, -0.000405f, -0.006036f, 0.006094f, 0.000601f, -0.002846f, -0.004154f, -0.001256f, -0.002170f, -0.000152f, -0.005107f, -0.003995f, 0.002710f, -0.000955f, -0.002028f, -0.008884f, -0.001410f, 0.007934f, -0.005567f, -0.001541f, 0.006010f, -0.003700f, -0.006630f, -0.005170f, 0.004080f, -0.000148f, -0.000715f, -0.001444f, -0.006340f, 0.001922f, -0.002854f, -0.001664f, 0.007036f, -0.004094f, -0.009651f, -0.003061f, 0.000499f, 0.002679f, 0.002502f, + 0.000622f, -0.007308f, -0.001890f, -0.008887f, -0.008287f, -0.002158f, 0.008254f, -0.001430f, -0.016945f, -0.000699f, 0.005418f, 0.004968f, -0.003674f, 0.003391f, 0.003375f, 0.000463f, 0.004748f, -0.008855f, -0.006612f, -0.000652f, 0.002379f, 0.000653f, 0.001622f, -0.000677f, 0.002109f, 0.002501f, 0.003225f, -0.000078f, 0.001883f, 0.002606f, -0.001953f, 0.004187f, -0.001130f, -0.007796f, -0.007457f, -0.003166f, -0.000932f, 0.007966f, 0.004602f, 0.011771f, 0.001089f, -0.001971f, -0.001083f, 0.008399f, -0.001876f, 0.004627f, -0.007091f, -0.000528f, 0.000152f, 0.004518f, 0.003325f, 0.007531f, 0.005493f, -0.003509f, -0.006966f, -0.005765f, 0.004477f, -0.002336f, 0.005985f, 0.003730f, 0.001142f, -0.000162f, 0.005057f, 0.003469f, -0.002975f, 0.004017f, -0.007478f, -0.000927f, -0.006893f, -0.006108f, -0.008372f, 0.002721f, 0.005472f, -0.000793f, 0.007447f, -0.005305f, 0.006944f, -0.012996f, 0.005522f, 0.002340f, 0.010191f, 0.002936f, 0.003989f, 0.005312f, 0.000284f, -0.003280f, 0.004156f, 0.008516f, 0.003427f, 0.004134f, -0.000804f, -0.000134f, -0.011425f, -0.000804f, 0.002510f, 0.002282f, + -0.001142f, 0.006348f, 0.012675f, -0.004114f, -0.007993f, 0.005637f, 0.001969f, -0.006316f, 0.000623f, -0.003094f, -0.005426f, 0.000414f, 0.009442f, 0.001670f, 0.003957f, 0.000695f, 0.006554f, 0.006321f, -0.005641f, 0.009522f, -0.003066f, -0.005891f, -0.008876f, 0.002385f, -0.011817f, -0.000472f, 0.001461f, 0.003619f, -0.007469f, 0.005259f, 0.000077f, 0.001413f, 0.003409f, 0.002294f, 0.002910f, -0.010029f, -0.000509f, -0.002004f, -0.006576f, 0.004303f, 0.002167f, 0.001917f, 0.005974f, 0.020784f, -0.001332f, 0.001440f, 0.003078f, 0.005448f, 0.002163f, -0.016329f, 0.003645f, -0.002346f, -0.001761f, 0.009628f, 0.000432f, 0.005037f, 0.006779f, -0.007773f, -0.004452f, -0.001873f, -0.007858f, -0.016659f, 0.000973f, -0.005925f, -0.000873f, -0.000918f, -0.000188f, -0.003378f, -0.008244f, 0.003026f, -0.007877f, -0.001888f, 0.001994f, -0.008272f, 0.009478f, 0.003950f, 0.002837f, -0.002986f, -0.000481f, -0.000634f, 0.002068f, -0.002003f, 0.005008f, -0.006405f, 0.002705f, 0.012234f, 0.009560f, -0.002096f, 0.005040f, -0.003106f, 0.002386f, -0.006734f, 0.000327f, 0.013593f, -0.017364f, 0.000682f, + -0.010717f, 0.005404f, 0.007805f, 0.009546f, -0.001556f, -0.009160f, 0.000161f, 0.009406f, 0.001939f, 0.001764f, -0.007189f, -0.000995f, -0.012531f, 0.016498f, -0.000970f, -0.012777f, 0.013691f, 0.003412f, 0.003982f, -0.000940f, -0.005086f, -0.001668f, -0.006688f, -0.006522f, 0.004968f, 0.007188f, -0.001610f, 0.006779f, -0.005770f, -0.003559f, -0.000156f, 0.009476f, 0.008847f, -0.002578f, -0.005262f, 0.007363f, 0.004537f, 0.000642f, 0.006068f, 0.001438f, -0.007602f, 0.007701f, 0.004599f, -0.000646f, -0.002828f, 0.002075f, -0.008239f, 0.021109f, -0.001411f, -0.000836f, 0.015440f, -0.001520f, -0.010034f, -0.005330f, -0.001556f, 0.003746f, -0.010497f, 0.006757f, 0.001559f, 0.000115f, -0.009692f, -0.007816f, -0.016763f, -0.001579f, 0.006755f, 0.003559f, 0.008222f, -0.005264f, -0.004647f, 0.018813f, -0.006649f, 0.002837f, -0.004514f, -0.008356f, -0.017896f, 0.000116f, -0.007355f, -0.008336f, 0.002918f, -0.010071f, 0.000577f, 0.007454f, 0.004152f, 0.015253f, -0.024599f, 0.016320f, -0.002390f, 0.007342f, -0.004515f, -0.003196f, -0.012827f, 0.012013f, 0.010498f, 0.002964f, -0.011394f, -0.000250f, + -0.006507f, -0.000404f, 0.012297f, 0.008828f, 0.002046f, 0.011942f, 0.000016f, 0.001019f, 0.001300f, 0.000034f, -0.007908f, 0.017678f, -0.001583f, 0.000618f, 0.020155f, -0.012451f, 0.004907f, -0.005681f, -0.001198f, 0.006822f, -0.002646f, -0.009683f, 0.019344f, 0.015548f, -0.000489f, 0.005418f, 0.008111f, 0.021375f, -0.002687f, -0.003176f, -0.011312f, 0.002578f, 0.003911f, -0.011332f, -0.012826f, -0.010566f, 0.013333f, 0.000990f, -0.005677f, 0.009956f, 0.006357f, 0.000881f, -0.003476f, 0.003821f, -0.007628f, -0.000977f, -0.008383f, -0.000815f, 0.006832f, -0.013528f, 0.002586f, -0.001827f, -0.011395f, 0.007724f, -0.004084f, 0.002285f, -0.003607f, -0.001839f, 0.002324f, 0.013313f, 0.014097f, 0.002036f, -0.012961f, -0.002089f, -0.012346f, 0.004597f, 0.030812f, 0.007362f, 0.021191f, 0.007608f, -0.000224f, -0.020574f, -0.005484f, 0.002976f, 0.019041f, -0.009013f, -0.004867f, -0.007897f, 0.001302f, 0.015376f, -0.012118f, 0.007340f, 0.012994f, 0.002656f, 0.004360f, -0.009289f, 0.016147f, -0.003993f, 0.021204f, -0.000605f, -0.007451f, -0.020979f, 0.001734f, -0.000350f, 0.023703f, -0.007847f, + -0.002874f, 0.015093f, -0.000810f, 0.001572f, -0.006038f, -0.016600f, 0.000682f, 0.008715f, -0.012662f, -0.009693f, 0.001215f, -0.019918f, 0.009307f, 0.010027f, -0.004635f, -0.001997f, 0.003941f, 0.010105f, -0.002565f, -0.007626f, -0.002061f, 0.015023f, -0.004056f, -0.003618f, -0.008327f, 0.019430f, 0.018433f, -0.000153f, -0.006847f, 0.001347f, -0.004575f, 0.002981f, 0.004982f, -0.004486f, 0.006646f, -0.012580f, 0.002948f, 0.000683f, -0.013501f, 0.014303f, 0.010926f, 0.001149f, -0.008875f, -0.009944f, -0.004205f, -0.020077f, 0.023973f, 0.018185f, -0.003573f, 0.006967f, 0.002381f, -0.003533f, 0.018212f, -0.001073f, -0.008141f, 0.026993f, -0.028630f, 0.007833f, 0.012624f, 0.000292f, -0.011607f, 0.013083f, 0.002135f, 0.018748f, -0.006935f, -0.001560f, 0.005038f, 0.007748f, 0.001373f, -0.002081f, 0.026804f, 0.011946f, -0.012099f, -0.017985f, 0.012901f, -0.017986f, -0.005287f, -0.020768f, -0.002708f, 0.032231f, 0.013017f, 0.015825f, 0.000105f, -0.016384f, -0.002841f, -0.007760f, -0.003729f, 0.024244f, -0.003804f, -0.025700f, -0.002256f, 0.005630f, -0.016849f, -0.002273f, 0.010502f, 0.008947f, + -0.011505f, -0.005361f, 0.011092f, 0.015672f, -0.004893f, 0.016295f, -0.000318f, 0.004435f, 0.005163f, 0.001771f, 0.005240f, 0.009880f, 0.007889f, 0.009274f, -0.006529f, -0.018669f, -0.023468f, 0.011859f, -0.001302f, 0.011072f, -0.021605f, 0.007984f, 0.006381f, 0.003372f, -0.014077f, -0.011768f, -0.015003f, 0.012018f, 0.006368f, -0.010693f, -0.010632f, 0.015066f, 0.005059f, -0.001024f, -0.008903f, -0.014905f, -0.005924f, 0.006303f, -0.009417f, 0.001326f, -0.017857f, -0.004889f, 0.002364f, 0.006383f, 0.012083f, -0.001720f, 0.007811f, 0.010501f, -0.010238f, -0.024951f, 0.017593f, 0.001010f, -0.003711f, 0.016710f, -0.002255f, 0.000899f, -0.010807f, 0.014747f, -0.008945f, -0.011480f, -0.004272f, 0.012183f, 0.018364f, 0.015478f, 0.005062f, 0.003419f, -0.031446f, 0.014866f, -0.001547f, 0.006533f, -0.010588f, -0.001575f, -0.011875f, -0.003707f, -0.002567f, -0.015705f, -0.007757f, -0.005968f, -0.008441f, 0.017785f, -0.004907f, 0.023015f, -0.002042f, -0.000087f, 0.014475f, 0.017151f, 0.027305f, 0.019916f, 0.000492f, -0.006481f, 0.000105f, 0.002866f, -0.010875f, 0.006920f, -0.006542f, -0.009112f, + -0.034434f, 0.006902f, -0.023883f, -0.014524f, 0.021434f, 0.016554f, -0.039231f, -0.036000f, 0.000602f, 0.014549f, -0.009579f, 0.008767f, -0.013344f, -0.001989f, -0.023016f, -0.006409f, -0.020831f, -0.001991f, -0.006122f, 0.000118f, 0.007205f, 0.005857f, 0.012038f, -0.002072f, -0.011312f, 0.008850f, -0.013374f, -0.005617f, 0.003572f, 0.000351f, 0.006004f, 0.012938f, -0.002682f, 0.001268f, 0.002572f, -0.005826f, -0.001911f, -0.019969f, -0.023689f, -0.022814f, -0.000434f, -0.022917f, 0.007140f, 0.002702f, -0.009348f, -0.010749f, -0.004914f, -0.003952f, -0.002307f, -0.013596f, -0.021593f, -0.001287f, 0.033449f, 0.018585f, -0.005025f, -0.020101f, -0.021049f, 0.023446f, -0.022047f, -0.006960f, -0.004016f, -0.014216f, -0.011138f, -0.014344f, -0.017404f, -0.023503f, -0.032681f, -0.003749f, -0.005086f, -0.003390f, 0.011307f, 0.012100f, 0.003220f, 0.011477f, -0.006145f, 0.002998f, -0.027039f, 0.003974f, 0.014716f, 0.016036f, 0.014792f, 0.006807f, 0.028482f, -0.010116f, -0.019639f, -0.004402f, 0.004163f, -0.003177f, 0.009421f, 0.019478f, 0.037933f, 0.024506f, 0.014223f, 0.018436f, -0.013955f, -0.026563f, + -0.009025f, -0.019605f, 0.023875f, 0.006420f, -0.004568f, -0.015633f, 0.026982f, 0.024047f, -0.008151f, -0.000491f, 0.000177f, -0.012561f, -0.011249f, -0.019482f, 0.006399f, 0.008470f, 0.012022f, -0.018266f, 0.001970f, 0.006999f, -0.008785f, -0.017619f, 0.000681f, 0.012581f, 0.014737f, 0.004024f, -0.037259f, -0.011735f, -0.018384f, 0.009301f, 0.022248f, 0.001705f, -0.020970f, 0.006776f, -0.020271f, 0.013059f, -0.004996f, 0.003729f, -0.014450f, 0.032124f, 0.023633f, -0.005338f, -0.007123f, -0.015155f, -0.001348f, 0.026402f, 0.005353f, 0.032049f, 0.028343f, 0.026408f, 0.013837f, 0.007733f, -0.019094f, -0.007417f, -0.025171f, 0.032719f, -0.015895f, -0.002062f, 0.016032f, 0.026126f, -0.022176f, -0.027364f, -0.023412f, 0.031120f, -0.009360f, 0.021702f, 0.002148f, 0.002997f, 0.048266f, -0.002811f, 0.005778f, -0.017542f, -0.029243f, 0.010691f, -0.002337f, 0.011365f, 0.007937f, 0.000337f, -0.015733f, 0.008040f, 0.009124f, 0.006137f, -0.014733f, 0.014327f, 0.010588f, 0.036505f, -0.013071f, 0.005405f, 0.020632f, 0.021867f, 0.003081f, 0.022110f, -0.002410f, 0.004048f, 0.019232f, 0.017614f, + 0.006189f, -0.003931f, -0.024540f, -0.016903f, 0.018181f, 0.003153f, -0.003763f, -0.001662f, 0.006418f, 0.039938f, 0.000197f, -0.008735f, 0.020855f, -0.004864f, 0.019865f, 0.008329f, 0.054642f, -0.005954f, 0.000827f, 0.004300f, 0.010283f, 0.022422f, -0.000924f, -0.001258f, 0.014175f, -0.019424f, 0.022555f, 0.042030f, 0.013467f, -0.002061f, 0.023054f, -0.001807f, 0.001407f, 0.047925f, -0.021677f, 0.015872f, 0.018789f, 0.001103f, 0.002640f, 0.003492f, 0.007262f, -0.027758f, -0.009267f, 0.016219f, -0.010484f, -0.015231f, -0.014005f, -0.014056f, 0.000360f, 0.016398f, -0.004198f, -0.041403f, -0.001921f, -0.031805f, 0.009801f, 0.011548f, -0.001772f, 0.004700f, -0.015391f, -0.003144f, 0.013999f, -0.039613f, 0.007564f, -0.009733f, 0.019119f, 0.013390f, 0.007338f, 0.000318f, -0.017534f, -0.035825f, -0.004195f, -0.031466f, 0.016218f, -0.001053f, -0.011587f, 0.030455f, 0.013921f, -0.013946f, -0.012666f, -0.007886f, -0.007535f, -0.010141f, -0.019874f, 0.001818f, 0.002048f, 0.044641f, -0.004500f, -0.034108f, -0.003073f, 0.021139f, -0.001508f, -0.018211f, 0.007388f, -0.026833f, 0.013624f, -0.012141f, + 0.007735f, -0.016259f, 0.003152f, -0.027550f, 0.064787f, 0.001057f, 0.043361f, -0.006225f, -0.017320f, 0.010572f, -0.019876f, -0.016936f, 0.021586f, 0.023636f, -0.027705f, -0.062055f, 0.051406f, -0.022422f, -0.021366f, -0.010856f, -0.003691f, -0.029692f, -0.010733f, -0.009303f, -0.025517f, -0.044814f, -0.011237f, 0.000278f, -0.023843f, 0.011092f, -0.010326f, 0.019280f, -0.017230f, -0.007606f, -0.024438f, 0.057295f, 0.048731f, -0.011501f, 0.010765f, 0.033036f, -0.035432f, 0.035241f, -0.014987f, -0.015514f, 0.012843f, 0.004119f, 0.006083f, -0.005896f, -0.007795f, 0.000362f, 0.011612f, 0.009350f, -0.015653f, 0.017306f, -0.016841f, -0.028855f, 0.020540f, 0.017257f, -0.023301f, -0.029869f, -0.033492f, -0.005694f, -0.005360f, 0.008645f, -0.021733f, -0.028353f, -0.013772f, 0.045298f, 0.016487f, 0.014851f, -0.019358f, 0.016930f, 0.024721f, -0.019824f, 0.045818f, 0.007509f, -0.015637f, -0.022173f, 0.012776f, -0.018796f, -0.038015f, 0.008459f, 0.000385f, -0.000137f, 0.022121f, 0.018685f, -0.015949f, 0.002156f, -0.048402f, -0.007303f, -0.018086f, 0.039885f, 0.004317f, 0.004446f, -0.021414f, 0.017764f, + -0.037034f, -0.008548f, -0.021648f, 0.027089f, 0.028503f, 0.025839f, 0.017311f, -0.000326f, 0.023557f, 0.021468f, 0.003368f, -0.004160f, 0.009323f, -0.000002f, -0.024520f, -0.002940f, 0.008900f, -0.018996f, 0.026741f, -0.028258f, 0.022248f, 0.024589f, -0.007463f, -0.005570f, 0.010024f, 0.032834f, 0.024165f, -0.029687f, -0.006955f, -0.007941f, -0.002878f, 0.007428f, -0.014395f, -0.014488f, 0.031634f, 0.000824f, 0.045641f, -0.030201f, -0.029339f, 0.023314f, -0.016165f, 0.008420f, -0.018948f, 0.015568f, 0.016903f, 0.011726f, -0.008166f, -0.026548f, 0.001639f, 0.008829f, -0.023157f, -0.040583f, -0.002567f, 0.003670f, -0.025217f, 0.043782f, -0.006392f, -0.012499f, 0.056705f, 0.054739f, 0.003790f, -0.007774f, -0.003922f, -0.011912f, 0.011102f, -0.029042f, 0.024582f, 0.003188f, -0.018366f, 0.032059f, 0.002057f, 0.005900f, -0.013066f, -0.018681f, -0.048391f, 0.008100f, -0.020985f, -0.010170f, -0.048562f, -0.111814f, 0.036804f, 0.034853f, -0.012955f, 0.007395f, -0.027313f, 0.047537f, 0.030205f, -0.027728f, 0.007243f, 0.006041f, 0.000169f, -0.012749f, -0.009358f, -0.057902f, 0.023755f, 0.027849f, + -0.007082f, -0.000512f, -0.003756f, 0.018578f, -0.014936f, 0.035903f, 0.010241f, -0.043765f, -0.025071f, 0.054442f, 0.035514f, -0.036314f, -0.008988f, -0.013240f, -0.022497f, 0.002908f, -0.009335f, 0.007312f, 0.070797f, 0.018928f, 0.074199f, 0.042185f, 0.047600f, 0.043377f, 0.085535f, -0.006216f, -0.008614f, 0.020026f, -0.006716f, -0.072859f, 0.057941f, -0.026004f, 0.032938f, -0.048414f, -0.038658f, -0.072024f, 0.013474f, -0.007292f, -0.024672f, 0.016638f, -0.034288f, -0.000700f, -0.048702f, -0.048749f, 0.012572f, 0.026954f, -0.039807f, -0.011427f, -0.027993f, -0.038710f, -0.043231f, -0.031710f, 0.021534f, -0.020116f, -0.054388f, 0.072842f, 0.044412f, 0.071775f, -0.015381f, -0.041853f, -0.107606f, 0.044710f, 0.053629f, -0.026190f, -0.012202f, -0.004053f, 0.060879f, 0.000722f, 0.011922f, 0.011858f, -0.016048f, 0.011101f, 0.027573f, -0.007083f, -0.029338f, 0.005684f, 0.051479f, -0.029329f, -0.019050f, 0.010332f, -0.008912f, 0.038364f, -0.011471f, 0.016589f, -0.022004f, -0.025824f, -0.026112f, 0.024686f, -0.009464f, 0.021757f, 0.025217f, -0.008271f, 0.001831f, -0.001177f, -0.023723f, 0.005920f, + -0.021725f, 0.022140f, 0.055782f, 0.093233f, -0.003073f, -0.004151f, -0.042029f, 0.020166f, 0.028963f, -0.002470f, 0.032712f, 0.048153f, 0.018777f, 0.026630f, -0.045856f, -0.027935f, 0.033957f, 0.092747f, -0.019710f, -0.057448f, 0.011667f, -0.020522f, -0.003586f, 0.023405f, -0.002214f, -0.027767f, -0.014927f, -0.015787f, -0.067270f, -0.029966f, -0.002671f, 0.007086f, 0.019187f, -0.008016f, -0.028150f, -0.019741f, 0.002471f, -0.017654f, -0.028521f, 0.012798f, 0.033692f, 0.011136f, 0.017650f, 0.006830f, 0.050856f, -0.016161f, -0.006388f, -0.020131f, 0.011820f, -0.012570f, 0.011229f, 0.057569f, 0.011464f, -0.061347f, -0.014843f, -0.018035f, -0.052221f, 0.033052f, 0.015841f, -0.006272f, 0.007560f, 0.003040f, -0.023301f, -0.000445f, -0.001439f, -0.023568f, -0.006734f, 0.050150f, 0.074375f, 0.034702f, -0.025483f, -0.041083f, 0.019660f, 0.033601f, 0.004219f, 0.026832f, -0.018361f, -0.013303f, 0.028371f, 0.008553f, 0.001012f, -0.062395f, -0.080358f, -0.002836f, -0.046622f, -0.027720f, 0.017829f, 0.067644f, 0.015684f, 0.003219f, -0.018552f, -0.023577f, -0.032747f, -0.029964f, 0.006970f, 0.020438f, + -0.005666f, -0.033638f, -0.052430f, 0.021691f, 0.003501f, -0.029954f, -0.048160f, -0.033850f, -0.052847f, -0.099855f, -0.057284f, -0.008227f, -0.008001f, 0.121932f, -0.009757f, -0.002839f, 0.076077f, 0.010625f, 0.013059f, 0.045416f, -0.009395f, -0.028693f, 0.038304f, -0.053993f, 0.013809f, 0.008767f, -0.023455f, -0.075762f, 0.051786f, 0.015524f, -0.004768f, -0.076694f, 0.020573f, 0.012141f, -0.040495f, 0.007010f, 0.035721f, 0.022122f, 0.010474f, -0.034562f, -0.006994f, -0.012732f, 0.006237f, -0.012832f, 0.003327f, -0.026675f, -0.038676f, 0.042843f, -0.029266f, 0.064964f, -0.039762f, -0.035793f, -0.024338f, -0.045066f, 0.004139f, -0.000520f, 0.068071f, -0.049953f, -0.052889f, 0.027739f, 0.017687f, -0.043546f, -0.058200f, -0.006086f, -0.032664f, 0.038264f, 0.008360f, -0.047969f, 0.031743f, -0.007860f, -0.073968f, 0.049221f, -0.032710f, 0.032250f, -0.054792f, -0.013188f, -0.000911f, -0.022951f, -0.008795f, 0.006632f, 0.070725f, -0.018677f, -0.005478f, -0.020024f, 0.021227f, -0.033182f, 0.027424f, 0.054194f, -0.001411f, 0.054098f, 0.045559f, -0.007965f, 0.091152f, -0.007654f, 0.014454f, -0.007320f, + 0.030851f, 0.075759f, 0.000651f, 0.050941f, -0.101392f, 0.002744f, -0.113977f, -0.038923f, -0.020279f, 0.033253f, 0.103122f, 0.087484f, 0.031510f, 0.051188f, -0.035122f, -0.029768f, 0.003896f, -0.008832f, 0.022965f, 0.006487f, -0.024748f, 0.033789f, 0.050290f, 0.041589f, 0.030763f, 0.025815f, -0.002133f, 0.003566f, -0.018801f, 0.047442f, 0.021439f, -0.010657f, -0.031394f, 0.008684f, 0.018618f, -0.006730f, 0.062358f, 0.065152f, -0.039992f, -0.030013f, -0.000087f, 0.050171f, 0.030708f, 0.006642f, 0.004733f, -0.014095f, -0.025008f, 0.011074f, 0.077834f, -0.034142f, -0.041194f, -0.044894f, 0.039693f, 0.014834f, -0.025826f, -0.039368f, -0.061485f, -0.072818f, 0.005552f, 0.012781f, 0.010412f, -0.018376f, -0.007628f, -0.022469f, 0.011308f, -0.059534f, -0.094978f, -0.045343f, -0.009413f, -0.019904f, -0.039275f, 0.041353f, 0.073489f, -0.022898f, 0.035660f, 0.078504f, 0.050648f, 0.011245f, -0.065153f, -0.004189f, -0.063201f, 0.052016f, -0.005965f, 0.044780f, 0.027364f, 0.001619f, 0.029857f, -0.012250f, -0.002749f, 0.025849f, 0.031465f, 0.005387f, 0.000683f, -0.000388f, -0.027645f, -0.017660f, + 0.008034f, -0.038613f, 0.001553f, -0.014110f, 0.001439f, -0.032629f, 0.006148f, 0.002516f, -0.029821f, 0.025952f, 0.011205f, 0.017787f, -0.037593f, -0.009589f, 0.007596f, -0.001310f, 0.003164f, 0.022504f, 0.005224f, 0.006803f, -0.003985f, -0.007733f, -0.005590f, -0.002419f, 0.014431f, -0.005667f, -0.023952f, 0.020379f, -0.033081f, -0.009773f, -0.011166f, 0.004721f, -0.016079f, -0.018651f, 0.025666f, -0.002523f, -0.025293f, 0.016307f, -0.035391f, 0.029210f, 0.009004f, 0.002053f, 0.029442f, 0.033365f, 0.004577f, 0.009995f, -0.024549f, 0.032348f, -0.015612f, -0.021047f, -0.002084f, 0.005261f, 0.059536f, -0.026436f, -0.044811f, 0.038219f, -0.015345f, 0.037891f, -0.007940f, 0.002047f, -0.018555f, 0.017348f, 0.027202f, -0.017814f, -0.170289f, -0.320998f, -0.116906f, -0.252163f, -0.286958f, 0.065399f, -0.013656f, 0.091089f, 0.362595f, 0.393777f, 0.276623f, 0.396670f, 0.324990f, 0.105557f, 0.111155f, 0.081659f, -0.225077f, -0.231102f, -0.130670f, -0.224347f, -0.242822f, -0.083346f, -0.074399f, -0.204522f, -0.155609f, -0.027747f, -0.093757f, -0.112889f, -0.031156f, -0.086954f, -0.152528f, -0.087407f, + 0.024033f, -0.062187f, -0.077128f, 0.085118f, -0.018299f, -0.084790f, 0.072095f, 0.137808f, -0.035409f, 0.033423f, 0.213449f, 0.028691f, -0.072000f, 0.142867f, 0.123107f, -0.124580f, 0.069291f, 0.158586f, -0.050822f, 0.018336f, 0.273252f, 0.211043f, 0.105167f, 0.387947f, 0.429381f, 0.223336f, 0.396606f, 0.515550f, 0.323212f, 0.309658f, 0.424308f, 0.279953f, 0.179179f, 0.204015f, 0.110233f, -0.095752f, -0.206051f, -0.274731f, -0.490449f, -0.586507f, -0.670406f, -0.735399f, -0.710309f, -0.591944f, -0.279099f, -0.175983f}, + {0.001818f, 0.002056f, 0.003999f, 0.004770f, 0.005359f, 0.003863f, 0.000813f, -0.000185f, -0.003831f, 0.003760f, -0.006051f, -0.004578f, 0.001901f, 0.001685f, -0.005802f, 0.010857f, -0.003356f, 0.003234f, -0.003473f, -0.003151f, 0.002335f, -0.000959f, -0.001879f, -0.001051f, 0.000673f, -0.003444f, -0.001604f, -0.006794f, 0.004090f, 0.003100f, -0.005362f, -0.002356f, -0.002338f, -0.005934f, 0.001897f, 0.001044f, -0.000234f, 0.001354f, 0.002233f, 0.000451f, 0.001939f, 0.006170f, -0.008732f, 0.001668f, -0.001377f, 0.005904f, 0.005052f, -0.004066f, 0.011634f, -0.007137f, -0.007577f, 0.001899f, 0.005189f, 0.003233f, -0.001327f, -0.001699f, -0.001204f, 0.001684f, 0.001931f, -0.000659f, -0.004529f, -0.003784f, -0.002390f, -0.005843f, 0.000760f, 0.003704f, 0.001135f, -0.001350f, -0.000885f, 0.007003f, 0.003098f, 0.002704f, 0.005273f, 0.001929f, 0.001999f, 0.002603f, -0.008114f, 0.006800f, 0.007275f, -0.003401f, 0.007299f, -0.004348f, -0.000931f, 0.009716f, -0.003935f, 0.004645f, 0.002835f, -0.010681f, -0.004813f, 0.008102f, -0.003113f, -0.001488f, 0.005091f, 0.003406f, 0.003633f, 0.001021f, + 0.012421f, 0.002173f, -0.003168f, 0.002838f, -0.004269f, 0.007743f, -0.002196f, -0.004164f, -0.001822f, -0.009978f, -0.003389f, -0.007332f, 0.002438f, -0.000060f, 0.002725f, -0.002894f, 0.004218f, 0.002061f, -0.000456f, 0.001364f, 0.000678f, 0.001050f, 0.001359f, -0.005229f, 0.013258f, 0.002042f, -0.004839f, 0.009914f, -0.002373f, -0.008387f, -0.009312f, 0.009169f, -0.001823f, -0.000619f, 0.005980f, 0.000787f, -0.001588f, 0.004813f, -0.000534f, 0.002848f, 0.000749f, 0.003596f, -0.001838f, 0.003916f, -0.001736f, 0.004640f, 0.006452f, 0.003722f, -0.003879f, -0.003728f, -0.001971f, 0.001999f, -0.004113f, 0.003201f, -0.001977f, 0.004002f, -0.000031f, 0.008536f, 0.001703f, 0.001968f, 0.007167f, 0.000122f, 0.005180f, 0.002485f, -0.000553f, 0.000582f, -0.005546f, 0.002641f, 0.000475f, 0.008778f, 0.003122f, 0.002903f, 0.000418f, 0.002620f, 0.009615f, -0.009019f, 0.005146f, 0.001389f, -0.005957f, -0.002643f, -0.003687f, -0.001178f, -0.003422f, 0.002461f, 0.011088f, 0.007001f, 0.008282f, 0.006599f, 0.011297f, 0.008251f, -0.010239f, -0.018558f, -0.002351f, 0.000892f, -0.004533f, 0.009809f, + -0.000421f, 0.014679f, -0.006857f, -0.006861f, 0.006309f, 0.000350f, 0.000508f, 0.005803f, -0.010736f, 0.002741f, -0.007699f, 0.010132f, 0.005947f, -0.000065f, 0.015381f, 0.000647f, -0.001520f, -0.001964f, -0.002760f, -0.003896f, 0.007244f, 0.003811f, -0.003820f, -0.001347f, -0.010806f, -0.004869f, -0.001494f, 0.011065f, 0.007602f, 0.001131f, 0.005574f, -0.000115f, 0.005929f, -0.000442f, 0.002350f, -0.007120f, 0.006326f, 0.014936f, 0.004073f, 0.000255f, 0.000040f, 0.003913f, 0.003593f, 0.000505f, 0.001976f, 0.003070f, -0.000692f, -0.000730f, 0.003931f, 0.016980f, 0.005346f, 0.013162f, -0.008163f, -0.006669f, -0.003029f, -0.008541f, -0.010029f, -0.004202f, 0.006557f, -0.012157f, -0.002155f, -0.001774f, -0.019024f, 0.003334f, -0.019223f, -0.006602f, -0.003029f, 0.004056f, -0.000489f, 0.003513f, -0.004210f, -0.000573f, -0.013191f, 0.004250f, -0.004769f, -0.007442f, 0.000732f, 0.003152f, -0.001202f, 0.000524f, 0.004768f, 0.009161f, -0.016761f, 0.003991f, 0.000428f, -0.005190f, -0.005819f, -0.001483f, 0.001518f, -0.002614f, -0.010426f, -0.002760f, 0.001882f, 0.004552f, -0.001451f, 0.011499f, + 0.000247f, -0.000031f, 0.004069f, -0.008315f, 0.010506f, 0.002965f, 0.005846f, 0.002279f, 0.004699f, -0.002029f, -0.002091f, 0.002389f, 0.000935f, -0.002777f, -0.004491f, -0.004355f, 0.009156f, 0.010002f, -0.000324f, 0.011031f, 0.000695f, -0.001460f, 0.001361f, 0.000901f, -0.002036f, -0.000134f, -0.007695f, -0.004430f, 0.006905f, 0.008065f, -0.009457f, -0.002301f, 0.003971f, -0.006365f, -0.018109f, 0.004467f, 0.006749f, 0.007833f, -0.004125f, -0.004869f, -0.006423f, 0.009830f, 0.011334f, 0.001862f, 0.004507f, -0.008940f, -0.007116f, 0.008297f, 0.003230f, -0.006736f, 0.011712f, -0.011780f, 0.002008f, 0.001003f, 0.010991f, 0.003892f, -0.002346f, 0.001650f, -0.003713f, 0.005850f, -0.014175f, -0.004379f, -0.020454f, -0.009133f, 0.010468f, -0.001056f, 0.016012f, -0.002379f, -0.013237f, 0.008200f, 0.001922f, -0.005691f, -0.000569f, 0.000368f, -0.005333f, 0.003224f, 0.009592f, 0.010404f, 0.000326f, 0.004738f, -0.000485f, 0.011770f, -0.006253f, 0.004739f, -0.001217f, -0.000889f, 0.000261f, 0.003381f, -0.001505f, 0.014151f, 0.001060f, -0.000436f, -0.003526f, 0.011660f, -0.014765f, -0.001647f, + -0.009860f, -0.010256f, 0.004295f, 0.002535f, 0.022621f, 0.001615f, 0.008618f, -0.018037f, -0.003963f, 0.004547f, -0.009147f, 0.006815f, 0.002318f, 0.002031f, 0.005872f, 0.006723f, 0.015006f, 0.006941f, -0.001832f, 0.005070f, -0.006776f, 0.002583f, 0.006338f, 0.000069f, 0.001689f, 0.006920f, 0.008809f, 0.020587f, 0.004409f, -0.002519f, -0.013288f, -0.000106f, 0.010928f, -0.015815f, 0.002281f, -0.000720f, 0.005601f, -0.007687f, -0.009145f, 0.017902f, -0.010651f, 0.004079f, -0.000222f, -0.010422f, 0.025653f, 0.006990f, 0.013675f, 0.007607f, 0.014906f, -0.002153f, -0.004962f, 0.009705f, -0.008017f, 0.007581f, -0.006304f, 0.004363f, 0.010393f, 0.006015f, -0.004032f, -0.000233f, 0.005492f, -0.008270f, -0.006136f, 0.001055f, -0.000701f, 0.015451f, -0.007904f, -0.013369f, -0.001889f, 0.008339f, 0.012601f, -0.007100f, -0.013436f, -0.001793f, -0.006504f, 0.006059f, -0.024736f, 0.013039f, 0.003368f, -0.006002f, 0.006676f, -0.020298f, -0.017095f, 0.001536f, -0.008781f, 0.018052f, 0.015888f, 0.017022f, -0.012429f, 0.006270f, -0.000423f, 0.016981f, 0.000551f, 0.011846f, 0.004273f, -0.005803f, + -0.016498f, -0.014865f, 0.003860f, -0.019620f, -0.001002f, -0.005038f, -0.009993f, -0.013268f, -0.008214f, -0.000405f, 0.014619f, -0.000453f, 0.005247f, -0.022331f, -0.012936f, -0.002815f, -0.014435f, 0.000465f, 0.012945f, -0.015299f, 0.005362f, -0.000656f, -0.005830f, -0.001846f, -0.003945f, 0.014623f, 0.007325f, 0.007063f, -0.004396f, -0.005043f, 0.019995f, -0.006727f, -0.006448f, -0.017568f, 0.011724f, -0.024752f, 0.002544f, -0.008431f, 0.003012f, 0.008204f, -0.006642f, -0.013414f, -0.008808f, 0.000442f, 0.016846f, -0.009316f, -0.002727f, -0.011920f, -0.009990f, 0.005182f, 0.005350f, 0.013320f, -0.017034f, -0.001011f, 0.003851f, 0.002059f, -0.023531f, 0.004898f, 0.001034f, 0.002617f, -0.031953f, 0.026484f, -0.000425f, -0.001798f, -0.001517f, -0.011257f, 0.002303f, -0.000878f, 0.008977f, -0.009925f, 0.010201f, 0.001891f, -0.007792f, -0.013215f, -0.015750f, 0.006148f, 0.000497f, -0.002641f, 0.000223f, -0.009971f, 0.008509f, 0.005529f, 0.016382f, 0.008749f, 0.006057f, 0.007992f, -0.002919f, -0.010942f, -0.007739f, -0.000951f, -0.005601f, 0.005858f, -0.008949f, -0.014238f, -0.014428f, -0.000805f, + -0.019495f, 0.007012f, 0.009460f, -0.013041f, 0.011148f, -0.015437f, 0.006501f, -0.021993f, 0.002391f, -0.005535f, 0.001201f, -0.007243f, -0.000522f, -0.020724f, -0.003301f, -0.008446f, -0.012010f, -0.005231f, -0.009316f, 0.000871f, -0.008300f, -0.007004f, -0.011849f, 0.003093f, -0.011192f, -0.003165f, 0.018986f, -0.005551f, 0.001244f, 0.003530f, -0.003159f, -0.021269f, -0.020075f, -0.005806f, -0.012639f, 0.001477f, 0.008685f, 0.005857f, -0.019416f, -0.000914f, 0.003237f, -0.018212f, -0.020503f, 0.010765f, -0.020101f, 0.003485f, 0.013229f, -0.010108f, -0.023023f, -0.010288f, 0.000517f, 0.014675f, -0.006146f, 0.026223f, -0.001804f, -0.002647f, -0.015360f, -0.011535f, -0.001720f, 0.004794f, 0.001641f, -0.006159f, -0.004470f, -0.001926f, -0.005556f, -0.012169f, 0.009668f, -0.010245f, -0.005547f, 0.009236f, 0.003277f, -0.017001f, -0.016858f, -0.016704f, 0.014066f, -0.015643f, -0.015468f, 0.024960f, -0.015812f, 0.010420f, -0.001760f, 0.005922f, -0.022837f, 0.009570f, 0.001953f, -0.005002f, -0.000488f, -0.005830f, 0.008282f, 0.004212f, 0.022827f, -0.006960f, -0.003337f, 0.008984f, 0.022229f, 0.004301f, + 0.005300f, -0.011735f, -0.005567f, -0.019302f, -0.002533f, -0.002285f, 0.001132f, 0.010786f, -0.002547f, 0.004762f, 0.023943f, -0.005563f, 0.001036f, -0.004745f, 0.001744f, -0.024499f, -0.022823f, 0.009320f, -0.001783f, 0.011072f, -0.001906f, -0.004961f, -0.007077f, 0.009361f, 0.005714f, -0.005519f, 0.004158f, 0.009526f, -0.005282f, -0.033284f, -0.014576f, -0.006698f, -0.003864f, 0.014565f, -0.026118f, -0.019250f, 0.015733f, 0.009656f, 0.039872f, 0.011071f, 0.009052f, 0.010787f, 0.004898f, -0.007411f, 0.000621f, -0.007802f, 0.012581f, 0.000323f, 0.012704f, 0.000131f, -0.000543f, -0.017852f, 0.008944f, -0.012210f, 0.009089f, -0.002129f, 0.009544f, 0.003536f, 0.012872f, -0.020675f, 0.002219f, -0.014465f, 0.016818f, 0.000664f, -0.017186f, 0.022115f, 0.016507f, 0.010264f, -0.010341f, -0.034756f, 0.009750f, -0.004230f, -0.004366f, 0.016246f, -0.001722f, 0.007162f, 0.016159f, -0.004273f, -0.020665f, -0.000944f, 0.009193f, 0.005129f, -0.005558f, -0.003317f, -0.015107f, 0.004403f, 0.002070f, 0.001726f, -0.002272f, 0.000297f, 0.012910f, -0.010524f, 0.005461f, -0.005519f, 0.009126f, -0.008862f, + -0.036754f, 0.008202f, 0.009688f, 0.038420f, -0.007331f, -0.005515f, 0.018523f, 0.024079f, -0.037719f, -0.021314f, 0.021575f, -0.010332f, 0.001336f, 0.009136f, -0.023783f, -0.052960f, -0.020359f, 0.030936f, 0.024830f, 0.020978f, -0.005557f, 0.011980f, -0.005580f, 0.011063f, -0.010478f, 0.004208f, -0.026315f, 0.007089f, -0.008842f, 0.014299f, 0.014141f, 0.000918f, -0.012045f, 0.013029f, 0.008647f, 0.022164f, -0.001538f, -0.013111f, -0.006001f, -0.033901f, -0.016791f, 0.008748f, -0.001554f, -0.022641f, 0.016332f, 0.021640f, -0.029509f, 0.029518f, -0.002023f, -0.003019f, 0.019194f, 0.003940f, 0.018205f, -0.002194f, 0.007042f, -0.006598f, -0.002702f, 0.008755f, 0.035833f, -0.012804f, 0.023154f, -0.002149f, 0.003001f, 0.007944f, 0.020349f, -0.018565f, 0.003090f, 0.027497f, 0.009548f, -0.014355f, 0.008729f, 0.009239f, 0.003908f, 0.019109f, 0.017517f, -0.002111f, -0.024689f, -0.006609f, 0.024800f, 0.015525f, 0.018647f, -0.012748f, -0.006461f, -0.002464f, -0.002885f, 0.026387f, 0.003269f, -0.028233f, -0.012520f, -0.009049f, 0.017607f, 0.002851f, 0.003700f, 0.014432f, 0.032928f, -0.049498f, + 0.032310f, -0.007153f, -0.005808f, -0.013379f, 0.009632f, 0.009160f, 0.019058f, 0.002118f, 0.018199f, -0.002763f, -0.004740f, 0.004698f, -0.002894f, 0.008289f, 0.016852f, 0.000948f, -0.001036f, 0.020846f, -0.016040f, -0.004168f, 0.005664f, -0.003108f, 0.019691f, -0.024078f, 0.002499f, -0.020856f, 0.003655f, -0.022106f, -0.002377f, -0.000849f, 0.011971f, 0.026459f, -0.015655f, -0.010686f, -0.016162f, -0.002769f, -0.023884f, -0.018005f, -0.015273f, 0.008967f, 0.021413f, -0.001924f, 0.041454f, -0.027785f, 0.037399f, -0.027812f, -0.004092f, 0.008315f, 0.010328f, 0.032563f, 0.023161f, -0.029785f, 0.017381f, -0.014289f, -0.031717f, -0.001599f, -0.022745f, -0.013655f, 0.002072f, 0.033315f, -0.003376f, 0.016142f, 0.031162f, -0.021672f, 0.012998f, -0.036172f, 0.025933f, -0.021242f, -0.009045f, 0.039926f, 0.015272f, 0.042845f, -0.014691f, 0.002730f, -0.015715f, 0.014130f, 0.054387f, 0.015755f, 0.020159f, -0.023726f, -0.002408f, 0.003735f, 0.022565f, 0.020054f, 0.035804f, -0.024528f, -0.006706f, -0.026908f, -0.022207f, 0.004289f, 0.004749f, 0.019819f, -0.014250f, 0.014609f, -0.037074f, 0.027426f, + 0.021774f, 0.011443f, -0.003915f, -0.002280f, 0.005469f, 0.014293f, 0.006845f, 0.005777f, 0.002770f, 0.029538f, 0.026252f, 0.012474f, 0.005174f, -0.018081f, -0.017040f, 0.058365f, 0.005320f, 0.009412f, 0.034519f, 0.016223f, -0.005375f, -0.004178f, 0.023417f, 0.042660f, -0.025449f, -0.009810f, -0.028964f, -0.028281f, 0.043567f, 0.019812f, 0.004881f, -0.005745f, 0.017955f, 0.031581f, 0.024633f, 0.031633f, 0.015033f, -0.011816f, 0.001059f, -0.001687f, 0.011638f, -0.026457f, -0.020011f, -0.007958f, -0.024839f, 0.027059f, -0.003687f, -0.007199f, -0.023758f, -0.004031f, -0.022204f, -0.053432f, 0.008530f, -0.006654f, -0.017581f, 0.012006f, -0.029073f, -0.001708f, -0.016295f, -0.042668f, -0.010678f, -0.018428f, -0.021171f, 0.034306f, -0.010112f, -0.012116f, -0.007226f, -0.000521f, -0.009724f, -0.011740f, -0.003040f, 0.009389f, 0.027749f, 0.022217f, -0.002022f, -0.001181f, -0.049738f, 0.003528f, 0.005329f, 0.020511f, -0.012542f, -0.009380f, 0.072175f, -0.011874f, -0.037425f, -0.034112f, 0.029001f, -0.019525f, 0.007231f, -0.040436f, 0.008663f, -0.010558f, -0.023884f, -0.018022f, -0.048919f, 0.008790f, + 0.011630f, 0.034804f, 0.007846f, -0.016772f, 0.024254f, 0.004563f, 0.022515f, 0.029099f, 0.076995f, 0.022849f, 0.002667f, -0.029450f, -0.037973f, -0.007979f, -0.000340f, -0.003474f, -0.036749f, 0.013971f, 0.028082f, 0.006684f, -0.010287f, -0.031769f, -0.013490f, -0.004642f, 0.010346f, -0.011435f, 0.019571f, -0.009635f, -0.012657f, 0.037367f, 0.019820f, 0.042436f, 0.001100f, -0.012034f, -0.016058f, 0.044938f, -0.037794f, -0.014152f, 0.052870f, -0.031332f, 0.011139f, 0.011017f, 0.014287f, 0.003201f, 0.030119f, -0.009036f, 0.027226f, -0.009915f, 0.006642f, 0.006396f, -0.012667f, 0.019685f, -0.028761f, -0.020637f, -0.018276f, -0.008824f, -0.025354f, -0.048662f, -0.007745f, -0.014562f, 0.008927f, -0.012539f, -0.063458f, 0.017989f, 0.041960f, -0.002351f, -0.007258f, 0.063605f, -0.077334f, -0.017066f, 0.045519f, -0.010786f, 0.035773f, -0.025068f, -0.013783f, 0.011837f, -0.073319f, 0.024339f, -0.023580f, 0.037635f, 0.029829f, -0.039943f, 0.081314f, 0.011724f, 0.006798f, -0.003927f, 0.033996f, -0.056930f, 0.026636f, -0.002418f, -0.005322f, 0.015718f, -0.032467f, 0.052925f, 0.052943f, -0.086409f, + 0.018374f, 0.017285f, 0.004324f, 0.050221f, -0.019756f, -0.060392f, -0.060648f, 0.006893f, 0.009625f, -0.025536f, 0.018187f, -0.032814f, 0.013030f, -0.013780f, 0.034033f, 0.043225f, 0.003207f, 0.041907f, 0.038138f, -0.018108f, 0.001354f, -0.023713f, -0.004607f, -0.003947f, 0.015880f, -0.000393f, -0.002101f, -0.002153f, -0.039889f, -0.060969f, -0.023503f, 0.035215f, 0.027399f, -0.024823f, -0.029265f, 0.020539f, 0.020387f, -0.038713f, 0.022683f, -0.024911f, -0.003118f, 0.034276f, 0.046144f, 0.002860f, -0.024134f, 0.019514f, 0.005430f, 0.030200f, 0.006870f, 0.025725f, 0.025843f, -0.003834f, -0.088333f, 0.013215f, 0.004628f, 0.039697f, -0.011017f, 0.040545f, 0.039426f, -0.021444f, -0.120180f, -0.012970f, 0.007632f, -0.011080f, 0.076529f, 0.081271f, 0.056924f, 0.081013f, -0.016747f, 0.040533f, -0.026890f, 0.056079f, 0.039920f, -0.055580f, 0.081100f, -0.073835f, -0.061524f, -0.056180f, -0.046284f, -0.089462f, 0.021587f, 0.036191f, -0.002675f, 0.048894f, 0.020063f, -0.055500f, -0.012379f, 0.014742f, 0.016463f, 0.018401f, -0.009501f, 0.029332f, 0.004476f, -0.014747f, -0.005743f, 0.012124f, + 0.040354f, 0.052428f, 0.039821f, 0.062397f, -0.055293f, -0.013260f, -0.012751f, -0.056037f, -0.011935f, 0.012897f, 0.005155f, 0.009377f, -0.021257f, -0.023612f, 0.032056f, 0.070098f, -0.029599f, 0.037672f, -0.020485f, 0.012089f, -0.018702f, -0.000444f, -0.050102f, -0.015849f, -0.000720f, -0.069224f, -0.040095f, -0.067596f, -0.057567f, 0.043171f, 0.095986f, 0.078227f, 0.004660f, -0.001048f, 0.002798f, -0.013075f, -0.029539f, -0.109611f, -0.035172f, -0.012297f, 0.012163f, 0.008963f, -0.036961f, -0.023749f, 0.018020f, 0.054307f, 0.033379f, 0.020597f, 0.036619f, 0.060628f, 0.026398f, -0.051358f, 0.048070f, -0.028496f, -0.011179f, 0.037739f, 0.082568f, 0.019781f, 0.102890f, -0.039345f, -0.064266f, 0.039385f, -0.006407f, -0.038970f, 0.018507f, 0.041733f, 0.036263f, -0.075167f, -0.064766f, 0.015779f, -0.030131f, 0.007271f, 0.036521f, -0.020314f, -0.014721f, 0.060053f, 0.016398f, -0.008895f, -0.019236f, -0.017665f, 0.022742f, -0.014131f, -0.002603f, -0.002330f, -0.024528f, -0.010094f, -0.040848f, -0.055160f, 0.019646f, 0.029150f, -0.034256f, 0.024523f, 0.017464f, -0.012598f, -0.023627f, 0.002954f, + 0.043444f, 0.024070f, 0.008134f, -0.043952f, -0.047856f, -0.024357f, 0.013511f, 0.053166f, -0.039979f, -0.022368f, -0.017830f, 0.031301f, 0.087723f, 0.022017f, -0.084433f, -0.020017f, -0.009218f, 0.042566f, 0.001876f, 0.021400f, -0.010136f, -0.021553f, -0.017772f, -0.049697f, 0.046161f, 0.045988f, 0.020549f, 0.048522f, -0.014232f, 0.030487f, -0.013350f, -0.038751f, -0.038223f, -0.045908f, 0.009946f, -0.084179f, 0.087300f, -0.008957f, -0.028060f, -0.052740f, 0.058778f, 0.042474f, 0.012224f, 0.003122f, 0.024225f, 0.021262f, -0.050837f, -0.070506f, 0.015235f, 0.043268f, 0.064897f, -0.006278f, -0.022501f, -0.051313f, -0.032741f, 0.023248f, -0.007405f, -0.044869f, -0.083340f, -0.083602f, 0.009593f, -0.029973f, 0.036446f, -0.095383f, -0.035853f, 0.010191f, 0.006057f, 0.009764f, -0.034703f, 0.005708f, -0.009136f, -0.023821f, -0.010108f, -0.048788f, 0.031419f, 0.039865f, 0.028169f, -0.063339f, -0.036883f, -0.008894f, 0.011853f, 0.020442f, 0.022893f, 0.016353f, -0.013624f, -0.011879f, -0.015000f, 0.031946f, 0.103339f, 0.061870f, -0.065485f, -0.065143f, -0.044037f, -0.081695f, 0.078072f, 0.037270f, + -0.035102f, -0.084848f, -0.081416f, 0.073546f, 0.041860f, 0.001640f, 0.054211f, -0.075854f, -0.017256f, -0.005952f, -0.027597f, -0.003932f, -0.035982f, -0.077577f, 0.004259f, -0.061977f, 0.054680f, 0.054186f, -0.040136f, -0.019138f, -0.017077f, -0.022412f, 0.044120f, -0.070179f, 0.062505f, 0.092193f, 0.099585f, -0.110691f, 0.020962f, -0.002442f, -0.009231f, 0.048417f, -0.019890f, -0.031972f, 0.032932f, 0.017953f, 0.068006f, -0.005588f, -0.053731f, 0.003033f, -0.024588f, 0.041600f, -0.061909f, -0.020315f, -0.029254f, -0.039522f, 0.056084f, -0.039537f, -0.006258f, 0.040624f, 0.022068f, -0.011833f, -0.022142f, -0.055870f, 0.006821f, 0.078155f, 0.045640f, -0.001193f, 0.021825f, -0.015024f, 0.061292f, -0.039700f, 0.027742f, -0.020848f, 0.037565f, 0.066566f, -0.015418f, -0.039287f, 0.019362f, -0.054399f, 0.092903f, 0.013578f, -0.051365f, -0.014544f, -0.079431f, 0.012556f, 0.110254f, -0.017718f, -0.067241f, -0.043289f, 0.066990f, 0.023061f, -0.037446f, 0.000712f, 0.016250f, 0.040859f, 0.092883f, -0.074573f, 0.033207f, 0.079092f, -0.012288f, -0.089769f, -0.088242f, -0.051000f, 0.155871f, -0.113314f, + 0.041259f, -0.113476f, -0.041612f, 0.040193f, -0.105279f, 0.017998f, -0.094601f, 0.041210f, 0.044283f, 0.087600f, 0.038692f, 0.019722f, 0.022783f, -0.027936f, -0.067539f, -0.047343f, -0.044406f, 0.018333f, 0.010790f, -0.012041f, 0.040100f, 0.061500f, -0.027914f, -0.039629f, 0.043023f, 0.007019f, -0.057522f, -0.013890f, 0.025968f, -0.048094f, -0.008396f, 0.009741f, 0.024133f, 0.012104f, 0.034158f, 0.057715f, 0.010396f, -0.038114f, -0.004214f, 0.010432f, -0.029502f, -0.014111f, 0.027512f, -0.021671f, -0.037318f, 0.051259f, -0.012355f, -0.013876f, -0.020491f, -0.021489f, 0.034142f, 0.007611f, 0.008092f, 0.043999f, -0.021117f, -0.035855f, -0.001561f, 0.002261f, -0.014243f, 0.010401f, -0.001878f, -0.013528f, -0.001604f, -0.045028f, 0.010493f, 0.007431f, -0.006678f, 0.022488f, 0.016837f, 0.007144f, 0.011537f, -0.046350f, 0.054719f, -0.020941f, -0.018264f, 0.016024f, -0.047920f, 0.016707f, -0.035958f, 0.008640f, -0.047856f, 0.079735f, -0.003143f, 0.045509f, -0.039544f, 0.005878f, -0.006360f, 0.014939f, 0.013734f, 0.024742f, -0.011204f, 0.018404f, -0.009916f, 0.010480f, -0.000712f, 0.008433f, + 0.020081f, -0.001619f, 0.030576f, -0.011136f, 0.023388f, 0.001861f, 0.000183f, -0.007672f, 0.015417f, -0.010720f, 0.014061f, -0.006972f, 0.002098f, -0.005705f, 0.008279f, -0.004577f, 0.018020f, -0.004700f, -0.010476f, 0.027389f, -0.017290f, 0.014529f, 0.012653f, 0.004573f, 0.014402f, -0.016081f, -0.010036f, 0.012700f, 0.012988f, -0.006936f, -0.000058f, 0.013427f, 0.000357f, -0.018126f, 0.009659f, -0.009165f, 0.011081f, 0.012868f, 0.007731f, 0.004391f, 0.005920f, -0.019812f, 0.011514f, 0.005395f, -0.004004f, 0.006941f, -0.007227f, 0.004084f, -0.002424f, -0.001490f, -0.000126f, 0.006089f, 0.015854f, -0.019492f, 0.019256f, -0.004699f, -0.003341f, 0.007466f, -0.009272f, 0.003263f, 0.012431f, -0.003385f, 0.019973f, -0.066082f, -0.206808f, -0.030069f, 0.100934f, 0.052444f, 0.244841f, 0.045894f, 0.052877f, 0.033523f, -0.065590f, -0.092332f, -0.065834f, -0.118474f, -0.101966f, -0.057505f, -0.023548f, 0.068565f, 0.185925f, 0.147805f, 0.127069f, 0.072641f, -0.056968f, -0.092455f, -0.068262f, -0.127605f, -0.121246f, -0.036659f, -0.016908f, -0.027752f, 0.047177f, 0.074197f, 0.048781f, 0.090372f, + 0.069445f, 0.021856f, 0.063866f, 0.013653f, -0.009449f, 0.006546f, -0.038448f, -0.100523f, -0.086034f, -0.072407f, -0.102612f, -0.042244f, 0.029937f, 0.021351f, 0.065647f, 0.075157f, 0.064950f, 0.067527f, 0.068066f, 0.044016f, 0.042137f, 0.005483f, -0.037965f, -0.069837f, -0.048398f, -0.065653f, -0.088126f, -0.042376f, -0.040488f, -0.031858f, 0.012361f, 0.034471f, 0.031877f, 0.063377f, 0.077735f, 0.038873f, 0.054860f, 0.048165f, -0.012849f, 0.006943f, 0.021269f, -0.024280f, -0.024220f, -0.036967f, -0.033727f, -0.018175f} + }, + { + {0.002918f, 0.005029f, 0.000714f, 0.002853f, 0.006330f, -0.001978f, 0.006738f, 0.001745f, 0.001243f, -0.007809f, -0.001932f, -0.007740f, -0.000934f, 0.007770f, 0.005638f, -0.000557f, 0.003545f, -0.001114f, 0.002949f, -0.000970f, 0.003689f, 0.003121f, 0.003992f, 0.009549f, 0.004008f, -0.007040f, -0.000639f, -0.007973f, 0.004108f, 0.002956f, -0.001205f, 0.000809f, 0.000887f, -0.001728f, -0.002500f, 0.004773f, -0.002182f, 0.001543f, 0.004268f, -0.004246f, 0.007171f, -0.001680f, -0.000003f, 0.003410f, -0.001536f, 0.001121f, 0.000808f, 0.003604f, 0.005625f, 0.000110f, 0.000861f, -0.002056f, -0.000272f, 0.000339f, -0.003171f, -0.003005f, 0.003559f, 0.009655f, -0.000884f, -0.005397f, -0.004841f, 0.003040f, 0.004768f, 0.005496f, 0.003106f, 0.007846f, 0.000459f, 0.005688f, -0.004512f, -0.002993f, 0.003590f, -0.001157f, 0.004790f, -0.000295f, -0.001576f, 0.002565f, -0.006599f, 0.005035f, 0.003170f, -0.006503f, -0.001134f, 0.008382f, 0.002490f, 0.002101f, 0.004612f, -0.001045f, 0.001265f, -0.002123f, -0.008725f, -0.003379f, -0.000435f, -0.001870f, 0.002503f, -0.002642f, -0.000856f, -0.007330f, + -0.000023f, 0.001341f, -0.005238f, -0.001066f, -0.006612f, -0.002270f, -0.002127f, -0.007898f, -0.003695f, 0.002622f, 0.003439f, 0.009026f, 0.005250f, 0.011511f, -0.001288f, -0.001769f, 0.001619f, -0.003843f, 0.009871f, 0.000686f, 0.004626f, 0.007978f, 0.001311f, -0.003080f, 0.003146f, -0.004095f, -0.005677f, -0.001291f, -0.002507f, -0.002980f, -0.010427f, -0.003223f, -0.000051f, 0.001737f, 0.002978f, 0.000989f, 0.005143f, -0.005734f, 0.004520f, 0.000093f, 0.001033f, 0.003412f, -0.004203f, -0.009001f, -0.004062f, 0.004024f, 0.005586f, 0.004462f, 0.000249f, 0.004539f, 0.003250f, 0.006112f, 0.002961f, 0.002663f, -0.003915f, 0.000272f, -0.000241f, -0.004951f, 0.004395f, -0.007530f, -0.004684f, 0.011697f, -0.002076f, 0.010320f, -0.005516f, 0.000850f, 0.005038f, 0.002137f, 0.000201f, -0.007214f, -0.010130f, -0.010594f, 0.000982f, 0.000091f, -0.003087f, 0.001235f, -0.009357f, 0.018188f, 0.001946f, -0.010401f, 0.002591f, -0.005539f, -0.005953f, 0.005291f, 0.007668f, -0.000308f, 0.001636f, 0.003525f, -0.000676f, -0.000158f, 0.006008f, -0.003554f, -0.001597f, 0.000161f, 0.011039f, -0.000430f, + -0.001394f, -0.004423f, -0.006665f, 0.003212f, -0.001702f, -0.006979f, -0.003123f, -0.008363f, 0.001027f, -0.007615f, 0.000112f, -0.005833f, -0.001890f, -0.005170f, -0.010257f, -0.004461f, -0.000665f, 0.009367f, 0.001412f, -0.003093f, 0.005270f, 0.008517f, 0.001361f, -0.012380f, 0.005592f, -0.000408f, 0.002326f, 0.003539f, -0.002689f, 0.007161f, -0.003653f, -0.007351f, -0.006890f, -0.013219f, 0.001470f, -0.005099f, -0.004044f, -0.006708f, -0.009669f, 0.014989f, -0.004304f, -0.014464f, 0.000656f, 0.004333f, 0.000036f, 0.003950f, 0.003201f, -0.011569f, 0.003574f, -0.003062f, -0.000832f, -0.000033f, -0.002404f, 0.007981f, -0.002986f, -0.006009f, -0.000843f, 0.006258f, 0.003910f, 0.001989f, 0.003635f, 0.015881f, 0.003992f, -0.006186f, 0.007081f, -0.007443f, 0.001948f, -0.006130f, 0.015113f, 0.001810f, -0.005345f, -0.003640f, -0.005352f, -0.002379f, 0.009933f, -0.008828f, -0.007197f, -0.002773f, 0.008184f, 0.004168f, -0.008141f, 0.001498f, 0.001480f, -0.005340f, -0.000058f, -0.017589f, 0.005315f, -0.004680f, -0.003487f, -0.011501f, 0.015890f, 0.000024f, -0.008693f, -0.007547f, -0.008530f, -0.000337f, + -0.002041f, -0.000123f, -0.000300f, -0.010781f, 0.012553f, -0.008385f, -0.006869f, 0.003831f, 0.001135f, 0.003701f, -0.003825f, -0.002203f, -0.008117f, -0.000883f, 0.001450f, -0.011808f, -0.007843f, -0.001377f, 0.013389f, 0.000399f, 0.002892f, -0.011107f, 0.003407f, 0.006342f, 0.004651f, -0.000497f, -0.005552f, 0.014373f, 0.002516f, -0.002915f, 0.006928f, 0.005598f, -0.006717f, 0.008775f, -0.005913f, 0.014500f, 0.002093f, 0.012929f, -0.001386f, 0.002217f, -0.005061f, -0.014799f, 0.001632f, 0.000211f, 0.000548f, -0.002642f, 0.003075f, 0.007663f, -0.001901f, -0.007674f, -0.004951f, -0.010876f, -0.002917f, -0.005429f, -0.005628f, 0.000844f, 0.003765f, 0.005681f, -0.006849f, 0.004654f, -0.004561f, -0.005931f, -0.000710f, 0.004739f, 0.000993f, 0.001014f, -0.010680f, -0.010597f, -0.001897f, -0.003320f, -0.007791f, 0.016864f, 0.008017f, -0.001370f, 0.003367f, 0.006572f, -0.017219f, -0.009082f, 0.011645f, -0.006834f, 0.010917f, 0.002055f, -0.002231f, -0.012055f, -0.008544f, 0.013272f, 0.007294f, 0.012446f, -0.013749f, -0.001645f, -0.009623f, -0.001600f, 0.003108f, -0.006126f, 0.000815f, 0.001331f, + -0.022524f, 0.001244f, -0.002855f, 0.006152f, -0.013611f, 0.004408f, -0.004560f, 0.022852f, -0.006005f, -0.011783f, -0.004280f, -0.009879f, 0.003140f, 0.008506f, -0.002652f, 0.015982f, 0.001684f, -0.004670f, 0.003896f, 0.001979f, 0.004208f, -0.005615f, -0.000940f, 0.005971f, 0.009418f, 0.003741f, -0.001809f, 0.004529f, -0.008297f, -0.002571f, 0.011836f, 0.008454f, 0.013890f, 0.009848f, -0.000162f, -0.006994f, -0.014670f, 0.010217f, -0.001535f, -0.010710f, 0.005664f, -0.002797f, -0.016427f, 0.000478f, -0.013675f, -0.001044f, 0.012545f, -0.002062f, -0.009153f, -0.004209f, 0.012001f, -0.010244f, -0.016739f, 0.017181f, -0.003091f, -0.004090f, 0.004160f, 0.002251f, 0.002191f, 0.004204f, 0.004308f, 0.002378f, -0.012219f, -0.004607f, 0.009840f, -0.001164f, -0.003405f, 0.003063f, 0.016821f, -0.008164f, -0.008720f, -0.003931f, 0.007333f, 0.003756f, -0.013911f, -0.006107f, -0.019650f, -0.000280f, 0.005430f, 0.019194f, 0.019824f, -0.006202f, 0.009938f, -0.012521f, 0.004298f, 0.008519f, 0.012776f, -0.003541f, 0.019096f, -0.003422f, 0.016214f, -0.008648f, 0.013602f, -0.006630f, -0.022304f, -0.004945f, + 0.005715f, -0.007592f, 0.008769f, -0.004708f, -0.005278f, 0.002574f, -0.024473f, -0.007799f, -0.000407f, -0.004126f, -0.001382f, -0.011733f, -0.004012f, -0.004093f, 0.003995f, 0.025201f, 0.014523f, -0.014426f, 0.008043f, 0.020182f, 0.005039f, -0.006885f, 0.005058f, -0.005145f, -0.005910f, 0.014567f, 0.010087f, -0.009889f, -0.001306f, 0.010426f, 0.021528f, -0.006777f, 0.011717f, 0.032050f, 0.013745f, -0.014567f, 0.005945f, 0.003846f, -0.017791f, 0.002797f, -0.014721f, 0.006695f, -0.016059f, -0.003647f, 0.000591f, 0.007691f, -0.010553f, -0.002781f, -0.005325f, -0.009401f, 0.012075f, 0.010625f, -0.000870f, -0.006918f, 0.001435f, 0.008229f, -0.004772f, -0.020490f, 0.004167f, -0.016555f, 0.002149f, -0.005801f, 0.020358f, -0.011034f, 0.002497f, 0.004997f, 0.001631f, 0.007074f, -0.003484f, 0.022290f, 0.001365f, -0.015245f, -0.003161f, -0.011368f, -0.002151f, -0.004023f, -0.010592f, -0.013278f, -0.003676f, -0.008721f, -0.004277f, 0.014092f, 0.005044f, -0.012789f, 0.004443f, -0.015178f, -0.003141f, 0.010236f, -0.020417f, -0.018182f, 0.009754f, 0.009020f, 0.004591f, -0.001052f, -0.012501f, 0.004390f, + -0.006309f, -0.011946f, -0.005606f, 0.000204f, 0.003375f, 0.018659f, -0.007772f, -0.002546f, 0.000770f, 0.008521f, 0.004459f, -0.006950f, -0.008730f, -0.015603f, -0.004853f, -0.003671f, -0.008579f, -0.010047f, 0.006097f, 0.012548f, -0.000195f, -0.008271f, 0.013990f, 0.002662f, -0.007063f, 0.001784f, -0.002157f, -0.001648f, -0.004959f, -0.002381f, 0.009017f, -0.006637f, -0.011186f, -0.005172f, 0.005016f, -0.005918f, 0.010531f, 0.019916f, -0.014552f, -0.000389f, 0.013675f, -0.006337f, -0.009427f, 0.012462f, -0.019274f, -0.001133f, 0.003891f, -0.002502f, -0.006984f, -0.008581f, -0.003810f, 0.003375f, -0.000701f, 0.009323f, 0.005083f, -0.003179f, -0.007046f, -0.005508f, 0.015811f, 0.000502f, -0.018370f, 0.008649f, -0.011431f, -0.011817f, 0.007649f, 0.013377f, 0.014342f, 0.010284f, 0.000221f, 0.006857f, 0.005406f, 0.006432f, -0.005553f, -0.000601f, -0.004914f, -0.013868f, 0.006378f, -0.003850f, -0.000024f, -0.003374f, 0.002075f, -0.002661f, 0.015763f, 0.027383f, 0.005428f, -0.005327f, 0.000808f, -0.020429f, 0.020242f, -0.014147f, -0.007801f, -0.013684f, -0.014927f, 0.026379f, 0.002614f, -0.015784f, + -0.004234f, 0.017874f, 0.010938f, -0.015022f, -0.009158f, 0.020468f, 0.003288f, 0.001196f, 0.029411f, -0.014318f, 0.009571f, -0.011113f, -0.025158f, 0.011642f, 0.016124f, 0.000874f, -0.011383f, 0.008644f, 0.011252f, 0.021463f, 0.019606f, -0.001541f, 0.016615f, 0.007052f, 0.016960f, 0.016332f, -0.029080f, 0.009537f, -0.009880f, -0.013023f, -0.009651f, -0.003434f, -0.018789f, -0.004550f, 0.003737f, -0.016236f, -0.032446f, 0.006494f, -0.002917f, -0.029388f, -0.021681f, -0.019525f, -0.011150f, 0.000233f, -0.006050f, 0.006003f, -0.004451f, 0.010576f, 0.021517f, -0.013511f, 0.006877f, -0.005809f, -0.010836f, -0.008221f, 0.000684f, -0.003008f, -0.001589f, 0.015690f, -0.001355f, 0.015813f, 0.020920f, 0.005590f, 0.008622f, 0.013422f, -0.002551f, 0.002009f, -0.022004f, 0.019034f, -0.018077f, -0.007034f, -0.006235f, 0.000836f, -0.005509f, -0.017542f, -0.015334f, -0.033028f, 0.028323f, -0.033743f, -0.032483f, 0.004345f, 0.029704f, 0.009753f, -0.004719f, -0.008755f, 0.013196f, -0.016511f, 0.016666f, -0.006307f, 0.001312f, 0.000555f, -0.012638f, 0.010890f, -0.014915f, -0.012605f, 0.003302f, 0.014052f, + 0.018109f, 0.018054f, 0.019651f, 0.045146f, 0.020779f, 0.026101f, -0.011699f, 0.041812f, -0.022611f, 0.001815f, 0.009946f, 0.000483f, -0.014564f, 0.005788f, -0.003356f, -0.034410f, 0.014219f, -0.008207f, 0.004720f, -0.002679f, -0.010638f, 0.000610f, 0.011418f, -0.013582f, -0.006334f, -0.001653f, 0.009276f, -0.020844f, 0.014601f, 0.005631f, -0.018522f, -0.001034f, 0.009088f, -0.017279f, 0.007772f, -0.020839f, 0.010971f, -0.001392f, -0.005725f, -0.000417f, -0.012723f, 0.018277f, 0.022356f, -0.019798f, -0.010281f, 0.009474f, -0.005915f, 0.005925f, 0.006392f, 0.001619f, 0.001996f, 0.024621f, -0.004809f, -0.016127f, 0.016478f, -0.000491f, -0.011442f, -0.010711f, -0.018852f, 0.003909f, 0.006966f, 0.010048f, 0.011180f, -0.009567f, -0.014306f, 0.008467f, 0.005821f, 0.029940f, 0.004554f, -0.004651f, 0.001937f, 0.000630f, -0.008227f, -0.006525f, -0.023674f, -0.026634f, 0.045280f, 0.031699f, 0.040499f, 0.002911f, -0.025532f, 0.009447f, 0.021249f, 0.015304f, -0.006336f, -0.015957f, -0.004570f, -0.005622f, -0.007703f, -0.013669f, -0.005434f, -0.011411f, 0.030178f, 0.005197f, 0.005127f, 0.000638f, + 0.001907f, 0.003602f, -0.010944f, 0.020271f, 0.011332f, -0.000756f, 0.007324f, -0.002395f, 0.020517f, 0.004202f, -0.001742f, -0.032985f, -0.002427f, 0.002542f, 0.003209f, -0.005817f, 0.004182f, -0.015391f, 0.027108f, 0.022419f, 0.021162f, 0.018953f, -0.014636f, -0.019723f, 0.015359f, 0.005194f, 0.007422f, -0.000909f, -0.023643f, -0.016569f, 0.001139f, -0.012845f, -0.000105f, -0.010747f, -0.005147f, 0.014417f, 0.004109f, -0.009745f, 0.003158f, -0.025684f, 0.000271f, -0.043783f, -0.022981f, -0.041432f, 0.035115f, 0.032360f, 0.033564f, 0.041711f, 0.019026f, -0.007255f, -0.020249f, -0.006283f, -0.003614f, 0.004852f, 0.027538f, -0.015721f, -0.021218f, 0.019149f, 0.024835f, -0.011864f, 0.023097f, 0.003403f, -0.009376f, 0.009343f, -0.032728f, -0.010102f, 0.009676f, -0.010392f, -0.019899f, -0.038082f, 0.019171f, -0.016304f, 0.004843f, 0.024854f, 0.006390f, 0.028951f, 0.022556f, 0.012630f, 0.005245f, -0.016977f, -0.004464f, -0.008866f, 0.002133f, 0.016120f, 0.008985f, 0.003355f, 0.014366f, 0.039267f, -0.001365f, -0.033354f, -0.013928f, 0.005404f, 0.008786f, -0.001907f, 0.001652f, 0.003158f, + -0.013357f, 0.000871f, -0.030473f, 0.007055f, -0.031856f, -0.011996f, -0.024368f, 0.012513f, -0.011535f, -0.020895f, 0.033111f, 0.008922f, 0.003950f, -0.014350f, -0.017644f, 0.004769f, 0.009181f, 0.002813f, 0.012145f, -0.016273f, 0.037770f, -0.043456f, 0.013491f, -0.018069f, -0.023943f, -0.014702f, 0.025611f, 0.006994f, -0.021457f, 0.017643f, -0.015734f, 0.048485f, 0.000574f, -0.005234f, -0.016114f, 0.002016f, 0.045347f, 0.046662f, 0.044014f, 0.009310f, -0.011914f, -0.007482f, -0.028498f, 0.022964f, 0.000599f, 0.013426f, -0.008579f, 0.004235f, -0.010463f, -0.008115f, -0.016500f, 0.008752f, -0.017175f, 0.027965f, -0.073388f, -0.021483f, 0.000466f, -0.022325f, 0.015703f, -0.022949f, 0.004637f, -0.008961f, 0.023010f, 0.003950f, 0.022151f, 0.001450f, -0.005285f, -0.000521f, 0.008083f, -0.025859f, -0.018496f, -0.020160f, -0.002867f, 0.024818f, -0.049355f, 0.016921f, 0.042857f, 0.005072f, -0.031589f, -0.001454f, -0.026610f, -0.025701f, 0.017612f, -0.003572f, -0.021744f, 0.011823f, 0.001773f, -0.008358f, -0.012303f, 0.006739f, 0.017792f, 0.010529f, -0.025265f, -0.018742f, 0.014371f, 0.021383f, + -0.017826f, -0.023865f, 0.011473f, 0.023910f, -0.029754f, -0.001545f, -0.026631f, -0.036916f, 0.042913f, -0.007935f, 0.006240f, -0.009050f, 0.026020f, -0.007579f, 0.005062f, -0.016107f, 0.018788f, -0.011349f, -0.003625f, -0.038003f, -0.019257f, -0.010983f, -0.032663f, -0.045663f, -0.010889f, -0.017210f, 0.037362f, 0.009163f, 0.056966f, 0.007873f, -0.020117f, 0.004954f, 0.008438f, -0.051910f, -0.000129f, 0.039984f, 0.024352f, -0.031513f, 0.000959f, 0.018462f, -0.042276f, -0.009339f, -0.022658f, 0.013653f, -0.018396f, 0.007936f, -0.000345f, -0.010866f, -0.000901f, -0.003224f, -0.015701f, 0.010241f, -0.029797f, -0.013627f, -0.014588f, -0.036771f, -0.010196f, -0.007701f, -0.002659f, -0.000921f, -0.012379f, -0.013954f, 0.057880f, 0.014945f, -0.027093f, -0.046821f, -0.019096f, 0.000782f, 0.040745f, -0.014422f, -0.009297f, -0.028526f, -0.010220f, -0.021326f, 0.032523f, -0.033554f, 0.028498f, 0.036755f, -0.045415f, 0.022927f, 0.006195f, -0.022248f, -0.019999f, 0.005101f, 0.014598f, -0.095673f, -0.016897f, -0.005816f, -0.017786f, 0.017707f, -0.018279f, -0.074171f, -0.033625f, -0.026002f, -0.012862f, 0.010160f, + 0.060116f, -0.001940f, -0.069988f, -0.039394f, -0.043225f, -0.008369f, -0.023789f, -0.001305f, -0.035323f, 0.058012f, 0.035016f, -0.006645f, 0.046290f, 0.000910f, 0.049946f, 0.011376f, -0.028038f, -0.039488f, -0.023951f, -0.032015f, -0.013370f, 0.007035f, 0.022094f, -0.007658f, 0.007815f, -0.026706f, 0.005348f, -0.038247f, -0.002393f, -0.003001f, 0.013946f, -0.014975f, 0.061170f, 0.006783f, -0.000287f, 0.038792f, -0.014079f, -0.029304f, -0.015072f, 0.023277f, -0.000254f, -0.017210f, 0.008425f, -0.001455f, 0.052918f, 0.011311f, 0.002184f, -0.021150f, -0.028615f, -0.079224f, 0.007415f, -0.063281f, 0.033897f, 0.104550f, -0.072998f, -0.017776f, 0.020225f, -0.014673f, -0.010023f, -0.022899f, 0.021388f, -0.023500f, -0.069306f, -0.021213f, -0.068667f, -0.017025f, 0.002804f, -0.047532f, -0.000950f, -0.067549f, 0.034863f, -0.007906f, -0.034817f, 0.102504f, 0.015530f, 0.044020f, -0.022680f, -0.124197f, -0.013700f, -0.032375f, -0.035345f, 0.044084f, 0.034814f, -0.044084f, -0.034997f, 0.083867f, -0.010419f, 0.026630f, 0.003556f, -0.005288f, -0.010581f, -0.010074f, -0.028321f, -0.001171f, 0.008981f, 0.014304f, + 0.009446f, 0.029417f, -0.024589f, -0.001451f, -0.023981f, -0.014691f, 0.008601f, 0.042098f, 0.026840f, 0.037071f, 0.033259f, -0.008517f, 0.011540f, 0.019545f, -0.000725f, -0.035707f, -0.007116f, 0.047384f, -0.009408f, -0.069797f, -0.031143f, 0.006694f, -0.059184f, -0.026123f, -0.060633f, -0.041986f, -0.038185f, 0.054474f, 0.037055f, -0.012847f, 0.037086f, 0.013756f, 0.052631f, 0.035108f, 0.016388f, -0.094737f, -0.021784f, 0.003520f, -0.083412f, -0.061075f, -0.024026f, -0.016647f, -0.097578f, 0.020369f, 0.052659f, 0.071370f, 0.085093f, -0.029109f, -0.056863f, -0.000603f, -0.057333f, -0.041750f, -0.079204f, -0.086684f, -0.062063f, -0.051293f, 0.058779f, -0.035244f, -0.089411f, 0.039011f, 0.007432f, -0.059813f, 0.061667f, 0.032200f, 0.021063f, -0.010630f, -0.053201f, -0.011008f, 0.004660f, 0.057888f, 0.075739f, 0.007470f, 0.022669f, 0.007954f, 0.005278f, -0.000151f, 0.012842f, -0.027133f, 0.105424f, 0.027939f, -0.030429f, -0.030083f, -0.011877f, 0.007922f, 0.053074f, -0.020795f, -0.004578f, 0.003483f, 0.028361f, -0.020816f, 0.016382f, 0.005256f, -0.002609f, -0.080997f, -0.023447f, 0.030754f, + 0.046909f, 0.019242f, -0.006347f, -0.020687f, -0.052729f, -0.002346f, 0.012268f, -0.009479f, 0.004143f, -0.010738f, -0.032793f, 0.040136f, -0.005122f, 0.016884f, -0.035199f, -0.004121f, 0.101818f, 0.011383f, -0.007513f, 0.015509f, 0.016335f, 0.013305f, 0.053156f, -0.014160f, -0.018756f, 0.040975f, -0.000394f, 0.025859f, 0.017645f, 0.036029f, -0.008297f, -0.033043f, 0.022968f, -0.013777f, 0.007833f, 0.141362f, 0.139740f, 0.058518f, 0.029876f, 0.060412f, 0.001237f, -0.079811f, -0.026948f, 0.008235f, 0.002673f, -0.024967f, 0.046246f, 0.019382f, 0.012950f, -0.025606f, 0.055343f, -0.011400f, -0.006783f, -0.024648f, 0.025487f, 0.014983f, -0.057248f, -0.078605f, -0.028519f, 0.004500f, -0.004598f, -0.021005f, -0.074192f, -0.013904f, 0.014422f, -0.002045f, -0.031051f, -0.016350f, -0.028835f, -0.032399f, 0.006057f, 0.011390f, -0.051395f, -0.054174f, -0.025956f, -0.065441f, 0.006034f, 0.044000f, -0.054824f, 0.042056f, -0.033295f, -0.034167f, -0.060728f, -0.077095f, -0.089541f, -0.081587f, -0.049332f, -0.006974f, 0.017114f, 0.006170f, 0.016698f, -0.046220f, -0.099771f, -0.041485f, -0.096709f, -0.154970f, + -0.069043f, 0.112746f, 0.191550f, 0.113306f, -0.063651f, -0.046801f, -0.195848f, -0.169619f, 0.098851f, 0.013617f, 0.133720f, 0.148494f, 0.144346f, 0.048358f, -0.081313f, -0.084854f, -0.106840f, -0.105852f, -0.028356f, -0.008364f, 0.012416f, -0.048211f, 0.063258f, 0.029689f, 0.055898f, -0.128731f, 0.026813f, 0.015719f, -0.041198f, 0.027111f, -0.031405f, -0.015769f, -0.010936f, -0.019434f, 0.052518f, 0.099765f, -0.031638f, 0.019197f, -0.016429f, 0.023179f, 0.048908f, -0.016622f, -0.011836f, -0.028778f, 0.012233f, -0.018472f, -0.058242f, 0.040008f, 0.066043f, -0.009581f, -0.038597f, -0.033376f, -0.075007f, -0.020237f, 0.052102f, 0.037035f, 0.016350f, -0.079727f, -0.049003f, -0.034685f, 0.067676f, 0.061347f, 0.050831f, -0.155174f, -0.106298f, -0.012118f, 0.074092f, 0.164801f, -0.002100f, -0.196634f, -0.075226f, 0.007571f, 0.063947f, -0.004271f, 0.034011f, 0.029004f, -0.088633f, -0.036162f, -0.026075f, -0.049854f, 0.001599f, -0.094949f, 0.013527f, 0.040950f, -0.118600f, -0.072218f, -0.037251f, -0.011577f, 0.130071f, 0.003418f, -0.197981f, 0.024550f, 0.031360f, 0.038287f, 0.084732f, 0.052091f, + 0.043731f, -0.105551f, 0.014728f, -0.077696f, 0.013964f, 0.064990f, 0.057951f, 0.018320f, -0.037497f, 0.006768f, -0.022153f, -0.006379f, -0.027435f, -0.021425f, 0.014606f, 0.002785f, -0.039864f, -0.005794f, 0.021560f, -0.005733f, 0.003048f, 0.006244f, -0.024942f, -0.026950f, 0.000231f, 0.015287f, 0.003253f, -0.042707f, 0.004554f, 0.019225f, 0.007863f, 0.002955f, 0.044294f, -0.006794f, -0.009920f, 0.013181f, 0.018092f, -0.031367f, -0.030370f, 0.021367f, 0.006588f, -0.027370f, 0.018732f, 0.004357f, 0.010358f, -0.020302f, 0.009476f, 0.016237f, 0.005066f, -0.027757f, 0.035951f, -0.007673f, -0.033808f, -0.002808f, 0.032419f, 0.004814f, -0.020446f, 0.017494f, 0.011410f, -0.038667f, 0.018376f, -0.003598f, 0.039408f, -0.037076f, 0.008273f, 0.017313f, -0.048621f, -0.005426f, 0.030464f, -0.009024f, 0.024187f, -0.018473f, -0.025902f, -0.006550f, -0.026081f, 0.020693f, -0.050893f, 0.086476f, 0.013224f, 0.039734f, -0.032010f, 0.015886f, -0.005982f, 0.011452f, 0.010556f, -0.013109f, 0.006979f, 0.016765f, -0.007733f, 0.035147f, 0.002817f, 0.002240f, 0.012871f, 0.012249f, 0.000053f, -0.007548f, + 0.015858f, -0.001139f, -0.008677f, -0.000953f, 0.015960f, -0.014649f, 0.004760f, 0.008220f, -0.018629f, 0.026129f, -0.003549f, -0.010985f, 0.039902f, -0.014757f, -0.021163f, 0.018725f, 0.011270f, -0.009564f, 0.018203f, 0.014387f, -0.003082f, -0.004381f, -0.001412f, 0.006030f, 0.011197f, 0.006620f, 0.001572f, -0.005648f, 0.021464f, -0.020114f, 0.020675f, 0.003928f, -0.000594f, 0.006241f, 0.007767f, 0.007084f, 0.002642f, -0.017870f, 0.007084f, 0.017063f, -0.009673f, 0.000802f, 0.001889f, 0.013155f, 0.000662f, -0.003990f, 0.020544f, -0.008696f, 0.011930f, -0.018564f, -0.005234f, 0.019381f, -0.015979f, 0.018629f, -0.003197f, 0.012532f, 0.019770f, -0.070532f, -0.225272f, -0.011565f, 0.121119f, 0.054361f, 0.258217f, 0.021981f, 0.054344f, 0.002235f, -0.075611f, -0.094942f, -0.064571f, -0.115674f, -0.081231f, -0.050869f, 0.001528f, 0.088389f, 0.173669f, 0.128139f, 0.111097f, 0.036410f, -0.060948f, -0.088836f, -0.080382f, -0.094116f, -0.104972f, -0.042190f, -0.020484f, -0.008916f, 0.050569f, 0.067972f, 0.050599f, 0.094957f, 0.060639f, 0.022993f, 0.063016f, 0.001833f, -0.028132f, -0.017867f, + -0.057581f, -0.116530f, -0.071658f, -0.068005f, -0.070392f, 0.004160f, 0.031934f, 0.023036f, 0.085352f, 0.071092f, 0.047973f, 0.069990f, 0.073112f, 0.021618f, 0.021497f, -0.007054f, -0.064086f, -0.087366f, -0.068009f, -0.087471f, -0.063435f, -0.020870f, -0.016041f, 0.006697f, 0.047776f, 0.039137f, 0.033784f, 0.069701f, 0.056193f, 0.043402f, 0.070577f, 0.021929f, -0.013445f, 0.000837f, -0.026097f, -0.054986f, -0.031575f, -0.053702f, -0.034234f, -0.014690f}, + {-0.000974f, -0.000544f, -0.001053f, 0.007468f, 0.004839f, 0.000821f, -0.002807f, 0.003869f, 0.006696f, -0.002052f, 0.007410f, -0.004715f, -0.001510f, 0.004824f, 0.001644f, -0.008346f, 0.002647f, 0.005176f, -0.011583f, -0.000211f, 0.009561f, -0.005616f, -0.008028f, 0.008018f, -0.006457f, 0.001631f, -0.004731f, 0.000691f, 0.000623f, 0.000710f, -0.000425f, -0.005849f, 0.008387f, -0.003795f, -0.001920f, -0.005160f, -0.005383f, 0.000329f, -0.001152f, -0.003904f, -0.006648f, -0.005349f, 0.010195f, -0.001120f, 0.003981f, 0.002811f, -0.000651f, 0.007783f, 0.002081f, 0.005424f, -0.000607f, -0.004044f, 0.005315f, -0.007496f, -0.004059f, 0.000068f, -0.000799f, 0.000762f, 0.001814f, 0.005628f, -0.001923f, -0.001122f, -0.002282f, 0.001571f, -0.000779f, -0.001392f, 0.003496f, -0.000117f, 0.004366f, -0.000820f, -0.003615f, -0.003065f, -0.000014f, 0.000885f, -0.001373f, 0.001829f, -0.004964f, 0.001424f, 0.006222f, -0.000341f, 0.000731f, -0.008753f, -0.004307f, 0.001512f, 0.012049f, -0.007454f, 0.002670f, -0.012122f, 0.012835f, 0.001028f, 0.004830f, -0.001257f, 0.002202f, -0.002175f, -0.004139f, -0.010507f, + 0.004737f, -0.010532f, -0.004810f, -0.005851f, 0.006305f, 0.005053f, 0.002548f, 0.005260f, 0.009743f, 0.000839f, -0.008422f, 0.005907f, 0.001157f, -0.000182f, 0.004894f, -0.001489f, -0.002897f, -0.012404f, 0.002297f, -0.003382f, 0.003018f, 0.005555f, -0.006597f, -0.002479f, 0.006513f, 0.002220f, 0.001020f, -0.006171f, 0.016520f, 0.010056f, 0.001891f, 0.008137f, 0.006770f, 0.006557f, -0.014505f, 0.001233f, -0.001092f, -0.003608f, 0.004008f, 0.002797f, -0.001987f, -0.002417f, -0.000374f, -0.004065f, 0.004836f, -0.001276f, 0.009135f, 0.000111f, -0.001648f, -0.003630f, -0.006919f, -0.000868f, 0.006563f, 0.000320f, 0.002266f, 0.007467f, 0.003241f, 0.000983f, 0.003262f, 0.000922f, 0.004089f, 0.013668f, -0.006290f, 0.004710f, -0.003478f, -0.005611f, -0.002157f, -0.003820f, 0.007583f, -0.005852f, -0.011018f, -0.002662f, 0.003210f, -0.009171f, -0.005423f, 0.010810f, 0.018562f, -0.002875f, 0.007254f, -0.006069f, -0.006352f, -0.000082f, 0.002195f, -0.000595f, 0.000080f, 0.007007f, -0.011336f, 0.004000f, -0.000577f, -0.002220f, -0.009503f, 0.001066f, 0.000520f, 0.005730f, 0.001948f, -0.007442f, + 0.010406f, -0.007821f, 0.009737f, -0.000837f, 0.002029f, 0.004058f, -0.000782f, -0.004487f, 0.007706f, 0.002045f, 0.010193f, 0.001739f, -0.008329f, 0.015994f, 0.012885f, -0.004110f, -0.000906f, -0.002768f, -0.010554f, -0.005640f, -0.001397f, -0.001590f, 0.004841f, -0.005709f, 0.000923f, 0.004660f, 0.000475f, 0.000215f, -0.000222f, -0.000602f, -0.005479f, 0.010032f, 0.000824f, 0.000428f, -0.002476f, -0.000185f, -0.008238f, -0.005972f, -0.014817f, 0.016466f, -0.004563f, -0.002824f, 0.011532f, -0.005616f, 0.005557f, 0.026616f, -0.004096f, 0.000024f, -0.011295f, -0.009261f, -0.013875f, 0.006779f, -0.006210f, 0.002906f, 0.006381f, -0.009020f, -0.007847f, -0.005947f, -0.000234f, 0.001907f, -0.010983f, -0.004777f, 0.003609f, 0.003011f, -0.004861f, -0.002452f, 0.005369f, -0.007205f, 0.000161f, -0.003985f, -0.001999f, -0.005265f, 0.002959f, -0.004900f, 0.000841f, 0.002828f, -0.002529f, 0.010707f, -0.000369f, -0.002384f, -0.009376f, 0.000190f, 0.011459f, 0.000870f, 0.003294f, -0.012116f, -0.016969f, -0.006699f, -0.014724f, -0.013093f, -0.001199f, -0.006150f, -0.001362f, -0.015725f, 0.011809f, -0.014641f, + 0.001132f, 0.008495f, -0.009395f, -0.015302f, -0.011106f, -0.003991f, 0.008637f, 0.007448f, 0.011861f, -0.008574f, -0.007497f, -0.006413f, -0.005430f, 0.008004f, 0.001466f, -0.005197f, -0.002961f, 0.002744f, 0.014912f, 0.001510f, -0.006023f, 0.000791f, -0.004973f, -0.001177f, 0.010471f, 0.017457f, -0.005967f, -0.006231f, -0.015869f, 0.001908f, 0.004058f, 0.008937f, -0.005922f, 0.009634f, 0.001644f, 0.014896f, -0.011950f, 0.001782f, -0.022649f, -0.002672f, 0.002878f, -0.005742f, -0.004949f, -0.002196f, 0.008595f, -0.007071f, -0.011757f, 0.003196f, -0.017328f, -0.004043f, -0.008172f, 0.003657f, -0.001574f, 0.005717f, 0.001108f, -0.013632f, -0.014115f, 0.000156f, 0.008095f, 0.014080f, -0.002424f, -0.006082f, 0.012458f, -0.013489f, -0.006700f, 0.006127f, 0.006245f, 0.009222f, -0.008464f, 0.000077f, 0.004304f, -0.005968f, -0.001231f, 0.005346f, -0.007462f, 0.010456f, -0.003834f, -0.002226f, -0.010521f, -0.009712f, 0.005576f, -0.000220f, 0.001309f, -0.001777f, -0.005792f, 0.006513f, -0.003035f, 0.008197f, 0.001429f, -0.010846f, -0.009590f, 0.004422f, -0.003451f, 0.002611f, -0.012728f, 0.009837f, + -0.023469f, 0.006547f, -0.009714f, 0.009861f, 0.011075f, -0.010581f, -0.020506f, 0.003941f, -0.002027f, 0.014478f, -0.007312f, 0.020553f, -0.007448f, 0.013944f, -0.015240f, -0.004937f, 0.007471f, 0.010653f, 0.003464f, 0.000967f, -0.009079f, -0.000237f, -0.006995f, -0.008597f, 0.006092f, -0.007160f, 0.003947f, 0.003010f, 0.004686f, -0.003555f, 0.009808f, -0.000550f, 0.008526f, -0.000584f, -0.014346f, -0.001293f, -0.004146f, 0.002759f, 0.015639f, 0.002217f, -0.000659f, 0.000525f, -0.005461f, 0.006530f, -0.005128f, 0.009299f, 0.009154f, 0.004536f, 0.003865f, 0.016579f, -0.003190f, -0.001207f, -0.011556f, 0.010189f, 0.008103f, 0.003245f, 0.002439f, 0.003310f, 0.001088f, 0.006227f, 0.009627f, 0.008054f, 0.003892f, 0.005372f, -0.002012f, 0.014162f, 0.004366f, -0.000146f, -0.009037f, 0.007234f, -0.002664f, 0.020370f, 0.009863f, 0.005464f, -0.008392f, 0.000579f, -0.030843f, -0.016498f, 0.006801f, -0.005569f, 0.013095f, 0.013160f, 0.019456f, 0.008451f, 0.008124f, 0.005295f, -0.022440f, -0.004490f, -0.002766f, 0.002693f, -0.001917f, 0.007773f, 0.005402f, -0.008109f, -0.006691f, 0.006565f, + 0.011431f, 0.014753f, 0.012381f, 0.016679f, -0.008494f, -0.007978f, -0.011372f, 0.013063f, -0.006922f, 0.010945f, -0.002412f, 0.000273f, -0.010727f, -0.005684f, -0.006115f, 0.010070f, 0.011437f, 0.002868f, 0.011397f, 0.017159f, -0.006486f, 0.005017f, 0.019046f, -0.008686f, 0.006098f, 0.007424f, 0.000565f, 0.015334f, 0.018206f, 0.014991f, 0.031669f, 0.006950f, -0.004855f, -0.004867f, -0.005863f, 0.000727f, 0.005155f, 0.010785f, -0.002315f, -0.001992f, -0.004022f, -0.007387f, 0.002842f, 0.005831f, 0.007398f, -0.018685f, -0.003759f, 0.006331f, 0.012022f, 0.010555f, -0.018449f, -0.011241f, 0.001503f, 0.004567f, 0.011668f, 0.007785f, 0.015385f, -0.001761f, 0.003348f, 0.013136f, 0.019289f, 0.010877f, -0.020697f, 0.000221f, -0.022020f, -0.015701f, -0.009261f, -0.001735f, -0.013312f, 0.016419f, 0.006407f, 0.009746f, -0.027384f, -0.001917f, 0.018587f, 0.009302f, -0.007710f, -0.011631f, -0.006666f, 0.007118f, -0.020760f, -0.001221f, -0.013138f, 0.020918f, -0.002208f, -0.006123f, 0.002806f, -0.000768f, -0.002977f, 0.003658f, -0.004884f, 0.009665f, 0.007584f, 0.013900f, -0.000320f, 0.000642f, + 0.022301f, -0.006898f, 0.015221f, -0.002434f, -0.001688f, 0.037855f, 0.005420f, -0.004178f, -0.007617f, -0.029474f, 0.004112f, -0.030209f, -0.003978f, 0.031562f, -0.007777f, -0.006280f, -0.020763f, -0.006572f, 0.002142f, -0.011940f, 0.007845f, -0.001238f, -0.014510f, 0.017089f, 0.007941f, 0.005571f, 0.006753f, -0.011881f, 0.015434f, -0.020295f, 0.008682f, 0.008219f, 0.004291f, -0.001981f, -0.003584f, -0.004583f, 0.002369f, 0.013037f, -0.024269f, 0.011420f, -0.008135f, -0.011938f, -0.011357f, 0.010145f, 0.012766f, 0.007729f, 0.021651f, 0.016159f, 0.003786f, 0.006990f, -0.015805f, 0.004010f, 0.008059f, 0.016954f, 0.003796f, -0.007140f, 0.006590f, 0.008278f, -0.014114f, 0.002825f, -0.014498f, 0.012477f, 0.011390f, 0.014521f, -0.012842f, 0.008897f, 0.015454f, -0.006041f, 0.004439f, 0.020355f, -0.000001f, -0.011528f, -0.009109f, 0.005050f, -0.002671f, -0.011733f, -0.004518f, 0.000888f, 0.003458f, 0.007379f, -0.007982f, 0.014387f, 0.008900f, -0.002503f, 0.017118f, -0.001416f, 0.006807f, 0.022365f, -0.022607f, 0.043256f, -0.019146f, 0.006463f, 0.013318f, -0.003866f, -0.001943f, 0.005965f, + 0.029290f, -0.001033f, -0.003624f, -0.000350f, -0.006520f, 0.014506f, 0.016036f, -0.004620f, 0.006976f, 0.005944f, 0.005310f, 0.009879f, 0.012494f, 0.001092f, 0.013387f, 0.002623f, -0.011687f, 0.014720f, 0.019223f, 0.012006f, -0.019247f, 0.038520f, -0.011361f, 0.007707f, -0.027278f, 0.011568f, -0.024040f, 0.019567f, 0.002611f, -0.004855f, -0.013308f, 0.018489f, 0.003074f, 0.011934f, 0.012568f, 0.006497f, -0.020089f, 0.010994f, -0.011881f, -0.001950f, 0.010074f, 0.010528f, 0.003086f, -0.003549f, -0.020088f, 0.003195f, 0.019905f, 0.002416f, 0.013154f, 0.014132f, -0.020981f, 0.012200f, -0.010290f, -0.010703f, 0.016804f, 0.017948f, 0.010005f, 0.010157f, 0.003552f, 0.009719f, -0.021612f, -0.009882f, -0.006362f, 0.000731f, 0.024640f, 0.011508f, 0.010245f, -0.001724f, 0.011281f, -0.000519f, 0.027063f, 0.009689f, 0.010757f, 0.003992f, -0.000677f, -0.038901f, 0.015193f, 0.009138f, -0.002819f, -0.002804f, -0.028251f, 0.000230f, -0.010338f, 0.006932f, 0.026013f, -0.004178f, -0.013741f, 0.029668f, -0.000607f, 0.017080f, -0.009087f, 0.000969f, -0.017414f, -0.000485f, -0.007391f, 0.007180f, + -0.000993f, 0.024186f, -0.022262f, 0.002457f, 0.008192f, 0.010619f, -0.038102f, 0.024085f, 0.005971f, -0.027036f, -0.017886f, 0.013878f, 0.032147f, -0.012205f, -0.007076f, -0.023406f, 0.046375f, 0.017960f, 0.001817f, 0.007454f, -0.026110f, -0.016567f, -0.002282f, 0.001668f, 0.023336f, 0.004962f, 0.017641f, 0.020986f, -0.002329f, 0.000995f, 0.013404f, -0.004222f, -0.017378f, -0.015441f, -0.005450f, 0.020871f, -0.013080f, 0.026496f, -0.014142f, 0.039042f, 0.015625f, 0.031477f, -0.010493f, 0.004971f, 0.023385f, -0.019897f, 0.009717f, 0.011372f, 0.008533f, -0.011385f, 0.011158f, 0.003250f, 0.001803f, 0.011562f, 0.021487f, 0.020369f, -0.023458f, -0.004713f, 0.007568f, -0.019936f, -0.016047f, -0.005064f, -0.044684f, 0.011355f, -0.024185f, -0.012275f, -0.000242f, -0.004422f, 0.009436f, 0.027229f, 0.011631f, 0.012218f, -0.019951f, -0.000228f, -0.029219f, -0.043323f, 0.024096f, -0.017387f, 0.019834f, 0.006776f, 0.009821f, 0.011921f, -0.028965f, -0.053041f, 0.005162f, 0.008165f, 0.030556f, -0.029276f, -0.032145f, 0.028542f, -0.010800f, 0.013219f, -0.005716f, 0.007128f, 0.004886f, 0.007847f, + -0.014406f, 0.007601f, -0.001710f, -0.004209f, 0.019004f, 0.007374f, -0.002239f, -0.023685f, -0.002860f, -0.000252f, -0.004008f, -0.000711f, -0.012617f, -0.031556f, -0.013782f, 0.023930f, -0.009561f, 0.012024f, -0.017693f, 0.013882f, 0.007375f, 0.000202f, -0.008679f, -0.039245f, 0.022400f, 0.021739f, 0.027849f, -0.018710f, -0.007645f, 0.037658f, 0.033375f, 0.015636f, 0.007559f, 0.021467f, 0.008235f, 0.019328f, -0.009640f, 0.016837f, -0.030865f, -0.001584f, 0.009281f, -0.007773f, 0.037882f, 0.001836f, 0.020968f, -0.011819f, -0.019517f, 0.043494f, -0.000170f, 0.017436f, -0.005167f, 0.000907f, -0.050259f, -0.003751f, 0.011530f, -0.022904f, -0.029695f, -0.009325f, -0.007681f, -0.050197f, -0.047094f, -0.013097f, -0.000702f, 0.033727f, 0.027347f, 0.026944f, -0.011718f, -0.005532f, -0.007889f, 0.028819f, 0.011958f, -0.013586f, -0.003077f, -0.011043f, 0.020754f, 0.015689f, -0.013298f, -0.018547f, -0.016840f, -0.033829f, 0.012873f, -0.000194f, 0.000147f, 0.006028f, -0.005657f, 0.011286f, 0.045289f, -0.027341f, 0.013157f, 0.001598f, -0.018442f, -0.011320f, -0.021743f, 0.006818f, -0.010014f, -0.011765f, + 0.023212f, 0.001735f, -0.008545f, 0.022864f, -0.003835f, -0.011840f, 0.007850f, 0.016334f, -0.010152f, 0.017635f, 0.033454f, 0.031444f, -0.022736f, -0.001567f, 0.007834f, 0.017158f, -0.028564f, -0.007167f, -0.008001f, 0.033987f, 0.014935f, -0.005072f, -0.021417f, -0.025057f, -0.020979f, 0.030615f, 0.026755f, -0.051623f, -0.041418f, -0.032989f, -0.021364f, 0.006754f, -0.018373f, 0.011897f, 0.007009f, 0.005101f, 0.040066f, 0.031415f, 0.019321f, 0.002411f, -0.027116f, -0.014521f, -0.004616f, 0.010179f, 0.016412f, -0.024307f, 0.005673f, 0.000634f, -0.020502f, -0.010374f, 0.015805f, -0.012852f, 0.012515f, 0.004584f, 0.014812f, -0.019757f, -0.000367f, -0.042933f, 0.006018f, -0.054074f, 0.021567f, 0.020396f, -0.020778f, 0.023124f, 0.028835f, -0.000400f, 0.008122f, -0.035471f, 0.020045f, 0.000637f, -0.014248f, 0.017079f, -0.004407f, -0.001242f, -0.000331f, 0.000688f, 0.035731f, -0.005691f, 0.000014f, 0.042052f, -0.000333f, -0.022066f, -0.057712f, -0.049521f, 0.053070f, 0.030877f, 0.013264f, 0.011136f, -0.021846f, -0.046899f, -0.021580f, 0.004598f, -0.016753f, 0.032226f, -0.001448f, 0.001788f, + 0.038085f, -0.010812f, -0.011178f, -0.011847f, -0.023159f, -0.044013f, -0.031411f, 0.086709f, -0.043668f, -0.024962f, 0.026487f, -0.052085f, -0.033138f, 0.025183f, 0.045399f, 0.003601f, -0.011968f, 0.004094f, 0.010459f, -0.038006f, -0.028196f, -0.019899f, -0.034804f, -0.003751f, 0.031775f, -0.003028f, 0.006057f, 0.015251f, 0.009985f, -0.028220f, -0.013911f, -0.023455f, -0.012758f, 0.028439f, -0.009486f, -0.003921f, -0.004568f, 0.016931f, 0.017075f, 0.051868f, 0.007832f, 0.037961f, -0.002811f, 0.012272f, -0.021645f, -0.016718f, 0.013353f, -0.027701f, -0.030383f, 0.000110f, 0.008890f, -0.016219f, 0.011751f, -0.018864f, 0.004975f, -0.048162f, 0.025861f, 0.013758f, 0.021071f, 0.001657f, -0.019668f, -0.040626f, -0.014569f, -0.004650f, 0.032158f, -0.026020f, -0.015141f, 0.007864f, 0.074148f, -0.021935f, 0.075400f, -0.047919f, 0.017969f, -0.018665f, 0.032890f, -0.014837f, 0.057162f, -0.055898f, 0.082041f, -0.009781f, 0.016635f, 0.033416f, -0.061362f, 0.051905f, -0.065480f, 0.041023f, -0.106491f, 0.053952f, -0.054732f, 0.043637f, -0.071225f, 0.055682f, 0.002429f, 0.025910f, -0.032066f, -0.029006f, + 0.035206f, 0.060181f, -0.048627f, 0.076102f, -0.003665f, 0.000587f, -0.002170f, 0.013685f, -0.021719f, -0.015948f, -0.032897f, -0.006993f, 0.001843f, 0.000584f, 0.000596f, 0.030155f, 0.005860f, 0.032986f, 0.032629f, -0.019827f, 0.012511f, 0.068242f, 0.022966f, 0.014895f, 0.010980f, -0.058523f, 0.003804f, -0.009251f, -0.006568f, -0.053726f, -0.010608f, 0.031220f, 0.009569f, 0.010467f, 0.016405f, 0.039398f, 0.011055f, -0.012084f, -0.003232f, -0.003410f, 0.015528f, -0.026839f, -0.015681f, 0.040406f, 0.025948f, 0.018634f, 0.032115f, 0.022810f, -0.012924f, -0.007321f, -0.046088f, -0.021160f, 0.019713f, 0.014263f, 0.035974f, -0.026397f, -0.012091f, -0.010074f, 0.026507f, 0.013807f, 0.023773f, 0.007912f, -0.018113f, -0.019261f, 0.058631f, -0.020536f, -0.056774f, 0.009695f, 0.040731f, 0.023555f, -0.001674f, -0.011503f, 0.002841f, -0.001619f, -0.001279f, 0.016623f, -0.022118f, -0.118373f, 0.033990f, -0.013470f, -0.006626f, 0.030408f, -0.019319f, 0.032580f, -0.003340f, -0.050578f, -0.008576f, 0.006237f, 0.018998f, 0.024350f, 0.006176f, -0.035406f, 0.037063f, -0.012937f, -0.002569f, -0.021204f, + -0.009437f, 0.020833f, -0.003224f, 0.018766f, 0.029902f, -0.005337f, -0.037197f, 0.009861f, 0.042045f, -0.037110f, 0.014740f, 0.033749f, -0.005361f, -0.023958f, -0.047206f, -0.030534f, 0.034049f, 0.087847f, -0.026148f, -0.032664f, 0.097445f, -0.004585f, -0.013669f, 0.071686f, 0.040959f, 0.036579f, 0.028293f, 0.013426f, -0.020350f, 0.037468f, 0.033221f, 0.024811f, 0.010663f, -0.062162f, 0.040206f, 0.037685f, -0.067804f, -0.036991f, -0.024382f, -0.016673f, -0.018738f, 0.076449f, 0.036872f, -0.039795f, 0.039440f, -0.013012f, -0.039744f, 0.020045f, 0.019931f, -0.014494f, -0.017035f, -0.058854f, 0.006619f, 0.014227f, 0.044758f, 0.026246f, 0.003424f, -0.032026f, -0.130165f, 0.039664f, 0.073118f, -0.045788f, -0.009614f, -0.035731f, 0.075304f, 0.050276f, 0.031758f, -0.006510f, -0.026433f, 0.004871f, 0.030372f, 0.013551f, -0.013121f, -0.003547f, 0.041615f, -0.003460f, -0.015270f, -0.056515f, -0.026344f, 0.046153f, 0.027430f, -0.030583f, 0.023876f, -0.022480f, -0.006663f, 0.013013f, 0.013398f, -0.014113f, 0.008730f, -0.050124f, 0.014188f, 0.064672f, -0.008174f, -0.014349f, -0.064669f, -0.040607f, + 0.031734f, -0.052915f, -0.027550f, 0.009856f, 0.013299f, -0.017839f, 0.042827f, 0.037981f, -0.041039f, 0.013094f, 0.023357f, 0.064015f, 0.061292f, -0.012394f, 0.020281f, -0.004621f, 0.070049f, 0.027028f, 0.028624f, 0.062472f, -0.029127f, -0.047078f, -0.021728f, -0.059573f, 0.046975f, 0.017165f, 0.023172f, 0.006727f, 0.079501f, -0.058385f, -0.011707f, 0.026902f, -0.018026f, 0.029636f, -0.000883f, -0.004450f, 0.019089f, -0.053102f, 0.032865f, 0.054022f, 0.047434f, 0.048887f, 0.062013f, -0.031440f, 0.049365f, -0.088660f, -0.037431f, 0.037441f, 0.010724f, 0.069655f, 0.032965f, 0.059860f, -0.022346f, 0.010476f, -0.047037f, 0.036536f, 0.057786f, 0.053412f, 0.007432f, 0.038776f, -0.085507f, -0.054095f, 0.056818f, 0.019025f, -0.052476f, -0.025087f, 0.008938f, 0.083800f, 0.027089f, -0.029486f, -0.039182f, 0.011555f, -0.009916f, 0.052961f, 0.055630f, -0.001812f, -0.006586f, 0.014168f, -0.013093f, 0.067701f, 0.020482f, -0.011506f, 0.014954f, -0.026721f, -0.016075f, -0.139720f, -0.046797f, 0.029576f, -0.020456f, -0.017397f, 0.001305f, -0.021682f, -0.023921f, 0.070186f, 0.046083f, -0.028609f, + 0.062110f, 0.129151f, 0.027741f, 0.093588f, 0.014521f, 0.023261f, 0.067450f, 0.048545f, -0.032321f, -0.033663f, -0.066805f, -0.036779f, -0.000835f, -0.061371f, 0.030466f, 0.000862f, -0.059642f, -0.035085f, -0.034694f, 0.002265f, 0.060283f, -0.002789f, 0.051783f, -0.027845f, 0.016453f, -0.103656f, 0.033785f, -0.012977f, 0.058689f, -0.010447f, -0.060233f, 0.067523f, -0.020373f, 0.012995f, 0.040478f, 0.030489f, 0.062812f, -0.005928f, 0.012944f, -0.008190f, 0.071174f, -0.011289f, 0.016843f, 0.049693f, -0.049728f, 0.049000f, -0.009264f, 0.031058f, 0.049011f, -0.009226f, 0.014403f, 0.010259f, 0.009054f, -0.011690f, 0.024437f, 0.022033f, -0.003287f, -0.023621f, -0.000176f, -0.028014f, -0.005274f, -0.003244f, 0.029901f, -0.010318f, -0.043850f, -0.029582f, 0.056354f, 0.054438f, -0.044017f, -0.038648f, 0.066673f, 0.074777f, -0.022699f, -0.004749f, 0.057464f, 0.004503f, 0.032273f, 0.040297f, -0.081983f, -0.023539f, -0.000231f, 0.087179f, 0.013650f, -0.003721f, -0.077402f, 0.018860f, 0.039049f, 0.023756f, 0.009545f, 0.024678f, 0.015696f, 0.013691f, 0.114402f, -0.001532f, 0.016239f, 0.061932f, + 0.060897f, -0.104794f, -0.007909f, -0.088681f, -0.082517f, 0.020111f, 0.016376f, 0.014610f, 0.001119f, 0.077468f, 0.043300f, 0.099893f, 0.108473f, -0.012195f, -0.055048f, 0.011376f, -0.015880f, -0.010006f, 0.022407f, 0.010689f, -0.010202f, -0.050280f, -0.056665f, 0.060005f, 0.026026f, -0.006491f, 0.007467f, 0.010108f, 0.003701f, 0.011478f, -0.007540f, -0.013763f, -0.083542f, 0.002419f, 0.044688f, -0.013008f, -0.065081f, -0.019819f, 0.049247f, -0.094849f, -0.035409f, 0.061518f, 0.034022f, 0.073371f, -0.004846f, 0.006451f, -0.069567f, -0.066033f, -0.087856f, 0.072786f, 0.097882f, -0.131659f, -0.069754f, -0.005350f, 0.064037f, -0.051085f, -0.012404f, 0.123989f, 0.045655f, 0.032992f, 0.076564f, 0.061225f, 0.084194f, -0.029715f, 0.083377f, -0.010920f, -0.074405f, -0.099044f, -0.029473f, 0.041975f, -0.086710f, -0.012465f, 0.010726f, -0.013201f, -0.035566f, 0.021978f, -0.077599f, 0.059177f, -0.005378f, 0.017851f, 0.022711f, 0.021952f, 0.000411f, -0.026403f, 0.041900f, 0.010216f, 0.040438f, -0.009143f, -0.086741f, -0.008234f, 0.024659f, -0.028809f, -0.031937f, -0.019770f, -0.029454f, 0.034812f, + -0.009329f, -0.031134f, -0.002019f, 0.032345f, -0.044297f, 0.030424f, -0.015535f, 0.015986f, -0.043625f, -0.011238f, 0.017342f, -0.004157f, -0.004227f, 0.004915f, 0.024132f, -0.004760f, -0.004142f, -0.030767f, 0.014923f, -0.008785f, 0.004708f, 0.008904f, 0.003041f, 0.021986f, -0.033022f, -0.025624f, 0.034349f, 0.029196f, -0.041386f, 0.019168f, -0.033433f, 0.037952f, -0.032271f, 0.013947f, 0.009964f, -0.027918f, 0.060592f, 0.005242f, -0.067210f, 0.030353f, 0.008355f, -0.052817f, 0.029520f, -0.019919f, 0.031546f, -0.046032f, 0.023769f, -0.048808f, 0.022804f, 0.032934f, -0.029578f, 0.016429f, -0.030834f, -0.000207f, 0.004421f, 0.002055f, 0.014145f, -0.042098f, -0.231169f, -0.398456f, -0.147947f, -0.314023f, -0.310886f, 0.131760f, 0.009054f, 0.192345f, 0.463806f, 0.415638f, 0.336677f, 0.416329f, 0.245885f, 0.037111f, 0.061639f, -0.085411f, -0.349035f, -0.345209f, -0.264003f, -0.335968f, -0.237430f, -0.067059f, -0.167484f, -0.222475f, -0.109178f, -0.047285f, -0.126158f, -0.071564f, -0.024037f, -0.073881f, -0.114324f, -0.002202f, 0.058386f, -0.048465f, 0.089658f, 0.144601f, -0.016882f, 0.011256f, + 0.203470f, 0.090726f, -0.018813f, 0.190105f, 0.152001f, -0.059587f, 0.062178f, 0.177356f, -0.022207f, -0.001890f, 0.258981f, 0.131575f, 0.045034f, 0.318583f, 0.353022f, 0.166619f, 0.335221f, 0.421561f, 0.101376f, 0.047246f, 0.166506f, -0.079373f, -0.218144f, -0.128078f, -0.277971f, -0.486486f, -0.483974f, -0.545019f, -0.725272f, -0.724235f, -0.690894f, -0.697735f, -0.615231f, -0.506852f, -0.382700f, -0.196101f, 0.001719f, 0.322431f, 0.383469f, 0.258023f} + }, + { + {0.013548f, -0.006997f, 0.003290f, -0.000917f, 0.001273f, -0.001926f, 0.006944f, 0.010525f, -0.005045f, 0.003679f, -0.001194f, 0.003670f, -0.004751f, -0.000556f, 0.002762f, -0.006361f, -0.006367f, 0.002066f, 0.003341f, -0.007454f, 0.003414f, -0.004137f, -0.005592f, 0.000365f, -0.002932f, -0.005570f, -0.007021f, -0.001256f, 0.005896f, -0.001273f, 0.002242f, 0.003896f, 0.002182f, 0.002802f, 0.003312f, 0.002856f, 0.006833f, -0.010079f, 0.002622f, -0.006562f, 0.003667f, 0.007104f, 0.000429f, -0.001520f, -0.006127f, 0.002419f, -0.001036f, 0.001077f, 0.002160f, 0.001185f, -0.002412f, -0.005300f, -0.003939f, -0.006843f, 0.001451f, 0.000007f, 0.000838f, 0.003220f, 0.004436f, 0.001317f, 0.007887f, 0.000451f, -0.004923f, 0.005366f, -0.001514f, -0.001001f, -0.001678f, -0.007289f, 0.006305f, 0.003100f, 0.005528f, -0.006518f, -0.010567f, -0.003182f, 0.004674f, 0.003495f, -0.005450f, -0.015743f, 0.001800f, 0.010441f, 0.003611f, 0.006817f, -0.009820f, -0.005376f, 0.000512f, -0.001715f, 0.002717f, 0.008264f, -0.019725f, -0.000112f, 0.006585f, 0.003932f, 0.006079f, -0.005713f, -0.007917f, 0.008667f, + -0.000057f, 0.002422f, 0.005487f, 0.007165f, 0.002738f, 0.001495f, 0.006542f, -0.000956f, -0.001956f, -0.005574f, 0.003109f, -0.001581f, -0.000790f, -0.002910f, 0.003823f, 0.009393f, 0.000166f, -0.001990f, 0.004564f, -0.006065f, -0.008877f, -0.005030f, -0.001683f, -0.005902f, 0.000678f, -0.001416f, 0.003944f, -0.003722f, 0.001218f, -0.007399f, -0.000529f, -0.006111f, -0.000103f, -0.002863f, -0.002182f, 0.002941f, -0.003266f, -0.000492f, 0.005170f, -0.002761f, 0.006137f, 0.006977f, 0.000768f, 0.009467f, -0.004682f, -0.000569f, 0.004912f, -0.001953f, 0.003432f, 0.004064f, 0.002716f, -0.005494f, 0.002378f, 0.001816f, 0.002052f, -0.000383f, -0.003796f, 0.025978f, -0.007706f, 0.002240f, -0.006014f, -0.000763f, -0.002678f, 0.002728f, 0.001756f, 0.008706f, 0.002485f, 0.001271f, 0.003206f, -0.002488f, -0.018434f, -0.017685f, -0.005708f, 0.002005f, 0.005039f, -0.004729f, 0.000712f, -0.005973f, -0.002293f, -0.000047f, 0.002801f, -0.008043f, -0.008668f, -0.002824f, -0.000812f, 0.004177f, 0.001213f, -0.002242f, -0.006333f, 0.000705f, -0.003612f, -0.000201f, 0.003965f, -0.006526f, 0.002677f, 0.005070f, + -0.004540f, -0.011681f, -0.003220f, 0.003689f, -0.000947f, 0.002906f, -0.000827f, 0.002446f, -0.000801f, 0.002716f, 0.000340f, -0.010997f, 0.001794f, 0.003819f, -0.001944f, 0.002410f, 0.000213f, -0.001144f, -0.002371f, -0.000456f, -0.006490f, -0.001149f, -0.001996f, -0.008466f, -0.001620f, -0.000930f, 0.006645f, -0.007622f, 0.011116f, 0.012487f, 0.010126f, -0.005457f, -0.002506f, -0.003473f, 0.004630f, -0.003198f, -0.003479f, 0.001337f, -0.024600f, 0.000024f, -0.003632f, 0.001894f, -0.000662f, -0.012653f, -0.002258f, -0.002531f, 0.004212f, 0.006414f, -0.008387f, 0.007038f, -0.001978f, 0.004902f, 0.004962f, -0.002410f, 0.010539f, 0.000799f, 0.000682f, -0.001622f, 0.002022f, -0.002393f, 0.002140f, -0.002709f, 0.000627f, -0.006571f, 0.000973f, 0.007607f, 0.000256f, 0.003306f, 0.008094f, -0.007521f, -0.007842f, 0.003567f, -0.003405f, 0.006449f, -0.006046f, -0.001724f, -0.012949f, -0.010021f, -0.008543f, 0.004064f, 0.001463f, 0.004916f, -0.004480f, -0.003213f, -0.000654f, 0.008537f, -0.008838f, 0.004031f, 0.001980f, 0.000929f, 0.005056f, -0.002953f, -0.003804f, -0.005263f, 0.003811f, 0.002089f, + -0.007687f, -0.008659f, -0.009956f, 0.000030f, -0.001740f, 0.003759f, 0.000056f, -0.001578f, 0.001540f, 0.001832f, 0.005267f, -0.011993f, 0.002187f, 0.007628f, 0.011226f, 0.011419f, 0.009680f, -0.000835f, -0.005796f, -0.013152f, 0.010313f, -0.006348f, 0.012037f, 0.015273f, 0.010022f, 0.001177f, 0.005468f, 0.002281f, 0.012753f, -0.004897f, -0.004923f, 0.004610f, -0.000403f, 0.006019f, 0.010129f, -0.011218f, 0.005337f, 0.012621f, 0.006665f, 0.000533f, 0.001258f, 0.002718f, -0.003885f, 0.001273f, -0.003591f, -0.005547f, -0.000435f, 0.012050f, -0.002636f, 0.006335f, -0.002322f, -0.005150f, 0.014187f, -0.009772f, 0.009991f, 0.010786f, 0.003271f, 0.007355f, -0.006841f, -0.000855f, -0.001836f, -0.001193f, 0.007417f, 0.003230f, -0.007419f, 0.002886f, 0.000627f, 0.003137f, -0.000409f, 0.004668f, 0.004607f, 0.012142f, -0.009592f, 0.006873f, 0.005835f, 0.000397f, 0.005845f, 0.002723f, 0.008234f, 0.007711f, 0.005618f, -0.001997f, 0.007017f, 0.010875f, 0.001634f, 0.007104f, -0.001945f, 0.012701f, 0.013375f, 0.014241f, -0.001324f, -0.006707f, 0.005251f, 0.000992f, 0.007134f, 0.006093f, + 0.020275f, -0.001862f, -0.006403f, 0.019346f, -0.007722f, 0.008740f, -0.004767f, -0.018357f, 0.003137f, -0.005179f, 0.000397f, 0.022285f, -0.008787f, -0.010280f, 0.000596f, 0.011857f, -0.019000f, -0.006685f, 0.013714f, -0.004642f, 0.004175f, 0.006963f, -0.005409f, 0.006400f, -0.004355f, -0.006089f, 0.000824f, -0.001398f, -0.002799f, -0.001937f, 0.007256f, -0.005772f, 0.014622f, 0.004333f, -0.000334f, -0.008165f, -0.003305f, 0.009926f, -0.011458f, 0.002926f, 0.002880f, -0.000977f, -0.015792f, 0.010932f, 0.001763f, 0.003288f, 0.000303f, -0.001227f, 0.006599f, -0.003691f, 0.009344f, 0.006919f, -0.005356f, -0.017182f, 0.006719f, 0.005921f, -0.001927f, -0.004033f, 0.002789f, 0.012915f, 0.010171f, -0.000037f, 0.005143f, -0.009353f, 0.005688f, -0.000433f, -0.006026f, 0.006224f, 0.006597f, -0.004728f, 0.006128f, 0.003577f, -0.007371f, -0.000994f, 0.003111f, -0.003538f, 0.011420f, 0.007544f, 0.006850f, 0.019881f, 0.003345f, -0.003998f, -0.023543f, 0.008348f, 0.014667f, 0.009086f, 0.006251f, -0.001247f, 0.007885f, 0.027333f, -0.002371f, 0.013064f, 0.002059f, 0.007663f, 0.003478f, 0.001292f, + 0.006190f, -0.001414f, -0.010455f, -0.002363f, -0.007541f, -0.001388f, -0.010992f, 0.005091f, 0.001248f, 0.014721f, 0.003636f, -0.005670f, 0.005518f, -0.001170f, -0.002475f, 0.009725f, 0.004140f, 0.007473f, 0.004843f, -0.003044f, -0.014564f, 0.001771f, 0.010007f, 0.000197f, -0.001987f, 0.004869f, -0.007198f, -0.002669f, -0.013441f, -0.017093f, 0.010330f, 0.011170f, 0.009140f, -0.001694f, -0.001853f, 0.000983f, 0.000814f, 0.006147f, 0.000232f, 0.006663f, 0.006368f, 0.000715f, 0.006564f, -0.004072f, 0.002700f, -0.001697f, 0.004481f, 0.004852f, 0.018199f, 0.001046f, 0.015207f, -0.004121f, -0.012657f, -0.000159f, -0.000327f, -0.004146f, 0.012869f, 0.000672f, 0.008863f, -0.021527f, -0.000643f, 0.022142f, 0.030333f, -0.012453f, 0.003434f, 0.004953f, -0.010505f, -0.005977f, 0.001188f, -0.008600f, -0.009166f, 0.021390f, 0.002926f, -0.013855f, -0.002299f, -0.008956f, -0.005305f, 0.014026f, -0.004431f, -0.005860f, 0.012399f, 0.008000f, 0.012508f, -0.005086f, 0.002448f, 0.012641f, 0.000368f, -0.007092f, 0.003182f, -0.000738f, 0.001319f, -0.015273f, -0.010896f, 0.005042f, -0.001382f, 0.004110f, + -0.014685f, 0.007165f, 0.004939f, 0.003794f, -0.025718f, -0.014401f, -0.006814f, -0.002700f, 0.003188f, -0.010599f, -0.007874f, 0.003001f, 0.018947f, 0.013349f, 0.006351f, -0.002881f, -0.002715f, -0.006763f, 0.004982f, -0.001515f, -0.015073f, -0.010345f, -0.002087f, 0.000453f, 0.019533f, 0.011991f, -0.011016f, -0.010528f, 0.013039f, 0.003595f, -0.009685f, 0.000904f, 0.011243f, 0.005652f, -0.001325f, -0.015556f, 0.015892f, -0.005474f, 0.008631f, 0.003807f, 0.004538f, -0.005490f, 0.009355f, -0.011089f, 0.013479f, -0.000825f, -0.003158f, 0.007340f, -0.012832f, 0.004890f, 0.007592f, 0.001823f, 0.005426f, 0.006615f, -0.003179f, 0.014969f, -0.006467f, -0.024524f, -0.014411f, -0.002896f, 0.001384f, -0.004894f, -0.010227f, -0.011253f, -0.007480f, 0.024847f, -0.006368f, -0.001541f, 0.003958f, -0.004690f, 0.003353f, 0.020465f, -0.009216f, 0.009928f, -0.005813f, -0.012492f, 0.012011f, 0.008764f, 0.005793f, 0.018408f, 0.000874f, 0.008903f, -0.000307f, 0.002591f, -0.000213f, -0.005451f, 0.004465f, -0.000898f, 0.013544f, 0.003092f, -0.008445f, -0.001801f, -0.002041f, -0.000083f, -0.014063f, 0.006444f, + -0.013832f, 0.004104f, 0.020032f, -0.012016f, -0.023608f, 0.006330f, 0.004064f, 0.011897f, -0.004163f, 0.000640f, 0.012184f, -0.006005f, 0.006493f, 0.009574f, 0.003422f, -0.003556f, 0.012507f, 0.004612f, 0.016067f, -0.018631f, 0.045316f, -0.009732f, 0.020761f, 0.002558f, 0.009096f, 0.006713f, 0.000624f, -0.024354f, 0.022027f, -0.030535f, 0.010848f, 0.008097f, 0.028865f, -0.012563f, 0.013441f, -0.019238f, 0.013741f, -0.005840f, -0.020554f, -0.009674f, 0.005840f, 0.006012f, 0.008624f, 0.004496f, 0.012053f, 0.007855f, 0.017853f, -0.004785f, -0.013074f, -0.012084f, 0.005758f, 0.000295f, -0.006002f, 0.011807f, 0.005860f, -0.001934f, 0.007692f, 0.014467f, -0.000381f, 0.003997f, -0.001174f, 0.007289f, 0.005048f, -0.017750f, -0.006885f, -0.023380f, -0.004463f, -0.003792f, 0.000451f, 0.011531f, 0.011116f, 0.001645f, -0.005491f, -0.000035f, -0.002498f, -0.005571f, 0.004239f, 0.033243f, 0.004100f, -0.000808f, 0.011708f, -0.000951f, 0.013280f, -0.005438f, 0.001351f, -0.008232f, 0.034594f, 0.007422f, -0.012461f, -0.016270f, -0.009216f, 0.000599f, 0.000555f, -0.022134f, 0.002349f, 0.004299f, + 0.001866f, 0.023033f, 0.001742f, 0.019097f, 0.011539f, 0.018694f, 0.006159f, -0.019662f, 0.018703f, -0.012751f, 0.032528f, -0.021586f, -0.006415f, -0.029719f, -0.006316f, -0.003614f, 0.012881f, -0.014150f, 0.018977f, 0.014802f, -0.009351f, 0.000459f, 0.021749f, 0.030041f, -0.009837f, 0.000063f, -0.004050f, 0.008867f, 0.000120f, -0.004399f, 0.004441f, 0.007557f, -0.014637f, 0.010121f, 0.002111f, 0.011679f, 0.004854f, 0.000893f, -0.024961f, -0.005147f, 0.029046f, -0.004652f, 0.009758f, 0.020973f, 0.006476f, -0.003075f, -0.007697f, -0.011685f, -0.006065f, -0.000529f, -0.009462f, -0.007381f, 0.016884f, 0.013755f, 0.004948f, 0.023882f, 0.017214f, -0.007499f, -0.002521f, 0.001256f, 0.006023f, -0.010384f, -0.020560f, 0.024095f, 0.011804f, -0.008564f, 0.024508f, 0.022257f, 0.028503f, 0.008503f, 0.004094f, -0.014936f, 0.000334f, -0.019994f, -0.012355f, -0.014332f, -0.030188f, 0.025154f, 0.001098f, 0.004252f, -0.004246f, 0.001685f, -0.003684f, -0.039177f, 0.004088f, -0.000821f, -0.007366f, -0.003347f, -0.019443f, 0.021377f, 0.022002f, 0.024569f, -0.041063f, 0.012627f, 0.007993f, 0.000503f, + 0.039676f, 0.015929f, -0.020375f, -0.002878f, 0.039147f, 0.004101f, 0.006611f, 0.007485f, -0.012098f, 0.005993f, 0.007677f, 0.023937f, 0.011974f, -0.019471f, -0.031447f, 0.010995f, 0.006780f, -0.016322f, -0.003512f, 0.000732f, -0.019626f, 0.001354f, 0.022556f, 0.009029f, 0.012312f, 0.017950f, 0.029787f, 0.001933f, 0.026089f, 0.004301f, -0.011552f, -0.002631f, -0.016868f, -0.009479f, 0.005622f, 0.007880f, 0.005823f, 0.012202f, -0.020412f, -0.010072f, 0.032852f, -0.004080f, -0.008980f, -0.020843f, 0.014412f, 0.012865f, 0.002962f, 0.004070f, -0.002798f, 0.007074f, -0.017976f, 0.021688f, -0.016205f, -0.018048f, -0.017094f, -0.012849f, 0.025263f, 0.000455f, -0.009608f, 0.035913f, 0.042312f, -0.011189f, 0.011721f, -0.003410f, -0.012668f, 0.002142f, -0.028720f, -0.017954f, -0.001441f, -0.006093f, 0.056923f, -0.026060f, 0.007161f, -0.036661f, -0.005458f, 0.021737f, -0.009414f, -0.020613f, -0.021274f, -0.008186f, 0.008666f, 0.010824f, -0.001467f, -0.002291f, -0.023838f, 0.005122f, 0.016665f, 0.007904f, 0.010239f, 0.002514f, 0.003771f, -0.014458f, -0.004483f, 0.008742f, 0.003515f, -0.000628f, + 0.001176f, -0.017401f, 0.007623f, -0.018308f, -0.002680f, -0.001156f, 0.005347f, -0.020319f, -0.001771f, 0.008846f, 0.014346f, -0.023126f, -0.011391f, 0.038802f, -0.014873f, -0.032147f, 0.026672f, -0.026377f, -0.007565f, -0.012261f, -0.004063f, -0.020606f, -0.012982f, -0.005272f, -0.019045f, -0.029350f, 0.045962f, 0.023569f, 0.020953f, 0.012226f, -0.016708f, -0.008689f, -0.010861f, 0.010556f, -0.020134f, 0.012355f, -0.009915f, 0.002581f, -0.003535f, 0.058082f, -0.028532f, 0.024258f, -0.055193f, 0.012949f, -0.035706f, -0.008141f, 0.017248f, -0.003471f, 0.010448f, 0.018067f, 0.014144f, -0.025124f, 0.015698f, 0.001778f, 0.011165f, -0.006836f, 0.016153f, 0.014710f, -0.005335f, 0.001629f, 0.009041f, 0.010245f, -0.018859f, -0.007764f, -0.026728f, -0.004981f, 0.020394f, -0.001301f, -0.012176f, 0.000366f, 0.006484f, -0.000380f, -0.010796f, -0.019796f, 0.002861f, -0.014032f, 0.009865f, -0.013383f, 0.040876f, -0.005990f, -0.024826f, -0.028132f, 0.004205f, -0.016377f, 0.011714f, -0.031347f, -0.024611f, -0.031835f, 0.005155f, -0.027233f, -0.007691f, -0.038190f, 0.024069f, 0.003136f, 0.015624f, 0.008525f, + -0.040636f, 0.000791f, -0.005241f, -0.016777f, -0.023537f, -0.008162f, -0.020361f, -0.025557f, -0.014805f, 0.008648f, 0.013354f, 0.020290f, -0.015121f, 0.001191f, 0.007184f, -0.034270f, 0.011875f, -0.023097f, -0.049211f, -0.013801f, 0.056683f, 0.050117f, 0.028581f, -0.023418f, 0.025323f, 0.037554f, -0.023687f, 0.033194f, -0.025519f, 0.030643f, 0.008037f, -0.001638f, 0.010911f, -0.000306f, 0.016897f, -0.023573f, -0.005748f, -0.010518f, 0.013193f, -0.022429f, -0.019210f, 0.031983f, -0.001898f, -0.006530f, 0.004223f, -0.030709f, 0.000580f, 0.049480f, 0.028297f, 0.005569f, 0.000895f, 0.010427f, 0.048236f, 0.019804f, 0.002190f, 0.007649f, -0.011421f, -0.005869f, -0.009554f, 0.019736f, -0.008765f, 0.012982f, 0.004271f, 0.023495f, -0.026655f, -0.001212f, 0.000185f, 0.000031f, -0.006035f, 0.012612f, 0.023672f, -0.005983f, -0.003930f, 0.020771f, 0.004842f, 0.001577f, 0.051845f, 0.006514f, 0.003353f, -0.023996f, 0.012887f, -0.018349f, 0.026035f, -0.028114f, -0.019870f, 0.001735f, -0.019026f, -0.026677f, -0.032889f, 0.007913f, -0.006630f, 0.017142f, 0.001812f, 0.008636f, -0.040089f, 0.040178f, + -0.065395f, 0.025427f, 0.026610f, -0.046938f, -0.006008f, -0.040442f, -0.014218f, -0.036473f, -0.017170f, 0.038542f, -0.015034f, -0.004441f, -0.029469f, -0.006992f, 0.005161f, -0.043278f, -0.002920f, 0.025088f, -0.052809f, 0.000302f, -0.036454f, -0.020605f, -0.000556f, 0.002161f, -0.024553f, -0.020373f, -0.020767f, -0.007309f, -0.018020f, -0.002787f, 0.007715f, -0.006798f, 0.011853f, -0.026895f, -0.017240f, 0.031792f, -0.016919f, 0.016367f, -0.021187f, 0.017068f, 0.016113f, 0.001069f, 0.003420f, 0.015699f, -0.000367f, 0.023149f, 0.030576f, -0.008002f, 0.003494f, 0.045160f, 0.001581f, 0.022150f, -0.002945f, -0.020971f, -0.038491f, 0.004003f, 0.024564f, -0.043413f, -0.000792f, -0.026589f, -0.014080f, -0.055822f, 0.021556f, 0.032448f, -0.010753f, 0.014046f, -0.010335f, 0.035089f, 0.040391f, -0.006873f, -0.044126f, -0.044646f, 0.055298f, -0.049793f, 0.013158f, 0.002109f, 0.012103f, 0.069838f, 0.078729f, -0.004325f, -0.058642f, 0.058618f, -0.064119f, 0.009339f, 0.027888f, 0.006992f, -0.006381f, -0.029629f, 0.034122f, -0.014885f, -0.011423f, -0.030242f, -0.017014f, -0.009392f, -0.037207f, -0.020807f, + -0.016222f, -0.009474f, -0.005478f, 0.026270f, 0.000400f, 0.022666f, 0.000994f, -0.009937f, -0.032316f, -0.036497f, -0.008274f, -0.001513f, 0.000462f, -0.005746f, -0.012595f, -0.015973f, 0.018434f, 0.041556f, -0.021659f, 0.014063f, -0.013062f, -0.015045f, 0.017828f, -0.016674f, -0.025021f, 0.058270f, -0.005180f, 0.004840f, 0.004260f, -0.033467f, -0.005779f, -0.007580f, 0.018166f, -0.043190f, -0.017195f, 0.044039f, 0.008898f, -0.020011f, 0.026166f, 0.044584f, -0.024068f, -0.033270f, 0.018683f, -0.028512f, 0.002562f, -0.052410f, 0.018718f, 0.041699f, -0.002014f, 0.020703f, 0.015793f, 0.005317f, 0.052482f, 0.012783f, 0.002633f, 0.024715f, 0.001146f, -0.096543f, -0.068017f, 0.026649f, -0.029555f, -0.027853f, -0.082365f, -0.024579f, 0.016005f, 0.005539f, -0.017276f, -0.046240f, -0.001901f, 0.021731f, -0.003009f, 0.001991f, 0.022331f, 0.040960f, -0.037855f, 0.094669f, -0.026038f, -0.032867f, -0.011092f, -0.006438f, -0.001001f, -0.038941f, -0.000594f, -0.007700f, 0.018743f, -0.013812f, 0.027118f, -0.012853f, -0.025904f, 0.009006f, 0.010232f, -0.022728f, 0.022144f, -0.073891f, -0.001063f, -0.006775f, + 0.027427f, 0.034274f, -0.027226f, 0.031917f, -0.014379f, 0.008499f, -0.017526f, -0.006133f, -0.011546f, 0.025411f, -0.005480f, 0.033745f, 0.051976f, -0.047830f, -0.015277f, 0.024557f, -0.033915f, 0.018393f, -0.038344f, -0.020627f, -0.020417f, -0.021839f, -0.039410f, -0.019601f, 0.014228f, 0.013202f, 0.025015f, 0.035740f, 0.023051f, -0.045232f, 0.001534f, 0.007014f, 0.005816f, 0.007159f, 0.022371f, -0.017481f, 0.011054f, -0.022100f, -0.067155f, 0.046690f, -0.085317f, 0.056073f, -0.010568f, -0.039530f, -0.033889f, -0.037789f, -0.026127f, -0.021076f, -0.000347f, 0.040381f, -0.005581f, -0.038364f, 0.036041f, 0.051545f, -0.085010f, -0.024676f, 0.003731f, -0.009420f, -0.014973f, -0.006743f, -0.013523f, -0.017363f, -0.026107f, 0.028114f, -0.012770f, -0.025715f, -0.041423f, -0.041949f, 0.036704f, 0.007302f, -0.008998f, -0.007075f, -0.001871f, -0.011492f, -0.012412f, 0.005637f, -0.036585f, 0.015994f, 0.037658f, 0.026532f, 0.016567f, 0.034717f, 0.042083f, -0.028289f, 0.007564f, -0.039424f, 0.037503f, -0.025630f, -0.008208f, -0.003429f, -0.059006f, 0.015335f, 0.045478f, 0.004721f, -0.021043f, -0.019122f, + 0.060059f, -0.028236f, -0.028178f, 0.013860f, -0.064372f, -0.010821f, -0.032560f, -0.002116f, -0.062695f, 0.022291f, 0.009769f, 0.021941f, -0.100236f, -0.088405f, 0.014532f, -0.031333f, -0.017136f, 0.009749f, 0.077583f, -0.098184f, 0.108112f, 0.034745f, 0.000470f, 0.012800f, -0.071202f, 0.019782f, 0.039237f, -0.008912f, 0.092580f, -0.020909f, 0.042242f, -0.026806f, 0.101552f, 0.000964f, -0.009314f, -0.032811f, -0.009839f, 0.018870f, -0.006033f, 0.044294f, 0.034565f, -0.005645f, 0.006440f, -0.033613f, 0.018450f, 0.044118f, 0.043528f, -0.038334f, 0.021916f, -0.003535f, 0.046233f, -0.006397f, 0.031398f, -0.020442f, -0.016283f, -0.052457f, 0.007731f, -0.031211f, -0.050193f, 0.082182f, -0.030142f, -0.001191f, -0.010705f, -0.012719f, 0.014344f, 0.012167f, 0.031151f, -0.006870f, 0.045774f, 0.010005f, 0.079824f, 0.035289f, 0.088028f, 0.077550f, -0.002649f, 0.054153f, 0.040961f, -0.005749f, 0.047594f, 0.065127f, -0.019853f, -0.050826f, 0.038529f, 0.028920f, 0.053476f, 0.032180f, 0.001950f, 0.007538f, -0.054421f, 0.002648f, -0.008848f, -0.013299f, 0.096125f, 0.003866f, 0.034463f, 0.033463f, + -0.069782f, 0.138885f, -0.016892f, -0.013653f, -0.007000f, 0.101438f, -0.059534f, 0.051645f, -0.065323f, 0.065146f, 0.014713f, -0.010898f, 0.003494f, 0.038739f, -0.014113f, 0.036192f, -0.014217f, 0.001117f, 0.072092f, 0.022910f, -0.015981f, 0.001096f, 0.019519f, 0.015098f, -0.065999f, 0.019448f, -0.022716f, -0.004915f, -0.033760f, 0.035901f, 0.035085f, 0.006331f, 0.017780f, 0.059723f, -0.017251f, -0.092081f, 0.024499f, 0.062146f, -0.021424f, -0.060215f, 0.018546f, 0.044764f, 0.017082f, 0.001055f, -0.071110f, -0.034223f, -0.041146f, 0.041782f, 0.018899f, 0.043007f, -0.086037f, 0.006621f, -0.013940f, -0.096711f, -0.022956f, 0.015356f, 0.046599f, 0.062545f, -0.030411f, 0.115992f, 0.024659f, 0.003145f, -0.021474f, -0.045118f, -0.029967f, 0.023093f, -0.051286f, 0.110012f, -0.032934f, 0.006478f, 0.065542f, -0.039627f, 0.040086f, -0.037557f, -0.023218f, 0.095934f, -0.032566f, -0.080489f, 0.046272f, 0.029620f, 0.046317f, -0.018266f, -0.012796f, 0.018738f, 0.000456f, 0.005359f, 0.002081f, 0.009120f, 0.002569f, -0.012712f, 0.060018f, -0.013964f, -0.040620f, 0.017281f, -0.000578f, -0.036309f, + 0.013137f, 0.008194f, 0.025172f, -0.016895f, -0.026757f, 0.029193f, -0.023010f, -0.003514f, -0.006350f, 0.023844f, -0.040931f, 0.013868f, -0.025067f, 0.020726f, -0.035879f, 0.012614f, -0.011433f, 0.005846f, 0.081395f, -0.055855f, 0.011466f, 0.017155f, -0.048851f, 0.017507f, 0.024075f, -0.037592f, -0.006561f, -0.014825f, 0.068128f, 0.004931f, -0.076143f, 0.045606f, -0.061240f, 0.010606f, 0.033804f, -0.030838f, 0.038544f, -0.045670f, -0.035393f, 0.050043f, -0.006977f, 0.020766f, -0.074479f, 0.013422f, 0.018408f, -0.004892f, -0.009690f, -0.001426f, 0.033222f, 0.000489f, -0.098905f, 0.060996f, -0.003486f, 0.023654f, -0.023036f, -0.029556f, 0.102458f, 0.005234f, 0.034075f, -0.017315f, -0.203540f, -0.428395f, -0.173420f, -0.323505f, -0.393224f, 0.133832f, -0.005698f, 0.137415f, 0.533525f, 0.465626f, 0.263012f, 0.510669f, 0.282811f, 0.028610f, 0.173729f, 0.105666f, -0.198664f, -0.141220f, -0.044525f, -0.219301f, -0.264839f, -0.090322f, -0.136009f, -0.209874f, -0.055746f, -0.012642f, -0.266690f, -0.184279f, -0.031140f, -0.162765f, -0.210452f, -0.063088f, -0.104980f, -0.227485f, -0.046485f, 0.020542f, + -0.129249f, -0.098254f, 0.092180f, -0.035988f, -0.137931f, 0.026980f, 0.087146f, -0.067722f, 0.052840f, 0.196445f, -0.030594f, -0.052472f, 0.193727f, 0.104804f, -0.049299f, 0.325286f, 0.440098f, 0.276439f, 0.464917f, 0.697823f, 0.535909f, 0.513360f, 0.745839f, 0.650861f, 0.478885f, 0.590955f, 0.535874f, 0.349197f, 0.308019f, 0.177718f, -0.040048f, -0.207534f, -0.392995f, -0.554872f, -0.668770f, -0.827554f, -0.887498f, -0.903782f, -1.015445f, -0.782287f, -0.328791f, -0.239100f}, + {0.015411f, -0.004835f, 0.003598f, 0.002703f, -0.005164f, 0.006210f, 0.004807f, -0.001574f, 0.008486f, -0.000062f, 0.003607f, -0.012048f, 0.004522f, 0.004561f, -0.006273f, 0.012698f, 0.001577f, 0.006213f, -0.000874f, -0.001550f, 0.000757f, 0.008771f, 0.009662f, -0.009656f, -0.003025f, -0.004316f, 0.006311f, -0.003000f, -0.002298f, 0.001390f, -0.005192f, -0.008012f, 0.004325f, -0.007579f, 0.004329f, 0.004266f, 0.004248f, -0.000168f, 0.002384f, -0.000085f, 0.006220f, -0.002180f, 0.000959f, -0.006256f, -0.001556f, -0.011929f, -0.005601f, 0.001504f, 0.004265f, -0.000517f, 0.005970f, -0.000565f, 0.003038f, -0.007430f, 0.002075f, 0.003668f, 0.004347f, 0.001095f, -0.003381f, 0.000296f, -0.001629f, 0.002803f, 0.003272f, 0.001405f, -0.000289f, -0.002635f, -0.001525f, 0.006098f, -0.001585f, 0.002727f, 0.005248f, 0.003306f, -0.002841f, 0.006124f, 0.000130f, 0.001911f, -0.001890f, -0.013352f, 0.000381f, 0.010588f, 0.007286f, 0.007307f, 0.004615f, 0.002884f, -0.004168f, 0.000127f, -0.004740f, 0.011309f, 0.006969f, 0.002682f, 0.001674f, 0.001592f, -0.000103f, -0.003641f, 0.005617f, 0.007751f, + 0.007556f, 0.004537f, -0.005655f, -0.008306f, -0.008955f, -0.008633f, -0.000825f, 0.004401f, -0.008735f, 0.007285f, -0.001681f, 0.012787f, -0.002042f, 0.008092f, 0.000222f, -0.010754f, 0.003179f, -0.001459f, 0.008769f, 0.000508f, -0.000858f, -0.004444f, -0.007142f, 0.000567f, 0.004308f, -0.009462f, -0.012612f, 0.008855f, -0.007203f, -0.006931f, -0.006217f, 0.004951f, -0.004831f, 0.002056f, -0.001991f, -0.000718f, -0.007230f, -0.002360f, -0.004786f, -0.007576f, 0.002856f, 0.005758f, -0.001734f, -0.008303f, -0.001131f, -0.001716f, -0.003599f, -0.007139f, 0.000068f, -0.005769f, -0.006118f, -0.001142f, 0.001316f, 0.001808f, -0.001296f, 0.001423f, 0.000008f, 0.025178f, -0.008730f, -0.005689f, -0.007782f, -0.005314f, 0.000627f, -0.016743f, 0.002875f, -0.008267f, -0.016425f, -0.003437f, 0.014136f, -0.010060f, 0.002776f, -0.001107f, 0.004755f, 0.007224f, 0.007642f, 0.012426f, -0.002625f, -0.006951f, 0.003153f, 0.003093f, -0.005654f, -0.000693f, -0.003822f, -0.002357f, 0.001514f, -0.006328f, -0.004049f, -0.000792f, -0.008153f, -0.009401f, 0.004872f, 0.007557f, -0.004400f, -0.010808f, -0.001947f, -0.002388f, + 0.001530f, 0.009074f, 0.000558f, -0.003466f, -0.000625f, 0.012105f, 0.001442f, -0.007034f, -0.007055f, 0.003328f, 0.002200f, 0.009751f, 0.005329f, -0.000338f, -0.009119f, 0.000808f, -0.000605f, 0.008104f, -0.008416f, -0.002459f, 0.004486f, 0.009408f, -0.002655f, 0.001188f, -0.006972f, -0.003440f, 0.004062f, 0.000694f, 0.000725f, 0.002914f, -0.002854f, 0.003773f, 0.000748f, 0.004521f, 0.002194f, 0.002032f, 0.015335f, 0.004952f, -0.018520f, -0.004415f, -0.008779f, 0.008360f, 0.002065f, 0.000119f, 0.005936f, -0.003653f, -0.014323f, -0.007608f, 0.009410f, -0.000611f, 0.009699f, -0.000822f, -0.005583f, 0.010717f, 0.004008f, 0.023608f, -0.004518f, 0.010186f, 0.001450f, -0.011286f, 0.002762f, -0.009609f, 0.006095f, 0.002051f, 0.002368f, -0.010273f, 0.005025f, -0.001905f, -0.003634f, 0.004016f, 0.016093f, 0.005848f, -0.000143f, -0.013117f, 0.011182f, -0.002540f, -0.000003f, 0.007765f, -0.011840f, -0.002398f, 0.008068f, -0.005028f, -0.004268f, -0.013523f, -0.014595f, -0.001344f, 0.008723f, 0.004924f, -0.005910f, -0.000439f, 0.005639f, 0.006879f, 0.002756f, -0.001805f, -0.002918f, -0.013107f, + 0.005857f, 0.015456f, 0.007050f, -0.005022f, -0.002429f, 0.004512f, 0.007333f, -0.001177f, -0.002650f, 0.001208f, -0.010855f, -0.002760f, -0.007832f, -0.004453f, -0.001350f, -0.005867f, 0.011054f, 0.008503f, -0.004962f, -0.014224f, 0.015127f, -0.013706f, 0.013782f, -0.000490f, -0.011638f, -0.026954f, -0.010835f, -0.007989f, 0.003626f, 0.013591f, 0.010556f, -0.003708f, -0.002495f, -0.003590f, -0.007986f, -0.002543f, -0.008929f, 0.002598f, 0.002803f, 0.004944f, 0.008417f, 0.004863f, 0.016424f, -0.000280f, 0.003041f, -0.006237f, -0.001727f, -0.004326f, 0.005821f, 0.001545f, -0.008143f, -0.011600f, 0.000127f, -0.008411f, 0.000683f, 0.007368f, -0.013101f, 0.008705f, -0.021815f, -0.006200f, -0.016263f, 0.002453f, -0.001299f, 0.000008f, -0.006560f, -0.008677f, 0.002673f, 0.007377f, 0.005159f, 0.001787f, -0.013104f, 0.003695f, -0.009134f, -0.003568f, -0.002817f, -0.017640f, -0.007082f, 0.005065f, 0.006498f, -0.000744f, -0.012267f, 0.001949f, 0.004340f, -0.002424f, -0.002599f, 0.001371f, 0.010283f, 0.003714f, -0.002514f, -0.003382f, 0.001709f, -0.024893f, 0.001683f, 0.006253f, 0.005809f, 0.016687f, + 0.017864f, -0.004444f, 0.000346f, 0.011793f, -0.005949f, -0.005602f, 0.017654f, -0.013324f, -0.031499f, -0.020724f, -0.012093f, 0.019018f, 0.008228f, 0.002639f, -0.018164f, 0.019382f, -0.008200f, 0.005419f, -0.004847f, 0.007586f, 0.009513f, -0.000810f, 0.000429f, -0.000227f, -0.002952f, -0.010092f, -0.007876f, -0.002545f, 0.001272f, 0.008704f, 0.005216f, 0.013635f, 0.006803f, -0.006130f, -0.002956f, 0.012091f, -0.008557f, 0.014852f, -0.011748f, 0.003046f, 0.006867f, 0.004054f, -0.009460f, 0.013012f, -0.001000f, 0.013975f, 0.019045f, 0.002601f, -0.007180f, -0.007560f, 0.008241f, -0.009343f, -0.018721f, -0.005271f, 0.004333f, -0.012619f, 0.007317f, 0.005223f, -0.003711f, -0.008083f, -0.002888f, -0.003442f, 0.004028f, -0.002066f, -0.010356f, -0.004755f, 0.018896f, 0.014127f, 0.008398f, -0.022946f, -0.021279f, -0.012884f, 0.021216f, 0.009262f, -0.001136f, 0.001193f, -0.009185f, 0.002344f, 0.008189f, 0.012395f, -0.001457f, 0.004320f, -0.021388f, -0.007723f, 0.002663f, 0.006318f, -0.026342f, -0.003594f, 0.010322f, -0.008482f, -0.017379f, 0.009624f, -0.020094f, -0.014998f, -0.008386f, 0.000922f, + -0.007733f, -0.005566f, -0.001317f, 0.013631f, -0.012928f, 0.002410f, -0.004560f, -0.005885f, -0.010979f, -0.003645f, -0.015712f, -0.005287f, -0.001105f, 0.002064f, -0.011173f, -0.003035f, -0.007283f, 0.000136f, -0.004024f, -0.005494f, 0.002134f, 0.011028f, 0.002395f, -0.007020f, 0.005285f, -0.009903f, -0.002850f, 0.002615f, -0.004036f, 0.005044f, -0.002505f, -0.001544f, -0.042306f, 0.001881f, -0.015016f, 0.006159f, 0.005508f, 0.008297f, -0.023486f, -0.024389f, 0.002675f, -0.000161f, 0.005012f, -0.000866f, 0.012060f, -0.006139f, 0.006395f, 0.007264f, -0.004359f, 0.018364f, -0.006431f, -0.014182f, -0.002944f, -0.012242f, -0.000497f, -0.023063f, 0.000242f, 0.007114f, 0.016392f, -0.032395f, 0.008977f, 0.001573f, 0.009318f, 0.013282f, 0.002668f, -0.012509f, -0.027460f, 0.002092f, -0.010896f, 0.021181f, -0.008237f, 0.004417f, 0.001906f, 0.004546f, 0.016307f, -0.007015f, -0.000073f, -0.007397f, -0.003725f, 0.004116f, -0.003559f, 0.014862f, 0.011599f, 0.003092f, -0.002669f, 0.000077f, 0.010516f, -0.001189f, 0.005368f, -0.000424f, -0.007676f, 0.007056f, -0.001532f, -0.006436f, 0.009437f, 0.014650f, + 0.000673f, 0.005502f, 0.001702f, -0.010311f, -0.005510f, 0.017723f, -0.008069f, 0.008201f, 0.013954f, -0.018087f, 0.013271f, 0.006097f, 0.007134f, -0.008453f, 0.013643f, 0.002964f, -0.001386f, 0.015608f, 0.001469f, -0.001103f, -0.006803f, -0.005386f, 0.000915f, -0.008306f, -0.016607f, -0.005882f, 0.018931f, 0.012105f, 0.015789f, -0.003276f, -0.014493f, 0.004573f, 0.019939f, -0.005750f, -0.012145f, -0.003433f, -0.008130f, -0.006079f, 0.000003f, -0.015200f, -0.004280f, -0.024685f, -0.007003f, -0.014214f, -0.016768f, -0.015933f, -0.005425f, 0.022013f, 0.024005f, 0.032873f, 0.007618f, -0.012236f, -0.007340f, 0.027227f, 0.000228f, -0.006106f, 0.021034f, -0.001986f, 0.001241f, -0.032173f, 0.014968f, 0.008291f, -0.021237f, 0.030047f, -0.003820f, 0.013561f, -0.003282f, 0.007135f, 0.013645f, 0.000123f, 0.023854f, 0.009089f, 0.007021f, -0.002663f, -0.007983f, 0.002296f, 0.014589f, -0.003798f, 0.004577f, 0.006671f, 0.019203f, -0.000904f, -0.005369f, 0.012113f, -0.013949f, -0.009042f, 0.006784f, 0.020721f, -0.008913f, -0.011280f, -0.003220f, 0.017001f, 0.000444f, 0.002241f, -0.006140f, -0.003150f, + 0.006401f, 0.008791f, 0.001020f, -0.007700f, -0.023540f, 0.002470f, 0.007133f, 0.022193f, 0.006655f, -0.002271f, 0.017373f, 0.030491f, -0.006446f, 0.010288f, 0.007137f, 0.012208f, -0.002862f, -0.011583f, 0.005583f, -0.027563f, 0.040277f, -0.019271f, 0.009710f, -0.000803f, -0.012904f, 0.030808f, 0.007863f, 0.004377f, -0.031098f, 0.008895f, -0.011915f, -0.013903f, 0.004362f, -0.013568f, 0.016970f, 0.010343f, -0.001848f, 0.003803f, -0.006924f, -0.002968f, -0.010675f, -0.006901f, -0.012979f, -0.020948f, -0.004332f, -0.014507f, -0.003047f, 0.008698f, -0.005058f, -0.007584f, 0.018063f, 0.011192f, 0.018158f, -0.013510f, -0.000465f, -0.002329f, -0.014231f, 0.000628f, -0.006989f, -0.037820f, 0.004582f, 0.001156f, -0.004649f, 0.013745f, -0.000070f, 0.015112f, 0.013785f, 0.005035f, 0.024458f, 0.020947f, -0.018764f, -0.005099f, 0.001707f, -0.000298f, 0.008808f, 0.003209f, 0.021261f, -0.003725f, 0.033036f, 0.000425f, -0.016615f, -0.014493f, 0.004319f, 0.006146f, 0.008418f, 0.023268f, 0.008090f, 0.006262f, 0.023585f, 0.029099f, 0.003441f, -0.016727f, -0.014286f, -0.000628f, -0.003620f, -0.002536f, + 0.030188f, 0.024598f, 0.002691f, 0.016850f, -0.016628f, 0.008676f, 0.002295f, -0.000463f, 0.011471f, 0.025933f, -0.006006f, -0.001455f, 0.024044f, -0.029742f, -0.016087f, -0.012530f, -0.034045f, 0.007694f, -0.010119f, -0.004118f, 0.005210f, -0.023081f, 0.027212f, 0.020563f, 0.028866f, 0.013296f, -0.016236f, 0.002457f, 0.002219f, 0.021635f, -0.002708f, 0.000159f, 0.000364f, -0.012084f, 0.002250f, -0.006751f, 0.012888f, -0.012848f, -0.003887f, -0.003748f, -0.004578f, -0.015161f, 0.008958f, -0.022631f, -0.002128f, -0.000717f, 0.016329f, 0.009730f, 0.003585f, 0.001264f, -0.002424f, 0.002777f, 0.002025f, 0.013386f, 0.004756f, 0.004732f, 0.000081f, -0.035615f, -0.014946f, 0.005621f, 0.017656f, 0.019784f, -0.026290f, 0.020943f, 0.008589f, -0.009560f, 0.005962f, 0.008330f, -0.003239f, 0.030423f, 0.004435f, 0.008349f, -0.001616f, -0.035133f, -0.007130f, -0.012293f, 0.003904f, 0.035115f, 0.004739f, 0.013576f, -0.022780f, -0.020748f, 0.010329f, 0.017712f, 0.001199f, -0.007689f, 0.033694f, 0.009854f, -0.000846f, -0.010671f, 0.006575f, -0.003759f, -0.004805f, -0.002367f, -0.006923f, 0.000538f, + -0.012490f, -0.028596f, 0.008128f, 0.001739f, 0.007461f, 0.001639f, 0.014378f, 0.003559f, -0.017360f, -0.034593f, -0.000011f, 0.001403f, -0.003560f, -0.030416f, -0.015155f, -0.005518f, 0.007377f, -0.007509f, 0.002471f, -0.026747f, 0.000458f, -0.006838f, -0.000602f, 0.001462f, 0.006376f, -0.003871f, -0.024836f, -0.023291f, -0.014507f, 0.008225f, 0.006245f, -0.007000f, -0.005613f, -0.039755f, -0.022447f, -0.001841f, -0.038227f, 0.033681f, -0.036060f, -0.010795f, -0.023437f, 0.036263f, 0.011647f, -0.027160f, 0.012998f, -0.003904f, 0.014004f, -0.023117f, -0.007329f, 0.000345f, 0.015405f, -0.021641f, -0.007999f, -0.007288f, -0.020824f, 0.002140f, 0.015221f, 0.000117f, -0.003944f, 0.029952f, 0.067723f, -0.011217f, -0.023648f, -0.022178f, -0.019922f, -0.027580f, 0.002267f, -0.045661f, -0.002408f, -0.035685f, -0.017736f, 0.008702f, 0.019198f, 0.010477f, -0.017389f, -0.003809f, 0.018090f, -0.003085f, 0.021175f, -0.015607f, -0.016303f, -0.014069f, 0.008745f, -0.009822f, -0.012993f, 0.002116f, -0.015159f, -0.014647f, 0.013432f, 0.035818f, 0.011654f, 0.014415f, 0.004568f, -0.023613f, -0.007801f, -0.019449f, + -0.019539f, -0.004245f, -0.005764f, -0.015605f, -0.025270f, -0.046745f, -0.007071f, -0.017956f, 0.002929f, -0.009897f, 0.013919f, 0.014148f, 0.005805f, 0.014872f, 0.008352f, -0.003311f, 0.028329f, 0.043569f, 0.007348f, -0.054508f, 0.007172f, -0.011134f, -0.034731f, 0.002605f, 0.011186f, 0.005741f, -0.002833f, 0.012660f, -0.005330f, -0.027200f, -0.003271f, 0.009764f, -0.030533f, -0.015716f, -0.029605f, -0.046740f, 0.027514f, 0.001151f, -0.001596f, 0.050077f, -0.039199f, 0.043079f, -0.004875f, -0.006658f, -0.023714f, -0.009717f, -0.023537f, -0.020484f, 0.022636f, -0.022542f, 0.011214f, 0.051710f, 0.018773f, -0.009436f, -0.025005f, -0.021763f, 0.022773f, -0.021060f, -0.033785f, -0.015241f, 0.002446f, 0.001364f, -0.038400f, 0.000824f, -0.012263f, 0.017653f, -0.012717f, -0.002526f, 0.003489f, 0.053894f, -0.014376f, -0.020010f, 0.026305f, -0.023832f, 0.031775f, -0.021391f, 0.023048f, 0.001573f, -0.018071f, -0.018328f, 0.029479f, -0.041815f, 0.028982f, -0.019684f, 0.002209f, -0.012337f, 0.015424f, -0.016673f, -0.007805f, -0.003859f, -0.012983f, 0.053524f, -0.017379f, 0.035157f, 0.014079f, 0.013794f, + -0.001382f, 0.010346f, 0.023778f, 0.023218f, -0.009021f, -0.032390f, -0.001368f, 0.017311f, 0.007557f, -0.010650f, -0.036251f, 0.038185f, -0.012173f, -0.039028f, -0.011828f, -0.029403f, 0.009245f, 0.004961f, -0.058765f, -0.025410f, 0.035169f, -0.007618f, -0.015163f, 0.040949f, 0.003449f, -0.022128f, 0.015222f, 0.022031f, 0.018650f, 0.002427f, -0.036327f, -0.015367f, 0.004970f, 0.004717f, 0.018227f, 0.011813f, 0.020629f, -0.018877f, -0.014931f, 0.006507f, -0.005445f, 0.016722f, -0.034149f, -0.006296f, -0.036895f, -0.012380f, 0.006138f, -0.005631f, -0.005027f, 0.038358f, 0.007674f, -0.029514f, -0.004822f, 0.001680f, -0.029949f, -0.004652f, 0.001020f, 0.017076f, 0.044396f, -0.016585f, 0.014565f, -0.025712f, 0.003354f, -0.015434f, -0.019358f, 0.017532f, 0.038788f, -0.031825f, 0.002597f, 0.034132f, -0.016176f, -0.004040f, -0.013514f, 0.022007f, 0.005105f, -0.029277f, -0.000762f, -0.010852f, -0.009635f, -0.003809f, -0.014378f, 0.020110f, -0.050642f, 0.009518f, 0.003746f, -0.022311f, 0.027639f, 0.041830f, 0.029939f, 0.080752f, 0.024390f, -0.022552f, -0.029667f, -0.025599f, -0.013619f, 0.036505f, + -0.100088f, -0.008132f, 0.050202f, -0.077039f, -0.007716f, 0.010006f, -0.079563f, 0.029342f, 0.004699f, 0.055919f, -0.010513f, 0.016984f, 0.013218f, -0.070407f, -0.059323f, -0.025622f, -0.009934f, -0.037408f, -0.045375f, -0.025860f, 0.032859f, 0.022010f, 0.017975f, -0.001950f, -0.000639f, 0.007471f, -0.002621f, -0.052440f, -0.023005f, -0.066098f, -0.024815f, 0.029924f, 0.005023f, 0.018695f, 0.072151f, 0.015514f, 0.023826f, -0.005928f, 0.009918f, 0.063464f, 0.045588f, 0.009442f, 0.027777f, 0.025943f, 0.062019f, 0.050866f, -0.080469f, 0.041260f, -0.010645f, 0.039116f, 0.038514f, 0.013337f, 0.074714f, 0.066509f, -0.047156f, 0.029805f, -0.008244f, 0.027859f, -0.067903f, -0.000696f, -0.002249f, -0.004667f, -0.022866f, 0.030485f, 0.030830f, -0.047662f, -0.024626f, -0.032044f, 0.001828f, -0.042667f, -0.055459f, 0.027192f, 0.047691f, 0.010543f, 0.043803f, -0.036338f, -0.029891f, 0.045062f, 0.080695f, -0.010329f, -0.108449f, -0.034339f, 0.011961f, -0.008018f, -0.017234f, -0.023500f, 0.001318f, -0.062038f, -0.036447f, -0.051471f, -0.007283f, -0.014782f, 0.018467f, -0.036689f, -0.009399f, 0.010304f, + 0.018686f, -0.000139f, 0.020725f, 0.038015f, 0.009313f, 0.054704f, -0.033478f, 0.013344f, 0.003898f, 0.052153f, 0.015444f, -0.010011f, -0.050407f, 0.034940f, -0.006959f, 0.047535f, -0.037618f, -0.031484f, -0.027824f, -0.015969f, -0.045745f, -0.006543f, -0.005689f, -0.045320f, 0.027848f, 0.051764f, -0.021966f, 0.007723f, -0.063861f, 0.064585f, -0.016849f, -0.035102f, 0.033252f, 0.025803f, -0.034295f, 0.003364f, -0.019486f, 0.008442f, -0.012687f, 0.080746f, 0.002324f, -0.007011f, -0.014063f, 0.142442f, 0.010151f, -0.019633f, 0.068407f, 0.048564f, -0.043492f, 0.039608f, -0.053798f, -0.036822f, -0.054697f, 0.047664f, -0.030821f, 0.017288f, -0.032541f, -0.148662f, 0.008733f, 0.092581f, -0.058779f, -0.039862f, 0.074070f, -0.056995f, -0.005297f, -0.017525f, 0.071051f, -0.126824f, 0.068159f, 0.039562f, -0.036937f, 0.011133f, 0.066574f, 0.046800f, -0.025550f, 0.025939f, 0.010875f, -0.021000f, 0.030459f, -0.002672f, 0.017833f, 0.027535f, -0.014215f, 0.005117f, -0.004797f, 0.012050f, -0.019685f, -0.016615f, -0.002757f, 0.023272f, -0.075688f, -0.038775f, 0.035257f, -0.010440f, -0.050720f, -0.060160f, + 0.008451f, 0.070038f, -0.032923f, -0.048300f, 0.033890f, 0.051656f, -0.013401f, 0.011325f, -0.011155f, 0.047926f, -0.028900f, 0.072961f, -0.011859f, -0.002126f, 0.039492f, -0.001409f, 0.007722f, -0.055718f, 0.082132f, -0.045705f, -0.054476f, 0.037560f, -0.057666f, -0.020709f, 0.007300f, 0.025469f, 0.075308f, -0.029802f, 0.045908f, -0.012103f, 0.022607f, -0.133599f, -0.103520f, -0.020692f, -0.042502f, 0.017588f, -0.015312f, -0.053727f, -0.027629f, 0.031141f, -0.065692f, 0.054987f, -0.056572f, -0.070158f, 0.032404f, -0.036519f, -0.025792f, 0.032685f, -0.032765f, 0.026403f, -0.026673f, 0.009475f, 0.069155f, -0.071044f, -0.009095f, -0.015386f, 0.057638f, 0.002950f, 0.001562f, -0.064383f, -0.059522f, -0.025240f, -0.020365f, -0.014278f, -0.022009f, 0.005150f, -0.000925f, -0.011907f, 0.005052f, 0.007294f, 0.002284f, 0.004211f, -0.015420f, 0.022739f, -0.022815f, 0.021364f, -0.056352f, -0.004624f, -0.046372f, -0.061632f, -0.036350f, 0.066352f, -0.035401f, -0.039134f, -0.027758f, 0.009665f, -0.018382f, 0.025200f, 0.043651f, -0.057332f, 0.040817f, 0.000143f, -0.072466f, -0.042567f, 0.138514f, 0.065300f, + -0.111380f, -0.029101f, 0.064871f, -0.043963f, -0.042908f, 0.017801f, -0.037578f, -0.084852f, 0.049830f, 0.013212f, -0.105088f, 0.029445f, 0.047046f, -0.073432f, -0.044851f, 0.043345f, -0.024624f, 0.091827f, 0.128941f, -0.048000f, 0.143982f, -0.008517f, -0.036462f, -0.027254f, -0.045715f, -0.001236f, 0.025949f, 0.086405f, 0.004969f, 0.028673f, -0.019190f, -0.069031f, 0.003316f, 0.005738f, 0.049373f, 0.012200f, -0.052650f, 0.104525f, -0.041519f, 0.022261f, 0.047171f, -0.047036f, -0.039385f, -0.068498f, -0.030040f, 0.048108f, 0.056876f, 0.072209f, -0.024513f, -0.163795f, 0.038428f, 0.091430f, 0.113370f, 0.100458f, -0.000402f, -0.043846f, -0.058460f, 0.024534f, 0.058123f, -0.032118f, -0.018504f, -0.143976f, -0.090277f, 0.084479f, 0.134902f, 0.032365f, -0.003202f, -0.027624f, -0.058390f, -0.008615f, 0.037509f, -0.046653f, 0.020498f, -0.001827f, 0.084889f, 0.002166f, 0.032941f, -0.159993f, -0.021455f, 0.008416f, 0.101440f, 0.085780f, -0.002947f, -0.042581f, -0.014830f, 0.129045f, 0.053352f, -0.134038f, -0.178453f, -0.059571f, 0.032782f, 0.284702f, 0.026446f, -0.035117f, 0.035627f, 0.013451f, + -0.023511f, 0.057841f, -0.067765f, 0.001475f, -0.027485f, 0.014895f, -0.042045f, 0.038429f, 0.010511f, -0.022948f, -0.042313f, -0.021445f, -0.008194f, 0.011416f, -0.057552f, 0.012371f, -0.028223f, -0.011850f, -0.045000f, -0.022113f, 0.036413f, -0.039322f, -0.013509f, -0.006307f, 0.017905f, 0.010966f, -0.014773f, 0.019509f, -0.032672f, -0.003783f, 0.000685f, 0.016445f, -0.021199f, 0.029991f, 0.023748f, -0.025083f, -0.027034f, -0.011881f, 0.045010f, -0.033416f, 0.014679f, 0.031555f, 0.008089f, -0.033713f, -0.011514f, 0.012269f, -0.019300f, 0.013352f, 0.002472f, 0.005541f, -0.028616f, 0.004460f, -0.022948f, -0.002918f, 0.023830f, 0.026430f, 0.023586f, -0.018466f, 0.022725f, 0.000518f, -0.024615f, -0.006189f, 0.001945f, 0.029181f, -0.006431f, 0.004119f, 0.029958f, -0.008614f, -0.032925f, 0.047105f, -0.017051f, 0.026608f, 0.025469f, 0.002343f, 0.011644f, -0.021523f, -0.016385f, -0.053199f, 0.102672f, 0.010360f, 0.006617f, -0.039875f, 0.024606f, -0.002270f, 0.027678f, 0.021534f, 0.032195f, 0.004685f, 0.008917f, -0.016288f, 0.005998f, 0.029892f, -0.001889f, 0.016972f, -0.001599f, 0.006334f, + 0.007190f, 0.012981f, -0.011284f, 0.023059f, -0.013936f, 0.003434f, -0.001597f, 0.008818f, -0.001184f, 0.005862f, 0.017182f, 0.019600f, -0.008034f, 0.009545f, 0.004180f, -0.002428f, -0.007131f, 0.025698f, -0.006801f, 0.006777f, -0.006284f, 0.014305f, 0.000445f, -0.009752f, 0.024655f, -0.013211f, -0.004758f, 0.008273f, -0.010971f, -0.004969f, -0.003177f, 0.002971f, -0.004048f, 0.002439f, -0.002067f, -0.004153f, 0.008409f, -0.013394f, 0.009942f, 0.008901f, -0.005269f, 0.012653f, -0.007867f, 0.014660f, -0.006423f, 0.004916f, 0.002144f, -0.004633f, 0.011634f, 0.002930f, 0.001071f, -0.000615f, 0.015306f, -0.015646f, 0.019147f, -0.010208f, 0.000195f, 0.009367f, 0.019110f, -0.093018f, -0.231172f, 0.035597f, 0.175452f, 0.163079f, 0.282991f, -0.072566f, -0.076245f, -0.193157f, -0.263831f, -0.054517f, 0.094834f, 0.101754f, 0.191540f, 0.104126f, 0.007767f, -0.050003f, -0.134519f, -0.095414f, -0.016958f, -0.015024f, 0.047241f, 0.044217f, 0.025074f, 0.016281f, 0.012321f, -0.007117f, -0.033511f, -0.002583f, 0.037454f, 0.000283f, 0.007396f, -0.002165f, -0.029158f, -0.021808f, -0.049168f, -0.047481f, + 0.020897f, 0.019975f, 0.043419f, 0.067164f, 0.049552f, 0.024676f, 0.008174f, -0.072237f, -0.051921f, -0.039434f, -0.040422f, -0.044065f, 0.008504f, 0.028468f, 0.048339f, 0.062971f, 0.051126f, 0.011607f, -0.006877f, -0.041254f, -0.043201f, -0.024854f, -0.013018f, 0.004504f, 0.006305f, 0.014553f, 0.000597f, -0.013016f, 0.004044f, -0.021007f, 0.010881f, 0.019261f, 0.001900f, 0.037985f, 0.044796f, 0.015386f, -0.007376f, -0.046282f, -0.059850f, -0.015115f, -0.000186f, -0.001366f} + }, + { + {0.013420f, -0.000209f, 0.005181f, 0.005615f, 0.001992f, 0.002040f, 0.002951f, 0.004505f, 0.008385f, 0.003966f, -0.000592f, -0.003196f, 0.000563f, -0.004413f, -0.004280f, 0.000795f, -0.000774f, 0.001794f, -0.000829f, -0.001739f, -0.004675f, 0.006127f, 0.001248f, -0.000221f, -0.008309f, 0.000727f, 0.005836f, 0.008334f, -0.005496f, -0.001211f, -0.001522f, 0.004249f, -0.000613f, -0.000284f, 0.001900f, 0.000669f, -0.001158f, 0.003107f, -0.003384f, 0.001505f, -0.008440f, -0.006124f, 0.002785f, 0.003340f, 0.012023f, -0.004514f, -0.004511f, -0.002546f, 0.004971f, -0.003818f, -0.007079f, -0.004891f, -0.008346f, 0.000921f, -0.005535f, 0.005018f, 0.006468f, 0.001583f, 0.002777f, -0.003821f, 0.002505f, -0.000577f, -0.009330f, 0.010984f, 0.007395f, 0.005305f, 0.001905f, -0.003562f, -0.001580f, 0.004679f, -0.002822f, 0.001426f, 0.000530f, 0.000330f, -0.000813f, -0.002734f, -0.007743f, -0.010960f, -0.000232f, 0.002290f, 0.001724f, 0.007665f, 0.000941f, -0.001047f, -0.005079f, 0.011303f, 0.006971f, 0.000269f, -0.001474f, 0.011222f, 0.003779f, -0.003726f, -0.009996f, 0.006230f, -0.002921f, 0.004811f, + -0.009510f, 0.000495f, -0.002313f, -0.007142f, -0.001953f, -0.003655f, -0.001352f, 0.000415f, 0.000006f, -0.005247f, -0.003181f, -0.000942f, -0.001018f, -0.003316f, 0.003385f, -0.000461f, -0.003430f, 0.005937f, -0.010120f, -0.004933f, 0.004814f, -0.006210f, 0.000832f, -0.003913f, -0.005544f, 0.003622f, 0.003435f, -0.003131f, 0.003812f, 0.007151f, 0.004143f, -0.003956f, -0.004401f, 0.000629f, 0.001484f, -0.004647f, 0.004902f, 0.007879f, -0.006805f, -0.002391f, 0.004056f, 0.002765f, -0.001532f, -0.002323f, -0.003230f, 0.004208f, 0.001509f, -0.005584f, 0.006251f, 0.002657f, -0.004728f, -0.004071f, 0.006694f, -0.005227f, -0.005676f, -0.012158f, -0.009275f, 0.004257f, 0.014873f, -0.001041f, -0.002566f, -0.005595f, 0.009663f, -0.004604f, -0.000148f, -0.007212f, -0.007667f, -0.009799f, -0.004371f, 0.008268f, -0.007819f, -0.002754f, -0.002481f, 0.003068f, -0.001627f, -0.010975f, 0.006310f, 0.003132f, 0.022378f, -0.001940f, 0.010714f, -0.001751f, -0.000082f, -0.000701f, 0.001606f, -0.004338f, 0.008981f, -0.001947f, -0.001214f, -0.004848f, -0.000427f, -0.001557f, 0.013694f, 0.002717f, -0.000789f, -0.012071f, + -0.000700f, -0.002108f, 0.004303f, -0.007580f, -0.001571f, 0.002382f, 0.002392f, -0.001913f, -0.000677f, -0.004620f, -0.001161f, -0.005607f, -0.001933f, 0.011615f, -0.002610f, 0.003843f, 0.007119f, -0.001295f, -0.005366f, -0.007870f, 0.002966f, 0.002138f, 0.003362f, 0.005272f, 0.006950f, 0.005147f, 0.003894f, -0.002031f, -0.001047f, -0.002393f, -0.010169f, -0.002529f, 0.000223f, 0.005707f, 0.006283f, -0.002700f, 0.001562f, -0.019505f, -0.004962f, -0.000661f, -0.004377f, -0.003134f, 0.006472f, -0.013797f, -0.011580f, -0.006922f, -0.004675f, 0.001625f, 0.014933f, -0.003598f, -0.000278f, 0.001521f, -0.011126f, -0.003157f, -0.009325f, -0.001719f, 0.015855f, -0.001556f, -0.008045f, -0.005405f, -0.000011f, 0.002963f, 0.003016f, -0.004833f, -0.020570f, -0.010073f, -0.002916f, -0.008186f, 0.000544f, 0.000047f, 0.008081f, -0.005648f, 0.007169f, 0.001467f, -0.003920f, -0.011233f, -0.009274f, 0.012313f, -0.010565f, 0.006622f, 0.001921f, -0.007012f, -0.002604f, -0.006293f, -0.004369f, 0.005638f, -0.011275f, 0.005493f, 0.001931f, -0.000482f, 0.001860f, 0.000490f, -0.001115f, -0.000039f, -0.005655f, -0.008077f, + 0.000616f, -0.002649f, -0.005666f, -0.002590f, -0.008774f, 0.010094f, 0.007253f, 0.001550f, 0.008689f, 0.000782f, -0.003322f, 0.010309f, -0.005186f, -0.003663f, -0.003086f, 0.007851f, -0.007072f, -0.012786f, 0.015983f, 0.018140f, 0.005052f, 0.005008f, -0.005032f, 0.008571f, 0.004310f, -0.010312f, 0.003387f, 0.006981f, -0.012474f, -0.010740f, 0.011106f, -0.009368f, -0.001327f, -0.005939f, 0.011173f, 0.002699f, -0.001223f, -0.003804f, -0.000043f, -0.006903f, 0.006722f, -0.003280f, 0.004074f, -0.001402f, -0.000045f, 0.007580f, 0.002847f, 0.001383f, -0.002806f, 0.007467f, 0.004486f, 0.002509f, -0.000632f, 0.007746f, -0.000604f, 0.001776f, -0.004666f, 0.009389f, 0.001958f, 0.004038f, 0.006481f, -0.017449f, -0.005897f, -0.003020f, -0.006502f, -0.005706f, 0.001737f, 0.010580f, -0.004416f, -0.002078f, -0.005585f, -0.001831f, 0.002053f, 0.005059f, -0.012470f, -0.000055f, 0.004188f, 0.001228f, -0.001115f, 0.006133f, 0.003352f, -0.010767f, -0.003393f, -0.001656f, 0.007004f, -0.006694f, 0.009952f, 0.011943f, 0.005555f, 0.003338f, -0.005291f, 0.000922f, 0.000697f, 0.019275f, -0.004332f, -0.000919f, + 0.006634f, 0.004074f, 0.002886f, 0.006081f, 0.017044f, -0.005567f, -0.002263f, -0.017672f, -0.000304f, -0.015275f, -0.019216f, 0.000027f, 0.007269f, -0.024623f, 0.007496f, 0.007210f, 0.003653f, -0.007921f, -0.006410f, -0.008583f, -0.003669f, -0.000178f, -0.000152f, 0.006987f, 0.009415f, -0.002023f, -0.010585f, -0.006664f, 0.006789f, -0.011307f, -0.005980f, -0.009659f, 0.001263f, -0.015213f, 0.006569f, 0.000498f, -0.001680f, 0.001685f, -0.001172f, -0.003991f, -0.000699f, 0.008713f, -0.011543f, 0.012441f, -0.010686f, -0.001830f, 0.001671f, -0.007276f, -0.006156f, 0.004450f, 0.001749f, -0.002774f, -0.005857f, 0.009091f, 0.003261f, -0.007514f, -0.014504f, 0.000880f, 0.002286f, 0.007282f, -0.001245f, -0.004257f, -0.000269f, 0.003500f, -0.004269f, 0.018246f, -0.007451f, -0.003866f, -0.014748f, -0.009803f, 0.020086f, 0.007774f, -0.006352f, -0.002531f, -0.002167f, 0.004762f, 0.012122f, -0.017853f, -0.010801f, 0.011234f, -0.009646f, -0.010307f, -0.011152f, -0.013303f, 0.008366f, -0.003941f, -0.001009f, -0.003667f, -0.000150f, -0.014744f, -0.003393f, 0.005584f, 0.006388f, 0.000777f, -0.007945f, -0.011527f, + -0.009448f, -0.012126f, 0.001746f, 0.012643f, 0.001288f, 0.003518f, 0.004110f, 0.003646f, -0.008413f, 0.007448f, 0.004698f, -0.006798f, -0.005223f, -0.019166f, 0.002388f, 0.003205f, -0.014771f, -0.002025f, 0.004042f, -0.003588f, 0.001426f, -0.002192f, -0.015737f, 0.012212f, -0.014651f, 0.010392f, 0.000353f, 0.004788f, -0.016384f, -0.009948f, -0.014654f, -0.012316f, 0.001972f, -0.004971f, -0.005230f, -0.007328f, -0.000080f, 0.006315f, -0.013365f, -0.001104f, 0.003983f, -0.005184f, -0.014758f, -0.010184f, -0.002860f, 0.002018f, 0.007620f, 0.002409f, -0.011796f, 0.012481f, -0.003577f, -0.003327f, 0.013860f, -0.017071f, -0.004921f, 0.027334f, -0.022642f, -0.011459f, -0.014806f, 0.012307f, 0.005122f, -0.007005f, 0.006153f, 0.000907f, 0.016522f, 0.002050f, 0.000946f, -0.014068f, 0.011470f, 0.018473f, 0.018947f, 0.016288f, -0.007711f, -0.000105f, 0.003046f, -0.008452f, -0.005930f, 0.003804f, 0.001774f, -0.012642f, -0.006176f, -0.004534f, 0.007457f, 0.000331f, -0.009906f, -0.003414f, 0.004078f, 0.009860f, 0.001637f, -0.001389f, 0.000724f, -0.005818f, 0.000372f, 0.001184f, 0.001711f, -0.014243f, + 0.009877f, 0.012751f, 0.002822f, 0.007503f, 0.007093f, -0.010993f, 0.019031f, 0.018649f, 0.003635f, -0.009402f, 0.007166f, -0.001874f, -0.016506f, -0.002037f, -0.004807f, 0.002170f, 0.001647f, 0.002248f, -0.009705f, -0.006488f, -0.020583f, -0.014784f, 0.000924f, 0.013844f, -0.009004f, 0.007890f, 0.002161f, -0.002888f, -0.016450f, 0.002354f, 0.011056f, -0.002114f, 0.010147f, 0.023231f, 0.006661f, -0.000519f, -0.024362f, 0.003474f, -0.008597f, -0.032893f, -0.025141f, 0.007313f, 0.001030f, -0.004977f, 0.006794f, 0.017062f, -0.001797f, 0.010572f, 0.009389f, 0.005869f, -0.001809f, -0.007901f, 0.007941f, -0.006589f, 0.001678f, -0.005521f, 0.010909f, 0.019455f, -0.015906f, -0.003881f, 0.001809f, 0.007678f, 0.002575f, -0.004243f, -0.002256f, -0.005246f, 0.000297f, -0.006707f, 0.010585f, 0.003159f, -0.010944f, 0.014072f, -0.012294f, -0.003144f, 0.016812f, 0.015180f, 0.012708f, -0.012519f, -0.008125f, -0.011079f, 0.014937f, 0.020282f, 0.000533f, -0.002809f, 0.016018f, -0.021189f, 0.003589f, 0.007217f, -0.001314f, -0.017547f, 0.017776f, 0.007222f, 0.009469f, 0.017217f, 0.001731f, -0.021302f, + 0.006857f, 0.010750f, -0.004891f, -0.000194f, 0.016570f, -0.014649f, -0.014266f, -0.011497f, 0.002549f, 0.021869f, 0.011862f, -0.001117f, 0.024028f, -0.028858f, -0.010454f, 0.002102f, 0.015117f, -0.026599f, 0.027913f, 0.011639f, -0.000149f, -0.002289f, 0.002829f, 0.005197f, 0.015373f, -0.002334f, 0.002172f, -0.004274f, -0.002891f, 0.008841f, 0.004856f, 0.010180f, 0.004822f, 0.006063f, -0.017972f, -0.007236f, 0.031616f, 0.003575f, 0.009782f, 0.013472f, 0.005450f, -0.010126f, -0.018986f, 0.006474f, -0.007603f, 0.001114f, 0.007417f, -0.009359f, -0.010891f, 0.014281f, 0.016893f, -0.008187f, -0.005516f, 0.012981f, -0.015031f, 0.007112f, -0.011451f, 0.005669f, -0.011071f, 0.017083f, 0.002860f, -0.001997f, 0.006428f, 0.029121f, 0.008474f, 0.011382f, -0.002776f, 0.001623f, 0.005406f, 0.021473f, -0.001386f, 0.030690f, 0.001361f, 0.014589f, -0.000091f, 0.027634f, 0.010202f, 0.020579f, 0.016056f, -0.003569f, -0.008847f, -0.002647f, -0.010171f, -0.011878f, 0.016585f, -0.003590f, -0.005925f, 0.002073f, 0.000692f, -0.008910f, -0.003451f, 0.001548f, 0.008148f, -0.000030f, 0.030956f, -0.009141f, + -0.001132f, -0.039939f, -0.002275f, 0.020188f, -0.011871f, 0.017471f, -0.025855f, 0.002926f, 0.001533f, -0.001386f, -0.034038f, -0.002127f, -0.056079f, 0.001987f, -0.007132f, -0.023638f, -0.005114f, 0.002535f, -0.013206f, 0.001570f, 0.012758f, 0.001645f, -0.013794f, 0.001876f, -0.005129f, 0.011774f, -0.014812f, 0.000386f, 0.016354f, 0.003609f, 0.000124f, -0.002968f, 0.012152f, -0.009008f, 0.000001f, -0.000315f, 0.008923f, 0.001786f, -0.020085f, -0.010076f, -0.014658f, 0.015224f, -0.036403f, 0.016752f, 0.012194f, 0.011855f, 0.004933f, 0.002604f, -0.017005f, 0.010919f, -0.024395f, -0.005218f, -0.006648f, -0.004489f, -0.002980f, 0.001692f, 0.005181f, -0.017008f, -0.008970f, 0.029703f, 0.010010f, -0.010134f, -0.014775f, 0.003845f, -0.007649f, 0.009732f, -0.008588f, -0.000804f, -0.012272f, 0.027805f, 0.010537f, -0.007419f, -0.001523f, -0.010916f, -0.000305f, 0.020586f, 0.020777f, 0.012267f, 0.010945f, -0.009452f, 0.012113f, 0.020063f, -0.014211f, -0.000030f, -0.037447f, 0.022147f, 0.015066f, -0.004856f, 0.009026f, -0.001889f, 0.003274f, 0.014031f, -0.008225f, 0.021650f, -0.018795f, 0.002425f, + 0.023917f, 0.011002f, 0.001621f, 0.018941f, -0.006344f, 0.009055f, 0.004938f, 0.010470f, 0.016296f, -0.008909f, -0.001889f, 0.030594f, 0.014976f, 0.000049f, 0.004122f, -0.019544f, 0.027483f, -0.022438f, -0.001533f, 0.024850f, 0.007374f, 0.026712f, -0.016429f, 0.004941f, -0.001236f, -0.005555f, 0.003258f, -0.024254f, -0.017848f, 0.024452f, -0.012079f, -0.004218f, -0.008350f, -0.025796f, 0.018519f, -0.005408f, -0.004880f, -0.010915f, 0.011121f, 0.027999f, -0.021940f, -0.003411f, 0.017605f, -0.019096f, -0.009483f, 0.017309f, 0.021949f, -0.036599f, -0.010949f, -0.002139f, 0.015040f, 0.000613f, 0.017619f, -0.003173f, 0.019230f, 0.041291f, 0.007582f, -0.025090f, -0.009298f, 0.007795f, -0.055267f, 0.001352f, -0.000214f, -0.008924f, -0.003257f, 0.024956f, -0.041906f, 0.008778f, 0.018699f, -0.015479f, 0.016480f, 0.031669f, 0.007258f, -0.029742f, 0.007306f, -0.007642f, -0.001240f, -0.029110f, -0.009465f, 0.026221f, -0.003717f, 0.024056f, -0.007145f, -0.008586f, 0.003155f, -0.020549f, -0.012340f, -0.014785f, -0.011787f, -0.008071f, 0.018854f, -0.021794f, 0.002631f, 0.038152f, 0.024779f, 0.008677f, + -0.039712f, 0.006560f, 0.024403f, 0.010798f, 0.000464f, -0.013610f, -0.017905f, -0.041101f, -0.029694f, 0.006208f, -0.015306f, -0.013781f, -0.002031f, 0.018084f, 0.011247f, -0.011949f, -0.000779f, 0.025696f, -0.011059f, -0.003610f, -0.000305f, 0.033793f, -0.000261f, -0.000800f, 0.015213f, 0.006268f, -0.039287f, 0.011728f, 0.009146f, 0.001213f, -0.032931f, 0.014820f, 0.016602f, -0.011737f, -0.010055f, -0.012003f, 0.043414f, 0.002692f, -0.008417f, -0.000256f, 0.019325f, -0.008838f, 0.005505f, -0.004275f, 0.004736f, 0.016719f, -0.029582f, 0.031862f, 0.035848f, 0.010430f, 0.015265f, -0.011676f, 0.020373f, 0.047358f, 0.001661f, -0.004956f, -0.008534f, 0.020411f, -0.006993f, -0.010928f, -0.003899f, 0.007522f, -0.023346f, 0.010842f, -0.020592f, 0.023998f, 0.005326f, 0.024163f, -0.014953f, 0.022060f, 0.006336f, 0.028736f, 0.004544f, 0.006388f, -0.010322f, 0.018046f, 0.004176f, -0.005179f, 0.025132f, -0.009507f, -0.018469f, 0.036353f, 0.028272f, 0.010969f, 0.026629f, 0.039702f, 0.047128f, -0.014510f, -0.015605f, -0.016538f, 0.005217f, -0.021647f, 0.024989f, -0.002980f, -0.003336f, -0.036505f, + 0.007406f, 0.041724f, 0.041108f, -0.001598f, -0.007013f, -0.029129f, -0.001225f, 0.027480f, -0.016058f, -0.017501f, 0.013339f, 0.002029f, -0.017783f, 0.004708f, -0.005674f, -0.058374f, -0.041344f, 0.018804f, 0.006179f, -0.031559f, 0.001202f, 0.011100f, -0.028819f, -0.018988f, -0.013452f, 0.030141f, 0.012627f, 0.008231f, -0.012004f, -0.009939f, -0.009884f, -0.022143f, -0.028468f, -0.049216f, 0.022823f, 0.018863f, -0.011677f, 0.051008f, 0.023888f, 0.048868f, 0.033404f, 0.001055f, -0.017966f, 0.011298f, 0.004684f, 0.020966f, 0.025114f, 0.027204f, -0.005781f, -0.007488f, 0.011047f, -0.015655f, -0.004583f, -0.014098f, -0.023521f, -0.038613f, -0.012015f, 0.034502f, -0.010570f, -0.017158f, -0.022293f, 0.012234f, 0.020964f, 0.012402f, 0.000112f, 0.019255f, 0.041059f, -0.027799f, -0.012844f, -0.021995f, -0.015406f, -0.043393f, -0.011251f, 0.007772f, -0.019824f, -0.017106f, -0.048255f, -0.069552f, 0.006153f, -0.046688f, -0.070627f, -0.052779f, -0.022299f, 0.042490f, 0.014393f, 0.025053f, 0.019410f, -0.048541f, -0.020766f, 0.002033f, 0.021873f, 0.004530f, -0.109491f, -0.018862f, 0.032401f, -0.038530f, + 0.012848f, -0.016176f, -0.060474f, -0.020047f, 0.060151f, 0.076727f, -0.044013f, -0.000360f, -0.016709f, -0.065902f, -0.053442f, -0.050002f, -0.053923f, -0.029248f, -0.036104f, -0.004459f, 0.008478f, -0.010613f, 0.010553f, 0.010491f, -0.023712f, -0.007355f, -0.031614f, 0.010596f, -0.048287f, -0.042548f, 0.007039f, 0.005591f, -0.015277f, -0.016497f, 0.032795f, -0.011944f, 0.046616f, 0.009579f, 0.042924f, -0.032490f, 0.016891f, 0.011673f, 0.052495f, 0.028477f, 0.016240f, 0.004064f, 0.005057f, -0.007832f, 0.012906f, 0.021750f, -0.021572f, -0.026307f, 0.035340f, -0.006531f, -0.052688f, -0.094990f, -0.116786f, -0.082498f, 0.009512f, -0.001200f, -0.109255f, 0.033117f, 0.013658f, 0.025292f, -0.040210f, 0.003522f, 0.007924f, 0.003646f, 0.049471f, 0.053911f, 0.105530f, 0.035406f, -0.062353f, -0.076295f, -0.047711f, -0.020250f, -0.009923f, 0.059170f, -0.017328f, -0.114839f, -0.033778f, 0.092734f, -0.014265f, 0.019978f, 0.012032f, 0.016626f, 0.031463f, 0.026054f, 0.007988f, -0.019337f, -0.008320f, 0.003940f, -0.021718f, -0.005376f, 0.032935f, -0.031417f, -0.019865f, -0.031436f, -0.008945f, 0.004830f, + 0.002392f, 0.007759f, 0.014504f, -0.023855f, 0.019327f, 0.051013f, -0.002557f, -0.030170f, 0.001089f, -0.019748f, -0.008414f, 0.030351f, -0.033773f, 0.003627f, 0.008473f, 0.037290f, 0.052226f, -0.034121f, -0.021234f, 0.021124f, 0.001213f, 0.006228f, 0.004607f, -0.022307f, -0.059707f, -0.009849f, -0.028628f, 0.053484f, -0.101901f, -0.065231f, -0.028649f, -0.010067f, 0.027590f, 0.007074f, -0.036723f, -0.004831f, -0.041965f, -0.042795f, -0.016733f, -0.030422f, 0.005141f, 0.027800f, 0.120371f, 0.024188f, -0.017623f, -0.075598f, -0.062567f, 0.021117f, 0.000968f, -0.070820f, 0.045835f, 0.037325f, -0.043088f, -0.138309f, 0.016031f, 0.017539f, -0.007655f, -0.005647f, -0.013531f, -0.042391f, 0.012164f, -0.012171f, 0.065802f, -0.074735f, -0.017499f, 0.068760f, -0.006303f, -0.052901f, -0.008948f, 0.038848f, 0.049170f, 0.027924f, -0.012193f, 0.033104f, -0.030971f, 0.020916f, -0.014211f, -0.014004f, -0.027104f, 0.036344f, 0.025073f, -0.031250f, -0.014941f, -0.008625f, 0.038762f, -0.008782f, 0.001780f, -0.031615f, 0.025313f, 0.012946f, -0.033242f, 0.050300f, -0.000059f, -0.055564f, 0.041674f, -0.060079f, + -0.031187f, 0.043580f, -0.108148f, -0.073498f, 0.054975f, -0.042902f, 0.040130f, -0.073679f, 0.012488f, 0.017570f, -0.039277f, -0.005951f, -0.005351f, -0.076905f, -0.018502f, 0.063165f, 0.072889f, -0.094537f, -0.030974f, 0.016711f, -0.071311f, 0.078484f, 0.086258f, 0.001392f, -0.130021f, -0.079555f, 0.132326f, -0.086299f, -0.017642f, 0.091611f, -0.068656f, -0.156088f, -0.036780f, -0.019201f, -0.074203f, -0.069949f, -0.001737f, -0.088249f, -0.026048f, -0.037481f, -0.035393f, -0.026586f, 0.057451f, -0.006159f, -0.018341f, -0.024050f, 0.011252f, -0.030774f, -0.073627f, 0.057329f, 0.017973f, 0.049615f, 0.015453f, 0.051356f, -0.020265f, -0.031037f, 0.011308f, -0.052780f, 0.041412f, -0.047690f, -0.010206f, 0.032470f, -0.036619f, -0.007006f, -0.022226f, -0.057648f, 0.008840f, -0.043252f, -0.031802f, -0.037544f, -0.028468f, -0.016549f, -0.039099f, 0.008065f, 0.043586f, -0.028149f, -0.010298f, 0.006724f, 0.040269f, -0.016779f, 0.014470f, -0.039478f, 0.067051f, 0.022578f, 0.029044f, 0.020120f, 0.064518f, -0.001763f, -0.074502f, 0.018739f, 0.028137f, -0.018571f, 0.000784f, 0.042091f, -0.051027f, -0.049142f, + -0.059118f, 0.055373f, 0.017506f, -0.071421f, 0.031597f, -0.045712f, -0.006374f, -0.065686f, 0.035205f, 0.054073f, 0.016468f, -0.071542f, 0.053059f, 0.066085f, 0.123797f, -0.029301f, 0.061567f, 0.012325f, -0.028810f, -0.054739f, -0.031818f, 0.072226f, -0.023206f, 0.013779f, 0.028171f, -0.006800f, 0.066472f, -0.009274f, 0.052217f, 0.054750f, -0.066354f, 0.034813f, -0.017189f, 0.002101f, 0.024684f, 0.020766f, -0.002037f, 0.011317f, 0.020004f, 0.066944f, 0.068542f, 0.053210f, -0.038385f, -0.012671f, -0.090639f, -0.002252f, 0.021636f, 0.041476f, 0.009632f, -0.074681f, 0.033092f, -0.044653f, 0.058472f, -0.052227f, -0.036675f, 0.004216f, -0.043917f, -0.007180f, -0.025289f, 0.090099f, -0.048895f, -0.023727f, -0.093906f, -0.030375f, -0.049210f, 0.132981f, 0.080950f, -0.027940f, -0.089269f, -0.096019f, -0.056770f, 0.065850f, 0.086513f, 0.043288f, 0.013052f, -0.115831f, -0.053064f, 0.036788f, 0.032779f, 0.003458f, 0.042190f, -0.026155f, -0.075193f, 0.032520f, -0.128001f, 0.134704f, -0.012828f, -0.098942f, 0.208685f, 0.013875f, 0.005205f, -0.053976f, 0.037667f, -0.076521f, 0.048457f, -0.031023f, + 0.079086f, -0.034592f, -0.003071f, 0.045548f, 0.008503f, 0.004796f, -0.019708f, -0.016609f, 0.002538f, -0.029112f, 0.033584f, -0.002876f, 0.035606f, -0.026549f, -0.026773f, 0.010318f, 0.001768f, -0.026848f, 0.017971f, -0.002371f, 0.015697f, -0.007381f, -0.007271f, 0.015948f, -0.013772f, 0.000166f, 0.011172f, -0.004332f, -0.006517f, 0.057116f, -0.003691f, -0.017149f, -0.009884f, 0.028015f, -0.002374f, -0.028679f, 0.016090f, 0.034327f, 0.006516f, 0.002620f, -0.019424f, 0.008798f, -0.015831f, 0.017011f, 0.039298f, -0.011846f, 0.017711f, -0.012558f, -0.004956f, -0.013799f, -0.008375f, 0.013211f, 0.012003f, -0.020115f, 0.012943f, 0.007468f, -0.004191f, -0.019430f, 0.002404f, 0.012587f, -0.019130f, 0.029647f, 0.018308f, -0.036205f, 0.007317f, -0.031655f, -0.048178f, 0.038304f, -0.022002f, 0.046766f, -0.044322f, 0.097181f, 0.019249f, 0.024758f, -0.011096f, 0.009962f, -0.001693f, 0.019385f, 0.006828f, 0.042132f, 0.003892f, -0.020985f, 0.014544f, -0.013256f, 0.007366f, 0.009631f, -0.017737f, 0.002260f, 0.005571f, -0.019023f, 0.019541f, 0.006047f, -0.007313f, 0.026210f, -0.007889f, 0.011170f, + -0.006614f, 0.005986f, 0.005741f, 0.003643f, -0.002146f, -0.005975f, -0.002423f, 0.004892f, 0.001583f, -0.002719f, -0.011151f, 0.010493f, -0.007184f, 0.005989f, 0.008891f, -0.006779f, 0.002690f, -0.006204f, 0.003140f, -0.010709f, -0.018990f, 0.022149f, -0.010139f, -0.003689f, 0.009608f, 0.005688f, -0.002634f, 0.004059f, 0.018527f, -0.017705f, 0.009274f, -0.005512f, 0.016132f, -0.014473f, 0.010123f, 0.006565f, -0.002103f, 0.005654f, 0.001139f, 0.002412f, 0.008201f, -0.008006f, 0.006489f, 0.007690f, -0.002229f, 0.001863f, 0.013832f, 0.001360f, 0.004820f, -0.010909f, 0.020685f, 0.017873f, -0.085595f, -0.212125f, 0.045502f, 0.175809f, 0.118833f, 0.248087f, -0.081468f, -0.069826f, -0.143128f, -0.228827f, -0.022754f, 0.070799f, 0.093704f, 0.122075f, 0.061622f, 0.006333f, -0.020142f, -0.053424f, -0.075636f, -0.011924f, -0.020252f, 0.006941f, 0.017288f, -0.001416f, 0.004327f, 0.008598f, 0.004045f, 0.029361f, 0.035538f, 0.021502f, -0.004034f, 0.003510f, -0.026224f, -0.055773f, -0.058691f, -0.029459f, -0.038438f, 0.031095f, 0.058666f, 0.061437f, 0.068366f, 0.036676f, -0.010827f, -0.027650f, + -0.049887f, -0.053692f, -0.036524f, -0.021466f, -0.002075f, 0.012587f, 0.026060f, 0.026799f, 0.023611f, 0.019181f, -0.002994f, 0.004533f, -0.005422f, 0.001791f, -0.003887f, -0.003614f, -0.000955f, -0.019662f, -0.018946f, -0.015143f, -0.028809f, -0.000842f, -0.004575f, 0.002887f, 0.051688f, 0.065685f, 0.024037f, 0.021911f, -0.015979f, -0.036729f, -0.021507f, -0.042052f, -0.020942f, 0.004099f, -0.000533f}, + {0.011661f, 0.000092f, 0.015194f, 0.000707f, -0.004832f, -0.001199f, 0.000104f, 0.001400f, 0.007083f, -0.002935f, 0.003623f, -0.007161f, 0.002410f, -0.000752f, 0.004930f, -0.003340f, 0.007122f, 0.001822f, -0.003633f, 0.000512f, -0.007243f, 0.008074f, -0.000753f, -0.001652f, -0.000004f, 0.001191f, 0.001695f, 0.001232f, 0.005961f, -0.010484f, 0.000784f, 0.006613f, 0.001309f, -0.000521f, -0.001165f, -0.000606f, -0.000243f, -0.000867f, -0.010733f, -0.000891f, 0.003172f, -0.003730f, 0.003613f, -0.008412f, 0.000042f, 0.004716f, -0.004945f, 0.009471f, 0.009166f, 0.006836f, 0.005827f, 0.007501f, 0.000927f, 0.003767f, -0.003558f, -0.001509f, -0.006177f, -0.002477f, -0.000342f, -0.005389f, -0.001810f, -0.007661f, 0.001078f, -0.006495f, -0.008498f, 0.001611f, -0.006217f, 0.004699f, 0.000685f, -0.006917f, 0.004759f, 0.003021f, -0.007686f, 0.002296f, 0.000166f, 0.008992f, 0.002643f, -0.011910f, 0.001583f, 0.003866f, 0.003755f, 0.018907f, 0.005193f, 0.004038f, -0.005508f, 0.000777f, -0.009480f, 0.002296f, 0.008860f, -0.004402f, 0.000504f, -0.001804f, -0.004616f, -0.007528f, 0.005941f, -0.012627f, + -0.006300f, -0.006317f, 0.006971f, 0.007569f, 0.004071f, 0.001841f, 0.005560f, 0.004539f, 0.009117f, -0.003094f, 0.003271f, 0.005635f, 0.001312f, 0.001877f, -0.006438f, -0.002800f, -0.002611f, -0.002444f, 0.006229f, -0.011629f, 0.002098f, -0.004014f, 0.012371f, 0.000315f, -0.002036f, -0.003043f, -0.004863f, -0.001659f, -0.005074f, -0.015357f, -0.004674f, -0.002998f, -0.002281f, -0.003439f, 0.001805f, -0.002876f, -0.000496f, -0.000991f, 0.005626f, 0.002401f, -0.000436f, 0.003424f, -0.002733f, 0.006575f, -0.004024f, -0.007195f, 0.007240f, 0.007190f, -0.002774f, -0.006960f, 0.001058f, 0.003635f, 0.003293f, 0.003068f, -0.002723f, -0.000316f, 0.003341f, 0.002768f, 0.017181f, -0.003063f, -0.001500f, 0.001956f, 0.004839f, -0.012442f, 0.007962f, -0.014793f, -0.000534f, -0.007100f, -0.000920f, -0.004655f, -0.000982f, -0.001046f, 0.007644f, -0.006204f, 0.008270f, -0.008352f, -0.009092f, 0.004030f, 0.012568f, -0.014519f, -0.003902f, -0.006968f, 0.000269f, -0.003575f, 0.004125f, 0.005352f, 0.002828f, 0.005448f, -0.008322f, 0.000411f, 0.012116f, 0.004786f, 0.001710f, -0.008564f, -0.012178f, -0.007351f, + 0.002101f, -0.006237f, -0.003365f, 0.002509f, 0.008252f, -0.007154f, -0.006910f, 0.002978f, -0.004984f, 0.009311f, 0.003333f, -0.000870f, 0.006760f, 0.006256f, 0.000256f, 0.010444f, 0.005408f, 0.003315f, 0.003040f, 0.006861f, 0.011013f, -0.006995f, 0.002373f, 0.002989f, -0.007181f, 0.000707f, 0.006487f, -0.002354f, 0.015863f, -0.004766f, -0.003666f, -0.003231f, 0.006183f, 0.007827f, -0.009492f, -0.004171f, 0.003329f, -0.021797f, -0.003438f, -0.004779f, -0.003794f, -0.001860f, -0.002569f, 0.011751f, 0.014042f, -0.003086f, 0.011479f, 0.004429f, -0.006170f, 0.003051f, -0.009408f, 0.001764f, 0.002129f, -0.012721f, -0.001781f, 0.002064f, 0.002351f, 0.008924f, -0.001592f, 0.007756f, -0.005043f, -0.009761f, -0.010258f, -0.002914f, -0.005139f, -0.007819f, 0.008246f, -0.003153f, -0.001472f, -0.001396f, 0.001799f, 0.004452f, -0.012466f, 0.000060f, 0.001841f, -0.005953f, 0.015051f, 0.001161f, -0.003616f, -0.003269f, 0.016050f, -0.001181f, 0.002089f, 0.009399f, 0.000328f, 0.005705f, 0.002284f, 0.000442f, 0.008838f, -0.000166f, -0.006171f, 0.007774f, 0.004226f, 0.004913f, 0.007128f, 0.002164f, + -0.005907f, 0.003898f, 0.005767f, 0.005416f, 0.008663f, -0.000311f, -0.008417f, -0.006982f, 0.010041f, 0.013878f, -0.013593f, 0.001967f, -0.004078f, -0.003192f, 0.002175f, 0.004309f, 0.003963f, -0.016194f, 0.017125f, 0.015849f, 0.011947f, -0.008454f, 0.009332f, 0.016859f, -0.004310f, 0.013149f, 0.004942f, 0.001891f, -0.002100f, 0.014494f, 0.006868f, -0.003531f, -0.010501f, 0.005953f, -0.004365f, -0.005728f, 0.005893f, 0.006849f, 0.003046f, -0.010542f, 0.001672f, 0.009179f, -0.004566f, 0.003000f, -0.020457f, 0.002770f, -0.001652f, 0.009665f, 0.002406f, -0.004441f, -0.006167f, 0.012397f, -0.010853f, 0.000654f, -0.008763f, 0.000785f, -0.002681f, 0.006787f, -0.001462f, -0.002569f, -0.010734f, -0.002869f, -0.001886f, 0.013025f, 0.000674f, -0.012537f, -0.000441f, -0.001036f, 0.004181f, 0.005988f, -0.005418f, -0.000398f, -0.006917f, 0.006936f, -0.001612f, 0.008436f, -0.004813f, 0.012755f, 0.006616f, -0.015294f, 0.015567f, -0.002926f, -0.010746f, 0.001057f, 0.014224f, 0.001997f, 0.002194f, -0.012558f, -0.000742f, -0.005765f, -0.006193f, -0.007773f, 0.000617f, 0.018357f, -0.006597f, -0.013650f, + -0.000907f, -0.020368f, -0.000230f, -0.017534f, -0.006231f, 0.011693f, -0.012566f, -0.013853f, 0.003874f, 0.000912f, 0.001010f, -0.003419f, -0.004682f, -0.010097f, 0.006464f, -0.019545f, -0.006159f, 0.001723f, 0.011751f, 0.000465f, 0.011922f, 0.004075f, 0.026461f, 0.009975f, -0.000515f, 0.000919f, 0.012472f, -0.003299f, -0.004052f, -0.002658f, 0.001853f, -0.008690f, -0.004442f, -0.014470f, -0.001265f, -0.006811f, -0.004190f, 0.017166f, -0.000013f, 0.010614f, -0.004691f, 0.004129f, -0.001432f, 0.006179f, -0.002530f, 0.005714f, -0.006374f, -0.007808f, -0.001595f, 0.001709f, -0.007933f, -0.007918f, 0.000196f, 0.003420f, 0.007609f, -0.001638f, -0.004361f, -0.002156f, 0.007074f, 0.012593f, 0.000011f, -0.009536f, -0.013614f, -0.000467f, 0.002560f, 0.000612f, 0.016320f, -0.011783f, -0.002018f, 0.006826f, -0.004774f, -0.010426f, 0.009467f, 0.003712f, 0.002208f, 0.001174f, 0.016612f, -0.012717f, -0.002580f, 0.001084f, -0.000978f, -0.000442f, -0.010478f, -0.008040f, -0.001124f, 0.007001f, 0.002540f, 0.002840f, 0.002940f, 0.007367f, -0.001492f, 0.006749f, 0.005435f, -0.017195f, -0.006618f, -0.020183f, + 0.005270f, -0.007053f, 0.010211f, -0.006474f, -0.008926f, -0.006459f, 0.005320f, -0.013388f, -0.011199f, 0.015813f, -0.008540f, 0.017147f, -0.003990f, 0.005270f, -0.005954f, -0.011287f, 0.012664f, -0.009530f, -0.010864f, -0.000886f, -0.005881f, -0.012590f, -0.009812f, -0.015910f, 0.000737f, 0.010674f, 0.006060f, -0.005968f, 0.018043f, 0.006934f, -0.006501f, -0.007951f, -0.012882f, 0.001007f, -0.004745f, -0.008592f, -0.004445f, -0.003292f, -0.006246f, 0.004064f, 0.014540f, -0.000127f, 0.001140f, -0.008865f, 0.004796f, 0.005892f, -0.008208f, -0.005472f, 0.003737f, 0.019037f, 0.007327f, -0.002228f, -0.001820f, -0.000473f, -0.016830f, 0.024803f, -0.003550f, 0.000935f, -0.002957f, 0.016499f, 0.015655f, 0.006075f, -0.023575f, -0.003073f, -0.028841f, 0.018643f, 0.008374f, 0.001518f, 0.031669f, 0.015581f, -0.001786f, -0.012732f, 0.013583f, -0.004839f, 0.004048f, 0.005371f, 0.002896f, 0.011153f, -0.008064f, 0.018313f, 0.007438f, 0.002776f, -0.004340f, -0.007653f, 0.012551f, 0.010971f, -0.001037f, 0.007538f, -0.013811f, 0.003896f, -0.018737f, 0.009143f, 0.001940f, 0.011159f, -0.015252f, 0.004519f, + -0.004434f, 0.004749f, 0.019103f, 0.016710f, 0.001530f, 0.005707f, -0.010584f, 0.016180f, 0.001199f, 0.033054f, 0.034381f, -0.003199f, -0.008220f, -0.007880f, -0.006546f, -0.018198f, -0.004737f, -0.024147f, 0.002237f, -0.000805f, -0.000744f, -0.003854f, 0.009588f, 0.016399f, 0.024195f, 0.023277f, 0.017452f, -0.026404f, -0.019285f, 0.000469f, 0.001839f, 0.030394f, -0.020157f, 0.016708f, -0.000810f, -0.005936f, -0.008538f, 0.017214f, 0.003740f, -0.012512f, -0.006941f, 0.032277f, 0.031622f, 0.035580f, -0.003472f, -0.001304f, -0.006044f, 0.006171f, 0.017291f, 0.020168f, 0.005734f, -0.008305f, -0.017122f, -0.034393f, 0.010189f, -0.020209f, -0.004614f, -0.001763f, -0.004574f, 0.002696f, -0.001191f, -0.005982f, -0.000943f, -0.019693f, -0.008165f, 0.001643f, -0.003944f, -0.022003f, -0.009724f, 0.002415f, 0.016052f, -0.004093f, 0.000173f, -0.017336f, -0.006358f, 0.000798f, 0.011494f, -0.006645f, 0.006901f, -0.019346f, -0.005980f, 0.005332f, 0.007140f, -0.004761f, 0.026366f, -0.004763f, -0.003924f, -0.013186f, -0.005173f, 0.011648f, 0.003072f, -0.000344f, 0.013348f, 0.020331f, 0.021913f, -0.003004f, + -0.012115f, -0.011803f, -0.000683f, 0.003791f, 0.004347f, -0.007932f, 0.006216f, 0.010912f, 0.006862f, 0.009300f, 0.021161f, 0.016815f, 0.008294f, 0.000566f, 0.002667f, -0.020236f, -0.007864f, -0.033920f, 0.039793f, -0.002226f, 0.004929f, 0.021276f, -0.000684f, -0.008915f, 0.000089f, -0.040951f, -0.025352f, -0.012481f, 0.005281f, -0.008935f, 0.003461f, -0.019731f, 0.011809f, -0.007602f, -0.001281f, 0.023511f, -0.025107f, -0.017060f, 0.021897f, -0.008320f, -0.034870f, 0.001281f, -0.021948f, 0.003179f, -0.002890f, 0.011508f, 0.004264f, 0.005233f, 0.001376f, -0.005222f, 0.013782f, -0.002832f, 0.018032f, 0.010603f, -0.008107f, -0.012747f, -0.012120f, 0.004041f, -0.006638f, 0.004055f, 0.002382f, 0.010099f, 0.001929f, -0.022556f, -0.000166f, 0.005943f, -0.008831f, -0.000416f, -0.016211f, -0.004615f, -0.000295f, -0.000432f, 0.032048f, -0.007325f, 0.022202f, 0.027181f, -0.009746f, 0.013798f, -0.006707f, -0.002465f, -0.018093f, 0.008419f, 0.022043f, 0.015220f, 0.001190f, 0.004730f, 0.012169f, -0.003153f, 0.009085f, -0.007561f, -0.011225f, -0.015164f, 0.000898f, 0.025919f, 0.038839f, 0.005336f, + 0.009440f, -0.009652f, -0.005011f, 0.026210f, -0.017865f, -0.004482f, -0.034855f, 0.031942f, 0.016653f, 0.001867f, -0.011997f, -0.033122f, 0.003067f, -0.009195f, 0.003776f, -0.037128f, 0.012845f, 0.018766f, -0.021458f, -0.005674f, 0.003002f, 0.001636f, 0.006910f, 0.020333f, 0.025660f, -0.000593f, -0.000198f, 0.004130f, 0.000854f, -0.016391f, -0.018018f, -0.012638f, -0.023696f, -0.012423f, 0.019998f, 0.008497f, -0.007607f, -0.010863f, -0.006670f, -0.042408f, 0.008933f, 0.008951f, -0.019474f, 0.030700f, 0.001079f, 0.022565f, -0.008588f, 0.014172f, -0.005124f, -0.021773f, 0.001803f, 0.017518f, -0.010456f, 0.008911f, 0.012072f, 0.032180f, 0.009299f, 0.008921f, 0.032293f, 0.016636f, 0.012195f, -0.046732f, 0.009205f, 0.004660f, 0.008614f, -0.001519f, -0.018333f, 0.029691f, -0.024170f, 0.015350f, 0.019321f, -0.032923f, -0.006360f, 0.035138f, -0.034535f, 0.001766f, 0.001288f, -0.021961f, -0.032400f, -0.015084f, -0.014332f, -0.043031f, 0.026949f, 0.003020f, 0.028864f, 0.000306f, 0.002985f, -0.015831f, -0.008851f, 0.013301f, -0.002462f, 0.013795f, -0.016467f, -0.006272f, 0.001385f, -0.008294f, + -0.013722f, 0.016702f, -0.019844f, 0.020167f, -0.008903f, 0.005563f, -0.006001f, -0.016179f, -0.014535f, 0.004813f, -0.006119f, -0.001679f, 0.009809f, 0.041771f, 0.001764f, -0.007088f, -0.015962f, 0.004662f, 0.033598f, -0.008011f, -0.007072f, -0.021950f, -0.008395f, 0.001303f, -0.020627f, -0.008680f, -0.028853f, 0.016001f, -0.035025f, -0.062508f, -0.007778f, 0.000218f, 0.027579f, -0.031789f, 0.026403f, 0.016326f, -0.015723f, -0.030208f, -0.006022f, 0.002741f, 0.006767f, -0.000964f, 0.016042f, -0.013834f, -0.006014f, -0.062189f, -0.009699f, 0.059684f, 0.004310f, -0.012853f, -0.010091f, -0.034751f, 0.022169f, -0.013150f, 0.031452f, 0.028376f, -0.005587f, -0.007903f, 0.000102f, -0.038701f, 0.029896f, -0.023509f, -0.018879f, -0.014091f, 0.012921f, 0.006782f, 0.027934f, 0.005684f, -0.011133f, -0.013580f, -0.014044f, 0.015611f, -0.003743f, -0.006384f, 0.025795f, 0.028381f, 0.011486f, -0.014759f, 0.024003f, 0.036909f, -0.010379f, -0.004898f, 0.032440f, 0.010258f, 0.008690f, -0.016732f, 0.002721f, 0.030878f, -0.038890f, 0.031340f, -0.003465f, 0.006564f, 0.019985f, 0.023450f, 0.002627f, 0.013089f, + -0.016809f, -0.013273f, 0.013609f, 0.042245f, 0.013415f, 0.012447f, 0.017793f, -0.017049f, 0.007045f, 0.020436f, 0.013006f, -0.000303f, 0.016981f, 0.011819f, -0.020787f, 0.022368f, -0.020186f, 0.008431f, 0.019743f, -0.014962f, 0.016813f, -0.018844f, -0.006082f, 0.007818f, 0.003582f, 0.018275f, -0.006499f, 0.016588f, -0.006893f, 0.006545f, 0.006680f, 0.001427f, -0.007939f, -0.010965f, 0.046151f, -0.027405f, 0.028623f, -0.010859f, -0.028579f, -0.037224f, -0.010385f, -0.004114f, 0.021680f, -0.032901f, -0.005181f, -0.004275f, 0.017189f, 0.031775f, 0.026906f, 0.016092f, 0.002770f, -0.008876f, -0.004699f, -0.003968f, 0.023069f, 0.017964f, -0.003977f, 0.002209f, -0.004464f, 0.013827f, -0.034742f, 0.020219f, 0.012242f, 0.015595f, 0.006309f, 0.002858f, 0.031218f, -0.012985f, -0.025018f, -0.000900f, -0.007555f, 0.000678f, -0.034856f, -0.021030f, -0.000945f, 0.028826f, -0.019012f, -0.007667f, 0.006334f, -0.002522f, 0.002395f, 0.028143f, 0.013544f, -0.006003f, 0.004415f, 0.012955f, 0.011516f, 0.032838f, -0.007945f, 0.014101f, 0.019872f, 0.007687f, -0.002952f, 0.003900f, -0.034530f, 0.014212f, + -0.003775f, -0.000144f, -0.004972f, -0.022492f, -0.023584f, 0.003704f, -0.008480f, -0.039535f, 0.014587f, -0.033819f, -0.016765f, -0.007178f, -0.039565f, -0.030176f, 0.019313f, -0.046909f, -0.052127f, 0.034110f, 0.030774f, 0.011679f, 0.033162f, 0.054434f, 0.016747f, -0.017951f, 0.018730f, -0.005898f, -0.013010f, 0.026062f, 0.003486f, -0.019351f, 0.014912f, 0.019401f, 0.005691f, 0.008245f, 0.002994f, 0.004867f, 0.049652f, 0.001200f, 0.011898f, 0.006740f, 0.031378f, 0.004055f, 0.049176f, 0.002111f, -0.019432f, 0.040461f, 0.009279f, -0.014432f, -0.004494f, 0.022621f, -0.002761f, 0.002145f, 0.017163f, -0.026411f, 0.030233f, -0.003506f, -0.041033f, -0.009198f, 0.005397f, -0.039596f, -0.003553f, -0.001636f, 0.019741f, 0.020843f, 0.032902f, -0.019383f, 0.005864f, 0.008099f, 0.007552f, 0.016743f, -0.019425f, -0.019586f, 0.012727f, 0.002837f, 0.024966f, 0.023350f, 0.006616f, 0.054588f, -0.008135f, -0.003808f, -0.034603f, 0.056163f, 0.009049f, 0.040679f, 0.021570f, -0.052649f, 0.007334f, 0.011241f, 0.033691f, -0.011649f, 0.011664f, 0.031213f, -0.068165f, 0.039278f, 0.040132f, -0.018239f, + 0.009109f, 0.004774f, 0.010503f, -0.000666f, 0.031981f, -0.024665f, -0.005532f, -0.026442f, -0.000578f, -0.015459f, 0.001976f, 0.005654f, -0.037272f, 0.015428f, 0.040025f, -0.028959f, -0.026656f, -0.028418f, 0.053476f, -0.024798f, -0.013157f, 0.003521f, -0.018296f, -0.057014f, 0.009875f, 0.038702f, -0.055127f, -0.026710f, 0.019370f, 0.027966f, 0.008387f, -0.010191f, 0.013216f, -0.021473f, -0.008710f, -0.002944f, 0.027964f, -0.039631f, -0.029271f, 0.019180f, 0.035160f, 0.011402f, -0.042132f, -0.016143f, 0.002034f, -0.004305f, -0.006388f, 0.020047f, -0.005457f, 0.031391f, -0.026223f, -0.008600f, 0.001463f, -0.034255f, 0.021703f, -0.039536f, -0.023385f, 0.008845f, -0.014309f, 0.032745f, 0.054078f, 0.027409f, -0.031432f, 0.014946f, -0.006871f, -0.013450f, -0.020356f, -0.010677f, -0.034678f, 0.027151f, 0.028345f, 0.011405f, 0.038166f, 0.064305f, -0.001492f, -0.050460f, 0.009448f, -0.060014f, 0.009074f, 0.025786f, 0.011558f, 0.002546f, 0.034430f, 0.025217f, -0.002638f, -0.006427f, -0.049837f, -0.027313f, -0.000343f, -0.023860f, 0.065001f, -0.013091f, -0.016064f, -0.029573f, 0.002466f, 0.023797f, + 0.016289f, -0.001972f, 0.011666f, 0.018279f, -0.030428f, 0.008934f, 0.055566f, 0.018961f, -0.040044f, -0.028566f, 0.017267f, -0.020401f, -0.003781f, 0.012624f, -0.009783f, -0.033331f, -0.008835f, 0.002645f, 0.052849f, -0.012986f, 0.010827f, -0.015713f, -0.044824f, 0.006247f, 0.053629f, -0.016192f, -0.034021f, 0.008055f, -0.021276f, 0.011816f, -0.012636f, -0.015066f, 0.036550f, -0.011435f, -0.005370f, 0.016492f, -0.033475f, 0.009628f, 0.038916f, -0.018774f, 0.002597f, -0.025883f, 0.069410f, -0.015580f, 0.007917f, 0.019504f, -0.016365f, -0.007721f, -0.018230f, 0.005137f, -0.019676f, -0.023517f, -0.018248f, -0.107338f, -0.037096f, -0.001183f, 0.035339f, -0.017358f, -0.053323f, -0.019617f, -0.007135f, 0.027271f, 0.007694f, -0.006466f, -0.025966f, 0.029019f, 0.050983f, -0.022034f, 0.038736f, 0.010261f, -0.071050f, 0.027540f, 0.034519f, -0.011105f, -0.028420f, -0.004751f, 0.045070f, 0.047972f, -0.003124f, -0.035121f, 0.003290f, -0.003388f, -0.003851f, -0.029167f, 0.008161f, 0.014311f, -0.046606f, 0.033381f, 0.028565f, -0.032748f, 0.006953f, -0.036833f, 0.014030f, 0.092268f, -0.081121f, 0.085342f, + 0.039056f, 0.004448f, 0.052529f, 0.026357f, -0.052289f, 0.032448f, -0.039160f, -0.008363f, 0.044210f, 0.002595f, 0.013125f, -0.021721f, -0.038185f, 0.118562f, -0.027139f, 0.002193f, 0.047079f, -0.022013f, 0.009612f, 0.003977f, 0.029238f, 0.066889f, 0.063663f, 0.060165f, 0.004183f, -0.000844f, -0.009148f, 0.003359f, -0.015577f, 0.004902f, 0.051727f, -0.012571f, -0.015060f, 0.028556f, -0.006396f, -0.078929f, 0.037197f, -0.057152f, 0.082501f, 0.010378f, -0.069817f, 0.016707f, 0.001728f, 0.033960f, 0.016845f, -0.016509f, 0.061499f, 0.015330f, 0.004312f, 0.040844f, -0.030892f, -0.044229f, 0.002821f, 0.023947f, 0.082687f, -0.010960f, 0.001689f, -0.008071f, 0.060115f, 0.006788f, -0.044912f, -0.027122f, 0.010491f, -0.004806f, 0.027690f, -0.044897f, 0.023560f, 0.007660f, 0.015317f, -0.003792f, -0.015649f, 0.010508f, 0.020288f, 0.000373f, 0.056638f, -0.087587f, 0.010005f, -0.030822f, -0.016779f, -0.011226f, -0.061570f, -0.093163f, -0.093772f, -0.070116f, 0.010337f, 0.000370f, -0.052911f, -0.000462f, -0.006943f, 0.006010f, -0.031266f, -0.089859f, 0.092225f, -0.001625f, -0.009093f, 0.018010f, + -0.083524f, -0.006018f, -0.017223f, 0.016575f, 0.030845f, 0.120822f, 0.095404f, -0.009545f, 0.005022f, -0.001737f, 0.030534f, 0.038876f, 0.029828f, -0.021005f, 0.111434f, -0.102892f, 0.019745f, -0.018405f, 0.005899f, 0.046030f, -0.030440f, 0.012814f, 0.003586f, -0.111486f, 0.004748f, -0.010952f, 0.007481f, 0.014850f, -0.048559f, -0.017090f, -0.081666f, -0.019800f, -0.001950f, 0.006385f, -0.029500f, -0.022001f, -0.034211f, -0.013356f, 0.038538f, 0.009770f, 0.075529f, 0.019815f, -0.022204f, -0.023983f, 0.047539f, -0.047975f, 0.088719f, -0.065152f, 0.022418f, -0.052119f, 0.004101f, 0.053877f, -0.090844f, 0.090739f, 0.018929f, 0.012508f, -0.061059f, -0.010554f, -0.008568f, 0.002430f, 0.034867f, 0.033422f, 0.043129f, -0.071901f, 0.002547f, -0.026592f, -0.020637f, -0.025869f, -0.035055f, -0.024855f, 0.006934f, 0.045728f, -0.039563f, 0.015456f, -0.077332f, -0.024766f, 0.028489f, 0.028440f, 0.012634f, -0.091894f, -0.042536f, -0.030332f, -0.038186f, -0.036530f, 0.015619f, -0.028010f, 0.065581f, 0.018793f, 0.044187f, -0.013175f, 0.046702f, -0.089391f, 0.135043f, -0.102576f, -0.011084f, -0.062206f, + 0.011852f, 0.000568f, -0.037395f, -0.053452f, 0.061422f, 0.040460f, 0.019269f, -0.027840f, 0.027168f, 0.007375f, 0.058206f, -0.047133f, -0.030243f, 0.034911f, 0.060660f, -0.078395f, 0.031439f, -0.004156f, 0.037030f, -0.029281f, 0.011180f, -0.035752f, 0.007572f, -0.065696f, 0.021630f, 0.066873f, -0.001572f, -0.007160f, 0.086137f, 0.012864f, -0.038410f, -0.085452f, 0.072320f, -0.039911f, 0.033317f, -0.032964f, 0.086509f, 0.035077f, -0.007920f, 0.006089f, -0.047712f, 0.003748f, 0.022992f, -0.026846f, 0.025770f, -0.106333f, 0.042638f, 0.090068f, 0.075536f, -0.044175f, -0.039319f, -0.046194f, 0.050309f, -0.000481f, -0.011676f, -0.000855f, 0.124503f, -0.064055f, -0.023303f, 0.041104f, -0.035442f, -0.115373f, 0.051827f, 0.017201f, -0.071492f, 0.035378f, 0.083225f, 0.056470f, -0.010578f, -0.043213f, -0.088477f, 0.045554f, -0.006186f, 0.011032f, -0.033073f, 0.026801f, -0.000434f, 0.014149f, 0.003653f, 0.003870f, -0.019183f, 0.012682f, 0.046346f, -0.061638f, 0.050973f, -0.010153f, -0.032778f, 0.009358f, -0.022559f, 0.012710f, -0.023062f, -0.019625f, 0.014533f, -0.049549f, -0.005737f, 0.062721f, + -0.093377f, 0.024675f, 0.003683f, -0.016977f, -0.029167f, -0.035184f, -0.022565f, 0.065760f, -0.056052f, -0.009515f, 0.021169f, -0.057923f, 0.013748f, 0.029262f, 0.020179f, 0.008898f, 0.009297f, -0.033496f, 0.024624f, -0.084616f, 0.000834f, 0.070707f, -0.030589f, -0.010026f, -0.016460f, -0.022395f, -0.000681f, -0.060634f, 0.031071f, 0.021497f, -0.048383f, 0.043345f, 0.012899f, -0.057504f, 0.023113f, -0.013063f, 0.040649f, 0.032508f, -0.050630f, 0.015394f, 0.058169f, -0.056478f, 0.031546f, -0.041110f, 0.032156f, 0.032081f, -0.051753f, 0.028173f, 0.000609f, -0.029682f, 0.049131f, 0.013960f, -0.046530f, -0.229101f, -0.467833f, -0.202659f, -0.320526f, -0.426071f, 0.121698f, 0.025014f, 0.101222f, 0.563044f, 0.464164f, 0.296465f, 0.479413f, 0.316894f, 0.012707f, 0.057662f, 0.033783f, -0.299037f, -0.203093f, -0.148361f, -0.338129f, -0.344138f, -0.115640f, -0.116113f, -0.224494f, -0.086101f, -0.070065f, -0.263966f, -0.231058f, -0.093131f, -0.139229f, -0.250221f, -0.081507f, -0.063862f, -0.201701f, -0.046235f, 0.095690f, -0.078340f, -0.068361f, 0.154957f, 0.085268f, -0.097743f, 0.134937f, 0.239281f, + 0.005680f, 0.125097f, 0.299879f, 0.135986f, 0.059849f, 0.327383f, 0.234072f, 0.169973f, 0.403730f, 0.554033f, 0.435232f, 0.509509f, 0.665895f, 0.431195f, 0.279088f, 0.371350f, 0.237630f, -0.074832f, -0.020378f, -0.170581f, -0.416907f, -0.587730f, -0.626955f, -0.839264f, -0.948278f, -1.002784f, -0.955856f, -0.908067f, -0.879758f, -0.704786f, -0.470026f, -0.362649f, 0.038999f, 0.300998f, 0.196537f} + }, + { + {0.021751f, -0.001344f, -0.000264f, 0.002367f, -0.002589f, -0.002741f, -0.001962f, 0.005069f, -0.013051f, 0.004925f, -0.003574f, 0.000009f, 0.000693f, -0.000520f, -0.001667f, 0.000794f, 0.002928f, 0.005473f, -0.002548f, 0.006101f, -0.004929f, -0.005469f, -0.003901f, 0.002747f, -0.005111f, -0.003286f, 0.003947f, 0.000769f, -0.001651f, 0.004862f, -0.001116f, 0.000007f, 0.003177f, 0.001717f, -0.002393f, -0.003334f, -0.003598f, -0.004090f, -0.009305f, 0.002470f, -0.002208f, -0.000736f, 0.014139f, 0.001233f, -0.002869f, 0.008104f, -0.002965f, 0.000140f, -0.003650f, -0.006742f, 0.008367f, -0.002690f, -0.001381f, 0.000095f, -0.005786f, 0.001855f, -0.000254f, 0.004249f, -0.000852f, 0.004260f, 0.001657f, -0.001172f, 0.005120f, -0.000664f, 0.001873f, 0.002498f, -0.000150f, -0.011651f, -0.000134f, -0.001703f, -0.004402f, 0.002948f, -0.000979f, -0.002507f, -0.001387f, -0.007215f, 0.004723f, 0.007449f, -0.002352f, 0.006645f, -0.000848f, 0.007004f, 0.003611f, -0.001277f, -0.002469f, 0.007096f, 0.000768f, 0.001592f, -0.007636f, -0.001032f, -0.000383f, -0.000126f, 0.010867f, 0.005449f, -0.000219f, -0.007794f, + -0.005667f, -0.003222f, 0.001140f, 0.000046f, 0.002471f, 0.005146f, 0.001646f, 0.002045f, -0.007952f, -0.001013f, -0.007743f, 0.000551f, -0.004228f, 0.005394f, 0.005273f, -0.001820f, -0.004139f, 0.005630f, 0.001257f, -0.001788f, -0.007192f, -0.000753f, -0.004591f, 0.001544f, 0.004524f, -0.007155f, -0.003553f, -0.001001f, -0.002852f, 0.019098f, 0.004517f, 0.011123f, 0.000796f, 0.003802f, -0.000100f, -0.005224f, -0.005100f, -0.006213f, 0.002968f, -0.005092f, 0.003715f, 0.000330f, 0.004519f, 0.004971f, 0.011393f, 0.003683f, -0.001207f, -0.000418f, -0.007194f, 0.011359f, 0.009927f, 0.001901f, 0.002693f, 0.002935f, 0.002632f, 0.025704f, -0.006521f, -0.005828f, -0.002462f, -0.005547f, 0.000861f, -0.012788f, 0.000641f, 0.002063f, 0.000313f, 0.008008f, 0.000656f, -0.002166f, -0.007741f, 0.004328f, -0.010781f, -0.009494f, 0.002985f, -0.004872f, -0.002381f, -0.002037f, 0.001487f, 0.006585f, 0.009425f, 0.000228f, -0.001744f, 0.010990f, 0.003914f, -0.001197f, 0.000196f, -0.005246f, -0.000068f, 0.012068f, -0.000197f, -0.006446f, -0.004939f, -0.001958f, 0.004104f, -0.006458f, -0.007372f, -0.007992f, + -0.006177f, 0.005106f, -0.005808f, 0.001475f, -0.007012f, 0.001716f, 0.008215f, -0.000190f, 0.005819f, -0.003282f, -0.004783f, -0.003123f, 0.004041f, -0.001086f, 0.006309f, 0.008419f, 0.001338f, -0.003738f, -0.004810f, -0.001221f, -0.000684f, -0.000617f, 0.000355f, -0.009315f, -0.000769f, -0.005039f, -0.004029f, 0.002651f, 0.001036f, 0.001081f, 0.003278f, -0.011426f, -0.005095f, 0.002049f, -0.001376f, 0.004410f, -0.019464f, -0.010054f, -0.004880f, -0.013595f, -0.005277f, -0.013092f, 0.002717f, -0.001983f, -0.008458f, -0.009673f, -0.002165f, -0.008076f, -0.001030f, 0.005015f, -0.001300f, -0.011816f, -0.004886f, -0.000782f, -0.005098f, -0.004475f, 0.002312f, 0.009296f, 0.012308f, -0.003079f, -0.004333f, 0.006412f, 0.007573f, -0.003591f, -0.002759f, -0.002653f, -0.006732f, 0.000817f, 0.001936f, -0.006335f, -0.004792f, -0.002245f, 0.004282f, 0.010207f, -0.000044f, -0.004796f, -0.000764f, -0.006681f, -0.002847f, -0.010026f, -0.004986f, -0.005032f, -0.014966f, -0.002563f, -0.007192f, -0.005542f, -0.016340f, 0.008623f, -0.007513f, -0.007107f, 0.002073f, -0.002061f, -0.001815f, 0.000945f, -0.013648f, -0.004481f, + -0.005308f, -0.002150f, -0.008129f, -0.002156f, -0.004141f, 0.002295f, 0.003924f, -0.005378f, -0.002791f, -0.007364f, 0.001729f, -0.002093f, -0.001625f, -0.001145f, -0.009729f, -0.001394f, -0.007883f, -0.034236f, -0.002539f, -0.016751f, 0.015405f, -0.008593f, 0.027579f, -0.017289f, 0.017416f, -0.015270f, -0.000838f, 0.000084f, -0.011918f, 0.009669f, 0.000398f, -0.004106f, 0.002843f, -0.003526f, -0.001560f, -0.011273f, -0.000119f, -0.008381f, 0.006950f, 0.002901f, 0.008493f, -0.004528f, 0.012674f, 0.011988f, -0.011243f, 0.003673f, -0.009599f, 0.010648f, -0.000057f, -0.006453f, 0.000415f, -0.000370f, -0.000567f, 0.008050f, 0.000856f, -0.010316f, 0.004281f, 0.008629f, -0.000810f, 0.010094f, -0.004665f, 0.008402f, -0.011754f, -0.004987f, 0.007097f, -0.005706f, 0.001474f, 0.010958f, -0.009617f, 0.015806f, 0.005384f, -0.013709f, 0.003030f, -0.013122f, 0.004502f, 0.008968f, 0.004693f, 0.008732f, 0.010230f, 0.004885f, -0.002103f, 0.000385f, -0.000107f, 0.004808f, 0.006940f, -0.001271f, 0.013828f, 0.004437f, 0.009039f, 0.007236f, 0.001672f, 0.002671f, 0.022336f, -0.000281f, -0.006609f, -0.002480f, + -0.008907f, -0.010531f, 0.016186f, -0.003620f, -0.002850f, 0.014855f, -0.001618f, -0.003331f, 0.006301f, 0.011482f, 0.002937f, 0.005516f, -0.000757f, -0.013321f, -0.003891f, 0.009366f, -0.015226f, -0.014979f, -0.005955f, 0.002846f, -0.010888f, -0.006607f, -0.000282f, -0.001806f, 0.009729f, -0.004286f, -0.002748f, 0.010446f, 0.014485f, -0.013330f, 0.002875f, -0.003425f, 0.004940f, 0.001175f, -0.006312f, -0.001571f, 0.005684f, 0.009256f, -0.003135f, -0.013800f, -0.003618f, -0.001486f, -0.004156f, -0.007025f, 0.000372f, -0.001138f, 0.001837f, -0.002132f, 0.001237f, 0.012351f, -0.009987f, 0.000955f, -0.007784f, -0.006001f, -0.010467f, -0.003173f, -0.006368f, -0.013713f, -0.001235f, 0.000731f, -0.006036f, -0.001206f, -0.006374f, 0.005068f, 0.005719f, -0.001132f, 0.001085f, -0.004903f, -0.002225f, 0.016360f, -0.002951f, -0.006493f, -0.021922f, 0.030264f, 0.033905f, 0.007090f, -0.011296f, 0.008342f, 0.013817f, 0.013907f, 0.008138f, 0.010710f, 0.005168f, 0.017027f, -0.000916f, -0.001156f, -0.005891f, 0.011010f, -0.005255f, -0.013422f, -0.018962f, 0.003120f, -0.008740f, -0.007250f, 0.007635f, -0.001192f, + -0.004560f, 0.017435f, -0.000529f, 0.021455f, 0.000866f, -0.007222f, -0.004922f, 0.008128f, 0.005414f, -0.003128f, -0.015669f, 0.024410f, 0.014171f, 0.001076f, 0.013310f, 0.008549f, 0.008843f, -0.006742f, 0.009894f, 0.005734f, 0.002412f, -0.001864f, -0.003678f, -0.009374f, -0.014117f, 0.005119f, 0.007543f, -0.010390f, 0.005016f, 0.010834f, 0.015087f, 0.004888f, 0.013639f, 0.007158f, 0.011642f, -0.015585f, 0.005244f, 0.002531f, 0.003601f, 0.001412f, -0.000922f, 0.008022f, 0.006550f, 0.007169f, 0.009115f, -0.002096f, 0.004357f, 0.003406f, 0.012843f, 0.016588f, -0.008420f, -0.009147f, 0.027587f, 0.009090f, 0.012449f, -0.009356f, 0.004399f, -0.023942f, 0.001776f, -0.017116f, 0.013854f, 0.009645f, -0.007043f, 0.011935f, 0.006819f, -0.011330f, -0.002594f, 0.018032f, -0.000202f, 0.012656f, -0.002925f, 0.003139f, 0.014161f, -0.016440f, -0.001016f, 0.003608f, 0.005349f, 0.001969f, 0.005837f, 0.001570f, 0.017034f, -0.006903f, -0.004583f, -0.004166f, 0.012907f, 0.002546f, -0.005755f, 0.008669f, 0.021580f, -0.013940f, 0.002814f, 0.003912f, -0.001145f, 0.009705f, -0.004188f, 0.017450f, + 0.005617f, 0.005285f, -0.013291f, -0.000136f, -0.003456f, 0.008818f, 0.005784f, 0.009476f, -0.009128f, -0.004663f, 0.007856f, -0.014644f, -0.008922f, 0.005118f, 0.017333f, 0.012016f, 0.015347f, -0.015008f, -0.005169f, -0.015177f, -0.004243f, 0.006996f, -0.001242f, -0.013948f, 0.002398f, -0.007569f, 0.000334f, -0.014975f, -0.020393f, -0.005700f, -0.013883f, 0.004769f, -0.033109f, -0.029965f, -0.021911f, 0.005123f, 0.005165f, 0.022708f, -0.011798f, 0.021516f, -0.010525f, -0.038605f, -0.004601f, -0.004642f, -0.015764f, -0.025372f, -0.010136f, -0.001673f, -0.016234f, -0.001263f, -0.024286f, 0.000555f, -0.025541f, 0.012753f, -0.007433f, 0.008998f, -0.006098f, -0.001527f, -0.008886f, -0.009828f, 0.013586f, 0.001856f, -0.005739f, 0.015900f, 0.000505f, 0.001676f, 0.004421f, 0.014571f, 0.012298f, 0.009427f, -0.001165f, -0.019501f, -0.003370f, 0.007876f, 0.001240f, 0.010340f, -0.006896f, 0.004075f, -0.028615f, 0.007626f, 0.014883f, -0.021493f, 0.010603f, 0.003312f, 0.017859f, 0.013917f, -0.001560f, -0.005986f, -0.002011f, 0.012301f, 0.004941f, -0.018133f, -0.015639f, -0.024724f, -0.013142f, -0.016805f, + -0.005189f, -0.020561f, -0.005774f, -0.007271f, 0.018750f, -0.009964f, 0.008520f, -0.005641f, -0.004434f, -0.006836f, -0.015469f, -0.007571f, -0.040245f, 0.034146f, -0.007213f, 0.020912f, 0.013030f, 0.001005f, -0.025908f, 0.023701f, 0.004959f, -0.000200f, 0.015861f, 0.011534f, -0.009473f, 0.001484f, 0.025697f, 0.009497f, -0.008585f, 0.018406f, -0.007058f, -0.005776f, -0.002906f, 0.006970f, 0.002310f, -0.001498f, 0.004511f, 0.008740f, 0.008709f, 0.008142f, -0.015085f, 0.012263f, -0.012096f, 0.021166f, -0.009828f, 0.021057f, 0.008762f, 0.003324f, -0.016697f, -0.018081f, -0.003906f, -0.005079f, 0.025414f, 0.007855f, 0.020915f, 0.009044f, -0.013527f, 0.002011f, -0.000879f, 0.009196f, 0.003350f, 0.008255f, 0.000953f, -0.009589f, -0.003335f, 0.012932f, 0.032059f, 0.022187f, 0.005628f, 0.008523f, 0.001311f, -0.002674f, 0.018357f, 0.013821f, -0.001617f, 0.019705f, 0.029676f, 0.037525f, 0.004847f, -0.019173f, -0.020592f, 0.010289f, 0.009143f, 0.000720f, 0.011281f, 0.002233f, -0.002420f, 0.002158f, 0.027874f, 0.019018f, -0.029077f, 0.023509f, 0.009421f, -0.020084f, 0.045251f, 0.006281f, + -0.023754f, 0.004793f, 0.012328f, 0.000579f, 0.008815f, 0.032127f, -0.031722f, 0.019776f, -0.013021f, 0.017431f, -0.007237f, 0.003118f, -0.029353f, 0.004148f, -0.003433f, 0.010853f, -0.011402f, 0.000761f, 0.001983f, -0.000600f, -0.017292f, 0.015423f, 0.001503f, -0.002766f, 0.007504f, -0.004306f, 0.007399f, -0.005150f, 0.022882f, 0.017067f, 0.022652f, 0.021526f, -0.003862f, 0.006680f, 0.009661f, -0.000318f, -0.012128f, 0.014677f, -0.019253f, 0.004414f, 0.018692f, -0.012792f, 0.009790f, -0.022758f, 0.006501f, -0.003582f, -0.005301f, -0.003675f, 0.001303f, 0.004554f, 0.005913f, 0.020136f, -0.015027f, -0.002973f, 0.014200f, 0.029254f, -0.028732f, 0.004555f, -0.007688f, 0.006740f, -0.006150f, 0.043093f, -0.029745f, 0.006593f, -0.017509f, -0.012872f, 0.001950f, 0.000133f, -0.000455f, -0.045044f, 0.020473f, -0.029058f, -0.006884f, 0.038865f, -0.012855f, -0.001728f, 0.020412f, 0.004070f, 0.012252f, -0.030639f, 0.027591f, 0.000906f, 0.001231f, -0.008495f, -0.018761f, -0.003424f, -0.003658f, -0.020108f, -0.012438f, 0.020238f, -0.007635f, 0.003083f, -0.011304f, -0.047659f, 0.014912f, 0.001106f, + -0.015295f, 0.007883f, 0.017191f, -0.002736f, 0.001119f, -0.004708f, 0.003669f, 0.011171f, 0.003024f, 0.018584f, 0.012605f, 0.001963f, 0.016334f, -0.015005f, -0.014523f, -0.020613f, 0.006478f, 0.010039f, 0.002405f, -0.032076f, 0.007884f, -0.027625f, 0.037324f, -0.010370f, 0.012716f, 0.031208f, -0.013689f, 0.019272f, 0.004322f, 0.021042f, 0.008237f, -0.012446f, -0.034270f, -0.025668f, -0.019529f, -0.004355f, -0.020448f, -0.005837f, -0.017963f, -0.013231f, 0.032855f, 0.004984f, -0.015098f, -0.015332f, 0.006052f, 0.009476f, -0.003631f, 0.001213f, -0.061869f, 0.019771f, 0.002833f, 0.011966f, -0.039200f, -0.047708f, 0.026538f, -0.024119f, -0.027945f, -0.008922f, 0.016076f, 0.034836f, -0.025325f, 0.000607f, 0.015684f, -0.006505f, -0.009072f, 0.007999f, 0.004454f, 0.025897f, 0.007470f, -0.027459f, -0.002662f, -0.014563f, -0.002606f, -0.016832f, -0.022237f, 0.001873f, 0.018720f, -0.002784f, 0.007316f, -0.018286f, 0.003110f, 0.019000f, 0.013786f, 0.001100f, -0.000385f, 0.011389f, 0.009977f, 0.006375f, 0.016440f, -0.024769f, 0.023548f, 0.017206f, 0.004076f, -0.020721f, -0.000914f, 0.013619f, + -0.017771f, 0.016020f, -0.014708f, 0.018301f, -0.007881f, 0.024288f, -0.043127f, 0.041424f, 0.007172f, 0.038942f, -0.000412f, -0.010085f, -0.006001f, 0.013014f, -0.002394f, -0.035408f, -0.002229f, -0.004139f, -0.038791f, 0.009213f, 0.020858f, -0.035222f, 0.023381f, -0.031429f, 0.004489f, 0.008856f, 0.001107f, -0.039442f, -0.022923f, -0.021567f, -0.001597f, -0.003439f, -0.021372f, -0.020791f, 0.033149f, 0.007215f, 0.022038f, 0.021383f, 0.006470f, -0.015346f, 0.004175f, 0.055498f, -0.037081f, 0.009726f, -0.006002f, -0.019953f, 0.001852f, 0.008006f, 0.009472f, 0.000374f, 0.000747f, -0.010179f, -0.015239f, -0.024039f, -0.011870f, 0.019239f, -0.015042f, -0.024177f, 0.014821f, -0.008293f, 0.006026f, -0.002706f, 0.011619f, -0.009992f, 0.023868f, -0.007881f, 0.003042f, -0.000013f, 0.002967f, 0.021996f, 0.007796f, -0.009517f, 0.011924f, -0.008701f, 0.018054f, -0.010198f, 0.007636f, -0.024857f, -0.018053f, -0.013193f, 0.004752f, -0.012339f, -0.021687f, 0.009465f, 0.016574f, 0.004915f, -0.011479f, 0.007583f, 0.011686f, 0.013044f, 0.035359f, 0.048487f, 0.066134f, -0.006994f, 0.010489f, 0.015543f, + 0.009196f, 0.008301f, 0.010355f, -0.014393f, 0.025811f, -0.004918f, 0.033639f, 0.040561f, 0.030161f, 0.010172f, 0.016307f, 0.002233f, 0.057521f, 0.009670f, -0.014529f, 0.000835f, 0.067374f, 0.054113f, -0.021627f, -0.009379f, -0.026024f, 0.017003f, 0.009218f, 0.033447f, -0.004146f, -0.012939f, -0.004743f, -0.019937f, 0.006364f, 0.001770f, 0.032186f, -0.010503f, 0.013112f, -0.040183f, 0.024410f, -0.002405f, 0.017765f, 0.000561f, 0.016327f, 0.003168f, -0.021405f, -0.011406f, -0.018025f, -0.014626f, 0.018964f, 0.041236f, 0.019875f, -0.004366f, -0.010409f, -0.000141f, -0.001140f, 0.010494f, 0.016108f, -0.025757f, 0.001919f, -0.008880f, -0.006193f, -0.028149f, -0.019223f, -0.045775f, 0.003540f, -0.002368f, 0.019305f, -0.013898f, 0.032266f, -0.022583f, -0.006797f, 0.058369f, 0.061351f, -0.040783f, 0.012282f, 0.033066f, -0.016143f, -0.010205f, 0.020974f, -0.007542f, -0.020800f, 0.064083f, -0.012263f, -0.100860f, 0.037286f, -0.003167f, -0.046687f, 0.036859f, 0.046600f, -0.017686f, 0.034349f, 0.033598f, -0.012304f, -0.003433f, 0.028622f, -0.031198f, 0.012587f, -0.026345f, -0.013968f, 0.002996f, + 0.009814f, 0.020331f, 0.008856f, -0.019342f, -0.005156f, 0.014681f, -0.020554f, 0.017147f, -0.011243f, -0.025384f, 0.019495f, 0.009614f, 0.008663f, -0.007428f, -0.008092f, -0.009877f, -0.003295f, 0.016690f, -0.039525f, 0.017217f, -0.002991f, 0.029853f, -0.021914f, -0.001210f, -0.026737f, 0.009416f, -0.042120f, 0.003210f, -0.000581f, -0.016976f, -0.014388f, 0.005288f, -0.029228f, -0.047346f, 0.025587f, -0.003594f, 0.005930f, -0.028323f, 0.014244f, -0.005314f, 0.015456f, 0.018519f, 0.006971f, -0.020057f, 0.013300f, -0.009930f, -0.006946f, -0.036365f, 0.002397f, -0.025955f, -0.030737f, -0.041142f, -0.019585f, 0.006273f, 0.008401f, -0.042191f, -0.023752f, 0.002321f, -0.018078f, -0.056255f, -0.047882f, -0.045572f, -0.012685f, -0.026735f, 0.021206f, 0.035599f, 0.006148f, -0.032249f, -0.042881f, -0.043328f, -0.007882f, 0.001094f, 0.020243f, -0.026397f, 0.052548f, 0.058211f, -0.010828f, 0.040161f, -0.008136f, -0.011908f, -0.012109f, 0.039269f, -0.029348f, -0.004417f, -0.012725f, 0.060736f, 0.004567f, 0.024134f, 0.009947f, -0.002364f, 0.031156f, 0.019256f, 0.025893f, 0.010619f, -0.001419f, -0.006879f, + 0.024802f, -0.000464f, -0.019965f, 0.031009f, 0.001395f, 0.027637f, -0.024956f, 0.022368f, 0.008777f, -0.023972f, -0.019217f, 0.053884f, 0.034621f, 0.000621f, 0.019968f, 0.018840f, -0.030045f, -0.017090f, 0.012434f, 0.011991f, 0.024162f, 0.006825f, 0.006679f, 0.012857f, 0.028995f, 0.015456f, 0.008681f, -0.022844f, 0.076789f, 0.054894f, 0.007388f, -0.029260f, 0.018361f, -0.006712f, 0.010863f, -0.002952f, 0.017558f, -0.006147f, 0.003961f, 0.046522f, -0.027342f, -0.008672f, -0.037246f, 0.016115f, -0.009142f, -0.001338f, 0.036714f, 0.016632f, 0.006024f, 0.008505f, -0.012672f, -0.023748f, 0.023805f, -0.016629f, -0.037706f, 0.103364f, -0.112793f, -0.011817f, -0.058573f, 0.075281f, 0.021588f, 0.014374f, -0.027013f, 0.008220f, -0.021680f, 0.067465f, -0.009848f, -0.003029f, 0.008689f, -0.002099f, -0.023939f, 0.011043f, 0.017052f, 0.021131f, -0.042636f, -0.022397f, -0.020908f, 0.010203f, -0.011368f, -0.011040f, 0.000782f, 0.000540f, 0.031603f, -0.014217f, 0.003784f, 0.023037f, -0.000375f, -0.028644f, 0.006154f, 0.024122f, -0.000289f, -0.045715f, 0.037300f, 0.004897f, 0.003259f, 0.000610f, + -0.016936f, 0.015968f, -0.083261f, -0.059446f, -0.005578f, -0.020945f, 0.006772f, 0.007094f, -0.037352f, 0.063799f, -0.022098f, 0.087663f, -0.009268f, -0.030176f, 0.032982f, 0.005310f, 0.029820f, 0.040651f, 0.016008f, -0.041320f, -0.008281f, 0.046732f, 0.111487f, 0.003573f, -0.024488f, 0.044939f, 0.007007f, 0.052796f, 0.011511f, 0.071223f, -0.016099f, -0.004481f, -0.000242f, 0.013259f, 0.002869f, 0.147570f, 0.044653f, 0.014953f, -0.006365f, -0.017542f, -0.023125f, 0.047188f, 0.042901f, -0.052942f, 0.028735f, 0.021706f, 0.003407f, -0.016998f, -0.029264f, -0.071627f, -0.028314f, 0.020997f, 0.005225f, -0.024014f, 0.040236f, -0.015210f, 0.014943f, 0.015518f, -0.012531f, -0.011386f, 0.041864f, -0.000311f, -0.019290f, 0.026128f, -0.026637f, 0.052763f, -0.029255f, -0.017713f, -0.005708f, 0.019584f, 0.008370f, 0.053274f, -0.019880f, -0.034524f, -0.014800f, 0.012771f, 0.000498f, 0.027602f, 0.004646f, 0.000682f, -0.015571f, 0.021708f, 0.099269f, 0.041699f, -0.042323f, 0.030816f, -0.024350f, -0.033708f, 0.020902f, -0.003751f, 0.002583f, -0.004929f, 0.013136f, -0.030459f, -0.047131f, -0.113621f, + -0.035059f, 0.035326f, -0.021202f, -0.042341f, 0.009164f, -0.014128f, 0.008201f, -0.050504f, -0.048106f, -0.026202f, 0.005436f, 0.006987f, 0.038550f, -0.006428f, -0.024757f, -0.061164f, -0.021972f, 0.034449f, -0.025114f, 0.092434f, 0.077804f, 0.037200f, -0.019501f, -0.030632f, 0.055999f, 0.048229f, -0.059996f, -0.011030f, -0.036235f, 0.054167f, -0.007570f, -0.073424f, -0.031249f, 0.028090f, 0.048167f, -0.085123f, 0.036079f, -0.058513f, 0.023536f, -0.033992f, -0.007830f, 0.043013f, -0.012720f, 0.007690f, 0.027893f, 0.056810f, -0.035052f, -0.059643f, 0.014886f, -0.003548f, 0.007847f, 0.058089f, 0.015511f, 0.043607f, -0.052653f, -0.008833f, 0.018358f, -0.046964f, 0.079477f, -0.008195f, 0.047990f, -0.005688f, -0.010091f, 0.039329f, 0.039395f, -0.021502f, 0.087147f, -0.019694f, -0.036928f, 0.042063f, 0.074765f, 0.004422f, 0.013848f, 0.003599f, 0.032960f, -0.035173f, 0.026263f, 0.112095f, 0.051543f, -0.004455f, 0.048565f, 0.059223f, -0.046052f, -0.139826f, 0.008598f, 0.080324f, 0.091033f, 0.021841f, -0.013769f, -0.046004f, 0.040378f, 0.096058f, 0.026437f, 0.007794f, 0.060991f, -0.127381f, + 0.093234f, 0.017718f, -0.059787f, -0.001256f, 0.050979f, -0.037561f, -0.001022f, 0.027737f, -0.039875f, 0.001332f, -0.036169f, -0.023035f, 0.032637f, -0.032085f, -0.020106f, -0.065448f, 0.024731f, 0.060475f, 0.014459f, -0.029372f, -0.050418f, -0.008966f, 0.032434f, 0.017935f, -0.043674f, -0.002306f, 0.045412f, -0.007594f, -0.000082f, -0.017674f, -0.015419f, 0.113530f, -0.058540f, -0.014886f, -0.016455f, 0.018482f, 0.049389f, -0.057180f, -0.035633f, 0.074799f, -0.012918f, -0.005245f, -0.094295f, -0.074812f, 0.026928f, 0.050529f, 0.023285f, -0.092304f, 0.058746f, -0.001503f, -0.018833f, 0.013608f, -0.070888f, -0.017706f, -0.013619f, -0.031892f, 0.054131f, -0.045267f, -0.031242f, -0.048437f, -0.034550f, -0.063942f, 0.013776f, -0.100529f, -0.035251f, 0.014881f, -0.058081f, 0.016232f, 0.020930f, 0.017152f, -0.009192f, -0.012115f, -0.046894f, 0.063853f, -0.023975f, 0.006790f, -0.071758f, 0.043873f, -0.001029f, 0.056677f, -0.011293f, 0.058567f, 0.007733f, -0.007428f, 0.026604f, 0.067831f, 0.032998f, 0.017321f, 0.014111f, 0.008542f, 0.027290f, -0.034335f, -0.002122f, -0.025857f, -0.026199f, 0.041416f, + 0.026712f, 0.015592f, -0.011212f, -0.010932f, -0.004101f, 0.043127f, 0.007578f, -0.019907f, -0.030610f, -0.002102f, -0.006468f, 0.032082f, 0.006040f, 0.026627f, 0.052661f, -0.015280f, -0.129463f, 0.007578f, 0.107361f, 0.009977f, -0.076604f, -0.011287f, 0.031312f, 0.022240f, 0.043080f, 0.036486f, -0.001662f, -0.026189f, -0.023758f, 0.031505f, -0.018628f, 0.001884f, 0.013237f, -0.137619f, -0.021833f, -0.028232f, 0.023285f, 0.104270f, -0.000138f, 0.006028f, -0.022861f, 0.004487f, 0.023932f, 0.041711f, 0.025373f, -0.029738f, -0.011825f, -0.069504f, -0.001853f, 0.041200f, -0.017790f, -0.014025f, 0.018867f, 0.040554f, 0.039281f, -0.017251f, 0.010106f, -0.030885f, -0.240792f, -0.429438f, -0.188509f, -0.299231f, -0.339953f, 0.168310f, 0.041546f, 0.152529f, 0.511839f, 0.325936f, 0.257865f, 0.399761f, 0.186314f, -0.012574f, 0.142185f, 0.015737f, -0.196823f, -0.145973f, -0.162090f, -0.338305f, -0.279741f, -0.135519f, -0.253092f, -0.276085f, -0.129292f, -0.179675f, -0.284090f, -0.159012f, -0.005439f, -0.187772f, -0.173976f, 0.007826f, -0.057185f, -0.172958f, 0.141435f, 0.084002f, -0.148849f, 0.099135f, + 0.162988f, 0.004630f, 0.083368f, 0.352382f, 0.155384f, 0.089883f, 0.419455f, 0.287502f, 0.157559f, 0.414177f, 0.563062f, 0.340957f, 0.503743f, 0.658674f, 0.465968f, 0.303083f, 0.406418f, 0.206165f, -0.231230f, -0.157120f, -0.298233f, -0.676755f, -0.676240f, -0.684163f, -1.024754f, -1.011077f, -1.011680f, -1.052600f, -0.988040f, -0.959040f, -0.745086f, -0.590007f, -0.428513f, -0.151438f, 0.117942f, 0.226351f, 0.521703f, 0.785957f, 0.557523f, 0.409130f}, + {0.023532f, 0.002482f, 0.004373f, 0.007645f, -0.010314f, -0.002805f, -0.005886f, -0.001249f, -0.002683f, -0.006388f, -0.000719f, -0.000947f, -0.006281f, 0.007830f, -0.005144f, -0.003243f, -0.000530f, -0.002877f, 0.006772f, -0.003076f, -0.004820f, 0.002004f, 0.002484f, 0.007150f, -0.000722f, 0.001520f, -0.004581f, -0.000902f, 0.000521f, 0.002130f, 0.000485f, -0.000192f, 0.007349f, -0.004303f, 0.001656f, 0.000445f, -0.004555f, -0.010538f, -0.004225f, 0.002260f, 0.003681f, 0.003798f, -0.010297f, 0.008021f, -0.003968f, -0.004321f, 0.004323f, 0.001737f, -0.009056f, 0.003479f, -0.009267f, -0.002719f, 0.003919f, -0.007238f, -0.002884f, 0.006243f, -0.002342f, -0.004110f, -0.005291f, -0.010321f, 0.007995f, 0.002852f, -0.003287f, -0.003163f, -0.006960f, -0.007903f, -0.009066f, -0.001970f, -0.005979f, -0.000097f, -0.000415f, -0.000505f, 0.000569f, -0.000573f, -0.005788f, -0.013216f, -0.001484f, 0.011844f, -0.011118f, 0.003915f, -0.018534f, -0.000068f, -0.006916f, 0.007079f, -0.006487f, 0.001427f, -0.004515f, -0.007855f, -0.002310f, -0.000951f, 0.005173f, 0.006714f, -0.006943f, -0.011662f, 0.005623f, 0.001853f, + 0.003806f, 0.002344f, 0.004343f, -0.006815f, -0.005399f, 0.001023f, -0.001692f, 0.005817f, 0.003865f, -0.005224f, -0.001545f, 0.004417f, 0.007982f, 0.005074f, -0.000414f, -0.006744f, 0.003070f, -0.001242f, -0.004039f, 0.004569f, 0.001492f, -0.006169f, -0.005637f, -0.004202f, 0.002842f, -0.006020f, -0.003788f, 0.004968f, 0.001330f, -0.000210f, -0.006868f, 0.002283f, -0.006018f, -0.013840f, 0.000688f, -0.004695f, -0.009641f, 0.004136f, -0.003287f, -0.002501f, -0.003847f, 0.000261f, 0.005976f, 0.004188f, 0.001410f, 0.003209f, 0.004190f, -0.010302f, 0.004404f, -0.004011f, -0.005128f, -0.002164f, 0.002205f, 0.000785f, 0.005867f, 0.027662f, -0.002339f, 0.005079f, 0.006077f, -0.002817f, 0.002850f, 0.011041f, -0.008617f, -0.001491f, 0.003120f, -0.004238f, -0.000879f, 0.008138f, -0.002658f, -0.001774f, -0.000612f, 0.003196f, -0.001604f, 0.003965f, -0.002798f, -0.002616f, -0.001308f, -0.006197f, -0.010800f, -0.001930f, -0.003522f, -0.001339f, 0.006228f, -0.011252f, 0.013870f, 0.000202f, 0.000142f, 0.000608f, 0.002529f, -0.000200f, -0.005482f, 0.000993f, 0.004184f, 0.010697f, 0.000399f, 0.000094f, + -0.001738f, -0.003370f, 0.006867f, 0.003523f, -0.002705f, 0.004075f, -0.007130f, 0.001415f, 0.002069f, -0.005040f, -0.018307f, -0.005423f, -0.000623f, -0.000792f, -0.001039f, -0.001301f, -0.002491f, -0.000997f, -0.003634f, 0.004789f, 0.013180f, 0.007947f, 0.000394f, 0.000379f, -0.000552f, 0.005114f, -0.002931f, -0.011704f, -0.000622f, -0.005803f, 0.003787f, -0.006572f, 0.003834f, -0.016801f, -0.000489f, -0.000908f, -0.024123f, -0.023256f, -0.008602f, -0.003250f, -0.003111f, 0.000246f, 0.006185f, 0.001641f, 0.005075f, -0.010809f, 0.005708f, 0.007091f, 0.006899f, 0.008005f, -0.005763f, 0.001888f, 0.018595f, -0.011125f, -0.000128f, -0.007866f, -0.011434f, -0.001194f, -0.000548f, 0.010360f, -0.004636f, 0.001272f, -0.008452f, 0.005810f, 0.003806f, 0.004602f, -0.019301f, 0.003221f, -0.003268f, -0.006684f, -0.001525f, 0.000097f, -0.014214f, -0.009232f, -0.007780f, -0.000468f, 0.012513f, 0.004401f, 0.004395f, 0.006021f, -0.005059f, 0.003614f, -0.004486f, 0.010565f, 0.016400f, -0.001333f, -0.001047f, 0.004706f, 0.001561f, 0.004286f, 0.009446f, -0.004076f, 0.009778f, -0.001328f, 0.000218f, 0.005612f, + 0.008059f, -0.002761f, -0.010322f, -0.009946f, 0.004451f, -0.001344f, -0.001251f, -0.004438f, 0.005588f, -0.008435f, 0.003778f, 0.006033f, 0.011253f, -0.006542f, 0.010796f, 0.005817f, 0.003708f, -0.026716f, 0.011457f, -0.012005f, 0.021338f, -0.020014f, 0.015596f, 0.007899f, -0.008338f, -0.010437f, -0.005815f, 0.003995f, 0.003633f, -0.005680f, 0.012582f, -0.004633f, -0.012099f, -0.002554f, 0.013028f, 0.008856f, -0.013227f, 0.002019f, -0.001667f, -0.013928f, -0.005735f, -0.008993f, -0.002076f, -0.010686f, -0.002801f, -0.004512f, -0.014568f, -0.005297f, 0.007446f, 0.010538f, -0.002003f, -0.012600f, -0.002467f, 0.008775f, -0.002647f, 0.000219f, 0.000699f, 0.000112f, -0.012325f, -0.000456f, -0.001358f, -0.003242f, -0.000431f, 0.002110f, -0.008731f, 0.005002f, -0.009334f, -0.000294f, 0.000166f, 0.000112f, 0.007340f, 0.000060f, -0.002988f, 0.002797f, 0.005250f, 0.011605f, 0.005732f, 0.002566f, -0.002938f, -0.007351f, -0.006318f, -0.002951f, -0.006866f, -0.005480f, 0.005101f, 0.007521f, -0.004804f, -0.009595f, -0.005450f, 0.002788f, 0.002899f, -0.009137f, 0.033385f, 0.013760f, -0.001361f, 0.008176f, + -0.004403f, 0.019043f, 0.008561f, 0.033665f, 0.001476f, -0.031054f, 0.009027f, 0.020062f, -0.010597f, 0.004136f, 0.014178f, -0.009467f, 0.010274f, -0.007542f, -0.000880f, -0.009479f, -0.008795f, -0.002354f, 0.003648f, -0.000340f, 0.005368f, -0.003666f, 0.015080f, -0.007730f, 0.004978f, 0.003298f, 0.010185f, -0.016127f, -0.007740f, -0.005947f, -0.000943f, -0.005277f, 0.002652f, 0.010937f, 0.008414f, 0.016968f, -0.001276f, -0.000550f, -0.008156f, -0.002398f, 0.011448f, -0.009389f, 0.009685f, -0.008745f, -0.002730f, 0.015608f, 0.022860f, 0.016130f, 0.004006f, -0.010761f, 0.009325f, 0.006581f, -0.004696f, 0.013220f, -0.006874f, 0.003123f, 0.003474f, -0.022339f, 0.001354f, -0.021135f, -0.007133f, 0.004137f, -0.004027f, -0.009721f, -0.007022f, 0.002519f, 0.016989f, 0.004468f, -0.003882f, -0.006823f, -0.004167f, 0.002322f, 0.005039f, 0.020590f, 0.041323f, -0.017459f, -0.012847f, -0.003235f, -0.004401f, 0.014611f, -0.013208f, -0.024498f, -0.008178f, 0.002056f, -0.005641f, 0.007439f, 0.003824f, 0.012671f, 0.005652f, -0.004669f, 0.018278f, 0.016961f, -0.007200f, 0.001477f, -0.010978f, -0.001697f, + 0.001151f, -0.006828f, -0.000839f, 0.012686f, 0.018419f, 0.000940f, 0.003507f, 0.007565f, 0.005284f, 0.003079f, 0.001822f, -0.006568f, -0.012220f, 0.001665f, -0.017829f, 0.000844f, 0.004901f, -0.005716f, 0.007934f, -0.004518f, -0.009507f, -0.000644f, 0.010667f, 0.004544f, -0.003702f, 0.030300f, 0.000693f, 0.009863f, -0.017143f, -0.003875f, 0.013164f, -0.005648f, -0.012411f, 0.007942f, -0.014653f, -0.013851f, 0.004158f, 0.017232f, -0.012971f, -0.007747f, -0.003039f, 0.000849f, -0.005160f, -0.006159f, 0.024371f, 0.013693f, -0.000663f, 0.001534f, -0.009237f, -0.007432f, -0.002466f, 0.007520f, 0.015965f, -0.029304f, -0.004159f, -0.022067f, -0.012683f, -0.020008f, -0.005288f, -0.003268f, -0.003229f, -0.007829f, 0.008577f, -0.028085f, 0.014067f, -0.009721f, 0.008258f, 0.003511f, 0.011364f, 0.000444f, 0.004559f, -0.011436f, -0.005031f, 0.005006f, -0.011454f, -0.008314f, 0.013426f, 0.003589f, 0.005932f, 0.005320f, -0.001672f, 0.003507f, 0.020113f, -0.007478f, 0.001691f, -0.009354f, 0.016120f, -0.010057f, -0.036688f, 0.011125f, 0.005459f, 0.015184f, 0.008016f, 0.020987f, -0.014537f, -0.005782f, + 0.012482f, -0.005420f, -0.012467f, -0.005876f, 0.006369f, -0.017799f, 0.017225f, -0.000707f, 0.011396f, -0.015025f, -0.006815f, -0.005498f, -0.016450f, -0.003360f, -0.013124f, -0.005921f, 0.001133f, 0.018613f, 0.014793f, -0.001724f, -0.023087f, -0.013059f, -0.004404f, 0.018104f, 0.014823f, 0.010902f, 0.009981f, -0.006451f, -0.026508f, -0.006874f, -0.000592f, 0.005850f, -0.039312f, -0.047250f, -0.027203f, 0.017687f, 0.000352f, -0.009809f, -0.010919f, -0.015936f, -0.002708f, 0.003760f, -0.026832f, -0.003695f, 0.015097f, -0.011163f, -0.008175f, 0.016874f, 0.003659f, -0.013213f, 0.003470f, -0.012836f, 0.025803f, -0.009964f, -0.007475f, 0.007415f, -0.015057f, -0.010063f, -0.009262f, 0.003248f, -0.010761f, -0.004952f, 0.003467f, 0.001925f, -0.032603f, 0.012785f, 0.012749f, -0.010443f, 0.023454f, 0.008040f, 0.001350f, 0.022079f, 0.012418f, 0.002803f, 0.002334f, 0.023952f, -0.003460f, -0.005742f, -0.002623f, 0.014143f, 0.007823f, -0.024431f, 0.008035f, 0.005720f, -0.001016f, -0.013742f, -0.037892f, 0.014828f, -0.003225f, -0.010696f, -0.023997f, -0.014727f, 0.013585f, -0.004681f, -0.007415f, -0.017188f, + -0.030726f, 0.001281f, -0.004652f, -0.017863f, -0.007086f, -0.030477f, -0.004717f, -0.008525f, -0.005261f, -0.003537f, 0.010858f, 0.019300f, -0.039251f, 0.031888f, 0.001994f, 0.016352f, -0.002654f, -0.001209f, 0.003255f, 0.017603f, 0.002035f, -0.002116f, -0.023493f, 0.008519f, -0.002254f, -0.018393f, 0.005205f, -0.012038f, -0.008823f, 0.034132f, 0.010169f, 0.010462f, -0.006884f, 0.012154f, 0.015296f, 0.014172f, -0.007730f, 0.012335f, 0.007066f, -0.014542f, 0.010003f, -0.014173f, -0.004163f, 0.008728f, 0.004944f, -0.001682f, -0.007012f, -0.007556f, 0.023515f, -0.006900f, -0.009140f, -0.006705f, 0.005528f, 0.004592f, -0.009923f, -0.018704f, -0.000350f, -0.020074f, -0.001282f, -0.018172f, -0.005595f, -0.004685f, 0.004646f, -0.009548f, -0.014128f, 0.018842f, -0.006723f, -0.021947f, 0.015026f, 0.022160f, -0.009589f, -0.007984f, 0.013068f, 0.007645f, 0.024219f, 0.013830f, 0.004010f, -0.001064f, -0.021401f, 0.004693f, 0.024196f, 0.016903f, -0.013763f, 0.015962f, 0.020635f, -0.013615f, -0.032253f, -0.012650f, -0.028102f, 0.008259f, -0.062202f, 0.030808f, 0.009195f, -0.002267f, 0.043063f, -0.001808f, + 0.022116f, -0.018251f, -0.003796f, 0.004058f, 0.000906f, 0.024961f, 0.016045f, -0.032195f, 0.021177f, 0.002284f, 0.012954f, -0.028914f, -0.000559f, 0.017881f, -0.028519f, 0.037173f, 0.010445f, 0.000369f, -0.012447f, 0.002943f, 0.016326f, -0.025342f, 0.002944f, 0.007452f, 0.005138f, -0.015314f, -0.005462f, 0.016033f, 0.009103f, -0.000833f, 0.002727f, -0.009776f, -0.017680f, 0.008319f, -0.030216f, -0.000436f, 0.044255f, 0.043679f, -0.013366f, 0.006167f, -0.001579f, 0.013131f, 0.031087f, 0.003480f, 0.014952f, 0.005797f, -0.016051f, -0.000299f, -0.003020f, -0.045588f, -0.021025f, 0.029761f, 0.001218f, 0.009871f, -0.011471f, -0.001828f, 0.009860f, 0.015014f, -0.001837f, 0.036972f, -0.000292f, 0.029170f, 0.002352f, 0.007237f, 0.002077f, -0.016734f, -0.025220f, 0.030362f, 0.003302f, -0.011499f, 0.021689f, -0.045174f, 0.019027f, 0.029522f, -0.003392f, 0.009252f, 0.013579f, -0.006330f, -0.003863f, 0.018501f, -0.006153f, 0.027730f, -0.025190f, 0.014768f, 0.033944f, -0.035100f, 0.001956f, -0.016311f, 0.021597f, 0.009639f, 0.017976f, -0.017386f, -0.013710f, 0.000536f, 0.045589f, 0.001270f, + 0.023253f, -0.009382f, 0.001761f, -0.002349f, -0.003661f, -0.019284f, -0.000450f, -0.004858f, 0.009497f, -0.008181f, -0.012739f, -0.010152f, -0.000594f, -0.003033f, 0.020605f, 0.004283f, -0.011119f, -0.009458f, -0.010262f, -0.003029f, -0.004865f, 0.034078f, 0.001489f, 0.017495f, 0.001135f, -0.007238f, -0.007352f, 0.028459f, 0.020549f, -0.007225f, -0.026280f, 0.015484f, 0.009889f, -0.056795f, 0.003016f, 0.033196f, 0.031250f, 0.008115f, 0.024673f, -0.033974f, 0.056269f, 0.005749f, 0.010161f, 0.012066f, 0.026282f, -0.001189f, -0.025290f, -0.006159f, -0.029725f, 0.034715f, -0.014367f, 0.017062f, -0.034443f, -0.027705f, 0.023869f, 0.019870f, 0.049539f, -0.018223f, -0.013548f, -0.009534f, 0.009110f, -0.021865f, -0.002812f, 0.007578f, -0.001705f, 0.026084f, 0.017115f, -0.022272f, 0.001821f, 0.005466f, 0.015431f, -0.025325f, 0.025676f, -0.001325f, 0.011416f, -0.005267f, -0.011639f, -0.026628f, 0.009207f, -0.005447f, -0.010623f, 0.004128f, -0.015482f, -0.016388f, -0.003097f, 0.006941f, 0.031555f, -0.047504f, -0.027556f, -0.026190f, -0.027515f, -0.009194f, 0.032963f, -0.020365f, -0.000118f, 0.030486f, + -0.003795f, -0.015692f, -0.026576f, -0.008839f, -0.010759f, -0.058458f, -0.042992f, -0.013983f, 0.011417f, -0.006992f, 0.011567f, -0.014265f, -0.007329f, 0.025419f, 0.018380f, -0.030229f, -0.012430f, -0.033695f, -0.010080f, 0.000756f, 0.015740f, -0.007660f, 0.006833f, -0.029258f, -0.017826f, -0.022015f, 0.004071f, 0.002420f, 0.007185f, -0.028004f, 0.007250f, 0.033242f, 0.018464f, -0.024581f, 0.004503f, -0.002816f, 0.056079f, 0.006020f, 0.026884f, -0.023574f, -0.016188f, -0.005865f, -0.026776f, -0.016919f, -0.025901f, -0.011988f, -0.016923f, 0.030460f, 0.007309f, 0.007635f, 0.031068f, -0.000908f, -0.002234f, 0.014146f, 0.027837f, 0.044196f, 0.031849f, -0.006730f, -0.012582f, -0.051067f, 0.013435f, 0.015881f, 0.005553f, -0.031904f, 0.036029f, 0.014527f, 0.020807f, -0.006182f, 0.001189f, 0.020707f, 0.044984f, 0.044499f, 0.024777f, 0.005163f, 0.046645f, 0.000950f, -0.015432f, 0.015161f, 0.027664f, 0.023126f, 0.041542f, 0.022230f, -0.000553f, 0.004641f, -0.027558f, 0.010621f, -0.066554f, -0.011817f, -0.008467f, 0.013528f, 0.048755f, 0.027673f, 0.005149f, 0.035856f, -0.029462f, -0.025674f, + 0.002351f, -0.064408f, -0.018240f, 0.000764f, 0.008435f, 0.012384f, 0.012496f, -0.006394f, 0.022795f, 0.000275f, 0.008521f, 0.047057f, -0.038735f, -0.020513f, -0.019596f, -0.042835f, -0.013091f, 0.008393f, 0.033417f, 0.060723f, -0.023568f, 0.001497f, 0.010650f, -0.010652f, 0.056574f, 0.010263f, -0.026744f, 0.049256f, -0.009284f, -0.016131f, 0.035869f, -0.031531f, -0.017701f, 0.002352f, 0.003997f, 0.004539f, 0.023910f, 0.012410f, 0.019630f, -0.005599f, 0.010932f, 0.028113f, 0.002815f, 0.019148f, 0.004658f, 0.000717f, 0.032193f, -0.040544f, -0.013468f, -0.013832f, 0.028277f, -0.020783f, -0.004015f, -0.012348f, 0.028127f, -0.011574f, 0.060911f, 0.043195f, -0.038979f, 0.019520f, -0.047078f, 0.006613f, 0.019243f, 0.009050f, 0.012253f, -0.062498f, -0.010223f, -0.060345f, 0.009834f, 0.004358f, 0.009287f, -0.010081f, -0.008748f, 0.027925f, -0.049449f, 0.017020f, -0.020025f, -0.098123f, -0.033943f, -0.032719f, 0.018692f, -0.015105f, 0.017699f, 0.047718f, 0.055094f, 0.028369f, 0.030854f, 0.024255f, 0.011429f, -0.039916f, 0.045388f, -0.002298f, 0.016817f, -0.075512f, -0.034227f, -0.025122f, + 0.015877f, -0.057174f, 0.022699f, -0.033477f, 0.051705f, -0.056804f, -0.072648f, -0.014319f, -0.009108f, 0.060015f, 0.030026f, 0.027750f, -0.013355f, 0.008634f, -0.034404f, -0.027054f, 0.008321f, 0.014129f, -0.044802f, -0.041196f, -0.028663f, -0.001854f, 0.025000f, 0.018893f, -0.030968f, -0.039003f, -0.022214f, -0.022113f, -0.054093f, -0.029964f, 0.026307f, -0.013241f, 0.001299f, -0.005325f, 0.019771f, 0.031169f, -0.005874f, -0.080962f, 0.036938f, 0.072430f, 0.027764f, 0.001184f, -0.082019f, -0.017153f, 0.038311f, -0.007462f, 0.095407f, -0.006890f, -0.073678f, 0.015727f, -0.010911f, 0.009702f, 0.003899f, -0.011440f, 0.022089f, 0.028989f, -0.077818f, -0.017089f, 0.006155f, 0.032714f, -0.013078f, -0.035662f, 0.037751f, 0.009027f, -0.025608f, -0.073320f, -0.091028f, -0.040496f, -0.005608f, 0.014887f, 0.072336f, 0.114018f, 0.045977f, 0.005181f, 0.138866f, 0.127380f, -0.055447f, 0.065440f, 0.057994f, -0.017956f, -0.011111f, -0.032073f, -0.017685f, -0.037496f, -0.026419f, 0.105300f, -0.006819f, 0.060717f, -0.000229f, 0.001534f, -0.000126f, -0.043649f, 0.009124f, 0.007160f, -0.093465f, 0.012187f, + 0.021562f, -0.050354f, -0.011007f, -0.016702f, -0.007432f, 0.011973f, -0.003516f, 0.001051f, 0.040060f, 0.014713f, -0.020519f, 0.010695f, 0.064368f, -0.000852f, 0.029369f, -0.003591f, 0.023910f, -0.037890f, -0.043753f, -0.026351f, -0.079868f, 0.019054f, 0.008549f, -0.037605f, -0.096823f, -0.065459f, -0.090458f, 0.063261f, -0.046974f, 0.007650f, 0.016276f, 0.012192f, 0.012649f, 0.067264f, -0.067277f, -0.002690f, -0.037461f, 0.070973f, -0.166072f, 0.030625f, 0.013620f, 0.049412f, 0.049475f, -0.004054f, -0.014139f, -0.030347f, -0.005829f, -0.054026f, 0.037403f, 0.091424f, -0.005444f, 0.011761f, 0.063050f, -0.043087f, -0.040591f, 0.062456f, -0.110538f, 0.085516f, -0.042399f, -0.027862f, -0.015602f, 0.012890f, -0.028164f, -0.020503f, 0.041787f, -0.005481f, -0.073913f, 0.033102f, 0.000562f, 0.019823f, -0.012431f, 0.076367f, -0.052099f, 0.008346f, 0.034744f, -0.014018f, 0.027667f, -0.040930f, 0.009390f, -0.034302f, -0.014910f, 0.050138f, 0.011243f, 0.023890f, -0.019318f, 0.048858f, -0.006528f, -0.013349f, 0.022066f, -0.019428f, -0.015812f, -0.007193f, -0.008389f, -0.037025f, -0.052733f, -0.009372f, + 0.038736f, 0.007653f, -0.012154f, -0.051358f, 0.008633f, -0.038879f, 0.003432f, 0.026364f, -0.039188f, -0.003383f, 0.040656f, 0.042445f, 0.031998f, -0.048513f, -0.019604f, 0.047983f, 0.020425f, 0.007979f, 0.039795f, -0.177416f, -0.034829f, -0.010920f, -0.075989f, 0.018804f, 0.032868f, 0.006096f, 0.026009f, 0.051932f, -0.011695f, -0.026824f, 0.023040f, -0.021539f, 0.004521f, 0.058009f, 0.000314f, 0.124291f, -0.017304f, -0.035867f, 0.003276f, -0.015010f, 0.060592f, 0.010765f, -0.006957f, 0.058204f, 0.058125f, 0.018920f, 0.021300f, 0.032197f, -0.075822f, -0.041409f, 0.059179f, -0.008847f, -0.062798f, -0.031055f, -0.029795f, 0.041505f, 0.019990f, -0.022411f, -0.090045f, 0.027175f, 0.011117f, 0.011689f, 0.011634f, -0.010363f, 0.006021f, -0.065331f, 0.055717f, 0.041235f, 0.018525f, -0.032283f, -0.031217f, 0.000646f, 0.025961f, -0.005489f, 0.026967f, 0.014444f, -0.073025f, -0.029485f, 0.006975f, -0.068180f, -0.000046f, 0.015095f, -0.065746f, -0.084381f, -0.016773f, 0.028407f, -0.055196f, -0.102270f, -0.051247f, -0.024437f, 0.062444f, -0.037906f, 0.070755f, -0.011862f, -0.003007f, 0.037435f, + -0.002745f, -0.112259f, -0.015846f, 0.011148f, 0.045952f, -0.097239f, -0.154872f, 0.019478f, -0.021393f, -0.080887f, 0.037599f, 0.039529f, -0.021726f, 0.022156f, 0.060470f, -0.056993f, 0.012264f, 0.064604f, 0.028879f, 0.144296f, -0.052137f, -0.054857f, -0.019130f, 0.003392f, 0.137628f, -0.012445f, 0.115092f, -0.070586f, -0.023765f, 0.051849f, -0.076800f, -0.021650f, -0.071816f, 0.018678f, 0.085952f, -0.103528f, -0.033505f, -0.003579f, 0.039791f, 0.004893f, 0.018898f, 0.036107f, -0.000873f, -0.063479f, -0.057056f, 0.009075f, 0.052295f, 0.127367f, -0.019769f, 0.038853f, -0.027606f, 0.065911f, 0.009535f, 0.012993f, -0.009137f, -0.065688f, 0.010217f, 0.072206f, -0.003321f, 0.002270f, -0.016423f, -0.056338f, 0.090881f, 0.037679f, 0.063716f, 0.080035f, 0.005411f, 0.010871f, 0.055056f, -0.110914f, 0.050342f, -0.052500f, 0.149310f, -0.006039f, 0.024235f, 0.028278f, -0.029584f, -0.033295f, 0.025606f, -0.051076f, 0.100633f, -0.042959f, -0.052003f, -0.056422f, 0.106450f, 0.041825f, 0.068838f, 0.000193f, 0.070443f, 0.069030f, -0.035835f, 0.004639f, -0.025261f, 0.020381f, 0.012084f, -0.103537f, + 0.070471f, -0.073612f, 0.008605f, -0.033901f, 0.026912f, -0.002810f, 0.038450f, -0.006151f, -0.034162f, 0.058130f, -0.020927f, -0.007873f, 0.008279f, -0.024030f, -0.021843f, 0.067277f, -0.016551f, -0.008758f, -0.008662f, -0.002937f, 0.029811f, -0.022844f, 0.006277f, -0.016496f, 0.014306f, -0.014252f, -0.012486f, -0.035116f, 0.051340f, -0.031575f, 0.016188f, 0.009342f, 0.035080f, -0.039864f, 0.007786f, -0.015637f, 0.039828f, 0.006567f, 0.001781f, 0.033875f, 0.008157f, -0.052800f, -0.009644f, -0.007885f, 0.013319f, 0.025167f, 0.018017f, -0.047632f, 0.019206f, -0.035516f, 0.024351f, -0.019454f, 0.003589f, -0.010340f, 0.023884f, -0.008254f, 0.005399f, -0.053049f, 0.010838f, 0.028791f, -0.027422f, 0.027142f, 0.001213f, 0.011371f, 0.013423f, -0.020008f, 0.035986f, 0.017134f, -0.003929f, -0.010059f, 0.017263f, -0.010238f, 0.034629f, -0.029198f, -0.004532f, -0.027508f, -0.043452f, 0.086600f, 0.006871f, 0.010538f, -0.035182f, -0.026040f, -0.055630f, 0.036623f, -0.015886f, -0.011703f, -0.024393f, -0.001373f, -0.021786f, -0.003101f, -0.003208f, 0.009268f, 0.010480f, -0.002153f, -0.002946f, -0.016162f, + 0.014264f, 0.013222f, -0.013397f, 0.005672f, -0.029940f, 0.011312f, 0.005383f, -0.005658f, -0.004957f, -0.010355f, 0.009057f, 0.001583f, -0.021415f, -0.006153f, -0.006530f, -0.017979f, 0.028318f, 0.002501f, -0.018659f, 0.002290f, -0.007521f, 0.024462f, -0.009005f, -0.012203f, 0.004510f, -0.015432f, 0.028826f, 0.000305f, -0.016446f, 0.004074f, -0.006891f, 0.013709f, -0.018703f, -0.004207f, 0.005756f, -0.007255f, 0.012507f, -0.007879f, 0.003415f, 0.005211f, -0.016873f, 0.001701f, 0.016213f, -0.025848f, -0.001910f, 0.006965f, -0.023617f, 0.041879f, -0.039168f, 0.018649f, 0.006948f, -0.023205f, 0.044116f, -0.031136f, 0.007516f, 0.004011f, 0.019997f, -0.093506f, -0.215416f, 0.056111f, 0.198816f, 0.168002f, 0.225606f, -0.111710f, -0.144588f, -0.217378f, -0.222080f, 0.014894f, 0.165119f, 0.182218f, 0.199773f, 0.066144f, -0.043760f, -0.159071f, -0.262945f, -0.144326f, 0.066623f, 0.103149f, 0.175021f, 0.132419f, 0.036102f, -0.023947f, -0.055521f, -0.132015f, -0.085434f, -0.081561f, -0.015024f, 0.068923f, 0.106172f, 0.055536f, 0.070847f, 0.035469f, -0.040097f, -0.006672f, -0.085606f, -0.119469f, + -0.020450f, -0.028201f, 0.020925f, 0.111861f, 0.064660f, 0.055305f, 0.016433f, -0.042505f, -0.043331f, -0.037760f, -0.061644f, -0.016582f, 0.002753f, 0.026019f, 0.032297f, 0.053303f, 0.015383f, -0.002282f, -0.027022f, -0.050373f, -0.004146f, 0.017684f, 0.018657f, 0.031239f, -0.007802f, -0.025281f, -0.011746f, -0.025172f, -0.019309f, 0.005560f, 0.014780f, 0.040948f, 0.035180f, 0.034066f, 0.003686f, -0.014302f, -0.060203f, -0.041094f, -0.003967f, -0.002504f} + }, + { + {0.020249f, 0.008776f, 0.009484f, 0.000073f, -0.003806f, -0.009247f, -0.003374f, -0.006663f, -0.006940f, 0.001440f, -0.005649f, -0.003511f, -0.000952f, 0.005654f, -0.000415f, 0.001909f, -0.006101f, -0.003127f, -0.007244f, -0.011766f, 0.006374f, 0.004600f, -0.004967f, 0.002559f, -0.003041f, -0.000623f, 0.007413f, -0.004352f, -0.000865f, -0.005601f, -0.003495f, 0.002938f, 0.004028f, 0.005674f, 0.004976f, -0.007998f, 0.001103f, 0.004212f, 0.000127f, 0.006028f, 0.000775f, 0.001878f, -0.006329f, -0.003385f, 0.001092f, -0.001790f, 0.001516f, 0.000503f, -0.003799f, 0.006675f, 0.004629f, -0.008090f, -0.000344f, -0.000441f, 0.002056f, 0.006981f, 0.002837f, -0.007655f, 0.001110f, 0.002649f, -0.005710f, 0.002140f, 0.002646f, -0.001057f, 0.003033f, -0.000809f, -0.001542f, -0.000643f, -0.004581f, -0.000970f, -0.001860f, -0.003502f, -0.000643f, 0.000066f, -0.000563f, -0.001215f, -0.001935f, -0.010394f, -0.009177f, 0.011250f, -0.002396f, 0.008971f, 0.002553f, 0.013378f, -0.003221f, -0.007018f, -0.004881f, 0.008154f, 0.000136f, -0.003046f, -0.000892f, 0.009235f, -0.002571f, 0.001636f, 0.003158f, -0.006287f, + -0.004854f, -0.002077f, 0.001606f, -0.006516f, 0.001536f, 0.001280f, -0.007619f, -0.002473f, -0.004608f, 0.000605f, -0.003403f, 0.001176f, 0.012113f, 0.006255f, -0.003710f, 0.000567f, -0.005948f, 0.004451f, -0.001704f, 0.007230f, -0.015155f, -0.001646f, 0.002171f, -0.005333f, 0.000804f, 0.007292f, 0.005390f, -0.006732f, -0.005168f, -0.005397f, -0.001188f, -0.004260f, -0.002373f, -0.006539f, 0.002319f, -0.000517f, -0.007837f, -0.003873f, -0.003304f, -0.000293f, 0.001331f, -0.001557f, -0.001055f, 0.003409f, 0.001010f, -0.003450f, 0.001565f, 0.008297f, -0.004535f, -0.000881f, -0.009160f, -0.003116f, -0.001189f, 0.003829f, -0.004335f, 0.001174f, 0.000611f, 0.000558f, 0.014554f, -0.004728f, 0.005094f, 0.012246f, -0.008983f, -0.010224f, -0.001037f, -0.002176f, 0.000418f, 0.006477f, 0.003884f, -0.014425f, 0.002893f, -0.008069f, -0.011211f, -0.000271f, 0.004895f, 0.005157f, -0.003261f, -0.000018f, -0.000670f, 0.006889f, -0.000732f, 0.005747f, -0.001859f, 0.001085f, 0.001771f, 0.002074f, -0.006836f, 0.003604f, 0.006402f, -0.002242f, 0.007997f, -0.003612f, -0.000149f, -0.008732f, 0.007198f, 0.002105f, + -0.001751f, -0.006672f, -0.006373f, -0.002753f, -0.001709f, 0.004020f, -0.000061f, 0.003531f, 0.003782f, -0.005872f, 0.004690f, -0.008044f, 0.003809f, 0.005394f, 0.010166f, 0.009477f, -0.006969f, 0.004305f, 0.000339f, -0.001610f, 0.006354f, -0.003741f, -0.004104f, -0.003313f, 0.005406f, 0.002678f, 0.006803f, -0.005352f, 0.009799f, -0.002401f, 0.000620f, 0.003091f, 0.002577f, 0.005588f, -0.002721f, 0.007748f, 0.010480f, 0.016508f, 0.008330f, -0.017160f, -0.018456f, 0.002121f, -0.001468f, 0.004398f, 0.004166f, 0.012201f, 0.005598f, 0.005808f, 0.003042f, -0.006013f, 0.002402f, 0.015377f, -0.010201f, -0.001223f, 0.000599f, 0.012305f, 0.007585f, 0.001630f, 0.005639f, -0.001092f, 0.004402f, 0.005580f, 0.012863f, 0.006888f, 0.007310f, 0.003667f, 0.003250f, 0.006004f, 0.002451f, -0.009051f, 0.005653f, 0.007083f, -0.002366f, 0.005067f, 0.007262f, -0.002717f, 0.002470f, 0.008465f, 0.003515f, -0.002434f, 0.003441f, 0.008588f, -0.000148f, -0.000481f, -0.001436f, 0.002036f, 0.008721f, -0.002930f, -0.004360f, 0.001925f, -0.002518f, 0.003887f, 0.005665f, -0.006826f, 0.001772f, -0.004675f, + 0.000785f, 0.001845f, 0.007543f, 0.005021f, -0.014300f, -0.000893f, 0.007841f, -0.004733f, -0.005550f, -0.000238f, 0.001837f, 0.006093f, 0.000180f, -0.017212f, -0.006005f, 0.003502f, -0.003303f, 0.005507f, -0.000633f, -0.031693f, 0.003988f, 0.002822f, 0.014202f, -0.000979f, 0.011008f, 0.005427f, 0.002519f, -0.018764f, -0.000355f, -0.000713f, -0.014604f, 0.001839f, 0.010262f, 0.001574f, -0.000576f, -0.001798f, -0.006044f, -0.006972f, 0.002538f, 0.003725f, -0.000868f, 0.002319f, 0.002908f, 0.012287f, 0.001104f, 0.005158f, 0.005606f, -0.007217f, 0.001088f, -0.002105f, -0.002210f, -0.001394f, 0.004346f, -0.001280f, -0.003566f, -0.005687f, -0.003432f, 0.001060f, -0.009467f, -0.007060f, 0.003461f, -0.007851f, 0.001988f, -0.012521f, -0.014624f, -0.004282f, 0.017214f, -0.005327f, -0.001444f, 0.009700f, 0.003064f, 0.000049f, 0.010683f, -0.002320f, 0.000788f, -0.002185f, 0.002781f, 0.006337f, -0.003305f, -0.011963f, 0.006557f, -0.007370f, -0.012932f, -0.005855f, -0.004106f, -0.001013f, 0.003801f, 0.012289f, -0.000756f, -0.001301f, -0.006234f, -0.001794f, 0.006632f, -0.005239f, -0.005787f, 0.007274f, + 0.027993f, 0.001036f, -0.001562f, -0.010450f, -0.005947f, 0.014823f, -0.005816f, 0.011596f, 0.010022f, -0.011106f, -0.001681f, 0.008721f, -0.006128f, -0.002921f, -0.002778f, -0.003958f, 0.002011f, 0.003199f, 0.000698f, 0.005486f, -0.002270f, 0.000954f, 0.002212f, -0.002143f, -0.005083f, -0.005388f, -0.006015f, 0.000609f, 0.007462f, 0.003274f, -0.005918f, 0.000692f, 0.003091f, 0.013964f, -0.003859f, 0.012517f, -0.011030f, 0.005241f, 0.009199f, -0.005756f, -0.003318f, -0.011365f, 0.005728f, 0.000038f, -0.007769f, 0.008167f, -0.009691f, 0.011406f, -0.000269f, 0.016083f, 0.004020f, 0.001932f, 0.004233f, 0.006836f, 0.003944f, -0.004905f, 0.008283f, -0.001203f, -0.007902f, -0.012815f, -0.003060f, 0.005876f, -0.006016f, -0.003900f, 0.005714f, -0.006914f, 0.015033f, -0.013341f, 0.000678f, 0.009815f, -0.007039f, -0.002430f, -0.013490f, -0.000179f, -0.004407f, -0.001896f, -0.002268f, 0.013397f, 0.023750f, -0.007004f, -0.010425f, 0.002689f, -0.004297f, 0.006531f, 0.021600f, 0.000105f, -0.005064f, 0.006852f, 0.003647f, 0.006395f, 0.003802f, -0.011812f, 0.000346f, -0.010540f, 0.005764f, 0.005081f, + 0.002990f, 0.019806f, -0.001069f, 0.014768f, -0.000519f, -0.000365f, 0.004355f, -0.000122f, 0.015393f, 0.002061f, 0.009623f, -0.003609f, 0.013082f, -0.005969f, 0.006877f, 0.026284f, -0.004508f, -0.006617f, 0.018293f, 0.003917f, 0.011819f, -0.000273f, -0.011786f, 0.003616f, -0.006936f, 0.007970f, -0.014192f, -0.001821f, -0.007555f, 0.007868f, -0.001551f, 0.001662f, 0.013904f, -0.006898f, -0.014829f, 0.004097f, -0.001725f, -0.000598f, 0.011109f, 0.002348f, 0.001077f, -0.005129f, -0.010102f, -0.009883f, -0.004060f, -0.008096f, -0.007041f, 0.008815f, -0.005193f, -0.000505f, -0.004118f, 0.001429f, -0.001070f, 0.008251f, 0.003511f, -0.007845f, -0.014148f, 0.033373f, -0.016439f, 0.012162f, 0.001164f, 0.006344f, -0.007168f, -0.005495f, -0.002865f, 0.007787f, 0.009886f, 0.002622f, -0.004270f, -0.008824f, 0.005718f, 0.009702f, -0.001006f, 0.003502f, -0.004064f, 0.010509f, 0.004428f, -0.017846f, -0.005289f, 0.006613f, -0.000281f, -0.007213f, 0.000438f, 0.009070f, -0.005358f, 0.003507f, -0.011199f, 0.007670f, 0.016063f, -0.005652f, 0.016955f, 0.001194f, -0.002060f, 0.011370f, 0.000424f, 0.001476f, + 0.010601f, -0.020296f, 0.004065f, 0.007004f, 0.009848f, 0.006681f, 0.007917f, -0.008737f, -0.006313f, 0.000340f, 0.004337f, -0.009503f, 0.004386f, 0.010582f, 0.009931f, 0.003991f, 0.028200f, -0.007828f, -0.002292f, -0.011544f, -0.004117f, -0.007291f, -0.010103f, 0.014766f, 0.007066f, 0.014477f, -0.000842f, -0.020971f, 0.014080f, -0.006773f, 0.008441f, 0.007293f, 0.004625f, 0.004930f, -0.015489f, 0.021824f, 0.006581f, -0.040925f, -0.034721f, -0.032170f, 0.005033f, 0.004452f, 0.000806f, -0.000438f, -0.003899f, -0.004181f, -0.000907f, -0.007011f, -0.012740f, -0.009506f, -0.021008f, -0.010382f, -0.011067f, 0.009669f, -0.016528f, -0.008452f, -0.010082f, 0.000592f, -0.001508f, -0.005765f, 0.002658f, -0.003220f, -0.017071f, -0.002262f, 0.012476f, -0.000142f, -0.015399f, -0.014136f, 0.003657f, -0.006922f, 0.010215f, 0.006311f, -0.014632f, 0.010763f, 0.018588f, -0.019042f, -0.019021f, -0.011398f, 0.004736f, 0.013950f, -0.013108f, -0.014015f, 0.004434f, -0.009041f, -0.000406f, -0.003759f, -0.003142f, -0.020727f, 0.001849f, 0.008854f, -0.007425f, 0.004031f, -0.010883f, -0.013330f, -0.012560f, -0.007842f, + -0.020417f, 0.029409f, -0.008568f, -0.004788f, 0.003744f, 0.000749f, 0.004913f, 0.001508f, 0.008001f, 0.001560f, 0.006588f, 0.016591f, -0.027729f, 0.014393f, -0.008458f, -0.008794f, -0.003438f, -0.038526f, 0.029457f, 0.007838f, 0.006339f, -0.007075f, 0.028755f, -0.004456f, 0.013439f, 0.000088f, 0.012035f, -0.017029f, 0.006555f, 0.006948f, 0.002339f, -0.008220f, 0.025383f, -0.006695f, 0.007464f, 0.006232f, 0.026271f, -0.017655f, -0.001634f, 0.007817f, -0.005148f, -0.012782f, 0.007421f, -0.011958f, 0.002613f, 0.003915f, -0.015247f, 0.006203f, 0.000493f, 0.001330f, 0.028599f, 0.018994f, -0.003270f, -0.011328f, -0.010258f, 0.007282f, -0.002493f, -0.016826f, 0.004001f, -0.000720f, 0.004121f, 0.014137f, 0.018390f, -0.012473f, 0.012064f, 0.007642f, -0.010099f, 0.007401f, 0.003720f, -0.012747f, -0.008990f, -0.007503f, 0.012384f, -0.013844f, -0.014554f, -0.033285f, -0.027236f, 0.008485f, -0.006779f, -0.003426f, -0.015538f, -0.025196f, 0.007897f, 0.003897f, -0.003478f, 0.015171f, 0.008181f, 0.018063f, 0.005889f, 0.006354f, -0.004702f, 0.005467f, 0.012263f, -0.009989f, 0.011168f, -0.045756f, + 0.043837f, 0.031727f, -0.011847f, -0.009851f, 0.012392f, 0.000912f, 0.001817f, 0.021365f, 0.015299f, 0.001420f, -0.002278f, 0.009106f, -0.004033f, -0.002136f, 0.006538f, -0.008365f, 0.012304f, 0.008785f, -0.008886f, 0.013338f, -0.000616f, 0.004239f, -0.000186f, -0.019627f, -0.000427f, 0.015829f, 0.016189f, 0.006984f, 0.007337f, 0.009220f, -0.008855f, -0.011154f, 0.005917f, 0.010251f, 0.000303f, -0.003702f, -0.009856f, 0.005363f, -0.002414f, 0.014187f, 0.016195f, -0.000713f, 0.018560f, -0.008267f, 0.020599f, 0.011874f, 0.024683f, 0.002830f, 0.004144f, -0.005796f, -0.009201f, -0.000703f, 0.019056f, 0.031326f, 0.002417f, 0.024207f, -0.009330f, -0.020733f, 0.003496f, 0.009678f, -0.018738f, 0.021508f, -0.006150f, 0.008627f, -0.041982f, -0.016594f, 0.000118f, -0.008381f, 0.008548f, 0.016068f, 0.029743f, 0.008509f, 0.000525f, -0.011537f, -0.024001f, 0.013326f, -0.016209f, 0.032913f, -0.011434f, 0.005576f, 0.025125f, 0.025860f, 0.000149f, -0.011984f, -0.005465f, -0.005509f, 0.003739f, -0.016042f, -0.012181f, 0.016746f, 0.005753f, 0.011402f, 0.013731f, 0.015630f, -0.004151f, 0.010762f, + -0.001332f, 0.012531f, 0.046882f, 0.012326f, -0.019479f, 0.022745f, 0.026226f, 0.002823f, -0.001802f, 0.003048f, -0.009711f, -0.014646f, -0.006359f, 0.026343f, 0.018769f, 0.015389f, 0.023202f, 0.006031f, -0.001244f, -0.007797f, -0.024132f, 0.014115f, 0.016444f, 0.009604f, -0.001702f, -0.001432f, -0.006591f, 0.005567f, 0.024227f, 0.016787f, -0.022048f, 0.018284f, -0.018082f, 0.023973f, 0.007574f, 0.010256f, 0.012822f, -0.001605f, -0.008680f, -0.001445f, 0.012122f, 0.040288f, -0.002610f, 0.021342f, -0.004772f, -0.014753f, 0.024196f, 0.020822f, 0.009017f, 0.007019f, 0.023336f, 0.009593f, 0.007080f, 0.001604f, 0.016092f, -0.007714f, 0.016321f, 0.020880f, -0.023400f, 0.016229f, 0.009354f, -0.005331f, 0.001601f, 0.011333f, -0.009773f, -0.020407f, 0.031373f, 0.007230f, 0.006031f, 0.006345f, 0.018587f, 0.005941f, -0.018727f, 0.020536f, -0.026877f, -0.030739f, 0.002692f, 0.004391f, -0.017428f, -0.005015f, -0.051402f, -0.035592f, -0.027521f, -0.008508f, -0.028345f, -0.013083f, 0.010388f, -0.024475f, 0.017419f, 0.017142f, -0.020938f, 0.027444f, 0.013779f, -0.004293f, -0.003118f, -0.012807f, + 0.000105f, -0.023573f, 0.053352f, 0.016788f, 0.007801f, -0.025830f, 0.005897f, -0.007191f, 0.035022f, -0.006029f, -0.001718f, -0.031412f, 0.031060f, 0.003391f, 0.011557f, 0.011665f, 0.017580f, 0.011908f, -0.008371f, 0.012083f, -0.017160f, 0.017600f, -0.007240f, 0.011030f, -0.027022f, 0.059207f, 0.007006f, -0.025088f, 0.012451f, 0.018517f, 0.010753f, 0.021348f, 0.013822f, -0.024167f, -0.039683f, 0.013673f, -0.003734f, -0.002060f, 0.026700f, -0.002547f, -0.002254f, 0.004412f, 0.024101f, -0.003745f, 0.014869f, -0.008782f, -0.010797f, -0.014251f, -0.018709f, 0.037939f, 0.020656f, 0.015089f, -0.009328f, -0.030782f, -0.038385f, 0.021516f, 0.015322f, -0.012195f, 0.011554f, -0.007592f, 0.002904f, 0.037864f, 0.017544f, -0.007948f, 0.021208f, -0.004305f, 0.011943f, -0.009674f, 0.014039f, -0.024125f, -0.036813f, -0.012788f, -0.015336f, -0.000632f, 0.047328f, -0.034589f, 0.023321f, 0.014648f, 0.011244f, -0.005744f, 0.019837f, 0.010436f, -0.033471f, -0.042591f, -0.014056f, -0.018007f, 0.053073f, 0.039645f, -0.010353f, -0.020085f, 0.000130f, -0.020607f, -0.002895f, 0.040026f, 0.036490f, 0.022483f, + -0.028288f, 0.009625f, -0.021613f, 0.040468f, 0.019851f, -0.000580f, 0.002343f, 0.016107f, -0.019691f, 0.008762f, 0.035448f, 0.022019f, -0.026483f, 0.037037f, -0.009236f, 0.021669f, -0.031679f, -0.011497f, 0.056823f, 0.027183f, 0.033291f, 0.009357f, -0.044759f, 0.015845f, -0.036108f, 0.026238f, 0.070514f, 0.026345f, 0.044660f, -0.017809f, 0.013703f, 0.022013f, -0.000972f, 0.007087f, -0.016698f, 0.006465f, 0.028290f, 0.003435f, -0.006258f, -0.022539f, 0.014516f, 0.012291f, -0.024128f, 0.015277f, -0.008615f, 0.021459f, 0.028260f, 0.031471f, 0.035920f, 0.005963f, -0.026400f, 0.009891f, 0.017350f, 0.002319f, 0.048507f, 0.006931f, -0.054190f, -0.031614f, 0.016305f, -0.011017f, -0.064141f, 0.005433f, 0.028245f, 0.013413f, 0.003497f, -0.002523f, 0.034707f, -0.023275f, -0.032694f, -0.002693f, -0.011367f, -0.028425f, -0.001272f, 0.006547f, -0.018332f, -0.023413f, -0.016543f, 0.006151f, 0.004579f, -0.035097f, 0.012612f, -0.011160f, 0.010461f, 0.052679f, -0.005525f, -0.009190f, 0.033479f, 0.002381f, 0.028599f, -0.015944f, 0.020354f, 0.013576f, -0.020929f, -0.006785f, 0.046135f, 0.005354f, + -0.064963f, -0.029773f, 0.039080f, -0.058147f, 0.031869f, -0.055056f, 0.003647f, -0.009377f, -0.079379f, -0.011043f, 0.034603f, 0.071672f, 0.022260f, -0.011169f, 0.016780f, -0.028393f, -0.010090f, -0.063743f, -0.004297f, -0.043482f, -0.006958f, -0.009987f, -0.030410f, -0.032021f, -0.011220f, 0.017497f, -0.029249f, 0.019069f, 0.035362f, -0.037774f, 0.012739f, 0.011506f, 0.005640f, -0.040131f, -0.006795f, -0.000895f, -0.042246f, 0.010359f, 0.052159f, -0.004466f, -0.077471f, 0.026754f, -0.047054f, -0.118790f, 0.032715f, -0.049361f, -0.061522f, 0.002848f, -0.028499f, 0.008062f, 0.020330f, -0.012051f, 0.030601f, -0.026444f, 0.026687f, -0.021900f, -0.053486f, -0.000117f, 0.037426f, 0.035870f, -0.069290f, 0.009587f, -0.008662f, -0.051894f, -0.014123f, -0.013515f, 0.088747f, 0.043434f, 0.051835f, 0.022310f, 0.022143f, 0.052889f, 0.078353f, -0.021983f, -0.039210f, -0.015252f, 0.100881f, 0.109385f, -0.068805f, -0.028851f, 0.047103f, -0.025434f, 0.017175f, -0.033914f, 0.006278f, -0.034719f, -0.063264f, 0.079407f, 0.008797f, 0.023244f, 0.017886f, 0.005239f, 0.007535f, 0.000087f, 0.013339f, 0.018052f, + -0.061512f, -0.050233f, -0.045384f, -0.041870f, -0.033114f, -0.020847f, -0.018949f, -0.033239f, -0.021132f, -0.028401f, 0.026586f, 0.020995f, 0.008040f, -0.016359f, 0.002553f, -0.063278f, -0.034535f, 0.015159f, -0.059594f, -0.006664f, 0.023584f, 0.046941f, 0.003391f, 0.008106f, -0.024395f, -0.037272f, -0.046384f, 0.033258f, -0.008418f, 0.033069f, -0.123338f, 0.006796f, -0.017734f, 0.013275f, 0.069228f, 0.008696f, 0.008325f, 0.008196f, -0.025290f, -0.024407f, -0.003207f, -0.004345f, -0.070961f, 0.015269f, -0.028413f, 0.061490f, 0.000323f, -0.064132f, -0.093257f, -0.053304f, -0.014413f, -0.059720f, -0.063967f, -0.033990f, 0.043278f, -0.008975f, -0.016753f, -0.027821f, 0.120032f, -0.065000f, 0.047665f, 0.085469f, -0.036269f, 0.014309f, 0.069761f, -0.081275f, 0.007114f, 0.011769f, 0.044685f, -0.091682f, 0.009313f, 0.008487f, 0.035148f, -0.038955f, 0.004946f, 0.018765f, -0.050659f, 0.010045f, 0.000588f, -0.008622f, 0.035405f, -0.007548f, -0.003158f, 0.014338f, -0.001852f, -0.008039f, 0.035463f, -0.026640f, 0.014085f, -0.010362f, 0.013736f, -0.016856f, -0.003523f, -0.020899f, 0.006981f, 0.005011f, + 0.065381f, 0.020065f, 0.035697f, -0.005383f, 0.008344f, 0.043680f, 0.006246f, -0.016114f, 0.032789f, 0.018019f, -0.010518f, -0.056679f, 0.061458f, -0.056633f, 0.019368f, 0.026813f, 0.046404f, -0.056039f, 0.070952f, 0.094815f, -0.039710f, -0.097775f, 0.143324f, 0.044920f, -0.049346f, 0.028481f, -0.045422f, -0.078027f, -0.019983f, -0.015709f, -0.059293f, 0.062672f, -0.087281f, 0.030600f, 0.083212f, -0.048965f, -0.104672f, 0.111537f, -0.027091f, 0.066181f, -0.041653f, -0.032972f, -0.067226f, -0.030174f, 0.041739f, 0.032869f, -0.017170f, -0.021385f, 0.022677f, 0.055267f, -0.022152f, 0.042067f, 0.049621f, -0.033076f, -0.004038f, 0.031212f, -0.006816f, 0.001336f, -0.008987f, 0.004110f, -0.048907f, 0.015161f, -0.010264f, 0.003251f, 0.012695f, -0.008402f, 0.010934f, -0.019002f, -0.041001f, -0.018044f, -0.071903f, 0.010758f, 0.000389f, -0.009095f, 0.013950f, 0.008662f, -0.004269f, -0.014738f, 0.029552f, 0.047865f, -0.048026f, 0.072604f, -0.007662f, 0.011332f, 0.010522f, 0.064461f, 0.028923f, 0.047719f, -0.057254f, -0.012253f, -0.010637f, 0.083553f, -0.075984f, -0.023928f, 0.037260f, -0.000640f, + -0.087811f, 0.008097f, -0.018081f, -0.012834f, 0.040179f, 0.046206f, 0.003221f, -0.030684f, 0.071260f, -0.027505f, 0.118911f, 0.004109f, -0.053947f, 0.002731f, -0.007680f, -0.058766f, 0.122656f, 0.029059f, -0.009249f, -0.101965f, 0.028453f, 0.037975f, 0.023831f, 0.091479f, -0.015379f, 0.022402f, -0.006786f, -0.043918f, 0.024828f, -0.027122f, -0.014923f, 0.020783f, 0.041678f, -0.039875f, 0.047717f, 0.007797f, -0.000881f, 0.096762f, -0.017753f, -0.007832f, 0.071920f, -0.042431f, 0.063617f, 0.029712f, -0.013614f, 0.027758f, 0.027370f, 0.061166f, 0.061525f, 0.020644f, -0.048191f, 0.105975f, -0.102290f, 0.006745f, 0.094622f, -0.047139f, 0.021459f, -0.007639f, -0.011587f, -0.105102f, 0.074312f, 0.023310f, 0.033142f, 0.038566f, -0.022345f, -0.050020f, -0.040581f, -0.028685f, 0.005132f, 0.107834f, 0.000531f, 0.085795f, -0.027292f, -0.057339f, 0.002919f, 0.028655f, -0.051940f, 0.088884f, 0.032891f, 0.047029f, 0.080939f, 0.059878f, -0.089357f, 0.040874f, -0.127865f, -0.147535f, 0.001045f, 0.140396f, 0.079537f, 0.021368f, -0.096050f, -0.318409f, -0.064971f, 0.118986f, 0.111901f, 0.189645f, + -0.017495f, 0.013457f, -0.081176f, 0.068197f, -0.050975f, -0.008907f, -0.032928f, 0.031596f, -0.036963f, -0.001737f, -0.003673f, -0.010279f, 0.007903f, 0.034694f, -0.036579f, 0.015953f, 0.003268f, -0.008873f, 0.000933f, 0.024265f, -0.030729f, -0.008950f, -0.004057f, 0.050709f, -0.051253f, 0.013237f, -0.022094f, 0.033356f, -0.037163f, -0.011360f, 0.013694f, -0.007973f, 0.007959f, -0.025168f, -0.003495f, 0.021388f, -0.005829f, 0.007756f, 0.007977f, 0.003785f, 0.028705f, -0.026549f, 0.018459f, 0.019008f, 0.025874f, -0.004486f, -0.056104f, 0.006268f, 0.008133f, 0.022212f, 0.022738f, -0.005391f, 0.007217f, -0.010952f, -0.024475f, -0.005813f, 0.013656f, -0.006379f, 0.036652f, -0.029921f, -0.007430f, -0.058261f, 0.019006f, 0.004298f, -0.006631f, 0.010657f, 0.013557f, -0.003017f, -0.026415f, 0.006605f, 0.031777f, -0.008525f, -0.000283f, 0.007436f, -0.006364f, 0.015628f, -0.004338f, -0.046033f, 0.112572f, 0.030901f, 0.028019f, -0.014553f, -0.035683f, -0.034282f, 0.010080f, 0.022114f, 0.003696f, -0.000963f, 0.000130f, -0.016078f, -0.002740f, 0.008220f, -0.004109f, 0.003737f, -0.001522f, -0.016084f, + -0.000627f, 0.008499f, 0.013050f, -0.011072f, 0.003368f, 0.008593f, -0.016165f, 0.027266f, -0.016112f, -0.013847f, -0.013944f, 0.004078f, 0.008060f, 0.012886f, -0.013417f, 0.017825f, -0.024880f, 0.017049f, 0.015005f, -0.010593f, -0.000957f, -0.000340f, -0.002703f, 0.013420f, -0.013767f, 0.004551f, -0.004284f, -0.017540f, 0.025730f, -0.013767f, -0.000317f, -0.010050f, -0.003146f, 0.018368f, -0.023102f, 0.010037f, 0.006606f, -0.009571f, 0.008700f, -0.019234f, 0.005909f, 0.008897f, -0.014598f, 0.001026f, 0.008064f, -0.012932f, 0.013827f, -0.018080f, 0.005350f, 0.020084f, -0.028130f, 0.008971f, -0.010713f, 0.002848f, 0.011112f, -0.007505f, -0.004375f, 0.016571f, -0.087039f, -0.203864f, 0.057367f, 0.199040f, 0.136809f, 0.216459f, -0.120920f, -0.128706f, -0.175392f, -0.203003f, 0.004100f, 0.156150f, 0.161353f, 0.168451f, 0.032873f, -0.056027f, -0.110884f, -0.159066f, -0.134835f, 0.010211f, 0.104308f, 0.123741f, 0.111343f, 0.026424f, -0.031075f, -0.019534f, -0.087369f, -0.097732f, -0.041350f, -0.002932f, 0.037254f, 0.081902f, 0.039910f, 0.029532f, 0.040933f, -0.020831f, -0.049105f, -0.008279f, + -0.078366f, -0.036933f, 0.000640f, 0.012130f, 0.059339f, 0.069074f, 0.005941f, -0.010777f, -0.006723f, -0.051441f, -0.014068f, -0.000979f, -0.010845f, 0.017460f, 0.034078f, -0.007556f, -0.002898f, -0.013689f, -0.021564f, 0.004163f, 0.001963f, -0.002545f, 0.038535f, 0.025989f, 0.009572f, -0.001139f, -0.036519f, -0.052829f, -0.041680f, 0.002974f, 0.039363f, 0.033767f, 0.044535f, 0.006306f, 0.001904f, 0.010811f, -0.052897f, -0.028637f, -0.013606f, 0.000698f, 0.002378f}, + {0.020349f, 0.012716f, 0.004800f, -0.000581f, 0.010379f, 0.000762f, 0.000153f, -0.002023f, 0.004059f, 0.008144f, 0.001153f, -0.005362f, 0.007314f, 0.005394f, -0.003062f, 0.000762f, 0.001721f, -0.005434f, -0.003180f, 0.003653f, 0.001179f, 0.007023f, -0.004192f, 0.004185f, -0.005769f, -0.000256f, 0.001542f, -0.005767f, 0.001799f, -0.002682f, 0.005277f, -0.007022f, 0.009761f, -0.001358f, -0.005192f, -0.009347f, 0.003408f, 0.007683f, -0.002749f, 0.001684f, -0.004166f, 0.001969f, 0.005531f, -0.000275f, -0.001935f, -0.001960f, -0.001885f, 0.004686f, -0.004653f, -0.004184f, 0.001251f, 0.002229f, 0.003360f, 0.000406f, -0.003560f, 0.009993f, 0.001182f, 0.001271f, 0.006133f, -0.001918f, 0.002930f, -0.000058f, -0.001757f, -0.000949f, -0.000830f, 0.003408f, 0.006774f, -0.001137f, 0.001716f, 0.001159f, 0.008373f, -0.001620f, -0.003091f, -0.001748f, -0.002791f, -0.003812f, -0.000723f, -0.007978f, -0.005220f, 0.002510f, -0.001869f, -0.002377f, -0.003756f, 0.001180f, 0.008179f, -0.002344f, 0.000282f, 0.001010f, 0.013845f, -0.000072f, 0.002865f, -0.005397f, -0.003612f, -0.001200f, -0.003378f, -0.003745f, + -0.003401f, -0.002324f, -0.003209f, -0.004449f, 0.004200f, 0.006636f, -0.003233f, 0.001159f, 0.000588f, -0.007155f, 0.000544f, 0.000010f, -0.004854f, 0.009985f, -0.004655f, 0.005752f, 0.002500f, -0.001334f, -0.005246f, -0.005031f, 0.005449f, -0.002455f, -0.001486f, -0.007580f, -0.001543f, -0.000544f, -0.003208f, 0.010529f, -0.001792f, -0.000468f, 0.004816f, -0.000567f, -0.008113f, -0.004238f, -0.007066f, -0.004906f, 0.012365f, -0.003105f, 0.013718f, 0.000168f, 0.000086f, -0.002143f, 0.002195f, 0.000806f, -0.007093f, -0.008042f, 0.006817f, 0.000993f, 0.004934f, -0.000220f, 0.005678f, 0.003326f, -0.006605f, 0.000389f, 0.003558f, 0.004582f, 0.001096f, 0.003863f, 0.018380f, -0.000954f, -0.001724f, -0.004147f, -0.009365f, -0.011651f, -0.010629f, 0.001683f, 0.010303f, 0.003904f, 0.013607f, 0.004979f, -0.005543f, 0.002046f, -0.015246f, -0.012826f, 0.006600f, -0.004211f, 0.009119f, -0.000359f, -0.006543f, -0.003016f, 0.017684f, 0.004310f, 0.007718f, 0.000123f, 0.006004f, -0.002119f, -0.001709f, 0.003875f, -0.001970f, -0.007083f, -0.000151f, 0.003217f, -0.000479f, 0.000004f, 0.011376f, 0.007249f, + -0.011414f, 0.000726f, -0.007105f, 0.012896f, 0.007733f, 0.000975f, -0.004050f, -0.004090f, 0.006086f, 0.003645f, 0.009634f, -0.008172f, 0.015075f, 0.018526f, -0.004655f, 0.018057f, 0.000285f, 0.009668f, 0.006029f, -0.002830f, 0.003321f, 0.014537f, -0.001412f, -0.009125f, 0.008366f, 0.003019f, 0.000057f, -0.000737f, -0.001572f, 0.000926f, 0.008268f, -0.005029f, 0.002910f, 0.002384f, 0.004107f, -0.006815f, 0.007201f, 0.001469f, -0.001980f, -0.015978f, -0.012579f, 0.003373f, -0.007298f, 0.004452f, -0.009007f, -0.012679f, -0.011688f, 0.001099f, -0.008823f, 0.007235f, 0.005278f, -0.011331f, -0.002602f, 0.003908f, 0.000672f, 0.004913f, -0.003548f, 0.005091f, 0.006571f, -0.010151f, 0.002744f, 0.002627f, -0.008053f, 0.003991f, 0.000477f, -0.009675f, 0.006458f, 0.005956f, -0.003541f, 0.006550f, 0.000733f, 0.005229f, 0.004987f, 0.001600f, -0.003703f, -0.001466f, -0.011196f, -0.003921f, -0.005692f, 0.005117f, 0.005808f, 0.001741f, -0.017756f, 0.002683f, 0.007141f, -0.004634f, 0.012079f, -0.010757f, -0.013583f, 0.000314f, -0.004186f, 0.003553f, -0.009757f, 0.016656f, -0.001135f, -0.006570f, + 0.001482f, -0.000551f, 0.009676f, -0.001351f, -0.006010f, -0.001192f, -0.004171f, -0.006175f, -0.007038f, 0.002326f, -0.012537f, 0.000369f, 0.000086f, 0.002665f, 0.007726f, 0.001702f, 0.005221f, 0.007900f, -0.007047f, -0.038459f, -0.001855f, -0.005770f, 0.024969f, -0.000643f, 0.000316f, 0.004386f, -0.004935f, 0.012011f, 0.001969f, -0.015317f, -0.008899f, -0.017755f, 0.001627f, -0.002339f, -0.007017f, -0.005966f, -0.007412f, -0.005033f, 0.019051f, -0.010544f, -0.006005f, -0.006465f, -0.016931f, -0.001805f, -0.005216f, 0.004174f, 0.006303f, -0.003653f, -0.001533f, 0.003425f, -0.006213f, -0.002413f, -0.003492f, -0.006736f, 0.004754f, 0.011475f, -0.003007f, -0.003171f, 0.008418f, -0.014236f, 0.006999f, -0.011578f, -0.022751f, -0.014493f, -0.022690f, -0.004272f, -0.013647f, -0.009133f, 0.000576f, 0.007377f, 0.002597f, 0.004983f, -0.004820f, 0.006271f, -0.010709f, -0.003043f, 0.005862f, -0.001043f, 0.008787f, -0.005439f, 0.001386f, -0.008449f, -0.007577f, 0.004519f, -0.014923f, 0.002451f, 0.007560f, -0.013585f, -0.000931f, -0.004369f, -0.008232f, -0.009341f, -0.010087f, -0.003704f, -0.006381f, 0.000053f, + 0.024088f, 0.000381f, -0.013033f, -0.012582f, -0.004092f, -0.009145f, -0.003280f, -0.006853f, 0.002161f, 0.001290f, -0.010155f, -0.006072f, -0.011164f, 0.021996f, 0.009703f, 0.002096f, -0.000799f, 0.011931f, -0.017255f, -0.000245f, 0.000123f, -0.011185f, -0.014387f, 0.013346f, 0.000829f, 0.009501f, -0.014371f, -0.006590f, -0.004590f, 0.005135f, 0.000125f, 0.006309f, -0.009628f, 0.003015f, 0.004957f, -0.011294f, -0.009977f, -0.009863f, 0.003139f, -0.003365f, -0.002151f, 0.009256f, -0.001863f, 0.000844f, 0.001126f, -0.002083f, -0.009663f, -0.006742f, -0.000166f, -0.016287f, -0.009352f, -0.008720f, 0.005651f, 0.002778f, 0.007669f, -0.001891f, 0.004143f, -0.000503f, -0.000215f, 0.007124f, -0.004268f, 0.012648f, 0.003458f, 0.003579f, 0.000051f, -0.004649f, 0.007087f, 0.003666f, 0.012364f, -0.003435f, 0.003942f, 0.005968f, -0.001050f, -0.000100f, -0.010405f, 0.006306f, -0.005946f, 0.027633f, 0.026134f, 0.019369f, -0.007246f, 0.006758f, 0.009554f, 0.005375f, 0.005171f, -0.010432f, -0.009147f, -0.013494f, 0.011021f, -0.012701f, -0.002003f, -0.009396f, 0.014793f, -0.017538f, -0.013179f, -0.006896f, + -0.003245f, -0.009928f, -0.014557f, 0.003420f, 0.000235f, 0.000224f, -0.017538f, -0.009996f, 0.003950f, 0.002953f, 0.004339f, -0.005248f, -0.007264f, -0.000104f, 0.004632f, 0.005892f, -0.005285f, 0.005558f, -0.009529f, -0.003084f, -0.022618f, 0.007416f, 0.002190f, -0.004530f, -0.004667f, -0.017066f, -0.007924f, 0.001295f, -0.004416f, -0.023716f, 0.011929f, 0.004290f, -0.000462f, -0.007042f, -0.005234f, -0.010588f, 0.002562f, -0.004373f, 0.006225f, -0.002423f, -0.003652f, -0.014079f, -0.002847f, -0.002419f, -0.007468f, 0.013122f, -0.010614f, -0.001114f, 0.008349f, -0.005023f, -0.011279f, -0.007964f, 0.009770f, 0.012058f, 0.007291f, -0.003493f, 0.000499f, 0.033923f, 0.011275f, -0.005121f, -0.004134f, 0.011826f, -0.023185f, -0.004465f, 0.018469f, 0.009220f, -0.013175f, -0.000410f, -0.009005f, 0.003483f, 0.014141f, 0.035099f, 0.011420f, 0.027317f, -0.009930f, -0.002144f, -0.026908f, 0.008956f, -0.008017f, 0.007414f, -0.011930f, -0.000712f, 0.000876f, -0.004255f, 0.009318f, -0.004385f, 0.004302f, 0.011699f, -0.009320f, 0.005230f, 0.014762f, -0.004197f, 0.004727f, -0.000075f, 0.005730f, 0.008153f, + 0.008139f, -0.045370f, 0.016203f, -0.005334f, -0.021569f, -0.003812f, 0.012564f, 0.003848f, -0.016778f, 0.008715f, 0.012494f, -0.026795f, 0.001706f, -0.007671f, 0.015234f, 0.003423f, 0.012486f, -0.003346f, -0.009826f, -0.018925f, 0.000630f, -0.011555f, 0.034806f, 0.006268f, -0.006377f, 0.011473f, 0.000888f, 0.011035f, -0.028440f, -0.004106f, 0.003635f, 0.008069f, 0.001360f, -0.013731f, -0.002761f, 0.003723f, 0.011696f, -0.040812f, -0.044724f, -0.015561f, -0.003838f, 0.000438f, 0.009045f, -0.019317f, 0.005597f, 0.021951f, -0.013191f, 0.011507f, 0.015075f, -0.011150f, -0.000052f, -0.005625f, 0.018518f, 0.025990f, -0.013022f, -0.015269f, 0.012868f, 0.000893f, -0.013057f, 0.005611f, -0.000189f, 0.002921f, 0.003366f, -0.007156f, -0.005342f, -0.028567f, -0.001866f, -0.008450f, -0.001072f, -0.001227f, 0.018726f, 0.005293f, -0.034831f, 0.000180f, 0.016132f, -0.019208f, 0.004490f, 0.019828f, -0.004926f, 0.006717f, -0.000081f, -0.005715f, -0.013578f, 0.025596f, 0.021357f, -0.017058f, 0.008163f, -0.006609f, -0.001440f, 0.007670f, -0.006383f, 0.006360f, -0.010942f, -0.001608f, 0.021285f, -0.006680f, + 0.003912f, 0.009932f, -0.008301f, -0.018509f, -0.001647f, 0.005746f, 0.002239f, -0.009137f, 0.000052f, 0.004408f, 0.006549f, 0.015613f, 0.008435f, 0.017248f, 0.007449f, 0.003050f, 0.005590f, -0.042199f, 0.049941f, -0.001469f, 0.032618f, 0.003736f, -0.016772f, -0.004085f, -0.009135f, -0.011384f, -0.000284f, 0.002214f, 0.023987f, -0.002234f, 0.016919f, -0.014286f, 0.000565f, 0.005202f, 0.004985f, 0.003122f, 0.021050f, 0.020933f, 0.008576f, 0.004465f, -0.001052f, -0.002475f, 0.000307f, -0.001923f, -0.031287f, -0.009819f, 0.016530f, 0.011080f, -0.002191f, 0.002995f, -0.014023f, 0.009168f, -0.017518f, 0.005475f, 0.031669f, 0.004593f, 0.008052f, -0.023801f, 0.014918f, 0.012981f, 0.004749f, -0.015574f, -0.005828f, -0.006605f, 0.002937f, -0.013898f, 0.017026f, 0.020068f, 0.012988f, -0.000517f, 0.029907f, 0.011143f, 0.043046f, 0.017240f, -0.009413f, 0.035486f, 0.002469f, -0.011682f, 0.026693f, -0.003281f, 0.009993f, 0.016383f, -0.009588f, -0.009283f, 0.024902f, 0.025012f, 0.016485f, -0.020357f, 0.009448f, -0.001001f, -0.007634f, -0.018364f, 0.013465f, 0.018415f, 0.012207f, -0.021862f, + 0.032563f, -0.007430f, -0.018996f, 0.008424f, 0.014933f, -0.011942f, -0.005492f, -0.026984f, 0.013348f, -0.008816f, -0.002127f, -0.024531f, -0.010235f, -0.007149f, -0.003212f, -0.010046f, 0.007449f, -0.003483f, -0.005235f, 0.008044f, 0.009883f, 0.017196f, 0.016169f, -0.004529f, -0.004249f, -0.019158f, 0.009483f, 0.002447f, 0.015051f, 0.005912f, 0.004837f, -0.002657f, 0.006659f, -0.011035f, -0.010134f, 0.008466f, 0.004221f, 0.008618f, -0.024774f, 0.010996f, 0.017891f, 0.002365f, -0.021734f, -0.021243f, -0.017520f, -0.052163f, 0.008692f, -0.003672f, 0.027424f, -0.010253f, 0.022925f, 0.009858f, 0.002400f, 0.031256f, 0.005203f, -0.000296f, 0.021250f, 0.010631f, -0.026970f, -0.010632f, 0.004130f, -0.005566f, -0.015011f, -0.006179f, 0.036571f, 0.020026f, -0.016216f, 0.001593f, -0.008926f, -0.000926f, 0.005606f, 0.028961f, 0.000436f, -0.003753f, 0.031746f, 0.014957f, -0.021085f, -0.004299f, -0.004599f, -0.001617f, -0.000111f, 0.061049f, 0.011262f, 0.023127f, -0.009092f, 0.020339f, 0.040032f, -0.031753f, 0.051577f, 0.030869f, -0.011784f, 0.001649f, 0.004660f, -0.016803f, -0.028503f, 0.003236f, + -0.015794f, -0.025774f, -0.010334f, 0.003511f, 0.001813f, -0.002209f, -0.010290f, -0.000946f, -0.009928f, 0.000237f, -0.011722f, 0.000043f, 0.011279f, -0.020137f, 0.013618f, 0.018805f, -0.011813f, -0.011921f, 0.011307f, 0.007891f, 0.000969f, 0.054560f, 0.006980f, 0.036648f, -0.023386f, -0.001636f, -0.028766f, -0.022059f, 0.008007f, -0.022165f, -0.028917f, -0.020268f, -0.021229f, -0.004526f, -0.003545f, -0.025942f, -0.025917f, 0.038263f, 0.009049f, 0.002854f, -0.001794f, 0.019904f, 0.014375f, 0.023791f, 0.001460f, 0.022310f, -0.008328f, 0.004847f, -0.037115f, 0.033389f, 0.021568f, 0.001328f, -0.016897f, -0.004459f, 0.026484f, -0.014482f, -0.012324f, 0.029904f, -0.030007f, -0.023431f, -0.007790f, -0.019152f, -0.005352f, -0.035117f, 0.004578f, -0.022593f, 0.012637f, -0.000364f, 0.002469f, 0.016090f, 0.002545f, 0.010619f, 0.015216f, 0.014621f, 0.011284f, 0.021501f, -0.000052f, 0.013812f, 0.011694f, -0.020036f, 0.027346f, 0.004914f, 0.010998f, -0.018878f, 0.020602f, 0.008144f, 0.013508f, 0.001678f, 0.002769f, -0.005613f, -0.025043f, 0.003002f, 0.009072f, 0.011984f, 0.012565f, 0.000830f, + -0.029945f, -0.019399f, 0.015625f, 0.007750f, 0.000796f, -0.012762f, 0.009585f, -0.012362f, -0.030333f, 0.036309f, 0.020025f, 0.014633f, -0.018979f, -0.010269f, -0.023894f, -0.064709f, -0.006090f, -0.011660f, 0.003587f, -0.017576f, -0.020089f, -0.030524f, 0.000004f, 0.005272f, 0.029475f, -0.030958f, 0.005613f, -0.003507f, 0.010011f, -0.028486f, -0.036008f, -0.023188f, 0.011494f, -0.000919f, -0.047961f, 0.030557f, 0.032494f, -0.013318f, 0.028051f, 0.010754f, -0.039998f, -0.005680f, 0.057454f, -0.006155f, -0.034603f, -0.004083f, -0.001293f, -0.030347f, 0.024682f, 0.006228f, -0.013772f, 0.025656f, 0.018415f, 0.058527f, 0.035898f, 0.002323f, 0.006720f, 0.055201f, -0.011220f, 0.014957f, -0.019340f, -0.030358f, -0.006726f, -0.020265f, 0.007620f, -0.000393f, 0.013694f, -0.000525f, -0.000940f, -0.008044f, 0.045416f, 0.003056f, -0.030349f, -0.025586f, -0.002875f, -0.006011f, 0.002062f, 0.014648f, 0.042069f, 0.025467f, 0.011641f, -0.022853f, 0.033690f, 0.055594f, -0.007941f, 0.025465f, 0.027232f, 0.066683f, 0.016604f, 0.012905f, 0.024216f, 0.028408f, 0.020027f, -0.022755f, -0.017316f, 0.015126f, + -0.035831f, -0.024791f, -0.024005f, 0.027149f, 0.029686f, 0.016198f, -0.000639f, 0.019434f, 0.049131f, -0.025465f, 0.041320f, 0.032381f, 0.004230f, 0.032209f, -0.018875f, -0.005259f, 0.011545f, 0.038639f, 0.068396f, 0.007887f, -0.006624f, 0.007840f, -0.003285f, -0.010490f, 0.002337f, 0.007844f, -0.016320f, -0.021310f, 0.007728f, -0.010631f, -0.006088f, 0.018213f, -0.000735f, 0.034962f, -0.017817f, 0.034348f, 0.016409f, 0.004346f, -0.019380f, 0.007418f, 0.033176f, 0.010807f, -0.017025f, 0.007811f, -0.004208f, 0.002237f, 0.019286f, -0.025700f, -0.014620f, 0.031622f, 0.000272f, -0.005975f, 0.025789f, 0.000257f, 0.008778f, 0.007581f, -0.025671f, -0.044060f, -0.010335f, 0.017636f, 0.028599f, 0.008181f, -0.023310f, 0.031204f, -0.010490f, 0.061409f, -0.031067f, 0.042064f, -0.024445f, 0.016489f, 0.033091f, -0.048378f, -0.053668f, 0.002031f, -0.016254f, 0.016029f, 0.015128f, 0.005026f, -0.009426f, -0.028225f, 0.019003f, -0.001590f, 0.035119f, 0.019868f, 0.032375f, 0.012717f, 0.017722f, -0.004893f, 0.023998f, 0.013632f, -0.018479f, 0.008517f, -0.002369f, -0.052750f, 0.041880f, 0.054895f, + -0.014992f, -0.004676f, 0.017751f, 0.073419f, -0.000363f, -0.047329f, -0.020455f, 0.006681f, 0.006127f, -0.016636f, 0.011989f, -0.012693f, 0.020986f, -0.040507f, -0.000535f, 0.021263f, -0.018441f, -0.019619f, 0.000751f, -0.040076f, -0.014166f, -0.014714f, -0.062486f, -0.053045f, -0.031910f, 0.019606f, 0.023368f, -0.007039f, -0.045258f, 0.002305f, -0.001132f, -0.004016f, 0.005881f, -0.023931f, 0.048497f, -0.017155f, 0.003822f, 0.054131f, -0.052351f, 0.021336f, 0.005658f, -0.019942f, 0.017866f, -0.016077f, -0.043022f, -0.001873f, 0.032019f, -0.018337f, -0.028106f, 0.011687f, 0.001848f, 0.030315f, -0.002619f, -0.054132f, 0.001199f, -0.033308f, 0.047490f, -0.021456f, 0.004667f, 0.009094f, 0.003056f, -0.010707f, -0.035757f, 0.009999f, 0.031262f, 0.006053f, 0.032300f, -0.056128f, -0.031758f, -0.013216f, -0.003788f, 0.000391f, -0.043670f, 0.030225f, -0.010077f, -0.038827f, 0.058338f, 0.002230f, -0.098666f, 0.040326f, -0.013241f, 0.008404f, 0.010442f, 0.014036f, 0.024606f, 0.009650f, -0.017713f, -0.003501f, 0.024676f, 0.017449f, -0.019551f, -0.000116f, -0.015539f, -0.007104f, -0.048656f, -0.005167f, + 0.023391f, 0.030192f, 0.006448f, -0.010391f, 0.032079f, -0.031986f, 0.036515f, -0.019887f, -0.012151f, 0.005707f, -0.011723f, 0.011182f, -0.029686f, -0.038094f, -0.044718f, -0.012646f, 0.022393f, -0.007263f, -0.000373f, 0.028615f, 0.006814f, 0.006443f, -0.001596f, 0.002725f, -0.010155f, 0.002252f, 0.028132f, 0.019858f, 0.029647f, 0.028066f, 0.029647f, 0.023088f, -0.019503f, -0.009404f, 0.006226f, 0.000407f, -0.036797f, 0.026250f, -0.007985f, -0.030782f, 0.040180f, 0.002278f, 0.004910f, 0.001742f, -0.017334f, -0.001947f, 0.015312f, 0.028794f, 0.018692f, 0.004187f, 0.010234f, -0.038938f, -0.009026f, -0.011078f, 0.020536f, 0.011620f, -0.011387f, -0.014921f, 0.134877f, -0.132455f, -0.006654f, -0.143998f, -0.022311f, -0.054733f, -0.006688f, 0.035201f, -0.017875f, -0.039799f, 0.062825f, -0.016918f, -0.010958f, 0.002185f, 0.019368f, -0.002115f, 0.052237f, 0.034738f, 0.020747f, -0.030640f, 0.002093f, -0.020807f, -0.021344f, -0.014039f, 0.000856f, -0.006272f, -0.005670f, -0.017055f, -0.003749f, 0.029282f, 0.003717f, 0.019576f, 0.019275f, -0.001005f, 0.025707f, 0.037709f, 0.002279f, -0.006929f, + -0.019026f, -0.022376f, 0.009650f, 0.010988f, -0.018724f, 0.032407f, -0.041016f, -0.040974f, 0.005269f, -0.013514f, 0.023220f, -0.037635f, 0.017486f, -0.073453f, -0.038976f, -0.058315f, -0.004080f, -0.027710f, -0.001386f, -0.015923f, -0.021041f, -0.017170f, -0.000042f, 0.007866f, -0.056586f, 0.009873f, -0.010431f, 0.010408f, 0.003134f, -0.022819f, -0.044241f, 0.038034f, -0.024436f, 0.000904f, 0.035003f, 0.004268f, -0.000790f, 0.026626f, -0.010571f, 0.112135f, 0.057833f, 0.029362f, -0.023451f, -0.010920f, -0.054023f, 0.015283f, 0.048808f, -0.006277f, -0.007791f, 0.077528f, -0.010310f, -0.014131f, 0.040238f, 0.057322f, 0.012661f, 0.058342f, -0.010808f, 0.010463f, 0.036253f, 0.039543f, 0.062145f, 0.049782f, 0.000733f, -0.019212f, 0.020971f, 0.023415f, 0.023566f, 0.027082f, 0.047354f, 0.023287f, 0.059340f, -0.020131f, 0.001814f, 0.017864f, 0.018519f, 0.048799f, 0.030901f, 0.052062f, -0.033358f, -0.010492f, 0.023611f, -0.038634f, 0.035225f, 0.033117f, 0.034354f, 0.013737f, -0.036535f, -0.014251f, 0.078825f, 0.019519f, 0.054202f, 0.042069f, 0.049587f, -0.009972f, 0.064649f, 0.095367f, + 0.036341f, 0.007353f, 0.070663f, 0.045071f, -0.022759f, -0.017976f, -0.029448f, -0.028640f, 0.031608f, 0.029828f, 0.006123f, -0.031766f, 0.003922f, -0.029853f, 0.002358f, -0.017555f, 0.020085f, -0.067364f, -0.002959f, -0.009016f, -0.035445f, 0.016421f, -0.042672f, 0.072368f, 0.102521f, 0.059832f, -0.027841f, -0.057338f, -0.022361f, 0.050978f, -0.016703f, -0.042616f, 0.075596f, -0.053602f, 0.044336f, 0.026092f, -0.062631f, -0.024996f, -0.008471f, -0.099901f, 0.001728f, 0.011884f, -0.050720f, 0.099165f, -0.036483f, 0.092240f, -0.071412f, 0.010879f, 0.001482f, 0.067808f, 0.095598f, -0.007228f, 0.030223f, 0.047614f, -0.058074f, 0.037733f, -0.077583f, -0.019165f, 0.136441f, -0.006600f, -0.042890f, -0.006184f, -0.082967f, 0.004891f, -0.029405f, 0.089417f, 0.028451f, 0.042558f, -0.018710f, -0.021457f, -0.049291f, -0.038630f, 0.004279f, 0.007493f, -0.006054f, 0.060418f, -0.020887f, 0.013130f, -0.067815f, -0.029479f, 0.032913f, -0.088436f, -0.043813f, -0.025302f, -0.039712f, 0.086149f, -0.003390f, 0.092682f, 0.054994f, 0.030117f, 0.023547f, -0.020203f, -0.060963f, 0.039545f, -0.080311f, -0.045028f, + 0.061008f, 0.066673f, -0.108215f, 0.116961f, -0.001948f, 0.009744f, -0.036204f, 0.094522f, 0.023045f, 0.061096f, 0.023882f, -0.038915f, 0.014592f, 0.034154f, -0.056264f, 0.040715f, 0.001868f, 0.027150f, -0.075420f, -0.005523f, 0.019997f, 0.070921f, -0.028178f, -0.057850f, -0.001281f, 0.070407f, 0.038319f, -0.026608f, -0.059144f, -0.002866f, 0.052011f, 0.006665f, 0.004925f, 0.013994f, 0.038251f, 0.092831f, -0.129595f, -0.021852f, 0.014165f, 0.072556f, 0.017856f, -0.040168f, -0.008261f, 0.027192f, 0.068335f, -0.007453f, 0.004909f, -0.126560f, 0.038103f, 0.018613f, 0.036053f, -0.092424f, 0.082481f, 0.068017f, 0.028041f, -0.042937f, -0.002226f, -0.047609f, 0.036185f, 0.057199f, 0.027127f, 0.025170f, -0.002885f, 0.041964f, -0.063236f, 0.058609f, -0.015741f, -0.026616f, 0.076250f, 0.055033f, 0.007383f, -0.029376f, -0.055983f, 0.035687f, 0.053788f, -0.140387f, -0.001928f, -0.094626f, 0.050376f, 0.011902f, 0.033148f, 0.039211f, 0.056024f, 0.021500f, 0.020052f, -0.022690f, 0.030411f, 0.007635f, 0.066095f, -0.004692f, -0.015660f, 0.052036f, 0.041217f, -0.005842f, 0.006552f, -0.018723f, + 0.003992f, 0.018098f, -0.001485f, -0.010271f, 0.031708f, -0.020156f, 0.006443f, 0.040545f, -0.004656f, 0.024340f, -0.035303f, -0.005716f, 0.008963f, -0.013858f, -0.002378f, 0.006621f, 0.031794f, -0.004973f, -0.042610f, 0.003914f, 0.097069f, 0.021313f, -0.046159f, 0.017066f, -0.047036f, -0.033198f, -0.022069f, -0.005262f, 0.063912f, -0.004549f, -0.042534f, 0.097795f, -0.098905f, 0.019452f, 0.111019f, 0.013000f, 0.079736f, -0.055163f, -0.100744f, 0.036000f, 0.009344f, 0.086326f, 0.010466f, -0.046070f, 0.045626f, -0.009064f, -0.002054f, -0.018691f, 0.003893f, -0.028089f, 0.022850f, 0.005805f, 0.031729f, -0.034386f, -0.020248f, -0.009804f, 0.052314f, 0.020563f, -0.039536f, -0.219107f, -0.475374f, -0.201489f, -0.294556f, -0.421711f, 0.193896f, 0.037861f, 0.102650f, 0.548234f, 0.418233f, 0.234601f, 0.448188f, 0.328377f, 0.038991f, 0.094055f, 0.075573f, -0.243962f, -0.210822f, -0.114836f, -0.360455f, -0.346748f, -0.144812f, -0.188640f, -0.256010f, -0.120158f, -0.104688f, -0.261555f, -0.220145f, -0.038056f, -0.133702f, -0.215969f, -0.086176f, 0.040869f, -0.160442f, 0.021491f, 0.191668f, -0.036953f, + -0.048611f, 0.265068f, 0.210160f, -0.030494f, 0.316239f, 0.366689f, 0.139936f, 0.343616f, 0.493428f, 0.284804f, 0.248338f, 0.593082f, 0.473217f, 0.348802f, 0.420961f, 0.559709f, 0.193013f, 0.064940f, 0.229533f, -0.206658f, -0.558066f, -0.411359f, -0.614235f, -0.993089f, -0.884557f, -0.942476f, -1.087174f, -1.112119f, -0.951825f, -0.832858f, -0.825504f, -0.582218f, -0.244430f, -0.163321f, 0.001863f, 0.313772f, 0.578457f, 0.611424f, 0.730503f, 0.614709f, 0.402061f} + }, + { + {-0.000246f, -0.000125f, 0.000592f, -0.012374f, 0.002214f, -0.000343f, 0.000393f, -0.007583f, 0.002277f, -0.013588f, -0.007281f, 0.003431f, -0.002907f, 0.004367f, 0.007197f, -0.004373f, 0.005096f, -0.006870f, -0.000749f, 0.006236f, -0.001860f, 0.003853f, -0.010508f, 0.001281f, -0.000024f, 0.003145f, -0.002468f, 0.003660f, -0.005238f, -0.002844f, 0.003683f, -0.009042f, 0.002679f, 0.002601f, -0.002939f, -0.004941f, 0.013041f, -0.003018f, 0.003506f, -0.005229f, -0.001820f, 0.001758f, -0.010830f, -0.007003f, -0.005797f, -0.004128f, -0.005221f, -0.005334f, -0.000098f, 0.000268f, -0.005093f, 0.001782f, 0.000363f, 0.005152f, -0.004259f, -0.002033f, -0.000488f, 0.002273f, -0.002616f, -0.007328f, 0.007933f, 0.006107f, 0.003430f, -0.002293f, 0.003225f, 0.000714f, 0.004980f, -0.006074f, -0.011528f, -0.009813f, 0.001294f, -0.006024f, 0.004277f, 0.009353f, 0.002070f, 0.006179f, -0.016268f, 0.009110f, -0.012446f, 0.001143f, -0.005450f, -0.001941f, 0.004415f, -0.007863f, -0.013966f, -0.003841f, 0.000862f, -0.008188f, -0.004806f, 0.006271f, -0.004216f, 0.002705f, -0.017389f, -0.001837f, 0.011307f, 0.005793f, + -0.019409f, -0.006973f, -0.005281f, -0.005472f, 0.006214f, -0.003185f, -0.010217f, -0.006661f, -0.007367f, -0.007659f, 0.012386f, 0.003537f, 0.007903f, -0.005679f, 0.010459f, 0.009283f, 0.006707f, -0.004265f, -0.009256f, -0.007547f, 0.000563f, 0.001370f, 0.014340f, 0.004705f, 0.002593f, -0.007290f, 0.001418f, 0.000171f, 0.001512f, 0.005291f, 0.003270f, -0.010331f, -0.008510f, -0.004812f, 0.005191f, 0.000746f, -0.001962f, -0.011040f, -0.003314f, 0.003623f, 0.004693f, -0.004778f, -0.001677f, -0.000306f, 0.004995f, -0.001652f, -0.005632f, -0.000581f, 0.000748f, -0.007812f, 0.015237f, 0.000291f, -0.010521f, -0.000774f, -0.001889f, -0.010345f, -0.009354f, 0.010985f, 0.010062f, -0.007815f, 0.006114f, 0.000804f, 0.003215f, -0.026094f, 0.010309f, -0.003686f, -0.017843f, -0.023193f, 0.000748f, 0.017183f, 0.001131f, 0.011237f, 0.000507f, -0.020924f, -0.007223f, 0.002718f, 0.007491f, -0.003446f, -0.001743f, -0.008625f, 0.001243f, -0.001313f, 0.015026f, 0.007931f, 0.003223f, 0.003017f, 0.004098f, 0.005542f, 0.013672f, 0.008629f, -0.012057f, -0.000658f, 0.002799f, 0.003298f, -0.014367f, 0.005060f, + -0.004299f, -0.008671f, -0.002615f, 0.000035f, 0.009754f, 0.002958f, -0.005563f, 0.010390f, 0.015400f, -0.002818f, -0.005991f, 0.004229f, -0.001243f, 0.008972f, 0.008482f, 0.007282f, -0.010541f, -0.007348f, 0.007221f, -0.002576f, -0.002846f, -0.007362f, 0.000574f, -0.011192f, 0.006689f, 0.006974f, 0.007910f, 0.002814f, 0.009161f, -0.009741f, -0.007226f, 0.014362f, -0.000198f, 0.005920f, 0.014573f, 0.013126f, 0.000929f, 0.004914f, -0.011521f, -0.009851f, 0.005240f, -0.002939f, -0.004358f, -0.005529f, -0.005126f, 0.003768f, -0.013265f, -0.007785f, -0.016323f, -0.019667f, -0.003790f, 0.015785f, 0.010185f, -0.006838f, -0.002008f, -0.002579f, -0.003938f, -0.014289f, 0.009860f, -0.003859f, -0.003754f, 0.000511f, 0.006397f, -0.003522f, 0.000424f, -0.000875f, 0.009354f, -0.009191f, 0.009391f, 0.004786f, 0.011296f, -0.004330f, 0.008717f, 0.003485f, -0.005587f, 0.007510f, -0.005517f, 0.004110f, 0.008375f, -0.006893f, 0.008811f, -0.005833f, -0.004369f, -0.001887f, -0.002702f, 0.003915f, -0.002649f, -0.007363f, 0.002676f, -0.006502f, 0.001257f, 0.000139f, 0.000897f, 0.012719f, 0.002604f, -0.003833f, + 0.000088f, -0.006304f, -0.007650f, 0.003103f, -0.001804f, 0.011869f, 0.013127f, 0.004260f, -0.003548f, -0.003178f, -0.000004f, -0.006475f, -0.005871f, 0.005026f, 0.010384f, 0.025694f, -0.010668f, 0.010628f, -0.012889f, -0.010793f, 0.000182f, -0.002872f, -0.002647f, 0.003736f, -0.005360f, 0.011232f, 0.010893f, 0.009428f, -0.002662f, -0.001003f, -0.004705f, -0.011580f, 0.001946f, -0.006862f, -0.001211f, 0.001525f, -0.003853f, 0.006961f, 0.002635f, -0.000552f, -0.019373f, -0.007858f, -0.012178f, 0.000741f, -0.007939f, -0.012043f, -0.005323f, -0.006509f, -0.007458f, 0.012607f, -0.009731f, 0.008999f, 0.000833f, -0.003125f, 0.004931f, 0.004546f, -0.008715f, -0.002010f, 0.000265f, 0.009909f, -0.000819f, -0.012520f, -0.016367f, -0.016652f, 0.004544f, -0.005751f, 0.000467f, -0.000819f, 0.002571f, 0.006365f, 0.009616f, -0.005959f, -0.003382f, 0.003799f, 0.003380f, 0.001940f, 0.012050f, -0.005894f, 0.007499f, -0.012851f, 0.027003f, 0.004266f, -0.002736f, 0.006313f, 0.002701f, 0.006397f, -0.007353f, 0.000195f, 0.002129f, 0.001116f, -0.001644f, -0.010470f, -0.012201f, 0.002110f, 0.002617f, 0.001120f, + -0.001673f, -0.007194f, 0.004755f, 0.003848f, -0.010985f, 0.013540f, -0.016229f, 0.020675f, -0.001695f, 0.007080f, 0.003314f, -0.000150f, -0.001891f, 0.004459f, 0.019425f, 0.021702f, -0.003806f, 0.004112f, -0.002282f, -0.002801f, 0.003145f, 0.004791f, 0.015006f, -0.001636f, 0.004754f, -0.007219f, 0.008359f, 0.002005f, 0.011888f, 0.005822f, 0.011151f, -0.015462f, 0.006891f, 0.005895f, -0.004646f, 0.000014f, 0.012069f, 0.000217f, 0.001197f, 0.003740f, 0.007440f, -0.002295f, -0.000761f, 0.022866f, 0.011073f, 0.002121f, 0.002311f, -0.004667f, 0.010554f, -0.013679f, -0.019928f, -0.024340f, -0.001305f, 0.012834f, -0.000219f, 0.006376f, 0.017485f, 0.006801f, -0.002948f, -0.006185f, 0.009327f, -0.001927f, 0.022329f, 0.009834f, 0.003287f, 0.002872f, -0.012265f, 0.002273f, 0.008960f, -0.005066f, -0.014156f, 0.001968f, 0.003572f, -0.028590f, 0.004311f, -0.001136f, 0.021516f, -0.014154f, 0.010093f, -0.030363f, 0.013542f, -0.001882f, -0.014861f, -0.016534f, -0.011138f, 0.010468f, 0.008537f, 0.024947f, 0.004382f, 0.009019f, 0.024084f, -0.002911f, -0.015384f, 0.003555f, -0.011552f, 0.004188f, + 0.019914f, 0.004519f, -0.003927f, -0.001167f, -0.002249f, 0.006530f, 0.008556f, -0.000486f, 0.006185f, 0.010653f, -0.004610f, 0.004093f, -0.009860f, 0.000181f, -0.012668f, -0.001153f, 0.003388f, -0.005625f, 0.011901f, 0.008178f, 0.010396f, 0.018760f, 0.002693f, 0.022487f, 0.017983f, 0.009025f, -0.009486f, 0.025658f, 0.012249f, 0.005449f, 0.023247f, -0.001197f, 0.002277f, 0.002984f, 0.008997f, -0.003257f, -0.004350f, -0.013463f, -0.012247f, -0.010306f, 0.002242f, -0.007776f, 0.021103f, -0.009869f, 0.010184f, 0.013424f, -0.004053f, 0.002444f, -0.002597f, -0.001023f, -0.015357f, -0.018552f, 0.013535f, 0.000273f, 0.024932f, 0.001027f, 0.000352f, -0.002205f, -0.004823f, 0.004579f, 0.001059f, -0.012560f, -0.016248f, -0.021891f, -0.011548f, -0.022892f, -0.014671f, -0.007668f, -0.017082f, -0.010584f, -0.007491f, -0.008640f, -0.023102f, 0.016075f, 0.009868f, 0.000863f, 0.008289f, 0.004134f, -0.006462f, 0.028968f, 0.001700f, -0.009537f, -0.005262f, -0.019024f, -0.008417f, 0.021748f, 0.000970f, -0.017440f, -0.017955f, 0.003099f, -0.018169f, 0.006333f, 0.006293f, -0.013534f, 0.000509f, 0.005022f, + 0.000963f, 0.021651f, 0.006263f, -0.008875f, 0.002114f, -0.010728f, 0.010612f, 0.002331f, 0.004735f, -0.024782f, 0.017777f, -0.007866f, 0.007492f, 0.001626f, 0.003599f, 0.005330f, 0.000887f, -0.006265f, -0.000292f, -0.008705f, 0.000412f, -0.018793f, 0.000395f, -0.020239f, 0.029437f, -0.003121f, 0.019163f, -0.011460f, -0.005178f, -0.000568f, -0.012390f, -0.004945f, 0.013368f, 0.003375f, 0.003016f, -0.012912f, -0.000228f, 0.009250f, -0.024697f, -0.000124f, -0.010808f, -0.008576f, 0.017113f, -0.028340f, -0.026955f, 0.006898f, 0.035313f, 0.000871f, 0.003079f, 0.002714f, -0.005756f, 0.019485f, 0.018570f, 0.010945f, 0.004986f, -0.005104f, -0.029345f, 0.017197f, -0.000294f, -0.023119f, -0.007950f, 0.005455f, -0.001674f, 0.000290f, 0.001833f, -0.005470f, -0.023400f, -0.001157f, 0.000322f, -0.004027f, -0.010189f, 0.007013f, 0.019103f, -0.025363f, 0.015149f, -0.009379f, -0.005604f, 0.001733f, 0.011762f, 0.041738f, -0.027751f, -0.006515f, 0.001660f, -0.002392f, -0.005961f, 0.001660f, -0.011420f, 0.003889f, -0.010513f, 0.028865f, 0.008490f, 0.005696f, 0.006435f, -0.005659f, -0.003224f, 0.015502f, + -0.004111f, 0.006988f, -0.014488f, 0.022357f, -0.001189f, -0.015025f, 0.028181f, -0.019003f, 0.011265f, 0.004585f, 0.003584f, 0.022908f, -0.013060f, 0.010191f, -0.006774f, 0.000462f, 0.030387f, 0.002409f, 0.007938f, 0.009052f, -0.005067f, -0.017423f, -0.013696f, 0.002163f, 0.030370f, 0.017288f, 0.003734f, -0.027074f, 0.003904f, -0.014842f, 0.000073f, 0.030491f, 0.029201f, 0.014879f, 0.019726f, -0.017691f, -0.036941f, -0.019182f, -0.026639f, 0.014908f, -0.000307f, -0.004324f, -0.000150f, -0.019942f, -0.006031f, 0.006433f, -0.003842f, -0.007426f, -0.007506f, 0.021774f, -0.001461f, 0.006123f, -0.006195f, 0.014404f, 0.002912f, -0.007832f, -0.017208f, -0.012813f, 0.038882f, -0.001309f, -0.008911f, 0.012854f, -0.022377f, 0.007422f, -0.012860f, -0.038436f, -0.008852f, -0.004543f, 0.011647f, 0.005081f, 0.010205f, 0.003909f, 0.015244f, 0.001262f, 0.000902f, 0.009280f, -0.038217f, -0.005171f, -0.010422f, -0.001783f, 0.003464f, 0.022885f, 0.023869f, 0.009877f, -0.006608f, -0.015293f, -0.022191f, -0.005790f, -0.013231f, 0.004555f, -0.006744f, -0.004735f, -0.014417f, -0.043059f, -0.027851f, -0.005730f, + -0.009584f, 0.023405f, 0.016305f, -0.002727f, 0.039548f, -0.038123f, -0.008263f, -0.013763f, 0.042163f, 0.020835f, -0.012745f, 0.016265f, 0.006622f, -0.015028f, 0.029354f, -0.030396f, 0.016392f, -0.013393f, 0.003265f, 0.004559f, -0.009708f, 0.028710f, -0.018576f, 0.018106f, -0.007281f, -0.039325f, -0.005947f, 0.029572f, -0.016372f, -0.026393f, 0.001147f, -0.002124f, -0.040655f, -0.006374f, 0.017379f, 0.008465f, 0.022844f, 0.017712f, -0.003929f, 0.041363f, -0.008788f, -0.010685f, -0.018853f, -0.016593f, -0.016910f, 0.012661f, 0.015609f, -0.011017f, -0.013741f, 0.006675f, -0.011829f, 0.018712f, -0.003889f, 0.011196f, -0.006081f, -0.008089f, -0.007259f, 0.002204f, -0.022766f, 0.008977f, 0.017569f, -0.001088f, 0.007950f, 0.013320f, 0.012610f, 0.025185f, -0.014933f, 0.011021f, 0.017358f, 0.002638f, -0.035611f, 0.033851f, -0.017562f, -0.047822f, 0.002564f, 0.038093f, 0.048005f, 0.010869f, -0.014465f, -0.010289f, 0.007072f, -0.005804f, -0.004815f, 0.022414f, 0.022763f, -0.007613f, 0.022070f, -0.022520f, -0.000590f, 0.020348f, -0.006283f, 0.024151f, 0.012745f, -0.000600f, -0.027384f, 0.013885f, + -0.004431f, -0.004652f, 0.004142f, 0.000250f, -0.000541f, 0.043568f, -0.017495f, 0.023499f, 0.037919f, 0.026981f, 0.015630f, 0.003076f, -0.020408f, 0.025924f, -0.010112f, 0.024874f, -0.009526f, 0.007885f, -0.021392f, -0.001882f, -0.019965f, -0.012280f, 0.006730f, -0.018534f, -0.002618f, -0.004440f, 0.002567f, 0.022300f, -0.018969f, -0.016140f, -0.003338f, -0.007755f, -0.000655f, -0.015701f, -0.020719f, -0.027401f, 0.007520f, 0.028028f, 0.003002f, -0.011188f, 0.007623f, 0.009577f, 0.024668f, -0.016295f, -0.005981f, -0.001456f, 0.006381f, 0.020325f, 0.008423f, 0.011059f, -0.004051f, 0.004123f, 0.024830f, -0.084627f, -0.040478f, 0.027564f, -0.069174f, -0.048139f, -0.003535f, -0.028558f, -0.019674f, 0.020425f, 0.023530f, 0.006793f, -0.004844f, 0.008118f, 0.068179f, -0.008990f, 0.010554f, 0.025819f, 0.029686f, -0.031898f, -0.016647f, -0.015442f, 0.024926f, 0.027013f, 0.013490f, 0.004435f, 0.025497f, -0.008281f, -0.013375f, 0.017499f, 0.034649f, 0.001792f, 0.010927f, 0.034926f, 0.025894f, 0.020704f, -0.016407f, 0.005998f, 0.010386f, -0.000841f, -0.001010f, 0.022090f, -0.007938f, -0.001169f, + -0.002767f, 0.014455f, 0.000101f, -0.025869f, -0.017245f, 0.004160f, -0.034506f, 0.024870f, -0.008109f, 0.055993f, 0.001663f, 0.030298f, 0.005533f, -0.002268f, -0.019060f, -0.001788f, 0.006500f, -0.024953f, -0.013267f, -0.028977f, -0.004548f, 0.013540f, 0.018446f, -0.009305f, -0.047042f, 0.015930f, -0.008804f, 0.015189f, -0.018225f, -0.019581f, 0.012149f, -0.028709f, -0.025275f, 0.047693f, 0.035262f, -0.014408f, -0.038331f, 0.018085f, -0.019475f, 0.009797f, 0.000616f, -0.018478f, 0.037467f, -0.047394f, -0.000857f, -0.057445f, 0.002586f, 0.048604f, 0.067465f, 0.032598f, -0.010214f, 0.031904f, -0.001143f, -0.002977f, 0.004495f, -0.003897f, 0.017518f, -0.000687f, -0.029800f, 0.003178f, -0.041872f, 0.016579f, -0.012072f, -0.008183f, 0.030217f, 0.000888f, -0.031834f, -0.035551f, 0.009951f, 0.006693f, -0.017083f, -0.013762f, 0.029194f, -0.038496f, 0.001253f, -0.006346f, 0.015699f, -0.008946f, -0.007149f, -0.030220f, -0.012041f, -0.012163f, -0.004311f, 0.025319f, -0.025730f, 0.012169f, -0.001509f, -0.002344f, 0.005545f, 0.012588f, -0.044497f, -0.002150f, 0.008474f, -0.001067f, 0.019524f, -0.011326f, + -0.018094f, -0.005684f, -0.049406f, -0.018826f, -0.019789f, 0.005818f, 0.025455f, 0.038991f, -0.012206f, 0.031963f, -0.039205f, 0.077980f, 0.010003f, -0.000857f, 0.044853f, -0.014264f, 0.042723f, 0.002455f, -0.030463f, -0.000642f, -0.004593f, 0.019848f, 0.013072f, -0.018550f, 0.021498f, 0.000450f, -0.047976f, -0.052192f, -0.004994f, -0.015671f, 0.013047f, -0.002167f, -0.018450f, -0.047016f, -0.041087f, 0.022502f, -0.034964f, -0.007746f, 0.002206f, 0.011173f, 0.002603f, 0.033699f, 0.002800f, -0.016853f, 0.022479f, -0.002854f, 0.003262f, 0.020923f, -0.027412f, -0.001638f, 0.005890f, -0.027766f, 0.016885f, 0.023398f, 0.010052f, 0.020856f, 0.010705f, 0.032208f, 0.008632f, 0.023525f, -0.032844f, -0.009962f, -0.005367f, -0.043646f, -0.000410f, -0.004449f, 0.018179f, -0.002613f, 0.020828f, -0.003156f, -0.025793f, -0.016968f, -0.001675f, -0.040201f, 0.017380f, 0.001587f, -0.008421f, 0.024264f, 0.014401f, 0.020289f, 0.019674f, 0.006870f, -0.003473f, 0.017881f, -0.056392f, 0.017392f, 0.005203f, 0.025340f, -0.012154f, -0.038349f, 0.020791f, -0.006023f, 0.033770f, -0.055268f, 0.029152f, 0.027033f, + 0.098902f, 0.074745f, 0.010096f, 0.021676f, 0.006238f, 0.057437f, 0.001533f, 0.027966f, -0.026144f, 0.068033f, -0.027013f, 0.061701f, -0.002855f, 0.039422f, -0.004682f, 0.027828f, -0.027768f, 0.006684f, 0.013766f, -0.015144f, -0.005101f, -0.008129f, -0.006544f, 0.018415f, 0.000262f, -0.015866f, -0.022072f, -0.033003f, -0.042206f, -0.020184f, -0.007320f, 0.000254f, 0.012933f, -0.035377f, 0.014683f, -0.019479f, -0.030373f, -0.006266f, -0.022325f, 0.009994f, -0.005776f, -0.046062f, -0.011428f, -0.023449f, -0.028267f, -0.029184f, 0.025857f, 0.035264f, -0.074569f, 0.016677f, 0.005824f, 0.020650f, 0.006489f, -0.009448f, 0.043770f, 0.024999f, 0.022326f, -0.062037f, -0.028904f, -0.001040f, 0.013837f, 0.050931f, 0.000268f, -0.007271f, 0.000520f, 0.042942f, 0.036588f, -0.037504f, 0.038703f, 0.002307f, 0.005361f, -0.008202f, 0.018492f, -0.054479f, -0.030659f, 0.023624f, -0.014275f, 0.020124f, 0.033284f, -0.045136f, 0.009395f, -0.027318f, 0.065836f, -0.044634f, 0.035666f, 0.032540f, -0.017269f, -0.068385f, -0.041235f, -0.007879f, -0.020770f, -0.005547f, -0.033243f, -0.050835f, -0.066344f, -0.039644f, + -0.045369f, 0.014380f, -0.039330f, 0.011209f, 0.000674f, -0.007818f, -0.007295f, -0.033180f, -0.012722f, -0.034008f, 0.005243f, 0.023260f, 0.031747f, -0.003159f, -0.013639f, -0.034892f, -0.011134f, -0.000772f, -0.022240f, 0.001376f, -0.029294f, -0.020540f, -0.007521f, -0.029271f, 0.016079f, -0.026360f, -0.069978f, -0.001619f, -0.006148f, -0.025906f, 0.023899f, 0.017843f, 0.027692f, 0.008043f, 0.020708f, 0.046670f, 0.003892f, -0.055146f, -0.016497f, 0.019356f, -0.016367f, -0.046807f, 0.017985f, 0.028645f, 0.005200f, -0.005199f, -0.063759f, 0.045763f, -0.010069f, 0.036086f, -0.043532f, 0.036163f, 0.091928f, -0.015829f, -0.018891f, -0.080452f, 0.028206f, -0.105681f, 0.070882f, 0.026017f, -0.017685f, 0.075831f, -0.006765f, -0.037197f, 0.066822f, -0.024562f, -0.003331f, 0.015141f, 0.023458f, 0.062585f, 0.002636f, -0.003787f, 0.043426f, 0.019685f, 0.036392f, 0.045923f, 0.032955f, 0.004449f, 0.022909f, 0.005109f, -0.002627f, -0.022905f, 0.015227f, 0.024967f, 0.005152f, 0.000224f, -0.026969f, 0.014340f, -0.025417f, 0.031466f, 0.028490f, 0.006903f, 0.033687f, -0.019485f, 0.021779f, 0.037853f, + 0.021684f, -0.046524f, -0.053518f, 0.063279f, -0.007493f, 0.040393f, 0.057748f, 0.003544f, -0.001863f, -0.004006f, 0.009565f, 0.036603f, 0.030287f, 0.005695f, 0.024503f, 0.002347f, -0.033851f, -0.036253f, -0.060451f, 0.003416f, -0.026848f, 0.003259f, 0.028371f, 0.032826f, -0.058115f, 0.007053f, 0.015514f, -0.044512f, 0.001707f, 0.067671f, -0.035557f, -0.030409f, 0.026131f, -0.036025f, -0.003292f, -0.011727f, 0.006683f, -0.038233f, 0.007190f, -0.044104f, 0.087414f, 0.020714f, -0.048435f, 0.017007f, -0.012157f, -0.043057f, -0.050802f, -0.051279f, 0.013673f, -0.003397f, 0.043162f, 0.064977f, 0.030378f, 0.015084f, -0.009288f, 0.021019f, 0.000756f, -0.083738f, 0.034996f, 0.085284f, -0.057766f, -0.060061f, -0.052601f, -0.073219f, 0.050935f, -0.072098f, 0.030625f, -0.000323f, -0.010421f, -0.001244f, -0.024690f, -0.028358f, 0.033836f, -0.074125f, 0.073832f, 0.042494f, 0.008410f, -0.049042f, -0.038093f, -0.032756f, 0.005115f, 0.011789f, -0.032885f, -0.005154f, -0.024731f, 0.051066f, 0.021850f, -0.010277f, -0.003267f, 0.020402f, 0.003101f, 0.023357f, -0.044151f, -0.017918f, -0.005739f, -0.008732f, + -0.041134f, -0.029142f, 0.021886f, -0.076644f, -0.045806f, 0.003961f, 0.086487f, 0.040310f, -0.027854f, -0.004288f, -0.067434f, 0.029401f, 0.102016f, -0.000359f, -0.019908f, -0.020692f, -0.039244f, -0.001683f, -0.043022f, -0.030152f, -0.084217f, 0.016271f, -0.062558f, -0.092463f, 0.019447f, 0.048509f, 0.010452f, 0.011830f, -0.040335f, -0.049663f, -0.014426f, -0.072770f, -0.036945f, 0.017051f, -0.061557f, 0.092351f, 0.016282f, -0.024535f, 0.018176f, -0.046415f, -0.090925f, -0.031216f, -0.070029f, 0.009441f, 0.017824f, -0.026254f, -0.050413f, -0.025792f, -0.031895f, 0.024868f, -0.037540f, -0.014113f, -0.006667f, 0.039055f, -0.031112f, -0.006365f, -0.015641f, 0.009269f, 0.014744f, 0.002127f, -0.014038f, 0.040581f, 0.052189f, 0.033870f, -0.029723f, -0.023444f, -0.081642f, -0.044980f, -0.020102f, 0.020588f, 0.132115f, -0.023307f, -0.000146f, 0.059315f, -0.007016f, 0.025208f, -0.031915f, -0.031761f, -0.026892f, 0.028400f, -0.076584f, 0.000859f, -0.010622f, -0.000466f, 0.065366f, -0.028013f, 0.099770f, 0.009853f, 0.077005f, -0.094108f, -0.024697f, 0.030085f, 0.005918f, -0.035508f, -0.006029f, -0.083344f, + 0.038051f, 0.059070f, -0.044771f, -0.037231f, -0.013286f, -0.040824f, -0.048528f, 0.011309f, 0.013154f, 0.035505f, 0.000747f, 0.030778f, 0.056625f, 0.058382f, 0.038983f, 0.012116f, -0.044755f, 0.002594f, 0.022110f, 0.028529f, 0.045897f, -0.001392f, -0.024839f, -0.037075f, -0.013948f, 0.045230f, -0.020067f, 0.016453f, 0.040429f, 0.001805f, 0.080083f, 0.006962f, -0.052154f, 0.042079f, 0.043349f, 0.010122f, 0.018336f, 0.038124f, 0.005891f, 0.000653f, -0.047927f, 0.099213f, -0.109551f, -0.083137f, -0.093570f, -0.033990f, 0.018512f, -0.058006f, 0.027304f, 0.057345f, -0.018866f, 0.002195f, 0.052866f, 0.013178f, -0.059142f, -0.024429f, -0.046071f, -0.010941f, 0.002229f, -0.001809f, 0.050695f, 0.045964f, -0.013133f, -0.018387f, 0.031077f, 0.072694f, 0.011927f, 0.058194f, -0.056428f, 0.050294f, -0.027105f, 0.010866f, -0.012839f, -0.046461f, -0.023097f, -0.046223f, -0.093253f, -0.093899f, -0.067832f, 0.014221f, 0.175248f, 0.044428f, -0.023770f, -0.052679f, -0.126013f, -0.177596f, 0.040548f, 0.073813f, 0.088830f, -0.018434f, 0.008127f, -0.051977f, -0.090200f, 0.026296f, 0.016998f, 0.029649f, + 0.004831f, -0.075934f, -0.022636f, 0.018705f, -0.014649f, -0.002887f, -0.013704f, 0.099215f, 0.087760f, 0.058788f, -0.004589f, -0.042439f, -0.071415f, -0.047726f, -0.042344f, 0.067795f, -0.010268f, 0.049634f, 0.023419f, 0.023297f, -0.029369f, -0.164577f, -0.112216f, 0.056088f, -0.087969f, -0.030342f, 0.191331f, 0.130748f, 0.099595f, -0.074296f, 0.055307f, -0.051419f, 0.005430f, 0.003898f, 0.029365f, 0.080722f, 0.143968f, -0.054247f, -0.002972f, -0.093517f, -0.073398f, -0.123808f, 0.015918f, -0.004985f, -0.130773f, -0.031853f, 0.088879f, 0.032213f, 0.063155f, 0.081359f, 0.149908f, -0.106830f, -0.060699f, 0.008212f, -0.084681f, 0.034899f, -0.078727f, -0.241100f, -0.225043f, -0.132642f, -0.143697f, -0.041999f, 0.215644f, 0.105658f, 0.222078f, 0.196473f, 0.312222f, 0.220969f, 0.188464f, 0.023691f, -0.094219f, -0.201490f, -0.318650f, -0.271234f, -0.273821f, -0.146508f, -0.075264f, -0.023515f, -0.006568f, -0.000212f, 0.045919f, 0.065379f, 0.175631f, 0.104336f, 0.208826f, 0.134198f, 0.177710f, 0.059982f, 0.171382f, 0.055200f, 0.035150f, 0.035331f, -0.019721f, -0.057854f, -0.131089f, -0.147972f, + -0.270552f, -0.186114f, -0.340449f, -0.268998f, -0.411291f, -0.245094f, -0.198345f, -0.052111f, 0.101350f, 0.052551f, 0.000737f, 0.104366f, 0.226611f, 0.309376f, 0.403805f, 0.487058f, 0.412043f, 0.302934f, 0.374559f, 0.312407f, 0.168317f, 0.076303f, -0.028816f, -0.134624f, -0.314492f, -0.364143f, -0.494686f, -0.626851f, -0.734404f, -0.651958f, -0.585112f, -0.403252f, -0.286759f, 0.102712f, 0.269038f, 0.375690f, 0.469566f, 0.298396f, 0.198381f}, + {0.008274f, -0.003285f, 0.004846f, -0.012740f, -0.001221f, -0.004851f, 0.006044f, 0.001098f, -0.005217f, 0.007805f, -0.006884f, -0.001734f, 0.006210f, -0.002438f, 0.002703f, -0.010549f, -0.001854f, -0.001329f, -0.011036f, 0.001401f, 0.000151f, -0.000373f, 0.003080f, -0.005560f, 0.001310f, -0.002029f, -0.000708f, 0.011497f, -0.001256f, -0.007934f, -0.003791f, 0.000763f, 0.002716f, -0.007655f, 0.001994f, -0.005791f, -0.000128f, -0.002228f, -0.003490f, 0.006315f, 0.006160f, -0.004409f, 0.008160f, 0.008300f, -0.010337f, -0.001738f, -0.001092f, -0.009697f, -0.004175f, -0.006715f, -0.007642f, 0.001699f, 0.001843f, -0.000955f, 0.000874f, 0.003636f, 0.003931f, -0.002167f, 0.001250f, 0.003518f, 0.009760f, 0.005613f, 0.004378f, -0.004932f, 0.000434f, -0.002756f, 0.006093f, -0.006917f, -0.004986f, 0.005359f, -0.003193f, 0.005810f, -0.006740f, -0.003320f, -0.002268f, -0.004094f, -0.022622f, 0.007968f, -0.013016f, 0.006553f, -0.007475f, -0.015034f, -0.025701f, 0.004140f, 0.000460f, 0.006052f, 0.005334f, -0.002115f, -0.002146f, 0.001572f, 0.015085f, -0.011255f, -0.019723f, 0.006096f, -0.008306f, -0.013397f, + -0.000018f, -0.002307f, 0.007818f, 0.002508f, 0.005519f, -0.006227f, -0.001673f, -0.004213f, 0.012876f, -0.003941f, -0.005484f, -0.005035f, -0.002489f, -0.003539f, -0.005421f, -0.005021f, -0.003373f, 0.002208f, 0.000973f, 0.001328f, 0.000327f, 0.003021f, 0.005454f, 0.002435f, -0.005021f, -0.015157f, -0.000201f, -0.010655f, 0.001466f, -0.001080f, -0.004677f, 0.006230f, 0.000486f, -0.000329f, -0.014643f, -0.006384f, 0.002090f, -0.001517f, 0.005313f, 0.000022f, 0.004808f, -0.004614f, 0.002202f, -0.002178f, 0.009474f, -0.003520f, 0.005285f, -0.008394f, -0.007444f, -0.010448f, 0.001343f, -0.002573f, -0.001877f, 0.000052f, -0.002042f, -0.016047f, -0.003386f, -0.002162f, -0.004624f, -0.002100f, -0.005564f, 0.005246f, -0.002277f, -0.001893f, -0.000584f, 0.000093f, -0.000462f, -0.003858f, 0.014005f, 0.009106f, 0.014634f, -0.006915f, 0.014554f, -0.008701f, -0.006304f, 0.005760f, 0.016114f, -0.000315f, -0.010095f, -0.014542f, -0.010707f, -0.001952f, 0.011396f, 0.004645f, 0.003693f, 0.005248f, -0.005366f, 0.008013f, 0.000740f, 0.006024f, -0.003165f, -0.013178f, 0.003328f, -0.009068f, -0.006609f, -0.006310f, + -0.001854f, -0.016727f, -0.001112f, 0.000971f, -0.007400f, 0.015965f, -0.003348f, -0.004897f, -0.006710f, 0.000060f, 0.001360f, -0.006526f, -0.000161f, -0.008039f, -0.003524f, 0.000500f, -0.003833f, 0.011635f, -0.000073f, -0.002741f, 0.005924f, 0.004417f, 0.010070f, 0.004596f, 0.012192f, 0.003522f, 0.009891f, -0.011322f, 0.002634f, 0.009947f, -0.003621f, -0.007778f, -0.011925f, 0.000628f, -0.001098f, 0.018140f, -0.008155f, -0.006267f, 0.001872f, -0.003979f, -0.002936f, 0.009120f, -0.006994f, 0.008781f, 0.004074f, 0.000238f, 0.004527f, -0.005808f, -0.005505f, -0.010224f, -0.010987f, 0.014607f, 0.006963f, 0.005160f, 0.007868f, -0.005066f, -0.003324f, -0.003723f, 0.018481f, -0.007096f, 0.020223f, -0.000659f, -0.005043f, -0.004834f, -0.010581f, -0.011462f, -0.013832f, -0.000856f, -0.003417f, 0.002516f, 0.013541f, -0.001156f, -0.006211f, -0.018776f, 0.000748f, 0.014874f, 0.021972f, -0.010306f, 0.005746f, 0.003978f, -0.005465f, -0.005016f, 0.005808f, 0.020643f, -0.004842f, 0.003161f, -0.001672f, -0.003149f, -0.001834f, 0.009793f, 0.014459f, -0.011047f, -0.005785f, 0.004233f, 0.018927f, 0.002878f, + 0.013440f, -0.011205f, -0.009983f, -0.000940f, -0.001559f, 0.003338f, 0.002961f, -0.000839f, 0.001267f, 0.001189f, -0.004849f, 0.001269f, 0.006063f, 0.003212f, -0.003934f, 0.029189f, -0.020967f, -0.005051f, -0.009024f, 0.001786f, 0.007383f, 0.013736f, -0.014804f, 0.009243f, -0.004261f, -0.015648f, -0.024961f, -0.005557f, -0.010913f, 0.001179f, -0.002868f, -0.010891f, -0.005815f, 0.005130f, 0.005491f, 0.018525f, 0.010056f, 0.009138f, 0.000457f, 0.002439f, -0.010445f, -0.007292f, 0.014793f, 0.011151f, 0.007419f, 0.003089f, 0.006797f, 0.000958f, -0.000507f, -0.013445f, -0.018713f, 0.011492f, -0.005427f, -0.012857f, -0.006423f, -0.008339f, 0.005869f, -0.007439f, 0.014775f, 0.002858f, -0.009534f, -0.005047f, -0.007476f, -0.006637f, 0.006830f, 0.010555f, -0.001698f, 0.006838f, -0.006355f, -0.007065f, -0.000754f, 0.000672f, -0.006809f, -0.003220f, 0.007999f, -0.000843f, -0.004638f, -0.005386f, 0.003800f, 0.004320f, -0.001838f, 0.005352f, -0.000381f, -0.005931f, 0.013894f, -0.003681f, -0.000062f, -0.001043f, -0.020729f, 0.004880f, 0.002672f, 0.005412f, -0.019484f, 0.006023f, 0.001001f, -0.005209f, + -0.010320f, 0.005443f, -0.009830f, -0.001144f, 0.019124f, 0.028601f, 0.014462f, 0.016090f, -0.000371f, -0.006900f, 0.012257f, 0.011103f, 0.005108f, 0.006315f, 0.014462f, -0.001191f, 0.010723f, 0.010497f, 0.014972f, 0.014465f, -0.010403f, 0.009979f, 0.000032f, 0.004057f, -0.009647f, 0.004026f, -0.000648f, 0.010179f, -0.002867f, -0.001763f, -0.006604f, 0.007661f, -0.010649f, -0.008355f, 0.001646f, 0.010689f, 0.006066f, -0.004980f, -0.002343f, -0.000886f, -0.003194f, 0.006860f, -0.012991f, 0.013564f, 0.000632f, 0.016659f, -0.021567f, 0.002581f, -0.019367f, -0.005289f, -0.005730f, 0.006533f, -0.001456f, -0.003464f, 0.005020f, 0.002798f, 0.005998f, 0.009843f, 0.014772f, -0.000521f, -0.010889f, 0.003758f, 0.019614f, 0.005287f, -0.005153f, 0.000063f, 0.012074f, -0.004667f, 0.007249f, -0.004376f, -0.020814f, 0.013365f, 0.010908f, -0.030717f, 0.000323f, -0.006985f, 0.002626f, -0.017320f, 0.001916f, 0.002576f, 0.022495f, -0.018387f, 0.000083f, -0.024590f, 0.005407f, -0.014982f, -0.003704f, 0.000591f, -0.008073f, 0.006712f, 0.003014f, -0.013066f, 0.000150f, -0.000544f, 0.011698f, -0.008062f, + 0.018900f, -0.000614f, -0.016490f, -0.008791f, 0.020140f, -0.002361f, 0.008049f, 0.004934f, -0.003351f, 0.011612f, -0.013365f, -0.013115f, -0.009832f, 0.000884f, -0.012779f, 0.013079f, -0.007469f, 0.008182f, -0.012354f, -0.000708f, -0.015008f, 0.009299f, 0.001375f, 0.011230f, 0.010641f, -0.010666f, 0.019965f, 0.016298f, 0.016097f, 0.002468f, 0.016906f, 0.013089f, -0.014181f, 0.011480f, 0.005952f, 0.000316f, -0.013146f, 0.005247f, -0.011167f, 0.010269f, -0.004734f, -0.009872f, -0.000967f, 0.015633f, 0.006052f, -0.020356f, 0.018420f, -0.002793f, -0.006387f, -0.012469f, 0.018703f, 0.014224f, -0.014012f, 0.010231f, 0.044373f, 0.008232f, -0.000914f, -0.014180f, -0.027389f, 0.008043f, -0.003336f, -0.040560f, 0.037144f, -0.016746f, -0.025460f, 0.006414f, -0.000861f, 0.005764f, -0.000880f, 0.007921f, 0.011295f, 0.001029f, 0.000153f, -0.020260f, -0.000935f, -0.001095f, 0.025778f, -0.003632f, 0.001479f, 0.010125f, -0.003544f, -0.002115f, -0.009314f, 0.022281f, -0.015140f, 0.016389f, -0.002946f, -0.011753f, 0.003250f, -0.013236f, -0.006387f, -0.022118f, 0.004962f, 0.011732f, -0.005378f, -0.010446f, + -0.008252f, 0.015165f, -0.020813f, -0.003948f, -0.009784f, 0.000928f, -0.002167f, 0.004106f, -0.017883f, 0.019692f, -0.024747f, -0.016213f, 0.007995f, 0.004559f, 0.000067f, 0.008401f, -0.012273f, -0.017594f, 0.003497f, -0.003507f, 0.000283f, 0.011267f, -0.010261f, 0.010533f, 0.007246f, 0.023355f, -0.004480f, 0.005444f, -0.000108f, 0.003039f, 0.031109f, 0.005707f, 0.031190f, -0.002738f, -0.007645f, -0.033030f, -0.005251f, -0.007593f, -0.026970f, -0.045737f, 0.012726f, 0.022053f, -0.017377f, -0.009003f, 0.012102f, -0.005967f, 0.026810f, -0.004266f, -0.015834f, -0.010037f, -0.042559f, 0.012861f, 0.003746f, -0.005010f, -0.030153f, 0.005671f, -0.017171f, -0.005541f, -0.015172f, -0.008581f, 0.019875f, -0.021230f, 0.007717f, -0.030834f, 0.018034f, 0.002412f, -0.000468f, -0.009895f, 0.001403f, -0.005267f, -0.017306f, -0.032517f, 0.005238f, -0.001430f, 0.005879f, 0.011503f, -0.008304f, -0.004058f, -0.020721f, -0.011897f, -0.006068f, 0.006792f, 0.005032f, 0.013000f, 0.022859f, 0.016595f, 0.008823f, 0.012155f, 0.003653f, 0.012658f, 0.012581f, -0.014907f, 0.014531f, 0.014834f, -0.004012f, 0.020467f, + -0.002843f, 0.024244f, -0.012256f, -0.031509f, -0.005047f, 0.015332f, 0.019931f, 0.019837f, -0.004632f, -0.043981f, -0.004024f, -0.006652f, 0.001797f, -0.006927f, -0.009021f, -0.001779f, 0.042749f, -0.009409f, -0.010228f, 0.014223f, 0.023063f, -0.001704f, 0.010782f, 0.026570f, 0.019342f, -0.043849f, -0.040090f, 0.000203f, -0.003738f, 0.005745f, -0.017824f, -0.032095f, 0.007738f, 0.025381f, 0.017080f, -0.018763f, 0.030292f, 0.024055f, 0.023037f, -0.038642f, 0.011080f, 0.019781f, 0.001270f, 0.002696f, 0.017370f, 0.039107f, -0.007371f, -0.018495f, 0.012262f, 0.008480f, -0.005091f, 0.020837f, 0.032184f, 0.005394f, 0.033343f, 0.013832f, -0.024462f, 0.002140f, 0.027729f, -0.003664f, -0.010894f, 0.013425f, 0.002655f, 0.004575f, 0.029122f, 0.017572f, 0.010169f, 0.002455f, -0.032974f, -0.035031f, -0.002428f, 0.004275f, 0.009312f, -0.011697f, -0.001032f, -0.010098f, 0.003455f, 0.002819f, -0.012238f, 0.003269f, -0.007286f, -0.003694f, -0.010240f, -0.000674f, 0.021896f, -0.014688f, -0.029923f, -0.007221f, -0.025149f, 0.002891f, -0.008004f, -0.004223f, -0.001295f, -0.074018f, -0.047155f, -0.016145f, + 0.010345f, -0.007060f, -0.020431f, 0.000490f, -0.019971f, 0.047248f, -0.022843f, 0.029317f, 0.046713f, 0.023975f, 0.021698f, -0.022079f, 0.014876f, -0.012384f, -0.025470f, 0.017081f, 0.020660f, 0.012552f, 0.030628f, -0.002691f, -0.004331f, -0.017603f, -0.017640f, -0.015806f, -0.023309f, -0.023155f, -0.016448f, 0.004723f, 0.000171f, -0.003231f, -0.015643f, -0.010180f, -0.022706f, 0.005252f, -0.019979f, -0.018913f, -0.009702f, 0.005218f, -0.002773f, -0.013867f, -0.031887f, 0.000228f, -0.011346f, 0.007262f, -0.037158f, -0.030035f, 0.027457f, -0.008039f, -0.008610f, -0.017459f, -0.011366f, 0.019092f, 0.004510f, -0.008306f, 0.009550f, -0.007081f, 0.010017f, 0.006481f, 0.011799f, -0.014428f, -0.020366f, -0.047743f, 0.000008f, -0.046522f, -0.005971f, -0.040102f, -0.008314f, 0.029762f, -0.007424f, 0.001751f, -0.027271f, 0.050015f, 0.001786f, -0.034677f, -0.029404f, 0.031790f, 0.024904f, -0.021781f, -0.021329f, 0.042384f, 0.026902f, 0.002606f, -0.023953f, 0.004095f, -0.009785f, 0.020778f, -0.014745f, 0.003546f, -0.006022f, -0.003258f, 0.043118f, -0.004748f, -0.011319f, 0.009265f, 0.007539f, 0.014157f, + 0.013412f, 0.002868f, -0.016721f, 0.014225f, 0.006548f, 0.016126f, 0.033084f, 0.016667f, -0.047646f, -0.012060f, -0.007875f, -0.034841f, 0.013923f, -0.004693f, 0.000483f, -0.018645f, 0.016825f, -0.006195f, 0.002856f, -0.024685f, 0.017398f, -0.019761f, 0.001155f, 0.022985f, -0.004120f, 0.024170f, -0.018293f, 0.029717f, -0.036714f, 0.019694f, -0.000673f, -0.011059f, 0.045567f, 0.014298f, -0.011114f, -0.026109f, 0.010576f, -0.003988f, 0.002079f, -0.002569f, 0.015108f, 0.027082f, 0.032104f, -0.020407f, 0.012822f, -0.007568f, 0.027685f, 0.011837f, 0.000717f, -0.003226f, 0.013799f, -0.000000f, -0.018085f, -0.071184f, -0.045955f, 0.038788f, -0.027862f, -0.026239f, 0.015231f, 0.033939f, -0.055085f, -0.009008f, 0.013718f, 0.003772f, -0.028476f, -0.043292f, 0.082160f, -0.035045f, 0.011675f, -0.039891f, 0.022676f, -0.013848f, 0.038821f, 0.033964f, 0.004129f, 0.006044f, -0.044584f, -0.000051f, 0.022217f, -0.018384f, -0.026198f, 0.021441f, 0.006955f, 0.023095f, 0.019331f, -0.003941f, 0.008698f, -0.005220f, -0.001867f, 0.034013f, -0.027967f, -0.017241f, 0.028531f, -0.001317f, -0.020733f, 0.028782f, + 0.000376f, -0.006623f, -0.018275f, -0.008928f, 0.012102f, -0.015611f, -0.000272f, 0.009881f, -0.017889f, -0.020287f, -0.011315f, 0.014320f, -0.040461f, 0.019755f, -0.000066f, 0.039713f, -0.035739f, 0.012085f, -0.026561f, 0.010099f, -0.014932f, -0.022503f, 0.038696f, -0.020572f, -0.006107f, -0.020071f, 0.018634f, -0.022896f, 0.016491f, -0.008184f, 0.030202f, 0.026692f, 0.000766f, -0.041147f, 0.034512f, 0.016042f, -0.041937f, 0.012384f, 0.042080f, -0.005250f, -0.001393f, 0.018695f, -0.014539f, 0.029139f, 0.026101f, -0.037931f, -0.023966f, -0.008129f, 0.017710f, 0.033481f, 0.004577f, 0.017137f, 0.037712f, 0.028062f, -0.043087f, -0.005852f, 0.064063f, 0.014833f, -0.006145f, -0.009190f, -0.014187f, -0.020756f, 0.003946f, 0.014676f, 0.016057f, 0.015260f, -0.013731f, -0.029571f, 0.005527f, -0.016107f, 0.013334f, 0.043889f, -0.014244f, -0.047147f, 0.052325f, -0.018033f, -0.032414f, 0.042598f, -0.010420f, -0.014841f, -0.049887f, -0.010224f, 0.016882f, 0.007574f, -0.013109f, -0.021803f, 0.015301f, 0.000052f, -0.025093f, 0.016822f, -0.007770f, 0.041072f, -0.035364f, 0.002312f, -0.010090f, 0.047104f, + 0.012633f, -0.072727f, 0.017414f, -0.032061f, -0.017401f, -0.028100f, 0.024710f, 0.097148f, 0.030300f, 0.001905f, 0.015846f, 0.024402f, -0.045854f, -0.022605f, -0.021500f, -0.033961f, 0.002941f, -0.015362f, -0.053222f, -0.022685f, 0.003638f, -0.021660f, -0.066964f, 0.058009f, -0.011140f, 0.026100f, 0.004970f, -0.030792f, -0.052797f, -0.051006f, 0.057147f, 0.034668f, 0.013165f, -0.020249f, -0.038116f, -0.028737f, -0.045260f, -0.011790f, 0.017018f, -0.007201f, 0.003826f, 0.007082f, -0.007306f, -0.023661f, -0.022434f, -0.038729f, -0.013659f, -0.007594f, 0.019153f, 0.013033f, 0.021060f, -0.010548f, -0.017017f, -0.007455f, 0.027508f, 0.003642f, 0.024413f, -0.080856f, -0.018669f, -0.000372f, 0.018043f, -0.026000f, -0.000745f, -0.030069f, 0.023750f, 0.020215f, 0.004389f, 0.099224f, 0.002084f, 0.030746f, 0.041526f, 0.001378f, 0.013841f, 0.000190f, -0.006501f, -0.012444f, 0.021384f, 0.029804f, 0.040457f, -0.001442f, -0.006581f, 0.002127f, 0.027063f, 0.023028f, 0.002001f, 0.018514f, 0.017915f, 0.012240f, -0.003705f, 0.038385f, -0.009259f, 0.049721f, -0.047090f, -0.023533f, 0.040593f, -0.004172f, + 0.004473f, 0.012743f, -0.048906f, 0.004953f, 0.010239f, 0.035334f, 0.052485f, -0.039494f, 0.012189f, -0.023881f, 0.038230f, 0.034854f, 0.006898f, 0.064367f, 0.022059f, 0.027284f, -0.019617f, -0.000871f, -0.036484f, 0.064292f, -0.032931f, 0.012346f, 0.040513f, -0.006245f, -0.021378f, 0.021734f, -0.002693f, 0.012327f, 0.043280f, 0.003743f, -0.009979f, -0.001039f, 0.010419f, 0.001399f, -0.021161f, 0.020437f, 0.000527f, -0.004151f, 0.071844f, -0.050407f, 0.052742f, 0.034880f, 0.065107f, 0.028017f, -0.041312f, 0.036712f, 0.003417f, 0.034283f, 0.084773f, -0.056633f, -0.021882f, -0.005068f, 0.004193f, 0.058332f, -0.030573f, 0.005399f, -0.033100f, 0.005248f, 0.065275f, -0.004683f, 0.067522f, 0.020745f, 0.013224f, 0.031936f, -0.038058f, -0.004485f, 0.030230f, 0.042552f, -0.064965f, -0.000776f, -0.056242f, 0.026306f, -0.030480f, -0.001408f, 0.008272f, -0.012818f, -0.041485f, 0.009618f, -0.071413f, -0.063340f, -0.000494f, -0.000897f, -0.040496f, 0.029978f, 0.007915f, -0.012557f, -0.037560f, 0.047487f, -0.012693f, 0.071567f, -0.011864f, 0.013756f, 0.025490f, -0.037984f, -0.012963f, 0.008983f, + -0.043642f, -0.026349f, -0.038226f, 0.029685f, -0.030743f, -0.010588f, -0.010595f, 0.025240f, -0.025928f, -0.045199f, -0.060063f, -0.004433f, 0.048815f, 0.000180f, -0.027769f, -0.014461f, -0.034954f, -0.014500f, -0.000112f, 0.017577f, -0.039179f, -0.007459f, -0.008739f, -0.030895f, -0.038380f, -0.001468f, 0.006239f, 0.021301f, 0.008387f, 0.038938f, 0.011757f, 0.049945f, -0.022274f, 0.040502f, -0.011146f, -0.038325f, -0.008817f, 0.067928f, -0.030798f, 0.028653f, -0.022455f, 0.048455f, -0.027547f, 0.013293f, 0.033852f, -0.006781f, -0.013402f, 0.001219f, -0.018708f, 0.042229f, -0.043671f, -0.023238f, 0.047908f, -0.014409f, -0.040668f, -0.064035f, 0.075437f, -0.021824f, 0.064546f, -0.010437f, 0.052272f, 0.006800f, -0.013348f, -0.031498f, -0.021909f, -0.001796f, 0.002957f, 0.039481f, -0.011803f, 0.000018f, 0.012668f, -0.030490f, 0.056047f, 0.023134f, 0.004092f, -0.041338f, 0.032508f, 0.019172f, -0.033395f, 0.037868f, 0.005022f, -0.002132f, 0.010716f, 0.002333f, 0.047476f, -0.006924f, -0.055309f, 0.065451f, -0.029995f, -0.001317f, 0.047856f, -0.016481f, -0.008199f, -0.023548f, 0.074409f, -0.028469f, + -0.007162f, -0.041207f, -0.007033f, 0.009876f, 0.066650f, -0.025893f, 0.013961f, 0.025329f, 0.040313f, -0.005295f, -0.039440f, 0.049908f, 0.028916f, 0.041700f, -0.016083f, -0.003173f, 0.006271f, 0.046183f, -0.020711f, -0.041132f, -0.051161f, 0.034696f, -0.035363f, 0.016509f, 0.041052f, 0.044242f, -0.024250f, -0.000503f, 0.054600f, -0.075418f, -0.000624f, 0.022394f, 0.030576f, 0.009252f, -0.029483f, 0.014202f, 0.026392f, -0.013127f, -0.015161f, -0.092657f, 0.032877f, 0.019309f, 0.084508f, 0.074314f, -0.009913f, -0.025928f, -0.085215f, 0.003657f, 0.029704f, -0.035719f, 0.029008f, 0.051592f, 0.049883f, -0.021551f, 0.059853f, 0.053989f, 0.003314f, -0.030640f, -0.033375f, 0.055132f, 0.046832f, -0.064253f, -0.088603f, 0.119975f, 0.006851f, -0.007127f, 0.016247f, 0.010087f, 0.044671f, 0.045086f, -0.017015f, -0.013667f, 0.062405f, 0.030743f, -0.010561f, -0.039787f, 0.025404f, 0.006297f, 0.003750f, 0.023389f, 0.003451f, -0.000572f, -0.024391f, 0.015222f, -0.007162f, -0.028885f, 0.055702f, -0.087045f, 0.061729f, 0.052526f, -0.083763f, -0.004472f, 0.042542f, 0.012119f, 0.048424f, -0.010088f, + 0.006407f, 0.045917f, -0.006510f, 0.024053f, -0.042151f, -0.064176f, 0.182967f, -0.074150f, -0.107422f, -0.022083f, 0.203020f, 0.089485f, -0.090136f, -0.019014f, 0.032509f, 0.025592f, -0.006074f, 0.009460f, -0.040546f, -0.027134f, 0.042234f, 0.075791f, 0.001752f, 0.128517f, -0.062579f, -0.026763f, 0.073245f, -0.000387f, -0.007993f, -0.043803f, -0.082605f, 0.061420f, -0.044676f, -0.049139f, 0.030682f, -0.054109f, 0.021377f, -0.051563f, -0.055527f, -0.013212f, 0.008297f, 0.002980f, -0.015377f, 0.058379f, 0.012782f, 0.033834f, 0.015534f, -0.003433f, -0.001785f, -0.032913f, -0.062991f, 0.014755f, 0.057635f, -0.053708f, 0.039611f, -0.054671f, -0.007496f, -0.007330f, -0.079635f, 0.050585f, -0.028841f, 0.016906f, -0.000290f, -0.027374f, -0.000299f, -0.060597f, 0.056160f, -0.045096f, 0.018057f, -0.069722f, -0.040580f, -0.089998f, 0.031707f, -0.044337f, -0.045303f, -0.040590f, -0.018622f, -0.004010f, 0.091628f, 0.028734f, 0.046109f, -0.016037f, -0.040905f, -0.057092f, 0.016721f, 0.000672f, -0.089398f, -0.045038f, -0.158548f, -0.077383f, -0.056633f, -0.007664f, -0.065707f, -0.052792f, -0.022591f, -0.094204f, + 0.021454f, 0.032010f, -0.081251f, 0.043715f, 0.008683f, -0.024713f, 0.004733f, -0.024262f, -0.002221f, 0.015858f, 0.023793f, 0.039686f, -0.048370f, 0.002896f, 0.056648f, -0.008242f, -0.026134f, 0.048350f, -0.021402f, 0.001218f, -0.028953f, -0.014626f, -0.058602f, 0.012913f, 0.002730f, 0.030909f, -0.022105f, -0.000511f, 0.043598f, -0.023062f, 0.002503f, 0.039892f, -0.082958f, 0.001924f, -0.095058f, -0.034770f, -0.062737f, 0.047988f, 0.021063f, -0.008103f, 0.024730f, -0.023631f, 0.026967f, 0.061320f, 0.021206f, 0.097574f, -0.053509f, -0.071056f, 0.064501f, 0.010712f, -0.040036f, -0.047798f, -0.012295f, 0.031378f, -0.031315f, -0.008399f, -0.025936f, -0.048203f, 0.029975f, 0.021793f, -0.054000f, -0.044043f, 0.059512f, -0.010480f, 0.026572f, -0.021809f, 0.037725f, 0.001023f, 0.063033f, -0.043816f, -0.010734f, -0.001754f, 0.026582f, -0.033097f, -0.036896f, -0.062604f, -0.127158f, -0.063266f, -0.023798f, 0.056419f, 0.073302f, -0.138791f, 0.024538f, -0.054747f, -0.075078f, -0.014875f, 0.087747f, 0.056443f, 0.048048f, -0.029405f, -0.033182f, -0.039520f, 0.044456f, 0.031759f, 0.068350f, 0.009586f, + -0.087835f, -0.033829f, 0.066733f, -0.009432f, 0.019847f, 0.060189f, -0.028028f, -0.040344f, -0.064179f, -0.063826f, 0.000761f, 0.042962f, 0.091301f, 0.068207f, 0.044992f, 0.019163f, -0.092719f, -0.098232f, 0.034985f, -0.067471f, 0.016471f, 0.088296f, 0.035055f, 0.006898f, -0.043770f, -0.078066f, -0.013249f, -0.033046f, 0.026835f, 0.021712f, 0.015122f, 0.055839f, -0.008248f, -0.009480f, 0.014678f, 0.040887f, 0.064715f, 0.067936f, 0.022915f, 0.060663f, 0.020266f, 0.022610f, -0.012808f, -0.065282f, -0.025871f, -0.027546f, -0.054324f, 0.042465f, 0.038685f, 0.029936f, 0.028691f, -0.011369f, -0.065262f, 0.011861f, 0.020065f, 0.042206f, -0.109679f, -0.223418f, -0.114036f, 0.024556f, 0.090946f, 0.217806f, 0.213173f, 0.090342f, 0.092241f, 0.066945f, 0.006167f, -0.104531f, -0.178908f, -0.270994f, -0.078999f, -0.111848f, -0.017251f, 0.114277f, 0.201714f, 0.169952f, 0.150462f, 0.084050f, 0.000852f, -0.049523f, -0.067230f, -0.012373f, -0.118392f, -0.093571f, -0.088673f, -0.057293f, -0.046474f, -0.020247f, -0.001646f, 0.044225f, 0.100783f, 0.103589f, 0.101963f, 0.075238f, 0.097244f, 0.052688f, + 0.056717f, -0.015235f, -0.001391f, -0.042213f, -0.114733f, -0.167442f, -0.202739f, -0.097034f, -0.037574f, 0.034296f, -0.002903f, 0.023996f, 0.050035f, 0.064665f, 0.135355f, 0.155714f, 0.205545f, 0.131895f, 0.015025f, 0.061320f, -0.029039f, -0.110496f, -0.096900f, -0.193973f, -0.227290f, -0.169230f, -0.105135f, -0.044357f, -0.036357f, 0.082473f, 0.090592f, 0.256514f, 0.205581f, 0.150538f, 0.138277f, 0.056630f, -0.051997f, -0.066059f, -0.040091f} + }, + { + {0.018235f, -0.003472f, 0.005490f, -0.000571f, 0.007113f, 0.008802f, 0.006134f, 0.011158f, -0.006845f, 0.012061f, -0.004063f, 0.001631f, -0.011202f, 0.000524f, -0.011671f, 0.002543f, 0.002049f, 0.000973f, 0.000325f, 0.004340f, -0.006223f, -0.007391f, 0.006076f, -0.000559f, 0.004647f, 0.002762f, -0.001027f, -0.005085f, 0.000972f, 0.009242f, 0.005653f, 0.002995f, 0.003590f, 0.002764f, 0.001017f, 0.003343f, -0.000734f, 0.000448f, -0.000733f, 0.010487f, -0.002163f, 0.005451f, -0.003895f, 0.004636f, 0.012323f, -0.003269f, 0.011536f, 0.001765f, -0.004865f, 0.003436f, 0.005153f, -0.001661f, -0.002003f, 0.000326f, 0.008742f, -0.002760f, 0.002791f, -0.001620f, 0.005558f, 0.002326f, 0.007581f, -0.002523f, -0.000523f, 0.002931f, -0.003002f, -0.006192f, 0.001175f, -0.002024f, -0.000788f, -0.002434f, 0.004980f, 0.000794f, 0.003142f, -0.001468f, 0.006725f, 0.003439f, -0.008512f, -0.013235f, -0.009654f, 0.003716f, -0.001518f, -0.022613f, -0.012911f, -0.000980f, 0.003154f, -0.006940f, 0.002291f, -0.008365f, 0.001540f, -0.006027f, 0.015754f, -0.012877f, -0.005796f, -0.005622f, 0.009978f, 0.007056f, + 0.016012f, 0.004350f, 0.003207f, -0.007286f, 0.007460f, 0.001086f, 0.001895f, -0.000773f, 0.005935f, 0.008527f, 0.000434f, 0.008514f, 0.007732f, -0.003687f, 0.004225f, -0.004529f, -0.005480f, 0.000795f, -0.004529f, 0.002912f, -0.006984f, -0.011968f, 0.003041f, 0.004620f, -0.003294f, 0.003679f, -0.006104f, 0.005800f, 0.007205f, -0.012571f, 0.002223f, -0.000363f, 0.004547f, 0.004523f, 0.000362f, -0.012325f, -0.004143f, -0.005160f, 0.003885f, 0.000318f, 0.000932f, -0.003580f, 0.002000f, -0.005980f, -0.000054f, 0.007683f, 0.004143f, 0.001137f, -0.004012f, 0.003073f, -0.010815f, -0.005027f, -0.008066f, 0.002329f, 0.000872f, 0.000511f, -0.025739f, -0.000475f, 0.001737f, 0.000722f, 0.004646f, -0.008865f, 0.007128f, 0.004140f, -0.004468f, -0.015213f, 0.010599f, 0.010826f, -0.002096f, 0.009063f, 0.006680f, -0.008290f, 0.017511f, 0.003895f, -0.007367f, 0.009531f, 0.001054f, 0.008925f, 0.001660f, -0.014600f, 0.006072f, -0.002510f, -0.005116f, -0.005477f, -0.004118f, 0.010085f, 0.007992f, 0.000928f, 0.008349f, 0.003182f, -0.007056f, -0.008958f, -0.000405f, -0.001853f, 0.004439f, 0.003027f, + -0.006835f, 0.002057f, 0.004264f, 0.003906f, -0.005935f, -0.005056f, -0.008008f, -0.002658f, -0.001621f, 0.002031f, -0.001570f, 0.011735f, 0.005407f, -0.001429f, -0.005238f, 0.002482f, 0.005305f, 0.002812f, 0.012854f, -0.001685f, 0.006783f, -0.000355f, -0.003414f, -0.007070f, 0.005912f, -0.001281f, -0.002773f, 0.007631f, -0.001493f, 0.002854f, -0.000827f, -0.001009f, -0.007436f, 0.002313f, -0.001413f, 0.010121f, 0.012896f, -0.002187f, -0.004895f, -0.007713f, -0.017720f, -0.010609f, -0.003829f, 0.012726f, 0.001674f, 0.002355f, 0.007841f, 0.002074f, 0.003409f, -0.018628f, -0.017013f, -0.010922f, -0.002794f, -0.000121f, 0.007941f, -0.005640f, 0.006238f, -0.003257f, -0.011384f, 0.003509f, -0.001582f, -0.007939f, -0.000017f, 0.010927f, 0.016141f, 0.007167f, -0.007200f, 0.004198f, 0.000663f, 0.011437f, 0.000113f, -0.009307f, -0.000132f, -0.005487f, 0.011555f, 0.004837f, 0.005545f, 0.011357f, -0.001746f, 0.000699f, 0.015688f, 0.013331f, -0.000219f, -0.000219f, 0.001375f, -0.001018f, 0.004449f, 0.000957f, -0.010861f, -0.015104f, -0.004851f, -0.002087f, 0.000504f, -0.005148f, -0.016125f, -0.001981f, + 0.005164f, -0.009284f, -0.003801f, -0.006139f, -0.004349f, 0.001509f, 0.002910f, 0.005217f, -0.010704f, -0.009564f, 0.009965f, -0.004093f, -0.000809f, 0.001507f, 0.000809f, 0.005454f, -0.009130f, 0.023536f, -0.009314f, -0.007417f, -0.001363f, 0.000209f, -0.009088f, -0.000116f, -0.006426f, 0.011225f, -0.003012f, -0.014312f, -0.019888f, -0.005241f, -0.013254f, 0.017963f, 0.001243f, 0.012694f, 0.010617f, -0.017400f, -0.001209f, 0.007039f, 0.004980f, 0.008964f, 0.001452f, -0.001294f, -0.001819f, 0.004106f, -0.005969f, 0.006387f, 0.003361f, -0.006327f, 0.003522f, 0.000091f, 0.004152f, 0.009681f, -0.005621f, 0.003730f, -0.000929f, 0.005447f, 0.004546f, -0.002216f, 0.006373f, -0.002093f, 0.005493f, -0.004648f, 0.004971f, -0.014148f, -0.006272f, -0.005301f, 0.003567f, 0.011844f, -0.009223f, -0.006072f, -0.003646f, 0.000510f, -0.004435f, -0.005574f, -0.003228f, 0.004644f, 0.003549f, 0.006728f, -0.002729f, 0.003719f, -0.004528f, -0.004594f, -0.000825f, -0.002876f, 0.004417f, -0.000349f, -0.007663f, 0.003803f, -0.004564f, -0.007466f, -0.002817f, -0.004728f, 0.003425f, -0.005108f, 0.003556f, 0.005755f, + -0.002888f, 0.008973f, -0.015236f, 0.006162f, -0.009294f, -0.010190f, 0.013826f, 0.004879f, -0.017327f, 0.001320f, -0.000363f, 0.004650f, -0.012607f, -0.008197f, -0.001536f, -0.010258f, -0.018404f, -0.017780f, -0.011938f, -0.017744f, 0.006952f, -0.002227f, 0.002134f, 0.008962f, -0.015712f, 0.009607f, -0.004807f, 0.004278f, 0.002576f, -0.001961f, 0.001048f, -0.002611f, -0.002721f, -0.010325f, -0.006484f, 0.012547f, -0.005333f, -0.011181f, -0.010482f, -0.001370f, -0.005034f, 0.003634f, -0.010074f, -0.015075f, 0.001632f, 0.013240f, -0.002710f, 0.007870f, -0.005375f, 0.004112f, -0.008011f, 0.005169f, 0.001565f, -0.010418f, 0.013999f, 0.002243f, -0.003890f, 0.003068f, 0.012725f, 0.012142f, 0.005684f, -0.001693f, -0.016090f, -0.002886f, -0.013661f, 0.003329f, -0.003940f, 0.001851f, 0.000849f, 0.003349f, -0.013039f, -0.000098f, -0.002871f, 0.005921f, 0.008341f, -0.017860f, -0.017162f, -0.011511f, -0.018799f, -0.022056f, -0.021104f, 0.007444f, 0.008187f, -0.013919f, -0.004500f, -0.012693f, -0.020130f, 0.009168f, -0.006095f, -0.017527f, 0.004562f, -0.002135f, -0.000278f, 0.000674f, 0.004482f, 0.000843f, + -0.001728f, 0.003264f, 0.004573f, -0.010478f, -0.010272f, -0.003434f, -0.012279f, -0.001758f, -0.013018f, -0.021485f, -0.002796f, 0.011471f, -0.016033f, -0.012340f, 0.006875f, -0.008782f, -0.000254f, 0.002225f, -0.008848f, -0.007104f, -0.007688f, -0.023035f, -0.010785f, 0.003833f, -0.007534f, -0.008242f, -0.015152f, 0.005314f, 0.011224f, -0.005406f, 0.017968f, -0.011528f, -0.006226f, -0.000995f, -0.005847f, -0.017127f, -0.002356f, 0.002797f, -0.001744f, -0.004344f, -0.015357f, -0.003280f, 0.012748f, 0.006052f, 0.002937f, 0.006212f, 0.004013f, -0.004753f, 0.025520f, -0.009571f, -0.011459f, -0.011244f, -0.012916f, 0.002920f, 0.014020f, 0.030357f, 0.020789f, -0.000396f, 0.019002f, -0.001005f, 0.003145f, 0.004130f, -0.009737f, 0.017518f, 0.000560f, 0.015551f, 0.014654f, -0.010913f, 0.018901f, 0.000962f, -0.013870f, -0.022670f, 0.021606f, 0.011067f, 0.021439f, -0.017022f, 0.012387f, 0.007373f, -0.019389f, -0.018535f, -0.011298f, -0.004671f, 0.020548f, -0.018615f, 0.017316f, -0.000804f, -0.001883f, 0.013305f, 0.011720f, 0.016869f, 0.005844f, -0.007785f, 0.007733f, 0.015961f, -0.009190f, 0.015984f, + 0.022663f, 0.010711f, 0.013659f, 0.006789f, 0.003690f, 0.004954f, 0.000325f, -0.011323f, 0.004284f, 0.002384f, 0.000564f, 0.011616f, -0.007787f, 0.007426f, 0.006549f, -0.001817f, 0.019416f, -0.010428f, -0.007631f, -0.003216f, 0.016603f, -0.001812f, 0.013558f, 0.008536f, 0.008904f, 0.010015f, 0.000926f, -0.022840f, -0.004548f, -0.017948f, -0.011363f, 0.026953f, 0.012501f, -0.009395f, -0.000945f, -0.026185f, 0.016600f, 0.015925f, 0.047091f, 0.001868f, 0.004124f, -0.002347f, -0.006397f, -0.003068f, 0.015975f, 0.014498f, 0.012703f, 0.018278f, 0.007491f, 0.028863f, 0.008530f, -0.011471f, 0.002843f, 0.025139f, 0.010026f, 0.002513f, 0.003999f, -0.012995f, -0.018533f, 0.011884f, -0.009158f, -0.018304f, -0.038540f, -0.000682f, 0.015466f, -0.001254f, 0.009162f, -0.013459f, -0.006984f, -0.005083f, 0.002986f, -0.004324f, -0.011483f, -0.005744f, -0.031014f, -0.008214f, -0.026311f, 0.002136f, -0.013827f, 0.010520f, -0.015063f, 0.005677f, -0.014483f, -0.005147f, -0.000847f, 0.000357f, 0.002310f, 0.002877f, -0.019241f, 0.009262f, -0.002877f, 0.004225f, -0.010071f, 0.000237f, 0.015380f, 0.006191f, + 0.021230f, 0.011939f, -0.006592f, -0.001206f, -0.004540f, -0.002073f, -0.005219f, -0.006618f, -0.000652f, 0.008964f, 0.005211f, 0.006796f, 0.003562f, -0.030114f, 0.019294f, 0.051560f, 0.019130f, -0.007615f, 0.025894f, -0.015592f, 0.018315f, 0.012480f, -0.023021f, 0.005956f, -0.029180f, 0.001482f, -0.009357f, -0.020269f, 0.012157f, 0.001260f, 0.009504f, 0.013280f, 0.016227f, 0.025572f, 0.011154f, -0.000863f, -0.005524f, -0.015912f, -0.029423f, 0.011646f, 0.012717f, 0.004200f, -0.009711f, 0.017279f, 0.002996f, 0.018211f, 0.011146f, -0.030648f, -0.011123f, 0.005194f, -0.022369f, 0.002147f, -0.000795f, -0.003455f, 0.007717f, 0.006102f, -0.004596f, 0.024266f, -0.012568f, 0.001917f, 0.013946f, -0.010469f, 0.009864f, -0.003988f, -0.013217f, 0.010508f, 0.000799f, -0.000767f, 0.014337f, 0.009956f, 0.001434f, -0.005863f, 0.028715f, 0.002371f, 0.016585f, 0.002734f, -0.007663f, -0.008431f, -0.022265f, -0.007756f, 0.010758f, 0.000671f, 0.009365f, -0.001288f, -0.017028f, 0.008667f, 0.007143f, -0.025075f, 0.008913f, 0.015346f, -0.005965f, -0.051852f, -0.016638f, 0.055871f, 0.016160f, 0.009583f, + -0.007393f, -0.000711f, -0.007549f, 0.011979f, -0.016867f, 0.024798f, 0.014728f, 0.011992f, 0.012574f, -0.007842f, 0.000163f, -0.000331f, 0.008760f, 0.016840f, -0.023339f, -0.013856f, -0.006727f, 0.019115f, 0.007775f, 0.010898f, 0.012229f, -0.002004f, -0.016348f, 0.006242f, 0.002522f, 0.034118f, 0.027651f, 0.007412f, 0.021310f, 0.001521f, -0.008455f, 0.004558f, -0.001515f, -0.004258f, 0.014253f, 0.016252f, 0.014442f, 0.032829f, 0.017086f, 0.013013f, 0.015698f, -0.014558f, -0.022736f, -0.011183f, 0.012514f, -0.020510f, -0.008659f, 0.020099f, 0.022970f, 0.011721f, -0.008003f, 0.018847f, -0.005708f, 0.001927f, 0.006356f, 0.010649f, -0.003626f, -0.012101f, 0.008829f, -0.011046f, -0.031114f, 0.000921f, 0.013248f, -0.018859f, 0.005151f, -0.004144f, -0.001469f, -0.004455f, -0.006761f, 0.025582f, 0.002849f, 0.012628f, 0.026218f, 0.041770f, -0.063768f, -0.009758f, 0.002774f, -0.001317f, -0.008533f, -0.016476f, 0.016173f, -0.020891f, -0.033021f, -0.004003f, 0.030121f, -0.005191f, -0.019365f, 0.005105f, -0.026675f, -0.014525f, -0.000162f, 0.015762f, -0.027965f, 0.002382f, 0.027963f, 0.029407f, + -0.000491f, 0.010092f, 0.024873f, -0.015448f, -0.024717f, -0.033128f, 0.001801f, -0.032983f, -0.008364f, 0.013363f, 0.011462f, -0.029143f, -0.028683f, -0.016801f, 0.010199f, -0.007872f, -0.006642f, -0.007728f, 0.024389f, -0.038718f, -0.012949f, 0.005975f, -0.022529f, -0.007149f, -0.001687f, -0.024256f, -0.000688f, 0.010215f, -0.003214f, 0.032229f, -0.004126f, -0.012547f, 0.000662f, -0.001106f, -0.012640f, 0.006778f, 0.013453f, -0.013733f, 0.020008f, -0.010065f, -0.044324f, 0.003213f, -0.019112f, -0.007375f, -0.004304f, -0.002486f, -0.058675f, -0.006667f, 0.020845f, 0.025333f, 0.009307f, 0.038329f, 0.022576f, -0.003330f, -0.059918f, 0.016999f, -0.011035f, 0.020728f, -0.019113f, 0.000061f, 0.031519f, -0.010228f, 0.044717f, 0.010575f, 0.008638f, -0.018873f, 0.008450f, 0.022483f, -0.013668f, -0.002407f, 0.028820f, 0.018995f, 0.021645f, 0.003476f, -0.033516f, 0.021651f, -0.021721f, -0.001579f, -0.013196f, 0.003758f, -0.016833f, 0.010123f, -0.004605f, 0.009892f, 0.008641f, 0.016467f, 0.015834f, 0.018480f, -0.021724f, 0.005608f, 0.033575f, 0.007794f, -0.006627f, -0.006290f, -0.017664f, -0.013241f, + -0.000704f, 0.001806f, 0.005430f, 0.029189f, 0.001704f, 0.016349f, 0.014473f, -0.000532f, -0.008219f, -0.006429f, 0.024981f, -0.029829f, -0.007710f, -0.026356f, -0.023343f, -0.005739f, -0.001143f, -0.044627f, 0.010256f, -0.013774f, 0.025998f, -0.005385f, -0.000566f, 0.019406f, 0.001964f, 0.046418f, 0.036065f, 0.055115f, 0.018474f, 0.002120f, -0.008950f, -0.006172f, -0.011641f, -0.016643f, 0.024728f, -0.005991f, -0.004162f, 0.056304f, -0.010376f, -0.011259f, 0.062636f, 0.000022f, 0.036129f, 0.026730f, 0.003184f, 0.015368f, -0.007119f, 0.012220f, 0.011865f, 0.007612f, 0.009882f, 0.029265f, -0.018376f, 0.035085f, -0.017610f, 0.000203f, 0.008334f, -0.003863f, -0.023519f, -0.021452f, 0.000724f, -0.035309f, -0.010094f, -0.038652f, -0.001245f, -0.022674f, -0.015987f, -0.012097f, -0.009678f, 0.006584f, -0.030051f, 0.037473f, 0.007463f, -0.023186f, -0.016073f, -0.000442f, -0.002793f, -0.005158f, 0.011425f, 0.005742f, 0.038159f, 0.004846f, 0.001688f, -0.017772f, 0.005255f, 0.008205f, 0.000976f, -0.018977f, -0.006066f, 0.023443f, 0.027376f, -0.000684f, -0.018199f, 0.009423f, -0.001098f, 0.033157f, + 0.039252f, -0.013076f, -0.005667f, -0.005567f, 0.008129f, -0.012572f, 0.019123f, -0.043259f, 0.001154f, 0.054747f, -0.041171f, -0.020914f, -0.002171f, -0.005958f, 0.004500f, -0.031516f, -0.016923f, -0.004346f, 0.025679f, 0.030739f, 0.021353f, -0.018455f, -0.048326f, 0.085642f, 0.022149f, -0.052684f, -0.052730f, -0.007381f, 0.013744f, 0.036818f, -0.045759f, -0.007608f, 0.009495f, -0.000076f, -0.005885f, 0.049283f, 0.011267f, -0.028022f, 0.016090f, 0.002563f, -0.000536f, 0.026176f, -0.003840f, 0.014533f, -0.030896f, -0.010251f, 0.056627f, 0.021089f, 0.044842f, 0.014346f, 0.040630f, 0.007399f, -0.013735f, 0.028386f, 0.026360f, 0.040346f, 0.020553f, -0.044725f, -0.016215f, 0.010115f, 0.024213f, -0.017785f, 0.007782f, -0.017149f, -0.028255f, 0.003232f, -0.002451f, -0.017195f, 0.014500f, 0.019128f, 0.017351f, 0.012187f, 0.012206f, -0.008430f, 0.031164f, -0.000097f, -0.028993f, -0.021663f, 0.028185f, 0.014812f, -0.046022f, 0.020561f, 0.009522f, 0.015218f, -0.039878f, -0.028034f, 0.027970f, 0.041103f, 0.025016f, -0.008328f, 0.021476f, 0.040850f, 0.016435f, 0.043085f, 0.008143f, 0.020459f, + 0.015404f, 0.071000f, 0.095931f, 0.008729f, 0.020033f, -0.059031f, -0.018160f, 0.037880f, -0.029768f, 0.073199f, -0.013323f, 0.012736f, 0.020282f, 0.043499f, 0.024237f, -0.008549f, -0.029588f, -0.034215f, -0.010934f, -0.004351f, -0.043962f, -0.019675f, -0.017031f, 0.030311f, -0.015908f, 0.010161f, -0.027998f, 0.005457f, -0.010605f, -0.040248f, 0.044202f, 0.031891f, 0.035673f, 0.017153f, -0.020810f, -0.018970f, -0.048245f, 0.002661f, -0.043480f, -0.011572f, -0.003314f, 0.007603f, 0.022877f, 0.019569f, -0.013956f, -0.008282f, 0.018894f, 0.043039f, 0.011242f, 0.017605f, 0.030160f, -0.036451f, 0.027150f, -0.019921f, -0.020209f, -0.036873f, -0.017170f, 0.019426f, 0.014577f, 0.004104f, 0.044648f, -0.008426f, -0.017597f, 0.008135f, 0.010652f, 0.062879f, -0.022155f, 0.024866f, 0.021832f, 0.058972f, -0.014532f, 0.008218f, -0.026997f, -0.008097f, -0.035834f, 0.027647f, -0.051362f, 0.001824f, -0.041423f, 0.007587f, 0.017204f, 0.005824f, -0.024921f, 0.083616f, -0.006259f, -0.011915f, 0.007312f, -0.048523f, 0.002429f, -0.033004f, 0.000802f, 0.008450f, -0.010007f, -0.001772f, 0.019536f, -0.018283f, + 0.000475f, 0.024768f, 0.001808f, 0.005713f, -0.041495f, 0.004494f, -0.003745f, -0.003350f, -0.010697f, -0.051951f, -0.028715f, 0.011813f, 0.003939f, 0.021858f, -0.059506f, 0.005585f, -0.055395f, 0.027067f, -0.037852f, -0.061109f, 0.030248f, 0.054531f, 0.009342f, 0.026309f, -0.041783f, 0.040146f, -0.010422f, 0.005106f, -0.025703f, 0.033214f, 0.013608f, 0.034503f, 0.010991f, 0.042072f, -0.039287f, 0.006334f, 0.002041f, -0.007864f, -0.031072f, -0.026464f, -0.029085f, 0.031944f, -0.008517f, 0.043870f, -0.027215f, -0.022461f, 0.006735f, 0.005215f, -0.020561f, 0.012217f, -0.099204f, 0.011233f, -0.032270f, 0.090178f, -0.017982f, -0.046806f, 0.017421f, -0.003478f, -0.046654f, -0.008683f, 0.006760f, -0.028421f, 0.067850f, 0.008909f, 0.005720f, 0.030333f, -0.039522f, -0.060334f, -0.037544f, 0.083009f, -0.007583f, -0.018702f, 0.054525f, 0.030384f, -0.027339f, -0.027164f, -0.015721f, 0.065609f, 0.008402f, -0.017129f, -0.026938f, -0.013469f, -0.052886f, 0.034128f, -0.007002f, 0.013280f, 0.032457f, -0.012748f, -0.054771f, -0.007527f, 0.068396f, -0.003922f, -0.018304f, 0.032486f, -0.016209f, 0.040536f, + 0.026210f, -0.004487f, -0.052317f, -0.027094f, -0.008099f, -0.048432f, -0.028936f, -0.028319f, 0.002605f, -0.007495f, 0.038922f, -0.028855f, -0.010835f, -0.001152f, 0.101796f, 0.034824f, -0.018974f, 0.019868f, 0.010857f, -0.007036f, 0.050962f, 0.024466f, -0.021219f, 0.007268f, 0.040755f, 0.046946f, -0.030894f, -0.021351f, -0.072107f, -0.055465f, -0.001824f, -0.007850f, -0.007673f, -0.108283f, 0.041079f, -0.020936f, 0.062086f, 0.062993f, -0.031900f, 0.031247f, -0.056542f, -0.086530f, 0.005193f, -0.060008f, 0.011305f, -0.005013f, 0.051705f, -0.033244f, 0.037807f, 0.032649f, 0.051924f, -0.071372f, 0.011293f, -0.042543f, -0.038417f, 0.007438f, -0.050485f, -0.031729f, 0.052151f, -0.011261f, 0.021936f, 0.060016f, -0.007837f, 0.021830f, -0.043424f, 0.008511f, -0.048165f, 0.051165f, -0.039224f, -0.025283f, -0.027894f, 0.056832f, 0.046806f, -0.027378f, 0.062683f, 0.042308f, -0.008290f, 0.061777f, 0.001012f, -0.057963f, -0.012621f, -0.003484f, -0.043440f, 0.014738f, -0.096825f, 0.014285f, -0.020876f, -0.044470f, -0.034164f, 0.049926f, -0.021635f, 0.098940f, 0.075777f, -0.100127f, 0.006245f, 0.002798f, + 0.011724f, 0.054746f, -0.075373f, -0.050822f, 0.064876f, -0.039523f, -0.050099f, -0.058661f, 0.015330f, 0.152723f, -0.011288f, -0.032959f, -0.031614f, 0.013474f, 0.052922f, -0.057569f, 0.029675f, -0.097100f, -0.014284f, -0.037337f, -0.032790f, 0.052514f, -0.066457f, -0.103416f, 0.061213f, 0.092541f, 0.022532f, -0.016874f, -0.082997f, 0.006599f, 0.032867f, 0.033600f, -0.013727f, -0.032336f, 0.004390f, -0.007131f, -0.010719f, 0.011788f, -0.012115f, -0.026718f, -0.054413f, 0.008233f, -0.032716f, 0.009534f, -0.029346f, -0.060716f, 0.038702f, 0.030025f, 0.047545f, 0.003359f, 0.051388f, 0.030601f, 0.007698f, -0.014739f, -0.026337f, -0.040756f, -0.030657f, -0.014996f, 0.012021f, 0.031946f, -0.019984f, -0.007055f, -0.071116f, 0.069383f, 0.078566f, 0.046974f, -0.040519f, 0.045500f, -0.055282f, 0.002901f, 0.012151f, -0.115819f, 0.009229f, 0.016654f, 0.056017f, -0.066255f, 0.091564f, 0.042519f, -0.067353f, -0.030219f, 0.026382f, -0.002684f, -0.050580f, -0.048244f, -0.067259f, -0.071721f, -0.009635f, -0.091601f, -0.012422f, 0.033070f, -0.043143f, -0.040192f, 0.037507f, 0.038047f, 0.007546f, -0.036320f, + -0.123906f, -0.018387f, 0.023958f, 0.014548f, 0.053398f, -0.001369f, 0.030940f, -0.008254f, -0.001029f, -0.015748f, 0.002064f, 0.032574f, 0.003525f, 0.001179f, 0.031548f, -0.008642f, -0.007944f, -0.041953f, -0.004134f, -0.006854f, -0.004967f, 0.007078f, 0.025087f, 0.034573f, -0.007108f, -0.000071f, 0.026895f, -0.006218f, -0.052733f, -0.003641f, -0.046862f, 0.006764f, 0.005995f, -0.060990f, 0.043880f, -0.084006f, 0.018440f, 0.023225f, -0.037269f, -0.002459f, 0.108573f, -0.030671f, 0.036333f, -0.022764f, 0.018971f, -0.081320f, 0.008248f, 0.048203f, -0.001900f, 0.041759f, -0.010301f, 0.004956f, -0.003471f, 0.053542f, -0.034872f, -0.039665f, 0.045599f, -0.041803f, -0.054821f, 0.001190f, -0.087155f, 0.059493f, 0.044498f, -0.013027f, 0.013946f, 0.015041f, -0.008372f, -0.047493f, -0.138937f, -0.066535f, -0.023696f, 0.042332f, 0.098351f, -0.094505f, 0.017850f, -0.028982f, -0.095290f, -0.015303f, 0.081257f, 0.020207f, 0.066534f, -0.060374f, 0.014984f, -0.022382f, 0.001773f, 0.038370f, 0.004586f, 0.019826f, -0.015439f, -0.120748f, 0.032857f, 0.003587f, -0.052581f, 0.049421f, 0.037157f, -0.038036f, + 0.034182f, 0.002167f, -0.040852f, 0.009629f, -0.026099f, 0.071925f, 0.006854f, 0.027831f, -0.000798f, -0.078225f, -0.063128f, -0.022696f, -0.047343f, 0.047323f, 0.068904f, 0.070940f, 0.056654f, -0.022514f, 0.006047f, -0.061910f, -0.011156f, -0.008156f, -0.027272f, -0.033633f, 0.002996f, 0.003640f, -0.084187f, -0.026186f, -0.034119f, -0.004383f, 0.034841f, -0.042539f, -0.011199f, 0.012089f, -0.001683f, 0.040165f, -0.048475f, -0.004027f, -0.054489f, -0.030020f, -0.040330f, 0.019464f, 0.013559f, 0.040012f, -0.005205f, -0.006908f, -0.046665f, -0.019222f, 0.037496f, -0.055585f, -0.224711f, -0.117745f, 0.026583f, 0.097106f, 0.215560f, 0.164744f, 0.094060f, 0.032536f, 0.050177f, -0.013665f, -0.087436f, -0.172136f, -0.228561f, -0.057029f, -0.064480f, 0.004800f, 0.115013f, 0.161708f, 0.110182f, 0.144942f, 0.035757f, 0.031576f, -0.014085f, -0.071704f, -0.079572f, -0.065664f, -0.067910f, -0.086658f, -0.067233f, -0.029227f, -0.001485f, -0.000390f, 0.059203f, 0.073386f, 0.142366f, 0.066259f, 0.024922f, 0.057532f, 0.092180f, 0.028592f, 0.020393f, -0.071518f, -0.094570f, -0.160316f, -0.070472f, -0.084211f, + -0.057132f, -0.036493f, -0.024605f, 0.011441f, 0.023700f, 0.066801f, 0.142106f, 0.110232f, 0.125377f, 0.088673f, 0.114262f, 0.080484f, -0.061704f, -0.062294f, -0.148234f, -0.120399f, -0.081919f, -0.197143f, -0.145716f, -0.095253f, 0.012192f, 0.113942f, 0.117291f, 0.127536f, 0.170682f, 0.134524f, 0.079862f, 0.079730f, -0.000739f, -0.060909f, -0.061511f, -0.035386f}, + {0.015743f, -0.001957f, 0.007460f, -0.002574f, -0.000238f, 0.014217f, -0.007542f, -0.000708f, 0.004007f, -0.001486f, 0.004724f, 0.005419f, -0.012324f, 0.004971f, 0.004639f, 0.002648f, -0.000595f, -0.004016f, 0.008438f, -0.010738f, -0.009087f, -0.001976f, 0.000234f, 0.004376f, -0.009224f, -0.006758f, -0.000981f, -0.005989f, 0.009856f, 0.000526f, -0.004195f, 0.007851f, -0.007178f, 0.000871f, -0.001608f, -0.004228f, -0.000654f, 0.006124f, 0.006216f, 0.003715f, 0.009627f, 0.007999f, -0.000726f, 0.002487f, -0.004048f, 0.010238f, 0.006362f, -0.004515f, 0.001049f, 0.001436f, 0.001012f, -0.006136f, 0.005412f, 0.001894f, -0.000956f, 0.010866f, -0.005802f, -0.006491f, -0.000898f, 0.003323f, 0.000678f, -0.001315f, -0.004057f, -0.002588f, 0.003371f, -0.002920f, -0.000720f, -0.002203f, 0.003531f, -0.001443f, 0.008130f, 0.004019f, -0.005395f, -0.003026f, 0.004578f, -0.005000f, -0.002789f, -0.004011f, -0.007812f, 0.004727f, 0.007487f, 0.013224f, 0.003633f, -0.009099f, -0.016294f, 0.003669f, -0.007568f, 0.000768f, 0.005226f, 0.002120f, 0.013336f, -0.010840f, -0.002623f, -0.001365f, -0.000794f, -0.009282f, + 0.005871f, 0.002589f, 0.001281f, 0.000391f, -0.004528f, -0.003395f, -0.003263f, -0.000929f, 0.000525f, 0.002366f, -0.003405f, 0.005203f, 0.011928f, -0.000221f, 0.005331f, -0.008252f, -0.004829f, -0.009903f, -0.004805f, 0.010872f, 0.000565f, -0.002003f, 0.001954f, 0.011534f, 0.001275f, 0.005900f, -0.001384f, -0.005126f, -0.001620f, 0.006685f, -0.005518f, 0.010382f, 0.006311f, 0.011688f, 0.005710f, 0.000963f, -0.003456f, -0.007355f, -0.004157f, -0.006350f, -0.000959f, -0.004550f, 0.001974f, 0.000713f, -0.002520f, 0.001988f, -0.002140f, 0.004433f, -0.000912f, -0.000768f, 0.005943f, -0.000176f, -0.000206f, 0.001229f, -0.005286f, 0.003074f, -0.022865f, -0.005181f, 0.009368f, 0.001643f, 0.012772f, 0.006820f, -0.010536f, 0.002779f, -0.000245f, 0.004195f, -0.003787f, -0.017542f, 0.010112f, 0.006221f, 0.011587f, 0.014528f, 0.012469f, 0.004400f, 0.000140f, -0.017859f, -0.001875f, 0.008239f, -0.008188f, -0.007043f, -0.018710f, -0.001218f, -0.003163f, -0.002119f, -0.004794f, 0.002259f, -0.011190f, 0.005136f, -0.002000f, 0.004776f, 0.001341f, -0.007430f, 0.005734f, 0.004898f, 0.012900f, -0.001429f, + -0.010429f, -0.005272f, 0.005559f, 0.002354f, -0.002655f, 0.000643f, 0.004073f, 0.000655f, -0.007643f, 0.000058f, 0.001532f, -0.000665f, 0.000414f, -0.004627f, -0.002166f, -0.006197f, -0.001382f, 0.008040f, 0.002733f, -0.002463f, 0.003279f, -0.000773f, -0.000477f, 0.001471f, -0.009175f, -0.000514f, -0.000522f, 0.005470f, 0.009790f, -0.002461f, -0.001053f, -0.005794f, -0.004969f, 0.003267f, 0.011195f, -0.008766f, -0.001593f, 0.000830f, -0.000767f, -0.002678f, 0.001924f, -0.002666f, 0.012610f, 0.004720f, 0.004239f, -0.004263f, 0.000299f, 0.001169f, 0.001177f, -0.021727f, -0.011774f, -0.000999f, -0.005435f, -0.006732f, -0.000367f, -0.005666f, -0.022124f, 0.013161f, 0.002998f, 0.005958f, -0.002354f, 0.004537f, -0.005868f, 0.000286f, 0.000769f, 0.011394f, -0.004071f, -0.002382f, -0.001924f, -0.001904f, -0.001839f, -0.000779f, 0.012321f, -0.002356f, -0.000196f, -0.006988f, -0.000402f, -0.003347f, 0.004006f, 0.002081f, -0.011951f, 0.009328f, -0.012091f, -0.000163f, 0.010621f, -0.001443f, 0.000416f, 0.000893f, -0.000219f, -0.007319f, -0.005233f, 0.012285f, 0.007088f, -0.014981f, -0.008012f, 0.002513f, + -0.008795f, -0.006297f, 0.006544f, -0.010719f, 0.002211f, 0.002784f, 0.006331f, 0.013133f, 0.010083f, 0.006243f, 0.004808f, -0.008695f, -0.009038f, -0.007793f, 0.002745f, 0.011258f, 0.004442f, 0.016665f, -0.003998f, -0.004164f, -0.004915f, 0.004764f, -0.005513f, 0.008205f, -0.015694f, -0.001919f, 0.011717f, 0.006217f, -0.011803f, 0.008871f, 0.014407f, 0.013689f, 0.008678f, 0.001787f, -0.000521f, -0.008739f, -0.011431f, 0.004998f, -0.001093f, 0.011623f, -0.000898f, 0.007021f, -0.007152f, -0.004587f, -0.003844f, 0.001316f, 0.003642f, -0.000459f, -0.013993f, 0.003150f, 0.004819f, 0.003729f, 0.005998f, 0.003922f, -0.007617f, -0.018437f, -0.006050f, 0.002987f, 0.003561f, 0.001146f, -0.000846f, 0.003826f, -0.007712f, 0.000174f, -0.013968f, 0.006822f, -0.014414f, -0.003447f, -0.006148f, -0.009086f, 0.006830f, 0.003434f, 0.002857f, -0.007835f, -0.004080f, -0.001982f, -0.008343f, 0.001264f, -0.000773f, 0.004944f, -0.003618f, -0.006395f, -0.005387f, -0.015896f, 0.005182f, 0.002618f, 0.007034f, 0.011264f, 0.013309f, 0.006143f, -0.005322f, -0.006763f, -0.003739f, 0.008480f, 0.008446f, 0.007813f, + -0.001177f, 0.005572f, -0.015892f, 0.002042f, -0.007511f, 0.000996f, 0.002540f, -0.009930f, 0.003833f, 0.029667f, 0.003380f, -0.002453f, -0.016458f, 0.023913f, 0.000105f, 0.010135f, 0.001341f, -0.000338f, -0.012749f, 0.012698f, 0.003384f, -0.006772f, 0.001808f, 0.001109f, -0.004984f, 0.005232f, 0.013392f, -0.003683f, 0.014233f, -0.003997f, 0.006194f, -0.000058f, 0.009455f, 0.008402f, 0.009422f, 0.000271f, -0.004833f, 0.007404f, -0.005097f, 0.006545f, -0.001613f, 0.006600f, 0.006461f, 0.006166f, -0.000552f, -0.001652f, 0.002635f, -0.005000f, -0.007262f, -0.018994f, 0.012804f, -0.012202f, 0.008956f, 0.001328f, 0.003949f, -0.002006f, -0.022578f, -0.004710f, -0.005839f, -0.010884f, 0.001891f, 0.007234f, -0.014291f, -0.004324f, 0.007105f, 0.001599f, 0.010941f, 0.018599f, 0.000142f, -0.004377f, -0.003554f, -0.018173f, 0.006847f, 0.004688f, -0.002271f, -0.008630f, -0.010373f, -0.001235f, 0.005188f, -0.003492f, -0.005141f, -0.007624f, 0.001895f, 0.013161f, 0.005756f, 0.001863f, -0.030747f, -0.014240f, -0.004509f, 0.005994f, -0.003899f, 0.010074f, 0.034536f, 0.010585f, -0.013035f, 0.001753f, + -0.015375f, -0.005129f, 0.010335f, -0.012261f, -0.003316f, 0.015302f, 0.003486f, -0.004100f, 0.001947f, 0.008571f, -0.005541f, 0.004057f, 0.004353f, 0.004365f, -0.008899f, 0.003763f, -0.004307f, -0.005109f, -0.013025f, -0.005130f, -0.007728f, -0.014362f, 0.005944f, 0.000355f, -0.001244f, 0.014229f, 0.010198f, 0.003577f, 0.011235f, -0.000013f, -0.014886f, 0.012230f, -0.001691f, -0.010029f, -0.008191f, -0.014517f, 0.000341f, 0.017510f, 0.000862f, -0.007622f, 0.007079f, -0.012893f, -0.008520f, 0.006921f, -0.010933f, -0.013758f, -0.007803f, -0.004061f, 0.007402f, -0.011897f, -0.004421f, -0.005088f, 0.015167f, 0.003273f, -0.006667f, 0.010157f, 0.007201f, -0.020212f, 0.018294f, -0.007492f, 0.001248f, -0.009056f, 0.015577f, -0.002677f, -0.011335f, -0.035699f, -0.005230f, 0.017956f, 0.004010f, -0.027889f, 0.012011f, -0.000362f, -0.006190f, -0.009157f, -0.007718f, -0.003032f, -0.016951f, -0.003058f, 0.012653f, 0.016961f, 0.019917f, 0.012194f, 0.018097f, -0.006371f, 0.014113f, 0.006880f, -0.029717f, -0.000887f, 0.006922f, 0.010149f, 0.004376f, -0.010184f, -0.000105f, -0.002226f, 0.009574f, -0.017538f, + -0.006975f, 0.012882f, -0.005002f, 0.007240f, 0.003085f, -0.011627f, -0.013660f, -0.006640f, -0.020111f, -0.005443f, -0.006744f, 0.008036f, 0.002045f, -0.011034f, -0.003434f, -0.023680f, -0.006920f, 0.010002f, -0.007921f, -0.023279f, -0.001346f, 0.013786f, -0.029683f, 0.008765f, 0.003626f, 0.009646f, -0.014818f, -0.005671f, -0.014297f, 0.001734f, -0.005502f, -0.013801f, -0.005864f, -0.001644f, 0.005974f, -0.021036f, 0.005765f, 0.018484f, 0.023493f, 0.017809f, 0.018068f, 0.007615f, -0.011134f, 0.013051f, 0.021719f, -0.029959f, 0.016311f, 0.016556f, -0.032409f, -0.007651f, 0.008896f, 0.036851f, -0.002063f, -0.001172f, -0.007815f, -0.008893f, 0.044950f, 0.023103f, 0.006829f, 0.006724f, 0.023611f, 0.000799f, -0.002857f, -0.007331f, 0.004049f, -0.018623f, -0.017374f, -0.002783f, 0.006144f, 0.014677f, 0.006605f, 0.004421f, -0.006243f, 0.002730f, -0.014096f, 0.007569f, -0.021163f, 0.022760f, -0.001898f, -0.008986f, -0.011998f, -0.012567f, -0.021421f, 0.005483f, -0.020746f, -0.005342f, 0.014904f, -0.001530f, -0.006889f, -0.005041f, -0.003059f, -0.016083f, -0.012275f, -0.006049f, -0.007448f, -0.001919f, + 0.006878f, 0.006046f, 0.001285f, 0.003433f, -0.015853f, 0.030146f, 0.015898f, 0.003181f, -0.002016f, 0.039194f, -0.004441f, -0.003055f, -0.009076f, -0.014974f, -0.005384f, 0.040562f, 0.013718f, 0.008399f, 0.019592f, -0.022580f, -0.013637f, 0.012529f, 0.013408f, 0.030011f, 0.004203f, 0.008173f, -0.020550f, -0.001445f, 0.009896f, -0.027008f, -0.008775f, 0.010440f, -0.009082f, 0.000054f, 0.007168f, 0.019475f, -0.006852f, 0.007419f, 0.003906f, 0.004028f, 0.016743f, 0.014367f, 0.017856f, -0.014518f, -0.009609f, 0.019126f, -0.024865f, -0.008600f, -0.008334f, -0.002062f, -0.006828f, -0.016229f, 0.015249f, -0.000993f, -0.017192f, 0.000346f, -0.006859f, -0.018256f, -0.022281f, -0.012822f, -0.013416f, 0.025641f, -0.008482f, -0.007213f, -0.015656f, -0.001866f, -0.008051f, 0.003440f, 0.030696f, -0.006423f, -0.010269f, 0.004579f, -0.002019f, 0.017092f, -0.020868f, 0.034216f, 0.006786f, -0.034454f, -0.024716f, 0.008013f, -0.022940f, -0.000556f, -0.024587f, -0.000898f, 0.004789f, -0.004216f, 0.025718f, 0.031585f, -0.016215f, 0.002541f, -0.007275f, -0.033476f, 0.015766f, 0.076169f, -0.010533f, 0.001424f, + -0.030100f, -0.011331f, 0.024205f, -0.000907f, 0.044642f, 0.027756f, 0.025783f, 0.002469f, 0.020416f, -0.032371f, 0.033829f, 0.018688f, 0.003770f, 0.006470f, -0.017831f, 0.011099f, 0.001989f, 0.034550f, 0.020245f, 0.023833f, -0.005493f, 0.004504f, 0.007912f, -0.019176f, -0.015111f, -0.005482f, 0.012215f, 0.040017f, -0.008049f, -0.010154f, -0.010405f, -0.004602f, 0.007272f, -0.021281f, -0.004513f, 0.001043f, -0.010333f, -0.022598f, -0.002871f, -0.029336f, -0.009153f, 0.021621f, -0.019750f, -0.006916f, -0.001817f, 0.004682f, -0.033493f, -0.018815f, -0.002038f, -0.000734f, -0.004163f, 0.025909f, 0.012818f, 0.004748f, 0.016622f, 0.026809f, -0.011465f, -0.002500f, -0.016608f, 0.012600f, -0.012267f, 0.017000f, 0.018546f, 0.022208f, 0.036703f, 0.013604f, -0.021024f, 0.000397f, 0.059779f, 0.022703f, 0.036276f, 0.019162f, 0.037599f, 0.041300f, -0.042744f, 0.009901f, 0.030330f, 0.018300f, -0.012421f, -0.022792f, -0.020119f, 0.043234f, 0.002818f, 0.016117f, 0.022037f, -0.013229f, 0.005593f, 0.009379f, -0.027553f, -0.028460f, 0.022061f, 0.007729f, -0.042247f, -0.009572f, 0.052528f, 0.025689f, + -0.001238f, -0.030547f, 0.008837f, 0.008117f, 0.031333f, 0.010893f, -0.017223f, 0.021498f, 0.002373f, -0.008767f, -0.004578f, -0.006192f, -0.026988f, -0.011712f, 0.002247f, 0.004750f, -0.032093f, -0.032346f, -0.021231f, -0.008930f, -0.037993f, 0.021953f, -0.004318f, -0.025009f, 0.002690f, 0.001270f, -0.013439f, -0.002370f, 0.005252f, 0.000602f, 0.005487f, 0.010344f, 0.011671f, -0.013273f, -0.019988f, 0.023423f, 0.041977f, 0.021701f, 0.008739f, 0.034355f, -0.010199f, 0.019452f, 0.039599f, 0.028529f, -0.000857f, 0.006697f, -0.019521f, -0.024968f, 0.019400f, -0.023445f, 0.003090f, -0.007819f, -0.003531f, -0.008661f, -0.039615f, 0.011045f, -0.019130f, -0.008852f, -0.014800f, -0.002542f, 0.033802f, 0.033483f, -0.067909f, 0.020939f, 0.021475f, -0.021131f, -0.034575f, -0.045056f, 0.007884f, -0.013272f, 0.008278f, -0.015756f, -0.012409f, -0.007352f, 0.041950f, 0.010595f, -0.003704f, -0.000761f, -0.006734f, -0.012588f, 0.010584f, 0.006958f, -0.000231f, 0.016826f, 0.003633f, -0.003570f, 0.005979f, 0.015284f, 0.043329f, 0.004359f, 0.005326f, -0.021410f, -0.009173f, -0.010120f, -0.010780f, -0.001280f, + -0.003596f, 0.014404f, 0.020761f, 0.001046f, 0.023992f, -0.005486f, -0.004003f, -0.004809f, -0.002607f, -0.041891f, 0.047466f, 0.001376f, 0.003456f, -0.003298f, -0.012198f, 0.012809f, -0.003102f, 0.019523f, 0.001268f, -0.018045f, 0.005196f, 0.020836f, -0.014245f, 0.019497f, 0.004937f, -0.028263f, -0.004523f, -0.005257f, -0.052126f, -0.016711f, 0.014348f, 0.015463f, -0.019840f, -0.013011f, 0.032479f, 0.007913f, 0.008551f, -0.027348f, 0.016761f, -0.012149f, 0.015848f, -0.016141f, 0.021035f, -0.023119f, -0.019429f, 0.029921f, 0.001747f, 0.006190f, -0.021259f, -0.044464f, -0.006362f, 0.010476f, 0.000976f, 0.016305f, -0.017545f, 0.000435f, -0.002609f, -0.033653f, -0.025321f, 0.008605f, -0.038332f, -0.025381f, 0.008904f, -0.001731f, -0.040060f, -0.007234f, -0.021306f, 0.022025f, 0.011644f, 0.002455f, -0.011487f, -0.025328f, -0.052709f, 0.015757f, -0.025236f, 0.025477f, -0.011203f, -0.010956f, -0.007673f, -0.015063f, 0.004452f, 0.005335f, -0.043133f, -0.019417f, 0.035898f, 0.032530f, -0.038964f, 0.044278f, -0.001267f, 0.032133f, -0.011957f, -0.009941f, -0.008306f, -0.015185f, 0.013366f, -0.014987f, + -0.041766f, -0.021548f, 0.039303f, -0.011684f, -0.014249f, -0.004246f, 0.007749f, 0.007017f, 0.015572f, -0.052508f, 0.006983f, 0.033024f, 0.016964f, 0.023950f, 0.018585f, -0.017876f, -0.030625f, -0.025579f, -0.015088f, -0.029639f, -0.001655f, 0.014328f, 0.032721f, -0.005423f, -0.001601f, -0.054520f, 0.032764f, 0.041183f, -0.006558f, -0.021878f, -0.022677f, -0.013611f, 0.061410f, -0.037046f, -0.000261f, -0.003963f, 0.016463f, -0.002256f, 0.070719f, 0.002273f, -0.038743f, -0.009564f, -0.036838f, 0.048486f, 0.041416f, -0.032888f, 0.038942f, 0.010548f, 0.031306f, 0.012586f, -0.059369f, 0.019420f, 0.031453f, -0.040057f, -0.011572f, -0.045509f, -0.023434f, 0.002678f, -0.043024f, -0.035409f, -0.001213f, -0.028388f, -0.000565f, 0.011731f, -0.010725f, -0.027960f, 0.024035f, 0.023391f, -0.048406f, -0.035327f, 0.020239f, 0.010304f, 0.013091f, 0.026445f, 0.032232f, -0.009697f, -0.017072f, 0.001293f, -0.010787f, 0.001911f, -0.002878f, -0.013415f, 0.007485f, -0.063962f, 0.024426f, 0.036365f, -0.032223f, -0.023998f, 0.025943f, -0.015011f, 0.017496f, 0.039743f, 0.072633f, 0.113148f, 0.005773f, -0.042458f, + -0.055195f, -0.011235f, 0.004769f, -0.011500f, 0.056308f, 0.042575f, 0.030434f, 0.048963f, 0.036583f, 0.029681f, 0.004424f, 0.024306f, -0.026212f, 0.042616f, 0.049470f, 0.005251f, 0.051387f, -0.018035f, 0.006671f, 0.013311f, -0.042772f, -0.028599f, -0.008054f, -0.025110f, -0.029116f, -0.002824f, 0.052880f, 0.001182f, -0.006846f, 0.008062f, 0.013559f, -0.005012f, -0.065033f, -0.007574f, 0.020691f, -0.008338f, -0.017849f, 0.010016f, 0.029272f, 0.048214f, 0.014551f, 0.025294f, 0.036099f, 0.042118f, -0.053011f, -0.037555f, 0.025285f, -0.015005f, 0.074698f, -0.006174f, 0.064751f, -0.048376f, 0.032704f, 0.051136f, 0.005387f, 0.009115f, 0.033624f, -0.053303f, -0.021468f, 0.002158f, 0.034778f, 0.001488f, 0.039623f, 0.014921f, 0.017620f, 0.036646f, 0.017617f, -0.004488f, -0.010413f, 0.078670f, 0.025738f, 0.027109f, 0.057243f, -0.005075f, 0.011661f, 0.024335f, 0.036624f, -0.042295f, -0.033724f, -0.015074f, -0.036902f, -0.007400f, -0.049373f, 0.024084f, 0.038620f, 0.027402f, 0.038385f, -0.027305f, -0.014868f, 0.028735f, 0.022951f, -0.017670f, 0.039029f, 0.022281f, -0.009315f, -0.049529f, + 0.026493f, 0.027778f, -0.024680f, -0.005218f, 0.013853f, 0.005282f, -0.038958f, 0.042975f, 0.011807f, 0.046180f, 0.026080f, 0.016910f, -0.026171f, 0.020405f, -0.013929f, 0.071072f, -0.057693f, 0.004142f, 0.022036f, -0.013218f, -0.037246f, 0.021375f, 0.023270f, -0.007057f, 0.022894f, -0.024902f, 0.059616f, -0.030363f, 0.015677f, 0.010134f, -0.037941f, -0.019399f, -0.052396f, 0.019140f, 0.015171f, -0.042137f, 0.036117f, 0.027699f, -0.027203f, 0.018791f, -0.003288f, 0.056930f, 0.019240f, -0.033914f, -0.022939f, -0.025236f, 0.017995f, -0.015740f, 0.014637f, -0.008442f, -0.068380f, 0.033397f, -0.058026f, 0.064164f, 0.076699f, -0.001978f, 0.015109f, -0.058716f, 0.001509f, -0.011570f, 0.008272f, 0.037273f, 0.038216f, -0.008721f, 0.020832f, 0.031321f, 0.006760f, 0.014300f, 0.010586f, 0.014143f, -0.005558f, 0.044760f, -0.003837f, 0.011709f, -0.021716f, 0.050132f, 0.012585f, -0.002509f, 0.000589f, 0.045333f, 0.018781f, 0.022477f, 0.050096f, -0.008638f, -0.027370f, 0.060850f, -0.060251f, -0.024930f, -0.008571f, 0.015937f, 0.043666f, 0.011719f, -0.014681f, -0.015365f, -0.027835f, 0.001503f, + -0.003124f, 0.014169f, 0.068755f, 0.066640f, 0.043436f, 0.060356f, -0.002771f, 0.089792f, -0.026660f, 0.026685f, -0.018094f, 0.004386f, 0.030357f, -0.011132f, 0.006187f, -0.023880f, -0.030796f, 0.003056f, -0.017971f, 0.020472f, -0.025312f, 0.045950f, -0.028448f, -0.049511f, -0.016933f, -0.010257f, 0.001119f, 0.066801f, -0.030039f, -0.003858f, 0.020069f, 0.017073f, -0.002732f, -0.027698f, 0.105930f, 0.148639f, 0.043224f, 0.115319f, -0.029135f, -0.084752f, -0.060906f, -0.042818f, 0.016455f, 0.019164f, -0.030920f, -0.046582f, 0.034563f, 0.048951f, 0.026278f, 0.048882f, 0.035695f, 0.007427f, 0.011776f, 0.005456f, -0.006638f, -0.035978f, 0.010699f, -0.042175f, 0.023858f, -0.001906f, -0.041855f, 0.041246f, 0.021655f, 0.018657f, 0.070187f, 0.043983f, -0.026360f, -0.016492f, -0.032008f, -0.033966f, -0.044356f, -0.017425f, -0.003852f, -0.032917f, -0.015204f, 0.062777f, 0.092360f, 0.070390f, 0.003868f, 0.047439f, 0.046369f, 0.078574f, 0.030317f, -0.044565f, -0.076860f, -0.045596f, -0.051835f, 0.024508f, 0.014710f, -0.097699f, -0.073557f, -0.018908f, 0.032025f, 0.085062f, -0.074097f, -0.004723f, + -0.066070f, -0.009615f, 0.061083f, -0.041630f, 0.015858f, -0.059562f, -0.021311f, -0.020144f, 0.034608f, -0.057310f, -0.005266f, -0.011518f, -0.043972f, -0.084447f, 0.009139f, 0.045185f, -0.039561f, 0.070632f, -0.029629f, 0.027319f, -0.010505f, -0.084298f, -0.043420f, -0.005334f, -0.049705f, -0.113418f, -0.032259f, 0.039063f, 0.061402f, -0.031762f, -0.048725f, -0.101457f, -0.030427f, 0.028040f, -0.020530f, -0.030506f, -0.050290f, 0.010238f, -0.011764f, -0.010027f, -0.009812f, 0.018563f, 0.039761f, -0.032953f, 0.030713f, 0.024733f, -0.031858f, -0.093077f, 0.007274f, 0.005539f, 0.023466f, 0.009098f, 0.059719f, 0.004051f, -0.090643f, -0.001455f, -0.099721f, -0.002600f, 0.035027f, 0.039607f, -0.007280f, 0.003205f, 0.047061f, -0.026748f, -0.016906f, -0.033896f, 0.031043f, 0.019121f, -0.013191f, 0.032894f, -0.009724f, 0.011925f, 0.018439f, 0.055230f, 0.009933f, -0.024576f, -0.060245f, -0.025777f, 0.035696f, 0.023656f, 0.053718f, 0.067436f, 0.130685f, 0.056713f, 0.036948f, -0.039008f, 0.006861f, -0.081306f, -0.024628f, 0.056660f, -0.027692f, -0.023361f, -0.005808f, -0.018267f, -0.064995f, -0.072586f, + -0.105840f, -0.033566f, 0.000545f, -0.008298f, 0.069858f, 0.019013f, 0.091171f, 0.055861f, 0.028571f, -0.012822f, -0.033018f, -0.006417f, 0.127824f, 0.007721f, 0.037293f, 0.020477f, -0.015312f, 0.063197f, -0.025736f, 0.050957f, -0.055111f, -0.005790f, -0.039436f, 0.047923f, -0.066954f, -0.014545f, 0.021714f, 0.021114f, 0.022831f, -0.059565f, 0.043337f, -0.068138f, 0.015011f, -0.033511f, -0.021460f, 0.067305f, 0.005417f, 0.004203f, 0.024789f, -0.025865f, 0.000155f, 0.017449f, -0.080574f, 0.002039f, 0.020975f, -0.012141f, 0.055233f, -0.023871f, -0.008002f, 0.089195f, -0.031177f, -0.074307f, 0.003150f, -0.028019f, 0.009367f, -0.005508f, -0.000038f, -0.059402f, 0.036442f, -0.009351f, -0.075733f, 0.049525f, -0.093497f, 0.020580f, -0.012734f, -0.037252f, -0.043856f, -0.037166f, -0.126253f, -0.129623f, -0.111031f, -0.056833f, 0.223366f, 0.068757f, -0.030240f, -0.031210f, -0.113669f, -0.237990f, -0.028803f, 0.061679f, 0.076975f, 0.032273f, -0.038618f, -0.028934f, -0.071935f, -0.078368f, 0.055289f, -0.056899f, 0.139740f, 0.104936f, -0.168242f, 0.052010f, 0.019274f, -0.036319f, 0.010337f, 0.117500f, + 0.014448f, 0.080636f, 0.160304f, -0.036914f, -0.136478f, 0.004897f, -0.025543f, -0.126013f, -0.036779f, 0.059001f, -0.008308f, 0.072993f, 0.116930f, 0.009622f, -0.106770f, -0.204317f, -0.177549f, -0.156940f, -0.019426f, 0.150448f, 0.040025f, 0.039706f, 0.019592f, -0.041616f, -0.207025f, -0.127874f, -0.068575f, -0.025033f, 0.009135f, 0.046078f, 0.041290f, 0.057723f, 0.055357f, 0.073736f, -0.091475f, -0.030825f, -0.075680f, -0.004958f, -0.082532f, 0.050507f, 0.044921f, 0.102337f, 0.107378f, 0.056101f, -0.001685f, -0.025295f, -0.021761f, -0.128311f, 0.029311f, -0.030022f, -0.240143f, -0.267502f, -0.185992f, -0.191341f, -0.060819f, 0.184751f, 0.120540f, 0.200369f, 0.225623f, 0.348666f, 0.227829f, 0.235143f, 0.147871f, -0.026688f, -0.192290f, -0.324505f, -0.379097f, -0.332426f, -0.263491f, -0.196013f, -0.056466f, -0.023869f, -0.038653f, -0.005490f, 0.066579f, 0.115103f, 0.168065f, 0.141835f, 0.201614f, 0.191409f, 0.254844f, 0.228919f, 0.056997f, 0.148716f, -0.046782f, 0.029786f, 0.021985f, -0.005747f, -0.033361f, -0.252655f, -0.295662f, -0.379724f, -0.437834f, -0.403966f, -0.225809f, -0.207119f, + -0.167213f, -0.212929f, -0.237735f, -0.063948f, 0.048090f, 0.129139f, 0.203594f, 0.290614f, 0.358266f, 0.453750f, 0.612432f, 0.585828f, 0.451692f, 0.356159f, 0.305522f, 0.150023f, 0.258568f, -0.116313f, -0.207195f, -0.514013f, -0.569319f, -0.724973f, -0.674765f, -0.633527f, -0.571699f, -0.571859f, -0.307912f, -0.194162f, -0.005457f, 0.402584f, 0.315610f, 0.209594f} + }, + { + {-0.012901f, 0.021523f, -0.005750f, 0.003586f, -0.006979f, 0.002754f, -0.015214f, 0.000844f, -0.004535f, 0.005489f, -0.008256f, -0.005958f, -0.001589f, 0.005589f, -0.001142f, -0.000926f, -0.003156f, -0.004308f, -0.010181f, -0.002142f, -0.008497f, -0.004551f, -0.007192f, 0.003227f, -0.001518f, 0.000560f, 0.003628f, 0.002154f, -0.005012f, 0.002316f, -0.001760f, -0.000417f, -0.001872f, -0.001597f, -0.004479f, 0.000328f, -0.008156f, 0.010269f, -0.003097f, -0.002449f, -0.001584f, 0.000650f, -0.000069f, 0.001221f, -0.009504f, 0.000705f, 0.004120f, 0.000328f, 0.001784f, -0.000208f, 0.002152f, 0.007758f, -0.002440f, 0.004782f, 0.005578f, -0.008173f, -0.002568f, -0.001945f, 0.007663f, -0.001435f, 0.002354f, 0.008740f, 0.000059f, -0.002416f, 0.001889f, 0.002565f, 0.002551f, 0.000748f, 0.004485f, 0.000056f, -0.001367f, 0.003680f, -0.003779f, 0.001174f, -0.000202f, -0.006743f, 0.025308f, 0.003267f, -0.010547f, 0.004187f, -0.006513f, 0.002247f, -0.004094f, -0.002424f, -0.005617f, 0.004711f, 0.007815f, 0.002574f, 0.002727f, -0.013148f, 0.003093f, 0.000673f, 0.004651f, 0.005618f, 0.003269f, 0.008239f, + -0.001222f, -0.003925f, 0.001248f, 0.009764f, 0.000481f, -0.006701f, -0.000297f, 0.008381f, 0.004734f, 0.001301f, 0.000497f, 0.002682f, 0.000216f, 0.001057f, 0.001953f, 0.000200f, -0.002420f, 0.000120f, 0.000481f, 0.003576f, -0.004241f, -0.010472f, 0.008473f, 0.008524f, 0.007444f, 0.007066f, 0.000054f, 0.004072f, 0.006689f, -0.006155f, -0.001111f, 0.000307f, -0.008449f, 0.002479f, 0.001011f, 0.008478f, 0.001179f, 0.004975f, 0.000471f, 0.010548f, 0.005418f, -0.000956f, 0.007353f, 0.004792f, -0.002019f, -0.007668f, 0.002291f, 0.002686f, -0.001967f, 0.001172f, -0.004504f, -0.000652f, 0.004305f, 0.003490f, 0.003574f, 0.008772f, 0.021260f, -0.013926f, 0.004916f, 0.012053f, 0.002931f, 0.008554f, 0.010284f, -0.009019f, 0.002079f, -0.000642f, 0.004083f, -0.011472f, -0.009136f, -0.001514f, 0.009212f, 0.012531f, -0.004592f, -0.003846f, 0.006024f, -0.009755f, -0.013247f, -0.002220f, -0.015602f, 0.005639f, 0.005328f, 0.001689f, -0.009655f, -0.009662f, 0.003641f, -0.005500f, 0.001451f, 0.000000f, 0.010465f, 0.011240f, 0.009982f, -0.001290f, 0.007028f, -0.010494f, 0.004818f, -0.006042f, + -0.000475f, 0.000924f, 0.008567f, -0.008762f, -0.007986f, 0.000438f, 0.011244f, 0.004974f, 0.004477f, -0.006328f, 0.003910f, 0.003177f, -0.003122f, -0.013458f, -0.002082f, -0.004259f, -0.005916f, -0.005024f, 0.006585f, -0.005354f, -0.001649f, 0.001962f, 0.004235f, 0.010515f, -0.003500f, 0.000323f, -0.007141f, -0.003066f, 0.002030f, -0.009826f, -0.000060f, 0.003466f, 0.007899f, -0.001652f, -0.004332f, -0.002178f, -0.008819f, -0.008105f, -0.014156f, -0.004020f, 0.001659f, -0.004815f, -0.007499f, -0.004435f, -0.014125f, -0.008223f, 0.013542f, -0.001216f, -0.006987f, 0.006897f, -0.012079f, -0.003251f, -0.014901f, -0.003593f, -0.011896f, -0.006492f, 0.012448f, 0.000055f, -0.003391f, -0.015476f, -0.009977f, -0.003981f, -0.007087f, 0.001881f, -0.008637f, 0.000145f, 0.004173f, 0.015108f, 0.006967f, 0.005276f, 0.006053f, 0.012113f, -0.011473f, -0.000748f, -0.003988f, -0.008873f, 0.002613f, -0.002308f, -0.004019f, -0.009256f, 0.003685f, 0.008461f, 0.000118f, -0.007213f, -0.005077f, 0.022623f, -0.000770f, -0.007296f, -0.010192f, -0.014554f, -0.019486f, -0.002936f, -0.010571f, 0.001610f, -0.002859f, 0.004565f, + -0.000043f, 0.001882f, -0.009585f, 0.000641f, 0.000294f, 0.010600f, 0.002637f, -0.009074f, -0.000769f, -0.003306f, -0.003841f, -0.002739f, 0.002538f, 0.005219f, 0.004214f, -0.006472f, -0.032166f, 0.013156f, -0.005490f, 0.005726f, -0.013112f, -0.005126f, -0.010185f, -0.009346f, 0.001001f, -0.002760f, -0.006237f, 0.016807f, 0.004655f, -0.001278f, -0.009658f, -0.002924f, 0.005041f, -0.011251f, -0.005688f, -0.010710f, -0.005683f, 0.016042f, 0.001961f, 0.010766f, -0.000577f, 0.000110f, -0.002212f, 0.003199f, 0.003379f, -0.008184f, 0.000574f, 0.002713f, 0.005212f, 0.017354f, -0.008475f, -0.010209f, -0.001547f, 0.019167f, 0.006497f, 0.020383f, 0.002326f, 0.002040f, -0.003016f, 0.010156f, -0.001163f, 0.014888f, -0.000909f, -0.001537f, -0.002042f, -0.005945f, 0.006874f, 0.002078f, -0.004612f, 0.004460f, 0.006198f, 0.010405f, -0.005230f, -0.000319f, -0.001140f, 0.009307f, -0.003007f, -0.001311f, -0.002698f, -0.002087f, 0.002932f, -0.002715f, 0.001810f, 0.001832f, -0.001466f, 0.002584f, -0.014326f, 0.001825f, 0.010494f, 0.003878f, 0.013694f, 0.001583f, 0.001656f, 0.004107f, -0.007277f, -0.003754f, + -0.000476f, -0.016375f, -0.003013f, -0.000167f, -0.008323f, -0.028729f, -0.007223f, -0.006440f, -0.012717f, -0.002725f, -0.003520f, 0.017487f, -0.006510f, 0.013154f, 0.005965f, 0.009408f, -0.018608f, -0.008503f, -0.018800f, -0.017442f, -0.000354f, 0.002942f, 0.010402f, -0.005461f, -0.008410f, -0.005238f, -0.012825f, 0.002401f, 0.005343f, 0.006271f, 0.003688f, -0.004044f, 0.004316f, -0.008583f, 0.000563f, -0.015273f, 0.005093f, -0.004115f, 0.001726f, 0.003080f, 0.005286f, 0.005766f, -0.006067f, 0.000010f, 0.014233f, -0.008010f, 0.006739f, 0.007204f, -0.000794f, 0.004243f, 0.006857f, -0.003137f, 0.002525f, 0.006883f, 0.000101f, 0.012279f, -0.006789f, -0.008763f, -0.004426f, 0.003928f, -0.000275f, -0.016668f, -0.008608f, -0.018442f, -0.020131f, -0.003506f, 0.005254f, -0.016352f, 0.007167f, -0.002728f, -0.000271f, -0.005646f, 0.005640f, -0.009731f, -0.000977f, 0.008842f, -0.026790f, -0.001592f, 0.007858f, 0.004882f, -0.014409f, -0.001999f, -0.009318f, 0.002022f, 0.002283f, 0.001658f, -0.015745f, -0.020770f, -0.014418f, 0.002171f, -0.011626f, 0.012023f, 0.003418f, -0.019964f, 0.013808f, 0.012333f, + 0.009420f, 0.008702f, -0.010321f, 0.015940f, 0.003734f, -0.000258f, -0.006796f, 0.005319f, 0.009097f, -0.008940f, -0.013543f, 0.004719f, -0.005477f, -0.016149f, -0.002745f, -0.015567f, -0.006274f, 0.028087f, -0.008132f, -0.012637f, -0.016320f, 0.000895f, 0.001891f, 0.011228f, 0.003765f, -0.010226f, 0.008656f, -0.001103f, -0.008820f, -0.010583f, -0.012122f, 0.017470f, 0.006974f, 0.011096f, -0.009050f, -0.011081f, 0.004278f, 0.003052f, -0.012471f, -0.000301f, -0.007997f, 0.011528f, -0.003047f, 0.001374f, -0.014640f, 0.009199f, 0.006441f, -0.007337f, -0.005914f, -0.004318f, 0.014741f, 0.000766f, 0.001673f, -0.003914f, 0.010659f, -0.010545f, -0.013674f, -0.000105f, 0.004028f, -0.003054f, -0.010816f, -0.016339f, -0.012955f, 0.014072f, 0.002120f, 0.017132f, 0.020423f, 0.019776f, 0.003475f, 0.026961f, 0.006913f, -0.002487f, 0.012813f, 0.009803f, 0.025048f, 0.003969f, 0.014646f, -0.018894f, 0.032378f, 0.023820f, 0.011886f, -0.009247f, -0.007080f, 0.011889f, 0.003233f, 0.008629f, -0.004148f, 0.014090f, -0.003514f, -0.003201f, 0.012922f, 0.010369f, -0.011979f, 0.008791f, -0.002780f, 0.013674f, + 0.015092f, -0.028170f, -0.004674f, 0.017834f, 0.005864f, 0.009821f, 0.008090f, 0.017620f, -0.007841f, 0.007191f, 0.000869f, -0.014437f, -0.006606f, -0.000236f, 0.003562f, -0.021350f, -0.001332f, 0.013686f, -0.010277f, 0.022865f, 0.017516f, -0.006884f, 0.000168f, 0.004321f, 0.008858f, 0.013190f, -0.004952f, -0.004528f, 0.021651f, -0.005458f, -0.000582f, 0.008837f, -0.000049f, 0.011738f, 0.008839f, 0.002583f, 0.003291f, 0.056929f, -0.027295f, 0.005632f, 0.024463f, -0.000610f, 0.002499f, 0.031755f, 0.034792f, 0.005482f, -0.000802f, 0.008501f, 0.000155f, 0.009004f, 0.011279f, -0.010587f, -0.001912f, 0.021037f, 0.019077f, -0.006579f, -0.013881f, -0.015351f, -0.015579f, -0.007969f, 0.016418f, -0.009725f, 0.008302f, 0.002213f, -0.018434f, 0.000048f, -0.011559f, -0.000218f, 0.007885f, 0.010355f, -0.024388f, -0.011041f, -0.018958f, -0.005158f, 0.034072f, 0.005981f, -0.000686f, 0.004212f, -0.000657f, 0.002950f, 0.011714f, 0.006906f, 0.018274f, 0.000520f, 0.014300f, 0.008475f, -0.008666f, 0.008438f, -0.014402f, 0.001881f, -0.014410f, -0.016292f, 0.009345f, -0.018045f, 0.010927f, 0.001248f, + 0.012742f, 0.009414f, 0.010071f, -0.008832f, 0.015146f, -0.016025f, 0.002767f, -0.006391f, 0.000512f, 0.024086f, 0.004205f, 0.013216f, 0.014567f, 0.000178f, -0.000526f, 0.011562f, -0.014712f, 0.011270f, -0.034102f, 0.005096f, 0.006868f, -0.023329f, 0.008939f, -0.001143f, 0.022216f, -0.007136f, -0.013091f, 0.008961f, -0.030134f, -0.010848f, 0.023115f, 0.009817f, -0.016136f, -0.036546f, 0.014561f, -0.005787f, 0.007362f, -0.023566f, -0.031588f, -0.021245f, 0.024679f, 0.001411f, 0.012932f, -0.003209f, -0.015347f, -0.021192f, 0.008127f, -0.006110f, -0.019458f, -0.021489f, -0.000126f, -0.019214f, -0.016019f, -0.008361f, -0.005416f, -0.020702f, 0.009541f, 0.013038f, 0.016440f, -0.009168f, 0.014357f, -0.013470f, 0.023759f, -0.005132f, -0.003370f, 0.019268f, 0.008012f, -0.005115f, -0.015297f, -0.006813f, 0.016693f, 0.004204f, -0.016343f, 0.006602f, 0.017690f, 0.018934f, 0.005667f, -0.023187f, -0.028241f, -0.002200f, 0.002221f, 0.001775f, -0.021374f, 0.005814f, 0.017224f, 0.006306f, -0.012079f, -0.032249f, 0.005012f, -0.013506f, -0.036308f, 0.002041f, -0.003540f, -0.016773f, 0.017720f, -0.042149f, + 0.024346f, 0.018525f, 0.020457f, 0.001869f, 0.021674f, 0.001140f, -0.016098f, -0.018236f, 0.001213f, 0.017307f, -0.014121f, 0.003171f, -0.028963f, 0.017805f, 0.018622f, -0.011166f, -0.007137f, 0.003589f, 0.020480f, 0.014993f, -0.012832f, -0.011130f, 0.013493f, -0.018984f, 0.004696f, -0.025575f, -0.001590f, -0.008179f, -0.034606f, -0.034952f, 0.005005f, 0.018814f, 0.007481f, -0.029923f, -0.017361f, 0.021456f, -0.026364f, -0.011003f, 0.018031f, -0.006073f, 0.022937f, -0.009411f, -0.019074f, 0.005804f, -0.026958f, 0.028223f, -0.004981f, 0.004463f, -0.015493f, -0.007511f, -0.003194f, -0.027740f, -0.018643f, 0.001564f, -0.006556f, 0.002099f, -0.011010f, -0.029379f, 0.003100f, -0.024430f, 0.008220f, -0.006622f, 0.014664f, -0.029359f, 0.010238f, 0.004224f, -0.011053f, 0.020631f, -0.005835f, -0.015636f, -0.031722f, -0.005013f, 0.002081f, -0.024599f, 0.011312f, -0.018684f, -0.006124f, 0.012638f, -0.013617f, 0.003700f, 0.015277f, 0.022674f, -0.006761f, 0.001799f, -0.008851f, -0.032141f, -0.007179f, -0.007570f, 0.013147f, -0.028399f, -0.000499f, -0.016798f, 0.016687f, -0.020202f, -0.026571f, 0.016450f, + 0.007712f, 0.010320f, 0.035871f, -0.007020f, -0.010575f, 0.009099f, -0.023313f, -0.028119f, 0.002098f, 0.033414f, 0.010439f, 0.018216f, -0.013824f, -0.018201f, -0.027469f, 0.004232f, 0.035181f, -0.017031f, 0.018481f, 0.002884f, 0.027486f, -0.043131f, -0.013026f, -0.002107f, 0.005222f, 0.022343f, 0.011859f, -0.033308f, -0.008162f, -0.016292f, -0.000726f, -0.038205f, -0.005142f, -0.014790f, 0.003244f, -0.020925f, -0.000470f, 0.002801f, -0.052579f, 0.004418f, -0.015734f, 0.001539f, -0.020001f, -0.002925f, 0.014485f, 0.004937f, -0.005700f, -0.008552f, -0.026508f, 0.026655f, 0.029198f, 0.007456f, 0.009015f, -0.025547f, 0.039833f, 0.013411f, 0.020277f, 0.051610f, 0.018784f, 0.035651f, -0.032755f, 0.008830f, 0.036213f, -0.009585f, -0.011911f, 0.006068f, -0.021063f, 0.017793f, 0.004997f, -0.024403f, -0.032697f, -0.001352f, 0.029059f, 0.000455f, -0.001617f, 0.019773f, -0.027069f, -0.005808f, -0.022207f, 0.014091f, -0.038302f, 0.001954f, -0.007786f, 0.015479f, -0.040106f, -0.026666f, -0.017295f, 0.013306f, 0.013461f, 0.010485f, -0.012814f, 0.011340f, -0.009491f, 0.013545f, -0.007782f, -0.002009f, + -0.002596f, -0.009817f, 0.007863f, 0.019581f, 0.010773f, 0.019739f, -0.001479f, -0.015849f, 0.002437f, -0.015736f, 0.046388f, -0.009992f, -0.046008f, -0.012454f, 0.012177f, 0.041603f, -0.040241f, -0.014526f, -0.003168f, 0.027482f, 0.000915f, -0.054367f, -0.007809f, 0.027970f, 0.052580f, 0.003989f, 0.036029f, 0.055850f, -0.005645f, 0.019338f, 0.023426f, -0.005066f, 0.043392f, -0.004270f, 0.052307f, 0.010547f, -0.019046f, -0.046316f, 0.021256f, 0.025759f, -0.044313f, -0.043054f, 0.011327f, -0.010032f, 0.001271f, -0.017099f, 0.040069f, -0.017991f, -0.011661f, 0.014038f, 0.009926f, 0.000487f, -0.018521f, -0.013323f, -0.022520f, 0.009158f, -0.001474f, -0.010637f, -0.001977f, 0.026916f, 0.039910f, -0.043156f, -0.002990f, -0.042064f, -0.004741f, -0.010650f, 0.041711f, -0.017393f, -0.017187f, -0.007794f, 0.025269f, 0.008873f, 0.006771f, 0.011140f, 0.009935f, -0.007105f, 0.000215f, -0.004973f, 0.006526f, -0.004441f, 0.038981f, -0.009611f, 0.010130f, 0.028334f, -0.014695f, -0.031001f, 0.006778f, 0.011626f, -0.011439f, -0.011288f, -0.002909f, 0.007499f, 0.019693f, -0.026122f, 0.036245f, 0.054769f, + 0.035857f, -0.013737f, -0.021767f, -0.048164f, -0.064023f, -0.021920f, -0.000107f, -0.009721f, -0.002924f, -0.005139f, 0.015905f, 0.001214f, -0.023705f, 0.016099f, -0.009179f, 0.001693f, 0.026757f, 0.045232f, -0.022260f, 0.043657f, 0.019946f, 0.025076f, 0.037371f, 0.057425f, -0.021287f, 0.029982f, -0.057990f, -0.006656f, -0.025698f, -0.056990f, 0.023863f, 0.014180f, 0.018100f, 0.008247f, 0.023388f, 0.007512f, -0.040834f, 0.035426f, 0.062194f, -0.008670f, -0.009329f, 0.015638f, 0.006707f, -0.012320f, -0.054342f, 0.005051f, 0.000782f, -0.004443f, 0.001333f, 0.019241f, -0.038676f, 0.009057f, 0.011748f, -0.007519f, -0.022052f, -0.010481f, -0.024643f, 0.026275f, -0.055783f, -0.007604f, -0.035660f, 0.020723f, 0.008765f, 0.021016f, -0.006559f, 0.006162f, -0.013794f, 0.035122f, 0.011021f, 0.028957f, -0.025134f, 0.028493f, 0.000020f, -0.026595f, 0.056984f, -0.008637f, 0.007581f, 0.038766f, -0.035841f, 0.043406f, 0.026219f, -0.032592f, 0.014882f, -0.011888f, 0.019581f, -0.045326f, 0.034779f, 0.005865f, 0.012987f, -0.003154f, 0.012354f, -0.036277f, 0.026101f, 0.043997f, -0.077330f, 0.008778f, + 0.034698f, -0.020424f, -0.024702f, -0.000411f, -0.023652f, -0.010492f, -0.063027f, -0.053630f, -0.007190f, -0.030567f, -0.036964f, -0.026385f, 0.016764f, -0.009075f, -0.018623f, -0.029751f, 0.028151f, 0.002411f, -0.045526f, -0.006651f, -0.000089f, -0.021171f, -0.006689f, 0.019167f, 0.013478f, -0.002575f, 0.000296f, 0.001538f, -0.011359f, 0.010455f, 0.021445f, -0.007270f, -0.005003f, 0.033535f, -0.061481f, -0.009227f, 0.017394f, 0.066482f, -0.027125f, -0.016150f, -0.024444f, -0.032390f, 0.014566f, 0.070623f, 0.012964f, 0.044163f, 0.008930f, -0.006020f, -0.003629f, -0.004033f, -0.033604f, 0.008551f, 0.007609f, -0.026112f, 0.006066f, 0.055732f, -0.008822f, -0.015372f, 0.009133f, -0.018034f, -0.004461f, 0.049604f, 0.070994f, 0.020886f, 0.042668f, 0.051121f, -0.017351f, -0.018484f, 0.005810f, -0.013945f, 0.003125f, -0.046036f, 0.000105f, -0.034756f, 0.012475f, 0.012102f, 0.024178f, 0.050970f, 0.057513f, -0.022269f, 0.129387f, -0.017141f, 0.003562f, -0.023284f, 0.015786f, -0.009549f, 0.015598f, 0.033593f, 0.010013f, -0.030346f, -0.016106f, -0.031745f, 0.000120f, -0.021413f, -0.039267f, 0.005814f, + 0.026579f, -0.003943f, 0.008217f, 0.012716f, 0.015877f, 0.000165f, -0.010829f, -0.014674f, 0.008346f, 0.000253f, -0.019205f, 0.008139f, 0.056070f, 0.039426f, 0.022957f, -0.046688f, 0.034430f, 0.026583f, -0.011662f, -0.014141f, -0.013645f, -0.018640f, -0.007362f, 0.015310f, -0.033270f, 0.003287f, 0.004955f, 0.020372f, 0.053495f, 0.010094f, 0.011649f, 0.002688f, -0.005617f, -0.010960f, 0.023576f, -0.014271f, 0.053965f, 0.016619f, -0.004514f, 0.022660f, 0.005038f, -0.036803f, -0.025294f, 0.029180f, 0.035409f, 0.011560f, -0.008372f, 0.021414f, 0.025205f, 0.033253f, 0.069560f, 0.004350f, -0.020390f, -0.040088f, -0.024928f, 0.011565f, 0.001496f, 0.013157f, 0.020973f, -0.019921f, 0.092176f, -0.013608f, 0.003992f, 0.010298f, -0.006869f, -0.001188f, 0.023182f, -0.017028f, -0.020163f, -0.010526f, 0.029893f, 0.026726f, -0.071079f, 0.013850f, 0.012301f, 0.029250f, -0.018079f, -0.027956f, -0.026626f, 0.020516f, 0.018573f, -0.028546f, -0.015532f, -0.011612f, 0.048075f, 0.024297f, 0.013639f, -0.009085f, -0.049448f, 0.014289f, 0.012676f, 0.025833f, -0.005967f, 0.013869f, -0.013589f, 0.005135f, + -0.042944f, 0.018232f, 0.017797f, 0.000991f, -0.010544f, -0.026645f, -0.053498f, 0.035213f, -0.022492f, 0.018368f, 0.018405f, 0.031265f, 0.004298f, -0.032070f, 0.054333f, 0.011333f, -0.053297f, -0.023898f, 0.031578f, 0.008435f, 0.041271f, 0.018601f, 0.006305f, -0.036770f, -0.019545f, 0.022443f, -0.067075f, 0.072471f, -0.052356f, 0.004623f, 0.040181f, -0.009369f, 0.080842f, 0.015154f, 0.009624f, -0.027564f, 0.087941f, 0.013105f, 0.025374f, -0.015368f, 0.028344f, 0.071993f, 0.021234f, 0.043758f, 0.056788f, -0.006519f, 0.065694f, -0.057611f, -0.023257f, -0.024114f, -0.021794f, 0.003573f, 0.007336f, -0.008481f, -0.027786f, -0.050063f, 0.040245f, 0.037967f, 0.013660f, 0.033926f, -0.066017f, -0.057465f, 0.013959f, 0.021755f, -0.032756f, -0.044041f, 0.021539f, -0.016520f, -0.061876f, -0.025053f, -0.015176f, 0.024718f, -0.057263f, 0.025543f, 0.015717f, 0.019455f, -0.029064f, -0.005287f, -0.028816f, -0.014572f, -0.074965f, -0.020999f, 0.029950f, -0.115766f, -0.039832f, -0.008028f, -0.006876f, 0.000164f, -0.071781f, -0.020454f, -0.105910f, -0.012113f, 0.015599f, -0.032518f, -0.036242f, -0.016715f, + 0.026009f, -0.013845f, -0.041145f, -0.045201f, -0.110474f, -0.041162f, 0.044948f, -0.050185f, -0.075913f, 0.056460f, -0.023402f, -0.083205f, 0.019563f, 0.069482f, -0.043369f, -0.020185f, 0.004106f, -0.054756f, 0.060448f, 0.089518f, 0.122972f, -0.017073f, -0.002156f, -0.045518f, -0.046287f, -0.080305f, 0.036344f, -0.011822f, 0.122445f, -0.023316f, -0.051209f, -0.070598f, 0.005309f, 0.025132f, -0.025996f, 0.025399f, 0.080078f, -0.028784f, -0.013380f, -0.052624f, -0.024549f, 0.056381f, 0.062304f, -0.059366f, -0.017262f, 0.034841f, -0.013190f, 0.017156f, -0.018467f, 0.080963f, 0.062369f, 0.135895f, 0.043090f, 0.062021f, -0.026386f, 0.045530f, 0.089268f, 0.032675f, -0.006291f, 0.024602f, -0.003744f, 0.062264f, 0.029703f, 0.089180f, 0.022981f, -0.081952f, 0.028990f, 0.037391f, 0.069438f, -0.035329f, -0.035352f, 0.045518f, 0.042694f, -0.016585f, 0.069173f, -0.020126f, 0.026912f, -0.073318f, 0.046984f, -0.013213f, 0.024312f, 0.033206f, 0.059251f, 0.059633f, -0.046608f, -0.039200f, -0.018460f, 0.071381f, 0.061642f, -0.018884f, -0.041987f, -0.064386f, -0.014298f, 0.055469f, 0.047950f, 0.040299f, + -0.024656f, -0.093296f, 0.011937f, 0.155974f, 0.095104f, -0.015859f, -0.216063f, -0.026382f, -0.017506f, 0.022559f, -0.020242f, 0.009502f, 0.027942f, -0.003081f, 0.014822f, -0.042675f, 0.035566f, 0.042425f, 0.073158f, -0.043867f, -0.057580f, 0.070163f, 0.107085f, 0.031437f, -0.040633f, -0.054819f, -0.008193f, 0.021012f, 0.010548f, 0.022042f, 0.005216f, 0.028459f, 0.013911f, 0.072800f, -0.016463f, -0.085569f, -0.034850f, 0.035711f, 0.015710f, -0.025386f, -0.035183f, 0.011778f, 0.048240f, 0.083361f, 0.075519f, 0.005180f, 0.006282f, 0.035743f, -0.022080f, -0.072143f, 0.029296f, -0.042200f, 0.100359f, 0.111576f, 0.003331f, 0.037010f, 0.020471f, 0.028606f, -0.040367f, 0.001464f, 0.104966f, -0.028918f, 0.007000f, -0.125844f, -0.011558f, 0.024449f, 0.037765f, 0.039068f, 0.034853f, -0.022890f, -0.013544f, 0.072324f, 0.097152f, -0.002925f, 0.004600f, 0.024422f, 0.008654f, -0.013163f, -0.101185f, -0.042656f, 0.077503f, 0.086121f, 0.081099f, 0.111406f, 0.017192f, -0.049824f, -0.151104f, -0.114151f, -0.023720f, 0.030409f, 0.091719f, 0.101552f, 0.045787f, 0.001318f, -0.052838f, -0.044137f, + -0.022242f, 0.031200f, 0.084807f, 0.049237f, -0.015013f, 0.002493f, -0.010776f, -0.048999f, -0.069950f, -0.054750f, 0.006137f, 0.080502f, 0.056645f, 0.121379f, 0.074784f, 0.078020f, 0.105704f, -0.032621f, -0.081359f, -0.087246f, -0.120653f, -0.142397f, -0.059272f, -0.017122f, 0.036152f, 0.077834f, 0.106503f, 0.105177f, 0.078910f, 0.053913f, 0.101176f, -0.021565f, -0.076395f, -0.003576f, -0.025851f, 0.028331f, 0.023808f, 0.129100f, 0.103347f, -0.042484f, 0.009739f, -0.029925f, -0.098070f, -0.026066f, 0.010419f, -0.052684f, 0.066622f, -0.032823f, 0.011340f, 0.006265f, -0.026508f, 0.069131f, 0.077015f, 0.076934f, 0.031479f, -0.039797f, -0.122488f, 0.053299f, 0.015965f, -0.210843f, -0.222351f, -0.232017f, -0.237811f, -0.318452f, -0.023897f, -0.081942f, -0.010657f, 0.042097f, 0.162244f, 0.181967f, 0.188548f, 0.258231f, 0.353676f, 0.338317f, 0.333703f, 0.269234f, 0.198574f, 0.146168f, 0.052531f, -0.145741f, -0.063202f, -0.082175f, -0.045537f, -0.177603f, -0.019690f, -0.068128f, -0.074163f, -0.145920f, -0.108067f, -0.112470f, -0.098951f, -0.106368f, -0.190943f, -0.170592f, -0.095022f, -0.087855f, + -0.109667f, -0.158907f, -0.015640f, -0.138934f, -0.265940f, -0.230198f, -0.198349f, -0.104417f, -0.132632f, -0.021375f, -0.277471f, -0.123376f, -0.119759f, -0.056812f, -0.037184f, -0.146549f, 0.010581f, -0.148501f, -0.015136f, 0.019248f, 0.069612f, 0.000126f, 0.069271f, 0.096616f, 0.161740f, 0.164321f, 0.235538f, 0.141716f, 0.369296f, 0.217842f, 0.425284f, 0.270191f, 0.413938f, 0.469188f, 0.565918f, 0.435974f, 0.432438f, 0.454483f, 0.299365f, 0.128237f, 0.082628f}, + {-0.017642f, 0.019321f, -0.011241f, 0.000801f, -0.009383f, 0.004387f, 0.002124f, 0.003191f, -0.010388f, -0.007148f, 0.000225f, -0.006680f, -0.000759f, 0.004320f, -0.000816f, -0.002311f, -0.001183f, 0.004840f, -0.002007f, -0.003259f, 0.013307f, -0.000032f, -0.010422f, -0.004840f, 0.004458f, 0.001062f, 0.004150f, -0.009208f, 0.001005f, -0.009683f, 0.001462f, 0.008124f, -0.001016f, 0.005127f, 0.005314f, 0.004901f, -0.005454f, -0.002367f, -0.003187f, 0.001758f, -0.001378f, 0.003424f, -0.009015f, -0.004308f, -0.003822f, 0.000461f, -0.002275f, 0.005031f, 0.006558f, 0.010401f, -0.004126f, -0.005629f, -0.002680f, 0.002568f, 0.006815f, 0.007778f, 0.006301f, -0.001414f, -0.009127f, 0.011647f, -0.007642f, 0.004156f, -0.008037f, 0.006696f, -0.005328f, 0.004010f, -0.004847f, 0.000364f, -0.005148f, -0.003638f, -0.000379f, -0.001869f, 0.004009f, 0.002573f, -0.000680f, -0.008320f, 0.031894f, 0.004351f, -0.010256f, 0.005095f, 0.005774f, 0.002093f, -0.013024f, 0.006177f, 0.009540f, -0.009936f, -0.002841f, -0.012211f, -0.002530f, -0.005107f, -0.004338f, -0.001639f, 0.000879f, -0.000291f, 0.001457f, 0.004579f, + -0.005299f, 0.002595f, -0.012448f, 0.004489f, 0.007996f, 0.001785f, -0.003105f, -0.010136f, 0.006938f, -0.004383f, 0.011087f, 0.009381f, -0.000155f, -0.004185f, 0.009098f, 0.010435f, 0.008556f, 0.008510f, 0.002355f, -0.006312f, 0.002296f, 0.008056f, -0.003039f, -0.006599f, 0.006340f, 0.009690f, -0.003886f, 0.005121f, -0.010558f, -0.000771f, -0.009204f, 0.006649f, -0.012347f, -0.003297f, -0.001983f, 0.004497f, 0.006749f, 0.004646f, 0.000077f, -0.006571f, 0.001302f, -0.009137f, -0.005634f, 0.001916f, -0.000580f, -0.005378f, 0.003718f, 0.003448f, 0.001544f, 0.006242f, -0.004359f, 0.002999f, -0.005979f, -0.002156f, -0.001513f, 0.004937f, 0.018000f, -0.018341f, 0.000590f, 0.000225f, -0.004721f, -0.005571f, -0.005935f, 0.001795f, -0.010385f, -0.010234f, 0.001328f, 0.004835f, -0.000483f, 0.005749f, 0.004443f, -0.005663f, 0.002190f, -0.020095f, -0.005004f, -0.004555f, -0.004765f, -0.006389f, -0.007067f, -0.017714f, -0.013811f, 0.001804f, 0.004019f, -0.001022f, 0.009438f, 0.007564f, 0.003103f, -0.003467f, -0.002013f, 0.008877f, -0.003563f, 0.001044f, -0.001413f, -0.009457f, 0.003035f, -0.003206f, + -0.006509f, -0.002532f, 0.007574f, 0.018502f, -0.007185f, 0.002017f, 0.004411f, -0.003487f, 0.005737f, 0.002558f, -0.006592f, 0.003727f, -0.015443f, -0.007156f, 0.000068f, 0.006216f, 0.009638f, -0.006033f, -0.002874f, -0.000734f, -0.022332f, 0.003722f, 0.011390f, 0.000534f, 0.001568f, 0.006185f, -0.003716f, 0.009690f, 0.013141f, -0.001833f, 0.003677f, 0.007753f, 0.007490f, 0.001241f, 0.000410f, -0.004002f, -0.005076f, -0.005043f, -0.015883f, 0.003371f, 0.000307f, -0.015357f, 0.002045f, 0.008230f, 0.012190f, 0.002967f, -0.009247f, 0.020895f, -0.003122f, -0.004388f, 0.009638f, -0.006360f, -0.006277f, 0.000799f, -0.008020f, 0.009200f, 0.009099f, -0.004020f, -0.014533f, -0.007232f, 0.006745f, -0.009357f, 0.019760f, 0.017140f, -0.014209f, -0.017164f, 0.000253f, 0.002974f, -0.016508f, -0.001253f, 0.006295f, 0.004332f, -0.008289f, -0.004791f, 0.018130f, -0.002160f, 0.012342f, -0.001459f, -0.004568f, -0.004501f, -0.009984f, 0.001468f, -0.001815f, 0.009802f, -0.009010f, 0.002116f, -0.002735f, 0.001656f, -0.005547f, -0.000867f, 0.007886f, 0.006489f, -0.011140f, 0.016231f, 0.000746f, -0.000311f, + -0.000917f, -0.001760f, 0.003759f, -0.002542f, -0.015496f, -0.002395f, -0.008621f, 0.012485f, 0.004432f, -0.000072f, 0.014682f, -0.009218f, 0.009264f, 0.009718f, -0.000645f, -0.008611f, -0.038023f, 0.008270f, 0.001654f, 0.026451f, -0.001811f, 0.010396f, -0.014789f, 0.002715f, -0.011168f, -0.002987f, -0.005648f, -0.002111f, 0.004585f, -0.003314f, 0.004262f, 0.008624f, 0.006569f, 0.025046f, 0.017247f, -0.012001f, 0.005510f, -0.001065f, 0.004374f, 0.002552f, -0.003576f, -0.025774f, 0.006087f, -0.001768f, -0.000566f, 0.009120f, -0.001825f, -0.007559f, -0.005225f, -0.001708f, -0.008173f, -0.004752f, -0.020536f, -0.005288f, 0.000224f, -0.007704f, -0.001576f, 0.007807f, 0.011693f, -0.004478f, 0.014522f, -0.011710f, 0.002138f, 0.004422f, 0.001640f, -0.004111f, -0.008105f, 0.004822f, -0.002261f, 0.002669f, -0.006097f, -0.009021f, 0.001244f, 0.003994f, -0.008624f, 0.007087f, -0.005983f, 0.018010f, 0.019793f, -0.007082f, 0.007052f, 0.006656f, -0.001311f, -0.003747f, -0.002950f, -0.025778f, 0.010018f, 0.008591f, 0.000096f, -0.005652f, -0.010449f, -0.000588f, -0.003869f, -0.012379f, -0.007727f, -0.011978f, + 0.012621f, 0.007322f, -0.000727f, 0.014516f, -0.007265f, 0.013050f, -0.013992f, -0.013463f, 0.007064f, -0.021674f, -0.007422f, 0.005841f, 0.013748f, 0.017779f, -0.002680f, 0.013339f, -0.000077f, 0.012711f, 0.004978f, 0.002295f, -0.001659f, 0.000948f, 0.012796f, -0.005652f, -0.000909f, 0.002511f, 0.001477f, -0.011977f, -0.001116f, -0.006393f, 0.025685f, -0.011850f, -0.011829f, -0.002750f, 0.012333f, 0.012202f, 0.010720f, 0.013978f, -0.001952f, 0.002726f, -0.002618f, -0.006649f, 0.005656f, -0.000441f, -0.000854f, -0.007653f, 0.020280f, 0.012376f, -0.005664f, 0.003917f, 0.006328f, -0.010331f, 0.002697f, 0.007816f, -0.001467f, 0.014964f, -0.005512f, -0.001852f, -0.015663f, -0.006039f, -0.013234f, 0.000654f, 0.019475f, -0.007441f, 0.005878f, 0.003246f, 0.001184f, -0.005195f, -0.001232f, 0.000134f, -0.004143f, 0.009075f, -0.008994f, -0.004320f, -0.001082f, -0.003766f, -0.035133f, 0.026098f, 0.003089f, -0.012719f, -0.030967f, -0.002788f, 0.001193f, -0.018224f, -0.001267f, 0.008958f, 0.007780f, 0.000991f, -0.004933f, 0.007145f, 0.022852f, 0.023034f, -0.009288f, -0.010395f, -0.024188f, 0.005215f, + -0.003964f, 0.024232f, -0.009266f, -0.000254f, -0.005110f, 0.009286f, -0.002162f, -0.024284f, 0.008605f, -0.000890f, -0.013990f, 0.000273f, 0.002877f, -0.001738f, -0.001881f, -0.009838f, -0.013431f, 0.008792f, 0.002756f, 0.011418f, -0.009043f, 0.019047f, 0.009616f, -0.003639f, -0.015938f, -0.003063f, 0.006771f, 0.018631f, 0.006485f, -0.010155f, -0.003926f, 0.008789f, 0.006372f, -0.005096f, -0.001710f, 0.009254f, 0.008320f, 0.009757f, 0.019215f, 0.020586f, 0.010990f, 0.011080f, 0.013619f, -0.007070f, 0.003006f, -0.013211f, 0.014737f, 0.002366f, 0.008173f, -0.009389f, -0.013481f, 0.003608f, -0.017562f, -0.006784f, -0.006890f, 0.013846f, -0.012860f, -0.000849f, 0.023798f, 0.014597f, 0.020106f, 0.003753f, -0.022190f, -0.007375f, 0.023367f, -0.006856f, -0.014952f, -0.015573f, -0.015336f, -0.016219f, 0.008781f, 0.008923f, 0.005697f, 0.005211f, 0.005385f, 0.022481f, -0.002877f, 0.009707f, -0.019470f, -0.021901f, 0.014524f, -0.000865f, -0.011987f, 0.000764f, -0.030465f, -0.010012f, -0.010314f, 0.003642f, -0.001143f, -0.002896f, -0.021449f, -0.014086f, 0.002304f, 0.014669f, 0.023926f, -0.009610f, + -0.009471f, 0.012685f, -0.016527f, -0.001284f, -0.000889f, 0.005408f, 0.010457f, 0.008452f, 0.016599f, -0.009045f, 0.024089f, 0.011245f, -0.026057f, 0.012877f, -0.014471f, -0.017434f, -0.014346f, -0.021077f, 0.018969f, 0.004245f, -0.022202f, 0.002312f, 0.004814f, 0.001784f, 0.003687f, -0.004434f, 0.015906f, -0.009548f, 0.012357f, -0.019970f, 0.015110f, -0.010650f, -0.008378f, 0.000686f, 0.007422f, -0.002976f, 0.012172f, 0.051098f, -0.043076f, 0.022225f, 0.023110f, -0.018486f, -0.002060f, 0.031214f, 0.012301f, 0.020408f, 0.007184f, -0.004923f, 0.046127f, -0.000188f, -0.006787f, 0.001561f, 0.001702f, 0.023010f, 0.035079f, 0.014317f, 0.001319f, 0.002304f, 0.006584f, 0.013159f, 0.001391f, 0.007760f, -0.021882f, 0.012753f, 0.019821f, -0.002163f, 0.009008f, 0.001681f, 0.004953f, -0.013416f, -0.010224f, 0.002555f, 0.001051f, 0.022408f, 0.011795f, 0.010292f, -0.007131f, -0.008965f, -0.009113f, 0.013678f, 0.018911f, 0.001936f, -0.003952f, 0.035621f, 0.019141f, 0.024430f, -0.010529f, -0.023357f, -0.003134f, -0.024515f, -0.015685f, -0.006021f, -0.009290f, 0.000463f, 0.021537f, -0.004225f, + 0.002571f, -0.014085f, -0.015407f, 0.021866f, 0.000940f, 0.011443f, 0.011863f, -0.007913f, 0.021070f, 0.007440f, 0.003992f, -0.003866f, -0.010173f, 0.017870f, -0.001765f, -0.022769f, 0.018313f, 0.017918f, -0.035265f, 0.003640f, 0.010741f, -0.017582f, 0.013457f, -0.029923f, 0.005951f, 0.008449f, -0.004664f, -0.012110f, -0.015764f, -0.017850f, -0.030348f, 0.003357f, 0.032607f, -0.011400f, 0.015214f, 0.008651f, 0.023933f, 0.012940f, -0.010459f, -0.021673f, 0.009947f, -0.005637f, -0.008739f, -0.022381f, -0.004492f, -0.003141f, -0.010076f, -0.009625f, -0.006378f, -0.015678f, -0.021810f, 0.023837f, -0.003733f, -0.013878f, 0.017300f, 0.006640f, -0.017860f, 0.002523f, -0.002775f, 0.010768f, -0.023372f, 0.006266f, 0.005750f, -0.031905f, 0.008920f, 0.010706f, -0.018410f, 0.005020f, -0.000729f, -0.004880f, 0.009774f, 0.001455f, -0.004435f, 0.001821f, 0.005709f, 0.022096f, 0.014765f, 0.022585f, 0.012632f, 0.008413f, -0.008533f, 0.033471f, -0.011392f, -0.016212f, 0.033181f, 0.003111f, 0.018430f, 0.005467f, -0.011089f, -0.033092f, -0.035850f, -0.007002f, -0.003307f, -0.011782f, -0.012023f, -0.059698f, + 0.026114f, 0.047595f, 0.001363f, -0.030228f, 0.010743f, -0.007248f, -0.004085f, 0.006104f, 0.002672f, 0.010751f, -0.017178f, -0.000290f, 0.042331f, 0.032164f, 0.027716f, -0.034655f, -0.003586f, 0.006002f, 0.014854f, -0.017675f, -0.019782f, -0.006485f, 0.003366f, 0.013450f, 0.005399f, -0.043988f, -0.049948f, 0.012801f, -0.003914f, 0.024822f, 0.025150f, -0.019782f, 0.020378f, 0.016299f, 0.021898f, -0.003698f, -0.016961f, -0.017140f, 0.009127f, -0.018040f, -0.008667f, -0.002076f, -0.003268f, 0.012471f, 0.028297f, 0.015297f, -0.011144f, -0.009408f, -0.018047f, -0.006030f, -0.001433f, 0.006225f, -0.006162f, -0.007613f, 0.012260f, 0.007389f, -0.026382f, -0.002518f, -0.002154f, 0.025848f, -0.017360f, -0.018366f, -0.033972f, -0.012655f, 0.001742f, -0.000221f, 0.012142f, -0.005675f, 0.000078f, -0.015919f, -0.024484f, -0.020568f, -0.023135f, -0.012549f, 0.003822f, -0.038866f, 0.007927f, 0.007292f, 0.006351f, 0.010142f, 0.029953f, 0.003084f, 0.026154f, -0.002777f, 0.033707f, 0.016953f, 0.026546f, 0.016274f, 0.008513f, -0.012077f, -0.000152f, -0.007390f, 0.018656f, 0.005628f, 0.016575f, -0.014223f, + -0.001295f, 0.027527f, -0.032120f, -0.018332f, 0.027438f, -0.043791f, -0.018019f, 0.003566f, -0.006935f, -0.021605f, 0.045967f, -0.007747f, 0.032293f, 0.012459f, -0.025060f, -0.003988f, -0.008312f, -0.032268f, -0.040170f, 0.033543f, 0.001589f, -0.012262f, 0.010273f, 0.000514f, -0.003507f, 0.012063f, 0.006958f, -0.004538f, -0.013176f, 0.002696f, 0.034067f, 0.026527f, -0.019646f, 0.008389f, 0.004390f, 0.024583f, -0.008601f, 0.016428f, -0.033040f, -0.009364f, 0.027780f, 0.007522f, -0.004826f, 0.028503f, -0.005639f, 0.019609f, -0.035957f, -0.047219f, -0.012169f, -0.000362f, -0.027663f, 0.033850f, 0.030682f, 0.034192f, -0.009498f, -0.013999f, -0.003383f, 0.040161f, 0.028872f, 0.045254f, -0.040284f, -0.030318f, -0.068975f, 0.029627f, -0.007704f, -0.058999f, -0.011449f, 0.005492f, 0.008658f, -0.022120f, 0.023967f, 0.020144f, 0.002265f, -0.000396f, 0.003736f, -0.009903f, -0.020519f, 0.004368f, -0.011671f, -0.019365f, -0.000255f, 0.044482f, 0.001383f, -0.006974f, -0.035719f, 0.014856f, 0.028198f, -0.014820f, -0.043101f, -0.008064f, 0.014514f, 0.004888f, -0.009162f, 0.009106f, 0.003049f, 0.015195f, + -0.004385f, 0.025236f, 0.039036f, 0.014426f, -0.026026f, 0.029064f, 0.013201f, -0.033689f, -0.035482f, 0.038046f, 0.018530f, -0.015472f, -0.017385f, -0.001378f, -0.031514f, 0.022405f, 0.030119f, -0.001346f, 0.001529f, 0.006934f, -0.004086f, 0.032363f, 0.010894f, 0.007757f, -0.014021f, 0.004383f, 0.010859f, 0.039790f, -0.010194f, 0.014356f, -0.032115f, -0.037708f, 0.031734f, -0.006903f, -0.003485f, 0.000503f, 0.030202f, -0.004078f, -0.007629f, -0.010603f, -0.014653f, -0.047743f, -0.004973f, -0.031604f, -0.063065f, -0.064891f, -0.028735f, -0.049787f, -0.023251f, -0.008916f, 0.007589f, 0.026223f, 0.029232f, 0.002093f, -0.017636f, 0.031742f, -0.017845f, 0.015146f, -0.062347f, -0.006999f, -0.043159f, -0.029124f, 0.027188f, 0.018988f, 0.018174f, 0.005509f, 0.039669f, -0.005068f, -0.003814f, -0.030388f, -0.011481f, -0.006840f, -0.021334f, -0.021148f, -0.051533f, -0.020634f, -0.006849f, -0.008963f, -0.032400f, 0.026643f, 0.009619f, 0.015571f, -0.015030f, -0.006088f, -0.077608f, -0.022781f, -0.022395f, 0.016866f, 0.037680f, -0.024855f, -0.005112f, -0.045192f, -0.004652f, 0.022100f, -0.008754f, -0.015762f, + 0.008488f, 0.032027f, 0.054407f, 0.010986f, 0.000184f, -0.003896f, -0.016657f, -0.023249f, 0.013248f, -0.015698f, 0.048953f, 0.008888f, 0.019940f, 0.102129f, -0.022660f, -0.019560f, -0.028399f, -0.039613f, -0.050569f, 0.030584f, 0.049700f, -0.027511f, 0.002728f, 0.011992f, -0.015460f, -0.002948f, -0.034910f, 0.000301f, -0.018987f, 0.053634f, 0.001337f, -0.008950f, 0.043610f, -0.009795f, 0.013668f, -0.047569f, 0.026551f, 0.008356f, 0.034188f, -0.014476f, 0.025842f, 0.043843f, 0.047735f, 0.026702f, 0.043194f, 0.022062f, -0.005143f, 0.041187f, -0.018115f, -0.026094f, -0.007029f, 0.016830f, 0.029028f, -0.065481f, -0.002957f, -0.042204f, 0.035409f, 0.015730f, 0.000730f, 0.012000f, 0.048983f, 0.002327f, 0.043894f, 0.018310f, 0.065663f, 0.005946f, -0.005698f, 0.028182f, 0.010875f, -0.032609f, 0.008625f, -0.003817f, -0.042227f, 0.030678f, -0.024841f, -0.042919f, -0.085892f, 0.006577f, -0.009216f, 0.051161f, -0.027107f, 0.068488f, 0.024252f, -0.001592f, -0.009029f, 0.026339f, 0.029787f, -0.050961f, -0.020083f, -0.037907f, 0.014362f, -0.017636f, 0.039121f, 0.010624f, 0.013054f, 0.011319f, + 0.035638f, -0.019817f, -0.022566f, -0.022008f, 0.034260f, 0.019126f, 0.043875f, 0.014147f, 0.131040f, -0.035636f, 0.002812f, 0.003663f, 0.062056f, 0.027589f, 0.029794f, -0.036543f, 0.019249f, -0.012649f, 0.003031f, -0.015275f, 0.005871f, 0.046346f, -0.009596f, 0.016805f, 0.085539f, 0.029420f, -0.036238f, -0.041242f, 0.006822f, 0.057897f, 0.030093f, 0.013717f, -0.019600f, 0.049922f, 0.009381f, -0.003412f, -0.049687f, 0.019199f, -0.006758f, 0.025689f, -0.045099f, -0.024566f, 0.003654f, -0.007951f, 0.007273f, -0.039309f, -0.000397f, -0.022323f, 0.013280f, 0.042550f, 0.031605f, 0.014354f, -0.058512f, 0.004957f, 0.006631f, -0.048890f, -0.047119f, -0.026892f, -0.025571f, -0.021125f, 0.042773f, 0.014832f, -0.000921f, 0.032996f, 0.044164f, 0.017393f, 0.038087f, 0.006975f, 0.024993f, 0.174651f, -0.038902f, 0.034443f, 0.018613f, -0.022369f, 0.005515f, -0.104200f, 0.003588f, 0.030014f, 0.073157f, -0.026817f, 0.003431f, -0.040907f, -0.028105f, 0.015606f, 0.035053f, -0.033108f, 0.050426f, 0.023632f, -0.053973f, 0.041123f, -0.018613f, -0.024766f, 0.003021f, -0.030955f, 0.013914f, -0.011373f, + 0.051483f, -0.021920f, 0.003642f, 0.029699f, -0.082678f, 0.017110f, 0.033394f, -0.022306f, 0.027824f, -0.049103f, 0.059597f, 0.010195f, 0.015463f, -0.096871f, 0.097712f, 0.043472f, 0.036500f, 0.006297f, -0.051062f, 0.057169f, 0.003411f, -0.021959f, 0.100350f, -0.014359f, -0.033902f, -0.017377f, 0.018577f, 0.031256f, 0.033083f, 0.011036f, -0.008045f, -0.105756f, -0.004490f, 0.031735f, 0.009790f, 0.044607f, -0.049266f, 0.063817f, 0.014820f, 0.024390f, -0.049566f, -0.012708f, 0.018941f, 0.080199f, -0.021654f, 0.021997f, -0.043933f, 0.052307f, 0.037960f, 0.049521f, -0.005815f, 0.024062f, 0.020318f, -0.055909f, -0.043386f, 0.033578f, 0.039407f, 0.012493f, -0.004230f, -0.080879f, 0.082929f, -0.012228f, -0.013860f, -0.025895f, -0.003818f, -0.062962f, -0.120787f, 0.047959f, 0.041453f, -0.001133f, -0.020571f, -0.046935f, -0.002956f, -0.011562f, -0.021639f, 0.053968f, -0.106861f, -0.043824f, -0.053534f, -0.013432f, -0.079678f, -0.003606f, -0.006657f, 0.001228f, -0.007923f, -0.013081f, 0.020460f, 0.003484f, -0.031116f, -0.007528f, 0.006211f, -0.047550f, -0.020441f, -0.010876f, 0.011364f, 0.044507f, + -0.012666f, 0.084750f, -0.033719f, -0.001321f, 0.042207f, -0.030958f, 0.030604f, 0.009482f, -0.045676f, -0.077127f, -0.010433f, 0.026253f, 0.085190f, 0.037993f, -0.046653f, -0.018568f, -0.153465f, -0.049144f, 0.000245f, 0.041090f, 0.102515f, 0.002099f, -0.081946f, 0.012723f, 0.067241f, -0.011094f, 0.012056f, 0.064178f, 0.076536f, 0.143462f, -0.126578f, -0.016881f, 0.044960f, 0.051371f, -0.017465f, -0.037003f, -0.040830f, -0.048087f, 0.019982f, -0.049625f, 0.010467f, -0.020872f, -0.118035f, 0.025106f, -0.021075f, 0.033156f, -0.033344f, -0.034714f, 0.001501f, -0.050402f, 0.007408f, -0.050859f, -0.001865f, -0.010192f, -0.020142f, 0.022073f, -0.037552f, -0.049701f, -0.044508f, -0.058120f, -0.010050f, -0.007974f, 0.061940f, 0.011958f, -0.046060f, -0.069700f, 0.008514f, -0.003422f, 0.015840f, -0.015257f, 0.037665f, -0.046690f, -0.017813f, -0.064786f, -0.040054f, -0.020272f, 0.002201f, -0.028786f, 0.065460f, -0.025243f, -0.055342f, 0.014761f, 0.068228f, 0.046452f, 0.020770f, -0.050646f, -0.030270f, -0.007799f, 0.062566f, 0.114604f, 0.000267f, 0.019923f, -0.020965f, -0.118572f, -0.023400f, 0.006811f, + 0.045653f, 0.094347f, -0.051820f, -0.070867f, 0.042134f, 0.013945f, -0.019594f, -0.001969f, -0.032471f, 0.016936f, -0.092465f, -0.017691f, 0.011335f, 0.016017f, -0.051815f, 0.058315f, -0.086900f, -0.120947f, -0.089933f, 0.070259f, 0.021991f, -0.123160f, -0.021289f, -0.084652f, 0.038868f, 0.008121f, -0.169889f, 0.012673f, -0.051847f, -0.109360f, -0.085353f, -0.124875f, 0.078631f, -0.037172f, -0.098657f, -0.043216f, 0.032834f, -0.057655f, -0.050474f, -0.038225f, -0.023061f, -0.042184f, -0.043018f, -0.078661f, -0.057636f, -0.108469f, -0.061665f, -0.054031f, -0.017855f, -0.049695f, -0.009908f, -0.021814f, -0.000672f, 0.006967f, 0.015598f, 0.033938f, -0.029536f, 0.028949f, 0.004163f, 0.060177f, 0.025836f, 0.039136f, 0.036978f, -0.099652f, -0.025942f, 0.087514f, -0.012866f, -0.046923f, -0.056587f, -0.038064f, 0.035002f, 0.139683f, -0.007091f, 0.003811f, -0.088101f, -0.085603f, -0.017229f, 0.025826f, 0.082673f, 0.001941f, 0.075804f, 0.035264f, -0.085606f, 0.168710f, 0.006281f, 0.134208f, 0.003927f, -0.020722f, 0.070864f, -0.077137f, -0.110830f, -0.060115f, -0.250315f, -0.139622f, -0.043393f, 0.130960f, + -0.042926f, -0.105215f, 0.123646f, 0.117922f, -0.073501f, -0.096190f, 0.000500f, 0.105619f, -0.010368f, -0.006093f, -0.031676f, 0.092146f, -0.008922f, -0.024818f, -0.000820f, 0.025153f, 0.048902f, 0.000832f, -0.033884f, -0.041029f, 0.058711f, 0.003547f, -0.022528f, -0.061667f, 0.036670f, 0.018168f, -0.004724f, -0.049029f, 0.017420f, 0.019454f, 0.019610f, -0.031664f, -0.015588f, 0.003901f, 0.049724f, -0.015412f, 0.019790f, -0.070820f, -0.016138f, -0.001785f, 0.048739f, -0.098205f, -0.013759f, 0.007141f, 0.072808f, -0.035647f, 0.014515f, -0.051690f, 0.010674f, 0.017597f, -0.029617f, -0.028702f, 0.000384f, 0.008098f, 0.025720f, -0.025281f, 0.006330f, -0.089293f, 0.051469f, -0.018176f, 0.085632f, -0.053898f, 0.041436f, -0.038289f, 0.043133f, 0.002241f, 0.031142f, 0.016123f, -0.055953f, 0.065153f, 0.020536f, 0.034996f, -0.062260f, 0.013246f, -0.011461f, 0.005283f, -0.036363f, -0.080423f, -0.106846f, 0.077336f, 0.051170f, -0.061059f, -0.086913f, -0.042730f, 0.039703f, 0.020705f, 0.052928f, 0.057077f, 0.010857f, -0.029240f, -0.008831f, 0.019778f, -0.020140f, -0.001909f, 0.011458f, 0.002968f, + 0.031701f, 0.022176f, 0.009306f, -0.029190f, -0.001516f, -0.018176f, 0.018185f, -0.030558f, -0.026712f, 0.021737f, -0.007472f, -0.012587f, -0.012604f, -0.021310f, -0.029380f, 0.001965f, 0.023061f, 0.021281f, 0.017504f, -0.007086f, -0.024363f, -0.020906f, -0.015036f, 0.025499f, 0.034387f, -0.016514f, -0.025062f, -0.010779f, 0.028391f, 0.014799f, 0.038174f, -0.027634f, -0.011124f, 0.015168f, -0.008029f, 0.001118f, -0.004898f, 0.013636f, 0.007500f, 0.011003f, 0.001545f, -0.026378f, 0.010053f, 0.004804f, -0.001818f, 0.020301f, -0.011434f, -0.005191f, 0.002642f, -0.003663f, 0.001757f, -0.007383f, 0.033686f, 0.009167f, -0.003437f, 0.034109f, 0.031288f, 0.037284f, -0.087947f, -0.232823f, -0.085079f, 0.042633f, 0.122308f, 0.257362f, 0.172545f, 0.044916f, 0.065910f, -0.033593f, -0.103626f, -0.172790f, -0.150094f, -0.119326f, -0.033746f, 0.005284f, 0.084367f, 0.092699f, 0.196837f, 0.095764f, 0.063632f, -0.004297f, -0.040842f, -0.093707f, -0.048030f, -0.075674f, -0.086984f, -0.053581f, -0.044347f, -0.002831f, 0.025517f, 0.073841f, 0.046360f, 0.053130f, 0.048904f, 0.048832f, 0.073825f, 0.006732f, + 0.051528f, -0.008920f, -0.021439f, -0.060979f, -0.035337f, -0.091169f, -0.133441f, -0.117406f, 0.002733f, -0.019758f, 0.038360f, 0.063505f, 0.036201f, 0.097785f, 0.086840f, 0.123480f, 0.071940f, 0.083690f, 0.005971f, 0.004025f, -0.064004f, -0.108015f, -0.123814f, -0.151583f, -0.096997f, -0.124097f, -0.007665f, -0.001170f, 0.062647f, 0.061494f, 0.153127f, 0.116142f, 0.171448f, 0.066082f, 0.083899f, 0.030162f, 0.007428f, -0.103700f, -0.130423f, -0.054680f, -0.037216f} + }, + { + {-0.011648f, 0.011284f, -0.008970f, 0.013289f, -0.002614f, -0.008362f, 0.002620f, 0.006764f, -0.003104f, 0.001663f, 0.006230f, -0.009285f, -0.006331f, -0.001735f, -0.005665f, 0.017967f, -0.007115f, 0.017668f, 0.005119f, 0.005993f, -0.002325f, -0.003817f, -0.006236f, -0.008200f, 0.000229f, 0.007699f, 0.000643f, 0.000997f, -0.004656f, 0.005098f, 0.007054f, 0.000604f, -0.003833f, -0.009288f, 0.006245f, -0.001724f, 0.007158f, -0.003047f, 0.001299f, 0.003204f, -0.005192f, 0.000033f, -0.009129f, 0.012456f, -0.000132f, 0.001842f, -0.001141f, -0.010910f, -0.002817f, -0.003217f, 0.000880f, 0.001760f, 0.006378f, 0.002867f, -0.004297f, -0.006640f, 0.003219f, -0.003981f, -0.002069f, 0.007896f, -0.004392f, 0.005589f, -0.007763f, 0.004229f, -0.008993f, 0.004500f, -0.006026f, -0.003205f, 0.009115f, 0.004184f, 0.004955f, -0.001339f, 0.000714f, 0.002010f, 0.002247f, 0.003204f, 0.014190f, 0.001462f, -0.003918f, -0.004082f, 0.002412f, -0.006932f, -0.000176f, -0.013457f, 0.009548f, 0.012169f, 0.008445f, 0.011981f, -0.014495f, 0.001142f, 0.003207f, -0.005158f, -0.004050f, -0.003528f, -0.016977f, -0.002848f, + 0.009932f, -0.017283f, -0.014151f, 0.008176f, 0.007294f, -0.011095f, -0.003992f, 0.007364f, 0.000818f, 0.008956f, 0.003698f, 0.009335f, -0.005982f, 0.001815f, 0.001147f, -0.002432f, 0.004184f, 0.003456f, 0.006160f, 0.002709f, -0.002956f, 0.000672f, 0.006885f, -0.001834f, -0.003393f, -0.001110f, -0.008729f, -0.018745f, 0.010999f, 0.005545f, -0.006110f, 0.008387f, -0.003538f, 0.001051f, -0.000532f, 0.003993f, -0.005231f, -0.001122f, 0.010855f, -0.010291f, -0.004502f, 0.003860f, 0.001495f, -0.001373f, -0.000868f, 0.005167f, 0.000174f, 0.004657f, -0.007897f, 0.008005f, 0.003438f, -0.009245f, 0.007224f, 0.001331f, 0.002191f, -0.000255f, -0.003723f, 0.022370f, -0.012703f, 0.004019f, -0.014055f, 0.001817f, 0.003405f, -0.014149f, -0.017951f, 0.004631f, -0.019487f, 0.004445f, -0.005019f, -0.001215f, -0.011922f, -0.001597f, -0.013400f, -0.006780f, 0.000135f, -0.014106f, 0.015238f, 0.005504f, -0.023579f, 0.002422f, -0.001226f, -0.004100f, -0.010050f, 0.005283f, 0.012350f, 0.000450f, -0.000828f, 0.011739f, -0.006692f, 0.000377f, -0.004232f, 0.007879f, -0.008865f, 0.002882f, 0.010850f, -0.009099f, + 0.009501f, 0.003605f, 0.010272f, -0.000563f, 0.002400f, -0.001208f, -0.004211f, 0.013704f, -0.016470f, 0.004207f, -0.007231f, -0.002770f, -0.002054f, -0.005582f, -0.004344f, -0.012718f, -0.008175f, -0.001531f, 0.008735f, -0.000148f, 0.003379f, 0.012678f, -0.000114f, -0.009715f, -0.001154f, 0.001185f, 0.003481f, -0.004173f, 0.000268f, -0.009196f, 0.000519f, -0.002914f, 0.003765f, 0.006887f, 0.008339f, 0.004815f, -0.003680f, -0.002774f, -0.005813f, -0.018890f, -0.000672f, -0.011567f, -0.003959f, -0.002269f, -0.013408f, -0.002234f, -0.003468f, 0.005970f, 0.014662f, 0.014738f, 0.001360f, -0.006955f, 0.005633f, -0.015180f, -0.002546f, -0.006092f, 0.004693f, -0.022394f, 0.007310f, 0.003260f, -0.001234f, -0.006766f, -0.009886f, -0.004775f, -0.008228f, -0.007160f, 0.003681f, -0.001913f, -0.008827f, -0.002894f, 0.001289f, 0.013888f, -0.000963f, -0.014902f, 0.000728f, 0.005808f, -0.000580f, -0.004971f, 0.000808f, 0.005042f, -0.016112f, -0.001621f, -0.007217f, 0.010663f, 0.006356f, 0.001502f, -0.014900f, 0.001289f, 0.005247f, 0.008578f, 0.008001f, -0.009870f, -0.004821f, 0.000145f, -0.003299f, -0.003253f, + 0.007476f, -0.005041f, 0.004484f, 0.001131f, -0.006355f, -0.001494f, -0.008606f, 0.010069f, 0.003631f, -0.009938f, -0.006994f, 0.001869f, 0.005292f, -0.007561f, -0.009855f, -0.001050f, 0.000937f, -0.005464f, -0.031614f, 0.009873f, 0.008831f, 0.014907f, -0.004165f, 0.009242f, -0.027259f, -0.007708f, 0.008280f, 0.000679f, -0.013560f, -0.003826f, -0.004619f, -0.024049f, -0.009753f, 0.002035f, -0.001222f, -0.017275f, 0.010436f, 0.014601f, -0.015500f, 0.011280f, -0.020250f, -0.007283f, -0.001873f, 0.006506f, -0.000153f, -0.008628f, 0.005509f, 0.002294f, -0.001351f, 0.008534f, -0.004343f, -0.006298f, -0.001771f, -0.003820f, -0.005903f, 0.008346f, -0.006722f, 0.001978f, 0.006755f, -0.001898f, -0.005129f, -0.010465f, -0.001027f, -0.007642f, -0.001951f, -0.008812f, -0.001982f, 0.017687f, 0.000654f, 0.010503f, -0.009888f, 0.008698f, -0.002551f, -0.015595f, -0.008403f, 0.007610f, -0.004962f, -0.008283f, 0.005992f, -0.009636f, 0.008049f, 0.001286f, -0.002058f, 0.008997f, 0.009579f, 0.003127f, -0.008735f, -0.011693f, 0.000324f, 0.013779f, 0.004200f, 0.001463f, -0.006579f, 0.001566f, -0.018418f, -0.017598f, + -0.012173f, 0.000323f, -0.004313f, 0.004870f, -0.007396f, -0.001664f, -0.000450f, -0.006445f, -0.003407f, 0.002327f, -0.006311f, 0.016961f, -0.013829f, 0.006928f, -0.004792f, -0.003004f, -0.010263f, -0.004129f, -0.002769f, 0.011859f, -0.010858f, -0.000545f, 0.001081f, -0.015125f, -0.009713f, -0.010909f, -0.009298f, -0.017278f, -0.006874f, 0.003750f, 0.008959f, 0.004818f, -0.013887f, -0.019276f, -0.005354f, -0.001328f, -0.010396f, -0.000252f, -0.007547f, -0.010989f, -0.023087f, -0.012760f, -0.016631f, 0.006780f, -0.005417f, 0.005126f, -0.010189f, -0.023013f, -0.012653f, -0.000962f, -0.005782f, -0.008930f, -0.004633f, -0.010339f, 0.009743f, -0.001079f, 0.005051f, 0.006632f, 0.000728f, -0.002522f, -0.008782f, -0.001877f, 0.008026f, -0.003891f, -0.008523f, -0.012064f, 0.014183f, -0.015387f, -0.019642f, -0.015271f, -0.008821f, -0.012586f, 0.010033f, 0.015686f, -0.015622f, 0.004637f, -0.034126f, 0.010989f, -0.002188f, 0.006497f, 0.019083f, 0.007853f, -0.004503f, 0.006871f, -0.014076f, 0.009305f, 0.010392f, -0.018189f, -0.003961f, -0.008895f, 0.010578f, 0.009839f, 0.014311f, 0.017324f, -0.021712f, -0.010424f, + 0.003438f, 0.019340f, -0.007223f, 0.009440f, -0.020897f, -0.005404f, -0.007520f, -0.003501f, -0.012836f, 0.004033f, -0.020841f, 0.015163f, -0.004441f, -0.002609f, 0.009889f, 0.000454f, 0.001833f, 0.012139f, -0.000295f, 0.010193f, 0.005382f, -0.001321f, -0.004280f, 0.000071f, -0.015173f, -0.009189f, -0.014010f, 0.000584f, 0.026352f, 0.007824f, 0.004236f, 0.000913f, -0.004958f, 0.001405f, 0.015070f, -0.001772f, 0.003738f, -0.029676f, 0.027473f, -0.005105f, -0.006830f, 0.003700f, 0.015915f, 0.008631f, -0.005012f, -0.008463f, 0.028748f, -0.003454f, -0.003005f, 0.012734f, -0.010939f, 0.003082f, 0.000710f, -0.003357f, 0.001209f, 0.010249f, 0.000448f, -0.001398f, 0.015426f, 0.008932f, 0.017091f, -0.006038f, -0.003442f, 0.010161f, -0.014806f, 0.014392f, 0.016179f, -0.007228f, -0.000869f, -0.024026f, 0.001610f, 0.009176f, 0.007300f, -0.004532f, -0.016391f, -0.033361f, 0.000937f, -0.005060f, -0.015802f, 0.004523f, 0.011224f, -0.014024f, -0.005972f, -0.015345f, 0.008477f, 0.001738f, -0.002111f, -0.004532f, -0.006727f, 0.018253f, 0.020546f, 0.008774f, 0.009896f, -0.003618f, -0.009995f, 0.029238f, + 0.007210f, -0.003867f, -0.016483f, 0.013242f, 0.000621f, 0.017299f, -0.001360f, 0.021172f, 0.010102f, 0.015171f, 0.011907f, 0.007207f, 0.015615f, 0.020727f, -0.000656f, 0.004848f, -0.006393f, 0.001092f, 0.010449f, 0.005824f, 0.005509f, -0.015847f, -0.006725f, -0.002119f, -0.015534f, -0.012755f, -0.010091f, 0.009833f, 0.015843f, 0.023667f, 0.027446f, 0.008517f, 0.001241f, 0.025457f, -0.010718f, 0.026713f, -0.024507f, -0.011325f, -0.002906f, 0.010462f, -0.022870f, 0.015123f, -0.022511f, 0.011669f, 0.000416f, 0.012346f, 0.019505f, -0.007450f, 0.017873f, 0.019297f, 0.018578f, -0.010161f, 0.015769f, -0.016107f, -0.012509f, -0.001761f, -0.009525f, 0.000095f, -0.008094f, 0.015154f, -0.010432f, 0.003505f, -0.010274f, -0.018928f, -0.008277f, -0.003839f, 0.023789f, -0.019217f, 0.018897f, 0.008177f, -0.026162f, 0.030951f, 0.008310f, 0.003562f, 0.022379f, 0.003950f, 0.001737f, -0.012165f, 0.000725f, -0.006771f, 0.025482f, 0.010476f, 0.018131f, -0.006698f, -0.003217f, 0.011929f, 0.021444f, -0.021474f, 0.022221f, 0.003884f, -0.002501f, -0.004023f, -0.019238f, 0.009729f, -0.008509f, 0.004092f, + 0.001987f, -0.018366f, 0.007336f, 0.015529f, -0.012906f, 0.009888f, 0.007729f, 0.021851f, 0.003674f, -0.001217f, 0.014666f, 0.019537f, 0.003154f, -0.009770f, 0.014567f, -0.011277f, -0.021309f, -0.015246f, 0.023036f, -0.029635f, 0.007369f, -0.015769f, 0.017486f, -0.018800f, 0.028616f, 0.009998f, 0.002638f, -0.024887f, 0.012551f, 0.021187f, 0.005402f, -0.012727f, -0.008531f, -0.007223f, 0.019388f, 0.010799f, -0.027587f, 0.004031f, -0.019603f, -0.000883f, 0.001947f, -0.016331f, 0.021398f, 0.022002f, -0.010190f, 0.005035f, 0.014440f, -0.017744f, -0.003093f, -0.005233f, -0.015303f, 0.032108f, -0.011935f, -0.006719f, -0.016410f, -0.026294f, -0.004679f, 0.000953f, -0.009698f, 0.004470f, -0.022603f, 0.002496f, 0.001039f, -0.003835f, 0.016924f, -0.002991f, -0.014181f, 0.007791f, -0.000631f, -0.009394f, 0.008070f, 0.038508f, -0.008231f, 0.009913f, 0.001311f, -0.024518f, -0.004949f, 0.023995f, 0.009444f, 0.023977f, -0.003221f, 0.014606f, -0.019007f, 0.009845f, 0.006948f, 0.004726f, -0.016433f, 0.016688f, 0.003860f, -0.036575f, 0.001926f, -0.002558f, 0.025338f, -0.045755f, 0.053303f, 0.006937f, + 0.021482f, -0.037400f, 0.021553f, 0.027842f, -0.030505f, 0.012646f, 0.016188f, 0.012711f, -0.019460f, 0.003397f, 0.004280f, -0.006062f, 0.012499f, 0.025024f, -0.018775f, -0.015464f, -0.005223f, 0.021329f, 0.018500f, 0.025918f, -0.000512f, 0.011383f, -0.018056f, -0.004160f, -0.004179f, 0.004868f, 0.012518f, 0.032918f, 0.019838f, 0.012445f, 0.006797f, -0.000317f, 0.016042f, -0.004939f, -0.026931f, -0.004613f, 0.008781f, 0.009562f, -0.015494f, -0.011491f, -0.019350f, 0.004605f, -0.000939f, 0.007763f, -0.012470f, 0.024220f, 0.023600f, -0.019149f, 0.047907f, 0.002897f, -0.003714f, 0.000457f, -0.009216f, -0.001405f, -0.002408f, -0.018395f, 0.000930f, 0.000778f, 0.013156f, -0.039057f, 0.010343f, -0.013372f, 0.029480f, 0.035639f, 0.015669f, 0.015273f, 0.007045f, 0.003166f, 0.031949f, -0.004941f, -0.023044f, 0.021227f, -0.010811f, 0.007919f, 0.018371f, 0.002937f, -0.014087f, 0.011698f, 0.017808f, 0.015487f, 0.009377f, 0.018632f, -0.024308f, -0.015590f, 0.001732f, -0.021820f, -0.006200f, -0.004192f, 0.003737f, -0.006057f, -0.014735f, -0.017842f, -0.011399f, 0.007959f, 0.013515f, -0.026029f, + 0.004318f, -0.003176f, -0.001794f, -0.031196f, -0.028737f, -0.005254f, -0.022574f, 0.009690f, -0.025607f, 0.001191f, 0.011830f, 0.018440f, -0.017904f, 0.022013f, 0.004404f, -0.002478f, -0.006248f, 0.032874f, -0.010584f, -0.001829f, -0.027990f, -0.015091f, 0.020256f, -0.001741f, 0.006746f, -0.025636f, -0.029528f, -0.007648f, -0.017356f, -0.002684f, -0.000358f, -0.010209f, -0.014882f, 0.008084f, -0.013975f, 0.001353f, -0.019852f, -0.009460f, -0.002229f, -0.029463f, 0.000936f, 0.020191f, 0.001882f, 0.010944f, 0.019504f, 0.037424f, -0.037404f, 0.007247f, -0.023869f, -0.020423f, -0.013890f, -0.015401f, -0.012228f, -0.009372f, 0.034776f, 0.035439f, 0.037642f, 0.041556f, -0.033678f, 0.000814f, 0.021599f, 0.016797f, -0.020402f, -0.037313f, -0.005875f, -0.006805f, -0.029910f, -0.017737f, 0.051726f, 0.002788f, 0.001870f, 0.018615f, -0.004132f, 0.007179f, -0.009217f, -0.022576f, 0.012103f, 0.010347f, -0.030626f, -0.042140f, -0.033571f, -0.026437f, -0.025917f, 0.001022f, 0.004955f, 0.010887f, -0.017971f, 0.014364f, 0.001655f, -0.009035f, -0.018980f, -0.001770f, -0.001232f, -0.027201f, -0.022585f, 0.001820f, + -0.006968f, 0.002402f, -0.018085f, 0.011613f, 0.001590f, -0.015959f, -0.034275f, -0.013687f, -0.013253f, -0.043429f, -0.015926f, 0.002884f, 0.018268f, -0.003090f, 0.022032f, -0.005429f, -0.004936f, -0.037126f, -0.010635f, 0.013142f, 0.003667f, -0.061414f, 0.014047f, 0.004184f, -0.020287f, -0.011303f, -0.021263f, -0.020922f, -0.004833f, -0.000254f, -0.023686f, -0.007459f, 0.006844f, 0.016125f, 0.020424f, -0.022509f, 0.014579f, -0.012800f, 0.041821f, -0.036233f, -0.022307f, -0.007613f, -0.068133f, -0.035845f, -0.000307f, -0.043701f, 0.033556f, -0.015635f, -0.014121f, 0.003428f, 0.077011f, 0.036733f, 0.002353f, 0.015333f, -0.003592f, -0.021210f, -0.002047f, -0.032564f, -0.023128f, 0.010417f, 0.011236f, 0.013188f, -0.022168f, 0.027811f, 0.017528f, 0.031512f, -0.032646f, 0.004498f, 0.047898f, 0.003654f, 0.002104f, 0.008566f, -0.045647f, 0.010782f, -0.011398f, 0.006569f, -0.018251f, -0.044272f, -0.002440f, 0.016396f, 0.021524f, 0.004369f, -0.006523f, 0.001926f, -0.001738f, 0.013044f, -0.032409f, -0.048899f, 0.008762f, -0.018802f, 0.028638f, -0.012899f, -0.011548f, 0.035419f, 0.008607f, 0.014187f, + 0.003217f, -0.033205f, -0.012605f, -0.005751f, 0.017141f, 0.046740f, 0.037835f, -0.013537f, -0.043035f, -0.003377f, -0.004809f, 0.013340f, -0.026463f, -0.036226f, -0.018575f, 0.012889f, -0.032106f, -0.075206f, 0.032012f, 0.026643f, -0.009195f, -0.048985f, -0.009111f, -0.017557f, -0.018544f, 0.024691f, 0.030063f, -0.000704f, 0.009838f, -0.055931f, 0.022707f, -0.070536f, -0.016127f, -0.004123f, 0.016783f, 0.038793f, 0.060433f, 0.026345f, -0.031272f, 0.010074f, 0.042995f, 0.007682f, 0.014789f, 0.024337f, -0.031706f, -0.010852f, -0.002866f, 0.012751f, -0.021504f, -0.010536f, -0.004665f, -0.015627f, -0.011100f, 0.027197f, 0.026994f, 0.008795f, 0.004865f, 0.044417f, -0.004926f, 0.022219f, -0.044209f, 0.034113f, 0.012094f, -0.039953f, 0.007628f, 0.016701f, -0.036876f, -0.002107f, -0.035842f, 0.016392f, 0.020291f, 0.021056f, -0.022611f, 0.001260f, 0.030597f, -0.018324f, 0.004708f, 0.000414f, 0.048408f, -0.021612f, 0.037298f, 0.020908f, -0.035105f, 0.040777f, -0.023737f, 0.028610f, 0.037403f, -0.024213f, 0.025619f, -0.018524f, -0.022113f, -0.039244f, -0.026227f, -0.027973f, 0.023939f, 0.015193f, + -0.058604f, -0.026333f, -0.027494f, 0.056182f, 0.004262f, 0.022626f, -0.006072f, 0.078559f, 0.014637f, -0.048164f, 0.006360f, 0.058383f, -0.018034f, 0.014984f, -0.006581f, 0.007374f, -0.029992f, -0.041497f, 0.072453f, 0.052192f, -0.016503f, 0.040619f, 0.017604f, 0.052069f, 0.059017f, -0.014068f, -0.010735f, 0.052562f, 0.039348f, 0.006440f, -0.013310f, -0.022608f, -0.023633f, 0.025515f, 0.046752f, 0.023045f, -0.005595f, 0.031939f, -0.013195f, 0.030375f, -0.010213f, 0.043252f, 0.075293f, 0.057548f, -0.057052f, 0.029091f, -0.007838f, -0.022322f, 0.001440f, 0.022468f, 0.022152f, 0.134859f, -0.011360f, 0.000157f, -0.019677f, -0.022234f, 0.027853f, 0.049361f, -0.009988f, 0.037625f, 0.032900f, -0.003388f, 0.002617f, -0.025421f, 0.027725f, 0.022308f, 0.071946f, 0.071653f, 0.088321f, 0.035207f, -0.021872f, -0.020415f, -0.040095f, 0.034861f, -0.059386f, 0.032090f, -0.040868f, 0.027728f, 0.023143f, -0.023509f, 0.006163f, 0.013211f, -0.012060f, 0.040350f, 0.008623f, -0.099482f, 0.021730f, 0.011199f, -0.073518f, 0.002556f, -0.013075f, 0.001178f, 0.026193f, -0.005490f, -0.067764f, -0.014030f, + -0.021814f, -0.005962f, 0.047407f, 0.054925f, -0.032774f, -0.010649f, -0.027466f, 0.011522f, -0.051643f, -0.102789f, -0.035835f, -0.033082f, 0.005351f, -0.001369f, 0.045680f, -0.071589f, 0.032842f, -0.019259f, -0.007251f, 0.024572f, 0.013585f, 0.043858f, 0.011305f, 0.014387f, 0.051435f, -0.062324f, 0.073187f, 0.053234f, 0.030725f, 0.049398f, -0.020246f, 0.015587f, -0.049816f, -0.015328f, -0.024597f, 0.039194f, -0.038729f, 0.003611f, -0.084199f, -0.112088f, 0.071669f, -0.010140f, 0.046704f, -0.039527f, 0.031382f, -0.029035f, 0.007851f, -0.020849f, -0.067873f, -0.031629f, -0.044848f, -0.032858f, 0.026591f, 0.090279f, 0.038233f, -0.105260f, -0.019137f, 0.003247f, -0.028560f, 0.003880f, 0.002866f, -0.063338f, 0.028607f, 0.028583f, 0.053170f, -0.030627f, 0.017474f, -0.034741f, -0.039901f, 0.013212f, 0.071588f, 0.118022f, -0.010788f, -0.011225f, -0.000715f, -0.005902f, -0.057303f, 0.081565f, 0.037400f, 0.041841f, 0.031397f, -0.027861f, 0.026021f, -0.051147f, -0.072292f, -0.015276f, 0.047998f, 0.030069f, -0.028223f, -0.019400f, -0.007089f, 0.038125f, -0.001992f, 0.026753f, 0.025930f, 0.045650f, + 0.012516f, -0.034874f, -0.033552f, 0.024319f, -0.037385f, -0.028787f, 0.010303f, 0.050081f, 0.045522f, -0.061417f, -0.048842f, 0.025017f, 0.030301f, 0.101976f, -0.029827f, -0.062890f, -0.065508f, 0.045937f, -0.044151f, 0.042776f, 0.048419f, 0.104012f, 0.226360f, -0.058127f, -0.036614f, -0.093781f, -0.146453f, -0.051414f, -0.078306f, 0.000161f, 0.087157f, -0.022999f, 0.040327f, 0.062837f, 0.034932f, -0.038944f, -0.102290f, -0.155955f, 0.055147f, -0.027580f, 0.028177f, -0.051275f, 0.004444f, -0.047094f, -0.122481f, 0.025519f, -0.053726f, 0.044832f, 0.002821f, 0.023193f, 0.019576f, -0.112255f, -0.081035f, -0.042082f, -0.028310f, -0.029264f, -0.048709f, -0.017867f, -0.077965f, -0.050862f, 0.030685f, -0.051896f, 0.086293f, -0.071774f, 0.002252f, 0.014649f, -0.011956f, 0.003904f, -0.008719f, 0.017635f, -0.025966f, -0.026841f, -0.008869f, 0.012170f, -0.007863f, 0.034880f, -0.041887f, 0.004156f, 0.051858f, 0.014086f, 0.003326f, 0.024812f, -0.001710f, -0.027474f, -0.020191f, 0.041945f, 0.004873f, -0.077483f, -0.038025f, -0.063777f, -0.032735f, 0.074059f, 0.067449f, -0.080411f, -0.014380f, -0.090943f, + -0.026915f, -0.012198f, 0.013519f, 0.037878f, -0.077075f, 0.041432f, -0.066816f, -0.016213f, -0.047709f, 0.083882f, -0.025627f, 0.056397f, 0.052036f, 0.124278f, -0.069317f, 0.044401f, 0.000322f, 0.038715f, 0.008954f, 0.020835f, -0.076612f, -0.092757f, 0.064941f, 0.015847f, -0.099465f, -0.040079f, -0.058886f, 0.010365f, -0.008267f, -0.137169f, -0.058065f, -0.031168f, -0.069307f, -0.041272f, -0.137523f, -0.115967f, -0.014909f, 0.058285f, -0.072340f, -0.041580f, -0.004237f, -0.061975f, -0.008155f, 0.000302f, -0.058151f, -0.011891f, 0.020956f, 0.008737f, -0.079506f, -0.044185f, -0.042047f, -0.022374f, -0.023162f, -0.003809f, -0.052730f, 0.055338f, 0.040621f, 0.076730f, 0.112447f, 0.095620f, 0.031096f, 0.100658f, 0.046455f, 0.021398f, -0.034838f, 0.037744f, 0.042998f, 0.031541f, -0.003180f, -0.029384f, -0.007284f, 0.027409f, 0.050805f, 0.223017f, 0.037846f, 0.048022f, 0.040343f, 0.092295f, 0.042807f, 0.080931f, 0.151782f, -0.067981f, -0.133001f, 0.018387f, 0.097766f, 0.160965f, 0.078871f, -0.139507f, 0.026157f, -0.036299f, 0.209897f, 0.146306f, 0.188038f, 0.161746f, -0.138828f, -0.102448f, + 0.123018f, 0.132031f, -0.035273f, -0.103911f, 0.166844f, 0.135215f, -0.117007f, 0.026633f, -0.003163f, 0.019502f, -0.005184f, -0.010646f, 0.042177f, -0.042129f, 0.041001f, -0.015869f, -0.001014f, 0.018027f, 0.012191f, 0.016586f, -0.001650f, -0.022707f, -0.017363f, 0.028815f, -0.023967f, -0.000696f, 0.023826f, -0.011823f, -0.017035f, -0.018077f, -0.040115f, -0.035155f, 0.025056f, -0.010932f, 0.007500f, -0.020733f, 0.001759f, -0.047220f, -0.012310f, 0.017290f, 0.029106f, -0.016991f, 0.003502f, 0.026149f, 0.031796f, -0.004443f, 0.025466f, -0.019622f, 0.089666f, -0.030331f, 0.027955f, 0.009087f, 0.013708f, -0.012580f, 0.020054f, -0.004720f, 0.061847f, -0.005403f, 0.015473f, -0.040923f, 0.055934f, -0.026208f, -0.008116f, -0.002714f, 0.003171f, -0.011651f, 0.030993f, -0.035540f, 0.028741f, -0.031665f, 0.044803f, -0.045270f, 0.058688f, -0.034638f, -0.027774f, -0.018251f, -0.016639f, 0.012360f, -0.041343f, -0.085008f, -0.093494f, 0.078752f, 0.019599f, -0.024894f, -0.126556f, -0.051101f, 0.069887f, 0.013946f, 0.050368f, 0.056241f, -0.020833f, -0.035947f, 0.001290f, 0.013060f, 0.010027f, 0.009041f, + -0.022694f, -0.016734f, -0.012764f, -0.000259f, 0.033771f, 0.018139f, -0.002006f, 0.007388f, -0.010175f, -0.016778f, -0.010865f, -0.008892f, 0.000311f, 0.009855f, -0.008045f, 0.012808f, 0.013405f, -0.046507f, -0.020816f, -0.020647f, 0.024540f, 0.017100f, -0.001720f, -0.021646f, -0.029286f, 0.025369f, 0.005536f, 0.017041f, 0.023688f, -0.042918f, -0.028557f, 0.007939f, 0.034722f, 0.017627f, -0.048694f, -0.029919f, -0.039427f, -0.018669f, 0.010631f, 0.009327f, -0.015825f, 0.018408f, -0.006694f, -0.016609f, 0.008539f, 0.017021f, -0.011135f, 0.004668f, 0.000905f, -0.014388f, 0.000345f, -0.004286f, -0.032472f, -0.033652f, 0.000785f, -0.035543f, -0.023894f, 0.004176f, 0.019253f, 0.006571f, 0.031948f, -0.082632f, -0.223568f, -0.085593f, 0.049960f, 0.106335f, 0.252281f, 0.147720f, 0.039761f, 0.051937f, -0.044483f, -0.082948f, -0.179805f, -0.121924f, -0.093204f, -0.031446f, 0.036222f, 0.097462f, 0.076179f, 0.094545f, 0.092082f, 0.061477f, -0.021524f, -0.074287f, -0.063549f, -0.066270f, -0.052495f, -0.076649f, 0.022908f, -0.048992f, 0.003335f, 0.033591f, 0.064612f, 0.035067f, 0.060536f, 0.078395f, + 0.001525f, 0.022291f, 0.001870f, -0.002819f, -0.044474f, -0.007536f, -0.039473f, -0.079212f, -0.122084f, -0.069885f, -0.036910f, 0.008146f, 0.009865f, 0.071029f, 0.101695f, 0.095359f, 0.116421f, 0.015026f, 0.076830f, 0.028255f, -0.005714f, -0.072966f, -0.068376f, -0.096427f, -0.122640f, -0.086457f, -0.094367f, -0.062632f, 0.002650f, 0.028317f, 0.071975f, 0.110495f, 0.168113f, 0.131126f, 0.124086f, 0.064861f, -0.018311f, -0.022329f, -0.055011f, -0.130740f, -0.087548f, -0.121066f, -0.032746f, -0.016849f}, + {-0.011529f, 0.010633f, -0.010855f, 0.008283f, -0.004712f, 0.002128f, -0.015443f, 0.008527f, 0.002102f, -0.000520f, -0.002793f, 0.006484f, -0.008040f, -0.001722f, -0.003263f, 0.006761f, -0.017150f, -0.004849f, -0.009769f, -0.004507f, 0.003563f, 0.002620f, 0.008341f, -0.013277f, 0.003993f, 0.001405f, 0.000761f, -0.005464f, -0.001490f, -0.007098f, -0.000907f, -0.009698f, 0.003179f, -0.010750f, -0.000954f, -0.009158f, -0.007333f, 0.001503f, -0.008120f, -0.010336f, -0.012650f, 0.003362f, -0.001474f, -0.002550f, 0.004997f, 0.003713f, -0.004920f, 0.000104f, 0.013474f, -0.006885f, -0.004400f, -0.010331f, -0.003020f, 0.005821f, 0.003213f, 0.003298f, -0.004866f, 0.004193f, -0.005892f, 0.000671f, -0.007184f, -0.000806f, 0.000472f, -0.007504f, -0.002781f, 0.001088f, -0.001091f, -0.008434f, -0.015750f, -0.006711f, -0.005645f, -0.001976f, -0.000442f, -0.003701f, -0.004485f, -0.001071f, 0.014918f, 0.009490f, 0.000155f, 0.000351f, 0.011754f, 0.002780f, -0.005978f, 0.003841f, 0.007820f, -0.004198f, -0.006590f, -0.023726f, 0.001219f, -0.008144f, 0.015677f, -0.008043f, 0.007866f, 0.006072f, -0.000808f, 0.004838f, + 0.008711f, 0.002063f, 0.002071f, -0.004613f, -0.005106f, -0.004348f, -0.006433f, 0.005301f, 0.003468f, -0.003461f, 0.005213f, -0.003945f, -0.005081f, -0.006645f, -0.002862f, -0.005365f, 0.000569f, -0.000406f, -0.000746f, 0.010244f, -0.006036f, 0.008259f, -0.002976f, -0.002805f, 0.006125f, -0.004256f, 0.002083f, -0.004288f, 0.006729f, -0.002576f, -0.018098f, 0.004761f, 0.000936f, 0.001513f, 0.009554f, 0.003992f, 0.000999f, -0.002927f, -0.005724f, 0.014849f, -0.007945f, 0.005182f, 0.003596f, -0.007501f, 0.007038f, 0.001887f, -0.007249f, 0.004963f, -0.007467f, -0.000761f, -0.000336f, 0.005636f, 0.001644f, 0.005866f, -0.002306f, -0.017655f, -0.003314f, 0.028867f, -0.013865f, 0.001845f, -0.000604f, -0.000574f, 0.006758f, -0.004883f, -0.020295f, -0.018666f, 0.009157f, -0.005720f, -0.001511f, 0.005108f, 0.001291f, 0.005050f, 0.005567f, -0.008738f, 0.005110f, 0.003647f, -0.006152f, 0.007770f, 0.011505f, -0.007062f, -0.002183f, 0.000859f, -0.011924f, -0.005192f, 0.001459f, 0.014840f, -0.002110f, -0.000499f, -0.011874f, 0.007492f, 0.000242f, -0.010524f, -0.004403f, 0.004124f, -0.001408f, 0.002469f, + -0.009149f, 0.000146f, 0.000889f, -0.003441f, 0.010291f, 0.002945f, 0.002513f, 0.010119f, -0.000742f, 0.013038f, -0.003957f, -0.015533f, 0.006750f, 0.006766f, -0.005339f, -0.001924f, -0.001653f, 0.002558f, 0.001041f, 0.005078f, -0.003322f, 0.003621f, -0.008362f, 0.000339f, 0.006135f, -0.007546f, -0.000545f, 0.005809f, 0.002045f, -0.003359f, 0.003422f, -0.002157f, 0.001543f, 0.009529f, 0.003726f, -0.009693f, 0.014725f, 0.006929f, -0.006647f, -0.016420f, -0.001734f, 0.002069f, 0.018676f, -0.006742f, 0.016040f, 0.004241f, -0.000290f, 0.001268f, 0.014371f, -0.002989f, -0.003621f, -0.003786f, 0.010196f, 0.020530f, 0.005536f, -0.013626f, -0.018684f, -0.026592f, 0.003764f, -0.006697f, -0.011081f, -0.005867f, -0.017312f, 0.000271f, -0.007909f, 0.001689f, 0.008661f, 0.009253f, -0.009769f, -0.008570f, -0.006128f, 0.001530f, -0.014651f, -0.001206f, 0.004871f, -0.006307f, -0.002211f, 0.002018f, 0.006251f, -0.007893f, 0.002437f, 0.020173f, -0.000558f, -0.000440f, -0.006990f, 0.008737f, -0.003380f, 0.001293f, 0.006536f, 0.008750f, 0.012399f, -0.001299f, 0.002091f, -0.002974f, 0.000156f, -0.001353f, + 0.001939f, 0.019676f, -0.020647f, 0.001294f, 0.004474f, 0.012065f, -0.004220f, -0.004587f, -0.000759f, -0.004180f, 0.015651f, -0.007136f, -0.019162f, -0.000035f, -0.005115f, -0.006758f, 0.005989f, -0.017761f, -0.030608f, 0.011630f, -0.009478f, 0.013037f, -0.011447f, -0.000902f, 0.009059f, -0.017634f, -0.002920f, 0.005577f, -0.004708f, 0.026070f, -0.010741f, -0.003125f, -0.010242f, -0.008512f, 0.013444f, 0.014972f, 0.005861f, -0.017277f, -0.020926f, 0.019640f, 0.003394f, -0.019559f, 0.007500f, 0.000902f, 0.009466f, -0.005673f, 0.009039f, -0.011623f, 0.005887f, 0.019247f, 0.008007f, 0.008357f, 0.004461f, 0.000533f, -0.004717f, 0.004186f, 0.001625f, -0.012795f, 0.000359f, -0.003907f, -0.009410f, -0.009310f, -0.003472f, 0.007766f, -0.013558f, 0.002116f, -0.009759f, -0.000762f, -0.001346f, 0.004794f, 0.008313f, 0.017505f, 0.006273f, 0.000201f, 0.007608f, -0.008883f, -0.013319f, 0.000106f, 0.003405f, 0.001788f, 0.016644f, -0.003303f, -0.001680f, -0.004760f, -0.001941f, 0.002873f, 0.008395f, -0.001506f, 0.003878f, -0.007303f, 0.013961f, -0.002360f, -0.003636f, -0.001237f, -0.016070f, -0.004282f, + -0.010679f, -0.001711f, 0.019710f, 0.012359f, 0.008408f, -0.002240f, -0.018684f, 0.001821f, -0.012543f, -0.019731f, -0.007048f, 0.013023f, -0.011489f, -0.017572f, 0.003673f, 0.000765f, -0.009159f, 0.001120f, 0.008857f, 0.001961f, -0.023273f, -0.007067f, 0.013374f, 0.015974f, 0.007528f, -0.019346f, -0.007561f, 0.007808f, -0.003984f, -0.004713f, 0.000391f, 0.005545f, 0.000173f, 0.001603f, 0.018296f, -0.000674f, 0.010716f, 0.008259f, -0.001030f, -0.009344f, -0.001115f, -0.005818f, 0.010488f, -0.007268f, -0.011839f, -0.000726f, 0.016930f, 0.000242f, 0.016782f, 0.008812f, 0.000683f, 0.010702f, -0.003021f, 0.023890f, 0.000867f, 0.011388f, 0.012745f, 0.000433f, -0.012745f, -0.002651f, -0.015073f, 0.006111f, -0.011249f, -0.006497f, -0.010572f, -0.007016f, -0.005953f, 0.003439f, -0.000194f, 0.005628f, -0.002181f, -0.009191f, -0.008989f, 0.000932f, 0.009952f, 0.018615f, -0.027876f, -0.005135f, 0.023274f, -0.011568f, 0.004204f, -0.017974f, 0.007853f, 0.032845f, -0.004528f, 0.001783f, -0.001492f, -0.023117f, 0.001752f, -0.001399f, 0.034678f, -0.010894f, -0.001855f, 0.015325f, -0.009762f, 0.021699f, + -0.014732f, -0.002037f, -0.022197f, 0.025023f, 0.000124f, -0.009618f, 0.000079f, 0.009298f, -0.011819f, 0.017494f, -0.002113f, 0.015546f, -0.000405f, 0.008270f, -0.024357f, -0.015210f, -0.011554f, -0.003319f, 0.014133f, -0.021480f, 0.011264f, 0.009332f, 0.002631f, -0.008662f, -0.013572f, 0.030346f, 0.005490f, -0.002979f, 0.011130f, -0.010132f, 0.005777f, -0.013601f, -0.014397f, -0.005233f, -0.009886f, 0.032939f, 0.009032f, -0.005788f, -0.010289f, -0.011635f, 0.009455f, 0.009190f, 0.002295f, -0.010498f, -0.002205f, -0.003601f, 0.012960f, 0.002428f, 0.010271f, -0.024713f, 0.013268f, -0.000511f, -0.000219f, -0.000456f, 0.003895f, -0.007179f, -0.000580f, -0.003073f, 0.010918f, 0.004943f, 0.008840f, 0.002015f, -0.000776f, -0.004559f, -0.015811f, -0.005501f, -0.010523f, 0.005008f, -0.001473f, 0.021562f, -0.019768f, -0.025140f, -0.007077f, 0.006683f, -0.008529f, -0.006754f, 0.018118f, 0.002945f, -0.011529f, -0.013042f, -0.013596f, 0.019981f, -0.011536f, 0.013212f, -0.007835f, 0.014537f, -0.016446f, 0.002486f, 0.022638f, 0.007204f, -0.033374f, 0.006521f, -0.000374f, -0.005056f, -0.003995f, 0.002390f, + -0.005000f, 0.002204f, -0.006434f, 0.001649f, -0.002498f, -0.015377f, 0.013244f, 0.013877f, -0.005661f, 0.015468f, -0.015285f, -0.003396f, -0.005341f, -0.007652f, 0.016742f, -0.014002f, -0.024446f, -0.013923f, 0.002907f, -0.019819f, -0.019014f, -0.009782f, -0.007474f, -0.013081f, -0.002640f, 0.014387f, 0.014517f, 0.001439f, 0.015656f, 0.004433f, 0.000308f, 0.012262f, -0.016516f, -0.003415f, -0.002772f, 0.036300f, -0.017491f, -0.016802f, 0.011866f, 0.029584f, 0.005949f, 0.026688f, 0.015287f, 0.024281f, 0.010837f, -0.004116f, -0.010648f, 0.008944f, -0.017684f, -0.013225f, 0.020162f, 0.017100f, 0.041910f, -0.000670f, 0.005966f, -0.015042f, 0.016264f, 0.007732f, -0.018475f, -0.003970f, 0.023747f, 0.000373f, -0.025950f, -0.010058f, -0.014624f, -0.004515f, 0.014582f, 0.013828f, -0.009842f, -0.004294f, 0.018136f, -0.017051f, 0.008059f, 0.015788f, 0.018220f, -0.009209f, 0.015656f, -0.006093f, -0.023797f, 0.008937f, 0.021674f, -0.005252f, 0.006160f, 0.005904f, -0.007538f, 0.003261f, 0.006338f, -0.006154f, 0.002209f, 0.018264f, -0.010640f, -0.004843f, 0.015981f, -0.002832f, -0.003625f, -0.026311f, + -0.009935f, -0.015600f, -0.027215f, -0.017320f, 0.012952f, -0.008036f, -0.012007f, 0.023978f, 0.022568f, -0.005044f, 0.024231f, 0.010873f, 0.015566f, -0.003686f, -0.013836f, 0.011134f, -0.018228f, -0.019486f, 0.026273f, -0.004421f, 0.060089f, -0.024804f, -0.011739f, -0.001400f, 0.014580f, -0.008399f, -0.008310f, -0.024790f, -0.028810f, 0.012955f, 0.002343f, 0.039599f, 0.012663f, -0.004031f, -0.004703f, 0.026313f, 0.026646f, -0.022170f, 0.015891f, -0.021176f, 0.005325f, -0.009113f, -0.011196f, -0.006492f, 0.004211f, -0.003439f, 0.013618f, 0.006993f, 0.015246f, -0.001949f, -0.007840f, -0.014666f, -0.003265f, 0.017030f, 0.001060f, -0.022700f, -0.003361f, 0.005457f, -0.010234f, 0.017874f, 0.014561f, 0.003054f, 0.004615f, -0.049614f, -0.019679f, 0.017126f, -0.001953f, 0.027566f, 0.006879f, 0.031049f, -0.004479f, -0.017252f, 0.015651f, -0.009856f, 0.010216f, 0.001564f, 0.044280f, 0.037146f, 0.002952f, 0.009976f, -0.007929f, 0.014145f, 0.013932f, 0.016151f, 0.016270f, 0.028942f, -0.003362f, 0.003791f, -0.015119f, -0.012180f, 0.004724f, -0.016761f, -0.042545f, -0.052222f, 0.041230f, -0.001187f, + 0.004716f, -0.014477f, 0.023148f, -0.049602f, -0.031731f, -0.010041f, -0.012662f, -0.001222f, -0.044370f, 0.008682f, 0.001022f, -0.001215f, -0.020172f, -0.020682f, 0.008565f, 0.028320f, 0.004571f, -0.037817f, -0.007986f, -0.030956f, 0.024697f, 0.015802f, 0.001501f, -0.013677f, -0.006177f, -0.006950f, 0.020500f, -0.002805f, -0.000021f, -0.004272f, -0.026964f, 0.014357f, 0.019683f, -0.011331f, -0.005601f, 0.015128f, -0.029231f, -0.021499f, -0.032248f, -0.010868f, 0.008993f, -0.020649f, -0.009230f, -0.000494f, -0.033195f, 0.010883f, 0.021979f, 0.037759f, 0.006419f, -0.003040f, 0.003459f, -0.023701f, -0.017890f, 0.029385f, -0.000590f, -0.009766f, -0.005125f, -0.042352f, -0.021604f, 0.010026f, -0.007196f, -0.003303f, -0.001115f, 0.030688f, -0.002333f, -0.024473f, 0.005213f, 0.024432f, 0.003059f, -0.009049f, 0.004158f, 0.007154f, -0.005428f, -0.011533f, 0.006694f, 0.029249f, 0.027035f, 0.010795f, 0.044692f, -0.017672f, -0.007275f, 0.008519f, -0.009541f, -0.001788f, 0.015807f, 0.047609f, -0.005649f, 0.010867f, 0.001533f, -0.001343f, 0.001093f, 0.052312f, -0.022742f, 0.027850f, 0.001655f, -0.031868f, + 0.013016f, -0.031608f, -0.018200f, 0.020563f, -0.015368f, 0.014973f, 0.002827f, 0.003283f, 0.024925f, 0.019702f, -0.025189f, -0.029587f, -0.021076f, -0.006354f, 0.011190f, 0.010437f, 0.005722f, 0.007631f, -0.034864f, 0.007210f, -0.017521f, -0.045467f, 0.034576f, -0.007716f, 0.032747f, 0.033715f, 0.004604f, 0.013601f, -0.014332f, -0.019298f, -0.034057f, 0.010163f, 0.036971f, 0.007698f, -0.011713f, 0.003782f, -0.004181f, 0.007046f, -0.016458f, -0.014370f, -0.016252f, 0.005481f, 0.001435f, -0.004319f, 0.025943f, 0.021997f, 0.016207f, 0.034384f, 0.008315f, -0.030676f, 0.048473f, -0.028470f, -0.003832f, -0.004414f, -0.000555f, 0.041236f, 0.046381f, 0.012208f, -0.081948f, 0.004822f, 0.025549f, -0.025870f, 0.018739f, 0.035314f, 0.003557f, 0.010894f, 0.023092f, 0.018055f, 0.008262f, 0.031901f, 0.008805f, -0.002406f, 0.058586f, 0.022829f, 0.009418f, 0.026233f, -0.016658f, 0.031777f, -0.018962f, -0.000075f, -0.000279f, -0.005181f, -0.028915f, 0.012158f, -0.019813f, 0.042074f, -0.001419f, -0.006182f, 0.061474f, 0.009662f, 0.010900f, 0.021469f, 0.004496f, 0.013112f, -0.011008f, -0.024089f, + -0.000618f, 0.019178f, -0.028237f, 0.037248f, 0.034434f, 0.025404f, 0.008622f, 0.015839f, -0.018682f, -0.020201f, -0.032340f, -0.013622f, -0.016259f, -0.016139f, 0.010878f, -0.001598f, -0.031479f, -0.013341f, 0.032703f, 0.001287f, -0.025389f, 0.017757f, 0.001270f, -0.017387f, -0.042789f, 0.004937f, -0.066255f, 0.041934f, -0.020454f, 0.038100f, 0.005046f, 0.011246f, 0.004635f, -0.013755f, 0.021918f, 0.056844f, 0.022108f, 0.016227f, 0.044629f, -0.063715f, 0.023689f, -0.037668f, 0.030240f, -0.016469f, -0.027516f, -0.008391f, -0.031548f, -0.013561f, -0.007988f, 0.010225f, 0.012754f, -0.009568f, 0.042612f, -0.002723f, -0.008849f, -0.006504f, -0.041064f, -0.004964f, -0.001176f, -0.033958f, 0.009364f, -0.028982f, -0.037337f, -0.012044f, 0.020250f, -0.059892f, -0.041837f, -0.027304f, 0.001631f, -0.041972f, -0.036905f, -0.028882f, -0.015890f, -0.011735f, -0.006950f, -0.028222f, 0.028682f, 0.005241f, -0.004419f, -0.020896f, -0.023137f, 0.041036f, -0.036969f, -0.023916f, 0.009238f, 0.011337f, 0.013189f, -0.020029f, -0.030123f, -0.011390f, -0.006755f, 0.014215f, -0.021995f, -0.007239f, -0.009796f, -0.023384f, + -0.043250f, -0.051590f, 0.048877f, -0.053280f, -0.004246f, 0.005796f, -0.010687f, -0.007948f, -0.050101f, 0.021581f, -0.012630f, -0.048540f, -0.001859f, -0.007844f, 0.048023f, 0.016094f, 0.034516f, -0.056606f, 0.063858f, 0.009546f, 0.005691f, -0.011854f, 0.031940f, -0.000200f, 0.053108f, -0.015300f, 0.036084f, 0.019459f, -0.054344f, 0.022615f, 0.007633f, 0.024852f, -0.005532f, -0.014614f, -0.022468f, -0.008199f, 0.024722f, 0.056933f, 0.004678f, -0.008697f, -0.037703f, 0.013386f, -0.040737f, -0.006475f, 0.037952f, -0.035996f, -0.001641f, 0.002286f, -0.007959f, -0.013702f, -0.017086f, 0.063298f, -0.015693f, -0.015777f, -0.009778f, 0.014226f, 0.019108f, 0.007813f, -0.001253f, -0.013111f, -0.002617f, 0.009324f, 0.036013f, -0.009048f, 0.052483f, 0.032042f, 0.013589f, -0.013514f, 0.045083f, 0.054379f, -0.007698f, -0.014825f, -0.006257f, -0.018185f, 0.001834f, -0.018106f, 0.023729f, 0.008767f, 0.035615f, 0.029910f, -0.053065f, -0.055814f, 0.060988f, 0.047579f, 0.002605f, -0.010958f, -0.031701f, -0.038308f, -0.020296f, 0.034008f, -0.041691f, -0.042038f, -0.013030f, -0.017036f, -0.059373f, 0.026878f, + -0.025185f, -0.009334f, -0.006671f, 0.003918f, -0.000835f, -0.036979f, -0.103854f, 0.049430f, -0.050842f, 0.018281f, 0.071141f, 0.009397f, -0.032274f, 0.019300f, 0.023664f, -0.012335f, -0.024840f, -0.006529f, -0.052046f, 0.014879f, -0.054031f, -0.033485f, 0.019245f, 0.000437f, 0.007299f, -0.048974f, -0.011380f, -0.035831f, -0.030728f, -0.043805f, -0.016468f, 0.012697f, -0.026856f, -0.027154f, 0.022922f, 0.001709f, -0.003896f, 0.006164f, -0.050244f, -0.004670f, -0.039504f, 0.030556f, 0.007012f, -0.093807f, 0.021302f, 0.047735f, -0.012489f, 0.027834f, 0.022819f, 0.015134f, 0.011405f, 0.045599f, 0.034920f, -0.000161f, -0.035861f, -0.008610f, 0.035202f, 0.022843f, -0.033527f, 0.000921f, -0.038874f, -0.013010f, 0.000029f, 0.025397f, 0.032928f, -0.066134f, -0.054259f, -0.029610f, 0.002581f, -0.019897f, -0.010300f, 0.060394f, 0.006603f, 0.014288f, 0.043862f, -0.020516f, 0.010527f, 0.035929f, 0.034766f, -0.054901f, 0.013965f, -0.010125f, -0.012995f, -0.011061f, 0.040232f, 0.022545f, -0.025957f, -0.013661f, 0.031115f, -0.050156f, 0.004872f, 0.021420f, 0.031119f, -0.003855f, 0.008321f, -0.058801f, + 0.001594f, -0.024663f, 0.022277f, 0.010024f, 0.035755f, -0.051296f, -0.025399f, -0.005247f, 0.008381f, -0.002003f, 0.012235f, 0.006530f, 0.031070f, 0.058079f, -0.033358f, -0.042488f, 0.013597f, -0.044340f, -0.012255f, 0.022650f, -0.032654f, -0.030363f, 0.004410f, 0.023545f, 0.030428f, 0.023529f, -0.011267f, 0.000259f, -0.058470f, -0.037269f, 0.054918f, -0.033699f, 0.073571f, -0.027125f, 0.016237f, 0.014034f, 0.001013f, -0.049309f, 0.067866f, -0.027165f, -0.004698f, -0.008086f, 0.027469f, 0.053900f, -0.048904f, -0.024586f, 0.060885f, -0.039552f, 0.001526f, -0.012014f, 0.013738f, 0.073445f, 0.002019f, 0.000170f, -0.040815f, 0.058280f, -0.015435f, 0.019863f, 0.014726f, 0.003671f, 0.033559f, -0.036683f, 0.011264f, 0.031605f, 0.031508f, 0.070056f, -0.043216f, 0.064350f, -0.010247f, -0.041308f, -0.039848f, 0.010941f, 0.027767f, -0.018097f, -0.007366f, -0.028440f, -0.010614f, 0.054347f, -0.036858f, -0.003316f, 0.044830f, -0.013883f, 0.027372f, -0.017242f, -0.006783f, 0.046156f, -0.000058f, 0.002349f, 0.046133f, 0.030766f, 0.012623f, -0.005609f, 0.039391f, 0.051085f, -0.050346f, 0.047926f, + -0.044149f, 0.024083f, -0.031201f, 0.006550f, 0.041977f, 0.013089f, -0.087862f, 0.039473f, 0.028136f, -0.000974f, 0.048423f, -0.072404f, -0.010981f, 0.047834f, 0.044519f, 0.005945f, 0.068449f, -0.035772f, 0.004312f, -0.009574f, -0.006202f, 0.026568f, 0.015785f, 0.047285f, 0.045358f, -0.032223f, 0.032208f, -0.058546f, -0.011661f, 0.002429f, 0.003878f, -0.006727f, -0.001281f, -0.091234f, -0.039347f, -0.071286f, -0.034401f, 0.047992f, -0.015107f, -0.008366f, 0.030844f, -0.022335f, 0.021358f, 0.054941f, -0.030483f, 0.021120f, 0.027088f, -0.039815f, 0.005001f, -0.048949f, 0.018470f, -0.005389f, -0.026101f, 0.038458f, 0.001036f, 0.060076f, -0.003807f, -0.045371f, 0.076199f, -0.013987f, 0.007485f, 0.010237f, -0.071774f, 0.021237f, 0.061493f, 0.021627f, -0.026990f, -0.047299f, 0.004675f, 0.011004f, 0.052492f, 0.033529f, -0.017454f, -0.010777f, -0.041378f, -0.000175f, 0.059321f, -0.081707f, 0.024231f, 0.056015f, -0.051431f, 0.017982f, 0.004813f, 0.018854f, 0.059130f, 0.019059f, 0.022416f, -0.011998f, -0.059295f, 0.059645f, -0.012050f, -0.032137f, 0.126336f, 0.061384f, 0.031455f, 0.004250f, + 0.001750f, -0.061303f, -0.050381f, -0.023823f, 0.035935f, -0.002957f, -0.036412f, -0.026352f, 0.045259f, -0.030792f, 0.030283f, 0.016327f, -0.025871f, 0.032488f, 0.012887f, -0.052668f, -0.028744f, -0.031668f, 0.004005f, 0.030241f, -0.068342f, 0.021757f, 0.078169f, 0.130217f, -0.021490f, -0.004047f, -0.106426f, -0.035441f, -0.078247f, -0.051872f, 0.072708f, 0.005560f, 0.019790f, -0.059875f, 0.019582f, -0.052473f, -0.119245f, 0.017934f, 0.057252f, -0.004125f, 0.007348f, 0.062330f, -0.081852f, 0.094037f, 0.046394f, 0.029901f, -0.046408f, 0.063577f, 0.120805f, -0.023162f, 0.037188f, 0.092843f, 0.077342f, 0.137941f, 0.029480f, 0.050264f, 0.036956f, 0.034528f, 0.117268f, -0.029310f, -0.014319f, 0.044727f, 0.025375f, -0.011287f, 0.064272f, 0.005504f, 0.013199f, -0.036642f, -0.105468f, 0.005946f, 0.069600f, 0.012691f, 0.041947f, -0.073608f, 0.004192f, -0.098409f, -0.000359f, -0.105719f, 0.006876f, 0.078836f, -0.010260f, -0.029141f, -0.103961f, 0.138790f, 0.023847f, 0.013020f, 0.139285f, 0.002801f, -0.032973f, -0.018460f, 0.006094f, 0.034173f, -0.009212f, 0.008025f, -0.013223f, -0.064337f, + 0.040328f, 0.031243f, -0.036721f, -0.131593f, 0.010934f, 0.188136f, 0.031102f, -0.033049f, -0.031134f, -0.079249f, -0.050336f, 0.006974f, 0.119091f, 0.024709f, -0.072248f, -0.000988f, 0.035628f, 0.012081f, 0.006673f, -0.002971f, 0.024336f, -0.050138f, -0.016153f, 0.032622f, 0.067958f, 0.068800f, -0.056119f, -0.018543f, 0.009030f, 0.013314f, 0.020576f, -0.064803f, 0.011149f, 0.016198f, -0.013882f, 0.054943f, 0.003939f, 0.062691f, 0.091463f, 0.046603f, 0.022526f, 0.042898f, -0.044832f, 0.049931f, -0.035306f, 0.072230f, 0.123165f, 0.044211f, -0.059412f, -0.050023f, 0.058423f, 0.024918f, 0.105790f, 0.081345f, 0.028002f, -0.013502f, -0.017825f, 0.008658f, 0.010162f, -0.029529f, 0.044251f, 0.040145f, 0.011568f, 0.097175f, 0.067605f, -0.002401f, 0.049724f, 0.055811f, 0.028376f, 0.055980f, 0.007356f, -0.080328f, -0.005537f, -0.014176f, -0.014991f, 0.105830f, 0.050209f, 0.023778f, -0.005694f, -0.031729f, -0.134158f, -0.032542f, 0.067135f, 0.034490f, 0.152725f, 0.004204f, -0.028148f, -0.075087f, -0.143928f, -0.156427f, -0.030850f, 0.061440f, 0.068087f, 0.043178f, -0.082651f, -0.105562f, + -0.006649f, -0.016356f, 0.034456f, 0.102131f, 0.047703f, -0.013704f, -0.069956f, -0.089884f, -0.060779f, -0.000069f, -0.059864f, 0.017158f, -0.051406f, -0.025392f, 0.063430f, 0.055050f, 0.044549f, 0.017010f, -0.080271f, -0.023480f, -0.077378f, -0.056576f, -0.036152f, 0.037876f, -0.016256f, 0.040478f, 0.098303f, 0.108797f, -0.055843f, 0.009925f, -0.092126f, -0.059330f, -0.049428f, -0.010022f, 0.004918f, 0.061990f, 0.058156f, 0.092518f, 0.056207f, 0.021499f, -0.059437f, -0.046379f, -0.023395f, 0.027689f, -0.091705f, 0.002577f, 0.076190f, 0.069285f, -0.035122f, 0.094710f, 0.070208f, 0.045265f, 0.072193f, -0.179324f, 0.019090f, -0.056880f, -0.079685f, 0.017546f, -0.057269f, -0.029357f, 0.070015f, 0.029797f, -0.197300f, -0.227465f, -0.246226f, -0.249471f, -0.346999f, 0.003548f, -0.107400f, -0.017663f, 0.075828f, 0.150130f, 0.201344f, 0.205733f, 0.395214f, 0.420571f, 0.348294f, 0.264320f, 0.279949f, 0.266480f, 0.119374f, -0.011780f, -0.140299f, -0.142694f, -0.229812f, -0.059522f, -0.112856f, -0.080122f, 0.015845f, -0.194277f, -0.037135f, -0.171571f, -0.027738f, -0.200990f, -0.185294f, -0.075786f, + -0.149039f, 0.002805f, -0.063655f, -0.061157f, -0.106234f, -0.066875f, -0.172929f, -0.120388f, -0.051366f, -0.050476f, -0.082182f, -0.047755f, 0.012843f, -0.069532f, 0.047595f, 0.137868f, -0.079485f, 0.158848f, 0.105345f, 0.206161f, 0.213325f, 0.179097f, 0.226289f, 0.183015f, 0.307933f, 0.294554f, 0.242385f, 0.309235f, 0.272671f, 0.400494f, 0.403401f, 0.458092f, 0.361545f, 0.367873f, 0.414794f, 0.343670f, 0.432523f, 0.269798f, 0.441880f, 0.273503f, 0.009097f, -0.122623f, -0.216074f, -0.174379f} + }, + { + {-0.006438f, -0.004315f, -0.005702f, -0.006947f, -0.006513f, 0.006489f, -0.015155f, 0.001720f, -0.002707f, -0.005306f, 0.013576f, -0.004390f, -0.004031f, 0.008676f, 0.001340f, -0.006469f, 0.002079f, -0.002638f, 0.002283f, 0.001768f, -0.001096f, 0.007134f, -0.002417f, -0.007501f, -0.000643f, 0.002223f, 0.003674f, 0.004660f, 0.000117f, 0.002859f, -0.001918f, 0.010614f, 0.007185f, -0.007961f, -0.004507f, -0.003812f, 0.003084f, -0.005590f, -0.006529f, 0.007636f, -0.003302f, -0.000129f, -0.000709f, 0.002070f, 0.006926f, 0.006304f, -0.002933f, -0.001857f, 0.004927f, 0.002290f, 0.001503f, 0.000528f, 0.004114f, -0.005940f, -0.003941f, 0.000374f, 0.003541f, -0.004281f, 0.002956f, -0.007551f, -0.000495f, 0.005203f, 0.003778f, -0.002589f, 0.004454f, 0.000518f, 0.006269f, 0.002267f, -0.002906f, 0.008517f, 0.011459f, 0.004190f, -0.001935f, -0.000890f, -0.005512f, 0.009554f, -0.000621f, 0.003792f, 0.001326f, -0.008771f, -0.006662f, 0.002014f, -0.006027f, -0.008815f, 0.004670f, -0.001233f, 0.001044f, -0.005148f, 0.003388f, 0.000139f, -0.007859f, -0.000556f, 0.008549f, 0.006936f, -0.005716f, -0.009846f, + -0.009033f, 0.001088f, -0.002276f, -0.001925f, -0.007730f, 0.007932f, -0.002422f, 0.002092f, -0.003671f, -0.002269f, -0.001011f, 0.002888f, -0.002482f, -0.004479f, -0.016681f, 0.005385f, -0.001525f, 0.005109f, 0.002863f, 0.002037f, -0.000715f, 0.010749f, 0.001760f, 0.001997f, 0.001224f, -0.005785f, -0.003889f, -0.000706f, 0.000486f, -0.005789f, -0.001652f, 0.001995f, -0.001106f, -0.005481f, -0.003134f, 0.000007f, 0.004818f, -0.008296f, -0.011369f, -0.013819f, 0.004433f, 0.007607f, 0.000377f, 0.006247f, 0.004297f, 0.000682f, -0.012967f, -0.000578f, -0.003797f, -0.004682f, -0.000391f, 0.000307f, 0.004410f, -0.001710f, 0.005748f, 0.007560f, -0.001938f, -0.000274f, -0.011205f, 0.009681f, -0.012808f, 0.004710f, 0.021170f, -0.004753f, -0.008080f, 0.001019f, 0.010982f, 0.000987f, -0.003302f, -0.001742f, -0.003322f, -0.002223f, -0.010149f, -0.004112f, 0.004812f, -0.008171f, -0.004673f, 0.000232f, -0.000561f, 0.008567f, -0.005483f, 0.001413f, -0.002189f, 0.001687f, -0.001225f, -0.005374f, 0.009632f, 0.016314f, 0.004096f, -0.001192f, -0.003199f, 0.017665f, 0.000745f, -0.007753f, 0.000416f, -0.013628f, + -0.000031f, 0.006706f, -0.010332f, -0.001577f, 0.002131f, -0.008471f, -0.002530f, 0.009154f, 0.001284f, -0.001300f, 0.009053f, -0.006349f, -0.009625f, 0.005128f, 0.003553f, -0.006982f, -0.003351f, -0.007455f, -0.008423f, -0.009320f, -0.005019f, -0.005446f, 0.007305f, 0.004938f, 0.001426f, -0.000451f, -0.005079f, 0.004508f, -0.001091f, -0.003587f, 0.006224f, 0.006890f, 0.010852f, -0.015919f, -0.010517f, -0.003826f, -0.002342f, 0.000488f, 0.002013f, -0.015191f, 0.010488f, -0.004837f, 0.003414f, 0.002109f, 0.003481f, 0.006552f, -0.000061f, -0.002256f, -0.005048f, 0.010831f, -0.000867f, 0.007014f, 0.013458f, -0.002994f, 0.011448f, 0.009685f, -0.008453f, 0.005577f, 0.005738f, 0.006058f, -0.014912f, -0.001570f, 0.000918f, -0.004783f, -0.009360f, 0.000053f, 0.010998f, -0.002669f, -0.004648f, -0.003786f, 0.003405f, 0.010058f, 0.005080f, -0.005299f, -0.000016f, -0.004393f, 0.000512f, -0.001479f, -0.004974f, 0.009368f, -0.012163f, -0.010262f, -0.009194f, 0.002744f, -0.001180f, -0.000477f, -0.011298f, -0.012234f, 0.003105f, -0.000417f, 0.000866f, -0.001366f, -0.000437f, -0.009210f, -0.005105f, -0.010072f, + 0.002201f, 0.008217f, -0.002324f, 0.007230f, 0.001771f, 0.006351f, -0.013958f, -0.000323f, 0.002647f, -0.005296f, -0.001374f, 0.001264f, -0.005060f, 0.001718f, -0.000707f, 0.009719f, 0.015259f, 0.001308f, -0.005261f, -0.012285f, 0.006183f, 0.004109f, 0.003909f, 0.016098f, -0.009893f, 0.000704f, 0.002325f, -0.002522f, -0.004742f, 0.002656f, 0.001405f, 0.009812f, 0.021363f, -0.001535f, 0.004042f, 0.009059f, -0.003380f, 0.008104f, 0.014035f, -0.009222f, 0.000067f, -0.003271f, 0.000225f, 0.006331f, -0.010184f, 0.011704f, 0.002978f, 0.000366f, 0.006463f, -0.000776f, 0.008786f, -0.004332f, -0.001508f, -0.002169f, 0.013557f, 0.006292f, 0.008783f, -0.001438f, 0.007306f, -0.012627f, 0.015148f, -0.005604f, 0.006197f, -0.013348f, 0.005809f, 0.009797f, 0.018349f, 0.006617f, 0.003725f, -0.011838f, -0.004175f, 0.003213f, -0.008617f, -0.010742f, -0.002217f, 0.021085f, 0.024860f, 0.004516f, 0.006015f, -0.007276f, -0.002947f, 0.013416f, 0.002761f, 0.005609f, -0.000890f, 0.003690f, 0.003390f, 0.011004f, 0.000940f, 0.001914f, 0.015214f, -0.011645f, -0.013739f, 0.023076f, -0.005121f, -0.003018f, + 0.015421f, 0.009369f, 0.001828f, -0.025234f, 0.028625f, -0.004556f, -0.002739f, -0.002389f, -0.000714f, 0.001635f, 0.002549f, 0.009231f, 0.013849f, 0.009073f, -0.000989f, 0.015085f, 0.010155f, 0.005180f, 0.004856f, -0.004879f, 0.007618f, -0.010004f, 0.009364f, -0.001125f, 0.004529f, -0.008405f, -0.011840f, 0.002123f, -0.000537f, 0.005198f, 0.008914f, -0.003367f, -0.011171f, -0.006739f, 0.004261f, -0.014348f, 0.010849f, 0.003451f, -0.022307f, 0.011158f, 0.003012f, 0.006598f, 0.002972f, 0.004180f, 0.005520f, -0.000441f, -0.005081f, -0.005239f, -0.014461f, -0.011272f, -0.004824f, -0.007621f, 0.000047f, 0.001626f, -0.009823f, -0.015979f, -0.000371f, 0.011676f, 0.021003f, -0.000033f, -0.009995f, 0.003146f, -0.016905f, 0.002638f, 0.001634f, -0.006090f, 0.019824f, -0.025010f, 0.013395f, -0.004528f, -0.008691f, -0.006842f, -0.008297f, -0.011738f, 0.023527f, -0.029252f, 0.007301f, 0.007435f, 0.010005f, 0.014732f, 0.002714f, 0.004302f, 0.005786f, 0.004201f, 0.003363f, 0.005180f, 0.013068f, 0.002581f, -0.006628f, 0.000274f, -0.000853f, -0.008811f, -0.007847f, 0.004499f, 0.008903f, 0.009451f, + 0.001641f, 0.006822f, -0.014987f, -0.001498f, 0.000198f, -0.000553f, -0.014161f, -0.008439f, -0.004814f, 0.009839f, 0.009008f, 0.000158f, -0.015503f, 0.000404f, -0.008171f, -0.005866f, -0.002647f, -0.003962f, 0.010538f, 0.013991f, 0.004671f, 0.014555f, -0.022165f, -0.015492f, 0.008129f, 0.005035f, 0.001373f, 0.003426f, 0.002119f, -0.006912f, -0.013616f, -0.009384f, 0.008291f, -0.005864f, 0.012356f, 0.011995f, -0.003309f, 0.011468f, -0.016250f, -0.007746f, -0.003757f, -0.004915f, 0.002546f, 0.032395f, -0.002854f, 0.010277f, -0.002570f, 0.026230f, -0.004642f, 0.001034f, 0.011252f, -0.024334f, 0.017299f, 0.008908f, -0.013536f, 0.015733f, 0.017625f, 0.006096f, -0.026242f, 0.016753f, 0.001099f, -0.002220f, 0.013867f, 0.014842f, -0.000425f, -0.004018f, 0.000836f, -0.010056f, 0.010089f, -0.005379f, -0.009412f, -0.020444f, 0.005280f, -0.022249f, 0.006499f, -0.005263f, -0.002049f, 0.006739f, -0.017857f, -0.007293f, 0.015746f, -0.001095f, -0.006605f, 0.009564f, 0.001151f, -0.007778f, 0.007457f, 0.002724f, 0.001250f, -0.003218f, 0.005861f, -0.010957f, -0.000552f, -0.016102f, 0.016074f, 0.015619f, + -0.018524f, 0.013022f, -0.012986f, -0.004989f, 0.014010f, 0.018716f, -0.000549f, -0.009069f, 0.006452f, -0.001006f, 0.003580f, -0.022511f, -0.016943f, 0.003721f, 0.004274f, -0.004767f, -0.003501f, 0.006002f, 0.000580f, -0.007919f, 0.011012f, -0.009154f, 0.004874f, 0.007032f, 0.000305f, 0.010982f, -0.008624f, 0.007352f, 0.003314f, -0.009253f, 0.018379f, -0.006054f, 0.009050f, -0.018196f, -0.001092f, -0.004688f, -0.016452f, 0.000733f, 0.011997f, 0.021074f, 0.027610f, -0.015453f, -0.000198f, -0.019301f, -0.001207f, -0.012249f, 0.011308f, -0.011466f, -0.022658f, 0.001604f, -0.014418f, -0.001262f, 0.019288f, -0.011159f, -0.010950f, 0.020501f, 0.000933f, 0.003604f, -0.001820f, -0.011901f, 0.005418f, 0.004440f, 0.024917f, -0.016877f, 0.012404f, -0.014306f, 0.003948f, 0.004846f, -0.013818f, -0.008671f, 0.023995f, 0.006519f, -0.017149f, -0.004474f, -0.005999f, -0.014041f, -0.000150f, 0.023188f, 0.012859f, 0.016148f, 0.004167f, 0.006483f, -0.020605f, -0.003012f, 0.027393f, 0.002170f, -0.016121f, 0.008975f, 0.009481f, -0.012199f, -0.010026f, -0.005844f, -0.026903f, -0.004174f, 0.008930f, 0.013751f, + 0.025022f, -0.005878f, -0.012375f, -0.003490f, -0.007267f, 0.020371f, -0.006183f, 0.010340f, -0.042335f, -0.029629f, -0.019509f, 0.000715f, -0.035707f, 0.003678f, 0.024027f, 0.006981f, 0.024780f, -0.015523f, -0.007941f, -0.004304f, -0.015086f, -0.006562f, -0.021924f, 0.034905f, 0.019299f, 0.013028f, -0.032203f, -0.007421f, -0.011373f, -0.021483f, 0.005423f, -0.003603f, 0.004982f, -0.026343f, -0.003222f, -0.003747f, -0.019362f, 0.008839f, 0.001411f, 0.016675f, 0.005774f, -0.016808f, 0.022437f, -0.012939f, 0.008151f, 0.003453f, -0.001819f, 0.017375f, 0.016020f, 0.002803f, -0.024581f, 0.026272f, -0.015847f, 0.018332f, 0.007407f, -0.012116f, -0.013302f, 0.020690f, 0.001490f, -0.004447f, 0.003995f, -0.020863f, -0.008713f, 0.009010f, -0.003557f, 0.017869f, -0.013526f, -0.020054f, 0.005250f, 0.002903f, -0.001597f, 0.017465f, 0.006203f, 0.001569f, -0.015053f, 0.011738f, 0.003047f, -0.013943f, -0.004295f, -0.004510f, -0.009339f, -0.008662f, -0.008604f, 0.002488f, -0.024982f, 0.035530f, 0.015256f, 0.040489f, -0.016912f, -0.020546f, 0.038730f, 0.002029f, -0.002974f, 0.009014f, 0.003852f, 0.022837f, + 0.030470f, 0.004516f, -0.026415f, -0.043248f, 0.007167f, -0.011508f, 0.003704f, 0.001814f, -0.017957f, -0.000679f, 0.024962f, 0.020048f, 0.016440f, 0.031242f, -0.005873f, 0.026499f, -0.017231f, 0.023470f, 0.008703f, 0.018220f, -0.010889f, 0.031800f, 0.019268f, 0.023238f, -0.035418f, -0.000020f, 0.034369f, 0.019019f, 0.007166f, -0.007865f, 0.051133f, 0.021052f, -0.018479f, -0.012225f, 0.013316f, -0.019308f, -0.000744f, -0.009494f, 0.003678f, 0.041535f, 0.045058f, 0.031351f, 0.012785f, -0.000371f, 0.017579f, -0.015513f, -0.002707f, 0.016893f, -0.017741f, 0.043085f, 0.028579f, 0.020136f, 0.009370f, -0.003790f, -0.020343f, 0.023802f, 0.001457f, 0.019712f, -0.009998f, 0.004547f, -0.014815f, -0.014753f, -0.000771f, 0.001273f, -0.017680f, 0.042823f, -0.002538f, -0.021288f, -0.009560f, -0.016739f, -0.000609f, -0.026808f, 0.006976f, -0.023148f, 0.013100f, 0.002754f, -0.006068f, -0.018305f, -0.021426f, -0.032995f, -0.033748f, -0.010355f, 0.029707f, -0.002497f, -0.018924f, 0.007619f, -0.017988f, 0.013731f, -0.015274f, 0.027251f, -0.027922f, 0.006271f, -0.019632f, -0.020952f, -0.003252f, 0.003124f, + -0.005424f, 0.012644f, -0.040159f, 0.016042f, 0.004630f, -0.010222f, -0.002062f, -0.003097f, -0.019361f, -0.032758f, -0.033796f, 0.024592f, 0.013324f, -0.013928f, 0.022673f, 0.000353f, -0.007863f, -0.025844f, -0.052404f, -0.044457f, 0.026380f, -0.007955f, 0.002035f, -0.005485f, -0.000926f, -0.002664f, -0.034603f, 0.013804f, -0.041035f, -0.022800f, 0.004044f, -0.001101f, -0.006902f, -0.005335f, -0.003202f, 0.044969f, -0.010899f, -0.013415f, -0.008861f, 0.047831f, -0.004757f, -0.016396f, 0.033574f, -0.019604f, -0.009519f, -0.012841f, -0.007524f, -0.063877f, -0.048386f, -0.027901f, 0.054688f, -0.003354f, -0.009818f, -0.007278f, -0.004976f, -0.018727f, 0.018934f, 0.014628f, 0.048832f, -0.046139f, -0.009555f, 0.013594f, -0.034065f, -0.013819f, -0.012495f, 0.056551f, -0.001524f, 0.012715f, 0.028309f, 0.002218f, 0.027208f, -0.030537f, -0.038615f, -0.025733f, -0.007707f, -0.006806f, 0.003780f, 0.017465f, -0.001628f, -0.032245f, -0.022785f, -0.001945f, -0.017811f, -0.036103f, 0.031182f, -0.005621f, -0.018648f, -0.000488f, 0.009469f, 0.009909f, 0.005171f, -0.016409f, 0.002455f, -0.033509f, -0.015388f, -0.049577f, + 0.022393f, 0.014740f, -0.006654f, -0.015668f, 0.017440f, -0.024753f, -0.007097f, 0.053139f, -0.006413f, 0.045026f, 0.019406f, 0.011993f, -0.012597f, -0.056811f, -0.024330f, -0.011011f, -0.031234f, -0.022934f, -0.015192f, 0.025262f, -0.012132f, 0.000430f, -0.023109f, 0.048147f, -0.017151f, 0.019631f, 0.015128f, -0.032610f, 0.036750f, 0.002331f, -0.014711f, 0.024136f, 0.015599f, 0.072486f, 0.006412f, 0.004643f, 0.028269f, -0.027068f, -0.017224f, -0.002279f, 0.009806f, 0.014959f, -0.004110f, 0.032873f, -0.013567f, 0.007887f, 0.031587f, 0.016135f, 0.014463f, 0.013962f, -0.015757f, 0.007660f, 0.003848f, -0.006010f, 0.008696f, -0.010775f, -0.021437f, -0.009731f, 0.006705f, -0.021760f, 0.037852f, 0.001453f, 0.008119f, -0.000666f, 0.027687f, 0.029610f, 0.000124f, -0.015075f, 0.003339f, -0.002131f, 0.035528f, 0.042881f, -0.022371f, -0.015049f, -0.008555f, 0.013744f, 0.034505f, -0.021824f, 0.014389f, 0.002946f, 0.011993f, -0.009324f, -0.011891f, 0.009831f, 0.025416f, 0.007797f, -0.016969f, 0.025673f, 0.069580f, -0.015863f, 0.018922f, -0.000178f, 0.012518f, 0.028900f, 0.015026f, 0.033436f, + 0.032669f, -0.001083f, 0.046193f, 0.072115f, 0.013429f, -0.018107f, 0.077316f, 0.007168f, 0.074380f, 0.000790f, 0.015572f, -0.040229f, -0.011187f, 0.070125f, 0.013890f, -0.028076f, 0.011839f, -0.020480f, 0.011233f, 0.016002f, -0.002996f, -0.032376f, -0.010974f, -0.049904f, 0.024405f, 0.021568f, -0.018157f, 0.023188f, 0.033095f, 0.009833f, -0.006131f, -0.027490f, 0.009182f, 0.053320f, -0.021729f, 0.033540f, 0.030448f, 0.008313f, 0.023333f, 0.023757f, 0.002780f, 0.028758f, 0.018306f, -0.043220f, -0.004977f, -0.014872f, 0.050013f, 0.036372f, -0.032129f, 0.025167f, -0.002349f, 0.030060f, 0.082089f, -0.002959f, -0.012241f, 0.012859f, 0.073892f, 0.034739f, -0.003204f, 0.014380f, 0.014338f, 0.047153f, 0.038092f, -0.019841f, 0.045439f, 0.026002f, 0.042138f, -0.023271f, 0.005363f, 0.014366f, 0.009651f, 0.031826f, 0.038617f, -0.017862f, -0.018678f, 0.036993f, 0.015833f, -0.002626f, -0.009704f, 0.008203f, 0.046533f, -0.076622f, 0.021812f, -0.020486f, -0.019667f, -0.016442f, -0.015695f, 0.011334f, 0.014862f, 0.015461f, -0.018528f, -0.022525f, -0.058018f, 0.002775f, -0.032112f, 0.053307f, + 0.007088f, -0.013824f, -0.007273f, 0.031902f, 0.009895f, 0.051781f, 0.021685f, -0.013642f, 0.002949f, 0.010729f, 0.024471f, 0.038743f, -0.042778f, -0.038165f, -0.006988f, 0.065226f, -0.019231f, 0.007887f, 0.019774f, 0.028202f, 0.035991f, 0.049262f, 0.044253f, 0.003078f, -0.009075f, 0.045809f, 0.004875f, -0.030573f, 0.017105f, -0.028515f, 0.021262f, 0.003911f, -0.023146f, 0.021321f, 0.089112f, 0.047578f, -0.029440f, -0.024793f, -0.001621f, -0.025779f, -0.022478f, -0.022411f, 0.016726f, -0.013569f, -0.018779f, 0.002730f, 0.025898f, 0.012443f, 0.009831f, 0.032322f, 0.011128f, -0.010614f, 0.038321f, 0.028194f, -0.024279f, 0.015227f, -0.027593f, -0.025999f, -0.024133f, -0.003082f, -0.061224f, -0.022044f, 0.046857f, 0.029139f, -0.011695f, -0.022187f, 0.021421f, 0.017595f, -0.028607f, -0.011297f, -0.064188f, -0.003595f, 0.056701f, 0.002333f, -0.038520f, 0.008160f, 0.003662f, -0.025391f, 0.038433f, 0.022850f, -0.012909f, 0.012098f, 0.018445f, 0.024291f, 0.014437f, 0.005594f, -0.014377f, 0.010548f, 0.014960f, 0.036707f, 0.054289f, -0.012678f, -0.033249f, -0.016850f, 0.012004f, 0.012616f, + 0.045131f, -0.014732f, -0.031642f, -0.024527f, -0.024853f, 0.053901f, 0.097717f, 0.036509f, 0.007034f, 0.106643f, 0.008600f, 0.045338f, 0.027153f, -0.006881f, -0.019543f, 0.020623f, -0.027243f, -0.017770f, 0.023832f, 0.003569f, -0.060455f, -0.063170f, -0.013567f, 0.029657f, -0.031202f, -0.040331f, -0.020504f, -0.029063f, -0.022858f, 0.024912f, -0.014741f, -0.045482f, 0.025486f, 0.005255f, -0.010179f, 0.015068f, -0.006576f, 0.028681f, 0.103217f, -0.055328f, 0.055229f, -0.062543f, -0.031934f, -0.014992f, -0.006144f, 0.050197f, 0.002271f, 0.054023f, 0.034998f, 0.031678f, 0.046080f, -0.052069f, 0.021078f, -0.054562f, -0.001505f, 0.073270f, 0.065098f, 0.028323f, 0.001679f, 0.013413f, 0.008841f, -0.019871f, 0.017422f, 0.021757f, -0.090626f, 0.006512f, 0.014010f, 0.028676f, -0.032863f, -0.050438f, 0.038236f, 0.018778f, 0.010113f, -0.021003f, 0.045198f, -0.005316f, 0.035218f, 0.029845f, -0.003003f, 0.005387f, -0.009685f, 0.036173f, -0.020502f, 0.011731f, 0.021517f, -0.000854f, 0.045277f, 0.027031f, -0.002251f, 0.024064f, 0.026441f, -0.000364f, -0.020123f, -0.067460f, -0.012497f, 0.008287f, + -0.040464f, 0.004884f, 0.032348f, -0.061253f, -0.027665f, 0.010466f, -0.026888f, -0.003439f, 0.032582f, 0.002752f, -0.023582f, -0.029518f, 0.012996f, 0.013861f, -0.063555f, -0.020376f, -0.006115f, 0.000687f, 0.038306f, 0.019525f, 0.002804f, 0.068764f, -0.010942f, -0.003230f, -0.000547f, -0.042022f, -0.016441f, -0.063662f, -0.055422f, 0.011261f, -0.028131f, -0.008093f, -0.042561f, -0.053030f, -0.056067f, -0.036330f, 0.041317f, 0.056424f, 0.002218f, -0.044490f, 0.004323f, 0.003250f, 0.001296f, 0.022194f, 0.035984f, 0.036508f, 0.001505f, -0.021696f, -0.056143f, -0.031300f, -0.049104f, -0.009400f, 0.000744f, 0.005479f, 0.005622f, 0.008302f, 0.014140f, 0.019077f, 0.033848f, -0.051116f, 0.023416f, 0.010564f, 0.011920f, 0.029569f, 0.050077f, 0.057338f, -0.031964f, 0.026370f, -0.044325f, -0.012427f, -0.040260f, -0.002443f, -0.015678f, 0.094447f, 0.032971f, 0.068474f, 0.002740f, -0.034385f, -0.015597f, 0.044410f, 0.046148f, -0.025746f, 0.085365f, -0.034406f, 0.004850f, 0.005251f, 0.014242f, 0.032923f, 0.094549f, -0.005323f, 0.022301f, 0.054341f, 0.010786f, -0.041040f, 0.025019f, 0.098346f, + -0.020072f, -0.023338f, -0.060625f, -0.005362f, 0.031557f, 0.019861f, -0.004478f, -0.049148f, -0.008183f, -0.010396f, 0.018200f, 0.086151f, -0.005150f, -0.001035f, 0.036118f, 0.006620f, -0.120359f, -0.038107f, 0.084270f, 0.027807f, -0.025664f, -0.048107f, -0.007434f, -0.031898f, 0.043072f, 0.022395f, 0.007468f, -0.025590f, -0.057414f, 0.011858f, -0.098347f, -0.012176f, 0.046935f, 0.064920f, -0.008306f, -0.055467f, -0.038457f, -0.114304f, 0.032735f, -0.019885f, 0.043939f, 0.033803f, -0.033233f, -0.023556f, -0.102106f, -0.075983f, 0.038865f, 0.108186f, 0.042367f, 0.051573f, -0.036704f, -0.063815f, -0.062312f, -0.025358f, 0.091082f, 0.124198f, 0.063809f, -0.143005f, -0.053317f, -0.109297f, -0.059481f, 0.137469f, 0.032721f, 0.031394f, -0.018636f, -0.130156f, -0.108098f, -0.106498f, -0.020477f, 0.012241f, 0.067755f, -0.023211f, 0.051533f, -0.101825f, 0.064618f, 0.028827f, 0.007733f, 0.134592f, 0.008181f, -0.007700f, -0.006848f, -0.171939f, -0.056208f, -0.002972f, 0.004358f, -0.055039f, 0.095084f, 0.038622f, 0.041719f, -0.125935f, 0.021065f, -0.174010f, -0.041005f, -0.004394f, 0.020697f, 0.005800f, + -0.112365f, 0.055015f, -0.033526f, -0.023775f, -0.023773f, -0.027410f, -0.029935f, -0.038014f, 0.068246f, -0.024795f, -0.064470f, 0.015142f, -0.020436f, 0.002980f, 0.031424f, -0.073906f, -0.027759f, -0.008982f, 0.026156f, -0.001823f, 0.075718f, -0.011587f, -0.047735f, 0.098704f, -0.090502f, 0.046169f, -0.084063f, -0.032179f, 0.037126f, -0.071512f, 0.002320f, 0.042411f, -0.027457f, -0.011390f, -0.007281f, 0.055879f, 0.091920f, 0.048456f, -0.033861f, -0.019289f, -0.016787f, -0.000498f, 0.028308f, -0.019213f, -0.020553f, 0.011298f, 0.008039f, -0.178121f, -0.008376f, -0.014072f, 0.023556f, 0.012999f, 0.000052f, -0.008520f, 0.047809f, -0.063270f, -0.014217f, -0.015711f, 0.037107f, -0.148913f, -0.018448f, 0.109916f, -0.029890f, -0.068387f, 0.003717f, 0.045925f, -0.025938f, -0.044791f, -0.128137f, -0.106002f, 0.086708f, 0.073159f, 0.004018f, 0.078330f, -0.092531f, -0.008915f, -0.175630f, -0.065075f, -0.033611f, 0.079703f, 0.073087f, 0.042715f, -0.072373f, -0.027865f, -0.005908f, -0.037146f, 0.013599f, 0.026138f, 0.036542f, 0.048270f, -0.042599f, 0.025182f, -0.077191f, -0.051478f, -0.014283f, -0.020178f, + -0.000391f, 0.045052f, -0.061216f, 0.046488f, -0.024960f, -0.037199f, -0.015112f, 0.000290f, -0.075966f, -0.006180f, -0.068853f, -0.029601f, -0.027766f, -0.068309f, 0.085923f, 0.035520f, 0.018398f, 0.016679f, -0.018274f, -0.094057f, -0.133492f, -0.082138f, -0.078818f, 0.047977f, 0.011823f, 0.052057f, 0.078813f, 0.060534f, -0.021764f, 0.010791f, -0.045752f, -0.040022f, -0.041471f, 0.027847f, -0.043576f, -0.006990f, -0.041073f, -0.048503f, -0.025698f, 0.046813f, -0.038908f, -0.016307f, 0.007950f, -0.010441f, -0.054286f, -0.069453f, -0.029298f, 0.058230f, -0.012372f, -0.170957f, -0.237421f, -0.223160f, -0.211979f, -0.256553f, -0.030744f, -0.059729f, 0.062885f, 0.092469f, 0.258019f, 0.172013f, 0.220790f, 0.300129f, 0.327013f, 0.229190f, 0.285767f, 0.170311f, 0.085867f, 0.004711f, -0.037514f, -0.053793f, -0.101479f, -0.097137f, -0.142635f, -0.050366f, -0.044520f, -0.131074f, -0.096915f, -0.089435f, -0.106987f, -0.178611f, -0.120247f, -0.086593f, -0.070268f, -0.134295f, -0.009908f, -0.030050f, -0.051621f, -0.130049f, -0.123547f, -0.095908f, -0.084804f, -0.054578f, -0.019252f, -0.078545f, 0.034300f, 0.060394f, + -0.065044f, 0.092724f, 0.117739f, 0.118950f, 0.199804f, 0.169134f, 0.125383f, 0.143898f, 0.136832f, 0.142347f, 0.204790f, 0.237388f, 0.224072f, 0.159632f, 0.238864f, 0.243313f, 0.242052f, 0.254077f, 0.275976f, 0.251194f, 0.250914f, 0.347732f, 0.153056f, 0.161496f, 0.142205f, 0.132108f, -0.082783f, -0.014351f, -0.064351f, -0.180844f, -0.115747f}, + {0.003399f, 0.002832f, 0.002207f, 0.005144f, -0.001655f, 0.000476f, -0.002302f, -0.007713f, -0.014466f, 0.002985f, -0.005530f, -0.007801f, -0.010465f, 0.002541f, 0.001967f, 0.007756f, 0.002143f, 0.009220f, -0.001335f, -0.013678f, 0.005117f, -0.007222f, -0.000902f, 0.002930f, -0.005804f, -0.008938f, 0.001197f, -0.005846f, -0.000891f, -0.002954f, 0.005329f, 0.005346f, 0.001708f, -0.012749f, -0.002759f, -0.004892f, 0.009835f, 0.002052f, 0.002953f, 0.011477f, 0.005472f, 0.005150f, -0.000183f, 0.003106f, 0.018065f, 0.008873f, -0.003095f, 0.000860f, -0.008696f, 0.006218f, -0.000514f, 0.000982f, -0.010708f, -0.001419f, -0.005685f, -0.007291f, -0.002966f, 0.008071f, 0.006209f, 0.000093f, 0.000035f, -0.006998f, -0.006573f, -0.002431f, -0.006700f, -0.013773f, 0.007038f, -0.005745f, -0.001248f, -0.012966f, -0.003457f, 0.007790f, 0.003923f, -0.000582f, -0.011896f, 0.014704f, -0.001289f, 0.005827f, 0.002874f, 0.006885f, -0.012742f, -0.006977f, 0.007964f, 0.003742f, -0.000038f, -0.007190f, 0.001316f, -0.019745f, -0.012708f, -0.000870f, -0.007615f, -0.008686f, 0.003385f, 0.015089f, 0.002470f, 0.011439f, + -0.002784f, 0.011298f, -0.006950f, -0.006342f, -0.000839f, -0.010598f, 0.001997f, 0.004944f, -0.003809f, -0.000473f, 0.002649f, 0.000263f, 0.004649f, -0.000786f, -0.011140f, 0.003744f, -0.006905f, -0.005430f, 0.003114f, -0.007084f, -0.010363f, 0.010075f, -0.010860f, 0.009574f, 0.009202f, 0.005788f, -0.000446f, -0.013017f, -0.007364f, 0.001184f, -0.002328f, 0.016174f, -0.009955f, 0.003741f, -0.001170f, 0.001916f, -0.012279f, -0.021018f, -0.003475f, -0.006487f, -0.006701f, -0.001885f, 0.009050f, -0.002148f, -0.009025f, 0.007978f, 0.003902f, -0.004385f, 0.007376f, -0.001538f, 0.002721f, -0.009711f, 0.000114f, -0.002423f, 0.007776f, 0.007752f, 0.000933f, 0.014138f, -0.000352f, 0.005983f, 0.007523f, -0.000308f, -0.007182f, 0.000514f, -0.010123f, -0.012963f, -0.005007f, -0.014745f, -0.015151f, -0.005112f, 0.009689f, -0.003756f, -0.003569f, -0.008042f, -0.002126f, -0.013885f, 0.006523f, -0.004067f, 0.003229f, 0.007942f, 0.002643f, -0.003124f, 0.005501f, 0.005086f, -0.006782f, 0.004370f, 0.000498f, 0.000978f, 0.004881f, -0.012162f, -0.005240f, 0.008170f, -0.005502f, -0.000656f, -0.003528f, 0.009094f, + -0.012074f, -0.001261f, -0.010119f, 0.006249f, -0.000666f, -0.000999f, 0.009011f, -0.004182f, -0.004415f, -0.003393f, -0.008528f, 0.000353f, -0.003882f, -0.000922f, 0.000527f, 0.005530f, 0.005836f, 0.001743f, -0.002629f, -0.010230f, -0.016397f, -0.005281f, -0.001160f, -0.004229f, 0.008774f, -0.003703f, -0.005090f, 0.006918f, -0.004596f, -0.007069f, 0.015413f, -0.003312f, 0.017169f, -0.010075f, -0.004463f, -0.007156f, 0.006722f, 0.001694f, -0.000196f, 0.012498f, 0.003448f, 0.004001f, -0.016835f, 0.003686f, -0.007536f, -0.008978f, -0.011682f, 0.000261f, 0.001051f, 0.015032f, -0.011293f, 0.005962f, -0.004364f, 0.018465f, -0.005856f, -0.005539f, 0.013482f, -0.004477f, 0.005097f, 0.002355f, -0.000166f, 0.002532f, -0.007900f, 0.001804f, 0.001121f, 0.004036f, 0.017673f, 0.006297f, 0.002331f, -0.006848f, 0.006695f, -0.012786f, -0.002866f, -0.002149f, 0.008019f, 0.006529f, 0.011067f, 0.007073f, -0.006819f, -0.010935f, -0.004043f, 0.008972f, -0.000145f, 0.004819f, -0.000869f, -0.000910f, 0.018205f, 0.004394f, -0.000284f, -0.020231f, -0.008100f, 0.000859f, 0.008275f, 0.011321f, 0.016664f, 0.008991f, + -0.002480f, 0.003101f, -0.002446f, -0.004926f, 0.012561f, -0.006646f, 0.013032f, 0.000908f, -0.008529f, 0.004179f, -0.003209f, 0.009553f, 0.002016f, 0.008674f, -0.002172f, -0.001506f, -0.003315f, -0.010249f, 0.000292f, 0.007322f, 0.007194f, 0.013672f, 0.006140f, -0.017950f, -0.015143f, -0.012996f, 0.000386f, -0.002168f, 0.000789f, -0.007040f, -0.004583f, -0.001036f, 0.005264f, 0.000010f, -0.011707f, 0.012533f, -0.001989f, -0.011435f, 0.002141f, 0.002864f, -0.000473f, -0.000956f, 0.004750f, 0.006757f, -0.004382f, 0.010256f, 0.000225f, 0.006110f, -0.014011f, 0.010001f, 0.003172f, 0.005891f, -0.009760f, -0.000751f, 0.006577f, 0.006224f, 0.014645f, -0.000217f, -0.021055f, -0.005286f, -0.010287f, 0.005259f, 0.002963f, -0.000412f, -0.005933f, 0.002066f, -0.008912f, -0.002478f, -0.015897f, -0.008519f, -0.000982f, 0.009240f, 0.009124f, -0.006240f, -0.006438f, -0.005313f, 0.009348f, -0.002526f, -0.001763f, -0.013905f, 0.008375f, -0.013603f, -0.005683f, 0.000535f, -0.003717f, -0.002671f, 0.014940f, -0.001263f, 0.003766f, -0.005781f, 0.007253f, -0.006525f, -0.000394f, 0.010186f, 0.018814f, 0.012931f, + 0.002442f, -0.015410f, -0.011710f, 0.003682f, -0.003007f, -0.010004f, -0.003598f, -0.012781f, -0.005782f, 0.024636f, 0.002445f, -0.003001f, -0.005103f, -0.000322f, -0.006270f, -0.004352f, 0.016426f, -0.017855f, -0.002539f, 0.001406f, -0.004229f, 0.004078f, 0.009728f, -0.005012f, -0.006266f, 0.002269f, -0.007683f, -0.007316f, -0.016810f, -0.006344f, 0.003867f, -0.014894f, -0.002979f, 0.006938f, 0.010447f, 0.003611f, -0.023439f, -0.007202f, 0.004034f, 0.011241f, -0.009556f, 0.019615f, -0.002909f, -0.010396f, -0.006239f, -0.004600f, -0.008481f, 0.010531f, -0.008721f, -0.002449f, -0.011327f, -0.008678f, -0.004573f, -0.008822f, 0.010784f, -0.004511f, -0.023607f, 0.008458f, 0.014728f, -0.000108f, 0.004910f, -0.028205f, 0.021142f, 0.000060f, -0.018816f, 0.001513f, -0.012663f, -0.021366f, 0.003918f, -0.015916f, 0.015498f, 0.003422f, -0.006919f, -0.012975f, -0.022236f, -0.010043f, -0.016309f, 0.004681f, 0.029307f, 0.004446f, -0.008555f, -0.001131f, -0.004869f, -0.005294f, -0.014293f, -0.009567f, -0.014698f, 0.003126f, -0.001809f, 0.002417f, -0.005644f, 0.001677f, -0.015504f, -0.001642f, 0.002598f, -0.010646f, + -0.004470f, 0.000644f, -0.006248f, 0.000831f, -0.005817f, 0.021584f, -0.027916f, -0.005437f, 0.001403f, 0.006695f, -0.003601f, -0.011742f, -0.017441f, -0.012397f, 0.008117f, -0.002968f, 0.009090f, -0.009036f, 0.024904f, 0.002782f, -0.005798f, -0.000840f, -0.016086f, -0.020120f, -0.010672f, 0.006818f, -0.017473f, -0.001604f, 0.018794f, -0.001145f, -0.010049f, -0.019200f, -0.032181f, 0.000680f, 0.015405f, -0.005113f, 0.017834f, -0.002356f, -0.006394f, -0.012339f, -0.010745f, 0.001001f, 0.007074f, -0.006843f, 0.026943f, 0.006990f, -0.007628f, 0.017816f, -0.007588f, -0.020221f, -0.005435f, -0.015044f, -0.007800f, -0.006412f, 0.021735f, -0.005212f, -0.007130f, -0.008893f, 0.013989f, 0.012727f, 0.011111f, 0.030742f, 0.032012f, 0.015053f, 0.019911f, -0.007208f, -0.009149f, 0.013491f, 0.019617f, -0.008217f, 0.008624f, 0.006350f, -0.017020f, -0.015798f, 0.009490f, -0.002042f, -0.000247f, -0.015746f, -0.020471f, -0.004524f, -0.016622f, 0.019078f, 0.034928f, 0.007585f, 0.013712f, 0.004387f, -0.004246f, 0.012878f, -0.024067f, -0.006020f, 0.004808f, 0.013709f, -0.008066f, -0.018936f, 0.027998f, 0.000332f, + -0.008898f, -0.006506f, 0.011318f, -0.003071f, 0.010037f, -0.006668f, 0.015888f, -0.000975f, -0.000759f, 0.020384f, 0.005857f, 0.009596f, 0.003204f, -0.002697f, 0.014524f, -0.022426f, -0.009579f, 0.008834f, 0.025278f, -0.015371f, -0.002325f, -0.002914f, -0.004145f, -0.010437f, -0.002862f, -0.005118f, -0.007695f, 0.013184f, -0.012080f, -0.004430f, 0.011957f, -0.008551f, 0.005432f, 0.009091f, -0.016623f, -0.017813f, 0.005670f, 0.014385f, -0.004277f, 0.013163f, -0.008795f, -0.003693f, 0.024786f, -0.027141f, 0.017106f, -0.007442f, 0.000704f, 0.001142f, 0.030517f, -0.006275f, 0.006452f, 0.009934f, 0.017065f, 0.010061f, 0.015026f, -0.002018f, -0.001771f, 0.005116f, 0.002899f, 0.002796f, -0.013902f, 0.022895f, -0.029429f, -0.006227f, -0.007297f, 0.017155f, -0.002760f, 0.020823f, -0.000303f, 0.002313f, -0.035072f, -0.009416f, 0.022449f, 0.037416f, 0.000351f, -0.017982f, -0.014772f, 0.015608f, 0.012964f, 0.009605f, 0.009482f, -0.015338f, -0.006429f, -0.008696f, 0.005621f, 0.001106f, -0.008839f, 0.006150f, 0.005850f, -0.004057f, -0.004045f, -0.021085f, -0.004733f, -0.007428f, 0.031808f, 0.003307f, + 0.006842f, 0.012143f, 0.001985f, -0.023751f, 0.002236f, -0.014436f, 0.012822f, 0.011505f, -0.023885f, -0.010126f, -0.009920f, 0.002743f, -0.002788f, 0.031781f, -0.005682f, -0.000368f, 0.019645f, -0.020394f, -0.015191f, -0.019224f, -0.020008f, -0.006049f, -0.002181f, 0.006747f, 0.034120f, -0.004845f, -0.022013f, 0.035296f, -0.000905f, 0.008712f, 0.023697f, 0.015766f, 0.022008f, -0.007795f, 0.017058f, -0.013661f, 0.023094f, 0.019868f, -0.007392f, 0.009534f, -0.011479f, -0.010916f, 0.007729f, 0.026465f, 0.011106f, 0.009395f, 0.002385f, -0.010772f, -0.017206f, -0.017657f, 0.000926f, 0.017561f, -0.012954f, -0.015435f, -0.018380f, -0.008220f, -0.034796f, -0.009674f, 0.004581f, -0.026252f, 0.009954f, -0.000259f, -0.012925f, -0.030569f, -0.020969f, -0.002035f, -0.039801f, 0.009756f, 0.006377f, -0.003004f, 0.008472f, 0.004642f, -0.005859f, -0.022001f, -0.014216f, -0.004568f, -0.014887f, 0.009234f, -0.015633f, 0.028825f, -0.023818f, -0.001608f, 0.010906f, -0.002569f, -0.045857f, 0.016586f, 0.021508f, 0.037469f, 0.000311f, -0.027282f, 0.008230f, 0.013573f, -0.028096f, -0.029445f, -0.018074f, -0.000499f, + 0.016373f, -0.000609f, -0.011098f, -0.000421f, -0.009620f, -0.006691f, -0.017830f, 0.030886f, 0.024627f, 0.009154f, -0.037073f, -0.011214f, 0.006725f, -0.002089f, -0.007711f, 0.047762f, 0.018202f, 0.015000f, 0.014789f, 0.022628f, 0.017767f, 0.004080f, 0.018594f, -0.001307f, -0.028807f, 0.015909f, -0.029627f, 0.009152f, -0.029292f, 0.025291f, -0.007060f, 0.030540f, -0.015842f, 0.007197f, -0.012595f, 0.010766f, 0.019036f, 0.046604f, 0.011003f, -0.060175f, -0.002050f, -0.008805f, 0.013992f, 0.025552f, -0.004071f, -0.012229f, 0.020455f, -0.004094f, -0.008089f, 0.024923f, 0.003030f, -0.002037f, 0.002782f, 0.009997f, 0.022133f, 0.015129f, -0.016021f, -0.014479f, -0.009390f, -0.019489f, 0.006071f, -0.003482f, 0.022239f, 0.012566f, -0.025743f, 0.050414f, -0.018996f, -0.033493f, -0.010587f, 0.013149f, -0.008192f, 0.024220f, 0.035118f, -0.014069f, 0.032225f, 0.020652f, 0.016266f, -0.005332f, -0.003736f, -0.006518f, 0.031280f, 0.005625f, 0.003894f, -0.018224f, 0.008037f, -0.009593f, -0.000648f, -0.030089f, 0.020438f, -0.027651f, 0.000270f, -0.019585f, 0.032627f, -0.016839f, 0.000863f, 0.031826f, + 0.024530f, 0.016186f, -0.001841f, -0.013088f, 0.015031f, -0.000858f, -0.002786f, -0.041425f, -0.012091f, -0.025244f, -0.020052f, -0.016241f, -0.007362f, 0.020713f, 0.013407f, 0.011765f, 0.000034f, 0.030633f, -0.016669f, 0.032379f, 0.029083f, 0.030410f, 0.054617f, -0.022168f, -0.016738f, 0.022979f, 0.004246f, -0.022474f, 0.032669f, -0.012235f, -0.016444f, 0.009198f, -0.004711f, -0.013178f, -0.010252f, 0.012244f, -0.020177f, 0.006450f, -0.013173f, 0.027720f, -0.014606f, -0.002732f, 0.006584f, 0.017883f, 0.026808f, -0.005568f, -0.028450f, -0.049142f, -0.041851f, -0.004134f, 0.006205f, -0.029345f, -0.000904f, 0.000124f, 0.041569f, -0.030774f, -0.034626f, 0.008225f, -0.015753f, -0.002414f, -0.025799f, 0.020281f, -0.026152f, -0.034822f, -0.021544f, 0.034987f, -0.027456f, -0.023355f, -0.006695f, 0.012680f, -0.013054f, -0.029414f, 0.006506f, -0.013470f, -0.001637f, 0.009592f, -0.037188f, -0.005339f, 0.017891f, 0.028821f, -0.006484f, 0.045444f, 0.019475f, -0.008289f, 0.000525f, 0.019076f, -0.010603f, -0.022490f, 0.002186f, 0.023166f, 0.001424f, 0.009535f, -0.000849f, -0.024438f, 0.006009f, -0.050058f, + 0.002951f, -0.000641f, -0.007234f, -0.030912f, -0.026278f, -0.000302f, -0.012547f, -0.022422f, -0.013721f, -0.018825f, 0.017065f, -0.034572f, -0.018420f, -0.012705f, 0.012823f, -0.022135f, 0.037456f, -0.009838f, -0.032090f, -0.007120f, -0.018919f, -0.055200f, -0.014700f, -0.001729f, -0.000608f, -0.038587f, -0.015791f, -0.014683f, 0.036861f, 0.033001f, 0.010670f, 0.066502f, -0.011069f, -0.022058f, -0.019360f, -0.008812f, -0.034111f, 0.048497f, -0.027319f, -0.009737f, -0.021827f, -0.011300f, -0.009494f, 0.006236f, -0.032151f, 0.001076f, 0.001905f, -0.004136f, 0.011133f, -0.035079f, -0.007380f, 0.024766f, -0.022480f, 0.001672f, -0.029526f, 0.030338f, 0.002033f, -0.053148f, -0.025771f, -0.009490f, 0.000859f, 0.014963f, -0.030338f, -0.018120f, 0.024428f, -0.003810f, 0.017629f, 0.014079f, 0.016302f, -0.019588f, 0.004607f, 0.023409f, 0.011265f, -0.044345f, 0.031051f, 0.020158f, -0.021066f, 0.067243f, 0.001672f, -0.049105f, 0.016474f, 0.014724f, 0.002084f, 0.035390f, -0.007763f, -0.061197f, 0.020487f, 0.007675f, 0.021719f, 0.020291f, -0.023769f, 0.042364f, 0.020453f, 0.012077f, -0.006143f, 0.064382f, + -0.000597f, -0.000897f, 0.049871f, -0.010114f, 0.025624f, 0.032858f, 0.017604f, 0.001946f, -0.003075f, 0.013203f, 0.013638f, -0.046373f, -0.045521f, 0.094647f, 0.030793f, -0.058415f, -0.029203f, -0.026552f, -0.053509f, -0.003554f, -0.028065f, 0.039703f, -0.021817f, 0.000661f, 0.049312f, 0.001530f, 0.008489f, -0.035562f, 0.045483f, 0.034131f, -0.000243f, -0.010383f, -0.003181f, -0.027509f, 0.002462f, 0.004087f, 0.006054f, -0.037974f, -0.005281f, -0.001682f, -0.011268f, -0.008017f, -0.026225f, 0.025719f, 0.050143f, 0.060430f, -0.004553f, -0.023651f, -0.009792f, -0.011794f, -0.008063f, -0.036118f, 0.012826f, 0.014979f, 0.013509f, -0.037644f, -0.050756f, 0.055876f, 0.021207f, 0.031586f, 0.040478f, 0.038281f, -0.015936f, -0.025057f, 0.036692f, -0.036278f, 0.019152f, -0.026989f, -0.020778f, -0.011684f, 0.043660f, -0.013693f, 0.009281f, 0.015441f, -0.007325f, -0.034402f, 0.072834f, -0.043238f, 0.005158f, 0.052597f, -0.046607f, -0.021427f, 0.006420f, 0.018642f, 0.054732f, 0.025299f, -0.014884f, 0.016158f, 0.063585f, 0.038621f, -0.004865f, -0.039432f, 0.005015f, 0.065146f, 0.052065f, 0.011551f, + -0.050161f, -0.018887f, -0.043201f, -0.002556f, 0.035224f, 0.043246f, -0.002338f, 0.016861f, 0.051329f, 0.054477f, 0.084250f, 0.084692f, -0.041215f, 0.018914f, -0.044580f, -0.007595f, -0.036018f, -0.012626f, 0.029662f, -0.005943f, 0.013357f, 0.011895f, -0.025450f, -0.018650f, 0.021941f, 0.024198f, 0.031429f, 0.022307f, -0.000479f, 0.022939f, 0.034559f, -0.017724f, 0.017721f, 0.020312f, 0.006417f, 0.019783f, 0.065505f, -0.048820f, -0.041797f, -0.009442f, 0.040505f, 0.038523f, -0.022711f, -0.000410f, 0.061931f, 0.049782f, -0.035001f, -0.023675f, 0.021166f, -0.043203f, 0.011705f, -0.021135f, -0.039137f, 0.011852f, -0.046088f, 0.046527f, 0.016715f, 0.051459f, -0.022958f, -0.031895f, -0.060494f, -0.014246f, 0.017762f, -0.053580f, -0.046583f, -0.028503f, 0.025663f, 0.063929f, -0.003126f, -0.018745f, 0.041502f, 0.009082f, -0.001305f, -0.059366f, 0.053841f, -0.025374f, -0.055974f, -0.018758f, 0.005018f, 0.066403f, 0.007499f, 0.047717f, 0.020355f, -0.055322f, -0.010864f, -0.048988f, 0.009263f, -0.048866f, -0.034100f, -0.020760f, 0.003887f, 0.010747f, -0.036777f, 0.037853f, -0.010616f, 0.023102f, + 0.026040f, 0.024525f, 0.047087f, 0.083253f, 0.050335f, -0.015639f, -0.039171f, -0.001257f, 0.089123f, 0.054599f, -0.028006f, 0.043629f, -0.014962f, 0.053242f, -0.024555f, 0.005224f, -0.017868f, -0.009767f, -0.001026f, -0.014911f, 0.133377f, -0.024976f, -0.034207f, -0.041904f, -0.056839f, -0.022662f, -0.043268f, -0.001989f, 0.052997f, -0.020152f, 0.017286f, -0.016781f, -0.023550f, 0.046395f, -0.010407f, 0.078143f, 0.016957f, 0.062763f, -0.073356f, 0.032132f, 0.136433f, 0.049888f, -0.071269f, 0.046458f, 0.044564f, 0.005534f, -0.002119f, 0.086969f, 0.038253f, 0.005832f, -0.007271f, -0.104051f, 0.042026f, 0.058298f, -0.049607f, -0.037158f, 0.072865f, 0.046148f, -0.066490f, -0.070073f, -0.002270f, -0.042738f, 0.012113f, 0.002084f, 0.011321f, -0.066098f, 0.011477f, -0.016291f, -0.035508f, 0.050664f, -0.008572f, -0.013414f, 0.013686f, 0.041795f, 0.036576f, 0.024051f, -0.057758f, -0.003122f, -0.030708f, -0.060675f, 0.015619f, 0.011668f, 0.029769f, -0.016224f, -0.031304f, 0.067831f, -0.056850f, 0.018527f, 0.019983f, 0.016015f, 0.010376f, -0.013370f, 0.037500f, -0.043996f, -0.073495f, -0.015962f, + -0.083454f, 0.064155f, 0.037000f, 0.062806f, -0.010661f, 0.008592f, -0.059620f, 0.051845f, 0.066236f, 0.020741f, -0.035429f, -0.085003f, -0.023338f, -0.110695f, -0.003158f, -0.024988f, -0.075943f, -0.066294f, 0.024034f, -0.001379f, 0.041253f, -0.040211f, 0.049482f, 0.035953f, -0.057285f, 0.005708f, -0.008541f, -0.060756f, 0.029968f, 0.023169f, -0.027207f, 0.012443f, -0.012773f, -0.092719f, -0.022484f, 0.025362f, -0.008362f, 0.012307f, -0.050002f, 0.070648f, -0.087788f, 0.008882f, -0.063458f, 0.047779f, 0.053882f, 0.018186f, 0.045684f, 0.006233f, -0.040546f, 0.076109f, -0.031533f, 0.009227f, 0.004590f, -0.041684f, 0.074408f, 0.006122f, 0.022059f, 0.016635f, 0.025929f, 0.012816f, 0.057045f, 0.063518f, 0.025241f, 0.073957f, -0.059254f, -0.004145f, 0.004489f, 0.094111f, -0.013226f, 0.075048f, 0.046464f, 0.102811f, 0.025223f, -0.022970f, -0.027352f, 0.040815f, -0.071009f, 0.072230f, -0.037742f, -0.025989f, -0.005939f, 0.014171f, 0.061328f, -0.013447f, -0.092324f, -0.028473f, 0.168321f, 0.010753f, -0.093227f, 0.023519f, -0.058306f, 0.018016f, 0.168145f, -0.046049f, -0.032532f, 0.106861f, + -0.106186f, 0.055841f, 0.042278f, 0.030265f, 0.122870f, 0.057051f, -0.058159f, 0.081069f, 0.040091f, 0.054542f, 0.103918f, 0.051810f, -0.049957f, 0.066563f, 0.019798f, 0.060092f, -0.017450f, -0.110916f, 0.112706f, 0.098213f, 0.060009f, 0.185306f, -0.017541f, -0.155071f, -0.080612f, -0.073022f, 0.163822f, 0.120995f, 0.028787f, -0.010086f, -0.030440f, -0.108199f, -0.052057f, -0.034753f, -0.062922f, 0.167545f, 0.134984f, 0.188950f, 0.002886f, -0.215004f, -0.336366f, -0.163108f, 0.186332f, 0.253064f, 0.256987f, 0.104614f, -0.214473f, -0.391776f, -0.241587f, -0.120659f, 0.180170f, 0.308813f, 0.173884f, 0.096058f, 0.024381f, -0.137878f, -0.187790f, -0.138595f, -0.011740f, 0.109453f, 0.218259f, 0.263692f, 0.045305f, 0.052662f, -0.209753f, -0.343844f, -0.185634f, 0.173577f, 0.287209f, 0.275408f, 0.169252f, -0.098743f, -0.337664f, -0.215681f, -0.283541f, 0.002915f, 0.189164f, 0.208470f, 0.101562f, -0.080238f, -0.178637f, -0.155505f, -0.124794f, 0.036084f, -0.025331f, -0.062194f, 0.067820f, 0.008144f, -0.102695f, 0.011115f, -0.028042f, -0.042361f, 0.028593f, -0.032891f, -0.014087f, -0.055838f, + 0.001415f, -0.022463f, -0.042010f, 0.014333f, -0.006220f, 0.011709f, 0.004898f, 0.031718f, -0.034518f, -0.012892f, 0.008566f, 0.001857f, 0.014023f, -0.015853f, 0.032266f, -0.025646f, 0.021798f, 0.009198f, -0.012339f, -0.026900f, -0.012151f, -0.048785f, 0.049719f, -0.006539f, 0.000474f, -0.010827f, -0.013366f, 0.000823f, -0.002620f, -0.000716f, 0.018648f, 0.009670f, -0.001588f, 0.026457f, -0.025673f, 0.006586f, -0.024344f, 0.023381f, 0.014960f, -0.021901f, 0.013014f, -0.026327f, -0.027245f, -0.024404f, -0.041581f, -0.007455f, 0.030807f, -0.031478f, -0.056020f, -0.041952f, 0.003656f, 0.030266f, 0.001351f, 0.021093f, -0.052222f, -0.019058f, -0.004486f, -0.010789f, -0.049533f, -0.020349f, 0.005741f, -0.002011f, -0.011939f, 0.039243f, 0.038264f, -0.044458f, -0.055573f, -0.090486f, -0.141439f, 0.003970f, 0.114783f, -0.045493f, -0.072120f, -0.077212f, -0.072803f, 0.013759f, 0.013926f, 0.132236f, -0.020262f, -0.020463f, -0.060320f, 0.005329f, 0.017175f, 0.040681f, -0.045523f, 0.021228f, -0.033323f, 0.050855f, 0.015846f, 0.015662f, 0.005492f, -0.034029f, -0.018479f, -0.022733f, -0.007764f, 0.017360f, + -0.020358f, -0.018888f, 0.036149f, -0.035317f, -0.021719f, 0.028791f, -0.029708f, -0.012388f, -0.025589f, -0.042400f, 0.013686f, 0.024860f, 0.004230f, 0.023279f, -0.038886f, -0.011620f, -0.001803f, 0.020234f, 0.026769f, 0.032040f, 0.001689f, -0.005571f, -0.058182f, -0.061106f, -0.022585f, -0.021232f, -0.013707f, 0.025010f, 0.036314f, 0.050330f, 0.004871f, -0.026090f, 0.051569f, -0.039712f, -0.017967f, 0.021304f, -0.017835f, 0.067036f, 0.001870f, -0.013382f, 0.009642f, -0.026817f, 0.017331f, 0.046834f, 0.035386f, -0.013884f, 0.007795f, 0.034174f, -0.092828f, -0.213763f, -0.163945f, -0.021031f, 0.067504f, 0.179983f, 0.151525f, 0.144636f, 0.147671f, 0.096720f, 0.039276f, -0.056445f, -0.098440f, -0.185514f, -0.137455f, -0.134947f, -0.134719f, -0.084548f, 0.077321f, 0.105272f, 0.155563f, 0.119088f, 0.099178f, 0.031313f, 0.065337f, -0.017464f, -0.020029f, -0.023486f, -0.039555f, -0.071541f, -0.059287f, -0.118988f, -0.044998f, -0.094911f, -0.046633f, -0.024025f, 0.028001f, 0.004038f, 0.041126f, 0.008058f, 0.058581f, 0.042819f, 0.071397f, 0.096021f, 0.119441f, 0.075957f, 0.050130f, 0.084659f, + 0.004613f, -0.031144f, -0.108752f, -0.126870f, -0.174107f, -0.155096f, -0.145246f, -0.056411f, -0.095701f, -0.050552f, 0.004574f, 0.024962f, 0.059961f, 0.115301f, 0.123264f, 0.137873f, 0.209018f, 0.117753f, 0.161084f, 0.111958f, 0.027748f, -0.014646f, -0.060920f, -0.162501f, -0.174135f, -0.164951f, -0.175443f, -0.118887f, -0.036739f, -0.002198f, 0.004347f} + }, + { + {0.004627f, -0.001247f, 0.003163f, 0.002375f, 0.004371f, -0.000807f, -0.003535f, 0.006836f, -0.000962f, -0.010817f, -0.003143f, -0.012016f, 0.008397f, 0.001616f, -0.001813f, 0.001689f, -0.002308f, 0.001607f, -0.010072f, 0.008299f, -0.001014f, 0.002932f, -0.009426f, -0.003428f, -0.003458f, -0.013063f, -0.005021f, -0.001107f, -0.000166f, -0.000846f, 0.004906f, -0.001861f, -0.004828f, -0.003774f, -0.010108f, -0.000930f, -0.010092f, -0.000593f, 0.002258f, 0.002530f, -0.002650f, 0.000242f, -0.001839f, -0.000342f, -0.003490f, -0.003296f, 0.002182f, -0.002113f, -0.002515f, 0.004000f, 0.013333f, 0.000640f, 0.005849f, 0.010699f, -0.000998f, -0.002204f, 0.010010f, -0.005495f, -0.000756f, -0.002224f, 0.000462f, 0.004186f, 0.001793f, -0.004491f, -0.005257f, 0.005688f, 0.003223f, 0.006391f, -0.003809f, -0.003521f, -0.005040f, -0.002158f, -0.001952f, -0.002389f, -0.003433f, 0.001183f, -0.017397f, 0.013370f, 0.000607f, 0.006107f, 0.006067f, 0.017318f, 0.008123f, -0.006486f, -0.008161f, -0.011379f, 0.008053f, -0.009966f, -0.007246f, 0.001543f, 0.002440f, 0.000994f, 0.010147f, -0.003412f, 0.009481f, -0.002525f, + 0.008505f, -0.008190f, 0.003700f, -0.003672f, -0.008712f, -0.000708f, -0.016570f, 0.002376f, 0.003995f, 0.007278f, -0.006093f, -0.000210f, 0.006380f, -0.004861f, 0.007171f, 0.006690f, -0.004164f, 0.004763f, -0.005560f, -0.002689f, -0.004137f, -0.006068f, -0.007616f, 0.006586f, 0.009857f, -0.007610f, 0.004311f, 0.007835f, 0.006361f, 0.009621f, 0.001102f, -0.001660f, 0.005563f, 0.004132f, -0.010520f, -0.000606f, 0.001019f, 0.000437f, 0.003086f, 0.006480f, 0.001275f, 0.002184f, -0.003863f, -0.002543f, 0.004442f, 0.006390f, 0.003353f, -0.003837f, -0.006632f, 0.006560f, -0.006135f, -0.002157f, 0.003145f, -0.001523f, -0.001218f, 0.002570f, -0.000674f, 0.006880f, -0.003621f, 0.005041f, 0.000502f, -0.000416f, -0.013957f, 0.002251f, 0.011936f, -0.007307f, 0.004951f, -0.014844f, -0.014988f, -0.004951f, -0.012178f, -0.010664f, -0.001564f, 0.002199f, 0.008438f, 0.001330f, -0.003993f, 0.001893f, 0.005767f, -0.007393f, 0.010292f, -0.006943f, -0.007433f, 0.008658f, -0.004244f, 0.009975f, 0.012769f, 0.001745f, -0.009074f, 0.006392f, 0.004276f, 0.002553f, -0.004563f, -0.003393f, 0.005436f, 0.004436f, + 0.001019f, -0.010365f, -0.002864f, -0.009575f, 0.008768f, -0.008643f, -0.005483f, 0.006344f, 0.000458f, 0.005507f, 0.001751f, 0.002111f, 0.009585f, 0.001588f, 0.010745f, -0.013585f, -0.006750f, -0.003130f, 0.006985f, 0.009543f, 0.011163f, 0.014842f, 0.001923f, -0.004168f, -0.001060f, -0.001914f, -0.000044f, -0.009520f, -0.003737f, -0.004039f, -0.000601f, 0.001698f, -0.007098f, -0.004316f, -0.000825f, -0.002867f, -0.004687f, 0.007900f, 0.015673f, -0.012013f, -0.004650f, -0.002548f, 0.009549f, 0.008601f, -0.009134f, -0.001033f, -0.016762f, -0.003832f, 0.019820f, 0.007335f, -0.008294f, 0.014177f, 0.004469f, 0.005320f, 0.001241f, -0.005042f, -0.016009f, 0.001907f, -0.007336f, -0.004710f, -0.003112f, -0.009828f, -0.003633f, -0.007654f, 0.004967f, -0.003578f, -0.004585f, 0.008798f, -0.017211f, 0.015422f, -0.005735f, 0.002019f, -0.005545f, 0.004677f, -0.000859f, -0.001760f, -0.000645f, 0.006455f, 0.000106f, 0.004011f, -0.006292f, 0.011515f, -0.009323f, 0.013444f, 0.002687f, -0.001534f, -0.007846f, -0.009134f, 0.018319f, 0.003019f, -0.017574f, 0.017594f, 0.016545f, -0.009255f, -0.003522f, 0.005104f, + -0.007036f, -0.001422f, -0.004391f, 0.004072f, 0.010531f, -0.006613f, 0.002316f, -0.004962f, -0.004542f, 0.001681f, 0.014325f, -0.013215f, 0.008005f, -0.013561f, -0.010358f, -0.009683f, -0.001503f, 0.000653f, 0.000650f, 0.003112f, 0.006045f, -0.004576f, 0.002234f, -0.010513f, 0.013091f, -0.015387f, 0.002207f, 0.019330f, -0.030653f, 0.024042f, 0.010510f, -0.006930f, 0.008605f, 0.000990f, 0.021084f, -0.000385f, -0.014622f, -0.009622f, 0.008112f, 0.009261f, 0.003721f, 0.002238f, 0.009848f, 0.004206f, 0.002913f, 0.013003f, 0.006161f, 0.004979f, 0.009671f, 0.007618f, 0.029399f, -0.005855f, 0.008968f, 0.001423f, -0.003011f, 0.009074f, 0.006054f, 0.004701f, 0.005102f, -0.002663f, -0.006139f, 0.002439f, 0.001563f, 0.002358f, 0.005609f, 0.010492f, -0.007084f, -0.007175f, 0.005568f, -0.000132f, -0.001925f, -0.003392f, 0.012937f, -0.005961f, 0.017992f, 0.009928f, 0.002348f, 0.006146f, 0.003018f, 0.006858f, 0.022456f, 0.019958f, 0.002991f, 0.003580f, 0.005675f, -0.001449f, 0.009480f, 0.001208f, 0.008732f, 0.005344f, 0.002182f, 0.003574f, -0.007138f, 0.012733f, 0.008260f, -0.001481f, + 0.004724f, -0.001347f, 0.009669f, 0.000735f, 0.011091f, -0.003491f, 0.009943f, -0.006522f, 0.020058f, -0.014341f, -0.004752f, -0.006645f, 0.020721f, 0.011656f, 0.008152f, 0.012997f, -0.010573f, -0.001995f, 0.019277f, 0.010721f, 0.009553f, 0.009183f, 0.005722f, 0.006359f, -0.001116f, 0.017827f, -0.000807f, -0.007957f, -0.004973f, 0.006312f, -0.005552f, 0.004138f, -0.015538f, 0.006241f, -0.002019f, 0.000358f, -0.016698f, 0.007723f, -0.002580f, 0.016782f, -0.001434f, 0.005249f, 0.005975f, -0.007201f, -0.000351f, 0.007514f, 0.002522f, 0.005067f, -0.002266f, 0.009102f, 0.014818f, 0.001405f, -0.007566f, 0.003234f, 0.011043f, 0.006301f, 0.003061f, -0.006715f, -0.011075f, 0.010467f, -0.012434f, -0.006596f, 0.010302f, -0.019706f, -0.002050f, 0.011383f, -0.006315f, 0.001971f, 0.002995f, -0.001588f, 0.000646f, 0.004435f, -0.005755f, 0.000401f, -0.010970f, -0.007208f, -0.009628f, -0.006702f, 0.004236f, -0.036338f, 0.005185f, -0.012173f, -0.007457f, 0.007037f, 0.005157f, 0.003241f, 0.000572f, -0.027021f, -0.003711f, 0.006984f, -0.014903f, -0.004759f, -0.020021f, -0.010827f, 0.003302f, -0.003401f, + -0.018490f, 0.017129f, 0.010099f, -0.006754f, 0.001048f, 0.013204f, -0.010210f, 0.002673f, -0.007267f, -0.011238f, -0.007743f, -0.019366f, -0.007663f, 0.012450f, 0.005570f, 0.016236f, -0.009722f, -0.029886f, -0.013226f, 0.005707f, -0.010029f, -0.019959f, -0.003986f, -0.004838f, 0.016210f, 0.007331f, -0.020656f, 0.011884f, -0.014836f, -0.002264f, -0.010913f, -0.011216f, -0.010037f, -0.023432f, -0.013716f, 0.000114f, 0.013449f, 0.019783f, 0.013017f, 0.002411f, 0.007893f, -0.011334f, -0.016856f, -0.011710f, 0.009837f, -0.006673f, 0.010724f, -0.005091f, -0.010678f, -0.002294f, 0.000775f, -0.006851f, -0.011660f, -0.001216f, 0.009143f, -0.030697f, -0.017860f, 0.023383f, 0.014059f, 0.000161f, 0.007419f, -0.008741f, 0.007403f, -0.012158f, -0.000251f, 0.022430f, -0.009685f, 0.021189f, 0.021736f, 0.026352f, 0.007210f, 0.010769f, 0.023120f, 0.017876f, 0.013666f, -0.017007f, 0.003061f, 0.005796f, 0.015833f, -0.002669f, -0.012010f, 0.016916f, 0.017777f, -0.004561f, 0.012169f, -0.005404f, -0.004940f, 0.010767f, 0.010122f, -0.001139f, 0.011859f, 0.001072f, -0.016711f, -0.014104f, 0.016416f, 0.022318f, + -0.000649f, -0.007692f, 0.005840f, 0.000670f, -0.009442f, -0.019952f, 0.011599f, -0.018906f, -0.007914f, 0.014265f, 0.004335f, 0.012565f, 0.001874f, 0.020177f, 0.004207f, 0.022134f, -0.024614f, 0.023324f, -0.003112f, -0.001239f, 0.008649f, 0.012089f, -0.008422f, -0.022002f, -0.004453f, 0.019249f, -0.002108f, -0.023641f, -0.011800f, -0.014782f, 0.005750f, 0.007615f, -0.018037f, 0.009328f, 0.013823f, 0.019911f, 0.008813f, 0.005383f, 0.006639f, 0.022093f, 0.002507f, 0.009039f, 0.026293f, 0.028432f, 0.008173f, 0.006928f, -0.021663f, -0.011019f, 0.023056f, -0.017713f, 0.023558f, 0.006516f, -0.000559f, -0.005028f, -0.008871f, -0.014105f, 0.002048f, 0.010415f, -0.026334f, -0.011900f, -0.011514f, 0.005535f, 0.004636f, 0.005475f, 0.000228f, 0.004214f, -0.001534f, 0.007620f, 0.005714f, -0.007004f, -0.012744f, -0.022473f, 0.003279f, -0.012201f, 0.019475f, 0.000677f, -0.011897f, -0.014173f, -0.005028f, 0.009241f, -0.018291f, 0.010857f, -0.006655f, 0.003506f, -0.001023f, -0.012598f, 0.011547f, 0.015586f, -0.011651f, 0.013095f, 0.002844f, -0.001130f, 0.036682f, -0.009592f, -0.025429f, 0.004497f, + 0.008127f, -0.006252f, 0.000932f, -0.010794f, 0.024402f, 0.014676f, -0.003760f, -0.005698f, 0.016868f, 0.017064f, -0.004986f, -0.015150f, -0.012163f, 0.035085f, -0.004741f, -0.005584f, -0.015768f, 0.008379f, -0.020507f, -0.006430f, -0.007067f, 0.000761f, 0.007456f, 0.018475f, 0.016003f, -0.027881f, -0.000286f, 0.002316f, -0.003648f, -0.008920f, -0.019530f, -0.002759f, 0.005353f, 0.010210f, 0.008063f, -0.017936f, -0.003920f, -0.022507f, 0.019350f, 0.000046f, -0.002975f, 0.008916f, -0.010621f, -0.002606f, -0.024054f, 0.003033f, -0.014769f, 0.008673f, -0.002812f, -0.004702f, -0.008826f, -0.016152f, -0.015932f, -0.002604f, -0.019426f, -0.030784f, -0.006645f, -0.014485f, -0.029882f, -0.003176f, -0.003597f, -0.016588f, 0.009169f, 0.014975f, -0.003141f, 0.006702f, -0.003203f, -0.003335f, 0.003042f, 0.003841f, -0.024598f, -0.007697f, 0.011452f, -0.012050f, 0.026495f, 0.004230f, 0.005987f, -0.018788f, -0.001703f, -0.008902f, -0.019983f, -0.002710f, 0.024146f, 0.011289f, 0.017785f, 0.010264f, -0.010646f, -0.021439f, -0.034960f, 0.021498f, 0.019722f, -0.002696f, 0.008258f, -0.023692f, -0.051137f, -0.013285f, + 0.039518f, 0.012759f, 0.015753f, -0.011134f, 0.015925f, 0.027312f, 0.001452f, -0.005410f, -0.047234f, -0.011590f, -0.002782f, 0.026015f, 0.006939f, 0.009984f, -0.035518f, -0.010156f, -0.013567f, -0.009081f, 0.021151f, -0.013035f, -0.004819f, 0.002977f, 0.005657f, -0.011839f, -0.005384f, 0.004792f, -0.010321f, 0.020521f, -0.024499f, 0.001745f, 0.015219f, -0.021384f, 0.016279f, 0.027745f, 0.032771f, 0.015109f, 0.015746f, 0.020965f, -0.015578f, -0.028450f, 0.010401f, 0.011010f, 0.017603f, 0.013506f, -0.031706f, -0.009837f, 0.015721f, 0.008439f, 0.005301f, 0.018496f, 0.003717f, 0.021696f, -0.009154f, -0.005956f, 0.012277f, 0.010954f, 0.002852f, -0.021114f, -0.011534f, -0.022611f, -0.025530f, -0.002535f, -0.027916f, 0.000327f, -0.016753f, 0.000022f, -0.015451f, -0.009511f, -0.035940f, 0.022824f, 0.004804f, -0.006188f, -0.007870f, -0.005049f, 0.002781f, 0.031133f, -0.015981f, -0.013732f, -0.012263f, 0.021290f, 0.027113f, -0.017887f, 0.043845f, 0.008833f, -0.019590f, 0.022257f, 0.005876f, -0.018984f, -0.022370f, -0.018020f, -0.002048f, -0.009877f, -0.007104f, -0.029417f, 0.010975f, 0.011657f, + 0.039420f, 0.005028f, -0.007507f, -0.018472f, -0.019626f, 0.004435f, -0.002927f, -0.025694f, 0.003803f, -0.009725f, 0.000518f, 0.019275f, -0.015850f, 0.025614f, -0.023437f, -0.019347f, -0.002008f, -0.029952f, -0.036295f, 0.005584f, -0.004805f, -0.041209f, 0.002109f, 0.000354f, -0.020274f, 0.010178f, -0.010232f, 0.005147f, -0.028489f, -0.045286f, 0.028996f, -0.027650f, 0.045330f, 0.025282f, -0.033683f, -0.004028f, -0.034120f, -0.008729f, -0.004976f, 0.014210f, -0.012757f, 0.021602f, 0.025934f, 0.025893f, -0.018959f, -0.014152f, 0.001728f, -0.021474f, -0.002637f, -0.006122f, -0.029925f, 0.019228f, 0.013129f, -0.013549f, 0.024343f, -0.030224f, -0.025954f, -0.019536f, 0.014415f, 0.017173f, 0.019000f, 0.031281f, -0.010151f, 0.056788f, -0.000637f, -0.028106f, 0.013777f, 0.028387f, 0.008731f, 0.015287f, -0.011039f, -0.030232f, 0.047893f, 0.026654f, 0.020411f, 0.009793f, -0.014806f, 0.015739f, 0.040222f, -0.013579f, 0.009761f, 0.000291f, 0.009656f, 0.007351f, 0.029198f, -0.007327f, 0.010990f, -0.009143f, 0.010050f, -0.002025f, 0.000205f, 0.017776f, 0.005405f, -0.033728f, -0.021202f, -0.031586f, + -0.020147f, -0.016502f, -0.006523f, -0.024074f, -0.011901f, -0.011557f, -0.019232f, -0.014308f, 0.011624f, -0.021765f, -0.005383f, -0.016784f, 0.043782f, 0.021559f, 0.038548f, -0.032108f, -0.000400f, -0.029283f, -0.003486f, 0.033959f, 0.021367f, 0.039941f, 0.021954f, 0.024987f, -0.022465f, 0.012386f, 0.015172f, 0.037247f, 0.041039f, 0.012038f, 0.037951f, -0.027637f, -0.008718f, 0.023115f, -0.069669f, 0.003948f, 0.032903f, 0.021506f, -0.021038f, 0.041988f, 0.025016f, -0.001770f, -0.010120f, -0.004896f, 0.025278f, 0.061879f, 0.033125f, 0.009195f, 0.002801f, 0.020565f, -0.004728f, 0.050021f, 0.028276f, 0.031373f, 0.001438f, -0.015472f, 0.010682f, 0.004076f, -0.026285f, -0.006183f, -0.001561f, -0.005925f, -0.007448f, 0.010389f, 0.005553f, -0.021382f, -0.010360f, -0.038023f, -0.003927f, -0.011656f, -0.049300f, -0.021905f, 0.001438f, 0.018633f, -0.025451f, 0.031871f, -0.008912f, -0.007456f, -0.004488f, -0.007671f, 0.022854f, -0.015506f, 0.015863f, -0.050565f, 0.015321f, 0.021921f, 0.016633f, 0.033459f, -0.033678f, 0.028520f, -0.030347f, -0.022718f, 0.024362f, -0.015193f, -0.005110f, 0.020178f, + -0.034617f, 0.029029f, 0.047219f, -0.002252f, -0.008024f, 0.059740f, -0.014419f, 0.009676f, 0.033197f, -0.076625f, -0.039452f, -0.001386f, 0.000177f, 0.004380f, 0.015015f, 0.026735f, 0.016703f, -0.040139f, -0.011114f, -0.058470f, -0.035198f, 0.043148f, 0.042811f, 0.004692f, -0.010185f, 0.036438f, -0.058765f, -0.031377f, -0.063602f, 0.027931f, 0.007586f, 0.002998f, 0.012168f, -0.028695f, 0.014463f, 0.020322f, 0.026158f, 0.044903f, 0.045678f, 0.038823f, -0.001803f, 0.009009f, 0.000233f, -0.016467f, -0.003767f, -0.013674f, -0.007563f, 0.053579f, -0.012785f, -0.048548f, -0.012754f, -0.009659f, 0.003959f, 0.077113f, -0.028172f, -0.027029f, 0.025465f, -0.041040f, 0.013839f, -0.045566f, 0.059637f, 0.017549f, -0.002285f, 0.016011f, -0.023870f, -0.028795f, 0.040555f, -0.049530f, -0.040811f, -0.035384f, 0.009201f, 0.015768f, 0.017913f, -0.032706f, 0.033391f, -0.009818f, 0.001589f, 0.053694f, -0.004694f, -0.008106f, 0.014378f, 0.043614f, -0.028932f, 0.071788f, 0.001151f, -0.080395f, -0.011612f, -0.001843f, -0.029235f, -0.006319f, -0.002543f, -0.005639f, -0.025811f, -0.015545f, 0.032583f, 0.014916f, + -0.011762f, -0.002754f, 0.082589f, 0.050905f, -0.057949f, -0.045884f, 0.067416f, 0.064517f, 0.042152f, 0.047736f, -0.069888f, -0.011547f, -0.015777f, 0.024572f, 0.012078f, -0.025265f, -0.050329f, -0.078653f, 0.029304f, 0.026994f, 0.011357f, 0.027954f, -0.006515f, 0.000808f, -0.014909f, 0.021634f, 0.033877f, 0.031047f, 0.011768f, 0.039626f, 0.016083f, 0.001275f, -0.009008f, -0.045556f, 0.002366f, -0.016067f, -0.012568f, 0.023045f, -0.049299f, 0.010339f, 0.007454f, -0.019883f, 0.027577f, 0.026045f, 0.015477f, -0.030914f, -0.028641f, -0.084011f, -0.017316f, 0.006665f, -0.023131f, 0.011266f, 0.024777f, 0.025295f, 0.056192f, 0.031267f, -0.016130f, -0.008716f, -0.027140f, 0.049439f, -0.011292f, 0.080706f, 0.067906f, 0.024919f, -0.031995f, 0.089326f, 0.044680f, -0.023485f, 0.013081f, 0.050818f, 0.102866f, -0.027212f, -0.061751f, -0.023045f, 0.013496f, -0.004085f, 0.034979f, 0.014598f, -0.017005f, 0.018894f, 0.001718f, -0.014401f, 0.032058f, 0.011478f, -0.009765f, -0.029872f, 0.026464f, -0.050925f, -0.045962f, -0.016935f, 0.038067f, -0.021029f, -0.025346f, -0.000382f, 0.043864f, 0.004238f, + 0.045385f, -0.014926f, 0.054539f, 0.005638f, 0.030218f, -0.019012f, -0.010212f, 0.015992f, -0.052048f, -0.015930f, 0.022886f, -0.010586f, -0.004762f, -0.044741f, -0.038596f, 0.018009f, -0.022343f, -0.019389f, 0.036869f, 0.044982f, -0.003657f, 0.028925f, -0.051582f, 0.001568f, -0.011379f, 0.069368f, -0.025686f, 0.021588f, 0.047668f, 0.039237f, 0.016362f, -0.031641f, 0.022946f, 0.010418f, 0.017366f, 0.019884f, -0.065250f, 0.126225f, 0.046823f, -0.015227f, 0.012562f, 0.010290f, 0.042173f, -0.014762f, 0.034362f, 0.070267f, 0.002893f, -0.099601f, 0.046969f, 0.025509f, -0.024479f, 0.035648f, 0.000162f, -0.029678f, -0.038719f, 0.083861f, -0.035788f, 0.086876f, -0.037806f, -0.015465f, 0.088989f, 0.010650f, 0.048309f, 0.024660f, -0.048968f, 0.003072f, 0.029022f, -0.008729f, -0.042669f, -0.008158f, -0.093030f, -0.026027f, -0.034705f, -0.020057f, 0.020212f, -0.002737f, 0.033173f, -0.016339f, 0.003476f, 0.032383f, -0.029049f, 0.003075f, 0.018301f, -0.001887f, -0.031921f, -0.000133f, -0.022033f, 0.064060f, -0.011544f, 0.037071f, 0.005683f, -0.000755f, 0.065397f, 0.047244f, -0.029408f, -0.034166f, + 0.016177f, 0.029599f, 0.035535f, 0.043644f, -0.001459f, 0.015255f, 0.040843f, -0.002483f, -0.017558f, 0.012786f, 0.000517f, -0.037090f, -0.001901f, 0.024044f, -0.037461f, -0.049081f, -0.005978f, -0.003164f, -0.006773f, -0.016568f, -0.019391f, -0.058321f, -0.002017f, 0.057120f, 0.015332f, 0.031894f, 0.016167f, -0.007379f, -0.078272f, -0.054597f, 0.011241f, 0.049688f, 0.011597f, 0.026266f, 0.093541f, 0.105335f, 0.080069f, -0.002467f, 0.033769f, -0.020956f, -0.077170f, -0.023309f, -0.053661f, 0.020725f, -0.030382f, 0.021172f, -0.010643f, -0.036832f, -0.008125f, 0.003821f, 0.024935f, -0.013277f, 0.015050f, -0.056151f, 0.061079f, -0.122102f, -0.007709f, -0.027602f, -0.020827f, 0.020744f, 0.077238f, 0.015403f, 0.031379f, -0.058315f, 0.019228f, 0.026613f, 0.055010f, -0.022117f, -0.034588f, -0.024221f, -0.007940f, 0.001700f, 0.004739f, 0.033543f, 0.027782f, -0.014173f, -0.084938f, -0.039768f, -0.067772f, 0.012019f, 0.137008f, -0.088993f, -0.029966f, -0.010872f, 0.082281f, -0.021956f, 0.038939f, -0.020893f, 0.043634f, -0.011236f, -0.014523f, -0.043774f, 0.031964f, -0.051299f, 0.058344f, 0.093711f, + 0.020062f, -0.013893f, -0.008227f, 0.078016f, 0.029104f, 0.001916f, 0.049347f, 0.015489f, 0.024400f, -0.012281f, 0.097559f, -0.134897f, 0.110139f, -0.081830f, 0.051228f, 0.098792f, -0.066261f, 0.158633f, 0.120792f, -0.042710f, -0.000900f, 0.097942f, 0.019423f, -0.003389f, 0.092230f, 0.088067f, -0.075383f, 0.073397f, 0.067206f, -0.063294f, -0.096068f, -0.141290f, 0.032559f, 0.212621f, 0.086802f, 0.000666f, 0.043324f, -0.202710f, -0.084435f, -0.006792f, 0.030329f, 0.153238f, 0.148798f, 0.026344f, -0.058350f, -0.111891f, -0.066732f, 0.008315f, 0.047436f, 0.073804f, 0.116650f, 0.071811f, -0.095654f, -0.222928f, -0.183450f, -0.016904f, 0.202012f, 0.222024f, 0.138473f, 0.043863f, -0.048061f, -0.088852f, -0.137491f, -0.076274f, -0.084159f, 0.164067f, 0.133906f, 0.087116f, 0.074269f, -0.113134f, -0.162477f, -0.184936f, -0.168844f, 0.066586f, 0.225166f, 0.281407f, 0.092794f, -0.082112f, -0.200340f, -0.235709f, -0.066511f, 0.041225f, 0.022944f, 0.152231f, 0.056810f, -0.053035f, -0.035117f, -0.111260f, -0.026756f, -0.127483f, 0.055191f, 0.159534f, 0.289500f, -0.013753f, -0.157040f, -0.334677f, + -0.014577f, -0.113397f, 0.001321f, -0.019527f, 0.095682f, 0.055817f, -0.008436f, 0.020132f, 0.010411f, -0.068443f, -0.007031f, -0.005859f, 0.007571f, 0.001760f, 0.005634f, -0.025349f, -0.009751f, -0.009669f, -0.006011f, -0.011869f, 0.041113f, -0.015243f, 0.017887f, -0.031356f, -0.002689f, 0.011974f, -0.001001f, -0.010103f, 0.070973f, 0.008913f, -0.039343f, -0.047275f, 0.010357f, 0.008756f, -0.026583f, 0.006487f, 0.036121f, 0.017224f, 0.034102f, -0.035354f, 0.011174f, -0.002563f, 0.008927f, -0.025469f, 0.005564f, 0.025051f, 0.038789f, 0.007836f, -0.008654f, 0.009206f, 0.005525f, -0.010790f, 0.027078f, -0.040162f, 0.010059f, -0.064238f, -0.017764f, 0.022975f, -0.019245f, -0.027689f, 0.035560f, -0.024556f, -0.055645f, -0.048121f, 0.041926f, -0.008728f, -0.005265f, 0.004872f, 0.022959f, 0.045401f, -0.029437f, -0.048074f, 0.005571f, -0.012249f, 0.038386f, -0.007597f, 0.025312f, -0.001881f, 0.004354f, -0.057409f, -0.063156f, -0.148402f, 0.041161f, 0.040639f, -0.004319f, -0.125350f, -0.081426f, -0.013218f, -0.021618f, 0.081374f, 0.054598f, 0.025419f, -0.056109f, -0.024106f, -0.015760f, 0.050389f, + 0.004502f, -0.016250f, -0.033367f, 0.019786f, 0.008310f, 0.024316f, -0.002516f, -0.012024f, -0.014245f, -0.031152f, -0.015838f, -0.019439f, 0.048555f, 0.024995f, 0.004896f, 0.005945f, -0.033508f, -0.003226f, 0.003134f, 0.043754f, -0.004040f, 0.019617f, -0.017513f, -0.013166f, 0.008585f, -0.020080f, 0.011770f, 0.003988f, 0.012793f, 0.042714f, -0.004217f, 0.037336f, -0.000751f, 0.023510f, -0.019339f, 0.000315f, -0.028237f, -0.037893f, -0.038301f, -0.034204f, 0.011287f, 0.004542f, 0.003505f, -0.049666f, 0.024951f, -0.043290f, -0.003454f, 0.001271f, -0.024710f, -0.029476f, -0.012802f, -0.000119f, -0.047360f, -0.034576f, 0.035571f, -0.015349f, 0.035125f, 0.005107f, 0.029999f, -0.074171f, -0.179238f, -0.172072f, -0.028583f, 0.047901f, 0.167078f, 0.143649f, 0.135631f, 0.145455f, 0.080021f, 0.016702f, -0.077825f, -0.078828f, -0.159478f, -0.125193f, -0.109376f, -0.071194f, -0.087744f, 0.113803f, 0.094022f, 0.123482f, 0.070838f, 0.100231f, -0.006130f, 0.023697f, -0.018979f, -0.044208f, -0.025396f, -0.052178f, -0.058495f, -0.059913f, -0.057440f, -0.069373f, -0.049976f, -0.042844f, -0.006327f, 0.006408f, + 0.090294f, 0.073348f, 0.039027f, 0.039785f, 0.059154f, 0.052363f, 0.025669f, 0.127058f, 0.015692f, -0.002379f, 0.023380f, -0.053101f, -0.151508f, -0.047181f, -0.121483f, -0.133491f, -0.137336f, -0.100814f, -0.086533f, 0.000178f, 0.071231f, 0.068754f, 0.089146f, 0.157833f, 0.117093f, 0.138168f, 0.140754f, 0.085445f, 0.097694f, 0.029486f, -0.030681f, -0.111870f, -0.138810f, -0.165241f, -0.099287f, -0.146024f, -0.110967f, -0.133844f, -0.053083f, 0.030150f, 0.053929f, 0.036036f}, + {-0.001762f, -0.001927f, -0.005387f, -0.011765f, 0.000513f, -0.000946f, -0.008111f, 0.001718f, -0.000350f, -0.002172f, -0.002009f, 0.008071f, 0.007900f, 0.002005f, 0.011372f, -0.008689f, 0.008113f, 0.005199f, -0.007543f, 0.006350f, -0.014101f, -0.003699f, -0.022708f, -0.003347f, 0.004833f, -0.004680f, 0.003424f, 0.003284f, 0.001225f, -0.000676f, -0.002191f, -0.004385f, -0.001145f, 0.003789f, 0.004209f, 0.000485f, 0.005467f, -0.002181f, -0.004344f, 0.004546f, 0.005509f, 0.003640f, -0.009044f, -0.008412f, -0.005900f, -0.005315f, -0.005729f, 0.006423f, 0.004356f, -0.004930f, -0.008493f, -0.014221f, -0.001555f, -0.005097f, 0.003557f, 0.006529f, 0.001865f, -0.003169f, 0.000241f, 0.006130f, -0.005291f, 0.006801f, 0.000284f, -0.000893f, -0.016942f, -0.003569f, -0.006901f, -0.001780f, 0.008577f, -0.001167f, -0.004455f, -0.000708f, 0.007405f, -0.005220f, 0.000468f, 0.000620f, -0.008335f, 0.013709f, 0.004714f, -0.002633f, 0.003401f, 0.004325f, 0.008188f, 0.013722f, -0.006747f, 0.004475f, -0.005761f, -0.004529f, 0.002684f, -0.000098f, 0.001061f, -0.009906f, -0.004842f, 0.003312f, 0.006802f, -0.001057f, + 0.005719f, -0.010620f, -0.009386f, 0.005711f, 0.003656f, 0.001464f, 0.004174f, -0.003726f, 0.007425f, 0.008255f, 0.008075f, 0.011551f, -0.006574f, -0.005518f, 0.000336f, 0.001331f, -0.011303f, -0.000867f, -0.001055f, 0.002923f, 0.001023f, -0.007181f, -0.001811f, 0.009397f, -0.005188f, 0.001712f, -0.005940f, 0.002647f, 0.002869f, 0.001753f, -0.008812f, 0.006886f, 0.000555f, 0.001434f, -0.001295f, -0.003018f, -0.003716f, -0.006095f, 0.012559f, -0.002365f, -0.002441f, -0.002959f, 0.005508f, 0.001209f, -0.012096f, 0.002965f, -0.005602f, -0.008259f, 0.004705f, -0.005074f, -0.013113f, 0.005248f, 0.001754f, 0.000757f, -0.012033f, -0.014097f, -0.005361f, 0.008524f, 0.001387f, 0.001128f, 0.007625f, -0.010318f, 0.002219f, -0.008535f, -0.010941f, 0.003716f, 0.011067f, -0.006145f, 0.005469f, -0.004512f, -0.001988f, 0.002597f, 0.000939f, -0.004821f, -0.015260f, -0.015097f, 0.000677f, -0.003479f, 0.000252f, 0.008598f, 0.001694f, 0.010427f, 0.013844f, -0.006625f, 0.012005f, 0.001925f, 0.012174f, 0.001223f, 0.014371f, 0.002264f, -0.007468f, -0.001669f, 0.001148f, 0.006866f, -0.001372f, -0.001611f, + 0.001737f, 0.005338f, -0.005479f, 0.000150f, -0.001465f, 0.004790f, 0.005538f, 0.000802f, -0.004990f, 0.000144f, -0.000660f, 0.003589f, 0.005766f, 0.010349f, -0.003152f, 0.006910f, -0.002614f, -0.007994f, -0.007389f, -0.004601f, 0.005048f, 0.005808f, -0.002696f, 0.009063f, 0.000437f, 0.003663f, 0.000561f, 0.010909f, 0.006916f, 0.008192f, 0.003099f, 0.005050f, 0.002690f, 0.004678f, 0.008236f, -0.001437f, -0.000860f, 0.011141f, 0.011491f, -0.012848f, -0.008864f, -0.007342f, -0.010548f, 0.002635f, 0.003697f, -0.008517f, 0.001246f, 0.015969f, -0.012618f, 0.007869f, 0.013552f, 0.013573f, -0.009315f, -0.002821f, 0.006284f, 0.000897f, 0.001469f, -0.006724f, 0.002752f, -0.021769f, 0.016051f, 0.025884f, 0.003915f, 0.008472f, -0.005027f, -0.000722f, 0.013181f, -0.007686f, -0.017650f, -0.003139f, -0.000561f, -0.000370f, -0.014452f, 0.000705f, 0.002532f, -0.016473f, -0.008484f, 0.007239f, 0.001646f, -0.006013f, -0.002428f, 0.005371f, -0.008849f, 0.016538f, 0.004245f, 0.000573f, -0.011772f, -0.001246f, 0.004733f, -0.003816f, -0.000727f, -0.003985f, -0.001340f, -0.001725f, -0.009783f, 0.000437f, + -0.009546f, 0.012498f, -0.013412f, -0.008145f, -0.004040f, -0.014587f, 0.008374f, -0.007844f, -0.021704f, -0.003726f, -0.010263f, 0.002476f, 0.007697f, -0.009491f, -0.000534f, -0.006558f, 0.004814f, 0.000413f, -0.008281f, 0.000331f, 0.003129f, -0.008905f, 0.006548f, 0.000276f, -0.001344f, 0.007718f, -0.006279f, -0.023242f, -0.004161f, -0.000888f, 0.010886f, 0.015323f, 0.013526f, 0.006874f, -0.004666f, -0.001003f, -0.014234f, -0.011837f, 0.004736f, 0.017363f, -0.004367f, 0.017780f, 0.011328f, -0.009951f, 0.006094f, -0.000986f, 0.006341f, -0.011181f, -0.007604f, 0.002610f, 0.008908f, -0.000414f, 0.005442f, 0.007794f, -0.013045f, -0.002001f, -0.005856f, -0.017525f, 0.011628f, 0.002507f, 0.004396f, 0.008608f, 0.014710f, 0.005759f, 0.000921f, 0.012064f, -0.002428f, -0.005056f, 0.011853f, -0.005386f, 0.019870f, 0.009840f, 0.007979f, 0.001186f, -0.005549f, -0.006104f, 0.009741f, 0.013923f, -0.009702f, 0.003186f, 0.012543f, -0.001396f, 0.004047f, 0.028527f, -0.008443f, -0.002471f, 0.005262f, -0.012996f, -0.000728f, 0.003382f, -0.006398f, 0.007647f, -0.004713f, 0.005023f, 0.013581f, -0.004075f, + -0.000251f, 0.002365f, -0.005235f, -0.033339f, -0.001907f, 0.000009f, -0.005940f, -0.009866f, -0.002561f, 0.018978f, -0.012042f, -0.018737f, 0.008234f, -0.007240f, 0.003746f, 0.004071f, 0.013270f, -0.007783f, -0.001507f, 0.002985f, 0.012458f, -0.004796f, -0.006424f, -0.001724f, -0.005352f, 0.008906f, 0.016531f, 0.008223f, 0.001288f, -0.000833f, -0.007650f, -0.000116f, 0.025449f, 0.004651f, -0.001771f, 0.028366f, -0.000404f, 0.021156f, -0.004988f, 0.000458f, 0.015482f, 0.004549f, 0.004899f, 0.005265f, 0.003905f, 0.007959f, 0.006000f, -0.013165f, 0.026249f, 0.015125f, 0.021879f, 0.013664f, 0.010594f, -0.013542f, 0.007676f, 0.006829f, 0.002806f, -0.008426f, 0.024805f, 0.013703f, 0.022679f, 0.003418f, -0.002093f, -0.005479f, 0.017444f, -0.007922f, -0.013452f, 0.017951f, 0.008313f, -0.010962f, -0.003169f, -0.000077f, -0.001720f, 0.000446f, 0.001291f, 0.000529f, -0.001548f, -0.008331f, -0.000903f, -0.022052f, -0.008467f, -0.024716f, -0.016746f, 0.002100f, -0.015833f, -0.012533f, 0.001934f, -0.002629f, 0.017181f, -0.010934f, 0.019014f, 0.022939f, 0.002829f, -0.019181f, -0.013078f, 0.020581f, + -0.009841f, -0.005477f, 0.012028f, -0.014876f, -0.025999f, 0.010726f, 0.023547f, -0.011751f, 0.006491f, -0.000399f, 0.010661f, -0.027723f, 0.006210f, -0.011159f, 0.007408f, 0.000517f, -0.010899f, 0.019267f, 0.009600f, 0.008073f, 0.026537f, 0.011882f, 0.006141f, 0.014441f, 0.003773f, 0.004548f, 0.008234f, 0.002249f, 0.002091f, 0.003744f, 0.004469f, 0.029051f, 0.017479f, -0.000375f, 0.025631f, 0.015064f, 0.019233f, 0.028009f, -0.013398f, -0.012554f, 0.026042f, -0.009149f, 0.000267f, -0.015299f, -0.004964f, 0.008266f, 0.014560f, -0.011894f, 0.000125f, 0.003044f, -0.001621f, 0.006074f, -0.010195f, -0.003115f, -0.011801f, 0.025728f, -0.006064f, 0.012561f, 0.008515f, -0.009010f, 0.002950f, 0.001360f, 0.002918f, -0.012948f, 0.016931f, 0.009884f, 0.022988f, 0.004523f, -0.003110f, -0.025857f, -0.013871f, -0.009639f, 0.006605f, -0.013386f, -0.022482f, -0.006164f, 0.005718f, 0.002594f, -0.025126f, 0.020452f, 0.001505f, -0.001424f, -0.021435f, -0.012186f, 0.004951f, 0.002737f, -0.023835f, -0.007277f, 0.008554f, 0.001064f, 0.002258f, 0.012267f, 0.014057f, 0.008403f, -0.003848f, 0.007261f, + 0.002021f, -0.008422f, -0.017784f, 0.030352f, -0.007842f, -0.014662f, 0.000018f, 0.007577f, 0.009481f, 0.022685f, 0.003386f, -0.000371f, -0.008876f, -0.000233f, 0.012138f, -0.001591f, 0.015224f, 0.030015f, 0.002018f, -0.006589f, 0.000346f, 0.025750f, 0.031726f, -0.016310f, 0.003808f, 0.004256f, 0.016697f, 0.008879f, 0.002181f, 0.004870f, -0.013919f, 0.007314f, 0.007144f, 0.007311f, -0.006986f, -0.001063f, 0.004623f, 0.007000f, -0.007481f, 0.012867f, -0.009679f, -0.018295f, 0.014278f, -0.000583f, -0.003765f, 0.006069f, 0.012277f, -0.031320f, 0.002899f, 0.025797f, -0.001974f, 0.045609f, 0.022201f, -0.012567f, -0.009103f, -0.003119f, -0.011996f, -0.004647f, 0.020777f, -0.006569f, -0.005660f, 0.021050f, 0.017050f, 0.006467f, 0.010138f, 0.019781f, 0.013185f, 0.015108f, -0.009383f, -0.005814f, 0.018535f, -0.002279f, 0.016852f, 0.001324f, -0.018312f, -0.011059f, 0.005999f, 0.016394f, -0.019999f, 0.002596f, -0.010302f, 0.007154f, -0.011892f, 0.019045f, 0.018446f, -0.015832f, -0.001028f, 0.006459f, 0.000247f, -0.021822f, -0.009634f, 0.005506f, 0.016255f, 0.026973f, 0.009459f, -0.017213f, + -0.003325f, -0.002906f, -0.001365f, 0.017727f, 0.003407f, 0.014629f, -0.018358f, 0.010556f, 0.002257f, -0.013255f, 0.019093f, 0.009820f, -0.001332f, -0.001776f, 0.004401f, 0.001755f, -0.013984f, 0.021594f, -0.024441f, -0.003093f, -0.007119f, 0.027008f, -0.010629f, 0.022400f, -0.005664f, 0.020955f, 0.028248f, -0.011173f, 0.009652f, -0.006054f, 0.016582f, -0.005041f, 0.014007f, 0.011536f, 0.011219f, -0.001501f, 0.011760f, -0.004566f, -0.012325f, -0.005709f, 0.016247f, -0.016873f, 0.003991f, 0.000668f, 0.014641f, 0.027881f, -0.023623f, 0.001564f, 0.025613f, 0.000071f, 0.023545f, 0.003684f, 0.011086f, -0.002454f, -0.000566f, 0.006603f, -0.033001f, 0.003950f, 0.000543f, -0.013127f, 0.010479f, 0.006133f, 0.026343f, 0.012880f, -0.001035f, 0.047781f, 0.013264f, -0.024544f, 0.008097f, 0.002758f, 0.018059f, -0.010433f, 0.004734f, 0.014237f, 0.002696f, 0.008721f, -0.000854f, -0.027099f, -0.026233f, 0.000127f, -0.007710f, 0.022403f, -0.036146f, 0.048630f, 0.001566f, 0.026859f, 0.032999f, 0.006952f, -0.006152f, -0.007076f, -0.012304f, -0.020872f, 0.001039f, 0.002874f, -0.045001f, -0.003065f, + 0.015437f, 0.002678f, -0.016880f, -0.041719f, 0.000023f, 0.004979f, -0.007325f, -0.001535f, -0.012333f, 0.006735f, -0.010285f, 0.021845f, 0.007581f, -0.012563f, -0.016125f, -0.027213f, 0.020554f, -0.008433f, 0.001331f, 0.027224f, 0.036820f, 0.022918f, -0.003534f, 0.002381f, -0.025432f, -0.010342f, -0.010309f, 0.007319f, -0.036055f, 0.009944f, 0.009664f, 0.002655f, -0.018621f, 0.018372f, 0.027415f, -0.003759f, -0.000650f, 0.003950f, -0.016175f, -0.016136f, 0.009566f, 0.007505f, 0.020688f, -0.022037f, 0.024721f, -0.012151f, 0.013558f, -0.020207f, -0.016910f, -0.007300f, -0.000678f, -0.001337f, 0.008974f, -0.003313f, -0.037202f, -0.026473f, -0.007875f, 0.002468f, -0.037205f, 0.002130f, 0.018498f, -0.008085f, -0.004113f, 0.007598f, 0.015983f, -0.030556f, 0.017261f, -0.003251f, -0.004102f, 0.002803f, 0.014693f, 0.020417f, -0.017415f, -0.004754f, -0.007677f, 0.040086f, 0.000562f, -0.008635f, 0.031076f, -0.007296f, -0.013244f, -0.003799f, -0.003334f, 0.038662f, 0.044239f, -0.006224f, 0.009057f, 0.010981f, -0.006165f, -0.021625f, 0.009979f, 0.041137f, 0.031214f, 0.026685f, -0.010325f, 0.011328f, + 0.021813f, -0.029379f, -0.022076f, 0.024865f, -0.013429f, -0.014607f, -0.001510f, 0.031175f, -0.005311f, 0.028651f, 0.001348f, 0.025651f, -0.016218f, 0.035407f, 0.010324f, -0.011634f, -0.018921f, 0.006036f, -0.026532f, 0.002572f, -0.031383f, -0.011049f, -0.011688f, 0.017005f, -0.018279f, 0.028369f, -0.036188f, -0.062064f, 0.037660f, 0.016473f, -0.008270f, -0.000423f, 0.041589f, 0.019074f, 0.002621f, -0.011970f, 0.008403f, -0.005861f, -0.000222f, -0.028520f, -0.028607f, 0.015309f, -0.010023f, 0.007844f, 0.051977f, -0.015120f, 0.010879f, -0.035852f, 0.040428f, -0.015354f, -0.017865f, -0.010736f, -0.004519f, 0.014530f, -0.031106f, 0.025298f, -0.045925f, -0.034092f, -0.033078f, 0.046489f, 0.001652f, 0.020056f, 0.011937f, -0.040635f, -0.035614f, 0.024198f, -0.063612f, 0.018827f, 0.018967f, -0.003853f, -0.025291f, -0.023042f, 0.039709f, -0.021054f, -0.002774f, -0.006367f, -0.020541f, 0.030504f, 0.009624f, 0.027656f, 0.015886f, 0.019219f, -0.005969f, 0.031066f, -0.002824f, -0.019600f, -0.023613f, -0.004954f, 0.013292f, -0.017379f, 0.023787f, 0.015838f, -0.017963f, -0.063870f, -0.005437f, -0.004654f, + -0.001622f, 0.047536f, 0.001033f, -0.035948f, -0.021803f, -0.021635f, 0.019199f, -0.013278f, -0.030598f, -0.033168f, -0.021263f, -0.015573f, -0.076072f, 0.002917f, 0.009417f, 0.026161f, -0.039787f, 0.014292f, -0.032907f, -0.025435f, -0.009314f, 0.033322f, 0.007968f, 0.031191f, 0.055491f, 0.018635f, 0.012498f, 0.038410f, -0.028715f, -0.001282f, -0.014010f, -0.012897f, 0.028285f, 0.029929f, 0.041493f, 0.024314f, 0.024584f, -0.017565f, -0.039578f, 0.014262f, 0.002116f, 0.001809f, 0.004300f, 0.008505f, 0.011737f, 0.021142f, 0.008820f, 0.018194f, 0.011413f, 0.021069f, 0.050774f, 0.004142f, -0.059607f, -0.020350f, 0.018721f, 0.003141f, -0.010071f, -0.037632f, -0.023490f, 0.010967f, 0.035544f, 0.015128f, -0.028083f, 0.019167f, 0.016285f, -0.032672f, -0.003522f, -0.040993f, 0.037338f, -0.015602f, -0.019472f, 0.034091f, -0.027271f, 0.011093f, 0.069106f, -0.005144f, 0.014129f, 0.022002f, 0.003384f, 0.012198f, -0.034952f, 0.012029f, 0.010491f, 0.008931f, 0.090182f, 0.061234f, -0.002539f, -0.027342f, -0.015902f, 0.030010f, 0.035692f, -0.031687f, -0.014936f, -0.043435f, 0.078299f, 0.023473f, + 0.013324f, -0.008599f, -0.002992f, -0.012998f, -0.003739f, 0.056695f, -0.008433f, 0.018285f, 0.059219f, 0.013202f, -0.008048f, -0.034504f, 0.008827f, 0.021322f, -0.069758f, 0.024177f, 0.021803f, 0.056265f, -0.010875f, -0.050386f, -0.007120f, 0.034995f, 0.019637f, -0.056441f, -0.074550f, 0.008778f, 0.050737f, 0.020690f, 0.031016f, -0.017392f, 0.023946f, 0.004225f, 0.000647f, -0.026873f, -0.009706f, -0.041967f, 0.062625f, 0.021226f, -0.050938f, -0.034681f, 0.022683f, 0.002641f, 0.012432f, -0.015010f, 0.031105f, 0.018472f, 0.021331f, 0.041220f, 0.036111f, 0.007680f, 0.035262f, -0.018519f, 0.020092f, 0.000062f, 0.024444f, 0.011528f, -0.006346f, -0.014828f, 0.016669f, -0.022106f, 0.057964f, -0.015658f, -0.011607f, 0.011995f, 0.028287f, 0.028531f, -0.020035f, 0.050250f, 0.049153f, 0.028844f, 0.011248f, 0.003921f, -0.016964f, -0.038296f, -0.065889f, -0.011042f, 0.021976f, -0.002054f, 0.027032f, 0.029928f, 0.031670f, 0.010391f, 0.016928f, 0.106322f, -0.054587f, -0.025024f, 0.008908f, 0.018299f, -0.004671f, -0.087634f, 0.017622f, -0.018310f, 0.010389f, 0.005850f, 0.035233f, -0.009863f, + -0.017006f, 0.005916f, 0.027864f, 0.027318f, -0.015635f, -0.021308f, 0.005887f, -0.020530f, -0.064409f, 0.065733f, -0.019622f, 0.018041f, 0.005874f, 0.054957f, 0.044067f, 0.027173f, -0.026774f, -0.005124f, 0.037773f, 0.019383f, 0.044500f, 0.118443f, -0.007653f, -0.047950f, -0.012535f, 0.034672f, -0.005619f, -0.056614f, 0.084554f, 0.042824f, -0.030262f, -0.047743f, -0.006105f, 0.009091f, -0.015186f, 0.032270f, 0.028190f, 0.031525f, 0.062851f, 0.008937f, 0.017331f, 0.009521f, -0.025183f, -0.060927f, 0.033949f, -0.042242f, -0.030974f, 0.044266f, 0.023459f, 0.023776f, 0.012701f, 0.006888f, -0.003907f, -0.061187f, -0.053128f, -0.002268f, 0.029262f, -0.042058f, 0.034535f, -0.021015f, -0.045460f, 0.009237f, 0.035194f, -0.011926f, 0.004061f, 0.032042f, 0.033152f, 0.032057f, -0.002042f, -0.031095f, 0.015717f, 0.082213f, 0.002704f, 0.025100f, 0.039976f, -0.017148f, -0.041635f, 0.033608f, 0.027706f, 0.000711f, -0.021978f, -0.032695f, -0.057523f, 0.010228f, 0.035682f, 0.048374f, -0.040961f, -0.044129f, 0.054244f, 0.024010f, -0.001759f, -0.005725f, -0.021964f, 0.009967f, -0.009978f, -0.023705f, + 0.025226f, 0.029744f, 0.021407f, 0.001550f, -0.003801f, -0.017377f, 0.004266f, 0.012102f, 0.008358f, -0.019673f, -0.066585f, 0.014348f, -0.014511f, -0.020943f, 0.004603f, -0.009506f, 0.006566f, -0.067964f, 0.032269f, 0.023600f, -0.047262f, 0.032815f, 0.046026f, 0.036501f, -0.008878f, 0.005149f, -0.004721f, 0.023264f, -0.004163f, -0.001465f, 0.121422f, -0.037447f, 0.011553f, -0.033694f, -0.016974f, 0.066083f, 0.026607f, 0.021344f, 0.045300f, -0.057106f, -0.043538f, 0.065989f, -0.040804f, 0.032431f, 0.045532f, 0.001526f, 0.014256f, 0.013458f, 0.080353f, -0.029592f, -0.026050f, -0.074836f, -0.011260f, -0.035391f, 0.028548f, -0.050933f, 0.080354f, 0.030502f, 0.044121f, -0.018299f, 0.050628f, -0.027716f, 0.027241f, 0.085347f, 0.042872f, 0.032937f, -0.046139f, 0.014317f, 0.047937f, -0.039088f, 0.067442f, 0.024861f, 0.036510f, 0.032860f, -0.019532f, 0.033993f, 0.029300f, 0.012960f, 0.066769f, 0.050941f, -0.002961f, -0.111808f, -0.012431f, 0.053343f, 0.051304f, 0.052881f, 0.013165f, 0.029900f, 0.003229f, 0.015471f, -0.003125f, -0.034088f, 0.072777f, -0.001082f, 0.069307f, 0.031759f, + 0.050085f, -0.068747f, 0.047484f, 0.024157f, 0.021484f, -0.017594f, 0.016558f, -0.012385f, 0.015713f, 0.069649f, 0.027552f, 0.090657f, 0.004320f, 0.020305f, 0.052453f, -0.010381f, 0.082448f, 0.041032f, 0.006658f, -0.054799f, -0.035125f, 0.030216f, 0.002434f, -0.009260f, 0.000499f, -0.009578f, 0.004860f, -0.040300f, 0.024685f, -0.042970f, -0.065983f, -0.024165f, -0.006770f, -0.021576f, -0.020470f, 0.053562f, -0.011864f, 0.049384f, -0.054206f, 0.055327f, -0.002993f, -0.017411f, -0.052090f, -0.050011f, -0.021074f, -0.022819f, 0.037282f, -0.065022f, -0.080046f, -0.087431f, -0.104554f, 0.043841f, 0.049090f, -0.005205f, -0.009695f, -0.002652f, -0.025847f, 0.003569f, 0.011532f, -0.024195f, 0.068936f, 0.063525f, 0.042036f, 0.044648f, -0.044590f, 0.026233f, 0.001387f, 0.031680f, -0.014504f, -0.020581f, -0.065199f, 0.054653f, -0.058923f, -0.073416f, -0.019213f, -0.017861f, 0.074951f, -0.044676f, 0.009612f, -0.042429f, -0.011429f, 0.069565f, 0.013140f, 0.019668f, 0.035796f, 0.063453f, 0.003930f, -0.011048f, -0.081846f, -0.018727f, -0.006533f, -0.006043f, 0.044936f, 0.020282f, 0.152519f, 0.003744f, + -0.004301f, -0.054455f, -0.003498f, 0.056501f, 0.056259f, -0.009086f, -0.025812f, -0.079350f, 0.019996f, 0.043483f, -0.022878f, -0.058971f, -0.021313f, 0.042926f, -0.011822f, 0.030675f, -0.105599f, -0.064288f, -0.082196f, -0.025851f, 0.043293f, 0.018570f, -0.007635f, -0.025647f, -0.010942f, 0.078835f, 0.007315f, 0.005182f, 0.136005f, 0.017702f, -0.092148f, -0.069858f, 0.096887f, 0.086265f, 0.010177f, -0.060032f, -0.075312f, -0.041464f, 0.021083f, 0.083951f, 0.075839f, 0.051957f, -0.023723f, 0.013897f, -0.023830f, 0.030453f, 0.065397f, 0.097347f, 0.106654f, -0.008200f, -0.048824f, -0.081125f, -0.122577f, 0.003096f, 0.073644f, 0.281563f, -0.030749f, -0.010449f, -0.128468f, -0.051115f, 0.016803f, 0.036247f, 0.170486f, 0.123233f, 0.079069f, -0.079678f, -0.041943f, -0.077814f, 0.000587f, 0.142214f, 0.133214f, 0.159714f, -0.037573f, -0.149470f, -0.106260f, -0.151043f, 0.044089f, 0.145785f, 0.130158f, 0.233931f, -0.104833f, -0.130350f, -0.112254f, -0.016247f, 0.106787f, 0.138935f, 0.194570f, 0.088877f, -0.035436f, -0.071231f, 0.021602f, -0.003354f, 0.057618f, 0.153737f, -0.030612f, 0.095562f, + -0.032247f, -0.087158f, -0.010738f, -0.066484f, 0.089711f, -0.019237f, 0.105623f, -0.095035f, 0.001805f, -0.040571f, -0.099684f, 0.075053f, -0.052230f, 0.069736f, -0.053559f, -0.018778f, -0.004731f, 0.037066f, 0.007751f, -0.036172f, -0.020699f, 0.000717f, 0.053950f, -0.047955f, 0.061787f, 0.047346f, -0.034617f, 0.010598f, -0.043454f, -0.039949f, 0.071559f, -0.068475f, -0.037230f, 0.051409f, 0.109486f, 0.002596f, 0.013483f, -0.006618f, -0.050230f, -0.009864f, 0.043326f, -0.011808f, -0.075328f, 0.014397f, -0.018346f, -0.008181f, 0.019516f, -0.062358f, 0.030812f, 0.004375f, 0.019962f, 0.056223f, -0.119724f, -0.081164f, -0.032219f, 0.002563f, 0.115806f, -0.058169f, 0.039059f, 0.099783f, -0.056457f, -0.024750f, -0.008465f, 0.057139f, 0.068736f, -0.034414f, 0.015232f, -0.008469f, 0.022499f, 0.122684f, -0.050859f, -0.123759f, 0.018965f, 0.066885f, 0.005386f, -0.062929f, 0.031543f, 0.024327f, 0.028057f, -0.020149f, -0.015232f, -0.141170f, -0.048980f, 0.051614f, 0.073156f, 0.059504f, -0.073391f, 0.015084f, -0.193921f, -0.128563f, -0.109844f, -0.022979f, 0.081895f, 0.050088f, -0.009977f, -0.047828f, + -0.056986f, 0.018321f, -0.037168f, -0.009803f, 0.061298f, 0.011661f, -0.002764f, -0.073288f, -0.037942f, -0.013529f, -0.037374f, 0.013550f, -0.011382f, 0.029252f, -0.015254f, -0.007266f, -0.017584f, -0.009106f, -0.014322f, -0.045034f, -0.034461f, -0.070889f, -0.050699f, 0.025436f, 0.056846f, 0.060816f, 0.032301f, 0.051990f, -0.014531f, 0.043060f, -0.017246f, -0.030579f, -0.085078f, -0.010655f, -0.049363f, 0.026400f, 0.007757f, 0.092917f, -0.086597f, 0.020882f, 0.051323f, -0.039346f, -0.048337f, -0.033526f, -0.025180f, -0.029426f, 0.002374f, 0.062430f, 0.041159f, -0.028724f, -0.007411f, 0.041021f, -0.064078f, -0.077099f, 0.022620f, -0.089354f, -0.063185f, -0.067424f, 0.057336f, -0.003188f, -0.146400f, -0.223790f, -0.277248f, -0.216835f, -0.329274f, -0.047263f, -0.110757f, 0.051449f, 0.087256f, 0.262190f, 0.160599f, 0.270919f, 0.277590f, 0.371841f, 0.277528f, 0.278966f, 0.211799f, 0.020683f, -0.041244f, -0.091972f, -0.048201f, -0.202785f, -0.130760f, -0.105339f, -0.103401f, -0.106965f, -0.101840f, -0.103609f, -0.107350f, -0.125035f, -0.084832f, -0.147463f, -0.112600f, -0.102629f, -0.034177f, -0.123184f, + -0.024647f, 0.057338f, -0.082081f, -0.039387f, 0.042676f, 0.029103f, -0.067069f, 0.076234f, 0.105255f, 0.119018f, 0.169131f, 0.160947f, 0.003583f, 0.096875f, 0.166117f, 0.216882f, 0.183656f, 0.338509f, 0.330937f, 0.279630f, 0.240516f, 0.285089f, 0.155764f, 0.224532f, 0.290178f, 0.207591f, 0.147975f, 0.222268f, 0.084655f, 0.063842f, 0.149252f, 0.122812f, 0.104368f, 0.000607f, 0.079515f, -0.070202f, -0.010326f, 0.003784f, -0.133341f, -0.321848f, -0.259567f, -0.181902f} + } +}; +const float CRendBin_Combined_BRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][1774]={ + { + {-0.005305f, -0.009306f, -0.004660f, 0.000333f, -0.002579f, 0.006024f, -0.007170f, -0.011927f, -0.010003f, 0.001646f, 0.000000f, -0.003347f, 0.004923f, -0.000346f, 0.005562f, -0.007755f, -0.006056f, 0.001699f, -0.000024f, -0.001048f, -0.006565f, 0.001634f, 0.001073f, 0.001625f, 0.006711f, 0.004247f, -0.000942f, 0.002216f, 0.002039f, 0.002592f, -0.001572f, 0.000352f, 0.008799f, 0.005499f, 0.002320f, -0.004538f, -0.002513f, -0.001091f, -0.002906f, -0.003718f, 0.007095f, 0.002758f, 0.002912f, -0.000917f, 0.001438f, 0.000680f, 0.001594f, 0.001458f, 0.000755f, 0.004720f, -0.005079f, -0.003379f, -0.000617f, -0.000728f, -0.006900f, -0.003016f, -0.008830f, -0.005266f, 0.001599f, 0.002809f, -0.002623f, -0.007413f, -0.002008f, 0.002161f, -0.000588f, 0.004980f, 0.000251f, -0.001006f, 0.014358f, -0.007133f, -0.005107f, -0.001288f, 0.002992f, 0.001899f, -0.008580f, 0.002506f, -0.000384f, 0.009348f, 0.005239f, -0.006985f, 0.010292f, -0.006208f, -0.001592f, -0.000268f, -0.002990f, -0.004227f, -0.007273f, 0.001414f, 0.012032f, 0.000768f, 0.002481f, 0.004517f, 0.001594f, -0.004558f, -0.000890f, -0.002887f, + -0.002081f, 0.006618f, 0.002331f, 0.000488f, -0.002010f, 0.000860f, 0.000102f, -0.003126f, -0.003996f, 0.006386f, 0.005656f, 0.000522f, -0.001058f, 0.007469f, -0.010634f, -0.004575f, 0.005100f, -0.005042f, 0.009901f, 0.000496f, 0.007110f, 0.000379f, 0.001184f, 0.003849f, -0.003391f, -0.002083f, 0.000286f, -0.000615f, -0.002547f, -0.002893f, 0.004619f, -0.000739f, -0.009742f, 0.009004f, -0.000900f, 0.001068f, -0.008145f, 0.003512f, -0.003345f, 0.002791f, 0.000734f, -0.000911f, -0.002741f, -0.000975f, -0.004465f, 0.004456f, -0.009138f, -0.001810f, 0.007623f, -0.006373f, 0.003222f, 0.009701f, 0.003836f, 0.000101f, -0.004582f, -0.000605f, 0.003482f, 0.020249f, 0.003864f, -0.002974f, 0.006315f, -0.003212f, -0.002466f, -0.003407f, -0.001256f, -0.007804f, 0.010881f, 0.006083f, 0.004719f, 0.004849f, 0.004820f, -0.005210f, -0.006736f, 0.008905f, -0.001946f, -0.007287f, -0.013457f, 0.001973f, -0.003996f, 0.003980f, 0.000062f, -0.001399f, -0.003048f, 0.003965f, -0.005034f, -0.002804f, 0.006592f, 0.012338f, 0.003219f, 0.005436f, 0.001009f, 0.006026f, -0.001417f, 0.006416f, 0.004151f, 0.000402f, + 0.003652f, -0.000043f, 0.000966f, -0.000049f, 0.009074f, 0.001539f, 0.002252f, -0.002523f, 0.001172f, -0.001113f, -0.001507f, 0.007012f, 0.008344f, -0.003592f, -0.003415f, 0.001194f, 0.007615f, -0.013416f, -0.000980f, -0.004089f, -0.009846f, -0.004507f, 0.000956f, -0.004735f, 0.003825f, 0.002697f, -0.000164f, -0.006589f, 0.002199f, -0.002097f, -0.006114f, 0.006163f, -0.010479f, -0.005726f, -0.011270f, -0.006460f, -0.002545f, -0.000132f, 0.005432f, 0.003435f, -0.013124f, -0.000439f, 0.001115f, 0.009554f, -0.003381f, -0.014648f, 0.011671f, -0.013798f, 0.000047f, -0.005602f, -0.005764f, -0.014669f, -0.010977f, -0.005257f, -0.004620f, 0.007113f, 0.001418f, -0.009385f, 0.000703f, -0.004655f, -0.000661f, 0.000426f, 0.003439f, 0.001646f, -0.005183f, 0.001524f, 0.000330f, 0.003301f, -0.003896f, -0.001352f, -0.001709f, -0.004200f, -0.008409f, 0.011168f, 0.004004f, 0.002247f, -0.002223f, 0.009661f, 0.006799f, -0.007813f, 0.001606f, 0.001715f, -0.002498f, -0.004159f, 0.000288f, -0.008054f, 0.001136f, -0.000769f, -0.008233f, 0.010010f, -0.000776f, 0.000279f, 0.010371f, -0.008835f, 0.007918f, 0.004331f, + -0.002361f, -0.006221f, 0.001034f, 0.000058f, -0.008854f, -0.005268f, -0.001160f, -0.001602f, -0.004772f, -0.009380f, -0.000936f, 0.003626f, 0.003404f, -0.001648f, 0.002822f, 0.002977f, -0.004078f, 0.000227f, -0.009090f, -0.022975f, -0.021564f, 0.008266f, 0.014403f, 0.008532f, -0.019453f, 0.013727f, -0.004684f, -0.001960f, 0.001245f, -0.009238f, -0.006861f, 0.016166f, -0.000249f, -0.000271f, 0.001207f, -0.000655f, 0.005294f, -0.008438f, 0.004876f, -0.004627f, 0.004344f, 0.007170f, -0.005085f, -0.001705f, 0.004215f, -0.001632f, 0.007671f, -0.002847f, 0.003228f, 0.000242f, -0.000989f, 0.000189f, -0.006882f, -0.009770f, 0.008519f, 0.000614f, -0.001946f, -0.000489f, -0.008977f, -0.011422f, -0.000612f, -0.000433f, 0.005298f, -0.010741f, -0.008940f, -0.002559f, -0.018269f, 0.006160f, -0.001840f, 0.002814f, -0.001840f, -0.005193f, 0.002228f, 0.021943f, 0.012161f, 0.005619f, -0.007459f, 0.007917f, -0.000753f, -0.012960f, -0.000676f, -0.013580f, 0.009651f, 0.000009f, 0.000371f, -0.008570f, -0.000891f, 0.005382f, 0.001539f, -0.000556f, -0.000329f, -0.001486f, 0.006251f, 0.002631f, -0.000691f, 0.001764f, + -0.033100f, -0.002240f, -0.008153f, -0.000885f, -0.005737f, -0.018366f, -0.001037f, -0.004742f, -0.007919f, -0.017196f, -0.002387f, 0.012675f, -0.008894f, 0.008433f, -0.001665f, 0.011778f, -0.004110f, 0.009623f, -0.003286f, -0.008976f, -0.002682f, 0.001273f, -0.004249f, -0.008042f, -0.006866f, -0.007901f, 0.000095f, -0.007186f, 0.002561f, 0.001158f, 0.000599f, 0.003806f, -0.005749f, -0.007246f, 0.010728f, -0.000719f, 0.003111f, 0.000380f, -0.008608f, -0.005139f, -0.006086f, 0.000553f, -0.004370f, 0.007820f, 0.007657f, 0.001521f, -0.010442f, -0.003174f, 0.019210f, 0.005014f, -0.008072f, -0.006227f, -0.004032f, -0.006892f, -0.003645f, 0.015209f, 0.009282f, -0.010682f, 0.006866f, 0.009037f, 0.013318f, -0.003189f, 0.005633f, -0.000637f, 0.000519f, -0.005137f, -0.010374f, -0.001836f, 0.008638f, 0.000939f, 0.016306f, 0.011117f, 0.001715f, 0.003681f, 0.014384f, -0.010370f, 0.042281f, 0.028049f, -0.008539f, -0.001817f, 0.000248f, -0.001401f, -0.004694f, 0.005601f, 0.014508f, 0.011864f, 0.006393f, -0.022410f, -0.009763f, 0.002489f, 0.001311f, 0.009009f, -0.016619f, 0.002959f, 0.022521f, 0.014744f, + -0.002631f, 0.004951f, -0.002048f, -0.008092f, -0.010485f, 0.000070f, -0.008973f, -0.005706f, 0.002448f, 0.006430f, -0.006662f, -0.012688f, -0.005944f, 0.001446f, 0.010873f, 0.014835f, -0.003208f, -0.017095f, -0.003756f, -0.006601f, -0.016768f, -0.001770f, -0.000850f, -0.008716f, 0.002334f, 0.003567f, 0.009190f, -0.014709f, 0.005174f, 0.006151f, 0.001047f, -0.014362f, -0.010461f, 0.003465f, -0.000015f, 0.002317f, -0.002107f, -0.002527f, -0.001175f, -0.008702f, 0.002866f, 0.002458f, -0.006023f, 0.007742f, 0.010004f, 0.013322f, 0.002531f, -0.000711f, 0.012899f, 0.020944f, 0.002252f, 0.000754f, 0.002173f, 0.010603f, -0.000839f, 0.004005f, 0.018296f, 0.021401f, 0.001222f, 0.003842f, 0.006098f, 0.009888f, -0.003478f, 0.005986f, -0.005092f, -0.004511f, -0.017609f, 0.006425f, 0.013092f, -0.012173f, 0.010062f, -0.005575f, -0.015420f, 0.015734f, 0.010437f, -0.003911f, 0.010521f, 0.018542f, 0.014179f, -0.011051f, -0.005134f, 0.008823f, 0.003568f, -0.003254f, 0.008003f, 0.005893f, 0.010532f, -0.000437f, -0.004071f, -0.009802f, -0.015118f, -0.001635f, -0.012529f, 0.000426f, -0.003920f, 0.005985f, + -0.009983f, -0.024661f, 0.005332f, -0.007052f, 0.010951f, 0.001466f, 0.000924f, -0.007785f, -0.013799f, -0.012920f, -0.001135f, -0.002546f, -0.010527f, 0.013279f, 0.018808f, 0.018276f, 0.007709f, -0.015589f, -0.001591f, 0.017156f, 0.001346f, -0.004788f, 0.008127f, -0.004063f, -0.005410f, -0.019407f, 0.008904f, 0.003392f, 0.024643f, 0.010058f, -0.018734f, 0.003957f, 0.005009f, -0.003848f, -0.002202f, 0.004148f, -0.006422f, -0.007485f, -0.010735f, -0.003746f, -0.002272f, -0.020338f, 0.001606f, 0.001711f, 0.010445f, -0.004431f, -0.007872f, 0.002799f, 0.001656f, 0.003908f, 0.000723f, 0.009920f, 0.004844f, 0.006602f, 0.001800f, -0.001611f, 0.006873f, 0.002910f, -0.018838f, -0.006799f, -0.027165f, 0.000416f, -0.004677f, 0.002342f, 0.005367f, -0.000503f, 0.013667f, 0.002471f, 0.019304f, 0.001405f, -0.022034f, -0.000481f, -0.008643f, -0.004676f, -0.000702f, -0.004357f, -0.000814f, -0.018811f, 0.004187f, -0.009616f, 0.021720f, -0.023336f, 0.012603f, -0.005960f, -0.018785f, -0.004724f, -0.013179f, -0.004094f, -0.003922f, -0.021497f, 0.005909f, 0.004857f, -0.003648f, -0.004760f, -0.001288f, 0.005654f, + -0.016121f, -0.001202f, 0.014940f, 0.001040f, 0.020756f, 0.032312f, 0.013852f, -0.033124f, -0.041756f, 0.017639f, 0.008483f, 0.028039f, -0.007037f, 0.011286f, 0.002398f, 0.009894f, 0.019795f, 0.017751f, -0.037638f, 0.028082f, 0.005472f, -0.005171f, -0.000251f, -0.017294f, -0.013719f, 0.014641f, -0.003595f, -0.004908f, 0.015713f, -0.011455f, -0.011812f, 0.000636f, 0.015699f, 0.006458f, -0.004394f, 0.000457f, -0.008153f, -0.001144f, 0.001799f, 0.008216f, 0.001003f, -0.019277f, -0.018556f, 0.004428f, -0.001848f, 0.004761f, -0.001150f, 0.007878f, 0.015774f, 0.028048f, 0.000433f, 0.017482f, -0.003335f, 0.005089f, 0.012901f, -0.011379f, 0.023799f, -0.003033f, -0.013055f, -0.019733f, -0.002663f, -0.016311f, -0.019691f, -0.005501f, 0.010937f, -0.006164f, -0.014873f, 0.008431f, 0.013040f, 0.018428f, 0.024932f, -0.018731f, 0.008921f, -0.004966f, -0.015778f, 0.006935f, -0.017722f, -0.003245f, -0.029992f, 0.013152f, -0.007372f, 0.005105f, -0.003405f, 0.005400f, -0.031849f, -0.033980f, -0.017996f, -0.007749f, 0.022193f, -0.018196f, 0.039710f, -0.012527f, 0.007706f, -0.003159f, -0.003854f, 0.030651f, + 0.003190f, 0.010752f, 0.009749f, 0.002054f, 0.019967f, 0.001259f, -0.024761f, 0.011263f, 0.005079f, 0.010698f, 0.000152f, -0.020629f, 0.028988f, 0.013648f, 0.012697f, -0.003919f, -0.007045f, 0.002257f, -0.000674f, -0.016629f, 0.011273f, 0.005630f, -0.007183f, 0.009812f, 0.018941f, -0.000833f, 0.007972f, 0.016215f, -0.017723f, 0.003276f, -0.005077f, 0.006560f, -0.034522f, 0.009655f, 0.018609f, -0.007328f, 0.005941f, 0.015997f, 0.010592f, -0.001026f, 0.007057f, -0.019262f, 0.005961f, -0.011876f, 0.002140f, 0.003896f, 0.004175f, -0.009511f, 0.035685f, -0.007498f, -0.005198f, -0.009362f, -0.028667f, -0.013511f, -0.017070f, -0.022645f, -0.002816f, 0.028163f, 0.033688f, -0.004595f, 0.011260f, 0.011540f, -0.025866f, -0.010232f, 0.023190f, 0.016642f, -0.009620f, -0.009210f, -0.025599f, -0.010404f, -0.009101f, -0.014758f, -0.014162f, 0.001938f, -0.025678f, 0.007759f, -0.003203f, -0.009721f, 0.006045f, 0.002079f, -0.013618f, -0.019414f, -0.021535f, -0.008044f, -0.021025f, -0.008156f, -0.008583f, 0.000897f, -0.019942f, 0.005050f, 0.008314f, 0.001572f, -0.022682f, 0.007742f, -0.028100f, 0.009425f, + 0.015766f, 0.001224f, 0.024506f, 0.001562f, -0.007122f, -0.003588f, 0.016637f, -0.005008f, 0.022870f, 0.009027f, -0.007583f, -0.006752f, 0.004285f, -0.010486f, -0.005903f, 0.001974f, 0.021799f, 0.000457f, 0.011740f, 0.007675f, 0.002401f, 0.016326f, -0.006243f, -0.012428f, 0.006650f, -0.008454f, -0.004001f, -0.025443f, 0.015788f, -0.007909f, -0.007299f, -0.003834f, -0.028987f, 0.037214f, 0.009947f, -0.002447f, 0.016235f, 0.006935f, 0.008326f, -0.013750f, -0.022822f, -0.024812f, -0.012165f, 0.003608f, -0.026372f, 0.012483f, 0.020433f, -0.027967f, -0.010532f, 0.013897f, -0.013736f, 0.010338f, 0.033491f, 0.004420f, -0.007684f, -0.005791f, 0.022965f, 0.052419f, 0.057912f, 0.015739f, 0.036483f, -0.025375f, -0.022838f, -0.006996f, -0.002140f, 0.000702f, 0.009419f, 0.016700f, 0.033905f, 0.009311f, 0.031499f, 0.001999f, 0.010575f, 0.003147f, -0.006793f, 0.012382f, 0.001155f, 0.004144f, 0.003847f, -0.016610f, -0.000363f, -0.009519f, -0.015029f, -0.011638f, 0.001817f, 0.000343f, -0.020417f, -0.010363f, 0.029269f, 0.018651f, 0.015982f, 0.022153f, -0.012940f, -0.001143f, -0.038658f, 0.000578f, + 0.036185f, -0.008038f, -0.005250f, 0.002865f, -0.002062f, 0.025768f, -0.000485f, -0.005797f, 0.022541f, -0.026174f, -0.038630f, -0.017543f, 0.005330f, -0.022977f, 0.017788f, 0.021153f, -0.029981f, -0.013332f, 0.002085f, -0.001912f, -0.043718f, -0.030371f, 0.016532f, 0.004927f, -0.001417f, 0.013245f, -0.017805f, -0.013714f, -0.025930f, 0.005066f, 0.011463f, 0.000513f, 0.004679f, -0.020866f, -0.027754f, 0.022831f, -0.037235f, -0.053212f, -0.037023f, 0.025429f, -0.004714f, 0.046829f, -0.010848f, 0.038428f, -0.030741f, 0.000234f, 0.014830f, -0.003832f, 0.002462f, 0.003883f, -0.001670f, -0.024348f, 0.009085f, 0.008175f, 0.011150f, 0.011058f, -0.006452f, 0.018703f, -0.016821f, -0.013761f, -0.009244f, 0.026593f, -0.014218f, -0.005819f, 0.003333f, -0.001312f, -0.013283f, 0.011437f, -0.014903f, -0.019597f, -0.034569f, 0.002480f, 0.007488f, -0.024892f, -0.010248f, 0.010844f, -0.003843f, 0.005426f, 0.003005f, 0.027260f, 0.003068f, 0.020313f, 0.010576f, 0.000102f, 0.018128f, 0.003030f, 0.007123f, -0.032638f, 0.034093f, 0.010784f, 0.027067f, -0.016427f, 0.008284f, -0.017898f, 0.028189f, 0.019398f, + 0.034147f, 0.004388f, -0.006748f, -0.024384f, 0.000422f, 0.003452f, -0.018067f, 0.027925f, 0.006814f, 0.003932f, 0.033154f, 0.006573f, -0.006616f, -0.012257f, 0.001748f, 0.018863f, 0.024550f, -0.006319f, 0.023158f, 0.024551f, -0.057355f, -0.002179f, 0.029476f, -0.018519f, -0.006535f, 0.022443f, -0.023891f, -0.047650f, 0.009517f, 0.008859f, 0.007458f, -0.005570f, -0.028499f, 0.007990f, 0.008205f, 0.003004f, 0.015996f, -0.050219f, 0.023675f, -0.010897f, 0.012479f, -0.028089f, 0.024034f, -0.035753f, -0.023165f, 0.015503f, -0.009220f, -0.003032f, -0.027531f, 0.023358f, 0.029548f, 0.001332f, 0.003850f, -0.011849f, 0.044162f, 0.012354f, 0.012598f, -0.006244f, -0.036822f, -0.006350f, 0.021649f, -0.001954f, 0.032033f, 0.002187f, -0.010276f, 0.009528f, -0.001111f, 0.021631f, -0.036097f, -0.002270f, -0.027354f, 0.033214f, -0.010231f, 0.012804f, 0.000473f, 0.001471f, -0.032331f, -0.009153f, 0.031125f, 0.012300f, 0.004211f, -0.005960f, 0.002512f, 0.006905f, -0.041527f, -0.041501f, 0.049479f, -0.017726f, -0.049876f, 0.024681f, 0.026492f, -0.037884f, -0.052301f, -0.034005f, -0.033767f, 0.024630f, + -0.033540f, -0.015133f, -0.034932f, -0.000682f, 0.004499f, -0.041556f, 0.004859f, -0.019080f, 0.058952f, 0.005648f, -0.057086f, -0.010174f, 0.024577f, 0.018792f, 0.010958f, 0.030214f, 0.025831f, -0.037126f, -0.012089f, -0.012772f, 0.035281f, -0.010474f, 0.041561f, 0.002573f, -0.026922f, -0.017328f, -0.040614f, -0.041839f, 0.000910f, 0.007893f, -0.008963f, -0.020208f, -0.011397f, 0.005761f, 0.005493f, 0.018070f, -0.023276f, 0.013871f, -0.027035f, -0.027288f, 0.004537f, -0.003573f, -0.009282f, -0.028541f, -0.030955f, -0.011451f, -0.010259f, 0.045576f, 0.003006f, 0.017256f, 0.023169f, 0.002187f, 0.052992f, 0.024675f, -0.018377f, 0.005696f, 0.027322f, -0.007879f, 0.034900f, -0.006300f, 0.004576f, 0.005279f, -0.046966f, -0.045787f, 0.008098f, 0.036697f, 0.002165f, -0.007986f, -0.050967f, 0.005848f, 0.021304f, 0.013585f, -0.013430f, -0.012932f, -0.002462f, -0.023843f, -0.026628f, 0.053431f, -0.018304f, -0.016230f, -0.005223f, -0.011391f, -0.037161f, 0.003391f, 0.021430f, -0.056746f, -0.003546f, 0.018122f, 0.016442f, -0.017530f, 0.010943f, -0.031256f, 0.000087f, -0.005979f, 0.008113f, -0.027631f, + 0.016432f, -0.049003f, 0.005961f, 0.004354f, 0.026842f, 0.030628f, 0.011201f, -0.016344f, 0.019031f, -0.003225f, 0.021549f, -0.023111f, 0.001557f, 0.034001f, 0.021775f, -0.011128f, 0.002382f, 0.004180f, -0.009469f, 0.018431f, -0.008477f, -0.014295f, -0.022663f, 0.017974f, -0.038794f, 0.027707f, 0.002802f, -0.034634f, 0.033637f, 0.039101f, 0.029973f, 0.016270f, -0.019950f, 0.046882f, 0.002120f, 0.023088f, -0.028943f, -0.017214f, -0.027948f, 0.013393f, 0.006439f, 0.021291f, -0.038162f, 0.010153f, 0.022189f, -0.059375f, -0.001117f, -0.013409f, 0.038078f, 0.037046f, 0.016872f, 0.006225f, 0.023123f, -0.010412f, -0.006943f, 0.006219f, 0.043586f, 0.010191f, 0.021716f, -0.063159f, 0.028819f, -0.035097f, 0.047479f, -0.004268f, 0.017954f, 0.037095f, -0.040371f, 0.070898f, 0.049561f, 0.038560f, -0.018307f, 0.010727f, 0.047206f, -0.011674f, -0.016642f, -0.010848f, -0.003730f, -0.036083f, 0.008410f, -0.019047f, -0.045546f, 0.043162f, 0.012796f, 0.012075f, 0.003927f, 0.010206f, 0.015075f, 0.045328f, 0.007893f, -0.027889f, -0.004056f, -0.028978f, 0.004044f, 0.004388f, -0.053115f, -0.002036f, + 0.026041f, 0.002157f, -0.005654f, -0.015562f, 0.052463f, 0.011313f, 0.021052f, 0.012060f, -0.031726f, -0.021008f, -0.018488f, 0.033902f, 0.017487f, -0.006794f, 0.017908f, -0.003045f, -0.039956f, 0.036012f, 0.001406f, 0.041281f, 0.001397f, 0.004224f, -0.002577f, -0.054848f, 0.003815f, 0.001479f, 0.002088f, 0.034177f, -0.017868f, 0.053838f, -0.086469f, -0.014130f, 0.055111f, -0.023959f, 0.013164f, -0.026366f, -0.052099f, 0.030453f, 0.013289f, -0.068058f, -0.077215f, -0.009102f, -0.035330f, 0.002804f, 0.024104f, -0.033914f, 0.010758f, -0.050678f, 0.022454f, -0.029079f, -0.130662f, -0.011078f, 0.081825f, -0.037392f, -0.013731f, 0.078160f, -0.017877f, 0.001493f, 0.097990f, -0.026177f, 0.022385f, 0.005986f, -0.013303f, 0.074889f, -0.062102f, -0.011425f, -0.001036f, -0.014490f, -0.012062f, -0.016424f, -0.001063f, 0.021748f, -0.013906f, -0.046426f, 0.000793f, -0.003115f, 0.012805f, 0.011413f, 0.002933f, 0.030779f, -0.001332f, 0.011674f, -0.009668f, -0.046925f, 0.029261f, -0.010049f, -0.043843f, -0.003414f, 0.024666f, 0.071578f, 0.038346f, 0.059047f, 0.000671f, 0.009999f, 0.030040f, 0.001019f, + -0.004737f, 0.053759f, -0.004296f, -0.030712f, 0.069491f, 0.004623f, 0.011078f, -0.007943f, -0.011580f, 0.031062f, -0.001788f, -0.034108f, -0.028504f, -0.017879f, -0.007395f, 0.045815f, -0.043724f, -0.017728f, 0.000876f, 0.047975f, 0.033181f, -0.070921f, -0.039192f, 0.060009f, -0.013449f, -0.052331f, -0.003459f, 0.004306f, 0.017167f, 0.063352f, 0.050613f, -0.029752f, 0.007031f, -0.004257f, -0.002375f, 0.002683f, -0.037474f, 0.055469f, -0.018295f, -0.030940f, 0.009413f, -0.021261f, 0.026921f, 0.005929f, 0.039468f, -0.009642f, -0.042702f, -0.032787f, 0.029303f, -0.011978f, 0.038981f, -0.007739f, 0.024354f, -0.023903f, -0.023841f, -0.009525f, 0.000443f, -0.030827f, 0.005915f, 0.005367f, -0.001913f, 0.037156f, -0.002834f, 0.014834f, -0.025737f, 0.020297f, -0.039191f, 0.043097f, -0.037761f, 0.027157f, 0.009585f, 0.036903f, -0.057710f, 0.005721f, 0.002405f, -0.012869f, -0.042278f, -0.063896f, -0.013565f, -0.053878f, -0.024456f, -0.042239f, -0.023770f, -0.080486f, -0.028508f, 0.042699f, 0.046419f, 0.030893f, 0.026009f, -0.000023f, 0.028251f, -0.055662f, -0.016945f, 0.013787f, 0.031726f, -0.097862f, + 0.028741f, 0.014909f, -0.051158f, 0.019791f, 0.019213f, -0.037803f, -0.028536f, 0.043227f, 0.005474f, 0.022671f, -0.011808f, 0.028223f, -0.009295f, -0.005405f, 0.022698f, 0.010130f, 0.007312f, -0.000357f, -0.015636f, -0.027565f, -0.016413f, 0.040274f, -0.014929f, -0.037214f, 0.060738f, 0.036383f, 0.004423f, 0.026400f, 0.007817f, -0.033169f, -0.093824f, 0.036495f, -0.003666f, -0.052289f, 0.041739f, -0.006482f, -0.068672f, -0.059372f, -0.030441f, 0.042334f, 0.017174f, 0.043787f, 0.057523f, 0.014735f, -0.048002f, 0.012018f, 0.016032f, -0.063162f, -0.010681f, 0.030444f, -0.019802f, -0.069085f, -0.050767f, -0.083731f, -0.052069f, -0.015878f, 0.049064f, 0.068192f, 0.033708f, -0.010067f, 0.048654f, -0.018344f, -0.124920f, -0.104144f, 0.019496f, -0.056512f, -0.060603f, 0.075330f, 0.008488f, -0.122324f, -0.090080f, 0.017964f, 0.001406f, 0.004155f, 0.036953f, 0.076707f, 0.090723f, 0.091119f, -0.029602f, 0.032832f, -0.038080f, 0.024149f, -0.000066f, 0.014755f, -0.045004f, 0.005323f, -0.038564f, -0.031464f, -0.000754f, -0.075124f, 0.000893f, -0.030787f, 0.007645f, 0.024745f, -0.001475f, 0.028397f, + -0.038700f, 0.059631f, -0.029137f, 0.001228f, 0.039048f, -0.035095f, 0.014013f, 0.031044f, 0.034706f, 0.007512f, 0.012268f, 0.011226f, -0.055748f, -0.028251f, -0.009233f, 0.010804f, 0.008347f, -0.005536f, 0.036596f, -0.009069f, -0.000534f, -0.004157f, -0.015834f, 0.015917f, 0.007470f, -0.040775f, 0.013153f, -0.032088f, 0.010008f, -0.081353f, -0.003613f, 0.001185f, 0.000420f, 0.037926f, -0.013188f, -0.027321f, -0.012879f, 0.035338f, 0.000965f, -0.077983f, 0.115609f, -0.006138f, -0.020362f, 0.028900f, -0.003194f, -0.012721f, -0.019271f, -0.018549f, -0.021861f, 0.082736f, -0.026992f, -0.041088f, 0.043272f, 0.008035f, -0.055564f, -0.010989f, -0.070194f, -0.110332f, -0.101091f, 0.225298f, 0.191523f, 0.212334f, 0.489578f, 0.123670f, -0.121284f, 0.034150f, -0.390901f, -0.419965f, -0.102506f, -0.266131f, -0.201899f, 0.117796f, -0.064720f, 0.019677f, 0.310067f, 0.147912f, 0.229152f, 0.435910f, 0.293301f, 0.069776f, 0.061883f, -0.138396f, -0.405959f, -0.316441f, -0.239081f, -0.485245f, -0.196566f, 0.001950f, -0.088698f, -0.048017f, 0.236000f, 0.053187f, 0.026778f, 0.287055f, 0.030719f, 0.059249f, + 0.417018f, 0.298784f, 0.189613f, 0.387060f, 0.191078f, -0.085095f, -0.015589f, -0.142658f, -0.634996f, -0.561862f, -0.451995f, -0.702527f, -0.534358f, -0.204458f, -0.261431f, 0.034296f, 0.459096f, 0.401020f, 0.569358f, 0.715940f, 0.531493f, 0.402013f, 0.395612f, 0.199941f, -0.104729f, -0.184990f, -0.370999f, -0.527100f, -0.513325f, -0.461475f, -0.516861f, -0.542007f, -0.442561f, -0.288258f, -0.224376f, -0.030303f, 0.292413f, 0.359055f, 0.229948f, 0.019701f}, + {-0.006448f, -0.013510f, -0.005207f, -0.007604f, 0.000151f, 0.002616f, 0.008048f, -0.003880f, 0.000648f, -0.005956f, -0.004635f, -0.006334f, 0.003120f, -0.007287f, 0.001648f, -0.006135f, 0.012057f, -0.000682f, 0.000952f, -0.000570f, -0.008507f, 0.005430f, 0.012815f, 0.000208f, -0.003189f, 0.000662f, -0.002445f, 0.004132f, -0.001517f, -0.002179f, -0.002248f, -0.015186f, -0.004820f, 0.001228f, -0.002259f, 0.003936f, -0.004522f, 0.003400f, -0.000925f, 0.004108f, -0.002582f, 0.004413f, 0.000831f, 0.006221f, 0.003053f, -0.001982f, 0.002512f, 0.001591f, -0.003263f, -0.005955f, -0.002549f, -0.001034f, 0.003576f, 0.001500f, 0.000333f, -0.001103f, 0.006983f, 0.007610f, -0.008354f, -0.003011f, -0.007620f, 0.004418f, -0.000585f, -0.004339f, -0.002117f, -0.002822f, -0.003072f, -0.000413f, -0.004624f, 0.005044f, -0.006309f, -0.002869f, 0.000556f, 0.003456f, 0.001275f, 0.002772f, -0.001062f, 0.016799f, -0.002357f, 0.001471f, 0.012913f, -0.001553f, -0.000800f, -0.003691f, 0.014081f, 0.000947f, 0.006732f, 0.004320f, 0.003980f, -0.005806f, 0.002728f, -0.009051f, -0.001240f, 0.007141f, 0.001177f, 0.004196f, + 0.006395f, -0.011231f, -0.008153f, 0.002710f, -0.000854f, 0.008378f, 0.004788f, -0.000433f, -0.004960f, -0.002933f, -0.006073f, -0.000941f, -0.001110f, -0.000902f, 0.001235f, 0.002132f, -0.005368f, 0.008314f, -0.002310f, -0.001393f, 0.002467f, -0.010787f, -0.002880f, 0.004507f, 0.001206f, 0.010411f, -0.000486f, -0.000925f, 0.001596f, 0.000546f, 0.003908f, 0.007108f, 0.008783f, -0.000752f, -0.001481f, -0.000071f, -0.005888f, -0.007042f, 0.003171f, 0.005765f, -0.004850f, -0.004396f, -0.003387f, 0.007371f, 0.003879f, -0.001448f, 0.000492f, -0.009526f, -0.003387f, 0.004273f, 0.003096f, 0.006235f, -0.010704f, 0.001697f, 0.002672f, -0.002545f, 0.005726f, 0.021308f, 0.006370f, -0.005348f, 0.011465f, -0.005744f, 0.011926f, -0.004186f, -0.004824f, 0.005507f, 0.011198f, -0.000668f, -0.004880f, 0.002548f, 0.002712f, -0.000757f, -0.014865f, 0.003286f, 0.004960f, 0.000937f, 0.010052f, 0.012606f, 0.007406f, 0.012421f, 0.009126f, 0.007476f, -0.001556f, 0.008344f, 0.004654f, -0.006741f, 0.002966f, 0.003751f, -0.007849f, -0.010849f, -0.001090f, 0.004011f, 0.000723f, -0.004013f, -0.004583f, -0.005168f, + -0.001911f, 0.005610f, 0.012102f, 0.009637f, 0.004280f, 0.007396f, -0.011484f, 0.000687f, -0.002466f, 0.000065f, -0.013250f, 0.005120f, -0.000693f, -0.003273f, 0.000112f, -0.003738f, -0.006199f, -0.004759f, 0.005541f, 0.001265f, 0.004418f, -0.004919f, 0.010162f, 0.002623f, -0.010263f, 0.004774f, 0.002099f, 0.003357f, 0.006716f, 0.002208f, 0.011725f, -0.003037f, 0.001880f, -0.012278f, 0.003045f, 0.001985f, 0.000715f, 0.001192f, 0.001635f, -0.004948f, -0.003861f, -0.001986f, 0.004586f, -0.007982f, 0.002725f, -0.015226f, 0.003308f, 0.002219f, -0.001152f, 0.009933f, 0.001224f, -0.001718f, 0.001504f, 0.005002f, -0.008431f, 0.000735f, 0.003322f, 0.005195f, -0.012225f, -0.007031f, -0.004254f, 0.004143f, 0.002499f, -0.004565f, -0.012346f, 0.002586f, -0.012273f, -0.001337f, 0.005701f, -0.002932f, 0.004492f, -0.002772f, 0.009277f, 0.012302f, 0.007411f, -0.007202f, 0.001877f, 0.009189f, 0.006658f, -0.006575f, 0.005713f, 0.000956f, -0.009356f, 0.002973f, 0.014463f, 0.005909f, 0.005323f, 0.014815f, 0.002103f, -0.006386f, -0.011012f, -0.001068f, -0.005824f, -0.008473f, -0.002941f, 0.007895f, + -0.007172f, 0.002243f, -0.003890f, -0.005037f, 0.010806f, -0.001851f, 0.002662f, 0.007286f, 0.011819f, -0.005326f, -0.008580f, 0.011902f, 0.010999f, 0.005481f, 0.002236f, -0.008259f, 0.003261f, 0.008771f, -0.007123f, -0.029270f, -0.010413f, -0.004668f, 0.016143f, -0.006211f, -0.002132f, -0.009555f, -0.007675f, -0.001501f, -0.020669f, 0.011621f, 0.004191f, -0.000706f, -0.007416f, 0.011473f, -0.002911f, 0.005797f, -0.004321f, 0.003651f, 0.007758f, -0.009258f, 0.001376f, 0.010144f, 0.006172f, 0.004089f, 0.011322f, 0.009740f, -0.005638f, -0.007755f, -0.009222f, -0.000112f, -0.012255f, 0.003117f, -0.016326f, -0.003139f, 0.012983f, 0.006643f, -0.003687f, -0.001179f, -0.012069f, 0.005920f, -0.004776f, 0.011365f, -0.005762f, -0.011271f, -0.001644f, -0.004495f, -0.008680f, 0.003920f, -0.001371f, -0.005705f, -0.005285f, -0.020000f, 0.003659f, -0.005726f, -0.014139f, -0.003594f, 0.010279f, 0.005230f, -0.006746f, 0.006957f, 0.009399f, 0.008580f, 0.004170f, -0.009736f, -0.000441f, -0.001556f, 0.008602f, -0.006437f, -0.001276f, 0.004819f, 0.005547f, -0.010121f, -0.011648f, -0.022679f, -0.001954f, -0.011231f, + -0.025036f, -0.010375f, -0.004278f, -0.007750f, 0.008857f, 0.010991f, 0.010855f, -0.021378f, -0.015523f, 0.005814f, 0.025971f, 0.014952f, 0.000226f, 0.003403f, 0.007564f, -0.009508f, 0.006334f, -0.008833f, 0.006417f, 0.008883f, 0.001632f, 0.007079f, 0.002505f, -0.000766f, 0.004017f, 0.002008f, -0.006693f, -0.008982f, 0.012271f, 0.004652f, -0.008621f, 0.008408f, -0.004620f, -0.001123f, 0.020934f, -0.010131f, 0.011925f, 0.022983f, 0.009638f, -0.001534f, 0.001057f, -0.008568f, 0.011005f, -0.011270f, -0.005908f, -0.018803f, 0.003654f, 0.014201f, -0.000222f, -0.013333f, -0.004565f, -0.018823f, -0.009363f, -0.003581f, -0.026461f, -0.014555f, -0.002503f, 0.002758f, -0.011514f, 0.005869f, -0.002952f, -0.009184f, 0.010097f, 0.029440f, 0.002899f, 0.015081f, 0.010364f, 0.008970f, -0.009049f, 0.004149f, -0.015504f, 0.002025f, 0.005073f, 0.004003f, -0.005324f, 0.000701f, 0.038967f, 0.025495f, -0.014132f, 0.005588f, 0.012158f, -0.004737f, 0.006711f, -0.001969f, 0.011283f, 0.006436f, 0.003208f, 0.011245f, 0.005486f, 0.005800f, -0.003966f, -0.025967f, 0.012034f, -0.004043f, -0.006653f, 0.021133f, + 0.012153f, 0.007591f, 0.008876f, 0.007518f, 0.004586f, -0.003618f, 0.002372f, 0.001261f, -0.007475f, 0.005880f, 0.008221f, -0.014507f, 0.002113f, -0.009254f, 0.006373f, 0.008645f, -0.024092f, -0.000002f, -0.028544f, 0.000849f, 0.002642f, 0.002718f, 0.006724f, 0.019281f, -0.003189f, -0.009464f, -0.005711f, -0.004930f, -0.008228f, 0.005774f, 0.004901f, 0.002148f, -0.004081f, -0.003099f, 0.017352f, -0.005811f, -0.004765f, -0.009765f, 0.015206f, -0.002219f, 0.012545f, -0.006217f, 0.013430f, -0.013904f, -0.031024f, -0.008625f, 0.000482f, 0.006200f, 0.008592f, -0.009845f, -0.008982f, 0.004211f, 0.001098f, -0.004506f, -0.009306f, 0.018805f, -0.008410f, 0.018218f, -0.006801f, -0.012563f, -0.000313f, 0.001666f, -0.017316f, -0.014026f, -0.004144f, 0.004474f, -0.002396f, 0.022489f, 0.013895f, 0.000283f, 0.021973f, 0.007524f, 0.006563f, -0.018996f, 0.017688f, -0.003620f, -0.004222f, -0.016091f, -0.006949f, 0.013611f, 0.013948f, -0.004302f, 0.009291f, -0.019300f, -0.002530f, 0.012331f, 0.009693f, -0.007463f, -0.013328f, -0.007942f, -0.008204f, -0.010768f, -0.008538f, 0.001665f, -0.014044f, -0.001772f, + 0.019594f, -0.009811f, 0.002317f, -0.001150f, -0.004441f, 0.007201f, -0.003072f, 0.012348f, 0.000049f, 0.017588f, -0.004597f, -0.011735f, 0.006521f, -0.009344f, -0.008873f, -0.009330f, -0.025550f, 0.002616f, 0.010562f, 0.014891f, 0.010943f, 0.019709f, -0.002079f, -0.007914f, 0.011517f, -0.014356f, 0.003261f, 0.002148f, -0.002184f, 0.013056f, 0.012024f, -0.002781f, -0.015520f, 0.003783f, -0.008145f, -0.013323f, -0.014152f, 0.004258f, -0.021943f, -0.013695f, 0.002920f, -0.013372f, -0.032730f, 0.024697f, 0.000002f, -0.002175f, 0.003755f, 0.001480f, -0.021447f, 0.014886f, -0.022378f, 0.001541f, 0.011075f, -0.003519f, 0.004409f, 0.003207f, -0.024103f, -0.008805f, -0.010405f, -0.002774f, 0.005673f, -0.008599f, -0.004537f, -0.001482f, -0.000831f, 0.001786f, 0.010962f, 0.005060f, 0.022857f, -0.008536f, 0.031144f, -0.002605f, 0.001480f, -0.020411f, -0.002301f, 0.014358f, -0.002278f, -0.031140f, 0.013060f, 0.013798f, -0.008450f, 0.007082f, -0.010775f, 0.020796f, 0.012453f, -0.001068f, -0.000556f, -0.014109f, -0.008004f, -0.015397f, 0.014686f, 0.013329f, 0.006773f, 0.001101f, 0.007004f, -0.012513f, + -0.030955f, -0.012058f, 0.011794f, 0.004376f, -0.022797f, 0.000100f, 0.003440f, 0.002714f, -0.010635f, 0.007570f, 0.017246f, 0.008098f, 0.000796f, 0.006237f, 0.011680f, -0.006986f, 0.016581f, -0.000276f, -0.034510f, 0.018284f, -0.004238f, 0.006347f, -0.009849f, -0.006289f, 0.015272f, -0.017702f, 0.017096f, -0.010973f, -0.019412f, 0.008348f, -0.010249f, 0.041742f, 0.006762f, -0.015540f, -0.020173f, -0.004429f, -0.025140f, -0.012497f, -0.027125f, -0.002391f, 0.018807f, -0.013846f, 0.011738f, 0.017770f, -0.016861f, -0.000779f, -0.019757f, 0.010417f, 0.004298f, -0.001627f, 0.012162f, -0.013452f, -0.017736f, -0.016172f, 0.001320f, 0.002428f, 0.015402f, -0.022813f, 0.015762f, 0.002008f, -0.032001f, -0.018790f, -0.025811f, -0.011781f, 0.010045f, -0.009906f, -0.008538f, -0.050670f, -0.000923f, -0.012091f, -0.004454f, -0.033015f, -0.011009f, -0.005519f, 0.002464f, 0.024513f, 0.023554f, 0.018534f, 0.011398f, 0.023464f, -0.027009f, 0.019385f, 0.002694f, 0.008148f, 0.006737f, -0.020865f, 0.029431f, 0.016769f, 0.011207f, -0.014871f, -0.018408f, -0.014372f, 0.016102f, 0.000679f, -0.001873f, 0.013611f, + 0.024282f, 0.027018f, 0.010566f, 0.018997f, 0.014768f, 0.009356f, -0.005243f, 0.002318f, -0.007647f, 0.000935f, -0.002881f, -0.015818f, 0.020168f, 0.032884f, 0.012613f, -0.008614f, 0.014229f, 0.014178f, -0.000947f, 0.008913f, -0.015750f, -0.029339f, -0.020095f, -0.013203f, 0.008189f, -0.003308f, -0.015865f, 0.011849f, -0.005705f, -0.013577f, -0.000556f, 0.024277f, 0.011719f, 0.018056f, 0.005855f, 0.013363f, 0.014176f, -0.003061f, 0.012961f, -0.004910f, -0.015577f, 0.006699f, -0.017971f, 0.006859f, 0.006701f, -0.025659f, -0.017149f, 0.010922f, 0.026607f, -0.013639f, 0.018494f, 0.026445f, -0.021809f, 0.001208f, 0.023690f, 0.002909f, -0.008799f, -0.001657f, -0.012236f, -0.020995f, 0.000349f, -0.006082f, -0.010995f, 0.015128f, 0.001124f, -0.023969f, 0.031964f, -0.012408f, 0.026371f, -0.029467f, -0.019124f, 0.015358f, -0.016237f, 0.010759f, -0.008628f, -0.003141f, 0.002168f, -0.023897f, 0.015828f, -0.011270f, -0.022530f, 0.032898f, 0.019335f, -0.026096f, 0.018802f, 0.013856f, 0.006062f, 0.027323f, -0.058304f, 0.002434f, 0.026040f, 0.006511f, 0.003651f, 0.024100f, 0.002436f, 0.012235f, + -0.033201f, -0.006778f, 0.010778f, -0.001738f, -0.015983f, 0.004507f, 0.015222f, 0.004417f, 0.007869f, 0.016043f, 0.016588f, 0.022029f, 0.020480f, -0.010115f, -0.006676f, 0.016313f, -0.010489f, 0.010557f, -0.020322f, -0.014511f, -0.026344f, -0.015473f, 0.016257f, 0.002218f, -0.005257f, 0.019385f, -0.025735f, -0.039538f, -0.057561f, 0.014696f, 0.021267f, 0.012199f, 0.013400f, -0.017679f, 0.010315f, -0.012085f, 0.023124f, 0.054829f, -0.008227f, -0.017032f, -0.024739f, -0.013033f, 0.023147f, -0.020313f, 0.013731f, 0.016167f, 0.004668f, -0.006621f, -0.015944f, -0.011715f, 0.009610f, -0.048469f, -0.035888f, -0.004628f, 0.008398f, -0.023449f, 0.004996f, 0.089813f, 0.048937f, 0.033097f, -0.009389f, -0.007899f, -0.002323f, -0.006434f, -0.010356f, -0.012649f, -0.017819f, -0.027359f, -0.000005f, -0.000943f, 0.005670f, 0.013453f, 0.022339f, 0.036775f, -0.006084f, -0.045494f, -0.019502f, 0.040902f, -0.007560f, 0.015923f, -0.006524f, 0.000270f, 0.025218f, 0.010124f, 0.018802f, 0.012768f, -0.002242f, -0.000340f, -0.001804f, 0.014256f, 0.015703f, -0.005860f, -0.027669f, 0.035065f, 0.023086f, 0.018188f, + 0.004904f, 0.009578f, -0.015481f, -0.025325f, 0.034175f, 0.020539f, 0.007587f, -0.016064f, -0.020115f, -0.025436f, -0.017651f, -0.004210f, -0.017953f, 0.009294f, -0.034940f, 0.004811f, 0.022585f, -0.015784f, 0.006683f, 0.001482f, 0.001557f, -0.037965f, 0.011276f, -0.016561f, 0.025351f, -0.061280f, 0.008043f, -0.016693f, -0.023055f, 0.003836f, -0.015107f, 0.010767f, 0.008919f, -0.042146f, -0.002609f, 0.023445f, 0.001515f, -0.054665f, -0.027785f, 0.003842f, -0.047661f, 0.010804f, 0.034966f, -0.016890f, 0.042466f, 0.049388f, 0.006541f, 0.024604f, 0.030805f, 0.013562f, -0.029065f, 0.019001f, 0.023583f, -0.001269f, 0.006169f, 0.016339f, 0.014832f, 0.034868f, 0.006262f, -0.013570f, 0.022631f, 0.007928f, -0.003156f, 0.000443f, 0.015295f, -0.020492f, -0.008904f, -0.008688f, 0.012841f, 0.006452f, -0.028462f, 0.008507f, 0.024463f, 0.000653f, 0.029421f, -0.027425f, -0.051446f, 0.004193f, 0.023702f, 0.035256f, 0.033088f, 0.016940f, 0.015959f, 0.012530f, -0.034743f, -0.010160f, -0.000954f, 0.026626f, 0.042348f, -0.014221f, 0.009582f, -0.015114f, 0.010499f, 0.006970f, 0.026094f, 0.039789f, + -0.014501f, -0.016813f, -0.002696f, 0.022135f, 0.028521f, 0.039495f, 0.001800f, -0.041171f, -0.038678f, -0.005454f, 0.006113f, 0.001439f, -0.017059f, 0.002242f, -0.046481f, -0.027898f, -0.026484f, -0.025261f, 0.016624f, 0.023664f, -0.051488f, 0.005310f, -0.010658f, 0.028693f, -0.015352f, -0.001462f, 0.008312f, 0.022090f, -0.028675f, -0.046829f, -0.008480f, -0.017639f, 0.001256f, -0.020395f, 0.012713f, 0.013851f, 0.001332f, -0.024435f, 0.016283f, 0.003094f, 0.043381f, -0.005312f, 0.023956f, -0.018257f, 0.044971f, 0.014630f, 0.028315f, 0.020565f, 0.030939f, 0.046614f, -0.010171f, 0.019437f, -0.030407f, 0.035163f, 0.032901f, 0.001643f, 0.011417f, 0.034750f, -0.019494f, -0.017259f, -0.002031f, 0.067705f, 0.011937f, -0.015153f, 0.033746f, 0.007384f, 0.026386f, 0.038883f, 0.012196f, 0.001161f, 0.005356f, 0.009332f, 0.025642f, -0.004169f, 0.027549f, -0.013050f, 0.027181f, -0.008978f, 0.058286f, -0.003104f, 0.050821f, -0.037870f, -0.043913f, 0.071791f, -0.051358f, -0.023281f, 0.006596f, -0.010869f, -0.029396f, 0.037899f, 0.001548f, -0.033710f, -0.013756f, -0.011344f, -0.055309f, 0.009788f, + -0.046022f, -0.025392f, 0.004947f, -0.052846f, -0.036056f, -0.035875f, -0.043053f, 0.051029f, -0.004821f, 0.004456f, 0.010616f, -0.011324f, -0.065265f, -0.043333f, -0.048940f, -0.089254f, 0.002616f, 0.012894f, 0.035549f, 0.025574f, 0.009516f, 0.022095f, 0.009386f, 0.006505f, -0.033443f, -0.040460f, -0.029115f, 0.035121f, -0.008909f, -0.022976f, -0.014918f, 0.034247f, -0.044212f, -0.023571f, -0.045435f, -0.018404f, -0.008777f, -0.037130f, 0.008854f, -0.030700f, 0.028996f, 0.025590f, -0.011313f, 0.025122f, -0.029771f, -0.047598f, 0.014808f, 0.029110f, -0.031750f, -0.055105f, 0.034983f, -0.003207f, 0.023063f, 0.025728f, -0.087425f, -0.056675f, -0.007643f, -0.013267f, 0.043194f, -0.030430f, -0.043707f, -0.010295f, 0.009115f, 0.001415f, -0.015703f, -0.020152f, 0.056890f, -0.036599f, -0.069562f, -0.079610f, 0.038984f, -0.018043f, -0.080852f, 0.022090f, 0.006121f, -0.014643f, -0.007591f, 0.005334f, -0.048268f, -0.022668f, 0.025487f, 0.035490f, 0.079687f, 0.009918f, 0.042462f, 0.016765f, 0.021293f, -0.020833f, -0.004168f, -0.018341f, -0.041282f, -0.053482f, -0.069134f, -0.029097f, -0.062282f, -0.028534f, + -0.032187f, -0.016135f, 0.034969f, 0.004509f, 0.023944f, 0.036073f, 0.000668f, 0.022924f, 0.008346f, -0.002927f, -0.000601f, -0.009756f, -0.053346f, 0.014856f, -0.006675f, -0.065255f, -0.037598f, 0.012697f, -0.039135f, -0.020034f, 0.013606f, 0.038561f, 0.052547f, 0.012999f, -0.012000f, 0.001590f, 0.034505f, 0.013120f, 0.006125f, -0.007251f, -0.107128f, -0.027719f, 0.021387f, 0.020056f, 0.008414f, -0.011035f, -0.038193f, 0.017355f, -0.034766f, -0.031557f, -0.009758f, -0.001529f, -0.021714f, -0.064732f, 0.025369f, -0.016041f, 0.064508f, 0.017370f, 0.017306f, 0.017183f, 0.043426f, 0.105435f, -0.008429f, -0.008024f, -0.018280f, -0.039535f, 0.054873f, -0.003893f, 0.006526f, -0.060533f, -0.026095f, 0.079665f, -0.054702f, -0.009814f, -0.047987f, -0.125090f, -0.022684f, 0.043404f, 0.028248f, 0.010051f, 0.004939f, -0.003242f, 0.067795f, -0.074214f, -0.004602f, -0.018801f, -0.056651f, -0.040526f, -0.011190f, 0.018306f, 0.008304f, 0.020882f, 0.041942f, 0.033672f, -0.037825f, -0.030287f, 0.087994f, 0.079112f, -0.010989f, 0.012083f, -0.015132f, 0.027856f, -0.005377f, 0.057191f, 0.014630f, 0.031759f, + 0.002955f, 0.007095f, -0.101205f, 0.042608f, -0.009431f, -0.052569f, -0.033542f, 0.008106f, -0.020382f, -0.052509f, 0.047396f, -0.006944f, -0.044884f, -0.005912f, -0.000055f, 0.049108f, 0.046599f, 0.041993f, 0.009257f, 0.048675f, 0.043645f, -0.035921f, -0.047755f, -0.024796f, -0.013743f, 0.049785f, 0.057381f, 0.012149f, 0.015213f, 0.062993f, 0.028184f, -0.057788f, 0.032200f, 0.016090f, -0.027151f, 0.003149f, 0.094803f, 0.053631f, -0.034227f, -0.051867f, -0.081726f, 0.015541f, -0.014866f, -0.027153f, -0.032437f, 0.017534f, -0.019263f, -0.010322f, 0.055429f, -0.017716f, -0.001958f, -0.043366f, 0.004609f, 0.026534f, -0.058587f, -0.038374f, -0.034551f, -0.018205f, 0.022966f, -0.081153f, -0.043553f, -0.116822f, 0.021535f, -0.001674f, -0.028197f, -0.013413f, -0.015789f, 0.024448f, 0.038762f, -0.041655f, 0.003021f, -0.014717f, -0.012473f, -0.072885f, 0.017539f, 0.055588f, 0.016360f, 0.042076f, 0.054624f, 0.047407f, -0.061974f, -0.019448f, -0.017453f, -0.029713f, 0.055443f, -0.054559f, -0.029647f, 0.002231f, 0.079835f, 0.018004f, -0.025207f, 0.078961f, -0.041867f, -0.040728f, 0.095889f, 0.090426f, + 0.011147f, 0.023860f, -0.022772f, -0.083604f, -0.023204f, 0.087030f, -0.038252f, 0.079352f, -0.024400f, -0.119699f, -0.028122f, -0.054201f, 0.069773f, 0.004229f, 0.020338f, 0.063073f, -0.001763f, 0.052897f, 0.023222f, 0.042184f, 0.004209f, -0.078356f, 0.046807f, 0.051987f, -0.062949f, 0.034352f, 0.000845f, -0.023815f, -0.026153f, -0.093014f, -0.039454f, 0.031980f, 0.007252f, 0.084402f, -0.066659f, -0.038898f, 0.017491f, -0.009673f, 0.056010f, -0.075837f, 0.001772f, 0.007604f, -0.062139f, 0.063817f, 0.036864f, 0.019495f, -0.028068f, 0.043827f, -0.049829f, 0.028774f, 0.024296f, 0.013689f, -0.001580f, -0.028631f, 0.014173f, 0.058498f, -0.028330f, -0.010669f, 0.013663f, -0.044971f, 0.048780f, 0.002441f, 0.014576f, -0.061657f, 0.036104f, 0.009048f, 0.013941f, -0.145475f, 0.022618f, -0.040642f, 0.070973f, 0.057686f, 0.062709f, 0.031857f, -0.116443f, -0.019694f, 0.028083f, 0.003809f, 0.010426f, 0.085156f, -0.010069f, -0.049120f, -0.058260f, 0.003803f, -0.065300f, -0.057776f, -0.050703f, 0.026397f, -0.097237f, 0.070731f, 0.133388f, -0.034692f, -0.018513f, -0.105439f, -0.031548f, -0.092794f, + 0.023269f, -0.039157f, -0.031161f, 0.031746f, -0.026036f, -0.030830f, 0.023956f, -0.041387f, -0.005317f, -0.047549f, 0.070105f, 0.004077f, -0.055699f, -0.012878f, -0.001319f, -0.002515f, 0.014388f, -0.032656f, -0.027082f, 0.010824f, 0.012177f, 0.011397f, 0.004685f, 0.030464f, -0.034380f, -0.009381f, -0.075906f, 0.030188f, 0.004514f, -0.019544f, 0.050772f, 0.031972f, -0.024085f, 0.084231f, 0.015735f, -0.048152f, 0.036328f, 0.009631f, 0.022895f, 0.056642f, -0.007176f, -0.010173f, 0.006254f, 0.047225f, 0.022913f, 0.003999f, -0.006535f, 0.050320f, -0.006148f, -0.051941f, -0.011371f, 0.013161f, 0.041643f, -0.016232f, 0.073083f, 0.085562f, -0.053938f, 0.046099f, 0.091435f, -0.022084f, 0.139731f, 0.082483f, -0.036243f, -0.029193f, -0.053786f, -0.057278f, -0.034323f, 0.021466f, -0.010446f, -0.008174f, -0.001246f, -0.006953f, -0.097143f, -0.036521f, -0.094966f, 0.022462f, 0.125663f, 0.031603f, -0.043220f, 0.003765f, -0.057132f, -0.008840f, 0.021915f, -0.025428f, -0.029644f, -0.035767f, -0.011652f, 0.012261f, -0.006122f, -0.012179f, 0.017381f, 0.008104f, 0.023045f, -0.023091f, -0.012208f, 0.014993f, + -0.004008f, 0.001925f, -0.030547f, 0.021037f, -0.036009f, 0.017297f, 0.014383f, -0.008994f, 0.000251f, 0.000574f, -0.019959f, 0.002898f, 0.006547f, -0.018274f, 0.033778f, -0.017762f, 0.009864f, -0.000539f, 0.003377f, 0.015303f, -0.013259f, -0.024942f, -0.004858f, 0.035922f, -0.024614f, 0.017288f, -0.047142f, -0.030198f, 0.012159f, -0.011346f, 0.002032f, -0.003854f, -0.027016f, 0.031232f, 0.028449f, 0.001792f, -0.018726f, -0.001585f, -0.009975f, 0.006067f, -0.013108f, -0.000971f, -0.012241f, 0.011563f, -0.000444f, 0.002759f, 0.044498f, -0.034352f, 0.001683f, 0.005834f, 0.007503f, -0.007466f, 0.006647f, -0.016038f, 0.007670f, -0.013362f, -0.058184f, -0.089609f, 0.062881f, 0.280852f, 0.125120f, 0.127926f, 0.000607f, -0.262778f, -0.187695f, -0.099862f, -0.204499f, 0.098504f, 0.124304f, 0.062389f, 0.267767f, 0.118268f, -0.010117f, 0.086827f, -0.170891f, -0.221239f, -0.123980f, -0.155445f, -0.031739f, 0.117506f, 0.123334f, 0.049533f, 0.206212f, 0.100109f, -0.012790f, 0.096966f, -0.089186f, -0.157063f, -0.087734f, -0.118543f, -0.182166f, 0.066077f, -0.000114f, -0.067481f, 0.199239f, 0.117515f, + 0.068519f, 0.200875f, 0.050464f, -0.104396f, 0.101234f, -0.148182f, -0.165612f, -0.035799f, -0.174265f, -0.179969f, 0.072104f, -0.031101f, 0.044702f, 0.223321f, 0.155648f, 0.158783f, 0.152887f, 0.016790f, -0.083218f, -0.099579f, -0.162499f, -0.216844f, -0.111323f, -0.062856f, -0.042941f, 0.080777f, 0.129842f, 0.119039f, 0.172170f, 0.152760f, -0.021981f, -0.028231f, -0.025646f, -0.158668f, -0.044471f, -0.077097f, -0.107629f, 0.027924f, 0.028288f, -0.001355f} + }, + { + {-0.005889f, -0.013663f, -0.005501f, -0.007822f, -0.004259f, 0.009698f, 0.005225f, 0.000753f, 0.008095f, 0.005482f, -0.006464f, -0.008837f, -0.005413f, -0.004194f, 0.001057f, 0.003309f, -0.008845f, -0.001237f, -0.003505f, -0.000139f, -0.001045f, -0.001956f, -0.004690f, 0.011110f, 0.006507f, -0.000795f, -0.009141f, -0.003661f, 0.001986f, 0.003738f, -0.000283f, -0.003659f, 0.001644f, 0.003185f, 0.001103f, 0.002976f, -0.002525f, -0.000431f, -0.006999f, -0.009077f, -0.001920f, -0.000859f, 0.004481f, 0.005404f, 0.003874f, 0.001074f, 0.001301f, 0.003093f, 0.004659f, 0.001319f, 0.006209f, 0.002477f, -0.003919f, -0.004688f, -0.000042f, 0.004412f, 0.004203f, 0.001784f, 0.000969f, 0.006697f, 0.004528f, -0.007987f, -0.006857f, -0.004168f, -0.003773f, -0.003424f, 0.004588f, -0.003108f, 0.002191f, -0.007564f, 0.005518f, -0.005372f, -0.003834f, 0.003849f, -0.002422f, -0.003374f, 0.008748f, 0.005360f, -0.008337f, -0.001651f, -0.003222f, -0.000059f, 0.011941f, 0.000896f, -0.005432f, 0.006607f, 0.001074f, 0.000849f, 0.001903f, 0.001538f, -0.000133f, 0.009340f, 0.004912f, -0.006005f, -0.002640f, -0.000525f, + -0.002434f, 0.002751f, 0.003642f, 0.002807f, -0.002924f, -0.003774f, 0.001244f, -0.007789f, -0.003909f, 0.006165f, 0.000233f, 0.004999f, 0.002165f, -0.003709f, 0.002636f, 0.000231f, -0.003752f, 0.008583f, -0.005953f, -0.002464f, 0.000732f, 0.003072f, -0.004198f, -0.000829f, -0.005889f, -0.010745f, 0.009843f, -0.001864f, -0.006098f, 0.000792f, 0.008983f, 0.000204f, 0.003200f, -0.004473f, -0.003192f, -0.001722f, 0.002402f, -0.003482f, 0.007000f, 0.001412f, 0.006230f, -0.009611f, 0.003570f, -0.002308f, 0.001000f, 0.004453f, -0.002409f, -0.000802f, -0.008069f, 0.000378f, 0.003033f, 0.001264f, -0.003084f, 0.000091f, 0.002198f, -0.001303f, -0.003816f, 0.025456f, 0.009020f, -0.002252f, 0.007170f, 0.000135f, 0.012886f, 0.007739f, -0.001560f, 0.006290f, 0.011592f, 0.014654f, -0.008564f, -0.008820f, 0.003874f, -0.003694f, -0.002654f, 0.010411f, 0.008819f, 0.007960f, 0.006068f, 0.000870f, -0.000112f, -0.003948f, 0.004285f, 0.002599f, 0.013781f, 0.001133f, -0.000064f, -0.006235f, 0.003055f, 0.003726f, -0.000536f, -0.002094f, -0.001881f, 0.003426f, -0.000294f, -0.002437f, -0.004715f, 0.005008f, + -0.001513f, -0.002041f, 0.007745f, 0.010355f, -0.002471f, -0.001570f, 0.006416f, 0.005222f, 0.010014f, 0.005749f, 0.002970f, 0.000717f, 0.008592f, 0.004397f, -0.011098f, -0.000286f, 0.003844f, -0.006886f, 0.000530f, 0.000761f, -0.007765f, 0.003822f, -0.003547f, 0.005770f, -0.000875f, -0.001409f, 0.003771f, 0.000683f, -0.005085f, -0.000901f, 0.003723f, -0.001538f, -0.000697f, -0.002112f, 0.001432f, 0.005955f, 0.002191f, -0.007077f, 0.008878f, -0.000690f, -0.016774f, -0.007805f, -0.003260f, -0.003631f, -0.009136f, -0.008388f, -0.005274f, 0.009082f, -0.009997f, -0.004672f, -0.004754f, 0.001817f, 0.015148f, -0.002291f, -0.001217f, 0.003690f, 0.008663f, -0.013289f, -0.002179f, 0.002683f, -0.005873f, 0.004656f, 0.007402f, -0.008215f, -0.000522f, 0.001017f, -0.004775f, -0.012086f, 0.002078f, -0.005119f, 0.001615f, -0.004723f, 0.006874f, -0.008375f, -0.007781f, -0.019181f, -0.005171f, 0.006496f, -0.001086f, -0.007419f, -0.003634f, -0.001018f, -0.007708f, 0.000282f, -0.001317f, 0.005164f, 0.004156f, -0.002110f, 0.000218f, -0.002101f, -0.008137f, 0.009749f, 0.001705f, 0.006518f, -0.002480f, -0.000177f, + 0.001722f, 0.002673f, 0.007657f, -0.002714f, -0.001872f, 0.001984f, -0.000231f, 0.008056f, 0.004471f, -0.007617f, -0.002875f, -0.002235f, -0.011455f, -0.001788f, -0.001039f, 0.006232f, -0.004302f, -0.036729f, -0.011708f, -0.003086f, -0.003128f, -0.002901f, 0.014103f, -0.012946f, 0.006193f, -0.002861f, 0.002770f, -0.003538f, -0.003166f, -0.010354f, 0.001628f, -0.003619f, 0.000699f, -0.015110f, 0.000215f, -0.001308f, -0.002837f, 0.000026f, 0.002809f, 0.002616f, -0.001525f, -0.000750f, -0.006221f, 0.002216f, -0.004998f, 0.003581f, -0.000051f, 0.003119f, 0.009558f, -0.002157f, -0.011020f, -0.004332f, -0.012890f, 0.002166f, 0.002312f, -0.000768f, 0.002231f, -0.004081f, 0.004325f, 0.002648f, -0.005679f, 0.000941f, -0.015439f, -0.002834f, -0.010303f, 0.006147f, 0.010292f, -0.008512f, -0.000634f, 0.003457f, 0.001657f, -0.014219f, 0.002566f, 0.008152f, -0.006967f, -0.002789f, -0.016704f, 0.006325f, -0.002274f, 0.007595f, 0.012667f, 0.007770f, -0.009811f, 0.002805f, 0.002630f, 0.001252f, -0.010846f, 0.003598f, -0.004385f, 0.008145f, -0.002546f, 0.000319f, 0.004046f, 0.003357f, -0.022112f, 0.001796f, + 0.004804f, -0.008904f, -0.000296f, 0.021600f, 0.018057f, 0.008686f, -0.001781f, -0.004783f, 0.011822f, 0.006233f, 0.004270f, 0.003469f, -0.008247f, 0.002322f, 0.001579f, 0.009747f, -0.009308f, -0.005337f, -0.001200f, 0.000556f, -0.001337f, -0.012335f, -0.007125f, -0.008919f, -0.008899f, 0.004533f, 0.007169f, 0.003343f, 0.003583f, -0.000606f, 0.003521f, -0.002283f, -0.000519f, -0.000111f, -0.002763f, -0.001862f, 0.005806f, 0.003071f, -0.007112f, -0.009667f, -0.000064f, -0.009718f, 0.006025f, -0.003622f, -0.014096f, 0.000814f, 0.008342f, 0.009695f, 0.008207f, -0.000641f, 0.007815f, -0.011714f, -0.002579f, -0.005900f, 0.000109f, -0.000480f, 0.005637f, -0.004964f, -0.008804f, 0.010425f, -0.009784f, -0.006675f, 0.008325f, 0.015416f, 0.005122f, 0.001480f, -0.015527f, 0.015870f, 0.003480f, 0.009954f, 0.020945f, -0.007650f, 0.004067f, -0.002611f, -0.004506f, 0.003709f, 0.034608f, 0.024233f, -0.008605f, -0.012776f, 0.019230f, 0.012387f, 0.020226f, 0.029511f, -0.014899f, 0.010145f, 0.004993f, 0.008468f, 0.003904f, 0.005023f, 0.012288f, 0.002893f, 0.012538f, 0.000244f, -0.007984f, 0.003179f, + -0.002578f, 0.004024f, -0.001495f, 0.022781f, 0.003866f, 0.004839f, 0.003088f, 0.000665f, 0.008007f, 0.003158f, 0.000421f, -0.001757f, 0.005698f, -0.004744f, 0.010930f, -0.008893f, 0.013163f, -0.006594f, 0.007918f, 0.003837f, 0.004793f, 0.003511f, 0.019332f, 0.014469f, 0.000809f, -0.004608f, -0.010679f, 0.011079f, -0.012998f, 0.002758f, -0.005777f, 0.005174f, 0.012009f, 0.000941f, -0.020555f, -0.017094f, 0.001524f, -0.010879f, -0.011354f, -0.007061f, -0.013071f, 0.003926f, 0.022093f, 0.010483f, -0.008435f, -0.000246f, 0.002347f, -0.006670f, -0.006808f, -0.001990f, 0.010715f, 0.011175f, -0.013170f, 0.004953f, 0.014051f, 0.001309f, 0.004537f, 0.014652f, 0.003460f, 0.021470f, -0.001365f, -0.000794f, -0.006723f, -0.006418f, 0.007981f, 0.016150f, -0.004252f, 0.003922f, 0.001813f, 0.017565f, 0.008101f, -0.008871f, -0.007114f, 0.000728f, 0.004443f, 0.015959f, 0.016750f, 0.024054f, 0.005134f, 0.006403f, -0.003598f, 0.009587f, 0.012059f, -0.004781f, -0.004893f, 0.008438f, -0.006010f, -0.009716f, 0.009565f, 0.002339f, -0.010088f, -0.013614f, 0.021032f, 0.009878f, 0.000122f, 0.012665f, + 0.003344f, -0.009294f, 0.020062f, -0.004703f, 0.001443f, -0.000636f, 0.005865f, -0.007137f, 0.005884f, -0.007112f, 0.005771f, -0.006573f, 0.006823f, -0.005340f, 0.008970f, -0.006679f, -0.005842f, 0.018002f, -0.021411f, 0.001427f, 0.003701f, -0.007455f, 0.002572f, -0.024853f, -0.011276f, 0.012501f, -0.008898f, 0.008005f, -0.001484f, 0.005790f, 0.003443f, 0.005341f, 0.003972f, -0.009972f, 0.007540f, -0.004521f, 0.000661f, -0.017659f, -0.015634f, 0.000160f, 0.006451f, 0.012747f, -0.014830f, 0.004410f, -0.013356f, 0.011038f, 0.008052f, -0.017828f, -0.003989f, 0.002129f, -0.021397f, -0.011839f, 0.012605f, -0.001490f, -0.001188f, 0.003215f, -0.001611f, -0.021973f, 0.019952f, 0.001454f, -0.014628f, -0.006837f, 0.002391f, -0.001727f, -0.014088f, -0.004012f, -0.008237f, 0.002394f, -0.001019f, -0.004301f, 0.004080f, -0.019114f, -0.008880f, 0.005017f, 0.024730f, -0.004157f, -0.015124f, -0.010412f, -0.008605f, 0.017076f, -0.018607f, -0.003671f, -0.001694f, -0.019507f, -0.024686f, 0.005867f, -0.017276f, -0.002804f, 0.002000f, 0.012599f, 0.006601f, 0.000821f, 0.002183f, 0.014969f, -0.007225f, -0.005116f, + 0.021917f, -0.015541f, 0.011005f, -0.005717f, -0.006525f, -0.002956f, -0.003731f, 0.023329f, -0.000613f, 0.008379f, -0.026266f, -0.019307f, -0.001201f, -0.005294f, 0.025299f, -0.001512f, 0.015055f, 0.003694f, -0.029494f, 0.002611f, -0.002691f, 0.020093f, 0.002596f, -0.021794f, 0.025973f, 0.008053f, -0.014848f, -0.033342f, -0.013532f, 0.032503f, 0.001902f, -0.004366f, -0.005189f, 0.003165f, 0.001379f, 0.009892f, 0.005657f, 0.010619f, -0.002023f, 0.019123f, -0.009634f, -0.022943f, 0.001315f, 0.000879f, -0.005055f, -0.000999f, 0.008910f, -0.006011f, -0.003086f, -0.002146f, 0.018613f, 0.013971f, 0.007745f, -0.001499f, -0.024336f, -0.000631f, -0.000825f, -0.001186f, -0.003630f, -0.000554f, -0.010334f, -0.020369f, -0.002631f, 0.013747f, 0.014091f, -0.005255f, 0.015126f, -0.004863f, 0.006902f, 0.015791f, 0.015939f, -0.033940f, 0.012270f, 0.011956f, 0.005791f, -0.008468f, -0.028798f, 0.017677f, 0.011446f, 0.005425f, -0.009638f, -0.006264f, -0.010955f, 0.006204f, -0.012162f, -0.002976f, 0.001468f, 0.011446f, -0.006085f, 0.005351f, 0.005013f, -0.022698f, -0.000874f, -0.016046f, 0.026517f, 0.002835f, + 0.017857f, 0.023306f, 0.022506f, 0.018406f, 0.022035f, -0.028008f, -0.019470f, -0.009279f, -0.010059f, -0.013129f, -0.011293f, -0.022415f, -0.008599f, 0.002085f, 0.012871f, 0.000502f, -0.013994f, -0.000122f, 0.012824f, 0.001140f, -0.012232f, -0.004876f, 0.030233f, 0.003448f, 0.010783f, 0.003991f, 0.011926f, 0.002996f, 0.003213f, -0.018806f, 0.009699f, 0.001035f, 0.003417f, -0.019786f, 0.005915f, -0.030574f, -0.001068f, -0.009529f, 0.006565f, -0.002635f, -0.023626f, -0.000395f, -0.023544f, 0.004220f, -0.019779f, 0.017078f, -0.010827f, 0.026763f, -0.000364f, -0.000520f, 0.012251f, 0.002815f, -0.005486f, -0.004075f, 0.004179f, -0.009347f, 0.005015f, 0.016217f, 0.007116f, -0.012645f, -0.007775f, 0.034895f, 0.001338f, 0.027622f, -0.027539f, -0.006226f, -0.004173f, 0.019618f, -0.024222f, 0.002093f, 0.009549f, -0.024143f, 0.014538f, -0.016198f, 0.003003f, -0.009031f, -0.028271f, 0.003896f, 0.028167f, 0.020397f, 0.023026f, -0.008078f, -0.005657f, 0.005153f, -0.003802f, 0.027607f, 0.009547f, 0.012797f, 0.023823f, -0.002402f, 0.008908f, -0.016867f, 0.023627f, 0.011055f, -0.006046f, -0.015334f, + -0.013643f, 0.015014f, -0.027664f, 0.009812f, 0.015557f, -0.012444f, -0.015649f, -0.009776f, 0.014371f, 0.004444f, -0.006009f, -0.011192f, -0.000309f, -0.018117f, -0.026032f, 0.003387f, -0.025084f, -0.037721f, -0.005311f, 0.000038f, 0.036080f, -0.017352f, -0.013485f, 0.014928f, 0.026183f, 0.025639f, 0.013389f, -0.003300f, 0.005095f, -0.013454f, 0.000764f, -0.014097f, 0.028922f, 0.024930f, 0.015768f, -0.003207f, -0.032852f, -0.002257f, -0.028502f, 0.027118f, 0.020578f, 0.011865f, -0.024444f, 0.015801f, 0.007652f, 0.010097f, -0.007164f, -0.021274f, -0.017056f, -0.017628f, 0.001021f, -0.023716f, -0.043334f, 0.004994f, 0.019774f, 0.012334f, 0.012970f, 0.024893f, 0.048440f, 0.023883f, 0.015867f, 0.017939f, -0.032584f, -0.003203f, -0.012916f, 0.041277f, -0.041806f, -0.036475f, 0.009385f, 0.027551f, -0.002268f, 0.033328f, 0.027151f, 0.000356f, 0.009526f, -0.017230f, -0.015182f, 0.031811f, -0.013330f, 0.022422f, 0.005848f, -0.011588f, -0.008427f, -0.004127f, -0.008046f, -0.012132f, 0.010277f, 0.014307f, 0.009052f, 0.002831f, -0.016958f, -0.018192f, 0.024660f, -0.023656f, 0.018827f, 0.003780f, + -0.032756f, 0.017826f, 0.028803f, 0.001371f, -0.009337f, -0.001796f, 0.001300f, 0.003779f, 0.019391f, 0.001014f, -0.016440f, -0.004283f, 0.016446f, -0.029568f, 0.006748f, -0.003069f, 0.024978f, 0.029577f, 0.017427f, 0.023746f, 0.027409f, 0.022703f, 0.006782f, -0.015597f, -0.020997f, 0.012759f, 0.013434f, 0.002032f, 0.011797f, 0.019472f, 0.042967f, -0.020498f, 0.027557f, -0.011879f, -0.009419f, 0.034377f, 0.005287f, -0.032361f, -0.006888f, 0.020367f, -0.024847f, 0.001758f, -0.015956f, -0.025303f, 0.037397f, 0.033769f, 0.026494f, 0.014034f, 0.006279f, 0.011855f, 0.027268f, 0.016635f, 0.027992f, -0.009538f, 0.023327f, -0.017025f, 0.028436f, 0.040446f, 0.023838f, 0.020839f, 0.009228f, 0.021514f, 0.019670f, -0.004794f, 0.039899f, 0.011064f, -0.025235f, 0.012967f, -0.025527f, -0.015690f, -0.005786f, -0.037179f, -0.000025f, -0.006775f, -0.011139f, -0.017266f, -0.010420f, -0.003848f, -0.001853f, -0.002217f, 0.001041f, 0.003256f, -0.022771f, -0.012933f, 0.003987f, -0.009941f, 0.008614f, 0.039831f, -0.019730f, 0.000345f, -0.004157f, 0.003374f, -0.018688f, 0.011846f, -0.009216f, 0.031572f, + 0.005813f, 0.019831f, 0.027116f, 0.007076f, -0.002159f, -0.015629f, -0.040642f, 0.008018f, 0.029967f, 0.024715f, -0.005592f, -0.023786f, 0.023128f, 0.005875f, 0.014751f, -0.030442f, -0.022131f, -0.016903f, 0.016951f, -0.057326f, -0.036413f, -0.017531f, 0.041074f, 0.029664f, -0.021901f, 0.025435f, 0.023277f, 0.019592f, 0.019505f, -0.019187f, 0.002262f, 0.011111f, -0.018750f, -0.057560f, -0.010172f, -0.015900f, -0.034958f, 0.003315f, -0.011667f, -0.008883f, 0.011204f, 0.006619f, -0.007440f, 0.001928f, 0.027439f, 0.029153f, -0.052659f, 0.012942f, 0.003171f, 0.024928f, 0.008845f, 0.001745f, -0.032583f, 0.010551f, -0.007978f, -0.008682f, -0.022234f, -0.016359f, 0.043075f, -0.018699f, -0.000236f, 0.005753f, -0.010715f, 0.047816f, 0.022885f, -0.020128f, -0.012138f, -0.035920f, -0.004781f, 0.036204f, 0.010861f, 0.011756f, -0.011044f, 0.022730f, -0.004571f, -0.007919f, 0.020271f, -0.010205f, 0.033262f, -0.006002f, 0.024839f, -0.047908f, -0.016575f, 0.030797f, 0.007233f, -0.001975f, 0.008103f, -0.052025f, -0.026228f, 0.012286f, -0.022500f, 0.013630f, 0.001098f, 0.014137f, 0.030032f, 0.012813f, + -0.027351f, -0.069159f, -0.008519f, -0.006214f, -0.010212f, 0.013378f, -0.031032f, 0.058517f, -0.012720f, 0.004885f, 0.059406f, -0.070462f, -0.010076f, -0.011875f, -0.009457f, -0.081055f, 0.002130f, -0.010548f, -0.018669f, 0.030655f, -0.031201f, 0.006755f, 0.002899f, 0.015851f, -0.005213f, -0.028043f, 0.018195f, -0.017605f, 0.040732f, -0.005097f, -0.051806f, -0.001251f, -0.004329f, -0.022428f, -0.052224f, 0.024634f, 0.022495f, -0.039067f, 0.031113f, -0.035087f, -0.031949f, -0.015515f, 0.000459f, 0.005465f, 0.002738f, 0.026421f, -0.007428f, -0.020334f, -0.056926f, 0.013544f, -0.075968f, -0.036232f, -0.028107f, -0.055898f, -0.037701f, -0.014201f, -0.006685f, -0.024733f, 0.038685f, 0.045847f, 0.006386f, -0.010036f, 0.044304f, 0.024503f, -0.008646f, -0.007442f, 0.031000f, 0.028785f, -0.014805f, 0.049236f, -0.040911f, -0.014729f, 0.047025f, 0.029556f, 0.068218f, -0.026123f, -0.023580f, 0.015133f, -0.002873f, -0.026394f, -0.013223f, 0.006774f, 0.055809f, 0.031805f, -0.005014f, 0.075502f, -0.008494f, 0.031131f, -0.035341f, 0.044219f, 0.041741f, -0.003497f, -0.032939f, 0.003836f, 0.012412f, -0.018215f, + 0.020106f, -0.026700f, 0.000048f, -0.007867f, -0.008357f, -0.030295f, -0.021937f, -0.013448f, -0.001223f, -0.009351f, -0.023487f, 0.036648f, 0.025464f, 0.007422f, -0.009194f, 0.006946f, 0.035551f, 0.017185f, 0.026448f, 0.016965f, -0.017852f, -0.028278f, 0.060369f, -0.006643f, -0.031090f, -0.012294f, -0.012533f, -0.006446f, 0.044309f, 0.003233f, -0.031435f, -0.011111f, -0.080373f, -0.018591f, -0.007781f, 0.052327f, 0.036910f, -0.097856f, -0.040819f, -0.022200f, 0.001821f, 0.007264f, -0.037303f, 0.031793f, 0.018423f, 0.028232f, 0.053008f, -0.062455f, 0.067243f, 0.049275f, -0.017373f, -0.040326f, 0.006313f, -0.007114f, 0.020067f, 0.061536f, 0.051532f, 0.007737f, 0.018874f, -0.040136f, -0.065251f, 0.093731f, 0.045762f, 0.004828f, 0.005199f, -0.020377f, -0.055774f, 0.019773f, -0.005278f, 0.047520f, 0.009446f, 0.017938f, 0.050413f, 0.028974f, -0.001769f, -0.005045f, 0.007460f, -0.030985f, -0.027163f, -0.032986f, -0.020038f, 0.031340f, -0.009938f, 0.002357f, 0.037129f, -0.006248f, 0.015336f, -0.053330f, -0.049991f, -0.032353f, 0.026091f, 0.011757f, -0.003702f, 0.013197f, -0.019105f, -0.047881f, + 0.058861f, -0.057488f, 0.024447f, 0.028025f, 0.019314f, 0.010195f, 0.034418f, -0.023270f, -0.061924f, 0.044421f, 0.121427f, -0.021235f, 0.057125f, -0.071554f, -0.042158f, 0.045520f, 0.022821f, -0.066179f, -0.022449f, -0.004593f, 0.054529f, -0.013263f, -0.010282f, -0.089834f, -0.062848f, -0.019297f, -0.071424f, 0.058006f, 0.055127f, 0.096603f, -0.088136f, 0.038766f, 0.005930f, -0.042786f, -0.006256f, 0.002697f, -0.094118f, 0.018368f, -0.017424f, -0.084110f, -0.046150f, -0.002704f, -0.011611f, -0.028846f, 0.011074f, 0.025816f, 0.003750f, -0.030429f, -0.000515f, -0.029208f, 0.077406f, -0.024463f, 0.002708f, 0.056972f, -0.002309f, -0.060426f, -0.040423f, -0.041607f, -0.017075f, -0.022603f, 0.064599f, 0.005637f, 0.011405f, 0.030785f, -0.016571f, -0.018728f, -0.009835f, -0.019068f, -0.037995f, -0.010069f, 0.073823f, 0.022621f, 0.018149f, -0.049444f, 0.018668f, 0.002879f, -0.033819f, -0.004950f, -0.016616f, 0.078304f, -0.061994f, -0.054990f, -0.018446f, 0.008984f, -0.018103f, 0.001525f, 0.021892f, -0.042123f, -0.010639f, 0.066227f, -0.053712f, 0.008628f, -0.013276f, -0.033735f, -0.057181f, -0.044679f, + 0.002178f, -0.080708f, -0.096663f, 0.022089f, 0.019521f, 0.014691f, -0.086765f, 0.065851f, 0.080223f, -0.028232f, -0.024511f, 0.004388f, -0.004886f, -0.018753f, -0.046983f, 0.032318f, 0.118912f, 0.018728f, 0.021096f, -0.026167f, -0.069923f, 0.019619f, 0.027133f, -0.102959f, 0.056496f, 0.002837f, -0.029499f, 0.010346f, 0.037682f, -0.052922f, 0.032997f, -0.049071f, 0.013447f, -0.002320f, -0.024896f, -0.013293f, -0.006629f, -0.035877f, 0.026337f, 0.023565f, -0.000840f, 0.013339f, 0.001860f, 0.021004f, 0.026731f, 0.026348f, 0.038249f, 0.033394f, -0.019727f, 0.005958f, -0.040871f, 0.044758f, -0.033369f, 0.011713f, -0.005954f, 0.009967f, 0.002785f, -0.030224f, 0.029176f, -0.014729f, -0.029492f, 0.064680f, -0.049955f, 0.016518f, -0.013731f, -0.023913f, 0.026620f, -0.005206f, 0.008690f, 0.041040f, -0.046633f, 0.003511f, -0.057301f, -0.113752f, -0.001546f, 0.038569f, -0.012340f, 0.150287f, 0.031869f, -0.055906f, 0.018121f, -0.078628f, 0.030094f, 0.060370f, 0.070582f, -0.020690f, -0.010985f, -0.086661f, -0.100193f, -0.004685f, -0.060733f, 0.020637f, 0.000994f, -0.073766f, 0.015297f, -0.005494f, + -0.042812f, 0.019171f, -0.027765f, -0.018983f, -0.034543f, 0.017494f, -0.037630f, 0.048126f, -0.005040f, 0.017682f, -0.011043f, 0.064672f, -0.017537f, 0.035394f, -0.000483f, 0.042223f, -0.011757f, -0.021757f, 0.013987f, -0.024612f, -0.025545f, 0.003133f, 0.048480f, 0.030705f, -0.032780f, 0.034739f, -0.024540f, -0.038275f, 0.010829f, 0.051211f, -0.019712f, -0.021630f, 0.027865f, 0.011810f, -0.025542f, 0.002228f, 0.035437f, -0.015392f, -0.033583f, 0.017658f, 0.014414f, 0.020763f, 0.039962f, 0.007366f, -0.023545f, -0.008904f, 0.087464f, 0.090307f, -0.024822f, -0.076997f, 0.058589f, -0.026719f, 0.016949f, 0.006690f, 0.098657f, 0.011751f, -0.050178f, -0.020530f, -0.011543f, 0.000572f, 0.016058f, 0.021164f, 0.032865f, -0.040740f, 0.013310f, 0.005199f, 0.058173f, -0.018313f, 0.041654f, 0.037837f, 0.025931f, 0.013320f, 0.015672f, 0.021285f, 0.104900f, 0.041923f, -0.045097f, 0.009756f, -0.047156f, -0.027952f, -0.001712f, 0.016165f, -0.006121f, 0.036403f, -0.043393f, -0.002854f, 0.019527f, -0.002956f, 0.020278f, -0.004120f, 0.008312f, 0.002905f, -0.030450f, -0.011568f, 0.010409f, -0.031571f, + -0.028404f, 0.001140f, 0.009843f, -0.022861f, 0.017438f, 0.013408f, -0.006889f, -0.016586f, -0.000201f, 0.001849f, -0.003013f, 0.011291f, 0.005649f, 0.008569f, -0.010852f, -0.007135f, 0.026194f, -0.001497f, 0.003876f, 0.009874f, -0.004863f, 0.011054f, -0.009172f, -0.024018f, -0.011521f, 0.021453f, -0.015208f, -0.015239f, 0.004769f, -0.020015f, -0.016160f, 0.026258f, -0.024274f, 0.042505f, 0.013711f, -0.021796f, 0.023703f, 0.000882f, -0.028427f, 0.000519f, -0.000994f, -0.008332f, 0.021007f, -0.003287f, -0.013441f, 0.034767f, -0.016082f, -0.012245f, 0.027166f, 0.002379f, 0.000747f, -0.003594f, 0.017472f, -0.006052f, 0.015546f, -0.014826f, -0.061331f, -0.076410f, 0.064643f, 0.255690f, 0.101735f, 0.116660f, 0.002840f, -0.241708f, -0.175881f, -0.093779f, -0.139895f, 0.062143f, 0.122815f, 0.048944f, 0.216153f, 0.120416f, -0.006797f, 0.049332f, -0.107341f, -0.220341f, -0.086153f, -0.153398f, -0.023010f, 0.104301f, 0.090188f, 0.079268f, 0.135287f, 0.081477f, 0.024094f, 0.035636f, -0.008587f, -0.157112f, -0.067515f, -0.057326f, -0.214054f, 0.038811f, 0.029699f, -0.096846f, 0.156688f, 0.152446f, + -0.003739f, 0.193189f, 0.097091f, -0.091429f, 0.061871f, -0.090902f, -0.185197f, -0.015973f, -0.111191f, -0.164620f, 0.030581f, 0.016336f, -0.008013f, 0.151266f, 0.148785f, 0.086630f, 0.132720f, 0.078370f, -0.048905f, -0.058482f, -0.099883f, -0.175871f, -0.126729f, -0.062641f, -0.055287f, 0.030257f, 0.101273f, 0.066404f, 0.111310f, 0.162754f, 0.067042f, -0.022337f, -0.016383f, -0.113698f, -0.085707f, 0.009021f, -0.091341f, -0.033725f, 0.034008f, -0.006870f}, + {-0.004815f, -0.012030f, -0.003493f, 0.003523f, 0.000648f, 0.003820f, 0.003430f, 0.010792f, -0.002005f, -0.000496f, -0.001213f, -0.007813f, -0.006263f, 0.001472f, 0.001259f, -0.000511f, 0.003768f, -0.011457f, -0.006803f, -0.006586f, 0.003937f, -0.000119f, -0.001678f, -0.002020f, -0.002006f, 0.001805f, 0.002673f, -0.000696f, -0.001486f, 0.004034f, -0.006424f, 0.006509f, 0.004412f, -0.002411f, -0.005353f, -0.001064f, -0.007872f, -0.003369f, -0.011053f, 0.004511f, 0.004142f, -0.000701f, 0.002402f, -0.007214f, 0.006526f, -0.000140f, -0.001093f, 0.005229f, -0.007272f, 0.000231f, 0.006156f, 0.001572f, -0.001687f, 0.000460f, 0.000874f, -0.006669f, 0.005189f, -0.001173f, 0.006411f, 0.000705f, 0.001663f, 0.001246f, 0.002054f, -0.003880f, -0.004502f, -0.004502f, 0.003448f, -0.002734f, 0.000660f, 0.007686f, 0.010107f, 0.005773f, -0.001024f, 0.002362f, -0.000045f, 0.000139f, 0.000914f, 0.006491f, -0.008799f, -0.007006f, -0.001307f, 0.006949f, 0.010028f, -0.004686f, 0.005815f, -0.003193f, -0.008525f, -0.002233f, -0.004811f, 0.002847f, -0.001263f, -0.003998f, 0.003628f, 0.005743f, 0.001161f, 0.006926f, + -0.012668f, -0.013493f, -0.008833f, 0.001336f, -0.000153f, -0.002247f, 0.000531f, 0.004214f, -0.001485f, 0.005665f, 0.004488f, -0.005855f, 0.002118f, -0.000371f, 0.007100f, 0.006752f, 0.002371f, -0.007024f, 0.004499f, -0.004154f, 0.002205f, 0.004732f, -0.011507f, 0.012467f, 0.018021f, 0.002462f, 0.008062f, -0.006619f, -0.001547f, -0.006205f, -0.003473f, 0.005726f, -0.002099f, -0.006412f, -0.001953f, -0.003997f, 0.002893f, -0.003889f, -0.003891f, 0.000480f, 0.003049f, -0.003185f, -0.004039f, -0.001477f, 0.006140f, 0.005987f, -0.005276f, -0.001612f, -0.006208f, 0.001584f, 0.007237f, 0.002461f, -0.003321f, -0.003191f, 0.002290f, -0.000169f, -0.005899f, 0.027888f, 0.012990f, -0.001074f, 0.005970f, 0.005221f, -0.006603f, -0.003391f, 0.007877f, 0.003434f, 0.008566f, -0.006238f, 0.012405f, 0.004522f, -0.012005f, 0.009531f, 0.000635f, -0.000309f, -0.006274f, 0.006953f, -0.012980f, -0.011336f, -0.002279f, -0.004086f, -0.002043f, -0.004102f, 0.001655f, -0.002522f, -0.005310f, -0.004022f, 0.004706f, -0.005057f, 0.003335f, 0.001934f, 0.001431f, -0.005571f, 0.007871f, -0.016214f, -0.002675f, -0.000163f, + -0.002658f, -0.002101f, 0.001568f, 0.002941f, -0.004992f, 0.004047f, -0.006079f, 0.005934f, 0.002105f, 0.001246f, 0.006409f, -0.004434f, -0.000820f, 0.002444f, 0.009937f, 0.002335f, 0.004333f, -0.002296f, -0.008114f, -0.011804f, 0.002483f, 0.006316f, 0.008684f, -0.003470f, -0.012723f, 0.001897f, -0.004900f, -0.003716f, -0.002486f, 0.003588f, 0.001054f, 0.012787f, 0.000462f, 0.004265f, 0.003655f, -0.002025f, -0.001600f, -0.003773f, 0.015081f, 0.003521f, -0.012721f, -0.014419f, 0.003984f, -0.004358f, -0.011930f, 0.013646f, -0.006622f, -0.002145f, -0.001793f, 0.010744f, 0.002316f, -0.006067f, 0.007562f, -0.005672f, 0.011398f, -0.015479f, -0.010193f, 0.012593f, -0.012855f, -0.012934f, -0.005124f, 0.010818f, 0.004808f, 0.005293f, -0.001087f, 0.009747f, 0.005944f, -0.000753f, -0.012394f, 0.003657f, -0.003298f, 0.004801f, 0.004207f, 0.003723f, 0.011149f, 0.003244f, -0.010517f, 0.001330f, 0.007748f, 0.011367f, 0.003982f, -0.005632f, -0.001134f, -0.008464f, 0.004108f, -0.015310f, -0.000289f, 0.017516f, 0.001260f, 0.002355f, -0.008365f, -0.010239f, 0.002050f, 0.002980f, 0.012938f, -0.002052f, + 0.001519f, 0.002055f, -0.001383f, 0.002096f, 0.004663f, 0.001640f, 0.009343f, -0.001390f, 0.006422f, 0.001997f, 0.002193f, 0.002363f, 0.010989f, 0.001976f, -0.000746f, 0.003832f, -0.001500f, -0.033987f, -0.023331f, -0.004272f, 0.003115f, 0.006324f, -0.000049f, 0.000720f, -0.013857f, -0.000027f, -0.003478f, -0.001400f, -0.000281f, -0.002528f, -0.002077f, -0.008926f, 0.004554f, -0.019713f, -0.008043f, 0.002773f, -0.004625f, -0.005345f, -0.004073f, -0.010743f, -0.006390f, -0.003856f, -0.005986f, 0.003643f, -0.009478f, -0.003912f, 0.010878f, 0.008452f, 0.000413f, 0.006558f, 0.003647f, -0.002492f, -0.007837f, 0.005709f, 0.016528f, 0.003183f, 0.001864f, -0.005299f, -0.006133f, 0.006312f, -0.014570f, -0.006232f, 0.015795f, -0.013097f, 0.004287f, -0.001933f, -0.007434f, 0.004980f, 0.001031f, -0.002372f, 0.000941f, 0.004213f, -0.005006f, 0.001903f, -0.000910f, 0.011797f, 0.008870f, 0.003367f, 0.002555f, 0.006483f, -0.000017f, 0.000463f, -0.003044f, -0.017654f, 0.010244f, 0.008951f, -0.004956f, 0.002956f, -0.007777f, 0.001354f, 0.002065f, -0.001762f, 0.003842f, -0.001599f, -0.029359f, 0.003997f, + 0.007624f, -0.002523f, -0.002045f, -0.017238f, -0.006220f, 0.003891f, -0.014259f, -0.014870f, 0.003444f, -0.014190f, -0.006424f, -0.001040f, -0.007638f, 0.003894f, -0.005926f, 0.009414f, -0.004861f, -0.004241f, 0.003671f, 0.006346f, 0.013567f, 0.007443f, -0.014170f, -0.001555f, -0.000659f, 0.006432f, 0.011213f, 0.017575f, -0.007766f, -0.008007f, 0.009890f, -0.010827f, 0.002686f, 0.002072f, 0.015851f, 0.004872f, 0.008979f, -0.012363f, -0.004799f, -0.016584f, 0.012752f, 0.012225f, 0.015271f, -0.001070f, -0.002983f, -0.010890f, -0.001885f, 0.009255f, -0.004477f, -0.007309f, -0.005787f, -0.008720f, 0.001866f, 0.001040f, 0.002506f, -0.011605f, -0.000027f, -0.011368f, -0.000475f, -0.002339f, 0.004392f, 0.003010f, -0.003185f, -0.005471f, -0.013361f, -0.001382f, -0.001021f, 0.007765f, -0.005111f, 0.013370f, -0.007715f, 0.001528f, 0.006589f, 0.012485f, -0.009211f, 0.001095f, 0.036319f, 0.032552f, -0.001913f, 0.001699f, 0.015764f, 0.003003f, 0.007318f, -0.004219f, 0.008290f, -0.006261f, 0.015902f, 0.006446f, -0.000776f, 0.004132f, 0.000356f, 0.021855f, 0.013457f, -0.013146f, -0.012364f, 0.005200f, + 0.001404f, -0.003741f, -0.003848f, 0.003375f, 0.009290f, 0.008214f, 0.003773f, 0.001768f, 0.004489f, -0.002854f, -0.001149f, 0.012315f, -0.013674f, 0.005799f, 0.014664f, 0.012322f, 0.020248f, -0.001432f, -0.004122f, -0.001203f, 0.000419f, -0.006117f, 0.022055f, 0.021686f, 0.014117f, -0.006391f, -0.003038f, 0.009560f, 0.006346f, -0.005839f, 0.000475f, 0.012633f, -0.005477f, -0.005083f, 0.006692f, -0.021795f, -0.003583f, 0.001755f, 0.002293f, -0.007069f, -0.015600f, 0.006419f, 0.008991f, -0.011470f, -0.005418f, -0.012570f, 0.003835f, 0.001171f, -0.003668f, -0.002638f, -0.012160f, 0.018830f, -0.005738f, 0.002153f, -0.019682f, -0.005627f, -0.008456f, 0.024243f, -0.000779f, 0.015243f, 0.021243f, -0.011342f, -0.025827f, 0.000874f, 0.019881f, -0.015517f, 0.013984f, -0.004370f, -0.018695f, -0.008930f, 0.019013f, -0.018760f, -0.016256f, 0.011611f, -0.018824f, 0.005996f, 0.009040f, 0.007099f, -0.005335f, 0.011113f, 0.003226f, 0.001814f, 0.007341f, -0.012406f, 0.016400f, 0.007725f, 0.007084f, -0.003771f, -0.001906f, 0.030239f, -0.010819f, 0.001492f, 0.007859f, 0.014987f, -0.021086f, -0.017692f, + -0.016226f, 0.000156f, 0.001002f, -0.001559f, 0.009536f, 0.002529f, 0.017161f, 0.006477f, 0.009928f, -0.002190f, 0.001063f, -0.009179f, 0.015216f, -0.007647f, 0.014967f, -0.009002f, -0.013646f, 0.022154f, 0.018077f, -0.026951f, -0.023675f, -0.015976f, -0.012476f, 0.007468f, 0.000679f, -0.006164f, 0.011373f, 0.012409f, -0.016772f, 0.008430f, -0.002181f, -0.033058f, -0.011574f, -0.017276f, -0.015765f, 0.004356f, -0.006198f, -0.014356f, -0.018958f, 0.011178f, -0.010696f, -0.008704f, -0.006462f, -0.023103f, -0.001893f, 0.009588f, -0.005635f, -0.001871f, -0.007780f, 0.018120f, 0.003354f, 0.011352f, 0.009534f, -0.015530f, 0.015890f, 0.022564f, -0.006606f, -0.009959f, 0.002949f, -0.004544f, 0.010431f, -0.029092f, 0.011397f, 0.024184f, -0.002834f, -0.008647f, -0.006600f, 0.010194f, 0.022593f, -0.005824f, 0.006030f, -0.010462f, 0.015604f, -0.018875f, -0.006587f, 0.002956f, -0.002447f, -0.014802f, 0.026529f, 0.017795f, 0.014189f, -0.006460f, -0.019307f, -0.003084f, -0.027602f, 0.004150f, -0.001688f, -0.001597f, -0.000257f, -0.004947f, 0.015461f, 0.012076f, -0.019153f, 0.010068f, -0.011389f, 0.015238f, + -0.001269f, -0.004138f, -0.001175f, -0.017956f, -0.003149f, -0.016527f, -0.034350f, -0.002636f, 0.003965f, 0.001553f, -0.013379f, -0.001714f, -0.004120f, -0.027061f, -0.000054f, 0.020833f, -0.014961f, 0.004290f, -0.036138f, 0.002578f, 0.021045f, 0.011555f, -0.016451f, -0.013304f, 0.026415f, 0.006192f, 0.005966f, -0.005092f, 0.006878f, -0.000142f, -0.017594f, -0.004456f, -0.018468f, 0.008937f, -0.010959f, -0.001502f, -0.017966f, -0.019792f, -0.026771f, 0.017051f, 0.011482f, -0.008375f, -0.009447f, 0.007827f, -0.024539f, -0.001958f, 0.002022f, 0.006285f, 0.011024f, 0.005647f, 0.000878f, -0.008170f, 0.003786f, -0.007443f, 0.006718f, -0.007093f, 0.004514f, 0.002750f, -0.007602f, -0.009659f, -0.019124f, -0.012232f, 0.005124f, -0.032447f, -0.008770f, 0.018732f, 0.009875f, -0.003323f, 0.043341f, -0.005531f, 0.020199f, 0.020517f, -0.031198f, 0.002873f, -0.003965f, -0.025646f, -0.013690f, -0.013637f, 0.000629f, 0.004163f, 0.029922f, -0.003638f, 0.002945f, 0.021469f, 0.014988f, -0.002102f, 0.020020f, -0.007932f, -0.007623f, -0.011590f, -0.018296f, -0.023743f, -0.010692f, 0.017696f, -0.028997f, 0.003120f, + 0.023803f, -0.003248f, 0.007005f, -0.011030f, 0.006178f, 0.011533f, -0.007309f, 0.010051f, -0.014681f, -0.013928f, 0.022119f, 0.013756f, 0.013986f, 0.019598f, -0.000941f, -0.013852f, 0.019046f, -0.016121f, -0.024204f, 0.001655f, 0.021152f, -0.001802f, -0.019778f, 0.003981f, 0.025074f, -0.002307f, 0.006363f, 0.003950f, 0.035519f, 0.003775f, 0.007065f, 0.019397f, -0.002941f, -0.007690f, -0.018002f, 0.004056f, -0.003034f, -0.015033f, -0.000062f, -0.008134f, 0.006068f, 0.026303f, -0.000318f, -0.013019f, -0.004935f, -0.011887f, -0.007832f, -0.000230f, -0.006297f, 0.005296f, -0.018793f, 0.021709f, -0.010847f, 0.035340f, -0.008815f, -0.021939f, 0.000964f, 0.003464f, 0.011388f, 0.007425f, 0.005990f, -0.022258f, -0.020457f, 0.017137f, -0.021294f, -0.026335f, 0.007935f, 0.008724f, -0.007105f, 0.034606f, -0.026257f, -0.032152f, 0.012267f, -0.020754f, 0.000261f, 0.001429f, -0.019239f, 0.010600f, 0.001139f, 0.026224f, 0.027681f, 0.039754f, 0.018235f, 0.008299f, 0.005541f, 0.012961f, -0.013574f, 0.014986f, -0.024072f, 0.011459f, -0.002402f, -0.002320f, -0.046150f, -0.018150f, -0.007642f, 0.015341f, + -0.002061f, 0.003414f, 0.004892f, 0.003743f, -0.023674f, 0.023890f, -0.001053f, 0.009390f, 0.000667f, 0.022165f, -0.024599f, 0.016351f, -0.012184f, -0.001284f, 0.018250f, -0.021693f, -0.009545f, -0.023641f, -0.009282f, -0.026307f, 0.022914f, 0.016007f, 0.030845f, -0.002611f, 0.007111f, -0.029490f, 0.006191f, -0.030640f, 0.028245f, 0.006648f, -0.004917f, 0.025448f, 0.027257f, 0.012371f, -0.016738f, -0.026405f, -0.035646f, -0.003661f, -0.012861f, -0.020131f, 0.018775f, -0.007890f, 0.044196f, -0.036010f, -0.012517f, 0.022130f, -0.027131f, -0.014498f, 0.005529f, -0.004173f, -0.004610f, -0.031229f, 0.010719f, -0.003082f, -0.015297f, 0.000936f, 0.007868f, 0.006318f, 0.040930f, -0.009035f, 0.005214f, -0.001819f, -0.014378f, 0.018979f, -0.007563f, 0.007206f, 0.001440f, 0.026936f, -0.009242f, 0.031317f, -0.000375f, 0.015645f, 0.012805f, -0.002347f, -0.011085f, -0.030245f, 0.013335f, 0.031545f, 0.000550f, -0.000265f, 0.020727f, 0.018462f, -0.002566f, 0.003265f, 0.036270f, 0.023302f, -0.008144f, 0.007894f, 0.023284f, -0.006569f, -0.028815f, 0.000242f, -0.021395f, -0.003610f, -0.014199f, 0.000609f, + -0.039508f, -0.011922f, -0.015549f, -0.000066f, 0.006063f, 0.007172f, 0.034848f, 0.039777f, 0.019405f, -0.029107f, -0.018736f, 0.021770f, 0.029807f, 0.005585f, -0.031663f, -0.006135f, -0.009457f, -0.032001f, -0.021962f, -0.024743f, 0.025406f, -0.012366f, 0.000810f, -0.030763f, 0.038507f, 0.028589f, -0.007095f, 0.010154f, 0.065402f, -0.006558f, -0.018790f, -0.030367f, -0.006977f, 0.013749f, 0.007829f, -0.017480f, 0.010118f, -0.019958f, -0.027903f, 0.036897f, -0.022341f, 0.027326f, -0.019362f, -0.034221f, 0.003689f, 0.038328f, 0.028112f, -0.031910f, -0.017820f, 0.004858f, 0.008104f, 0.011631f, -0.000193f, 0.024915f, 0.016526f, 0.033485f, -0.010756f, -0.007944f, 0.000945f, -0.008861f, -0.031987f, -0.027190f, -0.005670f, 0.033726f, 0.009671f, 0.000854f, 0.003466f, -0.035193f, -0.035590f, -0.031189f, 0.017418f, 0.015378f, -0.010635f, -0.010431f, 0.005645f, 0.002238f, -0.017832f, 0.003973f, 0.040026f, 0.004778f, 0.025994f, 0.021376f, 0.019104f, 0.038624f, 0.060473f, 0.017299f, 0.003525f, 0.006634f, 0.025460f, -0.013787f, -0.003834f, 0.013761f, -0.002567f, 0.006637f, -0.002644f, 0.023490f, + 0.011663f, 0.016239f, -0.002071f, -0.008106f, 0.015667f, 0.032096f, 0.000604f, -0.028726f, 0.020716f, -0.044131f, -0.046520f, -0.018136f, 0.029217f, -0.017580f, -0.045595f, -0.030893f, -0.008504f, 0.017305f, 0.015597f, -0.069322f, 0.003685f, 0.035435f, -0.006512f, -0.007984f, 0.042789f, -0.022591f, -0.023597f, -0.029795f, -0.009878f, -0.009752f, -0.019934f, 0.006472f, 0.010034f, 0.017045f, 0.011929f, -0.009029f, -0.007281f, -0.002718f, -0.008147f, 0.003616f, 0.008496f, 0.035623f, -0.014423f, -0.044211f, 0.024658f, 0.001136f, -0.000728f, -0.036489f, 0.017374f, 0.008363f, -0.003176f, 0.043874f, -0.011468f, 0.005874f, -0.003142f, 0.020143f, 0.023599f, -0.023615f, -0.001530f, -0.012563f, -0.000645f, 0.014324f, -0.008413f, 0.021200f, -0.029413f, -0.023756f, -0.014957f, -0.025405f, -0.003513f, 0.004388f, 0.005502f, -0.036055f, -0.023685f, 0.020244f, 0.032104f, -0.012346f, -0.015719f, 0.018495f, -0.033331f, -0.029109f, -0.029011f, 0.036199f, -0.055099f, 0.021147f, -0.001428f, -0.030583f, -0.009025f, 0.031241f, 0.073726f, -0.006542f, -0.018310f, 0.026940f, 0.056733f, 0.022882f, -0.011531f, 0.012954f, + -0.007376f, -0.035861f, -0.065571f, -0.000414f, 0.068271f, -0.008235f, -0.008344f, -0.044051f, -0.006798f, 0.000057f, 0.001692f, 0.018856f, -0.001081f, 0.016226f, -0.002304f, 0.002456f, -0.036917f, 0.008036f, 0.027400f, -0.017443f, 0.034757f, -0.012759f, -0.005608f, -0.030422f, 0.018324f, -0.013497f, -0.014176f, -0.035575f, -0.055988f, 0.030252f, -0.029016f, -0.021983f, 0.005952f, 0.008783f, -0.014659f, 0.005994f, 0.026530f, -0.005421f, -0.031816f, -0.014217f, -0.039824f, -0.000955f, 0.007063f, 0.028816f, 0.001791f, -0.003816f, -0.009662f, -0.011424f, 0.005314f, 0.029996f, 0.000874f, -0.012567f, 0.026335f, -0.024622f, -0.000484f, -0.045166f, -0.018105f, -0.005415f, 0.057050f, -0.033953f, 0.008674f, -0.007817f, 0.004157f, -0.002133f, -0.010704f, 0.006488f, 0.020635f, 0.013302f, -0.049020f, 0.055777f, 0.010631f, 0.025160f, 0.001718f, -0.010296f, -0.019737f, 0.007687f, -0.031543f, -0.017410f, 0.065590f, -0.007394f, 0.004953f, -0.033587f, 0.030312f, -0.016977f, 0.022172f, -0.017137f, 0.039398f, 0.004894f, 0.003516f, -0.018508f, -0.016455f, 0.024218f, 0.051217f, -0.020615f, -0.032123f, 0.015844f, + -0.012995f, 0.035128f, 0.042571f, 0.022276f, -0.007058f, 0.027708f, -0.018316f, -0.015460f, 0.035651f, 0.050950f, -0.056442f, 0.005651f, 0.007723f, 0.010548f, -0.019518f, -0.000209f, 0.021916f, -0.055322f, 0.016316f, 0.034123f, 0.011750f, -0.023958f, -0.007625f, 0.041673f, 0.032475f, 0.012219f, -0.019792f, -0.023693f, -0.049602f, 0.070918f, 0.011840f, 0.037081f, -0.006024f, -0.013568f, 0.006957f, 0.022152f, -0.000235f, 0.000197f, -0.057720f, 0.010143f, 0.052550f, -0.008193f, 0.050242f, -0.029384f, -0.015000f, -0.020031f, 0.010682f, 0.049752f, -0.016649f, 0.000113f, 0.042025f, 0.054876f, -0.019330f, -0.037392f, -0.037080f, -0.028713f, 0.027412f, 0.018318f, 0.047543f, -0.015194f, 0.034677f, -0.018995f, -0.006175f, 0.030128f, -0.000148f, 0.041460f, -0.050661f, 0.031007f, 0.006733f, 0.013013f, -0.019914f, 0.014254f, 0.039237f, 0.073340f, -0.016450f, 0.017510f, -0.000314f, -0.051152f, 0.046195f, 0.003010f, 0.018465f, -0.010724f, -0.022567f, -0.010349f, -0.001267f, -0.021035f, -0.011488f, 0.061634f, 0.005035f, 0.022496f, -0.017589f, 0.043009f, 0.000814f, 0.019768f, 0.009777f, -0.028461f, + -0.005070f, -0.018455f, 0.001026f, 0.005834f, 0.053740f, 0.024692f, 0.002790f, 0.003840f, -0.001330f, -0.006984f, 0.009294f, 0.002648f, 0.033918f, 0.024371f, 0.014292f, -0.018706f, 0.023820f, 0.045702f, -0.045211f, 0.039596f, 0.007669f, 0.009679f, -0.045243f, -0.025156f, -0.056942f, -0.050106f, -0.007970f, 0.027929f, 0.027591f, -0.083658f, 0.001339f, -0.039250f, 0.021589f, 0.077996f, 0.043838f, -0.051944f, 0.033406f, 0.020115f, 0.026929f, -0.068360f, -0.102909f, -0.028010f, -0.010888f, -0.026567f, 0.006542f, 0.034039f, -0.035792f, 0.051832f, 0.020071f, -0.077068f, -0.057651f, -0.012684f, 0.042349f, 0.000520f, 0.004198f, -0.008942f, -0.023425f, -0.074633f, 0.003707f, -0.062855f, -0.050614f, 0.024171f, 0.020586f, 0.017234f, -0.008057f, -0.024946f, 0.056398f, 0.032527f, -0.023133f, -0.049182f, 0.037378f, 0.017735f, 0.009176f, -0.023578f, -0.056060f, 0.020650f, -0.026110f, 0.007671f, -0.047758f, 0.057749f, 0.001801f, -0.024176f, 0.006016f, 0.014046f, 0.048528f, 0.029548f, -0.012158f, -0.002978f, 0.017060f, 0.016239f, 0.018698f, -0.011386f, -0.075465f, -0.059668f, 0.011986f, -0.008333f, + 0.044105f, -0.008482f, -0.019118f, -0.053090f, 0.061664f, 0.024164f, -0.043407f, -0.043786f, 0.063147f, 0.060592f, -0.000990f, 0.045241f, -0.006187f, 0.003764f, -0.018305f, -0.007821f, -0.034095f, 0.005276f, 0.036886f, 0.003052f, -0.025131f, -0.066387f, 0.104375f, 0.002101f, -0.079837f, -0.006600f, -0.029403f, 0.013064f, 0.040370f, 0.035683f, -0.044192f, -0.072258f, 0.012760f, -0.034865f, 0.011450f, -0.007534f, 0.032137f, -0.010927f, 0.005037f, 0.018239f, -0.028788f, -0.036489f, 0.004316f, 0.008869f, 0.031836f, -0.001288f, -0.049573f, 0.032375f, -0.027412f, 0.025311f, -0.023751f, -0.017131f, -0.002194f, -0.008559f, -0.053314f, 0.009498f, 0.015603f, -0.052709f, 0.022590f, -0.021116f, 0.011004f, -0.018042f, 0.050893f, 0.038492f, -0.050140f, -0.027632f, 0.035254f, 0.042691f, -0.051297f, 0.067779f, 0.005077f, 0.054399f, 0.040742f, 0.064300f, -0.019480f, -0.028498f, 0.015305f, -0.054945f, 0.008955f, 0.005865f, 0.095605f, -0.030448f, -0.088448f, 0.149460f, -0.070378f, -0.055924f, 0.087590f, 0.037910f, -0.049854f, 0.082967f, 0.010207f, -0.070028f, 0.086372f, -0.092971f, 0.012412f, 0.028551f, + -0.070687f, 0.032637f, 0.018028f, -0.024063f, -0.007546f, -0.000692f, -0.017742f, -0.005099f, -0.010629f, -0.030724f, 0.000314f, -0.015042f, -0.004017f, -0.007114f, 0.014649f, 0.056445f, 0.046169f, -0.042521f, -0.005380f, 0.059389f, -0.010938f, -0.010426f, -0.060796f, 0.007579f, 0.019057f, -0.009193f, 0.050531f, 0.123511f, -0.042074f, -0.051102f, 0.086684f, -0.005149f, -0.047988f, 0.055289f, 0.035064f, -0.027585f, -0.043289f, -0.051617f, 0.014988f, 0.028860f, -0.024372f, 0.083209f, 0.052653f, -0.101984f, -0.099854f, 0.058353f, -0.047734f, -0.059264f, 0.076582f, 0.013445f, 0.102865f, 0.051032f, -0.014365f, -0.013100f, -0.077219f, -0.057778f, 0.169403f, 0.048347f, -0.039149f, -0.081975f, -0.000358f, -0.032787f, -0.077187f, -0.010528f, 0.083268f, 0.037933f, -0.003121f, 0.072395f, 0.057360f, -0.019062f, -0.086002f, 0.012762f, 0.039255f, -0.018614f, 0.094910f, 0.075532f, -0.018773f, 0.053140f, 0.007644f, -0.044592f, 0.029342f, 0.045129f, 0.017712f, 0.018459f, -0.059521f, -0.014398f, 0.009275f, 0.010587f, -0.006974f, -0.055400f, -0.017162f, 0.017423f, -0.010883f, -0.007581f, -0.043100f, 0.067617f, + 0.010934f, -0.059290f, 0.034765f, 0.079679f, -0.039809f, -0.026524f, 0.014310f, 0.024918f, -0.023911f, -0.053444f, 0.046566f, 0.072165f, -0.003413f, -0.031319f, 0.012244f, 0.018849f, 0.036492f, 0.045340f, 0.005878f, 0.084300f, 0.000891f, -0.098789f, 0.003670f, -0.013292f, 0.034470f, -0.012614f, -0.075619f, -0.004798f, -0.030771f, -0.035945f, 0.050635f, 0.021989f, 0.030474f, 0.030942f, -0.066893f, -0.040102f, -0.008530f, -0.004346f, 0.032573f, -0.002662f, -0.010099f, -0.001987f, -0.019535f, -0.052470f, 0.009656f, 0.069916f, -0.033006f, 0.001525f, -0.023811f, -0.028041f, 0.058148f, -0.071282f, 0.007888f, 0.015772f, -0.009225f, -0.011078f, -0.079542f, -0.116634f, -0.101338f, 0.204123f, 0.196730f, 0.194223f, 0.552993f, 0.194635f, -0.022485f, 0.034508f, -0.381967f, -0.467425f, -0.156441f, -0.263368f, -0.362156f, 0.044113f, -0.020535f, -0.063181f, 0.397912f, 0.240446f, 0.100788f, 0.619356f, 0.292811f, 0.051078f, 0.282545f, -0.070782f, -0.340066f, -0.327997f, -0.310611f, -0.432107f, -0.421090f, -0.102662f, -0.153451f, -0.251312f, 0.285836f, 0.127954f, -0.106453f, 0.411150f, 0.131508f, -0.054291f, + 0.467375f, 0.423022f, 0.095196f, 0.438828f, 0.447559f, -0.023871f, 0.107792f, 0.044110f, -0.439294f, -0.511932f, -0.380903f, -0.718178f, -0.678274f, -0.412559f, -0.545771f, -0.415123f, 0.038992f, 0.323505f, 0.370826f, 0.802518f, 0.731039f, 0.640207f, 0.693107f, 0.505114f, 0.252380f, 0.065739f, -0.069184f, -0.412250f, -0.491157f, -0.529252f, -0.591486f, -0.566764f, -0.482971f, -0.322901f, -0.235435f, -0.231873f, 0.044245f, 0.151184f, 0.139509f, 0.037178f} + }, + { + {0.004483f, 0.000450f, 0.005038f, -0.005236f, -0.008966f, -0.000363f, -0.006137f, -0.000559f, -0.001617f, -0.014172f, -0.011481f, -0.002036f, -0.004621f, 0.005652f, -0.002490f, 0.002602f, 0.003160f, 0.001222f, -0.002197f, -0.000082f, -0.005336f, 0.000321f, 0.005810f, 0.003438f, -0.002742f, 0.000153f, 0.003075f, -0.007659f, -0.002381f, 0.000583f, 0.003113f, -0.003223f, -0.007313f, -0.001907f, -0.007217f, 0.001098f, -0.003060f, -0.003042f, 0.003423f, -0.003806f, 0.002888f, 0.001527f, 0.001916f, -0.005876f, 0.001814f, 0.000347f, 0.003129f, -0.005072f, 0.002962f, 0.002324f, 0.004674f, -0.001255f, 0.005972f, 0.002901f, 0.006067f, 0.003402f, -0.004883f, -0.002553f, 0.011785f, 0.001404f, -0.001600f, 0.000823f, -0.000097f, 0.006905f, 0.000223f, -0.003881f, -0.001887f, 0.007976f, -0.003527f, -0.001704f, -0.008453f, -0.000868f, -0.003145f, 0.003394f, -0.000705f, -0.000875f, -0.003615f, -0.007178f, 0.026073f, 0.013275f, 0.011672f, 0.005963f, -0.002420f, -0.001182f, -0.002339f, -0.005743f, -0.007146f, -0.005656f, -0.007318f, -0.003618f, 0.007500f, 0.002048f, -0.000120f, -0.000438f, 0.004989f, 0.001764f, + -0.002761f, -0.003684f, -0.002203f, -0.013890f, 0.005781f, 0.000925f, 0.000339f, -0.003265f, 0.001940f, -0.000274f, -0.003522f, 0.001410f, 0.005091f, -0.000562f, -0.005961f, -0.002120f, -0.002492f, -0.003430f, 0.000902f, 0.005308f, -0.001393f, 0.000777f, -0.006891f, 0.003865f, -0.008554f, 0.004861f, 0.001327f, -0.000362f, 0.000160f, 0.004778f, -0.006573f, -0.005689f, -0.008999f, 0.001625f, 0.001691f, -0.000374f, 0.005226f, -0.006458f, 0.001247f, -0.001678f, 0.000179f, -0.005048f, 0.003615f, 0.000608f, -0.002990f, 0.004481f, -0.008901f, 0.002883f, -0.004845f, 0.007770f, 0.004179f, 0.000134f, 0.000733f, -0.003477f, -0.010940f, 0.006536f, -0.002191f, 0.024142f, 0.012182f, 0.015605f, 0.004865f, 0.005008f, -0.000466f, 0.005833f, 0.001130f, 0.005136f, -0.003645f, 0.010443f, -0.002287f, -0.012893f, -0.002932f, -0.000191f, 0.001167f, -0.004397f, 0.010031f, 0.000084f, 0.004219f, 0.008780f, 0.005009f, -0.000336f, 0.000486f, 0.001757f, -0.007911f, -0.006006f, 0.003852f, 0.003574f, -0.002550f, 0.000439f, 0.004631f, -0.008786f, 0.012291f, -0.001648f, 0.002261f, -0.002308f, 0.004902f, 0.005630f, + 0.000841f, -0.006824f, -0.005968f, 0.012325f, 0.000834f, -0.004177f, 0.000014f, 0.006907f, 0.005999f, -0.004250f, -0.004556f, -0.011717f, -0.002919f, -0.005078f, 0.001055f, -0.004636f, 0.001603f, -0.011412f, -0.003862f, 0.000793f, -0.003836f, 0.001923f, 0.005055f, -0.002714f, 0.000369f, 0.001564f, -0.002089f, 0.003786f, 0.000413f, 0.004881f, 0.000852f, -0.002421f, -0.005421f, 0.000149f, -0.006770f, 0.001924f, 0.001580f, 0.005563f, -0.016970f, -0.004993f, -0.004163f, 0.003254f, 0.002887f, -0.010983f, -0.005481f, -0.001885f, 0.002326f, 0.006396f, 0.001498f, 0.008635f, -0.007232f, -0.009504f, 0.002449f, 0.000700f, -0.002187f, -0.006394f, 0.021506f, -0.000777f, 0.005407f, 0.001678f, 0.000251f, -0.000124f, -0.003818f, -0.007965f, -0.006991f, -0.001676f, 0.005147f, -0.004282f, 0.011016f, -0.003510f, -0.001546f, -0.009029f, -0.011685f, -0.000581f, -0.007641f, -0.003586f, 0.014759f, -0.007957f, -0.002841f, -0.007710f, 0.002426f, 0.000785f, -0.003502f, -0.008112f, -0.002206f, 0.000481f, -0.010273f, 0.001556f, -0.005836f, 0.008157f, 0.004423f, -0.004021f, -0.003066f, -0.002022f, 0.001635f, 0.000026f, + 0.005363f, -0.002718f, -0.004869f, -0.003673f, 0.013030f, 0.013062f, -0.005290f, -0.011612f, 0.000573f, 0.004268f, -0.001585f, 0.004102f, -0.006403f, 0.001558f, -0.007484f, 0.004760f, -0.001892f, 0.013923f, 0.002777f, -0.054210f, -0.009193f, -0.015364f, -0.018194f, 0.005163f, -0.006392f, -0.015145f, -0.013211f, 0.002528f, -0.013020f, 0.002179f, 0.018535f, -0.004309f, 0.007754f, 0.006537f, 0.015573f, 0.004539f, -0.011449f, 0.002951f, 0.016953f, -0.007666f, 0.008257f, -0.012349f, -0.012005f, 0.004252f, 0.004598f, 0.014051f, 0.000426f, -0.007889f, 0.007521f, -0.005131f, 0.005677f, -0.000221f, 0.008193f, -0.006784f, -0.005125f, -0.007611f, -0.000307f, 0.002003f, -0.003607f, 0.006782f, -0.014770f, 0.002407f, 0.013999f, 0.003714f, -0.004572f, 0.006171f, -0.007884f, -0.003118f, -0.018613f, -0.004706f, -0.001148f, 0.003517f, -0.000275f, 0.010439f, -0.015148f, 0.002167f, -0.002661f, 0.008116f, 0.003190f, -0.001962f, 0.009559f, -0.008172f, -0.002099f, -0.006308f, -0.014945f, -0.004816f, -0.004338f, -0.002769f, 0.009182f, -0.008071f, -0.016674f, 0.002148f, 0.002920f, 0.000420f, -0.027160f, 0.015499f, + 0.017440f, -0.000936f, 0.009782f, 0.004465f, 0.020600f, 0.027411f, 0.003506f, 0.003598f, 0.007847f, 0.003417f, 0.004539f, -0.003882f, 0.005403f, -0.004504f, 0.007178f, 0.008399f, -0.023500f, 0.012182f, -0.002607f, -0.004333f, -0.007300f, -0.009486f, 0.003795f, 0.006695f, 0.010638f, 0.002113f, 0.001764f, -0.013676f, 0.000538f, -0.003964f, -0.004647f, -0.001988f, 0.001757f, 0.000840f, -0.001132f, 0.013532f, -0.000792f, -0.004407f, 0.004353f, -0.005162f, 0.006800f, 0.009192f, 0.010069f, 0.005393f, 0.000992f, -0.005553f, 0.011242f, 0.003749f, 0.001389f, 0.001347f, 0.001345f, 0.001002f, -0.006745f, -0.009062f, 0.008246f, -0.008398f, 0.007882f, 0.007649f, 0.005212f, -0.000857f, -0.006314f, 0.005910f, 0.006949f, 0.016374f, 0.007110f, 0.006580f, 0.003485f, -0.014831f, -0.005035f, 0.002826f, -0.002809f, 0.007918f, -0.013773f, 0.002477f, 0.050249f, 0.015278f, 0.003618f, 0.009937f, 0.025058f, 0.010226f, 0.030233f, 0.007511f, -0.006818f, -0.002108f, -0.002674f, -0.002835f, 0.008101f, 0.013064f, -0.006185f, 0.002843f, 0.008923f, -0.003328f, -0.012766f, 0.010060f, -0.001343f, 0.004794f, + -0.004458f, -0.006310f, 0.010149f, 0.002420f, -0.001118f, -0.002928f, -0.011667f, -0.005685f, 0.006045f, 0.001553f, -0.004137f, -0.002032f, 0.001554f, 0.004304f, 0.011370f, 0.003624f, -0.010851f, -0.002484f, 0.000491f, -0.003394f, 0.003633f, 0.005428f, -0.010942f, -0.013027f, -0.000959f, 0.003182f, -0.001584f, 0.009942f, -0.018692f, -0.004008f, -0.008595f, -0.010492f, -0.001354f, -0.000903f, 0.002518f, 0.009795f, -0.000310f, 0.001380f, 0.002988f, -0.001715f, 0.012991f, 0.008306f, -0.011044f, -0.009626f, 0.007029f, 0.015873f, -0.001591f, -0.007598f, 0.015556f, 0.008228f, 0.003411f, -0.007061f, 0.024022f, 0.012670f, 0.021547f, -0.006851f, -0.000535f, -0.005018f, 0.021682f, -0.022433f, -0.004024f, 0.006519f, -0.005185f, -0.003967f, 0.006720f, -0.002004f, -0.007912f, 0.020241f, 0.010292f, 0.002826f, 0.032385f, -0.008532f, -0.003076f, -0.006499f, -0.000633f, 0.006011f, -0.009487f, -0.000593f, -0.005386f, 0.013179f, -0.011682f, 0.003339f, -0.000240f, -0.002898f, 0.000142f, 0.007913f, 0.004037f, -0.009645f, -0.018676f, 0.000846f, 0.002509f, 0.014987f, 0.015949f, 0.017421f, 0.000361f, -0.009428f, + 0.011011f, -0.029336f, -0.006171f, -0.011316f, -0.018624f, 0.012426f, -0.005370f, -0.005289f, 0.007973f, -0.003136f, -0.006593f, 0.026184f, -0.001300f, -0.007415f, 0.007326f, 0.000898f, 0.005061f, 0.005226f, 0.001446f, 0.015824f, -0.011502f, -0.005710f, -0.001348f, -0.013484f, -0.002614f, 0.002465f, -0.006238f, 0.004423f, 0.004503f, 0.016136f, -0.010206f, 0.004794f, 0.008657f, 0.005455f, -0.038695f, -0.057715f, -0.009918f, 0.003062f, -0.001146f, 0.001808f, -0.002837f, -0.011391f, -0.006654f, -0.009022f, -0.002587f, 0.009660f, 0.011150f, -0.009935f, -0.015100f, 0.013133f, 0.002617f, -0.007969f, 0.000642f, -0.001070f, -0.009182f, -0.007377f, 0.021364f, 0.011200f, -0.011456f, 0.006178f, 0.002463f, 0.009494f, -0.011073f, 0.012771f, -0.012302f, 0.008906f, 0.005681f, -0.002226f, -0.005646f, 0.005914f, -0.022943f, -0.011044f, 0.014336f, 0.023228f, 0.012860f, -0.015504f, 0.000613f, -0.010849f, 0.015423f, 0.003610f, 0.004230f, 0.001567f, -0.012157f, 0.006568f, 0.018910f, 0.002612f, 0.014424f, 0.010459f, 0.006867f, 0.011271f, 0.023234f, -0.005749f, -0.022365f, 0.011681f, 0.000650f, -0.004830f, + 0.001805f, 0.020295f, -0.007347f, -0.013057f, 0.007468f, -0.002984f, -0.001511f, -0.004526f, -0.002191f, -0.005495f, -0.009761f, -0.004723f, 0.014177f, -0.017410f, -0.010284f, 0.002745f, -0.022466f, -0.014339f, 0.003560f, 0.003728f, 0.029483f, -0.025811f, -0.017983f, -0.009891f, -0.005138f, -0.003098f, 0.009366f, 0.009388f, -0.013990f, 0.014217f, -0.003526f, 0.006481f, -0.010159f, 0.021116f, -0.004360f, -0.007892f, 0.013341f, 0.009840f, 0.007642f, -0.014320f, -0.013754f, 0.017804f, -0.009620f, 0.005217f, 0.004068f, -0.006525f, 0.014857f, 0.004518f, -0.000310f, 0.003249f, 0.010825f, 0.014124f, 0.004102f, -0.012872f, 0.002657f, -0.018328f, 0.010513f, 0.004467f, -0.020567f, 0.014078f, 0.003059f, -0.010891f, 0.018292f, 0.005508f, -0.005300f, 0.010375f, -0.001939f, 0.019985f, -0.004930f, -0.005735f, -0.004567f, -0.003373f, 0.026491f, 0.004847f, 0.000301f, 0.006354f, -0.022536f, -0.015056f, -0.015292f, 0.000446f, 0.014221f, 0.000449f, 0.017741f, -0.024483f, -0.009077f, -0.016547f, -0.012874f, 0.030549f, -0.002500f, 0.008273f, 0.010087f, -0.030337f, 0.009662f, -0.013174f, 0.007599f, -0.009285f, + 0.024580f, 0.003854f, -0.016731f, 0.002445f, -0.017055f, 0.013857f, 0.027162f, -0.023115f, 0.015440f, 0.005393f, -0.000350f, 0.010875f, 0.028955f, -0.011135f, 0.000309f, 0.008576f, -0.030909f, 0.001664f, 0.014574f, -0.008848f, 0.010556f, 0.010950f, -0.005329f, 0.027912f, -0.013598f, -0.025499f, -0.010521f, 0.002941f, 0.001082f, -0.005296f, -0.010527f, 0.007556f, 0.007507f, -0.000067f, -0.017430f, -0.004259f, -0.004079f, 0.011886f, -0.007365f, 0.047001f, -0.005443f, 0.006711f, -0.001678f, -0.002008f, -0.022324f, 0.002350f, 0.017442f, 0.013718f, 0.046408f, -0.004893f, -0.003896f, -0.009444f, -0.001248f, -0.012840f, -0.000400f, 0.018492f, -0.009201f, -0.001789f, 0.003942f, 0.004472f, 0.018710f, 0.014867f, 0.004796f, 0.035679f, -0.006084f, -0.032723f, -0.032314f, -0.023065f, -0.004225f, 0.010474f, -0.002856f, -0.009050f, 0.053769f, -0.038876f, -0.029044f, -0.009723f, -0.018326f, -0.021555f, 0.026063f, 0.010064f, 0.005261f, -0.008676f, -0.005172f, 0.030922f, -0.009186f, -0.013859f, -0.037764f, -0.006115f, -0.001061f, 0.017058f, 0.006380f, -0.008436f, 0.002086f, 0.014754f, 0.006760f, 0.008855f, + 0.023773f, 0.029325f, 0.007992f, -0.012299f, 0.007333f, -0.019268f, 0.011938f, 0.009064f, -0.007099f, -0.000606f, -0.014749f, 0.004398f, -0.000349f, -0.028685f, 0.025821f, -0.003845f, -0.013264f, 0.014898f, -0.026221f, -0.007469f, 0.026774f, 0.014141f, -0.001466f, -0.000779f, -0.036207f, 0.010361f, 0.018266f, 0.009117f, 0.005109f, -0.004085f, -0.027331f, -0.078231f, -0.007662f, 0.013020f, 0.019613f, -0.004577f, -0.024123f, 0.034688f, -0.019371f, 0.014075f, 0.026248f, 0.020091f, 0.002028f, 0.024677f, 0.000702f, 0.006051f, 0.003252f, 0.012589f, 0.000390f, 0.000035f, 0.032798f, -0.019048f, -0.011205f, 0.025283f, 0.026881f, -0.008172f, -0.011577f, -0.003975f, -0.006233f, 0.027816f, 0.020474f, -0.052513f, -0.004143f, 0.002670f, -0.022500f, 0.008014f, -0.033491f, 0.025063f, 0.007882f, -0.005604f, 0.015960f, 0.005725f, -0.005902f, -0.013222f, -0.007125f, 0.036034f, 0.002947f, -0.001763f, 0.009733f, -0.006541f, 0.016461f, 0.042749f, 0.019434f, -0.007897f, -0.006391f, -0.007922f, 0.027012f, 0.007688f, 0.027322f, 0.016537f, 0.014323f, 0.006091f, -0.009916f, -0.013778f, 0.012921f, -0.027577f, + 0.005825f, -0.015246f, -0.010339f, -0.000384f, 0.019418f, 0.001302f, 0.002725f, 0.005298f, -0.004468f, 0.029169f, 0.040525f, 0.043905f, 0.000939f, 0.019504f, -0.025616f, 0.009353f, 0.016518f, -0.013133f, 0.023863f, -0.019104f, -0.035720f, 0.004202f, -0.018415f, -0.003378f, 0.002347f, -0.019756f, 0.005329f, 0.026550f, -0.015968f, -0.015420f, 0.013215f, 0.025680f, -0.001938f, -0.006014f, -0.031006f, 0.057114f, 0.004468f, 0.014225f, 0.045101f, -0.017227f, 0.005317f, -0.009319f, 0.012464f, -0.013657f, 0.013561f, -0.032078f, -0.036205f, -0.002044f, -0.021133f, -0.002607f, -0.001282f, -0.003434f, -0.005489f, 0.001395f, -0.009496f, 0.008247f, -0.028639f, -0.012767f, -0.038902f, -0.003047f, 0.009852f, 0.017952f, 0.043585f, 0.022650f, 0.008163f, 0.004340f, 0.013060f, 0.008333f, 0.007991f, 0.016101f, 0.018897f, -0.006993f, -0.035464f, -0.037202f, -0.023863f, -0.016047f, 0.004373f, 0.010734f, -0.012495f, -0.022490f, -0.035977f, -0.000432f, -0.013257f, 0.031985f, -0.014172f, 0.006791f, -0.024716f, -0.014033f, -0.003676f, -0.012310f, -0.048494f, -0.053287f, 0.014883f, 0.003196f, 0.002129f, 0.024125f, + 0.015818f, 0.018759f, 0.017815f, -0.034578f, -0.006205f, 0.057180f, -0.010395f, -0.025856f, 0.009487f, -0.016770f, 0.006712f, -0.041179f, 0.015494f, -0.022047f, 0.007900f, 0.035254f, 0.025310f, 0.004252f, 0.026926f, -0.004396f, -0.012261f, 0.016037f, -0.022148f, -0.040709f, -0.062947f, 0.005960f, 0.000363f, 0.024722f, 0.016544f, -0.022383f, -0.012834f, -0.059864f, -0.005102f, -0.027512f, 0.005520f, -0.013510f, -0.007875f, -0.010980f, -0.005624f, -0.004056f, -0.022212f, -0.008812f, -0.025732f, 0.020210f, -0.006174f, 0.017379f, 0.042111f, -0.022297f, 0.011149f, -0.002940f, -0.012166f, 0.011797f, -0.024665f, -0.038886f, 0.017461f, 0.009885f, 0.017300f, 0.012400f, -0.084355f, -0.036954f, 0.009332f, -0.026936f, -0.004106f, -0.022923f, 0.032771f, 0.042315f, -0.003988f, 0.046718f, 0.004460f, 0.021572f, -0.008242f, -0.000881f, -0.028063f, 0.016997f, 0.030909f, 0.007914f, 0.052915f, 0.002036f, 0.004871f, -0.015527f, -0.027388f, 0.033671f, 0.048813f, 0.019076f, 0.006501f, 0.006123f, 0.015637f, 0.002813f, -0.000876f, -0.047455f, -0.033240f, -0.015199f, -0.061420f, -0.074756f, -0.056819f, -0.024797f, + 0.016316f, 0.000283f, -0.014105f, -0.026831f, -0.000767f, 0.050614f, 0.023582f, -0.042850f, -0.008013f, -0.008266f, -0.031658f, -0.004754f, 0.001428f, 0.021719f, 0.014602f, -0.031809f, 0.022517f, -0.017665f, 0.009055f, -0.016418f, 0.004308f, -0.024234f, -0.010203f, 0.013026f, -0.045931f, -0.007942f, -0.017888f, 0.015441f, -0.012130f, -0.040976f, 0.048018f, 0.047819f, -0.000308f, -0.018479f, 0.025701f, -0.063198f, -0.020962f, 0.019536f, -0.022464f, -0.013040f, -0.002677f, -0.020140f, 0.003029f, -0.004881f, -0.043838f, 0.018723f, -0.006575f, -0.012825f, -0.015796f, -0.011048f, -0.003898f, -0.011549f, -0.019411f, 0.035523f, -0.018251f, -0.016847f, 0.015413f, -0.000695f, 0.056625f, -0.012106f, -0.037830f, 0.019892f, -0.020812f, -0.017150f, -0.030442f, 0.017797f, 0.033108f, -0.072727f, 0.001781f, 0.054628f, -0.016146f, -0.048535f, 0.096253f, 0.067405f, -0.000513f, -0.018893f, 0.015969f, -0.057915f, 0.001797f, 0.070628f, -0.011685f, -0.025384f, 0.002079f, 0.080177f, -0.010617f, 0.017166f, -0.016195f, -0.037069f, -0.028518f, -0.007994f, -0.012438f, 0.014381f, 0.021750f, 0.000640f, -0.029251f, -0.043019f, + -0.037964f, -0.006767f, -0.007372f, -0.021542f, 0.021061f, 0.015595f, -0.015779f, -0.021276f, -0.021398f, 0.012441f, 0.005913f, 0.015391f, 0.041880f, -0.000597f, -0.032879f, 0.023065f, 0.010884f, 0.007567f, 0.004184f, -0.000980f, -0.014809f, 0.029542f, 0.017186f, -0.012297f, -0.012295f, -0.009810f, -0.037098f, 0.010452f, 0.030867f, 0.008346f, -0.025159f, 0.031700f, 0.025912f, 0.012846f, 0.006079f, -0.017343f, 0.011460f, -0.056391f, 0.011500f, -0.004131f, 0.052734f, -0.018698f, -0.021582f, 0.009557f, -0.009623f, -0.002395f, -0.032587f, -0.008455f, -0.006102f, 0.045240f, -0.027801f, -0.065216f, -0.024369f, 0.090377f, 0.003946f, 0.014719f, -0.014772f, -0.030094f, -0.039639f, -0.013562f, 0.011741f, 0.026264f, 0.022461f, -0.019537f, 0.000375f, -0.040355f, -0.014119f, 0.014040f, -0.033174f, -0.018409f, -0.012184f, 0.048639f, 0.026206f, 0.026614f, 0.026167f, -0.028736f, 0.005971f, 0.009924f, 0.012380f, -0.003138f, 0.033913f, -0.007705f, 0.015488f, 0.025163f, 0.010835f, 0.006612f, 0.022750f, 0.029187f, -0.016352f, -0.035581f, 0.024642f, -0.004476f, 0.001473f, -0.037713f, -0.032925f, 0.007064f, + -0.015615f, -0.014335f, 0.031944f, -0.032204f, 0.041837f, 0.024596f, -0.015705f, 0.019682f, -0.021202f, -0.025158f, -0.026157f, 0.039512f, -0.026266f, 0.010981f, 0.015551f, -0.049642f, 0.007760f, 0.002758f, -0.033682f, -0.067537f, -0.053412f, 0.038138f, -0.038543f, -0.005322f, -0.033438f, -0.014502f, -0.021353f, -0.009237f, 0.025886f, 0.002066f, -0.018045f, 0.016906f, 0.049204f, 0.048789f, 0.047725f, -0.016967f, 0.000417f, -0.038470f, -0.001744f, 0.008271f, 0.006806f, -0.033527f, -0.037508f, -0.056189f, 0.039521f, 0.006029f, 0.013230f, -0.007523f, 0.020846f, -0.013744f, -0.015979f, 0.014242f, 0.030419f, 0.009563f, 0.020056f, 0.064929f, -0.009000f, -0.035049f, -0.079890f, -0.008632f, -0.030622f, -0.012314f, -0.018606f, -0.034140f, -0.025582f, -0.052354f, -0.005680f, 0.002499f, 0.020390f, 0.061137f, -0.046847f, -0.014771f, -0.006596f, 0.022752f, 0.021892f, 0.061152f, 0.009457f, -0.060910f, -0.013062f, 0.017873f, 0.053134f, 0.018115f, -0.076564f, -0.026680f, 0.074137f, 0.011758f, 0.074261f, -0.036405f, 0.005606f, 0.011442f, 0.046817f, 0.002195f, 0.043340f, 0.065763f, 0.012909f, 0.057224f, + 0.040276f, 0.016027f, 0.075201f, 0.067461f, 0.025690f, 0.101313f, 0.078458f, 0.054018f, -0.066629f, 0.005356f, 0.039298f, 0.028236f, 0.011066f, -0.042327f, -0.049944f, -0.020856f, 0.017395f, -0.055329f, 0.058971f, -0.027531f, 0.040050f, 0.014015f, -0.042119f, 0.003240f, 0.032951f, -0.021726f, -0.044012f, 0.028521f, -0.008702f, 0.023973f, -0.011734f, 0.003668f, 0.015742f, -0.032992f, 0.001143f, -0.016268f, 0.004120f, -0.051750f, -0.033427f, 0.044379f, 0.007116f, 0.016272f, -0.032329f, 0.035933f, 0.039736f, -0.028730f, 0.027280f, -0.040390f, -0.002786f, -0.023657f, 0.032891f, 0.064963f, 0.004368f, 0.079446f, -0.015009f, -0.006044f, 0.009693f, 0.006346f, 0.000320f, -0.047968f, 0.086194f, 0.050539f, -0.000102f, 0.042330f, 0.040616f, 0.044173f, -0.010912f, -0.002278f, -0.074945f, 0.035802f, 0.044971f, -0.011396f, -0.007213f, 0.050440f, 0.033737f, 0.026638f, 0.070291f, 0.010706f, -0.025717f, -0.038800f, 0.018736f, -0.011357f, -0.040160f, 0.040355f, -0.047896f, 0.004653f, 0.017803f, -0.035276f, -0.055786f, -0.036385f, -0.013661f, 0.010557f, 0.040304f, -0.064906f, 0.035266f, 0.064399f, + -0.004989f, 0.073624f, 0.017298f, -0.057040f, -0.041285f, -0.001120f, -0.025043f, -0.033292f, 0.035115f, 0.049318f, -0.008382f, 0.035411f, 0.038832f, -0.030235f, 0.026176f, 0.054941f, -0.007200f, -0.065792f, 0.023132f, 0.001584f, -0.017910f, 0.022685f, 0.048193f, -0.013193f, -0.030610f, 0.016380f, -0.027234f, -0.026557f, -0.006413f, 0.049548f, 0.034944f, -0.061863f, 0.016382f, 0.031498f, -0.048361f, -0.024535f, 0.048484f, -0.010898f, -0.081636f, -0.006303f, 0.060184f, -0.017591f, -0.116043f, 0.120370f, -0.037982f, -0.009872f, -0.062406f, 0.079088f, 0.019681f, -0.022334f, 0.049905f, -0.028570f, -0.029220f, -0.010322f, 0.135303f, 0.050739f, -0.064152f, -0.048124f, 0.048417f, -0.008453f, 0.072802f, 0.005623f, 0.053021f, -0.076695f, 0.058641f, 0.116268f, 0.004066f, -0.007034f, -0.026662f, -0.013959f, -0.052383f, 0.111821f, 0.061162f, -0.053253f, 0.049920f, 0.115658f, 0.021825f, -0.044086f, -0.011055f, -0.010461f, 0.019770f, 0.017804f, -0.036398f, -0.050823f, 0.013266f, -0.042937f, 0.008225f, -0.026551f, -0.031475f, -0.006288f, 0.004876f, 0.015190f, -0.035011f, -0.013529f, -0.014095f, -0.042651f, + 0.035809f, -0.013109f, 0.001999f, -0.005953f, -0.029072f, 0.011845f, 0.007796f, 0.001427f, -0.006488f, 0.000736f, -0.001308f, -0.016602f, -0.036819f, 0.016032f, -0.018371f, 0.016238f, 0.010974f, -0.036221f, -0.029763f, -0.003037f, -0.004381f, -0.003866f, -0.007953f, 0.030087f, -0.020686f, 0.003298f, -0.038864f, 0.033376f, -0.038038f, -0.019963f, 0.018983f, 0.000676f, -0.030391f, 0.024349f, -0.040848f, 0.003185f, 0.012566f, -0.001067f, 0.004767f, 0.019632f, 0.009677f, -0.042312f, 0.021810f, 0.002931f, -0.024997f, 0.036196f, 0.014861f, -0.040072f, -0.003747f, -0.031706f, -0.003588f, 0.013892f, 0.010926f, -0.038431f, 0.047933f, -0.068669f, -0.086865f, -0.031233f, 0.260226f, 0.209114f, 0.137796f, 0.252749f, -0.100942f, -0.238579f, -0.077313f, -0.385813f, -0.151221f, 0.011056f, -0.091326f, 0.177119f, 0.240952f, 0.039578f, 0.152788f, 0.264029f, 0.004743f, 0.072675f, -0.018262f, -0.310564f, -0.257921f, -0.194289f, -0.193946f, -0.095307f, 0.145982f, 0.078728f, 0.112604f, 0.323674f, 0.136065f, 0.019543f, 0.192592f, 0.089557f, -0.112773f, 0.037095f, -0.094959f, -0.315435f, -0.077511f, -0.165349f, + -0.325988f, -0.054989f, 0.005431f, -0.080446f, 0.217026f, 0.251640f, 0.097437f, 0.295985f, 0.298575f, 0.054444f, 0.113326f, 0.050269f, -0.193355f, -0.215615f, -0.203002f, -0.361783f, -0.321079f, -0.123779f, -0.151391f, 0.027960f, 0.188110f, 0.259978f, 0.212875f, 0.332560f, 0.244165f, 0.129319f, 0.012088f, -0.047525f, -0.201804f, -0.243048f, -0.183940f, -0.215705f, -0.185124f, -0.017149f, -0.025625f, 0.029877f, 0.137746f, 0.027719f, 0.013208f}, + {0.003131f, 0.003353f, 0.003924f, -0.004476f, -0.007269f, 0.001223f, 0.005007f, -0.003315f, 0.003393f, -0.011708f, -0.006448f, -0.006644f, 0.000567f, 0.001754f, -0.004859f, -0.006050f, 0.002573f, 0.006452f, 0.000301f, -0.003161f, -0.008681f, -0.004949f, 0.006813f, -0.001393f, 0.000323f, 0.003148f, -0.003515f, 0.002106f, -0.002584f, -0.004876f, -0.003358f, 0.006619f, -0.008552f, -0.004436f, -0.003740f, 0.008752f, 0.006041f, 0.005187f, 0.000609f, 0.002847f, -0.000365f, 0.005618f, 0.002026f, 0.002045f, -0.000029f, -0.000298f, 0.009601f, 0.007475f, -0.000026f, -0.006384f, 0.002025f, 0.001136f, 0.002985f, -0.009257f, -0.000343f, 0.006076f, 0.000484f, -0.001104f, 0.000682f, 0.002120f, -0.002249f, -0.001481f, -0.002771f, -0.003387f, -0.004831f, 0.002952f, 0.003481f, -0.006996f, -0.001474f, -0.000744f, 0.001964f, 0.002469f, -0.004323f, 0.002777f, 0.001921f, -0.001248f, -0.002079f, -0.009305f, 0.029184f, 0.011364f, 0.006989f, 0.002440f, -0.006354f, 0.000201f, 0.005479f, 0.010698f, -0.000002f, 0.001142f, 0.000469f, -0.003762f, 0.000878f, 0.003699f, -0.000880f, 0.003612f, 0.005251f, 0.007310f, + 0.002866f, 0.003057f, 0.003633f, 0.003463f, -0.006796f, 0.006811f, 0.012452f, -0.005902f, 0.003412f, 0.002063f, 0.003346f, 0.000727f, 0.007294f, -0.004797f, -0.001921f, -0.004315f, 0.004128f, 0.012580f, -0.002298f, 0.006132f, -0.000359f, -0.002777f, -0.010509f, 0.003906f, -0.005538f, 0.004796f, 0.002218f, 0.005347f, -0.000784f, -0.003168f, 0.001488f, -0.002181f, 0.006981f, 0.000939f, -0.005866f, 0.007282f, -0.001775f, 0.005677f, 0.004205f, -0.000242f, 0.004037f, 0.008180f, -0.002469f, -0.002908f, -0.002476f, 0.004034f, -0.003485f, -0.004488f, 0.004996f, -0.000025f, 0.003348f, -0.005576f, 0.008034f, 0.000323f, -0.002241f, -0.001183f, -0.000705f, 0.022565f, 0.018075f, 0.008747f, 0.001518f, -0.003597f, 0.010561f, -0.006289f, -0.006298f, -0.001732f, -0.011160f, 0.006627f, 0.000665f, -0.004958f, 0.002892f, 0.006353f, 0.011541f, -0.005514f, 0.006739f, 0.014479f, -0.004011f, -0.000160f, 0.003569f, 0.007393f, -0.001741f, 0.008074f, 0.006095f, 0.008168f, 0.002129f, 0.006167f, -0.006383f, 0.010969f, -0.001167f, 0.010569f, 0.005560f, -0.001495f, 0.001521f, -0.002104f, -0.000085f, -0.004238f, + -0.001693f, -0.005169f, -0.003421f, 0.003460f, -0.000870f, -0.010855f, -0.002221f, 0.000769f, -0.000161f, -0.006225f, -0.005941f, -0.003445f, -0.002511f, 0.007847f, -0.003195f, -0.009432f, -0.011984f, -0.013700f, -0.004516f, -0.006285f, -0.000430f, 0.001593f, 0.006442f, -0.009174f, -0.003951f, 0.000499f, -0.000917f, -0.004455f, 0.000889f, -0.009761f, -0.000993f, -0.011469f, 0.005567f, -0.006664f, -0.003126f, 0.006515f, -0.001387f, 0.011819f, -0.025916f, -0.007288f, -0.013004f, -0.002727f, 0.000248f, 0.014146f, -0.006754f, -0.023730f, -0.008009f, -0.000870f, 0.009189f, 0.002511f, -0.008448f, -0.020646f, -0.004985f, 0.005303f, -0.002027f, 0.011188f, 0.000708f, 0.004739f, -0.000877f, -0.009333f, -0.009578f, 0.005631f, 0.007493f, 0.000545f, 0.002608f, -0.000667f, 0.004684f, 0.000712f, -0.011839f, 0.000322f, 0.017306f, 0.001964f, -0.003970f, -0.001912f, -0.004262f, 0.000695f, -0.003640f, -0.007765f, 0.011675f, -0.003920f, -0.004486f, 0.009970f, -0.005154f, -0.009597f, 0.000683f, -0.000360f, 0.000559f, -0.013703f, 0.011037f, -0.004576f, -0.000006f, 0.009451f, 0.009289f, -0.014746f, -0.003371f, 0.002188f, + 0.003675f, -0.001868f, 0.007995f, 0.001483f, 0.004053f, 0.004669f, 0.000962f, 0.003502f, 0.006640f, 0.000504f, 0.000098f, 0.005031f, -0.016241f, -0.004839f, 0.000269f, 0.006740f, 0.004273f, -0.003801f, -0.001079f, -0.051663f, -0.020985f, -0.010081f, -0.015220f, 0.005071f, -0.005560f, -0.004575f, -0.001079f, 0.006982f, -0.006441f, -0.006727f, -0.010832f, 0.002459f, 0.008795f, 0.002446f, -0.007607f, -0.008450f, 0.002103f, 0.008107f, 0.006634f, -0.009674f, -0.015321f, 0.001449f, -0.014376f, 0.007682f, -0.000687f, 0.005451f, -0.001002f, 0.005261f, -0.006064f, -0.001983f, 0.013780f, -0.017175f, 0.007361f, 0.004357f, 0.001257f, -0.005921f, 0.003138f, 0.008868f, 0.001547f, -0.010384f, 0.001373f, -0.006502f, 0.004402f, -0.014284f, -0.001384f, -0.012926f, 0.009264f, -0.000850f, -0.003511f, -0.003520f, 0.004639f, -0.021875f, 0.009206f, -0.006169f, -0.014392f, 0.005536f, 0.009686f, 0.012346f, 0.006046f, 0.002770f, -0.002046f, 0.001609f, -0.002351f, 0.008000f, -0.005798f, 0.002358f, 0.004778f, 0.015316f, 0.000939f, 0.000380f, -0.012504f, 0.006982f, -0.007112f, 0.001139f, -0.030096f, 0.014990f, + 0.022659f, 0.004996f, 0.001373f, 0.013368f, 0.003897f, 0.004459f, 0.006599f, 0.001505f, 0.006937f, 0.007949f, -0.006375f, -0.000530f, 0.000609f, -0.006687f, -0.004887f, 0.000499f, 0.003206f, -0.003679f, 0.023692f, 0.013399f, -0.003852f, 0.002358f, 0.007307f, 0.010270f, 0.010660f, -0.003925f, 0.007428f, 0.009689f, 0.000220f, 0.003332f, 0.002324f, 0.005851f, 0.003460f, 0.003007f, 0.004844f, 0.005620f, -0.010626f, -0.007254f, -0.016223f, 0.002546f, -0.005859f, -0.007169f, 0.008077f, -0.001476f, 0.005046f, -0.018950f, 0.021736f, -0.000656f, -0.010489f, -0.000962f, 0.017257f, 0.013547f, -0.002802f, 0.001502f, 0.008380f, -0.002885f, 0.003633f, -0.005225f, -0.013577f, 0.002839f, 0.001381f, -0.009649f, -0.004184f, -0.009393f, 0.002140f, 0.005530f, 0.002721f, -0.003553f, -0.009187f, -0.012622f, -0.016858f, -0.010171f, -0.004173f, 0.004040f, 0.054672f, 0.014397f, 0.004104f, -0.002120f, 0.032952f, 0.003754f, 0.015663f, 0.003106f, 0.010411f, 0.017009f, 0.006043f, -0.009662f, 0.010093f, 0.011625f, 0.001820f, -0.001031f, 0.002458f, 0.021389f, 0.001419f, -0.007566f, -0.013211f, -0.004058f, + -0.000512f, -0.015200f, 0.002378f, 0.004219f, 0.008443f, 0.003426f, 0.005892f, 0.016272f, -0.005360f, -0.002886f, 0.009927f, -0.001858f, -0.004725f, -0.001137f, -0.015049f, 0.009266f, 0.005959f, 0.000039f, 0.009180f, -0.005061f, -0.013297f, -0.028290f, -0.010629f, 0.010005f, 0.011002f, 0.000026f, 0.007564f, -0.008243f, -0.009070f, 0.022413f, -0.013699f, 0.009963f, -0.012166f, 0.002067f, -0.017521f, -0.018112f, 0.018609f, -0.007721f, -0.007639f, 0.026224f, 0.001235f, -0.003343f, -0.013318f, 0.009394f, 0.014456f, 0.000404f, -0.009250f, -0.016001f, -0.003518f, 0.011026f, -0.004797f, 0.003429f, 0.026986f, 0.010076f, 0.022232f, -0.013281f, 0.003836f, 0.013735f, -0.018332f, -0.005141f, -0.007627f, 0.002699f, -0.009637f, -0.004533f, 0.012882f, -0.003263f, -0.003323f, -0.000072f, 0.016319f, -0.005333f, -0.008659f, 0.019140f, 0.002209f, -0.011973f, 0.004696f, -0.001900f, 0.002179f, 0.007826f, -0.011190f, -0.001469f, -0.008590f, -0.013145f, 0.000984f, 0.001320f, 0.001949f, -0.012899f, -0.015178f, 0.006577f, -0.001981f, 0.006439f, -0.001311f, 0.008925f, 0.001603f, 0.000659f, -0.009952f, -0.007902f, + 0.001753f, 0.009958f, 0.003605f, -0.001534f, 0.025443f, 0.007300f, 0.003758f, 0.013000f, 0.003687f, 0.009975f, 0.008293f, 0.007047f, 0.002911f, 0.005701f, -0.004498f, -0.000848f, 0.001301f, -0.009850f, 0.002262f, -0.016600f, 0.004233f, -0.010502f, 0.008646f, -0.005264f, 0.004508f, -0.000852f, -0.009201f, 0.004449f, -0.002717f, 0.010924f, -0.008399f, 0.026519f, 0.020598f, 0.008804f, -0.033797f, -0.066964f, -0.002141f, -0.013918f, 0.012214f, -0.004027f, -0.017628f, -0.002370f, -0.014112f, -0.016971f, -0.013277f, 0.021134f, 0.012067f, -0.015025f, -0.007495f, 0.015984f, 0.010420f, 0.014224f, -0.009246f, 0.009035f, -0.008071f, -0.009558f, -0.001848f, -0.004432f, -0.027064f, 0.007212f, 0.017040f, 0.006460f, -0.015618f, -0.004260f, 0.004054f, 0.003857f, -0.013740f, -0.003721f, -0.020173f, 0.004315f, -0.008899f, -0.001336f, -0.006167f, 0.003704f, 0.024172f, -0.002839f, -0.002867f, 0.011076f, 0.018140f, -0.010474f, 0.006057f, 0.005942f, -0.012517f, 0.007171f, 0.008676f, -0.016924f, 0.004328f, 0.010316f, -0.000712f, -0.017825f, -0.009060f, -0.011662f, 0.017853f, 0.005679f, 0.017654f, -0.009658f, + -0.015593f, 0.003703f, 0.011418f, -0.004421f, -0.010119f, 0.007806f, 0.015480f, 0.011018f, -0.011413f, -0.008706f, 0.000661f, 0.022324f, -0.000748f, 0.012020f, 0.009266f, 0.006403f, -0.035033f, 0.001019f, -0.000195f, 0.020589f, 0.003576f, -0.006805f, 0.010380f, -0.004591f, 0.003841f, -0.017434f, -0.006662f, -0.010725f, -0.007747f, -0.022347f, -0.010140f, -0.013011f, 0.030701f, 0.019262f, 0.018151f, -0.021985f, -0.020940f, -0.008553f, 0.009469f, -0.000282f, -0.001750f, 0.001400f, 0.005029f, -0.000847f, 0.007741f, -0.012590f, -0.013011f, 0.000434f, -0.004897f, -0.015753f, -0.018185f, -0.012587f, -0.011306f, -0.006551f, -0.008369f, -0.020224f, 0.007661f, 0.025923f, -0.007434f, 0.012377f, 0.014369f, -0.011558f, 0.012104f, 0.009335f, 0.001251f, 0.023549f, -0.003302f, 0.019727f, 0.004941f, 0.002743f, -0.020628f, 0.007496f, 0.006544f, -0.004687f, 0.024156f, 0.021376f, 0.001426f, -0.007987f, -0.016225f, 0.007585f, -0.016190f, 0.005033f, -0.003579f, 0.015369f, -0.003658f, -0.024275f, -0.002329f, -0.010389f, -0.008378f, -0.019516f, 0.015032f, -0.031684f, 0.014813f, 0.009181f, 0.014103f, -0.015319f, + -0.024498f, 0.006395f, 0.008610f, 0.000292f, -0.020507f, 0.019543f, 0.006851f, -0.011944f, -0.017946f, 0.007544f, -0.007403f, 0.031881f, 0.039239f, 0.004661f, -0.005167f, -0.015277f, 0.022697f, -0.025731f, -0.007895f, 0.029534f, 0.008551f, -0.006934f, -0.015551f, -0.016212f, -0.007643f, -0.000459f, -0.019231f, 0.003551f, 0.022475f, -0.003739f, 0.009044f, -0.016771f, -0.013440f, -0.005886f, -0.010944f, 0.030261f, -0.010512f, 0.013036f, 0.012514f, 0.011683f, 0.004316f, 0.005227f, -0.020712f, -0.022751f, -0.019875f, -0.005658f, 0.016620f, 0.035037f, -0.013547f, -0.027056f, -0.005036f, -0.013018f, 0.007660f, 0.004573f, 0.021068f, -0.013288f, 0.000747f, -0.017280f, -0.002082f, 0.027831f, -0.002666f, -0.016777f, 0.021695f, 0.005695f, 0.004390f, 0.009738f, -0.022116f, 0.002356f, -0.006831f, 0.000868f, 0.011423f, 0.022700f, 0.050009f, -0.021790f, -0.016911f, -0.005293f, 0.010609f, -0.029293f, 0.011779f, -0.007979f, 0.014832f, -0.013204f, -0.005887f, 0.018011f, 0.013517f, 0.005013f, -0.009029f, -0.003408f, 0.024880f, 0.024281f, -0.004979f, 0.021186f, -0.006092f, 0.031201f, -0.014549f, -0.007809f, + 0.005714f, 0.032688f, 0.024059f, 0.007810f, -0.017483f, -0.001354f, -0.036332f, -0.005631f, 0.005806f, 0.016635f, 0.019649f, 0.034448f, 0.009188f, -0.000761f, -0.001537f, -0.013402f, -0.022580f, -0.001761f, -0.019553f, 0.014126f, 0.004645f, 0.021916f, 0.012460f, -0.007653f, 0.022061f, -0.026134f, 0.011996f, -0.005915f, 0.002147f, -0.004629f, 0.028109f, 0.016206f, 0.008298f, 0.004882f, -0.050099f, -0.008089f, 0.030383f, 0.015089f, 0.002372f, -0.000928f, 0.002122f, 0.024209f, 0.010961f, -0.038034f, -0.011585f, -0.014464f, 0.004655f, 0.001295f, -0.036534f, 0.002364f, -0.033500f, -0.021552f, 0.000612f, 0.017502f, 0.035801f, -0.009518f, -0.013773f, 0.001356f, 0.014175f, 0.007130f, -0.021009f, -0.002055f, -0.016931f, -0.001691f, -0.023247f, -0.003375f, -0.019920f, 0.000162f, 0.021645f, 0.000843f, 0.047181f, -0.020446f, -0.008898f, -0.017535f, 0.019537f, 0.030205f, -0.024418f, -0.009264f, -0.038144f, 0.006307f, 0.000159f, 0.009570f, 0.009999f, -0.022651f, -0.012355f, 0.015846f, -0.005859f, -0.005867f, -0.020549f, 0.041258f, -0.005183f, -0.046523f, 0.013236f, -0.013156f, -0.012995f, 0.015074f, + 0.013198f, -0.014406f, -0.013958f, -0.005734f, -0.025717f, -0.017158f, 0.009252f, 0.004399f, 0.009637f, -0.009530f, -0.018418f, -0.023603f, -0.021498f, 0.016514f, -0.031813f, -0.001273f, 0.008436f, -0.011887f, 0.001515f, -0.002216f, -0.003680f, -0.027855f, -0.003978f, -0.012741f, 0.017241f, 0.018479f, -0.002875f, 0.029896f, -0.000636f, -0.003208f, -0.008396f, -0.005216f, 0.049138f, 0.000425f, -0.023156f, 0.057807f, -0.015207f, -0.004650f, 0.004638f, 0.024841f, 0.017102f, -0.036920f, -0.015708f, -0.035077f, 0.007247f, 0.002347f, -0.011498f, -0.038680f, 0.001054f, -0.017920f, 0.007513f, 0.008840f, 0.019073f, 0.001235f, 0.013698f, 0.067658f, 0.014012f, 0.017030f, -0.011261f, -0.003570f, 0.028754f, -0.002415f, 0.001597f, 0.007946f, 0.001181f, -0.004209f, -0.016163f, 0.027267f, -0.029632f, 0.012081f, -0.043691f, -0.012995f, -0.020913f, -0.026431f, -0.023626f, -0.000037f, -0.047751f, -0.015956f, 0.005475f, 0.026777f, 0.014437f, -0.046077f, 0.025069f, 0.017274f, 0.017950f, -0.029335f, 0.020367f, -0.013849f, -0.034662f, -0.011568f, -0.034544f, 0.016092f, 0.038585f, 0.009859f, -0.005150f, -0.026257f, + 0.019679f, -0.027977f, 0.040152f, -0.007985f, -0.006040f, -0.025351f, -0.029052f, 0.003795f, 0.030768f, 0.010508f, -0.024194f, -0.009133f, 0.003638f, -0.004131f, 0.009367f, 0.031344f, 0.005972f, -0.020292f, 0.009193f, -0.005999f, 0.009451f, 0.034320f, -0.048551f, -0.022229f, -0.039051f, 0.021971f, -0.007877f, 0.003592f, -0.012916f, 0.027868f, -0.027737f, -0.028235f, -0.012773f, -0.006843f, -0.020019f, -0.034939f, -0.016775f, 0.006083f, 0.022602f, -0.032253f, 0.020869f, -0.012452f, 0.002387f, 0.040707f, 0.031414f, -0.001086f, 0.016478f, 0.007366f, -0.006725f, -0.005639f, -0.056142f, 0.007053f, -0.005865f, 0.004748f, 0.010707f, -0.005227f, 0.001322f, 0.055654f, -0.050979f, 0.003809f, 0.061034f, 0.006943f, 0.016688f, -0.025159f, -0.006796f, 0.030790f, 0.055989f, 0.001508f, 0.049619f, -0.020906f, 0.044857f, -0.017450f, 0.033129f, 0.032116f, -0.008656f, 0.064072f, -0.011271f, -0.004936f, -0.019907f, -0.032225f, -0.031939f, -0.017215f, -0.019353f, -0.049041f, -0.021905f, -0.013415f, 0.016339f, 0.012303f, 0.001095f, -0.029659f, -0.025964f, -0.020336f, -0.073620f, -0.050550f, -0.037454f, -0.002553f, + 0.048371f, -0.031277f, -0.005037f, -0.023809f, -0.036913f, -0.028682f, -0.037683f, -0.037221f, -0.016075f, -0.044121f, -0.050152f, -0.041696f, 0.011240f, -0.028436f, -0.016334f, -0.035719f, 0.034260f, 0.058676f, 0.004125f, -0.005498f, -0.021140f, 0.005861f, -0.004446f, -0.000372f, -0.005478f, 0.019279f, 0.002964f, 0.040399f, -0.035075f, 0.004152f, -0.029971f, 0.060809f, 0.013766f, -0.033837f, 0.026613f, -0.023926f, 0.021442f, -0.032523f, 0.018832f, 0.004028f, -0.021079f, 0.019215f, -0.032835f, -0.009534f, 0.009125f, 0.033701f, 0.013223f, 0.058944f, -0.014065f, -0.036292f, 0.002358f, -0.009664f, 0.003174f, -0.023803f, -0.022767f, -0.038981f, 0.003566f, -0.041600f, -0.010157f, -0.006021f, -0.038997f, 0.025202f, 0.029240f, -0.018184f, -0.004583f, -0.055000f, 0.059581f, 0.074837f, 0.008011f, -0.033331f, 0.003438f, -0.057439f, 0.106103f, 0.041795f, -0.010039f, -0.031174f, -0.010273f, -0.033197f, 0.035669f, 0.094249f, 0.000743f, -0.060649f, -0.029570f, 0.034698f, 0.011179f, -0.011204f, 0.043047f, -0.007508f, 0.004228f, 0.026503f, -0.004038f, -0.024575f, -0.009724f, 0.021982f, -0.028237f, -0.023399f, + -0.011321f, 0.009708f, -0.000098f, -0.003683f, -0.012714f, 0.020700f, 0.000595f, 0.030163f, 0.021609f, -0.029216f, 0.013313f, 0.036821f, 0.018598f, -0.026976f, 0.009235f, 0.006812f, 0.022696f, 0.001434f, 0.006893f, 0.007321f, 0.008423f, 0.051417f, 0.046362f, 0.030436f, 0.063388f, -0.031338f, 0.031887f, -0.037939f, 0.022999f, 0.000154f, 0.020869f, 0.028740f, 0.007458f, 0.007783f, 0.032624f, 0.016276f, -0.010760f, 0.021978f, -0.001492f, 0.029242f, -0.032535f, -0.017843f, 0.001154f, 0.069872f, -0.049974f, 0.003768f, -0.062305f, -0.008924f, 0.006120f, 0.021020f, -0.029906f, -0.011239f, -0.023485f, 0.089321f, 0.007961f, 0.006071f, -0.019105f, -0.012960f, 0.015607f, 0.013439f, 0.009022f, 0.034458f, 0.015352f, -0.014742f, 0.019293f, 0.036940f, -0.000483f, 0.040584f, -0.002867f, 0.019810f, -0.040130f, 0.075007f, -0.009912f, -0.008480f, 0.013850f, -0.056249f, -0.013180f, -0.026799f, 0.041377f, 0.022472f, 0.024155f, -0.025809f, 0.011288f, 0.010283f, -0.033465f, 0.010600f, 0.031993f, 0.026564f, 0.010773f, -0.007685f, 0.005674f, -0.015823f, 0.059036f, 0.009847f, 0.027996f, 0.022314f, + 0.033102f, -0.049139f, -0.001487f, -0.013651f, 0.012140f, -0.017061f, -0.019332f, 0.043782f, -0.036946f, 0.032719f, -0.022155f, 0.034478f, -0.003871f, -0.031606f, 0.000428f, -0.048490f, 0.035445f, 0.031794f, 0.039589f, -0.102573f, 0.034948f, 0.021902f, -0.027371f, -0.018654f, -0.024572f, 0.057385f, -0.071381f, 0.049740f, 0.116126f, 0.005121f, -0.043854f, -0.018458f, 0.041654f, 0.062157f, 0.024324f, -0.019443f, 0.010700f, -0.046577f, 0.002940f, -0.026121f, 0.041670f, 0.008318f, 0.007965f, -0.021293f, 0.015863f, -0.002312f, -0.023368f, 0.013808f, -0.023914f, -0.006230f, -0.021006f, -0.036158f, -0.028537f, 0.035429f, 0.020409f, 0.024538f, 0.016664f, -0.044734f, -0.019256f, 0.015017f, -0.019535f, 0.034463f, 0.015824f, 0.006995f, 0.012790f, 0.054921f, -0.019790f, -0.045707f, 0.092061f, -0.037093f, -0.059193f, 0.065369f, -0.034062f, -0.011769f, 0.008386f, 0.036226f, -0.041186f, -0.005888f, -0.001399f, -0.018227f, 0.121130f, 0.004502f, -0.025832f, -0.002286f, -0.004112f, 0.037221f, -0.067147f, -0.041126f, -0.031770f, -0.018706f, -0.007594f, -0.047094f, -0.005644f, 0.001647f, 0.013951f, 0.086552f, + 0.074993f, -0.024439f, 0.056554f, -0.054087f, -0.060521f, 0.040514f, 0.044458f, -0.009281f, 0.007878f, 0.015114f, 0.028593f, 0.052532f, -0.005555f, 0.014015f, 0.052179f, -0.033892f, 0.004943f, -0.036702f, 0.039760f, 0.000237f, 0.024538f, -0.025036f, -0.037514f, 0.035200f, -0.037077f, 0.011561f, -0.007998f, 0.033187f, 0.000924f, 0.007299f, -0.019224f, 0.006402f, -0.013279f, -0.049057f, -0.037820f, 0.016612f, -0.001990f, -0.001123f, 0.009171f, 0.036827f, -0.015205f, -0.010914f, -0.029476f, 0.013607f, 0.012662f, -0.003384f, -0.004603f, -0.081900f, 0.005336f, 0.023727f, -0.027806f, 0.021159f, -0.043900f, -0.007839f, 0.004874f, 0.029404f, 0.038067f, 0.005324f, -0.015152f, 0.012560f, 0.067222f, 0.057981f, 0.058762f, -0.001174f, -0.002718f, 0.013625f, 0.009381f, -0.024163f, 0.019560f, 0.073385f, -0.047930f, -0.014273f, -0.011597f, 0.002763f, 0.006079f, 0.012271f, -0.034206f, -0.054207f, -0.017751f, 0.000619f, 0.120484f, 0.063880f, 0.044134f, 0.000326f, -0.005015f, -0.022551f, 0.056279f, 0.016262f, 0.038766f, -0.000127f, -0.008625f, -0.006157f, -0.014646f, -0.077428f, 0.042606f, 0.041002f, + -0.004140f, 0.066121f, 0.026830f, -0.041734f, -0.045119f, 0.020744f, -0.019696f, -0.036993f, 0.000554f, 0.005888f, 0.015508f, -0.007678f, 0.020843f, -0.003619f, 0.019636f, 0.029633f, -0.027402f, -0.100768f, 0.053290f, -0.013422f, -0.034172f, 0.025571f, 0.034546f, 0.003459f, -0.071033f, -0.006851f, -0.004736f, -0.068857f, -0.046319f, 0.039731f, -0.012763f, -0.026570f, -0.026385f, 0.018450f, -0.071147f, -0.046700f, 0.091550f, -0.005499f, -0.056184f, 0.023776f, 0.048851f, 0.024362f, -0.078783f, 0.112504f, 0.042484f, -0.064999f, 0.035700f, 0.052463f, 0.005990f, -0.042979f, 0.045673f, 0.056170f, 0.030402f, -0.039183f, 0.038011f, 0.077711f, 0.002094f, 0.078607f, 0.091201f, -0.046323f, -0.031570f, -0.031017f, 0.086171f, 0.059918f, -0.039902f, 0.025589f, -0.024614f, -0.051581f, 0.046999f, 0.114366f, 0.015294f, -0.028239f, -0.026500f, 0.067088f, 0.066522f, 0.101915f, 0.043778f, -0.044887f, -0.013893f, -0.037920f, 0.024100f, -0.019350f, 0.030517f, 0.017043f, -0.045585f, 0.022518f, -0.046449f, -0.018059f, 0.002547f, -0.019547f, 0.004939f, 0.023685f, 0.022084f, -0.000238f, -0.036409f, 0.007114f, + 0.033468f, -0.013375f, 0.007049f, -0.015602f, -0.042806f, 0.044265f, -0.024812f, 0.030184f, -0.044031f, -0.029035f, -0.003902f, -0.039827f, -0.008638f, 0.037405f, -0.035137f, 0.049803f, 0.006227f, 0.040342f, 0.019494f, -0.022337f, -0.053050f, 0.044538f, 0.031712f, 0.017672f, 0.015079f, 0.045957f, -0.031795f, -0.019384f, -0.016867f, 0.013321f, 0.021418f, -0.006175f, -0.040574f, -0.003537f, -0.002248f, -0.046285f, -0.013723f, 0.005539f, 0.016300f, 0.033787f, 0.000148f, -0.032948f, 0.046461f, -0.009538f, -0.002557f, 0.049069f, 0.028885f, -0.042553f, 0.018443f, -0.026175f, 0.021098f, -0.013362f, 0.024303f, -0.034173f, 0.021031f, -0.075016f, -0.092413f, -0.046703f, 0.266623f, 0.237822f, 0.140880f, 0.314956f, -0.068830f, -0.233731f, -0.084876f, -0.442154f, -0.234789f, -0.003082f, -0.117092f, 0.160150f, 0.288544f, 0.042231f, 0.168524f, 0.334592f, 0.053472f, 0.117584f, 0.008590f, -0.341016f, -0.288531f, -0.251273f, -0.280796f, -0.167428f, 0.135285f, 0.059580f, 0.135369f, 0.361166f, 0.214075f, 0.057199f, 0.264149f, 0.122917f, -0.166897f, 0.089794f, -0.122778f, -0.312664f, -0.042091f, -0.193086f, + -0.359810f, -0.160130f, -0.040691f, -0.186281f, 0.204531f, 0.224669f, 0.102112f, 0.357456f, 0.399260f, 0.153315f, 0.195051f, 0.188331f, -0.214663f, -0.136868f, -0.273488f, -0.419678f, -0.391112f, -0.247764f, -0.254085f, -0.071941f, 0.155039f, 0.207818f, 0.272182f, 0.391926f, 0.345629f, 0.204871f, 0.142308f, 0.025213f, -0.173195f, -0.240256f, -0.185494f, -0.229158f, -0.293171f, -0.096715f, -0.122116f, -0.043571f, 0.131070f, 0.064402f, 0.001700f} + }, + { + {-0.002352f, 0.006376f, -0.007012f, -0.001470f, 0.000350f, 0.000536f, 0.002805f, 0.011712f, 0.000868f, -0.002777f, -0.004222f, 0.010547f, -0.001084f, -0.005301f, 0.001989f, -0.003695f, 0.002727f, 0.002137f, 0.013974f, 0.003621f, -0.007597f, 0.003237f, -0.000408f, 0.001298f, -0.006753f, 0.004314f, 0.000599f, -0.004995f, -0.002956f, -0.000535f, 0.000580f, -0.000611f, 0.004414f, -0.001206f, -0.004205f, -0.001043f, -0.002893f, -0.000549f, -0.005136f, 0.001887f, 0.005415f, -0.000818f, -0.007461f, 0.004586f, -0.004569f, -0.002780f, 0.000223f, 0.002147f, -0.003831f, -0.001110f, 0.006943f, -0.003650f, 0.001985f, -0.004589f, 0.003359f, -0.001571f, 0.002341f, 0.003089f, 0.001925f, -0.001803f, -0.001008f, 0.003578f, -0.005608f, -0.010339f, 0.002207f, -0.001318f, -0.003266f, 0.000931f, -0.000567f, -0.000645f, 0.000699f, -0.003763f, 0.004110f, -0.005348f, 0.004339f, 0.001872f, -0.000993f, 0.012047f, -0.001261f, 0.003683f, -0.002217f, 0.016079f, -0.006318f, -0.001516f, -0.000582f, 0.002031f, -0.002844f, 0.007394f, -0.001276f, -0.004906f, -0.000880f, 0.010101f, 0.000749f, -0.005029f, 0.004720f, 0.003532f, + 0.006630f, 0.002773f, -0.005019f, -0.003265f, 0.011255f, 0.001634f, -0.002844f, -0.002146f, -0.002252f, 0.002286f, 0.002434f, -0.001366f, -0.014249f, -0.003493f, 0.000748f, 0.009963f, 0.003594f, -0.001128f, 0.000033f, -0.005595f, 0.007945f, -0.007923f, -0.010585f, 0.001496f, 0.000208f, -0.003499f, -0.002343f, -0.002857f, 0.001657f, 0.001108f, 0.001086f, -0.003595f, 0.009485f, 0.000439f, 0.012675f, -0.001847f, -0.005755f, 0.002920f, -0.000443f, 0.001984f, 0.003149f, 0.006533f, 0.004576f, -0.001372f, -0.003114f, -0.002649f, 0.008472f, -0.007938f, 0.000743f, 0.000607f, -0.000953f, -0.006624f, 0.006847f, -0.002982f, 0.001587f, 0.006260f, -0.001610f, 0.002031f, -0.004619f, 0.003998f, 0.002614f, -0.005740f, -0.002960f, -0.000593f, 0.000626f, -0.000457f, -0.000726f, -0.003002f, 0.005153f, 0.000797f, -0.002095f, -0.003146f, -0.000071f, 0.010276f, -0.001393f, -0.005118f, 0.006769f, -0.002815f, -0.006253f, -0.000853f, 0.005415f, 0.003787f, -0.003413f, 0.000718f, -0.004284f, 0.002281f, 0.002487f, -0.002310f, 0.005378f, -0.001718f, -0.009660f, 0.001532f, 0.005016f, 0.004405f, 0.000653f, -0.001002f, + -0.007026f, -0.002661f, -0.000948f, -0.003382f, 0.006296f, 0.008567f, 0.004096f, -0.012465f, 0.004050f, 0.013920f, 0.005839f, -0.001067f, -0.000172f, 0.006185f, -0.003342f, 0.001742f, -0.006124f, -0.005877f, 0.005404f, 0.005786f, 0.002874f, 0.001184f, 0.000947f, 0.000732f, 0.002771f, -0.000001f, -0.000772f, -0.002764f, 0.001258f, -0.004916f, -0.001080f, -0.002584f, -0.008996f, -0.005199f, 0.001398f, 0.002185f, 0.008158f, -0.000437f, 0.003290f, -0.005191f, -0.008105f, -0.004823f, 0.004215f, -0.003458f, -0.003818f, -0.003759f, -0.005373f, 0.005254f, 0.000615f, 0.003910f, -0.001737f, 0.001289f, -0.010911f, -0.006759f, -0.005020f, 0.007148f, 0.001255f, 0.001756f, 0.003735f, -0.003617f, -0.002001f, -0.000642f, 0.001212f, -0.007978f, -0.001617f, -0.005304f, -0.006055f, 0.000585f, -0.005333f, 0.003819f, 0.003372f, 0.014554f, -0.003545f, 0.007528f, -0.004814f, 0.003263f, -0.003280f, 0.001009f, 0.012570f, 0.002271f, 0.005495f, -0.005659f, 0.003904f, -0.005061f, -0.002424f, -0.000551f, 0.008078f, -0.003647f, -0.001893f, -0.006795f, -0.003583f, -0.008072f, -0.000920f, 0.008173f, 0.002119f, 0.000864f, + 0.001635f, 0.007511f, -0.006830f, -0.012248f, 0.003252f, 0.004198f, -0.007762f, -0.000360f, 0.001578f, -0.001811f, 0.003878f, 0.009957f, 0.002772f, -0.002394f, 0.001211f, -0.003567f, 0.004921f, -0.013101f, 0.002449f, -0.004798f, -0.009087f, -0.007134f, 0.004145f, -0.002216f, -0.000115f, 0.008994f, 0.003418f, -0.001639f, 0.001133f, 0.007593f, -0.003418f, 0.005515f, -0.002345f, 0.001405f, -0.008084f, -0.001830f, 0.005998f, -0.002266f, 0.007374f, 0.007573f, 0.002913f, 0.004637f, 0.010684f, -0.002792f, -0.014328f, 0.002960f, -0.006215f, 0.000086f, -0.017623f, 0.000113f, 0.006035f, -0.003972f, 0.006967f, 0.000563f, -0.006186f, 0.001931f, -0.013201f, -0.009017f, -0.003021f, -0.003715f, -0.010922f, 0.005254f, 0.006449f, -0.000056f, 0.006011f, 0.000013f, 0.001798f, -0.004065f, 0.005452f, 0.003533f, -0.001881f, 0.011873f, -0.002126f, 0.009713f, 0.008907f, -0.000999f, -0.001264f, -0.000489f, 0.002925f, 0.003628f, 0.001423f, 0.004101f, 0.001604f, 0.000995f, 0.013644f, 0.004590f, -0.006055f, -0.003400f, -0.000303f, -0.003994f, 0.001579f, -0.003152f, 0.012670f, -0.024129f, -0.000161f, 0.000197f, + 0.006023f, 0.010981f, 0.003532f, -0.005108f, -0.009131f, -0.001129f, 0.011379f, -0.001896f, -0.002417f, -0.008277f, -0.000402f, -0.003251f, 0.008388f, 0.010538f, -0.017705f, 0.011775f, 0.007115f, -0.006283f, -0.001601f, -0.008814f, -0.000117f, -0.002387f, 0.000048f, 0.006417f, 0.011484f, -0.003961f, 0.002533f, -0.002622f, -0.004141f, 0.004768f, 0.007887f, 0.005881f, -0.005197f, -0.007810f, 0.005638f, 0.004513f, -0.003123f, -0.000984f, 0.000881f, -0.010138f, 0.003758f, 0.003808f, -0.004400f, -0.006542f, 0.002646f, -0.004794f, 0.009395f, 0.004853f, -0.016793f, 0.008328f, -0.007243f, -0.017629f, -0.005416f, -0.000572f, 0.003613f, -0.006680f, -0.000412f, 0.004979f, -0.008163f, -0.006998f, -0.008378f, -0.001466f, 0.002098f, 0.018649f, 0.002788f, 0.004661f, -0.003655f, -0.007587f, 0.012071f, -0.001804f, -0.013639f, 0.002937f, -0.013546f, 0.004375f, 0.015161f, 0.004090f, 0.003282f, 0.006666f, 0.009550f, -0.002085f, 0.023347f, -0.003361f, 0.016711f, -0.019658f, 0.006797f, 0.011568f, -0.004153f, 0.001669f, -0.005526f, -0.000455f, 0.009027f, 0.016507f, -0.004617f, -0.008058f, -0.002365f, 0.007763f, + 0.001669f, 0.016821f, 0.007942f, -0.001664f, 0.002450f, 0.000031f, -0.007753f, 0.001722f, -0.001684f, -0.002235f, 0.007360f, 0.009789f, -0.015062f, 0.017693f, -0.013231f, -0.006996f, 0.003047f, -0.005127f, 0.008880f, 0.000510f, -0.004973f, 0.012650f, 0.017389f, -0.012557f, -0.002236f, -0.000899f, 0.005451f, -0.011813f, -0.020009f, -0.008954f, -0.006050f, 0.006378f, -0.013844f, -0.007547f, -0.001524f, 0.014995f, 0.009184f, -0.009462f, 0.007296f, 0.004493f, -0.005384f, -0.007530f, -0.001216f, -0.004256f, -0.005814f, 0.001549f, -0.003848f, 0.011897f, -0.008112f, -0.000410f, 0.009174f, -0.005669f, 0.009823f, 0.013874f, 0.002684f, 0.003106f, -0.001364f, 0.008523f, 0.007643f, 0.009354f, -0.008976f, -0.012787f, -0.006294f, 0.008088f, 0.000813f, 0.034605f, -0.002231f, -0.001204f, -0.008006f, -0.016137f, -0.022777f, -0.005458f, 0.008096f, 0.011968f, -0.007231f, -0.015183f, 0.002369f, -0.000173f, 0.015350f, -0.005284f, -0.005654f, 0.018112f, -0.009565f, 0.000922f, -0.013719f, 0.008825f, -0.002368f, -0.000182f, -0.002668f, -0.021852f, -0.013064f, 0.000920f, 0.012498f, 0.007802f, 0.001493f, -0.022593f, + 0.015399f, -0.009235f, -0.008696f, -0.009831f, -0.012250f, -0.002157f, 0.012741f, -0.010057f, -0.010346f, 0.007403f, -0.002972f, 0.004229f, 0.023027f, -0.009843f, 0.001122f, 0.001085f, 0.010175f, -0.006627f, -0.005392f, -0.003048f, 0.014952f, -0.003113f, -0.006771f, -0.001164f, 0.011884f, 0.014667f, -0.013493f, -0.015939f, -0.004656f, -0.001913f, -0.004489f, 0.004210f, -0.010332f, -0.002794f, -0.009079f, -0.015338f, 0.003787f, -0.011006f, 0.009272f, 0.012217f, -0.009082f, -0.010108f, -0.009288f, 0.005234f, -0.001295f, 0.017540f, 0.029414f, -0.016301f, 0.000700f, -0.000252f, -0.002489f, 0.003233f, 0.008211f, -0.024018f, 0.021566f, -0.016776f, -0.008970f, 0.022623f, -0.005563f, -0.010078f, 0.006881f, 0.008699f, 0.000029f, -0.000701f, -0.017563f, 0.011217f, -0.002935f, 0.004276f, -0.011824f, 0.014688f, -0.001834f, -0.022947f, -0.025722f, 0.009047f, -0.005210f, -0.012329f, 0.005751f, -0.000386f, 0.038308f, 0.007261f, -0.007832f, -0.010847f, -0.023732f, -0.007357f, 0.003656f, -0.004760f, 0.017078f, -0.002921f, -0.027705f, -0.001663f, 0.017379f, -0.007056f, 0.001289f, 0.016952f, 0.009501f, -0.007899f, + -0.003065f, 0.014089f, 0.015655f, -0.006530f, 0.001602f, 0.003902f, -0.010325f, 0.005338f, -0.006198f, 0.000679f, -0.000284f, -0.001850f, -0.008371f, -0.013885f, -0.022723f, -0.011357f, 0.008576f, -0.019667f, 0.007273f, -0.021255f, 0.000533f, 0.008157f, -0.003787f, -0.015826f, -0.007891f, -0.002980f, 0.014152f, 0.011789f, -0.008898f, -0.008594f, 0.015116f, 0.006742f, -0.009213f, -0.009315f, -0.007798f, -0.000705f, 0.014616f, -0.002213f, 0.001075f, -0.000515f, -0.000456f, 0.019455f, 0.009218f, 0.013146f, -0.001162f, -0.000603f, 0.006346f, -0.009562f, -0.016910f, 0.013950f, 0.021667f, -0.014477f, 0.018602f, -0.005180f, -0.002131f, -0.008098f, 0.009495f, 0.000946f, -0.010743f, 0.006775f, 0.017627f, 0.014290f, 0.006271f, -0.013021f, -0.005632f, -0.026725f, 0.004376f, 0.014465f, -0.008802f, -0.001817f, -0.010788f, 0.003163f, -0.006412f, 0.010867f, -0.006673f, 0.003859f, 0.012614f, 0.007503f, 0.023770f, 0.012706f, 0.008207f, 0.015449f, -0.012370f, 0.023008f, 0.007473f, 0.014087f, -0.003907f, -0.015389f, -0.023245f, -0.004394f, -0.002795f, -0.006219f, -0.003840f, 0.008789f, 0.011514f, -0.024163f, + 0.017812f, 0.005683f, -0.003328f, 0.025440f, 0.020247f, -0.033264f, -0.021761f, 0.020243f, 0.035747f, -0.003783f, 0.005422f, -0.003557f, -0.004335f, -0.004116f, -0.001347f, 0.008402f, 0.005457f, 0.020856f, 0.005372f, 0.019895f, 0.005866f, 0.008246f, -0.002758f, -0.012360f, 0.005000f, 0.000831f, -0.009493f, 0.014920f, 0.001588f, 0.005451f, 0.003624f, -0.004161f, -0.014673f, 0.000950f, -0.016657f, -0.006589f, -0.019283f, -0.013872f, -0.007888f, 0.015001f, 0.002145f, 0.006773f, 0.019543f, -0.009752f, -0.001840f, 0.001028f, 0.006874f, 0.000776f, 0.000260f, -0.006971f, 0.014361f, 0.030652f, 0.015231f, -0.027217f, -0.018511f, -0.020660f, 0.021963f, -0.005187f, -0.020832f, 0.010078f, -0.011774f, -0.003341f, -0.003579f, -0.003676f, -0.001751f, -0.001737f, 0.019395f, 0.029520f, 0.012221f, 0.024726f, 0.018057f, 0.005489f, 0.004321f, 0.002539f, -0.006698f, -0.013918f, 0.004335f, 0.031446f, 0.006759f, 0.010688f, -0.009618f, 0.007670f, -0.015103f, -0.028423f, 0.001338f, 0.014354f, 0.005164f, 0.011442f, 0.017544f, 0.018006f, 0.001841f, -0.020671f, -0.016405f, -0.027203f, -0.040666f, -0.001137f, + -0.004207f, 0.017937f, 0.014417f, -0.015907f, -0.007858f, 0.010428f, 0.022499f, -0.027406f, -0.016667f, -0.005457f, -0.014012f, -0.010326f, -0.004695f, 0.008237f, 0.017701f, 0.000649f, -0.009346f, -0.012619f, 0.017897f, -0.013589f, -0.004824f, -0.000351f, 0.024849f, -0.001564f, 0.002878f, -0.037396f, -0.001917f, 0.009440f, 0.020239f, 0.025444f, 0.006342f, -0.023770f, 0.012365f, 0.001026f, 0.012315f, 0.016459f, 0.003608f, 0.008728f, 0.019106f, 0.032660f, -0.020145f, -0.007229f, -0.000907f, 0.011028f, 0.034705f, 0.015764f, 0.012222f, 0.020780f, -0.005557f, -0.008939f, -0.019334f, -0.022835f, -0.014248f, 0.002341f, 0.017076f, 0.041023f, 0.017513f, 0.008611f, 0.024358f, -0.028563f, -0.018929f, -0.003846f, 0.041697f, 0.015761f, 0.001995f, 0.021364f, -0.012740f, 0.032434f, -0.006744f, -0.029694f, -0.004572f, -0.029484f, 0.024572f, 0.013449f, 0.010343f, 0.008591f, 0.001711f, -0.009785f, 0.012570f, 0.016423f, 0.009762f, -0.006364f, 0.016437f, 0.019825f, 0.019467f, -0.002673f, -0.014392f, 0.027076f, 0.007866f, -0.002034f, -0.003162f, 0.002975f, -0.016426f, 0.017520f, -0.001836f, -0.005210f, + -0.021253f, -0.012669f, -0.012464f, 0.031820f, 0.013107f, 0.000160f, 0.005968f, 0.016403f, 0.025583f, 0.012012f, -0.028894f, 0.027899f, -0.001376f, 0.016125f, 0.008897f, 0.024557f, -0.003575f, -0.032212f, 0.012246f, -0.001461f, 0.015557f, -0.005687f, -0.010842f, 0.012026f, -0.002704f, 0.008187f, 0.043085f, -0.004863f, -0.015988f, 0.000144f, 0.008164f, -0.019677f, 0.035695f, -0.014650f, -0.016408f, 0.028419f, -0.012437f, 0.009406f, -0.009119f, 0.006171f, -0.024341f, -0.008368f, 0.016928f, 0.000317f, -0.023785f, 0.003876f, -0.006758f, 0.016238f, 0.007116f, 0.006790f, -0.041417f, 0.010269f, 0.003233f, 0.013849f, 0.030676f, -0.001710f, -0.001178f, -0.000888f, -0.011873f, 0.025408f, -0.024896f, 0.005553f, 0.019627f, 0.008425f, 0.018258f, -0.010671f, -0.010782f, -0.018729f, -0.025861f, 0.007669f, 0.006661f, 0.012866f, 0.032334f, -0.014945f, 0.028068f, 0.010301f, -0.022417f, -0.017874f, 0.001999f, -0.001129f, 0.003716f, -0.004136f, 0.015125f, 0.018072f, 0.022844f, 0.004552f, -0.049347f, 0.008637f, 0.017857f, 0.011053f, -0.031635f, 0.016263f, -0.014996f, 0.013410f, 0.004701f, 0.004821f, + -0.002046f, 0.008648f, -0.001501f, 0.039071f, 0.023831f, -0.024855f, 0.005201f, -0.060724f, 0.012077f, -0.021935f, -0.013947f, 0.009644f, 0.013996f, -0.034071f, -0.052353f, 0.028135f, 0.023874f, -0.059174f, 0.021066f, -0.020837f, -0.008216f, -0.009431f, 0.018532f, -0.013773f, -0.001653f, 0.004770f, 0.050372f, -0.005364f, 0.035847f, 0.011010f, 0.026517f, 0.003517f, 0.006218f, 0.010926f, 0.048414f, 0.052131f, -0.027997f, -0.022118f, 0.026837f, -0.034855f, -0.001972f, 0.011558f, -0.038459f, 0.022416f, 0.000869f, -0.001240f, -0.008717f, -0.009437f, 0.002262f, 0.005593f, 0.004660f, -0.020718f, -0.002029f, -0.003795f, -0.031691f, 0.016689f, 0.018194f, -0.031210f, -0.026845f, -0.010343f, 0.015312f, 0.018912f, 0.014002f, -0.000077f, -0.009224f, 0.017176f, 0.049766f, 0.029971f, -0.013032f, -0.005084f, -0.009951f, 0.037136f, -0.031201f, 0.014854f, 0.004470f, -0.042305f, -0.021444f, -0.000139f, 0.002700f, -0.035511f, 0.022281f, 0.018700f, 0.003836f, 0.009095f, 0.013966f, -0.033381f, -0.008457f, -0.027280f, -0.003182f, 0.020395f, 0.025796f, 0.021106f, -0.024760f, -0.008081f, -0.007459f, 0.003123f, + -0.028366f, -0.005046f, 0.024400f, 0.036959f, -0.002251f, 0.002089f, -0.022755f, 0.001606f, -0.000669f, -0.016846f, -0.027237f, -0.005625f, -0.012424f, -0.020998f, -0.014763f, 0.023055f, -0.019466f, 0.016635f, -0.005624f, -0.005046f, 0.033088f, -0.022978f, -0.012301f, 0.004696f, 0.013551f, 0.001620f, -0.042975f, -0.026924f, 0.005292f, -0.007280f, 0.007360f, -0.006359f, -0.013268f, 0.027321f, 0.006237f, -0.002674f, -0.011028f, -0.062581f, 0.037716f, -0.011553f, -0.000383f, -0.005583f, 0.002667f, 0.017584f, -0.010102f, -0.017264f, -0.028816f, -0.003003f, 0.013079f, -0.018203f, -0.022815f, 0.009253f, 0.036779f, -0.006447f, 0.034194f, 0.024821f, -0.024754f, 0.045584f, 0.030390f, -0.030403f, -0.046589f, -0.013605f, -0.020306f, 0.002337f, -0.014808f, -0.003763f, 0.022269f, -0.039121f, 0.018956f, -0.006393f, -0.022176f, -0.024463f, -0.024829f, -0.029496f, 0.005617f, 0.018138f, -0.016976f, 0.025657f, -0.039696f, 0.072099f, 0.101101f, -0.009636f, 0.012161f, 0.006628f, 0.024337f, 0.049223f, -0.047076f, 0.000675f, 0.007902f, 0.001037f, -0.017138f, 0.002635f, -0.021135f, 0.024747f, 0.060056f, -0.012641f, + 0.001009f, 0.003536f, 0.017967f, 0.001770f, 0.006755f, 0.023294f, -0.046831f, -0.003368f, 0.045230f, 0.046956f, -0.055165f, -0.011517f, 0.007450f, 0.007821f, 0.015843f, 0.041361f, 0.011115f, 0.083319f, 0.013326f, 0.025816f, 0.011699f, -0.012908f, -0.017854f, -0.000813f, -0.059012f, -0.083770f, -0.029111f, -0.027017f, -0.088214f, 0.013970f, -0.002859f, -0.048547f, -0.024677f, -0.081487f, -0.009844f, -0.010835f, 0.054839f, -0.054155f, 0.033082f, -0.036743f, -0.004141f, -0.023829f, -0.020565f, 0.022844f, 0.048880f, -0.037539f, -0.015847f, -0.002130f, -0.012876f, -0.002354f, 0.019628f, 0.042477f, 0.041335f, -0.027560f, 0.084739f, 0.062296f, 0.006119f, -0.025750f, -0.070512f, -0.036665f, 0.066729f, 0.109751f, -0.025442f, -0.006165f, 0.020084f, 0.048814f, 0.017107f, -0.029231f, 0.018431f, -0.025069f, 0.006818f, 0.015015f, -0.005465f, -0.033653f, 0.010380f, 0.034522f, -0.008342f, -0.050968f, 0.039786f, -0.012221f, 0.032534f, -0.012586f, -0.007573f, -0.013125f, -0.019996f, -0.001551f, 0.036041f, 0.019184f, 0.006230f, 0.028083f, -0.013411f, -0.012264f, 0.011289f, -0.016275f, 0.020249f, 0.010766f, + 0.030815f, 0.051461f, 0.046129f, -0.034022f, -0.061348f, -0.023487f, -0.003689f, 0.047105f, -0.018290f, 0.007452f, 0.019552f, -0.020273f, -0.028265f, -0.046622f, -0.046531f, 0.035399f, 0.039200f, -0.032678f, -0.112167f, 0.007773f, -0.007915f, -0.016997f, 0.008665f, -0.012944f, -0.045089f, -0.022940f, -0.010671f, -0.033415f, -0.013528f, 0.045332f, 0.017914f, 0.024728f, -0.010980f, -0.018970f, -0.010319f, 0.022294f, 0.004338f, -0.001062f, 0.022916f, 0.053293f, -0.025116f, -0.001833f, -0.021008f, 0.011921f, -0.029176f, -0.044082f, -0.011338f, -0.006190f, 0.007045f, -0.014115f, 0.033658f, -0.019442f, -0.072801f, -0.037284f, 0.023311f, -0.032231f, 0.038260f, 0.036857f, -0.017092f, -0.003957f, 0.003699f, -0.020331f, -0.001348f, 0.013064f, -0.004581f, 0.007788f, 0.048745f, 0.043362f, -0.012681f, -0.065047f, -0.052016f, 0.005291f, 0.033703f, -0.025190f, -0.013082f, -0.029843f, -0.041894f, 0.005339f, -0.013011f, -0.045544f, -0.053098f, -0.073709f, 0.028626f, 0.012176f, -0.000083f, 0.045352f, 0.056592f, -0.000371f, -0.045445f, -0.031112f, -0.037142f, -0.017824f, -0.014388f, 0.015531f, 0.020674f, -0.017758f, + -0.034086f, -0.036605f, 0.018794f, 0.021115f, -0.040541f, -0.033598f, -0.016774f, -0.002926f, -0.024507f, 0.017859f, 0.092644f, 0.061399f, 0.108618f, 0.042419f, -0.060499f, 0.075637f, -0.004467f, -0.026305f, 0.002593f, -0.019912f, -0.069998f, 0.065832f, -0.037358f, 0.004236f, 0.019439f, -0.008375f, -0.048784f, 0.049341f, 0.047250f, -0.027211f, -0.037293f, 0.005051f, 0.065394f, -0.034320f, 0.018679f, 0.041821f, 0.012867f, -0.015802f, -0.031171f, -0.020547f, 0.014537f, -0.004991f, 0.011082f, -0.018313f, 0.012222f, -0.040537f, 0.059338f, -0.005714f, 0.013330f, -0.002757f, -0.074782f, 0.023369f, -0.020723f, 0.038656f, 0.023183f, 0.041329f, -0.016151f, -0.071937f, 0.051693f, 0.023522f, -0.024627f, -0.044629f, 0.036979f, 0.020209f, 0.039300f, 0.040237f, -0.034978f, 0.016453f, 0.041402f, -0.060533f, 0.055662f, 0.028191f, -0.002142f, 0.018564f, -0.032107f, 0.071008f, -0.008417f, 0.047203f, 0.020106f, 0.082668f, -0.006433f, -0.012776f, 0.010598f, 0.034910f, 0.020937f, 0.025212f, 0.080956f, 0.007464f, 0.018507f, 0.051325f, -0.033818f, 0.037123f, 0.001201f, -0.049243f, 0.016601f, -0.010783f, + 0.056252f, -0.033186f, -0.048394f, -0.120712f, 0.006452f, -0.014633f, 0.003601f, 0.093771f, 0.076891f, 0.111022f, 0.058386f, -0.029275f, -0.022717f, -0.045707f, -0.061350f, 0.021773f, 0.005239f, 0.016313f, 0.019337f, -0.017582f, 0.027741f, 0.047527f, 0.008566f, -0.012370f, -0.016134f, -0.033171f, -0.022380f, -0.019910f, 0.009116f, 0.015394f, -0.048196f, -0.028075f, -0.006757f, 0.032635f, -0.014689f, 0.021180f, 0.025673f, -0.067873f, -0.067439f, 0.013226f, 0.019364f, 0.015475f, -0.050952f, -0.022842f, -0.045787f, -0.021539f, -0.021058f, 0.044587f, -0.058011f, -0.079909f, -0.030461f, 0.016630f, 0.013494f, -0.061414f, -0.050090f, -0.038457f, -0.029920f, 0.034353f, 0.047067f, 0.002974f, -0.016331f, -0.018762f, -0.011248f, -0.009529f, -0.021671f, -0.067926f, 0.022374f, 0.052878f, 0.046757f, 0.015800f, 0.063983f, 0.088155f, -0.007854f, -0.009940f, 0.066394f, -0.014916f, -0.040416f, -0.090703f, -0.029969f, 0.010804f, 0.078281f, 0.029003f, 0.005340f, 0.030152f, -0.033970f, 0.003348f, -0.017854f, -0.023349f, 0.013658f, 0.007075f, -0.021542f, -0.032809f, -0.020618f, -0.030317f, -0.026758f, 0.011804f, + -0.020859f, -0.008228f, 0.013937f, -0.008315f, 0.002421f, -0.009370f, 0.038526f, -0.029227f, 0.031421f, 0.013463f, 0.002710f, -0.028086f, -0.013804f, 0.025684f, 0.008724f, 0.001390f, 0.018101f, -0.001363f, -0.008841f, -0.010125f, -0.011269f, -0.005995f, 0.002606f, 0.002151f, 0.003027f, -0.032573f, 0.017403f, -0.012088f, -0.014726f, 0.014888f, 0.007343f, 0.007412f, -0.007663f, 0.027560f, 0.020050f, -0.027440f, 0.026297f, -0.000438f, 0.017443f, 0.040618f, -0.008963f, 0.023925f, 0.017817f, -0.014168f, -0.014410f, -0.019917f, 0.000831f, 0.009263f, -0.040737f, 0.021818f, 0.004459f, 0.036899f, -0.013639f, -0.062493f, 0.042064f, 0.011220f, -0.000393f, 0.011676f, -0.032227f, 0.005796f, -0.009363f, 0.022694f, -0.040305f, -0.116737f, -0.172151f, 0.035244f, 0.135684f, 0.004446f, 0.370969f, 0.340649f, 0.234696f, 0.402534f, 0.310414f, 0.040461f, 0.005974f, -0.043989f, -0.297273f, -0.304545f, -0.230961f, -0.398426f, -0.370584f, -0.108304f, -0.124801f, -0.127537f, 0.027755f, 0.071710f, -0.063907f, -0.024098f, 0.116379f, 0.071883f, -0.006705f, 0.084271f, 0.058319f, 0.000300f, 0.070719f, 0.170418f, + 0.111628f, 0.035205f, 0.175513f, 0.127488f, 0.006207f, 0.148514f, 0.204381f, 0.044195f, 0.017711f, 0.206761f, 0.053056f, -0.089748f, 0.101544f, 0.156952f, -0.090128f, 0.030668f, 0.222698f, 0.013614f, 0.030618f, 0.268267f, 0.209794f, 0.009084f, 0.164190f, 0.219167f, -0.088767f, -0.057710f, 0.055235f, -0.198668f, -0.323838f, -0.223254f, -0.356774f, -0.525458f, -0.483281f, -0.539884f, -0.683731f, -0.720960f, -0.638694f, -0.673265f, -0.633306f, -0.473801f, -0.374246f, -0.179391f, 0.004277f, 0.232079f, 0.257570f, 0.057742f}, + {0.001320f, -0.000183f, 0.002318f, -0.002016f, -0.000801f, -0.007018f, -0.003152f, -0.007465f, 0.000744f, -0.004211f, -0.004965f, 0.002457f, 0.004359f, -0.005434f, 0.005429f, 0.000623f, -0.006861f, 0.001091f, -0.007836f, 0.004435f, -0.002193f, -0.001277f, -0.002547f, 0.001779f, -0.003497f, -0.000463f, -0.002269f, 0.002898f, 0.005894f, -0.005430f, -0.002563f, 0.002151f, -0.001185f, 0.003962f, 0.006081f, 0.000255f, 0.002885f, 0.001913f, 0.001795f, -0.000797f, 0.004441f, -0.005837f, -0.002265f, 0.006420f, 0.000209f, 0.007620f, -0.008303f, 0.004397f, -0.003047f, -0.011505f, 0.006014f, 0.005355f, 0.001781f, -0.004090f, -0.002765f, -0.000901f, 0.001231f, 0.000899f, -0.002052f, -0.004014f, -0.002399f, 0.001698f, 0.000273f, 0.003509f, 0.007930f, 0.001857f, 0.000622f, 0.000506f, 0.006620f, 0.003812f, -0.001421f, 0.001819f, -0.000983f, -0.003130f, -0.000646f, -0.004976f, 0.006984f, 0.009656f, -0.005678f, 0.000398f, 0.000309f, -0.006915f, 0.009244f, -0.003687f, -0.003618f, 0.002648f, -0.009544f, -0.004273f, 0.010224f, 0.002329f, -0.004172f, 0.007276f, 0.002248f, 0.001564f, -0.001501f, 0.003555f, + -0.000065f, -0.012223f, -0.000588f, -0.004528f, -0.000554f, -0.000252f, -0.011719f, 0.000198f, -0.007537f, 0.000428f, 0.001175f, 0.005250f, 0.006244f, 0.002086f, 0.001542f, 0.001173f, 0.005390f, -0.002932f, 0.001832f, 0.000375f, 0.000830f, 0.001161f, -0.001644f, 0.004863f, 0.007196f, -0.013835f, 0.006416f, -0.003588f, -0.008379f, -0.005293f, 0.010603f, 0.005384f, -0.003643f, 0.006095f, 0.001702f, -0.003762f, 0.003684f, 0.000137f, -0.000084f, 0.000617f, 0.000632f, -0.001385f, -0.000033f, 0.000850f, -0.000753f, 0.004639f, -0.003015f, -0.006345f, -0.006421f, 0.000023f, 0.001820f, -0.000338f, -0.000051f, 0.003549f, -0.001846f, 0.006198f, 0.005184f, 0.000344f, -0.004075f, 0.002547f, -0.002175f, -0.003312f, 0.000853f, -0.006945f, -0.000781f, -0.005206f, 0.001870f, 0.003225f, 0.003171f, 0.002466f, -0.005346f, -0.000390f, -0.004416f, 0.004791f, -0.009174f, -0.005245f, 0.004734f, -0.010125f, -0.001070f, -0.000663f, 0.002661f, 0.002233f, 0.005059f, 0.010524f, 0.004934f, -0.001293f, 0.000054f, -0.003741f, -0.002839f, -0.018540f, -0.016996f, -0.001116f, 0.012750f, -0.003111f, 0.010208f, 0.000920f, + 0.002997f, -0.003103f, -0.014258f, 0.007475f, 0.002390f, -0.004276f, 0.003660f, -0.007567f, -0.001427f, 0.004369f, 0.002030f, 0.013531f, -0.009114f, 0.008234f, -0.004102f, -0.010554f, -0.004790f, -0.002835f, -0.002773f, 0.003815f, 0.003315f, -0.008506f, -0.003672f, -0.004831f, -0.001676f, 0.008289f, 0.008959f, 0.009487f, -0.006821f, 0.001146f, -0.004247f, -0.000685f, -0.003588f, -0.004925f, -0.005674f, -0.006907f, 0.006935f, -0.006577f, -0.008425f, -0.007373f, 0.000236f, -0.002947f, -0.002323f, -0.005852f, 0.001270f, -0.006536f, -0.000461f, -0.002729f, 0.009938f, -0.006461f, -0.007010f, -0.015707f, -0.020302f, -0.004987f, -0.009061f, -0.008401f, -0.002007f, 0.004118f, -0.005180f, -0.012265f, 0.007518f, -0.017752f, 0.005268f, -0.003060f, -0.003221f, 0.011324f, 0.007999f, 0.004126f, 0.001519f, -0.002071f, -0.001888f, -0.004400f, 0.001770f, 0.007643f, -0.006324f, 0.007240f, 0.006695f, 0.001861f, 0.000902f, 0.002945f, 0.005086f, -0.011602f, -0.005106f, 0.010832f, -0.008627f, 0.000597f, -0.000320f, 0.006578f, -0.001003f, -0.002672f, 0.001088f, 0.011239f, 0.006094f, 0.003832f, 0.003448f, 0.006210f, + -0.010273f, 0.007628f, -0.008458f, 0.007054f, 0.004425f, -0.002249f, -0.001782f, -0.003535f, -0.004892f, -0.007425f, -0.000843f, -0.002400f, -0.006407f, -0.006565f, -0.004417f, -0.003862f, 0.003640f, -0.010322f, -0.000689f, -0.004614f, -0.010309f, -0.004161f, -0.002271f, -0.006453f, -0.002761f, -0.005919f, -0.002916f, 0.005438f, 0.006292f, -0.010721f, -0.006790f, 0.004094f, -0.002668f, -0.011750f, 0.007660f, 0.014965f, 0.002592f, -0.002975f, -0.007245f, 0.002056f, 0.006552f, 0.013589f, -0.007147f, -0.002325f, -0.008894f, -0.006290f, 0.006781f, 0.007756f, -0.010709f, 0.006478f, -0.003763f, -0.006041f, 0.009823f, 0.000459f, 0.005117f, -0.013655f, 0.000446f, -0.008571f, 0.001512f, -0.010761f, -0.007633f, -0.001320f, -0.003203f, 0.024042f, 0.006873f, 0.006641f, 0.003978f, -0.016947f, 0.009155f, 0.007382f, -0.004527f, 0.000149f, 0.006941f, -0.000477f, 0.007338f, 0.009962f, 0.008516f, -0.004735f, -0.000137f, -0.002330f, 0.004064f, -0.003709f, -0.005619f, 0.003810f, -0.005429f, 0.002842f, 0.001738f, 0.000963f, 0.004126f, 0.002988f, -0.012006f, -0.000491f, -0.003674f, -0.014567f, -0.008094f, 0.005944f, + -0.006343f, 0.017066f, 0.007544f, 0.016715f, -0.000215f, -0.008160f, -0.008659f, -0.011713f, 0.017896f, -0.004350f, 0.008212f, 0.009139f, 0.001953f, 0.006448f, 0.005897f, 0.005712f, 0.002342f, -0.011741f, -0.000584f, -0.004506f, -0.001669f, 0.008131f, -0.000629f, -0.000667f, 0.005743f, 0.003617f, 0.005952f, -0.005057f, -0.018456f, -0.011021f, -0.006904f, 0.013755f, -0.012220f, -0.003670f, 0.008536f, -0.000870f, 0.001723f, -0.010297f, 0.018169f, 0.001057f, -0.006824f, 0.014285f, -0.008534f, 0.022087f, 0.011583f, -0.004899f, 0.002769f, -0.006207f, -0.004052f, -0.020222f, 0.007438f, -0.009190f, -0.001167f, -0.000757f, -0.004152f, 0.008709f, -0.003081f, -0.008860f, -0.008293f, 0.001972f, -0.007515f, -0.008764f, 0.005370f, 0.000630f, 0.006723f, -0.003614f, -0.017974f, 0.006048f, 0.008699f, 0.009796f, -0.009123f, -0.012168f, 0.002646f, 0.015781f, 0.015125f, -0.013974f, 0.007166f, 0.016758f, -0.012033f, 0.002908f, -0.006609f, -0.014078f, 0.020413f, 0.006948f, 0.018975f, 0.016598f, 0.002844f, -0.014292f, -0.008083f, 0.006493f, -0.000607f, 0.002325f, -0.014556f, 0.000887f, -0.026091f, -0.011754f, + -0.020322f, 0.011952f, -0.011475f, -0.001161f, 0.003952f, -0.004162f, -0.005172f, 0.005438f, 0.006369f, 0.017390f, -0.002443f, -0.004891f, -0.013880f, -0.012792f, 0.011671f, 0.001592f, 0.004018f, 0.020837f, -0.006615f, -0.000826f, 0.011534f, -0.006217f, 0.005265f, 0.002942f, 0.011466f, 0.009348f, -0.007407f, -0.002267f, -0.015009f, 0.014204f, -0.010371f, -0.014575f, -0.013163f, 0.006844f, -0.005148f, -0.008373f, 0.014691f, -0.006119f, 0.015169f, -0.011132f, -0.007965f, -0.003554f, 0.009568f, 0.011705f, -0.001839f, -0.016124f, 0.004239f, -0.011034f, 0.017619f, 0.001945f, 0.009689f, -0.017138f, -0.008211f, 0.001912f, 0.008050f, -0.022389f, 0.007334f, 0.007450f, 0.003865f, -0.016830f, 0.012537f, 0.022468f, -0.022161f, 0.008666f, -0.013959f, 0.009110f, 0.000318f, 0.008205f, -0.007212f, -0.000049f, 0.004146f, -0.014153f, -0.008153f, -0.005905f, 0.010554f, 0.012438f, -0.004970f, 0.005987f, -0.003989f, 0.009212f, 0.010353f, 0.004683f, 0.002353f, -0.011377f, -0.005473f, -0.014295f, -0.017175f, -0.011079f, -0.000126f, -0.005282f, -0.001989f, -0.006657f, -0.017223f, -0.005411f, 0.001925f, 0.001392f, + -0.002335f, 0.024028f, -0.020944f, 0.007049f, -0.011189f, -0.003022f, -0.007574f, -0.006412f, 0.008689f, -0.006444f, -0.000841f, -0.007801f, -0.006635f, -0.009462f, 0.010557f, -0.011852f, 0.008271f, -0.003242f, 0.008180f, -0.001614f, -0.000471f, -0.001839f, 0.007654f, 0.004740f, -0.002495f, 0.019924f, -0.001508f, -0.011618f, 0.003025f, -0.010685f, -0.014244f, -0.015311f, 0.010740f, 0.003494f, 0.009110f, 0.010846f, 0.004720f, -0.023131f, -0.002976f, 0.004197f, -0.006652f, -0.017986f, 0.020742f, -0.000346f, -0.000245f, 0.019586f, -0.006227f, -0.017991f, 0.005680f, 0.013567f, 0.022607f, -0.000439f, 0.008957f, 0.003130f, -0.021845f, -0.005027f, -0.011848f, 0.011693f, 0.005018f, 0.006637f, -0.008805f, -0.000317f, -0.001886f, 0.003018f, -0.008039f, 0.010990f, 0.001747f, -0.007251f, 0.011234f, 0.002856f, -0.014642f, -0.010339f, 0.002235f, 0.015933f, 0.012321f, -0.017365f, 0.035311f, -0.000626f, -0.000231f, 0.011155f, -0.002337f, -0.003561f, -0.001199f, 0.024508f, -0.012508f, 0.012752f, -0.003632f, 0.017376f, 0.004070f, 0.015726f, -0.006247f, -0.010071f, 0.007313f, 0.013684f, -0.006791f, -0.012461f, + -0.015623f, -0.011837f, -0.006514f, -0.001230f, 0.013344f, 0.001838f, 0.011653f, 0.000121f, -0.004132f, 0.013518f, -0.010359f, -0.018335f, -0.005038f, -0.011040f, -0.011316f, -0.020745f, 0.018083f, -0.007123f, -0.001453f, -0.001342f, -0.013615f, -0.001128f, 0.001235f, 0.009835f, -0.014350f, 0.000524f, -0.002076f, -0.006274f, -0.029991f, -0.003879f, 0.014387f, 0.010764f, 0.014732f, 0.001444f, -0.016062f, 0.042554f, 0.018144f, 0.028851f, 0.003172f, -0.013020f, -0.004962f, -0.004419f, -0.018050f, -0.001439f, -0.007018f, 0.008818f, 0.000156f, 0.000626f, -0.005724f, -0.008100f, -0.015278f, 0.004836f, 0.001595f, 0.000399f, 0.007999f, -0.001028f, 0.003425f, -0.001923f, -0.013310f, -0.010777f, 0.008109f, -0.000381f, 0.019461f, -0.025031f, 0.019668f, 0.011592f, -0.008704f, -0.018276f, -0.027811f, 0.005335f, 0.021828f, -0.011785f, 0.021091f, -0.002277f, -0.001105f, 0.004215f, -0.006436f, -0.025355f, 0.002685f, 0.010868f, 0.004843f, -0.011563f, -0.003257f, -0.007674f, 0.004856f, 0.010866f, -0.001414f, 0.001807f, -0.002706f, 0.010044f, -0.006743f, -0.005683f, 0.005155f, -0.008636f, 0.004506f, -0.032841f, + 0.023468f, 0.021695f, 0.025032f, -0.007812f, -0.022694f, 0.008227f, 0.008896f, -0.033310f, -0.030737f, 0.030037f, 0.003143f, -0.014093f, 0.011155f, -0.020599f, -0.023956f, 0.003865f, 0.062272f, 0.029411f, 0.011576f, -0.016402f, 0.000324f, -0.005482f, 0.000566f, -0.006514f, -0.003356f, -0.007263f, 0.002383f, 0.018399f, 0.003691f, 0.022572f, -0.008451f, -0.006493f, 0.004250f, 0.016078f, -0.002635f, -0.001353f, -0.032242f, -0.000482f, -0.017972f, -0.000018f, 0.025671f, 0.019041f, -0.006210f, 0.018702f, 0.035564f, -0.015521f, 0.010700f, 0.030279f, -0.020679f, 0.032023f, -0.001848f, 0.014064f, -0.006491f, 0.002852f, -0.003281f, 0.005948f, 0.008071f, 0.032269f, -0.010602f, -0.001830f, 0.009092f, -0.011967f, 0.010259f, 0.007165f, -0.006703f, -0.011050f, 0.031613f, 0.001176f, -0.014635f, -0.001760f, 0.020621f, -0.003400f, 0.014788f, 0.005439f, 0.002174f, -0.001426f, -0.005526f, 0.040930f, 0.006694f, 0.006232f, -0.021589f, -0.011673f, 0.000483f, 0.005158f, 0.007593f, 0.009868f, -0.040676f, 0.002292f, 0.001925f, 0.029422f, 0.004017f, 0.007826f, -0.003377f, 0.026784f, -0.043674f, 0.001758f, + 0.021404f, -0.025217f, 0.005761f, 0.005433f, 0.020100f, 0.004473f, 0.001540f, -0.006673f, -0.000012f, -0.021656f, 0.006767f, -0.005158f, 0.003200f, 0.006307f, -0.004481f, -0.016400f, 0.005391f, -0.012906f, -0.023667f, 0.013196f, -0.013712f, 0.008738f, -0.022320f, -0.013405f, -0.003055f, -0.006533f, 0.004360f, -0.009047f, 0.022832f, -0.000201f, 0.021716f, -0.023770f, -0.020952f, -0.006487f, -0.000531f, -0.000498f, -0.007880f, 0.020103f, 0.015651f, 0.042029f, -0.007737f, 0.026669f, -0.016838f, -0.003252f, 0.007127f, -0.032835f, 0.035558f, -0.001960f, 0.021651f, -0.002239f, -0.033266f, -0.021175f, 0.012033f, -0.045674f, 0.020549f, 0.001203f, 0.007699f, 0.021049f, 0.031328f, 0.011445f, -0.013490f, 0.030585f, -0.032585f, -0.002866f, -0.010197f, 0.004527f, 0.025520f, -0.022736f, 0.057864f, 0.008311f, 0.014212f, -0.016459f, -0.023563f, 0.008791f, 0.000098f, 0.050066f, -0.007140f, -0.016313f, -0.028224f, -0.018190f, 0.013765f, 0.009685f, 0.008098f, -0.002649f, -0.027661f, -0.041850f, 0.003350f, -0.024799f, 0.034517f, 0.005539f, 0.028111f, -0.016117f, 0.011934f, -0.009977f, 0.014770f, 0.041490f, + -0.006316f, -0.002980f, -0.005662f, 0.011857f, 0.013863f, 0.008294f, 0.003480f, 0.005632f, 0.018064f, 0.017261f, -0.008408f, -0.012205f, -0.011726f, -0.012149f, 0.046825f, 0.019957f, -0.026152f, 0.022682f, -0.005204f, -0.020148f, -0.014826f, 0.010176f, 0.017996f, -0.029355f, -0.039839f, 0.006837f, -0.016933f, 0.056346f, 0.029678f, -0.006823f, -0.004228f, 0.013955f, 0.026718f, 0.008702f, -0.000856f, -0.005334f, -0.030639f, -0.005913f, -0.003065f, -0.000145f, -0.013117f, -0.027780f, 0.016830f, -0.010747f, 0.024384f, 0.007833f, -0.021914f, -0.012479f, -0.010046f, 0.002819f, -0.030309f, 0.019568f, 0.032779f, -0.014915f, 0.021216f, -0.007106f, -0.006387f, 0.012449f, -0.020676f, 0.011620f, 0.026944f, 0.004328f, 0.044988f, 0.018310f, -0.016017f, 0.015775f, 0.009775f, 0.013508f, 0.002705f, 0.020446f, 0.022044f, 0.028260f, 0.013600f, -0.014912f, -0.012623f, -0.022021f, 0.000065f, 0.045199f, 0.002906f, 0.017400f, -0.028405f, 0.059817f, -0.016785f, -0.052291f, -0.021441f, 0.036534f, 0.004959f, -0.008725f, -0.003631f, -0.006187f, 0.031345f, -0.025072f, 0.018892f, -0.007870f, 0.038973f, 0.053284f, + 0.031005f, 0.023732f, -0.018481f, 0.028522f, 0.021241f, 0.015248f, 0.023649f, 0.028200f, -0.005101f, -0.060776f, -0.034649f, -0.045584f, 0.012101f, 0.009731f, 0.012991f, -0.014757f, 0.020061f, 0.044327f, 0.004227f, 0.000083f, -0.013393f, 0.008672f, 0.020295f, 0.024800f, 0.008340f, 0.011862f, 0.018500f, -0.014553f, 0.043651f, 0.017805f, 0.008033f, -0.012218f, -0.034369f, -0.013296f, 0.017955f, -0.001490f, -0.048510f, 0.064952f, -0.023224f, -0.012345f, 0.019373f, 0.001279f, -0.006996f, 0.004966f, -0.013099f, -0.014906f, -0.003872f, -0.034913f, 0.008127f, -0.037557f, 0.000469f, -0.029749f, -0.034310f, -0.006585f, -0.007767f, -0.007241f, -0.025271f, 0.010957f, 0.025805f, 0.007190f, 0.019608f, -0.034985f, 0.033952f, 0.063060f, 0.005886f, -0.025275f, 0.038715f, -0.032289f, -0.051812f, 0.085131f, -0.009413f, 0.005986f, -0.006624f, -0.038167f, 0.028663f, -0.034633f, 0.014198f, 0.051906f, -0.001822f, 0.071326f, -0.056600f, 0.053695f, 0.014805f, -0.035492f, -0.019499f, 0.006674f, -0.035062f, -0.016905f, 0.036627f, -0.036888f, 0.023182f, -0.024318f, 0.011822f, 0.041055f, -0.089402f, -0.034760f, + 0.035798f, -0.016178f, 0.008827f, -0.024674f, -0.074979f, -0.019063f, 0.024202f, 0.058063f, -0.018620f, 0.029542f, 0.000561f, 0.014205f, 0.029648f, 0.019822f, 0.051524f, -0.012867f, 0.001998f, 0.014754f, -0.046016f, -0.028901f, -0.013839f, -0.014218f, 0.010377f, 0.001421f, 0.003729f, -0.023212f, -0.004099f, -0.030913f, -0.025852f, 0.013113f, 0.063771f, 0.037550f, -0.016924f, -0.019628f, 0.030337f, 0.037357f, -0.021849f, 0.010543f, 0.027962f, -0.010164f, 0.061003f, 0.021802f, 0.008855f, -0.046100f, 0.028961f, 0.007085f, 0.022779f, -0.003681f, 0.005752f, -0.006568f, -0.010352f, -0.073079f, 0.019484f, 0.052754f, 0.025132f, 0.008277f, -0.001771f, 0.027390f, -0.042230f, -0.075720f, 0.005238f, 0.103999f, 0.024005f, 0.082894f, 0.076213f, 0.002728f, 0.005660f, -0.047247f, -0.045291f, -0.002920f, -0.039562f, 0.053028f, -0.114496f, 0.022751f, -0.045888f, -0.087930f, 0.013630f, 0.042161f, -0.017549f, 0.052646f, 0.097423f, 0.000544f, 0.028127f, 0.015285f, -0.048038f, -0.016108f, 0.052131f, 0.013891f, 0.024204f, -0.014396f, 0.016723f, 0.006692f, -0.015508f, -0.001025f, 0.028207f, 0.025708f, + 0.035829f, -0.016601f, -0.001794f, -0.075875f, -0.067150f, 0.007833f, -0.040568f, -0.000256f, 0.039751f, 0.007293f, 0.006952f, -0.014597f, -0.005741f, 0.022207f, 0.060983f, -0.044098f, -0.021655f, -0.007237f, -0.038455f, -0.004701f, -0.036891f, -0.014042f, -0.039260f, 0.035562f, -0.048105f, -0.005850f, 0.012281f, 0.023064f, 0.092527f, 0.117448f, 0.034152f, -0.033019f, -0.060134f, -0.007307f, -0.039908f, -0.018767f, -0.063873f, 0.008408f, 0.069097f, 0.046372f, 0.043243f, 0.002983f, 0.013850f, 0.065062f, 0.069529f, 0.045929f, 0.001112f, 0.028351f, 0.016559f, 0.013144f, -0.070901f, 0.021511f, 0.015238f, -0.019312f, 0.054120f, 0.061655f, 0.000618f, -0.001779f, -0.017524f, -0.021119f, 0.057359f, 0.044512f, -0.030470f, 0.030816f, 0.042038f, 0.007075f, -0.057507f, -0.063984f, 0.059542f, 0.023097f, 0.012086f, 0.050678f, -0.001132f, -0.019067f, 0.049918f, 0.015842f, -0.041826f, -0.017973f, -0.016630f, 0.019717f, -0.001217f, -0.021568f, 0.006814f, -0.024072f, -0.005014f, -0.009668f, -0.015170f, 0.037708f, 0.063777f, -0.020346f, 0.011245f, 0.033442f, -0.018052f, -0.011066f, 0.010219f, 0.040006f, + 0.009433f, -0.026613f, -0.039328f, -0.041721f, 0.020927f, 0.027293f, 0.057320f, -0.025989f, -0.029859f, 0.023674f, 0.032887f, 0.058683f, -0.004599f, -0.101083f, -0.025312f, 0.036307f, 0.030212f, 0.017979f, -0.023544f, 0.002318f, -0.044882f, 0.009498f, -0.021415f, 0.046615f, 0.058278f, -0.015000f, -0.002332f, -0.032221f, -0.043056f, -0.010749f, -0.083395f, -0.011060f, -0.044362f, 0.040951f, -0.036221f, 0.043433f, 0.041914f, -0.083128f, -0.009241f, -0.025585f, -0.021992f, -0.030112f, -0.050137f, -0.011330f, -0.028077f, -0.050725f, -0.076883f, 0.037232f, 0.039132f, 0.023087f, -0.051667f, -0.069914f, -0.054053f, -0.030725f, 0.011820f, -0.002797f, -0.068550f, -0.041038f, -0.047308f, 0.065100f, 0.019520f, 0.027909f, -0.021726f, -0.038245f, 0.082249f, 0.019717f, 0.024812f, -0.016933f, 0.003670f, 0.023575f, -0.018396f, 0.018437f, -0.007565f, 0.038534f, 0.054670f, 0.001171f, -0.046907f, -0.037768f, 0.042842f, 0.029034f, 0.037250f, 0.009732f, 0.007979f, -0.021697f, -0.010677f, 0.004769f, 0.025300f, 0.057094f, -0.002495f, -0.111575f, -0.103802f, -0.000389f, -0.026968f, 0.063965f, 0.064866f, -0.076489f, + -0.052540f, -0.033298f, 0.090612f, 0.080733f, -0.046959f, 0.011324f, -0.060779f, -0.058309f, 0.032421f, -0.027603f, -0.001503f, -0.009974f, -0.042312f, 0.028271f, 0.028670f, 0.023723f, 0.093405f, -0.067711f, -0.018269f, -0.003976f, 0.022252f, 0.085635f, -0.054665f, 0.051035f, 0.063792f, 0.030197f, -0.126850f, -0.059960f, 0.051349f, -0.042643f, 0.032553f, -0.015888f, -0.048701f, 0.029149f, 0.017466f, 0.004238f, -0.017672f, -0.094696f, -0.001489f, -0.009037f, 0.007282f, -0.018960f, -0.057366f, 0.041768f, -0.032705f, 0.075819f, -0.001531f, -0.013575f, 0.047260f, 0.023399f, -0.031991f, -0.010085f, -0.022352f, 0.037443f, 0.076667f, 0.046140f, -0.050754f, 0.006525f, -0.031339f, 0.028595f, -0.026088f, -0.020597f, 0.013733f, -0.009714f, 0.045703f, -0.041363f, -0.072755f, 0.013922f, -0.020543f, 0.023233f, 0.040221f, -0.109680f, -0.008565f, -0.026842f, 0.012810f, 0.106093f, -0.021288f, -0.090268f, -0.012343f, 0.064308f, 0.044588f, -0.052866f, -0.004380f, 0.036344f, 0.010536f, 0.046479f, -0.071934f, -0.053145f, 0.061757f, -0.061967f, -0.114435f, -0.047853f, -0.004402f, 0.133337f, -0.026346f, -0.086984f, + 0.051218f, -0.097087f, 0.180592f, -0.121348f, 0.033482f, -0.001234f, 0.040951f, 0.101646f, 0.031579f, 0.014578f, -0.057696f, -0.022953f, -0.057678f, -0.067471f, -0.023637f, 0.014004f, 0.038087f, 0.052107f, -0.006633f, 0.030533f, 0.035418f, -0.031061f, -0.064981f, 0.034476f, 0.011286f, -0.051583f, -0.018635f, 0.049951f, -0.017789f, -0.005094f, 0.044303f, 0.025795f, 0.019134f, 0.006689f, 0.024724f, -0.024284f, -0.060568f, -0.025569f, 0.015901f, -0.024109f, -0.015157f, 0.022053f, 0.000347f, -0.041727f, 0.042565f, 0.009600f, -0.040012f, 0.005094f, -0.010585f, 0.037683f, 0.019690f, -0.015170f, 0.016377f, -0.023237f, -0.053527f, 0.006879f, 0.011306f, -0.004932f, -0.001335f, 0.010771f, -0.024329f, 0.006845f, -0.021138f, 0.011250f, 0.035514f, -0.004542f, 0.014429f, 0.016480f, -0.016399f, 0.000022f, -0.037735f, 0.011040f, 0.018496f, -0.065953f, 0.034655f, -0.041969f, 0.009282f, -0.000057f, -0.005021f, 0.018240f, 0.098497f, -0.003242f, -0.003613f, -0.027071f, -0.027301f, 0.020734f, -0.001491f, 0.018018f, 0.000028f, -0.009239f, -0.013327f, 0.007135f, -0.018533f, 0.018993f, -0.017453f, 0.027483f, + -0.022077f, 0.016226f, -0.018705f, -0.003622f, -0.003175f, -0.016707f, -0.013344f, 0.004424f, -0.007934f, -0.004893f, -0.000275f, -0.012389f, 0.001590f, -0.001996f, 0.004025f, -0.002454f, 0.007469f, -0.025355f, 0.023584f, -0.008267f, -0.007792f, 0.018559f, -0.014405f, 0.001610f, -0.017964f, -0.015074f, 0.011483f, 0.010770f, -0.012572f, -0.007470f, 0.005168f, -0.000114f, -0.021866f, 0.006338f, 0.004005f, 0.000703f, 0.014604f, -0.004625f, -0.005994f, -0.005193f, -0.014762f, -0.003347f, 0.016033f, -0.016013f, 0.004650f, -0.007395f, -0.001669f, 0.001779f, -0.004634f, 0.004365f, 0.000635f, 0.011623f, -0.015347f, -0.000862f, 0.011143f, -0.020306f, 0.013109f, -0.009284f, 0.001749f, 0.008685f, -0.001017f, -0.010634f, -0.045594f, -0.079166f, 0.029895f, 0.250195f, 0.063634f, 0.137619f, -0.004602f, -0.135573f, -0.042933f, -0.133407f, -0.112484f, -0.040814f, -0.026447f, -0.009993f, 0.076061f, 0.100247f, 0.134369f, 0.167895f, 0.073690f, -0.043863f, -0.077163f, -0.166244f, -0.156451f, -0.064834f, -0.051633f, -0.035709f, 0.068984f, 0.092098f, 0.056422f, 0.085365f, 0.104117f, 0.034306f, 0.029316f, 0.018717f, + -0.052360f, -0.025112f, -0.037167f, -0.083865f, -0.044894f, -0.062407f, -0.090646f, -0.050392f, 0.012568f, 0.009439f, 0.052512f, 0.124056f, 0.086374f, 0.070526f, 0.070328f, 0.020991f, 0.006476f, -0.007262f, -0.034378f, -0.051215f, -0.063166f, -0.092488f, -0.080150f, -0.045645f, -0.012655f, -0.031055f, 0.027588f, 0.048236f, 0.042668f, 0.070755f, 0.080455f, 0.051012f, 0.047928f, 0.045565f, -0.004225f, -0.020349f, -0.007752f, -0.061549f, -0.048754f, -0.009986f, -0.046559f, -0.049326f, -0.024480f, -0.023917f, 0.005571f, 0.001611f} + }, + { + {-0.001074f, 0.000794f, -0.004785f, 0.004975f, -0.006732f, 0.000726f, -0.002276f, -0.004292f, -0.008361f, -0.002802f, -0.000090f, 0.001502f, 0.010056f, 0.005424f, -0.003816f, 0.000069f, -0.000944f, -0.000143f, 0.000610f, 0.000284f, 0.003260f, -0.000461f, 0.002118f, -0.001599f, -0.012281f, -0.004298f, -0.002061f, 0.000603f, 0.007422f, -0.004609f, 0.000506f, -0.000696f, -0.000241f, -0.002658f, 0.004374f, 0.000868f, -0.001997f, 0.005312f, -0.003768f, 0.002015f, 0.002391f, -0.005407f, 0.004740f, -0.002365f, 0.000306f, 0.001228f, 0.001696f, 0.002378f, -0.002198f, -0.004019f, -0.001315f, -0.002792f, 0.002061f, -0.002530f, 0.000555f, 0.003202f, 0.008493f, -0.002981f, -0.006636f, -0.001955f, 0.006263f, 0.006475f, 0.004021f, -0.000199f, 0.001910f, -0.002379f, -0.003319f, -0.002734f, -0.007926f, 0.005587f, -0.001130f, 0.001401f, 0.000150f, -0.003781f, 0.001374f, 0.001608f, 0.005953f, 0.005654f, -0.005071f, -0.001065f, 0.008460f, 0.002591f, -0.004144f, 0.000759f, -0.004593f, -0.004363f, -0.003241f, -0.007580f, -0.002426f, 0.004413f, -0.000202f, 0.002390f, -0.001090f, -0.002234f, -0.001896f, -0.001023f, + 0.006431f, -0.004071f, 0.000563f, -0.000393f, 0.000449f, 0.004862f, 0.000014f, 0.003316f, 0.011075f, 0.008398f, 0.008726f, 0.004335f, 0.002125f, -0.001466f, -0.009883f, 0.004054f, -0.003567f, 0.006385f, 0.002486f, -0.003486f, 0.003239f, -0.004556f, -0.008529f, -0.002741f, -0.003169f, -0.008308f, 0.000562f, -0.001045f, -0.000968f, -0.003890f, 0.000746f, 0.008627f, 0.004051f, 0.005878f, 0.000139f, 0.003639f, -0.003136f, -0.000188f, 0.004757f, -0.003647f, 0.003276f, -0.004510f, -0.004655f, 0.000652f, 0.010435f, 0.006893f, 0.004191f, -0.001714f, 0.002007f, 0.001436f, 0.000920f, -0.001370f, -0.003539f, -0.005325f, -0.003925f, 0.001078f, -0.003280f, 0.003750f, 0.001882f, -0.006418f, 0.015156f, -0.000321f, 0.000867f, -0.001612f, -0.008086f, 0.005922f, -0.004256f, -0.004031f, -0.009431f, -0.007236f, -0.003119f, 0.005768f, 0.008253f, -0.001738f, 0.004833f, -0.001979f, 0.008943f, 0.009334f, -0.018893f, 0.003360f, -0.000047f, -0.001926f, 0.006204f, 0.009890f, -0.003239f, -0.001565f, 0.000035f, -0.000735f, -0.004948f, 0.003795f, -0.004999f, -0.003944f, -0.000592f, 0.004848f, -0.003047f, -0.010727f, + -0.004922f, -0.007361f, 0.000596f, 0.000437f, -0.009630f, -0.001330f, -0.004365f, 0.001709f, -0.000571f, -0.001669f, 0.001993f, -0.003398f, 0.002848f, -0.005319f, 0.004575f, 0.006893f, 0.010701f, 0.004255f, -0.005243f, 0.003595f, 0.004216f, -0.002148f, -0.013005f, 0.000376f, 0.006028f, -0.005521f, 0.003220f, -0.007801f, -0.000678f, -0.005222f, -0.013396f, -0.004523f, -0.007392f, 0.002525f, 0.003918f, -0.005051f, 0.001125f, -0.002606f, 0.012260f, 0.003579f, -0.017092f, 0.006172f, 0.008483f, 0.003330f, -0.001664f, 0.004564f, -0.010825f, 0.001648f, 0.004501f, -0.002238f, 0.004340f, -0.000590f, 0.005329f, 0.001467f, -0.007396f, 0.004627f, 0.006324f, 0.006591f, -0.002120f, 0.003202f, 0.003299f, 0.002558f, -0.019387f, 0.002781f, -0.008399f, -0.002325f, -0.002967f, 0.004550f, 0.001807f, -0.015548f, -0.005896f, -0.003435f, -0.003243f, 0.006409f, -0.006100f, -0.010881f, 0.002408f, 0.005109f, 0.002861f, -0.010842f, -0.005417f, 0.003511f, -0.010577f, -0.000812f, -0.011662f, 0.001674f, 0.005238f, -0.005816f, -0.002104f, 0.006481f, 0.007923f, -0.019302f, -0.001780f, -0.005386f, 0.005475f, 0.002351f, + 0.000584f, 0.001617f, -0.005821f, 0.004849f, 0.003840f, -0.015049f, 0.011076f, -0.001629f, 0.002382f, -0.007740f, -0.003672f, -0.006575f, -0.001316f, 0.001561f, -0.006549f, -0.008447f, 0.006786f, -0.002754f, -0.008571f, -0.007176f, -0.006786f, -0.003568f, 0.012186f, -0.003960f, 0.001272f, -0.009808f, 0.010434f, 0.001187f, -0.007828f, -0.001480f, 0.005855f, -0.012678f, 0.004010f, -0.003410f, 0.002510f, 0.002595f, -0.006471f, -0.003793f, -0.016089f, -0.003727f, -0.018064f, 0.002767f, 0.003510f, -0.001397f, -0.002856f, -0.001111f, 0.002195f, -0.006387f, -0.013018f, -0.005323f, -0.005089f, -0.001420f, 0.004133f, -0.002366f, 0.006993f, 0.003853f, 0.005241f, -0.007236f, -0.000931f, 0.000167f, -0.007005f, 0.002370f, 0.004620f, 0.000067f, -0.003760f, -0.007037f, -0.007578f, 0.005354f, 0.006569f, 0.000389f, 0.013520f, 0.011795f, -0.010637f, -0.001908f, -0.000550f, -0.009953f, -0.012760f, 0.019095f, -0.000913f, 0.001243f, 0.005131f, -0.010911f, -0.004507f, -0.006752f, 0.017464f, 0.005782f, 0.000209f, -0.013510f, -0.012266f, 0.002599f, -0.005584f, 0.010614f, -0.005772f, 0.001515f, 0.001439f, -0.021226f, + 0.010635f, 0.006008f, 0.010847f, -0.005814f, 0.005958f, 0.006204f, 0.011152f, 0.002638f, -0.021148f, 0.005295f, 0.000948f, 0.008425f, 0.015411f, 0.000816f, 0.006719f, 0.005858f, -0.012638f, 0.004466f, 0.001224f, 0.001768f, -0.003394f, -0.001750f, 0.007929f, 0.005229f, 0.000383f, -0.007746f, -0.000026f, -0.003689f, -0.003944f, 0.012703f, 0.005941f, -0.000518f, -0.001615f, -0.015320f, -0.013063f, -0.015050f, 0.004105f, 0.004083f, -0.015510f, 0.001119f, 0.001170f, -0.015463f, 0.001094f, 0.002396f, -0.001938f, 0.017787f, -0.002051f, -0.008740f, -0.002046f, 0.010209f, -0.000679f, -0.015851f, 0.017397f, 0.008904f, -0.010754f, 0.008357f, 0.001888f, 0.001578f, -0.000042f, 0.000923f, -0.003984f, -0.008012f, -0.007225f, 0.013686f, -0.000568f, -0.004117f, -0.000239f, 0.009768f, -0.008695f, -0.016368f, 0.001158f, 0.003454f, 0.003782f, -0.014488f, -0.006247f, 0.004965f, 0.006514f, 0.024368f, 0.007420f, 0.019522f, -0.021475f, 0.000711f, -0.010534f, 0.000229f, 0.007310f, 0.008158f, -0.010961f, 0.004741f, -0.006286f, -0.005799f, -0.007568f, -0.012654f, -0.001689f, -0.029660f, -0.000125f, 0.009661f, + -0.001143f, -0.002110f, 0.003416f, -0.015605f, 0.005629f, -0.014884f, -0.004494f, 0.015138f, 0.003265f, 0.005164f, 0.000545f, 0.004391f, 0.013178f, 0.011660f, 0.022824f, 0.011664f, -0.016917f, -0.001520f, 0.019268f, -0.002764f, -0.013746f, -0.002218f, 0.001980f, -0.006476f, 0.012990f, 0.009364f, -0.010756f, -0.003316f, 0.012474f, 0.012923f, -0.004417f, -0.008414f, 0.020900f, -0.008657f, -0.027634f, -0.018984f, 0.006373f, -0.028203f, -0.000327f, -0.008590f, 0.000367f, -0.002835f, -0.007612f, 0.010221f, 0.003215f, -0.003082f, -0.008967f, 0.007592f, -0.005323f, 0.014312f, 0.010272f, -0.004809f, -0.009829f, 0.001019f, 0.003711f, 0.001891f, -0.024100f, 0.011505f, -0.002333f, 0.006217f, 0.007672f, 0.013077f, 0.002631f, -0.011213f, 0.015141f, -0.005623f, 0.006556f, -0.006801f, 0.005389f, -0.000968f, -0.028428f, -0.005757f, -0.005182f, -0.003269f, 0.001520f, -0.006732f, -0.005061f, 0.003738f, 0.005711f, 0.002085f, 0.014691f, 0.006930f, -0.015157f, -0.001174f, -0.000491f, -0.008376f, 0.016897f, -0.010583f, -0.010661f, 0.018188f, 0.018744f, -0.002617f, -0.000859f, -0.012287f, 0.003682f, 0.002340f, + -0.006975f, 0.002896f, 0.011257f, 0.007045f, 0.013650f, -0.003983f, -0.012112f, 0.006595f, 0.000847f, 0.002969f, -0.014363f, -0.007534f, -0.008845f, 0.002576f, 0.006752f, 0.002159f, 0.001047f, 0.013107f, 0.015519f, 0.001658f, -0.009026f, 0.008535f, 0.006529f, -0.012716f, 0.000345f, 0.000886f, -0.002719f, 0.000069f, -0.001758f, 0.008412f, -0.002712f, -0.009509f, 0.002135f, 0.010851f, 0.003704f, 0.004210f, 0.009509f, -0.020263f, -0.012863f, 0.008716f, -0.005304f, -0.018891f, 0.009404f, -0.009657f, -0.009288f, 0.012969f, -0.004225f, -0.003657f, -0.003528f, 0.003702f, 0.008830f, 0.005285f, 0.004562f, 0.005599f, -0.008113f, -0.004126f, -0.002006f, 0.011735f, 0.005406f, -0.019308f, 0.005919f, 0.006649f, -0.008671f, 0.019093f, 0.016719f, 0.009666f, 0.000312f, -0.006290f, -0.004719f, 0.001469f, -0.006131f, -0.006496f, -0.011776f, 0.002125f, -0.013386f, 0.009955f, 0.003372f, 0.000562f, 0.001809f, 0.005452f, 0.004094f, 0.010599f, 0.015649f, -0.005600f, -0.025347f, -0.003981f, -0.017301f, 0.006291f, 0.002224f, -0.022395f, 0.008143f, -0.009207f, 0.028506f, 0.009817f, -0.018055f, -0.000318f, + 0.018186f, 0.009751f, -0.014869f, -0.008652f, 0.019126f, 0.011110f, -0.013054f, 0.016379f, -0.013329f, -0.017833f, 0.003085f, -0.027121f, 0.016760f, 0.017417f, -0.003516f, -0.016658f, -0.002226f, -0.000392f, 0.005315f, 0.000086f, -0.016438f, -0.011870f, 0.000175f, -0.019393f, -0.000167f, -0.045766f, -0.014677f, -0.005192f, -0.025319f, -0.008713f, -0.005523f, -0.010941f, -0.008786f, 0.006013f, -0.012389f, -0.022921f, 0.005782f, 0.014392f, -0.023771f, -0.006496f, 0.006858f, 0.011723f, 0.019828f, 0.012847f, 0.011504f, 0.012986f, 0.004302f, 0.023053f, -0.014213f, -0.006006f, 0.004439f, -0.011585f, 0.003874f, 0.006408f, 0.011610f, 0.001420f, 0.019282f, 0.003968f, 0.004329f, 0.013463f, -0.006627f, -0.011971f, -0.000401f, -0.018249f, -0.012141f, -0.021048f, -0.001542f, -0.001273f, -0.027998f, 0.009495f, -0.013110f, 0.005211f, -0.026562f, 0.002681f, -0.020341f, 0.028670f, 0.000575f, -0.026411f, 0.030185f, 0.037634f, 0.009689f, -0.013316f, -0.010575f, 0.009331f, -0.004531f, -0.001851f, 0.009918f, -0.018818f, 0.010319f, -0.019404f, 0.008095f, -0.008015f, -0.013109f, 0.004237f, 0.012801f, 0.002682f, + 0.011772f, -0.006331f, 0.018792f, -0.014410f, -0.014744f, -0.036344f, -0.008884f, -0.018483f, -0.045866f, 0.012101f, -0.026708f, -0.015075f, -0.021647f, 0.006549f, -0.041354f, 0.011687f, 0.002714f, -0.007023f, -0.001513f, -0.010904f, -0.004738f, 0.010596f, -0.014474f, -0.009057f, -0.000050f, 0.008301f, -0.012721f, -0.000073f, 0.013358f, -0.021472f, -0.005740f, 0.013945f, -0.012971f, 0.000156f, -0.000439f, -0.002605f, 0.018347f, -0.015576f, 0.010680f, -0.006552f, 0.014833f, 0.017200f, -0.017033f, -0.021032f, 0.020092f, -0.001203f, 0.003968f, 0.006438f, 0.001333f, -0.003660f, 0.011093f, -0.005199f, -0.026005f, 0.007772f, 0.004672f, -0.020929f, -0.002990f, -0.006719f, 0.012743f, 0.017376f, 0.007465f, 0.003989f, -0.006898f, -0.014371f, 0.015502f, 0.011308f, 0.013800f, 0.000482f, -0.023168f, -0.003688f, -0.003934f, -0.008041f, -0.005946f, -0.000224f, -0.010374f, 0.054306f, 0.032586f, 0.001381f, -0.016671f, -0.042415f, -0.004257f, 0.018684f, -0.008287f, -0.017531f, -0.030399f, -0.002495f, -0.005867f, 0.000360f, -0.009826f, 0.009394f, 0.000742f, 0.026604f, 0.011728f, -0.012065f, 0.000148f, -0.005525f, + 0.003040f, -0.006263f, 0.006636f, 0.016307f, -0.018803f, 0.003247f, -0.010905f, 0.007311f, -0.007446f, -0.014994f, -0.027155f, -0.002801f, 0.017275f, 0.004924f, -0.002392f, 0.005496f, -0.000930f, 0.014979f, 0.025584f, -0.008920f, -0.004335f, -0.028632f, -0.029377f, 0.008130f, 0.005837f, -0.013256f, -0.009874f, -0.025701f, -0.016121f, 0.009872f, -0.001889f, -0.000105f, 0.002752f, -0.002058f, 0.013133f, 0.006640f, -0.019386f, 0.000957f, -0.017471f, -0.001470f, -0.008616f, -0.005599f, 0.022025f, 0.042304f, 0.070678f, 0.003348f, 0.024065f, -0.019672f, -0.024441f, -0.035536f, 0.000188f, 0.002476f, 0.009929f, 0.012645f, -0.001266f, 0.000722f, 0.019831f, 0.033865f, -0.016910f, 0.000356f, 0.006141f, -0.027089f, -0.000059f, -0.017393f, -0.017445f, 0.026067f, -0.007908f, -0.006204f, -0.014181f, 0.029882f, 0.025709f, 0.000249f, 0.042442f, 0.005059f, 0.013034f, 0.009651f, -0.012244f, -0.013737f, -0.022581f, -0.011504f, 0.004894f, 0.000416f, 0.018845f, 0.001689f, -0.002408f, -0.003307f, 0.013228f, -0.019403f, -0.048141f, -0.016614f, 0.013802f, 0.004563f, -0.004230f, -0.014128f, 0.000556f, -0.022909f, + -0.003744f, -0.020882f, -0.001726f, -0.002565f, -0.015040f, 0.014196f, 0.006780f, 0.026905f, -0.022456f, 0.041643f, 0.010966f, -0.008165f, -0.014945f, -0.007672f, 0.006392f, 0.023889f, -0.007538f, 0.013551f, -0.021340f, 0.016895f, -0.019339f, -0.022053f, 0.021416f, -0.031490f, 0.020445f, 0.016522f, 0.033242f, -0.034364f, 0.025950f, -0.004157f, 0.023468f, 0.007603f, -0.034106f, -0.007955f, -0.005683f, 0.007777f, 0.002638f, -0.023500f, -0.030956f, -0.064139f, -0.019378f, -0.037763f, 0.010698f, -0.001954f, -0.012540f, -0.018829f, -0.017444f, -0.016239f, -0.017077f, -0.017228f, 0.002033f, -0.014098f, -0.002234f, -0.030344f, -0.045887f, 0.056267f, -0.017348f, 0.030356f, -0.005577f, 0.007620f, 0.010053f, 0.016217f, 0.011196f, -0.003195f, -0.000613f, -0.024735f, -0.005192f, -0.006144f, -0.016072f, -0.025951f, 0.010365f, -0.003254f, 0.036577f, -0.025441f, 0.001075f, 0.049665f, -0.011630f, -0.042021f, -0.012952f, 0.001207f, -0.018353f, 0.028825f, 0.014006f, -0.016586f, 0.012473f, 0.015208f, -0.009061f, -0.000888f, 0.008611f, 0.018978f, 0.000038f, -0.019948f, -0.018141f, 0.022728f, 0.017704f, -0.013099f, + -0.025663f, 0.016188f, 0.020917f, -0.018574f, -0.022694f, 0.015756f, -0.028944f, 0.057077f, 0.014336f, -0.006272f, 0.004473f, 0.012400f, 0.005710f, -0.012778f, 0.003937f, 0.000235f, 0.024038f, 0.015288f, -0.023991f, -0.000099f, 0.008908f, 0.006644f, -0.015794f, 0.037738f, 0.026703f, 0.054382f, 0.030071f, 0.020023f, 0.007742f, -0.048198f, -0.004164f, 0.006090f, -0.028458f, -0.007980f, 0.053745f, 0.003629f, -0.031746f, -0.031499f, 0.027571f, -0.043239f, -0.011564f, 0.001194f, 0.010849f, 0.004163f, -0.008753f, 0.013046f, -0.019929f, -0.000884f, -0.004644f, -0.013037f, -0.003486f, -0.009418f, -0.028711f, 0.013616f, -0.025072f, 0.013025f, 0.011579f, 0.015270f, 0.001879f, 0.009637f, -0.011273f, 0.043628f, 0.004760f, -0.049233f, -0.043378f, 0.002304f, 0.017389f, 0.034912f, -0.013627f, -0.030474f, -0.014397f, -0.005701f, 0.002334f, 0.019436f, 0.002758f, -0.019138f, 0.047437f, -0.063036f, -0.012285f, 0.008911f, -0.044536f, -0.024669f, -0.013588f, 0.003151f, -0.071013f, -0.035806f, 0.046212f, -0.022403f, 0.011487f, -0.020291f, -0.057855f, -0.025966f, 0.024960f, -0.013378f, 0.006041f, 0.030796f, + -0.014947f, -0.085209f, -0.025909f, 0.007947f, 0.021514f, 0.027113f, 0.018725f, 0.025041f, 0.036535f, 0.074443f, -0.044091f, 0.032923f, -0.013545f, 0.001696f, -0.013706f, -0.055684f, -0.047057f, -0.005349f, -0.005863f, 0.015601f, 0.019784f, 0.033119f, -0.012707f, 0.002028f, -0.018753f, 0.003171f, -0.006046f, 0.002764f, 0.027761f, 0.019699f, 0.007049f, 0.026992f, 0.024937f, -0.046440f, 0.021222f, -0.025637f, -0.039964f, -0.007598f, 0.020188f, 0.010060f, -0.028162f, 0.011476f, -0.000504f, 0.021048f, -0.005228f, -0.044739f, -0.038113f, -0.036437f, -0.043421f, 0.008816f, 0.029238f, -0.002466f, 0.115586f, -0.074222f, -0.062666f, 0.039893f, -0.014441f, -0.019834f, -0.012087f, -0.002239f, -0.002823f, -0.068572f, 0.003451f, -0.000572f, 0.005626f, 0.061020f, -0.008526f, 0.025102f, 0.016716f, 0.032744f, 0.086571f, -0.027378f, 0.110169f, 0.039542f, -0.011608f, 0.018269f, -0.052259f, 0.018897f, 0.084019f, 0.002230f, 0.087669f, 0.046033f, -0.005238f, -0.034022f, 0.098852f, 0.014629f, -0.016596f, 0.012572f, -0.022481f, -0.006852f, -0.003373f, -0.006304f, 0.012474f, 0.027330f, 0.019201f, 0.003381f, + 0.012666f, -0.020112f, -0.019201f, 0.005704f, -0.005873f, 0.032175f, 0.035206f, 0.022097f, -0.009074f, 0.001879f, -0.042840f, -0.027242f, -0.007960f, -0.029782f, -0.046318f, -0.027997f, 0.022086f, -0.027343f, -0.081662f, -0.038246f, 0.025013f, -0.033503f, -0.023210f, 0.000647f, -0.005893f, 0.037883f, 0.056675f, 0.073681f, -0.039131f, 0.020488f, -0.000298f, 0.001769f, -0.015647f, -0.049842f, -0.097607f, -0.065315f, 0.034553f, -0.066232f, -0.033646f, 0.016952f, 0.034047f, -0.025191f, 0.038489f, 0.106448f, 0.023889f, 0.019698f, -0.079677f, -0.110179f, -0.021603f, -0.035232f, -0.055564f, -0.017973f, -0.045142f, 0.033340f, 0.024597f, 0.096446f, 0.048179f, -0.021835f, 0.045442f, 0.088623f, -0.046928f, 0.067052f, 0.054772f, -0.009419f, -0.013369f, -0.030948f, 0.009789f, 0.059892f, 0.045416f, 0.070394f, -0.030219f, -0.014477f, -0.013803f, -0.004818f, -0.018355f, 0.018183f, -0.022643f, 0.051747f, 0.022940f, -0.085809f, -0.036056f, 0.000524f, 0.013791f, 0.036794f, -0.016644f, -0.032421f, 0.010682f, 0.010110f, -0.012598f, -0.015876f, 0.010839f, -0.024122f, -0.035955f, -0.016618f, 0.082011f, 0.033780f, + 0.015147f, -0.040401f, -0.011632f, -0.034091f, 0.021988f, 0.039842f, 0.014975f, 0.003472f, 0.025038f, -0.012683f, 0.053517f, 0.030397f, 0.005276f, 0.018448f, 0.000491f, 0.103493f, 0.023612f, -0.041627f, 0.019329f, 0.019645f, 0.013105f, 0.025387f, 0.004528f, -0.038799f, 0.052568f, 0.013839f, 0.012163f, 0.022737f, 0.013016f, 0.003944f, -0.026008f, 0.039820f, 0.044890f, 0.026234f, 0.120180f, 0.088177f, -0.038589f, -0.081065f, -0.001742f, -0.019362f, -0.101471f, -0.016436f, 0.028344f, 0.026261f, -0.021503f, 0.033480f, 0.013491f, -0.018012f, -0.036857f, 0.005318f, -0.007546f, -0.061321f, -0.016664f, -0.024070f, 0.005948f, -0.083319f, -0.060791f, -0.014336f, 0.040685f, -0.009056f, -0.010678f, -0.052094f, 0.002280f, 0.037337f, 0.003204f, -0.032705f, -0.015357f, -0.010320f, -0.015104f, 0.006020f, 0.014755f, -0.045161f, -0.044551f, 0.002676f, -0.000647f, 0.005288f, 0.075986f, -0.050553f, -0.003942f, -0.007615f, -0.072427f, -0.026892f, -0.052825f, -0.013321f, -0.003794f, 0.046799f, 0.059079f, 0.066368f, 0.021151f, 0.006885f, -0.026493f, -0.067905f, 0.003171f, 0.020009f, -0.021068f, 0.082313f, + 0.205977f, 0.191625f, 0.029470f, -0.131848f, -0.115145f, -0.051130f, -0.072077f, 0.236221f, 0.150529f, 0.088348f, 0.123201f, -0.007526f, -0.063668f, -0.177749f, -0.109209f, -0.047976f, -0.008173f, 0.064023f, 0.136186f, 0.047837f, -0.046757f, 0.054615f, 0.018138f, -0.000005f, -0.090843f, -0.038312f, 0.091693f, -0.064129f, 0.029841f, -0.006968f, -0.013088f, 0.019181f, 0.015953f, 0.038289f, 0.078080f, -0.049585f, -0.050424f, 0.007312f, -0.028416f, 0.037515f, -0.053101f, -0.038747f, -0.031485f, -0.003496f, -0.004350f, -0.042212f, 0.021169f, 0.060464f, -0.048245f, -0.067896f, -0.038507f, -0.022299f, -0.007481f, 0.083445f, 0.010946f, -0.011566f, -0.085414f, -0.032393f, 0.013635f, 0.068101f, 0.038619f, -0.023183f, -0.125722f, -0.103214f, 0.093453f, 0.086717f, 0.098150f, -0.053042f, -0.213354f, -0.053380f, 0.102077f, 0.070844f, 0.016484f, -0.036320f, 0.017674f, -0.099472f, -0.048799f, 0.017763f, -0.022505f, 0.014391f, -0.012994f, -0.009493f, 0.095034f, -0.082388f, -0.033653f, 0.061783f, 0.062167f, 0.099637f, 0.050254f, -0.171113f, 0.048655f, 0.147629f, 0.034807f, 0.063298f, 0.017245f, -0.066656f, + -0.110330f, 0.014028f, 0.017631f, 0.012095f, 0.105239f, 0.019762f, -0.009833f, -0.066617f, -0.013488f, -0.005028f, -0.017820f, 0.000992f, -0.014745f, 0.029036f, 0.010968f, -0.018517f, -0.005263f, 0.044101f, -0.001675f, -0.000822f, 0.002713f, -0.009102f, -0.020038f, 0.025355f, 0.019302f, 0.017473f, -0.028349f, 0.015397f, 0.038003f, 0.016978f, -0.004027f, 0.026985f, -0.006391f, -0.029149f, 0.006351f, 0.008944f, -0.026184f, -0.025477f, 0.024907f, 0.026948f, -0.027114f, 0.017379f, 0.014236f, 0.000719f, -0.010797f, 0.001043f, 0.018739f, -0.000364f, -0.023912f, 0.012367f, 0.012460f, -0.041360f, 0.009514f, 0.031317f, 0.009049f, -0.027033f, 0.003299f, 0.019205f, -0.036042f, 0.009337f, 0.015956f, 0.006454f, -0.009488f, -0.034490f, 0.039593f, -0.044135f, -0.003340f, 0.039391f, 0.001709f, -0.009689f, 0.002814f, -0.042387f, 0.020437f, -0.005885f, 0.027986f, 0.032506f, 0.100005f, 0.009122f, -0.012523f, -0.033201f, -0.022555f, 0.012117f, -0.015188f, 0.013322f, -0.020170f, -0.001182f, 0.015699f, -0.008564f, 0.007299f, 0.007768f, -0.027960f, 0.008148f, -0.009238f, -0.005567f, -0.023026f, 0.006976f, + -0.006577f, -0.013924f, -0.006803f, 0.011626f, -0.010044f, -0.009334f, 0.014124f, -0.015115f, 0.007958f, 0.014062f, -0.027829f, 0.028101f, -0.006898f, -0.032116f, 0.017473f, 0.017982f, -0.015178f, 0.006018f, 0.010051f, -0.013118f, -0.012242f, 0.000835f, 0.002035f, 0.009704f, -0.004294f, -0.000887f, -0.013547f, 0.013474f, -0.010532f, -0.002642f, 0.016171f, -0.018295f, 0.005857f, -0.002575f, 0.000408f, -0.008094f, -0.011982f, -0.004075f, 0.021991f, -0.013756f, -0.005180f, 0.004525f, 0.005052f, 0.001702f, -0.012587f, 0.011090f, -0.005355f, -0.010090f, 0.000194f, -0.019407f, 0.030766f, -0.011942f, 0.006623f, 0.008358f, -0.005744f, 0.012889f, -0.048665f, -0.082582f, 0.038373f, 0.279689f, 0.044216f, 0.139109f, -0.031778f, -0.143994f, -0.050713f, -0.140372f, -0.090445f, -0.030352f, -0.014151f, 0.005333f, 0.083782f, 0.098044f, 0.139063f, 0.135666f, 0.044651f, -0.055469f, -0.086527f, -0.162135f, -0.122078f, -0.066142f, -0.024141f, -0.017792f, 0.050739f, 0.081972f, 0.065470f, 0.086429f, 0.086159f, 0.029979f, 0.028640f, 0.009013f, -0.061229f, -0.024544f, -0.052510f, -0.094104f, -0.055004f, -0.055584f, + -0.079333f, -0.018563f, 0.038546f, 0.027062f, 0.082943f, 0.105918f, 0.056886f, 0.070032f, 0.054799f, -0.009105f, -0.001407f, -0.006607f, -0.056857f, -0.072753f, -0.062561f, -0.097203f, -0.080545f, -0.030441f, -0.003934f, 0.009875f, 0.067141f, 0.059329f, 0.059629f, 0.072372f, 0.056107f, 0.017264f, 0.035718f, 0.017426f, -0.020830f, -0.011971f, -0.039085f, -0.085397f, -0.049463f, -0.048476f, -0.064310f, -0.030475f, -0.014830f, -0.016616f, 0.022768f, 0.001400f}, + {0.001115f, 0.000622f, 0.004827f, 0.003952f, -0.004374f, -0.003021f, -0.000939f, 0.005945f, -0.006081f, -0.000380f, -0.003280f, -0.007662f, 0.003876f, -0.001496f, -0.007322f, -0.003116f, 0.007149f, -0.010052f, -0.002979f, 0.009242f, -0.002812f, -0.011497f, 0.007898f, -0.001025f, -0.004083f, 0.002477f, -0.003222f, 0.005750f, -0.003379f, 0.002612f, -0.006697f, 0.005926f, -0.000859f, -0.006490f, -0.000673f, -0.003050f, 0.003597f, 0.002987f, -0.001465f, 0.000436f, 0.000909f, 0.012689f, 0.005857f, -0.001653f, 0.006430f, -0.003161f, 0.005187f, 0.000842f, -0.002223f, -0.001520f, -0.008103f, 0.002208f, -0.003095f, -0.006297f, 0.005703f, 0.000960f, 0.003172f, 0.001356f, 0.003935f, -0.002317f, -0.003552f, -0.000007f, 0.000729f, 0.002315f, -0.001962f, 0.004021f, 0.000390f, 0.000645f, -0.000373f, -0.004999f, -0.000519f, 0.001868f, 0.003626f, 0.000944f, 0.002000f, 0.006068f, -0.002091f, 0.011460f, -0.006422f, 0.001893f, -0.009562f, 0.002658f, 0.001121f, 0.014622f, -0.008731f, 0.000004f, -0.004572f, 0.007318f, 0.007542f, -0.004804f, -0.000863f, -0.004129f, -0.002309f, -0.004822f, -0.005931f, 0.004399f, + 0.001495f, -0.003925f, 0.008231f, 0.007436f, 0.012781f, -0.000384f, 0.004876f, 0.002526f, -0.000155f, -0.011500f, 0.003050f, 0.004790f, -0.004479f, 0.002881f, -0.003285f, -0.003890f, -0.006249f, 0.003289f, 0.008186f, 0.000857f, 0.009542f, -0.003846f, -0.000744f, 0.009586f, 0.005065f, 0.000806f, -0.000055f, 0.009117f, 0.013699f, -0.010095f, 0.002331f, -0.003449f, -0.001517f, -0.015725f, -0.005553f, 0.006451f, -0.004861f, 0.004502f, 0.002075f, -0.002228f, -0.003811f, 0.002339f, -0.001313f, 0.005044f, 0.002642f, 0.002433f, 0.002452f, -0.008032f, 0.000180f, -0.003744f, 0.004815f, 0.008605f, 0.005470f, -0.000874f, 0.008322f, 0.000506f, 0.002004f, 0.000350f, 0.001337f, -0.001776f, 0.006661f, -0.008201f, -0.008954f, 0.000519f, -0.011995f, 0.002358f, -0.003899f, 0.005933f, -0.003345f, -0.009179f, 0.000886f, 0.009383f, -0.001584f, 0.000514f, 0.012612f, 0.016279f, -0.007120f, -0.007176f, -0.002280f, -0.011748f, 0.004924f, 0.001300f, 0.002795f, -0.003992f, 0.006194f, -0.008114f, -0.001707f, 0.005922f, -0.004880f, -0.001487f, 0.000678f, 0.010587f, 0.000466f, 0.007728f, -0.010086f, 0.009943f, + -0.001269f, 0.001643f, 0.006067f, -0.005178f, 0.005019f, -0.002212f, -0.002742f, 0.004773f, 0.005717f, -0.000747f, 0.003155f, -0.012837f, 0.007658f, 0.007968f, -0.014175f, -0.011945f, -0.003755f, -0.009850f, -0.003165f, 0.004169f, 0.002175f, 0.004004f, -0.000167f, -0.003058f, 0.008130f, -0.002529f, -0.000154f, -0.003068f, 0.001484f, -0.004810f, 0.006661f, 0.002170f, -0.006325f, -0.002719f, -0.003116f, -0.002806f, -0.004065f, 0.007769f, 0.020882f, 0.003719f, -0.007440f, 0.009339f, 0.001409f, -0.006761f, 0.019053f, -0.012937f, -0.017982f, -0.010919f, -0.010852f, -0.004003f, 0.005506f, 0.006309f, -0.006147f, 0.009202f, -0.011845f, -0.006864f, -0.001348f, 0.003604f, 0.003069f, -0.004019f, -0.004626f, 0.010270f, 0.002113f, -0.001136f, -0.005930f, 0.007533f, -0.005787f, -0.001792f, 0.000009f, -0.001138f, -0.000828f, 0.002616f, 0.001651f, -0.002145f, 0.006627f, -0.003658f, 0.004020f, -0.000832f, -0.010887f, -0.004823f, -0.004390f, 0.010936f, -0.006465f, -0.008391f, -0.014167f, -0.017098f, -0.003109f, 0.000162f, -0.006686f, 0.011778f, 0.001554f, 0.005966f, -0.005189f, 0.010030f, 0.004448f, -0.007082f, + 0.017249f, -0.008755f, -0.008629f, 0.000441f, 0.010717f, 0.015048f, 0.011119f, 0.002727f, -0.005811f, -0.013705f, 0.004775f, -0.001350f, 0.012166f, 0.003678f, -0.003803f, -0.001918f, 0.006094f, 0.003262f, -0.002184f, -0.018822f, 0.002312f, -0.006385f, 0.003779f, 0.002020f, 0.013283f, -0.017389f, -0.011111f, -0.012586f, 0.006317f, 0.006595f, 0.007728f, -0.008801f, 0.002437f, -0.002148f, 0.000368f, -0.014109f, -0.013447f, -0.008597f, -0.010022f, 0.015547f, -0.006892f, -0.001170f, -0.001172f, 0.005693f, -0.003295f, -0.015095f, 0.005679f, -0.005658f, -0.003007f, 0.007834f, 0.004479f, 0.008893f, -0.000459f, 0.005001f, -0.012016f, -0.004019f, 0.008817f, 0.016890f, 0.008541f, -0.000217f, -0.013605f, 0.009395f, -0.005157f, -0.010348f, 0.013767f, 0.004868f, 0.003942f, -0.008771f, -0.006584f, 0.005510f, -0.004649f, -0.004755f, 0.006556f, -0.005879f, 0.001368f, 0.000686f, -0.011835f, -0.001954f, -0.008385f, 0.011135f, 0.003983f, -0.001366f, 0.000184f, -0.004940f, 0.004674f, 0.001089f, -0.002136f, 0.001826f, -0.014601f, -0.006714f, 0.004602f, 0.002991f, -0.004864f, -0.002213f, -0.011903f, -0.029543f, + 0.009892f, 0.001491f, 0.007404f, 0.007962f, -0.005683f, -0.020844f, 0.016186f, 0.006887f, 0.015944f, -0.002838f, 0.008524f, -0.000069f, -0.005549f, -0.000274f, -0.014591f, 0.018196f, 0.004304f, 0.001876f, -0.009096f, -0.005149f, -0.006081f, 0.005610f, -0.008058f, 0.014071f, 0.000853f, 0.005032f, 0.007965f, 0.004560f, -0.000611f, 0.004799f, 0.004559f, -0.002864f, 0.003899f, -0.014973f, 0.004323f, 0.007448f, 0.007514f, 0.014285f, 0.005152f, -0.008699f, 0.004996f, -0.004080f, 0.009781f, 0.002437f, 0.007240f, 0.011180f, 0.002147f, -0.001574f, 0.008680f, -0.004878f, -0.008492f, -0.002450f, 0.006224f, 0.015502f, -0.002958f, 0.001939f, 0.000774f, 0.002860f, 0.003393f, 0.007329f, 0.002623f, -0.002479f, -0.000120f, -0.003668f, 0.004333f, 0.002885f, -0.008641f, -0.006236f, 0.003833f, 0.007292f, 0.005705f, 0.011683f, -0.013619f, -0.004516f, -0.010094f, 0.015847f, 0.008122f, 0.029156f, 0.016762f, 0.013438f, 0.021641f, 0.004864f, 0.004686f, -0.013472f, 0.000495f, -0.024507f, -0.003349f, 0.008312f, 0.007518f, 0.003501f, 0.006465f, 0.005834f, -0.004138f, -0.004162f, 0.014629f, 0.011607f, + 0.011569f, -0.001454f, 0.002534f, -0.017605f, -0.013616f, -0.006188f, 0.011842f, 0.002868f, -0.001101f, 0.005241f, -0.008729f, 0.000359f, -0.003917f, 0.011254f, 0.010489f, 0.020204f, -0.000819f, 0.007300f, 0.007793f, -0.003850f, -0.009576f, 0.019025f, -0.010010f, -0.003054f, 0.010217f, -0.000037f, 0.006443f, 0.013629f, -0.003034f, 0.004823f, -0.012101f, -0.029497f, -0.014577f, -0.010041f, -0.002294f, 0.000980f, 0.000513f, -0.007847f, -0.013895f, -0.003582f, -0.009409f, 0.003150f, 0.001646f, 0.001117f, -0.015628f, -0.008264f, 0.013556f, 0.003752f, 0.001581f, -0.019693f, -0.015239f, 0.010456f, 0.004588f, 0.006450f, -0.009905f, -0.000451f, -0.002153f, -0.014663f, 0.010977f, -0.006241f, -0.001059f, -0.038970f, -0.009819f, -0.014087f, -0.010147f, 0.002111f, 0.012539f, -0.002089f, 0.016741f, 0.009634f, -0.001508f, -0.016471f, -0.007515f, 0.025769f, 0.003743f, -0.014619f, -0.011531f, -0.004491f, 0.011371f, -0.008734f, -0.000327f, 0.008645f, 0.012424f, 0.015037f, -0.016401f, 0.011221f, 0.001003f, 0.003524f, 0.004113f, 0.006376f, 0.004694f, 0.015058f, -0.000024f, 0.004898f, -0.013193f, 0.018335f, + -0.009383f, -0.003752f, 0.002611f, -0.014386f, 0.017972f, -0.002467f, -0.036234f, -0.011431f, -0.029148f, 0.002176f, -0.000750f, -0.008302f, 0.038747f, -0.006447f, -0.019625f, -0.006195f, -0.005016f, 0.018291f, -0.002690f, 0.008879f, 0.010328f, -0.007044f, 0.013248f, 0.018740f, -0.009509f, 0.007232f, -0.016496f, 0.008138f, -0.005882f, -0.004630f, 0.019096f, -0.007092f, -0.001586f, -0.008864f, 0.000976f, -0.000856f, 0.018118f, -0.025218f, 0.005191f, 0.004975f, -0.007736f, 0.003228f, 0.019096f, 0.020116f, 0.007733f, 0.007125f, 0.009893f, -0.015765f, -0.002472f, -0.016816f, -0.000084f, 0.010599f, 0.007046f, -0.003595f, -0.012931f, -0.004351f, 0.009254f, -0.017392f, 0.000921f, -0.001286f, 0.008349f, 0.016469f, 0.001930f, -0.008933f, -0.006394f, 0.017639f, -0.010947f, -0.005504f, 0.010596f, -0.006344f, -0.020434f, -0.007580f, 0.005227f, 0.003522f, -0.007852f, 0.001945f, 0.011404f, 0.007497f, 0.011045f, -0.001247f, 0.008494f, 0.014995f, -0.006005f, 0.007453f, 0.007106f, -0.010308f, 0.022963f, -0.021469f, 0.013494f, 0.005541f, -0.028990f, 0.028375f, -0.017610f, 0.003898f, -0.002416f, 0.022529f, + -0.008713f, -0.016388f, -0.002424f, -0.000225f, 0.005209f, 0.016969f, -0.013661f, -0.001400f, 0.002363f, 0.000098f, -0.001211f, 0.003866f, -0.010379f, -0.003689f, -0.006469f, -0.019082f, -0.013662f, -0.019465f, 0.015359f, -0.045219f, 0.024609f, -0.017651f, -0.012921f, -0.021778f, 0.002081f, -0.002069f, 0.003528f, 0.016615f, -0.013795f, -0.004485f, 0.012379f, 0.012333f, -0.004151f, 0.005262f, -0.006465f, -0.020188f, -0.002288f, 0.006081f, -0.011005f, 0.017746f, 0.002614f, -0.001102f, -0.010253f, -0.008980f, 0.002124f, 0.026997f, 0.000943f, -0.002680f, 0.007020f, -0.021502f, -0.003969f, 0.009290f, -0.015297f, 0.022994f, 0.013919f, 0.000361f, -0.006640f, -0.006143f, -0.008319f, -0.013733f, -0.018324f, 0.016850f, 0.001401f, 0.028984f, 0.002831f, -0.000027f, -0.012021f, 0.003768f, -0.004379f, 0.007745f, 0.000201f, -0.015803f, -0.012924f, -0.016053f, -0.029078f, -0.002377f, 0.027322f, -0.023315f, -0.000424f, -0.024384f, 0.005534f, 0.009585f, 0.007688f, 0.021154f, -0.000235f, -0.024611f, 0.021676f, 0.000908f, -0.010441f, -0.007780f, -0.020030f, -0.004271f, -0.013129f, 0.014373f, 0.020228f, -0.007767f, + 0.018049f, -0.017629f, -0.008472f, 0.011377f, 0.004402f, -0.023592f, 0.002062f, 0.029373f, -0.033924f, 0.001466f, 0.016681f, 0.038200f, -0.016011f, -0.010428f, -0.003686f, 0.029455f, 0.030032f, -0.031719f, -0.000911f, -0.024495f, -0.010912f, 0.015034f, 0.016223f, 0.019979f, 0.012196f, -0.004626f, 0.014966f, -0.018401f, -0.009105f, -0.002336f, -0.002231f, -0.026382f, 0.002794f, -0.001128f, 0.034683f, -0.005820f, 0.017337f, 0.003539f, 0.010466f, 0.022365f, -0.013390f, -0.006701f, -0.033312f, 0.022742f, -0.029319f, -0.005806f, 0.007261f, -0.004538f, -0.016778f, -0.004829f, 0.005276f, -0.012738f, 0.003727f, -0.002508f, -0.002246f, -0.038460f, -0.026541f, 0.001364f, -0.019167f, -0.027169f, 0.005221f, -0.025171f, 0.008140f, 0.015472f, -0.014178f, 0.026937f, 0.006082f, 0.017013f, 0.019304f, 0.004105f, -0.013608f, -0.017607f, -0.019998f, 0.009466f, -0.019091f, 0.048124f, 0.019029f, 0.008989f, 0.023649f, -0.008522f, 0.004421f, -0.024346f, -0.033095f, 0.021249f, 0.040961f, 0.013250f, -0.000880f, -0.040290f, 0.048996f, 0.008073f, 0.005442f, 0.008040f, 0.001171f, 0.009917f, 0.002167f, -0.006158f, + -0.000973f, 0.013528f, -0.008367f, 0.016774f, 0.002362f, -0.011373f, -0.017888f, -0.003632f, 0.015063f, -0.003208f, 0.004462f, -0.005978f, -0.006992f, 0.001441f, 0.043887f, 0.008427f, 0.005757f, 0.007282f, 0.003063f, 0.028022f, -0.010663f, 0.009046f, -0.017983f, 0.033242f, 0.043602f, 0.013033f, -0.003304f, -0.014239f, 0.045562f, 0.023390f, -0.000104f, -0.016231f, 0.005968f, -0.008969f, -0.002494f, -0.018684f, -0.008586f, -0.011731f, -0.019748f, 0.032611f, -0.010064f, 0.024730f, 0.003770f, -0.015106f, -0.001228f, -0.034902f, 0.034671f, 0.000220f, -0.018001f, -0.010288f, -0.022544f, -0.023530f, -0.014963f, 0.044821f, -0.010687f, -0.004507f, 0.011201f, 0.014430f, -0.010954f, -0.010727f, 0.043551f, 0.043569f, 0.052823f, 0.032439f, 0.009987f, -0.013318f, -0.014755f, 0.008218f, 0.014823f, 0.019173f, -0.029108f, -0.000686f, -0.004147f, 0.014354f, 0.010438f, -0.019616f, -0.025132f, -0.000054f, -0.010089f, 0.023153f, 0.026316f, -0.000050f, 0.013469f, 0.004674f, 0.004754f, 0.031340f, -0.020282f, -0.025639f, 0.018971f, -0.033571f, 0.001715f, -0.010545f, 0.017189f, 0.009079f, -0.000939f, 0.021163f, + 0.018427f, -0.018398f, 0.020993f, -0.000537f, -0.011055f, 0.004746f, 0.022786f, -0.010030f, 0.008784f, 0.017340f, 0.006455f, -0.039663f, -0.024283f, 0.002954f, 0.000150f, -0.027413f, -0.020079f, 0.007685f, 0.010434f, 0.009463f, -0.038305f, -0.026540f, -0.027520f, -0.003556f, 0.012959f, 0.020976f, -0.060105f, -0.044122f, 0.003805f, 0.006348f, 0.029451f, 0.008687f, 0.007913f, 0.020293f, -0.008005f, -0.010751f, -0.014434f, -0.017783f, -0.037280f, -0.034360f, -0.030009f, 0.012208f, -0.004687f, 0.017402f, -0.032970f, -0.004271f, 0.000571f, -0.011343f, -0.015907f, 0.027068f, -0.010882f, 0.006307f, -0.001289f, 0.002853f, -0.027000f, -0.008562f, -0.023203f, 0.004029f, 0.002095f, 0.006871f, 0.060910f, -0.022979f, 0.016231f, 0.027081f, -0.014000f, -0.011353f, -0.019471f, -0.002669f, 0.028077f, -0.028313f, 0.019406f, -0.000799f, -0.005626f, 0.003849f, 0.002262f, 0.016972f, 0.001113f, -0.030050f, 0.023252f, -0.018260f, -0.045405f, -0.035065f, -0.018724f, 0.061887f, 0.050965f, -0.026727f, -0.008502f, -0.037133f, -0.032440f, -0.011354f, 0.037163f, 0.002311f, 0.025624f, 0.014884f, -0.017745f, 0.021119f, + -0.013408f, -0.038511f, -0.003211f, -0.022714f, -0.004554f, -0.011391f, 0.079584f, 0.002413f, -0.064250f, 0.053098f, -0.019020f, -0.012576f, 0.054500f, 0.054942f, 0.004847f, -0.020050f, 0.020340f, 0.009209f, -0.030906f, -0.020067f, 0.010034f, 0.006898f, 0.017557f, 0.053195f, 0.009733f, -0.001959f, 0.013029f, 0.002207f, -0.021923f, -0.014357f, 0.012466f, 0.002123f, 0.044305f, 0.009701f, -0.002340f, 0.015192f, 0.023950f, 0.023175f, 0.026083f, 0.000650f, -0.017680f, -0.005773f, -0.040858f, -0.006397f, -0.046190f, 0.025122f, -0.027992f, -0.011822f, 0.000447f, 0.036774f, -0.021540f, 0.020027f, -0.015051f, 0.011727f, -0.018959f, 0.023024f, 0.036600f, 0.001409f, -0.007430f, -0.020673f, -0.027950f, 0.014599f, 0.018302f, 0.044838f, -0.006024f, 0.001000f, 0.020515f, 0.072413f, -0.017024f, 0.009582f, -0.011756f, -0.042691f, 0.029044f, -0.007593f, 0.020700f, -0.004401f, 0.005262f, -0.026792f, 0.068507f, -0.104725f, 0.075631f, -0.120110f, 0.050917f, -0.063556f, 0.019139f, -0.050986f, 0.017548f, 0.027322f, -0.006850f, 0.017918f, -0.010770f, 0.077755f, -0.049111f, 0.042392f, 0.025429f, 0.021640f, + 0.082119f, -0.056804f, 0.023503f, 0.015939f, -0.050201f, -0.000547f, -0.010268f, -0.013251f, -0.025995f, -0.000471f, 0.002488f, 0.033860f, 0.011866f, 0.018199f, 0.024364f, 0.021037f, 0.000398f, 0.028494f, -0.031981f, -0.003486f, 0.037861f, 0.005364f, -0.052615f, -0.010884f, -0.068742f, -0.011616f, 0.011750f, -0.011463f, -0.016142f, -0.001705f, 0.061102f, 0.016803f, 0.004580f, 0.008849f, 0.015249f, -0.003202f, -0.035184f, -0.009287f, -0.003924f, 0.008051f, -0.008098f, -0.014828f, 0.044377f, 0.025521f, -0.009113f, -0.000396f, -0.009450f, -0.038316f, -0.032815f, -0.022186f, -0.019866f, 0.046708f, 0.010924f, 0.018565f, -0.026819f, -0.024044f, 0.008589f, 0.020492f, 0.016966f, -0.005166f, -0.005154f, -0.027836f, -0.019979f, 0.029347f, 0.001264f, -0.070578f, 0.025866f, 0.043576f, 0.012656f, -0.028146f, -0.020231f, -0.011095f, 0.004197f, -0.015803f, 0.008349f, -0.025236f, -0.067620f, 0.059146f, 0.073443f, -0.007429f, 0.053626f, 0.001577f, 0.008856f, 0.022507f, -0.045912f, 0.016503f, 0.035423f, 0.033677f, 0.015195f, 0.010175f, -0.032868f, 0.024371f, 0.015487f, -0.020786f, 0.011894f, -0.004311f, + 0.041310f, 0.010931f, 0.011356f, 0.023696f, -0.008472f, -0.027497f, 0.009047f, 0.051343f, -0.017241f, -0.009907f, 0.047546f, -0.016877f, -0.019527f, -0.016653f, 0.017218f, 0.059957f, 0.084221f, -0.004743f, -0.052476f, 0.081868f, 0.029377f, -0.052954f, 0.062071f, 0.023978f, -0.013611f, -0.014688f, -0.021278f, -0.036740f, -0.000629f, 0.021004f, -0.030832f, -0.019856f, -0.066820f, -0.007743f, 0.041471f, -0.081109f, -0.043213f, 0.015127f, 0.015087f, 0.018692f, 0.052044f, 0.047196f, -0.071877f, 0.003736f, 0.004627f, -0.048472f, 0.016351f, 0.029155f, -0.025021f, -0.013831f, -0.021037f, 0.021680f, 0.058980f, 0.026770f, 0.029848f, -0.026885f, 0.013081f, -0.037840f, 0.043793f, 0.149514f, -0.048348f, 0.002397f, 0.010493f, 0.068155f, 0.058548f, -0.018293f, -0.026648f, -0.036245f, 0.000785f, 0.029623f, -0.001720f, -0.017874f, -0.020425f, 0.028098f, -0.015322f, -0.034674f, -0.032862f, -0.005125f, 0.053926f, 0.039682f, -0.043974f, 0.004373f, 0.000238f, -0.017417f, 0.020993f, 0.009498f, -0.015955f, -0.003527f, -0.012610f, -0.004189f, 0.069249f, -0.024259f, -0.046599f, -0.030652f, -0.026593f, 0.063359f, + 0.001443f, -0.012458f, 0.056496f, 0.040862f, 0.015327f, 0.030795f, 0.055644f, -0.031923f, 0.008524f, 0.056316f, 0.031698f, 0.043575f, -0.047064f, -0.011079f, -0.001687f, 0.022127f, 0.018829f, -0.042217f, 0.004425f, -0.056116f, -0.087855f, -0.002106f, -0.023039f, 0.043539f, 0.045782f, -0.009179f, -0.003286f, 0.012103f, -0.031689f, -0.082319f, 0.057733f, -0.038228f, 0.009137f, -0.012693f, -0.028694f, -0.013385f, -0.033301f, -0.062476f, 0.006966f, 0.003994f, -0.023237f, -0.006863f, -0.072889f, -0.041571f, -0.033934f, -0.085556f, 0.099197f, -0.001944f, 0.052330f, -0.011527f, 0.002766f, -0.059378f, -0.032512f, -0.030363f, 0.007146f, 0.047440f, -0.001886f, -0.048173f, -0.036208f, -0.069067f, -0.077348f, 0.067386f, 0.024921f, -0.059611f, -0.018398f, 0.030753f, 0.055862f, 0.008777f, -0.068439f, -0.040769f, 0.013992f, 0.020440f, 0.017526f, 0.041465f, -0.042361f, -0.039247f, -0.005790f, -0.012937f, 0.006121f, 0.013561f, -0.082281f, -0.013538f, -0.057262f, -0.035118f, -0.076532f, -0.027200f, 0.105822f, 0.020299f, 0.003705f, 0.028137f, 0.026474f, 0.010709f, 0.078625f, 0.064660f, -0.020282f, 0.023918f, + 0.105997f, -0.024652f, -0.024675f, -0.021943f, -0.078919f, 0.000595f, -0.043375f, -0.093971f, -0.103086f, -0.049466f, -0.053556f, 0.028900f, -0.040386f, 0.009039f, 0.020168f, -0.063285f, -0.025593f, 0.008622f, 0.004133f, 0.068056f, -0.045269f, 0.015480f, -0.051985f, -0.014251f, -0.056414f, 0.009622f, 0.063541f, 0.001226f, 0.038511f, -0.078431f, 0.069384f, 0.026822f, -0.016603f, 0.059575f, 0.006039f, 0.028798f, -0.024471f, -0.023600f, -0.002270f, 0.020552f, 0.011601f, -0.053435f, 0.050457f, -0.059484f, 0.006149f, 0.021066f, -0.022825f, 0.040622f, -0.040487f, -0.018533f, -0.005655f, -0.010176f, -0.021049f, -0.000492f, 0.007189f, -0.025044f, -0.035340f, -0.006983f, -0.007037f, -0.004172f, 0.019816f, 0.015661f, 0.007571f, -0.037003f, 0.010221f, 0.055159f, 0.066195f, -0.044561f, -0.025558f, 0.061929f, 0.077245f, -0.041993f, -0.029724f, 0.038258f, 0.013314f, -0.031807f, 0.030718f, -0.082088f, -0.017696f, 0.042180f, 0.070070f, 0.015850f, -0.043976f, -0.032319f, 0.010343f, 0.092127f, 0.006912f, 0.021190f, 0.001862f, 0.037617f, -0.006551f, 0.073944f, -0.002880f, -0.055283f, 0.038731f, -0.024243f, + -0.102741f, -0.032749f, 0.021201f, -0.039139f, 0.108006f, 0.073275f, 0.053559f, 0.023297f, 0.073921f, 0.046476f, 0.019875f, 0.030545f, -0.079866f, -0.115148f, -0.012279f, -0.002425f, -0.025495f, 0.011433f, -0.002091f, -0.032690f, -0.033382f, -0.033405f, 0.061115f, 0.046816f, -0.037079f, -0.008747f, -0.002377f, -0.013711f, -0.011091f, -0.024616f, -0.027276f, -0.046360f, -0.004914f, 0.071848f, -0.020884f, -0.045586f, -0.016767f, 0.067169f, -0.029827f, -0.036263f, 0.112914f, 0.035285f, 0.021737f, -0.030424f, -0.056946f, -0.045847f, -0.058837f, 0.012979f, 0.054576f, 0.134603f, -0.118356f, -0.055515f, 0.074703f, 0.094882f, 0.020570f, -0.009846f, 0.130226f, 0.056742f, -0.036729f, 0.036285f, -0.011308f, -0.003772f, -0.084599f, -0.048721f, -0.027451f, -0.148653f, -0.057887f, -0.028038f, 0.080739f, -0.047098f, -0.021216f, 0.052204f, -0.000925f, -0.014230f, 0.016637f, 0.032253f, 0.091246f, 0.034280f, -0.008237f, 0.024399f, -0.005231f, -0.007912f, -0.034415f, 0.016825f, 0.013440f, -0.026106f, -0.013583f, -0.096548f, -0.004534f, 0.040593f, -0.009968f, -0.039912f, 0.017143f, -0.008501f, 0.043111f, 0.009338f, + -0.021768f, 0.000272f, 0.046185f, -0.026017f, 0.006921f, 0.017525f, -0.014849f, 0.000221f, -0.025931f, 0.052307f, -0.003730f, 0.008347f, 0.000194f, 0.025640f, -0.011947f, -0.009035f, -0.016797f, 0.011036f, 0.018762f, -0.007779f, 0.022405f, -0.009232f, 0.013544f, -0.023451f, -0.019769f, 0.030240f, 0.037051f, -0.047896f, 0.001589f, 0.000966f, 0.003875f, 0.016319f, -0.031372f, 0.048068f, -0.042848f, 0.038958f, 0.004604f, -0.064629f, -0.004280f, 0.052630f, -0.067653f, 0.033358f, -0.000360f, 0.010213f, -0.016688f, -0.008277f, 0.013001f, -0.017418f, 0.068181f, -0.048391f, 0.007390f, -0.010800f, -0.005955f, 0.020355f, 0.001927f, -0.004477f, -0.049474f, -0.138682f, -0.198935f, 0.064844f, 0.172934f, 0.036192f, 0.482878f, 0.397085f, 0.266045f, 0.453505f, 0.232913f, -0.022017f, -0.063996f, -0.187727f, -0.425646f, -0.352885f, -0.344540f, -0.475602f, -0.355116f, -0.111527f, -0.086083f, -0.023649f, 0.149743f, 0.062910f, -0.034029f, 0.089022f, 0.155159f, 0.068118f, 0.063281f, 0.138331f, 0.074402f, 0.053085f, 0.121009f, 0.200872f, 0.070809f, 0.108175f, 0.184337f, 0.012519f, -0.010400f, 0.158082f, + 0.081827f, -0.096937f, 0.059835f, 0.084754f, -0.149181f, -0.066593f, 0.098146f, -0.060105f, -0.114022f, 0.132908f, 0.051352f, -0.144504f, 0.049301f, 0.077741f, -0.205916f, -0.197101f, -0.113441f, -0.439168f, -0.568954f, -0.378980f, -0.514518f, -0.668743f, -0.488333f, -0.501384f, -0.632477f, -0.519351f, -0.388719f, -0.419723f, -0.292059f, -0.080991f, 0.016320f, 0.152575f, 0.313738f, 0.408106f, 0.519923f, 0.569393f, 0.605801f, 0.477355f, 0.132426f, 0.006435f} + }, + { + {-0.013812f, -0.004739f, 0.001066f, -0.002851f, 0.000736f, 0.000244f, 0.007534f, -0.009808f, -0.005056f, -0.000901f, -0.004243f, -0.002640f, -0.007437f, 0.003630f, -0.007415f, -0.004358f, 0.001129f, 0.006013f, -0.007526f, 0.000036f, 0.000556f, -0.006042f, 0.002394f, 0.001135f, -0.002858f, 0.000562f, 0.003302f, 0.010859f, 0.002104f, 0.001420f, 0.004345f, 0.001814f, -0.000538f, 0.002236f, -0.002530f, 0.002325f, -0.009430f, -0.003408f, 0.002657f, -0.002102f, 0.010008f, -0.005262f, -0.003015f, -0.006340f, 0.002086f, 0.001896f, -0.001167f, 0.001637f, -0.001755f, -0.003058f, -0.005411f, -0.000612f, -0.000781f, 0.004443f, 0.006173f, 0.001689f, 0.004392f, 0.003213f, 0.000223f, 0.000781f, 0.000023f, -0.009515f, 0.001992f, -0.000093f, -0.005615f, 0.000400f, -0.005086f, 0.004639f, 0.004961f, -0.002676f, -0.004876f, -0.011462f, 0.003131f, 0.006387f, 0.005926f, -0.005542f, -0.000534f, 0.007509f, 0.018123f, 0.000265f, 0.000789f, -0.008678f, -0.006865f, 0.005175f, 0.003239f, 0.000433f, 0.007431f, -0.011177f, -0.003731f, 0.018013f, 0.001284f, 0.003478f, -0.004691f, -0.006134f, 0.008549f, 0.007061f, + -0.002912f, 0.006950f, 0.000366f, 0.001102f, -0.006812f, 0.002441f, -0.006191f, -0.004930f, -0.006073f, 0.002058f, 0.000339f, -0.002043f, -0.000596f, 0.002072f, 0.005474f, -0.002604f, -0.009701f, 0.000132f, -0.006874f, -0.008981f, -0.002215f, 0.003995f, -0.001234f, 0.003561f, 0.002439f, 0.003261f, -0.001245f, -0.001298f, -0.001503f, -0.001487f, 0.003216f, -0.000144f, 0.006423f, -0.000875f, 0.007922f, 0.001239f, 0.001992f, 0.007278f, 0.002884f, 0.001833f, 0.009770f, -0.003891f, 0.003465f, -0.003332f, -0.006324f, 0.006104f, -0.001807f, -0.000023f, 0.002733f, -0.001163f, -0.005033f, -0.001751f, 0.004606f, -0.002625f, 0.000560f, -0.005420f, 0.003418f, -0.023674f, -0.012373f, -0.005495f, -0.005206f, 0.000021f, 0.000001f, 0.001804f, 0.000273f, -0.001293f, -0.009785f, -0.004374f, -0.010029f, -0.015568f, -0.013104f, 0.007385f, 0.008999f, 0.009204f, -0.003693f, -0.001064f, -0.001114f, -0.002029f, 0.003297f, 0.001430f, -0.003403f, -0.007055f, 0.005006f, 0.004359f, 0.006273f, 0.001674f, -0.002233f, -0.003865f, 0.001712f, 0.003042f, -0.000820f, 0.006464f, -0.003242f, -0.000184f, 0.006182f, -0.004813f, + -0.007731f, 0.000599f, 0.010451f, 0.002413f, 0.002231f, 0.001462f, -0.000014f, 0.001333f, -0.001739f, 0.001856f, -0.008445f, 0.001335f, 0.008545f, -0.002011f, 0.000020f, 0.000826f, -0.003060f, -0.001689f, -0.001305f, -0.001449f, -0.002418f, 0.005249f, -0.005068f, 0.005145f, 0.004331f, 0.009660f, -0.000760f, 0.005397f, 0.012333f, -0.002366f, -0.010055f, -0.011303f, -0.000564f, -0.001587f, 0.000640f, -0.009682f, 0.002949f, -0.006754f, 0.016212f, 0.013278f, 0.005257f, 0.006942f, -0.004576f, 0.003293f, 0.011126f, 0.005877f, 0.012003f, -0.004490f, 0.004675f, 0.007332f, -0.000630f, 0.009319f, -0.004945f, 0.005940f, 0.000751f, -0.005466f, -0.001745f, -0.000783f, -0.000641f, -0.001328f, 0.000393f, -0.002585f, 0.000624f, -0.001805f, 0.010945f, -0.002267f, -0.000906f, 0.000291f, -0.005355f, -0.013954f, 0.007834f, -0.003059f, 0.002844f, -0.005338f, -0.005660f, -0.005728f, -0.004319f, 0.004055f, 0.010472f, 0.008849f, 0.003274f, -0.000254f, -0.002622f, 0.003786f, 0.007431f, -0.001342f, -0.002858f, 0.009979f, -0.004569f, 0.004994f, -0.005105f, -0.003331f, -0.002622f, 0.004005f, 0.003462f, -0.006282f, + -0.004982f, 0.000667f, 0.006854f, 0.009849f, 0.004703f, 0.007827f, -0.001379f, 0.007414f, 0.002285f, 0.007816f, -0.004450f, 0.003605f, 0.015921f, 0.008468f, 0.006428f, -0.000709f, -0.005279f, -0.010012f, 0.005028f, 0.019132f, 0.002534f, 0.007098f, 0.013583f, 0.000518f, -0.007944f, -0.003074f, -0.002427f, 0.000862f, -0.004983f, -0.013108f, 0.005391f, 0.000840f, 0.000309f, 0.006048f, -0.008882f, -0.003670f, 0.014140f, -0.002955f, -0.005201f, -0.007803f, 0.000426f, -0.007307f, -0.001143f, -0.002023f, -0.002165f, 0.001654f, 0.011597f, 0.000320f, -0.003296f, 0.004063f, -0.008729f, 0.012893f, -0.001207f, -0.001902f, 0.015524f, -0.007855f, 0.001132f, -0.009388f, -0.004266f, 0.001860f, 0.000972f, 0.005005f, 0.005315f, -0.008100f, 0.003319f, 0.005028f, 0.003764f, 0.002127f, 0.005021f, 0.004476f, 0.007076f, -0.004419f, -0.002323f, 0.013456f, -0.004119f, 0.006174f, 0.002066f, 0.005155f, 0.004094f, 0.000834f, -0.002954f, 0.001373f, 0.009648f, -0.002854f, 0.000770f, -0.000293f, 0.003439f, 0.010169f, -0.002557f, -0.006455f, -0.016219f, 0.004517f, 0.001595f, 0.002474f, 0.003120f, -0.001605f, + -0.006743f, -0.021743f, 0.011716f, -0.008122f, -0.010102f, -0.000923f, -0.020249f, 0.003240f, 0.008111f, -0.003840f, 0.017338f, -0.007518f, -0.017621f, 0.003137f, 0.008736f, -0.008095f, -0.012021f, 0.021647f, 0.000048f, -0.002828f, 0.007375f, -0.006556f, -0.001444f, 0.000909f, -0.009783f, 0.005176f, 0.000330f, 0.001811f, -0.000828f, 0.009345f, -0.001182f, 0.004597f, 0.006883f, -0.012130f, -0.003660f, -0.007479f, 0.012678f, -0.006992f, -0.001715f, 0.006953f, -0.001326f, -0.007752f, 0.006519f, 0.013970f, -0.006204f, 0.006037f, -0.006443f, 0.008657f, -0.003916f, 0.003839f, 0.002743f, -0.006997f, -0.014081f, 0.007305f, 0.013171f, -0.002629f, -0.001828f, 0.004969f, 0.009838f, 0.006148f, -0.008995f, -0.002882f, -0.007657f, -0.002562f, 0.005394f, -0.008433f, 0.004672f, 0.005749f, -0.005837f, -0.002046f, 0.003848f, -0.009671f, -0.003139f, 0.005003f, -0.002477f, 0.003110f, -0.000425f, -0.008213f, 0.010388f, -0.011407f, -0.011297f, -0.019399f, 0.008231f, 0.020572f, 0.003191f, -0.003627f, -0.001691f, -0.003385f, 0.017981f, -0.010637f, -0.009651f, -0.002207f, -0.010632f, -0.003193f, -0.011544f, -0.004922f, + -0.008035f, -0.016111f, -0.004362f, -0.003422f, -0.000347f, -0.001608f, 0.004467f, 0.009894f, 0.003735f, 0.005012f, -0.014642f, 0.002076f, 0.000079f, -0.004438f, 0.005532f, 0.003020f, -0.003979f, -0.001654f, -0.010228f, -0.011506f, -0.001284f, 0.013378f, -0.003360f, -0.006406f, -0.000932f, -0.004027f, -0.008638f, 0.000505f, -0.009003f, 0.019985f, 0.017181f, 0.004663f, -0.004373f, -0.004197f, 0.002468f, 0.003365f, 0.004184f, 0.003660f, -0.000333f, 0.007745f, -0.005991f, 0.003688f, -0.005071f, 0.000661f, 0.001053f, 0.004587f, 0.004113f, 0.009710f, -0.002595f, -0.005137f, -0.003573f, -0.020770f, 0.002511f, 0.005006f, 0.000083f, 0.008336f, 0.006281f, -0.005743f, -0.019247f, 0.002438f, 0.021262f, 0.018464f, -0.019902f, -0.019716f, 0.005700f, -0.015856f, -0.007175f, 0.001343f, -0.000239f, -0.006968f, 0.016338f, 0.006047f, -0.021060f, -0.002611f, 0.002122f, -0.001044f, 0.014801f, 0.004353f, -0.009340f, 0.013871f, 0.006315f, 0.001082f, -0.007058f, -0.009261f, 0.007134f, -0.006255f, -0.013979f, -0.003573f, -0.001087f, -0.007500f, -0.007994f, -0.012839f, 0.013583f, 0.000005f, 0.002746f, -0.009178f, + 0.001077f, 0.008122f, -0.006238f, -0.015953f, -0.014358f, 0.015078f, 0.004490f, 0.014172f, -0.001502f, 0.003383f, 0.012039f, 0.021683f, 0.008234f, -0.003818f, -0.010621f, -0.005958f, -0.004811f, 0.002425f, 0.002189f, -0.010054f, -0.002682f, 0.012099f, 0.010297f, 0.016787f, 0.009393f, -0.013515f, -0.010797f, 0.013607f, 0.008935f, -0.009041f, 0.001178f, 0.013898f, 0.002299f, -0.002330f, -0.010738f, 0.011414f, 0.010811f, -0.004408f, 0.018230f, 0.003433f, -0.008294f, 0.003354f, -0.003143f, -0.001541f, 0.009988f, -0.016615f, 0.010018f, -0.010840f, 0.001944f, 0.008924f, -0.000139f, -0.004304f, 0.003270f, -0.011325f, 0.000458f, -0.008773f, -0.025970f, -0.007761f, 0.011016f, 0.007309f, 0.004040f, -0.006113f, 0.005350f, 0.002593f, 0.027800f, 0.004993f, -0.009322f, 0.010559f, 0.002117f, 0.002448f, 0.018547f, -0.005057f, -0.005078f, 0.006687f, -0.012876f, 0.015927f, 0.014595f, -0.000049f, 0.008343f, -0.002736f, -0.007769f, -0.000721f, -0.009788f, 0.001173f, -0.009553f, 0.004178f, 0.000136f, 0.003200f, 0.001438f, -0.016419f, -0.003117f, -0.001756f, 0.001319f, -0.008036f, 0.004098f, 0.004191f, + -0.002747f, 0.022659f, -0.009143f, -0.019197f, 0.012375f, 0.019931f, 0.005091f, 0.005581f, -0.007778f, 0.017230f, -0.004779f, 0.003408f, 0.008513f, 0.002787f, -0.006324f, 0.008479f, 0.004888f, 0.001262f, 0.001691f, 0.056988f, -0.015868f, 0.000752f, -0.006043f, -0.003183f, -0.012918f, 0.000179f, -0.033448f, 0.017717f, -0.012178f, -0.000322f, 0.018961f, 0.010025f, -0.012945f, -0.013097f, -0.005300f, -0.011087f, 0.010397f, -0.026802f, 0.004934f, 0.012025f, 0.015592f, 0.003779f, 0.004600f, 0.001358f, 0.002505f, -0.002869f, -0.008650f, -0.024280f, -0.003703f, 0.004006f, 0.011563f, -0.008169f, 0.011181f, 0.005241f, -0.004475f, -0.000666f, 0.008734f, -0.008092f, -0.008434f, -0.003906f, -0.006376f, 0.000110f, -0.021975f, -0.009242f, -0.005041f, 0.000580f, 0.017881f, 0.005201f, 0.017114f, 0.007117f, -0.000388f, -0.009118f, 0.001712f, 0.002554f, 0.003035f, 0.007419f, 0.024051f, 0.004480f, -0.021428f, 0.007551f, -0.007979f, 0.001412f, -0.007579f, -0.007076f, -0.003551f, 0.011470f, 0.006723f, -0.036227f, -0.013649f, -0.008417f, 0.008472f, 0.002108f, -0.007220f, -0.000622f, 0.023052f, -0.002465f, + 0.012890f, -0.007972f, -0.010262f, 0.007864f, -0.018414f, 0.001813f, -0.042029f, 0.010778f, -0.014226f, 0.004764f, -0.014753f, -0.029759f, -0.005376f, -0.006359f, 0.020970f, 0.009917f, 0.007130f, 0.000015f, 0.028066f, -0.020837f, 0.004627f, 0.008911f, 0.021552f, -0.024811f, -0.015217f, -0.004307f, 0.001490f, -0.000955f, -0.007872f, -0.001616f, 0.007063f, -0.013007f, 0.002219f, 0.008902f, -0.002163f, 0.001869f, -0.011689f, -0.011968f, -0.008448f, 0.035097f, -0.000249f, -0.007599f, 0.012806f, -0.007503f, -0.017824f, -0.013417f, -0.009903f, -0.001750f, 0.005561f, 0.001993f, 0.000664f, 0.019778f, 0.016913f, -0.002456f, 0.005698f, 0.004877f, -0.022541f, -0.014477f, -0.001468f, -0.001151f, -0.006282f, -0.014458f, 0.017940f, 0.022815f, -0.018816f, 0.012488f, 0.010750f, -0.003216f, -0.018062f, -0.027969f, -0.027984f, -0.021019f, -0.013151f, -0.024517f, 0.001330f, -0.020470f, 0.010689f, -0.017209f, -0.013899f, -0.010121f, -0.010793f, -0.003777f, -0.024900f, 0.000848f, 0.027908f, -0.009975f, 0.014884f, -0.006056f, 0.027869f, 0.023038f, 0.010018f, -0.028799f, -0.006918f, 0.037928f, -0.009433f, 0.028065f, + 0.004884f, -0.027336f, -0.013267f, 0.031754f, 0.001196f, -0.021703f, 0.001045f, -0.018529f, -0.001945f, 0.006287f, 0.003241f, -0.003865f, -0.031208f, -0.028502f, 0.008520f, 0.020287f, -0.017449f, -0.001800f, 0.008794f, -0.001565f, 0.003997f, 0.033825f, 0.007196f, 0.004751f, 0.003948f, 0.011036f, -0.013987f, -0.010896f, -0.006571f, -0.036095f, -0.010915f, -0.013708f, -0.007925f, 0.009196f, 0.007803f, -0.002560f, -0.001960f, -0.014508f, -0.019733f, 0.027704f, -0.004105f, -0.025056f, -0.009403f, 0.004561f, 0.021197f, -0.015417f, -0.001956f, -0.016415f, 0.000134f, -0.019603f, -0.000004f, -0.004873f, -0.033565f, 0.002467f, -0.007127f, 0.025114f, 0.001530f, -0.022037f, -0.015831f, 0.012746f, -0.046048f, -0.024118f, -0.015598f, -0.025812f, -0.013223f, -0.010824f, -0.025971f, 0.027236f, -0.007659f, 0.041321f, -0.020738f, -0.032002f, -0.005789f, -0.021659f, 0.036302f, -0.012889f, -0.018617f, -0.009315f, 0.009989f, 0.017727f, 0.016050f, -0.004377f, -0.003864f, -0.008848f, 0.004327f, 0.029008f, -0.000417f, 0.002164f, -0.009162f, -0.004441f, -0.015128f, -0.005807f, 0.007298f, 0.004334f, -0.012402f, -0.000195f, + -0.018538f, 0.002954f, -0.005195f, -0.006588f, 0.008268f, 0.002655f, -0.008300f, -0.004560f, 0.016817f, 0.005023f, -0.012810f, -0.018838f, 0.030215f, -0.002632f, -0.046268f, 0.023149f, -0.004387f, -0.021386f, 0.010393f, -0.004420f, 0.003187f, -0.006224f, 0.017520f, 0.004539f, 0.003008f, 0.043220f, 0.046138f, -0.017882f, 0.006697f, -0.035902f, -0.004913f, -0.009120f, 0.016998f, -0.008198f, 0.005922f, 0.010140f, -0.005056f, 0.021224f, 0.055653f, -0.041707f, -0.013590f, -0.026355f, -0.017841f, 0.021281f, -0.024351f, 0.051323f, -0.006308f, 0.015721f, 0.002508f, 0.012477f, -0.032218f, 0.005833f, 0.007946f, -0.002401f, -0.005245f, -0.002887f, 0.008915f, -0.019699f, -0.012405f, -0.002955f, -0.006124f, -0.024410f, -0.022109f, -0.006040f, -0.010610f, 0.028883f, -0.008334f, -0.014231f, -0.010782f, 0.009606f, -0.015831f, -0.006846f, -0.026852f, 0.011608f, -0.010863f, 0.010103f, -0.010194f, 0.012949f, -0.008021f, -0.045544f, -0.023955f, 0.005793f, -0.004702f, -0.003640f, -0.015261f, -0.027659f, -0.002908f, 0.010684f, 0.006436f, -0.007230f, 0.007226f, 0.012457f, 0.040796f, -0.019600f, 0.018315f, -0.049309f, + 0.001058f, 0.005381f, -0.007805f, -0.015527f, 0.007373f, -0.000172f, -0.000348f, 0.008564f, 0.030904f, 0.020498f, 0.014049f, -0.011770f, -0.014698f, 0.013598f, -0.024990f, 0.001305f, 0.010904f, -0.016956f, 0.020773f, 0.067741f, 0.045173f, -0.010895f, -0.030924f, -0.018161f, 0.038512f, -0.045971f, 0.000960f, -0.010361f, -0.013275f, 0.021241f, -0.036520f, 0.006421f, -0.019435f, 0.001336f, -0.025862f, -0.016967f, 0.001305f, 0.003087f, -0.000540f, -0.021653f, 0.035933f, 0.009439f, -0.018246f, 0.008662f, -0.006432f, 0.005184f, 0.054348f, 0.019553f, -0.017047f, -0.011776f, 0.001257f, 0.019281f, 0.003230f, -0.039752f, -0.011708f, -0.026842f, -0.011059f, -0.011471f, 0.012685f, -0.005718f, -0.005370f, 0.001816f, -0.002835f, -0.018342f, -0.025152f, 0.017632f, -0.010383f, 0.006376f, -0.002490f, 0.022997f, -0.018242f, -0.009814f, 0.003928f, 0.010972f, -0.023695f, 0.027268f, -0.016975f, -0.034007f, -0.035263f, -0.009707f, -0.011072f, -0.012241f, -0.008931f, -0.049193f, 0.016936f, -0.021954f, -0.009102f, -0.017831f, 0.027367f, 0.012041f, 0.012411f, 0.002764f, -0.005784f, -0.022388f, -0.009926f, -0.064665f, + -0.008624f, 0.043929f, -0.053849f, -0.020724f, -0.001907f, -0.015851f, 0.018664f, -0.010648f, 0.059531f, -0.005641f, -0.013802f, -0.009584f, -0.003405f, 0.017996f, -0.012742f, -0.011289f, 0.048323f, -0.035696f, -0.005222f, 0.011715f, -0.008837f, 0.030988f, 0.016423f, -0.001930f, -0.004808f, 0.013228f, 0.016481f, 0.019153f, 0.014562f, 0.032621f, 0.009300f, 0.014054f, 0.007360f, -0.010532f, 0.053273f, 0.006829f, 0.008970f, 0.013687f, 0.006862f, 0.039168f, -0.004097f, 0.009527f, 0.012201f, 0.011132f, 0.005022f, 0.025636f, -0.016803f, -0.012724f, 0.024279f, -0.005155f, -0.027644f, -0.007171f, -0.047219f, -0.016044f, -0.010510f, 0.042488f, -0.042681f, -0.005986f, -0.000217f, -0.002189f, -0.004483f, 0.024558f, 0.067337f, -0.013101f, 0.006194f, 0.006959f, 0.007718f, 0.032193f, -0.039284f, -0.037971f, -0.037522f, 0.058526f, -0.000611f, -0.022428f, 0.047188f, -0.018452f, 0.037221f, 0.004933f, -0.040309f, -0.113028f, 0.021560f, -0.026044f, -0.045604f, 0.051049f, -0.031044f, -0.013804f, -0.044904f, 0.012814f, -0.009938f, -0.041057f, -0.015087f, -0.023741f, 0.010658f, -0.021853f, -0.000080f, 0.010712f, + 0.017942f, 0.011358f, 0.031241f, 0.006749f, -0.001410f, -0.001703f, -0.028469f, -0.019273f, -0.020592f, 0.017451f, 0.023109f, 0.013026f, 0.007499f, 0.001085f, 0.008259f, 0.020831f, 0.043234f, -0.019134f, -0.012750f, 0.009671f, -0.021200f, 0.023272f, 0.003590f, -0.017409f, 0.044079f, 0.018516f, -0.038985f, 0.017109f, -0.037526f, 0.006502f, 0.005994f, 0.021487f, -0.011351f, -0.009996f, 0.056397f, 0.024729f, -0.025607f, 0.017539f, 0.029406f, -0.020826f, -0.050936f, 0.030646f, -0.004950f, 0.002507f, 0.003167f, 0.015505f, 0.076631f, -0.003578f, 0.008668f, 0.018912f, -0.001418f, 0.022408f, 0.008992f, -0.035910f, 0.006736f, -0.015871f, -0.035052f, -0.041127f, 0.087729f, 0.018292f, -0.005340f, -0.010947f, 0.019997f, 0.078537f, 0.036492f, 0.008986f, -0.002050f, 0.025991f, 0.066171f, 0.015901f, 0.022931f, 0.020034f, 0.047192f, -0.030875f, 0.030601f, 0.012957f, -0.090172f, 0.026139f, -0.012674f, 0.026137f, -0.028046f, 0.020577f, 0.014146f, 0.027363f, -0.000201f, 0.011186f, 0.004394f, -0.026363f, 0.012748f, 0.024637f, -0.021369f, 0.011972f, -0.020778f, -0.013277f, 0.064627f, 0.005759f, + 0.057182f, -0.041676f, 0.017688f, -0.003011f, -0.008394f, -0.002239f, -0.005202f, 0.007915f, 0.020758f, 0.013545f, -0.001879f, 0.031685f, -0.052521f, -0.050315f, 0.035346f, -0.029155f, -0.007609f, -0.007746f, -0.034195f, 0.015785f, -0.009381f, 0.008327f, 0.004699f, 0.054154f, 0.026341f, 0.027866f, 0.010298f, 0.006433f, -0.051248f, -0.013064f, 0.023881f, -0.001928f, -0.000551f, -0.001416f, -0.017822f, -0.044731f, 0.021434f, -0.077998f, 0.066299f, -0.027295f, 0.012034f, 0.044893f, -0.064682f, -0.000524f, -0.006475f, 0.016535f, 0.022711f, 0.028593f, 0.046357f, 0.009056f, -0.031603f, 0.017846f, 0.049376f, -0.070735f, -0.043332f, 0.049120f, 0.001308f, 0.000552f, 0.001079f, 0.005020f, -0.002530f, -0.000372f, 0.023355f, 0.015943f, -0.035749f, 0.003001f, -0.011032f, 0.060692f, 0.034850f, -0.011486f, 0.002205f, 0.007939f, 0.005994f, 0.000318f, 0.020274f, 0.002877f, 0.015187f, 0.061818f, 0.006857f, 0.007099f, -0.010875f, 0.016345f, -0.059826f, -0.024548f, -0.026168f, -0.001972f, 0.004378f, -0.050680f, 0.018312f, -0.044899f, 0.013429f, 0.047876f, -0.012393f, -0.041807f, -0.024946f, 0.018342f, + -0.010556f, -0.085981f, 0.021412f, -0.059629f, -0.015636f, -0.006378f, -0.000520f, -0.022854f, 0.003559f, 0.032485f, -0.027832f, -0.054942f, -0.089346f, 0.071688f, 0.017578f, -0.003338f, 0.015048f, 0.094322f, -0.101644f, 0.039787f, 0.055148f, -0.067315f, -0.017754f, -0.037231f, -0.016950f, 0.093736f, -0.040779f, 0.065921f, -0.029527f, -0.011268f, -0.014857f, 0.020223f, 0.010794f, -0.084979f, -0.013355f, -0.023986f, 0.038079f, -0.000152f, 0.017325f, 0.026870f, -0.038184f, -0.009451f, -0.023550f, 0.012619f, 0.036116f, 0.019150f, -0.049979f, -0.010940f, 0.012781f, 0.005218f, -0.000956f, -0.026397f, -0.007849f, -0.048923f, -0.006288f, -0.008272f, 0.045826f, -0.040233f, 0.097274f, 0.019220f, -0.025302f, 0.040193f, 0.003937f, 0.052700f, 0.032147f, 0.049926f, 0.015152f, 0.045457f, 0.040945f, 0.044420f, 0.051132f, 0.005683f, 0.049546f, -0.062003f, -0.007950f, 0.010878f, -0.037315f, -0.008724f, 0.027328f, -0.048660f, -0.066253f, 0.025534f, 0.046517f, -0.000673f, 0.012072f, -0.050146f, -0.011473f, -0.042451f, -0.000782f, 0.043325f, 0.003398f, 0.083136f, 0.035825f, -0.023137f, 0.062290f, -0.131299f, + 0.119434f, -0.024236f, -0.044358f, -0.032243f, 0.081747f, -0.060959f, -0.013772f, -0.014786f, -0.004052f, 0.049490f, -0.054145f, -0.000777f, 0.016952f, -0.011419f, -0.009939f, 0.005156f, -0.031967f, 0.044858f, -0.000700f, -0.062691f, -0.019834f, -0.012082f, 0.001142f, -0.068973f, -0.003589f, 0.012912f, -0.017475f, 0.004898f, 0.017030f, 0.049468f, -0.021631f, -0.006973f, 0.006694f, -0.025703f, -0.097042f, 0.012748f, 0.071734f, -0.033407f, -0.060888f, 0.008787f, 0.057268f, -0.023209f, -0.021001f, -0.073007f, -0.015727f, 0.006760f, 0.052546f, 0.031123f, 0.003933f, -0.053393f, -0.036895f, 0.051961f, -0.058887f, 0.025448f, 0.088527f, 0.058040f, 0.067777f, -0.028139f, 0.037908f, 0.033005f, -0.083722f, -0.022535f, -0.046947f, -0.003359f, 0.042723f, 0.005380f, 0.046223f, 0.049391f, -0.084446f, 0.097171f, -0.059622f, 0.009369f, -0.002480f, -0.029539f, 0.077332f, 0.010303f, -0.047199f, 0.082100f, 0.055406f, 0.010112f, -0.017037f, -0.040060f, 0.022842f, -0.001545f, -0.005341f, -0.000900f, -0.002969f, 0.001950f, -0.017542f, 0.022041f, -0.001945f, -0.069953f, 0.016496f, 0.008264f, -0.026316f, 0.002801f, + 0.029535f, -0.008580f, 0.000629f, -0.049995f, 0.036364f, -0.016542f, -0.006998f, -0.003283f, 0.020135f, -0.026145f, -0.002390f, 0.008404f, -0.000467f, 0.007983f, -0.014633f, 0.040509f, -0.021402f, 0.069863f, -0.042911f, -0.042294f, 0.040705f, -0.044766f, 0.001331f, 0.037264f, -0.033518f, -0.012170f, 0.017629f, 0.024168f, 0.027894f, -0.100912f, 0.032003f, 0.001537f, -0.024474f, 0.068148f, -0.033634f, 0.006740f, -0.000305f, -0.052806f, 0.070806f, -0.000406f, -0.003489f, -0.034317f, -0.006963f, 0.062240f, -0.013692f, 0.001485f, 0.002659f, 0.021044f, 0.010495f, -0.068041f, 0.037099f, 0.070134f, -0.031884f, 0.032616f, -0.047110f, 0.094057f, 0.010083f, -0.063199f, -0.044947f, -0.149872f, -0.226701f, 0.014661f, 0.195670f, 0.002218f, 0.512189f, 0.463669f, 0.277444f, 0.535211f, 0.350999f, -0.059741f, 0.019064f, -0.070667f, -0.423933f, -0.241943f, -0.187674f, -0.414908f, -0.341344f, -0.102702f, -0.201508f, -0.231623f, -0.021258f, 0.010441f, -0.099654f, 0.017746f, 0.084334f, -0.115557f, -0.098515f, 0.145716f, 0.026831f, -0.040724f, 0.100408f, 0.135544f, -0.004676f, 0.138792f, 0.238791f, 0.081805f, + 0.061589f, 0.242490f, 0.162268f, 0.013948f, 0.176309f, 0.262289f, 0.111698f, 0.130305f, 0.299664f, 0.108647f, 0.034337f, 0.284528f, 0.280226f, 0.080130f, 0.338581f, 0.484167f, 0.174802f, 0.192395f, 0.334394f, 0.093986f, -0.122098f, 0.007905f, -0.125840f, -0.427570f, -0.407782f, -0.436137f, -0.691647f, -0.748139f, -0.797924f, -0.942924f, -0.984025f, -0.963033f, -0.934808f, -0.825490f, -0.736560f, -0.602712f, -0.386639f, -0.263248f, -0.014537f, 0.386460f, 0.334089f, 0.065555f}, + {-0.013861f, -0.005870f, 0.000823f, -0.005459f, -0.000702f, 0.006872f, -0.007999f, 0.003450f, -0.003475f, -0.003504f, -0.007449f, -0.002442f, 0.011322f, -0.008068f, 0.006433f, 0.003489f, -0.006159f, -0.000276f, -0.009061f, 0.002604f, -0.000753f, 0.005558f, -0.016272f, -0.007117f, -0.002165f, 0.003521f, -0.001352f, -0.005909f, -0.000019f, -0.001609f, -0.007437f, 0.007231f, -0.000014f, 0.002122f, 0.007805f, 0.000418f, -0.001935f, -0.001271f, -0.001493f, 0.000720f, -0.003364f, -0.005271f, -0.004332f, -0.004106f, -0.002323f, -0.002574f, 0.010531f, 0.006915f, 0.002549f, 0.002212f, 0.001931f, -0.002321f, -0.000710f, -0.002219f, 0.010002f, -0.001338f, 0.002650f, -0.006858f, 0.002569f, -0.000632f, 0.004066f, 0.002017f, 0.001412f, -0.002971f, 0.000501f, -0.001837f, 0.007803f, 0.000038f, 0.000888f, 0.003626f, 0.001967f, -0.004854f, 0.002329f, 0.001014f, -0.002422f, -0.000327f, 0.000114f, 0.005781f, 0.017463f, 0.004287f, 0.002261f, -0.003736f, -0.001794f, -0.008481f, -0.000705f, -0.001951f, 0.006249f, 0.006124f, -0.006223f, -0.003951f, -0.003900f, -0.003093f, -0.004540f, 0.000733f, 0.004884f, -0.003894f, + -0.004835f, -0.014389f, -0.011156f, -0.007668f, -0.000744f, 0.001043f, 0.010367f, -0.005672f, 0.004941f, 0.003540f, 0.002345f, 0.000886f, -0.008427f, 0.002292f, -0.017521f, 0.002316f, 0.000114f, 0.001031f, -0.001598f, -0.010337f, -0.005244f, -0.008887f, 0.000117f, 0.000791f, -0.005955f, -0.013931f, 0.009249f, -0.000493f, -0.008744f, 0.000143f, 0.005024f, 0.001373f, -0.003353f, 0.002171f, -0.005225f, -0.001877f, -0.004975f, 0.003564f, -0.005277f, 0.006790f, 0.004821f, -0.000954f, -0.009998f, 0.000590f, 0.000695f, -0.000758f, -0.004077f, 0.002440f, 0.001025f, -0.002119f, 0.004417f, 0.005534f, 0.003138f, 0.000311f, -0.000661f, 0.001641f, -0.005740f, -0.018906f, -0.021202f, -0.001519f, -0.008379f, 0.006463f, -0.010389f, 0.002593f, 0.004808f, -0.007106f, 0.005793f, 0.021202f, 0.001188f, -0.001977f, 0.011627f, 0.001551f, 0.011670f, 0.000153f, 0.005317f, -0.008381f, -0.011089f, -0.000629f, 0.004178f, -0.007729f, -0.002506f, -0.000813f, -0.002206f, 0.002076f, -0.002302f, -0.004099f, 0.003801f, -0.001949f, -0.001665f, 0.008306f, 0.011832f, -0.003740f, -0.006459f, 0.002337f, 0.009442f, 0.003582f, + 0.012113f, 0.000483f, -0.001808f, -0.000339f, 0.010779f, 0.000676f, -0.007903f, -0.004296f, 0.008414f, 0.006183f, 0.006502f, 0.001799f, -0.004403f, -0.008797f, 0.001557f, 0.004144f, 0.004933f, -0.001880f, -0.004837f, 0.009535f, 0.006128f, -0.001535f, -0.005615f, 0.000380f, -0.004041f, 0.009996f, 0.002648f, 0.001936f, 0.002706f, 0.001270f, 0.001506f, 0.006312f, 0.000399f, 0.006435f, -0.002062f, 0.010233f, -0.000061f, -0.008687f, 0.011189f, 0.007756f, 0.011779f, 0.012154f, -0.002875f, 0.006063f, -0.002565f, -0.006971f, -0.000594f, 0.018026f, 0.007966f, 0.003983f, 0.006485f, -0.007593f, 0.012941f, 0.005472f, 0.008688f, -0.002604f, -0.014256f, 0.005957f, -0.022273f, 0.004471f, -0.005649f, 0.004428f, 0.003572f, -0.000483f, -0.007630f, 0.001789f, 0.005071f, -0.003056f, 0.004760f, 0.011248f, -0.000753f, -0.009459f, -0.012732f, 0.001919f, 0.005779f, -0.011857f, 0.006611f, -0.011153f, -0.007155f, 0.007943f, -0.004603f, -0.009452f, -0.004491f, -0.006703f, 0.010405f, 0.014081f, 0.008109f, -0.005222f, 0.000136f, 0.007455f, 0.004605f, -0.000775f, -0.005722f, -0.002896f, -0.005010f, 0.005253f, + 0.017633f, -0.000299f, -0.009435f, -0.007684f, 0.004156f, 0.001252f, -0.003483f, -0.010575f, -0.000109f, -0.009090f, -0.003417f, 0.001214f, -0.001452f, 0.006889f, 0.001384f, 0.008738f, 0.010376f, -0.009018f, -0.003282f, 0.024821f, -0.006611f, 0.002325f, 0.003630f, -0.016548f, -0.013940f, 0.000239f, 0.016337f, 0.012288f, 0.019728f, 0.006345f, -0.005522f, -0.008629f, 0.001476f, -0.005034f, 0.003895f, 0.001697f, 0.006657f, 0.012031f, 0.003892f, 0.008806f, -0.000266f, 0.005122f, -0.005446f, -0.011628f, -0.005999f, -0.008971f, 0.000080f, -0.002702f, 0.002611f, -0.014161f, -0.006983f, -0.002158f, 0.005070f, -0.007178f, 0.014306f, -0.016540f, 0.003397f, -0.010561f, -0.008363f, 0.004331f, 0.004034f, 0.013469f, -0.001642f, 0.003079f, -0.004068f, 0.009262f, 0.010155f, 0.002372f, -0.002333f, -0.010956f, -0.001572f, 0.003051f, -0.008132f, 0.007431f, -0.008941f, 0.003142f, 0.014438f, 0.011518f, 0.000053f, -0.005458f, 0.002161f, 0.013737f, -0.001929f, 0.002663f, 0.002173f, 0.010867f, 0.000058f, -0.004363f, -0.007402f, 0.003790f, -0.011065f, 0.002322f, 0.023392f, 0.003360f, 0.011448f, -0.002805f, + -0.009445f, -0.015172f, 0.007481f, -0.010709f, -0.011774f, 0.002729f, -0.005882f, -0.036173f, 0.003201f, 0.006032f, 0.033123f, 0.011229f, 0.002147f, -0.014797f, 0.013618f, 0.006443f, -0.006391f, 0.007713f, -0.001582f, 0.012569f, -0.007648f, -0.003352f, -0.002773f, -0.002812f, -0.005335f, -0.001762f, 0.008352f, 0.007985f, 0.012792f, 0.005106f, 0.006141f, 0.000305f, -0.008771f, -0.008759f, 0.012129f, -0.006335f, 0.002509f, -0.000665f, -0.008976f, 0.013017f, -0.002319f, -0.004982f, 0.001981f, 0.009608f, -0.006278f, 0.014353f, -0.017775f, -0.014088f, -0.018008f, 0.004801f, -0.010195f, -0.014792f, -0.003637f, 0.014768f, -0.006148f, 0.004781f, 0.008403f, -0.005636f, -0.008091f, 0.001166f, 0.001322f, 0.005308f, 0.000928f, -0.003903f, -0.000400f, 0.018983f, 0.007995f, -0.006876f, -0.022873f, -0.017809f, 0.007188f, 0.022700f, 0.019018f, -0.013343f, 0.001247f, -0.007892f, 0.005051f, -0.006388f, 0.010666f, -0.018087f, -0.003216f, -0.022465f, -0.006745f, 0.003421f, 0.007723f, -0.020514f, -0.005290f, 0.014118f, -0.001889f, -0.020579f, 0.010459f, -0.006607f, -0.012006f, 0.006408f, 0.010548f, 0.002377f, + 0.001987f, 0.003631f, 0.013815f, -0.006817f, -0.006184f, 0.003545f, -0.007340f, -0.003739f, -0.000182f, -0.000996f, 0.000076f, 0.011082f, 0.005385f, -0.001577f, -0.001435f, 0.006317f, 0.002303f, 0.007792f, -0.001206f, 0.008803f, 0.009176f, 0.003467f, -0.011151f, 0.001089f, -0.002073f, -0.008020f, 0.009580f, -0.006313f, 0.003620f, -0.007580f, -0.003260f, -0.025841f, 0.001584f, 0.019775f, 0.001047f, 0.021002f, -0.004817f, -0.005715f, -0.023249f, 0.025384f, 0.011491f, 0.013983f, 0.001506f, 0.011178f, -0.001145f, -0.001319f, 0.009173f, -0.007360f, 0.002557f, -0.001596f, -0.026367f, 0.003973f, -0.007272f, 0.004524f, -0.005362f, 0.003379f, 0.021330f, 0.003401f, -0.029677f, -0.000218f, 0.021040f, -0.004025f, 0.012167f, -0.013137f, -0.010288f, -0.024247f, 0.013579f, 0.008180f, 0.015887f, 0.008525f, -0.008863f, 0.014759f, -0.004216f, 0.014164f, -0.009480f, -0.007346f, 0.000348f, -0.002184f, 0.010925f, 0.003244f, 0.009118f, 0.011744f, -0.007187f, -0.004754f, -0.004499f, 0.008030f, -0.002109f, -0.003799f, 0.000865f, -0.008985f, 0.004472f, 0.004342f, -0.005778f, 0.008145f, 0.012193f, -0.004242f, + -0.006386f, -0.000661f, -0.010233f, -0.003803f, 0.014131f, 0.002895f, -0.009658f, 0.018770f, -0.020190f, 0.004023f, 0.009986f, -0.003579f, -0.006995f, -0.000517f, 0.007871f, -0.014051f, 0.006999f, -0.005139f, -0.013379f, -0.008691f, -0.008281f, 0.001250f, -0.004177f, -0.007226f, 0.003036f, 0.023170f, 0.011726f, -0.002004f, -0.008156f, -0.020422f, 0.001700f, 0.012982f, -0.007633f, -0.022615f, -0.000136f, -0.002553f, 0.000122f, 0.004268f, 0.008668f, 0.009857f, -0.004452f, 0.002692f, 0.014042f, 0.001183f, 0.016501f, 0.018351f, 0.040183f, 0.027800f, 0.016729f, -0.003986f, -0.021495f, -0.007138f, 0.019472f, 0.008796f, -0.020730f, 0.015747f, -0.003671f, -0.009886f, -0.012681f, 0.002255f, 0.034852f, -0.023257f, 0.025217f, 0.010241f, -0.005420f, 0.008695f, -0.006781f, 0.018475f, -0.006870f, 0.009971f, 0.001985f, -0.012077f, -0.008662f, -0.011742f, 0.000609f, 0.010800f, -0.002813f, -0.006393f, 0.006854f, 0.001361f, -0.001850f, -0.023081f, 0.007412f, -0.012692f, -0.009696f, 0.007048f, 0.015902f, -0.010937f, -0.016150f, 0.001148f, 0.014482f, 0.001727f, -0.008939f, -0.002939f, -0.005064f, 0.006985f, + 0.005282f, -0.004844f, -0.008232f, -0.012813f, 0.009047f, 0.022058f, 0.014015f, 0.007339f, -0.011519f, 0.006980f, 0.014664f, -0.014814f, -0.018741f, 0.003825f, -0.015126f, -0.007748f, -0.030796f, 0.000101f, -0.020631f, 0.044429f, 0.000712f, -0.016984f, 0.019190f, -0.020980f, 0.024375f, 0.002310f, -0.015251f, -0.025376f, -0.006464f, 0.012938f, -0.020656f, 0.018469f, -0.003108f, 0.012034f, 0.013722f, -0.011599f, -0.005161f, -0.006834f, -0.009695f, -0.003337f, -0.009054f, 0.001856f, -0.011015f, 0.011691f, 0.007017f, 0.009880f, 0.019152f, 0.010307f, -0.002962f, 0.023371f, 0.011640f, 0.004649f, -0.012378f, -0.013035f, 0.006867f, -0.009877f, 0.002367f, 0.007682f, -0.015315f, 0.013562f, 0.035056f, 0.003101f, 0.024980f, 0.012221f, 0.012166f, 0.018215f, 0.001195f, 0.009867f, 0.010148f, -0.022205f, -0.015122f, 0.016088f, 0.001341f, 0.015214f, 0.002978f, 0.015953f, -0.002090f, 0.006040f, 0.004336f, -0.031987f, -0.001577f, 0.008813f, 0.022368f, 0.005323f, 0.019801f, 0.002408f, -0.003617f, 0.006714f, 0.009558f, -0.017769f, -0.029638f, -0.015847f, 0.005583f, 0.007868f, 0.002523f, 0.021383f, + 0.008625f, -0.020595f, -0.002637f, -0.018240f, -0.009739f, 0.008854f, -0.010412f, 0.005130f, 0.005743f, -0.010571f, -0.029153f, 0.009988f, -0.028885f, -0.031460f, 0.006276f, -0.014998f, 0.013534f, 0.021290f, -0.005956f, 0.024704f, -0.006495f, 0.024434f, 0.031254f, 0.001026f, 0.001148f, -0.031311f, -0.006850f, 0.004534f, 0.004789f, -0.002725f, -0.022032f, 0.002559f, -0.018773f, 0.003395f, -0.005608f, 0.006030f, -0.007674f, -0.010800f, 0.001959f, -0.000959f, -0.007341f, 0.008778f, -0.000007f, -0.003702f, 0.022345f, 0.009843f, 0.016576f, -0.009672f, 0.002413f, -0.007915f, 0.005815f, -0.000695f, 0.008284f, -0.001634f, -0.007679f, -0.007402f, -0.021292f, -0.010553f, 0.032134f, 0.014931f, 0.021000f, -0.023686f, 0.004424f, 0.020432f, -0.016895f, 0.001928f, 0.011256f, -0.004765f, 0.011250f, 0.003701f, -0.023204f, -0.003728f, -0.035223f, -0.002168f, 0.012385f, 0.008959f, 0.021038f, -0.019907f, -0.019794f, -0.018825f, -0.030067f, 0.020751f, 0.011643f, 0.002737f, -0.020663f, 0.018555f, -0.001380f, -0.023665f, -0.021363f, -0.006125f, -0.006302f, -0.014870f, -0.007532f, -0.008485f, -0.009283f, -0.004994f, + -0.024148f, 0.012191f, 0.011868f, -0.000394f, -0.003613f, -0.003378f, -0.009945f, -0.026253f, -0.031055f, 0.001645f, 0.011143f, -0.007050f, -0.019846f, -0.009473f, 0.012057f, 0.010873f, -0.001150f, -0.004971f, -0.009686f, -0.007196f, 0.015512f, -0.008193f, 0.010244f, -0.007712f, -0.001759f, -0.028661f, -0.008612f, -0.001592f, 0.019864f, 0.006835f, -0.007614f, -0.015754f, -0.014026f, -0.022323f, 0.034632f, -0.016322f, 0.032602f, 0.005407f, -0.018279f, 0.024339f, 0.019804f, 0.040834f, -0.042467f, 0.017331f, 0.002740f, 0.006604f, -0.011860f, -0.009641f, 0.012666f, 0.010814f, -0.008178f, -0.015958f, 0.014230f, -0.007614f, 0.014292f, 0.022417f, 0.006620f, -0.008034f, 0.009564f, 0.030505f, -0.051827f, -0.058146f, -0.034622f, -0.007237f, -0.023832f, 0.014010f, -0.019445f, 0.000789f, 0.011230f, -0.002883f, 0.038453f, 0.025625f, 0.010503f, -0.012412f, -0.007457f, 0.024777f, -0.003532f, 0.002571f, -0.009929f, -0.024945f, 0.000843f, 0.007916f, 0.007011f, -0.014475f, 0.012034f, -0.000017f, -0.000888f, 0.020551f, 0.031195f, 0.000481f, -0.019032f, -0.010183f, -0.037057f, -0.016344f, -0.009283f, -0.013110f, + 0.002051f, 0.004686f, -0.013355f, -0.007385f, -0.018867f, 0.018597f, 0.024827f, 0.018551f, 0.023110f, 0.016049f, 0.030135f, 0.001574f, 0.010230f, 0.004982f, -0.005703f, 0.009390f, 0.017631f, -0.020333f, -0.062821f, -0.016874f, 0.020083f, -0.034730f, 0.015668f, 0.017870f, 0.006366f, -0.012400f, 0.000329f, -0.010418f, -0.026552f, -0.009557f, 0.014429f, -0.022857f, -0.019254f, 0.003089f, -0.016657f, 0.037563f, 0.037546f, -0.018418f, 0.049027f, -0.040974f, -0.002677f, 0.009118f, -0.042885f, -0.010244f, -0.019211f, 0.008031f, -0.014433f, 0.037432f, 0.002642f, 0.001415f, 0.042457f, -0.000657f, -0.041350f, -0.029707f, -0.021326f, 0.017075f, -0.004326f, -0.036299f, 0.007721f, 0.012496f, 0.017972f, -0.020830f, 0.009417f, 0.021191f, 0.014663f, 0.015391f, -0.006827f, 0.024977f, 0.022728f, 0.010341f, -0.057802f, 0.042545f, -0.022201f, 0.017596f, -0.006363f, -0.003800f, 0.008291f, -0.022628f, -0.016469f, 0.028132f, -0.014395f, -0.001367f, 0.021117f, -0.024355f, 0.021196f, -0.007079f, 0.019434f, -0.026967f, 0.036149f, -0.015086f, 0.057323f, -0.005626f, 0.000906f, 0.017768f, -0.016278f, -0.007492f, + -0.010408f, 0.007367f, -0.006326f, -0.027676f, -0.041420f, -0.007788f, 0.018443f, -0.008507f, -0.017687f, -0.035616f, 0.013628f, 0.007415f, -0.057586f, 0.003121f, -0.004635f, 0.012480f, 0.020721f, -0.012213f, 0.018080f, 0.060591f, 0.027939f, -0.016504f, 0.039166f, 0.014885f, -0.027572f, 0.011488f, 0.024721f, -0.002607f, -0.010570f, -0.034833f, -0.011474f, 0.023835f, 0.012964f, 0.012097f, 0.004896f, -0.005102f, -0.016288f, -0.032816f, 0.016474f, -0.010238f, 0.007287f, -0.024861f, -0.016080f, 0.000790f, -0.005937f, 0.035138f, 0.008218f, 0.006830f, 0.023805f, 0.013855f, -0.041069f, -0.003078f, 0.012161f, -0.005815f, -0.001369f, 0.034804f, 0.008697f, 0.040185f, -0.024838f, -0.012618f, -0.008778f, -0.012815f, 0.012622f, -0.013388f, 0.026449f, 0.030661f, -0.015530f, -0.026572f, 0.044490f, -0.022602f, -0.012954f, -0.003810f, 0.010835f, 0.009189f, -0.029964f, -0.005824f, 0.013157f, -0.010383f, 0.017390f, -0.007806f, 0.025965f, -0.013259f, 0.001945f, 0.049311f, -0.006458f, 0.035884f, 0.050434f, 0.010719f, 0.020424f, -0.010262f, -0.077461f, -0.041252f, -0.021292f, 0.003416f, 0.016990f, -0.077599f, + -0.018021f, 0.080001f, -0.030521f, -0.035114f, 0.071457f, -0.046255f, 0.040372f, 0.052876f, 0.021418f, 0.006635f, -0.040468f, 0.014792f, -0.071190f, -0.035976f, 0.015721f, 0.036216f, 0.004255f, 0.007627f, 0.027050f, 0.071187f, 0.048743f, 0.014209f, 0.002596f, -0.001179f, 0.007879f, 0.004806f, -0.028214f, -0.000621f, 0.017595f, 0.021296f, 0.095989f, 0.052937f, 0.036727f, 0.068126f, 0.027964f, -0.011461f, 0.020371f, -0.002895f, 0.066037f, 0.022449f, -0.006120f, -0.012876f, 0.027082f, -0.006155f, 0.031121f, -0.101328f, 0.003342f, 0.032110f, -0.003109f, 0.039171f, -0.016661f, 0.008555f, 0.020756f, -0.095060f, -0.037200f, -0.010006f, -0.031246f, -0.041306f, -0.046989f, 0.039016f, -0.029690f, 0.004849f, -0.010807f, 0.038432f, -0.072222f, -0.023593f, -0.013013f, 0.016606f, -0.004241f, -0.012603f, 0.046240f, 0.081627f, -0.007373f, 0.017278f, -0.028184f, -0.011002f, 0.037833f, 0.040829f, -0.038706f, -0.118778f, -0.026279f, 0.054306f, 0.007308f, -0.009713f, -0.014040f, 0.007799f, -0.021345f, -0.018537f, 0.022653f, 0.024193f, 0.051365f, 0.024325f, 0.029055f, -0.008564f, 0.069730f, 0.017473f, + 0.042488f, -0.002548f, 0.063862f, -0.021897f, 0.039922f, -0.039327f, -0.004399f, 0.009015f, 0.027039f, -0.008308f, -0.028722f, -0.053218f, 0.027031f, 0.008593f, 0.001473f, -0.023368f, -0.056791f, 0.001361f, 0.000698f, -0.001740f, 0.010410f, 0.037955f, -0.000509f, 0.028606f, 0.079211f, -0.030738f, 0.002688f, -0.022823f, 0.037845f, 0.043363f, -0.048767f, 0.045754f, 0.039506f, -0.027015f, 0.005021f, 0.016877f, 0.024895f, 0.022123f, 0.057399f, 0.027175f, -0.030526f, 0.011175f, 0.075488f, 0.034361f, -0.104079f, 0.036816f, 0.007859f, -0.072609f, -0.032962f, -0.015470f, -0.069380f, 0.016829f, 0.022706f, 0.054624f, -0.039702f, 0.090635f, -0.075599f, 0.061157f, 0.133503f, 0.008286f, -0.073403f, 0.113989f, -0.025358f, -0.002404f, 0.016802f, 0.064242f, -0.036991f, 0.001935f, 0.130580f, -0.065474f, 0.031347f, 0.042888f, 0.042399f, -0.058796f, -0.005549f, 0.009216f, -0.028051f, 0.003725f, 0.013789f, -0.024768f, 0.023302f, -0.041187f, -0.011126f, -0.017415f, -0.002874f, -0.025476f, -0.020804f, -0.009404f, 0.012633f, -0.045212f, -0.040507f, 0.059089f, 0.011129f, -0.040269f, -0.009978f, 0.034095f, + 0.088105f, -0.010026f, -0.042942f, 0.043446f, 0.067550f, -0.022318f, -0.005030f, -0.001130f, 0.024438f, -0.002914f, 0.000040f, 0.027382f, -0.074644f, 0.047596f, -0.043073f, -0.003338f, -0.061039f, 0.030034f, -0.004787f, -0.095726f, 0.044990f, -0.011505f, -0.035246f, 0.056033f, 0.007281f, 0.054795f, -0.051355f, -0.026363f, -0.020649f, -0.054987f, -0.073648f, -0.105933f, 0.083151f, 0.024729f, 0.061228f, 0.046511f, -0.000156f, -0.020032f, 0.070201f, -0.027664f, 0.019343f, 0.018312f, -0.076958f, 0.068847f, 0.021348f, -0.017771f, 0.055522f, 0.006220f, 0.001515f, 0.029561f, -0.027525f, 0.074971f, -0.061704f, -0.030535f, 0.024900f, 0.026468f, 0.009872f, -0.054055f, -0.036284f, -0.060428f, 0.031046f, 0.008979f, 0.028018f, 0.000796f, 0.030214f, 0.014082f, 0.007988f, 0.001909f, 0.025107f, -0.012308f, 0.012255f, -0.027650f, 0.017560f, -0.025622f, -0.003815f, -0.034017f, -0.028028f, 0.001534f, -0.034281f, 0.014257f, 0.068598f, 0.017235f, -0.058511f, 0.028153f, 0.017569f, 0.038142f, -0.003342f, 0.063528f, -0.059602f, 0.007808f, 0.020744f, -0.053819f, -0.017382f, 0.106178f, 0.055055f, -0.142808f, + -0.065671f, 0.074112f, -0.026381f, -0.068747f, 0.020368f, -0.008651f, -0.058459f, 0.035971f, 0.057353f, -0.089865f, 0.009491f, 0.074573f, -0.061302f, -0.050962f, 0.053465f, 0.003781f, -0.061196f, 0.057461f, -0.130014f, -0.014735f, -0.018695f, -0.155380f, -0.021635f, -0.051396f, 0.020057f, 0.020854f, 0.049840f, -0.024798f, -0.053230f, -0.027080f, -0.079157f, 0.006449f, 0.035806f, 0.012671f, 0.019015f, -0.072880f, 0.047402f, 0.001843f, -0.076096f, 0.054998f, -0.082191f, -0.040700f, -0.027153f, 0.019187f, 0.069573f, 0.069160f, -0.000052f, -0.021253f, -0.136265f, 0.056524f, 0.150316f, 0.047961f, 0.009582f, -0.083755f, -0.109674f, -0.052209f, -0.003325f, 0.056090f, -0.066093f, -0.047933f, -0.067956f, -0.028287f, 0.141483f, 0.140696f, -0.018322f, -0.071411f, -0.050548f, -0.035187f, -0.008040f, 0.068663f, -0.027279f, 0.017417f, 0.022930f, 0.044176f, -0.005457f, -0.037267f, -0.076611f, -0.041289f, 0.137657f, 0.050784f, 0.094811f, -0.083441f, -0.034451f, -0.041203f, 0.097650f, -0.003039f, -0.132426f, -0.142981f, 0.088639f, 0.127210f, 0.235844f, 0.031816f, -0.173602f, 0.018319f, -0.017557f, -0.065621f, + 0.055585f, -0.058273f, -0.016023f, 0.004877f, 0.012624f, -0.008910f, 0.011003f, 0.026245f, -0.042156f, -0.031209f, -0.003662f, 0.011418f, 0.022265f, -0.025944f, 0.001023f, 0.024168f, -0.019878f, 0.015970f, -0.011812f, 0.068870f, -0.004047f, -0.007673f, 0.035072f, 0.023265f, 0.030776f, -0.014862f, 0.018461f, -0.004613f, -0.004180f, 0.030270f, 0.016598f, 0.006909f, 0.004998f, 0.039991f, -0.038636f, -0.008428f, 0.000309f, 0.053140f, -0.004336f, -0.009302f, 0.043807f, -0.009891f, -0.024239f, -0.018367f, 0.035551f, -0.007192f, 0.013363f, 0.012609f, 0.002110f, -0.011697f, 0.003102f, 0.017383f, 0.001360f, 0.046402f, 0.017855f, 0.014648f, -0.023478f, -0.000856f, 0.012509f, -0.029622f, 0.006848f, 0.014035f, 0.027944f, 0.002402f, -0.008817f, 0.020389f, -0.001111f, -0.034922f, 0.035833f, 0.014338f, -0.015633f, 0.035842f, -0.030042f, -0.001704f, -0.025740f, -0.014124f, 0.012587f, 0.106515f, 0.009153f, -0.040050f, -0.032201f, 0.004824f, 0.024769f, -0.001954f, 0.022677f, -0.008866f, -0.005321f, -0.030124f, -0.005914f, -0.021208f, 0.033673f, -0.021074f, -0.001040f, -0.013434f, -0.005499f, -0.008020f, + 0.004295f, -0.022304f, 0.004062f, -0.009784f, -0.014770f, 0.004248f, -0.001743f, 0.000971f, -0.003454f, 0.007488f, 0.004481f, -0.018593f, -0.011039f, -0.000209f, -0.011681f, -0.011008f, 0.009900f, -0.003119f, -0.017976f, 0.001132f, -0.009631f, 0.007918f, -0.026915f, 0.013803f, -0.011227f, -0.021080f, 0.007236f, -0.009648f, -0.010070f, 0.002879f, 0.000667f, 0.001372f, -0.003764f, 0.004752f, -0.007631f, 0.009512f, -0.004972f, 0.001158f, 0.016311f, -0.010964f, 0.006028f, -0.002702f, -0.000816f, 0.004499f, -0.011986f, 0.011960f, -0.012675f, 0.011995f, -0.002093f, -0.000115f, -0.007977f, 0.011518f, -0.012437f, 0.001548f, 0.004722f, -0.015934f, 0.016162f, -0.008048f, -0.050443f, -0.084267f, 0.089235f, 0.305231f, 0.059823f, 0.090801f, -0.187623f, -0.263580f, -0.108548f, -0.138615f, 0.107142f, 0.244760f, 0.142470f, 0.093702f, 0.010534f, -0.136859f, -0.119006f, -0.121327f, -0.048088f, 0.066765f, 0.059067f, 0.060711f, 0.056746f, -0.003230f, -0.008076f, -0.015624f, -0.018401f, -0.029868f, -0.002923f, 0.036185f, -0.002437f, -0.023319f, -0.007682f, -0.033064f, -0.016893f, -0.007012f, -0.007007f, 0.058832f, + 0.056959f, 0.031630f, 0.036440f, 0.000221f, -0.042827f, -0.046100f, -0.080815f, -0.056014f, 0.008209f, 0.004936f, 0.017346f, 0.046369f, 0.069215f, 0.039335f, 0.035148f, -0.003447f, -0.038250f, -0.055953f, -0.046117f, -0.041130f, 0.006059f, 0.011869f, 0.025495f, 0.015173f, 0.011827f, 0.000210f, -0.013961f, 0.003114f, 0.001412f, 0.003305f, 0.033940f, -0.006024f, 0.014728f, 0.012367f, -0.026006f, -0.051458f, -0.050365f, -0.048489f, 0.011012f, 0.027496f, 0.011013f, 0.000717f} + }, + { + {-0.008059f, -0.005875f, 0.001286f, -0.005162f, -0.003196f, -0.002335f, -0.000658f, -0.000829f, -0.003333f, -0.009998f, -0.007446f, -0.005293f, -0.002600f, -0.007229f, 0.003015f, -0.001677f, 0.001190f, -0.002989f, -0.001072f, -0.004525f, 0.004732f, 0.000934f, -0.003315f, -0.005961f, 0.000583f, 0.006690f, 0.003686f, -0.006808f, -0.006538f, 0.001222f, 0.000559f, 0.000765f, -0.004552f, 0.000988f, -0.001646f, -0.002945f, -0.000874f, -0.002776f, -0.004192f, -0.001959f, -0.007132f, 0.009224f, 0.002581f, 0.006406f, -0.006208f, -0.010518f, -0.000828f, 0.001353f, -0.001166f, -0.009767f, 0.000570f, -0.002429f, 0.005761f, 0.003895f, 0.004326f, 0.009934f, -0.001717f, -0.000350f, -0.003033f, -0.001500f, 0.003604f, -0.006764f, 0.007948f, 0.009509f, -0.004479f, -0.003122f, -0.007930f, -0.004152f, 0.001607f, -0.002412f, -0.004781f, 0.000525f, -0.005047f, -0.002600f, -0.006397f, -0.005346f, -0.005880f, 0.003920f, 0.011890f, 0.000848f, 0.007993f, -0.001963f, -0.001038f, -0.004412f, 0.008503f, 0.005131f, -0.004835f, -0.006694f, 0.004325f, -0.001854f, -0.009917f, -0.011797f, 0.002834f, 0.000361f, -0.003832f, -0.004179f, + -0.007726f, 0.004744f, -0.009106f, 0.002097f, -0.000836f, 0.001816f, 0.000822f, 0.001689f, -0.004061f, -0.000894f, 0.001689f, 0.002330f, -0.000883f, 0.002903f, 0.002413f, -0.004417f, 0.003125f, -0.002828f, -0.007772f, 0.010729f, -0.002082f, 0.000100f, 0.002700f, -0.001825f, 0.006183f, 0.007378f, -0.001628f, 0.002454f, 0.005945f, -0.000025f, -0.006196f, -0.005342f, 0.001629f, 0.003131f, -0.001833f, 0.001396f, 0.007298f, -0.007057f, -0.005660f, 0.005257f, 0.001229f, -0.003201f, -0.003780f, -0.001067f, 0.001482f, 0.003565f, -0.007167f, 0.002478f, 0.002009f, -0.006946f, -0.005973f, 0.003807f, -0.003126f, -0.009255f, -0.002945f, -0.002853f, 0.011723f, 0.009821f, -0.014554f, -0.006155f, -0.010065f, 0.006637f, -0.004924f, -0.006673f, -0.004671f, -0.005970f, -0.001285f, 0.002351f, 0.010866f, 0.002001f, -0.005914f, 0.009350f, 0.000296f, 0.009639f, -0.009208f, 0.014866f, 0.006786f, 0.016119f, -0.002921f, -0.005315f, -0.001146f, -0.008668f, -0.000790f, -0.000492f, -0.003225f, 0.003130f, 0.000265f, -0.006846f, -0.001720f, 0.000121f, 0.002145f, 0.007089f, 0.001588f, -0.010295f, -0.008710f, -0.003144f, + 0.005870f, 0.000551f, 0.000295f, -0.005131f, 0.008715f, -0.000068f, 0.000659f, -0.003579f, 0.001139f, -0.002089f, 0.004605f, -0.001297f, 0.014553f, 0.000311f, -0.001853f, 0.005691f, -0.003597f, -0.006328f, -0.002624f, 0.005119f, 0.008843f, 0.001665f, 0.005464f, 0.001540f, 0.001023f, -0.004378f, -0.004366f, -0.007141f, -0.000174f, -0.007399f, 0.002080f, 0.006500f, 0.006864f, 0.004965f, -0.002109f, -0.003066f, 0.006316f, 0.010465f, 0.010574f, 0.006118f, -0.000358f, 0.009252f, -0.005194f, -0.007266f, 0.007008f, 0.007998f, 0.009357f, 0.014659f, 0.000976f, -0.008855f, 0.004921f, -0.008441f, -0.000977f, 0.003193f, 0.001695f, 0.016255f, 0.000857f, -0.012619f, -0.001010f, 0.002545f, 0.004984f, -0.000691f, -0.004809f, -0.013944f, -0.003235f, 0.012252f, 0.003696f, 0.008126f, 0.008788f, 0.007909f, 0.001651f, -0.001142f, 0.007721f, -0.010337f, -0.000857f, -0.006974f, 0.018656f, -0.000863f, -0.000041f, 0.008724f, -0.007729f, -0.000954f, 0.002375f, -0.000916f, 0.010801f, -0.001613f, 0.002773f, 0.011118f, -0.002854f, 0.003588f, 0.000155f, -0.000384f, -0.000903f, -0.001296f, -0.004007f, 0.004886f, + 0.005480f, -0.001392f, 0.005400f, 0.002463f, 0.011541f, 0.014487f, -0.001825f, 0.004002f, 0.001229f, -0.007048f, 0.005868f, -0.001563f, -0.007377f, 0.002762f, 0.005518f, 0.002240f, -0.003455f, 0.015720f, 0.015887f, -0.006403f, -0.008713f, -0.008071f, -0.005133f, 0.003778f, -0.016862f, -0.001897f, 0.002606f, -0.008413f, -0.014914f, 0.014484f, -0.002948f, -0.003919f, 0.002582f, 0.006566f, 0.006263f, -0.007713f, -0.002765f, -0.000505f, -0.000602f, 0.003342f, 0.005390f, -0.003039f, 0.006577f, -0.004952f, 0.009969f, -0.001344f, 0.000596f, -0.005166f, 0.005352f, 0.001742f, -0.001298f, -0.005136f, 0.002548f, -0.002977f, -0.004184f, -0.003803f, 0.001041f, 0.003083f, -0.009074f, 0.000666f, -0.017275f, -0.010195f, 0.006411f, -0.002736f, 0.002213f, 0.003788f, 0.011593f, -0.003791f, -0.005679f, -0.000489f, 0.000450f, 0.004750f, 0.004711f, -0.005441f, -0.002318f, 0.012616f, 0.000503f, 0.001886f, 0.001067f, 0.005602f, -0.010620f, 0.000330f, 0.005263f, 0.009835f, 0.001921f, 0.004230f, 0.014767f, -0.003675f, -0.001709f, -0.008077f, -0.000307f, 0.002555f, 0.004656f, -0.009986f, -0.015994f, 0.006927f, + -0.005333f, 0.000439f, -0.008328f, 0.006459f, -0.018473f, -0.014899f, -0.017444f, -0.005699f, -0.003858f, -0.011942f, 0.005939f, 0.016585f, -0.012364f, 0.002630f, 0.019132f, -0.004407f, -0.005528f, -0.008846f, 0.001316f, 0.000003f, 0.008310f, 0.002849f, 0.005884f, 0.004358f, -0.006602f, -0.012280f, -0.006170f, 0.007361f, -0.004502f, -0.007523f, 0.001554f, 0.003100f, 0.002056f, 0.001543f, 0.016474f, -0.007987f, 0.008776f, -0.004432f, 0.004186f, -0.004958f, 0.013582f, -0.010502f, 0.005260f, -0.000933f, -0.008824f, 0.007685f, -0.003608f, -0.002854f, 0.007821f, 0.004342f, -0.001290f, -0.003812f, 0.006999f, 0.003617f, -0.008458f, -0.009513f, 0.005743f, 0.010211f, 0.005121f, 0.000072f, -0.005271f, 0.000347f, 0.005804f, -0.003041f, 0.007130f, -0.002078f, -0.017194f, 0.000318f, -0.008124f, 0.023003f, 0.007080f, -0.013238f, -0.008320f, -0.001853f, 0.000074f, 0.006682f, -0.014137f, -0.015864f, 0.013492f, -0.002396f, -0.014120f, 0.001748f, -0.004179f, 0.014365f, 0.006100f, -0.002913f, 0.001791f, -0.000114f, -0.002847f, -0.001904f, 0.015170f, 0.003666f, 0.000017f, -0.010400f, -0.005856f, -0.002061f, + 0.004710f, 0.007494f, 0.020597f, 0.000986f, -0.000243f, -0.000237f, 0.000483f, -0.009065f, -0.000586f, 0.004282f, -0.012812f, -0.007963f, -0.008701f, -0.000647f, 0.014612f, -0.012505f, 0.001025f, 0.007443f, 0.001917f, -0.005752f, 0.005312f, -0.015769f, 0.011776f, -0.002659f, -0.001328f, 0.007224f, -0.009457f, -0.009366f, -0.016107f, 0.003171f, -0.006294f, 0.013921f, 0.003275f, 0.000322f, 0.001022f, 0.004162f, 0.009201f, -0.004937f, -0.004190f, 0.011219f, -0.004228f, -0.006723f, -0.002240f, 0.011104f, 0.009415f, 0.010164f, 0.003404f, -0.007473f, 0.004255f, 0.008962f, -0.014059f, 0.013696f, -0.012074f, -0.009159f, 0.008761f, -0.030231f, -0.018735f, 0.004526f, 0.010204f, 0.019487f, -0.011578f, 0.010141f, 0.002748f, 0.010722f, 0.000151f, -0.006005f, -0.006197f, 0.006372f, 0.021654f, 0.001101f, -0.001088f, -0.020611f, -0.015944f, -0.000544f, -0.011518f, -0.007861f, 0.001468f, 0.001882f, -0.011820f, -0.004387f, 0.003810f, 0.006773f, 0.004701f, -0.008736f, 0.000738f, 0.008799f, 0.008408f, 0.001012f, -0.006950f, 0.000865f, -0.003955f, 0.001728f, 0.003399f, 0.003777f, -0.005177f, 0.006943f, + 0.018977f, -0.002344f, -0.000598f, 0.003065f, -0.009398f, 0.004348f, 0.015420f, -0.014879f, -0.016309f, -0.009214f, 0.002152f, -0.022443f, 0.001281f, 0.000309f, 0.003805f, -0.000068f, 0.000386f, -0.010722f, -0.004956f, -0.006993f, -0.000252f, 0.014905f, 0.022835f, 0.000582f, 0.002085f, 0.010865f, -0.003948f, -0.001703f, 0.005558f, 0.025248f, 0.003614f, 0.009447f, 0.017859f, 0.003944f, -0.011322f, 0.005878f, 0.016119f, 0.008608f, -0.013091f, -0.001525f, 0.031078f, 0.025710f, 0.006598f, 0.015150f, 0.020846f, 0.004112f, 0.000713f, 0.012143f, -0.004885f, -0.000750f, -0.010810f, 0.008782f, 0.000227f, -0.000414f, 0.005410f, 0.004254f, 0.017450f, -0.014716f, -0.011527f, 0.011623f, 0.003657f, 0.004810f, -0.008728f, 0.000857f, -0.002313f, 0.005517f, 0.001243f, 0.008108f, 0.010059f, -0.009999f, 0.008722f, 0.005320f, -0.009185f, 0.025724f, 0.005921f, 0.004196f, -0.019436f, -0.007673f, -0.000347f, 0.016263f, 0.017495f, -0.002725f, -0.016385f, 0.010505f, -0.014017f, -0.005952f, 0.015047f, -0.001581f, -0.009408f, 0.011997f, 0.018254f, -0.005517f, 0.007308f, -0.008032f, -0.021520f, -0.001271f, + 0.016838f, -0.008356f, -0.005962f, 0.008260f, -0.009024f, -0.018658f, 0.006558f, 0.009711f, 0.023549f, 0.009049f, -0.012841f, 0.004462f, -0.015140f, -0.024080f, 0.024151f, 0.006984f, 0.012879f, 0.032046f, 0.019294f, -0.012737f, -0.004444f, 0.000326f, 0.004760f, 0.005279f, -0.002660f, -0.011322f, 0.002301f, -0.007449f, 0.012367f, 0.001365f, 0.004399f, -0.003262f, -0.002523f, -0.011730f, -0.007353f, 0.027930f, 0.008343f, -0.015295f, 0.007240f, -0.014880f, -0.011799f, -0.023874f, 0.010418f, 0.001622f, -0.000055f, 0.007176f, -0.001115f, -0.010067f, 0.018482f, 0.012132f, -0.004540f, -0.017646f, 0.018702f, -0.011634f, 0.004705f, 0.000986f, 0.005946f, 0.005295f, 0.011840f, 0.015556f, -0.003498f, 0.009387f, 0.021920f, 0.004560f, -0.007118f, -0.004541f, -0.004058f, 0.005306f, 0.014667f, -0.002109f, 0.005938f, 0.003204f, -0.013556f, 0.002658f, -0.003308f, 0.008848f, -0.020279f, 0.002025f, -0.033799f, -0.018071f, -0.018732f, -0.002141f, -0.018429f, 0.015401f, -0.004300f, -0.012464f, -0.003664f, 0.001515f, -0.011861f, -0.001910f, 0.000535f, 0.005157f, -0.005843f, -0.011644f, -0.020813f, -0.027267f, + -0.012061f, -0.018335f, 0.046579f, -0.022874f, 0.010982f, -0.021650f, -0.005516f, 0.001648f, -0.002899f, -0.032022f, -0.000165f, -0.015543f, 0.001586f, 0.036390f, -0.011398f, 0.014891f, 0.020796f, 0.006706f, 0.008682f, 0.021590f, 0.006999f, -0.009353f, 0.006675f, 0.008028f, 0.009714f, 0.003272f, -0.004338f, 0.025180f, 0.001248f, -0.002826f, -0.004113f, 0.006268f, -0.002018f, -0.009789f, 0.008929f, -0.004122f, 0.006414f, -0.025894f, 0.001134f, -0.005660f, 0.022754f, -0.009783f, 0.007332f, 0.033212f, -0.003005f, -0.000132f, -0.008396f, -0.014927f, -0.000944f, -0.003176f, -0.014588f, 0.017208f, -0.004143f, 0.012234f, 0.001085f, 0.011494f, -0.007566f, -0.002247f, 0.026769f, 0.012394f, -0.021660f, -0.011999f, 0.005151f, 0.005593f, 0.002531f, 0.004832f, -0.006990f, 0.006704f, 0.009041f, 0.021567f, -0.030136f, 0.000640f, -0.013745f, 0.004738f, -0.002467f, -0.004580f, -0.006306f, -0.016061f, -0.012681f, -0.015542f, 0.016885f, -0.031655f, -0.008096f, -0.020117f, 0.010632f, 0.031194f, -0.016358f, 0.000193f, 0.001979f, -0.006987f, 0.013423f, -0.010992f, 0.006077f, -0.003872f, -0.012017f, 0.027863f, + 0.002593f, -0.009927f, 0.001606f, -0.004773f, -0.011394f, 0.009378f, -0.008417f, 0.008795f, -0.016778f, -0.008911f, 0.013482f, 0.008452f, -0.028831f, -0.005875f, -0.024321f, 0.007228f, -0.002908f, -0.025100f, 0.031545f, -0.008785f, 0.000872f, -0.023183f, -0.023569f, 0.001170f, -0.021063f, -0.003202f, -0.017947f, -0.016878f, 0.021342f, 0.002016f, -0.023726f, 0.008219f, -0.021007f, 0.020199f, 0.009104f, -0.009832f, 0.002618f, 0.006568f, 0.023199f, -0.016349f, -0.021317f, 0.023779f, -0.014394f, -0.009099f, 0.014522f, 0.018199f, -0.030759f, -0.015717f, 0.021152f, 0.014656f, 0.009749f, -0.000825f, 0.004803f, -0.022544f, 0.016117f, -0.024667f, -0.039133f, -0.032362f, 0.014763f, -0.038620f, -0.001483f, 0.028431f, -0.002213f, 0.001577f, 0.021081f, -0.014287f, -0.011422f, 0.045433f, -0.017905f, 0.010213f, 0.017768f, -0.003800f, -0.041404f, -0.004034f, 0.004636f, -0.011056f, -0.005553f, -0.010288f, 0.039077f, -0.000232f, 0.000620f, -0.002531f, -0.027847f, 0.004497f, -0.015991f, -0.008744f, 0.001852f, 0.004030f, 0.008381f, 0.021910f, 0.005070f, -0.006497f, 0.044447f, 0.003986f, -0.010989f, -0.041321f, + -0.005963f, 0.029081f, -0.006536f, -0.019367f, -0.025102f, -0.022758f, -0.018944f, -0.012585f, 0.031414f, 0.011518f, 0.001591f, 0.016779f, 0.026124f, 0.013923f, -0.006075f, -0.005447f, 0.026906f, -0.006222f, -0.008809f, 0.007069f, 0.020358f, 0.002089f, -0.022025f, 0.004015f, -0.002832f, -0.033009f, -0.003185f, 0.024492f, -0.013505f, -0.015831f, -0.004580f, 0.033064f, -0.028371f, -0.006974f, -0.015402f, 0.031892f, 0.003718f, -0.029306f, -0.000582f, 0.008263f, -0.000537f, -0.013547f, 0.013063f, -0.010100f, 0.026262f, -0.020119f, 0.018239f, 0.038311f, -0.009861f, -0.010582f, -0.008493f, -0.008307f, 0.035116f, -0.025804f, -0.027434f, -0.021656f, 0.008498f, -0.011383f, -0.017386f, -0.008497f, 0.013104f, -0.017488f, 0.010325f, 0.002141f, 0.014287f, 0.019979f, 0.003251f, -0.002651f, -0.003056f, 0.019740f, -0.004281f, 0.006961f, -0.023428f, -0.000228f, -0.007782f, 0.019318f, -0.024909f, 0.021217f, -0.008008f, -0.013231f, 0.022247f, 0.037036f, -0.019827f, 0.010628f, -0.003627f, 0.007633f, -0.054500f, -0.043824f, -0.025691f, 0.004036f, -0.015921f, 0.007524f, 0.002829f, -0.020373f, -0.015253f, 0.002052f, + 0.045250f, 0.010710f, -0.026538f, -0.040896f, -0.020742f, -0.014887f, 0.028056f, -0.018443f, -0.025962f, 0.006785f, 0.006626f, -0.024445f, -0.001098f, 0.000013f, -0.012462f, 0.006869f, 0.055249f, 0.036664f, -0.009943f, 0.003933f, 0.035543f, -0.013973f, 0.000761f, 0.015639f, 0.038437f, 0.022992f, -0.007337f, -0.008579f, -0.014054f, 0.003562f, -0.008044f, 0.000616f, 0.000323f, 0.040980f, 0.067147f, -0.004061f, 0.046067f, 0.029421f, 0.005284f, 0.007146f, -0.034165f, -0.033343f, -0.004602f, 0.008456f, -0.003258f, 0.007742f, -0.013355f, -0.025220f, -0.042740f, -0.004109f, -0.027864f, -0.023341f, -0.016062f, -0.024219f, -0.017940f, -0.001674f, 0.037778f, -0.002067f, -0.030539f, -0.003405f, 0.007293f, 0.027799f, -0.010165f, -0.008442f, -0.018731f, 0.011842f, -0.053992f, -0.048841f, -0.024010f, -0.025173f, -0.026555f, -0.017027f, 0.015678f, -0.023136f, -0.030770f, -0.026843f, -0.045425f, 0.020602f, 0.011063f, -0.041660f, 0.019159f, 0.037273f, 0.077045f, 0.040312f, -0.001223f, 0.011354f, -0.045283f, -0.021343f, 0.024337f, 0.017619f, -0.009874f, -0.059538f, -0.003455f, 0.090311f, -0.004796f, 0.001187f, + 0.025002f, -0.035960f, 0.020819f, 0.063278f, 0.062342f, -0.063418f, -0.056769f, -0.002385f, -0.061782f, -0.026475f, 0.001611f, 0.004867f, 0.024838f, 0.032376f, 0.032405f, 0.051854f, 0.014427f, 0.018815f, 0.023211f, -0.011868f, -0.002398f, 0.003208f, 0.008625f, 0.013306f, -0.027792f, 0.062595f, 0.029421f, 0.027671f, -0.004384f, 0.063512f, 0.009509f, 0.037074f, 0.017820f, 0.009509f, -0.014464f, -0.013229f, 0.035011f, 0.009903f, 0.016841f, -0.038875f, -0.018048f, -0.033034f, -0.016401f, -0.024953f, 0.000860f, -0.046533f, -0.046024f, -0.006100f, -0.017200f, -0.091949f, -0.065070f, -0.063108f, 0.017838f, 0.061106f, 0.084383f, -0.049630f, 0.058408f, 0.086181f, 0.016070f, 0.004172f, -0.004902f, 0.058363f, 0.005587f, 0.052649f, 0.025035f, 0.023282f, -0.035831f, -0.125321f, -0.095382f, -0.022925f, 0.000818f, -0.009060f, 0.047172f, -0.012264f, -0.078827f, -0.009574f, 0.131240f, 0.021092f, -0.021982f, 0.030715f, -0.008538f, 0.019033f, -0.008255f, -0.016690f, -0.040473f, -0.018751f, -0.002661f, -0.009948f, -0.018438f, 0.027613f, -0.025722f, -0.032604f, -0.000240f, 0.001680f, 0.028771f, 0.009025f, + 0.009114f, 0.008324f, -0.009417f, -0.003052f, 0.041913f, -0.023996f, -0.046616f, -0.013099f, 0.005640f, -0.019807f, 0.034936f, -0.021225f, -0.010047f, 0.024537f, 0.009150f, 0.017493f, -0.048595f, -0.059979f, 0.019644f, -0.014931f, -0.018105f, -0.028241f, -0.028736f, -0.066059f, 0.000905f, -0.009985f, 0.021201f, -0.044228f, -0.081816f, 0.056697f, 0.017321f, 0.052773f, 0.006648f, -0.024131f, -0.017438f, 0.009369f, -0.031202f, 0.042003f, 0.009088f, 0.051237f, 0.039444f, 0.078729f, -0.009714f, -0.089728f, -0.065794f, -0.044567f, 0.044518f, 0.038387f, -0.040615f, 0.027346f, 0.066652f, -0.054229f, -0.069192f, 0.071668f, 0.094546f, 0.017762f, 0.003143f, 0.022322f, -0.015840f, 0.042790f, 0.022107f, 0.044638f, -0.010129f, -0.045149f, 0.101118f, 0.001503f, -0.039830f, 0.005613f, 0.067908f, 0.032549f, 0.012211f, -0.043088f, 0.003369f, -0.022742f, -0.018564f, 0.007576f, -0.034070f, 0.003422f, 0.007346f, 0.039984f, -0.057352f, -0.008949f, -0.008165f, 0.033765f, -0.014118f, -0.020190f, -0.021131f, 0.000139f, 0.019718f, -0.043126f, 0.001691f, 0.011736f, -0.090407f, 0.012476f, -0.025570f, -0.062535f, + 0.039763f, -0.046252f, -0.082691f, 0.107302f, -0.002241f, 0.006133f, -0.009833f, -0.030011f, 0.063433f, -0.046064f, -0.005558f, 0.009287f, -0.030727f, -0.002880f, 0.080775f, 0.041737f, -0.073092f, -0.078802f, 0.076323f, -0.037604f, 0.044422f, 0.072973f, -0.066497f, -0.115399f, -0.078724f, 0.130536f, -0.006763f, -0.105047f, 0.096733f, -0.070919f, -0.127174f, -0.004464f, 0.118176f, -0.005997f, -0.041959f, 0.066174f, -0.010263f, 0.017219f, 0.048660f, 0.027998f, 0.037791f, 0.078502f, 0.039545f, -0.024459f, 0.016852f, 0.016162f, 0.030758f, -0.034178f, 0.083280f, 0.070835f, 0.014245f, 0.021695f, -0.014568f, -0.004396f, -0.077328f, 0.032908f, -0.039006f, 0.024489f, 0.000559f, -0.034290f, 0.047881f, -0.022011f, -0.028889f, 0.013061f, -0.042377f, 0.026176f, 0.005346f, -0.013463f, 0.016893f, 0.014523f, 0.032933f, 0.024711f, 0.032272f, 0.079332f, -0.003949f, 0.004283f, 0.031020f, 0.051740f, -0.001040f, 0.010039f, 0.004881f, 0.039230f, 0.057455f, -0.022355f, 0.017676f, -0.007637f, -0.003366f, -0.101559f, 0.013174f, 0.035484f, -0.017221f, -0.029162f, 0.027435f, -0.045839f, -0.053055f, -0.000609f, + 0.040950f, 0.064934f, -0.083451f, 0.028601f, 0.004062f, -0.009163f, 0.010415f, 0.028696f, 0.088364f, -0.006272f, -0.040961f, 0.009476f, 0.082511f, 0.043709f, -0.082588f, -0.064483f, -0.001023f, -0.099438f, -0.033986f, -0.036781f, 0.076729f, -0.002182f, -0.028148f, 0.035304f, -0.017864f, 0.019645f, 0.005215f, -0.037786f, 0.045547f, -0.102251f, -0.009493f, 0.006488f, -0.025379f, 0.019213f, 0.004825f, -0.019615f, -0.003389f, 0.003457f, 0.026082f, 0.002067f, -0.029769f, -0.098835f, -0.072230f, -0.054573f, -0.027188f, 0.062390f, -0.012197f, 0.003173f, -0.099264f, 0.008418f, -0.006638f, -0.012415f, 0.003441f, -0.095065f, 0.051852f, -0.045402f, 0.024025f, -0.017648f, 0.065864f, -0.034146f, -0.063170f, -0.028704f, -0.000226f, 0.049589f, 0.087016f, 0.093350f, -0.112045f, -0.080620f, -0.057020f, 0.041611f, 0.092723f, 0.114984f, -0.019072f, -0.024384f, -0.097909f, -0.032282f, 0.088103f, 0.058375f, -0.000428f, 0.005734f, -0.001330f, -0.076299f, 0.056557f, -0.008331f, 0.054868f, 0.140614f, -0.143753f, 0.190334f, 0.050899f, -0.075074f, -0.082661f, 0.068289f, -0.040802f, 0.041790f, 0.022746f, 0.026186f, + 0.016092f, -0.053592f, 0.058485f, -0.009135f, -0.020265f, -0.019544f, -0.022522f, 0.017287f, -0.011597f, 0.024813f, 0.015533f, -0.003786f, -0.005579f, -0.044877f, 0.026315f, 0.010077f, -0.010898f, 0.009460f, 0.023948f, -0.007093f, 0.013823f, -0.022972f, 0.027198f, -0.010318f, 0.003964f, 0.010477f, 0.011888f, -0.012216f, 0.041659f, -0.001925f, -0.038065f, -0.002862f, 0.018392f, 0.008520f, -0.028976f, 0.014127f, 0.034991f, -0.006677f, -0.016133f, -0.016492f, -0.001677f, 0.009350f, -0.003588f, 0.040341f, -0.026608f, -0.010427f, -0.009085f, -0.020257f, -0.001159f, -0.006068f, 0.015363f, 0.010942f, -0.016184f, -0.002177f, 0.016029f, -0.015850f, -0.007964f, -0.004199f, 0.025350f, -0.014516f, 0.010953f, 0.018096f, -0.038698f, -0.013744f, 0.012078f, -0.037625f, 0.060247f, 0.020885f, 0.016866f, 0.036962f, 0.096638f, 0.011813f, -0.031785f, -0.025923f, -0.018180f, -0.002496f, -0.002323f, 0.001454f, -0.001830f, -0.004345f, -0.053445f, 0.000559f, -0.009976f, -0.013135f, 0.007734f, -0.021896f, -0.008794f, 0.009299f, -0.013957f, 0.003663f, 0.017757f, -0.023309f, 0.015292f, -0.008961f, -0.011103f, -0.002452f, + -0.011077f, 0.005139f, -0.010180f, -0.006471f, -0.012149f, -0.003060f, 0.000900f, -0.000776f, -0.006806f, -0.008700f, 0.003664f, 0.003884f, -0.008287f, 0.012412f, -0.014570f, -0.001821f, -0.005025f, -0.002423f, -0.001643f, -0.012948f, 0.018575f, 0.010166f, -0.015830f, 0.020612f, -0.000656f, 0.004108f, -0.007948f, 0.019778f, -0.018529f, 0.001157f, 0.003396f, 0.004972f, -0.001584f, -0.005560f, 0.016857f, -0.010315f, 0.004155f, 0.000459f, -0.001034f, 0.004473f, -0.004392f, -0.001231f, 0.010689f, -0.004520f, -0.001367f, 0.009277f, -0.001023f, -0.004236f, -0.005869f, 0.004923f, 0.007758f, -0.045827f, -0.077343f, 0.086222f, 0.285392f, 0.030188f, 0.064712f, -0.154827f, -0.239430f, -0.058877f, -0.125595f, 0.098007f, 0.198594f, 0.106239f, 0.065446f, -0.013945f, -0.078607f, -0.075215f, -0.058469f, -0.052254f, 0.017857f, 0.035019f, 0.018528f, 0.037609f, 0.003669f, 0.003863f, 0.013278f, 0.005072f, 0.015217f, 0.014008f, -0.011012f, -0.035594f, -0.028253f, -0.031278f, -0.044707f, -0.022064f, 0.023172f, 0.032454f, 0.057337f, 0.083715f, 0.028672f, 0.012826f, -0.028920f, -0.064874f, -0.064999f, -0.043596f, + -0.032276f, 0.007098f, 0.022971f, 0.035933f, 0.035973f, 0.032373f, 0.019737f, 0.003199f, -0.004149f, -0.020189f, -0.016146f, -0.008557f, -0.012239f, -0.003450f, -0.013686f, -0.002819f, -0.015982f, -0.013147f, 0.002951f, -0.000637f, 0.015883f, 0.030215f, 0.015271f, 0.044657f, 0.036812f, -0.018836f, -0.042019f, -0.038992f, -0.061679f, -0.016379f, -0.018355f, -0.002061f, 0.024334f, 0.014219f, -0.002443f}, + {-0.011410f, 0.002836f, -0.005198f, -0.013234f, -0.005139f, 0.001220f, -0.002470f, 0.004244f, -0.006121f, -0.002410f, -0.004682f, -0.002198f, 0.003061f, -0.000499f, -0.000176f, -0.002573f, 0.004262f, -0.011088f, 0.001088f, -0.005728f, 0.004086f, 0.002807f, -0.006690f, 0.001250f, -0.000797f, 0.001739f, -0.002481f, 0.001969f, -0.007326f, -0.004640f, 0.009461f, -0.002665f, -0.003522f, -0.004215f, -0.001219f, -0.002663f, -0.000954f, -0.006695f, -0.000766f, 0.008605f, -0.001840f, 0.001609f, -0.000177f, -0.002548f, 0.012004f, -0.002376f, 0.006888f, 0.008395f, -0.000545f, -0.003055f, -0.001989f, -0.007188f, -0.006751f, -0.007445f, -0.008745f, -0.004623f, -0.006066f, 0.001659f, -0.005844f, -0.001691f, -0.003423f, -0.000503f, 0.001529f, -0.006961f, 0.007090f, 0.001512f, 0.003093f, 0.006223f, -0.005627f, 0.003355f, 0.006514f, -0.006482f, 0.001371f, 0.005155f, 0.002321f, 0.002730f, -0.011219f, 0.007371f, 0.012148f, 0.003115f, 0.010731f, 0.000122f, -0.010956f, -0.007658f, -0.007966f, -0.001316f, -0.005455f, 0.012841f, -0.009605f, -0.002528f, -0.004335f, -0.001621f, -0.007696f, 0.007366f, -0.004520f, -0.003659f, + 0.006309f, 0.010300f, 0.011798f, 0.001720f, -0.000798f, 0.002350f, 0.000666f, 0.001560f, -0.005276f, -0.005829f, 0.002842f, -0.005300f, -0.005158f, -0.007082f, -0.007285f, 0.002113f, -0.004812f, 0.006355f, -0.008047f, -0.001234f, 0.003606f, 0.003252f, 0.003030f, -0.012691f, -0.002214f, -0.007115f, -0.001173f, -0.003088f, -0.007613f, -0.000336f, 0.009167f, 0.002589f, 0.004470f, 0.003996f, 0.004970f, 0.000411f, 0.006224f, 0.003662f, 0.006941f, -0.004165f, 0.004640f, -0.002544f, 0.003211f, 0.000067f, -0.006361f, 0.007134f, 0.008452f, -0.004886f, -0.005657f, 0.002082f, 0.007752f, 0.001383f, 0.002059f, -0.003145f, -0.000527f, 0.003531f, 0.002658f, -0.000297f, -0.018833f, -0.005020f, -0.008461f, 0.006196f, -0.017649f, 0.003826f, -0.007744f, -0.004178f, 0.002576f, 0.000296f, 0.002046f, 0.002594f, 0.002064f, 0.007632f, -0.003347f, 0.000751f, -0.000705f, -0.009404f, 0.006967f, 0.011465f, -0.009296f, -0.008850f, 0.006766f, 0.001669f, 0.008337f, 0.002566f, 0.011174f, -0.001589f, 0.003826f, -0.005920f, -0.001695f, 0.011257f, 0.001000f, -0.007424f, -0.008999f, -0.009877f, 0.000520f, 0.008092f, + 0.004242f, -0.000101f, 0.009377f, 0.007336f, 0.000409f, -0.007623f, 0.011971f, 0.002976f, 0.009266f, 0.009239f, -0.001489f, 0.005868f, 0.007136f, -0.000898f, 0.004282f, 0.004742f, -0.004451f, 0.000899f, -0.001264f, 0.004501f, -0.010237f, -0.006719f, 0.003541f, -0.006501f, -0.002296f, 0.008866f, -0.003416f, 0.004843f, -0.001889f, -0.014074f, 0.002572f, -0.000133f, 0.007572f, -0.011603f, -0.006003f, 0.005161f, 0.001495f, 0.012011f, 0.012422f, 0.005653f, 0.009162f, 0.007387f, 0.012452f, 0.014466f, -0.005433f, -0.001385f, 0.004719f, -0.014148f, -0.000575f, -0.004552f, -0.002820f, 0.006722f, -0.008414f, -0.000796f, 0.010506f, 0.002142f, 0.006712f, -0.003164f, -0.002521f, -0.003365f, -0.013516f, -0.001997f, 0.000858f, 0.007331f, -0.002215f, 0.012469f, 0.004780f, -0.001882f, 0.004856f, 0.002781f, 0.006260f, -0.004298f, -0.000977f, 0.014560f, -0.001933f, 0.013781f, 0.006327f, -0.005643f, 0.001412f, 0.012192f, 0.006195f, -0.007537f, 0.010854f, -0.002652f, 0.000751f, 0.000902f, -0.002162f, 0.002436f, 0.001242f, -0.009433f, 0.006304f, 0.004967f, -0.000785f, 0.000773f, -0.002114f, -0.008416f, + 0.000101f, 0.005452f, -0.000903f, -0.000536f, -0.005828f, -0.012474f, -0.004308f, 0.005454f, 0.011145f, -0.015935f, -0.008586f, 0.003874f, -0.006886f, 0.005162f, 0.000187f, 0.001065f, -0.009115f, 0.017633f, 0.018578f, -0.003646f, -0.007894f, -0.008459f, 0.017814f, -0.015437f, 0.000353f, -0.002449f, -0.007306f, -0.009743f, 0.003428f, -0.002617f, -0.013449f, -0.016203f, 0.000558f, -0.001142f, -0.008567f, 0.003162f, 0.004460f, -0.005908f, -0.009074f, -0.008341f, 0.011849f, -0.012765f, -0.001594f, -0.014933f, 0.000137f, 0.008424f, 0.002814f, 0.001496f, -0.008444f, -0.008035f, 0.007343f, -0.005632f, -0.008617f, 0.001116f, -0.003139f, 0.005304f, 0.000105f, 0.002158f, -0.008570f, -0.003152f, -0.002403f, 0.008242f, 0.005672f, 0.005718f, -0.016946f, 0.002661f, 0.004784f, 0.003832f, 0.004850f, -0.004914f, -0.003015f, 0.000509f, 0.003540f, 0.006585f, -0.001046f, 0.004262f, -0.004772f, 0.012886f, -0.023618f, 0.008067f, 0.000883f, -0.013030f, -0.000297f, 0.013516f, -0.003937f, -0.007177f, -0.012393f, -0.005114f, 0.001441f, -0.004648f, 0.000552f, 0.004121f, 0.008046f, -0.008393f, -0.026261f, 0.004737f, + -0.011933f, 0.002568f, 0.002277f, -0.001586f, 0.018764f, 0.000974f, -0.011872f, 0.015905f, 0.007779f, 0.005425f, -0.002309f, 0.003253f, -0.004766f, 0.012461f, -0.001978f, 0.001372f, 0.018957f, 0.018349f, 0.007986f, 0.008375f, 0.008223f, 0.009109f, 0.006240f, -0.018236f, -0.005549f, -0.000306f, -0.004642f, -0.015531f, -0.001558f, -0.003724f, -0.003932f, -0.008369f, 0.000007f, -0.002496f, 0.013496f, -0.004330f, 0.023540f, -0.000199f, 0.002176f, -0.004385f, -0.003157f, 0.000117f, -0.000431f, -0.001931f, -0.003821f, -0.002799f, -0.011157f, 0.002722f, 0.002185f, -0.001431f, -0.005575f, 0.007925f, 0.006294f, 0.006861f, -0.002013f, -0.005075f, 0.000603f, 0.005974f, 0.007062f, -0.005318f, -0.014348f, -0.007685f, 0.002303f, 0.012419f, -0.000915f, 0.010162f, -0.007124f, -0.011749f, 0.009979f, -0.004059f, -0.008071f, 0.005754f, 0.008171f, -0.010351f, -0.006742f, 0.009833f, -0.011632f, -0.012388f, 0.005856f, -0.003450f, -0.001235f, -0.006447f, -0.003956f, 0.006555f, 0.008931f, 0.004884f, -0.002267f, 0.001515f, -0.001253f, -0.001971f, -0.008841f, 0.003043f, -0.023543f, -0.006658f, -0.007632f, 0.006572f, + 0.007817f, 0.000792f, 0.003770f, -0.014430f, 0.003751f, 0.002360f, 0.003720f, -0.013002f, 0.024527f, -0.001002f, 0.004341f, 0.003367f, -0.011992f, 0.001964f, -0.017091f, 0.010901f, -0.003897f, -0.013939f, 0.002496f, 0.001195f, -0.007413f, 0.000889f, 0.001150f, 0.011231f, 0.019568f, 0.008785f, -0.004492f, 0.006612f, 0.007728f, -0.018448f, -0.007355f, -0.008359f, 0.004613f, 0.004433f, -0.003703f, 0.003142f, 0.005809f, 0.004347f, 0.007611f, 0.015842f, -0.000445f, -0.005507f, -0.002500f, -0.000313f, 0.011232f, -0.008374f, -0.001109f, 0.006199f, 0.015167f, 0.000796f, -0.012596f, -0.009647f, -0.002952f, -0.011247f, -0.004245f, -0.024214f, -0.006637f, -0.008945f, 0.010367f, 0.000394f, -0.004976f, -0.031066f, -0.004077f, -0.004096f, 0.012948f, 0.030908f, -0.008807f, 0.020816f, 0.003646f, -0.018087f, -0.018513f, 0.003396f, 0.004852f, -0.010407f, 0.011809f, -0.008161f, 0.009560f, -0.011355f, 0.005783f, 0.004267f, -0.010833f, -0.008978f, -0.006873f, 0.003992f, 0.012279f, -0.015359f, 0.000823f, -0.016135f, -0.000670f, -0.005856f, 0.004299f, 0.012535f, 0.001554f, -0.004715f, -0.004319f, 0.013610f, + 0.000277f, 0.020503f, 0.006447f, -0.006866f, -0.006876f, -0.005074f, 0.003213f, 0.013240f, 0.000119f, 0.021515f, -0.036482f, -0.026322f, -0.021598f, -0.004147f, -0.018347f, 0.002245f, -0.006626f, 0.007795f, 0.017201f, 0.004232f, 0.007401f, 0.012089f, 0.018214f, 0.010614f, 0.003215f, -0.010544f, -0.030004f, -0.030243f, 0.017804f, 0.003424f, 0.022480f, -0.012852f, -0.010640f, 0.013257f, -0.021957f, 0.006444f, 0.015572f, 0.005431f, -0.010695f, -0.001276f, 0.028786f, 0.022639f, -0.001235f, -0.021361f, -0.033475f, -0.004893f, -0.011141f, 0.011343f, -0.009375f, -0.011126f, -0.038040f, -0.017699f, -0.033976f, 0.011907f, -0.000209f, -0.009490f, 0.010233f, -0.002208f, 0.001141f, 0.001539f, -0.010280f, -0.000004f, -0.011949f, -0.003284f, 0.008743f, 0.004818f, -0.012213f, 0.003724f, 0.014320f, 0.020806f, -0.002389f, -0.004070f, -0.006350f, 0.000217f, 0.012232f, 0.015053f, -0.001409f, 0.001340f, -0.002574f, -0.003832f, 0.020049f, 0.012890f, 0.001441f, 0.013319f, 0.005037f, -0.018702f, 0.004188f, -0.002861f, 0.023651f, 0.007813f, 0.003703f, 0.009889f, 0.015606f, 0.002939f, -0.012232f, -0.023450f, + -0.004393f, 0.003470f, 0.012673f, 0.004897f, 0.001406f, 0.003423f, 0.018273f, 0.002603f, 0.006240f, 0.006796f, 0.005098f, -0.012792f, -0.012745f, -0.012686f, -0.013002f, -0.013220f, 0.018296f, 0.048887f, 0.010617f, -0.015004f, 0.008623f, -0.008731f, -0.029061f, -0.005835f, -0.028528f, -0.015548f, 0.014543f, 0.019588f, 0.007401f, 0.004035f, 0.001472f, 0.003620f, 0.018372f, -0.013198f, 0.026059f, -0.017006f, -0.017538f, 0.020962f, 0.009058f, -0.033876f, 0.014530f, 0.008619f, 0.010435f, 0.022286f, 0.010687f, 0.016558f, -0.001473f, 0.008953f, -0.005670f, 0.014105f, 0.003328f, 0.002963f, 0.009038f, -0.019168f, -0.010757f, -0.005956f, 0.011758f, 0.005199f, 0.003889f, 0.009583f, 0.002305f, 0.003286f, -0.017806f, -0.000015f, 0.018078f, -0.003570f, 0.001679f, 0.002108f, 0.001751f, 0.022041f, 0.007908f, 0.029708f, 0.006196f, -0.004658f, 0.027771f, -0.025004f, -0.004031f, -0.004387f, -0.010701f, -0.002822f, 0.005023f, 0.027629f, 0.001680f, -0.006805f, -0.012128f, 0.004896f, -0.012807f, -0.006121f, -0.008827f, -0.016995f, -0.004074f, 0.002094f, 0.022161f, -0.005419f, -0.018631f, -0.026030f, + -0.010836f, -0.025609f, 0.018102f, -0.021690f, -0.017801f, -0.012330f, 0.011056f, 0.031597f, -0.032015f, -0.009906f, -0.035948f, 0.011089f, 0.003818f, 0.004374f, -0.011080f, 0.003833f, 0.038231f, -0.019442f, -0.004513f, 0.016006f, 0.009096f, 0.008921f, 0.012750f, 0.010356f, -0.014002f, -0.020674f, -0.005166f, -0.010917f, -0.017578f, -0.018966f, -0.000781f, -0.003491f, 0.003850f, 0.027198f, 0.015311f, -0.013327f, -0.009022f, -0.000351f, -0.008692f, 0.007665f, 0.048199f, -0.015422f, 0.033245f, 0.012163f, 0.004565f, -0.000846f, -0.006836f, 0.007282f, -0.020198f, 0.010558f, 0.025487f, 0.002699f, 0.002916f, 0.023088f, 0.012506f, 0.010013f, -0.019572f, 0.016934f, -0.012343f, -0.014206f, -0.045256f, -0.011677f, 0.026573f, -0.013895f, 0.005438f, -0.028264f, 0.019863f, -0.008843f, -0.014473f, 0.022302f, -0.033405f, -0.018899f, 0.031096f, -0.019803f, -0.028913f, 0.002868f, -0.019362f, -0.015057f, -0.001647f, 0.022052f, -0.010270f, 0.039033f, 0.037050f, 0.006820f, 0.012101f, -0.021718f, 0.002985f, -0.017672f, 0.027896f, -0.005943f, 0.008462f, -0.013598f, -0.008171f, 0.004240f, 0.004062f, -0.013097f, + 0.021464f, -0.006446f, 0.004829f, 0.007394f, -0.013480f, 0.004740f, -0.017292f, -0.000433f, 0.010410f, 0.011505f, 0.000659f, 0.015365f, 0.020458f, -0.002055f, -0.037185f, -0.006894f, -0.010703f, 0.026327f, -0.022269f, -0.028813f, -0.019662f, -0.014083f, 0.004413f, -0.016616f, -0.012027f, -0.008689f, -0.001740f, 0.004296f, -0.054480f, 0.034123f, 0.027803f, 0.038982f, -0.011864f, 0.005669f, 0.027408f, -0.026124f, -0.022623f, 0.003937f, 0.018405f, 0.010682f, -0.001812f, 0.004625f, -0.012566f, -0.017310f, -0.019599f, -0.006919f, 0.075161f, 0.005253f, -0.038347f, -0.007788f, -0.019402f, 0.013713f, 0.014751f, -0.024829f, -0.011374f, -0.020141f, -0.041213f, 0.004154f, -0.034500f, 0.016863f, 0.004820f, -0.026234f, 0.014770f, 0.018704f, 0.024090f, 0.008215f, 0.009246f, -0.027100f, -0.001013f, -0.004428f, 0.025913f, 0.013506f, 0.000812f, 0.025923f, 0.027112f, -0.001918f, -0.013380f, 0.004579f, 0.033603f, -0.020500f, -0.017589f, 0.018999f, 0.009415f, -0.020741f, -0.005022f, -0.018996f, 0.038671f, -0.031203f, 0.009217f, 0.022443f, -0.012340f, 0.020864f, 0.006970f, -0.007382f, -0.009810f, -0.008008f, + -0.015469f, 0.023887f, 0.029510f, 0.008170f, -0.021967f, 0.004785f, -0.024232f, -0.006832f, 0.016633f, -0.000337f, -0.011643f, -0.006148f, 0.004842f, -0.029836f, 0.001803f, -0.000229f, -0.018038f, 0.029099f, -0.024242f, 0.001962f, -0.004651f, -0.014754f, 0.021158f, 0.002715f, 0.013007f, -0.004821f, -0.000163f, 0.004079f, -0.009865f, 0.015097f, -0.008460f, 0.004737f, -0.007578f, 0.037755f, 0.016989f, 0.037780f, -0.001041f, -0.024651f, -0.014000f, 0.018233f, 0.023376f, 0.029933f, -0.001466f, -0.004259f, 0.036398f, 0.019141f, 0.040702f, 0.007452f, 0.001113f, -0.018663f, -0.011157f, -0.010215f, 0.008910f, 0.008360f, 0.020721f, -0.024713f, -0.000883f, -0.013895f, 0.011606f, -0.021196f, 0.006047f, 0.027718f, -0.006694f, 0.001192f, -0.016309f, 0.005586f, -0.016446f, -0.044270f, 0.003370f, -0.005216f, 0.000181f, -0.018776f, -0.007627f, 0.019857f, 0.031714f, -0.001825f, -0.015892f, 0.022057f, 0.006237f, 0.006676f, 0.020617f, 0.010052f, -0.016297f, -0.004475f, 0.011919f, -0.000522f, 0.010456f, -0.015318f, -0.018866f, 0.006736f, -0.018099f, -0.025636f, -0.016638f, -0.029472f, -0.011191f, 0.011698f, + -0.028761f, -0.002286f, -0.032620f, -0.011116f, -0.005289f, 0.011841f, -0.038663f, 0.015162f, -0.003519f, -0.019452f, 0.018064f, -0.009092f, -0.001108f, 0.042491f, 0.040320f, 0.000126f, 0.059660f, 0.068336f, 0.003718f, 0.021945f, 0.021135f, -0.002775f, -0.048929f, -0.001144f, -0.001695f, -0.018435f, 0.014192f, 0.013123f, -0.026384f, 0.014901f, 0.019157f, 0.003474f, -0.006653f, 0.010616f, -0.006315f, 0.035299f, -0.005408f, -0.015738f, 0.000840f, 0.008522f, -0.002615f, -0.001617f, 0.000086f, -0.054737f, 0.016780f, -0.000446f, -0.037518f, -0.015002f, 0.007492f, -0.002631f, -0.025209f, 0.010133f, -0.029867f, -0.001639f, 0.004044f, -0.048232f, -0.007788f, 0.022584f, -0.014768f, 0.003769f, 0.032378f, 0.020713f, 0.025093f, 0.009148f, -0.012180f, -0.021250f, 0.025077f, -0.010247f, 0.014674f, -0.019762f, -0.010063f, 0.018164f, 0.028128f, 0.006533f, 0.033438f, -0.018544f, 0.029145f, -0.020214f, -0.026694f, -0.016574f, 0.029020f, 0.032864f, -0.025275f, 0.018396f, -0.072394f, -0.001329f, 0.022476f, 0.013409f, -0.011452f, -0.020756f, 0.011782f, -0.052118f, 0.002104f, 0.068703f, -0.047062f, -0.002370f, + -0.005800f, 0.005427f, -0.019762f, 0.010406f, -0.030393f, -0.027317f, -0.011524f, -0.006104f, 0.005159f, -0.005477f, 0.013305f, -0.020014f, -0.001182f, 0.044849f, -0.037138f, -0.029227f, -0.009452f, 0.039480f, 0.003341f, -0.045232f, 0.018134f, -0.015607f, -0.022066f, 0.006555f, 0.062819f, -0.034542f, -0.022227f, 0.047973f, 0.032214f, 0.004864f, -0.020980f, 0.003170f, -0.009005f, -0.012719f, 0.011276f, 0.013972f, -0.009753f, -0.035394f, 0.045948f, 0.024448f, 0.007170f, -0.048839f, -0.009654f, 0.017834f, 0.015743f, -0.004246f, 0.024911f, -0.002189f, 0.007298f, -0.009473f, -0.032383f, 0.022215f, -0.023562f, 0.015454f, 0.005150f, -0.024385f, 0.049119f, 0.010387f, 0.035033f, 0.039364f, 0.005188f, -0.052080f, -0.011730f, 0.003804f, -0.022789f, -0.007407f, 0.001528f, 0.002503f, 0.023945f, 0.050060f, -0.011878f, 0.020125f, 0.003594f, -0.019907f, -0.095315f, 0.005584f, -0.024315f, 0.002585f, 0.048847f, 0.003865f, -0.008528f, 0.008031f, 0.002607f, -0.033359f, -0.034460f, -0.032456f, -0.029698f, 0.038884f, -0.007188f, 0.046552f, 0.004945f, -0.045421f, -0.000825f, 0.004185f, 0.039019f, 0.006794f, + -0.005446f, -0.008353f, 0.011671f, -0.024803f, -0.008483f, 0.041588f, -0.007900f, -0.055717f, -0.041263f, 0.024352f, -0.004735f, -0.012166f, 0.013356f, -0.004680f, -0.027607f, 0.007809f, 0.017345f, 0.037393f, -0.006977f, -0.032360f, 0.001129f, -0.040616f, 0.016042f, 0.044483f, -0.006557f, -0.056131f, 0.018119f, -0.001299f, 0.003765f, 0.012725f, -0.016842f, 0.033514f, 0.003158f, -0.023600f, 0.018465f, -0.012998f, -0.007191f, 0.048289f, -0.024529f, -0.008786f, -0.007839f, 0.030428f, 0.012579f, -0.054093f, 0.027403f, -0.043411f, -0.010648f, -0.023067f, 0.004775f, -0.013321f, -0.015164f, -0.001962f, -0.047895f, 0.010622f, 0.076509f, 0.051510f, 0.022171f, -0.037335f, 0.027927f, 0.037554f, 0.053044f, 0.027206f, 0.005569f, 0.003140f, 0.032991f, 0.059539f, -0.013877f, -0.005780f, 0.032306f, -0.063866f, 0.023084f, 0.059622f, -0.012688f, -0.018687f, 0.014526f, 0.046719f, 0.035851f, -0.022747f, -0.042197f, -0.000803f, 0.020500f, -0.005353f, 0.004621f, 0.002451f, 0.048503f, -0.026071f, 0.030973f, 0.049225f, -0.019239f, -0.003716f, 0.033127f, -0.002917f, 0.116869f, -0.046925f, 0.020911f, 0.082415f, + -0.046274f, 0.017498f, 0.005294f, -0.062496f, -0.002032f, 0.014726f, -0.028611f, 0.066273f, 0.004914f, -0.005877f, 0.005116f, -0.023440f, 0.087380f, 0.027185f, -0.069523f, 0.070712f, -0.027768f, 0.006000f, 0.021167f, 0.028725f, 0.045304f, 0.025707f, -0.011412f, -0.039548f, -0.057977f, -0.017730f, -0.022732f, 0.000445f, -0.017246f, 0.041414f, -0.022002f, -0.035045f, 0.003038f, 0.019960f, -0.090892f, 0.053299f, 0.001608f, 0.032557f, 0.051533f, -0.085562f, 0.019012f, 0.045337f, 0.009351f, 0.034066f, -0.033983f, 0.037431f, 0.009969f, -0.032957f, -0.000162f, -0.020413f, -0.063916f, 0.035683f, 0.019093f, 0.058834f, -0.032603f, -0.041390f, -0.015389f, 0.014590f, -0.009356f, -0.070699f, -0.035922f, 0.023119f, -0.005839f, 0.011824f, -0.030732f, -0.008268f, 0.023455f, -0.019078f, -0.010470f, -0.029449f, -0.007498f, 0.012372f, -0.034210f, 0.004833f, -0.074336f, -0.059695f, 0.018699f, -0.062100f, 0.005441f, -0.064978f, -0.046532f, -0.030561f, 0.031320f, 0.063497f, 0.076481f, -0.016438f, 0.034221f, 0.043072f, 0.020490f, 0.019763f, -0.028969f, 0.086901f, 0.087421f, -0.056697f, 0.060099f, -0.043935f, + 0.031086f, 0.063569f, 0.059647f, 0.073607f, 0.086461f, 0.063237f, -0.064128f, -0.043326f, 0.003236f, 0.007079f, 0.030248f, -0.008587f, -0.006501f, 0.112402f, -0.082580f, -0.040716f, 0.042953f, -0.025425f, 0.040916f, -0.032063f, -0.037692f, 0.012953f, -0.087567f, -0.003353f, 0.056727f, -0.013524f, 0.028437f, -0.049092f, -0.013649f, -0.019193f, 0.000405f, 0.062210f, 0.017074f, 0.013987f, -0.012793f, 0.034147f, 0.009095f, 0.084689f, 0.018872f, 0.049411f, 0.001471f, -0.038670f, -0.038681f, 0.049104f, -0.026216f, 0.022565f, -0.002882f, -0.063810f, 0.043266f, -0.056966f, 0.107246f, -0.082397f, 0.047183f, 0.044247f, -0.050060f, -0.040183f, -0.032405f, 0.039860f, -0.006493f, 0.041639f, -0.004147f, 0.004576f, -0.079022f, -0.041491f, 0.013372f, -0.038185f, 0.007816f, -0.023921f, 0.017327f, 0.010979f, 0.052598f, -0.036064f, -0.017393f, -0.016605f, -0.034390f, 0.076052f, 0.007795f, 0.004849f, -0.080334f, -0.026487f, 0.030868f, 0.019839f, 0.015448f, 0.063947f, 0.032240f, 0.055360f, 0.055574f, -0.007740f, 0.012476f, -0.036591f, -0.166691f, 0.115353f, -0.070910f, -0.052426f, 0.002889f, 0.022311f, + 0.031843f, 0.003707f, -0.025324f, 0.089292f, 0.047815f, 0.010898f, -0.043956f, 0.028001f, 0.000084f, 0.032034f, -0.041895f, -0.032075f, 0.024946f, 0.066031f, -0.076414f, 0.001069f, 0.026979f, 0.006098f, -0.017519f, -0.013834f, -0.008116f, 0.000758f, -0.002220f, 0.015155f, 0.087616f, 0.002949f, -0.036978f, 0.055030f, -0.011621f, -0.058629f, -0.070094f, 0.065609f, 0.024385f, -0.012637f, 0.027560f, 0.012578f, 0.059140f, -0.080879f, -0.006038f, -0.043028f, -0.008935f, 0.040395f, -0.030281f, 0.013144f, -0.035167f, 0.013792f, 0.120904f, 0.004291f, -0.065009f, -0.081017f, -0.001822f, 0.030837f, 0.038585f, -0.036274f, 0.010608f, 0.051291f, -0.020700f, -0.118343f, 0.067305f, -0.045980f, -0.059351f, 0.019478f, 0.110147f, -0.082406f, 0.058166f, 0.063072f, 0.030934f, -0.076171f, -0.046771f, -0.047381f, 0.096248f, 0.032183f, 0.006001f, -0.006722f, 0.014896f, 0.027540f, -0.009104f, 0.013019f, -0.015092f, 0.000181f, -0.012040f, 0.045691f, -0.051424f, -0.005433f, 0.029943f, -0.070472f, 0.022373f, -0.017004f, 0.004793f, -0.008035f, -0.020357f, 0.012883f, -0.006040f, -0.028591f, 0.076932f, -0.058950f, + -0.017247f, 0.055238f, -0.035893f, -0.005205f, -0.011755f, 0.012293f, 0.053811f, 0.004413f, -0.053772f, 0.072984f, -0.040000f, 0.026111f, 0.044706f, 0.020380f, -0.017624f, 0.004183f, -0.040681f, 0.009944f, -0.024906f, -0.018883f, 0.096845f, -0.022481f, -0.039546f, 0.012901f, -0.018811f, 0.023378f, -0.015790f, 0.025678f, 0.062152f, -0.034218f, 0.020217f, 0.048285f, -0.056852f, 0.026240f, 0.030254f, 0.014555f, 0.038084f, -0.043081f, -0.011672f, 0.067914f, -0.046193f, -0.009039f, 0.019549f, -0.017159f, 0.064871f, -0.061222f, 0.012537f, 0.026512f, -0.026153f, 0.028312f, 0.029236f, -0.055963f, -0.146988f, -0.233978f, 0.019890f, 0.217574f, 0.015785f, 0.496275f, 0.514011f, 0.251228f, 0.536995f, 0.353663f, -0.081260f, -0.016898f, -0.126831f, -0.445525f, -0.390856f, -0.247899f, -0.454819f, -0.361117f, -0.112902f, -0.232672f, -0.195739f, 0.048522f, 0.094593f, -0.070602f, 0.012299f, 0.078350f, -0.093143f, -0.064961f, 0.117933f, 0.099501f, -0.007382f, 0.112063f, 0.209750f, 0.051451f, 0.143311f, 0.290382f, 0.125756f, 0.050233f, 0.256073f, 0.205881f, -0.000137f, 0.136118f, 0.300213f, 0.028241f, + 0.041500f, 0.229490f, 0.076167f, -0.073335f, 0.147522f, 0.132933f, -0.064179f, 0.107978f, 0.154323f, -0.059059f, -0.206610f, -0.130658f, -0.415042f, -0.650556f, -0.586962f, -0.626592f, -0.920571f, -0.840057f, -0.793531f, -0.953692f, -0.932347f, -0.788355f, -0.725052f, -0.670735f, -0.441453f, -0.251573f, -0.026505f, 0.085715f, 0.285422f, 0.490972f, 0.529982f, 0.599605f, 0.668773f, 0.271967f, 0.035929f} + }, + { + {-0.011317f, -0.017401f, 0.000332f, -0.009642f, -0.002163f, -0.006676f, 0.005464f, -0.010363f, 0.000486f, 0.004088f, -0.003496f, 0.003227f, -0.000834f, -0.000927f, 0.001407f, 0.001514f, 0.003165f, -0.004906f, -0.001127f, -0.003285f, -0.008545f, -0.000007f, 0.002575f, 0.000724f, -0.003623f, 0.006529f, 0.002367f, -0.002051f, 0.002302f, 0.000581f, -0.003699f, 0.002175f, -0.001226f, -0.004121f, -0.004597f, -0.002120f, -0.000886f, -0.002132f, 0.004308f, 0.008110f, -0.000711f, 0.012223f, 0.001974f, -0.009185f, 0.003344f, -0.001523f, -0.007051f, 0.000901f, -0.006702f, 0.007586f, 0.001688f, -0.005886f, 0.002949f, -0.003403f, 0.002508f, 0.003872f, 0.001858f, 0.001773f, -0.001337f, 0.003451f, -0.005592f, 0.003023f, -0.002431f, -0.002308f, -0.001535f, -0.002742f, -0.009905f, -0.001802f, 0.005436f, -0.003327f, 0.003885f, 0.001912f, -0.002711f, 0.000981f, -0.000008f, 0.003109f, 0.011948f, -0.005897f, 0.003257f, -0.001145f, 0.000633f, 0.000671f, -0.004906f, -0.005397f, 0.003565f, -0.000880f, -0.004459f, -0.005515f, -0.003509f, 0.005132f, -0.000537f, 0.006848f, 0.001396f, -0.008311f, -0.008763f, -0.006036f, + 0.002565f, 0.002366f, 0.004560f, -0.000465f, 0.005225f, -0.003747f, -0.000700f, -0.008933f, -0.001367f, -0.001452f, 0.001947f, 0.003728f, 0.003527f, 0.007072f, -0.003302f, -0.004225f, 0.003749f, 0.002403f, -0.004332f, -0.004158f, 0.000314f, 0.003532f, 0.001624f, 0.007929f, -0.002739f, -0.001953f, 0.008666f, 0.003069f, 0.016139f, 0.007291f, -0.004327f, 0.000378f, -0.009668f, 0.000757f, -0.011029f, -0.000120f, -0.003990f, 0.008425f, 0.001043f, 0.004896f, 0.005923f, 0.003879f, 0.005711f, 0.004515f, 0.001063f, -0.008415f, -0.000730f, -0.003586f, 0.006834f, 0.010780f, -0.006270f, -0.003175f, -0.002456f, -0.001885f, -0.004610f, -0.018668f, -0.020385f, -0.001405f, -0.006001f, 0.000969f, -0.004598f, -0.001003f, 0.011001f, -0.001827f, 0.005805f, -0.002600f, -0.005632f, -0.007292f, 0.001129f, -0.001382f, -0.009153f, 0.010422f, 0.002834f, 0.000851f, 0.005219f, 0.005360f, 0.008207f, 0.006095f, -0.000826f, -0.006179f, 0.005614f, 0.001484f, -0.008765f, -0.003649f, -0.004106f, -0.002450f, 0.007312f, -0.002516f, -0.013235f, -0.004313f, -0.001768f, 0.002768f, -0.004317f, -0.008377f, -0.000019f, -0.000784f, + 0.009493f, 0.001476f, -0.000378f, 0.003587f, -0.000526f, 0.013205f, -0.002583f, 0.001194f, -0.003225f, -0.005282f, -0.000301f, 0.005613f, 0.002258f, 0.001465f, 0.005055f, -0.005027f, -0.008500f, -0.005999f, -0.001482f, 0.000910f, -0.002209f, 0.000028f, -0.006443f, -0.001612f, 0.002942f, -0.002267f, 0.006146f, 0.002978f, -0.000619f, 0.000732f, -0.006260f, -0.005707f, 0.009714f, 0.001476f, 0.003896f, 0.001506f, 0.002459f, 0.013392f, -0.001109f, 0.007019f, 0.003523f, 0.009231f, 0.010509f, -0.002204f, 0.000438f, 0.007010f, 0.006175f, 0.004703f, 0.012019f, 0.002771f, -0.004629f, 0.000754f, 0.010404f, 0.004047f, 0.004593f, 0.009674f, 0.012174f, 0.008582f, -0.003538f, -0.008636f, 0.005500f, 0.004305f, -0.005761f, -0.008382f, -0.000266f, -0.004885f, 0.001498f, 0.003272f, -0.003876f, -0.004214f, 0.003433f, 0.003346f, 0.006697f, -0.005093f, -0.011185f, -0.005232f, -0.005384f, -0.006958f, -0.003348f, -0.007961f, 0.003689f, -0.010882f, 0.003559f, 0.000736f, 0.001384f, -0.004981f, 0.009105f, 0.007577f, -0.008445f, 0.008733f, 0.002134f, -0.001641f, 0.001654f, -0.006873f, -0.003463f, 0.005774f, + 0.000741f, 0.002153f, 0.000085f, 0.006882f, 0.001363f, 0.008569f, -0.006188f, -0.001129f, -0.002440f, 0.002886f, 0.003259f, -0.002815f, 0.001286f, -0.005574f, -0.000123f, 0.002303f, -0.000324f, 0.035227f, 0.001158f, 0.031099f, 0.003435f, 0.019390f, -0.003476f, -0.004324f, 0.006416f, -0.015940f, 0.017394f, -0.010219f, 0.011965f, 0.007342f, -0.005147f, 0.003999f, 0.000460f, -0.000205f, -0.001882f, 0.003780f, 0.007442f, 0.007282f, 0.014264f, 0.002447f, 0.005189f, -0.001322f, 0.016627f, -0.018814f, 0.001387f, -0.002172f, 0.005280f, 0.006857f, -0.008514f, 0.002843f, 0.005251f, 0.001422f, 0.007256f, 0.002621f, -0.006325f, 0.002716f, 0.015036f, -0.003395f, 0.005304f, -0.003128f, -0.001166f, -0.001423f, -0.009052f, 0.014799f, 0.000799f, 0.000776f, 0.012677f, -0.002362f, 0.001963f, 0.013701f, -0.020077f, 0.005098f, 0.000697f, 0.005634f, 0.018231f, 0.004430f, 0.005266f, 0.005272f, -0.000711f, -0.005426f, -0.002076f, 0.003574f, 0.002747f, 0.008617f, -0.002123f, 0.007027f, 0.004741f, -0.003044f, 0.002771f, -0.006418f, -0.002741f, 0.000572f, -0.014220f, -0.017933f, -0.006838f, -0.002882f, + -0.006451f, 0.013956f, 0.006239f, -0.011561f, 0.012792f, -0.002017f, -0.009046f, 0.002491f, 0.005649f, -0.005395f, -0.008271f, -0.007858f, -0.015863f, -0.008364f, 0.007034f, -0.010440f, -0.016127f, 0.004271f, 0.006682f, 0.000987f, -0.005877f, 0.011842f, 0.001596f, 0.010912f, -0.000624f, -0.002947f, 0.006502f, 0.010297f, -0.015104f, -0.007608f, 0.004188f, -0.003796f, 0.003761f, -0.010329f, -0.000689f, 0.002251f, 0.003617f, -0.008905f, -0.015393f, -0.004792f, 0.004497f, -0.003078f, -0.001952f, 0.000449f, 0.004958f, -0.002027f, 0.002730f, -0.005712f, 0.008887f, -0.012267f, -0.008833f, -0.003625f, -0.008669f, -0.003154f, -0.002415f, 0.002825f, -0.006414f, 0.004143f, 0.009573f, -0.001483f, 0.002132f, 0.001949f, 0.004489f, 0.008785f, -0.003785f, -0.002532f, -0.001988f, -0.004661f, 0.009685f, -0.004735f, -0.017262f, -0.011544f, -0.006817f, -0.004526f, -0.015164f, -0.036633f, -0.002928f, 0.002141f, 0.000861f, -0.012101f, -0.004709f, -0.013667f, -0.002922f, -0.016041f, -0.017481f, -0.014372f, -0.002707f, -0.009600f, -0.019726f, -0.012960f, 0.004807f, 0.006049f, -0.004986f, 0.012002f, 0.007407f, -0.004715f, + 0.015737f, 0.003051f, 0.001939f, 0.002267f, -0.019905f, -0.000893f, 0.004175f, 0.007651f, -0.005717f, -0.005837f, 0.013078f, 0.023833f, -0.017069f, 0.006383f, -0.004419f, -0.000955f, -0.014893f, -0.001397f, 0.000718f, -0.008026f, -0.009273f, -0.007371f, -0.007721f, -0.004560f, 0.006145f, 0.017637f, -0.007183f, 0.006692f, 0.012911f, 0.010871f, -0.002542f, 0.001375f, -0.002725f, -0.003221f, -0.015028f, -0.007796f, 0.010363f, -0.005592f, 0.003221f, -0.005297f, 0.005893f, 0.002761f, -0.000478f, -0.000274f, -0.006209f, -0.005853f, 0.002787f, -0.001834f, 0.004697f, -0.018680f, -0.018933f, -0.001602f, -0.021734f, -0.005198f, -0.026320f, -0.006834f, -0.018407f, -0.003040f, 0.004426f, 0.004152f, 0.021663f, -0.013734f, 0.005490f, 0.004911f, -0.010472f, -0.005812f, 0.017618f, 0.001084f, -0.004042f, 0.001423f, -0.012948f, 0.011861f, -0.016825f, -0.006507f, 0.008775f, 0.004263f, -0.000950f, 0.002387f, -0.002596f, 0.005174f, -0.006644f, -0.013904f, 0.001823f, 0.005837f, 0.006189f, -0.011214f, 0.003881f, 0.011384f, -0.011349f, -0.016126f, 0.013363f, -0.011156f, 0.009060f, -0.008161f, 0.005483f, -0.000812f, + -0.010087f, -0.014861f, -0.007886f, 0.003463f, 0.000402f, 0.004941f, -0.006534f, -0.007736f, -0.017379f, 0.009194f, -0.012177f, -0.006364f, 0.008132f, 0.015984f, -0.001135f, -0.003652f, -0.023063f, -0.019160f, -0.005351f, -0.006914f, 0.009982f, -0.002653f, -0.013164f, -0.002258f, 0.001620f, -0.007710f, -0.001112f, -0.016521f, 0.011916f, 0.004928f, 0.014640f, 0.018296f, 0.013872f, 0.006477f, 0.039301f, 0.018227f, 0.025603f, -0.008367f, -0.000534f, -0.001032f, -0.037896f, 0.001368f, 0.016919f, -0.008261f, -0.002607f, 0.000614f, 0.024489f, -0.004825f, 0.014305f, -0.003629f, 0.013687f, 0.006566f, 0.016810f, 0.022434f, 0.003228f, 0.014670f, -0.004601f, 0.012547f, -0.001639f, 0.023964f, 0.013401f, -0.001385f, 0.014293f, 0.010433f, -0.004094f, 0.009875f, 0.006644f, 0.008344f, -0.007409f, -0.007106f, -0.020105f, -0.002405f, 0.014252f, 0.001524f, 0.001774f, -0.005954f, -0.007596f, -0.007333f, -0.006734f, 0.033652f, -0.022660f, 0.007488f, 0.010490f, 0.004524f, 0.002846f, -0.015036f, -0.018096f, -0.006245f, -0.002899f, -0.002590f, -0.031248f, -0.017236f, -0.016206f, -0.001220f, -0.001018f, 0.007095f, + -0.001304f, 0.005903f, 0.010715f, 0.017365f, 0.003423f, -0.007852f, 0.006564f, -0.015580f, 0.003549f, -0.012747f, 0.004090f, 0.003293f, 0.058310f, 0.007608f, 0.007700f, 0.007951f, -0.004862f, -0.022848f, 0.015154f, 0.018492f, -0.010742f, 0.008857f, 0.006653f, -0.013106f, -0.003087f, 0.015549f, 0.007097f, -0.024065f, 0.005468f, -0.005453f, -0.014041f, 0.001253f, 0.006519f, 0.003616f, -0.001185f, 0.001145f, 0.010094f, -0.001786f, 0.005320f, -0.018223f, 0.007122f, -0.000325f, 0.007004f, 0.006255f, -0.004431f, 0.015972f, -0.020125f, -0.006521f, -0.019855f, 0.018481f, 0.007164f, 0.029013f, 0.012741f, 0.001825f, 0.005183f, -0.020064f, -0.000804f, 0.008399f, 0.006436f, 0.008704f, 0.000923f, 0.005912f, -0.006333f, 0.008333f, 0.019026f, 0.028340f, 0.010936f, -0.009830f, -0.006967f, -0.000555f, -0.005517f, 0.011941f, 0.012992f, -0.007013f, 0.007633f, 0.016870f, 0.004351f, -0.018021f, -0.040022f, -0.017515f, 0.008021f, 0.019667f, -0.007434f, 0.007388f, -0.001318f, -0.001610f, 0.000124f, 0.020129f, 0.003329f, -0.034709f, 0.009168f, 0.019117f, -0.021333f, 0.014425f, 0.019509f, -0.050163f, + 0.009408f, 0.004026f, 0.009581f, -0.017576f, 0.027522f, -0.039195f, -0.002206f, -0.001121f, -0.005216f, -0.002386f, -0.013811f, -0.013677f, -0.004432f, 0.016527f, -0.000399f, 0.002245f, -0.009747f, 0.012188f, -0.003559f, -0.003212f, 0.005836f, 0.019998f, -0.014015f, 0.014952f, -0.004392f, 0.009825f, 0.001941f, 0.014180f, 0.016769f, -0.002445f, 0.002853f, -0.022479f, -0.014364f, -0.003101f, -0.011423f, -0.020274f, 0.000166f, -0.006123f, -0.016737f, 0.023335f, -0.022338f, -0.004661f, -0.011830f, -0.008788f, 0.012119f, -0.014510f, 0.006729f, -0.003718f, 0.012350f, -0.005809f, 0.013670f, -0.019543f, -0.009021f, 0.004951f, 0.016869f, -0.032813f, -0.016377f, 0.003517f, -0.003405f, -0.003976f, 0.010271f, -0.015879f, -0.039607f, 0.010037f, -0.035747f, 0.018207f, -0.016409f, 0.002594f, -0.039278f, -0.009309f, -0.027504f, -0.011052f, 0.033405f, 0.001932f, -0.028595f, 0.026851f, -0.012950f, 0.002213f, -0.029839f, 0.004934f, 0.010929f, -0.025346f, -0.006973f, -0.022622f, -0.000870f, 0.001858f, -0.008500f, -0.006017f, 0.021717f, 0.003823f, -0.016032f, 0.004171f, -0.033469f, 0.019952f, 0.030224f, -0.009728f, + 0.012075f, 0.022378f, -0.002600f, -0.004195f, 0.001717f, 0.002983f, 0.011879f, 0.002503f, 0.001893f, 0.007078f, -0.019392f, -0.001023f, -0.022178f, -0.021140f, -0.010060f, 0.009298f, 0.011389f, -0.000378f, -0.026642f, 0.005272f, 0.005125f, 0.012724f, 0.025397f, -0.027338f, 0.038808f, -0.033233f, -0.000303f, -0.006402f, -0.007724f, -0.015842f, -0.033194f, -0.041597f, -0.018496f, -0.004327f, 0.008337f, -0.002636f, -0.000826f, 0.006829f, -0.003111f, 0.030369f, 0.010925f, -0.029428f, -0.008143f, 0.000575f, 0.015592f, -0.019399f, -0.002826f, -0.040028f, 0.003327f, 0.036745f, -0.032872f, -0.018212f, -0.034308f, 0.041176f, 0.018834f, -0.021480f, 0.028169f, 0.026439f, 0.039668f, -0.015189f, -0.012524f, 0.027436f, -0.003292f, -0.006489f, 0.010748f, 0.011702f, 0.005907f, 0.005130f, -0.037711f, -0.004995f, 0.001005f, -0.000578f, 0.003026f, -0.005269f, 0.017267f, 0.030830f, 0.004122f, 0.001254f, 0.000374f, 0.000596f, 0.030159f, 0.006839f, -0.001129f, -0.007320f, 0.008428f, 0.005526f, -0.003633f, 0.002407f, -0.015718f, -0.004441f, 0.026406f, -0.026198f, -0.011266f, -0.022735f, 0.029426f, -0.027018f, + 0.014088f, -0.011655f, 0.009422f, -0.006665f, 0.007834f, -0.021934f, 0.005919f, 0.030543f, -0.019612f, 0.000608f, -0.053897f, -0.003509f, -0.018201f, 0.000418f, -0.050099f, -0.003367f, -0.001112f, -0.016977f, -0.009526f, 0.040858f, -0.043404f, 0.006366f, -0.010344f, -0.017990f, 0.014209f, -0.016448f, -0.032747f, -0.025912f, 0.006487f, 0.000642f, 0.011663f, -0.018456f, -0.009482f, 0.034017f, 0.013711f, -0.005867f, 0.008975f, -0.018835f, -0.017217f, -0.016392f, 0.035808f, -0.031792f, -0.036664f, 0.017245f, -0.033954f, 0.012177f, 0.003009f, 0.008723f, -0.014190f, -0.004758f, -0.017579f, -0.009092f, -0.013106f, 0.006339f, 0.019554f, 0.011370f, -0.026736f, 0.032578f, 0.006080f, 0.010907f, 0.005158f, 0.015349f, -0.001261f, 0.014751f, 0.006067f, -0.007540f, 0.012224f, 0.002976f, 0.015526f, 0.008404f, -0.019206f, 0.008198f, -0.003700f, 0.005628f, -0.001632f, -0.008597f, -0.003803f, -0.015729f, 0.017323f, 0.014848f, 0.019179f, -0.003352f, 0.032576f, 0.034537f, 0.017533f, 0.004279f, 0.019612f, 0.035898f, 0.021854f, 0.039230f, 0.029600f, 0.029247f, -0.027027f, -0.031886f, 0.011360f, -0.006478f, + -0.003286f, 0.002529f, -0.010196f, 0.013356f, 0.016140f, 0.006450f, 0.036913f, -0.006699f, -0.011754f, -0.015778f, -0.005728f, 0.004126f, 0.002888f, -0.064068f, -0.012170f, 0.029347f, 0.018846f, -0.062109f, -0.046989f, -0.013716f, -0.001171f, 0.021461f, -0.009166f, -0.000683f, -0.050501f, 0.007902f, -0.026662f, 0.019555f, -0.004084f, 0.025660f, -0.021658f, -0.004377f, -0.025587f, 0.005316f, 0.020208f, -0.008868f, 0.005684f, -0.013432f, 0.000802f, -0.032734f, -0.009605f, -0.000576f, 0.002224f, 0.026112f, 0.032415f, 0.002238f, -0.030022f, -0.019915f, -0.009728f, 0.004225f, -0.007911f, 0.010699f, -0.034318f, -0.009468f, -0.004599f, -0.007699f, -0.019126f, -0.003281f, -0.008643f, 0.024673f, 0.034306f, 0.024204f, 0.008805f, 0.015307f, 0.014768f, -0.015051f, 0.057385f, 0.035748f, -0.043979f, -0.037350f, 0.042595f, -0.031420f, -0.017855f, 0.007794f, 0.005868f, -0.030461f, 0.032311f, 0.003363f, -0.094355f, 0.027060f, 0.062367f, -0.040438f, 0.044021f, 0.056871f, -0.015536f, -0.004569f, 0.033434f, -0.033610f, -0.018152f, 0.012631f, -0.011875f, -0.020898f, -0.018247f, -0.013787f, 0.021907f, 0.011287f, + 0.014775f, -0.004809f, -0.018998f, -0.017663f, 0.020198f, -0.016746f, -0.000303f, 0.004062f, -0.027497f, 0.016941f, 0.016186f, -0.013254f, -0.008393f, -0.024032f, 0.001510f, -0.015578f, 0.020133f, -0.033137f, 0.003198f, 0.010119f, -0.000900f, -0.016824f, -0.031731f, -0.009284f, -0.013451f, -0.005192f, -0.024494f, 0.032155f, -0.032879f, 0.003712f, -0.011651f, 0.006410f, -0.046907f, 0.046556f, 0.009678f, 0.002560f, -0.019195f, 0.008747f, 0.008230f, -0.000313f, 0.004655f, -0.011234f, -0.037223f, -0.009063f, -0.016100f, -0.026626f, -0.032101f, -0.014323f, -0.008165f, -0.034710f, -0.012361f, -0.004385f, 0.021812f, 0.007186f, -0.029206f, -0.028296f, 0.015134f, -0.009760f, -0.037185f, -0.019017f, 0.008378f, 0.026931f, 0.029245f, 0.027233f, 0.047803f, -0.012551f, -0.034002f, -0.034509f, -0.003108f, 0.019036f, 0.036778f, 0.016469f, 0.007564f, 0.021090f, 0.062801f, -0.055498f, 0.000052f, -0.023003f, -0.026916f, -0.018563f, 0.029711f, -0.016751f, -0.014900f, 0.012967f, 0.037853f, 0.021360f, -0.025263f, 0.016187f, -0.026559f, 0.019626f, 0.003071f, -0.004432f, -0.011804f, -0.022388f, -0.015099f, 0.002445f, + 0.005929f, -0.034630f, 0.023354f, 0.002451f, -0.000900f, -0.013746f, -0.012057f, 0.022837f, -0.030327f, -0.002464f, 0.037666f, 0.040758f, -0.035022f, -0.003327f, -0.005073f, -0.024955f, -0.028878f, 0.033475f, 0.010215f, 0.021070f, -0.004235f, 0.002042f, -0.000445f, 0.021093f, -0.005885f, 0.000678f, -0.024228f, 0.038025f, 0.034683f, -0.047237f, -0.054658f, -0.012430f, 0.003362f, -0.019064f, 0.004619f, -0.014132f, 0.007095f, -0.029103f, 0.033543f, -0.037302f, -0.030065f, -0.011996f, 0.008064f, 0.026184f, -0.010898f, 0.037961f, 0.006414f, -0.012548f, -0.010512f, -0.008645f, -0.021598f, 0.024577f, 0.018448f, -0.080431f, 0.120360f, -0.081888f, -0.023957f, 0.024701f, 0.063924f, 0.056397f, -0.022267f, -0.019030f, 0.001159f, 0.005653f, 0.031863f, 0.015215f, -0.047583f, 0.016223f, -0.012100f, -0.013227f, 0.002142f, 0.021225f, -0.002542f, -0.031181f, -0.032183f, 0.018614f, 0.010679f, 0.023787f, -0.013712f, 0.028814f, 0.003831f, 0.033342f, -0.005363f, -0.007443f, 0.020346f, 0.000261f, -0.026251f, 0.007232f, 0.025833f, 0.001883f, -0.034066f, 0.018990f, 0.035084f, -0.031088f, 0.011438f, -0.033575f, + 0.012499f, -0.043222f, -0.032449f, 0.054599f, 0.045736f, 0.025880f, 0.060193f, -0.008446f, 0.072265f, 0.031187f, 0.026648f, 0.043548f, -0.069240f, 0.060461f, 0.017402f, 0.026773f, 0.024215f, 0.010184f, -0.034810f, 0.009368f, 0.060682f, 0.075488f, -0.002875f, -0.076618f, 0.037637f, 0.006456f, 0.014717f, 0.001499f, -0.000438f, -0.013365f, -0.063580f, 0.016304f, -0.013435f, 0.017338f, 0.082793f, -0.004583f, -0.094963f, -0.050398f, -0.055237f, -0.023296f, 0.002128f, 0.030286f, -0.080686f, -0.020015f, 0.014593f, -0.039951f, -0.042539f, -0.041820f, -0.042458f, -0.008693f, 0.050360f, 0.023420f, -0.017634f, 0.021804f, 0.011271f, -0.023913f, 0.026810f, -0.029790f, -0.004551f, 0.010129f, 0.018323f, -0.057600f, 0.029820f, -0.029182f, 0.017735f, -0.012674f, -0.043245f, 0.010805f, 0.015682f, 0.005247f, 0.009107f, -0.020395f, -0.062095f, 0.000840f, 0.014894f, 0.012129f, 0.002354f, 0.006162f, -0.024782f, -0.002141f, -0.000558f, 0.056093f, -0.007228f, -0.097177f, -0.041380f, -0.012264f, -0.077510f, 0.016085f, -0.022553f, -0.022179f, -0.036552f, -0.019088f, -0.055421f, -0.057892f, -0.067008f, -0.008870f, + 0.073614f, 0.007858f, -0.044253f, 0.018997f, 0.001950f, -0.007020f, -0.024470f, -0.037873f, 0.016247f, 0.028323f, 0.023630f, 0.011854f, -0.012435f, -0.055987f, -0.036274f, -0.031796f, 0.051815f, -0.004520f, 0.041239f, 0.057250f, -0.048455f, -0.056727f, -0.063366f, 0.018278f, 0.020101f, -0.082570f, -0.050436f, 0.003915f, 0.000971f, 0.027821f, -0.099942f, 0.012933f, 0.021403f, 0.070823f, -0.080261f, 0.011940f, 0.011646f, -0.007140f, 0.042264f, -0.022254f, 0.075047f, -0.001272f, 0.005522f, 0.026051f, 0.028454f, -0.025654f, -0.062759f, 0.039218f, 0.042374f, 0.013498f, 0.053933f, 0.014308f, -0.008088f, -0.016784f, -0.047638f, 0.076053f, -0.033312f, 0.072491f, 0.025916f, -0.000636f, 0.019148f, -0.024221f, 0.035861f, 0.041439f, -0.026564f, 0.032380f, 0.012766f, -0.066045f, 0.051063f, 0.059051f, -0.007869f, -0.030154f, 0.005697f, 0.005084f, 0.001032f, -0.005469f, 0.097202f, 0.006256f, -0.058756f, -0.023159f, 0.009474f, -0.072682f, -0.110124f, 0.025986f, 0.133034f, 0.042781f, -0.012323f, -0.071158f, -0.025439f, 0.004671f, 0.087390f, -0.036896f, -0.049341f, -0.077336f, -0.133592f, 0.037829f, + 0.066493f, -0.088235f, -0.006262f, 0.047258f, -0.019464f, -0.040559f, 0.036360f, -0.039235f, -0.019233f, 0.001290f, -0.027015f, 0.044173f, -0.014154f, -0.022590f, -0.006770f, 0.022483f, 0.084015f, -0.014666f, -0.037079f, -0.044422f, 0.016375f, 0.037765f, 0.024619f, -0.039551f, -0.005081f, 0.043158f, 0.001982f, -0.036101f, 0.011989f, -0.032469f, 0.077189f, -0.036691f, -0.082560f, 0.026590f, -0.013621f, 0.037512f, -0.055393f, -0.056850f, 0.055025f, -0.006588f, -0.071235f, -0.040028f, -0.068218f, 0.085874f, 0.042105f, 0.021543f, -0.093332f, 0.014284f, 0.037558f, -0.067270f, 0.002871f, -0.048923f, -0.036652f, 0.034201f, -0.033013f, 0.039625f, -0.027863f, -0.058519f, -0.014976f, -0.015865f, -0.011040f, 0.017762f, 0.003544f, -0.036724f, 0.105816f, -0.014545f, 0.043848f, 0.049434f, 0.024313f, -0.014494f, 0.003620f, -0.022839f, 0.050535f, 0.020907f, -0.035417f, 0.027128f, 0.095581f, 0.022347f, 0.040120f, -0.001335f, 0.007974f, 0.017766f, -0.037850f, 0.017940f, 0.031892f, 0.002603f, -0.043205f, -0.019631f, -0.032635f, -0.010172f, -0.043290f, -0.037340f, 0.002698f, -0.029302f, 0.044084f, 0.017284f, + -0.013054f, -0.031280f, -0.018352f, -0.008764f, 0.022713f, -0.005432f, -0.041047f, -0.029763f, 0.005866f, 0.010600f, 0.019990f, 0.010700f, -0.010815f, 0.012582f, -0.036080f, -0.100772f, 0.002048f, 0.127220f, -0.005928f, -0.088655f, -0.017034f, 0.061685f, 0.014298f, 0.011882f, -0.003958f, -0.037327f, -0.051471f, -0.027307f, 0.008905f, -0.000951f, -0.047803f, 0.018826f, -0.093824f, -0.014406f, 0.082400f, 0.026838f, 0.106641f, -0.012531f, -0.045431f, -0.011291f, -0.012060f, 0.030749f, 0.003822f, 0.000560f, -0.062079f, -0.028776f, -0.031189f, -0.003209f, 0.066055f, -0.008951f, -0.020156f, 0.022282f, 0.024085f, 0.002681f, -0.041889f, -0.062416f, -0.043366f, -0.145318f, -0.223694f, 0.050192f, 0.197002f, 0.059398f, 0.483982f, 0.454441f, 0.199635f, 0.467556f, 0.194209f, -0.092799f, -0.008361f, -0.150540f, -0.397597f, -0.222026f, -0.213329f, -0.409797f, -0.301284f, -0.178841f, -0.263420f, -0.182328f, 0.023429f, -0.029313f, -0.095220f, 0.079247f, 0.072854f, -0.017924f, 0.077746f, 0.240175f, 0.089485f, 0.028132f, 0.227136f, 0.199656f, 0.051785f, 0.240331f, 0.298969f, -0.026627f, 0.165041f, 0.298155f, + 0.094739f, 0.100118f, 0.301494f, 0.166043f, -0.059982f, 0.224374f, 0.145853f, -0.108818f, 0.062567f, 0.165410f, -0.135105f, -0.208379f, -0.083323f, -0.394651f, -0.631882f, -0.615483f, -0.680990f, -1.058735f, -0.927114f, -0.778052f, -0.993223f, -0.864091f, -0.584479f, -0.682647f, -0.545290f, -0.215034f, -0.134996f, 0.096901f, 0.257068f, 0.486545f, 0.679280f, 0.742615f, 0.872327f, 0.945296f, 0.845111f, 0.760948f, 0.746588f, 0.319287f, -0.024459f, -0.004229f}, + {-0.010706f, -0.017167f, -0.001287f, -0.017525f, -0.009700f, -0.003350f, -0.003022f, -0.000475f, -0.004166f, -0.000782f, 0.003795f, -0.004550f, 0.005319f, 0.000654f, -0.007138f, 0.004469f, -0.001227f, 0.004777f, 0.000710f, -0.006772f, 0.004794f, 0.002655f, 0.003770f, -0.002894f, -0.004321f, -0.003106f, -0.003593f, 0.002845f, -0.000589f, 0.000792f, -0.003918f, 0.002820f, -0.004754f, -0.006515f, 0.000356f, -0.008098f, -0.006024f, -0.003101f, 0.008709f, 0.001080f, 0.003363f, -0.010534f, 0.001550f, 0.001805f, -0.009058f, 0.003266f, 0.000719f, -0.009460f, -0.001724f, -0.000697f, -0.007337f, 0.008416f, -0.005262f, -0.003027f, 0.004961f, -0.000349f, -0.008892f, -0.000889f, -0.006146f, 0.006933f, 0.006046f, -0.008478f, -0.004422f, -0.005665f, -0.003831f, -0.002393f, 0.003671f, 0.003218f, 0.002109f, 0.005822f, -0.000052f, 0.002312f, -0.000854f, -0.002310f, -0.003048f, -0.001391f, 0.021128f, -0.010667f, 0.001167f, -0.006518f, -0.000132f, 0.008401f, 0.004501f, 0.005122f, -0.004478f, 0.006430f, -0.006734f, 0.007261f, 0.004146f, 0.008826f, 0.004209f, -0.002172f, -0.010124f, 0.010790f, 0.008028f, 0.002412f, + 0.001610f, 0.000602f, -0.004147f, -0.005523f, 0.006077f, 0.003097f, 0.004060f, 0.005103f, -0.005394f, -0.000910f, 0.005483f, 0.005704f, -0.000556f, -0.005113f, -0.008536f, -0.000473f, 0.001877f, -0.005823f, 0.002215f, 0.000886f, -0.007692f, -0.004817f, -0.000390f, 0.003472f, 0.000295f, -0.004417f, 0.007585f, 0.000806f, -0.002311f, -0.006056f, -0.001039f, 0.000049f, -0.010165f, 0.004157f, 0.006633f, -0.004222f, 0.008438f, 0.006147f, -0.000942f, 0.004958f, 0.003440f, 0.010304f, 0.003563f, 0.001361f, -0.001621f, 0.003423f, -0.008770f, 0.000403f, 0.004268f, -0.005137f, 0.004834f, 0.005049f, 0.006321f, 0.003124f, 0.008084f, -0.019988f, -0.013512f, -0.002243f, -0.008605f, -0.007880f, 0.004007f, -0.011513f, -0.010558f, 0.002824f, -0.004641f, -0.004694f, 0.004765f, -0.003843f, -0.007411f, -0.001140f, -0.000326f, -0.002476f, -0.003257f, -0.002384f, -0.008547f, -0.000867f, -0.006098f, -0.004911f, -0.000000f, 0.007535f, -0.001509f, 0.011030f, -0.005673f, 0.006488f, 0.008074f, -0.009153f, 0.003297f, -0.002584f, 0.001930f, -0.006595f, 0.003308f, 0.003665f, 0.006265f, -0.003484f, -0.007183f, -0.002960f, + -0.003850f, 0.001971f, 0.003070f, -0.009373f, -0.000933f, -0.006577f, -0.004758f, 0.001249f, -0.007162f, -0.012212f, -0.002028f, 0.011082f, 0.002724f, 0.003554f, 0.000791f, 0.002144f, 0.001732f, 0.003713f, 0.004707f, 0.012384f, 0.001101f, -0.006365f, -0.007318f, -0.002253f, -0.003440f, -0.001671f, -0.014952f, 0.002329f, -0.001008f, 0.003913f, -0.001974f, 0.000312f, -0.003581f, -0.002991f, 0.014692f, 0.001263f, 0.001069f, 0.016026f, 0.018484f, 0.014221f, 0.010567f, 0.014953f, 0.006078f, 0.006505f, -0.001343f, 0.004260f, 0.015755f, 0.001696f, 0.004827f, -0.005826f, -0.003863f, 0.012079f, -0.008050f, -0.014721f, 0.004506f, -0.012291f, 0.010683f, 0.002543f, 0.012816f, -0.004025f, -0.000743f, -0.003104f, 0.004259f, 0.005157f, -0.000108f, -0.012502f, -0.002511f, 0.010811f, -0.007072f, 0.004910f, 0.002941f, -0.002360f, -0.002991f, 0.012022f, 0.009125f, 0.020925f, 0.008468f, 0.001814f, 0.005128f, -0.001674f, 0.001415f, 0.006663f, 0.004078f, 0.017873f, -0.007432f, -0.004959f, 0.001435f, 0.004697f, -0.002581f, 0.008368f, -0.007475f, 0.001744f, -0.000240f, -0.005767f, 0.002143f, 0.001958f, + -0.007691f, -0.010672f, -0.006341f, 0.008818f, 0.004606f, 0.000281f, -0.000193f, 0.006775f, 0.001083f, 0.002486f, 0.011965f, 0.005962f, -0.001822f, -0.001276f, 0.011113f, -0.007984f, 0.002730f, 0.035045f, -0.000858f, 0.017280f, -0.003342f, -0.002450f, 0.018035f, -0.017697f, -0.006470f, -0.001194f, 0.008760f, 0.006472f, -0.004121f, 0.003672f, 0.001396f, -0.016041f, 0.003796f, 0.008849f, 0.007389f, -0.018017f, -0.006722f, 0.002206f, -0.013377f, -0.003440f, 0.000644f, 0.000725f, 0.001408f, -0.001875f, 0.007927f, -0.005753f, 0.006212f, 0.013742f, 0.013210f, -0.003854f, -0.008232f, -0.001302f, 0.014903f, -0.000794f, -0.001279f, 0.000189f, 0.001037f, -0.007905f, 0.000873f, 0.006509f, 0.000458f, 0.001575f, 0.005651f, -0.004061f, 0.003610f, 0.002437f, -0.002260f, 0.010793f, 0.000464f, 0.008568f, 0.001072f, -0.002897f, 0.003094f, 0.005691f, 0.004267f, -0.000312f, -0.009143f, -0.007766f, -0.010898f, -0.004642f, -0.001135f, -0.000146f, -0.002002f, 0.007349f, 0.005642f, -0.005185f, -0.010851f, -0.000049f, 0.004247f, 0.005703f, -0.007027f, -0.001917f, -0.009359f, -0.025942f, -0.006797f, -0.008762f, + 0.001654f, 0.004366f, -0.004443f, -0.005152f, -0.048997f, 0.001038f, 0.015723f, -0.011368f, -0.018339f, 0.013797f, -0.020744f, -0.003061f, -0.009274f, -0.010822f, -0.006763f, -0.006757f, 0.000761f, 0.008426f, -0.001491f, 0.004751f, -0.005255f, 0.006394f, -0.004754f, -0.007299f, 0.003338f, -0.002650f, -0.011629f, -0.014821f, 0.007251f, 0.000861f, 0.007178f, 0.002318f, 0.015934f, 0.002395f, 0.005636f, -0.007421f, -0.012975f, -0.003641f, -0.006330f, 0.013320f, -0.005910f, 0.000529f, 0.003663f, -0.006332f, 0.018652f, 0.012370f, 0.000570f, -0.014437f, -0.018231f, -0.006099f, 0.006557f, -0.016547f, -0.000006f, -0.007940f, -0.015489f, 0.001693f, -0.024463f, -0.005311f, -0.002096f, -0.009076f, 0.017414f, -0.000828f, -0.001945f, -0.000068f, 0.011309f, 0.013623f, 0.004940f, -0.013240f, -0.003287f, -0.003210f, 0.008508f, 0.003578f, 0.005555f, 0.011089f, -0.028725f, -0.040615f, 0.004323f, -0.008762f, 0.008465f, -0.010891f, -0.021252f, 0.001180f, 0.018124f, 0.004529f, 0.010839f, 0.009918f, 0.006430f, 0.005271f, -0.007338f, 0.005741f, 0.011810f, -0.018937f, -0.009912f, -0.005829f, -0.005117f, 0.007904f, + -0.002330f, 0.003193f, 0.012292f, 0.012053f, -0.005309f, -0.010339f, 0.001897f, -0.005458f, -0.005427f, -0.009980f, -0.008154f, -0.015582f, 0.003241f, -0.005334f, -0.000824f, 0.015311f, -0.003594f, 0.003588f, 0.003145f, -0.009596f, 0.008057f, 0.009487f, 0.011402f, -0.009764f, 0.018403f, -0.002241f, -0.014702f, -0.010919f, -0.016026f, 0.015167f, -0.006131f, -0.015308f, 0.004173f, -0.001534f, -0.012238f, 0.013194f, 0.015570f, -0.004623f, -0.014526f, 0.011227f, 0.002333f, 0.009079f, -0.002130f, 0.023207f, 0.011940f, -0.011627f, -0.007494f, -0.004768f, -0.006273f, 0.008723f, 0.008580f, 0.014440f, -0.038227f, -0.000389f, -0.006660f, 0.002187f, 0.000270f, 0.014181f, 0.011011f, 0.014693f, -0.002119f, 0.020174f, -0.009240f, 0.013584f, 0.017436f, 0.002744f, 0.017373f, 0.003265f, 0.004737f, -0.005215f, -0.001450f, -0.007616f, 0.013818f, -0.001286f, -0.001257f, 0.018597f, 0.011789f, -0.000292f, 0.005406f, -0.002106f, -0.000376f, 0.011896f, -0.006828f, -0.012772f, 0.000239f, -0.002227f, 0.006538f, -0.035215f, 0.021087f, 0.021930f, 0.009107f, 0.003796f, 0.000818f, -0.011626f, -0.022908f, 0.014649f, + -0.009112f, -0.011167f, -0.006843f, 0.013030f, -0.009466f, 0.007746f, 0.008765f, -0.008963f, -0.005271f, -0.020760f, 0.009351f, -0.013829f, 0.007852f, 0.000393f, 0.007031f, 0.011178f, 0.019490f, 0.007273f, -0.008851f, -0.022458f, -0.003693f, 0.011780f, 0.021393f, 0.014604f, -0.003239f, -0.005894f, -0.013778f, -0.024814f, -0.002517f, 0.013283f, 0.006911f, 0.001503f, 0.003513f, 0.014940f, 0.050192f, 0.027711f, -0.002683f, 0.005026f, 0.004224f, 0.011330f, 0.019651f, -0.002587f, 0.003620f, 0.033905f, 0.003128f, -0.001322f, 0.020004f, 0.014321f, -0.014409f, 0.008476f, 0.001649f, 0.013645f, 0.008925f, -0.023385f, 0.017390f, -0.010833f, -0.002014f, 0.001991f, 0.013462f, 0.002454f, 0.003257f, 0.010536f, 0.011626f, -0.011733f, 0.011927f, 0.037115f, -0.007189f, 0.016775f, 0.016755f, -0.009494f, 0.012969f, 0.003346f, -0.009680f, -0.010014f, 0.005871f, -0.009028f, -0.023965f, -0.003398f, -0.001914f, 0.001935f, -0.030535f, -0.007744f, 0.008203f, -0.019322f, -0.013599f, -0.031524f, 0.009210f, 0.013546f, -0.022202f, -0.008285f, -0.011316f, 0.021558f, -0.000639f, -0.013699f, -0.010206f, -0.015241f, + 0.005853f, 0.017647f, -0.014691f, 0.006034f, -0.007120f, 0.007729f, 0.019627f, 0.007462f, 0.015042f, 0.015369f, 0.019409f, 0.001385f, 0.050824f, 0.014950f, 0.001085f, -0.001909f, -0.008543f, 0.001400f, 0.008661f, -0.005222f, -0.013037f, -0.016678f, 0.000275f, 0.013731f, -0.016857f, 0.008819f, 0.009301f, -0.003402f, 0.033906f, 0.013414f, -0.009811f, -0.004941f, -0.003742f, 0.013597f, -0.006304f, -0.010653f, -0.013981f, 0.009056f, -0.029186f, 0.001993f, -0.009077f, -0.009250f, 0.007788f, 0.002968f, -0.011478f, -0.005374f, -0.011094f, 0.014951f, -0.005854f, -0.021254f, -0.003955f, 0.001444f, 0.000375f, -0.011960f, -0.019420f, 0.002611f, -0.004719f, -0.001580f, 0.004793f, -0.002984f, 0.015575f, 0.004335f, 0.008694f, -0.010033f, 0.023236f, 0.007940f, -0.013852f, 0.017076f, 0.029689f, -0.008295f, -0.009316f, 0.016627f, 0.013080f, 0.006701f, 0.007209f, -0.018836f, -0.007033f, -0.020523f, 0.004112f, 0.019726f, 0.006659f, -0.024507f, -0.007391f, 0.007348f, -0.026903f, -0.038861f, -0.006547f, -0.000820f, 0.006409f, -0.040052f, 0.018750f, 0.053662f, -0.022147f, 0.037731f, -0.008631f, -0.007872f, + -0.011886f, -0.019158f, 0.014252f, 0.000794f, 0.009698f, 0.009975f, -0.035235f, 0.000739f, 0.016229f, -0.013951f, -0.007636f, -0.021816f, 0.039048f, -0.024094f, 0.019227f, 0.018564f, -0.023380f, -0.009244f, -0.008201f, 0.016799f, -0.018701f, -0.007210f, 0.018928f, -0.002891f, -0.005118f, -0.008806f, 0.023115f, 0.004538f, -0.003762f, -0.009035f, 0.000605f, -0.017104f, 0.019082f, -0.001734f, 0.008790f, 0.048135f, 0.031959f, -0.026813f, -0.019347f, 0.008087f, -0.002424f, 0.020548f, -0.010884f, -0.015388f, -0.005639f, -0.029149f, -0.011442f, -0.002797f, -0.022833f, -0.012316f, 0.050976f, 0.012970f, 0.000311f, -0.001613f, -0.000410f, 0.015913f, 0.018097f, -0.002773f, 0.017914f, 0.002504f, -0.009457f, 0.003087f, -0.026794f, -0.000761f, -0.024679f, -0.012151f, 0.015842f, 0.023824f, -0.032271f, 0.015006f, -0.042056f, 0.006722f, 0.040192f, -0.010955f, -0.009424f, 0.008029f, -0.011573f, -0.010502f, 0.011908f, -0.001940f, -0.001443f, -0.000900f, -0.026025f, 0.045180f, -0.047573f, -0.005007f, -0.000212f, 0.016290f, 0.010922f, 0.000331f, -0.017409f, -0.013439f, 0.006814f, 0.035407f, -0.001831f, -0.015818f, + -0.009622f, -0.025335f, -0.000571f, -0.014863f, -0.010606f, -0.005179f, 0.009163f, -0.000765f, 0.002479f, -0.016964f, 0.004784f, 0.005055f, 0.012333f, 0.009365f, 0.012465f, -0.022870f, 0.001620f, -0.004320f, 0.016833f, 0.004366f, 0.032597f, 0.007284f, -0.005451f, 0.003431f, -0.015044f, 0.000678f, 0.015392f, 0.018376f, -0.024607f, -0.019539f, 0.000126f, 0.028949f, -0.041206f, 0.012798f, 0.052357f, 0.029147f, -0.010971f, 0.006490f, -0.024344f, 0.013504f, 0.027475f, -0.039840f, 0.012406f, -0.017702f, -0.002660f, -0.053948f, 0.003738f, -0.020108f, 0.026122f, 0.006120f, -0.022834f, -0.010977f, -0.032986f, 0.051778f, 0.014385f, 0.027357f, -0.030820f, -0.033437f, -0.006729f, 0.009507f, -0.009921f, -0.004064f, 0.016712f, 0.005177f, 0.004864f, 0.015620f, -0.038165f, -0.003711f, 0.000009f, 0.009969f, -0.026712f, 0.003809f, 0.003948f, -0.017896f, -0.010590f, -0.024809f, -0.019418f, 0.000149f, 0.007526f, -0.020076f, 0.000967f, -0.008993f, -0.018637f, 0.007212f, -0.000621f, 0.014587f, -0.040528f, -0.041589f, 0.008049f, -0.003506f, 0.015041f, 0.035013f, 0.003258f, -0.022017f, 0.030601f, -0.015639f, + -0.030062f, -0.022737f, -0.010364f, 0.002354f, -0.031891f, -0.012261f, 0.029943f, 0.041352f, 0.016829f, 0.011331f, 0.007945f, -0.005197f, 0.025777f, 0.014533f, -0.031699f, -0.017420f, -0.000571f, 0.002481f, 0.028303f, 0.017970f, 0.003918f, -0.005252f, -0.004340f, -0.015130f, 0.018510f, 0.014160f, 0.032669f, 0.006623f, 0.008645f, 0.003013f, 0.058151f, 0.005663f, 0.012653f, 0.034264f, 0.002576f, 0.042673f, -0.001230f, -0.020112f, -0.021359f, -0.040720f, 0.007682f, -0.017349f, -0.000830f, 0.003170f, 0.014841f, 0.020910f, 0.036100f, 0.036842f, -0.005352f, 0.032816f, -0.002044f, -0.002994f, 0.012914f, 0.027718f, 0.012572f, 0.007747f, -0.043741f, -0.022696f, -0.035446f, 0.018303f, 0.036601f, 0.007126f, -0.014978f, 0.025350f, 0.036771f, -0.004645f, 0.006263f, -0.008151f, 0.031071f, 0.026067f, 0.022506f, -0.012450f, -0.022192f, -0.003118f, -0.005192f, -0.050410f, 0.009686f, 0.007679f, 0.005355f, -0.012181f, -0.005944f, -0.056005f, -0.019287f, -0.050639f, -0.008173f, -0.037550f, -0.019164f, 0.038562f, 0.010793f, 0.040706f, 0.003517f, -0.030605f, -0.014745f, -0.031724f, -0.063060f, 0.011004f, + -0.038635f, -0.009315f, 0.038607f, 0.018255f, 0.015687f, 0.005976f, -0.006376f, 0.000545f, 0.008152f, -0.023659f, 0.022744f, -0.042280f, -0.047846f, 0.003639f, -0.006926f, 0.020030f, 0.040787f, 0.035242f, 0.038275f, -0.022074f, -0.038035f, 0.029296f, -0.017161f, 0.030291f, 0.009370f, -0.048899f, 0.012574f, 0.009009f, -0.054661f, 0.029468f, -0.024696f, -0.025665f, 0.015398f, 0.016644f, 0.003069f, 0.019769f, 0.001989f, 0.000903f, -0.012362f, -0.007541f, 0.012654f, -0.007739f, -0.018216f, 0.001151f, -0.034729f, 0.012675f, -0.044274f, -0.027522f, 0.002509f, 0.017710f, -0.005239f, -0.018802f, 0.007977f, 0.013892f, 0.011571f, 0.000599f, 0.037454f, -0.083633f, -0.017644f, -0.023124f, -0.026284f, 0.035846f, -0.027620f, -0.004353f, -0.065559f, -0.019223f, -0.006124f, 0.003049f, 0.046904f, -0.011330f, 0.007950f, -0.027647f, 0.025280f, -0.034321f, -0.018991f, 0.016826f, -0.074898f, 0.010617f, 0.045358f, 0.053404f, 0.045563f, 0.025362f, 0.065799f, 0.032795f, 0.005011f, -0.015909f, -0.008644f, -0.024212f, -0.043622f, -0.005722f, 0.017328f, -0.071445f, -0.071113f, -0.000336f, 0.012450f, 0.049799f, + -0.015801f, 0.022838f, 0.021687f, 0.010779f, 0.012138f, -0.078592f, 0.062393f, 0.033370f, 0.077188f, 0.027845f, -0.002608f, -0.028662f, -0.017305f, -0.018004f, -0.026934f, 0.019616f, 0.015366f, -0.028283f, -0.031148f, 0.016813f, 0.023849f, 0.039896f, 0.012131f, -0.024867f, -0.036108f, 0.007854f, 0.007296f, 0.002595f, 0.005510f, 0.071049f, 0.025130f, 0.013680f, 0.024529f, 0.025838f, 0.030109f, 0.000871f, -0.043759f, 0.031954f, 0.100343f, -0.009808f, -0.026171f, -0.059886f, -0.011467f, 0.080265f, 0.010909f, 0.033540f, 0.012740f, -0.109794f, 0.024564f, 0.020486f, 0.004246f, 0.012118f, -0.005643f, 0.002583f, 0.024779f, -0.058397f, -0.022193f, 0.051609f, 0.021436f, 0.008285f, -0.041702f, 0.033574f, 0.015292f, -0.038434f, -0.039835f, -0.027134f, 0.044665f, 0.086035f, 0.083029f, 0.088684f, 0.093203f, 0.007158f, -0.032948f, 0.036868f, 0.070791f, -0.144967f, -0.053076f, 0.012812f, -0.086971f, -0.077052f, -0.035419f, -0.046266f, 0.003936f, -0.033721f, 0.091252f, -0.008530f, -0.034406f, -0.011989f, -0.072562f, -0.018351f, -0.058880f, -0.022537f, 0.008420f, -0.072580f, -0.014009f, 0.058560f, + -0.049593f, -0.012477f, 0.014823f, 0.001045f, 0.022169f, 0.006347f, -0.001673f, 0.022694f, 0.006120f, -0.035363f, -0.008729f, 0.034058f, -0.018424f, -0.044348f, -0.016981f, -0.054054f, -0.029321f, -0.095722f, 0.007411f, -0.064720f, 0.029828f, 0.013319f, -0.026472f, -0.084165f, 0.005661f, -0.007547f, 0.103252f, 0.043608f, -0.000495f, 0.059008f, 0.022306f, 0.002301f, 0.043953f, -0.053120f, -0.028904f, 0.006056f, 0.038329f, -0.043476f, -0.030674f, 0.155274f, -0.017808f, 0.081639f, -0.065140f, 0.002379f, -0.047623f, 0.036021f, -0.019258f, 0.054898f, 0.077864f, 0.005390f, -0.061434f, 0.052774f, -0.064604f, -0.056423f, 0.115484f, -0.066701f, 0.043347f, 0.036489f, -0.058018f, 0.031707f, 0.019484f, 0.012039f, -0.008941f, 0.044424f, 0.025055f, -0.058061f, 0.042560f, 0.046873f, 0.011142f, 0.007598f, 0.030699f, -0.001093f, -0.054982f, 0.073991f, -0.040144f, 0.016657f, -0.029170f, -0.007304f, 0.011801f, -0.013829f, 0.063083f, 0.013790f, -0.005281f, -0.014233f, -0.000318f, 0.012295f, -0.058583f, 0.020099f, -0.028782f, -0.020847f, -0.011481f, 0.000733f, -0.026744f, -0.013330f, 0.010990f, 0.065142f, + 0.004537f, -0.011989f, -0.036659f, 0.018644f, 0.015558f, 0.003755f, 0.054188f, -0.009946f, -0.000291f, 0.061429f, 0.023778f, 0.006176f, -0.051345f, -0.026689f, 0.042800f, 0.024099f, -0.046775f, 0.005752f, -0.114034f, -0.055393f, 0.116647f, -0.020082f, 0.067711f, 0.083316f, 0.032077f, 0.020579f, 0.046728f, -0.005821f, -0.028235f, 0.034169f, 0.025503f, 0.012046f, 0.075160f, 0.051470f, 0.070354f, -0.025565f, -0.102939f, 0.012836f, -0.007662f, 0.031688f, 0.016780f, -0.042454f, 0.024377f, 0.016608f, -0.036599f, -0.051831f, -0.025527f, -0.082711f, -0.072065f, 0.047220f, -0.007107f, -0.085490f, -0.019158f, 0.001996f, 0.031469f, 0.018924f, -0.043488f, -0.059094f, 0.010352f, 0.066974f, -0.029951f, 0.021781f, -0.044232f, 0.010881f, -0.050556f, 0.029487f, 0.043487f, -0.034265f, -0.052152f, -0.046551f, -0.001171f, 0.015256f, -0.019365f, -0.023652f, -0.015207f, -0.080571f, -0.057722f, 0.025253f, -0.047550f, -0.018851f, 0.024321f, -0.051978f, -0.065070f, 0.018445f, 0.042675f, -0.013522f, -0.079264f, 0.028929f, 0.039224f, 0.098068f, 0.006519f, 0.018427f, 0.027254f, -0.056120f, 0.024022f, -0.024936f, + -0.086186f, -0.025413f, 0.063867f, 0.001748f, -0.039465f, -0.129023f, 0.081783f, 0.080898f, -0.018956f, 0.062023f, 0.098959f, -0.010556f, 0.016751f, 0.053581f, -0.024923f, -0.020727f, 0.040953f, -0.008306f, 0.022563f, -0.047602f, -0.155473f, 0.043047f, -0.018747f, 0.116736f, -0.040555f, -0.023959f, -0.047137f, -0.130739f, 0.059726f, -0.075517f, -0.045725f, 0.003940f, -0.000784f, 0.103624f, -0.073521f, -0.049364f, 0.066657f, 0.041758f, 0.034579f, -0.010820f, 0.033087f, -0.021736f, -0.033933f, -0.028991f, 0.078527f, 0.067547f, 0.102233f, -0.030469f, -0.038413f, 0.003992f, -0.006776f, 0.039844f, -0.061587f, 0.015535f, -0.064658f, 0.037003f, 0.063775f, 0.024273f, -0.052043f, 0.038195f, -0.045762f, 0.106500f, 0.053375f, 0.017368f, 0.014551f, -0.013326f, -0.080848f, 0.048848f, -0.109813f, 0.025952f, 0.021406f, 0.056933f, 0.043775f, -0.092508f, 0.029793f, -0.057118f, -0.034632f, 0.029081f, -0.008337f, 0.038735f, 0.024025f, -0.084219f, 0.036912f, 0.083228f, 0.107244f, -0.027927f, 0.032432f, -0.040879f, 0.075261f, -0.104352f, -0.005265f, -0.021102f, 0.032807f, 0.036641f, -0.115665f, 0.080954f, + -0.005513f, -0.009148f, 0.034563f, 0.018398f, 0.040068f, 0.003735f, 0.022563f, -0.048557f, 0.046349f, 0.005201f, -0.037694f, 0.023458f, -0.011435f, -0.006670f, 0.045512f, 0.016914f, -0.056031f, 0.028759f, -0.023341f, 0.045519f, -0.031563f, 0.006900f, -0.013129f, 0.017804f, -0.012176f, 0.004756f, -0.021076f, 0.053027f, 0.001013f, -0.004822f, 0.024020f, 0.013381f, -0.023655f, -0.012892f, 0.020102f, 0.013082f, 0.024717f, -0.027727f, 0.014272f, -0.006102f, -0.053473f, -0.012129f, 0.022664f, 0.014933f, 0.016828f, 0.006790f, -0.046954f, 0.001013f, 0.004380f, -0.002374f, 0.020251f, -0.018845f, 0.019820f, 0.000678f, 0.013414f, -0.021833f, -0.003640f, -0.013273f, 0.071866f, -0.031634f, 0.021979f, 0.013284f, -0.003137f, 0.011481f, -0.014556f, 0.009818f, 0.022709f, -0.029667f, -0.012665f, 0.001611f, -0.001180f, -0.004421f, -0.005617f, -0.041914f, 0.015773f, -0.015839f, 0.096387f, -0.006799f, -0.031449f, -0.047527f, -0.021865f, -0.026624f, 0.034834f, 0.020390f, -0.025677f, 0.002242f, 0.002785f, 0.011552f, 0.001344f, 0.024354f, 0.008136f, 0.019192f, -0.006798f, -0.000613f, -0.005989f, 0.009020f, + 0.020447f, -0.019178f, -0.000396f, -0.009476f, 0.000393f, 0.025279f, -0.014615f, 0.002478f, -0.006772f, 0.009954f, 0.004828f, -0.013860f, -0.005450f, 0.014844f, -0.004889f, 0.024202f, 0.016908f, -0.025331f, 0.007770f, 0.005305f, 0.012925f, 0.005538f, -0.024249f, 0.016094f, -0.004829f, 0.015634f, 0.012230f, -0.028645f, 0.007468f, -0.000043f, 0.006062f, -0.003327f, -0.012894f, 0.020185f, -0.005359f, 0.009060f, 0.000134f, -0.006299f, 0.009075f, -0.012353f, -0.002032f, 0.016744f, -0.011961f, -0.014227f, 0.028013f, -0.018516f, 0.026169f, -0.003019f, -0.021506f, 0.043443f, -0.040160f, 0.034606f, -0.012179f, -0.021245f, 0.022687f, -0.020959f, -0.047677f, -0.080785f, 0.101969f, 0.293550f, 0.045943f, 0.028745f, -0.214784f, -0.264699f, -0.085374f, -0.051798f, 0.178792f, 0.273710f, 0.140211f, 0.041041f, -0.092538f, -0.197575f, -0.180974f, -0.150906f, 0.011413f, 0.226741f, 0.188881f, 0.108850f, 0.036299f, -0.096747f, -0.126343f, -0.099688f, -0.097152f, -0.033884f, 0.045124f, 0.063048f, 0.129443f, 0.093276f, 0.021903f, -0.031452f, -0.019288f, -0.104660f, -0.051634f, -0.052876f, -0.072474f, 0.042714f, + 0.079656f, 0.046534f, 0.116299f, 0.031087f, -0.028683f, -0.045055f, -0.078778f, -0.061637f, -0.010581f, -0.019161f, 0.022927f, 0.048299f, 0.042148f, 0.030639f, 0.019925f, -0.010928f, -0.043916f, -0.030571f, -0.036796f, 0.011044f, 0.040157f, 0.013190f, 0.008760f, -0.018607f, -0.038756f, -0.007688f, -0.001815f, -0.001437f, 0.028191f, 0.025871f, 0.027994f, 0.010519f, -0.012949f, -0.034160f, -0.049800f, -0.050150f, -0.032734f, 0.028043f, 0.014524f, 0.005074f} + }, + { + {-0.009295f, -0.009930f, -0.012467f, -0.015293f, -0.011517f, -0.006906f, -0.001007f, -0.006226f, 0.004702f, -0.001055f, -0.001455f, 0.002462f, 0.005251f, -0.000092f, -0.003363f, -0.003658f, -0.005925f, 0.000900f, -0.005416f, 0.009641f, 0.010543f, -0.004288f, 0.000378f, 0.003149f, -0.002707f, 0.008094f, -0.003030f, -0.003515f, 0.000388f, -0.000722f, 0.007226f, 0.005867f, 0.002696f, 0.001441f, -0.006781f, -0.003085f, 0.008025f, -0.002254f, 0.002231f, -0.001618f, -0.003735f, -0.004817f, -0.004987f, 0.004272f, 0.000009f, 0.000844f, 0.001716f, -0.002275f, 0.002374f, 0.005133f, -0.009455f, -0.002233f, 0.003797f, 0.000894f, 0.003847f, -0.000515f, -0.008734f, -0.003163f, 0.004930f, -0.005413f, -0.000529f, 0.003806f, -0.003266f, -0.000863f, -0.001564f, -0.005168f, -0.001409f, -0.004061f, -0.001842f, 0.000406f, -0.002714f, 0.000302f, 0.000763f, -0.000639f, -0.002348f, -0.001641f, -0.005346f, -0.005360f, 0.020378f, 0.002353f, 0.005537f, 0.001920f, 0.002926f, -0.004943f, -0.012293f, -0.002414f, 0.006520f, 0.002280f, -0.006085f, -0.000902f, 0.004981f, -0.001334f, -0.007337f, 0.002158f, -0.008461f, -0.005300f, + -0.000272f, 0.002263f, -0.002420f, -0.001979f, 0.005222f, -0.007366f, -0.000200f, 0.000848f, 0.003495f, 0.002714f, 0.002647f, 0.008823f, 0.003980f, -0.011170f, -0.002876f, -0.005135f, 0.001344f, -0.000393f, -0.000904f, -0.007086f, -0.009165f, 0.011926f, -0.005642f, 0.002821f, 0.003414f, 0.002887f, -0.011530f, -0.006635f, -0.003105f, 0.001114f, -0.001017f, -0.000512f, -0.001183f, 0.001763f, 0.004213f, -0.006150f, -0.000174f, 0.003019f, 0.003555f, 0.004254f, 0.001448f, -0.000127f, 0.004099f, 0.001305f, -0.002101f, -0.000791f, 0.006741f, -0.005453f, -0.005776f, -0.003247f, -0.002520f, 0.005666f, 0.003177f, 0.001081f, -0.002636f, 0.005383f, -0.003018f, 0.002561f, -0.011649f, -0.006885f, 0.004872f, -0.011229f, -0.016061f, 0.003224f, 0.001341f, 0.002097f, 0.002318f, 0.002388f, -0.013776f, -0.002103f, 0.004001f, -0.008571f, 0.009189f, 0.009088f, 0.007682f, -0.002910f, 0.000747f, 0.002268f, 0.005918f, 0.001547f, -0.000126f, 0.001377f, -0.003896f, 0.003936f, -0.001335f, -0.001198f, -0.001753f, 0.011580f, -0.006611f, 0.004199f, -0.004105f, -0.003368f, -0.003652f, 0.003319f, 0.006380f, -0.006267f, + -0.003077f, -0.003223f, 0.004764f, 0.004638f, 0.007139f, 0.005071f, 0.001204f, 0.006447f, -0.004821f, 0.004068f, 0.001719f, 0.002046f, 0.012997f, 0.003489f, 0.006649f, -0.009824f, -0.002351f, 0.004847f, -0.004696f, 0.005533f, -0.001706f, -0.003146f, 0.001938f, 0.008300f, 0.005757f, 0.004287f, -0.001135f, 0.002429f, 0.006445f, -0.005847f, 0.009907f, -0.000103f, 0.008396f, -0.001677f, 0.007243f, 0.008909f, 0.007429f, -0.001200f, -0.007804f, -0.002638f, 0.018947f, 0.014494f, 0.010953f, 0.010054f, 0.010247f, 0.005065f, -0.001338f, 0.000297f, -0.004475f, -0.000650f, 0.013651f, -0.005622f, -0.006835f, 0.010306f, 0.006766f, 0.009936f, -0.007024f, 0.003406f, -0.002945f, 0.002693f, 0.003715f, 0.006436f, 0.000397f, -0.003683f, -0.003632f, -0.004900f, -0.002418f, -0.002791f, -0.010476f, -0.000599f, 0.007991f, -0.005945f, -0.001591f, 0.003756f, -0.005611f, -0.004033f, 0.004329f, -0.001923f, -0.007140f, -0.002921f, 0.003371f, -0.005042f, -0.007812f, -0.002668f, -0.002634f, 0.003190f, -0.005588f, -0.009932f, 0.000304f, -0.001023f, -0.001947f, 0.003832f, -0.009203f, -0.003493f, -0.000308f, -0.002868f, + 0.004341f, -0.000426f, 0.001591f, -0.014872f, -0.005260f, 0.009723f, -0.004021f, -0.007781f, 0.002028f, 0.002410f, 0.001857f, -0.002323f, -0.013062f, -0.004749f, 0.013340f, 0.001844f, 0.004445f, 0.003787f, -0.002719f, 0.027611f, 0.016919f, 0.016062f, 0.000264f, 0.001629f, 0.001257f, -0.006546f, -0.014632f, -0.005493f, 0.010995f, -0.008314f, 0.004959f, 0.014922f, 0.001167f, -0.004710f, -0.001903f, -0.003010f, -0.001620f, 0.006033f, 0.008529f, 0.000307f, 0.002483f, 0.003493f, 0.005542f, 0.000326f, -0.007892f, 0.002403f, -0.012690f, -0.003833f, -0.001647f, -0.003547f, -0.002346f, 0.001537f, -0.003075f, -0.006683f, -0.005221f, -0.002445f, 0.000498f, -0.002913f, -0.007715f, 0.009041f, -0.003468f, 0.000579f, -0.002415f, -0.006073f, 0.007441f, 0.020722f, 0.004976f, -0.007367f, 0.012276f, 0.002683f, -0.003837f, 0.003602f, -0.002169f, -0.008191f, 0.000005f, -0.003550f, 0.003088f, -0.007158f, -0.012047f, 0.000246f, 0.002002f, -0.014850f, 0.004379f, 0.002740f, 0.008195f, 0.004323f, 0.010843f, -0.003995f, -0.007180f, -0.004653f, -0.002129f, 0.004827f, -0.001740f, -0.009851f, 0.006586f, -0.004808f, + -0.014616f, -0.022022f, -0.007316f, -0.010815f, 0.015644f, -0.003263f, -0.002408f, 0.006422f, -0.015287f, -0.010060f, 0.008454f, -0.006798f, -0.007139f, 0.000019f, -0.001076f, 0.001968f, 0.005390f, -0.002086f, 0.002183f, -0.003490f, -0.003375f, 0.000100f, -0.003054f, -0.006131f, -0.001104f, -0.001028f, 0.006261f, 0.007243f, 0.005487f, -0.007692f, 0.003181f, 0.003089f, 0.010692f, -0.005319f, -0.001011f, -0.003506f, -0.009229f, 0.012630f, -0.012275f, -0.005365f, -0.005186f, 0.003247f, 0.009513f, -0.009080f, 0.009838f, -0.000794f, 0.004952f, 0.009129f, 0.000664f, 0.007115f, -0.013343f, 0.003109f, -0.005570f, 0.000991f, -0.014173f, 0.000591f, -0.005519f, -0.011559f, -0.010143f, 0.001051f, 0.007704f, 0.000796f, -0.007562f, 0.010327f, -0.004703f, 0.006114f, -0.002189f, -0.012025f, 0.015713f, -0.010465f, -0.003938f, -0.005813f, 0.002198f, 0.007347f, 0.002000f, 0.006826f, 0.009876f, 0.006161f, -0.015993f, -0.022537f, 0.002446f, 0.002032f, 0.001187f, 0.014743f, -0.004811f, -0.015754f, 0.001609f, 0.002008f, -0.004265f, -0.000749f, -0.014046f, -0.002587f, 0.001686f, 0.002263f, 0.015599f, -0.002544f, + 0.013978f, -0.003184f, -0.003661f, 0.001388f, -0.013956f, 0.006167f, -0.005280f, 0.008716f, -0.002377f, -0.003330f, -0.005199f, -0.002264f, 0.000470f, -0.010130f, 0.017971f, -0.012181f, -0.020260f, 0.006354f, 0.000906f, -0.013891f, -0.004224f, -0.026937f, 0.000445f, -0.009360f, -0.000161f, -0.010174f, -0.008587f, 0.001872f, 0.000932f, 0.005113f, -0.008669f, 0.007325f, -0.009785f, -0.018368f, 0.002183f, 0.005706f, -0.005782f, 0.006694f, -0.003321f, -0.009892f, -0.009318f, -0.012107f, -0.006173f, -0.000706f, 0.001907f, -0.003099f, 0.011569f, 0.000809f, -0.003966f, 0.001883f, 0.000345f, 0.003427f, 0.001346f, 0.002525f, -0.011990f, -0.009156f, 0.001216f, -0.035042f, -0.008758f, 0.001374f, -0.008896f, -0.006537f, -0.011128f, 0.002886f, 0.003987f, 0.007977f, -0.005945f, -0.007453f, -0.008369f, 0.004246f, 0.009512f, -0.004660f, -0.003923f, -0.002359f, -0.001327f, 0.004513f, -0.019390f, -0.004768f, 0.011183f, 0.003656f, -0.005553f, 0.002155f, 0.009954f, -0.000887f, -0.002294f, 0.003498f, -0.000398f, 0.024052f, -0.010076f, 0.005954f, 0.002184f, -0.009998f, 0.003597f, 0.002356f, -0.011186f, 0.008214f, + -0.015998f, -0.001476f, 0.014781f, 0.003288f, -0.000053f, -0.002922f, -0.010763f, -0.009511f, 0.002992f, 0.006333f, -0.003753f, 0.003151f, 0.012440f, 0.006059f, -0.004461f, 0.007507f, -0.010080f, -0.024846f, -0.002732f, -0.010835f, 0.007558f, -0.006890f, 0.018390f, 0.009025f, -0.000128f, -0.002766f, -0.022274f, 0.007412f, 0.009568f, -0.006882f, 0.014880f, -0.010712f, 0.005162f, -0.018013f, 0.009427f, 0.006926f, -0.019826f, 0.009488f, 0.014033f, 0.034822f, 0.035657f, 0.007941f, 0.010108f, 0.000703f, 0.004359f, 0.000891f, 0.002958f, -0.009219f, 0.003603f, -0.005571f, 0.007110f, 0.008093f, 0.017752f, 0.003307f, -0.004837f, 0.012132f, 0.007392f, 0.014478f, -0.000432f, 0.009097f, 0.003938f, -0.004100f, 0.003177f, 0.021268f, 0.002075f, -0.008905f, -0.006223f, 0.015717f, 0.008255f, 0.007593f, 0.013051f, -0.011082f, 0.002858f, 0.017274f, -0.018746f, -0.020585f, 0.005183f, 0.010943f, 0.016246f, -0.007892f, -0.015125f, 0.010674f, 0.002110f, -0.001853f, 0.004836f, -0.003001f, -0.003628f, -0.000443f, 0.023426f, -0.009630f, 0.002985f, -0.006626f, -0.006254f, -0.003550f, 0.010875f, -0.002385f, + 0.027121f, 0.013526f, -0.016988f, 0.015780f, 0.000696f, 0.006805f, 0.000419f, 0.002537f, 0.000620f, -0.006674f, 0.006234f, -0.024943f, -0.010473f, 0.008995f, -0.028908f, 0.005984f, -0.025567f, 0.054562f, 0.011592f, 0.007087f, -0.014704f, 0.022521f, -0.006267f, -0.002828f, -0.004578f, -0.000410f, -0.013975f, -0.002957f, 0.009299f, 0.000020f, -0.011029f, 0.014279f, -0.002007f, -0.010073f, 0.004189f, 0.003276f, -0.014694f, -0.025044f, 0.011567f, -0.011367f, -0.011844f, 0.000961f, 0.001862f, -0.008815f, 0.014091f, -0.013974f, 0.006004f, 0.010070f, -0.000104f, 0.015470f, 0.007433f, -0.023552f, -0.020767f, -0.011492f, 0.003532f, 0.002406f, -0.015935f, 0.004769f, 0.008666f, 0.001681f, 0.007940f, 0.006205f, -0.016553f, -0.011096f, 0.007646f, -0.022638f, -0.005298f, -0.002258f, -0.019323f, -0.013351f, -0.005037f, 0.002610f, -0.008656f, -0.025287f, -0.008654f, -0.014348f, 0.029818f, 0.011362f, 0.000457f, 0.001921f, -0.004497f, 0.019837f, 0.028944f, 0.001084f, 0.020562f, 0.010847f, 0.008403f, 0.001246f, -0.006346f, -0.004122f, -0.004726f, 0.010551f, -0.011886f, -0.002411f, -0.038451f, 0.025981f, + 0.041627f, -0.031183f, -0.018603f, 0.008645f, 0.007483f, -0.006258f, 0.013707f, 0.003815f, -0.011606f, -0.014117f, -0.000243f, -0.004448f, -0.010098f, 0.005339f, -0.004597f, 0.000822f, 0.011602f, -0.015320f, 0.003359f, 0.002270f, -0.009092f, 0.001530f, -0.014491f, 0.003083f, 0.021583f, 0.011191f, -0.002005f, -0.006625f, -0.001604f, -0.011956f, -0.012870f, 0.006725f, 0.011027f, -0.003089f, -0.005815f, -0.003916f, 0.006689f, 0.011193f, 0.005400f, 0.020216f, -0.010439f, 0.008589f, -0.004905f, 0.002419f, 0.012601f, -0.003946f, -0.003657f, -0.023042f, -0.003350f, -0.017685f, 0.009452f, 0.006877f, 0.023761f, -0.019468f, -0.007124f, -0.018772f, -0.031751f, -0.004625f, 0.013690f, -0.021313f, 0.005240f, -0.001544f, -0.015811f, -0.018038f, -0.023647f, 0.033381f, 0.001608f, 0.020476f, 0.014511f, 0.017878f, -0.006852f, -0.019343f, -0.015584f, -0.016876f, 0.007691f, -0.029269f, 0.020953f, -0.001915f, -0.012002f, 0.019446f, 0.005867f, -0.017228f, -0.026603f, -0.009107f, -0.000573f, 0.001472f, 0.000630f, -0.008269f, 0.028881f, 0.013218f, 0.008342f, 0.007842f, 0.008734f, -0.007897f, 0.001725f, 0.006962f, + 0.003833f, 0.027615f, 0.002312f, -0.038276f, 0.004442f, 0.017632f, -0.015103f, -0.020931f, -0.005051f, -0.010755f, -0.007439f, 0.003177f, 0.027607f, 0.018080f, -0.003083f, 0.000775f, -0.008633f, -0.022970f, -0.008449f, -0.018672f, 0.014258f, 0.021267f, 0.000142f, -0.009338f, -0.004059f, -0.002861f, 0.009010f, 0.014273f, 0.013331f, -0.028990f, 0.006001f, 0.002918f, 0.002832f, 0.023329f, -0.012321f, 0.010771f, -0.011173f, -0.006118f, 0.002541f, 0.016195f, 0.025555f, -0.001700f, -0.015883f, 0.007702f, -0.028849f, 0.026010f, 0.013239f, -0.000159f, -0.011444f, 0.009303f, -0.006001f, -0.011214f, -0.011183f, -0.009359f, -0.011147f, -0.005050f, 0.016296f, -0.027694f, -0.005445f, 0.014872f, -0.019108f, -0.004005f, -0.000182f, -0.004645f, -0.022546f, 0.022475f, 0.012472f, -0.018770f, -0.000970f, -0.009098f, -0.004246f, -0.039016f, -0.003242f, -0.018824f, -0.039974f, 0.007130f, 0.008503f, -0.020929f, -0.013755f, -0.024338f, -0.023557f, 0.019980f, 0.014394f, 0.021126f, 0.002917f, 0.046361f, 0.004398f, 0.023319f, 0.036822f, -0.005895f, 0.012791f, 0.033821f, -0.021825f, 0.009112f, -0.012225f, 0.022650f, + -0.005401f, 0.045908f, 0.024102f, -0.016845f, -0.020076f, 0.001761f, 0.013571f, 0.017954f, 0.007913f, -0.019336f, -0.001365f, 0.013774f, 0.038265f, -0.016957f, 0.026658f, -0.010844f, 0.017484f, -0.030054f, 0.014061f, -0.017427f, 0.014246f, -0.000570f, 0.007105f, -0.007565f, 0.025663f, 0.027998f, -0.051745f, 0.013987f, 0.016033f, 0.004961f, -0.005184f, 0.003296f, -0.034215f, -0.002390f, 0.028060f, 0.029310f, -0.006130f, 0.030527f, -0.001221f, -0.006544f, 0.002826f, 0.017173f, -0.006022f, -0.007872f, -0.003098f, -0.021834f, 0.004117f, -0.006216f, 0.034965f, 0.022721f, -0.015766f, -0.017233f, -0.031975f, -0.011773f, 0.024426f, 0.042940f, -0.018671f, 0.013473f, 0.003677f, 0.005951f, 0.024134f, 0.017036f, -0.032527f, 0.007082f, -0.010967f, -0.006302f, -0.012769f, -0.006986f, -0.013476f, -0.031622f, 0.006794f, 0.022240f, 0.009473f, 0.051244f, -0.011002f, -0.006142f, 0.036422f, -0.011891f, -0.000546f, -0.006847f, 0.010779f, -0.037459f, -0.023167f, 0.014556f, 0.030469f, 0.043275f, 0.051868f, -0.035457f, -0.017287f, -0.000420f, 0.018701f, 0.000003f, 0.058924f, 0.017649f, 0.010662f, -0.042135f, + 0.005353f, 0.002537f, 0.023777f, 0.030318f, -0.018161f, -0.004114f, 0.011479f, -0.005913f, 0.002971f, 0.035238f, 0.014600f, -0.027121f, 0.011487f, 0.021217f, -0.012758f, 0.041918f, 0.008818f, 0.056361f, 0.029656f, -0.017286f, -0.002918f, -0.055776f, 0.006217f, 0.012299f, 0.005793f, 0.078342f, -0.008098f, -0.008013f, -0.033199f, -0.032402f, 0.014589f, -0.026842f, -0.013124f, -0.018635f, -0.009131f, 0.018022f, -0.010900f, -0.024830f, -0.017616f, -0.000134f, 0.022287f, -0.027830f, 0.008014f, 0.009786f, 0.004796f, 0.027034f, -0.001146f, 0.000335f, -0.027206f, -0.043386f, -0.014810f, 0.017034f, -0.020588f, 0.003580f, -0.016902f, -0.074328f, -0.036640f, 0.019690f, 0.003887f, -0.043474f, 0.008750f, 0.055706f, -0.000287f, -0.003568f, -0.020147f, 0.010533f, -0.022457f, -0.046742f, 0.003573f, 0.004592f, -0.014836f, 0.006323f, 0.019283f, -0.006438f, -0.012066f, 0.009654f, 0.018155f, 0.026502f, -0.014107f, 0.019186f, 0.030496f, 0.009027f, 0.051147f, 0.002527f, -0.027555f, 0.032218f, 0.004790f, 0.002367f, -0.003752f, -0.011334f, 0.024754f, -0.027388f, 0.001372f, 0.028734f, -0.040491f, -0.045939f, + -0.051761f, 0.071733f, -0.039226f, 0.008065f, -0.000962f, -0.024912f, 0.038437f, -0.045414f, 0.020122f, 0.076172f, 0.049106f, 0.009333f, -0.062039f, -0.005400f, -0.040593f, -0.023051f, -0.037014f, -0.005589f, 0.011816f, -0.008889f, 0.030886f, -0.016490f, 0.005902f, 0.012618f, 0.042707f, 0.003571f, 0.006625f, 0.048293f, -0.032507f, -0.007129f, 0.023104f, -0.012256f, -0.025100f, -0.019757f, 0.026214f, -0.024913f, 0.011372f, 0.040548f, -0.011417f, -0.081011f, -0.004163f, 0.016542f, -0.095374f, 0.054761f, 0.045201f, -0.039682f, 0.060035f, 0.036900f, 0.027058f, 0.058129f, 0.001813f, 0.027930f, 0.004127f, -0.000259f, 0.022702f, -0.043476f, 0.039619f, 0.048683f, 0.041414f, -0.047055f, -0.007742f, 0.053283f, -0.027781f, 0.040746f, 0.043221f, 0.093210f, 0.060872f, -0.003395f, 0.008207f, -0.020545f, 0.014566f, 0.008357f, -0.053664f, -0.093323f, -0.017361f, 0.043942f, 0.055971f, -0.109448f, -0.098872f, 0.042314f, -0.028176f, -0.032466f, -0.012775f, -0.039121f, 0.013561f, -0.062701f, 0.077358f, 0.027538f, -0.032393f, -0.002375f, -0.031833f, -0.025534f, -0.025862f, -0.031051f, -0.019451f, -0.076006f, + -0.067161f, -0.014618f, -0.015986f, 0.001853f, 0.005244f, 0.010331f, -0.005901f, 0.006755f, 0.010968f, 0.030058f, 0.034830f, -0.016736f, -0.020191f, -0.024739f, -0.020283f, -0.045178f, 0.060055f, -0.025524f, 0.012764f, 0.042488f, 0.041040f, -0.020537f, -0.021629f, -0.039007f, -0.026047f, -0.033023f, 0.044379f, 0.000404f, 0.002127f, -0.064194f, -0.025115f, 0.080273f, -0.012783f, 0.074011f, -0.020982f, -0.035919f, -0.024160f, -0.040272f, -0.040388f, -0.013397f, -0.006006f, -0.055204f, -0.003036f, 0.014278f, -0.009699f, 0.008483f, -0.118352f, -0.054902f, -0.040475f, 0.046037f, -0.025126f, -0.005035f, 0.006603f, 0.072723f, 0.008860f, -0.036081f, -0.060201f, 0.121999f, -0.041284f, -0.020990f, 0.067799f, -0.041797f, -0.070316f, 0.065649f, -0.093665f, -0.023295f, 0.018765f, 0.018654f, -0.066079f, -0.021822f, 0.051863f, 0.003438f, -0.013284f, -0.032310f, 0.040237f, -0.039270f, 0.000351f, 0.036803f, -0.013640f, 0.034070f, -0.002140f, -0.012067f, 0.008042f, 0.010550f, -0.020675f, 0.032604f, -0.018359f, -0.003312f, 0.006641f, 0.002673f, -0.000242f, -0.002257f, 0.006721f, 0.021914f, 0.028210f, 0.046663f, + 0.019425f, -0.014644f, -0.006778f, -0.024247f, 0.023745f, -0.005885f, -0.041369f, 0.012595f, -0.001344f, -0.019416f, -0.055767f, 0.041488f, 0.001601f, -0.021981f, 0.060263f, 0.006659f, -0.020071f, -0.008029f, 0.090092f, -0.082168f, -0.092405f, 0.058724f, 0.086639f, -0.158276f, 0.000387f, -0.057142f, -0.054265f, -0.021847f, 0.058655f, -0.043638f, 0.077933f, -0.010133f, -0.001022f, 0.103763f, -0.027828f, -0.082950f, 0.100009f, 0.097148f, 0.073867f, -0.036058f, -0.041842f, -0.015214f, 0.014377f, 0.069224f, 0.057009f, -0.021565f, -0.002458f, 0.019791f, 0.061973f, -0.022178f, 0.000152f, 0.033350f, -0.042552f, -0.042173f, 0.035201f, -0.023545f, -0.011984f, -0.021837f, 0.002071f, -0.034339f, 0.006485f, 0.019500f, -0.009369f, 0.014556f, -0.010845f, -0.011743f, -0.005156f, -0.046413f, 0.011048f, -0.020115f, 0.031693f, 0.055589f, 0.007989f, 0.026628f, 0.028872f, 0.000061f, 0.016103f, 0.015971f, 0.066717f, -0.045476f, 0.035264f, 0.023996f, -0.025517f, 0.018975f, 0.026639f, 0.004509f, -0.021379f, -0.057735f, -0.049516f, 0.016611f, 0.027467f, -0.023249f, -0.086483f, 0.074653f, -0.017553f, -0.043207f, + -0.014980f, 0.075128f, -0.026661f, 0.082344f, 0.010462f, 0.026393f, -0.067799f, 0.073070f, -0.021505f, 0.031341f, 0.004392f, -0.110335f, -0.017389f, 0.019728f, -0.046984f, 0.067729f, 0.032713f, -0.099325f, -0.072460f, -0.049853f, 0.018309f, -0.020512f, 0.023715f, -0.037125f, -0.067222f, -0.000891f, -0.071452f, 0.018876f, -0.005032f, -0.014127f, 0.025869f, 0.039220f, -0.024278f, 0.004786f, 0.045831f, -0.035619f, 0.061639f, -0.008901f, -0.064349f, 0.055793f, -0.025533f, -0.012911f, 0.052192f, -0.065359f, 0.018836f, 0.000408f, 0.025295f, -0.010784f, -0.021829f, -0.099196f, 0.024557f, -0.041222f, -0.097080f, 0.119291f, -0.078587f, -0.033980f, -0.013928f, -0.027594f, -0.058721f, 0.033881f, 0.084826f, -0.051347f, 0.025431f, -0.074322f, -0.039680f, -0.042326f, 0.039703f, 0.006753f, 0.110863f, -0.018548f, -0.006558f, -0.032159f, -0.090978f, 0.000391f, 0.048137f, -0.034197f, 0.040934f, 0.046392f, -0.035868f, 0.004453f, -0.030017f, -0.137496f, -0.069283f, -0.041719f, -0.141751f, 0.093754f, 0.126064f, 0.058584f, -0.118829f, -0.097746f, -0.215768f, 0.033340f, 0.269157f, 0.123186f, 0.056341f, -0.066095f, + -0.217917f, -0.102012f, 0.073463f, -0.012859f, -0.018463f, 0.003808f, 0.032004f, 0.002577f, -0.008474f, 0.027062f, 0.006669f, 0.010298f, 0.038087f, -0.023467f, -0.002269f, 0.022728f, -0.009249f, -0.001862f, 0.023260f, -0.021538f, -0.007705f, 0.009024f, 0.037690f, -0.024337f, -0.020670f, 0.024149f, -0.003098f, 0.014398f, -0.041402f, 0.053522f, -0.014376f, 0.019336f, -0.013370f, 0.008575f, 0.026010f, 0.014307f, -0.008737f, 0.026131f, -0.011370f, 0.026398f, -0.021453f, 0.000514f, 0.023026f, -0.003846f, -0.012743f, -0.048959f, 0.002881f, 0.041384f, 0.001793f, 0.020487f, -0.028168f, -0.006122f, -0.017879f, -0.014100f, -0.009149f, 0.030636f, -0.012983f, 0.019571f, -0.025126f, -0.024532f, -0.014308f, 0.008768f, 0.049146f, -0.017458f, 0.020552f, 0.004270f, 0.001791f, -0.022509f, 0.010170f, 0.030363f, -0.002804f, -0.020734f, 0.013960f, -0.011572f, 0.006295f, -0.003345f, -0.016461f, 0.098981f, 0.019660f, -0.053051f, -0.037677f, -0.058592f, -0.018572f, 0.011275f, 0.031128f, -0.009721f, -0.012566f, -0.010834f, -0.010428f, -0.009871f, 0.014236f, -0.007218f, -0.001975f, -0.003130f, -0.010295f, -0.002456f, + 0.015648f, 0.002248f, -0.004506f, -0.015613f, 0.017956f, -0.023252f, 0.013693f, -0.008292f, -0.022820f, 0.000117f, 0.010425f, 0.011733f, 0.009177f, -0.013464f, 0.003020f, -0.004294f, -0.007377f, 0.027538f, -0.024481f, -0.004429f, -0.000989f, -0.001647f, 0.002582f, -0.004046f, -0.014386f, 0.012167f, -0.022803f, 0.021808f, -0.003194f, -0.015199f, 0.005261f, -0.007797f, 0.019324f, -0.011223f, -0.006867f, 0.020986f, -0.018751f, 0.006624f, -0.009002f, -0.001933f, 0.015966f, -0.011299f, -0.004611f, 0.014515f, -0.009930f, 0.003954f, 0.001391f, -0.011459f, 0.028259f, -0.024539f, -0.002225f, 0.011189f, -0.006414f, 0.018466f, -0.008310f, -0.003490f, 0.004785f, -0.046619f, -0.070644f, 0.092495f, 0.287606f, 0.024858f, 0.024799f, -0.196037f, -0.248499f, -0.051529f, -0.052860f, 0.146397f, 0.248573f, 0.127878f, 0.024277f, -0.089889f, -0.175539f, -0.123532f, -0.088761f, -0.004452f, 0.120902f, 0.177304f, 0.095392f, 0.022056f, -0.062495f, -0.110313f, -0.062218f, -0.059395f, -0.056118f, 0.035291f, 0.071766f, 0.071217f, 0.071239f, 0.017287f, -0.031536f, -0.012714f, -0.047710f, -0.073909f, -0.008696f, -0.022039f, + -0.015449f, 0.066745f, 0.038017f, 0.055740f, 0.033243f, -0.025335f, -0.061450f, -0.014724f, -0.040190f, -0.006205f, 0.026968f, 0.008351f, 0.014212f, 0.030012f, -0.016073f, -0.021596f, -0.005762f, -0.012810f, 0.011276f, 0.019196f, 0.000082f, 0.023704f, 0.013204f, -0.025659f, -0.025458f, -0.039203f, -0.034400f, 0.000846f, 0.038446f, 0.059731f, 0.027451f, 0.006642f, -0.016070f, -0.041868f, -0.009383f, -0.047602f, -0.031063f, 0.018870f, 0.010605f, 0.016098f, -0.002394f}, + {-0.007491f, -0.009914f, -0.014262f, -0.001612f, -0.005520f, -0.010006f, -0.004871f, -0.002339f, 0.002262f, -0.004793f, -0.010060f, -0.000817f, 0.002831f, -0.010019f, -0.005229f, -0.001949f, -0.005601f, -0.005813f, 0.004409f, -0.000638f, 0.000979f, -0.005117f, -0.005208f, -0.001320f, -0.008094f, 0.005590f, -0.008180f, 0.002456f, -0.002021f, 0.003211f, -0.003888f, 0.000958f, 0.002681f, -0.011142f, -0.001998f, 0.001271f, 0.012177f, -0.005574f, -0.001031f, -0.001967f, -0.000022f, 0.004674f, -0.001686f, -0.005188f, -0.000758f, -0.001715f, 0.003714f, -0.001462f, -0.004362f, 0.004516f, 0.004193f, 0.002189f, 0.000978f, -0.003072f, 0.005498f, 0.003996f, -0.006541f, 0.004122f, -0.004635f, -0.002133f, -0.000776f, -0.003721f, -0.001192f, 0.000656f, 0.001412f, 0.004636f, -0.003757f, -0.003039f, -0.000657f, 0.000762f, -0.003298f, -0.010259f, -0.001808f, -0.003812f, -0.001863f, -0.001430f, 0.001882f, 0.002325f, 0.006393f, 0.004997f, -0.001661f, 0.003831f, 0.001822f, 0.011018f, -0.001921f, -0.000284f, 0.001389f, 0.008066f, -0.001589f, -0.008396f, -0.003902f, -0.008060f, 0.001975f, -0.002864f, -0.000662f, -0.001012f, + 0.001965f, 0.000784f, 0.001659f, 0.004678f, 0.008618f, -0.003818f, -0.002082f, 0.001714f, -0.004018f, -0.000564f, 0.006747f, -0.003649f, 0.008337f, 0.000842f, -0.002914f, 0.005486f, -0.007443f, -0.001946f, -0.005155f, 0.007319f, -0.000129f, -0.002746f, -0.001895f, 0.000049f, 0.006943f, 0.000229f, 0.008349f, 0.003100f, -0.006605f, 0.005403f, -0.002784f, -0.005123f, -0.003930f, 0.005530f, -0.000956f, 0.017810f, 0.002147f, 0.004378f, 0.003539f, -0.008499f, 0.000442f, -0.001406f, 0.002549f, -0.004947f, -0.002787f, 0.009094f, 0.008136f, 0.000399f, 0.003751f, -0.001214f, 0.005445f, -0.008155f, 0.001630f, 0.005191f, 0.004746f, -0.000266f, 0.001025f, 0.002454f, -0.013447f, -0.012556f, -0.007446f, -0.007200f, -0.005817f, 0.002125f, 0.008879f, 0.017394f, 0.003634f, 0.004352f, 0.000236f, -0.012729f, -0.004972f, -0.004831f, -0.010983f, 0.017386f, 0.004969f, 0.006815f, 0.005135f, -0.004030f, 0.002115f, 0.016658f, 0.007047f, -0.004090f, 0.000030f, -0.004208f, 0.000721f, -0.007903f, 0.005059f, -0.002574f, -0.003088f, 0.000548f, 0.009339f, 0.000831f, 0.003542f, 0.005486f, 0.008183f, -0.013975f, + 0.000641f, 0.003420f, 0.008550f, 0.012303f, -0.006403f, -0.001499f, -0.002825f, 0.010246f, 0.006143f, 0.006571f, -0.000542f, 0.002991f, 0.021276f, -0.013177f, 0.003232f, 0.001105f, -0.008100f, 0.003600f, -0.011542f, -0.001777f, 0.003829f, -0.002792f, -0.017678f, 0.004991f, 0.002036f, -0.005175f, -0.004301f, -0.001085f, -0.001928f, 0.005935f, -0.004955f, -0.002928f, 0.002741f, -0.000619f, -0.004710f, -0.000805f, 0.005661f, -0.008332f, 0.001727f, -0.002939f, 0.018063f, 0.002084f, 0.006163f, -0.000329f, -0.005477f, 0.000830f, 0.012518f, 0.007088f, 0.007885f, 0.013878f, -0.006482f, 0.000535f, 0.012533f, 0.004569f, 0.005190f, 0.001121f, 0.001044f, 0.008028f, -0.007512f, -0.001690f, 0.009137f, -0.006278f, 0.003203f, 0.005865f, -0.004754f, 0.004386f, 0.012418f, -0.005876f, 0.004184f, 0.001326f, -0.000136f, 0.000445f, -0.003371f, -0.008635f, -0.003423f, -0.007208f, -0.001465f, 0.003351f, 0.005553f, 0.006817f, -0.001893f, -0.010966f, -0.001741f, 0.016476f, -0.006775f, 0.003448f, -0.003672f, -0.017013f, 0.009255f, 0.002627f, 0.006664f, -0.001163f, 0.007683f, 0.008307f, -0.015392f, 0.005845f, + -0.000373f, 0.005447f, -0.001910f, -0.010298f, -0.001327f, -0.001564f, -0.002727f, -0.002117f, 0.005680f, -0.000303f, 0.000431f, 0.012867f, 0.001742f, 0.010003f, -0.000441f, 0.000277f, 0.001342f, -0.006885f, -0.009470f, 0.029939f, 0.017459f, 0.025535f, 0.008810f, -0.011243f, 0.005878f, -0.005318f, 0.001071f, 0.002005f, -0.021832f, -0.006446f, -0.005803f, 0.005155f, 0.008979f, -0.004175f, -0.000258f, 0.002314f, 0.000932f, 0.015217f, -0.001540f, -0.017284f, 0.005600f, -0.010297f, 0.007548f, 0.007716f, 0.006862f, 0.009081f, -0.002247f, -0.004157f, 0.004072f, -0.003731f, -0.003801f, 0.002011f, -0.002543f, 0.005048f, 0.008452f, -0.004519f, -0.012813f, 0.003222f, -0.012490f, -0.008954f, -0.001637f, -0.026867f, 0.000155f, -0.005376f, 0.010028f, 0.008648f, 0.004523f, 0.014787f, 0.015774f, 0.005953f, 0.003331f, -0.002321f, 0.000518f, -0.000313f, -0.007536f, 0.013552f, -0.002311f, 0.003829f, -0.005074f, -0.007039f, -0.002455f, -0.009930f, 0.007009f, -0.005462f, -0.003640f, 0.012887f, -0.012660f, -0.005481f, 0.002475f, -0.007473f, -0.002333f, -0.002584f, 0.004400f, 0.003517f, 0.003317f, 0.006784f, + -0.012571f, -0.025595f, -0.010525f, -0.001745f, 0.002763f, -0.002263f, 0.007039f, -0.000721f, 0.011993f, -0.010665f, 0.005864f, -0.001832f, 0.022922f, 0.011121f, -0.006284f, -0.009174f, 0.004493f, -0.013504f, -0.008866f, 0.006740f, -0.006206f, -0.007592f, 0.015529f, 0.008046f, -0.002020f, -0.006515f, -0.011429f, 0.008188f, 0.004343f, 0.006420f, -0.001522f, -0.001392f, -0.007468f, 0.010964f, -0.013808f, -0.004245f, -0.001660f, 0.010297f, 0.005867f, 0.000608f, 0.008925f, 0.002539f, -0.005732f, 0.003336f, -0.005708f, -0.003518f, -0.006673f, 0.008393f, -0.006204f, 0.001224f, 0.008263f, 0.015315f, 0.013188f, 0.007295f, 0.004021f, 0.000598f, 0.007048f, -0.001655f, 0.010593f, -0.000365f, 0.006417f, 0.007420f, -0.005711f, 0.002420f, -0.006135f, 0.007578f, 0.004047f, 0.004072f, -0.002603f, -0.007424f, 0.006142f, -0.007980f, -0.001891f, -0.008360f, 0.003787f, 0.003232f, -0.001328f, -0.003500f, -0.012655f, -0.025846f, -0.021302f, 0.001541f, -0.018245f, -0.008637f, -0.025741f, -0.013345f, -0.015801f, 0.006395f, -0.008579f, -0.010824f, -0.004071f, 0.000816f, -0.006853f, -0.024534f, 0.006334f, -0.004171f, + 0.002167f, -0.010996f, 0.010837f, 0.004340f, -0.000086f, -0.009762f, -0.004788f, 0.012864f, 0.008273f, 0.000764f, -0.002259f, -0.008291f, 0.004912f, 0.002954f, 0.005087f, -0.009961f, -0.001359f, -0.008048f, -0.007842f, -0.007863f, 0.000396f, 0.016631f, -0.013841f, 0.000523f, -0.013226f, 0.001550f, 0.005437f, 0.007698f, -0.013962f, 0.013791f, 0.015871f, -0.005124f, -0.004472f, -0.002557f, -0.001243f, 0.005551f, 0.006000f, 0.002004f, 0.003850f, -0.007603f, -0.002250f, -0.002529f, 0.013387f, -0.003926f, 0.014846f, 0.000166f, -0.005639f, 0.013127f, -0.002210f, -0.006683f, 0.001677f, 0.014457f, 0.014469f, 0.000031f, -0.006094f, -0.006822f, 0.003978f, -0.020607f, -0.019585f, -0.023616f, 0.007269f, -0.019215f, -0.007349f, 0.017565f, 0.009248f, -0.020819f, -0.000910f, -0.000265f, 0.009404f, 0.012844f, 0.023196f, -0.006620f, -0.007714f, -0.022825f, -0.026978f, -0.016687f, -0.005061f, 0.010709f, -0.010671f, 0.004902f, -0.015349f, 0.015947f, -0.011403f, 0.012706f, -0.005660f, 0.001352f, 0.003907f, -0.003159f, -0.011240f, 0.018030f, -0.015544f, -0.001332f, -0.008076f, 0.001736f, -0.009485f, 0.001746f, + -0.039629f, 0.000095f, 0.019133f, -0.024434f, 0.005924f, 0.015725f, 0.006330f, -0.013027f, -0.000908f, 0.019017f, -0.023715f, -0.000715f, 0.010376f, 0.008844f, 0.009778f, -0.004171f, -0.003034f, -0.016353f, -0.007304f, 0.005672f, 0.011126f, 0.016221f, 0.021169f, -0.031354f, 0.012034f, -0.010097f, 0.002629f, -0.022482f, -0.008397f, 0.016671f, 0.004627f, 0.001244f, -0.011614f, -0.001386f, 0.011483f, 0.006573f, 0.004781f, 0.002236f, 0.024107f, 0.039817f, 0.022384f, 0.025903f, 0.004121f, 0.009102f, 0.035206f, -0.001246f, 0.001209f, 0.023844f, -0.011566f, -0.000089f, 0.007068f, 0.011814f, 0.019966f, -0.016253f, -0.022787f, 0.012517f, 0.007219f, -0.013480f, 0.003054f, 0.008049f, -0.004913f, 0.004565f, -0.012153f, -0.002936f, -0.014220f, 0.004303f, 0.015974f, 0.004756f, 0.014035f, 0.010523f, 0.011481f, -0.027448f, 0.001710f, 0.031662f, -0.003487f, -0.000696f, 0.029945f, -0.004029f, -0.000710f, 0.004271f, -0.003542f, -0.000983f, 0.016793f, 0.025657f, -0.024885f, -0.004223f, 0.005512f, -0.007856f, 0.012451f, -0.004096f, 0.001726f, 0.001820f, -0.004911f, 0.022644f, -0.002233f, -0.008273f, + 0.009249f, -0.008546f, -0.013308f, 0.004942f, 0.016409f, 0.005956f, -0.000625f, 0.003314f, 0.016056f, 0.007999f, 0.014745f, 0.004395f, 0.003455f, 0.000419f, -0.010744f, -0.001894f, -0.007251f, 0.067067f, 0.009759f, -0.001793f, 0.000027f, -0.032695f, -0.009005f, 0.002826f, -0.007058f, 0.014011f, 0.006805f, 0.022905f, -0.002398f, -0.000183f, -0.004415f, -0.009979f, 0.016142f, 0.002755f, 0.006583f, 0.008583f, 0.012832f, -0.011547f, -0.010812f, -0.013395f, -0.008526f, -0.007683f, -0.002570f, -0.018317f, -0.002781f, 0.029524f, 0.014763f, -0.005595f, -0.001117f, -0.003422f, 0.003383f, 0.010538f, -0.004157f, 0.042303f, -0.006335f, -0.001015f, -0.018109f, 0.007817f, 0.019500f, -0.002974f, -0.012955f, -0.001607f, 0.008282f, 0.014384f, 0.007348f, 0.020148f, 0.030976f, 0.009980f, 0.000733f, 0.017971f, 0.015833f, 0.005759f, 0.012635f, -0.036582f, 0.010170f, 0.001416f, -0.031056f, 0.012492f, 0.001005f, -0.013603f, 0.011108f, -0.014429f, -0.012542f, 0.017908f, 0.015817f, -0.007146f, -0.026621f, -0.012542f, 0.009512f, -0.016122f, -0.000567f, 0.007658f, 0.031622f, -0.004923f, -0.034410f, 0.021202f, + -0.002779f, -0.024383f, 0.000473f, 0.019681f, -0.022545f, -0.006324f, -0.017877f, 0.011559f, 0.005620f, -0.008337f, -0.006732f, -0.004165f, 0.014383f, 0.008658f, 0.007073f, 0.012224f, 0.013325f, 0.000065f, 0.015792f, 0.015169f, 0.008369f, 0.007926f, -0.014925f, -0.009176f, -0.009855f, 0.009236f, 0.015114f, 0.003780f, 0.005903f, -0.008842f, -0.003973f, -0.005762f, -0.002446f, -0.014992f, 0.014773f, 0.002099f, 0.002752f, -0.015899f, -0.002549f, 0.023177f, -0.015247f, -0.019133f, -0.026181f, 0.009186f, -0.019074f, 0.030115f, 0.037704f, 0.023949f, 0.016549f, 0.000900f, 0.030064f, -0.015077f, 0.024184f, -0.003127f, -0.013160f, 0.000986f, 0.003779f, -0.033453f, -0.012279f, 0.012701f, 0.004623f, -0.005289f, 0.007888f, 0.028697f, 0.022169f, -0.031194f, -0.004970f, 0.001075f, 0.002583f, 0.011649f, 0.017525f, 0.003060f, -0.021402f, 0.016921f, -0.008529f, -0.028453f, 0.001478f, 0.004879f, 0.017258f, 0.005602f, 0.046432f, 0.009208f, -0.021237f, -0.004797f, -0.018099f, 0.031897f, -0.040276f, -0.001828f, 0.025422f, -0.057001f, -0.024566f, -0.018109f, -0.021912f, -0.037198f, 0.002287f, -0.005082f, + -0.018071f, -0.000361f, 0.017034f, 0.004111f, 0.001076f, -0.009654f, 0.003206f, -0.002028f, 0.003185f, 0.001912f, 0.001566f, 0.016931f, -0.004986f, 0.001030f, 0.029195f, -0.017749f, -0.005309f, 0.007313f, 0.024967f, -0.011726f, 0.036219f, -0.009241f, -0.016495f, -0.029971f, -0.043156f, -0.009980f, -0.032463f, 0.017464f, -0.010780f, -0.021042f, 0.001856f, 0.006171f, 0.015881f, 0.017025f, 0.004741f, -0.000433f, 0.051785f, 0.032006f, -0.004716f, 0.007856f, 0.016830f, 0.016355f, 0.007467f, -0.004367f, -0.002408f, -0.006631f, -0.013749f, -0.008492f, 0.006679f, 0.044444f, -0.030233f, -0.004149f, -0.017584f, 0.032486f, -0.022585f, -0.024307f, 0.014198f, -0.011691f, -0.041800f, 0.019851f, -0.011650f, 0.015509f, -0.011244f, 0.019857f, 0.015671f, 0.016194f, 0.029563f, 0.002949f, 0.025133f, 0.007969f, 0.007199f, 0.014589f, 0.006578f, 0.002640f, 0.002053f, -0.002600f, -0.014489f, 0.011675f, -0.030329f, 0.011570f, 0.004001f, -0.011033f, -0.016070f, -0.002628f, 0.012687f, -0.016161f, -0.005199f, -0.023123f, -0.007494f, -0.028006f, 0.002125f, 0.011567f, 0.000197f, -0.005921f, -0.015837f, -0.030947f, + -0.020173f, 0.019270f, 0.007648f, -0.012120f, -0.016014f, -0.007014f, -0.001157f, -0.030783f, 0.023448f, 0.017970f, -0.027218f, -0.029898f, -0.043427f, -0.010228f, -0.052041f, 0.010140f, 0.019857f, 0.006586f, -0.003692f, -0.010890f, -0.005971f, 0.016728f, 0.020701f, 0.019958f, -0.017198f, -0.018069f, 0.015264f, -0.012809f, -0.009464f, -0.036536f, 0.011231f, 0.018120f, 0.025356f, -0.013899f, 0.038788f, 0.050468f, -0.021465f, 0.001626f, 0.010398f, -0.035946f, -0.009644f, 0.050905f, -0.000743f, -0.049559f, 0.003373f, 0.019010f, -0.003594f, 0.021165f, 0.040746f, -0.014641f, 0.036648f, 0.024156f, 0.030989f, 0.012445f, -0.027602f, -0.023891f, 0.019578f, -0.021317f, -0.040706f, -0.007877f, -0.047933f, 0.013507f, -0.005111f, 0.019777f, 0.012014f, 0.013585f, 0.003226f, 0.001806f, -0.000626f, 0.027058f, 0.009496f, -0.041133f, -0.007115f, 0.019007f, 0.027095f, 0.020164f, 0.034031f, 0.036478f, 0.023546f, -0.007672f, -0.006053f, 0.011123f, 0.063506f, -0.022735f, 0.003094f, 0.018556f, 0.023914f, -0.005636f, -0.037903f, -0.002509f, -0.010783f, -0.016518f, -0.041737f, -0.038235f, 0.010371f, -0.018737f, + -0.020214f, 0.017465f, 0.032760f, 0.048981f, -0.000995f, 0.004540f, -0.002443f, 0.040124f, -0.024276f, -0.003090f, 0.036114f, -0.032821f, 0.001506f, -0.022069f, -0.026592f, 0.015271f, 0.010239f, 0.020723f, -0.024656f, -0.060903f, -0.012189f, -0.022390f, -0.017718f, -0.013985f, 0.004523f, -0.022026f, -0.015374f, 0.003901f, 0.014963f, -0.014483f, 0.033104f, -0.005156f, 0.022773f, -0.012356f, 0.000550f, 0.016306f, -0.024010f, -0.017925f, -0.006979f, 0.025188f, -0.004688f, -0.031367f, -0.009364f, 0.002699f, -0.012535f, 0.010515f, -0.018021f, -0.021739f, 0.030834f, 0.006637f, -0.021152f, 0.012159f, -0.000935f, -0.019924f, 0.000081f, -0.031857f, -0.023987f, 0.003289f, 0.046881f, 0.016304f, 0.015881f, -0.037969f, 0.029653f, -0.005095f, 0.023153f, -0.014510f, -0.023278f, 0.010253f, -0.044501f, 0.036709f, -0.060909f, -0.041833f, 0.016378f, 0.032429f, 0.004512f, 0.039172f, -0.016271f, 0.008558f, -0.026891f, 0.036396f, 0.014285f, 0.026297f, 0.015087f, 0.004012f, -0.007312f, -0.012710f, -0.017126f, -0.010048f, 0.000816f, -0.037473f, -0.017485f, -0.002176f, -0.044272f, -0.005194f, 0.010288f, -0.044952f, + -0.041059f, 0.003544f, 0.017436f, -0.021561f, -0.093492f, -0.020254f, -0.000232f, 0.011560f, -0.031529f, 0.001993f, -0.017546f, -0.004489f, -0.025184f, -0.029074f, 0.025109f, -0.028349f, -0.033691f, -0.006652f, -0.023641f, -0.026931f, 0.008798f, -0.038720f, -0.012649f, 0.021599f, 0.051787f, 0.040848f, -0.002312f, -0.026874f, 0.008626f, 0.036532f, -0.002180f, 0.023802f, -0.007720f, 0.030272f, 0.017249f, -0.034035f, 0.051166f, -0.041037f, -0.021571f, 0.033254f, -0.039223f, 0.009906f, -0.009709f, -0.030688f, 0.002442f, 0.041989f, -0.010155f, -0.027694f, 0.015255f, 0.019494f, -0.001884f, 0.006794f, -0.064423f, 0.013014f, 0.001133f, 0.029491f, 0.013762f, -0.030085f, 0.025679f, -0.017293f, -0.004343f, -0.028330f, 0.011489f, 0.034077f, -0.009939f, -0.010362f, -0.040407f, -0.056836f, 0.027702f, -0.007463f, 0.021618f, -0.033320f, 0.019509f, 0.013027f, -0.038273f, 0.032920f, 0.037909f, -0.098062f, 0.038508f, 0.046060f, -0.009875f, 0.031313f, 0.002132f, 0.015073f, -0.005280f, -0.022067f, -0.010207f, 0.017946f, 0.007310f, -0.030018f, -0.015421f, -0.004943f, -0.010416f, -0.009459f, -0.000412f, 0.056777f, + 0.014469f, 0.010718f, -0.034006f, 0.023092f, -0.023447f, -0.001997f, 0.007220f, -0.042378f, 0.021337f, -0.017213f, 0.004769f, -0.018582f, -0.026204f, -0.001607f, 0.021933f, 0.052420f, 0.022486f, 0.003291f, 0.036713f, 0.011940f, -0.001253f, 0.003147f, 0.003735f, 0.007133f, 0.008479f, 0.034732f, 0.019246f, 0.008770f, 0.009161f, -0.007260f, -0.008474f, -0.039124f, -0.027586f, 0.001725f, -0.001170f, -0.025165f, 0.006517f, 0.024842f, -0.038481f, 0.037801f, 0.013947f, -0.017631f, 0.001969f, -0.013636f, 0.000451f, 0.021617f, 0.014718f, 0.004964f, -0.024228f, -0.008990f, -0.034374f, -0.015479f, 0.015718f, 0.010253f, 0.019374f, -0.021951f, -0.084530f, 0.131219f, -0.129816f, -0.059459f, -0.029378f, -0.009491f, 0.076538f, 0.021748f, 0.085600f, 0.020612f, -0.017188f, 0.066477f, 0.029291f, -0.023534f, 0.031671f, 0.027692f, 0.016064f, 0.025809f, 0.025945f, -0.023985f, -0.037225f, -0.027490f, 0.004268f, -0.025408f, 0.012789f, 0.006574f, 0.016553f, -0.003730f, 0.011343f, 0.002710f, 0.041638f, 0.008688f, 0.003634f, 0.011587f, -0.010137f, -0.001958f, 0.014347f, -0.027716f, -0.037877f, -0.026913f, + -0.022321f, 0.002140f, 0.010430f, -0.028005f, -0.005027f, -0.017594f, -0.065613f, 0.030804f, -0.012632f, 0.014593f, -0.035104f, -0.013601f, -0.032705f, -0.045398f, 0.015079f, 0.009209f, 0.040692f, -0.004215f, 0.035527f, -0.018261f, 0.029323f, 0.000923f, 0.042386f, -0.034363f, 0.025230f, 0.029749f, 0.015727f, 0.015586f, -0.001265f, -0.017424f, 0.048556f, 0.030200f, -0.007466f, 0.057187f, 0.010048f, 0.000280f, 0.020258f, 0.024918f, 0.080605f, 0.006900f, -0.048152f, -0.071128f, -0.037341f, -0.029538f, 0.010086f, 0.059199f, -0.000317f, -0.024531f, 0.053490f, 0.004834f, -0.041682f, 0.038914f, 0.042615f, -0.006915f, 0.000400f, -0.003231f, -0.036381f, 0.042808f, 0.003831f, 0.024800f, -0.011675f, -0.032438f, -0.056858f, 0.011884f, 0.009344f, 0.010366f, -0.006167f, 0.019825f, -0.017214f, 0.001253f, -0.035112f, -0.045250f, 0.019106f, -0.004257f, 0.017768f, -0.005006f, -0.014298f, -0.040555f, -0.062516f, 0.035686f, -0.033245f, 0.017112f, 0.035442f, -0.000118f, -0.012889f, -0.030143f, -0.018945f, 0.078027f, 0.021871f, -0.001147f, 0.014830f, -0.007647f, -0.025297f, -0.007644f, 0.049676f, -0.040051f, + -0.065331f, -0.022525f, -0.016060f, -0.097744f, -0.071111f, -0.039767f, -0.035780f, 0.013028f, 0.007953f, -0.032785f, -0.057668f, -0.024692f, -0.021573f, -0.021480f, -0.007323f, -0.013234f, -0.028031f, -0.040020f, 0.042989f, -0.037808f, 0.057547f, -0.008815f, 0.054969f, 0.075711f, -0.011991f, -0.086743f, -0.079449f, -0.019829f, 0.041691f, 0.003209f, -0.061770f, 0.048317f, -0.008488f, -0.044175f, 0.054289f, -0.099290f, -0.017879f, -0.001504f, -0.014637f, -0.016863f, 0.120593f, -0.051339f, 0.113194f, -0.007296f, 0.025922f, -0.009933f, -0.040989f, 0.069143f, 0.021497f, 0.072052f, -0.047733f, -0.051208f, 0.018813f, -0.081583f, -0.021281f, -0.014162f, -0.053008f, 0.114874f, -0.007331f, -0.121397f, 0.000955f, -0.054543f, 0.018479f, 0.028919f, 0.051069f, 0.038646f, -0.044727f, -0.030114f, -0.071148f, -0.021818f, -0.031419f, 0.031798f, 0.023818f, -0.003654f, 0.024697f, -0.014140f, -0.049559f, -0.020481f, -0.058277f, 0.064222f, -0.044318f, -0.030845f, 0.059513f, 0.015784f, 0.098586f, 0.049341f, 0.011837f, 0.054304f, -0.063589f, -0.020046f, -0.065259f, -0.060959f, -0.005183f, -0.000750f, -0.077992f, 0.101184f, + -0.004931f, -0.158306f, 0.082089f, 0.018150f, -0.033328f, -0.026254f, 0.051070f, 0.027132f, -0.029627f, -0.008834f, -0.073334f, -0.031558f, 0.032495f, -0.064634f, 0.003470f, 0.011057f, -0.018531f, -0.043224f, -0.028062f, 0.057201f, 0.024353f, -0.011974f, -0.081541f, 0.027661f, 0.053483f, 0.029714f, -0.062689f, -0.043088f, 0.001803f, 0.069453f, 0.007849f, -0.017231f, 0.012727f, 0.001915f, 0.037503f, -0.093351f, -0.078520f, 0.099259f, 0.017521f, 0.041328f, -0.092531f, 0.020293f, -0.001923f, 0.069088f, -0.059769f, -0.012275f, -0.092305f, 0.032830f, 0.071300f, 0.015634f, -0.039141f, 0.026759f, 0.102621f, -0.045018f, -0.043856f, -0.037729f, 0.017937f, 0.003523f, 0.091278f, -0.026733f, 0.011193f, -0.047804f, 0.020364f, -0.052477f, 0.003774f, 0.031959f, -0.058270f, 0.060210f, 0.025581f, -0.046341f, -0.061687f, -0.044318f, 0.005906f, 0.059421f, -0.100621f, -0.028326f, 0.117760f, 0.105011f, 0.052570f, 0.025038f, 0.023371f, 0.026131f, -0.017252f, -0.015243f, -0.035780f, 0.005633f, 0.010730f, 0.010450f, -0.002618f, -0.058607f, 0.028191f, 0.013106f, -0.042080f, -0.033946f, -0.018431f, -0.019226f, + 0.015186f, -0.013957f, -0.017928f, 0.006666f, -0.001659f, -0.030238f, 0.040647f, -0.027646f, -0.009519f, -0.028749f, -0.027557f, 0.021543f, -0.011647f, -0.002253f, 0.010453f, 0.014735f, -0.003039f, -0.038657f, 0.010040f, 0.065015f, 0.013978f, -0.097134f, -0.005657f, -0.019554f, -0.030057f, 0.022846f, 0.023206f, 0.053289f, 0.025692f, -0.062553f, 0.071232f, -0.015272f, -0.047233f, 0.148041f, -0.027881f, -0.010339f, -0.046392f, -0.113830f, 0.055110f, 0.061128f, 0.021695f, 0.024477f, -0.096608f, 0.031089f, -0.004818f, -0.021752f, -0.014095f, 0.006285f, -0.005531f, 0.017874f, 0.023435f, 0.006504f, -0.009326f, -0.025925f, 0.036526f, 0.040174f, 0.060006f, -0.056538f, -0.145124f, -0.237782f, 0.015081f, 0.244399f, 0.018091f, 0.517707f, 0.517085f, 0.188836f, 0.518008f, 0.302417f, -0.096538f, -0.011235f, -0.056529f, -0.401813f, -0.339839f, -0.236441f, -0.424013f, -0.400426f, -0.124535f, -0.255200f, -0.229368f, 0.041129f, 0.054995f, -0.062516f, 0.061530f, 0.102653f, -0.016634f, -0.003328f, 0.206828f, 0.137292f, 0.038158f, 0.152234f, 0.290175f, 0.131046f, 0.149339f, 0.367583f, 0.128640f, 0.050958f, + 0.307251f, 0.300537f, -0.012751f, 0.183327f, 0.333767f, -0.022782f, 0.061226f, 0.189320f, -0.041529f, -0.203537f, 0.051388f, -0.067082f, -0.376432f, -0.348488f, -0.331150f, -0.599368f, -0.877141f, -0.619351f, -0.858669f, -1.122897f, -0.814935f, -0.666060f, -0.893304f, -0.587591f, -0.322311f, -0.309002f, -0.121030f, 0.177932f, 0.416901f, 0.485866f, 0.661613f, 0.936922f, 0.898548f, 0.842169f, 0.935298f, 0.925396f, 0.677728f, 0.460289f, 0.266255f, -0.051362f, -0.050862f} + }, + { + {-0.004310f, 0.003591f, -0.009964f, 0.002957f, 0.004525f, 0.000052f, -0.004545f, 0.000605f, -0.001540f, -0.005226f, 0.013663f, 0.004369f, 0.003985f, 0.008358f, -0.003890f, -0.000867f, 0.000783f, -0.005747f, 0.010686f, -0.004067f, 0.001112f, -0.006109f, -0.001305f, 0.006301f, 0.000055f, 0.000470f, -0.002272f, 0.000869f, -0.007551f, 0.007910f, -0.006061f, 0.001772f, 0.005048f, -0.001075f, -0.004828f, 0.009149f, -0.000112f, -0.007862f, -0.000951f, -0.009100f, 0.003816f, -0.009680f, -0.004640f, 0.000986f, 0.002160f, 0.001496f, 0.002086f, 0.004356f, 0.006723f, -0.000797f, 0.004442f, 0.004666f, 0.003382f, -0.000126f, -0.003774f, 0.004692f, 0.001282f, 0.002884f, -0.005002f, 0.009156f, 0.007367f, -0.000719f, -0.004722f, -0.000760f, -0.000374f, -0.001779f, -0.005434f, -0.011035f, -0.001825f, 0.007026f, 0.006426f, 0.002855f, 0.013701f, -0.002339f, 0.000407f, -0.005442f, 0.019052f, -0.000757f, -0.001063f, 0.006108f, -0.002535f, 0.006963f, -0.003747f, -0.008911f, 0.003063f, 0.008952f, 0.001240f, -0.001405f, 0.011805f, 0.000379f, 0.000392f, -0.004095f, -0.002371f, 0.018493f, 0.002463f, -0.012643f, + -0.009431f, 0.013006f, -0.001325f, 0.013478f, 0.000810f, -0.002671f, -0.001427f, 0.010135f, 0.001868f, 0.021381f, 0.009301f, 0.005786f, -0.001334f, 0.004629f, 0.009542f, -0.002554f, -0.007443f, -0.009284f, -0.001948f, 0.008016f, 0.006849f, 0.010743f, 0.002857f, -0.006354f, -0.006601f, -0.002901f, 0.004335f, -0.001736f, 0.002267f, -0.001538f, -0.010010f, -0.007838f, 0.002712f, 0.006779f, 0.004096f, -0.003893f, -0.004321f, -0.000668f, 0.010317f, 0.004979f, -0.001497f, -0.002847f, 0.004578f, 0.002814f, 0.001740f, -0.005987f, 0.002320f, 0.004467f, -0.001101f, 0.007068f, 0.008682f, -0.016891f, 0.005296f, 0.002228f, 0.009708f, 0.005050f, 0.008683f, 0.017752f, -0.014352f, 0.003001f, -0.002885f, -0.000093f, -0.018522f, 0.001602f, 0.011703f, -0.017068f, -0.003119f, 0.010935f, 0.030124f, 0.003994f, 0.000172f, 0.001853f, -0.018257f, -0.000856f, 0.014128f, 0.011949f, 0.000731f, -0.000625f, 0.001536f, 0.006172f, 0.011130f, 0.011077f, 0.012630f, -0.005664f, 0.003068f, -0.000942f, 0.005146f, 0.001131f, 0.003482f, -0.019089f, -0.004728f, 0.002785f, 0.002011f, -0.010612f, 0.000142f, 0.006999f, + -0.007832f, 0.006447f, 0.006566f, 0.011088f, 0.005758f, -0.004373f, 0.006118f, 0.012440f, -0.006462f, -0.011355f, 0.004354f, 0.002588f, 0.002789f, 0.005921f, -0.004406f, -0.009123f, -0.012992f, 0.011042f, -0.001369f, -0.002503f, -0.003740f, 0.004933f, 0.000563f, 0.007275f, 0.014885f, 0.003035f, 0.001803f, -0.000538f, -0.002477f, -0.010742f, 0.018155f, 0.004495f, -0.000810f, 0.009097f, 0.000191f, -0.008689f, -0.007860f, -0.009448f, -0.013833f, 0.007795f, -0.000364f, -0.006376f, -0.002792f, -0.003194f, 0.002762f, -0.005286f, -0.009582f, 0.002259f, -0.006311f, 0.016132f, 0.021063f, 0.016946f, -0.011878f, -0.000343f, -0.001006f, 0.004601f, -0.006710f, 0.013297f, 0.008029f, -0.001802f, 0.006135f, 0.010092f, 0.000542f, 0.002496f, 0.003219f, 0.009791f, -0.001216f, 0.003672f, 0.011353f, 0.001229f, -0.000435f, -0.005053f, 0.008069f, -0.012633f, 0.004792f, -0.001759f, -0.002932f, 0.008437f, -0.008491f, -0.001038f, -0.000066f, -0.011023f, 0.004206f, -0.002254f, 0.004718f, -0.000406f, -0.005147f, 0.003275f, 0.003094f, -0.000666f, 0.009353f, -0.000806f, 0.010837f, -0.000302f, -0.007955f, -0.003500f, + -0.000048f, -0.005319f, 0.009551f, 0.004999f, 0.008098f, 0.009481f, -0.004848f, -0.010086f, -0.006945f, -0.000529f, -0.002468f, -0.002784f, 0.007222f, 0.008973f, -0.002436f, -0.028436f, -0.006361f, -0.009052f, -0.014952f, 0.004905f, 0.004260f, -0.002102f, 0.007351f, -0.001271f, 0.006245f, 0.008147f, -0.003444f, -0.010143f, -0.012146f, -0.005034f, -0.011296f, 0.000603f, 0.001539f, -0.005342f, 0.006821f, -0.005969f, 0.003777f, -0.002900f, -0.006338f, -0.017847f, -0.006566f, 0.001237f, 0.003010f, 0.004276f, -0.006264f, 0.004318f, 0.007298f, 0.001991f, 0.016241f, 0.003632f, -0.000159f, 0.012028f, -0.008500f, 0.006791f, 0.001428f, -0.004532f, -0.005675f, 0.007610f, 0.001326f, 0.002141f, -0.018623f, -0.003873f, -0.005983f, 0.018564f, 0.008386f, 0.006418f, 0.007957f, 0.008282f, 0.007155f, 0.009217f, -0.004838f, -0.002524f, 0.006197f, 0.009014f, -0.000988f, 0.010587f, -0.005662f, 0.001911f, -0.002084f, 0.008844f, 0.014395f, -0.022523f, 0.006131f, -0.006041f, 0.001128f, -0.011012f, -0.004819f, 0.001021f, -0.002496f, -0.005207f, -0.007798f, -0.004534f, 0.011163f, 0.006584f, 0.004166f, -0.002240f, + 0.001095f, 0.001053f, 0.014397f, -0.011407f, 0.014453f, -0.002016f, 0.007985f, 0.014479f, -0.008900f, 0.011199f, -0.006822f, 0.005703f, 0.002473f, 0.017064f, 0.007862f, -0.009641f, -0.015439f, 0.003503f, -0.011489f, 0.009626f, -0.002102f, 0.012573f, -0.009087f, -0.001594f, -0.007195f, 0.004302f, 0.003173f, 0.003564f, -0.000562f, -0.001392f, -0.013327f, -0.006065f, 0.011709f, -0.009036f, -0.001386f, 0.007302f, 0.000811f, -0.007077f, 0.002784f, 0.000601f, -0.001069f, -0.006138f, 0.012877f, 0.003903f, -0.017007f, -0.007963f, -0.013591f, -0.002519f, -0.011916f, -0.021669f, -0.004265f, 0.009394f, 0.027349f, 0.005774f, 0.002944f, 0.012492f, 0.000457f, -0.009911f, -0.007753f, 0.006910f, 0.003633f, 0.004602f, 0.008657f, -0.019027f, -0.003592f, -0.017576f, -0.002672f, 0.004535f, -0.005616f, -0.016514f, 0.003040f, 0.006148f, -0.001824f, 0.030852f, 0.007096f, 0.022411f, -0.010585f, -0.001203f, -0.007568f, -0.001454f, 0.023418f, -0.019839f, 0.006611f, 0.002564f, 0.030748f, 0.016732f, 0.020380f, 0.004051f, -0.005183f, 0.009989f, -0.006810f, -0.025261f, 0.004815f, 0.001801f, 0.002967f, 0.020527f, + 0.001901f, -0.011484f, -0.001043f, 0.000910f, 0.006419f, 0.007372f, -0.000564f, -0.002241f, 0.008296f, -0.009232f, -0.002573f, -0.004463f, -0.002368f, 0.002919f, 0.000499f, 0.018206f, 0.002712f, 0.014397f, 0.016262f, 0.004904f, 0.014390f, -0.000594f, 0.004926f, 0.009086f, -0.009051f, -0.013439f, 0.002033f, 0.014471f, -0.022052f, 0.007126f, -0.016815f, -0.015577f, -0.009453f, -0.003990f, -0.014682f, -0.014182f, -0.015026f, -0.007509f, -0.003351f, 0.010808f, 0.000801f, 0.012838f, 0.002484f, -0.009918f, 0.016363f, -0.016043f, -0.005475f, -0.006545f, -0.005905f, -0.008541f, -0.010474f, 0.016285f, 0.013885f, -0.007197f, -0.015354f, -0.017841f, -0.008630f, -0.011436f, -0.004303f, -0.005447f, -0.018711f, -0.017206f, -0.012371f, -0.003344f, -0.000073f, -0.003799f, 0.014835f, 0.000060f, 0.008160f, 0.009212f, 0.013393f, 0.000569f, 0.025174f, 0.028842f, 0.000374f, 0.007328f, 0.007808f, -0.005134f, 0.014195f, 0.005680f, -0.026233f, -0.002433f, -0.008472f, 0.000013f, 0.021937f, 0.006767f, -0.020835f, -0.007412f, 0.010556f, 0.007917f, 0.002197f, 0.026103f, -0.010679f, 0.009448f, 0.012190f, 0.010570f, + 0.008070f, 0.012557f, -0.023692f, 0.007029f, -0.008777f, 0.012538f, 0.001306f, 0.004182f, -0.017642f, 0.011332f, 0.010505f, -0.004634f, 0.010175f, -0.003953f, 0.003328f, -0.002664f, -0.008928f, -0.000127f, -0.005493f, 0.003221f, -0.006953f, 0.006439f, 0.003545f, 0.020366f, 0.018181f, -0.009064f, 0.006814f, -0.023338f, 0.017403f, -0.009752f, 0.010807f, 0.013029f, 0.018327f, -0.005905f, 0.018402f, 0.001503f, 0.015908f, -0.014158f, -0.003771f, 0.012779f, -0.006817f, 0.021850f, -0.006989f, -0.015303f, 0.028903f, 0.039429f, 0.008709f, -0.015423f, 0.010832f, -0.008071f, 0.016127f, 0.009533f, -0.003554f, -0.016321f, -0.010804f, -0.027839f, 0.007300f, 0.012121f, -0.024738f, -0.002740f, 0.014324f, 0.003969f, -0.001239f, 0.000834f, -0.003072f, -0.013105f, 0.003202f, 0.016892f, 0.000623f, 0.003919f, 0.005942f, 0.023866f, -0.015553f, -0.000019f, 0.016994f, -0.015163f, 0.022842f, 0.001697f, 0.032127f, -0.026261f, -0.024284f, 0.013912f, 0.001064f, -0.002540f, 0.006781f, -0.001470f, 0.008806f, 0.006336f, 0.017732f, 0.017993f, -0.014331f, 0.003600f, -0.009472f, -0.004433f, 0.010441f, -0.000065f, + -0.005850f, -0.000959f, 0.000125f, 0.017654f, -0.031082f, 0.025194f, -0.007860f, -0.008280f, 0.016643f, -0.011452f, 0.013013f, -0.015761f, -0.011786f, 0.000322f, -0.016038f, 0.000372f, -0.019653f, -0.014713f, -0.006716f, -0.013802f, -0.021439f, -0.004331f, 0.007511f, 0.026203f, 0.004006f, -0.015632f, -0.029411f, -0.005988f, 0.008780f, -0.005013f, 0.031030f, 0.009929f, -0.011381f, -0.022081f, -0.028004f, -0.052376f, -0.004627f, -0.005741f, 0.019719f, 0.014895f, -0.011131f, 0.001387f, -0.008727f, -0.004525f, 0.018409f, -0.000495f, 0.000531f, -0.002306f, 0.020884f, 0.003603f, -0.006953f, -0.001093f, -0.001364f, 0.005745f, -0.020074f, -0.006185f, -0.008309f, 0.030728f, 0.006479f, -0.032466f, 0.007600f, -0.016900f, -0.010272f, 0.004664f, -0.031018f, 0.009259f, 0.020780f, 0.019135f, 0.013997f, 0.003517f, 0.004945f, -0.001147f, 0.001967f, -0.019201f, 0.005546f, -0.029977f, -0.007222f, 0.016799f, 0.004541f, 0.017183f, 0.015314f, 0.013920f, -0.011932f, -0.022337f, -0.021758f, -0.015302f, 0.001793f, 0.005397f, 0.006414f, 0.009382f, -0.002786f, 0.005683f, 0.013119f, 0.015366f, 0.027131f, 0.031479f, + 0.022723f, 0.038914f, -0.018201f, 0.027676f, -0.023677f, -0.018502f, 0.020462f, 0.026228f, 0.030896f, -0.031807f, -0.000180f, 0.008122f, -0.023612f, 0.011285f, -0.010374f, -0.016626f, 0.019094f, -0.024707f, 0.026955f, -0.025388f, 0.025254f, -0.018173f, -0.006730f, -0.001519f, -0.033357f, -0.004462f, 0.036827f, -0.009224f, -0.026278f, 0.005832f, 0.017114f, -0.018958f, 0.009529f, 0.040036f, 0.021426f, 0.008317f, 0.017632f, -0.020769f, 0.014083f, -0.012341f, -0.036230f, -0.010668f, -0.009460f, 0.003047f, 0.016460f, 0.020698f, -0.008979f, -0.015477f, 0.014490f, 0.000557f, 0.011092f, 0.007414f, -0.005896f, 0.002524f, -0.014411f, 0.002788f, 0.004595f, 0.000460f, 0.004742f, 0.033463f, -0.004043f, 0.004048f, 0.009385f, 0.002867f, 0.004064f, -0.015603f, -0.018156f, 0.013890f, -0.021574f, -0.027981f, -0.030700f, -0.024275f, -0.040894f, 0.015157f, 0.051045f, 0.026363f, -0.010624f, -0.039219f, -0.014836f, 0.003524f, 0.004733f, -0.006829f, 0.018852f, 0.014297f, -0.015457f, -0.006543f, -0.002818f, -0.025555f, 0.036070f, -0.015781f, 0.012298f, -0.002025f, -0.009562f, -0.031306f, 0.009754f, 0.007822f, + -0.004897f, 0.005030f, 0.013642f, -0.004154f, 0.035244f, -0.006929f, -0.006385f, 0.031300f, -0.004247f, -0.020421f, -0.020232f, -0.036129f, 0.004226f, -0.007044f, -0.012532f, -0.006870f, -0.028353f, -0.010177f, -0.026638f, 0.004067f, -0.023593f, 0.021769f, -0.013807f, 0.000962f, 0.005266f, 0.003947f, 0.010657f, -0.009407f, -0.028928f, 0.013544f, -0.004463f, 0.008404f, -0.007560f, -0.001264f, -0.000646f, 0.028277f, 0.038368f, 0.012453f, -0.014320f, 0.015434f, 0.012522f, 0.017519f, -0.008805f, -0.011715f, 0.017716f, 0.011289f, 0.024006f, 0.007927f, 0.003145f, 0.002227f, 0.002388f, 0.025292f, 0.016996f, 0.017231f, 0.075175f, 0.004327f, -0.023127f, 0.066964f, 0.030318f, 0.030991f, 0.053766f, 0.058333f, 0.013620f, 0.020277f, 0.011663f, 0.063210f, 0.000724f, -0.018850f, 0.023795f, 0.008181f, -0.026133f, -0.024069f, 0.020894f, 0.025261f, 0.041139f, -0.001610f, 0.000671f, 0.003282f, 0.003454f, -0.023180f, 0.026614f, 0.023055f, 0.006379f, -0.017317f, 0.028259f, -0.006502f, -0.004279f, -0.038087f, -0.011634f, -0.000142f, -0.005330f, -0.018600f, 0.011386f, -0.017021f, -0.014329f, -0.008616f, + 0.002971f, -0.010683f, -0.021816f, -0.022822f, 0.024644f, -0.016464f, 0.026328f, 0.016576f, 0.020993f, 0.011170f, -0.027822f, 0.002628f, -0.042856f, -0.014253f, -0.025001f, 0.012519f, -0.031032f, -0.010458f, -0.008736f, 0.004991f, 0.024535f, 0.008112f, -0.008580f, -0.039933f, 0.013690f, 0.021648f, -0.005733f, 0.006621f, -0.028086f, 0.025925f, -0.003651f, -0.009540f, 0.047252f, 0.026589f, -0.024107f, -0.042814f, 0.012815f, 0.013546f, -0.013882f, 0.028700f, -0.031649f, 0.034376f, -0.024901f, -0.013703f, 0.010428f, 0.008368f, 0.086921f, 0.034688f, 0.012625f, -0.053983f, -0.001915f, -0.012381f, -0.029367f, -0.007824f, -0.011026f, -0.008980f, -0.003695f, -0.044748f, -0.001332f, -0.016541f, 0.000104f, 0.022714f, -0.024515f, 0.029304f, -0.009850f, -0.031034f, -0.028747f, 0.023395f, 0.016955f, -0.006369f, -0.016076f, 0.029699f, -0.016078f, -0.013974f, 0.022300f, 0.000162f, 0.006548f, -0.022595f, -0.001244f, -0.012894f, 0.028736f, -0.003464f, 0.041421f, -0.014673f, 0.005851f, 0.013661f, -0.001630f, 0.002712f, 0.012351f, -0.025811f, -0.004736f, 0.035675f, 0.002405f, 0.010813f, -0.000676f, -0.026417f, + 0.011611f, -0.017860f, 0.009663f, 0.031850f, 0.038855f, 0.044514f, 0.044768f, -0.007489f, 0.015897f, 0.002074f, 0.024573f, 0.057010f, -0.058372f, 0.049217f, -0.023402f, 0.007550f, -0.019665f, -0.047346f, -0.007693f, 0.008055f, 0.001915f, 0.009546f, -0.032944f, -0.005900f, -0.005716f, -0.049967f, -0.036404f, 0.018118f, 0.021546f, 0.008102f, 0.015282f, -0.026197f, -0.010880f, -0.018940f, 0.054639f, 0.011526f, 0.002870f, 0.038630f, 0.024383f, 0.018785f, 0.019511f, 0.014399f, -0.026636f, 0.018921f, 0.009719f, -0.009961f, 0.017446f, -0.015518f, -0.012410f, 0.026468f, -0.010448f, 0.016153f, 0.038433f, -0.000120f, 0.008795f, -0.002086f, 0.004208f, -0.009467f, -0.019653f, -0.028738f, -0.042269f, 0.016579f, -0.035405f, 0.012465f, 0.016775f, 0.017193f, 0.002437f, -0.000592f, -0.002800f, -0.030662f, -0.011080f, 0.012741f, -0.007204f, 0.013099f, 0.039779f, -0.013451f, 0.031401f, 0.010583f, 0.006718f, -0.004094f, -0.006047f, -0.029434f, 0.003347f, -0.039112f, -0.007421f, 0.035283f, -0.014656f, 0.002228f, -0.056446f, 0.025633f, -0.002061f, 0.003944f, -0.031763f, -0.042376f, 0.013958f, 0.012462f, + 0.038047f, -0.090117f, -0.022186f, -0.053512f, 0.018069f, -0.048049f, -0.016117f, -0.054454f, 0.014591f, -0.028372f, -0.021780f, -0.004607f, -0.046258f, -0.016778f, -0.049557f, -0.024988f, -0.057379f, 0.012445f, -0.053078f, -0.020941f, -0.027549f, -0.015400f, -0.014534f, -0.012339f, -0.050649f, -0.028925f, -0.038514f, -0.019725f, -0.011074f, 0.021972f, -0.003100f, 0.016420f, -0.031488f, -0.005066f, 0.001893f, -0.036297f, 0.007102f, -0.002484f, 0.003150f, 0.009585f, -0.036753f, -0.002029f, 0.013627f, -0.004511f, 0.015339f, 0.030597f, 0.055396f, -0.045993f, 0.002815f, 0.061553f, 0.000249f, 0.030187f, -0.021673f, 0.038087f, 0.006816f, -0.009208f, -0.051421f, -0.030285f, 0.042160f, 0.026035f, 0.041020f, 0.001242f, -0.029628f, 0.010203f, 0.014049f, 0.029184f, -0.057000f, -0.000265f, 0.008597f, -0.031622f, -0.013197f, -0.014517f, -0.023577f, -0.046258f, 0.057133f, -0.004656f, -0.025683f, 0.038344f, -0.064922f, -0.000758f, -0.013084f, 0.027840f, -0.014570f, -0.040110f, 0.034467f, -0.070317f, -0.060835f, -0.050201f, 0.028073f, -0.015260f, 0.001034f, -0.027689f, -0.026364f, -0.030646f, 0.016201f, 0.013970f, + 0.048074f, 0.022242f, 0.009066f, 0.044640f, -0.012966f, 0.015576f, -0.017333f, 0.013216f, 0.007222f, 0.025995f, 0.042724f, 0.021684f, -0.010242f, -0.028074f, -0.017178f, -0.006869f, 0.023325f, -0.009624f, 0.005523f, -0.000700f, -0.012712f, 0.021503f, -0.002957f, 0.017205f, 0.012617f, -0.039321f, 0.029118f, 0.054314f, 0.007087f, 0.044908f, 0.043952f, 0.018211f, 0.013263f, -0.002633f, 0.022200f, -0.018021f, -0.057020f, -0.021112f, 0.038649f, -0.003108f, -0.022471f, 0.017178f, 0.055596f, -0.017477f, 0.001971f, -0.046676f, 0.038756f, 0.031691f, -0.005333f, 0.005728f, -0.021587f, 0.087690f, -0.062179f, -0.061313f, -0.050456f, 0.100979f, -0.019889f, 0.054929f, 0.102984f, -0.037057f, 0.050991f, 0.018177f, -0.059829f, 0.054509f, 0.011869f, -0.030503f, 0.045556f, 0.015086f, 0.043023f, -0.003306f, -0.030381f, 0.028833f, 0.014192f, -0.002780f, 0.013302f, -0.012562f, -0.032229f, -0.024134f, -0.013666f, -0.033701f, -0.019446f, -0.008757f, 0.027078f, -0.024114f, -0.009257f, -0.033242f, 0.009924f, -0.000345f, 0.008400f, 0.038648f, -0.021313f, 0.007058f, -0.019469f, -0.016047f, 0.027561f, -0.022093f, + -0.038960f, -0.057913f, 0.066951f, 0.024959f, -0.011834f, 0.040387f, -0.036158f, -0.038323f, -0.017367f, -0.006838f, 0.010430f, -0.003133f, -0.033183f, -0.030987f, -0.024973f, -0.067845f, -0.035782f, -0.038477f, 0.016757f, 0.017319f, 0.002718f, 0.032705f, 0.011689f, -0.043318f, -0.028328f, 0.044691f, -0.038128f, -0.000299f, 0.049179f, -0.013331f, -0.070321f, 0.043520f, -0.022099f, -0.004421f, 0.009786f, 0.021400f, -0.049722f, 0.029548f, -0.013539f, 0.050394f, 0.035896f, -0.082235f, -0.009541f, 0.007969f, -0.048966f, -0.008793f, -0.007473f, 0.059516f, 0.044094f, 0.039505f, 0.050721f, -0.002623f, -0.034597f, -0.027975f, -0.027470f, 0.000544f, -0.077383f, 0.008550f, 0.067063f, -0.061568f, -0.109326f, 0.010356f, -0.040736f, 0.080097f, -0.000285f, 0.001827f, 0.054453f, -0.025693f, 0.011287f, -0.003346f, -0.014662f, 0.046288f, -0.013583f, 0.023014f, 0.079155f, -0.059108f, -0.033399f, -0.053929f, 0.026242f, 0.003631f, 0.052741f, -0.031163f, 0.020514f, 0.002112f, 0.047828f, 0.027783f, -0.024195f, -0.016333f, 0.017592f, -0.009275f, -0.002950f, -0.034567f, -0.034577f, 0.017337f, -0.008570f, -0.010098f, + -0.020339f, 0.043760f, -0.017950f, -0.017291f, 0.071837f, 0.079058f, 0.049098f, -0.065540f, -0.007814f, -0.019149f, 0.023793f, 0.100513f, -0.014693f, -0.069869f, -0.007621f, -0.022872f, 0.037897f, -0.048971f, 0.008220f, -0.040429f, 0.037179f, 0.019662f, -0.037513f, 0.064322f, 0.100221f, 0.001549f, -0.003782f, -0.035312f, -0.033590f, 0.004416f, 0.006485f, -0.018178f, 0.090554f, -0.009580f, 0.067675f, 0.052174f, -0.067078f, -0.003719f, -0.022126f, -0.074057f, 0.018788f, 0.015084f, 0.040033f, 0.066009f, -0.001623f, -0.021175f, 0.022674f, 0.022696f, 0.053684f, 0.020405f, 0.005182f, 0.041913f, 0.046462f, 0.013839f, -0.010439f, 0.038142f, 0.018096f, 0.046199f, 0.010461f, 0.011688f, 0.030329f, 0.048919f, -0.008551f, -0.043053f, -0.047016f, -0.017827f, -0.016423f, 0.078050f, 0.044054f, 0.121791f, -0.005982f, -0.065502f, 0.055010f, -0.021821f, -0.021759f, -0.021786f, -0.042649f, 0.003155f, 0.023433f, -0.004152f, -0.024118f, 0.085039f, -0.018112f, 0.100779f, -0.029119f, 0.052366f, 0.004225f, -0.021682f, -0.057931f, -0.085723f, 0.074528f, -0.012274f, -0.017107f, -0.028637f, -0.036060f, 0.023971f, + 0.090780f, -0.053243f, -0.036905f, 0.009174f, 0.015089f, -0.008763f, 0.063824f, 0.052636f, 0.049893f, 0.019103f, 0.023869f, 0.045016f, 0.025218f, -0.013910f, -0.027265f, -0.056331f, -0.010860f, 0.033719f, 0.009501f, 0.008701f, -0.023038f, -0.053149f, -0.017403f, -0.005886f, 0.054728f, 0.002609f, -0.007973f, 0.044350f, -0.007984f, 0.013610f, 0.007888f, -0.092804f, 0.023150f, 0.027432f, -0.017608f, -0.038606f, 0.006691f, -0.051522f, -0.028111f, -0.079906f, 0.023865f, -0.066413f, -0.136111f, 0.017562f, -0.002537f, 0.097144f, -0.003855f, 0.034197f, 0.078227f, -0.011093f, -0.020731f, 0.036738f, -0.000876f, -0.066928f, -0.024000f, 0.010711f, 0.011633f, 0.052281f, 0.021527f, 0.046645f, 0.039814f, -0.026696f, -0.019944f, 0.020457f, 0.059053f, -0.022973f, -0.009938f, -0.052230f, -0.033543f, 0.013934f, -0.067229f, 0.019341f, -0.074240f, 0.010938f, -0.011976f, -0.002808f, -0.018683f, 0.071436f, 0.078417f, 0.179617f, 0.022331f, -0.102423f, -0.074987f, -0.057201f, -0.063591f, 0.125243f, 0.169861f, 0.055911f, -0.015198f, -0.054534f, 0.002775f, -0.065756f, 0.071631f, 0.065369f, 0.020708f, 0.008098f, + -0.041069f, -0.007727f, 0.078680f, 0.016423f, 0.032088f, 0.024549f, 0.082490f, 0.066845f, -0.025721f, -0.062737f, -0.079553f, -0.056218f, -0.007302f, 0.020195f, 0.074187f, 0.041749f, -0.014603f, 0.037377f, -0.055033f, -0.021546f, -0.124660f, -0.022521f, 0.124081f, 0.092480f, -0.018526f, 0.246957f, 0.079091f, 0.004059f, -0.136443f, -0.026866f, -0.011144f, -0.035921f, 0.035602f, 0.015381f, 0.030217f, 0.048078f, -0.111364f, -0.125287f, -0.060119f, -0.086542f, -0.011278f, 0.021727f, 0.101387f, -0.067012f, 0.036991f, 0.150429f, 0.078497f, 0.019056f, 0.043318f, 0.022306f, -0.097151f, -0.169753f, 0.076873f, -0.054703f, 0.025924f, -0.038273f, -0.166066f, -0.039601f, 0.091417f, 0.176217f, 0.154474f, 0.372419f, 0.193796f, 0.131382f, 0.114717f, 0.051561f, -0.023152f, -0.190428f, -0.239351f, -0.355352f, -0.273442f, -0.279996f, -0.108946f, -0.001564f, 0.102428f, 0.194305f, 0.158826f, 0.164775f, 0.111487f, 0.154413f, 0.119015f, 0.170990f, 0.078036f, 0.060482f, 0.025259f, -0.050579f, -0.076005f, -0.112286f, -0.071410f, -0.237476f, -0.105280f, -0.225653f, -0.166083f, -0.257841f, -0.157757f, -0.241150f, + -0.092429f, -0.124329f, -0.048069f, 0.008284f, 0.106964f, 0.299794f, 0.283119f, 0.402590f, 0.266839f, 0.178844f, 0.233685f, 0.325540f, 0.282507f, 0.235893f, 0.157570f, 0.005045f, -0.188363f, -0.185945f, -0.229439f, -0.416584f, -0.461417f, -0.499383f, -0.502732f, -0.548466f, -0.482376f, -0.410324f, -0.370721f, -0.253221f, -0.015646f, 0.207463f, 0.383357f, 0.519828f, 0.649420f, 0.721260f, 0.460142f, 0.396603f, 0.104326f, -0.042561f, -0.032024f}, + {-0.011786f, 0.000611f, -0.009485f, -0.003189f, 0.004308f, 0.002622f, 0.006006f, -0.007800f, 0.004362f, -0.001018f, -0.007320f, 0.008648f, -0.004126f, -0.001790f, -0.005930f, -0.004928f, 0.005874f, -0.005754f, 0.003214f, 0.008122f, -0.000781f, 0.004544f, -0.002647f, 0.000149f, 0.003770f, -0.001088f, 0.007811f, -0.000324f, -0.011994f, -0.000271f, 0.001971f, 0.005270f, -0.005409f, 0.000867f, 0.001731f, -0.001060f, 0.005194f, -0.000944f, 0.007245f, 0.006432f, -0.004064f, -0.000427f, 0.006543f, -0.013184f, -0.007455f, 0.002872f, -0.006690f, -0.001501f, 0.002754f, -0.000031f, 0.007975f, 0.008822f, 0.002034f, 0.003727f, 0.004533f, 0.004713f, -0.001392f, 0.001315f, 0.004308f, 0.005789f, 0.000824f, -0.003972f, -0.007476f, -0.004885f, -0.000156f, -0.000803f, -0.000614f, -0.010294f, 0.009371f, -0.002942f, 0.001328f, -0.003240f, -0.006296f, 0.003120f, -0.001266f, 0.003555f, 0.024097f, 0.001053f, 0.004067f, 0.003340f, -0.009806f, -0.005118f, 0.013335f, 0.023166f, 0.003733f, 0.012311f, -0.005036f, 0.002275f, -0.000666f, 0.010397f, -0.008332f, -0.019014f, 0.007615f, 0.008763f, -0.011084f, 0.012689f, + 0.006246f, 0.011554f, 0.003631f, 0.002645f, -0.005169f, -0.001777f, 0.000532f, 0.007625f, 0.000619f, -0.011887f, 0.000426f, -0.001134f, 0.002439f, -0.001832f, 0.001985f, 0.002597f, 0.006875f, 0.004837f, 0.001553f, 0.001939f, 0.000573f, 0.003162f, -0.003735f, -0.006126f, -0.013111f, 0.002207f, 0.002718f, 0.000730f, 0.009803f, -0.003864f, 0.007583f, 0.001771f, -0.003233f, -0.006519f, -0.004119f, 0.013514f, 0.002831f, 0.007330f, 0.001143f, 0.002592f, -0.002825f, -0.000031f, 0.000785f, 0.003460f, -0.001345f, -0.005777f, -0.002940f, -0.011440f, 0.001084f, 0.001411f, 0.009144f, -0.003751f, 0.007000f, -0.002140f, 0.004611f, 0.008682f, 0.008863f, 0.003694f, 0.003770f, 0.004470f, 0.005946f, 0.008193f, -0.003427f, 0.008514f, 0.000348f, 0.009117f, -0.001797f, 0.016412f, 0.005906f, 0.005277f, -0.011086f, -0.001806f, -0.002318f, -0.014962f, 0.008316f, 0.006589f, -0.004406f, -0.019523f, -0.008546f, -0.003096f, 0.009670f, 0.012769f, 0.008422f, -0.005357f, 0.003017f, -0.008454f, 0.000644f, 0.000560f, -0.006496f, -0.003506f, -0.017233f, 0.001307f, -0.001948f, -0.007440f, 0.001002f, 0.000902f, + -0.002131f, -0.000643f, 0.016967f, -0.004092f, 0.013860f, 0.002606f, -0.010307f, 0.000759f, 0.001245f, 0.007669f, -0.003226f, 0.002212f, 0.002024f, 0.000663f, 0.010635f, 0.003740f, 0.010903f, 0.008048f, -0.005320f, 0.009997f, 0.004920f, 0.007433f, 0.000817f, 0.002720f, -0.002380f, -0.004146f, -0.008731f, -0.010216f, 0.011362f, -0.010442f, -0.008727f, -0.008205f, 0.005106f, 0.006321f, 0.001752f, -0.015109f, -0.013983f, 0.002986f, 0.000314f, -0.003072f, 0.008436f, -0.001139f, -0.001427f, 0.008684f, -0.009563f, 0.001847f, -0.008343f, -0.005461f, -0.002988f, 0.000059f, 0.014283f, 0.016148f, -0.007479f, 0.006307f, -0.011618f, -0.001147f, -0.004526f, 0.015688f, -0.004611f, -0.000922f, 0.001683f, -0.022168f, -0.003814f, -0.010963f, -0.003567f, -0.002745f, 0.008283f, 0.010925f, 0.004524f, 0.014777f, -0.001861f, -0.006772f, -0.006807f, 0.008522f, 0.022254f, 0.015506f, -0.008634f, -0.010162f, 0.011148f, -0.009999f, 0.001929f, 0.003519f, 0.018234f, -0.006727f, -0.008946f, 0.001958f, -0.005543f, 0.003457f, 0.004657f, 0.011549f, -0.012663f, -0.008246f, 0.007437f, 0.013959f, -0.001292f, -0.006512f, + -0.008259f, -0.019788f, 0.007466f, -0.000051f, 0.005831f, 0.000916f, 0.000416f, -0.003106f, 0.003478f, -0.005024f, 0.002901f, 0.004342f, 0.003943f, -0.006823f, 0.004522f, -0.036655f, -0.012078f, -0.001935f, 0.006251f, 0.004209f, 0.009119f, -0.017503f, -0.005244f, -0.000789f, -0.018155f, -0.012966f, 0.004564f, 0.010990f, 0.006450f, 0.012128f, -0.001541f, 0.006971f, 0.016149f, 0.014252f, 0.013398f, 0.007728f, -0.005141f, -0.004091f, -0.008270f, -0.003657f, -0.008303f, 0.017243f, 0.008043f, -0.002625f, -0.007596f, -0.004633f, -0.007750f, -0.011327f, -0.012195f, -0.015359f, 0.009337f, 0.006677f, -0.017009f, 0.004061f, -0.000823f, 0.011827f, 0.001880f, 0.005846f, 0.007731f, -0.016092f, -0.002414f, -0.000541f, 0.002253f, 0.008529f, 0.012995f, -0.005086f, -0.001706f, -0.003705f, -0.009977f, 0.003205f, 0.002247f, -0.000981f, -0.002517f, 0.009853f, 0.000838f, -0.005277f, -0.001460f, 0.004749f, 0.006674f, -0.002378f, 0.000253f, 0.001785f, -0.008179f, 0.006725f, 0.000141f, -0.013100f, 0.002595f, -0.016033f, 0.004028f, 0.012160f, -0.001844f, -0.000770f, 0.019725f, 0.008003f, 0.003014f, -0.004600f, + 0.014450f, 0.006191f, 0.008015f, 0.023949f, 0.025085f, 0.001446f, -0.004476f, -0.008532f, -0.014163f, 0.005583f, 0.009728f, -0.004682f, -0.001349f, 0.001975f, -0.002730f, -0.007567f, 0.009238f, -0.008757f, 0.004108f, -0.026333f, -0.004174f, -0.005941f, -0.006821f, -0.012671f, -0.003051f, -0.001065f, -0.000064f, -0.006140f, -0.010007f, -0.006971f, 0.000805f, -0.004355f, -0.010594f, 0.006939f, 0.008622f, 0.001513f, -0.008736f, -0.008698f, 0.003238f, -0.006476f, 0.008114f, -0.009587f, 0.006489f, 0.003369f, -0.000398f, -0.013956f, -0.014096f, 0.004219f, -0.010300f, 0.017316f, 0.002602f, 0.014760f, -0.007386f, 0.014913f, 0.002332f, 0.010098f, 0.002633f, 0.009721f, -0.008124f, -0.009578f, -0.000691f, 0.019232f, -0.002262f, -0.010148f, -0.006942f, 0.009660f, -0.005719f, -0.004506f, 0.000777f, -0.016123f, 0.011372f, 0.019450f, -0.003587f, 0.029589f, 0.005278f, 0.016566f, -0.006885f, 0.012588f, 0.008229f, 0.019223f, -0.014348f, -0.009095f, -0.003759f, 0.001784f, 0.012561f, -0.005475f, 0.019392f, -0.000764f, 0.010763f, 0.010547f, -0.006195f, 0.004776f, 0.010920f, 0.011397f, 0.002133f, 0.003697f, + 0.009901f, -0.020927f, 0.002958f, 0.017544f, 0.012524f, -0.010947f, 0.014056f, -0.016505f, 0.009924f, -0.014456f, -0.008274f, -0.003206f, 0.015309f, -0.002439f, 0.016062f, 0.004510f, 0.003015f, 0.001648f, -0.001127f, 0.007420f, 0.009203f, 0.022522f, 0.002851f, 0.019570f, -0.009751f, 0.014558f, 0.017459f, 0.000340f, -0.003765f, -0.005564f, 0.006435f, -0.024765f, -0.002651f, 0.003522f, -0.010135f, -0.014244f, -0.001345f, 0.000086f, -0.002530f, 0.007836f, -0.016158f, 0.009095f, 0.006522f, 0.011187f, -0.025144f, 0.009787f, 0.005662f, -0.013336f, -0.001906f, 0.009433f, 0.018278f, -0.021782f, -0.002200f, 0.002688f, -0.025863f, -0.031346f, -0.025367f, -0.022605f, -0.000905f, 0.016250f, -0.033368f, 0.023891f, 0.015208f, -0.037115f, 0.023431f, 0.010227f, 0.007968f, 0.003976f, 0.003551f, 0.008745f, -0.005922f, -0.005783f, -0.012313f, -0.000032f, 0.014306f, 0.012468f, 0.007051f, -0.020895f, 0.014542f, -0.014805f, 0.000439f, -0.012948f, 0.016723f, -0.008394f, -0.006843f, 0.005741f, -0.024938f, 0.002999f, -0.008192f, -0.006948f, -0.002553f, 0.002354f, 0.024739f, -0.011005f, -0.003607f, -0.008729f, + 0.018897f, -0.010703f, -0.005922f, 0.006488f, 0.005870f, 0.006047f, 0.006897f, -0.006940f, 0.009338f, 0.003188f, -0.020165f, 0.029164f, 0.011622f, 0.005593f, 0.003397f, 0.000982f, -0.012627f, 0.017377f, 0.014119f, 0.007010f, 0.018779f, 0.003437f, 0.008753f, 0.019892f, 0.010186f, 0.005850f, -0.011448f, 0.017247f, -0.005259f, 0.031346f, -0.001481f, 0.004178f, -0.005711f, -0.025214f, 0.006350f, 0.019182f, 0.011663f, -0.001323f, -0.012384f, 0.030952f, 0.047077f, -0.005572f, -0.007576f, 0.023940f, 0.004704f, 0.008376f, 0.005189f, -0.033843f, 0.002814f, -0.021652f, 0.016855f, 0.026157f, -0.007735f, -0.011655f, 0.003090f, 0.016781f, -0.010794f, 0.020122f, -0.008791f, 0.038241f, -0.012175f, 0.007874f, -0.003052f, 0.010791f, 0.025567f, -0.009558f, 0.001360f, -0.001815f, 0.006433f, -0.009404f, -0.006165f, 0.015787f, 0.031479f, 0.003263f, 0.022619f, -0.008411f, 0.001809f, -0.004035f, 0.006461f, 0.018085f, 0.024619f, 0.020937f, 0.017747f, 0.020680f, 0.011023f, -0.003230f, 0.001279f, -0.002326f, -0.001416f, 0.004467f, -0.015150f, -0.003333f, 0.019018f, -0.018129f, 0.005153f, -0.007720f, + -0.007289f, -0.009203f, -0.040843f, 0.004740f, 0.017995f, 0.013606f, -0.007741f, -0.017677f, -0.047479f, -0.006611f, 0.014135f, -0.003184f, 0.002532f, -0.013142f, 0.004300f, -0.011197f, -0.034064f, -0.025111f, 0.002326f, 0.016561f, -0.015890f, -0.008592f, 0.000872f, -0.006838f, -0.050408f, -0.041437f, 0.017538f, 0.018278f, 0.002141f, 0.003706f, -0.019076f, 0.029529f, 0.033433f, 0.022444f, -0.018723f, 0.017810f, 0.021635f, -0.002264f, -0.029614f, -0.011658f, 0.038677f, -0.010477f, 0.003044f, 0.003723f, 0.021337f, -0.016524f, -0.032730f, 0.008260f, 0.013718f, -0.006450f, 0.008460f, 0.022016f, -0.010895f, -0.006495f, -0.001822f, -0.042994f, -0.013754f, 0.016769f, -0.009324f, -0.028189f, 0.004499f, 0.000754f, -0.010224f, 0.007481f, -0.003688f, -0.026541f, -0.024758f, -0.040488f, -0.034397f, 0.008243f, 0.013858f, 0.003139f, -0.010957f, -0.012246f, -0.000605f, -0.007729f, 0.008008f, -0.018279f, -0.000337f, -0.005106f, -0.006929f, -0.004679f, -0.002988f, 0.010232f, -0.010466f, -0.037937f, 0.004669f, -0.003089f, 0.008384f, 0.014144f, -0.001122f, 0.011260f, 0.007016f, 0.016110f, 0.051713f, 0.045940f, + 0.035852f, -0.003919f, 0.035010f, 0.011269f, 0.048868f, 0.020598f, -0.001201f, 0.059601f, -0.012683f, -0.003390f, -0.038360f, -0.010352f, -0.001087f, -0.027215f, 0.015729f, 0.023604f, -0.008192f, -0.000791f, -0.022052f, -0.037594f, -0.022350f, -0.028837f, -0.008755f, -0.017698f, -0.005921f, -0.003362f, 0.016411f, 0.003579f, -0.004156f, -0.016077f, -0.005937f, -0.011059f, 0.004729f, -0.000522f, -0.015882f, 0.007014f, 0.009295f, 0.002917f, -0.012519f, -0.016512f, 0.004283f, 0.013000f, -0.002915f, -0.001823f, -0.028115f, 0.047383f, 0.007218f, -0.010738f, -0.002331f, 0.002767f, 0.019834f, 0.016065f, -0.019414f, 0.008579f, -0.008279f, 0.000347f, -0.004235f, -0.006618f, -0.029039f, -0.026985f, -0.034567f, 0.002817f, -0.002610f, -0.009416f, 0.019733f, -0.009164f, 0.057944f, -0.008448f, -0.004350f, -0.017278f, -0.007543f, -0.034154f, -0.042312f, -0.027570f, 0.036054f, 0.023744f, -0.020296f, -0.026293f, 0.038534f, 0.019122f, -0.019959f, -0.033460f, -0.002365f, 0.002768f, 0.006164f, 0.001901f, -0.015290f, 0.016427f, -0.010672f, 0.034537f, -0.002933f, -0.028416f, 0.008897f, 0.007068f, 0.002654f, 0.000460f, + -0.008534f, -0.019251f, 0.002020f, 0.012711f, -0.006212f, 0.009149f, -0.015129f, -0.050836f, -0.036301f, 0.022692f, -0.027539f, 0.022366f, 0.010382f, 0.000660f, -0.007000f, 0.012259f, 0.007955f, -0.006020f, -0.003649f, 0.004615f, 0.018255f, -0.015481f, 0.044641f, -0.012486f, 0.017455f, -0.014488f, 0.007340f, -0.005556f, -0.012290f, 0.037624f, -0.027121f, 0.041132f, 0.002486f, -0.023474f, -0.028451f, 0.014695f, 0.010176f, 0.003456f, 0.006410f, 0.015625f, 0.016436f, 0.014027f, -0.028718f, -0.011992f, 0.005989f, -0.001242f, 0.013776f, -0.026974f, -0.006931f, -0.009560f, 0.000553f, -0.031806f, -0.004327f, 0.007464f, 0.075989f, 0.026501f, -0.017967f, 0.040353f, 0.035945f, -0.018127f, -0.025032f, 0.060252f, -0.006114f, 0.013956f, -0.035986f, 0.087316f, 0.002250f, -0.023280f, 0.011792f, 0.005244f, 0.041223f, 0.001656f, 0.052272f, -0.037145f, 0.000124f, -0.040655f, 0.002536f, 0.030191f, 0.000713f, -0.024534f, 0.035497f, 0.020264f, 0.010044f, 0.009659f, -0.013188f, -0.011209f, 0.002757f, -0.017068f, 0.023154f, -0.020114f, -0.028571f, 0.025799f, 0.008992f, -0.031636f, 0.017346f, 0.003123f, + -0.024024f, -0.012323f, -0.008180f, 0.013443f, -0.002990f, -0.013316f, 0.017302f, -0.020117f, -0.008393f, -0.006273f, 0.029220f, -0.018193f, 0.014269f, 0.023326f, 0.010677f, -0.012326f, -0.026774f, 0.018162f, -0.022643f, 0.032356f, -0.038809f, 0.053147f, -0.014352f, -0.006635f, -0.005962f, 0.024438f, 0.000188f, 0.009053f, 0.016715f, 0.008618f, 0.023465f, -0.020541f, -0.033410f, -0.001347f, -0.003588f, -0.046223f, -0.005437f, 0.041745f, -0.012026f, -0.026494f, 0.011861f, -0.012602f, -0.002016f, 0.018743f, -0.045403f, -0.027135f, 0.017880f, 0.023153f, 0.032254f, -0.002612f, -0.005822f, 0.012546f, -0.002869f, -0.045501f, -0.030687f, 0.052688f, -0.003818f, -0.046911f, -0.026792f, -0.019142f, -0.015180f, 0.003872f, 0.015813f, 0.000377f, -0.007572f, -0.023700f, -0.035310f, 0.004261f, 0.004907f, -0.001790f, 0.029208f, -0.020388f, -0.055511f, 0.021975f, 0.016553f, -0.065686f, 0.039005f, -0.011207f, -0.032685f, -0.027794f, -0.002291f, 0.036238f, 0.009002f, -0.013093f, -0.013264f, 0.009680f, 0.019596f, -0.028350f, 0.021103f, 0.002345f, 0.015577f, -0.012980f, -0.028368f, 0.024061f, 0.000203f, 0.027020f, + -0.087908f, 0.009734f, 0.013718f, -0.014629f, 0.024596f, 0.026627f, 0.083833f, 0.000367f, -0.055076f, -0.027750f, -0.014178f, -0.056322f, -0.052277f, -0.000368f, -0.028334f, -0.001949f, -0.000338f, -0.036957f, 0.004665f, 0.025126f, 0.019635f, -0.032642f, 0.059175f, 0.043720f, -0.020973f, 0.026728f, -0.050651f, -0.009459f, -0.018007f, 0.079005f, 0.048125f, -0.017007f, -0.031173f, -0.034732f, -0.009649f, 0.003544f, 0.012622f, 0.053532f, 0.009417f, 0.010366f, 0.009576f, 0.002986f, -0.018867f, 0.003668f, -0.004990f, 0.025581f, 0.030582f, 0.042664f, 0.024889f, 0.019079f, -0.005888f, -0.005855f, 0.004624f, 0.038964f, 0.003942f, 0.008432f, -0.039806f, -0.017324f, 0.061796f, 0.027883f, 0.017081f, 0.002521f, 0.036071f, 0.022570f, 0.078349f, -0.002276f, 0.080764f, 0.008260f, -0.028226f, 0.029392f, -0.025000f, -0.014142f, -0.005612f, -0.012516f, -0.001898f, 0.018468f, 0.030265f, 0.009075f, -0.010263f, -0.032817f, 0.008326f, 0.006985f, 0.020303f, -0.024117f, 0.003521f, -0.007559f, -0.000287f, -0.030445f, 0.013154f, -0.024857f, -0.010260f, -0.034167f, -0.068044f, 0.010237f, -0.020413f, -0.030904f, + 0.009435f, -0.035418f, -0.000036f, 0.043247f, 0.013586f, 0.036951f, -0.042431f, -0.019322f, 0.021067f, 0.004651f, 0.061184f, -0.030547f, 0.036753f, -0.013315f, -0.018062f, -0.044884f, -0.017200f, -0.023833f, 0.030955f, 0.007749f, -0.039889f, 0.051372f, -0.025570f, -0.023645f, 0.005616f, 0.020544f, -0.014054f, 0.035910f, -0.016178f, -0.023462f, -0.011662f, 0.012607f, -0.003321f, -0.005672f, 0.004831f, 0.036031f, -0.022581f, 0.065110f, -0.023655f, 0.000378f, 0.060525f, -0.010635f, 0.011768f, -0.079507f, 0.005005f, 0.015850f, -0.016751f, 0.037128f, -0.063277f, -0.077806f, 0.031789f, -0.012473f, 0.045648f, -0.031076f, -0.029066f, 0.005294f, -0.008200f, 0.069295f, -0.006117f, -0.001156f, 0.017253f, -0.060628f, 0.005943f, -0.061179f, -0.022809f, 0.005914f, 0.017927f, -0.076634f, -0.032158f, -0.007088f, -0.000196f, 0.028512f, -0.029266f, 0.044092f, -0.009970f, -0.046145f, 0.037068f, -0.032236f, -0.012922f, 0.034739f, 0.070284f, -0.018011f, 0.057037f, 0.024161f, 0.012483f, -0.025093f, 0.063420f, 0.013202f, 0.027934f, 0.005646f, -0.042092f, 0.016889f, -0.042300f, -0.036304f, 0.021131f, -0.036206f, + -0.011608f, -0.006522f, 0.036088f, 0.005895f, -0.016554f, 0.015223f, 0.014134f, -0.005708f, -0.040569f, -0.006364f, 0.025079f, 0.071465f, 0.012400f, -0.036755f, 0.000690f, -0.005338f, 0.012928f, 0.023072f, 0.031359f, -0.013520f, -0.002978f, 0.024609f, 0.001384f, 0.000613f, 0.042359f, 0.043495f, 0.045784f, 0.018752f, 0.037756f, 0.007179f, 0.020933f, -0.018374f, -0.007764f, 0.006709f, -0.043252f, 0.003908f, 0.061369f, -0.007600f, -0.018978f, 0.014364f, -0.005661f, 0.017911f, -0.044001f, 0.051715f, -0.037487f, -0.015165f, -0.013995f, 0.001407f, 0.000863f, 0.004547f, -0.062426f, 0.068451f, -0.021179f, -0.028900f, -0.014139f, 0.116010f, -0.005342f, 0.022027f, 0.000597f, -0.013607f, 0.004923f, -0.055878f, -0.021587f, -0.018199f, 0.022789f, 0.013631f, 0.028274f, 0.001608f, -0.026922f, 0.028569f, -0.022589f, 0.033176f, 0.027178f, -0.029350f, -0.028219f, 0.002216f, 0.044073f, -0.044693f, 0.019968f, 0.018678f, -0.022945f, 0.009750f, -0.001347f, 0.013882f, -0.000044f, -0.064456f, 0.037364f, 0.020578f, -0.051337f, 0.063090f, -0.032104f, -0.009342f, -0.019095f, 0.050753f, -0.008257f, -0.045236f, + 0.001985f, -0.000403f, 0.044991f, 0.042570f, 0.005046f, -0.034640f, 0.051100f, -0.008871f, 0.010893f, -0.062970f, 0.051162f, 0.019009f, 0.005337f, -0.036462f, -0.024495f, -0.004628f, 0.019554f, -0.029409f, -0.048460f, -0.022540f, 0.043195f, 0.024286f, -0.003006f, 0.064843f, 0.007100f, -0.011379f, -0.043816f, 0.057104f, -0.049876f, -0.018214f, 0.063625f, 0.017559f, 0.013296f, -0.024079f, 0.017038f, 0.052636f, -0.044819f, -0.000774f, -0.050404f, 0.047132f, 0.079541f, 0.033626f, 0.046336f, -0.069485f, -0.057515f, -0.049284f, 0.007076f, 0.081388f, -0.012859f, 0.028979f, 0.056926f, 0.025331f, -0.027269f, -0.000200f, 0.042401f, -0.053091f, -0.039893f, -0.038602f, 0.044435f, 0.027044f, -0.050630f, -0.077571f, 0.105695f, 0.061455f, -0.070083f, 0.031310f, -0.005357f, 0.028556f, 0.006540f, -0.023931f, -0.047450f, 0.044668f, 0.002245f, -0.039431f, -0.052819f, 0.012720f, 0.016918f, -0.015963f, 0.005353f, -0.006911f, -0.023852f, -0.013912f, -0.010527f, 0.024523f, -0.045144f, 0.052897f, -0.032831f, 0.000363f, 0.090505f, -0.084453f, -0.015107f, 0.076503f, 0.010821f, 0.016608f, -0.006233f, -0.026180f, + 0.030196f, -0.010843f, -0.028474f, 0.002654f, -0.072239f, 0.131354f, -0.006334f, -0.149047f, 0.062892f, 0.142681f, 0.093396f, -0.181899f, -0.043529f, 0.030383f, 0.022695f, -0.033068f, -0.027327f, -0.036189f, 0.007435f, 0.037414f, 0.084175f, -0.035099f, 0.026436f, -0.044631f, -0.121363f, 0.065115f, -0.031870f, -0.065240f, -0.047262f, -0.066851f, 0.030143f, 0.022346f, -0.092276f, 0.057741f, -0.033702f, -0.002555f, -0.003533f, -0.046713f, 0.033101f, 0.034944f, 0.028614f, -0.003747f, 0.038119f, 0.020481f, -0.027942f, 0.001127f, -0.054632f, -0.019948f, -0.049006f, -0.033339f, -0.005823f, 0.072381f, -0.065682f, -0.015184f, -0.017309f, -0.057673f, 0.028363f, -0.065022f, 0.028047f, 0.025403f, -0.047072f, 0.030496f, -0.073113f, 0.016320f, -0.064448f, 0.034899f, -0.027590f, -0.035366f, -0.038181f, -0.052767f, -0.018999f, 0.019559f, 0.035896f, -0.054412f, 0.026163f, 0.012553f, 0.044296f, 0.056721f, 0.029078f, -0.059675f, -0.032465f, -0.106751f, -0.033653f, -0.037689f, 0.023419f, -0.125494f, -0.032157f, -0.080373f, -0.017337f, 0.054826f, 0.050430f, 0.024709f, -0.000414f, 0.071164f, -0.022843f, 0.017862f, + 0.102886f, -0.059163f, 0.035829f, 0.052755f, -0.026721f, 0.008508f, 0.014420f, -0.001908f, 0.047712f, 0.006698f, 0.033374f, -0.044077f, -0.011033f, 0.045785f, 0.002657f, -0.061300f, 0.038006f, -0.022148f, -0.025464f, -0.021043f, -0.010693f, -0.020469f, 0.020535f, 0.038355f, 0.012645f, -0.002299f, -0.022327f, 0.033680f, -0.013927f, -0.044293f, 0.035124f, -0.077340f, -0.024471f, -0.013161f, -0.021829f, 0.049592f, 0.046526f, 0.093977f, -0.030535f, 0.042034f, -0.005328f, 0.020643f, 0.055599f, -0.001276f, 0.002617f, -0.036684f, -0.128473f, 0.064616f, 0.008380f, -0.057616f, -0.044697f, 0.008580f, 0.029400f, -0.003467f, -0.038423f, 0.020396f, -0.039099f, 0.049476f, 0.024051f, -0.019352f, -0.045732f, 0.087511f, 0.007698f, 0.005133f, -0.009212f, 0.011898f, 0.005529f, 0.002847f, -0.028687f, -0.063521f, 0.018812f, -0.012728f, -0.017595f, -0.063207f, -0.001795f, -0.007637f, 0.006688f, 0.118201f, 0.061366f, 0.118946f, -0.109770f, 0.008847f, 0.058155f, -0.022982f, 0.066143f, 0.125549f, 0.070011f, 0.003325f, -0.033286f, -0.035780f, 0.007281f, 0.054018f, 0.059334f, 0.012615f, 0.000595f, -0.087833f, + -0.017214f, 0.085234f, 0.029179f, -0.024666f, 0.048213f, -0.041075f, -0.055724f, -0.016213f, -0.003010f, 0.065738f, 0.087537f, 0.077253f, 0.030305f, -0.030927f, -0.045687f, -0.086897f, -0.084927f, 0.073933f, 0.032082f, 0.005398f, 0.116063f, 0.006258f, -0.034519f, -0.047912f, -0.047150f, 0.022569f, 0.050036f, 0.038438f, 0.076402f, 0.004590f, 0.055191f, -0.004370f, -0.009008f, 0.026734f, 0.051141f, 0.035988f, 0.032763f, -0.029651f, -0.010163f, -0.023640f, -0.050412f, -0.041996f, -0.073835f, -0.026089f, 0.020533f, -0.013535f, 0.054633f, 0.063620f, -0.000794f, -0.001202f, -0.026721f, -0.049908f, 0.009148f, 0.059830f, -0.005761f, -0.062688f, -0.123549f, 0.049193f, 0.200621f, 0.204945f, 0.172741f, 0.126082f, -0.077351f, -0.087251f, -0.095208f, -0.125685f, -0.193741f, -0.155065f, -0.135389f, 0.064278f, 0.146196f, 0.109821f, 0.234984f, 0.182732f, 0.095140f, -0.033197f, -0.062402f, -0.155804f, -0.122128f, -0.119892f, -0.023864f, -0.072565f, -0.059442f, 0.020322f, 0.034318f, 0.068809f, 0.068135f, 0.094016f, 0.092349f, 0.119771f, 0.070067f, 0.032968f, -0.015024f, -0.016602f, -0.049288f, -0.074528f, + -0.091667f, -0.111388f, -0.072686f, -0.137373f, -0.091220f, -0.066462f, 0.073878f, 0.138549f, 0.148050f, 0.104857f, 0.071973f, 0.111981f, 0.085895f, 0.108134f, 0.085177f, 0.034433f, -0.032835f, -0.172577f, -0.121056f, -0.121803f, -0.194141f, -0.117540f, -0.101528f, -0.096350f, 0.047000f, 0.117100f, 0.178948f, 0.151525f, 0.210577f, 0.192999f, 0.189073f, 0.142429f, -0.048636f, -0.037680f, -0.112274f, -0.148170f, -0.128450f, -0.021449f, -0.012368f} + }, + { + {-0.011821f, -0.009289f, 0.002235f, -0.005330f, 0.008560f, -0.008721f, 0.003563f, -0.015997f, -0.001212f, -0.006332f, -0.009951f, -0.008395f, -0.004922f, -0.000416f, -0.001885f, 0.010525f, -0.003240f, 0.002115f, -0.001371f, -0.000545f, -0.008767f, 0.010282f, 0.003148f, 0.001895f, 0.002729f, -0.002054f, -0.002282f, 0.002591f, 0.009847f, 0.004214f, -0.001937f, -0.000753f, -0.000286f, -0.002263f, 0.000206f, -0.001656f, -0.000913f, 0.000132f, 0.005559f, 0.000663f, -0.004346f, 0.003183f, -0.004656f, 0.013589f, -0.008261f, 0.001015f, -0.000142f, -0.010134f, -0.001549f, 0.004449f, -0.005701f, -0.002556f, -0.001859f, 0.006763f, -0.003683f, -0.002595f, -0.000416f, 0.000778f, 0.001455f, -0.001002f, -0.003304f, -0.007888f, 0.001485f, -0.004108f, -0.005891f, 0.001408f, 0.002223f, -0.000433f, 0.001597f, 0.003864f, 0.003939f, -0.000562f, 0.001468f, 0.000667f, 0.005101f, -0.005700f, -0.005621f, 0.005660f, 0.005951f, 0.011384f, -0.015779f, 0.002891f, 0.011378f, 0.019101f, -0.001546f, 0.010481f, 0.000114f, 0.009453f, 0.003017f, 0.014837f, 0.000263f, -0.005674f, 0.011002f, 0.014182f, 0.014631f, 0.007636f, + 0.002839f, -0.006396f, -0.003946f, 0.000716f, 0.007741f, -0.004329f, 0.003901f, 0.000194f, 0.008721f, -0.004644f, 0.000338f, 0.001329f, -0.009168f, -0.006373f, -0.002297f, -0.010887f, 0.003000f, -0.003602f, 0.000482f, -0.002125f, -0.007892f, 0.005835f, 0.010659f, -0.002849f, 0.001384f, 0.000155f, -0.001035f, 0.009920f, -0.012411f, -0.000839f, 0.005959f, 0.000626f, 0.002305f, -0.003951f, -0.010164f, -0.003599f, 0.004789f, 0.004080f, 0.006116f, -0.001869f, 0.000818f, -0.000847f, 0.002826f, -0.002779f, 0.011935f, -0.000676f, -0.000294f, -0.008428f, 0.001736f, -0.006404f, -0.003282f, 0.003223f, 0.005732f, 0.010206f, 0.001461f, 0.009584f, 0.012896f, 0.021006f, 0.002780f, 0.010485f, -0.003806f, 0.006255f, 0.008084f, -0.002426f, -0.006490f, 0.011065f, 0.018970f, -0.003640f, 0.002123f, 0.007422f, -0.009051f, 0.005746f, 0.008132f, -0.016474f, 0.004710f, 0.001729f, -0.003671f, 0.000120f, -0.017192f, 0.000829f, 0.004916f, -0.008073f, 0.001611f, 0.000432f, 0.011162f, 0.008049f, -0.004034f, -0.001022f, -0.000919f, -0.011585f, -0.007756f, 0.001469f, 0.004909f, 0.001249f, 0.005453f, -0.007570f, + 0.001368f, 0.004083f, 0.001016f, -0.006973f, -0.005028f, -0.001367f, 0.002759f, 0.006054f, 0.006296f, 0.004263f, 0.007330f, 0.007139f, -0.007379f, -0.002081f, 0.000681f, 0.010067f, -0.001083f, 0.007324f, -0.004165f, -0.004439f, -0.000984f, -0.008424f, -0.003505f, 0.002183f, 0.005736f, -0.007079f, 0.008026f, -0.001620f, -0.001403f, -0.000960f, -0.002059f, -0.003217f, 0.002602f, 0.006383f, 0.003481f, 0.010401f, -0.011014f, -0.002715f, -0.002016f, -0.006023f, 0.002154f, 0.012538f, 0.016802f, 0.010345f, -0.004714f, 0.007751f, -0.004898f, -0.002659f, -0.015100f, -0.011336f, 0.004899f, 0.011620f, 0.010607f, 0.011838f, 0.002153f, 0.000981f, 0.006698f, -0.009118f, 0.009120f, 0.008082f, 0.000294f, 0.006992f, 0.016615f, 0.011948f, 0.002820f, -0.011888f, -0.000078f, 0.004472f, 0.002203f, 0.002377f, -0.013861f, 0.003569f, 0.002017f, 0.009336f, 0.009451f, -0.002757f, 0.005898f, -0.004467f, -0.005832f, 0.007577f, 0.003610f, -0.012479f, -0.012647f, -0.004958f, -0.007333f, -0.004714f, -0.005939f, -0.014461f, -0.013952f, -0.000836f, 0.004307f, 0.000301f, -0.001970f, -0.009600f, 0.000764f, 0.012273f, + -0.003915f, -0.003325f, 0.003867f, 0.000419f, 0.007961f, 0.004782f, 0.003744f, -0.005033f, -0.007495f, 0.013291f, 0.005152f, -0.004484f, 0.007710f, -0.000404f, 0.005890f, -0.004676f, 0.000561f, -0.023734f, -0.013996f, -0.004360f, 0.004490f, -0.009770f, 0.002976f, -0.002657f, 0.006827f, -0.001634f, -0.013304f, -0.010548f, 0.009194f, 0.007562f, 0.019024f, 0.016840f, -0.002557f, 0.012198f, -0.018296f, -0.002931f, 0.014219f, 0.004336f, 0.003298f, -0.001819f, -0.005976f, -0.002725f, 0.001968f, -0.001563f, -0.000554f, 0.007273f, -0.008968f, 0.002085f, 0.003262f, -0.000123f, 0.005665f, -0.006063f, -0.005050f, 0.003371f, -0.003927f, 0.005187f, -0.010021f, 0.001800f, -0.006018f, -0.002218f, -0.006703f, -0.004853f, -0.007614f, -0.011115f, 0.006934f, 0.000131f, 0.011818f, -0.010818f, -0.009448f, 0.000176f, 0.002273f, -0.001014f, -0.002257f, 0.001100f, 0.007132f, 0.003768f, 0.001554f, -0.004448f, -0.004659f, -0.002187f, -0.008784f, 0.001951f, -0.002233f, 0.001680f, -0.000342f, -0.008722f, -0.000690f, 0.000205f, -0.009893f, 0.001516f, -0.001619f, 0.002912f, -0.001131f, -0.007970f, 0.008048f, -0.012487f, + 0.004950f, -0.013994f, -0.002701f, 0.000961f, -0.010754f, 0.010163f, 0.007324f, -0.020925f, -0.002383f, 0.003802f, -0.002204f, -0.009028f, -0.012673f, 0.002791f, -0.006514f, -0.010108f, -0.005369f, 0.006345f, 0.005152f, 0.015233f, 0.019243f, -0.001487f, 0.017156f, -0.010498f, 0.006557f, 0.007811f, -0.001871f, 0.007694f, -0.004625f, 0.000365f, -0.001479f, -0.003395f, -0.002218f, -0.003826f, 0.014181f, -0.000615f, -0.011214f, -0.002389f, 0.006899f, 0.004731f, 0.005429f, 0.001367f, -0.005474f, 0.010836f, 0.021236f, 0.001563f, 0.001757f, 0.001487f, -0.002048f, 0.003654f, -0.001900f, 0.012607f, -0.009915f, 0.012079f, 0.007744f, -0.007264f, 0.003392f, 0.007980f, 0.004814f, -0.008723f, -0.010220f, -0.018978f, -0.003599f, -0.001483f, 0.002030f, 0.007833f, -0.002185f, 0.005274f, -0.001927f, -0.004657f, -0.005238f, 0.010492f, -0.002065f, 0.011136f, -0.014188f, -0.000266f, 0.006067f, 0.001973f, 0.000720f, 0.007000f, 0.022276f, 0.025212f, -0.006305f, -0.001184f, 0.005796f, -0.004512f, 0.017036f, 0.015650f, -0.009940f, 0.015302f, 0.012847f, 0.004140f, 0.007551f, 0.005784f, 0.003573f, -0.002156f, + 0.001385f, 0.001362f, -0.008615f, -0.011597f, 0.003002f, -0.003863f, 0.000014f, 0.000989f, -0.009408f, 0.008710f, 0.019408f, -0.001544f, -0.011512f, 0.017907f, 0.002344f, -0.000430f, 0.007435f, -0.004362f, -0.005666f, 0.001664f, -0.007130f, 0.001713f, 0.019227f, 0.007099f, -0.000222f, 0.005689f, 0.010374f, 0.025965f, -0.004583f, 0.010448f, -0.002496f, -0.013175f, 0.007591f, -0.000690f, -0.004145f, 0.003903f, 0.016450f, 0.002774f, 0.002707f, -0.001816f, 0.006401f, 0.022450f, 0.010499f, 0.001299f, 0.002124f, 0.004549f, -0.007281f, 0.010443f, -0.003520f, -0.025825f, 0.002571f, -0.004652f, 0.014068f, 0.014699f, 0.007154f, 0.000381f, -0.027962f, -0.004400f, -0.011206f, -0.015699f, -0.002715f, -0.011512f, 0.001649f, 0.007826f, -0.012506f, 0.013050f, -0.029063f, 0.003195f, -0.007777f, -0.017203f, -0.020443f, 0.021475f, 0.012449f, 0.000367f, -0.017970f, -0.013609f, 0.008347f, -0.025953f, -0.016198f, 0.004838f, 0.006486f, 0.024207f, -0.002075f, 0.001048f, 0.019932f, -0.012188f, 0.019603f, 0.005264f, 0.007953f, -0.004626f, -0.009861f, -0.002333f, 0.016531f, -0.009293f, 0.002518f, 0.018207f, + -0.005807f, -0.006696f, -0.008096f, -0.012448f, -0.008670f, -0.008428f, -0.014332f, -0.002922f, 0.005861f, -0.006346f, 0.004601f, -0.006119f, -0.006779f, 0.009771f, -0.012713f, 0.007380f, -0.010652f, -0.015929f, 0.001834f, 0.011135f, 0.001882f, -0.004808f, 0.005904f, -0.011088f, -0.003986f, -0.015129f, -0.023798f, -0.013028f, 0.004441f, -0.008964f, 0.029164f, 0.009602f, -0.018861f, -0.011908f, -0.001765f, 0.031921f, 0.020074f, 0.021975f, -0.006744f, -0.030232f, -0.002905f, -0.015295f, 0.003463f, 0.007187f, 0.016007f, -0.007352f, 0.006749f, -0.012216f, 0.001666f, -0.010734f, -0.028966f, -0.014995f, 0.010409f, -0.010034f, -0.023058f, -0.020869f, -0.020222f, -0.030468f, 0.003342f, -0.010450f, -0.023949f, -0.020771f, 0.003211f, 0.030002f, -0.004461f, -0.004626f, -0.010416f, -0.017672f, 0.003218f, -0.006847f, 0.001474f, -0.022139f, 0.000937f, -0.023081f, 0.002768f, -0.001610f, 0.012068f, 0.010019f, 0.009963f, 0.005651f, -0.001380f, 0.008949f, -0.006232f, 0.017337f, 0.004311f, 0.008893f, 0.004695f, -0.005350f, 0.005593f, 0.017433f, -0.002735f, 0.009824f, -0.002930f, 0.027260f, 0.003001f, 0.010352f, + 0.000839f, -0.015004f, -0.012096f, 0.000691f, -0.005868f, 0.003644f, -0.004428f, 0.009106f, 0.007469f, 0.010570f, -0.005383f, 0.006136f, -0.021513f, 0.011406f, 0.029068f, -0.015209f, -0.044123f, -0.007275f, -0.015382f, -0.023173f, 0.012542f, -0.044254f, -0.005694f, -0.015678f, -0.008512f, 0.012906f, -0.014017f, 0.018875f, 0.016278f, 0.002724f, 0.014711f, 0.001461f, 0.007861f, -0.011363f, -0.020213f, -0.022238f, -0.012363f, -0.020340f, 0.016258f, 0.021272f, -0.000661f, -0.010792f, 0.006333f, 0.006364f, -0.007448f, 0.001876f, -0.034738f, -0.018182f, 0.016645f, -0.008553f, 0.000844f, 0.016410f, -0.001120f, 0.010341f, 0.008898f, -0.004086f, 0.010153f, 0.000397f, -0.018187f, 0.021353f, -0.014088f, 0.001591f, 0.001728f, -0.010848f, 0.008271f, 0.013083f, -0.006640f, 0.014904f, 0.002327f, -0.000317f, -0.012159f, 0.016865f, 0.000780f, -0.012044f, -0.003342f, -0.024973f, -0.009848f, -0.013723f, -0.000705f, 0.019103f, 0.006479f, -0.000316f, 0.001808f, -0.015241f, 0.005549f, 0.014775f, -0.014828f, 0.003208f, 0.028724f, -0.007781f, 0.006580f, 0.007536f, 0.077761f, 0.018371f, -0.011109f, -0.014856f, + -0.002315f, -0.004046f, 0.013168f, -0.002135f, 0.011038f, 0.023288f, -0.009704f, 0.002152f, -0.015439f, -0.009038f, 0.004078f, -0.001340f, 0.010818f, -0.020907f, -0.013524f, 0.011560f, 0.021498f, 0.015773f, -0.001242f, 0.006462f, -0.005940f, -0.012000f, 0.009093f, 0.018568f, 0.017633f, 0.023192f, -0.018529f, -0.002895f, -0.010782f, -0.021003f, -0.003206f, 0.002649f, -0.005251f, 0.011848f, 0.013313f, 0.001556f, 0.006462f, -0.002381f, -0.024055f, -0.011268f, -0.032053f, -0.030583f, -0.009559f, 0.012692f, -0.004792f, -0.012399f, 0.027123f, 0.012283f, -0.001038f, -0.023307f, -0.001020f, -0.005590f, -0.017960f, 0.002608f, -0.007991f, -0.009248f, -0.024736f, -0.000503f, -0.008704f, -0.024737f, 0.000783f, 0.024441f, -0.013199f, -0.003114f, 0.009214f, -0.007734f, 0.006663f, -0.006799f, 0.020127f, 0.000968f, -0.011636f, -0.015237f, 0.018510f, -0.063125f, -0.034675f, 0.032133f, -0.007796f, 0.001220f, -0.016347f, 0.013477f, -0.005167f, -0.024975f, 0.012260f, 0.032399f, 0.004973f, -0.030195f, 0.008905f, -0.007377f, -0.006038f, 0.018171f, 0.020542f, -0.003755f, -0.003464f, 0.040928f, 0.009954f, -0.007157f, + -0.025287f, 0.010296f, -0.036528f, -0.031647f, -0.027612f, 0.010208f, -0.004862f, -0.004228f, 0.024564f, 0.008387f, -0.024130f, -0.021763f, 0.005696f, 0.022548f, 0.008494f, -0.004048f, 0.001652f, 0.014543f, -0.011225f, -0.027285f, 0.034025f, -0.011349f, 0.003701f, 0.012196f, 0.002264f, 0.003199f, 0.034875f, -0.000917f, 0.022221f, -0.000559f, -0.023249f, 0.001771f, 0.004980f, -0.006474f, 0.004407f, 0.014121f, -0.011848f, -0.005329f, 0.003942f, -0.047857f, 0.012086f, 0.007522f, -0.000405f, 0.009066f, 0.008483f, -0.019177f, 0.008033f, 0.060992f, 0.027287f, 0.013199f, 0.005168f, 0.012817f, -0.045683f, -0.042635f, 0.030248f, 0.030489f, 0.011075f, 0.016444f, -0.010617f, 0.049240f, -0.004883f, 0.018286f, 0.014096f, -0.023895f, -0.008420f, -0.011431f, 0.030181f, -0.018053f, -0.004282f, 0.017610f, 0.016549f, -0.017706f, -0.003459f, -0.049844f, 0.010376f, -0.006097f, -0.013231f, 0.003641f, 0.002563f, 0.003044f, 0.005778f, 0.016092f, 0.001963f, 0.017711f, 0.003479f, 0.008396f, -0.003376f, -0.016302f, -0.015531f, 0.031352f, -0.009928f, -0.023395f, -0.017950f, -0.009126f, -0.009207f, 0.013484f, + 0.010035f, 0.010362f, 0.015568f, 0.004007f, -0.015864f, 0.009827f, -0.026812f, -0.009391f, -0.023187f, 0.017042f, -0.028281f, -0.021462f, -0.004638f, -0.009976f, 0.010720f, 0.020348f, -0.014179f, 0.019317f, 0.033219f, 0.015955f, 0.032150f, -0.012123f, 0.042575f, 0.004385f, 0.036507f, 0.020311f, 0.006627f, -0.017231f, -0.043431f, -0.029766f, -0.022313f, -0.012727f, -0.010301f, 0.023467f, 0.011646f, -0.013003f, 0.038953f, 0.004662f, -0.038390f, 0.047961f, 0.003032f, -0.020072f, 0.016688f, -0.038931f, -0.007640f, -0.024686f, -0.007913f, -0.004147f, -0.007762f, -0.017560f, 0.004910f, -0.033580f, -0.013165f, -0.011926f, -0.045741f, 0.005837f, -0.033164f, -0.023267f, -0.037181f, 0.007748f, -0.028031f, -0.008181f, -0.009249f, 0.000589f, 0.014213f, -0.011120f, 0.020008f, 0.001307f, 0.026548f, -0.005881f, 0.023142f, 0.029214f, -0.034544f, -0.000267f, 0.009563f, 0.021494f, 0.001115f, 0.025781f, 0.008890f, 0.024848f, -0.000136f, -0.018640f, -0.011401f, -0.001649f, 0.016445f, -0.003538f, -0.006769f, -0.001503f, 0.030173f, 0.018702f, -0.006296f, -0.024331f, 0.008979f, 0.013324f, 0.010439f, 0.026070f, + -0.034016f, -0.026142f, -0.006208f, 0.002180f, -0.008496f, -0.000124f, -0.008480f, -0.022466f, 0.063372f, -0.031071f, -0.033133f, 0.025531f, 0.017574f, 0.005861f, -0.009146f, -0.009436f, 0.030097f, 0.023872f, 0.035780f, -0.011156f, -0.009959f, -0.049289f, 0.057640f, 0.027928f, -0.078742f, -0.040550f, 0.024152f, 0.035860f, 0.034095f, -0.021195f, -0.018964f, 0.043462f, 0.009257f, 0.010975f, 0.028527f, 0.024982f, -0.043801f, 0.014567f, 0.017447f, -0.001817f, 0.019637f, 0.005362f, -0.006217f, 0.005712f, -0.014697f, 0.073469f, 0.018170f, 0.010969f, -0.002631f, -0.007239f, -0.005483f, -0.039081f, 0.007178f, 0.013766f, -0.010249f, -0.011532f, -0.066688f, -0.029637f, 0.013172f, 0.013508f, -0.022338f, -0.019123f, -0.003672f, -0.029272f, 0.012303f, 0.013944f, -0.005311f, 0.015517f, 0.025262f, 0.003817f, -0.002190f, -0.005690f, -0.014826f, -0.001736f, 0.001330f, -0.045676f, -0.007619f, 0.014658f, 0.028364f, -0.049191f, 0.010140f, 0.022715f, -0.006065f, -0.020528f, -0.024854f, 0.044695f, 0.035957f, 0.000255f, -0.029675f, -0.036627f, 0.023895f, -0.017772f, 0.007060f, -0.014913f, -0.011791f, 0.001504f, + 0.016477f, 0.030697f, -0.056973f, -0.076012f, -0.051581f, -0.068053f, 0.059361f, -0.039664f, 0.024404f, -0.007194f, -0.046517f, 0.007901f, -0.011991f, -0.018157f, -0.060616f, -0.056871f, -0.041176f, -0.016572f, 0.003104f, -0.033095f, -0.008519f, 0.008133f, 0.027420f, 0.001642f, -0.015526f, -0.000371f, -0.016657f, 0.024995f, -0.030993f, 0.043787f, 0.039054f, -0.009480f, -0.011121f, -0.052742f, -0.029552f, -0.032189f, 0.004849f, 0.006741f, -0.007515f, 0.042537f, 0.013233f, 0.034454f, 0.007885f, -0.004319f, -0.014696f, 0.031023f, 0.022625f, 0.009626f, -0.030289f, 0.016649f, -0.051950f, -0.006038f, -0.004535f, -0.035294f, -0.004680f, 0.000383f, 0.041697f, 0.026854f, 0.001955f, 0.018781f, 0.000499f, -0.039911f, 0.021716f, 0.005800f, 0.034883f, -0.018620f, -0.036583f, 0.023483f, -0.066380f, -0.074160f, -0.008223f, -0.046777f, 0.001750f, -0.034132f, 0.030964f, -0.024030f, -0.003883f, 0.007543f, 0.010807f, 0.039993f, 0.011805f, -0.016333f, 0.040678f, 0.014273f, -0.072478f, 0.013002f, -0.043968f, -0.001778f, 0.006945f, -0.004702f, 0.033988f, -0.009156f, 0.005200f, 0.010188f, 0.001907f, -0.021575f, + 0.034523f, -0.019388f, -0.003152f, -0.040480f, -0.001218f, 0.008381f, -0.007787f, -0.013398f, -0.020340f, -0.020526f, 0.052974f, 0.003468f, 0.026873f, -0.046919f, 0.004287f, 0.000691f, 0.015408f, 0.030071f, -0.034293f, 0.060182f, 0.083679f, -0.002596f, 0.007079f, -0.028340f, 0.012488f, 0.020986f, -0.017439f, 0.005453f, 0.014944f, 0.034108f, -0.002055f, 0.003096f, -0.011128f, -0.027526f, -0.043850f, 0.022946f, -0.032988f, -0.012692f, -0.021710f, 0.010144f, 0.028600f, 0.026597f, -0.005177f, 0.010111f, -0.057853f, 0.038536f, -0.005643f, 0.007813f, -0.013107f, 0.036492f, 0.094165f, 0.027529f, 0.068333f, 0.022448f, -0.072294f, 0.029302f, 0.019400f, -0.023436f, 0.004303f, 0.046805f, 0.001458f, 0.044808f, 0.038681f, -0.045644f, 0.024731f, -0.045673f, -0.031804f, -0.003956f, 0.092003f, 0.028899f, -0.042543f, 0.039906f, 0.024715f, -0.050625f, -0.023265f, -0.003102f, 0.051106f, 0.008045f, -0.048258f, -0.026322f, -0.002302f, -0.012628f, 0.027960f, 0.041918f, -0.015892f, 0.036909f, -0.024433f, -0.031500f, -0.002015f, 0.075644f, 0.006063f, -0.042876f, 0.023626f, -0.001679f, -0.005296f, 0.021424f, + -0.050092f, -0.042053f, -0.041315f, 0.029852f, -0.027449f, 0.009863f, 0.011449f, 0.045355f, 0.021133f, 0.046614f, 0.003770f, -0.001663f, 0.036553f, 0.069611f, 0.039976f, -0.068206f, 0.000215f, 0.006965f, -0.012805f, 0.013494f, 0.017856f, -0.052701f, -0.009032f, 0.010611f, 0.008332f, -0.063085f, -0.060099f, -0.033925f, -0.035465f, 0.061194f, -0.036839f, 0.027837f, -0.072741f, 0.052983f, 0.057397f, 0.017077f, 0.062611f, -0.063904f, -0.032448f, -0.016515f, -0.093924f, 0.053648f, 0.004643f, 0.033673f, 0.042201f, 0.043022f, 0.002688f, -0.000078f, 0.042031f, -0.005445f, -0.050967f, -0.051101f, 0.031326f, -0.057859f, 0.057450f, -0.015150f, 0.012350f, 0.058787f, 0.051384f, -0.024439f, 0.078442f, -0.043983f, 0.004919f, -0.045731f, 0.007547f, -0.014445f, 0.030912f, 0.012366f, -0.033643f, 0.032104f, 0.045947f, 0.069406f, -0.038824f, 0.016524f, 0.041597f, -0.054636f, 0.002932f, -0.020520f, -0.081801f, -0.032915f, 0.022461f, -0.042555f, 0.016718f, -0.035148f, -0.000140f, 0.058297f, -0.025337f, 0.026599f, 0.064906f, 0.048945f, 0.018413f, 0.088491f, -0.130493f, -0.020868f, 0.046054f, -0.000630f, + 0.028079f, -0.035901f, -0.068450f, 0.092468f, 0.002495f, -0.036922f, 0.023679f, 0.063230f, 0.143346f, 0.062746f, -0.025184f, 0.013250f, 0.007725f, 0.066864f, -0.058379f, -0.008424f, -0.026352f, -0.039202f, 0.058868f, -0.024615f, 0.076388f, -0.010146f, -0.053597f, 0.085170f, 0.130317f, -0.021038f, -0.037559f, -0.064366f, 0.017736f, 0.064715f, 0.016458f, -0.017161f, -0.038975f, 0.007086f, 0.013209f, -0.012294f, 0.013726f, -0.008999f, -0.017373f, -0.024164f, 0.022901f, 0.024743f, 0.001344f, 0.034478f, -0.032662f, 0.073909f, 0.061672f, 0.030285f, 0.000919f, 0.001349f, 0.014794f, -0.044053f, -0.031746f, -0.042866f, -0.016716f, -0.014247f, 0.028874f, 0.018182f, 0.046152f, -0.023773f, -0.000461f, -0.021572f, 0.052281f, 0.089045f, -0.016964f, -0.063630f, -0.033227f, -0.006480f, -0.075309f, 0.058658f, -0.103902f, 0.027309f, 0.052897f, 0.043240f, -0.040942f, 0.006387f, 0.056103f, -0.116217f, -0.043966f, 0.017531f, -0.001806f, -0.061291f, -0.037136f, -0.012177f, -0.010008f, 0.076930f, -0.046431f, 0.013003f, 0.074812f, 0.001023f, -0.023655f, 0.060213f, 0.045194f, -0.013963f, -0.038238f, -0.061017f, + 0.012649f, 0.116341f, 0.027070f, 0.059043f, -0.004060f, 0.004016f, -0.003521f, -0.015082f, 0.001239f, 0.004126f, 0.029724f, 0.008127f, -0.021588f, 0.018273f, -0.018729f, -0.023306f, -0.023605f, -0.000709f, 0.024878f, 0.003771f, 0.020164f, 0.018873f, 0.017673f, -0.017926f, -0.027837f, 0.007836f, -0.018854f, -0.051996f, -0.013586f, 0.009997f, -0.016216f, 0.057559f, -0.059503f, 0.048076f, -0.014237f, -0.001215f, 0.074969f, -0.013151f, -0.000405f, 0.094213f, -0.013056f, -0.040776f, 0.008802f, -0.035257f, -0.005744f, -0.033466f, 0.108778f, -0.032190f, 0.027865f, -0.027742f, -0.009243f, -0.016834f, 0.020214f, -0.029210f, -0.062746f, 0.026418f, -0.004438f, -0.075312f, 0.041550f, -0.021932f, 0.044648f, 0.088090f, -0.040448f, -0.004313f, 0.002540f, -0.016418f, -0.035326f, -0.026018f, -0.000010f, 0.122409f, 0.062075f, 0.128368f, -0.072053f, -0.018829f, 0.042241f, -0.040408f, 0.030469f, 0.131868f, 0.031058f, 0.018762f, -0.035202f, -0.033279f, 0.037485f, -0.020502f, 0.053099f, -0.009333f, -0.012735f, -0.016144f, -0.076538f, 0.017625f, 0.090719f, -0.048993f, 0.054537f, 0.047384f, -0.031709f, -0.010191f, + 0.037152f, -0.061652f, 0.029345f, -0.005320f, 0.044756f, 0.014410f, -0.039103f, -0.013413f, -0.077621f, -0.040443f, 0.034489f, 0.025601f, 0.057932f, 0.091199f, 0.008336f, -0.000064f, -0.081895f, -0.050653f, -0.049711f, -0.041197f, 0.019055f, -0.034592f, -0.011467f, -0.009507f, 0.021755f, -0.063402f, -0.012347f, 0.029452f, 0.013726f, 0.048075f, -0.009641f, -0.026832f, 0.047126f, -0.011955f, 0.027386f, -0.041800f, -0.027117f, -0.009384f, -0.017088f, 0.020897f, 0.031899f, 0.047487f, 0.009269f, -0.000510f, -0.041986f, -0.015534f, -0.026204f, 0.036988f, -0.035805f, -0.123567f, 0.001216f, 0.204683f, 0.180550f, 0.174039f, 0.070851f, -0.070460f, -0.102888f, -0.097684f, -0.091350f, -0.161897f, -0.119132f, -0.111811f, 0.086984f, 0.138860f, 0.109507f, 0.179972f, 0.145922f, 0.034225f, -0.008177f, -0.060313f, -0.124702f, -0.070532f, -0.130873f, -0.067204f, -0.044470f, 0.004063f, -0.018279f, 0.036020f, 0.054858f, 0.098217f, 0.058829f, 0.103132f, 0.075101f, 0.082830f, 0.005692f, -0.061073f, -0.029937f, 0.006380f, -0.071215f, -0.089593f, -0.122044f, -0.115549f, -0.084911f, -0.007356f, 0.059969f, 0.028366f, + 0.087293f, 0.066355f, 0.099727f, 0.093306f, 0.097020f, 0.116765f, 0.061337f, -0.002642f, -0.016061f, -0.066330f, -0.057072f, -0.189320f, -0.153931f, -0.118465f, -0.094695f, 0.019268f, -0.038538f, 0.011386f, 0.139271f, 0.174940f, 0.232987f, 0.153988f, 0.094754f, 0.071368f, 0.025433f, -0.070837f, -0.062369f, -0.099481f, -0.125293f, -0.075830f, -0.015180f, 0.002158f}, + {-0.010810f, -0.006811f, -0.000989f, -0.010200f, 0.009038f, -0.008200f, -0.009842f, 0.004319f, -0.002893f, -0.002232f, 0.002619f, -0.011627f, -0.002391f, 0.008406f, -0.005828f, -0.002075f, -0.009107f, 0.002601f, -0.006785f, -0.012347f, 0.005112f, 0.002238f, 0.004337f, -0.004922f, -0.005999f, 0.006689f, 0.001904f, 0.007574f, 0.007870f, -0.008489f, 0.007689f, -0.002331f, -0.002324f, 0.005349f, -0.001267f, 0.004841f, 0.008338f, 0.007809f, 0.001499f, 0.003256f, 0.003019f, -0.006985f, -0.003389f, -0.002675f, 0.001304f, 0.006007f, -0.011659f, -0.002812f, -0.000631f, -0.000836f, -0.005339f, 0.000862f, 0.004790f, -0.006163f, 0.004184f, -0.004878f, -0.011781f, 0.002388f, 0.002310f, 0.001453f, -0.004615f, -0.001428f, -0.003060f, 0.005490f, -0.001448f, -0.000283f, 0.000244f, 0.003818f, 0.001239f, 0.002341f, 0.003210f, -0.008379f, -0.004403f, 0.004322f, -0.001007f, -0.002042f, 0.002106f, -0.002408f, 0.008340f, 0.009250f, 0.005064f, -0.003652f, -0.013989f, -0.012945f, 0.004746f, 0.007354f, -0.002659f, 0.013777f, -0.002601f, 0.008205f, -0.009741f, -0.008699f, 0.003858f, 0.000308f, -0.002466f, 0.003622f, + 0.009049f, -0.003929f, 0.001332f, -0.005148f, -0.000420f, 0.000457f, 0.003767f, 0.003403f, 0.004701f, 0.000752f, 0.002841f, 0.010231f, -0.003847f, -0.004792f, -0.005064f, -0.009271f, 0.002779f, -0.001941f, 0.017081f, 0.003314f, -0.001159f, 0.001357f, 0.010416f, -0.000922f, -0.002116f, -0.002589f, -0.005904f, -0.001063f, 0.008053f, -0.001164f, 0.003428f, 0.008066f, -0.002360f, -0.000504f, -0.012714f, -0.007484f, -0.011571f, -0.002202f, -0.003231f, 0.001842f, 0.000832f, 0.001816f, 0.004395f, -0.002673f, 0.002250f, 0.000293f, 0.001288f, 0.001975f, -0.004000f, 0.004269f, -0.001055f, -0.004623f, -0.000211f, -0.004600f, -0.000944f, 0.000931f, 0.009658f, 0.022437f, 0.009002f, 0.005229f, 0.006364f, -0.013350f, -0.001457f, 0.005608f, -0.001696f, 0.002127f, -0.011987f, 0.011770f, 0.016190f, 0.002663f, 0.007284f, -0.003503f, -0.009333f, -0.014722f, -0.015899f, -0.010751f, 0.012769f, -0.012086f, -0.007511f, -0.010249f, 0.003339f, 0.008297f, 0.001682f, 0.001014f, 0.004799f, -0.000607f, 0.003065f, 0.010245f, -0.001367f, 0.008493f, -0.008128f, 0.007734f, 0.005569f, 0.004864f, -0.004238f, -0.013568f, + -0.002765f, 0.007537f, 0.004645f, -0.003904f, -0.000354f, 0.002503f, -0.000471f, -0.006638f, -0.001259f, 0.005327f, -0.001782f, 0.000439f, -0.003093f, -0.000885f, 0.000510f, 0.001654f, 0.009599f, 0.003777f, -0.004732f, 0.000624f, 0.000922f, -0.003422f, 0.001880f, -0.004901f, -0.000380f, 0.007467f, 0.002697f, 0.008393f, -0.005934f, -0.005541f, -0.002883f, -0.001635f, 0.004756f, 0.009482f, -0.005138f, -0.007429f, 0.009025f, 0.001366f, -0.003666f, 0.004103f, -0.000869f, 0.006591f, 0.002794f, -0.007439f, -0.007011f, -0.007976f, -0.001267f, -0.006522f, -0.013692f, -0.013056f, 0.013402f, -0.000339f, 0.002789f, -0.000152f, 0.008137f, -0.012163f, 0.017934f, 0.015913f, 0.000765f, 0.000783f, -0.000047f, 0.000401f, -0.001856f, 0.006176f, 0.004779f, 0.000310f, -0.010336f, 0.004345f, -0.003284f, 0.004826f, -0.001544f, 0.010806f, -0.002670f, -0.006459f, -0.003016f, -0.001829f, 0.003892f, -0.000191f, 0.006583f, -0.010961f, 0.005664f, 0.001754f, -0.006203f, 0.016905f, -0.002914f, -0.002589f, -0.000581f, -0.000421f, -0.004736f, -0.001613f, 0.008837f, 0.007281f, -0.016261f, -0.007711f, 0.007814f, 0.002158f, + -0.004160f, 0.013715f, 0.000137f, 0.002924f, 0.013276f, 0.005456f, 0.010286f, 0.002836f, -0.004647f, -0.005782f, -0.011352f, -0.010615f, 0.000801f, 0.005363f, 0.012431f, 0.000381f, -0.006629f, -0.018256f, -0.006335f, -0.008894f, 0.008300f, -0.006082f, 0.005396f, -0.006576f, -0.002694f, 0.015439f, 0.007572f, -0.010289f, 0.004694f, 0.014724f, 0.002171f, -0.005196f, -0.010351f, -0.012468f, -0.008527f, -0.012536f, 0.008306f, 0.001865f, 0.004568f, -0.002425f, -0.005670f, -0.005996f, -0.011032f, 0.000552f, -0.000357f, 0.002599f, -0.002708f, -0.010042f, 0.000138f, 0.010690f, -0.002403f, 0.000110f, -0.005371f, -0.010687f, -0.015840f, -0.001369f, 0.011335f, 0.004133f, 0.001141f, -0.005359f, 0.001393f, -0.008569f, -0.002881f, -0.006443f, 0.000738f, 0.001469f, -0.009854f, 0.011036f, -0.006308f, 0.014043f, 0.005188f, 0.001362f, -0.006500f, -0.003308f, 0.003459f, -0.000760f, 0.003250f, 0.007578f, 0.001354f, 0.003044f, -0.008525f, 0.004985f, -0.004400f, 0.012961f, 0.015733f, 0.007397f, 0.010481f, 0.005063f, -0.001891f, -0.011158f, -0.007463f, 0.000862f, 0.008149f, 0.007656f, 0.006170f, -0.014787f, + 0.002000f, -0.015809f, -0.000005f, 0.002344f, 0.001528f, 0.007030f, 0.000774f, 0.001056f, 0.027906f, -0.003565f, -0.012239f, -0.013339f, 0.014046f, 0.009294f, -0.010494f, 0.002471f, -0.011712f, -0.005127f, 0.000450f, 0.013233f, -0.016457f, 0.004724f, -0.000589f, 0.002537f, -0.001205f, 0.016809f, -0.008691f, 0.004663f, -0.002592f, -0.004589f, 0.002623f, -0.000932f, 0.005122f, -0.005303f, -0.004753f, -0.014445f, 0.002294f, -0.004898f, -0.003031f, 0.000976f, -0.005019f, 0.004050f, -0.008026f, -0.004989f, -0.014159f, -0.000630f, -0.012569f, -0.005542f, -0.014960f, 0.010902f, 0.002298f, -0.004866f, 0.009827f, -0.011660f, -0.000033f, -0.021985f, -0.001149f, 0.007119f, -0.000584f, 0.006003f, 0.013775f, -0.005313f, -0.001963f, 0.016694f, 0.007231f, 0.006013f, 0.010449f, -0.006221f, -0.016071f, -0.002642f, -0.009762f, 0.005736f, 0.015491f, -0.004590f, 0.003808f, -0.001871f, 0.007720f, 0.009018f, 0.003059f, -0.005244f, 0.003679f, 0.002437f, 0.016754f, -0.002478f, -0.003838f, -0.022758f, -0.006670f, 0.017264f, 0.016551f, 0.010863f, 0.008263f, 0.024517f, 0.001255f, -0.029158f, -0.007760f, -0.004830f, + -0.007362f, 0.015597f, -0.002772f, -0.005651f, 0.017834f, 0.002838f, -0.007823f, -0.002611f, 0.006893f, -0.006470f, -0.002920f, 0.002176f, -0.002715f, -0.010229f, -0.005030f, -0.000548f, -0.010272f, -0.004591f, -0.004593f, 0.006763f, -0.005106f, 0.013106f, 0.012339f, 0.001114f, 0.011681f, 0.008426f, -0.006105f, -0.002055f, -0.004812f, -0.019178f, 0.001475f, 0.003704f, -0.018765f, -0.002833f, -0.005878f, 0.006202f, 0.015683f, 0.002220f, -0.017622f, 0.002136f, -0.007421f, -0.011634f, 0.008065f, -0.003033f, -0.013174f, 0.005002f, 0.003277f, 0.012770f, -0.002593f, -0.002168f, 0.007956f, 0.010968f, 0.010488f, -0.013630f, 0.006289f, 0.011398f, -0.029639f, 0.012152f, -0.003035f, -0.007118f, -0.005932f, 0.004807f, -0.002651f, -0.018060f, -0.018708f, 0.001947f, 0.029588f, 0.007737f, -0.021295f, 0.004437f, 0.017574f, -0.012984f, 0.002349f, -0.003610f, 0.010475f, -0.000525f, 0.009647f, 0.025278f, 0.018766f, 0.011211f, -0.000454f, -0.002649f, -0.011948f, -0.013296f, 0.005007f, -0.033932f, -0.005376f, 0.015229f, 0.001641f, -0.002300f, -0.016142f, -0.006336f, -0.000875f, -0.001390f, -0.007996f, -0.017216f, + 0.018249f, -0.007122f, -0.004367f, -0.003739f, -0.015659f, -0.018004f, -0.000938f, -0.009223f, 0.000749f, 0.007338f, 0.005775f, 0.006038f, -0.014226f, -0.004493f, -0.007339f, -0.005262f, 0.021283f, -0.003362f, -0.010812f, -0.000395f, 0.027321f, -0.016203f, 0.003770f, 0.019511f, -0.000436f, -0.006084f, -0.011674f, 0.004901f, -0.000170f, 0.013422f, -0.009582f, 0.011004f, 0.008528f, 0.017809f, 0.007614f, 0.016739f, 0.025107f, 0.014630f, 0.002973f, -0.005716f, -0.008762f, -0.020897f, -0.005453f, 0.013103f, -0.027374f, -0.011830f, 0.025872f, -0.035557f, -0.005863f, 0.019277f, 0.025197f, -0.002911f, -0.024279f, 0.003070f, -0.008965f, 0.032807f, 0.015231f, -0.023123f, -0.014130f, -0.003837f, -0.013517f, -0.028988f, -0.013800f, -0.013029f, -0.009828f, -0.023510f, 0.012233f, 0.003840f, 0.014897f, -0.009106f, -0.003722f, -0.020675f, -0.001524f, -0.017958f, 0.002418f, -0.012002f, 0.003185f, 0.005990f, -0.026780f, -0.009174f, -0.009834f, -0.007435f, 0.006482f, 0.005687f, -0.008147f, 0.026836f, -0.001159f, -0.007169f, -0.004469f, 0.002508f, -0.005740f, -0.002304f, 0.010629f, 0.008494f, 0.011830f, 0.014765f, + 0.014644f, 0.001095f, 0.009816f, -0.004494f, 0.021657f, 0.022517f, -0.010682f, -0.005881f, 0.014494f, -0.000417f, -0.033372f, 0.001463f, -0.016384f, 0.010221f, 0.012205f, -0.018070f, -0.023761f, -0.010364f, -0.022989f, -0.030721f, 0.021468f, 0.003058f, 0.011626f, -0.016602f, -0.019035f, -0.024194f, -0.017824f, 0.008573f, -0.019462f, -0.015833f, 0.021815f, -0.004845f, 0.000162f, 0.006335f, 0.012061f, -0.009246f, -0.008577f, 0.004591f, -0.007063f, 0.004395f, -0.002100f, -0.010367f, -0.022420f, -0.032748f, 0.010130f, -0.023280f, -0.023114f, 0.002019f, -0.006834f, -0.000692f, -0.013474f, 0.006495f, 0.005367f, -0.026519f, -0.001655f, -0.005140f, -0.011799f, -0.014346f, 0.007557f, 0.002741f, 0.026246f, 0.004162f, -0.016512f, -0.000047f, 0.001360f, 0.012208f, 0.003511f, 0.025203f, -0.003335f, -0.025466f, 0.010015f, -0.004641f, 0.010597f, -0.014810f, 0.002065f, 0.009968f, -0.048131f, -0.021150f, 0.015024f, -0.000367f, -0.006557f, 0.008283f, -0.003981f, 0.030655f, -0.002697f, 0.019916f, 0.014542f, -0.022556f, -0.029378f, 0.003167f, -0.031957f, 0.015735f, 0.065740f, -0.016363f, -0.043632f, -0.004133f, + -0.018854f, 0.047416f, 0.004095f, 0.026528f, 0.014864f, -0.008374f, -0.020541f, -0.009479f, -0.022380f, -0.005894f, 0.032633f, -0.035637f, 0.002165f, -0.029020f, 0.008607f, 0.002563f, 0.014975f, 0.003479f, -0.013158f, -0.023360f, -0.026642f, -0.004817f, -0.026062f, -0.020788f, 0.004436f, 0.006676f, 0.021106f, -0.018320f, -0.038016f, -0.007694f, -0.012410f, 0.005257f, -0.017145f, -0.011802f, 0.006966f, -0.009103f, -0.014157f, -0.000304f, 0.003196f, -0.007130f, 0.039718f, -0.006910f, -0.004563f, 0.010621f, 0.011768f, -0.010233f, -0.002878f, 0.029389f, 0.025727f, 0.016819f, 0.031971f, 0.024710f, 0.002436f, 0.011303f, 0.019486f, -0.010873f, -0.009009f, 0.005345f, 0.015251f, 0.021868f, 0.011500f, 0.042482f, 0.008175f, 0.029553f, -0.003376f, -0.012539f, -0.005120f, 0.060524f, 0.015934f, -0.003080f, 0.000381f, -0.015002f, 0.014799f, -0.059750f, -0.018881f, 0.026347f, -0.004443f, -0.031692f, -0.025069f, -0.011658f, 0.033552f, 0.014196f, -0.022629f, 0.011478f, -0.030909f, -0.016073f, -0.001603f, -0.024290f, -0.027511f, 0.022747f, 0.016235f, -0.029069f, -0.006980f, 0.055051f, 0.015768f, -0.027823f, + -0.032557f, -0.001717f, 0.021274f, 0.000878f, 0.005677f, -0.042408f, 0.001273f, -0.006869f, -0.026322f, -0.019133f, -0.009133f, -0.025416f, -0.008422f, 0.004309f, 0.003414f, -0.026749f, -0.021799f, 0.000680f, 0.017863f, -0.002863f, 0.023097f, 0.031827f, -0.021505f, 0.018729f, 0.018716f, 0.004172f, 0.007346f, 0.023223f, 0.010831f, 0.013237f, 0.013489f, 0.011585f, -0.001964f, -0.005996f, 0.032485f, 0.043199f, 0.010680f, -0.013848f, 0.008789f, -0.009889f, -0.014260f, 0.025975f, -0.011007f, -0.028399f, -0.035667f, -0.017344f, -0.041967f, 0.018628f, -0.014728f, -0.012461f, 0.001531f, -0.011515f, -0.010879f, -0.025812f, 0.022000f, 0.012340f, -0.003318f, 0.013795f, 0.011138f, 0.029986f, 0.024019f, -0.050276f, -0.016045f, 0.054623f, -0.043103f, -0.013496f, -0.025959f, 0.038704f, 0.017927f, 0.017459f, 0.008026f, 0.005066f, 0.016128f, 0.041022f, 0.020231f, -0.019145f, -0.000018f, 0.000595f, -0.000838f, 0.015707f, 0.018897f, 0.001404f, 0.011299f, 0.009618f, -0.009291f, 0.012002f, 0.008048f, 0.024822f, -0.012126f, -0.025835f, -0.021062f, -0.017678f, 0.005147f, -0.003292f, 0.010068f, 0.009994f, + 0.011447f, 0.021460f, -0.009781f, 0.003460f, -0.009879f, -0.019134f, -0.007033f, 0.000372f, -0.020299f, 0.024474f, 0.031670f, -0.036049f, 0.011765f, -0.025643f, 0.019454f, -0.005921f, 0.007555f, -0.004833f, -0.019022f, -0.007083f, 0.021779f, -0.019827f, -0.005376f, 0.000779f, -0.035205f, -0.016938f, 0.007097f, -0.031276f, -0.002215f, 0.038243f, 0.021090f, -0.009620f, -0.010704f, 0.034437f, -0.002770f, -0.008145f, -0.028664f, 0.001104f, 0.002719f, -0.007874f, -0.000649f, -0.013501f, 0.004976f, -0.041424f, 0.037521f, -0.007848f, -0.013428f, -0.026351f, -0.029592f, -0.003340f, 0.035705f, -0.006828f, 0.009740f, -0.022518f, -0.013042f, -0.006558f, -0.021849f, -0.026444f, 0.023521f, -0.015134f, -0.012319f, 0.020675f, 0.020168f, -0.029493f, 0.009721f, 0.010498f, 0.024711f, 0.020265f, -0.008054f, -0.018899f, -0.012099f, -0.028776f, 0.030518f, 0.019870f, 0.009726f, 0.021574f, -0.023573f, 0.015111f, -0.004003f, 0.013785f, 0.015241f, -0.015658f, -0.001954f, 0.049914f, 0.041560f, -0.032695f, 0.011957f, 0.025586f, -0.021103f, 0.005584f, -0.048243f, 0.013494f, -0.026627f, 0.020483f, -0.015969f, -0.016962f, + -0.012770f, 0.055820f, 0.001909f, -0.016949f, 0.003573f, 0.018567f, 0.000926f, 0.011072f, -0.032143f, -0.003332f, 0.048658f, -0.000829f, -0.022325f, 0.007124f, -0.043339f, -0.022964f, -0.023448f, 0.019381f, -0.008844f, 0.029798f, 0.021297f, 0.038470f, -0.018213f, -0.003797f, -0.029929f, 0.024892f, 0.051120f, -0.017517f, -0.037210f, 0.001619f, -0.006114f, 0.058158f, -0.013016f, -0.025978f, 0.024876f, 0.010374f, 0.011479f, 0.020394f, 0.009572f, -0.078319f, 0.002095f, -0.007540f, 0.031457f, 0.050837f, -0.048578f, -0.000547f, 0.016900f, -0.026761f, -0.003119f, -0.071495f, -0.013815f, 0.032390f, -0.054893f, -0.036689f, -0.015636f, -0.025026f, 0.024334f, -0.016663f, -0.018448f, 0.027315f, 0.010959f, 0.007943f, 0.033010f, 0.000217f, -0.009036f, 0.018909f, 0.034551f, -0.035406f, -0.022058f, 0.045205f, 0.035324f, 0.007535f, 0.017272f, 0.007545f, -0.020201f, -0.035960f, 0.001773f, -0.004076f, -0.004663f, 0.005175f, -0.017271f, 0.008413f, -0.024541f, 0.005061f, 0.064380f, -0.035296f, -0.021201f, 0.026903f, 0.013548f, -0.019611f, 0.018140f, 0.016182f, 0.026699f, -0.061488f, -0.113271f, -0.052310f, + -0.007693f, 0.038665f, 0.003046f, 0.042674f, 0.039708f, -0.011787f, 0.006786f, -0.009488f, -0.021124f, -0.035298f, -0.020140f, -0.025393f, -0.014332f, 0.040723f, -0.051976f, -0.008855f, -0.043158f, -0.054050f, -0.008782f, -0.054521f, -0.043350f, 0.005788f, -0.010686f, -0.005923f, 0.010916f, 0.048592f, 0.004361f, -0.034486f, 0.003063f, -0.003709f, -0.009369f, -0.044877f, -0.001752f, 0.054615f, 0.006309f, -0.000388f, 0.023308f, 0.042571f, 0.029770f, 0.007904f, -0.015538f, 0.015210f, -0.012700f, -0.037966f, -0.068854f, 0.067737f, -0.006608f, 0.056498f, -0.002692f, 0.001237f, -0.017962f, -0.031896f, 0.061305f, -0.033145f, -0.024788f, -0.002537f, -0.040363f, -0.040221f, 0.036413f, 0.024634f, 0.015978f, -0.004531f, 0.020423f, -0.030437f, 0.015237f, -0.025393f, -0.030130f, -0.039506f, -0.024453f, -0.026985f, -0.045630f, 0.001422f, -0.043732f, -0.046723f, -0.010113f, -0.020337f, -0.055265f, -0.072036f, 0.006473f, -0.026109f, 0.011724f, -0.003482f, 0.025802f, 0.064093f, 0.001235f, 0.008280f, -0.033502f, -0.031973f, 0.026225f, 0.017550f, -0.024798f, 0.001941f, 0.016431f, -0.040298f, -0.034323f, -0.000467f, + 0.051493f, -0.044138f, -0.001334f, 0.002895f, 0.022650f, -0.037456f, 0.038947f, 0.023252f, 0.009633f, 0.000696f, -0.018998f, -0.043793f, -0.002430f, -0.009162f, 0.014499f, -0.022996f, -0.062413f, 0.051503f, -0.038398f, -0.014552f, -0.004531f, 0.050393f, -0.039065f, 0.018731f, -0.032456f, 0.020473f, -0.013054f, -0.043246f, 0.019397f, -0.055571f, -0.014670f, -0.014900f, 0.017853f, 0.048247f, -0.029223f, 0.018707f, 0.045234f, -0.036679f, 0.003987f, 0.012664f, 0.008737f, 0.015099f, -0.071800f, -0.019808f, -0.014647f, 0.025563f, 0.001681f, 0.000077f, 0.007599f, -0.013384f, 0.080247f, 0.009244f, 0.033445f, 0.094105f, -0.044285f, -0.023325f, -0.037172f, -0.012403f, 0.042220f, 0.004084f, 0.052214f, 0.015542f, -0.002468f, -0.018295f, 0.039422f, -0.023378f, 0.008636f, -0.015041f, 0.016094f, -0.024686f, 0.030093f, -0.013052f, -0.007383f, -0.015532f, 0.023175f, 0.017984f, -0.025932f, -0.004082f, 0.024529f, 0.009597f, -0.016593f, 0.003911f, -0.021267f, -0.067535f, 0.030377f, -0.034240f, -0.053649f, 0.035845f, 0.014896f, 0.038684f, -0.003152f, -0.032126f, -0.012812f, -0.006350f, 0.021214f, 0.031071f, + 0.031417f, 0.055082f, 0.051514f, -0.019136f, 0.007578f, -0.050334f, 0.001156f, -0.035446f, -0.069615f, -0.002807f, -0.056551f, 0.022936f, -0.044924f, -0.025537f, -0.029373f, -0.038055f, 0.005294f, -0.004999f, 0.004773f, -0.007264f, -0.004129f, 0.002140f, -0.072885f, 0.018174f, 0.012951f, 0.023702f, 0.037604f, 0.000432f, -0.056785f, 0.041573f, 0.001618f, -0.007411f, -0.004679f, 0.055450f, 0.110986f, -0.062219f, -0.045768f, -0.086802f, -0.168713f, -0.045062f, -0.015632f, 0.035436f, 0.025352f, -0.017640f, -0.030807f, 0.043846f, 0.059273f, 0.002010f, -0.000651f, -0.002663f, -0.043060f, -0.029647f, -0.029987f, -0.027669f, -0.045765f, -0.003793f, -0.010143f, -0.008968f, 0.034611f, -0.048091f, 0.037733f, 0.030377f, -0.008770f, 0.013959f, -0.000283f, -0.083235f, -0.055213f, -0.035263f, -0.027500f, -0.017013f, 0.007780f, 0.027024f, 0.011370f, 0.012705f, 0.078346f, 0.066105f, 0.017093f, -0.056102f, -0.025938f, -0.006468f, -0.025725f, -0.053706f, -0.122250f, -0.108042f, -0.045764f, -0.015839f, 0.005745f, 0.021983f, -0.084927f, -0.054498f, 0.044664f, 0.045810f, 0.061906f, -0.062281f, -0.068320f, 0.015712f, + -0.041896f, 0.094137f, -0.051553f, -0.013962f, -0.030727f, -0.025712f, 0.013238f, 0.018503f, -0.015447f, -0.055263f, 0.000754f, -0.025361f, -0.023328f, 0.023028f, 0.099007f, -0.031106f, 0.029826f, 0.001452f, -0.048528f, 0.009882f, -0.094848f, -0.017800f, 0.016522f, 0.004646f, -0.056612f, 0.034429f, 0.090200f, 0.068404f, -0.032264f, -0.055716f, -0.028318f, 0.009399f, 0.094786f, 0.016036f, -0.001035f, 0.003200f, 0.041843f, 0.049534f, 0.008559f, 0.038548f, 0.025230f, 0.057759f, -0.019455f, 0.009142f, 0.031180f, -0.029119f, -0.052724f, 0.030294f, 0.076509f, 0.020417f, 0.034857f, 0.006728f, 0.019657f, -0.104874f, 0.015514f, -0.001150f, 0.019774f, 0.108899f, 0.037931f, 0.017481f, -0.015429f, 0.050650f, -0.015944f, -0.018912f, 0.011423f, 0.032860f, 0.056687f, -0.016576f, 0.032849f, 0.010642f, 0.004571f, 0.028204f, 0.024966f, 0.002845f, -0.048217f, -0.021632f, 0.002101f, 0.083878f, 0.046409f, 0.046667f, 0.036779f, 0.042781f, -0.021592f, -0.094551f, -0.083717f, -0.131714f, -0.039593f, -0.015556f, 0.082616f, -0.002721f, -0.039821f, 0.010177f, -0.008414f, -0.031096f, -0.026652f, 0.005215f, + 0.042972f, 0.120220f, 0.052536f, 0.106579f, 0.054239f, 0.047571f, 0.043594f, -0.031163f, -0.027747f, -0.029844f, 0.011886f, 0.087253f, 0.026552f, -0.072434f, 0.029870f, -0.077946f, 0.037587f, -0.049421f, -0.012088f, -0.043426f, -0.048361f, -0.002236f, 0.004370f, -0.000745f, -0.060189f, 0.076072f, -0.017220f, 0.028438f, -0.075767f, 0.019538f, -0.019046f, -0.023134f, 0.036450f, -0.031847f, 0.074743f, 0.008513f, -0.032278f, 0.003321f, -0.024889f, -0.032159f, 0.019406f, -0.052830f, -0.013427f, 0.064352f, -0.016631f, 0.025625f, -0.006004f, -0.048609f, 0.049298f, -0.029403f, -0.110520f, 0.011792f, 0.005202f, -0.002287f, 0.008814f, -0.016976f, -0.024262f, -0.008448f, 0.045328f, -0.095416f, 0.051085f, -0.025071f, -0.016637f, 0.057124f, -0.040858f, 0.012987f, 0.021408f, -0.025140f, -0.045350f, 0.074078f, 0.068474f, 0.239865f, 0.096463f, -0.130651f, -0.061835f, -0.064082f, -0.100929f, 0.069811f, 0.214954f, 0.086076f, 0.040187f, -0.054362f, -0.015689f, -0.004017f, -0.003455f, 0.103039f, 0.069895f, 0.044616f, 0.154641f, -0.187167f, 0.010914f, 0.096817f, -0.024980f, 0.019267f, 0.100720f, 0.017047f, + -0.030775f, 0.054159f, -0.104609f, -0.207431f, -0.021570f, 0.019138f, -0.082070f, -0.010318f, 0.108399f, 0.017307f, 0.004136f, 0.040584f, -0.089886f, -0.179396f, -0.165245f, -0.075619f, 0.050730f, 0.103869f, 0.230870f, 0.056845f, -0.033487f, -0.031580f, -0.067326f, -0.142347f, -0.046789f, 0.099938f, 0.098456f, 0.105413f, 0.100334f, 0.063196f, 0.049221f, 0.012576f, 0.017622f, -0.093701f, -0.062522f, 0.009190f, 0.016874f, 0.041336f, 0.046845f, 0.133549f, 0.024827f, 0.074276f, -0.067746f, -0.060960f, -0.113595f, -0.031574f, -0.101335f, -0.030337f, -0.017932f, -0.168876f, -0.108813f, 0.063084f, 0.157281f, 0.188578f, 0.386010f, 0.238537f, 0.156610f, 0.142609f, 0.105489f, -0.020081f, -0.175348f, -0.186534f, -0.366127f, -0.384077f, -0.369630f, -0.234161f, -0.088894f, 0.077201f, 0.130377f, 0.227736f, 0.218279f, 0.155096f, 0.147727f, 0.196302f, 0.182768f, 0.167489f, 0.098581f, 0.069582f, 0.055219f, -0.014766f, -0.024982f, -0.232223f, -0.173334f, -0.209659f, -0.257117f, -0.112547f, -0.252446f, -0.202678f, -0.365410f, -0.317799f, -0.234369f, -0.158644f, -0.041070f, 0.165462f, 0.198463f, 0.167705f, + 0.175062f, 0.164033f, 0.314782f, 0.420574f, 0.368313f, 0.368331f, 0.316989f, 0.308045f, 0.217114f, 0.219710f, 0.019589f, -0.198398f, -0.384723f, -0.367764f, -0.538650f, -0.454921f, -0.650321f, -0.765442f, -0.691872f, -0.660337f, -0.425693f, -0.316882f, -0.023862f, 0.045248f, 0.198437f, 0.326576f, 0.541269f, 0.430700f, 0.647666f, 0.373119f, 0.059948f, -0.004552f} + }, + { + {0.028959f, -0.006870f, -0.003375f, -0.007745f, 0.000716f, -0.008862f, 0.000264f, 0.004151f, 0.002770f, -0.001291f, -0.005695f, 0.004395f, 0.006507f, 0.000378f, -0.003452f, -0.002837f, -0.002245f, -0.005481f, 0.002108f, 0.001239f, 0.001525f, 0.003855f, 0.007647f, 0.007502f, 0.001824f, 0.005909f, 0.003089f, -0.003230f, 0.001616f, 0.002575f, -0.000514f, 0.000930f, 0.000867f, -0.000832f, 0.003945f, -0.000259f, 0.007151f, 0.006219f, -0.006771f, 0.005167f, 0.001161f, 0.004229f, 0.000830f, -0.000682f, 0.000177f, 0.012845f, 0.000366f, 0.004223f, 0.001040f, 0.003630f, 0.005029f, 0.001014f, -0.003470f, 0.007507f, -0.009720f, -0.000838f, 0.002784f, 0.008117f, 0.002631f, -0.001232f, 0.006927f, -0.000753f, -0.005801f, 0.001895f, 0.001986f, 0.001326f, -0.001217f, 0.000797f, -0.000705f, -0.004356f, 0.001347f, -0.001782f, -0.002990f, 0.003374f, -0.005227f, 0.004424f, -0.009666f, -0.025763f, -0.002202f, -0.004082f, -0.003544f, 0.000429f, -0.004318f, 0.001659f, 0.002519f, 0.010628f, -0.003575f, -0.000365f, -0.009751f, 0.000784f, 0.009809f, 0.000752f, 0.007097f, -0.002017f, 0.002991f, -0.004017f, + -0.006136f, 0.000290f, 0.006764f, -0.000777f, -0.008407f, -0.000256f, 0.008211f, 0.002761f, -0.003457f, -0.002816f, -0.000335f, -0.001018f, -0.001855f, 0.000209f, -0.001321f, -0.002697f, -0.000292f, 0.001797f, 0.001215f, -0.000251f, -0.006351f, 0.009685f, 0.013106f, 0.000548f, 0.001604f, -0.005130f, -0.002897f, 0.001168f, -0.006703f, -0.007409f, 0.004612f, -0.005993f, 0.004563f, 0.005915f, 0.005862f, 0.002295f, -0.000761f, 0.001691f, 0.001314f, 0.004472f, -0.009251f, 0.000929f, -0.001104f, -0.006705f, -0.009123f, 0.000360f, 0.004683f, -0.003448f, -0.000437f, -0.001047f, -0.000647f, 0.006456f, 0.003139f, 0.000718f, 0.002280f, -0.002509f, -0.023296f, -0.005922f, 0.009540f, -0.001764f, -0.006939f, 0.002627f, -0.017193f, -0.007236f, -0.002202f, -0.003651f, -0.008734f, -0.010068f, 0.005514f, 0.007463f, 0.007168f, -0.009456f, -0.012872f, 0.000995f, -0.007405f, -0.014597f, 0.003546f, -0.001404f, 0.004306f, 0.015329f, -0.004904f, -0.002189f, -0.009698f, 0.013167f, 0.001359f, 0.006306f, 0.005013f, 0.010708f, 0.006005f, 0.002942f, -0.010867f, -0.001803f, -0.009976f, -0.003371f, 0.000718f, -0.004854f, + 0.003707f, 0.002357f, -0.004597f, -0.010076f, 0.006307f, 0.009358f, 0.003026f, -0.005295f, -0.007126f, -0.005136f, 0.002565f, -0.008855f, -0.010283f, -0.003570f, 0.005367f, -0.003490f, 0.002721f, 0.005985f, 0.004305f, -0.005506f, 0.009672f, 0.000235f, 0.008229f, -0.007446f, -0.005675f, -0.003967f, -0.003981f, 0.005023f, -0.003215f, -0.000333f, 0.009570f, 0.002740f, 0.000104f, -0.009845f, 0.002269f, -0.004407f, 0.006334f, -0.004681f, 0.005938f, 0.008562f, 0.003229f, -0.005115f, 0.003490f, -0.002331f, 0.002352f, 0.015941f, 0.009551f, -0.013230f, 0.008854f, -0.007232f, -0.003847f, -0.001823f, 0.000036f, 0.006824f, 0.000011f, 0.018587f, 0.005089f, -0.007009f, -0.004929f, -0.004523f, 0.012744f, 0.003140f, 0.012251f, 0.004185f, 0.008140f, 0.013150f, 0.014689f, 0.005769f, -0.002026f, -0.001445f, 0.001919f, -0.011975f, -0.011552f, 0.003625f, -0.008872f, 0.004875f, 0.001928f, -0.002835f, -0.001663f, 0.003572f, 0.012096f, -0.004058f, -0.004701f, -0.006392f, 0.015534f, -0.002113f, -0.020438f, -0.009897f, -0.008417f, -0.007194f, 0.007714f, 0.007997f, 0.006414f, 0.010517f, 0.004051f, 0.006642f, + -0.000895f, -0.000497f, -0.000927f, 0.010646f, 0.002746f, 0.006350f, -0.014582f, 0.001157f, -0.000090f, 0.001069f, 0.000147f, 0.006454f, 0.003422f, 0.002305f, -0.007585f, -0.005907f, 0.034471f, 0.008436f, 0.004709f, -0.003542f, -0.003081f, 0.004152f, 0.001816f, 0.010117f, 0.011752f, 0.000183f, 0.017608f, 0.008035f, -0.007077f, -0.005265f, -0.001102f, 0.009496f, -0.001670f, -0.003995f, 0.009019f, 0.002132f, 0.025678f, 0.007672f, 0.004570f, 0.001872f, -0.003183f, 0.002034f, 0.003341f, 0.005903f, -0.001838f, 0.000860f, 0.013477f, 0.002789f, 0.014899f, -0.006998f, -0.008122f, 0.005958f, 0.022691f, 0.007600f, 0.004984f, -0.001178f, -0.010755f, -0.003112f, 0.002492f, 0.001559f, -0.000902f, 0.001731f, -0.015004f, 0.001902f, -0.006989f, 0.006637f, 0.003825f, -0.004743f, 0.002590f, 0.005954f, 0.002657f, -0.005786f, -0.007650f, 0.002610f, 0.001689f, 0.001005f, -0.009669f, 0.003331f, -0.004272f, 0.006736f, -0.001673f, 0.002175f, 0.002713f, -0.000267f, 0.001020f, -0.002020f, -0.000111f, 0.021709f, 0.001067f, 0.008579f, -0.001306f, -0.004147f, 0.001196f, 0.002696f, -0.000442f, 0.004862f, + -0.007461f, -0.001669f, 0.008148f, -0.004330f, -0.011958f, -0.000434f, 0.020400f, -0.001770f, 0.016056f, 0.007715f, 0.022110f, 0.002229f, 0.002255f, 0.007533f, -0.005954f, -0.013502f, -0.016975f, 0.003574f, -0.008561f, 0.019692f, 0.011713f, 0.013749f, -0.002517f, -0.006466f, 0.001939f, 0.002646f, 0.006815f, 0.018316f, 0.002397f, 0.007272f, -0.008511f, 0.005394f, -0.006017f, 0.001931f, -0.003207f, 0.005543f, 0.010901f, 0.000756f, 0.010405f, 0.003056f, 0.005230f, -0.003758f, -0.002455f, 0.013022f, -0.003200f, -0.004291f, 0.010425f, -0.007098f, -0.000590f, 0.000581f, -0.004577f, -0.006990f, 0.004576f, -0.007919f, -0.001376f, -0.009881f, -0.018945f, -0.003199f, -0.002954f, -0.001627f, -0.019771f, -0.008697f, -0.006120f, -0.006334f, 0.007268f, 0.018093f, -0.005072f, 0.004902f, 0.010009f, -0.004161f, 0.001821f, 0.000471f, 0.001207f, -0.007899f, 0.008344f, -0.025888f, 0.002559f, 0.013355f, 0.007563f, -0.014696f, -0.000747f, 0.000290f, 0.003703f, 0.004857f, -0.000506f, -0.011547f, -0.010369f, 0.001250f, 0.018393f, 0.008186f, 0.011021f, 0.017782f, -0.012040f, 0.012558f, 0.024306f, -0.002657f, + 0.005681f, -0.014087f, 0.004936f, 0.004452f, -0.011449f, -0.006774f, -0.002287f, 0.005048f, -0.011589f, -0.016091f, 0.003206f, 0.001202f, -0.013165f, 0.000541f, 0.004426f, -0.003266f, 0.028680f, -0.002171f, -0.020000f, -0.001938f, 0.007149f, 0.015470f, 0.006080f, 0.006613f, -0.012792f, 0.002988f, 0.004227f, -0.012139f, -0.000631f, -0.002568f, 0.019893f, 0.011500f, -0.003185f, -0.007403f, -0.015238f, 0.005994f, 0.006213f, -0.009656f, -0.000257f, 0.003068f, 0.006033f, 0.005563f, -0.007782f, -0.000797f, -0.001699f, 0.018003f, -0.015610f, 0.001397f, -0.004090f, 0.016249f, -0.001236f, -0.004450f, -0.007034f, 0.001955f, -0.007164f, -0.016113f, 0.009381f, 0.009189f, 0.002794f, -0.006124f, 0.001503f, 0.004615f, 0.029608f, 0.020251f, 0.014586f, 0.021471f, 0.008233f, -0.001393f, 0.002721f, 0.008234f, -0.021503f, 0.011350f, 0.000057f, 0.012184f, -0.008808f, -0.003851f, -0.013922f, 0.004387f, 0.023897f, -0.023077f, -0.015182f, -0.024549f, 0.012517f, -0.005178f, 0.000621f, -0.010858f, 0.001312f, -0.003683f, -0.011567f, 0.004952f, 0.005472f, -0.017223f, -0.002542f, 0.003849f, -0.004017f, 0.010055f, + -0.025920f, -0.011862f, 0.026411f, 0.003330f, -0.000479f, -0.001922f, 0.000946f, -0.012723f, -0.014230f, 0.001577f, -0.020694f, -0.004038f, 0.002186f, 0.006336f, -0.008804f, -0.001261f, 0.025924f, -0.000851f, 0.009230f, 0.020002f, -0.017646f, -0.005367f, 0.004445f, 0.005391f, 0.003722f, -0.004629f, -0.012454f, 0.015466f, -0.001277f, -0.012849f, 0.010368f, -0.001787f, 0.002698f, 0.004219f, -0.007067f, -0.004703f, -0.003080f, -0.049047f, -0.028291f, 0.023133f, -0.009272f, -0.009854f, 0.013000f, 0.012578f, -0.021812f, -0.027914f, -0.009743f, -0.009444f, -0.011310f, -0.001098f, -0.020234f, -0.013356f, 0.006763f, 0.001684f, -0.026989f, -0.028337f, -0.016807f, -0.007056f, -0.001849f, 0.015996f, -0.001415f, -0.009906f, 0.007933f, -0.023315f, 0.000473f, -0.000051f, 0.000813f, 0.009633f, 0.004491f, -0.016608f, -0.013505f, 0.011840f, 0.003631f, 0.040841f, 0.009665f, -0.011945f, 0.001780f, 0.002575f, 0.000439f, 0.011784f, 0.002089f, 0.005729f, -0.003927f, -0.007312f, 0.002793f, -0.021349f, -0.003979f, -0.008454f, -0.011698f, 0.004153f, -0.017691f, 0.022700f, -0.002181f, 0.010451f, 0.015768f, 0.006156f, + 0.008795f, 0.000741f, -0.008878f, 0.001374f, -0.000148f, -0.010341f, 0.017201f, -0.004642f, 0.029854f, 0.001084f, 0.001357f, 0.003416f, -0.004774f, -0.013102f, 0.008211f, -0.009773f, 0.000393f, 0.018140f, 0.011870f, 0.035082f, -0.018829f, 0.015759f, 0.008972f, 0.011267f, -0.003507f, -0.021895f, 0.004574f, -0.007109f, -0.017068f, 0.036129f, -0.001010f, -0.012457f, -0.035809f, 0.021102f, 0.008026f, -0.002368f, -0.012384f, -0.018182f, 0.002026f, 0.036574f, 0.015941f, -0.003546f, -0.002250f, -0.018635f, -0.011942f, 0.009026f, 0.006452f, -0.015102f, -0.007609f, 0.011274f, 0.004856f, -0.002790f, 0.013048f, 0.015538f, 0.004262f, 0.021195f, 0.028122f, 0.013819f, -0.004719f, 0.003456f, 0.003600f, 0.001924f, 0.015329f, -0.022310f, 0.022202f, -0.004038f, -0.009182f, -0.018702f, 0.001484f, 0.010909f, 0.010951f, -0.021746f, 0.005533f, 0.012029f, 0.003687f, -0.016719f, -0.028151f, -0.030009f, 0.008502f, 0.008633f, 0.003437f, -0.013820f, 0.000084f, 0.017910f, -0.008330f, -0.019957f, -0.029615f, -0.000689f, 0.007750f, -0.027564f, 0.010580f, 0.018614f, -0.008579f, 0.012913f, 0.008159f, 0.043134f, + 0.030569f, 0.005257f, -0.007625f, -0.006197f, -0.004972f, -0.032016f, -0.011131f, -0.001898f, 0.020692f, -0.015579f, -0.006702f, -0.008139f, 0.001456f, 0.030571f, -0.023927f, -0.008344f, -0.000331f, 0.013429f, -0.004210f, -0.020193f, -0.029949f, 0.009319f, -0.020424f, -0.011571f, -0.012419f, -0.016257f, 0.005414f, -0.026100f, -0.010930f, 0.019582f, 0.032995f, -0.000475f, -0.019384f, -0.019961f, 0.030417f, -0.005360f, -0.015397f, 0.028906f, 0.001610f, -0.000233f, 0.001915f, -0.035996f, 0.014322f, -0.014773f, 0.012813f, 0.009056f, -0.022505f, -0.004875f, -0.022881f, 0.006622f, -0.022223f, -0.006360f, 0.009809f, 0.010267f, -0.007268f, 0.005140f, -0.027201f, 0.016122f, -0.001953f, 0.010021f, 0.010946f, 0.004850f, -0.006015f, -0.008839f, 0.027378f, -0.022141f, 0.013578f, -0.008015f, -0.023295f, -0.017574f, -0.001490f, 0.020914f, -0.013701f, 0.007804f, 0.004983f, -0.010543f, 0.011465f, -0.002816f, -0.005679f, 0.018644f, 0.001964f, -0.010303f, -0.027818f, -0.000258f, -0.035769f, 0.007068f, 0.001600f, 0.017926f, -0.015207f, -0.002178f, 0.007382f, 0.008483f, 0.008239f, -0.022198f, 0.031271f, 0.024325f, + 0.002663f, 0.018221f, -0.009440f, -0.032152f, 0.006109f, -0.013014f, -0.017256f, 0.016501f, 0.036300f, 0.007536f, -0.012341f, -0.012974f, -0.032435f, 0.000874f, -0.000507f, 0.047760f, -0.020472f, 0.000009f, -0.000626f, -0.000715f, -0.030395f, -0.031260f, 0.023131f, 0.001640f, 0.012151f, -0.003499f, -0.038464f, -0.020261f, 0.000524f, -0.005516f, -0.010101f, -0.009834f, 0.021136f, -0.004543f, 0.012738f, -0.016178f, 0.030222f, -0.038573f, 0.016395f, 0.020527f, 0.009017f, 0.010970f, 0.006558f, 0.031062f, 0.012424f, -0.002021f, 0.002915f, 0.000436f, 0.026468f, 0.045957f, -0.009677f, 0.003937f, -0.018456f, 0.019699f, 0.024710f, -0.019499f, -0.002013f, -0.039201f, -0.005006f, -0.049929f, -0.024570f, 0.018732f, -0.019443f, -0.044438f, 0.004813f, -0.024233f, 0.001850f, 0.000261f, -0.027318f, -0.027272f, 0.012872f, 0.025247f, 0.008595f, -0.030513f, 0.015177f, -0.034233f, -0.010984f, -0.012902f, 0.011421f, -0.014311f, -0.005442f, 0.015791f, 0.003664f, -0.011498f, -0.023108f, 0.025062f, 0.025581f, 0.031708f, 0.005124f, -0.003874f, 0.002088f, 0.009994f, -0.001455f, 0.012900f, -0.013476f, 0.017073f, + -0.005806f, 0.019736f, 0.016976f, 0.011886f, -0.004761f, 0.000738f, -0.029934f, 0.010495f, -0.006750f, 0.023296f, 0.005296f, -0.054099f, 0.009386f, 0.026795f, 0.036977f, -0.020490f, -0.027133f, 0.033994f, 0.016412f, 0.024039f, -0.041215f, 0.021288f, 0.054015f, 0.056235f, 0.004596f, 0.001893f, 0.032743f, -0.021276f, -0.028329f, 0.019586f, -0.031583f, 0.013193f, -0.014483f, -0.011462f, -0.006965f, -0.068080f, -0.040991f, -0.030933f, -0.007946f, -0.029945f, -0.054753f, 0.041641f, 0.005388f, 0.013364f, -0.006292f, 0.029217f, 0.001720f, -0.026643f, 0.020812f, 0.007167f, -0.008193f, -0.016450f, -0.011254f, 0.002903f, 0.008173f, 0.025772f, -0.014300f, 0.020027f, 0.007574f, 0.037147f, -0.053734f, -0.015585f, -0.007766f, 0.006114f, 0.023193f, 0.031444f, 0.008235f, -0.027195f, 0.018628f, 0.024553f, 0.022308f, -0.006895f, 0.008347f, 0.000649f, -0.008112f, -0.004559f, 0.002405f, 0.007365f, 0.003810f, 0.017961f, 0.003938f, -0.024595f, 0.023007f, -0.025452f, -0.030627f, 0.004076f, 0.023517f, -0.011839f, -0.007386f, 0.007504f, 0.011838f, 0.018870f, -0.010472f, 0.008611f, 0.044929f, -0.018284f, + -0.046382f, -0.061466f, -0.030198f, -0.041751f, 0.019253f, 0.035425f, 0.023322f, 0.008485f, 0.021838f, 0.012543f, 0.023934f, -0.020321f, 0.026789f, 0.014270f, 0.010398f, 0.028537f, 0.035170f, -0.011158f, 0.055715f, 0.005421f, 0.008747f, -0.011512f, 0.020263f, -0.063669f, -0.028098f, -0.043475f, -0.044902f, 0.017959f, -0.039157f, 0.038694f, 0.044006f, 0.002066f, 0.009642f, -0.006605f, 0.008178f, -0.041519f, 0.017300f, 0.046317f, -0.026093f, -0.053474f, 0.007314f, -0.019974f, -0.016878f, -0.052130f, 0.009334f, 0.019463f, 0.000090f, -0.006857f, 0.017164f, -0.029601f, -0.004616f, 0.019692f, -0.010320f, -0.026188f, 0.003633f, -0.012927f, 0.027824f, -0.017835f, -0.009547f, 0.025911f, 0.022789f, 0.047599f, 0.006879f, 0.011716f, -0.003682f, 0.012994f, 0.017584f, 0.029509f, -0.007619f, -0.000686f, -0.017280f, 0.038810f, -0.047618f, 0.052436f, 0.002942f, -0.020617f, 0.025666f, -0.018831f, -0.012624f, 0.048094f, -0.067795f, 0.011292f, -0.012887f, 0.013413f, -0.024878f, 0.012608f, 0.029882f, -0.014878f, 0.000369f, -0.008430f, -0.007739f, -0.008134f, 0.056384f, -0.061830f, -0.010448f, 0.068353f, + -0.027192f, -0.043339f, 0.004702f, -0.016753f, -0.013948f, -0.024613f, -0.029626f, 0.037565f, 0.016959f, 0.001918f, 0.018459f, 0.044604f, 0.027253f, -0.003575f, 0.009818f, 0.029844f, 0.039319f, -0.034809f, 0.016682f, 0.031935f, 0.014753f, 0.011425f, 0.045352f, 0.021103f, 0.010011f, -0.001780f, 0.020811f, -0.002654f, 0.023474f, 0.018406f, 0.011030f, -0.021301f, 0.040286f, -0.032853f, -0.003278f, 0.049125f, 0.049729f, -0.011980f, -0.042533f, 0.016013f, 0.000202f, 0.042150f, 0.073946f, 0.016049f, -0.010259f, 0.004915f, -0.040944f, -0.005178f, -0.010061f, -0.009212f, 0.001906f, 0.037106f, -0.014875f, 0.016264f, 0.046045f, 0.007510f, -0.040230f, 0.027385f, -0.000768f, 0.017435f, 0.043607f, 0.059372f, -0.015157f, -0.015670f, -0.003345f, -0.046888f, -0.066897f, 0.002089f, -0.029095f, -0.004770f, -0.035369f, -0.003476f, 0.004389f, 0.005773f, 0.032422f, 0.000005f, -0.011530f, 0.046906f, -0.087624f, 0.048397f, -0.037125f, -0.085624f, -0.025858f, -0.021280f, -0.003433f, -0.019443f, 0.010058f, -0.023386f, -0.053673f, -0.031782f, -0.016319f, -0.004450f, 0.005724f, -0.021524f, 0.021059f, 0.042182f, + 0.001157f, -0.002199f, 0.011048f, 0.002996f, -0.008199f, -0.015070f, -0.009161f, 0.011735f, 0.011986f, -0.003269f, 0.011361f, 0.051742f, 0.013660f, -0.014559f, -0.051382f, -0.007688f, 0.035445f, -0.043345f, -0.021129f, -0.016243f, -0.000047f, -0.002914f, 0.027006f, -0.008692f, 0.002651f, 0.038432f, 0.012861f, 0.042575f, -0.006711f, -0.019532f, -0.009991f, -0.010466f, -0.011870f, 0.020668f, 0.001173f, 0.014040f, 0.024552f, -0.044977f, 0.005340f, -0.011802f, -0.029618f, -0.021148f, 0.042459f, 0.031779f, -0.000375f, -0.021754f, 0.006584f, 0.018258f, -0.000901f, 0.012228f, -0.033876f, -0.076103f, -0.039300f, -0.029227f, 0.021218f, -0.000202f, -0.013075f, 0.025651f, -0.034890f, 0.041851f, -0.003788f, -0.064989f, 0.012880f, -0.031110f, -0.007021f, -0.004309f, -0.008242f, -0.041254f, 0.012608f, 0.002585f, 0.032517f, -0.070863f, 0.000635f, 0.035509f, 0.003704f, -0.016548f, -0.036592f, -0.002461f, 0.020139f, 0.031083f, -0.026093f, -0.008804f, 0.016051f, 0.035435f, 0.031535f, -0.030723f, -0.006892f, -0.049995f, 0.022840f, 0.025711f, 0.015210f, -0.014133f, -0.004514f, -0.013520f, -0.005929f, -0.016634f, + 0.004245f, 0.036715f, -0.014173f, -0.014404f, -0.013165f, -0.020804f, 0.041011f, 0.035675f, -0.004070f, 0.050205f, -0.002851f, 0.017675f, -0.045003f, 0.036192f, 0.015694f, -0.050401f, -0.016664f, 0.056721f, 0.023286f, 0.014848f, 0.010744f, -0.027770f, -0.021539f, -0.029920f, 0.049504f, -0.027007f, 0.038356f, 0.038110f, -0.044885f, 0.102229f, -0.021803f, 0.061995f, 0.003912f, -0.018307f, -0.025899f, 0.043164f, 0.022796f, -0.048391f, -0.006791f, 0.025070f, 0.042761f, 0.003520f, -0.036223f, 0.017303f, -0.069823f, -0.018651f, -0.063554f, -0.087631f, 0.002476f, -0.033930f, 0.010637f, -0.006903f, -0.014399f, -0.033760f, -0.023668f, 0.018938f, 0.051713f, -0.044540f, -0.010410f, -0.076327f, -0.067423f, 0.017400f, 0.025366f, -0.042465f, -0.044739f, 0.001644f, 0.008191f, -0.071369f, 0.002195f, 0.000207f, 0.034812f, -0.032907f, -0.000399f, 0.028718f, -0.021611f, -0.038171f, -0.042916f, -0.021514f, -0.039450f, -0.032437f, -0.041227f, 0.052463f, -0.071714f, -0.045096f, 0.059985f, -0.004314f, 0.014875f, -0.054876f, -0.012106f, -0.017573f, -0.001746f, 0.085461f, -0.015822f, -0.004732f, 0.005222f, 0.038148f, + -0.002728f, -0.042534f, -0.021220f, -0.031886f, 0.005406f, 0.101632f, 0.016237f, -0.041559f, 0.075093f, 0.052772f, -0.055784f, 0.054065f, 0.092542f, -0.005108f, -0.042808f, 0.059305f, -0.015989f, 0.060987f, 0.059884f, 0.045173f, -0.120837f, -0.079332f, -0.077012f, -0.031752f, -0.049852f, 0.063270f, 0.029762f, 0.051210f, -0.003818f, -0.110457f, -0.011841f, 0.013402f, 0.077756f, -0.006867f, 0.021530f, 0.063518f, -0.020631f, -0.052497f, 0.009575f, -0.006989f, 0.089707f, 0.051672f, -0.023113f, -0.042266f, 0.095087f, 0.002750f, 0.049973f, 0.018233f, 0.089101f, 0.069305f, 0.060985f, 0.002446f, -0.042748f, -0.029376f, -0.031476f, 0.067039f, -0.028917f, -0.051544f, -0.021322f, -0.000778f, 0.002973f, 0.027864f, -0.025600f, 0.007947f, -0.138165f, 0.012870f, 0.027304f, 0.020393f, -0.054794f, -0.058633f, 0.022248f, 0.047397f, -0.056647f, 0.021080f, -0.029941f, -0.030336f, -0.036263f, -0.006593f, 0.049321f, -0.032292f, 0.053710f, -0.015010f, 0.024338f, -0.091881f, -0.051969f, -0.004712f, 0.052935f, 0.030893f, -0.059380f, -0.072012f, -0.026820f, 0.005026f, 0.080199f, 0.029947f, -0.000176f, -0.048795f, + -0.011041f, 0.021357f, 0.162609f, 0.015664f, -0.085337f, -0.194762f, -0.016524f, 0.114604f, 0.030109f, 0.049802f, -0.004059f, 0.069706f, -0.010446f, 0.030570f, -0.014810f, 0.039570f, 0.057506f, 0.029846f, -0.025508f, -0.063989f, 0.077168f, 0.085848f, -0.017425f, -0.084457f, -0.049653f, 0.009322f, 0.051444f, 0.016992f, 0.019889f, 0.003854f, 0.014930f, 0.006516f, 0.014939f, -0.015683f, -0.095652f, 0.000565f, 0.063460f, 0.047994f, -0.016466f, 0.006181f, 0.040400f, 0.083492f, 0.053460f, 0.041956f, -0.044900f, -0.031680f, -0.004720f, -0.006656f, -0.069502f, 0.054327f, 0.034709f, 0.056601f, 0.114187f, -0.053581f, -0.031886f, -0.001730f, -0.025817f, -0.022729f, -0.043100f, 0.089411f, -0.046398f, -0.051219f, -0.051646f, -0.014877f, 0.115152f, 0.033658f, 0.049164f, 0.004260f, -0.001805f, -0.017594f, 0.075839f, 0.063762f, -0.019052f, -0.052566f, 0.031946f, 0.006243f, 0.002207f, -0.052205f, 0.009806f, 0.118479f, 0.101176f, 0.009481f, 0.013052f, -0.072755f, -0.123896f, -0.118869f, -0.049654f, 0.087788f, 0.107810f, 0.100463f, 0.064620f, -0.020750f, -0.061240f, -0.067417f, -0.034688f, 0.021450f, + 0.047543f, 0.067249f, 0.012958f, -0.060137f, -0.040178f, -0.015222f, -0.040162f, -0.026737f, 0.016807f, 0.069967f, 0.113634f, 0.064339f, 0.039871f, 0.025426f, -0.060046f, -0.012822f, -0.127616f, -0.155450f, -0.087089f, -0.050270f, -0.033957f, 0.065580f, 0.117851f, 0.117431f, 0.118248f, 0.090927f, 0.047611f, 0.001685f, -0.038038f, -0.017479f, -0.066030f, -0.136761f, -0.002246f, 0.007551f, 0.021813f, 0.039066f, 0.035433f, 0.039686f, -0.138171f, -0.085587f, -0.042773f, -0.090485f, -0.025805f, 0.058526f, -0.026752f, 0.037719f, 0.017622f, -0.044170f, 0.043971f, -0.037994f, 0.048789f, 0.035492f, -0.016971f, -0.069935f, -0.114981f, -0.134720f, -0.074341f, 0.020298f, -0.220044f, -0.114341f, -0.056552f, 0.074510f, 0.020495f, 0.285238f, 0.295774f, 0.221045f, 0.289076f, 0.299800f, 0.276048f, 0.196637f, 0.182261f, 0.198621f, 0.084320f, -0.008397f, -0.114272f, -0.183570f, -0.251308f, -0.247185f, -0.366689f, -0.222553f, -0.138935f, -0.111944f, -0.157357f, -0.081709f, -0.013457f, -0.118403f, -0.085835f, -0.095188f, -0.010899f, -0.053450f, -0.008755f, -0.074586f, -0.028274f, 0.059511f, 0.066725f, 0.025870f, + 0.000750f, 0.065530f, 0.061240f, -0.114357f, 0.044720f, 0.098405f, 0.206829f, 0.151110f, 0.199178f, 0.087869f, 0.093219f, 0.312632f, 0.184672f, 0.320615f, 0.127295f, 0.302867f, 0.224054f, 0.267891f, 0.364760f, 0.338198f, 0.289049f, 0.311117f, 0.355105f, 0.372988f, 0.334885f, 0.369391f, 0.273979f, 0.375670f, 0.322257f, 0.276161f, 0.309682f, 0.172488f, 0.343321f, 0.170095f, 0.132479f, -0.089943f, 0.040951f, -0.178185f, -0.199443f, -0.215743f, -0.006303f}, + {0.028151f, -0.003043f, -0.004712f, 0.001293f, 0.002069f, 0.007711f, -0.002021f, -0.004592f, -0.007568f, 0.008244f, 0.000716f, 0.002734f, 0.008263f, 0.002279f, -0.001302f, 0.002104f, 0.004355f, 0.002864f, -0.004406f, 0.009559f, 0.001000f, -0.012480f, -0.002362f, 0.008294f, 0.003205f, 0.000905f, -0.004534f, -0.002612f, 0.004068f, -0.001520f, 0.016456f, -0.002968f, 0.003751f, 0.000645f, 0.001501f, -0.009223f, -0.003150f, -0.001917f, 0.003385f, -0.001236f, 0.002035f, -0.005299f, -0.002930f, 0.003514f, 0.005212f, 0.003647f, 0.006195f, 0.006354f, 0.004071f, -0.005598f, -0.008796f, 0.001106f, 0.005198f, 0.005740f, 0.004323f, -0.003078f, -0.003864f, -0.013629f, 0.007027f, -0.003245f, -0.005251f, -0.000882f, -0.002335f, 0.002748f, -0.006481f, 0.002800f, -0.008204f, 0.003495f, -0.007791f, 0.007076f, -0.003108f, 0.005917f, -0.001505f, -0.000983f, -0.009270f, -0.000845f, -0.014480f, -0.028107f, -0.005140f, 0.000572f, -0.006671f, -0.013121f, -0.004579f, 0.009959f, -0.015844f, -0.008452f, -0.005366f, -0.002866f, 0.004794f, -0.002033f, 0.005360f, 0.002739f, 0.004674f, -0.000334f, 0.005830f, -0.005031f, + 0.000804f, -0.002089f, 0.000964f, 0.015318f, -0.003386f, -0.000718f, -0.007657f, 0.009552f, 0.005630f, 0.004708f, 0.011487f, -0.005741f, -0.003550f, 0.004203f, 0.010271f, -0.002596f, -0.000856f, -0.008202f, -0.009386f, -0.005951f, 0.006432f, -0.007970f, -0.007179f, -0.000665f, 0.009231f, -0.012478f, -0.002853f, -0.010389f, -0.005296f, -0.002815f, 0.001313f, -0.000737f, -0.007752f, 0.009969f, 0.001521f, 0.008989f, -0.003689f, -0.002017f, -0.011073f, -0.000037f, -0.003971f, -0.003934f, 0.006168f, 0.003717f, -0.002087f, 0.003545f, 0.006849f, -0.001863f, 0.002881f, -0.004919f, -0.002985f, -0.001209f, -0.004786f, 0.004048f, 0.001450f, 0.002763f, -0.023120f, -0.008534f, 0.006871f, -0.006341f, -0.002608f, -0.002790f, 0.003321f, -0.001375f, -0.005988f, 0.009505f, 0.008825f, 0.002698f, -0.000941f, 0.004290f, -0.011813f, -0.001962f, -0.011677f, -0.006170f, 0.008852f, -0.001678f, 0.001688f, -0.001423f, -0.001226f, -0.000039f, 0.018363f, 0.016452f, 0.007581f, 0.008661f, 0.010684f, -0.002299f, -0.001100f, -0.003907f, 0.009436f, -0.001187f, -0.003426f, 0.002333f, -0.005322f, 0.003429f, 0.006816f, -0.003740f, + 0.007669f, 0.008224f, 0.016777f, -0.006859f, -0.007765f, 0.006791f, -0.004208f, -0.000127f, 0.003615f, -0.010077f, 0.000686f, -0.005475f, -0.005582f, 0.012420f, 0.007657f, 0.008794f, -0.005173f, -0.007454f, 0.005017f, -0.008635f, 0.005830f, 0.024224f, 0.001547f, 0.001084f, 0.005738f, 0.001735f, 0.002486f, 0.013335f, -0.007303f, -0.002812f, 0.002913f, 0.000763f, -0.006575f, -0.006535f, -0.006461f, -0.005354f, -0.001146f, -0.006915f, 0.007473f, 0.011754f, -0.005602f, 0.005753f, 0.018778f, 0.006108f, 0.004361f, -0.013218f, 0.010909f, 0.002693f, -0.016748f, 0.006971f, -0.004655f, -0.010265f, 0.004127f, -0.001578f, 0.003973f, 0.009592f, -0.010219f, -0.010970f, -0.004759f, 0.014473f, 0.000445f, 0.007080f, 0.015210f, -0.022787f, -0.018196f, 0.002753f, 0.011139f, -0.008379f, 0.000724f, 0.014852f, 0.003884f, -0.002177f, -0.004545f, 0.017802f, 0.002188f, -0.004637f, 0.002496f, -0.016619f, 0.001822f, -0.009288f, 0.008288f, 0.001186f, 0.008795f, -0.004744f, -0.002292f, 0.003706f, 0.000182f, 0.000852f, 0.000411f, 0.008168f, 0.006724f, -0.009668f, 0.005204f, 0.007151f, -0.012949f, 0.001131f, + -0.005942f, 0.001978f, -0.003135f, -0.010352f, -0.000070f, 0.008023f, 0.007147f, 0.015895f, -0.010496f, 0.012115f, -0.008779f, -0.002404f, 0.007143f, -0.009054f, -0.012780f, -0.005326f, 0.037330f, 0.017096f, 0.022508f, -0.001600f, -0.006562f, -0.007972f, -0.008503f, 0.004713f, -0.007191f, 0.010712f, -0.001471f, 0.014609f, 0.000580f, 0.007830f, 0.009148f, 0.007518f, 0.005947f, 0.008493f, -0.028230f, -0.008045f, -0.002944f, -0.005678f, -0.005494f, -0.008585f, -0.020224f, 0.001096f, 0.013281f, -0.008189f, 0.007826f, -0.006540f, -0.010291f, -0.007298f, 0.000755f, -0.006131f, -0.002736f, -0.006294f, -0.000851f, 0.016623f, 0.000463f, 0.007575f, 0.009960f, 0.013698f, -0.006791f, 0.003352f, -0.003483f, -0.010239f, 0.011362f, -0.006436f, -0.000983f, -0.010128f, 0.007023f, 0.000096f, -0.000376f, -0.002647f, -0.005381f, 0.003705f, 0.009970f, -0.004217f, 0.005314f, 0.005882f, 0.004054f, 0.018449f, -0.019050f, -0.007452f, -0.000366f, -0.009753f, -0.013952f, -0.004794f, -0.016979f, 0.002880f, 0.017618f, -0.012292f, -0.007484f, -0.013829f, -0.000638f, -0.002986f, -0.008833f, -0.008964f, -0.001088f, 0.012052f, + 0.016301f, -0.008847f, 0.008311f, -0.007141f, -0.004018f, -0.002589f, -0.021022f, 0.015434f, -0.004729f, -0.001779f, 0.023496f, 0.015264f, 0.015596f, -0.006036f, 0.000275f, 0.003302f, -0.004003f, 0.005776f, -0.012484f, 0.000158f, -0.008639f, 0.010229f, -0.009775f, -0.006011f, -0.001302f, 0.002182f, -0.011985f, 0.002786f, 0.000940f, 0.015898f, -0.000184f, -0.020401f, 0.011794f, 0.011908f, 0.015845f, -0.001959f, 0.003779f, -0.010974f, -0.009024f, -0.003017f, -0.008764f, 0.004000f, 0.001949f, -0.002476f, -0.001541f, 0.009491f, 0.013403f, -0.017965f, -0.004303f, 0.000766f, -0.007929f, -0.007183f, 0.012109f, -0.009107f, 0.004415f, -0.008881f, -0.013192f, -0.008700f, -0.006641f, 0.005458f, 0.001572f, 0.024189f, -0.004158f, -0.005091f, 0.006661f, -0.005749f, -0.002264f, -0.004872f, 0.006228f, -0.004297f, 0.008102f, -0.002615f, -0.004048f, 0.007393f, 0.012916f, -0.028413f, 0.027317f, 0.015172f, -0.016829f, -0.016307f, 0.006489f, 0.022279f, -0.000650f, 0.006769f, 0.025228f, 0.008901f, 0.007363f, -0.003991f, 0.012990f, 0.012504f, 0.013701f, -0.024973f, -0.015872f, -0.015024f, 0.011788f, 0.010781f, + 0.012997f, 0.000961f, -0.015777f, 0.006672f, -0.002676f, 0.007307f, -0.022534f, 0.008897f, 0.013117f, -0.010100f, 0.005483f, 0.011194f, 0.002713f, -0.000018f, 0.001997f, -0.003186f, 0.019098f, 0.013507f, 0.010060f, 0.000683f, 0.006413f, 0.015288f, -0.013736f, -0.006925f, 0.000313f, 0.020107f, 0.012338f, 0.008067f, -0.015302f, 0.000801f, 0.009790f, 0.012080f, -0.004546f, 0.003889f, 0.011180f, 0.014523f, 0.004117f, 0.013417f, 0.004830f, -0.001345f, -0.012684f, 0.000016f, -0.020858f, -0.008303f, -0.010316f, 0.001669f, 0.006093f, -0.011936f, -0.005509f, -0.021834f, 0.008469f, -0.006535f, -0.001349f, 0.010364f, 0.014817f, 0.017536f, 0.004133f, 0.023995f, 0.007991f, -0.004497f, -0.010688f, -0.029232f, -0.013642f, 0.017336f, -0.005839f, -0.026906f, -0.006722f, -0.004573f, 0.004424f, 0.014315f, 0.022796f, -0.001682f, 0.006972f, -0.005511f, 0.011547f, -0.012896f, -0.012955f, -0.014731f, -0.025114f, 0.013221f, 0.008135f, -0.021697f, 0.001035f, -0.015963f, -0.005552f, 0.013313f, 0.008163f, 0.010776f, -0.002764f, -0.003397f, -0.003262f, 0.023754f, 0.019251f, 0.019504f, -0.008680f, -0.017572f, + 0.013924f, -0.002808f, -0.005634f, 0.016693f, 0.003495f, 0.016396f, -0.000102f, 0.008906f, -0.011457f, -0.001211f, 0.008978f, -0.036930f, -0.005005f, 0.001110f, -0.026098f, 0.006231f, -0.006269f, 0.024116f, 0.016348f, -0.015934f, 0.001753f, 0.021890f, -0.001770f, 0.010738f, -0.007000f, 0.014725f, -0.006598f, 0.002178f, -0.005333f, -0.000567f, 0.011614f, -0.015763f, 0.016637f, 0.007095f, 0.009728f, 0.001404f, 0.020423f, -0.058589f, -0.012244f, 0.031326f, -0.025169f, -0.009195f, 0.026861f, 0.010064f, -0.008215f, 0.002879f, -0.021797f, 0.019792f, -0.002185f, -0.035447f, 0.002898f, -0.001695f, 0.013838f, 0.013410f, -0.006644f, -0.027623f, -0.011479f, -0.010353f, 0.001095f, -0.014533f, -0.007625f, -0.018581f, -0.004866f, 0.021072f, -0.016343f, -0.008063f, -0.005858f, -0.010531f, -0.010943f, -0.015266f, 0.011553f, 0.002791f, 0.014231f, 0.002996f, -0.009064f, -0.014628f, -0.014233f, -0.002365f, 0.011021f, 0.015676f, -0.004250f, -0.012681f, 0.015288f, 0.006849f, -0.020186f, -0.022747f, -0.047229f, -0.003218f, -0.014215f, -0.008220f, 0.008504f, 0.008576f, 0.005839f, 0.023051f, -0.000771f, -0.008990f, + 0.000285f, -0.009694f, 0.026508f, 0.014796f, -0.002988f, 0.014996f, -0.011969f, 0.008840f, 0.007876f, -0.011587f, -0.003597f, -0.009986f, 0.011439f, 0.008616f, -0.019413f, 0.017518f, 0.026472f, 0.000595f, 0.012013f, 0.037227f, -0.016550f, 0.013160f, -0.007936f, -0.001689f, 0.023810f, -0.008027f, -0.008351f, -0.006865f, -0.000522f, 0.002283f, 0.016666f, 0.049489f, -0.001279f, 0.001431f, 0.015716f, 0.001644f, 0.001761f, -0.025601f, -0.023373f, 0.002137f, 0.004915f, -0.017350f, -0.006478f, -0.005334f, 0.015668f, -0.008027f, 0.004244f, -0.002089f, 0.007675f, -0.008185f, 0.031338f, 0.014775f, -0.012468f, 0.014593f, 0.016347f, -0.019916f, 0.004631f, 0.005812f, 0.007450f, -0.006932f, -0.004653f, 0.022925f, -0.020305f, 0.007238f, 0.028971f, -0.011605f, 0.004892f, 0.015567f, -0.000454f, 0.013218f, 0.009911f, -0.001938f, 0.009908f, 0.010917f, 0.019589f, 0.009065f, 0.002974f, -0.003075f, -0.010961f, -0.016328f, 0.002054f, -0.001117f, -0.041837f, 0.025528f, -0.005071f, -0.016444f, -0.013451f, -0.035120f, -0.034262f, -0.027037f, 0.006115f, 0.013502f, -0.004706f, -0.003219f, -0.001110f, 0.051866f, + 0.053393f, -0.002213f, -0.043059f, 0.007772f, 0.009515f, -0.005814f, 0.011978f, 0.005723f, 0.004321f, -0.001383f, -0.006918f, 0.041703f, 0.008320f, -0.007825f, -0.047082f, -0.027707f, 0.011587f, -0.004010f, -0.016176f, -0.029584f, 0.004284f, 0.003671f, 0.007583f, -0.008309f, -0.030989f, -0.034571f, 0.036298f, 0.032854f, 0.010820f, 0.030006f, -0.026713f, 0.002210f, 0.014133f, -0.007158f, -0.016979f, -0.032163f, -0.015140f, 0.003762f, -0.001352f, -0.016079f, 0.014667f, -0.001529f, 0.014182f, 0.009728f, 0.000596f, -0.034884f, -0.019377f, -0.017568f, -0.002971f, 0.001168f, 0.003972f, -0.007937f, -0.009752f, -0.000220f, 0.004798f, -0.032054f, -0.008000f, 0.001988f, 0.005940f, -0.016381f, -0.037560f, -0.011855f, -0.010119f, 0.023623f, -0.002043f, 0.008341f, -0.013423f, -0.013641f, -0.017753f, -0.023254f, -0.012266f, -0.002612f, -0.003132f, 0.016138f, -0.015684f, -0.004704f, -0.010030f, 0.011564f, -0.008163f, 0.024958f, -0.013815f, 0.006089f, -0.010910f, 0.003872f, 0.003966f, -0.012284f, -0.011783f, -0.023577f, -0.030457f, -0.016527f, -0.009347f, 0.000849f, -0.001327f, -0.013559f, -0.016609f, -0.027287f, + 0.012136f, -0.027335f, -0.040050f, 0.026766f, -0.024831f, -0.026766f, 0.024963f, 0.007388f, -0.008150f, 0.031255f, 0.014662f, -0.020212f, 0.018746f, -0.055079f, -0.005962f, -0.012398f, -0.008220f, -0.024605f, 0.045136f, 0.024537f, -0.015956f, 0.009384f, 0.012752f, -0.007406f, 0.014281f, 0.002770f, -0.001449f, -0.010934f, 0.013759f, 0.021003f, 0.022631f, -0.036283f, -0.003615f, 0.002448f, 0.009238f, -0.014879f, -0.009067f, -0.015125f, -0.020033f, 0.033880f, 0.007600f, -0.020175f, 0.009501f, -0.011228f, -0.017705f, -0.021661f, -0.047780f, 0.015210f, 0.027372f, 0.005608f, 0.027616f, 0.044739f, -0.004834f, -0.012561f, -0.040862f, 0.007809f, -0.006145f, -0.031949f, 0.003579f, -0.072266f, -0.049912f, -0.034362f, 0.018258f, 0.037112f, -0.052500f, 0.012864f, 0.035886f, 0.023524f, -0.001292f, 0.014312f, 0.033807f, -0.014973f, -0.002820f, -0.009150f, 0.000273f, -0.021527f, 0.015229f, 0.001282f, 0.001154f, 0.006867f, 0.045607f, -0.001363f, -0.021168f, -0.018910f, 0.010325f, 0.035134f, -0.014495f, -0.033510f, 0.009543f, 0.035681f, 0.019499f, -0.003586f, 0.016102f, 0.012465f, 0.015489f, 0.004735f, + 0.013012f, 0.024647f, -0.003640f, -0.038402f, 0.001274f, 0.013437f, -0.037822f, -0.025829f, 0.035577f, 0.029780f, -0.028756f, -0.017022f, 0.008126f, -0.000492f, 0.017050f, 0.045581f, -0.010264f, -0.007051f, 0.007593f, -0.000727f, 0.015507f, 0.009791f, -0.016973f, -0.010936f, -0.007016f, 0.014725f, 0.010717f, -0.009848f, -0.033145f, -0.003623f, -0.049483f, 0.047714f, 0.006035f, -0.006041f, 0.002134f, 0.021330f, -0.004449f, -0.018763f, -0.008947f, -0.002935f, -0.028330f, -0.001220f, 0.004768f, -0.034646f, -0.009246f, 0.025975f, 0.033678f, 0.023881f, 0.062968f, 0.038003f, 0.057007f, 0.021239f, 0.014811f, -0.029737f, 0.031821f, -0.011000f, -0.003962f, -0.023895f, -0.016151f, 0.030813f, -0.010582f, 0.070156f, 0.032308f, 0.020041f, -0.004259f, 0.015981f, -0.011612f, -0.033193f, -0.017197f, -0.020746f, 0.014225f, -0.019603f, -0.001095f, -0.020971f, 0.011347f, 0.028241f, 0.025108f, -0.002125f, 0.036597f, 0.030800f, 0.000615f, -0.011332f, -0.015186f, -0.026090f, -0.009766f, 0.058478f, 0.021851f, 0.067382f, -0.022948f, -0.000143f, -0.003442f, 0.015339f, 0.053262f, 0.018183f, 0.000027f, 0.034549f, + 0.038769f, 0.041934f, -0.005284f, -0.025463f, -0.010746f, -0.007291f, -0.008875f, 0.027785f, 0.017409f, 0.026439f, 0.038781f, -0.025486f, 0.059452f, -0.041281f, -0.079970f, -0.011691f, -0.027063f, 0.016521f, 0.035660f, 0.060898f, -0.030792f, -0.022367f, 0.020507f, -0.016782f, -0.004213f, -0.007280f, 0.007141f, 0.027298f, 0.027313f, 0.042749f, -0.046440f, 0.052479f, -0.019307f, 0.005676f, -0.024435f, 0.022396f, 0.038148f, 0.016906f, 0.006536f, 0.003722f, 0.046723f, 0.012686f, -0.002121f, -0.014556f, -0.007721f, -0.047515f, -0.007011f, -0.022495f, -0.058908f, 0.006180f, -0.003838f, 0.025131f, -0.061206f, -0.010671f, 0.014115f, 0.023869f, 0.050634f, -0.012580f, 0.014739f, 0.029141f, 0.004216f, -0.005563f, 0.014464f, -0.011911f, -0.003268f, -0.074481f, 0.006976f, -0.030663f, -0.037753f, -0.040604f, 0.017661f, -0.066204f, 0.023087f, -0.023379f, -0.033550f, -0.044091f, 0.042807f, 0.048154f, 0.045739f, 0.012269f, 0.009295f, 0.045793f, -0.057519f, -0.001734f, -0.016727f, 0.028180f, -0.068253f, -0.019265f, -0.005525f, 0.027681f, 0.019505f, 0.020388f, 0.029742f, -0.019097f, 0.010527f, -0.020003f, + -0.054057f, -0.002127f, -0.018537f, 0.064253f, 0.014829f, 0.045191f, -0.013887f, 0.062119f, -0.038348f, -0.075198f, 0.018108f, 0.011755f, 0.009865f, -0.037710f, -0.040632f, -0.033673f, 0.013830f, -0.033843f, 0.016142f, -0.018186f, 0.051109f, -0.016654f, -0.005823f, 0.035267f, 0.002817f, -0.089268f, -0.035181f, -0.001481f, 0.060410f, -0.006929f, -0.016497f, -0.051092f, 0.010789f, -0.012606f, -0.041868f, -0.051886f, -0.003963f, 0.009680f, -0.015760f, -0.019519f, -0.049797f, 0.034416f, -0.010636f, 0.012719f, -0.023549f, 0.001745f, 0.017835f, 0.010146f, 0.048383f, 0.001330f, -0.013220f, -0.058649f, -0.018375f, 0.030008f, -0.038081f, -0.019478f, 0.017999f, 0.034361f, 0.028612f, 0.067184f, 0.053073f, 0.002922f, 0.041192f, 0.041104f, 0.016721f, 0.004094f, 0.026458f, -0.016466f, 0.102796f, -0.042032f, -0.103446f, 0.032689f, -0.086823f, 0.001351f, -0.066052f, 0.006057f, 0.093198f, 0.043749f, -0.064996f, -0.039204f, -0.028138f, -0.019447f, 0.023022f, 0.041755f, -0.025118f, 0.005317f, 0.032884f, -0.067899f, 0.003267f, 0.019433f, -0.055209f, 0.030567f, -0.019565f, 0.027396f, 0.007435f, 0.030573f, + 0.001317f, -0.031360f, 0.034205f, -0.041754f, -0.011317f, 0.090593f, -0.037215f, 0.035420f, -0.022112f, 0.039473f, 0.031469f, -0.007783f, -0.039440f, 0.044408f, 0.104622f, -0.054060f, 0.014038f, -0.072903f, 0.037969f, 0.027494f, -0.042487f, 0.050368f, 0.003596f, -0.087970f, 0.012618f, 0.009024f, 0.041613f, -0.006676f, -0.006968f, -0.043720f, -0.047522f, -0.019278f, 0.115075f, -0.012464f, 0.058440f, -0.046064f, 0.038553f, 0.024402f, -0.010405f, -0.033727f, -0.006973f, 0.038581f, 0.065395f, -0.017120f, -0.020966f, -0.000146f, 0.013790f, 0.063564f, -0.012903f, -0.005687f, -0.040033f, 0.021187f, -0.060627f, -0.018844f, 0.048229f, 0.065171f, 0.010146f, 0.013432f, -0.064149f, 0.046400f, 0.035665f, -0.075205f, 0.002752f, -0.037044f, 0.000237f, -0.083180f, 0.083901f, 0.082536f, -0.012834f, -0.034980f, -0.018871f, -0.010746f, 0.038280f, -0.038712f, 0.050809f, -0.068319f, -0.047612f, 0.026745f, 0.021442f, 0.011771f, 0.020574f, 0.076265f, 0.015602f, 0.038455f, 0.003997f, 0.039844f, 0.019387f, -0.009587f, 0.002445f, 0.034938f, -0.006541f, 0.004089f, 0.051700f, 0.031911f, 0.069302f, 0.000097f, + 0.037611f, 0.007148f, -0.058365f, 0.062421f, -0.032892f, 0.001262f, 0.012695f, -0.043469f, -0.038864f, 0.027833f, 0.076080f, 0.052120f, 0.024853f, -0.094873f, -0.028158f, -0.063587f, -0.004689f, 0.125413f, 0.072451f, 0.097639f, 0.003138f, -0.074777f, 0.022921f, 0.097433f, 0.014801f, -0.009858f, 0.073881f, 0.020967f, 0.048815f, -0.118739f, -0.111868f, 0.094053f, -0.006694f, -0.018873f, -0.083405f, 0.000706f, -0.026811f, 0.057793f, 0.040720f, 0.018035f, 0.029701f, -0.071927f, 0.040290f, 0.065051f, -0.000409f, 0.025221f, -0.059717f, 0.047229f, -0.030022f, 0.024966f, -0.003281f, 0.004657f, 0.030762f, -0.006724f, 0.018053f, -0.003132f, -0.049423f, 0.016123f, -0.008735f, 0.053435f, 0.036993f, 0.065371f, 0.014346f, -0.042256f, -0.044651f, 0.044001f, 0.038163f, 0.025020f, -0.002556f, 0.018536f, -0.018804f, -0.033742f, -0.000355f, -0.009608f, 0.047056f, 0.042456f, 0.025704f, 0.047619f, 0.036430f, -0.055997f, 0.059045f, 0.070697f, 0.040025f, -0.027659f, -0.037628f, -0.037099f, 0.049379f, 0.039434f, 0.086401f, -0.052765f, -0.067551f, -0.038833f, -0.095050f, -0.016026f, 0.080525f, 0.020949f, + 0.060183f, -0.069870f, -0.094451f, 0.025129f, 0.038605f, -0.063842f, -0.003345f, -0.048521f, 0.006789f, -0.056382f, -0.022898f, 0.042085f, 0.013197f, -0.047348f, 0.000694f, -0.030241f, -0.118137f, 0.017366f, 0.072760f, -0.002285f, -0.146560f, -0.031363f, -0.002196f, 0.000513f, 0.053070f, -0.139136f, -0.014340f, 0.060796f, -0.100342f, 0.021231f, -0.022009f, 0.116539f, 0.063602f, -0.074337f, 0.018708f, 0.077533f, 0.008849f, -0.033965f, 0.026848f, 0.016721f, 0.010938f, -0.004058f, -0.007607f, 0.003448f, 0.013213f, 0.024471f, 0.082031f, 0.062661f, 0.071587f, 0.045812f, 0.090022f, 0.040618f, 0.091889f, 0.034515f, 0.081297f, -0.002511f, 0.050089f, 0.041923f, 0.049450f, 0.034581f, -0.004835f, 0.010939f, -0.064173f, -0.041783f, 0.118076f, -0.002938f, -0.049559f, -0.017999f, 0.035565f, 0.058246f, 0.126505f, -0.022357f, -0.073325f, -0.040818f, -0.054972f, 0.067993f, 0.080866f, 0.088424f, 0.025858f, -0.009190f, 0.059958f, -0.114076f, 0.094410f, 0.031010f, -0.056166f, -0.007513f, -0.172730f, -0.002861f, -0.115985f, -0.161296f, -0.043295f, -0.098154f, -0.043789f, 0.166444f, 0.156969f, 0.138433f, + -0.040296f, 0.105205f, 0.129371f, -0.107258f, -0.097047f, 0.032205f, 0.113228f, 0.002102f, -0.051964f, -0.000339f, 0.031323f, 0.033028f, -0.092209f, 0.033837f, -0.011540f, 0.048319f, -0.050156f, -0.025423f, -0.058874f, 0.062324f, -0.007564f, -0.028873f, -0.054848f, 0.040021f, 0.025418f, -0.010751f, -0.046015f, 0.020995f, 0.022344f, 0.009954f, -0.040310f, -0.007342f, -0.000487f, 0.046928f, -0.034704f, -0.010403f, -0.051418f, -0.015668f, 0.020457f, 0.040655f, -0.053268f, -0.023100f, 0.061455f, 0.048513f, -0.012975f, -0.038031f, 0.002535f, -0.020705f, 0.052361f, -0.030887f, -0.012321f, 0.020984f, 0.021457f, 0.026993f, -0.023258f, 0.005107f, -0.033156f, 0.039355f, 0.055612f, 0.020053f, 0.012982f, -0.044506f, 0.050866f, -0.037168f, 0.076294f, -0.056955f, 0.063196f, -0.094762f, 0.067375f, 0.000436f, 0.003515f, -0.070361f, -0.008605f, 0.010830f, -0.004238f, -0.004655f, -0.002840f, -0.023527f, 0.103205f, 0.108651f, -0.063660f, -0.038602f, 0.022266f, 0.103760f, 0.065416f, 0.038347f, 0.038018f, -0.017109f, -0.042985f, -0.013699f, 0.025175f, -0.000857f, -0.009594f, 0.030645f, 0.001245f, 0.021474f, + 0.003411f, -0.012104f, -0.038359f, -0.010804f, -0.001525f, 0.002476f, -0.000762f, -0.032166f, 0.036276f, 0.005541f, -0.013441f, -0.001160f, -0.000232f, 0.000163f, 0.023791f, 0.041740f, 0.018865f, 0.003962f, -0.014177f, -0.022030f, -0.004641f, 0.013432f, 0.029242f, 0.037763f, -0.020086f, -0.021081f, 0.005892f, 0.038263f, 0.018527f, 0.008499f, -0.016050f, -0.034824f, 0.031072f, -0.006050f, 0.002292f, 0.002181f, 0.011129f, 0.009444f, -0.002544f, -0.000876f, -0.020886f, 0.004040f, 0.022014f, -0.008760f, 0.014156f, -0.005701f, -0.013739f, 0.011634f, -0.000312f, 0.007395f, 0.001944f, 0.019949f, 0.015583f, -0.022302f, 0.012380f, 0.006977f, -0.040264f, -0.036581f, -0.135084f, 0.057224f, 0.209208f, 0.192308f, 0.164777f, 0.065345f, -0.155528f, -0.097817f, -0.139744f, -0.157288f, -0.139980f, -0.041058f, 0.030914f, 0.118317f, 0.123928f, 0.147654f, 0.098467f, 0.098646f, 0.003100f, -0.103817f, -0.098451f, -0.122212f, -0.094881f, -0.053177f, -0.002812f, -0.034206f, 0.037976f, 0.045921f, 0.075118f, 0.081701f, 0.083749f, 0.049545f, 0.005145f, 0.022165f, -0.017216f, 0.012031f, -0.055606f, -0.040882f, + -0.051279f, -0.085314f, -0.066771f, -0.051670f, -0.035496f, -0.060429f, 0.009842f, 0.104588f, 0.118999f, 0.066267f, 0.124462f, 0.031204f, 0.073399f, 0.037729f, 0.022878f, -0.029934f, -0.063646f, -0.088809f, -0.124163f, -0.095576f, -0.141742f, -0.058187f, -0.061573f, 0.043089f, 0.044286f, 0.122585f, 0.142129f, 0.126204f, 0.113894f, 0.110856f, 0.071844f, 0.012445f, -0.032116f, -0.109308f, -0.064708f, -0.141123f, -0.115953f, -0.156398f, 0.010384f, 0.006756f, 0.021041f} + }, + { + {0.020698f, -0.004062f, 0.005796f, 0.002807f, -0.010564f, 0.002857f, 0.009064f, -0.003562f, -0.001485f, 0.002784f, -0.004037f, -0.009849f, 0.010475f, -0.002352f, 0.018329f, -0.000190f, 0.001916f, 0.007867f, -0.011239f, -0.003773f, -0.012030f, -0.002116f, -0.005337f, 0.005000f, 0.008364f, 0.001960f, -0.003793f, -0.000792f, -0.000286f, 0.008061f, -0.006312f, -0.003987f, -0.008589f, 0.006467f, 0.003400f, 0.000002f, 0.001220f, -0.006929f, 0.005549f, -0.008141f, 0.000790f, -0.004164f, 0.006771f, 0.005495f, -0.009145f, 0.000942f, -0.010951f, 0.000511f, 0.003659f, 0.003977f, 0.004632f, 0.003670f, 0.001253f, -0.006299f, -0.004754f, 0.002588f, 0.004221f, -0.004512f, 0.010775f, -0.003460f, 0.001469f, -0.002504f, -0.000642f, 0.001611f, -0.001390f, 0.007874f, -0.005645f, 0.015354f, 0.002821f, 0.002428f, -0.003398f, -0.000368f, 0.001380f, 0.002407f, 0.000241f, 0.001749f, -0.009393f, -0.010067f, -0.007906f, 0.002016f, -0.004444f, -0.000991f, -0.001118f, 0.004467f, 0.019042f, -0.005287f, 0.002104f, -0.018193f, -0.009593f, 0.005207f, -0.008326f, -0.006920f, -0.002318f, -0.007850f, -0.001812f, 0.015346f, + -0.006518f, -0.010292f, 0.017074f, 0.013223f, -0.004582f, -0.003435f, 0.015639f, 0.004089f, 0.006175f, 0.002668f, 0.000936f, -0.004281f, -0.006337f, 0.005791f, -0.004679f, 0.004233f, 0.001834f, 0.001407f, -0.001994f, -0.005681f, -0.004000f, 0.003392f, -0.004633f, -0.007975f, -0.003255f, -0.003801f, -0.009491f, 0.010491f, 0.017034f, -0.010159f, 0.005662f, -0.000006f, -0.003637f, 0.002177f, -0.000269f, -0.000388f, -0.005505f, 0.009879f, -0.006048f, -0.008249f, 0.008829f, 0.002006f, -0.000315f, -0.001677f, 0.004910f, -0.000468f, -0.000003f, -0.003855f, -0.001374f, 0.008201f, -0.013272f, 0.003429f, 0.002583f, -0.004623f, -0.003092f, -0.006425f, -0.006494f, -0.029722f, -0.004625f, -0.010898f, -0.002608f, 0.002336f, -0.008030f, -0.018142f, 0.013309f, -0.004502f, 0.003140f, 0.008808f, -0.002766f, -0.000968f, -0.001053f, 0.004021f, -0.003086f, 0.014860f, -0.000570f, 0.011448f, 0.016930f, -0.020328f, 0.004293f, 0.014012f, 0.001014f, 0.002739f, 0.009789f, 0.017941f, 0.002618f, -0.004118f, 0.009106f, -0.002478f, -0.004655f, 0.003993f, 0.003244f, 0.003950f, -0.005033f, 0.018285f, -0.008433f, 0.004565f, + 0.006885f, -0.000148f, -0.000859f, -0.009018f, 0.001496f, -0.010436f, 0.008755f, -0.010658f, -0.008098f, 0.005815f, -0.009839f, 0.006725f, -0.006854f, 0.002800f, -0.005522f, 0.003725f, 0.008038f, 0.015603f, 0.004856f, 0.001745f, 0.007673f, 0.000102f, -0.013446f, 0.001793f, 0.003877f, 0.005160f, -0.003310f, 0.000749f, -0.001759f, 0.002641f, 0.007655f, 0.004662f, 0.010428f, 0.003733f, 0.001497f, -0.006003f, -0.003132f, 0.006233f, -0.010718f, 0.007956f, 0.005276f, 0.001554f, 0.010204f, -0.000623f, 0.005722f, 0.013749f, 0.008589f, 0.018044f, 0.003507f, -0.002804f, -0.018606f, 0.002789f, -0.011426f, -0.003966f, 0.001395f, 0.004019f, -0.007189f, -0.000192f, 0.017818f, -0.009356f, -0.000552f, -0.009362f, 0.004262f, -0.000160f, 0.003378f, 0.007029f, 0.008504f, -0.005713f, 0.006344f, 0.006354f, 0.012808f, 0.000151f, -0.012824f, 0.000862f, 0.013564f, -0.001747f, -0.001011f, -0.002324f, 0.009055f, -0.011195f, 0.000731f, 0.006546f, 0.009044f, 0.010518f, -0.004348f, -0.007811f, -0.001122f, 0.015267f, 0.001282f, 0.005072f, -0.013128f, -0.006498f, 0.002925f, 0.001890f, -0.002426f, 0.007575f, + -0.000798f, -0.002665f, 0.004507f, -0.009131f, 0.000303f, -0.002380f, 0.005346f, 0.007301f, -0.012749f, -0.004191f, 0.003900f, 0.006843f, -0.005500f, -0.006977f, 0.003442f, 0.007777f, -0.000752f, 0.003893f, 0.031788f, 0.016104f, 0.012243f, -0.011551f, -0.002597f, -0.016303f, -0.012447f, 0.018396f, 0.001132f, -0.010893f, -0.005769f, 0.004273f, -0.011223f, -0.000547f, 0.017745f, 0.007717f, -0.001278f, 0.006265f, 0.026248f, -0.017435f, 0.003740f, -0.002958f, -0.009203f, 0.015770f, 0.007275f, 0.008350f, -0.006550f, 0.007247f, 0.008280f, -0.002382f, 0.005107f, -0.001481f, -0.008208f, 0.001902f, 0.002290f, -0.001030f, 0.008485f, 0.002520f, -0.003863f, 0.010298f, -0.005175f, -0.004480f, -0.006406f, 0.003046f, 0.003251f, 0.000938f, 0.006606f, 0.001152f, 0.022066f, 0.001649f, -0.000613f, -0.005133f, -0.005329f, 0.005539f, -0.017464f, 0.000767f, 0.009531f, 0.008068f, -0.009687f, 0.013338f, -0.000340f, 0.005902f, 0.010123f, -0.003165f, 0.007739f, 0.006193f, -0.003421f, -0.009947f, -0.007780f, 0.005575f, 0.014819f, 0.003673f, -0.006804f, -0.004197f, -0.003664f, 0.008931f, 0.007511f, 0.002309f, + 0.020799f, 0.005465f, 0.012240f, -0.000394f, 0.002415f, 0.003671f, 0.003095f, -0.003394f, 0.012409f, -0.005360f, 0.013424f, -0.006816f, -0.005914f, 0.003627f, -0.009763f, -0.002694f, -0.003501f, 0.003818f, 0.005141f, -0.003833f, -0.014150f, 0.005935f, -0.017007f, -0.006806f, -0.003536f, -0.000657f, -0.003365f, 0.002857f, 0.013732f, 0.007864f, 0.000089f, -0.015603f, -0.015524f, 0.000016f, 0.008845f, -0.005742f, 0.000498f, -0.002470f, -0.007559f, -0.010420f, -0.000137f, 0.005859f, 0.012871f, 0.011878f, -0.002885f, 0.003184f, -0.018962f, 0.005048f, 0.010339f, 0.012243f, -0.003097f, 0.010968f, 0.001072f, 0.016392f, 0.008847f, 0.001970f, 0.006299f, -0.002354f, -0.006421f, -0.004852f, -0.003708f, 0.009203f, -0.006302f, -0.008391f, -0.009938f, 0.008697f, -0.005071f, -0.022181f, 0.001238f, 0.004172f, 0.007943f, 0.010212f, 0.020686f, -0.015245f, -0.012203f, -0.029575f, 0.015186f, 0.017648f, 0.004185f, 0.014445f, 0.003870f, -0.015839f, 0.000334f, -0.008187f, -0.001823f, 0.013263f, -0.017480f, -0.006829f, 0.008458f, 0.006084f, 0.019137f, -0.004870f, 0.009298f, -0.028663f, -0.012053f, 0.005559f, + 0.017937f, -0.012002f, -0.005765f, -0.012750f, -0.011838f, 0.005807f, 0.000199f, -0.001208f, 0.007023f, 0.001160f, 0.007271f, 0.019822f, -0.010831f, 0.019216f, 0.000854f, 0.002922f, 0.006569f, 0.003207f, -0.004136f, 0.005903f, -0.012425f, -0.003968f, -0.005782f, -0.002714f, -0.008616f, 0.011909f, 0.004516f, 0.035058f, 0.003413f, -0.003417f, -0.006852f, 0.000536f, -0.005304f, 0.017884f, -0.009241f, 0.001521f, -0.018663f, 0.014941f, 0.017202f, -0.018410f, 0.013399f, 0.010064f, 0.007334f, -0.010233f, -0.006725f, 0.015298f, 0.007222f, -0.023557f, 0.014359f, -0.011268f, -0.002373f, 0.005159f, -0.001842f, 0.002434f, 0.009027f, 0.006912f, -0.004682f, 0.012001f, 0.002718f, -0.000525f, -0.010041f, -0.017726f, 0.006545f, -0.009619f, -0.003397f, 0.016664f, -0.022625f, -0.009808f, -0.016552f, -0.001930f, 0.014966f, -0.001537f, -0.011563f, -0.016823f, -0.018248f, 0.007134f, 0.020244f, -0.005804f, 0.012836f, 0.018486f, -0.004659f, -0.004393f, 0.007791f, 0.010265f, 0.022604f, -0.003263f, 0.012949f, 0.001759f, 0.026806f, 0.019289f, 0.005847f, -0.006182f, 0.003228f, -0.014532f, 0.026084f, 0.005973f, + -0.010642f, -0.012410f, 0.015321f, 0.012516f, 0.009571f, 0.006492f, 0.005012f, 0.013354f, -0.005046f, 0.006008f, -0.008059f, 0.001478f, 0.001400f, -0.013005f, -0.017014f, -0.005996f, -0.011802f, 0.008367f, -0.006921f, -0.005306f, -0.018597f, -0.011745f, 0.004423f, -0.006146f, -0.001604f, 0.009788f, 0.020044f, 0.024958f, 0.013339f, 0.010699f, -0.008434f, -0.019244f, 0.000737f, -0.013284f, -0.032147f, -0.036497f, -0.012007f, 0.002613f, 0.017518f, -0.012410f, 0.008291f, 0.006391f, -0.001276f, 0.027825f, -0.004157f, 0.026240f, -0.015573f, 0.008174f, 0.007621f, 0.000992f, -0.023855f, -0.008979f, -0.009182f, -0.025854f, 0.008637f, -0.005880f, 0.005228f, -0.000911f, 0.009243f, 0.000733f, -0.010764f, 0.006334f, -0.017446f, 0.013430f, 0.007056f, 0.029958f, -0.001542f, 0.001739f, 0.026321f, -0.022621f, 0.020396f, 0.026225f, -0.016062f, 0.017242f, -0.007009f, -0.006680f, -0.013458f, 0.004355f, 0.002920f, 0.019038f, 0.011468f, -0.003569f, -0.007568f, -0.014193f, 0.008351f, 0.010704f, -0.017550f, -0.006691f, 0.016483f, -0.027543f, 0.002798f, -0.020929f, 0.012736f, 0.002612f, -0.000188f, 0.008189f, + -0.007225f, 0.004109f, 0.026966f, -0.009282f, 0.006356f, 0.014705f, 0.008852f, 0.003371f, -0.013096f, 0.008353f, 0.006335f, -0.005658f, -0.021179f, 0.003286f, -0.003141f, -0.013260f, -0.014743f, 0.043628f, -0.015975f, 0.008106f, 0.006729f, 0.015273f, 0.005339f, 0.009087f, 0.022389f, -0.017459f, -0.010056f, -0.001858f, 0.030988f, -0.012271f, -0.012637f, -0.015647f, 0.007947f, 0.004642f, 0.017127f, -0.035405f, 0.000709f, 0.000265f, -0.001997f, 0.017477f, -0.003983f, 0.013366f, 0.026056f, -0.019151f, -0.008007f, 0.006834f, -0.013642f, -0.018107f, 0.012216f, -0.016858f, 0.024518f, -0.004617f, -0.024503f, -0.003784f, -0.013916f, 0.007400f, 0.020064f, -0.000883f, 0.010328f, -0.001727f, 0.004194f, 0.022961f, 0.001088f, 0.016509f, 0.007095f, -0.013272f, 0.013658f, 0.010838f, 0.001948f, 0.009010f, 0.034067f, -0.006136f, -0.014754f, 0.007441f, -0.018765f, 0.000918f, 0.032599f, 0.010316f, 0.005524f, -0.006780f, -0.008741f, -0.006905f, -0.010873f, 0.018610f, -0.012186f, -0.004321f, -0.007328f, 0.020853f, -0.039778f, 0.012219f, 0.015015f, 0.021543f, 0.006516f, 0.065024f, 0.019503f, -0.011891f, + -0.015701f, -0.013320f, 0.047280f, -0.040612f, 0.003388f, 0.015962f, 0.002533f, -0.021957f, -0.004780f, 0.011159f, -0.002132f, 0.002696f, 0.019811f, -0.020086f, -0.016726f, 0.008528f, 0.025797f, 0.015926f, 0.006912f, -0.012110f, -0.011719f, -0.011349f, -0.013162f, 0.012932f, 0.005421f, 0.018432f, 0.014948f, 0.008642f, -0.018746f, -0.008724f, -0.019972f, -0.003614f, -0.012907f, -0.030420f, -0.005215f, 0.014336f, 0.003644f, -0.013768f, -0.013849f, 0.000979f, 0.008111f, 0.020009f, 0.003126f, 0.010524f, 0.003502f, 0.038152f, -0.031706f, 0.022051f, 0.004746f, -0.032212f, -0.005179f, -0.009019f, -0.007355f, 0.006121f, -0.013623f, 0.009867f, 0.007261f, 0.016038f, -0.017143f, 0.007725f, 0.029890f, 0.015002f, 0.046941f, -0.008695f, -0.000198f, -0.009543f, -0.004897f, 0.003213f, -0.000189f, -0.041396f, 0.019763f, 0.000641f, -0.003421f, 0.014205f, -0.003210f, -0.022534f, 0.006004f, 0.011079f, 0.000231f, -0.014180f, -0.008627f, -0.029750f, -0.033740f, 0.006298f, -0.014620f, -0.008118f, 0.005655f, -0.001171f, -0.003026f, -0.016247f, -0.007066f, -0.001075f, 0.012596f, 0.011918f, -0.018389f, -0.011808f, + 0.012364f, -0.017918f, -0.007868f, -0.028735f, 0.027249f, -0.004536f, 0.024562f, 0.001047f, 0.009427f, 0.024593f, 0.019741f, -0.012523f, 0.006148f, 0.011915f, -0.013454f, -0.006757f, 0.012953f, -0.005921f, -0.030594f, -0.006953f, -0.021415f, 0.030389f, -0.003227f, -0.009696f, -0.018017f, -0.027729f, 0.009496f, 0.004233f, 0.006215f, 0.011624f, 0.000242f, -0.006259f, 0.013516f, 0.001990f, -0.002776f, 0.003253f, -0.007853f, 0.019316f, -0.005243f, 0.011532f, 0.038668f, 0.006967f, 0.006871f, 0.007315f, 0.013843f, -0.035929f, -0.028199f, 0.008386f, -0.030880f, 0.018498f, -0.005343f, 0.021180f, 0.004687f, 0.042944f, 0.014617f, -0.012802f, -0.002014f, -0.056230f, -0.038142f, 0.013610f, -0.014800f, -0.032899f, -0.048043f, -0.002038f, 0.004498f, -0.010318f, -0.007189f, 0.045529f, 0.012744f, -0.034507f, 0.007557f, -0.021446f, -0.016734f, -0.017622f, -0.029514f, -0.005962f, 0.003208f, -0.042330f, -0.038690f, -0.015917f, 0.006850f, 0.002761f, 0.024041f, 0.018936f, 0.012775f, -0.011087f, -0.000104f, 0.007992f, -0.020931f, -0.013008f, -0.007015f, 0.005782f, -0.019722f, -0.013413f, 0.013733f, 0.006946f, + -0.000445f, -0.004375f, -0.003665f, 0.009983f, -0.028644f, -0.017711f, -0.014145f, 0.017590f, -0.022296f, 0.013646f, 0.025314f, 0.033385f, -0.002513f, 0.008514f, -0.008520f, -0.018195f, -0.022153f, -0.007480f, 0.021150f, 0.006466f, -0.039548f, 0.000059f, 0.039932f, -0.028583f, 0.000697f, -0.007492f, 0.001457f, 0.007812f, 0.019841f, -0.006145f, 0.005662f, 0.022803f, 0.016034f, 0.008726f, -0.020125f, -0.025508f, -0.033887f, 0.019366f, -0.027707f, -0.045279f, 0.006972f, -0.026938f, -0.017988f, 0.056767f, 0.002292f, 0.042893f, 0.035773f, -0.005944f, 0.037754f, 0.055791f, 0.037126f, -0.046985f, -0.007935f, -0.021001f, -0.024305f, -0.012410f, -0.000480f, -0.018429f, 0.040889f, 0.014176f, 0.021782f, -0.018221f, 0.020787f, 0.018746f, 0.004239f, -0.023615f, -0.021106f, 0.041967f, -0.008826f, -0.035925f, -0.004030f, -0.041823f, -0.007751f, 0.013834f, -0.017086f, 0.002722f, -0.037005f, 0.018102f, 0.030711f, 0.019264f, -0.006244f, -0.015575f, -0.008021f, -0.002493f, -0.007565f, -0.014393f, -0.045175f, 0.031465f, 0.015029f, 0.017441f, 0.016901f, -0.022698f, 0.036905f, 0.007013f, -0.013250f, -0.006325f, + -0.032355f, -0.011174f, 0.018200f, 0.014794f, 0.031190f, -0.000911f, -0.039513f, -0.063336f, -0.005790f, 0.002678f, -0.001750f, -0.020269f, -0.035553f, -0.002026f, 0.019496f, -0.005772f, -0.017127f, 0.070328f, 0.044731f, -0.006535f, -0.040854f, 0.008435f, 0.020738f, 0.011599f, 0.030203f, 0.044740f, -0.019565f, 0.003502f, -0.039893f, 0.011179f, 0.003604f, -0.015783f, 0.072689f, 0.027238f, 0.062775f, 0.025592f, 0.016441f, -0.054616f, 0.001184f, 0.030161f, 0.005894f, -0.029168f, 0.012626f, -0.044485f, -0.016895f, 0.002842f, 0.013763f, -0.013471f, -0.008174f, 0.009388f, 0.008287f, 0.002981f, 0.039700f, 0.024140f, 0.006964f, -0.015933f, 0.027548f, -0.017805f, -0.012043f, -0.026074f, -0.007994f, 0.033422f, -0.052573f, -0.001092f, 0.024564f, -0.026841f, -0.007622f, 0.009824f, 0.009761f, 0.048817f, -0.001995f, -0.000899f, -0.022033f, 0.047681f, -0.020423f, 0.005680f, 0.006112f, 0.032860f, -0.006588f, -0.012443f, 0.032968f, -0.053878f, 0.015384f, 0.004680f, -0.020497f, 0.042323f, -0.051482f, -0.007063f, -0.015550f, -0.035824f, -0.015014f, -0.002208f, 0.019527f, 0.038071f, 0.054794f, -0.066242f, + 0.016897f, 0.005830f, 0.080622f, 0.021183f, 0.013646f, 0.000150f, 0.038483f, 0.013389f, -0.062258f, -0.006678f, 0.063135f, -0.016469f, -0.015199f, 0.008294f, -0.005963f, 0.004413f, -0.013203f, 0.070514f, 0.075405f, -0.038084f, 0.017366f, 0.023969f, 0.010029f, 0.025239f, -0.034898f, -0.043080f, 0.034861f, 0.013591f, -0.026790f, -0.040731f, -0.014308f, -0.011113f, 0.039951f, 0.037552f, 0.017933f, -0.033381f, 0.020048f, -0.011786f, 0.012584f, 0.007050f, 0.016931f, 0.043468f, 0.008317f, -0.080768f, -0.026835f, 0.021289f, -0.034878f, 0.016244f, 0.036122f, 0.018333f, 0.063226f, -0.014625f, -0.095735f, 0.004566f, -0.038294f, 0.040400f, 0.028616f, -0.002759f, -0.020495f, 0.037686f, -0.046033f, 0.000630f, -0.024982f, 0.031204f, 0.029576f, 0.035950f, 0.027339f, -0.009080f, -0.039463f, -0.102523f, -0.056318f, -0.052016f, 0.008735f, -0.026721f, -0.026305f, 0.019001f, -0.058959f, 0.001270f, -0.036780f, -0.017620f, 0.011704f, -0.020067f, -0.003603f, 0.002186f, -0.091920f, -0.010683f, 0.057064f, -0.068224f, 0.004654f, 0.028888f, -0.001522f, 0.020983f, -0.007547f, -0.053563f, -0.006930f, 0.032959f, + 0.008029f, 0.047894f, 0.028596f, -0.045644f, -0.054201f, -0.004532f, -0.024692f, -0.005031f, -0.087877f, 0.034378f, 0.031806f, 0.062253f, 0.025110f, 0.056839f, -0.025741f, 0.009726f, 0.053949f, -0.015518f, 0.058926f, 0.019142f, 0.030201f, 0.013016f, -0.017595f, 0.032222f, -0.039072f, 0.003795f, 0.075161f, -0.057973f, 0.003572f, -0.076059f, -0.036992f, -0.054271f, -0.039954f, -0.008165f, 0.002307f, -0.016889f, -0.061093f, -0.009348f, -0.100250f, 0.112594f, 0.037546f, 0.001671f, -0.016493f, -0.026154f, 0.004921f, -0.048548f, 0.007983f, -0.073370f, 0.000829f, 0.003321f, 0.015853f, 0.045934f, 0.067603f, 0.000094f, -0.113558f, -0.056511f, 0.049134f, -0.034241f, -0.016244f, 0.019381f, -0.043238f, 0.030253f, 0.051971f, 0.017537f, -0.022166f, -0.032180f, 0.015884f, -0.041219f, 0.064273f, 0.051356f, 0.081165f, -0.058507f, -0.069388f, -0.019080f, -0.000614f, -0.037059f, 0.048127f, 0.055690f, -0.041291f, -0.001685f, -0.074407f, -0.023847f, -0.034717f, -0.069714f, 0.022526f, 0.054487f, 0.035043f, -0.046003f, -0.016135f, 0.003370f, 0.038901f, 0.003784f, -0.001668f, 0.012271f, -0.003174f, -0.021171f, + -0.059871f, -0.043471f, 0.016903f, -0.007881f, -0.031971f, 0.033765f, 0.033323f, 0.018070f, -0.061111f, -0.059402f, 0.055281f, 0.029967f, 0.041550f, -0.043324f, -0.102436f, -0.022444f, 0.045562f, 0.040587f, -0.008750f, 0.102206f, -0.010978f, 0.102619f, -0.156737f, -0.200577f, -0.078393f, -0.122311f, 0.004429f, 0.042695f, 0.027929f, 0.124793f, -0.010367f, -0.012150f, 0.029160f, -0.029295f, -0.094672f, -0.093459f, -0.091266f, 0.078496f, 0.080458f, -0.023690f, 0.035247f, 0.009562f, 0.025830f, -0.079583f, 0.069642f, 0.047389f, 0.023792f, 0.059378f, -0.034007f, 0.019646f, -0.101127f, -0.053822f, 0.030089f, 0.034707f, 0.020316f, 0.009633f, 0.015562f, 0.023012f, -0.010057f, 0.114280f, 0.013188f, 0.069543f, 0.023631f, -0.039763f, 0.092554f, -0.016623f, 0.037776f, -0.002624f, 0.034646f, -0.008050f, 0.000367f, 0.014998f, 0.047504f, 0.008218f, 0.035291f, -0.002816f, -0.004582f, 0.065825f, 0.010314f, -0.020527f, 0.003434f, -0.011344f, -0.033609f, -0.016232f, 0.022259f, 0.006996f, -0.078044f, -0.026137f, 0.012411f, 0.011743f, 0.086259f, 0.061236f, -0.080640f, -0.053306f, 0.009315f, -0.026363f, + 0.095004f, 0.000547f, 0.087963f, -0.069064f, 0.045805f, -0.001036f, 0.007850f, 0.029133f, 0.091042f, 0.045456f, 0.015525f, 0.064902f, 0.034834f, -0.050525f, -0.072915f, 0.052430f, -0.055848f, 0.022496f, -0.073381f, -0.023192f, -0.116294f, 0.099884f, -0.008018f, -0.125895f, -0.036619f, -0.005506f, 0.009860f, 0.016477f, -0.084817f, -0.042163f, 0.069768f, -0.023276f, 0.023679f, -0.027096f, 0.003979f, 0.097618f, 0.145410f, 0.016023f, -0.008130f, 0.080483f, 0.029806f, 0.037014f, 0.089389f, 0.008412f, 0.053290f, 0.074055f, 0.062611f, -0.018626f, 0.025991f, 0.065345f, 0.079364f, 0.073706f, 0.098198f, 0.063891f, 0.126031f, 0.143089f, 0.096455f, 0.115908f, 0.072341f, 0.000172f, 0.034967f, 0.027637f, -0.028857f, -0.018846f, 0.020464f, 0.072100f, 0.013747f, 0.012289f, -0.000836f, 0.040858f, 0.093458f, 0.082995f, 0.157316f, 0.042194f, -0.081936f, 0.043465f, 0.001536f, 0.044617f, -0.042019f, 0.074298f, -0.114232f, -0.135186f, 0.041183f, 0.160860f, 0.064331f, 0.042915f, -0.184002f, 0.015075f, 0.069071f, 0.125789f, 0.147642f, -0.047495f, 0.006733f, -0.239738f, -0.173812f, 0.087840f, + 0.088275f, -0.119879f, -0.042988f, 0.117667f, 0.144307f, -0.161955f, -0.059227f, 0.054631f, -0.037995f, 0.024580f, -0.051568f, 0.046681f, -0.042811f, 0.006730f, 0.005542f, -0.028429f, 0.017517f, -0.002311f, -0.009301f, -0.016018f, -0.033170f, -0.015260f, 0.013973f, -0.000179f, -0.033959f, 0.032604f, -0.030735f, -0.017333f, -0.025973f, -0.001222f, -0.024673f, 0.056430f, 0.003853f, 0.011447f, -0.011373f, 0.011437f, -0.012473f, 0.012777f, 0.042370f, 0.046275f, -0.008922f, 0.012529f, 0.023572f, 0.040176f, -0.023204f, 0.024312f, -0.020295f, 0.049328f, -0.009737f, -0.034837f, 0.021744f, -0.017637f, -0.012096f, 0.001992f, -0.000752f, 0.019062f, -0.008513f, -0.034510f, -0.026215f, 0.000965f, 0.009036f, -0.056807f, 0.019169f, -0.011476f, -0.002799f, 0.006330f, -0.013031f, -0.011551f, 0.006804f, -0.010440f, 0.007886f, -0.029899f, 0.033029f, -0.095532f, 0.048126f, -0.039387f, 0.059309f, -0.039191f, 0.006238f, -0.025358f, 0.118388f, 0.071660f, -0.039049f, -0.045057f, -0.003991f, 0.146884f, 0.061358f, 0.020388f, 0.040583f, -0.035939f, -0.045192f, 0.012235f, 0.028347f, 0.007097f, 0.002345f, -0.016053f, + -0.012489f, 0.013409f, 0.013787f, 0.033769f, 0.014877f, -0.018977f, -0.008543f, -0.009688f, -0.019053f, -0.000811f, 0.002796f, 0.008470f, 0.011081f, -0.000345f, -0.005513f, 0.012916f, -0.040097f, -0.015807f, 0.016899f, 0.024323f, 0.030512f, -0.018494f, -0.010986f, -0.019667f, 0.031127f, 0.021044f, -0.006908f, 0.009026f, -0.037823f, -0.033141f, 0.028503f, 0.021635f, 0.006207f, -0.057315f, -0.029837f, 0.000814f, 0.008183f, 0.035214f, 0.025128f, -0.005870f, 0.009578f, 0.011188f, -0.018784f, 0.013913f, 0.016000f, -0.007424f, -0.012044f, 0.007740f, -0.020102f, -0.001159f, -0.004542f, -0.016510f, -0.021260f, 0.023805f, 0.004831f, 0.001136f, 0.038406f, 0.039740f, 0.020066f, 0.017632f, -0.042870f, -0.116740f, 0.040122f, 0.215693f, 0.168860f, 0.162459f, 0.051334f, -0.150487f, -0.090975f, -0.133418f, -0.134639f, -0.122000f, -0.043257f, 0.066024f, 0.084289f, 0.133686f, 0.118993f, 0.072118f, 0.011405f, 0.011761f, -0.058636f, -0.091607f, -0.131792f, -0.050503f, -0.036363f, 0.011609f, -0.008207f, 0.066274f, 0.044070f, 0.018805f, 0.088035f, 0.049551f, 0.037148f, -0.008217f, 0.032454f, -0.060917f, + -0.046489f, -0.038280f, -0.044968f, -0.058654f, -0.035934f, -0.023958f, -0.059982f, -0.041726f, 0.014535f, 0.085580f, 0.082533f, 0.093799f, 0.073465f, 0.107263f, 0.017569f, 0.026242f, -0.073531f, -0.055287f, -0.047209f, -0.110420f, -0.109346f, -0.099143f, -0.047254f, -0.059347f, 0.011764f, 0.039093f, 0.058877f, 0.118272f, 0.117740f, 0.110520f, 0.100756f, 0.085361f, 0.017235f, -0.057918f, -0.087980f, -0.159559f, -0.133794f, -0.103123f, -0.131920f, -0.067991f, -0.018778f, 0.005163f, 0.071053f, -0.011663f}, + {0.021736f, -0.007451f, 0.005663f, -0.000828f, -0.000604f, -0.006723f, 0.003772f, 0.009929f, -0.005600f, -0.002551f, 0.001406f, -0.004267f, -0.006998f, 0.001082f, 0.000146f, -0.006679f, -0.011418f, 0.009130f, -0.004750f, 0.015686f, -0.000866f, 0.008794f, -0.012468f, -0.000567f, 0.004503f, -0.002774f, -0.006592f, -0.002739f, -0.004715f, -0.000813f, -0.003901f, 0.000418f, -0.000817f, -0.005793f, 0.003605f, -0.007730f, 0.009132f, -0.003228f, -0.002527f, -0.001496f, 0.010825f, 0.010146f, 0.000393f, 0.007538f, 0.004836f, -0.002385f, -0.002277f, 0.010106f, -0.005035f, -0.011644f, -0.000156f, -0.002499f, 0.012622f, 0.000651f, 0.001579f, -0.007943f, 0.000022f, -0.004172f, -0.004397f, -0.002159f, -0.004740f, 0.003444f, -0.006852f, -0.003069f, 0.001748f, -0.002541f, -0.007346f, -0.010273f, -0.000200f, 0.005892f, 0.003096f, 0.004963f, -0.000100f, -0.001260f, 0.001842f, -0.000646f, -0.006901f, -0.007122f, -0.012136f, 0.004529f, -0.006268f, -0.010683f, -0.007918f, 0.005802f, -0.014980f, -0.007288f, -0.018175f, 0.006728f, 0.007154f, 0.010602f, 0.004760f, -0.005488f, 0.012590f, -0.008443f, 0.002001f, 0.000914f, + -0.002590f, -0.008961f, -0.005601f, -0.009921f, -0.000277f, -0.003855f, 0.005217f, 0.004542f, -0.005733f, -0.000982f, -0.001853f, -0.009062f, -0.001111f, -0.001530f, 0.003593f, 0.000448f, 0.008045f, -0.002501f, 0.010363f, -0.004186f, -0.000588f, 0.002395f, -0.008833f, 0.006235f, -0.003230f, -0.002506f, 0.000162f, -0.001593f, 0.003480f, -0.016377f, 0.007089f, 0.010806f, 0.000645f, 0.006386f, 0.002314f, -0.006943f, -0.001863f, -0.007595f, 0.010240f, -0.002393f, -0.007845f, 0.007237f, -0.011142f, 0.000957f, 0.002987f, -0.011105f, 0.000393f, -0.002266f, -0.005427f, 0.004393f, -0.000157f, 0.001394f, -0.006497f, -0.003276f, -0.019570f, -0.002210f, 0.003504f, -0.026714f, -0.015807f, 0.002798f, -0.008464f, 0.001493f, -0.008733f, -0.015402f, -0.009989f, 0.017175f, 0.010253f, -0.002824f, 0.011909f, 0.002624f, 0.003067f, 0.003157f, -0.005494f, -0.001679f, 0.009730f, -0.007805f, 0.004532f, 0.006830f, -0.007232f, -0.011892f, 0.005609f, -0.009740f, 0.001294f, 0.005396f, 0.014361f, -0.003300f, -0.006574f, -0.006074f, 0.002450f, 0.007576f, -0.010182f, -0.000194f, 0.008858f, 0.003277f, 0.001185f, -0.000672f, + -0.000512f, 0.011055f, -0.000121f, 0.010121f, 0.007036f, -0.002694f, 0.007027f, -0.002454f, -0.000259f, -0.001141f, -0.018292f, 0.006363f, 0.010934f, -0.006199f, -0.003071f, 0.002477f, 0.003302f, 0.002901f, 0.002106f, -0.001109f, -0.001766f, 0.000535f, -0.004175f, 0.012678f, -0.005174f, 0.001386f, 0.007534f, 0.005441f, -0.003929f, 0.004931f, 0.002282f, 0.003159f, 0.007742f, 0.006030f, -0.008500f, 0.009379f, 0.011405f, -0.004071f, -0.010140f, 0.013075f, 0.009194f, 0.020439f, -0.003067f, 0.001861f, 0.006767f, -0.010489f, -0.001704f, 0.003662f, -0.003782f, -0.014112f, -0.000416f, 0.001113f, 0.009627f, -0.011470f, -0.026711f, -0.022267f, -0.013075f, 0.004847f, 0.013311f, -0.013351f, 0.007723f, -0.006739f, 0.010391f, 0.007365f, 0.007187f, 0.011564f, 0.007093f, -0.009749f, -0.008198f, 0.001232f, 0.006843f, -0.000889f, 0.001010f, 0.016307f, 0.000344f, 0.002499f, 0.008805f, 0.008364f, 0.001954f, -0.000178f, 0.021170f, -0.001885f, -0.007236f, -0.002784f, 0.005234f, 0.005564f, -0.003450f, 0.010629f, 0.002756f, 0.005468f, -0.007349f, -0.007558f, -0.002088f, -0.005194f, 0.003346f, -0.004258f, + 0.012785f, -0.014558f, -0.011736f, 0.014462f, -0.000809f, -0.001312f, -0.016718f, 0.004717f, -0.007610f, 0.008664f, -0.006313f, -0.020330f, 0.000217f, 0.008998f, -0.007039f, 0.011796f, -0.006202f, 0.004729f, 0.032664f, 0.007370f, 0.008911f, 0.003450f, -0.007125f, 0.015292f, -0.007074f, -0.004657f, 0.020070f, -0.001742f, 0.016202f, -0.001930f, -0.017889f, 0.006184f, -0.005862f, 0.019819f, 0.010881f, -0.001649f, -0.017645f, -0.012815f, 0.016930f, 0.019438f, -0.022641f, 0.011266f, 0.009561f, 0.006673f, -0.001147f, 0.001980f, 0.002284f, -0.001998f, 0.023134f, -0.001291f, -0.003512f, -0.006534f, -0.007233f, -0.010003f, -0.002798f, -0.000785f, -0.012686f, -0.004941f, 0.003868f, -0.009413f, 0.000971f, 0.000244f, 0.014102f, -0.005397f, 0.000932f, 0.006038f, 0.001068f, 0.012713f, 0.006435f, 0.013219f, 0.007282f, 0.003793f, -0.013691f, 0.001161f, -0.009943f, -0.010279f, 0.003084f, 0.013422f, 0.000226f, 0.011448f, -0.004142f, -0.009403f, -0.001179f, 0.000090f, 0.004484f, 0.007609f, -0.002655f, -0.000678f, -0.003201f, 0.003840f, 0.004557f, -0.012554f, 0.003994f, 0.001187f, 0.009281f, 0.006248f, + 0.007478f, 0.020666f, 0.011017f, -0.009227f, -0.007984f, -0.022625f, -0.001369f, -0.000712f, -0.011894f, 0.004321f, 0.018058f, 0.001938f, -0.014133f, 0.012908f, 0.012545f, -0.001581f, 0.005021f, 0.012389f, 0.003010f, -0.011832f, -0.001788f, 0.026541f, 0.013194f, 0.002432f, -0.017764f, -0.006711f, 0.016117f, 0.005176f, -0.002484f, 0.008697f, 0.008056f, 0.008094f, -0.000169f, 0.016223f, -0.000268f, -0.002619f, 0.004068f, -0.008793f, -0.011008f, -0.001085f, 0.001666f, 0.005632f, 0.003215f, -0.010747f, 0.010092f, 0.017444f, 0.009050f, -0.001177f, 0.013175f, -0.016016f, 0.008443f, -0.009887f, 0.009280f, -0.003387f, -0.011332f, -0.001458f, -0.014690f, -0.024438f, -0.008950f, -0.010386f, -0.001559f, -0.001266f, -0.012731f, 0.001087f, -0.004252f, 0.005667f, 0.004199f, 0.006762f, -0.001871f, 0.001410f, -0.012352f, -0.000420f, 0.001414f, 0.013077f, -0.006461f, -0.022667f, -0.013816f, 0.030375f, -0.006087f, -0.007513f, 0.002544f, -0.001781f, 0.034040f, -0.010427f, -0.017243f, -0.000247f, -0.016994f, 0.003736f, 0.014888f, 0.014521f, 0.005561f, -0.031603f, 0.026180f, -0.020689f, 0.011401f, -0.014359f, + -0.009617f, -0.008337f, 0.013482f, 0.012966f, -0.019659f, 0.000938f, 0.009750f, -0.007033f, 0.004924f, 0.005321f, -0.006556f, 0.000258f, -0.015997f, -0.012016f, -0.025139f, 0.014708f, -0.002749f, 0.025521f, -0.011307f, 0.004986f, 0.018438f, -0.005086f, -0.004248f, -0.008469f, 0.021045f, 0.013926f, -0.023633f, 0.006295f, -0.012899f, -0.005424f, -0.004340f, -0.014596f, 0.009425f, 0.003637f, 0.022857f, 0.014486f, -0.026049f, -0.005272f, -0.010440f, 0.015102f, 0.006881f, 0.000525f, -0.014481f, 0.001514f, -0.000146f, 0.012491f, -0.000579f, 0.000761f, -0.016461f, -0.001346f, 0.015064f, -0.012891f, 0.004482f, -0.004587f, -0.000262f, -0.009977f, 0.001060f, 0.003383f, 0.007534f, -0.008347f, 0.000510f, -0.017618f, -0.002278f, -0.020343f, 0.003090f, -0.005128f, 0.011560f, -0.000874f, 0.009778f, -0.013984f, -0.026336f, 0.005481f, 0.017484f, 0.002209f, -0.002288f, 0.013642f, 0.009078f, -0.021552f, -0.000536f, -0.008216f, 0.026921f, -0.001357f, 0.002936f, 0.001966f, 0.000039f, -0.001029f, -0.009989f, 0.021304f, -0.002099f, -0.030687f, -0.006011f, 0.018243f, -0.012206f, 0.002837f, -0.000810f, 0.002208f, + -0.004159f, 0.002664f, -0.005968f, 0.006987f, -0.012070f, 0.010692f, 0.015045f, -0.012447f, -0.003508f, -0.007529f, -0.021663f, 0.008110f, -0.015528f, 0.012701f, -0.013726f, -0.023346f, -0.006760f, 0.013132f, -0.004775f, -0.008699f, 0.008557f, 0.012022f, 0.006640f, 0.013173f, 0.023027f, 0.018316f, -0.001805f, 0.002915f, 0.002647f, -0.013578f, 0.001878f, -0.014352f, -0.014861f, 0.006430f, -0.011141f, -0.030994f, -0.024035f, 0.013609f, 0.027908f, -0.000988f, -0.000494f, 0.004144f, -0.011792f, -0.007217f, -0.029885f, -0.017463f, -0.007651f, -0.001239f, -0.021403f, 0.031315f, 0.007575f, 0.017017f, -0.019382f, -0.025461f, -0.017259f, -0.008111f, 0.006122f, -0.028764f, -0.011239f, 0.011981f, -0.004277f, -0.034778f, -0.010222f, 0.003656f, 0.001643f, 0.020104f, 0.008369f, -0.007501f, -0.014735f, 0.019087f, -0.010252f, -0.002061f, 0.016432f, 0.003565f, -0.015006f, -0.009310f, 0.000146f, -0.028302f, 0.008352f, 0.020433f, -0.007804f, -0.012652f, 0.004618f, -0.014760f, -0.003582f, 0.001872f, -0.007265f, -0.007648f, 0.008845f, -0.011235f, -0.020206f, 0.009918f, -0.010759f, -0.017212f, -0.020642f, -0.012111f, + 0.004065f, -0.009865f, 0.005631f, 0.026642f, 0.017568f, -0.004286f, 0.028389f, 0.025757f, -0.009295f, 0.002795f, 0.009892f, -0.014683f, -0.006133f, -0.029910f, 0.006633f, -0.008755f, -0.018673f, 0.048205f, -0.001499f, 0.029418f, -0.014568f, -0.042911f, 0.012586f, 0.003325f, -0.001238f, -0.020280f, -0.001503f, -0.013458f, 0.034166f, 0.024384f, 0.022526f, 0.015839f, -0.025954f, -0.000435f, 0.004113f, 0.023199f, -0.039633f, -0.004807f, -0.009326f, -0.011967f, 0.006528f, -0.013448f, 0.005660f, 0.008719f, 0.007158f, 0.006938f, 0.009820f, -0.002981f, -0.003422f, -0.019689f, -0.004116f, -0.003144f, 0.019698f, -0.000151f, -0.017001f, -0.004261f, 0.021394f, -0.002549f, 0.012676f, 0.015483f, -0.010755f, -0.006779f, -0.025298f, -0.015099f, 0.051127f, 0.013263f, 0.023051f, 0.012050f, 0.003468f, 0.001869f, -0.031528f, 0.018979f, 0.003521f, 0.005568f, 0.016865f, 0.017848f, 0.028268f, -0.031988f, -0.012765f, -0.017752f, -0.001838f, 0.004428f, -0.003877f, -0.009002f, -0.004980f, -0.026914f, -0.033560f, -0.022068f, -0.031605f, -0.004417f, -0.020897f, -0.035846f, -0.015056f, 0.065211f, 0.014800f, -0.009497f, + -0.013542f, 0.001994f, -0.020966f, -0.041059f, 0.030089f, -0.000023f, 0.019330f, -0.014845f, 0.013949f, 0.033292f, -0.003413f, 0.003496f, -0.008554f, 0.028887f, 0.024421f, 0.009218f, -0.039665f, 0.002516f, 0.005650f, 0.024041f, 0.035363f, -0.010911f, -0.007466f, -0.005159f, 0.009326f, 0.012190f, 0.010338f, -0.018519f, 0.007991f, -0.021310f, 0.015619f, 0.020521f, -0.010352f, -0.021648f, 0.012989f, -0.023550f, -0.021106f, -0.001682f, 0.005816f, 0.028840f, 0.003349f, -0.005009f, 0.025083f, -0.005707f, 0.022520f, 0.040921f, 0.020861f, -0.000701f, -0.026851f, -0.003815f, -0.015507f, -0.013839f, 0.026746f, 0.008985f, -0.027096f, -0.001957f, -0.020653f, -0.007042f, 0.035707f, 0.014386f, 0.005427f, 0.013035f, 0.021826f, 0.008641f, -0.028098f, 0.011978f, 0.024812f, 0.004948f, -0.018354f, 0.004188f, 0.004091f, -0.000829f, -0.012665f, 0.016036f, 0.010462f, 0.009482f, -0.015875f, -0.000761f, -0.020259f, -0.047607f, 0.016486f, -0.018923f, 0.005311f, 0.001759f, 0.033470f, -0.022940f, -0.020276f, -0.008471f, -0.009209f, -0.012221f, 0.024812f, -0.021787f, -0.030715f, 0.009313f, -0.057508f, 0.001770f, + -0.010645f, -0.024333f, 0.031294f, -0.001925f, -0.001540f, 0.013113f, -0.011966f, 0.009855f, -0.002742f, -0.034438f, -0.037192f, -0.000375f, 0.008421f, 0.022028f, 0.011184f, -0.002562f, -0.003374f, -0.021755f, -0.009608f, 0.021639f, -0.033301f, 0.046788f, 0.028694f, 0.006060f, 0.035615f, -0.023450f, -0.008941f, -0.021559f, -0.020604f, -0.009802f, 0.017071f, 0.043831f, 0.001747f, -0.023521f, -0.002351f, 0.001426f, -0.000791f, -0.003252f, -0.012187f, 0.010907f, 0.013139f, 0.028639f, 0.001920f, 0.032300f, 0.020289f, 0.007491f, 0.002552f, 0.005045f, -0.046347f, 0.023999f, -0.001174f, -0.032716f, 0.028232f, -0.003668f, 0.038478f, -0.016440f, -0.015216f, -0.087327f, -0.008783f, 0.054826f, -0.011615f, 0.003545f, 0.044352f, -0.008717f, -0.001288f, 0.007696f, 0.010525f, -0.011802f, 0.010523f, -0.002643f, -0.017176f, 0.017078f, 0.015829f, -0.049914f, 0.004453f, -0.044126f, -0.002946f, -0.021712f, -0.027885f, -0.003366f, -0.009530f, -0.023023f, 0.011127f, 0.006711f, 0.014478f, 0.024513f, -0.033247f, 0.042446f, 0.001165f, -0.034557f, 0.001488f, -0.022946f, -0.014557f, -0.024812f, -0.026746f, -0.007932f, + 0.024844f, -0.019709f, 0.011027f, 0.029843f, -0.017569f, -0.025272f, -0.027843f, -0.035198f, -0.043127f, -0.020955f, -0.013409f, 0.006825f, -0.007878f, 0.015181f, 0.006258f, -0.020762f, -0.003451f, 0.031774f, 0.014233f, -0.036716f, 0.014344f, 0.001346f, -0.013215f, -0.033244f, 0.023730f, -0.008621f, 0.033359f, 0.050063f, -0.000979f, 0.048293f, -0.025762f, 0.030948f, -0.021071f, 0.033496f, 0.030634f, 0.011226f, -0.040260f, 0.032071f, -0.078827f, -0.007090f, -0.005663f, -0.009109f, 0.009507f, -0.048876f, 0.005195f, -0.011619f, -0.002086f, 0.018694f, 0.010180f, 0.022106f, -0.017288f, 0.014834f, -0.007377f, -0.043971f, -0.014962f, -0.033049f, -0.017223f, 0.017177f, -0.034486f, 0.001857f, -0.011840f, -0.030230f, -0.003408f, 0.023712f, -0.034429f, -0.037525f, 0.015477f, 0.017602f, 0.000152f, -0.019492f, 0.020588f, 0.017176f, 0.026215f, 0.018229f, 0.010088f, 0.026105f, 0.036062f, -0.022249f, 0.006293f, -0.020111f, 0.044860f, -0.007191f, -0.029398f, 0.032863f, 0.016946f, 0.004984f, -0.016531f, -0.026984f, 0.006191f, 0.009932f, 0.014755f, -0.005328f, -0.018395f, 0.010319f, -0.021581f, -0.003662f, + -0.021329f, 0.063352f, 0.011035f, -0.023979f, 0.056192f, -0.011402f, 0.017542f, -0.019073f, 0.028448f, 0.036899f, -0.025340f, 0.035159f, 0.042555f, 0.050908f, 0.042441f, 0.001342f, 0.029447f, 0.082295f, 0.022923f, -0.015341f, -0.011012f, 0.018258f, 0.006750f, 0.007142f, -0.000786f, -0.034455f, 0.029237f, -0.077225f, 0.009588f, 0.015619f, -0.002112f, -0.015005f, -0.027933f, -0.014489f, 0.004737f, 0.021497f, 0.035760f, -0.021496f, -0.043090f, -0.036875f, -0.003888f, 0.000278f, -0.024942f, 0.052691f, -0.023904f, -0.017425f, 0.023307f, -0.008547f, 0.005086f, -0.005795f, 0.047157f, 0.006736f, -0.045200f, 0.017372f, 0.006833f, 0.031070f, -0.010496f, 0.002572f, -0.018247f, 0.015023f, 0.007847f, 0.039485f, -0.009094f, 0.017387f, 0.019782f, -0.025157f, -0.026313f, 0.001164f, 0.024941f, -0.048185f, -0.055805f, -0.017205f, -0.022857f, -0.003677f, -0.008099f, 0.004978f, 0.012593f, -0.011952f, 0.001571f, -0.065360f, -0.055676f, 0.043303f, 0.045609f, -0.056609f, -0.044437f, -0.054465f, -0.030012f, -0.022764f, 0.025759f, -0.029839f, -0.054963f, 0.001391f, -0.000967f, -0.029456f, -0.006768f, -0.047205f, + -0.004928f, -0.012034f, 0.014688f, -0.022825f, -0.005296f, -0.073073f, 0.064616f, 0.040199f, -0.006291f, 0.086763f, -0.007979f, -0.049065f, -0.003816f, 0.018675f, -0.029127f, -0.040282f, -0.007655f, -0.027878f, -0.000682f, 0.006306f, -0.039731f, 0.057942f, 0.002535f, 0.005105f, -0.036624f, -0.012034f, 0.004563f, -0.012005f, 0.010041f, 0.012029f, 0.049176f, 0.007199f, -0.001923f, 0.037705f, 0.032989f, -0.013150f, 0.019704f, -0.026563f, 0.007603f, 0.020144f, 0.021993f, 0.053039f, -0.053699f, 0.031368f, 0.101495f, -0.001415f, 0.017275f, 0.032221f, 0.004717f, 0.004450f, 0.017119f, 0.009994f, -0.032789f, -0.042882f, -0.013615f, 0.029375f, 0.010712f, -0.044858f, -0.021401f, -0.005206f, -0.018695f, 0.033439f, 0.004932f, 0.024652f, -0.061905f, -0.043844f, 0.020573f, 0.038730f, 0.029099f, 0.012002f, 0.063336f, 0.028866f, -0.021978f, 0.033879f, -0.026974f, -0.016527f, 0.006600f, 0.027623f, -0.081753f, -0.000378f, 0.001744f, -0.004807f, -0.008303f, 0.037176f, 0.005508f, -0.024590f, -0.039669f, 0.040686f, -0.035371f, -0.000920f, 0.029916f, 0.020177f, -0.027174f, -0.009765f, -0.045290f, -0.001947f, + 0.016411f, 0.015048f, 0.022148f, 0.003489f, -0.028404f, -0.040461f, 0.034865f, 0.015031f, 0.018867f, 0.004847f, 0.019215f, 0.003509f, 0.026641f, -0.043243f, -0.067870f, 0.018492f, -0.007493f, -0.016246f, 0.042939f, -0.007981f, -0.017707f, 0.034084f, 0.036555f, 0.026594f, 0.001094f, -0.018601f, -0.026808f, -0.008516f, -0.036535f, 0.094496f, -0.004081f, 0.033857f, 0.011522f, -0.031734f, 0.030257f, -0.012075f, -0.025684f, 0.029872f, 0.028339f, -0.051817f, 0.041481f, -0.004857f, 0.055890f, -0.050086f, -0.032886f, 0.053011f, 0.004025f, -0.039812f, 0.049319f, -0.013083f, 0.080204f, -0.027534f, -0.016740f, -0.039447f, 0.037576f, 0.011385f, -0.023926f, 0.022589f, -0.025399f, 0.013635f, -0.012398f, -0.021933f, 0.060206f, -0.012084f, 0.040106f, -0.063840f, -0.013674f, 0.000623f, -0.080808f, -0.015145f, 0.009334f, 0.040865f, -0.021439f, -0.016268f, -0.000341f, -0.003860f, 0.053220f, -0.003028f, -0.029838f, 0.060871f, -0.009318f, -0.000746f, 0.009018f, -0.021114f, 0.048618f, 0.005677f, -0.012379f, 0.026624f, 0.018751f, -0.025265f, -0.011522f, -0.010419f, 0.037399f, -0.076407f, -0.003404f, -0.012820f, + -0.029892f, 0.016006f, -0.030369f, 0.048445f, -0.014125f, -0.054246f, -0.007999f, 0.088937f, -0.054486f, 0.040475f, -0.060526f, -0.014119f, 0.055959f, 0.045210f, -0.033560f, 0.017520f, -0.040488f, -0.047448f, 0.008407f, -0.019246f, 0.019557f, 0.009234f, -0.005947f, 0.011498f, -0.076150f, -0.025806f, -0.040182f, -0.050800f, 0.022193f, -0.017401f, -0.018008f, -0.026824f, -0.055632f, -0.041042f, 0.030679f, -0.004135f, 0.102916f, 0.021083f, 0.003724f, 0.038441f, 0.043307f, 0.018551f, 0.040927f, -0.023790f, -0.032456f, 0.036513f, -0.057208f, -0.005579f, -0.012347f, 0.004416f, 0.039090f, -0.024893f, 0.043498f, 0.020089f, 0.009447f, 0.014411f, -0.072562f, 0.050208f, 0.008642f, -0.049327f, 0.019379f, -0.052352f, 0.008761f, 0.073528f, -0.009306f, -0.041194f, -0.045738f, 0.020932f, 0.032481f, 0.028047f, 0.013875f, -0.045893f, -0.032745f, -0.013006f, -0.008956f, 0.063385f, -0.039062f, -0.021526f, 0.091690f, -0.049015f, -0.003888f, 0.038384f, 0.000272f, 0.040419f, -0.005435f, -0.028658f, -0.020486f, -0.053787f, 0.028938f, 0.042382f, -0.059544f, 0.092142f, 0.030213f, -0.064754f, -0.061121f, -0.055774f, + -0.069844f, -0.053753f, 0.003545f, 0.031545f, 0.006212f, -0.043689f, -0.017185f, 0.035789f, 0.000001f, -0.025092f, 0.033645f, -0.058567f, 0.005123f, -0.008531f, -0.057813f, -0.047613f, 0.010968f, -0.012381f, 0.043521f, -0.063025f, -0.007255f, -0.002575f, 0.043651f, -0.109421f, -0.101385f, -0.087696f, -0.056848f, 0.023051f, -0.024096f, 0.113021f, 0.029684f, -0.011936f, -0.026048f, -0.014139f, 0.031791f, -0.073306f, 0.085795f, 0.113916f, 0.045008f, -0.006696f, 0.089696f, -0.028344f, 0.054124f, 0.103603f, -0.019167f, 0.005949f, 0.019041f, 0.137858f, -0.035251f, -0.008376f, 0.081371f, 0.031364f, 0.025854f, -0.022168f, -0.084332f, 0.006211f, -0.066983f, 0.032184f, -0.082926f, -0.095920f, -0.001782f, -0.004947f, -0.068018f, -0.002932f, -0.033500f, -0.068317f, -0.055985f, -0.089281f, -0.005191f, 0.092777f, -0.030315f, -0.016662f, -0.085832f, -0.044370f, -0.032399f, -0.027923f, 0.027384f, -0.019485f, 0.151616f, -0.034791f, -0.003685f, -0.054280f, 0.113786f, 0.096694f, -0.069003f, 0.079191f, -0.029072f, -0.109934f, -0.022327f, -0.008223f, 0.021147f, -0.023176f, -0.028112f, -0.010794f, -0.048192f, 0.016907f, + 0.053976f, -0.062404f, -0.033640f, 0.045504f, 0.195718f, 0.021991f, -0.120813f, -0.030864f, -0.041812f, 0.008919f, 0.062217f, 0.108896f, 0.032799f, -0.091863f, -0.000042f, 0.063380f, 0.015631f, 0.001449f, -0.000872f, 0.016750f, -0.006652f, -0.010822f, 0.077662f, 0.047711f, 0.044514f, -0.063540f, -0.039070f, 0.044342f, 0.019560f, 0.026603f, -0.019411f, 0.009008f, 0.087023f, 0.003089f, 0.074408f, 0.038696f, 0.042201f, 0.071028f, 0.013602f, -0.035434f, 0.012257f, -0.040652f, 0.014521f, 0.031322f, 0.011607f, 0.115871f, -0.033680f, -0.071260f, -0.066197f, 0.090279f, 0.045399f, 0.049346f, 0.037132f, -0.047713f, -0.057840f, -0.035674f, 0.003569f, 0.022224f, -0.007722f, 0.034322f, 0.064808f, -0.000524f, 0.049248f, 0.042117f, -0.051547f, -0.007748f, 0.024918f, -0.023489f, -0.016190f, -0.024624f, -0.087777f, -0.011820f, 0.052711f, 0.008512f, 0.096725f, 0.061398f, -0.028442f, 0.033559f, -0.006893f, -0.051473f, 0.009275f, 0.149167f, 0.043340f, 0.060140f, -0.028262f, -0.144427f, -0.067303f, -0.107611f, -0.031120f, 0.064568f, 0.162414f, 0.066104f, 0.021125f, -0.080429f, -0.067808f, 0.045093f, + 0.082343f, 0.034112f, 0.099214f, -0.009266f, -0.059644f, -0.097197f, -0.041662f, -0.019607f, 0.074297f, 0.003198f, 0.044126f, 0.031060f, 0.009034f, 0.089475f, 0.069548f, -0.013290f, -0.006485f, -0.093919f, -0.018854f, -0.008113f, 0.004248f, 0.043910f, 0.092203f, 0.048426f, 0.045356f, 0.077614f, 0.050811f, -0.094567f, -0.068484f, -0.029199f, -0.053419f, 0.051081f, 0.041364f, 0.078875f, 0.068874f, 0.068568f, 0.023845f, 0.005173f, -0.061993f, -0.074596f, -0.061170f, 0.012553f, 0.031716f, -0.009964f, -0.008600f, 0.126106f, 0.033792f, -0.020696f, -0.014456f, 0.081150f, -0.102259f, 0.007183f, -0.193879f, -0.058265f, 0.040972f, -0.085427f, 0.051180f, 0.009964f, -0.018427f, 0.070723f, 0.006461f, -0.215885f, -0.138571f, -0.067028f, 0.063226f, 0.026607f, 0.301326f, 0.331621f, 0.196303f, 0.367965f, 0.293745f, 0.320929f, 0.216982f, 0.274604f, 0.216275f, 0.018192f, -0.095957f, -0.128703f, -0.132181f, -0.272903f, -0.340051f, -0.345086f, -0.244587f, -0.179727f, -0.067955f, 0.035206f, -0.090741f, 0.085681f, -0.116012f, -0.022323f, 0.006158f, -0.013848f, 0.047338f, -0.090859f, 0.181725f, 0.057782f, + 0.169052f, 0.127570f, 0.077654f, 0.072887f, 0.106352f, 0.089931f, 0.110558f, 0.233137f, 0.213118f, 0.188634f, 0.211324f, 0.272601f, 0.241325f, 0.243284f, 0.396005f, 0.176707f, 0.292413f, 0.384137f, 0.269334f, 0.357979f, 0.205461f, 0.276388f, 0.217479f, 0.268461f, 0.272192f, 0.154216f, 0.201091f, 0.187224f, 0.198291f, 0.215923f, 0.108801f, 0.073401f, -0.055281f, 0.058977f, -0.091037f, -0.035997f, -0.166545f, -0.164002f, -0.189144f, -0.484562f, -0.414487f, -0.326787f, -0.150217f, -0.025114f} + }, + { + {0.003329f, -0.000751f, 0.002711f, -0.000613f, 0.011412f, -0.001706f, -0.000436f, 0.013916f, -0.003339f, 0.015501f, 0.002817f, -0.006190f, 0.009349f, 0.004433f, -0.006836f, 0.002590f, 0.003705f, 0.001107f, 0.005971f, -0.001553f, 0.004801f, -0.000001f, -0.006675f, 0.002886f, 0.007366f, 0.004252f, 0.004292f, -0.000852f, 0.000624f, 0.000042f, 0.002671f, 0.005438f, -0.012971f, -0.006300f, 0.000300f, 0.003121f, 0.001216f, -0.005038f, 0.009917f, 0.003295f, -0.002219f, 0.005319f, 0.001920f, 0.007357f, 0.002130f, -0.002867f, -0.005623f, 0.005949f, 0.000399f, -0.000105f, -0.003033f, 0.001677f, -0.005291f, -0.003670f, 0.002461f, 0.005326f, -0.002556f, 0.001182f, -0.000052f, -0.000745f, 0.009833f, 0.003698f, -0.001169f, 0.001571f, 0.004297f, 0.000418f, 0.004399f, -0.005624f, 0.005375f, 0.005961f, -0.002994f, -0.009970f, -0.005228f, -0.002732f, 0.010318f, 0.000113f, -0.003725f, -0.000961f, -0.009087f, -0.006394f, 0.004143f, 0.000257f, -0.005703f, 0.007067f, 0.004872f, -0.001672f, 0.000492f, -0.001095f, 0.005829f, -0.008143f, 0.003058f, 0.005875f, 0.005345f, -0.011675f, -0.008046f, -0.005874f, + 0.007788f, 0.001729f, 0.002564f, -0.003367f, 0.008296f, 0.002946f, -0.002026f, 0.000054f, -0.002333f, 0.001450f, 0.003114f, -0.002015f, -0.002364f, -0.007131f, 0.007404f, 0.012123f, 0.001464f, 0.007623f, -0.001447f, 0.001369f, 0.002810f, 0.003188f, -0.009344f, 0.000437f, -0.009764f, -0.002470f, -0.001392f, 0.002833f, -0.004933f, -0.000409f, 0.002125f, 0.000724f, -0.005702f, -0.000043f, 0.000634f, 0.004379f, -0.006058f, -0.007878f, -0.001027f, 0.010000f, 0.016525f, -0.000276f, 0.002722f, 0.000829f, -0.003506f, -0.010257f, -0.002461f, 0.006592f, -0.003052f, 0.006566f, 0.002879f, 0.006714f, -0.000012f, 0.002506f, 0.004474f, -0.010143f, -0.002580f, -0.009612f, 0.005453f, 0.000850f, -0.004765f, 0.021164f, -0.008427f, -0.014807f, 0.000902f, 0.007157f, -0.001515f, -0.011098f, -0.003469f, -0.004714f, -0.002105f, -0.005165f, -0.002022f, 0.007962f, -0.000809f, -0.004885f, 0.008648f, 0.001493f, 0.008388f, -0.002126f, -0.002407f, 0.003507f, -0.000060f, 0.004052f, -0.001915f, 0.008342f, 0.013060f, -0.003517f, -0.009285f, -0.006421f, 0.005199f, 0.000140f, -0.020886f, -0.001803f, -0.008522f, -0.002905f, + 0.009736f, -0.006888f, -0.005684f, 0.007082f, -0.004894f, -0.000862f, 0.008870f, 0.003311f, -0.007660f, 0.003382f, -0.005637f, -0.012038f, 0.003477f, 0.004872f, -0.009652f, -0.005243f, -0.003117f, -0.003791f, -0.000562f, 0.004031f, 0.005790f, 0.009604f, 0.010115f, -0.002498f, 0.000484f, -0.004180f, 0.003917f, 0.002939f, -0.003164f, 0.004448f, 0.005883f, -0.006598f, -0.017018f, -0.008422f, 0.005027f, 0.007614f, 0.002751f, 0.008243f, -0.007101f, 0.008616f, 0.010238f, -0.002798f, 0.011344f, -0.001450f, 0.008304f, -0.003917f, 0.000071f, -0.003505f, 0.010659f, 0.004345f, -0.000641f, 0.009801f, -0.005371f, -0.004003f, 0.006884f, -0.016752f, -0.003153f, 0.001011f, -0.003812f, -0.014929f, -0.009405f, 0.006309f, -0.006123f, -0.003841f, -0.000032f, 0.011815f, -0.003077f, -0.008160f, -0.000911f, 0.003079f, 0.006372f, -0.000960f, -0.010930f, -0.006824f, -0.002246f, -0.005422f, 0.001476f, -0.009244f, 0.004300f, -0.008704f, -0.013137f, 0.000422f, 0.004174f, 0.005217f, -0.004435f, -0.002955f, -0.008757f, 0.010868f, 0.005946f, 0.001488f, -0.000247f, -0.000348f, -0.004062f, -0.002041f, 0.003312f, 0.004574f, + 0.016058f, -0.001944f, 0.003771f, 0.000965f, -0.000840f, -0.008183f, -0.006420f, 0.010968f, -0.005008f, 0.000888f, 0.002749f, 0.001339f, 0.004049f, 0.005079f, 0.004470f, 0.010808f, -0.007131f, -0.010553f, -0.008582f, 0.005481f, 0.011896f, -0.002108f, 0.009132f, -0.007978f, -0.009799f, 0.008272f, -0.004036f, 0.000986f, 0.003116f, 0.010363f, 0.003883f, 0.016378f, -0.006948f, -0.008449f, 0.003914f, -0.004581f, -0.004367f, 0.009406f, -0.014163f, -0.008599f, 0.001623f, -0.002516f, 0.006734f, -0.004594f, 0.002024f, 0.011811f, -0.010481f, 0.008319f, -0.006206f, 0.005515f, -0.005775f, -0.001382f, -0.000665f, 0.012302f, 0.002585f, 0.000806f, -0.008377f, 0.000831f, -0.010012f, 0.004323f, 0.002984f, -0.006508f, 0.000277f, -0.002413f, 0.018489f, 0.002913f, 0.001658f, -0.015124f, -0.008630f, -0.012651f, 0.010869f, -0.006158f, -0.000136f, 0.006015f, 0.023625f, 0.016839f, -0.005806f, -0.013500f, -0.005169f, -0.011612f, 0.013744f, -0.001805f, -0.002789f, -0.004987f, -0.002936f, -0.000395f, -0.005063f, -0.002472f, -0.009443f, 0.006899f, -0.009754f, -0.016273f, 0.016626f, 0.008102f, -0.018223f, 0.018251f, + -0.003238f, -0.000629f, -0.025445f, 0.015347f, 0.009590f, -0.019862f, 0.005677f, -0.002925f, 0.007333f, 0.002201f, 0.008510f, 0.006105f, 0.001922f, -0.009007f, 0.000550f, 0.003901f, -0.012794f, -0.004887f, -0.015032f, -0.002095f, -0.009456f, -0.004470f, 0.001375f, -0.011099f, -0.004534f, -0.016559f, 0.006145f, 0.002109f, 0.001199f, 0.001911f, -0.007560f, -0.014374f, -0.004859f, 0.005609f, -0.002624f, -0.000880f, 0.015271f, -0.022576f, 0.009455f, 0.012114f, -0.001881f, 0.001107f, -0.004629f, -0.001462f, -0.007584f, -0.011009f, -0.007853f, -0.008623f, -0.006069f, 0.005995f, 0.003094f, 0.005343f, 0.007727f, -0.001613f, -0.004112f, 0.011255f, 0.021195f, 0.015052f, -0.000182f, -0.017886f, 0.005164f, -0.002727f, 0.002987f, 0.019009f, 0.000403f, 0.019075f, 0.017984f, 0.027706f, 0.006292f, -0.004163f, -0.001936f, 0.008981f, -0.003464f, 0.026882f, -0.003399f, -0.003357f, 0.032614f, 0.000888f, 0.016192f, -0.005555f, -0.000142f, -0.000747f, 0.002133f, -0.003536f, 0.001707f, 0.000206f, -0.001548f, -0.017288f, -0.002322f, -0.003540f, -0.003824f, -0.006741f, 0.010942f, 0.006185f, 0.006269f, -0.009305f, + -0.001721f, -0.015154f, -0.007000f, 0.003852f, -0.001906f, -0.008842f, -0.003603f, 0.006242f, 0.011444f, 0.008226f, -0.004443f, -0.013899f, -0.001147f, 0.005225f, -0.003130f, 0.008906f, 0.004588f, 0.011748f, 0.014059f, -0.003662f, -0.000763f, -0.014692f, -0.019971f, 0.019440f, 0.009076f, 0.000644f, -0.001529f, 0.000775f, -0.007779f, -0.006248f, -0.000923f, 0.016143f, 0.007617f, 0.004336f, 0.016938f, -0.011798f, 0.003103f, -0.009174f, -0.009582f, 0.009871f, 0.006827f, 0.008962f, 0.025653f, 0.001872f, -0.013373f, 0.005404f, -0.013325f, -0.014562f, -0.020246f, 0.008052f, -0.018936f, 0.000317f, 0.020481f, -0.021404f, 0.007676f, 0.010078f, -0.006098f, -0.026478f, 0.000089f, 0.016026f, -0.017608f, 0.011139f, -0.001471f, -0.007329f, -0.022747f, -0.000263f, -0.016478f, 0.003255f, -0.008486f, -0.012257f, -0.016030f, 0.006893f, -0.002478f, -0.000510f, 0.014774f, -0.008656f, 0.012429f, -0.009176f, -0.004079f, 0.019855f, 0.006421f, -0.009880f, 0.007738f, 0.005171f, -0.009203f, 0.005238f, 0.004654f, -0.002919f, -0.004060f, 0.001321f, -0.004555f, -0.004548f, 0.002948f, 0.004144f, 0.026169f, -0.024239f, + 0.003782f, 0.002236f, -0.009154f, 0.018556f, 0.009919f, -0.005415f, -0.019539f, 0.002477f, -0.002234f, -0.005010f, -0.012467f, -0.013386f, 0.017055f, 0.012201f, 0.001072f, -0.000736f, 0.008839f, 0.005794f, -0.004711f, 0.008617f, 0.004704f, -0.003468f, 0.017683f, -0.005314f, 0.010136f, -0.005713f, 0.003562f, 0.009126f, -0.020442f, 0.015086f, -0.008742f, -0.003371f, -0.011872f, -0.007967f, 0.006713f, -0.006286f, 0.005431f, 0.022881f, 0.007394f, 0.012728f, -0.029079f, -0.018682f, -0.010574f, -0.006531f, 0.002781f, 0.000216f, 0.004627f, -0.023781f, 0.012581f, 0.005736f, 0.002888f, 0.023379f, 0.000047f, -0.012693f, 0.021268f, 0.008866f, -0.009995f, 0.004780f, -0.012750f, 0.011728f, 0.004995f, 0.015512f, -0.013343f, -0.008837f, 0.003464f, -0.012738f, 0.016171f, -0.014786f, -0.000651f, 0.015103f, 0.013152f, -0.027607f, -0.001196f, 0.001782f, 0.002843f, 0.005055f, 0.030173f, 0.007501f, 0.001472f, -0.008916f, -0.008193f, -0.016076f, -0.009433f, 0.023109f, 0.000054f, -0.026493f, -0.000107f, 0.006795f, -0.015880f, -0.016298f, 0.001434f, -0.010317f, 0.003888f, 0.025490f, 0.011529f, 0.011223f, + -0.010843f, -0.025572f, 0.001444f, -0.003398f, 0.011491f, -0.000845f, -0.022659f, -0.035286f, -0.010752f, 0.010173f, 0.027191f, 0.004033f, 0.013986f, 0.048747f, 0.007845f, 0.008382f, -0.007785f, -0.023260f, 0.012933f, -0.011272f, 0.011871f, -0.002918f, 0.031848f, 0.023446f, -0.012771f, -0.026376f, -0.021331f, 0.015842f, -0.014362f, 0.019409f, 0.008131f, 0.006249f, -0.007194f, -0.002692f, 0.022667f, -0.004718f, 0.019917f, 0.020284f, 0.010020f, 0.014150f, -0.016492f, 0.015314f, 0.007759f, -0.008584f, 0.021979f, -0.010257f, 0.019871f, 0.001236f, 0.001594f, -0.030515f, 0.017413f, 0.001289f, -0.006491f, 0.014498f, -0.021898f, -0.008791f, 0.011684f, 0.009815f, -0.020355f, 0.002593f, -0.013436f, -0.007702f, 0.018080f, 0.001950f, 0.004598f, -0.002719f, -0.023395f, 0.014079f, 0.012685f, 0.000121f, 0.009597f, 0.004053f, -0.011508f, -0.011363f, -0.002779f, 0.010535f, -0.022292f, -0.002238f, -0.001498f, -0.001076f, -0.003896f, 0.005944f, 0.005572f, 0.017640f, 0.042416f, 0.014387f, 0.004380f, -0.014712f, -0.040983f, 0.030213f, 0.007524f, -0.024599f, 0.006462f, -0.001171f, 0.005393f, 0.007265f, + -0.020272f, -0.038804f, -0.033030f, 0.012490f, 0.023597f, -0.003116f, 0.024862f, -0.010243f, 0.019153f, 0.026747f, 0.032491f, -0.005494f, 0.023725f, -0.020116f, 0.007290f, -0.010031f, 0.001882f, 0.015486f, -0.001673f, -0.005065f, 0.004984f, 0.019015f, -0.013073f, -0.020188f, -0.023717f, 0.049756f, -0.000945f, -0.000041f, -0.022446f, 0.024406f, 0.006151f, -0.041374f, -0.026386f, 0.012341f, -0.007171f, -0.005181f, 0.016108f, 0.008443f, 0.041396f, 0.026144f, -0.002528f, -0.021837f, -0.025228f, -0.010838f, -0.011011f, -0.024973f, 0.024743f, -0.016037f, 0.019300f, 0.020773f, -0.018923f, -0.019510f, -0.023374f, -0.028755f, 0.006398f, 0.003054f, -0.013196f, -0.010810f, -0.025504f, -0.004509f, -0.025552f, 0.009080f, -0.000188f, -0.003474f, -0.001701f, -0.022748f, -0.046296f, -0.009279f, -0.012651f, 0.003322f, -0.011416f, 0.002763f, 0.003928f, -0.004113f, 0.018647f, -0.024416f, -0.008516f, -0.023152f, -0.002057f, -0.011173f, 0.026778f, 0.031640f, 0.023828f, -0.033836f, 0.023576f, -0.011810f, 0.017688f, -0.006509f, 0.012824f, -0.010855f, -0.015656f, 0.005890f, -0.019957f, 0.012804f, 0.013874f, -0.001322f, + 0.007981f, -0.016989f, -0.003083f, 0.030004f, -0.024384f, 0.001523f, -0.007836f, -0.009285f, -0.019795f, -0.000748f, 0.028391f, 0.038754f, -0.025079f, 0.011844f, -0.003809f, -0.023208f, -0.024602f, -0.025571f, -0.012414f, 0.048741f, 0.028805f, -0.009177f, 0.015099f, -0.010502f, 0.013089f, -0.026925f, 0.015303f, -0.001183f, -0.014815f, 0.036573f, 0.019039f, 0.006888f, 0.012247f, 0.009728f, 0.035115f, 0.003458f, -0.028734f, 0.010518f, 0.023739f, 0.015687f, -0.049403f, 0.028818f, -0.018434f, -0.023089f, -0.003191f, -0.002352f, -0.000176f, 0.031633f, 0.020783f, 0.085927f, 0.024136f, -0.014558f, 0.005577f, 0.014356f, 0.000382f, 0.028510f, 0.021316f, 0.019687f, -0.025623f, -0.042911f, 0.042668f, -0.024402f, 0.003959f, 0.014572f, 0.046755f, 0.018582f, -0.028577f, 0.025379f, -0.025907f, -0.005588f, -0.035581f, -0.046663f, -0.005505f, 0.012209f, 0.012136f, 0.009010f, 0.011407f, -0.004005f, -0.032307f, -0.012112f, 0.009688f, 0.010398f, -0.017463f, 0.034969f, 0.021731f, -0.021544f, 0.010957f, 0.017220f, 0.006047f, 0.000704f, -0.020482f, -0.002797f, -0.014749f, -0.008456f, 0.000847f, 0.021616f, + 0.053419f, -0.015207f, 0.003553f, 0.007721f, 0.018820f, -0.019903f, 0.067585f, -0.006298f, 0.004755f, 0.005522f, -0.033668f, -0.031095f, -0.052274f, -0.021342f, 0.024483f, -0.009665f, 0.010545f, 0.011021f, 0.044084f, 0.007747f, 0.004339f, 0.002849f, 0.032620f, 0.018855f, -0.021714f, 0.036050f, -0.038538f, 0.009998f, -0.009600f, -0.035191f, 0.019683f, 0.010250f, 0.024338f, -0.005917f, -0.055109f, 0.005161f, -0.037027f, -0.031706f, 0.009409f, 0.008712f, 0.015063f, -0.008525f, 0.010851f, -0.000878f, -0.018789f, 0.030954f, -0.004815f, -0.008688f, -0.011882f, -0.019676f, -0.017808f, 0.012187f, -0.022409f, 0.006931f, -0.014191f, -0.008470f, -0.005896f, 0.030826f, -0.005319f, 0.033053f, 0.020152f, -0.006531f, 0.011020f, 0.012666f, 0.022996f, -0.013537f, -0.020299f, 0.005134f, 0.014008f, 0.019199f, 0.030432f, -0.030373f, -0.030492f, 0.015775f, 0.011686f, 0.038704f, -0.016611f, -0.000145f, 0.019487f, 0.002671f, 0.006631f, -0.004036f, 0.025505f, 0.032692f, 0.015583f, -0.000872f, 0.020793f, 0.065760f, -0.011656f, -0.015083f, 0.025672f, 0.000792f, 0.039211f, 0.012331f, 0.019898f, 0.024332f, + -0.003648f, 0.018299f, 0.045695f, -0.007591f, -0.047259f, 0.039770f, 0.014570f, -0.013496f, 0.010393f, -0.068165f, -0.029284f, -0.005469f, 0.055602f, 0.021581f, -0.062544f, 0.006457f, -0.007952f, 0.001871f, 0.014996f, -0.007108f, -0.030126f, 0.000958f, -0.001066f, 0.026006f, 0.062106f, -0.013310f, 0.022991f, 0.034372f, 0.002751f, -0.014381f, -0.005248f, 0.011421f, 0.062327f, -0.004802f, 0.000689f, 0.043867f, -0.014533f, 0.009229f, 0.004992f, -0.004327f, -0.007418f, 0.014341f, -0.047904f, -0.001838f, 0.021941f, 0.035237f, 0.046437f, -0.037320f, 0.006836f, 0.033764f, 0.003281f, 0.065816f, -0.019463f, -0.037316f, 0.010461f, 0.046906f, 0.014841f, -0.041981f, -0.011978f, 0.008078f, 0.006167f, 0.018513f, -0.049735f, 0.003481f, 0.009247f, -0.015185f, -0.033843f, -0.039649f, 0.016831f, -0.014537f, 0.005006f, -0.001608f, -0.034622f, -0.048337f, 0.017724f, 0.003037f, -0.036312f, -0.019443f, -0.019972f, 0.021680f, -0.061142f, -0.031995f, 0.034481f, -0.049049f, 0.036514f, -0.014579f, 0.034800f, 0.002840f, 0.018019f, -0.036414f, -0.005707f, -0.034301f, 0.036188f, 0.020139f, 0.048206f, 0.038819f, + -0.020818f, 0.009810f, 0.037516f, 0.023630f, 0.017762f, 0.016110f, -0.036915f, -0.006780f, 0.014091f, 0.005730f, 0.017139f, -0.040558f, -0.035074f, 0.022786f, 0.062587f, 0.011995f, -0.024312f, 0.044384f, 0.009035f, 0.028940f, 0.004095f, 0.008227f, -0.039588f, -0.034327f, -0.002080f, 0.003863f, -0.067289f, 0.008491f, -0.016031f, -0.000016f, 0.017630f, -0.021843f, 0.012624f, 0.054070f, 0.002487f, -0.079216f, -0.062288f, -0.006221f, -0.021196f, -0.017033f, -0.003568f, 0.018618f, 0.010089f, -0.016624f, 0.019829f, 0.025426f, 0.016527f, -0.008985f, 0.013687f, -0.005425f, -0.024881f, -0.001058f, 0.015377f, -0.057491f, -0.017832f, -0.023457f, -0.036184f, -0.008131f, 0.004268f, -0.011304f, -0.006678f, 0.073637f, 0.032720f, -0.019229f, -0.007512f, 0.014174f, 0.026392f, -0.036799f, -0.009662f, -0.015460f, 0.009598f, 0.077625f, 0.011986f, -0.037825f, 0.009845f, 0.034451f, -0.007547f, 0.032220f, 0.040472f, -0.020702f, 0.009440f, 0.020833f, 0.013859f, 0.001226f, -0.006120f, -0.012254f, 0.005958f, 0.024457f, 0.012352f, 0.022873f, -0.033823f, -0.051681f, -0.005567f, 0.023583f, 0.020471f, 0.017042f, + -0.005892f, -0.047628f, 0.015528f, 0.011033f, 0.072007f, 0.075995f, 0.018099f, -0.055861f, 0.040865f, -0.021028f, -0.057284f, -0.013043f, -0.067790f, -0.051443f, -0.022587f, -0.024582f, -0.052420f, 0.009587f, -0.020868f, -0.060035f, -0.054833f, 0.016355f, 0.036412f, -0.005553f, -0.046094f, 0.014230f, 0.001985f, 0.015279f, 0.030105f, 0.028964f, -0.035304f, 0.046925f, 0.032919f, 0.004372f, 0.013868f, 0.032721f, -0.000601f, 0.085103f, -0.059286f, -0.028620f, -0.000757f, -0.068665f, 0.057896f, 0.004535f, 0.072066f, 0.021570f, 0.017115f, 0.024305f, -0.035988f, 0.008260f, -0.073547f, -0.022013f, -0.002891f, -0.020117f, 0.084466f, 0.024481f, -0.020115f, -0.053482f, -0.024451f, -0.022910f, -0.030983f, -0.025660f, 0.014597f, -0.077311f, -0.014323f, 0.054157f, -0.004545f, -0.007727f, -0.055834f, 0.053786f, 0.029522f, -0.000211f, -0.019779f, 0.022099f, 0.013925f, -0.014637f, 0.027522f, -0.040585f, -0.008023f, -0.021434f, 0.013655f, -0.010585f, -0.022165f, 0.026558f, -0.018463f, 0.010224f, 0.003464f, -0.039501f, -0.020940f, -0.007424f, -0.044760f, -0.048248f, -0.059633f, -0.017697f, 0.031760f, -0.022594f, + -0.008280f, 0.034475f, -0.040713f, -0.037896f, 0.042516f, -0.002079f, 0.001405f, 0.033293f, 0.004388f, -0.032052f, -0.013164f, 0.009740f, 0.029825f, -0.041176f, -0.007461f, 0.044729f, 0.025617f, 0.042730f, 0.029385f, -0.012729f, 0.030514f, -0.005940f, -0.054245f, 0.014128f, -0.037371f, 0.026173f, -0.012116f, -0.022279f, 0.057225f, 0.018944f, 0.002915f, 0.006160f, -0.013881f, 0.021661f, 0.035633f, 0.087381f, 0.077806f, 0.005993f, -0.032955f, 0.015032f, 0.045524f, 0.012139f, 0.035479f, 0.024327f, 0.017684f, -0.026656f, -0.032541f, -0.040807f, -0.001814f, 0.014473f, 0.029382f, 0.056748f, 0.031302f, 0.036261f, 0.022377f, 0.033624f, 0.018223f, 0.032412f, -0.020811f, 0.005861f, 0.062938f, -0.001938f, 0.048685f, 0.012381f, 0.039599f, -0.061240f, -0.008799f, -0.018129f, -0.016847f, 0.014166f, 0.024937f, 0.044209f, 0.072709f, 0.059980f, -0.020062f, 0.010771f, -0.078257f, 0.019511f, 0.019492f, 0.070306f, -0.054442f, 0.044686f, -0.013238f, -0.038468f, 0.031106f, 0.009919f, 0.026161f, 0.044728f, -0.013058f, -0.055045f, 0.030269f, -0.034686f, -0.048311f, -0.021695f, 0.067433f, -0.055043f, + -0.080387f, -0.037737f, -0.012154f, 0.048345f, -0.002495f, -0.019590f, -0.049084f, -0.010040f, 0.010128f, 0.009070f, 0.056166f, -0.018450f, -0.060374f, 0.003241f, -0.024821f, -0.088524f, -0.043554f, 0.113487f, 0.016639f, -0.052996f, -0.056306f, 0.005126f, 0.001501f, 0.022345f, 0.030190f, -0.041492f, -0.026264f, -0.065423f, 0.015192f, -0.024723f, -0.015127f, 0.096176f, 0.021153f, -0.015166f, -0.100811f, -0.008228f, -0.053864f, 0.051619f, 0.065894f, 0.005067f, 0.051168f, -0.062380f, -0.024025f, -0.040196f, -0.009356f, 0.097753f, 0.123891f, 0.017696f, -0.033730f, -0.046649f, -0.090426f, -0.001110f, 0.010822f, 0.106095f, 0.059633f, -0.018398f, -0.179508f, -0.095064f, 0.014096f, -0.019890f, 0.155249f, 0.049641f, -0.076901f, -0.034314f, -0.136223f, -0.045664f, 0.002481f, 0.084499f, 0.088011f, 0.098230f, 0.001809f, 0.020398f, -0.014273f, 0.004852f, 0.120890f, -0.050380f, 0.086771f, -0.026774f, -0.100801f, -0.033170f, -0.108363f, -0.037613f, 0.119428f, 0.053030f, -0.080060f, 0.088667f, -0.000485f, -0.022525f, -0.137657f, -0.036486f, -0.037738f, -0.061477f, 0.131786f, 0.001670f, 0.058541f, -0.090452f, + 0.049404f, 0.042365f, -0.041754f, 0.026570f, -0.008866f, 0.023679f, -0.001094f, 0.067718f, 0.022827f, -0.066011f, 0.038566f, 0.032520f, -0.001453f, 0.045436f, -0.035147f, -0.017844f, 0.056149f, 0.039748f, 0.036904f, 0.018480f, 0.031885f, -0.099946f, 0.085115f, -0.050641f, -0.033197f, 0.017985f, -0.071113f, 0.100536f, -0.030502f, 0.009004f, 0.071732f, 0.001257f, -0.012852f, 0.038467f, 0.039072f, 0.070351f, -0.019310f, -0.068515f, -0.069832f, 0.005651f, -0.026380f, 0.029422f, -0.042986f, -0.022344f, -0.029709f, 0.017805f, -0.129728f, -0.000749f, 0.093082f, 0.023130f, 0.036797f, -0.007075f, -0.012302f, 0.021101f, -0.035602f, -0.043052f, 0.021983f, 0.008184f, -0.043489f, -0.052096f, 0.174234f, -0.025962f, -0.059838f, 0.007428f, 0.076189f, -0.015600f, 0.021981f, -0.064786f, 0.020611f, 0.111261f, 0.165991f, -0.071722f, 0.051440f, -0.108839f, -0.037045f, -0.065117f, -0.013410f, 0.107433f, 0.106541f, 0.091004f, -0.007059f, -0.067363f, -0.046897f, 0.041088f, -0.001628f, 0.021928f, 0.053263f, 0.001583f, 0.024086f, -0.071111f, -0.023628f, -0.040147f, -0.056855f, 0.030855f, 0.018645f, 0.003887f, + 0.046693f, -0.041887f, -0.006925f, 0.013780f, -0.067620f, 0.000275f, -0.001272f, -0.037389f, -0.020611f, 0.016517f, -0.032187f, 0.060192f, -0.025257f, 0.090202f, 0.060727f, -0.042238f, -0.018762f, -0.059400f, -0.076129f, -0.088933f, 0.021899f, 0.042643f, 0.113322f, 0.092847f, 0.035499f, 0.059207f, 0.003454f, -0.065727f, -0.051940f, -0.036702f, -0.053620f, -0.009304f, 0.016452f, -0.002333f, -0.040381f, 0.007977f, -0.041226f, 0.019362f, 0.034314f, 0.008184f, -0.058266f, 0.035847f, -0.034973f, -0.024525f, -0.060760f, 0.025150f, 0.007222f, -0.015814f, -0.180633f, -0.109094f, -0.057057f, 0.104390f, 0.054899f, 0.281190f, 0.271049f, 0.273742f, 0.283744f, 0.297410f, 0.216224f, 0.110277f, 0.166270f, 0.097039f, -0.038413f, -0.085083f, -0.125865f, -0.259914f, -0.226969f, -0.241778f, -0.167200f, -0.175632f, -0.121977f, -0.105052f, -0.046164f, 0.012983f, -0.090494f, -0.045463f, -0.006932f, -0.007628f, -0.040772f, 0.024400f, 0.087214f, 0.090118f, 0.047223f, 0.105612f, 0.137933f, 0.042745f, 0.043444f, 0.038058f, 0.138279f, 0.137773f, 0.176481f, 0.189554f, 0.174782f, 0.189927f, 0.285391f, 0.125876f, + 0.230086f, 0.299229f, 0.207044f, 0.234554f, 0.196226f, 0.109395f, 0.131888f, 0.138304f, 0.132696f, 0.163818f, 0.168312f, 0.115760f, 0.057222f, 0.078861f, 0.121611f, 0.038212f, 0.058055f, 0.011214f, 0.011673f, -0.076510f, 0.001210f, -0.164742f, -0.217036f, -0.156574f, -0.182559f, -0.269015f, -0.250893f, -0.100229f, -0.216787f, -0.071574f, -0.002868f}, + {0.001179f, -0.003749f, 0.000733f, -0.006434f, -0.004977f, -0.005543f, -0.006417f, -0.009856f, 0.004853f, 0.004520f, -0.004912f, 0.001095f, 0.007372f, 0.011841f, 0.004193f, 0.004818f, -0.002918f, 0.001317f, -0.018047f, 0.005390f, 0.000557f, -0.002582f, 0.005158f, -0.001749f, -0.006756f, 0.006248f, 0.002276f, 0.002484f, 0.004613f, 0.006177f, 0.006304f, -0.000161f, -0.008053f, -0.000363f, 0.008457f, 0.008883f, 0.011530f, -0.002710f, 0.011290f, 0.000224f, -0.000624f, -0.003718f, -0.000514f, 0.006259f, 0.002384f, -0.018482f, -0.006185f, -0.010821f, -0.000517f, -0.000721f, -0.007086f, -0.008343f, -0.006372f, 0.002100f, -0.006131f, 0.003733f, 0.005867f, 0.006457f, -0.008435f, -0.004293f, -0.009543f, -0.005564f, -0.002692f, 0.000615f, -0.009041f, 0.009109f, 0.003668f, -0.004086f, -0.000191f, -0.001681f, 0.015651f, 0.003649f, -0.001411f, -0.004674f, 0.019623f, 0.001500f, -0.001780f, -0.000248f, -0.002036f, -0.009836f, -0.010895f, 0.010421f, 0.001928f, -0.005531f, -0.009584f, -0.003953f, -0.007366f, -0.011437f, 0.014692f, 0.002266f, 0.005004f, 0.007996f, 0.021367f, -0.000135f, 0.002983f, -0.004845f, + -0.002462f, -0.003630f, -0.014781f, 0.003605f, -0.004895f, 0.001831f, 0.009364f, -0.003489f, -0.001527f, 0.002582f, 0.000485f, -0.001928f, -0.000110f, -0.012740f, 0.002147f, 0.000117f, -0.005324f, 0.004556f, 0.001279f, -0.008422f, 0.013366f, 0.000940f, 0.001372f, 0.013476f, -0.005711f, -0.005158f, -0.013510f, -0.006027f, 0.008174f, 0.001048f, 0.008740f, -0.004122f, -0.011233f, 0.005096f, -0.010543f, -0.003826f, -0.019672f, 0.008350f, 0.005798f, 0.004648f, 0.004842f, 0.013629f, 0.002481f, -0.004961f, 0.006070f, 0.011580f, -0.008019f, 0.006263f, -0.001079f, -0.001163f, -0.004777f, -0.001500f, 0.006002f, 0.000498f, 0.002531f, -0.007799f, 0.001982f, -0.004781f, -0.010237f, -0.000856f, -0.012070f, -0.014302f, -0.009299f, -0.006798f, -0.016104f, 0.000742f, -0.005949f, -0.003109f, 0.004682f, 0.017030f, 0.001332f, -0.003955f, -0.002171f, 0.002786f, -0.000566f, 0.007090f, 0.011788f, -0.000979f, 0.013258f, -0.001529f, -0.001141f, -0.001603f, 0.007429f, -0.010169f, 0.001311f, 0.001221f, -0.002778f, -0.000607f, -0.006363f, -0.010148f, 0.013588f, -0.004783f, -0.001339f, -0.002550f, 0.005813f, -0.006698f, + -0.006007f, 0.002307f, 0.001729f, 0.009567f, -0.006993f, 0.007832f, -0.005017f, -0.008180f, -0.000989f, -0.003513f, 0.001803f, 0.004115f, -0.000551f, 0.005377f, 0.002301f, 0.003808f, -0.005750f, -0.006644f, -0.010830f, -0.008062f, 0.000562f, 0.011987f, 0.001147f, 0.009580f, 0.002192f, -0.005816f, 0.006516f, 0.002585f, -0.007943f, 0.012316f, 0.001780f, -0.013458f, -0.014959f, -0.012912f, 0.002598f, 0.001697f, 0.010812f, -0.008274f, 0.011141f, -0.005525f, -0.002709f, -0.017542f, -0.001316f, 0.001404f, -0.006265f, -0.000833f, 0.009379f, 0.009228f, 0.013359f, -0.003054f, -0.002191f, 0.008675f, 0.003838f, 0.007826f, -0.018422f, 0.018413f, -0.004002f, 0.000022f, 0.002800f, -0.001934f, -0.000204f, -0.001331f, -0.001299f, 0.011565f, -0.000358f, 0.015100f, -0.002555f, -0.005727f, -0.012289f, 0.001776f, -0.005542f, -0.004525f, 0.008548f, 0.006940f, 0.008958f, 0.000681f, 0.001196f, -0.012695f, -0.009324f, 0.000276f, 0.012073f, 0.004561f, -0.001357f, 0.004449f, -0.004759f, 0.013180f, -0.000434f, -0.010463f, -0.013639f, -0.004441f, 0.015932f, 0.012351f, 0.012425f, 0.006195f, 0.000881f, -0.012424f, + -0.005350f, -0.001168f, -0.007087f, 0.008776f, -0.000747f, -0.002873f, 0.007595f, -0.017752f, 0.006374f, -0.001464f, 0.005322f, -0.000490f, 0.004239f, -0.004723f, -0.007586f, -0.001865f, -0.005766f, 0.002335f, 0.010652f, 0.003437f, 0.000854f, -0.004684f, -0.023108f, -0.016109f, -0.000023f, 0.006272f, 0.008747f, -0.000090f, 0.002147f, -0.003905f, 0.008668f, 0.003049f, 0.007036f, -0.010877f, 0.010221f, 0.005003f, -0.010627f, 0.003549f, 0.010631f, -0.001174f, 0.003746f, 0.001031f, 0.009678f, -0.007804f, 0.005927f, -0.001581f, -0.000792f, -0.009477f, 0.000990f, 0.008774f, -0.005573f, -0.005042f, -0.007812f, 0.010388f, -0.000633f, 0.001449f, -0.008240f, -0.025497f, -0.006771f, 0.002901f, 0.002741f, 0.008398f, -0.006131f, -0.004847f, -0.003292f, -0.002452f, -0.007489f, -0.000571f, -0.006704f, 0.015390f, 0.006213f, 0.012370f, -0.012891f, -0.003548f, -0.005017f, 0.011468f, -0.003197f, -0.003272f, -0.009700f, 0.005378f, 0.000483f, -0.007999f, 0.011362f, 0.002105f, 0.002241f, 0.010840f, 0.003819f, 0.006523f, -0.005186f, 0.004110f, 0.000453f, -0.002789f, 0.011252f, 0.008439f, -0.000817f, -0.015363f, + -0.020341f, -0.015844f, 0.005868f, -0.000088f, -0.008774f, -0.002400f, 0.001056f, -0.002112f, 0.022952f, 0.003849f, -0.016561f, -0.004521f, -0.004949f, 0.000716f, -0.007804f, 0.012853f, -0.009706f, -0.012830f, 0.011858f, -0.005117f, 0.003236f, 0.003029f, -0.005465f, -0.015087f, 0.001953f, -0.008099f, -0.007092f, -0.007453f, -0.000971f, 0.011521f, -0.001676f, -0.002764f, 0.017137f, 0.003038f, 0.002552f, -0.022325f, -0.002572f, 0.011734f, 0.013764f, -0.007773f, 0.003651f, 0.001803f, -0.022035f, -0.003014f, -0.001473f, -0.002300f, 0.005383f, 0.000202f, -0.012439f, 0.001582f, -0.009981f, 0.009439f, -0.003499f, 0.012190f, 0.002268f, -0.013807f, 0.006027f, 0.026323f, -0.010269f, 0.000531f, -0.019549f, 0.005179f, 0.016400f, -0.028653f, 0.004418f, -0.000950f, -0.001749f, 0.019254f, 0.002821f, 0.008407f, 0.014283f, -0.017578f, -0.004916f, -0.013526f, 0.006927f, 0.007157f, 0.015442f, 0.028804f, 0.004921f, -0.022786f, -0.001785f, -0.006095f, -0.002026f, -0.010150f, 0.000312f, -0.001592f, 0.011327f, 0.008279f, 0.003459f, -0.001333f, 0.000685f, -0.003994f, -0.002324f, 0.012102f, -0.003916f, -0.002285f, + 0.009679f, -0.001793f, 0.005777f, -0.001564f, 0.012241f, -0.009840f, -0.018052f, 0.022019f, -0.001172f, 0.004715f, -0.016908f, 0.000573f, -0.005047f, 0.024452f, 0.004097f, 0.010669f, -0.002256f, 0.009362f, 0.006912f, -0.023518f, -0.003479f, -0.013553f, -0.010889f, 0.000747f, 0.016140f, 0.001209f, -0.003133f, 0.024083f, -0.002552f, -0.014911f, -0.010663f, -0.008216f, 0.012307f, 0.036764f, 0.000005f, 0.009565f, 0.002784f, -0.012879f, -0.002549f, -0.000681f, 0.011247f, 0.016221f, 0.001639f, 0.012878f, 0.012275f, -0.023381f, 0.000530f, -0.007431f, -0.028322f, 0.005858f, -0.002195f, 0.009245f, 0.007135f, 0.026327f, 0.006196f, -0.005836f, 0.007240f, 0.019987f, 0.023671f, 0.008753f, 0.016903f, 0.015804f, -0.012028f, -0.010643f, -0.019964f, -0.023103f, 0.003232f, 0.008981f, -0.018173f, -0.014167f, -0.000239f, -0.022608f, -0.017383f, 0.008548f, 0.003754f, -0.010411f, -0.005681f, -0.015049f, 0.012762f, 0.008070f, 0.020465f, 0.036693f, -0.003318f, -0.011236f, -0.003157f, -0.019047f, 0.000619f, -0.014977f, -0.015026f, 0.018507f, 0.003033f, 0.002009f, -0.023733f, 0.024776f, 0.005911f, -0.016426f, + -0.004211f, 0.012468f, 0.001755f, 0.002237f, 0.000453f, 0.001540f, 0.008323f, -0.012689f, 0.015109f, -0.000251f, -0.009072f, -0.003339f, -0.016185f, 0.002125f, -0.016637f, -0.016091f, 0.014378f, 0.013414f, -0.013044f, -0.022627f, 0.006557f, -0.011072f, -0.000713f, -0.006164f, 0.008298f, -0.006330f, 0.010537f, -0.010912f, -0.012262f, 0.014786f, -0.004669f, -0.003297f, 0.008299f, -0.012043f, -0.012992f, 0.014912f, 0.019587f, 0.000476f, -0.001353f, 0.006824f, -0.017135f, 0.029122f, -0.017933f, 0.002241f, 0.013729f, -0.006454f, 0.012805f, 0.015773f, 0.005023f, -0.016282f, 0.017573f, -0.002502f, 0.006531f, -0.012738f, -0.002523f, -0.024346f, 0.008314f, -0.014411f, 0.005504f, -0.025065f, 0.014694f, -0.018289f, -0.012954f, 0.010666f, 0.014518f, 0.005038f, 0.001538f, 0.000732f, -0.015912f, -0.014581f, -0.009457f, 0.038451f, 0.020978f, -0.005923f, -0.035576f, -0.004910f, 0.009939f, 0.020766f, -0.011740f, 0.001764f, -0.024583f, -0.008371f, -0.003067f, 0.006436f, 0.003575f, -0.005479f, -0.000460f, 0.010778f, -0.012159f, -0.000692f, -0.013850f, 0.007481f, 0.009060f, 0.026394f, 0.011252f, -0.013012f, + 0.005460f, -0.007350f, -0.020041f, -0.002731f, 0.011485f, 0.001566f, 0.032705f, -0.024869f, -0.004147f, 0.005573f, 0.014469f, 0.007632f, 0.019006f, 0.003896f, -0.023787f, 0.015153f, -0.020223f, -0.020784f, 0.000043f, -0.001631f, 0.015482f, 0.020218f, 0.017760f, 0.027011f, 0.005928f, -0.027393f, 0.029595f, 0.016739f, -0.012885f, 0.023450f, -0.003701f, 0.003005f, -0.021127f, -0.006913f, -0.006636f, -0.008920f, 0.018721f, -0.032657f, -0.008223f, -0.015309f, -0.015483f, 0.002770f, 0.014913f, -0.007437f, -0.019829f, -0.020040f, -0.027080f, -0.026415f, -0.014420f, -0.004525f, 0.010346f, -0.020789f, -0.027970f, -0.015971f, -0.007918f, -0.013306f, -0.010021f, 0.023268f, -0.014430f, 0.002022f, 0.011096f, -0.021460f, -0.014026f, -0.014573f, 0.021578f, -0.010139f, 0.013448f, 0.032692f, -0.004884f, 0.007008f, 0.001445f, -0.010599f, -0.015186f, -0.009632f, 0.013559f, -0.002988f, 0.015670f, 0.000271f, 0.011140f, 0.002128f, -0.025132f, 0.026746f, -0.014229f, -0.005527f, 0.045349f, 0.031051f, 0.020010f, -0.014008f, -0.035197f, -0.007561f, 0.019069f, -0.030386f, -0.018856f, 0.002189f, 0.023648f, 0.019572f, + 0.013145f, -0.016901f, 0.012542f, -0.003361f, 0.012545f, -0.002017f, 0.034868f, 0.023410f, -0.003194f, -0.031680f, -0.004831f, 0.026998f, 0.020128f, 0.002627f, 0.042590f, 0.021646f, -0.010217f, 0.001764f, 0.001661f, -0.003392f, -0.013653f, -0.015097f, -0.004035f, -0.045682f, 0.012101f, -0.014410f, 0.000888f, 0.000262f, 0.011043f, 0.019665f, -0.000932f, 0.006721f, -0.022606f, 0.017176f, -0.009103f, 0.033584f, -0.000680f, 0.006643f, -0.078117f, -0.001103f, 0.019039f, 0.012815f, 0.020325f, -0.005158f, -0.022942f, 0.014302f, 0.002676f, -0.015158f, 0.015232f, 0.005906f, -0.018421f, 0.002838f, -0.000877f, 0.008563f, -0.007852f, -0.025299f, -0.029853f, 0.001744f, -0.011919f, 0.012482f, 0.008038f, 0.007453f, 0.008646f, -0.030505f, -0.013251f, -0.031998f, -0.052415f, 0.008796f, 0.017711f, 0.019147f, 0.000152f, 0.043725f, -0.031045f, 0.010624f, 0.005687f, -0.008275f, -0.027532f, -0.010981f, -0.015719f, 0.018911f, -0.008207f, -0.016245f, -0.027928f, -0.001958f, -0.010367f, -0.004672f, -0.021031f, 0.011855f, -0.001340f, -0.009116f, 0.011307f, 0.015114f, 0.017067f, -0.021336f, 0.040455f, 0.003253f, + -0.005685f, -0.023965f, -0.023150f, -0.003871f, -0.002859f, -0.023280f, -0.024965f, -0.018404f, 0.016554f, -0.010220f, 0.027308f, 0.009668f, 0.045391f, 0.016521f, 0.017534f, -0.004643f, 0.024641f, -0.003012f, 0.006388f, 0.035437f, -0.009766f, 0.013716f, -0.040376f, -0.050964f, 0.012237f, -0.001011f, -0.032303f, 0.003626f, 0.001862f, -0.043523f, 0.013892f, -0.011533f, -0.007604f, -0.015730f, 0.018576f, -0.014404f, 0.002703f, 0.000468f, 0.010289f, 0.002595f, -0.022249f, 0.017417f, -0.000478f, 0.009213f, -0.027054f, -0.038055f, -0.024151f, 0.008466f, 0.031558f, 0.041393f, -0.001319f, 0.010991f, 0.025931f, 0.021367f, -0.002432f, -0.052770f, 0.035754f, -0.003732f, 0.009477f, -0.010974f, 0.018094f, -0.001601f, -0.023213f, 0.006053f, 0.040942f, 0.005916f, -0.027716f, 0.023467f, 0.016549f, 0.010653f, -0.021070f, 0.021411f, 0.015676f, 0.001234f, 0.025613f, -0.011284f, 0.006284f, 0.041546f, 0.030100f, 0.000298f, 0.008923f, 0.019791f, -0.040939f, -0.009210f, -0.003511f, -0.007498f, -0.036074f, 0.007644f, 0.009557f, 0.000568f, -0.028290f, -0.002002f, -0.047697f, 0.000779f, -0.034455f, -0.008438f, + 0.015909f, -0.016218f, -0.021414f, -0.018391f, 0.008568f, 0.005746f, -0.019938f, 0.004765f, -0.008105f, 0.020118f, -0.013381f, -0.016602f, 0.010503f, 0.018031f, -0.003560f, 0.005561f, 0.006787f, -0.055061f, -0.002675f, -0.008490f, -0.027387f, -0.002711f, 0.031748f, 0.003813f, -0.010368f, -0.011666f, 0.024037f, 0.006308f, 0.018049f, -0.044383f, 0.017619f, -0.046031f, -0.059374f, -0.034813f, 0.000270f, -0.029374f, 0.028602f, -0.007470f, -0.040607f, 0.000881f, -0.011911f, 0.007414f, 0.005047f, -0.006775f, -0.007082f, 0.027582f, -0.009686f, 0.011896f, -0.015934f, -0.011547f, 0.038280f, -0.011365f, -0.006730f, 0.001028f, 0.007114f, 0.027136f, -0.052781f, -0.001174f, 0.025078f, 0.028479f, 0.022509f, 0.005517f, -0.011252f, 0.054443f, 0.015631f, 0.018725f, 0.018312f, 0.011560f, -0.009406f, 0.002664f, 0.028674f, 0.012238f, -0.023762f, 0.013799f, 0.054524f, -0.027561f, 0.037049f, 0.016650f, -0.061772f, 0.016772f, 0.038059f, -0.002040f, 0.015984f, 0.002087f, -0.047338f, 0.025180f, 0.054275f, 0.005473f, 0.036222f, -0.020954f, 0.031773f, 0.030273f, -0.003088f, -0.002912f, 0.028889f, 0.018566f, + -0.043255f, 0.042877f, -0.012576f, -0.007585f, 0.022158f, -0.010565f, -0.017833f, -0.017327f, 0.001977f, 0.002221f, -0.017134f, -0.033171f, 0.078283f, 0.037251f, -0.089110f, -0.038132f, 0.010577f, -0.015920f, 0.027053f, 0.029671f, 0.033915f, 0.036645f, -0.022079f, 0.070302f, -0.009685f, 0.000827f, -0.022280f, 0.025889f, 0.036853f, -0.026766f, -0.028354f, -0.007161f, -0.015866f, 0.002198f, 0.015367f, 0.001235f, -0.017420f, -0.007970f, 0.030468f, -0.003311f, 0.015960f, 0.002608f, 0.036463f, 0.051964f, 0.021238f, -0.026432f, -0.058471f, -0.005983f, -0.008939f, 0.005732f, -0.012602f, 0.018690f, 0.034280f, 0.001999f, -0.011017f, -0.028246f, 0.066462f, 0.056019f, -0.006292f, 0.026834f, -0.014228f, -0.021855f, -0.061501f, 0.033696f, -0.027981f, -0.007789f, -0.000533f, -0.020676f, 0.012364f, 0.037528f, 0.007272f, -0.018085f, 0.019689f, -0.008948f, -0.024556f, 0.038373f, 0.009370f, -0.055757f, 0.071377f, -0.048547f, -0.024174f, 0.026005f, 0.028933f, 0.022209f, 0.001311f, -0.024431f, 0.002375f, 0.036031f, 0.010184f, -0.047724f, -0.039015f, -0.008708f, 0.060070f, 0.006905f, -0.029231f, -0.077214f, + -0.021866f, -0.002860f, 0.018313f, 0.054299f, 0.040915f, -0.004973f, 0.000410f, 0.036049f, 0.028624f, 0.002178f, 0.007839f, -0.104169f, -0.066227f, -0.031350f, -0.051860f, 0.005481f, -0.028874f, 0.047499f, -0.010528f, -0.002589f, -0.000078f, -0.017623f, -0.021195f, 0.034828f, 0.021206f, 0.013110f, -0.004515f, -0.014808f, -0.014088f, 0.018058f, -0.037336f, -0.012784f, 0.006999f, -0.011685f, -0.017967f, 0.017112f, -0.054020f, -0.074686f, 0.018528f, 0.025288f, 0.029993f, -0.042926f, -0.023180f, 0.026195f, 0.009826f, -0.072616f, -0.064699f, 0.005600f, -0.031049f, -0.030977f, 0.012645f, -0.058295f, 0.030935f, -0.021531f, 0.025507f, 0.025635f, -0.014388f, -0.032226f, -0.077619f, -0.025935f, -0.022973f, 0.045043f, -0.037328f, -0.023992f, 0.014269f, 0.031735f, 0.041788f, -0.006010f, -0.057936f, 0.026735f, -0.009283f, -0.023035f, -0.050008f, 0.015573f, 0.020444f, -0.072291f, 0.026999f, 0.026877f, 0.065378f, 0.006855f, -0.017112f, 0.004981f, -0.081292f, -0.022556f, -0.010332f, 0.001950f, 0.014286f, -0.026707f, 0.049025f, 0.020707f, 0.060738f, -0.011407f, 0.053405f, 0.035415f, 0.020901f, 0.049894f, + 0.024491f, 0.033195f, 0.041366f, 0.002629f, -0.054833f, -0.050706f, 0.010250f, 0.059682f, 0.042368f, -0.077831f, -0.002433f, -0.012648f, -0.011174f, -0.007644f, -0.054499f, 0.014471f, -0.038806f, 0.035344f, -0.025935f, 0.079085f, -0.020670f, -0.112655f, -0.011937f, -0.038769f, 0.022564f, 0.016768f, 0.032302f, 0.073108f, 0.016526f, -0.010352f, 0.040272f, -0.024358f, 0.081996f, 0.012771f, 0.054808f, 0.024293f, 0.004847f, -0.022839f, -0.019247f, 0.131443f, -0.000241f, -0.097074f, -0.020835f, 0.067494f, -0.049110f, -0.002185f, 0.037839f, 0.015094f, -0.076022f, -0.029819f, -0.086521f, 0.012189f, 0.077437f, -0.057822f, -0.052610f, 0.049501f, 0.024281f, -0.088288f, -0.082053f, 0.024948f, 0.004587f, 0.010538f, 0.028177f, -0.005082f, -0.024687f, -0.014323f, 0.052584f, -0.039532f, 0.064846f, 0.008643f, -0.015467f, 0.011838f, 0.037201f, -0.002291f, -0.011697f, -0.071830f, -0.031088f, 0.005334f, -0.037950f, 0.029649f, 0.047248f, 0.000827f, 0.007040f, -0.052543f, 0.058310f, -0.023765f, -0.027707f, 0.045326f, -0.019915f, -0.003142f, -0.036185f, -0.006949f, -0.026038f, -0.089158f, 0.027559f, -0.013412f, + 0.061594f, 0.077491f, -0.003394f, -0.018888f, -0.054122f, -0.020967f, -0.017074f, 0.072643f, -0.076753f, -0.057444f, -0.125601f, -0.002959f, -0.054324f, 0.007653f, 0.038272f, -0.029967f, -0.011118f, 0.075436f, 0.048333f, 0.028835f, 0.000090f, -0.007174f, 0.055337f, -0.082530f, -0.013593f, -0.000156f, -0.013916f, 0.010025f, 0.070160f, -0.050300f, 0.014722f, -0.014356f, -0.030765f, -0.021423f, 0.108329f, -0.010597f, 0.051083f, -0.040078f, 0.072641f, -0.022057f, -0.002960f, 0.045974f, 0.040271f, 0.110531f, 0.001023f, 0.022015f, 0.011545f, -0.040217f, 0.050687f, 0.021736f, -0.036066f, 0.058128f, -0.026173f, 0.072007f, 0.047382f, -0.010888f, 0.040754f, 0.007107f, 0.037827f, 0.013485f, 0.066834f, -0.037950f, 0.031493f, -0.066119f, -0.021565f, 0.029298f, 0.072858f, 0.002057f, 0.002569f, 0.038463f, -0.003825f, -0.020204f, -0.095650f, -0.051260f, 0.012260f, -0.033769f, -0.005192f, 0.034984f, -0.083675f, 0.055114f, -0.006865f, 0.064517f, -0.031085f, -0.048422f, -0.012748f, 0.157290f, 0.031142f, -0.130948f, 0.021158f, 0.041461f, 0.005650f, 0.155990f, -0.011773f, -0.103635f, 0.111718f, -0.032286f, + -0.009554f, 0.130729f, -0.015144f, 0.086385f, 0.012214f, -0.074840f, -0.000069f, 0.084444f, 0.010715f, 0.011594f, -0.003576f, -0.112156f, -0.006706f, 0.015625f, -0.039593f, -0.013486f, -0.114225f, 0.071952f, 0.114420f, -0.050991f, 0.017686f, -0.087239f, -0.248647f, -0.049388f, 0.013330f, 0.125602f, 0.108414f, -0.106035f, -0.091447f, -0.095445f, -0.075441f, -0.056016f, 0.067921f, -0.013057f, 0.147614f, 0.097220f, -0.027741f, -0.122368f, -0.300262f, -0.197095f, 0.015252f, 0.333384f, 0.256611f, 0.044950f, -0.129922f, -0.331644f, -0.336277f, -0.026486f, 0.198251f, 0.302310f, 0.335127f, 0.032341f, -0.106430f, -0.138730f, -0.179693f, -0.165385f, 0.012328f, 0.110359f, 0.211348f, 0.142030f, 0.116811f, -0.153294f, -0.183298f, -0.219709f, -0.259887f, 0.025971f, 0.313803f, 0.304732f, 0.063578f, -0.115319f, -0.292711f, -0.389242f, -0.129612f, 0.024494f, 0.143237f, 0.345056f, 0.129086f, -0.008023f, -0.194358f, -0.167356f, -0.068351f, 0.067833f, 0.133948f, 0.221768f, -0.029770f, 0.053867f, 0.041357f, -0.095012f, 0.000950f, 0.048804f, -0.039361f, 0.053923f, -0.002338f, -0.010009f, -0.004048f, 0.010751f, + 0.040853f, -0.016295f, 0.048147f, 0.032703f, 0.019445f, 0.021673f, 0.016330f, -0.004435f, -0.028006f, 0.044964f, -0.000952f, 0.027306f, -0.016834f, 0.024257f, -0.008856f, -0.003868f, 0.016273f, -0.022744f, -0.024061f, 0.003086f, -0.010639f, 0.036212f, 0.035674f, -0.033597f, 0.016010f, -0.020204f, 0.022188f, 0.000013f, 0.014343f, 0.005205f, 0.018768f, -0.024113f, 0.015721f, -0.027688f, -0.012471f, -0.004287f, -0.003768f, 0.021432f, -0.042185f, -0.008713f, -0.017849f, -0.037430f, -0.004012f, -0.015015f, 0.008082f, 0.034675f, -0.011301f, -0.049204f, 0.007128f, 0.029855f, 0.058366f, -0.002910f, 0.004602f, -0.032029f, -0.024668f, 0.027457f, 0.002189f, -0.010185f, 0.000802f, 0.048876f, 0.021779f, 0.016657f, 0.027421f, 0.047142f, -0.043715f, 0.006504f, 0.008624f, -0.032725f, 0.086625f, 0.154505f, 0.011097f, -0.097915f, 0.031553f, -0.005610f, 0.121774f, 0.060023f, 0.119663f, -0.009552f, -0.059734f, -0.013837f, 0.025024f, 0.052991f, 0.038034f, -0.020665f, 0.001967f, 0.023574f, 0.013795f, 0.050157f, -0.035727f, 0.010007f, -0.047500f, -0.005512f, -0.001325f, 0.013561f, 0.021756f, 0.007068f, + -0.021396f, 0.038845f, -0.005391f, -0.030825f, 0.042619f, -0.005760f, -0.017940f, 0.013715f, -0.008619f, 0.036602f, 0.053402f, 0.003251f, 0.012482f, -0.016729f, -0.013615f, 0.033963f, 0.021223f, 0.028475f, 0.003285f, -0.014865f, -0.036801f, -0.033764f, -0.040819f, 0.033119f, 0.032224f, 0.035557f, 0.048028f, 0.055627f, 0.021239f, 0.004999f, -0.048611f, 0.030896f, -0.006845f, -0.040092f, 0.050626f, -0.001396f, 0.032752f, 0.020676f, -0.054152f, 0.017372f, -0.017112f, 0.014426f, 0.034194f, 0.010482f, -0.044897f, -0.025863f, -0.025001f, -0.055092f, -0.119289f, 0.006824f, 0.167867f, 0.219102f, 0.190287f, 0.129010f, -0.004678f, 0.006432f, -0.095707f, -0.116595f, -0.192214f, -0.147657f, -0.154304f, -0.052211f, 0.013522f, 0.048298f, 0.085088f, 0.208096f, 0.175257f, 0.115485f, 0.038286f, -0.021083f, -0.076065f, -0.059296f, -0.079211f, -0.103372f, -0.056211f, -0.060468f, -0.071204f, -0.036069f, -0.047128f, 0.006603f, 0.032224f, 0.024211f, 0.088772f, 0.079102f, 0.072400f, 0.044192f, 0.054417f, 0.030957f, 0.065216f, 0.011785f, 0.056036f, -0.001955f, -0.016856f, -0.105333f, -0.045780f, -0.126273f, + -0.143206f, -0.162991f, -0.126150f, -0.098590f, -0.035845f, 0.017577f, 0.087236f, 0.089809f, 0.072315f, 0.149333f, 0.122645f, 0.127754f, 0.120767f, 0.108589f, 0.041507f, 0.066289f, -0.036817f, -0.086013f, -0.086524f, -0.198107f, -0.194814f, -0.193403f, -0.201778f, -0.173607f, -0.066686f, -0.045181f, 0.027364f, 0.086363f, 0.092905f, 0.039836f, 0.018707f} + }, + { + {-0.004040f, -0.000830f, 0.000613f, -0.001602f, -0.002829f, -0.007232f, 0.000901f, -0.001133f, -0.013391f, -0.001878f, -0.001526f, 0.004599f, 0.010737f, -0.009080f, 0.003944f, -0.005698f, 0.002421f, -0.007837f, 0.003986f, 0.002558f, -0.005622f, -0.005130f, -0.008498f, 0.003533f, -0.007983f, 0.001191f, 0.007008f, 0.004917f, 0.002149f, 0.003324f, 0.000517f, -0.007091f, 0.000305f, -0.004431f, 0.003582f, 0.002330f, 0.002731f, 0.011169f, 0.003600f, 0.001686f, -0.000240f, 0.003823f, -0.000111f, 0.003521f, -0.000878f, 0.007965f, 0.002757f, 0.003542f, 0.005998f, 0.013328f, 0.000654f, -0.002188f, 0.005334f, -0.004015f, -0.009282f, 0.004755f, -0.004256f, -0.007988f, 0.002086f, -0.002432f, 0.004401f, -0.002118f, -0.003564f, -0.006102f, 0.006329f, 0.002359f, -0.000370f, -0.005892f, -0.008228f, -0.002438f, -0.001872f, 0.001349f, -0.001025f, -0.000146f, 0.001309f, 0.002465f, 0.019262f, 0.010384f, -0.001251f, 0.006853f, 0.001600f, 0.001644f, -0.021281f, -0.009117f, -0.010582f, 0.008366f, -0.001217f, -0.006776f, 0.007430f, 0.007864f, 0.000435f, 0.007558f, -0.003179f, -0.000137f, -0.000505f, -0.004474f, + -0.002456f, -0.010063f, 0.005204f, -0.014934f, 0.006233f, -0.007728f, 0.006360f, 0.012103f, 0.005419f, -0.002149f, -0.003429f, 0.008982f, -0.001465f, 0.000546f, 0.008341f, -0.008833f, -0.000289f, -0.002895f, -0.005188f, 0.001241f, -0.001272f, 0.002000f, 0.008575f, 0.014292f, -0.004496f, 0.000403f, 0.011756f, 0.001043f, 0.003107f, -0.004175f, -0.006557f, -0.000815f, 0.002012f, -0.010944f, -0.002863f, 0.005954f, 0.000819f, 0.002248f, 0.003527f, -0.001442f, -0.003365f, -0.003134f, -0.003761f, 0.004433f, 0.003678f, -0.001917f, -0.006157f, -0.007708f, 0.004125f, 0.000152f, -0.006144f, 0.006882f, -0.001008f, -0.000505f, 0.001812f, 0.001738f, -0.001677f, -0.007037f, -0.001832f, -0.000025f, -0.006509f, -0.006746f, -0.003917f, 0.015919f, -0.011154f, -0.004700f, -0.007762f, -0.014368f, 0.005423f, 0.002369f, 0.000645f, 0.012184f, 0.011703f, 0.011555f, 0.003851f, -0.002261f, 0.001896f, 0.008688f, -0.003655f, 0.003696f, 0.004533f, -0.010440f, 0.014842f, 0.002767f, 0.004692f, 0.010804f, -0.004080f, -0.010972f, 0.000851f, 0.007285f, -0.005084f, -0.002467f, -0.006814f, 0.007242f, -0.000056f, -0.000864f, + -0.011924f, -0.000643f, -0.001320f, 0.007302f, 0.003948f, -0.006749f, 0.013360f, 0.004730f, 0.002919f, 0.004473f, -0.001970f, 0.007240f, -0.002689f, 0.000195f, -0.009003f, -0.011187f, 0.009042f, 0.006707f, 0.012458f, 0.000974f, 0.003554f, -0.009704f, -0.014370f, -0.007458f, -0.004092f, -0.004567f, -0.006435f, -0.006169f, 0.003391f, -0.002087f, 0.004863f, -0.005958f, -0.001619f, 0.001863f, 0.003330f, -0.002336f, 0.008250f, 0.001508f, -0.013761f, -0.012860f, 0.007533f, 0.001688f, 0.010540f, -0.016321f, -0.002302f, -0.006515f, 0.001739f, 0.019348f, 0.011053f, -0.017013f, 0.006395f, 0.001550f, -0.007100f, -0.007936f, -0.009653f, -0.015693f, 0.000516f, 0.001789f, -0.005839f, 0.002683f, -0.003392f, 0.000497f, 0.004650f, 0.003530f, 0.010001f, -0.008927f, 0.015778f, -0.009795f, 0.009125f, 0.007162f, -0.006024f, 0.004120f, 0.000675f, 0.006422f, -0.002738f, 0.003263f, 0.005937f, 0.001825f, 0.000826f, -0.002633f, 0.004589f, 0.001186f, -0.002234f, 0.011029f, -0.014880f, 0.000745f, -0.009076f, 0.017460f, 0.006117f, -0.015821f, 0.005863f, 0.019945f, -0.019250f, -0.009489f, 0.002118f, -0.002001f, + -0.007426f, 0.005566f, -0.002738f, 0.012970f, -0.011587f, -0.001757f, -0.003992f, -0.001509f, -0.000939f, 0.012215f, -0.012394f, -0.005049f, -0.001620f, -0.013798f, 0.006395f, 0.003528f, 0.013056f, 0.002983f, 0.010558f, 0.005896f, -0.009214f, 0.000990f, -0.005661f, 0.006099f, 0.002568f, -0.009707f, 0.027949f, -0.017683f, 0.005900f, 0.029788f, -0.020721f, 0.009764f, -0.000138f, 0.009731f, -0.002151f, -0.018079f, -0.003483f, 0.014935f, 0.013873f, 0.003746f, 0.000404f, 0.007632f, 0.004265f, 0.000384f, 0.006845f, 0.006425f, -0.004563f, 0.008180f, -0.001564f, 0.012826f, -0.009472f, -0.015437f, 0.004074f, -0.013409f, 0.005488f, 0.000579f, -0.003119f, -0.004021f, -0.005418f, -0.008915f, 0.002683f, 0.003733f, 0.001245f, 0.002864f, 0.003668f, -0.005204f, -0.011027f, 0.010048f, 0.003160f, 0.002199f, 0.000501f, 0.014601f, 0.003936f, 0.006589f, 0.015873f, -0.008179f, 0.004805f, 0.001504f, 0.005736f, 0.011283f, 0.009426f, -0.012299f, -0.010302f, -0.001816f, -0.005197f, -0.000202f, 0.002070f, -0.004270f, 0.004745f, -0.009016f, 0.002305f, -0.008342f, 0.006993f, 0.007427f, -0.003953f, 0.010224f, + -0.005224f, 0.009414f, -0.002975f, 0.005471f, -0.006009f, 0.002093f, -0.004441f, 0.004188f, -0.002885f, -0.015640f, 0.011638f, 0.009992f, 0.020142f, -0.012542f, 0.007413f, -0.015883f, -0.004423f, 0.012334f, 0.010158f, -0.010624f, 0.002122f, -0.012553f, -0.000334f, -0.014989f, 0.004090f, -0.010779f, -0.016894f, -0.012137f, 0.005608f, -0.009446f, -0.000873f, -0.011360f, 0.000358f, 0.003760f, -0.003331f, -0.007780f, 0.004707f, 0.010342f, 0.003700f, 0.005855f, -0.011631f, 0.007552f, -0.012129f, -0.001429f, 0.005299f, 0.002241f, -0.002823f, -0.000840f, -0.001742f, 0.008968f, -0.009291f, -0.013192f, -0.004573f, 0.006953f, -0.004574f, -0.009099f, -0.012848f, -0.013971f, 0.002567f, -0.002265f, -0.016637f, 0.013477f, -0.011157f, -0.006952f, 0.017110f, -0.003876f, -0.005033f, 0.004499f, -0.004754f, -0.002792f, 0.000063f, -0.006535f, -0.006480f, -0.004267f, -0.008181f, 0.003425f, 0.002428f, 0.014817f, -0.021130f, 0.004222f, 0.017391f, -0.006176f, 0.019077f, 0.005959f, 0.000596f, -0.005267f, -0.014429f, -0.008629f, 0.022752f, -0.012201f, -0.000833f, -0.003983f, 0.001081f, 0.014462f, 0.011903f, -0.007364f, + 0.017513f, 0.018587f, -0.009457f, -0.004240f, 0.010278f, -0.009169f, -0.009131f, -0.000374f, -0.013579f, -0.000094f, -0.004690f, 0.001797f, 0.020993f, 0.007640f, 0.000167f, -0.009966f, -0.030290f, -0.003482f, 0.015337f, 0.004085f, -0.012086f, 0.008428f, 0.012185f, 0.011660f, 0.012898f, -0.023139f, 0.003415f, 0.001058f, -0.012767f, 0.006120f, -0.011672f, 0.007223f, -0.007232f, 0.008959f, 0.019022f, 0.026897f, 0.015558f, 0.007638f, -0.012849f, -0.003345f, -0.015110f, -0.014368f, -0.004766f, 0.015591f, 0.001992f, -0.000052f, 0.001681f, -0.015846f, 0.001802f, 0.001657f, -0.002616f, -0.008078f, 0.001399f, 0.008452f, -0.012339f, -0.016633f, 0.034190f, 0.006463f, -0.011632f, -0.001977f, -0.007510f, -0.001460f, 0.003970f, -0.005663f, 0.029486f, -0.001946f, 0.007630f, 0.022928f, 0.001923f, -0.002170f, -0.015226f, 0.009140f, -0.008636f, -0.008536f, -0.029802f, -0.011786f, 0.004923f, -0.000382f, -0.006471f, -0.019694f, 0.006422f, 0.012691f, -0.017280f, -0.007380f, -0.005253f, -0.015974f, 0.006025f, 0.002460f, -0.009909f, -0.006220f, -0.003932f, -0.021970f, -0.009066f, 0.012804f, 0.018549f, -0.013333f, + -0.019042f, -0.003995f, -0.001808f, -0.013526f, -0.012932f, 0.005999f, 0.007433f, -0.014918f, 0.031913f, 0.001538f, 0.012587f, -0.006025f, 0.011805f, -0.007028f, 0.003120f, -0.021719f, -0.005488f, 0.010882f, -0.023737f, 0.007803f, -0.005802f, -0.010331f, -0.026830f, 0.000886f, 0.014062f, 0.001685f, -0.028218f, -0.002722f, 0.004575f, 0.012599f, 0.019902f, -0.006080f, 0.008698f, 0.025067f, 0.007548f, 0.004025f, -0.011235f, -0.001429f, 0.009563f, -0.003512f, -0.008437f, 0.010390f, 0.002556f, -0.017523f, -0.025922f, -0.022304f, -0.026855f, 0.022989f, -0.013762f, -0.004198f, 0.008361f, -0.026651f, -0.010192f, -0.018756f, -0.007464f, -0.006473f, 0.012334f, -0.023458f, -0.011572f, 0.006534f, 0.009579f, 0.012402f, 0.000355f, -0.000292f, -0.003510f, -0.000786f, -0.004803f, 0.002507f, -0.017509f, -0.010468f, -0.015343f, 0.010244f, 0.005985f, 0.007751f, 0.011565f, -0.022732f, -0.001087f, -0.003170f, 0.020442f, -0.008320f, 0.006753f, 0.010041f, -0.003637f, 0.010794f, -0.007188f, 0.012115f, 0.018629f, -0.008002f, -0.000858f, 0.014720f, -0.012983f, 0.020675f, -0.008903f, -0.035324f, 0.005663f, 0.016803f, + -0.006513f, 0.001013f, -0.000348f, 0.012567f, 0.017313f, -0.018516f, -0.007434f, 0.002827f, 0.011846f, -0.021764f, -0.015553f, -0.013886f, 0.024562f, -0.002280f, -0.028804f, -0.008187f, -0.012649f, -0.016312f, -0.006092f, 0.010570f, 0.004408f, 0.015299f, 0.005726f, 0.007276f, -0.030472f, -0.012482f, 0.012353f, -0.008536f, -0.005489f, -0.010695f, 0.003473f, 0.015611f, 0.004523f, 0.003373f, -0.020335f, -0.007446f, -0.003466f, 0.007176f, 0.018424f, -0.022504f, 0.010673f, -0.018448f, -0.004481f, -0.017024f, 0.002408f, 0.001760f, -0.000553f, 0.006355f, -0.015126f, -0.004997f, -0.014156f, -0.006511f, 0.000552f, -0.001252f, -0.017846f, 0.009798f, 0.011946f, -0.004954f, 0.014127f, 0.026547f, 0.003104f, 0.019940f, 0.026736f, 0.001414f, 0.001199f, 0.005690f, -0.005189f, 0.008057f, 0.002177f, -0.006493f, -0.008487f, 0.032441f, -0.003003f, 0.018640f, 0.009061f, -0.010538f, -0.010812f, -0.008674f, 0.009869f, -0.008360f, 0.012721f, 0.028423f, 0.015577f, -0.004680f, 0.001356f, -0.025301f, -0.015853f, -0.015745f, 0.024206f, 0.035296f, -0.014421f, -0.000996f, -0.013052f, -0.003977f, 0.020045f, 0.058574f, + 0.024380f, -0.007078f, -0.002824f, -0.009970f, 0.025805f, -0.025925f, -0.016003f, -0.040046f, -0.001321f, 0.020854f, 0.024160f, 0.005236f, -0.010813f, -0.023736f, -0.018786f, 0.018733f, -0.004566f, 0.029326f, -0.001003f, -0.008501f, 0.012574f, 0.005605f, -0.001199f, -0.006444f, 0.017716f, -0.002809f, 0.015154f, 0.000398f, -0.009807f, 0.035863f, -0.009450f, 0.014920f, 0.033571f, 0.012799f, -0.002533f, -0.016305f, -0.004285f, -0.026955f, -0.033413f, 0.007626f, 0.019528f, -0.004378f, 0.001716f, -0.034670f, -0.014618f, 0.020979f, 0.009809f, -0.008584f, 0.005455f, -0.009917f, -0.006412f, -0.015547f, -0.028400f, 0.002144f, -0.007819f, -0.018577f, -0.032681f, -0.026403f, -0.010330f, -0.024227f, 0.009711f, -0.010600f, 0.002173f, 0.003644f, -0.002037f, 0.001032f, -0.005962f, -0.005097f, 0.013903f, 0.032237f, -0.023644f, 0.004366f, -0.011283f, 0.011972f, -0.013674f, -0.024459f, -0.026312f, 0.006314f, 0.010939f, 0.031618f, -0.026742f, 0.007997f, 0.008945f, -0.046256f, -0.001576f, -0.000454f, -0.037512f, -0.021518f, -0.012961f, 0.008871f, -0.002577f, 0.001439f, -0.010291f, 0.015130f, 0.025615f, 0.012359f, + -0.003191f, -0.039561f, -0.016447f, -0.021979f, 0.008180f, 0.001343f, -0.016619f, -0.002377f, 0.013590f, -0.012342f, 0.023242f, -0.021852f, -0.000377f, -0.013260f, -0.038380f, 0.005349f, -0.016244f, -0.019811f, 0.014526f, 0.019979f, -0.023791f, 0.007863f, 0.028321f, -0.010670f, 0.012433f, 0.008167f, -0.006584f, 0.002264f, -0.031334f, 0.045779f, 0.018638f, 0.009504f, 0.045231f, -0.057094f, -0.004251f, -0.009551f, 0.005719f, 0.020564f, 0.023249f, 0.006899f, 0.010947f, 0.026750f, -0.003040f, -0.022036f, -0.034524f, 0.010751f, -0.013313f, -0.001374f, 0.008816f, -0.009673f, 0.013481f, 0.034073f, -0.023473f, 0.014002f, -0.011752f, -0.014463f, 0.006259f, 0.030258f, 0.034278f, 0.009334f, 0.020924f, -0.013382f, 0.009550f, 0.010493f, -0.057816f, 0.016827f, 0.017988f, 0.004550f, -0.018793f, 0.000219f, -0.035877f, 0.042219f, 0.024512f, -0.012416f, -0.014511f, -0.020015f, -0.011307f, 0.030738f, -0.030949f, -0.016786f, -0.005054f, -0.004423f, -0.007038f, 0.005044f, -0.020625f, -0.019912f, -0.012567f, -0.015187f, -0.004718f, -0.019958f, -0.003260f, -0.013182f, -0.045653f, -0.028232f, -0.011553f, -0.006545f, + 0.005963f, 0.008192f, -0.000594f, 0.001946f, 0.012789f, 0.006909f, 0.006408f, 0.032435f, 0.006369f, 0.011318f, 0.019605f, 0.043304f, 0.036322f, 0.002409f, -0.014712f, -0.027647f, 0.025331f, -0.005924f, 0.068844f, 0.014224f, 0.030743f, -0.003206f, 0.003716f, -0.027409f, -0.001332f, 0.023809f, 0.013580f, 0.017748f, -0.021069f, -0.014516f, -0.027074f, -0.051993f, 0.028639f, -0.047106f, -0.006239f, 0.054151f, 0.007671f, -0.041976f, 0.013193f, 0.014342f, -0.026276f, -0.022237f, 0.001593f, 0.015879f, 0.041162f, -0.003043f, -0.029600f, -0.032083f, -0.000393f, -0.018563f, 0.006488f, 0.004721f, -0.033106f, -0.030612f, -0.054883f, -0.017522f, -0.014944f, -0.039171f, -0.024542f, -0.001140f, -0.016372f, -0.012054f, -0.008615f, -0.003990f, -0.036328f, -0.021148f, -0.021717f, -0.012355f, 0.013235f, -0.033006f, 0.004022f, 0.025970f, 0.033550f, -0.008293f, 0.010436f, 0.017441f, -0.029784f, 0.017034f, -0.011841f, 0.027260f, -0.011695f, 0.001767f, -0.012681f, -0.003982f, 0.057735f, -0.012246f, 0.023081f, -0.041515f, -0.004530f, -0.000840f, -0.036318f, 0.035238f, 0.003807f, -0.014052f, 0.028449f, -0.011468f, + 0.009386f, 0.050252f, -0.017370f, -0.028934f, 0.022443f, -0.006318f, -0.053995f, 0.022323f, -0.072305f, -0.041979f, 0.034992f, 0.022710f, 0.010206f, 0.015005f, 0.007040f, -0.001230f, -0.044731f, -0.024277f, -0.009512f, -0.009823f, 0.077556f, 0.041940f, 0.000396f, -0.040101f, 0.020755f, -0.041801f, -0.033405f, 0.005791f, 0.034611f, 0.067466f, -0.010369f, 0.033947f, -0.011970f, 0.024006f, 0.041373f, 0.022664f, 0.026528f, 0.013774f, -0.007455f, -0.033941f, -0.034582f, -0.010829f, -0.032691f, -0.009962f, -0.005864f, -0.007678f, 0.026445f, -0.004741f, -0.067444f, 0.003720f, 0.016387f, 0.015379f, 0.040466f, -0.004382f, -0.080619f, 0.045663f, -0.036118f, 0.011639f, -0.007981f, 0.026989f, 0.039367f, -0.044076f, -0.003285f, -0.022047f, -0.038611f, 0.027707f, -0.019423f, -0.047212f, 0.018078f, 0.027620f, 0.044826f, 0.012119f, -0.007757f, 0.005128f, 0.036332f, -0.029659f, 0.057660f, -0.018109f, -0.017544f, -0.004837f, 0.034295f, -0.036602f, 0.001669f, 0.005297f, -0.105643f, -0.014353f, 0.029374f, -0.013572f, 0.001990f, 0.016203f, 0.003056f, -0.002409f, 0.002072f, 0.039839f, 0.030189f, -0.011301f, + -0.003072f, 0.044509f, 0.029407f, -0.081926f, -0.046628f, 0.056812f, 0.065568f, -0.034549f, -0.011540f, -0.091928f, -0.050717f, 0.014102f, -0.003633f, 0.013184f, -0.048541f, -0.029864f, -0.032945f, 0.051054f, 0.075146f, -0.002416f, 0.021058f, -0.010778f, -0.005373f, 0.000483f, 0.018306f, 0.033721f, 0.009210f, -0.009788f, -0.004647f, -0.005757f, -0.042706f, -0.023224f, -0.043304f, -0.003928f, 0.015877f, -0.016744f, 0.029918f, -0.018238f, -0.005457f, 0.045705f, -0.018494f, 0.026964f, 0.019486f, -0.005038f, -0.038766f, -0.027032f, -0.021757f, 0.010778f, 0.081026f, 0.017199f, 0.045336f, 0.053037f, 0.042377f, 0.032588f, 0.029677f, -0.038558f, 0.005495f, -0.002339f, 0.062421f, 0.032422f, 0.038984f, 0.065617f, -0.023646f, -0.034366f, 0.021338f, 0.057527f, -0.078835f, 0.005949f, 0.015175f, 0.048608f, -0.059972f, -0.094962f, -0.006951f, 0.041710f, 0.022798f, 0.028916f, 0.045821f, -0.010634f, -0.007733f, 0.021390f, -0.033563f, 0.026935f, -0.005885f, -0.016397f, -0.042208f, 0.018835f, -0.023046f, -0.031752f, 0.021435f, 0.055396f, 0.010617f, -0.014424f, 0.025109f, 0.055719f, 0.013840f, 0.015478f, + -0.001394f, -0.000607f, 0.018869f, -0.037323f, -0.002543f, -0.055877f, 0.027485f, -0.044087f, -0.009290f, 0.031645f, 0.009427f, -0.022885f, 0.000665f, -0.027265f, 0.061296f, 0.013898f, 0.016210f, 0.040042f, 0.068015f, -0.025000f, 0.018293f, -0.029780f, 0.007025f, 0.031878f, 0.053290f, 0.019438f, -0.017945f, 0.066104f, 0.002096f, 0.001350f, -0.041112f, 0.007968f, 0.031493f, -0.007127f, 0.029785f, -0.039121f, 0.062234f, 0.077633f, -0.093586f, 0.003677f, -0.013140f, 0.024856f, -0.022875f, -0.005237f, 0.028354f, -0.025159f, -0.101564f, 0.007344f, 0.071354f, -0.058258f, 0.020611f, -0.008543f, -0.021894f, -0.032883f, 0.073719f, 0.000819f, -0.007058f, 0.017687f, -0.087843f, 0.059122f, 0.006226f, -0.043775f, 0.003873f, -0.089858f, -0.021350f, 0.005586f, -0.018162f, -0.071306f, -0.008530f, -0.046373f, -0.012254f, 0.044793f, 0.009724f, 0.058419f, 0.023391f, 0.022919f, 0.013141f, -0.018073f, 0.045641f, -0.021759f, -0.000586f, 0.023232f, 0.009915f, -0.026429f, 0.022779f, 0.011061f, 0.054355f, 0.024164f, -0.009579f, 0.034732f, -0.025837f, 0.046318f, 0.015542f, -0.046542f, -0.049674f, 0.028135f, + 0.033066f, 0.015877f, 0.005917f, -0.021180f, -0.031325f, 0.012386f, -0.030689f, -0.044932f, -0.013649f, -0.005196f, -0.042679f, -0.013286f, 0.017658f, -0.026811f, -0.047947f, 0.017269f, 0.019940f, 0.005251f, -0.004218f, 0.000847f, -0.006317f, 0.021685f, 0.086445f, 0.021345f, -0.000093f, 0.001277f, -0.026704f, -0.043211f, -0.017850f, 0.074357f, 0.078334f, 0.043624f, 0.011672f, 0.073458f, 0.037921f, -0.008824f, -0.087220f, -0.064468f, -0.049680f, -0.101490f, -0.035020f, -0.007774f, 0.020703f, 0.039096f, -0.016682f, 0.050384f, -0.057404f, 0.046616f, -0.005812f, 0.062196f, -0.039997f, 0.036066f, -0.058985f, 0.051846f, -0.047566f, -0.019853f, 0.072077f, 0.016922f, 0.058031f, 0.082762f, 0.008942f, -0.006200f, -0.033800f, -0.002271f, 0.052926f, 0.013687f, -0.017800f, -0.057354f, 0.005770f, 0.012037f, 0.028280f, 0.017357f, 0.023794f, 0.014892f, -0.032672f, -0.053181f, -0.021643f, 0.052931f, 0.021336f, 0.167271f, -0.051426f, -0.043658f, 0.055880f, 0.086334f, 0.019657f, -0.000555f, 0.024350f, 0.006601f, 0.029461f, -0.024141f, 0.012088f, 0.040980f, 0.046497f, 0.030537f, 0.131741f, -0.015303f, + -0.013966f, -0.007257f, 0.069589f, 0.041035f, -0.030665f, 0.036141f, 0.002619f, 0.012641f, -0.024255f, 0.060444f, -0.055229f, 0.005401f, 0.095234f, -0.065919f, 0.200039f, -0.088750f, 0.097921f, 0.086948f, -0.080512f, -0.076933f, 0.090165f, 0.000400f, -0.011924f, 0.028697f, 0.047173f, -0.105005f, -0.038421f, 0.057249f, -0.125555f, -0.084913f, -0.050038f, 0.086263f, 0.197777f, 0.048916f, -0.147614f, -0.038918f, -0.150929f, -0.085691f, 0.130626f, 0.070779f, 0.123031f, 0.060517f, -0.085819f, -0.147660f, -0.104688f, -0.031121f, 0.068469f, 0.068092f, 0.048090f, 0.019494f, -0.033708f, -0.161314f, -0.183656f, -0.046022f, 0.147629f, 0.250680f, 0.177641f, -0.038373f, -0.116296f, -0.178254f, -0.124091f, -0.109406f, 0.003927f, 0.035289f, 0.143726f, 0.143153f, -0.077126f, -0.057040f, -0.184128f, -0.181244f, -0.059133f, 0.010408f, 0.184981f, 0.260722f, 0.122416f, -0.086357f, -0.277104f, -0.215612f, -0.149151f, 0.065804f, 0.163171f, 0.091470f, 0.066371f, 0.045014f, -0.164337f, -0.039856f, -0.092580f, 0.025905f, -0.010613f, 0.089032f, 0.158089f, 0.113000f, -0.143924f, -0.304967f, -0.220165f, 0.012381f, + 0.169700f, -0.016807f, -0.034545f, 0.068674f, 0.021361f, -0.055529f, -0.052460f, 0.000236f, -0.084503f, -0.010366f, 0.012549f, 0.009763f, -0.007303f, 0.002217f, -0.028355f, -0.003430f, -0.003253f, 0.014705f, -0.009697f, 0.039085f, -0.010209f, -0.007362f, -0.010720f, -0.012089f, 0.024471f, 0.007098f, -0.011499f, 0.037884f, 0.002636f, -0.066913f, -0.033210f, 0.018639f, 0.033143f, -0.011006f, 0.004359f, 0.046131f, -0.000731f, 0.006444f, -0.037149f, -0.016623f, 0.012077f, -0.008001f, -0.007799f, -0.004820f, 0.031028f, 0.011180f, -0.011220f, -0.035812f, -0.013566f, -0.001946f, -0.031965f, 0.003303f, -0.036533f, -0.024923f, -0.016391f, -0.033151f, 0.053391f, -0.009257f, -0.022314f, 0.022241f, 0.001114f, -0.051173f, -0.001337f, 0.051434f, 0.043472f, -0.023641f, 0.034352f, 0.005642f, 0.033189f, -0.033973f, -0.047716f, 0.019874f, 0.025588f, 0.020494f, 0.020791f, -0.017381f, 0.022850f, -0.033575f, 0.028355f, 0.025681f, -0.041145f, 0.082440f, 0.126280f, -0.016787f, -0.046599f, -0.040441f, 0.116342f, 0.052182f, 0.112550f, 0.060263f, 0.000105f, -0.052771f, -0.011773f, 0.028169f, 0.052721f, 0.024688f, + -0.024686f, -0.006703f, 0.025021f, 0.036502f, 0.004322f, 0.007565f, -0.026381f, 0.003896f, -0.012959f, 0.016047f, 0.018598f, 0.048266f, 0.041946f, -0.023602f, 0.003155f, -0.026436f, 0.006014f, 0.021263f, 0.032945f, 0.001192f, -0.016656f, -0.001439f, -0.029599f, 0.022625f, -0.007442f, 0.008378f, 0.021655f, -0.001192f, 0.029067f, -0.016522f, -0.009176f, -0.008896f, -0.031842f, -0.020472f, -0.048095f, -0.011032f, -0.054759f, 0.001391f, -0.019662f, 0.041688f, 0.005261f, 0.010389f, -0.042835f, 0.014719f, -0.001177f, -0.021469f, 0.028809f, -0.019683f, -0.010243f, 0.003945f, 0.018238f, -0.006421f, -0.013063f, 0.063809f, 0.019947f, 0.010516f, 0.023069f, -0.025066f, -0.048559f, -0.100957f, -0.015374f, 0.136308f, 0.206631f, 0.175945f, 0.136389f, -0.008385f, 0.014308f, -0.100709f, -0.117182f, -0.187023f, -0.110238f, -0.117682f, -0.039540f, 0.015251f, 0.079286f, 0.058416f, 0.175354f, 0.154992f, 0.048473f, 0.010741f, -0.030447f, -0.060704f, -0.098576f, -0.035429f, -0.101113f, -0.026712f, -0.050949f, -0.031635f, -0.026285f, 0.004164f, -0.001897f, 0.032017f, 0.044341f, 0.071644f, 0.075279f, 0.093390f, + 0.077969f, -0.011856f, 0.003671f, -0.003282f, 0.010892f, -0.049664f, 0.014264f, -0.053256f, -0.130831f, -0.065098f, -0.099463f, -0.162001f, -0.051982f, -0.017997f, -0.070053f, 0.016933f, 0.042347f, 0.105088f, 0.123475f, 0.186092f, 0.114139f, 0.091973f, 0.090506f, 0.053205f, -0.027580f, 0.000801f, -0.106367f, -0.094239f, -0.150905f, -0.179580f, -0.204641f, -0.155560f, -0.121863f, -0.029976f, -0.021531f, -0.008719f, 0.036086f, 0.062198f, 0.144298f, 0.092884f, 0.045077f, -0.004171f}, + {-0.000497f, -0.001580f, -0.004372f, 0.003520f, 0.009140f, -0.003241f, 0.005737f, 0.006635f, 0.001627f, 0.003363f, 0.007830f, 0.008979f, -0.003302f, 0.002299f, -0.006000f, -0.007388f, 0.008837f, -0.017604f, 0.000987f, -0.011187f, -0.007538f, -0.004443f, -0.001739f, 0.020681f, -0.000296f, 0.005171f, 0.005358f, 0.000784f, -0.001690f, -0.000909f, -0.001564f, 0.002118f, 0.005316f, 0.004530f, -0.001402f, 0.000192f, -0.001546f, -0.007204f, 0.003314f, 0.002018f, -0.002780f, -0.010954f, -0.009743f, -0.000328f, 0.000623f, 0.001321f, 0.006010f, 0.006567f, -0.008301f, -0.005861f, -0.006169f, 0.005498f, 0.008503f, 0.005247f, 0.011369f, -0.000354f, -0.001174f, -0.002428f, 0.007588f, -0.004794f, 0.001042f, 0.000760f, -0.006201f, -0.009264f, -0.003645f, 0.009792f, 0.000218f, 0.014802f, 0.000466f, -0.001735f, 0.000349f, 0.009703f, -0.001483f, -0.000793f, 0.005248f, 0.003876f, 0.013648f, 0.005370f, -0.007054f, -0.001046f, 0.004660f, -0.000723f, 0.004964f, -0.012491f, -0.009144f, -0.002083f, -0.010776f, 0.004571f, -0.002523f, -0.001058f, -0.007336f, -0.003091f, 0.006513f, 0.006774f, -0.002778f, -0.001929f, + -0.004596f, -0.010097f, 0.011196f, 0.006854f, 0.000118f, 0.001284f, -0.000802f, 0.000414f, 0.008974f, -0.004563f, 0.001496f, -0.014574f, -0.012195f, -0.002941f, 0.000897f, -0.010148f, -0.002091f, 0.003679f, 0.000679f, 0.000226f, -0.005326f, -0.003909f, 0.009372f, -0.004413f, -0.004296f, -0.001335f, -0.001567f, 0.004220f, -0.002434f, -0.006289f, -0.000446f, 0.005472f, -0.008068f, 0.000291f, -0.008630f, 0.000522f, -0.006388f, 0.009231f, -0.000775f, -0.009942f, -0.001679f, -0.001103f, 0.000918f, -0.014214f, -0.001953f, 0.000937f, -0.009635f, 0.004033f, -0.000050f, -0.011159f, 0.004683f, 0.006207f, -0.005954f, -0.007176f, -0.011921f, 0.005507f, 0.004294f, -0.000197f, -0.010088f, 0.004517f, -0.012598f, -0.003636f, -0.001631f, -0.006513f, 0.006296f, 0.014182f, -0.005650f, -0.001953f, 0.000863f, -0.005935f, 0.004301f, -0.000918f, -0.004572f, -0.008156f, -0.004092f, 0.012851f, 0.012662f, 0.006987f, 0.014684f, 0.008512f, 0.004870f, 0.013616f, -0.008139f, 0.003041f, 0.006121f, -0.000201f, 0.002673f, -0.003952f, 0.002953f, -0.018691f, 0.000770f, -0.000979f, 0.007173f, -0.004124f, -0.001981f, -0.001163f, + 0.005626f, -0.005782f, -0.000511f, 0.001879f, 0.004132f, 0.003771f, -0.000506f, -0.006150f, 0.001727f, 0.002486f, 0.005147f, 0.003753f, 0.005924f, -0.005692f, -0.002962f, -0.000762f, -0.010012f, -0.000892f, 0.003488f, 0.009550f, 0.010909f, -0.000959f, 0.006361f, 0.004678f, 0.000002f, 0.004325f, 0.005321f, 0.007186f, -0.001815f, 0.000555f, -0.004092f, 0.001564f, -0.003408f, 0.003710f, -0.005527f, -0.005140f, 0.004024f, 0.000750f, -0.012450f, -0.012607f, 0.004953f, -0.001892f, 0.010521f, 0.009680f, 0.001254f, -0.000243f, 0.019932f, -0.005778f, -0.000065f, 0.015894f, 0.001069f, -0.010002f, -0.013507f, 0.009548f, -0.003693f, -0.000477f, -0.008240f, 0.002117f, -0.005792f, 0.006285f, 0.030831f, -0.011703f, -0.008627f, -0.011578f, -0.011576f, 0.001581f, -0.009393f, -0.024629f, -0.000307f, 0.001791f, 0.000345f, -0.010181f, -0.001735f, 0.007164f, -0.009551f, -0.006441f, 0.014498f, 0.004026f, -0.003395f, -0.004076f, 0.009394f, -0.005244f, 0.006772f, 0.005297f, -0.012823f, -0.009348f, -0.007535f, 0.007775f, -0.006450f, -0.004675f, -0.003460f, -0.005098f, -0.000579f, -0.009555f, 0.000150f, -0.003449f, + 0.002217f, -0.002032f, -0.019037f, 0.008001f, -0.010674f, 0.007552f, 0.001508f, -0.016528f, 0.003068f, 0.009586f, 0.003055f, 0.016549f, -0.007619f, 0.000101f, 0.001694f, 0.003322f, 0.005757f, -0.007249f, 0.001756f, 0.005230f, -0.007523f, 0.003286f, 0.004693f, -0.004855f, 0.002593f, -0.002622f, -0.016858f, 0.004945f, 0.017090f, 0.013249f, 0.016092f, 0.002298f, -0.002607f, -0.013603f, -0.006194f, -0.006574f, -0.004222f, 0.013333f, 0.019782f, 0.001050f, -0.000469f, 0.013244f, -0.021113f, 0.000157f, -0.000884f, -0.000648f, -0.006240f, -0.007619f, 0.008958f, 0.009673f, 0.001309f, -0.002381f, 0.004972f, -0.010843f, -0.007027f, 0.008044f, -0.007818f, 0.016943f, 0.016591f, 0.002498f, 0.010694f, 0.007982f, 0.002849f, -0.007009f, 0.003687f, -0.000375f, -0.010731f, 0.011727f, 0.000330f, 0.005543f, 0.010933f, -0.011191f, -0.002901f, -0.013275f, -0.001480f, 0.003285f, 0.014245f, -0.012679f, -0.003419f, 0.009776f, -0.000168f, -0.007883f, 0.015769f, -0.011044f, -0.022137f, 0.004651f, -0.011400f, -0.005409f, 0.009031f, -0.005032f, 0.003883f, 0.002437f, -0.002796f, 0.011548f, -0.005674f, 0.005827f, + -0.003148f, 0.000893f, -0.022407f, 0.005264f, 0.020139f, 0.002281f, 0.002754f, 0.006907f, 0.018873f, 0.003311f, -0.019026f, 0.021312f, 0.008653f, 0.008154f, 0.012171f, 0.011621f, -0.000279f, -0.003116f, 0.011503f, 0.009825f, 0.002780f, -0.007737f, 0.010008f, 0.005658f, 0.014983f, 0.018624f, 0.006526f, -0.003539f, 0.000190f, 0.000742f, 0.007228f, 0.023483f, 0.013261f, -0.011619f, 0.021732f, 0.001816f, -0.002792f, 0.003854f, -0.016190f, 0.018905f, -0.002422f, 0.001337f, -0.002141f, 0.005608f, -0.002385f, 0.010318f, -0.012927f, 0.019397f, 0.015725f, 0.000539f, -0.002755f, -0.009024f, -0.019188f, -0.005469f, 0.007952f, -0.003296f, -0.006966f, 0.011543f, 0.012442f, -0.006884f, -0.006851f, -0.023537f, -0.008127f, -0.001692f, -0.000633f, -0.026394f, 0.014842f, 0.003066f, -0.015802f, -0.012030f, 0.005478f, -0.004737f, 0.002804f, -0.002129f, 0.002498f, -0.004392f, 0.002857f, 0.010942f, -0.013637f, 0.000579f, -0.000532f, 0.001170f, 0.020281f, 0.012214f, -0.000836f, 0.026813f, 0.011413f, 0.024285f, 0.004981f, 0.008701f, 0.024514f, -0.009207f, -0.017394f, -0.009852f, 0.022892f, 0.006517f, + -0.013886f, 0.018710f, -0.005522f, -0.009692f, 0.015426f, 0.038847f, -0.010421f, 0.002716f, 0.005487f, 0.008092f, -0.010485f, 0.002083f, 0.020372f, 0.003087f, 0.025191f, -0.004760f, 0.027100f, 0.020436f, 0.006068f, 0.017284f, 0.009839f, -0.008962f, 0.006333f, -0.001630f, -0.003004f, 0.003557f, 0.001345f, -0.000863f, 0.006771f, 0.005999f, 0.017354f, 0.013005f, -0.015461f, 0.006190f, 0.006218f, -0.010043f, 0.000148f, -0.025021f, -0.034233f, 0.014524f, -0.009149f, -0.021000f, -0.005244f, -0.010810f, 0.014002f, 0.004259f, -0.007391f, -0.015559f, 0.012458f, -0.010958f, 0.007327f, -0.012448f, 0.001280f, -0.004442f, 0.019587f, 0.004598f, -0.009105f, 0.007701f, -0.014536f, 0.001771f, 0.000829f, 0.003714f, -0.008751f, 0.009990f, 0.011498f, -0.001396f, -0.007219f, -0.026086f, -0.021921f, -0.017255f, 0.008274f, 0.002163f, 0.004450f, -0.021386f, 0.013799f, 0.009372f, 0.017102f, -0.018334f, 0.017639f, 0.013177f, -0.010089f, -0.008776f, -0.004901f, 0.017509f, 0.012538f, -0.007812f, 0.002154f, 0.026562f, 0.013917f, 0.006825f, 0.015867f, 0.010567f, 0.004603f, -0.008836f, 0.002465f, 0.001218f, + -0.003266f, -0.009780f, 0.024150f, 0.011064f, -0.021490f, 0.014914f, 0.015336f, 0.014788f, 0.012107f, 0.003183f, -0.013144f, 0.000506f, -0.001232f, 0.020728f, 0.003360f, 0.009345f, 0.019370f, -0.003210f, -0.019773f, 0.004710f, 0.011706f, 0.021021f, -0.027048f, -0.015455f, 0.008373f, 0.000522f, 0.003358f, -0.016206f, -0.003233f, -0.015698f, -0.001343f, 0.007841f, -0.004330f, -0.008500f, -0.009646f, 0.004623f, -0.001647f, -0.005505f, 0.009883f, 0.001257f, -0.017170f, 0.017540f, 0.011349f, -0.005233f, 0.007065f, 0.010601f, -0.011540f, -0.003890f, 0.045019f, -0.001399f, 0.017654f, 0.012336f, -0.037303f, -0.019811f, -0.001930f, -0.001446f, -0.000243f, 0.021433f, 0.004987f, -0.010180f, 0.022216f, 0.013713f, -0.002514f, -0.003385f, 0.007272f, -0.003326f, -0.007506f, -0.016416f, -0.019510f, 0.011262f, -0.004047f, -0.008980f, -0.000662f, -0.030454f, -0.005415f, 0.002449f, 0.017344f, -0.019920f, -0.005552f, 0.003131f, 0.001721f, 0.004981f, 0.001880f, 0.022328f, -0.024968f, -0.007800f, 0.006015f, -0.000131f, -0.014569f, -0.002401f, 0.020115f, 0.017786f, 0.015059f, -0.003140f, -0.024844f, -0.010523f, + 0.009522f, -0.001777f, 0.017330f, 0.000230f, 0.000042f, -0.011216f, -0.007443f, 0.016346f, -0.017767f, 0.014174f, 0.009988f, -0.010955f, -0.006215f, -0.000488f, 0.002313f, -0.010773f, 0.007024f, -0.032977f, -0.003097f, 0.005693f, 0.021891f, 0.003909f, -0.001883f, 0.014905f, -0.010945f, 0.031091f, -0.030850f, -0.001746f, -0.007301f, 0.006165f, -0.002328f, -0.001275f, 0.006847f, -0.004440f, -0.011007f, -0.005579f, -0.006823f, -0.016726f, -0.003630f, 0.014043f, -0.003702f, -0.006689f, 0.018261f, 0.001028f, 0.022135f, -0.021014f, -0.013524f, 0.029681f, -0.003573f, -0.000313f, 0.001011f, -0.016376f, -0.002725f, -0.020769f, 0.005879f, -0.025190f, -0.001292f, 0.021391f, -0.007082f, 0.015107f, 0.017203f, 0.011961f, 0.013435f, -0.016394f, 0.017437f, 0.003708f, -0.047610f, -0.006155f, 0.006316f, -0.002037f, -0.005761f, -0.018316f, 0.015395f, -0.015276f, -0.003899f, -0.017516f, -0.018821f, -0.026265f, 0.024740f, 0.002323f, 0.028906f, -0.012432f, 0.021628f, 0.031772f, -0.019951f, 0.026449f, -0.030179f, -0.021915f, -0.027480f, -0.006471f, -0.019742f, 0.009130f, 0.007696f, 0.002436f, 0.023213f, 0.036429f, + 0.006357f, -0.010968f, -0.019241f, 0.011562f, 0.035474f, -0.000688f, 0.010863f, 0.000761f, 0.014736f, 0.008469f, 0.011530f, 0.017764f, -0.021696f, -0.002836f, -0.007462f, 0.028582f, 0.022940f, -0.002126f, 0.035056f, 0.016975f, 0.004004f, -0.033134f, -0.014960f, -0.025519f, -0.010367f, 0.001420f, 0.010165f, -0.009840f, 0.002249f, 0.033616f, -0.005546f, -0.001039f, 0.002728f, 0.034570f, -0.020827f, -0.009840f, -0.007915f, -0.004563f, -0.020357f, 0.023489f, 0.002606f, 0.015411f, -0.024607f, 0.002437f, -0.001815f, -0.016265f, -0.005079f, -0.029242f, 0.009839f, -0.000468f, 0.006942f, -0.004446f, -0.000696f, -0.033707f, -0.010097f, 0.011890f, 0.021891f, -0.006897f, 0.006557f, 0.042764f, -0.001667f, 0.001831f, 0.009234f, 0.019066f, -0.017120f, 0.003850f, 0.023548f, -0.013206f, 0.017740f, 0.005007f, 0.018771f, -0.021189f, -0.008597f, 0.005666f, 0.009400f, -0.020280f, -0.031082f, 0.008702f, -0.003379f, -0.031207f, 0.008540f, 0.003272f, 0.028353f, 0.025234f, -0.023298f, -0.027774f, 0.006245f, -0.021150f, -0.011233f, 0.001077f, 0.042294f, 0.000820f, -0.005370f, -0.037563f, -0.018918f, -0.003003f, + -0.028176f, -0.042553f, 0.029421f, -0.010728f, -0.013496f, -0.002114f, 0.031918f, -0.009594f, 0.003532f, -0.005976f, -0.006351f, -0.018071f, -0.009825f, 0.003603f, -0.044696f, -0.028251f, -0.008211f, -0.015755f, -0.015091f, -0.004604f, -0.017493f, 0.015898f, 0.007039f, 0.005620f, -0.010637f, 0.008505f, -0.064532f, 0.060952f, 0.035330f, -0.005128f, -0.008128f, 0.034847f, 0.002103f, -0.019065f, -0.028732f, -0.002391f, -0.010051f, -0.010575f, -0.017281f, -0.016115f, 0.022131f, 0.022406f, -0.009346f, 0.047339f, -0.025235f, -0.018365f, -0.018767f, 0.002852f, 0.014630f, -0.049779f, 0.015355f, -0.012656f, 0.027061f, -0.024548f, 0.011400f, 0.006088f, 0.030376f, 0.002906f, 0.071318f, 0.023715f, -0.001884f, 0.003413f, -0.028206f, -0.035641f, 0.044321f, -0.012975f, 0.004577f, 0.059753f, -0.016024f, -0.002609f, -0.013278f, 0.046628f, 0.008338f, -0.018939f, 0.026768f, -0.009736f, 0.040028f, 0.021558f, 0.009457f, 0.006221f, -0.005213f, -0.015385f, -0.005819f, -0.004051f, -0.044380f, -0.010791f, -0.007842f, 0.024274f, -0.014362f, 0.004693f, 0.007122f, -0.031103f, -0.047481f, -0.001534f, 0.039192f, -0.002565f, + 0.034658f, -0.006071f, -0.050980f, -0.019216f, 0.001128f, 0.011405f, 0.007826f, -0.040493f, -0.000918f, -0.011535f, 0.028147f, -0.030040f, 0.035864f, 0.055169f, 0.034261f, -0.011158f, 0.005117f, 0.022276f, -0.009557f, 0.043205f, 0.048244f, 0.044064f, 0.012591f, 0.048284f, -0.003548f, -0.019533f, 0.004253f, -0.025406f, -0.033964f, 0.017137f, -0.015812f, 0.038989f, 0.018298f, 0.009525f, -0.015428f, -0.050767f, -0.016144f, -0.036333f, 0.021338f, 0.026431f, -0.000262f, 0.012898f, 0.008897f, 0.012774f, 0.010845f, 0.004835f, -0.002685f, 0.006222f, -0.007384f, 0.013739f, -0.024384f, -0.068652f, -0.027275f, 0.037590f, 0.002447f, -0.011213f, -0.022681f, -0.000145f, 0.031952f, 0.040387f, 0.008948f, -0.024800f, -0.004012f, 0.032310f, -0.038725f, 0.003728f, -0.004465f, 0.028912f, 0.033434f, -0.026467f, 0.050528f, 0.009703f, 0.002479f, 0.070711f, 0.000861f, -0.022210f, 0.025307f, -0.011847f, 0.004102f, -0.015159f, 0.005853f, 0.046929f, 0.006050f, 0.059777f, 0.025928f, -0.052402f, -0.056532f, -0.012668f, 0.015599f, 0.031770f, -0.043625f, -0.015955f, -0.005647f, 0.053574f, 0.050152f, -0.042680f, + -0.000840f, -0.026302f, 0.017085f, -0.009535f, 0.057203f, -0.000060f, -0.011708f, 0.036035f, -0.006970f, -0.045123f, -0.021796f, -0.008957f, 0.045301f, -0.042934f, 0.023008f, 0.066315f, 0.027020f, 0.030283f, -0.030835f, 0.022367f, 0.039134f, 0.028057f, -0.050565f, -0.027793f, 0.036174f, 0.099225f, 0.008827f, 0.019652f, -0.026816f, 0.006762f, 0.001280f, -0.007178f, -0.024937f, 0.005987f, -0.006921f, 0.046404f, 0.041570f, -0.053386f, -0.019675f, 0.051540f, 0.030348f, 0.017003f, 0.008762f, 0.026761f, 0.037056f, 0.008446f, 0.023464f, 0.016341f, -0.021400f, 0.001246f, -0.020822f, -0.013203f, 0.010009f, -0.007140f, 0.007548f, -0.023225f, -0.015133f, 0.012015f, -0.000213f, 0.017470f, 0.019430f, -0.049637f, 0.039066f, 0.004525f, 0.032312f, -0.034387f, 0.022328f, 0.026027f, -0.017991f, -0.039018f, -0.032267f, -0.042999f, -0.035796f, -0.036194f, 0.016694f, 0.056643f, 0.020699f, 0.015303f, 0.033385f, -0.001238f, 0.004898f, -0.026653f, 0.045623f, -0.054265f, -0.095430f, 0.030772f, -0.016641f, -0.000038f, -0.079020f, 0.016186f, 0.035331f, -0.001344f, 0.026473f, 0.006797f, 0.000194f, -0.011834f, + 0.024040f, 0.017566f, 0.023001f, -0.032682f, -0.017112f, -0.004365f, 0.021116f, -0.043609f, 0.073151f, 0.035060f, -0.005838f, 0.040239f, 0.024130f, 0.038401f, -0.019739f, -0.025119f, -0.024551f, 0.046496f, 0.016695f, 0.008830f, 0.041912f, -0.035778f, -0.117147f, -0.007250f, 0.008408f, 0.014615f, -0.065590f, 0.051968f, 0.038016f, -0.070414f, -0.053948f, 0.002471f, 0.030171f, 0.003236f, 0.017608f, 0.038472f, -0.008934f, 0.024214f, -0.033177f, -0.038484f, -0.030071f, -0.039980f, -0.062194f, 0.018626f, 0.008135f, -0.041768f, 0.058066f, 0.022879f, -0.011919f, -0.012443f, -0.031243f, -0.023897f, -0.055751f, -0.030439f, 0.023079f, 0.052543f, -0.016889f, 0.006283f, 0.024174f, -0.044482f, 0.036284f, 0.045778f, 0.010335f, -0.010204f, 0.042372f, 0.011694f, 0.009189f, -0.026026f, -0.026215f, -0.001023f, 0.063891f, -0.016198f, -0.043817f, 0.000308f, -0.054700f, -0.068808f, -0.039329f, -0.010284f, -0.025440f, -0.044825f, -0.023005f, -0.024231f, 0.029314f, 0.056721f, 0.021405f, -0.026350f, -0.054650f, 0.058659f, 0.032135f, -0.028827f, -0.014950f, -0.015570f, 0.003728f, 0.013486f, -0.017740f, 0.030236f, + 0.028988f, 0.001140f, -0.018668f, -0.018659f, -0.016574f, -0.002726f, 0.011663f, -0.009192f, -0.018323f, -0.045688f, 0.014547f, 0.038941f, -0.022044f, 0.034287f, 0.001834f, 0.022698f, -0.018823f, 0.025250f, 0.076727f, -0.029406f, 0.034063f, 0.064791f, 0.012486f, -0.012733f, -0.017151f, 0.017779f, 0.002666f, 0.032152f, -0.024369f, 0.088767f, -0.026498f, -0.062525f, 0.015567f, -0.029701f, 0.073325f, 0.021157f, -0.020405f, 0.001519f, -0.040980f, -0.062146f, 0.075064f, 0.004941f, -0.016846f, 0.067887f, -0.034129f, 0.004827f, -0.017546f, 0.036238f, -0.049111f, -0.066018f, -0.037917f, 0.005211f, 0.031051f, 0.037314f, 0.027051f, 0.036078f, 0.088097f, -0.033523f, 0.035296f, 0.055446f, -0.008169f, 0.001708f, 0.066531f, 0.007385f, -0.036153f, -0.041964f, -0.037049f, 0.068485f, -0.045518f, 0.027431f, 0.032305f, -0.021463f, 0.006922f, -0.036968f, -0.008106f, 0.031037f, -0.026724f, 0.022654f, -0.008609f, -0.046359f, -0.102831f, -0.008412f, 0.093580f, 0.039868f, 0.010182f, -0.017375f, -0.027250f, -0.003948f, -0.035911f, 0.013126f, -0.050874f, 0.063271f, 0.005514f, 0.008918f, 0.006090f, -0.019365f, + -0.061289f, -0.022227f, 0.051263f, -0.039178f, -0.009227f, -0.026480f, 0.023728f, -0.018353f, 0.070752f, -0.009150f, 0.015837f, -0.023137f, -0.063063f, 0.016579f, -0.047658f, -0.008778f, -0.002487f, -0.088140f, -0.074470f, -0.069661f, 0.026085f, -0.010608f, -0.036906f, -0.022596f, -0.022670f, -0.020091f, -0.032406f, -0.020423f, -0.003369f, -0.078071f, 0.025636f, 0.012540f, 0.033183f, -0.014445f, 0.074290f, -0.003671f, 0.017972f, -0.020741f, -0.003580f, 0.041820f, -0.054335f, -0.012639f, -0.016873f, 0.029071f, 0.015998f, 0.034948f, -0.013867f, -0.069873f, 0.019349f, 0.001860f, 0.116407f, 0.121046f, 0.013455f, 0.001951f, 0.027226f, 0.014932f, 0.029150f, 0.052570f, 0.018225f, 0.054512f, 0.080298f, -0.019686f, 0.009575f, -0.066340f, -0.010584f, 0.009237f, -0.009743f, -0.019480f, -0.041638f, -0.033748f, 0.017820f, 0.019066f, -0.089921f, 0.063637f, 0.016103f, 0.089641f, -0.006460f, -0.017641f, 0.028289f, -0.006203f, 0.093272f, 0.023897f, -0.005720f, 0.017929f, 0.017795f, -0.025565f, -0.058319f, -0.045515f, -0.023339f, 0.069811f, 0.000294f, 0.076656f, 0.008946f, 0.074791f, -0.022258f, -0.104937f, + -0.039250f, -0.031298f, 0.053631f, 0.005269f, -0.050584f, -0.074697f, -0.051017f, -0.011896f, 0.063562f, -0.056954f, -0.047326f, -0.033768f, 0.057315f, -0.030287f, -0.015187f, -0.075678f, -0.070787f, 0.019772f, 0.014635f, 0.094305f, 0.028526f, -0.013413f, 0.003781f, 0.003488f, 0.070223f, 0.029378f, -0.036497f, 0.069962f, -0.005630f, -0.130783f, -0.041831f, 0.086419f, 0.092108f, -0.063032f, -0.066739f, -0.064065f, 0.036376f, 0.059984f, 0.113390f, 0.037560f, 0.014107f, -0.061963f, -0.007103f, -0.000730f, 0.025326f, 0.060567f, 0.041285f, 0.006940f, -0.069120f, -0.130428f, -0.035474f, -0.063990f, 0.101184f, 0.110936f, 0.186944f, -0.051668f, -0.178856f, -0.034726f, -0.060911f, 0.143983f, 0.048340f, 0.146143f, 0.037528f, -0.042369f, -0.135411f, -0.087342f, 0.006470f, 0.022305f, 0.154972f, 0.067749f, -0.003389f, -0.120435f, -0.217864f, -0.051604f, 0.007157f, 0.107829f, 0.234278f, 0.056873f, 0.072880f, -0.142543f, -0.225199f, 0.016804f, 0.056324f, 0.189254f, 0.111316f, 0.083980f, -0.037421f, -0.139562f, -0.115030f, 0.006836f, 0.040284f, 0.005035f, 0.099260f, -0.067653f, -0.062170f, -0.009756f, + -0.151252f, 0.031486f, -0.071499f, 0.096638f, 0.002676f, 0.009956f, -0.037796f, -0.101353f, 0.062497f, -0.101994f, 0.108040f, 0.010127f, 0.014216f, 0.016886f, -0.056914f, 0.056615f, 0.011101f, 0.037906f, -0.054305f, 0.016197f, 0.005656f, 0.069041f, -0.024206f, 0.013408f, 0.054423f, -0.060686f, -0.027070f, 0.000724f, -0.045815f, 0.078239f, -0.013290f, -0.038800f, 0.079885f, 0.081108f, -0.017547f, -0.067944f, -0.010222f, -0.060368f, -0.004860f, 0.030099f, 0.000105f, -0.073950f, 0.013844f, 0.033167f, -0.018926f, 0.038043f, -0.029400f, 0.012193f, 0.050934f, -0.022183f, 0.035533f, -0.083139f, -0.074024f, 0.077363f, 0.050980f, 0.121603f, 0.000657f, -0.035269f, 0.112151f, -0.063952f, -0.048099f, 0.034212f, 0.041842f, 0.057503f, -0.048720f, -0.028539f, 0.022270f, -0.013583f, 0.066349f, -0.049461f, -0.142930f, 0.038316f, 0.089802f, 0.001887f, -0.062518f, 0.015850f, 0.049576f, -0.010322f, -0.008801f, -0.001800f, -0.040624f, -0.023716f, 0.149948f, 0.041850f, 0.040731f, -0.127664f, -0.033397f, -0.100104f, -0.086257f, 0.076422f, 0.078683f, 0.159042f, 0.071681f, -0.021516f, -0.032714f, -0.018889f, + 0.048163f, 0.034453f, -0.001163f, 0.076662f, 0.012686f, -0.031688f, -0.039147f, -0.030516f, 0.052842f, -0.001135f, 0.045680f, 0.021331f, 0.026210f, 0.005757f, -0.015571f, 0.003869f, -0.003891f, 0.005273f, -0.016450f, -0.005497f, 0.011924f, 0.010866f, 0.100023f, 0.081111f, 0.064110f, -0.009136f, 0.013995f, -0.045918f, -0.012064f, -0.030199f, -0.053201f, -0.054058f, 0.009435f, 0.022679f, 0.033667f, 0.043602f, 0.033737f, -0.030565f, -0.070736f, 0.091346f, -0.076731f, -0.037105f, -0.025472f, 0.026050f, -0.003854f, 0.039454f, 0.040838f, 0.034289f, -0.068172f, -0.031472f, -0.002489f, -0.035071f, -0.106023f, 0.049081f, -0.035091f, -0.034042f, 0.020954f, 0.051983f, -0.000171f, -0.188521f, -0.102832f, -0.126727f, 0.091979f, 0.029426f, 0.273031f, 0.295235f, 0.281952f, 0.335609f, 0.318385f, 0.240824f, 0.141376f, 0.190686f, 0.078012f, 0.028067f, -0.152881f, -0.120264f, -0.332102f, -0.277478f, -0.260069f, -0.140067f, -0.192517f, -0.133411f, -0.010175f, -0.032198f, -0.016313f, -0.007502f, 0.004725f, 0.016257f, 0.013180f, 0.055353f, 0.045900f, 0.057234f, 0.120616f, 0.136846f, 0.131637f, 0.109373f, + 0.257163f, 0.086651f, 0.113972f, 0.197020f, 0.204789f, 0.096229f, 0.207304f, 0.260673f, 0.198675f, 0.187961f, 0.178440f, 0.046520f, 0.114352f, 0.228310f, 0.213753f, 0.158379f, 0.184299f, 0.178065f, 0.020395f, -0.016146f, -0.012529f, -0.058008f, -0.092977f, 0.027692f, -0.104534f, -0.159885f, -0.126110f, -0.140918f, -0.245092f, -0.072687f, -0.146665f, -0.148322f, -0.248722f, -0.170458f, -0.214490f, -0.228098f, -0.131591f, -0.243460f, -0.307987f, -0.188760f, 0.012069f, -0.001252f} + } +}; +const float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2522]={ {-0.000072f, -0.000087f, -0.000165f, -0.000108f, -0.000091f, -0.000141f, -0.000119f, -0.000065f, -0.000073f, 0.000041f, 0.000162f, -0.000331f, 0.000004f, -0.000023f, -0.000104f, -0.000159f, -0.000548f, -0.000580f, -0.000858f, 0.001141f, -0.000077f, -0.000440f, -0.000301f, 0.000374f, -0.000666f, -0.000117f, -0.000248f, -0.000150f, -0.000208f, 0.000995f, 0.000447f, -0.000600f, -0.000315f, -0.000273f, 0.000055f, 0.000012f, -0.000163f, -0.000416f, -0.000685f, 0.000840f, -0.000420f, 0.000539f, 0.000367f, 0.000488f, -0.000195f, 0.000654f, -0.003981f, 0.000346f, -0.000459f, 0.000152f, -0.000395f, 0.000019f, -0.000441f, 0.000047f, -0.001046f, -0.000658f, -0.000082f, -0.000556f, -0.000132f, -0.000232f, 0.001084f, 0.000081f, -0.001193f, 0.001053f, -0.000367f, 0.000567f, 0.000051f, 0.000409f, -0.001187f, -0.000355f, -0.000293f, 0.000146f, 0.000241f, -0.000121f, -0.000337f, 0.000436f, -0.000624f, -0.000119f, -0.000364f, 0.000162f, 0.000094f, 0.000514f, 0.000465f, -0.000539f, -0.000298f, -0.000011f, -0.000190f, 0.000413f, 0.000023f, 0.000353f, -0.000326f, -0.000341f, 0.000507f, 0.002057f, -0.000866f, 0.000922f, + -0.000363f, 0.000341f, 0.000008f, 0.000490f, -0.000184f, 0.000134f, 0.000224f, 0.000258f, 0.000282f, 0.000464f, -0.000087f, 0.000067f, 0.000845f, 0.000629f, -0.001591f, 0.000335f, -0.000183f, 0.000095f, -0.000525f, 0.000376f, -0.000667f, 0.000703f, 0.000600f, 0.000295f, -0.000062f, -0.000207f, -0.000226f, 0.000500f, 0.000479f, -0.000194f, 0.000132f, 0.000855f, -0.000287f, -0.000010f, -0.000258f, 0.000106f, 0.000161f, -0.000018f, -0.000208f, 0.000403f, 0.000093f, -0.000118f, 0.008225f, -0.000555f, 0.001176f, 0.000016f, 0.000397f, 0.000195f, 0.000311f, 0.000225f, 0.000818f, -0.000413f, 0.000364f, -0.000122f, 0.000168f, 0.000470f, 0.000704f, 0.000307f, 0.000162f, -0.000282f, 0.000642f, -0.000402f, 0.000263f, -0.000165f, -0.000614f, 0.000108f, 0.000253f, 0.000065f, -0.000172f, 0.000098f, -0.000197f, 0.000465f, -0.000841f, 0.000245f, -0.000174f, 0.000273f, 0.000017f, -0.001175f, -0.000397f, 0.000168f, 0.000218f, 0.000185f, -0.000187f, -0.000231f, -0.000215f, 0.000218f, 0.000495f, -0.000150f, 0.004914f, -0.005862f, 0.001141f, -0.001426f, 0.000743f, -0.000931f, 0.000684f, -0.001264f, + -0.000400f, -0.000787f, -0.000168f, -0.000658f, 0.000027f, 0.001128f, 0.001638f, 0.000681f, 0.000341f, 0.000014f, 0.000493f, 0.001177f, 0.000835f, -0.000558f, -0.000686f, -0.000887f, -0.000448f, -0.000517f, 0.000013f, -0.000094f, -0.000111f, 0.000013f, 0.000219f, -0.000416f, 0.000480f, -0.000544f, -0.000748f, 0.000251f, -0.000048f, 0.000044f, 0.000110f, -0.000502f, -0.000601f, 0.000163f, -0.000382f, -0.000466f, -0.000129f, 0.000059f, -0.011368f, 0.002204f, -0.000621f, 0.000234f, 0.000193f, -0.001001f, -0.000477f, 0.000846f, -0.000197f, 0.000023f, 0.000961f, 0.000273f, -0.000434f, -0.000758f, 0.000655f, 0.000006f, -0.000902f, -0.001278f, -0.001817f, 0.000515f, -0.000834f, 0.000126f, -0.000301f, 0.000275f, -0.000227f, 0.000068f, -0.000964f, -0.000964f, -0.000610f, -0.000300f, -0.000616f, 0.000113f, -0.000320f, 0.000264f, 0.001019f, 0.000124f, 0.000143f, 0.000644f, 0.000153f, 0.000104f, -0.000064f, -0.000198f, -0.000741f, -0.000226f, 0.000124f, -0.000190f, -0.013575f, 0.005016f, -0.001308f, 0.001578f, -0.000838f, 0.001123f, -0.000689f, -0.000233f, -0.001195f, 0.000836f, -0.001405f, 0.000857f, + -0.000272f, 0.001219f, -0.001765f, 0.000395f, 0.001576f, 0.000420f, -0.001392f, -0.000534f, -0.000850f, -0.000393f, 0.000483f, 0.000208f, 0.000351f, -0.000269f, -0.000491f, -0.000710f, -0.000665f, -0.000111f, -0.000757f, -0.000186f, -0.000704f, -0.000540f, -0.001912f, -0.000588f, -0.000286f, 0.000044f, 0.000024f, 0.000596f, 0.000263f, 0.000585f, -0.000083f, 0.000690f, 0.000164f, 0.000004f, 0.001758f, 0.005960f, -0.001555f, 0.002681f, -0.001515f, 0.000749f, -0.001639f, 0.001411f, -0.000050f, 0.001531f, -0.000042f, -0.000085f, 0.001519f, -0.000177f, -0.000123f, 0.001322f, -0.000538f, -0.001099f, -0.001766f, 0.001698f, -0.000052f, 0.001179f, 0.000213f, 0.000852f, 0.000469f, -0.001017f, 0.000541f, 0.000488f, 0.000014f, 0.000605f, 0.000933f, -0.001013f, 0.000230f, 0.000018f, -0.000000f, -0.000562f, -0.000183f, -0.000550f, 0.000257f, -0.000077f, 0.000557f, 0.001427f, 0.000151f, 0.000745f, -0.000026f, 0.000178f, -0.000048f, 0.000254f, 0.000661f, 0.017843f, -0.004331f, 0.001744f, -0.000793f, 0.001548f, -0.000596f, 0.001199f, -0.000580f, 0.000444f, -0.001671f, 0.000852f, -0.001592f, 0.001312f, + -0.000442f, 0.000419f, -0.000417f, 0.001826f, 0.000310f, 0.000491f, -0.000789f, 0.001206f, -0.000037f, -0.000497f, 0.001060f, -0.000730f, -0.001124f, 0.000068f, -0.000302f, 0.000605f, 0.000066f, -0.000145f, -0.000317f, 0.000206f, 0.000035f, 0.000255f, -0.000746f, 0.000222f, -0.000287f, 0.001309f, -0.000162f, 0.000639f, 0.000194f, 0.000539f, 0.001039f, -0.000638f, 0.000132f, 0.000243f, -0.000245f, 0.000771f, 0.001441f, -0.009285f, 0.003584f, -0.002903f, 0.001618f, -0.001473f, 0.000426f, -0.001922f, 0.001150f, -0.000799f, 0.001631f, -0.000240f, 0.000674f, -0.001540f, -0.000697f, -0.000145f, -0.000611f, -0.000553f, 0.001886f, -0.001487f, 0.000177f, 0.000867f, -0.001860f, 0.000417f, 0.000558f, -0.000489f, 0.000540f, 0.000166f, 0.000278f, -0.001177f, -0.000178f, -0.000402f, 0.000623f, -0.000602f, 0.000304f, -0.001376f, -0.000353f, 0.000951f, 0.000392f, 0.000282f, -0.000426f, -0.000230f, -0.001110f, -0.001117f, 0.000506f, 0.000196f, -0.000137f, -0.000182f, -0.000184f, 0.000077f, 0.000005f, -0.000247f, -0.000315f, -0.014997f, 0.004804f, -0.002721f, 0.000594f, -0.000324f, 0.000749f, -0.001194f, + 0.001122f, -0.000569f, -0.000507f, -0.000221f, 0.000785f, -0.000544f, -0.000788f, 0.000440f, 0.001590f, -0.000300f, -0.000022f, -0.002885f, 0.000149f, -0.000021f, 0.001279f, -0.000511f, -0.000307f, -0.002217f, -0.000834f, -0.000036f, -0.000058f, 0.000688f, 0.000929f, -0.001686f, -0.001594f, 0.000907f, 0.000141f, -0.001733f, -0.001391f, 0.000577f, 0.000259f, -0.000151f, -0.000156f, -0.000694f, 0.000551f, -0.000251f, 0.000131f, 0.000039f, -0.000990f, -0.000416f, 0.000358f, -0.001400f, -0.000793f, -0.000312f, 0.000171f, -0.000311f, -0.014948f, 0.006529f, -0.003698f, 0.002703f, -0.002595f, 0.001197f, -0.002944f, 0.000601f, -0.001936f, 0.002909f, -0.001555f, 0.000981f, -0.000232f, -0.000050f, -0.001410f, -0.000462f, -0.000608f, 0.002619f, -0.000555f, 0.001298f, 0.002143f, 0.001174f, 0.000284f, -0.000373f, 0.000487f, -0.000560f, 0.001187f, 0.001096f, 0.000135f, -0.000682f, 0.000177f, 0.000136f, -0.000843f, -0.000458f, 0.000591f, 0.000794f, -0.000695f, -0.000753f, -0.000702f, -0.000054f, -0.000303f, 0.000278f, -0.000674f, 0.000364f, -0.001047f, 0.000197f, -0.000580f, -0.000147f, 0.000092f, -0.000522f, + -0.000571f, -0.000827f, -0.000678f, 0.005627f, 0.005842f, -0.002027f, 0.002008f, -0.002233f, 0.000454f, 0.000808f, 0.000155f, -0.000831f, 0.001164f, 0.000376f, 0.002368f, 0.001291f, 0.002661f, -0.000288f, 0.001606f, -0.000307f, 0.001058f, 0.001461f, -0.000095f, -0.001768f, 0.001876f, -0.000086f, 0.000838f, -0.000309f, 0.000082f, 0.000368f, 0.002272f, 0.000438f, -0.001107f, -0.000290f, 0.000370f, -0.000540f, 0.001730f, 0.000820f, -0.000180f, -0.000313f, -0.000858f, 0.000853f, -0.000841f, 0.001058f, 0.001060f, -0.000609f, 0.000639f, 0.000632f, 0.000335f, 0.000048f, 0.001672f, 0.001113f, 0.001241f, 0.000077f, 0.000209f, 0.000650f, -0.000276f, -0.000008f, 0.016899f, -0.005914f, 0.002170f, -0.002715f, 0.001996f, -0.001756f, 0.002541f, -0.000749f, 0.000194f, -0.001749f, 0.003770f, -0.000433f, 0.003403f, 0.000308f, 0.000643f, -0.002128f, 0.000868f, 0.003450f, -0.000959f, -0.002710f, 0.000484f, 0.000228f, 0.001372f, -0.001920f, 0.001727f, 0.000096f, 0.000208f, -0.000062f, -0.001900f, -0.000458f, 0.000385f, -0.002236f, 0.000448f, 0.001080f, 0.000843f, -0.000539f, -0.000135f, 0.000038f, + 0.001155f, 0.000461f, -0.000139f, -0.000353f, 0.000908f, 0.000727f, 0.002183f, 0.000687f, -0.000274f, 0.001331f, 0.000520f, 0.000017f, 0.000435f, 0.001048f, 0.000636f, 0.000269f, 0.000181f, 0.005592f, -0.008167f, 0.004833f, -0.003650f, 0.001480f, 0.000517f, -0.000410f, -0.000338f, 0.000924f, -0.002076f, -0.001347f, -0.001088f, -0.000872f, -0.002825f, 0.001370f, -0.002624f, -0.000154f, -0.002103f, 0.000713f, -0.001587f, -0.001287f, -0.000643f, 0.002310f, 0.000314f, 0.002245f, 0.001193f, 0.001519f, 0.002264f, 0.000059f, -0.000302f, -0.000410f, 0.000631f, 0.001688f, -0.000156f, -0.000192f, -0.001177f, 0.000823f, -0.000149f, -0.000766f, 0.000644f, 0.000471f, 0.001825f, 0.000675f, 0.000861f, -0.001367f, -0.000602f, -0.000149f, -0.000237f, 0.000817f, -0.002611f, 0.000489f, -0.000636f, -0.000519f, -0.000802f, -0.000997f, -0.000299f, -0.000988f, 0.000382f, -0.000715f, -0.000089f, -0.001460f, -0.017319f, -0.003833f, 0.000731f, -0.003336f, -0.001412f, 0.000076f, -0.000162f, -0.002854f, 0.000740f, -0.002843f, 0.000023f, 0.002170f, -0.000474f, -0.000438f, 0.001171f, 0.000738f, 0.001194f, 0.000006f, + 0.001457f, -0.000905f, 0.000375f, 0.001685f, -0.000173f, -0.000178f, -0.001201f, 0.001600f, -0.001344f, -0.000779f, 0.000387f, 0.000606f, 0.001225f, 0.003862f, -0.001125f, -0.000710f, -0.001741f, 0.000025f, -0.001294f, 0.000227f, -0.000543f, -0.001921f, -0.000158f, 0.002295f, 0.000625f, -0.001667f, -0.000833f, 0.000714f, -0.001006f, -0.001282f, 0.000190f, -0.000643f, 0.000104f, 0.000178f, 0.001458f, 0.000140f, 0.000700f, 0.000320f, -0.001283f, -0.000715f, 0.000760f, 0.000665f, -0.000529f, -0.021176f, 0.017437f, -0.006123f, 0.005163f, -0.003841f, 0.002896f, -0.001126f, 0.001834f, -0.002044f, 0.001220f, 0.001442f, 0.002077f, -0.001385f, 0.002519f, 0.001249f, 0.004307f, -0.000691f, 0.000332f, -0.002307f, 0.000546f, -0.000814f, -0.001473f, -0.001787f, -0.002086f, -0.001892f, 0.002773f, -0.000132f, 0.003336f, 0.000873f, 0.000576f, -0.000060f, 0.000385f, -0.001492f, 0.000193f, -0.000544f, 0.000655f, 0.002002f, 0.000308f, 0.000662f, 0.000066f, 0.000212f, -0.001576f, -0.000830f, -0.000115f, -0.000112f, 0.000145f, -0.000459f, -0.001462f, 0.000040f, 0.001442f, -0.000477f, 0.000379f, 0.000445f, + -0.001309f, 0.000863f, 0.000298f, 0.000479f, -0.000327f, 0.000151f, -0.000209f, -0.000378f, 0.012386f, -0.001837f, -0.003918f, -0.001323f, -0.000779f, -0.000581f, -0.003443f, -0.001783f, 0.001037f, 0.000658f, 0.001061f, 0.001304f, -0.002294f, 0.001008f, -0.000401f, 0.000903f, 0.003839f, -0.003762f, 0.001382f, 0.001378f, 0.001090f, -0.000929f, -0.002146f, 0.001778f, 0.000576f, 0.001288f, 0.002391f, 0.000059f, 0.003272f, 0.000334f, 0.001556f, 0.000181f, 0.001077f, -0.000827f, 0.001279f, 0.000929f, 0.001224f, -0.000394f, 0.000451f, -0.000040f, 0.001551f, 0.001883f, -0.002648f, 0.003711f, 0.000379f, 0.001072f, 0.000229f, 0.000685f, 0.000780f, -0.000726f, 0.002266f, 0.001230f, 0.000156f, 0.002053f, 0.000927f, -0.001065f, -0.000019f, -0.000701f, -0.000723f, -0.000565f, 0.000441f, -0.000123f, 0.000202f, -0.000018f, -0.002164f, 0.009835f, 0.000922f, 0.002055f, -0.002459f, -0.000415f, -0.006209f, 0.001564f, -0.000230f, -0.004206f, 0.003651f, -0.001915f, 0.000201f, 0.002684f, 0.001256f, 0.002029f, -0.001435f, 0.000926f, -0.001903f, 0.000093f, -0.001615f, 0.000687f, -0.002495f, 0.003741f, + 0.002742f, 0.002229f, 0.002620f, 0.000613f, -0.000758f, -0.001548f, 0.000801f, 0.002071f, 0.000089f, 0.001425f, -0.000914f, 0.000323f, 0.001428f, 0.000988f, 0.001294f, 0.000124f, 0.000521f, -0.000116f, -0.000774f, 0.000891f, -0.000509f, 0.000433f, 0.000441f, -0.000851f, 0.001288f, -0.001599f, 0.001543f, -0.000737f, 0.001116f, 0.001593f, -0.001829f, 0.000213f, 0.000308f, -0.000765f, -0.001426f, 0.001082f, -0.002368f, -0.001881f, 0.001253f, 0.000503f, 0.000620f, 0.000479f, 0.001591f, 0.001466f, 0.015370f, -0.012851f, 0.004305f, -0.003226f, 0.001085f, 0.003967f, 0.003211f, -0.002183f, 0.003857f, 0.002164f, 0.002311f, -0.001648f, 0.001050f, -0.000856f, 0.004584f, 0.001257f, 0.001258f, 0.001765f, 0.001909f, 0.001215f, 0.001286f, -0.003834f, 0.000554f, -0.006907f, -0.002452f, -0.000663f, -0.004002f, 0.000967f, 0.002052f, -0.001510f, -0.002202f, -0.002537f, -0.002480f, -0.001309f, 0.001320f, 0.001075f, -0.003574f, -0.004074f, -0.000383f, -0.002086f, 0.001032f, 0.000883f, 0.000310f, -0.000306f, 0.001840f, -0.001023f, 0.000016f, -0.000282f, -0.000943f, -0.002618f, 0.001932f, 0.003414f, + -0.000553f, -0.000442f, 0.001519f, -0.002428f, 0.002836f, 0.000744f, -0.001586f, -0.000067f, -0.001484f, -0.000593f, -0.000457f, -0.000999f, -0.000378f, -0.000680f, -0.002142f, -0.023963f, 0.002254f, -0.002240f, 0.000760f, 0.002319f, 0.001628f, 0.004755f, -0.002117f, -0.000279f, 0.000273f, 0.005715f, 0.001903f, -0.004670f, -0.003102f, 0.002463f, 0.003323f, -0.000970f, -0.001425f, -0.000200f, 0.001465f, 0.003457f, 0.003493f, -0.000154f, -0.006603f, -0.001974f, -0.000797f, -0.000877f, 0.003629f, -0.001824f, 0.002064f, 0.000120f, -0.000544f, -0.003455f, 0.000132f, 0.002584f, -0.004433f, -0.002610f, -0.001147f, -0.000841f, -0.002176f, -0.001790f, -0.004157f, -0.000826f, -0.002865f, -0.000055f, 0.000448f, 0.002819f, -0.002119f, -0.001375f, 0.000103f, -0.000362f, 0.000304f, -0.002564f, 0.000831f, 0.000886f, 0.000161f, 0.000085f, -0.002042f, -0.001764f, -0.001110f, -0.000581f, -0.000307f, -0.003262f, 0.000495f, 0.000918f, -0.001558f, -0.002978f, -0.013890f, 0.014980f, -0.002004f, 0.001051f, 0.003625f, 0.004310f, -0.003040f, 0.002129f, 0.000926f, 0.002699f, 0.001887f, 0.003764f, 0.002201f, -0.002381f, + -0.003987f, 0.000683f, 0.004499f, 0.008807f, -0.001967f, -0.002868f, 0.002422f, 0.001504f, -0.001522f, -0.004206f, -0.000729f, -0.000780f, -0.003736f, 0.003482f, 0.004201f, 0.000142f, 0.001094f, -0.000005f, 0.003339f, -0.002413f, -0.007544f, 0.003318f, -0.000765f, 0.002644f, 0.001396f, 0.000173f, -0.001743f, -0.002899f, 0.002217f, 0.002485f, 0.001941f, -0.000289f, 0.000013f, 0.002721f, 0.001672f, 0.000872f, -0.001413f, 0.002293f, 0.002054f, -0.000268f, -0.000403f, -0.001262f, 0.001722f, 0.000087f, -0.003616f, 0.003162f, 0.002057f, -0.000676f, 0.001083f, -0.000444f, 0.000287f, -0.000045f, 0.001112f, 0.002708f, 0.001112f, -0.000454f, -0.000758f, -0.000087f, 0.004247f, 0.000215f, -0.003162f, -0.006563f, 0.001662f, -0.000306f, -0.005382f, 0.001877f, -0.001735f, 0.000288f, -0.001992f, -0.001579f, 0.001792f, 0.004176f, 0.000589f, 0.005520f, 0.002574f, -0.002745f, -0.003553f, 0.006032f, -0.002523f, -0.000177f, 0.000625f, -0.005632f, 0.000047f, 0.002995f, -0.003183f, -0.000864f, 0.003874f, 0.000241f, 0.002071f, 0.000057f, 0.002588f, -0.000426f, -0.001587f, -0.000236f, 0.003409f, 0.004449f, + -0.001356f, 0.000888f, 0.000885f, 0.002954f, -0.001661f, -0.000338f, 0.000693f, -0.000784f, 0.002047f, 0.000836f, 0.000278f, -0.001056f, 0.001664f, 0.001669f, 0.000211f, 0.000030f, 0.001407f, 0.001946f, -0.002289f, -0.000079f, 0.000797f, 0.001025f, -0.001112f, 0.000911f, 0.031494f, -0.002770f, 0.000753f, 0.002186f, -0.002573f, -0.004606f, -0.002586f, -0.000963f, -0.005283f, -0.005676f, 0.000683f, -0.004997f, -0.002076f, -0.001265f, -0.001063f, 0.003475f, 0.003984f, 0.001443f, 0.008090f, 0.001684f, -0.003668f, 0.007034f, -0.000453f, 0.005060f, -0.001308f, -0.000237f, -0.004237f, 0.000439f, 0.004173f, 0.000138f, -0.001700f, -0.000488f, 0.000627f, -0.000709f, -0.000610f, 0.001809f, -0.003329f, 0.001730f, 0.000758f, -0.001392f, -0.003145f, -0.001988f, 0.002825f, 0.002862f, 0.003280f, -0.004844f, 0.003123f, 0.001110f, 0.000108f, 0.000556f, 0.000744f, 0.000898f, 0.000904f, -0.000102f, 0.000514f, 0.003071f, -0.000525f, 0.001429f, 0.001525f, -0.000766f, 0.002515f, 0.002972f, 0.000695f, 0.000168f, 0.002665f, 0.002125f, 0.001608f, -0.018531f, -0.030965f, 0.010972f, -0.000948f, 0.004457f, + -0.005553f, 0.000069f, -0.006403f, -0.000999f, -0.009158f, 0.003697f, 0.004000f, -0.000398f, -0.000850f, -0.000313f, 0.000693f, -0.002359f, -0.007816f, 0.013922f, 0.000842f, -0.002025f, 0.004712f, 0.000644f, -0.002684f, 0.006563f, 0.007414f, -0.003465f, 0.004327f, 0.000634f, -0.001078f, -0.007305f, -0.003984f, 0.005287f, -0.002951f, 0.000537f, -0.000485f, 0.003509f, -0.005866f, -0.006736f, 0.000823f, -0.000163f, -0.004473f, 0.002383f, 0.000453f, -0.003003f, 0.001856f, -0.003286f, -0.002585f, 0.000918f, 0.001082f, -0.000124f, -0.000870f, -0.001710f, 0.001740f, 0.002726f, 0.000390f, 0.000649f, -0.000912f, -0.001176f, 0.002602f, 0.000001f, 0.000561f, -0.003012f, -0.000643f, -0.002125f, 0.001468f, 0.001871f, 0.000011f, 0.001474f, -0.009984f, 0.029679f, -0.013296f, 0.002142f, 0.001876f, 0.007374f, -0.001014f, 0.004672f, -0.004771f, 0.000195f, -0.009087f, -0.001827f, -0.000010f, 0.003536f, 0.000553f, 0.003640f, -0.002635f, -0.005592f, 0.000666f, -0.008360f, -0.008729f, 0.000137f, -0.002889f, -0.000279f, 0.000715f, 0.001124f, -0.002179f, -0.001566f, -0.003122f, -0.004833f, 0.001880f, 0.002148f, + -0.006136f, -0.002908f, -0.007705f, -0.000017f, -0.003400f, 0.002626f, 0.003246f, -0.006491f, 0.001014f, 0.005088f, 0.004734f, -0.002598f, 0.001743f, -0.001964f, -0.000863f, 0.001314f, -0.002833f, -0.000783f, 0.002722f, 0.001917f, 0.001888f, 0.002071f, 0.001265f, -0.000849f, 0.001838f, 0.000977f, -0.001239f, -0.000263f, 0.003696f, -0.000580f, -0.001553f, -0.000738f, 0.001606f, -0.001764f, -0.003549f, -0.000500f, -0.001131f, 0.000693f, 0.000964f, -0.000806f, -0.024852f, -0.007884f, 0.002506f, -0.004157f, 0.003249f, -0.001895f, -0.000223f, -0.007523f, -0.008962f, -0.001462f, -0.003300f, 0.003363f, 0.000788f, -0.001345f, -0.018244f, 0.008745f, 0.000396f, 0.007581f, 0.009548f, 0.006478f, -0.009650f, -0.002596f, -0.001150f, -0.002652f, 0.001792f, 0.001927f, -0.000397f, -0.003738f, 0.003573f, -0.006678f, -0.003634f, 0.005331f, 0.000061f, -0.002755f, 0.006383f, -0.000179f, 0.006708f, -0.002729f, -0.001334f, 0.000488f, 0.001949f, -0.005308f, -0.003889f, -0.001222f, 0.003686f, -0.001777f, 0.000415f, -0.001925f, 0.002392f, 0.002907f, 0.000417f, -0.000201f, -0.005978f, -0.000985f, 0.002601f, 0.002767f, + -0.002022f, 0.003136f, 0.000946f, -0.001396f, 0.000702f, -0.004027f, -0.001351f, -0.002853f, 0.002141f, -0.000092f, -0.001082f, 0.000370f, -0.006397f, -0.000476f, 0.000900f, 0.002391f, 0.016043f, 0.005610f, -0.009156f, -0.001319f, -0.003763f, 0.003590f, -0.005395f, 0.005067f, -0.000741f, 0.005842f, 0.004189f, 0.007028f, -0.008738f, 0.011185f, -0.006353f, 0.006661f, -0.003318f, 0.004105f, 0.001068f, 0.003525f, -0.005448f, -0.013027f, 0.005524f, 0.009541f, -0.002996f, 0.004078f, -0.004340f, 0.001386f, -0.002716f, 0.010009f, 0.000293f, -0.000692f, 0.002717f, -0.004462f, -0.002892f, -0.002508f, 0.004679f, 0.000305f, -0.001159f, 0.000263f, -0.000420f, 0.006942f, 0.004916f, -0.002250f, 0.002607f, 0.002793f, -0.002329f, -0.001365f, -0.002044f, -0.004826f, -0.000231f, 0.000342f, -0.000209f, -0.001630f, -0.004652f, 0.000018f, 0.008352f, 0.004486f, -0.002767f, 0.004605f, 0.000057f, 0.000143f, 0.004221f, 0.002138f, -0.003187f, 0.001626f, 0.001410f, 0.004076f, 0.005229f, -0.003475f, 0.002286f, 0.002913f, 0.033130f, -0.027388f, -0.004773f, 0.001159f, -0.000744f, -0.007710f, 0.002296f, 0.001775f, + 0.010417f, -0.003674f, 0.001858f, 0.008565f, -0.000003f, 0.005082f, 0.017049f, -0.003935f, -0.001377f, -0.009174f, -0.008674f, 0.000218f, 0.002599f, -0.003961f, 0.001373f, 0.015089f, 0.008548f, 0.001111f, 0.000296f, 0.001090f, 0.008154f, -0.007188f, -0.003406f, -0.000534f, 0.004055f, -0.000815f, 0.000741f, -0.003706f, 0.001036f, -0.006476f, -0.004051f, -0.004924f, -0.000249f, -0.004420f, 0.000694f, -0.007772f, 0.003187f, -0.015406f, -0.004265f, 0.001984f, 0.002463f, -0.000683f, -0.003895f, 0.001075f, 0.000071f, 0.001727f, -0.004575f, 0.001756f, -0.002853f, -0.002870f, -0.007165f, -0.005134f, -0.001917f, -0.000950f, -0.000118f, 0.001032f, 0.001694f, 0.000290f, 0.000542f, -0.004163f, -0.000546f, -0.005074f, -0.001294f, -0.000537f, -0.000468f, -0.021488f, -0.015086f, -0.001489f, -0.003392f, 0.010654f, -0.000063f, 0.001652f, -0.014263f, 0.000331f, 0.001465f, 0.000414f, 0.000626f, 0.007973f, -0.010847f, 0.001833f, -0.002672f, -0.007531f, -0.003933f, 0.006260f, -0.002776f, 0.005037f, -0.002306f, 0.002778f, 0.001220f, -0.001452f, -0.001296f, 0.003205f, -0.000959f, -0.000376f, -0.009392f, 0.004089f, + 0.003498f, 0.003461f, 0.003843f, -0.008297f, -0.008747f, 0.004507f, 0.006640f, -0.008880f, 0.002650f, 0.000960f, 0.006906f, 0.004011f, 0.000184f, 0.004743f, -0.003165f, -0.005426f, -0.001324f, -0.010226f, -0.007854f, -0.001028f, -0.000927f, 0.001391f, -0.005334f, 0.001484f, -0.004397f, -0.012966f, -0.004336f, -0.003588f, -0.013226f, -0.000084f, -0.002658f, -0.001549f, 0.000845f, 0.003902f, -0.004323f, 0.002441f, 0.001004f, -0.005637f, -0.004241f, -0.004244f, -0.001505f, -0.001063f, -0.013332f, 0.019842f, -0.010684f, -0.004682f, -0.006311f, 0.001381f, 0.001571f, 0.002741f, -0.001412f, 0.008522f, 0.006458f, -0.006508f, -0.011270f, 0.003936f, -0.004298f, 0.010008f, 0.000739f, 0.004124f, 0.005290f, -0.004145f, -0.003849f, 0.013352f, -0.007881f, -0.002166f, -0.004027f, 0.000188f, -0.001686f, 0.001509f, -0.002348f, -0.001216f, -0.010539f, 0.008954f, -0.003255f, -0.001155f, 0.010968f, -0.007856f, -0.009468f, 0.000509f, -0.004278f, -0.006596f, -0.000003f, -0.003568f, 0.002536f, -0.014058f, -0.004478f, -0.003753f, -0.000244f, 0.004407f, 0.000162f, 0.000537f, 0.002609f, -0.002783f, 0.002039f, 0.002767f, + 0.002934f, 0.002587f, -0.001576f, -0.003382f, -0.002339f, 0.002972f, -0.008058f, -0.002329f, -0.001710f, -0.002586f, 0.005677f, -0.004232f, -0.005500f, 0.005275f, 0.002105f, 0.002907f, 0.007302f, -0.003219f, -0.001952f, 0.002705f, -0.003371f, -0.027977f, 0.013299f, 0.014376f, 0.007125f, 0.006451f, -0.005403f, 0.006570f, -0.012375f, -0.000048f, -0.014462f, -0.002271f, -0.006600f, 0.006056f, -0.007189f, -0.005971f, -0.002036f, -0.010666f, 0.002483f, -0.005100f, 0.003989f, -0.010028f, 0.015491f, -0.005681f, 0.007023f, -0.006991f, 0.000083f, -0.006998f, -0.002683f, 0.003235f, 0.009686f, 0.011124f, -0.006363f, -0.000344f, -0.004013f, -0.006466f, -0.005261f, -0.016824f, -0.001027f, 0.002383f, -0.016116f, 0.005666f, 0.002391f, 0.003876f, 0.006729f, 0.004312f, 0.001791f, -0.005547f, -0.002410f, -0.006139f, -0.003672f, 0.002766f, -0.013122f, 0.004552f, 0.001648f, 0.000473f, -0.006646f, -0.003758f, 0.002350f, 0.009675f, 0.003336f, 0.002294f, -0.004830f, 0.003889f, -0.000362f, -0.004988f, 0.000285f, -0.003656f, -0.006451f, -0.003017f, -0.002405f, -0.005056f, 0.004337f, 0.003050f, 0.003162f, 0.002515f, + 0.022567f, -0.015924f, -0.006805f, -0.002248f, -0.000298f, 0.010841f, -0.002322f, 0.003365f, -0.006612f, 0.003160f, -0.004182f, -0.018307f, -0.012586f, -0.004912f, 0.006270f, -0.001075f, -0.010139f, -0.009646f, -0.019826f, -0.006661f, 0.002351f, 0.002333f, 0.000753f, -0.002356f, -0.001304f, -0.006434f, 0.001460f, 0.002212f, 0.003214f, 0.000413f, -0.001013f, -0.002714f, -0.009476f, -0.002757f, -0.002222f, 0.004344f, -0.001059f, -0.007860f, -0.003003f, 0.001781f, -0.008456f, 0.001051f, -0.008704f, 0.004430f, 0.006757f, -0.006842f, -0.012547f, -0.002835f, -0.003929f, -0.006160f, 0.000639f, 0.000715f, 0.001292f, 0.002654f, 0.000236f, -0.005358f, 0.007971f, 0.011782f, -0.005763f, 0.004625f, 0.002207f, 0.005343f, -0.008652f, 0.002885f, 0.001360f, 0.002697f, -0.012442f, 0.009595f, 0.001567f, 0.000652f, -0.001122f, -0.007776f, 0.002435f, 0.000372f, 0.002536f, 0.037207f, -0.020583f, 0.002044f, -0.001961f, -0.004258f, -0.015343f, -0.000669f, -0.000754f, 0.012751f, 0.005843f, 0.025591f, -0.010021f, 0.001169f, 0.002854f, 0.006287f, -0.002534f, -0.000963f, 0.010357f, -0.006247f, 0.014872f, 0.009216f, + -0.020569f, 0.019880f, 0.006953f, -0.006842f, -0.005101f, -0.007476f, -0.004022f, 0.001676f, 0.000903f, -0.005282f, 0.013044f, 0.001959f, -0.006273f, -0.005242f, 0.001246f, -0.006549f, -0.012149f, 0.000435f, 0.007185f, 0.003206f, 0.008739f, -0.003743f, 0.002673f, 0.009774f, 0.013477f, 0.003564f, -0.014102f, 0.004984f, -0.004601f, -0.007332f, 0.001948f, 0.006346f, 0.003309f, -0.001279f, -0.012832f, -0.010689f, 0.015590f, -0.001595f, 0.012021f, 0.001895f, -0.004889f, 0.006485f, -0.010625f, -0.004083f, 0.004983f, -0.000734f, 0.010368f, -0.007701f, -0.016644f, -0.003893f, -0.000759f, -0.004205f, -0.003760f, 0.011440f, -0.042383f, -0.027739f, 0.009403f, -0.014685f, 0.003933f, -0.007620f, -0.025876f, -0.019285f, 0.033197f, -0.016108f, 0.014672f, 0.008054f, -0.009404f, 0.007309f, -0.005591f, 0.010076f, 0.011200f, -0.001318f, -0.003935f, 0.019687f, -0.007169f, -0.023425f, -0.000217f, -0.010130f, 0.001743f, 0.001616f, 0.013103f, 0.006713f, 0.002256f, 0.006161f, -0.006757f, -0.000541f, 0.014403f, 0.009049f, -0.003299f, 0.003326f, -0.013839f, -0.021010f, -0.015686f, -0.011086f, -0.003554f, -0.003442f, + 0.003200f, -0.002435f, -0.006294f, 0.012604f, 0.002867f, -0.010382f, -0.009812f, -0.003170f, 0.003237f, -0.010444f, 0.003399f, 0.011749f, -0.000813f, 0.004099f, -0.008970f, 0.006053f, 0.004208f, 0.001044f, 0.004317f, -0.007850f, -0.011956f, -0.016537f, 0.007605f, 0.005953f, 0.000103f, 0.005950f, 0.000787f, -0.007676f, -0.001895f, 0.000393f, -0.013121f, -0.001134f, -0.020077f, -0.050644f, 0.016367f, -0.004623f, -0.003957f, 0.008295f, 0.001504f, 0.004354f, 0.021080f, 0.012382f, 0.015738f, 0.007664f, 0.021739f, -0.004547f, -0.022611f, 0.002633f, -0.003205f, -0.009959f, -0.020140f, -0.009031f, 0.016174f, 0.003275f, -0.001957f, 0.002975f, -0.002089f, -0.000313f, 0.013469f, 0.001269f, 0.004472f, -0.002698f, 0.002693f, 0.013696f, -0.004790f, -0.010093f, 0.006359f, -0.017510f, -0.017961f, -0.011488f, -0.003062f, -0.000032f, 0.006156f, 0.016175f, -0.000678f, -0.006246f, -0.017572f, -0.027719f, -0.010554f, -0.004454f, -0.002615f, -0.000658f, 0.009047f, -0.012951f, 0.021456f, 0.011215f, -0.003177f, 0.006007f, -0.009911f, 0.001154f, -0.000890f, 0.009944f, 0.018994f, 0.013099f, -0.012923f, -0.005414f, + 0.002249f, -0.002350f, -0.003630f, 0.000595f, -0.007207f, -0.019896f, -0.002545f, -0.004018f, -0.002396f, 0.002634f, -0.008421f, -0.002942f, 0.021553f, 0.021791f, 0.008227f, 0.014972f, 0.011184f, 0.022785f, -0.017718f, 0.023630f, -0.026115f, -0.003634f, 0.026912f, 0.036299f, 0.008642f, -0.001072f, 0.014116f, -0.009647f, -0.011247f, 0.026553f, 0.005456f, -0.002785f, 0.007561f, 0.021552f, -0.003983f, 0.013643f, -0.002701f, -0.004016f, -0.001031f, 0.010315f, -0.022226f, -0.001803f, 0.012951f, -0.004175f, 0.002681f, -0.007308f, 0.006401f, 0.019794f, -0.015774f, 0.006630f, -0.003588f, 0.007162f, -0.007484f, 0.013615f, 0.002654f, 0.005566f, 0.006713f, -0.019949f, 0.011877f, -0.028181f, -0.004272f, 0.017521f, 0.003484f, -0.009451f, 0.020011f, -0.005351f, -0.009246f, 0.014199f, -0.003633f, -0.002865f, -0.000220f, 0.008912f, 0.000729f, 0.002994f, -0.013928f, 0.006641f, 0.003565f, 0.031973f, -0.021237f, -0.009452f, 0.005116f, -0.005351f, 0.009557f, 0.009335f, -0.008448f, 0.022090f, 0.011509f, 0.041905f, -0.025917f, 0.001147f, -0.003973f, -0.006853f, 0.001086f, -0.009445f, -0.003780f, -0.030810f, + -0.025570f, -0.025694f, 0.008918f, -0.005346f, 0.008840f, -0.005880f, -0.018370f, 0.029832f, 0.021172f, -0.013917f, -0.011257f, -0.016446f, -0.003012f, 0.006294f, 0.010288f, 0.011958f, -0.000391f, 0.009201f, -0.002202f, -0.011986f, -0.013899f, 0.008803f, -0.006024f, 0.027026f, 0.017645f, 0.024880f, 0.004133f, 0.008850f, 0.025384f, 0.016839f, -0.004781f, 0.004167f, -0.000418f, -0.000079f, 0.003342f, -0.011964f, -0.007556f, 0.003988f, -0.013644f, -0.015368f, 0.015225f, 0.015837f, -0.017084f, -0.001170f, 0.032811f, 0.021591f, -0.000178f, -0.011221f, -0.001306f, 0.005880f, 0.007070f, -0.005102f, -0.010739f, 0.013405f, 0.000259f, 0.002569f, 0.011514f, 0.011958f, -0.012161f, 0.004728f, -0.000689f, 0.004176f, -0.019400f, 0.002548f, 0.020935f, -0.020476f, 0.033299f, 0.012504f, -0.005039f, -0.001604f, 0.010080f, -0.013171f, -0.016997f, 0.013613f, -0.020208f, -0.025978f, 0.006227f, -0.014174f, -0.018166f, -0.009696f, 0.016277f, 0.040782f, 0.016528f, -0.022973f, 0.041719f, 0.004404f, -0.007204f, 0.007114f, -0.025278f, 0.005771f, 0.002815f, -0.018214f, 0.014703f, -0.005278f, 0.002403f, -0.013267f, + 0.006527f, -0.012177f, 0.020754f, -0.025883f, -0.009996f, -0.009303f, 0.011396f, 0.013377f, 0.011722f, -0.014039f, 0.003224f, -0.014666f, -0.004778f, 0.006907f, 0.017130f, 0.007640f, -0.009000f, 0.016785f, 0.008079f, 0.013392f, 0.000105f, 0.015691f, -0.008035f, 0.008332f, -0.025848f, 0.027258f, -0.003377f, 0.003087f, -0.008419f, -0.015485f, -0.000290f, 0.008417f, 0.021295f, 0.005550f, -0.027934f, 0.010273f, -0.012065f, 0.020763f, 0.000589f, -0.009924f, 0.002852f, -0.009089f, 0.003046f, -0.017901f, 0.004505f, -0.068393f, 0.003911f, 0.012458f, 0.028068f, 0.009817f, -0.041752f, 0.057634f, 0.021660f, -0.025100f, 0.010202f, 0.057345f, 0.013538f, -0.012804f, -0.000855f, -0.033289f, 0.018428f, 0.002556f, -0.007891f, 0.005868f, 0.012568f, -0.021227f, 0.012718f, -0.026827f, 0.003798f, -0.024349f, -0.021911f, -0.008693f, 0.011577f, 0.017316f, -0.011580f, 0.015292f, -0.023825f, -0.002485f, 0.028630f, 0.003655f, -0.009118f, -0.002143f, 0.006319f, -0.005282f, -0.017416f, -0.019270f, -0.001793f, -0.008175f, 0.020969f, -0.026888f, 0.030745f, 0.010785f, 0.004772f, -0.008644f, -0.002303f, 0.015178f, + -0.010181f, 0.020050f, 0.005621f, 0.018329f, -0.005181f, -0.008172f, -0.028414f, 0.011739f, -0.001909f, -0.028593f, 0.010198f, -0.000167f, 0.019592f, 0.031789f, -0.011444f, 0.008957f, 0.015829f, 0.018061f, 0.004371f, -0.006400f, -0.000614f, -0.033694f, -0.000676f, 0.007011f, 0.010071f, 0.004930f}, + {-0.000085f, -0.000110f, -0.000233f, -0.000152f, -0.000064f, -0.000268f, -0.000373f, -0.000034f, -0.000201f, -0.000178f, 0.000051f, 0.000100f, 0.000053f, 0.000032f, -0.000142f, 0.000357f, -0.000041f, 0.000200f, -0.000520f, -0.000600f, -0.000007f, -0.001067f, -0.000421f, 0.000439f, 0.000043f, 0.000129f, 0.000086f, 0.000745f, 0.000011f, 0.000318f, 0.000056f, 0.000486f, 0.000031f, -0.000377f, -0.000522f, -0.000614f, -0.001068f, 0.000077f, -0.000104f, 0.000038f, -0.000438f, -0.000073f, 0.000301f, 0.000368f, -0.000247f, -0.000290f, -0.004608f, 0.000444f, -0.001004f, -0.000048f, -0.000365f, -0.000677f, 0.000375f, 0.001556f, 0.000019f, 0.000799f, -0.000868f, -0.000218f, 0.000612f, -0.000558f, 0.000189f, 0.001087f, -0.000628f, -0.000200f, -0.000286f, -0.000053f, 0.000171f, -0.000216f, 0.000322f, 0.000216f, -0.000234f, 0.000416f, -0.000234f, -0.000008f, -0.000865f, 0.000007f, -0.000075f, 0.000219f, 0.000165f, 0.000420f, -0.000359f, 0.000712f, -0.000091f, 0.000595f, -0.000175f, 0.000002f, 0.000460f, -0.000135f, 0.000340f, 0.000153f, 0.000347f, 0.000074f, 0.000330f, 0.001963f, -0.001509f, 0.000965f, + -0.001189f, 0.000630f, -0.000572f, -0.000565f, -0.000333f, -0.000315f, 0.000368f, 0.000418f, -0.001476f, -0.000067f, 0.000236f, -0.000135f, -0.000233f, -0.000860f, -0.000301f, 0.000636f, 0.000960f, 0.000486f, 0.001504f, 0.000316f, -0.000247f, 0.000319f, 0.000275f, -0.000139f, 0.000504f, 0.001071f, -0.000388f, 0.000002f, 0.000469f, -0.000001f, -0.000084f, -0.000745f, -0.000011f, 0.000396f, 0.000327f, 0.000074f, 0.000040f, -0.000240f, 0.000287f, -0.000016f, 0.000052f, 0.000027f, 0.007104f, -0.000421f, 0.000655f, -0.000407f, 0.000494f, -0.000497f, 0.000152f, -0.000091f, -0.000087f, 0.000446f, -0.000335f, -0.001242f, 0.000408f, 0.000173f, 0.000434f, 0.000909f, 0.000501f, 0.000353f, -0.000079f, -0.000702f, -0.000218f, 0.000384f, -0.000064f, -0.000078f, 0.000761f, -0.000877f, -0.000256f, 0.000027f, -0.000121f, -0.000185f, 0.000384f, 0.000425f, 0.000508f, 0.000177f, 0.000204f, -0.000150f, 0.000691f, 0.000014f, 0.000538f, 0.000398f, -0.000083f, -0.000022f, 0.000273f, 0.000050f, -0.000107f, -0.000023f, 0.005173f, -0.004979f, 0.000758f, -0.001358f, 0.000698f, -0.000108f, 0.000497f, -0.000492f, + 0.000912f, -0.000413f, 0.000543f, -0.001200f, 0.000023f, -0.000702f, 0.000172f, -0.000123f, -0.000188f, -0.000332f, -0.000898f, -0.000102f, 0.000077f, -0.000442f, 0.000687f, -0.000334f, -0.000547f, -0.000667f, 0.000363f, -0.000430f, 0.000986f, -0.000116f, -0.000027f, 0.000290f, -0.000027f, 0.000013f, -0.000484f, -0.000388f, -0.000138f, 0.000097f, -0.000207f, -0.000444f, 0.000354f, 0.000272f, 0.000663f, -0.000167f, 0.000193f, -0.000101f, -0.012232f, 0.001378f, -0.000964f, -0.000025f, -0.000191f, -0.001073f, 0.001055f, -0.000324f, 0.000049f, 0.000415f, 0.000092f, 0.001229f, -0.000112f, -0.000575f, 0.001486f, 0.000568f, 0.001337f, -0.000082f, -0.001886f, -0.001153f, -0.000934f, 0.000705f, -0.001007f, 0.000027f, -0.000397f, -0.000378f, 0.000063f, 0.000231f, -0.000326f, -0.000631f, -0.000476f, 0.000317f, 0.000372f, 0.000747f, -0.000111f, -0.000166f, -0.000097f, 0.000442f, -0.000603f, 0.000090f, 0.000174f, 0.000313f, -0.000499f, 0.000419f, -0.000595f, -0.000152f, -0.015441f, 0.005518f, -0.002303f, 0.002521f, -0.001845f, 0.001124f, -0.001995f, 0.001044f, -0.001494f, 0.000496f, 0.001021f, -0.000007f, + 0.000361f, 0.000920f, -0.000682f, 0.000643f, -0.000860f, -0.000663f, -0.001839f, 0.001567f, -0.001098f, 0.001028f, 0.000037f, -0.000072f, -0.001762f, -0.000129f, 0.000289f, -0.000312f, -0.000099f, -0.000132f, 0.000676f, -0.000176f, -0.000543f, 0.000472f, 0.000127f, -0.000291f, -0.000002f, -0.000049f, 0.000026f, 0.000239f, -0.000499f, 0.001119f, -0.000131f, -0.000824f, -0.000111f, -0.000485f, 0.000820f, 0.007058f, -0.001442f, 0.002714f, -0.001155f, 0.000970f, -0.000923f, 0.003365f, -0.000571f, 0.001821f, -0.000136f, -0.000075f, 0.000516f, 0.000052f, -0.002205f, 0.000568f, -0.000135f, -0.000975f, -0.000176f, 0.000088f, -0.002788f, -0.000031f, 0.000311f, 0.000952f, 0.000054f, -0.000498f, -0.000034f, 0.001025f, 0.000258f, -0.000442f, -0.000883f, 0.001514f, -0.000832f, 0.000005f, -0.001279f, -0.000112f, 0.000087f, 0.000274f, -0.000246f, 0.000397f, 0.000675f, -0.000542f, 0.000554f, 0.000010f, 0.000461f, 0.000010f, 0.000764f, -0.000312f, -0.000114f, 0.018588f, -0.005258f, 0.000927f, -0.000786f, 0.001337f, 0.000142f, 0.000108f, -0.002354f, 0.001234f, -0.000955f, 0.000882f, 0.000397f, 0.000510f, + 0.000934f, 0.001367f, 0.000327f, 0.000553f, -0.001954f, 0.000886f, 0.000909f, -0.001228f, -0.000123f, 0.001531f, 0.001055f, 0.001020f, 0.002148f, 0.001239f, 0.000434f, 0.000648f, -0.000609f, 0.000752f, -0.000036f, 0.001269f, 0.001647f, -0.000099f, 0.000652f, 0.001056f, -0.000249f, 0.000437f, -0.001158f, -0.000242f, 0.001458f, 0.000131f, -0.000766f, -0.000206f, 0.000549f, 0.001077f, 0.000087f, 0.000656f, 0.001243f, -0.009941f, 0.004084f, -0.002944f, 0.001806f, -0.001776f, 0.002143f, -0.001506f, 0.000013f, -0.001288f, -0.001596f, -0.002175f, 0.000063f, -0.001312f, 0.000522f, 0.000655f, 0.001509f, -0.002663f, 0.001519f, -0.000673f, 0.002143f, 0.000445f, -0.000229f, 0.000133f, 0.000073f, -0.000571f, -0.000550f, 0.000300f, -0.001170f, 0.000663f, 0.001158f, -0.001754f, -0.000489f, -0.000135f, 0.000579f, -0.000686f, 0.001695f, -0.001915f, 0.000249f, -0.000028f, -0.000006f, -0.000834f, 0.000006f, -0.000529f, 0.000354f, 0.000057f, -0.000036f, -0.000591f, -0.000232f, -0.001208f, -0.000539f, -0.000076f, 0.000128f, -0.015976f, 0.004984f, -0.003317f, -0.000280f, -0.000721f, 0.000932f, -0.002804f, + 0.000128f, 0.000818f, 0.000655f, -0.001013f, 0.000476f, -0.001278f, -0.002084f, -0.000836f, 0.000181f, -0.001254f, 0.004148f, 0.000068f, -0.001247f, -0.000431f, -0.001488f, -0.000707f, 0.001212f, 0.000729f, 0.001594f, -0.000194f, 0.000665f, -0.000984f, 0.000306f, -0.000893f, -0.000374f, -0.000537f, 0.000196f, 0.000487f, -0.000353f, -0.000844f, 0.000113f, 0.000274f, 0.001070f, -0.000231f, -0.000515f, -0.001535f, -0.001323f, -0.000612f, -0.000331f, 0.000261f, 0.000111f, -0.000638f, -0.000350f, 0.000095f, 0.000458f, 0.000273f, -0.015403f, 0.007106f, -0.003470f, 0.003124f, -0.001753f, 0.001815f, 0.000864f, 0.000493f, -0.001820f, 0.000123f, -0.000964f, 0.000170f, -0.002357f, 0.000766f, 0.001355f, 0.000369f, -0.002501f, -0.001299f, -0.001293f, -0.001369f, -0.000904f, 0.001643f, 0.000349f, 0.001126f, 0.000916f, -0.000531f, -0.000165f, -0.001938f, 0.002303f, -0.000779f, -0.000304f, 0.000045f, -0.000570f, -0.000836f, -0.000920f, -0.000305f, -0.001990f, 0.000461f, -0.001083f, 0.000658f, 0.000615f, 0.000992f, -0.000357f, 0.000005f, -0.001309f, 0.000354f, 0.000869f, 0.000098f, -0.000259f, 0.000063f, + 0.000669f, 0.000952f, 0.000417f, 0.005024f, 0.006202f, -0.002730f, 0.001695f, -0.000804f, 0.000664f, -0.000608f, 0.000399f, 0.000597f, 0.003057f, -0.001011f, 0.001284f, 0.002889f, -0.000731f, -0.000056f, -0.000438f, 0.000747f, 0.001501f, 0.001561f, 0.001987f, 0.000590f, 0.001695f, -0.000359f, -0.000946f, -0.003254f, 0.000733f, -0.000437f, -0.001634f, -0.001120f, -0.000026f, -0.000245f, 0.001102f, -0.000082f, -0.001898f, -0.001915f, 0.000563f, -0.001653f, 0.000259f, 0.001128f, -0.001527f, -0.000962f, -0.000636f, 0.000852f, 0.000723f, 0.000030f, -0.000183f, 0.001245f, 0.000269f, -0.000364f, 0.000487f, -0.000916f, 0.000146f, -0.000440f, -0.000738f, -0.000420f, 0.017710f, -0.006161f, 0.003344f, -0.002308f, 0.003324f, -0.002339f, 0.002038f, -0.000755f, 0.002070f, 0.000508f, 0.001456f, -0.001689f, 0.001737f, -0.000589f, -0.001445f, -0.000143f, -0.001553f, -0.002470f, -0.001310f, -0.000263f, 0.001252f, -0.001689f, -0.002272f, -0.002772f, -0.000504f, -0.000237f, 0.002217f, 0.001224f, 0.001422f, -0.000970f, 0.001148f, -0.000875f, -0.000874f, -0.000470f, 0.001458f, 0.001272f, 0.000386f, -0.000003f, + -0.000063f, 0.000047f, -0.000422f, -0.000226f, 0.001004f, 0.000203f, 0.002486f, -0.000953f, -0.000313f, -0.002077f, 0.001350f, -0.000540f, -0.000338f, -0.000488f, -0.000144f, 0.000123f, -0.000362f, 0.005031f, -0.007544f, 0.004513f, -0.002787f, 0.003518f, 0.000018f, 0.002205f, 0.000664f, -0.003276f, -0.001523f, -0.001067f, 0.000465f, 0.000891f, 0.000524f, 0.003818f, -0.002058f, 0.003062f, 0.000581f, 0.000438f, -0.001999f, -0.000389f, 0.002656f, -0.000115f, -0.002149f, 0.002568f, 0.001976f, 0.000481f, -0.000977f, -0.000760f, -0.000161f, -0.000118f, 0.001222f, -0.000514f, 0.000577f, -0.001350f, -0.000253f, 0.000869f, -0.001970f, 0.000834f, -0.000729f, 0.000785f, -0.000529f, -0.000120f, 0.002452f, 0.001093f, 0.001422f, -0.000045f, 0.000623f, 0.000939f, -0.000121f, -0.000597f, -0.000997f, 0.000425f, 0.000542f, 0.000916f, 0.001087f, 0.000308f, -0.000174f, -0.000989f, -0.000423f, -0.000999f, -0.019094f, -0.004048f, -0.000748f, -0.003384f, -0.001548f, 0.002585f, 0.000961f, -0.001057f, -0.000976f, -0.002497f, -0.001750f, -0.002069f, -0.002307f, -0.001940f, -0.001337f, -0.001775f, -0.002880f, -0.002478f, + 0.000617f, -0.002511f, 0.000511f, -0.003299f, -0.000151f, -0.001494f, -0.001269f, 0.002458f, -0.000528f, -0.001521f, 0.001476f, -0.002158f, 0.001573f, 0.000334f, 0.001673f, 0.001103f, -0.000295f, -0.001135f, 0.001771f, -0.000236f, -0.000570f, 0.001642f, -0.001029f, -0.002718f, -0.003104f, -0.000932f, 0.000682f, 0.000404f, -0.001110f, -0.000282f, -0.001049f, -0.000015f, -0.000227f, -0.000047f, 0.001512f, 0.000509f, -0.001557f, -0.000673f, -0.000041f, 0.000944f, -0.000014f, 0.001504f, 0.000184f, -0.022190f, 0.019287f, -0.007872f, 0.005336f, -0.005043f, 0.001208f, -0.002474f, 0.003235f, 0.000624f, 0.000345f, -0.001570f, 0.002173f, 0.000465f, -0.004030f, 0.000424f, 0.000539f, -0.001981f, -0.003126f, 0.003064f, 0.003706f, -0.001183f, -0.001059f, 0.000666f, 0.001666f, -0.000976f, 0.003356f, -0.000061f, 0.000789f, -0.002440f, -0.000971f, -0.001428f, 0.002146f, -0.000436f, 0.000391f, 0.000550f, -0.001385f, 0.002239f, 0.001971f, 0.000644f, 0.000601f, 0.002623f, -0.001668f, -0.000325f, -0.000449f, -0.001754f, 0.000266f, -0.001107f, 0.000314f, 0.000046f, 0.000021f, 0.002185f, -0.000230f, -0.000357f, + 0.000302f, 0.000230f, 0.001192f, -0.001134f, 0.000304f, 0.000051f, 0.002480f, -0.000654f, 0.014990f, -0.001600f, -0.002906f, -0.000551f, 0.002177f, 0.001210f, 0.001087f, 0.000073f, -0.001869f, 0.000691f, 0.001440f, 0.001597f, -0.000750f, -0.000706f, 0.003178f, 0.001200f, -0.002142f, 0.000679f, 0.004058f, -0.004650f, 0.003421f, 0.000568f, 0.004321f, -0.000098f, 0.000433f, 0.000985f, 0.001032f, 0.002345f, -0.001401f, -0.000432f, 0.001014f, 0.001732f, -0.000413f, 0.000130f, 0.000405f, 0.000536f, 0.001186f, -0.001811f, 0.000162f, 0.001325f, 0.000538f, -0.000923f, -0.000128f, 0.002722f, 0.002094f, 0.001062f, -0.000763f, -0.000551f, 0.000950f, -0.000165f, -0.000411f, 0.000611f, -0.000567f, -0.001069f, 0.002848f, 0.001187f, 0.001912f, 0.000419f, 0.001500f, 0.001185f, 0.001361f, 0.000272f, 0.001603f, 0.000826f, 0.001209f, 0.007056f, 0.002070f, 0.001716f, -0.000999f, -0.000674f, -0.001874f, -0.001353f, 0.000388f, -0.000741f, -0.000896f, -0.002733f, 0.002379f, 0.001614f, -0.001653f, 0.002910f, -0.002690f, -0.000839f, 0.001283f, -0.002047f, 0.001245f, 0.001876f, 0.002958f, 0.002530f, + 0.002504f, 0.001236f, -0.005067f, -0.000030f, -0.001000f, 0.000995f, -0.000413f, 0.001972f, 0.001450f, -0.000708f, -0.001160f, 0.001270f, -0.000824f, 0.003339f, 0.000099f, 0.001062f, 0.003544f, 0.003228f, -0.002379f, 0.000137f, -0.001528f, -0.003038f, -0.000204f, 0.000473f, -0.000257f, -0.000697f, -0.000191f, 0.000159f, -0.001257f, 0.000080f, -0.001484f, -0.000563f, -0.000053f, 0.000312f, 0.000154f, -0.001071f, -0.000861f, 0.001928f, -0.000578f, 0.000172f, 0.001076f, 0.000986f, -0.000471f, -0.000808f, 0.016655f, -0.011649f, 0.004295f, -0.004399f, -0.000304f, -0.003061f, 0.002845f, 0.002832f, 0.000936f, 0.000611f, 0.002674f, 0.007295f, -0.006337f, -0.000841f, -0.001622f, -0.002527f, 0.005660f, 0.004283f, -0.000834f, -0.003807f, 0.001596f, -0.003101f, -0.002485f, -0.004363f, 0.000596f, -0.004468f, -0.001461f, 0.002713f, 0.000415f, -0.001334f, -0.003699f, 0.000060f, -0.000870f, 0.002319f, 0.002112f, 0.001016f, -0.001666f, 0.000310f, -0.000079f, 0.000973f, 0.001826f, -0.001085f, -0.000550f, -0.001964f, 0.003091f, -0.000322f, 0.000478f, 0.002792f, -0.000539f, -0.000190f, 0.001118f, -0.001313f, + -0.000118f, 0.001247f, -0.002007f, 0.000523f, -0.000353f, -0.000116f, -0.002094f, 0.001091f, -0.000430f, 0.000244f, 0.000546f, -0.000722f, 0.001414f, -0.001034f, -0.000257f, -0.026004f, 0.003451f, 0.000232f, 0.001689f, -0.002118f, -0.003358f, -0.000144f, 0.002039f, 0.003312f, -0.000336f, 0.005103f, 0.002791f, -0.003669f, -0.003282f, 0.002317f, 0.000318f, -0.002650f, -0.004806f, -0.005502f, -0.003566f, -0.004093f, -0.004558f, 0.000676f, 0.001297f, 0.001057f, -0.003401f, -0.003284f, 0.000369f, -0.000955f, -0.000651f, -0.000545f, -0.002734f, 0.002098f, -0.004625f, -0.001810f, -0.000796f, -0.000285f, 0.001338f, 0.000389f, -0.000416f, 0.001967f, -0.000738f, 0.001961f, 0.001094f, -0.001718f, 0.000158f, 0.003262f, -0.001447f, -0.001466f, -0.000008f, 0.001864f, 0.000418f, -0.001517f, -0.001895f, 0.001542f, -0.000001f, -0.002481f, 0.003168f, 0.003559f, 0.000360f, -0.001156f, 0.000357f, -0.000176f, 0.000701f, 0.001513f, -0.000232f, 0.002044f, -0.015843f, 0.013547f, -0.004525f, 0.002893f, -0.000066f, 0.002252f, -0.005474f, 0.002115f, -0.003726f, 0.000008f, -0.002514f, 0.005073f, 0.004346f, 0.001620f, + 0.000373f, -0.004197f, -0.002748f, -0.000452f, -0.001654f, 0.004803f, -0.003915f, -0.000183f, -0.001922f, 0.007039f, -0.002213f, 0.000600f, -0.000161f, 0.001183f, 0.000596f, 0.001175f, 0.000934f, -0.001211f, 0.000683f, -0.000329f, 0.002518f, 0.000333f, 0.004731f, 0.002377f, -0.001455f, -0.000372f, -0.000525f, 0.000028f, -0.001726f, -0.001322f, -0.000385f, 0.000770f, 0.005770f, 0.000448f, 0.000450f, -0.001641f, 0.002397f, -0.000942f, -0.001146f, 0.000669f, -0.001110f, 0.000616f, -0.001394f, -0.003286f, 0.001662f, 0.001315f, -0.000365f, 0.003232f, 0.000791f, 0.000682f, 0.001281f, -0.001011f, 0.000478f, -0.000852f, 0.003257f, 0.002121f, -0.000204f, -0.001028f, -0.000809f, -0.000363f, 0.010216f, -0.000355f, 0.002207f, -0.007150f, -0.001293f, 0.000765f, -0.005796f, 0.000330f, 0.007729f, -0.001493f, 0.000438f, -0.003668f, -0.004984f, 0.001110f, -0.004565f, 0.006798f, -0.004937f, 0.001535f, 0.001506f, 0.003581f, 0.002750f, -0.000883f, -0.004423f, -0.000625f, -0.000531f, 0.002067f, -0.003144f, -0.000711f, -0.001022f, -0.001561f, -0.001160f, 0.001969f, 0.001148f, 0.005483f, 0.001760f, -0.002222f, + 0.002181f, -0.001661f, -0.001761f, 0.001593f, 0.004653f, -0.000826f, -0.002639f, -0.002458f, 0.002394f, -0.000199f, -0.003647f, -0.003344f, 0.001473f, 0.001392f, -0.001620f, -0.002787f, -0.004581f, 0.001080f, 0.001451f, 0.000966f, -0.002679f, 0.001732f, 0.000945f, 0.000646f, 0.035379f, -0.002056f, 0.001604f, 0.003407f, -0.002895f, -0.001131f, -0.000867f, -0.008109f, 0.005758f, -0.000720f, -0.004954f, 0.001291f, -0.002449f, 0.003202f, 0.002582f, 0.004020f, -0.001178f, 0.005391f, 0.004659f, 0.003032f, -0.004410f, 0.003705f, -0.006119f, -0.003551f, -0.004103f, 0.001871f, -0.003108f, -0.000427f, -0.000932f, -0.004036f, -0.002091f, 0.003717f, -0.002448f, -0.001831f, -0.003822f, 0.001468f, 0.001490f, 0.003170f, -0.001505f, 0.005336f, 0.001486f, 0.006059f, -0.000483f, 0.001230f, 0.001382f, -0.003102f, 0.002517f, 0.006192f, -0.001888f, -0.000017f, 0.001833f, -0.001607f, -0.002246f, 0.001578f, -0.002239f, -0.001167f, -0.002986f, -0.001943f, 0.002536f, 0.002232f, 0.001594f, 0.002381f, 0.003010f, 0.002819f, 0.004234f, 0.000773f, -0.001041f, -0.015934f, -0.030903f, 0.010968f, -0.000243f, 0.000258f, + -0.003402f, -0.003635f, -0.001080f, 0.000675f, -0.002321f, 0.007598f, -0.004034f, -0.007358f, 0.000072f, 0.000050f, -0.001260f, -0.002853f, 0.005099f, 0.000586f, -0.002781f, 0.002127f, -0.005163f, 0.005709f, -0.003759f, -0.002200f, -0.004503f, 0.006412f, -0.003283f, -0.001416f, -0.004461f, -0.002345f, 0.003383f, -0.002169f, 0.003693f, -0.005634f, -0.006389f, 0.000050f, 0.000735f, 0.000597f, -0.000480f, -0.003603f, 0.000266f, 0.001154f, 0.000492f, 0.002695f, -0.000330f, 0.004488f, 0.000379f, 0.004170f, 0.005787f, 0.000776f, -0.000767f, 0.000649f, -0.003720f, -0.001383f, -0.006008f, -0.005599f, 0.001192f, 0.000986f, 0.000700f, -0.000887f, -0.001923f, -0.001396f, -0.001685f, -0.001331f, -0.001679f, -0.000536f, -0.000411f, 0.000492f, -0.010392f, 0.029670f, -0.013756f, 0.006049f, -0.003040f, 0.009293f, -0.001644f, -0.004379f, -0.004513f, 0.002291f, -0.001441f, -0.000769f, 0.000083f, 0.001643f, -0.010159f, -0.005117f, -0.002710f, 0.003762f, 0.003235f, 0.005618f, 0.000960f, -0.001131f, -0.001031f, 0.006772f, -0.009221f, 0.005029f, -0.004483f, -0.001179f, -0.004712f, 0.006979f, 0.002828f, -0.004997f, + 0.000549f, -0.002358f, 0.000709f, 0.002776f, -0.013162f, -0.005779f, 0.001015f, 0.004282f, -0.002752f, 0.000640f, 0.003305f, -0.001704f, -0.001529f, -0.000830f, 0.005023f, 0.001636f, 0.000827f, 0.000189f, 0.001916f, 0.005560f, -0.003648f, 0.002315f, -0.008391f, -0.001868f, 0.001852f, 0.003590f, 0.000726f, 0.000122f, 0.000165f, 0.001700f, -0.001666f, -0.000257f, -0.000621f, -0.002506f, -0.001753f, 0.002554f, 0.002999f, -0.001760f, -0.001631f, -0.005866f, -0.026931f, -0.005933f, 0.002468f, -0.006508f, 0.001450f, 0.001007f, 0.003777f, -0.000181f, 0.007334f, 0.004720f, 0.002561f, -0.002216f, -0.003812f, -0.000358f, 0.007774f, -0.006937f, -0.002722f, -0.005417f, -0.000251f, -0.014508f, -0.011435f, 0.000535f, 0.006883f, 0.009476f, 0.002100f, -0.003695f, 0.003166f, -0.003304f, -0.002208f, -0.002312f, 0.000832f, 0.002339f, 0.000496f, 0.003565f, -0.002971f, -0.005294f, 0.004103f, 0.002578f, 0.008749f, -0.001289f, 0.001330f, -0.001477f, 0.007038f, -0.007648f, -0.003846f, -0.001973f, -0.005755f, 0.003377f, -0.002436f, 0.002798f, -0.006154f, 0.005806f, 0.005748f, 0.005157f, -0.002298f, 0.004540f, + 0.000155f, 0.001426f, 0.002698f, 0.001750f, -0.002630f, 0.000192f, -0.000890f, -0.000395f, 0.005393f, 0.001792f, -0.002526f, 0.004184f, -0.000839f, -0.004126f, -0.001407f, -0.000554f, 0.019673f, 0.012879f, -0.003717f, 0.005977f, -0.012645f, 0.009317f, 0.003589f, 0.007071f, -0.002074f, -0.001478f, -0.006796f, -0.003388f, -0.011804f, -0.001855f, -0.009340f, -0.002687f, -0.005646f, -0.005834f, -0.007887f, 0.003470f, -0.010876f, 0.001727f, 0.005109f, -0.001922f, 0.001809f, -0.004584f, 0.000229f, -0.001281f, -0.001296f, -0.006331f, -0.000583f, 0.000970f, -0.000144f, -0.000797f, -0.003121f, -0.002769f, 0.002331f, 0.002358f, 0.003148f, 0.014387f, -0.005396f, -0.000123f, 0.006069f, -0.001172f, -0.002029f, -0.005239f, 0.002018f, 0.005015f, 0.008307f, 0.002884f, 0.006990f, -0.006292f, -0.009394f, 0.001125f, 0.006759f, 0.003769f, -0.004889f, 0.006304f, -0.004229f, 0.003130f, 0.001613f, 0.005738f, 0.003546f, 0.002210f, 0.004180f, -0.003597f, 0.002830f, 0.002144f, 0.001584f, 0.005582f, 0.001721f, 0.004496f, 0.039197f, -0.025369f, -0.001382f, 0.002946f, 0.000781f, 0.003098f, 0.005358f, -0.001071f, + -0.000879f, 0.003027f, -0.004548f, -0.004309f, -0.000734f, 0.003495f, 0.014080f, 0.000616f, 0.004842f, -0.004517f, 0.000248f, -0.013919f, 0.008578f, -0.008404f, -0.012064f, 0.002831f, 0.003323f, -0.004421f, 0.003956f, 0.001725f, 0.009254f, 0.010356f, -0.001781f, -0.003846f, -0.003012f, -0.015361f, -0.008481f, 0.012134f, 0.003897f, 0.004502f, -0.007048f, -0.007074f, 0.002009f, -0.001320f, -0.006253f, 0.005420f, -0.001291f, -0.003770f, -0.004571f, 0.003107f, -0.004120f, -0.002047f, 0.014003f, -0.008552f, 0.002448f, -0.003012f, 0.003092f, -0.003796f, -0.001804f, -0.010472f, 0.001550f, -0.003813f, -0.002887f, 0.008549f, 0.001756f, 0.002467f, 0.004794f, 0.006243f, 0.001469f, 0.004366f, -0.002294f, -0.000368f, -0.007411f, 0.003317f, 0.005174f, -0.025279f, -0.012893f, 0.003636f, -0.002388f, 0.007959f, -0.002127f, -0.003218f, -0.007919f, -0.008791f, 0.003307f, -0.009153f, -0.003724f, -0.005585f, -0.001789f, -0.005848f, -0.004250f, -0.004880f, -0.002900f, -0.005837f, -0.010196f, 0.004437f, -0.019377f, -0.001124f, 0.015722f, 0.003110f, -0.000944f, -0.005473f, 0.000320f, -0.017705f, 0.006064f, 0.003258f, + 0.000304f, 0.005095f, 0.008149f, -0.008069f, -0.004590f, -0.008366f, 0.000236f, -0.000723f, -0.005231f, -0.006000f, -0.006397f, -0.004298f, -0.001104f, 0.002662f, -0.000545f, 0.001988f, 0.000862f, -0.000669f, 0.010656f, 0.001708f, -0.002697f, 0.008045f, -0.005301f, -0.011455f, -0.004029f, -0.002330f, -0.002332f, -0.001807f, -0.004426f, -0.001970f, -0.005308f, -0.002273f, -0.005381f, -0.000775f, 0.001620f, -0.006257f, -0.002238f, -0.004087f, -0.000609f, -0.006469f, -0.007208f, -0.004305f, -0.015280f, 0.019962f, -0.010234f, -0.005247f, -0.016770f, 0.012594f, -0.004773f, 0.007277f, 0.000268f, 0.000121f, -0.005207f, 0.009758f, -0.002701f, 0.002921f, 0.002350f, -0.005023f, -0.001720f, -0.001905f, -0.008890f, 0.001326f, 0.001478f, -0.007212f, -0.011466f, -0.007513f, -0.010540f, -0.003011f, 0.005614f, 0.002490f, -0.006201f, -0.006624f, 0.009123f, 0.005785f, -0.007917f, 0.006747f, -0.003930f, 0.005892f, -0.009995f, -0.008485f, -0.007592f, 0.002141f, -0.006697f, 0.003693f, -0.002964f, 0.001203f, -0.001750f, -0.001594f, 0.001713f, 0.006661f, -0.015814f, -0.002682f, 0.003373f, -0.002137f, -0.004646f, -0.012222f, + -0.000789f, 0.009865f, 0.000238f, 0.008435f, 0.007055f, 0.001207f, -0.000975f, 0.006229f, -0.006573f, -0.006483f, 0.004878f, -0.002481f, -0.003852f, 0.002137f, 0.001379f, -0.004211f, -0.004372f, 0.007552f, -0.007144f, -0.005076f, -0.003866f, -0.035065f, 0.012442f, 0.005017f, -0.009165f, 0.003850f, -0.010311f, 0.008425f, 0.007180f, 0.006073f, -0.018208f, 0.010295f, 0.018309f, -0.003033f, 0.005903f, -0.000138f, -0.006339f, -0.008087f, 0.020204f, -0.000709f, -0.002325f, -0.011817f, -0.023009f, -0.012619f, 0.000633f, -0.010389f, 0.007788f, -0.015177f, -0.005421f, -0.009136f, 0.001862f, -0.003833f, -0.011536f, 0.001416f, -0.003078f, 0.006799f, -0.002978f, -0.009078f, -0.003870f, -0.026912f, 0.004189f, -0.001256f, 0.011680f, -0.007932f, -0.008874f, 0.010979f, 0.001825f, 0.001433f, -0.005156f, -0.007542f, 0.001938f, 0.004745f, 0.003175f, -0.002325f, 0.003405f, 0.001706f, -0.000142f, -0.002803f, -0.003114f, -0.009235f, 0.000065f, -0.003988f, -0.005720f, 0.004051f, 0.001948f, 0.012325f, 0.002060f, -0.009288f, -0.009370f, 0.001268f, -0.006300f, -0.004879f, 0.000804f, -0.005108f, -0.000826f, -0.002996f, + 0.030303f, -0.009972f, 0.001620f, 0.003019f, 0.013517f, -0.000139f, -0.000890f, 0.009680f, 0.015689f, -0.008198f, -0.009600f, 0.010029f, -0.000161f, 0.008898f, 0.012387f, 0.010447f, 0.009331f, 0.007641f, 0.008910f, 0.029401f, -0.000840f, 0.003427f, 0.007002f, 0.016822f, -0.001642f, -0.004316f, 0.007531f, 0.000930f, -0.003459f, -0.004881f, -0.003839f, 0.001487f, -0.005456f, 0.012029f, 0.017749f, 0.000497f, -0.002352f, 0.008076f, -0.002253f, 0.010985f, 0.008605f, 0.001580f, -0.006617f, 0.007680f, 0.001090f, -0.001380f, 0.003062f, 0.000204f, 0.020522f, -0.000231f, 0.009959f, -0.002770f, 0.018528f, -0.000191f, 0.003356f, -0.004427f, -0.008256f, 0.009916f, -0.003123f, 0.018255f, 0.005661f, 0.009410f, 0.002066f, 0.001535f, 0.006931f, 0.002798f, 0.014143f, 0.008271f, 0.004350f, 0.007663f, -0.004837f, 0.004363f, 0.007866f, 0.002440f, 0.000443f, 0.036970f, -0.011156f, 0.003073f, -0.003926f, 0.001200f, 0.004497f, 0.012072f, -0.010038f, 0.004742f, -0.000470f, 0.000128f, 0.006579f, -0.006154f, 0.007077f, -0.020298f, -0.009111f, 0.002659f, 0.007175f, 0.004522f, 0.015531f, -0.016288f, + 0.002331f, -0.003069f, -0.021433f, 0.008322f, -0.008356f, -0.006228f, -0.003135f, -0.018376f, 0.005699f, 0.005282f, 0.002764f, -0.010065f, -0.015264f, 0.005050f, -0.009404f, 0.007304f, -0.014564f, -0.000838f, -0.017419f, -0.005401f, -0.011553f, -0.011313f, 0.010601f, 0.014997f, 0.002494f, 0.004722f, -0.007187f, 0.001732f, -0.012212f, 0.003973f, -0.007880f, 0.000879f, 0.012367f, 0.004641f, -0.003809f, 0.005737f, 0.001653f, 0.004687f, -0.004916f, 0.008856f, 0.018556f, -0.000812f, -0.010342f, -0.009428f, -0.004274f, -0.004006f, 0.001792f, 0.005947f, 0.002271f, 0.010821f, 0.000638f, 0.002458f, -0.011276f, -0.004718f, -0.038507f, -0.032372f, 0.013114f, -0.004420f, 0.015320f, -0.001637f, 0.004759f, -0.019520f, -0.018294f, -0.011323f, 0.005620f, -0.015217f, -0.010563f, -0.004807f, 0.002616f, 0.010375f, 0.003514f, -0.022123f, 0.005504f, 0.011677f, -0.031086f, -0.004121f, 0.001159f, -0.033105f, -0.011519f, 0.014076f, -0.030552f, 0.014349f, 0.015293f, -0.000275f, -0.004656f, -0.001713f, -0.007560f, -0.008512f, 0.005153f, 0.006191f, 0.022421f, -0.013900f, -0.007292f, -0.006135f, -0.010773f, 0.000115f, + -0.018208f, -0.004995f, 0.001150f, -0.001027f, -0.006058f, -0.001441f, -0.010097f, -0.002544f, 0.005343f, -0.003018f, -0.006625f, 0.006948f, -0.003672f, -0.007913f, -0.010638f, 0.021756f, -0.001063f, 0.013011f, 0.001682f, 0.004487f, 0.014625f, 0.001483f, 0.009945f, -0.007359f, 0.011075f, 0.007366f, 0.002359f, 0.002141f, 0.002669f, 0.008848f, 0.004343f, 0.000819f, 0.009196f, -0.062125f, 0.023016f, -0.007114f, -0.028049f, -0.007043f, 0.000377f, -0.007437f, 0.010378f, -0.024269f, 0.011221f, -0.002182f, -0.027967f, -0.019272f, 0.003416f, 0.010737f, 0.009983f, 0.007383f, 0.015874f, 0.004435f, 0.026346f, 0.014440f, 0.030937f, 0.003880f, 0.025043f, -0.019800f, -0.015883f, 0.005093f, 0.001771f, -0.015728f, 0.003898f, 0.003136f, -0.002636f, -0.006086f, 0.014612f, 0.002742f, -0.033792f, -0.014987f, 0.010657f, 0.003711f, -0.007582f, 0.009396f, 0.009186f, 0.015009f, 0.002712f, 0.004374f, 0.002272f, 0.004282f, 0.004956f, -0.011678f, 0.001179f, 0.002023f, -0.025220f, 0.011504f, 0.007938f, 0.010346f, -0.017500f, -0.009903f, 0.011680f, -0.000094f, -0.003919f, -0.002663f, -0.007878f, -0.006510f, + -0.000628f, -0.008638f, -0.019612f, 0.006268f, 0.019498f, -0.014412f, 0.001266f, -0.008353f, -0.003995f, -0.006290f, -0.002581f, 0.009715f, 0.025188f, 0.016777f, 0.011369f, 0.005824f, 0.000046f, -0.006821f, -0.009971f, 0.007358f, -0.026646f, 0.026536f, -0.017685f, 0.003604f, -0.028860f, -0.001832f, 0.025678f, 0.009572f, -0.010121f, 0.015952f, -0.027457f, 0.009841f, 0.004214f, 0.001033f, -0.033639f, -0.010704f, 0.001246f, 0.004437f, 0.020346f, -0.033208f, -0.005148f, -0.011619f, -0.031235f, -0.007566f, 0.006512f, 0.014316f, 0.022030f, 0.016827f, 0.016850f, -0.002433f, -0.012167f, 0.010688f, 0.002686f, -0.007932f, 0.003326f, -0.015849f, 0.022796f, 0.010079f, 0.007130f, -0.013346f, -0.027950f, -0.008265f, -0.000297f, -0.033849f, -0.027461f, -0.008054f, -0.024758f, 0.014179f, 0.004910f, 0.003622f, -0.012000f, -0.012931f, 0.003484f, 0.002127f, 0.000846f, 0.006122f, -0.005795f, 0.004293f, 0.014342f, 0.005815f, 0.001244f, 0.000790f, -0.011859f, -0.010015f, -0.009504f, 0.003144f, -0.004802f, 0.029274f, -0.023896f, 0.005690f, -0.003901f, -0.003594f, -0.000068f, 0.007701f, -0.015138f, 0.018874f, + -0.006239f, 0.012779f, -0.001942f, -0.011346f, 0.020010f, 0.019862f, 0.013925f, -0.007343f, 0.030640f, 0.011087f, -0.035696f, 0.035609f, 0.002601f, -0.000591f, 0.025391f, 0.000674f, -0.012039f, -0.015615f, 0.025028f, -0.016600f, -0.022264f, 0.020389f, 0.017425f, -0.012289f, -0.029390f, 0.010787f, -0.010604f, 0.003547f, -0.020929f, -0.016927f, -0.007649f, 0.019101f, 0.016701f, 0.001909f, 0.015244f, -0.023757f, 0.006680f, -0.006532f, -0.009571f, 0.010812f, 0.000687f, 0.003061f, -0.033599f, -0.009314f, 0.017277f, -0.023729f, -0.007015f, -0.029673f, -0.006412f, -0.011298f, 0.003978f, -0.007428f, 0.002334f, 0.002679f, -0.001995f, 0.002596f, -0.008838f, -0.026411f, -0.005904f, 0.012900f, -0.002742f, 0.008780f, -0.010946f, -0.023396f, -0.004837f, 0.004286f, 0.027071f, 0.002078f, -0.007846f, -0.019404f, -0.000616f, -0.009299f, 0.007265f, -0.016060f, 0.010254f, 0.006423f, -0.013912f, -0.014436f, 0.021770f, -0.025634f, -0.000880f, 0.016388f, -0.018355f, 0.005841f, 0.021332f, -0.016980f, 0.014699f, 0.010520f, 0.015739f, -0.025742f, 0.022309f, -0.025862f, 0.007978f, -0.019744f, 0.002700f, -0.010206f, + 0.017679f, 0.000313f, 0.010954f, 0.005257f, -0.017918f, -0.011379f, -0.024870f, 0.014451f, -0.016702f, 0.014518f, -0.020132f, -0.023696f, -0.038737f, 0.003511f, 0.021060f, -0.003469f, -0.000079f, 0.006158f, 0.018298f, -0.006372f, 0.005372f, -0.022026f, 0.006165f, 0.028351f, -0.002189f, 0.025649f, 0.034879f, -0.000653f, 0.006556f, 0.006563f, -0.013645f, 0.007100f, -0.016635f, -0.001367f, -0.016994f, -0.018059f, 0.002281f, -0.007159f, -0.028351f, 0.019666f, 0.002108f, 0.014509f, -0.015620f, -0.009430f, -0.004229f, -0.061428f, 0.015431f, 0.022837f, 0.006245f, -0.026682f, -0.004017f, 0.043118f, -0.049812f, -0.001369f, -0.008513f, -0.032603f, -0.008328f, -0.022127f, 0.007931f, 0.007918f, 0.018857f, 0.007591f, -0.026124f, -0.009331f, 0.018575f, -0.029755f, -0.008581f, -0.031817f, 0.026891f, 0.008002f, 0.020990f, 0.035942f, -0.012884f, -0.007740f, -0.006134f, -0.018201f, 0.017108f, -0.008617f, -0.021728f, -0.024287f, -0.004442f, 0.009100f, -0.000899f, 0.004758f, 0.005650f, 0.013857f, -0.006422f, -0.000856f, 0.010145f, -0.010255f, 0.020136f, 0.023000f, 0.021616f, -0.018020f, 0.002060f, -0.005818f, + 0.010144f, 0.043514f, 0.032501f, 0.062391f, 0.004587f, 0.024422f, 0.019647f, -0.009958f, -0.002613f, -0.003766f, -0.006345f, 0.007374f, 0.001317f, 0.021956f, 0.016437f, -0.008384f, -0.002925f, -0.014273f, -0.026988f, 0.009550f, -0.001053f, 0.007720f, -0.002555f, -0.019894f, -0.003099f, 0.000055f} +}; +const float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2522]={ {-0.004162f, 0.000448f, -0.000930f, 0.000917f, -0.000455f, 0.000395f, -0.000006f, 0.000439f, -0.000027f, 0.000475f, -0.000583f, -0.000275f, 0.000277f, -0.000394f, -0.000066f, -0.000617f, -0.000043f, -0.000228f, 0.001227f, 0.000583f, -0.000747f, 0.000029f, 0.000306f, -0.000028f, -0.000173f, 0.000318f, 0.000034f, 0.000209f, 0.000296f, 0.000262f, -0.000380f, -0.000102f, 0.000036f, 0.000053f, 0.000073f, -0.000027f, 0.000018f, -0.000029f, 0.000064f, 0.000006f, -0.000003f, -0.000038f, -0.000007f, 0.000031f, -0.000010f, 0.000022f, 0.003133f, 0.001814f, 0.000972f, 0.000486f, 0.000526f, 0.000178f, 0.000373f, -0.000069f, -0.000070f, 0.000900f, 0.000510f, 0.000418f, 0.000863f, 0.000722f, 0.000985f, -0.001373f, 0.001193f, 0.000330f, 0.000079f, 0.000239f, -0.000083f, -0.000615f, -0.000438f, 0.000703f, 0.000318f, 0.000575f, 0.000026f, -0.000197f, 0.000420f, -0.000049f, -0.000204f, 0.000425f, 0.000222f, 0.000624f, 0.000178f, 0.000415f, -0.000620f, -0.000374f, 0.000333f, 0.000061f, 0.000358f, 0.000149f, -0.000077f, -0.000165f, -0.000503f, 0.000104f, 0.001676f, -0.001733f, -0.000357f, -0.000338f, + -0.000441f, -0.000093f, -0.000058f, -0.000302f, -0.000273f, 0.000038f, 0.000044f, -0.000211f, 0.000114f, -0.000512f, -0.000190f, -0.000053f, 0.000305f, -0.001841f, -0.000204f, 0.000425f, -0.000206f, -0.000190f, 0.000138f, 0.000074f, 0.000107f, 0.000904f, -0.000443f, -0.000238f, -0.000487f, -0.000046f, 0.000231f, 0.000429f, -0.000420f, -0.000257f, 0.000439f, -0.000382f, -0.000651f, -0.000027f, -0.000192f, 0.000262f, -0.000208f, -0.000136f, 0.000084f, 0.000238f, -0.000407f, 0.000172f, -0.006005f, -0.004118f, -0.001639f, -0.001922f, -0.001036f, -0.001014f, -0.000916f, -0.000446f, -0.001109f, -0.000914f, -0.000362f, -0.000715f, -0.000062f, -0.000268f, -0.000578f, -0.000839f, -0.000891f, -0.000377f, -0.000503f, -0.000943f, -0.000088f, -0.001175f, 0.000038f, -0.000099f, -0.000126f, -0.000714f, -0.000085f, -0.000542f, 0.000041f, -0.000695f, -0.000401f, 0.000230f, -0.000467f, 0.000083f, -0.001134f, -0.000221f, 0.000613f, 0.000348f, 0.000020f, -0.000173f, -0.000295f, 0.000095f, 0.000150f, 0.000545f, -0.000282f, -0.000052f, -0.007886f, -0.000473f, 0.001060f, -0.000058f, 0.000344f, -0.000097f, 0.000047f, -0.000678f, + 0.000715f, 0.000224f, 0.000852f, 0.000537f, 0.001707f, 0.001183f, 0.000132f, -0.000704f, -0.000343f, -0.000200f, 0.000348f, -0.000269f, -0.001438f, -0.001370f, -0.000651f, -0.000250f, 0.000099f, 0.000141f, 0.000307f, -0.000100f, 0.000079f, 0.000115f, -0.000277f, -0.000089f, -0.000010f, -0.000956f, 0.000565f, 0.000172f, -0.000070f, -0.000058f, -0.000318f, -0.000553f, 0.000343f, 0.000071f, -0.000301f, 0.000265f, 0.000295f, 0.000334f, 0.008857f, 0.006269f, 0.001196f, 0.002443f, 0.000469f, 0.000824f, 0.001938f, 0.001038f, 0.000279f, 0.001208f, 0.000447f, -0.000500f, -0.000294f, 0.000431f, 0.000649f, -0.001186f, -0.000200f, -0.000706f, 0.001564f, 0.000814f, 0.000370f, 0.000813f, 0.000365f, 0.000426f, -0.000023f, -0.000066f, -0.000439f, 0.000638f, 0.000714f, 0.000657f, 0.000762f, 0.000987f, 0.000536f, 0.001436f, 0.000273f, -0.000075f, 0.000457f, 0.000099f, -0.000302f, -0.000110f, -0.000277f, -0.000281f, -0.000049f, 0.000664f, 0.000102f, 0.000108f, 0.013205f, 0.005689f, 0.001650f, 0.001602f, 0.001030f, 0.000720f, 0.000158f, 0.000100f, 0.001396f, 0.000341f, 0.000747f, 0.001142f, + 0.000520f, -0.000032f, -0.000465f, 0.002360f, -0.000272f, -0.001225f, -0.000789f, 0.000617f, -0.000033f, 0.001279f, 0.000341f, 0.000192f, -0.000295f, -0.000539f, -0.000232f, -0.000228f, 0.000474f, -0.000058f, 0.000155f, 0.000089f, 0.000013f, -0.000264f, 0.000368f, 0.001641f, 0.000943f, 0.001099f, 0.000888f, 0.000824f, 0.000359f, 0.000338f, 0.000106f, 0.000553f, -0.000524f, 0.000346f, 0.004308f, -0.004541f, -0.001449f, -0.001925f, -0.001775f, -0.000874f, -0.000331f, 0.000704f, -0.000694f, 0.000133f, -0.001755f, 0.000648f, -0.000671f, -0.001477f, 0.000360f, -0.001036f, -0.001520f, -0.000985f, 0.001364f, 0.001131f, -0.000540f, 0.000610f, -0.001018f, 0.000450f, -0.001817f, 0.000165f, 0.000254f, -0.000229f, -0.000453f, 0.000445f, -0.001441f, -0.000564f, 0.000148f, -0.000416f, -0.000447f, -0.000244f, 0.000085f, 0.000226f, 0.000681f, 0.000120f, 0.001197f, -0.000394f, -0.000360f, -0.000305f, -0.000627f, -0.000107f, -0.000323f, 0.000253f, -0.000539f, -0.015669f, -0.008062f, -0.002784f, -0.002321f, -0.002364f, -0.001608f, -0.002032f, -0.001450f, -0.002219f, -0.000491f, -0.000958f, -0.000339f, 0.000187f, + -0.001026f, -0.000179f, 0.000081f, 0.000096f, -0.001520f, -0.000879f, -0.000724f, 0.000223f, -0.002024f, 0.000282f, -0.000953f, -0.001653f, 0.000088f, 0.000066f, 0.000059f, 0.000047f, -0.000675f, -0.000379f, -0.000038f, -0.000039f, -0.000079f, -0.000556f, -0.000034f, 0.000272f, 0.000472f, 0.000297f, -0.000729f, 0.000486f, -0.000728f, 0.000559f, -0.001213f, -0.000691f, 0.000128f, -0.000540f, -0.000014f, -0.000138f, -0.009253f, 0.004825f, 0.002108f, 0.000699f, 0.001316f, 0.000171f, 0.000393f, 0.001044f, 0.001292f, 0.000605f, 0.000876f, -0.000695f, -0.000216f, -0.001047f, 0.001238f, 0.000179f, 0.000262f, 0.001553f, 0.000097f, -0.001161f, 0.001973f, -0.001353f, 0.000198f, 0.001520f, -0.000442f, 0.000343f, 0.000245f, -0.000114f, -0.000764f, -0.000269f, 0.000477f, 0.000381f, 0.000111f, -0.000365f, 0.000063f, -0.000646f, 0.001851f, 0.000073f, -0.000001f, -0.000801f, -0.000335f, -0.000549f, -0.000410f, 0.000898f, 0.000966f, -0.000333f, 0.000113f, -0.000152f, 0.000301f, -0.000022f, -0.000048f, -0.000287f, 0.000236f, 0.013956f, 0.006010f, 0.001531f, 0.003269f, 0.001804f, 0.000853f, 0.001335f, + 0.001256f, -0.000065f, 0.000929f, 0.001321f, 0.000369f, -0.000068f, 0.000757f, 0.001886f, -0.000619f, -0.000435f, -0.001507f, 0.000317f, 0.001826f, 0.000675f, 0.000121f, -0.001090f, -0.000506f, -0.000517f, 0.001915f, 0.000498f, 0.001016f, 0.000463f, -0.000863f, -0.001528f, 0.001659f, 0.000803f, -0.000976f, -0.000573f, 0.001608f, 0.001238f, -0.000047f, 0.000233f, -0.000147f, 0.000595f, 0.000461f, -0.000259f, 0.000337f, -0.000665f, -0.000251f, 0.000746f, -0.000442f, -0.000459f, 0.000918f, 0.000667f, 0.000436f, 0.000041f, 0.016492f, 0.003687f, 0.002675f, 0.001308f, 0.001178f, 0.000625f, 0.001214f, 0.001630f, 0.002364f, 0.001596f, -0.000558f, 0.002022f, -0.000468f, 0.000606f, 0.000335f, 0.001722f, 0.002320f, 0.001640f, -0.000517f, 0.002784f, -0.000613f, -0.000197f, -0.001523f, 0.000465f, -0.000525f, 0.000523f, 0.000625f, -0.000738f, -0.001239f, -0.000393f, 0.000116f, -0.000833f, -0.000406f, 0.000492f, 0.000493f, -0.000994f, -0.001021f, -0.000306f, 0.000240f, 0.000065f, 0.000170f, -0.000317f, -0.000121f, -0.000192f, -0.000475f, 0.000503f, -0.000731f, 0.000655f, -0.000777f, -0.000164f, + -0.000621f, 0.000173f, -0.000301f, 0.001847f, -0.007279f, -0.002429f, -0.002551f, -0.001761f, 0.000533f, -0.000485f, -0.001496f, 0.000838f, 0.000150f, 0.001047f, -0.000038f, 0.000057f, -0.001631f, -0.001270f, -0.000709f, -0.001304f, 0.000200f, -0.001382f, -0.002469f, 0.000457f, 0.000398f, -0.001239f, -0.000160f, -0.001127f, 0.000330f, 0.000319f, -0.000105f, -0.002688f, -0.000643f, 0.000127f, -0.000185f, 0.000188f, 0.000823f, -0.001920f, -0.000451f, -0.001212f, 0.000727f, -0.000179f, 0.000018f, 0.001201f, -0.001128f, -0.000113f, 0.000509f, -0.000186f, -0.000286f, 0.000571f, 0.000444f, -0.000771f, -0.000786f, -0.001482f, -0.000089f, -0.001136f, -0.000768f, -0.000495f, -0.017123f, -0.005959f, -0.003413f, -0.001003f, -0.001711f, -0.000174f, -0.000870f, -0.001384f, -0.001461f, 0.001859f, 0.000166f, -0.000850f, -0.000063f, -0.002960f, -0.001505f, -0.001491f, 0.002464f, -0.002060f, -0.004030f, 0.000256f, 0.000640f, 0.000240f, -0.001398f, -0.000490f, 0.001010f, -0.001995f, -0.000062f, -0.002031f, -0.000445f, 0.001012f, -0.000799f, 0.000191f, 0.002265f, 0.000158f, -0.000297f, -0.000586f, 0.000721f, 0.000590f, + 0.000679f, -0.000700f, 0.000030f, 0.000621f, 0.001086f, 0.000502f, 0.000468f, -0.001851f, 0.000493f, -0.000144f, -0.000752f, -0.000394f, 0.000333f, -0.000295f, -0.000759f, -0.000658f, -0.000792f, -0.011349f, 0.002561f, 0.000260f, -0.001485f, 0.002140f, -0.001386f, -0.000913f, 0.000426f, -0.001844f, -0.001246f, -0.000323f, 0.000710f, -0.001438f, 0.001990f, 0.000131f, -0.000150f, 0.001059f, 0.000876f, 0.001611f, -0.000259f, 0.002187f, 0.002925f, 0.002266f, 0.000593f, 0.001950f, -0.000704f, 0.001268f, -0.001477f, -0.001324f, -0.000688f, 0.000255f, 0.000814f, -0.000658f, -0.001425f, -0.000634f, -0.000135f, 0.000897f, -0.001383f, 0.001002f, 0.000211f, 0.000790f, -0.000433f, -0.001089f, -0.001681f, -0.001792f, 0.000379f, -0.000880f, 0.000398f, -0.001907f, -0.000688f, 0.000967f, -0.001366f, 0.000281f, -0.000996f, 0.000674f, -0.000401f, 0.000656f, 0.000017f, -0.000280f, -0.000153f, -0.000725f, 0.007613f, 0.012666f, 0.003627f, 0.003319f, 0.004520f, 0.003730f, 0.000689f, 0.002965f, 0.002568f, 0.001455f, 0.005485f, 0.001350f, 0.000897f, 0.002424f, 0.002173f, 0.001197f, 0.000940f, 0.000612f, + 0.000878f, -0.000683f, 0.002747f, -0.000719f, 0.000227f, -0.000849f, 0.001723f, 0.000115f, -0.000501f, 0.001486f, 0.001695f, 0.000638f, 0.002263f, -0.001614f, -0.002755f, -0.000590f, -0.000207f, 0.000607f, -0.000238f, 0.001185f, -0.001135f, 0.001078f, 0.002274f, 0.001017f, -0.002127f, -0.000416f, 0.001001f, 0.000425f, -0.001072f, 0.001475f, 0.000517f, 0.000876f, 0.000903f, 0.001315f, 0.000369f, -0.000361f, 0.000258f, -0.001181f, -0.000375f, 0.001104f, 0.000946f, -0.000574f, -0.000081f, 0.028941f, 0.003063f, -0.000354f, 0.001874f, -0.000117f, 0.002558f, -0.000034f, 0.000746f, 0.000251f, 0.002691f, 0.001157f, -0.000997f, 0.000813f, 0.001330f, 0.000608f, -0.001501f, -0.003345f, -0.001427f, -0.001443f, 0.000658f, -0.002079f, -0.000277f, -0.000194f, 0.000617f, 0.003542f, 0.002080f, 0.000614f, 0.001522f, -0.002312f, -0.000063f, -0.001243f, -0.000377f, -0.000994f, 0.001428f, -0.000584f, 0.002340f, -0.001109f, -0.000337f, -0.001230f, -0.000448f, -0.001747f, -0.000712f, 0.000320f, 0.000436f, -0.000155f, 0.000088f, -0.000989f, 0.000591f, 0.001496f, 0.000193f, -0.000908f, 0.001045f, -0.001449f, + 0.000667f, 0.000540f, -0.000076f, -0.000497f, -0.000235f, -0.000129f, -0.000204f, 0.000001f, -0.008464f, -0.010023f, -0.001888f, -0.000536f, -0.000430f, -0.001571f, -0.000678f, 0.003075f, 0.001788f, 0.000671f, 0.000817f, -0.001300f, -0.000280f, 0.002320f, -0.000855f, 0.003758f, -0.002903f, -0.000756f, 0.003027f, -0.000550f, -0.000348f, -0.001728f, 0.002074f, 0.002340f, 0.000037f, 0.002309f, -0.000830f, 0.001048f, -0.000051f, -0.001225f, -0.000202f, -0.000958f, -0.000421f, -0.000604f, 0.001253f, -0.000874f, -0.000219f, -0.001369f, 0.000963f, -0.000685f, 0.002100f, -0.003257f, 0.001395f, 0.001210f, -0.001996f, 0.000100f, -0.001317f, 0.000416f, -0.001499f, 0.000539f, 0.000633f, -0.001848f, -0.000282f, -0.000631f, -0.002838f, -0.001581f, -0.000783f, -0.001347f, -0.000302f, -0.000170f, 0.000160f, -0.001087f, 0.000167f, -0.002165f, 0.000628f, -0.007361f, -0.004313f, -0.005696f, -0.003012f, -0.003783f, -0.000490f, 0.003775f, -0.003931f, 0.003048f, 0.001851f, -0.002048f, 0.004179f, -0.000602f, 0.000773f, -0.002694f, -0.000346f, -0.001159f, -0.000224f, 0.000089f, 0.000997f, 0.000582f, 0.002163f, 0.004307f, + -0.001189f, 0.000658f, -0.002066f, -0.002040f, -0.001919f, 0.000505f, 0.001722f, -0.000542f, -0.000652f, -0.000483f, -0.001344f, 0.001549f, -0.000495f, -0.000016f, -0.001313f, -0.000925f, -0.000883f, -0.001237f, -0.000140f, 0.000027f, -0.001144f, 0.000819f, -0.001735f, 0.000719f, -0.001016f, -0.000089f, 0.000599f, -0.001174f, 0.001542f, -0.002624f, -0.000861f, 0.000348f, -0.000819f, -0.001356f, 0.000699f, -0.000306f, -0.001639f, 0.002771f, 0.001507f, 0.000467f, 0.000508f, 0.000637f, 0.000657f, -0.001252f, -0.020598f, -0.002428f, 0.001737f, -0.001578f, 0.003496f, 0.001519f, -0.004117f, 0.000501f, 0.000769f, -0.001414f, -0.003439f, -0.001364f, -0.000790f, 0.000934f, 0.000314f, -0.003308f, -0.001162f, -0.001796f, -0.003059f, -0.002696f, -0.006055f, -0.003251f, -0.003514f, -0.004403f, 0.003498f, -0.002374f, 0.001314f, 0.002510f, -0.001814f, -0.003010f, -0.001081f, -0.000705f, 0.000754f, 0.001865f, 0.001174f, -0.002508f, -0.002977f, 0.002308f, 0.001535f, 0.001810f, 0.002695f, 0.000308f, 0.000027f, 0.000966f, -0.000090f, -0.001251f, 0.000705f, -0.000712f, -0.000374f, 0.001479f, 0.003998f, -0.001398f, + -0.001966f, 0.000844f, -0.001250f, -0.000203f, 0.002057f, -0.004013f, -0.000051f, -0.001381f, -0.000219f, -0.000171f, 0.000010f, -0.000557f, 0.000760f, -0.001260f, 0.001386f, 0.016515f, 0.014477f, 0.003867f, 0.008816f, 0.002382f, 0.005090f, -0.000870f, -0.000770f, 0.002405f, 0.003352f, 0.001709f, -0.005706f, -0.001958f, 0.003598f, 0.003977f, -0.001467f, -0.002008f, 0.000675f, 0.001616f, 0.001926f, 0.000216f, -0.002968f, -0.006478f, -0.002396f, 0.003424f, -0.000301f, 0.003517f, -0.000844f, -0.001223f, 0.000732f, -0.003062f, -0.001724f, -0.001818f, 0.003293f, -0.004193f, -0.002833f, 0.000645f, 0.000683f, -0.001153f, -0.000137f, -0.001276f, 0.001223f, 0.001575f, 0.001430f, 0.003145f, 0.001880f, -0.000054f, -0.002676f, 0.002391f, -0.000254f, 0.001271f, -0.001320f, 0.000848f, 0.001961f, -0.000427f, -0.000552f, -0.001368f, -0.001492f, 0.000769f, 0.000179f, 0.001138f, -0.001294f, 0.000923f, 0.002551f, -0.000685f, -0.001429f, 0.001645f, 0.019965f, 0.003862f, -0.004045f, 0.003383f, 0.002000f, -0.003680f, -0.000973f, 0.002069f, -0.000004f, 0.000752f, -0.000430f, -0.000664f, -0.004322f, -0.003975f, + 0.001707f, 0.004020f, 0.003892f, -0.003818f, -0.008134f, 0.001263f, -0.000242f, -0.003073f, -0.004215f, -0.000580f, 0.001934f, -0.001269f, 0.002928f, 0.005032f, -0.001942f, -0.001446f, -0.000766f, -0.000571f, -0.001058f, -0.007315f, 0.003799f, 0.003713f, -0.000238f, 0.002452f, -0.002362f, -0.000559f, -0.002154f, 0.003175f, 0.003130f, 0.000524f, -0.000891f, -0.001007f, 0.001713f, 0.000601f, -0.001128f, -0.001722f, -0.000068f, 0.001766f, -0.002490f, -0.001328f, -0.001381f, 0.000587f, 0.000716f, -0.002870f, 0.001502f, 0.003546f, -0.002792f, 0.000146f, -0.000700f, -0.000291f, -0.000052f, 0.000518f, 0.000168f, -0.001013f, -0.002246f, -0.001485f, -0.000627f, 0.001608f, -0.000830f, -0.005383f, -0.003739f, 0.000642f, 0.004871f, -0.004888f, 0.003453f, 0.001753f, 0.000668f, 0.001141f, 0.000750f, 0.003376f, 0.005157f, 0.000270f, 0.001479f, 0.000711f, -0.004633f, -0.003983f, 0.003912f, 0.000676f, -0.004780f, 0.002893f, -0.004094f, 0.000793f, 0.004812f, -0.000177f, -0.001437f, 0.005745f, 0.000780f, 0.000523f, 0.000368f, 0.000309f, 0.000416f, -0.002322f, 0.001391f, 0.002406f, 0.003614f, -0.002789f, + -0.001538f, 0.000725f, 0.000435f, -0.001195f, -0.002730f, 0.001850f, -0.001042f, 0.001345f, 0.000559f, -0.000763f, -0.000925f, 0.000542f, 0.001620f, -0.001111f, -0.000622f, -0.000117f, 0.000912f, -0.002516f, -0.001304f, 0.001423f, 0.000223f, -0.000730f, -0.000507f, 0.001309f, -0.021537f, -0.019872f, -0.004376f, -0.009230f, -0.008005f, -0.004611f, -0.001324f, -0.003468f, -0.004064f, 0.002772f, 0.000819f, -0.000991f, 0.004783f, 0.001702f, 0.005736f, 0.004360f, 0.001340f, 0.001736f, 0.002147f, -0.008691f, 0.004176f, -0.000682f, -0.001748f, -0.001633f, -0.005041f, -0.001592f, -0.001686f, 0.004932f, -0.001550f, -0.002940f, -0.001365f, 0.000795f, -0.000538f, -0.000969f, 0.001197f, -0.001284f, -0.000733f, 0.003041f, -0.002841f, -0.000229f, -0.000836f, 0.005462f, 0.002279f, 0.002211f, -0.004046f, 0.000368f, 0.003848f, -0.001900f, 0.001024f, 0.000078f, 0.001044f, 0.000090f, 0.000457f, -0.000212f, 0.002517f, -0.000228f, -0.000619f, 0.001814f, -0.001068f, 0.001066f, 0.002225f, -0.000857f, -0.001271f, 0.000758f, 0.000955f, -0.001420f, -0.000467f, -0.013308f, 0.028336f, 0.018120f, 0.005541f, 0.001945f, + 0.001746f, 0.002213f, 0.002984f, 0.002999f, 0.005819f, 0.012260f, 0.000460f, 0.001553f, 0.002398f, 0.002649f, 0.002872f, -0.002084f, 0.011486f, 0.008523f, -0.008029f, 0.005915f, 0.000814f, -0.001092f, 0.002561f, 0.007243f, -0.006909f, -0.001738f, 0.000273f, -0.005366f, -0.004037f, -0.003794f, 0.007776f, -0.000207f, -0.001722f, 0.001219f, 0.000149f, -0.002262f, -0.006775f, 0.004630f, 0.003352f, -0.000957f, 0.001679f, 0.004740f, -0.003390f, 0.002643f, -0.000079f, -0.001063f, 0.003283f, 0.003234f, 0.000363f, 0.000551f, -0.000002f, 0.002627f, 0.003141f, 0.000159f, -0.001038f, 0.000094f, -0.001534f, 0.002603f, 0.000084f, -0.000874f, -0.001690f, -0.000772f, 0.001401f, 0.001003f, 0.003763f, -0.001152f, 0.000982f, -0.000804f, 0.030771f, -0.010748f, -0.010864f, 0.004999f, 0.001032f, -0.003905f, -0.003731f, -0.005523f, -0.005782f, -0.003966f, -0.003648f, 0.005261f, 0.001024f, 0.000756f, -0.003077f, -0.002402f, -0.009228f, 0.000122f, -0.003756f, -0.006094f, 0.005006f, 0.003575f, 0.000887f, 0.003328f, 0.000716f, -0.000972f, -0.002192f, -0.000053f, -0.001884f, 0.002736f, 0.004252f, -0.004608f, + -0.001931f, 0.000175f, 0.002230f, 0.006263f, 0.001654f, 0.008361f, -0.004439f, 0.002703f, 0.006684f, 0.004151f, -0.003637f, -0.000934f, 0.000599f, -0.001663f, 0.002770f, -0.000383f, -0.000039f, 0.004474f, 0.002206f, 0.000775f, 0.000213f, -0.000043f, -0.002050f, 0.000009f, 0.000326f, -0.001920f, -0.001324f, 0.002001f, -0.000970f, -0.003701f, -0.000757f, 0.000151f, -0.000864f, -0.003869f, 0.000799f, 0.000828f, 0.000757f, 0.001108f, -0.001038f, -0.001609f, 0.009851f, 0.018942f, 0.007330f, 0.005128f, 0.005827f, -0.001649f, 0.001815f, -0.005315f, 0.009290f, 0.003760f, 0.008916f, 0.002756f, 0.003337f, -0.008165f, 0.010170f, 0.015274f, 0.001831f, 0.009917f, -0.002086f, -0.007964f, -0.008038f, 0.007279f, -0.002444f, 0.005815f, 0.000954f, 0.002346f, -0.004559f, 0.004498f, -0.001680f, -0.001580f, 0.007261f, 0.005149f, -0.004005f, 0.006913f, 0.000644f, 0.001263f, -0.001527f, -0.005214f, 0.001310f, 0.000377f, -0.003042f, -0.003299f, 0.002907f, 0.004267f, 0.001257f, -0.001544f, 0.001870f, 0.000126f, 0.004407f, -0.002802f, -0.000567f, -0.004597f, 0.000360f, 0.004381f, 0.002814f, -0.002136f, + -0.000198f, 0.001479f, -0.004223f, -0.000397f, -0.002950f, -0.001639f, 0.000639f, 0.000948f, 0.002503f, -0.003314f, 0.001164f, -0.003807f, 0.000097f, 0.004385f, 0.001365f, 0.000724f, -0.000366f, -0.021768f, -0.001462f, -0.004705f, 0.006000f, -0.004488f, 0.004895f, 0.000437f, 0.003878f, -0.000287f, 0.003315f, -0.010720f, 0.002998f, -0.000996f, -0.004207f, 0.002238f, -0.005069f, 0.003275f, -0.005111f, -0.002266f, -0.011015f, 0.006458f, 0.012707f, -0.004750f, -0.001934f, -0.001148f, -0.002333f, 0.002305f, 0.002353f, 0.004090f, -0.009803f, 0.003215f, -0.006183f, -0.001357f, -0.000539f, 0.005283f, 0.001667f, -0.002105f, 0.000833f, 0.001424f, 0.003315f, 0.003975f, -0.006187f, -0.001581f, 0.000665f, -0.003965f, -0.004090f, -0.000330f, -0.002976f, 0.001602f, 0.003155f, 0.000877f, 0.000388f, -0.000351f, 0.002932f, 0.008881f, 0.004567f, -0.004714f, 0.000855f, 0.002390f, -0.002757f, 0.003464f, 0.000579f, -0.002807f, -0.000514f, 0.004324f, 0.000197f, 0.004183f, -0.005114f, -0.000566f, 0.002689f, 0.000746f, -0.040147f, -0.015492f, 0.008515f, 0.002646f, -0.004901f, 0.005428f, 0.005030f, 0.007263f, + -0.001548f, -0.003644f, 0.006911f, -0.000044f, -0.004191f, 0.008688f, -0.009837f, -0.013502f, -0.005948f, -0.007407f, 0.004876f, 0.006288f, 0.000106f, 0.001361f, 0.010722f, 0.004253f, -0.010358f, -0.005156f, -0.006281f, 0.001584f, -0.009611f, -0.008969f, -0.000288f, 0.000947f, -0.003539f, -0.004513f, -0.005780f, -0.003518f, -0.005275f, -0.005792f, -0.001808f, 0.000045f, -0.001754f, -0.000745f, -0.003504f, -0.001010f, -0.002643f, -0.006710f, 0.013714f, 0.000635f, 0.003383f, -0.005993f, 0.003758f, -0.000844f, 0.002000f, -0.004937f, -0.000021f, -0.001243f, -0.003535f, -0.002850f, -0.001541f, 0.003831f, 0.003334f, 0.002850f, 0.002251f, 0.002052f, -0.000529f, -0.000604f, -0.003112f, -0.001261f, -0.000096f, -0.000963f, 0.004195f, 0.000377f, 0.002464f, -0.000726f, 0.021393f, 0.007598f, 0.017263f, 0.002488f, 0.001321f, -0.007051f, 0.002792f, 0.010007f, 0.004006f, 0.000516f, 0.007021f, -0.006384f, -0.002602f, 0.005343f, -0.004118f, 0.001694f, 0.009960f, 0.002900f, 0.001466f, 0.002863f, -0.001673f, 0.003995f, -0.003138f, -0.000178f, 0.001772f, 0.000273f, -0.002413f, -0.003014f, 0.001151f, 0.009798f, + -0.003195f, 0.002173f, -0.009257f, -0.005333f, 0.004332f, 0.010304f, -0.008140f, -0.000305f, 0.005185f, 0.000910f, 0.001994f, -0.007177f, -0.002340f, -0.006272f, -0.010229f, -0.003136f, -0.005689f, -0.006465f, 0.004862f, 0.001481f, 0.001670f, -0.004003f, -0.002177f, -0.001205f, -0.009877f, -0.001451f, 0.005478f, -0.004455f, 0.004377f, 0.008515f, 0.001321f, 0.005412f, 0.003901f, -0.000306f, -0.001896f, 0.004540f, -0.006691f, -0.001048f, -0.000483f, 0.003358f, 0.001932f, 0.002943f, 0.025416f, -0.005310f, -0.008273f, 0.001607f, 0.005562f, 0.005155f, 0.004563f, -0.001108f, 0.004945f, 0.001993f, -0.006707f, -0.012340f, 0.008087f, 0.002587f, 0.005737f, 0.003966f, -0.003770f, 0.001788f, -0.005253f, -0.007988f, 0.008186f, -0.005097f, -0.010717f, 0.001374f, -0.002113f, 0.001544f, -0.001455f, -0.000777f, -0.003053f, -0.003825f, 0.002591f, 0.007193f, -0.010490f, 0.010057f, -0.008951f, -0.010855f, 0.000613f, 0.003193f, -0.006728f, 0.005139f, -0.001365f, 0.003326f, -0.005874f, -0.002484f, 0.008670f, 0.003926f, 0.008777f, 0.002630f, 0.000194f, 0.003102f, -0.000546f, 0.000481f, 0.004332f, -0.000310f, + 0.000320f, -0.004247f, -0.003505f, -0.002504f, 0.002863f, -0.003340f, -0.003451f, 0.005523f, -0.000747f, 0.006141f, 0.000346f, -0.004621f, 0.006793f, 0.005593f, -0.001104f, 0.003496f, -0.004446f, -0.006629f, 0.001730f, -0.002873f, -0.005178f, 0.021419f, 0.026471f, -0.004214f, 0.000318f, -0.013425f, -0.001349f, -0.009855f, -0.007084f, -0.002511f, -0.004807f, 0.007237f, 0.000128f, 0.005559f, -0.012237f, 0.010040f, -0.007672f, 0.010250f, 0.000473f, 0.008083f, -0.002916f, 0.010243f, 0.003534f, -0.005254f, 0.002288f, -0.007724f, 0.005014f, -0.004430f, 0.011871f, 0.003238f, 0.007813f, -0.013213f, -0.007363f, -0.003471f, -0.006520f, -0.003050f, -0.004463f, 0.000103f, 0.015978f, -0.007708f, 0.008027f, 0.013201f, 0.001904f, 0.005608f, 0.000054f, -0.003388f, -0.006357f, -0.005184f, 0.000622f, -0.003853f, 0.008108f, -0.005680f, 0.003669f, 0.009490f, -0.001394f, -0.001226f, -0.000900f, 0.007663f, 0.008615f, 0.002301f, -0.004201f, -0.004011f, -0.002307f, 0.002945f, -0.008193f, 0.001010f, -0.001648f, -0.002726f, -0.000129f, 0.004727f, 0.000192f, 0.006873f, 0.006523f, 0.000660f, 0.001238f, -0.004126f, + -0.020950f, -0.017931f, 0.007727f, -0.002005f, 0.009659f, -0.005335f, -0.005227f, -0.006458f, -0.006122f, -0.002199f, -0.016668f, -0.005530f, 0.005733f, 0.009095f, 0.003086f, -0.010885f, -0.003716f, -0.005029f, 0.004260f, 0.016687f, 0.008602f, 0.004357f, 0.000100f, 0.001601f, 0.000299f, 0.003225f, 0.007877f, 0.001037f, 0.001651f, -0.004454f, -0.000182f, -0.006542f, 0.002106f, 0.003698f, 0.005502f, 0.001122f, -0.004777f, -0.001768f, 0.007420f, -0.003420f, 0.002404f, 0.001961f, 0.002272f, 0.010581f, -0.006373f, -0.008378f, 0.002591f, 0.007621f, 0.001249f, 0.007611f, 0.008076f, 0.004528f, 0.005366f, 0.002634f, 0.000569f, 0.005106f, 0.013873f, -0.007871f, -0.000792f, 0.002677f, 0.000492f, -0.006051f, -0.001954f, 0.005135f, -0.000946f, -0.005403f, 0.001359f, 0.010889f, -0.009574f, 0.003088f, -0.009154f, 0.005019f, 0.002210f, 0.001628f, -0.000687f, -0.041489f, -0.014183f, -0.001144f, -0.003896f, -0.010394f, 0.006441f, 0.008088f, 0.014231f, 0.004391f, 0.009031f, -0.008387f, -0.017028f, 0.007829f, -0.003851f, 0.000227f, -0.009063f, 0.008938f, -0.005262f, -0.000633f, 0.008722f, -0.023734f, + 0.002495f, 0.012050f, -0.022620f, -0.006229f, -0.007872f, 0.000920f, 0.001070f, 0.005408f, -0.006135f, 0.007230f, 0.001272f, -0.012150f, -0.005959f, 0.001248f, -0.001326f, -0.006097f, 0.005430f, 0.013769f, 0.003179f, 0.003700f, -0.002036f, -0.003613f, 0.008319f, 0.001343f, -0.003893f, -0.020138f, -0.003005f, 0.002398f, -0.009969f, 0.004698f, 0.004264f, 0.000702f, -0.007681f, -0.007111f, -0.008210f, 0.017869f, 0.004901f, -0.002814f, 0.003600f, -0.015329f, 0.001901f, -0.007194f, -0.008121f, 0.007920f, -0.001286f, 0.000097f, -0.005129f, -0.019076f, 0.002601f, 0.005870f, 0.003357f, -0.001262f, 0.011283f, 0.000650f, 0.000634f, 0.043680f, 0.011121f, 0.011182f, 0.009684f, -0.002925f, 0.000451f, 0.044894f, 0.013070f, -0.003873f, 0.027563f, -0.015588f, 0.011522f, 0.002245f, 0.007051f, 0.011066f, -0.003449f, -0.008035f, 0.008495f, -0.001739f, -0.027189f, 0.006747f, 0.007053f, 0.005541f, 0.012939f, 0.007975f, 0.008439f, -0.007900f, 0.001662f, -0.007648f, -0.003896f, 0.007801f, 0.002631f, -0.016148f, -0.009534f, -0.013590f, -0.019874f, -0.003329f, 0.004015f, 0.009369f, 0.008274f, 0.006876f, + 0.005948f, -0.003267f, 0.010267f, 0.005417f, -0.012714f, -0.005187f, 0.003254f, 0.009120f, 0.000112f, 0.001655f, 0.016603f, -0.003406f, -0.001539f, -0.004762f, -0.000997f, 0.008074f, -0.007400f, -0.000344f, -0.010410f, -0.009641f, -0.005965f, 0.010193f, 0.014641f, -0.004826f, 0.001140f, -0.003427f, -0.009135f, -0.006833f, 0.002474f, -0.011287f, -0.002548f, -0.003623f, -0.006239f, 0.044110f, 0.026764f, 0.001428f, 0.017144f, 0.012291f, 0.004066f, 0.018823f, 0.005851f, -0.000566f, -0.005601f, -0.004962f, -0.012203f, -0.034680f, -0.002157f, 0.002783f, -0.011292f, -0.007194f, -0.000959f, 0.023284f, 0.008150f, -0.006762f, 0.000576f, 0.001071f, -0.003097f, 0.009457f, -0.001390f, -0.006806f, -0.003935f, -0.006464f, 0.004045f, -0.009218f, -0.020706f, -0.000175f, -0.010699f, -0.017627f, 0.003554f, 0.006638f, 0.010831f, 0.005286f, 0.009592f, -0.007117f, -0.017890f, -0.012507f, -0.016096f, 0.005637f, 0.015355f, 0.011787f, 0.008212f, 0.014430f, 0.000462f, 0.008709f, 0.020684f, -0.017894f, 0.003087f, -0.008544f, 0.000046f, 0.005079f, 0.006078f, 0.009158f, -0.001036f, -0.021786f, -0.016324f, 0.002538f, + -0.004831f, -0.006905f, -0.004352f, -0.005569f, -0.014797f, 0.000204f, 0.009003f, -0.002168f, 0.006414f, -0.005678f, -0.001842f, -0.002254f, 0.010200f, -0.021586f, 0.002130f, -0.016342f, 0.007016f, -0.031807f, -0.001461f, -0.010052f, -0.017334f, 0.030794f, 0.016452f, -0.009926f, -0.027485f, -0.006015f, -0.010330f, -0.022738f, 0.017875f, 0.001840f, -0.016738f, -0.005173f, 0.009000f, -0.014514f, -0.010896f, -0.007166f, -0.018658f, -0.006047f, -0.000724f, -0.013795f, -0.013745f, 0.019861f, -0.007339f, -0.004820f, -0.002020f, -0.003120f, 0.015755f, -0.016620f, -0.008522f, 0.004904f, -0.004933f, 0.001172f, -0.004205f, 0.010465f, -0.016972f, 0.007259f, -0.027015f, 0.004045f, -0.007784f, -0.009388f, 0.028179f, 0.004331f, -0.010466f, 0.006829f, 0.005911f, -0.021304f, 0.015867f, -0.002309f, -0.004817f, -0.000120f, 0.009186f, -0.002100f, 0.000597f, -0.009179f, 0.006199f, 0.009212f, 0.013042f, -0.009082f, -0.027727f, 0.021641f, -0.001711f, 0.010199f, 0.010320f, -0.003646f, 0.006465f, 0.016805f, -0.017327f, -0.041439f, -0.024776f, 0.006400f, -0.016189f, 0.002911f, -0.011998f, -0.004574f, -0.017091f, -0.009939f, + 0.007000f, 0.024973f, 0.024025f, 0.005087f, 0.016639f, -0.011130f, 0.029866f, 0.023811f, -0.019159f, -0.015171f, 0.004058f, 0.006216f, 0.025081f, 0.010604f, 0.015675f, -0.004917f, 0.005643f, -0.002274f, -0.003873f, -0.004412f, 0.023378f, 0.012077f, 0.022346f, 0.022408f, 0.003015f, -0.000109f, -0.011427f, 0.011419f, -0.002304f, -0.020252f, -0.015358f, -0.002904f, -0.012152f, -0.001297f, -0.012464f, -0.008799f, 0.005660f, -0.001832f, -0.008304f, 0.019078f, 0.019957f, -0.010914f, -0.005177f, 0.029961f, 0.010584f, -0.018396f, -0.020453f, -0.005713f, 0.006089f, 0.000339f, -0.004792f, -0.012703f, 0.010565f, 0.004912f, -0.005819f, 0.004559f, 0.001920f, -0.016034f, -0.009020f, 0.002928f, -0.008024f, -0.007156f, -0.010727f, 0.024693f, -0.020304f, -0.015496f, -0.016045f, -0.023888f, -0.020279f, -0.000315f, -0.015935f, -0.020802f, 0.005444f, -0.001931f, -0.028659f, 0.020389f, 0.003789f, -0.001922f, 0.010364f, 0.031501f, 0.030397f, 0.012867f, -0.036948f, 0.013574f, 0.009952f, -0.036524f, -0.000393f, -0.017744f, -0.008406f, 0.018492f, -0.021866f, 0.012533f, 0.000095f, -0.004012f, -0.007761f, 0.003532f, + -0.001741f, 0.006044f, -0.004151f, -0.019711f, 0.018961f, 0.008670f, 0.022686f, -0.002636f, -0.007571f, -0.011233f, 0.009205f, -0.010165f, 0.026751f, 0.005308f, 0.016069f, -0.021152f, 0.016589f, 0.000295f, 0.005860f, -0.013882f, 0.004512f, -0.016441f, -0.002581f, -0.016879f, 0.006661f, 0.010945f, -0.021964f, 0.000411f, -0.018146f, 0.007920f, 0.010477f, 0.009803f, -0.001629f, -0.031527f, -0.000200f, 0.007467f, -0.002992f, 0.012948f, -0.029985f, 0.006666f, -0.012840f, 0.002871f, -0.011143f, 0.000778f, 0.006613f, 0.043958f, 0.054456f, 0.022064f, 0.019334f, -0.031587f, 0.030448f, 0.042945f, -0.046967f, 0.005211f, 0.031377f, 0.004897f, -0.056103f, -0.006119f, -0.030182f, 0.009476f, 0.011871f, -0.014777f, -0.004996f, 0.009890f, -0.025395f, -0.002519f, -0.009553f, -0.013222f, 0.005738f, -0.020170f, 0.021939f, 0.014725f, 0.028193f, -0.014049f, 0.005211f, -0.003396f, -0.010476f, 0.034290f, 0.000076f, -0.016406f, -0.006768f, 0.007073f, -0.006672f, -0.009522f, -0.009835f, 0.017228f, 0.007423f, 0.024114f, -0.000846f, 0.008558f, 0.033155f, -0.020898f, 0.005244f, -0.014345f, 0.026581f, -0.010518f, + 0.013019f, 0.004588f, 0.000088f, -0.010193f, -0.017049f, -0.012841f, 0.006368f, 0.022562f, -0.020435f, 0.018920f, 0.024459f, 0.010974f, 0.028455f, -0.013835f, -0.009087f, 0.016828f, -0.001253f, -0.004079f, -0.022871f, -0.002507f, -0.018250f, 0.003091f, 0.028643f, 0.011249f, 0.009858f, 0.008780f}, + {-0.005177f, 0.000170f, -0.001276f, 0.001261f, -0.000706f, -0.000213f, 0.000386f, 0.000904f, -0.000173f, 0.000903f, 0.000379f, 0.000299f, -0.000045f, -0.000065f, 0.000137f, 0.000097f, -0.000456f, -0.000240f, -0.000861f, 0.000391f, -0.000269f, -0.000036f, 0.000890f, 0.000334f, 0.000117f, 0.000122f, 0.000254f, 0.000010f, -0.000152f, -0.000006f, -0.000095f, -0.000062f, -0.000264f, -0.000141f, -0.000083f, -0.000064f, 0.000048f, 0.000067f, 0.000001f, 0.000002f, 0.000001f, -0.000036f, -0.000016f, 0.000023f, 0.000083f, -0.000028f, 0.003626f, 0.001992f, 0.001004f, 0.001228f, 0.000691f, 0.001039f, 0.002102f, 0.000121f, 0.000060f, -0.000219f, -0.000519f, 0.001091f, 0.000013f, -0.000077f, 0.001158f, -0.000448f, -0.000537f, 0.000320f, 0.000116f, 0.000498f, 0.000121f, 0.000191f, 0.000523f, -0.000350f, 0.000351f, -0.000104f, -0.000077f, -0.000263f, 0.000177f, 0.000694f, 0.000368f, 0.000437f, 0.000366f, -0.000044f, 0.000285f, 0.000411f, -0.000169f, 0.000347f, -0.000583f, 0.000729f, -0.000293f, 0.000217f, 0.000039f, 0.000105f, -0.000140f, -0.000130f, 0.001821f, -0.002084f, -0.000281f, -0.000381f, + -0.000520f, 0.000341f, -0.001038f, 0.000354f, -0.000025f, 0.000475f, 0.000413f, -0.000819f, -0.000293f, 0.001257f, -0.000132f, 0.000271f, -0.000233f, 0.000549f, 0.001150f, 0.001333f, 0.000226f, 0.000577f, -0.000019f, -0.001045f, -0.000031f, 0.000118f, -0.000226f, 0.000008f, 0.000580f, -0.000598f, -0.000808f, 0.000358f, -0.000390f, -0.000357f, -0.000566f, -0.000020f, 0.000600f, 0.000155f, -0.000174f, -0.000211f, -0.000235f, 0.000002f, 0.000136f, -0.000315f, 0.000122f, -0.000360f, -0.005226f, -0.003719f, -0.001810f, -0.001370f, -0.001043f, -0.001081f, -0.000366f, -0.000799f, -0.000241f, -0.000503f, -0.001287f, 0.000246f, 0.000670f, -0.000111f, 0.000386f, -0.000253f, -0.000662f, -0.000676f, -0.001004f, -0.000349f, 0.000254f, 0.000027f, -0.000560f, 0.000382f, -0.000679f, -0.000682f, 0.000459f, -0.000003f, 0.000035f, 0.000358f, 0.000419f, 0.000107f, -0.000144f, -0.000203f, -0.000254f, 0.000138f, 0.000085f, -0.000357f, 0.000206f, -0.000709f, -0.000291f, -0.000175f, -0.000058f, -0.000505f, -0.000086f, -0.000185f, -0.007417f, -0.001016f, 0.000592f, 0.000093f, 0.000560f, 0.000041f, -0.000392f, 0.000252f, + -0.000298f, -0.000368f, -0.000649f, -0.000580f, 0.000287f, -0.000228f, 0.000492f, -0.000476f, 0.000025f, -0.000461f, 0.000157f, 0.000736f, -0.000181f, 0.000542f, 0.000048f, -0.000536f, -0.000088f, 0.000665f, 0.000360f, 0.000425f, 0.000521f, -0.000733f, 0.000497f, -0.000311f, -0.000043f, -0.000405f, -0.000168f, 0.000188f, 0.000324f, 0.000145f, -0.000157f, 0.000531f, 0.000492f, 0.000266f, -0.000150f, -0.000377f, 0.000065f, -0.000314f, 0.008753f, 0.006983f, 0.001643f, 0.003129f, 0.000744f, 0.002421f, 0.001688f, 0.000527f, 0.001699f, 0.000690f, 0.001285f, 0.000566f, -0.000482f, 0.001304f, 0.000905f, -0.000352f, -0.000130f, -0.002416f, -0.000273f, 0.000126f, 0.001462f, 0.000170f, 0.000043f, 0.000754f, 0.000045f, 0.000681f, 0.000611f, 0.000102f, -0.000066f, 0.000240f, 0.000990f, 0.000772f, 0.000632f, -0.000064f, -0.000277f, 0.000042f, 0.000448f, -0.000177f, -0.000069f, 0.000521f, 0.000152f, -0.000260f, -0.000034f, 0.000110f, -0.000536f, 0.000640f, 0.015398f, 0.005653f, 0.002716f, 0.001629f, 0.000974f, 0.001005f, 0.000931f, 0.001582f, 0.000373f, 0.002575f, 0.000339f, 0.000241f, + 0.001090f, -0.000597f, 0.000252f, -0.000265f, -0.000290f, -0.000426f, 0.001638f, 0.000912f, -0.000148f, 0.001258f, -0.000877f, -0.000221f, -0.000317f, 0.001941f, -0.000193f, 0.000696f, 0.000143f, 0.000949f, 0.000155f, -0.000287f, 0.000490f, 0.000648f, -0.000311f, 0.000227f, 0.000256f, 0.000169f, 0.000385f, -0.000135f, 0.000443f, 0.000403f, -0.001259f, 0.000265f, 0.000135f, 0.000229f, 0.005907f, -0.004367f, -0.001538f, -0.002018f, -0.001264f, -0.001197f, 0.000807f, -0.000682f, -0.001829f, -0.000452f, -0.002431f, -0.000563f, -0.001061f, -0.002319f, -0.000597f, 0.000529f, -0.001477f, -0.000487f, 0.000221f, -0.001637f, -0.000081f, 0.001895f, 0.000417f, 0.000275f, -0.000875f, 0.000039f, 0.000654f, 0.000017f, -0.000804f, -0.000841f, 0.000863f, -0.000074f, -0.001130f, 0.000108f, -0.000482f, 0.001378f, -0.000043f, 0.000622f, -0.000225f, 0.001192f, -0.000785f, 0.000479f, 0.000157f, 0.000281f, 0.000013f, 0.000307f, -0.000034f, -0.000379f, 0.000725f, -0.016236f, -0.009184f, -0.001875f, -0.002289f, -0.001570f, -0.002001f, -0.002821f, -0.000259f, 0.000079f, -0.000828f, 0.000710f, -0.000768f, 0.000123f, + -0.000079f, -0.000921f, -0.001021f, -0.001608f, -0.000563f, 0.001600f, -0.001512f, -0.000161f, 0.001442f, 0.000930f, -0.000228f, 0.000542f, -0.000211f, -0.001551f, -0.000779f, -0.001270f, -0.000436f, 0.000076f, -0.000322f, 0.000762f, -0.001372f, -0.001066f, -0.000043f, -0.001312f, -0.001030f, -0.000921f, -0.001093f, 0.001175f, -0.000338f, -0.001380f, -0.000446f, 0.000411f, 0.000440f, -0.000448f, -0.000714f, -0.000295f, -0.009960f, 0.005717f, 0.002142f, 0.000935f, 0.000979f, 0.000870f, 0.000435f, -0.001070f, 0.000281f, -0.000639f, -0.000184f, 0.001777f, 0.001092f, 0.001529f, 0.001574f, 0.001615f, -0.001353f, 0.000678f, 0.001748f, 0.000273f, 0.001522f, -0.001807f, 0.000340f, -0.000464f, -0.000122f, -0.000684f, 0.000643f, -0.000245f, 0.000026f, 0.001573f, -0.001637f, -0.000508f, 0.000622f, 0.000899f, -0.000429f, 0.000746f, -0.000650f, -0.001091f, 0.001274f, -0.000655f, -0.000058f, -0.000375f, 0.000478f, -0.000182f, 0.000584f, -0.000655f, -0.000247f, -0.000596f, -0.000164f, -0.000525f, 0.000945f, 0.000066f, 0.000300f, 0.014813f, 0.006070f, 0.001282f, 0.003380f, 0.002644f, 0.000514f, 0.001181f, + 0.003196f, 0.001456f, -0.000078f, 0.000682f, 0.000396f, -0.000474f, 0.000913f, 0.002744f, 0.000642f, 0.003275f, 0.001590f, -0.002706f, 0.000503f, 0.000091f, 0.000553f, 0.002415f, 0.001360f, 0.000969f, -0.000218f, -0.000385f, -0.000333f, -0.000417f, 0.000372f, -0.000539f, 0.000801f, 0.000234f, 0.001092f, -0.000233f, -0.000288f, 0.000393f, 0.000890f, 0.000478f, -0.000105f, -0.001198f, -0.000508f, -0.000671f, 0.001051f, 0.000754f, 0.001187f, 0.000648f, 0.000171f, 0.000157f, 0.001013f, 0.000794f, 0.000662f, 0.000093f, 0.016550f, 0.004748f, 0.002066f, 0.002587f, 0.000422f, 0.002499f, -0.000410f, -0.000959f, -0.000059f, 0.000638f, 0.000260f, -0.000082f, 0.000468f, 0.002545f, -0.000383f, -0.001601f, -0.001126f, 0.001229f, 0.000306f, 0.001433f, 0.002272f, 0.001992f, -0.000148f, 0.001325f, -0.001464f, 0.000152f, -0.001141f, 0.001527f, 0.000865f, -0.001741f, 0.000994f, -0.000833f, 0.000104f, -0.000675f, 0.001005f, -0.000651f, 0.001265f, 0.001014f, 0.000808f, 0.001648f, 0.000520f, -0.000045f, -0.000430f, -0.000007f, 0.000200f, 0.001824f, -0.000076f, 0.000036f, 0.000104f, 0.000876f, + 0.000565f, 0.000055f, -0.000257f, 0.002272f, -0.007029f, -0.002874f, -0.001128f, -0.001624f, -0.000718f, -0.000619f, 0.000123f, 0.000998f, -0.001014f, -0.001915f, 0.001794f, -0.002299f, -0.002165f, -0.000410f, -0.000490f, 0.000985f, -0.000603f, -0.000057f, -0.002091f, -0.001268f, -0.002527f, -0.002804f, -0.003091f, -0.000441f, 0.000741f, -0.002182f, -0.000567f, 0.000301f, 0.000251f, 0.000085f, -0.000262f, -0.002163f, -0.001321f, 0.000927f, 0.000381f, -0.000512f, 0.002058f, -0.001375f, -0.000593f, 0.000498f, 0.001270f, 0.001010f, -0.000156f, -0.000320f, 0.000513f, 0.000290f, -0.001299f, 0.000109f, -0.000753f, -0.000365f, 0.000126f, -0.000549f, 0.000098f, 0.000886f, -0.017970f, -0.005690f, -0.003375f, -0.001435f, -0.002421f, -0.001979f, -0.000549f, -0.001420f, -0.000555f, -0.001887f, -0.002488f, -0.001824f, -0.000589f, -0.003748f, -0.000866f, -0.001541f, -0.002232f, -0.000305f, 0.000414f, 0.001186f, -0.001295f, -0.001887f, -0.000662f, 0.001499f, 0.001985f, 0.002377f, 0.001315f, -0.000095f, -0.001161f, -0.000569f, 0.000041f, -0.001494f, 0.000640f, 0.000964f, 0.001282f, -0.000883f, -0.000701f, -0.000712f, + -0.000307f, -0.000320f, -0.000483f, 0.000939f, -0.000253f, 0.000596f, -0.001212f, -0.002187f, -0.000873f, -0.000117f, 0.001111f, -0.001899f, 0.000649f, -0.000931f, 0.000907f, -0.000948f, 0.000554f, -0.010334f, 0.002754f, 0.000766f, 0.000011f, 0.001812f, -0.001736f, 0.000466f, -0.003994f, -0.001298f, 0.001392f, 0.000987f, 0.002579f, -0.000186f, 0.002814f, -0.001637f, -0.000410f, 0.001348f, -0.002442f, -0.000895f, -0.001435f, 0.002745f, -0.000169f, -0.002267f, 0.001149f, 0.002190f, -0.001937f, -0.001477f, -0.001743f, 0.000512f, -0.000401f, 0.000949f, -0.000662f, -0.000550f, -0.000461f, -0.001056f, 0.001556f, -0.001239f, 0.000310f, 0.001021f, -0.000116f, 0.001179f, -0.000667f, 0.002572f, 0.000398f, -0.000249f, -0.000883f, -0.000882f, 0.000055f, -0.001016f, -0.001234f, -0.000767f, 0.000220f, 0.000888f, -0.000100f, 0.000254f, -0.001068f, -0.001080f, -0.001530f, -0.000604f, -0.000467f, -0.000392f, 0.008980f, 0.012785f, 0.004458f, 0.004411f, 0.006110f, 0.004354f, -0.000590f, 0.000839f, -0.000453f, 0.000785f, 0.000767f, 0.001083f, 0.000842f, 0.002155f, 0.000854f, 0.001336f, 0.000440f, 0.004287f, + 0.001022f, 0.002082f, 0.001262f, 0.001074f, 0.003412f, 0.000766f, 0.004271f, 0.002164f, -0.000871f, 0.002968f, 0.000783f, 0.001437f, 0.003003f, 0.000563f, 0.001780f, -0.000969f, -0.000331f, 0.000793f, 0.001332f, -0.001900f, 0.001547f, -0.001127f, -0.002034f, -0.001246f, 0.001620f, 0.002415f, 0.001843f, -0.000436f, 0.000563f, 0.000496f, 0.000878f, 0.001224f, 0.000694f, 0.001390f, 0.000833f, -0.001509f, -0.000110f, 0.000937f, 0.001356f, 0.000320f, 0.000383f, 0.000137f, -0.001509f, 0.030699f, 0.002446f, -0.001685f, 0.002599f, -0.001794f, 0.003607f, 0.000932f, 0.003782f, -0.001927f, 0.000468f, -0.000102f, 0.002321f, -0.004007f, 0.000884f, 0.002381f, -0.000405f, -0.000693f, 0.003341f, 0.004939f, -0.001982f, -0.001291f, 0.000741f, 0.002383f, -0.000990f, 0.001508f, 0.000207f, -0.001747f, -0.001234f, -0.001416f, 0.001196f, 0.001422f, 0.001898f, -0.001391f, 0.002081f, -0.001378f, 0.002025f, 0.001598f, -0.000312f, -0.001249f, 0.000779f, -0.001938f, -0.002453f, 0.000466f, -0.001638f, 0.000617f, 0.000308f, 0.000176f, 0.001226f, -0.000123f, 0.001461f, -0.000014f, -0.001627f, 0.000593f, + -0.000331f, 0.000729f, -0.001156f, -0.000362f, 0.000324f, 0.000777f, -0.000578f, -0.002329f, -0.010514f, -0.010197f, -0.002314f, 0.000801f, -0.000454f, -0.001529f, -0.001663f, -0.002267f, -0.000607f, 0.001703f, -0.000547f, -0.000558f, -0.002344f, 0.002495f, -0.000138f, -0.002013f, -0.001746f, 0.004315f, -0.003872f, 0.000429f, 0.002858f, -0.000305f, 0.000487f, -0.003714f, 0.001217f, -0.001571f, 0.000921f, -0.002566f, -0.001676f, 0.000471f, 0.000724f, -0.001171f, -0.001330f, 0.000179f, -0.000521f, 0.000240f, -0.001552f, -0.000845f, 0.001715f, -0.000121f, -0.000731f, -0.000407f, 0.002176f, 0.001007f, -0.001148f, -0.001770f, -0.001572f, 0.000631f, -0.000182f, -0.000694f, 0.000253f, 0.000439f, -0.000822f, 0.002613f, 0.001451f, -0.000163f, -0.000106f, -0.000550f, 0.000398f, -0.000623f, -0.000633f, -0.000639f, -0.000043f, -0.001298f, -0.001020f, -0.003987f, -0.003650f, -0.004107f, -0.003159f, -0.002096f, -0.001594f, 0.000450f, -0.000155f, -0.000950f, -0.000537f, 0.001128f, 0.003553f, -0.003076f, 0.001495f, -0.000952f, -0.002123f, 0.002702f, -0.000328f, 0.000632f, 0.003290f, 0.000621f, 0.001326f, -0.002008f, + -0.000607f, -0.006075f, -0.000808f, 0.001299f, 0.000668f, 0.000663f, 0.000531f, 0.001000f, -0.001471f, -0.001728f, 0.001324f, -0.000032f, 0.001247f, 0.000807f, -0.001728f, 0.001482f, -0.000227f, -0.004262f, -0.003709f, -0.000473f, -0.003514f, 0.000581f, 0.000981f, -0.000098f, -0.000968f, -0.000257f, 0.000066f, -0.000873f, -0.000405f, -0.000062f, -0.000683f, 0.001201f, 0.000197f, 0.000488f, -0.000702f, -0.000309f, 0.001602f, 0.000577f, -0.001182f, 0.001303f, -0.000358f, -0.000654f, -0.001870f, 0.000174f, -0.020039f, -0.004591f, 0.000316f, -0.004007f, 0.001631f, 0.000381f, 0.004833f, -0.002269f, 0.000308f, -0.001340f, 0.003247f, -0.006595f, -0.006290f, 0.002644f, -0.003037f, 0.004731f, 0.001740f, -0.003829f, -0.006662f, -0.000167f, -0.001869f, -0.003257f, -0.001307f, 0.000751f, 0.001105f, -0.001578f, 0.005745f, 0.000296f, -0.000546f, -0.002403f, 0.001971f, 0.002159f, 0.002358f, 0.002502f, -0.000288f, -0.001493f, -0.000540f, 0.001478f, -0.000094f, 0.001786f, -0.001662f, -0.000667f, -0.000557f, 0.002072f, 0.001688f, -0.001819f, 0.002381f, -0.001314f, -0.001621f, 0.000204f, -0.000725f, -0.001558f, + 0.001631f, -0.001843f, -0.000225f, 0.000478f, -0.000427f, -0.000742f, 0.000442f, 0.001562f, -0.000941f, 0.001502f, -0.001210f, 0.001019f, -0.000665f, -0.000739f, -0.000466f, 0.018432f, 0.016125f, 0.003415f, 0.004281f, -0.000827f, 0.005240f, 0.004265f, 0.005277f, -0.000190f, 0.002093f, 0.001310f, -0.005038f, -0.004202f, 0.002275f, 0.000476f, -0.003624f, -0.003759f, -0.002161f, 0.000261f, 0.002094f, 0.000644f, 0.004999f, 0.004627f, 0.001968f, -0.001055f, -0.001175f, 0.003063f, 0.002803f, 0.000233f, 0.002447f, -0.000806f, 0.003143f, 0.000181f, -0.000751f, 0.004452f, 0.002256f, 0.003649f, 0.002295f, 0.000797f, 0.002497f, 0.001281f, 0.000823f, 0.002362f, -0.001368f, 0.000462f, 0.003081f, -0.000048f, -0.002102f, 0.001854f, 0.001784f, 0.001311f, -0.001503f, -0.000058f, 0.001757f, 0.002740f, -0.001466f, 0.003316f, 0.003737f, -0.000694f, -0.002155f, 0.000322f, 0.000789f, 0.000559f, 0.001585f, -0.000045f, 0.000506f, 0.001254f, 0.022212f, 0.001924f, -0.000735f, 0.001681f, 0.000974f, -0.003553f, 0.000855f, 0.001102f, -0.000099f, 0.002484f, 0.003309f, 0.005209f, -0.002378f, -0.002200f, + -0.003707f, -0.002810f, 0.003192f, -0.000151f, 0.004654f, -0.001036f, -0.001254f, 0.002069f, 0.004031f, 0.001749f, -0.004249f, 0.003392f, -0.001311f, 0.002734f, -0.001469f, 0.002146f, -0.002598f, 0.001639f, -0.000299f, 0.002498f, 0.000193f, 0.001468f, 0.000638f, -0.004107f, -0.002412f, -0.000292f, -0.000948f, -0.000296f, -0.001408f, 0.002127f, 0.000675f, 0.004433f, -0.000767f, -0.002876f, -0.001827f, -0.000208f, 0.000163f, -0.003215f, 0.001017f, -0.001039f, -0.000245f, -0.000239f, -0.002027f, 0.001834f, 0.003259f, -0.000985f, 0.001627f, 0.000468f, -0.001989f, -0.000118f, -0.001901f, -0.001440f, 0.000190f, 0.003015f, 0.000306f, -0.001220f, -0.002998f, 0.000875f, -0.001105f, 0.006445f, -0.001545f, -0.006154f, -0.004167f, -0.005549f, 0.005123f, -0.004100f, 0.001129f, 0.006265f, -0.000285f, -0.006364f, 0.000427f, -0.006681f, 0.005554f, -0.001941f, 0.005534f, 0.000033f, -0.002122f, 0.004767f, 0.000167f, 0.000988f, -0.003600f, -0.004536f, -0.000741f, 0.001592f, 0.000962f, -0.000889f, -0.002105f, 0.002104f, -0.000660f, 0.001570f, 0.002410f, 0.002938f, 0.001347f, 0.001622f, -0.005988f, 0.000490f, + -0.001370f, -0.002051f, 0.000802f, 0.002950f, -0.002511f, -0.004600f, -0.002042f, 0.001330f, 0.000507f, -0.004047f, -0.001660f, 0.001862f, 0.002734f, -0.002443f, -0.001593f, -0.001888f, 0.002799f, 0.003709f, 0.000741f, -0.001287f, 0.000410f, 0.002643f, -0.001295f, -0.000144f, -0.022628f, -0.022692f, -0.003808f, -0.011061f, -0.007047f, -0.003845f, -0.006310f, -0.000628f, 0.004579f, -0.010095f, 0.003636f, -0.001959f, 0.003312f, 0.000727f, 0.001996f, -0.004099f, 0.000987f, -0.000386f, -0.002299f, -0.009229f, -0.001996f, -0.004723f, -0.006046f, -0.000464f, 0.001428f, 0.000480f, -0.002104f, 0.001466f, -0.001998f, -0.000399f, 0.004911f, 0.000070f, -0.001726f, 0.000492f, 0.003195f, 0.004566f, 0.002874f, 0.000194f, 0.002286f, 0.002906f, -0.000320f, 0.000229f, -0.004924f, 0.001999f, -0.004075f, 0.000968f, 0.003837f, -0.002453f, -0.004919f, 0.001636f, -0.002776f, -0.002380f, 0.000503f, 0.000202f, -0.002345f, 0.001372f, -0.000580f, 0.005511f, 0.002923f, 0.001873f, 0.000625f, 0.002201f, -0.000213f, 0.000863f, -0.002088f, -0.003433f, -0.000628f, -0.013188f, 0.024667f, 0.019702f, 0.001015f, 0.004151f, + 0.001370f, 0.004503f, 0.006389f, 0.001680f, 0.006193f, 0.001318f, -0.006976f, 0.004649f, 0.005177f, 0.001753f, 0.001382f, 0.004188f, 0.005087f, -0.005194f, 0.004197f, -0.002684f, 0.003652f, 0.000706f, -0.003490f, 0.000740f, 0.004152f, 0.002610f, -0.005508f, 0.002637f, -0.002412f, 0.007707f, -0.000909f, 0.001859f, -0.001446f, -0.004846f, 0.004679f, 0.004988f, 0.002069f, 0.001307f, -0.000507f, 0.001816f, 0.004966f, 0.001256f, 0.003463f, 0.000494f, 0.002311f, 0.001437f, -0.000655f, 0.002847f, -0.003754f, -0.005361f, -0.002672f, -0.004102f, -0.003783f, -0.001805f, -0.003883f, 0.004736f, 0.003064f, 0.000355f, -0.001195f, -0.001781f, -0.000907f, -0.000218f, -0.000313f, 0.000122f, 0.000312f, 0.000863f, 0.000196f, -0.000266f, 0.032967f, -0.012699f, -0.007415f, 0.001552f, -0.000419f, -0.001307f, -0.009595f, -0.003609f, 0.002016f, -0.000108f, -0.001672f, -0.001471f, 0.001076f, -0.007267f, -0.002522f, 0.004289f, 0.007057f, 0.004377f, 0.002971f, -0.002038f, -0.002606f, -0.004045f, 0.004752f, -0.006875f, -0.001619f, 0.002119f, -0.005113f, 0.001888f, 0.001676f, 0.006134f, -0.009243f, -0.000418f, + -0.000530f, -0.001508f, 0.001981f, -0.007890f, -0.004667f, 0.009373f, 0.005571f, 0.001565f, -0.001940f, 0.005727f, -0.001974f, -0.000378f, 0.000611f, 0.004547f, 0.002034f, -0.002293f, 0.000150f, -0.001207f, 0.003053f, -0.005220f, -0.002910f, -0.003037f, -0.003949f, 0.007094f, 0.001432f, 0.001158f, -0.003425f, 0.000066f, -0.001453f, -0.000879f, -0.003581f, 0.000822f, -0.003423f, 0.000191f, 0.000572f, 0.002932f, -0.004967f, -0.002802f, -0.004439f, -0.000887f, 0.009745f, 0.022939f, 0.003588f, 0.008844f, 0.007700f, 0.007684f, 0.002359f, 0.005780f, 0.003309f, -0.001490f, -0.004790f, -0.002795f, -0.001503f, 0.006594f, -0.005683f, -0.005965f, -0.000592f, -0.000139f, -0.002675f, -0.004536f, 0.013634f, 0.013114f, 0.009583f, 0.000617f, -0.005763f, 0.001126f, 0.000734f, -0.002644f, 0.002983f, 0.002173f, 0.005373f, 0.000785f, 0.002070f, -0.000129f, -0.004049f, 0.006454f, 0.005020f, 0.003914f, -0.001128f, -0.004872f, 0.000077f, -0.000247f, -0.001636f, -0.010092f, 0.007127f, -0.004523f, 0.008248f, 0.000626f, 0.004335f, -0.000834f, 0.004797f, 0.007846f, 0.001254f, -0.003339f, -0.000557f, 0.001561f, + -0.002851f, 0.001505f, -0.001314f, -0.003117f, -0.002137f, 0.001229f, -0.001162f, 0.003390f, 0.000751f, -0.005298f, -0.000077f, -0.000580f, -0.006342f, -0.001209f, 0.000682f, -0.002061f, 0.002231f, -0.023785f, -0.003316f, -0.014768f, 0.000033f, 0.002778f, -0.005195f, -0.008568f, -0.010217f, -0.009407f, -0.005788f, -0.007639f, -0.002033f, -0.000364f, -0.002134f, 0.002675f, -0.001669f, 0.000682f, 0.006014f, 0.002928f, -0.000712f, 0.014671f, -0.003284f, 0.003089f, -0.002218f, 0.001407f, 0.002008f, 0.000967f, -0.000905f, 0.002329f, 0.006698f, 0.002249f, 0.002320f, 0.000973f, 0.002636f, 0.005948f, 0.007823f, 0.002706f, 0.009513f, -0.002335f, -0.008325f, 0.008582f, -0.002706f, -0.001510f, -0.001736f, 0.004972f, 0.007273f, 0.005781f, -0.000183f, -0.001629f, -0.004225f, -0.010398f, 0.006552f, 0.007770f, 0.005272f, -0.006071f, 0.003850f, 0.001319f, -0.000644f, 0.006393f, 0.001033f, 0.004424f, -0.003359f, 0.002364f, -0.004178f, 0.000001f, 0.003711f, -0.000627f, 0.002826f, -0.000101f, -0.001437f, -0.000974f, -0.041652f, -0.019023f, 0.008754f, -0.001856f, -0.001202f, 0.001270f, -0.005010f, -0.004824f, + -0.001337f, -0.002295f, -0.007092f, 0.004963f, 0.000811f, 0.010735f, -0.005871f, -0.005465f, -0.008702f, -0.005218f, -0.008965f, 0.000545f, 0.003633f, -0.013970f, 0.009140f, 0.007438f, -0.000828f, 0.001324f, 0.006056f, 0.000660f, 0.005366f, -0.010627f, -0.010218f, -0.006018f, -0.006599f, -0.005492f, 0.017306f, 0.005360f, -0.003448f, -0.006290f, -0.008406f, 0.003951f, 0.002654f, -0.004311f, 0.003719f, 0.003182f, -0.005814f, 0.000406f, 0.001712f, 0.004674f, -0.005356f, 0.013852f, -0.005777f, -0.005050f, 0.002561f, -0.001658f, 0.000310f, -0.004361f, -0.001192f, 0.000305f, 0.009320f, -0.002886f, 0.013265f, 0.002629f, 0.001293f, 0.001345f, 0.003907f, -0.003915f, -0.000877f, -0.005098f, -0.003551f, -0.003873f, 0.000564f, 0.006980f, -0.003875f, 0.006596f, 0.021179f, 0.010854f, 0.006749f, 0.004543f, -0.007471f, 0.000693f, -0.006063f, 0.009341f, -0.001072f, -0.001340f, 0.003137f, 0.001970f, 0.002110f, -0.000400f, 0.003226f, 0.001067f, 0.003397f, -0.003039f, 0.009081f, 0.001080f, -0.000972f, 0.027416f, 0.001354f, -0.002301f, -0.007228f, 0.003899f, -0.006749f, 0.005933f, 0.014671f, -0.001409f, + 0.003431f, 0.003403f, -0.007876f, -0.008839f, 0.000016f, -0.000117f, 0.006275f, -0.004551f, -0.000035f, -0.000790f, 0.004524f, 0.004596f, 0.007975f, 0.002732f, 0.002551f, 0.003026f, 0.000012f, 0.005033f, 0.002192f, -0.010506f, 0.001782f, -0.005661f, -0.013293f, -0.001623f, 0.003227f, -0.000469f, 0.000660f, -0.002283f, -0.000187f, -0.001017f, -0.000521f, 0.000985f, -0.000186f, 0.005197f, -0.004007f, -0.001278f, 0.000647f, 0.000452f, -0.000340f, -0.003107f, 0.003550f, 0.005983f, 0.030240f, -0.008258f, -0.004224f, -0.007630f, 0.014818f, 0.006529f, 0.000485f, 0.003943f, -0.003091f, -0.002875f, 0.004685f, 0.001278f, -0.006236f, 0.002169f, -0.007968f, -0.004645f, -0.000471f, -0.006478f, 0.000154f, 0.003125f, -0.006185f, -0.008651f, 0.000057f, 0.001266f, 0.005528f, 0.011221f, 0.006444f, -0.004147f, -0.000929f, 0.007255f, 0.011010f, -0.011670f, 0.003826f, -0.001574f, -0.001075f, -0.004911f, -0.008847f, 0.001441f, 0.006273f, 0.002866f, 0.002315f, 0.005287f, -0.001391f, 0.003791f, -0.001618f, 0.002935f, 0.003683f, -0.007514f, -0.006729f, 0.013681f, -0.001951f, 0.000395f, -0.003851f, 0.005955f, + 0.015750f, 0.004995f, 0.001567f, 0.006246f, -0.005351f, -0.004113f, -0.000962f, -0.002834f, -0.010536f, 0.007054f, -0.000189f, -0.003837f, 0.001641f, 0.002411f, -0.003699f, -0.003455f, 0.005097f, -0.000973f, -0.008244f, 0.004657f, 0.002426f, 0.026285f, 0.025309f, -0.008391f, 0.007046f, 0.001842f, 0.005512f, 0.013235f, -0.001476f, -0.007271f, -0.002288f, 0.025769f, -0.014452f, -0.003035f, -0.007083f, -0.006068f, -0.011693f, 0.012744f, -0.003606f, -0.017960f, -0.013041f, -0.016418f, -0.006056f, 0.014005f, -0.001572f, 0.006453f, -0.002405f, -0.007600f, 0.006485f, 0.001576f, 0.008174f, -0.008086f, 0.007277f, 0.005389f, 0.003035f, 0.002993f, -0.012625f, 0.003334f, -0.010534f, 0.008641f, 0.019052f, 0.005159f, 0.005766f, -0.012426f, 0.017048f, 0.004193f, -0.001726f, -0.002993f, -0.003417f, 0.004956f, 0.008518f, 0.001692f, -0.001970f, -0.000875f, 0.002295f, -0.004496f, -0.002957f, -0.004345f, -0.003089f, -0.000717f, 0.006175f, -0.004565f, 0.009236f, 0.002951f, 0.005607f, -0.002326f, -0.013444f, -0.009330f, 0.003269f, 0.000535f, -0.004139f, 0.004633f, -0.000444f, -0.000748f, 0.002441f, -0.002055f, + -0.025350f, -0.014416f, 0.003179f, 0.002422f, -0.000512f, -0.010467f, 0.006149f, 0.004186f, -0.006934f, -0.017386f, 0.014329f, 0.004157f, 0.005159f, 0.008874f, 0.004628f, -0.001731f, 0.002448f, -0.003869f, 0.011955f, -0.009441f, -0.017689f, 0.000135f, -0.001028f, -0.007560f, -0.019156f, 0.001373f, -0.004016f, -0.009192f, -0.005593f, -0.002289f, 0.004205f, 0.001593f, 0.006966f, 0.014910f, -0.005950f, -0.010619f, 0.003676f, -0.000369f, 0.000203f, 0.006758f, -0.008105f, -0.006423f, -0.000884f, 0.007871f, -0.008706f, 0.008534f, -0.002350f, 0.015431f, -0.001787f, -0.003210f, -0.001391f, 0.001379f, 0.003175f, -0.014920f, 0.002722f, -0.012669f, 0.014822f, 0.001537f, 0.009506f, 0.006930f, -0.005001f, 0.000902f, -0.006744f, 0.005283f, -0.000171f, 0.004637f, 0.003380f, -0.007792f, -0.000727f, -0.007322f, -0.003311f, 0.006357f, -0.001948f, -0.003346f, 0.003718f, -0.033105f, -0.017352f, -0.004392f, -0.005309f, 0.000348f, 0.002160f, -0.010603f, -0.010097f, 0.004587f, -0.011558f, 0.004579f, -0.012683f, -0.002102f, -0.012320f, -0.011680f, 0.012331f, 0.007130f, 0.000569f, 0.000561f, -0.012940f, -0.017967f, + 0.008128f, -0.023998f, 0.007665f, 0.001759f, -0.009686f, 0.002716f, -0.006609f, 0.003320f, 0.016107f, -0.007524f, -0.002533f, -0.017700f, 0.013399f, -0.003059f, 0.005214f, -0.005347f, -0.003874f, -0.000183f, -0.002366f, 0.010249f, 0.001389f, 0.019865f, 0.020548f, -0.000965f, -0.001376f, -0.005983f, -0.000903f, -0.001493f, 0.001721f, 0.008459f, -0.000897f, 0.017468f, 0.002754f, -0.004601f, 0.000737f, 0.004725f, -0.001774f, 0.000261f, -0.001404f, 0.013635f, -0.011079f, -0.016989f, -0.009561f, 0.001700f, 0.002274f, 0.004641f, 0.007108f, 0.000536f, 0.001715f, -0.003163f, -0.009760f, -0.008693f, -0.010705f, 0.002387f, -0.003782f, 0.044391f, 0.019234f, 0.013954f, 0.005212f, -0.004640f, -0.008432f, -0.013372f, 0.007176f, 0.013518f, 0.004988f, -0.005819f, 0.015075f, 0.009082f, 0.015060f, 0.001382f, -0.011725f, -0.004044f, 0.022827f, -0.024039f, -0.005514f, 0.016404f, -0.010062f, -0.005054f, 0.037135f, -0.004437f, 0.010219f, 0.034440f, -0.006044f, -0.001970f, -0.001575f, 0.004516f, -0.002485f, 0.015075f, 0.008920f, 0.012467f, -0.009260f, -0.019921f, 0.007430f, -0.007708f, 0.009042f, -0.003531f, + 0.002852f, 0.014631f, 0.007647f, 0.001091f, 0.005625f, 0.003166f, 0.005372f, 0.014156f, 0.007100f, -0.001227f, 0.012759f, 0.005929f, 0.001149f, 0.003488f, 0.024098f, 0.015221f, -0.000794f, 0.013871f, -0.006834f, 0.017480f, -0.005150f, 0.004140f, -0.005777f, 0.002455f, 0.008890f, -0.004993f, -0.001371f, -0.000428f, 0.002385f, 0.001057f, -0.007531f, 0.001164f, -0.006702f, 0.056387f, 0.026062f, -0.011906f, 0.005358f, 0.028936f, 0.001083f, 0.020781f, -0.005837f, 0.007970f, 0.018051f, -0.013723f, 0.001991f, 0.030409f, 0.028067f, 0.022120f, 0.008338f, 0.018937f, 0.003631f, 0.016547f, 0.006288f, 0.004712f, -0.010245f, -0.012881f, -0.017358f, -0.035530f, 0.011545f, -0.000011f, -0.009179f, -0.003786f, 0.012494f, -0.008407f, -0.000864f, 0.000943f, 0.007168f, -0.031534f, -0.004697f, 0.022145f, 0.017712f, -0.006708f, 0.011811f, 0.009381f, 0.006684f, -0.004238f, -0.006911f, -0.003563f, -0.004547f, -0.003571f, -0.011176f, -0.010182f, 0.008279f, -0.019797f, 0.006729f, 0.015490f, -0.004401f, -0.011753f, -0.017360f, 0.016181f, -0.000195f, -0.008772f, -0.005142f, -0.004213f, -0.005719f, 0.003113f, + -0.002433f, -0.006535f, 0.006699f, 0.025457f, -0.012455f, -0.008103f, 0.003814f, -0.005343f, 0.006585f, -0.000071f, 0.014120f, 0.002268f, 0.001338f, -0.022151f, -0.006566f, -0.026693f, -0.006182f, -0.026686f, 0.012629f, -0.025424f, 0.013480f, -0.004209f, -0.015213f, -0.004265f, -0.007316f, 0.031631f, 0.004506f, -0.022669f, 0.000064f, -0.014739f, -0.012168f, 0.015667f, -0.017861f, -0.015965f, -0.018636f, 0.027574f, -0.004108f, 0.018254f, -0.028306f, -0.014706f, 0.010650f, -0.012844f, 0.010126f, 0.030468f, 0.019456f, 0.018898f, 0.002737f, -0.003095f, -0.015213f, -0.020819f, -0.001624f, 0.004765f, -0.019916f, 0.000526f, -0.011964f, 0.005707f, 0.008021f, -0.022108f, -0.019413f, -0.034701f, -0.006016f, 0.002469f, -0.015547f, -0.021441f, 0.020586f, 0.001149f, 0.021144f, 0.021426f, -0.003270f, -0.002958f, -0.009339f, 0.012386f, 0.009995f, 0.001608f, 0.004579f, -0.001670f, -0.001804f, 0.010519f, -0.003474f, -0.012075f, -0.010109f, -0.015176f, -0.013635f, -0.004464f, -0.001304f, -0.001557f, -0.020080f, -0.039093f, -0.005854f, 0.002591f, -0.002798f, -0.000744f, 0.011100f, -0.009304f, 0.009937f, 0.007901f, + -0.005354f, 0.010973f, -0.015745f, 0.019725f, 0.014797f, -0.000183f, -0.014474f, 0.000312f, 0.010697f, -0.045706f, 0.009924f, 0.017313f, -0.031446f, 0.012227f, -0.015808f, -0.024519f, -0.020844f, 0.009875f, -0.004772f, -0.034477f, 0.018546f, 0.008544f, -0.019677f, -0.034925f, 0.007400f, 0.002861f, -0.010107f, -0.003620f, -0.016850f, 0.015147f, 0.014018f, 0.022546f, -0.018519f, 0.001829f, -0.024775f, -0.010873f, 0.004851f, -0.017525f, 0.007204f, -0.003411f, -0.012220f, -0.020534f, -0.020162f, 0.028646f, -0.019882f, -0.011190f, -0.007215f, -0.000380f, 0.014280f, 0.006495f, 0.010520f, -0.001703f, 0.012228f, -0.005884f, 0.002283f, -0.007034f, -0.012122f, 0.000320f, 0.027142f, 0.001851f, 0.000966f, -0.002602f, -0.016925f, 0.008460f, 0.018289f, 0.015625f, -0.026039f, -0.012934f, -0.027466f, 0.008239f, -0.005366f, 0.011254f, -0.007918f, 0.005640f, 0.008201f, -0.008413f, -0.015945f, 0.023481f, -0.006610f, -0.009626f, 0.025999f, -0.004895f, -0.006807f, 0.030988f, -0.018201f, 0.005056f, 0.006831f, 0.002951f, -0.027429f, 0.000670f, -0.004531f, -0.015536f, 0.008592f, -0.012080f, 0.016432f, -0.002421f, + 0.018358f, -0.020195f, 0.012285f, -0.036205f, -0.000230f, -0.019486f, 0.021761f, -0.002862f, 0.002417f, -0.003265f, -0.021068f, -0.000886f, 0.017137f, 0.047554f, 0.002807f, 0.003558f, 0.009315f, 0.016659f, -0.003390f, -0.003905f, 0.000798f, -0.000180f, 0.040620f, -0.003109f, 0.005685f, 0.017226f, -0.016770f, -0.026851f, -0.000591f, -0.028399f, -0.004244f, -0.014234f, -0.011375f, -0.005117f, -0.012932f, 0.007654f, 0.009595f, -0.016141f, 0.020769f, 0.018611f, -0.003081f, -0.003444f, -0.017888f, 0.013329f, 0.004146f, 0.044256f, 0.048210f, 0.000359f, -0.014792f, -0.011865f, 0.040392f, -0.026530f, -0.030252f, 0.031509f, -0.028569f, 0.018427f, 0.005621f, 0.025515f, 0.023514f, 0.015908f, 0.002584f, -0.016001f, -0.013823f, 0.033133f, -0.013996f, -0.001348f, 0.008121f, 0.028260f, 0.040839f, -0.001144f, 0.027926f, -0.022702f, -0.023750f, 0.002818f, -0.008721f, 0.013302f, 0.008430f, -0.020183f, 0.002868f, 0.013112f, 0.033640f, 0.011641f, 0.013855f, 0.012837f, 0.015118f, 0.004113f, -0.001054f, 0.021560f, 0.003879f, 0.017326f, 0.027403f, 0.006026f, -0.011061f, -0.009150f, 0.024733f, 0.006850f, + 0.050578f, 0.012222f, 0.020049f, -0.020057f, -0.032135f, -0.002553f, -0.037541f, -0.023567f, -0.008392f, -0.012215f, 0.001644f, -0.001142f, 0.000540f, 0.001404f, -0.027979f, -0.022362f, -0.012091f, -0.022963f, 0.009075f, 0.010977f, -0.007069f, -0.000183f, -0.022228f, -0.001348f, 0.006548f, -0.003034f} +}; + diff --git a/lib_rend/ivas_rom_binaural_crend_head.h b/lib_rend/ivas_rom_binaural_crend_head.h new file mode 100644 index 0000000000..af012e7fa6 --- /dev/null +++ b/lib_rend/ivas_rom_binaural_crend_head.h @@ -0,0 +1,187 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/* clang-format off */ + +/*------------------------------------------------------------------------- + * Binaural rendering related ROM tables + *------------------------------------------------------------------------*/ + +/* Binaural rendering data set based on HRIRs */ +/* Tables generated by the exe at "scripts/binauralRenderer_interface/generate_cren_ivas_tables*.* */ +/* Can be replaced by your own generated HRIR or BRIRI tables */ + + + +#ifndef _IVAS_ROM_BINAURAL_CREND_HEAD_ +#define _IVAS_ROM_BINAURAL_CREND_HEAD_ + +#include <stdint.h> +#include "cnst.h" +#include "ivas_cnst.h" + + +/********************** Sample Rate = 48000 **********************/ + +extern float CRendBin_Combined_HRIR_latency_s_48kHz; +extern int16_t CRendBin_Combined_HRIR_max_num_iterations_48kHz; +extern uint16_t CRendBin_Combined_HRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_48kHz; +extern float CRendBin_Combined_HRIR_inv_diffuse_weight_48kHz[15]; +extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern float CRendBin_Combined_HRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][240]; +extern float CRendBin_Combined_HRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][240]; +extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; + +/********************** Sample Rate = 32000 **********************/ + +extern float CRendBin_Combined_HRIR_latency_s_32kHz; +extern int16_t CRendBin_Combined_HRIR_max_num_iterations_32kHz; +extern uint16_t CRendBin_Combined_HRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_32kHz; +extern float CRendBin_Combined_HRIR_inv_diffuse_weight_32kHz[15]; +extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern float CRendBin_Combined_HRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][160]; +extern float CRendBin_Combined_HRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][160]; +extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; + +/********************** Sample Rate = 16000 **********************/ + +extern float CRendBin_Combined_HRIR_latency_s_16kHz; +extern int16_t CRendBin_Combined_HRIR_max_num_iterations_16kHz; +extern uint16_t CRendBin_Combined_HRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_HRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][1]; +extern uint16_t CRendBin_Combined_HRIR_index_frequency_max_diffuse_16kHz; +extern float CRendBin_Combined_HRIR_inv_diffuse_weight_16kHz[15]; +extern uint16_t *CRendBin_Combined_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern float CRendBin_Combined_HRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][80]; +extern float CRendBin_Combined_HRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][80]; +extern float *CRendBin_Combined_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_Combined_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; + +/********************** Sample Rate = 48000 **********************/ + +extern float CRendBin_HOA3_HRIR_latency_s_48kHz; +extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_48kHz; +extern uint16_t CRendBin_HOA3_HRIR_num_iterations_48kHz[16][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_48kHz[16][BINAURAL_CHANNELS][2]; +extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_48kHz; +extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_48kHz[16]; +extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS]; +extern float CRendBin_HOA3_HRIR_coeff_re_48kHz[16][BINAURAL_CHANNELS][480]; +extern float CRendBin_HOA3_HRIR_coeff_im_48kHz[16][BINAURAL_CHANNELS][480]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS]; + +/********************** Sample Rate = 32000 **********************/ + +extern float CRendBin_HOA3_HRIR_latency_s_32kHz; +extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_32kHz; +extern uint16_t CRendBin_HOA3_HRIR_num_iterations_32kHz[16][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_32kHz[16][BINAURAL_CHANNELS][2]; +extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_32kHz; +extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_32kHz[16]; +extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS]; +extern float CRendBin_HOA3_HRIR_coeff_re_32kHz[16][BINAURAL_CHANNELS][320]; +extern float CRendBin_HOA3_HRIR_coeff_im_32kHz[16][BINAURAL_CHANNELS][320]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS]; + +/********************** Sample Rate = 16000 **********************/ + +extern float CRendBin_HOA3_HRIR_latency_s_16kHz; +extern int16_t CRendBin_HOA3_HRIR_max_num_iterations_16kHz; +extern uint16_t CRendBin_HOA3_HRIR_num_iterations_16kHz[16][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_HOA3_HRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_HOA3_HRIR_pIndex_frequency_max_16kHz[16][BINAURAL_CHANNELS][2]; +extern uint16_t CRendBin_HOA3_HRIR_index_frequency_max_diffuse_16kHz; +extern float CRendBin_HOA3_HRIR_inv_diffuse_weight_16kHz[16]; +extern uint16_t *CRendBin_HOA3_HRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS]; +extern float CRendBin_HOA3_HRIR_coeff_re_16kHz[16][BINAURAL_CHANNELS][160]; +extern float CRendBin_HOA3_HRIR_coeff_im_16kHz[16][BINAURAL_CHANNELS][160]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS]; +extern float *CRendBin_HOA3_HRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS]; + +/********************** Sample Rate = 48000 **********************/ + +extern float CRendBin_Combined_BRIR_latency_s_48kHz; +extern int16_t CRendBin_Combined_BRIR_max_num_iterations_48kHz; +extern uint16_t CRendBin_Combined_BRIR_num_iterations_48kHz[15][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_48kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_48kHz[15][BINAURAL_CHANNELS][22]; +extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_48kHz; +extern float CRendBin_Combined_BRIR_inv_diffuse_weight_48kHz[15]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_48kHz[BINAURAL_CHANNELS][40]; +extern float CRendBin_Combined_BRIR_coeff_re_48kHz[15][BINAURAL_CHANNELS][2955]; +extern float CRendBin_Combined_BRIR_coeff_im_48kHz[15][BINAURAL_CHANNELS][2955]; +extern float CRendBin_Combined_BRIR_coeff_diffuse_re_48kHz[BINAURAL_CHANNELS][2885]; +extern float CRendBin_Combined_BRIR_coeff_diffuse_im_48kHz[BINAURAL_CHANNELS][2885]; + +/********************** Sample Rate = 32000 **********************/ + +extern float CRendBin_Combined_BRIR_latency_s_32kHz; +extern int16_t CRendBin_Combined_BRIR_max_num_iterations_32kHz; +extern uint16_t CRendBin_Combined_BRIR_num_iterations_32kHz[15][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_32kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_32kHz[15][BINAURAL_CHANNELS][22]; +extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_32kHz; +extern float CRendBin_Combined_BRIR_inv_diffuse_weight_32kHz[15]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_32kHz[BINAURAL_CHANNELS][40]; +extern float CRendBin_Combined_BRIR_coeff_re_32kHz[15][BINAURAL_CHANNELS][2819]; +extern float CRendBin_Combined_BRIR_coeff_im_32kHz[15][BINAURAL_CHANNELS][2819]; +extern float CRendBin_Combined_BRIR_coeff_diffuse_re_32kHz[BINAURAL_CHANNELS][2870]; +extern float CRendBin_Combined_BRIR_coeff_diffuse_im_32kHz[BINAURAL_CHANNELS][2870]; + +/********************** Sample Rate = 16000 **********************/ + +extern float CRendBin_Combined_BRIR_latency_s_16kHz; +extern int16_t CRendBin_Combined_BRIR_max_num_iterations_16kHz; +extern uint16_t CRendBin_Combined_BRIR_num_iterations_16kHz[15][BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_BRIR_num_iterations_diffuse_16kHz[BINAURAL_CHANNELS]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_16kHz[15][BINAURAL_CHANNELS][23]; +extern uint16_t CRendBin_Combined_BRIR_index_frequency_max_diffuse_16kHz; +extern float CRendBin_Combined_BRIR_inv_diffuse_weight_16kHz[15]; +extern uint16_t CRendBin_Combined_BRIR_pIndex_frequency_max_diffuse_16kHz[BINAURAL_CHANNELS][40]; +extern float CRendBin_Combined_BRIR_coeff_re_16kHz[15][BINAURAL_CHANNELS][1774]; +extern float CRendBin_Combined_BRIR_coeff_im_16kHz[15][BINAURAL_CHANNELS][1774]; +extern float CRendBin_Combined_BRIR_coeff_diffuse_re_16kHz[BINAURAL_CHANNELS][2522]; +extern float CRendBin_Combined_BRIR_coeff_diffuse_im_16kHz[BINAURAL_CHANNELS][2522]; +#endif /* _IVAS_ROM_BINAURAL_CREND_HEAD_ */ diff --git a/lib_rend/ivas_rom_rend.c b/lib_rend/ivas_rom_rend.c new file mode 100644 index 0000000000..cf0c7c69a9 --- /dev/null +++ b/lib_rend/ivas_rom_rend.c @@ -0,0 +1,709 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "options.h" +#include <stddef.h> +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "ivas_rom_rend.h" + +/* clang-format off */ + +/*----------------------------------------------------------------------------------* + * FASTCONV and PARAMETRIC binaural renderer ROM tables + *----------------------------------------------------------------------------------*/ + +const float dmxmtx[BINAURAL_CHANNELS][11] = +{ + { 1.0f, 0.0f, 0.70709997f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f }, + { 0.0f, 1.0f, 0.70709997f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f }, +}; + +/* +* 0 = 30,0 +* 1 = -30,0 +* 2 = 0,0 +* 3 = 135,0 +* 4 = -135,0 +* 5 = 110,0 +* 6 = -110,0 +* 7 = 90,0 +* 8 = -90,0 +* 9 = 30,35 +* 10 = -30,35 +* 11 = 110,35 +* 12 = -110,35 +* 13 = 135, 35 +* 14 = -135, 35 +*/ +const int16_t channelIndex_CICP6[5] = { 0, 1, 2, 5, 6 }; +const int16_t channelIndex_CICP12[7] = { 0, 1, 2, 5, 6, 3, 4 }; +const int16_t channelIndex_CICP14[7] = { 0, 1, 2, 5, 6, 9, 10 }; +const int16_t channelIndex_CICP16[9] = { 0, 1, 2, 5, 6, 9, 10, 11, 12 }; +const int16_t channelIndex_CICP19[11] = { 0, 1, 2, 3, 4, 7, 8, 9, 10, 13, 14 }; + +/*----------------------------------------------------------------------------------* + * TD ISm binaural renderer ROM tables + *----------------------------------------------------------------------------------*/ + + /* The maximum target times set to 100 msec. */ +const int16_t TDREND_SRC_REND_MaxTargetTimes[IVAS_NUM_SUPPORTED_FS] = +{ + 1600, 3200, 4800 /* Corresponds to 16kHz, 32kHz, 48kHz */ +}; + +/* The maximum lengths of the blocks internally in the effect. Corresponds to 6 msec. This means also that */ +/* if the length of the input block is just above 6 msec, the block will be divided into two 3 msec blocks. */ +const int16_t TDREND_SRC_REND_MaxBlockLengths[IVAS_NUM_SUPPORTED_FS] = +{ + 96, 192, 288 /* Corresponds to 16kHz, 32kHz, 48kHz */ +}; + +const int16_t TDREND_MaxITD[IVAS_NUM_SUPPORTED_FS] = +{ + 111, 222, 333 /* Corresponds to 16kHz, 32kHz, 48kHz */ +}; + +const float TDREND_MaxITD_Incr[IVAS_NUM_SUPPORTED_FS] = +{ + 0.0925f, 0.1850f, 0.2775f /* Corresponds to 16kHz, 32kHz, 48kHz, e.g. ( ( 2 * MaxITD ) / ( 0.05 * 48000 ) ) */ +}; + +const int16_t HRTF_MODEL_N_CPTS_VAR[HRTF_MODEL_N_SECTIONS] = +{ + 13, 12, 11 +}; + +const float SincTable[321] = +{ + 1.00000000f, 0.99957629f, 0.99830587f, 0.99619078f, 0.99323448f, 0.98944177f, 0.98481881f, 0.97937311f, + 0.97311350f, 0.96605012f, 0.95819441f, 0.94955907f, 0.94015803f, 0.93000645f, 0.91912066f, 0.90751815f, + 0.89521750f, 0.88223838f, 0.86860150f, 0.85432856f, 0.83944219f, 0.82396595f, 0.80792425f, 0.79134231f, + 0.77424608f, 0.75666226f, 0.73861817f, 0.72014174f, 0.70126144f, 0.68200624f, 0.66240553f, 0.64248906f, + 0.62228691f, 0.60182943f, 0.58114713f, 0.56027070f, 0.53923087f, 0.51805843f, 0.49678411f, 0.47543856f, + 0.45405225f, 0.43265547f, 0.41127824f, 0.38995024f, 0.36870081f, 0.34755883f, 0.32655271f, 0.30571035f, + 0.28505905f, 0.26462549f, 0.24443569f, 0.22451493f, 0.20488776f, 0.18557791f, 0.16660829f, 0.14800093f, + 0.12977695f, 0.11195656f, 0.09455895f, 0.07760236f, 0.06110400f, 0.04508003f, 0.02954554f, 0.01451456f, + 0.00000000f, -0.01398631f, -0.02743368f, -0.04033255f, -0.05267447f, -0.06445214f, -0.07565940f, -0.08629121f, + -0.09634367f, -0.10581400f, -0.11470052f, -0.12300268f, -0.13072098f, -0.13785702f, -0.14441345f, -0.15039394f, + -0.15580318f, -0.16064685f, -0.16493160f, -0.16866498f, -0.17185547f, -0.17451243f, -0.17664604f, -0.17826729f, + -0.17938796f, -0.18002054f, -0.18017822f, -0.17987486f, -0.17912493f, -0.17794347f, -0.17634608f, -0.17434883f, + -0.17196824f, -0.16922125f, -0.16612516f, -0.16269761f, -0.15895648f, -0.15491992f, -0.15060625f, -0.14603396f, + -0.14122162f, -0.13618787f, -0.13095139f, -0.12553081f, -0.11994473f, -0.11421163f, -0.10834984f, -0.10237755f, + -0.09631271f, -0.09017300f, -0.08397586f, -0.07773838f, -0.07147731f, -0.06520902f, -0.05894946f, -0.05271415f, + -0.04651815f, -0.04037601f, -0.03430179f, -0.02830902f, -0.02241063f, -0.01661904f, -0.01094605f, -0.00540284f, + -0.00000000f, 0.00525251f, 0.01034538f, 0.01526993f, 0.02001814f, 0.02458266f, 0.02895676f, 0.03313441f, + 0.03711021f, 0.04087943f, 0.04443799f, 0.04778246f, 0.05091003f, 0.05381856f, 0.05650650f, 0.05897292f, + 0.06121749f, 0.06324047f, 0.06504268f, 0.06662549f, 0.06799083f, 0.06914112f, 0.07007930f, 0.07080878f, + 0.07133343f, 0.07165755f, 0.07178588f, 0.07172352f, 0.07147595f, 0.07104902f, 0.07044886f, 0.06968193f, + 0.06875494f, 0.06767485f, 0.06644886f, 0.06508435f, 0.06358888f, 0.06197015f, 0.06023599f, 0.05839432f, + 0.05645314f, 0.05442051f, 0.05230450f, 0.05011320f, 0.04785466f, 0.04553692f, 0.04316793f, 0.04075558f, + 0.03830765f, 0.03583181f, 0.03333557f, 0.03082630f, 0.02831121f, 0.02579730f, 0.02329137f, 0.02080003f, + 0.01832963f, 0.01588629f, 0.01347589f, 0.01110403f, 0.00877607f, 0.00649705f, 0.00427175f, 0.00210467f, + 0.00000000f, -0.00203837f, -0.00400686f, -0.00590216f, -0.00772131f, -0.00946162f, -0.01112072f, -0.01269654f, + -0.01418731f, -0.01559156f, -0.01690810f, -0.01813605f, -0.01927478f, -0.02032396f, -0.02128352f, -0.02215366f, + -0.02293482f, -0.02362769f, -0.02423318f, -0.02475245f, -0.02518686f, -0.02553797f, -0.02580754f, -0.02599752f, + -0.02611000f, -0.02614728f, -0.02611175f, -0.02600597f, -0.02583262f, -0.02559449f, -0.02529446f, -0.02493550f, + -0.02452066f, -0.02405306f, -0.02353586f, -0.02297226f, -0.02236549f, -0.02171881f, -0.02103547f, -0.02031874f, + -0.01957185f, -0.01879802f, -0.01800043f, -0.01718225f, -0.01634655f, -0.01549638f, -0.01463471f, -0.01376443f, + -0.01288838f, -0.01200928f, -0.01112977f, -0.01025241f, -0.00937962f, -0.00851376f, -0.00765705f, -0.00681160f, + -0.00597942f, -0.00516238f, -0.00436225f, -0.00358068f, -0.00281917f, -0.00207914f, -0.00136185f, -0.00066846f, + -0.00000000f, 0.00064260f, 0.00125856f, 0.00184718f, 0.00240790f, 0.00294026f, 0.00344390f, 0.00391857f, + 0.00436413f, 0.00478051f, 0.00516776f, 0.00552600f, 0.00585544f, 0.00615637f, 0.00642915f, 0.00667420f, + 0.00689203f, 0.00708318f, 0.00724827f, 0.00738795f, 0.00750293f, 0.00759395f, 0.00766178f, 0.00770723f, + 0.00773114f, 0.00773435f, 0.00771774f, 0.00768218f, 0.00762857f, 0.00755779f, 0.00747075f, 0.00736831f, + 0.00725138f, 0.00712082f, 0.00697748f, 0.00682221f, 0.00665584f, 0.00647916f, 0.00629295f, 0.00609797f, + 0.00589494f, 0.00568458f, 0.00546754f, 0.00524448f, 0.00501600f, 0.00478270f, 0.00454511f, 0.00430377f, + 0.00405916f, 0.00381176f, 0.00356198f, 0.00331023f, 0.00305690f, 0.00280234f, 0.00254687f, 0.00229079f, + 0.00203440f, 0.00177795f, 0.00152168f, 0.00126584f, 0.00101062f, 0.00075625f, 0.00050289f, 0.00025075f, + 0.00000000f +}; + +const float orange53_left_avg_power[257] = { + 0.999231100f, 0.992580175f, 0.969233215f, 0.925614893f, 0.871408045f, 0.826101780f, 0.803222895f, 0.800087631f, 0.802672029f, + 0.801490188f, 0.796555817f, 0.790879488f, 0.784882724f, 0.777585745f, 0.769326210f, 0.761789441f, 0.756145239f, 0.752754092f, + 0.751703024f, 0.752594173f, 0.754317880f, 0.755515277f, 0.754378498f, 0.748860359f, 0.738919020f, 0.727488697f, 0.718792558f, + 0.714865267f, 0.713446736f, 0.711076498f, 0.706021905f, 0.697553098f, 0.684623063f, 0.667031527f, 0.647006035f, 0.627680719f, + 0.609939933f, 0.592472672f, 0.574803054f, 0.558499217f, 0.544599831f, 0.532128096f, 0.520152628f, 0.509682238f, 0.501904130f, + 0.496162385f, 0.491121918f, 0.486813396f, 0.483951330f, 0.482198298f, 0.480713189f, 0.479654074f, 0.479590476f, 0.479965866f, + 0.479589254f, 0.478181243f, 0.476334095f, 0.474199444f, 0.471616089f, 0.469089746f, 0.467486322f, 0.466943622f, 0.467153549f, + 0.468381166f, 0.470996737f, 0.474416614f, 0.477639019f, 0.480612457f, 0.483910263f, 0.487287015f, 0.489909321f, 0.491668850f, + 0.493155539f, 0.494319856f, 0.494512051f, 0.493615031f, 0.492155492f, 0.490116775f, 0.486886710f, 0.482303619f, 0.476902038f, + 0.470775038f, 0.463377595f, 0.454571068f, 0.445130944f, 0.435581058f, 0.425568998f, 0.414717495f, 0.403531373f, 0.392556936f, + 0.381436378f, 0.369506508f, 0.357099295f, 0.345049500f, 0.333368897f, 0.321326375f, 0.308959186f, 0.297232091f, 0.286592871f, + 0.276453108f, 0.266589880f, 0.257950366f, 0.251341701f, 0.246435612f, 0.242861211f, 0.241405189f, 0.242839754f, 0.246688128f, + 0.252115428f, 0.259297341f, 0.268399984f, 0.278481483f, 0.288520366f, 0.298599035f, 0.308846802f, 0.318350822f, 0.326248646f, + 0.332813978f, 0.338464528f, 0.342543274f, 0.344278336f, 0.344031811f, 0.342641503f, 0.339995682f, 0.335437506f, 0.329174429f, + 0.322237372f, 0.315035462f, 0.306967229f, 0.297821850f, 0.288482070f, 0.279766560f, 0.271234214f, 0.262228251f, 0.253214896f, + 0.245183259f, 0.237939596f, 0.230546176f, 0.223051578f, 0.216552779f, 0.211263061f, 0.206180066f, 0.200917527f, 0.196485907f, + 0.193453044f, 0.190857053f, 0.187853232f, 0.185171053f, 0.183685005f, 0.182665780f, 0.180928215f, 0.178784713f, 0.177342966f, + 0.176323384f, 0.174430951f, 0.171496049f, 0.168740034f, 0.166518897f, 0.163711995f, 0.159658119f, 0.155442193f, 0.152056932f, + 0.148795277f, 0.144545168f, 0.139905334f, 0.136263832f, 0.133493021f, 0.130194828f, 0.126240104f, 0.123071767f, 0.121281922f, + 0.119557180f, 0.117016964f, 0.114773229f, 0.114072219f, 0.114103459f, 0.113414355f, 0.112460621f, 0.112842396f, 0.114564091f, + 0.115944758f, 0.116569765f, 0.117913686f, 0.120910525f, 0.124211200f, 0.126575813f, 0.128826424f, 0.132578567f, 0.137430578f, + 0.141675219f, 0.144987956f, 0.148879051f, 0.154273912f, 0.159992099f, 0.164641231f, 0.168560207f, 0.173201621f, 0.178906262f, + 0.184429348f, 0.188756809f, 0.192309171f, 0.196154252f, 0.200732291f, 0.205381230f, 0.209404662f, 0.212832779f, 0.216197237f, + 0.220162451f, 0.225029215f, 0.230637416f, 0.236752108f, 0.243243530f, 0.249900997f, 0.256293535f, 0.261716694f, 0.265186161f, + 0.265652657f, 0.262010813f, 0.253508776f, 0.243198514f, 0.244490802f, 0.255167097f, 0.258825988f, 0.257396817f, 0.256197631f, + 0.256865948f, 0.258354962f, 0.259370565f, 0.259730458f, 0.259894609f, 0.260285556f, 0.260970831f, 0.261650831f, 0.262020200f, + 0.262095064f, 0.262225062f, 0.262741268f, 0.263585031f, 0.264350951f, 0.264654577f, 0.264539272f, 0.264409125f, 0.264633715f, + 0.265172601f, 0.265621960f, 0.265678704f, 0.265469313f, 0.265454412f, 0.265907466f, 0.266625792f, 0.267101586f, 0.266997635f, + 0.266522497f, 0.266185820f, 0.266298562f, 0.266692907f, 0.266907692f +}; + +const float orange53_right_avg_power[257] = { + 0.999231100f, 0.992580175f, 0.969233215f, 0.925614893f, 0.871408045f, 0.826101780f, 0.803222895f, 0.800087631f, 0.802672029f, + 0.801490188f, 0.796555817f, 0.790879488f, 0.784882724f, 0.777585745f, 0.769326210f, 0.761789441f, 0.756145239f, 0.752754092f, + 0.751703024f, 0.752594173f, 0.754317880f, 0.755515277f, 0.754378498f, 0.748860359f, 0.738919020f, 0.727488697f, 0.718792558f, + 0.714865267f, 0.713446736f, 0.711076498f, 0.706021905f, 0.697553098f, 0.684623063f, 0.667031527f, 0.647006035f, 0.627680719f, + 0.609939933f, 0.592472672f, 0.574803054f, 0.558499217f, 0.544599831f, 0.532128096f, 0.520152628f, 0.509682238f, 0.501904130f, + 0.496162385f, 0.491121918f, 0.486813396f, 0.483951330f, 0.482198298f, 0.480713189f, 0.479654074f, 0.479590476f, 0.479965866f, + 0.479589254f, 0.478181243f, 0.476334095f, 0.474199444f, 0.471616089f, 0.469089746f, 0.467486322f, 0.466943622f, 0.467153549f, + 0.468381166f, 0.470996737f, 0.474416614f, 0.477639019f, 0.480612457f, 0.483910263f, 0.487287015f, 0.489909321f, 0.491668850f, + 0.493155539f, 0.494319856f, 0.494512051f, 0.493615031f, 0.492155492f, 0.490116775f, 0.486886710f, 0.482303619f, 0.476902038f, + 0.470775038f, 0.463377595f, 0.454571068f, 0.445130944f, 0.435581058f, 0.425568998f, 0.414717495f, 0.403531373f, 0.392556936f, + 0.381436378f, 0.369506508f, 0.357099295f, 0.345049500f, 0.333368897f, 0.321326375f, 0.308959186f, 0.297232091f, 0.286592871f, + 0.276453108f, 0.266589880f, 0.257950366f, 0.251341701f, 0.246435612f, 0.242861211f, 0.241405189f, 0.242839754f, 0.246688128f, + 0.252115428f, 0.259297341f, 0.268399984f, 0.278481483f, 0.288520366f, 0.298599035f, 0.308846802f, 0.318350822f, 0.326248646f, + 0.332813978f, 0.338464528f, 0.342543274f, 0.344278336f, 0.344031811f, 0.342641503f, 0.339995682f, 0.335437506f, 0.329174429f, + 0.322237372f, 0.315035462f, 0.306967229f, 0.297821850f, 0.288482070f, 0.279766560f, 0.271234214f, 0.262228251f, 0.253214896f, + 0.245183259f, 0.237939596f, 0.230546176f, 0.223051578f, 0.216552779f, 0.211263061f, 0.206180066f, 0.200917527f, 0.196485907f, + 0.193453044f, 0.190857053f, 0.187853232f, 0.185171053f, 0.183685005f, 0.182665780f, 0.180928215f, 0.178784713f, 0.177342966f, + 0.176323384f, 0.174430951f, 0.171496049f, 0.168740034f, 0.166518897f, 0.163711995f, 0.159658119f, 0.155442193f, 0.152056932f, + 0.148795277f, 0.144545168f, 0.139905334f, 0.136263832f, 0.133493021f, 0.130194828f, 0.126240104f, 0.123071767f, 0.121281922f, + 0.119557180f, 0.117016964f, 0.114773229f, 0.114072219f, 0.114103459f, 0.113414355f, 0.112460621f, 0.112842396f, 0.114564091f, + 0.115944758f, 0.116569765f, 0.117913686f, 0.120910525f, 0.124211200f, 0.126575813f, 0.128826424f, 0.132578567f, 0.137430578f, + 0.141675219f, 0.144987956f, 0.148879051f, 0.154273912f, 0.159992099f, 0.164641231f, 0.168560207f, 0.173201621f, 0.178906262f, + 0.184429348f, 0.188756809f, 0.192309171f, 0.196154252f, 0.200732291f, 0.205381230f, 0.209404662f, 0.212832779f, 0.216197237f, + 0.220162451f, 0.225029215f, 0.230637416f, 0.236752108f, 0.243243530f, 0.249900997f, 0.256293535f, 0.261716694f, 0.265186161f, + 0.265652657f, 0.262010813f, 0.253508776f, 0.243198514f, 0.244490802f, 0.255167097f, 0.258825988f, 0.257396817f, 0.256197631f, + 0.256865948f, 0.258354962f, 0.259370565f, 0.259730458f, 0.259894609f, 0.260285556f, 0.260970831f, 0.261650831f, 0.262020200f, + 0.262095064f, 0.262225062f, 0.262741268f, 0.263585031f, 0.264350951f, 0.264654577f, 0.264539272f, 0.264409125f, 0.264633715f, + 0.265172601f, 0.265621960f, 0.265678704f, 0.265469313f, 0.265454412f, 0.265907466f, 0.266625792f, 0.267101586f, 0.266997635f, + 0.266522497f, 0.266185820f, 0.266298562f, 0.266692907f, 0.266907692f +}; + +const float orange53_coherence[257] = { + 0.929530263f, 0.921171963f, 0.900268972f, 0.876067519f, 0.855227590f, 0.837884128f, 0.823401272f, 0.818804145f, 0.835025251f, + 0.871971071f, 0.911253273f, 0.929330528f, 0.921199203f, 0.900894165f, 0.882577479f, 0.867001534f, 0.849280477f, 0.832460761f, + 0.824062645f, 0.823441386f, 0.820908070f, 0.811902404f, 0.802339375f, 0.798648477f, 0.797345281f, 0.791158736f, 0.779512227f, + 0.768243194f, 0.760565042f, 0.754912853f, 0.751044095f, 0.752276063f, 0.759258866f, 0.766927004f, 0.769716740f, 0.767338514f, + 0.763358235f, 0.759508014f, 0.755201221f, 0.750362694f, 0.746060252f, 0.742611766f, 0.739434779f, 0.736354828f, 0.733443379f, + 0.730109870f, 0.726028502f, 0.722365141f, 0.720153689f, 0.718220115f, 0.714793265f, 0.710619092f, 0.708084404f, 0.707218647f, + 0.705624878f, 0.702472746f, 0.700073540f, 0.699947894f, 0.700519860f, 0.699934483f, 0.699344158f, 0.700895131f, 0.704551995f, + 0.708814025f, 0.713567019f, 0.719995975f, 0.728467822f, 0.738399088f, 0.749545693f, 0.761859894f, 0.774593413f, 0.787218869f, + 0.800481200f, 0.814727187f, 0.828367889f, 0.839860320f, 0.850490928f, 0.862034321f, 0.873037636f, 0.880097568f, 0.883217216f, + 0.885473788f, 0.887664974f, 0.886511028f, 0.880120754f, 0.871120989f, 0.862524390f, 0.853262126f, 0.840783834f, 0.825854301f, + 0.811407208f, 0.798167706f, 0.784307659f, 0.769172490f, 0.754072189f, 0.739893615f, 0.726129174f, 0.712544501f, 0.699519753f, + 0.686980069f, 0.674778104f, 0.663931608f, 0.655511260f, 0.648816824f, 0.642671287f, 0.638217211f, 0.637585819f, 0.640332758f, + 0.643755615f, 0.647433281f, 0.653589368f, 0.662824631f, 0.672268033f, 0.680022597f, 0.687623680f, 0.696763635f, 0.705829978f, + 0.712574661f, 0.717432320f, 0.721986175f, 0.725707173f, 0.727064371f, 0.726255059f, 0.724350274f, 0.720927835f, 0.715189219f, + 0.708206475f, 0.701428175f, 0.693923056f, 0.684313059f, 0.674107075f, 0.666009307f, 0.659245491f, 0.650998116f, 0.641600072f, + 0.634524226f, 0.630267978f, 0.625348687f, 0.618164837f, 0.611785769f, 0.608430445f, 0.605561733f, 0.600407422f, 0.594782710f, + 0.591767371f, 0.590365708f, 0.587845862f, 0.584915996f, 0.584355533f, 0.585834682f, 0.586913347f, 0.587935925f, 0.591403484f, + 0.596784472f, 0.601111054f, 0.604539037f, 0.610374093f, 0.618451059f, 0.624519289f, 0.627448440f, 0.631859899f, 0.639748096f, + 0.646256745f, 0.647378445f, 0.647664309f, 0.652599990f, 0.659044445f, 0.659743190f, 0.656243205f, 0.656651020f, 0.662200928f, + 0.664544880f, 0.660030127f, 0.656303048f, 0.659881413f, 0.664978266f, 0.662953973f, 0.657274961f, 0.658065319f, 0.665406108f, + 0.668446958f, 0.663809955f, 0.661349833f, 0.668595374f, 0.677367866f, 0.677208483f, 0.672289610f, 0.675831020f, 0.688208520f, + 0.695776582f, 0.691749871f, 0.687812865f, 0.696674168f, 0.711764693f, 0.716045380f, 0.706839681f, 0.701565385f, 0.711955190f, + 0.726487696f, 0.723370016f, 0.700417101f, 0.677427649f, 0.670733511f, 0.671355724f, 0.654210806f, 0.608316183f, 0.549225986f, + 0.504217446f, 0.484227657f, 0.475346446f, 0.452598959f, 0.399407327f, 0.319485664f, 0.229244962f, 0.146649837f, 0.083417825f, + 0.041744832f, 0.018142883f, 0.006854009f, 0.002511850f, 0.001177550f, 0.000840970f, 0.000701097f, 0.000571384f, 0.000458581f, + 0.000376965f, 0.000320562f, 0.000278847f, 0.000245546f, 0.000218281f, 0.000195632f, 0.000176647f, 0.000160827f, 0.000147978f, + 0.000137649f, 0.000129066f, 0.000121431f, 0.000114406f, 0.000108067f, 0.000102595f, 0.000097917f, 0.000093750f, 0.000089854f, + 0.000086255f, 0.000083183f, 0.000080804f, 0.000079026f, 0.000077552f, 0.000076117f, 0.000074693f, 0.000073431f, 0.000072456f, + 0.000071701f, 0.000071002f, 0.000070286f, 0.000069692f, 0.000069457f +}; + +/*----------------------------------------------------------------------------------* + * t-design and SN3D normalization table + *----------------------------------------------------------------------------------*/ + + /* SN3D norm */ +const float norm_sn3d_hoa3[16] = +{ + 1.f, 1.7320508f, 1.7320508f, 1.7320508f, 2.2360680f, 2.2360680f, 2.2360680f, 2.2360680f, + 2.2360680f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f, 2.6457512f +}; + +/* Order 11 t-design */ +const uint16_t t_design_11_size = 70; + +const float t_design_11_azimuth[70] = +{ + 1.329273e+02f, -8.393495e+01f, 8.474100e+00f, -1.133408e+02f, -1.032659e+02f, -3.323704e+01f, 2.185643e+01f, -1.565395e+02f, + -6.426475e+01f, 1.657795e+02f, -2.520283e+01f, -9.700380e+01f, 2.785464e+01f, 1.532142e+02f, -1.550616e+02f, -1.184214e+01f, + 8.053873e+01f, -4.205616e+01f, -3.122333e+01f, 3.883790e+01f, 9.376069e+01f, -8.475602e+01f, 7.755368e+00f, -1.222769e+02f, + 4.680127e+01f, -2.476863e+01f, 9.989047e+01f, -1.347840e+02f, -8.308802e+01f, 6.012817e+01f, 1.526447e+02f, 2.975767e+01f, + 4.077932e+01f, 1.101839e+02f, 1.656521e+02f, -1.299266e+01f, 7.973599e+01f, -5.052453e+01f, 1.189239e+02f, 4.722029e+01f, + 1.719253e+02f, -6.251458e+01f, -1.111567e+01f, 1.320180e+02f, -1.353555e+02f, 1.023709e+02f, 1.127393e+02f, -1.783050e+02f, + -1.223199e+02f, 5.907635e+01f, 1.517042e+02f, 2.137634e+01f, -1.690055e+02f, 1.189808e+02f, -1.160893e+02f, 9.647679e+00f, + 6.089332e+01f, -1.560215e+02f, -6.346030e+01f, 1.749298e+02f, -1.752888e+02f, -1.059519e+02f, -5.019283e+01f, 1.313583e+02f, + -1.362968e+02f, 9.356446e+01f, -9.708401e+01f, -1.691583e+02f, -4.413238e+01f, 8.147954e+01f +}; + +const float t_design_11_elevation[70] = +{ + 7.692547e+00f, -2.373007e+01f, 2.351276e+01f, 7.042259e+01f, -9.896944e+00f, -7.075133e+01f, -2.646185e+01f, 4.777649e+01f, + -7.720470e+00f, 4.453436e+01f, 2.638979e+01f, -4.465789e+01f, 9.767035e+00f, -4.770533e+01f, 7.453029e+00f, -2.359012e+01f, + 2.371945e+01f, 7.043827e+01f, -9.835416e+00f, -7.049808e+01f, -2.629492e+01f, 4.761480e+01f, -7.517185e+00f, 4.428623e+01f, + 2.664426e+01f, -4.456937e+01f, 9.912719e+00f, -4.795996e+01f, 7.296799e+00f, -2.334460e+01f, 2.364153e+01f, 7.068431e+01f, + -9.581404e+00f, -7.039345e+01f, -2.642582e+01f, 4.775107e+01f, -7.308536e+00f, 4.426328e+01f, 2.671406e+01f, -4.431497e+01f, + 9.758997e+00f, -4.803619e+01f, 7.439651e+00f, -2.333261e+01f, 2.338690e+01f, 7.082191e+01f, -9.485964e+00f, -7.058019e+01f, + -2.667403e+01f, 4.799784e+01f, -7.382762e+00f, 4.449706e+01f, 2.650250e+01f, -4.424619e+01f, 9.518451e+00f, -4.782814e+01f, + 7.684274e+00f, -2.357068e+01f, 2.330745e+01f, 7.065865e+01f, -9.680889e+00f, -7.080268e+01f, -2.669635e+01f, 4.801363e+01f, + -7.637348e+00f, 4.466512e+01f, 2.630235e+01f, -4.445764e+01f, 9.523415e+00f, -4.762422e+01f +}; + + +/*----------------------------------------------------------------------* +* Reverberator ROM tables +*-----------------------------------------------------------------------*/ + +const float ivas_reverb_default_fc[IVAS_REVERB_DEFAULT_N_BANDS] = +{ + 20.0f, 25.0f, 31.5f, 40.0f, + 50.0f, 63.0f, 80.0f, 100.0f, + 125.0f, 160.0f, 200.0f, 250.0f, + 315.0f, 400.0f, 500.0f, 630.0f, + 800.0f, 1000.0f, 1250.0f, 1600.0f, + 2000.0f, 2500.0f, 3150.0f, 4000.0f, + 5000.0f, 6300.0f, 8000.0f, 10000.0f, + 12500.0f, 16000.0f, 20000.0f +}; + +const float ivas_reverb_default_RT60[IVAS_REVERB_DEFAULT_N_BANDS] = +{ + 1.3622f, 1.4486f, 1.3168f, 1.5787f, + 1.4766f, 1.3954f, 1.2889f, 1.3462f, + 1.0759f, 1.0401f, 1.097f, 1.085f, + 1.091f, 1.0404f, 1.0499f, 1.0699f, + 1.1028f, 1.1714f, 1.1027f, 1.0666f, + 1.055f, 1.0553f, 1.0521f, 1.0569f, + 1.0421f, 0.97822f, 0.80487f, 0.75944f, + 0.71945f, 0.61682f, 0.60031f +}; + +const float ivas_reverb_default_DSR[IVAS_REVERB_DEFAULT_N_BANDS] = +{ + 1.8811e-08f, 2.1428e-08f, 1.3972e-08f, 1.51e-08f, + 1.287e-08f, 1.8747e-08f, 2.413e-08f, 3.9927e-08f, + 8.9719e-08f, 1.902e-07f, 3.702e-07f, 6.1341e-07f, + 7.1432e-07f, 6.5331e-07f, 4.6094e-07f, 5.4683e-07f, + 7.0134e-07f, 6.856e-07f, 7.114e-07f, 6.9604e-07f, + 5.2939e-07f, 5.699e-07f, 6.1773e-07f, 5.7488e-07f, + 4.7748e-07f, 2.7213e-07f, 1.3681e-07f, 1.0941e-07f, + 6.2001e-08f, 2.8483e-08f, 2.6267e-08f +}; + +/*----------------------------------------------------------------------------------* + * Renderer SBA & MC enc/dec matrices + *----------------------------------------------------------------------------------*/ + +/* CICP1 - Mono */ +const float ls_azimuth_CICP1[1] = { 0.0f }; +const float ls_elevation_CICP1[1] = { 0.0f }; +const uint32_t ls_LFE_last_idx_CICP1[1] = { 0 }; + +/* CICP2 - Stereo */ +const uint32_t ls_LFE_last_idx_CICP2[2] = { 0, 1 }; + +/* CICP6 - 5.1 */ +const uint32_t ls_LFE_last_idx_CICP6[6] = { 0, 1, 2, 4, 5, 3 }; + +/* CICP12 - 7.1 */ +const uint32_t ls_LFE_last_idx_CICP12[8] = { 0, 1, 2, 4, 5, 6, 7, 3 }; + +/* CICP14 - 5.1.2 */ +const uint32_t ls_LFE_last_idx_CICP14[8] = { 0, 1, 2, 4, 5, 6, 7, 3 }; + +/* CICP16 - 5.1.4 */ +const uint32_t ls_LFE_last_idx_CICP16[10] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 3 }; + +/* CICP19 - 7.1.4 */ +const uint32_t ls_LFE_last_idx_CICP19[12] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 3 }; + +/*----------------------------------------------------------------------------------* + * LS Renderer ROM tables + *----------------------------------------------------------------------------------*/ + + /* All matrices are stored with dimensions nchan_in x nchan_out */ + /* Downmix matrices */ +const float ls_conversion_cicpX_mono[12][1] = +{ + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, + {1.00000000f}, +}; + +const float ls_conversion_cicpX_stereo[12][2] = +{ + {1.00000000f, 0.00000000f}, + {0.00000000f, 1.00000000f}, + {0.70710677f, 0.70710677f}, + {0.70710677f, 0.70710677f}, + {0.79999995f, 0.00000000f}, + {0.00000000f, 0.79999995f}, + {0.79999995f, 0.00000000f}, + {0.00000000f, 0.79999995f}, + {0.849999964f, 0.000000000f}, + {0.000000000f, 0.849999964f}, + {0.849999964f, 0.000000000f}, + {0.000000000f, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 6.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {7, 1.000000000f}, + {14, 1.000000000f}, + {21, 1.000000000f}, + {28, 1.000000000f}, + {35, 1.000000000f}, + {40, 1.000000000f}, + {47, 1.000000000f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 6.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {7, 1.000000000f}, + {14, 1.000000000f}, + {21, 1.000000000f}, + {28, 1.000000000f}, + {35, 1.000000000f}, + {36, 0.849999964f}, + {43, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 8.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {9, 1.000000000f}, + {18, 1.000000000f}, + {27, 1.000000000f}, + {36, 1.000000000f}, + {45, 1.000000000f}, + {48, 0.849999964f}, + {57, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {10, 6.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {7, 1.000000000f}, + {14, 1.000000000f}, + {21, 1.000000000f}, + {28, 1.000000000f}, + {35, 1.000000000f}, + {36, 0.849999964f}, + {43, 0.849999964f}, + {52, 0.849999964f}, + {59, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp12[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {10, 8.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {9, 1.000000000f}, + {18, 1.000000000f}, + {27, 1.000000000f}, + {36, 1.000000000f}, + {45, 1.000000000f}, + {48, 0.849999964f}, + {57, 0.849999964f}, + {68, 0.849999964f}, + {77, 0.849999964f} + +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {10, 8.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {9, 1.000000000f}, + {18, 1.000000000f}, + {27, 1.000000000f}, + {36, 1.000000000f}, + {45, 1.000000000f}, + {54, 1.000000000f}, + {63, 1.000000000f}, + {68, 0.849999964f}, + {77, 0.849999964f}, +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {14, 6.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {7, 1.000000000f}, + {14, 1.000000000f}, + {21, 1.000000000f}, + {28, 1.000000000f}, + {35, 1.000000000f}, + {36, 0.367322683f}, + {40, 0.930093586f}, + {43, 0.367322683f}, + {47, 0.930093586f}, + {48, 0.849999964f}, + {55, 0.849999964f}, + {64, 0.849999964f}, + {71, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {14, 8.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {9, 1.000000000f}, + {18, 1.000000000f}, + {27, 1.000000000f}, + {38, 1.000000000f}, + {47, 1.000000000f}, + {48, 0.367322683f}, + {52, 0.930093586f}, + {57, 0.367322683f}, + {61, 0.930093586f}, + {64, 0.849999964f}, + {73, 0.849999964f}, + {84, 0.849999964f}, + {93, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {14, 8.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {9, 1.000000000f}, + {18, 1.000000000f}, + {27, 1.000000000f}, + {36, 1.000000000f}, + {45, 1.000000000f}, + {48, 0.367322683f}, + {52, 0.930093586f}, + {57, 0.367322683f}, + {61, 0.930093586f}, + {70, 1.000000000f}, + {79, 1.000000000f}, + {84, 0.849999964f}, + {93, 0.849999964f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {14, 10.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.000000000f}, + {11, 1.000000000f}, + {22, 1.000000000f}, + {33, 1.000000000f}, + {44, 1.000000000f}, + {55, 1.000000000f}, + {60, 0.367322683f}, + {64, 0.930093586f}, + {71, 0.367322683f}, + {75, 0.930093586f}, + {86, 1.000000000f}, + {97, 1.000000000f}, + {108, 1.000000000f}, + {119, 1.000000000f} +}; + +/* Upmix matrices */ +const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 8.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.0f}, + {9, 1.0f}, + {18, 1.0f}, + {27, 1.0f}, + {36, 1.0f}, + {45, 1.0f}, + {52, 1.0f}, + {61, 1.0f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 10.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.0f}, + {11, 1.0f}, + {22, 1.0f}, + {33, 1.0f}, + {44, 1.0f}, + {55, 1.0f}, + {64, 1.0f}, + {75, 1.0f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 12.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.0f}, + {13, 1.0f}, + {26, 1.0f}, + {39, 1.0f}, + {54, 1.0f}, + {67, 1.0f}, + {76, 1.0f}, + {89, 1.0f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {8, 12.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.0f}, + {13, 1.0f}, + {26, 1.0f}, + {39, 1.0f}, + {52, 1.0f}, + {65, 1.0f}, + {80, 1.0f}, + {93, 1.0f} +}; + +const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[] = +{ + /* First row indicates the number of non-zero elements and the number of matrix columns */ + {10, 12.0f}, + /* Index of non-zero element, value of non-zero element*/ + {0, 1.0f}, + {13, 1.0f}, + {26, 1.0f}, + {39, 1.0f}, + {52, 1.0f}, + {65, 1.0f}, + {80, 1.0f}, + {93, 1.0f}, + {106, 1.0f}, + {119, 1.0f} +}; + +/* + * Mapping table of input config : output config with corresponding matrix + * NULL indicates a 1:1 mapping of existing input channels to output channels ( used for upmix ) + */ + +const LS_CONVERSION_MAPPING ls_conversion_mapping[LS_SETUP_CONVERSION_NUM_MAPPINGS] = +{ + /* Dowmix mappings - NULL is a special case for MONO / STEREO downmix */ + {AUDIO_CONFIG_5_1, AUDIO_CONFIG_MONO, NULL}, + {AUDIO_CONFIG_7_1, AUDIO_CONFIG_MONO, NULL}, + {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_MONO, NULL}, + {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_MONO, NULL}, + {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_MONO, NULL}, + + {AUDIO_CONFIG_5_1, AUDIO_CONFIG_STEREO, NULL}, + {AUDIO_CONFIG_7_1, AUDIO_CONFIG_STEREO, NULL}, + {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_STEREO, NULL}, + {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_STEREO, NULL}, + {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_STEREO, NULL}, + + {AUDIO_CONFIG_7_1, AUDIO_CONFIG_5_1, ls_conversion_cicp12_cicp6}, + + {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_5_1, ls_conversion_cicp14_cicp6}, + {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_7_1, ls_conversion_cicp14_cicp12}, + + {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_5_1, ls_conversion_cicp16_cicp6}, + {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_7_1, ls_conversion_cicp16_cicp12}, + {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_5_1_2, ls_conversion_cicp16_cicp14}, + + {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_5_1, ls_conversion_cicp19_cicp6}, + {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_7_1, ls_conversion_cicp19_cicp12}, + {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_5_1_2, ls_conversion_cicp19_cicp14}, + {AUDIO_CONFIG_7_1_4, AUDIO_CONFIG_5_1_4, ls_conversion_cicp19_cicp16}, + + /* Upmix mappings - NULL implies a 1:1 upmix */ + {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_5_1, NULL}, + {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_7_1, NULL}, + {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_5_1_2, NULL}, + {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_5_1_4, NULL}, + {AUDIO_CONFIG_STEREO, AUDIO_CONFIG_7_1_4, NULL}, + + {AUDIO_CONFIG_5_1, AUDIO_CONFIG_7_1, NULL}, + {AUDIO_CONFIG_5_1, AUDIO_CONFIG_5_1_2, NULL}, + {AUDIO_CONFIG_5_1, AUDIO_CONFIG_5_1_4, NULL}, + {AUDIO_CONFIG_5_1, AUDIO_CONFIG_7_1_4, NULL}, + + {AUDIO_CONFIG_7_1, AUDIO_CONFIG_5_1_2, ls_conversion_cicp12_cicp14}, + {AUDIO_CONFIG_7_1, AUDIO_CONFIG_5_1_4, ls_conversion_cicp12_cicp16}, + {AUDIO_CONFIG_7_1, AUDIO_CONFIG_7_1_4, ls_conversion_cicp12_cicp19}, + + {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_5_1_4, NULL}, + {AUDIO_CONFIG_5_1_2, AUDIO_CONFIG_7_1_4, ls_conversion_cicp14_cicp19}, + + {AUDIO_CONFIG_5_1_4, AUDIO_CONFIG_7_1_4, ls_conversion_cicp16_cicp19}, +}; + +/* clang-format on */ diff --git a/lib_rend/ivas_rom_rend.h b/lib_rend/ivas_rom_rend.h new file mode 100644 index 0000000000..aaf7fa7113 --- /dev/null +++ b/lib_rend/ivas_rom_rend.h @@ -0,0 +1,141 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_ROM_REND_H +#define IVAS_ROM_REND_H + +#include "options.h" +#include <stdint.h> +#ifdef DEBUGGING +#include "debug.h" +#endif +#include "ivas_cnst.h" +#include "ivas_stat_rend.h" + +/*----------------------------------------------------------------------------------* + * FASTCONV and PARAMETRIC binaural renderer ROM tables + *----------------------------------------------------------------------------------*/ + +extern const float dmxmtx[BINAURAL_CHANNELS][11]; + +extern const int16_t channelIndex_CICP6[5]; +extern const int16_t channelIndex_CICP12[7]; +extern const int16_t channelIndex_CICP14[7]; +extern const int16_t channelIndex_CICP16[9]; +extern const int16_t channelIndex_CICP19[11]; + +/*----------------------------------------------------------------------------------* + * TD ISM Object renderer + *----------------------------------------------------------------------------------*/ + +extern const int16_t TDREND_SRC_REND_MaxTargetTimes[IVAS_NUM_SUPPORTED_FS]; +extern const int16_t TDREND_SRC_REND_MaxBlockLengths[IVAS_NUM_SUPPORTED_FS]; +extern const int16_t TDREND_MaxITD[IVAS_NUM_SUPPORTED_FS]; +extern const float TDREND_MaxITD_Incr[IVAS_NUM_SUPPORTED_FS]; + +extern const int16_t HRTF_MODEL_N_CPTS_VAR[HRTF_MODEL_N_SECTIONS]; + +extern const float SincTable[321]; + +extern const float orange53_left_avg_power[257]; +extern const float orange53_right_avg_power[257]; +extern const float orange53_coherence[257]; + + +/*----------------------------------------------------------------------------------* + * t-design and SN3D normalization table + *----------------------------------------------------------------------------------*/ + +/* SN3D norm */ +extern const float norm_sn3d_hoa3[16]; + +/* Order 11 t-design */ +extern const uint16_t t_design_11_size; +extern const float t_design_11_azimuth[70]; +extern const float t_design_11_elevation[70]; + + +/*----------------------------------------------------------------------* + * Reverberator ROM tables + *-----------------------------------------------------------------------*/ + +extern const float ivas_reverb_default_fc[]; +extern const float ivas_reverb_default_RT60[]; +extern const float ivas_reverb_default_DSR[]; + +/*----------------------------------------------------------------------------------* + * Renderer SBA & MC enc/dec matrices + *----------------------------------------------------------------------------------*/ + +extern const float hoa_dec_mtx_CICP1[16]; +extern const float ls_azimuth_CICP1[1]; +extern const float ls_elevation_CICP1[1]; +extern const uint32_t ls_LFE_last_idx_CICP1[1]; +extern const uint32_t ls_LFE_last_idx_CICP2[2]; +extern const uint32_t ls_LFE_last_idx_CICP6[6]; +extern const uint32_t ls_LFE_last_idx_CICP12[8]; +extern const uint32_t ls_LFE_last_idx_CICP14[8]; +extern const uint32_t ls_LFE_last_idx_CICP16[10]; +extern const uint32_t ls_LFE_last_idx_CICP19[12]; + +/*----------------------------------------------------------------------------------* + * LS Configuration Converter ROM tables + *----------------------------------------------------------------------------------*/ + +/* Downmix matrices */ +extern const float ls_conversion_cicpX_mono[12][1]; +extern const float ls_conversion_cicpX_stereo[12][2]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp6[]; +#ifdef FIX_I54_LS_CONVERSION +extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp12[]; +#endif +extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp14[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp6[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp12[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp14[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp19_cicp16[]; + +/* Upmix matrices */ +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp14[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp16[]; +#ifdef FIX_I54_LS_CONVERSION +extern const LS_CONVERSION_MATRIX ls_conversion_cicp12_cicp19[]; +#endif +extern const LS_CONVERSION_MATRIX ls_conversion_cicp14_cicp19[]; +extern const LS_CONVERSION_MATRIX ls_conversion_cicp16_cicp19[]; + +/* Mapping table of input config : output config with corresponding matrix */ +extern const LS_CONVERSION_MAPPING ls_conversion_mapping[]; + +#endif /* IVAS_ROM_REND_H */ diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h new file mode 100644 index 0000000000..a38b8d96c1 --- /dev/null +++ b/lib_rend/ivas_stat_rend.h @@ -0,0 +1,102 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_STAT_REND_H +#define IVAS_STAT_REND_H + +#include <stdint.h> +#include "ivas_cnst.h" + +#define MAX_SPEAKERS 12 /* Max number of speakers (including LFE) in a channel-based config */ + +/*----------------------------------------------------------------------------------* + * Loudspeaker Configuration Conversion structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_LS_setupconversion_struct +{ + float *dmxMtx[MAX_OUTPUT_CHANNELS]; + float *targetEnergyPrev[MAX_OUTPUT_CHANNELS]; + float *dmxEnergyPrev[MAX_OUTPUT_CHANNELS]; + int16_t sfbOffset[MAX_SFB + 2]; + int16_t sfbCnt; + +} LSSETUP_CONVERSION_STRUCT, *LSSETUP_CONVERSION_HANDLE; + + +typedef struct ivas_LS_setupconversion_matrix +{ + int16_t index; + float value; +} LS_CONVERSION_MATRIX; + +typedef struct ivas_LS_setupconversion_mapping +{ + AUDIO_CONFIG input_config; + AUDIO_CONFIG output_config; + const LS_CONVERSION_MATRIX *conversion_matrix; +} LS_CONVERSION_MAPPING; + +typedef struct ivas_mono_downmix_renderer_struct +{ + float inputEnergy[CLDFB_NO_CHANNELS_MAX]; + float protoEnergy[CLDFB_NO_CHANNELS_MAX]; + +} MONO_DOWNMIX_RENDERER_STRUCT, *MONO_DOWNMIX_RENDERER_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Custom Loudspeaker configuration structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_LS_setup_custom +{ + int16_t is_planar_setup; /* flag to indicate if setup is planar or not */ + int16_t num_spk; /* number of custom loudspeakers */ + float ls_azimuth[MAX_OUTPUT_CHANNELS]; /* custom loudspeaker azimuths */ + float ls_elevation[MAX_OUTPUT_CHANNELS]; /* custom loudspeaker elevations */ + int16_t num_lfe; /* number of LFE channels */ + int16_t lfe_idx[MAX_OUTPUT_CHANNELS]; /* index for LFE channel insertion */ + int16_t separate_ch_found; /* flag to indicate if a center channel was found */ + float separate_ch_gains[MAX_OUTPUT_CHANNELS]; /* gains to pan McMASA separateChannel in case no center channel is present */ + +} LSSETUP_CUSTOM_STRUCT, *LSSETUP_CUSTOM_HANDLE; + +/* Channel types in a channel-based config */ +typedef enum +{ + CHANNEL_TYPE_UNUSED = 0, + CHANNEL_TYPE_SPEAKER, + CHANNEL_TYPE_LFE +} ChannelType; + +#endif /* IVAS_STAT_REND_H */ diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h new file mode 100644 index 0000000000..ea4b84d897 --- /dev/null +++ b/lib_rend/lib_rend.h @@ -0,0 +1,280 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef LIB_REND_H +#define LIB_REND_H + +#include <stdbool.h> +#include <stdint.h> +#include <stdlib.h> + +#include "options.h" +#include "common_api_types.h" +#include "ivas_error.h" + + +#define RENDERER_MAX_ISM_INPUTS 4 +#define RENDERER_MAX_MC_INPUTS 1 +#define RENDERER_MAX_SBA_INPUTS 1 +#define RENDERER_MAX_MASA_INPUTS 1 + +#define RENDERER_HEAD_POSITIONS_PER_FRAME 4 + +typedef struct +{ + int16_t numSamplesPerChannel; + int16_t numChannels; +} IVAS_REND_AudioBufferConfig; + +typedef struct +{ + IVAS_REND_AudioBufferConfig config; + float *data; +} IVAS_REND_AudioBuffer; + +typedef struct +{ + IVAS_REND_AudioBufferConfig config; + const float *data; +} IVAS_REND_ReadOnlyAudioBuffer; + +typedef struct +{ + float azimuth; + float elevation; +} IVAS_REND_AudioObjectPosition; + +typedef struct IVAS_REND *IVAS_REND_HANDLE; +typedef struct IVAS_REND const *IVAS_REND_CONST_HANDLE; + +typedef enum +{ + IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED = 0, + IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS, + IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED, + IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL, + IVAS_REND_AUDIO_CONFIG_TYPE_MASA, + IVAS_REND_AUDIO_CONFIG_TYPE_UNKNOWN, +} IVAS_REND_AudioConfigType; + +/* TODO(sgi): Harmonize with AUDIO_CONFIG */ +/* + Note: numerical values carry specific information here. + + MSB LSB + -------------------------------------------------------------------------------- + ... unused (assumed all 0) ... | config type (1 byte) | config variant (1 byte) | + -------------------------------------------------------------------------------- + + Where "config type" is the general type from the following list: + - unknown + - channel-based + - ambisonics + - object-based + - binaural + - MASA + + Config variants are concrete configs of each type. + */ +typedef enum +{ + IVAS_REND_AUDIO_CONFIG_MONO = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 0, + IVAS_REND_AUDIO_CONFIG_STEREO = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 1, + IVAS_REND_AUDIO_CONFIG_5_1 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 2, + IVAS_REND_AUDIO_CONFIG_7_1 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 3, + IVAS_REND_AUDIO_CONFIG_5_1_2 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 4, + IVAS_REND_AUDIO_CONFIG_5_1_4 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 5, + IVAS_REND_AUDIO_CONFIG_7_1_4 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 6, + IVAS_REND_AUDIO_CONFIG_LS_CUSTOM = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 255, + + IVAS_REND_AUDIO_CONFIG_FOA = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 0, + IVAS_REND_AUDIO_CONFIG_HOA2 = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 1, + IVAS_REND_AUDIO_CONFIG_HOA3 = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 2, + + IVAS_REND_AUDIO_CONFIG_OBJECT = IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED << 8 | 0, + + IVAS_REND_AUDIO_CONFIG_BINAURAL = IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL << 8 | 0, + IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM = IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL << 8 | 1, + + IVAS_REND_AUDIO_CONFIG_MASA1 = IVAS_REND_AUDIO_CONFIG_TYPE_MASA << 8 | 0, + IVAS_REND_AUDIO_CONFIG_MASA2 = IVAS_REND_AUDIO_CONFIG_TYPE_MASA << 8 | 1, + + IVAS_REND_AUDIO_CONFIG_UNKNOWN = IVAS_REND_AUDIO_CONFIG_TYPE_UNKNOWN << 8 | 0, +} IVAS_REND_AudioConfig; + +typedef uint16_t IVAS_REND_InputId; + +typedef struct +{ + int16_t numLfeChannels; + float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; +} IVAS_REND_LfeRouting; + +/* clang-format off */ +/*----------------------------------------------------------------------------------* + * Function prototypes + *----------------------------------------------------------------------------------*/ + +/* Functions to be called before rendering */ + +ivas_error IVAS_REND_Open( + IVAS_REND_HANDLE *phIvasRend, /* i/o: Pointer to renderer handle */ + const int32_t outputSampleRate, /* i : output sampling rate */ + const IVAS_REND_AudioConfig outConfig /* i : output audio config */ +); + +/* Note: this will reset custom LFE routings set for any MC input */ +ivas_error IVAS_REND_ConfigureCustomOutputLoudspeakerLayout( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_CUSTOM_LS_DATA layout /* i : custom loudspeaker layout for renderer output */ +); + +/* Support for custom HRTFs will be added in the future. */ +/* Note: this affects output delay */ +ivas_error IVAS_REND_SetCustomHrtf( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + void* TODO +); + +/* Functions to be called before/during rendering */ + +ivas_error IVAS_REND_NumOutChannels( + IVAS_REND_CONST_HANDLE hIvasRend, /* i : Renderer handle */ + int16_t *numOutChannels /* o : number of output channels */ +); + +ivas_error IVAS_REND_AddInput( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_AudioConfig inConfig, /* i : audio config for a new input */ + IVAS_REND_InputId *inputId /* o : ID of the new input */ +); + +/* Note: this will reset any custom LFE routing set for the input */ +ivas_error IVAS_REND_ConfigureCustomInputLoudspeakerLayout( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const IVAS_CUSTOM_LS_DATA layout /* i : custom loudspeaker layout for input */ +); + +ivas_error IVAS_REND_SetInputGain( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const float gain /* i : linear gain (not in dB) */ +); + +ivas_error IVAS_REND_SetInputLfeRouting( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const IVAS_REND_LfeRouting lfeRouting /* i : custom LFE routing struct */ +); + +ivas_error IVAS_REND_RemoveInput( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId /* i : ID of the input */ +); + +ivas_error IVAS_REND_GetInputNumChannels( + IVAS_REND_CONST_HANDLE hIvasRend, /* i : Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + int16_t *numChannels /* o : number of channels of the input */ +); + +ivas_error IVAS_REND_GetDelay( + IVAS_REND_CONST_HANDLE hIvasRend, /* i : Renderer handle */ + int16_t *nSamples, /* o : Renderer delay in samples */ + int32_t *timeScale /* o : Time scale of the delay, equal to renderer output sampling rate */ +); + +/* Functions to be called during rendering */ + +ivas_error IVAS_REND_FeedInputAudio( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const IVAS_REND_ReadOnlyAudioBuffer inputAudio /* i : buffer with input audio */ +); + +ivas_error IVAS_REND_FeedInputObjectMetadata( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const IVAS_REND_AudioObjectPosition objectPosition /* i : object position struct */ +); + +ivas_error IVAS_REND_FeedInputMasaMetadata( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + IVAS_MASA_METADATA_HANDLE masaMetadata /* i : MASA metadata frame */ +); + +ivas_error IVAS_REND_InitConfig( + IVAS_REND_HANDLE st, /* i/o: Renderer handle */ + bool rendererConfigEnabled /* i : flag indicating if a renderer configuration file was supplied */ +); + +int16_t IVAS_REND_GetRenderConfig( + IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS decoder handle */ + const IVAS_RENDER_CONFIG_HANDLE hRCout /* o : Render configuration handle */ +); + +int16_t IVAS_REND_FeedRenderConfig( + IVAS_REND_HANDLE hIvasRend, /* i/o: IVAS decoder handle */ + const IVAS_RENDER_CONFIG_DATA renderConfig /* i : Render configuration struct */ +); + +ivas_error IVAS_REND_SetHeadRotation( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_QUATERNION headRot[RENDERER_HEAD_POSITIONS_PER_FRAME] /* i : head positions for next rendering call */ +); + +ivas_error IVAS_REND_GetSamples( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + IVAS_REND_AudioBuffer outAudio /* i/o: buffer for output audio */ +); + +/* Functions to be called after rendering */ + +void IVAS_REND_Close( + IVAS_REND_HANDLE* phIvasRend /* i/o: Pointer to renderer handle */ +); + +#ifdef DEBUGGING +int32_t IVAS_REND_GetNoCLipping( + IVAS_REND_CONST_HANDLE hIvasRend /* i : Renderer handle */ +); + +int32_t IVAS_REND_GetCntFramesLimited( + IVAS_REND_CONST_HANDLE hIvasRend /* i : Renderer handle */ +); +#endif + +/* clang-format on */ + +#endif diff --git a/lib_util/audio_file_reader.h b/lib_util/audio_file_reader.h new file mode 100644 index 0000000000..0fc9b1f4a1 --- /dev/null +++ b/lib_util/audio_file_reader.h @@ -0,0 +1,68 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_AUDIO_FILE_READER_H +#define IVAS_AUDIO_FILE_READER_H + +#include <stdint.h> +#include "ivas_error.h" + +struct AudioFileReader; +typedef struct AudioFileReader AudioFileReader; + +/* clang-format off */ + +ivas_error AudioFileReader_open( + AudioFileReader **audioReader, /* o : AudioFileReader handle */ + const char *fileName, /* i : path to wav/raw pcm file */ + int32_t *sampleRate /* o : sample rate of wav file, unused with pcm */ +); + +/*! r: number of read samples */ +ivas_error AudioFileReader_read( + AudioFileReader *self, /* i/o: AudioFileReader handle */ + int16_t *samples, /* o : samples read from the opened file */ + const int16_t numSamples, /* i : number of samples to read */ + int16_t *numSamplesRead /* i : number of samples actualy read */ +); + +/*! r: number of channels of the opened file */ +int16_t AudioFileReader_getNumChannels( + AudioFileReader *self /* i/o: AudioFileReader handle */ +); + +void AudioFileReader_close( + AudioFileReader **selfPtr /* i/o: pointer to AudioFileReader handle */ +); +/* clang-format on */ + +#endif /* IVAS_AUDIO_FILE_READER_H */ diff --git a/lib_util/audio_file_writer.h b/lib_util/audio_file_writer.h new file mode 100644 index 0000000000..cd7d2ce5d2 --- /dev/null +++ b/lib_util/audio_file_writer.h @@ -0,0 +1,61 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_AUDIO_FILE_WRITER_H +#define IVAS_AUDIO_FILE_WRITER_H + +#include <stdint.h> +#include "ivas_error.h" + +struct AudioFileWriter; +typedef struct AudioFileWriter AudioFileWriter; + +/* clang-format off */ +ivas_error AudioFileWriter_open( + AudioFileWriter **afWriter, /* o : AudioFileWriter handle */ + const char *fileName, /* i : path to wav/raw pcm file */ + uint32_t sampleRate, /* i : sample rate of output file */ + uint32_t numChannels /* i : number of channels in output file */ +); + +ivas_error AudioFileWriter_write( + AudioFileWriter *self, /* i/o: AudioFileReader handle */ + int16_t *samples, /* i : samples to write to output file */ + uint32_t numSamples /* i : number of samples to write */ +); + +void AudioFileWriter_close( + AudioFileWriter **selfPtr /* i/o: pointer to AudioFileReader handle */ +); +/* clang-format on */ + +#endif /* IVAS_AUDIO_FILE_WRITER_H */ diff --git a/lib_util/bitstream_reader.c b/lib_util/bitstream_reader.c new file mode 100644 index 0000000000..caa8b52c59 --- /dev/null +++ b/lib_util/bitstream_reader.c @@ -0,0 +1,331 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "bitstream_reader.h" +#include "g192.h" +#include "mime_io.h" +#include "ivas_error.h" +#include "ivas_error_utils.h" +#include <stdlib.h> +#include <string.h> + + +struct BS_Reader +{ + void *hFormatReader; + + /* clang-format off */ + /* Depending on the requested bitstream format, function pointers below should be set to corresponding wrapper functions. + * `open_filename` and `close` must be implemented for all supported formats, all other functions are optional */ + + /* Allocate hFormatReader and open file with given file name */ + ivas_error ( *open_filename )( void *phFormatReader, const char *filename ); + + /* Close file open by hFormatReader and then free hFormatReader. Even if an error occurs, + * all memory is expected to be freed and (*phFormatReader) set to NULL */ + ivas_error ( *close )( void *phFormatReader); + + /* Rewind file open by hFormatReader */ + ivas_error ( *rewind )( void *hFormatReader ); + + /* Read one frame from open file into a serial bitstream buffer, with each uint16_t representing one bit. */ + ivas_error ( *read_frame_short )( void *hFormatReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ); + + /* Read one VoIP frame from open file into a bitstream byte buffer. */ + ivas_error ( *read_voip_frame_compact )( void *hFormatReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ); + /* clang-format on */ +}; + +/*-----------------------------------------------------------------------* + * G192 wrapper functions + *-----------------------------------------------------------------------*/ + +static ivas_error convert_g192_error( int32_t g192_error ) +{ + switch ( g192_error ) + { + case G192_NO_ERROR: + return IVAS_ERR_OK; + case G192_MEMORY_ERROR: + return IVAS_ERR_FAILED_ALLOC; + case G192_WRONG_PARAMS: + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + case G192_INIT_ERROR: + return IVAS_ERR_NOT_CONFIGURED; + case G192_READ_ERROR: + return IVAS_ERR_FAILED_FILE_READ; + case G192_FILE_NOT_FOUND: + return IVAS_ERR_FAILED_FILE_OPEN; + case G192_INVALID_DATA: + return IVAS_ERR_BITSTREAM_READER_INVALID_DATA; + case G192_NOT_IMPLEMENTED: + return IVAS_ERR_NOT_IMPLEMENTED; + case G192_NOT_INITIALIZED: + return IVAS_ERR_NOT_CONFIGURED; + case G192_EOF: + return IVAS_ERR_END_OF_FILE; + default: + break; + } + + return IVAS_ERR_UNKNOWN; +} + +static ivas_error g192_open_filename( void *phFormatReader, const char *filename ) +{ + return convert_g192_error( G192_Reader_Open_filename( (G192_HANDLE *) phFormatReader, filename ) ); +} + +static ivas_error g192_close( void *phFormatReader ) +{ + return convert_g192_error( G192_Reader_Close( (G192_HANDLE *) phFormatReader ) ); +} + +static ivas_error g192_rewind( void *hFormatReader ) +{ + return convert_g192_error( G192_Reader_Rewind( (G192_HANDLE) hFormatReader ) ); +} + +static ivas_error g192_read_frame_short( void *hFormatReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) +{ + return convert_g192_error( G192_ReadFrame_short( (G192_HANDLE) hFormatReader, serial, num_bits, bfi ) ); +} + +static ivas_error g192_read_voip_frame_compact( void *hFormatReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ) +{ + return convert_g192_error( G192_ReadVoipFrame_compact( (G192_HANDLE) hFormatReader, serial, num_bits, rtpSequenceNumber, rtpTimeStamp, rcvTime_ms ) ); +} + +static void init_for_g192( BS_READER_HANDLE hBsReader ) +{ + /* Note: functions on RHS must have exactly the same signature as the corresponding + * function pointer expects, otherwise we are in UB territory */ + hBsReader->open_filename = g192_open_filename; + hBsReader->close = g192_close; + hBsReader->rewind = g192_rewind; + hBsReader->read_frame_short = g192_read_frame_short; + hBsReader->read_voip_frame_compact = g192_read_voip_frame_compact; +} + +/*-----------------------------------------------------------------------* + * MIME wrapper functions + *-----------------------------------------------------------------------*/ + +static ivas_error convert_mime_error( int32_t mime_error ) +{ + switch ( mime_error ) + { + case MIME_NO_ERROR: + return IVAS_ERR_OK; + case MIME_MEMORY_ERROR: + return IVAS_ERR_FAILED_ALLOC; + case MIME_WRONG_PARAMS: + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + case MIME_FILE_NOT_FOUND: + return IVAS_ERR_FAILED_FILE_OPEN; + case MIME_NOT_INITIALIZED: + return IVAS_ERR_NOT_CONFIGURED; + case MIME_READ_ERROR: + return IVAS_ERR_FAILED_FILE_READ; + case MIME_INVALID_DATA: + return IVAS_ERR_BITSTREAM_READER_INVALID_DATA; + case MIME_EOF: + return IVAS_ERR_END_OF_FILE; + default: + break; + } + + return IVAS_ERR_UNKNOWN; +} + +static ivas_error mime_open_filename( void *phFormatReader, const char *filename ) +{ + return convert_mime_error( MIME_Reader_Open_filename( (MIME_HANDLE *) phFormatReader, filename ) ); +} + +static ivas_error mime_close( void *phFormatReader ) +{ + return convert_mime_error( MIME_Reader_Close( (MIME_HANDLE *) phFormatReader ) ); +} + +static ivas_error mime_rewind( void *hFormatReader ) +{ + return convert_mime_error( MIME_Reader_Rewind( (MIME_HANDLE) hFormatReader ) ); +} + +static ivas_error mime_read_frame_short( void *hFormatReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) +{ + return convert_mime_error( MIME_ReadFrame_short( (MIME_HANDLE) hFormatReader, serial, num_bits, bfi ) ); +} + +static void init_for_mime( BS_READER_HANDLE hBsReader ) +{ + /* Note: functions on RHS must have exactly the same signature as the corresponding + * function pointer expects, otherwise we are in UB territory */ + hBsReader->open_filename = mime_open_filename; + hBsReader->close = mime_close; + hBsReader->rewind = mime_rewind; + hBsReader->read_frame_short = mime_read_frame_short; +} + +/*-----------------------------------------------------------------------* + * API functions implementation + *-----------------------------------------------------------------------*/ + +static ivas_error init_for_format( BS_READER_HANDLE *phBsReader, BS_READER_FORMAT format ) +{ + /* Allocate memory under handle and check if allocation successful */ + ( *phBsReader ) = (BS_READER_HANDLE) malloc( sizeof( struct BS_Reader ) ); + if ( *phBsReader == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "could not allocate bitstream reader" ); + } + + /* Initialize all struct members to NULL - supported functions + * will be overwritten below in init_for_<format> */ + BS_READER_HANDLE hBsReader = *phBsReader; + memset( hBsReader, 0, sizeof( struct BS_Reader ) ); + + /* Set function pointers to selected format */ + switch ( format ) + { + case BS_READER_FORMAT_G192: + init_for_g192( hBsReader ); + break; + case BS_READER_FORMAT_MIME: + init_for_mime( hBsReader ); + break; + default: + BS_Reader_Close( phBsReader ); + return IVAS_ERR_BITSTREAM_READER_INVALID_FORMAT; + } + + return IVAS_ERR_OK; +} + +ivas_error BS_Reader_Open_filename( BS_READER_HANDLE *phBsReader, const char *filename, BS_READER_FORMAT format ) +{ + ivas_error error = IVAS_ERR_OK; + + /* Check if pointers valid */ + if ( phBsReader == NULL || filename == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + /* Allocate and set up for the requested format */ + if ( ( error = init_for_format( phBsReader, format ) ) != IVAS_ERR_OK ) + { + goto cleanup; + } + + /* Open file with the handle of the selected format */ + BS_READER_HANDLE hBsReader = *phBsReader; + if ( ( error = hBsReader->open_filename( &hBsReader->hFormatReader, filename ) ) != IVAS_ERR_OK ) + { + goto cleanup; + } + + return IVAS_ERR_OK; + +cleanup: + + BS_Reader_Close( phBsReader ); + return error; +} + +ivas_error BS_Reader_Rewind( BS_READER_HANDLE hBsReader ) +{ + if ( hBsReader == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + if ( hBsReader->rewind == NULL ) + { + return IVAS_ERR_NOT_IMPLEMENTED; + } + + return hBsReader->rewind( hBsReader->hFormatReader ); +} + +ivas_error BS_Reader_ReadFrame_short( BS_READER_HANDLE hBsReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) +{ + if ( hBsReader == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + if ( hBsReader->read_frame_short == NULL ) + { + return IVAS_ERR_NOT_IMPLEMENTED; + } + + return hBsReader->read_frame_short( hBsReader->hFormatReader, serial, num_bits, bfi ); +} + +ivas_error BS_Reader_ReadVoipFrame_compact( BS_READER_HANDLE hBsReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ) +{ + if ( hBsReader == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + if ( hBsReader->read_voip_frame_compact == NULL ) + { + return IVAS_ERR_NOT_IMPLEMENTED; + } + + return hBsReader->read_voip_frame_compact( hBsReader->hFormatReader, serial, num_bits, rtpSequenceNumber, rtpTimeStamp, rcvTime_ms ); +} + + +ivas_error BS_Reader_Close( BS_READER_HANDLE *phBsReader ) +{ + if ( phBsReader == NULL || *phBsReader == NULL ) + { + return IVAS_ERR_OK; + } + + BS_READER_HANDLE hBsReader = *phBsReader; + ivas_error error = IVAS_ERR_OK; + + if ( hBsReader->close != NULL ) + { + error = hBsReader->close( &( hBsReader )->hFormatReader ); + } + + free( hBsReader ); + *phBsReader = NULL; + + return error; +} diff --git a/lib_util/bitstream_reader.h b/lib_util/bitstream_reader.h new file mode 100644 index 0000000000..2b750566eb --- /dev/null +++ b/lib_util/bitstream_reader.h @@ -0,0 +1,72 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef BITSTREAM_READER_H +#define BITSTREAM_READER_H + +#include "options.h" +#include "ivas_error.h" +#include <stdint.h> + + +/*-----------------------------------------------------------------------* + * Enums + *-----------------------------------------------------------------------*/ + +typedef enum BS_READER_FORMAT +{ + BS_READER_FORMAT_G192 = 0, + BS_READER_FORMAT_MIME = 1, +} BS_READER_FORMAT; + +/*-----------------------------------------------------------------------* + * Structures + *-----------------------------------------------------------------------*/ + +typedef struct BS_Reader *BS_READER_HANDLE; + +/*-----------------------------------------------------------------------* + * Functions + *-----------------------------------------------------------------------*/ + +ivas_error BS_Reader_Open_filename( BS_READER_HANDLE *phBsReader, const char *filename, BS_READER_FORMAT format ); + +ivas_error BS_Reader_Rewind( BS_READER_HANDLE hBsReader ); + +ivas_error BS_Reader_ReadFrame_short( BS_READER_HANDLE hBsReader, uint16_t *serial, int16_t *num_bits, int16_t *bfi ); + +ivas_error BS_Reader_ReadVoipFrame_compact( BS_READER_HANDLE hBsReader, uint8_t *serial, int16_t *num_bits, uint16_t *rtpSequenceNumber, uint32_t *rtpTimeStamp, uint32_t *rcvTime_ms ); + +ivas_error BS_Reader_Close( BS_READER_HANDLE *phBsReader ); + + +#endif /* BITSTREAM_READER_H */ diff --git a/lib_util/bitstream_writer.c b/lib_util/bitstream_writer.c new file mode 100644 index 0000000000..c133ceba25 --- /dev/null +++ b/lib_util/bitstream_writer.c @@ -0,0 +1,252 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "bitstream_writer.h" +#include "g192.h" +#include "mime_io.h" +#include "ivas_error.h" +#include "ivas_error_utils.h" +#include <stdlib.h> +#include <string.h> + + +struct BS_Writer +{ + void *hFormatWriter; + + /* clang-format off */ + ivas_error ( *open_filename )( void *phFormatWriter, const char *filename ); + ivas_error ( *close )( void *phFormatWriter ); + ivas_error ( *write_frame_short )( void *hFormatWriter, const uint16_t *serial, int32_t num_bits, int32_t frame_bitrate ); + /* clang-format on */ +}; + +/*-----------------------------------------------------------------------* + * G192 wrapper functions + *-----------------------------------------------------------------------*/ + +static ivas_error convert_g192_error( int32_t g192_error ) +{ + switch ( g192_error ) + { + case G192_NO_ERROR: + return IVAS_ERR_OK; + case G192_MEMORY_ERROR: + return IVAS_ERR_FAILED_ALLOC; + case G192_WRONG_PARAMS: + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + case G192_INIT_ERROR: + return IVAS_ERR_INIT_ERROR; + case G192_WRITE_ERROR: + return IVAS_ERR_FAILED_FILE_READ; + case G192_NOT_IMPLEMENTED: + return IVAS_ERR_NOT_IMPLEMENTED; + case G192_NOT_INITIALIZED: + return IVAS_ERR_NOT_CONFIGURED; + } + + return IVAS_ERR_UNKNOWN; +} + +static ivas_error g192_open_filename( void *phFormatWriter, const char *filename ) +{ + return convert_g192_error( G192_Writer_Open_filename( (G192_HANDLE *) phFormatWriter, filename ) ); +} + +static ivas_error g192_close( void *phFormatWriter ) +{ + return convert_g192_error( G192_Writer_Close( (G192_HANDLE *) phFormatWriter ) ); +} + +static ivas_error g192_write_frame_short( void *hFormatWriter, const uint16_t *serial, int32_t num_bits, int32_t frame_bitrate ) +{ + (void) frame_bitrate; /* Unused */ + return convert_g192_error( G192_WriteFrame( (G192_HANDLE) hFormatWriter, serial, (int16_t) num_bits ) ); +} + +static void init_for_g192( BS_WRITER_HANDLE hBsWriter ) +{ + /* Note: functions on RHS must have exactly the same signature as the corresponding + * function pointer expects, otherwise we are in UB territory */ + hBsWriter->open_filename = g192_open_filename; + hBsWriter->close = g192_close; + hBsWriter->write_frame_short = g192_write_frame_short; +} + +/*-----------------------------------------------------------------------* + * MIME wrapper functions + *-----------------------------------------------------------------------*/ + +static ivas_error convert_mime_error( int32_t mime_error ) +{ + switch ( mime_error ) + { + case MIME_NO_ERROR: + return IVAS_ERR_OK; + case MIME_MEMORY_ERROR: + return IVAS_ERR_FAILED_ALLOC; + case MIME_WRONG_PARAMS: + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + case MIME_NOT_INITIALIZED: + return IVAS_ERR_NOT_CONFIGURED; + case MIME_WRITE_ERROR: + return IVAS_ERR_FAILED_FILE_READ; + } + + return IVAS_ERR_UNKNOWN; +} + +static ivas_error mime_open_filename( void *phFormatWriter, const char *filename ) +{ + return convert_mime_error( MIME_Writer_Open_filename( (MIME_HANDLE *) phFormatWriter, filename ) ); +} + +static ivas_error mime_close( void *phFormatWriter ) +{ + return convert_mime_error( MIME_Writer_Close( (MIME_HANDLE *) phFormatWriter ) ); +} + +static ivas_error mime_write_frame_short( void *hFormatWriter, const uint16_t *serial, int32_t num_bits, int32_t frame_bitrate ) +{ + return convert_mime_error( MIME_WriteFrame( (MIME_HANDLE) hFormatWriter, serial, (int16_t) num_bits, frame_bitrate ) ); +} + +static void init_for_mime( BS_WRITER_HANDLE hBsWriter ) +{ + /* Note: functions on RHS must have exactly the same signature as the corresponding + * function pointer expects, otherwise we are in UB territory */ + hBsWriter->open_filename = mime_open_filename; + hBsWriter->close = mime_close; + hBsWriter->write_frame_short = mime_write_frame_short; +} + + +/*-----------------------------------------------------------------------* + * API functions implementation + *-----------------------------------------------------------------------*/ + +static ivas_error init_for_format( BS_WRITER_HANDLE *phBsWriter, BS_WRITER_FORMAT format ) +{ + /* Allocate memory under handle and check if allocation successful */ + ( *phBsWriter ) = (BS_WRITER_HANDLE) malloc( sizeof( struct BS_Writer ) ); + if ( *phBsWriter == NULL ) + { + IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "could not allocate bitstream writer" ); + } + + /* Initialize all struct members to NULL - supported functions + * will be overwritten below in init_for_<format> */ + BS_WRITER_HANDLE hBsWriter = *phBsWriter; + memset( hBsWriter, 0, sizeof( struct BS_Writer ) ); + + /* Set function pointers to selected format */ + switch ( format ) + { + case BS_WRITER_FORMAT_G192: + init_for_g192( hBsWriter ); + break; + case BS_WRITER_FORMAT_MIME: + init_for_mime( hBsWriter ); + break; + default: + BS_Writer_Close( phBsWriter ); + return IVAS_ERR_BITSTREAM_WRITER_INVALID_FORMAT; + } + + return IVAS_ERR_OK; +} + +ivas_error BS_Writer_Open_filename( BS_WRITER_HANDLE *phBsWriter, const char *filename, BS_WRITER_FORMAT format ) +{ + ivas_error error = IVAS_ERR_OK; + + /* Check if pointers valid */ + if ( phBsWriter == NULL || filename == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + /* Allocate and set up for the requested format */ + if ( ( error = init_for_format( phBsWriter, format ) ) != IVAS_ERR_OK ) + { + goto cleanup; + } + + /* Open file with the handle of the selected format */ + BS_WRITER_HANDLE hBsWriter = *phBsWriter; + if ( ( error = hBsWriter->open_filename( &hBsWriter->hFormatWriter, filename ) ) != IVAS_ERR_OK ) + { + goto cleanup; + } + + return IVAS_ERR_OK; + +cleanup: + BS_Writer_Close( phBsWriter ); + return error; +} + +ivas_error BS_Writer_WriteFrame_short( BS_WRITER_HANDLE hBsWriter, const uint16_t *serial, int32_t numBits, int32_t frameBitrate ) +{ + if ( hBsWriter == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + if ( hBsWriter->write_frame_short == NULL ) + { + return IVAS_ERR_NOT_IMPLEMENTED; + } + + return hBsWriter->write_frame_short( hBsWriter->hFormatWriter, serial, numBits, frameBitrate ); +} + +ivas_error BS_Writer_Close( BS_WRITER_HANDLE *phBsWriter ) +{ + if ( phBsWriter == NULL || *phBsWriter == NULL ) + { + return IVAS_ERR_OK; + } + + BS_WRITER_HANDLE hBsWriter = *phBsWriter; + ivas_error error = IVAS_ERR_OK; + + if ( hBsWriter->close != NULL ) + { + error = hBsWriter->close( &( hBsWriter )->hFormatWriter ); + } + + free( hBsWriter ); + *phBsWriter = NULL; + + return error; +} diff --git a/lib_util/bitstream_writer.h b/lib_util/bitstream_writer.h new file mode 100644 index 0000000000..9a8acc8106 --- /dev/null +++ b/lib_util/bitstream_writer.h @@ -0,0 +1,67 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef BITSTREAM_WRITER_H +#define BITSTREAM_WRITER_H + +#include <stdint.h> +#include "ivas_error.h" + + +/*-----------------------------------------------------------------------* + * Enums + *-----------------------------------------------------------------------*/ + +typedef enum BS_WRITER_FORMAT +{ + BS_WRITER_FORMAT_G192 = 0, + BS_WRITER_FORMAT_MIME = 1, +} BS_WRITER_FORMAT; + +/*-----------------------------------------------------------------------* + * Structures + *-----------------------------------------------------------------------*/ + +typedef struct BS_Writer *BS_WRITER_HANDLE; + +/*-----------------------------------------------------------------------* + * Functions + *-----------------------------------------------------------------------*/ + +ivas_error BS_Writer_Open_filename( BS_WRITER_HANDLE *phBsWriter, const char *filename, BS_WRITER_FORMAT format ); + +ivas_error BS_Writer_WriteFrame_short( BS_WRITER_HANDLE hBsWriter, const uint16_t *serial, int32_t numBits, int32_t frameBitrate ); + +ivas_error BS_Writer_Close( BS_WRITER_HANDLE *phBsWriter ); + + +#endif /* BITSTREAM_WRITER_H */ diff --git a/lib_util/cmdln_parser.c b/lib_util/cmdln_parser.c new file mode 100644 index 0000000000..1904f880be --- /dev/null +++ b/lib_util/cmdln_parser.c @@ -0,0 +1,365 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "cmdln_parser.h" + +#include <assert.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define MAX_SUPPORTED_OPTS ( 1024 ) +#define MAX_OPTION_LENGTH ( 1024 ) + +typedef CmdLnParser_Option OptionProps; + +typedef struct +{ + OptionProps props; + int8_t hasBeenParsed; +} Option; + +static int16_t validateNoDuplicateIds( const OptionProps *props, int32_t numOpts ) +{ + for ( int32_t i = 0; i < numOpts; ++i ) + { + for ( int32_t j = i + 1; j < numOpts; ++j ) + { + if ( props[i].id == props[j].id ) + { + fprintf( stderr, "[dev] Duplicate ID == %d between options %s and %s\n", props[i].id, props[i].match, props[j].match ); + return -1; + } + } + } + + return 0; +} + +static int16_t validateOptionProps( OptionProps props ) +{ + /* Check required properties */ + if ( props.match == NULL ) + { + /* TODO(sgi): Don't print out usage after this - props.match is used there */ + fprintf( stderr, "[dev] Option with ID == %d - missing required property \"match\"\n", props.id ); + return -1; + } + + if ( props.id == 0 ) + { + fprintf( stderr, "[dev] Invalid ID for option %s. ID == %d is reserved.\n", props.match, props.id ); + return -1; + } + + return 0; +} + +/* Validate given OptionProps and use them to initialize array of Options */ +static int16_t initOpts( const OptionProps *options, int32_t numOpts, Option *opts ) +{ + for ( int32_t i = 0; i < numOpts; ++i ) + { + if ( validateOptionProps( options[i] ) != 0 ) + { + return -1; + } + + Option tmp = { + .hasBeenParsed = 0 + }; + tmp.props = options[i]; /* Cannot assign in aggregate initializer above - causes Visual Studio warning */ + + opts[i] = tmp; + } + + /* Check for duplicate IDs */ + if ( validateNoDuplicateIds( options, numOpts ) != 0 ) + { + return -1; + } + + return 0; +} + +static int8_t stringLooksLikeOption( const char *str ) +{ + if ( str[0] == '-' ) + { + return 1; + } + + return 0; +} + +static const char *stringToOptionName( const char *str ) +{ + while ( *str == '-' ) + { + ++str; + } + + return str; +} + +static int8_t optionMatchesString( Option opt, const char *str ) +{ + if ( !stringLooksLikeOption( str ) ) + { + return 0; + } + + const char *optionName = stringToOptionName( str ); + + if ( strncmp( optionName, opt.props.match, MAX_OPTION_LENGTH ) == 0 || strncmp( optionName, opt.props.matchShort, MAX_OPTION_LENGTH ) == 0 ) + { + return 1; + } + + return 0; +} + +static int16_t parseOpts( int32_t argc, + char **argv, + Option *opts, + int32_t numOpts, + void *pOutputStruct, + CmdLnParser_FnPtr_ParseOption parseOption ) +{ + Option *currOpt = NULL; + int32_t currOptIdx = 1; + Option *nextOpt = NULL; + int32_t nextOptIdx = 0; + int16_t numValues = 0; + + /* Go through all given argv */ + for ( int32_t argIdx = 1; argIdx < argc; ++argIdx ) + { + /* For current argument from argv go through all options and try to match */ + for ( int32_t optIdx = 0; optIdx < numOpts; ++optIdx ) + { + Option *optToMatch = &opts[optIdx]; + if ( optionMatchesString( *optToMatch, argv[argIdx] ) ) + { + nextOpt = optToMatch; + nextOptIdx = argIdx; + + /* Check if already parsed */ + if ( optToMatch->hasBeenParsed ) + { + fprintf( stderr, "Duplicate option: %s (%s)\n", optToMatch->props.match, optToMatch->props.matchShort ); + return -1; + } + + break; + } + } + + /* If no option matched, it is either a value belonging to current option or an invalid option */ + if ( nextOpt == NULL ) + { + /* Invalid option */ + if ( stringLooksLikeOption( argv[argIdx] ) ) + { + fprintf( stderr, "Unknown option `%s`\n", stringToOptionName( argv[argIdx] ) ); + return -1; + } + + /* Otherwise, value following current option. + * Exception: at the beginning of parsing (when current option is NULL) no values are allowed, throw error*/ + if ( currOpt != NULL ) + { + ++numValues; + } + else + { + fprintf( stderr, "Unexpected token `%s`\n", argv[argIdx] ); + return -1; + } + } + + /* If current argument is a recognized option or no more arguments left, parse current option into output struct*/ + if ( nextOpt != NULL ) + { + if ( currOpt != NULL ) + { + parseOption( currOpt->props.id, &argv[currOptIdx + 1], numValues, pOutputStruct ); + currOpt->hasBeenParsed = 1; + } + + currOpt = nextOpt; + currOptIdx = nextOptIdx; + nextOpt = NULL; + nextOptIdx = 0; + numValues = 0; + } + } + + /* Parse last option */ + if ( currOpt != NULL ) + { + parseOption( currOpt->props.id, &argv[currOptIdx + 1], numValues, pOutputStruct ); + currOpt->hasBeenParsed = 1; + } + + return 0; +} + +static const char *getBasename( const char *path ) +{ + /* Find last forward slash in path */ + const char *namePtr = strrchr( path, '/' ); + if ( namePtr != NULL ) + { + return namePtr + 1; + } + + /* If not found, try to find last backslash in path */ + namePtr = strrchr( path, '\\' ); + if ( namePtr != NULL ) + { + return namePtr + 1; + } + + /* If also not found, return full path, which implictly should be the basename */ + return path; +} + +static int32_t totalOptionNameLength( const OptionProps opt ) +{ + return strlen( opt.match ) + strlen( opt.matchShort ); +} + +static void printWhitespace( int32_t n ) +{ + for ( int32_t i = 0; i < n; ++i ) + { + fprintf( stderr, " " ); + } +} + +static void printOptDescriptionAligned( const char *descPtr, int32_t descriptionColumnIdx ) +{ + if ( descPtr == NULL ) + { + fprintf( stderr, "\n" ); + return; + } + + while ( 1 ) + { + if ( *descPtr == '\0' ) + { + fprintf( stderr, "\n" ); + break; + } + + fprintf( stderr, "%c", *descPtr ); + if ( *descPtr == '\n' ) + { + printWhitespace( descriptionColumnIdx ); + } + ++descPtr; + } +} + +static void printUsage( + const char *argv0, + const OptionProps *optionProps, + int32_t numOptions ) +{ + fprintf( stderr, "\n" ); + fprintf( stderr, "Usage: %s [options]\n", getBasename( argv0 ) ); + fprintf( stderr, "\n" ); + fprintf( stderr, "Valid options:\n" ); + + /* Find option with longest name, used for pretty formatting */ + int32_t maxOptNameLength = 0; + for ( int32_t i = 0; i < numOptions; ++i ) + { + const int32_t optNameLength = totalOptionNameLength( optionProps[i] ); + if ( maxOptNameLength < optNameLength ) + { + maxOptNameLength = optNameLength; + } + } + + const int32_t preDescriptionWhitespace = 8; + const int32_t leftColumnAdditionalChars = 7; + for ( int32_t i = 0; i < numOptions; ++i ) + { + OptionProps opt = optionProps[i]; + const int32_t optNameLength = totalOptionNameLength( optionProps[i] ); + + /* TODO(sgi): make matchShort optional */ + fprintf( stderr, " --%s, -%s", opt.match, opt.matchShort ); + + printWhitespace( maxOptNameLength - optNameLength + preDescriptionWhitespace ); + printOptDescriptionAligned( opt.description, maxOptNameLength + preDescriptionWhitespace + leftColumnAdditionalChars ); + } +} + +int16_t CmdLnParser_parseArgs( int32_t argc, + char **argv, + const OptionProps *optionProps, + int32_t numOptions, + void *pOutputStruct, + CmdLnParser_FnPtr_ParseOption parseOption ) +{ + assert( numOptions <= MAX_SUPPORTED_OPTS ); + + /* Prepare option array */ + Option opts[MAX_SUPPORTED_OPTS]; + if ( initOpts( optionProps, numOptions, opts ) != 0 ) + { + goto fail; + } + + /* Iterate over argv and parse */ + if ( parseOpts( argc, argv, opts, numOptions, pOutputStruct, parseOption ) != 0 ) + { + goto fail; + } + + return 0; + +fail: + printUsage( argv[0], optionProps, numOptions ); + return -1; +} + +void CmdLnParser_printUsage( char *executableName, + const CmdLnParser_Option *options, + int32_t numOptions ) +{ + printUsage( executableName, options, numOptions ); +} diff --git a/lib_util/cmdln_parser.h b/lib_util/cmdln_parser.h new file mode 100644 index 0000000000..8fecc70d9e --- /dev/null +++ b/lib_util/cmdln_parser.h @@ -0,0 +1,67 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef CMDLN_PARSER_H +#define CMDLN_PARSER_H + +#include <stdint.h> +#include <stdbool.h> + +#include "options.h" + +typedef struct +{ + int32_t id; + const char *match; + const char *matchShort; + const char *description; +} CmdLnParser_Option; + +/* Function for parsing option values into an output struct, to be implemented by the user */ +typedef void ( *CmdLnParser_FnPtr_ParseOption )( int32_t optionId, /* i : option ID of matched option */ + char **optionValues, /* i : array of string values following the matched option in argv */ + int16_t numOptionValues, /* i : number of string values following the matched option in argv */ + void *pOutputStruct /* o : struct to store parsed values */ +); + +int16_t CmdLnParser_parseArgs( int32_t argc, + char **argv, + const CmdLnParser_Option *options, + int32_t numOptions, + void *pOutputStruct, + CmdLnParser_FnPtr_ParseOption parseOption ); + +void CmdLnParser_printUsage( char *executableName, + const CmdLnParser_Option *options, + int32_t numOptions ); + +#endif /* CMDLN_PARSER_H */ diff --git a/lib_util/evs_rtp_payload.c b/lib_util/evs_rtp_payload.c new file mode 100644 index 0000000000..67dcaa6f36 --- /dev/null +++ b/lib_util/evs_rtp_payload.c @@ -0,0 +1,305 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#include <assert.h> +#include <stdio.h> +#include "evs_rtp_payload.h" + +static void evsPayload_unpackFrame_compact_amrWbIo( const char *payload, uint16_t payloadSizeBits, uint16_t iProtectedSize, unsigned char **framePtr, uint16_t *frameSizeInBits ) +{ + uint16_t i, iBit0; + unsigned char d0, *frame = *framePtr; + /* ignore 3 bit CMR and padding bits for EVS AMR-WB IO */ + if ( iProtectedSize == 2 ) + { /* EVS AMR-WB IO 6.6 */ + *frameSizeInBits = payloadSizeBits - 4; + } + else if ( iProtectedSize == 5 ) + { /* EVS AMR-WB IO 8.85 */ + *frameSizeInBits = payloadSizeBits - 7; + } + else + { + *frameSizeInBits = payloadSizeBits - 3; + } + iBit0 = *frameSizeInBits + 3 - 1; + d0 = ( ( (unsigned char) payload[iBit0 / 8] ) >> ( 7 - ( iBit0 % 8 ) ) ) & 0x01; + frame[0] = ( d0 << 7 ) | ( ( payload[0] & 0x1f ) << 2 ); /* d(1..5) */ + ++payload; + for ( i = 1; i != ( payloadSizeBits + 7 ) / 8; ++i ) + { + *frame++ |= ( *payload & 0xc0 ) >> 6; + *frame = ( *payload & 0x3f ) << 2; + ++payload; + } + assert( frame == *framePtr + ( *frameSizeInBits + 7 ) / 8 - 1 ); + /* last payload byte contained d(0), clear it */ + ( *framePtr )[*frameSizeInBits / 8] &= ~( 0x80 >> ( *frameSizeInBits % 8 ) ); +} + +static void evsPayload_unpackFrame_compact_evsPrimary( char *payload, uint16_t payloadSizeBits, unsigned char **framePtr, uint16_t *frameSizeInBits ) +{ + *framePtr = (unsigned char *) payload; /* no need to copy frame bytes */ + *frameSizeInBits = payloadSizeBits; +} + + +static void evsPayload_unpackFrame_compact( char *payload, uint16_t payloadSizeBits, uint16_t iProtectedSize, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex, unsigned char **framePtr, uint16_t *frameSizeInBits ) +{ + if ( iProtectedSize == 1 ) + { /* A.2.1.3 Special case for 56 bit payload size (EVS Primary or EVS AMR-WB IO SID) */ + assert( ( payload[0] & 0x80 ) == 0 ); /* AMR-WB IO SID has no compact format and therefore is handled outside this function */ + *isAMRWB_IOmode = false; + *frameTypeIndex = 0; /* PRIMARY_2800 */ + } + else + { + *isAMRWB_IOmode = evsPayloadProtectedSizes_isAMRWB_IOmode[iProtectedSize]; + *frameTypeIndex = evsPayloadProtectedSizes_frameTypeIndex[iProtectedSize]; + } + if ( *isAMRWB_IOmode ) + { + evsPayload_unpackFrame_compact_amrWbIo( payload, payloadSizeBits, iProtectedSize, framePtr, frameSizeInBits ); + } + else + { + evsPayload_unpackFrame_compact_evsPrimary( payload, payloadSizeBits, framePtr, frameSizeInBits ); + } +} + +bool evsPayload_unpackFrame( bool hf_only, char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **framePtr, uint16_t *frameSizeInBits ) +{ + uint16_t payloadSizeBits = payloadSizeBytes * 8; + bool specialCaseIoSid = payloadSizeBits == 56 && ( payload[0] & 0x80 ); /* A.2.1.3 Special case for 56 bit payload size */ + if ( !hf_only && !specialCaseIoSid ) + { /* A.2.3.1 Default format handling */ + uint16_t i; + for ( i = 0; i != sizeof( evsPayloadProtectedSizes ) / sizeof( evsPayloadProtectedSizes )[0]; ++i ) + { + if ( payloadSizeBits == evsPayloadProtectedSizes[i] ) + { + assert( frameIndex == 0 ); + *frameFollowing = false; + *qBit = true; + evsPayload_unpackFrame_compact( payload, payloadSizeBits, i, isAMRWB_IOmode, frameTypeIndex, framePtr, frameSizeInBits ); + return true; + } + } + } /* else: A.2.3.2 Header-Full-only format handling */ + return evsHeaderFullPayload_unpackFrame( payload, payloadSizeBytes, frameIndex, isAMRWB_IOmode, + frameFollowing, frameTypeIndex, qBit, framePtr, frameSizeInBits ); +} + +static void evsHeaderFullPayload_parseToc( uint8_t toc, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, int32_t *bitrate ) +{ + bool evsModeBit = ( toc & 0x20 ) != 0; + *isAMRWB_IOmode = evsModeBit; + *frameFollowing = ( toc & 0x40 ) != 0; + *frameTypeIndex = toc & 0x0f; + if ( !*isAMRWB_IOmode ) + { + *qBit = true; /* assume good q_bit for the unused EVS-mode bit */ + *bitrate = PRIMARYmode2rate[*frameTypeIndex]; + } + else + { + *qBit = ( toc & 0x10 ) != 0; + *bitrate = AMRWB_IOmode2rate[*frameTypeIndex]; + } +} + +bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ) +{ + int16_t i; + int32_t rate; + rate = frameSizeBits * 50; + if ( rate == 0 ) + { + assert( 0 ); /* VOIP_G192_RTP should not transmit empty frames */ + return false; /* no information available */ + } + for ( i = 0; i <= 9; ++i ) + { + if ( rate == AMRWB_IOmode2rate[i] ) + { + *isAMRWB_IOmode = true; + *frameTypeIndex = i; + return true; + } + } + for ( i = 0; i <= 12; ++i ) + { + if ( rate == PRIMARYmode2rate[i] ) + { + *isAMRWB_IOmode = false; + *frameTypeIndex = i; + return true; + } + } + return false; +} + +bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeInBits ) +{ + bool someIsAMRWB_IOmode, someFrameFollowing = true, someQBit; + uint16_t someFrameTypeIndex, someFrameSizeInBits; + int32_t bitrate; + uint16_t iFrame; + if ( payloadSizeBytes < 1 ) + { + fprintf( stderr, "Error: payload too small to parse ToC\n" ); + return false; + } + /* skip CMR */ + if ( *payload & 0x80 ) + { + ++payload; + --payloadSizeBytes; + } + /* parse all ToC entries */ + *frame = (unsigned char *) payload; /* no need to copy frame bytes */ + for ( iFrame = 0; someFrameFollowing; ++iFrame ) + { + if ( (int16_t) payloadSizeBytes <= 0 ) + { + fprintf( stderr, "Error: payload too small\n" ); + return false; + } + if ( *payload & 0x80 ) + { + fprintf( stderr, "Error: expected ToC, found CMR\n" ); + return false; + } + evsHeaderFullPayload_parseToc( *payload, &someIsAMRWB_IOmode, &someFrameFollowing, &someFrameTypeIndex, &someQBit, &bitrate ); + if ( bitrate < 0 ) + { + fprintf( stderr, "Error: unexpected frameTypeIndex in ToC\n" ); + return false; + } + ++payload; + ++*frame; + someFrameSizeInBits = (uint16_t) ( bitrate / 50 ); + /* just keep/copy zero padding bits + * in case of AMRWB_IO_SID the STI bit and CMI bits following the SID_1k75 frame are also kept (A.2.2.1.3) */ + payloadSizeBytes -= 1 + ( someFrameSizeInBits + 7 ) / 8; + if ( iFrame < frameIndex ) + { + *frame += ( someFrameSizeInBits + 7 ) / 8; + if ( !someFrameFollowing ) + { + fprintf( stderr, "Error: expected ToC with F bit set\n" ); + return false; + } + } + else if ( iFrame == frameIndex ) + { + *isAMRWB_IOmode = someIsAMRWB_IOmode; + *frameFollowing = someFrameFollowing; + *frameTypeIndex = someFrameTypeIndex; + *qBit = someQBit; + *frameSizeInBits = someFrameSizeInBits; + } + if ( (int16_t) payloadSizeBytes < 0 ) + { + fprintf( stderr, "Error: payload too small for frame %u data\n", frameIndex ); + return false; + } + } + return true; +} + +EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_open( EVS_RTPDUMP_DEPACKER *self, FILE *file, bool hf_only ) +{ + RTPDUMP_ERROR rtpdumpError; + self->hf_only = hf_only; + self->frameFollowing = false; + rtpdumpError = RTPDUMP_OpenWithFileToRead( &self->rtpdump, file ); + if ( rtpdumpError != RTPDUMP_NO_ERROR ) + { + return EVS_RTPDUMP_DEPACKER_RTPDUMP_ERROR; + } + return EVS_RTPDUMP_DEPACKER_NO_ERROR; +} + +EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_readNextFrame( + EVS_RTPDUMP_DEPACKER *self, + uint16_t *rtpSequenceNumber, + uint32_t *rtpTimeStamp, + uint32_t *rcvTime_ms, + bool *isAMRWB_IOmode, + uint16_t *frameTypeIndex, + bool *qBit, + unsigned char **frame, + uint16_t *frameSizeBits ) +{ + /* read next RTP packet from rtpdump */ + if ( !self->frameFollowing ) + { + RTPDUMP_ERROR rtpdumpError = RTPDUMP_ReadPacket( self->rtpdump, &self->rtpPacket, &self->timeoffset_ms ); + if ( rtpdumpError == RTPDUMP_READ_ENDOFFILE ) + { + return EVS_RTPDUMP_DEPACKER_EOF; + } + else if ( rtpdumpError != RTPDUMP_NO_ERROR ) + { + return EVS_RTPDUMP_DEPACKER_RTPDUMP_ERROR; + } + self->frameIndex = 0; + } + /* unpack next frame from RTP packet */ + if ( !evsPayload_unpackFrame( self->hf_only, self->rtpPacket.data + self->rtpPacket.headerSize, + self->rtpPacket.payloadSize, self->frameIndex, + isAMRWB_IOmode, &self->frameFollowing, frameTypeIndex, qBit, + frame, frameSizeBits ) ) + { + return EVS_RTPDUMP_DEPACKER_PAYLOAD_ERROR; + } + /* return frame */ + *rtpSequenceNumber = self->rtpPacket.sequenceNumber; + *rtpTimeStamp = self->rtpPacket.timeStamp + self->frameIndex * 16000 / 50; + *rcvTime_ms = self->timeoffset_ms; + ++self->frameIndex; + return EVS_RTPDUMP_DEPACKER_NO_ERROR; +} + +void EVS_RTPDUMP_DEPACKER_close( EVS_RTPDUMP_DEPACKER *self ) +{ + if ( !self ) + { + return; + } + RTPDUMP_Close( &self->rtpdump, 0 ); +} diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h new file mode 100644 index 0000000000..55073a7fa5 --- /dev/null +++ b/lib_util/evs_rtp_payload.h @@ -0,0 +1,202 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#pragma once +#include <stdbool.h> +#include <stdint.h> +#include <stdio.h> +#include "rtpdump.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + + static const int32_t AMRWB_IOmode2rate[16] = { + 6600, /* AMRWB_IO_6600 */ + 8850, /* AMRWB_IO_8850 */ + 12650, /* AMRWB_IO_1265 */ + 14250, /* AMRWB_IO_1425 */ + 15850, /* AMRWB_IO_1585 */ + 18250, /* AMRWB_IO_1825 */ + 19850, /* AMRWB_IO_1985 */ + 23050, /* AMRWB_IO_2305 */ + 23850, /* AMRWB_IO_2385 */ + 1750, /* AMRWB_IO_SID: SID_1k75 followed by STI bit and CMI bits (A.2.2.1.3) */ + -1, /* AMRWB_IO_FUT1 */ + -1, /* AMRWB_IO_FUT2 */ + -1, /* AMRWB_IO_FUT3 */ + -1, /* AMRWB_IO_FUT4 */ + 0, /* SPEECH_LOST */ + 0 /* NO_DATA */ + }; + + static const int32_t PRIMARYmode2rate[16] = { + 2800, /* PRIMARY_2800 */ + 7200, /* PRIMARY_7200 */ + 8000, /* PRIMARY_8000 */ + 9600, /* PRIMARY_9600 */ + 13200, /* PRIMARY_13200 */ + 16400, /* PRIMARY_16400 */ + 24400, /* PRIMARY_24400 */ + 32000, /* PRIMARY_32000 */ + 48000, /* PRIMARY_48000 */ + 64000, /* PRIMARY_64000 */ + 96000, /* PRIMARY_96000 */ + 128000, /* PRIMARY_128000 */ + 2400, /* PRIMARY_SID */ + -1, /* PRIMARY_FUT1 */ + 0, /* SPEECH_LOST */ + 0 /* NO_DATA */ + }; + + static const uint16_t evsPayloadProtectedSizes[22] = { + 48, + 56, + 136, + 144, + 160, + 184, + 192, + 256, + 264, + 288, + 320, + 328, + 368, + 400, + 464, + 480, + 488, + 640, + 960, + 1280, + 1920, + 2560 + }; + + static const bool evsPayloadProtectedSizes_isAMRWB_IOmode[22] = { + 0, + 0, /* Special case (see clause A.2.1.3) */ + 1, + 0, + 0, + 1, + 0, + 1, + 0, + 1, + 1, + 0, + 1, + 1, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0 + }; + + static const uint16_t evsPayloadProtectedSizes_frameTypeIndex[22] = { + 12, /* PRIMARY_SID */ + 0, /* Special case (see clause A.2.1.3) */ + 0, /* AMRWB_IO_6600 */ + 1, /* PRIMARY_7200 */ + 2, /* PRIMARY_8000 */ + 1, /* AMRWB_IO_8850 */ + 3, /* PRIMARY_9600 */ + 2, /* AMRWB_IO_1265 */ + 4, /* PRIMARY_13200 */ + 3, /* AMRWB_IO_1425 */ + 4, /* AMRWB_IO_1585 */ + 5, /* PRIMARY_16400 */ + 5, /* AMRWB_IO_1825 */ + 6, /* AMRWB_IO_1985 */ + 7, /* AMRWB_IO_2305 */ + 8, /* AMRWB_IO_2385 */ + 6, /* PRIMARY_24400 */ + 7, /* PRIMARY_32000 */ + 8, /* PRIMARY_48000 */ + 9, /* PRIMARY_64000 */ + 10, /* PRIMARY_96000 */ + 11 /* PRIMARY_128000 */ + }; + + bool evsPayload_unpackFrame( bool hf_only, char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **framePtr, uint16_t *frameSizeBits ); + + bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ); + + bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeBits ); + + typedef struct + { + RTPDUMP_HANDLE rtpdump; + bool hf_only; + RTPDUMP_RTPPACKET rtpPacket; + uint32_t timeoffset_ms; + uint16_t frameIndex; + bool frameFollowing; + } EVS_RTPDUMP_DEPACKER; + + typedef enum + { + EVS_RTPDUMP_DEPACKER_NO_ERROR = 0, + EVS_RTPDUMP_DEPACKER_EOF = -1, + EVS_RTPDUMP_DEPACKER_RTPDUMP_ERROR = 1, + EVS_RTPDUMP_DEPACKER_PAYLOAD_ERROR + } EVS_RTPDUMP_DEPACKER_ERROR; + + EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_open( EVS_RTPDUMP_DEPACKER *self, FILE *file, bool hf_only ); + + EVS_RTPDUMP_DEPACKER_ERROR EVS_RTPDUMP_DEPACKER_readNextFrame( + EVS_RTPDUMP_DEPACKER *self, + uint16_t *rtpSequenceNumber, + uint32_t *rtpTimeStamp, + uint32_t *rcvTime_ms, + bool *isAMRWB_IOmode, + uint16_t *frameTypeIndex, + bool *qBit, + unsigned char **frame, + uint16_t *frameSizeBits ); + + void EVS_RTPDUMP_DEPACKER_close( EVS_RTPDUMP_DEPACKER *self ); + +#ifdef __cplusplus +} +#endif diff --git a/lib_util/g192.c b/lib_util/g192.c new file mode 100644 index 0000000000..6f708690a0 --- /dev/null +++ b/lib_util/g192.c @@ -0,0 +1,555 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#include "g192.h" +#include "common_api_types.h" +#include <assert.h> +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#ifndef _WIN32 +#include <netinet/in.h> +#include <stdint.h> +#else +#include <Winsock2.h> +#endif + + +/*-----------------------------------------------------------------------* + * Constants + *-----------------------------------------------------------------------*/ + +#define G192_SYNC_GOOD_FRAME (uint16_t) 0x6B21 +#define G192_SYNC_BAD_FRAME (uint16_t) 0x6B20 +#define G192_BIT0 (uint16_t) 0x007F +#define G192_BIT1 (uint16_t) 0x0081 +#define RTP_HEADER_PART1 (int16_t) 22 /* magic number by network simulator */ + + +/*-----------------------------------------------------------------------* + * Structures + *-----------------------------------------------------------------------*/ + +/* main handle */ +struct __G192 +{ + FILE *file; + int16_t ownFileHandle; /* flag whether FILE handle created by instance or externally */ +}; + + +/*-----------------------------------------------------------------------* + * Functions + *-----------------------------------------------------------------------*/ + + +G192_ERROR G192_Reader_Open_filename( + G192_HANDLE *phG192, + const char *filename ) +{ + /* create handle */ + *phG192 = (G192_HANDLE) calloc( 1, sizeof( struct __G192 ) ); + if ( !phG192 ) + { + return G192_MEMORY_ERROR; + } + memset( *phG192, 0, sizeof( struct __G192 ) ); + + /* open file stream */ + ( *phG192 )->file = fopen( filename, "rb" ); + if ( ( *phG192 )->file == NULL ) + { + G192_Reader_Close( phG192 ); + return G192_FILE_NOT_FOUND; + } + ( *phG192 )->ownFileHandle = 1; + + return G192_NO_ERROR; +} + + +G192_ERROR G192_Reader_Rewind( + G192_HANDLE const hG192 ) +{ + if ( !hG192 || !hG192->file ) + { + return G192_NOT_INITIALIZED; + } + rewind( hG192->file ); + + return G192_NO_ERROR; +} + + +G192_ERROR G192_ReadFrame_compact( + G192_HANDLE const hG192, + unsigned char *const serial, + int16_t *const num_bits, + int16_t *const bfi ) +{ + uint16_t short_serial[IVAS_MAX_BITS_PER_FRAME]; + G192_ERROR err; + int16_t i; + + err = G192_ReadFrame_short( hG192, short_serial, num_bits, bfi ); + + for ( i = 0; i < *num_bits; i++ ) + { + unsigned char bit = ( short_serial[i] == G192_BIT1 ) ? 1 : 0; + unsigned char bitinbyte = bit << ( 7 - ( i & 0x7 ) ); + if ( !( i & 0x7 ) ) + { + serial[i >> 3] = 0; + } + serial[i >> 3] |= bitinbyte; + } + + return err; +} + + +G192_ERROR G192_ReadVoipFrame_compact( + G192_HANDLE const hG192, + unsigned char *const serial, + int16_t *const num_bits, + uint16_t *const rtpSequenceNumber, + uint32_t *const rtpTimeStamp, + uint32_t *const rcvTime_ms ) +{ + int16_t short_serial[IVAS_MAX_BITS_PER_FRAME]; + G192_ERROR err; + int16_t i; + + err = G192_ReadVoipFrame_short( hG192, short_serial, num_bits, rtpSequenceNumber, rtpTimeStamp, rcvTime_ms ); + if ( err != G192_NO_ERROR ) + { + return err; + } + + for ( i = 0; i < *num_bits; i++ ) + { + uint8_t bit = ( short_serial[i] == G192_BIT1 ) ? 1 : 0; + uint8_t bitinbyte = bit << ( 7 - ( i & 0x7 ) ); + if ( !( i & 0x7 ) ) + { + serial[i >> 3] = 0; + } + serial[i >> 3] |= bitinbyte; + } + + return G192_NO_ERROR; +} + + +G192_ERROR G192_ReadFrame_short( + G192_HANDLE const hG192, + uint16_t *const serial, + int16_t *const num_bits, + int16_t *const bfi ) +{ + uint16_t G192_SYNC_WORD; + if ( num_bits ) + { + *num_bits = 0; + } + + if ( fread( &G192_SYNC_WORD, sizeof( uint16_t ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + return G192_READ_ERROR; + } + else + { + if ( ( G192_SYNC_WORD != G192_SYNC_GOOD_FRAME ) && ( G192_SYNC_WORD != G192_SYNC_BAD_FRAME ) ) + { + fprintf( stderr, "\n Invalid bitstream. Wrong G192_SYNC_WORD\n " ); + return G192_READ_ERROR; + } + else + { + int16_t i; + if ( G192_SYNC_WORD == G192_SYNC_BAD_FRAME ) + { + *bfi = 1; + } + else + { + *bfi = 0; + } + + if ( fread( num_bits, sizeof( int16_t ), 1, hG192->file ) != 1 ) + { + fprintf( stderr, "\n Premature end of file, cannot read frame length " ); + return G192_READ_ERROR; + } + + if ( *num_bits > IVAS_MAX_BITS_PER_FRAME ) + { + fprintf( stderr, "\n Frame is too large " ); + return G192_READ_ERROR; + } + + if ( fread( serial, sizeof( int16_t ), *num_bits, hG192->file ) != (uint16_t) *num_bits ) + { + fprintf( stderr, "\n Premature end of file, cannot read frame" ); + return G192_READ_ERROR; + } + + /* convert from G.192 representation to binary, i.e. from 0x007F to 0x0 and from 0x0081 to 0x1 */ + for ( i = 0; i < (int16_t) *num_bits; ++i ) + { + serial[i] = ( serial[i] == G192_BIT1 ? 1 : 0 ); + } + + /* pad extra bytes (2 bytes required for EVS, 4 for IVAS) for arithmetic decoder flush */ + if ( *num_bits > 0 ) + { + for ( ; i < *num_bits + ( 8 * 4 ); ++i ) + { + serial[i] = 0; + } + } + } + } + + return ( G192_NO_ERROR ); +} + + +G192_ERROR G192_ReadVoipFrame_short( + G192_HANDLE const hG192, + int16_t *const serial, + int16_t *const num_bits, + uint16_t *const rtpSequenceNumber, + uint32_t *const rtpTimeStamp, + uint32_t *const rcvTime_ms ) +{ + uint32_t rtpPacketSize; + uint16_t rtpPacketHeaderPart1; + uint32_t ssrc; + uint16_t rtpPayloadG192[2]; + uint16_t rtpPayloadSize; + + /* RTP packet size */ + if ( fread( &rtpPacketSize, sizeof( rtpPacketSize ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + fprintf( stderr, "RTP Packet Size could't be read\n" ); + + return G192_READ_ERROR; + } + + if ( rtpPacketSize <= 12 ) + { + fprintf( stderr, "RTP Packet size too small: %ud\n", rtpPacketSize ); + return G192_INVALID_DATA; + } + + /* RTP packet arrival time */ + if ( fread( rcvTime_ms, sizeof( *rcvTime_ms ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + fprintf( stderr, "Reception Time in ms could't be read\n" ); + + return G192_READ_ERROR; + } + + /* RTP packet header (part without sequence number) */ + if ( fread( &rtpPacketHeaderPart1, sizeof( rtpPacketHeaderPart1 ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + fprintf( stderr, "RTP Header couldn't be read\n" ); + + return G192_READ_ERROR; + } + + if ( rtpPacketHeaderPart1 != RTP_HEADER_PART1 ) + { + fprintf( stderr, "Unexpected RTP Packet header\n" ); + + return G192_INVALID_DATA; + } + + /* RTP sequence number */ + if ( fread( rtpSequenceNumber, sizeof( *rtpSequenceNumber ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + fprintf( stderr, "RTP Sequence Number be read\n" ); + + return G192_READ_ERROR; + } + + *rtpSequenceNumber = ntohs( *rtpSequenceNumber ); + + /* RTP timestamp */ + if ( fread( rtpTimeStamp, sizeof( *rtpTimeStamp ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + fprintf( stderr, "RTP Timestamp could't be read\n" ); + + return G192_READ_ERROR; + } + + *rtpTimeStamp = ntohl( *rtpTimeStamp ); + + /* RTP ssrc */ + if ( fread( &ssrc, sizeof( ssrc ), 1, hG192->file ) != 1 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + fprintf( stderr, "RTP SSRC could't be read\n" ); + + return G192_READ_ERROR; + } + + /* RTP payload size */ + rtpPayloadSize = (uint16_t) rtpPacketSize - 12; + if ( rtpPayloadSize <= 2 ) + { + fprintf( stderr, "RTP payload size too small: %u\n", rtpPayloadSize ); + return G192_INVALID_DATA; + } + + /* RTP payload */ + if ( fread( rtpPayloadG192, sizeof( int16_t ), 2, hG192->file ) != 2 ) + { + if ( feof( hG192->file ) != 0 ) + { + return G192_EOF; + } + + fprintf( stderr, "Premature end of file, cannot read G.192 header\n" ); + return G192_READ_ERROR; + } + + if ( rtpPayloadG192[0] != G192_SYNC_GOOD_FRAME ) + { + fprintf( stderr, "G192_SYNC_WORD missing from RTP payload!" ); + return G192_INVALID_DATA; + } + + *num_bits = rtpPayloadG192[1]; + if ( *num_bits == 0u || *num_bits + 2u != rtpPayloadSize || *num_bits > IVAS_MAX_BITS_PER_FRAME ) + { + fprintf( stderr, "error in parsing RTP payload: rtpPayloadSize=%u nBits=%d", rtpPayloadSize, *num_bits ); + return G192_INVALID_DATA; + } + + if ( fread( serial, sizeof( int16_t ), *num_bits, hG192->file ) != (uint16_t) *num_bits ) + { + fprintf( stderr, "Premature end of file, cannot read G.192 payload\n" ); + return G192_READ_ERROR; + } + + return G192_NO_ERROR; +} + + +G192_ERROR G192_Reader_Close( + G192_HANDLE *phG192 ) +{ + if ( phG192 == NULL || *phG192 == NULL ) + { + return G192_NO_ERROR; + } + + if ( ( *phG192 )->file && ( *phG192 )->ownFileHandle ) + { + fclose( ( *phG192 )->file ); + } + + free( *phG192 ); + *phG192 = NULL; + phG192 = NULL; + + return G192_NO_ERROR; +} + + +G192_ERROR G192_Writer_Open_filename( + G192_HANDLE *phG192, + const char *filename ) +{ + /* create handle */ + *phG192 = (G192_HANDLE) calloc( 1, sizeof( struct __G192 ) ); + if ( !phG192 ) + { + return G192_MEMORY_ERROR; + } + + /* open file stream */ + ( *phG192 )->file = fopen( filename, "wb" ); + if ( ( *phG192 )->file == NULL ) + { + free( *phG192 ); + *phG192 = NULL; + return G192_FILE_NOT_FOUND; + } + ( *phG192 )->ownFileHandle = 1; + + return G192_NO_ERROR; +} + + +G192_ERROR G192_WriteFrame( + G192_HANDLE const hG192, + const uint16_t *serial, + const int16_t numBits ) +{ + uint16_t G192_HEADER[2], G192_DATA[IVAS_MAX_BITS_PER_FRAME]; + uint16_t i, bit; + + assert( numBits <= IVAS_MAX_BITS_PER_FRAME ); + + G192_HEADER[0] = G192_SYNC_GOOD_FRAME; + G192_HEADER[1] = numBits; /* Frame Length */ + fwrite( G192_HEADER, sizeof( uint16_t ), 2, hG192->file ); + + for ( i = 0; i < numBits; i++ ) + { + bit = serial[i]; + if ( bit == 0 ) + { + G192_DATA[i] = G192_BIT0; + } + else if ( bit == 1 ) + { + G192_DATA[i] = G192_BIT1; + } + else + { + return G192_WRITE_ERROR; + } + } + fwrite( G192_DATA, sizeof( uint16_t ), numBits, hG192->file ); + + return G192_NO_ERROR; +} + + +G192_ERROR G192_WriteVoipFrame_short( + G192_HANDLE const hG192, + const uint16_t *serial, + const int16_t numBits, + uint16_t const rtpSequenceNumber, + uint16_t const rtpTimeStamp, + uint32_t const rcvTime_ms ) +{ + int16_t G192_HEADER[2], G192_DATA[IVAS_MAX_BITS_PER_FRAME]; + int16_t i, bit; + + uint32_t rtpPacketSize = numBits + 12 + 2; + uint16_t rtpPacketHeaderPart1 = RTP_HEADER_PART1; + uint32_t ssrc = 0; + uint16_t rtpSequenceNumber_2 = htons( rtpSequenceNumber ); + uint32_t rtpTimeStamp_2 = htonl( rtpTimeStamp ); + uint16_t ssrc_2 = (uint16_t) htonl( ssrc ); + + assert( numBits <= IVAS_MAX_BITS_PER_FRAME ); + + fwrite( &rtpPacketSize, sizeof( rtpPacketSize ), 1, hG192->file ); + fwrite( &rcvTime_ms, sizeof( rcvTime_ms ), 1, hG192->file ); + fwrite( &rtpPacketHeaderPart1, sizeof( rtpPacketHeaderPart1 ), 1, hG192->file ); + fwrite( &rtpSequenceNumber_2, sizeof( rtpSequenceNumber ), 1, hG192->file ); + fwrite( &rtpTimeStamp_2, sizeof( rtpTimeStamp ), 1, hG192->file ); + fwrite( &ssrc_2, sizeof( ssrc ), 1, hG192->file ); + + G192_HEADER[0] = 0x6b21; + G192_HEADER[1] = numBits; + + fwrite( G192_HEADER, sizeof( int16_t ), 2, hG192->file ); + for ( i = 0; i < numBits; i++ ) + { + bit = serial[i]; + if ( bit == 0 ) + { + G192_DATA[i] = G192_BIT0; + } + else if ( bit == 1 ) + { + G192_DATA[i] = G192_BIT1; + } + else + { + return G192_WRITE_ERROR; + } + } + fwrite( G192_DATA, sizeof( int16_t ), numBits, hG192->file ); + + return G192_NO_ERROR; +} + + +G192_ERROR G192_Writer_Close( + G192_HANDLE *phG192 ) +{ + if ( phG192 == NULL || *phG192 == NULL ) + { + return G192_NO_ERROR; + } + + if ( ( *phG192 )->file ) + { + fclose( ( *phG192 )->file ); + } + + free( *phG192 ); + *phG192 = NULL; + phG192 = NULL; + + return G192_NO_ERROR; +} diff --git a/lib_util/g192.h b/lib_util/g192.h new file mode 100644 index 0000000000..c96b5bf756 --- /dev/null +++ b/lib_util/g192.h @@ -0,0 +1,100 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#ifndef G192_H +#define G192_H G192_H + +#include <stdio.h> +#include <stdint.h> + +/*-----------------------------------------------------------------------* + * Enums + *-----------------------------------------------------------------------*/ + +/* error enums */ +typedef enum _G192_ERROR +{ + G192_NO_ERROR = 0x0000, + G192_MEMORY_ERROR = 0x0001, + G192_WRONG_PARAMS = 0x0002, + G192_INIT_ERROR = 0x0003, + G192_WRITE_ERROR = 0x0004, + G192_READ_ERROR = 0x0005, + G192_FILE_NOT_FOUND = 0x0006, + G192_INVALID_DATA = 0x0007, /* error returned when read data is invalid */ + G192_NOT_IMPLEMENTED = 0x0010, + G192_NOT_INITIALIZED = 0x0100, + G192_UNKNOWN_ERROR = 0x1000, + G192_EOF = 0xffff /* EOF during reading */ +} G192_ERROR; + + +/*-----------------------------------------------------------------------* + * Structures + *-----------------------------------------------------------------------*/ + +/* main handle */ +struct __G192; +typedef struct __G192 *G192_HANDLE; + + +/*-----------------------------------------------------------------------* + * Functions + *-----------------------------------------------------------------------*/ + +G192_ERROR G192_Reader_Open_filename( G192_HANDLE *phG192, const char *filename ); + +G192_ERROR G192_Reader_Rewind( G192_HANDLE const hG192 ); + +G192_ERROR G192_ReadFrame_compact( G192_HANDLE const hG192, unsigned char *const serial, int16_t *const num_bits, int16_t *const bfi ); + +G192_ERROR G192_ReadVoipFrame_compact( G192_HANDLE const hG192, unsigned char *const serial, int16_t *const num_bits, uint16_t *const rtpSequenceNumber, uint32_t *const rtpTimeStamp, uint32_t *const rcvTime_ms ); + +G192_ERROR G192_ReadFrame_short( G192_HANDLE const hG192, uint16_t *const serial, int16_t *const num_bits, int16_t *const bfi ); + +G192_ERROR G192_ReadVoipFrame_short( G192_HANDLE const hG192, int16_t *const serial, int16_t *const num_bits, uint16_t *const rtpSequenceNumber, uint32_t *const rtpTimeStamp, uint32_t *const rcvTime_ms ); + +G192_ERROR G192_Reader_Close( G192_HANDLE *phG192 ); + +G192_ERROR G192_Writer_Open_filename( G192_HANDLE *phG192, const char *filename ); + +G192_ERROR G192_WriteFrame( G192_HANDLE const hG192, const uint16_t *serial, const int16_t numBits ); + +G192_ERROR G192_WriteVoipFrame_short( G192_HANDLE const hG192, const uint16_t *serial, const int16_t num_bits, uint16_t const rtpSequenceNumber, uint16_t const rtpTimeStamp, uint32_t const rcvTime_ms ); + +G192_ERROR G192_Writer_Close( G192_HANDLE *phG192 ); + +#endif /* G192_H */ diff --git a/lib_util/head_rotation_file_reader.c b/lib_util/head_rotation_file_reader.c new file mode 100644 index 0000000000..cd1dd7bcf3 --- /dev/null +++ b/lib_util/head_rotation_file_reader.c @@ -0,0 +1,170 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "head_rotation_file_reader.h" +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <stdint.h> +#include "prot.h" + +struct HeadRotFileReader +{ + FILE *trajFile; + int32_t frameCounter; + char *file_path; + bool fileRewind; +}; + + +/*-----------------------------------------------------------------------* + * HeadRotationFileReader_open() + * + * Allocate and initialize Head-Tracking reader + *-----------------------------------------------------------------------*/ + +ivas_error HeadRotationFileReader_open( + char *trajFilePath, /* i : head rotation trajectory file name */ + HeadRotFileReader **headRotReader /* o : HeadRotFileReader handle */ +) +{ + HeadRotFileReader *self; + FILE *trajFile; + + /* Open trajectory file */ + if ( strlen( trajFilePath ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + trajFile = fopen( trajFilePath, "r" ); + + if ( !trajFile ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + self = calloc( sizeof( HeadRotFileReader ), 1 ); + self->trajFile = trajFile; + self->frameCounter = 0; + self->file_path = calloc( sizeof( char ), strlen( trajFilePath ) + 1 ); + strcpy( self->file_path, trajFilePath ); + self->fileRewind = false; + + *headRotReader = self; + + return IVAS_ERR_OK; +} + + +/*-----------------------------------------------------------------------* + * HeadRotationFileReading() + * + * Read values from the trajectory file + *-----------------------------------------------------------------------*/ + +ivas_error HeadRotationFileReading( + HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */ + IVAS_QUATERNION *Quaternions, /* o : head-tracking data */ + const int32_t frame_dec /* i : decoded frame number */ +) +{ + uint16_t i; + float w, x, y, z; + + for ( i = 0; i < IVAS_MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) + { + if ( 4 != fscanf( headRotReader->trajFile, "%f,%f,%f,%f", &w, &x, &y, &z ) ) + { + if ( feof( headRotReader->trajFile ) ) + { + rewind( headRotReader->trajFile ); + headRotReader->fileRewind = true; + return HeadRotationFileReading( headRotReader, Quaternions, frame_dec ); + } + return IVAS_ERR_FAILED_FILE_PARSE; + } + + + ( headRotReader->frameCounter )++; + + Quaternions[i].w = w; + Quaternions[i].x = x; + Quaternions[i].y = y; + Quaternions[i].z = z; + } + + return IVAS_ERR_OK; +} + + +/*-----------------------------------------------------------------------* + * HeadRotationFileReader_close() + * + * Deallocates memory for the Head-Tracking reader + *-----------------------------------------------------------------------*/ + +void HeadRotationFileReader_close( + HeadRotFileReader **headRotReader /* i/o: HeadRotFileReader handle */ +) +{ + if ( headRotReader == NULL || *headRotReader == NULL ) + { + return; + } + + fclose( ( *headRotReader )->trajFile ); + free( ( *headRotReader )->file_path ); + free( *headRotReader ); + *headRotReader = NULL; + + return; +} + + +/*-----------------------------------------------------------------------* + * HeadRotationFileReader_getFilePath() + * + * + *-----------------------------------------------------------------------*/ + +const char *HeadRotationFileReader_getFilePath( + HeadRotFileReader *headRotReader /* i/o: HeadRotFileReader handle */ +) +{ + if ( headRotReader == NULL ) + { + return NULL; + } + + return headRotReader->file_path; +} diff --git a/lib_util/head_rotation_file_reader.h b/lib_util/head_rotation_file_reader.h new file mode 100644 index 0000000000..6664908b00 --- /dev/null +++ b/lib_util/head_rotation_file_reader.h @@ -0,0 +1,88 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_HR_FILE_READER_H +#define IVAS_HR_FILE_READER_H + +#include "common_api_types.h" +#include "ivas_error.h" + + +#define IVAS_MAX_PARAM_SPATIAL_SUBFRAMES 4 + +typedef struct HeadRotFileReader HeadRotFileReader; + +/*-----------------------------------------------------------------------* + * HeadRotationFileReader_open() + * + * Allocate and initialize Head-Tracking handle + *-----------------------------------------------------------------------*/ + +ivas_error HeadRotationFileReader_open( + char *trajFilePath, /* i : head rotation trajectory file name */ + HeadRotFileReader **headRotReader /* o : HeadRotFileReader handle */ +); + +/*-----------------------------------------------------------------------* + * HeadRotationFileReading() + * + * Read values from the trajectory file + *-----------------------------------------------------------------------*/ + +ivas_error HeadRotationFileReading( + HeadRotFileReader *headRotReader, /* i/o: HeadRotFileReader handle */ + IVAS_QUATERNION *Quaternions, /* o : head-tracking data */ + const int32_t frame_dec /* i : decoded frame number */ +); + +/*-----------------------------------------------------------------------* + * HeadRotationFileReader_close() + * + * Deallocates memory for the Head-Tracking handle + *-----------------------------------------------------------------------*/ + +void HeadRotationFileReader_close( + HeadRotFileReader **headRotReader /* i/o: HeadRotFileReader handle */ +); + +/*-----------------------------------------------------------------------* + * HeadRotationFileReader_getFilePath() + * + * + *-----------------------------------------------------------------------*/ + +const char *HeadRotationFileReader_getFilePath( + HeadRotFileReader *headRotReader /* i/o: HeadRotFileReader handle */ +); + + +#endif /* IVAS_HR_FILE_READER_H */ diff --git a/lib_util/ism_file_reader.c b/lib_util/ism_file_reader.c new file mode 100644 index 0000000000..b511b30499 --- /dev/null +++ b/lib_util/ism_file_reader.c @@ -0,0 +1,219 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "ism_file_reader.h" +#include "cmdl_tools.h" +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + + +#define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ +#define NUM_ISM_METADATA_PER_LINE 5 /* Number of ISM metadata per line in a metadata file */ + + +struct IsmFileReader +{ + FILE *file; + char *file_path; +}; + + +/*---------------------------------------------------------------------* + * IsmFileReader_open() + * + * Allocates memory for an IsmFileReader and opens the file at given path for reading. + *---------------------------------------------------------------------*/ + +IsmFileReader *IsmFileReader_open( + const char *filePath /* i : path to ism metadata file */ +) +{ + IsmFileReader *self; + FILE *file; + + if ( !filePath ) + { + return NULL; + } + + file = fopen( filePath, "rt" ); + + if ( !file ) + { + return NULL; + } + + self = calloc( sizeof( IsmFileReader ), 1 ); + self->file = file; + self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); + strcpy( self->file_path, filePath ); + + return self; +} + + +/*---------------------------------------------------------------------* + * IsmFileReader_readNextFrame() + * + * Reads ISM metadata from a previously opened file into the provided struct. + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error IsmFileReader_readNextFrame( + IsmFileReader *self, /* i/o: IsmFileReader handle */ + IVAS_ISM_METADATA *ismMetadata /* o ISM : metadata read from the opened file */ +) +{ + char char_buff[META_LINE_LENGTH]; + float meta_prm[NUM_ISM_METADATA_PER_LINE]; + char *char_ptr; + int16_t i; + FILE *file; + + if ( ismMetadata == NULL || self->file == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + file = self->file; + + if ( fgets( char_buff, META_LINE_LENGTH, file ) == NULL ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + char_ptr = strtok( char_buff, "," ); + i = 0; + meta_prm[i++] = (float) atof( char_ptr ); + if ( is_number( char_ptr ) == false ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + while ( ( char_ptr = strtok( NULL, "," ) ) != NULL && i < NUM_ISM_METADATA_PER_LINE ) + { + if ( is_number( char_ptr ) == false ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + meta_prm[i++] = (float) atof( char_ptr ); + } + + if ( i != NUM_ISM_METADATA_PER_LINE ) + { + /* Not enough values provided in one line */ + return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; + } + + if ( char_ptr != NULL ) + { + /* Too many values provided in one line */ + return IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT; + } + + ismMetadata->azimuth = meta_prm[0]; + ismMetadata->elevation = meta_prm[1]; + ismMetadata->radius = meta_prm[2]; + ismMetadata->spread = meta_prm[3]; + ismMetadata->gainFactor = meta_prm[4]; + + /* verify whether the read metadata values are in an expected range */ + if ( ismMetadata->azimuth > 180 || ismMetadata->azimuth < -180 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->elevation > 90 || ismMetadata->elevation < -90 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->radius < 0 ) // Ivas_fmToDo: to be reviewed + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->spread > 360 || ismMetadata->spread < 0 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + if ( ismMetadata->gainFactor > 1 || ismMetadata->gainFactor < 0 ) + { + return IVAS_ERR_ISM_INVALID_METADATA_VALUE; + } + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * IsmFileReader_close() + * + * De-allocates all underlying memory of an IsmFileReader. + *---------------------------------------------------------------------*/ + +void IsmFileReader_close( + IsmFileReader **selfPtr /* i/o: pointer to IsmFileReader handle */ +) +{ + if ( selfPtr == NULL || *selfPtr == NULL ) + { + return; + } + + fclose( ( *selfPtr )->file ); + free( ( *selfPtr )->file_path ); + free( *selfPtr ); + *selfPtr = NULL; + + return; +} + + +/*---------------------------------------------------------------------* + * IsmFileReader_getFilePath() + * + *---------------------------------------------------------------------*/ + +const char *IsmFileReader_getFilePath( + IsmFileReader *self /* i/o: IsmFileReader handle */ +) +{ + if ( self == NULL ) + { + return NULL; + } + + return self->file_path; +} diff --git a/lib_util/ism_file_reader.h b/lib_util/ism_file_reader.h new file mode 100644 index 0000000000..d618621d32 --- /dev/null +++ b/lib_util/ism_file_reader.h @@ -0,0 +1,67 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_ISM_FILE_READER_H +#define IVAS_ISM_FILE_READER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + +/* clang-format off */ + +typedef struct IsmFileReader IsmFileReader; + + +/*! r: IsmFileReader handle */ +IsmFileReader *IsmFileReader_open( + const char *filePath /* i : path to ISM metadata file */ +); + +/*! r: error code */ +ivas_error IsmFileReader_readNextFrame( + IsmFileReader *self, /* i/o: IsmFileReader handle */ + IVAS_ISM_METADATA *ismMetadata /* o : ISM metadata read from the opened file */ +); + +void IsmFileReader_close( + IsmFileReader **selfPtr /* i/o: pointer to IsmFileReader handle */ +); + +/*! r: path to the currently opened file or NULL if `self` is NULL */ +const char *IsmFileReader_getFilePath( + IsmFileReader* self /* i/o: IsmFileReader handle */ +); +/* clang-format on */ + + +#endif /* IVAS_ISM_FILE_READER_H */ diff --git a/lib_util/ism_file_writer.c b/lib_util/ism_file_writer.c new file mode 100644 index 0000000000..ac90e7b1eb --- /dev/null +++ b/lib_util/ism_file_writer.c @@ -0,0 +1,174 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "ism_file_writer.h" +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + + +#define META_LINE_LENGTH 200 /* max number of characters at one line of metadata input/output file */ +#define NUM_ISM_METADATA_PER_LINE 5 /* Number of ISM metadata per line in a metadata file */ + + +struct IsmFileWriter +{ + FILE *file; + char *file_path; +}; + +/*---------------------------------------------------------------------* + * IsmFileWriter_open() + * + * Allocates memory for an IsmFileReader and opens the file at given path for writing. + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error IsmFileWriter_open( + const char *filePathWav, /* i : path to output file */ + const int16_t obj_num, /* i : ISm number */ + IsmFileWriter **ismWriter /* o : IsmFileWriter handle */ +) +{ + char filePath[FILENAME_MAX], metadata_filename_loc[FILENAME_MAX - 12], ext_meta[16]; + IsmFileWriter *self; + FILE *file; + + strncpy( metadata_filename_loc, filePathWav, sizeof( metadata_filename_loc ) - 1 ); + sprintf( ext_meta, ".%d.csv", obj_num ); + const int32_t maxNumCharactersToAppend = (int32_t) sizeof( metadata_filename_loc ) - strlen( metadata_filename_loc ) - 1; + strncat( metadata_filename_loc, ext_meta, maxNumCharactersToAppend ); + + strcpy( filePath, metadata_filename_loc ); + metadata_filename_loc[strlen( metadata_filename_loc ) - strlen( ext_meta )] = '\0'; + + if ( strlen( filePathWav ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + file = fopen( filePath, "w" ); + + if ( !file ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + self = calloc( sizeof( IsmFileWriter ), 1 ); + self->file = file; + self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); + strcpy( self->file_path, filePath ); + + *ismWriter = self; + + return IVAS_ERR_OK; +} + +/*---------------------------------------------------------------------* + * IsmFileWriter_writeFrame() + * + * Writes ISM metadata into a previously opened file + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error IsmFileWriter_writeFrame( + const IVAS_ISM_METADATA ismMetadata, /* i : decoded ISM metadata */ + IsmFileWriter *ismWriter /* o : IsmFileReader handle */ +) +{ + char char_buff[META_LINE_LENGTH]; + FILE *file; + + if ( ismWriter->file == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + file = ismWriter->file; + + /* IVAS_fmToDo: work in progress; currently position_azimuth, position_elevation, position_radius, spread, gain_factor */ + sprintf( char_buff, "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor ); + + if ( file ) + { + fputs( char_buff, file ); + } + else + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * IsmFileWriter_close() + * + * De-allocates all underlying memory of an IsmFileWriter. + *---------------------------------------------------------------------*/ + +void IsmFileWriter_close( + IsmFileWriter **ismWriter /* i/o: pointer to IsmFileWriter handle */ +) +{ + if ( ismWriter == NULL || *ismWriter == NULL ) + { + return; + } + + fclose( ( *ismWriter )->file ); + free( ( *ismWriter )->file_path ); + free( *ismWriter ); + *ismWriter = NULL; + + return; +} + + +/*---------------------------------------------------------------------* + * IsmFileWriter_getFilePath() + * + *---------------------------------------------------------------------*/ + +/*! r: path to the currently opened file or NULL if `ismWriter` is NULL */ +const char *IsmFileWriter_getFilePath( + IsmFileWriter *ismWriter /* i/o: IsmFileWriter handle */ +) +{ + if ( ismWriter == NULL ) + { + return NULL; + } + + return ismWriter->file_path; +} diff --git a/lib_util/ism_file_writer.h b/lib_util/ism_file_writer.h new file mode 100644 index 0000000000..1624eddd1a --- /dev/null +++ b/lib_util/ism_file_writer.h @@ -0,0 +1,70 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_ISM_FILE_WRITER_H +#define IVAS_ISM_FILE_WRITER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + + +typedef struct IsmFileWriter IsmFileWriter; + +/* clang-format off */ + +/*! r: error code */ +ivas_error IsmFileWriter_open( + const char *filePathWav, /* i : path to output file */ + const int16_t obj_num, /* i : ISm number */ + IsmFileWriter **ismWriter /* o : IsmFileReader handle */ +); + +/*! r: error code */ +ivas_error IsmFileWriter_writeFrame( + const IVAS_ISM_METADATA ismMetadata, /* i : decoded ISM metadata */ + IsmFileWriter *ismWriter /* o : IsmFileWriter handle */ +); + +void IsmFileWriter_close( + IsmFileWriter **ismWriter /* i/o: pointer to IsmFileWriter handle */ +); + +/*! r: path to the currently opened file or NULL if `ismWriter` is NULL */ +const char *IsmFileWriter_getFilePath( + IsmFileWriter *ismWriter /* i : IsmFileWriter handle */ +); + + +/* clang-format on */ + +#endif /* IVAS_ISM_FILE_WRITER_H */ diff --git a/lib_util/jbm_file_reader.c b/lib_util/jbm_file_reader.c new file mode 100644 index 0000000000..7360f0ced6 --- /dev/null +++ b/lib_util/jbm_file_reader.c @@ -0,0 +1,181 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "jbm_file_reader.h" +#include "cmdl_tools.h" +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +struct JbmFileReader +{ + FILE *file; + char *file_path; +}; + + +/*---------------------------------------------------------------------* + * JbmFileReader_open() + * + * Allocates memory for an JbmFileReader and opens the file at given path for reading. + *---------------------------------------------------------------------*/ + +/*! r: JbmFileReader handle */ +JbmFileReader *JbmFileReader_open( + const char *filePath /* i : path to CA config file */ +) +{ + JbmFileReader *self; + FILE *file; + + if ( !filePath ) + { + return NULL; + } + + file = fopen( filePath, "rb" ); + + if ( !file ) + { + return NULL; + } + + self = calloc( sizeof( JbmFileReader ), 1 ); + self->file = file; + self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); + strcpy( self->file_path, filePath ); + + return self; +} + + +/*---------------------------------------------------------------------* + * JbmFileReader_readCAconfig() + * + * Read Chanel-aware config. entry + *---------------------------------------------------------------------*/ + +ivas_error JbmFileReader_readCAconfig( + JbmFileReader *self, /* i/o: JbmFileReader handle */ + IVAS_ENC_CHANNEL_AWARE_CONFIG *caConfig /* i/o: configuration of channel-aware mode */ +) +{ + char rline[10], str[4]; + int16_t tmp; + + /* Initialize */ + caConfig->fec_offset = 0; + caConfig->fec_indicator = IVAS_ENC_FEC_HI; + + while ( fgets( rline, 10, self->file ) == NULL && feof( self->file ) ) + { + rewind( self->file ); + } + + if ( sscanf( rline, "%s %hd", str, &tmp ) != 2 ) + { + fprintf( stderr, "Error in the RF configuration file. There is no proper configuration line.\n" ); + return IVAS_ERR_INVALID_FEC_CONFIG; + } + + /* Read RF FEC indicator */ + to_upper( str ); + + if ( strcmp( str, "HI" ) == 0 ) + { + caConfig->fec_indicator = IVAS_ENC_FEC_HI; + } + else if ( strcmp( str, "LO" ) == 0 ) + { + caConfig->fec_indicator = IVAS_ENC_FEC_LO; + } + else + { + fprintf( stderr, "Error: Incorrect FEC indicator string. Exiting the encoder.\n" ); + return IVAS_ERR_INVALID_FEC_CONFIG; + } + + /* Read RF FEC offset */ + if ( tmp == 0 || tmp == 2 || tmp == 3 || tmp == 5 || tmp == 7 ) + { + caConfig->fec_offset = tmp; + } + else + { + fprintf( stderr, "Error: incorrect FEC offset specified in the RF configuration file; RF offset can be 2, 3, 5, or 7. \n" ); + return IVAS_ERR_INVALID_FEC_CONFIG; + } + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * JbmFileReader_close() + * + * De-allocates all underlying memory of an JbmFileReader. + *---------------------------------------------------------------------*/ + +void JbmFileReader_close( + JbmFileReader **selfPtr /* i/o: pointer to JbmFileReader handle */ +) +{ + if ( selfPtr == NULL || *selfPtr == NULL ) + { + return; + } + + fclose( ( *selfPtr )->file ); + free( ( *selfPtr )->file_path ); + free( *selfPtr ); + *selfPtr = NULL; + + return; +} + + +/*---------------------------------------------------------------------* + * JbmFileReader_getFilePath() + * + *---------------------------------------------------------------------*/ + +const char *JbmFileReader_getFilePath( + JbmFileReader *self /* i/o: JbmFileReader handle */ +) +{ + if ( self == NULL ) + { + return NULL; + } + + return self->file_path; +} diff --git a/lib_util/jbm_file_reader.h b/lib_util/jbm_file_reader.h new file mode 100644 index 0000000000..dca0a6c135 --- /dev/null +++ b/lib_util/jbm_file_reader.h @@ -0,0 +1,67 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_JBM_FILE_READER_H +#define IVAS_JBM_FILE_READER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + +/* clang-format off */ + +typedef struct JbmFileReader JbmFileReader; + + +/*! r: JbmFileReader handle */ +JbmFileReader *JbmFileReader_open( + const char *filePath /* i : path to CA config file */ +); + +ivas_error JbmFileReader_readCAconfig( + JbmFileReader* self, /* i/o: JbmFileReader handle */ + IVAS_ENC_CHANNEL_AWARE_CONFIG *caConfig /* i/o: configuration of channel-aware mode */ +); + +void JbmFileReader_close( + JbmFileReader **selfPtr /* i/o: pointer to JbmFileReader handle */ +); + +/*! r: path to the currently opened file or NULL if `self` is NULL */ +const char *JbmFileReader_getFilePath( + JbmFileReader* self /* i/o: JbmFileReader handle */ +); + + +/* clang-format on */ + +#endif /* IVAS_JBM_FILE_READER_H */ diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c new file mode 100644 index 0000000000..bf34c51872 --- /dev/null +++ b/lib_util/jbm_file_writer.c @@ -0,0 +1,293 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "jbm_file_writer.h" +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + + +struct JbmOffsetFileWriter +{ + FILE *file; + char *file_path; +}; + +#ifdef SUPPORT_JBM_TRACEFILE +struct JbmTraceFileWriter +{ + FILE *file; + char *file_path; +}; +#endif + + +/*---------------------------------------------------------------------* + * JbmOffsetFileWriter_open() + * + * Allocates memory for an JbmOffsetFileReader and opens the file at given path for writing. + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error JbmOffsetFileWriter_open( + const char *jbmOffsetFilename, /* i : path to output JBM offset file */ + JbmOffsetFileWriter **jbmOffsetWriter /* o : JbmOffsetFileWriter handle */ +) +{ + JbmOffsetFileWriter *self; + FILE *file; + + if ( strlen( jbmOffsetFilename ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + file = fopen( jbmOffsetFilename, "w" ); + + if ( !file ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + self = calloc( sizeof( JbmTraceFileWriter ), 1 ); + self->file = file; + self->file_path = calloc( sizeof( char ), strlen( jbmOffsetFilename ) + 1 ); + strcpy( self->file_path, jbmOffsetFilename ); + + *jbmOffsetWriter = self; + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * JbmOffsetFileWriter_writeFrame() + * + * Writes JBM offset to a previously opened file. + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error JbmOffsetFileWriter_writeFrame( + const int16_t FEC_hi, + int16_t optimum_offset, + JbmOffsetFileWriter *jbmOffsetWriter /* i/o: JbmOffsetFileWriter handle */ +) +{ + FILE *file; + + if ( jbmOffsetWriter->file == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + file = jbmOffsetWriter->file; + + if ( file ) + { + if ( FEC_hi == 1 ) + { + fprintf( file, "HI " ); + } + else + { + fprintf( file, "LO " ); + } + + if ( optimum_offset == 1 || optimum_offset == 2 ) + { + optimum_offset = 2; + } + else if ( optimum_offset == 3 || optimum_offset == 4 ) + { + optimum_offset = 3; + } + else if ( optimum_offset == 5 || optimum_offset == 6 ) + { + optimum_offset = 5; + } + else if ( optimum_offset >= 7 ) + { + optimum_offset = 7; + } + + fprintf( file, "%d\n", optimum_offset ); + } + else + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * JbmOffsetFileWriter_close() + * + * De-allocates all underlying memory of an JbmOffsetFileWriter. + *---------------------------------------------------------------------*/ + +void JbmOffsetFileWriter_close( + JbmOffsetFileWriter **jbmOffsetWriter /* i/o: pointer to JbmOffsetFileWriter handle */ +) +{ + if ( jbmOffsetWriter == NULL || *jbmOffsetWriter == NULL ) + { + return; + } + + fclose( ( *jbmOffsetWriter )->file ); + free( ( *jbmOffsetWriter )->file_path ); + free( *jbmOffsetWriter ); + *jbmOffsetWriter = NULL; + + return; +} + + +#ifdef SUPPORT_JBM_TRACEFILE + +/*---------------------------------------------------------------------* + * JbmTraceFileWriter_open() + * + * Allocates memory for an JbmTraceFileReader and opens the file at given path for writing. + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error JbmTraceFileWriter_open( + const char *jbmTraceFilename, /* i : path to output JBM tracefile */ + JbmTraceFileWriter **jbmTraceWriter /* o : JbmFileWriter handle */ +) +{ + JbmTraceFileWriter *self; + FILE *file; + +#ifdef SUPPORT_JBM_TRACEFILE +#endif + + if ( strlen( jbmTraceFilename ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + file = fopen( jbmTraceFilename, "w" ); + + if ( !file ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + fprintf( file, "#rtpSeqNo;rtpTs;rcvTime;playTime;active\n" ); + + self = calloc( sizeof( JbmTraceFileWriter ), 1 ); + self->file = file; + self->file_path = calloc( sizeof( char ), strlen( jbmTraceFilename ) + 1 ); + strcpy( self->file_path, jbmTraceFilename ); + + *jbmTraceWriter = self; + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * JbmTraceFileWriter_writeFrame() + * + * Writes JBM Tracefile data to a previously opened file. + *---------------------------------------------------------------------*/ + +/*! r: error code */ +ivas_error JbmTraceFileWriter_writeFrame( + const IVAS_JBM_TRACE_DATA *JbmTraceData, /* i : JBM trace data */ + JbmTraceFileWriter *jbmTraceWriter /* o : JbmTraceFileWriter handle */ +) +{ + FILE *file; + + if ( jbmTraceWriter->file == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + file = jbmTraceWriter->file; + + if ( file ) + { + /* rtpSeqNo;rtpTs;rcvTime;playTime;active\n */ + if ( JbmTraceData->dataUnit_flag ) + { + if ( JbmTraceData->partial_frame_flag == 1 ) + { + fprintf( file, "%d;%d;%d;%f;%d;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive, JbmTraceData->partialCopyOffset ); + } + else + { + fprintf( file, "%u;%u;%u;%f;%d\n", JbmTraceData->sequenceNumber, JbmTraceData->timeStamp, JbmTraceData->rcvTime, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); + } + } + else + { + fprintf( file, "%d;%d;%d;%f;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); + } + } + else + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * JbmTraceFileWriter_close() + * + * De-allocates all underlying memory of an JbmTraceFileWriter. + *---------------------------------------------------------------------*/ + +void JbmTraceFileWriter_close( + JbmTraceFileWriter **jbmTraceWriter /* i/o: pointer to JbmTraceFileWriter handle */ +) +{ + if ( jbmTraceWriter == NULL || *jbmTraceWriter == NULL ) + { + return; + } + + fclose( ( *jbmTraceWriter )->file ); + free( ( *jbmTraceWriter )->file_path ); + free( *jbmTraceWriter ); + *jbmTraceWriter = NULL; + + return; +} +#endif diff --git a/lib_util/jbm_file_writer.h b/lib_util/jbm_file_writer.h new file mode 100644 index 0000000000..5cfab08f61 --- /dev/null +++ b/lib_util/jbm_file_writer.h @@ -0,0 +1,86 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_JBM_FILE_WRITER_H +#define IVAS_JBM_FILE_WRITER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + +/* clang-format off */ + + +typedef struct JbmOffsetFileWriter JbmOffsetFileWriter; +#ifdef SUPPORT_JBM_TRACEFILE +typedef struct JbmTraceFileWriter JbmTraceFileWriter; +#endif + + +ivas_error JbmOffsetFileWriter_open( + const char *jbmOffsetFilename, /* i : path to output JBM offset file */ + JbmOffsetFileWriter **jbmOffsetWriter /* o : JbmOffsetFileWriter handle */ +); + +/*! r: error code */ +ivas_error JbmOffsetFileWriter_writeFrame( + const int16_t FEC_hi, + int16_t optimum_offset, + JbmOffsetFileWriter *jbmOffsetWriter /* o : JbmTOffsetFileWriter handle */ +); + +void JbmOffsetFileWriter_close( + JbmOffsetFileWriter **jbmOffsetWriter /* i/o: pointer to JbmOffsetFileWriter handle */ +); + + +#ifdef SUPPORT_JBM_TRACEFILE +/*! r: error code */ +ivas_error JbmTraceFileWriter_open( + const char *jbmTraceFilename, /* i : path to output JBM tracefile */ + JbmTraceFileWriter **jbmTraceWriter /* o : JbmTraceFileWriter handle */ +); + +/*! r: error code */ +ivas_error JbmTraceFileWriter_writeFrame( + const IVAS_JBM_TRACE_DATA *JbmTraceData, /* i : JBM data */ + JbmTraceFileWriter *jbmWriter /* o : JbmTraceFileWriter handle */ +); + +void JbmTraceFileWriter_close( + JbmTraceFileWriter **jbmTraceWriter /* i/o: pointer to JbmTraceFileWriter handle */ +); +#endif + +/* clang-format on */ + +#endif /* IVAS_JBM_FILE_WRITER_H */ diff --git a/lib_util/ls_custom_file_reader.c b/lib_util/ls_custom_file_reader.c new file mode 100644 index 0000000000..58d78de068 --- /dev/null +++ b/lib_util/ls_custom_file_reader.c @@ -0,0 +1,404 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "ls_custom_file_reader.h" +#include <stdlib.h> +#include <stdio.h> +#include <string.h> +#include "ivas_prot.h" +#include "prot.h" + + +struct LsCustomFileReader +{ + FILE *file; + char *file_path; +}; + + +/*-----------------------------------------------------------------------* + * CustomLsReader_open() + * + * Allocate and initialize Custom LS layout reader + *-----------------------------------------------------------------------*/ + +ivas_error CustomLsReader_open( + const char *LsFilePath, /* i : LS custom layout file name */ + LsCustomFileReader **hLsCustomReader /* o : HeadRotFileReader handle */ +) +{ + LsCustomFileReader *self; + FILE *lsFile; + + /* Open trajectory file */ + if ( strlen( LsFilePath ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + lsFile = fopen( LsFilePath, "r" ); + + if ( !lsFile ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + self = calloc( sizeof( LsCustomFileReader ), 1 ); + self->file = lsFile; + self->file_path = calloc( sizeof( char ), strlen( LsFilePath ) + 1 ); + strcpy( self->file_path, LsFilePath ); + + *hLsCustomReader = self; + + return IVAS_ERR_OK; +} + + +/*-----------------------------------------------------------------------* + * CustomLsReader_close() + * + * Deallocates memory for the Custom LS layout reader + *-----------------------------------------------------------------------*/ + +void CustomLsReader_close( + LsCustomFileReader **hLsCustomReader /* i/o: HeadRotFileReader handle */ +) +{ + if ( hLsCustomReader == NULL || *hLsCustomReader == NULL ) + { + return; + } + + fclose( ( *hLsCustomReader )->file ); + free( ( *hLsCustomReader )->file_path ); + free( *hLsCustomReader ); + *hLsCustomReader = NULL; + + return; +} + + +/*-------------------------------------------------------------------------* + * CustomLoudspeakerLayout_validate() + * + * Validate values for a custom loudspeaker setup + *-------------------------------------------------------------------------*/ + +static LS_CUSTOM_FILEREADER_ERROR CustomLoudspeakerLayout_validate( + int16_t *num_azi, /* i : Number of azimuth loudspeakers */ + int16_t *num_ele, /* i : Number of elevation loudspeakers */ + float *azi, /* i : Loudspeaker azimuths */ + float *ele, /* i : Loudspeaker elevations */ + const int16_t num_lfe /* i : Number of LFE channels */ +) +{ + int16_t i, j; + int16_t dup_count; + int16_t dup[IVAS_MAX_OUTPUT_CHANNELS]; + float azi_tmp[IVAS_MAX_OUTPUT_CHANNELS]; + float ele_tmp[IVAS_MAX_OUTPUT_CHANNELS]; + + if ( *num_azi != *num_ele ) + { + return LS_CUSTOM_FILEREADER_NUM_SPK_MISMATCH_ERROR; + } + + /* IVAS_OUTPUT_SETUP only supports 1 LFE - can be removed in the future */ + if ( num_lfe > 1 ) + { + return LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR; + } + + if ( ( *num_azi + num_lfe ) > IVAS_MAX_OUTPUT_CHANNELS ) + { + return LS_CUSTOM_FILEREADER_OUTPUT_NCHAN_EXCEEDED_ERROR; + } + + /* Wrap angles */ + for ( i = 0; i < *num_azi; i++ ) + { + panning_wrap_angles( azi[i], ele[i], &azi[i], &ele[i] ); + } + + /* Check for and flag duplicate loudspeakers */ + dup_count = 0; + set_s( dup, 0, IVAS_MAX_OUTPUT_CHANNELS ); + for ( i = 0; i < *num_azi; i++ ) + { + for ( j = i + 1; j < *num_azi; j++ ) + { + if ( azi[i] == azi[j] && ele[i] == ele[j] ) + { + dup[j] = 1; + } + } + } + + /* Remove duplicates from array */ + set_zero( azi_tmp, IVAS_MAX_OUTPUT_CHANNELS ); + set_zero( ele_tmp, IVAS_MAX_OUTPUT_CHANNELS ); + + for ( i = 0, j = 0; i < *num_azi; i++ ) + { + if ( dup[i] ) + { + dup_count++; + continue; + } + azi_tmp[j] = azi[i]; + ele_tmp[j] = ele[i]; + j++; + } + + ( *num_azi ) -= dup_count; + mvr2r( azi_tmp, azi, IVAS_MAX_OUTPUT_CHANNELS ); + mvr2r( ele_tmp, ele, IVAS_MAX_OUTPUT_CHANNELS ); + + return LS_CUSTOM_FILEREADER_NO_ERROR; +} + + +/*-------------------------------------------------------------------------* + * CustomLoudspeakerLayout_print_info() + * + * Print information for a custom loudspeaker setup + *-------------------------------------------------------------------------*/ + +static void CustomLoudspeakerLayout_print_info( + const IVAS_CUSTOM_LS_DATA *hLsCustomData /* i : Custom loudspeaker setup data */ +) +{ + int16_t i; + + fprintf( stdout, "\nCustom Loudspeaker configuration:" ); + fprintf( stdout, "\n AZI, ELE " ); + for ( i = 0; i < hLsCustomData->num_spk; i++ ) + { + fprintf( stdout, "\n(% 4.0f, % 4.0f)", hLsCustomData->azimuth[i], hLsCustomData->elevation[i] ); + } + + if ( hLsCustomData->num_lfe > 0 ) + { + fprintf( stdout, "\nLFE indice(s):" ); + for ( i = 0; i < ( hLsCustomData->num_lfe - 1 ); i++ ) + { + fprintf( stdout, " % 2d,", hLsCustomData->lfe_idx[i] ); + } + fprintf( stdout, " % 2d", hLsCustomData->lfe_idx[i] ); + } + + fprintf( stdout, "\n" ); + + return; +} + + +/*-------------------------------------------------------------------------* + * CustomLsFileReading() + * + * Parse a custom loudspeaker setup file data + *-------------------------------------------------------------------------*/ + +LS_CUSTOM_FILEREADER_ERROR CustomLsFileReading( + LsCustomFileReader *hLsCustomReader, /* i/o: HeadRotFileReader handle */ + IVAS_CUSTOM_LS_DATA *hLsCustomData /* o : Custom loudspeaker setup data */ +) +{ + LS_CUSTOM_FILEREADER_ERROR error; + + char line[200]; /* > (10 chars * IVAS_MAX_OUTPUT_CHANNELS) i.e. "-999, " */ + const char *tok; + + int16_t num_azi, num_ele, num_lfe; + + /* initialize variables */ + num_azi = 0; + num_ele = 0; + num_lfe = 0; + + set_zero( hLsCustomData->azimuth, IVAS_MAX_OUTPUT_CHANNELS ); + set_zero( hLsCustomData->elevation, IVAS_MAX_OUTPUT_CHANNELS ); + set_s( hLsCustomData->lfe_idx, -1, IVAS_MAX_OUTPUT_CHANNELS ); + + if ( hLsCustomReader->file == NULL ) + { + return LS_CUSTOM_FILEREADER_NULL_PTR; + } + + /* parse loudspeaker azimuths */ + if ( ( fgets( line, 200, hLsCustomReader->file ) == NULL ) || ( strcmp( line, "\n" ) == 0 ) || ( strcmp( line, "\r\n" ) == 0 ) ) + { + fclose( hLsCustomReader->file ); + + return LS_CUSTOM_FILEREADER_EOF_ERROR; + } + + for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) + { + while ( *tok == ' ' ) + { + tok++; + } + + if ( *tok == '\0' ) + { + continue; + } + + if ( num_azi >= IVAS_MAX_OUTPUT_CHANNELS ) + { + return LS_CUSTOM_FILEREADER_AZI_NUM_SPK_EXCEEDED_ERROR; + } + else + { + hLsCustomData->azimuth[num_azi] = (float) atof( tok ); + num_azi++; + } + } + + /* parse loudspeaker elevations */ + if ( ( fgets( line, 200, hLsCustomReader->file ) == NULL ) || ( strcmp( line, "\n" ) == 0 ) || ( strcmp( line, "\r\n" ) == 0 ) ) + { + return LS_CUSTOM_FILEREADER_EOF_ERROR; + } + + for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) + { + while ( *tok == ' ' ) + { + tok++; + } + + if ( *tok == '\0' ) + { + continue; + } + + if ( num_ele >= IVAS_MAX_OUTPUT_CHANNELS ) + { + return LS_CUSTOM_FILEREADER_ELE_NUM_SPK_EXCEEDED_ERROR; + } + else + { + hLsCustomData->elevation[num_ele] = (float) atof( tok ); + num_ele++; + } + } + + /* parse LFE indices; skip if blank line */ + if ( ( fgets( line, 200, hLsCustomReader->file ) != NULL ) && ( strcmp( line, "\n" ) != 0 ) && ( strcmp( line, "\r\n" ) != 0 ) ) + { + for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) + { + while ( *tok == ' ' ) + { + tok++; + } + + if ( *tok == '\0' ) + { + continue; + } + + if ( num_lfe > IVAS_MAX_OUTPUT_CHANNELS ) + { + return LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR; + } + else + { + hLsCustomData->lfe_idx[num_lfe] = (int16_t) atoi( tok ); + if ( hLsCustomData->lfe_idx[num_lfe] < 0 || hLsCustomData->lfe_idx[num_lfe] > ( IVAS_MAX_OUTPUT_CHANNELS - 1 ) ) + { + return LS_CUSTOM_FILEREADER_LFE_INDEX_ERROR; + } + num_lfe++; + } + } + } + + /* Perform validation */ + if ( ( error = CustomLoudspeakerLayout_validate( &num_azi, &num_ele, hLsCustomData->azimuth, hLsCustomData->elevation, num_lfe ) ) != LS_CUSTOM_FILEREADER_NO_ERROR ) + { + return error; + } + + /* Loudspeaker azimuths and elevations */ + hLsCustomData->num_spk = num_azi; + + /* Loudspeaker LFE */ + hLsCustomData->num_lfe = num_lfe; + + /* Print information about setup */ + CustomLoudspeakerLayout_print_info( hLsCustomData ); + + return LS_CUSTOM_FILEREADER_NO_ERROR; +} + + +/*-------------------------------------------------------------------------* + * CustomLoudspeakerLayout_getError() + * + * Retrun error message for custom loudspeaker setup error + *-------------------------------------------------------------------------*/ + +/*!r : custom LS error message */ +const char *CustomLoudspeakerLayout_getError( + LS_CUSTOM_FILEREADER_ERROR error /* i : custom LS error */ +) +{ + switch ( error ) + { + case LS_CUSTOM_FILEREADER_NO_ERROR: + return "no error"; + case LS_CUSTOM_FILEREADER_NULL_PTR: + return "unexpected NULL pointer"; + case LS_CUSTOM_FILEREADER_EOF_ERROR: + return "early or unexpected EOF"; + case LS_CUSTOM_FILEREADER_AZI_NUM_SPK_EXCEEDED_ERROR: + return "too many azimuth positions specified"; + case LS_CUSTOM_FILEREADER_ELE_NUM_SPK_EXCEEDED_ERROR: + return "too many elevation positions specified"; + case LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR: + return "only one LFE channel index is supported"; + case LS_CUSTOM_FILEREADER_LFE_INDEX_ERROR: + return "invalid or negative LFE index specified"; + case LS_CUSTOM_FILEREADER_NUM_SPK_MISMATCH_ERROR: + return "mismatch between specified number of azimuth and elevation positions"; + case LS_CUSTOM_FILEREADER_OUTPUT_NCHAN_EXCEEDED_ERROR: + return "too many output channels specified"; + case LS_CUSTOM_FILEREADER_MALLOC_ERROR: + return "error allocating memory"; + case LS_CUSTOM_FILEREADER_UNKNOWN_ERROR: + default: + return "unknown error"; + } +} diff --git a/lib_util/ls_custom_file_reader.h b/lib_util/ls_custom_file_reader.h new file mode 100644 index 0000000000..e35c06ea88 --- /dev/null +++ b/lib_util/ls_custom_file_reader.h @@ -0,0 +1,105 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_LS_CUSTOM_FILE_READER_H +#define IVAS_LS_CUSTOM_FILE_READER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + + +typedef struct LsCustomFileReader LsCustomFileReader; + + +typedef enum _LS_CUSTOM_FILEREADER_ERROR +{ + LS_CUSTOM_FILEREADER_NO_ERROR = 0x0000, + LS_CUSTOM_FILEREADER_NULL_PTR = 0x0001, + LS_CUSTOM_FILEREADER_EOF_ERROR = 0x0002, + LS_CUSTOM_FILEREADER_AZI_NUM_SPK_EXCEEDED_ERROR = 0x0003, + LS_CUSTOM_FILEREADER_ELE_NUM_SPK_EXCEEDED_ERROR = 0x0004, + LS_CUSTOM_FILEREADER_LFE_NUM_SPK_EXCEEDED_ERROR = 0x0005, + LS_CUSTOM_FILEREADER_LFE_INDEX_ERROR = 0x0006, + LS_CUSTOM_FILEREADER_NUM_SPK_MISMATCH_ERROR = 0x0007, + LS_CUSTOM_FILEREADER_OUTPUT_NCHAN_EXCEEDED_ERROR = 0x0008, + LS_CUSTOM_FILEREADER_MALLOC_ERROR = 0x0009, + LS_CUSTOM_FILEREADER_UNKNOWN_ERROR = 0xffff, + +} LS_CUSTOM_FILEREADER_ERROR; + + +/*-----------------------------------------------------------------------* + * CustomLsReader_open() + * + * Allocate and initialize Custom LS layout reader + *-----------------------------------------------------------------------*/ + +ivas_error CustomLsReader_open( + const char *LsFilePath, /* i : LS custom layout file name */ + LsCustomFileReader **hLsCustomReader /* o : HeadRotFileReader handle */ +); + +/*-----------------------------------------------------------------------* + * CustomLsReader_close() + * + * Deallocates memory for the Custom LS layout reader + *-----------------------------------------------------------------------*/ + +void CustomLsReader_close( + LsCustomFileReader **hLsCustomReader /* i/o: HeadRotFileReader handle */ +); + +/*-------------------------------------------------------------------------* + * CustomLsFileReading() + * + * Parse a custom loudspeaker setup file data + *-------------------------------------------------------------------------*/ + +LS_CUSTOM_FILEREADER_ERROR CustomLsFileReading( + LsCustomFileReader *hLsCustomReader, /* i/o: HeadRotFileReader handle */ + IVAS_CUSTOM_LS_DATA *hLsCustomData /* o : Custom loudspeaker setup data */ +); + +/*-------------------------------------------------------------------------* + * CustomLoudspeakerLayout_getError() + * + * Retrun error message for custom loudspeaker setup error + *-------------------------------------------------------------------------*/ + +/*!r : custom LS error message */ +const char *CustomLoudspeakerLayout_getError( + LS_CUSTOM_FILEREADER_ERROR error /* i : custom LS error */ +); + + +#endif /* IVAS_LS_CUSTOM_FILE_READER_H */ diff --git a/lib_util/masa_file_reader.c b/lib_util/masa_file_reader.c new file mode 100644 index 0000000000..918d613d37 --- /dev/null +++ b/lib_util/masa_file_reader.c @@ -0,0 +1,428 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "masa_file_reader.h" +#include "ivas_prot.h" +#include <stdio.h> +#include <stdlib.h> +#include <math.h> + + +struct MasaFileReader +{ + FILE *file; + MASA_METADATA_FRAME metadataFrame; + SPHERICAL_GRID_DATA sph_grid16; +}; + +/*------------------------------------------------------------------------- + * MasaFileReader_open() + * + * Allocate and open MasaFileReader handle + *------------------------------------------------------------------------*/ + +MasaFileReader *MasaFileReader_open( + const char *fileName /* i : path to MASA metadata file */ +) +{ + MasaFileReader *self; + FILE *file; + + if ( !fileName ) + { + return NULL; + } + + file = fopen( fileName, "rb" ); + + if ( !file ) + { + return NULL; + } + + self = calloc( sizeof( MasaFileReader ), 1 ); + self->file = file; + generate_gridEq( &self->sph_grid16 ); + + return self; +} + + +/*------------------------------------------------------------------------- + * MasaFileReader_getMetadataHandle() + * + * AGet MasaFileReader handle + *------------------------------------------------------------------------*/ + +IVAS_MASA_METADATA_HANDLE MasaFileReader_getMetadataHandle( + MasaFileReader *self /* i/o: MasaFileReader handle */ +) +{ + if ( self == NULL ) + { + return NULL; + } + + return &self->metadataFrame; +} + +/*------------------------------------------------------------------------- + * deindex_sph_idx() + * + * deindex the MASA metadata from the input metadata file + *------------------------------------------------------------------------*/ + +static void deindex_sph_idx( + const uint16_t sphIndex, /* i : Spherical index */ + const SPHERICAL_GRID_DATA *gridData, /* i : Prepared spherical grid */ + float *theta, /* o : Elevation */ + float *phi /* o : Azimuth */ +) +{ + float ba_crt, del_crt, div_crt, a4_crt; + float estim; + int32_t base_low, base_up; + int16_t n_crt; + int16_t id_th; + int16_t sign_theta; + int16_t id_phi; + int16_t no_th = gridData->no_theta; + const int16_t *n = gridData->no_phi; + const float ba[3] = { + 2.137991118026424e+02f, + 1.244854404591542e+02f, + 1.228408647140870e+02f, + }; + const float del[3] = { 7.998262115303199e+05f, 1.300883976959332e+06f, 1.424072242426373e+06f }; + const float div[3] = { -0.237662341081474f, -0.100938185496887f, -0.092050209205032f }; + const float a4[3] = { -8.415300425381099f, -19.814106922515204f, -21.727272727270197f }; + const uint16_t limit_index1 = 64964, limit_index2 = 47870; + + if ( sphIndex >= limit_index1 ) + { + ba_crt = ba[2]; + div_crt = div[2]; + a4_crt = a4[2]; + del_crt = del[2]; + } + else if ( sphIndex >= limit_index2 ) + { + ba_crt = ba[1]; + div_crt = div[1]; + a4_crt = a4[1]; + del_crt = del[1]; + } + else + { + ba_crt = ba[0]; + div_crt = div[0]; + a4_crt = a4[0]; + del_crt = del[0]; + } + estim = ba_crt + div_crt * sqrtf( del_crt + a4_crt * sphIndex ); + + if ( estim > MASA_NO_CIRCLES ) + { + estim = MASA_NO_CIRCLES; + } + + assert( estim > 0 ); + id_th = (int16_t) roundf( estim ) - 1; + if ( id_th < 0 ) + { + id_th = 0; + } + + if ( id_th == 0 ) + { + base_low = 0; + base_up = n[0]; + } + else + { + estim = MASA_ANGLE_AT_EQUATOR * (float) ( id_th - 0.5f ); + base_low = n[0]; + if ( id_th >= 2 ) + { + if ( id_th == 2 ) + { + base_low += 2 * (int16_t) ceilf( MASA_NTOT2_FAC * ( sinf( estim ) - MASA_ASIN_OFFSET ) ); + } + else + { + base_low += 2 * (int16_t) roundf( MASA_NTOT2_FAC * ( sinf( estim ) - MASA_ASIN_OFFSET ) ); + } + } + base_up = base_low + 2 * n[id_th]; + } + + sign_theta = 1; + + n_crt = n[id_th]; + if ( sphIndex < base_low ) + { + id_th--; + n_crt = n[id_th]; + if ( id_th == 0 ) + { + base_low = 0; + base_up = n_crt; + } + else + { + base_up = base_low; + base_low -= 2 * n[id_th]; + } + assert( sphIndex >= base_low ); + } + else if ( sphIndex >= base_up ) + { + id_th++; + n_crt = n[id_th]; + base_low = base_up; + base_up += 2 * n_crt; + assert( sphIndex < base_up ); + } + + id_phi = (int16_t) ( sphIndex - base_low ); + if ( sphIndex - base_low >= n_crt ) + { + id_phi -= n_crt; + sign_theta = -1; + } + + if ( id_th == 0 ) + { + *theta = 0.f; + *phi = (float) sphIndex * 360 / (float) n_crt - 180; + } + else + { + if ( id_th == no_th - 1 ) + { + id_phi = 0; + *phi = -180; + *theta = 90 * (float) sign_theta; + } + else + { + *theta = id_th * MASA_ANGLE_AT_EQUATOR_DEG * (float) sign_theta; + if ( id_th % 2 == 0 ) + { + *phi = (float) id_phi * 360 / (float) n_crt - 180; + } + else + { + *phi = ( (float) id_phi + 0.5f ) * 360 / (float) n_crt - 180; + } + } + } + + return; +} + + +/*------------------------------------------------------------------------- + * MasaFileReader_readNextFrame() + * + * Read MASA data + *------------------------------------------------------------------------*/ + +ivas_error MasaFileReader_readNextFrame( + MasaFileReader *self /* i/o: MasaFileReader handle */ +) +{ + if ( self == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + const uint8_t ivasmasaFormatDescriptor[8] = { 0x49, 0x56, 0x41, 0x53, 0x4D, 0x41, 0x53, 0x41 }; /* "IVASMASA" */ + uint16_t twoByteBuffer = 0; + int16_t i, j, b; + IVAS_MASA_METADATA_HANDLE hMeta; + FILE *metafile; + uint16_t readIndex[MASA_FREQUENCY_BANDS]; + uint8_t readOther[MASA_FREQUENCY_BANDS]; + + hMeta = &self->metadataFrame; + metafile = self->file; + + /* Read version */ + if ( fread( &hMeta->descriptive_meta.formatDescriptor, sizeof( uint8_t ), 8, metafile ) != 8 ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( i = 0; i < 8; i++ ) + { + if ( hMeta->descriptive_meta.formatDescriptor[i] != ivasmasaFormatDescriptor[i] ) + { +#ifdef DEBUGGING + fprintf( stderr, "Input format is not IVASMASA\n" ); +#endif + return IVAS_ERR_INVALID_MASA_FORMAT_METADATA_FILE; + } + } + + /* Read combined descriptive meta */ + if ( fread( &twoByteBuffer, sizeof( uint16_t ), 1, metafile ) != 1 ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + /* Extract rest of the descriptive meta from the two-byte value */ + hMeta->descriptive_meta.numberOfDirections = ( twoByteBuffer >> 15u ) & 0x1u; + hMeta->descriptive_meta.numberOfChannels = ( twoByteBuffer >> 14u ) & 0x1u; + hMeta->descriptive_meta.sourceFormat = ( twoByteBuffer >> 12u ) & 0x3u; + if ( hMeta->descriptive_meta.sourceFormat == 0x0 || hMeta->descriptive_meta.sourceFormat == 0x1 ) + { + hMeta->descriptive_meta.transportDefinition = ( twoByteBuffer >> 9u ) & 0x7u; + hMeta->descriptive_meta.channelAngle = ( twoByteBuffer >> 6u ) & 0x7u; + hMeta->descriptive_meta.channelDistance = twoByteBuffer & 0x3Fu; + hMeta->descriptive_meta.channelLayout = 0; /* Set to zero as unused */ + } + else if ( hMeta->descriptive_meta.sourceFormat == 0x2 ) + { + hMeta->descriptive_meta.channelLayout = ( twoByteBuffer >> 9u ) & 0x7u; + /* 9 LSB unused */ + hMeta->descriptive_meta.transportDefinition = 0; /* Set to zero as unused */ + hMeta->descriptive_meta.channelAngle = 0; /* Set to zero as unused */ + hMeta->descriptive_meta.channelDistance = 0; /* Set to zero as unused */ + } + else if ( hMeta->descriptive_meta.sourceFormat == 0x3 ) + { + hMeta->descriptive_meta.transportDefinition = ( twoByteBuffer >> 9u ) & 0x7u; + hMeta->descriptive_meta.channelAngle = ( twoByteBuffer >> 6u ) & 0x7u; + /* 6 LSB unused */ + hMeta->descriptive_meta.channelDistance = 0; /* Set to zero as unused */ + hMeta->descriptive_meta.channelLayout = 0; /* Set to zero as unused */ + } + + for ( j = 0; j < MAX_PARAM_SPATIAL_SUBFRAMES; ++j ) + { + /* Read directional spatial meta */ + for ( i = 0; i < hMeta->descriptive_meta.numberOfDirections + 1; ++i ) + { + /* Spherical index */ + if ( fread( readIndex, sizeof( uint16_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) + { + deindex_sph_idx( readIndex[b], &self->sph_grid16, &( hMeta->directional_meta[i].elevation[j][b] ), &( hMeta->directional_meta[i].azimuth[j][b] ) ); + } + + /* Direct-to-total ratio */ + if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) + { + hMeta->directional_meta[i].energy_ratio[j][b] = ( (float) readOther[b] ) / UINT8_MAX; + } + + /* Spread coherence */ + if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) + { + hMeta->directional_meta[i].spread_coherence[j][b] = ( (float) readOther[b] ) / UINT8_MAX; + } + } + + /* Read common spatial meta */ + /* Diffuse-to-total ratio */ + if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) + { + hMeta->common_meta.diffuse_to_total_ratio[j][b] = ( (float) readOther[b] ) / UINT8_MAX; + } + + /* Surround coherence */ + if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) + { + hMeta->common_meta.surround_coherence[j][b] = ( (float) readOther[b] ) / UINT8_MAX; + } + + /* Remainder-to-total ratio */ + if ( fread( readOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, metafile ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_READ; + } + + for ( b = 0; b < MASA_FREQUENCY_BANDS; b++ ) + { + hMeta->common_meta.remainder_to_total_ratio[j][b] = ( (float) readOther[b] ) / UINT8_MAX; + } + } + + return IVAS_ERR_OK; +} + +/*------------------------------------------------------------------------- + * MasaFileReader_close() + * + * Close MasaFileReader + *------------------------------------------------------------------------*/ + +void MasaFileReader_close( + MasaFileReader **selfPtr /* i/o: pointer to MasaFileReader handle */ +) +{ + if ( selfPtr == NULL || *selfPtr == NULL ) + { + return; + } + + fclose( ( *selfPtr )->file ); + free( *selfPtr ); + *selfPtr = NULL; + + return; +} diff --git a/lib_util/masa_file_reader.h b/lib_util/masa_file_reader.h new file mode 100644 index 0000000000..898303c99e --- /dev/null +++ b/lib_util/masa_file_reader.h @@ -0,0 +1,85 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_MASA_FILE_READER_H +#define IVAS_MASA_FILE_READER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + + +struct MasaFileReader; +typedef struct MasaFileReader MasaFileReader; + + +/*! r: MasaFileReader handle */ +MasaFileReader *MasaFileReader_open( + const char *fileName /* i : path to MASA metadata file */ +); + +/*---------------------------------------------------------------------* + * MasaFileReader_getMetadataHandle() + * + * Returns a handle to an already allocated MASA metadata frame struct. + * Metadata for each frame is available through this handle after + * MasaFileReader_readNextFrame is called. + *---------------------------------------------------------------------*/ +/*! r: handle to MASA metadata */ +IVAS_MASA_METADATA_HANDLE MasaFileReader_getMetadataHandle( + MasaFileReader *self /* i/o: MasaFileReader handle */ +); + +/*---------------------------------------------------------------------* + * MasaFileReader_readNextFrame() + * + * Reads MASA metadata for one frame from the opened file into the internal + * MASA metadata frame struct. The metadata is available through the struct + * handle returned by MasaFileReader_getMetadataHandle(). + *---------------------------------------------------------------------*/ +/*! r: error code */ +ivas_error MasaFileReader_readNextFrame( + MasaFileReader *self /* i/o: MasaFileReader handle */ +); + +/*---------------------------------------------------------------------* + * MasaFileReader_close() + * + * Deallocate the MasaFileReader. This also includes the MASA metadata + * frame struct available through MasaFileReader_getMetadataHandle. + *---------------------------------------------------------------------*/ +void MasaFileReader_close( + MasaFileReader **selfPtr /* i/o: pointer to MasaFileReader handle */ +); + + +#endif /* IVAS_MASA_FILE_READER_H */ diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c new file mode 100644 index 0000000000..e8f9a09c68 --- /dev/null +++ b/lib_util/masa_file_writer.c @@ -0,0 +1,357 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "masa_file_writer.h" +#include "ivas_stat_com.h" +#include "ivas_cnst.h" +#include <math.h> +#include <stdio.h> +#include <string.h> +#include <stdlib.h> + + +struct MasaFileWriter +{ + FILE *file; + char *file_path; +}; + +/*-----------------------------------------------------------------------* + * Local constants + *-----------------------------------------------------------------------*/ + +#define SPH_IDX_FRONT ( MASA_NO_POINTS_EQUATOR / 2 ) /* Spherical index corresponding to front direction for setting as default value */ + + +/*-----------------------------------------------------------------------* + * Local functions + *-----------------------------------------------------------------------*/ + +static void getExtMasaMetadataFileName( + const char *outputWavFilename, /* i : name of the output audio file */ + char metadata_filename[IVAS_MAX_NUM_OBJECTS][FILENAME_MAX - 12] /* o : name of the output masa metadata file */ +) +{ + char ext_meta[5]; + + /* sizeof( ext_meta ) accounts for terminating NULL, don't subtract extra 1 */ + const int32_t maxNameLenWithoutExt = sizeof( metadata_filename[0] ) - sizeof( ext_meta ); + strncpy( metadata_filename[0], outputWavFilename, maxNameLenWithoutExt ); + sprintf( ext_meta, ".met" ); + + /* strlen( metadata_filename[0] ) doesn't account for terminating NULL, subtract extra 1 */ + const int32_t maxNumCharactersToAppend = (int32_t) ( sizeof( metadata_filename[0] ) - strlen( metadata_filename[0] ) - 1 ); + strncat( metadata_filename[0], ext_meta, maxNumCharactersToAppend ); + + return; +} + + +/*---------------------------------------------------------------------* + * MasaFileWriter_writeFrame() + * + * + *---------------------------------------------------------------------*/ + +ivas_error MasaFileWriter_open( + const char *outputWavFilename, /* i : name of the output audio file */ + MasaFileWriter **masaWriter /* o : MasaFileWriter handle */ +) +{ + MasaFileWriter *self; + FILE *file; + char filePath[FILENAME_MAX - 12]; + + if ( strlen( outputWavFilename ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + getExtMasaMetadataFileName( outputWavFilename, &filePath ); + + file = fopen( filePath, "wb" ); + + if ( !file ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + self = calloc( sizeof( MasaFileWriter ), 1 ); + self->file = file; + self->file_path = calloc( sizeof( char ), strlen( filePath ) + 1 ); + strcpy( self->file_path, filePath ); + + *masaWriter = self; + + return IVAS_ERR_OK; +} + + +/*---------------------------------------------------------------------* + * MasaFileWriter_writeFrame() + * + * + *---------------------------------------------------------------------*/ + +ivas_error MasaFileWriter_writeFrame( + MasaFileWriter *self, /* i/o: MasaFileWriter handle */ + IVAS_MASA_QMETADATA_HANDLE hMasaQMetadata /* i/o: MASA qMetadata handle to be written */ +) +{ + if ( self == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + + const uint8_t ivasmasaFormatDescriptor[8] = { 0x49, 0x56, 0x41, 0x53, 0x4D, 0x41, 0x53, 0x41 }; /* "IVASMASA" */ + uint16_t descMetaTemp = 0; + int16_t i, sf, b_old, b_new, dir; + uint16_t writeTempIndex[MASA_FREQUENCY_BANDS]; + uint8_t writeTempOther[MASA_FREQUENCY_BANDS]; + MASA_DECRIPTIVE_META descMeta; + int16_t *bandMap; + uint8_t numCodingBands; + uint8_t numDirections; + int16_t nchan_transport; + + numDirections = (uint8_t) hMasaQMetadata->no_directions; + numCodingBands = hMasaQMetadata->numCodingBands; + bandMap = hMasaQMetadata->bandMap; + nchan_transport = hMasaQMetadata->nchan_transport; + + /* Construct descriptive meta */ + for ( i = 0; i < 8; i++ ) + { + descMeta.formatDescriptor[i] = ivasmasaFormatDescriptor[i]; + descMeta.numberOfDirections = numDirections - 1; + descMeta.numberOfChannels = (uint8_t) ( nchan_transport - 1 ); + /* Following correspond to "unknown" values until transmission is implemented */ + descMeta.sourceFormat = 0x0u; + descMeta.transportDefinition = 0x0u; + descMeta.channelAngle = 0x0u; + descMeta.channelDistance = 0x0u; + descMeta.channelLayout = 0x0u; + } + + if ( fwrite( &( descMeta.formatDescriptor ), sizeof( uint8_t ), 8, self->file ) != 8 ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + descMetaTemp += descMeta.numberOfDirections << 15u; + descMetaTemp += descMeta.numberOfChannels << 14u; + descMetaTemp += descMeta.sourceFormat << 12u; + if ( descMeta.sourceFormat == 0x0 || descMeta.sourceFormat == 0x1 ) + { + descMetaTemp += descMeta.transportDefinition << 9u; + descMetaTemp += descMeta.channelAngle << 6u; + descMetaTemp += descMeta.channelDistance; + } + else if ( descMeta.sourceFormat == 0x2 ) + { + descMetaTemp += descMeta.channelLayout << 9u; + /* 9 LSB remain at zero */ + } + else if ( descMeta.sourceFormat == 0x3 ) + { + descMetaTemp += descMeta.transportDefinition << 9u; + descMetaTemp += descMeta.channelAngle << 6u; + /* 6 LSB remain at zero */ + } + + if ( fwrite( &( descMetaTemp ), sizeof( uint16_t ), 1, self->file ) != 1 ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + for ( sf = 0; sf < MAX_PARAM_SPATIAL_SUBFRAMES; sf++ ) + { + for ( dir = 0; dir < numDirections; dir++ ) + { + /* Spherical index */ + for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) + { + writeTempIndex[i] = SPH_IDX_FRONT; + } + + for ( b_old = 0; b_old < numCodingBands; b_old++ ) + { + for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) + { + writeTempIndex[b_new] = hMasaQMetadata->q_direction[dir].band_data[b_old].spherical_index[sf]; + } + } + + if ( fwrite( writeTempIndex, sizeof( uint16_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + /* Direct-to-total ratio */ + for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) + { + writeTempOther[i] = 0; + } + + for ( b_old = 0; b_old < numCodingBands; b_old++ ) + { + for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) + { + writeTempOther[b_new] = (uint8_t) floorf( hMasaQMetadata->q_direction[dir].band_data[b_old].energy_ratio[sf] * UINT8_MAX ); + } + } + + if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + /* Spread coherence */ + for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) + { + writeTempOther[i] = 0; + } + + if ( hMasaQMetadata->q_direction[dir].coherence_band_data != NULL ) + { + for ( b_old = 0; b_old < numCodingBands; b_old++ ) + { + for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) + { + writeTempOther[b_new] = hMasaQMetadata->q_direction[dir].coherence_band_data[b_old].spread_coherence[sf]; + } + } + } + + if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + } + + /* Common spatial meta */ + /* Diffuse-to-total ratio = 1 - sum(direct-to-total ratios) */ + for ( b_new = 0; b_new < MASA_FREQUENCY_BANDS; b_new++ ) + { + writeTempOther[b_new] = UINT8_MAX; + } + + for ( b_old = 0; b_old < numCodingBands; b_old++ ) + { + for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) + { + writeTempOther[b_new] = UINT8_MAX; + for ( dir = 0; dir < numDirections; dir++ ) + { + writeTempOther[b_new] -= (uint8_t) floorf( hMasaQMetadata->q_direction[dir].band_data[b_old].energy_ratio[sf] * UINT8_MAX ); + } + } + } + + if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + /* Surround coherence */ + for ( i = 0; i < MASA_FREQUENCY_BANDS; i++ ) + { + writeTempOther[i] = 0; + } + + if ( hMasaQMetadata->surcoh_band_data != NULL ) + { + for ( b_old = 0; b_old < numCodingBands; b_old++ ) + { + for ( b_new = bandMap[b_old]; b_new < bandMap[b_old + 1]; b_new++ ) + { + writeTempOther[b_new] = hMasaQMetadata->surcoh_band_data[b_old].surround_coherence[sf]; + } + } + } + + if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + + /* Remainder-to-total ratio */ + /* This is zero after codec */ + for ( b_new = 0; b_new < MASA_FREQUENCY_BANDS; b_new++ ) + { + writeTempOther[b_new] = 0u; + } + + if ( fwrite( writeTempOther, sizeof( uint8_t ), MASA_FREQUENCY_BANDS, self->file ) != MASA_FREQUENCY_BANDS ) + { + return IVAS_ERR_FAILED_FILE_WRITE; + } + } + + return IVAS_ERR_OK; +} + +/*---------------------------------------------------------------------* + * MasaFileWriter_close() + * + * Deallocate the MasaFileWriter. This also includes the MASA metadata + * frame struct available through MasaFileWriter_getMetadataHandle. + *---------------------------------------------------------------------*/ + +void MasaFileWriter_close( + MasaFileWriter **selfPtr /* i/o: pointer to MasaFileWriter handle */ +) +{ + if ( selfPtr == NULL || *selfPtr == NULL ) + { + return; + } + + fclose( ( *selfPtr )->file ); + free( ( *selfPtr )->file_path ); + free( *selfPtr ); + *selfPtr = NULL; + + return; +} + +const char *MasaFileWriter_getFilePath( + MasaFileWriter *selfPtr /* i : MasaFileWriter handle */ +) +{ + if ( selfPtr == NULL ) + { + return NULL; + } + + return selfPtr->file_path; +} diff --git a/lib_util/masa_file_writer.h b/lib_util/masa_file_writer.h new file mode 100644 index 0000000000..ce4ed2e238 --- /dev/null +++ b/lib_util/masa_file_writer.h @@ -0,0 +1,63 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef IVAS_MASA_FILE_WRITER_H +#define IVAS_MASA_FILE_WRITER_H + +#include <stdint.h> +#include "common_api_types.h" +#include "ivas_error.h" + + +struct MasaFileWriter; +typedef struct MasaFileWriter MasaFileWriter; + +ivas_error MasaFileWriter_open( + const char *outputWavFilename, /* i : name of the output audio file */ + MasaFileWriter **masaWriter /* o : MasaFileWriter handle */ +); + +ivas_error MasaFileWriter_writeFrame( + MasaFileWriter *self, /* i/o: MasaFileWriter handle */ + IVAS_MASA_QMETADATA_HANDLE hMasaQMetadata /* i/o: MASA qMetadata handle to be written */ +); + +void MasaFileWriter_close( + MasaFileWriter **selfPtr /* i/o: pointer to MasaFileWriter handle */ +); + +const char *MasaFileWriter_getFilePath( + MasaFileWriter *selfPtr /* i : MasaFileWriter handle */ +); + + +#endif /* IVAS_MASA_FILE_WRITER_H */ diff --git a/lib_util/mime_io.c b/lib_util/mime_io.c new file mode 100644 index 0000000000..36cd61adbb --- /dev/null +++ b/lib_util/mime_io.c @@ -0,0 +1,658 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "options.h" +#include "mime_io.h" +#include "mime.h" +#include "prot.h" +#include "string.h" +#include <stdbool.h> +#include <stdlib.h> +#include <assert.h> + + +#define NUM_CHANNELS 1 + +/* main handle */ +struct MIME_IO +{ + FILE *file; + bool ownFileHandle; /* flag whether FILE handle created by instance or externally */ + uint16_t numChannels; +}; + + +/*-------------------------------------------------------------------* + * writeByte() + * + * function to write a 8-bit value to the file + *-------------------------------------------------------------------*/ + +static bool writeByte( + FILE *file, + unsigned char value ) +{ + if ( fputc( value, file ) == value ) + { + return true; + } + return false; +} + + +/*-------------------------------------------------------------------* + * writeLong() + * + * function to write a 32-bit value to the file + *-------------------------------------------------------------------*/ + +static bool writeLong( + FILE *file, + uint32_t value ) +{ + char buffer[4]; + + buffer[3] = value & 0xff; + buffer[2] = ( value >> 8 ) & 0xff; + buffer[1] = ( value >> 16 ) & 0xff; + buffer[0] = ( value >> 24 ) & 0xff; + + if ( fwrite( buffer, 4, 1, file ) != 1U ) + { + return false; + } + + return true; +} + +/*-------------------------------------------------------------------* + * writeHeader() + * + * Write MIME header + *-------------------------------------------------------------------*/ + +static int16_t writeHeader( + FILE *file ) +{ + /* write mime header */ + fprintf( file, "#!EVS_MC%s\n", "1.0" ); + if ( !writeLong( file, 1 ) ) + { + return 0; + } + return -1; +} + + +/*-------------------------------------------------------------------* + * MIME_Writer_Open_FILE() + * + * Open MIME writer handle + *-------------------------------------------------------------------*/ + +MIME_ERROR MIME_Writer_Open_FILE( MIME_HANDLE *phMIME, FILE *file ) +{ + /* create handle */ + *phMIME = (MIME_HANDLE) calloc( 1, sizeof( struct MIME_IO ) ); + if ( !phMIME ) + { + return MIME_MEMORY_ERROR; + } + + /* open file stream */ + ( *phMIME )->file = file; + if ( ( *phMIME )->file == NULL ) + { + MIME_Writer_Close( phMIME ); + return MIME_WRONG_PARAMS; + } + ( *phMIME )->ownFileHandle = false; + + writeHeader( ( *phMIME )->file ); + + return MIME_NO_ERROR; +} + + +/*-------------------------------------------------------------------* + * MIME_Writer_Open_filename() + * + * Open MIME writer + *-------------------------------------------------------------------*/ + +MIME_ERROR MIME_Writer_Open_filename( + MIME_HANDLE *phMIME, + const char *filename ) +{ + /* create handle */ + *phMIME = (MIME_HANDLE) calloc( 1, sizeof( struct MIME_IO ) ); + if ( !phMIME ) + { + return MIME_MEMORY_ERROR; + } + + /* open file stream */ + ( *phMIME )->file = fopen( filename, "wb" ); + if ( ( *phMIME )->file == NULL ) + { + free( *phMIME ); + *phMIME = NULL; + return MIME_FILE_NOT_FOUND; + } + ( *phMIME )->ownFileHandle = true; + + writeHeader( ( *phMIME )->file ); + + return MIME_NO_ERROR; +} + + +/*-------------------------------------------------------------------* + * MIME_WriteFrame() + * + * Write MIME frame + *-------------------------------------------------------------------*/ + +MIME_ERROR MIME_WriteFrame( + MIME_HANDLE hMIME, + const uint16_t *serial, + const int16_t numBits, + const int32_t totalBrate ) +{ + uint8_t ToC = 0x00; + int16_t i; + uint8_t byte = 0; + int16_t isAmrWb = 0; + + if ( !hMIME ) + { + return MIME_NOT_INITIALIZED; + } + + for ( i = 0; i < NUM_CHANNELS; i++ ) + { + int16_t mode; + int16_t cmi; + mode = rate2EVSmode( numBits * FRAMES_PER_SEC, &isAmrWb ); + cmi = rate2EVSmode( totalBrate, &isAmrWb ); + + ToC = (uint8_t) ( isAmrWb << 5 | isAmrWb << 4 | mode ); + writeByte( hMIME->file, ToC ); + + if ( isAmrWb ) + { + const int16_t numExtraBits = ( mode == AMRWB_IO_SID ) ? 5 : 0; + uint16_t serial_extra[5], mask; + uint8_t bit, bitinbyte; + int16_t j; + + if ( mode == AMRWB_IO_SID ) /* SID frame */ + { + /* insert STI bit and CMI */ + serial_extra[0] = 1; + + for ( mask = 0x08, j = 0; mask > 0; mask >>= 1, j++ ) + { + serial_extra[1 + j] = ( cmi & mask ) ? 1 : 0; + } + } + + for ( i = 0; i < numBits + numExtraBits; i++ ) + { + if ( i < numBits ) + { + bit = (uint8_t) serial[sort_ptr[mode][i]]; + } + else + { + bit = (uint8_t) serial_extra[i - numBits]; + } + assert( ( bit == 1 || bit == 0 ) && "Values other than 0/1 will lead to corrupt bitstream! " ); + bitinbyte = bit << ( 7 - ( i & 0x7 ) ); + + if ( i % 8 == 0 ) + { + byte = 0; + } + + byte |= bitinbyte; + + /* Write to buffer on every last bit in byte and after converting last bit in input */ + if ( i % 8 == 7 || i == ( numBits + numExtraBits ) - 1 ) + { + writeByte( hMIME->file, byte ); + } + } + } + else + { + for ( i = 0; i < numBits; i++ ) + { + uint8_t bit = (uint8_t) serial[i]; + uint8_t bitinbyte = bit << ( 7 - ( i & 0x7 ) ); + + if ( i % 8 == 0 ) + { + byte = 0; + } + + byte |= bitinbyte; + + /* Write to buffer on every last bit in byte and after converting last bit in input */ + if ( i % 8 == 7 || i == numBits - 1 ) + { + writeByte( hMIME->file, byte ); + } + } + } + } + return MIME_NO_ERROR; +} + + +/*-------------------------------------------------------------------* + * MIME_Writer_Close() + * + * Close MIME writer + *-------------------------------------------------------------------*/ + +MIME_ERROR MIME_Writer_Close( + MIME_HANDLE *phMIME ) +{ + if ( phMIME == NULL || *phMIME == NULL ) + { + return MIME_NO_ERROR; + } + + if ( ( *phMIME )->file ) + { + fclose( ( *phMIME )->file ); + } + + free( *phMIME ); + *phMIME = NULL; + phMIME = NULL; + + return MIME_NO_ERROR; +} + + +static bool readByte( FILE *file, uint8_t *value ) +{ + if ( fread( value, 1, 1, file ) != 1U ) + { + return false; + } + return true; +} + +static bool readLong( FILE *file, uint16_t *value ) +{ + char buffer[4] = { 0 }; + if ( fread( buffer, 4, 1, file ) != 1U ) + { + return false; + } + *value = 0; + *value = (uint16_t) ( buffer[3] & 0xFF ); + *value |= (uint16_t) ( buffer[2] & 0xFF ) << 8; + *value |= (uint16_t) ( buffer[1] & 0xFF ) << 16; + *value |= (uint16_t) ( buffer[0] & 0xFF ) << 24; + + return true; +} + + +/*-------------------------------------------------------------------* + * byteToSerialReordered() + * + * Write each bit in given byte as a separate uint16_t value + * to the given serial bitstream array at indices provided in + * `sort_indices` array. + * + * Bits with corresponding negative indices will not be written + * to the serial bitstream. + *-------------------------------------------------------------------*/ + +static void byteToSerialReordered( uint8_t byte, uint16_t *serial, const int16_t *sort_indices ) +{ + for ( uint32_t i = 0; i < 8; ++i ) + { + const uint8_t bit = ( byte & 0x80 ) == 0 ? 0 : 1; + + /* Negative index means "skip writing corresponding bit" */ + if ( sort_indices[i] >= 0 ) + { + serial[sort_indices[i]] = bit; + } + + byte <<= 1; + } +} + +/*-------------------------------------------------------------------* + * byteToSerial() + * + * Write each bit in given byte as a separate uint16_t value + * to the given serial bitstream array. + *-------------------------------------------------------------------*/ + +static void byteToSerial( uint8_t byte, uint16_t *serial ) +{ + const int16_t indices[8] = { 0, 1, 2, 3, 4, 5, 6, 7 }; + byteToSerialReordered( byte, serial, indices ); +} + +static MIME_ERROR readHeader( MIME_HANDLE hMIME ) +{ + const char id[] = "#!EVS_MC1.0\n"; + const uint16_t num_char_id = sizeof( id ) - 1; + + char buffer[sizeof( id )] = { 0 }; + if ( fread( buffer, sizeof( char ), num_char_id, hMIME->file ) != num_char_id ) + { + return MIME_READ_ERROR; + } + + if ( strcmp( buffer, id ) != 0 ) + { + return MIME_INVALID_DATA; + } + + if ( !readLong( hMIME->file, &hMIME->numChannels ) ) + { + return MIME_READ_ERROR; + } + + return MIME_NO_ERROR; +} +/*-------------------------------------------------------------------* + * MIME_Reader_Open_filename() + * + * Open MIME reader + *-------------------------------------------------------------------*/ + +MIME_ERROR MIME_Reader_Open_filename( MIME_HANDLE *phMIME, const char *filename ) +{ + MIME_ERROR error = MIME_NO_ERROR; + + /* create handle */ + *phMIME = (MIME_HANDLE) malloc( sizeof( struct MIME_IO ) ); + if ( !*phMIME ) + { + return MIME_MEMORY_ERROR; + } + + /* open file stream */ + ( *phMIME )->file = fopen( filename, "rb" ); + if ( ( *phMIME )->file == NULL ) + { + MIME_Reader_Close( phMIME ); + return MIME_FILE_NOT_FOUND; + } + ( *phMIME )->ownFileHandle = true; + + /* Read header */ + if ( ( error = readHeader( *phMIME ) ) != MIME_NO_ERROR ) + { + MIME_Reader_Close( phMIME ); + return error; + } + + return MIME_NO_ERROR; +} + +/*-------------------------------------------------------------------* + * MIME_Reader_Rewind() + * + * Rewind currently opened file to beginning + *-------------------------------------------------------------------*/ + +MIME_ERROR MIME_Reader_Rewind( MIME_HANDLE hMIME ) +{ + if ( !hMIME || !hMIME->file ) + { + return MIME_NOT_INITIALIZED; + } + rewind( hMIME->file ); + + + /* Skip over header, to first frame */ + readHeader( hMIME ); + + return MIME_NO_ERROR; +} + +static MIME_ERROR readEvsFrame( FILE *file, uint8_t ToC, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) +{ + switch ( ToC & 0x0f ) + { + case PRIMARY_2800: + *num_bits = 56; + break; + case PRIMARY_7200: + *num_bits = 144; + break; + case PRIMARY_8000: + *num_bits = 160; + break; + case PRIMARY_9600: + *num_bits = 192; + break; + case PRIMARY_13200: + *num_bits = 264; + break; + case PRIMARY_16400: + *num_bits = 328; + break; + case PRIMARY_24400: + *num_bits = 488; + break; + case PRIMARY_32000: + *num_bits = 640; + break; + case PRIMARY_48000: + *num_bits = 960; + break; + case PRIMARY_64000: + *num_bits = 1280; + break; + case PRIMARY_96000: + *num_bits = 1920; + break; + case PRIMARY_128000: + *num_bits = 2560; + break; + case PRIMARY_SID: + *num_bits = 48; + break; + case SPEECH_LOST: + *bfi = 1; + *num_bits = 0; + break; + case 0xf: /* NO_DATA */ + *num_bits = 0; + break; + default: + return MIME_READ_ERROR; + } + + for ( int16_t i = 0; i < *num_bits; i += 8 ) + { + uint8_t byte = 0; + + if ( !readByte( file, &byte ) ) + { + return MIME_READ_ERROR; + } + + byteToSerial( byte, &serial[i] ); + } + + return MIME_NO_ERROR; +} + +static MIME_ERROR readAmrWbFrame( FILE *file, uint8_t ToC, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) +{ + const uint8_t mode = ToC & 0x0f; + + switch ( mode ) + { + case AMRWB_IO_6600: + *num_bits = 132; + break; + case AMRWB_IO_8850: + *num_bits = 177; + break; + case AMRWB_IO_1265: + *num_bits = 253; + break; + case AMRWB_IO_1425: + *num_bits = 285; + break; + case AMRWB_IO_1585: + *num_bits = 317; + break; + case AMRWB_IO_1825: + *num_bits = 365; + break; + case AMRWB_IO_1985: + *num_bits = 397; + break; + case AMRWB_IO_2305: + *num_bits = 461; + break; + case AMRWB_IO_2385: + *num_bits = 477; + break; + case AMRWB_IO_SID: + *num_bits = 35; + break; + case 0xe: /* SPEECH_LOST */ + *bfi = 1; + *num_bits = 0; + break; + case 0xf: /* NO_DATA */ + *num_bits = 0; + break; + default: + return MIME_READ_ERROR; + } + + for ( int16_t i = 0; i < *num_bits; i += 8 ) + { + uint8_t byte = 0; + + if ( !readByte( file, &byte ) ) + { + return MIME_READ_ERROR; + } + + /* Since num_bits is not a multiple of 8, ensure last + * padding bits will be discarded by byteToSerialReordered() */ + int16_t sort_indices[8] = { -1, -1, -1, -1, -1, -1, -1, -1 }; + for ( uint16_t j = 0; j < 8 && ( i + j ) < *num_bits; ++j ) + { + sort_indices[j] = sort_ptr[mode][i + j]; + } + + /* Reorder bits and write to serial */ + byteToSerialReordered( byte, serial, sort_indices ); + } + + return MIME_NO_ERROR; +} + +/*-------------------------------------------------------------------* + * MIME_ReadFrame_short() + * + * Read MIME frame to serial bitstream + *-------------------------------------------------------------------*/ +MIME_ERROR MIME_ReadFrame_short( MIME_HANDLE hMIME, uint16_t *serial, int16_t *num_bits, int16_t *bfi ) +{ + if ( !hMIME ) + { + return MIME_NOT_INITIALIZED; + } + + assert( hMIME->numChannels == 1 && "Multichannel currently not supported" ); + + MIME_ERROR error = MIME_NO_ERROR; + uint8_t ToC = 0; + + for ( uint32_t i = 0; i < hMIME->numChannels; i++ ) + { + if ( !readByte( hMIME->file, &ToC ) ) + { + return MIME_EOF; + } + + if ( ToC & 0x30 ) + { + if ( ( error = readAmrWbFrame( hMIME->file, ToC, serial, num_bits, bfi ) ) != MIME_NO_ERROR ) + { + return error; + } + } + else + { + if ( ( error = readEvsFrame( hMIME->file, ToC, serial, num_bits, bfi ) ) != MIME_NO_ERROR ) + { + return error; + } + } + } + + return MIME_NO_ERROR; +} +/*-------------------------------------------------------------------* + * MIME_Reader_Close() + * + * Close MIME reader + *-------------------------------------------------------------------*/ +MIME_ERROR MIME_Reader_Close( MIME_HANDLE *phMIME ) +{ + if ( phMIME == NULL || *phMIME == NULL ) + { + return MIME_NO_ERROR; + } + + if ( ( *phMIME )->file && ( *phMIME )->ownFileHandle ) + { + fclose( ( *phMIME )->file ); + } + + free( *phMIME ); + *phMIME = NULL; + + return MIME_NO_ERROR; +} diff --git a/lib_util/mime_io.h b/lib_util/mime_io.h new file mode 100644 index 0000000000..770b4dd5e4 --- /dev/null +++ b/lib_util/mime_io.h @@ -0,0 +1,75 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef MIME_IO_H +#define MIME_IO_H + +#include <stdint.h> +#include <stdio.h> + +typedef enum MIME_ERROR +{ + MIME_NO_ERROR, + MIME_MEMORY_ERROR, + MIME_WRONG_PARAMS, + MIME_FILE_NOT_FOUND, + MIME_NOT_INITIALIZED, + MIME_READ_ERROR, + MIME_WRITE_ERROR, + MIME_INVALID_DATA, + MIME_EOF, + MIME_UNKNOWN_ERROR +} MIME_ERROR; + +typedef struct MIME_IO *MIME_HANDLE; + +MIME_ERROR MIME_Writer_Open_FILE( MIME_HANDLE *phMIME, FILE *file ); + +MIME_ERROR MIME_Writer_Open_filename( MIME_HANDLE *phMIME, const char *filename ); + +MIME_ERROR MIME_WriteFrame( MIME_HANDLE hMIME, const uint16_t *serial, const int16_t numBits, const int32_t frameBitrate ); + +MIME_ERROR MIME_Writer_Close( MIME_HANDLE *phMIME ); + +MIME_ERROR MIME_Reader_Open_filename( MIME_HANDLE *phMIME, const char *filename ); + +MIME_ERROR MIME_Reader_Rewind( MIME_HANDLE hMIME ); + +MIME_ERROR MIME_ReadFrame_short( + MIME_HANDLE hMIME, + uint16_t *serial, + int16_t *num_bits, + int16_t *bfi ); + +MIME_ERROR MIME_Reader_Close( MIME_HANDLE *phMIME ); + +#endif diff --git a/lib_util/render_config_reader.c b/lib_util/render_config_reader.c new file mode 100644 index 0000000000..27eed3bf14 --- /dev/null +++ b/lib_util/render_config_reader.c @@ -0,0 +1,586 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#include "render_config_reader.h" +#include <ctype.h> +#include <string.h> +#include <stdint.h> +#include <stdlib.h> +#include <stdio.h> +#include "cmdl_tools.h" +#include "prot.h" +#include "ivas_cnst.h" + +/*------------------------------------------------------------------------------------------* + * PreProc Macros + *------------------------------------------------------------------------------------------*/ + +#define MAX_LINE_LENGTH ( 1024 ) +#define MAX_ITEM_LENGTH ( 64 ) +#define N_REVERB_VECTORS ( 3 ) + +#define SHORTEST_REV_DEL_LINE ( 0.015f ) +#define N_BANDS_MIN ( 2 ) +#define N_BANDS_MAX ( 60 ) +#define FC_INPUT_MIN ( 0.0f ) +#define FC_INPUT_MAX ( 1.0e+5f ) +#define ACOUSTIC_RT60_MIN ( 1.0e-3f ) +#define ACOUSTIC_RT60_MAX ( 1.0e+2f ) +#define ACOUSTIC_DSR_MIN ( 0.0f ) +#define ACOUSTIC_DSR_MAX ( 1.0e+2f ) +#define ACOUSTIC_DSR_EPSILON ( 1.0e-15f ) +#define ACOUSTICPREDELAY_JOTREV_MIN ( SHORTEST_REV_DEL_LINE ) +#define ACOUSTICPREDELAY_JOTREV_MAX ( SHORTEST_REV_DEL_LINE + 1.0f / (float) FRAMES_PER_SEC ) +#define ACOUSTICPREDELAY_FDREV_MIN ( 1.0f / (float) ( 16 * FRAMES_PER_SEC ) ) +#define ACOUSTICPREDELAY_FDREV_MAX ( (float) ( REVERB_PREDELAY_MAX ) / (float) ( 16 * FRAMES_PER_SEC ) ) +#define INPUTPREDELAY_MIN ( 0.0f ) +#define INPUTPREDELAY_MAX ( 1.0e+2f ) + +/*------------------------------------------------------------------------------------------* + * Type definitions + *------------------------------------------------------------------------------------------*/ + +struct RenderConfigReader +{ + FILE *pConfigFile; +}; + + +/*-----------------------------------------------------------------------------------------* + * Function read_bool() + * Reads a boolean value from a line + *-----------------------------------------------------------------------------------------*/ + +/* !r: false on success, true on failure */ +static int16_t read_bool( + const char *pLine, /* i : String to read from */ + int16_t *pTarget /* o : Output pointer (int16_t type used instead of bool because of coding rules/specs) */ +) +{ + char value[8]; + + if ( sscanf( pLine, "%s", (char *) &value ) != 1 ) + { + return true; + } + if ( strcmp( value, "TRUE" ) == 0 ) + { + *pTarget = true; + return false; + } + if ( strcmp( value, "FALSE" ) == 0 ) + { + *pTarget = false; + return false; + } + + return true; +} + + +/*-----------------------------------------------------------------------------------------* + * Function read_vector() + * + * Reads a vector value from a line + *-----------------------------------------------------------------------------------------*/ + +static int16_t read_vector( + char *pLine, /* i : String to read from */ + const int16_t length, /* i : Number of expected vector elements */ + float *pTarget /* o : Output vector pointer */ +) +{ + char *tmp; + int16_t n; + int16_t count; + + n = (int16_t) sscanf( pLine, "[%s", pLine ); + if ( n == 0 ) + { + return true; + } + + /* Additional comma to make parsing easier */ + pLine[strlen( pLine ) - 1] = ','; + + tmp = pLine; + /* Count # of commas to determine vector length */ + for ( n = 0; tmp[n]; tmp[n] == ',' ? n++ : *tmp++ ) + ; + + count = n; + + tmp = pLine; + + /* Check for maximum vector length */ + if ( n != length ) + { + return true; + } + + for ( n = 0; n < count; n++ ) + { + if ( (int16_t) sscanf( tmp, "%f,", &pTarget[n] ) != 1 ) + { + return true; + } + + tmp = strchr( tmp, ',' ) + 1; + } + + return false; +} + + +/*-----------------------------------------------------------------------------------------* + * Function strip_spaces_upper() + * + * Strips the spaces from a buffer and uppercases it + *-----------------------------------------------------------------------------------------*/ + +static void strip_spaces_upper( + char *pStr /* i : String to read from */ +) +{ + int32_t read_idx = 0, write_idx = 0; + + while ( pStr[read_idx] ) + { + if ( !isspace( pStr[read_idx] ) && !iscntrl( pStr[read_idx] ) ) + { + pStr[write_idx++] = pStr[read_idx]; + } + read_idx++; + } + pStr[write_idx] = '\0'; + to_upper( pStr ); + + return; +} + + +/*-----------------------------------------------------------------------------------------* + * Function errorHandler() + * + * Prints error message and exits + *-----------------------------------------------------------------------------------------*/ + +/* !r: error accumulation */ +static int32_t errorHandler( + const char *badStr, /* i : String to complain about */ + const ERROR_CODES_t error ) +{ + static int32_t numErrors = 0; + + switch ( error ) + { + case ERROR_NONE: + break; + case ERROR_ITEM_UNKNOWN: + numErrors++; + fprintf( stderr, "Unknown variable %s in renderer configuration file.\n\n", badStr ); + break; + case ERROR_VALUE_INVALID: + numErrors++; + fprintf( stderr, "Invalid value %s in renderer configuration file.\n\n", badStr ); + break; + default: + numErrors++; + fprintf( stderr, "Unknown error while reading configuration file.\n\n" ); + } + + return numErrors; +} + +/*------------------------------------------------------------------------------------------* + * RenderConfigReader_checkValues() + * + * Verifies if the configuration parameters lie within acceptable limits + *------------------------------------------------------------------------------------------*/ + +static ivas_error RenderConfigReader_checkValues( + IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ +) +{ + int16_t band_idx, tab_value_err_count; + IVAS_ROOM_ACOUSTICS_CONFIG_DATA *pRoom_acoustics; + pRoom_acoustics = &hRenderConfig->room_acoustics; + tab_value_err_count = 0; + + /* Verify the number of frequency bands in the config input data */ + if ( ( pRoom_acoustics->nBands > N_BANDS_MAX ) || ( pRoom_acoustics->nBands < N_BANDS_MIN ) ) + { + return IVAS_ERR_WRONG_PARAMS; + } + + /* Verify input pre-delay value */ + if ( ( pRoom_acoustics->inputPreDelay > INPUTPREDELAY_MAX ) || ( pRoom_acoustics->inputPreDelay < INPUTPREDELAY_MIN ) ) + { + return IVAS_ERR_WRONG_PARAMS; + } + + /* Verify data per band in the acoustic properties table */ + for ( band_idx = 0; band_idx < pRoom_acoustics->nBands; band_idx++ ) + { + /* Verify if the frequencies are in the ascending order (required for interpolation) */ + if ( band_idx != 0 ) + { + if ( pRoom_acoustics->pFc_input[band_idx] <= pRoom_acoustics->pFc_input[band_idx - 1] ) + { + tab_value_err_count++; + } + } + + /* Check the input frequencies */ + if ( ( pRoom_acoustics->pFc_input[band_idx] > FC_INPUT_MAX ) || ( pRoom_acoustics->pFc_input[band_idx] < FC_INPUT_MIN ) ) + { + tab_value_err_count++; + } + + /* Check the input RT60 values */ + if ( ( pRoom_acoustics->pAcoustic_rt60[band_idx] > ACOUSTIC_RT60_MAX ) || ( pRoom_acoustics->pAcoustic_rt60[band_idx] < ACOUSTIC_RT60_MIN ) ) + { + tab_value_err_count++; + } + + /* Check the input DSR values */ + if ( ( pRoom_acoustics->pAcoustic_dsr[band_idx] > ACOUSTIC_DSR_MAX ) || ( pRoom_acoustics->pAcoustic_dsr[band_idx] < ACOUSTIC_DSR_MIN ) ) + { + tab_value_err_count++; + } + + /* Replace zero DSR values with very small positive values, to avoid issues with coloration filter design */ + if ( pRoom_acoustics->pAcoustic_dsr[band_idx] <= 0.0f ) + { + pRoom_acoustics->pAcoustic_dsr[band_idx] = ACOUSTIC_DSR_EPSILON; + } + } + + if ( tab_value_err_count != 0 ) + { + return IVAS_ERR_WRONG_PARAMS; + } + +#ifdef DEBUGGING + /* Specific limits for Jot reverb */ + if ( hRenderConfig->renderer_type_override == IVAS_RENDER_TYPE_OVERRIDE_CREND ) + { + if ( ( pRoom_acoustics->acousticPreDelay > ACOUSTICPREDELAY_JOTREV_MAX ) || ( pRoom_acoustics->acousticPreDelay < ACOUSTICPREDELAY_JOTREV_MIN ) ) + { + return IVAS_ERR_WRONG_PARAMS; + } + } + + /* Specific limits for frequency-domain reverb */ + if ( hRenderConfig->renderer_type_override == IVAS_RENDER_TYPE_OVERRIDE_FASTCONV ) + { + if ( ( pRoom_acoustics->acousticPreDelay > ACOUSTICPREDELAY_FDREV_MAX ) || ( pRoom_acoustics->acousticPreDelay < ACOUSTICPREDELAY_FDREV_MIN ) ) + { + return IVAS_ERR_WRONG_PARAMS; + } + } +#endif /* DEBUGGING */ + + return IVAS_ERR_OK; +} + + +/*------------------------------------------------------------------------------------------* + * RenderConfigReader_open() + * + * Allocates and initializes a renderer configuration reader instance + *------------------------------------------------------------------------------------------*/ + +ivas_error RenderConfigReader_open( + char *pConfigPath, /* i : renderer configuration file path */ + RenderConfigReader **ppRenderConfigReader /* o : RenderConfigReader handle */ +) +{ + RenderConfigReader *pSelf; + FILE *pConfigFile; + + /* Open the configuration file */ + if ( strlen( pConfigPath ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + pConfigFile = fopen( pConfigPath, "r" ); + + if ( !pConfigFile ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + pSelf = calloc( sizeof( RenderConfigReader ), 1 ); + pSelf->pConfigFile = pConfigFile; + + *ppRenderConfigReader = pSelf; + return IVAS_ERR_OK; +} + + +/*------------------------------------------------------------------------------------------* + * RenderConfigReader_read() + * + * Reads the configuration from a file + *------------------------------------------------------------------------------------------*/ + +ivas_error RenderConfigReader_read( + RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ + IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ +) +{ + int32_t file_size; + char *pConfig_str; + char *pParams; + char *pTemp; + int32_t read_idx; + int32_t params_idx; + char item[MAX_ITEM_LENGTH + 1]; + char chapter[MAX_ITEM_LENGTH + 1]; + char *pValue; + int16_t nBandsInput; + int16_t nVectorsMissing; + + fseek( pRenderConfigReader->pConfigFile, 0, SEEK_END ); + file_size = ftell( pRenderConfigReader->pConfigFile ); + rewind( pRenderConfigReader->pConfigFile ); + pConfig_str = (char *) calloc( file_size + 1, sizeof( char ) ); + pParams = (char *) calloc( file_size + 1, sizeof( char ) ); + pTemp = (char *) calloc( file_size + 1, sizeof( char ) ); + nBandsInput = hRenderConfig->room_acoustics.nBands; + nVectorsMissing = N_REVERB_VECTORS; + + /* read file line by line */ + while ( fgets( pConfig_str, file_size, pRenderConfigReader->pConfigFile ) != NULL ) + { + + if ( sscanf( pConfig_str, "[%64[^]]]", chapter ) == 1 ) + { + /* read line by line (except comments) until next chapter or EOF */ + pParams[0] = '\0'; + do + { + read_idx = ftell( pRenderConfigReader->pConfigFile ); + if ( fgets( pTemp, file_size, pRenderConfigReader->pConfigFile ) == NULL ) + { + break; + } + + if ( ( pTemp[0] != '#' ) && ( sscanf( pTemp, "[%64[^]]]", item ) != 1 ) ) + { + /* ignore inline comments */ + sscanf( pTemp, "%[^#]", pTemp ); + strcat( pParams, pTemp ); + } + } while ( sscanf( pTemp, "[%64[^]]]", item ) != 1 ); + + /* go back one line */ + fseek( pRenderConfigReader->pConfigFile, read_idx, SEEK_SET ); + + strip_spaces_upper( pParams ); + to_upper( chapter ); + + /* interpret params */ + if ( strcmp( chapter, "ROOMACOUSTICS" ) == 0 ) + { + params_idx = 0; + pValue = (char *) calloc( strlen( pParams ), sizeof( char ) ); + while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) + { + hRenderConfig->room_acoustics.override = true; + params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); +#ifdef DEBUGGING + fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); +#endif + if ( strcmp( item, "REVERB" ) == 0 ) + { + if ( read_bool( pValue, &hRenderConfig->room_acoustics.late_reverb_on ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + } + else if ( strcmp( item, "BRIR" ) == 0 ) + { + if ( read_bool( pValue, &hRenderConfig->room_acoustics.use_brir ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + } + else if ( strcmp( item, "NBANDS" ) == 0 ) + { + if ( !sscanf( pValue, "%hd", &hRenderConfig->room_acoustics.nBands ) || + hRenderConfig->room_acoustics.nBands > CLDFB_NO_CHANNELS_MAX ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + } + else if ( strcmp( item, "FC" ) == 0 ) + { + set_zero( hRenderConfig->room_acoustics.pFc_input, CLDFB_NO_CHANNELS_MAX ); + if ( read_vector( pValue, hRenderConfig->room_acoustics.nBands, hRenderConfig->room_acoustics.pFc_input ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + nVectorsMissing--; + } + else if ( strcmp( item, "RT60" ) == 0 ) + { + set_zero( hRenderConfig->room_acoustics.pAcoustic_rt60, CLDFB_NO_CHANNELS_MAX ); + if ( read_vector( pValue, hRenderConfig->room_acoustics.nBands, hRenderConfig->room_acoustics.pAcoustic_rt60 ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + nVectorsMissing--; + } + else if ( strcmp( item, "DSR" ) == 0 ) + { + set_zero( hRenderConfig->room_acoustics.pAcoustic_dsr, CLDFB_NO_CHANNELS_MAX ); + if ( read_vector( pValue, hRenderConfig->room_acoustics.nBands, hRenderConfig->room_acoustics.pAcoustic_dsr ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + nVectorsMissing--; + } + else if ( strcmp( item, "ACOUSTICPREDELAY" ) == 0 ) + { + if ( !sscanf( pValue, "%f", &hRenderConfig->room_acoustics.acousticPreDelay ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + } + else if ( strcmp( item, "INPUTPREDELAY" ) == 0 ) + { + if ( !sscanf( pValue, "%f", &hRenderConfig->room_acoustics.inputPreDelay ) ) + { + errorHandler( item, ERROR_VALUE_INVALID ); + } + } +#ifdef DEBUGGING + else + { + fprintf( stderr, "Unsupported configuration property %s\n", item ); + } +#endif + } + free( pValue ); + if ( ( nBandsInput != hRenderConfig->room_acoustics.nBands ) && ( nVectorsMissing > 0 ) ) + { + fprintf( stderr, "Reverb config: number of bands changed but configuration vectors missing\n" ); + } + } +#ifdef DEBUGGING + else if ( strcmp( chapter, "GENERAL" ) == 0 && strlen( pParams ) != 0 ) + { + params_idx = 0; + pValue = (char *) calloc( strlen( pParams ), sizeof( char ) ); + while ( sscanf( pParams + params_idx, "%64[^=]=%[^;];", item, pValue ) == 2 ) + { + params_idx += (int32_t) ( strlen( item ) + strlen( pValue ) + 2 ); + fprintf( stderr, " PARAM: %s -> %s\n", item, pValue ); + if ( strcmp( item, "RENDERER" ) == 0 ) + { + if ( strcmp( pValue, "CREND" ) == 0 ) + { + hRenderConfig->renderer_type_override = IVAS_RENDER_TYPE_OVERRIDE_CREND; + } + else if ( strcmp( pValue, "FASTCONV" ) == 0 ) + { + hRenderConfig->renderer_type_override = IVAS_RENDER_TYPE_OVERRIDE_FASTCONV; + } + else + { + errorHandler( pValue, ERROR_VALUE_INVALID ); + } + } +#ifdef DEBUGGING + else + { + fprintf( stderr, "Unsupported configuration property %s\n", item ); + } +#endif + } + free( pValue ); + } +#endif + else + { + fprintf( stderr, "Unknown chapter: %s\n", chapter ); + } + } + else if ( pConfig_str[0] == '#' ) + { + /* comment lines are to be ignored */ + } +#ifdef DEBUGGING + else + { + fprintf( stderr, "Unsupported configuration property %s\n", item ); + } +#endif + } + + free( pConfig_str ); + free( pParams ); + free( pTemp ); + + if ( errorHandler( "", ERROR_NONE ) > 0 ) + { + fprintf( stderr, "Errors occurred\n" ); + return IVAS_ERR_FAILED_FILE_PARSE; + } + + return RenderConfigReader_checkValues( hRenderConfig ); +} + + +/*------------------------------------------------------------------------------------------* + * RenderConfigReader_close() + * + * Closes the renderer configuration reader and deallocates memory + *------------------------------------------------------------------------------------------*/ + +void RenderConfigReader_close( + RenderConfigReader **ppRenderConfigReader /* i : RenderConfigReader handle */ +) +{ + if ( ppRenderConfigReader == NULL || *ppRenderConfigReader == NULL ) + { + return; + } + + fclose( ( *ppRenderConfigReader )->pConfigFile ); + free( *ppRenderConfigReader ); + + return; +} diff --git a/lib_util/render_config_reader.h b/lib_util/render_config_reader.h new file mode 100644 index 0000000000..1130b43b8c --- /dev/null +++ b/lib_util/render_config_reader.h @@ -0,0 +1,66 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef RENDER_CONFIG_READER_H +#define RENDER_CONFIG_READER_H + +#include "common_api_types.h" +#include "ivas_error.h" + + +typedef struct RenderConfigReader RenderConfigReader; + +typedef enum +{ + ERROR_NONE = 0, + ERROR_ITEM_UNKNOWN, + ERROR_VALUE_INVALID +} ERROR_CODES_t; + +/* Allocates and initializes a renderer configuration reader instance */ +ivas_error RenderConfigReader_open( + char *pConfigPath, /* i : renderer configuration file path */ + RenderConfigReader **ppRenderConfigReader /* o : RenderConfigReader handle */ +); + +/* Reads a configuration */ +ivas_error RenderConfigReader_read( + RenderConfigReader *pRenderConfigReader, /* i : RenderConfigReader handle */ + IVAS_RENDER_CONFIG_HANDLE hRenderConfig /* o : Renderer configuration handle */ +); + +/* Closes the renderer configuration reader and deallocates memory */ +void RenderConfigReader_close( + RenderConfigReader **ppRenderConfigReader /* i : RenderConfigReader handle */ +); + +#endif diff --git a/lib_util/rtpdump.c b/lib_util/rtpdump.c new file mode 100644 index 0000000000..79a4e43ede --- /dev/null +++ b/lib_util/rtpdump.c @@ -0,0 +1,383 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#include <stdio.h> +#include <string.h> +#include <stdlib.h> +#include "rtpdump.h" + +struct RTPDUMP +{ + FILE *file; + unsigned int startSeconds; + unsigned int startMicroSeconds; + unsigned int source; + unsigned short port; +}; + +/** function to read a 32-bit value from a buffer */ +static unsigned char *parseLong( unsigned char *buffer, unsigned int *value ) +{ + *value = 0; + *value = (unsigned int) ( buffer[3] & 0xFF ); + *value |= (unsigned int) ( buffer[2] & 0xFF ) << 8; + *value |= (unsigned int) ( buffer[1] & 0xFF ) << 16; + *value |= (unsigned int) ( buffer[0] & 0xFF ) << 24; + return buffer + 4; +} + +/** function to read a 16-bit value from a buffer */ +static unsigned char *parseShort( unsigned char *buffer, unsigned short *value ) +{ + *value = 0; + *value = (unsigned int) ( buffer[1] & 0xFF ); + *value |= (unsigned int) ( buffer[0] & 0xFF ) << 8; + return buffer + 2; +} + +/** function to read a 8-bit value from a buffer */ +static unsigned char *parseByte( unsigned char *buffer, unsigned char *value ) +{ + *value = 0; + *value = (unsigned int) ( buffer[0] & 0xFF ); + return buffer + 1; +} + +/** function to read a 32-bit value from the file */ +static int readLong( FILE *file, unsigned int *value ) +{ + char buffer[4] = { 0 }; + if ( fread( buffer, 4, 1, file ) != 1U ) + { + return -1; + } + *value = 0; + *value = (unsigned int) ( buffer[3] & 0xFF ); + *value |= (unsigned int) ( buffer[2] & 0xFF ) << 8; + *value |= (unsigned int) ( buffer[1] & 0xFF ) << 16; + *value |= (unsigned int) ( buffer[0] & 0xFF ) << 24; + return 0; +} + +/** function to read a 16-bit value from the file */ +static int readShort( FILE *file, unsigned short *value ) +{ + char buffer[2] = { 0 }; + if ( fread( buffer, 2, 1, file ) != 1U ) + { + return -1; + } + *value = 0; + *value = (unsigned int) ( buffer[1] & 0xFF ); + *value |= (unsigned int) ( buffer[0] & 0xFF ) << 8; + return 0; +} + +/** function to write a 32-bit value to the file */ +static int writeLong( FILE *file, unsigned int value ) +{ + char buffer[4] = { 0 }; + buffer[3] = value & 0xff; + buffer[2] = ( value >> 8 ) & 0xff; + buffer[1] = ( value >> 16 ) & 0xff; + buffer[0] = ( value >> 24 ) & 0xff; + if ( fwrite( buffer, 4, 1, file ) != 1U ) + { + return -1; + } + return 0; +} + +/** function to write a 16-bit value to the file */ +static int writeShort( FILE *file, unsigned short value ) +{ + char buffer[2] = { 0 }; + buffer[1] = value & 0xff; + buffer[0] = ( value >> 8 ) & 0xff; + if ( fwrite( buffer, 2, 1, file ) != 1U ) + { + return -1; + } + return 0; +} + +/** function to write a 8-bit value to the file */ +static int writeByte( FILE *file, unsigned char value ) +{ + if ( fputc( value, file ) == value ) + { + return 0; + } + return -1; +} + +/** function to parse the rtpdump file header */ +static int readHeader( struct RTPDUMP *hRTPDUMP ) +{ + unsigned short padding; + char buffer[255] = { 0 }; + /* read identifier */ + /* + char buffer[255] = {0}; + const char id [] = "#!rtpplay1.0"; + fgets( buffer, sizeof(buffer), hRTPDUMP->file ); + if( memcmp( buffer, id, sizeof(id)-1 ) != 0 ) + return -1; + */ + char version[4] = { 0 }; + char address[128] = { 0 }; + unsigned int port = 0; + unsigned int a, b, c, d; + + fgets( buffer, sizeof( buffer ), hRTPDUMP->file ); + if ( sscanf( buffer, "#!rtpplay%3s %127[0123456789.]/%u\n", version, address, &port ) == 3 ) + { + if ( sscanf( address, "%u.%u.%u.%u", &a, &b, &c, &d ) != 4 ) + { + return -1; + } + } + else if ( sscanf( buffer, "#!rtpplay%3s %127[0123456789abcdef:]/%u\n", version, address, &port ) == 3 ) + /* no verification of IPv6 addresses yet */ + { + } + else + { + fprintf( stderr, "unable to read rtpplay\n" ); + fprintf( stderr, "Buffer: %s\n", buffer ); + return -1; + } + if ( strcmp( version, "1.0" ) ) + { + return -1; + } + + /* read binary header (RD_hdr_t) */ + readLong( hRTPDUMP->file, &( hRTPDUMP->startSeconds ) ); + readLong( hRTPDUMP->file, &( hRTPDUMP->startMicroSeconds ) ); + readLong( hRTPDUMP->file, &( hRTPDUMP->source ) ); + readShort( hRTPDUMP->file, &( hRTPDUMP->port ) ); + readShort( hRTPDUMP->file, &padding ); + + return 0; +} + +static int writeHeader( struct RTPDUMP *hRTPDUMP ) +{ + /* write rtpdump header */ + fprintf( hRTPDUMP->file, "#!rtpplay%s %s/%d\n", "1.0", "127.0.0.1", 5000 ); + if ( !writeLong( hRTPDUMP->file, hRTPDUMP->startSeconds ) && + !writeLong( hRTPDUMP->file, hRTPDUMP->startMicroSeconds ) && + !writeLong( hRTPDUMP->file, hRTPDUMP->source ) && + !writeShort( hRTPDUMP->file, hRTPDUMP->port ) && + !writeShort( hRTPDUMP->file, 0 ) ) + { + return 0; + } + return -1; +} + +RTPDUMP_ERROR +RTPDUMP_OpenForReading( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ) +{ + return RTPDUMP_OpenWithFileToRead( phRTPDUMP, fopen( filename, "rb" ) ); +} + +RTPDUMP_ERROR +RTPDUMP_OpenWithFileToRead( RTPDUMP_HANDLE *phRTPDUMP, FILE *file ) +{ + *phRTPDUMP = (RTPDUMP_HANDLE) calloc( 1, sizeof( struct RTPDUMP ) ); + if ( !phRTPDUMP ) + { + return RTPDUMP_MEMORY_ERROR; + } + + /* open file stream */ + ( *phRTPDUMP )->file = file; + if ( ( *phRTPDUMP )->file == NULL ) + { + return RTPDUMP_FILE_NOT_FOUND; + } + + if ( readHeader( *phRTPDUMP ) != 0 ) + { + return RTPDUMP_INIT_ERROR; + } + + return RTPDUMP_NO_ERROR; +} + +RTPDUMP_ERROR +RTPDUMP_OpenForWriting( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ) +{ + *phRTPDUMP = (RTPDUMP_HANDLE) calloc( 1, sizeof( struct RTPDUMP ) ); + if ( !phRTPDUMP ) + { + return RTPDUMP_MEMORY_ERROR; + } + + /* open file stream */ + ( *phRTPDUMP )->file = fopen( filename, "wb" ); + if ( ( *phRTPDUMP )->file == NULL ) + { + return RTPDUMP_FILE_NOT_FOUND; + } + + if ( writeHeader( *phRTPDUMP ) != 0 ) + { + return RTPDUMP_INIT_ERROR; + } + + return RTPDUMP_NO_ERROR; +} + +RTPDUMP_ERROR +RTPDUMP_ReadPacket( RTPDUMP_HANDLE hRTPDUMP, + RTPDUMP_RTPPACKET *packet, + uint32_t *timeoffset_ms ) +{ + unsigned short length = 0; + + if ( !hRTPDUMP ) + { + return RTPDUMP_NOT_INITIALIZED; + } + + /* length of packet, including this header (may be smaller than plen if not whole packet recorded) */ + if ( readShort( hRTPDUMP->file, &length ) ) + { + return RTPDUMP_READ_ENDOFFILE; + } + length -= 8; + + /* actual header+payload length for RTP, 0 for RTCP */ + if ( readShort( hRTPDUMP->file, &( packet->payloadSize ) ) ) + { + return RTPDUMP_READ_ERROR; + } + if ( packet->payloadSize < length ) + { + return RTPDUMP_UNKNOWN_ERROR; + } + + /* remove size of RTP header so that plen is payload length */ + packet->headerSize = 12; + packet->payloadSize -= packet->headerSize; + + /* milliseconds since the start of recording */ + if ( readLong( hRTPDUMP->file, timeoffset_ms ) ) + { + return RTPDUMP_READ_ERROR; + } + + if ( length > sizeof( packet->data ) / sizeof( packet->data[0] ) ) + { + return RTPDUMP_UNKNOWN_ERROR; + } + + /* read entire RTP packet */ + if ( length != 0U ) + { + fread( packet->data, length, 1, hRTPDUMP->file ); + } + + RTPDUMP_ParseRTPHeader( packet ); + return RTPDUMP_NO_ERROR; +} + +RTPDUMP_ERROR +RTPDUMP_WritePacket( RTPDUMP_HANDLE hRTPDUMP, + const RTPDUMP_RTPPACKET *packet, + uint32_t timeoffset_ms ) +{ + /* rtpdump packet header */ + writeShort( hRTPDUMP->file, 8 + packet->headerSize + packet->payloadSize ); + writeShort( hRTPDUMP->file, packet->headerSize + packet->payloadSize ); + writeLong( hRTPDUMP->file, timeoffset_ms ); + + /* RTP header */ + writeByte( hRTPDUMP->file, packet->v_p_x_xx ); + writeByte( hRTPDUMP->file, packet->payloadTypeId ); + writeShort( hRTPDUMP->file, packet->sequenceNumber ); + writeLong( hRTPDUMP->file, packet->timeStamp ); + writeLong( hRTPDUMP->file, packet->ssrc ); + + /* RTP payload */ + fwrite( packet->data + packet->headerSize, packet->payloadSize, 1, hRTPDUMP->file ); + return RTPDUMP_NO_ERROR; +} + +void RTPDUMP_Close( RTPDUMP_HANDLE *phRTPDUMP, short closeFile ) +{ + if ( !phRTPDUMP ) + { + return; + } + + if ( !( *phRTPDUMP ) ) + { + return; + } + + if ( closeFile && ( *phRTPDUMP )->file ) + { + fclose( ( *phRTPDUMP )->file ); + } + + free( *phRTPDUMP ); + *phRTPDUMP = NULL; +} + +void RTPDUMP_SetDefaultRtpPacketHeader( RTPDUMP_RTPPACKET *packet ) +{ + packet->v_p_x_xx = 128; + packet->payloadTypeId = 96; + packet->sequenceNumber = 0; + packet->timeStamp = 0; + packet->ssrc = 0xaabbccdd; + packet->headerSize = 12; + packet->payloadSize = 0; +} + +void RTPDUMP_ParseRTPHeader( RTPDUMP_RTPPACKET *packet ) +{ + unsigned char *payload = (unsigned char *) packet->data; + payload = parseByte( payload, &( packet->v_p_x_xx ) ); + payload = parseByte( payload, &( packet->payloadTypeId ) ); + payload = parseShort( payload, &( packet->sequenceNumber ) ); + payload = parseLong( payload, &( packet->timeStamp ) ); + parseLong( payload, &( packet->ssrc ) ); +} diff --git a/lib_util/rtpdump.h b/lib_util/rtpdump.h new file mode 100644 index 0000000000..3b5cb6b64b --- /dev/null +++ b/lib_util/rtpdump.h @@ -0,0 +1,107 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +/*==================================================================================== + EVS Codec 3GPP TS26.443 Nov 04, 2021. Version 12.14.0 / 13.10.0 / 14.6.0 / 15.4.0 / 16.3.0 + ====================================================================================*/ + +#pragma once +#include <stdint.h> +#include <stdio.h> + +#ifdef __cplusplus +extern "C" +{ +#endif + + typedef enum _RTPDUMP_ERROR + { + RTPDUMP_NO_ERROR = 0x0000, + RTPDUMP_MEMORY_ERROR = 0x0001, + RTPDUMP_WRONG_PARAMS = 0x0002, + RTPDUMP_INIT_ERROR = 0x0003, + RTPDUMP_WRITE_ERROR = 0x0004, + RTPDUMP_READ_ERROR = 0x0005, + RTPDUMP_FILE_NOT_FOUND = 0x0006, + RTPDUMP_NOT_IMPLEMENTED = 0x0010, + RTPDUMP_NOT_INITIALIZED = 0x0100, + RTPDUMP_READ_ENDOFFILE = 0x0101, + RTPDUMP_UNKNOWN_ERROR = 0x1000 + } RTPDUMP_ERROR; + + typedef struct RTPDUMP *RTPDUMP_HANDLE; + typedef struct RTPDUMP RTPDUMP; + + typedef struct RTPDUMP_RTPPACKET + { + unsigned char v_p_x_xx; /* version, padding, extension etc. */ + unsigned char payloadTypeId; + unsigned short sequenceNumber; + unsigned int timeStamp; + unsigned int ssrc; + char data[1500 + 12]; /* raw RTP packet */ + unsigned short headerSize; + unsigned short payloadSize; + } RTPDUMP_RTPPACKET; + + + RTPDUMP_ERROR + RTPDUMP_OpenForReading( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ); + + RTPDUMP_ERROR + RTPDUMP_OpenWithFileToRead( RTPDUMP_HANDLE *phRTPDUMP, FILE *file ); + + RTPDUMP_ERROR + RTPDUMP_OpenForWriting( RTPDUMP_HANDLE *phRTPDUMP, const char *filename ); + + RTPDUMP_ERROR + RTPDUMP_ReadPacket( RTPDUMP_HANDLE hRTPDUMP, + RTPDUMP_RTPPACKET *packet, + uint32_t *timeoffset_ms ); + + RTPDUMP_ERROR + RTPDUMP_WritePacket( RTPDUMP_HANDLE hRTPDUMP, + const RTPDUMP_RTPPACKET *packet, + uint32_t timeoffset_ms ); + + void + RTPDUMP_Close( RTPDUMP_HANDLE *phRTPDUMP, short closeFile ); + + void + RTPDUMP_SetDefaultRtpPacketHeader( RTPDUMP_RTPPACKET *packet ); + + void + RTPDUMP_ParseRTPHeader( RTPDUMP_RTPPACKET *packet ); + +#ifdef __cplusplus +} +#endif diff --git a/lib_util/tinywavein_c.h b/lib_util/tinywavein_c.h new file mode 100644 index 0000000000..1f826a0301 --- /dev/null +++ b/lib_util/tinywavein_c.h @@ -0,0 +1,556 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef __TINYWAVEIN_C_H__ +#define __TINYWAVEIN_C_H__ + +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#if defined( __i386__ ) || defined( _M_IX86 ) || defined( __x86_64__ ) || defined( _M_X64 ) || defined( __arm__ ) || defined( __aarch64__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) +#define __TWI_LE /* _T_iny _W_ave _I_n _L_ittle _E_ndian */ +#endif + +#if defined( __POWERPC__ ) || defined( __sparc__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) +#define __TWI_BE /* _T_iny _W_ave _I_n _B_ig _E_ndian */ +#endif + +#if !defined( __TWI_LE ) && !defined( __TWI_BE ) +#pragma message( "unknown processor - assuming Little Endian" ) +#define __TWI_LE +#endif + +#define __TWI_SUCCESS ( 0 ) +#define __TWI_ERROR ( -1 ) + +typedef struct __tinyWaveInHandle +{ + FILE *theFile; + fpos_t dataChunkPos; + uint32_t position; + uint32_t length; + uint32_t bps; +} __tinyWaveInHandle, WAVEFILEIN; + +typedef struct +{ + int16_t compressionCode; + int16_t numberOfChannels; + uint32_t sampleRate; + uint32_t averageBytesPerSecond; + int16_t blockAlign; + int16_t bitsPerSample; + /* int16_t extraFormatBytes ; */ +} SWavInfo; + +typedef struct +{ + char chunkID[4]; + uint32_t chunkSize; + /* long dataOffset ; */ /* never used */ +} SChunk; + +/* local wrapper, always returns correct endian */ +static size_t fread_LE( + void *ptr, + size_t size, + size_t nmemb, + FILE *stream ); + +#ifdef __TWI_BE +static int16_t BigEndian16( int16_t v ); +static int32_t BigEndian32( int32_t v ); +#endif + +/*! + * \brief Read header from a WAVEfile. Host endianess is handled accordingly. + * \fp filepointer of type FILE*. + * \wavinfo SWavInfo struct where the decoded header info is stored into. + * \return 0 on success and non-zero on failure. + * + */ +static WAVEFILEIN *OpenWav( + const char *filename, + uint32_t *samplerate, + int16_t *channels, + uint32_t *samplesInFile, + int16_t *bps ) +{ + WAVEFILEIN *self; + + SChunk fmt_chunk, data_chunk; + int32_t offset; + uint32_t tmpSize; + char tmpFormat[4]; + SWavInfo wavinfo = { 0, 0, 0, 0, 0, 0 }; + + self = (WAVEFILEIN *) calloc( 1, sizeof( WAVEFILEIN ) ); + if ( !self ) + { + goto bail; /* return NULL; */ + } + + if ( !filename ) + { + goto bail; + } + if ( !samplerate ) + { + goto bail; + } + if ( !channels ) + { + goto bail; + } + if ( !samplesInFile ) + { + goto bail; + } + if ( !bps ) + { + goto bail; + } + + self->theFile = fopen( filename, "rb" ); + if ( !self->theFile ) + { + goto bail; + } + + /* read RIFF-chunk */ + if ( fread( tmpFormat, 1, 4, self->theFile ) != 4 ) + { + goto bail; + } + + if ( strncmp( "RIFF", tmpFormat, 4 ) ) + { + goto bail; + } + + /* Read RIFF size. Ignored. */ + fread_LE( &tmpSize, 4, 1, self->theFile ); + + /* read WAVE-chunk */ + if ( fread( tmpFormat, 1, 4, self->theFile ) != 4 ) + { + goto bail; + } + + if ( strncmp( "WAVE", tmpFormat, 4 ) ) + { + goto bail; + } + + /* read format/bext-chunk */ + if ( fread( fmt_chunk.chunkID, 1, 4, self->theFile ) != 4 ) + { + goto bail; + } + + /* skip some potential chunks up to fmt chunk */ + /* todo: merge "bext" reading into this loop */ + while ( strncmp( "fmt ", fmt_chunk.chunkID, 4 ) != 0 ) + { + uint32_t chunkSize = 0; + + if ( fread_LE( &chunkSize, 1, 4, self->theFile ) != 4 ) + { + goto bail; + } + + /* skip chunk data */ + while ( chunkSize ) + { + int32_t nulbuf; + if ( fread_LE( &nulbuf, 1, 1, self->theFile ) != 1 ) + { + goto bail; + } + chunkSize -= 1; + } + + /* read next chunk header */ + if ( fread( fmt_chunk.chunkID, 1, 4, self->theFile ) != 4 ) + { + goto bail; + } + } + + /* go on with fmt-chunk */ + if ( strncmp( "fmt ", fmt_chunk.chunkID, 4 ) ) + { + goto bail; + } + + if ( fread_LE( &fmt_chunk.chunkSize, 4, 1, self->theFile ) != + 1 ) + { /* should be 16 for PCM-format (uncompressed) */ + goto bail; + } + + /* read info */ + fread_LE( &( wavinfo.compressionCode ), 2, 1, self->theFile ); + fread_LE( &( wavinfo.numberOfChannels ), 2, 1, self->theFile ); + fread_LE( &( wavinfo.sampleRate ), 4, 1, self->theFile ); + fread_LE( &( wavinfo.averageBytesPerSecond ), 4, 1, self->theFile ); + fread_LE( &( wavinfo.blockAlign ), 2, 1, self->theFile ); + fread_LE( &( wavinfo.bitsPerSample ), 2, 1, self->theFile ); + + offset = fmt_chunk.chunkSize - 16; + if ( wavinfo.compressionCode == 0x01 ) + { + if ( ( wavinfo.bitsPerSample != 16 ) && ( wavinfo.bitsPerSample != 24 ) ) + { /* we do only support 16 and 24 bit PCM audio */ + goto bail; + } + } + else if ( wavinfo.compressionCode == 0x03 ) + { + if ( wavinfo.bitsPerSample != 32 ) + { /* we do only support 32 bit float audio */ + goto bail; + } + } + + /* Skip rest of fmt header if any. */ + for ( ; offset > 0; offset-- ) + { + size_t read = fread( &tmpSize, 1, 1, self->theFile ); + (void) read; + } + + do + { + /* Read data chunk ID */ + if ( fread( data_chunk.chunkID, 1, 4, self->theFile ) != 4 ) + { + goto bail; + } + + /* Read chunk length. */ + + if ( fread_LE( &offset, 4, 1, self->theFile ) != 1 ) + { + goto bail; + } + + /* Check for data chunk signature. */ + if ( strncmp( "data", data_chunk.chunkID, 4 ) == 0 ) + { + data_chunk.chunkSize = offset; + break; + } + + /* unused 1 byte present, if size is odd */ + /* see https:/ /www.daubnet.com/en/file-format-riff */ + if ( offset % 2 ) + { + offset++; + } + + /* Jump over non data chunk. */ + for ( ; offset > 0; offset-- ) + { + size_t read = fread( &tmpSize, 1, 1, self->theFile ); + (void) read; + } + + } while ( !feof( self->theFile ) ); + + /* success so far */ + *samplerate = wavinfo.sampleRate; + *channels = wavinfo.numberOfChannels; + *samplesInFile = data_chunk.chunkSize / wavinfo.numberOfChannels; + *samplesInFile /= ( ( wavinfo.bitsPerSample + 7 ) / 8 ); + *bps = wavinfo.bitsPerSample; + + self->position = 0; + self->bps = wavinfo.bitsPerSample; + self->length = *samplesInFile * wavinfo.numberOfChannels; + + fgetpos( self->theFile, &self->dataChunkPos ); + + return self; + +bail: + free( self ); + return NULL; +} + +static int32_t __ReadSample16( + WAVEFILEIN *self, + int32_t *sample, + int32_t scale ) +{ + size_t cnt; + int16_t v = 0; + + cnt = fread( &v, 2, 1, self->theFile ); + + if ( cnt != 1 ) + { + return __TWI_ERROR; + } + + self->position += 1; + +#ifdef __TWI_BE + v = BigEndian16( v ); +#endif + + if ( ( scale - 16 ) > 0 ) + { + *sample = v << ( scale - 16 ); + } + else + { + *sample = v >> ( 16 - scale ); + } + + return __TWI_SUCCESS; +} + +static int32_t __ReadSample24( + WAVEFILEIN *self, + int32_t *sample, + int32_t scale ) +{ + size_t cnt; + int32_t v = 0; + + cnt = fread( &v, 3, 1, self->theFile ); + + if ( cnt != 1 ) + { + return __TWI_ERROR; + } + + self->position += 1; + +#ifdef __TWI_BE + v = BigEndian32( v ); +#endif + + if ( v >= 0x800000 ) + { + v |= 0xff000000; + } + + if ( ( scale - 24 ) > 0 ) + { + *sample = v << ( scale - 24 ); + } + else + { + *sample = v >> ( 24 - scale ); + } + + return __TWI_SUCCESS; +} + +static int32_t __ReadSample32( + WAVEFILEIN *self, + float *sample ) +{ + size_t cnt; + union fl_int + { + float v_float; + int32_t v_int; + }; + union fl_int v; + + cnt = fread( &v, 4, 1, self->theFile ); + if ( cnt != 1 ) + { + return __TWI_ERROR; + } + + self->position += 1; +#ifdef __TWI_BE + v.v_int = BigEndian32( v.v_int ); +#endif + + *sample = v.v_float; + + return __TWI_SUCCESS; +} + +static int32_t __ReadSampleInternal( + WAVEFILEIN *self, + int32_t *sample, + int32_t scale ) +{ + int32_t err; + + if ( !self ) + { + return __TWI_ERROR; + } + + switch ( self->bps ) + { + case 16: + err = __ReadSample16( self, sample, scale ); + break; + + case 24: + err = __ReadSample24( self, sample, scale ); + break; + + default: + err = __TWI_ERROR; + break; + } + + return err; +} + +/* not fully tested */ +/* this function returns normalized values in the range +32767..-32768 */ +static int32_t ReadWavShort( + WAVEFILEIN *self, + int16_t sampleBuffer[], + uint32_t nSamplesToRead, + uint32_t *nSamplesRead ) +{ + uint32_t i; + int32_t err = __TWI_SUCCESS; + + if ( !sampleBuffer ) + { + return __TWI_ERROR; + } + + /* check if we have enough samples left, if not, + set nSamplesToRead to number of samples left. */ + if ( self->position + nSamplesToRead > self->length ) + { + nSamplesToRead = self->length - self->position; + } + + for ( i = 0; i < nSamplesToRead; i++ ) + { + if ( self->bps == 32 ) + { + float tmp; + err = __ReadSample32( self, &tmp ); + if ( err != __TWI_SUCCESS ) + { + return err; + } + sampleBuffer[i] = (int16_t) ( tmp * 32768.0f ); + } + else + { + int32_t tmp; + err = __ReadSampleInternal( self, &tmp, 16 ); + if ( err != __TWI_SUCCESS ) + { + return err; + } + sampleBuffer[i] = (int16_t) tmp; + } + *nSamplesRead += 1; + } + + return __TWI_SUCCESS; +} + +static int32_t CloseWavIn( + WAVEFILEIN *self ) +{ + if ( self ) + { + if ( self->theFile ) + { + fclose( self->theFile ); + } + } + free( self ); + + return __TWI_SUCCESS; +} + +/*------------- local subs ----------------*/ + +static size_t fread_LE( + void *ptr, + size_t size, + size_t nmemb, + FILE *stream ) +{ +#ifdef __TWI_LE + return fread( ptr, size, nmemb, stream ); +#endif +#ifdef __TWI_BE + + unsigned char x[sizeof( int32_t )]; + unsigned char *y = (unsigned char *) ptr; + int32_t i; + int32_t len; + + len = fread( x, size, nmemb, stream ); + + for ( i = 0; i < size * nmemb; i++ ) + { + *y++ = x[size * nmemb - i - 1]; + } + + return len; +#endif +} + +#ifdef __TWI_BE +static int16_t BigEndian16( int16_t v ) +{ + int16_t a = ( v & 0x0ff ); + int16_t b = ( v & 0x0ff00 ) >> 8; + + return a << 8 | b; +} + +static int32_t BigEndian32( int32_t v ) +{ + int32_t a = ( v & 0x0ff ); + int32_t b = ( v & 0x0ff00 ) >> 8; + int32_t c = ( v & 0x0ff0000 ) >> 16; + int32_t d = ( v & 0xff000000 ) >> 24; + + return a << 24 | b << 16 | c << 8 | d; +} +#endif + +#endif /* __TINYWAVEIN_C_H__ */ diff --git a/lib_util/tinywaveout_c.h b/lib_util/tinywaveout_c.h new file mode 100644 index 0000000000..39cde0d338 --- /dev/null +++ b/lib_util/tinywaveout_c.h @@ -0,0 +1,592 @@ +/****************************************************************************************************** + + (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository. All Rights Reserved. + + This software is protected by copyright law and by international treaties. + The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, + Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., + Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, + Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other + contributors to this repository retain full ownership rights in their respective contributions in + the software. This notice grants no license of any kind, including but not limited to patent + license, nor is any license granted by implication, estoppel or otherwise. + + Contributors are required to enter into the IVAS codec Public Collaboration agreement before making + contributions. + + This software is provided "AS IS", without any express or implied warranties. The software is in the + development stage. It is intended exclusively for experts who have experience with such software and + solely for the purpose of inspection. All implied warranties of non-infringement, merchantability + and fitness for a particular purpose are hereby disclaimed and excluded. + + Any dispute, controversy or claim arising under or in relation to providing this software shall be + submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in + accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and + the United Nations Convention on Contracts on the International Sales of Goods. + +*******************************************************************************************************/ + +#ifndef __TINYWAVEOUT_C_H__ +#define __TINYWAVEOUT_C_H__ + +#include <stdint.h> +#include <stdio.h> +#include <stdlib.h> + +#if defined( __i386__ ) || defined( _M_IX86 ) || defined( _M_X64 ) || defined( __x86_64__ ) || defined( __arm__ ) || defined( __aarch64__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ ) +#define __TWO_LE /* _T_iny _W_ave _O_ut _L_ittle _E_ndian */ +#endif + +#if defined( __POWERPC__ ) || defined( __sparc__ ) || ( defined( __BYTE_ORDER__ ) && __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ ) +#define __TWO_BE /* _T_iny _W_ave _O_ut _B_ig _E_ndian */ +#endif + +#if !defined( __TWO_LE ) && !defined( __TWO_BE ) +#pragma message( "unknown processor - assuming Little Endian" ) +#define __TWI_LE +#endif + +#define __TWO_SUCCESS ( 0 ) +#define __TWO_ERROR ( -1 ) + +/*--- local types/structs ----------------------------------*/ + +#if defined( _MSC_VER ) +#pragma pack( push, 1 ) +#else +#pragma pack( 1 ) +#endif + +#ifndef TW_INT64 +#if !( defined( WIN32 ) ) +#include <stdint.h> +#define TWO_INT64 /* long long */ int64_t +#else +#define TWO_INT64 __int64 +#endif +#endif + +typedef struct __tinyWaveOutHeader +{ + uint32_t riffType; /* 'RIFF' */ + uint32_t riffSize; /* file size */ + + uint32_t waveType; /* 'WAVE' */ +} __tinyWaveOutHeader; + +typedef struct __tinyWaveOutFmtChunk +{ + uint32_t formatType; + uint32_t formatSize; + + uint16_t formatTag; + uint16_t numChannels; + uint32_t sampleRate; + uint32_t bytesPerSecond; + uint16_t blockAlignment; + uint16_t bitsPerSample; + + /* wav fmt ext hdr here */ +} __tinyWaveOutFmtChunk; + +typedef struct __tinyWaveOutDataChunk +{ + uint32_t dataType; + uint32_t dataSize; + +} __tinyWaveOutDataChunk; + +typedef struct __tinyWaveOutHandle +{ + FILE *theFile; + uint32_t dataSize; + TWO_INT64 dataSizeLimit; + uint32_t fmtChunkOffset; + uint32_t dataChunkOffset; + uint32_t bps; + uint32_t clipCount; +} __tinyWaveOutHandle, WAVEFILEOUT; + +/*--- local protos --------------------------------------------------*/ +static __inline uint32_t BigEndian32( char, char, char, char ); +static __inline uint32_t LittleEndian32( uint32_t ); +static __inline uint32_t LittleEndian32s( int32_t ); +static __inline int16_t LittleEndian16( int16_t ); +static __inline int32_t __dataSizeChk( WAVEFILEOUT *self, int32_t newbytes ); + +#if defined( _MSC_VER ) +#pragma pack( pop ) +#else +#pragma pack() +#endif + +static WAVEFILEOUT *CreateBWF( + const char *fileName, + const uint32_t sampleRate, + const uint32_t numChannels, + const uint32_t bps + /* ,const uint32_t writeWaveExt */ ) +{ + WAVEFILEOUT *self; + __tinyWaveOutHeader whdr; + __tinyWaveOutFmtChunk wfch; + __tinyWaveOutDataChunk wdch; + uint32_t blockAlignment = 0; + uint32_t ByteCnt = 0; /* Byte counter for fwrite */ + + self = (WAVEFILEOUT *) calloc( 1, sizeof( WAVEFILEOUT ) ); + if ( !self ) + { + goto bail; /* return NULL; */ + } + + if ( !fileName ) + { + goto bail; + } + if ( sampleRate == 0 ) + { + goto bail; + } + if ( sampleRate > 768000 ) + { + goto bail; + } + if ( numChannels == 0 ) + { + goto bail; + } + if ( numChannels > 64 ) + { + goto bail; + } + if ( bps != 16 && bps != 24 && bps != 32 ) + { + goto bail; + } + + self->theFile = fopen( fileName, "wb+" ); + if ( !self->theFile ) + { + goto bail; + } + + /* WAV-Header */ + whdr.riffType = BigEndian32( 'R', 'I', 'F', 'F' ); + whdr.riffSize = LittleEndian32( 0xffffffff ); /* set to maximum, if fseek() doesn't work later */ + whdr.waveType = BigEndian32( 'W', 'A', 'V', 'E' ); + /* write to file */ + ByteCnt = 0; + ByteCnt += (uint32_t) fwrite( &whdr, 1, sizeof( whdr ), self->theFile ); + + /* FMT-Chunk */ + wfch.formatType = BigEndian32( 'f', 'm', 't', ' ' ); + wfch.formatSize = LittleEndian32( 16 ); + switch ( bps ) + { + case 16: + case 24: + wfch.formatTag = LittleEndian16( 0x0001 ); /* WAVE_FORMAT_PCM */ + break; + case 32: + wfch.formatTag = LittleEndian16( 0x0003 ); /* WAVE_FORMAT_IEEE_FLOAT */ + break; + default: + goto bail; + } + self->bps = bps; + wfch.bitsPerSample = LittleEndian16( (int16_t) bps ); + wfch.numChannels = LittleEndian16( (int16_t) numChannels ); + blockAlignment = numChannels * ( bps >> 3 ); + wfch.blockAlignment = LittleEndian16( (int16_t) blockAlignment ); + wfch.sampleRate = LittleEndian32( sampleRate ); + wfch.bytesPerSecond = LittleEndian32( sampleRate * blockAlignment ); + /* tbd: wavfmt ext hdr here */ + /* write to file */ + self->fmtChunkOffset = ByteCnt; + ByteCnt += (uint32_t) fwrite( &wfch, 1, sizeof( wfch ), self->theFile ); + + /* DATA-Chunk */ + self->dataChunkOffset = ByteCnt; + wdch.dataType = BigEndian32( 'd', 'a', 't', 'a' ); + wdch.dataSize = LittleEndian32( 0xffffffff - ByteCnt ); /* yet unknown. set to maximum of 4 GB file */ + /* write to file */ + ByteCnt += (uint32_t) fwrite( &wdch, 1, sizeof( wdch ), self->theFile ); + + self->dataSize = 0; + self->dataSizeLimit = LittleEndian32( 0xffffffff - ByteCnt ); /* maximum size for data chunk for 4 GB files */ + /* self->dataSizeLimit = LittleEndian32(0x7fffffff - ByteCnt); */ /* maximum size for data chunk for 2 GB files */ + + self->clipCount = 0; + + return self; + +bail: + free( self ); + return NULL; +} + +static WAVEFILEOUT *CreateWav( + const char *fileName, + const uint32_t sampleRate, + const uint32_t numChannels, + const uint32_t bps + /* const uint32_t writeWaveExt */ +) +{ + return CreateBWF( fileName, sampleRate, numChannels, bps ); +} + +static const int16_t MAX_PCM16 = 32767; +static const int16_t MIN_PCM16 = -32768; +static __inline int32_t CLIP_PCM16( + int32_t sample, + uint32_t *clipcount ) +{ + int32_t tmp = sample; + + if ( sample >= MAX_PCM16 ) + { + tmp = MAX_PCM16; + ( *clipcount )++; + } + else + { + if ( sample <= MIN_PCM16 ) + { + tmp = MIN_PCM16; + ( *clipcount )++; + } + } + + return tmp; +} + +static const int32_t MAX_PCM24 = 8388607; +static const int32_t MIN_PCM24 = -8388608; +static __inline int32_t CLIP_PCM24( + int32_t sample, + uint32_t *clipcount ) +{ + int32_t tmp = sample; + + if ( sample >= MAX_PCM24 ) + { + tmp = MAX_PCM24; + ( *clipcount )++; + } + else + { + if ( sample <= MIN_PCM24 ) + { + tmp = MIN_PCM24; + ( *clipcount )++; + } + } + + return tmp; +} +#define MAX_FLOAT32 ( +1.0f ) +#define MIN_FLOAT32 ( -1.0f ) +static __inline float CLIP_FLOAT32( + float sample, + uint32_t *clipcount ) +{ + float tmp = sample; + + if ( sample >= MAX_FLOAT32 ) + { + tmp = MAX_FLOAT32; + ( *clipcount )++; + } + else + { + if ( sample <= MIN_FLOAT32 ) + { + tmp = MIN_FLOAT32; + ( *clipcount )++; + } + } + + return tmp; +} + +static int32_t __WriteSample16( + WAVEFILEOUT *self, + int32_t sample, + int32_t scale ) +{ + size_t cnt; + int16_t v; + + if ( 16 != scale ) + { + if ( ( scale - 16 ) > 0 ) + { + sample = sample >> ( scale - 16 ); + } + else + { + sample = sample << ( 16 - scale ); + } + } + + v = (int16_t) CLIP_PCM16( sample, &( self->clipCount ) ); +#ifdef __TWO_BE + v = LittleEndian16( v ); +#endif + + cnt = fwrite( &v, sizeof( int16_t ), 1, self->theFile ); + + if ( cnt == 1 ) + { + self->dataSize += 2; + return __TWO_SUCCESS; + } + + return __TWO_ERROR; +} + +static int32_t __WriteSample24( + WAVEFILEOUT *self, + int32_t sample, + int32_t scale ) +{ + size_t cnt; + int32_t v; + + if ( ( scale - 24 ) > 0 ) + { + sample = sample >> ( scale - 24 ); + } + else + { + sample = sample << ( 24 - scale ); + } + + v = (int32_t) CLIP_PCM24( sample, &( self->clipCount ) ); +#ifdef __TWO_BE + v = LittleEndian32s( v ); +#endif + cnt = fwrite( &v, 3, 1, self->theFile ); + + if ( cnt == 1 ) + { + self->dataSize += 3; + return __TWO_SUCCESS; + } + + return __TWO_ERROR; +} + +static int32_t __WriteSample32( + WAVEFILEOUT *self, + float sample ) +{ + size_t cnt; + union fl_int + { + float v_float; + int32_t v_int; + }; + union fl_int v; + +#if CLIP_FLOAT + v.v_float = CLIP_FLOAT32( sample, &( self->clipCount ) ); +#else + v.v_float = sample; + if ( ( sample > 1.0f ) || ( sample < -1.0f ) ) + { + self->clipCount++; + } +#endif + +#ifdef __TWO_BE + v.v_int = LittleEndian32s( v.v_int ); +#endif + cnt = fwrite( &v, 4, 1, self->theFile ); + + if ( cnt == 1 ) + { + self->dataSize += 4; + return __TWO_SUCCESS; + } + + return __TWO_ERROR; +} + +static int32_t __WriteSampleInt( + WAVEFILEOUT *self, + int32_t sample, + int32_t scale ) +{ + int32_t err; + + if ( !self ) + { + return __TWO_ERROR; + } + + switch ( self->bps ) + { + case 16: + err = __WriteSample16( self, sample, scale ); + break; + + case 24: + err = __WriteSample24( self, sample, scale ); + break; + + default: + err = __TWO_ERROR; + break; + } + + return err; +} + +/* this function expects values in the 16 bit range +-32767/8 */ +static int32_t WriteWavShort( + WAVEFILEOUT *self, + int16_t sampleBuffer[], + uint32_t nSamples ) +{ + uint32_t i; + int32_t err = __TWO_SUCCESS; + + if ( !self ) + { + return __TWO_ERROR; + } + if ( !sampleBuffer ) + { + return __TWO_ERROR; + } + if ( __dataSizeChk( self, nSamples * sizeof( int16_t ) ) ) + { + return __TWO_ERROR; + } + + for ( i = 0; i < nSamples; i++ ) + { + if ( self->bps == 32 ) + { + err = __WriteSample32( self, sampleBuffer[i] / 32768.0f ); + } + else + { + err = __WriteSampleInt( self, (int32_t) sampleBuffer[i], 16 ); + } + if ( err != __TWO_SUCCESS ) + { + return err; + } + } + + return __TWO_SUCCESS; +} + +static int32_t CloseWav( + WAVEFILEOUT *self ) +{ + uint32_t riffSize_le = 0; + uint32_t dataSize_le = 0; + + if ( !self ) + { + return __TWO_ERROR; + } + + riffSize_le = LittleEndian32( + self->dataChunkOffset - 8 + 8 + + self->dataSize ); /* sizeof(hdr) - (8 bytes of riff chunk header) + (8 bytes data chunk + header) + sizeof(raw-pcm-data) */ + dataSize_le = LittleEndian32( self->dataSize ); + + /* now overwrite length/size values in header with the actual/real ones */ + /* fseek(self->theFile, 0, SEEK_SET);*/ + + /* seek to riffsize */ + fseek( self->theFile, 4, SEEK_SET ); + fwrite( &riffSize_le, sizeof( riffSize_le ), 1, self->theFile ); + /* seek to datasize */ + fseek( self->theFile, self->dataChunkOffset + 4, SEEK_SET ); + fwrite( &dataSize_le, sizeof( dataSize_le ), 1, self->theFile ); + + fclose( self->theFile ); + free( self ); + + return __TWO_SUCCESS; +} + +/*------------- local subs ----------------*/ + +static __inline uint32_t BigEndian32( + char a, + char b, + char c, + char d ) +{ +#ifdef __TWO_LE + return (uint32_t) d << 24 | (uint32_t) c << 16 | (uint32_t) b << 8 | (uint32_t) a; +#else + return (uint32_t) a << 24 | (uint32_t) b << 16 | (uint32_t) c << 8 | (uint32_t) d; +#endif +} + +static __inline uint32_t LittleEndian32( + uint32_t v ) +{ +#ifdef __TWO_LE + return v; +#else + return ( v & 0x000000FF ) << 24 | ( v & 0x0000FF00 ) << 8 | + ( v & 0x00FF0000 ) >> 8 | ( v & 0xFF000000 ) >> 24; +#endif +} + +/* signed version of the above */ +static __inline uint32_t LittleEndian32s( + int32_t v ) +{ +#ifdef __TWO_LE + return v; +#else + return ( v & 0x000000FF ) << 24 | ( v & 0x0000FF00 ) << 8 | + ( v & 0x00FF0000 ) >> 8 | ( v & 0xFF000000 ) >> 24; +#endif +} + +static __inline int16_t LittleEndian16( + int16_t v ) +{ +#ifdef __TWO_LE + return v; +#else + return ( ( v << 8 ) & 0xFF00 ) | ( ( v >> 8 ) & 0x00FF ); +#endif +} + +static __inline int32_t __dataSizeChk( + WAVEFILEOUT *self, + int32_t newbytes ) +{ + if ( !self ) + { + return __TWO_ERROR; + } + + if ( ( ( (TWO_INT64) self->dataSize ) + ( (TWO_INT64) newbytes ) ) > + self->dataSizeLimit ) + { + return __TWO_ERROR; + } + + return __TWO_SUCCESS; +} + +#endif /* __TINYWAVEOUT_C_H__ */ -- GitLab From 9f56389ceae6bd9521ce8417b7dea4e974588491 Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 13:30:59 +0100 Subject: [PATCH 334/620] limit duration of comp measurement for testing --- ci/complexity_measurements/getWmops.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 6136192374..7f80bfdb81 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -54,7 +54,8 @@ wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} # instrument and build -./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format +# TODO: remove duration limitation +./scripts/IvasBuildAndRunChecks.py -U 2 -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format # get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From 84e5151b31db5cab3deb755fbc08eb463f212781 Mon Sep 17 00:00:00 2001 From: kiene <jan.kiene@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 13:37:35 +0100 Subject: [PATCH 335/620] remove delay for testing --- .gitlab-ci.yml | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b778eea6a5..182d9cdf6e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1001,8 +1001,9 @@ complexity-ism-in-binaural-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - when: delayed - start_in: 1 hour + # TODO: activate delay again after testing + #when: delayed + #start_in: 1 hour script: - *print-common-info - *update-ltv-repo @@ -1017,8 +1018,9 @@ complexity-sba-hoa3-in-hoa3-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - when: delayed - start_in: 2 hours 30 minutes + # TODO: activate delay again after testing + #when: delayed + #start_in: 2 hours 30 minutes script: - *print-common-info - *update-ltv-repo @@ -1033,8 +1035,9 @@ complexity-mc-in-7_1_4-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - when: delayed - start_in: 4 hours + # TODO: activate delay again after testing + #when: delayed + #start_in: 4 hours script: - *print-common-info - *update-ltv-repo @@ -1049,8 +1052,9 @@ complexity-masa-in-7_1_4-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - when: delayed - start_in: 7 hours 30 minutes + # TODO: activate delay again after testing + #when: delayed + #start_in: 7 hours 30 minutes script: - *print-common-info - *update-ltv-repo @@ -1065,8 +1069,9 @@ complexity-StereoDmxEVS-stereo-in-mono-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - when: delayed - start_in: 8 hours 30 minutes + # TODO: activate delay again after testing + #when: delayed + #start_in: 8 hours 30 minutes script: - *print-common-info - *update-ltv-repo -- GitLab From 5d632dd6802f9bc3df69b52d9dc30f990aedb92e Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 13:46:37 +0100 Subject: [PATCH 336/620] refactor + enable tangent law stereo panning for ISM in the renderer --- lib_com/ivas_prot.h | 9 +++++++ lib_com/options.h | 1 + lib_dec/ivas_ism_renderer.c | 48 ++++++++++++++++++++++++++++++++++ lib_rend/lib_rend.c | 52 +++++++++++++++++++++++++------------ tests/renderer/constants.py | 12 ++++----- 5 files changed, 99 insertions(+), 23 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 2d7ef74210..0f2e298c88 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -4673,6 +4673,15 @@ void ivas_ism_render( const int16_t output_frame /* i : output frame length per channel */ ); +#ifdef FIX_REND_ISM_STEREO_PANNING +void ivas_ism_get_stereo_gains( + const float azimuth, /* i : object azimuth */ + const float elevation, /* i : object elevation */ + float *left_gain, /* o : left channel gain */ + float *right_gain /* o : right channel gain */ +); + +#endif void ivas_mc2sba( IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ float buffer_td[][L_FRAME48k], /* i/o: MC signals (on input) and the HOA3 (on output) */ diff --git a/lib_com/options.h b/lib_com/options.h index 116dc7fad3..16143aacc1 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -181,6 +181,7 @@ #define FIX_REND_ISM_XFADE /* Issue 193: Crossfade inconsistencies in ISM between decoder and external renderer */ #define FIX_REND_ISM_POS_ROUNDING /* Issue 193: (TEMPORARY! Pending fix for #215) Align rounding of ISM position data in external renderer */ +#define FIX_REND_ISM_STEREO_PANNING /* Issue 193: Use tangent panning for ISM to stereo in external renderer */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_ism_renderer.c b/lib_dec/ivas_ism_renderer.c index d6e91bc197..6346ee82ff 100644 --- a/lib_dec/ivas_ism_renderer.c +++ b/lib_dec/ivas_ism_renderer.c @@ -144,6 +144,12 @@ void ivas_ism_render( { if ( st_ivas->intern_config == AUDIO_CONFIG_STEREO ) { +#ifdef FIX_REND_ISM_STEREO_PANNING + ivas_ism_get_stereo_gains( st_ivas->hIsmMetaData[i]->azimuth, + st_ivas->hIsmMetaData[i]->elevation, + &gains[i][0], + &gains[i][1] ); +#else float aziRad, eleRad; float y, mappedX, aziRadMapped, A, A2, A3; const float LsAngleRad = 30.0f * PI_OVER_180; @@ -174,6 +180,7 @@ void ivas_ism_render( gains[i][0] = sqrtf( A3 ); gains[i][1] = sqrtf( 1.0f - A3 ); } +#endif } else { @@ -232,3 +239,44 @@ void ivas_ism_render( } return; } + +#ifdef FIX_REND_ISM_STEREO_PANNING +void ivas_ism_get_stereo_gains( + const float azimuth, /* i : object azimuth */ + const float elevation, /* i : object elevation */ + float *left_gain, /* o : left channel gain */ + float *right_gain /* o : right channel gain */ +) +{ + float aziRad, eleRad; + float y, mappedX, aziRadMapped, A, A2, A3; + const float LsAngleRad = 30.0f * PI_OVER_180; + + /* Convert azi and ele to an azi value of the cone of confusion */ + aziRad = azimuth * PI_OVER_180; + eleRad = elevation * PI_OVER_180; + y = ( sinf( aziRad ) * cosf( eleRad ) ); + mappedX = sqrtf( max( 0.0f, 1.0f - ( y * y ) ) ); + aziRadMapped = atan2f( y, mappedX ); + + /* Determine the amplitude panning gains */ + if ( aziRadMapped >= LsAngleRad ) + { /* Left side */ + *left_gain = 1.0f; + *right_gain = 0.0f; + } + else if ( aziRadMapped <= -LsAngleRad ) + { /* Right side */ + *left_gain = 0.0f; + *right_gain = 1.0f; + } + else /* Tangent panning law */ + { + A = tanf( aziRadMapped ) / tanf( LsAngleRad ); + A2 = ( A - 1.0f ) / max( 0.001f, A + 1.0f ); + A3 = 1.0f / ( A2 * A2 + 1.0f ); + *left_gain = sqrtf( A3 ); + *right_gain = sqrtf( 1.0f - A3 ); + } +} +#endif diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 760987c922..f31c3f4f27 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3791,31 +3791,49 @@ static ivas_error renderIsmToMc( wmops_sub_start( "renderIsmToMc" ); /* TODO(sgi): Possible optimization: less processing needed if position didn't change */ +#ifdef FIX_REND_ISM_STEREO_PANNING + if ( *ismInput->base.ctx.pOutConfig == IVAS_REND_AUDIO_CONFIG_STEREO ) + { + set_zero( currentPanGains, 16 ); + ivas_ism_get_stereo_gains( ismInput->currentPos.azimuth, + ismInput->currentPos.elevation, + ¤tPanGains[0], + ¤tPanGains[1] ); + + set_zero( previousPanGains, 16 ); + ivas_ism_get_stereo_gains( ismInput->previousPos.azimuth, + ismInput->previousPos.elevation, + &previousPanGains[0], + &previousPanGains[1] ); + } + else +#endif + { #ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved - if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, - (int16_t) floorf( ismInput->currentPos.azimuth + 0.5f ), - (int16_t) floorf( ismInput->currentPos.elevation + 0.5f ), - currentPanGains ) ) != IVAS_ERR_OK ) + if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, + (int16_t) floorf( ismInput->currentPos.azimuth + 0.5f ), + (int16_t) floorf( ismInput->currentPos.elevation + 0.5f ), + currentPanGains ) ) != IVAS_ERR_OK ) #else - if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->currentPos.azimuth, ismInput->currentPos.elevation, currentPanGains ) ) != IVAS_ERR_OK ) + if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->currentPos.azimuth, ismInput->currentPos.elevation, currentPanGains ) ) != IVAS_ERR_OK ) #endif - { - return error; - } + { + return error; + } #ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved - if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, - (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), - (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), - previousPanGains ) ) != IVAS_ERR_OK ) + if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, + (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), + (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), + previousPanGains ) ) != IVAS_ERR_OK ) #else - if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->previousPos.azimuth, ismInput->previousPos.elevation, previousPanGains ) ) != IVAS_ERR_OK ) + if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->previousPos.azimuth, ismInput->previousPos.elevation, previousPanGains ) ) != IVAS_ERR_OK ) #endif - { - return error; + { + return error; + } } - /* Assume num channels in audio buffer to be 1. * This should have been validated in IVAS_REND_FeedInputAudio() */ renderBufferChannelLerp( ismInput->base.inputBuffer, 0, currentPanGains, previousPanGains, outAudio ); @@ -3849,7 +3867,7 @@ static ivas_error renderIsmToSba( } #ifdef FIX_REND_ISM_POS_ROUNDING - // TODO tmu review when #215 is resolved + // TODO tmu review when #215 is resolved ivas_dirac_dec_get_response( (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), previousPanGains, diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index ae77c59b88..4e1cf96c86 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -376,11 +376,12 @@ pass_snr = { "test_ism_binaural_static[ISM2-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM3-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM4-BINAURAL_ROOM]": 21, - # Failure Reason: Casting of positions in renderer to int16_t vs. float in python + # Failure Reason: Tangent law panning missing in python scripts "test_ism[ISM1-STEREO]": 50, "test_ism[ISM2-STEREO]": 54, "test_ism[ISM4-STEREO]": 55, "test_ism[ISM3-STEREO]": 51, + # Failure Reason: Casting of positions in renderer to int16_t vs. float in python "test_ism[ISM1-5_1]": 43, "test_ism[ISM1-5_1_2]": 43, "test_ism[ISM1-5_1_4]": 43, @@ -482,11 +483,6 @@ pass_snr = { "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL]": 72, "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL]": 71, # TODO harmonize panning to stereo - # Failure reason ISM to stereo panning is done via EFAP in the renderer and tangent law in decoder, harmonize - "test_ism_vs_decoder[ISM1-STEREO]": 8, - "test_ism_vs_decoder[ISM2-STEREO]": 17, - "test_ism_vs_decoder[ISM3-STEREO]": 14, - "test_ism_vs_decoder[ISM4-STEREO]": 14, # Failure reason: Decoder sets elevation for non-planar output layouts to 0 "test_ism_vs_decoder[ISM1-5_1]": 27, "test_ism_vs_decoder[ISM1-7_1]": 27, @@ -505,24 +501,28 @@ pass_snr = { "test_ism_vs_decoder[ISM1-FOA]": 27, "test_ism_vs_decoder[ISM1-HOA2]": 27, "test_ism_vs_decoder[ISM1-HOA3]": 27, + "test_ism_vs_decoder[ISM1-STEREO]": 27, "test_ism_vs_decoder[ISM2-5_1_2]": 32, "test_ism_vs_decoder[ISM2-5_1_4]": 32, "test_ism_vs_decoder[ISM2-7_1_4]": 32, "test_ism_vs_decoder[ISM2-FOA]": 32, "test_ism_vs_decoder[ISM2-HOA2]": 32, "test_ism_vs_decoder[ISM2-HOA3]": 32, + "test_ism_vs_decoder[ISM2-STEREO]": 32, "test_ism_vs_decoder[ISM3-5_1_2]": 33, "test_ism_vs_decoder[ISM3-5_1_4]": 33, "test_ism_vs_decoder[ISM3-7_1_4]": 33, "test_ism_vs_decoder[ISM3-FOA]": 33, "test_ism_vs_decoder[ISM3-HOA2]": 33, "test_ism_vs_decoder[ISM3-HOA3]": 33, + "test_ism_vs_decoder[ISM3-STEREO]": 33, "test_ism_vs_decoder[ISM4-5_1_2]": 31, "test_ism_vs_decoder[ISM4-5_1_4]": 31, "test_ism_vs_decoder[ISM4-7_1_4]": 31, "test_ism_vs_decoder[ISM4-FOA]": 31, "test_ism_vs_decoder[ISM4-HOA2]": 32, "test_ism_vs_decoder[ISM4-HOA3]": 31, + "test_ism_vs_decoder[ISM4-STEREO]": 32, # TODO needs investigation "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL-full_circle_in_15s]": 74, "test_multichannel_binaural_headrotation_vs_decoder[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 74, -- GitLab From 8cbb895b07fe7dfdde5e89ca5377491559420e4b Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 14:13:13 +0100 Subject: [PATCH 337/620] formatting --- lib_dec/ivas_ism_renderer.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_dec/ivas_ism_renderer.c b/lib_dec/ivas_ism_renderer.c index 6346ee82ff..ca71e4035d 100644 --- a/lib_dec/ivas_ism_renderer.c +++ b/lib_dec/ivas_ism_renderer.c @@ -146,9 +146,9 @@ void ivas_ism_render( { #ifdef FIX_REND_ISM_STEREO_PANNING ivas_ism_get_stereo_gains( st_ivas->hIsmMetaData[i]->azimuth, - st_ivas->hIsmMetaData[i]->elevation, - &gains[i][0], - &gains[i][1] ); + st_ivas->hIsmMetaData[i]->elevation, + &gains[i][0], + &gains[i][1] ); #else float aziRad, eleRad; float y, mappedX, aziRadMapped, A, A2, A3; -- GitLab From a1b633b82cfada5e590614f829ff88e9a43dfc60 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 14:25:49 +0100 Subject: [PATCH 338/620] more thresholds --- tests/renderer/constants.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 4e1cf96c86..a29380551d 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -377,10 +377,10 @@ pass_snr = { "test_ism_binaural_static[ISM3-BINAURAL_ROOM]": 21, "test_ism_binaural_static[ISM4-BINAURAL_ROOM]": 21, # Failure Reason: Tangent law panning missing in python scripts - "test_ism[ISM1-STEREO]": 50, - "test_ism[ISM2-STEREO]": 54, - "test_ism[ISM4-STEREO]": 55, - "test_ism[ISM3-STEREO]": 51, + "test_ism[ISM1-STEREO]": 8, + "test_ism[ISM2-STEREO]": 13, + "test_ism[ISM3-STEREO]": 13, + "test_ism[ISM4-STEREO]": 13, # Failure Reason: Casting of positions in renderer to int16_t vs. float in python "test_ism[ISM1-5_1]": 43, "test_ism[ISM1-5_1_2]": 43, -- GitLab From aa6facd31671d129f1ad2b60ca75dfb79167b329 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 15:01:21 +0100 Subject: [PATCH 339/620] update testcase thresholds --- tests/renderer/constants.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 829c0437bf..b315576806 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -386,9 +386,14 @@ pass_snr = { # Failure reason: bitexact except for delay alignment of LFE signal (Issue 59) "test_multichannel_binaural_headrotation[5_1-BINAURAL-full_circle_in_15s]": 7, "test_multichannel_binaural_headrotation[5_1-BINAURAL-rotate_yaw_pitch_roll1]": 6, + "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-full_circle_in_15s]": 9, + "test_multichannel_binaural_headrotation[5_1_2-BINAURAL-rotate_yaw_pitch_roll1]": 1, + "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-full_circle_in_15s]": 10, "test_multichannel_binaural_headrotation[5_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 1, "test_multichannel_binaural_headrotation[7_1-BINAURAL-full_circle_in_15s]": 8, "test_multichannel_binaural_headrotation[7_1-BINAURAL-rotate_yaw_pitch_roll1]": 8, + "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-full_circle_in_15s]": 8, + "test_multichannel_binaural_headrotation[7_1_4-BINAURAL-rotate_yaw_pitch_roll1]": 1, # Failure reason: differences in LFE alignment and possibly rotation "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-full_circle_in_15s]": 14, "test_multichannel_binaural_headrotation[5_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 12, -- GitLab From 18e36be88395024092c9c16c99725632cf72dd00 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 15:51:16 +0100 Subject: [PATCH 340/620] - fix a bug causing incorrectly named output files in tests - reorganise switches in options.h --- lib_com/options.h | 6 +++--- tests/renderer/constants.py | 10 +++++++++- tests/renderer/utils.py | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index e389d90910..2011fb56b4 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -150,6 +150,9 @@ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ +#define FIX_REND_ISM_XFADE /* Issue 193: Crossfade inconsistencies in ISM between decoder and external renderer */ +#define FIX_REND_ISM_POS_ROUNDING /* Issue 193: (Temporary solution until fix for #215) Align rounding of ISM position data in external renderer */ +#define FIX_REND_ISM_STEREO_PANNING /* Issue 193: Use tangent panning for ISM to stereo in external renderer */ #define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ #define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ #define FIX_REND_ROT_MC_BIN /* Issue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ @@ -160,9 +163,6 @@ #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ -#define FIX_REND_ISM_XFADE /* Issue 193: Crossfade inconsistencies in ISM between decoder and external renderer */ -#define FIX_REND_ISM_POS_ROUNDING /* Issue 193: (TEMPORARY! Pending fix for #215) Align rounding of ISM position data in external renderer */ -#define FIX_REND_ISM_STEREO_PANNING /* Issue 193: Use tangent panning for ISM to stereo in external renderer */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index a80df2a8da..c209aa4ed3 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -435,6 +435,12 @@ pass_snr = { "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-full_circle_in_15s]": 11, "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 9, "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 6, + # Failure reason: mixed format, see above + "Ftest_metadata[mixed_scene-5_1]": 47, + "Ftest_metadata[mixed_scene-5_1_2]": 47, + "test_metadata[mixed_scene-7_1]": 48, + "test_metadata[mixed_scene-7_1_4]": 47, + "test_metadata[mixed_scene-5_1_4]": 47, ##################################### # # External vs Internal Renderer tests @@ -467,7 +473,6 @@ pass_snr = { "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL_ROOM]": 12, "test_ism_binaural_static_vs_decoder[ISM3-BINAURAL]": 72, "test_ism_binaural_static_vs_decoder[ISM4-BINAURAL]": 71, - # TODO harmonize panning to stereo # Failure reason: Decoder sets elevation for non-planar output layouts to 0 "test_ism_vs_decoder[ISM1-5_1]": 27, "test_ism_vs_decoder[ISM1-7_1]": 27, @@ -508,6 +513,7 @@ pass_snr = { "test_ism_vs_decoder[ISM4-HOA2]": 30, "test_ism_vs_decoder[ISM4-HOA3]": 29, "test_ism_vs_decoder[ISM4-MONO]": 77, + "test_ism_vs_decoder[ISM4-STEREO]": 31, # TODO needs investigation # Failure reason: headrotation and crossfade could have differences "test_multichannel_binaural_headrotation_vs_decoder[5_1_2-BINAURAL-full_circle_in_15s]": 4, @@ -528,11 +534,13 @@ pass_snr = { "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-full_circle_in_15s]": 16, "test_multichannel_binaural_headrotation_vs_decoder[7_1_4-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 16, # Failure reason: Differences seem to be purely in late reverb part + "test_multichannel_binaural_static_vs_decoder[5_1-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1_2-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL]": 74, "test_multichannel_binaural_static_vs_decoder[5_1_4-BINAURAL_ROOM]": 18, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL]": 74, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, + "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, # Failure reason: R channel in MONO output is delayed "test_multichannel_vs_decoder[5_1_2-MONO]": 1, "test_multichannel_vs_decoder[5_1_4-MONO]": 1, diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py index b22cdc9f69..6030440f07 100644 --- a/tests/renderer/utils.py +++ b/tests/renderer/utils.py @@ -443,7 +443,7 @@ def compare_renderer_vs_decoder(test_info, in_fmt, out_fmt, **kwargs): if in_fmt in FORMAT_TO_METADATA_FILES.keys(): tmp_fmt = "EXT" in_meta_files = [ - str(tmp_dir.joinpath(f"{in_fmt}_to_EXT.wav.{n}.csv")) + str(tmp_dir.joinpath(f"{in_fmt}_to_EXT{trj_name}.wav.{n}.csv")) for n in range(int(in_fmt[-1])) ] else: -- GitLab From 54f18ddaa84e30efc52081a96d2cd7bf1fbc2596 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 16:02:06 +0100 Subject: [PATCH 341/620] fix typo --- tests/renderer/constants.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index c209aa4ed3..adb600768f 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -436,8 +436,8 @@ pass_snr = { "test_multichannel_binaural_headrotation[7_1-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 9, "test_multichannel_binaural_headrotation[5_1_2-BINAURAL_ROOM-rotate_yaw_pitch_roll1]": 6, # Failure reason: mixed format, see above - "Ftest_metadata[mixed_scene-5_1]": 47, - "Ftest_metadata[mixed_scene-5_1_2]": 47, + "test_metadata[mixed_scene-5_1]": 47, + "test_metadata[mixed_scene-5_1_2]": 47, "test_metadata[mixed_scene-7_1]": 48, "test_metadata[mixed_scene-7_1_4]": 47, "test_metadata[mixed_scene-5_1_4]": 47, -- GitLab From 66ccef83b560c551bddabb80cf5e7c32042e586e Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 16:38:47 +0100 Subject: [PATCH 342/620] Add CI job voip-be-on-merge-request --- .gitlab-ci.yml | 11 +++++++++++ ci/{jbm_be_test.sh => ivas_voip_be_test.sh} | 0 2 files changed, 11 insertions(+) rename ci/{jbm_be_test.sh => ivas_voip_be_test.sh} (100%) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a0f5d3385..73edb3361a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -562,6 +562,17 @@ evs-pytest-on-merge-request: junit: - report-junit-evs.xml +voip-be-on-merge-request: + extends: + - .test-job-linux-needs-testv-dir + - .rules-merge-request + stage: compare # Or should it be test? Comparison is done within one git revision + needs: ["build-codec-linux-make", codec-smoke-test] + timeout: "10 minutes" + script: + - *print-common-info + - bash ci/ivas_voip_be_test.sh + clang-format-check: extends: - .test-job-linux diff --git a/ci/jbm_be_test.sh b/ci/ivas_voip_be_test.sh similarity index 100% rename from ci/jbm_be_test.sh rename to ci/ivas_voip_be_test.sh -- GitLab From d33fae5ab7c3feb29ab9372a29130bd4997e78af Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Thu, 8 Dec 2022 16:41:39 +0100 Subject: [PATCH 343/620] FhG: Contribution 22: stabilization of global IPD in DFT Stereo Encoder --- apps/decoder.c | 5 + lib_com/ivas_cnst.h | 4 + lib_com/ivas_prot.h | 0 lib_com/options.h | 2 +- lib_enc/ivas_stat_enc.h | 6 + lib_enc/ivas_stereo_dft_enc.c | 248 +++++++++++++++++++++++++++++++++- 6 files changed, 257 insertions(+), 8 deletions(-) mode change 100644 => 100755 apps/decoder.c mode change 100644 => 100755 lib_com/ivas_cnst.h mode change 100644 => 100755 lib_com/ivas_prot.h mode change 100644 => 100755 lib_com/options.h mode change 100644 => 100755 lib_enc/ivas_stat_enc.h mode change 100644 => 100755 lib_enc/ivas_stereo_dft_enc.c diff --git a/apps/decoder.c b/apps/decoder.c old mode 100644 new mode 100755 index 6396e3ab94..e484ee58c3 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1096,6 +1096,11 @@ static void usage_dec( void ) fprintf( stdout, " left or l or 1->left, right or r or -1->right, center or c or 0->middle\n" ); fprintf( stdout, "-q : Quiet mode, no frame counter\n" ); fprintf( stdout, " default is deactivated\n" ); +#ifdef DEBUG_MODE_INFO +#ifdef DEBUG_MODE_INFO_TWEAK + fprintf( stdout, "-info <folder> : specify subfolder name for debug output\n" ); +#endif +#endif fprintf( stdout, "\n" ); return; diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h old mode 100644 new mode 100755 index 4a9ce1e080..a9fd80eb55 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -524,6 +524,10 @@ typedef enum #define STEREO_DFT_XCORR_LB_MAX 24 +#ifdef STABILIZE_GIPD +#define STEREO_DFT_IPD_BUF_LEN 5 +#endif + #define STEREO_DFT_N_COH_PRED 4 /* Number of intra-frame predictors for coherence vector */ #define STEREO_DFT_COH_PRED_COEFFS 15 /* Number of coefficients per predictor */ #define STEREO_DFT_PRED_NBITS 2 /* Bits to signal predictor (log_2(4) = 2) */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h old mode 100644 new mode 100755 diff --git a/lib_com/options.h b/lib_com/options.h old mode 100644 new mode 100755 index 8a84da5d9f..78612fb0e7 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -154,7 +154,7 @@ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ - +#define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h old mode 100644 new mode 100755 index dfe32a9a02..c4c131c2c3 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -212,6 +212,12 @@ typedef struct stereo_dft_enc_data_struct float sfm; float sum_dot_prod_real; float sum_dot_prod_img; +#ifdef STABILIZE_GIPD + float dot_prod_real_smooth[STEREO_DFT_BAND_MAX]; + float dot_prod_img_smooth[STEREO_DFT_BAND_MAX]; + float ipd_buf[STEREO_DFT_BAND_MAX][STEREO_DFT_IPD_BUF_LEN]; + float prev_gipd; +#endif /*ITD*/ ITD_DATA_HANDLE hItd; diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c old mode 100644 new mode 100755 index e54b98a942..c5a045cb8a --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -75,6 +75,14 @@ static void stereo_dft_enc_open( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, const in static void stereo_dft_enc_compute_prm( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, float *DFT_L, float *DFT_R, int16_t k_offset, int16_t flag_quant, const int16_t sp_aud_decision0, const int16_t vad_flag, float *bin_nrgL, float *bin_nrgR, float *dot_prod_nrg_ratio ); +#ifdef STABILIZE_GIPD +static float stereo_dft_calc_mean_bipd( float *pIpd, float ipd_buf[STEREO_DFT_IPD_BUF_LEN] ); + +static float stereo_dft_calc_mean_ipd_change( float *pIpd, float *ipd_smooth, int16_t gipd_band_max ); + +static void stereo_dft_gipd_stabilization( float *pgIpd, float prev_gipd, float ipd_mean_change ); +#endif + #ifdef DEBUG_MODE_DFT static void stereo_dft_enc_get_nipd_flag( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, float *pgIpd, const int16_t sp_aud_decision0, const float gainIPD ); #else @@ -435,6 +443,15 @@ void stereo_dft_enc_reset( hStereoDft->side_gain_counter = 0; hStereoDft->side_gain_bitdiff_lp = STEREO_DFT_BITDIFF_INIT; set_zero( hStereoDft->gipd, STEREO_DFT_ENC_DFT_NB ); +#ifdef STABILIZE_GIPD + set_zero( hStereoDft->dot_prod_real_smooth, STEREO_DFT_BAND_MAX ); + set_zero( hStereoDft->dot_prod_img_smooth, STEREO_DFT_BAND_MAX ); + for ( i = 0; i < STEREO_DFT_BAND_MAX; i++ ) + { + set_zero( hStereoDft->ipd_buf[i], STEREO_DFT_IPD_BUF_LEN); + } + hStereoDft->prev_gipd = 0.f; +#endif hStereoDft->gipd_index = 0; set_zero( hStereoDft->res_pred_gain, STEREO_DFT_ENC_DFT_NB * STEREO_DFT_BAND_MAX ); set_s( hStereoDft->res_pred_index_EC, 0, STEREO_DFT_BAND_MAX ); @@ -630,7 +647,11 @@ void stereo_dft_enc_update( hStereoDft->nbands_dmx = stereo_dft_band_config( hStereoDft->band_limits_dmx, 1, NFFT_inner, ENC ); /*Compute main parameters*/ +#ifdef STABILIZE_GIPD + hStereoDft->gipd_band_max = dft_band_ipd[1][3]; +#else hStereoDft->gipd_band_max = dft_band_ipd[hStereoDft->hConfig->band_res][3]; +#endif hStereoDft->res_cod_band_max = dft_band_res_cod[hStereoDft->hConfig->band_res][hStereoDft->res_cod_mode[k_offset]]; hStereoDft->res_cod_line_max = (int16_t) ( 0.5f + ( hStereoDft->band_limits[hStereoDft->res_cod_band_max] - 1 ) * 2.f * hStereoDft->N / (float) ( hStereoDft->NFFT ) ); hStereoDft->res_cod_line_max = 8 * ( hStereoDft->res_cod_line_max / 8 ); @@ -1281,7 +1302,11 @@ void stereo_dft_enc_process( /* Initialization */ k_offset = STEREO_DFT_OFFSET; /*Add an offset at encoder*/ +#ifdef STABILIZE_GIPD + hStereoDft->gipd_band_max = dft_band_ipd[1][3]; +#else hStereoDft->gipd_band_max = dft_band_ipd[hStereoDft->band_res[k_offset]][3]; +#endif hStereoDft->res_cod_band_max = dft_band_res_cod[hStereoDft->band_res[k_offset]][hStereoDft->res_cod_mode[k_offset]]; hStereoDft->res_cod_line_max = (int16_t) ( 0.5f + ( hStereoDft->band_limits[hStereoDft->res_cod_band_max] - 1 ) * 2.f * input_frame / (float) ( hStereoDft->NFFT ) ); hStereoDft->res_cod_line_max = 8 * ( hStereoDft->res_cod_line_max / 8 ); @@ -2606,8 +2631,14 @@ static void stereo_dft_enc_compute_prm( float sum_energy_L, sum_energy_R; float g, c; float abs_L_R; +#ifdef STABILIZE_GIPD + float abs_L_R2; +#endif float gain_IPD; float sub_nrg_DMX[STEREO_DFT_BAND_MAX]; +#ifdef STABILIZE_GIPD + float sub_nrg_DMX2; +#endif float sub_nrg_L[STEREO_DFT_BAND_MAX]; float sub_nrg_R[STEREO_DFT_BAND_MAX]; float diff_ipd; @@ -2621,6 +2652,11 @@ static void stereo_dft_enc_compute_prm( float sum_past_dot_prod_abs, sum_past_dot_prod_abs2; float sum_past_nrg_dmx; int16_t pos; +#ifdef STABILIZE_GIPD + float pIpd[STEREO_DFT_BAND_MAX]; + float ipd_smooth[STEREO_DFT_BAND_MAX]; + float ipd_mean_change; +#endif /*------------------------------------------------------------------* * Initialization @@ -2633,7 +2669,6 @@ static void stereo_dft_enc_compute_prm( set_f( sub_nrg_L, 0, STEREO_DFT_BAND_MAX ); set_f( sub_nrg_R, 0, STEREO_DFT_BAND_MAX ); - pSideGain = hStereoDft->side_gain + k_offset * STEREO_DFT_BAND_MAX; pgIpd = hStereoDft->gipd + k_offset; pPredGain = hStereoDft->res_pred_gain + k_offset * STEREO_DFT_BAND_MAX; @@ -2642,6 +2677,9 @@ static void stereo_dft_enc_compute_prm( sum_energy_R = EPSILON; sum_dot_prod_real = EPSILON; sum_dot_prod_img = EPSILON; +#ifdef STABILIZE_GIPD + sub_nrg_DMX2 = 0.f; +#endif #ifdef DEBUG_MODE_DFT sum_nrg_L = EPSILON; sum_nrg_R = EPSILON; @@ -2671,10 +2709,17 @@ static void stereo_dft_enc_compute_prm( pNrgL = bin_nrgL; pNrgR = bin_nrgR; +#ifdef STABILIZE_GIPD + sum_nrg_L2 = EPSILON; + sum_nrg_R2 = EPSILON; + dot_prod_real2 = EPSILON; + dot_prod_img2 = EPSILON; +#else sum_nrg_L2 = 0; sum_nrg_R2 = 0; dot_prod_real2 = 0; dot_prod_img2 = 0; +#endif for ( i = hStereoDft->band_limits_dmx[b2]; i < hStereoDft->band_limits_dmx[b2 + 1]; i++ ) { @@ -2684,7 +2729,23 @@ static void stereo_dft_enc_compute_prm( /* compute dot product*/ dot_prod_real2 += pDFT_L[2 * i] * pDFT_R[2 * i] + pDFT_L[2 * i + 1] * pDFT_R[2 * i + 1]; dot_prod_img2 += pDFT_L[2 * i + 1] * pDFT_R[2 * i] - pDFT_L[2 * i] * pDFT_R[2 * i + 1]; + + } +#ifdef STABILIZE_GIPD + abs_L_R2 = sqrtf( dot_prod_real2 * dot_prod_real2 + dot_prod_img2 * dot_prod_img2 ); + sub_nrg_DMX2 = sum_nrg_L2 + sum_nrg_R2 + 2 * abs_L_R2; + + if ( b2 < hStereoDft->gipd_band_max ) + { + hStereoDft->dot_prod_real_smooth[b2] = 0.5f * hStereoDft->dot_prod_real_smooth[b2] + 0.5f * dot_prod_real2; + hStereoDft->dot_prod_img_smooth[b2] = 0.5f * hStereoDft->dot_prod_img_smooth[b2] + 0.5f * dot_prod_img2; + pIpd[b2] = (float)atan2( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); + + ipd_smooth[b2] = stereo_dft_calc_mean_bipd( &pIpd[b2], hStereoDft->ipd_buf[b2] ); + + gain_IPD += (sum_nrg_L2 + sum_nrg_R2 + 2 * dot_prod_real2) / sub_nrg_DMX2 / hStereoDft->gipd_band_max; } +#endif sum_past_nrgL2 = EPSILON; sum_past_nrgR2 = EPSILON; @@ -2838,18 +2899,24 @@ static void stereo_dft_enc_compute_prm( pPredGain[b] = 0.f; } - - if ( b < hStereoDft->gipd_band_max ) - { - gain_IPD += ( sum_nrg_L + sum_nrg_R + 2 * dot_prod_real ) / sub_nrg_DMX[b] / hStereoDft->gipd_band_max; - } - +#ifdef STABILIZE_GIPD + if ( b2 == hStereoDft->gipd_band_max ) +#else if ( b == hStereoDft->gipd_band_max - 1 ) +#endif { +#ifdef STABILIZE_GIPD + ipd_mean_change = stereo_dft_calc_mean_ipd_change( pIpd, ipd_smooth, hStereoDft->gipd_band_max ); +#endif hStereoDft->sum_dot_prod_real = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_real + hStereoDft->sfm * sum_dot_prod_real; hStereoDft->sum_dot_prod_img = ( 1.f - hStereoDft->sfm ) * hStereoDft->sum_dot_prod_img + hStereoDft->sfm * sum_dot_prod_img; pgIpd[0] = (float) atan2( hStereoDft->sum_dot_prod_img, hStereoDft->sum_dot_prod_real ); + +#ifdef STABILIZE_GIPD + stereo_dft_gipd_stabilization( &pgIpd[0], hStereoDft->prev_gipd, ipd_mean_change ); + hStereoDft->prev_gipd = pgIpd[0]; +#endif } } @@ -3188,6 +3255,173 @@ static void res_pred_gain_mode_decision( } +#ifdef STABILIZE_GIPD +/*------------------------------------------------------------------------- + * stereo_dft_calc_mean_bipd() + * + * Calculate mean of previous bandwise IPD values + *------------------------------------------------------------------------*/ + +static float stereo_dft_calc_mean_bipd( + float *pIpd, /* i: current bandwise IPD */ + float ipd_buf[STEREO_DFT_IPD_BUF_LEN] /* i/o: previous bandwise IPDs */ +) +{ + int16_t i; + float ipd_smooth; + float diff_to_last; + + assert( *pIpd <= EVS_PI && *pIpd >= -EVS_PI ); + + ipd_smooth = 0.f; + for ( i = 0; i < STEREO_DFT_IPD_BUF_LEN; i++ ) + { + if ( i == 0 ) + { + diff_to_last = ipd_buf[0]; + } + else + { + diff_to_last = fabsf( ipd_buf[i] - ipd_smooth ); + } + if ( diff_to_last > EVS_PI ) + { + if ( ipd_buf[i] > 0 ) + { + ipd_buf[i] -= 2 * EVS_PI; + } + else + { + ipd_buf[i] += 2 * EVS_PI; + } + } + ipd_smooth = (i / (float)(i + 1)) * ipd_smooth + (1 / (float)(i + 1)) * ipd_buf[i]; + if ( ipd_smooth < -EVS_PI ) + { + ipd_smooth += 2 * EVS_PI; + } + else if ( ipd_smooth > EVS_PI ) + { + ipd_smooth -= 2 * EVS_PI; + } + } + + for ( i = 0; i < STEREO_DFT_IPD_BUF_LEN - 1; i++ ) + { + ipd_buf[i] = ipd_buf[i + 1]; + } + ipd_buf[STEREO_DFT_IPD_BUF_LEN - 1] = *pIpd; + +#ifdef DEBUG_MODE_DFT + dbgwrite( pIpd, sizeof( float ), 1, 1, "res/stereo_dft_bipd.pcm" ); + dbgwrite( &ipd_smooth, sizeof( float ), 1, 1, "res/stereo_dft_bipd_smooth.pcm" ); +#endif + + return ipd_smooth; +} + + +/*------------------------------------------------------------------------- + * stereo_dft_calc_mean_ipd_change() + * + * Calculate mean IPD change over all bands + *------------------------------------------------------------------------*/ + +static float stereo_dft_calc_mean_ipd_change( + float *pIpd, /* i: bandwise IPDs */ + float *ipd_smooth, /* i: mean of previous bandwise IPDs */ + int16_t gipd_band_max /* i: number of IPD bands */ +) +{ + int16_t b; + float ipd_mean_change; + float ipd_change[STEREO_DFT_BAND_MAX]; + + ipd_mean_change = 0.f; + for ( b = 0; b < gipd_band_max; b++ ) + { + ipd_change[b] = fabsf( pIpd[b] - ipd_smooth[b] ); + if ( ipd_change[b] > EVS_PI ) + { + ipd_change[b] = 2 * EVS_PI - ipd_change[b]; + } + ipd_mean_change += ipd_change[b]; + } + ipd_mean_change /= gipd_band_max; + +#ifdef DEBUG_MODE_DFT + dbgwrite( ipd_change, sizeof( float ), hStereoDft->gipd_band_max, 1, "res/stereo_dft_ipd_change.pcm" ); + dbgwrite( &ipd_mean_change, sizeof( float ), 1, 1, "res/stereo_dft_ipd_mean_change.pcm" ); +#endif + + return ipd_mean_change; +} + + +/*------------------------------------------------------------------------- + * stereo_dft_gipd_stabilization() + * + * stabilize global IPD based on stability of bandwise IPDs + *------------------------------------------------------------------------*/ + +static void stereo_dft_gipd_stabilization( + float *pgIpd, /* i/o: global IPD to be stabilized */ + float prev_gipd, /* i: previous global IPD */ + float ipd_mean_change /* i: mean of previous bandwise IPDs */ +) +{ + float diff_gipd; + + if ( ipd_mean_change < 0.3f ) + { + *pgIpd = prev_gipd; + } + else + { + diff_gipd = fabsf( *pgIpd - prev_gipd ); + if ( diff_gipd > EVS_PI ) + { + diff_gipd = 2 * EVS_PI - diff_gipd; + } + if ( diff_gipd > ipd_mean_change ) + { + if ( *pgIpd > prev_gipd ) + { + if ( *pgIpd - prev_gipd < EVS_PI ) + { + *pgIpd = prev_gipd + ipd_mean_change; + } + else + { + *pgIpd = prev_gipd - ipd_mean_change; + if ( *pgIpd < -EVS_PI ) + { + *pgIpd += 2 * EVS_PI; + } + } + } + else + { + if ( prev_gipd - *pgIpd < EVS_PI ) + { + *pgIpd = prev_gipd - ipd_mean_change; + } + else + { + *pgIpd = prev_gipd + ipd_mean_change; + if ( *pgIpd > EVS_PI ) + { + *pgIpd -= 2 * EVS_PI; + } + } + } + } + } + return; +} +#endif + + /*------------------------------------------------------------------------- * stereo_dft_enc_get_nipd_flag() * -- GitLab From 77a047c2d4991769cc04eaf596913f0c08055a25 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 8 Dec 2022 19:37:42 +0100 Subject: [PATCH 344/620] change TROM and PROM newsletters to: conf;enc;dec;com;rend;total --- scripts/pyivastest/IvasModeAnalyzer.py | 32 ++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/scripts/pyivastest/IvasModeAnalyzer.py b/scripts/pyivastest/IvasModeAnalyzer.py index ba43dc8db8..d4ae5efa92 100644 --- a/scripts/pyivastest/IvasModeAnalyzer.py +++ b/scripts/pyivastest/IvasModeAnalyzer.py @@ -391,9 +391,9 @@ class IvasModeAnalyzer(IvasModeCollector): result_table = [["conf", "com"]] else: if max_or_add == "add": - result_table = [["conf", "enc", "dec", "com", "total"]] + result_table = [["conf", "enc", "dec", "com", "rend", "total"]] if max_or_add == "max": - result_table = [["conf", "enc", "dec", "com", "max"]] + result_table = [["conf", "enc", "dec", "com", "rend", "max"]] sorted_modes = self.sort_log_modes() @@ -455,9 +455,11 @@ class IvasModeAnalyzer(IvasModeCollector): for oc in self.selected_logs[mode]["oc_list"]: formatted_name_oc = formatted_name + " to " + oc dec_value = -1 + rend_value = -1 for item in self.selected_logs[mode]["items"]: if oc in self.selected_logs[mode]["items"][item]["dec"]: dec_log_name = self.get_dec_log_file_name(item, mode, oc) + # get dec if keyword_suffix == 1: dec_value = max( dec_value, @@ -478,6 +480,27 @@ class IvasModeAnalyzer(IvasModeCollector): strip_suffix=strip_suffix, ), ) + # get rend + if keyword_suffix == 1: + rend_value = max( + rend_value, + self.get_log_value_from_file( + dec_log_name, + [keyword, "lib_rend"], + position, + strip_suffix=strip_suffix, + ), + ) + else: + rend_value = max( + rend_value, + self.get_log_value_from_file( + dec_log_name, + keyword, + position, + strip_suffix=strip_suffix, + ), + ) if encdec == 2: if max_or_add == "add": total = number_format.format( @@ -503,13 +526,13 @@ class IvasModeAnalyzer(IvasModeCollector): elif encdec == 4: if max_or_add == "add": total = number_format.format( - float(enc_value) + float(dec_value) + float(com_value) + float(enc_value) + float(dec_value) + float(com_value) + float(rend_value) ) elif max_or_add == "max": total = number_format.format( max( float(enc_value) + float(com_value), - float(dec_value) + float(com_value), + float(dec_value) + float(com_value) + float(rend_value), ) ) result_line = [ @@ -517,6 +540,7 @@ class IvasModeAnalyzer(IvasModeCollector): number_format.format(enc_value), number_format.format(float(dec_value)), number_format.format(com_value), + number_format.format(rend_value), total, ] result_table.append(result_line) -- GitLab From 82cc2c624169c2bfd1a9cf88e3ab24b98534bd5e Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 8 Dec 2022 19:55:17 +0100 Subject: [PATCH 345/620] updated printout of merged PROM and TROM newsletters --- .../mergeNewsletterRom.py | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/ci/complexity_measurements/mergeNewsletterRom.py b/ci/complexity_measurements/mergeNewsletterRom.py index 3ed69a8e09..1dba474082 100755 --- a/ci/complexity_measurements/mergeNewsletterRom.py +++ b/ci/complexity_measurements/mergeNewsletterRom.py @@ -65,24 +65,34 @@ with open(newsletterFilenameTROM, "r") as csvfile: # now we have the following format # PROM enc, PROM dec, PROM total, TROM enc, TROM dec, TROM total -print("conf;PROM enc;PROM dec;PROM total;TROM enc;TROM dec;TROM total") +print("conf;PROM enc;PROM dec;PROM com;PROM rend;PROM total;TROM enc;TROM dec;TROM com;TROM rend;TROM total;total") for key in rom_table: - ram = rom_table[key] - total = int(ram[1]) + int(ram[2]) + int(ram[5]) + rom = rom_table[key] + total = int(rom[4]) + int(rom[9]) print( key, ";", - ram[0], + rom[0], ";", - ram[1], + rom[1], ";", - ram[2], + rom[2], ";", - ram[3], + rom[3], ";", - ram[4], + rom[4], ";", - ram[5], + rom[5], + ";", + rom[6], + ";", + rom[7], + ";", + rom[8], + ";", + rom[9], + ";", + total, sep="", ) -- GitLab From 1e2783c9d0419cc168384142ef8f32bd668efe4c Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 8 Dec 2022 20:11:07 +0100 Subject: [PATCH 346/620] updated printout of max PROM and TROM numbers --- .../parseNewsletterRom.py | 112 ++++++++++-------- 1 file changed, 62 insertions(+), 50 deletions(-) diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py index 3dae8893ea..d7cdb3e8ea 100755 --- a/ci/complexity_measurements/parseNewsletterRom.py +++ b/ci/complexity_measurements/parseNewsletterRom.py @@ -49,17 +49,19 @@ if __name__ == "__main__": shortDate = sys.argv[5] fullDate = sys.argv[6] -max_total_enc = ["", 0] -max_total_dec = ["", 0] -max_total_encdec = ["", 0] - max_prom_enc = ["", 0] max_prom_dec = ["", 0] -max_prom_encdec = ["", 0] +max_prom_com = ["", 0] +max_prom_rend = ["", 0] +max_prom_total = ["", 0] max_trom_enc = ["", 0] max_trom_dec = ["", 0] -max_trom_encdec = ["", 0] +max_trom_com = ["", 0] +max_trom_rend = ["", 0] +max_trom_total = ["", 0] + +max_total_encdec = ["", 0] rom_table = {} @@ -82,22 +84,24 @@ with open(newsletterFilenameTROM, "r") as csvfile: rom_table[key] += lst # now we have the following format -# PROM enc, PROM dec, PROM total, TROM enc, TROM dec, TROM total +# PROM enc, PROM dec, PROM com, PROM rend, PROM total, TROM enc, TROM dec, TROM com, TROM rend, TROM total, total for key in rom_table: rom = rom_table[key] prom_enc = int(rom[0]) prom_dec = int(rom[1]) - prom_encdec = int(rom[2]) - - trom_enc = int(rom[3]) - trom_dec = int(rom[4]) - trom_encdec = int(rom[5]) - - total_enc = prom_enc + trom_enc - total_dec = prom_dec + trom_dec - total_encdec = prom_encdec + trom_encdec - + prom_com = int(rom[2]) + prom_rend = int(rom[3]) + prom_total = int(rom[4]) + + trom_enc = int(rom[5]) + trom_dec = int(rom[6]) + trom_com = int(rom[7]) + trom_rend = int(rom[8]) + trom_total = int(rom[9]) + + total_encdec = int(rom[10]) + if prom_enc > max_prom_enc[1]: max_prom_enc[0] = re.sub(" ", "_", key) max_prom_enc[1] = prom_enc @@ -106,9 +110,13 @@ for key in rom_table: max_prom_dec[0] = re.sub(" ", "_", key) max_prom_dec[1] = prom_dec - if prom_encdec > max_prom_encdec[1]: - max_prom_encdec[0] = re.sub(" ", "_", key) - max_prom_encdec[1] = prom_encdec + if prom_com > max_prom_com[1]: + max_prom_com[0] = re.sub(" ", "_", key) + max_prom_com[1] = prom_com + + if prom_rend > max_prom_rend[1]: + max_prom_rend[0] = re.sub(" ", "_", key) + max_prom_rend[1] = prom_rend if trom_enc > max_trom_enc[1]: max_trom_enc[0] = re.sub(" ", "_", key) @@ -118,40 +126,44 @@ for key in rom_table: max_trom_dec[0] = re.sub(" ", "_", key) max_trom_dec[1] = trom_dec - if trom_encdec > max_trom_encdec[1]: - max_trom_encdec[0] = re.sub(" ", "_", key) - max_trom_encdec[1] = trom_encdec - - if total_enc > max_total_enc[1]: - max_total_enc[0] = re.sub(" ", "_", key) - max_total_enc[1] = total_enc + if trom_com > max_trom_com[1]: + max_trom_com[0] = re.sub(" ", "_", key) + max_trom_com[1] = trom_com - if total_dec > max_prom_dec[1]: - max_total_dec[0] = re.sub(" ", "_", key) - max_total_dec[1] = total_dec + if trom_rend > max_trom_rend[1]: + max_trom_rend[0] = re.sub(" ", "_", key) + max_trom_rend[1] = trom_rend - if total_encdec > max_prom_encdec[1]: + if total_encdec > max_total_encdec[1]: max_total_encdec[0] = re.sub(" ", "_", key) max_total_encdec[1] = total_encdec + + print( - revision, #set revision = $tmp[1] - shortDate, #set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` - fullDate, #set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` - max_total_encdec[1], #TotalRomCodecScore - max_total_enc[0], #set TotalRomEnc = $tmp[5] - max_total_enc[1], #TotalRomEncScore - max_total_dec[0], #set TotalRomDec = $tmp[7] - max_total_dec[1], #TotalRomDecScore - max_prom_encdec[1], #PROMCodecScore - max_prom_enc[0], #set PromEnc = $tmp[10] - max_prom_enc[1], #PROMEncScore - max_prom_dec[0], #set PromDec = $tmp[12] - max_prom_dec[1], #PROMDecScore - max_trom_encdec[1], #TROMCodecScore - max_trom_enc[0], #set TromEnc = $tmp[15] - max_trom_enc[1], #TROMEncScore - max_trom_dec[0], #set TromDec = $tmp[17] - max_trom_dec[1], #TROMDecScore - newsletterFilenameLast, #set logFile = $tmp[19] + revision, + shortDate, + fullDate, + + max_total_encdec[1], + + max_prom_enc[0], + max_prom_enc[1], + max_prom_dec[0], + max_prom_dec[1], + max_prom_com[0], + max_prom_com[1], + max_prom_rend[0], + max_prom_rend[1], + + max_trom_enc[0], + max_trom_enc[1], + max_trom_dec[0], + max_trom_dec[1], + max_trom_com[0], + max_trom_com[1], + max_trom_rend[0], + max_trom_rend[1], + + newsletterFilenameLast, ) -- GitLab From ed82f1839482026f72a45c7de7461196170274a3 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 8 Dec 2022 22:17:22 +0100 Subject: [PATCH 347/620] fix bug in current_stack monitoring --- lib_debug/wmc_auto.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index 602d94b4cf..debcc0c157 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -582,8 +582,9 @@ typedef struct allocator_record *allocation_list = NULL; static int16_t *ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ -static int16_t *ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ -static int32_t wc_stack_frame = 0; /* Frame corresponding to the worst-case stack usage */ +static int16_t *ptr_current_stack = 0; /* Pointer to the current stack pointer */ +static int16_t *ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ +static int32_t wc_stack_frame = 0; /* Frame corresponding to the worst-case stack usage */ static int32_t wc_ram_size, wc_ram_frame; static int32_t current_heap_size; static int current_calls = 0; @@ -615,6 +616,7 @@ void reset_mem( Counting_Size cnt_size ) /* initialize stack pointers */ ptr_base_stack = &something; ptr_max_stack = ptr_base_stack; + ptr_current_stack = ptr_base_stack; Stat_Cnt_Size = cnt_size; @@ -702,6 +704,7 @@ void reset_stack( void ) /* initialize/reset stack pointers */ ptr_base_stack = &something; ptr_max_stack = ptr_base_stack; + ptr_current_stack = ptr_base_stack; return; } @@ -717,6 +720,8 @@ int push_stack( const char *filename, const char *fctname ) int16_t something; int32_t current_stack_size; + ptr_current_stack = &something; + (void) *filename; /* to avoid compilation warning */ /* Is there room to save the caller's information? */ @@ -738,16 +743,16 @@ int push_stack( const char *filename, const char *fctname ) stack_callers[0][current_calls].function_name[MAX_FUNCTION_NAME_LENGTH] = 0; /* Nul Terminate */ /* Save the Stack Pointer */ - stack_callers[0][current_calls].stack_ptr = &something; + stack_callers[0][current_calls].stack_ptr = ptr_current_stack; /* Increase Stack Calling Tree Level */ current_calls++; /* Is this the First Time or the Worst Case? */ - if ( &something < ptr_max_stack || ptr_max_stack == NULL ) + if ( ptr_current_stack < ptr_max_stack || ptr_max_stack == NULL ) { /* Yes */ /* Save Info about it */ - ptr_max_stack = &something; + ptr_max_stack = ptr_current_stack; wc_stack_frame = update_cnt; /* current frame number is stored in the variable update_cnt and updated in the function update_wmops() */ strncpy( location_max_stack, fctname, sizeof( location_max_stack ) - 1 ); @@ -764,7 +769,7 @@ int push_stack( const char *filename, const char *fctname ) } /* Check, if This is the New Worst-Case RAM (stack + heap) */ - current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) ); + current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_current_stack ) * sizeof( int16_t ) ) ); if ( current_stack_size + current_heap_size > wc_ram_size ) { wc_ram_size = current_stack_size + current_heap_size; @@ -950,7 +955,7 @@ void *mem_alloc( current_heap_size += ptr_record->block_size; /* Check, if this is the new Worst-Case RAM (stack + heap) */ - current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) ); + current_stack_size = ( int32_t )( ( ( ptr_base_stack - ptr_current_stack ) * sizeof( int16_t ) ) ); if ( current_stack_size + current_heap_size > wc_ram_size ) { wc_ram_size = current_stack_size + current_heap_size; -- GitLab From 84cb46631f624fb349b470c9290e6fc8b2bcf9db Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 9 Dec 2022 08:35:16 +0100 Subject: [PATCH 348/620] raise warning if stack is not empty in print_mem() --- lib_debug/wmc_auto.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index debcc0c157..d29f58a2aa 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -807,6 +807,16 @@ int pop_stack( const char *filename, const char *fctname ) /* Erase Entry */ caller_info_ptr->function_name[0] = 0; + /* Retrieve previous stack pointer */ + if ( current_calls == 0 ) + { + ptr_current_stack = ptr_base_stack; + } + else + { + ptr_current_stack = stack_callers[0][current_calls - 1].stack_ptr; + } + return 0 /* for Now */; } @@ -1785,6 +1795,12 @@ void print_mem( ROM_Size_Lookup_Table Const_Data_PROM_Table[] ) fprintf( stdout, "Maximum RAM (stack + heap) size: not available\n" ); } + /* check, if the stack is empty */ + if ( ptr_current_stack != ptr_base_stack ) + { + fprintf( stderr, "Warning: Stack is not empty.\n" ); + } + if ( ptr_base_stack - ptr_max_stack > 0 ) { fprintf( stdout, "Maximum stack size: %lu %s in frame %d\n", ( ( ptr_base_stack - ptr_max_stack ) * sizeof( int16_t ) ) >> Stat_Cnt_Size, Count_Unit[Stat_Cnt_Size], -- GitLab From 0a1827eaad61d67ff311f3f62207623b2f063f57 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 9 Dec 2022 08:50:14 +0100 Subject: [PATCH 349/620] allow return_; in root_a_over_b (BE change) --- lib_com/tools.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_com/tools.c b/lib_com/tools.c index 271dc54828..6336de64c1 100644 --- a/lib_com/tools.c +++ b/lib_com/tools.c @@ -1555,14 +1555,16 @@ float root_a_over_b( } #define WMC_TOOL_SKIP if ( isinf( a ) ) +#undef WMC_TOOL_SKIP { return FLT_MAX; } +#define WMC_TOOL_SKIP if ( isinf( b ) ) +#undef WMC_TOOL_SKIP { return 0.f; } -#undef WMC_TOOL_SKIP a += 0x00000001; b += 0x00000001; -- GitLab From 25b3b32e05837bcd54c2cb869a4189d8fc2b5c9e Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 9 Dec 2022 08:51:26 +0100 Subject: [PATCH 350/620] clang format on wmc_auto.c --- lib_debug/wmc_auto.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index d29f58a2aa..c648cfcd0d 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -581,7 +581,7 @@ typedef struct allocator_record *allocation_list = NULL; -static int16_t *ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ +static int16_t *ptr_base_stack = 0; /* Pointer to the bottom of stack (base pointer). Stack grows up. */ static int16_t *ptr_current_stack = 0; /* Pointer to the current stack pointer */ static int16_t *ptr_max_stack = 0; /* Pointer to the maximum stack pointer (the farest point from the bottom of stack) */ static int32_t wc_stack_frame = 0; /* Frame corresponding to the worst-case stack usage */ @@ -965,7 +965,7 @@ void *mem_alloc( current_heap_size += ptr_record->block_size; /* Check, if this is the new Worst-Case RAM (stack + heap) */ - current_stack_size = ( int32_t )( ( ( ptr_base_stack - ptr_current_stack ) * sizeof( int16_t ) ) ); + current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_current_stack ) * sizeof( int16_t ) ) ); if ( current_stack_size + current_heap_size > wc_ram_size ) { wc_ram_size = current_stack_size + current_heap_size; -- GitLab From 419faaf98dbbcab0f6f8a95e0cc82732416f24cf Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 10:23:54 +0100 Subject: [PATCH 351/620] fixed FdCng handling fixed some problems when going from MCT->ParamMC with 4 TCs --- lib_com/options.h | 1 + lib_com/prot.h | 7 +++-- lib_dec/ivas_mct_dec.c | 47 ++++++++++++++++++++++++++++- lib_dec/ivas_stereo_switching_dec.c | 17 +++++++++-- lib_enc/amr_wb_enc.c | 6 ++++ lib_enc/evs_enc.c | 5 +++ lib_enc/ivas_core_enc.c | 18 ++++++++--- lib_enc/ivas_cpe_enc.c | 2 +- lib_enc/ivas_mct_enc.c | 8 ++++- lib_enc/updt_enc.c | 8 +++-- 10 files changed, 105 insertions(+), 14 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9e65dacc1f..0e88d45eb0 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -165,6 +165,7 @@ #define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ #endif #define FIX_MC_BR_SW_TCX_PLC_FADEOUT +#define FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 973f15ef5a..8d2561afe0 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3916,8 +3916,11 @@ void updt_enc( ); void updt_enc_common( - Encoder_State *st, /* i/o: encoder state structure */ - const float Etot /* i : total energy */ + Encoder_State *st /* i/o: encoder state structure */ +#ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + , + const float Etot /* i : total energy */ +#endif ); void updt_IO_switch_enc( diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 9f5aea4aa8..6fe468d954 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -643,7 +643,7 @@ ivas_error ivas_mc_dec_config( } #ifdef MC_BITRATE_SWITCHING ivas_error ivas_mc_dec_reconfig( - Decoder_Struct *st_ivas /* i/o: IVAS encoder structure */ + Decoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ) { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; @@ -855,6 +855,34 @@ ivas_error ivas_mc_dec_reconfig( st->igf = 0; init_igf_dec( st->hIGFDec ); } + + if ( st->hHQ_core == NULL ) + { + + if ( ( st->hHQ_core = (HQ_DEC_HANDLE) count_malloc( sizeof( HQ_DEC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ core\n" ) ); + } + + /* HQ core initialization */ + HQ_core_dec_init( st->hHQ_core ); + } + +#if 0 + if ( st->element_mode == EVS_MONO ) + { + /* HQ NB FEC initialization */ + if ( ( st->hHQ_nbfec = (HQ_NBFEC_HANDLE) count_malloc( sizeof( HQ_NBFEC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ NB FEC\n" ) ); + } + HQ_nbfec_init( st->hHQ_nbfec ); + } + else + { + st->hHQ_nbfec = NULL; + } +#endif } else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) { @@ -887,6 +915,23 @@ ivas_error ivas_mc_dec_reconfig( return error; } + if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > CPE_CHANNELS ) + { + Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + +#if 1 + /* TCX-LTP */ + if ( st->hTcxLtpDec == NULL ) + { + if ( ( st->hTcxLtpDec = (TCX_LTP_DEC_HANDLE) count_malloc( sizeof( TCX_LTP_DEC_DATA ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for TCX-LTP handle\n" ) ); + } + tcxltp_dec_init( st->hTcxLtpDec, 0, st->last_codec_mode, st->element_mode, st->pit_max, st->sr_core ); + } +#endif + } + /* re-configure hp20 memories */ ivas_hp20_dec_reconfig( st_ivas, nchan_hp20_old ); diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 15056d5d0a..823cf6455c 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -346,7 +346,7 @@ ivas_error stereo_memory_dec( const MC_MODE mc_mode, const MC_MODE last_mc_mode, #endif - const int16_t nchan_transport /* i : number of transport channels*/ + const int16_t nchan_transport /* i : number of transport channels*/ ) { DEC_CORE_HANDLE st; @@ -871,7 +871,12 @@ ivas_error stereo_memory_dec( /* deallocate the FdCNG handle */ for ( i = 0; i < CPE_CHANNELS; ++i ) { - deleteFdCngDec( &hCPE->hCoreCoder[0]->hFdCngDec ); + deleteFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ); + /* deallocate CLDFB synthesis for LFE channel */ + if ( hCPE->hCoreCoder[i]->mct_chan_mode == MCT_CHAN_MODE_LFE ) + { + deleteCldfb( &hCPE->hCoreCoder[i]->cldfbSyn ); + } } } else @@ -879,6 +884,14 @@ ivas_error stereo_memory_dec( /* allocate the FdCNG handle (for noise estimation for TCX PLC fadeout)*/ for ( i = 0; i < CPE_CHANNELS; ++i ) { + if ( hCPE->hCoreCoder[i]->cldfbSyn == NULL ) /* could be NULL when we had the MCT LFE channel */ + { + if ( ( error = openCldfb( &hCPE->hCoreCoder[i]->cldfbSyn, CLDFB_SYNTHESIS, hCPE->hCoreCoder[i]->output_Fs, CLDFB_PROTOTYPE_1_25MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + if ( hCPE->hCoreCoder[i]->hFdCngDec == NULL ) { if ( ( error = createFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index c73e5a8949..2f8077ee45 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -536,7 +536,13 @@ void amr_wb_enc( updt_enc( st, old_exc, pitch_buf, 0, Aq, isf_new, isp_new, dummy_buf ); /* update main codec paramaters */ +#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + st->hNoiseEst->Etot_last = Etot; + updt_enc_common( st ); +#else updt_enc_common( st, Etot ); +#endif + #ifdef DEBUG_MODE_INFO dbgwrite( &st->codec_mode, sizeof( int16_t ), 1, input_frame, "res/codec" ); diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 29b610db79..9f54a68fd3 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -509,7 +509,12 @@ ivas_error evs_enc( * Updates *---------------------------------------------------------------------*/ +#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + st->hNoiseEst->Etot_last = Etot; + updt_enc_common( st ); +#else updt_enc_common( st, Etot ); +#endif if ( st->mdct_sw == MODE1 ) { diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index dc3247cbfb..2b87a966cd 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -405,11 +405,19 @@ ivas_error ivas_core_enc( signaling_enc_rf( st ); - /*---------------------------------------------------------------------* - * Common updates - *---------------------------------------------------------------------*/ - - updt_enc_common( st, Etot[n] ); +/*---------------------------------------------------------------------* + * Common updates + *---------------------------------------------------------------------*/ +#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ + if ( !MCT_flag ) + { + st->hNoiseEst->Etot_last = Etot[n]; + updt_enc_common( st ); + } +#else + updt_enc_common( st, Etot ); +#endif } diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index c3a4c194bd..0f29155095 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -52,7 +52,7 @@ *-------------------------------------------------------------------*/ ivas_error ivas_cpe_enc( - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ + Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t cpe_id, /* i : CPE # identifier */ const float data_f_ch0[], /* i : input signal for channel 0 */ const float data_f_ch1[], /* i : input signal for channel 1 */ diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index bff607e1d3..756d99d501 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -189,6 +189,10 @@ ivas_error ivas_mct_enc( for ( n = 0; n < CPE_CHANNELS; n++ ) { mvr2r( hCPE->hCoreCoder[n]->input, hCPE->hCoreCoder[n]->old_input_signal, input_frame ); +#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + /* common encoder updates */ + updt_enc_common( hCPE->hCoreCoder[n] ); +#endif } } @@ -772,6 +776,8 @@ ivas_error ivas_mc_enc_reconfig( } } st->igf = getIgfPresent( st->element_mode, st->total_brate, st->bwidth, st->rf_mode, st->mct_chan_mode ); + /* set last core to TCX20 */ + st->last_core = TCX_20_CORE; } else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) { @@ -789,7 +795,7 @@ ivas_error ivas_mc_enc_reconfig( else if ( st_ivas->mc_mode == MC_MODE_MCT ) { new_brate_SCE = 0; - new_brate_CPE = ( st_ivas->hEncoderConfig->ivas_total_brate / (st_ivas->nchan_transport -1)) * CPE_CHANNELS; + new_brate_CPE = ( st_ivas->hEncoderConfig->ivas_total_brate / ( st_ivas->nchan_transport - 1 ) ) * CPE_CHANNELS; } else { diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index c6663895e0..9d68deb68d 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -297,8 +297,10 @@ void updt_IO_switch_enc( *-------------------------------------------------------------------*/ void updt_enc_common( - Encoder_State *st, /* i/o: encoder state structure */ - const float Etot /* i : total energy */ + Encoder_State *st /* i/o: encoder state structure */ +#ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + ,const float Etot /* i : total energy */ +#endif ) { /*---------------------------------------------------------------------* @@ -316,7 +318,9 @@ void updt_enc_common( st->last_extl = st->extl; st->last_input_bwidth = st->input_bwidth; st->last_bwidth = st->bwidth; +#ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON st->hNoiseEst->Etot_last = Etot; +#endif st->last_coder_type_raw = st->coder_type_raw; if ( st->core_brate > SID_2k40 && st->hDtxEnc != NULL ) -- GitLab From 987cbdbd272f019f052e735c5444a39168020cba Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 13:54:34 +0100 Subject: [PATCH 352/620] [dbg] check if/where netsim executable is available on the runners --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 73edb3361a..e26af82bb0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,6 +571,7 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info + - which networkSimulator_g192 - bash ci/ivas_voip_be_test.sh clang-format-check: -- GitLab From 9f65603a591147839dbcd8a4b326a76a166aa727 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 14:02:24 +0100 Subject: [PATCH 353/620] [dbg] check if/where netsim executable is available on the runners --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e26af82bb0..a4bfa0ab4c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,7 +571,7 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info - - which networkSimulator_g192 + - echo $(which networkSimulator_g192) - bash ci/ivas_voip_be_test.sh clang-format-check: -- GitLab From 16f01ea91902997fb62d9ace7017d7a7e8b7caef Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 14:16:19 +0100 Subject: [PATCH 354/620] Try to copy netsim to /tools on runner --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4bfa0ab4c..f695a1c13f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,7 +571,7 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info - - echo $(which networkSimulator_g192) + - cp networkSimulator_g192 /tools/ - bash ci/ivas_voip_be_test.sh clang-format-check: -- GitLab From 5bf20e0533dfe87dbe4f1a603e364c364db7501e Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 15:02:41 +0100 Subject: [PATCH 355/620] add network simulator binary for Linux runners --- scripts/tools/Linux/networkSimulator_g192 | Bin 0 -> 77160 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100755 scripts/tools/Linux/networkSimulator_g192 diff --git a/scripts/tools/Linux/networkSimulator_g192 b/scripts/tools/Linux/networkSimulator_g192 new file mode 100755 index 0000000000000000000000000000000000000000..1cca5f93056558c064adeff59ec7eef99bd6a26a GIT binary patch literal 77160 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 PArwRq8dq=*0|Ns9d63hs literal 0 HcmV?d00001 -- GitLab From 0334f92f0d455554ac575e360eb9fbb9794c1851 Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 15:25:32 +0100 Subject: [PATCH 356/620] fix issues with mono output for MDCT Stereo and multi-channel --- lib_com/options.h | 3 +-- lib_dec/ivas_cpe_dec.c | 13 +++++++++++++ lib_dec/ivas_stereo_switching_dec.c | 8 ++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) mode change 100644 => 100755 lib_com/options.h mode change 100644 => 100755 lib_dec/ivas_cpe_dec.c mode change 100644 => 100755 lib_dec/ivas_stereo_switching_dec.c diff --git a/lib_com/options.h b/lib_com/options.h old mode 100644 new mode 100755 index 2011fb56b4..e8c288e8bb --- a/lib_com/options.h +++ b/lib_com/options.h @@ -160,8 +160,7 @@ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ - -#define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ +#define FIX_MDCT_AND_MC_MONO_ISSUES /* Issue 242: Fix some issues with TCX-LTP and delay alignement for mono output */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c old mode 100644 new mode 100755 index 12b8fcb899..12b6910733 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -444,10 +444,12 @@ ivas_error ivas_cpe_dec( } } } +#ifndef FIX_MDCT_AND_MC_MONO_ISSUES else if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && ( is_DTXrate( ivas_total_brate ) == 0 || ( is_DTXrate( ivas_total_brate ) == 1 && is_DTXrate( st_ivas->hDecoderConfig->last_ivas_total_brate ) == 0 ) ) ) { applyDmxMdctStereo( hCPE, output, output_frame ); } +#endif /*----------------------------------------------------------------* * Update parameters for stereo CNA @@ -461,6 +463,13 @@ ivas_error ivas_cpe_dec( synchro_synthesis( ivas_total_brate, hCPE, output, output_frame, 0 ); +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && (is_DTXrate( ivas_total_brate ) == 0 || (is_DTXrate( ivas_total_brate ) == 1 && is_DTXrate( st_ivas->hDecoderConfig->last_ivas_total_brate ) == 0)) ) + { + applyDmxMdctStereo( hCPE, output, output_frame ); + } +#endif + #ifndef DEBUG_STEREO_DFT_OUTRESPRED /*----------------------------------------------------------------* * IC-BWE: output LB and HB mix in ACELP mode @@ -581,7 +590,11 @@ ivas_error create_cpe_dec( hCPE->lt_es_em = 0.0f; /* Note: nchan_out is considered to be related to the structure. This is nchan_out for CPE and for MASA_format is always 2. */ +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MC_FORMAT ) +#else if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT || ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) ) +#endif { hCPE->nchan_out = CPE_CHANNELS; } diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c old mode 100644 new mode 100755 index 56c1cfef54..b0aa561359 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -975,6 +975,9 @@ void synchro_synthesis( int16_t dft_mono_brate_switch; int16_t delay_diff; float tmpF; +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + int16_t nChannels; +#endif sts = hCPE->hCoreCoder; output_Fs = sts[0]->output_Fs; @@ -1222,7 +1225,12 @@ void synchro_synthesis( } } +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + nChannels = ( hCPE->element_mode == IVAS_CPE_MDCT ) ? 2 : hCPE->nchan_out; + for ( n = 0; n < nChannels; n++ ) +#else for ( n = 0; n < hCPE->nchan_out; n++ ) +#endif { if ( hCPE->element_mode == IVAS_CPE_MDCT ) { -- GitLab From 1a1fc6a94dac9c9e8b56be91e0912bc360d0a989 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 15:31:01 +0100 Subject: [PATCH 357/620] add logging and error reporting in unzipping to pages job --- .gitlab-ci.yml | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7a0f5d3385..aaa355eb35 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1080,6 +1080,12 @@ complexity-StereoDmxEVS-stereo-in-mono-out: # Other jobs # --------------------------------------------------------------- + +# helper for pages job +.unzip-or-cat: &unzip-or-cat + - unzip -t $ARTIFACTS >> /dev/null + - if [ $? -eq 0 ]; then unzip -o $ARTIFACTS rm $ARTIFACTS; else cat $ARTIFACTS rm $ARTIFACTS; fi + # job that sets up gitlab pages website # is run on a separate schedule and collects artifacts from other jobs (currently # only the complexity measurements) multiple times a day @@ -1096,39 +1102,49 @@ pages: - branch=$CI_COMMIT_REF_NAME - mkdir public + - ARTIFACTS=artifacts.zip ### fetch artifacts from latest run of complexity jobs - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) - echo $job_id - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_stereo.zip - - cat artifacts_comp_stereo.zip - - unzip -o artifacts_comp_stereo.zip + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat - mv complexity-stereo-in-stereo-out-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_ism.zip - - unzip -o artifacts_comp_ism.zip + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat - mv complexity-ism-in-binaural-out-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_sba.zip - - unzip -o artifacts_comp_sba.zip + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat - mv complexity-sba-hoa3-in-hoa3-out-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_mc.zip - - unzip -o artifacts_comp_mc.zip + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat - mv complexity-mc-in-7_1_4-out-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_masa.zip - - unzip -o artifacts_comp_masa.zip + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat - mv complexity-masa-in-7_1_4-out-public ./public/ - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output artifacts_comp_StereoDmxEVS.zip - - unzip -o artifacts_comp_StereoDmxEVS.zip + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ - cp ci/index-pages.html public/index.html -- GitLab From 7b3424ba5f55d7f3ba7a10426a1166f9135cfaa5 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 17:34:32 +0100 Subject: [PATCH 358/620] Add Linux tool dir to PATH before running VoIP BE job (hacky) --- .gitlab-ci.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index f695a1c13f..0a46c7075e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,7 +571,11 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info - - cp networkSimulator_g192 /tools/ + + # Hack to make runIvasCode.py find networkSimulator_g192 + - PATH=$PATH:$(pwd)/scripts/tools/Linux + - sed -i 's#"utilPath": "/tools"#"utilPath": ""#' scripts/config/ci_linux.json + - bash ci/ivas_voip_be_test.sh clang-format-check: -- GitLab From 6bb1fde385ece64253e5ddd570c8321de5623669 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 17:59:20 +0100 Subject: [PATCH 359/620] Move setup to bash script --- .gitlab-ci.yml | 5 ----- ci/ivas_voip_be_test.sh | 4 ++++ 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 0a46c7075e..73edb3361a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,11 +571,6 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info - - # Hack to make runIvasCode.py find networkSimulator_g192 - - PATH=$PATH:$(pwd)/scripts/tools/Linux - - sed -i 's#"utilPath": "/tools"#"utilPath": ""#' scripts/config/ci_linux.json - - bash ci/ivas_voip_be_test.sh clang-format-check: diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 38253a205f..a735b3c22d 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -38,6 +38,10 @@ network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" output_dir_default="out" output_dir_voip="out_voip" +# Hack to make runIvasCodec.py find networkSimulator_g192 +PATH=$PATH:$(pwd)/scripts/tools/Linux +sed -i 's#"utilPath": "/tools"#"utilPath": ""#' scripts/config/ci_linux.json + # Build IVAS make clean make all -j 8 -- GitLab From 24fcdea63e071608e4b79cbf889fc4aea2a2e4b6 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 9 Dec 2022 18:18:30 +0100 Subject: [PATCH 360/620] Try make executables from /tools available again (again, hacky) --- ci/ivas_voip_be_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index a735b3c22d..54c992e268 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -38,8 +38,8 @@ network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" output_dir_default="out" output_dir_voip="out_voip" -# Hack to make runIvasCodec.py find networkSimulator_g192 -PATH=$PATH:$(pwd)/scripts/tools/Linux +# Hack to make runIvasCodec.py find networkSimulator_g192 and other executables from /tools +PATH=$PATH:$(pwd)/scripts/tools/Linux:/tools sed -i 's#"utilPath": "/tools"#"utilPath": ""#' scripts/config/ci_linux.json # Build IVAS -- GitLab From 14f1b5e5db0a65e3b7382ee21e60b504cffa2a61 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Sat, 10 Dec 2022 22:51:41 +0100 Subject: [PATCH 361/620] Added ../lib_util to lib_rend.vcxproj to make VS project build --- Workspace_msvc/lib_rend.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace_msvc/lib_rend.vcxproj b/Workspace_msvc/lib_rend.vcxproj index c3a1268694..e0660f54cb 100644 --- a/Workspace_msvc/lib_rend.vcxproj +++ b/Workspace_msvc/lib_rend.vcxproj @@ -89,7 +89,7 @@ </Midl> <ClCompile> <Optimization>Disabled</Optimization> - <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> <ExceptionHandling /> <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks> -- GitLab From 2a68f39b9198fee860bb7ddaaa33efa15e846ee4 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 12 Dec 2022 09:43:38 +0530 Subject: [PATCH 362/620] Undefined the unused functions [x] ivas_sba_enc_reinit(), ivas_sba_dec_reinit(), get_sba_reinit_flag() undefined when the SBA_BR_SWITCHING_RECONFIG macro is enabled --- lib_com/ivas_prot.h | 7 ++++++- lib_dec/ivas_sba_dec.c | 4 ++-- lib_enc/ivas_sba_enc.c | 4 ++-- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 500a6c7a9b..d5c936d1c6 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -105,11 +105,14 @@ ivas_error mct_enc_reconfigure( Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const uint16_t b_nchan_change /* i : flag indicating different channel count */ ); +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING ivas_error ivas_sba_enc_reinit( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); #endif +#endif +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING int16_t get_sba_reinit_flag( int32_t ivas_total_bitrate, /* i : Current bitrate */ @@ -119,6 +122,7 @@ int16_t get_sba_reinit_flag( #endif ); #endif +#endif #ifdef SBA_BR_SWITCHING_2 ivas_error ivas_spar_md_enc_init ( @@ -3087,12 +3091,13 @@ void ivas_sba_config( int16_t *nCPE, /* o : number of CPEs */ int16_t *element_mode /* o : element mode of the core coder */ ); +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING ivas_error ivas_sba_dec_reinit( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif - +#endif ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 207930f958..6fde66d5a3 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -47,7 +47,7 @@ #endif #include "wmops.h" - +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING /*-------------------------------------------------------------------* * ivas_sba_dec_reinit() @@ -544,7 +544,7 @@ ivas_error ivas_sba_dec_reinit( return error; } #endif - +#endif /*-------------------------------------------------------------------* * ivas_sba_dec_decoder() * diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index b3af97ea9a..54e2812f86 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -92,7 +92,7 @@ void ivas_sba_getTCs( return; } - +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING /*-------------------------------------------------------------------* * ivas_sba_enc_reinit() @@ -313,7 +313,7 @@ ivas_error ivas_sba_enc_reinit( return error; } #endif - +#endif /*-------------------------------------------------------------------* * ivas_sba_enc_reconfigure() -- GitLab From 05e03673fc6a78423adaf15fa4462097818e2d89 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 12 Dec 2022 10:48:42 +0530 Subject: [PATCH 363/620] Made modificatios in macro definitions [x] SBA_BR_SWITCHING_2 should also be defined if SBA_BR_SWITCHIN_RECONFIG is defined ,as they are dependent macros. --- lib_com/options.h | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index aa9d4056d9..2ce30a0bc9 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,9 +151,15 @@ #define FIX_EFAP_MATH /* fix for EFAP: remove angle quantization and a bug in polygon lookup causing incorrect gains. minor tweak for ALLRAD. non-BE for modes using EFAP */ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define FIX_MCT_PLC_RECOVERY /* Issue 184: scale the old synthesis part correctly in the first good frame after lost frames in MCT modes - to be activated after previous switch is merged */ -#define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ +#define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/ +#ifdef SBA_BR_SWITCHING_RECONFIG +#define SBA_BR_SWITCHING_2 /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ +#endif +#ifndef SBA_BR_SWITCHING_2 +#define SBA_BR_SWITCHING_2 /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ +#endif #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ -#define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different transport channels*/ + #define FIX_AGC_WINFUNC_MEMORY /* Issue 62: lower agc_com.winFunc memory consumption */ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define REMOVE_SID_HARM_LEFTOVERS /* Issue 192: remove leftovers from the SID bitrate harmonization */ -- GitLab From 91cf7f90fd751f9adc691bf7aa0de60c4ac81c2a Mon Sep 17 00:00:00 2001 From: Stefan Doehla <stefan.doehla@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 10:03:14 +0100 Subject: [PATCH 364/620] add FIX_150 macro around changes --- lib_enc/swb_bwe_enc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib_enc/swb_bwe_enc.c b/lib_enc/swb_bwe_enc.c index 1acfb8dd7f..01c586fcbc 100644 --- a/lib_enc/swb_bwe_enc.c +++ b/lib_enc/swb_bwe_enc.c @@ -1795,10 +1795,12 @@ void hq_generic_hf_encoding( { Word16 tmp, frac, exp; Word32 L_tmp; +#ifdef FIX_150 #ifdef BASOP_NOGLOB Flag Overflow; Overflow = 0; +#endif #endif tmp = add( (int16_t) ( hq_generic_fenv[n_band] * 256 ), (int16_t) ( Mean_env[n_band] * 256 ) ); /*Q8 */ @@ -1810,8 +1812,12 @@ void hq_generic_hf_encoding( /* output of Pow2() will be: */ /* 16384 < Pow2() <= 32767 */ exp = sub( exp, 13 ); +#ifdef FIX_150 #ifdef BASOP_NOGLOB tmp = shl_o( tmp, add( exp, 1 ), &Overflow ); /*Q1 */ +#else + tmp = shl( tmp, add( exp, 1 ) ); /*Q1 */ +#endif #else tmp = shl( tmp, add( exp, 1 ) ); /*Q1 */ #endif -- GitLab From 54e32f4828a34732e0fddb000d670c557431f250 Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 10:16:42 +0100 Subject: [PATCH 365/620] clang format --- lib_enc/ivas_stereo_dft_enc.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) mode change 100755 => 100644 lib_enc/ivas_stereo_dft_enc.c diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c old mode 100755 new mode 100644 index c5a045cb8a..103e78a594 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -448,7 +448,7 @@ void stereo_dft_enc_reset( set_zero( hStereoDft->dot_prod_img_smooth, STEREO_DFT_BAND_MAX ); for ( i = 0; i < STEREO_DFT_BAND_MAX; i++ ) { - set_zero( hStereoDft->ipd_buf[i], STEREO_DFT_IPD_BUF_LEN); + set_zero( hStereoDft->ipd_buf[i], STEREO_DFT_IPD_BUF_LEN ); } hStereoDft->prev_gipd = 0.f; #endif @@ -2729,7 +2729,6 @@ static void stereo_dft_enc_compute_prm( /* compute dot product*/ dot_prod_real2 += pDFT_L[2 * i] * pDFT_R[2 * i] + pDFT_L[2 * i + 1] * pDFT_R[2 * i + 1]; dot_prod_img2 += pDFT_L[2 * i + 1] * pDFT_R[2 * i] - pDFT_L[2 * i] * pDFT_R[2 * i + 1]; - } #ifdef STABILIZE_GIPD abs_L_R2 = sqrtf( dot_prod_real2 * dot_prod_real2 + dot_prod_img2 * dot_prod_img2 ); @@ -2739,11 +2738,11 @@ static void stereo_dft_enc_compute_prm( { hStereoDft->dot_prod_real_smooth[b2] = 0.5f * hStereoDft->dot_prod_real_smooth[b2] + 0.5f * dot_prod_real2; hStereoDft->dot_prod_img_smooth[b2] = 0.5f * hStereoDft->dot_prod_img_smooth[b2] + 0.5f * dot_prod_img2; - pIpd[b2] = (float)atan2( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); + pIpd[b2] = (float) atan2( hStereoDft->dot_prod_img_smooth[b2], hStereoDft->dot_prod_real_smooth[b2] ); ipd_smooth[b2] = stereo_dft_calc_mean_bipd( &pIpd[b2], hStereoDft->ipd_buf[b2] ); - gain_IPD += (sum_nrg_L2 + sum_nrg_R2 + 2 * dot_prod_real2) / sub_nrg_DMX2 / hStereoDft->gipd_band_max; + gain_IPD += ( sum_nrg_L2 + sum_nrg_R2 + 2 * dot_prod_real2 ) / sub_nrg_DMX2 / hStereoDft->gipd_band_max; } #endif @@ -3263,8 +3262,8 @@ static void res_pred_gain_mode_decision( *------------------------------------------------------------------------*/ static float stereo_dft_calc_mean_bipd( - float *pIpd, /* i: current bandwise IPD */ - float ipd_buf[STEREO_DFT_IPD_BUF_LEN] /* i/o: previous bandwise IPDs */ + float *pIpd, /* i: current bandwise IPD */ + float ipd_buf[STEREO_DFT_IPD_BUF_LEN] /* i/o: previous bandwise IPDs */ ) { int16_t i; @@ -3295,7 +3294,7 @@ static float stereo_dft_calc_mean_bipd( ipd_buf[i] += 2 * EVS_PI; } } - ipd_smooth = (i / (float)(i + 1)) * ipd_smooth + (1 / (float)(i + 1)) * ipd_buf[i]; + ipd_smooth = ( i / (float) ( i + 1 ) ) * ipd_smooth + ( 1 / (float) ( i + 1 ) ) * ipd_buf[i]; if ( ipd_smooth < -EVS_PI ) { ipd_smooth += 2 * EVS_PI; @@ -3328,9 +3327,9 @@ static float stereo_dft_calc_mean_bipd( *------------------------------------------------------------------------*/ static float stereo_dft_calc_mean_ipd_change( - float *pIpd, /* i: bandwise IPDs */ - float *ipd_smooth, /* i: mean of previous bandwise IPDs */ - int16_t gipd_band_max /* i: number of IPD bands */ + float *pIpd, /* i: bandwise IPDs */ + float *ipd_smooth, /* i: mean of previous bandwise IPDs */ + int16_t gipd_band_max /* i: number of IPD bands */ ) { int16_t b; @@ -3365,9 +3364,9 @@ static float stereo_dft_calc_mean_ipd_change( *------------------------------------------------------------------------*/ static void stereo_dft_gipd_stabilization( - float *pgIpd, /* i/o: global IPD to be stabilized */ - float prev_gipd, /* i: previous global IPD */ - float ipd_mean_change /* i: mean of previous bandwise IPDs */ + float *pgIpd, /* i/o: global IPD to be stabilized */ + float prev_gipd, /* i: previous global IPD */ + float ipd_mean_change /* i: mean of previous bandwise IPDs */ ) { float diff_gipd; -- GitLab From c267c4dc56c3026e95df66d70877fa5bb662b366 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 10:30:24 +0100 Subject: [PATCH 366/620] fixed panning_wrap_angles --- lib_com/ivas_tools.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index b8fbaa833f..9e59b92174 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1030,7 +1030,7 @@ void panning_wrap_angles( ele = ele_deg; /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ - if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) ) + if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) { azi = 0; while ( fabsf( ele ) > 90 ) @@ -1049,11 +1049,11 @@ void panning_wrap_angles( /* Compensate elevation accordingly */ if ( ele > 90 ) { - ele -= 180; + ele = 180 - ele; } else if ( ele < -90 ) { - ele += 180; + ele = -180 - ele; } } -- GitLab From 82f15f3d5ea218130fa2b905263dc55d0c3cf052 Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 11:39:32 +0100 Subject: [PATCH 367/620] clang format --- lib_dec/ivas_cpe_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 lib_dec/ivas_cpe_dec.c diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c old mode 100755 new mode 100644 index 12b6910733..41b8c339a2 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -464,7 +464,7 @@ ivas_error ivas_cpe_dec( synchro_synthesis( ivas_total_brate, hCPE, output, output_frame, 0 ); #ifdef FIX_MDCT_AND_MC_MONO_ISSUES - if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && (is_DTXrate( ivas_total_brate ) == 0 || (is_DTXrate( ivas_total_brate ) == 1 && is_DTXrate( st_ivas->hDecoderConfig->last_ivas_total_brate ) == 0)) ) + if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && ( is_DTXrate( ivas_total_brate ) == 0 || ( is_DTXrate( ivas_total_brate ) == 1 && is_DTXrate( st_ivas->hDecoderConfig->last_ivas_total_brate ) == 0 ) ) ) { applyDmxMdctStereo( hCPE, output, output_frame ); } -- GitLab From c2f7db2b16f704223f462d3b3369e4cc6f4b0011 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 12:26:22 +0100 Subject: [PATCH 368/620] Try to copy netsim to /tools --- .gitlab-ci.yml | 1 + ci/ivas_voip_be_test.sh | 4 ---- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 73edb3361a..9f216e2be0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,6 +571,7 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info + - cp scripts/tools/Linux/networkSimulator_g192 /tools - bash ci/ivas_voip_be_test.sh clang-format-check: diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 54c992e268..38253a205f 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -38,10 +38,6 @@ network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" output_dir_default="out" output_dir_voip="out_voip" -# Hack to make runIvasCodec.py find networkSimulator_g192 and other executables from /tools -PATH=$PATH:$(pwd)/scripts/tools/Linux:/tools -sed -i 's#"utilPath": "/tools"#"utilPath": ""#' scripts/config/ci_linux.json - # Build IVAS make clean make all -j 8 -- GitLab From d94bce507106208bc6c965ab37a288b09e2789f6 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 12:39:14 +0100 Subject: [PATCH 369/620] Try to copy from /tools --- .gitlab-ci.yml | 1 - ci/ivas_voip_be_test.sh | 4 ++++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9f216e2be0..73edb3361a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -571,7 +571,6 @@ voip-be-on-merge-request: timeout: "10 minutes" script: - *print-common-info - - cp scripts/tools/Linux/networkSimulator_g192 /tools - bash ci/ivas_voip_be_test.sh clang-format-check: diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 38253a205f..701cf3d91f 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -38,6 +38,10 @@ network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" output_dir_default="out" output_dir_voip="out_voip" +# Hack to make runIvasCodec.py find networkSimulator_g192 and other executables from /tools +cp /tools/* scripts/tools/Linux +sed -i 's#"utilPath": "/tools"#"utilPath": "scripts/tools/Linux"#' scripts/config/ci_linux.json + # Build IVAS make clean make all -j 8 -- GitLab From b17c373a1c027cb789127fed6d78f03c2bec8c89 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 13:01:11 +0100 Subject: [PATCH 370/620] Use absolute path for tools dir --- ci/ivas_voip_be_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 701cf3d91f..28739e4c1d 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -40,7 +40,7 @@ output_dir_voip="out_voip" # Hack to make runIvasCodec.py find networkSimulator_g192 and other executables from /tools cp /tools/* scripts/tools/Linux -sed -i 's#"utilPath": "/tools"#"utilPath": "scripts/tools/Linux"#' scripts/config/ci_linux.json +sed -i "s#\"utilPath\": \"/tools\"#\"utilPath\": \"$(pwd)/scripts/tools/Linux\"#" scripts/config/ci_linux.json # Build IVAS make clean -- GitLab From 2a714616db869eb58e3609f0709c369f68e449a3 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 13:09:21 +0100 Subject: [PATCH 371/620] Switch to runner with netsim pre-installed in /tools --- .gitlab-ci.yml | 2 ++ ci/ivas_voip_be_test.sh | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 73edb3361a..61ec80a6d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -572,6 +572,8 @@ voip-be-on-merge-request: script: - *print-common-info - bash ci/ivas_voip_be_test.sh + tags: + - test-fhg-linux-runner1 clang-format-check: extends: diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 28739e4c1d..38253a205f 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -38,10 +38,6 @@ network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" output_dir_default="out" output_dir_voip="out_voip" -# Hack to make runIvasCodec.py find networkSimulator_g192 and other executables from /tools -cp /tools/* scripts/tools/Linux -sed -i "s#\"utilPath\": \"/tools\"#\"utilPath\": \"$(pwd)/scripts/tools/Linux\"#" scripts/config/ci_linux.json - # Build IVAS make clean make all -j 8 -- GitLab From 7eedf38110a9eaa26f99f3b19db022a087d279e5 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 13:17:54 +0100 Subject: [PATCH 372/620] Use a different runner for VoIP BE job --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61ec80a6d5..c461f2b6b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -573,7 +573,7 @@ voip-be-on-merge-request: - *print-common-info - bash ci/ivas_voip_be_test.sh tags: - - test-fhg-linux-runner1 + - test-fhg-linux-runner2 clang-format-check: extends: -- GitLab From ab3c02d05617ad90b12a34973d5225575e9564d1 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 13:32:27 +0100 Subject: [PATCH 373/620] print stderr from thread when processing step fails --- scripts/pyivastest/IvasModeRunner.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/scripts/pyivastest/IvasModeRunner.py b/scripts/pyivastest/IvasModeRunner.py index e8ccfa6a0b..bc5f24edaf 100644 --- a/scripts/pyivastest/IvasModeRunner.py +++ b/scripts/pyivastest/IvasModeRunner.py @@ -829,7 +829,7 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector): enc_log = open(enc_log_name, "a") enc_log.write(" ".join(proc_cmd)) proc_result = subprocess.run( - proc_cmd, capture_output=True, text=True + proc_cmd, capture_output=True, text=True, encoding="utf8" ) enc_log.write(proc_result.stderr) enc_log.write(proc_result.stdout) @@ -840,9 +840,10 @@ class IvasModeRunner(IvasModeCollector.IvasModeCollector): suffix, enc_file_name ) ) + self.logger.error(proc_result.stderr) raise RuntimeError( - "Processing step {} for {} failed!".format( - suffix, enc_file_name + "Processing step {} for {} failed!\n{}".format( + suffix, enc_file_name, proc_result.stderr ) ) bs_in_file = bs_out_file -- GitLab From 6f134ab774a9cfb02db90c0305cc0c14560c14c6 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 13:51:32 +0100 Subject: [PATCH 374/620] small fix for the MCT encoder common update fix fix MCT->ParamMC switch, TNS flag in the decoder TCX cfg was not set correctly --- lib_dec/ivas_mct_dec.c | 23 ++++------------------- lib_enc/ivas_core_enc.c | 2 +- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 6fe468d954..154275eba4 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -831,8 +831,7 @@ ivas_error ivas_mc_dec_reconfig( /* re-configure core coder*/ /* special case: MCT->ParamMC with more than 2 TC, CPE 1 stays, but has the wrong mct_chan_mode in channel 1 and might have IGF static memory not allocated and the bit stream index list not set, - set correct mct_chan_mode and init missing static mem - do it here since it is _very_ MC specific */ + set correct mct_chan_mode and init missing static mem (IGF, HQ) and some config (TNS) do it here since it is _very_ MC specific */ if ( last_mc_mode == MC_MODE_MCT && st_ivas->mc_mode == MC_MODE_PARAMMC && st_ivas->nchan_transport > CPE_CHANNELS ) { Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; @@ -868,21 +867,8 @@ ivas_error ivas_mc_dec_reconfig( HQ_core_dec_init( st->hHQ_core ); } -#if 0 - if ( st->element_mode == EVS_MONO ) - { - /* HQ NB FEC initialization */ - if ( ( st->hHQ_nbfec = (HQ_NBFEC_HANDLE) count_malloc( sizeof( HQ_NBFEC_DATA ) ) ) == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for HQ NB FEC\n" ) ); - } - HQ_nbfec_init( st->hHQ_nbfec ); - } - else - { - st->hHQ_nbfec = NULL; - } -#endif + st->hTcxCfg->fIsTNSAllowed = getTnsAllowed( st_ivas->hDecoderConfig->ivas_total_brate, st->igf, st->element_mode, st->mct_chan_mode ); + } else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) { @@ -891,6 +877,7 @@ ivas_error ivas_mc_dec_reconfig( #endif Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; st->mct_chan_mode = MCT_CHAN_MODE_LFE; + st->hTcxCfg->fIsTNSAllowed = 0; } if ( st_ivas->mc_mode == MC_MODE_MCMASA ) @@ -919,7 +906,6 @@ ivas_error ivas_mc_dec_reconfig( { Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; -#if 1 /* TCX-LTP */ if ( st->hTcxLtpDec == NULL ) { @@ -929,7 +915,6 @@ ivas_error ivas_mc_dec_reconfig( } tcxltp_dec_init( st->hTcxLtpDec, 0, st->last_codec_mode, st->element_mode, st->pit_max, st->sr_core ); } -#endif } /* re-configure hp20 memories */ diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index 2b87a966cd..b7d228c4ac 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -410,9 +410,9 @@ ivas_error ivas_core_enc( *---------------------------------------------------------------------*/ #ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ + st->hNoiseEst->Etot_last = Etot[n]; if ( !MCT_flag ) { - st->hNoiseEst->Etot_last = Etot[n]; updt_enc_common( st ); } #else -- GitLab From 994b719b30191cf68e5c0ec298ae7a46a6244bf0 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Mon, 12 Dec 2022 16:15:55 +0100 Subject: [PATCH 375/620] fix LS conversion --- lib_dec/ivas_mct_dec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 154275eba4..36d9319b93 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -684,6 +684,7 @@ ivas_error ivas_mc_dec_reconfig( /* renderer might have changed, reselect */ renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); + ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); if ( st_ivas->mc_mode == MC_MODE_MCT ) { -- GitLab From ff4d60eef601360be01c2a03ec3fab544604554a Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Mon, 12 Dec 2022 16:36:57 +0100 Subject: [PATCH 376/620] force internal config re-init in MC bitrate switching. this fixes crashes with BINAURAL output --- lib_dec/ivas_mcmasa_dec.c | 6 ------ lib_dec/ivas_mct_dec.c | 4 +++- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/lib_dec/ivas_mcmasa_dec.c b/lib_dec/ivas_mcmasa_dec.c index 6cb09653f3..78201baa2d 100644 --- a/lib_dec/ivas_mcmasa_dec.c +++ b/lib_dec/ivas_mcmasa_dec.c @@ -73,12 +73,6 @@ ivas_error ivas_mcmasa_dec_reconfig( /* get new McMASA settings */ ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), ivas_total_brate ); ivas_mcmasa_set_separate_channel_mode( &( st_ivas->hOutSetup.separateChannelEnabled ), &( st_ivas->hOutSetup.separateChannelIndex ), ivas_total_brate ); - - /* renderer might change as an effect from the transport mode change */ - ivas_renderer_select( st_ivas ); - - /* side effect of the renderer selection can be a changed internal config. this is also needed when switching from non-McMASA */ - ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); ivas_mcmasa_set_separate_channel_mode( &( st_ivas->hIntSetup.separateChannelEnabled ), &( st_ivas->hIntSetup.separateChannelIndex ), ivas_total_brate ); if ( ( error = ivas_masa_dec_open( st_ivas ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 154275eba4..eef2aed46f 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -681,9 +681,11 @@ ivas_error ivas_mc_dec_reconfig( } st_ivas->sba_dirac_stereo_flag = 0; /* needs to be after getNumChanSynthesis() */ - /* renderer might have changed, reselect */ + /* renderer might change as an effect from the transport mode change, reselect */ renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); + /* side effect of the renderer selection can be a changed internal config */ + ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); if ( st_ivas->mc_mode == MC_MODE_MCT ) { -- GitLab From f56fb29d71cdee95514d9b1910ed864f04ba1825 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 10:29:33 +0100 Subject: [PATCH 377/620] Remove JBM test condition failing due to range coder problems The range coder issue is tracked in https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/issues/245 --- scripts/config/self_test.prm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 04d7b9c85c..db5c7253cf 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -910,8 +910,3 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit ../IVAS_cod -sba 3 80000 32 testv/stv3OA32c.pcm bit networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 ../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/stv3OA32c.pcm_SBA_80000_32-32_HOA3_JBM5.tst - -// Multi-channel 5_1 at 384 kbps, 48kHz in, 48kHz out, 7_1_4 out, JBM Prof 5 -../IVAS_cod -mc 5_1 384000 48 testv/stv51MC48c.pcm bit -networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 -../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/stv51MC48c.pcm_MC51_384000_48-48_7_1_4_JBM5.tst \ No newline at end of file -- GitLab From 56e89acfeed37570e488fe2bcf44e2c03808e9ca Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 13:25:28 +0100 Subject: [PATCH 378/620] fix problems for bitrate switching --- lib_dec/ivas_stereo_mdct_stereo_dec.c | 4 ++++ lib_dec/ivas_stereo_switching_dec.c | 33 +++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) mode change 100644 => 100755 lib_dec/ivas_stereo_mdct_stereo_dec.c diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec.c b/lib_dec/ivas_stereo_mdct_stereo_dec.c old mode 100644 new mode 100755 index 67b893a9f2..480466ec18 --- a/lib_dec/ivas_stereo_mdct_stereo_dec.c +++ b/lib_dec/ivas_stereo_mdct_stereo_dec.c @@ -655,7 +655,11 @@ void applyDmxMdctStereo( fade = 0.f; dmx_len = crossfade_len; } +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + else if ( hCPE->last_element_mode == IVAS_CPE_DFT && hCPE->last_element_brate <= IVAS_32k ) +#else else if ( hCPE->last_element_mode == IVAS_CPE_DFT && hCPE->last_element_brate <= IVAS_24k4 ) +#endif { crossfade_len = NS2SA( hCPE->hCoreCoder[0]->output_Fs, DELAY_CLDFB_NS ); step /= crossfade_len; diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index b0aa561359..8db6ae3ac3 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -716,7 +716,18 @@ ivas_error stereo_memory_dec( if ( hCPE->last_element_mode == IVAS_CPE_DFT ) { +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + if ( hCPE->nchan_out == 1 ) + { + cpy_tcx_ltp_data( hCPE->hCoreCoder[0]->hTcxLtpDec, hCPE->hCoreCoder[1]->hTcxLtpDec, output_Fs ); + } + else + { + cpy_tcx_ltp_data( &tcxLtpTmp, hCPE->hCoreCoder[1]->hTcxLtpDec, output_Fs ); + } +#else cpy_tcx_ltp_data( &tcxLtpTmp, hCPE->hCoreCoder[1]->hTcxLtpDec, output_Fs ); +#endif } if ( hCPE->last_element_mode == IVAS_CPE_TD ) @@ -1047,6 +1058,14 @@ void synchro_synthesis( } } +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + if ( hCPE->nchan_out == 1 && hCPE->last_element_mode == IVAS_CPE_MDCT ) + { + v_add( sts[0]->prev_synth_buffer, sts[1]->prev_synth_buffer, sts[0]->prev_synth_buffer, delay_comp_DFT ); + v_multc( sts[0]->prev_synth_buffer, INV_SQRT_2, sts[0]->prev_synth_buffer, delay_comp_DFT ); + } +#endif + if ( use_cldfb_for_last_dft ) { /* delay CLDFB-based mono output (<= 24.4 kbps) to be aligned with DFT-based mono output (32 kbps), needed to avoid discontinuities with TCX-LTP. */ @@ -1142,6 +1161,16 @@ void synchro_synthesis( } } +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + /* if previous frame had only one channel copy buffers to other channel */ + if ( hCPE->nchan_out == 1 && hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode == IVAS_CPE_DFT ) + { + mvr2r( sts[0]->prev_synth_buffer, sts[1]->prev_synth_buffer, delay_comp_TD ); + mvr2r( tmp_out[0], tmp_out[1], delay_cldfb ); + mvr2r( p_output_mem[0], p_output_mem[1], delay_diff ); + } +#endif + /*----------------------------------------------------------------* * update DFT synthesis overlap memory @output_Fs; needed for TD->DFT stereo switching *----------------------------------------------------------------*/ @@ -1263,7 +1292,11 @@ void synchro_synthesis( } /* cross-fading between DFT OLA memory and TD output */ +#ifdef FIX_MDCT_AND_MC_MONO_ISSUES + for ( n = 0; n < nChannels; n++ ) +#else for ( n = 0; n < hCPE->nchan_out; n++ ) +#endif { if ( hCPE->element_mode == IVAS_CPE_MDCT ) { -- GitLab From a89e9d6e67b9dfc51c0e3647c2dc5e42211e5039 Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 13:54:30 +0100 Subject: [PATCH 379/620] add test case to self_test.prm to also cover combination of MCT and mono output --- scripts/config/self_test.prm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 4923bbb2f8..50d8447a06 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -794,6 +794,10 @@ ../IVAS_cod -mc 5_1 192000 48 testv/stv51MC48c.pcm bit ../IVAS_dec BINAURAL_ROOM 48 bit testv/stv51MC48c.pcm_MC51_192000_48-48_BinauralRoom.tst +// Multi-channel 5_1 at 256 kbps, 48kHz in, 48kHz out, MONO out +../IVAS_cod -mc 5_1 256000 48 testv/stv51MC48c.pcm bit +../IVAS_dec MONO 48 bit testv/stv51MC48c.pcm_MC51_256000_48-48_mono.tst + // Multi-channel 5_1 at 256 kbps, 48kHz in, 48kHz out, BINAURAL ROOM out, head rotation ../IVAS_cod -mc 5_1 256000 48 testv/stv51MC48c.pcm bit ../IVAS_dec -t testv/headrot_case00_3000_q.csv BINAURAL_ROOM 48 bit testv/stv51MC48c.pcm_MC51_256000_48-48_BinauralRoom_Headrot.tst -- GitLab From e0b88d2f412fbdb0d731f504fe55b23a1d6d9c06 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 13 Dec 2022 14:24:07 +0100 Subject: [PATCH 380/620] editorial changes + fix MSVC compilation warnings --- lib_com/ivas_prot.h | 12 +++--------- lib_com/options.h | 2 -- lib_dec/ivas_ism_param_dec.c | 4 ++-- lib_dec/ivas_mct_dec.c | 5 +++-- lib_enc/ivas_corecoder_enc_reconfig.c | 2 ++ lib_enc/ivas_mcmasa_enc.c | 4 ++-- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 8ad76d303a..28f14bdd58 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -346,8 +346,8 @@ void ivas_mct_dec_close( ivas_error ivas_corecoder_dec_reconfig( #ifdef MC_BITRATE_SWITCHING - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ + const int16_t nSCE_old, /* i : number of SCEs in previous frame */ int16_t nCPE_old, /* i : number of CPEs in previous frame */ const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ @@ -650,12 +650,6 @@ ivas_error ivas_mc_dec_config( const int16_t idx /* i : LS config. index */ ); -#ifdef MC_BITRATE_SWITCHING -ivas_error ivas_mc_dec_reconfig( - Decoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); -#endif - /*! r: MC format mode (MCT, McMASA, ParamMC) */ MC_MODE ivas_mc_mode_select( const MC_LS_SETUP mc_ls_setup, /* i : loudspeaker setup (CICP) */ @@ -4906,8 +4900,8 @@ void ivas_mcmasa_param_est_enc( void ivas_mcmasa_dmx_modify( const int16_t n_samples, /* i : input frame length in samples */ float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format */ - const uint8_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ - const uint8_t n_chnls_dmx_new /* i : number of downmix channels in the target format */ + const int16_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ + const int16_t n_chnls_dmx_new /* i : number of downmix channels in the target format */ ); #endif diff --git a/lib_com/options.h b/lib_com/options.h index 0e88d45eb0..6b0fcbd217 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -158,9 +158,7 @@ -#define CORECODER_BITRATE_SWITCHING /* Issue 133: support bitrate switching in core-coder */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ - #ifdef MC_BITRATE_SWITCHING #define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ #endif diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 9a75eed42e..aa2fcaed6b 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -1025,7 +1025,7 @@ static ivas_error ivas_ism_bitrate_switching( error = IVAS_ERR_OK; - #ifdef MC_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; #endif @@ -1033,7 +1033,7 @@ static ivas_error ivas_ism_bitrate_switching( ivas_ism_config( st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, num_obj, NULL, NULL, NULL, element_brate_tmp, NULL, NULL ); st_ivas->nSCE = st_ivas->nchan_transport; - #ifdef MC_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, 0, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); #else ivas_corecoder_dec_reconfig( st_ivas, nchan_transport_old, 0, nchan_transport_old, 0 ); diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 58b1bfeaa3..3f3fdcd6d4 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -54,7 +54,7 @@ * Local function prototypes *-----------------------------------------------------------------------*/ -static ivas_error ivas_mc_dec_reconfig( Decoder_Struct *st_ivas, const int16_t last_mc_mode ); +static ivas_error ivas_mc_dec_reconfig( Decoder_Struct *st_ivas ); #endif @@ -900,7 +900,8 @@ static ivas_error ivas_mc_dec_reconfig( #ifdef DEBUGGING assert( st_ivas->hCPE[1] != NULL ); #endif - st_ivas->hCPE[1]->hCoreCoder[1]->mct_chan_mode = MCT_CHAN_MODE_LFE; + Decoder_State *st = st_ivas->hCPE[1]->hCoreCoder[1]; + st->mct_chan_mode = MCT_CHAN_MODE_LFE; st->hTcxCfg->fIsTNSAllowed = 0; } diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 243e2b9278..0e89a6fbaa 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -199,6 +199,7 @@ ivas_error ivas_corecoder_enc_reconfig( set_zero( input_buff[0], len_inp_memory ); mvr2r( st_ivas->hSCE[0]->hCoreCoder[0]->input_buff, input_buff[0], len_inp_memory ); } + for ( n = 0; n < CPE_CHANNELS; n++ ) { set_zero( input_buff[n + 1], len_inp_memory ); @@ -207,6 +208,7 @@ ivas_error ivas_corecoder_enc_reconfig( mvr2r( st_ivas->hCPE[0]->hCoreCoder[n]->input_buff, input_buff[n + 1], len_inp_memory ); } } + ivas_mcmasa_dmx_modify( len_inp_memory, input_buff, nSCE_old + CPE_CHANNELS * nCPE_old, st_ivas->nSCE + CPE_CHANNELS * st_ivas->nCPE ); n_CoreCoder_existing = 0; diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index 2179e15cb4..e0d9bb970c 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -1207,8 +1207,8 @@ void ivas_mcmasa_param_est_enc( void ivas_mcmasa_dmx_modify( const int16_t n_samples, /* i : input frame length in samples */ float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format. TODO: buffer size into define? */ - const uint8_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ - const uint8_t n_chnls_dmx_new ) /* i : number of downmix channels in the target format */ + const int16_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ + const int16_t n_chnls_dmx_new ) /* i : number of downmix channels in the target format */ { /* assumed data ordering in **dmx: [sce][cpe_chnl0][cpe_chnl1], i.e., [c][l][r] */ int16_t i; -- GitLab From 8e4d31c0bea704b59fb5a470e1047eb61d059630 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 13 Dec 2022 14:48:57 +0100 Subject: [PATCH 381/620] clang-format --- lib_com/ivas_mcmasa_com.c | 4 ++-- lib_dec/ivas_mc_param_dec.c | 2 +- lib_enc/ivas_mcmasa_enc.c | 2 +- lib_enc/updt_enc.c | 3 ++- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib_com/ivas_mcmasa_com.c b/lib_com/ivas_mcmasa_com.c index fdf28c3be5..4c0f014bb0 100644 --- a/lib_com/ivas_mcmasa_com.c +++ b/lib_com/ivas_mcmasa_com.c @@ -107,11 +107,11 @@ int32_t ivas_mcmasa_mono_brate( /* 25% of total bitrate is used for SCE below 96 kb/s (separated mono channel), otherwise 30% */ if ( ivas_total_brate < IVAS_96k ) { - return (const int32_t) ( MCMASA_MONOBITRATIO_64k * ivas_total_brate ); + return (int32_t) ( MCMASA_MONOBITRATIO_64k * ivas_total_brate ); } else { - return (const int32_t) ( MCMASA_MONOBITRATIO * ivas_total_brate ); + return (int32_t) ( MCMASA_MONOBITRATIO * ivas_total_brate ); } } #else diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 4a48e311de..2aff668e02 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -433,7 +433,7 @@ ivas_error ivas_param_mc_dec_open( /*------------------------------------------------------------------------- * ivas_param_mc_get_param_band_mapping() * - * + * *-------------------------------------------------------------------------*/ static void ivas_param_mc_get_param_band_mapping( diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index e0d9bb970c..4622864e08 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -1200,7 +1200,7 @@ void ivas_mcmasa_param_est_enc( /*--------------------------------------------------------------------------* * ivas_mcmasa_dmx_modify() * - * + * *--------------------------------------------------------------------------*/ #ifdef MC_BITRATE_SWITCHING diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index 9d68deb68d..cd9b3b0ef0 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -299,7 +299,8 @@ void updt_IO_switch_enc( void updt_enc_common( Encoder_State *st /* i/o: encoder state structure */ #ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON - ,const float Etot /* i : total energy */ + , + const float Etot /* i : total energy */ #endif ) { -- GitLab From 0efede34d95b583ea7c110cf2d4e35c930518111 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 13 Dec 2022 15:04:21 +0100 Subject: [PATCH 382/620] more VE: comments --- lib_dec/ivas_stat_dec.h | 2 +- lib_enc/ivas_corecoder_enc_reconfig.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index b5a1d16c28..2380601584 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1947,7 +1947,7 @@ typedef struct Decoder_Struct SBA_MODE sba_mode; /* SBA format mode */ MC_MODE mc_mode; /* MC format mode */ #ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - MC_MODE last_mc_mode; + MC_MODE last_mc_mode; // !!! VE: could it be removed and get from ivas_mc_mode_select() in ivas_cpe_dec() ? #endif int16_t sba_order; /* Ambisonic (SBA) order */ int16_t sba_planar; /* Ambisonic (SBA) planar flag */ diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 0e89a6fbaa..ce32840095 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -353,7 +353,7 @@ ivas_error ivas_corecoder_enc_reconfig( #ifdef MC_BITRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) { - st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; // !!! VE: can it be set in McMASA config module rather than here? } if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) #else -- GitLab From 61121c63a1ba1144afc15ca41bdf5ea1f76018f4 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 13 Dec 2022 15:56:52 +0100 Subject: [PATCH 383/620] - add MC_BITRATE_SWITCHING_CLDFB --- lib_com/options.h | 2 ++ lib_dec/ivas_mct_dec.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index a0472513c9..8e746f2e15 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -169,10 +169,12 @@ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #ifdef MC_BITRATE_SWITCHING #define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ +#define MC_BITRATE_SWITCHING_CLDFB #endif #define FIX_MC_BR_SW_TCX_PLC_FADEOUT #define FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 3f3fdcd6d4..55acccdb03 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -665,7 +665,11 @@ static ivas_error ivas_mc_dec_reconfig( ) { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; +#ifdef MC_BITRATE_SWITCHING_CLDFB + int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; +#else int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; +#endif int32_t new_brate_SCE, new_brate_CPE; RENDERER_TYPE renderer_type_old; ivas_error error; @@ -949,6 +953,30 @@ static ivas_error ivas_mc_dec_reconfig( * CLDFB instances *-----------------------------------------------------------------*/ +#ifdef MC_BITRATE_SWITCHING_CLDFB + ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); + + // !!! VE: what is the following block needed for? + if ( last_mc_mode == MC_MODE_MCMASA && nchan_transport_old == 1 && ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM || renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) + { + int16_t numCldfbAnalyses, numCldfbSyntheses; + + ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); + + /* cldfbAnaDec[1] might be modified by DirAC (ivas_dirac_dec_binaural_internal) -> re-instantiate it */ + if ( numCldfbAnalyses_old > 1 && numCldfbAnalyses > 1 ) + { + deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); + st_ivas->cldfbAnaDec[1] = NULL; + + if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[1] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + } +#else + ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); /* Analysis*/ @@ -1008,6 +1036,7 @@ static ivas_error ivas_mc_dec_reconfig( } } } +#endif /*-----------------------------------------------------------------* * Allocate the LFE handle that is coded seperately after the allocation of the core coders -- GitLab From 30b6f9a7d436fc89cce36553634bcad7fe96f895 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 15:57:16 +0100 Subject: [PATCH 384/620] added early return in wrap angles --- lib_com/ivas_tools.c | 90 ++++++++++++++++++++++++++++++++++++++++++++ lib_com/options.h | 1 + 2 files changed, 91 insertions(+) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index 9e59b92174..17e76d61e3 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1016,7 +1016,96 @@ void lls_interp_n( * elevation = [-90, 90] * Considers direction changes from large elevation values *-------------------------------------------------------------------*/ +#ifdef FIX_ANGLE_WRAPPING +void panning_wrap_angles( + const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ + const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ + float *azi_wrapped, /* o : wrapped azimuth component */ + float *ele_wrapped /* o : wrapped elevation component */ +) +{ + float azi, ele; + + azi = azi_deg; + ele = ele_deg; + + if ( ele <= 90 && ele >= -90 ) + { + *ele_wrapped = ele; + if ( azi > 180.0f || azi <= -180.0f ) + { + /* Wrap azimuth value */ + if ( fabsf( azi ) > 180 ) + { + azi = fmodf( azi + 180, 360 ); + azi -= 180; + } + /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ + if ( azi == -180 ) + { + azi = 180; + } + } + *azi_wrapped = azi; + return; + + } + else + { + /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ + if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) + { + azi = 0; + while ( ele > 90 ) + { + ele -= 360; + } + while ( ele < 90 ) + { + ele += 360; + } + } + else + { + /* Wrap elevation and adjust azimuth accordingly */ + while ( fabsf( ele ) > 90 ) + { + /* Flip to other hemisphere */ + azi += 180; + + /* Compensate elevation accordingly */ + if ( ele > 90 ) + { + ele = 180 - ele; + } + else if ( ele < -90 ) + { + ele = -180 - ele; + } + } + + /* Wrap azimuth value */ + if ( fabsf( azi ) > 180 ) + { + azi = fmodf( azi + 180, 360 ); + azi -= 180; + } + } + + /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ + if ( azi == -180 ) + { + azi = 180; + } + } + + *azi_wrapped = azi; + *ele_wrapped = ele; + + return; +} +#else void panning_wrap_angles( const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ @@ -1080,6 +1169,7 @@ void panning_wrap_angles( return; } +#endif /*-------------------------------------------------------------------------* * v_sort_ind() diff --git a/lib_com/options.h b/lib_com/options.h index 2011fb56b4..e69d668699 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -162,6 +162,7 @@ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ +#define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ /* ################## End DEVELOPMENT switches ######################### */ -- GitLab From c2f0326cfa9898c3ccd82f67e01c11e18e5254e0 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 13 Dec 2022 16:04:38 +0100 Subject: [PATCH 385/620] remove leftover in options.h --- lib_com/options.h | 3 --- 1 file changed, 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 8e746f2e15..32cc5cdad1 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -167,10 +167,7 @@ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ -#ifdef MC_BITRATE_SWITCHING -#define MCMASA_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format: sub-part of McMASA modes */ #define MC_BITRATE_SWITCHING_CLDFB -#endif #define FIX_MC_BR_SW_TCX_PLC_FADEOUT #define FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON -- GitLab From 5d3931b70ee7aae9a3bbcebe74171c6ae4ee2893 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 13 Dec 2022 16:23:15 +0100 Subject: [PATCH 386/620] remove parameter 'st_ivas->last_mc_mode' which was obsolete and uninitialized in non-MC cases anyway --- lib_com/ivas_prot.h | 3 +- lib_dec/ivas_cpe_dec.c | 2 +- lib_dec/ivas_mct_dec.c | 6 +- lib_dec/ivas_stat_dec.h | 3 - lib_dec/ivas_stereo_switching_dec.c | 92 +++++++++++++++-------------- 5 files changed, 51 insertions(+), 55 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 5872003cd8..7f3005d077 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -2594,8 +2594,7 @@ ivas_error stereo_memory_dec( const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ #ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - const MC_MODE mc_mode, - const MC_MODE last_mc_mode, + const MC_MODE mc_mode, /* i : MC mode */ #endif const int16_t nchan_transport /* i : number of transport channels */ ); diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index c8adbeb7cc..8212ccac62 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -104,7 +104,7 @@ ivas_error ivas_cpe_dec( *----------------------------------------------------------------*/ #ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->last_mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) + if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) #else if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) #endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 55acccdb03..d1c074381d 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -616,9 +616,6 @@ ivas_error ivas_mc_dec_config( /* store last frame MC mode */ last_mc_mode = st_ivas->mc_mode; -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - st_ivas->last_mc_mode = last_mc_mode; -#endif if ( !st_ivas->bfi ) { @@ -957,7 +954,7 @@ static ivas_error ivas_mc_dec_reconfig( ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); // !!! VE: what is the following block needed for? - if ( last_mc_mode == MC_MODE_MCMASA && nchan_transport_old == 1 && ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM || renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) + if ( ( last_mc_mode == MC_MODE_MCMASA ) && ( nchan_transport_old == 1 ) && ( ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM ) || ( renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) ) { int16_t numCldfbAnalyses, numCldfbSyntheses; @@ -976,7 +973,6 @@ static ivas_error ivas_mc_dec_reconfig( } } #else - ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); /* Analysis*/ diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 2380601584..a18f826921 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1946,9 +1946,6 @@ typedef struct Decoder_Struct ISM_MODE ism_mode; /* ISM format mode */ SBA_MODE sba_mode; /* SBA format mode */ MC_MODE mc_mode; /* MC format mode */ -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - MC_MODE last_mc_mode; // !!! VE: could it be removed and get from ivas_mc_mode_select() in ivas_cpe_dec() ? -#endif int16_t sba_order; /* Ambisonic (SBA) order */ int16_t sba_planar; /* Ambisonic (SBA) planar flag */ int16_t sba_analysis_order; /* Ambisonic (SBA) order used for analysis and coding */ diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 823cf6455c..a9f24a707a 100644 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -343,8 +343,7 @@ ivas_error stereo_memory_dec( const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ #ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - const MC_MODE mc_mode, - const MC_MODE last_mc_mode, + const MC_MODE mc_mode, /* i : MC mode */ #endif const int16_t nchan_transport /* i : number of transport channels*/ ) @@ -863,48 +862,6 @@ ivas_error stereo_memory_dec( } } -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT - if ( ivas_format == MC_FORMAT && hCPE->element_mode == IVAS_CPE_MDCT && ( mc_mode != last_mc_mode ) ) - { - if ( mc_mode == MC_MODE_MCT ) - { - /* deallocate the FdCNG handle */ - for ( i = 0; i < CPE_CHANNELS; ++i ) - { - deleteFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ); - /* deallocate CLDFB synthesis for LFE channel */ - if ( hCPE->hCoreCoder[i]->mct_chan_mode == MCT_CHAN_MODE_LFE ) - { - deleteCldfb( &hCPE->hCoreCoder[i]->cldfbSyn ); - } - } - } - else - { - /* allocate the FdCNG handle (for noise estimation for TCX PLC fadeout)*/ - for ( i = 0; i < CPE_CHANNELS; ++i ) - { - if ( hCPE->hCoreCoder[i]->cldfbSyn == NULL ) /* could be NULL when we had the MCT LFE channel */ - { - if ( ( error = openCldfb( &hCPE->hCoreCoder[i]->cldfbSyn, CLDFB_SYNTHESIS, hCPE->hCoreCoder[i]->output_Fs, CLDFB_PROTOTYPE_1_25MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - if ( hCPE->hCoreCoder[i]->hFdCngDec == NULL ) - { - if ( ( error = createFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ) ) != IVAS_ERR_OK ) - { - return error; - } - initFdCngDec( hCPE->hCoreCoder[i] ); - } - } - } - } -#endif - /*--------------------------------------------------------------* * Bitrate switching in MASA format *---------------------------------------------------------------*/ @@ -990,6 +947,53 @@ ivas_error stereo_memory_dec( } } +#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT + /*--------------------------------------------------------------* + * Bitrate switching in MASA format + *---------------------------------------------------------------*/ + + if ( ivas_format == MC_FORMAT && hCPE->element_mode == IVAS_CPE_MDCT ) + { + if ( mc_mode == MC_MODE_MCT ) + { + /* deallocate the FdCNG handle */ + for ( i = 0; i < CPE_CHANNELS; ++i ) + { + deleteFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ); + + /* deallocate CLDFB synthesis for LFE channel */ + if ( hCPE->hCoreCoder[i]->mct_chan_mode == MCT_CHAN_MODE_LFE ) + { + deleteCldfb( &hCPE->hCoreCoder[i]->cldfbSyn ); + } + } + } + else + { + /* allocate the FdCNG handle (for noise estimation for TCX PLC fadeout)*/ + for ( i = 0; i < CPE_CHANNELS; ++i ) + { + if ( hCPE->hCoreCoder[i]->cldfbSyn == NULL ) /* could be NULL when we had the MCT LFE channel */ + { + if ( ( error = openCldfb( &hCPE->hCoreCoder[i]->cldfbSyn, CLDFB_SYNTHESIS, hCPE->hCoreCoder[i]->output_Fs, CLDFB_PROTOTYPE_1_25MS ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + if ( hCPE->hCoreCoder[i]->hFdCngDec == NULL ) + { + if ( ( error = createFdCngDec( &hCPE->hCoreCoder[i]->hFdCngDec ) ) != IVAS_ERR_OK ) + { + return error; + } + initFdCngDec( hCPE->hCoreCoder[i] ); + } + } + } + } +#endif + return error; } -- GitLab From e821ed7832fd4ecb41fc81a642fedef9e6272339 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 12:29:19 +0100 Subject: [PATCH 387/620] Fix MSVC warnings --- lib_dec/jbm_pcmdsp_apa.c | 4 ++-- lib_dec/lib_dec.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 6aa00344a1..1b37eff902 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -170,8 +170,8 @@ uint8_t apa_init( return 2; } #ifdef MC_JBM - ps->num_channels = num_channels; - ps->buf_out_capacity = APA_BUF_PER_CHANNEL * num_channels; + ps->num_channels = (uint16_t) num_channels; + ps->buf_out_capacity = (uint16_t) ( APA_BUF_PER_CHANNEL * num_channels ); ps->buf_out = count_malloc( sizeof( float ) * ps->buf_out_capacity ); if ( !ps->buf_out ) { diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index d10a1df398..c495872359 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1243,7 +1243,7 @@ static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_ /* Bitstream conversion is not counted towards complexity and memory usage */ #define WMC_TOOL_MAN uint32_t i; - uint8_t byte; + uint8_t byte = 0; const uint8_t mask = 0x80; for ( i = 0; i < num_bits; ++i ) -- GitLab From 12d1ccf500312fc8f1f55811d1d639abbfc0f779 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 17:17:06 +0100 Subject: [PATCH 388/620] fix passive stereo to mono downmix in renderer --- lib_rend/lib_rend.c | 6 +++++ tests/renderer/constants.py | 49 +++++++++++++++++++------------------ 2 files changed, 31 insertions(+), 24 deletions(-) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 3764f1139c..179b8214b5 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1220,6 +1220,12 @@ static ivas_error initMcPanGainsWithMonoOut( inputMc->panGains[i][0] = 1.f; } } + else if ( inputMc->base.inConfig == IVAS_REND_AUDIO_CONFIG_STEREO ) + { + /* Special case for STEREO to MONO: Passive downmix (L+R)/2 */ + inputMc->panGains[0][0] = 0.5; + inputMc->panGains[1][0] = 0.5; + } else { /* ls_conversion_cicpX_stereo contains gains for side speakers. diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index adb600768f..5e2f05ad0b 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -35,6 +35,8 @@ TEST_VECTOR_DIR = TESTS_DIR.joinpath("data") OUTPUT_PATH_REF = TESTS_DIR.joinpath("ref") OUTPUT_PATH_CUT = TESTS_DIR.joinpath("cut") +OUTPUT_PATH_REF = TESTS_DIR.joinpath("/home/amm-er/tmu/external_renderer/ref") +OUTPUT_PATH_CUT = TESTS_DIR.joinpath("/home/amm-er/tmu/external_renderer/cut") CUSTOM_LAYOUT_DIR = SCRIPTS_DIR.joinpath("ls_layouts") HR_TRAJECTORY_DIR = SCRIPTS_DIR.joinpath("trajectories") @@ -541,37 +543,36 @@ pass_snr = { "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL]": 74, "test_multichannel_binaural_static_vs_decoder[7_1-BINAURAL_ROOM]": 19, "test_multichannel_binaural_static_vs_decoder[7_1_4-BINAURAL_ROOM]": 18, - # Failure reason: R channel in MONO output is delayed - "test_multichannel_vs_decoder[5_1_2-MONO]": 1, - "test_multichannel_vs_decoder[5_1_4-MONO]": 1, - "test_multichannel_vs_decoder[5_1-MONO]": 1, - "test_multichannel_vs_decoder[7_1_4-MONO]": 1, - "test_multichannel_vs_decoder[7_1-MONO]": 1, - "test_multichannel_vs_decoder[STEREO-MONO]": 17, # Failure reason: Active dmx (decoder) vs Passive dmx (renderer) - "test_multichannel_vs_decoder[5_1_2-STEREO]": 44, - "test_multichannel_vs_decoder[5_1_4-STEREO]": 48, + "test_multichannel_vs_decoder[5_1-5_1_2]": 62, + "test_multichannel_vs_decoder[5_1-5_1_4]": 62, + "test_multichannel_vs_decoder[5_1-7_1]": 62, + "test_multichannel_vs_decoder[5_1-7_1_4]": 62, + "test_multichannel_vs_decoder[5_1-MONO]": 43, "test_multichannel_vs_decoder[5_1-STEREO]": 48, - "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, - "test_multichannel_vs_decoder[7_1-STEREO]": 44, - "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, "test_multichannel_vs_decoder[5_1_2-5_1]": 63, - "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, + "test_multichannel_vs_decoder[5_1_2-5_1_4]": 63, "test_multichannel_vs_decoder[5_1_2-7_1]": 63, - "test_multichannel_vs_decoder[5_1_4-5_1_2]": 63, + "test_multichannel_vs_decoder[5_1_2-7_1_4]": 63, + "test_multichannel_vs_decoder[5_1_2-MONO]": 38, + "test_multichannel_vs_decoder[5_1_2-STEREO]": 44, "test_multichannel_vs_decoder[5_1_4-5_1]": 62, - "test_multichannel_vs_decoder[5_1_4-7_1_4]": 61, + "test_multichannel_vs_decoder[5_1_4-5_1_2]": 63, "test_multichannel_vs_decoder[5_1_4-7_1]": 62, - "test_multichannel_vs_decoder[5_1-5_1_2]": 62, - "test_multichannel_vs_decoder[5_1-5_1_4]": 62, - "test_multichannel_vs_decoder[5_1-7_1_4]": 62, - "test_multichannel_vs_decoder[5_1-7_1]": 62, - "test_multichannel_vs_decoder[7_1_4-5_1_2]": 63, - "test_multichannel_vs_decoder[7_1_4-5_1_4]": 63, - "test_multichannel_vs_decoder[7_1_4-5_1]": 62, - "test_multichannel_vs_decoder[7_1_4-7_1]": 62, + "test_multichannel_vs_decoder[5_1_4-7_1_4]": 61, + "test_multichannel_vs_decoder[5_1_4-MONO]": 42, + "test_multichannel_vs_decoder[5_1_4-STEREO]": 48, + "test_multichannel_vs_decoder[7_1-5_1]": 63, "test_multichannel_vs_decoder[7_1-5_1_2]": 63, "test_multichannel_vs_decoder[7_1-5_1_4]": 63, - "test_multichannel_vs_decoder[7_1-5_1]": 63, "test_multichannel_vs_decoder[7_1-7_1_4]": 63, + "test_multichannel_vs_decoder[7_1-MONO]": 38, + "test_multichannel_vs_decoder[7_1-STEREO]": 44, + "test_multichannel_vs_decoder[7_1_4-5_1]": 62, + "test_multichannel_vs_decoder[7_1_4-5_1_2]": 63, + "test_multichannel_vs_decoder[7_1_4-5_1_4]": 63, + "test_multichannel_vs_decoder[7_1_4-7_1]": 62, + "test_multichannel_vs_decoder[7_1_4-MONO]": 41, + "test_multichannel_vs_decoder[7_1_4-STEREO]": 46, + "test_multichannel_vs_decoder[STEREO-MONO]": 17, } -- GitLab From 91c18871f84bfcaa54f1a69b25a76286398503be Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Tue, 13 Dec 2022 17:21:58 +0100 Subject: [PATCH 389/620] fix MSAN error at encoder side --- lib_enc/ivas_corecoder_enc_reconfig.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index ce32840095..668eea8318 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -519,6 +519,9 @@ ivas_error ivas_corecoder_enc_reconfig( st_ivas->hCPE[0]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; } +#ifdef DEBUGGING + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->mdct_stereo_mode_cmdl = hEncoderConfig->stereo_mode_cmdl; +#endif initMdctStereoEncData( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct, hEncoderConfig->ivas_format, st_ivas->hCPE[st_ivas->nCPE - 1]->element_mode, st_ivas->hCPE[st_ivas->nCPE - 1]->element_brate, hEncoderConfig->max_bwidth, 0, NULL, 1 ); st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->isSBAStereoMode = ( ( hEncoderConfig->ivas_format == SBA_FORMAT ) && ( st_ivas->nchan_transport == 2 ) ); } -- GitLab From 1af2e44645fc4fe14b937f6b33de48f6212f2b76 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 17:22:15 +0100 Subject: [PATCH 390/620] fix typo --- tests/renderer/constants.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 5e2f05ad0b..4c890cd026 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -35,8 +35,6 @@ TEST_VECTOR_DIR = TESTS_DIR.joinpath("data") OUTPUT_PATH_REF = TESTS_DIR.joinpath("ref") OUTPUT_PATH_CUT = TESTS_DIR.joinpath("cut") -OUTPUT_PATH_REF = TESTS_DIR.joinpath("/home/amm-er/tmu/external_renderer/ref") -OUTPUT_PATH_CUT = TESTS_DIR.joinpath("/home/amm-er/tmu/external_renderer/cut") CUSTOM_LAYOUT_DIR = SCRIPTS_DIR.joinpath("ls_layouts") HR_TRAJECTORY_DIR = SCRIPTS_DIR.joinpath("trajectories") -- GitLab From b75f3fbaae7c0a9c789ac907838d4f7f8168081f Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 17:44:04 +0100 Subject: [PATCH 391/620] fix downmix in pyaudio3dtools as well --- scripts/pyaudio3dtools/spatialaudioconvert.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/pyaudio3dtools/spatialaudioconvert.py b/scripts/pyaudio3dtools/spatialaudioconvert.py index 5163c7c524..04c77d0ac4 100644 --- a/scripts/pyaudio3dtools/spatialaudioconvert.py +++ b/scripts/pyaudio3dtools/spatialaudioconvert.py @@ -337,7 +337,10 @@ def convert_mc( ) -> np.ndarray: """Convert a multichannel signal to the requested output format""" # MC -> LS - if out_spfmt.isloudspeaker: + if in_spfmt.name == "STEREO" and out_spfmt.name == "MONO": + MC2LS = np.vstack([[0.5], [0.5]]) + return in_sig @ MC2LS + elif out_spfmt.isloudspeaker: try: MC2LS = IVAS_MC_CONVERSION[in_spfmt.name][out_spfmt.name] except KeyError: -- GitLab From 02719b3547b7280700567f43ff5b5cf7d28b4a26 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 14 Dec 2022 07:58:38 +0100 Subject: [PATCH 392/620] Added HQ envelope stability memory fix under define ENV_STAB_FIX --- lib_com/cnst.h | 9 ++++ lib_com/env_stab.c | 87 ++++++++++++++++++++++++++++++++---- lib_com/options.h | 2 +- lib_com/prot.h | 19 ++++++-- lib_dec/core_switching_dec.c | 25 +++++++++++ lib_dec/hq_core_dec.c | 4 ++ lib_dec/hq_hr_dec.c | 23 +++++++++- lib_dec/init_dec.c | 5 +++ lib_dec/stat_dec.h | 5 +++ lib_dec/updt_dec.c | 25 +++++++++++ 10 files changed, 190 insertions(+), 14 deletions(-) diff --git a/lib_com/cnst.h b/lib_com/cnst.h index eda4d0f120..295b9f96a1 100644 --- a/lib_com/cnst.h +++ b/lib_com/cnst.h @@ -1682,6 +1682,15 @@ enum #define HALF_D_STAB_TBL_FX ( (Word16) 422 ) /* Q13 0.1013138/2.0 */ #define NUM_ENV_STAB_PLC_STATES 2 /* Number of states of markov model */ +#ifdef ENV_STAB_FIX +#define ENV_STAB_EST1 2.93f /* env_stab estimation coefficient 1 */ +#define ENV_STAB_EST2 (-2.20f) /* env_stab estimation coefficient 2 */ +#define ENV_STAB_EST3 0.741f /* env_stab estimation coefficient 3 */ +#define STAB_FAC_EST1 1.093f /* stab_fac HQ estimation coefficient 1 */ +#define STAB_FAC_EST2 (-5.84e-05f) /* stab_fac HQ estimation coefficient 2, including Q12 scaling */ +#define STAB_FAC_EST3 0.125f /* stab_fac HQ estimation coefficient 3 */ +#endif + #define ATT_LIM_HANGOVER 150 /* Number of hangover frames for disabling stability dependent attenuation */ #define DELTA_TH 5.0f /* Delta energy threshold for transient detection for envelope stability */ #define ENERGY_TH 100.0f /* Energy threshold for transient detection */ diff --git a/lib_com/env_stab.c b/lib_com/env_stab.c index abe93eddce..20a2fb17f6 100644 --- a/lib_com/env_stab.c +++ b/lib_com/env_stab.c @@ -63,10 +63,15 @@ /*--------------------------------------------------------------------------*/ float env_stability( - const int16_t *ynrm, /* i : Norm vector for current frame */ - const int16_t nb_sfm, /* i : Number of sub-bands */ - int16_t *mem_norm, /* i/o: Norm vector memory from past frame */ + const int16_t *ynrm, /* i : Norm vector for current frame */ + const int16_t nb_sfm, /* i : Number of sub-bands */ + int16_t *mem_norm, /* i/o: Norm vector memory from past frame */ +#ifdef ENV_STAB_FIX + int16_t *mem_env_delta, /* i/o: Envelope stability memory for smoothing*/ + const int16_t core_switching_flag /* i : Core switching flag */ +#else int16_t *mem_env_delta /* i/o: Envelope stability memory for smoothing*/ +#endif ) { Word16 env_delta; @@ -82,6 +87,71 @@ float env_stability( Flag Overflow; #endif /* BASOP_NOGLOB */ +#ifdef ENV_STAB_FIX + if ( core_switching_flag ) + { + for ( i = 0; i < nb_sfm; i++ ) + { + mem_norm[i] = ynrm[i]; + } +#ifdef BASOP_NOGLOB + Overflow = 0; + env_delta = shl_o( *mem_env_delta, 1, &Overflow ); +#else + env_delta = shl_o( *mem_env_delta, 1 ); +#endif + } + else + { + /* Calculate envelope stability parameter */ + L_env_delta = L_deposit_l( 0 ); + for ( i = 0; i < nb_sfm; i++ ) + { + tmp = sub( mem_norm[i], ynrm[i] ); + L_env_delta = L_mac0( L_env_delta, tmp, tmp ); + mem_norm[i] = ynrm[i]; + } + +#ifdef DEBUGGING + assert( nb_sfm == 27 || nb_sfm == 26 ); +#endif + inv_nb_sfm = 19418; /* Q19 */ + if ( nb_sfm == 26 ) + { + inv_nb_sfm = 20165; /* Q19 */ + } + exp = norm_l( L_env_delta ); + L_env_delta = Mult_32_16( L_shl( L_env_delta, exp ), inv_nb_sfm ); /* 0+exp+19-15 */ + + L_tmp = Sqrt_l( L_env_delta, &exp2 ); /* exp+4+31+exp2 */ + + exp = add( 35, add( exp, exp2 ) ); + if ( sub( s_and( exp, 1 ), 1 ) == 0 ) + { + L_tmp = Mult_32_16( L_tmp, 23170 ); /* 1/sqrt(2) in Q15 */ + } + exp = shr( exp, 1 ); + +#ifndef BASOP_NOGLOB + env_delta = round_fx( L_shl( L_tmp, sub( 26, exp ) ) ); /* Q10 */ + L_tmp = L_mult0( 26214, env_delta ); /* 26214 is 0.1 in Q18. Q28 */ + L_tmp = L_mac( L_tmp, 29491, *mem_env_delta ); /* 29491 is 0.9 in Q15. Q28 */ + *mem_env_delta = round_fx( L_tmp ); /* Q12 */ +#else /* BASOP_NOGLOB */ + env_delta = round_fx_o( L_shl_o( L_tmp, sub( 26, exp ), &Overflow ), &Overflow ); /* Q10 */ + L_tmp = L_mult0( 26214, env_delta ); /* 26214 is 0.1 in Q18. Q28 */ + L_tmp = L_mac_o( L_tmp, 29491, *mem_env_delta, &Overflow ); /* 29491 is 0.9 in Q15. Q28 */ + *mem_env_delta = round_fx_o( L_tmp, &Overflow ); /* Q12 */ +#endif /* BASOP_NOGLOB */ + Overflow = 0; +#ifndef BASOP_NOGLOB + env_delta = round_fx( L_shl( L_tmp, 1 ) ); /* Q13 */ +#else /* BASOP_NOGLOB */ + env_delta = round_fx_o( L_shl_o( L_tmp, 1, &Overflow ), &Overflow ); /* Q13 */ +#endif /* BASOP_NOGLOB */ + } +#else + /* Calculate envelope stability parameter */ L_env_delta = L_deposit_l( 0 ); for ( i = 0; i < nb_sfm; i++ ) @@ -116,19 +186,20 @@ float env_stability( L_tmp = L_mult0( 26214, env_delta ); /* 26214 is 0.1 in Q18. Q28 */ L_tmp = L_mac( L_tmp, 29491, *mem_env_delta ); /* 29491 is 0.9 in Q15. Q28 */ *mem_env_delta = round_fx( L_tmp ); /* Q12 */ -#else /* BASOP_NOGLOB */ +#else /* BASOP_NOGLOB */ env_delta = round_fx_o( L_shl_o( L_tmp, sub( 26, exp ), &Overflow ), &Overflow ); /* Q10 */ L_tmp = L_mult0( 26214, env_delta ); /* 26214 is 0.1 in Q18. Q28 */ L_tmp = L_mac_o( L_tmp, 29491, *mem_env_delta, &Overflow ); /* 29491 is 0.9 in Q15. Q28 */ *mem_env_delta = round_fx_o( L_tmp, &Overflow ); /* Q12 */ -#endif /* BASOP_NOGLOB */ +#endif /* BASOP_NOGLOB */ Overflow = 0; #ifndef BASOP_NOGLOB env_delta = round_fx( L_shl( L_tmp, 1 ) ); /* Q13 */ -#else /* BASOP_NOGLOB */ +#else /* BASOP_NOGLOB */ env_delta = round_fx_o( L_shl_o( L_tmp, 1, &Overflow ), &Overflow ); /* Q13 */ -#endif /* BASOP_NOGLOB */ - +#endif + /* BASOP_NOGLOB */ +#endif if ( Overflow != 0 ) /* Saturated due to the above up-shifting operation. */ { env_stab = stab_trans_fx[L_STAB_TBL - 1]; /* The highest quantized index. */ diff --git a/lib_com/options.h b/lib_com/options.h index d7d33c9ebc..0a9c2f9ab3 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -163,7 +163,7 @@ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ #define FIX_ITD_CNG /* Eri: Fix for CNG ITD */ - +#define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 973f15ef5a..6401aada0d 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -5432,7 +5432,13 @@ void hq_hr_dec( int16_t *ynrm, /* o : norm quantization index vector */ int16_t *is_transient, /* o : transient flag */ int16_t *hqswb_clas, /* o : HQ SWB class */ - float *SWB_fenv /* o : SWB frequency envelopes */ +#ifdef ENV_STAB_FIX + float *SWB_fenv, /* o : SWB frequency envelopes */ + const int16_t core_switching_flag /* i : Core switching flag */ +#else + float *SWB_fenv /* o : SWB frequency envelopes */ +#endif + ); void hdecnrm_context( @@ -5856,10 +5862,15 @@ void env_adj( ); float env_stability( - const int16_t *ynrm, /* i : Norm vector for current frame */ - const int16_t nb_sfm, /* i : Number of sub-bands */ - int16_t *mem_norm, /* i/o: Norm vector memory from past frame */ + const int16_t *ynrm, /* i : Norm vector for current frame */ + const int16_t nb_sfm, /* i : Number of sub-bands */ + int16_t *mem_norm, /* i/o: Norm vector memory from past frame */ +#ifdef ENV_STAB_FIX + int16_t *mem_env_delta, /* i/o: Envelope stability memory for smoothing*/ + const int16_t core_switching_flag /* i : Core switching flag */ +#else int16_t *mem_env_delta /* i/o: Envelope stability memory for smoothing*/ +#endif ); /*! r: New speech/music state */ diff --git a/lib_dec/core_switching_dec.c b/lib_dec/core_switching_dec.c index 8762f20ac3..283afc18ed 100644 --- a/lib_dec/core_switching_dec.c +++ b/lib_dec/core_switching_dec.c @@ -70,6 +70,9 @@ ivas_error core_switching_pre_dec( { int16_t i, oldLenClasBuff, newLenClasBuff; ivas_error error; +#ifdef ENV_STAB_FIX + float tmp; +#endif error = IVAS_ERR_OK; @@ -401,7 +404,11 @@ ivas_error core_switching_pre_dec( } } +#ifdef ENV_STAB_FIX + if ( st->core == HQ_CORE && ( st->last_core == ACELP_CORE || st->last_core == AMR_WB_CORE || ( ( st->element_mode != EVS_MONO ) && ( st->last_core != HQ_CORE ) ) ) ) +#else if ( st->core == HQ_CORE && ( st->last_core == ACELP_CORE || st->last_core == AMR_WB_CORE ) ) +#endif { set_f( st->hHQ_core->prev_env, 0, SFM_N_WB ); set_f( st->hHQ_core->prev_normq, 0, SFM_N_WB ); @@ -418,8 +425,26 @@ ivas_error core_switching_pre_dec( set_f( st->hHQ_core->prev_coeff_out, 0, L_HQ_WB_BWE ); } +#ifdef ENV_STAB_FIX + if ( st->element_mode != EVS_MONO ) + { + /* Estimate mem_env_delta to reinit env_stab */ + tmp = max( 0, ENV_STAB_EST1 + ( ENV_STAB_EST2 * st->stab_fac_smooth_lt ) + ( ENV_STAB_EST3 * st->log_energy_diff_lt ) ); + st->hHQ_core->mem_env_delta = (int16_t) min( MAX16B, (int32_t) ( tmp * ( 1 << 12 ) ) ); /* Convert to Q12 and handle saturation */ + + if ( st->last_core != TCX_20_CORE && st->last_core != TCX_10_CORE ) + { + set_f( st->hHQ_core->old_out, 0, output_frame ); + set_f( st->hHQ_core->old_outLB, 0, L_FRAME16k ); + } + + st->hHQ_core->no_att_hangover = 0; + st->hHQ_core->energy_lt = 300.0f; + } +#else set_f( st->hHQ_core->old_out, 0, output_frame ); set_f( st->hHQ_core->old_outLB, 0, L_FRAME16k ); +#endif } /* handle switching cases where preecho_sb was not called in the last frame (memory not up to date) */ diff --git a/lib_dec/hq_core_dec.c b/lib_dec/hq_core_dec.c index 547354eddc..3d1c28030b 100644 --- a/lib_dec/hq_core_dec.c +++ b/lib_dec/hq_core_dec.c @@ -249,7 +249,11 @@ void hq_core_dec( else { /* HQ high rate decoder */ +#ifdef ENV_STAB_FIX + hq_hr_dec( st, t_audio_q, L_spec, num_bits, ynrm, &is_transient, &hqswb_clas, SWB_fenv, core_switching_flag ); +#else hq_hr_dec( st, t_audio_q, L_spec, num_bits, ynrm, &is_transient, &hqswb_clas, SWB_fenv ); +#endif } if ( st->element_mode == EVS_MONO || ( !core_switching_flag && !hq_recovery_flag ) ) diff --git a/lib_dec/hq_hr_dec.c b/lib_dec/hq_hr_dec.c index 3eb1108b24..a3ccabd3a2 100644 --- a/lib_dec/hq_hr_dec.c +++ b/lib_dec/hq_hr_dec.c @@ -107,7 +107,12 @@ void hq_hr_dec( int16_t *ynrm, /* o : norm quantization index vector */ int16_t *is_transient, /* o : transient flag */ int16_t *hqswb_clas, /* o : HQ SWB class */ - float *SWB_fenv /* o : SWB frequency envelopes */ +#ifdef ENV_STAB_FIX + float *SWB_fenv, /* o : SWB frequency envelopes */ + const int16_t core_switching_flag /* i : Core switching flag */ +#else + float *SWB_fenv /* o : SWB frequency envelopes */ +#endif ) { int16_t nb_sfm; @@ -193,9 +198,17 @@ void hq_hr_dec( { hHQ_core->mem_env_delta = 0; } +#ifdef ENV_STAB_FIX + else if ( length == L_FRAME32k || ( core_switching_flag && ( st->element_mode != EVS_MONO ) && length == L_SPEC32k_EXT ) ) +#else else if ( length == L_FRAME32k ) +#endif { +#ifdef ENV_STAB_FIX + env_stab = env_stability( ynrm, SFM_N_ENV_STAB, hHQ_core->mem_norm, &hHQ_core->mem_env_delta, core_switching_flag && ( st->element_mode != EVS_MONO ) ); +#else env_stab = env_stability( ynrm, SFM_N_ENV_STAB, hHQ_core->mem_norm, &hHQ_core->mem_env_delta ); +#endif } else { @@ -209,13 +222,21 @@ void hq_hr_dec( } else { +#ifdef ENV_STAB_FIX + if ( length == L_FRAME32k || ( core_switching_flag && ( st->element_mode != EVS_MONO ) && length == L_SPEC32k_EXT ) ) +#else if ( length == L_FRAME32k ) +#endif { hHQ_core->env_stab = env_stab; /* calculated stability */ } else { +#ifdef ENV_STAB_FIX + hHQ_core->env_stab = env_stability( ynrm, SFM_N_ENV_STAB_WB, hHQ_core->mem_norm_hqfec, &hHQ_core->mem_env_delta_hqfec, core_switching_flag && ( st->element_mode != EVS_MONO ) ); +#else hHQ_core->env_stab = env_stability( ynrm, SFM_N_ENV_STAB_WB, hHQ_core->mem_norm_hqfec, &hHQ_core->mem_env_delta_hqfec ); +#endif } } hHQ_core->env_stab_plc = env_stab_smo( min( hHQ_core->env_stab, 1.0f - stab_trans[L_STAB_TBL - 1] ), hHQ_core->env_stab_state_p, &hHQ_core->envstabplc_hocnt ); diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 4b74ccebb9..f306b7c172 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -127,6 +127,11 @@ ivas_error init_decoder( st->stab_fac_smooth = 0.0f; set_f( st->agc_mem2, 0, 2 ); set_f( st->mem_syn3, 0, M ); +#ifdef ENV_STAB_FIX + st->stab_fac_smooth_lt = 0.0f; + st->log_energy_diff_lt = 0.0f; + st->log_energy_old = 0.0f; +#endif mvr2r( GEWB_Ave, st->lsf_old, M ); lsf2lsp( st->lsf_old, st->lsp_old, M, INT_FS_12k8 ); diff --git a/lib_dec/stat_dec.h b/lib_dec/stat_dec.h index d86cd42b72..9a42a00dd6 100644 --- a/lib_dec/stat_dec.h +++ b/lib_dec/stat_dec.h @@ -955,6 +955,11 @@ typedef struct Decoder_State float agc_mem2[2]; /* memory of AGC for saturation control */ int16_t mid_lsf_int; int16_t safety_net; +#ifdef ENV_STAB_FIX + float stab_fac_smooth_lt; + float log_energy_old; + float log_energy_diff_lt; +#endif int16_t GSC_noisy_speech; /* AC mode (GSC) - flag to indicate GSC on SWB noisy speech */ int16_t GSC_IVAS_mode; /* AC mode (GSC) - GSC IVAS mode */ diff --git a/lib_dec/updt_dec.c b/lib_dec/updt_dec.c index 2c3eed80e3..8f67207e2c 100644 --- a/lib_dec/updt_dec.c +++ b/lib_dec/updt_dec.c @@ -44,6 +44,9 @@ #include "rom_com.h" #include "cnst.h" #include "wmops.h" +#ifdef ENV_STAB_FIX +#include <math.h> +#endif /*-------------------------------------------------------------------* * updt_dec() @@ -413,6 +416,10 @@ void updt_dec_common( ) { int16_t i; +#ifdef ENV_STAB_FIX + float log_energy, log_energy_diff; + int16_t output_frame; +#endif st->last_codec_mode = st->codec_mode; st->last_extl = st->extl; @@ -502,6 +509,24 @@ void updt_dec_common( mvr2r( synth + NS2SA( st->output_Fs, ACELP_LOOK_NS + DELAY_BWE_TOTAL_NS ), st->old_synth_sw, NS2SA( st->output_Fs, FRAME_SIZE_NS - ACELP_LOOK_NS - DELAY_BWE_TOTAL_NS ) ); } +#ifdef ENV_STAB_FIX + /* Store long-term estimates of stab_fac and log energy diff to estimate env_stab in case of core switch ACELP/TCX->HQ */ + if ( st->element_mode != EVS_MONO ) + { + output_frame = NS2SA( st->output_Fs, FRAME_SIZE_NS ); + log_energy = log2f( ( sum2_f( synth, output_frame ) / output_frame ) + 1.0f ); + log_energy_diff = fabsf( st->log_energy_old - log_energy ); + st->log_energy_old = log_energy; + st->log_energy_diff_lt = ENV_SMOOTH_FAC * log_energy_diff + ( 1.0f - ENV_SMOOTH_FAC ) * st->log_energy_diff_lt; + if ( st->core == HQ_CORE ) + { + st->stab_fac = min( 1, ( STAB_FAC_EST1 + ( STAB_FAC_EST2 * st->hHQ_core->mem_env_delta ) + ( STAB_FAC_EST3 * st->log_energy_diff_lt ) ) ); + st->stab_fac = max( 0, st->stab_fac ); + } + st->stab_fac_smooth_lt = ENV_SMOOTH_FAC * st->stab_fac + ( 1.0f - ENV_SMOOTH_FAC ) * st->stab_fac_smooth_lt; + } +#endif + if ( ( st->core_brate <= SID_2k40 && st->cng_type == FD_CNG ) || ( st->tcxonly && st->codec_mode == MODE2 ) ) { /* reset LP memories */ -- GitLab From 95cac43b33a4e9c27c0cf5dae66ba9b4f62f4605 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 14 Dec 2022 08:47:43 +0100 Subject: [PATCH 393/620] small additional correction of WMC_TOOL_SKIP in wi.c --- lib_com/wi.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/lib_com/wi.c b/lib_com/wi.c index 2127d07af6..6cfc018aad 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -85,8 +85,22 @@ ivas_error DTFS_new( MOVE( 2 ); LOOP( 1 ); MOVE( 2 ); + dtfs->lag = 0; + dtfs->nH = 0; + dtfs->nH_4kHz = 0; + dtfs->upper_cut_off_freq_of_interest = 3300.0; + dtfs->upper_cut_off_freq = 4000.0; + + for ( i = 0; i < MAXLAG_WI; i++ ) + { + dtfs->a[i] = dtfs->b[i] = 0.0; + } + + dtfs->sampling_rate = -1; + + *dtfs_out = dtfs; #undef WMC_TOOL_SKIP -#endif +#else dtfs->lag = 0; dtfs->nH = 0; dtfs->nH_4kHz = 0; @@ -101,6 +115,8 @@ ivas_error DTFS_new( dtfs->sampling_rate = -1; *dtfs_out = dtfs; +#endif + return IVAS_ERR_OK; } -- GitLab From dc15b13ac8cfc3279c36161d3841c0b6709cc319 Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Wed, 14 Dec 2022 10:07:38 +0100 Subject: [PATCH 394/620] remove unnecessary cldfbAnaDec[1] reinstantiation under certain McMASA conditions as this is now handled by ivas_cldfb_dec_reconfig(). bugfix: McMASA reconfig needs to run renderer selection and internal config init extra since they depend from transport settings modified in the function. --- lib_dec/ivas_mcmasa_dec.c | 4 ++++ lib_dec/ivas_mct_dec.c | 19 ------------------- 2 files changed, 4 insertions(+), 19 deletions(-) diff --git a/lib_dec/ivas_mcmasa_dec.c b/lib_dec/ivas_mcmasa_dec.c index 9df6756de7..83e226f0a0 100644 --- a/lib_dec/ivas_mcmasa_dec.c +++ b/lib_dec/ivas_mcmasa_dec.c @@ -66,6 +66,10 @@ ivas_error ivas_mcmasa_dec_reconfig( /* get new McMASA settings */ ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), ivas_total_brate ); ivas_mcmasa_set_separate_channel_mode( &( st_ivas->hOutSetup.separateChannelEnabled ), &( st_ivas->hOutSetup.separateChannelIndex ), ivas_total_brate ); + /* transport channel settings may affect renderer */ + ivas_renderer_select( st_ivas ); + /* renderer change may affect internal config */ + ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); ivas_mcmasa_set_separate_channel_mode( &( st_ivas->hIntSetup.separateChannelEnabled ), &( st_ivas->hIntSetup.separateChannelIndex ), ivas_total_brate ); if ( ( error = ivas_masa_dec_open( st_ivas ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index d1c074381d..b5476574cc 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -953,25 +953,6 @@ static ivas_error ivas_mc_dec_reconfig( #ifdef MC_BITRATE_SWITCHING_CLDFB ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); - // !!! VE: what is the following block needed for? - if ( ( last_mc_mode == MC_MODE_MCMASA ) && ( nchan_transport_old == 1 ) && ( ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM ) || ( renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) ) - { - int16_t numCldfbAnalyses, numCldfbSyntheses; - - ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); - - /* cldfbAnaDec[1] might be modified by DirAC (ivas_dirac_dec_binaural_internal) -> re-instantiate it */ - if ( numCldfbAnalyses_old > 1 && numCldfbAnalyses > 1 ) - { - deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); - st_ivas->cldfbAnaDec[1] = NULL; - - if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[1] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } #else ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); -- GitLab From 5dae3704ac8707a3d4f4736952a5a9980cf36fbb Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Wed, 14 Dec 2022 11:07:53 +0100 Subject: [PATCH 395/620] address VE comment in init_dec.c, only allocate additional TcxCfg for the LFE channel in MCT, and not for the second channel in DFT/TD stereo --- lib_dec/init_dec.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 205e76765d..b311c109c2 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -613,22 +613,23 @@ ivas_error init_decoder( } /* TCX config. data structure */ -#ifndef MC_BITRATE_SWITCHING // !!! VE: this does not seem to be correct for DFT/TD stereo; also why the MCT_CHAN_MODE_LFE channel is now included? - /* for correct bit rate switching in MC we at least need the TcxCfg */ +#ifdef MC_BITRATE_SWITCHING + /* for correct bit rate switching in MC we at least need the TcxCfg for the LFE channel in MCT */ + if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) ) +#else if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) - { #endif + { + if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); } -#ifndef MC_BITRATE_SWITCHING } else { st->hTcxCfg = NULL; } -#endif /* Tonal MDCT concealment data structure */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) -- GitLab From fa1b0e11f0423e0bb7ce4995b8180a9dd8ea9e5e Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Wed, 14 Dec 2022 11:16:53 +0100 Subject: [PATCH 396/620] apply clang format patch --- lib_dec/init_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index b311c109c2..ebeb9926af 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -613,7 +613,7 @@ ivas_error init_decoder( } /* TCX config. data structure */ -#ifdef MC_BITRATE_SWITCHING +#ifdef MC_BITRATE_SWITCHING /* for correct bit rate switching in MC we at least need the TcxCfg for the LFE channel in MCT */ if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) ) #else -- GitLab From da10c988159570996c814ea9616dfc271ae804cc Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 14 Dec 2022 17:21:54 +0100 Subject: [PATCH 397/620] Added missing resets --- lib_dec/core_switching_dec.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib_dec/core_switching_dec.c b/lib_dec/core_switching_dec.c index 283afc18ed..dd4bd97114 100644 --- a/lib_dec/core_switching_dec.c +++ b/lib_dec/core_switching_dec.c @@ -440,6 +440,14 @@ ivas_error core_switching_pre_dec( st->hHQ_core->no_att_hangover = 0; st->hHQ_core->energy_lt = 300.0f; + + set_s( st->hHQ_core->old_is_transient, 0, 3 ); + set_f( st->hHQ_core->prev_noise_level, 0.0f, 2 ); + st->hHQ_core->prev_R = 0; + set_s( st->hHQ_core->mem_norm + 1, 39, SFM_N_ENV_STAB - 1 ); + st->hHQ_core->prev_hqswb_clas = HQ_NORMAL; + st->hHQ_core->prev_ni_ratio = 0.5f; + set_f( st->hHQ_core->prev_En_sb, 0.0f, NB_SWB_SUBBANDS ); } #else set_f( st->hHQ_core->old_out, 0, output_frame ); -- GitLab From 7c5b8670d3559263d284c793f137334825368af6 Mon Sep 17 00:00:00 2001 From: torresjua <259-jtorr@users.noreply.gitlab.example.com> Date: Thu, 15 Dec 2022 04:39:18 +0000 Subject: [PATCH 398/620] Update ivas_init_dec.c. Move declaration to its own line so that subsequent function call gets counted by WMC tool. --- lib_dec/ivas_init_dec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 9f42ccb99f..3855b296c3 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -135,7 +135,8 @@ ivas_error ivas_dec_setup( #ifndef SBA_BR_SWITCHING_2 if ( get_sba_reinit_flag( ivas_total_brate, st_ivas->hDecoderConfig->last_ivas_total_brate ) ) #else - int16_t sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->last_active_ivas_total_brate, st_ivas->sba_order ); + int16_t sba_reinit_flag; + sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->last_active_ivas_total_brate, st_ivas->sba_order ); if ( sba_reinit_flag ) #endif { -- GitLab From 0bd96bd1533c0c81bc7e16d8e8682609d90d5308 Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 11:52:54 +0100 Subject: [PATCH 399/620] Change the logic for the hTcxCfg handle of the MCT LFE channel when switching from MCT to ParamMC with 4TC, reestablishes the old memory foot print for MCT only MC coding and resolves a msan problem --- lib_dec/init_dec.c | 6 ------ lib_dec/ivas_cpe_dec.c | 8 ++++++++ lib_dec/ivas_dec.c | 11 +++++++---- lib_dec/ivas_init_dec.c | 6 +----- lib_dec/ivas_mct_dec.c | 9 +++++++++ 5 files changed, 25 insertions(+), 15 deletions(-) diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index ebeb9926af..4b74ccebb9 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -613,14 +613,8 @@ ivas_error init_decoder( } /* TCX config. data structure */ -#ifdef MC_BITRATE_SWITCHING - /* for correct bit rate switching in MC we at least need the TcxCfg for the LFE channel in MCT */ - if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) ) -#else if ( ( idchan == 0 || st->element_mode == IVAS_CPE_MDCT ) && st->mct_chan_mode != MCT_CHAN_MODE_LFE ) -#endif { - if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index f84808fa8a..a02ca28488 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -850,6 +850,14 @@ void destroy_cpe_dec( int16_t n; Decoder_State *st; +#ifdef MC_BITRATE_SWITCHING + /* make sure we deallocate a potential distinct hTcxCfg for a MCT LFE channel (can only happen in rs) */ + if ( hCPE->hCoreCoder[1]->mct_chan_mode == MCT_CHAN_MODE_LFE && hCPE->hCoreCoder[1]->hTcxCfg != hCPE->hCoreCoder[0]->hTcxCfg ) + { + hCPE->hCoreCoder[1]->mct_chan_mode = MCT_CHAN_MODE_IGNORE; + } +#endif + for ( n = 0; n < CPE_CHANNELS; n++ ) { st = hCPE->hCoreCoder[n]; diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index e651015ce1..7ca555a1bf 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -354,10 +354,13 @@ ivas_error ivas_dec( /* LFE channel decoder */ if ( st_ivas->mc_mode == MC_MODE_MCT ) { -#ifndef MC_BITRATE_SWITCHING - /* bay: this really killed the MC bitrate switching and took me one day to find it, at least a comment here why the messing with this pointers - happens would have been nice */ - st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg = st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg; +#ifdef MC_BITRATE_SWITCHING + if ( st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg == NULL ) + { +#endif + st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg = st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg; +#ifdef MC_BITRATE_SWITCHING + } #endif ivas_lfe_dec( st_ivas->hLFE, st, output_frame, st_ivas->bfi, output_lfe_ch ); } diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index bee8be6749..50ea8c069a 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1422,11 +1422,7 @@ void destroy_core_dec( hCoreCoder->hTcxDec = NULL; } - if ( hCoreCoder->hTcxCfg != NULL -#ifndef MC_BITRATE_SWITCHING - && hCoreCoder->mct_chan_mode != MCT_CHAN_MODE_LFE -#endif - ) + if ( hCoreCoder->hTcxCfg != NULL && hCoreCoder->mct_chan_mode != MCT_CHAN_MODE_LFE ) { count_free( hCoreCoder->hTcxCfg ); hCoreCoder->hTcxCfg = NULL; diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index b5476574cc..931f1dc33d 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -894,6 +894,15 @@ static ivas_error ivas_mc_dec_reconfig( HQ_core_dec_init( st->hHQ_core ); } + /* check if we have a doubly used hTxcCfg, if so, allocate a distint one for the old MCT LFE channel */ + if ( st->hTcxCfg == st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg ) + { + if ( ( st->hTcxCfg = (TCX_CONFIG_HANDLE) count_malloc( sizeof( TCX_config ) ) ) == NULL ) + { + return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for hTcxCfg\n" ) ); + } + } + st->hTcxCfg->fIsTNSAllowed = getTnsAllowed( st_ivas->hDecoderConfig->ivas_total_brate, st->igf, st->element_mode, st->mct_chan_mode ); } else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) -- GitLab From 53d048e6c19dfe5c4cd65495b4b60c09e70c1b30 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 11:55:04 +0100 Subject: [PATCH 400/620] Fix EVS VoIP mode with MC_JBM disabled --- lib_dec/jbm_pcmdsp_apa.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index 1b37eff902..7bee5f9b5f 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -245,12 +245,14 @@ bool apa_set_rate( /* copy rate to state struct */ ps->rate = (uint16_t) output_Fs; - /* set number of channels */ #ifdef MC_JBM if ( ps->num_channels > APA_MAX_NUM_CHANNELS ) { return 1; } +#else + /* set number of channels */ + ps->num_channels = num_channels; #endif /* -- GitLab From 56c40ab07e7d18364933cad6290090f823deac35 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 14 Dec 2022 11:32:17 +0530 Subject: [PATCH 401/620] Fix for crash in DTX cases with SBA bitrate switch --- lib_com/ivas_prot.h | 3 +++ lib_enc/ivas_core_pre_proc_front.c | 11 ++++++++++- lib_enc/ivas_cpe_enc.c | 7 ++++++- lib_enc/ivas_init_enc.c | 2 ++ lib_enc/ivas_ism_enc.c | 7 ++++++- lib_enc/ivas_sba_enc.c | 4 ++++ lib_enc/ivas_sce_enc.c | 7 ++++++- lib_enc/ivas_stat_enc.h | 2 ++ 8 files changed, 39 insertions(+), 4 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 0ac53db858..7a6f75a051 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -221,6 +221,9 @@ ivas_error pre_proc_front_ivas( const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ +#ifdef SBA_BR_SWITCHING_RECONFIG + ,const int16_t flag_sba_bitrate_switch /* i : SBA bitrate switch flag */ +#endif ); ivas_error pre_proc_ivas( diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 828fdf17a1..7bc46595a2 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -103,6 +103,10 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ , const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ +#ifdef SBA_BR_SWITCHING_RECONFIG + , + const int16_t flag_sba_bitrate_switch +#endif ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ @@ -450,7 +454,12 @@ ivas_error pre_proc_front_ivas( st->vad_flag = front_vad_flag; st->localVAD = front_vad_flag; } - +#ifdef SBA_BR_SWITCHING_RECONFIG + if ( flag_sba_bitrate_switch ) + { + st->vad_flag = 1; + } +#endif if ( ( hCPE != NULL && !( lr_vad_enabled && st->idchan == 0 ) ) || hSCE != NULL ) { *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 470d597b15..7f48259eae 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -437,7 +437,12 @@ ivas_error ivas_cpe_enc( error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, - ivas_total_brate ); + ivas_total_brate +#ifdef SBA_BR_SWITCHING_RECONFIG + , + st_ivas->flag_sba_bitrate_switch +#endif + ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index a06da37805..2213d8bd72 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -346,6 +346,8 @@ ivas_error ivas_init_encoder( #ifdef SBA_BR_SWITCHING_2 st_ivas->sba_reinit_flag = 0; #endif +#else + st_ivas->flag_sba_bitrate_switch = 0; #endif /*-----------------------------------------------------------------* * Allocate and initialize SCE/CPE and other handles diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 39d5b42a07..a4c1d51564 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -151,7 +151,12 @@ ivas_error ivas_ism_enc( &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, - st_ivas->hEncoderConfig->ivas_total_brate ); + st_ivas->hEncoderConfig->ivas_total_brate +#ifdef SBA_BR_SWITCHING_RECONFIG + , + 0 +#endif + ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 54e2812f86..adc3be5c26 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -335,6 +335,9 @@ ivas_error ivas_sba_enc_reconfigure( #ifdef SBA_BR_SWITCHING_2 ENCODER_CONFIG_HANDLE hEncoderConfig; hEncoderConfig = st_ivas->hEncoderConfig; +#endif +#ifdef SBA_BR_SWITCHING_RECONFIG + st_ivas->flag_sba_bitrate_switch = 0; #endif if ( ivas_total_brate != st_ivas->hEncoderConfig->last_ivas_total_brate ) { @@ -347,6 +350,7 @@ ivas_error ivas_sba_enc_reconfigure( nSCE_old = st_ivas->nSCE; #ifdef SBA_BR_SWITCHING_RECONFIG SBA_MODE sba_mode_old = st_ivas->sba_mode; + st_ivas->flag_sba_bitrate_switch = 1; #endif st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); #ifdef SBA_BR_SWITCHING_2 diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 2a74fcf68d..c43aea4a0f 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -186,7 +186,12 @@ ivas_error ivas_sce_enc( &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, - st_ivas->hEncoderConfig->ivas_total_brate ); + st_ivas->hEncoderConfig->ivas_total_brate +#ifdef SBA_BR_SWITCHING_RECONFIG + , + st_ivas->flag_sba_bitrate_switch +#endif + ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 3d8b88445f..c302917ee9 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1052,6 +1052,8 @@ typedef struct #ifdef SBA_BR_SWITCHING_2 int16_t sba_reinit_flag; /*flag indicating whether reinitialisation or reconfiguration function should be used*/ #endif +#else + int16_t flag_sba_bitrate_switch; /*flag indicating whether SBA bitrate switching */ #endif float **mem_hp20_in; /* input signals HP filter memories */ -- GitLab From d49c0a53236bb99851d9becbf18a8f0f063e597a Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 12:34:33 +0100 Subject: [PATCH 402/620] fix problem in CPE deallocation with the new MC rs MCT LFE channel handling --- lib_dec/ivas_cpe_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index a02ca28488..a9536312d1 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -852,7 +852,7 @@ void destroy_cpe_dec( #ifdef MC_BITRATE_SWITCHING /* make sure we deallocate a potential distinct hTcxCfg for a MCT LFE channel (can only happen in rs) */ - if ( hCPE->hCoreCoder[1]->mct_chan_mode == MCT_CHAN_MODE_LFE && hCPE->hCoreCoder[1]->hTcxCfg != hCPE->hCoreCoder[0]->hTcxCfg ) + if ( hCPE->hCoreCoder[1] != NULL && hCPE->hCoreCoder[1]->mct_chan_mode == MCT_CHAN_MODE_LFE && hCPE->hCoreCoder[1]->hTcxCfg != hCPE->hCoreCoder[0]->hTcxCfg ) { hCPE->hCoreCoder[1]->mct_chan_mode = MCT_CHAN_MODE_IGNORE; } -- GitLab From d88c5709fe4dd83723c71649e07e99ba273bbf64 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 12:54:51 +0100 Subject: [PATCH 403/620] restructured panning_wrap_angles --- lib_com/ivas_tools.c | 142 +++++++++++++++++++++++-------------------- 1 file changed, 76 insertions(+), 66 deletions(-) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index 17e76d61e3..bc596402eb 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1007,6 +1007,32 @@ void lls_interp_n( return; } +#ifdef FIX_ANGLE_WRAPPING +/* helper function for panning_wrap_angles */ +float static wrap_azi( + const float azi_deg ) +{ + float azi = azi_deg; + + /* Wrap azimuth value */ + if ( fabsf( azi ) > 180 ) + { + azi = fmodf( azi + 180, 360 ); + if ( azi < 0 ) + { + azi += 360; + } + + azi -= 180; + } + + /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ + if ( azi == -180 ) + { + azi = 180; + } + return azi; +} /*-------------------------------------------------------------------* * panning_wrap_angles() @@ -1016,7 +1042,6 @@ void lls_interp_n( * elevation = [-90, 90] * Considers direction changes from large elevation values *-------------------------------------------------------------------*/ -#ifdef FIX_ANGLE_WRAPPING void panning_wrap_angles( const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ @@ -1029,83 +1054,68 @@ void panning_wrap_angles( azi = azi_deg; ele = ele_deg; - if ( ele <= 90 && ele >= -90 ) + if ( fabs( ele ) <= 90 ) { *ele_wrapped = ele; - if ( azi > 180.0f || azi <= -180.0f ) + if ( azi > 180 || azi <= -180 ) { - /* Wrap azimuth value */ - if ( fabsf( azi ) > 180 ) - { - azi = fmodf( azi + 180, 360 ); - azi -= 180; - } - - /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ - if ( azi == -180 ) - { - azi = 180; - } + azi = wrap_azi( azi ); } *azi_wrapped = azi; return; - - } + } else { - /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ - if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) - { - azi = 0; - while ( ele > 90 ) - { - ele -= 360; - } - while ( ele < 90 ) + /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ + if ( ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) + { + float y = fmodf( ele, 180 ); + azi = 0; + while ( ele > 90 ) + { + ele -= 360; + } + while ( ele < -90 ) { ele += 360; } - } - else - { - /* Wrap elevation and adjust azimuth accordingly */ - while ( fabsf( ele ) > 90 ) - { - /* Flip to other hemisphere */ - azi += 180; - - /* Compensate elevation accordingly */ - if ( ele > 90 ) - { - ele = 180 - ele; - } - else if ( ele < -90 ) - { - ele = -180 - ele; - } - } - - /* Wrap azimuth value */ - if ( fabsf( azi ) > 180 ) - { - azi = fmodf( azi + 180, 360 ); - azi -= 180; - } - } - - /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ - if ( azi == -180 ) - { - azi = 180; - } - } + } + else + { + /* Wrap elevation and adjust azimuth accordingly */ + while ( fabsf( ele ) > 90 ) + { + /* Flip to other hemisphere */ + azi += 180; - *azi_wrapped = azi; - *ele_wrapped = ele; + /* Compensate elevation accordingly */ + if ( ele > 90 ) + { + ele = 180 - ele; + } + else if ( ele < -90 ) + { + ele = -180 - ele; + } + } + azi = wrap_azi( azi ); + } - return; + *azi_wrapped = azi; + *ele_wrapped = ele; + + return; + } } #else +/*-------------------------------------------------------------------* + * panning_wrap_angles() + * + * Wrap angles for amplitude panning to the range: + * azimuth = (-180, 180] + * elevation = [-90, 90] + * Considers direction changes from large elevation values + *-------------------------------------------------------------------*/ void panning_wrap_angles( const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ @@ -1119,7 +1129,7 @@ void panning_wrap_angles( ele = ele_deg; /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ - if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) + if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) ) { azi = 0; while ( fabsf( ele ) > 90 ) @@ -1138,11 +1148,11 @@ void panning_wrap_angles( /* Compensate elevation accordingly */ if ( ele > 90 ) { - ele = 180 - ele; + ele -= 180; } else if ( ele < -90 ) { - ele = -180 - ele; + ele += 180; } } -- GitLab From 0f831556ea8492ada0f1d9642a71e9a30a46f627 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 13:00:09 +0100 Subject: [PATCH 404/620] removed test variable --- lib_com/ivas_tools.c | 1 - 1 file changed, 1 deletion(-) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index bc596402eb..c6a62e2328 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1069,7 +1069,6 @@ void panning_wrap_angles( /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ if ( ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) { - float y = fmodf( ele, 180 ); azi = 0; while ( ele > 90 ) { -- GitLab From ffc787d019d25dcc01c86978126b62eeb96460ae Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 13:02:56 +0100 Subject: [PATCH 405/620] small change --- lib_com/ivas_tools.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index c6a62e2328..503d726faf 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1009,7 +1009,7 @@ void lls_interp_n( #ifdef FIX_ANGLE_WRAPPING /* helper function for panning_wrap_angles */ -float static wrap_azi( +static float wrap_azi( const float azi_deg ) { float azi = azi_deg; -- GitLab From f8942dc8a16efc9483a99307e1896ba99b03ce23 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 15 Dec 2022 13:40:32 +0100 Subject: [PATCH 406/620] fix incorrect position for WMOPS value extracted from the printout --- scripts/pyivastest/IvasModeAnalyzer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pyivastest/IvasModeAnalyzer.py b/scripts/pyivastest/IvasModeAnalyzer.py index d4ae5efa92..f51ed47ec1 100644 --- a/scripts/pyivastest/IvasModeAnalyzer.py +++ b/scripts/pyivastest/IvasModeAnalyzer.py @@ -46,7 +46,7 @@ INSTRUMENTED_RESULTS = { "WMOPS": { "keyword": "total", "number_format": "{:.5g}", - "position": 3, + "position": 2, "max_or_add": "add", "keyword_suffix": False, "strip_suffix": False, -- GitLab From 8e696baeed7778ec1a9a6f847932267b9e9bde31 Mon Sep 17 00:00:00 2001 From: Chris Hold <christoph.hold@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 13:47:22 +0100 Subject: [PATCH 407/620] Fix 249 - Compilation Error with DEBUG_MODE_DIRAC --- lib_dec/ivas_dirac_dec.c | 4 ++-- lib_dec/ivas_sba_dec.c | 42 ----------------------------------- lib_rend/ivas_sba_rendering.c | 41 ++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 44 deletions(-) diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 03e0f5f6e0..b6d442ee35 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -1859,7 +1859,7 @@ void ivas_dirac_dec( { int16_t n, tmp[IVAS_SPAR_MAX_CH * L_FRAME48k]; char file_name[50] = { 0 }; - const int16_t output_frame = st_ivas->->hDecoderConfig->output_Fs / FRAMES_PER_SEC; + const int16_t output_frame = st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC; for ( n = 0; n < nchan_transport; n++ ) { @@ -2156,7 +2156,7 @@ void ivas_dirac_dec( hDirAC->dirac_estimator_idx = ( hDirAC->dirac_estimator_idx + 1 ) % hDirAC->dirac_md_buffer_length; } -#if DEBUG_MODE_DIRAC +#ifdef DEBUG_MODE_DIRAC { static FILE *fp_direction_vector = NULL, *fp_diffuseness = NULL, *fp_referencePower = NULL; diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 4e96c041bd..96acf29750 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -954,45 +954,3 @@ ivas_error ivas_sba_dec_reconfigure( return error; } - - -#ifdef DEBUG_MODE_DIRAC -/*-----------------------------------------------------------------------* - * Debugging function - *-----------------------------------------------------------------------*/ - -static void debug_mode_dirac( - float output[MAX_OUTPUT_CHANNELS][L_FRAME48k], - const int16_t nchan_transport, - const int16_t output_frame ) -{ - int16_t i, n; - int16_t tmp[L_FRAME48k]; - char file_name[50] = { 0 }; - -#ifdef DEBUG_MODE_DIRAC_NOCORE - for ( n = 0; n < nchan_transport; n++ ) - { - sprintf( file_name, "./res/ivas_dirac_enc_%d.%d.pcm", n, (int16_t) ( output_frame * 0.05 ) ); - dbgread( tmp, sizeof( int16_t ), output_frame, file_name ); - for ( i = 0; i < output_frame; i++ ) - { - output[n][i] = (float) ( tmp[i] ); - } - } -#else - for ( n = 0; n < nchan_transport; n++ ) - { - for ( i = 0; i < output_frame; i++ ) - { - tmp[i] = (int16_t) ( output[n][i] + 0.5f ); - } - - sprintf( file_name, "./res/ivas_dirac_dec_%d.%d.pcm", n, (int16_t) ( output_frame * 0.05 ) ); - dbgwrite( tmp, sizeof( int16_t ), output_frame, 1, file_name ); - } -#endif - - return; -} -#endif diff --git a/lib_rend/ivas_sba_rendering.c b/lib_rend/ivas_sba_rendering.c index 0c28a3d432..afa99b767c 100755 --- a/lib_rend/ivas_sba_rendering.c +++ b/lib_rend/ivas_sba_rendering.c @@ -757,3 +757,44 @@ void ivas_sba_prototype_renderer( return; } + +#ifdef DEBUG_MODE_DIRAC +/*-----------------------------------------------------------------------* + * Debugging function + *-----------------------------------------------------------------------*/ + +static void debug_mode_dirac( + float output[MAX_OUTPUT_CHANNELS][L_FRAME48k], + const int16_t nchan_transport, + const int16_t output_frame ) +{ + int16_t i, n; + int16_t tmp[L_FRAME48k]; + char file_name[50] = { 0 }; + +#ifdef DEBUG_MODE_DIRAC_NOCORE + for ( n = 0; n < nchan_transport; n++ ) + { + sprintf( file_name, "./res/ivas_dirac_enc_%d.%d.pcm", n, (int16_t) ( output_frame * 0.05 ) ); + dbgread( tmp, sizeof( int16_t ), output_frame, file_name ); + for ( i = 0; i < output_frame; i++ ) + { + output[n][i] = (float) ( tmp[i] ); + } + } +#else + for ( n = 0; n < nchan_transport; n++ ) + { + for ( i = 0; i < output_frame; i++ ) + { + tmp[i] = (int16_t) ( output[n][i] + 0.5f ); + } + + sprintf( file_name, "./res/ivas_dirac_dec_%d.%d.pcm", n, (int16_t) ( output_frame * 0.05 ) ); + dbgwrite( tmp, sizeof( int16_t ), output_frame, 1, file_name ); + } +#endif + + return; +} +#endif -- GitLab From 3057562367aea9881011bea8da8c89cb7488633a Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Thu, 15 Dec 2022 15:38:22 +0100 Subject: [PATCH 408/620] Restore comment --- lib_com/prot.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_com/prot.h b/lib_com/prot.h index 7144c9fce2..de6a5774d1 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -719,9 +719,9 @@ int32_t get_delay( HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ #ifndef FIX_I59_LFE_TD_DELAY RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ - const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ + const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ #else - const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ + const int32_t binaural_latency_ns /* i : binauralization delay in ns */ #endif ); -- GitLab From e8db19197b05582b2ef949df74a34c1f2164915c Mon Sep 17 00:00:00 2001 From: Stefan Bayer <stefan.bayer@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 16:04:52 +0100 Subject: [PATCH 409/620] fix asan problem with MONO/STEREO output caused by a missing update of the SFB tables in the LS conversion at a bit rate switch within ParamMC --- lib_dec/ivas_mc_param_dec.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 2aff668e02..3e49aca706 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -686,25 +686,27 @@ ivas_error ivas_param_mc_dec_reconfig( /* prototype signal computation */ - if ( ( nchan_transport_old != nchan_transport ) && hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) + if ( hParamMC->synthesis_conf == PARAM_MC_SYNTH_MONO_STEREO ) { - - if ( st_ivas->hLsSetUpConversion != NULL ) + if ( nchan_transport_old != nchan_transport ) { - ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); - } + if ( st_ivas->hLsSetUpConversion != NULL ) + { + ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); + } - if ( ( error = ivas_ls_setup_conversion_open( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } + if ( ( error = ivas_ls_setup_conversion_open( st_ivas ) ) != IVAS_ERR_OK ) + { + return error; + } - /* convert the ls conv dmx matrix into column order matrix format (nchan_out_cldfb x nchan_out) */ - count_free( hParamMC->ls_conv_dmx_matrix ); - hParamMC->ls_conv_dmx_matrix = (float *) count_malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); - for ( k = 0; k < nchan_out_transport; k++ ) - { - mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); + /* convert the ls conv dmx matrix into column order matrix format (nchan_out_cldfb x nchan_out) */ + count_free( hParamMC->ls_conv_dmx_matrix ); + hParamMC->ls_conv_dmx_matrix = (float *) count_malloc( nchan_out_transport * nchan_out_cov * sizeof( float ) ); + for ( k = 0; k < nchan_out_transport; k++ ) + { + mvr2r( st_ivas->hLsSetUpConversion->dmxMtx[k], &hParamMC->ls_conv_dmx_matrix[k * nchan_out_cov], nchan_out_cov ); + } } /* convert ParamMC parameter bands to SFB */ @@ -713,6 +715,10 @@ ivas_error ivas_param_mc_dec_reconfig( { st_ivas->hLsSetUpConversion->sfbOffset[k] = PARAM_MC_BAND_TO_MDCT_BAND_RATIO * hParamMC->band_grouping[k]; } + for ( ; k < MAX_SFB + 2; k++ ) + { + st_ivas->hLsSetUpConversion->sfbOffset[k] = 0; + } } if ( nchan_transport_old != nchan_transport ) -- GitLab From e0f3d16ff3bde201f3ee8828964a8ba2a9a2d1ff Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 17:19:19 +0100 Subject: [PATCH 410/620] fix Issue 250: Resolve "TB-BWE state memories reset simplification" ; under SIMPLIFY_TD_BWE_RESET --- lib_com/options.h | 2 ++ lib_com/prot.h | 7 +++++++ lib_enc/core_switching_enc.c | 4 ++++ lib_enc/evs_enc.c | 6 ++++++ lib_enc/ivas_core_enc.c | 4 ++++ lib_enc/swb_pre_proc.c | 4 ++++ lib_enc/swb_tbe_enc.c | 39 +++++++++++++++++++++++++++++++++++- lib_enc/updt_enc.c | 6 ++++++ 8 files changed, 71 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index e46be24d68..18a1aa4d73 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -163,6 +163,8 @@ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ #define FIX_MDCT_AND_MC_MONO_ISSUES /* Issue 242: Fix some issues with TCX-LTP and delay alignement for mono output */ +#define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 973f15ef5a..fb595ec27f 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -2619,6 +2619,13 @@ void InitSWBencBuffer( TD_BWE_ENC_HANDLE hBWE_TD /* i/o: TD BWE data handle */ ); +#ifdef SIMPLIFY_TD_BWE_RESET +void InitSWBencBufferStates( + TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ + float *shb_speech /* o : SHB target signal (6-14kHz) at 16kHz */ +); +#endif + void swb_tbe_enc( Encoder_State *st, /* i/o: encoder state structure */ STEREO_ICBWE_ENC_HANDLE hStereoICBWE, /* i/o: IC-BWE state structure */ diff --git a/lib_enc/core_switching_enc.c b/lib_enc/core_switching_enc.c index 6102bd5f67..8eba36afc1 100644 --- a/lib_enc/core_switching_enc.c +++ b/lib_enc/core_switching_enc.c @@ -401,6 +401,9 @@ void core_switching_post_enc( ( st->last_core == HQ_CORE || st->L_frame != st->last_L_frame || ( st->last_extl != SWB_TBE && st->last_extl != FB_TBE && st->last_core != TCX_20_CORE && st->last_core != TCX_10_CORE ) ) ) { set_f( st->hBWE_TD->state_ana_filt_shb, 0.0f, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); +#ifdef SIMPLIFY_TD_BWE_RESET + InitSWBencBufferStates( st->hBWE_TD, NULL ); +#else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); @@ -410,6 +413,7 @@ void core_switching_post_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; +#endif swb_tbe_reset( st->hBWE_TD->mem_csfilt, st->hBWE_TD->mem_genSHBexc_filt_down_shb, st->hBWE_TD->state_lpc_syn, st->hBWE_TD->syn_overlap, st->hBWE_TD->state_syn_shbexc, &( st->hBWE_TD->tbe_demph ), &( st->hBWE_TD->tbe_premph ), st->hBWE_TD->mem_stp_swb, &( st->hBWE_TD->gain_prec_swb ) ); diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 29b610db79..043e3fdbb9 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -163,6 +163,7 @@ ivas_error evs_enc( if ( st->last_core == AMR_WB_CORE ) { updt_IO_switch_enc( st, input_frame ); +#ifndef SIMPLIFY_TD_BWE_RESET set_f( st->hBWE_TD->old_speech_shb, 0, L_LOOK_16k + L_SUBFR16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); @@ -174,6 +175,7 @@ ivas_error evs_enc( st->hBWE_TD->prev_Env_error = 0.0f; cldfb_reset_memory( st->cldfbAnaEnc ); cldfb_reset_memory( st->cldfbSynTd ); +#endif } /*---------------------------------------------------------------------* @@ -426,6 +428,9 @@ ivas_error evs_enc( } else if ( st->input_Fs >= 32000 ) { +#ifdef SIMPLIFY_TD_BWE_RESET + InitSWBencBufferStates( st->hBWE_TD, shb_speech ); +#else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0.0f, L_FRAME16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); @@ -436,6 +441,7 @@ ivas_error evs_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; +#endif } /* SWB TBE encoder */ diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index dc3247cbfb..6509432e87 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -343,6 +343,9 @@ ivas_error ivas_core_enc( { if ( st->hBWE_TD != NULL ) { +#ifdef SIMPLIFY_TD_BWE_RESET + InitSWBencBufferStates( st->hBWE_TD, shb_speech ); +#else set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0.0f, L_FRAME16k ); set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); @@ -353,6 +356,7 @@ ivas_error ivas_core_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; +#endif } } diff --git a/lib_enc/swb_pre_proc.c b/lib_enc/swb_pre_proc.c index 4d6eaf7836..83b0deab6c 100644 --- a/lib_enc/swb_pre_proc.c +++ b/lib_enc/swb_pre_proc.c @@ -677,6 +677,9 @@ void swb_pre_proc( { if ( ( st->bwidth == FB || st->core == ACELP_CORE ) && ( st->element_mode == EVS_MONO ) ) { +#ifdef SIMPLIFY_TD_BWE_RESET + InitSWBencBufferStates( st->hBWE_TD, shb_speech ); +#else set_f( hBWE_TD->old_speech_shb, 0, L_LOOK_16k + L_SUBFR16k ); set_f( shb_speech, 0, L_FRAME16k ); /* shb_speech for FB/SWB BWE_HIGHRATE is not used at 64kbps */ set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); @@ -687,6 +690,7 @@ void swb_pre_proc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; +#endif } else { diff --git a/lib_enc/swb_tbe_enc.c b/lib_enc/swb_tbe_enc.c index 036611efb3..cf2470ed8b 100644 --- a/lib_enc/swb_tbe_enc.c +++ b/lib_enc/swb_tbe_enc.c @@ -76,9 +76,9 @@ static void gainFrSmooth_En( TD_BWE_ENC_HANDLE hBWE_TD, const int16_t last_extl, static void Quant_BWE_LSF( BSTR_ENC_HANDLE hBstr, TD_BWE_ENC_HANDLE hBWE_TD, const int16_t codec_mode, const float lsp_shb[], float Q_lsfs[], const int32_t extl_brate ); static void Quant_shb_ener_sf( Encoder_State *st, float *shb_ener_sf ); static void Quant_shb_res_gshape( Encoder_State *st, float *shb_res_gshape ); - static void LVQQuant_BWE_LSF( BSTR_ENC_HANDLE hBstr, const float lsf_shb[], float Q_lsfs[], int16_t nbits ); + /*-------------------------------------------------------------------* * InitSWBencBuffer() * @@ -108,6 +108,10 @@ void InitSWBencBuffer( set_f( hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); set_f( hBWE_TD->old_speech_wb, 0.0f, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set_f( hBWE_TD->old_input_fhb, 0.0f, NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2 ); + +#ifdef SIMPLIFY_TD_BWE_RESET + InitSWBencBufferStates( hBWE_TD, NULL ); +#else set_f( hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); hBWE_TD->old_mean_EnvSHBres = 0.0f; @@ -116,6 +120,7 @@ void InitSWBencBuffer( hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; hBWE_TD->prev_mix_factor = 1.0f; hBWE_TD->prev_Env_error = 0.0f; +#endif for ( i = 0; i < LPC_SHB_ORDER; i++ ) { @@ -156,6 +161,38 @@ void InitSWBencBuffer( } +#ifdef SIMPLIFY_TD_BWE_RESET +/*-------------------------------------------------------------------* + * InitSWBencBufferStates() + * + * Initialize SWB buffer states + *-------------------------------------------------------------------*/ + +void InitSWBencBufferStates( + TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ + float *shb_speech /* o : SHB target signal (6-14kHz) at 16kHz */ +) +{ + if ( shb_speech != NULL ) + { + set_f( shb_speech, 0.0f, L_FRAME16k ); + } + + set_f( hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); + set_f( hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); + set_f( hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); + hBWE_TD->old_mean_EnvSHBres = 0.0f; + hBWE_TD->prev_enr_EnvSHBres = 1.0f; + hBWE_TD->prev_shb_env_tilt = 0.0f; + hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; + hBWE_TD->prev_mix_factor = 1.0f; + hBWE_TD->prev_Env_error = 0.0f; + + return; +} +#endif + + /*-------------------------------------------------------------------* * ResetSHBbuffer_Enc() * diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index c6663895e0..8cd10a493f 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -188,10 +188,15 @@ void updt_IO_switch_enc( preemph( st->old_inp_16k, PREEMPH_FAC_16k, L_INP_MEM, &( st->mem_preemph16k ) ); /* reset TD BWE buffers */ +#ifndef SIMPLIFY_TD_BWE_RESET set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); +#endif set_f( st->hBWE_TD->old_speech_wb, 0.0f, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set_f( st->hBWE_TD->old_bwe_exc, 0.0f, PIT16k_MAX * 2 ); set_f( st->hBWE_TD->old_bwe_exc_extended, 0.0f, NL_BUFF_OFFSET ); +#ifdef SIMPLIFY_TD_BWE_RESET + InitSWBencBufferStates( st->hBWE_TD, NULL ); +#else set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); st->hBWE_TD->old_mean_EnvSHBres = 0.0f; @@ -199,6 +204,7 @@ void updt_IO_switch_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; +#endif st->hBWE_TD->bwe_non_lin_prev_scale = 0.0; set_f( st->hBWE_TD->decim_state1, 0.0f, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -- GitLab From 72f6a0537289b1fc8d15a67d0ef0a7176640fb26 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:19:07 +0100 Subject: [PATCH 411/620] [cleanup] accept FIX_I1_113 --- lib_com/ivas_prot.h | 4 ---- lib_com/ivas_spar_com.c | 2 -- lib_com/options.h | 1 - lib_enc/ivas_mct_core_enc.c | 22 ---------------------- lib_enc/ivas_mct_enc.c | 2 -- 5 files changed, 31 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 6cb365bfad..88be42d82f 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -2660,10 +2660,8 @@ void ivas_mct_core_enc( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t switch_bw, /* i : flag bandwidth switch occurance */ const int16_t lfe_bits /* i : bits spent for LFE */ -#ifdef FIX_I1_113 , const int16_t sba_order /* i : Ambisonic (SBA) order */ -#endif ); void ivas_mdct_quant_coder( @@ -3919,7 +3917,6 @@ void ivas_spar_set_bitrate_config( const int16_t num_bands /* i : number of bands */ ); -#ifdef FIX_I1_113 void ivas_spar_bitrate_dist( int32_t core_brates_act[], /* o : bitrates per core-coder */ const int16_t nAvailBits, /* i : number of available bits */ @@ -3927,7 +3924,6 @@ void ivas_spar_bitrate_dist( const int16_t sba_order, /* i : Ambisonic (SBA) order */ const int16_t bwidth /* i : audio bandwidth */ ); -#endif void ivas_mdct( const float *pIn, float *pOut, const int16_t length ); void ivas_dct_windowing( const int16_t fade_len, const int16_t full_len, const int16_t dct_len, const int16_t zero_pad_len, const float *pWindow_coeffs, const int16_t frame_len, float *pOut_buf, float *pBuffer_prev, float *pTemp_lfe ); diff --git a/lib_com/ivas_spar_com.c b/lib_com/ivas_spar_com.c index 31db5f1bbc..c71dd97088 100644 --- a/lib_com/ivas_spar_com.c +++ b/lib_com/ivas_spar_com.c @@ -2149,7 +2149,6 @@ void ivas_spar_set_bitrate_config( } -#ifdef FIX_I1_113 /*-----------------------------------------------------------------------------------------* * Function ivas_spar_bitrate_dist() * @@ -2239,4 +2238,3 @@ void ivas_spar_bitrate_dist( return; } -#endif diff --git a/lib_com/options.h b/lib_com/options.h index e46be24d68..0faab1e613 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,7 +144,6 @@ #define DISABLE_ADAP_RES_COD_TMP /* temporary fix for IVAS-403, disables adaptive residual coding */ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ -#define FIX_I1_113 /* under review : MCT bit distribution optimization for SBA high bitrates*/ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ diff --git a/lib_enc/ivas_mct_core_enc.c b/lib_enc/ivas_mct_core_enc.c index 4a94dee5d9..379a1c8358 100644 --- a/lib_enc/ivas_mct_core_enc.c +++ b/lib_enc/ivas_mct_core_enc.c @@ -115,27 +115,17 @@ static void FindChannelRatio( static void AdjustChannelRatios( int16_t chBitRatios[MCT_MAX_CHANNELS], /* o : bit-disctribution channel ratios */ const int16_t nChannels /* i/o: number of channels */ -#ifdef FIX_I1_113 , const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t nAvailBits, /* i : number of available bits */ const int16_t sba_order /* i : Ambisonic (SBA) order */ -#endif ) { int16_t force_ch_bit_ratios[IVAS_SPAR_MAX_DMX_CHS]; -#ifdef FIX_I1_113 int32_t temp_brs[IVAS_SPAR_MAX_DMX_CHS]; -#endif float cur_ratio, tar_ratio, sum_ratio, sum_tar_ratio; int16_t ratio_diff, i; -#ifndef FIX_I1_113 - force_ch_bit_ratios[0] = 9; - force_ch_bit_ratios[1] = 7; - force_ch_bit_ratios[2] = 5; - force_ch_bit_ratios[3] = 3; -#else ivas_spar_bitrate_dist( temp_brs, nAvailBits, ivas_total_brate, sba_order, (int16_t) FB ); sum_ratio = 0.0f; @@ -148,7 +138,6 @@ static void AdjustChannelRatios( cur_ratio = temp_brs[i] / sum_ratio; force_ch_bit_ratios[i] = min( BITRATE_MCT_RATIO_RANGE - 1, max( 1, (uint16_t) ( BITRATE_MCT_RATIO_RANGE * cur_ratio + 0.5f ) ) ); } -#endif /* adjust the ratios further based on received chBitRatios[]*/ ratio_diff = 0; @@ -208,10 +197,8 @@ void ivas_mct_core_enc( const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t switch_bw, /* i : flag bandwidth switch occurance */ const int16_t lfe_bits /* i : bits spent for LFE */ -#ifdef FIX_I1_113 , const int16_t sba_order /* i : Ambisonic (SBA) order */ -#endif ) { int16_t ch, ch_core, nSubframes, L_subframeTCX; @@ -477,13 +464,6 @@ void ivas_mct_core_enc( FindChannelRatio( hMCT, sts, chBitRatios, nChannels ); -#ifndef FIX_I1_113 - if ( hMCT->hbr_mct ) - { - assert( ivas_total_brate >= IVAS_256k ); - AdjustChannelRatios( chBitRatios, nChannels ); - } -#endif nAvailBits = (int16_t) ( ( ivas_total_brate / FRAMES_PER_SEC ) - NBITS_BWIDTH - hMCT->nBitsMCT - lfe_bits ); @@ -523,13 +503,11 @@ void ivas_mct_core_enc( dbgwrite( &nAvailBits, sizeof( int16_t ), 1, 1, "./res/availBits" ); #endif -#ifdef FIX_I1_113 if ( hMCT->hbr_mct ) { assert( ivas_total_brate >= IVAS_256k ); AdjustChannelRatios( chBitRatios, nChannels, ivas_total_brate, nAvailBits, sba_order ); } -#endif for ( ch = 0; ch < nChannels; ch++ ) { diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index c9f3698b27..0b5423ff9c 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -168,10 +168,8 @@ ivas_error ivas_mct_enc( /* joint MCT encoding */ ivas_mct_core_enc( ivas_format, hMCT, st_ivas->hCPE, hMCT->nchan_out_woLFE + hMCT->num_lfe, ivas_total_brate, switch_bw, ivas_format == MC_FORMAT ? (int16_t) st_ivas->hLFE->lfe_bits : 0 -#ifdef FIX_I1_113 , st_ivas->hEncoderConfig->sba_order -#endif ); /* Spectrum quantization and coding */ -- GitLab From de951741f02c932f9fa172aaedb022fed033e779 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:23:27 +0100 Subject: [PATCH 412/620] [cleanup] accept FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS --- lib_com/options.h | 1 - lib_dec/dec_tcx.c | 6 ------ lib_dec/init_dec.c | 7 ------- lib_dec/ivas_core_dec.c | 23 ----------------------- 4 files changed, 37 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 0faab1e613..774a549812 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,7 +144,6 @@ #define DISABLE_ADAP_RES_COD_TMP /* temporary fix for IVAS-403, disables adaptive residual coding */ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ -#define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ diff --git a/lib_dec/dec_tcx.c b/lib_dec/dec_tcx.c index 3316648d8e..fb6af86815 100644 --- a/lib_dec/dec_tcx.c +++ b/lib_dec/dec_tcx.c @@ -152,11 +152,7 @@ void decoder_tcx_post( if ( bfi && !st->use_partial_copy ) { /* run lpc gain compensation not for waveform adjustment */ -#ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS if ( !st->enablePlcWaveadjust || ( st->hPlcInfo != NULL && st->hPlcInfo->concealment_method == TCX_TONAL ) ) -#else - if ( !st->enablePlcWaveadjust || st->hPlcInfo->concealment_method == TCX_TONAL ) -#endif { float gainHelperFB = hTcxDec->gainHelper; float stepCompensateFB = hTcxDec->stepCompensate * st->L_frame / hTcxDec->L_frameTCX; @@ -334,12 +330,10 @@ void IMDCT( /* number of zero for ALDO windows*/ nz = NS2SA( st->output_Fs, N_ZERO_MDCT_NS ) * L_frame / L_frameTCX; -#ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS if ( st->element_mode != EVS_MONO && frame_cnt == 0 && !bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && !hTcxCfg->last_aldo ) { v_multc( old_syn_overl, hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, old_syn_overl, overlap ); } -#endif if ( ( L_frameTCX == hTcxDec->L_frameTCX >> 1 || st->mct_chan_mode == MCT_CHAN_MODE_LFE ) && ( st->tcxonly ) ) { diff --git a/lib_dec/init_dec.c b/lib_dec/init_dec.c index 4b74ccebb9..f7968ba5fc 100644 --- a/lib_dec/init_dec.c +++ b/lib_dec/init_dec.c @@ -661,11 +661,7 @@ ivas_error init_decoder( * Mode 2 initialization *-----------------------------------------------------------------*/ -#ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS if ( st->element_mode == EVS_MONO ) -#else - if ( idchan == 0 && st->element_mode != IVAS_CPE_MDCT ) -#endif { if ( ( st->hPlcInfo = (T_PLCInfo_HANDLE) count_malloc( sizeof( T_PLCInfo ) ) ) == NULL ) { @@ -689,9 +685,6 @@ ivas_error init_decoder( st->hTECDec = NULL; } -#ifndef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS // the initialziation is done in open_decoder_LPD() - st->enablePlcWaveadjust = 0; -#endif /* Init Core Decoder */ open_decoder_LPD( st, st->total_brate, st->last_total_brate, st->bwidth, 0, st->element_mode, 1 ); diff --git a/lib_dec/ivas_core_dec.c b/lib_dec/ivas_core_dec.c index e4f587a16e..86c8bdd605 100644 --- a/lib_dec/ivas_core_dec.c +++ b/lib_dec/ivas_core_dec.c @@ -181,34 +181,11 @@ ivas_error ivas_core_dec( st->flagGuidedAcelp = 0; } -#ifdef FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) && st->hTcxDec != NULL ) { v_multc( st->hHQ_core->old_out, st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, st->hHQ_core->old_out, st->hTcxDec->L_frameTCX ); v_multc( st->hHQ_core->old_outLB, st->hTcxDec->conceal_eof_gain * st->last_concealed_gain_syn_deemph, st->hHQ_core->old_outLB, st->L_frame ); } -#else - /* PLC: [TCX: Fade-out-recovery] - overlapping part needs to be attenuated for first good frame */ - if ( !st->bfi && st->prev_bfi && ( st->last_core_bfi == TCX_20_CORE || st->last_core_bfi == TCX_10_CORE ) ) - { - float gain; - - gain = ( st->element_mode == IVAS_CPE_MDCT ) ? st->hTcxDec->conceal_eof_gain : ( st->hPlcInfo != NULL ) ? st->hPlcInfo->recovery_gain - : 0.0f; - - if ( ( st->element_mode == IVAS_CPE_MDCT && hMCT == NULL ) || ( st->hPlcInfo != NULL ) ) - { - v_multc( st->hHQ_core->old_out, gain, st->hHQ_core->old_out, st->hTcxDec->L_frameTCX ); - v_multc( st->hHQ_core->old_outLB, gain, st->hHQ_core->old_outLB, st->L_frame ); - - if ( !st->hTcxCfg->last_aldo && st->hTcxDec != NULL ) - { - v_multc( st->hTcxDec->syn_OverlFB, gain, st->hTcxDec->syn_OverlFB, st->hTcxCfg->tcx_mdct_window_lengthFB ); - v_multc( st->hTcxDec->syn_Overl, gain, st->hTcxDec->syn_Overl, st->hTcxCfg->tcx_mdct_window_length ); - } - } - } -#endif set_f( voice_factors[n], 0.f, NB_SUBFR16k ); set_f( hb_synth[n], 0.0f, L_FRAME48k ); -- GitLab From a7ca565b512e49cbbf95f79723d7d52a49d29dc6 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:26:44 +0100 Subject: [PATCH 413/620] [cleanup] accept FIX_ITD --- lib_com/ivas_cnst.h | 4 - lib_com/ivas_prot.h | 54 - lib_com/options.h | 1 - lib_dec/ivas_stat_dec.h | 71 - lib_rend/ivas_lib_rend_internal.h | 3 - lib_rend/ivas_objectRenderer.c | 42 - lib_rend/ivas_objectRenderer_hrFilt.c | 62 - lib_rend/ivas_objectRenderer_mix.c | 9 - lib_rend/ivas_objectRenderer_sfx.c | 1409 ----------------- lib_rend/ivas_objectRenderer_sources.c | 149 -- lib_rend/lib_rend.c | 32 - .../renderer_standalone.c | 30 - 12 files changed, 1866 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 95ce270957..3b9fa159aa 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -1391,7 +1391,6 @@ typedef enum #define SFX_SPAT_BIN_MAX_FILTER_LENGTH 256 #define SPAT_BIN_MAX_INPUT_CHANNELS 1 /* Max number of input channels per source/object. Mono for now, but stereo objects may be considered. */ -#ifdef FIX_ITD #define MAX_ITD 50 #define SFX_SPAT_BIN_SINC_M 5 #define SFX_SPAT_BIN_NUM_SUBSAMPLES 64 @@ -1401,9 +1400,6 @@ typedef enum #define MAX_ANGULAR_STEP_INV ( 1.0f / MAX_ANGULAR_STEP ) #define MAX_INTERPOLATION_STEPS 12 #define BINAURAL_TD_LATENCY_S 0.0f /* ITD fix removes TD renderer delay -- should be cleaned out */ -#else -#define BINAURAL_TD_LATENCY_S 0.00675f /* Binaural TD renderer latency in second == 324 samples in between 333 and 315 */ -#endif /* ----- Enums - TD Renderer ----- */ diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 88be42d82f..f1589cb218 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5021,13 +5021,9 @@ void GetFilterFromAngle( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ const float Elev, /* i : Elevation, degrees */ float Azim, /* i : Azimuth, degrees */ -#ifdef FIX_ITD float *LeftFilter, /* o : Left HR filter */ float *RightFilter, /* o : Right HR filter */ int16_t *itd /* o : ITD value */ -#else - SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ -#endif ); void HRTF_model_precalc( @@ -5052,22 +5048,11 @@ void TDREND_HRFILT_SetFiltSet( ivas_error TDREND_REND_RenderSourceHRFilt( TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ -#ifdef FIX_ITD const float *hrf_left_delta, /* i: Left filter interpolation delta */ const float *hrf_right_delta, /* i: Right filter interpolation delta */ const int16_t intp_count, /* i: Interpolation count */ -#else -#ifdef TDREND_HRTF_TABLE_METHODS - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#endif -#endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ -#ifdef FIX_ITD const int16_t subframe_length /* i : Subframe length in use */ -#else - const int16_t subframe_length, /* i : Subframe length in use */ - const int32_t output_Fs /* i : Output sample rate */ -#endif ); /* ----- Object renderer - sources ----- */ @@ -5100,7 +5085,6 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ -#ifdef FIX_ITD float *hrf_left_prev, /* o: Left filter */ float *hrf_right_prev, /* o: Right filter */ float *hrf_left_delta, /* o: Left filter interpolation delta */ @@ -5111,9 +5095,6 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( float *Gain, /* o: Gain value */ TDREND_SRC_t *Src_p, const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ -#else - const int32_t output_Fs /* i : Output sample rate */ -#endif ); ivas_error TDREND_SRC_Alloc( @@ -5126,12 +5107,7 @@ void TDREND_SRC_Dealloc( void TDREND_SRC_Init( TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ -#ifdef FIX_ITD const TDREND_PosType_t PosType /* i : Position type specifier */ -#else - const TDREND_PosType_t PosType, /* i : Position type specifier */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif ); /* ----- Object renderer - vec ----- */ @@ -5176,12 +5152,7 @@ int16_t TDREND_SPATIAL_EvalOrthonormOrient( ivas_error TDREND_MIX_AddSrc( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ int16_t *SrcInd, /* o : Source index */ -#ifdef FIX_ITD const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ -#else - const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif ); ivas_error TDREND_MIX_SetDistAttenModel( @@ -5212,31 +5183,7 @@ ivas_error TDREND_MIX_Init( ); /* ----- Object renderer - sfx ----- */ -#ifndef FIX_ITD -ivas_error TDREND_SFX_SpatBin_Initialize( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ - const int32_t output_Fs /* i : Output sampling rate */ -); -void TDREND_SFX_SpatBin_SetParams( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct to be updated */ - const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -); - -void TDREND_SFX_SpatBin_Execute_Main( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters handle */ - const float *InBuffer_p, /* i : Input buffer */ - const int16_t subframe_length, /* i : subframe length */ - float *LeftOutBuffer_p, /* o : Rendered left channel */ - float *RightOutBuffer_p, /* o : Rendered right channel */ - int16_t *NoOfUsedInputSamples_p, /* o : Number of input samples actually used */ - int16_t *NoOfDeliveredOutputSamples_p, /* o : Number of output samples actually rendered */ - const int32_t output_Fs /* i : Output sample rate */ -); -#endif - -#ifdef FIX_ITD void TDREND_Apply_ITD( float *input, /* i: Input SCE subframe to be time adjusted */ float *out_left, /* o: Output left channels with ITD applied */ @@ -5256,7 +5203,6 @@ void TDREND_firfilt( const int16_t subframe_length, /* i : Length of signal */ const int16_t filterlength /* i : Filter length */ ); -#endif /*----------------------------------------------------------------------------------* * Filter-bank (FB) Mixer *----------------------------------------------------------------------------------*/ diff --git a/lib_com/options.h b/lib_com/options.h index 774a549812..f4edd40020 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -146,7 +146,6 @@ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ -#define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index de79f876d6..85cd6b4d2a 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1323,71 +1323,6 @@ typedef struct ivas_binaural_head_track_struct * TD ISm Object Renderer structure *----------------------------------------------------------------------------------*/ -#ifndef FIX_ITD -// VE2AT: move to ivas_rom_rend.h ? -typedef struct -{ - SFX_OpMode_t OpMode; /* Operating mode. This effect can only be TRANSIENT or OFF. */ - int16_t TurningOffEffect; /* Flag showing if the effect is being turned off. */ - int16_t TurningOnEffect; /* Flag showing if the effect is being turned on. */ - int16_t InitializeParams; /* Flag showing if parameters should be initialized the next SetParam call. */ - int16_t FirstUpdate; /* Flag showing if it SetParams has only been called once (TRUE) or more (FALSE). */ - - int32_t TotNoOfOutputSamples; /* The total number of output samples produced since last SetParam call. */ - int32_t MaxTargetTime; /* The maximum allowed target time. Also used for turning the effect on or off. */ - int32_t MaxBlockLength; /* The maximum block length */ - - int16_t TargetTime; /* Time left until the parameters should have reached the new parameters values. */ - float ItdIncrForResampling; /* Resampling factor for adjusting the ITD. */ - float *LeftOldBuffer; /* Buffer with old samples for the Resampling function */ - int16_t NoOfLeftOldBufferSamples; /* Number of samples in LeftOldBuffer */ - float Left_Tf; /* The left fractional delay. */ - float *RightOldBuffer; /* Buffer with old samples for the Resampling function */ - int16_t NoOfRightOldBufferSamples; /* Number of samples in RightOldBuffer */ - float ResampledBufferLeft[SFX_SPAT_BIN_MAX_NO_OF_OUTPUT_SAMPLES + SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; /* Buffers getting the resampled output and having the old samples used for HR-filtering */ - float ResampledBufferRight[SFX_SPAT_BIN_MAX_NO_OF_OUTPUT_SAMPLES + SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; - int16_t TransientTime; /* Transient time when turning off the effect */ - - int16_t FilterLength; /* HR-filter length */ - - /* HR-filters */ - float *LeftFilter_p; /* Pointer to left filter */ - float *LeftFilterIncr_p; /* Left filter adjustment step */ - float *RightFilter_p; /* Pointer to right filter */ - float *RightFilterIncr_p; /* Right filter adjustment step */ - -#ifdef TDREND_HRTF_TABLE_METHODS - int16_t HrFilterInterpOn; /* Indicates whether to interpolate filter from previous frame */ - float LeftFilterStored[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Stored previous filter for interpolation */ - float RightFilterStored[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Stored previous filter for interpolation */ -#endif - -} SFX_SpatBin_t; - -/* Container struct for setting new parameters in SFX_SpatBin */ -typedef struct -{ - int16_t TurnOn; - int16_t Reset; - /* Rendering parameters */ - float Itd; - int16_t FilterLength; - float *LeftFilter_p; - float *RightFilter_p; - float LeftVolume; - float RightVolume; - -} SFX_SpatBin_Params_t; - -typedef struct TDREND_LIST_Item_s -{ - int16_t Ind; /* Index number of item */ - void *Data_p; /* Pointer to the item data struct */ - struct TDREND_LIST_Item_s *Prev_p; /* Pointer to the prev item */ - struct TDREND_LIST_Item_s *Next_p; /* Pointer to the next item */ - -} TDREND_LIST_Item_t; -#endif typedef struct { @@ -1580,10 +1515,6 @@ typedef struct TDREND_SRC_REND_s float SrcGainMax_p[SPAT_BIN_MAX_INPUT_CHANNELS]; float DirGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; float DistGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; -#ifndef FIX_ITD - /* HR filtering parameters */ - SFX_SpatBin_t *SfxSpatBin_p; -#endif } TDREND_SRC_REND_t; @@ -1606,7 +1537,6 @@ typedef struct float *InputFrame_p; /* Input frame pointer */ TDREND_SRC_SPATIAL_t *SrcSpatial_p; TDREND_SRC_REND_t *SrcRend_p; -#ifdef FIX_ITD int16_t itd; int16_t previtd; int16_t filterlength; @@ -1618,7 +1548,6 @@ typedef struct float mem_hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; float mem_hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; float Gain; -#endif } TDREND_SRC_t; /* Top level TD binaural renderer handle */ diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h index f758bc780a..83e5d1d280 100644 --- a/lib_rend/ivas_lib_rend_internal.h +++ b/lib_rend/ivas_lib_rend_internal.h @@ -108,9 +108,6 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ -#ifndef FIX_ITD - const int32_t output_Fs, /* i : output sampling rate */ -#endif float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ); diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index da4c10a888..60e7cfb60d 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -48,11 +48,7 @@ * Local function prototypes *---------------------------------------------------------------------*/ -#ifdef FIX_ITD static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, float output[][L_FRAME48k], const int16_t subframe_length, const int16_t subframe_idx ); -#else -static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, float output[][L_FRAME48k], const int16_t subframe_length, const int32_t output_Fs, const int16_t subframe_idx ); -#endif static void TDREND_Clear_Update_flags( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd ); static void TDREND_Update_listener_orientation( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, @@ -128,11 +124,7 @@ ivas_error ivas_td_binaural_open( for ( nS = 0; nS < nchan_rend; nS++ ) { -#ifdef FIX_ITD if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType ) ) != IVAS_ERR_OK ) -#else - if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType, st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -273,11 +265,7 @@ void ObjRenderIVASFrame( } /* Render subframe */ -#ifdef FIX_ITD TDREND_GetMix( st_ivas->hBinRendererTd, output, subframe_length, subframe_idx ); -#else - TDREND_GetMix( st_ivas->hBinRendererTd, output, subframe_length, st_ivas->hDecoderConfig->output_Fs, subframe_idx ); -#endif } if ( st_ivas->hRenderConfig != NULL ) /* Renderer Configuration not enabled in TD standalone renderer */ @@ -303,9 +291,6 @@ static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ float output[][L_FRAME48k], /* i/o: ISm object synth / rendered output in 0,1 */ const int16_t subframe_length, /* i/o: subframe length */ -#ifndef FIX_ITD - const int32_t output_Fs, /* i : Output sampling rate */ -#endif const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ ) { @@ -315,23 +300,19 @@ static ivas_error TDREND_GetMix( TDREND_SRC_REND_t *SrcRend_p; ivas_error error; float output_buf[2][L_SPATIAL_SUBFR_48k]; /* Temp buffer for left/right rendered signal */ -#ifdef FIX_ITD float hrf_left_delta[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; float hrf_right_delta[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; int16_t intp_count; -#endif error = IVAS_ERR_OK; /* Clear the output buffer to accumulate rendered sources */ set_f( output_buf[0], 0.0f, subframe_length ); set_f( output_buf[1], 0.0f, subframe_length ); -#ifdef FIX_ITD /* Clear interpolation buffers and counter */ set_f( hrf_left_delta, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH ); set_f( hrf_right_delta, 0.0f, SFX_SPAT_BIN_MAX_FILTER_LENGTH ); intp_count = 0; -#endif /* Create the mix */ /* Loop through the source list and render each source */ @@ -344,26 +325,14 @@ static ivas_error TDREND_GetMix( /* Update rendering params if needed */ if ( hBinRendererTd->Listener_p->PoseUpdated || SrcSpatial_p->Updated ) { -#ifdef FIX_ITD TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, Src_p->hrf_left_prev, Src_p->hrf_right_prev, hrf_left_delta, hrf_right_delta, &intp_count, &Src_p->filterlength, &Src_p->itd, &Src_p->Gain, Src_p, subframe_idx ); -#else - TDREND_SRC_REND_UpdateFiltersFromSpatialParams( hBinRendererTd, SrcRend_p, SrcSpatial_p, output_Fs ); -#endif } /* Render source if needed */ if ( ( SrcRend_p->InputAvailable == TRUE ) && ( SrcRend_p->PlayStatus == TDREND_PLAYSTATUS_PLAYING ) ) { -#ifdef FIX_ITD error = TDREND_REND_RenderSourceHRFilt( Src_p, hrf_left_delta, hrf_right_delta, intp_count, output_buf, subframe_length ); -#else -#ifdef TDREND_HRTF_TABLE_METHODS - error = TDREND_REND_RenderSourceHRFilt( Src_p, hBinRendererTd, output_buf, subframe_length, output_Fs ); -#else - error = TDREND_REND_RenderSourceHRFilt( Src_p, output_buf, subframe_length, output_Fs ); -#endif -#endif } } @@ -588,11 +557,7 @@ ivas_error ivas_rend_TDObjRendOpen( for ( nS = 0; nS < nchan_rend; nS++ ) { -#ifdef FIX_ITD if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType ) ) != IVAS_ERR_OK ) -#else - if ( ( error = TDREND_MIX_AddSrc( hBinRendererTd, &SrcInd[nS], PosType, outFs ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -677,9 +642,6 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ -#ifndef FIX_ITD - const int32_t output_Fs, /* i : output sampling rate */ -#endif float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ) { @@ -751,11 +713,7 @@ ivas_error ivas_rend_TDObjRenderFrame( // } /* Render subframe */ -#ifdef FIX_ITD TDREND_GetMix( pTDRend->hBinRendererTd, output, subframe_length, subframe_idx ); -#else - TDREND_GetMix( pTDRend->hBinRendererTd, output, subframe_length, output_Fs, subframe_idx ); -#endif } /* TODO tmu : pass down renderer config struct */ diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 5269b580b0..e09450bcc5 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -344,55 +344,19 @@ void TDREND_HRFILT_SetFiltSet( ivas_error TDREND_REND_RenderSourceHRFilt( TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ -#ifdef FIX_ITD const float *hrf_left_delta, /* i: Left filter interpolation delta */ const float *hrf_right_delta, /* i: Right filter interpolation delta */ const int16_t intp_count, /* i: Interpolation count */ -#else -#ifdef TDREND_HRTF_TABLE_METHODS - BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ -#endif -#endif float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ -#ifdef FIX_ITD const int16_t subframe_length /* i : Subframe length in use */ -#else - const int16_t subframe_length, /* i : Subframe length in use */ - const int32_t output_Fs /* i : Output sample rate */ -#endif ) { -#ifndef FIX_ITD - TDREND_SRC_REND_t *SrcRend_p; - const float *InFrame_nIC_p; - int16_t NoOfUsedInputSamples, NoOfDeliveredOutputSamples; -#endif float LeftOutputFrame[L_SPATIAL_SUBFR_48k]; float RightOutputFrame[L_SPATIAL_SUBFR_48k]; -#ifdef FIX_ITD TDREND_Apply_ITD( Src_p->InputFrame_p, LeftOutputFrame, RightOutputFrame, &Src_p->previtd, Src_p->itd, Src_p->mem_itd, subframe_length ); TDREND_firfilt( LeftOutputFrame, Src_p->hrf_left_prev, hrf_left_delta, intp_count, Src_p->mem_hrf_left, subframe_length, Src_p->filterlength ); TDREND_firfilt( RightOutputFrame, Src_p->hrf_right_prev, hrf_right_delta, intp_count, Src_p->mem_hrf_right, subframe_length, Src_p->filterlength ); -#else - - /* Input channel rendering loop */ - InFrame_nIC_p = Src_p->InputFrame_p; - SrcRend_p = Src_p->SrcRend_p; - - /* Gain not currently encoded/used */ - /* SrcGain = Mix_p->Gain * ( *SrcRend_p->SrcGain_p ); */ - /* SrcGain *= ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ); */ - - TDREND_SFX_SpatBin_Execute_Main( SrcRend_p->SfxSpatBin_p, InFrame_nIC_p, subframe_length, LeftOutputFrame, RightOutputFrame, &NoOfUsedInputSamples, &NoOfDeliveredOutputSamples, output_Fs ); - -#ifdef TDREND_HRTF_TABLE_METHODS - if ( hBinRendererTd->HrFiltSet_p->FilterMethod != TDREND_HRFILT_Method_BSplineModel ) - { - SrcRend_p->SfxSpatBin_p->HrFilterInterpOn = 1; /* Turn on after first frame is rendered. */ - } -#endif -#endif /* Copy to accumulative output frame */ v_add( LeftOutputFrame, output_buf[0], output_buf[0], subframe_length ); v_add( RightOutputFrame, output_buf[1], output_buf[1], subframe_length ); @@ -718,51 +682,25 @@ void GetFilterFromAngle( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ const float Elev, /* i : Elevation, degrees */ float Azim, /* i : Azimuth, degrees */ -#ifdef FIX_ITD float *hrf_left, /* o : Left HR filter */ float *hrf_right, /* o : Right HR filter */ int16_t *itd /* o : ITD value */ -#else - SFX_SpatBin_Params_t *SfxSpatBinParams_p /* i/o: Currently used HR filter */ -#endif ) { -#ifndef FIX_ITD - int16_t count, ii; -#endif GenerateFilter( Elev, Azim, &HrFiltSet_p->ModelParams, &HrFiltSet_p->ModelEval ); -#ifdef FIX_ITD mvr2r( HrFiltSet_p->ModelEval.hrfModL, hrf_left, HrFiltSet_p->ModelParams.K ); mvr2r( HrFiltSet_p->ModelEval.hrfModR, hrf_right, HrFiltSet_p->ModelParams.K ); -#else - /* Renderer requires filter in reversed order: */ - count = 0; - for ( ii = ( HrFiltSet_p->ModelParams.K - 1 ); ii >= 0; ii-- ) - { - SfxSpatBinParams_p->LeftFilter_p[ii] = HrFiltSet_p->ModelEval.hrfModL[count]; - SfxSpatBinParams_p->RightFilter_p[ii] = HrFiltSet_p->ModelEval.hrfModR[count]; - count++; - } -#endif /* 4. Evaluate the ITD */ if ( HrFiltSet_p->ModelParams.UseItdModel ) { GenerateITD( Elev, Azim, &HrFiltSet_p->ModelParamsITD, &HrFiltSet_p->ModelEval ); -#ifdef FIX_ITD *itd = (int16_t) HrFiltSet_p->ModelEval.itdMod; -#else - SfxSpatBinParams_p->Itd = HrFiltSet_p->ModelEval.itdMod; -#endif } else { -#ifdef FIX_ITD *itd = 0; -#else - SfxSpatBinParams_p->Itd = 0; /* No extracted ITD */ -#endif } return; diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index c8e75cfd04..c44152030e 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -290,12 +290,7 @@ ivas_error TDREND_MIX_SetDistAttenModel( ivas_error TDREND_MIX_AddSrc( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ int16_t *SrcInd, /* o : Source index */ -#ifdef FIX_ITD const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ -#else - const TDREND_PosType_t PosType, /* i : Position type (absolute/relative) */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif ) { TDREND_SRC_t *Src_p; @@ -327,11 +322,7 @@ ivas_error TDREND_MIX_AddSrc( return error; } -#ifdef FIX_ITD TDREND_SRC_Init( Src_p, PosType ); -#else - TDREND_SRC_Init( Src_p, PosType, output_Fs ); -#endif /* Special OpenAL initialization due to a common distance attenuation model */ if ( hBinRendererTd->DistAttenModel != 0 ) diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index a5f3b58e7a..8b19a728fa 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -43,1421 +43,13 @@ * Local constants *---------------------------------------------------------------------*/ -#ifndef FIX_ITD -/* Sinc constants */ -#define SFX_SPAT_BIN_SINC_M 5 -#define SFX_SPAT_BIN_NUM_SUBSAMPLES_BITS 6 -#define SFX_SPAT_BIN_NUM_SUBSAMPLES ( 1 << SFX_SPAT_BIN_NUM_SUBSAMPLES_BITS ) -#endif /*---------------------------------------------------------------------* * Local function prototypes *---------------------------------------------------------------------*/ -#ifndef FIX_ITD -static void TDREND_SFX_SpatBin_SetParamsInitializeOn( SFX_SpatBin_t *SfxSpatBin_p, const SFX_SpatBin_Params_t *NewParam_p, const int32_t output_Fs ); -static void TDREND_SFX_SpatBin_SetParamsInitializeOff( SFX_SpatBin_t *SfxSpatBin_p, const SFX_SpatBin_Params_t *NewParam_p, const int32_t output_Fs ); -static void TDREND_SFX_SpatBin_SetParamsOn( SFX_SpatBin_t *SfxSpatBin_p, const SFX_SpatBin_Params_t *NewParam_p, const int32_t output_Fs ); -static void TDREND_SFX_SpatBin_SetParamsOff( SFX_SpatBin_t *const SfxSpatBin_p, const int32_t output_Fs ); -static void TDREND_SFX_SpatBin_Execute( SFX_SpatBin_t *SfxSpatBin_p, const float *InBuffer_p, -#ifdef DEBUGGING - const int16_t NoOfInputSamples, -#endif - const int16_t NoOfRequestedOutputSamples, - float *LeftOutBuffer_p, - float *RightOutBuffer_p, - int16_t *NoOfUsedInputSamples_p, - int16_t *NoOfDeliveredOutputSamples_p, - const int32_t output_Fs ); -static void TDREND_FirFilterRev( float *OutputFrame_p, float *FirFilterRev_p, const int16_t FirFilterLength, float *InputFrame_p, const int16_t NumOfSamples ); -#ifdef TDREND_HRTF_TABLE_METHODS -static void TDREND_FirFilterRevInterp( float *OutputFrame_p, float *FirFilterRev_p, const int16_t FirFilterLength, float *InputFrame_p, const int16_t NumOfSamples, float *FilterStored ); -#endif -static void TDREND_SFX_SpatBin_Clear( SFX_SpatBin_t *SfxSpatBin_p, const int32_t output_Fs ); -#else static void sincResample( const float *input, float *output, const int16_t length_in, const int16_t length_out ); -#endif -#ifndef FIX_ITD -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_Resampling() - * - * Resamples input data with a given resampling factor and returns the - * resampled data. - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_Resampling( - const float *const InputBuffer_p, /* i : The input buffer with audio samples. */ - const int16_t NoOfInputSamples, /* i : Length of input buffer */ - float *const ResampleOutBuffer_p, /* o : Resampled output */ - const int16_t NoOfResampledSamples, /* i : Length of resampled output */ - float *const OldBuffer_p, /* i/o: Samples from previous input buffer (in case of buffer surplus) */ - int16_t *const NoOfOldBufferSamples_p, /* i/o: Length of OldBuffer_p */ - const float Alpha, /* i : Resampling factor */ - float *const Tf_p /* i/o: Old fractional time value / updated time value 0.0 <= Tf < 1.0 */ -) -{ - int16_t i, k, n, n0; - float AlphaInv; - float T; - int16_t nt, snc0, SubsamplesSteps; - const float *SamplePointer_p, *SincPointer_p; - float Temp; - int16_t NoOfSamplesToCopy, MaximumIndInOldBuffer, Ind; - - T = *Tf_p; - - /* The inverse of the resampling factor */ - AlphaInv = 1 / Alpha; - - /* Check how many input samples we have */ - if ( NoOfInputSamples < 2 * SFX_SPAT_BIN_SINC_M ) - { - NoOfSamplesToCopy = NoOfInputSamples; - MaximumIndInOldBuffer = *NoOfOldBufferSamples_p - ( 2 * SFX_SPAT_BIN_SINC_M - NoOfInputSamples ); - } - else - { - NoOfSamplesToCopy = 2 * SFX_SPAT_BIN_SINC_M; - MaximumIndInOldBuffer = *NoOfOldBufferSamples_p; - } - - /* 1. Append min(2M,N_input) samples from input buffer to old buffer */ - for ( i = 0; i < NoOfSamplesToCopy; i++ ) - { - OldBuffer_p[*NoOfOldBufferSamples_p + i] = InputBuffer_p[i]; - } - - /* 2. Resampling */ - nt = 0; - n0 = SFX_SPAT_BIN_SINC_M - 1; - k = 0; - if ( Alpha <= 1.0 ) - { - /* 2.1 Resample (without scaling) old buffer */ - while ( nt <= MaximumIndInOldBuffer ) - { - /* Calculate the sinc-index for the center value of the sinc */ - snc0 = (int16_t) ( ( T + EPSILON - nt ) * SFX_SPAT_BIN_NUM_SUBSAMPLES + 0.5 ); - - /* The convolution of the sinc and the data */ - SamplePointer_p = &OldBuffer_p[n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 )]; - SincPointer_p = &SincTable[snc0 - SFX_SPAT_BIN_NUM_SUBSAMPLES * ( -( SFX_SPAT_BIN_SINC_M - 1 ) )]; - - Temp = *SamplePointer_p * *SincPointer_p; - for ( i = -( SFX_SPAT_BIN_SINC_M - 2 ); i <= 0; i++ ) - { - SamplePointer_p++; - SincPointer_p -= SFX_SPAT_BIN_NUM_SUBSAMPLES; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - - SamplePointer_p++; - SincPointer_p = &SincTable[SFX_SPAT_BIN_NUM_SUBSAMPLES - snc0]; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - for ( i = 2; i <= SFX_SPAT_BIN_SINC_M; i++ ) - { - SamplePointer_p++; - SincPointer_p += SFX_SPAT_BIN_NUM_SUBSAMPLES; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - - ResampleOutBuffer_p[k] = Temp; - - /* Update the time index */ - T = T + Alpha; - /* Update the time index for the old buffer data */ - nt = (int16_t) ( T + EPSILON ); - /* Update the resampled buffer index */ - k++; - - /* Make sure we don't process too many samples. This check is needed for the cases */ - /* when all resampled samples are obtained from the old buffer. */ - if ( k >= NoOfResampledSamples ) - { - /* We have processed enough data. Jump out of the while-loop! */ - break; - } - } - - /* 2.2 Resample (without scaling) input buffer */ - n0 = ( SFX_SPAT_BIN_SINC_M - 1 ) - *NoOfOldBufferSamples_p; - for ( n = k; n < NoOfResampledSamples; n++ ) - { - /* Calculate the sinc-index for the center value of the sinc */ - snc0 = (int16_t) ( ( T + EPSILON - nt ) * SFX_SPAT_BIN_NUM_SUBSAMPLES + 0.5 ); - - /* The convolution of the sinc and the data */ - SamplePointer_p = &InputBuffer_p[n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 )]; - SincPointer_p = &SincTable[snc0 - SFX_SPAT_BIN_NUM_SUBSAMPLES * ( -( SFX_SPAT_BIN_SINC_M - 1 ) )]; - - Temp = *SamplePointer_p * *SincPointer_p; - for ( i = -( SFX_SPAT_BIN_SINC_M - 2 ); i <= 0; i++ ) - { - SamplePointer_p++; - SincPointer_p -= SFX_SPAT_BIN_NUM_SUBSAMPLES; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - - SamplePointer_p++; - SincPointer_p = &SincTable[SFX_SPAT_BIN_NUM_SUBSAMPLES - snc0]; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - for ( i = 2; i <= SFX_SPAT_BIN_SINC_M; i++ ) - { - SamplePointer_p++; - SincPointer_p += SFX_SPAT_BIN_NUM_SUBSAMPLES; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - ResampleOutBuffer_p[n] = Temp; - - /* Update the time index */ - T = T + Alpha; - /* Update the time index for the input buffer data */ - nt = (int16_t) ( T + EPSILON ); - } - } - else - { - /* Calculate the constant step length in subsamples for the sinc */ - SubsamplesSteps = (int16_t) ( AlphaInv * SFX_SPAT_BIN_NUM_SUBSAMPLES ); - - /* 2.3 Resample (with scaling) old buffer */ - while ( nt <= MaximumIndInOldBuffer ) - { - /* Calculate the sinc-index for the center value of the sinc */ - snc0 = (int16_t) ( ( T + EPSILON - nt ) * SubsamplesSteps + 0.5f ); - - /* The convolution of the sinc and the data */ - - SamplePointer_p = &OldBuffer_p[n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 )]; - SincPointer_p = &SincTable[snc0 - SubsamplesSteps * ( -( SFX_SPAT_BIN_SINC_M - 1 ) )]; - - Temp = *SamplePointer_p * *SincPointer_p; - for ( i = -( SFX_SPAT_BIN_SINC_M - 2 ); i <= 0; i++ ) - { - SamplePointer_p++; - SincPointer_p -= SubsamplesSteps; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - - SamplePointer_p++; - SincPointer_p = &SincTable[SubsamplesSteps - snc0]; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - for ( i = 2; i <= SFX_SPAT_BIN_SINC_M; i++ ) - { - SamplePointer_p++; - SincPointer_p += SubsamplesSteps; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - /* Multiply by the inverse of the resampling factor */ - Temp = Temp * AlphaInv; - ResampleOutBuffer_p[k] = Temp; - - /* Update the time index */ - T = T + Alpha; - /* Update the time index for the input buffer data */ - nt = (int16_t) ( T + EPSILON ); - /* Update the resampled buffer index */ - k++; - - /* Make sure we don't process too many samples. This check is needed for the cases */ - /* when all resampled samples are obtained from the old buffer. */ - if ( k >= NoOfResampledSamples ) - { - /* We have processed enough data. Jump out of the while-loop! */ - break; - } - } - - /* 2.4 Resample (with scaling) input buffer */ - n0 = ( SFX_SPAT_BIN_SINC_M - 1 ) - *NoOfOldBufferSamples_p; - for ( n = k; n < NoOfResampledSamples; n++ ) - { - /* Calculate the sinc-index for the center value of the sinc */ - snc0 = (int16_t) ( ( T + EPSILON - nt ) * SubsamplesSteps + 0.5 ); - - /* The convolution of the sinc and the data */ - - SamplePointer_p = &InputBuffer_p[n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 )]; - SincPointer_p = &SincTable[snc0 - SubsamplesSteps * ( -( SFX_SPAT_BIN_SINC_M - 1 ) )]; - - Temp = *SamplePointer_p * *SincPointer_p; - for ( i = -( SFX_SPAT_BIN_SINC_M - 2 ); i <= 0; i++ ) - { - SamplePointer_p++; - SincPointer_p -= SubsamplesSteps; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - - SamplePointer_p++; - SincPointer_p = &SincTable[SubsamplesSteps - snc0]; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - for ( i = 2; i <= SFX_SPAT_BIN_SINC_M; i++ ) - { - SamplePointer_p++; - SincPointer_p += SubsamplesSteps; - Temp = Temp + *SamplePointer_p * *SincPointer_p; - } - /* Multiply by the inverse of the resampling factor */ - Temp = Temp * AlphaInv; - ResampleOutBuffer_p[n] = Temp; - - /* Update the time index */ - T = T + Alpha; - /* Update the time index for the input buffer data */ - nt = (int16_t) ( T + EPSILON ); - } - } - - /* 3. Update old buffer */ - Ind = (int16_t) ( n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 ) ); - if ( Ind < 0 ) - { - /* Must save some samples from the old buffer */ - for ( i = 0; i < -Ind; i++ ) - { - OldBuffer_p[i] = OldBuffer_p[i + *NoOfOldBufferSamples_p + Ind]; - } - /* Copy the input samples */ - for ( i = 0; i < NoOfInputSamples; i++ ) - { - OldBuffer_p[i - Ind] = InputBuffer_p[i]; - } - *NoOfOldBufferSamples_p = NoOfInputSamples - Ind; - } - else - { - *NoOfOldBufferSamples_p = NoOfInputSamples - (int16_t) ( n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 ) ); - - SamplePointer_p = &InputBuffer_p[n0 + nt - ( SFX_SPAT_BIN_SINC_M - 1 )]; - for ( i = 0; i < *NoOfOldBufferSamples_p; i++ ) - { - OldBuffer_p[i] = *( SamplePointer_p + i ); - } - } - - /* 4. Update Tf_p */ - *Tf_p = T - nt; - /* Due to the EPSILON factor and rounding problems t_new may be a little negative, ~ -10^-7. This should in theory not be possible so we need to */ - /* make sure that Tf_p is greater than or equal to 0. This problem is not present for fix-code, though. */ - if ( *Tf_p < 0 ) - { - *Tf_p = 0; - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_SetParams() - * - * Updates the ITD increment, HR-filters increments - * and volumes increments that are used by SFX_SPAT_BIN_UpdateParams(). - * - --------------------------------------------------------------------*/ - -void TDREND_SFX_SpatBin_SetParams( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct to be updated */ - const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - if ( NewParam_p->Reset == TRUE ) - { - /* Calling TDREND_SFX_SpatBin_Clear will clear buffers and sets SfxSpatBin_p->InitializeParams = TRUE, which forces all */ - /* rendering parameters to be set directly without any transition period. */ - TDREND_SFX_SpatBin_Clear( SfxSpatBin_p, output_Fs ); - } - - if ( NewParam_p->TurnOn == TRUE ) - { - /* Turn on the effect if it is not already on. */ - if ( SfxSpatBin_p->InitializeParams == TRUE ) - { - TDREND_SFX_SpatBin_SetParamsInitializeOn( SfxSpatBin_p, NewParam_p, output_Fs ); - } - else - { - TDREND_SFX_SpatBin_SetParamsOn( SfxSpatBin_p, NewParam_p, output_Fs ); - } - - SfxSpatBin_p->OpMode = SFX_TRANSIENT; - } - else - { - /* Turn off the effect if it is not already off. */ - if ( SfxSpatBin_p->InitializeParams == TRUE ) - { - TDREND_SFX_SpatBin_SetParamsInitializeOff( SfxSpatBin_p, NewParam_p, output_Fs ); - } - else - { - /* Turn off the effect */ - - TDREND_SFX_SpatBin_SetParamsOff( SfxSpatBin_p, output_Fs ); - } - - SfxSpatBin_p->OpMode = SFX_OFF; - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_SetParamsInitializeOn() - * - * Initialize spatial parameters and turn the effect on - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_SetParamsInitializeOn( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i; - float ItdAbs; - float *LeftFilter_p, *RightFilter_p, *LeftFilterIncr_p, *RightFilterIncr_p; - int16_t mem_size; - - SfxSpatBin_p->InitializeParams = FALSE; - /* The first parameter update */ - SfxSpatBin_p->FirstUpdate = TRUE; - SfxSpatBin_p->TargetTime = 0; - - SfxSpatBin_p->ItdIncrForResampling = 0.0; - - /* Copy the HR-filters */ - SfxSpatBin_p->FilterLength = NewParam_p->FilterLength; - - mem_size = (int16_t) SfxSpatBin_p->FilterLength * sizeof( float ); - LeftFilter_p = (float *) count_malloc( mem_size ); - RightFilter_p = (float *) count_malloc( mem_size ); - LeftFilterIncr_p = (float *) count_malloc( mem_size ); - RightFilterIncr_p = (float *) count_malloc( mem_size ); - - SfxSpatBin_p->LeftFilter_p = LeftFilter_p; - SfxSpatBin_p->RightFilter_p = RightFilter_p; - SfxSpatBin_p->LeftFilterIncr_p = LeftFilterIncr_p; - SfxSpatBin_p->RightFilterIncr_p = RightFilterIncr_p; - - for ( i = 0; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilter_p++ = NewParam_p->LeftVolume * ( NewParam_p->LeftFilter_p[i] ); - *RightFilter_p++ = NewParam_p->RightVolume * ( NewParam_p->RightFilter_p[i] ); - - /* Set initial increments to 0 */ - *LeftFilterIncr_p++ = 0.0; - *RightFilterIncr_p++ = 0.0; - } - - SfxSpatBin_p->TotNoOfOutputSamples = 0; - - switch ( output_Fs ) - { - case 16000: - i = 0; - break; - case 32000: - i = 1; - break; - case 48000: - i = 2; - break; - } - - /* Initialize ITD */ - if ( NewParam_p->Itd > 0.0 ) - { - SfxSpatBin_p->NoOfLeftOldBufferSamples = SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i] - (int16_t) floor( NewParam_p->Itd ); - SfxSpatBin_p->Left_Tf = ( NewParam_p->Itd ) - floorf( NewParam_p->Itd ); - SfxSpatBin_p->NoOfRightOldBufferSamples = SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i]; - } - else - { - ItdAbs = -NewParam_p->Itd; - SfxSpatBin_p->NoOfLeftOldBufferSamples = SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i] + (int16_t) ceil( ItdAbs ); - SfxSpatBin_p->Left_Tf = ceilf( ItdAbs ) - ( ItdAbs ); - SfxSpatBin_p->NoOfRightOldBufferSamples = SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i]; - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_SetParamsInitializeOff() - * - * Initialize spatial parameters and turn the effect off - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_SetParamsInitializeOff( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i; - float *LeftFilter_p, *RightFilter_p, *LeftFilterIncr_p, *RightFilterIncr_p; - int16_t mem_size; - - SfxSpatBin_p->InitializeParams = FALSE; - /* The first parameter update */ - SfxSpatBin_p->FirstUpdate = TRUE; - SfxSpatBin_p->TargetTime = 0; - SfxSpatBin_p->ItdIncrForResampling = 0.0; - - /* Set the HR-filters */ - SfxSpatBin_p->FilterLength = NewParam_p->FilterLength; - - mem_size = (int16_t) SfxSpatBin_p->FilterLength * sizeof( float ); - LeftFilter_p = (float *) count_malloc( mem_size ); - RightFilter_p = (float *) count_malloc( mem_size ); - LeftFilterIncr_p = (float *) count_malloc( mem_size ); - RightFilterIncr_p = (float *) count_malloc( mem_size ); - - SfxSpatBin_p->LeftFilter_p = LeftFilter_p; - SfxSpatBin_p->RightFilter_p = RightFilter_p; - SfxSpatBin_p->LeftFilterIncr_p = LeftFilterIncr_p; - SfxSpatBin_p->RightFilterIncr_p = RightFilterIncr_p; - - *LeftFilter_p++ = 0.5; - *RightFilter_p++ = 0.5; - /* Set initial increments to 0 */ - *LeftFilterIncr_p++ = 0.0; - *RightFilterIncr_p++ = 0.0; - - for ( i = 1; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilter_p++ = 0.0; - *RightFilter_p++ = 0.0; - /* Set initial increments to 0 */ - *LeftFilterIncr_p++ = 0.0; - *RightFilterIncr_p++ = 0.0; - } - - SfxSpatBin_p->TotNoOfOutputSamples = 0; - - /* Initialize ITD to 0 */ - switch ( output_Fs ) - { - case 16000: - i = 0; - break; - case 32000: - i = 1; - break; - case 48000: - i = 2; - break; - } - SfxSpatBin_p->NoOfLeftOldBufferSamples = SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i]; - SfxSpatBin_p->NoOfRightOldBufferSamples = SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i]; - SfxSpatBin_p->Left_Tf = 0.0; - - return; -} - - -/*-------------------------------------------------------------------* - * void TDREND_SFX_SpatBin_SetParamsOn() - * - * Turn the effect on - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_SetParamsOn( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const SFX_SpatBin_Params_t *NewParam_p, /* i : New parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i; - float *LeftFilterIncr_p, *RightFilterIncr_p; - float MaxITDIncr = TDREND_MaxITD_Incr[2]; - /* Set FirstUpdate to FALSE, which makes SFX_SPAT_BIN_UpdateParams to start */ - /* updating the parameters. */ - SfxSpatBin_p->FirstUpdate = FALSE; - - /* Update TargetTime */ - if ( SfxSpatBin_p->OpMode == SFX_OFF ) - { - /* Start turning on the effect */ - SfxSpatBin_p->TurningOnEffect = TRUE; - /* Stop turning off the effect */ - SfxSpatBin_p->TurningOffEffect = FALSE; - /* Use the transient time instead of the target time */ - SfxSpatBin_p->TargetTime = (int16_t) SfxSpatBin_p->MaxTargetTime; - } - else - { - if ( SfxSpatBin_p->TurningOnEffect == FALSE ) - { - /* The effect is already on. Use the target time. */ - SfxSpatBin_p->TargetTime = (int16_t) SfxSpatBin_p->TotNoOfOutputSamples; - } - else if ( SfxSpatBin_p->TotNoOfOutputSamples > SfxSpatBin_p->TargetTime ) - { - /* The effect has already been turned on or will be turned on now. */ - /* If SfxSpatBin_p->TargetTime > SfxSpatBin_p->TotNoOfOutputSamples then continue with SfxSpatBin_p->TargetTime. */ - SfxSpatBin_p->TargetTime = (int16_t) SfxSpatBin_p->TotNoOfOutputSamples; - SfxSpatBin_p->TurningOnEffect = FALSE; - } - } - - /* Restart the counting of output samples */ - SfxSpatBin_p->TotNoOfOutputSamples = 0; - - /* 1. Calculate the new ITD increment. Here the half ITD increment is calculated due to that */ - /* half of it should be applied on the left channel and half on the right channel. */ - /* However, since doppler is not supported anymore resampling is only applied to the left */ - /* channel so the division by 2 could now be removed. */ - if ( SfxSpatBin_p->TargetTime > 0 ) - { - SfxSpatBin_p->ItdIncrForResampling = ( NewParam_p->Itd - ( SfxSpatBin_p->NoOfRightOldBufferSamples - ( SfxSpatBin_p->NoOfLeftOldBufferSamples - SfxSpatBin_p->Left_Tf ) ) ) / SfxSpatBin_p->TargetTime / 2; - } - - switch ( output_Fs ) - { - case 16000: - MaxITDIncr = TDREND_MaxITD_Incr[0]; - break; - case 32000: - MaxITDIncr = TDREND_MaxITD_Incr[1]; - break; - case 48000: - MaxITDIncr = TDREND_MaxITD_Incr[2]; - break; - } - /* Check that ItdIncrForResampling is within limits */ - if ( SfxSpatBin_p->ItdIncrForResampling > MaxITDIncr ) - { -#ifdef DEBUGGING - printf( "ItdIncrForResampling too large: %f > %f\n", SfxSpatBin_p->ItdIncrForResampling, MaxITDIncr ); - printf( " ParamsOn : TargetTime = %5d\n", SfxSpatBin_p->TargetTime ); -#endif - SfxSpatBin_p->ItdIncrForResampling = MaxITDIncr; - } - else if ( SfxSpatBin_p->ItdIncrForResampling < ( -MaxITDIncr ) ) - { -#ifdef DEBUGGING - printf( "ItdIncrForResampling too small: %f < %f\n", SfxSpatBin_p->ItdIncrForResampling, ( -MaxITDIncr ) ); -#endif - SfxSpatBin_p->ItdIncrForResampling = ( -MaxITDIncr ); - } - - /* 2. Calculate the HR-filter increments. Includes the left and right volume. */ - LeftFilterIncr_p = SfxSpatBin_p->LeftFilterIncr_p; - RightFilterIncr_p = SfxSpatBin_p->RightFilterIncr_p; - - for ( i = 0; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilterIncr_p++ = ( NewParam_p->LeftFilter_p[i] * NewParam_p->LeftVolume - SfxSpatBin_p->LeftFilter_p[i] ) / SfxSpatBin_p->TargetTime; - *RightFilterIncr_p++ = ( NewParam_p->RightFilter_p[i] * NewParam_p->RightVolume - SfxSpatBin_p->RightFilter_p[i] ) / SfxSpatBin_p->TargetTime; - } - - return; -} - - -/*-------------------------------------------------------------------* - * void TDREND_SFX_SpatBin_SetParamsOff() - * - * Turn the effect off - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_SetParamsOff( - SFX_SpatBin_t *const SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i; - float *LeftFilterIncr_p, *RightFilterIncr_p; - - int16_t MaxITD = TDREND_MaxITD[2]; - float MaxITDIncr = TDREND_MaxITD_Incr[2]; - switch ( output_Fs ) - { - case 16000: - MaxITD = TDREND_MaxITD[0]; - MaxITDIncr = TDREND_MaxITD_Incr[0]; - break; - case 32000: - MaxITD = TDREND_MaxITD[1]; - MaxITDIncr = TDREND_MaxITD_Incr[1]; - break; - case 48000: - MaxITD = TDREND_MaxITD[2]; - MaxITDIncr = TDREND_MaxITD_Incr[2]; - break; - } - - if ( SfxSpatBin_p->OpMode == SFX_TRANSIENT ) - { - /* The number of samples after which the ITD and HR-filters should have been reset. */ - SfxSpatBin_p->TransientTime = (int16_t) SfxSpatBin_p->MaxTargetTime; - } - - /* Set FirstUpdate to FALSE, which makes SFX_SPAT_BIN_UpdateParams to start updating the parameters. */ - SfxSpatBin_p->FirstUpdate = FALSE; - - /* Update TargetTime */ - if ( SfxSpatBin_p->OpMode == SFX_TRANSIENT ) - { - /* Start turning off the effect */ - SfxSpatBin_p->TurningOffEffect = TRUE; - /* Stop turning on the effect */ - SfxSpatBin_p->TurningOnEffect = FALSE; - /* Use the transient time instead of the target time */ - SfxSpatBin_p->TargetTime = (int16_t) SfxSpatBin_p->MaxTargetTime; - } - else - { - if ( SfxSpatBin_p->TurningOffEffect == FALSE ) - { - /* The effect is already off. Use the target time. */ - SfxSpatBin_p->TargetTime = (int16_t) SfxSpatBin_p->TotNoOfOutputSamples; - } - else if ( SfxSpatBin_p->TotNoOfOutputSamples > SfxSpatBin_p->TargetTime ) - { - /* The effect has already been turned off or will be turned off now. */ - /* If SfxSpatBin_p->TargetTime > SfxSpatBin_p->TotNoOfOutputSamples then continue */ - /* with SfxSpatBin_p->TargetTime. */ - SfxSpatBin_p->TargetTime = (int16_t) SfxSpatBin_p->TotNoOfOutputSamples; - } - } - - /* Restart the counting of output samples */ - SfxSpatBin_p->TotNoOfOutputSamples = 0; - - /* 1. Calculate the new ITD increment. Here the half ITD increment is calculated due to that */ - /* half of it should be applied on the left channel and half on the right channel. */ - /* if (SfxSpatBin_p->TurnedOn == FALSE) */ - if ( SfxSpatBin_p->OpMode == SFX_OFF ) - { - /* The effect has already been turned off */ - SfxSpatBin_p->ItdIncrForResampling = ( 0.0f - ( SfxSpatBin_p->NoOfRightOldBufferSamples - - ( SfxSpatBin_p->NoOfLeftOldBufferSamples - SfxSpatBin_p->Left_Tf ) ) ) / - SfxSpatBin_p->TargetTime / 2.0f; - - /* Check that ItdIncrForResampling is within limits */ - if ( SfxSpatBin_p->ItdIncrForResampling > MaxITDIncr ) - { -#ifdef DEBUGGING - printf( "ItdIncrForResampling too large: %f > %f\n", SfxSpatBin_p->ItdIncrForResampling, MaxITDIncr ); - printf( " ParamsOff : TargetTime = %5d\n", SfxSpatBin_p->TargetTime ); -#endif - SfxSpatBin_p->ItdIncrForResampling = MaxITDIncr; - } - else if ( SfxSpatBin_p->ItdIncrForResampling < ( -MaxITDIncr ) ) - { -#ifdef DEBUGGING - printf( "ItdIncrForResampling too small: %f < %f\n", SfxSpatBin_p->ItdIncrForResampling, ( -MaxITDIncr ) ); -#endif - SfxSpatBin_p->ItdIncrForResampling = ( -MaxITDIncr ); - } - } - else /*if (SfxSpatBin_p->TurnedOn == TRUE && NewParam_p->TurnOn == FALSE) */ - { - /* The effect is about to be turned off */ - SfxSpatBin_p->ItdIncrForResampling = ( 0.0f - ( SfxSpatBin_p->NoOfRightOldBufferSamples - - ( SfxSpatBin_p->NoOfLeftOldBufferSamples - SfxSpatBin_p->Left_Tf ) ) ) / - SfxSpatBin_p->TransientTime / 2.0f; - - /* Check that ItdIncrForResampling is within limits */ - if ( SfxSpatBin_p->ItdIncrForResampling > MaxITDIncr ) - { -#ifdef DEBUGGING - printf( "ItdIncrForResampling too large: %f > %f\n", SfxSpatBin_p->ItdIncrForResampling, MaxITDIncr ); - printf( " ParamsOff : TransientTime = %5d\n", SfxSpatBin_p->TransientTime ); -#endif - SfxSpatBin_p->ItdIncrForResampling = MaxITD; - } - else if ( SfxSpatBin_p->ItdIncrForResampling < ( -MaxITDIncr ) ) - { -#ifdef DEBUGGING - printf( "ItdIncrForResampling too small: %f < %f\n", SfxSpatBin_p->ItdIncrForResampling, ( -MaxITDIncr ) ); -#endif - SfxSpatBin_p->ItdIncrForResampling = ( -MaxITDIncr ); - } - - /* 2. Calculate the HR-filter increments. Includes the left and right volume. */ - LeftFilterIncr_p = SfxSpatBin_p->LeftFilterIncr_p; - RightFilterIncr_p = SfxSpatBin_p->RightFilterIncr_p; - - *LeftFilterIncr_p++ = ( 0.5f - SfxSpatBin_p->LeftFilter_p[0] ) / SfxSpatBin_p->TransientTime; - *RightFilterIncr_p++ = ( 0.5f - SfxSpatBin_p->RightFilter_p[0] ) / SfxSpatBin_p->TransientTime; - - for ( i = 1; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilterIncr_p++ = ( 0.0f - SfxSpatBin_p->LeftFilter_p[i] ) / SfxSpatBin_p->TransientTime; - *RightFilterIncr_p++ = ( 0.0f - SfxSpatBin_p->RightFilter_p[i] ) / SfxSpatBin_p->TransientTime; - } - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_UpdateParams() - * - * Updates the ITD, HR-filters and volumes, - * which are to be used when processing the next data - * block. - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_UpdateParams( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const int32_t NoOfOutputSamples /* i : Number of output samples */ -) -{ - int16_t i; - float *LeftFilter_p, *RightFilter_p, *LeftFilterIncr_p, *RightFilterIncr_p; - - LeftFilter_p = SfxSpatBin_p->LeftFilter_p; - RightFilter_p = SfxSpatBin_p->RightFilter_p; - LeftFilterIncr_p = SfxSpatBin_p->LeftFilterIncr_p; - RightFilterIncr_p = SfxSpatBin_p->RightFilterIncr_p; - - /* 1. Update the total number of output samples that has been rendered since the */ - /* last ARM update. This value is zeroed in the SetParams function. */ - SfxSpatBin_p->TotNoOfOutputSamples = SfxSpatBin_p->TotNoOfOutputSamples + NoOfOutputSamples; - if ( SfxSpatBin_p->TotNoOfOutputSamples > SfxSpatBin_p->MaxTargetTime ) - { - /* We need to limit TotNoOfOutputSamples in order to avoid wrap around as well */ - /* as when it is used in SetParams its maximum allowed value is MaxTargetTime. */ - SfxSpatBin_p->TotNoOfOutputSamples = SfxSpatBin_p->MaxTargetTime; - } - - /* No need to update if FirstUpdate is not true. All increments are zero. */ - if ( SfxSpatBin_p->FirstUpdate == FALSE ) - { - SfxSpatBin_p->TargetTime -= (int16_t) NoOfOutputSamples; - if ( SfxSpatBin_p->TargetTime < 0 ) - { - /* This is instead of using sub with saturation in order to */ - /* avoid wrap around. */ - SfxSpatBin_p->TargetTime = -1; - } - - if ( SfxSpatBin_p->TurningOffEffect == TRUE ) - { - SfxSpatBin_p->TransientTime -= (int16_t) NoOfOutputSamples; - if ( SfxSpatBin_p->TransientTime <= 0 ) - { - /* The effect has now been turned off */ - - SfxSpatBin_p->ItdIncrForResampling = 0.0; - - /* Set the default HR-filters */ - /* - SfxSpatBin_p->LeftFilter[0] = 0.5; - SfxSpatBin_p->RightFilter[0] = 0.5; - for (i = 1; i < SfxSpatBin_p->FilterLength; i++) - { - SfxSpatBin_p->LeftFilter[i] = 0.0; - SfxSpatBin_p->RightFilter[i] = 0.0; - }*/ - - *LeftFilter_p++ = 0.5; - *RightFilter_p++ = 0.5; - for ( i = 1; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilter_p++ = 0.0; - *RightFilter_p++ = 0.0; - } - - /* Put HR-filter increments to zero */ - /* - for (i = 0; i < SfxSpatBin_p->FilterLength; i++) - { - SfxSpatBin_p->LeftFilterIncr[i] = 0.0; - SfxSpatBin_p->RightFilterIncr[i] = 0.0; - }*/ - - for ( i = 0; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilterIncr_p++ = 0.0; - *RightFilterIncr_p++ = 0.0; - } - - /* The effect is now off */ - SfxSpatBin_p->TurningOffEffect = FALSE; - } - } - - /* 2. Check whether increments should continue to be updated. */ - if ( SfxSpatBin_p->TargetTime < 0 ) - { - /* Put ItdIncrForResampling to zero if TargetTime<0 */ - SfxSpatBin_p->ItdIncrForResampling = 0.0; - /* The effect has been turned on if it was being turned on */ - SfxSpatBin_p->TurningOnEffect = FALSE; - } - else - { - /* 3. Update the HR-filters. */ - /* Don't update if the effect is off. */ - if ( SfxSpatBin_p->OpMode == SFX_TRANSIENT || SfxSpatBin_p->TurningOffEffect == TRUE ) - { - /* - for (i = 0; i < SfxSpatBin_p->FilterLength; i++) - { - SfxSpatBin_p->LeftFilter[i] += SfxSpatBin_p->LeftFilterIncr[i] * NoOfOutputSamples; - SfxSpatBin_p->RightFilter[i] += SfxSpatBin_p->RightFilterIncr[i] * NoOfOutputSamples; - }*/ - - for ( i = 0; i < SfxSpatBin_p->FilterLength; i++ ) - { - *LeftFilter_p++ += ( *LeftFilterIncr_p++ ) * NoOfOutputSamples; - *RightFilter_p++ += ( *RightFilterIncr_p++ ) * NoOfOutputSamples; - } - } - } - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_Execute_Main() - * - * The main rendering function that is called from the Audio Mixer. - --------------------------------------------------------------------*/ - -void TDREND_SFX_SpatBin_Execute_Main( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const float *InBuffer_p, /* i : Input buffer */ - const int16_t subframe_length, /* i : subframe length */ - float *LeftOutBuffer_p, /* o : Rendered left channel */ - float *RightOutBuffer_p, /* o : Rendered right channel */ - int16_t *NoOfUsedInputSamples_p, /* o : Number of input samples actually used */ - int16_t *NoOfDeliveredOutputSamples_p, /* o : Number of output samples actually rendered */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i; - const float *InBufferPointer_p; - float *LeftOutBufferPointer_p, *RightOutBufferPointer_p; - int16_t TempNoOfRequestedOutputSamples, TempNoOfUsedInputSamples, TempNoOfDeliveredOutputSamples; - int16_t TempNoOfInputSamples; - int16_t NoOfBlocks; - - /* Make sure the blocks are not longer than 6 msec. */ - - NoOfBlocks = 1; - TempNoOfRequestedOutputSamples = subframe_length; - while ( TempNoOfRequestedOutputSamples > SfxSpatBin_p->MaxBlockLength ) - { - NoOfBlocks = NoOfBlocks << 1; - /* Shift with rounding */ - TempNoOfRequestedOutputSamples = ( TempNoOfRequestedOutputSamples >> 1 ) + ( TempNoOfRequestedOutputSamples & 1 ); - } - - /* Divide the output_frame into NoOfBlocks blocks. */ - InBufferPointer_p = InBuffer_p; - LeftOutBufferPointer_p = LeftOutBuffer_p; - RightOutBufferPointer_p = RightOutBuffer_p; - *NoOfUsedInputSamples_p = 0; - *NoOfDeliveredOutputSamples_p = 0; - TempNoOfInputSamples = subframe_length; - - for ( i = 0; i < NoOfBlocks; i++ ) - { - /* The effect is not being turned off or on. Normal rendering. */ - if ( SfxSpatBin_p->TargetTime < TempNoOfRequestedOutputSamples ) - { - /* Put ITD increment to zero. This prevents the ITD to become too large. */ - SfxSpatBin_p->ItdIncrForResampling = 0.0; - } - - TDREND_SFX_SpatBin_Execute( SfxSpatBin_p, InBufferPointer_p, -#ifdef DEBUGGING - TempNoOfInputSamples, -#endif - TempNoOfRequestedOutputSamples, LeftOutBufferPointer_p, RightOutBufferPointer_p, &TempNoOfUsedInputSamples, &TempNoOfDeliveredOutputSamples, output_Fs ); - - /* DSP update */ - TDREND_SFX_SpatBin_UpdateParams( SfxSpatBin_p, TempNoOfDeliveredOutputSamples ); - - /* Update the temp pointers */ - InBufferPointer_p += TempNoOfUsedInputSamples; - LeftOutBufferPointer_p += TempNoOfDeliveredOutputSamples; - RightOutBufferPointer_p += TempNoOfDeliveredOutputSamples; - - *NoOfDeliveredOutputSamples_p = *NoOfDeliveredOutputSamples_p + TempNoOfDeliveredOutputSamples; - if ( i == NoOfBlocks - 2 ) - { - /* The last block should produce the remaining number of samples */ - TempNoOfRequestedOutputSamples = subframe_length - *NoOfDeliveredOutputSamples_p; - } - *NoOfUsedInputSamples_p = *NoOfUsedInputSamples_p + TempNoOfUsedInputSamples; - TempNoOfInputSamples = TempNoOfInputSamples - TempNoOfUsedInputSamples; - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_Execute() - * - * Run renderer for one block - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_Execute( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const float *InBuffer_p, /* i : Input buffer */ -#ifdef DEBUGGING - const int16_t NoOfInputSamples, /* i : Length of input buffer */ -#endif - const int16_t NoOfRequestedOutputSamples, /* i : Length of output */ - float *LeftOutBuffer_p, /* o : Rendered left channel */ - float *RightOutBuffer_p, /* o : Rendered right channel */ - int16_t *NoOfUsedInputSamples_p, /* o : Number of input samples actually used */ - int16_t *NoOfDeliveredOutputSamples_p, /* o : Number of output samples actually rendered */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i = 0; - int16_t NoOfInputSamplesForLeft, NoOfInputSamplesForRight; - float TotalLeftFlp; - int16_t NoOfSamplesToCopy, Ind; - - /* 1. Calculate the resampling factors for the left channel. */ - TotalLeftFlp = 1.0f + 2.0f * SfxSpatBin_p->ItdIncrForResampling; - - /* 2. Calculate the number of input samples needed for the left and right channel. */ - NoOfInputSamplesForLeft = 2 * SFX_SPAT_BIN_SINC_M - SfxSpatBin_p->NoOfLeftOldBufferSamples + - (int16_t) ( SfxSpatBin_p->Left_Tf + TotalLeftFlp * ( NoOfRequestedOutputSamples - 1 ) ); - - switch ( output_Fs ) - { - case 16000: - i = 0; - break; - case 32000: - i = 1; - break; - case 48000: - i = 2; - break; - } - NoOfInputSamplesForRight = NoOfRequestedOutputSamples + SFX_SPAT_BIN_SINC_M - 1 + TDREND_MaxITD[i] - - SfxSpatBin_p->NoOfRightOldBufferSamples; - /* Set the number of used Input samples to the maximum. */ - if ( NoOfInputSamplesForLeft > NoOfInputSamplesForRight ) - { - *NoOfUsedInputSamples_p = NoOfInputSamplesForLeft; - } - else - { - *NoOfUsedInputSamples_p = NoOfInputSamplesForRight; - } - /* Set the number of used input samples to zero if it is negative. */ - if ( *NoOfUsedInputSamples_p < 0 ) - { -#ifdef DEBUGGING - printf( "2. *NoOfUsedInputSamples_p < 0\n" ); -#endif - *NoOfUsedInputSamples_p = 0; - } - -#ifdef DEBUGGING - /* The following should never happen */ - if ( *NoOfUsedInputSamples_p > NoOfInputSamples ) - { - printf( "2. *NoOfUsedInputSamples_p > NoInputSamples %d %d \n", *NoOfUsedInputSamples_p, NoOfInputSamples ); - } -#endif - - *NoOfDeliveredOutputSamples_p = NoOfRequestedOutputSamples; - - /* 3. Resample the left channel. */ - TDREND_SFX_SpatBin_Resampling( InBuffer_p, - *NoOfUsedInputSamples_p, - &( SfxSpatBin_p->ResampledBufferLeft[SfxSpatBin_p->FilterLength - 1] ), - *NoOfDeliveredOutputSamples_p, - SfxSpatBin_p->LeftOldBuffer, - &( SfxSpatBin_p->NoOfLeftOldBufferSamples ), - TotalLeftFlp, - &( SfxSpatBin_p->Left_Tf ) ); - - /* 4. Prepare the right input buffer for the HR-filtering. */ - NoOfSamplesToCopy = SfxSpatBin_p->NoOfRightOldBufferSamples - ( SFX_SPAT_BIN_SINC_M - 1 ); - if ( NoOfSamplesToCopy > *NoOfDeliveredOutputSamples_p ) - { - NoOfSamplesToCopy = *NoOfDeliveredOutputSamples_p; - } - - for ( i = 0; i < NoOfSamplesToCopy; i++ ) - { - SfxSpatBin_p->ResampledBufferRight[SfxSpatBin_p->FilterLength - 1 + i] = - SfxSpatBin_p->RightOldBuffer[( SFX_SPAT_BIN_SINC_M - 1 ) + i]; - } - - for ( i = NoOfSamplesToCopy; i < *NoOfDeliveredOutputSamples_p; i++ ) - { - SfxSpatBin_p->ResampledBufferRight[SfxSpatBin_p->FilterLength - 1 + i] = - InBuffer_p[i - SfxSpatBin_p->NoOfRightOldBufferSamples + ( SFX_SPAT_BIN_SINC_M - 1 )]; - } - - /* 5. HR-filtering on the left and right channel. */ -#ifdef TDREND_HRTF_TABLE_METHODS - if ( SfxSpatBin_p->HrFilterInterpOn ) - { - TDREND_FirFilterRevInterp( LeftOutBuffer_p, - SfxSpatBin_p->LeftFilter_p, - SfxSpatBin_p->FilterLength, - SfxSpatBin_p->ResampledBufferLeft, - *NoOfDeliveredOutputSamples_p, - SfxSpatBin_p->LeftFilterStored ); - TDREND_FirFilterRevInterp( RightOutBuffer_p, - SfxSpatBin_p->RightFilter_p, - SfxSpatBin_p->FilterLength, - SfxSpatBin_p->ResampledBufferRight, - *NoOfDeliveredOutputSamples_p, - SfxSpatBin_p->RightFilterStored ); - } - else - { - /* First time - filter without interpolation, and set filter to use as previous. */ - TDREND_FirFilterRev( LeftOutBuffer_p, - SfxSpatBin_p->LeftFilter_p, - SfxSpatBin_p->FilterLength, - SfxSpatBin_p->ResampledBufferLeft, - *NoOfDeliveredOutputSamples_p ); - TDREND_FirFilterRev( RightOutBuffer_p, - SfxSpatBin_p->RightFilter_p, - SfxSpatBin_p->FilterLength, - SfxSpatBin_p->ResampledBufferRight, - *NoOfDeliveredOutputSamples_p ); - for ( i = 0; i < SfxSpatBin_p->FilterLength; i++ ) - { - SfxSpatBin_p->LeftFilterStored[i] = SfxSpatBin_p->LeftFilter_p[i]; - SfxSpatBin_p->RightFilterStored[i] = SfxSpatBin_p->RightFilter_p[i]; - } - } -#else - TDREND_FirFilterRev( LeftOutBuffer_p, - SfxSpatBin_p->LeftFilter_p, - SfxSpatBin_p->FilterLength, - SfxSpatBin_p->ResampledBufferLeft, - *NoOfDeliveredOutputSamples_p ); - TDREND_FirFilterRev( RightOutBuffer_p, - SfxSpatBin_p->RightFilter_p, - SfxSpatBin_p->FilterLength, - SfxSpatBin_p->ResampledBufferRight, - *NoOfDeliveredOutputSamples_p ); -#endif - - /* Store the samples needed for next block */ - Ind = *NoOfDeliveredOutputSamples_p - SfxSpatBin_p->NoOfRightOldBufferSamples; - if ( Ind < 0 ) - { - /* Must store some samples from the OldBuffer */ - for ( i = Ind; i < 0; i++ ) - { - SfxSpatBin_p->RightOldBuffer[i - Ind] = SfxSpatBin_p->RightOldBuffer[i + SfxSpatBin_p->NoOfRightOldBufferSamples]; - } - - /* Store all samples in the InputBuffer that has been used by either channel */ - for ( i = 0; i < *NoOfUsedInputSamples_p; i++ ) - { - SfxSpatBin_p->RightOldBuffer[i - Ind] = InBuffer_p[i]; - } - } - else - { - /* Store samples from the InputBuffer */ - for ( i = Ind; i < *NoOfUsedInputSamples_p; i++ ) - { - SfxSpatBin_p->RightOldBuffer[i - Ind] = InBuffer_p[i]; - } - } - - /* Update number of old samples */ - SfxSpatBin_p->NoOfRightOldBufferSamples = *NoOfUsedInputSamples_p - Ind; - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_Initialize() - * - * Initializes the spatial parameters struct - * - --------------------------------------------------------------------*/ - -ivas_error TDREND_SFX_SpatBin_Initialize( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const int32_t output_Fs /* i : Output sampling rate */ -) -{ - int16_t i; - - SfxSpatBin_p->OpMode = SFX_OFF; - SfxSpatBin_p->TurningOffEffect = FALSE; - SfxSpatBin_p->TurningOnEffect = FALSE; - /* Init during next SetParams-call */ - SfxSpatBin_p->InitializeParams = TRUE; -#ifdef FIX_I81 - SfxSpatBin_p->LeftFilter_p = NULL; - SfxSpatBin_p->LeftFilterIncr_p = NULL; - SfxSpatBin_p->RightFilter_p = NULL; - SfxSpatBin_p->RightFilterIncr_p = NULL; -#endif - - /* Init MaxTargetTime and MaxBlockLength */ - switch ( output_Fs ) - { - case 16000: - SfxSpatBin_p->MaxTargetTime = TDREND_SRC_REND_MaxTargetTimes[0]; - SfxSpatBin_p->MaxBlockLength = TDREND_SRC_REND_MaxBlockLengths[0]; - SfxSpatBin_p->LeftOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0] ) * sizeof( float ) ); - SfxSpatBin_p->RightOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0] ) * sizeof( float ) ); - /* Fill old buffers with zeros */ - for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[0]; i++ ) - { - SfxSpatBin_p->LeftOldBuffer[i] = 0.0f; - SfxSpatBin_p->RightOldBuffer[i] = 0.0f; - } - break; - case 32000: - SfxSpatBin_p->MaxTargetTime = TDREND_SRC_REND_MaxTargetTimes[1]; - SfxSpatBin_p->MaxBlockLength = TDREND_SRC_REND_MaxBlockLengths[1]; - SfxSpatBin_p->LeftOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1] ) * sizeof( float ) ); - SfxSpatBin_p->RightOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1] ) * sizeof( float ) ); - /* Fill old buffers with zeros */ - for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[1]; i++ ) - { - SfxSpatBin_p->LeftOldBuffer[i] = 0.0f; - SfxSpatBin_p->RightOldBuffer[i] = 0.0f; - } - break; - case 48000: - SfxSpatBin_p->MaxTargetTime = TDREND_SRC_REND_MaxTargetTimes[2]; - SfxSpatBin_p->MaxBlockLength = TDREND_SRC_REND_MaxBlockLengths[2]; - SfxSpatBin_p->LeftOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2] ) * sizeof( float ) ); - SfxSpatBin_p->RightOldBuffer = count_malloc( ( SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2] ) * sizeof( float ) ); - /* Fill old buffers with zeros */ - for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * TDREND_MaxITD[2]; i++ ) - { - SfxSpatBin_p->LeftOldBuffer[i] = 0.0f; - SfxSpatBin_p->RightOldBuffer[i] = 0.0f; - } - break; -#ifdef DEBUGGING - default: - IVAS_ERROR( IVAS_ERR_WRONG_PARAMS, "Error: Unrecognised output_Fs in TDREND_SFX_SpatBin_Initialize()" ); -#endif - } - - /* Fill the beginning of the resampled buffers with zeros */ - for ( i = 0; i < SFX_SPAT_BIN_MAX_FILTER_LENGTH; i++ ) - { - SfxSpatBin_p->ResampledBufferLeft[i] = 0.0f; - SfxSpatBin_p->ResampledBufferRight[i] = 0.0f; - } - - return IVAS_ERR_OK; -} - - -/*-------------------------------------------------------------------* - * TDREND_SFX_SpatBin_Clear() - * - * Clear spatial parameters - * - --------------------------------------------------------------------*/ - -static void TDREND_SFX_SpatBin_Clear( - SFX_SpatBin_t *SfxSpatBin_p, /* i/o: Spatial parameters struct */ - const int32_t output_Fs /* i : Output sample rate */ -) -{ - int16_t i; - int16_t MaxITD = TDREND_MaxITD[2]; - - SfxSpatBin_p->OpMode = SFX_OFF; - SfxSpatBin_p->TurningOffEffect = FALSE; - SfxSpatBin_p->TurningOnEffect = FALSE; - - /* Init during next SetParams-call */ - SfxSpatBin_p->InitializeParams = TRUE; - - /* Fill old buffers with zeros */ - switch ( output_Fs ) - { - case 16000: - MaxITD = TDREND_MaxITD[0]; - break; - case 32000: - MaxITD = TDREND_MaxITD[1]; - break; - case 48000: - MaxITD = TDREND_MaxITD[2]; - break; - } - for ( i = 0; i < SFX_SPAT_BIN_SINC_M * 4 + 2 * MaxITD; i++ ) - { - SfxSpatBin_p->LeftOldBuffer[i] = 0.0f; - SfxSpatBin_p->RightOldBuffer[i] = 0.0f; - } - /* Fill the beginning of the resampled buffers with zeros */ - for ( i = 0; i < SFX_SPAT_BIN_MAX_FILTER_LENGTH; i++ ) - { - SfxSpatBin_p->ResampledBufferLeft[i] = 0.0f; - SfxSpatBin_p->ResampledBufferRight[i] = 0.0f; - } - - return; -} - - -/*-------------------------------------------------------------------* - * TDREND_FirFilterRev() - * - * FIR filtering function with reversed filter sequence. - * The FIR filter seqeunce is reversed, i.e. - * FirFilterRev(n) = FirFilter(N-1-n) for n=0:N-1 - * The first N-1 samples of the input buffer store the last N-1 - * samples from the previous input buffer. - * - --------------------------------------------------------------------*/ - -static void TDREND_FirFilterRev( - float *OutputFrame_p, /* o : Filtered samples */ - float *FirFilterRev_p, /* i/o: Reversed FIR filter */ - const int16_t FirFilterLength, /* i : Filter length */ - float *InputFrame_p, /* i : Input samples */ - const int16_t NumOfSamples /* i : Number of input samples */ -) -{ - /* In this function we assume that the last FirFilterLength-1 samples from */ - /* the previous InputBuffer starts this new InputBuffer. */ - int16_t n, k; - int16_t FirFilterLengthMinusOne; - float Acc; - float *InputBuffer_nk_p, *InputBuffer_n_p, *FirFilterRev_k_p, *OutputBuffer_n_p; - - FirFilterLengthMinusOne = FirFilterLength - 1; - - /* 1. Filter the input buffer. NOTE: Reversed filter sequence */ - InputBuffer_n_p = InputFrame_p; - OutputBuffer_n_p = OutputFrame_p; - - for ( n = NumOfSamples; n > 0; n-- ) - { - - Acc = 0.0f; - FirFilterRev_k_p = FirFilterRev_p; - InputBuffer_nk_p = InputBuffer_n_p; - - for ( k = FirFilterLength; k > 0; k-- ) - { - Acc += *( FirFilterRev_k_p++ ) * *( InputBuffer_nk_p++ ); - } - - InputBuffer_n_p++; - *( OutputBuffer_n_p++ ) = Acc; - } - - /* 2. Copy the last FirFilterLength-1 samples of the InputFrame to the beginning of the InputFrame */ - mvr2r( InputFrame_p + NumOfSamples, InputFrame_p, FirFilterLengthMinusOne ); - - return; -} - -#ifdef TDREND_HRTF_TABLE_METHODS -/*-------------------------------------------------------------------* - * TDREND_FirFilterRevInterp() - * - * FIR filtering function with reversed filter sequence. - * The FIR filter seqeunce is reversed, i.e. - * FirFilterRev(n) = FirFilter(N-1-n) for n=0:N-1 - * The first N-1 samples of the input buffer store the last N-1 - * samples from the previous input buffer. - * - --------------------------------------------------------------------*/ - -static void TDREND_FirFilterRevInterp( - float *OutputFrame_p, /* o : Filtered samples */ - float *FirFilterRev_p, /* i/o: Reversed FIR filter */ - const int16_t FirFilterLength, /* i : Filter length */ - float *InputFrame_p, /* i : Input samples */ - const int16_t NumOfSamples, /* i : Number of input samples */ - float *FilterStored /* i/o: Old filter memory for interpolation */ -) -{ - /* In this function we assume that the last FirFilterLength-1 samples from */ - /* the previous InputBuffer starts this new InputBuffer. */ - int16_t n, k; - int16_t FirFilterLengthMinusOne; - float Acc1; - float Acc2; - - float *InputBuffer_nk_p, *InputBuffer_n_p, *FirFilterRev_k_p, *OutputBuffer_n_p; - float interpFactor, interpComplement; - float *FilterStored_n_p; - float inv_NumOfSamples; - - FirFilterLengthMinusOne = FirFilterLength - 1; - inv_NumOfSamples = 1.0f / NumOfSamples; - - /* 1. Filter the input buffer */ - /* NOTE: Reversed filter sequence */ - InputBuffer_n_p = InputFrame_p; - OutputBuffer_n_p = OutputFrame_p; - - interpFactor = 1.0f; - interpComplement = 0.0f; - for ( n = NumOfSamples; n > 0; n-- ) - { - - Acc1 = 0.0f; - Acc2 = 0.0f; - FirFilterRev_k_p = FirFilterRev_p; - FilterStored_n_p = FilterStored; - InputBuffer_nk_p = InputBuffer_n_p; - - for ( k = FirFilterLength; k > 0; k-- ) - { - Acc1 += *( FirFilterRev_k_p++ ) * *( InputBuffer_nk_p ); - Acc2 += *( FilterStored_n_p++ ) * *( InputBuffer_nk_p++ ); - } - - InputBuffer_n_p++; - *( OutputBuffer_n_p++ ) = Acc1 * interpComplement + Acc2 * interpFactor; - interpFactor -= inv_NumOfSamples; - interpComplement += inv_NumOfSamples; - } - - /* Store the old filter for interpolation next time */ - for ( k = 0; k < FirFilterLength; k++ ) - { - FilterStored[k] = FirFilterRev_p[k]; - } - - /* 2. Copy the last FirFilterLength-1 samples of the InputFrame to */ - /* the beginning of the InputFrame */ - mvr2r( InputFrame_p + NumOfSamples, InputFrame_p, FirFilterLengthMinusOne ); - - return; -} -#endif -#endif -#ifdef FIX_ITD /*---------------------------------------------------------------------* * TDREND_Apply_ITD() * @@ -1678,4 +270,3 @@ void TDREND_firfilt( return; } -#endif diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index fa645f1492..ccb5ef2aad 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -50,14 +50,7 @@ static void TDREND_SRC_SPATIAL_SetDirAtten( TDREND_SRC_SPATIAL_t *SrcSpatial_p, static float TDREND_SRC_SPATIAL_GetDirGain( const TDREND_DirAtten_t *DirAtten_p, const float *Front_p, const float *RelPos_p ); static float TDREND_SRC_SPATIAL_GetDistGain( const TDREND_DistAtten_t *DistAtten_p, const float Dist ); static ivas_error TDREND_SRC_REND_Alloc( TDREND_SRC_REND_t **SrcRend_pp ); -#ifndef FIX_ITD -static void TDREND_SRC_REND_Dealloc( TDREND_SRC_REND_t *SrcRend_p ); -#endif -#ifdef FIX_ITD static void TDREND_SRC_REND_Init( TDREND_SRC_REND_t *SrcRend_p ); -#else -static void TDREND_SRC_REND_Init( TDREND_SRC_REND_t *SrcRend_p, const int32_t output_Fs ); -#endif /*-------------------------------------------------------------------* * TDREND_MIX_SRC_SetPos() @@ -197,70 +190,11 @@ static ivas_error TDREND_SRC_REND_Alloc( { return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "SrcRend_p allocation error\n" ) ); } -#ifndef FIX_ITD - /* Allocate the HR filtering structures */ - SrcRend_p->SfxSpatBin_p = (SFX_SpatBin_t *) count_malloc( SPAT_BIN_MAX_INPUT_CHANNELS * sizeof( SFX_SpatBin_t ) ); - if ( SrcRend_p->SfxSpatBin_p == NULL ) - { - return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "SrcRend_p->SfxSpatBin_p allocation error\n" ) ); - } -#endif *SrcRend_pp = SrcRend_p; return IVAS_ERR_OK; } -#ifndef FIX_ITD -/*-------------------------------------------------------------------* - * TDREND_SRC_REND_Dealloc() - * - * Deallocate rendering aspects of source. - --------------------------------------------------------------------*/ - -static void TDREND_SRC_REND_Dealloc( - TDREND_SRC_REND_t *SrcRend_p /* i/o: Source object */ -) -{ - if ( SrcRend_p == NULL ) - { - return; - } - if ( SrcRend_p->SfxSpatBin_p->LeftOldBuffer != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p->LeftOldBuffer ); - } - if ( SrcRend_p->SfxSpatBin_p->RightOldBuffer != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p->RightOldBuffer ); - } - if ( SrcRend_p->SfxSpatBin_p->LeftFilter_p != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p->LeftFilter_p ); - } - if ( SrcRend_p->SfxSpatBin_p->LeftFilterIncr_p != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p->LeftFilterIncr_p ); - } - if ( SrcRend_p->SfxSpatBin_p->RightFilter_p != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p->RightFilter_p ); - } - if ( SrcRend_p->SfxSpatBin_p->RightFilterIncr_p != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p->RightFilterIncr_p ); - } - if ( SrcRend_p->SfxSpatBin_p != NULL ) - { - count_free( SrcRend_p->SfxSpatBin_p ); - } - - /* Free the SrcRend_p variable */ - count_free( SrcRend_p ); - SrcRend_p = NULL; - - return; -} -#endif /*-------------------------------------------------------------------* * TDREND_SRC_REND_Init() @@ -269,12 +203,7 @@ static void TDREND_SRC_REND_Dealloc( --------------------------------------------------------------------*/ static void TDREND_SRC_REND_Init( -#ifdef FIX_ITD TDREND_SRC_REND_t *SrcRend_p /* i/o: Source object */ -#else - TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif ) { int16_t nC; @@ -302,13 +231,6 @@ static void TDREND_SRC_REND_Init( SrcRend_p->DistGain_p[nC] = 1.0f; } -#ifndef FIX_ITD - /* Init the SfxSpatBin structs. One per channel. Default is effect turned off. */ - for ( nC = 0; nC < SPAT_BIN_MAX_INPUT_CHANNELS; nC++ ) - { - TDREND_SFX_SpatBin_Initialize( SrcRend_p->SfxSpatBin_p + nC, output_Fs ); - } -#endif return; } @@ -324,7 +246,6 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ -#ifdef FIX_ITD float *hrf_left_prev, /* o: Left filter */ float *hrf_right_prev, /* o: Right filter */ float *hrf_left_delta, /* o: Left filter interpolation delta */ @@ -335,51 +256,22 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( float *Gain, /* o: Gain value */ TDREND_SRC_t *Src_p, /* i/o: Source pointer */ const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ -#else - const int32_t output_Fs /* i : Output sampling rate */ -#endif ) { TDREND_MIX_Listener_t *Listener_p; TDREND_HRFILT_FiltSet_t *HrFiltSet_p; -#ifndef FIX_ITD - SFX_SpatBin_t *SfxSpatBin_p; - SFX_SpatBin_Params_t SfxSpatBinParams; -#endif float ListRelPos[3], ListRelDist; -#ifndef FIX_ITD - float Gain; -#endif float Azim, Elev; -#ifndef FIX_ITD - int16_t mem_size; -#else float hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; float hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; float azim_delta; float elev_delta; -#endif /* Evaluate the HR filters from the source and listener positions and orientations */ Listener_p = hBinRendererTd->Listener_p; HrFiltSet_p = hBinRendererTd->HrFiltSet_p; -#ifdef FIX_ITD *filterlength = HrFiltSet_p->FiltLength; -#else - SfxSpatBinParams.LeftFilter_p = NULL; - SfxSpatBinParams.RightFilter_p = NULL; - - mem_size = (int16_t) ( HrFiltSet_p->FiltLength * sizeof( float ) ); - - SfxSpatBin_p = SrcRend_p->SfxSpatBin_p; - SfxSpatBinParams.TurnOn = TRUE; - SfxSpatBinParams.Reset = FALSE; - - SfxSpatBinParams.FilterLength = HrFiltSet_p->FiltLength; - SfxSpatBinParams.LeftFilter_p = (float *) count_malloc( mem_size ); - SfxSpatBinParams.RightFilter_p = (float *) count_malloc( mem_size ); -#endif /* 1. Map source pos to the coordinate system of the listener */ switch ( SrcSpatial_p->PosType ) @@ -416,11 +308,7 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( Azim = -1.0f * _180_OVER_PI * (float) atan2f( ListRelPos[1], ListRelPos[0] ); } -#ifdef FIX_ITD GetFilterFromAngle( HrFiltSet_p, Elev, Azim, hrf_left, hrf_right, itd ); -#else - GetFilterFromAngle( HrFiltSet_p, Elev, Azim, &SfxSpatBinParams ); -#endif /* 6. Evaluate the directional and distance gains */ /* Directional gain */ @@ -449,7 +337,6 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( } /* Update total gains */ -#ifdef FIX_ITD *Gain = ( *SrcRend_p->SrcGain_p ) * ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ) * hBinRendererTd->Gain; /* Delta for interpolation, in case the angular step exceeds MAX_ANGULAR_STEP */ @@ -477,27 +364,6 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( set_f( hrf_left_delta, 0.0f, *filterlength ); set_f( hrf_right_delta, 0.0f, *filterlength ); } -#else - Gain = ( *SrcRend_p->SrcGain_p ) * ( *SrcRend_p->DirGain_p ) * ( *SrcRend_p->DistGain_p ) * hBinRendererTd->Gain; - SfxSpatBinParams.LeftVolume = Gain; - SfxSpatBinParams.RightVolume = Gain; - - /* Reset source gain update flag (That update is now included in the total gain update) */ - SrcRend_p->SrcGainUpdated = FALSE; - - /* Update the rendering parameters of the SFX effect */ - TDREND_SFX_SpatBin_SetParams( SfxSpatBin_p, &SfxSpatBinParams, output_Fs ); - - if ( SfxSpatBinParams.LeftFilter_p != NULL ) - { - count_free( SfxSpatBinParams.LeftFilter_p ); - } - - if ( SfxSpatBinParams.RightFilter_p != NULL ) - { - count_free( SfxSpatBinParams.RightFilter_p ); - } -#endif return; } @@ -772,12 +638,8 @@ void TDREND_SRC_Dealloc( TDREND_SRC_SPATIAL_Dealloc( Src_p->SrcSpatial_p ); /* Delloc the TDREND_SRC_REND__t variable */ -#ifdef FIX_ITD count_free( Src_p->SrcRend_p ); Src_p->SrcRend_p = NULL; -#else - TDREND_SRC_REND_Dealloc( Src_p->SrcRend_p ); -#endif /* Free the Src_p variable */ count_free( Src_p ); @@ -795,12 +657,7 @@ void TDREND_SRC_Dealloc( void TDREND_SRC_Init( TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ -#ifdef FIX_ITD const TDREND_PosType_t PosType /* i : Position type specifier */ -#else - const TDREND_PosType_t PosType, /* i : Position type specifier */ - const int32_t output_Fs /* i : Output sampling rate */ -#endif ) { /* Init the TDREND_SRC_Spatial_t variable */ @@ -810,13 +667,8 @@ void TDREND_SRC_Init( } /* Init the TDREND_SRC_REND_t variable */ -#ifdef FIX_ITD TDREND_SRC_REND_Init( Src_p->SrcRend_p ); -#else - TDREND_SRC_REND_Init( Src_p->SrcRend_p, output_Fs ); -#endif -#ifdef FIX_ITD /* Reset memory buffers */ Src_p->itd = 0; Src_p->previtd = 0; @@ -832,7 +684,6 @@ void TDREND_SRC_Init( Src_p->azim_prev = 0.0f; Src_p->elev_prev = 0.0f; -#endif return; } diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 179b8214b5..e37d612042 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1516,27 +1516,6 @@ static ivas_error updateMcPanGains( return IVAS_ERR_OK; } -#ifndef FIX_ITD -#ifndef FIX_I81 -/* Fixes initialization issues in TD renderer. Fix to be merged with branch. - See issue: https://forge.3gpp.org/rep/ivas-codec-pc/ivas-codec/-/issues/81 */ -static void tmpFixBuggyTdBinRendInit( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd ) -{ - int16_t i, j; - - for ( i = 0; i < hBinRendererTd->NumOfSrcs; ++i ) - { - for ( j = 0; j < SPAT_BIN_MAX_INPUT_CHANNELS; ++j ) - { - hBinRendererTd->Sources[i]->SrcRend_p->SfxSpatBin_p[j].LeftFilter_p = NULL; - hBinRendererTd->Sources[i]->SrcRend_p->SfxSpatBin_p[j].LeftFilterIncr_p = NULL; - hBinRendererTd->Sources[i]->SrcRend_p->SfxSpatBin_p[j].RightFilter_p = NULL; - hBinRendererTd->Sources[i]->SrcRend_p->SfxSpatBin_p[j].RightFilterIncr_p = NULL; - } - } -} -#endif -#endif static ivas_error initMcBinauralRendering( input_mc *inputMc, @@ -1588,11 +1567,6 @@ static ivas_error initMcBinauralRendering( { return error; } -#ifndef FIX_ITD -#ifndef FIX_I81 - tmpFixBuggyTdBinRendInit( inputMc->tdRendWrapper.hBinRendererTd ); -#endif -#endif } { @@ -3700,9 +3674,6 @@ static ivas_error renderIsmToBinaural( ismInput->base.ctx.pHeadRotData, &ismInput->currentPos, outAudio.config.numSamplesPerChannel, -#ifndef FIX_ITD - *ismInput->base.ctx.pOutSampleRate, -#endif tmpTDRendBuffer ) ) != IVAS_ERR_OK ) { return error; @@ -4092,9 +4063,6 @@ static ivas_error renderMcToBinaural( mcInput->base.ctx.pHeadRotData, NULL, mcInput->base.inputBuffer.config.numSamplesPerChannel, -#ifndef FIX_ITD - *mcInput->base.ctx.pOutSampleRate, -#endif tmpRendBuffer ) ) != IVAS_ERR_OK ) { return error; diff --git a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c index 948da8a425..3727aeec5b 100644 --- a/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c +++ b/scripts/td_object_renderer/object_renderer_standalone/object_renderer_standalone/renderer_standalone.c @@ -115,9 +115,6 @@ int main( int argc, char *argv[] ) { int16_t nFrameLength; int16_t n, nS, nSamplesRead, i, j; -#ifndef FIX_ITD - int16_t offset; -#endif float *MixFrame; float output[MAX_CICP_CHANNELS][L_FRAME48k]; @@ -381,17 +378,13 @@ int main( int argc, char *argv[] ) { output[nS][n] = input_buff[nChannels * n + nS]; } -#ifdef FIX_ITD /* Pad to full frame length */ for ( ; n < nFrameLength; n++ ) { output[nS][n] = 0; } -#endif } -#ifdef FIX_ITD currFrameLength = nFrameLength; -#endif if ( st_ivas->ivas_format == ISM_FORMAT ) { @@ -447,32 +440,13 @@ int main( int argc, char *argv[] ) ivas_limiter_dec( st_ivas->hLimiter, output, st_ivas->hDecoderConfig->nchan_out, nFrameLength, FALSE ); -#ifndef FIX_ITD - /* Trim first frame to compensate for delay */ - if ( nFrameCount == 0 ) - { - offset = (int16_t) ( st_ivas->hDecoderConfig->output_Fs / 200 ); /* 240 samples for 48kHz etc */ - } - else - { - offset = 0; - } -#endif /* For Wav: Interleave, convert to int16_t */ -#ifdef FIX_ITD for ( n = 0; n < currFrameLength; n++ ) -#else - for ( n = 0; n < ( currFrameLength - offset ); n++ ) -#endif { for ( nS = 0; nS < NumLdspks; nS++ ) { -#ifdef FIX_ITD tmp = output[nS][n] + 0.5f * sign( output[nS][n] ); -#else - tmp = output[nS][n + offset] + 0.5f * sign( output[nS][n + offset] ); -#endif if ( tmp > MAX16B_FLT ) { tmp = MAX16B_FLT; @@ -486,11 +460,7 @@ int main( int argc, char *argv[] ) MixFrameWav[n * NumLdspks + nS] = (int16_t) ( tmp ); } } -#ifdef FIX_ITD fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength ) * NumLdspks, f_output ); -#else - fwrite( MixFrameWav, sizeof( int16_t ), ( currFrameLength - offset ) * NumLdspks, f_output ); -#endif nFrameCount++; -- GitLab From c1aa9197c31699149fd0e17688275c75854bd253 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:27:55 +0100 Subject: [PATCH 414/620] [cleanup] accept FIX_ISM_DECODER_PRINTOUT --- lib_com/bitstream.c | 12 ------------ lib_com/options.h | 1 - 2 files changed, 13 deletions(-) diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index a542a4f230..34c68d2540 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -1950,24 +1950,12 @@ ivas_error preview_indices( /* read number of objects from the bitstream */ st_ivas->nchan_transport = 1; -#ifdef FIX_ISM_DECODER_PRINTOUT k = (int16_t) ( ( total_brate / FRAMES_PER_SEC ) - 1 ); while ( bit_stream[k] == 1 && st_ivas->nchan_transport < MAX_NUM_OBJECTS ) { st_ivas->nchan_transport++; k--; } -#else - if ( total_brate != SID_2k40 && total_brate != FRAME_NO_DATA ) - { - k = (int16_t) ( ( total_brate / FRAMES_PER_SEC ) - 1 ); - while ( bit_stream[k] == 1 && st_ivas->hDecoderConfig->nchan_out < MAX_NUM_OBJECTS ) - { - st_ivas->nchan_transport++; - k--; - } - } -#endif st_ivas->transport_config = AUDIO_CONFIG_EXTERNAL + st_ivas->nchan_transport; st_ivas->ism_mode = ivas_ism_mode_select( st_ivas->nchan_transport, total_brate ); diff --git a/lib_com/options.h b/lib_com/options.h index f4edd40020..f36594b62b 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_REND_ISM_XFADE /* Issue 193: Crossfade inconsistencies in ISM between decoder and external renderer */ #define FIX_REND_ISM_POS_ROUNDING /* Issue 193: (Temporary solution until fix for #215) Align rounding of ISM position data in external renderer */ -- GitLab From 5a0e473486b34bdb8d1341061b5f990cc547d87f Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:31:26 +0100 Subject: [PATCH 415/620] [cleanup] accept FIX_REND_ISM_XFADE, FIX_REND_ISM_POS_ROUNDING, FIX_REND_ISM_STEREO_PANNING --- lib_com/ivas_prot.h | 2 -- lib_com/options.h | 3 --- lib_dec/ivas_ism_renderer.c | 44 ----------------------------------- lib_rend/ivas_sba_rendering.c | 13 ----------- lib_rend/lib_rend.c | 18 -------------- 5 files changed, 80 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index f1589cb218..e865a3946f 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -4660,7 +4660,6 @@ void ivas_ism_render( const int16_t output_frame /* i : output frame length per channel */ ); -#ifdef FIX_REND_ISM_STEREO_PANNING void ivas_ism_get_stereo_gains( const float azimuth, /* i : object azimuth */ const float elevation, /* i : object elevation */ @@ -4668,7 +4667,6 @@ void ivas_ism_get_stereo_gains( float *right_gain /* o : right channel gain */ ); -#endif void ivas_mc2sba( IVAS_OUTPUT_SETUP hIntSetup, /* i : Format of decoder output */ float buffer_td[][L_FRAME48k], /* i/o: MC signals (on input) and the HOA3 (on output) */ diff --git a/lib_com/options.h b/lib_com/options.h index f36594b62b..2be8df7bae 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,9 +148,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ -#define FIX_REND_ISM_XFADE /* Issue 193: Crossfade inconsistencies in ISM between decoder and external renderer */ -#define FIX_REND_ISM_POS_ROUNDING /* Issue 193: (Temporary solution until fix for #215) Align rounding of ISM position data in external renderer */ -#define FIX_REND_ISM_STEREO_PANNING /* Issue 193: Use tangent panning for ISM to stereo in external renderer */ #define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ #define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ #define FIX_REND_ROT_MC_BIN /* Issue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ diff --git a/lib_dec/ivas_ism_renderer.c b/lib_dec/ivas_ism_renderer.c index ca71e4035d..2e0874bc64 100644 --- a/lib_dec/ivas_ism_renderer.c +++ b/lib_dec/ivas_ism_renderer.c @@ -82,11 +82,7 @@ ivas_error ivas_ism_renderer_open( interpolator_length = (uint16_t) ( st_ivas->hDecoderConfig->output_Fs / FRAMES_PER_SEC ); for ( i = 0; i < interpolator_length; i++ ) { -#ifdef FIX_REND_ISM_XFADE st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length - 1 ); -#else - st_ivas->hIsmRendererData->interpolator[i] = (float) i / ( (float) interpolator_length ); -#endif } return error; @@ -144,43 +140,10 @@ void ivas_ism_render( { if ( st_ivas->intern_config == AUDIO_CONFIG_STEREO ) { -#ifdef FIX_REND_ISM_STEREO_PANNING ivas_ism_get_stereo_gains( st_ivas->hIsmMetaData[i]->azimuth, st_ivas->hIsmMetaData[i]->elevation, &gains[i][0], &gains[i][1] ); -#else - float aziRad, eleRad; - float y, mappedX, aziRadMapped, A, A2, A3; - const float LsAngleRad = 30.0f * PI_OVER_180; - - /* Convert azi and ele to an azi value of the cone of confusion */ - aziRad = st_ivas->hIsmMetaData[i]->azimuth * PI_OVER_180; - eleRad = st_ivas->hIsmMetaData[i]->elevation * PI_OVER_180; - y = ( sinf( aziRad ) * cosf( eleRad ) ); - mappedX = sqrtf( max( 0.0f, 1.0f - ( y * y ) ) ); - aziRadMapped = atan2f( y, mappedX ); - - /* Determine the amplitude panning gains */ - if ( aziRadMapped >= LsAngleRad ) - { /* Left side */ - gains[i][0] = 1.0f; - gains[i][1] = 0.0f; - } - else if ( aziRadMapped <= -LsAngleRad ) - { /* Right side */ - gains[i][0] = 0.0f; - gains[i][1] = 1.0f; - } - else /* Tangent panning law */ - { - A = tanf( aziRadMapped ) / tanf( LsAngleRad ); - A2 = ( A - 1.0f ) / max( 0.001f, A + 1.0f ); - A3 = 1.0f / ( A2 * A2 + 1.0f ); - gains[i][0] = sqrtf( A3 ); - gains[i][1] = sqrtf( 1.0f - A3 ); - } -#endif } else { @@ -191,14 +154,9 @@ void ivas_ism_render( } else { -#ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved azimuth = (int16_t) floorf( st_ivas->hIsmMetaData[i]->azimuth + 0.5f ); elevation = (int16_t) floorf( st_ivas->hIsmMetaData[i]->elevation + 0.5f ); -#else - azimuth = (int16_t) ( st_ivas->hIsmMetaData[i]->azimuth + 0.5f ); - elevation = (int16_t) ( st_ivas->hIsmMetaData[i]->elevation + 0.5f ); -#endif if ( st_ivas->hIntSetup.is_planar_setup ) { @@ -240,7 +198,6 @@ void ivas_ism_render( return; } -#ifdef FIX_REND_ISM_STEREO_PANNING void ivas_ism_get_stereo_gains( const float azimuth, /* i : object azimuth */ const float elevation, /* i : object elevation */ @@ -279,4 +236,3 @@ void ivas_ism_get_stereo_gains( *right_gain = sqrtf( 1.0f - A3 ); } } -#endif diff --git a/lib_rend/ivas_sba_rendering.c b/lib_rend/ivas_sba_rendering.c index 0c28a3d432..92284a7451 100755 --- a/lib_rend/ivas_sba_rendering.c +++ b/lib_rend/ivas_sba_rendering.c @@ -305,35 +305,22 @@ void ivas_ism2sba( for ( i = 0; i < num_objects; i++ ) { -#ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved azimuth = (int16_t) floorf( hIsmMetaData[i]->azimuth + 0.5f ); elevation = (int16_t) floorf( hIsmMetaData[i]->elevation + 0.5f ); -#else - azimuth = (int16_t) ( hIsmMetaData[i]->azimuth + 0.5f ); - elevation = (int16_t) ( hIsmMetaData[i]->elevation + 0.5f ); -#endif /*get HOA gets for direction (ACN/SN3D)*/ ivas_dirac_dec_get_response( azimuth, elevation, gains, sba_order ); for ( j = 0; j < sba_num_chans; j++ ) { -#ifdef FIX_REND_ISM_XFADE g1 = 1.f; -#endif g2 = 0.f; for ( k = 0; k < output_frame; k++ ) { -#ifdef FIX_REND_ISM_XFADE buffer_tmp[j][k] += ( g2 * gains[j] + g1 * hIsmRendererData->prev_gains[i][j] ) * buffer_td[i][k]; g2 += 1.f / ( output_frame - 1 ); g1 = 1.0f - g2; -#else - g2 += 1.f / output_frame; - g1 = 1.0f - g2; - buffer_tmp[j][k] += ( g2 * gains[j] + g1 * hIsmRendererData->prev_gains[i][j] ) * buffer_td[i][k]; -#endif } hIsmRendererData->prev_gains[i][j] = gains[j]; } diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index e37d612042..2a8bf972c0 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3796,7 +3796,6 @@ static ivas_error renderIsmToMc( wmops_sub_start( "renderIsmToMc" ); /* TODO(sgi): Possible optimization: less processing needed if position didn't change */ -#ifdef FIX_REND_ISM_STEREO_PANNING if ( *ismInput->base.ctx.pOutConfig == IVAS_REND_AUDIO_CONFIG_STEREO ) { set_zero( currentPanGains, 16 ); @@ -3812,29 +3811,20 @@ static ivas_error renderIsmToMc( &previousPanGains[1] ); } else -#endif { -#ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, (int16_t) floorf( ismInput->currentPos.azimuth + 0.5f ), (int16_t) floorf( ismInput->currentPos.elevation + 0.5f ), currentPanGains ) ) != IVAS_ERR_OK ) -#else - if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->currentPos.azimuth, ismInput->currentPos.elevation, currentPanGains ) ) != IVAS_ERR_OK ) -#endif { return error; } -#ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), previousPanGains ) ) != IVAS_ERR_OK ) -#else - if ( ( error = getEfapGains( *ismInput->base.ctx.pEfapOutWrapper, ismInput->previousPos.azimuth, ismInput->previousPos.elevation, previousPanGains ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -3871,15 +3861,11 @@ static ivas_error renderIsmToSba( return error; } -#ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved ivas_dirac_dec_get_response( (int16_t) floorf( ismInput->previousPos.azimuth + 0.5f ), (int16_t) floorf( ismInput->previousPos.elevation + 0.5f ), previousPanGains, ambiOrderOut ); -#else - ivas_dirac_dec_get_response( (int16_t) ismInput->previousPos.azimuth, (int16_t) ismInput->previousPos.elevation, previousPanGains, ambiOrderOut ); -#endif if ( ( ismInput->currentPos.azimuth == ismInput->previousPos.azimuth ) && ( ismInput->currentPos.elevation == ismInput->previousPos.elevation ) ) @@ -3888,15 +3874,11 @@ static ivas_error renderIsmToSba( } else { -#ifdef FIX_REND_ISM_POS_ROUNDING // TODO tmu review when #215 is resolved ivas_dirac_dec_get_response( (int16_t) floorf( ismInput->currentPos.azimuth + 0.5f ), (int16_t) floorf( ismInput->currentPos.elevation + 0.5f ), currentPanGains, ambiOrderOut ); -#else - ivas_dirac_dec_get_response( (int16_t) ismInput->currentPos.azimuth, (int16_t) ismInput->currentPos.elevation, currentPanGains, ambiOrderOut ); -#endif } /* Assume num channels in audio buffer to be 1. -- GitLab From f361abd00dd010d48418ecb9b52bbf57208d6125 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:33:08 +0100 Subject: [PATCH 416/620] [cleanup] accept FIX_REND_ROUNDING, FIX_REND_MONO_DMX, FIX_REND_ROT_MC_BIN --- apps/renderer.c | 6 ------ lib_com/options.h | 3 --- lib_rend/ivas_rom_rend.c | 15 --------------- lib_rend/lib_rend.c | 15 --------------- 4 files changed, 39 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 47159892db..506830002c 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -2432,9 +2432,7 @@ static void convertOutputBuffer( int16_t *intBuffer ) { int16_t chnl, smpl, i; -#ifdef FIX_REND_ROUNDING float temp; -#endif i = 0; @@ -2442,7 +2440,6 @@ static void convertOutputBuffer( { for ( chnl = 0; chnl < numChannels; ++chnl ) { -#ifdef FIX_REND_ROUNDING temp = floatBuffer[chnl * numSamplesPerChannel + smpl]; temp = (float) floor( temp + 0.5f ); if ( temp > MAX16B_FLT ) @@ -2454,9 +2451,6 @@ static void convertOutputBuffer( temp = MIN16B_FLT; } intBuffer[i] = (int16_t) temp; -#else - intBuffer[i] = (int16_t) roundf( floatBuffer[chnl * numSamplesPerChannel + smpl] ); -#endif ++i; } diff --git a/lib_com/options.h b/lib_com/options.h index 2be8df7bae..af14804b07 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,9 +148,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ -#define FIX_REND_ROUNDING /* Issue 195: Align float to int16 conversion in renderer with decoder */ -#define FIX_REND_MONO_DMX /* Issue 195: Fix mono downmix coefficients in decoder and renderer */ -#define FIX_REND_ROT_MC_BIN /* Issue 195: Fix wrong EFAP handle passed to renderer, resulting in no rotation for BINAURAL_ROOM output */ #define FIX_ITD_CNG /* Eri Contribution 11: Fix for CNG ITD */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ diff --git a/lib_rend/ivas_rom_rend.c b/lib_rend/ivas_rom_rend.c index 4f647922c5..773cd57eff 100644 --- a/lib_rend/ivas_rom_rend.c +++ b/lib_rend/ivas_rom_rend.c @@ -361,7 +361,6 @@ const uint32_t ls_LFE_last_idx_CICP19[12] = { 0, 1, 2, 4, 5, 6, 7, 8, 9, 10, 11, /* Downmix matrices */ const float ls_conversion_cicpX_mono[12][1] = { -#ifdef FIX_REND_MONO_DMX {1.00000000f}, {1.00000000f}, {1.00000000f}, @@ -374,20 +373,6 @@ const float ls_conversion_cicpX_mono[12][1] = {0.849999964f}, {0.849999964f}, {0.849999964f} -#else - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, - {1.00000000f}, -#endif }; const float ls_conversion_cicpX_stereo[12][2] = diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 2a8bf972c0..4420bf0245 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1198,11 +1198,9 @@ static ivas_error initMcPanGainsWithMonoOut( { int16_t i; int16_t numInChannels; -#ifdef FIX_REND_MONO_DMX int16_t readIdx; int16_t writeIdx; bool skipSideSpeakers; -#endif ivas_error error; if ( ( error = getRendInputNumChannels( inputMc, &numInChannels ) ) != IVAS_ERR_OK ) @@ -1210,7 +1208,6 @@ static ivas_error initMcPanGainsWithMonoOut( return error; } -#ifdef FIX_REND_MONO_DMX if ( inputMc->base.inConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) { for ( i = 0; i < numInChannels; ++i ) @@ -1246,14 +1243,6 @@ static ivas_error initMcPanGainsWithMonoOut( inputMc->panGains[writeIdx][0] = ls_conversion_cicpX_mono[readIdx][0]; } } -#else - for ( i = 0; i < numInChannels; ++i ) - { - /* It's OK to also set gain 1 for LFE input channels here. - * Correct LFE handling will be applied within updateMcPanGains() */ - inputMc->panGains[i][0] = 1.f; - } -#endif return IVAS_ERR_OK; } @@ -1536,12 +1525,10 @@ static ivas_error initMcBinauralRendering( { ivas_rend_closeCrend( &inputMc->crendWrapper ); } -#ifdef FIX_REND_ROT_MC_BIN if ( inputMc->efapInWrapper.hEfap != NULL ) { efap_free_data( &inputMc->efapInWrapper.hEfap ); } -#endif outSampleRate = *inputMc->base.ctx.pOutSampleRate; @@ -1580,13 +1567,11 @@ static ivas_error initMcBinauralRendering( } } -#ifdef FIX_REND_ROT_MC_BIN /* Initialise the EFAP handle for rotation on input layout */ if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM && inputMc->base.ctx.pHeadRotData->headRotEnabled ) { initEfap( &inputMc->efapInWrapper, inConfig, NULL ); } -#endif return error; } -- GitLab From 3fb102f1d688d5ff0d5a8c4727fedf39702da3d2 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:34:07 +0100 Subject: [PATCH 417/620] [cleanup] accept FIX_ITD_CNG --- lib_com/ivas_cnst.h | 4 --- lib_com/ivas_prot.h | 14 -------- lib_com/options.h | 1 - lib_com/prot.h | 2 -- lib_dec/ivas_stat_dec.h | 2 -- lib_dec/ivas_stereo_dft_dec.c | 23 ------------- lib_dec/ivas_stereo_dft_dec_dmx.c | 4 --- lib_enc/amr_wb_enc.c | 2 -- lib_enc/ivas_core_pre_proc_front.c | 4 --- lib_enc/ivas_cpe_enc.c | 16 --------- lib_enc/ivas_front_vad.c | 4 --- lib_enc/ivas_stat_enc.h | 10 ------ lib_enc/ivas_stereo_cng_enc.c | 53 ------------------------------ lib_enc/ivas_stereo_dft_enc.c | 20 ----------- lib_enc/ivas_stereo_dft_enc_itd.c | 21 ------------ lib_enc/ivas_stereo_dft_td_itd.c | 6 ---- lib_enc/pre_proc.c | 2 -- lib_enc/vad.c | 4 --- 18 files changed, 192 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 3b9fa159aa..9b778c9f6c 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -465,10 +465,8 @@ enum #define STEREO_DFT_OFFSET 1 #define STEREO_DFT_NBDIV 2 -#ifdef FIX_ITD_CNG #define STEREO_DFT_ITD_CNG_XFADE 100 #define STEREO_DFT_ITD_CNG_XFADE_RESET 2 -#endif #define STEREO_DFT_DELAY_DEC_BWE_NS ( STEREO_DFT_OFFSET * STEREO_DFT_HOP_NS - ACELP_LOOK_NS ) /* 1.25ms/2.5ms: max delay for core decoder*/ @@ -535,9 +533,7 @@ typedef enum #define STEREO_DFT_SID_GIPD_NBITS 2 #define STEREO_DFT_FD_FILT 0.9f -#ifdef FIX_ITD_CNG #define STEREO_DFT_CNG_ITD_CNT 8 -#endif /*Residual prediction*/ #define STEREO_DFT_PAST_MAX 4 diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index e865a3946f..120042c891 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -934,10 +934,8 @@ float stereo_dft_enc_synthesize( void stereo_dft_enc_process( CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ -#ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ -#endif const int16_t input_frame /* i : input frame length */ ); @@ -986,11 +984,7 @@ void stereo_dft_dequantize_itd( void stereo_dft_enc_sid_calc_coh( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ -#ifdef FIX_ITD_CNG float prev_cohBand[2*(STEREO_DFT_BAND_MAX/2)], /* i/o: Previous coherence */ -#else - float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ -#endif int16_t *td_active, /* i/o: TD stereo mode indicator */ int16_t *first_SID, /* i/o: First SID indicator */ float *cohBand /* i/o: Coherence per band */ @@ -1143,11 +1137,9 @@ void stereo_dft_dec_read_BS( void stereo_dft_dec_smooth_parameters( STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ -#ifdef FIX_ITD_CNG , const int16_t active_frame_counter, /* i : Active frame counter */ const int32_t element_brate /* i : Element bitrate */ -#endif ); void stereo_dft_generate_res_pred( @@ -1303,10 +1295,8 @@ void stereo_dft_enc_compute_itd( float *DFT_R, const int16_t k_offset, const int16_t input_frame, -#ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], const int16_t vad_hover_flag[], -#endif float *bin_nrgL, float *bin_nrgR ); @@ -1862,10 +1852,8 @@ void deindex_lvq_SHB( void stereo_td_itd_mdct_stereo( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ -#ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ -#endif const int16_t input_frame /* i : frame length */ ); @@ -2425,10 +2413,8 @@ void stereo_cng_upd_counters( const int16_t nbands, /* i : Number of bands in active */ const float sidSideGain[], /* i : SID side gains */ const int16_t burst_ho_count /* i : Hang-over count */ -#ifdef FIX_ITD_CNG , int16_t *coh_fade_counter /* i : Coherence fade counter */ -#endif ); void stereo_cng_init_dec( diff --git a/lib_com/options.h b/lib_com/options.h index af14804b07..5a846c0ca1 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ -#define FIX_ITD_CNG /* Eri Contribution 11: Fix for CNG ITD */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 973f15ef5a..760571cb46 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3833,10 +3833,8 @@ int16_t dtx_hangover_addition( int16_t *vad_hover_flag, /* o : VAD hangover flag */ VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ -#ifdef FIX_ITD_CNG , int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ -#endif ); int16_t wb_vad( diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index 85cd6b4d2a..9baa77d4b9 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -145,7 +145,6 @@ typedef struct stereo_dft_dec_data_struct float itd[STEREO_DFT_DEC_DFT_NB]; -#ifdef FIX_ITD_CNG float itd_xfade_step; float itd_xfade_target; int16_t itd_xfade_counter; @@ -155,7 +154,6 @@ typedef struct stereo_dft_dec_data_struct float ipd_xfade_step; int16_t ipd_xfade_counter; float ipd_xfade_prev; -#endif /*residual prediction*/ int16_t res_pred_mode[STEREO_DFT_DEC_DFT_NB]; /* residual prediction mode: 0(off), 1(stereo filling only), 2(enhanced stereo filling) */ diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index 32d3510f80..fbe01d1571 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -480,7 +480,6 @@ void stereo_dft_dec_reset( set_zero( hStereoDft->smooth_fac[0], SBA_DIRAC_STEREO_NUM_BANDS ); set_zero( hStereoDft->smooth_fac[1], SBA_DIRAC_STEREO_NUM_BANDS ); -#ifdef FIX_ITD_CNG hStereoDft->itd_xfade_target = 0.0f; hStereoDft->itd_xfade_step = 0.0f; hStereoDft->itd_xfade_counter = 0; @@ -490,7 +489,6 @@ void stereo_dft_dec_reset( hStereoDft->ipd_xfade_step = 0.0f; hStereoDft->ipd_xfade_counter = 0; hStereoDft->ipd_xfade_prev = 0.0f; -#endif return; } @@ -1174,11 +1172,7 @@ void stereo_dft_dec( } else { -#ifdef FIX_ITD_CNG stereo_dft_dec_smooth_parameters( hStereoDft, hStereoCng->prev_sid_nodata, hStereoCng->active_frame_counter, st0->element_brate ); -#else - stereo_dft_dec_smooth_parameters( hStereoDft, hStereoCng->prev_sid_nodata ); -#endif } } @@ -1762,9 +1756,7 @@ void stereo_dft_dec_read_BS( * Initialization *-----------------------------------------------------------------*/ -#ifdef FIX_ITD_CNG k_offset = STEREO_DFT_OFFSET; -#endif if ( ivas_total_brate == IVAS_SID_5k2 ) { @@ -1790,10 +1782,8 @@ void stereo_dft_dec_read_BS( hStereoDft->frame_sid = 0; *nb_bits = 0; *total_brate = 0; -#ifdef FIX_ITD_CNG hStereoDft->itd[k = hStereoDft->prm_res[k_offset] - 1 + k_offset] = hStereoDft->itd_xfade_target; hStereoDft->gipd[hStereoDft->prm_res[k_offset] - 1 + k_offset] = hStereoDft->ipd_xfade_target; -#endif return; } @@ -1824,9 +1814,6 @@ void stereo_dft_dec_read_BS( /*init*/ max_bits = *nb_bits; *nb_bits = 0; -#ifndef FIX_ITD_CNG - k_offset = STEREO_DFT_OFFSET; -#endif N_div = STEREO_DFT_NBDIV; if ( ivas_total_brate > IVAS_SID_5k2 ) @@ -2774,11 +2761,9 @@ void stereo_dft_generate_res_pred( void stereo_dft_dec_smooth_parameters( STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ -#ifdef FIX_ITD_CNG , const int16_t active_frame_counter, /* i : Active frame counter */ const int32_t element_brate /* i : Element bitrate */ -#endif ) { int16_t k_offset, k, k2, b, N_div; @@ -2800,7 +2785,6 @@ void stereo_dft_dec_smooth_parameters( *( hStereoDft->side_gain + ( ( k + k_offset ) - 1 ) * STEREO_DFT_BAND_MAX + b ) = *( hStereoDft->side_gain + ( k + k_offset ) * STEREO_DFT_BAND_MAX + b ); } -#ifdef FIX_ITD_CNG if ( hStereoDft->frame_sid_nodata ) { /* set new xfade target if new itd received */ @@ -2841,14 +2825,12 @@ void stereo_dft_dec_smooth_parameters( hStereoDft->ipd_xfade_counter = 0; } } -#endif for ( k2 = 1; k2 < hStereoDft->prm_res[k + k_offset]; k2++ ) { hStereoDft->gipd[( k + k_offset ) - k2] = hStereoDft->gipd[k + k_offset]; } -#ifdef FIX_ITD_CNG if ( hStereoDft->frame_sid_nodata ) { /* set new xfade target if new itd received */ @@ -2878,7 +2860,6 @@ void stereo_dft_dec_smooth_parameters( hStereoDft->last_active_element_brate = element_brate; } -#endif for ( k2 = 1; k2 < hStereoDft->prm_res[k + k_offset]; k2++ ) { hStereoDft->itd[( k + k_offset ) - k2] = hStereoDft->itd[k + k_offset]; @@ -2887,7 +2868,6 @@ void stereo_dft_dec_smooth_parameters( return; } -#ifdef FIX_ITD_CNG /* Active frame, "reset" everything "reset" everything if long enough active encoding */ if ( active_frame_counter > STEREO_DFT_ITD_CNG_XFADE_RESET ) { @@ -2898,11 +2878,8 @@ void stereo_dft_dec_smooth_parameters( hStereoDft->ipd_xfade_target = hStereoDft->gipd[STEREO_DFT_NBDIV - 1]; hStereoDft->ipd_xfade_prev = hStereoDft->gipd[STEREO_DFT_NBDIV - 1]; } -#endif -#ifdef FIX_ITD_CNG hStereoDft->last_active_element_brate = element_brate; -#endif for ( k = hStereoDft->prm_res[k_offset] - 1; k < N_div; k += hStereoDft->prm_res[k + k_offset] ) { diff --git a/lib_dec/ivas_stereo_dft_dec_dmx.c b/lib_dec/ivas_stereo_dft_dec_dmx.c index f58b6ddca4..648893cbf1 100644 --- a/lib_dec/ivas_stereo_dft_dec_dmx.c +++ b/lib_dec/ivas_stereo_dft_dec_dmx.c @@ -130,11 +130,7 @@ void stereo_dft_unify_dmx( ( st0->core == TCX_20_CORE && ( ( st0->hTcxCfg->tcx_last_overlap_mode == MIN_OVERLAP ) || ( st0->hTcxCfg->tcx_last_overlap_mode == HALF_OVERLAP ) ) ) || ( st0->core == TCX_10_CORE ); /* Smoothing for the current frame */ -#ifdef FIX_ITD_CNG stereo_dft_dec_smooth_parameters( hStereoDft, prev_sid_nodata, st0->hFdCngDec->hFdCngCom->active_frame_counter, st0->element_brate ); -#else - stereo_dft_dec_smooth_parameters( hStereoDft, prev_sid_nodata ); -#endif for ( k = 0; k < N_div; k++ ) { diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index c73e5a8949..4628ca7320 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -293,10 +293,8 @@ void amr_wb_enc( /* apply DTX hangover for CNG analysis */ vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, &vad_hover_flag, NULL, NULL -#ifdef FIX_ITD_CNG , NULL -#endif ); /*-----------------------------------------------------------------* diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 828fdf17a1..461179e847 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -454,10 +454,8 @@ ivas_error pre_proc_front_ivas( if ( ( hCPE != NULL && !( lr_vad_enabled && st->idchan == 0 ) ) || hSCE != NULL ) { *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL -#ifdef FIX_ITD_CNG , NULL -#endif ); } else @@ -556,13 +554,11 @@ ivas_error pre_proc_front_ivas( dtx( st, ivas_total_brate, *vad_flag_dtx, inp_12k8 ); -#ifdef FIX_ITD_CNG if ( hCPE != NULL && hCPE->hStereoDft != NULL && st->core_brate == SID_2k40 ) { /* Add another period of expected xcorr updates */ hCPE->hStereoDft->expectedNumUpdates += st->hDtxEnc->max_SID; } -#endif /*----------------------------------------------------------------* * Adjust FD-CNG Noise Estimator diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 470d597b15..b422bf8c0c 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -349,11 +349,7 @@ ivas_error ivas_cpe_enc( stereo_dft_enc_update( hCPE->hStereoDft, sts[0]->max_bwidth ); /* DFT stereo processing */ -#ifdef FIX_ITD_CNG stereo_dft_enc_process( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); -#else - stereo_dft_enc_process( hCPE, input_frame ); -#endif } else if ( hCPE->element_mode == IVAS_CPE_TD ) { @@ -373,11 +369,7 @@ ivas_error ivas_cpe_enc( } else if ( hCPE->element_mode == IVAS_CPE_MDCT ) { -#ifdef FIX_ITD_CNG stereo_td_itd_mdct_stereo( hCPE, vad_flag_dtx, vad_hover_flag, input_frame ); -#else - stereo_td_itd_mdct_stereo( hCPE, input_frame ); -#endif } /*----------------------------------------------------------------* @@ -524,11 +516,7 @@ ivas_error ivas_cpe_enc( if ( hEncoderConfig->Opt_DTX_ON ) { -#ifdef FIX_ITD_CNG stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, -1, NULL, sts[0]->hTdCngEnc->burst_ho_cnt, NULL ); -#else - stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, -1, NULL, sts[0]->hTdCngEnc->burst_ho_cnt ); -#endif } } @@ -581,11 +569,7 @@ ivas_error ivas_cpe_enc( } else { -#ifdef FIX_ITD_CNG stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, hCPE->hStereoDft->nbands, hCPE->hStereoDft->sidSideGain, sts[0]->hTdCngEnc->burst_ho_cnt, &hCPE->hStereoDft->coh_fade_counter ); -#else - stereo_cng_upd_counters( hCPE->hStereoCng, hCPE->element_mode, hCPE->hStereoDft->nbands, hCPE->hStereoDft->sidSideGain, sts[0]->hTdCngEnc->burst_ho_cnt ); -#endif } } diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index cc2a4b08d8..5c5e536f09 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -110,9 +110,7 @@ ivas_error front_vad( { localVAD_HE_SAD[n] = 0; vad_hover_flag[n] = 0; -#ifdef FIX_ITD_CNG vad_flag_dtx[n] = 1; -#endif } /*------------------------------------------------------------------* @@ -196,10 +194,8 @@ ivas_error front_vad( /* DTX hangover addition */ vad_flag_dtx[n] = dtx_hangover_addition( sts[n], hFrontVad->hVAD->vad_flag, hFrontVad->lp_speech - hFrontVad->lp_noise, 0 /* <- no cldfb addition */, &vad_hover_flag[n], hFrontVad->hVAD, hFrontVad->hNoiseEst -#ifdef FIX_ITD_CNG , &hFrontVads[n]->rem_dtx_ho -#endif ); if ( n_chan == 1 ) diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 81b89a5edc..282391af75 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -193,10 +193,8 @@ typedef struct stereo_dft_enc_data_struct float Spd_R_smooth[STEREO_DFT_N_32k_ENC / 2]; float sid_gipd; int16_t coh_fade_counter; -#ifdef FIX_ITD_CNG float prev_sid_gipd; int16_t prev_sid_no_ipd_flag; -#endif /*IPD*/ float gipd[STEREO_DFT_ENC_DFT_NB]; @@ -235,11 +233,9 @@ typedef struct stereo_dft_enc_data_struct #endif -#ifdef FIX_ITD_CNG int16_t currentNumUpdates; int16_t expectedNumUpdates; /* Expected number of frames before use of ITD estimate */ int16_t resetFrames; -#endif /* energy buffers for ICBWE */ float nrg_L[2]; @@ -567,9 +563,7 @@ typedef struct front_vad_enc VAD_HANDLE hVAD; /* VAD handle */ float *delay_buf; int16_t delay_samples; -#ifdef FIX_ITD_CNG int16_t rem_dtx_ho; /* Remaining hangover frames */ -#endif } FRONT_VAD_ENC, *FRONT_VAD_ENC_HANDLE; @@ -822,12 +816,8 @@ typedef struct stereo_cng_enc float sg_average[STEREO_DFT_ERB4_BANDS]; /* Sidegain average */ float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ -#ifdef FIX_ITD_CNG float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )]; /* Previous coherence */ int16_t cng_counter; /* Counter for cng period length */ -#else - float coh_crossfade[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ -#endif int16_t td_active; /* TD-stereo indication */ int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ int16_t first_SID; /* Set if first SID frame since codec start */ diff --git a/lib_enc/ivas_stereo_cng_enc.c b/lib_enc/ivas_stereo_cng_enc.c index 68be66c2a1..a0a42deb87 100644 --- a/lib_enc/ivas_stereo_cng_enc.c +++ b/lib_enc/ivas_stereo_cng_enc.c @@ -51,9 +51,7 @@ *-------------------------------------------------------------------*/ #define COH_FADE_MAX 4 -#ifdef FIX_ITD_CNG #define COH_FADE_UPDATES 2 -#endif /*--------------------------------------------------------------- @@ -64,11 +62,7 @@ void stereo_dft_enc_sid_calc_coh( STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ -#ifdef FIX_ITD_CNG float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )], /* i/o: Previous coherence */ -#else - float coh_crossfade[STEREO_DFT_BAND_MAX / 2], /* i/o: Coherence crossfade memory */ -#endif int16_t *td_active, /* i/o: TD stereo mode indicator */ int16_t *first_SID, /* i/o: First SID indicator */ float *cohBand /* i/o: Coherence per band */ @@ -77,9 +71,7 @@ void stereo_dft_enc_sid_calc_coh( int16_t b, k; float coh_weight; float coh_weight_sum; -#ifdef FIX_ITD_CNG float xspec_scale; -#endif /* Cluster the coherence into bands using a weighted average. The coherence is weighted with the energy spectrum of the mixdown signal. */ for ( b = 0; b < hStereoDft->nbands; b++ ) @@ -87,7 +79,6 @@ void stereo_dft_enc_sid_calc_coh( cohBand[b] = 0; coh_weight_sum = 0; -#ifdef FIX_ITD_CNG if ( hStereoDft->coh_fade_counter == 0 && !*first_SID ) { for ( k = hStereoDft->band_limits[b]; k < hStereoDft->band_limits[b + 1]; k++ ) @@ -112,67 +103,35 @@ void stereo_dft_enc_sid_calc_coh( cohBand[b] = cohBand[b] / coh_weight_sum; } } -#else - for ( k = hStereoDft->band_limits[b]; k < hStereoDft->band_limits[b + 1]; k++ ) - { - coh_weight = hStereoDft->DFT[0][2 * k] * hStereoDft->DFT[0][2 * k] + hStereoDft->DFT[0][2 * k + 1] * hStereoDft->DFT[0][2 * k + 1]; - cohBand[b] += coh_weight * ( hStereoDft->xspec_smooth[2 * k] * hStereoDft->xspec_smooth[2 * k] + hStereoDft->xspec_smooth[2 * k + 1] * hStereoDft->xspec_smooth[2 * k + 1] ) / ( hStereoDft->Spd_L_smooth[k] * hStereoDft->Spd_R_smooth[k] + EPSILON ); - coh_weight_sum += coh_weight; - } - if ( coh_weight_sum > 0 ) - { - cohBand[b] = cohBand[b] / coh_weight_sum; - } -#endif } if ( *first_SID ) { -#ifdef FIX_ITD_CNG mvr2r( cohBand, prev_cohBand, hStereoDft->nbands ); mvr2r( prev_cohBand, &( prev_cohBand[STEREO_DFT_BAND_MAX / 2] ), hStereoDft->nbands ); -#else - mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); -#endif *first_SID = 0; } -#ifdef FIX_ITD_CNG if ( hStereoDft->coh_fade_counter < COH_FADE_MAX && ( *td_active || hStereoDft->currentNumUpdates < COH_FADE_UPDATES ) ) -#else - if ( hStereoDft->coh_fade_counter < COH_FADE_MAX && *td_active ) -#endif { for ( b = 0; b < hStereoDft->nbands; b++ ) { -#ifdef FIX_ITD_CNG cohBand[b] = ( cohBand[b] * hStereoDft->coh_fade_counter + prev_cohBand[b] * ( COH_FADE_MAX - hStereoDft->coh_fade_counter ) ) / COH_FADE_MAX; -#else - cohBand[b] = ( cohBand[b] * hStereoDft->coh_fade_counter + coh_crossfade[b] * ( COH_FADE_MAX - hStereoDft->coh_fade_counter ) ) / COH_FADE_MAX; -#endif } hStereoDft->coh_fade_counter++; -#ifdef FIX_ITD_CNG if ( hStereoDft->coh_fade_counter > 0 ) { mvr2r( &prev_cohBand[STEREO_DFT_BAND_MAX / 2], prev_cohBand, hStereoDft->nbands ); } mvr2r( cohBand, &prev_cohBand[STEREO_DFT_BAND_MAX / 2], hStereoDft->nbands ); -#else - mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); -#endif } else { -#ifdef FIX_ITD_CNG if ( hStereoDft->coh_fade_counter > 0 ) { mvr2r( &prev_cohBand[STEREO_DFT_BAND_MAX / 2], prev_cohBand, hStereoDft->nbands ); } mvr2r( cohBand, &prev_cohBand[STEREO_DFT_BAND_MAX / 2], hStereoDft->nbands ); -#else - mvr2r( cohBand, coh_crossfade, hStereoDft->nbands ); -#endif hStereoDft->coh_fade_counter = COH_FADE_MAX; *td_active = 0; } @@ -412,10 +371,8 @@ void stereo_dft_cng_side_gain( } hStereoCng->sg_average_counter++; -#ifdef FIX_ITD_CNG hStereoCng->cng_counter++; hStereoCng->cng_counter = min( hStereoCng->cng_counter, STEREO_DFT_SG_ACT_CNT_MAX ); -#endif if ( core_brate == SID_2k40 ) { @@ -514,16 +471,10 @@ void stereo_enc_cng_init( hStereoCng->sg_active_cnt = 0; hStereoCng->first_SID = 1; set_f( hStereoCng->mem_cohBand, 0.5f, STEREO_DFT_BAND_MAX / 2 ); -#ifdef FIX_ITD_CNG set_zero( hStereoCng->prev_cohBand, 2 * ( STEREO_DFT_BAND_MAX / 2 ) ); -#else - set_zero( hStereoCng->coh_crossfade, STEREO_DFT_BAND_MAX / 2 ); -#endif hStereoCng->td_active = 0; hStereoCng->first_SID_after_TD = 1; -#ifdef FIX_ITD_CNG hStereoCng->cng_counter = 0; -#endif return; } @@ -541,10 +492,8 @@ void stereo_cng_upd_counters( const int16_t nbands, /* i : Number of bands in active */ const float sidSideGain[], /* i : SID side gains */ const int16_t burst_ho_count /* i : Hang-over count */ -#ifdef FIX_ITD_CNG , int16_t *coh_fade_counter /* i : Coherence fade counter */ -#endif ) { int16_t b; @@ -568,7 +517,6 @@ void stereo_cng_upd_counters( hStereoCng->sg_active_cnt++; hStereoCng->sg_active_cnt = min( hStereoCng->sg_active_cnt, STEREO_DFT_SG_ACT_CNT_MAX ); -#ifdef FIX_ITD_CNG if ( hStereoCng->sg_active_cnt > STEREO_DFT_CNG_ITD_CNT ) { hStereoCng->cng_counter = 0; @@ -578,6 +526,5 @@ void stereo_cng_upd_counters( { *coh_fade_counter = 0; } -#endif return; } diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index e54b98a942..ac93d8369e 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -62,9 +62,7 @@ static FILE *pF = NULL; #define STEREO_DFT_NRG_PAST_MAX_BAND_LB 4 #define STEREO_DFT_DMX_CROSSOVER ( int16_t )( 132 * ( (float) ( STEREO_DFT_N_NS_ENC ) / STEREO_DFT_N_NS ) + 0.5f ) /* crossover bin between binwise and bandwise DMX */ #define ITD_VAD_E_BAND_N_INIT 200000 -#ifdef FIX_ITD_CNG #define ITD_SID_PREV_FRAMES 5 -#endif /*------------------------------------------------------------------------- @@ -494,14 +492,12 @@ void stereo_dft_enc_reset( set_f( hStereoDft->Spd_L_smooth, 1.0f, STEREO_DFT_N_32k_ENC / 2 ); set_f( hStereoDft->Spd_R_smooth, 1.0f, STEREO_DFT_N_32k_ENC / 2 ); -#ifdef FIX_ITD_CNG hStereoDft->currentNumUpdates = 0; hStereoDft->expectedNumUpdates = FIXED_SID_RATE; hStereoDft->resetFrames = 0; hStereoDft->sid_gipd = 0; hStereoDft->prev_sid_gipd = 0; hStereoDft->prev_sid_no_ipd_flag = 1; -#endif hStereoDft->coh_fade_counter = 0; @@ -1235,10 +1231,8 @@ float stereo_dft_enc_synthesize( void stereo_dft_enc_process( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ -#ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ -#endif const int16_t input_frame /* i : input frame length */ ) { @@ -1309,11 +1303,7 @@ void stereo_dft_enc_process( if ( hStereoDft->hConfig->itd_mode ) #endif { -#ifdef FIX_ITD_CNG stereo_dft_enc_compute_itd( hCPE, pDFT_L, pDFT_R, k_offset, input_frame, vad_flag_dtx, vad_hover_flag, bin_nrgL, bin_nrgR ); -#else - stereo_dft_enc_compute_itd( hCPE, pDFT_L, pDFT_R, k_offset, input_frame, bin_nrgL, bin_nrgR ); -#endif if ( hCPE->element_mode == IVAS_CPE_MDCT ) { return; @@ -1386,7 +1376,6 @@ void stereo_dft_enc_process( /* DFT stereo parameters */ stereo_dft_enc_compute_prm( hStereoDft, pDFT_L, pDFT_R, k_offset, 1, hCPE->hCoreCoder[0]->sp_aud_decision0, hCPE->hCoreCoder[0]->vad_flag, bin_nrgL, bin_nrgR, dot_prod_nrg_ratio ); -#ifdef FIX_ITD_CNG if ( vad_flag_dtx[0] == 0 ) { if ( hCPE->hStereoCng->cng_counter == 0 && !hCPE->hStereoCng->first_SID_after_TD ) @@ -1401,7 +1390,6 @@ void stereo_dft_enc_process( hStereoDft->prev_sid_no_ipd_flag = hStereoDft->no_ipd_flag; } } -#endif /*----------------------------------------------------------------* * UNCLR classifier (detection of uncorrelated L and R channels) @@ -1459,11 +1447,7 @@ void stereo_dft_enc_process( } } -#ifdef FIX_ITD_CNG if ( b < hStereoDft->res_cod_band_max && vad_flag_dtx[0] ) -#else - if ( b < hStereoDft->res_cod_band_max ) -#endif { #ifdef DEBUGGING assert( hStereoDft->nbands == hStereoDft->nbands_dmx && "Don't use coarser stereo parameter resolution for residual coding bitrates!" ); @@ -2353,11 +2337,7 @@ void stereo_dft_enc_write_BS( if ( core_brate == SID_2k40 ) { -#ifdef FIX_ITD_CNG stereo_dft_enc_sid_calc_coh( hStereoDft, hCPE->hStereoCng->prev_cohBand, &hCPE->hStereoCng->td_active, &hCPE->hStereoCng->first_SID, cohBand ); -#else - stereo_dft_enc_sid_calc_coh( hStereoDft, hCPE->hStereoCng->coh_crossfade, &hCPE->hStereoCng->td_active, &hCPE->hStereoCng->first_SID, cohBand ); -#endif if ( *nb_bits <= ( ( IVAS_SID_5k2 - SID_2k40 ) / FRAMES_PER_SEC - SID_FORMAT_NBITS - STEREO_DFT_ITD_MODE_NBITS - STEREO_DFT_SID_ITD_NBITS - 1 ) ) { diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index e917c36e36..1f8ce63636 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -67,10 +67,8 @@ #define DENOM 0.05f #define XSPEC_ALPHA ( 1.f / 32 ) -#ifdef FIX_ITD_CNG #define CORR_FILT 0.8f #define CORR_RESET_FRAMES_MAX 20 -#endif #define ITD_VAD_NOISE_INIT_FRAMES 30 #define ITD_VAD_THRSHOLD 0.001f @@ -726,10 +724,8 @@ void stereo_dft_enc_compute_itd( float *DFT_R, const int16_t k_offset, const int16_t input_frame, -#ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], const int16_t vad_hover_flag[], -#endif float *bin_nrgL, float *bin_nrgR ) { @@ -776,9 +772,7 @@ void stereo_dft_enc_compute_itd( const float *dft_trigo32k; float trigo_enc[STEREO_DFT_N_32k_ENC / 2 + 1]; -#ifdef FIX_ITD_CNG float cng_xcorr_filt; -#endif if ( hCPE->element_mode == IVAS_CPE_DFT ) { @@ -938,9 +932,7 @@ void stereo_dft_enc_compute_itd( vad_flag_itd = stereo_dft_enc_itd_vad( hItd->E_band_n, &( hItd->vad_frm_cnt ), Spd_L, Spd_R, &mssnr ); -#ifdef FIX_ITD_CNG vad_flag_itd = vad_flag_itd && vad_flag_dtx[0]; -#endif if ( sum_nrg_L < EPSILON ) { @@ -1069,7 +1061,6 @@ void stereo_dft_enc_compute_itd( if ( hCPE->hCoreCoder[0]->Opt_DTX_ON && hCPE->element_mode == IVAS_CPE_DFT ) { -#ifdef FIX_ITD_CNG if ( hCPE->hFrontVad[0] != NULL ) { /* Determine if we are in hangover */ @@ -1119,14 +1110,8 @@ void stereo_dft_enc_compute_itd( } } } -#endif -#ifdef FIX_ITD_CNG if ( ( vad_flag_dtx[0] == 0 ) || ( hCPE->hFrontVad[0] == NULL && ( hCPE->hCoreCoder[0]->last_core_brate == SID_2k40 || hCPE->hCoreCoder[0]->last_core_brate == FRAME_NO_DATA ) ) || hCPE->hStereoCng->first_SID_after_TD ) -#else - if ( hCPE->hCoreCoder[0]->last_core_brate == SID_2k40 || hCPE->hCoreCoder[0]->last_core_brate == FRAME_NO_DATA || hCPE->hStereoCng->first_SID_after_TD ) -#endif { -#ifdef FIX_ITD_CNG if ( vad_flag_dtx[0] == 0 ) { /* expectedNumUpdates updated after call to dtx() in SID frames */ @@ -1144,19 +1129,13 @@ void stereo_dft_enc_compute_itd( { mvr2r( hStereoDft->xspec_smooth, hItd->xcorr_smooth, NFFT ); } -#endif for ( i = 1; i < NFFT / 2; i++ ) { /* Low pass filter cross L/R power spectrum */ hStereoDft->xspec_smooth[2 * i] = ( 1.f - XSPEC_ALPHA ) * hStereoDft->xspec_smooth[2 * i] + XSPEC_ALPHA * xcorr[2 * i]; hStereoDft->xspec_smooth[2 * i + 1] = ( 1.f - XSPEC_ALPHA ) * hStereoDft->xspec_smooth[2 * i + 1] + XSPEC_ALPHA * xcorr[2 * i + 1]; -#ifdef FIX_ITD_CNG hItd->xcorr_smooth[2 * i] = ( 1.f - cng_xcorr_filt ) * hItd->xcorr_smooth[2 * i] + cng_xcorr_filt * xcorr[2 * i]; hItd->xcorr_smooth[2 * i + 1] = ( 1.f - cng_xcorr_filt ) * hItd->xcorr_smooth[2 * i + 1] + cng_xcorr_filt * xcorr[2 * i + 1]; -#else - hItd->xcorr_smooth[2 * i] = ( 1.f - sfm_L ) * hItd->xcorr_smooth[2 * i] + sfm_L * xcorr[2 * i]; - hItd->xcorr_smooth[2 * i + 1] = ( 1.f - sfm_L ) * hItd->xcorr_smooth[2 * i + 1] + sfm_L * xcorr[2 * i + 1]; -#endif tmpf1 = sqrtf( hItd->xcorr_smooth[i * 2] * hItd->xcorr_smooth[i * 2] + hItd->xcorr_smooth[i * 2 + 1] * hItd->xcorr_smooth[i * 2 + 1] ); tmpf1 += EPSILON; tmpf2 = tmpf1; diff --git a/lib_enc/ivas_stereo_dft_td_itd.c b/lib_enc/ivas_stereo_dft_td_itd.c index fd4cbdde71..7720c49abf 100644 --- a/lib_enc/ivas_stereo_dft_td_itd.c +++ b/lib_enc/ivas_stereo_dft_td_itd.c @@ -384,10 +384,8 @@ void stereo_td_itd( void stereo_td_itd_mdct_stereo( CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ -#ifdef FIX_ITD_CNG const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ -#endif const int16_t input_frame /* i : frame length */ ) { @@ -415,11 +413,7 @@ void stereo_td_itd_mdct_stereo( stereo_dft_enc_analyze( hCPE->hCoreCoder, CPE_CHANNELS, input_frame, NULL, hStereoMdct, DFT, hCPE->input_mem ); /*call ITD function*/ -#ifdef FIX_ITD_CNG stereo_dft_enc_compute_itd( hCPE, DFT[0], DFT[1], STEREO_DFT_OFFSET, input_frame, vad_flag_dtx, vad_hover_flag, bin_nrgL, bin_nrgR ); -#else - stereo_dft_enc_compute_itd( hCPE, DFT[0], DFT[1], STEREO_DFT_OFFSET, input_frame, bin_nrgL, bin_nrgR ); -#endif /* Time Domain ITD compensation using extrapolation */ #ifdef DEBUG_MODE_DFT diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index 7fb89690f1..52d50821a5 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -212,10 +212,8 @@ void pre_proc( } vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL -#ifdef FIX_ITD_CNG , NULL -#endif ); /*----------------------------------------------------------------* diff --git a/lib_enc/vad.c b/lib_enc/vad.c index 98b6ad240e..5379f86dc0 100644 --- a/lib_enc/vad.c +++ b/lib_enc/vad.c @@ -162,10 +162,8 @@ int16_t dtx_hangover_addition( int16_t *vad_hover_flag, /* o : VAD hangover flag */ VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ -#ifdef FIX_ITD_CNG , int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ -#endif ) { int16_t hangover_short_dtx, flag_dtx; @@ -307,12 +305,10 @@ int16_t dtx_hangover_addition( if ( flag_dtx != 0 && st->localVAD == 0 ) { *vad_hover_flag = 1; -#ifdef FIX_ITD_CNG if ( rem_dtx_ho != NULL ) { *rem_dtx_ho = max( hangover_short_dtx - hVAD->hangover_cnt_dtx, 0 ); } -#endif } return flag_dtx; -- GitLab From fbec58d32eaa9d8bec2e6fdcd9033c38ff717079 Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Thu, 15 Dec 2022 17:34:41 +0100 Subject: [PATCH 418/620] fix the wrong nchan_transport_real when coming from non-McMASA to 3-ch McM -> fix MSAN error --- lib_enc/ivas_corecoder_enc_reconfig.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 668eea8318..50d8e4faf8 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -143,16 +143,17 @@ ivas_error ivas_corecoder_enc_reconfig( { #ifdef MC_BITRATE_SWITCHING int16_t nchan_transport_real, nchan_transport_old_real; - if ( last_mc_mode == MC_MODE_MCMASA ) + + nchan_transport_old_real = nchan_transport_old; + nchan_transport_real = st_ivas->nchan_transport; + /* in SCE+CPE McMASA nchan_transport is still 2, fix the numbers */ + if ( hEncoderConfig->ivas_format == MC_FORMAT && last_mc_mode == MC_MODE_MCMASA ) { - /* in SCE+CPE McMASA nchan_transport is still 2 */ nchan_transport_old_real = nSCE_old + CPE_CHANNELS * nCPE_old; - nchan_transport_real = st_ivas->nSCE + CPE_CHANNELS * st_ivas->nCPE; } - else + if ( hEncoderConfig->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) { - nchan_transport_old_real = nchan_transport_old; - nchan_transport_real = st_ivas->nchan_transport; + nchan_transport_real = st_ivas->nSCE + CPE_CHANNELS * st_ivas->nCPE; } /* something in transport changes */ @@ -190,7 +191,7 @@ ivas_error ivas_corecoder_enc_reconfig( ind_list_metadata = hMetaData->ind_list; /* pointer to the beginning of the global list */ #ifdef MC_BITRATE_SWITCHING - if ( last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) + if ( hEncoderConfig->ivas_format == MC_FORMAT && last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) { /* within McMASA we can modify the transport signals when switching */ /* copy earlier dmx buffers */ -- GitLab From a133128e720577de6e74e3f8526be431b3656412 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:35:12 +0100 Subject: [PATCH 419/620] [cleanup] accept FIX_ISM_INACTIVE_BITS --- lib_com/ivas_ism_config.c | 12 ------------ lib_com/options.h | 1 - lib_enc/ivas_ism_metadata_enc.c | 2 -- 3 files changed, 15 deletions(-) diff --git a/lib_com/ivas_ism_config.c b/lib_com/ivas_ism_config.c index 75ef0a2ae7..bf782e2a39 100644 --- a/lib_com/ivas_ism_config.c +++ b/lib_com/ivas_ism_config.c @@ -199,11 +199,7 @@ ivas_error ivas_ism_config( diff = 0; for ( ch = 0; ch < n_ISms; ch++ ) { -#ifdef FIX_ISM_INACTIVE_BITS int16_t limit; -#else - int32_t limit; -#endif limit = MIN_BRATE_SWB_BWE / FRMS_PER_SECOND; if ( element_brate[ch] < MIN_BRATE_SWB_STEREO ) /* replicate function set_bw() -> check the coded audio band-width */ @@ -223,20 +219,12 @@ ivas_error ivas_ism_config( else if ( ism_imp[ch] == ISM_LOW_IMP ) { tmp = (int16_t) ( BETA_ISM_LOW_IMP * bits_CoreCoder[ch] ); -#ifdef FIX_ISM_INACTIVE_BITS tmp = max( limit, tmp ); -#else - tmp = (int16_t) max( limit, bits_CoreCoder[ch] - tmp ); -#endif } else if ( ism_imp[ch] == ISM_MEDIUM_IMP ) { tmp = (int16_t) ( BETA_ISM_MEDIUM_IMP * bits_CoreCoder[ch] ); -#ifdef FIX_ISM_INACTIVE_BITS tmp = max( limit, tmp ); -#else - tmp = (int16_t) max( limit, bits_CoreCoder[ch] - tmp ); -#endif } else /* ism_imp[ch] == ISM_HIGH_IMP */ { diff --git a/lib_com/options.h b/lib_com/options.h index 5a846c0ca1..5fdd544b2e 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ -#define FIX_ISM_INACTIVE_BITS /* Issue 230: fix bitbudget distribution in inactive frames in ISM format */ #define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ #define FIX_MDCT_AND_MC_MONO_ISSUES /* Issue 242: Fix some issues with TCX-LTP and delay alignement for mono output */ diff --git a/lib_enc/ivas_ism_metadata_enc.c b/lib_enc/ivas_ism_metadata_enc.c index c4fcd2dee7..57c6a37a7b 100644 --- a/lib_enc/ivas_ism_metadata_enc.c +++ b/lib_enc/ivas_ism_metadata_enc.c @@ -105,7 +105,6 @@ static void rate_ism_importance( { ctype = hSCE[ch]->hCoreCoder[0]->coder_type_raw; -#ifdef FIX_ISM_INACTIVE_BITS if ( hSCE[ch]->hCoreCoder[0]->tcxonly ) { if ( hSCE[ch]->hCoreCoder[0]->localVAD == 0 ) @@ -117,7 +116,6 @@ static void rate_ism_importance( ctype = GENERIC; } } -#endif if ( hIsmMeta[ch]->ism_metadata_flag == 0 ) { -- GitLab From 696f7dc6c5425ae585d51ffe760c7b3f65f68da4 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:35:57 +0100 Subject: [PATCH 420/620] [cleanup] accept IMPROVE_CMDLINE_ROBUSTNESS --- apps/encoder.c | 27 --------------------------- lib_com/options.h | 1 - 2 files changed, 28 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index 005794d939..d277a98ef1 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1273,20 +1273,14 @@ static bool parseCmdlIVAS_enc( arg->inputFormat = IVAS_ENC_INPUT_ISM; i++; -#ifdef IMPROVE_CMDLINE_ROBUSTNESS if ( i < argc - 4 ) -#else - if ( i < argc - 5 ) -#endif { -#ifdef IMPROVE_CMDLINE_ROBUSTNESS if ( !is_digits_only( argv[i] ) ) { fprintf( stderr, "Error: Number of ISM channels must be an integer number!\n\n" ); usage_enc(); return false; } -#endif if ( sscanf( argv[i], "%d", &tmp ) > 0 ) { @@ -1299,14 +1293,12 @@ static bool parseCmdlIVAS_enc( usage_enc(); return false; } -#ifdef IMPROVE_CMDLINE_ROBUSTNESS else if ( tmp > IVAS_MAX_NUM_OBJECTS ) { fprintf( stderr, "Error: Too high number of ISM channels specified!\n\n" ); usage_enc(); return false; } -#endif else { arg->inputFormatConfig.ism.numObjects = (int16_t) tmp; @@ -1338,11 +1330,7 @@ static bool parseCmdlIVAS_enc( } else { -#ifdef IMPROVE_CMDLINE_ROBUSTNESS fprintf( stderr, "Error: not enough metadata arguments specified!\n\n" ); -#else - fprintf( stderr, "Error: not enough arguments\n\n" ); -#endif usage_enc(); return false; } @@ -1355,19 +1343,10 @@ static bool parseCmdlIVAS_enc( /* SBA configuration */ if ( i < argc - 4 -#ifdef IMPROVE_CMDLINE_ROBUSTNESS && is_number( argv[i] ) && sscanf( argv[i], "%d", &tmp ) > 0 -#endif ) { -#ifndef IMPROVE_CMDLINE_ROBUSTNESS - if ( sscanf( argv[i], "%d", &tmp ) > 0 ) - { -#endif i++; -#ifndef IMPROVE_CMDLINE_ROBUSTNESS - } -#endif } else { @@ -1404,14 +1383,12 @@ static bool parseCmdlIVAS_enc( if ( i < argc - 4 ) { -#ifdef IMPROVE_CMDLINE_ROBUSTNESS if ( !is_digits_only( argv[i] ) ) { fprintf( stderr, "Error: Number of MASA channels must be an integer number!\n\n" ); usage_enc(); return false; } -#endif if ( sscanf( argv[i], "%d", &tmp ) > 0 ) { @@ -1427,11 +1404,7 @@ static bool parseCmdlIVAS_enc( arg->inputFormatConfig.masaVariant = IVAS_ENC_MASA_2CH; break; default: -#ifdef IMPROVE_CMDLINE_ROBUSTNESS fprintf( stderr, "Error: MASA channels must be 1 or 2.\n\n" ); -#else - fprintf( stderr, "Error: MASA channels must for the moment be 1 or 2.\n\n" ); -#endif usage_enc(); return false; } diff --git a/lib_com/options.h b/lib_com/options.h index 5fdd544b2e..9bffcfc901 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ -#define IMPROVE_CMDLINE_ROBUSTNESS /* Issue 233: Improve robustness of command-line parameters */ #define FIX_MDCT_AND_MC_MONO_ISSUES /* Issue 242: Fix some issues with TCX-LTP and delay alignement for mono output */ /* ################## End DEVELOPMENT switches ######################### */ -- GitLab From d9890418ce6626bb7c6a4b616910a57022dd635c Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:36:44 +0100 Subject: [PATCH 421/620] [cleanup] accept FIX_MDCT_AND_MC_MONO_ISSUES --- lib_com/options.h | 1 - lib_dec/ivas_cpe_dec.c | 12 ------------ lib_dec/ivas_stereo_mdct_stereo_dec.c | 4 ---- lib_dec/ivas_stereo_switching_dec.c | 18 ------------------ 4 files changed, 35 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 9bffcfc901..69cdf582f8 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,7 +149,6 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ -#define FIX_MDCT_AND_MC_MONO_ISSUES /* Issue 242: Fix some issues with TCX-LTP and delay alignement for mono output */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index 41b8c339a2..d415407c7b 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -444,12 +444,6 @@ ivas_error ivas_cpe_dec( } } } -#ifndef FIX_MDCT_AND_MC_MONO_ISSUES - else if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && ( is_DTXrate( ivas_total_brate ) == 0 || ( is_DTXrate( ivas_total_brate ) == 1 && is_DTXrate( st_ivas->hDecoderConfig->last_ivas_total_brate ) == 0 ) ) ) - { - applyDmxMdctStereo( hCPE, output, output_frame ); - } -#endif /*----------------------------------------------------------------* * Update parameters for stereo CNA @@ -463,12 +457,10 @@ ivas_error ivas_cpe_dec( synchro_synthesis( ivas_total_brate, hCPE, output, output_frame, 0 ); -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES if ( hCPE->element_mode == IVAS_CPE_MDCT && hCPE->nchan_out == 1 && ( is_DTXrate( ivas_total_brate ) == 0 || ( is_DTXrate( ivas_total_brate ) == 1 && is_DTXrate( st_ivas->hDecoderConfig->last_ivas_total_brate ) == 0 ) ) ) { applyDmxMdctStereo( hCPE, output, output_frame ); } -#endif #ifndef DEBUG_STEREO_DFT_OUTRESPRED /*----------------------------------------------------------------* @@ -590,11 +582,7 @@ ivas_error create_cpe_dec( hCPE->lt_es_em = 0.0f; /* Note: nchan_out is considered to be related to the structure. This is nchan_out for CPE and for MASA_format is always 2. */ -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT || st_ivas->ivas_format == MC_FORMAT ) -#else - if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT || ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) ) -#endif { hCPE->nchan_out = CPE_CHANNELS; } diff --git a/lib_dec/ivas_stereo_mdct_stereo_dec.c b/lib_dec/ivas_stereo_mdct_stereo_dec.c index 480466ec18..fc53699ec5 100755 --- a/lib_dec/ivas_stereo_mdct_stereo_dec.c +++ b/lib_dec/ivas_stereo_mdct_stereo_dec.c @@ -655,11 +655,7 @@ void applyDmxMdctStereo( fade = 0.f; dmx_len = crossfade_len; } -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES else if ( hCPE->last_element_mode == IVAS_CPE_DFT && hCPE->last_element_brate <= IVAS_32k ) -#else - else if ( hCPE->last_element_mode == IVAS_CPE_DFT && hCPE->last_element_brate <= IVAS_24k4 ) -#endif { crossfade_len = NS2SA( hCPE->hCoreCoder[0]->output_Fs, DELAY_CLDFB_NS ); step /= crossfade_len; diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 8db6ae3ac3..da8c75844a 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -716,7 +716,6 @@ ivas_error stereo_memory_dec( if ( hCPE->last_element_mode == IVAS_CPE_DFT ) { -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES if ( hCPE->nchan_out == 1 ) { cpy_tcx_ltp_data( hCPE->hCoreCoder[0]->hTcxLtpDec, hCPE->hCoreCoder[1]->hTcxLtpDec, output_Fs ); @@ -725,9 +724,6 @@ ivas_error stereo_memory_dec( { cpy_tcx_ltp_data( &tcxLtpTmp, hCPE->hCoreCoder[1]->hTcxLtpDec, output_Fs ); } -#else - cpy_tcx_ltp_data( &tcxLtpTmp, hCPE->hCoreCoder[1]->hTcxLtpDec, output_Fs ); -#endif } if ( hCPE->last_element_mode == IVAS_CPE_TD ) @@ -986,9 +982,7 @@ void synchro_synthesis( int16_t dft_mono_brate_switch; int16_t delay_diff; float tmpF; -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES int16_t nChannels; -#endif sts = hCPE->hCoreCoder; output_Fs = sts[0]->output_Fs; @@ -1058,13 +1052,11 @@ void synchro_synthesis( } } -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES if ( hCPE->nchan_out == 1 && hCPE->last_element_mode == IVAS_CPE_MDCT ) { v_add( sts[0]->prev_synth_buffer, sts[1]->prev_synth_buffer, sts[0]->prev_synth_buffer, delay_comp_DFT ); v_multc( sts[0]->prev_synth_buffer, INV_SQRT_2, sts[0]->prev_synth_buffer, delay_comp_DFT ); } -#endif if ( use_cldfb_for_last_dft ) { @@ -1161,7 +1153,6 @@ void synchro_synthesis( } } -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES /* if previous frame had only one channel copy buffers to other channel */ if ( hCPE->nchan_out == 1 && hCPE->element_mode == IVAS_CPE_MDCT && hCPE->last_element_mode == IVAS_CPE_DFT ) { @@ -1169,7 +1160,6 @@ void synchro_synthesis( mvr2r( tmp_out[0], tmp_out[1], delay_cldfb ); mvr2r( p_output_mem[0], p_output_mem[1], delay_diff ); } -#endif /*----------------------------------------------------------------* * update DFT synthesis overlap memory @output_Fs; needed for TD->DFT stereo switching @@ -1254,12 +1244,8 @@ void synchro_synthesis( } } -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES nChannels = ( hCPE->element_mode == IVAS_CPE_MDCT ) ? 2 : hCPE->nchan_out; for ( n = 0; n < nChannels; n++ ) -#else - for ( n = 0; n < hCPE->nchan_out; n++ ) -#endif { if ( hCPE->element_mode == IVAS_CPE_MDCT ) { @@ -1292,11 +1278,7 @@ void synchro_synthesis( } /* cross-fading between DFT OLA memory and TD output */ -#ifdef FIX_MDCT_AND_MC_MONO_ISSUES for ( n = 0; n < nChannels; n++ ) -#else - for ( n = 0; n < hCPE->nchan_out; n++ ) -#endif { if ( hCPE->element_mode == IVAS_CPE_MDCT ) { -- GitLab From a8922279547ac85ab741ea5a2f25c77c01da8a4c Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 17:50:54 +0100 Subject: [PATCH 422/620] formating --- apps/encoder.c | 6 ++---- lib_enc/amr_wb_enc.c | 5 +---- lib_enc/ivas_core_pre_proc_front.c | 5 +---- lib_enc/ivas_front_vad.c | 5 +---- lib_enc/ivas_mct_enc.c | 5 +---- lib_enc/ivas_stat_enc.h | 18 +++++++++--------- lib_enc/ivas_stereo_cng_enc.c | 10 +++++----- lib_enc/ivas_stereo_dft_enc.c | 6 +++--- lib_enc/ivas_stereo_dft_enc_itd.c | 2 +- lib_enc/ivas_stereo_dft_td_itd.c | 4 ++-- lib_enc/pre_proc.c | 6 ++---- lib_rend/ivas_lib_rend_internal.h | 2 +- lib_rend/ivas_objectRenderer.c | 4 ++-- lib_rend/ivas_objectRenderer_hrFilt.c | 16 ++++++++-------- lib_rend/ivas_objectRenderer_mix.c | 2 +- lib_rend/ivas_objectRenderer_sfx.c | 1 - lib_rend/ivas_objectRenderer_sources.c | 22 +++++++++++----------- lib_rend/lib_rend.c | 2 +- 18 files changed, 52 insertions(+), 69 deletions(-) diff --git a/apps/encoder.c b/apps/encoder.c index d277a98ef1..0be04d7c8e 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -1342,11 +1342,9 @@ static bool parseCmdlIVAS_enc( arg->inputFormat = IVAS_ENC_INPUT_SBA; /* SBA configuration */ - if ( i < argc - 4 - && is_number( argv[i] ) && sscanf( argv[i], "%d", &tmp ) > 0 - ) + if ( i < argc - 4 && is_number( argv[i] ) && sscanf( argv[i], "%d", &tmp ) > 0 ) { - i++; + i++; } else { diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 4628ca7320..3b342220e3 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -292,10 +292,7 @@ void amr_wb_enc( } /* apply DTX hangover for CNG analysis */ - vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, &vad_hover_flag, NULL, NULL - , - NULL - ); + vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, &vad_hover_flag, NULL, NULL, NULL ); /*-----------------------------------------------------------------* * Select SID or FRAME_NO_DATA frame if DTX enabled diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 461179e847..1fdb26805c 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -453,10 +453,7 @@ ivas_error pre_proc_front_ivas( if ( ( hCPE != NULL && !( lr_vad_enabled && st->idchan == 0 ) ) || hSCE != NULL ) { - *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL - , - NULL - ); + *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL, NULL ); } else { diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 5c5e536f09..be54c3fc7e 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -193,10 +193,7 @@ ivas_error front_vad( } /* DTX hangover addition */ - vad_flag_dtx[n] = dtx_hangover_addition( sts[n], hFrontVad->hVAD->vad_flag, hFrontVad->lp_speech - hFrontVad->lp_noise, 0 /* <- no cldfb addition */, &vad_hover_flag[n], hFrontVad->hVAD, hFrontVad->hNoiseEst - , - &hFrontVads[n]->rem_dtx_ho - ); + vad_flag_dtx[n] = dtx_hangover_addition( sts[n], hFrontVad->hVAD->vad_flag, hFrontVad->lp_speech - hFrontVad->lp_noise, 0 /* <- no cldfb addition */, &vad_hover_flag[n], hFrontVad->hVAD, hFrontVad->hNoiseEst, &hFrontVads[n]->rem_dtx_ho ); if ( n_chan == 1 ) { diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 0b5423ff9c..0e9eaa1a5a 100644 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -167,10 +167,7 @@ ivas_error ivas_mct_enc( /* joint MCT encoding */ ivas_mct_core_enc( ivas_format, hMCT, st_ivas->hCPE, hMCT->nchan_out_woLFE + hMCT->num_lfe, ivas_total_brate, switch_bw, - ivas_format == MC_FORMAT ? (int16_t) st_ivas->hLFE->lfe_bits : 0 - , - st_ivas->hEncoderConfig->sba_order - ); + ivas_format == MC_FORMAT ? (int16_t) st_ivas->hLFE->lfe_bits : 0, st_ivas->hEncoderConfig->sba_order ); /* Spectrum quantization and coding */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 282391af75..465fa3b17a 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -810,17 +810,17 @@ typedef struct ivas_mcmasa_enc_data_structure typedef struct stereo_cng_enc { - int16_t prev_sg_average_counter; /* Counter for sidegain averaging */ - int16_t sg_active_cnt; /* Counter for sidegain averaging */ - int16_t sg_average_counter; /* Counter for sidegain averaging */ - float sg_average[STEREO_DFT_ERB4_BANDS]; /* Sidegain average */ - float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ - float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ + int16_t prev_sg_average_counter; /* Counter for sidegain averaging */ + int16_t sg_active_cnt; /* Counter for sidegain averaging */ + int16_t sg_average_counter; /* Counter for sidegain averaging */ + float sg_average[STEREO_DFT_ERB4_BANDS]; /* Sidegain average */ + float prev_sg_average[STEREO_DFT_ERB4_BANDS]; /* Previous sidegain average */ + float mem_cohBand[STEREO_DFT_BAND_MAX / 2]; /* Coherence memory */ float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )]; /* Previous coherence */ int16_t cng_counter; /* Counter for cng period length */ - int16_t td_active; /* TD-stereo indication */ - int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ - int16_t first_SID; /* Set if first SID frame since codec start */ + int16_t td_active; /* TD-stereo indication */ + int16_t first_SID_after_TD; /* Set if first SID frame after TD stereo */ + int16_t first_SID; /* Set if first SID frame since codec start */ } STEREO_CNG_ENC, *STEREO_CNG_ENC_HANDLE; diff --git a/lib_enc/ivas_stereo_cng_enc.c b/lib_enc/ivas_stereo_cng_enc.c index a0a42deb87..ca15794cc0 100644 --- a/lib_enc/ivas_stereo_cng_enc.c +++ b/lib_enc/ivas_stereo_cng_enc.c @@ -50,7 +50,7 @@ * Local constants *-------------------------------------------------------------------*/ -#define COH_FADE_MAX 4 +#define COH_FADE_MAX 4 #define COH_FADE_UPDATES 2 @@ -61,11 +61,11 @@ * ---------------------------------------------------------------*/ void stereo_dft_enc_sid_calc_coh( - STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ + STEREO_DFT_ENC_DATA_HANDLE hStereoDft, /* i/o: DFT stereo handle */ float prev_cohBand[2 * ( STEREO_DFT_BAND_MAX / 2 )], /* i/o: Previous coherence */ - int16_t *td_active, /* i/o: TD stereo mode indicator */ - int16_t *first_SID, /* i/o: First SID indicator */ - float *cohBand /* i/o: Coherence per band */ + int16_t *td_active, /* i/o: TD stereo mode indicator */ + int16_t *first_SID, /* i/o: First SID indicator */ + float *cohBand /* i/o: Coherence per band */ ) { int16_t b, k; diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c index ac93d8369e..c97e6715cc 100644 --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -62,7 +62,7 @@ static FILE *pF = NULL; #define STEREO_DFT_NRG_PAST_MAX_BAND_LB 4 #define STEREO_DFT_DMX_CROSSOVER ( int16_t )( 132 * ( (float) ( STEREO_DFT_N_NS_ENC ) / STEREO_DFT_N_NS ) + 0.5f ) /* crossover bin between binwise and bandwise DMX */ #define ITD_VAD_E_BAND_N_INIT 200000 -#define ITD_SID_PREV_FRAMES 5 +#define ITD_SID_PREV_FRAMES 5 /*------------------------------------------------------------------------- @@ -1230,10 +1230,10 @@ float stereo_dft_enc_synthesize( *-------------------------------------------------------------------------*/ void stereo_dft_enc_process( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ - const int16_t input_frame /* i : input frame length */ + const int16_t input_frame /* i : input frame length */ ) { int16_t i, j, b; diff --git a/lib_enc/ivas_stereo_dft_enc_itd.c b/lib_enc/ivas_stereo_dft_enc_itd.c index 1f8ce63636..d8c32e7aee 100644 --- a/lib_enc/ivas_stereo_dft_enc_itd.c +++ b/lib_enc/ivas_stereo_dft_enc_itd.c @@ -66,7 +66,7 @@ #define SUBDIV ( 2 * STEREO_DFT_ITD_MAX_ANA / L_SAMPLES ) #define DENOM 0.05f -#define XSPEC_ALPHA ( 1.f / 32 ) +#define XSPEC_ALPHA ( 1.f / 32 ) #define CORR_FILT 0.8f #define CORR_RESET_FRAMES_MAX 20 diff --git a/lib_enc/ivas_stereo_dft_td_itd.c b/lib_enc/ivas_stereo_dft_td_itd.c index 7720c49abf..4f7060e350 100644 --- a/lib_enc/ivas_stereo_dft_td_itd.c +++ b/lib_enc/ivas_stereo_dft_td_itd.c @@ -383,10 +383,10 @@ void stereo_td_itd( * ---------------------------------------------------------------*/ void stereo_td_itd_mdct_stereo( - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder handle */ const int16_t vad_flag_dtx[], /* i: VAD dtx flags */ const int16_t vad_hover_flag[], /* i: VAD hangover flags */ - const int16_t input_frame /* i : frame length */ + const int16_t input_frame /* i : frame length */ ) { int16_t i; diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index 52d50821a5..33728a6f40 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -211,10 +211,8 @@ void pre_proc( st->vad_flag = vad_flag_cldfb; } - vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL - , - NULL - ); + vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL, + NULL ); /*----------------------------------------------------------------* * NB/WB/SWB/FB bandwidth detector diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h index 83e5d1d280..c779916703 100644 --- a/lib_rend/ivas_lib_rend_internal.h +++ b/lib_rend/ivas_lib_rend_internal.h @@ -108,7 +108,7 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ - float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ + float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ); ivas_error ivas_rend_TDObjRendOpen( diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 60e7cfb60d..9fc512e639 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -291,7 +291,7 @@ static ivas_error TDREND_GetMix( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ float output[][L_FRAME48k], /* i/o: ISm object synth / rendered output in 0,1 */ const int16_t subframe_length, /* i/o: subframe length */ - const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ + const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ ) { int16_t i; @@ -642,7 +642,7 @@ ivas_error ivas_rend_TDObjRenderFrame( const IVAS_REND_HeadRotData *headRotData, /* i : Input head positions */ const IVAS_REND_AudioObjectPosition *currentPos, /* i : Object position */ const int16_t output_frame, /* i : output frame length */ - float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ + float output[][L_FRAME48k] /* i/o: SCE channels / Binaural synthesis */ ) { int16_t subframe_length; diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index e09450bcc5..9230ad3dc8 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -343,12 +343,12 @@ void TDREND_HRFILT_SetFiltSet( --------------------------------------------------------------------*/ ivas_error TDREND_REND_RenderSourceHRFilt( - TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ - const float *hrf_left_delta, /* i: Left filter interpolation delta */ - const float *hrf_right_delta, /* i: Right filter interpolation delta */ - const int16_t intp_count, /* i: Interpolation count */ + TDREND_SRC_t *Src_p, /* i/o: The source to be rendered */ + const float *hrf_left_delta, /* i: Left filter interpolation delta */ + const float *hrf_right_delta, /* i: Right filter interpolation delta */ + const int16_t intp_count, /* i: Interpolation count */ float output_buf[][L_SPATIAL_SUBFR_48k], /* o : Output buffer */ - const int16_t subframe_length /* i : Subframe length in use */ + const int16_t subframe_length /* i : Subframe length in use */ ) { float LeftOutputFrame[L_SPATIAL_SUBFR_48k]; @@ -682,9 +682,9 @@ void GetFilterFromAngle( TDREND_HRFILT_FiltSet_t *HrFiltSet_p, /* i/o: HR filter set structure */ const float Elev, /* i : Elevation, degrees */ float Azim, /* i : Azimuth, degrees */ - float *hrf_left, /* o : Left HR filter */ - float *hrf_right, /* o : Right HR filter */ - int16_t *itd /* o : ITD value */ + float *hrf_left, /* o : Left HR filter */ + float *hrf_right, /* o : Right HR filter */ + int16_t *itd /* o : ITD value */ ) { diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index c44152030e..670c4378df 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -290,7 +290,7 @@ ivas_error TDREND_MIX_SetDistAttenModel( ivas_error TDREND_MIX_AddSrc( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ int16_t *SrcInd, /* o : Source index */ - const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ + const TDREND_PosType_t PosType /* i : Position type (absolute/relative) */ ) { TDREND_SRC_t *Src_p; diff --git a/lib_rend/ivas_objectRenderer_sfx.c b/lib_rend/ivas_objectRenderer_sfx.c index 8b19a728fa..cc6e6c0a8d 100644 --- a/lib_rend/ivas_objectRenderer_sfx.c +++ b/lib_rend/ivas_objectRenderer_sfx.c @@ -269,4 +269,3 @@ void TDREND_firfilt( return; } - diff --git a/lib_rend/ivas_objectRenderer_sources.c b/lib_rend/ivas_objectRenderer_sources.c index ccb5ef2aad..d3f3df30fa 100644 --- a/lib_rend/ivas_objectRenderer_sources.c +++ b/lib_rend/ivas_objectRenderer_sources.c @@ -246,16 +246,16 @@ void TDREND_SRC_REND_UpdateFiltersFromSpatialParams( BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd, /* i/o: TD renderer handle */ TDREND_SRC_REND_t *SrcRend_p, /* i/o: Source object */ TDREND_SRC_SPATIAL_t *SrcSpatial_p, /* i : Spatial aspects of source */ - float *hrf_left_prev, /* o: Left filter */ - float *hrf_right_prev, /* o: Right filter */ - float *hrf_left_delta, /* o: Left filter interpolation delta */ - float *hrf_right_delta, /* o: Right filter interpolation delta */ - int16_t *intp_count, /* o: Interpolation count */ - int16_t *filterlength, /* o: Length of filters */ - int16_t *itd, /* o: ITD value */ - float *Gain, /* o: Gain value */ - TDREND_SRC_t *Src_p, /* i/o: Source pointer */ - const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ + float *hrf_left_prev, /* o: Left filter */ + float *hrf_right_prev, /* o: Right filter */ + float *hrf_left_delta, /* o: Left filter interpolation delta */ + float *hrf_right_delta, /* o: Right filter interpolation delta */ + int16_t *intp_count, /* o: Interpolation count */ + int16_t *filterlength, /* o: Length of filters */ + int16_t *itd, /* o: ITD value */ + float *Gain, /* o: Gain value */ + TDREND_SRC_t *Src_p, /* i/o: Source pointer */ + const int16_t subframe_idx /* i : Subframe index to 5 ms subframe */ ) { TDREND_MIX_Listener_t *Listener_p; @@ -656,7 +656,7 @@ void TDREND_SRC_Dealloc( --------------------------------------------------------------------*/ void TDREND_SRC_Init( - TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ + TDREND_SRC_t *Src_p, /* i/o: Source to initialize */ const TDREND_PosType_t PosType /* i : Position type specifier */ ) { diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 4420bf0245..f682a0731f 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3780,7 +3780,7 @@ static ivas_error renderIsmToMc( wmops_sub_start( "renderIsmToMc" ); -/* TODO(sgi): Possible optimization: less processing needed if position didn't change */ + /* TODO(sgi): Possible optimization: less processing needed if position didn't change */ if ( *ismInput->base.ctx.pOutConfig == IVAS_REND_AUDIO_CONFIG_STEREO ) { set_zero( currentPanGains, 16 ); -- GitLab From 444b72d4a627370f2dc510a3d7ab45f36b35d936 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 18:30:10 +0100 Subject: [PATCH 423/620] Do not propagate Etot parameter */; under REMOVE_ETOT_PROPAGATION --- lib_com/ivas_prot.h | 7 +++ lib_com/options.h | 2 + lib_com/prot.h | 13 ++++-- lib_enc/amr_wb_enc.c | 4 ++ lib_enc/evs_enc.c | 38 ++++++++++----- lib_enc/ivas_core_enc.c | 20 +++++--- lib_enc/ivas_core_pre_proc_front.c | 75 +++++++++++++++++++++++++----- lib_enc/ivas_cpe_enc.c | 30 ++++++++++-- lib_enc/ivas_ism_enc.c | 19 ++++++-- lib_enc/ivas_sce_enc.c | 17 +++++-- lib_enc/ivas_stereo_td_enc.c | 23 ++++++++- lib_enc/nois_est.c | 4 ++ lib_enc/pre_proc.c | 72 ++++++++++++++++++++++------ lib_enc/updt_enc.c | 9 +++- 14 files changed, 269 insertions(+), 64 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 120042c891..08cc2effde 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -183,7 +183,9 @@ ivas_error pre_proc_front_ivas( const int16_t n, /* i : channel number */ float old_inp_12k8[], /* o : buffer of old input signal */ float old_inp_16k[], /* o : buffer of old input signal @16kHz */ +#ifndef REMOVE_ETOT_PROPAGATION float *Etot, /* o : total energy */ +#endif float *ener, /* o : residual energy from Levinson-Durbin */ float *relE, /* o : frame relative energy */ float A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ @@ -413,7 +415,9 @@ ivas_error ivas_core_enc( const int16_t n_CoreChannels, /* i : number of core channels to be coded */ float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ +#ifndef REMOVE_ETOT_PROPAGATION const float Etot[CPE_CHANNELS], /* i : total energy */ +#endif float ener[CPE_CHANNELS], /* i : residual energy from Levinson-Durbin */ float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes */ float Aw[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquantized for subframes */ @@ -1713,6 +1717,9 @@ void tdm_ol_pitch_comparison( void tdm_configure_enc( CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ +#ifdef REMOVE_ETOT_PROPAGATION + const float Etot_last[CPE_CHANNELS], /* i/o: Energy of last frame */ +#endif const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ const int16_t tdm_ratio_idx, /* i : ratio index */ const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ diff --git a/lib_com/options.h b/lib_com/options.h index 69cdf582f8..e4216188f8 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,6 +149,8 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ +#define REMOVE_ETOT_PROPAGATION /* Issue 251: Do not propagate Etot parameter */ + /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 760571cb46..fb2097b0dd 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -2300,8 +2300,10 @@ void pre_proc( float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ float **inp, /* o : ptr. to inp. signal in the current frame*/ float fr_bands[2 * NB_BANDS], /* i : energy in frequency bands */ - float *Etot, /* i : total energy */ - float *ener, /* o : residual energy from Levinson-Durbin */ +#ifndef REMOVE_ETOT_PROPAGATION + float *Etot, /* i : total energy */ +#endif + float *ener, /* o : residual energy from Levinson-Durbin */ #ifndef FIX_I4_OL_PITCH int16_t pitch_orig[3], /* o : open-loop pitch values for quantization */ #endif @@ -3914,8 +3916,11 @@ void updt_enc( ); void updt_enc_common( - Encoder_State *st, /* i/o: encoder state structure */ - const float Etot /* i : total energy */ + Encoder_State *st /* i/o: encoder state structure */ +#ifndef REMOVE_ETOT_PROPAGATION + , + const float Etot /* i : total energy */ +#endif ); void updt_IO_switch_enc( diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 3b342220e3..8d2ecc5231 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -531,7 +531,11 @@ void amr_wb_enc( updt_enc( st, old_exc, pitch_buf, 0, Aq, isf_new, isp_new, dummy_buf ); /* update main codec paramaters */ +#ifdef REMOVE_ETOT_PROPAGATION + updt_enc_common( st ); +#else updt_enc_common( st, Etot ); +#endif #ifdef DEBUG_MODE_INFO dbgwrite( &st->codec_mode, sizeof( int16_t ), 1, input_frame, "res/codec" ); diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 29b610db79..5f704b75aa 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -72,18 +72,20 @@ ivas_error evs_enc( float old_inp_12k8[L_INP_12k8], *inp; /* buffer of input signal @ 12k8 */ float old_inp_16k[L_INP]; /* buffer of input signal @ 16kHz */ float fr_bands[2 * NB_BANDS]; /* energy in frequency bands */ - float Etot; /* total energy; correlation shift */ - float ener; /* residual energy from Levinson-Durbin */ - float A[NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ - float Aw[NB_SUBFR16k * ( M + 1 )]; /* weighted A(z) unquantized for subframes */ - float epsP[M + 1]; /* LP prediction errors */ - float lsp_new[M]; /* LSPs at the end of the frame */ - float lsp_mid[M]; /* ISPs in the middle of the frame */ - int16_t vad_hover_flag; /* VAD hangover flag */ - int16_t hq_core_type; /* HQ core type (HQ, or LR-MDCT) */ - int16_t attack_flag; /* attack flag (GSC or TC) */ - float new_inp_resamp16k[L_FRAME16k]; /* new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ - float old_syn_12k8_16k[L_FRAME16k]; /* ACELP core synthesis at 12.8kHz or 16kHz to be used by the SWB BWE */ +#ifndef REMOVE_ETOT_PROPAGATION + float Etot; /* total energy; correlation shift */ +#endif + float ener; /* residual energy from Levinson-Durbin */ + float A[NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ + float Aw[NB_SUBFR16k * ( M + 1 )]; /* weighted A(z) unquantized for subframes */ + float epsP[M + 1]; /* LP prediction errors */ + float lsp_new[M]; /* LSPs at the end of the frame */ + float lsp_mid[M]; /* ISPs in the middle of the frame */ + int16_t vad_hover_flag; /* VAD hangover flag */ + int16_t hq_core_type; /* HQ core type (HQ, or LR-MDCT) */ + int16_t attack_flag; /* attack flag (GSC or TC) */ + float new_inp_resamp16k[L_FRAME16k]; /* new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ + float old_syn_12k8_16k[L_FRAME16k]; /* ACELP core synthesis at 12.8kHz or 16kHz to be used by the SWB BWE */ float shb_speech[L_FRAME16k]; float hb_speech[L_FRAME16k / 4]; float new_swb_speech[L_FRAME48k]; @@ -181,10 +183,18 @@ ivas_error evs_enc( *---------------------------------------------------------------------*/ #ifdef FIX_I4_OL_PITCH +#ifdef REMOVE_ETOT_PROPAGATION + pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); +#else pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); +#endif +#else +#ifdef REMOVE_ETOT_PROPAGATION + pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &ener, pitch_orig, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); #else pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, pitch_orig, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); #endif +#endif if ( st->mdct_sw == MODE2 ) @@ -509,7 +519,11 @@ ivas_error evs_enc( * Updates *---------------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + updt_enc_common( st ); +#else updt_enc_common( st, Etot ); +#endif if ( st->mdct_sw == MODE1 ) { diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index dc3247cbfb..c3052a8577 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -55,13 +55,15 @@ extern float snr_[2][320]; *-------------------------------------------------------------------*/ ivas_error ivas_core_enc( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - const int16_t n_CoreChannels, /* i : number of core channels to be coded */ - float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ - float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ - const float Etot[CPE_CHANNELS], /* i : total energy */ + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const int16_t n_CoreChannels, /* i : number of core channels to be coded */ + float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ + float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ +#ifndef REMOVE_ETOT_PROPAGATION + const float Etot[CPE_CHANNELS], /* i : total energy */ +#endif float ener[CPE_CHANNELS], /* i : residual energy from Levinson-Durbin */ float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes */ float Aw[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquantized for subframes */ @@ -409,7 +411,11 @@ ivas_error ivas_core_enc( * Common updates *---------------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + updt_enc_common( st ); +#else updt_enc_common( st, Etot[n] ); +#endif } diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 1fdb26805c..a3c0dccc76 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -60,15 +60,17 @@ static void calculate_energy_buffer( CPE_ENC_HANDLE hCPE, float enerBuffer_dft[] *--------------------------------------------------------------------*/ ivas_error pre_proc_front_ivas( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const int32_t element_brate, /* i : SCE/CPE element bitrate */ - const int16_t nb_bits_metadata, /* i : number of metadata bits */ - const int16_t input_frame, /* i : frame length */ - const int16_t n, /* i : channel number */ - float old_inp_12k8[], /* o : buffer of old input signal */ - float old_inp_16k[], /* o : buffer of old input signal @16kHz */ - float *Etot, /* o : total energy */ + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const int32_t element_brate, /* i : SCE/CPE element bitrate */ + const int16_t nb_bits_metadata, /* i : number of metadata bits */ + const int16_t input_frame, /* i : frame length */ + const int16_t n, /* i : channel number */ + float old_inp_12k8[], /* o : buffer of old input signal */ + float old_inp_16k[], /* o : buffer of old input signal @16kHz */ +#ifndef REMOVE_ETOT_PROPAGATION + float *Etot, /* o : total energy */ +#endif float *ener, /* o : residual energy from Levinson-Durbin */ float *relE, /* o : frame relative energy */ float A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ @@ -105,8 +107,11 @@ ivas_error pre_proc_front_ivas( const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ ) { - float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ - float *wsp; /* weighted input signal buffer */ + float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ + float *wsp; /* weighted input signal buffer */ +#ifdef REMOVE_ETOT_PROPAGATION + float Etot; /* total energy */ +#endif float fr_bands[2 * NB_BANDS]; /* energy in frequency bands */ float lf_E[2 * VOIC_BINS]; /* per bin spectrum energy in lf */ float tmpN[NB_BANDS]; /* Temporary noise update */ @@ -408,11 +413,19 @@ ivas_error pre_proc_front_ivas( * Spectral analysis *--------------------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + analy_sp( element_mode, hCPE, input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, &Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); +#else analy_sp( element_mode, hCPE, input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); +#endif if ( hStereoClassif != NULL ) { +#ifdef REMOVE_ETOT_PROPAGATION + if ( st->lp_speech - Etot > 25 ) +#else if ( st->lp_speech - *Etot > 25 ) +#endif { hStereoClassif->silence_flag = 2; } @@ -427,7 +440,11 @@ ivas_error pre_proc_front_ivas( * SAD (1-signal, 0-noise) *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + noise_est_pre( Etot, st->ini_frame, st->hNoiseEst, st->idchan, element_mode, hCPE != NULL ? hCPE->last_element_mode : element_mode ); +#else noise_est_pre( *Etot, st->ini_frame, st->hNoiseEst, st->idchan, element_mode, hCPE != NULL ? hCPE->last_element_mode : element_mode ); +#endif if ( element_mode == IVAS_CPE_TD && ( ( abs( hCPE->hStereoTD->tdm_last_ratio_idx - tdm_ratio_idx ) > 5 && st->idchan == 1 ) || abs( hCPE->hStereoTD->tdm_last_inst_ratio_idx - hCPE->hStereoTD->tdm_inst_ratio_idx ) > 10 ) ) { @@ -500,7 +517,11 @@ ivas_error pre_proc_front_ivas( * Correlation correction as a function of total noise level *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); +#else noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, *Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); +#endif if ( lr_vad_enabled && st->idchan == 0 ) { @@ -510,7 +531,11 @@ ivas_error pre_proc_front_ivas( corr_shiftR = correlation_shift( hCPE->hFrontVad[1]->hNoiseEst->totalNoise ); } +#ifdef REMOVE_ETOT_PROPAGATION + *relE = Etot - st->lp_speech; +#else *relE = *Etot - st->lp_speech; +#endif corr_shift = correlation_shift( st->hNoiseEst->totalNoise ); @@ -656,8 +681,13 @@ ivas_error pre_proc_front_ivas( * Update estimated noise energy and voicing cut-off frequency *-----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + noise_est( st, old_pitch1, tmpN, epsP, Etot, *relE, corr_shift, tmpE, fr_bands, cor_map_sum, &ncharX, &sp_div, + &non_staX, loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &dummy /*sp_floor*/, S_map, hStereoClassif, NULL, st->ini_frame ); +#else noise_est( st, old_pitch1, tmpN, epsP, *Etot, *relE, corr_shift, tmpE, fr_bands, cor_map_sum, &ncharX, &sp_div, &non_staX, loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &dummy /*sp_floor*/, S_map, hStereoClassif, NULL, st->ini_frame ); +#endif if ( lr_vad_enabled && st->idchan == 0 ) { @@ -689,7 +719,11 @@ ivas_error pre_proc_front_ivas( find_tilt( fr_bands, st->hNoiseEst->bckr, ee, st->pitch, st->voicing, lf_E, corr_shift, st->input_bwidth, st->max_band, hp_E, MODE1, &( st->bckr_tilt_lt ), st->Opt_SC_VBR ); +#ifdef REMOVE_ETOT_PROPAGATION + st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, &dE1X, corr_shift, *relE, Etot, hp_E, &flag_spitch, last_core_orig, hStereoClassif ); +#else st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, &dE1X, corr_shift, *relE, *Etot, hp_E, &flag_spitch, last_core_orig, hStereoClassif ); +#endif /*-----------------------------------------------------------------* * channel aware mode configuration * @@ -725,7 +759,11 @@ ivas_error pre_proc_front_ivas( * 1st stage speech/music classification (GMM model) *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + smc_dec = ivas_smc_gmm( st, hStereoClassif, localVAD_HE_SAD, Etot, lsp_new, *cor_map_sum, epsP, PS, non_staX, *relE, &high_lpn_flag, flag_spitch ); +#else smc_dec = ivas_smc_gmm( st, hStereoClassif, localVAD_HE_SAD, *Etot, lsp_new, *cor_map_sum, epsP, PS, non_staX, *relE, &high_lpn_flag, flag_spitch ); +#endif #ifdef DEBUGGING if ( st->idchan == 0 ) @@ -748,19 +786,28 @@ ivas_error pre_proc_front_ivas( * Update of old per-band energy spectrum *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + long_enr( st, Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); +#else long_enr( st, *Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); +#endif mvr2r( fr_bands + NB_BANDS, st->hNoiseEst->enrO, NB_BANDS ); if ( lr_vad_enabled && st->idchan == 0 ) { +#ifdef REMOVE_ETOT_PROPAGATION + long_enr( st, Etot, localVAD_HE_SAD, high_lpn_flag, hCPE->hFrontVad, CPE_CHANNELS, localVAD_HE_SAD_LR, Etot_LR ); +#else long_enr( st, *Etot, localVAD_HE_SAD, high_lpn_flag, hCPE->hFrontVad, CPE_CHANNELS, localVAD_HE_SAD_LR, Etot_LR ); +#endif mvr2r( fr_bands_LR[0] + NB_BANDS, hCPE->hFrontVad[0]->hNoiseEst->enrO, NB_BANDS ); mvr2r( fr_bands_LR[1] + NB_BANDS, hCPE->hFrontVad[1]->hNoiseEst->enrO, NB_BANDS ); - +#ifndef REMOVE_ETOT_PROPAGATION hCPE->hFrontVad[0]->hNoiseEst->Etot_last = Etot_LR[0]; hCPE->hFrontVad[1]->hNoiseEst->Etot_last = Etot_LR[1]; +#endif } /*----------------------------------------------------------------* @@ -804,7 +851,11 @@ ivas_error pre_proc_front_ivas( } /* 2nd stage speech/music classification (ACELP/GSC/TCX core selection) */ +#ifdef REMOVE_ETOT_PROPAGATION + ivas_smc_mode_selection( st, element_brate, smc_dec, *relE, Etot, attack_flag, inp_12k8, S_map, flag_spitch ); +#else ivas_smc_mode_selection( st, element_brate, smc_dec, *relE, *Etot, attack_flag, inp_12k8, S_map, flag_spitch ); +#endif #ifdef ITD_WINNER_GAIN_MODIFY if ( element_mode == IVAS_CPE_DFT ) diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index b422bf8c0c..3943f291af 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -63,9 +63,11 @@ ivas_error ivas_cpe_enc( CPE_ENC_HANDLE hCPE; Encoder_State **sts; int16_t n, n_CoreChannels; - float old_inp_12k8[CPE_CHANNELS][L_INP_12k8]; /* buffer of input signal @ 12k8 */ - float old_inp_16k[CPE_CHANNELS][L_INP]; /* buffer of input signal @ 16kHz */ - float Etot[CPE_CHANNELS]; /* total energy; correlation shift */ + float old_inp_12k8[CPE_CHANNELS][L_INP_12k8]; /* buffer of input signal @ 12k8 */ + float old_inp_16k[CPE_CHANNELS][L_INP]; /* buffer of input signal @ 16kHz */ +#ifndef REMOVE_ETOT_PROPAGATION + float Etot[CPE_CHANNELS]; /* total energy; correlation shift */ +#endif float ener[CPE_CHANNELS]; /* residual energy from Levinson-Durbin */ float relE[CPE_CHANNELS]; /* frame relative energy */ float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ @@ -96,6 +98,9 @@ ivas_error ivas_cpe_enc( int16_t localVAD_HE_SAD[CPE_CHANNELS]; /* HE-SAD flag without hangover, LR channels */ float band_energies_LR[2 * NB_BANDS]; /* energy in critical bands without minimum noise floor E_MIN */ float orig_input[CPE_CHANNELS][L_FRAME48k]; +#ifdef REMOVE_ETOT_PROPAGATION + float Etot_last[CPE_CHANNELS]; +#endif int32_t tmp, input_Fs; int16_t max_bwidth, ivas_format; ENCODER_CONFIG_HANDLE hEncoderConfig; @@ -366,6 +371,10 @@ ivas_error ivas_cpe_enc( { sts[1]->bits_frame_channel -= st_ivas->hQMetaData->metadata_max_bits; } +#ifdef REMOVE_ETOT_PROPAGATION + Etot_last[0] = sts[0]->hNoiseEst->Etot_last; + Etot_last[1] = sts[1]->hNoiseEst->Etot_last; +#endif } else if ( hCPE->element_mode == IVAS_CPE_MDCT ) { @@ -426,10 +435,17 @@ ivas_error ivas_cpe_enc( for ( n = 0; n < n_CoreChannels; n++ ) { +#ifdef REMOVE_ETOT_PROPAGATION + error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], + &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], + fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, + ivas_total_brate ); +#else error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, ivas_total_brate ); +#endif if ( error != IVAS_ERR_OK ) { return error; @@ -512,7 +528,11 @@ ivas_error ivas_cpe_enc( { tdm_ol_pitch_comparison( hCPE, pitch_fr, voicing_fr ); +#ifdef REMOVE_ETOT_PROPAGATION + tdm_configure_enc( hCPE, Etot_last, tdm_SM_or_LRTD_Pri, tdm_ratio_idx, tdm_ratio_idx_SM, attack_flag[0], nb_bits_metadata ); +#else tdm_configure_enc( hCPE, tdm_SM_or_LRTD_Pri, tdm_ratio_idx, tdm_ratio_idx_SM, attack_flag[0], nb_bits_metadata ); +#endif if ( hEncoderConfig->Opt_DTX_ON ) { @@ -613,7 +633,11 @@ ivas_error ivas_cpe_enc( * Core Encoder *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + if ( ( error = ivas_core_enc( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8, old_inp_16k, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_core_enc( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8, old_inp_16k, Etot, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ) != IVAS_ERR_OK ) +#endif { return error; } diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 39d5b42a07..2e70225565 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -58,10 +58,12 @@ ivas_error ivas_ism_enc( SCE_ENC_HANDLE hSCE; Encoder_State *st; int16_t sce_id; - float old_inp_12k8[MAX_NUM_OBJECTS][1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ - float old_inp_16k[MAX_NUM_OBJECTS][1][L_INP]; /* buffer of input signal @ 16kHz */ - int16_t vad_flag[MAX_NUM_OBJECTS]; /* VAD flag */ - float Etot[MAX_NUM_OBJECTS][1]; /* total energy; correlation shift */ + float old_inp_12k8[MAX_NUM_OBJECTS][1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ + float old_inp_16k[MAX_NUM_OBJECTS][1][L_INP]; /* buffer of input signal @ 16kHz */ + int16_t vad_flag[MAX_NUM_OBJECTS]; /* VAD flag */ +#ifndef REMOVE_ETOT_PROPAGATION + float Etot[MAX_NUM_OBJECTS][1]; /* total energy; correlation shift */ +#endif float ener[MAX_NUM_OBJECTS][1]; /* residual energy from Levinson-Durbin */ float relE[MAX_NUM_OBJECTS][1]; /* frame relative energy */ float A[MAX_NUM_OBJECTS][1][NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ @@ -148,7 +150,10 @@ ivas_error ivas_ism_enc( *----------------------------------------------------------------*/ error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], - &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], +#ifndef REMOVE_ETOT_PROPAGATION + &Etot[sce_id][0], +#endif + &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, st_ivas->hEncoderConfig->ivas_total_brate ); @@ -263,7 +268,11 @@ ivas_error ivas_ism_enc( * Encoder *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8[sce_id], old_inp_16k[sce_id], ener[sce_id], A[sce_id], Aw[sce_id], epsP[sce_id], lsp_new[sce_id], lsp_mid[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer[sce_id], imagBuffer[sce_id], old_wsp[sce_id], loc_harm[sce_id], cor_map_sum[sce_id], vad_flag_dtx[sce_id], enerBuffer[sce_id], fft_buff[sce_id], 0, ISM_FORMAT, 0 ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8[sce_id], old_inp_16k[sce_id], Etot[sce_id], ener[sce_id], A[sce_id], Aw[sce_id], epsP[sce_id], lsp_new[sce_id], lsp_mid[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer[sce_id], imagBuffer[sce_id], old_wsp[sce_id], loc_harm[sce_id], cor_map_sum[sce_id], vad_flag_dtx[sce_id], enerBuffer[sce_id], fft_buff[sce_id], 0, ISM_FORMAT, 0 ) ) != IVAS_ERR_OK ) +#endif { return error; } diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 2a74fcf68d..0472d0d833 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -58,9 +58,11 @@ ivas_error ivas_sce_enc( const int16_t nb_bits_metadata /* i : number of metadata bits */ ) { - float old_inp_12k8[1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ - float old_inp_16k[1][L_INP]; /* buffer of input signal @ 16kHz */ - float Etot[1]; /* total energy; correlation shift */ + float old_inp_12k8[1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ + float old_inp_16k[1][L_INP]; /* buffer of input signal @ 16kHz */ +#ifndef REMOVE_ETOT_PROPAGATION + float Etot[1]; /* total energy; correlation shift */ +#endif float ener[1]; /* residual energy from Levinson-Durbin */ float relE[1]; /* frame relative energy */ float A[1][NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ @@ -182,7 +184,10 @@ ivas_error ivas_sce_enc( *----------------------------------------------------------------*/ error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata, input_frame, 0, old_inp_12k8[0], old_inp_16k[0], - &Etot[0], &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], +#ifndef REMOVE_ETOT_PROPAGATION + &Etot[0], +#endif + &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, @@ -238,7 +243,11 @@ ivas_error ivas_sce_enc( * Encoder *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8, old_inp_16k, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, 0, ivas_format, flag_16k_smc ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8, old_inp_16k, Etot, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, 0, ivas_format, flag_16k_smc ) ) != IVAS_ERR_OK ) +#endif { return error; } diff --git a/lib_enc/ivas_stereo_td_enc.c b/lib_enc/ivas_stereo_td_enc.c index 1e7fe30bd1..bc454f0220 100644 --- a/lib_enc/ivas_stereo_td_enc.c +++ b/lib_enc/ivas_stereo_td_enc.c @@ -302,7 +302,10 @@ ivas_error stereo_set_tdm( *-------------------------------------------------------------------*/ void tdm_configure_enc( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ +#ifdef REMOVE_ETOT_PROPAGATION + const float Etot_last[CPE_CHANNELS], /* i/o: Energy of last frame */ +#endif const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ const int16_t tdm_ratio_idx, /* i : ratio index */ const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ @@ -326,11 +329,21 @@ void tdm_configure_enc( *----------------------------------------------------------------*/ hStereoTD->tdm_use_IAWB_Ave_lpc = 0; /* Flag initialisation */ +#ifdef REMOVE_ETOT_PROPAGATION + sts[0]->hSpMusClas->tdm_lt_Etot = 0.1f * Etot_last[0] + 0.9f * sts[0]->hSpMusClas->tdm_lt_Etot; + sts[1]->hSpMusClas->tdm_lt_Etot = 0.1f * Etot_last[1] + 0.9f * sts[1]->hSpMusClas->tdm_lt_Etot; +#else sts[0]->hSpMusClas->tdm_lt_Etot = 0.1f * sts[0]->hNoiseEst->Etot_last + 0.9f * sts[0]->hSpMusClas->tdm_lt_Etot; sts[1]->hSpMusClas->tdm_lt_Etot = 0.1f * sts[1]->hNoiseEst->Etot_last + 0.9f * sts[1]->hSpMusClas->tdm_lt_Etot; +#endif +#ifdef REMOVE_ETOT_PROPAGATION + if ( hCPE->hStereoClassif->lrtd_mode == 0 && ( ( sts[1]->hSpMusClas->tdm_lt_Etot < 0 && hCPE->hCoreCoder[1]->vad_flag == 0 ) /* very clean signal */ + || ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( Etot_last[1] < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) +#else if ( hCPE->hStereoClassif->lrtd_mode == 0 && ( ( sts[1]->hSpMusClas->tdm_lt_Etot < 0 && hCPE->hCoreCoder[1]->vad_flag == 0 ) /* very clean signal */ || ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( sts[1]->hNoiseEst->Etot_last < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) +#endif { sts[1]->coder_type = INACTIVE; @@ -340,7 +353,11 @@ void tdm_configure_enc( } hStereoTD->tdm_lp_reuse_flag = 1; } +#ifdef REMOVE_ETOT_PROPAGATION + else if ( ( ( hCPE->hCoreCoder[1]->vad_flag == 0 ) || ( hCPE->hCoreCoder[0]->vad_flag == 0 && Etot_last[1] < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) && ( hCPE->hStereoClassif->lrtd_mode == 1 ) /* && NO_DTX */ ) /* boths channels are inactive but not DTX used*/ +#else else if ( ( ( hCPE->hCoreCoder[1]->vad_flag == 0 ) || ( hCPE->hCoreCoder[0]->vad_flag == 0 && sts[1]->hNoiseEst->Etot_last < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) && ( hCPE->hStereoClassif->lrtd_mode == 1 ) /* && NO_DTX */ ) /* boths channels are inactive but not DTX used*/ +#endif { sts[1]->coder_type = INACTIVE; if ( tdm_ratio_idx > 1 && tdm_ratio_idx < 29 ) @@ -352,7 +369,11 @@ void tdm_configure_enc( hStereoTD->tdm_lp_reuse_flag = 1; } } +#ifdef REMOVE_ETOT_PROPAGATION + else if ( !( sts[1]->sp_aud_decision0 ) && sts[1]->tc_cnt <= 0 && ( sts[1]->coder_type_raw == UNVOICED || ( hStereoTD->tdm_LRTD_flag == 1 && hStereoTD->tdm_lp_reuse_flag == 0 && ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( Etot_last[1] < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) ) +#else else if ( !( sts[1]->sp_aud_decision0 ) && sts[1]->tc_cnt <= 0 && ( sts[1]->coder_type_raw == UNVOICED || ( hStereoTD->tdm_LRTD_flag == 1 && hStereoTD->tdm_lp_reuse_flag == 0 && ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( sts[1]->hNoiseEst->Etot_last < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) ) +#endif { sts[1]->coder_type = UNVOICED; if ( hStereoTD->tdm_LRTD_flag == 1 ) diff --git a/lib_enc/nois_est.c b/lib_enc/nois_est.c index b8d551a738..2b9acdf0ca 100644 --- a/lib_enc/nois_est.c +++ b/lib_enc/nois_est.c @@ -298,6 +298,10 @@ void noise_est_down( *------------------------------------------------------------------*/ Etot_v = (float) fabs( *Etot_last - Etot ); +#ifdef REMOVE_ETOT_PROPAGATION + *Etot_last = Etot; +#endif + *Etot_v_h2 = ( 1.0f - 0.02f ) * *Etot_v_h2 + 0.02f * min( 3.0f, Etot_v ); if ( *Etot_v_h2 < 0.1f ) { diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index 33728a6f40..6eb11ca68e 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -59,8 +59,10 @@ void pre_proc( float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ float **inp, /* o : ptr. to inp. signal in the current frame*/ float fr_bands[2 * NB_BANDS], /* i : energy in frequency bands */ - float *Etot, /* i : total energy */ - float *ener, /* o : residual energy from Levinson-Durbin */ +#ifndef REMOVE_ETOT_PROPAGATION + float *Etot, /* i : total energy */ +#endif + float *ener, /* o : residual energy from Levinson-Durbin */ #ifndef FIX_I4_OL_PITCH int16_t pitch_orig[3], /* o : open-loop pitch values for quantization */ #endif @@ -84,18 +86,21 @@ void pre_proc( float old_wsp[L_WSP], *wsp; /* weighted input signal buffer */ float pitch_fr[NB_SUBFR]; /* fractional pitch values */ float voicing_fr[NB_SUBFR]; /* fractional pitch gains */ - float lf_E[2 * VOIC_BINS]; /* per bin spectrum energy in lf */ - float tmpN[NB_BANDS]; /* Temporary noise update */ - float tmpE[NB_BANDS]; /* Temporary averaged energy of 2 sf. */ - float ee[2]; /* Spectral tilt */ - float corr_shift; /* correlation shift */ - float relE; /* frame relative energy */ - int16_t loc_harm; /* harmonicity flag */ - float cor_map_sum, sp_div, PS[128]; /* speech/music clasif. parameters */ - int16_t L_look; /* length of look-ahead */ - float snr_sum_he; /* HE SAD parameters */ - int16_t localVAD_HE_SAD; /* HE SAD parameters */ - int16_t vad_flag_dtx; /* HE-SAD flag with additional DTX HO */ +#ifdef REMOVE_ETOT_PROPAGATION + float Etot; /* total energy */ +#endif + float lf_E[2 * VOIC_BINS]; /* per bin spectrum energy in lf */ + float tmpN[NB_BANDS]; /* Temporary noise update */ + float tmpE[NB_BANDS]; /* Temporary averaged energy of 2 sf. */ + float ee[2]; /* Spectral tilt */ + float corr_shift; /* correlation shift */ + float relE; /* frame relative energy */ + int16_t loc_harm; /* harmonicity flag */ + float cor_map_sum, sp_div, PS[128]; /* speech/music clasif. parameters */ + int16_t L_look; /* length of look-ahead */ + float snr_sum_he; /* HE SAD parameters */ + int16_t localVAD_HE_SAD; /* HE SAD parameters */ + int16_t vad_flag_dtx; /* HE-SAD flag with additional DTX HO */ int16_t vad_flag_cldfb; float old_cor; float hp_E[2]; /* Energy in HF */ @@ -190,14 +195,24 @@ void pre_proc( * Spectral analysis *--------------------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + analy_sp( -1, NULL, st->input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, &Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); +#else analy_sp( -1, NULL, st->input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); +#endif /*----------------------------------------------------------------* * SAD (1-signal, 0-noise) *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + noise_est_pre( Etot, st->ini_frame, st->hNoiseEst, 0, EVS_MONO, EVS_MONO ); +#else noise_est_pre( *Etot, st->ini_frame, st->hNoiseEst, 0, EVS_MONO, EVS_MONO ); +#endif + st->vad_flag = wb_vad( st, fr_bands, &noisy_speech_HO, &clean_speech_HO, &NB_speech_HO, &snr_sum_he, &localVAD_HE_SAD, &( st->flag_noisy_speech_snr ), NULL, NULL, -1000.0f, -1000.0f ); + vad_flag_cldfb = vad_proc( realBuffer, imagBuffer, enerBuffer, st->cldfbAnaEnc->no_channels, st->hVAD_CLDFB, &cldfb_addition, st->vad_flag ); if ( st->Pos_relE_cnt < 20 ) /* Ensure the level is high enough and cldfb decision is reliable */ @@ -226,9 +241,15 @@ void pre_proc( * Correlation correction as a function of total noise level *----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); + + relE = Etot - st->lp_speech; +#else noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, *Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); relE = *Etot - st->lp_speech; +#endif if ( relE > 1.5f ) { @@ -354,7 +375,11 @@ void pre_proc( * Update estimated noise energy and voicing cut-off frequency *-----------------------------------------------------------------*/ +#ifdef REMOVE_ETOT_PROPAGATION + noise_est( st, old_pitch1, tmpN, epsP, Etot, relE, corr_shift, tmpE, fr_bands, &cor_map_sum, NULL, &sp_div, &non_staX, &loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &sp_floor, 0, NULL, NULL, st->ini_frame ); +#else noise_est( st, old_pitch1, tmpN, epsP, *Etot, relE, corr_shift, tmpE, fr_bands, &cor_map_sum, NULL, &sp_div, &non_staX, &loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &sp_floor, 0, NULL, NULL, st->ini_frame ); +#endif /*------------------------------------------------------------------* * Update parameters used in the VAD and DTX @@ -369,7 +394,11 @@ void pre_proc( find_tilt( fr_bands, st->hNoiseEst->bckr, ee, st->pitch, st->voicing, lf_E, corr_shift, st->input_bwidth, st->max_band, hp_E, st->codec_mode, &( st->bckr_tilt_lt ), st->Opt_SC_VBR ); +#ifdef REMOVE_ETOT_PROPAGATION + st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, NULL, corr_shift, relE, Etot, hp_E, &flag_spitch, last_core_orig, NULL ); +#else st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, NULL, corr_shift, relE, *Etot, hp_E, &flag_spitch, last_core_orig, NULL ); +#endif /*-----------------------------------------------------------------* * channel aware mode configuration * @@ -423,8 +452,15 @@ void pre_proc( st->GSC_IVAS_mode = 0; +#ifdef REMOVE_ETOT_PROPAGATION + speech_music_classif( st, new_inp_12k8, inp_12k8, localVAD_HE_SAD, lsp_new, cor_map_sum, epsP, PS, Etot, old_cor, attack_flag, non_staX, relE, &high_lpn_flag, flag_spitch ); + + long_enr( st, Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); +#else speech_music_classif( st, new_inp_12k8, inp_12k8, localVAD_HE_SAD, lsp_new, cor_map_sum, epsP, PS, *Etot, old_cor, attack_flag, non_staX, relE, &high_lpn_flag, flag_spitch ); + long_enr( st, *Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); +#endif /*----------------------------------------------------------------* * Final VAD correction ( when HE-SAD is used instead of the normal VAD, @@ -576,7 +612,11 @@ void pre_proc( } if ( st->total_brate == ACELP_13k20 && st->bwidth != FB ) { +#ifdef REMOVE_ETOT_PROPAGATION + MDCT_selector( st, sp_floor, Etot, cor_map_sum, enerBuffer ); +#else MDCT_selector( st, sp_floor, *Etot, cor_map_sum, enerBuffer ); +#endif } } else @@ -872,7 +912,11 @@ void pre_proc( if ( st->total_brate == ACELP_16k40 && st->bwidth != FB ) { +#ifdef REMOVE_ETOT_PROPAGATION + MDCT_selector( st, sp_floor, Etot, cor_map_sum, enerBuffer ); +#else MDCT_selector( st, sp_floor, *Etot, cor_map_sum, enerBuffer ); +#endif } } else diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index c6663895e0..205a228964 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -297,8 +297,11 @@ void updt_IO_switch_enc( *-------------------------------------------------------------------*/ void updt_enc_common( - Encoder_State *st, /* i/o: encoder state structure */ - const float Etot /* i : total energy */ + Encoder_State *st /* i/o: encoder state structure */ +#ifndef REMOVE_ETOT_PROPAGATION + , + const float Etot /* i : total energy */ +#endif ) { /*---------------------------------------------------------------------* @@ -316,7 +319,9 @@ void updt_enc_common( st->last_extl = st->extl; st->last_input_bwidth = st->input_bwidth; st->last_bwidth = st->bwidth; +#ifndef REMOVE_ETOT_PROPAGATION st->hNoiseEst->Etot_last = Etot; +#endif st->last_coder_type_raw = st->coder_type_raw; if ( st->core_brate > SID_2k40 && st->hDtxEnc != NULL ) -- GitLab From c0dff25b0d0e0f27e3f019bcc032842121a65bea Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 18:52:10 +0100 Subject: [PATCH 424/620] - formatting, comments, editorial improvements - remove unused file lib_debug/segsnr.c - remove duplicated code in renderer.c - updates for the WMC instrumentation - do not use a function as an array index, e.g. vector[min(a,b)]; --- Workspace_msvc/lib_debug.vcxproj | 3 +- apps/renderer.c | 19 --- lib_com/bitstream.c | 5 +- lib_com/ivas_cnst.h | 19 ++- lib_com/ivas_mdct_imdct.c | 5 +- lib_com/ivas_prot.h | 135 +++++++++++--------- lib_com/ivas_sba_config.c | 2 +- lib_com/prot.h | 21 +-- lib_debug/segsnr.c | 103 --------------- lib_dec/igf_dec.c | 15 ++- lib_dec/ivas_dirac_dec_binaural_functions.c | 13 +- lib_dec/ivas_qmetadata_dec.c | 5 +- lib_dec/ivas_stereo_cng_dec.c | 1 + lib_dec/ivas_vbap.c | 11 +- lib_enc/cod_tcx.c | 7 +- lib_enc/enc_pit_exc.c | 4 +- lib_enc/ivas_agc_enc.c | 3 +- lib_enc/ivas_core_pre_proc_front.c | 5 +- lib_enc/ivas_qmetadata_enc.c | 27 ++-- lib_rend/ivas_render_config.c | 8 ++ lib_rend/ivas_rotation.c | 59 +++++---- lib_rend/lib_rend.c | 4 +- 22 files changed, 199 insertions(+), 275 deletions(-) delete mode 100644 lib_debug/segsnr.c diff --git a/Workspace_msvc/lib_debug.vcxproj b/Workspace_msvc/lib_debug.vcxproj index 5dc36d4633..59221f7427 100644 --- a/Workspace_msvc/lib_debug.vcxproj +++ b/Workspace_msvc/lib_debug.vcxproj @@ -145,7 +145,6 @@ <ClCompile Include="..\lib_debug\debug.c" /> <ClCompile Include="..\lib_debug\memory.c" /> <ClCompile Include="..\lib_debug\mem_count.c" /> - <ClCompile Include="..\lib_debug\segsnr.c" /> <ClCompile Include="..\lib_debug\snr.c" /> <ClCompile Include="..\lib_debug\sba_debug.c" /> <ClCompile Include="..\lib_debug\wmops.c" /> @@ -166,4 +165,4 @@ <UserProperties DevPartner_IsInstrumented="0" /> </VisualStudio> </ProjectExtensions> -</Project> +</Project> \ No newline at end of file diff --git a/apps/renderer.c b/apps/renderer.c index 506830002c..486ed42757 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -62,25 +62,6 @@ #include <stdio.h> #include <string.h> -#ifndef count_malloc -#ifdef RAM_COUNTING_TOOL -#define count_malloc( n1 ) MALLOC_FCT_CALL( n1 ) -#define count_calloc( n1, n2 ) CALLOC_FCT_CALL( n1, n2 ) -#define count_free( ptr ) FREE_FCT_CALL( ptr ) -#else -#define count_malloc( n1 ) malloc( n1 ) -#define count_calloc( n1, n2 ) calloc( n1, n2 ) -#define count_free( ptr ) free( ptr ) -#endif -#endif - -#ifndef min -#define min( x, y ) ( ( x ) < ( y ) ? ( x ) : ( y ) ) -#endif - -#ifndef max -#define max( x, y ) ( ( x ) > ( y ) ? ( x ) : ( y ) ) -#endif #define RENDERER_MAX_CLI_ARG_LENGTH ( FILENAME_MAX ) #define RENDERER_MAX_METADATA_LENGTH 8192 diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 34c68d2540..34d18b4f20 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2946,14 +2946,17 @@ void evs_dec_previewFrame( void dtx_read_padding_bits( DEC_CORE_HANDLE st, - int16_t num_bits ) + const int16_t num_bits ) { /* TODO: temporary hack, need to decide what to do with core-coder bitrate */ int32_t tmp; + tmp = st->total_brate; st->total_brate = st->total_brate + num_bits * FRAMES_PER_SEC; get_next_indice( st, num_bits ); st->total_brate = tmp; + + return; } #undef WMC_TOOL_MAN diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 9b778c9f6c..fc3079c51f 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -107,8 +107,8 @@ typedef enum AUDIO_CONFIG_ISM2, /* ISM2 */ AUDIO_CONFIG_ISM3, /* ISM3 */ AUDIO_CONFIG_ISM4, /* ISM4 */ - AUDIO_CONFIG_MASA1, /* MASA1 */ - AUDIO_CONFIG_MASA2, /* MASA2 */ + AUDIO_CONFIG_MASA1, /* MASA1 */ // TBV: seems not to be used + AUDIO_CONFIG_MASA2, /* MASA2 */ // TBV: seems not to be used AUDIO_CONFIG_EXTERNAL /* external renderer */ } AUDIO_CONFIG; @@ -191,8 +191,6 @@ typedef enum #define IVAS_MAX_SBA_ORDER 3 /* Maximum supported Ambisonics order */ -#define IVAS_LIMITER_THRESHOLD 32729 /* -0.01 dBFS */ -#define IVAS_LIMITER_ATTACK_SECONDS 0.005f #define IVAS_NUM_SUPPORTED_FS 3 /* number of supported sampling-rates in IVAS */ /*----------------------------------------------------------------------------------* @@ -1378,7 +1376,7 @@ typedef enum * TD Binaural Object renderer *----------------------------------------------------------------------------------*/ -#define MAX_NUM_TDREND_CHANNELS 16 /* max. number of channels in TD renderer (objects or loudspeaker channels) */ +#define MAX_NUM_TDREND_CHANNELS MAX_CICP_CHANNELS /* max. number of channels in TD renderer (objects or loudspeaker channels) */ #define SFX_SPAT_BIN_MAX_NO_OF_OUTPUT_SAMPLES 288 /* 288 = 6 msec @ 48 kHz. */ #define HRTF_MODEL_N_SECTIONS 3 /* No. sections used in approximate evaluation of model */ @@ -1471,8 +1469,6 @@ typedef enum #define RV_LENGTH_NR_FC ( RV_FILTER_MAX_FFT_SIZE / 2 ) + 1 #define IVAS_REVERB_DEFAULT_N_BANDS 31 -#define IVAS_REVERB_DEFAULT_PRE_DELAY 0.016f -#define IVAS_REVERB_DEFAULT_INPUT_DELAY 0.1f /*----------------------------------------------------------------------------------* @@ -1593,6 +1589,15 @@ typedef enum #define SPAR_DIRAC_DTX_BANDS ( SPAR_DTX_BANDS + DIRAC_DTX_BANDS ) #define CLDFB_PAR_WEIGHT_START_BAND 7 + +/*----------------------------------------------------------------------------------* + * Limiter constants + *----------------------------------------------------------------------------------*/ + +#define IVAS_LIMITER_THRESHOLD 32729 /* -0.01 dBFS */ +#define IVAS_LIMITER_ATTACK_SECONDS 0.005f + + #endif /* clang-format on */ /* IVAS_CNST_H */ diff --git a/lib_com/ivas_mdct_imdct.c b/lib_com/ivas_mdct_imdct.c index 036f89201f..06b393acb3 100644 --- a/lib_com/ivas_mdct_imdct.c +++ b/lib_com/ivas_mdct_imdct.c @@ -44,13 +44,14 @@ /*------------------------------------------------------------------------------------------* * Local constants *------------------------------------------------------------------------------------------*/ + #define IVAS_IMDCT_SCALING_GAIN 2115.165304808f /*-----------------------------------------------------------------------------------------* * Function ivas_tda() * - * Time domain alias implementation + * Time domain aliasing *-----------------------------------------------------------------------------------------*/ void ivas_tda( @@ -67,6 +68,8 @@ void ivas_tda( pOut[i] = -pIn[len_by_2 - i - 1] + pIn[len_by_2 + i]; pOut[len_by_2 + i] = pIn[length * 2 - i - 1] + pIn[length + i]; } + + return; } diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 120042c891..2c265afda1 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -105,28 +105,6 @@ ivas_error mct_enc_reconfigure( Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const uint16_t b_nchan_change /* i : flag indicating different channel count */ ); -#ifdef SBA_BR_SWITCHING -ivas_error ivas_sba_enc_reinit( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); -#endif -#ifdef SBA_BR_SWITCHING -int16_t get_sba_reinit_flag( - int32_t ivas_total_bitrate, /* i : Current bitrate */ - int32_t last_ivas_total_brate /* i : Previous bitrate */ -#ifdef SBA_BR_SWITCHING_2 - , int16_t sba_order -#endif -); -#endif -#ifdef SBA_BR_SWITCHING_2 -ivas_error ivas_spar_md_enc_init -( - ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - const int16_t sba_order /* i : Ambisonic (SBA) order */ -); -#endif ivas_error ivas_sba_enc_reconfigure( Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ ); @@ -215,8 +193,8 @@ ivas_error pre_proc_front_ivas( const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ - const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ - ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ + const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ + const int32_t ivas_total_brate /* i : IVAS total bitrate */ ); ivas_error pre_proc_ivas( @@ -735,6 +713,39 @@ void ivas_imdft( const int16_t length /* i : signal length */ ); +void TonalMdctConceal_create_concealment_noise( + float concealment_noise[L_FRAME48k], + CPE_DEC_HANDLE hCPE, + const int16_t L_frameTCX, + const int16_t L_frame, + const int16_t idchan, + const int16_t subframe_idx, + const int16_t core, + const float crossfade_gain, + const TONALMDCTCONC_NOISE_GEN_MODE noise_gen_mode +); + +void TonalMdctConceal_whiten_noise_shape( + Decoder_State *st, + const int16_t L_frame, + const TONALMDCTCONC_NOISE_SHAPE_WHITENING_MODE +); + +/*! r: IGF start line */ +int16_t get_igf_startline( + Decoder_State *st, /* i : decoder state */ + const int16_t L_frame, /* i : length of the frame */ + const int16_t L_frameTCX /* i : full band frame length */ +); + +float rand_triangular_signed( + int16_t *seed ); + +void dtx_read_padding_bits( + DEC_CORE_HANDLE st, + const int16_t num_bits +); + /*----------------------------------------------------------------------------------* * ISm prototypes @@ -3045,13 +3056,12 @@ void ivas_dirac_param_est_enc( float data_f[][L_FRAME48k], float **pp_fr_real, float **pp_fr_imag, - const int16_t input_frame - , + const int16_t input_frame, const SBA_MODE sba_mode ); /*----------------------------------------------------------------------------------* - * SBA mode prototypes + * SBA format prototypes *----------------------------------------------------------------------------------*/ /*! r: SBA format mode */ @@ -3069,9 +3079,30 @@ void ivas_sba_config( int16_t *nCPE, /* o : number of CPEs */ int16_t *element_mode /* o : element mode of the core coder */ ); + +ivas_error ivas_sba_enc_reconfigure( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + #ifdef SBA_BR_SWITCHING -ivas_error ivas_sba_dec_reinit( - Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +ivas_error ivas_sba_enc_reinit( + Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ +); + +int16_t get_sba_reinit_flag( + int32_t ivas_total_bitrate, /* i : Current bitrate */ + int32_t last_ivas_total_brate /* i : Previous bitrate */ +#ifdef SBA_BR_SWITCHING_2 + , const int16_t sba_order +#endif +); +#endif +#ifdef SBA_BR_SWITCHING_2 +ivas_error ivas_spar_md_enc_init +( + ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ + const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ ); #endif @@ -3079,6 +3110,13 @@ ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); +#ifdef SBA_BR_SWITCHING +ivas_error ivas_sba_dec_reinit( + Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ +); +#endif + + void ivas_init_dec_get_num_cldfb_instances( Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ int16_t *numCldfbAnalyses, /* o : number of CLDFB analysis instances */ @@ -4863,8 +4901,7 @@ void computeReferencePower_enc( float Cldfb_ImagBuffer[DIRAC_MAX_ANA_CHANS][DIRAC_NO_FB_BANDS_MAX], /* i : Imag part of input signal */ float *reference_power, /* o : Estimated power */ const int16_t enc_param_start_band, /* i : first band to process */ - const int16_t num_freq_bands /* i : Number of frequency bands */ - , + const int16_t num_freq_bands, /* i : Number of frequency bands */ const SBA_MODE sba_mode /* i : SBA mode */ ); @@ -5301,6 +5338,7 @@ ivas_error ivas_render_config_init_from_rom( const int16_t room_flag_on /* i : room effect on/off flag */ ); + /*----------------------------------------------------------------------------------* * Reverberator *----------------------------------------------------------------------------------*/ @@ -5499,7 +5537,10 @@ void ivas_reverb_get_hrtf_set_properties( ); -/* Orientation tracking */ +/*----------------------------------------------------------------------------------* + * Orientation tracking + *----------------------------------------------------------------------------------*/ + void ivas_orient_trk_Init( ivas_orient_trk_state_t *pOTR ); @@ -5527,37 +5568,7 @@ ivas_error ivas_orient_trk_GetTrackedOrientation( float *roll ); -void TonalMdctConceal_create_concealment_noise( - float concealment_noise[L_FRAME48k], - CPE_DEC_HANDLE hCPE, - const int16_t L_frameTCX, - const int16_t L_frame, - const int16_t idchan, - const int16_t subframe_idx, - const int16_t core, - const float crossfade_gain, - const TONALMDCTCONC_NOISE_GEN_MODE noise_gen_mode -); - -void TonalMdctConceal_whiten_noise_shape( - Decoder_State *st, - const int16_t L_frame, - const TONALMDCTCONC_NOISE_SHAPE_WHITENING_MODE -); - -int16_t get_igf_startline( - Decoder_State *st, - int16_t L_frame, - int16_t L_frameTCX -); - -float rand_triangular_signed( - int16_t *seed ); /* clang-format on */ -void dtx_read_padding_bits( - DEC_CORE_HANDLE st, - int16_t num_bits ); - #endif /* IVAS_PROT_H */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 133bf3886d..a0e04edf67 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -84,7 +84,7 @@ int16_t get_sba_reinit_flag( int32_t last_ivas_total_brate /* i : Previous bitrate */ #ifdef SBA_BR_SWITCHING_2 , - int16_t sba_order + const int16_t sba_order #endif ) { diff --git a/lib_com/prot.h b/lib_com/prot.h index 760571cb46..03e3ccb8ce 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -7867,17 +7867,18 @@ void coder_tcx( ); void coder_tcx_post( - Encoder_State *st, /* i/o: decoder memory state */ - float *A, - const float *Ai ); + Encoder_State *st, /* i/o: encoder memory state */ + float *A, /* o : Quantized LPC coefficients */ + const float *Ai /* i : Unquantized (interpolated) LPC coefficients */ +); void decoder_tcx( - Decoder_State *st, /* i/o: coder memory state */ - int16_t prm[], /* i : parameters */ - float A[], /* i : coefficients NxAz[M+1] */ - Word16 Aind[], /* i : frame-independent coefficients Az[M+1]*/ - float synth[], /* i/o: synth[-M..lg] */ - float synthFB[], + Decoder_State *st, /* i/o: coder memory state */ + int16_t prm[], /* i : parameters */ + float A[], /* i : coefficients NxAz[M+1] */ + Word16 Aind[], /* i : frame-independent coefficients Az[M+1]*/ + float synth[], /* i/o: synth[-M..lg] */ + float synthFB[], /* i/o: encoder memory state */ const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super_frame */ const int16_t sba_dirac_stereo_flag /* i : signal stereo output for SBA DirAC */ @@ -7981,7 +7982,7 @@ void writeTCXparam( const int16_t pre_past_flag ); void enc_prm_rf( - Encoder_State *st, /* i/o: decoder memory state */ + Encoder_State *st, /* i/o: encoder memory state */ const int16_t rf_frame_type, const int16_t fec_offset ); diff --git a/lib_debug/segsnr.c b/lib_debug/segsnr.c deleted file mode 100644 index 561a4e239d..0000000000 --- a/lib_debug/segsnr.c +++ /dev/null @@ -1,103 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -#include <math.h> -#ifdef DEBUGGING -#include "debug.h" -#endif -#include "wmops.h" -#include <stdint.h> -#include "options.h" -#include "prot.h" - -#define WMC_TOOL_MAN - -#ifdef OUTPUT_SNR -/*_____________________________________________________________________ - | | - | FUNCTION NAME segsnr | - | Computes the segmential signal-to-noise ratio between the | - | signal x and its estimate xe of length n samples. The segment | - | length is nseg samples. | - | - | INPUT - | x[0:n-1] Signal of n samples. - | xe[0:n-1] Estimated signal of n samples. - | n Signal length. - | nseg Segment length, must be a submultiple of n. - | - | RETURN VALUE - | snr Segmential signal to noise ratio in dB. - |_____________________________________________________________________| -*/ - -float segsnr( float x[], float xe[], int16_t n, int16_t nseg ) -{ - float snr = 0.0f; - float signal, noise, error, fac; - int16_t i, j; - LOOP( 1 ); - for ( i = 0; i < n; i += nseg ) - { - signal = 1e-6f; - MOVE( 2 ); - noise = 1e-6f; - LOOP( 1 ); - for ( j = 0; j < nseg; j++ ) - { - signal += ( *x ) * ( *x ); - MAC( 1 ); - error = *x++ - *xe++; - ADD( 1 ); - noise += error * error; - MAC( 1 ); - } - snr += (float) log10( signal / noise ); - TRANS( 1 ); - DIV( 1 ); - ADD( 1 ); - } - fac = ( (float) ( 10 * nseg ) ) / (float) n; - DIV( 1 ); - MULT( 1 ); - snr = fac * snr; - MULT( 1 ); - ADD( 1 ); - BRANCH( 1 ); - if ( snr < -99.0f ) - { - snr = -99.0f; - MOVE( 1 ); - } - return ( snr ); -} -#endif diff --git a/lib_dec/igf_dec.c b/lib_dec/igf_dec.c index 2cded75928..12c121d503 100644 --- a/lib_dec/igf_dec.c +++ b/lib_dec/igf_dec.c @@ -1590,10 +1590,19 @@ void init_igf_dec( return; } + +/*-----------------------------------------------------------------------* + * get_igf_startline() + * + * + *-----------------------------------------------------------------------*/ + +/*! r: IGF start line */ int16_t get_igf_startline( - Decoder_State *st, - int16_t L_frame, - int16_t L_frameTCX ) + Decoder_State *st, /* i : decoder state */ + const int16_t L_frame, /* i : length of the frame */ + const int16_t L_frameTCX /* i : full band frame length */ +) { int16_t igf_startline; diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index ee02a1bfe1..1cbd6cdd87 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -599,7 +599,7 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric { uint8_t ch, slot, bin, subframe; uint8_t separateCenterChannelRendering; - int16_t nBins; + int16_t nBins, idx; float frameMeanDiffusenessEneWeight[CLDFB_NO_CHANNELS_MAX]; DIRAC_DEC_HANDLE hDirAC; DIRAC_DEC_BIN_HANDLE h; @@ -609,7 +609,6 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric uint8_t applyLowBitRateEQ; int16_t dirac_read_idx; - hDirAC = st_ivas->hDirAC; h = st_ivas->hDiracDecBin; separateCenterChannelRendering = st_ivas->hOutSetup.separateChannelEnabled; @@ -850,15 +849,16 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric if ( ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA ) ) { + idx = min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 ); + /* Apply the target spectrum to the eneCorrectionFactor */ if ( separateCenterChannelRendering ) /* spreadCoh mostly originates from phantom sources in separate channel rendering mode */ { - eneCorrectionFactor *= w1 * 1.0f + ( w2 + w3 ) * spreadCohEne1[min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 )]; + eneCorrectionFactor *= w1 * 1.0f + ( w2 + w3 ) * spreadCohEne1[idx]; } else { - eneCorrectionFactor *= w1 * 1.0f + w2 * spreadCohEne05[min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 )] + - w3 * spreadCohEne1[min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 )]; + eneCorrectionFactor *= w1 * 1.0f + w2 * spreadCohEne05[idx] + w3 * spreadCohEne1[idx]; } } @@ -891,8 +891,9 @@ static void ivas_dirac_dec_binaural_formulate_input_and_target_covariance_matric { if ( !h->renderStereoOutputInsteadOfBinaural ) { + idx = min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 ); /* Apply target spectrum that emphasizes low frequencies when the sound is surround coherent */ - diffEne *= ( 1.0f - surCoh ) + surCoh * surCohEne[min( bin, MASA_NUM_DEFINED_SUR_SPR_COH_ENE_BINS - 1 )]; + diffEne *= ( 1.0f - surCoh ) + surCoh * surCohEne[idx]; } } h->ChEneOut[0][bin] += diffEne; /* Diff ene part*/ diff --git a/lib_dec/ivas_qmetadata_dec.c b/lib_dec/ivas_qmetadata_dec.c index 059ba752e7..dbaca982b7 100644 --- a/lib_dec/ivas_qmetadata_dec.c +++ b/lib_dec/ivas_qmetadata_dec.c @@ -3114,7 +3114,7 @@ int16_t read_surround_coherence( float error_ratio_surr; int16_t idx_ER[MASA_MAXIMUM_CODING_SUBBANDS]; int16_t bits_sur_coherence, bits_GR; - int16_t j, d, k; + int16_t j, d, k, idx; uint16_t byteBuffer; uint16_t idx_sur_coh[MASA_MAXIMUM_CODING_SUBBANDS]; IVAS_QDIRECTION *q_direction; @@ -3133,7 +3133,8 @@ int16_t read_surround_coherence( if ( hQMetaData->no_directions == 2 ) { d += hQMetaData->twoDirBands[j]; - error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[max( d - 1, 0 )].energy_ratio[0] * hQMetaData->twoDirBands[j]; + idx = max( d - 1, 0 ); + error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[idx].energy_ratio[0] * hQMetaData->twoDirBands[j]; } else { diff --git a/lib_dec/ivas_stereo_cng_dec.c b/lib_dec/ivas_stereo_cng_dec.c index ac7f942b2a..6e37511380 100644 --- a/lib_dec/ivas_stereo_cng_dec.c +++ b/lib_dec/ivas_stereo_cng_dec.c @@ -175,6 +175,7 @@ void stereo_dft_dec_sid_coh( } dtx_read_padding_bits( st, ( IVAS_SID_5k2 - 4400 ) / FRAMES_PER_SEC ); + return; } diff --git a/lib_dec/ivas_vbap.c b/lib_dec/ivas_vbap.c index f0960bd127..f0da2623aa 100644 --- a/lib_dec/ivas_vbap.c +++ b/lib_dec/ivas_vbap.c @@ -662,8 +662,7 @@ static void determine_virtual_speaker_node_division_gains( are distributed to all neighboring real speaker nodes. An amplitude-division instead of energy division is utilized just in case to avoid excessive emphasis on the coherent distributed sound. */ - int16_t c; - int16_t ch; + int16_t c, ch; float sum_val; if ( type == VIRTUAL_SPEAKER_NODE_DISTRIBUTE_ENERGY ) @@ -715,7 +714,7 @@ static void determine_virtual_speaker_node_division_gains( /*! r: virtual speaker node type */ static enum VirtualSpeakerNodeType check_need_of_virtual_speaker_node( VBAP_HANDLE hVBAPdata, /* i/o: VBAP structure */ - const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths */ + const float *speaker_node_azi_deg, /* i : vector of speaker node azimuths */ const float *speaker_node_ele_deg, /* i : vector of speaker node elevations */ enum SpeakerNodeGroup group /* i : group of speaker nodes where this belongs */ ) @@ -945,9 +944,9 @@ static void matrix_inverse_3x3( *-------------------------------------------------------------------------*/ static int16_t check_and_store_triplet( - int16_t chA, /* i : first channel index that forms the loudspeaker triplet */ - int16_t chB, /* i : second channel index that forms the loudspeaker triplet */ - int16_t chC, /* i : third channel index that forms the loudspeaker triplet */ + const int16_t chA, /* i : first channel index that forms the loudspeaker triplet */ + const int16_t chB, /* i : second channel index that forms the loudspeaker triplet */ + const int16_t chC, /* i : third channel index that forms the loudspeaker triplet */ const int16_t num_speaker_nodes, /* i : number of speaker nodes */ const VBAP_SPEAKER_NODE *speaker_node_data, /* i : speaker node data structure */ VBAP_VS_TRIPLET *triplets, /* o : vector of virtual surface triplets */ diff --git a/lib_enc/cod_tcx.c b/lib_enc/cod_tcx.c index f60ac1a314..5813ca4138 100644 --- a/lib_enc/cod_tcx.c +++ b/lib_enc/cod_tcx.c @@ -2181,9 +2181,10 @@ void coder_tcx( *-------------------------------------------------------------------*/ void coder_tcx_post( - Encoder_State *st, - float *A, - const float *Ai ) + Encoder_State *st, /* i/o: encoder memory state */ + float *A, /* o : Quantized LPC coefficients */ + const float *Ai /* i : Unquantized (interpolated) LPC coefficients */ +) { float xn_buf[L_FRAME_MAX]; diff --git a/lib_enc/enc_pit_exc.c b/lib_enc/enc_pit_exc.c index 900d4021d0..d4e20f5cc5 100644 --- a/lib_enc/enc_pit_exc.c +++ b/lib_enc/enc_pit_exc.c @@ -64,8 +64,8 @@ void enc_pit_exc( float *pitch_buf, /* i/o: Fractionnal per subframe pitch */ const int16_t nb_subfr, /* i : Number of subframe considered */ float *gpit, /* o : pitch mean gpit */ - const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ - const float tdm_Pri_pitch_buf[] /* i : primary channel pitch buffer */ + const int16_t tdm_Pitch_reuse_flag, /* i : primary channel pitch reuse flag */ + const float tdm_Pri_pitch_buf[] /* i : primary channel pitch buffer */ ) { float xn[PIT_EXC_L_SUBFR]; /* Target vector for pitch search */ diff --git a/lib_enc/ivas_agc_enc.c b/lib_enc/ivas_agc_enc.c index d8d0f1f772..9ebe2bb938 100644 --- a/lib_enc/ivas_agc_enc.c +++ b/lib_enc/ivas_agc_enc.c @@ -329,7 +329,8 @@ void ivas_agc_enc_process( { int16_t isCompensated = FALSE; actualMaxAbsVal = pState->gain_state[i].lastMaxAbs * pState->gain_state[i].lastGain; - pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[min( offset - 1, MaxAbsValIdx )] ) ); + idx = min( offset - 1, MaxAbsValIdx ); + pState->gain_state[i].gainExpVal = (int16_t) ceilf( -logf( actualMaxAbsVal * MDFT_NORM_SCALING ) / logf( pState->agc_com.winFunc[idx] ) ); while ( !isCompensated ) { diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 1fdb26805c..9ec3362022 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -100,9 +100,8 @@ ivas_error pre_proc_front_ivas( const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ - const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ - , - const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ + const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ + const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ diff --git a/lib_enc/ivas_qmetadata_enc.c b/lib_enc/ivas_qmetadata_enc.c index c9f0bd70ff..7f79df3987 100644 --- a/lib_enc/ivas_qmetadata_enc.c +++ b/lib_enc/ivas_qmetadata_enc.c @@ -4056,27 +4056,24 @@ static int16_t encode_spread_coherence_1sf( BSTR_ENC_HANDLE hMasaMetaData /* i/o: metadata bitstream handle */ ) { - int16_t i, j; + int16_t i, j, k; int16_t idx_ER; int16_t nbits, nbits_fr; uint16_t idx_sp_coh[MASA_MAXIMUM_CODING_SUBBANDS]; uint16_t mr_idx_sp_coh[MASA_MAXIMUM_CODING_SUBBANDS]; int16_t GR_ord, bits_GR; - uint64_t idx; + uint64_t idx, idx1; int16_t no_idx16; - int16_t k; int16_t no_cv[MASA_MAXIMUM_CODING_SUBBANDS]; IVAS_QDIRECTION *q_direction; - int16_t half_coding_subbands, nbits_fr1; - uint64_t idx1; - uint8_t coding_subbands; + int16_t half_coding_subbands, nbits_fr1, coding_subbands; uint16_t idx_sp_coh_shift[MASA_MAXIMUM_CODING_SUBBANDS]; uint8_t idx_shift; int16_t max_val = 0, nbits_max; int16_t extra_cv; int16_t no_cv_shift[MASA_MAXIMUM_CODING_SUBBANDS], min_idx; - coding_subbands = (uint8_t) ( q_metadata->q_direction[idx_d].cfg.nbands ); + coding_subbands = q_metadata->q_direction[idx_d].cfg.nbands; q_direction = &( q_metadata->q_direction[idx_d] ); nbits = 0; GR_ord = 1; @@ -4237,28 +4234,25 @@ static int16_t encode_surround_coherence( BSTR_ENC_HANDLE hMetaData /* i/o: metadata bitstream handle */ ) { - int16_t i, j; - int16_t idx_ER; + int16_t i, j, k; + int16_t idx_ER, idx16; int16_t nbits, nbits_fr; uint16_t idx_sur_coh[MASA_MAXIMUM_CODING_SUBBANDS]; uint16_t mr_idx_sur_coh[MASA_MAXIMUM_CODING_SUBBANDS]; int16_t GR_ord, bits_GR; - uint64_t idx; + uint64_t idx, idx1; int16_t no_idx16; - int16_t k; int16_t no_cv[MASA_MAXIMUM_CODING_SUBBANDS]; float error_ratio_surr; IVAS_QDIRECTION *q_direction; - int16_t half_coding_subbands, nbits_fr1; - uint64_t idx1; - uint8_t coding_subbands; + int16_t half_coding_subbands, nbits_fr1, coding_subbands; int16_t all_coherence_zero; uint16_t idx_sur_coh_shift[MASA_MAXIMUM_CODING_SUBBANDS]; uint8_t idx_shift; int16_t max_val = 0, nbits_max; int16_t no_cv_shift[MASA_MAXIMUM_CODING_SUBBANDS], min_idx; - coding_subbands = (uint8_t) ( hQMetaData->q_direction[0].cfg.nbands ); + coding_subbands = hQMetaData->q_direction[0].cfg.nbands; all_coherence_zero = hQMetaData->all_coherence_zero; q_direction = &( hQMetaData->q_direction[0] ); nbits = 0; @@ -4277,7 +4271,8 @@ static int16_t encode_surround_coherence( if ( hQMetaData->no_directions == 2 ) { k += hQMetaData->twoDirBands[j]; - error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[max( k - 1, 0 )].energy_ratio[0] * hQMetaData->twoDirBands[j]; + idx16 = max( k - 1, 0 ); + error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[idx16].energy_ratio[0] * hQMetaData->twoDirBands[j]; } else { diff --git a/lib_rend/ivas_render_config.c b/lib_rend/ivas_render_config.c index 7e8caec092..73cf4d9140 100644 --- a/lib_rend/ivas_render_config.c +++ b/lib_rend/ivas_render_config.c @@ -42,6 +42,14 @@ #include "wmops.h" +/*-----------------------------------------------------------------------* + * Local constants + *-----------------------------------------------------------------------*/ + +#define IVAS_REVERB_DEFAULT_PRE_DELAY 0.016f +#define IVAS_REVERB_DEFAULT_INPUT_DELAY 0.1f + + /*-----------------------------------------------------------------------* * ivas_render_config_open() * diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 1a7cd8b830..0eefb2766f 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -89,7 +89,7 @@ ivas_error ivas_headTrack_open( void QuatToRotMat( const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ + float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ ) { float s1, s2, s3, c1, c2, c3; @@ -158,9 +158,9 @@ void QuatToRotMat( void Quat2Euler( const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float *yaw, /* o : yaw */ - float *pitch, /* o : pitch */ - float *roll /* o : roll */ + float *yaw, /* o : yaw */ + float *pitch, /* o : pitch */ + float *roll /* o : roll */ ) { if ( quat.w != -3.0 ) @@ -286,9 +286,9 @@ void rotateAziEle_DirAC( void rotateFrame_shd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const int16_t subframe_idx /* i : subframe index */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const int16_t subframe_idx /* i : subframe index */ ) { int16_t i, l, n, m; @@ -341,9 +341,9 @@ void rotateFrame_shd( for ( m = m1; m < m2; m++ ) { /* crossfade with previous rotation gains */ - tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; - } - } + tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; + } + } /* write back the result */ for ( n = m1; n < m2; n++ ) { @@ -389,10 +389,10 @@ void rotateFrame_shd( void rotateFrame_sd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ - const int16_t subframe_idx /* i : subframe index */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ + const int16_t subframe_idx /* i : subframe index */ ) { int16_t i, j; @@ -494,8 +494,8 @@ void rotateFrame_sd( { output_tmp[ch_out][i] += ( cross_fade[j] ) * gains[ch_in][ch_out] * output[ch_in][i] + ( 1 - cross_fade[j] ) * gains_prev[ch_in][ch_out] * output[ch_in][i]; } + } } - } /* move Rmat to Rmat_prev */ for ( i = 0; i < 3; i++ ) @@ -785,14 +785,13 @@ static float SHrot_v( float R_lm1[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM] ) { - float d = 0.0f; - float p0 = 0.0f, p1 = 0.0f; + float result, d, p0, p1; if ( m == 0 ) { p0 = SHrot_p( 1, l, 1, n, SHrotmat, R_lm1 ); p1 = SHrot_p( -1, l, -1, n, SHrotmat, R_lm1 ); - return p0 + p1; + result = p0 + p1; } else { @@ -801,16 +800,18 @@ static float SHrot_v( d = ( m == 1 ) ? 1.0f : 0.0f; p0 = SHrot_p( 1, l, m - 1, n, SHrotmat, R_lm1 ); p1 = SHrot_p( -1, l, -m + 1, n, SHrotmat, R_lm1 ); - return p0 * sqrtf( 1.0f + d ) - p1 * ( 1.0f - d ); + result = p0 * sqrtf( 1.0f + d ) - p1 * ( 1.0f - d ); } else { d = ( m == -1 ) ? 1.0f : 0.0f; p0 = SHrot_p( 1, l, m + 1, n, SHrotmat, R_lm1 ); p1 = SHrot_p( -1, l, -m - 1, n, SHrotmat, R_lm1 ); - return p0 * ( 1.0f - d ) + p1 * sqrtf( 1.0f + d ); + result = p0 * ( 1.0f - d ) + p1 * sqrtf( 1.0f + d ); } } + + return result; } static float SHrot_w( @@ -820,13 +821,12 @@ static float SHrot_w( float SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM], float R_lm1[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM] ) { - float p0 = 0.0f; - float p1 = 0.0f; + float result, p0, p1; if ( m == 0 ) { printf( "ERROR should not be called\n" ); - return 0.0; + return 0.0f; } else { @@ -834,17 +834,26 @@ static float SHrot_w( { p0 = SHrot_p( 1, l, m + 1, n, SHrotmat, R_lm1 ); p1 = SHrot_p( -1, l, -m - 1, n, SHrotmat, R_lm1 ); - return p0 + p1; + result = p0 + p1; } else { p0 = SHrot_p( 1, l, m - 1, n, SHrotmat, R_lm1 ); p1 = SHrot_p( -1, l, -m + 1, n, SHrotmat, R_lm1 ); - return p0 - p1; + result = p0 - p1; } } + + return result; } + +/*------------------------------------------------------------------------- + * rotateFrame_sd_cldfb() + * + * + *------------------------------------------------------------------------*/ + void SHrotmatgen( float SHrotmat[HEADROT_SHMAT_DIM][HEADROT_SHMAT_DIM], /* o : rotation matrix in SHD */ float Rmat[3][3], /* i : real-space rotation matrix */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index f682a0731f..d9741fe694 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -462,9 +462,9 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( return AUDIO_CONFIG_HOA2; case IVAS_REND_AUDIO_CONFIG_HOA3: return AUDIO_CONFIG_HOA3; - default: - return AUDIO_CONFIG_INVALID; } + + return AUDIO_CONFIG_INVALID; } static ivas_error initLimiter( -- GitLab From 687394391ce0f0068a63060cc55c3f3cbfea96a5 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 18:57:00 +0100 Subject: [PATCH 425/620] formatting --- lib_com/ivas_prot.h | 9 +++------ lib_com/prot.h | 5 ++--- lib_dec/ivas_stereo_dft_dec.c | 7 +++---- lib_enc/ivas_mct_core_enc.c | 14 ++++++-------- lib_enc/ivas_stereo_cng_enc.c | 5 ++--- lib_enc/vad.c | 17 ++++++++--------- 6 files changed, 24 insertions(+), 33 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 2c265afda1..abc8569d95 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -1147,8 +1147,7 @@ void stereo_dft_dec_read_BS( void stereo_dft_dec_smooth_parameters( STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ - , + const int16_t prev_sid_nodata, /* i : Previous SID/No data indicator */ const int16_t active_frame_counter, /* i : Active frame counter */ const int32_t element_brate /* i : Element bitrate */ ); @@ -2423,8 +2422,7 @@ void stereo_cng_upd_counters( const int32_t element_mode, /* i : element mode */ const int16_t nbands, /* i : Number of bands in active */ const float sidSideGain[], /* i : SID side gains */ - const int16_t burst_ho_count /* i : Hang-over count */ - , + const int16_t burst_ho_count, /* i : Hang-over count */ int16_t *coh_fade_counter /* i : Coherence fade counter */ ); @@ -2656,8 +2654,7 @@ void ivas_mct_core_enc( const int16_t nChannels, /* i : number of channels to be coded */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t switch_bw, /* i : flag bandwidth switch occurance */ - const int16_t lfe_bits /* i : bits spent for LFE */ - , + const int16_t lfe_bits, /* i : bits spent for LFE */ const int16_t sba_order /* i : Ambisonic (SBA) order */ ); diff --git a/lib_com/prot.h b/lib_com/prot.h index 03e3ccb8ce..5878ef7f50 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3832,9 +3832,8 @@ int16_t dtx_hangover_addition( const int16_t cldfb_subtraction, /* i : */ int16_t *vad_hover_flag, /* o : VAD hangover flag */ VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ - NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ - , - int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ + NOISE_EST_HANDLE hNoiseEst, /* i : Noise estimation handle */ + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ ); int16_t wb_vad( diff --git a/lib_dec/ivas_stereo_dft_dec.c b/lib_dec/ivas_stereo_dft_dec.c index fbe01d1571..cf7783929c 100644 --- a/lib_dec/ivas_stereo_dft_dec.c +++ b/lib_dec/ivas_stereo_dft_dec.c @@ -2760,10 +2760,9 @@ void stereo_dft_generate_res_pred( void stereo_dft_dec_smooth_parameters( STEREO_DFT_DEC_DATA_HANDLE hStereoDft, /* i/o: decoder DFT stereo handle */ - const int16_t prev_sid_nodata /* i : Previous SID/No data indicator */ - , - const int16_t active_frame_counter, /* i : Active frame counter */ - const int32_t element_brate /* i : Element bitrate */ + const int16_t prev_sid_nodata, /* i : Previous SID/No data indicator */ + const int16_t active_frame_counter, /* i : Active frame counter */ + const int32_t element_brate /* i : Element bitrate */ ) { int16_t k_offset, k, k2, b, N_div; diff --git a/lib_enc/ivas_mct_core_enc.c b/lib_enc/ivas_mct_core_enc.c index 379a1c8358..614059aa27 100644 --- a/lib_enc/ivas_mct_core_enc.c +++ b/lib_enc/ivas_mct_core_enc.c @@ -114,11 +114,10 @@ static void FindChannelRatio( static void AdjustChannelRatios( int16_t chBitRatios[MCT_MAX_CHANNELS], /* o : bit-disctribution channel ratios */ - const int16_t nChannels /* i/o: number of channels */ - , - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t nAvailBits, /* i : number of available bits */ - const int16_t sba_order /* i : Ambisonic (SBA) order */ + const int16_t nChannels, /* i/o: number of channels */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t nAvailBits, /* i : number of available bits */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ ) { int16_t force_ch_bit_ratios[IVAS_SPAR_MAX_DMX_CHS]; @@ -196,9 +195,8 @@ void ivas_mct_core_enc( const int16_t nChannels, /* i : number of channels to be coded */ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t switch_bw, /* i : flag bandwidth switch occurance */ - const int16_t lfe_bits /* i : bits spent for LFE */ - , - const int16_t sba_order /* i : Ambisonic (SBA) order */ + const int16_t lfe_bits, /* i : bits spent for LFE */ + const int16_t sba_order /* i : Ambisonic (SBA) order */ ) { int16_t ch, ch_core, nSubframes, L_subframeTCX; diff --git a/lib_enc/ivas_stereo_cng_enc.c b/lib_enc/ivas_stereo_cng_enc.c index ca15794cc0..ea75419724 100644 --- a/lib_enc/ivas_stereo_cng_enc.c +++ b/lib_enc/ivas_stereo_cng_enc.c @@ -491,9 +491,8 @@ void stereo_cng_upd_counters( const int32_t element_mode, /* i : element mode */ const int16_t nbands, /* i : Number of bands in active */ const float sidSideGain[], /* i : SID side gains */ - const int16_t burst_ho_count /* i : Hang-over count */ - , - int16_t *coh_fade_counter /* i : Coherence fade counter */ + const int16_t burst_ho_count, /* i : Hang-over count */ + int16_t *coh_fade_counter /* i : Coherence fade counter */ ) { int16_t b; diff --git a/lib_enc/vad.c b/lib_enc/vad.c index 5379f86dc0..1812085689 100644 --- a/lib_enc/vad.c +++ b/lib_enc/vad.c @@ -155,15 +155,14 @@ static void sign_thr_snr_acc( *-----------------------------------------------------------------*/ int16_t dtx_hangover_addition( - Encoder_State *st, /* i/o: encoder state structure */ - const int16_t vad_flag, /* i : VAD flag */ - const float lp_snr, /* i : input single SNR estimate */ - const int16_t cldfb_subtraction, /* i : */ - int16_t *vad_hover_flag, /* o : VAD hangover flag */ - VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ - NOISE_EST_HANDLE hNoiseEst /* i : Noise estimation handle */ - , - int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ + Encoder_State *st, /* i/o: encoder state structure */ + const int16_t vad_flag, /* i : VAD flag */ + const float lp_snr, /* i : input single SNR estimate */ + const int16_t cldfb_subtraction, /* i : */ + int16_t *vad_hover_flag, /* o : VAD hangover flag */ + VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ + NOISE_EST_HANDLE hNoiseEst, /* i : Noise estimation handle */ + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ ) { int16_t hangover_short_dtx, flag_dtx; -- GitLab From 99b3c8190e82558d9269edfdd9b69b3999ae1a4a Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 18:57:19 +0100 Subject: [PATCH 426/620] correct typo --- lib_enc/nois_est.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/nois_est.c b/lib_enc/nois_est.c index b8d551a738..ad07d46945 100644 --- a/lib_enc/nois_est.c +++ b/lib_enc/nois_est.c @@ -232,7 +232,7 @@ void noise_est_pre( /*-----------------------------------------------------------------* * noise_est_down() * - * Down-ward noise udatation routine + * Down-ward noise updatation routine * Total Noise computation, relative frame Energy computation * Noise energy update - here, the energy is updated only if it is * decreasing to improve noise suppression. Otherwise, the noise -- GitLab From 9789007ed9a2afbf0b61eda72357111acc154056 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 19:02:57 +0100 Subject: [PATCH 427/620] cleaning" remove one level of dereferencing of st_ivas->hDecoderConfig/st_ivas->hEncoderConfig --- lib_dec/ivas_sba_dec.c | 20 ++++++++++---------- lib_enc/ivas_sba_enc.c | 12 ++++++------ 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 4e96c041bd..077cf97c02 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -70,8 +70,8 @@ ivas_error ivas_sba_dec_reinit( error = IVAS_ERR_OK; - output_Fs = st_ivas->hDecoderConfig->output_Fs; hDecoderConfig = st_ivas->hDecoderConfig; + output_Fs = hDecoderConfig->output_Fs; output_config = hDecoderConfig->output_config; ivas_total_brate = hDecoderConfig->ivas_total_brate; @@ -90,7 +90,7 @@ ivas_error ivas_sba_dec_reinit( { if ( st_ivas->ivas_format == ISM_FORMAT ) { - ivas_param_ism_dec_close( st_ivas->hDirAC, st_ivas->hDecoderConfig->output_config ); + ivas_param_ism_dec_close( st_ivas->hDirAC, hDecoderConfig->output_config ); } else { @@ -102,7 +102,7 @@ ivas_error ivas_sba_dec_reinit( /* Spar handle */ if ( st_ivas->hSpar != NULL ) { - ivas_spar_dec_close( st_ivas->hSpar, st_ivas->hDecoderConfig->output_Fs ); + ivas_spar_dec_close( st_ivas->hSpar, hDecoderConfig->output_Fs ); st_ivas->hSpar = NULL; } @@ -247,7 +247,7 @@ ivas_error ivas_sba_dec_reinit( *------------------------------------------------------------------------------------------*/ /* Allocate and initialize Custom loudspeaker layout handle */ - if ( st_ivas->hDecoderConfig->Opt_LsCustom ) + if ( hDecoderConfig->Opt_LsCustom ) { if ( ( error = ivas_ls_custom_open( &( st_ivas->hLsSetupCustom ) ) ) != IVAS_ERR_OK ) { @@ -256,7 +256,7 @@ ivas_error ivas_sba_dec_reinit( } /* Allocate and initialize Head-Tracking handle */ - if ( st_ivas->hDecoderConfig->Opt_Headrotation ) + if ( hDecoderConfig->Opt_Headrotation ) { if ( ( error = ivas_headTrack_open( &( st_ivas->hHeadTrackData ) ) ) != IVAS_ERR_OK ) { @@ -265,7 +265,7 @@ ivas_error ivas_sba_dec_reinit( } /* Allocate HRTF binary handle */ - if ( st_ivas->hDecoderConfig->Opt_HRTF_binary ) + if ( hDecoderConfig->Opt_HRTF_binary ) { if ( ( error = ivas_HRTF_binary_open( &( st_ivas->hHrtfTD ) ) ) != IVAS_ERR_OK ) { @@ -321,7 +321,7 @@ ivas_error ivas_sba_dec_reinit( st_ivas->hSpar->enc_param_start_band = min( IVAS_MAX_NUM_BANDS, SPAR_DIRAC_SPLIT_START_BAND ); - ivas_dirac_config_bands( band_grouping, IVAS_MAX_NUM_BANDS, (int16_t) ( st_ivas->hDecoderConfig->output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ), + ivas_dirac_config_bands( band_grouping, IVAS_MAX_NUM_BANDS, (int16_t) ( hDecoderConfig->output_Fs * INV_CLDFB_BANDWIDTH + 0.5f ), st_ivas->hSpar->dirac_to_spar_md_bands, st_ivas->hQMetaData->useLowerBandRes, st_ivas->hSpar->enc_param_start_band, 0 ); } } @@ -449,13 +449,13 @@ ivas_error ivas_sba_dec_reinit( set_f( st_ivas->mem_hp20_out[i], 0.0f, L_HP20_MEM ); } - if ( st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL || st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_ROOM ) + if ( hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL || hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_ROOM ) { if ( ( error = ivas_render_config_open( &( st_ivas->hRenderConfig ) ) ) != IVAS_ERR_OK ) { return error; } - if ( ivas_render_config_init_from_rom( &st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_ROOM ) != IVAS_ERR_OK ) + if ( ivas_render_config_init_from_rom( &st_ivas->hRenderConfig, hDecoderConfig->output_config == AUDIO_CONFIG_BINAURAL_ROOM ) != IVAS_ERR_OK ) { return IVAS_ERR_INTERNAL_FATAL; } @@ -629,7 +629,7 @@ ivas_error ivas_sba_dec_reconfigure( /* PCA handle */ if ( hSpar != NULL ) { - if ( st_ivas->hDecoderConfig->ivas_total_brate == PCA_BRATE && sba_order_internal == 1 ) + if ( hDecoderConfig->ivas_total_brate == PCA_BRATE && sba_order_internal == 1 ) { if ( ( hSpar->hPCA = (PCA_DEC_STATE *) count_malloc( sizeof( PCA_DEC_STATE ) ) ) == NULL ) { diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 04aba97747..8c5029fc4d 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -328,15 +328,14 @@ ivas_error ivas_sba_enc_reconfigure( int16_t nSCE_old, nCPE_old, nchan_transport_old; int32_t ivas_total_brate; ivas_error error; + ENCODER_CONFIG_HANDLE hEncoderConfig; error = IVAS_ERR_OK; - ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; -#ifdef SBA_BR_SWITCHING_2 - ENCODER_CONFIG_HANDLE hEncoderConfig; hEncoderConfig = st_ivas->hEncoderConfig; -#endif - if ( ivas_total_brate != st_ivas->hEncoderConfig->last_ivas_total_brate ) + ivas_total_brate = hEncoderConfig->ivas_total_brate; + + if ( ivas_total_brate != hEncoderConfig->last_ivas_total_brate ) { #ifdef SBA_BR_SWITCHING_2 DIRAC_ENC_HANDLE hDirAC = st_ivas->hDirAC; @@ -346,7 +345,8 @@ ivas_error ivas_sba_enc_reconfigure( nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; - st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); + st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, hEncoderConfig->sba_order ); + #ifdef SBA_BR_SWITCHING_2 st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); -- GitLab From 8963d7eb1d38c15b0ee75afb1345f939e45b60a3 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 19:09:52 +0100 Subject: [PATCH 428/620] fix Linux build warning --- lib_rend/lib_rend.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index d9741fe694..e62cf8c845 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -462,6 +462,8 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( return AUDIO_CONFIG_HOA2; case IVAS_REND_AUDIO_CONFIG_HOA3: return AUDIO_CONFIG_HOA3; + default: + break; } return AUDIO_CONFIG_INVALID; -- GitLab From 73345a9f23e5c64cc87efd60ad48229ceca4c1bc Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 15 Dec 2022 19:15:07 +0100 Subject: [PATCH 429/620] apply clang-format --- lib_rend/ivas_rotation.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib_rend/ivas_rotation.c b/lib_rend/ivas_rotation.c index 0eefb2766f..60cbb5e9b8 100644 --- a/lib_rend/ivas_rotation.c +++ b/lib_rend/ivas_rotation.c @@ -89,7 +89,7 @@ ivas_error ivas_headTrack_open( void QuatToRotMat( const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ + float Rmat[3][3] /* o : real-space rotation matrix for this rotation */ ) { float s1, s2, s3, c1, c2, c3; @@ -157,10 +157,10 @@ void QuatToRotMat( *------------------------------------------------------------------------*/ void Quat2Euler( - const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ - float *yaw, /* o : yaw */ - float *pitch, /* o : pitch */ - float *roll /* o : roll */ + const IVAS_QUATERNION quat, /* i : quaternion describing the rotation */ + float *yaw, /* o : yaw */ + float *pitch, /* o : pitch */ + float *roll /* o : roll */ ) { if ( quat.w != -3.0 ) @@ -286,9 +286,9 @@ void rotateAziEle_DirAC( void rotateFrame_shd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated HOA3 signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const int16_t subframe_idx /* i : subframe index */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const int16_t subframe_idx /* i : subframe index */ ) { int16_t i, l, n, m; @@ -341,9 +341,9 @@ void rotateFrame_shd( for ( m = m1; m < m2; m++ ) { /* crossfade with previous rotation gains */ - tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; - } - } + tmpRot[n - m1] += cross_fade[i] * SHrotmat[n][m] * output[m][subframe_idx * subframe_len + i] + ( 1 - cross_fade[i] ) * SHrotmat_prev[n][m] * output[m][subframe_idx * subframe_len + i]; + } + } /* write back the result */ for ( n = m1; n < m2; n++ ) { @@ -389,10 +389,10 @@ void rotateFrame_shd( void rotateFrame_sd( HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i : head track handle */ float output[][L_FRAME48k], /* i/o: unrotated SD signal buffer in TD */ - const int16_t subframe_len, /* i : subframe length per channel */ - const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ - const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ - const int16_t subframe_idx /* i : subframe index */ + const int16_t subframe_len, /* i : subframe length per channel */ + const IVAS_OUTPUT_SETUP hTransSetup, /* i : format for rotation */ + const EFAP_HANDLE hEFAPdata, /* i : EFAP structure */ + const int16_t subframe_idx /* i : subframe index */ ) { int16_t i, j; @@ -494,8 +494,8 @@ void rotateFrame_sd( { output_tmp[ch_out][i] += ( cross_fade[j] ) * gains[ch_in][ch_out] * output[ch_in][i] + ( 1 - cross_fade[j] ) * gains_prev[ch_in][ch_out] * output[ch_in][i]; } - } } + } /* move Rmat to Rmat_prev */ for ( i = 0; i < 3; i++ ) @@ -851,7 +851,7 @@ static float SHrot_w( /*------------------------------------------------------------------------- * rotateFrame_sd_cldfb() * - * + * *------------------------------------------------------------------------*/ void SHrotmatgen( -- GitLab From de0a7356cc5894adad9180c09cd61d5f1e7fc2e8 Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Thu, 15 Dec 2022 22:07:20 +0100 Subject: [PATCH 430/620] merge all changes under define MC_BITRATE_SWITCHING --- lib_com/ivas_prot.h | 2 +- lib_com/options.h | 2 -- lib_dec/ivas_cpe_dec.c | 2 +- lib_dec/ivas_mct_dec.c | 4 ++-- lib_dec/ivas_stereo_switching_dec.c | 4 ++-- 5 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index aa968848cb..a7af4878c9 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -2604,7 +2604,7 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT +#ifdef MC_BITRATE_SWITCHING const MC_MODE mc_mode, /* i : MC mode */ #endif const int16_t nchan_transport /* i : number of transport channels */ diff --git a/lib_com/options.h b/lib_com/options.h index 26ec07f301..7c3b498d4b 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -167,8 +167,6 @@ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ -#define MC_BITRATE_SWITCHING_CLDFB -#define FIX_MC_BR_SW_TCX_PLC_FADEOUT #define FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index a9536312d1..17062e8373 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -103,7 +103,7 @@ ivas_error ivas_cpe_dec( * dynamically allocate data structures depending on the actual stereo mode *----------------------------------------------------------------*/ -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT +#ifdef MC_BITRATE_SWITCHING if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) #else if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 931f1dc33d..0283d7778d 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -662,7 +662,7 @@ static ivas_error ivas_mc_dec_reconfig( ) { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; -#ifdef MC_BITRATE_SWITCHING_CLDFB +#ifdef MC_BITRATE_SWITCHING int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; #else int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; @@ -959,7 +959,7 @@ static ivas_error ivas_mc_dec_reconfig( * CLDFB instances *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING_CLDFB +#ifdef MC_BITRATE_SWITCHING ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); #else diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 5d96960312..3b9fb19727 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -342,7 +342,7 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT +#ifdef MC_BITRATE_SWITCHING const MC_MODE mc_mode, /* i : MC mode */ #endif const int16_t nchan_transport /* i : number of transport channels*/ @@ -958,7 +958,7 @@ ivas_error stereo_memory_dec( } } -#ifdef FIX_MC_BR_SW_TCX_PLC_FADEOUT +#ifdef MC_BITRATE_SWITCHING /*--------------------------------------------------------------* * Bitrate switching in MASA format *---------------------------------------------------------------*/ -- GitLab From 39e42296a59dc11ba93f00da27b57b54407b8047 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Thu, 15 Dec 2022 22:45:27 +0100 Subject: [PATCH 431/620] add debug printout in getWmops.sh --- ci/complexity_measurements/getWmops.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index 7f80bfdb81..f0458a8a9e 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -81,6 +81,8 @@ tcsh ${scriptDir}/genWebpageData_Ram.csh ${destDir}/wmops/log_ram_all.txt ${dest ${scriptDir}/mergeNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv > ${wmopsFilenameFlc}_ROM.csv ${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv ${wmopsFilenameFlcLast}_ROM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_rom_all.txt +cat ${destDir}/wmops/log_rom_all.txt + # generate java script from database tcsh ${scriptDir}/genWebpageData_Rom.csh ${destDir}/wmops/log_rom_all.txt ${destDir}/wmops/graphs_rom_flc.js Graphs_ROM -- GitLab From b4e389b3c3fbaa7e7f70059fa374614bce6f5395 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 16 Dec 2022 00:21:53 +0100 Subject: [PATCH 432/620] remove useless brackets --- lib_com/delay_comp.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index 4bcac1555e..30448082b5 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -101,9 +101,7 @@ int32_t get_delay( } /* compensate for Binaural renderer HRTF delay */ - { - delay += binaural_latency_ns; - } + delay += binaural_latency_ns; } } -- GitLab From f1bb6f3f22c327af14f7a44bd3c274aae655f5a1 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Fri, 16 Dec 2022 13:16:22 +0530 Subject: [PATCH 433/620] Combined two switches into one [x] Merged the changes under the switch 'SBA_BR_SWITCHING_2' into 'SBA_BR_SWITCHING' --- lib_com/ivas_cnst.h | 2 +- lib_com/ivas_prot.h | 4 +--- lib_com/ivas_sba_config.c | 13 +------------ lib_com/options.h | 7 +++---- lib_dec/ivas_dec.c | 2 +- lib_dec/ivas_dirac_dec.c | 6 +++--- lib_dec/ivas_init_dec.c | 12 +++++------- lib_dec/ivas_sba_dec.c | 19 +++++++++---------- lib_dec/ivas_stat_dec.h | 2 +- lib_enc/ivas_enc.c | 17 +++-------------- lib_enc/ivas_init_enc.c | 2 +- lib_enc/ivas_sba_enc.c | 8 ++++---- lib_enc/ivas_spar_encoder.c | 8 ++++---- lib_enc/ivas_spar_md_enc.c | 4 ++-- lib_enc/ivas_stat_enc.h | 2 +- 15 files changed, 40 insertions(+), 68 deletions(-) diff --git a/lib_com/ivas_cnst.h b/lib_com/ivas_cnst.h index 95ce270957..3533e5f0e7 100644 --- a/lib_com/ivas_cnst.h +++ b/lib_com/ivas_cnst.h @@ -926,7 +926,7 @@ typedef enum { DIRAC_OPEN, /* initialize to default value */ DIRAC_RECONFIGURE /* HOA3 */ -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING , DIRAC_RECONFIGURE_MODE #endif diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 7a6f75a051..00723ccffe 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -117,13 +117,11 @@ ivas_error ivas_sba_enc_reinit( int16_t get_sba_reinit_flag( int32_t ivas_total_bitrate, /* i : Current bitrate */ int32_t last_ivas_total_brate /* i : Previous bitrate */ -#ifdef SBA_BR_SWITCHING_2 , int16_t sba_order -#endif ); #endif #endif -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING ivas_error ivas_spar_md_enc_init ( ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index bbb44ff074..b5b8b15f72 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -81,23 +81,15 @@ SBA_MODE ivas_sba_mode_select( int16_t get_sba_reinit_flag( int32_t ivas_total_bitrate, /* i : Current bitrate */ - int32_t last_ivas_total_brate /* i : Previous bitrate */ -#ifdef SBA_BR_SWITCHING_2 - , + int32_t last_ivas_total_brate, /* i : Previous bitrate */ int16_t sba_order -#endif ) { int16_t sba_reinit_flag; sba_reinit_flag = 0; -#ifdef SBA_BR_SWITCHING_2 if ( ivas_total_bitrate != last_ivas_total_brate && ( ivas_total_bitrate > IVAS_SID_5k2 ) ) -#else - if ( ivas_total_bitrate != last_ivas_total_brate && ( last_ivas_total_brate > IVAS_SID_5k2 ) && ( ivas_total_bitrate > IVAS_SID_5k2 ) ) -#endif { -#ifdef SBA_BR_SWITCHING_2 int16_t sba_analysis_order, nchan_transport_old, nchan_transport_new; SBA_MODE last_sba_mode, current_sba_mode; sba_analysis_order = ivas_sba_get_analysis_order( last_ivas_total_brate, sba_order ); @@ -108,11 +100,8 @@ int16_t get_sba_reinit_flag( nchan_transport_new = ivas_get_sba_num_TCs( ivas_total_bitrate, min( sba_analysis_order, IVAS_MAX_SBA_ORDER ) ); if ( ( current_sba_mode != last_sba_mode ) || ( nchan_transport_new != nchan_transport_old ) ) { -#endif sba_reinit_flag = 1; -#ifdef SBA_BR_SWITCHING_2 } -#endif } return sba_reinit_flag; diff --git a/lib_com/options.h b/lib_com/options.h index f80e92ba81..ed898830bc 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,12 +148,11 @@ #define FIX_124_DONT_ALLOC_PLCINFO_IN_IVAS /* Issue 124: do not allocate unused plc struct in IVAS modes which is only used in EVS mono */ #define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/ #ifdef SBA_BR_SWITCHING_RECONFIG -#define SBA_BR_SWITCHING_2 /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ +#define SBA_BR_SWITCHING /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ #endif -#ifndef SBA_BR_SWITCHING_2 -#define SBA_BR_SWITCHING_2 /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ +#ifndef SBA_BR_SWITCHING +#define SBA_BR_SWITCHING /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same no:of transport channels and reinitialization for different no:of transport channels */ #endif -#define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define FIX_ITD /* Contribution 16: TD renderer ITD improvement and code cleanup */ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_ISM_DECODER_PRINTOUT /* Issue 229: fix ISM decoder printout */ diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index c3deb7103f..ef6a8819f9 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -563,7 +563,7 @@ ivas_error ivas_dec( if ( !st_ivas->bfi ) /* do not update if first frame(s) are lost or NO_DATA */ { st_ivas->hDecoderConfig->last_ivas_total_brate = ivas_total_brate; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING st_ivas->last_active_ivas_total_brate = ( ivas_total_brate <= IVAS_SID_5k2 ) ? st_ivas->last_active_ivas_total_brate : ivas_total_brate; #endif } diff --git a/lib_dec/ivas_dirac_dec.c b/lib_dec/ivas_dirac_dec.c index 9d92b11867..a21d267e41 100644 --- a/lib_dec/ivas_dirac_dec.c +++ b/lib_dec/ivas_dirac_dec.c @@ -126,7 +126,7 @@ ivas_error ivas_dirac_dec_open( ivas_error ivas_dirac_dec_config( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING const DIRAC_CONFIG_FLAG flag_config_inp /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ #else const DIRAC_CONFIG_FLAG flag_config /* i/ : Flag determining if we open or reconfigure the DirAC decoder */ @@ -149,7 +149,7 @@ ivas_error ivas_dirac_dec_config( int32_t output_Fs, ivas_total_brate; ivas_error error; int16_t nchan_transport_orig; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING DIRAC_CONFIG_FLAG flag_config; flag_config = ( flag_config_inp == DIRAC_RECONFIGURE_MODE ) ? DIRAC_RECONFIGURE : flag_config_inp; @@ -664,7 +664,7 @@ ivas_error ivas_dirac_dec_config( } else if ( flag_config == DIRAC_RECONFIGURE && hDirAC->proto_signal_decorr_on && proto_signal_decorr_on_old ) { -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING if ( nchan_transport != nchan_transport_old || hDirAC->num_outputs_diff != num_outputs_diff_old || flag_config_inp == DIRAC_RECONFIGURE_MODE ) #else if ( ( nchan_transport != nchan_transport_old ) || ( hDirAC->num_outputs_diff != num_outputs_diff_old ) ) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index a576813372..f7adc20155 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -125,26 +125,24 @@ ivas_error ivas_dec_setup( st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->sba_order ); num_bits_read += SBA_ORDER_BITS; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->last_active_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) #else if ( st_ivas->ini_frame > 0 && ivas_total_brate != st_ivas->hDecoderConfig->last_ivas_total_brate && ivas_total_brate > IVAS_SID_5k2 ) #endif { #ifndef SBA_BR_SWITCHING_RECONFIG -#ifdef SBA_BR_SWITCHING -#ifndef SBA_BR_SWITCHING_2 - if ( get_sba_reinit_flag( ivas_total_brate, st_ivas->hDecoderConfig->last_ivas_total_brate ) ) -#else +#ifdef SBA_BR_SWITCHING int16_t sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->last_active_ivas_total_brate, st_ivas->sba_order ); if ( sba_reinit_flag ) -#endif { if ( ( error = ivas_sba_dec_reinit( st_ivas ) ) != IVAS_ERR_OK ) { return error; } } +#endif +#ifdef SBA_BR_SWITCHING else { #endif @@ -637,7 +635,7 @@ ivas_error ivas_init_decoder( ivas_total_brate = hDecoderConfig->ivas_total_brate; hDecoderConfig->last_ivas_total_brate = ivas_total_brate; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING st_ivas->last_active_ivas_total_brate = ivas_total_brate; #endif diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 6fde66d5a3..16baeb8c67 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -37,7 +37,7 @@ #include "ivas_cnst.h" #include "prot.h" #include "ivas_prot.h" -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING #include "ivas_rom_com.h" #endif #include "ivas_rom_dec.h" @@ -76,9 +76,8 @@ ivas_error ivas_sba_dec_reinit( ivas_total_brate = hDecoderConfig->ivas_total_brate; hDecoderConfig->last_ivas_total_brate = ivas_total_brate; -#ifdef SBA_BR_SWITCHING_2 st_ivas->last_active_ivas_total_brate = ivas_total_brate; -#endif + /*------------------------------------------------------------------------------------------* * Closing Decoder handles before Reinitialisation *------------------------------------------------------------------------------------------*/ @@ -571,7 +570,7 @@ ivas_error ivas_sba_dec_reconfigure( SBA_MODE sba_mode_old; int32_t ivas_total_brate, last_ivas_total_brate; #else -#ifndef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING int32_t ivas_total_brate, last_ivas_total_brate; #else int32_t ivas_total_brate; @@ -590,7 +589,7 @@ ivas_error ivas_sba_dec_reconfigure( st_ivas->sba_mode = sba_mode_old; #else -#ifndef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING last_ivas_total_brate = hDecoderConfig->last_ivas_total_brate; #endif #endif @@ -615,7 +614,7 @@ ivas_error ivas_sba_dec_reconfigure( #ifdef SBA_BR_SWITCHING_RECONFIG st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); #endif -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING /*-----------------------------------------------------------------* * Allocate, initalize, and configure SBA handles *-----------------------------------------------------------------*/ @@ -781,7 +780,7 @@ ivas_error ivas_sba_dec_reconfigure( *-----------------------------------------------------------------*/ /* renderer might have changed */ intern_config_old = st_ivas->intern_config; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING RENDERER_TYPE old_renderer_type; old_renderer_type = st_ivas->renderer_type; #endif @@ -810,7 +809,7 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_binRenderer_close( &st_ivas->hBinRenderer ); } -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING if ( st_ivas->renderer_type != old_renderer_type ) { #endif @@ -822,7 +821,7 @@ ivas_error ivas_sba_dec_reconfigure( return error; } } -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING } #endif else if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC ) ) @@ -849,7 +848,7 @@ ivas_error ivas_sba_dec_reconfigure( } } #endif -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING if ( ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) { if ( st_ivas->hDirAC != NULL ) diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index de79f876d6..ce72da948d 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1974,7 +1974,7 @@ typedef struct Decoder_Struct #ifdef DEBUGGING int32_t noClipping; /* number of clipped samples */ #endif -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING int32_t last_active_ivas_total_brate; #endif } Decoder_Struct; diff --git a/lib_enc/ivas_enc.c b/lib_enc/ivas_enc.c index 251131e110..32e1e8b3fa 100644 --- a/lib_enc/ivas_enc.c +++ b/lib_enc/ivas_enc.c @@ -65,10 +65,8 @@ ivas_error ivas_enc( float data_f[MAX_INPUT_CHANNELS][L_FRAME48k]; /* IVAS_fmToDo: buffer can be allocated dynamically based on the number of analysed channels */ int32_t ivas_total_brate; ivas_error error; -#ifndef SBA_BR_SWITCHING_2 -#ifdef SBA_BR_SWITCHING +#ifndef SBA_BR_SWITCHING int16_t sba_reinit_flag; -#endif #endif error = IVAS_ERR_OK; @@ -89,20 +87,15 @@ ivas_error ivas_enc( n_samples_chan = n_samples / nchan_inp; set_s( nb_bits_metadata, 0, MAX_SCE ); -#ifdef SBA_BR_SWITCHING -#ifndef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING sba_reinit_flag = 0; #endif #ifndef SBA_BR_SWITCHING_RECONFIG +#ifdef SBA_BR_SWITCHING if ( ivas_format == SBA_FORMAT ) { -#ifndef SBA_BR_SWITCHING_2 - sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->hEncoderConfig->last_ivas_total_brate ); - if ( sba_reinit_flag ) -#else st_ivas->sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->hEncoderConfig->last_ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); if ( st_ivas->sba_reinit_flag ) -#endif { if ( ( error = ivas_sba_enc_reinit( st_ivas ) ) != IVAS_ERR_OK ) { @@ -216,15 +209,11 @@ ivas_error ivas_enc( if ( ivas_format == SBA_FORMAT ) { #ifndef SBA_BR_SWITCHING - if ( st_ivas->sba_mode == SBA_MODE_DIRAC ) -#else -#ifndef SBA_BR_SWITCHING_2 if ( ( st_ivas->sba_mode == SBA_MODE_DIRAC ) && ( !sba_reinit_flag ) ) #else #ifndef SBA_BR_SWITCHING_RECONFIG if ( !st_ivas->sba_reinit_flag ) #endif -#endif #endif { if ( ( error = ivas_sba_enc_reconfigure( st_ivas ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 2213d8bd72..a121c4aecd 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -343,7 +343,7 @@ ivas_error ivas_init_encoder( st_ivas->nchan_transport = -1; #ifndef SBA_BR_SWITCHING_RECONFIG -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING st_ivas->sba_reinit_flag = 0; #endif #else diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index adc3be5c26..55dc8c1aa0 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -332,7 +332,7 @@ ivas_error ivas_sba_enc_reconfigure( error = IVAS_ERR_OK; ivas_total_brate = st_ivas->hEncoderConfig->ivas_total_brate; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING ENCODER_CONFIG_HANDLE hEncoderConfig; hEncoderConfig = st_ivas->hEncoderConfig; #endif @@ -341,7 +341,7 @@ ivas_error ivas_sba_enc_reconfigure( #endif if ( ivas_total_brate != st_ivas->hEncoderConfig->last_ivas_total_brate ) { -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING DIRAC_ENC_HANDLE hDirAC = st_ivas->hDirAC; SPAR_ENC_HANDLE hSpar; #endif @@ -353,7 +353,7 @@ ivas_error ivas_sba_enc_reconfigure( st_ivas->flag_sba_bitrate_switch = 1; #endif st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, st_ivas->hEncoderConfig->sba_order ); -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); if ( st_ivas->sba_mode == SBA_MODE_SPAR ) @@ -505,7 +505,7 @@ ivas_error ivas_sba_enc_reconfigure( #endif ivas_dirac_enc_reconfigure( st_ivas ); -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING if ( st_ivas->sba_mode == SBA_MODE_SPAR ) { mvs2s( hDirAC->dirac_to_spar_md_bands, hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS ); diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 8af95a6a57..ce222282d8 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -556,7 +556,7 @@ static ivas_error ivas_spar_enc_process( hQMetaData->q_direction->cfg.nbands = orig_dirac_bands; } } -#ifndef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING /*-----------------------------------------------------------------------------------------* * Covariance process *-----------------------------------------------------------------------------------------*/ @@ -581,7 +581,7 @@ static ivas_error ivas_spar_enc_process( if ( hSpar->hMdEnc->table_idx != table_idx ) { hSpar->hMdEnc->table_idx = table_idx; -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING #ifndef SBA_BR_SWITCHING_RECONFIG if ( ivas_total_brate != hEncoderConfig->last_ivas_total_brate && !st_ivas->sba_reinit_flag ) #else @@ -597,11 +597,11 @@ static ivas_error ivas_spar_enc_process( { #endif ivas_spar_set_bitrate_config( &hSpar->hMdEnc->spar_md_cfg, table_idx, ( hSpar->hMdEnc->spar_hoa_md_flag ) ? IVAS_MAX_NUM_BANDS : SPAR_DIRAC_SPLIT_START_BAND ); -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING } #endif } -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING /*-----------------------------------------------------------------------------------------* * Covariance process *-----------------------------------------------------------------------------------------*/ diff --git a/lib_enc/ivas_spar_md_enc.c b/lib_enc/ivas_spar_md_enc.c index 11893eff81..d0657a3339 100644 --- a/lib_enc/ivas_spar_md_enc.c +++ b/lib_enc/ivas_spar_md_enc.c @@ -83,7 +83,7 @@ static void ivas_select_next_strat( ivas_strats_t prior_strat, ivas_strats_t cs[ static void ivas_store_prior_coeffs( ivas_spar_md_enc_state_t *hMdEnc, const int16_t num_bands, const int16_t bands_bw, const int16_t strat, const int16_t dtx_vad, const int16_t qsi ); static void ivas_write_spar_md_bitstream( ivas_spar_md_enc_state_t *hMdEnc, const int16_t nB, const int16_t bands_bw, BSTR_ENC_HANDLE hMetaData, const int32_t ivas_total_brate, const int16_t strat, const int16_t qsi, const int16_t planarCP ); -#ifndef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING static ivas_error ivas_spar_md_enc_init( ivas_spar_md_enc_state_t *hMdEnc, const ENCODER_CONFIG_HANDLE hEncoderConfig, const int16_t sba_order ); #endif static void ivas_spar_quant_pred_coeffs_dtx( ivas_spar_md_t *pSpar_md, const float *pValues, const int16_t ndm, int16_t *pIndex, const int16_t dim1, float *pQuant ); @@ -306,7 +306,7 @@ void ivas_spar_md_enc_close( * * SPAR MD encoder initialization *-----------------------------------------------------------------------------------------*/ -#ifndef SBA_BR_SWITCHING_2 +#ifndef SBA_BR_SWITCHING static ivas_error ivas_spar_md_enc_init #else ivas_error ivas_spar_md_enc_init diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index c302917ee9..7716c1d2d7 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1049,7 +1049,7 @@ typedef struct int16_t codec_mode; /* Mode1 or Mode2 of core codec */ int16_t last_codec_mode; /* previous frame Mode 1 or 2 */ #ifndef SBA_BR_SWITCHING_RECONFIG -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING int16_t sba_reinit_flag; /*flag indicating whether reinitialisation or reconfiguration function should be used*/ #endif #else -- GitLab From a814263ec185e243a96710ae9c0db62432eb9fbe Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 09:20:39 +0100 Subject: [PATCH 434/620] fix pages job by adding missing semicolons in if clause --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index aaa355eb35..53cdd2871b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1084,7 +1084,7 @@ complexity-StereoDmxEVS-stereo-in-mono-out: # helper for pages job .unzip-or-cat: &unzip-or-cat - unzip -t $ARTIFACTS >> /dev/null - - if [ $? -eq 0 ]; then unzip -o $ARTIFACTS rm $ARTIFACTS; else cat $ARTIFACTS rm $ARTIFACTS; fi + - if [ $? -eq 0 ]; then unzip -o $ARTIFACTS; rm $ARTIFACTS; else cat $ARTIFACTS; rm $ARTIFACTS; fi # job that sets up gitlab pages website # is run on a separate schedule and collects artifacts from other jobs (currently -- GitLab From ecdeb63f9d5ca37710bf865d5afdae49bd1d0496 Mon Sep 17 00:00:00 2001 From: rhb <franz.reutelhuber@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 10:26:13 +0100 Subject: [PATCH 435/620] bring back inadvertently removed lines when STABILIZE_GIPD is off --- lib_enc/ivas_stereo_dft_enc.c | 7 +++++++ 1 file changed, 7 insertions(+) mode change 100644 => 100755 lib_enc/ivas_stereo_dft_enc.c diff --git a/lib_enc/ivas_stereo_dft_enc.c b/lib_enc/ivas_stereo_dft_enc.c old mode 100644 new mode 100755 index 103e78a594..4dfc9781ce --- a/lib_enc/ivas_stereo_dft_enc.c +++ b/lib_enc/ivas_stereo_dft_enc.c @@ -2898,6 +2898,13 @@ static void stereo_dft_enc_compute_prm( pPredGain[b] = 0.f; } +#ifndef STABILIZE_GIPD + if ( b < hStereoDft->gipd_band_max ) + { + gain_IPD += ( sum_nrg_L + sum_nrg_R + 2 * dot_prod_real ) / sub_nrg_DMX[b] / hStereoDft->gipd_band_max; + } +#endif + #ifdef STABILIZE_GIPD if ( b2 == hStereoDft->gipd_band_max ) #else -- GitLab From dfbd0e1958450edfed87ac5fdc644655ee2e9caa Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 10:43:15 +0100 Subject: [PATCH 436/620] Include rate switching condition in voip be test --- ci/ivas_voip_be_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 38253a205f..cd16c4b238 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -29,7 +29,7 @@ # the United Nations Convention on Contracts on the International Sales of Goods. # Configuration -modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr') # 'stereo_b32_128_fb_rs') # stereo mode sems broken in decoder +modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr' 'stereo_b32_128_fb_rs') output_formats=('STEREO' 'FOA' '7_1' 'HOA3') limit_input_to_x_seconds=30 -- GitLab From 8cf9ef3c7891129df4fad50fcf80ebaf238e84d2 Mon Sep 17 00:00:00 2001 From: Eleni Fotopoulou <eleni.fotopoulou@iis-extern.fraunhofer.de> Date: Fri, 16 Dec 2022 10:47:09 +0100 Subject: [PATCH 437/620] merge FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON define under MC_BITRATE_SWITCHING --- lib_com/options.h | 1 - lib_com/prot.h | 2 +- lib_enc/amr_wb_enc.c | 2 +- lib_enc/evs_enc.c | 2 +- lib_enc/ivas_core_enc.c | 2 +- lib_enc/ivas_mct_enc.c | 2 +- lib_enc/updt_enc.c | 4 ++-- 7 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a89a9f8e1f..d71d9de23a 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -153,7 +153,6 @@ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ -#define FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_com/prot.h b/lib_com/prot.h index d1d3b0344f..a6b660f8a1 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3915,7 +3915,7 @@ void updt_enc( void updt_enc_common( Encoder_State *st /* i/o: encoder state structure */ -#ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifndef MC_BITRATE_SWITCHING , const float Etot /* i : total energy */ #endif diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index 185ba05e51..5bbc890b52 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -531,7 +531,7 @@ void amr_wb_enc( updt_enc( st, old_exc, pitch_buf, 0, Aq, isf_new, isp_new, dummy_buf ); /* update main codec paramaters */ -#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifdef MC_BITRATE_SWITCHING st->hNoiseEst->Etot_last = Etot; updt_enc_common( st ); #else diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 9f54a68fd3..8eb9bd9623 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -509,7 +509,7 @@ ivas_error evs_enc( * Updates *---------------------------------------------------------------------*/ -#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifdef MC_BITRATE_SWITCHING st->hNoiseEst->Etot_last = Etot; updt_enc_common( st ); #else diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index b7d228c4ac..edef26a6c2 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -408,7 +408,7 @@ ivas_error ivas_core_enc( /*---------------------------------------------------------------------* * Common updates *---------------------------------------------------------------------*/ -#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifdef MC_BITRATE_SWITCHING /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ st->hNoiseEst->Etot_last = Etot[n]; if ( !MCT_flag ) diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index a8485310e9..3fa3ad04bd 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -195,7 +195,7 @@ ivas_error ivas_mct_enc( for ( n = 0; n < CPE_CHANNELS; n++ ) { mvr2r( hCPE->hCoreCoder[n]->input, hCPE->hCoreCoder[n]->old_input_signal, input_frame ); -#ifdef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifdef MC_BITRATE_SWITCHING /* common encoder updates */ updt_enc_common( hCPE->hCoreCoder[n] ); #endif diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index cd9b3b0ef0..37f50c8cef 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -298,7 +298,7 @@ void updt_IO_switch_enc( void updt_enc_common( Encoder_State *st /* i/o: encoder state structure */ -#ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifndef MC_BITRATE_SWITCHING , const float Etot /* i : total energy */ #endif @@ -319,7 +319,7 @@ void updt_enc_common( st->last_extl = st->extl; st->last_input_bwidth = st->input_bwidth; st->last_bwidth = st->bwidth; -#ifndef FIX_MC_BR_SW_MCT_UPDT_ENC_COMMON +#ifndef MC_BITRATE_SWITCHING st->hNoiseEst->Etot_last = Etot; #endif st->last_coder_type_raw = st->coder_type_raw; -- GitLab From b7ce0dd4bcc710de720c88fc0ee89ecb8ee46882 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Fri, 16 Dec 2022 10:52:16 +0100 Subject: [PATCH 438/620] Resolve gcc compiler warnings in ivas_crend_utest_utils.c --- .../unit_tests/crend/ivas_crend_utest_utils.c | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index 5378c88b55..dd1c8c8249 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -82,35 +82,37 @@ static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_ro *err_lfe = 0; *err_dec = 0; - for ( int ind1 = 0; ind1 < sizeof( sampleRates ) / sizeof( float ); ind1++ ) + // for ( int ind1 = 0; ind1 < sizeof( sampleRates ) / sizeof( float ); ind1++ ) // gcc complains it cannot resolve the number of array elements this way -- changed to hard-coded loop below + for ( int ind1 = 0; ind1 < 3; ind1++ ) { if ( verbose ) printf( "\nsample rate = %f", sampleRates[ind1] ); - for ( int ind2 = 0; ind2 < sizeof( binaural_latencys_s ) / sizeof( float ); ind2++ ) + // for ( int ind2 = 0; ind2 < sizeof( binaural_latencys_s ) / sizeof( float ); ind2++ ) // gcc complains it cannot resolve the number of array elements this way -- changed to hard-coded loop below + for ( int ind2 = 0; ind2 < 3; ind2++ ) { wanted = (int32_t) roundf( binaural_latencys_s[ind2] * sampleRates[ind1] ); if ( verbose ) - printf( "\nbinaural_latencys_s = %f wanted = %ld", binaural_latencys_s[ind2], wanted ); + printf( "\nbinaural_latencys_s = %f wanted = %d", binaural_latencys_s[ind2], wanted ); if ( use_round_latency ) delay_ns[ind2] = (int32_t) roundf( binaural_latencys_s[ind2] * 1000000000.f ); else delay_ns[ind2] = (int32_t) ( binaural_latencys_s[ind2] * 1000000000.f ); if ( verbose ) - printf( "\n delay_ns[%d] = %ld \n", ind2, delay_ns[ind2] ); + printf( "\n delay_ns[%d] = %d \n", ind2, delay_ns[ind2] ); if ( use_round_for_lfe ) delay_lfe[ind1][ind2] = (int32_t) roundf( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); else delay_lfe[ind1][ind2] = (int32_t) NS2SA( sampleRates[ind1], delay_ns[ind2] ); if ( verbose ) - printf( "\ndelay_lfe[%d][%d] = %ld\n", ind1, ind2, delay_lfe[ind1][ind2] ); + printf( "\ndelay_lfe[%d][%d] = %d\n", ind1, ind2, delay_lfe[ind1][ind2] ); *err_lfe += abs( delay_lfe[ind1][ind2] - wanted ); delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] + 0.5f ); // delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] ); if ( verbose ) - printf( "\ndelay_dec[%d][%d] = %ld \n", ind1, ind2, delay_dec[ind1][ind2] ); + printf( "\ndelay_dec[%d][%d] = %d \n", ind1, ind2, delay_dec[ind1][ind2] ); *err_dec += abs( delay_dec[ind1][ind2] - wanted ); } } @@ -1151,32 +1153,32 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl int32_t err = 0, err_lfe = 0, err_dec = 0; err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_crend_s, 0, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_td_s, 0, 0, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_crend_s, 0, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_td_s, 0, 1, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_crend_s, 1, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_td_s, 1, 0, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_crend_s, 1, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); + printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); err += ivas_check_rounding( binaural_latencys_td_s, 1, 1, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); + printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); ivas_render_config_open( &st_ivas.hRenderConfig ); -- GitLab From ded0c6fe55a697f05ba075367079663e890b6529 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 11:02:52 +0100 Subject: [PATCH 439/620] small changes --- lib_com/ivas_tools.c | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index 503d726faf..66a4a2a4e9 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1054,22 +1054,17 @@ void panning_wrap_angles( azi = azi_deg; ele = ele_deg; - if ( fabs( ele ) <= 90 ) + if ( fabsf( ele ) < 90 ) { *ele_wrapped = ele; - if ( azi > 180 || azi <= -180 ) - { - azi = wrap_azi( azi ); - } - *azi_wrapped = azi; - return; + *azi_wrapped = wrap_azi( azi ); } else { /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ if ( ( fmodf( ele, 90 ) == 0 ) && ( fmodf( ele, 180 ) != 0 ) ) { - azi = 0; + *azi_wrapped = 0; while ( ele > 90 ) { ele -= 360; @@ -1078,6 +1073,7 @@ void panning_wrap_angles( { ele += 360; } + *ele_wrapped = ele; } else { @@ -1097,12 +1093,10 @@ void panning_wrap_angles( ele = -180 - ele; } } - azi = wrap_azi( azi ); + *azi_wrapped = wrap_azi( azi ); + *ele_wrapped = ele; } - *azi_wrapped = azi; - *ele_wrapped = ele; - return; } } -- GitLab From b2fc59d102919d4b9d66d2c83dc1387bc3a2fbf4 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 16 Dec 2022 11:09:18 +0100 Subject: [PATCH 440/620] Correct indices in newsletter parsers --- ci/complexity_measurements/getWmops.sh | 8 +++----- ci/complexity_measurements/mergeNewsletterRam.py | 2 +- ci/complexity_measurements/mergeNewsletterRom.py | 2 +- ci/complexity_measurements/parseNewsletterRam.py | 15 +++++++++++---- ci/complexity_measurements/parseNewsletterRom.py | 2 +- 5 files changed, 17 insertions(+), 12 deletions(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index f0458a8a9e..d3115dc747 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -40,7 +40,7 @@ output_format=$2 date=`date +%Y%m%d` # used for log-file file ending shortDate=`date "+%b %d" | sed -e "s/\ /_/g"` # stored in the log-file fullDate=`date "+%c" | sed -e "s/\ /_/g"` # stored in the log-file - + commit_sha=`git rev-parse --short HEAD` destDir="." @@ -62,10 +62,10 @@ wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} ${scriptDir}/parseNewsletterWmops.py ${wmopsFilenameFlc}_WMOPS.csv ${wmopsFilenameFlcLast}_WMOPS.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_wmops_all.txt # now update the webpage -tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt ${destDir}/wmops/graphs_wmops_flc.js Graphs_WMOPS +tcsh ${scriptDir}/genWebpageData_WMOPS.csh ${destDir}/wmops/log_wmops_all.txt ${destDir}/wmops/graphs_wmops_flc.js Graphs_WMOPS # per mode graph -tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP +tcsh ${scriptDir}/genWebpageData_WmopPerOperatingpoint.csh ${wmopsFilenameFlc}_WMOPS.csv ${destDir}/wmops/graphs_wmops_flc_perOP.js Graphs_WMOPS_perOP # get memory info for webpage @@ -81,8 +81,6 @@ tcsh ${scriptDir}/genWebpageData_Ram.csh ${destDir}/wmops/log_ram_all.txt ${dest ${scriptDir}/mergeNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv > ${wmopsFilenameFlc}_ROM.csv ${scriptDir}/parseNewsletterRom.py ${wmopsFilenameFlc}_PROM.csv ${wmopsFilenameFlc}_TROM.csv ${wmopsFilenameFlcLast}_ROM.csv ${commit_sha} ${shortDate} ${fullDate} >> ${destDir}/wmops/log_rom_all.txt -cat ${destDir}/wmops/log_rom_all.txt - # generate java script from database tcsh ${scriptDir}/genWebpageData_Rom.csh ${destDir}/wmops/log_rom_all.txt ${destDir}/wmops/graphs_rom_flc.js Graphs_ROM diff --git a/ci/complexity_measurements/mergeNewsletterRam.py b/ci/complexity_measurements/mergeNewsletterRam.py index 34b70a306c..44dbe9b848 100755 --- a/ci/complexity_measurements/mergeNewsletterRam.py +++ b/ci/complexity_measurements/mergeNewsletterRam.py @@ -69,7 +69,7 @@ print("conf;HEAP enc;HEAP dec;HEAP total;STACK enc;STACK dec;STACK max;total") for key in ram_table: ram = ram_table[key] - total = int(ram[1]) + int(ram[2]) + int(ram[5]) + total = int(ram[0]) + int(ram[1]) + int(ram[5]) print( key, ";", diff --git a/ci/complexity_measurements/mergeNewsletterRom.py b/ci/complexity_measurements/mergeNewsletterRom.py index 1dba474082..57b3ec1bd4 100755 --- a/ci/complexity_measurements/mergeNewsletterRom.py +++ b/ci/complexity_measurements/mergeNewsletterRom.py @@ -63,7 +63,7 @@ with open(newsletterFilenameTROM, "r") as csvfile: rom_table[key] += lst # now we have the following format -# PROM enc, PROM dec, PROM total, TROM enc, TROM dec, TROM total +# PROM enc, PROM dec, PROM com, PROM rend, PROM total, TROM enc, TROM dec, TROM com, TROM rend, TROM total print("conf;PROM enc;PROM dec;PROM com;PROM rend;PROM total;TROM enc;TROM dec;TROM com;TROM rend;TROM total;total") diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py index ee0a9c3f75..762ef5dca5 100755 --- a/ci/complexity_measurements/parseNewsletterRam.py +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -81,7 +81,7 @@ with open(newsletterFilenameSTACK, "r") as csvfile: ram_table[key] += lst # now we have the following format -# HEAP enc, HEAP dec, HEAP total, STACK enc, STACK dec, STACK max(enc, dec) +# HEAP enc, HEAP dec, HEAP total, STACK enc, STACK dec, STACK max(enc, dec), total for key in ram_table: ram = ram_table[key] @@ -125,11 +125,11 @@ for key in ram_table: max_total_enc[0] = re.sub(" ", "_", key) max_total_enc[1] = total_enc - if total_dec > max_heap_dec[1]: + if total_dec > max_total_dec[1]: max_total_dec[0] = re.sub(" ", "_", key) max_total_dec[1] = total_dec - if total_encdec > max_heap_encdec[1]: + if total_encdec > max_total_encdec[1]: max_total_encdec[0] = re.sub(" ", "_", key) max_total_encdec[1] = total_encdec @@ -137,20 +137,27 @@ print( revision, shortDate, fullDate, + max_total_encdec[1], + max_total_enc[0], max_total_enc[1], max_total_dec[0], max_total_dec[1], + max_stack_encdec[1], max_stack_encdec[0], + max_stack_enc[0], max_stack_enc[1], max_stack_dec[0], max_stack_dec[1], - max_heap_enc[1] + max_heap_dec[1], + + max_heap_encdec[1], + max_heap_encdec[0], max_heap_enc[0], max_heap_enc[1], max_heap_dec[0], max_heap_dec[1], + newsletterFilenameLast, ) diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py index d7cdb3e8ea..3fd079385a 100755 --- a/ci/complexity_measurements/parseNewsletterRom.py +++ b/ci/complexity_measurements/parseNewsletterRom.py @@ -100,7 +100,7 @@ for key in rom_table: trom_rend = int(rom[8]) trom_total = int(rom[9]) - total_encdec = int(rom[10]) + total_encdec = prom_total + trom_total if prom_enc > max_prom_enc[1]: max_prom_enc[0] = re.sub(" ", "_", key) -- GitLab From 5c0f673041464e00b075c9d1e3a040e73dc051ba Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Fri, 16 Dec 2022 15:42:13 +0530 Subject: [PATCH 441/620] Minor modification --- lib_dec/ivas_init_dec.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index f7adc20155..4bac9c557b 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -141,8 +141,6 @@ ivas_error ivas_dec_setup( return error; } } -#endif -#ifdef SBA_BR_SWITCHING else { #endif -- GitLab From 28906ecb7a89f0cdbfb6cac23199287ab5752995 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Fri, 16 Dec 2022 11:24:17 +0100 Subject: [PATCH 442/620] Changing [0], [1] order --- ci/complexity_measurements/parseNewsletterRam.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py index 762ef5dca5..98b215853a 100755 --- a/ci/complexity_measurements/parseNewsletterRam.py +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -145,15 +145,15 @@ print( max_total_dec[0], max_total_dec[1], - max_stack_encdec[1], max_stack_encdec[0], + max_stack_encdec[1], max_stack_enc[0], max_stack_enc[1], max_stack_dec[0], max_stack_dec[1], - max_heap_encdec[1], max_heap_encdec[0], + max_heap_encdec[1], max_heap_enc[0], max_heap_enc[1], max_heap_dec[0], -- GitLab From 05e3612c264ac64ef611a55bea50761118f921e9 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 11:46:59 +0100 Subject: [PATCH 443/620] revert part of previous commit to maybe fix ci --- ci/complexity_measurements/parseNewsletterRam.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py index 98b215853a..95a35697b0 100755 --- a/ci/complexity_measurements/parseNewsletterRam.py +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -145,8 +145,8 @@ print( max_total_dec[0], max_total_dec[1], - max_stack_encdec[0], max_stack_encdec[1], + max_stack_encdec[0], max_stack_enc[0], max_stack_enc[1], max_stack_dec[0], -- GitLab From 1ff2ef1bcbfddd603900c076c114aa8b55ea8580 Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 13:46:53 +0100 Subject: [PATCH 444/620] changed helper function wrap_azi --- lib_com/ivas_tools.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index 66a4a2a4e9..6af6dc9bb8 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1015,22 +1015,16 @@ static float wrap_azi( float azi = azi_deg; /* Wrap azimuth value */ - if ( fabsf( azi ) > 180 ) + while ( azi > 180 ) { - azi = fmodf( azi + 180, 360 ); - if ( azi < 0 ) - { - azi += 360; - } - - azi -= 180; + azi -= 360.0f; } - /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ - if ( azi == -180 ) + while ( azi <= -180 ) { - azi = 180; + azi += 360; } + return azi; } -- GitLab From 3c64506701671c6e3ebef4fefbb07aa76cd2219d Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Fri, 16 Dec 2022 14:43:35 +0100 Subject: [PATCH 445/620] Add parenthesis in delay calculation that caused overflow --- lib_dec/lib_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 2d28ab6772..5234a5a6c9 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1057,7 +1057,7 @@ ivas_error IVAS_DEC_GetDelay( #ifdef FIX_I59_LFE_TD_DELAY #ifdef FIX_I59_DELAY_ROUNDING - *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); + *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) * ( hDecoderConfig->output_Fs / 1000000000.f ) ); #else *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ) ); #endif -- GitLab From 1cbeda9167732f40fecc73ebe9d078da2f522e73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20Toftg=C3=A5rd?= <tomas.toftgard@ericsson.com> Date: Fri, 16 Dec 2022 14:56:53 +0100 Subject: [PATCH 446/620] Corrections for merge conflicts Code formatting --- lib_com/ivas_prot.h | 7 ++++--- lib_enc/ivas_core_pre_proc_front.c | 7 ++++--- lib_enc/ivas_cpe_enc.c | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index f6d89b516a..952d57aa63 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -215,11 +215,12 @@ ivas_error pre_proc_front_ivas( const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ - const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ #ifdef LOW_RATE_TRANS - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t ivas_format /* i : IVAS format */ + const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t ivas_format /* i : IVAS format */ #else + const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ #endif ); diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index aa279f1e20..fffec70b05 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -108,11 +108,12 @@ ivas_error pre_proc_front_ivas( const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ - const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ #ifdef LOW_RATE_TRANS - const int32_t ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX */ - const int16_t ivas_format /* i : IVAS format */ + const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ + const int32_t ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX */ + const int16_t ivas_format /* i : IVAS format */ #else + const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ , const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ #endif diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 8329b85307..5735de87d0 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -429,7 +429,7 @@ ivas_error ivas_cpe_enc( #ifdef LOW_RATE_TRANS error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], - fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, + fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); #else error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], -- GitLab From 5a44c58eb1c677a940aa55a909b766ff0bffb4ba Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Fri, 16 Dec 2022 15:07:18 +0100 Subject: [PATCH 447/620] Add define FIX_I59_CREND for gcc compiler fixes in ivas_crend_utest_utils.c --- lib_com/options.h | 1 + .../unit_tests/crend/ivas_crend_utest_utils.c | 75 ++++++++++++++++++- 2 files changed, 74 insertions(+), 2 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a5ed399f14..1c3a0c2ce6 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -166,6 +166,7 @@ #define FIX_I59_LFE_CLDFB /* Issue 59: correcting LFE handling for fastconv binaural rendering */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ +#define FIX_I59_CREND /* Issue 59: Fixes for gcc compiler warnings in ivas_crend_utest_utils.c */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index dd1c8c8249..c8772f7ec1 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -82,37 +82,60 @@ static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_ro *err_lfe = 0; *err_dec = 0; - // for ( int ind1 = 0; ind1 < sizeof( sampleRates ) / sizeof( float ); ind1++ ) // gcc complains it cannot resolve the number of array elements this way -- changed to hard-coded loop below +#ifdef FIX_I59_CREND for ( int ind1 = 0; ind1 < 3; ind1++ ) +#else + for ( int ind1 = 0; ind1 < sizeof( sampleRates ) / sizeof( float ); ind1++ ) +#endif { if ( verbose ) printf( "\nsample rate = %f", sampleRates[ind1] ); - // for ( int ind2 = 0; ind2 < sizeof( binaural_latencys_s ) / sizeof( float ); ind2++ ) // gcc complains it cannot resolve the number of array elements this way -- changed to hard-coded loop below + +#ifdef FIX_I59_CREND for ( int ind2 = 0; ind2 < 3; ind2++ ) +#else + for ( int ind2 = 0; ind2 < sizeof( binaural_latencys_s ) / sizeof( float ); ind2++ ) +#endif { wanted = (int32_t) roundf( binaural_latencys_s[ind2] * sampleRates[ind1] ); if ( verbose ) +#ifdef FIX_I59_CREND printf( "\nbinaural_latencys_s = %f wanted = %d", binaural_latencys_s[ind2], wanted ); +#else + printf( "\nbinaural_latencys_s = %f wanted = %ld", binaural_latencys_s[ind2], wanted ); +#endif if ( use_round_latency ) delay_ns[ind2] = (int32_t) roundf( binaural_latencys_s[ind2] * 1000000000.f ); else delay_ns[ind2] = (int32_t) ( binaural_latencys_s[ind2] * 1000000000.f ); if ( verbose ) +#ifdef FIX_I59_CREND printf( "\n delay_ns[%d] = %d \n", ind2, delay_ns[ind2] ); +#else + printf( "\n delay_ns[%d] = %ld \n", ind2, delay_ns[ind2] ); +#endif if ( use_round_for_lfe ) delay_lfe[ind1][ind2] = (int32_t) roundf( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); else delay_lfe[ind1][ind2] = (int32_t) NS2SA( sampleRates[ind1], delay_ns[ind2] ); if ( verbose ) +#ifdef FIX_I59_CREND printf( "\ndelay_lfe[%d][%d] = %d\n", ind1, ind2, delay_lfe[ind1][ind2] ); +#else + printf( "\ndelay_lfe[%d][%d] = %ld\n", ind1, ind2, delay_lfe[ind1][ind2] ); +#endif *err_lfe += abs( delay_lfe[ind1][ind2] - wanted ); delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] + 0.5f ); // delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] ); if ( verbose ) +#ifdef FIX_I59_CREND printf( "\ndelay_dec[%d][%d] = %d \n", ind1, ind2, delay_dec[ind1][ind2] ); +#else + printf( "\ndelay_dec[%d][%d] = %ld \n", ind1, ind2, delay_dec[ind1][ind2] ); +#endif *err_dec += abs( delay_dec[ind1][ind2] - wanted ); } } @@ -1153,32 +1176,80 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl int32_t err = 0, err_lfe = 0, err_dec = 0; err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 0, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_crend_s, 0, 0, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_td_s, 0, 0, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); +#else + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); +#endif err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 1, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_crend_s, 0, 1, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_td_s, 0, 1, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); +#else + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); +#endif err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 0, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_crend_s, 1, 0, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_td_s, 1, 0, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); +#else + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); +#endif err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 1, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_crend_s, 1, 1, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); +#else + printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); +#endif err += ivas_check_rounding( binaural_latencys_td_s, 1, 1, &err_lfe, &err_dec, 0 ); +#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); +#else + printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); +#endif ivas_render_config_open( &st_ivas.hRenderConfig ); -- GitLab From bb729b09b03ddea3e48cd88e6d56bb2a1c5a603e Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 17:30:25 +0100 Subject: [PATCH 448/620] Add error check after runIvasCodec --- ci/ivas_voip_be_test.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index cd16c4b238..ac59dedcd9 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -1,4 +1,4 @@ -#! /usr/local/bin/bash +#! /usr/bin/bash # (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, # Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., @@ -29,7 +29,7 @@ # the United Nations Convention on Contracts on the International Sales of Goods. # Configuration -modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr' 'stereo_b32_128_fb_rs') +modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr') output_formats=('STEREO' 'FOA' '7_1' 'HOA3') limit_input_to_x_seconds=30 @@ -46,6 +46,13 @@ make all -j 8 ./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee jbm_be_test_output.txt ./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a jbm_be_test_output.txt +# Check if Python scripts above failed. They return status 0 even when running a mode fails, so we have to parse log file +run_errors=$(grep -i error jbm_be_test_output.txt) || true +if [ "$run_errors" != 0 ] ; then + echo "Run errors in runIvasCodec.py" + exit 1 +fi + # Set up Python path python_audio_module_path=$(pwd)/scripts export PYTHONPATH=$python_audio_module_path:$PYTHONPATH @@ -101,5 +108,5 @@ if [ $all_be -eq 1 ]; then printf "\n\nAll tested conditions are bit-exact\n" | tee -a jbm_be_test_output.txt else printf "\n\nBitexactness problems found!\n" | tee -a jbm_be_test_output.txt - exit 255; + exit 1; fi -- GitLab From 525f185f1ee81e8f351b1a0167bbd0ee9096f802 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 17:31:36 +0100 Subject: [PATCH 449/620] Add missing tag to voip be job --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8a2bcd106a..3dae45b7ee 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -573,6 +573,7 @@ voip-be-on-merge-request: - *print-common-info - bash ci/ivas_voip_be_test.sh tags: + - test-fhg-linux-runner1 - test-fhg-linux-runner2 clang-format-check: -- GitLab From 05f211018b478abb7b91f405f3d1a1fffaf7f21e Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 17:45:09 +0100 Subject: [PATCH 450/620] Revert "Add missing tag to voip be job" This reverts commit 525f185f1ee81e8f351b1a0167bbd0ee9096f802. --- .gitlab-ci.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3dae45b7ee..8a2bcd106a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -573,7 +573,6 @@ voip-be-on-merge-request: - *print-common-info - bash ci/ivas_voip_be_test.sh tags: - - test-fhg-linux-runner1 - test-fhg-linux-runner2 clang-format-check: -- GitLab From 591cd2ff6e4f12494660c77fc730447e7af9a1fa Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Fri, 16 Dec 2022 17:51:12 +0100 Subject: [PATCH 451/620] Use a different word for determining if runIvasCodec.py failed --- ci/ivas_voip_be_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index ac59dedcd9..01065f7f94 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -47,7 +47,7 @@ make all -j 8 ./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a jbm_be_test_output.txt # Check if Python scripts above failed. They return status 0 even when running a mode fails, so we have to parse log file -run_errors=$(grep -i error jbm_be_test_output.txt) || true +run_errors=$(grep -i failed jbm_be_test_output.txt) || true if [ "$run_errors" != 0 ] ; then echo "Run errors in runIvasCodec.py" exit 1 -- GitLab From 7bf9c9dffc2a0fd5c4d86c0efac1bd7f25a9f57a Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 09:29:27 +0100 Subject: [PATCH 452/620] Try to fix parsing of voip be test log --- ci/ivas_voip_be_test.sh | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 01065f7f94..d65677b498 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -43,12 +43,11 @@ make clean make all -j 8 # Run the same modes in VoIP and non-VoIP mode with a neutral delay profile -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee jbm_be_test_output.txt -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a jbm_be_test_output.txt +./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee voip_be_test_output.txt +./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a voip_be_test_output.txt # Check if Python scripts above failed. They return status 0 even when running a mode fails, so we have to parse log file -run_errors=$(grep -i failed jbm_be_test_output.txt) || true -if [ "$run_errors" != 0 ] ; then +if grep -iq failed voip_be_test_output.txt ; then echo "Run errors in runIvasCodec.py" exit 1 fi @@ -69,7 +68,7 @@ fi for cut in "$output_dir_voip_dec"/*.wav; do output_path=${cut/$output_dir_voip_dec/$output_dir_voip_dec_trimmed} output_path=${output_path/".wav"/".raw"} - python3 "$python_audiofile_script_path" pre-trim 60 "$cut" "$output_path" | tee -a jbm_be_test_output.txt + python3 "$python_audiofile_script_path" pre-trim 60 "$cut" "$output_path" | tee -a voip_be_test_output.txt done # Convert non-VoIP output from wav to pcm (comparison script doesn't support wav) @@ -83,7 +82,7 @@ fi for ref in "$output_dir_default_dec"/*.wav; do output_path=${ref/$output_dir_default_dec/$output_dir_default_dec_pcm} output_path=${output_path/".wav"/".raw"} - python3 "$python_audiofile_script_path" convert "$ref" "$output_path" | tee -a jbm_be_test_output.txt + python3 "$python_audiofile_script_path" convert "$ref" "$output_path" | tee -a voip_be_test_output.txt done # Assert BE between non-VoIP and VoIP modes @@ -96,17 +95,17 @@ for ref in "$output_dir_default_dec_pcm"/*; do cut=${cut/".dec."/"_jbm_dly_error_profile_0_dat.dec."} # Print paths of compared files, since the script doesn't do it - printf "\nComparing %s and %s\n" "$ref" "$cut" | tee -a jbm_be_test_output.txt + printf "\nComparing %s and %s\n" "$ref" "$cut" | tee -a voip_be_test_output.txt printout=$($cmp_custom_path "$ref" "$cut" 2 0) if [ $? -ne 0 ]; then all_be=0 fi - printf "%s\n" "$printout" | tee -a jbm_be_test_output.txt + printf "%s\n" "$printout" | tee -a voip_be_test_output.txt done if [ $all_be -eq 1 ]; then - printf "\n\nAll tested conditions are bit-exact\n" | tee -a jbm_be_test_output.txt + printf "\n\nAll tested conditions are bit-exact\n" | tee -a voip_be_test_output.txt else - printf "\n\nBitexactness problems found!\n" | tee -a jbm_be_test_output.txt + printf "\n\nBitexactness problems found!\n" | tee -a voip_be_test_output.txt exit 1; fi -- GitLab From 979ecf30e1100821e12b1cc1d75f1f4864a14d64 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 10:39:04 +0100 Subject: [PATCH 453/620] switch two mismatched input arguments --- lib_enc/ivas_ism_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 33fef080a4..b45fc8f7f1 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -152,7 +152,7 @@ ivas_error ivas_ism_enc( &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, - st_ivas->hEncoderConfig->ivas_format, st_ivas->hEncoderConfig->ivas_total_brate ); + st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); #else error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], &Etot[sce_id][0], &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], -- GitLab From 62dbac2d0908f99ed77780c271c532b001c74c90 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 10:58:30 +0100 Subject: [PATCH 454/620] correct merge with FIX_GET_DELAY_RETURN --- lib_com/delay_comp.c | 11 ++++++----- lib_com/prot.h | 4 ++-- lib_dec/lib_dec.c | 6 +++--- lib_enc/lib_enc.c | 12 ++---------- 4 files changed, 13 insertions(+), 20 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index cce609a00d..46aca5ceb5 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -50,8 +50,8 @@ *--------------------------------------------------------------------------*/ /*! r: delay value in ns */ -float get_delay( - const int16_t what_delay, /* i : what delay? (ENC or DEC) */ +int32_t get_delay( + const int16_t enc_dec, /* i : encoder/decoder flag */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ @@ -63,9 +63,9 @@ float get_delay( #endif ) { - float delay = 0; + int32_t delay = 0; - if ( what_delay == ENC ) + if ( enc_dec == ENC ) { if ( ivas_format == MONO_FORMAT ) /* EVS mono */ { @@ -82,7 +82,7 @@ float get_delay( delay += IVAS_FB_ENC_DELAY_NS; } } - else + else /* DEC */ { if ( ivas_format == MONO_FORMAT ) /* EVS mono */ { @@ -98,6 +98,7 @@ float get_delay( else /* IVAS */ { delay = IVAS_DEC_DELAY_NS; + #ifdef FIX_I59_LFE_TD_DELAY if ( hCldfb != NULL ) { diff --git a/lib_com/prot.h b/lib_com/prot.h index b3b31e24fa..1ccbe276fa 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -712,8 +712,8 @@ int16_t lev_dur( ); /*! r: delay value in ns */ -float get_delay( - const int16_t what_delay, /* i : what delay? (ENC or DEC) */ +int32_t get_delay( + const int16_t enc_dec, /* i : encoder/decoder flag */ const int32_t io_fs, /* i : input/output sampling frequency */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 38d1d129f3..57590e6fcd 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1056,15 +1056,15 @@ ivas_error IVAS_DEC_GetDelay( hDecoderConfig = st_ivas->hDecoderConfig; #ifdef FIX_I59_LFE_TD_DELAY #ifdef FIX_I59_DELAY_ROUNDING - *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); + *nSamples = (int16_t) roundf( (float) get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); #else - *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) + 0.5f ) ); + *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) ); #endif #else #ifdef FIX_I59_DELAY_ROUNDING *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); #else - *nSamples = NS2SA( hDecoderConfig->output_Fs, (int32_t) ( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) + 0.5f ) ); + *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) ); #endif #endif diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 0088c2c107..df7319c012 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -955,17 +955,9 @@ ivas_error IVAS_ENC_GetDelay( } #ifdef FIX_I59_LFE_TD_DELAY -#ifdef FIX_I59_DELAY_ROUNDING - *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) + 0.5f ); + *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) ); #else - *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) + 0.5f ) ); -#endif -#else -#ifdef FIX_I59_DELAY_ROUNDING - *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ); -#else - *delay = NS2SA( hEncoderConfig->input_Fs, (int32_t) ( get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) + 0.5f ) ); -#endif + *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) ); #endif *delay *= hEncoderConfig->nchan_inp; -- GitLab From fc4ba2f3df4484c4a0d0a30bc7eb1f6108d7fe08 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 11:07:58 +0100 Subject: [PATCH 455/620] fix build of crend unittest on windows --- .../tests/unit_tests/crend/ivas_crend_utest_utils.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index c8772f7ec1..f58454cbdf 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -1170,11 +1170,14 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } #endif /* test rounding error */ - float binaural_latencys_fastconv_s[3] = { FASTCONV_HRIR_latency_s, FASTCONV_BRIR_latency_s, FASTCONV_BRIR_latency_s }; + float binaural_latencys_fastconv_s[3]; float binaural_latencys_crend_s[3] = { 1.f / 48000.f, 2.f / 48000.f, 3.f / 48000.f }; float binaural_latencys_td_s[3] = { BINAURAL_TD_LATENCY_S, BINAURAL_TD_LATENCY_S + 1.f / 48000.f, BINAURAL_TD_LATENCY_S + 2.f / 48000.f }; int32_t err = 0, err_lfe = 0, err_dec = 0; + binaural_latencys_fastconv_s[0] = FASTCONV_HRIR_latency_s; + binaural_latencys_fastconv_s[1] = FASTCONV_BRIR_latency_s; + binaural_latencys_fastconv_s[2] = FASTCONV_BRIR_latency_s; err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 0, &err_lfe, &err_dec, 0 ); #ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -- GitLab From e49a073783b8ca1a712649c71bc6f3e7b6d08dab Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 11:30:59 +0100 Subject: [PATCH 456/620] dummy commit to trigger ci -- GitLab From cb62c667e94ca5b812d16ac8040f0d5e5439ac8a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 11:51:56 +0100 Subject: [PATCH 457/620] add jbm testing to smoke test --- ci/smoke_test.sh | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index 3d7b85fdba..5ba890c443 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -33,8 +33,15 @@ if [ ! -d "lib_com" ]; then exit 1 fi +cfg=./scripts/config/ci_linux.json +dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat + make clean make all -j 8 -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U 1 | tee smoke_test_output.txt -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U 1 -D="-fec 15" --decoder_only | tee smoke_test_output_plc.txt +./scripts/runIvasCodec.py -p $cfg -U 1 | tee smoke_test_output.txt +./scripts/runIvasCodec.py -p $cfg -U 1 -D="-fec 15" --decoder_only | tee smoke_test_output_plc.txt + +modes_with_no_ext_out=$(./scripts/runIvasCodec.py -l | grep -v MASA | grep -v ISM) +./scripts/runIvasCodec.py -m $modes_with_no_ext_out -p $cfg -U 1 --decoder_only --jbm_file $dly_profile | tee smoke_test_output_jbm_noEXT.txt +./scripts/runIvasCodec.py -C MASA ISM1 ISM2 ISM3 ISM4 -p $cfg -U 1 --decoder_only --jbm_file $dly_profile --oc BINAURAL BINAURAL_ROOM mono stereo FOA HOA3 5_1 7_1_4 | tee -a smoke_test_output_jbm_noEXT.txt \ No newline at end of file -- GitLab From ced3ed6fafba8fe2c24c10feaede6fa104971552 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 11:53:05 +0100 Subject: [PATCH 458/620] add artifact to smoke test --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8a2bcd106a..a33daefc2c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -276,6 +276,7 @@ codec-smoke-test: - out/logs/ - smoke_test_output.txt - smoke_test_output_plc.txt + - smoke_test_output_jbm_noEXT.txt expose_as: "Smoke test results" # code selftest testvectors with memory-sanitizer binaries -- GitLab From 04501bbbcf8c694b8d2a304b61f42f37d0158f77 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 12:00:04 +0100 Subject: [PATCH 459/620] check for failure correctly in smoke test --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a33daefc2c..89e67140ce 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -270,6 +270,7 @@ codec-smoke-test: ### analyze for failures - if cat smoke_test_output.txt | grep -c "failed"; then echo "Smoke test without PLC failed"; exit 1; fi - if cat smoke_test_output_plc.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi + - if cat smoke_test_output_jbm_noEXT.txt | grep -c "failed"; then echo "Smoke test with PLC failed"; exit 1; fi artifacts: name: "mr-$CI_MERGE_REQUEST_IID--sha-$CI_COMMIT_SHORT_SHA--stage-$CI_JOB_STAGE--results" paths: -- GitLab From 46c0e60b3785c192b2f96a61cd125f6e46b33328 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 13:22:53 +0100 Subject: [PATCH 460/620] fix MSVC Warning C4244 'function': conversion from 'float' to 'const int32_t', possible loss of data lib_dec ..\lib_dec\ivas_mct_dec.c 1033 --- lib_dec/ivas_mct_dec.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 0283d7778d..a43272ae58 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -1030,7 +1030,29 @@ static ivas_error ivas_mc_dec_reconfig( if ( st_ivas->mc_mode == MC_MODE_MCT && st_ivas->hLFE == NULL ) { +#ifdef FIX_I59_LFE_TD_DELAY + int32_t binauralization_delay_ns = st_ivas->binaural_latency_ns; + + if ( st_ivas->hBinRenderer != NULL ) + { +#ifdef FIX_I59_LFE_CLDFB + if ( st_ivas->hBinRenderer->render_lfe ) + { + /* Account for filterbank delay */ + binauralization_delay_ns += IVAS_FB_DEC_DELAY_NS; + } + else + { + binauralization_delay_ns = 0; + } +#else + binauralization_delay_ns = 0; +#endif + } + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, binauralization_delay_ns ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) +#endif { return error; } -- GitLab From fb3f2f7e84da03a6932b14da8f194277d2471057 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 13:26:00 +0100 Subject: [PATCH 461/620] remove debugging changes to DEBUG_MODE_INFO --- lib_dec/ivas_cpe_dec.c | 5 ----- lib_dec/ivas_sce_dec.c | 5 ----- lib_enc/ivas_cpe_enc.c | 4 ---- lib_enc/ivas_sce_enc.c | 4 ---- 4 files changed, 18 deletions(-) diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index f06b658604..cb5b9f4e0b 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -512,13 +512,8 @@ ivas_error ivas_cpe_dec( for ( i = 0; i < n; i++ ) { -#ifdef MC_BITRATE_SWITCHING // !!! VE: Can it be removed? - dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate.cpe", 0, cpe_id, DEC ) ); - dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode.cpe", 0, cpe_id, DEC ) ); -#else dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate", 0, cpe_id, DEC ) ); dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode", 0, cpe_id, DEC ) ); -#endif for ( int16_t j = 0; j < CPE_CHANNELS; j++ ) { diff --git a/lib_dec/ivas_sce_dec.c b/lib_dec/ivas_sce_dec.c index 9ac0a1c528..97ee2e8336 100644 --- a/lib_dec/ivas_sce_dec.c +++ b/lib_dec/ivas_sce_dec.c @@ -273,13 +273,8 @@ ivas_error ivas_sce_dec( for ( i = 0; i < n; i++ ) { -#ifdef MC_BITRATE_SWITCHING // !!! VE: Can it be removed? - dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate.sce", 0, sce_id, DEC ) ); - dbgwrite( &st->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode.sce", 0, sce_id, DEC ) ); -#else dbgwrite( &tmpF, sizeof( float ), 1, output_frame, fname( debug_dir, "element_brate", 0, sce_id, DEC ) ); dbgwrite( &st->element_mode, sizeof( int16_t ), 1, output_frame, fname( debug_dir, "element_mode", 0, sce_id, DEC ) ); -#endif dbgwrite( output, sizeof( float ), output_frame, 1, fname( debug_dir, "output.sce", 0, sce_id, DEC ) ); tmpF = 0; diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 008599e36b..c5fb6800f9 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -417,11 +417,7 @@ ivas_error ivas_cpe_enc( { dbgwrite( sts[0]->input - NS2SA( sts[0]->input_Fs, ACELP_LOOK_NS ), sizeof( float ), input_frame, 1, fname( debug_dir, "input_DMX", n, sts[n]->id_element, ENC ) ); } -#ifdef MC_BITRATE_SWITCHING // !!! VE: Can it be removed? - dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode.cpe", 0, sts[0]->id_element, ENC ) ); -#else dbgwrite( &hCPE->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, sts[0]->id_element, ENC ) ); -#endif #endif /*----------------------------------------------------------------* diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index cdd37d8ece..428dbb95c1 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -174,11 +174,7 @@ ivas_error ivas_sce_enc( #ifdef DEBUG_MODE_INFO dbgwrite( st->input - NS2SA( st->input_Fs, ACELP_LOOK_NS ), sizeof( float ), input_frame, 1, "res/input_DMX" ); -#ifdef MC_BITRATE_SWITCHING // !!! VE: Can it be removed? - dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode.sce", 0, st->id_element, ENC ) ); -#else dbgwrite( &st->element_mode, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "element_mode", 0, st->id_element, ENC ) ); -#endif #endif /*----------------------------------------------------------------* -- GitLab From ae6058c6fc8bf131bf292469ea589d1f357b570f Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 13:30:12 +0100 Subject: [PATCH 462/620] remove doubled allocation to hLFE = NULL --- lib_enc/ivas_init_enc.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 41a071aab3..7c9253a35e 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -526,9 +526,7 @@ ivas_error ivas_init_encoder( st_ivas->mc_mode = ivas_mc_mode_select( hEncoderConfig->mc_input_setup, ivas_total_brate ); hEncoderConfig->nchan_inp = ivas_mc_ls_setup_get_num_channels( hEncoderConfig->mc_input_setup ); -#ifdef MC_BITRATE_SWITCHING - st_ivas->hLFE = NULL; // !!! VE: already done in ivas_initialize_handles_enc() -#else +#ifndef MC_BITRATE_SWITCHING if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, input_Fs ) ) != IVAS_ERR_OK ) { return error; -- GitLab From 341d9459b91fda75258c4ebaa503b04a45e14386 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 13:35:49 +0100 Subject: [PATCH 463/620] remove unnecessary assignment - CPE should be always with element_mode_init = IVAS_CPE_MDCT; --- lib_enc/ivas_corecoder_enc_reconfig.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index 50d8e4faf8..e9b5f73508 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -352,10 +352,6 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) { #ifdef MC_BITRATE_SWITCHING - if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) - { - st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; // !!! VE: can it be set in McMASA config module rather than here? - } if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) #else if ( ( error = create_cpe_enc( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) -- GitLab From 1a6b2dee57e60e028bac5ac73643ed726d41bb03 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 13:50:42 +0100 Subject: [PATCH 464/620] move "element_mode_init = IVAS_CPE_MDCT;" into ivas_mc_enc_reconfig --- lib_enc/ivas_mct_enc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 3fa3ad04bd..6ba818b0d9 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -725,6 +725,13 @@ static ivas_error ivas_mc_enc_reconfig( } } +#ifdef MC_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + } +#endif + if ( st_ivas->hParamMC != NULL ) { ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); -- GitLab From 31d931b9ebd3786edd8fdb152ab75a445e34663d Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 14:01:35 +0100 Subject: [PATCH 465/620] - formatting - introduce "ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate;" in order to minimize spaghetti-like calls --- lib_dec/ivas_mct_dec.c | 26 ++++++++++++++++---------- lib_enc/ivas_mct_enc.c | 1 + 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index a43272ae58..cf348ff15d 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -667,17 +667,18 @@ static ivas_error ivas_mc_dec_reconfig( #else int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; #endif - int32_t new_brate_SCE, new_brate_CPE; + int32_t new_brate_SCE, new_brate_CPE, ivas_total_brate; RENDERER_TYPE renderer_type_old; ivas_error error; MC_MODE mc_mode, last_mc_mode; - last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ - error = IVAS_ERR_OK; + ivas_total_brate = st_ivas->hDecoderConfig->ivas_total_brate; nchan_transport_old = st_ivas->nchan_transport; + last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ + /* we have to temporally set the current mc_mode back to the previous one to make sure the following call to ivas_init_dec_get_num_cldfb_instances() returns the correct counts */ mc_mode = st_ivas->mc_mode; @@ -703,6 +704,7 @@ static ivas_error ivas_mc_dec_reconfig( /* renderer might have changed, reselect */ renderer_type_old = st_ivas->renderer_type; ivas_renderer_select( st_ivas ); + /* side effect of the renderer selection can be a changed internal config */ ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); @@ -755,6 +757,7 @@ static ivas_error ivas_mc_dec_reconfig( { ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); } + if ( ( error = ivas_param_mc_dec_open( st_ivas ) ) != IVAS_ERR_OK ) { return error; @@ -796,7 +799,7 @@ static ivas_error ivas_mc_dec_reconfig( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { - ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), st_ivas->hDecoderConfig->ivas_total_brate ); + ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), ivas_total_brate ); if ( last_mc_mode != MC_MODE_MCMASA ) { @@ -805,6 +808,7 @@ static ivas_error ivas_mc_dec_reconfig( return error; } } + if ( ( error = ivas_mcmasa_dec_reconfig( st_ivas ) ) != IVAS_ERR_OK ) { return error; @@ -903,7 +907,7 @@ static ivas_error ivas_mc_dec_reconfig( } } - st->hTcxCfg->fIsTNSAllowed = getTnsAllowed( st_ivas->hDecoderConfig->ivas_total_brate, st->igf, st->element_mode, st->mct_chan_mode ); + st->hTcxCfg->fIsTNSAllowed = getTnsAllowed( ivas_total_brate, st->igf, st->element_mode, st->mct_chan_mode ); } else if ( last_mc_mode == MC_MODE_PARAMMC && st_ivas->mc_mode == MC_MODE_MCT && nchan_transport_old > 2 ) { @@ -919,19 +923,20 @@ static ivas_error ivas_mc_dec_reconfig( { uint8_t separateChannelEnabled; int16_t separateChannelIndex; - ivas_mcmasa_set_separate_channel_mode( &separateChannelEnabled, &separateChannelIndex, st_ivas->hDecoderConfig->ivas_total_brate ); - ivas_mcmasa_split_brate( separateChannelEnabled, st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); + ivas_mcmasa_set_separate_channel_mode( &separateChannelEnabled, &separateChannelIndex, ivas_total_brate ); + ivas_mcmasa_split_brate( separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &new_brate_SCE, &new_brate_CPE ); } else if ( st_ivas->mc_mode == MC_MODE_MCT ) { new_brate_SCE = 0; - new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / ( st_ivas->nchan_transport - 1 ) ) * CPE_CHANNELS; + new_brate_CPE = ( ivas_total_brate / ( st_ivas->nchan_transport - 1 ) ) * CPE_CHANNELS; } else { - new_brate_SCE = 0; /*st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport;*/ - new_brate_CPE = ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; + new_brate_SCE = 0; /* ivas_total_brate / st_ivas->nchan_transport;*/ + new_brate_CPE = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; } + if ( ( error = ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, new_brate_SCE, new_brate_CPE ) ) != IVAS_ERR_OK ) { return error; @@ -1132,6 +1137,7 @@ static ivas_error ivas_mc_dec_reconfig( { /* useTdDecorr may change => close and re-open */ ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); + if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 6ba818b0d9..0102207a9b 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -746,6 +746,7 @@ static ivas_error ivas_mc_enc_reconfig( ivas_lfe_enc_close( st_ivas->hLFE ); st_ivas->hLFE = NULL; } + if ( st_ivas->hMCT != NULL ) { ivas_mct_enc_close( st_ivas->hMCT ); -- GitLab From 53ff07d8eb8dde5618a6bf654b81ddf1952ae3cd Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 14:19:40 +0100 Subject: [PATCH 466/620] clang-format --- lib_com/prot.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib_com/prot.h b/lib_com/prot.h index c7958eaf7a..5f48ddc825 100755 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3895,10 +3895,10 @@ void td_cng_enc_init( ); void dtx( - Encoder_State *st, /* i/o: encoder state structure */ - const int32_t ivas_total_brate, /* i : IVAS total bitrate */ - const int16_t vad, /* i : VAD flag for DTX */ - const float speech[] /* i : Pointer to the speech frame */ + Encoder_State *st, /* i/o: encoder state structure */ + const int32_t ivas_total_brate, /* i : IVAS total bitrate */ + const int16_t vad, /* i : VAD flag for DTX */ + const float speech[] /* i : Pointer to the speech frame */ ); void dtx_hangover_control( -- GitLab From a324887211bfab6db4454fd8e211b9ca8073f32a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 15:10:06 +0100 Subject: [PATCH 467/620] extend pages job to also get the coverage job artifacts --- .gitlab-ci.yml | 8 ++++++++ ci/index-pages.html | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 53cdd2871b..55108e47c3 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1147,6 +1147,14 @@ pages: - *unzip-or-cat - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ + ### collect artifacts from coverage job + - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch coverage-test-on-main-scheduled) + - echo $job_id + - echo "$API_URL_BASE/$job_id/artifacts" + - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS + - *unzip-or-cat + - mv coverage ./public + - cp ci/index-pages.html public/index.html artifacts: paths: diff --git a/ci/index-pages.html b/ci/index-pages.html index 0a2e73e78e..9d60155e8f 100644 --- a/ci/index-pages.html +++ b/ci/index-pages.html @@ -16,4 +16,10 @@ <li><a href="complexity-StereoDmxEVS-stereo-in-mono-out-public/index.html">StereoDmxEVS</a></li> </ul> + <h2>Test Coverage</h2> + + <ul> + <li><a href="coverage/index.html">Coverage report</a></li> + </ul> + </body> -- GitLab From 63bf57e5a4bd0e619d5df0eb37a89c1c1ccd78d0 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 15:16:01 +0100 Subject: [PATCH 468/620] refactor get_job_id script for importing --- ci/get_id_of_last_job_occurence.py | 77 +++++++++++++++--------------- 1 file changed, 39 insertions(+), 38 deletions(-) diff --git a/ci/get_id_of_last_job_occurence.py b/ci/get_id_of_last_job_occurence.py index f6223d9980..ca66711041 100755 --- a/ci/get_id_of_last_job_occurence.py +++ b/ci/get_id_of_last_job_occurence.py @@ -38,44 +38,45 @@ PAGE_SUFFIX = "&page={}" API_BASE_URL = "https://forge.3gpp.org/rep/api/v4/projects/49" -parser = argparse.ArgumentParser() -parser.add_argument("branch_name") -parser.add_argument("job_name") - -args = parser.parse_args() - -branch_name = args.branch_name -job_name = args.job_name - - -job_id = -1 -# check last 500 pipelines max -for page in range(100): - url_pls = API_BASE_URL + "/pipelines" - - # need both suffixes here to descend through the pages and get also older pipelines - suffix = PER_PAGE_SUFFIX + PAGE_SUFFIX.format(page) - resp_pls = requests.get(url_pls + suffix) - for pl in resp_pls.json(): - if pl["ref"] == branch_name: - url_jobs = url_pls + f"/{pl['id']}/jobs" - - # only one of the suffixes here - this assumes only max of 50 jobs per pipeline - # so only one page needed - resp_jobs = requests.get(url_jobs + PER_PAGE_SUFFIX) - - if job_name not in resp_jobs.text: - continue - - # find actual job by name - for job in resp_jobs.json(): - if job["name"] == job_name and job["status"] == "success": - job_id = job["id"] +def get_job_id(branch_name, job_name): + job_id = -1 + # check last 500 pipelines max + for page in range(100): + url_pls = API_BASE_URL + "/pipelines" + + # need both suffixes here to descend through the pages and get also older pipelines + suffix = PER_PAGE_SUFFIX + PAGE_SUFFIX.format(page) + resp_pls = requests.get(url_pls + suffix) + for pl in resp_pls.json(): + if pl["ref"] == branch_name: + url_jobs = url_pls + f"/{pl['id']}/jobs" + + # only one of the suffixes here - this assumes only max of 50 jobs per pipeline + # so only one page needed + resp_jobs = requests.get(url_jobs + PER_PAGE_SUFFIX) + + if job_name not in resp_jobs.text: + continue + + # find actual job by name + for job in resp_jobs.json(): + if job["name"] == job_name and job["status"] == "success": + job_id = job["id"] + break + if job_id >= 0: break - if job_id >= 0: - break - if job_id >= 0: - break + if job_id >= 0: + break -print(job_id) + return job_id + +if __name__ == '__main__': + parser = argparse.ArgumentParser() + parser.add_argument("branch_name") + parser.add_argument("job_name") + + args = parser.parse_args() + + job_id = get_job_id(args.branch_name, args.job_name) + print(job_id) \ No newline at end of file -- GitLab From 97f1f14911ad33d5586be181449b1bc15cd4af05 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 15:26:52 +0100 Subject: [PATCH 469/620] - cleaning - disable DEBUG_MODE_INFO --- lib_com/options.h | 2 +- lib_enc/ivas_core_enc.c | 2 -- lib_enc/ivas_front_vad.c | 2 +- 3 files changed, 2 insertions(+), 4 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index a012408558..6453c7c048 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -61,7 +61,7 @@ /*#define MEM_COUNT_DETAILS*/ /* RAM counting tool: print per sub-structure details */ -#define DEBUG_MODE_INFO /* output most important parameters to the subdirectory "res/" */ +/*#define DEBUG_MODE_INFO*/ /* output most important parameters to the subdirectory "res/" */ #ifdef DEBUG_MODE_INFO /*#define DEBUG_MODE_ACELP*/ /* output most important ACELP core parameters to the subdirectory "res/" */ /*#define DEBUG_MODE_TCX*/ /* output most important TCX core parameters to the subdirectory "res/" */ diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index a7841af3ba..6ce774ddc5 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -460,8 +460,6 @@ ivas_error ivas_core_enc( dbgwrite( &st->count_WB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_WB", n, id, ENC ) ); dbgwrite( &st->count_SWB, sizeof( int16_t ), 1, input_frame, fname( debug_dir, "count_SWB", n, id, ENC ) ); - dbgwrite( &st->hNoiseEst->Etot_last, sizeof( float ), 1, input_frame, fname( debug_dir, "Etot_last", n, id, ENC ) ); - #ifdef DEBUG_MODE_ACELP dbgwrite( snr_[n], sizeof( float ), 320, 1, fname( debug_dir, "snr", n, id, ENC ) ); #endif diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 26f3fd5b3f..3051575150 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -472,7 +472,7 @@ ivas_error front_vad_spar( /* 1st stage speech/music classification (GMM model) */ /* run only to get 'high_lpn_flag' parameter */ - ivas_smc_gmm( st, NULL /* <-- hStereoClassif */, localVAD_HE_SAD[0], Etot[0], lsp_new, cor_map_sum, epsP, PS, non_staX, relE, &high_lpn_flag, flag_spitch ); + ivas_smc_gmm( st, NULL, localVAD_HE_SAD[0], Etot[0], lsp_new, cor_map_sum, epsP, PS, non_staX, relE, &high_lpn_flag, flag_spitch ); /* long-term energy update */ #ifdef REMOVE_ETOT_PROPAGATION -- GitLab From de4659435d4587001c48be8712793cfd3f708c31 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 15:40:13 +0100 Subject: [PATCH 470/620] add script for the pages job to avoid repetition --- ci/setup_pages.py | 66 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 ci/setup_pages.py diff --git a/ci/setup_pages.py b/ci/setup_pages.py new file mode 100644 index 0000000000..4ce8cf0f30 --- /dev/null +++ b/ci/setup_pages.py @@ -0,0 +1,66 @@ +import os +import sys +import pathlib +import subprocess +from .get_id_of_last_job_occurence import get_job_id + +JOBS = [ + "complexity-stereo-in-stereo-out", "complexity-ism-in-binaural-out", "complexity-sba-hoa3-in-hoa3-out", "complexity-mc-in-7_1_4-out", "complexity-masa-in-7_1_4-out", "complexity-StereoDmxEVS-stereo-in-mono-out", "coverage-test-on-main-scheduled" +] +ARTIFACTS = "artifacts.zip" +API_URL_BASE = "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs" +PUBLIC = "./public" + + +def main(): + + public_folder = pathlib.Path(PUBLIC) + public_folder.mkdir() + + failed_count = 0 + for job in JOBS: + job_id = get_job_id(os.environ["CI_COMMIT_REF_NAME"], job) + try: + curl_for_artifacts(job_id) + + job_public = job + "-public" + if job == "coverage-test-on-main-scheduled": + job_public = "coverage" + + pathlib.Path(job_public).rename(public_folder.joinpath(job_public)) + + except subprocess.CalledProcessError: + print(f"Could not get artifacts for {job}") + failed_count += 1 + + if failed_count == len(JOBS): + sys.exit(1) + + +def curl_for_artifacts(job_id): + cmd = [ + "curl", + "--request", + "GET", + API_URL_BASE + f"/{job_id}/artifacts", + "--output", + ARTIFACTS + ] + subprocess.run(cmd, check=True) + + # check for valid archive (if not, it is likely a 404 page, then display that) + cmd = [ + "unzip", + "-t", + ARTIFACTS + ] + try: + subprocess.run(cmd, check=True) + except subprocess.CalledProcessError: + with open(ARTIFACTS, "r") as f: + print(f.read()) + raise subprocess.CalledProcessError("Unzip check failed") + + +if __name__ == "__main__": + main() \ No newline at end of file -- GitLab From 6dfad9d5933219887e10355c28d4ad8da8002122 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 15:54:05 +0100 Subject: [PATCH 471/620] revert past change around "element_mode_init = IVAS_CPE_MDCT" --- lib_enc/ivas_corecoder_enc_reconfig.c | 5 +++++ lib_enc/ivas_mct_enc.c | 7 ------- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index e9b5f73508..dfa7ed9ffa 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -352,6 +352,11 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) { #ifdef MC_BITRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) + { + st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; + } + if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) #else if ( ( error = create_cpe_enc( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index 0102207a9b..a5751b7e29 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -725,13 +725,6 @@ static ivas_error ivas_mc_enc_reconfig( } } -#ifdef MC_BITRATE_SWITCHING - if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) - { - st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - } -#endif - if ( st_ivas->hParamMC != NULL ) { ivas_param_mc_enc_close( st_ivas->hParamMC, st_ivas->hEncoderConfig->input_Fs ); -- GitLab From 3ed5ad0d9b662a3a3728c42a6d3718364baa329d Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 16:33:39 +0100 Subject: [PATCH 472/620] use python script for gitlab pages setup --- .gitlab-ci.yml | 69 +---------------------------------------------- ci/setup_pages.py | 4 +++ 2 files changed, 5 insertions(+), 68 deletions(-) mode change 100644 => 100755 ci/setup_pages.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 55108e47c3..d0ff4e6727 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1080,82 +1080,15 @@ complexity-StereoDmxEVS-stereo-in-mono-out: # Other jobs # --------------------------------------------------------------- - -# helper for pages job -.unzip-or-cat: &unzip-or-cat - - unzip -t $ARTIFACTS >> /dev/null - - if [ $? -eq 0 ]; then unzip -o $ARTIFACTS; rm $ARTIFACTS; else cat $ARTIFACTS; rm $ARTIFACTS; fi - # job that sets up gitlab pages website -# is run on a separate schedule and collects artifacts from other jobs (currently -# only the complexity measurements) multiple times a day pages: stage: deploy tags: - ivas-linux rules: - if: $UPDATE_PAGES - # TODO: add coverage job script: - - - API_URL_BASE=https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs - - branch=$CI_COMMIT_REF_NAME - - - mkdir public - - ARTIFACTS=artifacts.zip - - ### fetch artifacts from latest run of complexity jobs - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-stereo-in-stereo-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv complexity-stereo-in-stereo-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-ism-in-binaural-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv complexity-ism-in-binaural-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-sba-hoa3-in-hoa3-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv complexity-sba-hoa3-in-hoa3-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-mc-in-7_1_4-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv complexity-mc-in-7_1_4-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-masa-in-7_1_4-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv complexity-masa-in-7_1_4-out-public ./public/ - - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch complexity-StereoDmxEVS-stereo-in-mono-out) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv complexity-StereoDmxEVS-stereo-in-mono-out-public ./public/ - - ### collect artifacts from coverage job - - job_id=$(python3 ci/get_id_of_last_job_occurence.py $branch coverage-test-on-main-scheduled) - - echo $job_id - - echo "$API_URL_BASE/$job_id/artifacts" - - curl --request GET "$API_URL_BASE/$job_id/artifacts" --output $ARTIFACTS - - *unzip-or-cat - - mv coverage ./public - - - cp ci/index-pages.html public/index.html + - python3 ci/setup_pages.py artifacts: paths: - public diff --git a/ci/setup_pages.py b/ci/setup_pages.py old mode 100644 new mode 100755 index 4ce8cf0f30..bb859c43fd --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 import os import sys import pathlib @@ -36,6 +37,9 @@ def main(): if failed_count == len(JOBS): sys.exit(1) + pathlib.Path("ci/index-pages.html").rename(public_folder.joinpath("index.html")) + sys.exit(0) + def curl_for_artifacts(job_id): cmd = [ -- GitLab From bfe2e15d2391a2d8c6482c6631881517d5b2afed Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 19 Dec 2022 17:50:10 +0100 Subject: [PATCH 473/620] Update network simulator executable --- scripts/tools/Linux/networkSimulator_g192 | Bin 77160 -> 89760 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 scripts/tools/Linux/networkSimulator_g192 diff --git a/scripts/tools/Linux/networkSimulator_g192 b/scripts/tools/Linux/networkSimulator_g192 old mode 100755 new mode 100644 index 1cca5f93056558c064adeff59ec7eef99bd6a26a..8b1a6de4d97a252e16e8ce1993f46ebcaf5a62ea GIT binary patch literal 89760 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�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 UhC)<YLMWJWa9t1QFfcFx0BK^HhyVZp literal 77160 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 PArwRq8dq=*0|Ns9d63hs -- GitLab From 5f210405a3c3ef5893af7e99b86c4d9153354a8b Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Mon, 19 Dec 2022 18:05:59 +0100 Subject: [PATCH 474/620] Fix correct generation of ROM graphs --- .../genWebpageData_Rom.csh | 112 +++++++++++------- .../parseNewsletterRam.py | 43 ++++--- .../parseNewsletterRom.py | 51 ++++---- 3 files changed, 118 insertions(+), 88 deletions(-) diff --git a/ci/complexity_measurements/genWebpageData_Rom.csh b/ci/complexity_measurements/genWebpageData_Rom.csh index fb4d24528b..af46ede417 100755 --- a/ci/complexity_measurements/genWebpageData_Rom.csh +++ b/ci/complexity_measurements/genWebpageData_Rom.csh @@ -45,7 +45,7 @@ set tmpFile = /tmp/${tmpBase}_$$ rm -f ${tmpFile} cat ${srcFile} | tail -n ${maxValues} > ${tmpFile} set nLines = `cat ${tmpFile} | wc -l` -set maxNumWordsLine = 19 +set maxNumWordsLine = 21 rm -f $file touch $file @@ -71,27 +71,59 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif + + # 1 revision, + # 2 shortDate, + # 3 fullDate, + + # 4 max_total_encdec[1], + + # 5 max_prom_enc[0], + # 6 max_prom_enc[1], + # 7 max_prom_dec[0], + # 8 max_prom_dec[1], + # 9 max_prom_com[0], + # 10 max_prom_com[1], + # 11 max_prom_rend[0], + # 12 max_prom_rend[1], + + # 13 max_trom_enc[0], + # 14 max_trom_enc[1], + # 15 max_trom_dec[0], + # 16 max_trom_dec[1], + # 17 max_trom_com[0], + # 18 max_trom_com[1], + # 19 max_trom_rend[0], + # 20 max_trom_rend[1], + + # 21 newsletterFilenameLast, + + set revision = $tmp[1] set shortDate = `echo $tmp[2] | sed -e "s/_/\ /g"` set fullDate = `echo $tmp[3] | sed -e "s/_/\ /g"` - set TotalRomEnc = $tmp[5] - set TotalRomDec = $tmp[7] - set PromEnc = $tmp[10] - set PromDec = $tmp[12] - set TromEnc = $tmp[15] - set TromDec = $tmp[17] - set logFile = $tmp[19] + set PromEnc = $tmp[5] + set PromDec = $tmp[7] + set PromCom = $tmp[9] + set PromRend = $tmp[11] + set TromEnc = $tmp[13] + set TromDec = $tmp[15] + set TromCom = $tmp[17] + set TromRend = $tmp[19] + set logFile = $tmp[21] echo ' {' >> $file echo ' fullDate: "'${fullDate}'",' >> $file echo ' shortDate: "'${shortDate}'",' >> $file echo ' revision: "'${revision}'",' >> $file - echo ' TotalRomEnc: "'${TotalRomEnc}'",' >> $file - echo ' TotalRomDec: "'${TotalRomDec}'",' >> $file echo ' PromEnc: "'${PromEnc}'",' >> $file echo ' PromDec: "'${PromDec}'",' >> $file + echo ' PromCom: "'${PromCom}'",' >> $file + echo ' PromRend: "'${PromRend}'",' >> $file echo ' TromEnc: "'${TromEnc}'",' >> $file echo ' TromDec: "'${TromDec}'",' >> $file + echo ' TromCom: "'${TromCom}'",' >> $file + echo ' TromRend: "'${TromRend}'",' >> $file echo ' logFile: "'${logFile}'"' >> $file echo ' }'${separator} >> $file @@ -180,7 +212,7 @@ echo ' ]' >> $file echo ' },' >> $file # TotalRomCodecScore -# TotalRomEncScore +# maxPROMEncScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -191,7 +223,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#FF8000",' >> $file -echo ' id: "TotalRomEncScore",' >> $file +echo ' id: "maxPROMEncScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -217,9 +249,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# TotalRomEncScore +# maxPROMEncScore -# TotalRomDecScore +# maxPROMDecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -230,7 +262,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#FFFF00",' >> $file -echo ' id: "TotalRomDecScore",' >> $file +echo ' id: "maxPROMDecScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -256,9 +288,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# TotalRomDecScore +# maxPROMEncScore -# PROMCodecScore +# maxPROMComScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -269,7 +301,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#004000",' >> $file -echo ' id: "PROMCodecScore",' >> $file +echo ' id: "maxPROMComScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -286,7 +318,7 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = $tmp[9] + set score = $tmp[10] echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -295,10 +327,10 @@ end echo ' ]' >> $file echo ' },' >> $file -# PROMCodecScore +# maxPROMComScore -# PROMEncScore +# maxPROMRendScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -309,7 +341,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#008000",' >> $file -echo ' id: "PROMEncScore",' >> $file +echo ' id: "maxPROMRendScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -326,7 +358,7 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = $tmp[11] + set score = $tmp[12] echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -335,9 +367,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# PROMEncScore +# maxPROMRendScore -# PROMDecScore +# maxTROMEncScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -348,7 +380,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#00FF00",' >> $file -echo ' id: "PROMDecScore",' >> $file +echo ' id: "maxTROMEncScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -365,7 +397,7 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = $tmp[13] + set score = $tmp[14] echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -374,9 +406,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# PROMDecScore +# maxTROMEncScore -# TROMCodecScore +# maxTROMDecScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -387,7 +419,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#800080",' >> $file -echo ' id: "TROMCodecScore",' >> $file +echo ' id: "maxTROMDecScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -404,7 +436,7 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = $tmp[14] + set score = $tmp[16] echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -413,9 +445,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# TROMCodecScore +# maxTROMDecScore -# TROMEncScore +# maxTROMComScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -426,7 +458,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#0000FF",' >> $file -echo ' id: "TROMEncScore",' >> $file +echo ' id: "maxTROMComScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -443,7 +475,7 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = $tmp[16] + set score = $tmp[18] echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -452,9 +484,9 @@ end echo ' ]' >> $file echo ' },' >> $file -# TROMEncScore +# maxTROMComScore -# TROMDecScore +# maxTROMRendScore echo ' {' >> $file echo ' lines: { show: true },' >> $file echo ' points: { show: true, fillColor: "#ffffff" },' >> $file @@ -465,7 +497,7 @@ echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file echo ' color: "#0080C0",' >> $file -echo ' id: "TROMDecScore",' >> $file +echo ' id: "maxTROMRendScore",' >> $file echo ' data: [' >> $file @ i = 0 @@ -482,7 +514,7 @@ foreach line ( "`cat ${tmpFile}`" ) continue endif - set score = $tmp[18] + set score = $tmp[20] echo ' ['"${i}, ${score}"']'${separator} >> $file @ i++ @@ -491,7 +523,7 @@ end echo ' ]' >> $file echo ' }' >> $file -# TROMDecScore +# maxTROMRendScore echo ' ]' >> $file # end displays diff --git a/ci/complexity_measurements/parseNewsletterRam.py b/ci/complexity_measurements/parseNewsletterRam.py index 95a35697b0..ccf338ea3c 100755 --- a/ci/complexity_measurements/parseNewsletterRam.py +++ b/ci/complexity_measurements/parseNewsletterRam.py @@ -133,31 +133,30 @@ for key in ram_table: max_total_encdec[0] = re.sub(" ", "_", key) max_total_encdec[1] = total_encdec + print( - revision, - shortDate, - fullDate, + revision, # string revision $tmp[1] + shortDate, # string shortDate $tmp[2] + fullDate, # string fullDate $tmp[3] - max_total_encdec[1], + max_total_encdec[1], # value maxTotalRamCodecScore $tmp[4] - max_total_enc[0], - max_total_enc[1], - max_total_dec[0], - max_total_dec[1], + max_total_enc[0], # string maxTotalRamEnc $tmp[5] + max_total_enc[1], # value maxTotalRamEnc $tmp[6] + max_total_dec[0], # string maxTotalRamDec $tmp[7] + max_total_dec[1], # value maxTotalRamDecScore $tmp[8] + + max_stack_encdec[1], # value maxStackCodecScore $tmp[9] + max_stack_enc[0], # string maxStackEnc $tmp[10] + max_stack_enc[1], # value maxStackEncScore $tmp[11] + max_stack_dec[0], # string maxStackDec $tmp[12] + max_stack_dec[1], # value maxStackDecScore $tmp[13] - max_stack_encdec[1], - max_stack_encdec[0], - max_stack_enc[0], - max_stack_enc[1], - max_stack_dec[0], - max_stack_dec[1], + max_heap_encdec[1], # value maxHeapCodecScore $tmp[14] + max_heap_enc[0], # string maxHeapEnc $tmp[15] + max_heap_enc[1], # value maxHeapEncScore $tmp[16] + max_heap_dec[0], # string maxHeapDec $tmp[17] + max_heap_dec[1], # value maxHeapDecScore $tmp[19] - max_heap_encdec[0], - max_heap_encdec[1], - max_heap_enc[0], - max_heap_enc[1], - max_heap_dec[0], - max_heap_dec[1], - - newsletterFilenameLast, + newsletterFilenameLast, # string logFile $tmp[19] ) diff --git a/ci/complexity_measurements/parseNewsletterRom.py b/ci/complexity_measurements/parseNewsletterRom.py index 3fd079385a..d16de8cb1e 100755 --- a/ci/complexity_measurements/parseNewsletterRom.py +++ b/ci/complexity_measurements/parseNewsletterRom.py @@ -139,31 +139,30 @@ for key in rom_table: max_total_encdec[1] = total_encdec - print( - revision, - shortDate, - fullDate, - - max_total_encdec[1], - - max_prom_enc[0], - max_prom_enc[1], - max_prom_dec[0], - max_prom_dec[1], - max_prom_com[0], - max_prom_com[1], - max_prom_rend[0], - max_prom_rend[1], - - max_trom_enc[0], - max_trom_enc[1], - max_trom_dec[0], - max_trom_dec[1], - max_trom_com[0], - max_trom_com[1], - max_trom_rend[0], - max_trom_rend[1], - - newsletterFilenameLast, + revision, # string revision $tmp[1] + shortDate, # string shortDate $tmp[2] + fullDate, # string fullDate $tmp[3] + + max_total_encdec[1], # value maxTotalRomCodecScore $tmp[4] + + max_prom_enc[0], # string maxPROMEnc $tmp[5] + max_prom_enc[1], # value maxPROMEncScore $tmp[6] + max_prom_dec[0], # string maxPROMDec $tmp[7] + max_prom_dec[1], # value maxPROMDecScore $tmp[8] + max_prom_com[0], # string maxPROMCom $tmp[9] + max_prom_com[1], # value maxPROMComScore $tmp[10] + max_prom_rend[0], # string maxPROMRend $tmp[11] + max_prom_rend[1], # value maxPROMRendScore $tmp[12] + + max_trom_enc[0], # string maxTROMEnc $tmp[13] + max_trom_enc[1], # value maxTROMEncScore $tmp[14] + max_trom_dec[0], # string maxTROMDec $tmp[15] + max_trom_dec[1], # value maxTROMDecScore $tmp[16] + max_trom_com[0], # string maxTROMCom $tmp[17] + max_trom_com[1], # value maxTROMComScore $tmp[18] + max_trom_rend[0], # string maxTROMRend $tmp[19] + max_trom_rend[1], # value maxTROMRendScore $tmp[20] + + newsletterFilenameLast, # string logFile $tmp[21] ) -- GitLab From 2828f57d001764fbec0f53d79a33185728b1f5f4 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 20:29:10 +0100 Subject: [PATCH 475/620] restore EVS bit-exactness --- lib_enc/evs_enc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 2a9e05f205..c9b74b63f5 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -173,9 +173,9 @@ ivas_error evs_enc( st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; st->hBWE_TD->prev_mix_factor = 1.0f; st->hBWE_TD->prev_Env_error = 0.0f; +#endif cldfb_reset_memory( st->cldfbAnaEnc ); cldfb_reset_memory( st->cldfbSynTd ); -#endif } /*---------------------------------------------------------------------* -- GitLab From cde200bf34accc94a97de28e3b235c8510d34e90 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Mon, 19 Dec 2022 21:01:39 +0100 Subject: [PATCH 476/620] clang-format --- lib_com/prot.h | 20 ++++++++++---------- lib_enc/ivas_core_enc.c | 6 +++--- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/lib_com/prot.h b/lib_com/prot.h index 59b8dd8d0f..70af73bbe9 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -713,10 +713,10 @@ int16_t lev_dur( /*! r: delay value in ns */ int32_t get_delay( - const int16_t enc_dec, /* i : encoder/decoder flag */ - const int32_t io_fs, /* i : input/output sampling frequency */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ + const int16_t enc_dec, /* i : encoder/decoder flag */ + const int32_t io_fs, /* i : input/output sampling frequency */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ #ifndef FIX_I59_LFE_TD_DELAY RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ @@ -3846,7 +3846,7 @@ int16_t dtx_hangover_addition( int16_t *vad_hover_flag, /* o : VAD hangover flag */ VAD_HANDLE hVAD, /* i/o: VAD handle for L or R channel */ NOISE_EST_HANDLE hNoiseEst, /* i : Noise estimation handle */ - int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ + int16_t *rem_dtx_ho /* o : Expected remaining hangover frames */ ); int16_t wb_vad( @@ -7888,11 +7888,11 @@ void coder_tcx_post( ); void decoder_tcx( - Decoder_State *st, /* i/o: coder memory state */ - int16_t prm[], /* i : parameters */ - float A[], /* i : coefficients NxAz[M+1] */ - Word16 Aind[], /* i : frame-independent coefficients Az[M+1]*/ - float synth[], /* i/o: synth[-M..lg] */ + Decoder_State *st, /* i/o: coder memory state */ + int16_t prm[], /* i : parameters */ + float A[], /* i : coefficients NxAz[M+1] */ + Word16 Aind[], /* i : frame-independent coefficients Az[M+1]*/ + float synth[], /* i/o: synth[-M..lg] */ float synthFB[], /* i/o: encoder memory state */ const int16_t bfi, /* i : Bad frame indicator */ const int16_t frame_cnt, /* i : frame counter in the super_frame */ diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index f493ecdb26..7a0ff91da5 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -411,15 +411,15 @@ ivas_error ivas_core_enc( signaling_enc_rf( st ); -/*---------------------------------------------------------------------* + /*---------------------------------------------------------------------* * Common updates *---------------------------------------------------------------------*/ + #ifdef MC_BITRATE_SWITCHING - /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ #ifndef REMOVE_ETOT_PROPAGATION st->hNoiseEst->Etot_last = Etot[n]; #endif - if ( !MCT_flag ) + if ( !MCT_flag ) /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ { updt_enc_common( st ); } -- GitLab From 7bb50fe741b15aad7a503518cd5ed84138fff9f9 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 08:17:07 +0100 Subject: [PATCH 477/620] make ci folder a python module --- ci/__init__.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 ci/__init__.py diff --git a/ci/__init__.py b/ci/__init__.py new file mode 100644 index 0000000000..e69de29bb2 -- GitLab From 2d690529a814d53826bc438eebada2806f1e5458 Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 20 Dec 2022 08:35:03 +0100 Subject: [PATCH 478/620] correction of #include wmc_auto.h --- lib_dec/ivas_mcmasa_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_mcmasa_dec.c b/lib_dec/ivas_mcmasa_dec.c index 83e226f0a0..87ab621ae8 100644 --- a/lib_dec/ivas_mcmasa_dec.c +++ b/lib_dec/ivas_mcmasa_dec.c @@ -38,7 +38,7 @@ the United Nations Convention on Contracts on the International Sales of Goods. #ifdef DEBUGGING #include "debug.h" #endif -#include "wmops.h" +#include "wmc_auto.h" #ifdef MC_BITRATE_SWITCHING -- GitLab From 608c4637e1e105ab798afab241c7885979d232cc Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Tue, 20 Dec 2022 08:37:19 +0100 Subject: [PATCH 479/620] fix warning about unused variable --- lib_dec/ivas_qmetadata_dec.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/lib_dec/ivas_qmetadata_dec.c b/lib_dec/ivas_qmetadata_dec.c index 5174e009a4..544a49fe30 100644 --- a/lib_dec/ivas_qmetadata_dec.c +++ b/lib_dec/ivas_qmetadata_dec.c @@ -3132,8 +3132,6 @@ int16_t read_surround_coherence( if ( hQMetaData->no_directions == 2 ) { - int16_t idx; - d += hQMetaData->twoDirBands[j]; idx = max( d - 1, 0 ); error_ratio_surr = 1.0f - q_direction[0].band_data[j].energy_ratio[0] - q_direction[1].band_data[idx].energy_ratio[0] * hQMetaData->twoDirBands[j]; -- GitLab From 3b30e0fb7867393e92fc526138f798d563f8d63f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 09:16:12 +0100 Subject: [PATCH 480/620] fix legends and assignments of colours to values --- .../genWebpageData_Rom.csh | 12 ++--- .../index_complexity.html | 54 +++++++++---------- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/ci/complexity_measurements/genWebpageData_Rom.csh b/ci/complexity_measurements/genWebpageData_Rom.csh index af46ede417..ba34df3169 100755 --- a/ci/complexity_measurements/genWebpageData_Rom.csh +++ b/ci/complexity_measurements/genWebpageData_Rom.csh @@ -300,7 +300,7 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#004000",' >> $file +echo ' color: "#800080",' >> $file echo ' id: "maxPROMComScore",' >> $file echo ' data: [' >> $file @@ -340,7 +340,7 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#008000",' >> $file +echo ' color: "#0000FF",' >> $file echo ' id: "maxPROMRendScore",' >> $file echo ' data: [' >> $file @@ -379,7 +379,7 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#00FF00",' >> $file +echo ' color: "#0080C0",' >> $file echo ' id: "maxTROMEncScore",' >> $file echo ' data: [' >> $file @@ -418,7 +418,7 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#800080",' >> $file +echo ' color: "#004000",' >> $file echo ' id: "maxTROMDecScore",' >> $file echo ' data: [' >> $file @@ -457,7 +457,7 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#0000FF",' >> $file +echo ' color: "#008000",' >> $file echo ' id: "maxTROMComScore",' >> $file echo ' data: [' >> $file @@ -496,7 +496,7 @@ echo ' markingsLineWidth: .75,' >> $file echo ' hoverable: true,' >> $file echo ' clickable: true,' >> $file echo ' shadowSize: 0,' >> $file -echo ' color: "#0080C0",' >> $file +echo ' color: "#00FF00",' >> $file echo ' id: "maxTROMRendScore",' >> $file echo ' data: [' >> $file diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index 33c458fa11..bac01f858e 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -201,25 +201,25 @@ <div class="graph-container" style="clear: both;"> <ul class="legend"> <li style="border-color: #FF0000;"><em>Max. total RAM Codec:</em> - Dynamic + Static RAM, 32 bit words, Encoder + Decoder</li> - <li style="border-color: #FF8000;"><em>Max. total RAM - Encoder:</em> Dynamic + Static RAM, 32 bit words, Encoder only</li> - <li style="border-color: #FFFF00;"><em>Max. total RAM - Decoder:</em> Dynamic + Static RAM, 32 bit words, Decoder only</li> + 32 bit words, Encoder + Decoder</li> + <li style="border-color: #FF8000;"><em>Max. total RAM Encoder:</em> + 32 bit words, Encoder only</li> + <li style="border-color: #FFFF00;"><em>Max. total RAM Decoder:</em> + 32 bit words, Decoder only</li> - <li style="border-color: #800080;"><em>Max. static RAM Codec:</em> - Static RAM, 32 bit words, Encoder + Decoder</li> - <li style="border-color: #0000FF;"><em>Max. static RAM - Encoder:</em> Static RAM, 32 bit words,, Encoder only</li> - <li style="border-color: #0080C0;"><em>Max. static RAM - Decoder:</em> Static RAM, 32 bit words, Decoder only</li> + <li style="border-color: #800080;"><em>Max. HEAP Codec:</em> + 32 bit words, Encoder + Decoder</li> + <li style="border-color: #0000FF;"><em>Max. HEAP Encoder</em> + 32 bit words, Encoder only</li> + <li style="border-color: #0080C0;"><em>Max. HEAP Decoder</em> + 32 bit words, Decoder only</li> - <li style="border-color: #004000;"><em>Max. dynamic RAM - Codec:</em> Dynamic RAM, 32 bit words, Encoder + Decoder</li> - <li style="border-color: #008000;"><em>Max. dynamic RAM - Encoder:</em> Dynamic RAM, 32 bit words, Encoder only</li> - <li style="border-color: #00FF00;"><em>Max. dynamic RAM - Decoder:</em> Dynamic RAM, 32 bit words, Decoder only</li> + <li style="border-color: #004000;"><em>Max. STACK Codec:</em> + 32 bit words, max(Encoder, Decoder)</li> + <li style="border-color: #008000;"><em>Max. STACK Encoder:</em> + 32 bit words, Encoder only</li> + <li style="border-color: #00FF00;"><em>Max. STACK Decoder:</em> + 32 bit words, Decoder only</li> </ul> </div> @@ -260,16 +260,16 @@ <div class="graph-container" style="clear: both;"> <ul class="legend"> <li style="border-color: #FF0000;"><em>Max. total ROM Codec:</em> Encoder + Decoder</li> - <li style="border-color: #FF8000;"><em>Max. total ROM Encoder:</em> Encoder only</li> - <li style="border-color: #FFFF00;"><em>Max. total ROM Decoder:</em> Decoder only</li> - - <li style="border-color: #800080;"><em>Max. Table ROM Codec:</em> Encoder + Decoder</li> - <li style="border-color: #0000FF;"><em>Max. Table ROM Encoder:</em> Encoder only</li> - <li style="border-color: #0080C0;"><em>Max. Table ROM Decoder:</em> Decoder only</li> - - <li style="border-color: #004000;"><em>Max. PROM Codec:</em> Encoder + Decoder</li> - <li style="border-color: #008000;"><em>Max. PROM Encoder:</em> Encoder only</li> - <li style="border-color: #00FF00;"><em>Max. PROM Decoder:</em> Decoder only</li> + + <li style="border-color: #FF8000;"><em>Max. max PROM Encoder Library:</em> lib_enc only</li> + <li style="border-color: #FFFF00;"><em>Max. max PROM Decoder Library:</em> lib_dec only</li> + <li style="border-color: #800080;"><em>Max. max PROM Common Library:</em> lib_com only/li> + <li style="border-color: #0000FF;"><em>Max. max PROM Ext Renderer Library:</em> lib_ren only</li> + + <li style="border-color: #0080C0;"><em>Max. Table ROM Encoder Library:</em> lib_enc only</li> + <li style="border-color: #004000;"><em>Max. Table ROM Decoder Library:</em> lib_dec only</li> + <li style="border-color: #008000;"><em>Max. Table ROM Common Library:</em> lib_com only</li> + <li style="border-color: #00FF00;"><em>Max. Table ROM Ext Renderer Library:</em> lib_rend only</li> </ul> </div> -- GitLab From 12071b8074786048e66781ef02faa9ca22683d36 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Tue, 20 Dec 2022 13:22:47 +0530 Subject: [PATCH 481/620] Added a check for bitrate when DTX enabled --- lib_enc/ivas_sba_enc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 55dc8c1aa0..7e93dc02a1 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -390,9 +390,13 @@ ivas_error ivas_sba_enc_reconfigure( #endif #ifdef SBA_BR_SWITCHING_RECONFIG - /* FB mixer handle */ if ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) { + if ( hEncoderConfig->Opt_DTX_ON && ( st_ivas->nchan_transport > 2 ) ) + { + return IVAS_ERR_DTX_NOT_SUPPORTED; + } + /* FB mixer handle */ if ( st_ivas->sba_mode == SBA_MODE_SPAR ) { // VE: TBV whether 'hFbMixer' can be reused -- GitLab From cfcf9b6ddaf025de7ebb9ae347f8051fc8f52a62 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 10:02:24 +0100 Subject: [PATCH 482/620] adjust tooltips --- .../index_complexity.html | 30 ++++++++++--------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/ci/complexity_measurements/index_complexity.html b/ci/complexity_measurements/index_complexity.html index bac01f858e..23a1a68aed 100755 --- a/ci/complexity_measurements/index_complexity.html +++ b/ci/complexity_measurements/index_complexity.html @@ -789,25 +789,25 @@ function RAM() { if( item.series.id == "maxTotalRamDecScore" ){ text += "Max. total RAM dec: " + graph.runs[x].maxTotalRamDec + "<br>"; } - if( item.series.id == "maxDynamicRamCodecScore" ){ - text += "Max. dynamic RAM enc: " + graph.runs[x].maxDynamicRamEnc + "<br>"; - text += "Max. dynamic RAM dec: " + graph.runs[x].maxDynamicRamDec + "<br>"; + if( item.series.id == "maxStackCodecScore" ){ + text += "Max. Stack enc: " + graph.runs[x].maxStackEnc + "<br>"; + text += "Max. Stack dec: " + graph.runs[x].maxStackDec + "<br>"; } - if( item.series.id == "maxDynamicRamEncScore" ){ - text += "Max. dynamic RAM enc: " + graph.runs[x].maxDynamicRamEnc + "<br>"; + if( item.series.id == "maxStackEncScore" ){ + text += "Max. Stack enc: " + graph.runs[x].maxStackEnc + "<br>"; } - if( item.series.id == "maxDynamicRamDecScore" ){ - text += "Max. dynamic RAM dec: " + graph.runs[x].maxDynamicRamDec + "<br>"; + if( item.series.id == "maxStackDecScore" ){ + text += "Max. Stack dec: " + graph.runs[x].maxStackDec + "<br>"; } - if( item.series.id == "maxStaticRamCodecScore" ){ - text += "Max. static RAM enc: " + graph.runs[x].maxStaticRamEnc + "<br>"; - text += "Max. static RAM dec: " + graph.runs[x].maxStaticRamDec + "<br>"; + if( item.series.id == "maxHeapCodecScore" ){ + text += "Max. Heap enc: " + graph.runs[x].maxHeapEnc + "<br>"; + text += "Max. Heap dec: " + graph.runs[x].maxHeapDec + "<br>"; } - if( item.series.id == "maxStaticRamEncScore" ){ - text += "Max. static RAM enc: " + graph.runs[x].maxStaticRamEnc + "<br>"; + if( item.series.id == "maxHeapEncScore" ){ + text += "Max. Heap enc: " + graph.runs[x].maxHeapEnc + "<br>"; } - if( item.series.id == "maxStaticRamDecScore" ){ - text += "Max. static RAM dec: " + graph.runs[x].maxStaticRamDec + "<br>"; + if( item.series.id == "maxHeapDecScore" ){ + text += "Max. Heap dec: " + graph.runs[x].maxHeapDec + "<br>"; } text += "<br>" @@ -940,6 +940,7 @@ function ROM() { } } +/* if( item.series.id == "TotalRomCodecScore" ){ text += "Worst case enc: " + graph.runs[x].TotalRomEnc + "<br>"; text += "Worst case dec: " + graph.runs[x].TotalRomDec + "<br>"; @@ -970,6 +971,7 @@ function ROM() { if( item.series.id == "TROMDecScore" ){ text += "Worst case dec: " + graph.runs[x].TromDec + "<br>"; } +*/ text += "<br>" text += "Revision: " + graph.runs[x].revision + "<br>"; -- GitLab From 05d039f49ebfcca1c6d8249aa55776e8dbf82fbd Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 12:14:47 +0100 Subject: [PATCH 483/620] change import --- ci/setup_pages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/setup_pages.py b/ci/setup_pages.py index bb859c43fd..78f258f7de 100755 --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -3,7 +3,7 @@ import os import sys import pathlib import subprocess -from .get_id_of_last_job_occurence import get_job_id +from get_id_of_last_job_occurence import get_job_id JOBS = [ "complexity-stereo-in-stereo-out", "complexity-ism-in-binaural-out", "complexity-sba-hoa3-in-hoa3-out", "complexity-mc-in-7_1_4-out", "complexity-masa-in-7_1_4-out", "complexity-StereoDmxEVS-stereo-in-mono-out", "coverage-test-on-main-scheduled" -- GitLab From 2c9bd613d0f48b089ad3084f5c32b52cbb9cdca2 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 12:15:48 +0100 Subject: [PATCH 484/620] Remove tag from VoIP BE job - all runners should now have netsim available --- .gitlab-ci.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 790e55050e..221c6c2b16 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -574,8 +574,6 @@ voip-be-on-merge-request: script: - *print-common-info - bash ci/ivas_voip_be_test.sh - tags: - - test-fhg-linux-runner2 clang-format-check: extends: -- GitLab From 9ef902c832e6917ceb7484d7a08076bdc674e562 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 12:14:47 +0100 Subject: [PATCH 485/620] [tmp] remove VoIP self-test conditions before merge to main This commit will be reverted and merged to main separately --- scripts/config/self_test.prm | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 5e419a04a7..50d8447a06 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -898,19 +898,3 @@ // Stereo downmix to bit-exact EVS at 24400 kbps, 48kHz in, 48kHz out ../IVAS_cod -stereo_dmx_evs 24400 48 testv/stvST48c.pcm bit ../IVAS_dec 48 bit testv/stvST48c.pcm_StereoDmxEVS_24400_48-48.tst - - -// MDCT stereo at 48 kbps, 16 kHz in, 16 kHz out, DTX on, JBM Prof 5 -../IVAS_cod -stereo -dtx 48000 16 testv/stvST16n.pcm bit -networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 -../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 16 netsimoutput testv/stvST16n.pcm_MDCT_48000_16-16_DTX_JBM5.tst - -// 4 ISm with metadata at 32 kbps, 48 kHz in, 48 kHz out, FOA out, JBM Prof 5 -../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 32000 48 testv/stv4ISM48s.pcm bit -networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 -../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv4ISM48s.pcm_32000_48-48_FOA_JBM5.tst - -// SBA at 80 kbps, 32kHz in, 32kHz out, HOA3 out, JBM Prof 5 -../IVAS_cod -sba 3 80000 32 testv/stv3OA32c.pcm bit -networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 -../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/stv3OA32c.pcm_SBA_80000_32-32_HOA3_JBM5.tst -- GitLab From 5658df404000d8213f060853bf2a65fe6f4bcb22 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 20 Dec 2022 13:07:51 +0100 Subject: [PATCH 486/620] Revert "[tmp] remove VoIP self-test conditions before merge to main" This reverts commit 9ef902c832e6917ceb7484d7a08076bdc674e562. --- scripts/config/self_test.prm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 50d8447a06..5e419a04a7 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -898,3 +898,19 @@ // Stereo downmix to bit-exact EVS at 24400 kbps, 48kHz in, 48kHz out ../IVAS_cod -stereo_dmx_evs 24400 48 testv/stvST48c.pcm bit ../IVAS_dec 48 bit testv/stvST48c.pcm_StereoDmxEVS_24400_48-48.tst + + +// MDCT stereo at 48 kbps, 16 kHz in, 16 kHz out, DTX on, JBM Prof 5 +../IVAS_cod -stereo -dtx 48000 16 testv/stvST16n.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP STEREO 16 netsimoutput testv/stvST16n.pcm_MDCT_48000_16-16_DTX_JBM5.tst + +// 4 ISm with metadata at 32 kbps, 48 kHz in, 48 kHz out, FOA out, JBM Prof 5 +../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv 32000 48 testv/stv4ISM48s.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP FOA 48 netsimoutput testv/stv4ISM48s.pcm_32000_48-48_FOA_JBM5.tst + +// SBA at 80 kbps, 32kHz in, 32kHz out, HOA3 out, JBM Prof 5 +../IVAS_cod -sba 3 80000 32 testv/stv3OA32c.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/stv3OA32c.pcm_SBA_80000_32-32_HOA3_JBM5.tst -- GitLab From 87ab924e633161567e9040b0f21edb278fdae8bf Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 20 Dec 2022 15:35:46 +0100 Subject: [PATCH 487/620] Add smoke_test.sh to coverage test --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index d0ff4e6727..4a77db8c29 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -919,6 +919,7 @@ coverage-test-on-main-scheduled: - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests/test_param_file.py -v -n 0 --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec + - bash ci/smoke_test.sh - lcov -c -d obj -o coverage.info - genhtml coverage.info -o coverage artifacts: -- GitLab From 4b564db818a327ee6581504b7146f80d3c11d7c0 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Tue, 20 Dec 2022 16:09:21 +0100 Subject: [PATCH 488/620] Fix smoke test call --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4a77db8c29..e16dc0096c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -919,7 +919,8 @@ coverage-test-on-main-scheduled: - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests/test_param_file.py -v -n 0 --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - - bash ci/smoke_test.sh + - python3 scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U 1 -t 1 + - python3 scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U 1 -D="-fec 15" --decoder_only -t 1 - lcov -c -d obj -o coverage.info - genhtml coverage.info -o coverage artifacts: -- GitLab From c106560e0d33380c257d7b87d20cca56203078f6 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 21 Dec 2022 06:48:05 +0100 Subject: [PATCH 489/620] Adapted smoke_test.sh for coverage test and added external_renderer test --- .gitlab-ci.yml | 5 +++-- ci/smoke_test.sh | 36 ++++++++++++++++++++++++++++++------ 2 files changed, 33 insertions(+), 8 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bd07eb242f..3ac60dac7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -928,12 +928,13 @@ coverage-test-on-main-scheduled: script: - *print-common-info - make GCOV=1 -j + - cp IVAS_rend IVAS_rend_ref # Copy exec to be able to run external renderer script - python3 tests/create_short_testvectors.py - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests/test_param_file.py -v -n 0 --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - - python3 scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U 1 -t 1 - - python3 scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U 1 -D="-fec 15" --decoder_only -t 1 + - bash ci/smoke_test.sh coverage + - python3 -m pytest -q -n auto tests/renderer/test_renderer_be_comparison.py - lcov -c -d obj -o coverage.info - genhtml coverage.info -o coverage artifacts: diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index 5ba890c443..1b36c8d20e 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -28,20 +28,44 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. +function usage { + echo + echo "Usage:" + echo " smoke_test.sh [MODE]" + echo + echo " MODE - test (default) or coverage" + exit +} + if [ ! -d "lib_com" ]; then echo "not in root directory! - please run in IVAS root" exit 1 fi +if [ -z "$1" ]; then + WORKERS="" + SKIP_BUILD=0 +else + if [ "$1" == "coverage" ]; then + WORKERS="-t 1" + SKIP_BUILD=1 + else + usage + fi +fi + + cfg=./scripts/config/ci_linux.json dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat -make clean -make all -j 8 +if [ $SKIP_BUILD -eq 0 ];then + make clean + make all -j 8 +fi -./scripts/runIvasCodec.py -p $cfg -U 1 | tee smoke_test_output.txt -./scripts/runIvasCodec.py -p $cfg -U 1 -D="-fec 15" --decoder_only | tee smoke_test_output_plc.txt +./scripts/runIvasCodec.py -p $cfg -U 1 $WORKERS | tee smoke_test_output.txt +./scripts/runIvasCodec.py -p $cfg -U 1 $WORKERS -D="-fec 15" --decoder_only | tee smoke_test_output_plc.txt modes_with_no_ext_out=$(./scripts/runIvasCodec.py -l | grep -v MASA | grep -v ISM) -./scripts/runIvasCodec.py -m $modes_with_no_ext_out -p $cfg -U 1 --decoder_only --jbm_file $dly_profile | tee smoke_test_output_jbm_noEXT.txt -./scripts/runIvasCodec.py -C MASA ISM1 ISM2 ISM3 ISM4 -p $cfg -U 1 --decoder_only --jbm_file $dly_profile --oc BINAURAL BINAURAL_ROOM mono stereo FOA HOA3 5_1 7_1_4 | tee -a smoke_test_output_jbm_noEXT.txt \ No newline at end of file +./scripts/runIvasCodec.py -m $modes_with_no_ext_out -p $cfg -U 1 $WORKERS --decoder_only --jbm_file $dly_profile | tee smoke_test_output_jbm_noEXT.txt +./scripts/runIvasCodec.py -C MASA ISM1 ISM2 ISM3 ISM4 -p $cfg -U 1 $WORKERS --decoder_only --jbm_file $dly_profile --oc BINAURAL BINAURAL_ROOM mono stereo FOA HOA3 5_1 7_1_4 | tee -a smoke_test_output_jbm_noEXT.txt \ No newline at end of file -- GitLab From 3cae025917092237c2cd4b7622ff3653de659eda Mon Sep 17 00:00:00 2001 From: Jouni Paulus <jouni.paulus@nokia.com> Date: Wed, 21 Dec 2022 08:50:39 +0100 Subject: [PATCH 490/620] added bitrate pattern covering switches between MC-technologies --- scripts/switchPaths/sw_mctech_5fr.bin | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 scripts/switchPaths/sw_mctech_5fr.bin diff --git a/scripts/switchPaths/sw_mctech_5fr.bin b/scripts/switchPaths/sw_mctech_5fr.bin new file mode 100644 index 0000000000..8b21888757 --- /dev/null +++ b/scripts/switchPaths/sw_mctech_5fr.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:22d4d72283254c3a0bd7d290182a11d2909c0c0d8ee5424e55e288b34ea5ed45 +size 60000 -- GitLab From 781f36d42580489414d1ffddda9594596bd596af Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 08:58:33 +0100 Subject: [PATCH 491/620] fix pages setup script --- ci/setup_pages.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ci/setup_pages.py b/ci/setup_pages.py index 78f258f7de..3b77230cae 100755 --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -21,6 +21,7 @@ def main(): failed_count = 0 for job in JOBS: job_id = get_job_id(os.environ["CI_COMMIT_REF_NAME"], job) + print(f"{job_id} - {job}") try: curl_for_artifacts(job_id) @@ -50,6 +51,7 @@ def curl_for_artifacts(job_id): "--output", ARTIFACTS ] + print(" ".join(cmd)) subprocess.run(cmd, check=True) # check for valid archive (if not, it is likely a 404 page, then display that) @@ -63,7 +65,7 @@ def curl_for_artifacts(job_id): except subprocess.CalledProcessError: with open(ARTIFACTS, "r") as f: print(f.read()) - raise subprocess.CalledProcessError("Unzip check failed") + raise subprocess.CalledProcessError(-1, "Unzip check failed") if __name__ == "__main__": -- GitLab From 8e5fc056a11b8bafc23007eee8a9cf9472078b56 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 09:20:48 +0100 Subject: [PATCH 492/620] get environ var correctly in setup_pages.py --- ci/setup_pages.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/setup_pages.py b/ci/setup_pages.py index 3b77230cae..4c418fe891 100755 --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -9,7 +9,7 @@ JOBS = [ "complexity-stereo-in-stereo-out", "complexity-ism-in-binaural-out", "complexity-sba-hoa3-in-hoa3-out", "complexity-mc-in-7_1_4-out", "complexity-masa-in-7_1_4-out", "complexity-StereoDmxEVS-stereo-in-mono-out", "coverage-test-on-main-scheduled" ] ARTIFACTS = "artifacts.zip" -API_URL_BASE = "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs" +API_URL_BASE = "https://forge.3gpp.org/rep/api/v4/projects/{}/jobs" PUBLIC = "./public" @@ -47,7 +47,7 @@ def curl_for_artifacts(job_id): "curl", "--request", "GET", - API_URL_BASE + f"/{job_id}/artifacts", + API_URL_BASE.format(os.environ["CI_PROJECT_ID"]) + f"/{job_id}/artifacts", "--output", ARTIFACTS ] -- GitLab From a58a9d81d2e456ffd8b0af5a8cf1e0519cdb71b8 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 10:18:39 +0100 Subject: [PATCH 493/620] add command for actual unzipping the artifacts --- ci/setup_pages.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ci/setup_pages.py b/ci/setup_pages.py index 4c418fe891..da914bb110 100755 --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -67,6 +67,11 @@ def curl_for_artifacts(job_id): print(f.read()) raise subprocess.CalledProcessError(-1, "Unzip check failed") + # do the actual unzipping + cmd = [ + "unzip", ARTIFACTS + ] + if __name__ == "__main__": main() \ No newline at end of file -- GitLab From ff4cb639b9279dc7b69c606f0aa498d7fc0cde9f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 10:19:25 +0100 Subject: [PATCH 494/620] run formatter --- ci/setup_pages.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/ci/setup_pages.py b/ci/setup_pages.py index da914bb110..8bc2c40e79 100755 --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -6,7 +6,13 @@ import subprocess from get_id_of_last_job_occurence import get_job_id JOBS = [ - "complexity-stereo-in-stereo-out", "complexity-ism-in-binaural-out", "complexity-sba-hoa3-in-hoa3-out", "complexity-mc-in-7_1_4-out", "complexity-masa-in-7_1_4-out", "complexity-StereoDmxEVS-stereo-in-mono-out", "coverage-test-on-main-scheduled" + "complexity-stereo-in-stereo-out", + "complexity-ism-in-binaural-out", + "complexity-sba-hoa3-in-hoa3-out", + "complexity-mc-in-7_1_4-out", + "complexity-masa-in-7_1_4-out", + "complexity-StereoDmxEVS-stereo-in-mono-out", + "coverage-test-on-main-scheduled", ] ARTIFACTS = "artifacts.zip" API_URL_BASE = "https://forge.3gpp.org/rep/api/v4/projects/{}/jobs" @@ -30,9 +36,9 @@ def main(): job_public = "coverage" pathlib.Path(job_public).rename(public_folder.joinpath(job_public)) - + except subprocess.CalledProcessError: - print(f"Could not get artifacts for {job}") + print(f"Could not get artifacts for {job}") failed_count += 1 if failed_count == len(JOBS): @@ -49,17 +55,13 @@ def curl_for_artifacts(job_id): "GET", API_URL_BASE.format(os.environ["CI_PROJECT_ID"]) + f"/{job_id}/artifacts", "--output", - ARTIFACTS + ARTIFACTS, ] print(" ".join(cmd)) subprocess.run(cmd, check=True) # check for valid archive (if not, it is likely a 404 page, then display that) - cmd = [ - "unzip", - "-t", - ARTIFACTS - ] + cmd = ["unzip", "-t", ARTIFACTS] try: subprocess.run(cmd, check=True) except subprocess.CalledProcessError: @@ -68,10 +70,8 @@ def curl_for_artifacts(job_id): raise subprocess.CalledProcessError(-1, "Unzip check failed") # do the actual unzipping - cmd = [ - "unzip", ARTIFACTS - ] + cmd = ["unzip", ARTIFACTS] if __name__ == "__main__": - main() \ No newline at end of file + main() -- GitLab From f852d27439676e452d7a9be0bd370c49aef53e3f Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 10:20:57 +0100 Subject: [PATCH 495/620] actually run the unzip command --- ci/setup_pages.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/setup_pages.py b/ci/setup_pages.py index 8bc2c40e79..a8dffafa13 100755 --- a/ci/setup_pages.py +++ b/ci/setup_pages.py @@ -57,7 +57,6 @@ def curl_for_artifacts(job_id): "--output", ARTIFACTS, ] - print(" ".join(cmd)) subprocess.run(cmd, check=True) # check for valid archive (if not, it is likely a 404 page, then display that) @@ -71,6 +70,7 @@ def curl_for_artifacts(job_id): # do the actual unzipping cmd = ["unzip", ARTIFACTS] + subprocess.run(cmd, check=True) if __name__ == "__main__": -- GitLab From 27f472491ab24bbdec830bbeaa397c697d368ef7 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 10:47:12 +0100 Subject: [PATCH 496/620] fix release build on windows --- Workspace_msvc/lib_rend.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace_msvc/lib_rend.vcxproj b/Workspace_msvc/lib_rend.vcxproj index e0660f54cb..13dc5e83c3 100644 --- a/Workspace_msvc/lib_rend.vcxproj +++ b/Workspace_msvc/lib_rend.vcxproj @@ -169,7 +169,7 @@ <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> <OmitFramePointers>false</OmitFramePointers> <EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations> - <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <ExceptionHandling /> -- GitLab From 868972be7c7d452aec16a9c22b6033e1f7bd56ac Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 21 Dec 2022 10:54:12 +0000 Subject: [PATCH 497/620] Add 5 MC bitrate switching self-test conditions --- scripts/config/self_test.prm | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index 5e419a04a7..a998eefe2c 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -271,7 +271,6 @@ //../IVAS_cod -dtx -stereo ../scripts/switchPaths/sw_13k2_to_128k_10fr.bin 48 testv/stvST48n.pcm bit //../IVAS_dec MONO 48 bit testv/stvST48n.pcm_stereo_sw_48-48_DTX_MONO.tst - // 1 ISm with metadata at 13.2 kbps, 48 kHz in, 48 kHz out, MONO out ../IVAS_cod -ism 1 testv/stvISM1.csv 13200 48 testv/stv1ISM48s.pcm bit ../IVAS_dec MONO 48 bit testv/stv1ISM48s.pcm_13200_48-48_MONO.tst @@ -408,7 +407,6 @@ ../IVAS_cod -ism 4 testv/stvISM1.csv testv/stvISM2.csv testv/stvISM3.csv testv/stvISM4.csv ../scripts/switchPaths/sw_24k4_256k.bin 48 testv/stv4ISM48s.pcm bit ../IVAS_dec BINAURAL 48 bit testv/stv4ISM48s.pcm_brate_sw_48-48_BINAURAL.tst - // SBA at 13.2 kbps, 32kHz in, 32kHz out, HOA3 out ../IVAS_cod -sba 3 13200 32 testv/stv3OA32c.pcm bit ../IVAS_dec HOA3 32 bit testv/stv3OA32c.pcm_SBA_13200_32-32_HOA3.tst @@ -601,6 +599,7 @@ ../IVAS_cod -sba -3 ../scripts/switchPaths/sw_24k4_256k.bin 48 testv/stv3OA48c.pcm bit ../IVAS_dec 7_1_4 48 bit testv/stv3OA48c.pcm_sw_48-48_7_1_4.tst + // MASA 1dir 1TC at 13.2 kbps, 48kHz in, 48kHz out, BINAURAL out ../IVAS_cod -masa 1 testv/stv_IVASMASA_1dir1TC.met 13200 48 testv/stv_IVASMASA_1dir1TC.pcm bit ../IVAS_dec BINAURAL 48 bit testv/stv_IVASMASA_1dir1TC.pcm_13200_48-48_BINAURAL.tst @@ -890,6 +889,26 @@ ../IVAS_cod -mc 7_1_4 512000 48 testv/stv714MC48c.pcm bit ../IVAS_dec -render_config testv/config_renderer.cfg BINAURAL_ROOM 48 bit testv/stv714MC48c.pcm_MC714_512000_48-48_MC_Config_renderer.tst +// Multi-channel 5_1 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, 7_1_4 out +../IVAS_cod -mc 5_1 ../scripts/switchPaths/sw_mctech_5fr.bin 48 testv/stv51MC48c.pcm bit +../IVAS_dec 7_1_4 48 bit testv/stv51MC48c.pcm_sw_48-48_7_1_4.tst + +// Multi-channel 5_1 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 48kHz out, BINAURAL out, FEC at 10% +../IVAS_cod -mc 5_1 ../scripts/switchPaths/sw_24k4_256k.bin 48 testv/stv51MC48c.pcm bit +../IVAS_dec -fec 10 BINAURAL 48 bit testv/stv51MC48c.pcm_sw_48-48_binaural_fec10.tst + +// Multi-channel 5_1_2 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 16kHz out, BINAURAL_ROOM out +../IVAS_cod -mc 5_1_2 ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv512MC48c.pcm bit +../IVAS_dec BINAURAL_ROOM 16 bit testv/stv512MC48c.pcm_sw_48-16_Binaural_room.tst + +// Multi-channel 7_1_4 bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, HOA3 out +../IVAS_cod -mc 7_1_4 ../scripts/switchPaths/sw_mctech_5fr.bin 48 testv/stv714MC48c.pcm bit +../IVAS_dec HOA3 48 bit testv/stv51MC48c.pcm_sw_48-48_HOA3.tst + +// Multi-channel 7_1_4 bitrate switching from 24.4 kbps to 256 kbps, 48kHz in, 32kHz out, STEREO out, FEC at 5% +../IVAS_cod -mc 7_1_4 ../scripts/switchPaths/sw_24k4_256k.bin 48 testv/stv714MC48c.pcm bit +../IVAS_dec -FEC 5 STEREO 32 bit testv/stv714MC48c.pcm_sw_48-32_stereo.tst + // Stereo downmix to bit-exact EVS at 13200 kbps, 32kHz in, 32kHz out ../IVAS_cod -stereo_dmx_evs 13200 32 testv/stvST32c.pcm bit -- GitLab From a7a2fa1a9fe6d34ce1c0c443e94a344a8c1873da Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 21 Dec 2022 12:11:22 +0100 Subject: [PATCH 498/620] restore resst_stack() function, now with correct ptr_max_stack --- apps/decoder.c | 6 ++---- apps/encoder.c | 1 + apps/renderer.c | 15 ++++++++++----- lib_debug/wmc_auto.c | 7 +++++++ 4 files changed, 20 insertions(+), 9 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 649f02edfa..0f21415087 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -437,10 +437,6 @@ int main( } } -#ifdef WMOPS - reset_wmops(); -#endif - /*-----------------------------------------------------------------* * Decoding *-----------------------------------------------------------------*/ @@ -1118,6 +1114,7 @@ static ivas_error decodeG192( } #ifdef WMOPS + reset_stack(); reset_wmops(); #endif @@ -1629,6 +1626,7 @@ static ivas_error decodeVoIP( } #ifdef WMOPS + reset_stack(); reset_wmops(); #endif diff --git a/apps/encoder.c b/apps/encoder.c index 15be5640f2..c5fab82453 100644 --- a/apps/encoder.c +++ b/apps/encoder.c @@ -552,6 +552,7 @@ int main( } #ifdef WMOPS + reset_stack(); reset_wmops(); #endif diff --git a/apps/renderer.c b/apps/renderer.c index 52bb758700..6084b9f46a 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -532,6 +532,11 @@ int main( int16_t i, numChannels; ivas_error error = IVAS_ERR_OK; +#ifdef WMOPS + reset_wmops(); + reset_mem( USE_32BITS ); +#endif + for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { masaReaders[i] = NULL; @@ -757,10 +762,10 @@ int main( inBufferSize = frameSize_smpls * totalNumInChannels; outBufferSize = frameSize_smpls * numOutChannels; - inpInt16Buffer = malloc_( inBufferSize * sizeof( int16_t ) ); - inFloatBuffer = malloc_( inBufferSize * sizeof( float ) ); - outInt16Buffer = malloc_( outBufferSize * sizeof( int16_t ) ); - outFloatBuffer = malloc_( outBufferSize * sizeof( float ) ); + inpInt16Buffer = malloc( inBufferSize * sizeof( int16_t ) ); + inFloatBuffer = malloc( inBufferSize * sizeof( float ) ); + outInt16Buffer = malloc( outBufferSize * sizeof( int16_t ) ); + outFloatBuffer = malloc( outBufferSize * sizeof( float ) ); inBuffer.config.numSamplesPerChannel = (int16_t) frameSize_smpls; inBuffer.config.numChannels = (int16_t) totalNumInChannels; @@ -771,8 +776,8 @@ int main( outBuffer.data = outFloatBuffer; #ifdef WMOPS + reset_stack(); reset_wmops(); - reset_mem( USE_32BITS ); #endif if ( !args.quietModeEnabled ) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index c648cfcd0d..bca49726ce 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -770,6 +770,13 @@ int push_stack( const char *filename, const char *fctname ) /* Check, if This is the New Worst-Case RAM (stack + heap) */ current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_current_stack ) * sizeof( int16_t ) ) ); + + if (current_stack_size < 0 ) + { + /* prevent negative stack size */ + current_stack_size = 0; + } + if ( current_stack_size + current_heap_size > wc_ram_size ) { wc_ram_size = current_stack_size + current_heap_size; -- GitLab From 0dbcfdfd2512ee64921124d9c518efe9d22e9b6f Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 21 Dec 2022 13:24:16 +0100 Subject: [PATCH 499/620] Fixes in smoke_test.sh for test argument and BUILD logic --- ci/smoke_test.sh | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index 1b36c8d20e..0963055acd 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -42,23 +42,21 @@ if [ ! -d "lib_com" ]; then exit 1 fi -if [ -z "$1" ]; then +if [ -z "$1" ] || [ "$1" == "test" ]; then WORKERS="" - SKIP_BUILD=0 + BUILD=1 +elif [ "$1" == "coverage" ]; then + WORKERS="-t 1" + BUILD=0 else - if [ "$1" == "coverage" ]; then - WORKERS="-t 1" - SKIP_BUILD=1 - else - usage - fi + usage fi cfg=./scripts/config/ci_linux.json dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat -if [ $SKIP_BUILD -eq 0 ];then +if [ $BUILD -eq 1 ];then make clean make all -j 8 fi -- GitLab From b9e62687ab9d0ae5f2ab50e5440f45f7c3924098 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 21 Dec 2022 13:31:39 +0100 Subject: [PATCH 500/620] clang format --- lib_debug/wmc_auto.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_debug/wmc_auto.c b/lib_debug/wmc_auto.c index bca49726ce..6c71a6d37d 100644 --- a/lib_debug/wmc_auto.c +++ b/lib_debug/wmc_auto.c @@ -771,7 +771,7 @@ int push_stack( const char *filename, const char *fctname ) /* Check, if This is the New Worst-Case RAM (stack + heap) */ current_stack_size = (int32_t) ( ( ( ptr_base_stack - ptr_current_stack ) * sizeof( int16_t ) ) ); - if (current_stack_size < 0 ) + if ( current_stack_size < 0 ) { /* prevent negative stack size */ current_stack_size = 0; -- GitLab From 3fa316424365a11b706041aeb42779f15242cbd6 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 14:11:13 +0100 Subject: [PATCH 501/620] Revert "remove delay for testing" This reverts commit 84e5151b31db5cab3deb755fbc08eb463f212781. --- .gitlab-ci.yml | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a0db0c7f76..7ba0eecec4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1017,9 +1017,8 @@ complexity-ism-in-binaural-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - # TODO: activate delay again after testing - #when: delayed - #start_in: 1 hour + when: delayed + start_in: 1 hour script: - *print-common-info - *update-ltv-repo @@ -1034,9 +1033,8 @@ complexity-sba-hoa3-in-hoa3-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - # TODO: activate delay again after testing - #when: delayed - #start_in: 2 hours 30 minutes + when: delayed + start_in: 2 hours 30 minutes script: - *print-common-info - *update-ltv-repo @@ -1051,9 +1049,8 @@ complexity-mc-in-7_1_4-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - # TODO: activate delay again after testing - #when: delayed - #start_in: 4 hours + when: delayed + start_in: 4 hours script: - *print-common-info - *update-ltv-repo @@ -1068,9 +1065,8 @@ complexity-masa-in-7_1_4-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - # TODO: activate delay again after testing - #when: delayed - #start_in: 7 hours 30 minutes + when: delayed + start_in: 7 hours 30 minutes script: - *print-common-info - *update-ltv-repo @@ -1085,9 +1081,8 @@ complexity-StereoDmxEVS-stereo-in-mono-out: - .complexity-template rules: - if: $MEASURE_COMPLEXITY_LINUX - # TODO: activate delay again after testing - #when: delayed - #start_in: 8 hours 30 minutes + when: delayed + start_in: 8 hours 30 minutes script: - *print-common-info - *update-ltv-repo -- GitLab From 2dc1a18b09a362c85992a2d57e623ff9abc4e1e6 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 21 Dec 2022 14:11:48 +0100 Subject: [PATCH 502/620] Revert "limit duration of comp measurement for testing" This reverts commit 9f56389ceae6bd9521ce8417b7dea4e974588491. --- ci/complexity_measurements/getWmops.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ci/complexity_measurements/getWmops.sh b/ci/complexity_measurements/getWmops.sh index d3115dc747..77a01e0d3a 100755 --- a/ci/complexity_measurements/getWmops.sh +++ b/ci/complexity_measurements/getWmops.sh @@ -54,8 +54,7 @@ wmopsFilenameFlcLast=wmops_newsletter_stereo__${commit_sha}_${date} wmopsFilenameFlc=${destDir}/wmops/logs/${wmopsFilenameFlcLast} # instrument and build -# TODO: remove duration limitation -./scripts/IvasBuildAndRunChecks.py -U 2 -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format +./scripts/IvasBuildAndRunChecks.py -p $config_file --checks COMPLEXITY --create_complexity_tables ${wmopsFilenameFlc} -C $ivas_format -f ${ep} --oc $output_format # get the info on worst-case operating point: WMOPS number, enc-operating mode, dec-operating mode ### WMOPS -- GitLab From 053e51b2dfa16e821f12fa27bdb6d86f3699818c Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 21 Dec 2022 15:57:33 +0100 Subject: [PATCH 503/620] call JbmTraceFileWriter_writeFrame() from application again --- apps/decoder.c | 4 +--- lib_dec/lib_dec.c | 11 +++-------- lib_dec/lib_dec.h | 7 +------ 3 files changed, 5 insertions(+), 17 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 11d70adf28..16545f308e 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2042,7 +2042,7 @@ static ivas_error decodeVoIP( if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms #ifdef SUPPORT_JBM_TRACEFILE , - jbmTraceWriter + jbmTraceWriter != NULL #endif ) ) != IVAS_ERR_OK ) #else @@ -2054,7 +2054,6 @@ static ivas_error decodeVoIP( goto cleanup; } -#ifndef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* write JBM trace file entry - only done for EVS testing */ if ( jbmTraceWriter != NULL ) @@ -2073,7 +2072,6 @@ static ivas_error decodeVoIP( goto cleanup; } } -#endif #endif /* write JBM Offset file entry */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index b42abb75ac..c24acb0b6e 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1391,7 +1391,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , - JbmTraceFileWriter *jbmTraceFileWriter + const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ #endif #endif ) @@ -1613,15 +1613,10 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ - if ( jbmTraceFileWriter != NULL ) + if ( jbmWriter_flag ) { - /* write JBM trace data entry */ + /*store JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); - if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError writing JBM Trace data to file\n" ); - return IVAS_ERR_UNKNOWN; - } } #endif #else diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index a594076925..c47d125179 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,11 +35,6 @@ #include "common_api_types.h" #include "ivas_error.h" -#ifdef MC_JBM -#ifdef SUPPORT_JBM_TRACEFILE -#include "jbm_file_writer.h" -#endif -#endif #include <stdbool.h> #include <stdint.h> @@ -209,7 +204,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - , JbmTraceFileWriter *jbmWriter + , const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ #endif #endif ); -- GitLab From e44ad7d3e919a5ec1b0ef26b506d3006499fb1ca Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 22 Dec 2022 10:49:56 +0100 Subject: [PATCH 504/620] Revert "call JbmTraceFileWriter_writeFrame() from application again" This reverts commit 053e51b2dfa16e821f12fa27bdb6d86f3699818c. --- apps/decoder.c | 4 +++- lib_dec/lib_dec.c | 11 ++++++++--- lib_dec/lib_dec.h | 7 ++++++- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 16545f308e..11d70adf28 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -2042,7 +2042,7 @@ static ivas_error decodeVoIP( if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms #ifdef SUPPORT_JBM_TRACEFILE , - jbmTraceWriter != NULL + jbmTraceWriter #endif ) ) != IVAS_ERR_OK ) #else @@ -2054,6 +2054,7 @@ static ivas_error decodeVoIP( goto cleanup; } +#ifndef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* write JBM trace file entry - only done for EVS testing */ if ( jbmTraceWriter != NULL ) @@ -2072,6 +2073,7 @@ static ivas_error decodeVoIP( goto cleanup; } } +#endif #endif /* write JBM Offset file entry */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index c24acb0b6e..b42abb75ac 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1391,7 +1391,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , - const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ + JbmTraceFileWriter *jbmTraceFileWriter #endif #endif ) @@ -1613,10 +1613,15 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ - if ( jbmWriter_flag ) + if ( jbmTraceFileWriter != NULL ) { - /*store JBM trace data entry */ + /* write JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); + if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "\nError writing JBM Trace data to file\n" ); + return IVAS_ERR_UNKNOWN; + } } #endif #else diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index c47d125179..a594076925 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,6 +35,11 @@ #include "common_api_types.h" #include "ivas_error.h" +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +#include "jbm_file_writer.h" +#endif +#endif #include <stdbool.h> #include <stdint.h> @@ -204,7 +209,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - , const int16_t jbmWriter_flag /* i : JBM tracefile write on/off flag */ + , JbmTraceFileWriter *jbmWriter #endif #endif ); -- GitLab From 586edbbbdde6d2eae459ebe5c243ca44a79e386a Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 13 Dec 2022 11:29:17 +0100 Subject: [PATCH 505/620] Remove dependency on lib_util from lib_dec --- apps/decoder.c | 10 ++++++++++ lib_dec/lib_dec.c | 9 +++++---- lib_dec/lib_dec.h | 15 +++++++++------ 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 11d70adf28..b846e30829 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -1794,6 +1794,15 @@ cleanup: #endif #endif +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +static ivas_error writeJbmTraceFileFrameWrapper( const void *data, void *writer ) +{ + return JbmTraceFileWriter_writeFrame( data, writer ); +} +#endif +#endif + /*---------------------------------------------------------------------* * decodeVoIP() @@ -2042,6 +2051,7 @@ static ivas_error decodeVoIP( if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, nOutSamples, pcmBuf, systemTime_ms #ifdef SUPPORT_JBM_TRACEFILE , + writeJbmTraceFileFrameWrapper, jbmTraceWriter #endif ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index b42abb75ac..ea9baaab57 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1391,7 +1391,8 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , - JbmTraceFileWriter *jbmTraceFileWriter + JbmTraceFileWriterFn jbmWriterFn, + void* jbmWriter #endif #endif ) @@ -1612,12 +1613,12 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - /* jbmTraceFileWriter may be NULL if tracefile writing was not requested on CLI */ - if ( jbmTraceFileWriter != NULL ) + /* jbmWriterFn and jbmWriter may be NULL if tracefile writing was not requested on CLI */ + if ( jbmWriterFn != NULL && jbmWriter != NULL ) { /* write JBM trace data entry */ store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); - if ( ( JbmTraceFileWriter_writeFrame( &hVoIP->JbmTraceData, jbmTraceFileWriter ) ) != IVAS_ERR_OK ) + if ( ( jbmWriterFn( &hVoIP->JbmTraceData, jbmWriter ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError writing JBM Trace data to file\n" ); return IVAS_ERR_UNKNOWN; diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index a594076925..ee8a312bc8 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -35,11 +35,6 @@ #include "common_api_types.h" #include "ivas_error.h" -#ifdef MC_JBM -#ifdef SUPPORT_JBM_TRACEFILE -#include "jbm_file_writer.h" -#endif -#endif #include <stdbool.h> #include <stdint.h> @@ -108,6 +103,13 @@ typedef enum _IVAS_DEC_BS_FORMAT typedef struct IVAS_DEC *IVAS_DEC_HANDLE; +#ifdef MC_JBM +#ifdef SUPPORT_JBM_TRACEFILE +/* Callback function for JBM tracefile writing */ +typedef ivas_error (*JbmTraceFileWriterFn)(const void* data, void* writer); +#endif +#endif + /* clang-format off */ /*---------------------------------------------------------------------* @@ -209,7 +211,8 @@ ivas_error IVAS_DEC_VoIP_GetSamples( const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE - , JbmTraceFileWriter *jbmWriter + , JbmTraceFileWriterFn jbmWriterFn, + void* jbmWriter #endif #endif ); -- GitLab From 079b609cb34757b87d26abaf3f185ba1031b5517 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 22 Dec 2022 11:21:34 +0100 Subject: [PATCH 506/620] Fix formatting --- lib_dec/lib_dec.c | 2 +- lib_dec/lib_dec.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index ea9baaab57..1a346ab8b5 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1392,7 +1392,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( #ifdef SUPPORT_JBM_TRACEFILE , JbmTraceFileWriterFn jbmWriterFn, - void* jbmWriter + void *jbmWriter #endif #endif ) diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index ee8a312bc8..5d57d330a9 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -106,7 +106,7 @@ typedef struct IVAS_DEC *IVAS_DEC_HANDLE; #ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* Callback function for JBM tracefile writing */ -typedef ivas_error (*JbmTraceFileWriterFn)(const void* data, void* writer); +typedef ivas_error ( *JbmTraceFileWriterFn )( const void *data, void *writer ); #endif #endif -- GitLab From 82cf570dff491b76412406056662c63c33d47dbb Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Thu, 22 Dec 2022 11:56:48 +0100 Subject: [PATCH 507/620] Revert "fix release build on windows" This reverts commit 27f472491ab24bbdec830bbeaa397c697d368ef7. --- Workspace_msvc/lib_rend.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Workspace_msvc/lib_rend.vcxproj b/Workspace_msvc/lib_rend.vcxproj index 13dc5e83c3..e0660f54cb 100644 --- a/Workspace_msvc/lib_rend.vcxproj +++ b/Workspace_msvc/lib_rend.vcxproj @@ -169,7 +169,7 @@ <FavorSizeOrSpeed>Neither</FavorSizeOrSpeed> <OmitFramePointers>false</OmitFramePointers> <EnableFiberSafeOptimizations>false</EnableFiberSafeOptimizations> - <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;..\lib_util;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> + <AdditionalIncludeDirectories>..\lib_com;..\lib_debug;..\lib_dec;..\lib_enc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> <PreprocessorDefinitions>_CRT_SECURE_NO_WARNINGS;$(Macros);WIN32;%(PreprocessorDefinitions)</PreprocessorDefinitions> <StringPooling>true</StringPooling> <ExceptionHandling /> -- GitLab From 7dac19842422c991f8278d0b698db892cbd9dc0a Mon Sep 17 00:00:00 2001 From: malenov <vladimir.malenovsky@usherbrooke.ca> Date: Thu, 22 Dec 2022 12:47:06 +0100 Subject: [PATCH 508/620] add WMC_TOOL_SKIP to not instrument malloc/free in BSpline model perameters --- lib_rend/ivas_hrtf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c index 347a060e98..4cc9867a94 100644 --- a/lib_rend/ivas_hrtf.c +++ b/lib_rend/ivas_hrtf.c @@ -61,8 +61,10 @@ void BSplineModelEvalAlloc( ModelEval_t *modelEval /* i/o: Model evaluation structure */ ) { +#define WMC_TOOL_SKIP modelEval->hrfModL = (float *) malloc( model->K * sizeof( float ) ); modelEval->hrfModR = (float *) malloc( model->K * sizeof( float ) ); +#undef WMC_TOOL_SKIP return; } @@ -118,11 +120,13 @@ void DefaultBSplineModel( model->elevKSeq = (const float *) orange53_rom_elevKSeq; model->elevBsShape = (const float *) orange53_rom_elevBsShape; +#define WMC_TOOL_SKIP model->azimBsShape = (const float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); model->azimBsShape[0] = (const float *) orange53_rom_azimBsShape; model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ); model->azimKSeq[0] = (float *) malloc( 2 * sizeof( float * ) ); model->azimKSeq[17] = (float *) malloc( 2 * sizeof( float * ) ); +#undef WMC_TOOL_SKIP model->azimKSeq[0][0] = 0.0f; model->azimKSeq[17][0] = 0.0f; model->azimKSeq[0][1] = 360.0f; @@ -130,7 +134,9 @@ void DefaultBSplineModel( for ( i = 1; i < 17; i++ ) { +#define WMC_TOOL_SKIP model->azimKSeq[i] = (float *) malloc( model->azimDim2[i] * sizeof( float * ) ); /* azimDim2[i] = 91, i=2..15 */ +#undef WMC_TOOL_SKIP for ( j = 0; j < model->azimDim2[i]; j++ ) { model->azimKSeq[i][j] = (float) orange53_rom_azimSegSamples[0] * j; -- GitLab From 2b749287c2f8e35e7bfba75c1e9db95ae77df1eb Mon Sep 17 00:00:00 2001 From: Treffehn <anika.treffehn@iis.fraunhofer.de> Date: Fri, 23 Dec 2022 12:39:14 +0100 Subject: [PATCH 509/620] added return --- lib_com/ivas_tools.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index 6af6dc9bb8..50ccc9ad35 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1052,6 +1052,7 @@ void panning_wrap_angles( { *ele_wrapped = ele; *azi_wrapped = wrap_azi( azi ); + return; } else { -- GitLab From cf6ff5d5ce1bce3f00394f56e6ecccae933d8955 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:28:51 +0100 Subject: [PATCH 510/620] accept FIX_150 --- lib_com/hq2_bit_alloc.c | 6 ------ lib_com/options.h | 1 - lib_enc/swb_bwe_enc.c | 6 ------ 3 files changed, 13 deletions(-) diff --git a/lib_com/hq2_bit_alloc.c b/lib_com/hq2_bit_alloc.c index 45bad10eb0..ed3a54a199 100644 --- a/lib_com/hq2_bit_alloc.c +++ b/lib_com/hq2_bit_alloc.c @@ -375,11 +375,9 @@ void hq2_bit_alloc_har( Word32 L_y[BANDS_MAX]; -#ifdef FIX_150 #ifdef BASOP_NOGLOB Flag Overflow; Overflow = 0; -#endif #endif grp_rngmax_fx[0] = 0; @@ -646,13 +644,9 @@ void hq2_bit_alloc_har( L_temp = Mpy_32_16( L_Ravg_sub[GRP_SB - 1], sub( GRP_SB, 1 ) ); /* Qbe+0+1 */ L_temp = Mpy_32_16( L_temp, Inv_norm_sum_fx ); /* Qbe+1+QIpb+1 */ -#ifdef FIX_150 #ifdef BASOP_NOGLOB lf_hf_ge_r_fx = round_fx_o( L_shl_o( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ), &Overflow ), &Overflow ); Overflow = 0; /* reset BASOP Overflow */ -#else - lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); -#endif #else lf_hf_ge_r_fx = round_fx( L_shl( L_temp, sub( 15 + 16, sub( add( SWB_BWE_LR_Qbe, QIns ), 30 ) ) ) ); #endif diff --git a/lib_com/options.h b/lib_com/options.h index 5bf0435c0c..b3f4a3198d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,7 +144,6 @@ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_150 /* Issue 150: Crash in EVS mono, HQ_HARMONIC mode, related to BASOP_NOGLOB */ #define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define SBA_DIRAC_RENDERER_TYPE_CLEANUP /* Remove leftovers in renderer_type logic in SBA DirAC decoder */ #define FIX_I59_LFE_TD_DELAY /* Issue 59: correcting delay of LFE for TD renderer */ diff --git a/lib_enc/swb_bwe_enc.c b/lib_enc/swb_bwe_enc.c index 7aded2bc57..a7111c696d 100644 --- a/lib_enc/swb_bwe_enc.c +++ b/lib_enc/swb_bwe_enc.c @@ -1795,12 +1795,10 @@ void hq_generic_hf_encoding( { Word16 tmp, frac, exp; Word32 L_tmp; -#ifdef FIX_150 #ifdef BASOP_NOGLOB Flag Overflow; Overflow = 0; -#endif #endif tmp = add( (int16_t) ( hq_generic_fenv[n_band] * 256 ), (int16_t) ( Mean_env[n_band] * 256 ) ); /*Q8 */ @@ -1812,12 +1810,8 @@ void hq_generic_hf_encoding( /* output of Pow2() will be: */ /* 16384 < Pow2() <= 32767 */ exp = sub( exp, 13 ); -#ifdef FIX_150 #ifdef BASOP_NOGLOB tmp = shl_o( tmp, add( exp, 1 ), &Overflow ); /*Q1 */ -#else - tmp = shl( tmp, add( exp, 1 ) ); /*Q1 */ -#endif #else tmp = shl( tmp, add( exp, 1 ) ); /*Q1 */ #endif -- GitLab From 8d49b4f5db8f1d8ebaafd74ae43b76a7260a46b5 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:33:21 +0100 Subject: [PATCH 511/620] accept FIX_VBR_COMPLEXITY --- lib_com/options.h | 1 - lib_com/wi.c | 1020 +-------------------------------------------- 2 files changed, 3 insertions(+), 1018 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index b3f4a3198d..bbb3930d91 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,7 +144,6 @@ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_VBR_COMPLEXITY /* Issue 234: fix extremely high complexity numbers for IVAS EVS mode */ #define SBA_DIRAC_RENDERER_TYPE_CLEANUP /* Remove leftovers in renderer_type logic in SBA DirAC decoder */ #define FIX_I59_LFE_TD_DELAY /* Issue 59: correcting delay of LFE for TD renderer */ #define FIX_I59_LFE_CLDFB /* Issue 59: correcting LFE handling for fastconv binaural rendering */ diff --git a/lib_com/wi.c b/lib_com/wi.c index 6cfc018aad..2f23024b3a 100644 --- a/lib_com/wi.c +++ b/lib_com/wi.c @@ -80,7 +80,6 @@ ivas_error DTFS_new( return ( IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DTFS (SC-VBR) structure\n" ) ); } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP MOVE( 2 ); LOOP( 1 ); @@ -100,22 +99,6 @@ ivas_error DTFS_new( *dtfs_out = dtfs; #undef WMC_TOOL_SKIP -#else - dtfs->lag = 0; - dtfs->nH = 0; - dtfs->nH_4kHz = 0; - dtfs->upper_cut_off_freq_of_interest = 3300.0; - dtfs->upper_cut_off_freq = 4000.0; - - for ( i = 0; i < MAXLAG_WI; i++ ) - { - dtfs->a[i] = dtfs->b[i] = 0.0; - } - - dtfs->sampling_rate = -1; - - *dtfs_out = dtfs; -#endif return IVAS_ERR_OK; } @@ -133,7 +116,7 @@ void DTFS_copy( ) { int16_t k; -#ifdef FIX_VBR_COMPLEXITY + #define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 0; k < MAXLAG_WI; k++ ) @@ -154,21 +137,6 @@ void DTFS_copy( Xout->upper_cut_off_freq_of_interest = Xinp.upper_cut_off_freq_of_interest; Xout->upper_cut_off_freq = Xinp.upper_cut_off_freq; #undef WMC_TOOL_SKIP -#else - for ( k = 0; k < MAXLAG_WI; k++ ) - { - Xout->a[k] = Xinp.a[k]; - } - for ( k = 0; k < MAXLAG_WI; k++ ) - { - Xout->b[k] = Xinp.b[k]; - } - Xout->lag = Xinp.lag; - Xout->nH = Xinp.nH; - Xout->nH_4kHz = Xinp.nH_4kHz; - Xout->upper_cut_off_freq_of_interest = Xinp.upper_cut_off_freq_of_interest; - Xout->upper_cut_off_freq = Xinp.upper_cut_off_freq; -#endif return; } @@ -189,7 +157,6 @@ void DTFS_sub( { int16_t i; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP MULT( 1 ); LOOP( 1 ); @@ -217,23 +184,6 @@ void DTFS_sub( tmp->upper_cut_off_freq_of_interest = X1.upper_cut_off_freq_of_interest; tmp->upper_cut_off_freq = X1.upper_cut_off_freq; #undef WMC_TOOL_SKIP -#else - for ( i = 0; i <= X1.lag / 2; i++ ) - { - tmp->a[i] = X1.a[i]; - tmp->b[i] = X1.b[i]; - } - for ( i = 0; i <= X2.lag / 2; i++ ) - { - tmp->a[i] -= X2.a[i]; - tmp->b[i] -= X2.b[i]; - } - tmp->lag = max( X1.lag, X2.lag ); - tmp->nH = max( X1.nH, X2.nH ); - tmp->nH_4kHz = max( X1.nH_4kHz, X2.nH_4kHz ); - tmp->upper_cut_off_freq_of_interest = X1.upper_cut_off_freq_of_interest; - tmp->upper_cut_off_freq = X1.upper_cut_off_freq; -#endif return; } @@ -258,7 +208,6 @@ static void DTFS_fast_fs_inv( N = X1_DTFS->lag; } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP /* Populate the dbuf array */ dbuf[1] = X1_DTFS->a[0]; @@ -296,36 +245,6 @@ static void DTFS_fast_fs_inv( out[i - 1] = dbuf[i] / N_2; } #undef WMC_TOOL_SKIP -#else - /* Populate the dbuf array */ - dbuf[1] = X1_DTFS->a[0]; - dbuf[2] = 0.0; - for ( i = 1; i < M_2; i++ ) - { - dbuf[2 * i + 1] = X1_DTFS->a[i] * N_2; - dbuf[2 * i + 2] = X1_DTFS->b[i] * N_2; - } - - if ( N_2 != M_2 ) - { - dbuf[2 * i + 1] = X1_DTFS->a[i] * N_2; - dbuf[2 * i + 2] = X1_DTFS->b[i] * N_2; - i++; - } - - /* Zero-padding in the frequency domain */ - for ( ; i < N_2; i++ ) - { - dbuf[2 * i + 1] = dbuf[2 * i + 2] = 0.0; - } - - realft( dbuf, N_2, -1 ); - - for ( i = 1; i <= N; i++ ) - { - out[i - 1] = dbuf[i] / N_2; - } -#endif return; } @@ -353,7 +272,6 @@ static float DTFS_alignment_weight( float pwf = 0.7f, tmplpc[M + 1]; DTFS_STRUCTURE X1_DTFS; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP FUNC( 2 ); DTFS_copy( &X1_DTFS, refX1_DTFS ); @@ -442,55 +360,6 @@ static float DTFS_alignment_weight( } } #undef WMC_TOOL_SKIP -#else - DTFS_copy( &X1_DTFS, refX1_DTFS ); - DTFS_adjustLag( &X1_DTFS, X2_DTFS.lag ); - DTFS_poleFilter( &X1_DTFS, LPC1, M + 1 ); - tmp = 1.0; - for ( k = 0, tmp = 1.0; k < M + 1; k++ ) - { - tmplpc[k] = LPC1[k] * ( tmp *= pwf ); - } - - - DTFS_zeroFilter( &X1_DTFS, tmplpc, M + 1 ); - DTFS_poleFilter( &X2_DTFS, LPC2, M + 1 ); - for ( k = 0, tmp = 1.0; k < M + 1; k++ ) - { - /* can be stored as a table */ - tmplpc[k] = LPC2[k] * ( tmp *= pwf ); - } - DTFS_zeroFilter( &X2_DTFS, tmplpc, M + 1 ); - maxcorr = (float) -HUGE_VAL; - fshift = Eshift; - Adiff = max( 6, 0.15f * X2_DTFS.lag ); - if ( X2_DTFS.lag < 60 ) - { - diff = 0.25; - } - else - { - diff = 0.5; - } - for ( n = Eshift - Adiff; n <= Eshift + Adiff; n += diff ) - { - corr = tmp = 0.0f; - /* bit-exact optimization - PI2/X2_DTFS.lag should be counted as a single divide */ - tmp1 = (float) ( PI2 * n / X2_DTFS.lag ); - for ( k = 0; k <= min( X2_DTFS.lag >> 1, X2_DTFS.nH_4kHz ); k++, tmp += tmp1 ) - { - /* Not counting math function cos and sin since they will be implemented as look-up tables */ - corr += (float) ( ( X1_DTFS.a[k] * X2_DTFS.a[k] + X1_DTFS.b[k] * X2_DTFS.b[k] ) * cos( tmp ) ); - corr += (float) ( ( X1_DTFS.b[k] * X2_DTFS.a[k] - X1_DTFS.a[k] * X2_DTFS.b[k] ) * sin( tmp ) ); - } - wcorr = (float) ( corr * ( 1.0f - 0.01f * fabs( n - Eshift ) ) ); - if ( wcorr > maxcorr ) - { - fshift = n; - maxcorr = wcorr; - } - } -#endif return fshift; } @@ -511,7 +380,6 @@ float DTFS_alignment_full( int16_t k; float maxcorr, corr, tmp, tmp1, fshift, n, diff; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOGIC( 1 ); if ( X1_DTFS.lag < X2_DTFS.lag ) @@ -559,34 +427,6 @@ float DTFS_alignment_full( } } #undef WMC_TOOL_SKIP -#else - if ( X1_DTFS.lag < X2_DTFS.lag ) - { - DTFS_zeroPadd( X2_DTFS.lag, &X1_DTFS ); - } - - maxcorr = (float) -HUGE_VAL; - /* bit-exact optimization - 1/num_steps can be constant => should be counted as a multiply */ - diff = (float) X2_DTFS.lag / num_steps; - - for ( fshift = n = 0.0; n < (float) X2_DTFS.lag; n += diff ) - { - corr = tmp = 0.0f; - tmp1 = (float) ( PI2 * n / X2_DTFS.lag ); - - for ( k = 0; k <= min( X2_DTFS.lag >> 1, X2_DTFS.nH_4kHz ); k++, tmp += tmp1 ) - - { - corr += (float) ( ( X1_DTFS.a[k] * X2_DTFS.a[k] + X1_DTFS.b[k] * X2_DTFS.b[k] ) * cos( tmp ) ); - corr += (float) ( ( X1_DTFS.b[k] * X2_DTFS.a[k] - X1_DTFS.a[k] * X2_DTFS.b[k] ) * sin( tmp ) ); - } - if ( corr > maxcorr ) - { - fshift = n; - maxcorr = corr; - } - } -#endif return fshift; } @@ -609,7 +449,6 @@ void DTFS_phaseShift( int16_t k; float tmp, tmp2 = 0.0f; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP ADD( 1 ); LOOP( 1 ); @@ -626,14 +465,6 @@ void DTFS_phaseShift( X->b[k] = (float) ( tmp * sin( tmp2 ) + X->b[k] * cos( tmp2 ) ); } #undef WMC_TOOL_SKIP -#else - for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++, tmp2 += ph ) - { - tmp = X->a[k]; - X->a[k] = (float) ( tmp * cos( tmp2 ) - X->b[k] * sin( tmp2 ) ); - X->b[k] = (float) ( tmp * sin( tmp2 ) + X->b[k] * cos( tmp2 ) ); - } -#endif return; } @@ -653,7 +484,6 @@ void DTFS_zeroPadd( int16_t i; float diff; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOGIC( 1 ); if ( N == X->lag ) @@ -684,24 +514,6 @@ void DTFS_zeroPadd( X->nH++; } #undef WMC_TOOL_SKIP -#else - if ( N == X->lag ) - { - return; - } - for ( i = ( X->lag >> 1 ) + 1; i <= N >> 1; i++ ) - { - X->a[i] = X->b[i] = 0.0; - } - X->lag = N; - /* recompute nH for new lag */ - X->nH = (int16_t) floor( X->upper_cut_off_freq / ( 12800.0 / X->lag ) ); - diff = 12800.0f / X->lag; - if ( X->upper_cut_off_freq - ( diff * X->nH ) >= diff ) - { - X->nH++; - } -#endif return; } @@ -747,7 +559,6 @@ void DTFS_to_fs( X->sampling_rate = INT_FS_16k; } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP X->lag = N; MOVE( 1 ); @@ -844,69 +655,6 @@ void DTFS_to_fs( X->nH = nH_band; X->nH_4kHz = nH_4kHz; #undef WMC_TOOL_SKIP -#else - X->lag = N; - nH_band = (int16_t) floor( X->upper_cut_off_freq / ( 12800.0 / X->lag ) ); - - nH_4kHz = (int16_t) floor( 4000 / ( 12800.0 / X->lag ) ); - diff = 12800.0f / X->lag; - if ( X->upper_cut_off_freq - ( diff * nH_band ) >= diff ) - { - nH_band++; - } - if ( 4000 - ( diff * nH_4kHz ) >= diff ) - { - nH_4kHz++; - } - /* Number of harmonics excluding the ones at 0 and at pi */ - nH = ( N - 1 ) >> 1; - /* The DC component */ - X->a[0] = 0.0; - X->b[0] = 0.0; - for ( n = 0; n < N; n++ ) - { - X->a[0] += x[n]; - } - X->a[0] /= N; - - /* Strictly set the DC componet to zero */ - X->a[0] = 0.0; - - /* The harmonics excluding the one at pi */ - for ( k = 1; k <= nH; k++ ) - { - X->a[k] = x[0]; - X->b[k] = 0.0; - sum = tmp = (float) ( PI2 * k / N ); - for ( n = 1; n < N; n++, sum += tmp ) - { - X->a[k] += (float) ( x[n] * cos( sum ) ); - X->b[k] += (float) ( x[n] * sin( sum ) ); - } - X->a[k] *= ( 2.0f / N ); - X->b[k] *= ( 2.0f / N ); - } - - /* The harmonic at 'pi' */ - if ( N % 2 == 0 ) - { - X->a[k] = 0.0; - tmp = 1.0; - for ( n = 0; n < N; n++, tmp *= -1.0 ) - { - X->a[k] += x[n] * tmp; - } - X->a[k] /= N; - X->b[k] = 0.0; - } - for ( k = nH_band + 1; k <= min( ( X->lag >> 1 ), ( MAXLAG_WI - 1 ) ); k++ ) - { - X->a[k] = 0.0; - X->b[k] = 0.0; - } - X->nH = nH_band; - X->nH_4kHz = nH_4kHz; -#endif return; } @@ -928,7 +676,6 @@ void DTFS_fs_inv( float phase, tmp; int16_t k, n; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOOP( 1 ); for ( n = 0; n < N; n++ ) @@ -948,17 +695,6 @@ void DTFS_fs_inv( } } #undef WMC_TOOL_SKIP -#else - for ( n = 0; n < N; n++ ) - { - x[n] = X->a[0]; - tmp = phase = (float) ( PI2 * n / X->lag + ph0 ); - for ( k = 1; k <= min( X->lag >> 1, X->nH ); k++, tmp += phase ) - { - x[n] += (float) ( X->a[k] * cos( tmp ) + X->b[k] * sin( tmp ) ); - } - } -#endif return; } @@ -1009,7 +745,6 @@ static void DTFS_transform( IVAS_ERROR( error, "Error creating DTFS structure 3" ); } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP FUNC( 2 ); DTFS_copy( tmp1_dtfs, X ); @@ -1122,98 +857,6 @@ static void DTFS_transform( out[i] = sum1; } #undef WMC_TOOL_SKIP -#else - DTFS_copy( tmp1_dtfs, X ); - DTFS_copy( tmp2_dtfs, X2 ); - DTFS_fast_fs_inv( tmp1_dtfs, x1_256, 256 ); - DTFS_fast_fs_inv( tmp2_dtfs, x2_256, 256 ); - - tmp = (float) ( log( 1.0 - WI_THRESHLD ) / ( X.lag - N ) ); - for ( i = 0; i < N; i++ ) - { - if ( FR_flag == 0 ) - { - /* should not be counted inside the loop */ - if ( N - WI_SAMPLE_THLD > X.lag ) - { - /* pre-computed and stored in a table */ - w = (float) ( 1.0 - exp( -( i + 1 ) * tmp ) ); - } - else - { - /* can be a look-up table */ - w = (float) ( i + 1 ) / N; - } - } - else - { - if ( nrg_flag ) - { - w = (float) ( i + 1 ) / N; - } - else - { - if ( N <= tmp2_dtfs->lag ) - { - N = tmp2_dtfs->lag + 1; - } - - N1 = N - tmp2_dtfs->lag; - if ( i < N1 ) - { - w = (float) ( i + 1 ) / N1; - } - else - { - w = 1.0; - } - } - } - - /* add sinc interpolation of two time domain waveforms at - appropriate phase position */ - j = ( LL_OS * 10 + (int16_t) rint_new( phase[i] * LL_OS / PI2 ) ) % LL_OS; - - if ( j < 0 ) - { - j = 0; - } - - k = j % WARP_OS_RATE; - l1 = j / WARP_OS_RATE; - - set_f( x_r_fx, 0.0f, L_FRAME ); - - temp_w = ( 1 - w ); - - for ( j1 = 0; j1 < 12; j1++ ) - { - m = ( 1000 * LL + l1 - OSLENGTH / 2 + j1 ) % LL; - - if ( m < 0 ) - { - m = 0; - } - - x_r_fx[m] = x1_256[m] * temp_w + x2_256[m] * w; - } - - for ( j1 = 0, sum1 = sum2 = 0.0; j1 < OSLENGTH; j1++ ) - { - /* mult or div by constants should be done once outside the loop */ - m = ( 1000 * LL + l1 - OSLENGTH / 2 + j1 ) % LL; - - if ( m < 0 ) - { - m = 0; - } - - sum1 += x_r_fx[m] * sinc[k][j1]; - } - - out[i] = sum1; - } -#endif free( tmp1_dtfs ); free( tmp2_dtfs ); @@ -1238,7 +881,6 @@ void DTFS_zeroFilter( float tmp, tmp1, tmp2, sum1, sum2; int16_t k, n; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP MOVE( 1 ); MULT( 1 ); @@ -1276,25 +918,6 @@ void DTFS_zeroFilter( X->b[k] = X->b[k] * sum1 + tmp * sum2; } #undef WMC_TOOL_SKIP -#else - tmp1 = (float) ( PI2 / X->lag ); - for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) - { - tmp = tmp2 = k * tmp1; - /* Calculate sum1 and sum2 */ - sum1 = 1.0; - sum2 = 0.0; - for ( n = 0; n < N; n++, tmp2 += tmp ) - { - sum1 += (float) ( LPC[n] * cos( tmp2 ) ); - sum2 += (float) ( LPC[n] * sin( tmp2 ) ); - } - /* Calculate the circular convolution */ - tmp = X->a[k]; - X->a[k] = tmp * sum1 - X->b[k] * sum2; - X->b[k] = X->b[k] * sum1 + tmp * sum2; - } -#endif return; } @@ -1315,7 +938,6 @@ void DTFS_poleFilter( float tmp, tmp1, tmp2, sum1, sum2; int16_t k, n; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP MOVE( 1 ); MULT( 1 ); @@ -1355,26 +977,6 @@ void DTFS_poleFilter( X->b[k] = ( -tmp * sum2 + X->b[k] * sum1 ) / tmp2; } #undef WMC_TOOL_SKIP -#else - tmp1 = (float) ( PI2 / X->lag ); - for ( k = 0; k <= min( X->lag >> 1, X->nH ); k++ ) - { - tmp = tmp2 = k * tmp1; - /* Calculate sum1 and sum2 */ - sum1 = 1.0; - sum2 = 0.0; - for ( n = 0; n < N; n++, tmp2 += tmp ) - { - sum1 += (float) ( LPC[n] * cos( tmp2 ) ); - sum2 += (float) ( LPC[n] * sin( tmp2 ) ); - } - /* Calculate the circular convolution */ - tmp = X->a[k]; - tmp2 = sum1 * sum1 + sum2 * sum2; - X->a[k] = ( tmp * sum1 + X->b[k] * sum2 ) / tmp2; - X->b[k] = ( -tmp * sum2 + X->b[k] * sum1 ) / tmp2; - } -#endif return; } @@ -1394,7 +996,6 @@ static float DTFS_setEngy( int16_t k; float en1, tmp; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP FUNC( 1 ); MOVE( 1 ); @@ -1419,19 +1020,6 @@ static float DTFS_setEngy( X_DTFS->b[k] *= tmp; } #undef WMC_TOOL_SKIP -#else - en1 = DTFS_getEngy( *X_DTFS ); - if ( en1 == 0.0 ) - { - return 0.0; - } - tmp = (float) sqrt( en2 / en1 ); - for ( k = 0; k <= min( X_DTFS->lag >> 1, X_DTFS->nH ); k++ ) - { - X_DTFS->a[k] *= tmp; - X_DTFS->b[k] *= tmp; - } -#endif return en1; } @@ -1451,7 +1039,6 @@ void DTFS_adjustLag( int16_t k; float en, diff; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOGIC( 1 ); if ( N == X_DTFS->lag ) @@ -1506,41 +1093,6 @@ void DTFS_adjustLag( } } #undef WMC_TOOL_SKIP -#else - if ( N == X_DTFS->lag ) - { - return; - } - - if ( N > X_DTFS->lag ) - { - DTFS_zeroPadd( N, X_DTFS ); - } - else - { - en = DTFS_getEngy( *X_DTFS ); - for ( k = ( N >> 1 ) + 1; k <= min( X_DTFS->lag >> 1, X_DTFS->nH ); k++ ) - { - X_DTFS->a[k] = 0.0; - X_DTFS->b[k] = 0.0; - } - DTFS_setEngy( X_DTFS, en ); - X_DTFS->lag = N; - /* recompute nH for new lag */ - X_DTFS->nH = (int16_t) floor( X_DTFS->upper_cut_off_freq / ( 12800.0 / X_DTFS->lag ) ); - - X_DTFS->nH_4kHz = (int16_t) floor( 4000.0 / ( 12800.0 / X_DTFS->lag ) ); - diff = 12800.0f / X_DTFS->lag; - if ( X_DTFS->upper_cut_off_freq - ( diff * X_DTFS->nH ) >= diff ) - { - X_DTFS->nH++; - } - if ( 4000.0 - ( diff * X_DTFS->nH_4kHz ) >= diff ) - { - X_DTFS->nH_4kHz++; - } - } -#endif return; } @@ -1560,7 +1112,6 @@ float DTFS_getEngy( float en; en = 0.0f; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 1; k <= min( ( X.lag - 1 ) >> 1, X.nH ); k++ ) @@ -1582,18 +1133,6 @@ float DTFS_getEngy( en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; } #undef WMC_TOOL_SKIP -#else - for ( k = 1; k <= min( ( X.lag - 1 ) >> 1, X.nH ); k++ ) - { - en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; - } - en /= 2.0; - en += X.a[0] * X.a[0]; - if ( X.lag % 2 == 0 ) - { - en += X.a[k] * X.a[k] + X.b[k] * X.b[k]; - } -#endif return en; } @@ -1612,7 +1151,6 @@ void DTFS_car2pol( int16_t k; float tmp; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) @@ -1638,21 +1176,6 @@ void DTFS_car2pol( X->b[k] = (float) atan2( X->b[k], tmp ); } #undef WMC_TOOL_SKIP -#else - for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) - { - tmp = X->a[k]; - X->a[k] = (float) ( 0.5f * sqrt( tmp * tmp + X->b[k] * X->b[k] ) ); - X->b[k] = (float) atan2( X->b[k], tmp ); - } - - if ( X->lag % 2 == 0 ) - { - tmp = X->a[k]; - X->a[k] = (float) sqrt( tmp * tmp + X->b[k] * X->b[k] ); - X->b[k] = (float) atan2( X->b[k], tmp ); - } -#endif return; } @@ -1671,7 +1194,6 @@ void DTFS_pol2car( int16_t k; float tmp; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) @@ -1698,21 +1220,6 @@ void DTFS_pol2car( X->a[k] = (float) ( X->a[k] * cos( tmp ) ); } #undef WMC_TOOL_SKIP -#else - for ( k = 1; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++ ) - { - tmp = X->b[k]; - X->b[k] = (float) ( 2.0f * X->a[k] * sin( tmp ) ); - X->a[k] = (float) ( 2.0f * X->a[k] * cos( tmp ) ); - } - - if ( X->lag % 2 == 0 ) - { - tmp = X->b[k]; - X->b[k] = (float) ( X->a[k] * sin( tmp ) ); - X->a[k] = (float) ( X->a[k] * cos( tmp ) ); - } -#endif return; } @@ -1742,7 +1249,6 @@ float DTFS_setEngyHarm( en1 = 0.0f; count = 0; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOGIC( 1 ); if ( f1 == 0.0 ) @@ -1822,58 +1328,6 @@ float DTFS_setEngyHarm( } } #undef WMC_TOOL_SKIP -#else - if ( f1 == 0.0 ) - { - en1 += X->a[0] * X->a[0]; - count++; - } - for ( k = 1, tmp = diff; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++, tmp += diff ) - { - if ( X->a[k] < EPSILON ) - { - X->a[k] = 0; - } - - if ( tmp > f1 && tmp <= f2 ) - { - en1 += X->a[k] * X->a[k]; - count++; - } - } - - if ( count <= 0.0 ) - { - count = 1; - } - - en1 /= count; - - if ( en2 < 0.0 ) - { - en2 = 0.0; - } - - if ( en1 > 0.0 ) - { - factor = (float) sqrt( en2 / en1 ); - } - else - { - factor = 0.0f; - } - if ( g1 == 0.0 ) - { - X->a[k] *= factor; - } - for ( k = 1, tmp = diff; k <= min( ( X->lag - 1 ) >> 1, X->nH ); k++, tmp += diff ) - { - if ( tmp > g1 && tmp <= g2 ) - { - X->a[k] *= factor; - } - } -#endif return (float) ( en1 + 1e-20 ); } @@ -1898,7 +1352,6 @@ static void cubicPhase( int16_t n; double diff; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP ADD( 1 ); N -= (int16_t) L2; @@ -1968,42 +1421,9 @@ static void cubicPhase( phOut[n] = (float) ( phOut[n - 1] + diff ); } #undef WMC_TOOL_SKIP -#else - N -= (int16_t) L2; - if ( N <= 0 ) - { - N = 1; - } - - /* Computation of the coefficients of the cubic phase function */ - f1 = (float) ( PI2 / L1 ); - f2 = (float) ( PI2 / L2 ); - ph1 = (float) fmod( (double) ( ph1 ), PI2 ); - ph2 = (float) fmod( (double) ( ph2 ), PI2 ); - coef[3] = ph1; - coef[2] = f1; - factor = (float) ( anint( ( ph1 - ph2 + 0.5 * N * ( f2 + f1 ) ) / PI2 ) ); - c1 = f2 - f1; - c2 = (float) ( ph2 - ph1 - N * f1 + PI2 * factor ); - coef[0] = ( N * c1 - 2 * c2 ) / ( N * N * N ); - coef[1] = ( c1 - 3 * N * N * coef[0] ) / ( 2 * N ); - - /* Computation of the phase value at each sample point */ - phOut[0] = ph1; - for ( n = 1; n < N; n++ ) - { - phOut[n] = _POLY3( n, coef ); - } - diff = (float) ( PI2 / L2 ); - for ( ; n < N + (int16_t) L2; n++ ) - { - phOut[n] = (float) ( phOut[n - 1] + diff ); - } -#endif - - return; -} + return; +} /*-------------------------------------------------------------------* @@ -2034,7 +1454,6 @@ void DTFS_to_erb( erb = &( erb_WB[0] ); } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOOP( 1 ); for ( i = 0; i < num_erb; i++ ) @@ -2086,43 +1505,6 @@ void DTFS_to_erb( } } #undef WMC_TOOL_SKIP -#else - for ( i = 0; i < num_erb; i++ ) - { - count[i] = 0; - out[i] = 0.0; - } - diff = 12800.0f / X.lag; - for ( i = j = 0, freq = 0.0; i <= min( X.lag >> 1, X.nH ); i++, freq += diff ) - { - if ( !( freq <= erb[num_erb] ) ) - { - freq = erb[num_erb]; - } - - for ( ; j < num_erb; j++ ) - { - if ( freq < erb[j + 1] ) - { - if ( X.a[i] < 0.0f ) - { - X.a[i] = 0.0f; - } - - out[j] += X.a[i]; - count[j]++; - break; - } - } - } - for ( i = 0; i < num_erb; i++ ) - { - if ( count[i] > 1 ) - { - out[i] /= count[i]; - } - } -#endif return; } @@ -2159,7 +1541,6 @@ void erb_slot( erb = &( erb_WB[0] ); } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP MOVE( 1 ); MULT( 1 ); @@ -2221,48 +1602,6 @@ void erb_slot( } } #undef WMC_TOOL_SKIP -#else - nH_band = (int16_t) floor( upper_cut_off_freq / ( 12800.0 / lag ) ); - - for ( i = 0; i < num_erb; i++ ) - { - out[i] = 0; - mfreq[i] = 0.0; - } - diff = 12800.0f / lag; - if ( upper_cut_off_freq - ( diff * nH_band ) >= diff ) - { - nH_band++; - } - for ( i = j = 0, freq = 0.0; i <= min( lag >> 1, nH_band ); i++, freq += diff ) - { - - if ( !( freq <= erb[num_erb] ) ) - { - freq = erb[num_erb]; - } - - freq = min( freq, upper_cut_off_freq ); - - for ( ; j < num_erb; j++ ) - { - if ( freq < erb[j + 1] ) - { - mfreq[j] += freq; - out[j]++; - break; - } - } - } - - for ( j = 0; j < num_erb; j++ ) - { - if ( out[j] > 1 ) - { - mfreq[j] /= out[j]; - } - } -#endif return; } @@ -2300,7 +1639,6 @@ void DTFS_erb_inv( erb = &( erb_WB[0] ); } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP MOVE( 1 ); f[m] = 0.0; @@ -2375,57 +1713,6 @@ void DTFS_erb_inv( X->a[0] = 0.0f; } #undef WMC_TOOL_SKIP -#else - f[m] = 0.0; - amp[m] = 0.0; - m++; - for ( i = 0; i < num_erb; i++ ) - { - if ( slot[i] != 0 ) - { - f[m] = mfreq[i]; - amp[m] = in[i]; - m++; - } - } - f[m] = upper_cut_off_freq; - amp[m] = 0.0; - m++; - - diff = 12800.0f / X->lag; - - for ( i = 0, j = 1, freq = 0.0; i <= min( X->lag >> 1, X->nH ); i++, freq += diff ) - { - if ( !( freq <= erb[num_erb] ) ) - { - freq = erb[num_erb]; - } - - if ( !( m <= num_erb + 2 ) ) - { - m = num_erb + 2; - } - - if ( freq > upper_cut_off_freq ) - { - freq = upper_cut_off_freq; - } - for ( ; j < m; j++ ) - { - if ( freq <= f[j] ) - { - X->a[i] = amp[j] * ( freq - f[j - 1] ) + amp[j - 1] * ( f[j] - freq ); - if ( f[j] != f[j - 1] ) - { - X->a[i] /= ( f[j] - f[j - 1] ); - } - break; - } - } - - X->a[0] = 0.0f; - } -#endif return; } @@ -2448,7 +1735,6 @@ static void LPCPowSpect( float w, tmp, Re, Im; int16_t i, k; -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP LOOP( 1 ); for ( k = 0; k < Nf; k++ ) @@ -2479,21 +1765,6 @@ static void LPCPowSpect( out[k] = 1.0f / ( Re * Re + Im * Im ); } #undef WMC_TOOL_SKIP -#else - for ( k = 0; k < Nf; k++ ) - { - Re = 1.0; - Im = 0.0; - /* Note that freq ranges between [0 UPPER_CUT_OFF_FREQ] */ - tmp = (float) ( freq[k] / 12800.0f * PI2 ); - for ( i = 0, w = tmp; i < Np; i++, w += tmp ) - { - Re += (float) ( LPC[i] * cos( w ) ); - Im -= (float) ( LPC[i] * sin( w ) ); - } - out[k] = 1.0f / ( Re * Re + Im * Im ); - } -#endif return; } @@ -2530,7 +1801,6 @@ void erb_diff( AmpCB1 = AmpCB1_WB; } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP FUNC( 3 ); erb_slot( l, cslot, mfreq, num_erb ); @@ -2769,165 +2039,6 @@ void erb_diff( MOVE( 1 ); index[1] = mmseindex; #undef WMC_TOOL_SKIP -#else - erb_slot( l, cslot, mfreq, num_erb ); - erb_slot( pl, pslot, t_prev_erb, num_erb ); - for ( i = 0, tmp = 1.0f; i < M + 1; i++ ) - { - LPC[i] = curr_lsp[i] * ( tmp *= 0.78f ); - } - LPCPowSpect( mfreq, num_erb, LPC, M + 1, PowSpect ); - - for ( i = 0; i < num_erb; i++ ) - { - t_prev_erb[i] = prev_erb[i]; - } - - if ( pl > l ) - { - tmp = t_prev_erb[0]; - for ( i = 0; i < num_erb; i++ ) - { - if ( pslot[i] < 0 ) - { - pslot[i] = 0; - } - - if ( pslot[i] != 0 ) - { - tmp = t_prev_erb[i]; - } - else - { - t_prev_erb[i] = tmp; - } - } - } - else if ( l > pl ) - { - tmp = t_prev_erb[num_erb - 1]; - for ( i = num_erb - 1; i >= 0; i-- ) - { - if ( pslot[i] != 0 ) - { - tmp = t_prev_erb[i]; - } - else - { - t_prev_erb[i] = tmp; - } - } - } - - for ( i = 0; i < num_erb; i++ ) - { - out[i] = curr_erb[i] - t_prev_erb[i]; - } - - /* First Band Amplitude Search */ - mmse = (float) HUGE_VAL; - mmseindex = -1; - for ( j = 0; j < ERB_CBSIZE1; j++ ) - { - tmp = 0.0; - for ( i = 1; i < 11; i++ ) - { - if ( cslot[i] != 0 ) - { - if ( AmpCB1[j][i - 1] < -t_prev_erb[i] ) - { - tmp1 = PowSpect[i] * SQR( curr_erb[i] ); - } - else - { - tmp1 = (float) ( PowSpect[i] * SQR( out[i] - AmpCB1[j][i - 1] ) ); - } - if ( AmpCB1[j][i - 1] < out[i] ) - { - tmp1 *= 0.9f; - } - tmp += tmp1; - } - } - - if ( tmp < mmse ) - { - mmse = tmp; - mmseindex = j; - } - } - - if ( !( mmseindex < ERB_CBSIZE1 && mmseindex >= 0 ) ) - { - mmseindex = 0; - } - - index[0] = mmseindex; - - /* Second Band Amplitude Search */ - mmse = (float) HUGE_VAL; - mmseindex = -1; - for ( j = 0; j < ERB_CBSIZE2; j++ ) - { - tmp = 0.0; - for ( i = 11; i < num_erb; i++ ) - { - if ( num_erb == NUM_ERB_NB ) - { - if ( cslot[i] != 0 ) - { - if ( AmpCB2_NB[j][i - 11] < -t_prev_erb[i] ) - { - tmp1 = PowSpect[i] * SQR( curr_erb[i] ); - } - else - { - tmp1 = (float) ( PowSpect[i] * SQR( out[i] - AmpCB2_NB[j][i - 11] ) ); - } - - if ( AmpCB2_NB[j][i - 11] < out[i] ) - { - tmp1 *= 0.9f; - } - tmp += tmp1; - } - } - else if ( num_erb == NUM_ERB_WB ) - { - if ( cslot[i] != 0 ) - { - if ( AmpCB2_WB[j][i - 11] < -t_prev_erb[i] ) - { - tmp1 = PowSpect[i] * SQR( curr_erb[i] ); - } - else - { - tmp1 = (float) ( PowSpect[i] * SQR( out[i] - AmpCB2_WB[j][i - 11] ) ); - } - - if ( AmpCB2_WB[j][i - 11] < out[i] ) - { - tmp1 *= 0.9f; - } - tmp += tmp1; - } - } - } - - if ( tmp < mmse ) - { - mmse = tmp; - mmseindex = j; - } - } - - if ( !( mmseindex < ERB_CBSIZE2 && mmseindex >= 0 ) ) - { - mmseindex = 0; - } - - index[1] = mmseindex; -#endif return; } @@ -2960,7 +2071,6 @@ void erb_add( AmpCB1 = AmpCB1_WB; } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP FUNC( 3 ); erb_slot( l, cslot, t_prev_erb, num_erb ); @@ -3069,84 +2179,6 @@ void erb_add( } } #undef WMC_TOOL_SKIP -#else - erb_slot( l, cslot, t_prev_erb, num_erb ); - erb_slot( pl, pslot, t_prev_erb, num_erb ); - - for ( i = 0; i < num_erb; i++ ) - { - t_prev_erb[i] = prev_erb[i]; - } - - if ( pl > l ) - { - tmp = t_prev_erb[0]; - for ( i = 0; i < num_erb; i++ ) - { - if ( !( pslot[i] >= 0 ) ) - { - pslot[i] = 0; - } - - if ( pslot[i] != 0 ) - { - tmp = t_prev_erb[i]; - } - else - { - t_prev_erb[i] = tmp; - } - } - } - else if ( l > pl ) - { - tmp = t_prev_erb[num_erb - 1]; - for ( i = num_erb - 1; i >= 0; i-- ) - { - if ( pslot[i] != 0 ) - { - tmp = t_prev_erb[i]; - } - else - { - t_prev_erb[i] = tmp; - } - } - } - - for ( i = 1; i < 11; i++ ) - { - if ( cslot[i] != 0 ) - { - curr_erb[i] = (float) ( AmpCB1[index[0]][i - 1] + t_prev_erb[i] ); - curr_erb[i] = max( 0.0f, curr_erb[i] ); - } - else - { - curr_erb[i] = 0.0; - } - } - for ( i = 11; i < ( num_erb - 2 ); i++ ) - { - if ( cslot[i] != 0 ) - { - if ( num_erb == NUM_ERB_NB ) - { - curr_erb[i] = (float) ( AmpCB2_NB[index[1]][i - 11] + t_prev_erb[i] ); - curr_erb[i] = max( 0.0f, curr_erb[i] ); - } - else if ( num_erb == NUM_ERB_WB ) - { - curr_erb[i] = (float) ( AmpCB2_WB[index[1]][i - 11] + t_prev_erb[i] ); - curr_erb[i] = max( 0.0f, curr_erb[i] ); - } - } - else - { - curr_erb[i] = 0.0f; - } - } -#endif return; } @@ -3185,7 +2217,6 @@ ivas_error WIsyn( return IVAS_ERROR( error, "Error creating new DTFS structure\n" ); } -#ifdef FIX_VBR_COMPLEXITY #define WMC_TOOL_SKIP FUNC( 2 ); DTFS_copy( CURRCW_DTFS, *CURRCW_DTFS_out ); @@ -3258,51 +2289,6 @@ ivas_error WIsyn( DIV( 1 ); *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); #undef WMC_TOOL_SKIP -#else - DTFS_copy( CURRCW_DTFS, *CURRCW_DTFS_out ); - - /* Calculating the expected alignment shift */ - alignment = (float) ( *ph_offset / PI2 * PREVCW.lag ); - if ( flag == 1 ) - { - alignment *= I; - } - /* Calculating the expected alignment shift */ - tmp = (float) fmod( ( N % ( ( PREVCW.lag + CURRCW_DTFS->lag ) >> 1 ) + alignment ), CURRCW_DTFS->lag ); - - /* Compute the alignment shift */ - if ( FR_flag == 0 ) - { - alignment = DTFS_alignment_weight( PREVCW, *CURRCW_DTFS, tmp, curr_lpc, curr_lpc ); - } - else /* FR case */ - { - alignment = DTFS_alignment_full( PREVCW, *CURRCW_DTFS, CURRCW_DTFS->lag * 2 ); - } - - tmp = (float) ( PI2 * alignment / CURRCW_DTFS->lag ); - DTFS_phaseShift( CURRCW_DTFS, tmp ); - DTFS_phaseShift( CURRCW_DTFS_out, (float) ( PI2 * alignment / CURRCW_DTFS_out->lag ) ); - - /* Compute the cubic phase track and transform to 1-D signal */ - cubicPhase( *ph_offset, tmp, (float) PREVCW.lag, (float) CURRCW_DTFS->lag, N, phase ); - - if ( FR_flag == 0 ) - { - DTFS_transform( PREVCW, *CURRCW_DTFS, phase, out, N, 0 ); - } - else - { - DTFS_transform( PREVCW, *CURRCW_DTFS, phase, out, N, 1 ); - } - - /* Adjust the phase offset and wrap it between 0 and 2pi */ - if ( flag == 2 ) - { - tmp *= I; - } - *ph_offset = (float) fmod( (double) ( tmp ), PI2 ); -#endif free( phase ); free( CURRCW_DTFS ); -- GitLab From 50db93519520516e0d61c56733df65238a443601 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:35:03 +0100 Subject: [PATCH 512/620] accept SBA_DIRAC_RENDERER_TYPE_CLEANUP --- lib_com/ivas_prot.h | 5 ----- lib_com/ivas_sba_config.c | 27 --------------------------- lib_com/options.h | 1 - lib_dec/ivas_init_dec.c | 24 ------------------------ lib_dec/ivas_sba_dec.c | 24 ------------------------ lib_rend/ivas_output_init.c | 25 ------------------------- 6 files changed, 106 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 598014a742..90c2dce485 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3181,11 +3181,6 @@ int16_t ivas_sba_get_analysis_order( const int16_t sba_order /* i : Ambisonic (SBA) order */ ); -#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP -int16_t ivas_sba_get_order_transport( - const int16_t nchan_transport /* i : Number of transport channels */ -); -#endif /*! r: number of Ambisonic channels */ int16_t ivas_sba_get_nchan( const int16_t sba_order, /* i : Ambisonic (SBA) order */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index 64a8d94bd8..f9a8c2b6ef 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -246,33 +246,6 @@ int16_t ivas_sba_get_analysis_order( return sba_analysis_order; } -#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP -/*-------------------------------------------------------------------* - * ivas_sba_get_order_transport() - * - * Get effective Ambisonic order from number of transport channels - *-------------------------------------------------------------------*/ - -int16_t ivas_sba_get_order_transport( - const int16_t nchan_transport /* i : Number of transport channels */ -) -{ - int16_t sba_order; - - sba_order = SBA_FOA_ORDER; - - if ( nchan_transport > 6 ) - { - sba_order = SBA_HOA3_ORDER; - } - else if ( nchan_transport > 4 ) - { - sba_order = SBA_HOA2_ORDER; - } - - return ( sba_order ); -} -#endif /*-------------------------------------------------------------------* * ivas_sba_get_nchan() diff --git a/lib_com/options.h b/lib_com/options.h index bbb3930d91..31327a4ede 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,7 +144,6 @@ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define SBA_DIRAC_RENDERER_TYPE_CLEANUP /* Remove leftovers in renderer_type logic in SBA DirAC decoder */ #define FIX_I59_LFE_TD_DELAY /* Issue 59: correcting delay of LFE for TD renderer */ #define FIX_I59_LFE_CLDFB /* Issue 59: correcting LFE handling for fastconv binaural rendering */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index dae674f286..a770cc595c 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -850,30 +850,6 @@ ivas_error ivas_init_decoder( } st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && output_config == AUDIO_CONFIG_STEREO ); - -#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP - if ( ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) && st_ivas->hOutSetup.is_loudspeaker_setup ) - { - int16_t ambisonics_order; - - ambisonics_order = ivas_sba_get_order_transport( st_ivas->nchan_transport ); // VE: is it needed ? - - if ( ( error = ivas_sba_get_hoa_dec_matrix( st_ivas->hOutSetup, &st_ivas->hoa_dec_mtx, ambisonics_order ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else if ( ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) && !st_ivas->hIntSetup.is_loudspeaker_setup ) - { - IVAS_OUTPUT_SETUP out_setup; - - ivas_output_init( &out_setup, AUDIO_CONFIG_7_1_4 ); - if ( ( error = ivas_sba_get_hoa_dec_matrix( out_setup, &st_ivas->hoa_dec_mtx, st_ivas->hIntSetup.ambisonics_order ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif } } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 1bc71650f8..c2997eefc5 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -333,30 +333,6 @@ ivas_error ivas_sba_dec_reinit( } st_ivas->sba_dirac_stereo_flag = ( st_ivas->nchan_transport == 1 && output_config == AUDIO_CONFIG_STEREO ); - -#ifndef SBA_DIRAC_RENDERER_TYPE_CLEANUP - if ( ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC ) && st_ivas->hOutSetup.is_loudspeaker_setup ) - { - int16_t ambisonics_order; - - ambisonics_order = ivas_sba_get_order_transport( st_ivas->nchan_transport ); // VE: is it needed ? - - if ( ( error = ivas_sba_get_hoa_dec_matrix( st_ivas->hOutSetup, &st_ivas->hoa_dec_mtx, ambisonics_order ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else if ( ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) && !st_ivas->hIntSetup.is_loudspeaker_setup ) - { - IVAS_OUTPUT_SETUP out_setup; - - ivas_output_init( &out_setup, AUDIO_CONFIG_7_1_4 ); - if ( ( error = ivas_sba_get_hoa_dec_matrix( out_setup, &st_ivas->hoa_dec_mtx, st_ivas->hIntSetup.ambisonics_order ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif } if ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR ) diff --git a/lib_rend/ivas_output_init.c b/lib_rend/ivas_output_init.c index 039fe8458b..0a364a66e4 100644 --- a/lib_rend/ivas_output_init.c +++ b/lib_rend/ivas_output_init.c @@ -542,35 +542,10 @@ void ivas_renderer_select( { *renderer_type = RENDERER_DISABLE; } -#ifdef SBA_DIRAC_RENDERER_TYPE_CLEANUP else if ( st_ivas->ivas_format == SBA_FORMAT && output_config == AUDIO_CONFIG_MONO ) { *renderer_type = RENDERER_SBA_LINEAR_DEC; } -#else - else if ( st_ivas->ivas_format == SBA_FORMAT ) - { - int16_t nchan_max; - - if ( ( output_config == AUDIO_CONFIG_MONO ) || ( output_config == AUDIO_CONFIG_STEREO ) ) - { - nchan_max = st_ivas->hDecoderConfig->nchan_out; - } - else if ( st_ivas->hOutSetup.ambisonics_order > 0 ) - { - nchan_max = ivas_sba_get_nchan( st_ivas->hOutSetup.ambisonics_order, st_ivas->sba_planar ); - } - else - { - nchan_max = ivas_sba_get_nchan( 3, st_ivas->sba_planar ); - } - - if ( st_ivas->nchan_transport >= nchan_max ) - { - *renderer_type = RENDERER_SBA_LINEAR_DEC; - } - } -#endif } else if ( st_ivas->ivas_format == MC_FORMAT ) { -- GitLab From fde8382ba20b51ed1b69491c4f3b92fd4b9438ed Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:40:11 +0100 Subject: [PATCH 513/620] accept FIX_I59_LFE_TD_DELAY and FIX_I59_LFE_CLDFB --- lib_com/delay_comp.c | 24 +++++------------------- lib_com/ivas_prot.h | 4 ---- lib_com/options.h | 2 -- lib_com/prot.h | 15 +++++---------- lib_dec/ivas_dec.c | 7 +------ lib_dec/ivas_init_dec.c | 16 +++------------- lib_dec/ivas_lfe_dec.c | 17 +++-------------- lib_dec/ivas_mct_dec.c | 10 +--------- lib_dec/ivas_stat_dec.h | 4 ---- lib_dec/lib_dec.c | 8 -------- lib_enc/lib_enc.c | 4 ---- 11 files changed, 18 insertions(+), 93 deletions(-) diff --git a/lib_com/delay_comp.c b/lib_com/delay_comp.c index 695cf01ff5..93ebd862a9 100644 --- a/lib_com/delay_comp.c +++ b/lib_com/delay_comp.c @@ -51,16 +51,11 @@ /*! r: delay value in ns */ int32_t get_delay( - const int16_t enc_dec, /* i : encoder/decoder flag */ - const int32_t io_fs, /* i : input/output sampling frequency */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ -#ifndef FIX_I59_LFE_TD_DELAY - RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ - const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ -#else + const int16_t enc_dec, /* i : encoder/decoder flag */ + const int32_t io_fs, /* i : input/output sampling frequency */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ const int32_t binaural_latency_ns /* i : binauralization delay in ns */ -#endif ) { int32_t delay = 0; @@ -99,7 +94,6 @@ int32_t get_delay( { delay = IVAS_DEC_DELAY_NS; -#ifdef FIX_I59_LFE_TD_DELAY if ( hCldfb != NULL ) { /* compensate for filterbank delay */ @@ -108,16 +102,8 @@ int32_t get_delay( /* compensate for binauralization delay */ delay += binaural_latency_ns; -#else - if ( hCldfb != NULL || renderer_type == RENDERER_BINAURAL_OBJECTS_TD ) - { - delay += IVAS_FB_DEC_DELAY_NS; - } - - /* compensate for Binaural renderer HRTF delay */ - delay += binaural_latency_ns; -#endif } } + return delay; } diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 90c2dce485..8a177dff42 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5029,11 +5029,7 @@ void ivas_lfe_enc( ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ const int32_t output_Fs, /* i : output sampling rate */ -#ifdef FIX_I59_LFE_TD_DELAY const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ -#else - const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ -#endif ); void ivas_lfe_dec_close( diff --git a/lib_com/options.h b/lib_com/options.h index 31327a4ede..0735f8763c 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -144,8 +144,6 @@ #define SBA_BR_SWITCHING_2 /* Issue 114: Changes for sba bit rate switching with reconfigurations*/ #define SBA_BR_SWITCHING /* Issue 114: Changes for sba bit rate switching*/ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ -#define FIX_I59_LFE_TD_DELAY /* Issue 59: correcting delay of LFE for TD renderer */ -#define FIX_I59_LFE_CLDFB /* Issue 59: correcting LFE handling for fastconv binaural rendering */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ #define FIX_I59_CREND /* Issue 59: Fixes for gcc compiler warnings in ivas_crend_utest_utils.c */ diff --git a/lib_com/prot.h b/lib_com/prot.h index 24a74a72c4..e42a60d445 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -692,16 +692,11 @@ int16_t lev_dur( /*! r: delay value in ns */ int32_t get_delay( - const int16_t enc_dec, /* i : encoder/decoder flag */ - const int32_t io_fs, /* i : input/output sampling frequency */ - const IVAS_FORMAT ivas_format, /* i : IVAS format */ - HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ -#ifndef FIX_I59_LFE_TD_DELAY - RENDERER_TYPE renderer_type, /* i : IVAS rendering type */ - const int32_t binaural_latency_ns /* i : binaural renderer HRTF delay in ns */ -#else - const int32_t binaural_latency_ns /* i : binauralization delay in ns */ -#endif + const int16_t enc_dec, /* i : encoder/decoder flag */ + const int32_t io_fs, /* i : input/output sampling frequency */ + const IVAS_FORMAT ivas_format, /* i : IVAS format */ + HANDLE_CLDFB_FILTER_BANK hCldfb, /* i : Handle of Cldfb analysis */ + const int32_t binaural_latency_ns /* i : binauralization delay in ns */ ); void decision_matrix_enc( diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index c68c1b6490..7176a00886 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -394,15 +394,10 @@ ivas_error ivas_dec( ivas_crend_process( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); } - if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) + else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { -#ifdef FIX_I59_LFE_CLDFB ivas_binaural_cldfb( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); -#else - ivas_binaural_add_LFE( st_ivas, output_frame, output ); - ivas_binaural_cldfb( st_ivas, output ); -#endif } else if ( st_ivas->renderer_type == RENDERER_MC ) { diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index a770cc595c..604953777f 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -619,15 +619,12 @@ ivas_error ivas_init_decoder( { int16_t i, k, n; int16_t sce_id, cpe_id; - int16_t numCldfbAnalyses; - int16_t numCldfbSyntheses; + int16_t numCldfbAnalyses, numCldfbSyntheses; int32_t output_Fs, ivas_total_brate; + int32_t binauralization_delay_ns; AUDIO_CONFIG output_config; DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; -#ifdef FIX_I59_LFE_TD_DELAY - int32_t binauralization_delay_ns; -#endif error = IVAS_ERR_OK; @@ -1239,11 +1236,9 @@ ivas_error ivas_init_decoder( if ( st_ivas->mc_mode == MC_MODE_MCT ) { -#ifdef FIX_I59_LFE_TD_DELAY binauralization_delay_ns = st_ivas->binaural_latency_ns; if ( st_ivas->hBinRenderer != NULL ) { -#ifdef FIX_I59_LFE_CLDFB if ( st_ivas->hBinRenderer->render_lfe ) { /* Account for filterbank delay */ @@ -1253,14 +1248,9 @@ ivas_error ivas_init_decoder( { binauralization_delay_ns = 0; } -#else - binauralization_delay_ns = 0; -#endif } + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, binauralization_delay_ns ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_dec/ivas_lfe_dec.c b/lib_dec/ivas_lfe_dec.c index d7ca800afe..57b962f76b 100644 --- a/lib_dec/ivas_lfe_dec.c +++ b/lib_dec/ivas_lfe_dec.c @@ -350,13 +350,9 @@ void ivas_lfe_dec( *-------------------------------------------------------------------------*/ ivas_error ivas_create_lfe_dec( - LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ - const int32_t output_Fs, /* i : output sampling rate */ -#ifdef FIX_I59_LFE_TD_DELAY - const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ -#else - const float add_delay_s /* i : additional LFE delay to sync with binaural filter */ -#endif + LFE_DEC_HANDLE *hLFE_out, /* o : IVAS LFE decoder structure */ + const int32_t output_Fs, /* i : output sampling rate */ + const int32_t binauralization_delay_ns /* i : additional LFE delay to sync with binaural renderer */ ) { float low_pass_delay_dec_out, block_offset_s; @@ -365,9 +361,7 @@ ivas_error ivas_create_lfe_dec( LFE_DEC_HANDLE hLFE; float lfe_addl_delay_s; int16_t i, j; -#ifdef FIX_I59_LFE_TD_DELAY int16_t add_delay_sa; -#endif low_pass_delay_dec_out = 0; block_offset_s = 0; @@ -443,7 +437,6 @@ ivas_error ivas_create_lfe_dec( lfe_addl_delay_s = block_offset_s - hLFE->lfe_block_delay_s; lfe_addl_delay_s = max( 0.0f, lfe_addl_delay_s ); -#ifdef FIX_I59_LFE_TD_DELAY #ifdef FIX_FIX_I59 add_delay_sa = (int16_t) roundf( (float) binauralization_delay_ns * output_Fs / 1000000000.f ); #else @@ -451,10 +444,6 @@ ivas_error ivas_create_lfe_dec( #endif hLFE->lfe_addl_delay = (int16_t) ( lfe_addl_delay_s * output_Fs ) + add_delay_sa; hLFE->lfe_block_delay_s += lfe_addl_delay_s + add_delay_sa / output_Fs; -#else - hLFE->lfe_addl_delay = (int16_t) ( lfe_addl_delay_s * output_Fs ) + (int16_t) roundf( add_delay_s * output_Fs ); - hLFE->lfe_block_delay_s += lfe_addl_delay_s + add_delay_s; -#endif if ( hLFE->lfe_addl_delay > 0 ) { diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index a9d4a559d4..1616fa7c1b 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -1035,12 +1035,9 @@ static ivas_error ivas_mc_dec_reconfig( if ( st_ivas->mc_mode == MC_MODE_MCT && st_ivas->hLFE == NULL ) { -#ifdef FIX_I59_LFE_TD_DELAY int32_t binauralization_delay_ns = st_ivas->binaural_latency_ns; - if ( st_ivas->hBinRenderer != NULL ) { -#ifdef FIX_I59_LFE_CLDFB if ( st_ivas->hBinRenderer->render_lfe ) { /* Account for filterbank delay */ @@ -1050,14 +1047,9 @@ static ivas_error ivas_mc_dec_reconfig( { binauralization_delay_ns = 0; } -#else - binauralization_delay_ns = 0; -#endif } + if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, binauralization_delay_ns ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_create_lfe_dec( &st_ivas->hLFE, st_ivas->hDecoderConfig->output_Fs, st_ivas->hHrtf != NULL ? st_ivas->hHrtf->latency_s : 0 ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index bef074b3e1..4cfbc98ad6 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -1895,11 +1895,7 @@ typedef struct Decoder_Struct float *hoa_dec_mtx; /* Pointer to decoder matrix for SBA */ HEAD_TRACK_DATA_HANDLE hHeadTrackData; /* Head tracking data structure */ RENDER_CONFIG_DATA *hRenderConfig; /* Renderer config pointer */ -#ifdef FIX_I59_LFE_TD_DELAY int32_t binaural_latency_ns; /* Binauralization latency in ns */ -#else - int32_t binaural_latency_ns; /* HRTF binauralization latency in ns */ -#endif #ifdef DEBUGGING int32_t noClipping; /* number of clipped samples */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index b42abb75ac..73343af1f2 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1157,18 +1157,10 @@ ivas_error IVAS_DEC_GetDelay( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; -#ifdef FIX_I59_LFE_TD_DELAY #ifdef FIX_I59_DELAY_ROUNDING *nSamples = (int16_t) roundf( (float) get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); #else *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->binaural_latency_ns ) ); -#endif -#else -#ifdef FIX_I59_DELAY_ROUNDING - *nSamples = (int16_t) roundf( get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) * hDecoderConfig->output_Fs / 1000000000.f ); -#else - *nSamples = NS2SA( hDecoderConfig->output_Fs, get_delay( DEC, hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->cldfbAnaDec[0], st_ivas->renderer_type, st_ivas->binaural_latency_ns ) ); -#endif #endif *timeScale = hDecoderConfig->output_Fs; diff --git a/lib_enc/lib_enc.c b/lib_enc/lib_enc.c index 3b28f0ee64..4cd70f61fc 100755 --- a/lib_enc/lib_enc.c +++ b/lib_enc/lib_enc.c @@ -952,11 +952,7 @@ ivas_error IVAS_ENC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef FIX_I59_LFE_TD_DELAY *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, 0 ) ); -#else - *delay = NS2SA( hEncoderConfig->input_Fs, get_delay( ENC, hEncoderConfig->input_Fs, hEncoderConfig->ivas_format, NULL, RENDERER_DISABLE, 0 ) ); -#endif *delay *= hEncoderConfig->nchan_inp; -- GitLab From 3bc474c0761da9c84fd374bcbca1ed5d503b3a9f Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:43:39 +0100 Subject: [PATCH 514/620] accept FIX_I59_CREND --- lib_com/options.h | 1 - .../unit_tests/crend/ivas_crend_utest_utils.c | 132 ++---------------- 2 files changed, 14 insertions(+), 119 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 0735f8763c..362639645d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -146,7 +146,6 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ -#define FIX_I59_CREND /* Issue 59: Fixes for gcc compiler warnings in ivas_crend_utest_utils.c */ #define LOW_RATE_TRANS /* Eri: Contribution 20: low rate encoding of transients */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index 81ac69ecc1..eb7b25dfa5 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -83,60 +83,38 @@ static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_ro *err_lfe = 0; *err_dec = 0; -#ifdef FIX_I59_CREND - for ( int ind1 = 0; ind1 < 3; ind1++ ) -#else - for ( int ind1 = 0; ind1 < sizeof( sampleRates ) / sizeof( float ); ind1++ ) -#endif + for ( int ind1 = 0; ind1 < 3; ind1++ ) { if ( verbose ) printf( "\nsample rate = %f", sampleRates[ind1] ); - -#ifdef FIX_I59_CREND + for ( int ind2 = 0; ind2 < 3; ind2++ ) -#else - for ( int ind2 = 0; ind2 < sizeof( binaural_latencys_s ) / sizeof( float ); ind2++ ) -#endif { wanted = (int32_t) roundf( binaural_latencys_s[ind2] * sampleRates[ind1] ); if ( verbose ) -#ifdef FIX_I59_CREND printf( "\nbinaural_latencys_s = %f wanted = %d", binaural_latencys_s[ind2], wanted ); -#else - printf( "\nbinaural_latencys_s = %f wanted = %ld", binaural_latencys_s[ind2], wanted ); -#endif if ( use_round_latency ) delay_ns[ind2] = (int32_t) roundf( binaural_latencys_s[ind2] * 1000000000.f ); else delay_ns[ind2] = (int32_t) ( binaural_latencys_s[ind2] * 1000000000.f ); if ( verbose ) -#ifdef FIX_I59_CREND printf( "\n delay_ns[%d] = %d \n", ind2, delay_ns[ind2] ); -#else - printf( "\n delay_ns[%d] = %ld \n", ind2, delay_ns[ind2] ); -#endif if ( use_round_for_lfe ) delay_lfe[ind1][ind2] = (int32_t) roundf( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); else delay_lfe[ind1][ind2] = (int32_t) NS2SA( sampleRates[ind1], delay_ns[ind2] ); if ( verbose ) -#ifdef FIX_I59_CREND printf( "\ndelay_lfe[%d][%d] = %d\n", ind1, ind2, delay_lfe[ind1][ind2] ); -#else - printf( "\ndelay_lfe[%d][%d] = %ld\n", ind1, ind2, delay_lfe[ind1][ind2] ); -#endif + *err_lfe += abs( delay_lfe[ind1][ind2] - wanted ); delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] + 0.5f ); - // delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] ); + /* delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] );*/ if ( verbose ) -#ifdef FIX_I59_CREND printf( "\ndelay_dec[%d][%d] = %d \n", ind1, ind2, delay_dec[ind1][ind2] ); -#else - printf( "\ndelay_dec[%d][%d] = %ld \n", ind1, ind2, delay_dec[ind1][ind2] ); -#endif + *err_dec += abs( delay_dec[ind1][ind2] - wanted ); } } @@ -1176,85 +1154,38 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl float binaural_latencys_td_s[3] = { BINAURAL_TD_LATENCY_S, BINAURAL_TD_LATENCY_S + 1.f / 48000.f, BINAURAL_TD_LATENCY_S + 2.f / 48000.f }; int32_t err = 0, err_lfe = 0, err_dec = 0; + binaural_latencys_fastconv_s[0] = FASTCONV_HRIR_latency_s; binaural_latencys_fastconv_s[1] = FASTCONV_BRIR_latency_s; binaural_latencys_fastconv_s[2] = FASTCONV_BRIR_latency_s; + err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 0, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_crend_s, 0, 0, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_td_s, 0, 0, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); -#else - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); -#endif err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 1, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_crend_s, 0, 1, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_td_s, 0, 1, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); -#else - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); -#endif err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 0, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_crend_s, 1, 0, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_td_s, 1, 0, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); -#else - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); -#endif err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 1, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_crend_s, 1, 1, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); -#else - printf( "\nerr_lfe = %ld err_dec = %ld", err_lfe, err_dec ); -#endif err += ivas_check_rounding( binaural_latencys_td_s, 1, 1, &err_lfe, &err_dec, 0 ); -#ifdef FIX_I59_CREND printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); -#else - printf( "\n\nerr = %ld err_lfe = %ld err_dec = %ld\n\n", err, err_lfe, err_dec ); -#endif - ivas_render_config_open( &st_ivas.hRenderConfig ); ivas_render_config_init_from_rom( &st_ivas.hRenderConfig, 0 ); @@ -1292,28 +1223,16 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl { st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV_ROOM; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; -#ifdef FIX_FIX_I59 pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_BRIR_latency_s * 1000000000.f ) ); -#else - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_BRIR_latency_s; -#endif } else { st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; if ( st_ivas.ivas_format == MC_FORMAT ) -#ifdef FIX_FIX_I59 pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f ) ); -#else - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HRIR_latency_s; -#endif else -#ifdef FIX_FIX_I59 pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ) ); -#else - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate + FASTCONV_HOA3_latency_s; -#endif } } else if ( pIo_params->test == TD_BIN_TEST ) @@ -1334,11 +1253,8 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; } -#ifdef FIX_FIX_I59 + pIo_params->latency_ns = (int32_t) ( BINAURAL_TD_LATENCY_S * 1000000000.f ); -#else - pIo_params->latency_s = BINAURAL_TD_LATENCY_S; -#endif } else if ( pIo_params->test == PARAM_BIN_TEST ) { @@ -1352,11 +1268,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.renderer_type = RENDERER_BINAURAL_PARAMETRIC; st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; } -#ifdef FIX_FIX_I59 pIo_params->latency_ns = IVAS_FB_DEC_DELAY_NS; -#else - pIo_params->latency_s = ( (float) frame_len ) / (float) dec_io_params.out_sample_rate; -#endif } else if ( pIo_params->test == CREND_BIN_TEST ) { @@ -1496,19 +1408,13 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl if ( pIo_params->test == CREND_BIN_TEST ) { -#ifdef FIX_FIX_I59 pIo_params->latency_ns = (int32_t) ( st_ivas.hHrtf->latency_s * 1000000000.f ); -#else - pIo_params->latency_s = st_ivas.hHrtf->latency_s; -#endif } + if ( st_ivas.ivas_format == MC_FORMAT ) { -#ifdef FIX_FIX_I59 ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_ns ); -#else - ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_s ); -#endif + if ( st_ivas.hLFE->lfe_addl_delay > 0 ) { if ( st_ivas.hLFE->lfe_delay_buf != NULL ) @@ -1516,15 +1422,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl free( st_ivas.hLFE->lfe_delay_buf ); st_ivas.hLFE->lfe_delay_buf = NULL; } -#ifdef FIX_FIX_I59 + if ( pIo_params->latency_ns > 0 ) { st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( (float) pIo_params->latency_ns * (float) dec_io_params.out_sample_rate / 1000000000.f ); -#else - if ( pIo_params->latency_s > 0 ) - { - st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( pIo_params->latency_s * dec_io_params.out_sample_rate ); -#endif + if ( st_ivas.hLFE->lfe_addl_delay > 0 ) { if ( ( st_ivas.hLFE->lfe_delay_buf = (float *) malloc( st_ivas.hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) @@ -1540,6 +1442,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl st_ivas.hLFE->lfe_addl_delay = 0; } } + /* delay input channel of latency of lp filter*/ if ( pIo_params->lfe_lp_enable ) { @@ -1555,11 +1458,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } ivas_lfe_lpf_select_filt_coeff( pIo_params->sample_rate, IVAS_FILTER_ORDER_4, &filt_coeff ); ivas_filters_init( &st_ivas.hLFE->filter_state, filt_coeff, IVAS_FILTER_ORDER_4 ); -#ifdef FIX_FIX_I59 pIo_params->latency_ns = pIo_params->latency_ns + (int32_t) ( ivas_lfe_lpf_delay[1] * 1000000000.f ); -#else - pIo_params->latency_s = pIo_params->latency_s + ivas_lfe_lpf_delay[1]; -#endif } else { @@ -1589,13 +1488,10 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl int32_t skip_samples = 0; int32_t skipped_samples = 0; int16_t write_flag = 0; + if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->no_delay_cmp == 0 ) ) { -#ifdef FIX_FIX_I59 skip_samples = (int32_t) roundf( (float) pIo_params->latency_ns * pIo_params->sample_rate / 1000000000.f ); -#else - skip_samples = NS2SA( pIo_params->sample_rate, (int32_t) ( pIo_params->latency_s * 1000000000.f ) ); -#endif } fprintf( stdout, "IVAS Common Renderer skip samples = %d\n", (int) skip_samples ); -- GitLab From 46ac1b29a33806b3464ccad5801e5d32d062cefc Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:47:17 +0100 Subject: [PATCH 515/620] accept LOW_RATE_TRANS --- lib_com/ivas_prot.h | 8 +------- lib_com/options.h | 1 - lib_enc/ivas_core_pre_proc_front.c | 21 +++++---------------- lib_enc/ivas_cpe_enc.c | 7 ------- lib_enc/ivas_ism_enc.c | 11 ----------- lib_enc/ivas_sce_enc.c | 12 ------------ lib_enc/stat_enc.h | 2 -- lib_enc/transient_detection.c | 23 ++++++++++------------- 8 files changed, 16 insertions(+), 69 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 8a177dff42..e476bdf9fb 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -202,14 +202,9 @@ ivas_error pre_proc_front_ivas( const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ -#ifdef LOW_RATE_TRANS const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t ivas_format /* i : IVAS format */ -#else - const int16_t front_vad_dtx_flag /* i : front-VAD DTX flag to overwrite VAD decision*/ - ,const int32_t ivas_total_brate /* i : IVAS total bitrate */ -#endif ); ivas_error pre_proc_ivas( @@ -626,13 +621,12 @@ void set_transient_stereo( float currFlatness[] /* i/o: current flatness */ ); -#ifdef LOW_RATE_TRANS +/*! r: preliminary flag to force ACELP */ int16_t transient_analysis( TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ const float cor_map_LT[], /* i : LT correlation map */ const float multi_harm_limit /* i : multi harminic threshold */ ); -#endif void ivas_post_proc( SCE_DEC_HANDLE hSCE, /* i/o: SCE decoder structure */ diff --git a/lib_com/options.h b/lib_com/options.h index 362639645d..847ebc006d 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -146,7 +146,6 @@ #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ -#define LOW_RATE_TRANS /* Eri: Contribution 20: low rate encoding of transients */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ #define REMOVE_ETOT_PROPAGATION /* Issue 251: Do not propagate Etot parameter */ diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index ad70c7a452..440581746d 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -45,13 +45,12 @@ #include <math.h> -#ifdef LOW_RATE_TRANS /*---------------------------------------------------------------* * Local constants *---------------------------------------------------------------*/ #define SCE_SMC_THR 16000 -#endif + /*-------------------------------------------------------------------* * Local function prototypes @@ -110,14 +109,9 @@ ivas_error pre_proc_front_ivas( const int16_t flag_16k_smc, /* i : flag to indicate if the OL SMC is run at 16 kHz */ const int16_t front_vad_flag, /* i : front-VAD flag to overwrite VAD decision */ const int16_t force_front_vad, /* i : flag to force VAD decision */ -#ifdef LOW_RATE_TRANS - const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ - const int32_t ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX */ - const int16_t ivas_format /* i : IVAS format */ -#else - const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ - const int32_t ivas_total_brate /* i : IVAS total bitrate - for setting the DTX */ -#endif + const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ + const int32_t ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX */ + const int16_t ivas_format /* i : IVAS format */ ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ @@ -844,11 +838,7 @@ ivas_error pre_proc_front_ivas( else if ( element_mode != IVAS_CPE_MDCT ) { /* SNR-based speech/music classification */ -#ifdef LOW_RATE_TRANS if ( ( element_mode >= IVAS_CPE_DFT && element_brate >= IVAS_24k4 ) || ( element_mode == IVAS_SCE && element_brate >= SCE_SMC_THR ) ) -#else - if ( ( element_mode >= IVAS_CPE_DFT && element_brate >= IVAS_24k4 ) || ( element_mode == IVAS_SCE && element_brate >= 16000 ) ) -#endif { if ( flag_16k_smc ) { @@ -866,7 +856,6 @@ ivas_error pre_proc_front_ivas( smc_dec = ivas_acelp_tcx20_switching( st, inp_12k8, wsp, non_staX, pitch_fr, voicing_fr, currFlatness, lsp_mid, stab_fac, res_cod_SNR_M, flag_16k_smc ); } } -#ifdef LOW_RATE_TRANS /* Switch to ACELP for non-harmonic transient signals */ else if ( ( ( ivas_format == STEREO_FORMAT && element_brate <= IVAS_16k4 ) || ( ivas_format == ISM_FORMAT && element_brate < SCE_SMC_THR ) ) && ( loc_harm[0] != 1 ) && smc_dec == MUSIC ) { @@ -888,7 +877,7 @@ ivas_error pre_proc_front_ivas( } } } -#endif + /* 2nd stage speech/music classification (ACELP/GSC/TCX core selection) */ #ifdef REMOVE_ETOT_PROPAGATION ivas_smc_mode_selection( st, element_brate, smc_dec, *relE, Etot, attack_flag, inp_12k8, S_map, flag_spitch ); diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index c179ea1e4e..698735cb19 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -435,7 +435,6 @@ ivas_error ivas_cpe_enc( for ( n = 0; n < n_CoreChannels; n++ ) { -#ifdef LOW_RATE_TRANS error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], #ifndef REMOVE_ETOT_PROPAGATION &Etot[n], @@ -444,12 +443,6 @@ ivas_error ivas_cpe_enc( &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); -#else - error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], &Etot[n], &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], - &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], - fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, - ivas_total_brate ); -#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index f59edfaf0e..53e8a54a5d 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -149,7 +149,6 @@ ivas_error ivas_ism_enc( * Front Pre-processing *----------------------------------------------------------------*/ -#ifdef LOW_RATE_TRANS error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], #ifndef REMOVE_ETOT_PROPAGATION &Etot[sce_id][0], @@ -158,16 +157,6 @@ ivas_error ivas_ism_enc( &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); -#else - error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], -#ifndef REMOVE_ETOT_PROPAGATION - &Etot[sce_id][0], -#endif - &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], - &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], - fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, - st_ivas->hEncoderConfig->ivas_total_brate ); -#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 9970d7b5fb..f87ea917d1 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -183,7 +183,6 @@ ivas_error ivas_sce_enc( * Front Pre-processing *----------------------------------------------------------------*/ -#ifdef LOW_RATE_TRANS error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata, input_frame, 0, old_inp_12k8[0], old_inp_16k[0], #ifndef REMOVE_ETOT_PROPAGATION &Etot[0], @@ -193,17 +192,6 @@ ivas_error ivas_sce_enc( fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); -#else - error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata, input_frame, 0, old_inp_12k8[0], old_inp_16k[0], -#ifndef REMOVE_ETOT_PROPAGATION - &Etot[0], -#endif - &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], - &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], - fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, - st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, - st_ivas->hEncoderConfig->ivas_total_brate ); -#endif if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 8f8c054cff..48585881d0 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -123,9 +123,7 @@ typedef struct float firState1; float firState2; -#ifdef LOW_RATE_TRANS int16_t ramp_up_flag; /* bit map flags to indicate a ramp up in beginning of TCX frame */ -#endif } SubblockEnergies; diff --git a/lib_enc/transient_detection.c b/lib_enc/transient_detection.c index c5a6e4a0e9..4ba76500bf 100644 --- a/lib_enc/transient_detection.c +++ b/lib_enc/transient_detection.c @@ -53,13 +53,12 @@ #define MIN_BLOCK_ENERGY 107.37f -#ifdef LOW_RATE_TRANS #define THR_HIGH 8.5f #define THR_NORM_HIGH 8.0f #define THR_NORM_LOW 4.5f #define THR_LOW 4.25f #define THR_LOW_STEP 1.0f -#endif + /*---------------------------------------------------------------* * Local function prototypes @@ -225,10 +224,7 @@ void RunTransientDetection( float filteredInput[L_FRAME_MAX]; SubblockEnergies *pSubblockEnergies = &hTranDet->subblockEnergies; TransientDetector *pTransientDetector = &hTranDet->transientDetector; -#ifdef LOW_RATE_TRANS - float e0; - float e1; -#endif + float e0, e1; assert( ( input != NULL ) && ( hTranDet != NULL ) && ( pSubblockEnergies != NULL ) && ( pTransientDetector != NULL ) ); @@ -244,7 +240,6 @@ void RunTransientDetection( /* Update the delay buffer. */ UpdateDelayBuffer( filteredInput, length, &hTranDet->delayBuffer ); -#ifdef LOW_RATE_TRANS /* compute ramp up flag */ pSubblockEnergies->ramp_up_flag = pSubblockEnergies->ramp_up_flag << 1; e0 = dotp( filteredInput + length / 2, filteredInput + length / 2, pSubblockEnergies->pDelayBuffer->nSubblockSize / 2 ) + 0.5f * MIN_BLOCK_ENERGY; @@ -253,12 +248,14 @@ void RunTransientDetection( { pSubblockEnergies->ramp_up_flag |= 0x0001; } -#endif return; } -static uint16_t isLongTermTransient( const float frameTFM, float *lastTFM ) + +static uint16_t isLongTermTransient( + const float frameTFM, + float *lastTFM ) { float currTFM; @@ -272,11 +269,13 @@ static uint16_t isLongTermTransient( const float frameTFM, float *lastTFM ) { currTFM = *lastTFM * 0.96875f + frameTFM * 0.03125f; } + *lastTFM = max( 0.015625f, currTFM ); return ( currTFM < 0.5625f ? 1 : 0 ); } + /*-------------------------------------------------------------------* * SetTCXModeInfo() * @@ -579,9 +578,7 @@ static void InitTransientDetector( pTransientDetector->attackRatioThreshold = attackRatioThreshold; pTransientDetector->bIsAttackPresent = FALSE; pTransientDetector->attackIndex = -1; -#ifdef LOW_RATE_TRANS pTransientDetector->pSubblockEnergies->ramp_up_flag = 0x0; -#endif return; } @@ -850,12 +847,12 @@ void set_transient_stereo( return; } -#ifdef LOW_RATE_TRANS /*-------------------------------------------------------------------* * transient_analysis() * * *-------------------------------------------------------------------*/ + /*! r: preliminary flag to force ACELP */ int16_t transient_analysis( TRAN_DET_HANDLE hTranDet, /* i : handle transient detection */ @@ -943,6 +940,6 @@ int16_t transient_analysis( } } } + return prel_force_td != 0; } -#endif -- GitLab From 720b872454089b2dca2d15e394a9abced70ea547 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 16:54:41 +0100 Subject: [PATCH 516/620] accept SIMPLIFY_TD_BWE_RESET and REMOVE_ETOT_PROPAGATION --- lib_com/ivas_prot.h | 8 ---- lib_com/options.h | 2 - lib_com/prot.h | 7 +-- lib_enc/amr_wb_enc.c | 3 -- lib_enc/core_switching_enc.c | 14 ------ lib_enc/evs_enc.c | 61 +++++------------------- lib_enc/ivas_core_enc.c | 31 +++--------- lib_enc/ivas_core_pre_proc_front.c | 76 +++++------------------------- lib_enc/ivas_cpe_enc.c | 23 ++------- lib_enc/ivas_front_vad.c | 5 -- lib_enc/ivas_ism_enc.c | 16 ++----- lib_enc/ivas_sce_enc.c | 14 +----- lib_enc/ivas_stereo_td_enc.c | 32 +++---------- lib_enc/long_enr.c | 4 -- lib_enc/pre_proc.c | 72 ++++++---------------------- lib_enc/swb_pre_proc.c | 13 ----- lib_enc/swb_tbe_enc.c | 13 ----- lib_enc/updt_enc.c | 13 ----- 18 files changed, 58 insertions(+), 349 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index e476bdf9fb..f94e1e4ceb 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -168,9 +168,6 @@ ivas_error pre_proc_front_ivas( const int16_t n, /* i : channel number */ float old_inp_12k8[], /* o : buffer of old input signal */ float old_inp_16k[], /* o : buffer of old input signal @16kHz */ -#ifndef REMOVE_ETOT_PROPAGATION - float *Etot, /* o : total energy */ -#endif float *ener, /* o : residual energy from Levinson-Durbin */ float *relE, /* o : frame relative energy */ float A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ @@ -411,9 +408,6 @@ ivas_error ivas_core_enc( const int16_t n_CoreChannels, /* i : number of core channels to be coded */ float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ -#ifndef REMOVE_ETOT_PROPAGATION - const float Etot[CPE_CHANNELS], /* i : total energy */ -#endif float ener[CPE_CHANNELS], /* i : residual energy from Levinson-Durbin */ float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes */ float Aw[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquantized for subframes */ @@ -1752,9 +1746,7 @@ void tdm_ol_pitch_comparison( void tdm_configure_enc( CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ -#ifdef REMOVE_ETOT_PROPAGATION const float Etot_last[CPE_CHANNELS], /* i/o: Energy of last frame */ -#endif const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ const int16_t tdm_ratio_idx, /* i : ratio index */ const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ diff --git a/lib_com/options.h b/lib_com/options.h index 847ebc006d..503146f4a6 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,8 +147,6 @@ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ -#define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ -#define REMOVE_ETOT_PROPAGATION /* Issue 251: Do not propagate Etot parameter */ #define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ diff --git a/lib_com/prot.h b/lib_com/prot.h index e42a60d445..1e77780ed4 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -2278,10 +2278,7 @@ void pre_proc( float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ float **inp, /* o : ptr. to inp. signal in the current frame*/ float fr_bands[2 * NB_BANDS], /* i : energy in frequency bands */ -#ifndef REMOVE_ETOT_PROPAGATION - float *Etot, /* i : total energy */ -#endif - float *ener, /* o : residual energy from Levinson-Durbin */ + float *ener, /* o : residual energy from Levinson-Durbin */ #ifndef FIX_I4_OL_PITCH int16_t pitch_orig[3], /* o : open-loop pitch values for quantization */ #endif @@ -2599,12 +2596,10 @@ void InitSWBencBuffer( TD_BWE_ENC_HANDLE hBWE_TD /* i/o: TD BWE data handle */ ); -#ifdef SIMPLIFY_TD_BWE_RESET void InitSWBencBufferStates( TD_BWE_ENC_HANDLE hBWE_TD, /* i/o: TD BWE data handle */ float *shb_speech /* o : SHB target signal (6-14kHz) at 16kHz */ ); -#endif void swb_tbe_enc( Encoder_State *st, /* i/o: encoder state structure */ diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index ee15cee32c..b40be98fc2 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -532,9 +532,6 @@ void amr_wb_enc( /* update main codec paramaters */ #ifdef MC_BITRATE_SWITCHING -#ifndef REMOVE_ETOT_PROPAGATION - st->hNoiseEst->Etot_last = Etot; -#endif updt_enc_common( st ); #else updt_enc_common( st, Etot ); diff --git a/lib_enc/core_switching_enc.c b/lib_enc/core_switching_enc.c index 397965e974..d6b6220d91 100644 --- a/lib_enc/core_switching_enc.c +++ b/lib_enc/core_switching_enc.c @@ -401,22 +401,8 @@ void core_switching_post_enc( ( st->last_core == HQ_CORE || st->L_frame != st->last_L_frame || ( st->last_extl != SWB_TBE && st->last_extl != FB_TBE && st->last_core != TCX_20_CORE && st->last_core != TCX_10_CORE ) ) ) { set_f( st->hBWE_TD->state_ana_filt_shb, 0.0f, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -#ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, NULL ); -#else - set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); - set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - st->hBWE_TD->old_mean_EnvSHBres = 0.0f; - st->hBWE_TD->prev_enr_EnvSHBres = 1.0f; - st->hBWE_TD->prev_shb_env_tilt = 0.0f; - st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - st->hBWE_TD->prev_mix_factor = 1.0f; - st->hBWE_TD->prev_Env_error = 0.0f; -#endif - swb_tbe_reset( st->hBWE_TD->mem_csfilt, st->hBWE_TD->mem_genSHBexc_filt_down_shb, st->hBWE_TD->state_lpc_syn, st->hBWE_TD->syn_overlap, st->hBWE_TD->state_syn_shbexc, &( st->hBWE_TD->tbe_demph ), &( st->hBWE_TD->tbe_premph ), st->hBWE_TD->mem_stp_swb, &( st->hBWE_TD->gain_prec_swb ) ); - set_f( st->hBWE_TD->dec_2_over_3_mem, 0.0f, L_FILT_2OVER3 ); set_f( st->hBWE_TD->dec_2_over_3_mem_lp, 0.0f, L_FILT_2OVER3_LP ); } diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 9489742b4c..54e639923e 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -72,20 +72,17 @@ ivas_error evs_enc( float old_inp_12k8[L_INP_12k8], *inp; /* buffer of input signal @ 12k8 */ float old_inp_16k[L_INP]; /* buffer of input signal @ 16kHz */ float fr_bands[2 * NB_BANDS]; /* energy in frequency bands */ -#ifndef REMOVE_ETOT_PROPAGATION - float Etot; /* total energy; correlation shift */ -#endif - float ener; /* residual energy from Levinson-Durbin */ - float A[NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ - float Aw[NB_SUBFR16k * ( M + 1 )]; /* weighted A(z) unquantized for subframes */ - float epsP[M + 1]; /* LP prediction errors */ - float lsp_new[M]; /* LSPs at the end of the frame */ - float lsp_mid[M]; /* ISPs in the middle of the frame */ - int16_t vad_hover_flag; /* VAD hangover flag */ - int16_t hq_core_type; /* HQ core type (HQ, or LR-MDCT) */ - int16_t attack_flag; /* attack flag (GSC or TC) */ - float new_inp_resamp16k[L_FRAME16k]; /* new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ - float old_syn_12k8_16k[L_FRAME16k]; /* ACELP core synthesis at 12.8kHz or 16kHz to be used by the SWB BWE */ + float ener; /* residual energy from Levinson-Durbin */ + float A[NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ + float Aw[NB_SUBFR16k * ( M + 1 )]; /* weighted A(z) unquantized for subframes */ + float epsP[M + 1]; /* LP prediction errors */ + float lsp_new[M]; /* LSPs at the end of the frame */ + float lsp_mid[M]; /* ISPs in the middle of the frame */ + int16_t vad_hover_flag; /* VAD hangover flag */ + int16_t hq_core_type; /* HQ core type (HQ, or LR-MDCT) */ + int16_t attack_flag; /* attack flag (GSC or TC) */ + float new_inp_resamp16k[L_FRAME16k]; /* new input signal @16kHz, non pre-emphasised, used by the WB TBE/BWE */ + float old_syn_12k8_16k[L_FRAME16k]; /* ACELP core synthesis at 12.8kHz or 16kHz to be used by the SWB BWE */ float shb_speech[L_FRAME16k]; float hb_speech[L_FRAME16k / 4]; float new_swb_speech[L_FRAME48k]; @@ -165,17 +162,6 @@ ivas_error evs_enc( if ( st->last_core == AMR_WB_CORE ) { updt_IO_switch_enc( st, input_frame ); -#ifndef SIMPLIFY_TD_BWE_RESET - set_f( st->hBWE_TD->old_speech_shb, 0, L_LOOK_16k + L_SUBFR16k ); - set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - st->hBWE_TD->old_mean_EnvSHBres = 0.0f; - st->hBWE_TD->prev_enr_EnvSHBres = 1.0f; - st->hBWE_TD->prev_shb_env_tilt = 0.0f; - st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - st->hBWE_TD->prev_mix_factor = 1.0f; - st->hBWE_TD->prev_Env_error = 0.0f; -#endif cldfb_reset_memory( st->cldfbAnaEnc ); cldfb_reset_memory( st->cldfbSynTd ); } @@ -185,19 +171,10 @@ ivas_error evs_enc( *---------------------------------------------------------------------*/ #ifdef FIX_I4_OL_PITCH -#ifdef REMOVE_ETOT_PROPAGATION pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); #else - pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); -#endif -#else -#ifdef REMOVE_ETOT_PROPAGATION pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &ener, pitch_orig, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); -#else - pre_proc( st, input_frame, old_inp_12k8, old_inp_16k, &inp, fr_bands, &Etot, &ener, pitch_orig, A, Aw, epsP, lsp_new, lsp_mid, &vad_hover_flag, &attack_flag, new_inp_resamp16k, &Voicing_flag, realBuffer, imagBuffer, &hq_core_type ); #endif -#endif - if ( st->mdct_sw == MODE2 ) { @@ -438,20 +415,7 @@ ivas_error evs_enc( } else if ( st->input_Fs >= 32000 ) { -#ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); -#else - set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); - set_f( shb_speech, 0.0f, L_FRAME16k ); - set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - st->hBWE_TD->old_mean_EnvSHBres = 0.0f; - st->hBWE_TD->prev_enr_EnvSHBres = 1.0f; - st->hBWE_TD->prev_shb_env_tilt = 0.0f; - st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - st->hBWE_TD->prev_mix_factor = 1.0f; - st->hBWE_TD->prev_Env_error = 0.0f; -#endif } /* SWB TBE encoder */ @@ -526,9 +490,6 @@ ivas_error evs_enc( *---------------------------------------------------------------------*/ #ifdef MC_BITRATE_SWITCHING -#ifndef REMOVE_ETOT_PROPAGATION - st->hNoiseEst->Etot_last = Etot; -#endif updt_enc_common( st ); #else updt_enc_common( st, Etot ); diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index 4e1478b653..0d1bcf6381 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -55,15 +55,12 @@ extern float snr_[2][320]; *-------------------------------------------------------------------*/ ivas_error ivas_core_enc( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ - const int16_t n_CoreChannels, /* i : number of core channels to be coded */ - float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ - float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ -#ifndef REMOVE_ETOT_PROPAGATION - const float Etot[CPE_CHANNELS], /* i : total energy */ -#endif + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + MCT_ENC_HANDLE hMCT, /* i/o: MCT encoder structure */ + const int16_t n_CoreChannels, /* i : number of core channels to be coded */ + float old_inp_12k8[CPE_CHANNELS][L_INP_12k8], /* i : buffer of old input signal */ + float old_inp_16k[CPE_CHANNELS][L_INP], /* i : buffer of old input signal */ float ener[CPE_CHANNELS], /* i : residual energy from Levinson-Durbin */ float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : A(z) unquantized for the 4 subframes */ float Aw[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )], /* i : weighted A(z) unquantized for subframes */ @@ -345,20 +342,7 @@ ivas_error ivas_core_enc( { if ( st->hBWE_TD != NULL ) { -#ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); -#else - set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); - set_f( shb_speech, 0.0f, L_FRAME16k ); - set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - st->hBWE_TD->old_mean_EnvSHBres = 0.0f; - st->hBWE_TD->prev_enr_EnvSHBres = 1.0f; - st->hBWE_TD->prev_shb_env_tilt = 0.0f; - st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - st->hBWE_TD->prev_mix_factor = 1.0f; - st->hBWE_TD->prev_Env_error = 0.0f; -#endif } } @@ -416,9 +400,6 @@ ivas_error ivas_core_enc( *---------------------------------------------------------------------*/ #ifdef MC_BITRATE_SWITCHING -#ifndef REMOVE_ETOT_PROPAGATION - st->hNoiseEst->Etot_last = Etot[n]; -#endif if ( !MCT_flag ) /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ { updt_enc_common( st ); diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 440581746d..08b9ef7b07 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -67,17 +67,14 @@ static void calculate_energy_buffer( CPE_ENC_HANDLE hCPE, float enerBuffer_dft[] *--------------------------------------------------------------------*/ ivas_error pre_proc_front_ivas( - SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ - CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ - const int32_t element_brate, /* i : SCE/CPE element bitrate */ - const int16_t nb_bits_metadata, /* i : number of metadata bits */ - const int16_t input_frame, /* i : frame length */ - const int16_t n, /* i : channel number */ - float old_inp_12k8[], /* o : buffer of old input signal */ - float old_inp_16k[], /* o : buffer of old input signal @16kHz */ -#ifndef REMOVE_ETOT_PROPAGATION - float *Etot, /* o : total energy */ -#endif + SCE_ENC_HANDLE hSCE, /* i/o: SCE encoder structure */ + CPE_ENC_HANDLE hCPE, /* i/o: CPE encoder structure */ + const int32_t element_brate, /* i : SCE/CPE element bitrate */ + const int16_t nb_bits_metadata, /* i : number of metadata bits */ + const int16_t input_frame, /* i : frame length */ + const int16_t n, /* i : channel number */ + float old_inp_12k8[], /* o : buffer of old input signal */ + float old_inp_16k[], /* o : buffer of old input signal @16kHz */ float *ener, /* o : residual energy from Levinson-Durbin */ float *relE, /* o : frame relative energy */ float A[NB_SUBFR16k * ( M + 1 )], /* o : A(z) unquantized for the 4 subframes */ @@ -114,11 +111,9 @@ ivas_error pre_proc_front_ivas( const int16_t ivas_format /* i : IVAS format */ ) { - float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ - float *wsp; /* weighted input signal buffer */ -#ifdef REMOVE_ETOT_PROPAGATION - float Etot; /* total energy */ -#endif + float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ + float *wsp; /* weighted input signal buffer */ + float Etot; /* total energy */ float fr_bands[2 * NB_BANDS]; /* energy in frequency bands */ float lf_E[2 * VOIC_BINS]; /* per bin spectrum energy in lf */ float tmpN[NB_BANDS]; /* Temporary noise update */ @@ -420,19 +415,11 @@ ivas_error pre_proc_front_ivas( * Spectral analysis *--------------------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION analy_sp( element_mode, hCPE, input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, &Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); -#else - analy_sp( element_mode, hCPE, input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); -#endif if ( hStereoClassif != NULL ) { -#ifdef REMOVE_ETOT_PROPAGATION if ( st->lp_speech - Etot > 25 ) -#else - if ( st->lp_speech - *Etot > 25 ) -#endif { hStereoClassif->silence_flag = 2; } @@ -447,11 +434,7 @@ ivas_error pre_proc_front_ivas( * SAD (1-signal, 0-noise) *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION noise_est_pre( Etot, st->ini_frame, st->hNoiseEst, st->idchan, element_mode, hCPE != NULL ? hCPE->last_element_mode : element_mode ); -#else - noise_est_pre( *Etot, st->ini_frame, st->hNoiseEst, st->idchan, element_mode, hCPE != NULL ? hCPE->last_element_mode : element_mode ); -#endif if ( element_mode == IVAS_CPE_TD && ( ( abs( hCPE->hStereoTD->tdm_last_ratio_idx - tdm_ratio_idx ) > 5 && st->idchan == 1 ) || abs( hCPE->hStereoTD->tdm_last_inst_ratio_idx - hCPE->hStereoTD->tdm_inst_ratio_idx ) > 10 ) ) { @@ -524,11 +507,7 @@ ivas_error pre_proc_front_ivas( * Correlation correction as a function of total noise level *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); -#else - noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, *Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); -#endif if ( lr_vad_enabled && st->idchan == 0 ) { @@ -538,11 +517,7 @@ ivas_error pre_proc_front_ivas( corr_shiftR = correlation_shift( hCPE->hFrontVad[1]->hNoiseEst->totalNoise ); } -#ifdef REMOVE_ETOT_PROPAGATION *relE = Etot - st->lp_speech; -#else - *relE = *Etot - st->lp_speech; -#endif corr_shift = correlation_shift( st->hNoiseEst->totalNoise ); @@ -688,13 +663,8 @@ ivas_error pre_proc_front_ivas( * Update estimated noise energy and voicing cut-off frequency *-----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION noise_est( st, old_pitch1, tmpN, epsP, Etot, *relE, corr_shift, tmpE, fr_bands, cor_map_sum, &ncharX, &sp_div, &non_staX, loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &dummy /*sp_floor*/, S_map, hStereoClassif, NULL, st->ini_frame ); -#else - noise_est( st, old_pitch1, tmpN, epsP, *Etot, *relE, corr_shift, tmpE, fr_bands, cor_map_sum, &ncharX, &sp_div, - &non_staX, loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &dummy /*sp_floor*/, S_map, hStereoClassif, NULL, st->ini_frame ); -#endif if ( lr_vad_enabled && st->idchan == 0 ) { @@ -726,11 +696,7 @@ ivas_error pre_proc_front_ivas( find_tilt( fr_bands, st->hNoiseEst->bckr, ee, st->pitch, st->voicing, lf_E, corr_shift, st->input_bwidth, st->max_band, hp_E, MODE1, &( st->bckr_tilt_lt ), st->Opt_SC_VBR ); -#ifdef REMOVE_ETOT_PROPAGATION st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, &dE1X, corr_shift, *relE, Etot, hp_E, &flag_spitch, last_core_orig, hStereoClassif ); -#else - st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, &dE1X, corr_shift, *relE, *Etot, hp_E, &flag_spitch, last_core_orig, hStereoClassif ); -#endif /*-----------------------------------------------------------------* * channel aware mode configuration * @@ -766,11 +732,7 @@ ivas_error pre_proc_front_ivas( * 1st stage speech/music classification (GMM model) *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION smc_dec = ivas_smc_gmm( st, hStereoClassif, localVAD_HE_SAD, Etot, lsp_new, *cor_map_sum, epsP, PS, non_staX, *relE, &high_lpn_flag, flag_spitch ); -#else - smc_dec = ivas_smc_gmm( st, hStereoClassif, localVAD_HE_SAD, *Etot, lsp_new, *cor_map_sum, epsP, PS, non_staX, *relE, &high_lpn_flag, flag_spitch ); -#endif #ifdef DEBUGGING if ( st->idchan == 0 ) @@ -793,28 +755,16 @@ ivas_error pre_proc_front_ivas( * Update of old per-band energy spectrum *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION long_enr( st, Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); -#else - long_enr( st, *Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); -#endif mvr2r( fr_bands + NB_BANDS, st->hNoiseEst->enrO, NB_BANDS ); if ( lr_vad_enabled && st->idchan == 0 ) { -#ifdef REMOVE_ETOT_PROPAGATION long_enr( st, -1, localVAD_HE_SAD, high_lpn_flag, hCPE->hFrontVad, CPE_CHANNELS, localVAD_HE_SAD_LR, Etot_LR ); -#else - long_enr( st, *Etot, localVAD_HE_SAD, high_lpn_flag, hCPE->hFrontVad, CPE_CHANNELS, localVAD_HE_SAD_LR, Etot_LR ); -#endif mvr2r( fr_bands_LR[0] + NB_BANDS, hCPE->hFrontVad[0]->hNoiseEst->enrO, NB_BANDS ); mvr2r( fr_bands_LR[1] + NB_BANDS, hCPE->hFrontVad[1]->hNoiseEst->enrO, NB_BANDS ); -#ifndef REMOVE_ETOT_PROPAGATION - hCPE->hFrontVad[0]->hNoiseEst->Etot_last = Etot_LR[0]; - hCPE->hFrontVad[1]->hNoiseEst->Etot_last = Etot_LR[1]; -#endif } /*----------------------------------------------------------------* @@ -879,11 +829,7 @@ ivas_error pre_proc_front_ivas( } /* 2nd stage speech/music classification (ACELP/GSC/TCX core selection) */ -#ifdef REMOVE_ETOT_PROPAGATION ivas_smc_mode_selection( st, element_brate, smc_dec, *relE, Etot, attack_flag, inp_12k8, S_map, flag_spitch ); -#else - ivas_smc_mode_selection( st, element_brate, smc_dec, *relE, *Etot, attack_flag, inp_12k8, S_map, flag_spitch ); -#endif #ifdef ITD_WINNER_GAIN_MODIFY if ( element_mode == IVAS_CPE_DFT ) diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 698735cb19..1ab8a5084c 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -63,11 +63,8 @@ ivas_error ivas_cpe_enc( CPE_ENC_HANDLE hCPE; Encoder_State **sts; int16_t n, n_CoreChannels; - float old_inp_12k8[CPE_CHANNELS][L_INP_12k8]; /* buffer of input signal @ 12k8 */ - float old_inp_16k[CPE_CHANNELS][L_INP]; /* buffer of input signal @ 16kHz */ -#ifndef REMOVE_ETOT_PROPAGATION - float Etot[CPE_CHANNELS]; /* total energy; correlation shift */ -#endif + float old_inp_12k8[CPE_CHANNELS][L_INP_12k8]; /* buffer of input signal @ 12k8 */ + float old_inp_16k[CPE_CHANNELS][L_INP]; /* buffer of input signal @ 16kHz */ float ener[CPE_CHANNELS]; /* residual energy from Levinson-Durbin */ float relE[CPE_CHANNELS]; /* frame relative energy */ float A[CPE_CHANNELS][NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ @@ -98,9 +95,7 @@ ivas_error ivas_cpe_enc( int16_t localVAD_HE_SAD[CPE_CHANNELS]; /* HE-SAD flag without hangover, LR channels */ float band_energies_LR[2 * NB_BANDS]; /* energy in critical bands without minimum noise floor E_MIN */ float orig_input[CPE_CHANNELS][L_FRAME48k]; -#ifdef REMOVE_ETOT_PROPAGATION float Etot_last[CPE_CHANNELS]; -#endif int32_t tmp, input_Fs; int16_t max_bwidth, ivas_format; ENCODER_CONFIG_HANDLE hEncoderConfig; @@ -371,10 +366,9 @@ ivas_error ivas_cpe_enc( { sts[1]->bits_frame_channel -= st_ivas->hQMetaData->metadata_max_bits; } -#ifdef REMOVE_ETOT_PROPAGATION + Etot_last[0] = sts[0]->hNoiseEst->Etot_last; Etot_last[1] = sts[1]->hNoiseEst->Etot_last; -#endif } else if ( hCPE->element_mode == IVAS_CPE_MDCT ) { @@ -436,9 +430,6 @@ ivas_error ivas_cpe_enc( for ( n = 0; n < n_CoreChannels; n++ ) { error = pre_proc_front_ivas( NULL, hCPE, hCPE->element_brate, nb_bits_metadata, input_frame, n, old_inp_12k8[n], old_inp_16k[n], -#ifndef REMOVE_ETOT_PROPAGATION - &Etot[n], -#endif &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, @@ -525,11 +516,7 @@ ivas_error ivas_cpe_enc( { tdm_ol_pitch_comparison( hCPE, pitch_fr, voicing_fr ); -#ifdef REMOVE_ETOT_PROPAGATION tdm_configure_enc( hCPE, Etot_last, tdm_SM_or_LRTD_Pri, tdm_ratio_idx, tdm_ratio_idx_SM, attack_flag[0], nb_bits_metadata ); -#else - tdm_configure_enc( hCPE, tdm_SM_or_LRTD_Pri, tdm_ratio_idx, tdm_ratio_idx_SM, attack_flag[0], nb_bits_metadata ); -#endif if ( hEncoderConfig->Opt_DTX_ON ) { @@ -630,11 +617,7 @@ ivas_error ivas_cpe_enc( * Core Encoder *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION if ( ( error = ivas_core_enc( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8, old_inp_16k, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_core_enc( NULL, hCPE, st_ivas->hMCT, n_CoreChannels, old_inp_12k8, old_inp_16k, Etot, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, tdm_SM_or_LRTD_Pri, ivas_format, 0 ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 16ea571dd0..c95f0bc47a 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -475,12 +475,7 @@ ivas_error front_vad_spar( ivas_smc_gmm( st, NULL, localVAD_HE_SAD[0], Etot[0], lsp_new, cor_map_sum, epsP, PS, non_staX, relE, &high_lpn_flag, flag_spitch ); /* long-term energy update */ -#ifdef REMOVE_ETOT_PROPAGATION long_enr( st, -1, localVAD_HE_SAD[0], high_lpn_flag, &hFrontVad, 1, localVAD_HE_SAD, Etot ); -#else - long_enr( st, *Etot, localVAD_HE_SAD[0], high_lpn_flag, &hFrontVad, 1, localVAD_HE_SAD, Etot ); - hFrontVad->hNoiseEst->Etot_last = Etot[0]; -#endif /* increase ini_frame counter */ hFrontVad->ini_frame = min( hFrontVad->ini_frame + 1, MAX_FRAME_COUNTER ); diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 53e8a54a5d..1849d2da03 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -58,12 +58,9 @@ ivas_error ivas_ism_enc( SCE_ENC_HANDLE hSCE; Encoder_State *st; int16_t sce_id; - float old_inp_12k8[MAX_NUM_OBJECTS][1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ - float old_inp_16k[MAX_NUM_OBJECTS][1][L_INP]; /* buffer of input signal @ 16kHz */ - int16_t vad_flag[MAX_NUM_OBJECTS]; /* VAD flag */ -#ifndef REMOVE_ETOT_PROPAGATION - float Etot[MAX_NUM_OBJECTS][1]; /* total energy; correlation shift */ -#endif + float old_inp_12k8[MAX_NUM_OBJECTS][1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ + float old_inp_16k[MAX_NUM_OBJECTS][1][L_INP]; /* buffer of input signal @ 16kHz */ + int16_t vad_flag[MAX_NUM_OBJECTS]; /* VAD flag */ float ener[MAX_NUM_OBJECTS][1]; /* residual energy from Levinson-Durbin */ float relE[MAX_NUM_OBJECTS][1]; /* frame relative energy */ float A[MAX_NUM_OBJECTS][1][NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ @@ -150,9 +147,6 @@ ivas_error ivas_ism_enc( *----------------------------------------------------------------*/ error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata[sce_id], input_frame, 0, old_inp_12k8[sce_id][0], old_inp_16k[sce_id][0], -#ifndef REMOVE_ETOT_PROPAGATION - &Etot[sce_id][0], -#endif &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, @@ -268,11 +262,7 @@ ivas_error ivas_ism_enc( * Encoder *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8[sce_id], old_inp_16k[sce_id], ener[sce_id], A[sce_id], Aw[sce_id], epsP[sce_id], lsp_new[sce_id], lsp_mid[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer[sce_id], imagBuffer[sce_id], old_wsp[sce_id], loc_harm[sce_id], cor_map_sum[sce_id], vad_flag_dtx[sce_id], enerBuffer[sce_id], fft_buff[sce_id], 0, ISM_FORMAT, 0 ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8[sce_id], old_inp_16k[sce_id], Etot[sce_id], ener[sce_id], A[sce_id], Aw[sce_id], epsP[sce_id], lsp_new[sce_id], lsp_mid[sce_id], vad_hover_flag[sce_id], attack_flag[sce_id], realBuffer[sce_id], imagBuffer[sce_id], old_wsp[sce_id], loc_harm[sce_id], cor_map_sum[sce_id], vad_flag_dtx[sce_id], enerBuffer[sce_id], fft_buff[sce_id], 0, ISM_FORMAT, 0 ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index f87ea917d1..a67c527081 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -58,11 +58,8 @@ ivas_error ivas_sce_enc( const int16_t nb_bits_metadata /* i : number of metadata bits */ ) { - float old_inp_12k8[1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ - float old_inp_16k[1][L_INP]; /* buffer of input signal @ 16kHz */ -#ifndef REMOVE_ETOT_PROPAGATION - float Etot[1]; /* total energy; correlation shift */ -#endif + float old_inp_12k8[1][L_INP_12k8]; /* buffer of input signal @ 12k8 */ + float old_inp_16k[1][L_INP]; /* buffer of input signal @ 16kHz */ float ener[1]; /* residual energy from Levinson-Durbin */ float relE[1]; /* frame relative energy */ float A[1][NB_SUBFR16k * ( M + 1 )]; /* A(z) unquantized for subframes */ @@ -184,9 +181,6 @@ ivas_error ivas_sce_enc( *----------------------------------------------------------------*/ error = pre_proc_front_ivas( hSCE, NULL, hSCE->element_brate, nb_bits_metadata, input_frame, 0, old_inp_12k8[0], old_inp_16k[0], -#ifndef REMOVE_ETOT_PROPAGATION - &Etot[0], -#endif &ener[0], &relE[0], A[0], Aw[0], epsP[0], lsp_new[0], lsp_mid[0], &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, @@ -243,11 +237,7 @@ ivas_error ivas_sce_enc( * Encoder *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8, old_inp_16k, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, 0, ivas_format, flag_16k_smc ) ) != IVAS_ERR_OK ) -#else - if ( ( error = ivas_core_enc( hSCE, NULL, NULL, 1, old_inp_12k8, old_inp_16k, Etot, ener, A, Aw, epsP, lsp_new, lsp_mid, vad_hover_flag, attack_flag, realBuffer, imagBuffer, old_wsp, loc_harm, cor_map_sum, vad_flag_dtx, enerBuffer, fft_buff, 0, ivas_format, flag_16k_smc ) ) != IVAS_ERR_OK ) -#endif { return error; } diff --git a/lib_enc/ivas_stereo_td_enc.c b/lib_enc/ivas_stereo_td_enc.c index 78349edf33..4823e2b5f1 100644 --- a/lib_enc/ivas_stereo_td_enc.c +++ b/lib_enc/ivas_stereo_td_enc.c @@ -302,15 +302,13 @@ ivas_error stereo_set_tdm( *-------------------------------------------------------------------*/ void tdm_configure_enc( - CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ -#ifdef REMOVE_ETOT_PROPAGATION + CPE_ENC_HANDLE hCPE, /* i : CPE encoder structure */ const float Etot_last[CPE_CHANNELS], /* i/o: Energy of last frame */ -#endif - const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ - const int16_t tdm_ratio_idx, /* i : ratio index */ - const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ - const int16_t attack_flag, /* i : Primary channel attack flag */ - const int16_t nb_bits_metadata /* i : number of metadata bits */ + const int16_t tdm_SM_or_LRTD_Pri, /* i : channel combination scheme flag in TD stereo OR LRTD primary channel */ + const int16_t tdm_ratio_idx, /* i : ratio index */ + const int16_t tdm_ratio_idx_SM, /* i : ratio index in SM mode */ + const int16_t attack_flag, /* i : Primary channel attack flag */ + const int16_t nb_bits_metadata /* i : number of metadata bits */ ) { int16_t tdm_ratio_bit_alloc_idx, mod_ct; @@ -329,21 +327,11 @@ void tdm_configure_enc( *----------------------------------------------------------------*/ hStereoTD->tdm_use_IAWB_Ave_lpc = 0; /* Flag initialisation */ -#ifdef REMOVE_ETOT_PROPAGATION sts[0]->hSpMusClas->tdm_lt_Etot = 0.1f * Etot_last[0] + 0.9f * sts[0]->hSpMusClas->tdm_lt_Etot; sts[1]->hSpMusClas->tdm_lt_Etot = 0.1f * Etot_last[1] + 0.9f * sts[1]->hSpMusClas->tdm_lt_Etot; -#else - sts[0]->hSpMusClas->tdm_lt_Etot = 0.1f * sts[0]->hNoiseEst->Etot_last + 0.9f * sts[0]->hSpMusClas->tdm_lt_Etot; - sts[1]->hSpMusClas->tdm_lt_Etot = 0.1f * sts[1]->hNoiseEst->Etot_last + 0.9f * sts[1]->hSpMusClas->tdm_lt_Etot; -#endif -#ifdef REMOVE_ETOT_PROPAGATION if ( hCPE->hStereoClassif->lrtd_mode == 0 && ( ( sts[1]->hSpMusClas->tdm_lt_Etot < 0 && hCPE->hCoreCoder[1]->vad_flag == 0 ) /* very clean signal */ || ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( Etot_last[1] < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) -#else - if ( hCPE->hStereoClassif->lrtd_mode == 0 && ( ( sts[1]->hSpMusClas->tdm_lt_Etot < 0 && hCPE->hCoreCoder[1]->vad_flag == 0 ) /* very clean signal */ - || ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( sts[1]->hNoiseEst->Etot_last < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) -#endif { sts[1]->coder_type = INACTIVE; @@ -353,11 +341,7 @@ void tdm_configure_enc( } hStereoTD->tdm_lp_reuse_flag = 1; } -#ifdef REMOVE_ETOT_PROPAGATION else if ( ( ( hCPE->hCoreCoder[1]->vad_flag == 0 ) || ( hCPE->hCoreCoder[0]->vad_flag == 0 && Etot_last[1] < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) && ( hCPE->hStereoClassif->lrtd_mode == 1 ) /* && NO_DTX */ ) /* boths channels are inactive but not DTX used*/ -#else - else if ( ( ( hCPE->hCoreCoder[1]->vad_flag == 0 ) || ( hCPE->hCoreCoder[0]->vad_flag == 0 && sts[1]->hNoiseEst->Etot_last < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) && ( hCPE->hStereoClassif->lrtd_mode == 1 ) /* && NO_DTX */ ) /* boths channels are inactive but not DTX used*/ -#endif { sts[1]->coder_type = INACTIVE; if ( tdm_ratio_idx > 1 && tdm_ratio_idx < 29 ) @@ -369,11 +353,7 @@ void tdm_configure_enc( hStereoTD->tdm_lp_reuse_flag = 1; } } -#ifdef REMOVE_ETOT_PROPAGATION else if ( !( sts[1]->sp_aud_decision0 ) && sts[1]->tc_cnt <= 0 && ( sts[1]->coder_type_raw == UNVOICED || ( hStereoTD->tdm_LRTD_flag == 1 && hStereoTD->tdm_lp_reuse_flag == 0 && ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( Etot_last[1] < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) ) -#else - else if ( !( sts[1]->sp_aud_decision0 ) && sts[1]->tc_cnt <= 0 && ( sts[1]->coder_type_raw == UNVOICED || ( hStereoTD->tdm_LRTD_flag == 1 && hStereoTD->tdm_lp_reuse_flag == 0 && ( hCPE->hCoreCoder[1]->vad_flag == 0 || ( sts[1]->hNoiseEst->Etot_last < 30.0f && ( sts[0]->hSpMusClas->tdm_lt_Etot - sts[1]->hSpMusClas->tdm_lt_Etot ) > 26.0f ) ) ) ) ) -#endif { sts[1]->coder_type = UNVOICED; if ( hStereoTD->tdm_LRTD_flag == 1 ) diff --git a/lib_enc/long_enr.c b/lib_enc/long_enr.c index d2100b9ee6..012a69ed41 100644 --- a/lib_enc/long_enr.c +++ b/lib_enc/long_enr.c @@ -116,13 +116,11 @@ void long_enr( } } -#ifdef REMOVE_ETOT_PROPAGATION /* Update */ for ( n = 0; n < n_chan; n++ ) { hFrontVad[n]->hNoiseEst->Etot_last = Etot_LR[n]; } -#endif } else { @@ -160,10 +158,8 @@ void long_enr( } } -#ifdef REMOVE_ETOT_PROPAGATION /* Update */ st->hNoiseEst->Etot_last = Etot; -#endif } return; diff --git a/lib_enc/pre_proc.c b/lib_enc/pre_proc.c index d77a3e729c..c3247d62d7 100644 --- a/lib_enc/pre_proc.c +++ b/lib_enc/pre_proc.c @@ -59,10 +59,7 @@ void pre_proc( float old_inp_16k[], /* i/o: buffer of old input signal @ 16kHz */ float **inp, /* o : ptr. to inp. signal in the current frame*/ float fr_bands[2 * NB_BANDS], /* i : energy in frequency bands */ -#ifndef REMOVE_ETOT_PROPAGATION - float *Etot, /* i : total energy */ -#endif - float *ener, /* o : residual energy from Levinson-Durbin */ + float *ener, /* o : residual energy from Levinson-Durbin */ #ifndef FIX_I4_OL_PITCH int16_t pitch_orig[3], /* o : open-loop pitch values for quantization */ #endif @@ -86,21 +83,19 @@ void pre_proc( float old_wsp[L_WSP], *wsp; /* weighted input signal buffer */ float pitch_fr[NB_SUBFR]; /* fractional pitch values */ float voicing_fr[NB_SUBFR]; /* fractional pitch gains */ -#ifdef REMOVE_ETOT_PROPAGATION - float Etot; /* total energy */ -#endif - float lf_E[2 * VOIC_BINS]; /* per bin spectrum energy in lf */ - float tmpN[NB_BANDS]; /* Temporary noise update */ - float tmpE[NB_BANDS]; /* Temporary averaged energy of 2 sf. */ - float ee[2]; /* Spectral tilt */ - float corr_shift; /* correlation shift */ - float relE; /* frame relative energy */ - int16_t loc_harm; /* harmonicity flag */ - float cor_map_sum, sp_div, PS[128]; /* speech/music clasif. parameters */ - int16_t L_look; /* length of look-ahead */ - float snr_sum_he; /* HE SAD parameters */ - int16_t localVAD_HE_SAD; /* HE SAD parameters */ - int16_t vad_flag_dtx; /* HE-SAD flag with additional DTX HO */ + float Etot; /* total energy */ + float lf_E[2 * VOIC_BINS]; /* per bin spectrum energy in lf */ + float tmpN[NB_BANDS]; /* Temporary noise update */ + float tmpE[NB_BANDS]; /* Temporary averaged energy of 2 sf. */ + float ee[2]; /* Spectral tilt */ + float corr_shift; /* correlation shift */ + float relE; /* frame relative energy */ + int16_t loc_harm; /* harmonicity flag */ + float cor_map_sum, sp_div, PS[128]; /* speech/music clasif. parameters */ + int16_t L_look; /* length of look-ahead */ + float snr_sum_he; /* HE SAD parameters */ + int16_t localVAD_HE_SAD; /* HE SAD parameters */ + int16_t vad_flag_dtx; /* HE-SAD flag with additional DTX HO */ int16_t vad_flag_cldfb; float old_cor; float hp_E[2]; /* Energy in HF */ @@ -195,21 +190,13 @@ void pre_proc( * Spectral analysis *--------------------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION analy_sp( -1, NULL, st->input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, &Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); -#else - analy_sp( -1, NULL, st->input_Fs, inp_12k8, st->Bin_E, st->Bin_E_old, fr_bands, lf_E, Etot, st->min_band, st->max_band, band_energies, PS, fft_buff ); -#endif /*----------------------------------------------------------------* * SAD (1-signal, 0-noise) *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION noise_est_pre( Etot, st->ini_frame, st->hNoiseEst, 0, EVS_MONO, EVS_MONO ); -#else - noise_est_pre( *Etot, st->ini_frame, st->hNoiseEst, 0, EVS_MONO, EVS_MONO ); -#endif st->vad_flag = wb_vad( st, fr_bands, &noisy_speech_HO, &clean_speech_HO, &NB_speech_HO, &snr_sum_he, &localVAD_HE_SAD, &( st->flag_noisy_speech_snr ), NULL, NULL, -1000.0f, -1000.0f ); @@ -226,8 +213,7 @@ void pre_proc( st->vad_flag = vad_flag_cldfb; } - vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL, - NULL ); + vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, cldfb_addition, vad_hover_flag, NULL, NULL, NULL ); /*----------------------------------------------------------------* * NB/WB/SWB/FB bandwidth detector @@ -241,15 +227,9 @@ void pre_proc( * Correlation correction as a function of total noise level *----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); relE = Etot - st->lp_speech; -#else - noise_est_down( fr_bands, st->hNoiseEst->bckr, tmpN, tmpE, st->min_band, st->max_band, &st->hNoiseEst->totalNoise, *Etot, &st->hNoiseEst->Etot_last, &st->hNoiseEst->Etot_v_h2 ); - - relE = *Etot - st->lp_speech; -#endif if ( relE > 1.5f ) { @@ -375,11 +355,7 @@ void pre_proc( * Update estimated noise energy and voicing cut-off frequency *-----------------------------------------------------------------*/ -#ifdef REMOVE_ETOT_PROPAGATION noise_est( st, old_pitch1, tmpN, epsP, Etot, relE, corr_shift, tmpE, fr_bands, &cor_map_sum, NULL, &sp_div, &non_staX, &loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &sp_floor, 0, NULL, NULL, st->ini_frame ); -#else - noise_est( st, old_pitch1, tmpN, epsP, *Etot, relE, corr_shift, tmpE, fr_bands, &cor_map_sum, NULL, &sp_div, &non_staX, &loc_harm, lf_E, &st->hNoiseEst->harm_cor_cnt, st->hNoiseEst->Etot_l_lp, &sp_floor, 0, NULL, NULL, st->ini_frame ); -#endif /*------------------------------------------------------------------* * Update parameters used in the VAD and DTX @@ -394,11 +370,7 @@ void pre_proc( find_tilt( fr_bands, st->hNoiseEst->bckr, ee, st->pitch, st->voicing, lf_E, corr_shift, st->input_bwidth, st->max_band, hp_E, st->codec_mode, &( st->bckr_tilt_lt ), st->Opt_SC_VBR ); -#ifdef REMOVE_ETOT_PROPAGATION st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, NULL, corr_shift, relE, Etot, hp_E, &flag_spitch, last_core_orig, NULL ); -#else - st->coder_type = find_uv( st, pitch_fr, voicing_fr, inp_12k8, ee, NULL, corr_shift, relE, *Etot, hp_E, &flag_spitch, last_core_orig, NULL ); -#endif /*-----------------------------------------------------------------* * channel aware mode configuration * @@ -452,15 +424,9 @@ void pre_proc( st->GSC_IVAS_mode = 0; -#ifdef REMOVE_ETOT_PROPAGATION speech_music_classif( st, new_inp_12k8, inp_12k8, localVAD_HE_SAD, lsp_new, cor_map_sum, epsP, PS, Etot, old_cor, attack_flag, non_staX, relE, &high_lpn_flag, flag_spitch ); long_enr( st, Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); -#else - speech_music_classif( st, new_inp_12k8, inp_12k8, localVAD_HE_SAD, lsp_new, cor_map_sum, epsP, PS, *Etot, old_cor, attack_flag, non_staX, relE, &high_lpn_flag, flag_spitch ); - - long_enr( st, *Etot, localVAD_HE_SAD, high_lpn_flag, NULL, 1, NULL, NULL ); -#endif /*----------------------------------------------------------------* * Final VAD correction ( when HE-SAD is used instead of the normal VAD, @@ -612,11 +578,7 @@ void pre_proc( } if ( st->total_brate == ACELP_13k20 && st->bwidth != FB ) { -#ifdef REMOVE_ETOT_PROPAGATION MDCT_selector( st, sp_floor, Etot, cor_map_sum, enerBuffer ); -#else - MDCT_selector( st, sp_floor, *Etot, cor_map_sum, enerBuffer ); -#endif } } else @@ -912,11 +874,7 @@ void pre_proc( if ( st->total_brate == ACELP_16k40 && st->bwidth != FB ) { -#ifdef REMOVE_ETOT_PROPAGATION MDCT_selector( st, sp_floor, Etot, cor_map_sum, enerBuffer ); -#else - MDCT_selector( st, sp_floor, *Etot, cor_map_sum, enerBuffer ); -#endif } } else diff --git a/lib_enc/swb_pre_proc.c b/lib_enc/swb_pre_proc.c index 70c12b6232..321672e113 100644 --- a/lib_enc/swb_pre_proc.c +++ b/lib_enc/swb_pre_proc.c @@ -677,20 +677,7 @@ void swb_pre_proc( { if ( ( st->bwidth == FB || st->core == ACELP_CORE ) && ( st->element_mode == EVS_MONO ) ) { -#ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, shb_speech ); -#else - set_f( hBWE_TD->old_speech_shb, 0, L_LOOK_16k + L_SUBFR16k ); - set_f( shb_speech, 0, L_FRAME16k ); /* shb_speech for FB/SWB BWE_HIGHRATE is not used at 64kbps */ - set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - st->hBWE_TD->old_mean_EnvSHBres = 0.0f; - st->hBWE_TD->prev_enr_EnvSHBres = 1.0f; - st->hBWE_TD->prev_shb_env_tilt = 0.0f; - st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - st->hBWE_TD->prev_mix_factor = 1.0f; - st->hBWE_TD->prev_Env_error = 0.0f; -#endif } else { diff --git a/lib_enc/swb_tbe_enc.c b/lib_enc/swb_tbe_enc.c index 9602540dad..d92b33ad62 100644 --- a/lib_enc/swb_tbe_enc.c +++ b/lib_enc/swb_tbe_enc.c @@ -109,18 +109,7 @@ void InitSWBencBuffer( set_f( hBWE_TD->old_speech_wb, 0.0f, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set_f( hBWE_TD->old_input_fhb, 0.0f, NS2SA( 48000, ACELP_LOOK_NS + DELAY_FD_BWE_ENC_12k8_NS + DELAY_FIR_RESAMPL_NS ) - L_FRAME48k / 2 ); -#ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( hBWE_TD, NULL ); -#else - set_f( hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - hBWE_TD->old_mean_EnvSHBres = 0.0f; - hBWE_TD->prev_enr_EnvSHBres = 1.0f; - hBWE_TD->prev_shb_env_tilt = 0.0f; - hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - hBWE_TD->prev_mix_factor = 1.0f; - hBWE_TD->prev_Env_error = 0.0f; -#endif for ( i = 0; i < LPC_SHB_ORDER; i++ ) { @@ -161,7 +150,6 @@ void InitSWBencBuffer( } -#ifdef SIMPLIFY_TD_BWE_RESET /*-------------------------------------------------------------------* * InitSWBencBufferStates() * @@ -190,7 +178,6 @@ void InitSWBencBufferStates( return; } -#endif /*-------------------------------------------------------------------* diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index b425dbe006..4fe89cd967 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -188,23 +188,10 @@ void updt_IO_switch_enc( preemph( st->old_inp_16k, PREEMPH_FAC_16k, L_INP_MEM, &( st->mem_preemph16k ) ); /* reset TD BWE buffers */ -#ifndef SIMPLIFY_TD_BWE_RESET - set_f( st->hBWE_TD->old_speech_shb, 0.0f, L_LOOK_16k + L_SUBFR16k ); -#endif set_f( st->hBWE_TD->old_speech_wb, 0.0f, ( L_LOOK_12k8 + L_SUBFR ) * 5 / 16 ); set_f( st->hBWE_TD->old_bwe_exc, 0.0f, PIT16k_MAX * 2 ); set_f( st->hBWE_TD->old_bwe_exc_extended, 0.0f, NL_BUFF_OFFSET ); -#ifdef SIMPLIFY_TD_BWE_RESET InitSWBencBufferStates( st->hBWE_TD, NULL ); -#else - set_f( st->hBWE_TD->mem_shb_res, 0.0f, MAX_LEN_MA_FILTER ); - set_f( st->hBWE_TD->old_EnvSHBres, 0.0f, L_FRAME4k ); - st->hBWE_TD->old_mean_EnvSHBres = 0.0f; - st->hBWE_TD->prev_enr_EnvSHBres = 1.0f; - st->hBWE_TD->prev_pow_exc16kWhtnd = 1.0f; - st->hBWE_TD->prev_mix_factor = 1.0f; - st->hBWE_TD->prev_Env_error = 0.0f; -#endif st->hBWE_TD->bwe_non_lin_prev_scale = 0.0; set_f( st->hBWE_TD->decim_state1, 0.0f, ( 2 * ALLPASSSECTIONS_STEEP + 1 ) ); -- GitLab From f63c4d02e90491a20af9848610d0f08f2d38c741 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 18:02:59 +0100 Subject: [PATCH 517/620] Issue 265: fix use-of-uninitialized-value in MC bitrate switching; under FIX_265_MC_BRATE_SWITCHING --- lib_com/options.h | 2 +- lib_dec/ivas_corecoder_dec_reconfig.c | 6 ++++++ lib_dec/ivas_stereo_switching_dec.c | 8 ++++++++ lib_enc/ivas_stereo_switching_enc.c | 14 ++++++++++---- 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 5bf0435c0c..871157993c 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -157,7 +157,7 @@ #define SIMPLIFY_TD_BWE_RESET /* Issue 250: Resolve "TB-BWE state memories reset simplification" */ #define REMOVE_ETOT_PROPAGATION /* Issue 251: Do not propagate Etot parameter */ #define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ - +#define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 04dc4cccfc..8b29d9c785 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -244,6 +244,12 @@ ivas_error ivas_corecoder_dec_reconfig( for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) { #ifdef MC_BITRATE_SWITCHING +#ifdef FIX_265_MC_BRATE_SWITCHING + if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hOutSetup.separateChannelEnabled ) + { + st_ivas->element_mode_init = IVAS_CPE_MDCT; + } +#endif if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) #else if ( ( error = create_cpe_dec( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index b04cae97a9..569818760a 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -40,6 +40,9 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" +#ifdef FIX_265_MC_BRATE_SWITCHING +#include "assert.h" +#endif #include "wmc_auto.h" #include <math.h> @@ -354,6 +357,11 @@ ivas_error stereo_memory_dec( error = IVAS_ERR_OK; +#ifdef FIX_265_MC_BRATE_SWITCHING + assert( hCPE->last_element_mode > IVAS_CPE_DFT ); +#endif + + hCPE->hCoreCoder[0]->element_mode = hCPE->element_mode; hCPE->hCoreCoder[1]->element_mode = hCPE->element_mode; diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 75c62cfba9..5352e8f4fb 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -32,16 +32,18 @@ #include <stdint.h> #include "options.h" -#ifdef DEBUGGING -#include "debug.h" -#endif #include "cnst.h" #include "rom_com.h" #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" +#ifdef FIX_265_MC_BRATE_SWITCHING +#include "assert.h" +#endif #include "wmc_auto.h" - +#ifdef DEBUGGING +#include "debug.h" +#endif /*-------------------------------------------------------------------* * Function allocate_CoreCoder_enc() @@ -231,6 +233,10 @@ ivas_error stereo_memory_enc( error = IVAS_ERR_OK; +#ifdef FIX_265_MC_BRATE_SWITCHING + assert( hCPE->last_element_mode > IVAS_CPE_DFT ); +#endif + /*--------------------------------------------------------------* * save parameters from structures that will be freed *---------------------------------------------------------------*/ -- GitLab From 17aff08398f1f2388e67d1ef6dd8442207d4b8b1 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 18:05:21 +0100 Subject: [PATCH 518/620] add explanation print-out --- lib_dec/ivas_stereo_switching_dec.c | 2 +- lib_enc/ivas_stereo_switching_enc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 569818760a..4ba5c69598 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -358,7 +358,7 @@ ivas_error stereo_memory_dec( error = IVAS_ERR_OK; #ifdef FIX_265_MC_BRATE_SWITCHING - assert( hCPE->last_element_mode > IVAS_CPE_DFT ); + assert( hCPE->last_element_mode > IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); #endif diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 5352e8f4fb..6caff93cde 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -234,7 +234,7 @@ ivas_error stereo_memory_enc( error = IVAS_ERR_OK; #ifdef FIX_265_MC_BRATE_SWITCHING - assert( hCPE->last_element_mode > IVAS_CPE_DFT ); + assert( hCPE->last_element_mode > IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); #endif /*--------------------------------------------------------------* -- GitLab From 07244161d1a061ae488d1461bfd2322329d7b17c Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Fri, 23 Dec 2022 18:20:26 +0100 Subject: [PATCH 519/620] correct the assert condition --- lib_dec/ivas_stereo_switching_dec.c | 2 +- lib_enc/ivas_stereo_switching_enc.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 4ba5c69598..165d7dc896 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -358,7 +358,7 @@ ivas_error stereo_memory_dec( error = IVAS_ERR_OK; #ifdef FIX_265_MC_BRATE_SWITCHING - assert( hCPE->last_element_mode > IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); + assert( hCPE->last_element_mode >= IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); #endif diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 6caff93cde..8f39a1f15d 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -234,7 +234,7 @@ ivas_error stereo_memory_enc( error = IVAS_ERR_OK; #ifdef FIX_265_MC_BRATE_SWITCHING - assert( hCPE->last_element_mode > IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); + assert( hCPE->last_element_mode >= IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); #endif /*--------------------------------------------------------------* -- GitLab From c7af5187af53ced1af7db15d0c4bcc154f4b96be Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Tue, 3 Jan 2023 14:53:43 +1100 Subject: [PATCH 520/620] Remove the use of wine in test_param_file when calling networkSimulator_g192 on linux. Use linux binary instead --- scripts/tools/Linux/networkSimulator_g192 | Bin tests/test_param_file.py | 12 ++++-------- 2 files changed, 4 insertions(+), 8 deletions(-) mode change 100644 => 100755 scripts/tools/Linux/networkSimulator_g192 diff --git a/scripts/tools/Linux/networkSimulator_g192 b/scripts/tools/Linux/networkSimulator_g192 old mode 100644 new mode 100755 diff --git a/tests/test_param_file.py b/tests/test_param_file.py index 730acd5c00..4031fd36bf 100644 --- a/tests/test_param_file.py +++ b/tests/test_param_file.py @@ -356,14 +356,10 @@ def simulate( if platform.system() == "Windows": netsim = [os.path.join(rootdir, "scripts", "tools", "Win32", "networkSimulator_g192.exe")] - elif platform.system() == "Linux": - # there is no Linux binary available -> use the Win32 binary via wine - netsim = [ - "wine", - os.path.join(rootdir, "scripts", "tools", "Win32", "networkSimulator_g192.exe"), - ] - elif platform.system() == "Darwin": - netsim = [os.path.join(rootdir, "scripts", "tools", "Darwin", "networkSimulator_g192")] + elif platform.system() in ["Linux", "Darwin"]: + netsim = [os.path.join(rootdir, "scripts", "tools", platform.system(), "networkSimulator_g192")] + else: + assert False, f"networkSimulator_g192 not available for {platform.system()}" if update_ref == 1 or update_ref == 2 and not os.path.exists(ref_out_file): # call network simulator on REF encoder output -- GitLab From 29676d8115095c74c0f3ec25264d08d50e91222c Mon Sep 17 00:00:00 2001 From: Shanush Prema Thasarathan <shanush.premathasarathan@dolby.com> Date: Tue, 3 Jan 2023 19:15:05 +1100 Subject: [PATCH 521/620] Change tests to to bit exactness --- tests/test_sba_bs_dec_plc.py | 2 +- tests/test_sba_bs_enc.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_sba_bs_dec_plc.py b/tests/test_sba_bs_dec_plc.py index b885c06ddd..4ac4f761e6 100644 --- a/tests/test_sba_bs_dec_plc.py +++ b/tests/test_sba_bs_dec_plc.py @@ -49,7 +49,7 @@ ivas_br_list = ['32000', '64000', '96000', '256000'] sampling_rate_list = ['48', '32', '16'] agc_list = [-1, 0, 1] -AbsTol = '3' +AbsTol = '0' def check_and_makedir(dir_path): diff --git a/tests/test_sba_bs_enc.py b/tests/test_sba_bs_enc.py index fcf1c00fba..5fba381313 100644 --- a/tests/test_sba_bs_enc.py +++ b/tests/test_sba_bs_enc.py @@ -63,7 +63,7 @@ agc_list = [-1, 0, 1] sample_rate_bw_idx_list = [('48', 'SWB'), ('48', 'WB'), ('32', 'WB')] -AbsTol = '4' +AbsTol = '0' def check_and_makedir(dir_path): -- GitLab From 528f05be4ced80923e0729039a3acf7ba5dc6462 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 4 Jan 2023 15:38:50 +0530 Subject: [PATCH 522/620] clang format changes --- lib_com/ivas_prot.h | 4 ++-- lib_com/ivas_sba_config.c | 13 ++----------- lib_dec/ivas_init_dec.c | 2 +- lib_enc/ivas_ism_enc.c | 4 ++-- lib_enc/ivas_sba_enc.c | 7 ++++--- lib_enc/ivas_sce_enc.c | 2 +- 6 files changed, 12 insertions(+), 20 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 837d44b142..6eaa59c73d 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3144,12 +3144,12 @@ ivas_error ivas_sba_enc_reinit( int16_t get_sba_reinit_flag( int32_t ivas_total_bitrate, /* i : Current bitrate */ int32_t last_ivas_total_brate /* i : Previous bitrate */ -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING , const int16_t sba_order #endif ); #endif -#ifdef SBA_BR_SWITCHING_2 +#ifdef SBA_BR_SWITCHING ivas_error ivas_spar_md_enc_init ( ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ diff --git a/lib_com/ivas_sba_config.c b/lib_com/ivas_sba_config.c index abad34aa52..26ae98c954 100644 --- a/lib_com/ivas_sba_config.c +++ b/lib_com/ivas_sba_config.c @@ -80,18 +80,9 @@ SBA_MODE ivas_sba_mode_select( *-------------------------------------------------------------------*/ int16_t get_sba_reinit_flag( - int32_t ivas_total_bitrate, /* i : Current bitrate */ -<<<<<<< HEAD + int32_t ivas_total_bitrate, /* i : Current bitrate */ int32_t last_ivas_total_brate, /* i : Previous bitrate */ - int16_t sba_order -======= - int32_t last_ivas_total_brate /* i : Previous bitrate */ -#ifdef SBA_BR_SWITCHING_2 - , - const int16_t sba_order -#endif ->>>>>>> main -) + int16_t sba_order ) { int16_t sba_reinit_flag; diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 87a3d563a9..cea6a83d59 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -132,7 +132,7 @@ ivas_error ivas_dec_setup( #endif { #ifndef SBA_BR_SWITCHING_RECONFIG -#ifdef SBA_BR_SWITCHING +#ifdef SBA_BR_SWITCHING int16_t sba_reinit_flag = get_sba_reinit_flag( ivas_total_brate, st_ivas->last_active_ivas_total_brate, st_ivas->sba_order ); if ( sba_reinit_flag ) { diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index a13cdbd2cf..752528d365 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -152,8 +152,8 @@ ivas_error ivas_ism_enc( fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format #ifdef SBA_BR_SWITCHING_RECONFIG - , - 0 + , + 0 #endif ); if ( error != IVAS_ERR_OK ) diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 37ceb5ca11..e02322f319 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -349,10 +349,11 @@ ivas_error ivas_sba_enc_reconfigure( nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; #ifdef SBA_BR_SWITCHING_RECONFIG - SBA_MODE sba_mode_old = st_ivas->sba_mode; + SBA_MODE sba_mode_old; + sba_mode_old = st_ivas->sba_mode; st_ivas->flag_sba_bitrate_switch = 1; #endif - st_ivas->sba_analysis_order = ivas_sba_get_analysis_order(ivas_total_brate, hEncoderConfig->sba_order); + st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, hEncoderConfig->sba_order ); #ifdef SBA_BR_SWITCHING st_ivas->sba_mode = ivas_sba_mode_select( ivas_total_brate ); @@ -392,7 +393,7 @@ ivas_error ivas_sba_enc_reconfigure( #ifdef SBA_BR_SWITCHING_RECONFIG if ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) { - if ( hEncoderConfig->Opt_DTX_ON && ( st_ivas->nchan_transport > 2 ) ) + if ( hEncoderConfig->Opt_DTX_ON && ( st_ivas->nchan_transport > 2 ) ) { return IVAS_ERR_DTX_NOT_SUPPORTED; } diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 7c630ebe26..44a3b8cbcc 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -185,7 +185,7 @@ ivas_error ivas_sce_enc( &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, - st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format + st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format #ifdef SBA_BR_SWITCHING_RECONFIG , st_ivas->flag_sba_bitrate_switch -- GitLab From 23b7b5e62116366c6dd4f564a6ef9124d6edd035 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 4 Jan 2023 16:03:45 +0530 Subject: [PATCH 523/620] Clang format applied --- lib_enc/ivas_spar_encoder.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 6f949fb01c..7d87ec6b61 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -319,7 +319,9 @@ ivas_error ivas_spar_enc( // VE: last 1ms of 'ppFilterbank_prior_input' is not correct for ( int16_t i = 0; i < st_ivas->nchan_transport; i++ ) { - mvr2r( sts[i]->input_buff + NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ), st_ivas->hSpar->hFbMixer->ppFilterbank_prior_input[i] + st_ivas->hSpar->hFbMixer->fb_cfg->prior_input_length - input_frame, input_frame ); + mvr2r( ( sts[i]->input_buff + NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ) ), + ( st_ivas->hSpar->hFbMixer->ppFilterbank_prior_input[i] + st_ivas->hSpar->hFbMixer->fb_cfg->prior_input_length - input_frame ), + input_frame ); } //VE: TBD - update 'st->input_buff' for SparVAD -- GitLab From 6990b7d8b9cd66909e39359484844258b4e33bd6 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 4 Jan 2023 16:18:05 +0530 Subject: [PATCH 524/620] Resolving clang format error --- lib_enc/ivas_spar_encoder.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 7d87ec6b61..19a87d2cd9 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -321,10 +321,8 @@ ivas_error ivas_spar_enc( { mvr2r( ( sts[i]->input_buff + NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ) ), ( st_ivas->hSpar->hFbMixer->ppFilterbank_prior_input[i] + st_ivas->hSpar->hFbMixer->fb_cfg->prior_input_length - input_frame ), - input_frame ); + input_frame ); //VE: TBD - update 'st->input_buff' for SparVAD } - - //VE: TBD - update 'st->input_buff' for SparVAD } #endif -- GitLab From f166b20a14db34a4011dd918e307d60a5495ba92 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 4 Jan 2023 16:32:20 +0530 Subject: [PATCH 525/620] Resolving clang error : set 2 --- lib_enc/ivas_spar_encoder.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib_enc/ivas_spar_encoder.c b/lib_enc/ivas_spar_encoder.c index 19a87d2cd9..8bdfbef0e1 100644 --- a/lib_enc/ivas_spar_encoder.c +++ b/lib_enc/ivas_spar_encoder.c @@ -320,8 +320,7 @@ ivas_error ivas_spar_enc( for ( int16_t i = 0; i < st_ivas->nchan_transport; i++ ) { mvr2r( ( sts[i]->input_buff + NS2SA( hEncoderConfig->input_Fs, IVAS_FB_ENC_DELAY_NS ) ), - ( st_ivas->hSpar->hFbMixer->ppFilterbank_prior_input[i] + st_ivas->hSpar->hFbMixer->fb_cfg->prior_input_length - input_frame ), - input_frame ); //VE: TBD - update 'st->input_buff' for SparVAD + ( st_ivas->hSpar->hFbMixer->ppFilterbank_prior_input[i] + st_ivas->hSpar->hFbMixer->fb_cfg->prior_input_length - input_frame ), input_frame ); } } #endif -- GitLab From a4321e25ba4bd009e0b64e34a2e0221281366026 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 4 Jan 2023 14:54:25 +0100 Subject: [PATCH 526/620] Added condition in self_test_evs.prm to increase coverage of FEC_HQ_core.c --- scripts/config/self_test_evs.prm | 3 +++ scripts/testv/FEC_6pct2.bin | 3 +++ 2 files changed, 6 insertions(+) create mode 100644 scripts/testv/FEC_6pct2.bin diff --git a/scripts/config/self_test_evs.prm b/scripts/config/self_test_evs.prm index 02227154d8..bb73675d48 100644 --- a/scripts/config/self_test_evs.prm +++ b/scripts/config/self_test_evs.prm @@ -40,6 +40,9 @@ ../IVAS_cod -dtx 20 13200 8 testv/stv8c.pcm bit ../IVAS_dec -fec 5 8 bit testv/stv8c_13k20_8-8_DTX20_FEC5.tst +/ Codec A at 32 kbps, 32kHz in, 8kHz out, random FEC at 10% +../IVAS_cod 32000 32 scripts/testv/stv32c.pcm bit; +../IVAS_dec -fec 10 8 bit stv8c_32_32-8_FEC10.tst // Codec A at 5.90 kbps, 16kHz in, 16kHz out, VBR diff --git a/scripts/testv/FEC_6pct2.bin b/scripts/testv/FEC_6pct2.bin new file mode 100644 index 0000000000..dcbaf95698 --- /dev/null +++ b/scripts/testv/FEC_6pct2.bin @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe697a3a0c812eeff5f960c1842ae36868383338a7bbf90487ab102f0f18adcc +size 50000 -- GitLab From 5bbfe053b74786861e29248ce27a57376149a6a1 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 4 Jan 2023 15:34:09 +0100 Subject: [PATCH 527/620] Correction on comment for new test case --- scripts/config/self_test_evs.prm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/config/self_test_evs.prm b/scripts/config/self_test_evs.prm index bb73675d48..07836f2913 100644 --- a/scripts/config/self_test_evs.prm +++ b/scripts/config/self_test_evs.prm @@ -40,9 +40,9 @@ ../IVAS_cod -dtx 20 13200 8 testv/stv8c.pcm bit ../IVAS_dec -fec 5 8 bit testv/stv8c_13k20_8-8_DTX20_FEC5.tst -/ Codec A at 32 kbps, 32kHz in, 8kHz out, random FEC at 10% +// Codec A at 32 kbps, 32kHz in, 8kHz out, random FEC at 6% ../IVAS_cod 32000 32 scripts/testv/stv32c.pcm bit; -../IVAS_dec -fec 10 8 bit stv8c_32_32-8_FEC10.tst +../IVAS_dec -fec testv/FEC_6pct2.bin 8 bit stv8c_32_32-8_FEC10.tst // Codec A at 5.90 kbps, 16kHz in, 16kHz out, VBR -- GitLab From 7e0aa8250971d926fa8b396ebce337bf2cd1c4c2 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 4 Jan 2023 20:07:18 +0530 Subject: [PATCH 528/620] Resolving memory sanitizer error --- lib_enc/ivas_sba_enc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index e02322f319..ab4ebad853 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -427,7 +427,8 @@ ivas_error ivas_sba_enc_reconfigure( { return error; } - + /*Initialization*/ + hSpar->hMdEnc->table_idx = -1; /* FB mixer handle */ ivas_FB_mixer_close( &hSpar->hFbMixer, hEncoderConfig->input_Fs ); -- GitLab From 3f0977c10b11270c23ec2893597e28b6ed71acb2 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 4 Jan 2023 15:52:24 +0100 Subject: [PATCH 529/620] Modified ivas_voip_be_test.sh to fit coverage job and added it there. Remove tabs in smoke_test.sh --- .gitlab-ci.yml | 1 + ci/ivas_voip_be_test.sh | 49 ++++++++++++++++++++++++++++++++++++----- ci/smoke_test.sh | 16 +++++++------- 3 files changed, 52 insertions(+), 14 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 7ba0eecec4..9ee8356f34 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -935,6 +935,7 @@ coverage-test-on-main-scheduled: - python3 -m pytest tests/test_param_file.py -v -n 0 --update_ref 1 -m create_ref --param_file scripts/config/self_test_evs.prm --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - bash ci/smoke_test.sh coverage - python3 -m pytest -q -n auto tests/renderer/test_renderer_be_comparison.py + - bash ci/ivas_voip_be_test.sh coverage - lcov -c -d obj -o coverage.info - genhtml coverage.info -o coverage artifacts: diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index d65677b498..f031ef427e 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -28,6 +28,41 @@ # accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and # the United Nations Convention on Contracts on the International Sales of Goods. +function usage { + echo + echo "Usage:" + echo " ivas_voip_be_test.sh [MODE]" + echo + echo " MODE - test (default) or coverage" + exit +} + +if [ ! -d "lib_com" ]; then + echo "not in root directory! - please run in IVAS root" + exit 1 +fi + +if [ -z "$1" ] || [ "$1" == "test" ]; then + WORKERS="" + BUILD=1 + COVERAGE=0 +elif [ "$1" == "coverage" ]; then + WORKERS="-t 1" + BUILD=0 + COVERAGE=1 +else + usage +fi + + +cfg=./scripts/config/ci_linux.json +dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat + +if [ $BUILD -eq 1 ];then + make clean + make all -j +fi + # Configuration modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr') output_formats=('STEREO' 'FOA' '7_1' 'HOA3') @@ -38,13 +73,15 @@ network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" output_dir_default="out" output_dir_voip="out_voip" -# Build IVAS -make clean -make all -j 8 - # Run the same modes in VoIP and non-VoIP mode with a neutral delay profile -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee voip_be_test_output.txt -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a voip_be_test_output.txt +./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee voip_be_test_output.txt +./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a voip_be_test_output.txt + +if [ $COVERAGE -eq 1 ];then + # Coverage analysis requires only running the codec and may exit before the comparison part + exit(0) +fi + # Check if Python scripts above failed. They return status 0 even when running a mode fails, so we have to parse log file if grep -iq failed voip_be_test_output.txt ; then diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index 0963055acd..b710beab4e 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -32,8 +32,8 @@ function usage { echo echo "Usage:" echo " smoke_test.sh [MODE]" - echo - echo " MODE - test (default) or coverage" + echo + echo " MODE - test (default) or coverage" exit } @@ -44,12 +44,12 @@ fi if [ -z "$1" ] || [ "$1" == "test" ]; then WORKERS="" - BUILD=1 + BUILD=1 elif [ "$1" == "coverage" ]; then - WORKERS="-t 1" - BUILD=0 + WORKERS="-t 1" + BUILD=0 else - usage + usage fi @@ -57,8 +57,8 @@ cfg=./scripts/config/ci_linux.json dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat if [ $BUILD -eq 1 ];then - make clean - make all -j 8 + make clean + make all -j fi ./scripts/runIvasCodec.py -p $cfg -U 1 $WORKERS | tee smoke_test_output.txt -- GitLab From 724857cd705fa911dff2f0b02dd179a871390d80 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 4 Jan 2023 16:04:40 +0100 Subject: [PATCH 530/620] Bug fix in ci/ivas_voip_be_test.sh for exit argument --- ci/ivas_voip_be_test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index f031ef427e..6f9d92f8a6 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -79,7 +79,7 @@ output_dir_voip="out_voip" if [ $COVERAGE -eq 1 ];then # Coverage analysis requires only running the codec and may exit before the comparison part - exit(0) + exit 0 fi -- GitLab From cfa77ad5e10c52c6cb586b2fe6dc2259e120d5ac Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 4 Jan 2023 16:10:25 +0100 Subject: [PATCH 531/620] Fix ';' added by mistake --- scripts/config/self_test_evs.prm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config/self_test_evs.prm b/scripts/config/self_test_evs.prm index 07836f2913..6e5628592c 100644 --- a/scripts/config/self_test_evs.prm +++ b/scripts/config/self_test_evs.prm @@ -41,7 +41,7 @@ ../IVAS_dec -fec 5 8 bit testv/stv8c_13k20_8-8_DTX20_FEC5.tst // Codec A at 32 kbps, 32kHz in, 8kHz out, random FEC at 6% -../IVAS_cod 32000 32 scripts/testv/stv32c.pcm bit; +../IVAS_cod 32000 32 scripts/testv/stv32c.pcm bit ../IVAS_dec -fec testv/FEC_6pct2.bin 8 bit stv8c_32_32-8_FEC10.tst -- GitLab From 1f4d548a3873f83b05a50a047361c3e2da7a54f2 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Wed, 4 Jan 2023 16:17:36 +0000 Subject: [PATCH 532/620] Self-test: correct output test-vector name --- scripts/config/self_test_evs.prm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config/self_test_evs.prm b/scripts/config/self_test_evs.prm index 6e5628592c..5926c11dab 100644 --- a/scripts/config/self_test_evs.prm +++ b/scripts/config/self_test_evs.prm @@ -42,7 +42,7 @@ // Codec A at 32 kbps, 32kHz in, 8kHz out, random FEC at 6% ../IVAS_cod 32000 32 scripts/testv/stv32c.pcm bit -../IVAS_dec -fec testv/FEC_6pct2.bin 8 bit stv8c_32_32-8_FEC10.tst +../IVAS_dec -fec testv/FEC_6pct2.bin 8 bit stv32c_32k_32-8_FEC6.tst // Codec A at 5.90 kbps, 16kHz in, 16kHz out, VBR -- GitLab From 8a7e01530738a67c8a198ccb96691d64c5d19c7d Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Thu, 5 Jan 2023 11:09:10 +0530 Subject: [PATCH 533/620] Resolving memory sanitizer error :set 2 --- lib_dec/ivas_corecoder_dec_reconfig.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 0c8fbe2b0d..792d4cbd24 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -296,7 +296,10 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->use_itd = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f; - +#ifdef SBA_BR_SWITCHING_RECONFIG + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->IGFStereoMode[0] = -1; + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->IGFStereoMode[1] = -1; +#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { /* reset mct_chan_mode */ -- GitLab From 3ebef78a095c03b99785f3545b7085346d6fdba8 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 5 Jan 2023 08:46:46 +0000 Subject: [PATCH 534/620] Add one condition to cover EVS / AMR-WB switching for code coverage test --- scripts/config/self_test_evs.prm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/config/self_test_evs.prm b/scripts/config/self_test_evs.prm index 5926c11dab..0d67105069 100644 --- a/scripts/config/self_test_evs.prm +++ b/scripts/config/self_test_evs.prm @@ -207,6 +207,10 @@ ../IVAS_cod ../scripts/switchPaths/sw_swb1.bin 32 testv/stv32c.pcm bit ../IVAS_dec 32 bit testv/stv32c_13_128k_32-32.tst +// Codec switching EVS / AMR-WB between 5.9 and 128 kbps, 48kHz in, 32kHz out +../IVAS_cod ../scripts/switchPaths/sw_amrwb_evs2.bin 48 testv/stv48c.pcm bit +../IVAS_dec 32 bit testv/stv48c_59_128k_48-32.tst + // AMR-WB IO at 12.65 kbps, 16kHz in, 16kHz out, fixed DTX -- GitLab From 6c43ea1b5aaec8d81db935b6bcd8580b6f11bedb Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 5 Jan 2023 08:59:52 +0000 Subject: [PATCH 535/620] fix condition name --- scripts/config/self_test_evs.prm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/config/self_test_evs.prm b/scripts/config/self_test_evs.prm index 0d67105069..a252dd4380 100644 --- a/scripts/config/self_test_evs.prm +++ b/scripts/config/self_test_evs.prm @@ -207,7 +207,7 @@ ../IVAS_cod ../scripts/switchPaths/sw_swb1.bin 32 testv/stv32c.pcm bit ../IVAS_dec 32 bit testv/stv32c_13_128k_32-32.tst -// Codec switching EVS / AMR-WB between 5.9 and 128 kbps, 48kHz in, 32kHz out +// Codec switching EVS - AMR-WB IO between 5.9 and 128 kbps, 48kHz in, 32kHz out ../IVAS_cod ../scripts/switchPaths/sw_amrwb_evs2.bin 48 testv/stv48c.pcm bit ../IVAS_dec 32 bit testv/stv48c_59_128k_48-32.tst -- GitLab From 82228af2c19f7ac4570996d9627e0d419baf2ab7 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Fri, 6 Jan 2023 18:35:27 +0530 Subject: [PATCH 536/620] Address review comments:set 1 --- lib_com/ivas_prot.h | 34 ++---------------------------- lib_com/options.h | 7 ++---- lib_enc/ivas_core_pre_proc_front.c | 13 +----------- lib_enc/ivas_cpe_enc.c | 7 +----- lib_enc/ivas_front_vad.c | 3 ++- lib_enc/ivas_init_enc.c | 2 -- lib_enc/ivas_ism_enc.c | 7 +----- lib_enc/ivas_sba_enc.c | 6 +----- lib_enc/ivas_sce_enc.c | 7 +----- lib_enc/ivas_stat_enc.h | 2 -- 10 files changed, 11 insertions(+), 77 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 6eaa59c73d..ad30acb039 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -226,9 +226,6 @@ ivas_error pre_proc_front_ivas( const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ const int32_t ivas_total_brate, /* i : IVAS total bitrate */ const int16_t ivas_format /* i : IVAS format */ -#ifdef SBA_BR_SWITCHING_RECONFIG - , const int16_t flag_sba_bitrate_switch /* i : SBA bitrate switch flag */ -#endif ); ivas_error pre_proc_ivas( @@ -3130,44 +3127,17 @@ void ivas_sba_config( int16_t *nCPE, /* o : number of CPEs */ int16_t *element_mode /* o : element mode of the core coder */ ); -#ifndef SBA_BR_SWITCHING_RECONFIG - -ivas_error ivas_sba_enc_reconfigure( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); - -#ifdef SBA_BR_SWITCHING -ivas_error ivas_sba_enc_reinit( - Encoder_Struct *st_ivas /* i/o: IVAS encoder structure */ -); -int16_t get_sba_reinit_flag( - int32_t ivas_total_bitrate, /* i : Current bitrate */ - int32_t last_ivas_total_brate /* i : Previous bitrate */ -#ifdef SBA_BR_SWITCHING - , const int16_t sba_order -#endif -); -#endif -#ifdef SBA_BR_SWITCHING -ivas_error ivas_spar_md_enc_init -( - ivas_spar_md_enc_state_t *hMdEnc, /* o : MD encoder handle */ - const ENCODER_CONFIG_HANDLE hEncoderConfig, /* i : configuration structure */ - const int16_t sba_order /* i : Ambisonic (SBA) order */ -); -#endif -#endif ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); - +#ifndef SBA_BR_SWITCHING_RECONFIG #ifdef SBA_BR_SWITCHING ivas_error ivas_sba_dec_reinit( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); #endif - +#endif void ivas_init_dec_get_num_cldfb_instances( Decoder_Struct *st_ivas, /* i : IVAS decoder structure */ diff --git a/lib_com/options.h b/lib_com/options.h index c528ef68ce..dd94e750ee 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -141,12 +141,9 @@ #define DISABLE_ADAP_RES_COD_TMP /* temporary fix for IVAS-403, disables adaptive residual coding */ /*#define ITD_WINNER_GAIN_MODIFY */ /* ITD optimization - WORK IN PROGRESS */ /*#define FIX_I4_OL_PITCH*/ /* fix open-loop pitch used for EVS core switching */ -#define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/ -#ifdef SBA_BR_SWITCHING_RECONFIG #define SBA_BR_SWITCHING /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same number of transport channels*/ -#endif -#ifndef SBA_BR_SWITCHING -#define SBA_BR_SWITCHING /* Issue 114: Changes for SBA bit rate switching with reconfiguration for bitrates with same no:of transport channels and reinitialization for different no:of transport channels */ +#ifdef SBA_BR_SWITCHING +#define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/ #endif #define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ diff --git a/lib_enc/ivas_core_pre_proc_front.c b/lib_enc/ivas_core_pre_proc_front.c index 7887748e2d..e7741a10da 100644 --- a/lib_enc/ivas_core_pre_proc_front.c +++ b/lib_enc/ivas_core_pre_proc_front.c @@ -108,12 +108,7 @@ ivas_error pre_proc_front_ivas( const int16_t force_front_vad, /* i : flag to force VAD decision */ const int16_t front_vad_dtx_flag, /* i : front-VAD DTX flag to overwrite VAD decision*/ const int32_t ivas_total_brate, /* i : IVAS total bitrate - for setting the DTX */ - const int16_t ivas_format -#ifdef SBA_BR_SWITCHING_RECONFIG - , - const int16_t flag_sba_bitrate_switch -#endif -) + const int16_t ivas_format ) { float *inp_12k8, *new_inp_12k8; /* pointers to current frame and new data */ float *wsp; /* weighted input signal buffer */ @@ -461,12 +456,6 @@ ivas_error pre_proc_front_ivas( st->vad_flag = front_vad_flag; st->localVAD = front_vad_flag; } -#ifdef SBA_BR_SWITCHING_RECONFIG - if ( flag_sba_bitrate_switch ) - { - st->vad_flag = 1; - } -#endif if ( ( hCPE != NULL && !( lr_vad_enabled && st->idchan == 0 ) ) || hSCE != NULL ) { *vad_flag_dtx = dtx_hangover_addition( st, st->vad_flag, st->lp_speech - st->lp_noise, 0, vad_hover_flag, NULL, NULL, NULL ); diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index e524bae615..1ab8a5084c 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -433,12 +433,7 @@ ivas_error ivas_cpe_enc( &ener[n], &relE[n], A[n], Aw[n], epsP[n], lsp_new[n], lsp_mid[n], &vad_hover_flag[n], &attack_flag[n], realBuffer[n], imagBuffer[n], old_wsp[n], pitch_fr[n], voicing_fr[n], &loc_harm[n], &cor_map_sum[n], &vad_flag_dtx[n], enerBuffer[n], fft_buff[n], A[0], lsp_new[0], currFlatness[n], tdm_ratio_idx, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, band_energies_LR, 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, 0, 0, - ivas_total_brate, st_ivas->hEncoderConfig->ivas_format -#ifdef SBA_BR_SWITCHING_RECONFIG - , - st_ivas->flag_sba_bitrate_switch -#endif - ); + ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index c95f0bc47a..9bb9230077 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -397,7 +397,8 @@ ivas_error front_vad_spar( hFrontVad = hSpar->hFrontVad; st = hSpar->hCoreCoderVAD; - if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_total_brate <= SBA_DTX_BITRATE_THRESHOLD ) + if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_total_brate <= SBA_DTX_BITRATE_THRESHOLD && + hEncoderConfig->ivas_total_brate == hEncoderConfig->last_ivas_total_brate ) { /*------------------------------------------------------------------* * Initialization diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 3a5b4fdd72..6f2d8e377c 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -346,8 +346,6 @@ ivas_error ivas_init_encoder( #ifdef SBA_BR_SWITCHING st_ivas->sba_reinit_flag = 0; #endif -#else - st_ivas->flag_sba_bitrate_switch = 0; #endif /*-----------------------------------------------------------------* * Allocate and initialize SCE/CPE and other handles diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 752528d365..1849d2da03 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -150,12 +150,7 @@ ivas_error ivas_ism_enc( &ener[sce_id][0], &relE[sce_id][0], A[sce_id][0], Aw[sce_id][0], epsP[sce_id][0], lsp_new[sce_id][0], lsp_mid[sce_id][0], &vad_hover_flag[sce_id][0], &attack_flag[sce_id][0], realBuffer[sce_id][0], imagBuffer[sce_id][0], old_wsp[sce_id][0], pitch_fr[sce_id][0], voicing_fr[sce_id][0], &loc_harm[sce_id][0], &cor_map_sum[sce_id][0], &vad_flag_dtx[sce_id][0], enerBuffer[sce_id][0], fft_buff[sce_id][0], A[sce_id][0], lsp_new[sce_id][0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, 0, 0, 0, 0, - st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format -#ifdef SBA_BR_SWITCHING_RECONFIG - , - 0 -#endif - ); + st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index ab4ebad853..380429f2cf 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -332,10 +332,6 @@ ivas_error ivas_sba_enc_reconfigure( error = IVAS_ERR_OK; - -#ifdef SBA_BR_SWITCHING_RECONFIG - st_ivas->flag_sba_bitrate_switch = 0; -#endif hEncoderConfig = st_ivas->hEncoderConfig; ivas_total_brate = hEncoderConfig->ivas_total_brate; @@ -351,7 +347,6 @@ ivas_error ivas_sba_enc_reconfigure( #ifdef SBA_BR_SWITCHING_RECONFIG SBA_MODE sba_mode_old; sba_mode_old = st_ivas->sba_mode; - st_ivas->flag_sba_bitrate_switch = 1; #endif st_ivas->sba_analysis_order = ivas_sba_get_analysis_order( ivas_total_brate, hEncoderConfig->sba_order ); #ifdef SBA_BR_SWITCHING @@ -391,6 +386,7 @@ ivas_error ivas_sba_enc_reconfigure( #endif #ifdef SBA_BR_SWITCHING_RECONFIG + /*TODO : Verify if full SPAR close and open can be used instead of submodules close and open */ if ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) { if ( hEncoderConfig->Opt_DTX_ON && ( st_ivas->nchan_transport > 2 ) ) diff --git a/lib_enc/ivas_sce_enc.c b/lib_enc/ivas_sce_enc.c index 44a3b8cbcc..a67c527081 100644 --- a/lib_enc/ivas_sce_enc.c +++ b/lib_enc/ivas_sce_enc.c @@ -185,12 +185,7 @@ ivas_error ivas_sce_enc( &vad_hover_flag[0], &attack_flag[0], realBuffer[0], imagBuffer[0], old_wsp[0], pitch_fr[0], voicing_fr[0], &loc_harm[0], &cor_map_sum[0], &vad_flag_dtx[0], enerBuffer[0], fft_buff[0], A[0], lsp_new[0], currFlatness[0], 0, fr_bands, Etot_LR, lf_E, localVAD_HE_SAD, NULL, flag_16k_smc, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_flag : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->force_front_vad : 0, st_ivas->hSpar != NULL ? st_ivas->hSpar->front_vad_dtx_flag : 0, - st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format -#ifdef SBA_BR_SWITCHING_RECONFIG - , - st_ivas->flag_sba_bitrate_switch -#endif - ); + st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->hEncoderConfig->ivas_format ); if ( error != IVAS_ERR_OK ) { return error; diff --git a/lib_enc/ivas_stat_enc.h b/lib_enc/ivas_stat_enc.h index 832cf555f4..11dd51104d 100644 --- a/lib_enc/ivas_stat_enc.h +++ b/lib_enc/ivas_stat_enc.h @@ -1042,8 +1042,6 @@ typedef struct #ifdef SBA_BR_SWITCHING int16_t sba_reinit_flag; /*flag indicating whether reinitialisation or reconfiguration function should be used*/ #endif -#else - int16_t flag_sba_bitrate_switch; /*flag indicating whether SBA bitrate switching */ #endif float **mem_hp20_in; /* input signals HP filter memories */ -- GitLab From 17ea12b3a39f364c2fc84f93fe6cff13caa81c25 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 9 Jan 2023 12:06:28 +0530 Subject: [PATCH 537/620] Moved a change to under the switch --- lib_enc/ivas_front_vad.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index 9bb9230077..b97146313c 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -396,9 +396,12 @@ ivas_error front_vad_spar( hFrontVad = hSpar->hFrontVad; st = hSpar->hCoreCoderVAD; - +#ifdef SBA_BR_SWITCHING_RECONFIG if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_total_brate <= SBA_DTX_BITRATE_THRESHOLD && hEncoderConfig->ivas_total_brate == hEncoderConfig->last_ivas_total_brate ) +#else + if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_total_brate <= SBA_DTX_BITRATE_THRESHOLD ) +#endif { /*------------------------------------------------------------------* * Initialization -- GitLab From 5aabba742c98e1350644993324fb08fdc775b9a9 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 11:08:45 +0100 Subject: [PATCH 538/620] Fix unused variables --- ci/ivas_voip_be_test.sh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 6f9d92f8a6..7964ce1ceb 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -54,10 +54,6 @@ else usage fi - -cfg=./scripts/config/ci_linux.json -dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat - if [ $BUILD -eq 1 ];then make clean make all -j @@ -68,21 +64,21 @@ modes=('SBA_b128_wb_cbr' 'MC_7_1_b96_fb_cbr' 'ISM2_b48_fb_cbr') output_formats=('STEREO' 'FOA' '7_1' 'HOA3') limit_input_to_x_seconds=30 -network_profile_path="scripts/dly_error_profiles/dly_error_profile_0.dat" +cfg=./scripts/config/ci_linux.json +dly_profile=./scripts/dly_error_profiles/dly_error_profile_0.dat output_dir_default="out" output_dir_voip="out_voip" # Run the same modes in VoIP and non-VoIP mode with a neutral delay profile -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee voip_be_test_output.txt -./scripts/runIvasCodec.py -p ./scripts/config/ci_linux.json $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$network_profile_path" | tee -a voip_be_test_output.txt +./scripts/runIvasCodec.py -p $cfg $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee voip_be_test_output.txt +./scripts/runIvasCodec.py -p $cfg $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$dly_profile" | tee -a voip_be_test_output.txt if [ $COVERAGE -eq 1 ];then # Coverage analysis requires only running the codec and may exit before the comparison part exit 0 fi - # Check if Python scripts above failed. They return status 0 even when running a mode fails, so we have to parse log file if grep -iq failed voip_be_test_output.txt ; then echo "Run errors in runIvasCodec.py" -- GitLab From dc847d1f2b902f07936c739b9e8f1a608af15302 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 10:02:08 +0100 Subject: [PATCH 539/620] add new pcm comparison code --- tests/cmp_pcm.py | 34 ++++++++++++++++++++++++++++++++++ tests/test_sba_bs_enc.py | 16 ++++------------ tests/testconfig.py | 21 +++++++++++++++++++++ 3 files changed, 59 insertions(+), 12 deletions(-) create mode 100644 tests/cmp_pcm.py diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py new file mode 100644 index 0000000000..f2d5c63b4f --- /dev/null +++ b/tests/cmp_pcm.py @@ -0,0 +1,34 @@ +import os +import sys + +THIS_PATH = os.path.join(os.getcwd(), __file__) +sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) + +import pyaudio3dtools + + +def cmp_pcm(file1, file2, nchannels, fs) -> (int, str): + """ + Compare 2 PCM files for bitexactness + """ + print("Cmp PCM Report") + print("=====================") + + s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs) + s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs) + + if s1.shape != s2.shape: + print( + f"file size in samples: file 1 = {s1.shape[0]},", + f"file 2 = {s2.shape[0]}", + ) + return 1, "FAIL: File lengths differ" + + cmp_result = pyaudio3dtools.audioarray.compare(s1, s2, fs) + + if cmp_result["bitexact"]: + return 0, "SUCCESS: Files are bitexact" + else: + diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']}" + print(diff_msg) + return 1, "FAIL: Files have different content" diff --git a/tests/test_sba_bs_enc.py b/tests/test_sba_bs_enc.py index 5fba381313..6fc0c71ad0 100644 --- a/tests/test_sba_bs_enc.py +++ b/tests/test_sba_bs_enc.py @@ -39,9 +39,10 @@ import os import errno import pytest -from cmp_custom import cmp_custom +from cmp_pcm import cmp_pcm from cut_pcm import cut_samples from conftest import EncoderFrontend, DecoderFrontend +from testconfig import OC_TO_NCHANNELS # params tag_list = ['stvFOA'] @@ -593,17 +594,8 @@ def sba_dec( dut_out_raw, ) - # -------------- compare cmd -------------- - - end_skip_samples = '0' - - cmp_result, reason = cmp_custom( - dut_out_raw, - ref_out_raw, - "2", - AbsTol, - end_skip_samples - ) + fs = int(sampling_rate) * 1000 + cmp_result, reason = cmp_pcm(dut_out_raw, ref_out_raw, OC_TO_NCHANNELS[output_config], fs) # report compare result assert cmp_result == 0, reason diff --git a/tests/testconfig.py b/tests/testconfig.py index f4827a004f..0d84555366 100644 --- a/tests/testconfig.py +++ b/tests/testconfig.py @@ -35,3 +35,24 @@ To configure test modules. """ PARAM_FILE = "scripts/config/self_test.prm" +OC_TO_NCHANNELS = { + "MONO": 1, + "STEREO": 2, + "BINAURAL": 2, + "BINAURAL_ROOM": 2, + "5_1": 6, + "7_1": 8, + "5_1_2": 8, + "5_1_4": 10, + "7_1_4": 12, + "FOA": 4, + "HOA2": 9, + "HOA3": 16, + "EXT": 1, + "ISM1": 1, + "ISM2": 2, + "ISM3": 3, + "ISM4": 4, + "MASA1TC": 1, + "MASA2TC": 2, +} -- GitLab From 74122691dcf501fad75d8bd06776934685c072c5 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 10:31:51 +0100 Subject: [PATCH 540/620] add new pcm comparison to all files --- tests/cmp_custom.py | 201 ----------------------------------- tests/test_param_file.py | 30 ++---- tests/test_sba_bs_dec_plc.py | 14 +-- 3 files changed, 10 insertions(+), 235 deletions(-) delete mode 100755 tests/cmp_custom.py diff --git a/tests/cmp_custom.py b/tests/cmp_custom.py deleted file mode 100755 index ab22bc0ceb..0000000000 --- a/tests/cmp_custom.py +++ /dev/null @@ -1,201 +0,0 @@ -#!/usr/bin/env python3 - -__copyright__ = \ -""" -(C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository. All Rights Reserved. - -This software is protected by copyright law and by international treaties. -The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, -Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., -Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, -Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other -contributors to this repository retain full ownership rights in their respective contributions in -the software. This notice grants no license of any kind, including but not limited to patent -license, nor is any license granted by implication, estoppel or otherwise. - -Contributors are required to enter into the IVAS codec Public Collaboration agreement before making -contributions. - -This software is provided "AS IS", without any express or implied warranties. The software is in the -development stage. It is intended exclusively for experts who have experience with such software and -solely for the purpose of inspection. All implied warranties of non-infringement, merchantability -and fitness for a particular purpose are hereby disclaimed and excluded. - -Any dispute, controversy or claim arising under or in relation to providing this software shall be -submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in -accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and -the United Nations Convention on Contracts on the International Sales of Goods. -""" - -__doc__ = \ -""" -Script to compare samples in 2 PCM files. - -USAGE : cmp_custom.py file_1 file_2 sample_size_in_bytes tolerance [end_samples_to_skip] -file_1, file_2 : files to compare -sample_size_in_bytes : 1, 2, 4, 8, these many bytes will be compared in single iteration -tolerance : abs error tolerance, will be computed based on sample_size_in_bytes -end_samples_to_skip : num of samples to be skipped at the end -""" - -import sys -import platform - - -class CompareSamples: - """ - A class to compare PCM samples. - """ - - def __init__( - self, - filename_1: str, - filename_2: str, - sample_size_in_bytes: int, - tolerance: int, - end_samples_to_skip: int, - ): - self.file_1 = open(filename_1, "rb") - self.file_2 = open(filename_2, "rb") - self.sample_size = sample_size_in_bytes - self.tolerance = tolerance - self.end_samples_to_skip = end_samples_to_skip - self.samples = 0 - self.max_diff = 0 - self.max_diff_sample_num = 0 - self.diff_present = False - self.first_diff_sample_num = 0 - self.first_diff = 0 - self.file_samples_to_read = 0 - self.file_size_1_samples = 0 - self.file_size_2_samples = 0 - - def get_file_sizes(self): - """ - Determine the file sizes in samples of the 2 PCM files. - """ - self.file_1.seek(0, 2) - self.file_2.seek(0, 2) - self.file_size_1_samples = self.file_1.tell() / self.sample_size - self.file_size_2_samples = self.file_2.tell() / self.sample_size - self.file_samples_to_read = ( - min(self.file_size_1_samples, self.file_size_2_samples) - - self.end_samples_to_skip - ) - self.file_1.seek(0) - self.file_2.seek(0) - - def print_summary(self) -> (int, str): - """ - Print the summary of the comparison. - """ - print("Compare Custom Report") - print("=====================") - print( - f"file size in samples: file 1 = {self.file_size_1_samples},", - f"file 2 = {self.file_size_2_samples}", - ) - if self.file_size_1_samples != self.file_size_2_samples: - print("WARNING !!!! file size different") - print(f"Total number of samples compared = {self.samples}") - if not self.diff_present: - print("Comparison success") - print("") - return 0, "Comparison success" - - # comparison failed - print( - f"First unmatched diff ==> {self.first_diff}", - f"at sample num {self.first_diff_sample_num}", - ) - diff_msg = f"MAXIMUM ABS DIFF ==> {self.max_diff} at sample num {self.max_diff_sample_num}" - print(diff_msg) - print("Comparison failed") - print("") - return 1, f"Comparison failed, {diff_msg}" - - def compare_next_sample(self): - """ - Compare the next input sample from both files. - """ - if self.samples == self.file_samples_to_read: - return 1 - val1_c = self.file_1.read(self.sample_size) - val2_c = self.file_2.read(self.sample_size) - if (len(val1_c) != self.sample_size) or (len(val2_c) != self.sample_size): - return 1 - - val1 = int.from_bytes(val1_c, byteorder="little", signed=True) - val2 = int.from_bytes(val2_c, byteorder="little", signed=True) - - self.samples = self.samples + 1 - abs_diff = (val1 - val2) if (val1 > val2) else (val2 - val1) - if abs_diff > self.tolerance: - if abs_diff > self.max_diff: - self.max_diff = abs_diff - self.max_diff_sample_num = self.samples - if not self.diff_present: - self.first_diff = abs_diff - self.first_diff_sample_num = self.samples - self.diff_present = True - return 0 - - -def usage(): - print(__doc__) - return 1, "" - - -def cmp_custom( - file_1_name, - file_2_name, - sample_size_in_bytes_str, - tolerance_str, - end_samples_to_skip_str="0", -) -> (int, str): - """ - Function to compare the samples in 2 PCM files. - """ - - # check for python >= 3.7 - if sys.version_info[0] < 3 or sys.version_info[1] < 7: - sys.exit( - "This script is written for Python >= 3.7. Found: " - + platform.python_version() - ) - - sample_size_in_bytes = int(sample_size_in_bytes_str) - if sample_size_in_bytes not in [1, 2, 4, 8]: - print(f"Error: unsupported sample size ({sample_size_in_bytes})") - return usage() - - cmp_samples = CompareSamples( - file_1_name, - file_2_name, - sample_size_in_bytes, - int(tolerance_str), - int(end_samples_to_skip_str), - ) - - cmp_samples.get_file_sizes() - - result = 0 - while result == 0: - result = cmp_samples.compare_next_sample() - - return cmp_samples.print_summary() - - -def main(argv) -> int: - if len(argv) < 5: - return usage() - retval, _reason = cmp_custom(*argv[1:]) - return retval - - -if __name__ == "__main__": - sys.exit(main(sys.argv)) diff --git a/tests/test_param_file.py b/tests/test_param_file.py index 4031fd36bf..d92cd820b7 100644 --- a/tests/test_param_file.py +++ b/tests/test_param_file.py @@ -39,9 +39,9 @@ import errno import platform from subprocess import run import pytest -from cmp_custom import cmp_custom +from cmp_pcm import cmp_pcm from conftest import EncoderFrontend, DecoderFrontend -from testconfig import PARAM_FILE +from testconfig import PARAM_FILE, OC_TO_NCHANNELS VALID_DEC_OUTPUT_CONF = [ @@ -271,12 +271,12 @@ def test_param_file_tests( tracefile_dec, ) - # compare if update_ref in [0, 2]: - compare( - f"{dut_base_path}/param_file/dec/{output_file}", - f"{reference_path}/param_file/dec/{output_file}", - ) + dut_file = f"{dut_base_path}/param_file/dec/{output_file}" + ref_file = f"{reference_path}/param_file/dec/{output_file}" + fs = int(sampling_rate) * 1000 + cmp_result, reason = cmp_pcm(dut_file, ref_file, OC_TO_NCHANNELS[output_config], fs) + assert cmp_result == 0, reason # remove DUT output files when test result is OK (to save disk space) if not keep_files: @@ -438,19 +438,3 @@ def decode( dut_out_file, add_option_list=add_option_list, ) - - -def compare( - pcm_file_1, - pcm_file_2, -): - """ - Compare two PCM files. - Currently, both PCM files are treated like mono files. - This is just fine when checking for bit-exactness. - More advanced comparisons are possible and might come with a future update. - """ - sample_size = "2" # 16-bit samples - tolerance = "0" # zero tolerance for BE testing - cmp_result, reason = cmp_custom(pcm_file_1, pcm_file_2, sample_size, tolerance) - assert cmp_result == 0, reason diff --git a/tests/test_sba_bs_dec_plc.py b/tests/test_sba_bs_dec_plc.py index 4ac4f761e6..c9289ec863 100644 --- a/tests/test_sba_bs_dec_plc.py +++ b/tests/test_sba_bs_dec_plc.py @@ -38,7 +38,7 @@ import os import errno import pytest -from cmp_custom import cmp_custom +from cmp_pcm import cmp_pcm from conftest import DecoderFrontend # params @@ -174,16 +174,8 @@ def sba_dec_plc( ) # -------------- compare cmd -------------- - - end_skip_samples = '0' - - cmp_result, reason = cmp_custom( - dut_out_raw, - ref_out_raw, - "2", - AbsTol, - end_skip_samples - ) + fs = int(sampling_rate) * 1000 + cmp_result, reason = cmp_pcm(dut_out_raw, ref_out_raw, OC_TO_NCHANNELS[output_config], fs) # report compare result assert cmp_result == 0, reason -- GitLab From 26af0823c350ebf8c5f1014997c13678440623db Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 10:52:04 +0100 Subject: [PATCH 541/620] add missing import --- tests/test_sba_bs_dec_plc.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/test_sba_bs_dec_plc.py b/tests/test_sba_bs_dec_plc.py index c9289ec863..340600dd7a 100644 --- a/tests/test_sba_bs_dec_plc.py +++ b/tests/test_sba_bs_dec_plc.py @@ -40,6 +40,7 @@ import pytest from cmp_pcm import cmp_pcm from conftest import DecoderFrontend +from testconfig import OC_TO_NCHANNELS # params tag_list = ['stvFOA'] -- GitLab From b08c69a37b8181d64cc58735e56f72c9aa1f1ab1 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 11:23:27 +0100 Subject: [PATCH 542/620] fix undeclared variable error --- tests/test_sba_bs_dec_plc.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/test_sba_bs_dec_plc.py b/tests/test_sba_bs_dec_plc.py index 340600dd7a..61db443bd3 100644 --- a/tests/test_sba_bs_dec_plc.py +++ b/tests/test_sba_bs_dec_plc.py @@ -152,12 +152,13 @@ def sba_dec_plc( dut_out_raw = f"{dut_out_dir}/{plc_tag_out}.raw" ref_out_raw = f"{ref_out_dir}/{plc_tag_out}.raw" + output_config = "FOA" if ref_decoder_path: ref_decoder = DecoderFrontend(ref_decoder_path, "REF") # call REF decoder ref_decoder.run( - "FOA", + output_config, sampling_rate, ref_in_pkt, ref_out_raw, @@ -167,7 +168,7 @@ def sba_dec_plc( if update_ref == 0: # call DUT decoder decoder_frontend.run( - "FOA", + output_config, sampling_rate, ref_in_pkt_dutenc, dut_out_raw, -- GitLab From d6d6812b8b47832564cdc503fefa9adb2fd391dd Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 12:06:31 +0100 Subject: [PATCH 543/620] fix out_config->nchannels parsing --- tests/cmp_pcm.py | 11 ++++++++++- tests/test_param_file.py | 4 ++-- tests/test_sba_bs_dec_plc.py | 3 +-- tests/test_sba_bs_enc.py | 3 +-- tests/testconfig.py | 21 --------------------- 5 files changed, 14 insertions(+), 28 deletions(-) diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index f2d5c63b4f..9d62cd6114 100644 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -5,15 +5,24 @@ THIS_PATH = os.path.join(os.getcwd(), __file__) sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) import pyaudio3dtools +import pyivastest -def cmp_pcm(file1, file2, nchannels, fs) -> (int, str): +def cmp_pcm(file1, file2, oc, fs) -> (int, str): """ Compare 2 PCM files for bitexactness """ print("Cmp PCM Report") print("=====================") + oc = "MONO" if oc == "" else oc + if oc.upper() not in pyivastest.constants.OC_TO_NCHANNELS: + oc_in_file_names = os.path.splitext(os.path.basename(oc))[0] + nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(oc) + else: + oc_in_file_names = oc + nchannels = pyivastest.constants.OC_TO_NCHANNELS[oc.upper()] + s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs) s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs) diff --git a/tests/test_param_file.py b/tests/test_param_file.py index d92cd820b7..1cc4b2946a 100644 --- a/tests/test_param_file.py +++ b/tests/test_param_file.py @@ -41,7 +41,7 @@ from subprocess import run import pytest from cmp_pcm import cmp_pcm from conftest import EncoderFrontend, DecoderFrontend -from testconfig import PARAM_FILE, OC_TO_NCHANNELS +from testconfig import PARAM_FILE VALID_DEC_OUTPUT_CONF = [ @@ -275,7 +275,7 @@ def test_param_file_tests( dut_file = f"{dut_base_path}/param_file/dec/{output_file}" ref_file = f"{reference_path}/param_file/dec/{output_file}" fs = int(sampling_rate) * 1000 - cmp_result, reason = cmp_pcm(dut_file, ref_file, OC_TO_NCHANNELS[output_config], fs) + cmp_result, reason = cmp_pcm(dut_file, ref_file, output_config, fs) assert cmp_result == 0, reason # remove DUT output files when test result is OK (to save disk space) diff --git a/tests/test_sba_bs_dec_plc.py b/tests/test_sba_bs_dec_plc.py index 61db443bd3..eb7ad72a36 100644 --- a/tests/test_sba_bs_dec_plc.py +++ b/tests/test_sba_bs_dec_plc.py @@ -40,7 +40,6 @@ import pytest from cmp_pcm import cmp_pcm from conftest import DecoderFrontend -from testconfig import OC_TO_NCHANNELS # params tag_list = ['stvFOA'] @@ -177,7 +176,7 @@ def sba_dec_plc( # -------------- compare cmd -------------- fs = int(sampling_rate) * 1000 - cmp_result, reason = cmp_pcm(dut_out_raw, ref_out_raw, OC_TO_NCHANNELS[output_config], fs) + cmp_result, reason = cmp_pcm(dut_out_raw, ref_out_raw, output_config, fs) # report compare result assert cmp_result == 0, reason diff --git a/tests/test_sba_bs_enc.py b/tests/test_sba_bs_enc.py index 6fc0c71ad0..6f088f0e45 100644 --- a/tests/test_sba_bs_enc.py +++ b/tests/test_sba_bs_enc.py @@ -42,7 +42,6 @@ import pytest from cmp_pcm import cmp_pcm from cut_pcm import cut_samples from conftest import EncoderFrontend, DecoderFrontend -from testconfig import OC_TO_NCHANNELS # params tag_list = ['stvFOA'] @@ -595,7 +594,7 @@ def sba_dec( ) fs = int(sampling_rate) * 1000 - cmp_result, reason = cmp_pcm(dut_out_raw, ref_out_raw, OC_TO_NCHANNELS[output_config], fs) + cmp_result, reason = cmp_pcm(dut_out_raw, ref_out_raw, output_config, fs) # report compare result assert cmp_result == 0, reason diff --git a/tests/testconfig.py b/tests/testconfig.py index 0d84555366..f4827a004f 100644 --- a/tests/testconfig.py +++ b/tests/testconfig.py @@ -35,24 +35,3 @@ To configure test modules. """ PARAM_FILE = "scripts/config/self_test.prm" -OC_TO_NCHANNELS = { - "MONO": 1, - "STEREO": 2, - "BINAURAL": 2, - "BINAURAL_ROOM": 2, - "5_1": 6, - "7_1": 8, - "5_1_2": 8, - "5_1_4": 10, - "7_1_4": 12, - "FOA": 4, - "HOA2": 9, - "HOA3": 16, - "EXT": 1, - "ISM1": 1, - "ISM2": 2, - "ISM3": 3, - "ISM4": 4, - "MASA1TC": 1, - "MASA2TC": 2, -} -- GitLab From 33ec3b906c93589a3417b74b4a2048f7a7bb858e Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Mon, 9 Jan 2023 15:05:22 +0100 Subject: [PATCH 544/620] Move early exit statement in ivas_voip_be_test.sh after run errors check --- ci/ivas_voip_be_test.sh | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index 7964ce1ceb..8ff091cf19 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -74,17 +74,17 @@ output_dir_voip="out_voip" ./scripts/runIvasCodec.py -p $cfg $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_default | tee voip_be_test_output.txt ./scripts/runIvasCodec.py -p $cfg $WORKERS -U $limit_input_to_x_seconds -m "${modes[@]}" --oc "${output_formats[@]}" -o $output_dir_voip -J "$dly_profile" | tee -a voip_be_test_output.txt -if [ $COVERAGE -eq 1 ];then - # Coverage analysis requires only running the codec and may exit before the comparison part - exit 0 -fi - # Check if Python scripts above failed. They return status 0 even when running a mode fails, so we have to parse log file if grep -iq failed voip_be_test_output.txt ; then echo "Run errors in runIvasCodec.py" exit 1 fi +if [ $COVERAGE -eq 1 ];then + # Coverage analysis requires only running the codec and may exit before the comparison part + exit 0 +fi + # Set up Python path python_audio_module_path=$(pwd)/scripts export PYTHONPATH=$python_audio_module_path:$PYTHONPATH -- GitLab From 17f92b46b867c026a66145e685f0b0d1a146ad77 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 9 Jan 2023 19:56:43 +0530 Subject: [PATCH 545/620] Address review comments : set 2 --- lib_dec/ivas_sba_dec.c | 35 ++++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 13 deletions(-) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index bd3bbaeb14..72d1cf647e 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -726,21 +726,24 @@ ivas_error ivas_sba_dec_reconfigure( hDirAC = st_ivas->hDirAC; } - +#ifndef SBA_BR_SWITCHING_RECONFIG if ( hDirAC != NULL ) +#else + if ( ( hDirAC != NULL ) + && ( sba_mode_old == st_ivas->sba_mode ) ) +#endif { ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE_MODE ); - +#ifndef SBA_BR_SWITCHING_RECONFIG mvs2s( hDirAC->dirac_to_spar_md_bands, hSpar->dirac_to_spar_md_bands, DIRAC_MAX_NBANDS ); hSpar->enc_param_start_band = hDirAC->hConfig->enc_param_start_band; +#endif } - if ( ( error = ivas_dirac_sba_config( st_ivas->hQMetaData, &st_ivas->nchan_transport, &st_ivas->nSCE, &st_ivas->nCPE, &st_ivas->element_mode_init, ivas_total_brate, st_ivas->sba_analysis_order, st_ivas->sba_mode, IVAS_MAX_NUM_BANDS - SPAR_DIRAC_SPLIT_START_BAND ) ) != IVAS_ERR_OK ) { return error; } } - if ( st_ivas->nchan_transport == 1 ) { st_ivas->element_mode_init = IVAS_SCE; @@ -808,24 +811,27 @@ ivas_error ivas_sba_dec_reconfigure( } #endif #ifdef SBA_BR_SWITCHING_RECONFIG - if ( sba_mode_old != st_ivas->sba_mode ) // VE: TBD - possibly merge with the 'else if' branch below + if ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC || ( sba_mode_old != st_ivas->sba_mode ) ) { + DIRAC_CONFIG_FLAG flag_config; + + flag_config = DIRAC_OPEN; if ( st_ivas->hDirAC != NULL ) { - if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE_MODE ) ) != IVAS_ERR_OK ) + flag_config = DIRAC_RECONFIGURE; + if ( sba_mode_old != st_ivas->sba_mode && st_ivas->sba_mode != SBA_MODE_SPAR ) { - return error; + flag_config = DIRAC_RECONFIGURE_MODE; } } - else + + if ( ( error = ivas_dirac_dec_config( st_ivas, flag_config ) ) != IVAS_ERR_OK ) { - if ( ( error = ivas_dirac_dec_config( st_ivas, DIRAC_OPEN ) ) != IVAS_ERR_OK ) - { - return error; - } + return error; } + } -#endif +#else #ifdef SBA_BR_SWITCHING if ( ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) { @@ -844,6 +850,9 @@ ivas_error ivas_sba_dec_reconfigure( } } } +#endif +#endif +#ifdef SBA_BR_SWITCHING else if ( st_ivas->renderer_type == RENDERER_DISABLE || ( st_ivas->renderer_type == RENDERER_SBA_LINEAR_DEC && st_ivas->sba_mode != SBA_MODE_SPAR ) ) { if ( st_ivas->hDirAC != NULL ) -- GitLab From d8ef287624de6b29341831cdcf6a5291f9b5655f Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 9 Jan 2023 20:15:52 +0530 Subject: [PATCH 546/620] Resolving pipeline errors --- lib_dec/ivas_sba_dec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 72d1cf647e..c7f14a0a80 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -729,8 +729,7 @@ ivas_error ivas_sba_dec_reconfigure( #ifndef SBA_BR_SWITCHING_RECONFIG if ( hDirAC != NULL ) #else - if ( ( hDirAC != NULL ) - && ( sba_mode_old == st_ivas->sba_mode ) ) + if ( ( hDirAC != NULL ) && ( sba_mode_old == st_ivas->sba_mode ) ) #endif { ivas_dirac_dec_config( st_ivas, DIRAC_RECONFIGURE_MODE ); @@ -811,7 +810,7 @@ ivas_error ivas_sba_dec_reconfigure( } #endif #ifdef SBA_BR_SWITCHING_RECONFIG - if ( st_ivas->renderer_type != RENDERER_DISABLE && st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC || ( sba_mode_old != st_ivas->sba_mode ) ) + if ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) || ( sba_mode_old != st_ivas->sba_mode ) ) { DIRAC_CONFIG_FLAG flag_config; @@ -829,7 +828,6 @@ ivas_error ivas_sba_dec_reconfigure( { return error; } - } #else #ifdef SBA_BR_SWITCHING -- GitLab From bf5cda2b53fce3ad25ef66139dbe8010c1e8ec6d Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 9 Jan 2023 20:26:02 +0530 Subject: [PATCH 547/620] Resolving pipeline warnings --- lib_dec/ivas_sba_dec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index c7f14a0a80..89e72ee9f4 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -810,7 +810,7 @@ ivas_error ivas_sba_dec_reconfigure( } #endif #ifdef SBA_BR_SWITCHING_RECONFIG - if ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) || ( sba_mode_old != st_ivas->sba_mode ) ) + if ( ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) || ( sba_mode_old != st_ivas->sba_mode ) ) { DIRAC_CONFIG_FLAG flag_config; -- GitLab From a678ab5fc93150befc6221ccced9d920ff86b02a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 9 Jan 2023 16:44:05 +0100 Subject: [PATCH 548/620] add argument for skipping frame-wise diff --- scripts/pyaudio3dtools/audioarray.py | 28 +++++++++++++++++----------- tests/cmp_pcm.py | 2 +- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/scripts/pyaudio3dtools/audioarray.py b/scripts/pyaudio3dtools/audioarray.py index 917cdf59c6..1221e25960 100644 --- a/scripts/pyaudio3dtools/audioarray.py +++ b/scripts/pyaudio3dtools/audioarray.py @@ -221,7 +221,7 @@ def cut(x: np.ndarray, limits: Tuple[int, int]) -> np.ndarray: return y -def compare(ref: np.ndarray, test: np.ndarray, fs: int) -> dict: +def compare(ref: np.ndarray, test: np.ndarray, fs: int, per_frame: bool=True) -> dict: """Compare two audio arrays Parameters @@ -246,12 +246,14 @@ def compare(ref: np.ndarray, test: np.ndarray, fs: int) -> dict: "max_abs_diff": 0, "max_abs_diff_pos_sample": 0, "max_abs_diff_pos_channel": 0, - "max_abs_diff_pos_frame": 0, "nsamples_diff": 0, "nsamples_diff_percentage": 0.0, - "nframes_diff": 0, - "nframes_diff_percentage": 0.0, } + if per_frame: + result["max_abs_diff_pos_frame"] = 0 + result["nframes_diff"] = 0 + result["nframes_diff_percentage"] = 0.0 + if max_diff != 0: if diff.ndim == 1: nsamples_total = diff.shape @@ -268,21 +270,25 @@ def compare(ref: np.ndarray, test: np.ndarray, fs: int) -> dict: nsamples_diff_percentage = nsamples_diff / (nsamples_total * nchannels) * 100.0 nframes = nsamples_total // framesize nframes_diff = 0 - for fr in range(nframes): - diff_fr = diff[fr * framesize : ((fr + 1) * framesize), :] - nframes_diff += 1 if diff_fr.nonzero()[0].size > 0 else 0 - nframes_diff_percentage = nframes_diff / nframes * 100.0 + result = { "bitexact": False, "max_abs_diff": max_diff, "max_abs_diff_pos_sample": max_diff_pos[0], "max_abs_diff_pos_channel": max_diff_pos[2], - "max_abs_diff_pos_frame": max_diff_pos[1], "nsamples_diff": nsamples_diff, "nsamples_diff_percentage": nsamples_diff_percentage, - "nframes_diff": nframes_diff, - "nframes_diff_percentage": nframes_diff_percentage, } + + if per_frame: + for fr in range(nframes): + diff_fr = diff[fr * framesize : ((fr + 1) * framesize), :] + nframes_diff += 1 if diff_fr.nonzero()[0].size > 0 else 0 + nframes_diff_percentage = nframes_diff / nframes * 100.0 + result["max_abs_diff_pos_frame"] = max_diff_pos[1] + result["nframes_diff"] = nframes_diff + result["nframes_diff_percentage"] = nframes_diff_percentage + return result diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index 9d62cd6114..e8afb46cbc 100644 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -33,7 +33,7 @@ def cmp_pcm(file1, file2, oc, fs) -> (int, str): ) return 1, "FAIL: File lengths differ" - cmp_result = pyaudio3dtools.audioarray.compare(s1, s2, fs) + cmp_result = pyaudio3dtools.audioarray.compare(s1, s2, fs, per_frame=False) if cmp_result["bitexact"]: return 0, "SUCCESS: Files are bitexact" -- GitLab From 5c9da2207f5eac93dacb29ea6c97cd365da02ce4 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 10 Jan 2023 12:54:22 +0100 Subject: [PATCH 549/620] add FIX_272_COV and wrap related code under DEBUGGING --- lib_com/options.h | 1 + lib_dec/ivas_dec.c | 4 ++++ lib_rend/ivas_binauralRenderer.c | 4 +++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index a5193624e9..989143e5c6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -150,6 +150,7 @@ #define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ #define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ #define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ +#define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 7176a00886..642d02315a 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -210,10 +210,12 @@ ivas_error ivas_dec( ivas_crend_process( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); } +#ifdef DEBUGGING else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { ivas_binaural_cldfb( st_ivas, output ); } +#endif } } else if ( st_ivas->ivas_format == SBA_FORMAT || st_ivas->ivas_format == MASA_FORMAT ) @@ -394,11 +396,13 @@ ivas_error ivas_dec( ivas_crend_process( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); } +#ifndef FIX_272_COV else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) { ivas_binaural_cldfb( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); } +#endif else if ( st_ivas->renderer_type == RENDERER_MC ) { ivas_ls_setup_conversion( st_ivas, output_frame, output ); diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index 1443766b60..d266c5c955 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -807,8 +807,9 @@ void ivas_binaural_add_LFE( } +#ifdef DEBUGGING /*-------------------------------------------------------------------------* - * ivas_binRenderer_cldfb() + * ivas_binaural_cldfb() * * Perform CLDFB analysis, fastconv binaural rendering and CLDFB synthesis *-------------------------------------------------------------------------*/ @@ -880,6 +881,7 @@ void ivas_binaural_cldfb( return; } +#endif /*------------------------------------------------------------------------- -- GitLab From f26cc865bc4c0e7cb4327b9597ef04efc595c02f Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Tue, 10 Jan 2023 17:51:10 +0530 Subject: [PATCH 550/620] Fix for DTX with SBA BR switching crash --- lib_enc/ivas_front_vad.c | 6 +----- lib_enc/ivas_sba_enc.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/lib_enc/ivas_front_vad.c b/lib_enc/ivas_front_vad.c index b97146313c..c95f0bc47a 100644 --- a/lib_enc/ivas_front_vad.c +++ b/lib_enc/ivas_front_vad.c @@ -396,12 +396,8 @@ ivas_error front_vad_spar( hFrontVad = hSpar->hFrontVad; st = hSpar->hCoreCoderVAD; -#ifdef SBA_BR_SWITCHING_RECONFIG - if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_total_brate <= SBA_DTX_BITRATE_THRESHOLD && - hEncoderConfig->ivas_total_brate == hEncoderConfig->last_ivas_total_brate ) -#else + if ( hEncoderConfig->Opt_DTX_ON && hEncoderConfig->ivas_total_brate <= SBA_DTX_BITRATE_THRESHOLD ) -#endif { /*------------------------------------------------------------------* * Initialization diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 380429f2cf..d1fc5b11e5 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -523,6 +523,27 @@ ivas_error ivas_sba_enc_reconfigure( #else ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ); #endif + +#ifdef SBA_BR_SWITCHING_RECONFIG + if ( st_ivas->hEncoderConfig->Opt_DTX_ON ) + { + if ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) + { + for ( int16_t sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) + { + st_ivas->hSCE[sce_id]->hCoreCoder[0]->ini_frame = 1; + } + + for ( int16_t cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) + { + for ( int16_t n = 0; n < CPE_CHANNELS; n++ ) + { + st_ivas->hCPE[cpe_id]->hCoreCoder[n]->ini_frame = 1; + } + } + } + } +#endif } return error; -- GitLab From 7c0ddddd1595b4e38a2e964e05a1770f8a7139a1 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Tue, 10 Jan 2023 13:36:41 +0000 Subject: [PATCH 551/620] Wrap ivas_binaural_cldfb() declaration under DEBUGGING. --- lib_com/ivas_prot.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index f94e1e4ceb..ec86280ebe 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -4608,11 +4608,12 @@ void ivas_binRenderer_close( BINAURAL_RENDERER_HANDLE *hBinRenderer /* i/o: decoder binaural renderer handle */ ); +#ifdef DEBUGGING void ivas_binaural_cldfb( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ float output_f[][L_FRAME48k] /* i/o: synthesized core-coder transport channels/DirAC output */ ); - +#endif void ivas_binRenderer( BINAURAL_RENDERER_HANDLE hBinRenderer, /* i/o: fastconv binaural renderer handle */ HEAD_TRACK_DATA_HANDLE hHeadTrackData, /* i/o: head track handle */ -- GitLab From 871dbfe006147de36d65bd94478dec619552b558 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 10 Jan 2023 16:12:24 +0100 Subject: [PATCH 552/620] use cmp_pcm in voip be test --- ci/ivas_voip_be_test.sh | 4 ++-- tests/cmp_pcm.py | 28 ++++++++++++++++++++-------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/ci/ivas_voip_be_test.sh b/ci/ivas_voip_be_test.sh index d65677b498..67e78bbd8f 100755 --- a/ci/ivas_voip_be_test.sh +++ b/ci/ivas_voip_be_test.sh @@ -88,7 +88,7 @@ done # Assert BE between non-VoIP and VoIP modes all_be=1 -cmp_custom_path=$(pwd)/tests/cmp_custom.py +cmp_tool_path=$(pwd)/tests/cmp_pcm.py for ref in "$output_dir_default_dec_pcm"/*; do cut=${ref/$output_dir_default_dec_pcm/$output_dir_voip_dec_trimmed} @@ -96,7 +96,7 @@ for ref in "$output_dir_default_dec_pcm"/*; do # Print paths of compared files, since the script doesn't do it printf "\nComparing %s and %s\n" "$ref" "$cut" | tee -a voip_be_test_output.txt - printout=$($cmp_custom_path "$ref" "$cut" 2 0) + printout=$($cmp_tool_path "$ref" "$cut") if [ $? -ne 0 ]; then all_be=0 fi diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index e8afb46cbc..40d165c040 100644 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -1,5 +1,6 @@ import os import sys +import argparse THIS_PATH = os.path.join(os.getcwd(), __file__) sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) @@ -8,20 +9,20 @@ import pyaudio3dtools import pyivastest -def cmp_pcm(file1, file2, oc, fs) -> (int, str): +def cmp_pcm(file1, file2, out_config, fs) -> (int, str): """ Compare 2 PCM files for bitexactness """ print("Cmp PCM Report") print("=====================") - oc = "MONO" if oc == "" else oc - if oc.upper() not in pyivastest.constants.OC_TO_NCHANNELS: - oc_in_file_names = os.path.splitext(os.path.basename(oc))[0] - nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(oc) + out_config = "MONO" if out_config == "" else out_config + if out_config.upper() not in pyivastest.constants.OC_TO_NCHANNELS: + out_config_in_file_names = os.path.splitext(os.path.basename(out_config))[0] + nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(out_config) else: - oc_in_file_names = oc - nchannels = pyivastest.constants.OC_TO_NCHANNELS[oc.upper()] + out_config_in_file_names = out_config + nchannels = pyivastest.constants.OC_TO_NCHANNELS[out_config.upper()] s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs) s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs) @@ -38,6 +39,17 @@ def cmp_pcm(file1, file2, oc, fs) -> (int, str): if cmp_result["bitexact"]: return 0, "SUCCESS: Files are bitexact" else: - diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']}" + diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']} (assuming {nchannels} channels)" print(diff_msg) return 1, "FAIL: Files have different content" + + +if __name__ == "__main__": + parser = argparse.ArgumentParser() + parser.add_argument("file1", type=str) + parser.add_argument("file2", type=str) + parser.add_argument("-o", "--out_config", type=str.upper, default="MONO", choices=pyivastest.constants.OC_TO_NCHANNELS.keys()) + parser.add_argument("-s", "--sampling_rate", type=int, default=48000, dest="fs") + + args = parser.parse_args() + sys.exit(cmp_pcm(**vars(args))) -- GitLab From 3725b2dbb8c609e0f9186c830dd76119747d39ba Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 10 Jan 2023 16:31:08 +0100 Subject: [PATCH 553/620] make script executable --- tests/cmp_pcm.py | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 tests/cmp_pcm.py diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py old mode 100644 new mode 100755 -- GitLab From 28137917327ca994ae3bb808b77f54cd3f42dae6 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 10 Jan 2023 16:41:07 +0100 Subject: [PATCH 554/620] add shebang to script --- tests/cmp_pcm.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index 40d165c040..0804ece286 100755 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 + import os import sys import argparse -- GitLab From 1ec57e1f2c7a2a06393fbe690d36791678e46762 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Tue, 10 Jan 2023 16:57:45 +0100 Subject: [PATCH 555/620] fix return value --- tests/cmp_pcm.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index 0804ece286..45ca7d4fc4 100755 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -52,6 +52,7 @@ if __name__ == "__main__": parser.add_argument("file2", type=str) parser.add_argument("-o", "--out_config", type=str.upper, default="MONO", choices=pyivastest.constants.OC_TO_NCHANNELS.keys()) parser.add_argument("-s", "--sampling_rate", type=int, default=48000, dest="fs") - args = parser.parse_args() - sys.exit(cmp_pcm(**vars(args))) + + result, _ = cmp_pcm(**vars(args)) + sys.exit(result) -- GitLab From 3527c98c75e7955abc285a604db31eec2deb7da5 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 11 Jan 2023 11:48:26 +0530 Subject: [PATCH 556/620] Removed a condition check --- lib_enc/ivas_sba_enc.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index d1fc5b11e5..71ad626a4a 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -389,10 +389,6 @@ ivas_error ivas_sba_enc_reconfigure( /*TODO : Verify if full SPAR close and open can be used instead of submodules close and open */ if ( ( sba_mode_old != st_ivas->sba_mode ) || ( nchan_transport_old != st_ivas->nchan_transport ) ) { - if ( hEncoderConfig->Opt_DTX_ON && ( st_ivas->nchan_transport > 2 ) ) - { - return IVAS_ERR_DTX_NOT_SUPPORTED; - } /* FB mixer handle */ if ( st_ivas->sba_mode == SBA_MODE_SPAR ) { -- GitLab From 5b9f47d0a345a392e2b6eae88655d3f1a1d171a5 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 11 Jan 2023 07:21:50 +0100 Subject: [PATCH 557/620] Added fix for memory deallocation issue under FIX_235 --- apps/decoder.c | 9 +- lib_com/options.h | 1 + lib_dec/ivas_init_dec.c | 3 +- lib_dec/ivas_sba_dec.c | 3 +- lib_rend/ivas_hrtf.c | 6 -- lib_rend/ivas_objectRenderer_hrFilt.c | 29 +++++- lib_rend/ivas_objectRenderer_mix.c | 2 + lib_util/hrtf_file_reader.c | 132 ++++++++++++++++++++++++++ lib_util/hrtf_file_reader.h | 12 +++ 9 files changed, 185 insertions(+), 12 deletions(-) diff --git a/apps/decoder.c b/apps/decoder.c index 11d70adf28..b30d15d79b 100644 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -514,7 +514,14 @@ cleanup: #ifdef DEBUG_SBA_AUDIO_DUMP IVAS_DEC_GetSbaDebugParams( hIvasDec, &numOutChannels, &numTransportChannels, &pca_ingest_channels ); #endif - +#ifdef FIX_235 + if ( arg.hrtfReaderEnabled ) + { + IVAS_DEC_HRTF_HANDLE hHrtfTD; + IVAS_DEC_GetHrtfHandle( hIvasDec, &hHrtfTD ); + dealloc_HRTF_binary( hHrtfTD ); + } +#endif IVAS_DEC_Close( &hIvasDec ); CustomLsReader_close( &hLsCustomReader ); hrtfFileReader_close( &hrtfReader ); diff --git a/lib_com/options.h b/lib_com/options.h index 1deb156686..8f17be7c7c 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -149,6 +149,7 @@ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ #define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ +#define FIX_235 /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 604953777f..75cacbdcd7 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1713,12 +1713,13 @@ void ivas_destroy_dec( } else if ( st_ivas->hHrtfTD != NULL ) { +#ifndef FIX_235 /* Case when HRTF filter is mistakenly specified but TD renderer was not active */ if ( st_ivas->hHrtfTD->ModelParams.UseItdModel && !st_ivas->hHrtfTD->ModelParams.modelROM ) { BSplineModelEvalITDDealloc( &st_ivas->hHrtfTD->ModelParamsITD ); } - +#endif BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams, &st_ivas->hHrtfTD->ModelEval ); ivas_HRTF_binary_close( &st_ivas->hHrtfTD ); diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index c2997eefc5..056932f9bd 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -210,12 +210,13 @@ ivas_error ivas_sba_dec_reinit( } else if ( st_ivas->hHrtfTD != NULL ) { +#ifndef FIX_235 /* Case when HRTF filter is mistakenly specified but TD renderer was not active */ if ( st_ivas->hHrtfTD->ModelParams.UseItdModel && !st_ivas->hHrtfTD->ModelParams.modelROM ) { BSplineModelEvalITDDealloc( &st_ivas->hHrtfTD->ModelParamsITD ); } - +#endif BSplineModelEvalDealloc( &st_ivas->hHrtfTD->ModelParams, &st_ivas->hHrtfTD->ModelEval ); ivas_HRTF_binary_close( &st_ivas->hHrtfTD ); diff --git a/lib_rend/ivas_hrtf.c b/lib_rend/ivas_hrtf.c index 4cc9867a94..347a060e98 100644 --- a/lib_rend/ivas_hrtf.c +++ b/lib_rend/ivas_hrtf.c @@ -61,10 +61,8 @@ void BSplineModelEvalAlloc( ModelEval_t *modelEval /* i/o: Model evaluation structure */ ) { -#define WMC_TOOL_SKIP modelEval->hrfModL = (float *) malloc( model->K * sizeof( float ) ); modelEval->hrfModR = (float *) malloc( model->K * sizeof( float ) ); -#undef WMC_TOOL_SKIP return; } @@ -120,13 +118,11 @@ void DefaultBSplineModel( model->elevKSeq = (const float *) orange53_rom_elevKSeq; model->elevBsShape = (const float *) orange53_rom_elevBsShape; -#define WMC_TOOL_SKIP model->azimBsShape = (const float **) malloc( model->num_unique_azim_splines * sizeof( float * ) ); model->azimBsShape[0] = (const float *) orange53_rom_azimBsShape; model->azimKSeq = (float **) malloc( 18 * sizeof( float * ) ); model->azimKSeq[0] = (float *) malloc( 2 * sizeof( float * ) ); model->azimKSeq[17] = (float *) malloc( 2 * sizeof( float * ) ); -#undef WMC_TOOL_SKIP model->azimKSeq[0][0] = 0.0f; model->azimKSeq[17][0] = 0.0f; model->azimKSeq[0][1] = 360.0f; @@ -134,9 +130,7 @@ void DefaultBSplineModel( for ( i = 1; i < 17; i++ ) { -#define WMC_TOOL_SKIP model->azimKSeq[i] = (float *) malloc( model->azimDim2[i] * sizeof( float * ) ); /* azimDim2[i] = 91, i=2..15 */ -#undef WMC_TOOL_SKIP for ( j = 0; j < model->azimDim2[i]; j++ ) { model->azimKSeq[i][j] = (float) orange53_rom_azimSegSamples[0] * j; diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index ebb9cf19ef..8f1a657b2e 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -1064,6 +1064,10 @@ void HRTF_model_precalc( ModelParams_t *model /* i/o: HRTF model parameters */ ) { +#ifdef FIX_235 + int16_t sec_length; + int16_t i; +#else int16_t sec_length; int16_t i, k, j; float *pEL; @@ -1072,6 +1076,7 @@ void HRTF_model_precalc( const float *pAlphaR; float tmp; int16_t AlphaN; +#endif sec_length = model->K / HRTF_MODEL_N_SECTIONS; @@ -1087,6 +1092,7 @@ void HRTF_model_precalc( maximum_s( model->azimDim3, model->elevDim3, &model->azimDim3Max ); +#ifndef FIX_235 if ( !model->modelROM ) { AlphaN = model->AlphaN; @@ -1123,6 +1129,7 @@ void HRTF_model_precalc( model->EL = (const float *) model->EL_dyn; model->ER = (const float *) model->ER_dyn; } +#endif return; } @@ -1140,7 +1147,7 @@ void BSplineModelEvalDealloc( { /* Allocated in LoadBSplineBinary() */ int16_t i; - +#ifndef FIX_235 #define WMC_TOOL_SKIP if ( !model->modelROM ) { @@ -1177,11 +1184,27 @@ void BSplineModelEvalDealloc( free( modelEval->hrfModR ); } #undef WMC_TOOL_SKIP +#else + if ( model->modelROM ) + { + free( (void *) model->azimBsShape ); /* void* cast needed to please both gcc and Visual studio compilers. Deallocating const float** should be fine and gcc agrees, but Visual studio complains. */ + for ( i = 0; i < model->elevDim3; i++ ) + { + free( model->azimKSeq[i] ); + } + free( model->azimKSeq ); + if ( modelEval != NULL ) + { + free( modelEval->hrfModL ); + free( modelEval->hrfModR ); + } + } +#endif return; } - +#ifndef FIX_235 /*-------------------------------------------------------------------* * BSplineModelEvalITDDealloc() * @@ -1202,7 +1225,7 @@ void BSplineModelEvalITDDealloc( return; } - +#endif /*-------------------------------------------------------------------* * SkipSmallest_ValueIndex() diff --git a/lib_rend/ivas_objectRenderer_mix.c b/lib_rend/ivas_objectRenderer_mix.c index 6fa5270304..98eca0b534 100644 --- a/lib_rend/ivas_objectRenderer_mix.c +++ b/lib_rend/ivas_objectRenderer_mix.c @@ -130,10 +130,12 @@ void TDREND_MIX_Dealloc( { if ( hBinRendererTd->HrFiltSet_p->FilterMethod == TDREND_HRFILT_Method_BSplineModel ) { +#ifndef FIX_235 if ( hBinRendererTd->HrFiltSet_p->ModelParams.UseItdModel && !hBinRendererTd->HrFiltSet_p->ModelParams.modelROM ) { BSplineModelEvalITDDealloc( &hBinRendererTd->HrFiltSet_p->ModelParamsITD ); } +#endif BSplineModelEvalDealloc( &hBinRendererTd->HrFiltSet_p->ModelParams, &hBinRendererTd->HrFiltSet_p->ModelEval ); } else diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index 9eddcdf305..bebf93ac2a 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -50,6 +50,14 @@ struct hrtfFileReader #define RESAMPLE_FACTOR_16_48 ( 16.0f / 48.0f ) #define RESAMPLE_FACTOR_32_48 ( 32.0f / 48.0f ) +#ifdef FIX_235 +/*---------------------------------------------------------------------* + * Local function declarations + *---------------------------------------------------------------------*/ + +static void HRTF_energy_sections_precalc( ModelParams_t *model ); +#endif + /*---------------------------------------------------------------------* * hrtfFileReader_open() * @@ -293,9 +301,17 @@ static ivas_error LoadBSplineBinary( } HRTF_model_precalc( model ); +#ifdef FIX_235 + HRTF_energy_sections_precalc( model ); +#endif HrFiltSet_p->FiltLength = HrFiltSet_p->ModelParams.K; +#ifdef FIX_235 + HrFiltSet_p->ModelEval.hrfModL = (float *) malloc ( model->K * sizeof( float ) ); + HrFiltSet_p->ModelEval.hrfModR = (float *) malloc ( model->K * sizeof( float ) ); +#else BSplineModelEvalAlloc( &HrFiltSet_p->ModelParams, &HrFiltSet_p->ModelEval ); +#endif if ( HrFiltSet_p->ModelParams.UseItdModel ) { @@ -373,3 +389,119 @@ ivas_error load_HRTF_binary( return error; } + +#ifdef FIX_235 +/*---------------------------------------------------------------------* + * HRTF_energy_sections_precalc() + * + * Deallocated memory allocated by load_HRTF_binary + *---------------------------------------------------------------------*/ + +static void HRTF_energy_sections_precalc( + ModelParams_t *model /* i/o: HRTF model parameters */ +) +{ + int16_t i, k, j; + float *pEL; + float *pER; + const float *pAlphaL; + const float *pAlphaR; + float tmp; + int16_t AlphaN; + + if ( !model->modelROM ) + { + AlphaN = model->AlphaN; + + /* Precalculated energies for each section and each row of the alpha matrices */ + model->EL_dyn = (float *) malloc( HRTF_MODEL_N_SECTIONS * AlphaN * sizeof( float ) ); + model->ER_dyn = (float *) malloc( HRTF_MODEL_N_SECTIONS * AlphaN * sizeof( float ) ); + pEL = model->EL_dyn; + pER = model->ER_dyn; + for ( i = 0; i < HRTF_MODEL_N_SECTIONS; i++ ) + { + for ( j = 0; j < AlphaN; j++ ) /* rows of Alpha matrices */ + { + *pEL = 0.0f; + *pER = 0.0f; + + pAlphaL = &model->AlphaL[model->iSecFirst[i] * AlphaN + j]; + pAlphaR = &model->AlphaR[model->iSecFirst[i] * AlphaN + j]; + + for ( k = model->iSecFirst[i]; k < model->iSecLast[i]; k++ ) /* k within the sections */ + { + /* Energy calculation */ + tmp = *pAlphaL; + *pEL += tmp * tmp; + tmp = *pAlphaR; + *pER += tmp * tmp; + pAlphaL += AlphaN; + pAlphaR += AlphaN; + } + pEL++; + pER++; + } + } + model->EL = (const float *) model->EL_dyn; + model->ER = (const float *) model->ER_dyn; + } + + return; +} + + +/*---------------------------------------------------------------------* + * dealloc_HRTF_binary() + * + * Deallocated memory allocated by load_HRTF_binary + *---------------------------------------------------------------------*/ + +ivas_error dealloc_HRTF_binary( + IVAS_DEC_HRTF_HANDLE hHrtf /* i/o: HRTF handle */ +) +{ + int16_t i; + ivas_error error; + error = IVAS_ERR_OK; + + if ( !hHrtf->ModelParams.modelROM ) + { + if ( hHrtf->ModelParams.UseItdModel ) + { + free( hHrtf->ModelParamsITD.elevKSeq_dyn ); + free( hHrtf->ModelParamsITD.azimKSeq_dyn ); + free( hHrtf->ModelParamsITD.W_dyn ); + free( hHrtf->ModelParamsITD.azimBsShape_dyn ); + free( hHrtf->ModelParamsITD.elevBsShape_dyn ); + } + free( hHrtf->ModelParams.elevKSeq_dyn ); + free( hHrtf->ModelParams.azim_start_idx_dyn ); + free( hHrtf->ModelParams.azimDim2_dyn ); + free( hHrtf->ModelParams.azimDim3_dyn ); + free( hHrtf->ModelParams.AlphaL_dyn ); + free( hHrtf->ModelParams.AlphaR_dyn ); + free( hHrtf->ModelParams.azimSegSamples_dyn ); + + free( hHrtf->ModelParams.azimShapeIdx_dyn ); + free( hHrtf->ModelParams.azimShapeSampFactor_dyn ); + free( hHrtf->ModelParams.elevBsShape_dyn ); + + for ( i = 0; i < hHrtf->ModelParams.num_unique_azim_splines; i++ ) + { + free( &hHrtf->ModelParams.azimBsShape_dyn[i] ); + } + + free( (void *) hHrtf->ModelParams.azimBsShape ); /* void* cast needed to please both gcc and Visual studio compilers. Deallocating const float** should be fine and gcc agrees, but Visual studio complains. */ + for ( i = 0; i < hHrtf->ModelParams.elevDim3; i++ ) + { + free( hHrtf->ModelParams.azimKSeq[i] ); + } + free( hHrtf->ModelParams.azimKSeq ); + + + } + + return error; +} + +#endif \ No newline at end of file diff --git a/lib_util/hrtf_file_reader.h b/lib_util/hrtf_file_reader.h index c7b751ad76..354362e997 100644 --- a/lib_util/hrtf_file_reader.h +++ b/lib_util/hrtf_file_reader.h @@ -73,4 +73,16 @@ ivas_error load_HRTF_binary( const hrtfFileReader *hrtfReader /* i/o: pointer to hrtfFileReader handle */ ); +#ifdef FIX_235 +/*---------------------------------------------------------------------* + * dealloc_HRTF_binary() + * + * Deallocated memory allocated by load_HRTF_binary + *---------------------------------------------------------------------*/ + +ivas_error dealloc_HRTF_binary( + IVAS_DEC_HRTF_HANDLE hHrtf /* i/o: HRTF handle */ +); +#endif + #endif /* IVAS_HRTF_FILE_READER_H */ -- GitLab From 611e14ddca4159bab584281b940a547a5b6834c1 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 11 Jan 2023 08:18:22 +0100 Subject: [PATCH 558/620] asan fix and clang format --- lib_rend/ivas_objectRenderer_hrFilt.c | 2 +- lib_util/hrtf_file_reader.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/lib_rend/ivas_objectRenderer_hrFilt.c b/lib_rend/ivas_objectRenderer_hrFilt.c index 8f1a657b2e..f71ae77a13 100644 --- a/lib_rend/ivas_objectRenderer_hrFilt.c +++ b/lib_rend/ivas_objectRenderer_hrFilt.c @@ -1197,7 +1197,7 @@ void BSplineModelEvalDealloc( { free( modelEval->hrfModL ); free( modelEval->hrfModR ); - } + } } #endif diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index bebf93ac2a..ae9245e8ec 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -307,8 +307,8 @@ static ivas_error LoadBSplineBinary( HrFiltSet_p->FiltLength = HrFiltSet_p->ModelParams.K; #ifdef FIX_235 - HrFiltSet_p->ModelEval.hrfModL = (float *) malloc ( model->K * sizeof( float ) ); - HrFiltSet_p->ModelEval.hrfModR = (float *) malloc ( model->K * sizeof( float ) ); + HrFiltSet_p->ModelEval.hrfModL = (float *) malloc( model->K * sizeof( float ) ); + HrFiltSet_p->ModelEval.hrfModR = (float *) malloc( model->K * sizeof( float ) ); #else BSplineModelEvalAlloc( &HrFiltSet_p->ModelParams, &HrFiltSet_p->ModelEval ); #endif @@ -488,6 +488,7 @@ ivas_error dealloc_HRTF_binary( for ( i = 0; i < hHrtf->ModelParams.num_unique_azim_splines; i++ ) { + free( hHrtf->ModelParams.azimBsShape_dyn[i] ); free( &hHrtf->ModelParams.azimBsShape_dyn[i] ); } @@ -498,10 +499,14 @@ ivas_error dealloc_HRTF_binary( } free( hHrtf->ModelParams.azimKSeq ); + free( hHrtf->ModelParams.EL_dyn ); + free( hHrtf->ModelParams.ER_dyn ); + free( hHrtf->ModelEval.hrfModL ); + free( hHrtf->ModelEval.hrfModR ); } return error; } -#endif \ No newline at end of file +#endif -- GitLab From 015a779b4d97ad4aa99db24e6b406598268721ff Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 11:01:03 +0100 Subject: [PATCH 559/620] fix printout and use integer data type --- tests/cmp_pcm.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index 45ca7d4fc4..2320018acb 100755 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -9,6 +9,7 @@ sys.path.append(os.path.join(os.path.dirname(THIS_PATH), "../scripts")) import pyaudio3dtools import pyivastest +import numpy as np def cmp_pcm(file1, file2, out_config, fs) -> (int, str): @@ -26,8 +27,8 @@ def cmp_pcm(file1, file2, out_config, fs) -> (int, str): out_config_in_file_names = out_config nchannels = pyivastest.constants.OC_TO_NCHANNELS[out_config.upper()] - s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs) - s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs) + s1, _ = pyaudio3dtools.audiofile.readfile(file1, nchannels, fs, outdtype=np.int16) + s2, _ = pyaudio3dtools.audiofile.readfile(file2, nchannels, fs, outdtype=np.int16) if s1.shape != s2.shape: print( @@ -54,5 +55,6 @@ if __name__ == "__main__": parser.add_argument("-s", "--sampling_rate", type=int, default=48000, dest="fs") args = parser.parse_args() - result, _ = cmp_pcm(**vars(args)) + result, msg = cmp_pcm(**vars(args)) + print(msg) sys.exit(result) -- GitLab From 08d456667607d0a63be3abc83e56865bd94d79d4 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 11 Jan 2023 13:14:31 +0100 Subject: [PATCH 560/620] Cleanup of unused function declaration and correction of comment --- lib_com/ivas_prot.h | 2 ++ lib_util/hrtf_file_reader.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index ec86280ebe..872b551ac0 100644 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5119,9 +5119,11 @@ void BSplineModelEvalDealloc( ModelEval_t *modelEval /* i : Model evaluation structure */ ); +#ifndef FIX_235 void BSplineModelEvalITDDealloc( ModelParamsITD_t *model /* i : Model parameters */ ); +#endif #ifdef TDREND_HRTF_TABLE_METHODS void TDREND_HRFILT_SetFiltSet( diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index ae9245e8ec..ef19754e89 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -394,7 +394,7 @@ ivas_error load_HRTF_binary( /*---------------------------------------------------------------------* * HRTF_energy_sections_precalc() * - * Deallocated memory allocated by load_HRTF_binary + * Calculate energies of each section and store in model->EL/model->ER *---------------------------------------------------------------------*/ static void HRTF_energy_sections_precalc( -- GitLab From 082b094990acf83cc0c4c773d350dc013dadb203 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 13:21:37 +0100 Subject: [PATCH 561/620] Fix missing padding bytes in bsCompactToSerial --- lib_dec/lib_dec.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 818433ab58..a823e9603b 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1265,6 +1265,12 @@ static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_ byte <<= 1; } + + /* Add 4 padding bytes required by core coder */ + for ( i = 0; i < 4 * 8; ++i ) + { + serial[num_bits + i] = 0; + } #undef WMC_TOOL_SKIP } #endif -- GitLab From d68129bd74291190028b12241fa8f1b8bca46284 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Wed, 11 Jan 2023 13:28:58 +0100 Subject: [PATCH 562/620] clang format --- lib_util/hrtf_file_reader.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_util/hrtf_file_reader.c b/lib_util/hrtf_file_reader.c index ef19754e89..15aa8d3c98 100644 --- a/lib_util/hrtf_file_reader.c +++ b/lib_util/hrtf_file_reader.c @@ -394,7 +394,7 @@ ivas_error load_HRTF_binary( /*---------------------------------------------------------------------* * HRTF_energy_sections_precalc() * - * Calculate energies of each section and store in model->EL/model->ER + * Calculate energies of each section and store in model->EL/model->ER *---------------------------------------------------------------------*/ static void HRTF_energy_sections_precalc( -- GitLab From b563037c09d3e889792a155a2803a4c63bd518be Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 13:49:59 +0100 Subject: [PATCH 563/620] Wrapp changes in preprocessor switch --- lib_com/options.h | 1 + lib_dec/lib_dec.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index a5193624e9..719dc3cd44 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -150,6 +150,7 @@ #define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ #define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ #define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ +#define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index a823e9603b..8b78c399ec 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -1266,11 +1266,13 @@ static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_ byte <<= 1; } +#ifdef FIX_245_RANGE_CODER_VOIP_MSAN /* Add 4 padding bytes required by core coder */ for ( i = 0; i < 4 * 8; ++i ) { serial[num_bits + i] = 0; } +#endif #undef WMC_TOOL_SKIP } #endif -- GitLab From 8c6bbc61d04a77c5ab8e10eb5791be8bbb197ed6 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 14:48:03 +0100 Subject: [PATCH 564/620] Revert "Remove JBM test condition failing due to range coder problems" This reverts commit f56fb29d71cdee95514d9b1910ed864f04ba1825. --- scripts/config/self_test.prm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index a998eefe2c..136a3c1e84 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -933,3 +933,8 @@ networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit ../IVAS_cod -sba 3 80000 32 testv/stv3OA32c.pcm bit networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 ../IVAS_dec -Tracefile tracefile_dec -VOIP HOA3 32 netsimoutput testv/stv3OA32c.pcm_SBA_80000_32-32_HOA3_JBM5.tst + +// Multi-channel 5_1 at 384 kbps, 48kHz in, 48kHz out, 7_1_4 out, JBM Prof 5 +../IVAS_cod -mc 5_1 384000 48 testv/stv51MC48c.pcm bit +networkSimulator_g192 ../scripts/dly_error_profiles/dly_error_profile_5.dat bit netsimoutput tracefile_sim 2 0 +../IVAS_dec -Tracefile tracefile_dec -VOIP 7_1_4 48 netsimoutput testv/stv51MC48c.pcm_MC51_384000_48-48_7_1_4_JBM5.tst \ No newline at end of file -- GitLab From 67aba192ec52e68e159e29c45e0398b50ee8336e Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 16:17:18 +0100 Subject: [PATCH 565/620] Fix incorrect buffer size --- lib_dec/lib_dec.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 8b78c399ec..5b7e5f9046 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -541,7 +541,11 @@ ivas_error IVAS_DEC_EnableVoIP( #define WMC_TOOL_SKIP /* Bitstream conversion is not counted towards complexity and memory usage */ +#ifdef FIX_245_RANGE_CODER_VOIP_MSAN + hIvasDec->hVoIP->bs_conversion_buf = malloc( sizeof( uint16_t ) * ( MAX_BITS_PER_FRAME + 4 * 8 ) ); +#else hIvasDec->hVoIP->bs_conversion_buf = malloc( sizeof( uint16_t ) * MAX_BITS_PER_FRAME + 4 * 8 ); +#endif #undef WMC_TOOL_SKIP if ( hIvasDec->hVoIP->bs_conversion_buf == NULL ) -- GitLab From fc9b20c887cbb9849284ba113ad775596876a164 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 17:33:20 +0100 Subject: [PATCH 566/620] initial version of configurable LFE handling for renderer --- apps/renderer.c | 113 +++++++++++++++++++++++++++++++ lib_com/options.h | 1 + lib_rend/lib_rend.c | 161 ++++++++++++++++++++++++++++++++++++++------ lib_rend/lib_rend.h | 12 ++++ 4 files changed, 266 insertions(+), 21 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 6084b9f46a..c2efb099c0 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -132,6 +132,11 @@ typedef struct bool quietModeEnabled; bool sceneDescriptionInput; float inputGainGlobal; /* Linear gain (not in dB) */ +#ifdef REND_CFG_LFE + float lfeConfigGain; /* Linear gain (not in dB) */ + float lfeConfigAzimuth; + float lfeConfigElevation; +#endif } CmdlnArgs; typedef enum @@ -222,12 +227,19 @@ static const CmdLnParser_Option cliOptions[] = { .description = "Head orientation tracking type: 'ref' or 'avg' (only for BINAURAL and BINAURAL_ROOM) (todo: check implementation)", }, { +#ifdef REND_CFG_LFE + .id = CmdLnOptionId_customLfeRouting, + .match = "lfe_config", + .matchShort = "lfe", + .description = "LFE Routing configuration. Comma-delimited triplet of [gain, azimuth, elevation] where gain is linear (like --gain, -g) and azimuth, elevation are in degrees.\nIf specified, overrides routing of input LFE to output LFE for outputs that have the LFE channel available.", +#else /* TODO(sgi): Replace with more configurable input, e.g. ask for a list of triplets: (gain, azimuth, elevation) to place LFE signal */ /* rename to "lfeHandling" */ .id = CmdLnOptionId_customLfeRouting, .match = "neverDropLfe", .matchShort = "ndl", .description = "[flag] If set, renderer tries to render LFE into other channels in an optimal way when rendering to configs w/o LFE", +#endif }, { .id = CmdLnOptionId_noDelayCmp, @@ -679,7 +691,15 @@ int main( } } +#ifdef REND_CFG_LFE + if ( ( error = IVAS_REND_SetInputLfeRouting( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); + exit( -1 ); + } +#else /* TODO(sgi): Test custom LFE routing here */ +#endif } for ( i = 0; i < args.inConfig.numAudioObjects; ++i ) @@ -1175,12 +1195,18 @@ static bool parseOutConfig( return true; } +#ifdef REND_CFG_LFE +static bool parseDiegeticPan( +#else static int8_t parseDiegeticPan( +#endif char *value, float *noDiegeticPan ) { +#ifndef REND_CFG_LFE int8_t success; success = 1; +#endif to_upper( value ); if ( ( strcmp( value, "CENTER" ) == 0 ) || ( strchr( value, 'C' ) != NULL ) ) @@ -1202,18 +1228,32 @@ static int8_t parseDiegeticPan( if ( *noDiegeticPan > 1.0f || *noDiegeticPan < -1.0f ) { fprintf( stderr, "Error: Incorrect value for panning option argument specified!\n\n" ); +#ifdef REND_CFG_LFE + return false; +#else success = 0; +#endif } } +#ifdef REND_CFG_LFE + return false; +#else return success ? 0 : -1; +#endif } +#ifdef REND_CFG_LFE +static bool parseOrientationTracking( +#else static int8_t parseOrientationTracking( +#endif char *value, int8_t *tracking_type ) { +#ifndef REND_CFG_LFE int8_t success; success = 1; +#endif to_upper( value ); @@ -1228,10 +1268,18 @@ static int8_t parseOrientationTracking( else { fprintf( stderr, "Error: Invalid orientation tracking type %s \n\n", value ); +#ifdef REND_CFG_LFE + return false; +#else success = 0; +#endif } +#ifdef REND_CFG_LFE + return true; +#else return success ? 0 : -1; +#endif } static IVAS_REND_AudioConfig parseAudioConfig( @@ -1313,6 +1361,48 @@ static IVAS_REND_AudioConfig parseAudioConfig( return IVAS_REND_AUDIO_CONFIG_UNKNOWN; } +#ifdef REND_CFG_LFE +static bool parseLfeConfig( + const char *value, + float *lfeGain, + float *lfeAzimuth, + float *lfeElevation ) +{ + uint8_t nvalues; + const char *tok; + float values[3]; + char config_string[RENDERER_MAX_METADATA_LINE_LENGTH]; + + strncpy( config_string, value, RENDERER_MAX_METADATA_LINE_LENGTH ); + nvalues = 0; + + for ( tok = strtok( config_string, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) + { + while ( *tok == ' ' ) + { + tok++; + } + + if ( *tok == '\0' ) + { + continue; + } + values[nvalues] = (float) atof( tok ); + nvalues++; + } + + if ( nvalues != 3 ) + { + return false; + } + + *lfeGain = values[0]; + *lfeAzimuth = values[1]; + *lfeElevation = values[2]; + return true; +} +#endif + static const CmdLnParser_Option *findOptionById( const int32_t id ) { @@ -1410,6 +1500,11 @@ static CmdlnArgs defaultArgs( args.sceneDescriptionInput = false; args.inputGainGlobal = 1.0f; +#ifdef REND_CFG_LFE + args.lfeConfigGain = 1.0f; + args.lfeConfigAzimuth = 0; + args.lfeConfigElevation = 0; +#endif return args; } @@ -1480,7 +1575,11 @@ static void parseOption( break; case CmdLnOptionId_noDiegeticPan: assert( numOptionValues == 1 ); +#ifdef REND_CFG_LFE + if ( !parseDiegeticPan( optionValues[0], &args->noDiegeticPan ) ) +#else if ( parseDiegeticPan( optionValues[0], &args->noDiegeticPan ) != 0 ) +#endif { fprintf( stderr, "Unknown option for diegetic panning: %s\n", optionValues[0] ); exit( -1 ); @@ -1488,14 +1587,28 @@ static void parseOption( break; case CmdLnOptionId_orientationTracking: assert( numOptionValues == 1 ); +#ifdef REND_CFG_LFE + if ( !parseOrientationTracking( optionValues[0], &args->orientationTracking ) ) +#else if ( parseOrientationTracking( optionValues[0], &args->orientationTracking ) != 0 ) +#endif { fprintf( stderr, "Unknown option for orientation tracking: %s\n", optionValues[0] ); exit( -1 ); } break; case CmdLnOptionId_customLfeRouting: +#ifdef REND_CFG_LFE + assert( numOptionValues == 1 ); + if ( !parseLfeConfig( optionValues[0], &args->lfeConfigGain, &args->lfeConfigAzimuth, &args->lfeConfigElevation ) ) + { + fprintf( stderr, "Unknown or invalid option for LFE configuration: %s\n", optionValues[0] ); + exit( -1 ); + } + break; +#else assert( 0 && "Not yet implemented in CLI" ); +#endif break; case CmdLnOptionId_noDelayCmp: assert( numOptionValues == 0 ); diff --git a/lib_com/options.h b/lib_com/options.h index 332afbbe54..b63ce0d404 100755 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -152,6 +152,7 @@ #define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ #define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ +#define REND_CFG_LFE /* Issue 110: Configurable LFE handling for external renderer */ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 028b0f6274..7c94fc3a76 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -606,6 +606,26 @@ static ivas_error getAmbisonicsOrder( return IVAS_ERR_OK; } +static int32_t getNumLfeChannels( + input_mc *inputMc ) +{ + switch ( inputMc->base.inConfig ) + { + case IVAS_REND_AUDIO_CONFIG_5_1: + case IVAS_REND_AUDIO_CONFIG_7_1: + case IVAS_REND_AUDIO_CONFIG_5_1_2: + case IVAS_REND_AUDIO_CONFIG_5_1_4: + case IVAS_REND_AUDIO_CONFIG_7_1_4: + return 1; + case IVAS_REND_AUDIO_CONFIG_LS_CUSTOM: + return inputMc->customLsInput.num_lfe; + default: + break; + } + + return 0; +} + static ivas_error getNumNonLfeChannelsInSpeakerLayout( IVAS_REND_AudioConfig config, int16_t *numNonLfeChannels ) @@ -1449,6 +1469,97 @@ static ivas_error updateMcPanGainsForAmbiOut( return IVAS_ERR_OK; } +#ifdef REND_CFG_LFE +static ivas_error updateLfePanGainsForMcOut( + input_mc *inputMc, + const IVAS_REND_AudioConfig outConfig ) +{ + int16_t i, numLfeIn, numOutChannels; + ivas_error error; + error = IVAS_ERR_OK; + + /* If panning is not required, simply return */ + if ( !inputMc->lfeRouting.pan_lfe ) + { + return error; + } + + numLfeIn = getNumLfeChannels( inputMc ); + + if ( outConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) + { + numOutChannels = inputMc->base.ctx.pCustomLsOut->num_spk + inputMc->base.ctx.pCustomLsOut->num_lfe; + } + else + { + if ( ( error = getAudioConfigNumChannels( outConfig, &numOutChannels ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + for ( i = 0; i < numLfeIn; i++ ) + { + /* panning gains */ + if ( ( error = getEfapGains( *inputMc->base.ctx.pEfapOutWrapper, + inputMc->lfeRouting.lfeOutputAzimuth, + inputMc->lfeRouting.lfeOutputElevation, + inputMc->lfeRouting.lfeOutputGains[i] ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* linear input gain */ + v_multc( inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfeInputGain, + inputMc->lfeRouting.lfeOutputGains[i], + numOutChannels ); + } + + return error; +} + +static ivas_error updateLfePanGainsForAmbiOut( + input_mc *inputMc, + const IVAS_REND_AudioConfig outConfig ) +{ + int16_t i; + int16_t numLfeIn, outAmbiOrder; + ivas_error error; + error = IVAS_ERR_OK; + + /* If panning is not required, simply return */ + if ( !inputMc->lfeRouting.pan_lfe ) + { + return error; + } + + if ( ( error = getAmbisonicsOrder( outConfig, &outAmbiOrder ) ) != IVAS_ERR_OK ) + { + return error; + } + + numLfeIn = getNumLfeChannels( inputMc ); + + for ( i = 0; i < numLfeIn; i++ ) + { + /* panning gains */ + ivas_dirac_dec_get_response( inputMc->lfeRouting.lfeOutputAzimuth, + inputMc->lfeRouting.lfeOutputElevation, + inputMc->lfeRouting.lfeOutputGains[i], + outAmbiOrder ); + + /* linear input gain */ + v_multc( inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfeInputGain, + inputMc->lfeRouting.lfeOutputGains[i], + IVAS_MAX_OUTPUT_CHANNELS ); + } + + return error; +} +#endif + static ivas_error updateMcPanGains( input_mc *inputMc, const IVAS_REND_AudioConfig outConfig ) @@ -1464,9 +1575,15 @@ static ivas_error updateMcPanGains( { case IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED: error = updateMcPanGainsForMcOut( inputMc, outConfig ); +#ifdef REND_CFG_LFE + error = updateLfePanGainsForMcOut( inputMc, outConfig ); +#endif break; case IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS: error = updateMcPanGainsForAmbiOut( inputMc, outConfig ); +#ifdef REND_CFG_LFE + error = updateLfePanGainsForAmbiOut( inputMc, outConfig ); +#endif break; case IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL: switch ( outConfig ) @@ -1476,6 +1593,9 @@ static ivas_error updateMcPanGains( case IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM: /* Prepare rendering to intermediate format */ error = updateMcPanGainsForMcOut( inputMc, IVAS_REND_AUDIO_CONFIG_7_1_4 ); +#ifdef REND_CFG_LFE + error = updateLfePanGainsForMcOut( inputMc, outConfig ); +#endif break; default: return IVAS_ERR_INVALID_OUTPUT_FORMAT; @@ -1594,6 +1714,11 @@ static IVAS_REND_LfeRouting defaultLfeRouting( set_zero( routing.lfeOutputGains[i], IVAS_MAX_OUTPUT_CHANNELS ); } +#ifdef REND_CFG_LFE + routing.pan_lfe = false; + routing.lfeInputGain = 1.0f; +#endif + switch ( inConfig ) { case IVAS_REND_AUDIO_CONFIG_5_1: @@ -2884,30 +3009,17 @@ ivas_error IVAS_REND_SetInputGain( return IVAS_ERR_OK; } -static int32_t getNumLfeChannels( - input_mc *inputMc ) -{ - switch ( inputMc->base.inConfig ) - { - case IVAS_REND_AUDIO_CONFIG_5_1: - case IVAS_REND_AUDIO_CONFIG_7_1: - case IVAS_REND_AUDIO_CONFIG_5_1_2: - case IVAS_REND_AUDIO_CONFIG_5_1_4: - case IVAS_REND_AUDIO_CONFIG_7_1_4: - return 1; - case IVAS_REND_AUDIO_CONFIG_LS_CUSTOM: - return inputMc->customLsInput.num_lfe; - default: - break; - } - - return 0; -} - ivas_error IVAS_REND_SetInputLfeRouting( IVAS_REND_HANDLE hIvasRend, const IVAS_REND_InputId inputId, - const IVAS_REND_LfeRouting lfeRouting ) +#ifdef REND_CFG_LFE + const float inputGain, + const float outputAzimuth, + const float outputElevation +#else + const IVAS_REND_LfeRouting lfeRouting +#endif +) { input_base *pInputBase; input_mc *pInputMc; @@ -2932,12 +3044,19 @@ ivas_error IVAS_REND_SetInputLfeRouting( } pInputMc = (input_mc *) pInputBase; +#ifdef REND_CFG_LFE + pInputMc->lfeRouting.pan_lfe = true; + pInputMc->lfeRouting.lfeInputGain = inputGain; + pInputMc->lfeRouting.lfeOutputAzimuth = outputAzimuth; + pInputMc->lfeRouting.lfeOutputElevation = outputElevation; +#else if ( getNumLfeChannels( pInputMc ) != lfeRouting.numLfeChannels ) { return IVAS_ERR_WRONG_NUM_CHANNELS; } pInputMc->lfeRouting = lfeRouting; +#endif if ( ( error = updateMcPanGains( pInputMc, hIvasRend->outputConfig ) ) != IVAS_ERR_OK ) { return error; diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index ea4b84d897..cd523b2e34 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -136,6 +136,12 @@ typedef uint16_t IVAS_REND_InputId; typedef struct { int16_t numLfeChannels; +#ifdef REND_CFG_LFE + bool pan_lfe; + float lfeInputGain; + float lfeOutputAzimuth; + float lfeOutputElevation; +#endif float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; } IVAS_REND_LfeRouting; @@ -194,7 +200,13 @@ ivas_error IVAS_REND_SetInputGain( ivas_error IVAS_REND_SetInputLfeRouting( IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ const IVAS_REND_InputId inputId, /* i : ID of the input */ +#ifdef REND_CFG_LFE + const float inputGain, /* i : Input gain to be applied to the LFE channel(s) */ + const float outputAzimuth, /* i : Output azimuth position */ + const float outputElevation /* i : Output elevation position */ +#else const IVAS_REND_LfeRouting lfeRouting /* i : custom LFE routing struct */ +#endif ); ivas_error IVAS_REND_RemoveInput( -- GitLab From 78177a5cca4880227b393fa3fb88486edd5cdb26 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 17:56:24 +0100 Subject: [PATCH 567/620] set a flag to control when LFE panning is performed, should resolve non-BE --- apps/renderer.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index c2efb099c0..008ad189ad 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -133,6 +133,7 @@ typedef struct bool sceneDescriptionInput; float inputGainGlobal; /* Linear gain (not in dB) */ #ifdef REND_CFG_LFE + bool pan_lfe; float lfeConfigGain; /* Linear gain (not in dB) */ float lfeConfigAzimuth; float lfeConfigElevation; @@ -692,10 +693,13 @@ int main( } #ifdef REND_CFG_LFE - if ( ( error = IVAS_REND_SetInputLfeRouting( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) + if ( args.pan_lfe ) { - fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); - exit( -1 ); + if ( ( error = IVAS_REND_SetInputLfeRouting( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); + exit( -1 ); + } } #else /* TODO(sgi): Test custom LFE routing here */ @@ -1605,6 +1609,7 @@ static void parseOption( fprintf( stderr, "Unknown or invalid option for LFE configuration: %s\n", optionValues[0] ); exit( -1 ); } + args->pan_lfe = true; break; #else assert( 0 && "Not yet implemented in CLI" ); -- GitLab From 384239a493e47b5628993da2c7f59541c4e3657f Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 11 Jan 2023 18:04:09 +0100 Subject: [PATCH 568/620] fix MSAN error, default wasn't set --- apps/renderer.c | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/renderer.c b/apps/renderer.c index 008ad189ad..9f2898e4f8 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1505,6 +1505,7 @@ static CmdlnArgs defaultArgs( args.inputGainGlobal = 1.0f; #ifdef REND_CFG_LFE + args.pan_lfe = false; args.lfeConfigGain = 1.0f; args.lfeConfigAzimuth = 0; args.lfeConfigElevation = 0; -- GitLab From 3cce8239d7d8122d747338c30fc683afa46004be Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 12 Jan 2023 12:32:44 +0100 Subject: [PATCH 569/620] fix asan error and refactor function calls into update McPanGains... --- apps/renderer.c | 6 ++ lib_rend/lib_rend.c | 202 +++++++++++++++++++++++--------------------- 2 files changed, 112 insertions(+), 96 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 9f2898e4f8..70ddbf3cf0 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1393,6 +1393,12 @@ static bool parseLfeConfig( } values[nvalues] = (float) atof( tok ); nvalues++; + + /* ignore any additionally specified values */ + if ( nvalues == 3 ) + { + break; + } } if ( nvalues != 3 ) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 7c94fc3a76..576ebffd42 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -1363,6 +1363,97 @@ static bool configsAreEqual( return configA == configB; } +#ifdef REND_CFG_LFE +static ivas_error updateLfePanGainsForMcOut( + input_mc *inputMc, + const IVAS_REND_AudioConfig outConfig ) +{ + int16_t i, numLfeIn, numOutChannels; + ivas_error error; + error = IVAS_ERR_OK; + + /* If panning is not required, simply return */ + if ( !inputMc->lfeRouting.pan_lfe ) + { + return error; + } + + numLfeIn = getNumLfeChannels( inputMc ); + + if ( outConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) + { + numOutChannels = inputMc->base.ctx.pCustomLsOut->num_spk + inputMc->base.ctx.pCustomLsOut->num_lfe; + } + else + { + if ( ( error = getAudioConfigNumChannels( outConfig, &numOutChannels ) ) != IVAS_ERR_OK ) + { + return error; + } + } + + for ( i = 0; i < numLfeIn; i++ ) + { + /* panning gains */ + if ( ( error = getEfapGains( *inputMc->base.ctx.pEfapOutWrapper, + inputMc->lfeRouting.lfeOutputAzimuth, + inputMc->lfeRouting.lfeOutputElevation, + inputMc->lfeRouting.lfeOutputGains[i] ) ) != IVAS_ERR_OK ) + { + return error; + } + + /* linear input gain */ + v_multc( inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfeInputGain, + inputMc->lfeRouting.lfeOutputGains[i], + numOutChannels ); + } + + return error; +} + +static ivas_error updateLfePanGainsForAmbiOut( + input_mc *inputMc, + const IVAS_REND_AudioConfig outConfig ) +{ + int16_t i; + int16_t numLfeIn, outAmbiOrder; + ivas_error error; + error = IVAS_ERR_OK; + + /* If panning is not required, simply return */ + if ( !inputMc->lfeRouting.pan_lfe ) + { + return error; + } + + if ( ( error = getAmbisonicsOrder( outConfig, &outAmbiOrder ) ) != IVAS_ERR_OK ) + { + return error; + } + + numLfeIn = getNumLfeChannels( inputMc ); + + for ( i = 0; i < numLfeIn; i++ ) + { + /* panning gains */ + ivas_dirac_dec_get_response( inputMc->lfeRouting.lfeOutputAzimuth, + inputMc->lfeRouting.lfeOutputElevation, + inputMc->lfeRouting.lfeOutputGains[i], + outAmbiOrder ); + + /* linear input gain */ + v_multc( inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfeInputGain, + inputMc->lfeRouting.lfeOutputGains[i], + IVAS_MAX_OUTPUT_CHANNELS ); + } + + return error; +} +#endif + static ivas_error updateMcPanGainsForMcOut( input_mc *inputMc, const IVAS_REND_AudioConfig outConfig ) @@ -1404,6 +1495,17 @@ static ivas_error updateMcPanGainsForMcOut( error = initMcPanGainsWithConversionMapping( inputMc, outConfig ); } +#ifdef REND_CFG_LFE + /* check for errors from above block */ + if ( error != IVAS_ERR_OK ) + { + return error; + } + + /* update LFE panning */ + error = updateLfePanGainsForMcOut( inputMc, outConfig ); +#endif + return error; } @@ -1466,99 +1568,16 @@ static ivas_error updateMcPanGainsForAmbiOut( } } - return IVAS_ERR_OK; -} - #ifdef REND_CFG_LFE -static ivas_error updateLfePanGainsForMcOut( - input_mc *inputMc, - const IVAS_REND_AudioConfig outConfig ) -{ - int16_t i, numLfeIn, numOutChannels; - ivas_error error; - error = IVAS_ERR_OK; - - /* If panning is not required, simply return */ - if ( !inputMc->lfeRouting.pan_lfe ) + /* update LFE panning */ + if ( ( error = updateLfePanGainsForAmbiOut( inputMc, outConfig ) ) != IVAS_ERR_OK ) { return error; } +#endif - numLfeIn = getNumLfeChannels( inputMc ); - - if ( outConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) - { - numOutChannels = inputMc->base.ctx.pCustomLsOut->num_spk + inputMc->base.ctx.pCustomLsOut->num_lfe; - } - else - { - if ( ( error = getAudioConfigNumChannels( outConfig, &numOutChannels ) ) != IVAS_ERR_OK ) - { - return error; - } - } - - for ( i = 0; i < numLfeIn; i++ ) - { - /* panning gains */ - if ( ( error = getEfapGains( *inputMc->base.ctx.pEfapOutWrapper, - inputMc->lfeRouting.lfeOutputAzimuth, - inputMc->lfeRouting.lfeOutputElevation, - inputMc->lfeRouting.lfeOutputGains[i] ) ) != IVAS_ERR_OK ) - { - return error; - } - - /* linear input gain */ - v_multc( inputMc->lfeRouting.lfeOutputGains[i], - inputMc->lfeRouting.lfeInputGain, - inputMc->lfeRouting.lfeOutputGains[i], - numOutChannels ); - } - - return error; -} - -static ivas_error updateLfePanGainsForAmbiOut( - input_mc *inputMc, - const IVAS_REND_AudioConfig outConfig ) -{ - int16_t i; - int16_t numLfeIn, outAmbiOrder; - ivas_error error; - error = IVAS_ERR_OK; - - /* If panning is not required, simply return */ - if ( !inputMc->lfeRouting.pan_lfe ) - { - return error; - } - - if ( ( error = getAmbisonicsOrder( outConfig, &outAmbiOrder ) ) != IVAS_ERR_OK ) - { - return error; - } - - numLfeIn = getNumLfeChannels( inputMc ); - - for ( i = 0; i < numLfeIn; i++ ) - { - /* panning gains */ - ivas_dirac_dec_get_response( inputMc->lfeRouting.lfeOutputAzimuth, - inputMc->lfeRouting.lfeOutputElevation, - inputMc->lfeRouting.lfeOutputGains[i], - outAmbiOrder ); - - /* linear input gain */ - v_multc( inputMc->lfeRouting.lfeOutputGains[i], - inputMc->lfeRouting.lfeInputGain, - inputMc->lfeRouting.lfeOutputGains[i], - IVAS_MAX_OUTPUT_CHANNELS ); - } - - return error; + return IVAS_ERR_OK; } -#endif static ivas_error updateMcPanGains( input_mc *inputMc, @@ -1575,15 +1594,9 @@ static ivas_error updateMcPanGains( { case IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED: error = updateMcPanGainsForMcOut( inputMc, outConfig ); -#ifdef REND_CFG_LFE - error = updateLfePanGainsForMcOut( inputMc, outConfig ); -#endif break; case IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS: error = updateMcPanGainsForAmbiOut( inputMc, outConfig ); -#ifdef REND_CFG_LFE - error = updateLfePanGainsForAmbiOut( inputMc, outConfig ); -#endif break; case IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL: switch ( outConfig ) @@ -1593,9 +1606,6 @@ static ivas_error updateMcPanGains( case IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM: /* Prepare rendering to intermediate format */ error = updateMcPanGainsForMcOut( inputMc, IVAS_REND_AUDIO_CONFIG_7_1_4 ); -#ifdef REND_CFG_LFE - error = updateLfePanGainsForMcOut( inputMc, outConfig ); -#endif break; default: return IVAS_ERR_INVALID_OUTPUT_FORMAT; -- GitLab From 10293bc82e2fcf429b22bb32d87e06035ffa55d3 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 12 Jan 2023 12:45:59 +0100 Subject: [PATCH 570/620] rename API function and make LFE routing struct private --- apps/renderer.c | 2 +- lib_rend/lib_rend.c | 28 ++++++++++++++++++++++++++++ lib_rend/lib_rend.h | 12 ++++++------ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 70ddbf3cf0..b1134ee4a2 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -695,7 +695,7 @@ int main( #ifdef REND_CFG_LFE if ( args.pan_lfe ) { - if ( ( error = IVAS_REND_SetInputLfeRouting( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_REND_SetInputLfePan( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 576ebffd42..2ebabf8645 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -115,6 +115,18 @@ typedef struct rotation_matrix rot_mat_prev; } input_ism; +#ifdef REND_CFG_LFE +typedef struct +{ + int16_t numLfeChannels; + bool pan_lfe; + float lfeInputGain; + float lfeOutputAzimuth; + float lfeOutputElevation; + float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; +} lfe_routing; +#endif + typedef struct { input_base base; @@ -128,7 +140,11 @@ typedef struct TDREND_WRAPPER tdRendWrapper; CREND_WRAPPER crendWrapper; rotation_gains rot_gains_prev; +#ifdef REND_CFG_LFE + lfe_routing lfeRouting; +#else IVAS_REND_LfeRouting lfeRouting; +#endif } input_mc; typedef struct @@ -1708,14 +1724,22 @@ static ivas_error initMcBinauralRendering( return error; } +#ifdef REND_CFG_LFE +static lfe_routing defaultLfeRouting( +#else static IVAS_REND_LfeRouting defaultLfeRouting( +#endif IVAS_REND_AudioConfig inConfig, LSSETUP_CUSTOM_STRUCT customLsIn, IVAS_REND_AudioConfig outConfig, LSSETUP_CUSTOM_STRUCT customLsOut ) { int32_t i; +#ifdef REND_CFG_LFE + lfe_routing routing; +#else IVAS_REND_LfeRouting routing; +#endif /* Set all output gains to zero, then route each input LFE consecutively to the next available output LFE. */ @@ -3019,7 +3043,11 @@ ivas_error IVAS_REND_SetInputGain( return IVAS_ERR_OK; } +#ifdef REND_CFG_LFE +ivas_error IVAS_REND_SetInputLfePan( +#else ivas_error IVAS_REND_SetInputLfeRouting( +#endif IVAS_REND_HANDLE hIvasRend, const IVAS_REND_InputId inputId, #ifdef REND_CFG_LFE diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index cd523b2e34..a704be14ba 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -133,17 +133,13 @@ typedef enum typedef uint16_t IVAS_REND_InputId; +#ifndef REND_CFG_LFE typedef struct { int16_t numLfeChannels; -#ifdef REND_CFG_LFE - bool pan_lfe; - float lfeInputGain; - float lfeOutputAzimuth; - float lfeOutputElevation; -#endif float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; } IVAS_REND_LfeRouting; +#endif /* clang-format off */ /*----------------------------------------------------------------------------------* @@ -197,7 +193,11 @@ ivas_error IVAS_REND_SetInputGain( const float gain /* i : linear gain (not in dB) */ ); +#ifdef REND_CFG_LFE +ivas_error IVAS_REND_SetInputLfePan( +#else ivas_error IVAS_REND_SetInputLfeRouting( +#endif IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ const IVAS_REND_InputId inputId, /* i : ID of the input */ #ifdef REND_CFG_LFE -- GitLab From 59f3c4ab1f923adcf8d1addc6b1968e8e6a8ed83 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Thu, 12 Jan 2023 14:07:31 +0100 Subject: [PATCH 571/620] add IVAS_REND_SetInputLfeMtx() API function --- apps/renderer.c | 2 +- lib_rend/lib_rend.c | 71 ++++++++++++++++++++++++++++++++++++--------- lib_rend/lib_rend.h | 14 ++++++++- 3 files changed, 72 insertions(+), 15 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index b1134ee4a2..6b7549c376 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -695,7 +695,7 @@ int main( #ifdef REND_CFG_LFE if ( args.pan_lfe ) { - if ( ( error = IVAS_REND_SetInputLfePan( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) + if ( ( error = IVAS_REND_SetInputLfePos( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); exit( -1 ); diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 2ebabf8645..206985c23d 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -123,7 +123,7 @@ typedef struct float lfeInputGain; float lfeOutputAzimuth; float lfeOutputElevation; - float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; + IVAS_REND_LfePanMtx lfePanMtx; } lfe_routing; #endif @@ -1414,15 +1414,15 @@ static ivas_error updateLfePanGainsForMcOut( if ( ( error = getEfapGains( *inputMc->base.ctx.pEfapOutWrapper, inputMc->lfeRouting.lfeOutputAzimuth, inputMc->lfeRouting.lfeOutputElevation, - inputMc->lfeRouting.lfeOutputGains[i] ) ) != IVAS_ERR_OK ) + inputMc->lfeRouting.lfePanMtx[i] ) ) != IVAS_ERR_OK ) { return error; } /* linear input gain */ - v_multc( inputMc->lfeRouting.lfeOutputGains[i], + v_multc( inputMc->lfeRouting.lfePanMtx[i], inputMc->lfeRouting.lfeInputGain, - inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfePanMtx[i], numOutChannels ); } @@ -1456,13 +1456,13 @@ static ivas_error updateLfePanGainsForAmbiOut( /* panning gains */ ivas_dirac_dec_get_response( inputMc->lfeRouting.lfeOutputAzimuth, inputMc->lfeRouting.lfeOutputElevation, - inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfePanMtx[i], outAmbiOrder ); /* linear input gain */ - v_multc( inputMc->lfeRouting.lfeOutputGains[i], + v_multc( inputMc->lfeRouting.lfePanMtx[i], inputMc->lfeRouting.lfeInputGain, - inputMc->lfeRouting.lfeOutputGains[i], + inputMc->lfeRouting.lfePanMtx[i], IVAS_MAX_OUTPUT_CHANNELS ); } @@ -1641,13 +1641,13 @@ static ivas_error updateMcPanGains( { for ( i = 0; i < inputMc->customLsInput.num_lfe; ++i ) { - mvr2r( inputMc->lfeRouting.lfeOutputGains[i], inputMc->panGains[inputMc->customLsInput.lfe_idx[i]], IVAS_MAX_OUTPUT_CHANNELS ); + mvr2r( inputMc->lfeRouting.lfePanMtx[i], inputMc->panGains[inputMc->customLsInput.lfe_idx[i]], IVAS_MAX_OUTPUT_CHANNELS ); } } else { /* For code simplicity, always copy LFE gains. If config has no LFE, gains will be zero anyway. */ - mvr2r( inputMc->lfeRouting.lfeOutputGains[0], inputMc->panGains[LFE_CHANNEL], IVAS_MAX_OUTPUT_CHANNELS ); + mvr2r( inputMc->lfeRouting.lfePanMtx[0], inputMc->panGains[LFE_CHANNEL], IVAS_MAX_OUTPUT_CHANNELS ); } return IVAS_ERR_OK; @@ -1745,7 +1745,7 @@ static IVAS_REND_LfeRouting defaultLfeRouting( for ( i = 0; i < IVAS_MAX_INPUT_LFE_CHANNELS; ++i ) { - set_zero( routing.lfeOutputGains[i], IVAS_MAX_OUTPUT_CHANNELS ); + set_zero( routing.lfePanMtx[i], IVAS_MAX_OUTPUT_CHANNELS ); } #ifdef REND_CFG_LFE @@ -1776,12 +1776,12 @@ static IVAS_REND_LfeRouting defaultLfeRouting( case IVAS_REND_AUDIO_CONFIG_5_1_4: case IVAS_REND_AUDIO_CONFIG_7_1: case IVAS_REND_AUDIO_CONFIG_7_1_4: - routing.lfeOutputGains[0][LFE_CHANNEL] = 1.0f; + routing.lfePanMtx[0][LFE_CHANNEL] = 1.0f; break; case IVAS_REND_AUDIO_CONFIG_LS_CUSTOM: for ( i = 0; i < routing.numLfeChannels && i < customLsOut.num_lfe; ++i ) { - routing.lfeOutputGains[i][customLsOut.lfe_idx[i]] = 1.0f; + routing.lfePanMtx[i][customLsOut.lfe_idx[i]] = 1.0f; } break; default: @@ -3044,7 +3044,52 @@ ivas_error IVAS_REND_SetInputGain( } #ifdef REND_CFG_LFE -ivas_error IVAS_REND_SetInputLfePan( +ivas_error IVAS_REND_SetInputLfeMtx( + IVAS_REND_HANDLE hIvasRend, + const IVAS_REND_InputId inputId, + const IVAS_REND_LfePanMtx lfePanMtx ) +{ + int16_t i; + input_base *pInputBase; + input_mc *pInputMc; + ivas_error error; + + /*-----------------------------------------------------------------* + * Validate function arguments + *-----------------------------------------------------------------*/ + + if ( hIvasRend == NULL ) + { + return IVAS_ERR_UNEXPECTED_NULL_POINTER; + } + if ( ( error = getInputById( hIvasRend, inputId, (void **) &pInputBase ) ) != IVAS_ERR_OK ) + { + return error; + } + if ( getAudioConfigType( pInputBase->inConfig ) != IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) + { + /* Custom LFE panning matrix only makes sense with channel-based input */ + return IVAS_ERR_INVALID_INPUT_FORMAT; + } + pInputMc = (input_mc *) pInputBase; + + /* copy LFE panning matrix */ + for ( i = 0; i < IVAS_MAX_INPUT_LFE_CHANNELS; i++ ) + { + mvr2r( lfePanMtx[i], pInputMc->lfeRouting.lfePanMtx[i], IVAS_MAX_OUTPUT_CHANNELS ); + } + + if ( ( error = updateMcPanGains( pInputMc, hIvasRend->outputConfig ) ) != IVAS_ERR_OK ) + { + return error; + } + + return IVAS_ERR_OK; +} +#endif + +#ifdef REND_CFG_LFE +ivas_error IVAS_REND_SetInputLfePos( #else ivas_error IVAS_REND_SetInputLfeRouting( #endif diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index a704be14ba..4bcce88400 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -49,6 +49,10 @@ #define RENDERER_HEAD_POSITIONS_PER_FRAME 4 +#ifdef REND_CFG_LFE +typedef float IVAS_REND_LfePanMtx[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; +#endif + typedef struct { int16_t numSamplesPerChannel; @@ -194,7 +198,15 @@ ivas_error IVAS_REND_SetInputGain( ); #ifdef REND_CFG_LFE -ivas_error IVAS_REND_SetInputLfePan( +ivas_error IVAS_REND_SetInputLfeMtx( + IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ + const IVAS_REND_InputId inputId, /* i : ID of the input */ + const IVAS_REND_LfePanMtx lfePanMtx /* i : LFE panning matrix */ +); +#endif + +#ifdef REND_CFG_LFE +ivas_error IVAS_REND_SetInputLfePos( #else ivas_error IVAS_REND_SetInputLfeRouting( #endif -- GitLab From e2272fffadc5af223600640dbadc545e4e9c6bd0 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 11 Jan 2023 12:29:04 +0530 Subject: [PATCH 572/620] Added test case for SBA BR switching with DTX --- scripts/config/self_test.prm | 3 +++ tests/test_param_file.py | 30 +++++++++++++++++++++++++++--- 2 files changed, 30 insertions(+), 3 deletions(-) diff --git a/scripts/config/self_test.prm b/scripts/config/self_test.prm index a998eefe2c..8c75fc2893 100644 --- a/scripts/config/self_test.prm +++ b/scripts/config/self_test.prm @@ -599,6 +599,9 @@ ../IVAS_cod -sba -3 ../scripts/switchPaths/sw_24k4_256k.bin 48 testv/stv3OA48c.pcm bit ../IVAS_dec 7_1_4 48 bit testv/stv3OA48c.pcm_sw_48-48_7_1_4.tst +// SBA FOA bitrate switching from 13.2 kbps to 192 kbps, 32kHz in, 32kHz out,DTX on, BINAURAL out +../IVAS_cod -dtx -sba 1 ../scripts/switchPaths/sw_13k2_192k_50fr.bin 32 testv/stvFOA32c.pcm bit +../IVAS_dec BINAURAL 32 bit testv/stvFOA32c.pcm_sw_32-32_DTX_BINAURAL.tst // MASA 1dir 1TC at 13.2 kbps, 48kHz in, 48kHz out, BINAURAL out ../IVAS_cod -masa 1 testv/stv_IVASMASA_1dir1TC.met 13200 48 testv/stv_IVASMASA_1dir1TC.pcm bit diff --git a/tests/test_param_file.py b/tests/test_param_file.py index 4031fd36bf..a0d7036668 100644 --- a/tests/test_param_file.py +++ b/tests/test_param_file.py @@ -39,6 +39,7 @@ import errno import platform from subprocess import run import pytest +from cut_pcm import cut_samples from cmp_custom import cmp_custom from conftest import EncoderFrontend, DecoderFrontend from testconfig import PARAM_FILE @@ -148,9 +149,16 @@ def test_param_file_tests( bitstream_file = enc_split.pop() testv_file = enc_split.pop() - sampling_rate = int(enc_split.pop()) + fs = enc_split.pop() + sampling_rate = int(fs) bitrate = enc_split.pop() - + + sba_br_switching_dtx = 0 + if bitrate.startswith("../") and "-dtx" in enc_opts.split() and "-sba" in enc_opts.split(): + sba_br_switching_dtx = 1 + cut_file = pre_proc_input(testv_file,fs) + testv_file = cut_file + # bitrate can be a filename: remove leading "../" if bitrate.startswith("../"): bitrate = bitrate[3:] @@ -176,7 +184,10 @@ def test_param_file_tests( enc_split, update_ref, ) - + if sba_br_switching_dtx == 1: + isExist = os.path.exists(cut_file) + if isExist: + os.remove(cut_file) # check for networkSimulator_g192 command line if sim_opts != "": sim_split = sim_opts.split() @@ -334,6 +345,19 @@ def encode( add_option_list=enc_opts_list, ) +def pre_proc_input(testv_file,fs): + CUT_FROM = "0.0" + CUT_LEN = "5.0" + cut_gain = "0.004" + if "stvFOA" in testv_file: + num_channel = '4' + elif "stv2OA" in testv_file: + num_channel = '9' + elif "stv3OA" in testv_file: + num_channel = '16' + cut_file = testv_file.replace(".pcm",num_channel + "chn_"+ cut_gain + ".pcm") + cut_samples(testv_file, cut_file, num_channel, fs + "000", CUT_FROM, CUT_LEN, cut_gain) + return(cut_file) def simulate( reference_path, -- GitLab From d19bce3e6ce29658ae7dd859aca8f0fe71cf0f56 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Fri, 13 Jan 2023 11:46:00 +0100 Subject: [PATCH 573/620] Temporarily disable ENV_STAB_FIX to resolve unexpected diff in be-2-evs-linux --- lib_com/options.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index af92ab2516..62646f81d1 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -155,7 +155,7 @@ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ #define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ -#define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ +/*#define ENV_STAB_FIX*/ /* Contribution 23: HQ envelope stability memory fix */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ -- GitLab From 5dc8dc739ccb8f69b15542e569430905e760f1c6 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:13:09 +0100 Subject: [PATCH 574/620] [cleanup] accept BRATE_SWITCHING_RENDERING --- lib_com/ivas_prot.h | 2 - lib_com/options.h | 1 - lib_debug/coan_out_000000 | 924 ++++++++++++++++++++ lib_dec/ivas_corecoder_dec_reconfig.c | 2 - lib_dec/ivas_dirac_dec_binaural_functions.c | 12 - lib_dec/ivas_sba_dec.c | 112 --- lib_rend/ivas_binauralRenderer.c | 2 - lib_rend/ivas_binaural_reverb.c | 2 - 8 files changed, 924 insertions(+), 133 deletions(-) create mode 100644 lib_debug/coan_out_000000 diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 4ab1098236..336e6f91e9 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -3145,14 +3145,12 @@ void ivas_init_dec_get_num_cldfb_instances( int16_t *numCldfbSyntheses /* o : number of CLDFB synthesis instances */ ); -#ifdef BRATE_SWITCHING_RENDERING ivas_error ivas_cldfb_dec_reconfig( Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ int16_t numCldfbAnalyses_old, /* i : number of CLDFB analysis instances in previous frame */ const int16_t numCldfbSyntheses_old /* i : number of CLDFB synthesis instances in previous frame */ ); -#endif /*! r: Ambisonic (SBA) order */ int16_t ivas_sba_get_order( const int16_t nb_channels, /* i : Number of ambisonic channels */ diff --git a/lib_com/options.h b/lib_com/options.h index 471b41f502..bb77a02db8 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -145,7 +145,6 @@ #ifdef SBA_BR_SWITCHING #define SBA_BR_SWITCHING_RECONFIG /* Issue 114: Changes for SBA bitrate switching with reconfiguration for bitrates with different number of transport channels*/ #endif -#define BRATE_SWITCHING_RENDERING /* Bitrate switching changes related to the renderers */ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ #define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ diff --git a/lib_debug/coan_out_000000 b/lib_debug/coan_out_000000 new file mode 100644 index 0000000000..bf31e63cef --- /dev/null +++ b/lib_debug/coan_out_000000 @@ -0,0 +1,924 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +#ifdef WMOPS +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt[NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); +void update_mem( void ); +void print_wmops( void ); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) +#define update_mem() +#define print_wmops() + +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) +#endif +#ifndef mac +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_( op, n ) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) +/* Square and its Variants */ +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) +/* Sign and its Variants */ +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) +/* Square Root and its Variants */ +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) +/* Invert Square Root and its Variants */ +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) +/* Others */ +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) +/* Set Min/Max */ +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) +/* mac & msu (Instrumented Versions) */ +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) + +/* Functions */ +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) + +/* Logical Operators */ +#ifndef __ +#define __ ( BRANCH_( 1 ), 1 ) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ ( BRANCH_( 1 ), 0 ) ? 0: +#endif + +/* Flow Control keywords */ +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while + +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); + +#ifdef WMOPS + +#define ACC 2 +#define MUL 1 + +/* Counting Function (should not be called externally!) */ +static void wops_( const char *ops ) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ + + void ( *fct )( const char *ops ) = wops_; + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); + error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; +} + +#endif + +/* All Other Operations */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 792d4cbd24..7c6d17bca2 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -480,7 +480,6 @@ ivas_error ivas_hp20_dec_reconfig( } -#ifdef BRATE_SWITCHING_RENDERING /*-------------------------------------------------------------------* * ivas_cldfb_dec_reconfig() * @@ -572,4 +571,3 @@ ivas_error ivas_cldfb_dec_reconfig( #endif return IVAS_ERR_OK; } -#endif diff --git a/lib_dec/ivas_dirac_dec_binaural_functions.c b/lib_dec/ivas_dirac_dec_binaural_functions.c index 0a98a92d23..573d302ec7 100644 --- a/lib_dec/ivas_dirac_dec_binaural_functions.c +++ b/lib_dec/ivas_dirac_dec_binaural_functions.c @@ -98,21 +98,17 @@ ivas_error ivas_dirac_dec_init_binaural_data( float binCenterFreq, tmpFloat; ivas_error error; -#ifdef BRATE_SWITCHING_RENDERING hBinaural = st_ivas->hDiracDecBin; if ( hBinaural == NULL ) -#endif { if ( ( hBinaural = (DIRAC_DEC_BIN_HANDLE) malloc( sizeof( DIRAC_DEC_BIN_DATA ) ) ) == NULL ) { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for DirAC binaural handle " ); } -#ifdef BRATE_SWITCHING_RENDERING hBinaural->hTdDecorr = NULL; hBinaural->hReverb = NULL; -#endif } nBins = st_ivas->hDirAC->num_freq_bands; @@ -201,7 +197,6 @@ ivas_error ivas_dirac_dec_init_binaural_data( { mvr2r( parametricEarlyPartEneCorrection, hBinaural->earlyPartEneCorrection, nBins ); -#ifdef BRATE_SWITCHING_RENDERING /* reconfiguration needed when Reverb. parameters are changed -> close and open the handle again */ if ( hBinaural->hReverb != NULL && ( ( hBinaural->hReverb->numBins != nBins ) || ( hBinaural->useSubframeMode && hBinaural->hReverb->blockSize != CLDFB_NO_COL_MAX / MAX_PARAM_SPATIAL_SUBFRAMES ) || @@ -211,7 +206,6 @@ ivas_error ivas_dirac_dec_init_binaural_data( } if ( hBinaural->hReverb == NULL ) -#endif { if ( hBinaural->useSubframeMode ) { @@ -244,9 +238,7 @@ ivas_error ivas_dirac_dec_init_binaural_data( { if ( st_ivas->hDecoderConfig->ivas_total_brate >= IVAS_13k2 && st_ivas->ivas_format == SBA_FORMAT ) { -#ifdef BRATE_SWITCHING_RENDERING if ( hBinaural->hTdDecorr == NULL ) -#endif { ivas_spar_td_decorr_dec_open( &( hBinaural->hTdDecorr ), output_Fs, 3, 1 ); } @@ -267,11 +259,7 @@ ivas_error ivas_dirac_dec_init_binaural_data( } else { -#ifdef BRATE_SWITCHING_RENDERING ivas_spar_td_decorr_dec_close( &( hBinaural->hTdDecorr ) ); -#else - hBinaural->hTdDecorr = NULL; -#endif } st_ivas->hDiracDecBin = hBinaural; diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 8d48bf75c8..7853345225 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -533,17 +533,9 @@ ivas_error ivas_sba_dec_reconfigure( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ) { -#ifdef BRATE_SWITCHING_RENDERING int16_t nchan_transport_old, nSCE_old, nCPE_old, nchan_hp20_old; -#else - int16_t i, nchan_transport_old, nSCE_old, nCPE_old, nchan_hp20_old; -#endif AUDIO_CONFIG intern_config_old; -#ifdef BRATE_SWITCHING_RENDERING int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; -#else - int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old; -#endif int16_t sba_dirac_stereo_flag_old; #ifdef SBA_BR_SWITCHING_RECONFIG SBA_MODE sba_mode_old; @@ -578,9 +570,6 @@ ivas_error ivas_sba_dec_reconfigure( *-----------------------------------------------------------------*/ ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses_old, &numCldfbSyntheses_old ); -#ifndef BRATE_SWITCHING_RENDERING - numCldfbAnalyses = 0; -#endif nchan_hp20_old = getNumChanSynthesis( st_ivas ); @@ -773,7 +762,6 @@ ivas_error ivas_sba_dec_reconfigure( ivas_output_init( &( st_ivas->hIntSetup ), st_ivas->intern_config ); } -#ifdef BRATE_SWITCHING_RENDERING /*-------------------------------------------------------------------* * Reallocate and initialize binaural rendering handles *--------------------------------------------------------------------*/ @@ -809,7 +797,6 @@ ivas_error ivas_sba_dec_reconfigure( { ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); } -#endif #ifdef SBA_BR_SWITCHING_RECONFIG if ( ( ( st_ivas->renderer_type != RENDERER_DISABLE ) && ( st_ivas->renderer_type != RENDERER_SBA_LINEAR_DEC ) ) || ( sba_mode_old != st_ivas->sba_mode ) ) { @@ -948,107 +935,8 @@ ivas_error ivas_sba_dec_reconfigure( * CLDFB instances *-----------------------------------------------------------------*/ -#ifdef BRATE_SWITCHING_RENDERING ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); -#else - ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); - /* special case, if there was one transport channel in the previous frame and more than one in the current frame, - remove the second CLDFB here, it was for CNA/CNG */ - if ( nchan_transport_old == 1 && numCldfbAnalyses_old == 2 && st_ivas->nchan_transport > 1 ) - { - deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); - st_ivas->cldfbAnaDec[1] = NULL; - numCldfbAnalyses_old--; - } - -#ifdef BRATE_SWITCHING_RENDERING - /* resample CLDFB analysis instances */ - for ( i = 0; i < min( numCldfbAnalyses, numCldfbAnalyses_old ); i++ ) - { - if ( ( st_ivas->cldfbAnaDec[i]->no_channels * st_ivas->cldfbAnaDec[i]->no_col ) != ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ) ) - { - resampleCldfb( st_ivas->cldfbAnaDec[i], hDecoderConfig->output_Fs ); - } - } -#endif - - /* Analysis*/ - if ( numCldfbAnalyses_old > numCldfbAnalyses ) - { - /* delete superfluous CLDFB synthesis instances */ - for ( i = numCldfbAnalyses; i < numCldfbAnalyses_old; i++ ) - { - deleteCldfb( &( st_ivas->cldfbAnaDec[i] ) ); - st_ivas->cldfbAnaDec[i] = NULL; - } - } - else if ( numCldfbAnalyses_old < numCldfbAnalyses ) - { - /* create additional CLDFB synthesis instances */ - for ( i = numCldfbAnalyses_old; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[i] ), CLDFB_ANALYSIS, hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - - /* Synthesis */ - if ( numCldfbSyntheses_old > numCldfbSyntheses ) - { - /* delete superfluous CLDFB synthesis instances */ - for ( i = numCldfbSyntheses; i < numCldfbSyntheses_old; i++ ) - { - deleteCldfb( &( st_ivas->cldfbSynDec[i] ) ); - st_ivas->cldfbSynDec[i] = NULL; - } - } - else if ( numCldfbSyntheses_old < numCldfbSyntheses ) - { - /* create additional CLDFB synthesis instances */ - for ( i = numCldfbSyntheses_old; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas->cldfbSynDec[i] ), CLDFB_SYNTHESIS, hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } -#endif - -#ifndef BRATE_SWITCHING_RENDERING - /*-------------------------------------------------------------------* - * Reallocate and initialize binaural rendering handles - *--------------------------------------------------------------------*/ - - if ( ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) && st_ivas->hBinRenderer == NULL ) - { - /* open fastconv binaural renderer */ - if ( ( error = ivas_binRenderer_open( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else if ( st_ivas->hBinRenderer != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV && st_ivas->renderer_type != RENDERER_BINAURAL_FASTCONV_ROOM ) ) - { - ivas_binRenderer_close( &st_ivas->hBinRenderer ); - } - - if ( st_ivas->hDiracDecBin == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC || st_ivas->renderer_type == RENDERER_BINAURAL_PARAMETRIC_ROOM || st_ivas->renderer_type == RENDERER_STEREO_PARAMETRIC ) ) - { - /* open parametric binaural renderer */ - if ( ( error = ivas_dirac_dec_init_binaural_data( st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else if ( st_ivas->hDiracDecBin != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC && st_ivas->renderer_type != RENDERER_BINAURAL_PARAMETRIC_ROOM && st_ivas->renderer_type != RENDERER_STEREO_PARAMETRIC ) ) - { - ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); - } -#endif return error; } diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index d266c5c955..be2a8193c8 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -553,9 +553,7 @@ ivas_error ivas_binRenderer_open( ivas_output_init( &out_setup, AUDIO_CONFIG_7_1_4 ); -#ifdef BRATE_SWITCHING_RENDERING if ( st_ivas->hoa_dec_mtx == NULL ) -#endif { if ( ( error = ivas_sba_get_hoa_dec_matrix( out_setup, &st_ivas->hoa_dec_mtx, st_ivas->hIntSetup.ambisonics_order ) ) != IVAS_ERR_OK ) { diff --git a/lib_rend/ivas_binaural_reverb.c b/lib_rend/ivas_binaural_reverb.c index 061bbb61a6..1609edde82 100644 --- a/lib_rend/ivas_binaural_reverb.c +++ b/lib_rend/ivas_binaural_reverb.c @@ -538,9 +538,7 @@ void ivas_binaural_reverb_close( } free( ( *hReverb ) ); -#ifdef BRATE_SWITCHING_RENDERING ( *hReverb ) = NULL; -#endif return; } -- GitLab From 9eea17bef724bc9f6f65b2de5e3ea7444791e95c Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:14:31 +0100 Subject: [PATCH 575/620] [cleanup] accept MC_BITRATE_SWITCHING --- lib_com/bitstream.c | 6 - lib_com/ivas_mc_param_com.c | 78 --- lib_com/ivas_mcmasa_com.c | 24 - lib_com/ivas_prot.h | 29 - lib_com/options.h | 1 - lib_com/prot.h | 4 - lib_com/swb_tbe_com.c | 2 - lib_debug/coan_out_000001 | 924 ++++++++++++++++++++++++++ lib_dec/ivas_corecoder_dec_reconfig.c | 50 -- lib_dec/ivas_cpe_dec.c | 6 - lib_dec/ivas_dec.c | 4 - lib_dec/ivas_init_dec.c | 42 -- lib_dec/ivas_ism_param_dec.c | 8 - lib_dec/ivas_mc_param_dec.c | 6 - lib_dec/ivas_mcmasa_dec.c | 2 - lib_dec/ivas_mct_dec.c | 76 --- lib_dec/ivas_mdct_core_dec.c | 4 - lib_dec/ivas_sba_dec.c | 4 - lib_dec/ivas_stereo_switching_dec.c | 4 - lib_enc/amr_wb_enc.c | 4 - lib_enc/evs_enc.c | 4 - lib_enc/ivas_core_enc.c | 4 - lib_enc/ivas_corecoder_enc_reconfig.c | 62 -- lib_enc/ivas_cpe_enc.c | 4 - lib_enc/ivas_init_enc.c | 55 -- lib_enc/ivas_ism_param_enc.c | 8 - lib_enc/ivas_mc_param_enc.c | 2 - lib_enc/ivas_mcmasa_enc.c | 4 - lib_enc/ivas_mct_enc.c | 18 - lib_enc/ivas_mdct_core_enc.c | 8 - lib_enc/ivas_sba_enc.c | 4 - lib_enc/updt_enc.c | 7 - 32 files changed, 924 insertions(+), 534 deletions(-) create mode 100644 lib_debug/coan_out_000001 diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index c75d192a34..fc89af3fbd 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -879,12 +879,6 @@ static ivas_error write_indices_element( for ( n = 0; n < n_channels; n++ ) { -#ifndef MC_BITRATE_SWITCHING - if ( ( st_ivas->hEncoderConfig->ivas_format == MC_FORMAT ) && ( st_ivas->mc_mode == MC_MODE_MCT ) && ( element_id * CPE_CHANNELS + n == LFE_CHANNEL ) ) - { - continue; - } -#endif reset_indices_enc( sts[n]->hBstr, MAX_NUM_INDICES ); } } diff --git a/lib_com/ivas_mc_param_com.c b/lib_com/ivas_mc_param_com.c index 1102c3385e..55734101b8 100644 --- a/lib_com/ivas_mc_param_com.c +++ b/lib_com/ivas_mc_param_com.c @@ -330,7 +330,6 @@ void ivas_param_mc_default_icc_map( } -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_param_mc_get_num_param_bands() * @@ -422,7 +421,6 @@ static int16_t ivas_param_mc_get_num_param_bands( return num_parameter_bands; } -#endif /*------------------------------------------------------------------------- * Local functions @@ -521,82 +519,6 @@ static void ivas_param_mc_set_coding_scheme( assert( 0 && "PARAM_MC: channel configuration not supported!" ); } -#ifdef MC_BITRATE_SWITCHING hMetadataPMC->num_parameter_bands = ivas_param_mc_get_num_param_bands( mc_ls_setup, ivas_total_brate ); -#else - /* parameter bands */ - switch ( mc_ls_setup ) - { - case MC_LS_SETUP_5_1: - switch ( ivas_total_brate ) - { - case IVAS_48k: - hMetadataPMC->num_parameter_bands = 10; - break; - case IVAS_64k: - case IVAS_80k: - hMetadataPMC->num_parameter_bands = 14; - break; - default: - assert( 0 && "PARAM_MC: bitrate for CICP6 not supported!" ); - } - break; - - case MC_LS_SETUP_7_1: - switch ( ivas_total_brate ) - { - case IVAS_48k: - hMetadataPMC->num_parameter_bands = 10; - break; - case IVAS_64k: - case IVAS_80k: - hMetadataPMC->num_parameter_bands = 14; - break; - case IVAS_96k: - hMetadataPMC->num_parameter_bands = 20; - break; - } - break; - case MC_LS_SETUP_5_1_2: - switch ( ivas_total_brate ) - { - case IVAS_48k: - hMetadataPMC->num_parameter_bands = 10; - break; - case IVAS_64k: - case IVAS_80k: - hMetadataPMC->num_parameter_bands = 14; - break; - case IVAS_96k: - hMetadataPMC->num_parameter_bands = 20; - break; - } - break; - case MC_LS_SETUP_5_1_4: - switch ( ivas_total_brate ) - { - case IVAS_96k: - hMetadataPMC->num_parameter_bands = 14; - break; - case IVAS_128k: - hMetadataPMC->num_parameter_bands = 20; - break; - } - break; - case MC_LS_SETUP_7_1_4: - switch ( ivas_total_brate ) - { - case IVAS_128k: - hMetadataPMC->num_parameter_bands = 20; - break; - case IVAS_160k: - hMetadataPMC->num_parameter_bands = 20; - break; - } - break; - default: - assert( 0 && "PARAM_MC: channel configuration not supportet!" ); - } -#endif return; } diff --git a/lib_com/ivas_mcmasa_com.c b/lib_com/ivas_mcmasa_com.c index 3e63d721be..5ccde3ed37 100644 --- a/lib_com/ivas_mcmasa_com.c +++ b/lib_com/ivas_mcmasa_com.c @@ -92,29 +92,6 @@ void ivas_mcmasa_set_separate_channel_mode( } -#ifndef MC_BITRATE_SWITCHING -/*--------------------------------------------------------------------------* - * ivas_mcmasa_mono_brate() - * - * Set SCE bitrate for McMASA mono separated channel - *--------------------------------------------------------------------------*/ - -/*! r: McMASA SCE bitrate */ -int32_t ivas_mcmasa_mono_brate( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -) -{ - /* 25% of total bitrate is used for SCE below 96 kb/s (separated mono channel), otherwise 30% */ - if ( ivas_total_brate < IVAS_96k ) - { - return (int32_t) ( MCMASA_MONOBITRATIO_64k * ivas_total_brate ); - } - else - { - return (int32_t) ( MCMASA_MONOBITRATIO * ivas_total_brate ); - } -} -#else /*--------------------------------------------------------------------------* * ivas_mcmasa_split_brate() * @@ -152,4 +129,3 @@ void ivas_mcmasa_split_brate( return; } -#endif diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 336e6f91e9..eb14bfdc43 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -149,14 +149,10 @@ ivas_error ivas_corecoder_enc_reconfig( Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ -#ifdef MC_BITRATE_SWITCHING const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ const MC_MODE last_mc_mode /* i : switching between MC modes: last mode */ -#else - const int16_t nchan_transport_old /* i : number of TCs in previous frame */ -#endif ); ivas_error ivas_sce_enc( @@ -358,7 +354,6 @@ void ivas_mct_dec_close( ); ivas_error ivas_corecoder_dec_reconfig( -#ifdef MC_BITRATE_SWITCHING Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ int16_t nCPE_old, /* i : number of CPEs in previous frame */ @@ -366,13 +361,6 @@ ivas_error ivas_corecoder_dec_reconfig( const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ -#else - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ - const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ - const int16_t sba_dirac_stereo_flag_old /* i : signal stereo output for SBA DirAC in previous frame */ -#endif ); ivas_error ivas_hp20_dec_reconfig( @@ -2630,9 +2618,7 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifdef MC_BITRATE_SWITCHING const MC_MODE mc_mode, /* i : MC mode */ -#endif const int16_t nchan_transport /* i : number of transport channels */ ); @@ -3569,11 +3555,9 @@ ivas_error ivas_param_mc_enc_open( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); -#ifdef MC_BITRATE_SWITCHING ivas_error ivas_param_mc_enc_reconfig( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); -#endif void ivas_param_mc_enc_close( PARAM_MC_ENC_HANDLE hParamMC, /* i/o: Parametric MC encoder handle */ @@ -3591,11 +3575,9 @@ ivas_error ivas_param_mc_dec_open( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); -#ifdef MC_BITRATE_SWITCHING ivas_error ivas_param_mc_dec_reconfig( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ ); -#endif void ivas_param_mc_dec_close( PARAM_MC_DEC_HANDLE *hParamMC /* i/o: Parametric MC decoder handle */ @@ -4869,7 +4851,6 @@ void ivas_mcmasa_enc_close( const int32_t input_Fs /* i : input sampling rate */ ); -#ifdef MC_BITRATE_SWITCHING ivas_error ivas_mcmasa_enc_reconfig( Encoder_Struct *st_ivas /* i/o: IVAS encoder handle */ ); @@ -4877,7 +4858,6 @@ ivas_error ivas_mcmasa_enc_reconfig( ivas_error ivas_mcmasa_dec_reconfig( Decoder_Struct *st_ivas /* i/o: IVAS decoder handle */ ); -#endif void ivas_mcmasa_setNumTransportChannels( int16_t* nchan_transport, /* o : Pointer to number of transport channels to be set */ @@ -4891,12 +4871,6 @@ void ivas_mcmasa_set_separate_channel_mode( const int32_t ivas_total_brate /* i : Total bitrate of IVAS */ ); -#ifndef MC_BITRATE_SWITCHING -/*! r: McMASA SCE bitrate */ -int32_t ivas_mcmasa_mono_brate( - const int32_t ivas_total_brate /* i : IVAS total bitrate */ -); -#else void ivas_mcmasa_split_brate( const uint8_t separateChannelEnabled, /* i : Transport running in "separate channel" mode */ const int32_t ivas_total_brate, /* i : Total bitrate available to be split */ @@ -4905,7 +4879,6 @@ void ivas_mcmasa_split_brate( int32_t *brate_sce, /* o : Pointer to SCE element bitrate */ int32_t *brate_cpe /* o : Pointer to CPE element bitrate */ ); -#endif void ivas_mcmasa_enc( MCMASA_ENC_HANDLE hMcMasa, /* i/o: Encoder McMASA handle */ @@ -4930,14 +4903,12 @@ void ivas_mcmasa_param_est_enc( const int16_t nchan_inp /* i : Number of input channels */ ); -#ifdef MC_BITRATE_SWITCHING void ivas_mcmasa_dmx_modify( const int16_t n_samples, /* i : input frame length in samples */ float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format */ const int16_t n_chnls_dmx_old, /* i : number of downmix channels in the old format */ const int16_t n_chnls_dmx_new /* i : number of downmix channels in the target format */ ); -#endif void v_multc_acc( const float x[], /* i : Input vector */ diff --git a/lib_com/options.h b/lib_com/options.h index bb77a02db8..4f27ece852 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ #endif #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ -#define MC_BITRATE_SWITCHING /* Issue 116: support bitrate switching in MC format */ #define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ #define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ #define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ diff --git a/lib_com/prot.h b/lib_com/prot.h index 97882cb318..a0e03c9d21 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -3896,10 +3896,6 @@ void updt_enc( void updt_enc_common( Encoder_State *st /* i/o: encoder state structure */ -#ifndef MC_BITRATE_SWITCHING - , - const float Etot /* i : total energy */ -#endif ); void updt_IO_switch_enc( diff --git a/lib_com/swb_tbe_com.c b/lib_com/swb_tbe_com.c index feb5b68f1a..d3482c0a00 100644 --- a/lib_com/swb_tbe_com.c +++ b/lib_com/swb_tbe_com.c @@ -1897,9 +1897,7 @@ void tbe_celp_exc( return; } -#ifdef MC_BITRATE_SWITCHING assert( bwe_exc != NULL && "BWE excitation is NULL" ); -#endif if ( L_frame == L_FRAME ) { diff --git a/lib_debug/coan_out_000001 b/lib_debug/coan_out_000001 new file mode 100644 index 0000000000..bf31e63cef --- /dev/null +++ b/lib_debug/coan_out_000001 @@ -0,0 +1,924 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +#ifdef WMOPS +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt[NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); +void update_mem( void ); +void print_wmops( void ); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) +#define update_mem() +#define print_wmops() + +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) +#endif +#ifndef mac +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_( op, n ) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) +/* Square and its Variants */ +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) +/* Sign and its Variants */ +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) +/* Square Root and its Variants */ +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) +/* Invert Square Root and its Variants */ +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) +/* Others */ +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) +/* Set Min/Max */ +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) +/* mac & msu (Instrumented Versions) */ +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) + +/* Functions */ +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) + +/* Logical Operators */ +#ifndef __ +#define __ ( BRANCH_( 1 ), 1 ) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ ( BRANCH_( 1 ), 0 ) ? 0: +#endif + +/* Flow Control keywords */ +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while + +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); + +#ifdef WMOPS + +#define ACC 2 +#define MUL 1 + +/* Counting Function (should not be called externally!) */ +static void wops_( const char *ops ) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ + + void ( *fct )( const char *ops ) = wops_; + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); + error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; +} + +#endif + +/* All Other Operations */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 7c6d17bca2..b56f10d138 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -53,7 +53,6 @@ *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_dec_reconfig( -#ifdef MC_BITRATE_SWITCHING Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ int16_t nCPE_old, /* i : number of CPEs in previous frame */ @@ -61,21 +60,12 @@ ivas_error ivas_corecoder_dec_reconfig( const int16_t sba_dirac_stereo_flag_old, /* i : signal stereo rendering using DFT upmix in previous frame */ const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ const int32_t brate_CPE /* i : bitrate to be set for the CPEs */ -#else - Decoder_Struct *st_ivas, /* i/o: IVAS decoder structure */ - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ - const int16_t nchan_transport_old, /* i : number of TCs in previous frame */ - const int16_t sba_dirac_stereo_flag_old /* i : signal stereo output for SBA DirAC in previous frame */ -#endif ) { int16_t n, sce_id, cpe_id, output_frame; int16_t nSCE_existing, nCPE_existing; int32_t ivas_total_brate; -#ifdef MC_BITRATE_SWITCHING MC_MODE last_mc_mode; -#endif DECODER_CONFIG_HANDLE hDecoderConfig; ivas_error error; @@ -88,7 +78,6 @@ ivas_error ivas_corecoder_dec_reconfig( error = IVAS_ERR_OK; output_frame = (int16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); -#ifdef MC_BITRATE_SWITCHING if ( st_ivas->ivas_format == MC_FORMAT ) { last_mc_mode = ivas_mc_mode_select( ivas_mc_map_output_config_to_mc_ls_setup( st_ivas->transport_config ), st_ivas->hDecoderConfig->last_ivas_total_brate ); /* NB: this assumes that LS config remains the same between frames */ @@ -97,18 +86,13 @@ ivas_error ivas_corecoder_dec_reconfig( { last_mc_mode = MC_MODE_NONE; } -#endif /*-----------------------------------------------------------------* * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ /* remove dummy CPE element for DFT stereo-like upmix */ -#ifdef MC_BITRATE_SWITCHING if ( ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) || ( st_ivas->ivas_format == MC_FORMAT && last_mc_mode == MC_MODE_MCMASA && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) ) -#else - if ( st_ivas->ivas_format == SBA_FORMAT && sba_dirac_stereo_flag_old && !st_ivas->sba_dirac_stereo_flag ) -#endif { st_ivas->hCPE[0]->hCoreCoder[0] = NULL; st_ivas->hCPE[0]->hCoreCoder[1] = NULL; @@ -125,29 +109,17 @@ ivas_error ivas_corecoder_dec_reconfig( } } -#ifdef MC_BITRATE_SWITCHING if ( st_ivas->nchan_transport == nchan_transport_old && st_ivas->nSCE == nSCE_old && st_ivas->nCPE == nCPE_old ) -#else - if ( st_ivas->nchan_transport == nchan_transport_old ) -#endif { for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; -#else - st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; -#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; -#else - st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; -#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { @@ -182,7 +154,6 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[cpe_id] = NULL; } -#ifdef MC_BITRATE_SWITCHING /* the CPE-internal settings depend from ivas_format and mc_mode, so clean-up when switching between mc_modes */ if ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode != last_mc_mode && ( st_ivas->mc_mode == MC_MODE_MCMASA || last_mc_mode == MC_MODE_MCMASA ) ) { @@ -194,7 +165,6 @@ ivas_error ivas_corecoder_dec_reconfig( nCPE_old = 0; nCPE_existing = min( nCPE_old, st_ivas->nCPE ); } -#endif if ( st_ivas->nCPE <= 1 && st_ivas->hMCT != NULL ) { ivas_mct_dec_close( &st_ivas->hMCT ); @@ -209,20 +179,12 @@ ivas_error ivas_corecoder_dec_reconfig( for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; -#else - st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; -#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( ; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_dec( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) -#else - if ( ( error = create_sce_dec( st_ivas, sce_id, ivas_total_brate / st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -230,11 +192,7 @@ ivas_error ivas_corecoder_dec_reconfig( for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; -#else - st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; -#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { @@ -243,7 +201,6 @@ ivas_error ivas_corecoder_dec_reconfig( } for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING #ifdef FIX_265_MC_BRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hOutSetup.separateChannelEnabled ) { @@ -251,9 +208,6 @@ ivas_error ivas_corecoder_dec_reconfig( } #endif if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) -#else - if ( ( error = create_cpe_dec( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -309,12 +263,8 @@ ivas_error ivas_corecoder_dec_reconfig( } /* create dummy CPE element for DFT stereo-like upmix */ -#ifdef MC_BITRATE_SWITCHING if ( ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) || ( st_ivas->ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) ) -#else - if ( st_ivas->ivas_format == SBA_FORMAT && st_ivas->sba_dirac_stereo_flag && !sba_dirac_stereo_flag_old ) -#endif { if ( ( error = create_cpe_dec( st_ivas, 0, ivas_total_brate / ( st_ivas->nSCE + st_ivas->nCPE ) ) ) != IVAS_ERR_OK ) { diff --git a/lib_dec/ivas_cpe_dec.c b/lib_dec/ivas_cpe_dec.c index 3ac34a6009..bb8c9a9484 100644 --- a/lib_dec/ivas_cpe_dec.c +++ b/lib_dec/ivas_cpe_dec.c @@ -103,11 +103,7 @@ ivas_error ivas_cpe_dec( * dynamically allocate data structures depending on the actual stereo mode *----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->mc_mode, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) -#else - if ( ( error = stereo_memory_dec( ivas_total_brate, hCPE, nb_bits_metadata, st_ivas->hDecoderConfig->output_Fs, st_ivas->ivas_format, st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -833,13 +829,11 @@ void destroy_cpe_dec( int16_t n; Decoder_State *st; -#ifdef MC_BITRATE_SWITCHING /* make sure we deallocate a potential distinct hTcxCfg for a MCT LFE channel (can only happen in rs) */ if ( hCPE->hCoreCoder[1] != NULL && hCPE->hCoreCoder[1]->mct_chan_mode == MCT_CHAN_MODE_LFE && hCPE->hCoreCoder[1]->hTcxCfg != hCPE->hCoreCoder[0]->hTcxCfg ) { hCPE->hCoreCoder[1]->mct_chan_mode = MCT_CHAN_MODE_IGNORE; } -#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 752bc587eb..2b5b073142 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -356,14 +356,10 @@ ivas_error ivas_dec( /* LFE channel decoder */ if ( st_ivas->mc_mode == MC_MODE_MCT ) { -#ifdef MC_BITRATE_SWITCHING if ( st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg == NULL ) { -#endif st_ivas->hCPE[1]->hCoreCoder[1]->hTcxCfg = st_ivas->hCPE[1]->hCoreCoder[0]->hTcxCfg; -#ifdef MC_BITRATE_SWITCHING } -#endif ivas_lfe_dec( st_ivas->hLFE, st, output_frame, st_ivas->bfi, output_lfe_ch ); } diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 26e8612c16..595b362223 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -996,9 +996,7 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { -#ifdef MC_BITRATE_SWITCHING int32_t brate_sce, brate_cpe; -#endif ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( st_ivas->element_mode_init ), ivas_total_brate ); @@ -1036,65 +1034,25 @@ ivas_error ivas_init_decoder( } } -#ifdef MC_BITRATE_SWITCHING ivas_mcmasa_split_brate( st_ivas->hOutSetup.separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &brate_sce, &brate_cpe ); -#endif for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_dec( st_ivas, sce_id, brate_sce ) ) != IVAS_ERR_OK ) { return error; } -#else - if ( st_ivas->hOutSetup.separateChannelEnabled ) - { - if ( ( error = create_sce_dec( st_ivas, sce_id, ivas_mcmasa_mono_brate( ivas_total_brate ) ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else - { - if ( ( error = create_sce_dec( st_ivas, sce_id, ivas_total_brate / ( st_ivas->nSCE + st_ivas->nCPE ) ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif reset_indices_dec( st_ivas->hSCE[sce_id]->hCoreCoder[0] ); } for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->element_mode_init = IVAS_CPE_MDCT; /* element_mode_init was IVAS_SCE for SCE initialization */ if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_cpe ) ) != IVAS_ERR_OK ) { return error; } -#else - if ( st_ivas->hOutSetup.separateChannelEnabled ) - { - st_ivas->element_mode_init = IVAS_CPE_MDCT; /* element_mode_init was IVAS_SCE for SCE initialization */ - - if ( ( error = create_cpe_dec( st_ivas, cpe_id, ivas_total_brate - st_ivas->hSCE[0]->element_brate ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else - { - st_ivas->element_mode_init = IVAS_CPE_MDCT; - - if ( ( error = create_cpe_dec( st_ivas, cpe_id, ivas_total_brate / ( st_ivas->nSCE + st_ivas->nCPE ) ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 095cd89f64..63cbbd91ad 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -1019,25 +1019,17 @@ static ivas_error ivas_ism_bitrate_switching( { ivas_error error; int32_t element_brate_tmp[MAX_NUM_OBJECTS]; -#ifdef MC_BITRATE_SWITCHING int16_t nSCE_old, nCPE_old; -#endif error = IVAS_ERR_OK; -#ifdef MC_BITRATE_SWITCHING nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; -#endif ivas_ism_config( st_ivas->hDecoderConfig->ivas_total_brate, st_ivas->nchan_transport, num_obj, NULL, NULL, NULL, element_brate_tmp, NULL, NULL ); st_ivas->nSCE = st_ivas->nchan_transport; -#ifdef MC_BITRATE_SWITCHING ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, 0, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); -#else - ivas_corecoder_dec_reconfig( st_ivas, nchan_transport_old, 0, nchan_transport_old, 0 ); -#endif ivas_hp20_dec_reconfig( st_ivas, nchan_transport_old ); diff --git a/lib_dec/ivas_mc_param_dec.c b/lib_dec/ivas_mc_param_dec.c index 78a6cface9..082b39da50 100644 --- a/lib_dec/ivas_mc_param_dec.c +++ b/lib_dec/ivas_mc_param_dec.c @@ -57,7 +57,6 @@ #define PARAM_MC_LOCAL_SZ_LFE_MAP 5 -#ifdef MC_BITRATE_SWITCHING /*-----------------------------------------------------------------------* * Local typedefs *-----------------------------------------------------------------------*/ @@ -69,7 +68,6 @@ typedef struct parameter_band_mapping_struct float source_band_factor[20][4]; } PARAM_MC_PARAMETER_BAND_MAPPING; -#endif /*-----------------------------------------------------------------------* * Local function prototypes @@ -101,9 +99,7 @@ static void param_mc_get_diff_proto_info( const float *proto_mtx, const uint16_t static void ivas_param_mc_mc2sba_cldfb( IVAS_OUTPUT_SETUP hTransSetup, float *hoa_encoder, const int16_t slot_idx, float Cldfb_RealBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], float Cldfb_ImagBuffer[][MAX_PARAM_SPATIAL_SUBFRAMES][CLDFB_NO_CHANNELS_MAX], const int16_t nBands, const float gain_lfe ); -#ifdef MC_BITRATE_SWITCHING static void ivas_param_mc_get_param_band_mapping( const int16_t n_target_bands, const int16_t *target_band_grouping, const int16_t n_source_bands, const int16_t *source_band_grouping, PARAM_MC_PARAMETER_BAND_MAPPING *parameter_band_mapping ); -#endif static void ivas_param_mc_bs_decode_parameter_values( uint16_t bit_buffer[], int16_t *bit_pos, const int16_t max_bits, int16_t *BER_detect, HANDLE_IVAS_PARAM_MC_METADATA hMetadataPMC, HANDLE_PARAM_MC_PARAMETER_CODING_INFO hParamCodingInfo, const int16_t map_size_wo_lfe, const int16_t map_size, const int16_t num_lfe_bands, const int16_t band_step, const int16_t num_param_bands, float *value_buffer ); @@ -429,7 +425,6 @@ ivas_error ivas_param_mc_dec_open( } -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_param_mc_get_param_band_mapping() * @@ -910,7 +905,6 @@ ivas_error ivas_param_mc_dec_reconfig( return error; } -#endif /*------------------------------------------------------------------------- * param_mc_get_num_cldfb_syntheses() diff --git a/lib_dec/ivas_mcmasa_dec.c b/lib_dec/ivas_mcmasa_dec.c index 87ab621ae8..2c257f4dbd 100644 --- a/lib_dec/ivas_mcmasa_dec.c +++ b/lib_dec/ivas_mcmasa_dec.c @@ -40,7 +40,6 @@ the United Nations Convention on Contracts on the International Sales of Goods. #endif #include "wmc_auto.h" -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_mcmasa_dec_reconfig() @@ -139,4 +138,3 @@ ivas_error ivas_mcmasa_dec_reconfig( return error; } -#endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 1616fa7c1b..14c8cc3be1 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -49,13 +49,11 @@ #endif -#ifdef MC_BITRATE_SWITCHING /*-----------------------------------------------------------------------* * Local function prototypes *-----------------------------------------------------------------------*/ static ivas_error ivas_mc_dec_reconfig( Decoder_Struct *st_ivas ); -#endif /*--------------------------------------------------------------------------* @@ -468,9 +466,7 @@ ivas_error mct_dec_reconfigure( * run into a number of problems */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = cp_bitrate; -#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { st = st_ivas->hCPE[cpe_id]->hCoreCoder[n]; @@ -635,11 +631,7 @@ ivas_error ivas_mc_dec_config( { if ( st_ivas->hDecoderConfig->last_ivas_total_brate != st_ivas->hDecoderConfig->ivas_total_brate || st_ivas->transport_config != signaled_config || last_mc_mode != st_ivas->mc_mode ) { -#ifdef MC_BITRATE_SWITCHING ivas_mc_dec_reconfig( st_ivas ); -#else - return IVAS_ERROR( IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, "Error: MC format switching not supported yet!!!\n\n" ); -#endif } } @@ -650,7 +642,6 @@ ivas_error ivas_mc_dec_config( } -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_mc_dec_reconfig() * @@ -662,11 +653,7 @@ static ivas_error ivas_mc_dec_reconfig( ) { int16_t nchan_transport_old, nSCE_old, nCPE_old, sba_dirac_stereo_flag_old, nchan_hp20_old; -#ifdef MC_BITRATE_SWITCHING int16_t numCldfbAnalyses_old, numCldfbSyntheses_old; -#else - int16_t numCldfbAnalyses_old, numCldfbAnalyses, numCldfbSyntheses, numCldfbSyntheses_old, i; -#endif int32_t new_brate_SCE, new_brate_CPE, ivas_total_brate; RENDERER_TYPE renderer_type_old; ivas_error error; @@ -964,70 +951,8 @@ static ivas_error ivas_mc_dec_reconfig( * CLDFB instances *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING ivas_cldfb_dec_reconfig( st_ivas, nchan_transport_old, numCldfbAnalyses_old, numCldfbSyntheses_old ); -#else - ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); - - /* Analysis*/ - if ( numCldfbAnalyses_old > numCldfbAnalyses ) - { - /* delete superfluous CLDFB synthesis instances */ - for ( i = numCldfbAnalyses; i < numCldfbAnalyses_old; i++ ) - { - deleteCldfb( &( st_ivas->cldfbAnaDec[i] ) ); - st_ivas->cldfbAnaDec[i] = NULL; - } - } - else if ( numCldfbAnalyses_old < numCldfbAnalyses ) - { - /* create additional CLDFB synthesis instances */ - for ( i = numCldfbAnalyses_old; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[i] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - - if ( ( last_mc_mode == MC_MODE_MCMASA ) && ( nchan_transport_old == 1 ) && ( ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC ) || ( renderer_type_old == RENDERER_BINAURAL_PARAMETRIC_ROOM ) || ( renderer_type_old == RENDERER_STEREO_PARAMETRIC ) ) ) - { - /* cldfbAnaDec[1] might be modified by DirAC (ivas_dirac_dec_binaural_internal) -> re-instantiate it */ - if ( ( numCldfbAnalyses_old > 1 ) && ( numCldfbAnalyses > 1 ) ) - { - deleteCldfb( &( st_ivas->cldfbAnaDec[1] ) ); - st_ivas->cldfbAnaDec[1] = NULL; - if ( ( error = openCldfb( &( st_ivas->cldfbAnaDec[1] ), CLDFB_ANALYSIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } - - /* Synthesis */ - if ( numCldfbSyntheses_old > numCldfbSyntheses ) - { - /* delete superfluous CLDFB synthesis instances */ - for ( i = numCldfbSyntheses; i < numCldfbSyntheses_old; i++ ) - { - deleteCldfb( &( st_ivas->cldfbSynDec[i] ) ); - st_ivas->cldfbSynDec[i] = NULL; - } - } - else if ( numCldfbSyntheses_old < numCldfbSyntheses ) - { - /* create additional CLDFB synthesis instances */ - for ( i = numCldfbSyntheses_old; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas->cldfbSynDec[i] ), CLDFB_SYNTHESIS, st_ivas->hDecoderConfig->output_Fs, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return error; - } - } - } -#endif /*-----------------------------------------------------------------* * Allocate the LFE handle that is coded seperately after the allocation of the core coders @@ -1199,4 +1124,3 @@ static ivas_error ivas_mc_dec_reconfig( return error; } -#endif diff --git a/lib_dec/ivas_mdct_core_dec.c b/lib_dec/ivas_mdct_core_dec.c index b0ce627c61..336b42c06f 100755 --- a/lib_dec/ivas_mdct_core_dec.c +++ b/lib_dec/ivas_mdct_core_dec.c @@ -404,11 +404,7 @@ void ivas_mdct_dec_side_bits_frame_channel( param_lpc[0][0] = get_next_indice( st0, 1 ) << 1; /* read low br mode flag (if it is possible to be non-zero) */ -#ifdef MC_BITRATE_SWITCHING if ( sts[0]->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE ) ) -#else - if ( sts[0]->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) -#endif { sns_low_br_mode = get_next_indice( st0, 1 ); } diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 7853345225..82123af232 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -919,11 +919,7 @@ ivas_error ivas_sba_dec_reconfigure( * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old, st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hDecoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ); -#else - ivas_corecoder_dec_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, sba_dirac_stereo_flag_old ); -#endif /*-----------------------------------------------------------------* * HP20 memories diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index 165d7dc896..d8fb4d0272 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -345,9 +345,7 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ -#ifdef MC_BITRATE_SWITCHING const MC_MODE mc_mode, /* i : MC mode */ -#endif const int16_t nchan_transport /* i : number of transport channels*/ ) { @@ -962,7 +960,6 @@ ivas_error stereo_memory_dec( } } -#ifdef MC_BITRATE_SWITCHING /*--------------------------------------------------------------* * Bitrate switching in MASA format *---------------------------------------------------------------*/ @@ -1007,7 +1004,6 @@ ivas_error stereo_memory_dec( } } } -#endif return error; } diff --git a/lib_enc/amr_wb_enc.c b/lib_enc/amr_wb_enc.c index b40be98fc2..52117ee7cd 100644 --- a/lib_enc/amr_wb_enc.c +++ b/lib_enc/amr_wb_enc.c @@ -531,11 +531,7 @@ void amr_wb_enc( updt_enc( st, old_exc, pitch_buf, 0, Aq, isf_new, isp_new, dummy_buf ); /* update main codec paramaters */ -#ifdef MC_BITRATE_SWITCHING updt_enc_common( st ); -#else - updt_enc_common( st, Etot ); -#endif #ifdef DEBUG_MODE_INFO diff --git a/lib_enc/evs_enc.c b/lib_enc/evs_enc.c index 54e639923e..584ccb7d50 100644 --- a/lib_enc/evs_enc.c +++ b/lib_enc/evs_enc.c @@ -489,11 +489,7 @@ ivas_error evs_enc( * Updates *---------------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING updt_enc_common( st ); -#else - updt_enc_common( st, Etot ); -#endif if ( st->mdct_sw == MODE1 ) { diff --git a/lib_enc/ivas_core_enc.c b/lib_enc/ivas_core_enc.c index 0d1bcf6381..1ee672efed 100644 --- a/lib_enc/ivas_core_enc.c +++ b/lib_enc/ivas_core_enc.c @@ -399,14 +399,10 @@ ivas_error ivas_core_enc( * Common updates *---------------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING if ( !MCT_flag ) /* for MCT do this later, otherwise there can be a problem because TCX quant happens later and might get the wrong last_core on a bit rate switch */ { updt_enc_common( st ); } -#else - updt_enc_common( st, Etot ); -#endif } diff --git a/lib_enc/ivas_corecoder_enc_reconfig.c b/lib_enc/ivas_corecoder_enc_reconfig.c index df8dbbb458..3fa89eb5b7 100644 --- a/lib_enc/ivas_corecoder_enc_reconfig.c +++ b/lib_enc/ivas_corecoder_enc_reconfig.c @@ -50,7 +50,6 @@ *-------------------------------------------------------------------*/ ivas_error ivas_corecoder_enc_reconfig( -#ifdef MC_BITRATE_SWITCHING Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ const int16_t nSCE_old, /* i : number of SCEs in previous frame */ const int16_t nCPE_old, /* i : number of CPEs in previous frame */ @@ -58,12 +57,6 @@ ivas_error ivas_corecoder_enc_reconfig( const int32_t brate_SCE, /* i : bitrate to be set for the SCEs */ const int32_t brate_CPE, /* i : bitrate to be set for the CPEs */ const MC_MODE last_mc_mode /* i : switching between MC modes: last mode */ -#else - Encoder_Struct *st_ivas, /* i/o: IVAS encoder structure */ - const int16_t nSCE_old, /* i : number of SCEs in previous frame */ - const int16_t nCPE_old, /* i : number of CPEs in previous frame */ - const int16_t nchan_transport_old /* i : number of TCs in previous frame */ -#endif ) { int16_t n, sce_id, cpe_id; @@ -72,9 +65,6 @@ ivas_error ivas_corecoder_enc_reconfig( BSTR_ENC_HANDLE hBstr, hMetaData; Indice *ind_list, *ind_list_metadata; int16_t nb_bits_tot, next_ind, last_ind; -#ifndef MC_BITRATE_SWITCHING - int32_t ivas_total_brate; -#endif ENCODER_CONFIG_HANDLE hEncoderConfig; ivas_error error; @@ -83,9 +73,6 @@ ivas_error ivas_corecoder_enc_reconfig( *-----------------------------------------------------------------*/ hEncoderConfig = st_ivas->hEncoderConfig; -#ifndef MC_BITRATE_SWITCHING - ivas_total_brate = hEncoderConfig->ivas_total_brate; -#endif error = IVAS_ERR_OK; len_inp_memory = (int16_t) ( hEncoderConfig->input_Fs / FRAMES_PER_SEC ); @@ -98,30 +85,18 @@ ivas_error ivas_corecoder_enc_reconfig( * Switching between SCE(s)/CPE(s)/MCT *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING if ( st_ivas->nchan_transport == nchan_transport_old && st_ivas->nSCE == nSCE_old && st_ivas->nCPE == nCPE_old ) /* in McMASA, nchan_transport may be the same, but nSCE/nCPE differs */ -#else - if ( st_ivas->nchan_transport == nchan_transport_old ) -#endif { for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); -#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; -#else - st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; -#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; -#else - st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; -#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { @@ -141,7 +116,6 @@ ivas_error ivas_corecoder_enc_reconfig( } else { -#ifdef MC_BITRATE_SWITCHING int16_t nchan_transport_real, nchan_transport_old_real; nchan_transport_old_real = nchan_transport_old; @@ -159,9 +133,6 @@ ivas_error ivas_corecoder_enc_reconfig( /* something in transport changes */ ind_list = NULL; ind_list_metadata = NULL; -#else - ind_list = NULL; -#endif hBstr = NULL; hMetaData = NULL; @@ -190,7 +161,6 @@ ivas_error ivas_corecoder_enc_reconfig( last_ind = hBstr->last_ind; ind_list_metadata = hMetaData->ind_list; /* pointer to the beginning of the global list */ -#ifdef MC_BITRATE_SWITCHING if ( hEncoderConfig->ivas_format == MC_FORMAT && last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) { /* within McMASA we can modify the transport signals when switching */ @@ -218,9 +188,6 @@ ivas_error ivas_corecoder_enc_reconfig( { n_CoreCoder_existing = min( nchan_transport_real, nchan_transport_old_real ); } -#else - n_CoreCoder_existing = min( st_ivas->nchan_transport, nchan_transport_old ); -#endif /* destroy superfluous core-coder elements */ for ( sce_id = st_ivas->nSCE; sce_id < nSCE_old; sce_id++ ) @@ -271,21 +238,13 @@ ivas_error ivas_corecoder_enc_reconfig( for ( sce_id = 0; sce_id < nSCE_existing; sce_id++ ) { copy_encoder_config( st_ivas, st_ivas->hSCE[sce_id]->hCoreCoder[0], 0 ); -#ifdef MC_BITRATE_SWITCHING st_ivas->hSCE[sce_id]->element_brate = brate_SCE; -#else - st_ivas->hSCE[sce_id]->element_brate = ivas_total_brate / st_ivas->nchan_transport; -#endif st_ivas->hSCE[sce_id]->hCoreCoder[0]->total_brate = st_ivas->hSCE[sce_id]->element_brate; /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ } for ( sce_id = nSCE_existing; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_enc( st_ivas, sce_id, brate_SCE ) ) != IVAS_ERR_OK ) -#else - if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate / st_ivas->nchan_transport ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -322,18 +281,13 @@ ivas_error ivas_corecoder_enc_reconfig( for ( cpe_id = 0; cpe_id < nCPE_existing; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = brate_CPE; -#else - st_ivas->hCPE[cpe_id]->element_brate = ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS; -#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { copy_encoder_config( st_ivas, st_ivas->hCPE[cpe_id]->hCoreCoder[n], 0 ); st_ivas->hCPE[cpe_id]->hCoreCoder[n]->total_brate = st_ivas->hCPE[cpe_id]->element_brate / ( st_ivas->nCPE > 1 ? 1 : CPE_CHANNELS ); /* dummy initialization for getting right pointers initialization of input buffers in init_coder_ace_plus() */ -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; if ( cpe_id * CPE_CHANNELS + n > 0 || ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->nSCE > 0 ) ) { @@ -345,22 +299,17 @@ ivas_error ivas_corecoder_enc_reconfig( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = nb_bits_tot; st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->next_ind = next_ind; } -#endif } } for ( cpe_id = nCPE_existing; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hMcMasa->separateChannelEnabled ) { st_ivas->hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; } if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) -#else - if ( ( error = create_cpe_enc( st_ivas, cpe_id, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -377,13 +326,8 @@ ivas_error ivas_corecoder_enc_reconfig( /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n + st_ivas->nSCE ) * MAX_NUM_INDICES; if ( cpe_id * CPE_CHANNELS + n > 0 || ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->nSCE > 0 ) ) -#else - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list + ( cpe_id * CPE_CHANNELS + n ) * MAX_NUM_INDICES; - if ( cpe_id * CPE_CHANNELS + n > 0 ) -#endif { reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); } @@ -402,7 +346,6 @@ ivas_error ivas_corecoder_enc_reconfig( } } -#ifdef MC_BITRATE_SWITCHING if ( last_mc_mode == MC_MODE_MCMASA && st_ivas->mc_mode == MC_MODE_MCMASA ) { /* restore modified transport signal */ @@ -418,7 +361,6 @@ ivas_error ivas_corecoder_enc_reconfig( } } } -#endif if ( st_ivas->nCPE > 1 && nCPE_old <= 1 ) { @@ -471,11 +413,7 @@ ivas_error ivas_corecoder_enc_reconfig( } } -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata + st_ivas->nSCE * MAX_NUM_INDICES; -#else - st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData->ind_list = ind_list_metadata; -#endif reset_indices_enc( st_ivas->hCPE[st_ivas->nCPE - 1]->hMetaData, MAX_BITS_METADATA ); for ( cpe_id = 0; cpe_id < st_ivas->nCPE - 1; cpe_id++ ) diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 1ab8a5084c..2440cc4fa6 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -792,14 +792,10 @@ ivas_error create_cpe_enc( * Metadata: allocate and initialize *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING /* we need the meta data handle also if we init as MC_FORMAT/MCT since it might be needed at a bit rate switch to ParamMC or McMASA and the metadata index list is only really reachable in the ivas_init_encoder() function and has to be connected to the MD handle there */ if ( cpe_id == ( st_ivas->nCPE - 1 ) ) -#else - if ( !( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) && ( cpe_id == ( st_ivas->nCPE - 1 ) ) ) -#endif { if ( ( hCPE->hMetaData = (BSTR_ENC_HANDLE) malloc( sizeof( BSTR_ENC_DATA ) ) ) == NULL ) { diff --git a/lib_enc/ivas_init_enc.c b/lib_enc/ivas_init_enc.c index 6f2d8e377c..764419ad7c 100644 --- a/lib_enc/ivas_init_enc.c +++ b/lib_enc/ivas_init_enc.c @@ -528,12 +528,6 @@ ivas_error ivas_init_encoder( st_ivas->mc_mode = ivas_mc_mode_select( hEncoderConfig->mc_input_setup, ivas_total_brate ); hEncoderConfig->nchan_inp = ivas_mc_ls_setup_get_num_channels( hEncoderConfig->mc_input_setup ); -#ifndef MC_BITRATE_SWITCHING - if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, input_Fs ) ) != IVAS_ERR_OK ) - { - return error; - } -#endif if ( st_ivas->mc_mode == MC_MODE_MCT ) { @@ -551,13 +545,6 @@ ivas_error ivas_init_encoder( { /* we need the correct bitstream also for the LFE channel since it might become a proper coded channel when switching to ParamMC and ind_list is only visible here, can't be done later */ -#ifndef MC_BITRATE_SWITCHING - if ( cpe_id * CPE_CHANNELS + n == LFE_CHANNEL ) - { - st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->nb_bits_tot = 0; - continue; - } -#endif st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr->ind_list = ind_list[cpe_id * CPE_CHANNELS + n]; reset_indices_enc( st_ivas->hCPE[cpe_id]->hCoreCoder[n]->hBstr, MAX_NUM_INDICES ); } @@ -574,12 +561,10 @@ ivas_error ivas_init_encoder( return error; } -#ifdef MC_BITRATE_SWITCHING if ( ( error = ivas_create_lfe_enc( &st_ivas->hLFE, input_Fs ) ) != IVAS_ERR_OK ) { return error; } -#endif st_ivas->nchan_transport = ivas_mc_ls_setup_get_num_channels( st_ivas->hEncoderConfig->mc_input_setup ); } @@ -623,9 +608,7 @@ ivas_error ivas_init_encoder( } else if ( st_ivas->mc_mode == MC_MODE_MCMASA ) { -#ifdef MC_BITRATE_SWITCHING int32_t brate_sce, brate_cpe; -#endif ivas_mcmasa_setNumTransportChannels( &( st_ivas->nchan_transport ), &( hEncoderConfig->element_mode_init ), ivas_total_brate ); @@ -644,33 +627,14 @@ ivas_error ivas_init_encoder( return error; } -#ifdef MC_BITRATE_SWITCHING ivas_mcmasa_split_brate( st_ivas->hMcMasa->separateChannelEnabled, ivas_total_brate, st_ivas->nSCE, st_ivas->nCPE, &brate_sce, &brate_cpe ); -#endif for ( sce_id = 0; sce_id < st_ivas->nSCE; sce_id++ ) { -#ifdef MC_BITRATE_SWITCHING if ( ( error = create_sce_enc( st_ivas, sce_id, brate_sce ) ) != IVAS_ERR_OK ) { return error; } -#else - if ( st_ivas->hMcMasa->separateChannelEnabled ) - { - if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_mcmasa_mono_brate( ivas_total_brate ) ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else - { - if ( ( error = create_sce_enc( st_ivas, sce_id, ivas_total_brate / ( st_ivas->nCPE + st_ivas->nSCE ) ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif /* prepare bitstream buffers */ st_ivas->hSCE[sce_id]->hCoreCoder[0]->hBstr->ind_list = ind_list[sce_id]; @@ -682,31 +646,12 @@ ivas_error ivas_init_encoder( for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; if ( ( error = create_cpe_enc( st_ivas, cpe_id, brate_cpe ) ) != IVAS_ERR_OK ) { return error; } -#else - if ( st_ivas->hMcMasa->separateChannelEnabled ) - { - hEncoderConfig->element_mode_init = IVAS_CPE_MDCT; - - if ( ( error = create_cpe_enc( st_ivas, cpe_id, ivas_total_brate - st_ivas->hSCE[0]->element_brate ) ) != IVAS_ERR_OK ) - { - return error; - } - } - else - { - if ( ( error = create_cpe_enc( st_ivas, cpe_id, ivas_total_brate / ( st_ivas->nCPE + st_ivas->nSCE ) ) ) != IVAS_ERR_OK ) - { - return error; - } - } -#endif /* prepare bitstream buffers */ for ( n = 0; n < CPE_CHANNELS; n++ ) diff --git a/lib_enc/ivas_ism_param_enc.c b/lib_enc/ivas_ism_param_enc.c index b74358af2f..66ad379c4a 100644 --- a/lib_enc/ivas_ism_param_enc.c +++ b/lib_enc/ivas_ism_param_enc.c @@ -415,9 +415,7 @@ ivas_error ivas_ism_enc_config( ivas_error error; ISM_MODE last_ism_mode; int16_t nchan_transport_old; -#ifdef MC_BITRATE_SWITCHING int16_t nSCE_old, nCPE_old; -#endif error = IVAS_ERR_OK; last_ism_mode = st_ivas->ism_mode; @@ -442,19 +440,13 @@ ivas_error ivas_ism_enc_config( st_ivas->nchan_transport = st_ivas->hEncoderConfig->nchan_inp; } -#ifdef MC_BITRATE_SWITCHING nCPE_old = st_ivas->nCPE; nSCE_old = st_ivas->nSCE; -#endif st_ivas->nSCE = st_ivas->nchan_transport; st_ivas->nCPE = 0; ivas_ism_config( st_ivas->hEncoderConfig->ivas_total_brate, st_ivas->nchan_transport, st_ivas->hEncoderConfig->nchan_inp, NULL, NULL, NULL, element_brate_tmp, NULL, NULL ); -#ifdef MC_BITRATE_SWITCHING ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport, ( st_ivas->hEncoderConfig->ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS, MC_MODE_NONE ); -#else - ivas_corecoder_enc_reconfig( st_ivas, nchan_transport_old, 0, nchan_transport_old ); -#endif if ( st_ivas->ism_mode == ISM_MODE_PARAM && last_ism_mode == ISM_MODE_DISC ) { diff --git a/lib_enc/ivas_mc_param_enc.c b/lib_enc/ivas_mc_param_enc.c index 2a3ee7f749..a819e30300 100644 --- a/lib_enc/ivas_mc_param_enc.c +++ b/lib_enc/ivas_mc_param_enc.c @@ -220,7 +220,6 @@ ivas_error ivas_param_mc_enc_open( } -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_param_mc_enc_reconfig() * @@ -354,7 +353,6 @@ ivas_error ivas_param_mc_enc_reconfig( return error; } -#endif /*------------------------------------------------------------------------- diff --git a/lib_enc/ivas_mcmasa_enc.c b/lib_enc/ivas_mcmasa_enc.c index 5b66d03abb..8af6c351c6 100644 --- a/lib_enc/ivas_mcmasa_enc.c +++ b/lib_enc/ivas_mcmasa_enc.c @@ -396,7 +396,6 @@ ivas_error ivas_mcmasa_enc_open( } -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_mcmasa_enc_reconfig() * @@ -440,7 +439,6 @@ ivas_error ivas_mcmasa_enc_reconfig( return error; } -#endif /*--------------------------------------------------------------------------* * ivas_mcmasa_enc_close() @@ -1203,7 +1201,6 @@ void ivas_mcmasa_param_est_enc( * *--------------------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING void ivas_mcmasa_dmx_modify( const int16_t n_samples, /* i : input frame length in samples */ float dmx[][L_FRAME48k + NS2SA( 48000, IVAS_FB_ENC_DELAY_NS )], /* i/o: downmix signal to be transformed into another format. TODO: buffer size into define? */ @@ -1276,7 +1273,6 @@ void ivas_mcmasa_dmx_modify( return; } -#endif /*--------------------------------------------------------------------------* diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c index dd1d1fe02a..08d9057403 100755 --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -44,13 +44,11 @@ #include "wmc_auto.h" -#ifdef MC_BITRATE_SWITCHING /*-----------------------------------------------------------------------* * Local function prototypes *-----------------------------------------------------------------------*/ static ivas_error ivas_mc_enc_reconfig( Encoder_Struct *st_ivas, const int16_t last_mc_mode ); -#endif /*-------------------------------------------------------------------* @@ -176,11 +174,7 @@ ivas_error ivas_mct_enc( /* joint MCT encoding */ ivas_mct_core_enc( ivas_format, hMCT, st_ivas->hCPE, hMCT->nchan_out_woLFE + hMCT->num_lfe, ivas_total_brate, switch_bw, -#ifdef MC_BITRATE_SWITCHING ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) ? (int16_t) st_ivas->hLFE->lfe_bits : 0 -#else - ivas_format == MC_FORMAT ? (int16_t) st_ivas->hLFE->lfe_bits : 0 -#endif , st_ivas->hEncoderConfig->sba_order ); @@ -196,10 +190,8 @@ ivas_error ivas_mct_enc( { mvr2r( hCPE->hCoreCoder[n]->input, hCPE->hCoreCoder[n]->old_input_signal, input_frame ); -#ifdef MC_BITRATE_SWITCHING /* common encoder updates */ updt_enc_common( hCPE->hCoreCoder[n] ); -#endif } } @@ -373,13 +365,11 @@ ivas_error mct_enc_reconfigure( hMCT->nchan_out_woLFE = st_ivas->hEncoderConfig->nchan_inp - 1; /* LFE channel is coded separately */ hMCT->num_lfe = TRUE; } -#ifdef MC_BITRATE_SWITCHING else if ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_PARAMMC ) { hMCT->nchan_out_woLFE = ivas_param_mc_getNumTransportChannels( ivas_total_brate, st_ivas->hEncoderConfig->mc_input_setup ); hMCT->num_lfe = FALSE; } -#endif else if ( ivas_format == SBA_FORMAT ) { hMCT->nchan_out_woLFE = st_ivas->nchan_transport; @@ -396,9 +386,7 @@ ivas_error mct_enc_reconfigure( /* indicate LFE for appropriate core-coder channel */ for ( cpe_id = 0; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef MC_BITRATE_SWITCHING st_ivas->hCPE[cpe_id]->element_brate = cp_bitrate; -#endif for ( n = 0; n < CPE_CHANNELS; n++ ) { st_ivas->hCPE[cpe_id]->hCoreCoder[n]->mct_chan_mode = MCT_CHAN_MODE_REGULAR; @@ -571,18 +559,13 @@ ivas_error ivas_mc_enc_config( /* MC format switching */ if ( st_ivas->hEncoderConfig->last_ivas_total_brate != st_ivas->hEncoderConfig->ivas_total_brate || st_ivas->mc_mode != last_mc_mode ) { -#ifdef MC_BITRATE_SWITCHING ivas_mc_enc_reconfig( st_ivas, last_mc_mode ); -#else - return IVAS_ERROR( IVAS_ERR_RECONFIGURE_NOT_SUPPORTED, "Error: MC format switching not supported yet!!!\n\n" ); -#endif } return error; } -#ifdef MC_BITRATE_SWITCHING /*------------------------------------------------------------------------- * ivas_mc_enc_reconfig() * @@ -834,4 +817,3 @@ static ivas_error ivas_mc_enc_reconfig( return error; } -#endif diff --git a/lib_enc/ivas_mdct_core_enc.c b/lib_enc/ivas_mdct_core_enc.c index 6dba0fb321..3bdbc31e2d 100755 --- a/lib_enc/ivas_mdct_core_enc.c +++ b/lib_enc/ivas_mdct_core_enc.c @@ -894,11 +894,7 @@ void ivas_mdct_core_whitening_enc( } /* set low br mode, if possible. Can later be discarded, depending on the stereo mode used for SNS parameter decoding */ -#ifdef MC_BITRATE_SWITCHING if ( hCPE->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE ) ) -#else - if ( hCPE->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) -#endif { sns_low_br_mode = !sts[0]->sp_aud_decision0; } @@ -1114,11 +1110,7 @@ void ivas_mdct_core_whitening_enc( { push_next_indice( hBstr, param_lpc[0][0] >> 1, 1 ); -#ifdef MC_BITRATE_SWITCHING if ( st->element_brate == IVAS_48k && !( ( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) || sts[1]->mct_chan_mode == MCT_CHAN_MODE_LFE ) ) -#else - if ( st->element_brate == IVAS_48k && !( sts[0]->core == TCX_20 && sts[1]->core == TCX_20 ) ) -#endif { /* write classifier decision to signal low br mode for SNS encoding, for all other configs, low_br mode is not possible */ push_next_indice( hBstr, sns_low_br_mode, 1 ); diff --git a/lib_enc/ivas_sba_enc.c b/lib_enc/ivas_sba_enc.c index 71ad626a4a..1556d2ee7e 100644 --- a/lib_enc/ivas_sba_enc.c +++ b/lib_enc/ivas_sba_enc.c @@ -514,11 +514,7 @@ ivas_error ivas_sba_enc_reconfigure( * Allocate, initalize, and configure SCE/CPE/MCT handles *-----------------------------------------------------------------*/ -#ifdef MC_BITRATE_SWITCHING ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old, ivas_total_brate / st_ivas->nchan_transport, ( ivas_total_brate / st_ivas->nchan_transport ) * CPE_CHANNELS, MC_MODE_NONE ); -#else - ivas_corecoder_enc_reconfig( st_ivas, nSCE_old, nCPE_old, nchan_transport_old ); -#endif #ifdef SBA_BR_SWITCHING_RECONFIG if ( st_ivas->hEncoderConfig->Opt_DTX_ON ) diff --git a/lib_enc/updt_enc.c b/lib_enc/updt_enc.c index 4fe89cd967..057d9144bc 100644 --- a/lib_enc/updt_enc.c +++ b/lib_enc/updt_enc.c @@ -291,10 +291,6 @@ void updt_IO_switch_enc( void updt_enc_common( Encoder_State *st /* i/o: encoder state structure */ -#ifndef MC_BITRATE_SWITCHING - , - const float Etot /* i : total energy */ -#endif ) { /*---------------------------------------------------------------------* @@ -312,9 +308,6 @@ void updt_enc_common( st->last_extl = st->extl; st->last_input_bwidth = st->input_bwidth; st->last_bwidth = st->bwidth; -#ifndef MC_BITRATE_SWITCHING - st->hNoiseEst->Etot_last = Etot; -#endif st->last_coder_type_raw = st->coder_type_raw; if ( st->core_brate > SID_2k40 && st->hDtxEnc != NULL ) -- GitLab From 6484731139dea8ef7e9bf3370fa814011d55016e Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:15:34 +0100 Subject: [PATCH 576/620] [cleanup] accept MC_JBM --- apps/decoder.c | 276 ----------- lib_com/bitstream.c | 120 ----- lib_com/common_api_types.h | 11 - lib_com/ivas_error.h | 2 - lib_com/options.h | 1 - lib_com/prot.h | 15 - lib_debug/coan_out_000002 | 924 +++++++++++++++++++++++++++++++++++++ lib_dec/jbm_jb4sb.h | 5 - lib_dec/jbm_pcmdsp_apa.c | 49 -- lib_dec/jbm_pcmdsp_apa.h | 10 - lib_dec/jbm_pcmdsp_fifo.c | 16 - lib_dec/jbm_pcmdsp_fifo.h | 8 - lib_dec/lib_dec.c | 200 -------- lib_dec/lib_dec.h | 16 - lib_util/evs_rtp_payload.c | 32 -- lib_util/evs_rtp_payload.h | 3 - lib_util/jbm_file_writer.c | 24 - 17 files changed, 924 insertions(+), 788 deletions(-) create mode 100644 lib_debug/coan_out_000002 diff --git a/apps/decoder.c b/apps/decoder.c index 3a89b15f54..88f7322691 100755 --- a/apps/decoder.c +++ b/apps/decoder.c @@ -122,9 +122,7 @@ static void usage_dec( void ); static ivas_error decodeG192( DecArguments arg, BS_READER_HANDLE hBsReader, HeadRotFileReader *headRotReader, IVAS_DEC_HANDLE hIvasDec, int16_t *pcmBuf ); static ivas_error decodeVoIP( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); #ifdef DEBUGGING -#ifdef MC_JBM static ivas_error printBitstreamInfoVoip( DecArguments arg, BS_READER_HANDLE hBsReader, IVAS_DEC_HANDLE hIvasDec ); -#endif static int16_t app_own_random( int16_t *seed ); static IVAS_DEC_FORCED_REND_MODE parseForcedRendModeDec( char *forcedRendModeChar ); #endif @@ -287,15 +285,11 @@ int main( if ( arg.voipMode ) { -#ifdef MC_JBM if ( ( error = printBitstreamInfoVoip( arg, hBsReader, hIvasDec ) ) != IVAS_ERR_OK ) { fprintf( stderr, "Error while previewing VoIP bitstream: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#else - IVAS_DEC_PrintConfig( hIvasDec, arg.quietModeEnabled, arg.voipMode ); -#endif } else { @@ -454,13 +448,6 @@ int main( if ( arg.voipMode ) { -#ifndef MC_JBM - if ( arg.decMode != IVAS_DEC_MODE_EVS ) - { - fprintf( stderr, "\nError: VoIP not yet supported for decMode: %d\n\n", arg.decMode ); - goto cleanup; - } -#endif if ( ( error = IVAS_DEC_EnableVoIP( hIvasDec, 60, arg.inputFormat ) ) != IVAS_ERR_OK ) { @@ -1087,7 +1074,6 @@ static int16_t app_own_random( int16_t *seed ) } #endif -#ifdef MC_JBM static ivas_error initOnFirstGoodFrame( IVAS_DEC_HANDLE hIvasDec, /* i/o: */ const DecArguments arg, /* i : */ @@ -1242,7 +1228,6 @@ static ivas_error initOnFirstGoodFrame( return IVAS_ERR_OK; } -#endif /*---------------------------------------------------------------------* * decodeG192() @@ -1260,11 +1245,7 @@ static ivas_error decodeG192( { bool decodingFailed = true; /* Assume failure until cleanup is reached without errors */ uint16_t bit_stream[IVAS_MAX_BITS_PER_FRAME + 4 * 8]; -#ifdef MC_JBM int16_t i, num_bits; -#else - int16_t i, j, num_bits; -#endif int16_t bfi = 0; #ifdef DEBUGGING int16_t fec_seed = 12558; /* FEC_SEED */ @@ -1276,9 +1257,6 @@ static ivas_error decodeG192( int16_t nOutChannels = 0; int16_t delayNumSamples = -1; int16_t delayNumSamples_orig = 0; -#ifndef MC_JBM - int16_t zeroPad = 0; -#endif int16_t nOutSamples = 0; int32_t delayTimeScale = 0; ivas_error error = IVAS_ERR_UNKNOWN; @@ -1386,7 +1364,6 @@ static ivas_error decodeG192( /* Once good frame decoded, catch up */ if ( decodedGoodFrame ) { -#ifdef MC_JBM error = initOnFirstGoodFrame( hIvasDec, arg, @@ -1405,128 +1382,6 @@ static ivas_error decodeG192( { goto cleanup; } -#else - - /* Now number of output channels and frame size are known */ - if ( ( error = IVAS_DEC_GetNumOutputChannels( hIvasDec, &nOutChannels ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetNumOutputChannels, code: %d\n", error ); - goto cleanup; - } - - int32_t pcmFrameSize; - - if ( ( error = IVAS_DEC_GetPcmFrameSize( hIvasDec, &pcmFrameSize ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetPcmFrameSize, error code: %d\n", error ); - goto cleanup; - } - - /* Open audio writer and write all previously skipped bad frames now that frame size is known */ - if ( ( error = AudioFileWriter_open( &afWriter, arg.outputWavFilename, arg.output_Fs, nOutChannels ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nUnable to open output file %s\n", arg.outputWavFilename ); - goto cleanup; - } - - int16_t *zeroBuf = malloc( pcmFrameSize * sizeof( int16_t ) ); - memset( zeroBuf, 0, pcmFrameSize * sizeof( int16_t ) ); - - for ( i = 0; i < numInitialBadFrames; ++i ) - { - if ( delayNumSamples < nOutSamples ) - { - if ( ( error = AudioFileWriter_write( afWriter, zeroBuf, nOutSamples * nOutChannels - ( delayNumSamples * nOutChannels ) ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nOutput audio file writer error\n" ); - goto cleanup; - } - delayNumSamples = 0; - } - else - { - delayNumSamples -= nOutSamples; - } - } - - free( zeroBuf ); - - /* Open other output files if EXT output config - now details about ISM or MASA are known */ - if ( arg.outputFormat == IVAS_DEC_OUTPUT_EXT ) - { - if ( ( error = IVAS_DEC_GetFormat( hIvasDec, &bsFormat ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetFormat, code: %d\n", error ); - goto cleanup; - } - - /* If outputting ISM, get number of objects, open output files and write zero metadata for initial bad frames */ - if ( bsFormat == IVAS_DEC_BS_OBJ ) - { - if ( ( error = IVAS_DEC_GetNumObjects( hIvasDec, &numObj ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetNumObjects: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - for ( i = 0; i < numObj; ++i ) - { - if ( ( error = IsmFileWriter_open( arg.outputWavFilename, i, &ismWriters[i] ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError: Error opening ISM decoded metadata file %s\n", IsmFileWriter_getFilePath( ismWriters[i] ) ); - goto cleanup; - } - } - - for ( j = 0; j < numInitialBadFrames; ++j ) - { - /* write zero metadata */ - for ( i = 0; i < numObj; ++i ) - { - IVAS_ISM_METADATA IsmMetadata; - - if ( ( error = IVAS_DEC_GetObjectMetadata( hIvasDec, &IsmMetadata, 1, i ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetObjectMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - if ( ( IsmFileWriter_writeFrame( IsmMetadata, ismWriters[i] ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError writing ISM metadata to file %s\n", IsmFileWriter_getFilePath( ismWriters[i] ) ); - goto cleanup; - } - } - } - } - /* If outputting MASA, open output file and write metadata for initial bad frames */ - else if ( bsFormat == IVAS_DEC_BS_MASA ) - { - if ( ( error = MasaFileWriter_open( arg.outputWavFilename, &masaWriter ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError: Error opening MASA decoded metadata file %s\n", MasaFileWriter_getFilePath( masaWriter ) ); - goto cleanup; - } - - /* Duplicate good first frame metadata to fill the beginning of stream. */ - IVAS_MASA_QMETADATA_HANDLE qMetadata = NULL; - if ( ( error = IVAS_DEC_GetMasaMetadata( hIvasDec, &qMetadata ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetMasaMetadata: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - for ( j = 0; j < numInitialBadFrames; ++j ) - { - if ( ( MasaFileWriter_writeFrame( masaWriter, qMetadata ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError writing MASA metadata to file: %s\n", MasaFileWriter_getFilePath( masaWriter ) ); - goto cleanup; - } - } - } - } -#endif } else { @@ -1534,25 +1389,6 @@ static ivas_error decodeG192( } } -#ifndef MC_JBM - if ( delayNumSamples == -1 ) - { - if ( arg.delayCompensationEnabled ) - { - if ( ( error = IVAS_DEC_GetDelay( hIvasDec, &delayNumSamples, &delayTimeScale ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nUnable to get delay of decoder: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - delayNumSamples_orig = delayNumSamples; - } - else - { - delayNumSamples = 0; - } - zeroPad = delayNumSamples; - } -#endif /* Write current frame */ if ( decodedGoodFrame ) @@ -1663,21 +1499,12 @@ static ivas_error decodeG192( } /* add zeros at the end to have equal length of synthesized signals */ -#ifdef MC_JBM memset( pcmBuf, 0, delayNumSamples_orig * nOutChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig * nOutChannels ) ) != IVAS_ERR_OK ) { fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#else - memset( pcmBuf, 0, zeroPad * nOutChannels * sizeof( int16_t ) ); - if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, zeroPad * nOutChannels ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nOutput audio file writer error\n" ); - goto cleanup; - } -#endif /*------------------------------------------------------------------------------------------* * Close files and deallocate resources @@ -1702,7 +1529,6 @@ cleanup: return error; } -#ifdef MC_JBM #ifdef DEBUGGING /*---------------------------------------------------------------------* * printBitstreamInfoVoip() @@ -1804,16 +1630,13 @@ cleanup: return IVAS_ERR_OK; } #endif -#endif -#ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE static ivas_error writeJbmTraceFileFrameWrapper( const void *data, void *writer ) { return JbmTraceFileWriter_writeFrame( data, writer ); } #endif -#endif /*---------------------------------------------------------------------* @@ -1839,7 +1662,6 @@ static ivas_error decodeVoIP( uint16_t rtpSequenceNumber; uint32_t rtpTimeStamp; -#ifdef MC_JBM bool decodedGoodFrame = false; int16_t numInitialBadFrames = 0; /* Number of bad frames received until first good frame is decoded */ int16_t nOutChannels = 0; @@ -1847,15 +1669,6 @@ static ivas_error decodeVoIP( uint16_t numObj = 0; int16_t pcmBuf[MAX_OUTPUT_PCM_BUFFER_SIZE]; -#else - /* For now always assume output with one channel. When adding VoIP to IVAS, - * initialization of the memory for jitter buffer etc. needs to happen after - * first good frame has been decoded because for some configs (such as EXT - * renderer) only then the number of output channels is known.*/ - const int16_t nOutChannels = 1; - const uint32_t pcmBufSizeWithSampleBasedTimeScaling = 3 * MAX_FRAME_SIZE; - int16_t pcmBuf[3 * MAX_FRAME_SIZE]; -#endif AudioFileWriter *afWriter = NULL; #ifdef SUPPORT_JBM_TRACEFILE JbmTraceFileWriter *jbmTraceWriter = NULL; @@ -1865,9 +1678,6 @@ static ivas_error decodeVoIP( int16_t delayNumSamples_orig = -1; int16_t delayNumSamples = -1; int32_t delayTimeScale = -1; -#ifndef MC_JBM - int16_t zeroPad = 0; -#endif FILE *f_rtpstream = NULL; EVS_RTPDUMP_DEPACKER rtpdumpDepacker; @@ -1877,16 +1687,12 @@ static ivas_error decodeVoIP( uint16_t frameTypeIndex; bool qBit; -#ifdef MC_JBM IVAS_DEC_BS_FORMAT bsFormat = IVAS_DEC_BS_UNKOWN; IsmFileWriter *ismWriters[IVAS_MAX_NUM_OBJECTS]; for ( int16_t i = 0; i < IVAS_MAX_NUM_OBJECTS; ++i ) { ismWriters[i] = NULL; } -#else - memset( pcmBuf, 0, pcmBufSizeWithSampleBasedTimeScaling ); -#endif rtpdumpDepacker.rtpdump = NULL; @@ -1917,13 +1723,6 @@ static ivas_error decodeVoIP( goto cleanup; } -#ifndef MC_JBM - if ( ( error = AudioFileWriter_open( &afWriter, arg.outputWavFilename, arg.output_Fs, nOutChannels ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nUnable to open output file %s\n", arg.outputWavFilename ); - goto cleanup; - } -#endif #ifdef SUPPORT_JBM_TRACEFILE if ( arg.jbmTraceFilename != NULL ) @@ -1951,12 +1750,6 @@ static ivas_error decodeVoIP( if ( arg.inputFormat == IVAS_DEC_INPUT_FORMAT_G192 ) { error = BS_Reader_ReadVoipFrame_compact( hBsReader, au, &auSize, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms ); -#ifndef MC_JBM - if ( !evsPayload_getFrameTypeFromSize( auSize, &isAMRWB_IOmode, &frameTypeIndex ) ) - { - error = IVAS_ERR_BITSTREAM_READER_INVALID_DATA; - } -#endif qBit = 1; /* good q_bit for INPUT_FORMAT_G192 */ } else @@ -2002,11 +1795,7 @@ static ivas_error decodeVoIP( while ( nextPacketRcvTime_ms <= systemTime_ms ) { /* feed the previous read packet into the receiver now */ -#ifdef MC_JBM error = IVAS_DEC_VoIP_FeedFrame( hIvasDec, auPtr, auSize, rtpSequenceNumber, rtpTimeStamp, nextPacketRcvTime_ms, qBit ); -#else - error = IVAS_DEC_VoIP_FeedFrame( hIvasDec, auPtr, auSize, rtpSequenceNumber, rtpTimeStamp, nextPacketRcvTime_ms, isAMRWB_IOmode, frameTypeIndex, qBit ); -#endif if ( error != IVAS_ERR_OK ) { fprintf( stderr, "\nError in IVAS_DEC_VoIP_FeedFrame: %s\n", IVAS_DEC_GetErrorMessage( error ) ); @@ -2019,12 +1808,6 @@ static ivas_error decodeVoIP( { error = BS_Reader_ReadVoipFrame_compact( hBsReader, au, &auSize, &rtpSequenceNumber, &rtpTimeStamp, &nextPacketRcvTime_ms ); -#ifndef MC_JBM - if ( !evsPayload_getFrameTypeFromSize( auSize, &isAMRWB_IOmode, &frameTypeIndex ) ) - { - error = IVAS_ERR_BITSTREAM_READER_INVALID_DATA; - } -#endif qBit = 1; /* good q_bit for VOIP_G192_RTP */ } else @@ -2056,7 +1839,6 @@ static ivas_error decodeVoIP( break; } -#ifdef MC_JBM nOutSamples = (int16_t) ( arg.output_Fs / 50 ); /* decode and get samples */ @@ -2067,36 +1849,11 @@ static ivas_error decodeVoIP( jbmTraceWriter #endif ) ) != IVAS_ERR_OK ) -#else - /* decode and get samples */ - if ( ( error = IVAS_DEC_VoIP_GetSamples( hIvasDec, &nOutSamples, pcmBuf, pcmBufSizeWithSampleBasedTimeScaling, systemTime_ms ) ) != IVAS_ERR_OK ) -#endif { fprintf( stderr, "\nError in IVAS_DEC_VoIP_GetSamples: %s\n", IVAS_DEC_GetErrorMessage( error ) ); goto cleanup; } -#ifndef MC_JBM -#ifdef SUPPORT_JBM_TRACEFILE - /* write JBM trace file entry - only done for EVS testing */ - if ( jbmTraceWriter != NULL ) - { - IVAS_JBM_TRACE_DATA JbmTraceData; - - if ( ( error = IVAS_DEC_GetJbmData( hIvasDec, &JbmTraceData ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError in IVAS_DEC_GetJbmData: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - - if ( ( JbmTraceFileWriter_writeFrame( &JbmTraceData, jbmTraceWriter ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError writing JBM Trace data to file %s\n", arg.jbmTraceFilename ); - goto cleanup; - } - } -#endif -#endif /* write JBM Offset file entry */ if ( jbmOffsetWriter != NULL ) @@ -2116,7 +1873,6 @@ static ivas_error decodeVoIP( } } -#ifdef MC_JBM /* Continue checking for first good frame until it is found */ if ( !decodedGoodFrame ) { @@ -2153,33 +1909,11 @@ static ivas_error decodeVoIP( ++numInitialBadFrames; } } -#endif -#ifndef MC_JBM - if ( delayNumSamples == -1 ) - { - if ( arg.delayCompensationEnabled ) - { - if ( ( error = IVAS_DEC_GetDelay( hIvasDec, &delayNumSamples, &delayTimeScale ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nUnable to get delay of decoder: %s\n", IVAS_DEC_GetErrorMessage( error ) ); - goto cleanup; - } - delayNumSamples_orig = delayNumSamples; - } - else - { - delayNumSamples = 0; - } - zeroPad = delayNumSamples; - } -#endif /* Write current frame */ -#ifdef MC_JBM if ( decodedGoodFrame ) { -#endif if ( delayNumSamples < nOutSamples ) { if ( ( error = AudioFileWriter_write( afWriter, &pcmBuf[delayNumSamples * nOutChannels], nOutSamples * nOutChannels - ( delayNumSamples * nOutChannels ) ) ) != IVAS_ERR_OK ) @@ -2193,9 +1927,7 @@ static ivas_error decodeVoIP( { delayNumSamples -= nOutSamples; } -#ifdef MC_JBM } -#endif if ( !arg.quietModeEnabled ) { @@ -2213,7 +1945,6 @@ static ivas_error decodeVoIP( #endif } -#ifdef MC_JBM /* add zeros at the end to have equal length of synthesized signals */ memset( pcmBuf, 0, delayNumSamples_orig * nOutChannels * sizeof( int16_t ) ); if ( ( error = AudioFileWriter_write( afWriter, pcmBuf, delayNumSamples_orig * nOutChannels ) ) != IVAS_ERR_OK ) @@ -2221,11 +1952,6 @@ static ivas_error decodeVoIP( fprintf( stderr, "\nError writing output file: %s\n", ivas_error_to_string( error ) ); goto cleanup; } -#else - /* add zeros at the end to have equal length of synthesized signals */ - memset( pcmBuf, 0, zeroPad * nOutChannels * sizeof( int16_t ) ); - AudioFileWriter_write( afWriter, pcmBuf, zeroPad * nOutChannels ); -#endif /*------------------------------------------------------------------------------------------* * Printouts after decoding has finished @@ -2244,9 +1970,7 @@ static ivas_error decodeVoIP( cleanup: -#ifdef MC_JBM EVS_RTPDUMP_DEPACKER_close( &rtpdumpDepacker ); -#endif AudioFileWriter_close( &afWriter ); JbmOffsetFileWriter_close( &jbmOffsetWriter ); #ifdef SUPPORT_JBM_TRACEFILE diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index fc89af3fbd..7fa4791dfa 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2012,11 +2012,7 @@ ivas_error read_indices( file_read_FECpattern( &st_ivas->bfi ); st_ivas->bfi |= bfi; -#ifdef MC_JBM if ( bfi == FRAMEMODE_MISSING ) /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ -#else - if ( bfi ) -#endif { for ( k = 0; k < num_bits; k++ ) { @@ -2182,9 +2178,7 @@ ivas_error read_indices( /* handle bad/lost speech frame(and CS bad SID frame) in the decoders CNG synthesis settings pair (total_brate, bfi) */ if ( ( -#ifdef MC_JBM bfi != FRAMEMODE_FUTURE && /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ -#endif ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST) --> stay in CNG */ ( sid_upd_bad != 0 ) ) /* SID_UPD_BAD --> start CNG */ { @@ -2229,9 +2223,7 @@ ivas_error read_indices( /* GOOD frame */ if ( st_ivas->bfi == 0 -#ifdef MC_JBM || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ -#endif ) { /* GOOD frame - convert ITU-T G.192 words to short values */ @@ -2735,118 +2727,6 @@ void get_NextCoderType( return; } -#ifndef MC_JBM -/*-------------------------------------------------------------------* - * read_indices_from_djb() - * - * Read indices from the de-jitter buffer payload (works also for AMR-WB IO mode) - *-------------------------------------------------------------------*/ -void read_indices_from_djb( - Decoder_State *st, /* i/o: decoder state structure */ - uint8_t *pt_stream, /* i : bitstream file */ - int16_t *CNG, - const int16_t num_bits, /* i : input frame length in bits */ - const Word16 isAMRWB_IOmode, - const Word16 core_mode, - const Word16 qbit, - const Word16 bitstreamformat, - const Word16 amrwb_rfc4867_flag, - const int16_t partialframe, /* i : partial frame information */ - const int16_t next_coder_type /* i : next coder type information */ -) -{ - int16_t k; - UWord8 mask = 0x80; - Word16 no_data = 0; - Word16 sti = -1; - uint16_t *bit_stream_ptr; - int32_t total_brate; - int16_t speech_lost = 0; - - st->bfi = 0; - st->BER_detect = 0; - st->mdct_sw_enable = 0; - st->mdct_sw = 0; - reset_indices_dec( st ); - - st->bfi = !qbit; - total_brate = (Word32) (num_bits) *50; - - if ( num_bits == 0 ) /* guess type of missing frame for SP_LOST and NO_DATA */ - { - speech_lost = *CNG == 0; - no_data = *CNG != 0; - } - - if ( partialframe || st->prev_use_partial_copy ) - { - st->next_coder_type = next_coder_type; - } - else - { - st->next_coder_type = INACTIVE; - } - - if ( partialframe == 1 ) - { - st->bfi = 2; - } - - /* unpack speech data */ - bit_stream_ptr = st->bit_stream; - /* convert bitstream from compact bytes to short values and store it in decoder state */ - for ( k = 0; k < num_bits; k++ ) - { - if ( bitstreamformat == VOIP_RTPDUMP && isAMRWB_IOmode ) - { - st->bit_stream[sort_ptr[core_mode][k]] = unpack_bit( &pt_stream, &mask ); - bit_stream_ptr++; - } - else - { - *bit_stream_ptr++ = unpack_bit( &pt_stream, &mask ); - } - } - - /* unpack auxiliary bits */ - if ( isAMRWB_IOmode && total_brate == SID_1k75 ) - { - if ( bitstreamformat == VOIP_RTPDUMP ) - { - /* A.2.2.1.3: AMR-WB SID_1k75 frame is followed by STI bit and CMI bits */ - sti = unpack_bit( &pt_stream, &mask ); - } - else - { - /* VOIP_G192_RTP does not contain STI and CMI */ - sti = 1; - } - read_indices_mime_handle_sti_and_all_zero_bits( st, &total_brate, sti ); - } - - /* add two zero bytes for arithmetic coder flush */ - for ( k = 0; k < 8 * 2; ++k ) - { - *bit_stream_ptr++ = 0; - } - - total_brate = read_indices_mime_handle_dtx( st, CNG, isAMRWB_IOmode, core_mode, total_brate, sti, speech_lost, no_data, amrwb_rfc4867_flag ); - /* st->CNG set inside */ - - if ( st->bfi != 1 ) - { - /* select Mode 1 or Mode 2 */ - decoder_selectCodec( st, total_brate, *st->bit_stream ? 1 : 0 ); - - /* a change of the total bitrate should not be known to the decoder, if the received frame was truly lost */ - st->total_brate = total_brate; - - mdct_switching_dec( st ); - } - - return; -} -#endif /*-------------------------------------------------------------------* * get_indice_preview() diff --git a/lib_com/common_api_types.h b/lib_com/common_api_types.h index a0edd4313f..b6d4a21c5d 100644 --- a/lib_com/common_api_types.h +++ b/lib_com/common_api_types.h @@ -134,28 +134,17 @@ typedef struct ivas_LS_setup_custom IVAS_LSSETUP_CUSTOM_STRUCT; typedef struct _IVAS_JBM_TRACE_DATA { -#ifdef MC_JBM uint32_t systemTimestamp_ms; uint16_t extBufferedSamples; uint16_t lastDecodedWasActive; int32_t output_Fs; int16_t dataUnit_flag; -#else - double playTime; - int16_t partialCopyOffset; -#endif uint16_t sequenceNumber; uint32_t timeStamp; uint32_t rcvTime; -#ifdef MC_JBM int16_t partial_frame; int16_t partialCopyOffset; -#else - int16_t lastDecodedWasActive; - int16_t partial_frame_flag; - int16_t dataUnit_flag; -#endif } IVAS_JBM_TRACE_DATA; diff --git a/lib_com/ivas_error.h b/lib_com/ivas_error.h index 4539fd19d8..4e7fd3213d 100644 --- a/lib_com/ivas_error.h +++ b/lib_com/ivas_error.h @@ -81,9 +81,7 @@ typedef enum IVAS_ERR_INVALID_INDEX, IVAS_ERR_NOT_SUPPORTED_OPTION, IVAS_ERR_NOT_IMPLEMENTED, -#ifdef MC_JBM IVAS_ERR_WAITING_FOR_BITSTREAM, -#endif IVAS_ERR_FILE_READER_TIMESTAMP_MISMATCH, IVAS_ERR_ISM_FILE_READER_INVALID_METADATA_FORMAT, IVAS_ERR_ISM_INVALID_METADATA_VALUE, diff --git a/lib_com/options.h b/lib_com/options.h index 4f27ece852..6d57fde43c 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ #endif #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ -#define MC_JBM /* FhG: extend JBM beyond mono for running IVAS in VoIP mode (contribution 19) */ #define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ #define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ diff --git a/lib_com/prot.h b/lib_com/prot.h index a0e03c9d21..116bc7aba1 100644 --- a/lib_com/prot.h +++ b/lib_com/prot.h @@ -643,21 +643,6 @@ void evs_dec_previewFrame( int16_t *partialCopyOffset /* o : offset of the partial copy relative to the primary copy */ ); -#ifndef MC_JBM -void read_indices_from_djb( - Decoder_State *st, /* i/o: decoder state structure */ - uint8_t *pt_stream, /* i : bitstream file */ - int16_t *CNG, - const int16_t num_bits, /* i : input frame length in bits */ - const Word16 isAMRWB_IOmode, /* i : AMRWB flag */ - const Word16 core_mode, /* i : core mode for frame */ - const Word16 qbit, /* i : Q bit for AMR-WB IO */ - const Word16 bitstreamformat, - const Word16 amrwb_rfc4867_flag, - const int16_t partialframe, /* i : partial frame information */ - const int16_t next_coder_type /* i : next coder type information */ -); -#endif void getPartialCopyInfo( Decoder_State *st, /* i : decoder state structure */ diff --git a/lib_debug/coan_out_000002 b/lib_debug/coan_out_000002 new file mode 100644 index 0000000000..bf31e63cef --- /dev/null +++ b/lib_debug/coan_out_000002 @@ -0,0 +1,924 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +#ifdef WMOPS +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt[NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); +void update_mem( void ); +void print_wmops( void ); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) +#define update_mem() +#define print_wmops() + +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) +#endif +#ifndef mac +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_( op, n ) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) +/* Square and its Variants */ +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) +/* Sign and its Variants */ +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) +/* Square Root and its Variants */ +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) +/* Invert Square Root and its Variants */ +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) +/* Others */ +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) +/* Set Min/Max */ +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) +/* mac & msu (Instrumented Versions) */ +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) + +/* Functions */ +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) + +/* Logical Operators */ +#ifndef __ +#define __ ( BRANCH_( 1 ), 1 ) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ ( BRANCH_( 1 ), 0 ) ? 0: +#endif + +/* Flow Control keywords */ +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while + +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); + +#ifdef WMOPS + +#define ACC 2 +#define MUL 1 + +/* Counting Function (should not be called externally!) */ +static void wops_( const char *ops ) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ + + void ( *fct )( const char *ops ) = wops_; + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); + error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; +} + +#endif + +/* All Other Operations */ diff --git a/lib_dec/jbm_jb4sb.h b/lib_dec/jbm_jb4sb.h index 7142a6fd20..526ec7a011 100644 --- a/lib_dec/jbm_jb4sb.h +++ b/lib_dec/jbm_jb4sb.h @@ -63,11 +63,6 @@ struct JB4_DATAUNIT uint32_t rcvTime; /** true, if the data unit contains only silence */ bool silenceIndicator; -#ifndef MC_JBM - Word16 isAMRWB_IOmode; - /** for EVS payload */ - Word16 frameTypeIndex; -#endif /** Q bit for AMR-WB IO */ Word16 qBit; diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index f4434e916c..b92fcc1219 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -66,20 +66,12 @@ struct apa_state_t { /* output buffer */ -#ifdef MC_JBM int16_t *buf_out; uint16_t buf_out_capacity; -#else - int16_t buf_out[APA_BUF]; -#endif uint16_t l_buf_out; /* Hann window */ -#ifdef MC_JBM float win[APA_BUF_PER_CHANNEL]; -#else - float win[APA_BUF]; -#endif uint16_t l_halfwin; /* sampling rate [Hz] */ @@ -149,10 +141,8 @@ static bool extend_frm( apa_state_t *ps, const int16_t frm_in[], int16_t frm_out /* Allocates memory for state struct and initializes elements. */ uint8_t apa_init( apa_state_t **pps -#ifdef MC_JBM , int32_t num_channels -#endif ) { apa_state_t *ps = NULL; @@ -169,7 +159,6 @@ uint8_t apa_init( { return 2; } -#ifdef MC_JBM ps->num_channels = (uint16_t) num_channels; ps->buf_out_capacity = (uint16_t) ( APA_BUF_PER_CHANNEL * num_channels ); ps->buf_out = malloc( sizeof( float ) * ps->buf_out_capacity ); @@ -177,7 +166,6 @@ uint8_t apa_init( { return 2; } -#endif apa_reset( ps ); *pps = ps; @@ -209,9 +197,6 @@ void apa_reset( ps->last_pitch = 0; ps->bad_frame_count = 0; ps->good_frame_count = 0; -#ifndef MC_JBM - ps->num_channels = 0; -#endif return; } @@ -221,10 +206,6 @@ void apa_reset( bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs -#ifndef MC_JBM - , - const int16_t num_channels -#endif ) { /* make sure pointer is valid */ @@ -245,15 +226,10 @@ bool apa_set_rate( /* copy rate to state struct */ ps->rate = (uint16_t) output_Fs; -#ifdef MC_JBM if ( ps->num_channels > APA_MAX_NUM_CHANNELS ) { return 1; } -#else - /* set number of channels */ - ps->num_channels = num_channels; -#endif /* * several other parameters depend on the sampling rate @@ -271,12 +247,7 @@ bool apa_set_rate( ps->l_seg = ( ps->rate / 100 ) * ps->num_channels; /* init Hann window */ -#ifdef MC_JBM /* Note: l_win < APA_BUF_PER_CHANNEL is required */ -#else - /* Note: l_win < APA_BUF is required, which is assured */ - /* because APA_MAX_RATE/100 = l_win = 441 < 2048 = APA_BUF */ -#endif /* Length of Hann window should be independent of * number of channels - same window applied to all channels */ ps->l_halfwin = ps->rate / 100; @@ -441,10 +412,8 @@ bool apa_exit( return 0; } -#ifdef MC_JBM /* deallocate state struct members */ free( ( *pps )->buf_out ); -#endif /* deallocate state struct */ free( *pps ); @@ -507,10 +476,8 @@ uint8_t apa_exec( statsResetThreshold = 1637; statsResetShift = 2; -#ifdef MC_JBM /* Convert max_scaling from "per channel" to total */ maxScaling *= ps->num_channels; -#endif /* make sure no invalid output is used */ *l_out = 0; @@ -615,11 +582,7 @@ uint8_t apa_exec( /* copy output to internal buffer */ /* avoid buffer overflow: */ /* discard old samples; always keep at least most recent l_frm samples */ -#ifdef MC_JBM if ( ( ps->l_buf_out + l_frm_out ) > ps->buf_out_capacity ) -#else - if ( ( ps->l_buf_out + l_frm_out ) > APA_BUF ) -#endif { int16_t *buf_out_ptr1 = ps->buf_out; int16_t *buf_out_ptr2; @@ -637,11 +600,7 @@ uint8_t apa_exec( ps->l_buf_out = l_rem; } /* append new output samples */ -#ifdef MC_JBM if ( ( ps->l_buf_out + l_frm_out ) > ps->buf_out_capacity ) -#else - if ( ( ps->l_buf_out + l_frm_out ) > APA_BUF ) -#endif { return 5; } @@ -876,11 +835,7 @@ static bool logarithmic_search( do { coeff_max = -FLT_MAX; /* will always be overwritten with result of first correlation */ -#ifdef MC_JBM for ( i = s_start; i < s_start + inlen; i += css * ps->num_channels ) -#else - for ( i = s_start; i < s_start + inlen; i += css ) -#endif { if ( ( wss == 1 ) && ( ps->num_channels == 1 ) ) { @@ -991,11 +946,7 @@ static bool find_synch( /* pass last pitch to search function as prediction value */ *synch_pos = ps->last_pitch; -#ifdef MC_JBM logarithmic_search( ps, in, s_start, s_len, offset, fixed_pos, corr_len, ps->wss, ps->css, synch_pos ); -#else - logarithmic_search( ps, in, s_start, s_len, offset, fixed_pos, corr_len, ps->wss, ps->css * ps->num_channels, synch_pos ); -#endif /* assert synch_pos is cleanly divisible by number of channels */ assert( *synch_pos % ps->num_channels == 0 ); diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index ab2cbdcb30..9f93307c64 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -50,13 +50,9 @@ */ /* size of IO buffers (a_in[], a_out[]) for apa_exec() */ -#ifdef MC_JBM #define APA_BUF_PER_CHANNEL ( 960 * 3 ) #define APA_MAX_NUM_CHANNELS 16 #define APA_BUF ( APA_BUF_PER_CHANNEL * APA_MAX_NUM_CHANNELS ) -#else -#define APA_BUF 4096 * 3 -#endif /* min/max sampling rate [Hz] */ #define APA_MIN_RATE 1000 @@ -96,10 +92,8 @@ typedef struct apa_state_t *PCMDSP_APA_HANDLE; /*! Allocates memory for state struct and initializes elements. * @return 0 on success, 1 on failure */ uint8_t apa_init( apa_state_t **s -#ifdef MC_JBM , int32_t num_channels -#endif ); /*! Sets state variables to initial value. */ @@ -115,10 +109,6 @@ void apa_reset( apa_state_t *s ); * @param[in] num_channels number of channels * @return 0 on success, 1 on failure */ bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs -#ifndef MC_JBM - , - const int16_t num_channels -#endif ); /*! Set scaling. diff --git a/lib_dec/jbm_pcmdsp_fifo.c b/lib_dec/jbm_pcmdsp_fifo.c index 300adc3e74..32922cf58d 100644 --- a/lib_dec/jbm_pcmdsp_fifo.c +++ b/lib_dec/jbm_pcmdsp_fifo.c @@ -97,27 +97,15 @@ void pcmdsp_fifo_destroy( /* Initializes the FIFO with a fixed maximum allowed number audio samples. */ int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, -#ifdef MC_JBM uint16_t nSamplesPerChannel, -#else - uint16_t nSamples, -#endif uint16_t nChannels, uint16_t nBytesPerSample ) { -#ifdef MC_JBM uint32_t nDataBytes; /* Must be 32-bit, otherwise overflows for multichannel */ h->capacity = nSamplesPerChannel; h->nBytesPerSampleSet = nChannels * nBytesPerSample; nDataBytes = nSamplesPerChannel * h->nBytesPerSampleSet; -#else - uint16_t nDataBytes; - - h->capacity = nSamples; - h->nBytesPerSampleSet = nChannels * nBytesPerSample; - nDataBytes = nSamples * h->nBytesPerSampleSet; -#endif h->dataBegin = malloc( nDataBytes ); h->dataEnd = h->dataBegin + nDataBytes; h->dataWriteIterator = h->dataBegin; @@ -213,11 +201,7 @@ int16_t pcmdsp_fifo_read( /* Returns the number of samples per channel that can be read (number of currently stored samples). */ -#ifdef MC_JBM uint16_t pcmdsp_fifo_nReadableSamplesPerChannel( -#else -uint16_t pcmdsp_fifo_nReadableSamples( -#endif const PCMDSP_FIFO_HANDLE h ) { return h->size; diff --git a/lib_dec/jbm_pcmdsp_fifo.h b/lib_dec/jbm_pcmdsp_fifo.h index 85312ace99..577f86cec0 100644 --- a/lib_dec/jbm_pcmdsp_fifo.h +++ b/lib_dec/jbm_pcmdsp_fifo.h @@ -70,20 +70,12 @@ int16_t pcmdsp_fifo_create( PCMDSP_FIFO_HANDLE *ph ); void pcmdsp_fifo_destroy( PCMDSP_FIFO_HANDLE *ph ); -#ifdef MC_JBM int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint16_t nChannels, uint16_t nBytesPerSample ); -#else -int16_t pcmdsp_fifo_init( PCMDSP_FIFO_HANDLE h, uint16_t nSamples, uint16_t nChannels, uint16_t nBytesPerSample ); -#endif int16_t pcmdsp_fifo_write( PCMDSP_FIFO_HANDLE h, const uint8_t *samples, uint16_t nSamplesPerChannel ); int16_t pcmdsp_fifo_read( PCMDSP_FIFO_HANDLE h, uint16_t nSamplesPerChannel, uint8_t *samples ); -#ifdef MC_JBM uint16_t pcmdsp_fifo_nReadableSamplesPerChannel( const PCMDSP_FIFO_HANDLE h ); -#else -uint16_t pcmdsp_fifo_nReadableSamples( const PCMDSP_FIFO_HANDLE h ); -#endif #endif /* JBM_PCMDSP_FIFO_H */ diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 5b7e5f9046..7aea25bab8 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -55,11 +55,9 @@ struct IVAS_DEC_VOIP PCMDSP_APA_HANDLE hTimeScaler; PCMDSP_FIFO_HANDLE hFifoAfterTimeScaler; uint16_t lastDecodedWasActive; -#ifdef MC_JBM int16_t *apaExecBuffer; /* Buffer for APA scaling */ JB4_DATAUNIT_HANDLE hCurrentDataUnit; /* Points to the currently processed data unit */ uint16_t *bs_conversion_buf; /* Buffer for bitstream conversion from packed to serial */ -#endif #ifdef SUPPORT_JBM_TRACEFILE IVAS_JBM_TRACE_DATA JbmTraceData; #endif @@ -489,30 +487,13 @@ ivas_error IVAS_DEC_EnableVoIP( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifndef MC_JBM - if ( !hIvasDec->isInitialized ) - { - if ( ( error = ivas_init_decoder( hIvasDec->st_ivas ) ) != IVAS_ERR_OK ) - { - return error; - } - - hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; - hIvasDec->isInitialized = true; - } -#endif hDecoderConfig = hIvasDec->st_ivas->hDecoderConfig; hIvasDec->Opt_VOIP = 1; -#ifdef MC_JBM hDecoderConfig->nchan_out = audioCfg2channels( hDecoderConfig->output_config ); assert( hDecoderConfig->nchan_out > 0 && "EXT output not yet supported in VoIP mode" ); -#else - hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]->codec_mode = 0; - hDecoderConfig->nchan_out = 1; /* VoIP only supported in mono */ -#endif if ( ( error = input_format_API_to_internal( inputFormat, &hIvasDec->bitstreamformat, &hIvasDec->sdp_hf_only, true ) ) != IVAS_ERR_OK ) { @@ -525,14 +506,9 @@ ivas_error IVAS_DEC_EnableVoIP( } hIvasDec->hVoIP->lastDecodedWasActive = 0; -#ifdef MC_JBM hIvasDec->hVoIP->hCurrentDataUnit = NULL; hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs * hDecoderConfig->nchan_out / FRAMES_PER_SEC ); -#else - hIvasDec->hVoIP->nSamplesFrame = (uint16_t) ( hDecoderConfig->output_Fs / FRAMES_PER_SEC ); -#endif -#ifdef MC_JBM hIvasDec->hVoIP->apaExecBuffer = malloc( sizeof( int16_t ) * APA_BUF_PER_CHANNEL * hDecoderConfig->nchan_out ); if ( hIvasDec->hVoIP->apaExecBuffer == NULL ) { @@ -552,7 +528,6 @@ ivas_error IVAS_DEC_EnableVoIP( { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Could not allocate VoIP handle" ); } -#endif /* initialize JBM */ if ( ( error = JB4_Create( &hIvasDec->hVoIP->hJBM ) != IVAS_ERR_OK ) != IVAS_ERR_OK ) @@ -590,16 +565,10 @@ ivas_error IVAS_DEC_EnableVoIP( } if ( apa_init( &hIvasDec->hVoIP->hTimeScaler -#ifdef MC_JBM , hDecoderConfig->nchan_out -#endif ) != 0 || apa_set_rate( hIvasDec->hVoIP->hTimeScaler, hDecoderConfig->output_Fs -#ifndef MC_JBM - , - hDecoderConfig->nchan_out -#endif ) != 0 || apa_set_complexity_options( hIvasDec->hVoIP->hTimeScaler, wss, css ) != 0 || apa_set_quality( hIvasDec->hVoIP->hTimeScaler, 1, 4, 4 ) != 0 || @@ -641,7 +610,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial( return error; } -#ifdef MC_JBM if ( hIvasDec->hVoIP != NULL && hIvasDec->hVoIP->hCurrentDataUnit != NULL ) { DEC_CORE_HANDLE st = hIvasDec->st_ivas->hSCE[0]->hCoreCoder[0]; @@ -653,9 +621,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial( { hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; } -#else - hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = ACELP_8k00; -#endif } hIvasDec->isInitialized = true; @@ -666,7 +631,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial( hIvasDec->hasBeenFedFirstGoodFrame = true; } -#ifdef MC_JBM /* Update redundant frame information in EVS (pre- read indices) */ if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && hIvasDec->hVoIP != NULL && hIvasDec->hVoIP->hCurrentDataUnit != NULL ) { @@ -687,11 +651,9 @@ ivas_error IVAS_DEC_FeedFrame_Serial( bfi = 2; } } -#endif error = read_indices( hIvasDec->st_ivas, serial, num_bits, &hIvasDec->prev_ft_speech, &hIvasDec->CNG, bfi ); -#ifdef MC_JBM /* Update redundant frame information in EVS (post- read indices) */ if ( hIvasDec->mode == IVAS_DEC_MODE_EVS && hIvasDec->hVoIP != NULL && @@ -702,7 +664,6 @@ ivas_error IVAS_DEC_FeedFrame_Serial( st->codec_mode = MODE2; st->use_partial_copy = 1; } -#endif return error; } @@ -1150,13 +1111,11 @@ ivas_error IVAS_DEC_GetDelay( return IVAS_ERR_UNEXPECTED_NULL_POINTER; } -#ifdef MC_JBM if ( !hIvasDec->hasDecodedFirstGoodFrame ) { /* Delay depends on IVAS format, which is unknown until first frame has been decoded */ return IVAS_ERR_WAITING_FOR_BITSTREAM; } -#endif st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; @@ -1249,7 +1208,6 @@ static bool isSidFrame( return false; } -#ifdef MC_JBM static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_t num_bits ) { /* Bitstream conversion is not counted towards complexity and memory usage */ @@ -1279,7 +1237,6 @@ static void bsCompactToSerial( const uint8_t *compact, uint16_t *serial, uint16_ #endif #undef WMC_TOOL_SKIP } -#endif /*---------------------------------------------------------------------* @@ -1295,10 +1252,6 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ -#ifndef MC_JBM - const bool isAMRWB_IOmode, /* i : AMRWB flag */ - const uint16_t frameTypeIndex, /* i : core mode for frame */ -#endif const bool qBit /* i : Q bit for AMR-WB IO */ ) { @@ -1330,10 +1283,6 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( dataUnit->timeStamp = rtpTimeStamp; dataUnit->partial_frame = 0; dataUnit->partialCopyOffset = partialCopyOffset; -#ifndef MC_JBM - dataUnit->isAMRWB_IOmode = isAMRWB_IOmode; - dataUnit->frameTypeIndex = frameTypeIndex; -#endif dataUnit->qBit = qBit; /* add the frame to the JBM */ @@ -1357,10 +1306,6 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( dataUnit->timeStamp = rtpTimeStamp - partialCopyOffset * dataUnit->duration; dataUnit->partial_frame = 1; dataUnit->partialCopyOffset = partialCopyOffset; -#ifndef MC_JBM - dataUnit->isAMRWB_IOmode = isAMRWB_IOmode; - dataUnit->frameTypeIndex = frameTypeIndex; -#endif dataUnit->qBit = qBit; /* add the frame to the JBM */ @@ -1383,40 +1328,23 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( ivas_error IVAS_DEC_VoIP_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ -#ifdef MC_JBM uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ -#else - int16_t *nOutSamples, /* o : number of samples written to output buffer */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ -#endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ -#ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , JbmTraceFileWriterFn jbmWriterFn, void *jbmWriter #endif -#endif ) { Decoder_Struct *st_ivas; DECODER_CONFIG_HANDLE hDecoderConfig; -#ifndef MC_JBM - Decoder_State *st; -#endif IVAS_DEC_VOIP *hVoIP; uint32_t extBufferedTime_ms, scale, maxScaling; uint16_t nTimeScalerOutSamples; JB4_DATAUNIT_HANDLE dataUnit; -#ifndef MC_JBM - uint16_t bit_stream[MAX_BITS_PER_FRAME + 4 * 8]; -#endif int16_t nOutSamplesElse; -#ifndef MC_JBM - uint16_t soundCardFrameSize; -#endif uint16_t extBufferedSamples; int16_t timeScalingDone; int16_t result; @@ -1427,37 +1355,18 @@ ivas_error IVAS_DEC_VoIP_GetSamples( st_ivas = hIvasDec->st_ivas; hDecoderConfig = st_ivas->hDecoderConfig; hVoIP = hIvasDec->hVoIP; -#ifndef MC_JBM - st = st_ivas->hSCE[0]->hCoreCoder[0]; - soundCardFrameSize = hVoIP->nSamplesFrame; -#endif timeScalingDone = 0; -#ifdef MC_JBM /* TODO(mcjbm): ringbuffer capacity should be configurable by user */ if ( nSamplesPerChannel > hVoIP->hFifoAfterTimeScaler->capacity || nSamplesPerChannel == 0 ) { return IVAS_ERR_WRONG_PARAMS; } -#else - assert( hVoIP->nSamplesFrame <= pcmBufSize ); - assert( hVoIP->nSamplesFrame <= APA_BUF ); - - st_ivas->hSCE[0]->hCoreCoder[0]->bit_stream = bit_stream; -#endif /* make sure that the FIFO after decoder/scaler contains at least one sound card frame (i.e. 20ms) */ -#ifdef MC_JBM while ( pcmdsp_fifo_nReadableSamplesPerChannel( hVoIP->hFifoAfterTimeScaler ) < nSamplesPerChannel ) -#else - while ( pcmdsp_fifo_nReadableSamples( hVoIP->hFifoAfterTimeScaler ) < soundCardFrameSize ) -#endif { -#ifdef MC_JBM extBufferedSamples = pcmdsp_fifo_nReadableSamplesPerChannel( hVoIP->hFifoAfterTimeScaler ); -#else - extBufferedSamples = pcmdsp_fifo_nReadableSamples( hVoIP->hFifoAfterTimeScaler ); -#endif extBufferedTime_ms = extBufferedSamples * 1000 / hDecoderConfig->output_Fs; dataUnit = NULL; /* pop one access unit from the jitter buffer */ @@ -1484,79 +1393,27 @@ ivas_error IVAS_DEC_VoIP_GetSamples( /* copy bitstream into decoder state */ if ( dataUnit ) { -#ifdef MC_JBM hIvasDec->hVoIP->hCurrentDataUnit = dataUnit; bsCompactToSerial( dataUnit->data, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize ); IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, dataUnit->dataSize, 0 ); -#else - if ( st->codec_mode != 0 ) - { - read_indices_from_djb( st, dataUnit->data, &hIvasDec->CNG, dataUnit->dataSize, - dataUnit->isAMRWB_IOmode, dataUnit->frameTypeIndex, dataUnit->qBit, hIvasDec->bitstreamformat, hIvasDec->amrwb_rfc4867_flag, - ( dataUnit->partial_frame == TRUE ) ? 1 : 0, dataUnit->nextCoderType ); - - if ( dataUnit->partial_frame != 0 ) - { - st->codec_mode = MODE2; - st->use_partial_copy = 1; - } - } - else /* initialize decoder with first received frame */ - { - /* initialize, since this is needed within read_indices_from_djb, to correctly set st->last_codec_mode */ - st->ini_frame = 0; - st->prev_use_partial_copy = 0; - st_ivas->hDecoderConfig->ivas_total_brate = dataUnit->dataSize * FRAMES_PER_SEC; - - read_indices_from_djb( st, dataUnit->data, &hIvasDec->CNG, dataUnit->dataSize, - dataUnit->isAMRWB_IOmode, dataUnit->frameTypeIndex, dataUnit->qBit, hIvasDec->bitstreamformat, hIvasDec->amrwb_rfc4867_flag, - 0, 0 ); - } -#endif } -#ifdef MC_JBM else if ( hIvasDec->hasDecodedFirstGoodFrame ) { /* Decoder has been initialized with first good frame - do PLC */ IVAS_DEC_FeedFrame_Serial( hIvasDec, hIvasDec->hVoIP->bs_conversion_buf, 0, 1 ); -#else - else if ( st->codec_mode != 0 ) - { - read_indices_from_djb( st, NULL, &hIvasDec->CNG, 0, - 0, 0, 0, hIvasDec->bitstreamformat, 0, - 0, 0 ); -#endif } /* decode */ -#ifdef MC_JBM if ( !hIvasDec->hasBeenFedFirstGoodFrame ) { /* codec mode to use not known yet - simply output silence */ set_s( hVoIP->apaExecBuffer, 0, hVoIP->nSamplesFrame ); /* TODO(mcjbm): Could be optimized: just write directly to output buffer */ -#else - if ( st->codec_mode == 0 ) - { - /* codec mode to use not known yet */ - set_s( pcmBuf, 0, hVoIP->nSamplesFrame ); -#endif } else { -#ifndef MC_JBM - if ( hIvasDec->mode == IVAS_DEC_MODE_EVS ) - { - /* Update total bitrate after reading indices */ - hIvasDec->st_ivas->hDecoderConfig->ivas_total_brate = st->total_brate; - } -#endif -#ifdef MC_JBM if ( ( error = IVAS_DEC_GetSamples( hIvasDec, hVoIP->apaExecBuffer, &nOutSamplesElse ) ) != IVAS_ERR_OK ) -#else - if ( ( error = IVAS_DEC_GetSamples( hIvasDec, pcmBuf, &nOutSamplesElse ) ) != IVAS_ERR_OK ) -#endif { return error; } @@ -1591,31 +1448,19 @@ ivas_error IVAS_DEC_VoIP_GetSamples( { return IVAS_ERR_UNKNOWN; } -#ifdef MC_JBM result = apa_exec( hVoIP->hTimeScaler, hVoIP->apaExecBuffer, hVoIP->nSamplesFrame, (uint16_t) maxScaling, hVoIP->apaExecBuffer, &nTimeScalerOutSamples ); -#else - result = apa_exec( hVoIP->hTimeScaler, pcmBuf, (uint16_t) ( hVoIP->nSamplesFrame * hDecoderConfig->nchan_out ), (uint16_t) maxScaling, pcmBuf, &nTimeScalerOutSamples ); -#endif if ( result != 0 ) { return IVAS_ERR_UNKNOWN; } -#ifndef MC_JBM - assert( nTimeScalerOutSamples <= pcmBufSize ); -#endif assert( nTimeScalerOutSamples <= APA_BUF ); /* append scaled samples to FIFO */ -#ifdef MC_JBM if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) hVoIP->apaExecBuffer, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) -#else - if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) pcmBuf, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) -#endif { return IVAS_ERR_UNKNOWN; } -#ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* jbmWriterFn and jbmWriter may be NULL if tracefile writing was not requested on CLI */ if ( jbmWriterFn != NULL && jbmWriter != NULL ) @@ -1628,23 +1473,11 @@ ivas_error IVAS_DEC_VoIP_GetSamples( return IVAS_ERR_UNKNOWN; } } -#endif -#else -#ifdef SUPPORT_JBM_TRACEFILE - /* store JBM trace data entry */ - store_JbmData( hVoIP, dataUnit, systemTimestamp_ms, extBufferedSamples, hDecoderConfig->output_Fs ); -#endif #endif } -#ifdef MC_JBM /* fetch a user-specified number of samples from FIFO */ if ( pcmdsp_fifo_read( hVoIP->hFifoAfterTimeScaler, nSamplesPerChannel, (uint8_t *) pcmBuf ) != 0 ) -#else - /* fetch one frame for the sound card from FIFO */ - *nOutSamples = (int16_t) soundCardFrameSize; - if ( pcmdsp_fifo_read( hVoIP->hFifoAfterTimeScaler, *nOutSamples, (uint8_t *) pcmBuf ) != 0 ) -#endif { return IVAS_ERR_UNKNOWN; } @@ -1706,7 +1539,6 @@ static void IVAS_DEC_Close_VoIP( pcmdsp_fifo_destroy( &hVoIP->hFifoAfterTimeScaler ); -#ifdef MC_JBM if ( hVoIP->apaExecBuffer != NULL ) { free( hVoIP->apaExecBuffer ); @@ -1719,7 +1551,6 @@ static void IVAS_DEC_Close_VoIP( free( hVoIP->bs_conversion_buf ); #undef WMC_TOOL_SKIP } -#endif free( hVoIP ); @@ -1750,7 +1581,6 @@ static void store_JbmData( JbmTraceData = &hVoIP->JbmTraceData; -#ifdef MC_JBM JbmTraceData->systemTimestamp_ms = systemTimestamp_ms; JbmTraceData->extBufferedSamples = extBufferedSamples; JbmTraceData->lastDecodedWasActive = hVoIP->lastDecodedWasActive; @@ -1764,34 +1594,6 @@ static void store_JbmData( JbmTraceData->partial_frame = dataUnit->partial_frame; JbmTraceData->partialCopyOffset = dataUnit->partialCopyOffset; } -#else - /* the first sample of the decoded/concealed frame will be played after the samples in the ring buffer */ - JbmTraceData->playTime = systemTimestamp_ms + extBufferedSamples * 1000.0 / output_Fs; - - /* rtpSeqNo;rtpTs;rcvTime;playTime;active\n */ - if ( dataUnit ) - { - JbmTraceData->sequenceNumber = dataUnit->sequenceNumber; - JbmTraceData->partialCopyOffset = dataUnit->partialCopyOffset; - JbmTraceData->timeStamp = dataUnit->timeStamp; - JbmTraceData->rcvTime = dataUnit->rcvTime; - JbmTraceData->lastDecodedWasActive = hVoIP->lastDecodedWasActive; - - JbmTraceData->dataUnit_flag = 1; - if ( dataUnit->partial_frame == 1 ) - { - JbmTraceData->partial_frame_flag = 1; - } - else - { - JbmTraceData->partial_frame_flag = 0; - } - } - else - { - JbmTraceData->dataUnit_flag = 0; - } -#endif return; } @@ -2110,7 +1912,6 @@ void IVAS_DEC_PrintConfigWithBitstream( return; } -#ifdef MC_JBM void IVAS_DEC_PrintConfigWithVoipBitstream( IVAS_DEC_HANDLE hIvasDec, const bool quietModeEnabled, @@ -2136,7 +1937,6 @@ void IVAS_DEC_PrintConfigWithVoipBitstream( return; } -#endif #undef WMC_TOOL_SKIP #endif diff --git a/lib_dec/lib_dec.h b/lib_dec/lib_dec.h index 5d57d330a9..1af44bb43f 100644 --- a/lib_dec/lib_dec.h +++ b/lib_dec/lib_dec.h @@ -103,12 +103,10 @@ typedef enum _IVAS_DEC_BS_FORMAT typedef struct IVAS_DEC *IVAS_DEC_HANDLE; -#ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE /* Callback function for JBM tracefile writing */ typedef ivas_error ( *JbmTraceFileWriterFn )( const void *data, void *writer ); #endif -#endif /* clang-format off */ @@ -190,31 +188,19 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ -#ifndef MC_JBM - const bool isAMRWB_IOmode, /* i : AMRWB flag */ - const uint16_t frameTypeIndex, /* i : core mode for frame */ -#endif const bool qBit /* i : Q bit for AMR-WB IO */ ); /*! r: error code */ ivas_error IVAS_DEC_VoIP_GetSamples( IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ -#ifdef MC_JBM uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ -#else - int16_t *nOutSamples, /* o : number of samples written to output buffer */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ - const uint32_t pcmBufSize, /* i : size of the PCM output buffer */ -#endif const uint32_t systemTimestamp_ms /* i : current system timestamp */ -#ifdef MC_JBM #ifdef SUPPORT_JBM_TRACEFILE , JbmTraceFileWriterFn jbmWriterFn, void* jbmWriter #endif -#endif ); /* Setter functions - apply changes to decoder configuration */ @@ -368,7 +354,6 @@ void IVAS_DEC_PrintConfigWithBitstream( const int16_t num_bits /* i : number of bits in bitstream */ ); -#ifdef MC_JBM void IVAS_DEC_PrintConfigWithVoipBitstream( IVAS_DEC_HANDLE hIvasDec, /* i : IVAS decoder handle */ const bool quietModeEnabled, /* i : quiet mode flag: if true, reduces the amount of config info printed */ @@ -376,7 +361,6 @@ void IVAS_DEC_PrintConfigWithVoipBitstream( const uint16_t auSizeBits /* i : size of the access unit in bits */ ); #endif -#endif void IVAS_DEC_PrintDisclaimer( void diff --git a/lib_util/evs_rtp_payload.c b/lib_util/evs_rtp_payload.c index 5adb67d1af..ec5be566bd 100644 --- a/lib_util/evs_rtp_payload.c +++ b/lib_util/evs_rtp_payload.c @@ -141,38 +141,6 @@ static void evsHeaderFullPayload_parseToc( uint8_t toc, bool *isAMRWB_IOmode, bo } } -#ifndef MC_JBM -bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ) -{ - int16_t i; - int32_t rate; - rate = frameSizeBits * 50; - if ( rate == 0 ) - { - assert( 0 ); /* VOIP_G192_RTP should not transmit empty frames */ - return false; /* no information available */ - } - for ( i = 0; i <= 9; ++i ) - { - if ( rate == AMRWB_IOmode2rate[i] ) - { - *isAMRWB_IOmode = true; - *frameTypeIndex = i; - return true; - } - } - for ( i = 0; i <= 12; ++i ) - { - if ( rate == PRIMARYmode2rate[i] ) - { - *isAMRWB_IOmode = false; - *frameTypeIndex = i; - return true; - } - } - return false; -} -#endif bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeInBits ) { diff --git a/lib_util/evs_rtp_payload.h b/lib_util/evs_rtp_payload.h index a39811c1f2..0aa665d227 100644 --- a/lib_util/evs_rtp_payload.h +++ b/lib_util/evs_rtp_payload.h @@ -160,9 +160,6 @@ extern "C" bool evsPayload_unpackFrame( bool hf_only, char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **framePtr, uint16_t *frameSizeBits ); -#ifndef MC_JBM - bool evsPayload_getFrameTypeFromSize( int16_t frameSizeBits, bool *isAMRWB_IOmode, uint16_t *frameTypeIndex ); -#endif bool evsHeaderFullPayload_unpackFrame( char *payload, uint16_t payloadSizeBytes, uint16_t frameIndex, bool *isAMRWB_IOmode, bool *frameFollowing, uint16_t *frameTypeIndex, bool *qBit, unsigned char **frame, uint16_t *frameSizeBits ); diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c index cb5e16e14b..c0c288c43d 100644 --- a/lib_util/jbm_file_writer.c +++ b/lib_util/jbm_file_writer.c @@ -224,11 +224,7 @@ ivas_error JbmTraceFileWriter_open( /*! r: error code */ ivas_error JbmTraceFileWriter_writeFrame( -#ifdef MC_JBM const IVAS_JBM_TRACE_DATA *data, /* i : JBM trace data */ -#else - const IVAS_JBM_TRACE_DATA *JbmTraceData, /* i : JBM trace data */ -#endif JbmTraceFileWriter *jbmTraceWriter /* o : JbmTraceFileWriter handle */ ) { @@ -243,43 +239,23 @@ ivas_error JbmTraceFileWriter_writeFrame( if ( file ) { -#ifdef MC_JBM /* the first sample of the decoded/concealed frame will be played after the samples in the ring buffer */ double playTime = data->systemTimestamp_ms + data->extBufferedSamples * 1000.0 / data->output_Fs; -#endif /* rtpSeqNo;rtpTs;rcvTime;playTime;active\n */ -#ifdef MC_JBM if ( data->dataUnit_flag ) { if ( data->partial_frame == 1 ) -#else - if ( JbmTraceData->dataUnit_flag ) - { - if ( JbmTraceData->partial_frame_flag == 1 ) -#endif { -#ifdef MC_JBM fprintf( file, "%d;%d;%d;%f;%d;%d\n", -1, -1, -1, playTime, data->lastDecodedWasActive, data->partialCopyOffset ); -#else - fprintf( file, "%d;%d;%d;%f;%d;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive, JbmTraceData->partialCopyOffset ); -#endif } else { -#ifdef MC_JBM fprintf( file, "%u;%u;%u;%f;%d\n", data->sequenceNumber, data->timeStamp, data->rcvTime, playTime, data->lastDecodedWasActive ); -#else - fprintf( file, "%u;%u;%u;%f;%d\n", JbmTraceData->sequenceNumber, JbmTraceData->timeStamp, JbmTraceData->rcvTime, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); -#endif } } else { -#ifdef MC_JBM fprintf( file, "%d;%d;%d;%f;%d\n", -1, -1, -1, playTime, data->lastDecodedWasActive ); -#else - fprintf( file, "%d;%d;%d;%f;%d\n", -1, -1, -1, JbmTraceData->playTime, JbmTraceData->lastDecodedWasActive ); -#endif } } else -- GitLab From 2f3b6cfaa3aea0bcd61299de355897e7b41882a4 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:18:42 +0100 Subject: [PATCH 577/620] [cleanup] accept FIX_265_MC_BRATE_SWITCHING --- lib_com/options.h | 1 - lib_debug/coan_out_000003 | 924 ++++++++++++++++++++++++++ lib_dec/ivas_corecoder_dec_reconfig.c | 2 - lib_dec/ivas_stereo_switching_dec.c | 4 - lib_enc/ivas_stereo_switching_enc.c | 4 - 5 files changed, 924 insertions(+), 11 deletions(-) create mode 100644 lib_debug/coan_out_000003 diff --git a/lib_com/options.h b/lib_com/options.h index 6d57fde43c..28b03667c6 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ #endif #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ -#define FIX_265_MC_BRATE_SWITCHING /* Issue 265: fix use-of-uninitialized-value in MC bitrate switching */ #define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ #define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ diff --git a/lib_debug/coan_out_000003 b/lib_debug/coan_out_000003 new file mode 100644 index 0000000000..bf31e63cef --- /dev/null +++ b/lib_debug/coan_out_000003 @@ -0,0 +1,924 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +#ifdef WMOPS +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt[NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); +void update_mem( void ); +void print_wmops( void ); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) +#define update_mem() +#define print_wmops() + +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) +#endif +#ifndef mac +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_( op, n ) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) +/* Square and its Variants */ +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) +/* Sign and its Variants */ +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) +/* Square Root and its Variants */ +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) +/* Invert Square Root and its Variants */ +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) +/* Others */ +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) +/* Set Min/Max */ +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) +/* mac & msu (Instrumented Versions) */ +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) + +/* Functions */ +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) + +/* Logical Operators */ +#ifndef __ +#define __ ( BRANCH_( 1 ), 1 ) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ ( BRANCH_( 1 ), 0 ) ? 0: +#endif + +/* Flow Control keywords */ +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while + +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); + +#ifdef WMOPS + +#define ACC 2 +#define MUL 1 + +/* Counting Function (should not be called externally!) */ +static void wops_( const char *ops ) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ + + void ( *fct )( const char *ops ) = wops_; + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); + error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; +} + +#endif + +/* All Other Operations */ diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index b56f10d138..4abec8503a 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -201,12 +201,10 @@ ivas_error ivas_corecoder_dec_reconfig( } for ( ; cpe_id < st_ivas->nCPE; cpe_id++ ) { -#ifdef FIX_265_MC_BRATE_SWITCHING if ( st_ivas->mc_mode == MC_MODE_MCMASA && st_ivas->hOutSetup.separateChannelEnabled ) { st_ivas->element_mode_init = IVAS_CPE_MDCT; } -#endif if ( ( error = create_cpe_dec( st_ivas, cpe_id, brate_CPE ) ) != IVAS_ERR_OK ) { return error; diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c index d8fb4d0272..0d50fb9a91 100755 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -40,9 +40,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" -#ifdef FIX_265_MC_BRATE_SWITCHING #include "assert.h" -#endif #include "wmc_auto.h" #include <math.h> @@ -355,9 +353,7 @@ ivas_error stereo_memory_dec( error = IVAS_ERR_OK; -#ifdef FIX_265_MC_BRATE_SWITCHING assert( hCPE->last_element_mode >= IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); -#endif hCPE->hCoreCoder[0]->element_mode = hCPE->element_mode; diff --git a/lib_enc/ivas_stereo_switching_enc.c b/lib_enc/ivas_stereo_switching_enc.c index 8f39a1f15d..855f851ce8 100644 --- a/lib_enc/ivas_stereo_switching_enc.c +++ b/lib_enc/ivas_stereo_switching_enc.c @@ -37,9 +37,7 @@ #include "prot.h" #include "ivas_prot.h" #include "ivas_rom_com.h" -#ifdef FIX_265_MC_BRATE_SWITCHING #include "assert.h" -#endif #include "wmc_auto.h" #ifdef DEBUGGING #include "debug.h" @@ -233,9 +231,7 @@ ivas_error stereo_memory_enc( error = IVAS_ERR_OK; -#ifdef FIX_265_MC_BRATE_SWITCHING assert( hCPE->last_element_mode >= IVAS_CPE_DFT && "Switching from SCE to CPE is not a valid configuration!" ); -#endif /*--------------------------------------------------------------* * save parameters from structures that will be freed -- GitLab From fb26c3b55dd9443afbd0cf5480fa4c80f3888fe1 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:22:12 +0100 Subject: [PATCH 578/620] [cleanup] accept FIX_265_MC_BRATE_SWITCHING --- lib_com/ivas_tools.c | 74 --- lib_com/options.h | 1 - lib_debug/coan_out_000004 | 924 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 924 insertions(+), 75 deletions(-) create mode 100644 lib_debug/coan_out_000004 diff --git a/lib_com/ivas_tools.c b/lib_com/ivas_tools.c index 6b35161fd5..bea1b0fb15 100644 --- a/lib_com/ivas_tools.c +++ b/lib_com/ivas_tools.c @@ -1007,7 +1007,6 @@ void lls_interp_n( return; } -#ifdef FIX_ANGLE_WRAPPING /* helper function for panning_wrap_angles */ static float wrap_azi( const float azi_deg ) @@ -1095,79 +1094,6 @@ void panning_wrap_angles( return; } } -#else -/*-------------------------------------------------------------------* - * panning_wrap_angles() - * - * Wrap angles for amplitude panning to the range: - * azimuth = (-180, 180] - * elevation = [-90, 90] - * Considers direction changes from large elevation values - *-------------------------------------------------------------------*/ -void panning_wrap_angles( - const float azi_deg, /* i : azimuth in degrees for panning direction (positive left) */ - const float ele_deg, /* i : elevation in degrees for panning direction (positive up) */ - float *azi_wrapped, /* o : wrapped azimuth component */ - float *ele_wrapped /* o : wrapped elevation component */ -) -{ - float azi, ele; - - azi = azi_deg; - ele = ele_deg; - - /* Special case when elevation is a multiple of 90; azimuth is irrelevant */ - if ( ( ele != 0 ) && ( fmodf( ele, 90 ) == 0 ) ) - { - azi = 0; - while ( fabsf( ele ) > 90 ) - { - ele -= 360; - } - } - else - { - /* Wrap elevation and adjust azimuth accordingly */ - while ( fabsf( ele ) > 90 ) - { - /* Flip to other hemisphere */ - azi += 180; - - /* Compensate elevation accordingly */ - if ( ele > 90 ) - { - ele -= 180; - } - else if ( ele < -90 ) - { - ele += 180; - } - } - - /* Wrap azimuth value */ - while ( fabsf( azi ) > 180 ) - { - azi = fmodf( azi + 180, 360 ); - if ( azi < 0 ) - { - azi += 360; - } - azi -= 180; - } - } - - /* Set -180 to 180 for deduplication purposes; angles are otherwise identical */ - if ( azi == -180 ) - { - azi = 180; - } - - *azi_wrapped = azi; - *ele_wrapped = ele; - - return; -} -#endif /*-------------------------------------------------------------------------* * v_sort_ind() diff --git a/lib_com/options.h b/lib_com/options.h index 28b03667c6..5f0b2b83b2 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -147,7 +147,6 @@ #endif #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ -#define FIX_ANGLE_WRAPPING /* Issue 244: Problems with angle wrapping*/ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ #define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ diff --git a/lib_debug/coan_out_000004 b/lib_debug/coan_out_000004 new file mode 100644 index 0000000000..bf31e63cef --- /dev/null +++ b/lib_debug/coan_out_000004 @@ -0,0 +1,924 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +#ifdef WMOPS +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt[NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); +void update_mem( void ); +void print_wmops( void ); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) +#define update_mem() +#define print_wmops() + +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) +#endif +#ifndef mac +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_( op, n ) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) +/* Square and its Variants */ +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) +/* Sign and its Variants */ +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) +/* Square Root and its Variants */ +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) +/* Invert Square Root and its Variants */ +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) +/* Others */ +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) +/* Set Min/Max */ +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) +/* mac & msu (Instrumented Versions) */ +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) + +/* Functions */ +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) + +/* Logical Operators */ +#ifndef __ +#define __ ( BRANCH_( 1 ), 1 ) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ ( BRANCH_( 1 ), 0 ) ? 0: +#endif + +/* Flow Control keywords */ +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while + +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); + +#ifdef WMOPS + +#define ACC 2 +#define MUL 1 + +/* Counting Function (should not be called externally!) */ +static void wops_( const char *ops ) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ + + void ( *fct )( const char *ops ) = wops_; + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); + error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; +} + +#endif + +/* All Other Operations */ -- GitLab From fbe36a7fcc44a4bebc57ff3d8179c417eb1e48d5 Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:23:05 +0100 Subject: [PATCH 579/620] [cleanup] accept FIX_272_COV --- lib_com/options.h | 1 - lib_debug/coan_out_000005 | 924 ++++++++++++++++++++++++++++++++++++++ lib_dec/ivas_dec.c | 7 - 3 files changed, 924 insertions(+), 8 deletions(-) create mode 100644 lib_debug/coan_out_000005 diff --git a/lib_com/options.h b/lib_com/options.h index 5f0b2b83b2..2efbe0375d 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -148,7 +148,6 @@ #define FIX_I59_DELAY_ROUNDING /* Issue 59: rounding in sample domain instead of nanosec for IVAS_ENC_GetDelay() and IVAS_DEC_GetDelay() */ #define FIX_FIX_I59 /* Issue 59: small fix concerning LFE delay rounding */ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ -#define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ /*#define ENV_STAB_FIX*/ /* Contribution 23: HQ envelope stability memory fix */ #define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ diff --git a/lib_debug/coan_out_000005 b/lib_debug/coan_out_000005 new file mode 100644 index 0000000000..bf31e63cef --- /dev/null +++ b/lib_debug/coan_out_000005 @@ -0,0 +1,924 @@ +/* + * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. + * + * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, + * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file + * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". + * + * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor + * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software + * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. + * + * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) + */ + +#ifndef WMOPS_H +#define WMOPS_H + +#ifndef EXIT_FAILURE +#include <stdlib.h> /* stdlib is needed for exit() */ +#endif + +#ifndef EOF +#include <stdio.h> /* stdio is needed for fprintf() */ +#endif + + +/* To Prevent "warning: '$' in identifier or number" message under GCC */ +#ifdef __GNUC__ +#pragma GCC system_header +#endif + +/* Real-time relationships */ +#define FRAMES_PER_SECOND 50.0 +#define MILLION_CYCLES 1e6 +#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ +#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) +#define NUM_INST 20 /* Total number of instruction types (in enum below) */ + + +#ifdef WMOPS +enum instructions +{ + _ADD, + _ABS, + _MULT, + _MAC, + _MOVE, + _STORE, + _LOGIC, + _SHIFT, + _BRANCH, + _DIV, + _SQRT, + _TRANS, + _FUNC, + _LOOP, + _INDIRECT, + _PTR_INIT, + _TEST, + _POWER, + _LOG, + _MISC +}; + +#define _ADD_C 1 +#define _ABS_C 1 +#define _MULT_C 1 +#define _MAC_C 1 +#define _MOVE_C 1 +#define _STORE_C 1 +#define _LOGIC_C 1 +#define _SHIFT_C 1 +#define _BRANCH_C 4 +#define _DIV_C 18 +#define _SQRT_C 10 +#define _TRANS_C 25 +#define _FUNC_C 2 /* need to add number of arguments */ +#define _LOOP_C 3 +#define _INDIRECT_C 2 +#define _PTR_INIT_C 1 +#define _TEST_C 2 +#define _POWER_C 25 +#define _LOG_C 25 +#define _MISC_C 1 + +#define _ADD_P 1 +#define _ABS_P 1 +#define _MULT_P 1 +#define _MAC_P 1 +#define _MOVE_P 1 +#define _STORE_P 0 +#define _LOGIC_P 1 +#define _SHIFT_P 1 +#define _BRANCH_P 2 +#define _DIV_P 2 +#define _SQRT_P 2 +#define _TRANS_P 2 +#define _FUNC_P 2 /* need to add number of arguments */ +#define _LOOP_P 1 +#define _INDIRECT_P 2 +#define _PTR_INIT_P 1 +#define _TEST_P 1 +#define _POWER_P 2 +#define _LOG_P 2 +#define _MISC_P 1 + +#define ADD( x ) \ + { \ + { \ + ops_cnt += ( _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define ABS( x ) \ + { \ + { \ + ops_cnt += ( _ABS_C * ( x ) ); \ + inst_cnt[_ABS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ABS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MULT( x ) \ + { \ + { \ + ops_cnt += ( _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MAC( x ) \ + { \ + { \ + ops_cnt += ( _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MOVE( x ) \ + { \ + { \ + ops_cnt += ( _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define STORE( x ) \ + { \ + { \ + ops_cnt += ( _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOGIC( x ) \ + { \ + { \ + ops_cnt += ( _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SHIFT( x ) \ + { \ + { \ + ops_cnt += ( _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define BRANCH( x ) \ + { \ + { \ + ops_cnt += ( _BRANCH_C * ( x ) ); \ + inst_cnt[_BRANCH] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _BRANCH_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DIV( x ) \ + { \ + { \ + ops_cnt += ( _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define SQRT( x ) \ + { \ + { \ + ops_cnt += ( _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TRANS( x ) \ + { \ + { \ + ops_cnt += ( _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOOP( x ) \ + { \ + { \ + ops_cnt += ( _LOOP_C * ( x ) ); \ + inst_cnt[_LOOP] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOOP_P * ( x ) ); \ + } \ + } \ + } \ + } +#define INDIRECT( x ) \ + { \ + { \ + ops_cnt += ( _INDIRECT_C * ( x ) ); \ + inst_cnt[_INDIRECT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _INDIRECT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define PTR_INIT( x ) \ + { \ + { \ + ops_cnt += ( _PTR_INIT_C * ( x ) ); \ + inst_cnt[_PTR_INIT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _PTR_INIT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define TEST( x ) \ + { \ + { \ + ops_cnt += ( _TEST_C * ( x ) ); \ + inst_cnt[_TEST] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TEST_P * ( x ) ); \ + } \ + } \ + } \ + } +#define POWER( x ) \ + { \ + { \ + ops_cnt += ( _POWER_C * ( x ) ); \ + inst_cnt[_POWER] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _POWER_P * ( x ) ); \ + } \ + } \ + } \ + } +#define LOG( x ) \ + { \ + { \ + ops_cnt += ( _LOG_C * ( x ) ); \ + inst_cnt[_LOG] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOG_P * ( x ) ); \ + } \ + } \ + } \ + } +#define MISC( x ) \ + { \ + { \ + ops_cnt += ( _MISC_C * ( x ) ); \ + inst_cnt[_MISC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MISC_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define FUNC( x ) \ + { \ + { \ + ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ + inst_cnt[_FUNC]++; \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } + +#define DADD( x ) \ + { \ + { \ + ops_cnt += ( 2 * _ADD_C * ( x ) ); \ + inst_cnt[_ADD] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _ADD_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMULT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MULT_C * ( x ) ); \ + inst_cnt[_MULT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MULT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMAC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MAC_C * ( x ) ); \ + inst_cnt[_MAC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MAC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DMOVE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ + inst_cnt[_MOVE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _MOVE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSTORE( x ) \ + { \ + { \ + ops_cnt += ( 2 * _STORE_C * ( x ) ); \ + inst_cnt[_STORE] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _STORE_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DLOGIC( x ) \ + { \ + { \ + ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ + inst_cnt[_LOGIC] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _LOGIC_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSHIFT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ + inst_cnt[_SHIFT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SHIFT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DDIV( x ) \ + { \ + { \ + ops_cnt += ( 2 * _DIV_C * ( x ) ); \ + inst_cnt[_DIV] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _DIV_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DSQRT( x ) \ + { \ + { \ + ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ + inst_cnt[_SQRT] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _SQRT_P * ( x ) ); \ + } \ + } \ + } \ + } +#define DTRANS( x ) \ + { \ + { \ + ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ + inst_cnt[_TRANS] += ( x ); \ + { \ + static int pcnt; \ + if ( !pcnt ) \ + { \ + pcnt = 1; \ + prom_cnt += ( _TRANS_P * ( x ) ); \ + } \ + } \ + } \ + } + +extern double ops_cnt; +extern double prom_cnt; +extern double inst_cnt[NUM_INST]; +extern int ops_cnt_activ; + +void reset_wmops( void ); +void push_wmops( const char *label ); +void pop_wmops( void ); +void update_wmops( void ); +void update_mem( void ); +void print_wmops( void ); + +#else /* WMOPS counting disabled */ + +#define reset_wmops() +extern int cntr_push_pop; +#define push_wmops( x ) ( cntr_push_pop++ ) +#define pop_wmops() ( cntr_push_pop-- ) +#define update_wmops() ( assert( cntr_push_pop == 0 ) ) +#define update_mem() +#define print_wmops() + +#define ADD( x ) +#define ABS( x ) +#define MULT( x ) +#define MAC( x ) +#define MOVE( x ) +#define STORE( x ) +#define LOGIC( x ) +#define SHIFT( x ) +#define BRANCH( x ) +#define DIV( x ) +#define SQRT( x ) +#define TRANS( x ) +#define FUNC( x ) +#define LOOP( x ) +#define INDIRECT( x ) +#define PTR_INIT( x ) +#define TEST( x ) +#define POWER( x ) +#define LOG( x ) +#define MISC( x ) + +#define DADD( x ) +#define DMULT( x ) +#define DMAC( x ) +#define DMOVE( x ) +#define DSTORE( x ) +#define DLOGIC( x ) +#define DSHIFT( x ) +#define DDIV( x ) +#define DSQRT( x ) +#define DTRANS( x ) + +#endif + +/* mac & msu (Non Instrumented Versions) */ +#ifndef mac +#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) +#endif +#ifndef mac +#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) +#endif + +#ifndef WMOPS +/* DESACTIVATE the Counting Mechanism */ +#define OP_COUNT_( op, n ) + +/* DESACTIVATE Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( val ) +#define OP_COUNT_WRAPPER2_( expr ) +#define OP_COUNT_WRAPPER3_( op, expr ) expr + +/* DESACTIVATE Logical & Ternary Operators */ +#define __ +#define _ + +#else + +/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ +static double *ops_cnt_ptr = &ops_cnt; +#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) + +/******************************************************************/ +/* NOTES: */ +/* The 'wmc_flag_' flag is global to avoid declaration in every */ +/* function and 'static' to avoid clashing with other modules */ +/* that include this header file. */ +/* */ +/* The declarations of 'wmc_flag_' and 'wops_' in this header */ +/* file prevent the addition of a 'C' file to the Project. */ +/******************************************************************/ + +/* General Purpose Global Flag */ +static int wmc_flag_ = 0; + +/* Operation Counter Wrappers */ +#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) +#define OP_COUNT_WRAPPER2_( expr ) \ + if ( expr, 0 ) \ + ; \ + else +#define OP_COUNT_WRAPPER3_( op, expr ) \ + if ( op, 0 ) \ + ; \ + else \ + expr + +#endif + +/* Define all Macros without '{' & '}' (None of these should be called externally!) */ +#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) +#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) +#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) +#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) +#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) +#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) +#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) +#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) +#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) +#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) +#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) +#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) +#define POWER_( x ) TRANS_( x ) +#define LOG_( x ) TRANS_( x ) +#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) +#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) +#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) +#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) +#define MISC_( x ) ABS_( x ) + +/* Math Operations */ +#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) +#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) +#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) +#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) +#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) +#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) +#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) +#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) +#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) +#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) +#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) +#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) +#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) +#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) +#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) +#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) +#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) +#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) +#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) +#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) +/* these macros use any local macros already defined */ +/* min/max and their Variants */ +#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) +#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) +#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) +#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) +#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) +#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) +/* Square and its Variants */ +#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) +#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) +#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) +#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) +#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) +#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) +/* Sign and its Variants */ +#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) +#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) +#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) +/* Square Root and its Variants */ +#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) +/* Invert Square Root and its Variants */ +#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) +/* Others */ +#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) +#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) +/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" + with Cygwin gcc Compiler */ +#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) +#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) +#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) +/* Set Min/Max */ +#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) +#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) +/* mac & msu (Instrumented Versions) */ +#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) +#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) + +/* Functions */ +#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) + +/* Logical Operators */ +#ifndef __ +#define __ ( BRANCH_( 1 ), 1 ) && +#endif + +/* Ternary Operators (? and :) */ +#ifndef _ +#define _ ( BRANCH_( 1 ), 0 ) ? 0: +#endif + +/* Flow Control keywords */ +#define if_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + if +#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for +#define while_( c ) \ + while \ + OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ +#define do_ \ + do \ + { +#define _while \ + BRANCH_( 1 ); \ + } \ + while + +#define goto_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + goto +#define break_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + break +#define continue_ \ + OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ + continue +#define return_ \ + OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ + return + +#define switch_ \ + OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ + switch +#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); + +#ifdef WMOPS + +#define ACC 2 +#define MUL 1 + +/* Counting Function (should not be called externally!) */ +static void wops_( const char *ops ) +{ + char lm = 0; /* lm: Last Operation is Math */ + static char lo = 0; /* Last Operation */ + + void ( *fct )( const char *ops ) = wops_; + +st: + while ( *ops != '\0' ) + { + switch ( *ops++ ) + { + int cnt; + case '-': + for ( cnt = 0; ops[cnt] == '>'; cnt++ ) + ; + if ( cnt & 1 ) + goto ind; + case '+': + lm = 2; + if ( lo & MUL ) + { + MULT_( -1 ); + MAC_( 1 ); + break; + } + lo = ACC << 2; + case 'U': + case 'D': + ADD_( 1 ); + break; + case '*': + lm = 2; + if ( lo & ACC ) + { + ADD_( -1 ); + MAC_( 1 ); + break; + } + lo = MUL << 2; + MULT_( 1 ); + break; + case '/': + case '%': + lm = 2; + DIV_( 1 ); + break; + case '&': + case '|': + case '^': + lm = 2; + case '~': + LOGIC_( 1 ); + break; + case '<': + case '>': + if ( *ops != ops[-1] ) + goto error; + ops++; + case -85: + case -69: + lm = 2; + SHIFT_( 1 ); + break; + case 'L': + case 'G': + if ( *ops == 't' ) + goto comp; + case 'E': + case 'N': + if ( *ops != 'e' ) + goto error; + comp: + ops++; + ADD_( 1 ); + break; + case '!': + MISC_( 2 ); + break; + case 'M': + MOVE_( 1 ); + break; + case 'S': + STORE_( 1 ); + break; + case 'P': + PTR_INIT_( 1 ); + break; + case '[': + case ']': + goto st; + ind: + ops++; + case 'I': + case '.': + INDIRECT_( 1 ); + break; + case '=': + if ( lm ) + goto st; + case '\0': + /* This Shouldn't Happen */ + /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ + wmc_flag_ = wmc_flag_; + ops_cnt_ptr = ops_cnt_ptr; + fct( "" ); + error: + default: + fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); + exit( -1 ); + } + lm >>= 1; + lo >>= 2; + } + + return; +} + +#endif + +/* All Other Operations */ diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 2b5b073142..fa341b093f 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -392,13 +392,6 @@ ivas_error ivas_dec( ivas_crend_process( st_ivas, output ); ivas_binaural_add_LFE( st_ivas, output_frame, output ); } -#ifndef FIX_272_COV - else if ( st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV || st_ivas->renderer_type == RENDERER_BINAURAL_FASTCONV_ROOM ) - { - ivas_binaural_cldfb( st_ivas, output ); - ivas_binaural_add_LFE( st_ivas, output_frame, output ); - } -#endif else if ( st_ivas->renderer_type == RENDERER_MC ) { ivas_ls_setup_conversion( st_ivas, output_frame, output ); -- GitLab From 556206b36e4da11dbe0faec73688b8f7a1246f0a Mon Sep 17 00:00:00 2001 From: Markus Multrus <markus.multrus@iis.fraunhofer.de> Date: Fri, 13 Jan 2023 13:36:31 +0100 Subject: [PATCH 580/620] formatting --- lib_com/bitstream.c | 5 ++--- lib_dec/ivas_stereo_switching_dec.c | 4 ++-- lib_dec/jbm_pcmdsp_apa.c | 9 +++------ lib_dec/jbm_pcmdsp_apa.h | 9 +++------ lib_dec/lib_dec.c | 19 ++++++++----------- lib_enc/ivas_mct_enc.c | 3 +-- lib_util/jbm_file_writer.c | 2 +- 7 files changed, 20 insertions(+), 31 deletions(-) mode change 100755 => 100644 lib_dec/ivas_stereo_switching_dec.c mode change 100755 => 100644 lib_enc/ivas_mct_enc.c diff --git a/lib_com/bitstream.c b/lib_com/bitstream.c index 7fa4791dfa..e9d9cd13c5 100644 --- a/lib_com/bitstream.c +++ b/lib_com/bitstream.c @@ -2178,7 +2178,7 @@ ivas_error read_indices( /* handle bad/lost speech frame(and CS bad SID frame) in the decoders CNG synthesis settings pair (total_brate, bfi) */ if ( ( - bfi != FRAMEMODE_FUTURE && /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ + bfi != FRAMEMODE_FUTURE && /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ ( *CNG != 0 ) && ( ( speech_bad != 0 ) || ( speech_lost != 0 ) ) ) || /* SP_BAD or SPEECH_LOST) --> stay in CNG */ ( sid_upd_bad != 0 ) ) /* SID_UPD_BAD --> start CNG */ { @@ -2222,8 +2222,7 @@ ivas_error read_indices( } /* GOOD frame */ - if ( st_ivas->bfi == 0 - || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ + if ( st_ivas->bfi == 0 || st_ivas->bfi == FRAMEMODE_FUTURE /* TODO(mcjbm): This fixes channel-aware mode BE. Still requires review from a bitstream reading expert */ ) { /* GOOD frame - convert ITU-T G.192 words to short values */ diff --git a/lib_dec/ivas_stereo_switching_dec.c b/lib_dec/ivas_stereo_switching_dec.c old mode 100755 new mode 100644 index 0d50fb9a91..73ca81c997 --- a/lib_dec/ivas_stereo_switching_dec.c +++ b/lib_dec/ivas_stereo_switching_dec.c @@ -343,8 +343,8 @@ ivas_error stereo_memory_dec( const int16_t nb_bits_metadata, /* i : number of metadata bits */ const int32_t output_Fs, /* i : output sampling rate */ const IVAS_FORMAT ivas_format, /* i : IVAS format */ - const MC_MODE mc_mode, /* i : MC mode */ - const int16_t nchan_transport /* i : number of transport channels*/ + const MC_MODE mc_mode, /* i : MC mode */ + const int16_t nchan_transport /* i : number of transport channels*/ ) { DEC_CORE_HANDLE st; diff --git a/lib_dec/jbm_pcmdsp_apa.c b/lib_dec/jbm_pcmdsp_apa.c index b92fcc1219..9142e347b6 100644 --- a/lib_dec/jbm_pcmdsp_apa.c +++ b/lib_dec/jbm_pcmdsp_apa.c @@ -140,10 +140,8 @@ static bool extend_frm( apa_state_t *ps, const int16_t frm_in[], int16_t frm_out /* Allocates memory for state struct and initializes elements. */ uint8_t apa_init( - apa_state_t **pps - , - int32_t num_channels -) + apa_state_t **pps, + int32_t num_channels ) { apa_state_t *ps = NULL; @@ -205,8 +203,7 @@ void apa_reset( /* Sets the audio configuration. */ bool apa_set_rate( apa_state_t *ps, - const int32_t output_Fs -) + const int32_t output_Fs ) { /* make sure pointer is valid */ if ( ps == NULL ) diff --git a/lib_dec/jbm_pcmdsp_apa.h b/lib_dec/jbm_pcmdsp_apa.h index 9f93307c64..ac54e97e75 100644 --- a/lib_dec/jbm_pcmdsp_apa.h +++ b/lib_dec/jbm_pcmdsp_apa.h @@ -91,10 +91,8 @@ typedef struct apa_state_t *PCMDSP_APA_HANDLE; /*! Allocates memory for state struct and initializes elements. * @return 0 on success, 1 on failure */ -uint8_t apa_init( apa_state_t **s - , - int32_t num_channels -); +uint8_t apa_init( apa_state_t **s, + int32_t num_channels ); /*! Sets state variables to initial value. */ void apa_reset( apa_state_t *s ); @@ -108,8 +106,7 @@ void apa_reset( apa_state_t *s ); * @param[in] output_Fs sample rate [Hz] * @param[in] num_channels number of channels * @return 0 on success, 1 on failure */ -bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs -); +bool apa_set_rate( apa_state_t *ps, const int32_t output_Fs ); /*! Set scaling. * The scale is given in % and will be valid until changed again. diff --git a/lib_dec/lib_dec.c b/lib_dec/lib_dec.c index 7aea25bab8..13a5d96953 100644 --- a/lib_dec/lib_dec.c +++ b/lib_dec/lib_dec.c @@ -564,12 +564,9 @@ ivas_error IVAS_DEC_EnableVoIP( return IVAS_ERR_INIT_ERROR; } - if ( apa_init( &hIvasDec->hVoIP->hTimeScaler - , - hDecoderConfig->nchan_out - ) != 0 || - apa_set_rate( hIvasDec->hVoIP->hTimeScaler, hDecoderConfig->output_Fs - ) != 0 || + if ( apa_init( &hIvasDec->hVoIP->hTimeScaler, + hDecoderConfig->nchan_out ) != 0 || + apa_set_rate( hIvasDec->hVoIP->hTimeScaler, hDecoderConfig->output_Fs ) != 0 || apa_set_complexity_options( hIvasDec->hVoIP->hTimeScaler, wss, css ) != 0 || apa_set_quality( hIvasDec->hVoIP->hTimeScaler, 1, 4, 4 ) != 0 || pcmdsp_fifo_create( &hIvasDec->hVoIP->hFifoAfterTimeScaler ) != 0 || @@ -1252,7 +1249,7 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( const uint16_t rtpSequenceNumber, /* i : RTP sequence number (16 bits) */ const uint32_t rtpTimeStamp, /* i : RTP timestamp (32 bits) */ const uint32_t rcvTime_ms, /* i : receive time of the RTP packet in milliseconds */ - const bool qBit /* i : Q bit for AMR-WB IO */ + const bool qBit /* i : Q bit for AMR-WB IO */ ) { JB4_DATAUNIT_HANDLE dataUnit; @@ -1327,9 +1324,9 @@ ivas_error IVAS_DEC_VoIP_FeedFrame( *---------------------------------------------------------------------*/ ivas_error IVAS_DEC_VoIP_GetSamples( - IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ - uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ - int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ + IVAS_DEC_HANDLE hIvasDec, /* i/o: IVAS decoder handle */ + uint16_t nSamplesPerChannel, /* i : number of samples per channel requested to be written to output buffer */ + int16_t *pcmBuf, /* i/o: buffer for decoded PCM output. The memory must already be allocated and be able to hold the expected number of output samples, based on frame size and number of output channels */ const uint32_t systemTimestamp_ms /* i : current system timestamp */ #ifdef SUPPORT_JBM_TRACEFILE , @@ -1455,7 +1452,7 @@ ivas_error IVAS_DEC_VoIP_GetSamples( } assert( nTimeScalerOutSamples <= APA_BUF ); -/* append scaled samples to FIFO */ + /* append scaled samples to FIFO */ if ( pcmdsp_fifo_write( hVoIP->hFifoAfterTimeScaler, (uint8_t *) hVoIP->apaExecBuffer, (uint16_t) ( nTimeScalerOutSamples / hDecoderConfig->nchan_out ) ) != 0 ) { return IVAS_ERR_UNKNOWN; diff --git a/lib_enc/ivas_mct_enc.c b/lib_enc/ivas_mct_enc.c old mode 100755 new mode 100644 index 08d9057403..2595dd847e --- a/lib_enc/ivas_mct_enc.c +++ b/lib_enc/ivas_mct_enc.c @@ -174,8 +174,7 @@ ivas_error ivas_mct_enc( /* joint MCT encoding */ ivas_mct_core_enc( ivas_format, hMCT, st_ivas->hCPE, hMCT->nchan_out_woLFE + hMCT->num_lfe, ivas_total_brate, switch_bw, - ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) ? (int16_t) st_ivas->hLFE->lfe_bits : 0 - , + ( ivas_format == MC_FORMAT && st_ivas->mc_mode == MC_MODE_MCT ) ? (int16_t) st_ivas->hLFE->lfe_bits : 0, st_ivas->hEncoderConfig->sba_order ); /* Spectrum quantization and coding */ diff --git a/lib_util/jbm_file_writer.c b/lib_util/jbm_file_writer.c index c0c288c43d..3cbf02eac5 100644 --- a/lib_util/jbm_file_writer.c +++ b/lib_util/jbm_file_writer.c @@ -224,7 +224,7 @@ ivas_error JbmTraceFileWriter_open( /*! r: error code */ ivas_error JbmTraceFileWriter_writeFrame( - const IVAS_JBM_TRACE_DATA *data, /* i : JBM trace data */ + const IVAS_JBM_TRACE_DATA *data, /* i : JBM trace data */ JbmTraceFileWriter *jbmTraceWriter /* o : JbmTraceFileWriter handle */ ) { -- GitLab From d21df80631b481010e6530d3dc32a1280c409b0d Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Fri, 13 Jan 2023 13:52:39 +0100 Subject: [PATCH 581/620] Bug fix in ENV_STAB_FIX causing EVS non-BE and reenable ENV_STAB_FIX --- lib_com/options.h | 2 +- lib_dec/core_switching_dec.c | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib_com/options.h b/lib_com/options.h index 471b41f502..9e000aae89 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -155,7 +155,7 @@ #define FIX_245_RANGE_CODER_VOIP_MSAN /* Issue 245: fix use-of-uninitialized-value in range coder in VoIP mode */ #define FIX_272_COV /* Issue 272: Cleanup for code coverage related to calls to ivas_binaural_cldfb() */ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ -/*#define ENV_STAB_FIX*/ /* Contribution 23: HQ envelope stability memory fix */ +#define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ #define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ /* ################## End DEVELOPMENT switches ######################### */ diff --git a/lib_dec/core_switching_dec.c b/lib_dec/core_switching_dec.c index 20819ceb27..2d0e26b52c 100644 --- a/lib_dec/core_switching_dec.c +++ b/lib_dec/core_switching_dec.c @@ -449,6 +449,11 @@ ivas_error core_switching_pre_dec( st->hHQ_core->prev_ni_ratio = 0.5f; set_f( st->hHQ_core->prev_En_sb, 0.0f, NB_SWB_SUBBANDS ); } + else + { + set_f( st->hHQ_core->old_out, 0, output_frame ); + set_f( st->hHQ_core->old_outLB, 0, L_FRAME16k ); + } #else set_f( st->hHQ_core->old_out, 0, output_frame ); set_f( st->hHQ_core->old_outLB, 0, L_FRAME16k ); -- GitLab From 39d594ce32cb79f9d4854eb5b2546c5c30a43432 Mon Sep 17 00:00:00 2001 From: muxe6256 <marc.emerit@orange.com> Date: Sun, 15 Jan 2023 22:55:02 +0100 Subject: [PATCH 582/620] fix 197 Merge crend api. Version tested --- lib_com/ivas_prot.h | 54 + lib_com/options.h | 1 + lib_dec/ivas_dec.c | 8 + lib_dec/ivas_init_dec.c | 30 + lib_dec/ivas_ism_param_dec.c | 8 + lib_dec/ivas_mct_dec.c | 34 + lib_dec/ivas_sba_dec.c | 16 + lib_dec/ivas_stat_dec.h | 18 +- lib_rend/ivas_binauralRenderer.c | 4 + lib_rend/ivas_crend.c | 213 +++- lib_rend/ivas_lib_rend_internal.h | 6 + lib_rend/ivas_objectRenderer.c | 8 + lib_rend/ivas_stat_rend.h | 952 ++++++++++++++++++ lib_rend/lib_rend.c | 199 +++- lib_rend/lib_rend.h | 19 +- .../unit_tests/crend/ivas_crend_utest_utils.c | 69 +- 16 files changed, 1627 insertions(+), 12 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index eb14bfdc43..6c95f13fe2 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -40,6 +40,9 @@ #include "stat_enc.h" #include "stat_dec.h" #include "stat_com.h" +#ifdef FIX_197_CREND_INTERFACE +#include "ivas_stat_rend.h" +#endif #include "ivas_stat_enc.h" #include "ivas_stat_dec.h" #include "ivas_stat_com.h" @@ -5334,6 +5337,7 @@ int16_t ivas_get_num_bands_from_bw_idx( /*----------------------------------------------------------------------------------* * Crend renderer *----------------------------------------------------------------------------------*/ +#ifndef FIX_197_CREND_INTERFACE ivas_error ivas_crend_init_from_rom( Decoder_Struct *st_ivas /* i/o: IVAS decoder structure */ @@ -5352,6 +5356,56 @@ ivas_error ivas_crend_process( float output[][L_FRAME48k] /* i/o: input/output audio channels */ ); +#else + +IVAS_REND_AudioConfigType getAudioConfigType( + const IVAS_REND_AudioConfig config ); + +ivas_error getAudioConfigNumChannels( + const IVAS_REND_AudioConfig config, + int16_t *numChannels ); + +IVAS_REND_AudioConfig getRendAudioConfigFromIvasAudioConfig( + AUDIO_CONFIG config ); + +ivas_error ivas_rend_openCrend( + CREND_WRAPPER_HANDLE *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + RENDER_CONFIG_DATA *hRendCfg, + int16_t Opt_Headrotation, + const int32_t output_Fs ); + +ivas_error ivas_rend_initCrend( + CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + RENDER_CONFIG_DATA *hRendCfg, + const int32_t output_Fs ); + +ivas_error ivas_rend_closeCrend( + CREND_WRAPPER_HANDLE *pCrend ); + +ivas_error ivas_rend_crendProcess( + const CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + DECODER_CONFIG_HANDLE hDecoderConfig, + HEAD_TRACK_DATA_HANDLE hHeadTrackData, + IVAS_OUTPUT_SETUP_HANDLE hIntSetup, + EFAP_HANDLE hEFAPdata, + float output[][L_FRAME48k], /* i/o: input/output audio channels */ + const int32_t output_Fs ); + +ivas_error ivas_rend_crendConvolver( + const CREND_WRAPPER *pCrend, + const IVAS_REND_AudioConfig inConfig, + const IVAS_REND_AudioConfig outConfig, + float pcm_in[][L_FRAME48k], + float pcm_out[][L_FRAME48k], + const int32_t output_Fs, + const int16_t i_ts ); +#endif /*----------------------------------------------------------------------------------* * Renderer configuration diff --git a/lib_com/options.h b/lib_com/options.h index bea3e2670e..5b612b02ba 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -152,6 +152,7 @@ #define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ #define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ +#define FIX_197_CREND_INTERFACE /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ #endif diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index fa341b093f..c9c2e309ff 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -207,7 +207,11 @@ ivas_error ivas_dec( } else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_crendProcess( st_ivas->hCrendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM, st_ivas->hDecoderConfig, st_ivas->hHeadTrackData, &st_ivas->hIntSetup, NULL, output, output_Fs ); +#else ivas_crend_process( st_ivas, output ); +#endif ivas_binaural_add_LFE( st_ivas, output_frame, output ); } #ifdef DEBUGGING @@ -389,7 +393,11 @@ ivas_error ivas_dec( /* Rendering */ if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_crendProcess( st_ivas->hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hOutSetup.output_config ), st_ivas->hDecoderConfig, st_ivas->hHeadTrackData, &st_ivas->hIntSetup, st_ivas->hEFAPdata, output, output_Fs ); +#else ivas_crend_process( st_ivas, output ); +#endif ivas_binaural_add_LFE( st_ivas, output_frame, output ); } else if ( st_ivas->renderer_type == RENDERER_MC ) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 595b362223..61171b1a89 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1145,7 +1145,15 @@ ivas_error ivas_init_decoder( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { +#ifdef FIX_197_CREND_INTERFACE + if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + } + if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) +#else if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) +#endif { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); } @@ -1167,10 +1175,24 @@ ivas_error ivas_init_decoder( } else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { +#ifdef FIX_197_CREND_INTERFACE + if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->ivas_format == MC_FORMAT && st_ivas->hDecoderConfig->Opt_Headrotation ) + { + if ( ( error = efap_init_data( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth, st_ivas->hIntSetup.ls_elevation, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ) != IVAS_ERR_OK ) + { + return error; + } + } + if ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) + { + return error; + } +#else if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); } +#endif } if ( st_ivas->ivas_format == ISM_FORMAT && @@ -1474,8 +1496,12 @@ void ivas_initialize_handles_dec( st_ivas->hIsmRendererData = NULL; st_ivas->hBinRendererTd = NULL; st_ivas->hMonoDmxRenderer = NULL; +#ifdef FIX_197_CREND_INTERFACE + st_ivas->hCrendWrapper = NULL; +#else st_ivas->hCrend = NULL; st_ivas->hHrtf = NULL; +#endif st_ivas->hoa_dec_mtx = NULL; st_ivas->hHeadTrackData = NULL; @@ -1630,7 +1656,11 @@ void ivas_destroy_dec( ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); /* Crend handle */ +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ) ); +#else ivas_crend_close( st_ivas ); +#endif /* LS config converter handle */ ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 63cbbd91ad..2ad266ee9c 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -1085,7 +1085,11 @@ static ivas_error ivas_ism_bitrate_switching( ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); /* Open Crend Binaural renderer */ +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hOutSetup.output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ); +#else ivas_crend_open( st_ivas ); +#endif } } @@ -1128,12 +1132,16 @@ static ivas_error ivas_ism_bitrate_switching( ivas_dirac_dec_init_binaural_data( st_ivas ); /* close the crend binaural renderer */ +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ) ); +#else ivas_crend_close( st_ivas ); if ( st_ivas->hHrtf != NULL ) { st_ivas->hHrtf = NULL; } +#endif } } diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 14c8cc3be1..75ecc6f923 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -1034,9 +1034,17 @@ static ivas_error ivas_mc_dec_reconfig( ivas_binRenderer_close( &st_ivas->hBinRenderer ); } +#ifdef FIX_197_CREND_INTERFACE + if ( ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hCrend != NULL ) && ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD || st_ivas->hRenderConfig->roomAcoustics.late_reverb_on == 0 ) ) ) +#else if ( st_ivas->hCrend != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV && st_ivas->renderer_type != RENDERER_BINAURAL_MIXER_CONV_ROOM && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD || st_ivas->hRenderConfig->roomAcoustics.late_reverb_on == 0 ) ) ) +#endif { +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &( st_ivas->hCrendWrapper ) ); +#else ivas_crend_close( st_ivas ); +#endif } if ( st_ivas->hBinRendererTd != NULL && ( st_ivas->renderer_type != RENDERER_BINAURAL_OBJECTS_TD ) ) @@ -1084,6 +1092,19 @@ static ivas_error ivas_mc_dec_reconfig( return error; } +#ifdef FIX_197_CREND_INTERFACE + if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) + { + if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + } + if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); + } + } +#else if ( st_ivas->hCrend == NULL && st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) @@ -1091,6 +1112,17 @@ static ivas_error ivas_mc_dec_reconfig( return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); } } +#endif + } +#ifdef FIX_197_CREND_INTERFACE + else if ( st_ivas->hCrendWrapper == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) ) + { + if ( ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) + { + return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); + } + } +#else } else if ( st_ivas->hCrend == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) ) { @@ -1099,6 +1131,8 @@ static ivas_error ivas_mc_dec_reconfig( return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); } } + + #endif } /* mono/stereo */ else if ( output_config == AUDIO_CONFIG_MONO || output_config == AUDIO_CONFIG_STEREO ) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 82123af232..09060dc23b 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -169,7 +169,11 @@ ivas_error ivas_sba_dec_reinit( ivas_dirac_dec_close_binaural_data( &st_ivas->hDiracDecBin ); /* Crend handle */ +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas->hCrendWrapper ); +#else ivas_crend_close( st_ivas ); +#endif /* LS config converter handle */ ivas_ls_setup_conversion_close( &st_ivas->hLsSetUpConversion ); @@ -461,7 +465,15 @@ ivas_error ivas_sba_dec_reinit( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) { +#ifdef FIX_197_CREND_INTERFACE + if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR CrendWrapper\n" ); + } + if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) +#else if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) +#endif { return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); } @@ -483,7 +495,11 @@ ivas_error ivas_sba_dec_reinit( } else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { +#ifdef FIX_197_CREND_INTERFACE + if ( ivas_rend_openCrend( &st_ivas->hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) +#else if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) +#endif { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); } diff --git a/lib_dec/ivas_stat_dec.h b/lib_dec/ivas_stat_dec.h index c09629466d..4fceaf79f6 100644 --- a/lib_dec/ivas_stat_dec.h +++ b/lib_dec/ivas_stat_dec.h @@ -40,8 +40,11 @@ #include "ivas_cnst.h" #include "ivas_stat_com.h" #include "ivas_stat_rend.h" +#ifndef FIX_197_CREND_INTERFACE #include "common_api_types.h" // VE2AT: don't we want to avoid this include in the library? I admit that the rules hefre are not 100% clear to me but introducing it just for IVAS_QUATERNION is not necessry I think +#endif +#ifndef FIX_197_CREND_INTERFACE /*----------------------------------------------------------------------------------* * Output configuration for renderer (e.g. DirAC, MASA, Binaural Renderer...) @@ -66,7 +69,7 @@ typedef struct ivas_output_setup_structure } IVAS_OUTPUT_SETUP, *IVAS_OUTPUT_SETUP_HANDLE; - +#endif /*----------------------------------------------------------------------------------* * DFT Stereo decoder structure *----------------------------------------------------------------------------------*/ @@ -817,6 +820,7 @@ typedef struct ivas_spar_md_dec_state_t int16_t spar_hoa_md_flag; } ivas_spar_md_dec_state_t; +#ifndef FIX_197_CREND_INTERFACE /* AGC structure */ typedef struct ivas_agc_dec_chan_state_t @@ -856,6 +860,8 @@ typedef struct ivas_td_decorr_state_t } ivas_td_decorr_state_t; +#endif + /* PCA structure */ typedef struct { @@ -987,6 +993,7 @@ typedef struct mct_dec_data_structure } MCT_DEC_DATA, *MCT_DEC_HANDLE; +#ifndef FIX_197_CREND_INTERFACE /*----------------------------------------------------------------------------------* * EFAP structures @@ -1120,7 +1127,7 @@ typedef struct renderer_struct } ISM_RENDERER_DATA, *ISM_RENDERER_HANDLE; - +#endif /*----------------------------------------------------------------------------------* * MASA decoder structures *----------------------------------------------------------------------------------*/ @@ -1175,6 +1182,7 @@ typedef struct ivas_masa_decoder_struct } MASA_DECODER, *MASA_DECODER_HANDLE; +#ifndef FIX_197_CREND_INTERFACE /*----------------------------------------------------------------------------------* * Binaural Rendering structure @@ -1815,7 +1823,7 @@ typedef struct decoder_config_structure } DECODER_CONFIG, *DECODER_CONFIG_HANDLE; - +#endif /*----------------------------------------------------------------------------------* * * Main IVAS decoder structure @@ -1889,8 +1897,12 @@ typedef struct Decoder_Struct EFAP_HANDLE hEFAPdata; /* EFAP structure */ VBAP_HANDLE hVBAPdata; /* VBAP structure */ MONO_DOWNMIX_RENDERER_HANDLE hMonoDmxRenderer; /* Mono downmix structure */ +#ifdef FIX_197_CREND_INTERFACE + CREND_WRAPPER_HANDLE hCrendWrapper; +#else CREND_HANDLE hCrend; /* Convolution mixer renderer structure */ HRTFS_HANDLE hHrtf; /* HRTFs handle */ +#endif LSSETUP_CUSTOM_HANDLE hLsSetupCustom; /* Custom LS configuration handle */ float *hoa_dec_mtx; /* Pointer to decoder matrix for SBA */ HEAD_TRACK_DATA_HANDLE hHeadTrackData; /* Head tracking data structure */ diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index be2a8193c8..ed98cb764a 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -791,7 +791,11 @@ void ivas_binaural_add_LFE( if ( render_lfe ) { +#ifdef FIX_197_CREND_INTERFACE + gain = ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hHrtfCrend != NULL ) ? st_ivas->hCrendWrapper->hHrtfCrend->gain_lfe : GAIN_LFE; +#else gain = st_ivas->hHrtf != NULL ? st_ivas->hHrtf->gain_lfe : GAIN_LFE; +#endif for ( idx_lfe = 0; idx_lfe < st_ivas->hIntSetup.num_lfe; idx_lfe++ ) { v_multc( output_f[st_ivas->hIntSetup.index_lfe[idx_lfe]], gain, output_f[st_ivas->hIntSetup.index_lfe[idx_lfe]], output_frame ); diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 41c60261f7..cf1d0ea098 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -39,8 +39,13 @@ #include "ivas_stat_dec.h" #include <math.h> #include "ivas_rom_binaural_crend_head.h" +#ifdef FIX_197_CREND_INTERFACE +#include "ivas_stat_rend.h" +#include "lib_rend.h" +#else #include "lib_rend.h" #include "ivas_lib_rend_internal.h" +#endif #ifdef DEBUGGING #include "debug.h" #endif @@ -163,7 +168,12 @@ ivas_error ivas_crend_init_from_rom( AUDIO_CONFIG intern_config; HRTFS_HANDLE hHrtf; +#ifdef FIX_197_CREND_INTERFACE + hHrtf = st_ivas->hCrendWrapper->hHrtfCrend; +#else hHrtf = st_ivas->hHrtf; +#endif + output_Fs = st_ivas->hDecoderConfig->output_Fs; intern_config = st_ivas->intern_config; @@ -635,12 +645,16 @@ ivas_error ivas_crend_init_from_rom( return IVAS_ERROR( IVAS_ERR_INTERNAL, "Unsupported renderer type in Crend" ); } +#ifdef FIX_197_CREND_INTERFACE + st_ivas->hCrendWrapper->hHrtfCrend = hHrtf; +#else st_ivas->hHrtf = hHrtf; +#endif return IVAS_ERR_OK; } - +#ifndef FIX_197_CREND_INTERFACE /*------------------------------------------------------------------------- * ivas_crend_open() * @@ -803,7 +817,9 @@ ivas_error ivas_crend_open( return error; } +#endif +#ifndef FIX_197_CREND_INTERFACE /*------------------------------------------------------------------------- * ivas_crend_close() @@ -882,7 +898,9 @@ ivas_error ivas_crend_close( return IVAS_ERR_OK; } +#endif +#ifndef FIX_197_CREND_INTERFACE /*-----------------------------------------------------------------------------------------* * Function ivas_crend_convolver() @@ -1020,7 +1038,9 @@ static ivas_error ivas_crend_convolver( return IVAS_ERR_OK; } +#endif +#ifndef FIX_197_CREND_INTERFACE /*-----------------------------------------------------------------------------------------* * Function ivas_crend_process() @@ -1121,7 +1141,7 @@ ivas_error ivas_crend_process( return IVAS_ERR_OK; } - +#endif /*------------------------------------------------------------------------- * ivas_rend_openCrend() @@ -1130,10 +1150,17 @@ ivas_error ivas_crend_process( *------------------------------------------------------------------------*/ ivas_error ivas_rend_openCrend( +#ifdef FIX_197_CREND_INTERFACE + CREND_WRAPPER_HANDLE *pCrend, +#else CREND_WRAPPER *pCrend, +#endif const IVAS_REND_AudioConfig inConfig, const IVAS_REND_AudioConfig outConfig, RENDER_CONFIG_DATA *hRendCfg, +#ifdef FIX_197_CREND_INTERFACE + int16_t Opt_Headrotation, +#endif const int32_t output_Fs ) { /* TODO tmu : Based on ivas_crend_open() - could be harmonized / refactored */ @@ -1144,8 +1171,36 @@ ivas_error ivas_rend_openCrend( ivas_error error; error = IVAS_ERR_OK; + +#ifdef FIX_197_CREND_INTERFACE + if ( pCrend == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + } + + if ( *pCrend == NULL ) + { + if ( ( *pCrend = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) + { + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + } + ( *pCrend )->binaural_latency_ns = 0; + ( *pCrend )->hCrend = NULL; + ( *pCrend )->hHrtfCrend = NULL; + } +#endif + subframe_length = (int16_t) ( output_Fs / FRAMES_PER_SEC ) / MAX_PARAM_SPATIAL_SUBFRAMES; +#ifdef FIX_197_CREND_INTERFACE + if ( ( *pCrend )->hHrtfCrend == NULL ) + { + if ( ( error = ivas_rend_initCrend( *pCrend, inConfig, outConfig, hRendCfg, output_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } + } +#else if ( pCrend->hHrtfCrend == NULL ) { if ( ( error = ivas_rend_initCrend( pCrend, inConfig, outConfig, hRendCfg, output_Fs ) ) != IVAS_ERR_OK ) @@ -1153,6 +1208,7 @@ ivas_error ivas_rend_openCrend( return error; } } +#endif if ( ( hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { @@ -1182,7 +1238,11 @@ ivas_error ivas_rend_openCrend( hCrend->m_fPitch = 0; hCrend->m_fRoll = 0; +#ifdef FIX_197_CREND_INTERFACE + hHrtf = ( *pCrend )->hHrtfCrend; +#else hHrtf = pCrend->hHrtfCrend; +#endif if ( hHrtf != NULL ) { @@ -1247,8 +1307,11 @@ ivas_error ivas_rend_openCrend( { hCrend->lfe_delay_line = NULL; } - +#ifdef FIX_197_CREND_INTERFACE + if ( Opt_Headrotation ) +#else if ( false ) /* TODO tmu : check renderer headrotation flag */ +#endif { if ( ( hCrend->hTrack = (ivas_orient_trk_state_t *) malloc( sizeof( ivas_orient_trk_state_t ) ) ) == NULL ) { @@ -1266,7 +1329,11 @@ ivas_error ivas_rend_openCrend( { if ( ( error = ivas_reverb_open( &( hCrend->hReverb ), getIvasAudioConfigFromRendAudioConfig( inConfig ), +#ifdef FIX_197_CREND_INTERFACE + ( *pCrend )->hHrtfCrend, +#else pCrend->hHrtfCrend, +#endif hRendCfg, output_Fs ) ) != IVAS_ERR_OK ) { @@ -1278,10 +1345,18 @@ ivas_error ivas_rend_openCrend( hCrend->hReverb = NULL; } +#ifdef FIX_197_CREND_INTERFACE + ( *pCrend )->binaural_latency_ns = (int32_t) ( ( *pCrend )->hHrtfCrend->latency_s * 1000000000.f ); +#else pCrend->binaural_latency_ns = (int32_t) ( pCrend->hHrtfCrend->latency_s * 1000000000.f ); +#endif } +#ifdef FIX_197_CREND_INTERFACE + ( *pCrend )->hCrend = hCrend; +#else pCrend->hCrend = hCrend; +#endif return IVAS_ERR_OK; } @@ -1679,10 +1754,88 @@ ivas_error ivas_rend_initCrend( *------------------------------------------------------------------------*/ ivas_error ivas_rend_closeCrend( +#ifdef FIX_197_CREND_INTERFACE + CREND_WRAPPER_HANDLE *pCrend ) +#else CREND_WRAPPER *pCrend ) +#endif { int16_t i; +#ifdef FIX_197_CREND_INTERFACE + if ( pCrend == NULL ) + { + return IVAS_ERR_OK; + } + + if ( *pCrend == NULL ) + { + return IVAS_ERR_OK; + } + + if ( ( *pCrend )->hHrtfCrend != NULL ) + { + ivas_hrtf_close( &( *pCrend )->hHrtfCrend ); + } + + if ( ( *pCrend )->hCrend != NULL ) + { + + for ( i = 0; i < MAX_INTERN_CHANNELS; i++ ) + { + if ( ( *pCrend )->hCrend->freq_buffer_re[i] != NULL ) + { + free( ( *pCrend )->hCrend->freq_buffer_re[i] ); + ( *pCrend )->hCrend->freq_buffer_re[i] = NULL; + } + if ( ( *pCrend )->hCrend->freq_buffer_im[i] != NULL ) + { + free( ( *pCrend )->hCrend->freq_buffer_im[i] ); + ( *pCrend )->hCrend->freq_buffer_im[i] = NULL; + } + } + + for ( i = 0; i < BINAURAL_CHANNELS; i++ ) + { + if ( ( *pCrend )->hCrend->prev_out_buffer[i] != NULL ) + { + free( ( *pCrend )->hCrend->prev_out_buffer[i] ); + ( *pCrend )->hCrend->prev_out_buffer[i] = NULL; + } + } + + if ( ( *pCrend )->hCrend->lfe_delay_line != NULL ) + { + free( ( *pCrend )->hCrend->lfe_delay_line ); + ( *pCrend )->hCrend->lfe_delay_line = NULL; + } + + if ( ( *pCrend )->hCrend->freq_buffer_re_diffuse != NULL ) + { + free( ( *pCrend )->hCrend->freq_buffer_re_diffuse ); + ( *pCrend )->hCrend->freq_buffer_re_diffuse = NULL; + } + + if ( ( *pCrend )->hCrend->freq_buffer_im_diffuse != NULL ) + { + free( ( *pCrend )->hCrend->freq_buffer_im_diffuse ); + ( *pCrend )->hCrend->freq_buffer_im_diffuse = NULL; + } + + if ( ( *pCrend )->hCrend->hTrack != NULL ) + { + free( ( *pCrend )->hCrend->hTrack ); + ( *pCrend )->hCrend->hTrack = NULL; + } + + ivas_reverb_close( &( *pCrend )->hCrend->hReverb ); + + free( ( *pCrend )->hCrend ); + ( *pCrend )->hCrend = NULL; + free( *pCrend ); + *pCrend = NULL; + } +#else if ( pCrend->hHrtfCrend != NULL ) { ivas_hrtf_close( &pCrend->hHrtfCrend ); @@ -1743,7 +1896,7 @@ ivas_error ivas_rend_closeCrend( free( pCrend->hCrend ); pCrend->hCrend = NULL; } - +#endif return IVAS_ERR_OK; } @@ -1757,10 +1910,20 @@ ivas_error ivas_rend_crendProcess( const CREND_WRAPPER *pCrend, const IVAS_REND_AudioConfig inConfig, const IVAS_REND_AudioConfig outConfig, +#ifdef FIX_197_CREND_INTERFACE + DECODER_CONFIG_HANDLE hDecoderConfig, + HEAD_TRACK_DATA_HANDLE hHeadTrackData, + IVAS_OUTPUT_SETUP_HANDLE hIntSetup, + EFAP_HANDLE hEFAPdata, +#endif float output[][L_FRAME48k], /* i/o: input/output audio channels */ const int32_t output_Fs ) { +#ifdef FIX_197_CREND_INTERFACE + int16_t i, subframe_idx, output_frame, subframe_len; +#else int16_t i, subframe_idx, output_frame; +#endif int16_t nchan_out; float pcm_tmp[BINAURAL_CHANNELS][L_FRAME48k]; AUDIO_CONFIG in_config; @@ -1773,9 +1936,49 @@ ivas_error ivas_rend_crendProcess( inConfigType = getAudioConfigType( inConfig ); getAudioConfigNumChannels( outConfig, &nchan_out ); output_frame = (int16_t) ( output_Fs / FRAMES_PER_SEC ); - +#ifdef FIX_197_CREND_INTERFACE + subframe_len = output_frame / MAX_PARAM_SPATIAL_SUBFRAMES; +#endif for ( subframe_idx = 0; subframe_idx < MAX_PARAM_SPATIAL_SUBFRAMES; subframe_idx++ ) { +#ifdef FIX_197_CREND_INTERFACE + if ( hDecoderConfig && hDecoderConfig->Opt_Headrotation && hHeadTrackData && hHeadTrackData->num_quaternions >= 0 ) + { + /* Orientation tracking */ + if ( pCrend->hCrend->hTrack != NULL ) + { + if ( hDecoderConfig->orientation_tracking == IVAS_ORIENT_TRK_AVG ) + { + ivas_orient_trk_SetTrackingType( pCrend->hCrend->hTrack, OTR_TRACKING_AVG_ORIENT ); + } + else + { + ivas_orient_trk_SetTrackingType( pCrend->hCrend->hTrack, OTR_TRACKING_REF_ORIENT ); + } + + /* get current subframe quaternion and convert to euler angles */ + Quat2Euler( hHeadTrackData->Quaternions[subframe_idx], &( pCrend->hCrend->m_fYaw ), &( pCrend->hCrend->m_fPitch ), &( pCrend->hCrend->m_fRoll ) ); + ivas_orient_trk_SetAbsoluteOrientation( pCrend->hCrend->hTrack, pCrend->hCrend->m_fYaw, pCrend->hCrend->m_fPitch, pCrend->hCrend->m_fRoll ); + ivas_orient_trk_Process( pCrend->hCrend->hTrack ); + ivas_orient_trk_GetTrackedOrientation( pCrend->hCrend->hTrack, &( pCrend->hCrend->m_fYaw ), &( pCrend->hCrend->m_fPitch ), &( pCrend->hCrend->m_fRoll ) ); + } + + /* Rotation in SHD for: + MC with elevation (5_1_2 / 5_1_4 / 7_1_4) -> BINAURAL + SBA SPAR -> BINAURAL or BINAURAL_ROOM + */ + if ( in_config == AUDIO_CONFIG_FOA || in_config == AUDIO_CONFIG_HOA2 || in_config == AUDIO_CONFIG_HOA3 ) + { + rotateFrame_shd( hHeadTrackData, output, subframe_len, *hIntSetup, subframe_idx ); + } + /* Rotation in SD for MC -> BINAURAL_ROOM */ + else if ( ( hIntSetup != NULL ) && hIntSetup->is_loudspeaker_setup ) + { + rotateFrame_sd( hHeadTrackData, output, subframe_len, *hIntSetup, hEFAPdata, subframe_idx ); + } + } +#endif + if ( ( inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) || ( inConfigType == IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS ) ) { if ( ( error = ivas_rend_crendConvolver( pCrend, inConfig, outConfig, output, pcm_tmp, output_Fs, subframe_idx ) ) != IVAS_ERR_OK ) diff --git a/lib_rend/ivas_lib_rend_internal.h b/lib_rend/ivas_lib_rend_internal.h index c779916703..3d784d9bb3 100644 --- a/lib_rend/ivas_lib_rend_internal.h +++ b/lib_rend/ivas_lib_rend_internal.h @@ -31,12 +31,17 @@ *******************************************************************************************************/ #include "ivas_error.h" +#ifdef FIX_197_CREND_INTERFACE +#include "ivas_stat_rend.h" +#else #include "lib_rend.h" +#endif #include "ivas_stat_dec.h" #ifndef IVAS_LIB_REND_INTERNALS_H #define IVAS_LIB_REND_INTERNALS_H +#ifndef FIX_197_CREND_INTERFACE typedef struct { int8_t headRotEnabled; @@ -100,6 +105,7 @@ ivas_error ivas_rend_crendConvolver( float pcm_out[][L_FRAME48k], const int32_t output_Fs, const int16_t i_ts ); +#endif ivas_error ivas_rend_TDObjRenderFrame( const TDREND_WRAPPER *pTDRend, /* i : TD Renderer wrapper structure */ diff --git a/lib_rend/ivas_objectRenderer.c b/lib_rend/ivas_objectRenderer.c index 3aad7fe5a0..10617d3c62 100644 --- a/lib_rend/ivas_objectRenderer.c +++ b/lib_rend/ivas_objectRenderer.c @@ -245,7 +245,11 @@ void ObjRenderIVASFrame( if ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on && ( st_ivas->ini_frame == 0 ) ) { +#ifdef FIX_197_CREND_INTERFACE + ivas_reverb_open( &st_ivas->hCrendWrapper->hCrend->hReverb, st_ivas->transport_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ); +#else ivas_reverb_open( &st_ivas->hCrend->hReverb, st_ivas->transport_config, NULL, st_ivas->hRenderConfig, st_ivas->hDecoderConfig->output_Fs ); +#endif } } @@ -261,7 +265,11 @@ void ObjRenderIVASFrame( if ( ( st_ivas->hRenderConfig != NULL ) && ( st_ivas->hRenderConfig->roomAcoustics.late_reverb_on ) ) { +#ifdef FIX_197_CREND_INTERFACE + ivas_reverb_process( st_ivas->hCrendWrapper->hCrend->hReverb, st_ivas->transport_config, 0, output, reverb_signal, subframe_idx ); +#else ivas_reverb_process( st_ivas->hCrend->hReverb, st_ivas->transport_config, 0, output, reverb_signal, subframe_idx ); +#endif } /* Render subframe */ diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index a38b8d96c1..fe247287ce 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -34,10 +34,962 @@ #define IVAS_STAT_REND_H #include <stdint.h> +#ifdef FIX_197_CREND_INTERFACE +#include "cnst.h" #include "ivas_cnst.h" +#include "ivas_stat_com.h" +#include "common_api_types.h" // VE2AT: don't we want to avoid this include in the library? I admit that the rules hefre are not 100% clear to me but introducing it just for IVAS_QUATERNION is not necessry I think +#endif #define MAX_SPEAKERS 12 /* Max number of speakers (including LFE) in a channel-based config */ + +#ifdef FIX_197_CREND_INTERFACE + +#define RENDERER_HEAD_POSITIONS_PER_FRAME 4 // todo (Marc) -> renanr IVAS_RENDERER_HEAD_POSITIONS_PER_FRAME ? + +typedef struct +{ + int16_t numSamplesPerChannel; + int16_t numChannels; +} IVAS_REND_AudioBufferConfig; + +typedef struct +{ + IVAS_REND_AudioBufferConfig config; + float *data; +} IVAS_REND_AudioBuffer; + +typedef struct +{ + IVAS_REND_AudioBufferConfig config; + const float *data; +} IVAS_REND_ReadOnlyAudioBuffer; + +typedef struct +{ + float azimuth; + float elevation; +} IVAS_REND_AudioObjectPosition; + +typedef struct IVAS_REND *IVAS_REND_HANDLE; +typedef struct IVAS_REND const *IVAS_REND_CONST_HANDLE; + +typedef enum +{ + IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED = 0, + IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS, + IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED, + IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL, + IVAS_REND_AUDIO_CONFIG_TYPE_MASA, + IVAS_REND_AUDIO_CONFIG_TYPE_UNKNOWN, +} IVAS_REND_AudioConfigType; + +/* TODO(sgi): Harmonize with AUDIO_CONFIG */ +/* + Note: numerical values carry specific information here. + + MSB LSB + -------------------------------------------------------------------------------- + ... unused (assumed all 0) ... | config type (1 byte) | config variant (1 byte) | + -------------------------------------------------------------------------------- + + Where "config type" is the general type from the following list: + - unknown + - channel-based + - ambisonics + - object-based + - binaural + - MASA + + Config variants are concrete configs of each type. + */ +typedef enum +{ + IVAS_REND_AUDIO_CONFIG_MONO = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 0, + IVAS_REND_AUDIO_CONFIG_STEREO = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 1, + IVAS_REND_AUDIO_CONFIG_5_1 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 2, + IVAS_REND_AUDIO_CONFIG_7_1 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 3, + IVAS_REND_AUDIO_CONFIG_5_1_2 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 4, + IVAS_REND_AUDIO_CONFIG_5_1_4 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 5, + IVAS_REND_AUDIO_CONFIG_7_1_4 = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 6, + IVAS_REND_AUDIO_CONFIG_LS_CUSTOM = IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED << 8 | 255, + + IVAS_REND_AUDIO_CONFIG_FOA = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 0, + IVAS_REND_AUDIO_CONFIG_HOA2 = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 1, + IVAS_REND_AUDIO_CONFIG_HOA3 = IVAS_REND_AUDIO_CONFIG_TYPE_AMBISONICS << 8 | 2, + + IVAS_REND_AUDIO_CONFIG_OBJECT = IVAS_REND_AUDIO_CONFIG_TYPE_OBJECT_BASED << 8 | 0, + + IVAS_REND_AUDIO_CONFIG_BINAURAL = IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL << 8 | 0, + IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM = IVAS_REND_AUDIO_CONFIG_TYPE_BINAURAL << 8 | 1, + + IVAS_REND_AUDIO_CONFIG_MASA1 = IVAS_REND_AUDIO_CONFIG_TYPE_MASA << 8 | 0, + IVAS_REND_AUDIO_CONFIG_MASA2 = IVAS_REND_AUDIO_CONFIG_TYPE_MASA << 8 | 1, + + IVAS_REND_AUDIO_CONFIG_UNKNOWN = IVAS_REND_AUDIO_CONFIG_TYPE_UNKNOWN << 8 | 0, +} IVAS_REND_AudioConfig; + +typedef uint16_t IVAS_REND_InputId; + +typedef struct +{ + int16_t numLfeChannels; + float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; +} IVAS_REND_LfeRouting; + +typedef struct +{ + int8_t headRotEnabled; + IVAS_QUATERNION headPositions[RENDERER_HEAD_POSITIONS_PER_FRAME]; + float crossfade[L_FRAME48k / RENDERER_HEAD_POSITIONS_PER_FRAME]; +} IVAS_REND_HeadRotData; + +/*----------------------------------------------------------------------------------* + * Binaural Rendering structure + *----------------------------------------------------------------------------------*/ +// VE2AT: move to ivas_rom_rend.h ? +/* Binaural reverberator structure */ +typedef struct ivas_binaural_reverb_struct +{ + float *loopBufReal[CLDFB_NO_CHANNELS_MAX]; + float *loopBufImag[CLDFB_NO_CHANNELS_MAX]; + float preDelayBufferReal[REVERB_PREDELAY_MAX + 1][CLDFB_NO_CHANNELS_MAX]; + float preDelayBufferImag[REVERB_PREDELAY_MAX + 1][CLDFB_NO_CHANNELS_MAX]; + float **tapPointersReal[CLDFB_NO_CHANNELS_MAX][BINAURAL_CHANNELS]; + float **tapPointersImag[CLDFB_NO_CHANNELS_MAX][BINAURAL_CHANNELS]; + + float binauralCoherenceCrossmixGains[CLDFB_NO_CHANNELS_MAX]; + float binauralCoherenceDirectGains[CLDFB_NO_CHANNELS_MAX]; + float reverbEqGains[CLDFB_NO_CHANNELS_MAX]; + float loopAttenuationFactor[CLDFB_NO_CHANNELS_MAX]; + + float *outputBufferReal[CLDFB_NO_CHANNELS_MAX][BINAURAL_CHANNELS]; + float *outputBufferImag[CLDFB_NO_CHANNELS_MAX][BINAURAL_CHANNELS]; + + int16_t numBins; + + int16_t useBinauralCoherence; + int16_t loopBufLength[CLDFB_NO_CHANNELS_MAX]; + int16_t loopBufLengthMax[CLDFB_NO_CHANNELS_MAX]; + int16_t preDelayBufferIndex; + int16_t preDelayBufferLength; + + int16_t taps[CLDFB_NO_CHANNELS_MAX][BINAURAL_CHANNELS]; + int16_t *tapPhaseShiftType[CLDFB_NO_CHANNELS_MAX][BINAURAL_CHANNELS]; + + int16_t blockSize; + uint32_t binRend_RandNext; + int16_t highestBinauralCoherenceBin; + + float dmxmtx[BINAURAL_CHANNELS][MAX_OUTPUT_CHANNELS]; + float foa_enc[MAX_OUTPUT_CHANNELS][FOA_CHANNELS]; + +} REVERB_STRUCT, *REVERB_STRUCT_HANDLE; + +/* AGC structure */ +typedef struct ivas_agc_dec_chan_state_t +{ + float lastGain; + int16_t gainExpVal; + +} ivas_agc_dec_chan_state_t; + +typedef struct ivas_agc_dec_state_t +{ + ivas_agc_com_state_t agc_com; + ivas_agc_dec_chan_state_t *gain_state; + ivas_agc_chan_data_t *gain_data; + +} ivas_agc_dec_state_t; + +/* TD decorr */ +typedef struct ivas_td_decorr_APD_filt_state_t +{ + int16_t order[IVAS_MAX_DECORR_APD_SECTIONS]; + int16_t idx[IVAS_MAX_DECORR_APD_SECTIONS]; + float coeffs[IVAS_MAX_DECORR_APD_SECTIONS]; + float *state[IVAS_MAX_DECORR_APD_SECTIONS]; + +} ivas_td_decorr_APD_filt_state_t; + +typedef struct ivas_td_decorr_state_t +{ + ivas_trans_det_state_t *pTrans_det; + float *look_ahead_buf; + ivas_td_decorr_APD_filt_state_t APD_filt_state[IVAS_MAX_DECORR_CHS]; + + int16_t num_apd_outputs; + int16_t num_apd_sections; + int16_t ducking_flag; + +} ivas_td_decorr_state_t; + +/* Parametric binaural data structure */ +typedef struct ivas_dirac_dec_binaural_data_structure +{ + float ChEnePrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float ChCrossRePrev[CLDFB_NO_CHANNELS_MAX]; + float ChCrossImPrev[CLDFB_NO_CHANNELS_MAX]; + float ChEne[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float ChCrossRe[CLDFB_NO_CHANNELS_MAX]; + float ChCrossIm[CLDFB_NO_CHANNELS_MAX]; + float ChEneOutPrev[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float ChCrossReOutPrev[CLDFB_NO_CHANNELS_MAX]; + float ChCrossImOutPrev[CLDFB_NO_CHANNELS_MAX]; + float ChEneOut[BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float ChCrossReOut[CLDFB_NO_CHANNELS_MAX]; + float ChCrossImOut[CLDFB_NO_CHANNELS_MAX]; + float processMtxRe[BINAURAL_CHANNELS][BINAURAL_CHANNELS + 1][CLDFB_NO_CHANNELS_MAX]; /* +1 refers to SeparateChannel */ + float processMtxIm[BINAURAL_CHANNELS][BINAURAL_CHANNELS + 1][CLDFB_NO_CHANNELS_MAX]; + float processMtxDecRe[BINAURAL_CHANNELS][BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float processMtxDecIm[BINAURAL_CHANNELS][BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float diffuseFieldCoherence[CLDFB_NO_CHANNELS_MAX]; + float diffuseFieldCoherenceX[BINAURAL_COHERENCE_DIFFERENCE_BINS]; + float diffuseFieldCoherenceY[BINAURAL_COHERENCE_DIFFERENCE_BINS]; + float diffuseFieldCoherenceZ[BINAURAL_COHERENCE_DIFFERENCE_BINS]; + float earlyPartEneCorrection[CLDFB_NO_CHANNELS_MAX]; + REVERB_STRUCT_HANDLE hReverb; + uint8_t renderStereoOutputInsteadOfBinaural; + float frameMeanDiffuseness[CLDFB_NO_CHANNELS_MAX]; + float processMtxRePrev[BINAURAL_CHANNELS][BINAURAL_CHANNELS + 1][CLDFB_NO_CHANNELS_MAX]; + float processMtxImPrev[BINAURAL_CHANNELS][BINAURAL_CHANNELS + 1][CLDFB_NO_CHANNELS_MAX]; + float processMtxDecRePrev[BINAURAL_CHANNELS][BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + float processMtxDecImPrev[BINAURAL_CHANNELS][BINAURAL_CHANNELS][CLDFB_NO_CHANNELS_MAX]; + uint16_t useSubframeMode; /* 0 = process in 20 ms frames, 1 = process in 5 ms subframes */ + uint16_t useTdDecorr; + ivas_td_decorr_state_t *hTdDecorr; + +} DIRAC_DEC_BIN_DATA, *DIRAC_DEC_BIN_HANDLE; + +typedef struct ivas_binaural_rendering_conv_module_struct +{ + float ***filterTapsLeftReal; + float ***filterTapsLeftImag; + float ***filterTapsRightReal; + float ***filterTapsRightImag; + + float ***filterStatesLeftReal; + float ***filterStatesLeftImag; + + int16_t numTapsArray[BINAURAL_CONVBANDS]; + int16_t numTaps; + +} BINRENDERER_CONV_MODULE, *BINRENDERER_CONV_MODULE_HANDLE; + +/*----------------------------------------------------------------------------------* + * Output configuration for renderer (e.g. DirAC, MASA, Binaural Renderer...) + *----------------------------------------------------------------------------------*/ +typedef struct ivas_output_setup_structure +{ + AUDIO_CONFIG output_config; + int16_t nchan_out_woLFE; /* number of output audio channels without LFE */ + int16_t ambisonics_order; + int8_t is_loudspeaker_setup; + int8_t is_planar_setup; + int8_t is_binaural_setup; + + int16_t num_lfe; + int16_t index_lfe[1]; + const float *ls_azimuth; + const float *ls_elevation; + + uint8_t separateChannelEnabled; + int16_t separateChannelIndex; + +} IVAS_OUTPUT_SETUP, *IVAS_OUTPUT_SETUP_HANDLE; + +/*----------------------------------------------------------------------------------* + * EFAP structures + *----------------------------------------------------------------------------------*/ +// VE2AT: move to ivas_rom_rend.h ? +typedef struct EFAP_VERTEX +{ + float azi; /* azimuth of the loudspeaker */ + float ele; /* elevation of the loudspeaker */ + float pos[3]; /* [x y z] cartesian coordinate vector */ + int16_t idx; /* integer, that corresponds to the first index for the LS in the 1D output */ + int16_t isNaN; /* used to indicate if the vertex is a virtual speaker */ + EFAP_VTX_DMX_TYPE dmxType; /* virtual speaker downmix type */ + +} EFAP_VERTEX; + +typedef struct EFAP_VERTEX_DATA +{ + EFAP_VERTEX *vertexArray; /* Array of vertices */ + int16_t numVtx; /* Number of vertices */ + int16_t *vtxOrder; /* Array that indicates the order of the vertex ranked by increasing azimuth */ + +} EFAP_VERTEX_DATA; + +typedef struct EFAP_POLYSET +{ + int16_t chan[EFAP_MAX_CHAN_NUM]; /* An array indicating the loudspeaker index of the polygon vertices */ + int16_t isNaN[EFAP_MAX_CHAN_NUM]; /* Indicates if one of the vertices isNaN */ + int16_t numChan; /* An integer between 0 and EFAP_MAX_CHAN_NUM corresponding to the number of vertices of the polygon */ + float polyAzi[EFAP_MAX_CHAN_NUM]; /* An array (same length as "chan"), with the azimuth of the channels */ + float polyEle[EFAP_MAX_CHAN_NUM]; /* An array (same length as "chan"), with the elevation of the channels */ + +} EFAP_POLYSET; + +typedef struct EFAP_LS_TRIANGLE +{ + int16_t LS[3]; /* Array indicating the loudspeaker index of the triangle vertices */ + +} EFAP_LS_TRIANGLE; + +typedef struct EFAP_POLYSET_DATA +{ + EFAP_POLYSET polysetArray[EFAP_MAX_POLY_SET]; /* Array of polygons */ + int16_t numPoly; /* Number of polygons */ + EFAP_LS_TRIANGLE triArray[EFAP_MAX_POLY_SET]; /* Array of triangles */ + int16_t numTri; /* Number of triangles */ + +} EFAP_POLYSET_DATA; + +typedef struct EFAP +{ + int16_t numSpk; /* Number of loudspeakers */ + float *aziSpk; /* Loudspeaker azimuths */ + float *eleSpk; /* Loudspeaker elevations */ + EFAP_VERTEX_DATA vtxData; /* Vertex Data, contains all the data concerning the vertex */ + EFAP_POLYSET_DATA polyData; /* Polygon data */ + float **dmTranspose; /* Downmix Matrix used for redistributing the energy of ghosts LS and its transpose */ + float *bufferLong; /* tmp buffer that will be given as a parameter for computing the gain; this is a 1D array of length numVtx */ + float *bufferShort; /* tmp buffer that will be given as a parameter for computing the gain; this is the result of downMixMatrix*bufferLong, length is numSpk */ + int16_t numTot; /* Total number of real + ghost loudspeakers, used later for freeing memory */ + +} EFAP, *EFAP_HANDLE; + + +/*----------------------------------------------------------------------------------* + * VBAP structures + *----------------------------------------------------------------------------------*/ +// VE2AT: move to ivas_rom_rend.h ? +enum SpeakerNodeGroup +{ + SPEAKER_NODE_BOTTOM_HALF, + SPEAKER_NODE_HORIZONTAL, + SPEAKER_NODE_TOP_HALF, + SPEAKER_NODE_BACK, + SPEAKER_NODE_ALL +}; + +/* Defines a single virtual surface triplet of loudspeakers + * with a precalculated inverse matrix */ +typedef struct vbap_vs_triplet_structure +{ + uint8_t speaker_node[3]; + float inverse_matrix[3][3]; + +} VBAP_VS_TRIPLET; + +/* Defines a single speaker node */ +typedef struct vbap_speaker_node_structure +{ + float azi_deg; + float ele_deg; + float unit_vec[3]; + enum SpeakerNodeGroup group; + +} VBAP_SPEAKER_NODE; + +/* Storage structure for fast runtime triplet search */ +typedef struct triplet_search_structure +{ + VBAP_VS_TRIPLET *triplets; + int16_t num_triplets; + int16_t initial_search_indices[VBAP_NUM_SEARCH_SECTORS]; + +} VBAP_SEARCH_STRUCT; + +/* VBAP data structure. Contains the formed virtual surface arrangement * and supporting data. */ +typedef struct vbap_data_structure +{ + VBAP_SEARCH_STRUCT search_struct[2]; /* Default to max two groups in this implementation */ + int16_t num_search_structs; + int16_t num_speaker_nodes; + int16_t num_speaker_nodes_internal; + int16_t top_virtual_speaker_node_index; /* These indices can be negative */ + int16_t bottom_virtual_speaker_node_index; + int16_t back_virtual_speaker_node_index; + float *bottom_virtual_speaker_node_division_gains; + float *top_virtual_speaker_node_division_gains; + float *back_virtual_speaker_node_division_gains; + +} VBAP_DATA, *VBAP_HANDLE; + + +/*----------------------------------------------------------------------------------* + * renderer structures + *----------------------------------------------------------------------------------*/ +// VE2AT: move to ivas_rom_rend.h ? +typedef struct renderer_struct +{ + float prev_gains[MAX_CICP_CHANNELS - 1][MAX_OUTPUT_CHANNELS]; + float interpolator[L_FRAME48k]; + +} ISM_RENDERER_DATA, *ISM_RENDERER_HANDLE; + +/* Fastconv binaural data structure */ +typedef struct ivas_binaural_rendering_struct +{ + /* Common variables for all modules */ + IVAS_OUTPUT_SETUP_HANDLE hInputSetup; /* pointer to input spatial format for binaural renderer*/ + EFAP_HANDLE hEFAPdata; /* EFAP structure*/ + float *hoa_dec_mtx; /* pointer to HOA decoder mtx */ + int8_t rotInCldfb; /* Flag to enable rotation within bin Renderer in CLDFB*/ + int16_t max_band; /* band upto which rendering is performed */ + int16_t conv_band; /* band upto which convolution in cldfb domain is performed */ + int16_t timeSlots; /* number of time slots of binaural renderer */ + int16_t nInChannels; /* number input channels */ + int8_t render_lfe; /* Flag to render LFE in binaural rendering*/ + IVAS_FORMAT ivas_format; /* format; corresponds to st_ivas->ivas_format, unless the signal gets transormed to a different domain for rendering */ + + /* Convolution module structure */ + BINRENDERER_CONV_MODULE_HANDLE hBinRenConvModule; + + /* Variables related to reverb module */ + float earlyPartEneCorrection[CLDFB_NO_CHANNELS_MAX]; + REVERB_STRUCT_HANDLE hReverb; + +} BINAURAL_RENDERER, *BINAURAL_RENDERER_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Head tracking data structure + *----------------------------------------------------------------------------------*/ +// VE2AT: move to ivas_rom_rend.h ? + +typedef struct ivas_binaural_head_track_struct +{ + int16_t num_quaternions; + IVAS_QUATERNION Quaternions[MAX_PARAM_SPATIAL_SUBFRAMES]; + float Rmat[3][3]; + float Rmat_prev[3][3]; + + uint8_t lrSwitchedNext; + uint8_t lrSwitchedCurrent; + float lrSwitchInterpVal; + + int16_t shd_rot_max_order; + +} HEAD_TRACK_DATA, *HEAD_TRACK_DATA_HANDLE; + +/* Reverberator structures */ + + +typedef struct ivas_roomAcoustics_t +{ + int16_t override; + int16_t use_brir; + int16_t late_reverb_on; + int16_t nBands; /* Number of frequency bands for which reverb properties are provided, integer, range [2..256] */ + float pFc_input[CLDFB_NO_CHANNELS_MAX]; /* Center frequencies for which following values are provided: */ + float pAcoustic_rt60[CLDFB_NO_CHANNELS_MAX]; /* - The room's T60 per center frequency */ + float pAcoustic_dsr[CLDFB_NO_CHANNELS_MAX]; /* - The room's Diffuse to Source Ratio per center frequency */ + float acousticPreDelay; /* Time elapsed between input signal and late reverberation start, float, range [0.001..10] */ + float inputPreDelay; /* Offset in seconds from where DSR is computed in the RIR (0 = at source), float, range [0.001..10] */ + +} ivas_roomAcoustics_t; + +typedef struct ivas_render_config_t +{ +#ifdef DEBUGGING + ivas_renderTypeOverride renderer_type_override; +#endif + ivas_roomAcoustics_t roomAcoustics; + +} RENDER_CONFIG_DATA, *RENDER_CONFIG_HANDLE; + + +typedef struct ivas_rev_delay_line_t +{ + float *pBuffer; + uint16_t MaxDelay; + int16_t Delay; + uint16_t BufferPos; + float Gain; + +} ivas_rev_delay_line_t; + +typedef struct ivas_rev_iir_filter_t +{ + uint16_t MaxTaps; + uint16_t nr_taps; + uint16_t isFIR; + float Output; + float CoefA[IVAS_REV_MAX_IIR_FILTER_LENGTH]; + float CoefB[IVAS_REV_MAX_IIR_FILTER_LENGTH]; + float pBuffer[IVAS_REV_MAX_IIR_FILTER_LENGTH]; + +} ivas_rev_iir_filter_t; + + +typedef float rv_fftwf_type_complex[2]; /* complex type of fftwf library */ + +/* Convertion block for FFT filter: from time domain to frequency domain (with OLS) and back */ +typedef struct ivas_reverb_t2f_f2t_t +{ + int16_t fft_size; + int16_t log2_fft_size; + int16_t block_size; + int16_t hist_size; /* rv_fft_size - rv_block_size */ + float fft_history_L[RV_FILTER_MAX_HISTORY]; + float fft_history_R[RV_FILTER_MAX_HISTORY]; + +} ivas_reverb_t2f_f2t_t; + +/* FFT filter with its frequency response coefficients */ +typedef struct ivas_reverb_fft_filter_t +{ + int16_t fft_size; + float fft_spectrum[RV_FILTER_MAX_FFT_SIZE]; + +} ivas_reverb_fft_filter_t; + + +typedef struct ivas_reverb_state_t +{ + RENDER_CONFIG_DATA pConfig; + + /* input downmixer: */ + float dmx_gain; /* downmix gain */ + + /* predelay: */ + ivas_rev_delay_line_t predelay_line; + float *pPredelay_buffer; + + /* jot reverberator: */ + uint16_t nr_of_branches; /* number of feedback loops */ + ivas_rev_delay_line_t delay_line[IVAS_REV_MAX_NR_BRANCHES]; /* feedback loop delays */ + float *loop_delay_buffer[IVAS_REV_MAX_NR_BRANCHES]; /* feedback loop delay sample buffers */ + ivas_rev_iir_filter_t t60[IVAS_REV_MAX_NR_BRANCHES]; /* feedback loop filters */ + float gain_matrix[IVAS_REV_MAX_NR_BRANCHES][IVAS_REV_MAX_NR_BRANCHES]; /* feedback matrix */ + float mixer[BINAURAL_CHANNELS][IVAS_REV_MAX_NR_BRANCHES]; /* output mixer matrix */ + + /* binauralization filters: */ + int16_t do_corr_filter; + ivas_reverb_t2f_f2t_t fft_filter_ols; + ivas_reverb_fft_filter_t fft_filter_correl_0; + ivas_reverb_fft_filter_t fft_filter_correl_1; + ivas_reverb_fft_filter_t fft_filter_color_0; + ivas_reverb_fft_filter_t fft_filter_color_1; + uint16_t fft_size; /* fft processing size */ + uint16_t fft_subblock_size; /* fft block processing size */ + uint16_t num_fft_subblocks; /* number of fft subblocks */ + uint16_t full_block_size; /* full block processing size */ + +} REVERB_DATA, *REVERB_HANDLE; + + +typedef struct ivas_orient_trk_state_t +{ + OTR_TRACKING_T trackingType; + float centerAdaptationRate; + float offCenterAdaptationRate; + float adaptationAngle; + + float alpha; + + float absYaw; /* absolute orientation */ + float absPitch; + float absRoll; + + float absAvgYaw; /* average absolute orientation */ + float absAvgPitch; + float absAvgRoll; + + float refYaw; /* reference orientation */ + float refPitch; + float refRoll; + + float trkYaw; /* tracked orientation */ + float trkPitch; + float trkRoll; + +} ivas_orient_trk_state_t; + + +/*----------------------------------------------------------------------------------* + * TD ISm Object Renderer structure + *----------------------------------------------------------------------------------*/ + + +typedef struct +{ + int16_t modelROM; /* Flag that indicates that the model resides in ROM (controls init/dealloc). */ + int16_t UseItdModel; /* Controls whether ITD model is used. */ + int16_t SplineDegree; /* Degree of the spline functions */ + int16_t K; /* Length of filter */ + int16_t elevDim2; + int16_t elevDim3; + int16_t AlphaN; /* Number of rows in Alpha matrices */ + int16_t num_unique_azim_splines; + int16_t elevSegSamples; + + int16_t elevBsLen[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + int16_t elevBsStart[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + const int16_t *azimDim2; + const int16_t *azimDim3; + const int16_t *azim_start_idx; + const int16_t *azimSegSamples; + const int16_t *azimShapeIdx; + const int16_t *azimShapeSampFactor; + + const float *elevKSeq; /* Array, N x elevDim2 x elevDim3 */ + const float *AlphaL; /* Array, size AlphaN x K */ + const float *AlphaR; /* Array, size AlphaN x K */ + const float *elevBsShape; + float **azimKSeq; /* Array, length azimDim3+1 */ + const float **azimBsShape; + + int16_t azimDim3Max; + int16_t iSecFirst[HRTF_MODEL_N_SECTIONS]; /* Indices for start of sections */ + int16_t iSecLast[HRTF_MODEL_N_SECTIONS]; /* Indices for end of sections */ + const float *EL; /* Array, size (AlphaN*HRTF_MODEL_N_SECTIONS) */ + const float *ER; /* Array, size (AlphaN*HRTF_MODEL_N_SECTIONS) */ + + /* Pointers for allocation of dynamic memory */ + float *AlphaL_dyn; + float *AlphaR_dyn; + float *EL_dyn; + float *ER_dyn; + float *elevBsShape_dyn; + float *elevKSeq_dyn; + int16_t *azimDim2_dyn; + int16_t *azimDim3_dyn; + int16_t *azim_start_idx_dyn; + int16_t *azimSegSamples_dyn; + int16_t *azimShapeIdx_dyn; + int16_t *azimShapeSampFactor_dyn; + float **azimBsShape_dyn; + +} ModelParams_t; + +typedef struct +{ + int16_t N; /* Polynomial degree */ + + int16_t elevDim2; + int16_t elevDim3; + const float *elevKSeq; /* Array, length elevDim3-2 */ + int16_t azimDim2; + int16_t azimDim3; + const float *azimKSeq; /* Array, length azimDim3-2 */ + const float *W; /* Array, size (elevDim3*azimDim3) x K */ + + int16_t azimBsLen[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + int16_t azimBsStart[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + const float *azimBsShape; + int16_t azimSegSamples; + + int16_t elevBsLen[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + int16_t elevBsStart[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + const float *elevBsShape; + int16_t elevSegSamples; + float resamp_factor; + + /* Pointers for allocation of dynamic memory */ + float *elevKSeq_dyn; + float *azimKSeq_dyn; + float *W_dyn; + float *azimBsShape_dyn; + float *elevBsShape_dyn; + +} ModelParamsITD_t; + +typedef struct +{ + float val; + int16_t i; + +} ValueIndex_t; + +/* Shared memory for use when evaluating BSpline HR filter model*/ +typedef struct +{ + float BM[HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ]; + ValueIndex_t BMEnergiesL[HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ]; + ValueIndex_t BMEnergiesR[HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ]; + int16_t UseIndsL[HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ]; + int16_t UseIndsR[HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ]; + float *hrfModL; + float *hrfModR; + float elevBfVec[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + float azimBfVec[HRTF_MODEL_BSPLINE_NUM_COEFFS][HRTF_MODEL_BSPLINE_NUM_COEFFS]; + float BM_ITD[HRTF_MODEL_BSPLINE_NUM_COEFFS_SQ]; + float elevBfVecITD[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + float azimBfVecITD[HRTF_MODEL_BSPLINE_NUM_COEFFS]; + float itdMod; + +} ModelEval_t; + +/* Mixer listener */ +typedef struct +{ + int16_t PoseUpdated; + float Pos[3]; + float Front[3]; + float Up[3]; + float Right[3]; + + int16_t VelUpdated; + float Vel[3]; + +} TDREND_MIX_Listener_t; + +/* HR filter */ +typedef struct TDREND_HRFILT_FiltSet_struct +{ + int32_t SampleRate; /* Sample rate of the HR filter */ + int16_t NumPos; + int16_t NumElev; + float Dist; + float *ItdSet_p; + int16_t FiltLength; + float *Azim_p; + float *Elev_p; + float *ItdSetNominal_p; + float *LeftFiltSet_p; + float *RightFiltSet_p; +#ifdef TDREND_HRTF_TABLE_METHODS + int16_t *AzimStartIdx_p; + int16_t *NumAzim_p; + float *ElevFull_p; + float ElevIncr; +#endif + ModelParams_t ModelParams; + ModelEval_t ModelEval; + ModelParamsITD_t ModelParamsITD; + TDREND_HRFILT_Method_t FilterMethod; /* HR filtering method */ + +} TDREND_HRFILT_FiltSet_t; + + +/* Distance attenuation */ +typedef struct +{ + TDREND_DistAttenModel_t DistAttenModel; + float RefDist; + float MaxDist; + float RollOffFactor; + +} TDREND_DistAtten_t; + +/* Directional attenuation */ +typedef struct +{ + float ConeInnerAngle; + float ConeOuterAngle; + float ConeOuterGain; + +} TDREND_DirAtten_t; + +/* Mixer spatial specification */ +typedef struct +{ + int16_t UseCommonDistAttenModel; /* Common distance attenuation model flag */ + TDREND_DistAttenModel_t DistAttenModel; /* Distance attenuation model */ + +} TDREND_MixSpatSpec_t; + + +typedef struct TDREND_SRC_REND_s +{ + int16_t InputAvailable; + TDREND_PlayStatus_t PlayStatus; + + /* Gains */ + int16_t SrcGainUpdated; + float SrcGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; + float SrcGainMin_p[SPAT_BIN_MAX_INPUT_CHANNELS]; + float SrcGainMax_p[SPAT_BIN_MAX_INPUT_CHANNELS]; + float DirGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; + float DistGain_p[SPAT_BIN_MAX_INPUT_CHANNELS]; +} TDREND_SRC_REND_t; + + +/* Source spatial parameters */ +typedef struct +{ + int16_t Updated; + TDREND_PosType_t PosType; + float Pos_p[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; + float Front_p[3 * SPAT_BIN_MAX_INPUT_CHANNELS]; + int16_t DirAttenEnabled; + TDREND_DirAtten_t DirAtten; + int16_t DistAttenEnabled; + TDREND_DistAtten_t DistAtten; + +} TDREND_SRC_SPATIAL_t; + +typedef struct +{ + float *InputFrame_p; /* Input frame pointer */ + TDREND_SRC_SPATIAL_t *SrcSpatial_p; + TDREND_SRC_REND_t *SrcRend_p; + int16_t itd; + int16_t previtd; + int16_t filterlength; + float mem_itd[ITD_MEM_LEN]; + float hrf_left_prev[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; /* Todo: Should we allocate these buffers with malloc() instead of the maximum length? */ + float hrf_right_prev[SFX_SPAT_BIN_MAX_FILTER_LENGTH]; + float azim_prev; + float elev_prev; + float mem_hrf_left[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; + float mem_hrf_right[SFX_SPAT_BIN_MAX_FILTER_LENGTH - 1]; + float Gain; +} TDREND_SRC_t; + +/* Top level TD binaural renderer handle */ +typedef struct ivas_binaural_td_rendering_struct +{ + TDREND_MixSpatSpec_t *TdRend_MixSpatSpec_p; + TDREND_DirAtten_t *DirAtten_p; + int16_t NumOfSrcs; + int16_t MaxSrcInd; + + TDREND_SRC_t *Sources[MAX_NUM_TDREND_CHANNELS]; + + float Gain; /* Mixer gain */ + TDREND_MIX_Listener_t *Listener_p; /* The virtual listener */ + TDREND_HRFILT_FiltSet_t *HrFiltSet_p; /* HR filter set */ + + int16_t UseCommonDistAttenModel; /* Use common dist atten model (TRUE/FALSE) */ + int16_t DistAttenEnabled; /* (TRUE/FALSE) */ + TDREND_DistAttenModel_t DistAttenModel; /* Common distance attenuation model */ + +} BINAURAL_TD_OBJECT_RENDERER, *BINAURAL_TD_OBJECT_RENDERER_HANDLE; + +/*------------------------------------------------------------------------------------------* + * Crend structures + *------------------------------------------------------------------------------------------*/ +// VE2AT: move to ivas_rom_rend.h ? +typedef struct ivas_hrtfs_structure +{ + float *pOut_to_bin_re[MAX_INTERN_CHANNELS][BINAURAL_CHANNELS]; + float *pOut_to_bin_im[MAX_INTERN_CHANNELS][BINAURAL_CHANNELS]; + float *pOut_to_bin_diffuse_re[BINAURAL_CHANNELS]; + float *pOut_to_bin_diffuse_im[BINAURAL_CHANNELS]; + float latency_s; + uint16_t num_iterations[MAX_INTERN_CHANNELS][BINAURAL_CHANNELS]; + uint16_t num_iterations_diffuse[BINAURAL_CHANNELS]; + uint16_t *pIndex_frequency_max[MAX_INTERN_CHANNELS][BINAURAL_CHANNELS]; + uint16_t *pIndex_frequency_max_diffuse[BINAURAL_CHANNELS]; + uint16_t index_frequency_max_diffuse; + int16_t max_num_ir; + int16_t max_num_iterations; + float inv_diffuse_weight[MAX_INTERN_CHANNELS]; /* inverse diffuse weights array, access one inverse weight by pInvDiffuseWeight[channel] */ + float gain_lfe; + +} HRTFS_DATA, *HRTFS_HANDLE; + + +/* Main Crend structure */ +typedef struct ivas_crend_state_t +{ + float *freq_buffer_re[MAX_INTERN_CHANNELS]; + float *freq_buffer_im[MAX_INTERN_CHANNELS]; + float *freq_buffer_re_diffuse; + float *freq_buffer_im_diffuse; + float *prev_out_buffer[BINAURAL_CHANNELS]; + float *lfe_delay_line; + float m_fYaw; + float m_fPitch; + float m_fRoll; + ivas_orient_trk_state_t *hTrack; + REVERB_HANDLE hReverb; + int16_t delay_line_rw_index; + int16_t diffuse_delay_line_rw_index; + +} CREND_DATA, *CREND_HANDLE; + +/* Main Crend wrapper structure */ +typedef struct ivas_binaural_crend_wrapper_struct +{ + int32_t binaural_latency_ns; + CREND_HANDLE hCrend; + HRTFS_HANDLE hHrtfCrend; +} CREND_WRAPPER, *CREND_WRAPPER_HANDLE; + +/*----------------------------------------------------------------------------------* + * LFE decoder structure + *----------------------------------------------------------------------------------*/ + +typedef struct ivas_lfe_dec_data_structure +{ + ivas_filters_process_state_t filter_state; + LFE_WINDOW_HANDLE pWindow_state; + const uint16_t *cum_freq_models[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; + int16_t lfe_dec_indices_coeffs_tbl[IVAS_MAX_NUM_QUANT_STRATS][IVAS_MAX_NUM_DCT_COEF_GROUPS]; + float lfe_block_delay_s; + int16_t lfe_prior_buf_len; + float *prior_out_buffer; + + float *prevsynth_buf; + float *lfe_delay_buf; + int16_t lfe_addl_delay; + int16_t bfi_count; + +} LFE_DEC_DATA, *LFE_DEC_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Limiter structure + *----------------------------------------------------------------------------------*/ + +typedef struct +{ + int16_t max_num_channels; + int16_t num_channels; + float **channel_ptrs; + int32_t sampling_rate; + float gain; + float release_heuristic; + float attack_constant; + int16_t strong_saturation_count; +#ifdef DEBUGGING + int32_t cnt_frames_limited; /* counter of frames in which the limiter is applied */ +#endif + +} IVAS_LIMITER, *IVAS_LIMITER_HANDLE; + + +/*----------------------------------------------------------------------------------* + * Decoder configuration structure + *----------------------------------------------------------------------------------*/ + +typedef struct decoder_config_structure +{ + int32_t ivas_total_brate; /* IVAS total bitrate in bps */ + int32_t last_ivas_total_brate; /* last IVAS total bitrate in bps */ + int32_t output_Fs; /* output signal sampling frequency in Hz */ + int16_t nchan_out; /* number of output audio channels */ + AUDIO_CONFIG output_config; /* output audio configuration */ + int16_t Opt_LsCustom; /* indicates whether loudspeaker custom setup is used */ + int16_t Opt_HRTF_binary; /* indicates whether HRTF binary file is used */ + int16_t Opt_Headrotation; /* indicates whether head-rotation is used */ + int16_t orientation_tracking; /* indicates orientation tracking type */ + float no_diegetic_pan; + int16_t Opt_AMR_WB; /* flag indicating AMR-WB IO mode */ + + /* temp. development parameters */ +#ifdef DEBUGGING + int16_t forceSubframeBinauralization; /* Flag for forcing Parametric binauralizer to subframe mode */ + int16_t force_rend; /* forced TD/CLDFB binaural renderer (for ISM and MC) */ +#endif + +} DECODER_CONFIG, *DECODER_CONFIG_HANDLE; + +typedef struct +{ + int32_t binaural_latency_ns; + BINAURAL_TD_OBJECT_RENDERER_HANDLE hBinRendererTd; + TDREND_HRFILT_FiltSet_t *hHrtfTD; +} TDREND_WRAPPER, *TDREND_WRAPPER_HANDLE; +#endif + /*----------------------------------------------------------------------------------* * Loudspeaker Configuration Conversion structure *----------------------------------------------------------------------------------*/ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 028b0f6274..54d18072f7 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -38,6 +38,9 @@ #include "ivas_rom_dec.h" #include "ivas_rom_rend.h" #include "ivas_lib_rend_internal.h" +#ifdef FIX_197_CREND_INTERFACE +#include "lib_rend.h" +#endif #include "prot.h" #include "wmc_auto.h" @@ -111,7 +114,11 @@ typedef struct IVAS_REND_AudioObjectPosition currentPos; IVAS_REND_AudioObjectPosition previousPos; TDREND_WRAPPER tdRendWrapper; +#ifdef FIX_197_CREND_INTERFACE + CREND_WRAPPER_HANDLE crendWrapper; +#else CREND_WRAPPER crendWrapper; +#endif rotation_matrix rot_mat_prev; } input_ism; @@ -126,7 +133,11 @@ typedef struct LSSETUP_CUSTOM_STRUCT customLsInput; EFAP_WRAPPER efapInWrapper; TDREND_WRAPPER tdRendWrapper; +#ifdef FIX_197_CREND_INTERFACE + CREND_WRAPPER_HANDLE crendWrapper; +#else CREND_WRAPPER crendWrapper; +#endif rotation_gains rot_gains_prev; IVAS_REND_LfeRouting lfeRouting; } input_mc; @@ -135,7 +146,11 @@ typedef struct { input_base base; pan_matrix hoaDecMtx; +#ifdef FIX_197_CREND_INTERFACE + CREND_WRAPPER_HANDLE crendWrapper; +#else CREND_WRAPPER crendWrapper; +#endif rotation_gains rot_gains_prev; } input_sba; @@ -287,7 +302,11 @@ static int32_t limitRendererOutput( return numClipping; } -static AUDIO_CONFIG rendAudioConfigToIvasAudioConfig( // VE2AT: similar is defined again at line 397, why? +#ifdef FIX_197_CREND_INTERFACE +AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( +#else +static AUDIO_CONFIG rendAudioConfigToIvasAudioConfig( // VE2AT: similar is defined again at line 397, why?#endif +#endif IVAS_REND_AudioConfig rendConfig ) { switch ( rendConfig ) @@ -433,11 +452,42 @@ ivas_error getAudioConfigNumChannels( return IVAS_ERR_OK; } +#ifdef FIX_197_CREND_INTERFACE +IVAS_REND_AudioConfig getRendAudioConfigFromIvasAudioConfig( + AUDIO_CONFIG config ) +#else AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( IVAS_REND_AudioConfig config ) +#endif { switch ( config ) { +#ifdef FIX_197_CREND_INTERFACE + case AUDIO_CONFIG_MONO: + return IVAS_REND_AUDIO_CONFIG_MONO; + case AUDIO_CONFIG_STEREO: + return IVAS_REND_AUDIO_CONFIG_STEREO; + case AUDIO_CONFIG_BINAURAL: + return IVAS_REND_AUDIO_CONFIG_BINAURAL; + case AUDIO_CONFIG_BINAURAL_ROOM: + return IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM; + case AUDIO_CONFIG_5_1: + return IVAS_REND_AUDIO_CONFIG_5_1; + case AUDIO_CONFIG_7_1: + return IVAS_REND_AUDIO_CONFIG_7_1; + case AUDIO_CONFIG_5_1_2: + return IVAS_REND_AUDIO_CONFIG_5_1_2; + case AUDIO_CONFIG_5_1_4: + return IVAS_REND_AUDIO_CONFIG_5_1_4; + case AUDIO_CONFIG_7_1_4: + return IVAS_REND_AUDIO_CONFIG_7_1_4; + case AUDIO_CONFIG_FOA: + return IVAS_REND_AUDIO_CONFIG_FOA; + case AUDIO_CONFIG_HOA2: + return IVAS_REND_AUDIO_CONFIG_HOA2; + case AUDIO_CONFIG_HOA3: + return IVAS_REND_AUDIO_CONFIG_HOA3; +#else case IVAS_REND_AUDIO_CONFIG_MONO: return AUDIO_CONFIG_MONO; case IVAS_REND_AUDIO_CONFIG_STEREO: @@ -462,6 +512,7 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( return AUDIO_CONFIG_HOA2; case IVAS_REND_AUDIO_CONFIG_HOA3: return AUDIO_CONFIG_HOA3; +#endif default: break; } @@ -964,7 +1015,11 @@ static ivas_error setRendInputActiveIsm( inputIsm->currentPos = defaultObjectPosition(); inputIsm->previousPos = defaultObjectPosition(); +#ifdef FIX_197_CREND_INTERFACE + inputIsm->crendWrapper = NULL; +#else inputIsm->crendWrapper = defaultCrendWrapper(); +#endif inputIsm->tdRendWrapper = defaultTdRendWrapper(); initRotMatrix( inputIsm->rot_mat_prev ); @@ -979,6 +1034,9 @@ static ivas_error setRendInputActiveIsm( IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, +#ifdef FIX_197_CREND_INTERFACE + 0, +#endif *rendCtx.pOutSampleRate ); } if ( error != IVAS_ERR_OK ) @@ -999,7 +1057,11 @@ static void clearInputIsm( initRendInputBase( &inputIsm->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx ); /* Free input's internal handles */ +#ifdef FIX_197_CREND_INTERFACE + if ( inputIsm->crendWrapper != NULL ) +#else if ( inputIsm->crendWrapper.hCrend != NULL ) +#endif { ivas_rend_closeCrend( &inputIsm->crendWrapper ); } @@ -1074,8 +1136,13 @@ static ivas_error initMcPanGainsWithConversionMapping( AUDIO_CONFIG ivasConfigIn, ivasConfigOut; int16_t i; +#ifdef FIX_197_CREND_INTERFACE + ivasConfigIn = getIvasAudioConfigFromRendAudioConfig( inputMc->base.inConfig ); + ivasConfigOut = getIvasAudioConfigFromRendAudioConfig( outConfig ); +#else ivasConfigIn = rendAudioConfigToIvasAudioConfig( inputMc->base.inConfig ); ivasConfigOut = rendAudioConfigToIvasAudioConfig( outConfig ); +#endif /* Find conversion mapping for current I/O config pair. * Stay with default panning matrix if conversion_matrix is NULL */ @@ -1523,7 +1590,11 @@ static ivas_error initMcBinauralRendering( ivas_td_binaural_close( &inputMc->tdRendWrapper.hBinRendererTd ); inputMc->tdRendWrapper.hHrtfTD = NULL; } +#ifdef FIX_197_CREND_INTERFACE + if ( inputMc->crendWrapper != NULL ) +#else if ( inputMc->crendWrapper.hCrend != NULL ) +#endif { ivas_rend_closeCrend( &inputMc->crendWrapper ); } @@ -1563,6 +1634,9 @@ static ivas_error initMcBinauralRendering( ( inConfig == IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) ? IVAS_REND_AUDIO_CONFIG_7_1_4 : inConfig, outConfig, hRendCfg, +#ifdef FIX_197_CREND_INTERFACE + 0, +#endif outSampleRate ) ) != IVAS_ERR_OK ) { return error; @@ -1652,7 +1726,11 @@ static ivas_error setRendInputActiveMc( setZeroPanMatrix( inputMc->panGains ); inputMc->customLsInput = defaultCustomLs(); inputMc->tdRendWrapper = defaultTdRendWrapper(); +#ifdef FIX_197_CREND_INTERFACE + inputMc->crendWrapper = NULL; +#else inputMc->crendWrapper = defaultCrendWrapper(); +#endif initRotGains( inputMc->rot_gains_prev ); inputMc->lfeRouting = defaultLfeRouting( inConfig, inputMc->customLsInput, outConfig, *inputMc->base.ctx.pCustomLsOut ); @@ -1686,7 +1764,11 @@ static void clearInputMc( { efap_free_data( &inputMc->efapInWrapper.hEfap ); } +#ifdef FIX_197_CREND_INTERFACE + if ( inputMc->crendWrapper != NULL ) +#else if ( inputMc->crendWrapper.hCrend != NULL ) +#endif { ivas_rend_closeCrend( &inputMc->crendWrapper ); } @@ -1726,7 +1808,11 @@ static ivas_error initSbaPanGainsForMcOut( case IVAS_REND_AUDIO_CONFIG_MONO: hOutSetup.ls_azimuth = ls_azimuth_CICP1; hOutSetup.ls_elevation = ls_elevation_CICP1; +#ifdef FIX_197_CREND_INTERFACE + ivas_output_init( &hOutSetup, getIvasAudioConfigFromRendAudioConfig( outConfig ) ); +#else ivas_output_init( &hOutSetup, rendAudioConfigToIvasAudioConfig( outConfig ) ); +#endif break; case IVAS_REND_AUDIO_CONFIG_STEREO: case IVAS_REND_AUDIO_CONFIG_5_1: @@ -1734,7 +1820,11 @@ static ivas_error initSbaPanGainsForMcOut( case IVAS_REND_AUDIO_CONFIG_5_1_2: case IVAS_REND_AUDIO_CONFIG_5_1_4: case IVAS_REND_AUDIO_CONFIG_7_1_4: +#ifdef FIX_197_CREND_INTERFACE + ivas_output_init( &hOutSetup, getIvasAudioConfigFromRendAudioConfig( outConfig ) ); +#else ivas_output_init( &hOutSetup, rendAudioConfigToIvasAudioConfig( outConfig ) ); +#endif break; case IVAS_REND_AUDIO_CONFIG_LS_CUSTOM: ivas_ls_custom_setup( &hOutSetup, outSetupCustom ); @@ -1814,14 +1904,22 @@ static ivas_error updateSbaPanGains( switch ( outConfig ) { case IVAS_REND_AUDIO_CONFIG_BINAURAL: +#ifdef FIX_197_CREND_INTERFACE + error = ivas_rend_openCrend( &inputSba->crendWrapper, inConfig, outConfig, hRendCfg, 0, *rendCtx.pOutSampleRate ); +#else error = ivas_rend_openCrend( &inputSba->crendWrapper, inConfig, outConfig, hRendCfg, *rendCtx.pOutSampleRate ); +#endif break; case IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM: if ( ( error = initSbaPanGainsForMcOut( inputSba, IVAS_REND_AUDIO_CONFIG_7_1_4, NULL ) ) != IVAS_ERR_OK ) { return error; } +#ifdef FIX_197_CREND_INTERFACE + error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, 0, *rendCtx.pOutSampleRate ); +#else error = ivas_rend_openCrend( &inputSba->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, hRendCfg, *rendCtx.pOutSampleRate ); +#endif break; default: return IVAS_ERR_INVALID_OUTPUT_FORMAT; @@ -1856,7 +1954,11 @@ static ivas_error setRendInputActiveSba( initRendInputBase( &inputSba->base, inConfig, id, rendCtx ); setZeroPanMatrix( inputSba->hoaDecMtx ); +#ifdef FIX_197_CREND_INTERFACE + inputSba->crendWrapper = NULL; +#else inputSba->crendWrapper = defaultCrendWrapper(); +#endif initRotGains( inputSba->rot_gains_prev ); if ( ( error = updateSbaPanGains( inputSba, outConfig, hRendCfg ) ) != IVAS_ERR_OK ) @@ -1877,7 +1979,11 @@ static void clearInputSba( initRendInputBase( &inputSba->base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, rendCtx ); /* Free input's internal handles */ +#ifdef FIX_197_CREND_INTERFACE + if ( inputSba->crendWrapper != NULL ) +#else if ( inputSba->crendWrapper.hCrend != NULL ) +#endif { ivas_rend_closeCrend( &inputSba->crendWrapper ); } @@ -1895,7 +2001,11 @@ static ivas_error initMasaDummyDecForMcOut( input_masa *inputMasa, IVAS_REND_Aud DecoderDummy *decDummy; decDummy = inputMasa->decDummy; +#ifdef FIX_197_CREND_INTERFACE + output_config = getIvasAudioConfigFromRendAudioConfig( outConfig ); +#else output_config = rendAudioConfigToIvasAudioConfig( outConfig ); +#endif decDummy->hDecoderConfig->output_config = output_config; decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ @@ -1976,7 +2086,11 @@ static ivas_error initMasaDummyDecForSbaOut( input_masa *inputMasa, IVAS_REND_Au decDummy = inputMasa->decDummy; +#ifdef FIX_197_CREND_INTERFACE + output_config = getIvasAudioConfigFromRendAudioConfig( outConfig ); +#else output_config = rendAudioConfigToIvasAudioConfig( outConfig ); +#endif decDummy->hDecoderConfig->output_config = output_config; decDummy->hDecoderConfig->ivas_total_brate = IVAS_512k; /* Todo Nokia: This is preventing initialization of 2TC as 1TC, should be fixed properly in ivas_dirac_dec_config() */ @@ -2041,7 +2155,11 @@ static ivas_error initMasaDummyDecForBinauralOut( input_masa *inputMasa, IVAS_RE decDummy = inputMasa->decDummy; +#ifdef FIX_197_CREND_INTERFACE + output_config = getIvasAudioConfigFromRendAudioConfig( outConfig ); +#else output_config = rendAudioConfigToIvasAudioConfig( outConfig ); +#endif decDummy->hDecoderConfig->output_config = output_config; output_config = decDummy->hDecoderConfig->output_config; @@ -2144,7 +2262,12 @@ static DecoderDummy *initDecoderDummy( int32_t sampleRate, int16_t numTransChann decDummy->hBinRenderer = NULL; decDummy->hEFAPdata = NULL; +#ifdef FIX_197_CREND_INTERFACE + decDummy->hCrendWrapper = NULL; +#else decDummy->hHrtf = NULL; + decDummy->hCrend = NULL; +#endif decDummy->hHrtfTD = NULL; decDummy->hSpar = NULL; decDummy->hoa_dec_mtx = NULL; @@ -2152,7 +2275,11 @@ static DecoderDummy *initDecoderDummy( int32_t sampleRate, int16_t numTransChann decDummy->hMasa = NULL; decDummy->hDiracDecBin = NULL; decDummy->hQMetaData = NULL; +#ifdef FIX_197_CREND_INTERFACE + decDummy->hDecoderConfig->output_config = getIvasAudioConfigFromRendAudioConfig( outConfig ); +#else decDummy->hDecoderConfig->output_config = rendAudioConfigToIvasAudioConfig( outConfig ); +#endif decDummy->nchan_transport = numTransChannels; if ( outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM || outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) @@ -2363,20 +2490,32 @@ ivas_error IVAS_REND_Open( for ( i = 0; i < RENDERER_MAX_ISM_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsIsm[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) ); +#ifdef FIX_197_CREND_INTERFACE + hIvasRend->inputsIsm[i].crendWrapper = NULL; +#else hIvasRend->inputsIsm[i].crendWrapper.hCrend = NULL; +#endif hIvasRend->inputsIsm[i].tdRendWrapper.hBinRendererTd = NULL; } for ( i = 0; i < RENDERER_MAX_MC_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsMc[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) ); hIvasRend->inputsMc[i].efapInWrapper.hEfap = NULL; +#ifdef FIX_197_CREND_INTERFACE + hIvasRend->inputsMc[i].crendWrapper = NULL; +#else hIvasRend->inputsMc[i].crendWrapper.hCrend = NULL; +#endif hIvasRend->inputsMc[i].tdRendWrapper.hBinRendererTd = NULL; } for ( i = 0; i < RENDERER_MAX_SBA_INPUTS; ++i ) { initRendInputBase( &hIvasRend->inputsSba[i].base, IVAS_REND_AUDIO_CONFIG_UNKNOWN, 0, getRendCtx( hIvasRend ) ); +#ifdef FIX_197_CREND_INTERFACE + hIvasRend->inputsSba[i].crendWrapper = NULL; +#else hIvasRend->inputsSba[i].crendWrapper.hCrend = NULL; +#endif } for ( i = 0; i < RENDERER_MAX_MASA_INPUTS; ++i ) { @@ -3045,8 +3184,13 @@ ivas_error IVAS_REND_GetDelay( { if ( hIvasRend->inputsIsm[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN ) { +#ifdef FIX_197_CREND_INTERFACE + latency_ns = max( hIvasRend->inputsIsm[i].crendWrapper->binaural_latency_ns, + hIvasRend->inputsIsm[i].tdRendWrapper.binaural_latency_ns ); +#else latency_ns = max( hIvasRend->inputsIsm[i].crendWrapper.binaural_latency_ns, hIvasRend->inputsIsm[i].tdRendWrapper.binaural_latency_ns ); +#endif *nSamples = max( *nSamples, NS2SA( *timeScale, latency_ns ) ); } } @@ -3055,8 +3199,13 @@ ivas_error IVAS_REND_GetDelay( { if ( hIvasRend->inputsMc[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN ) { +#ifdef FIX_197_CREND_INTERFACE + latency_ns = max( hIvasRend->inputsMc[i].crendWrapper->binaural_latency_ns, + hIvasRend->inputsMc[i].tdRendWrapper.binaural_latency_ns ); +#else latency_ns = max( hIvasRend->inputsMc[i].crendWrapper.binaural_latency_ns, hIvasRend->inputsMc[i].tdRendWrapper.binaural_latency_ns ); +#endif *nSamples = max( *nSamples, NS2SA( *timeScale, latency_ns ) ); } } @@ -3065,7 +3214,11 @@ ivas_error IVAS_REND_GetDelay( { if ( hIvasRend->inputsSba[i].base.inConfig != IVAS_REND_AUDIO_CONFIG_UNKNOWN ) { +#ifdef FIX_197_CREND_INTERFACE + latency_ns = hIvasRend->inputsSba[i].crendWrapper->binaural_latency_ns; +#else latency_ns = hIvasRend->inputsSba[i].crendWrapper.binaural_latency_ns; +#endif *nSamples = max( *nSamples, NS2SA( *timeScale, latency_ns ) ); } } @@ -3761,7 +3914,11 @@ static ivas_error renderIsmToBinauralRoom( copyBufferTo2dArray( tmpMcBuffer, tmpCrendBuffer ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_crendProcess( ismInput->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM, NULL, NULL, NULL, NULL, tmpCrendBuffer, *ismInput->base.ctx.pOutSampleRate ); +#else ivas_rend_crendProcess( &ismInput->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM, tmpCrendBuffer, *ismInput->base.ctx.pOutSampleRate ); +#endif accumulate2dArrayToBuffer( tmpCrendBuffer, &outAudio ); @@ -4063,7 +4220,11 @@ static ivas_error renderMcToBinaural( } /* call CREND */ +#ifdef FIX_197_CREND_INTERFACE + if ( ( error = ivas_rend_crendProcess( mcInput->crendWrapper, mcInput->base.inConfig, outConfig, NULL, NULL, NULL, NULL, tmpRendBuffer, *mcInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_rend_crendProcess( &mcInput->crendWrapper, mcInput->base.inConfig, outConfig, tmpRendBuffer, *mcInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -4115,7 +4276,11 @@ static ivas_error renderMcToBinauralRoom( } /* call CREND */ +#ifdef FIX_197_CREND_INTERFACE + if ( ( error = ivas_rend_crendProcess( mcInput->crendWrapper, mcInput->base.inConfig, outConfig, NULL, NULL, NULL, NULL, tmpCrendBuffer, *mcInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_rend_crendProcess( &mcInput->crendWrapper, mcInput->base.inConfig, outConfig, tmpCrendBuffer, *mcInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -4182,7 +4347,11 @@ static ivas_error renderMcCustomLsToBinauralRoom( copyBufferTo2dArray( tmpMcBuffer, tmpCrendBuffer ); /* call CREND */ +#ifdef FIX_197_CREND_INTERFACE + if ( ( error = ivas_rend_crendProcess( mcInput->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, NULL, NULL, NULL, NULL, tmpCrendBuffer, *mcInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_rend_crendProcess( &mcInput->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, tmpCrendBuffer, *mcInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -4410,7 +4579,11 @@ static ivas_error renderSbaToBinaural( } /* call CREND */ +#ifdef FIX_197_CREND_INTERFACE + if ( ( error = ivas_rend_crendProcess( sbaInput->crendWrapper, sbaInput->base.inConfig, outConfig, NULL, NULL, NULL, NULL, tmpCrendBuffer, *sbaInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_rend_crendProcess( &sbaInput->crendWrapper, sbaInput->base.inConfig, outConfig, tmpCrendBuffer, *sbaInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -4470,7 +4643,11 @@ static ivas_error renderSbaToBinauralRoom( copyBufferTo2dArray( tmpMcBuffer, tmpCrendBuffer ); /* call CREND */ +#ifdef FIX_197_CREND_INTERFACE + if ( ( error = ivas_rend_crendProcess( sbaInput->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, NULL, NULL, NULL, NULL, tmpCrendBuffer, *sbaInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#else if ( ( error = ivas_rend_crendProcess( &sbaInput->crendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, outConfig, tmpCrendBuffer, *sbaInput->base.ctx.pOutSampleRate ) ) != IVAS_ERR_OK ) +#endif { return error; } @@ -4873,3 +5050,23 @@ int32_t IVAS_REND_GetCntFramesLimited( return hIvasRend->hLimiter->cnt_frames_limited; } #endif + +#ifdef FIX_197_CREND_INTERFACE +ivas_error ivas_rend_initEfap( + AUDIO_CONFIG outConfig, + EFAP_HANDLE *hEfap ) +{ + ivas_error err; + IVAS_REND_AudioConfig audioCfg; + EFAP_WRAPPER wrap; + LSSETUP_CUSTOM_STRUCT customLsOut; + wrap.hEfap = NULL; + wrap.pCustomLsSetup = NULL; + audioCfg = getRendAudioConfigFromIvasAudioConfig( outConfig ); + memset( &customLsOut, 0, sizeof( LSSETUP_CUSTOM_STRUCT ) ); + err = initEfap( &wrap, audioCfg, &customLsOut ); + *hEfap = wrap.hEfap; + + return err; +} +#endif \ No newline at end of file diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index ea4b84d897..e9b84b7043 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -40,13 +40,17 @@ #include "options.h" #include "common_api_types.h" #include "ivas_error.h" - +#ifdef FIX_197_CREND_INTERFACE +#include "ivas_stat_rend.h" +#endif #define RENDERER_MAX_ISM_INPUTS 4 #define RENDERER_MAX_MC_INPUTS 1 #define RENDERER_MAX_SBA_INPUTS 1 #define RENDERER_MAX_MASA_INPUTS 1 +#ifndef FIX_197_CREND_INTERFACE + #define RENDERER_HEAD_POSITIONS_PER_FRAME 4 typedef struct @@ -139,6 +143,13 @@ typedef struct float lfeOutputGains[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; } IVAS_REND_LfeRouting; +#else + +AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( + IVAS_REND_AudioConfig config ); + +#endif + /* clang-format off */ /*----------------------------------------------------------------------------------* * Function prototypes @@ -275,6 +286,12 @@ int32_t IVAS_REND_GetCntFramesLimited( ); #endif +#ifdef FIX_197_CREND_INTERFACE +ivas_error ivas_rend_initEfap( + AUDIO_CONFIG outConfig, + EFAP_HANDLE *hEfap + ); +#endif /* clang-format on */ #endif diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c index eb7b25dfa5..ea0bf89fee 100644 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c @@ -63,7 +63,9 @@ #include "options.h" #include "render_config_reader.h" #include "wmc_auto.h" - +#ifdef FIX_197_CREND_INTERFACE +#include "lib_rend.h" +#endif static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_round_latency, int16_t use_round_for_lfe, int32_t *err_lfe, int32_t *err_dec, int16_t verbose ) { @@ -1100,7 +1102,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl float *ppDelay_lines[IVAS_MAX_NUM_CH]; const float *filt_coeff; int16_t delay_lp = 0; +#ifdef FIX_197_CREND_INTERFACE + Decoder_Struct st_ivas = { 0 }; +#else Decoder_Struct st_ivas; +#endif HeadRotFileReader *headRotReader = NULL; memset( &st_ivas, 0, sizeof( Decoder_Struct ) ); @@ -1142,7 +1148,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl if ( IVAS_SUCCESS != result ) { fprintf( stderr, "WAV header skip failed\n" ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); +#else ivas_crend_close( &st_ivas ); +#endif exit( -1 ); } } @@ -1291,7 +1301,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } else { +#ifdef FIX_197_CREND_INTERFACE + ivas_hrtf_init( st_ivas.hCrendWrapper->hHrtfCrend ); +#else ivas_hrtf_init( st_ivas.hHrtf ); +#endif } int16_t in_ch = audioCfg2channels( st_ivas.transport_config ); @@ -1300,7 +1314,7 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl /*------------------------------------------------------------------------------------------* * State memory allocation for Common renderer *------------------------------------------------------------------------------------------*/ - st_ivas.hDecoderConfig->Opt_Headrotation = pIo_params->orientation_tracking != OTR_TRACKING_NONE ? 1 : 0; + st_ivas.hDecoderConfig->Opt_Headrotation = ( pIo_params->orientation_tracking != OTR_TRACKING_NONE ) ? 1 : 0; /*-------------------------------------------------------------------* * Allocate and initialize Head-Tracking handle *--------------------------------------------------------------------*/ @@ -1357,7 +1371,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl else if ( pIo_params->test == TD_BIN_TEST ) { ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); +#ifdef FIX_197_CREND_INTERFACE + ivas_output_init( &st_ivas.hOutSetup, st_ivas.hOutSetup.output_config ); +#else ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); +#endif ivas_td_binaural_open( &st_ivas ); } else if ( pIo_params->test == PARAM_BIN_TEST ) @@ -1369,7 +1387,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); +#ifdef FIX_197_CREND_INTERFACE + ivas_output_init( &st_ivas.hOutSetup, st_ivas.hOutSetup.output_config ); +#else ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); +#endif st_ivas.hOutSetup.separateChannelEnabled = 1; int16_t numCldfbAnalyses, numCldfbSyntheses; numCldfbAnalyses = st_ivas.nchan_transport; @@ -1402,17 +1424,32 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl else { ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); +#ifdef FIX_197_CREND_INTERFACE + ivas_output_init( &st_ivas.hOutSetup, st_ivas.hOutSetup.output_config ); + ivas_rend_openCrend( &st_ivas.hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas.hOutSetup.output_config ), st_ivas.hRenderConfig, st_ivas.hDecoderConfig->Opt_Headrotation, pIo_params->sample_rate ); +#else ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); ivas_crend_open( &st_ivas ); +#endif } if ( pIo_params->test == CREND_BIN_TEST ) { +#ifdef FIX_197_CREND_INTERFACE + pIo_params->latency_ns = st_ivas.hCrendWrapper->binaural_latency_ns; +#else pIo_params->latency_ns = (int32_t) ( st_ivas.hHrtf->latency_s * 1000000000.f ); +#endif } if ( st_ivas.ivas_format == MC_FORMAT ) { +#ifdef FIX_197_CREND_INTERFACE + if ( st_ivas.hDecoderConfig->Opt_Headrotation ) + { + ivas_rend_initEfap( st_ivas.hIntSetup.output_config, &st_ivas.hEFAPdata ); + } +#endif ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_ns ); if ( st_ivas.hLFE->lfe_addl_delay > 0 ) @@ -1592,7 +1629,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl } else { +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_crendProcess( st_ivas.hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas.hOutSetup.output_config ), st_ivas.hDecoderConfig, st_ivas.hHeadTrackData, &st_ivas.hIntSetup, st_ivas.hEFAPdata, ppPcm_in, pIo_params->sample_rate ); +#else ivas_crend_process( &st_ivas, ppPcm_in ); +#endif } } @@ -1690,7 +1731,11 @@ ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, fl ivas_dirac_dec_close( st_ivas.hDirAC ); if ( st_ivas.hBinRenderer != NULL ) ivas_binRenderer_close( &st_ivas.hBinRenderer ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); +#else ivas_crend_close( &st_ivas ); +#endif if ( st_ivas.hBinRendererTd != NULL ) ivas_td_binaural_close( &st_ivas.hBinRendererTd ); if ( st_ivas.hLimiter != NULL ) @@ -1776,7 +1821,11 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in if ( IVAS_SUCCESS != result ) { fprintf( stderr, "WAV header skip failed\n" ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); +#else ivas_crend_close( &st_ivas ); +#endif exit( -1 ); } } @@ -1791,7 +1840,11 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in if ( IVAS_SUCCESS != result ) { fprintf( stderr, "Crend configuration parameters setting failed\n" ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); +#else ivas_crend_close( &st_ivas ); +#endif exit( -1 ); } @@ -1799,7 +1852,11 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in * State memory allocation for Common renderer *------------------------------------------------------------------------------------------*/ decoder_config.Opt_Headrotation = 0; +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_openCrend( &st_ivas.hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), st_ivas.hRenderConfig, st_ivas.hDecoderConfig->Opt_Headrotation, pIo_params->sample_rate ); +#else ivas_crend_open( &st_ivas ); +#endif /*------------------------------------------------------------------------------------------* * In/out buffer memory allocation for encoder @@ -1846,7 +1903,11 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in if ( IVAS_SUCCESS != result ) { fprintf( stderr, "Error: ivas_crend_process failed with %d \n\n", (int32_t) result ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); +#else ivas_crend_close( &st_ivas ); +#endif exit( -1 ); } @@ -1899,7 +1960,11 @@ ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, in #endif printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); +#ifdef FIX_197_CREND_INTERFACE + ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); +#else ivas_crend_close( &st_ivas ); +#endif return IVAS_SUCCESS; } -- GitLab From f183d8b2bae9049b0424c7b61fdb9f065bca9448 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Mon, 16 Jan 2023 07:31:07 +0100 Subject: [PATCH 583/620] Modify smoke_test.sh to include dry-run of memory analysis, finding unbalanced memory alloc/dealloc --- ci/smoke_test.sh | 18 ++++++++++++++++-- lib_com/options.h | 1 + lib_dec/jbm_jb4_inputbuffer.c | 3 +++ 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index b710beab4e..3e3e8d377d 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -57,8 +57,22 @@ cfg=./scripts/config/ci_linux.json dly_profile=./scripts/dly_error_profiles/dly_error_profile_10.dat if [ $BUILD -eq 1 ];then - make clean - make all -j + # Enable memory macros to find unbalanced memory allocations/deallocations + # Does not implement full memory analysis + make clean + + # Replace free -> free_, malloc -> malloc_, calloc -> calloc_ + sed -i 's/\bmalloc\b/malloc_/g' lib_{com,enc,dec,rend}/*.c + sed -i 's/\bcalloc\b/calloc_/g' lib_{com,enc,dec,rend}/*.c + sed -i 's/\bfree\b/free_/g' lib_{com,enc,dec,rend}/*.c + + # Enable WMOPS and disable DEBUGGING + sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" lib_com/options.h + sed -i.bak -e "s/\/\/\s*\(#define\s*WMOPS\)/\1/g" lib_com/options.h + sed -i.bak -e "s/\s*\(#define\s*DEBUGGING\)/\/\*\1*\//g" lib_com/options.h + + make all -j + fi ./scripts/runIvasCodec.py -p $cfg -U 1 $WORKERS | tee smoke_test_output.txt diff --git a/lib_com/options.h b/lib_com/options.h index bea3e2670e..a53fc756a2 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,6 +151,7 @@ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ #define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ #define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ +#define FIX_268 /* Issue 268: Add low cost dry-run of memory analysis */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/jbm_jb4_inputbuffer.c b/lib_dec/jbm_jb4_inputbuffer.c index f8a3d09b52..9f2e3f032a 100644 --- a/lib_dec/jbm_jb4_inputbuffer.c +++ b/lib_dec/jbm_jb4_inputbuffer.c @@ -45,6 +45,9 @@ #include "debug.h" #endif #include "jbm_jb4_inputbuffer.h" +#ifdef FIX_268 +#include "wmc_auto.h" +#endif #define WMC_TOOL_SKIP -- GitLab From 87ae301e3705b7229adbc79c0b09e5da8b7eb764 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Mon, 16 Jan 2023 13:23:33 +0530 Subject: [PATCH 584/620] Address review comments --- tests/test_param_file.py | 52 +++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 22 deletions(-) diff --git a/tests/test_param_file.py b/tests/test_param_file.py index a0d7036668..8f28d2f6d6 100644 --- a/tests/test_param_file.py +++ b/tests/test_param_file.py @@ -152,13 +152,17 @@ def test_param_file_tests( fs = enc_split.pop() sampling_rate = int(fs) bitrate = enc_split.pop() - - sba_br_switching_dtx = 0 - if bitrate.startswith("../") and "-dtx" in enc_opts.split() and "-sba" in enc_opts.split(): - sba_br_switching_dtx = 1 - cut_file = pre_proc_input(testv_file,fs) - testv_file = cut_file - + + sba_br_switching_dtx = 0 + if ( + not bitrate.isdigit() + and "-dtx" in enc_opts.split() + and "-sba" in enc_opts.split() + ): + sba_br_switching_dtx = 1 + cut_file = pre_proc_input(testv_file, fs) + testv_file = cut_file + # bitrate can be a filename: remove leading "../" if bitrate.startswith("../"): bitrate = bitrate[3:] @@ -185,8 +189,8 @@ def test_param_file_tests( update_ref, ) if sba_br_switching_dtx == 1: - isExist = os.path.exists(cut_file) - if isExist: + is_exist = os.path.exists(cut_file) + if is_exist: os.remove(cut_file) # check for networkSimulator_g192 command line if sim_opts != "": @@ -345,19 +349,23 @@ def encode( add_option_list=enc_opts_list, ) -def pre_proc_input(testv_file,fs): - CUT_FROM = "0.0" - CUT_LEN = "5.0" - cut_gain = "0.004" - if "stvFOA" in testv_file: - num_channel = '4' - elif "stv2OA" in testv_file: - num_channel = '9' - elif "stv3OA" in testv_file: - num_channel = '16' - cut_file = testv_file.replace(".pcm",num_channel + "chn_"+ cut_gain + ".pcm") - cut_samples(testv_file, cut_file, num_channel, fs + "000", CUT_FROM, CUT_LEN, cut_gain) - return(cut_file) + +def pre_proc_input(testv_file, fs): + cut_from = "0.0" + cut_len = "5.0" + cut_gain = "0.004" + if "stvFOA" in testv_file: + num_channel = "4" + elif "stv2OA" in testv_file: + num_channel = "9" + elif "stv3OA" in testv_file: + num_channel = "16" + cut_file = testv_file.replace(".pcm", num_channel + "chn_" + cut_gain + ".pcm") + cut_samples( + testv_file, cut_file, num_channel, fs + "000", cut_from, cut_len, cut_gain + ) + return cut_file + def simulate( reference_path, -- GitLab From 8c548cc68824f36525931b8493dfdea0529a9ae9 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Mon, 16 Jan 2023 11:04:52 +0100 Subject: [PATCH 585/620] Added script to replace strings, respecting WMC_TOOL_SKIP --- scripts/strsub_wmc_skip.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 scripts/strsub_wmc_skip.py diff --git a/scripts/strsub_wmc_skip.py b/scripts/strsub_wmc_skip.py new file mode 100644 index 0000000000..4c4bfab64b --- /dev/null +++ b/scripts/strsub_wmc_skip.py @@ -0,0 +1,28 @@ +#!/bin/python3 + +import argparse +import re + +parser = argparse.ArgumentParser(description='Substitute strings in files, skipping blocks in WMC_TOOL_SKIP') +parser.add_argument('input',type=str,help='C source file') +parser.add_argument('target',type=str,help='Target string to replace') +parser.add_argument('dest',type=str,help='Destination string to insert') +args = parser.parse_args() +fileIn = args.input +target = args.target +dest = args.dest + +skip = 0 + +with open(fileIn, 'r') as f_in: + lines = f_in.readlines() +with open(fileIn, 'w') as f_out: + for line in lines: + if re.search(r'#define\W+WMC_TOOL_SKIP', line): + skip = 1 + elif re.search(r'#undef\W+WMC_TOOL_SKIP', line): + skip = 0 + else: + if not skip: + line = re.sub(r'\b%s\b' % (target), '%s' % (dest), line) + f_out.write(line) \ No newline at end of file -- GitLab From ad7d5805e676428e840875bd745c23b89bcb2a94 Mon Sep 17 00:00:00 2001 From: Tapani Pihlajakuja <tapani.pihlajakuja@nokia.com> Date: Mon, 16 Jan 2023 13:48:06 +0200 Subject: [PATCH 586/620] Fix issue 292 by removing the remaining callocs in VBAP. --- lib_com/options.h | 1 + lib_dec/ivas_vbap.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/lib_com/options.h b/lib_com/options.h index bea3e2670e..09e29ce40b 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -151,6 +151,7 @@ #define FIX_235 /* Issue 235: Deallocation of HR filter memory separately for lib_rend (ROM) and lib_util (from file) */ #define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ #define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ +#define FIX_292_VBAP_CALLOC_REMOVAL /* Nokia: Fixes issue 292 by removing the remnant callocs */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_dec/ivas_vbap.c b/lib_dec/ivas_vbap.c index a3ec6323cf..ecd3a1e6c9 100644 --- a/lib_dec/ivas_vbap.c +++ b/lib_dec/ivas_vbap.c @@ -200,7 +200,12 @@ ivas_error vbap_init_data( if ( is_success && virtual_bottom_type != NO_VIRTUAL_SPEAKER_NODE ) { +#ifdef FIX_292_VBAP_CALLOC_REMOVAL + vbap->bottom_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) ); + set_zero( vbap->bottom_virtual_speaker_node_division_gains, num_speaker_nodes ); +#else vbap->bottom_virtual_speaker_node_division_gains = (float *) calloc( num_speaker_nodes, sizeof( float ) ); +#endif is_success &= vbap->bottom_virtual_speaker_node_division_gains != NULL; speaker_node_azi_deg_internal[vbap->bottom_virtual_speaker_node_index] = 0.0f; speaker_node_ele_deg_internal[vbap->bottom_virtual_speaker_node_index] = -90.0f; @@ -208,7 +213,12 @@ ivas_error vbap_init_data( if ( is_success && virtual_top_type != NO_VIRTUAL_SPEAKER_NODE ) { +#ifdef FIX_292_VBAP_CALLOC_REMOVAL + vbap->top_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) ); + set_zero( vbap->top_virtual_speaker_node_division_gains, num_speaker_nodes ); +#else vbap->top_virtual_speaker_node_division_gains = (float *) calloc( num_speaker_nodes, sizeof( float ) ); +#endif is_success &= vbap->top_virtual_speaker_node_division_gains != NULL; speaker_node_azi_deg_internal[vbap->top_virtual_speaker_node_index] = 0.0f; speaker_node_ele_deg_internal[vbap->top_virtual_speaker_node_index] = 90.0f; @@ -216,7 +226,12 @@ ivas_error vbap_init_data( if ( is_success && virtual_back_type != NO_VIRTUAL_SPEAKER_NODE ) { +#ifdef FIX_292_VBAP_CALLOC_REMOVAL + vbap->back_virtual_speaker_node_division_gains = (float *) malloc( num_speaker_nodes * sizeof( float ) ); + set_zero( vbap->back_virtual_speaker_node_division_gains, num_speaker_nodes ); +#else vbap->back_virtual_speaker_node_division_gains = (float *) calloc( num_speaker_nodes, sizeof( float ) ); +#endif is_success &= vbap->back_virtual_speaker_node_division_gains != NULL; speaker_node_azi_deg_internal[vbap->back_virtual_speaker_node_index] = 180.0f; speaker_node_ele_deg_internal[vbap->back_virtual_speaker_node_index] = 0.0f; -- GitLab From d6fcf004a2557de4672cee25c477e767ac6b5c28 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 16 Jan 2023 13:59:32 +0100 Subject: [PATCH 587/620] add printout of first diff pos in samples and frames --- scripts/pyaudio3dtools/audioarray.py | 14 ++++++++++++++ tests/cmp_pcm.py | 16 ++++++++++++++-- 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/scripts/pyaudio3dtools/audioarray.py b/scripts/pyaudio3dtools/audioarray.py index 1221e25960..8263e8048b 100644 --- a/scripts/pyaudio3dtools/audioarray.py +++ b/scripts/pyaudio3dtools/audioarray.py @@ -248,6 +248,9 @@ def compare(ref: np.ndarray, test: np.ndarray, fs: int, per_frame: bool=True) -> "max_abs_diff_pos_channel": 0, "nsamples_diff": 0, "nsamples_diff_percentage": 0.0, + "first_diff_pos_sample": -1, + "first_diff_pos_channel": -1, + "first_diff_pos_frame": -1 } if per_frame: result["max_abs_diff_pos_frame"] = 0 @@ -266,6 +269,14 @@ def compare(ref: np.ndarray, test: np.ndarray, fs: int, per_frame: bool=True) -> max_diff_pos[0][0] // framesize, max_diff_pos[1][0], ] + + first_diff_pos = np.nonzero(diff) + first_diff_pos = [ + first_diff_pos[0][0], + first_diff_pos[0][0] // framesize, + first_diff_pos[1][0], + ] + nsamples_diff = np.nonzero(diff)[0].size nsamples_diff_percentage = nsamples_diff / (nsamples_total * nchannels) * 100.0 nframes = nsamples_total // framesize @@ -278,6 +289,9 @@ def compare(ref: np.ndarray, test: np.ndarray, fs: int, per_frame: bool=True) -> "max_abs_diff_pos_channel": max_diff_pos[2], "nsamples_diff": nsamples_diff, "nsamples_diff_percentage": nsamples_diff_percentage, + "first_diff_pos_sample": first_diff_pos[0], + "first_diff_pos_channel": first_diff_pos[2], + "first_diff_pos_frame": first_diff_pos[1], } if per_frame: diff --git a/tests/cmp_pcm.py b/tests/cmp_pcm.py index 2320018acb..a54aa2cf11 100755 --- a/tests/cmp_pcm.py +++ b/tests/cmp_pcm.py @@ -22,7 +22,11 @@ def cmp_pcm(file1, file2, out_config, fs) -> (int, str): out_config = "MONO" if out_config == "" else out_config if out_config.upper() not in pyivastest.constants.OC_TO_NCHANNELS: out_config_in_file_names = os.path.splitext(os.path.basename(out_config))[0] - nchannels = pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout(out_config) + nchannels = ( + pyivastest.IvasScriptsCommon.IvasScript.get_n_channels_from_ls_layout( + out_config + ) + ) else: out_config_in_file_names = out_config nchannels = pyivastest.constants.OC_TO_NCHANNELS[out_config.upper()] @@ -43,7 +47,9 @@ def cmp_pcm(file1, file2, out_config, fs) -> (int, str): return 0, "SUCCESS: Files are bitexact" else: diff_msg = f"MAXIMUM ABS DIFF ==> {cmp_result['max_abs_diff']} at sample num {cmp_result['max_abs_diff_pos_sample']} (assuming {nchannels} channels)" + first_msg = f"First diff found at sample num {cmp_result['first_diff_pos_sample']} in channel {cmp_result['first_diff_pos_channel']}, frame {cmp_result['first_diff_pos_frame']} (assuming {nchannels} channels, {fs} sampling rate)" print(diff_msg) + print(first_msg) return 1, "FAIL: Files have different content" @@ -51,7 +57,13 @@ if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument("file1", type=str) parser.add_argument("file2", type=str) - parser.add_argument("-o", "--out_config", type=str.upper, default="MONO", choices=pyivastest.constants.OC_TO_NCHANNELS.keys()) + parser.add_argument( + "-o", + "--out_config", + type=str.upper, + default="MONO", + choices=pyivastest.constants.OC_TO_NCHANNELS.keys(), + ) parser.add_argument("-s", "--sampling_rate", type=int, default=48000, dest="fs") args = parser.parse_args() -- GitLab From bdfd4fb45313cbc440b3553cab3da818d670eecc Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Mon, 16 Jan 2023 14:46:56 +0100 Subject: [PATCH 588/620] add commit sha to coverage report via title --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 9ee8356f34..8ea99665e7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -937,7 +937,8 @@ coverage-test-on-main-scheduled: - python3 -m pytest -q -n auto tests/renderer/test_renderer_be_comparison.py - bash ci/ivas_voip_be_test.sh coverage - lcov -c -d obj -o coverage.info - - genhtml coverage.info -o coverage + - commit_sha=$(git rev-parse HEAD) + - genhtml coverage.info -o coverage -t "Coverage on main @ $commit_sha" artifacts: name: "main-coverage-sha-$CI_COMMIT_SHORT_SHA" when: always -- GitLab From 3a2af8b1d0d79b6e696cd0b24bd109fca18abc4a Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Mon, 16 Jan 2023 14:52:42 +0100 Subject: [PATCH 589/620] Added scripts/prepare_mem_dryrun.py to prepare memory dry run --- scripts/prepare_mem_dryrun.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 scripts/prepare_mem_dryrun.py diff --git a/scripts/prepare_mem_dryrun.py b/scripts/prepare_mem_dryrun.py new file mode 100644 index 0000000000..21f5b81145 --- /dev/null +++ b/scripts/prepare_mem_dryrun.py @@ -0,0 +1,29 @@ +#!/bin/python3 + +import re, os, fnmatch + +sub = ['free','malloc','calloc'] +dirs = ['./lib_com','./lib_enc','./lib_dec','./lib_rend'] +suffix = '*.c' + +skip = 0 + +for d in dirs: + print(d) + for path, ds, files in os.walk(d): + for filename in fnmatch.filter(files, suffix): + fileIn = os.path.join(path, filename) + with open(fileIn, 'r') as f_in: + lines = f_in.readlines() + with open(fileIn, 'w') as f_out: + for line in lines: + if re.search(r'#define\W+WMC_TOOL_SKIP', line): + skip = 1 + elif re.search(r'#undef\W+WMC_TOOL_SKIP', line): + skip = 0 + else: + if not skip: + for s in sub: + line = re.sub(r'\b%s\b' % (s), '%s' % (s+'_'), line) + f_out.write(line) + -- GitLab From 46c4adf314abb171ae1938422356cb40a7542f36 Mon Sep 17 00:00:00 2001 From: Erik Norvell <erik.norvell@ericsson.com> Date: Mon, 16 Jan 2023 14:54:39 +0100 Subject: [PATCH 590/620] Update smoke_test.sh with new prep script --- ci/smoke_test.sh | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index 3e3e8d377d..fdf84e1b44 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -62,9 +62,7 @@ if [ $BUILD -eq 1 ];then make clean # Replace free -> free_, malloc -> malloc_, calloc -> calloc_ - sed -i 's/\bmalloc\b/malloc_/g' lib_{com,enc,dec,rend}/*.c - sed -i 's/\bcalloc\b/calloc_/g' lib_{com,enc,dec,rend}/*.c - sed -i 's/\bfree\b/free_/g' lib_{com,enc,dec,rend}/*.c + ./scripts/prepare_mem_dryrun.py # Enable WMOPS and disable DEBUGGING sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" lib_com/options.h -- GitLab From a5e105d7b5f48eb5a9934787d508717f1c9b2d0b Mon Sep 17 00:00:00 2001 From: norvell <erik.norvell@ericsson.com> Date: Mon, 16 Jan 2023 14:39:09 +0000 Subject: [PATCH 591/620] Update smoke_test.sh --- ci/smoke_test.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ci/smoke_test.sh b/ci/smoke_test.sh index fdf84e1b44..41b34db51d 100755 --- a/ci/smoke_test.sh +++ b/ci/smoke_test.sh @@ -67,7 +67,7 @@ if [ $BUILD -eq 1 ];then # Enable WMOPS and disable DEBUGGING sed -i.bak -e "s/\/\*\s*\(#define\s*WMOPS\)\s*\*\//\1/g" lib_com/options.h sed -i.bak -e "s/\/\/\s*\(#define\s*WMOPS\)/\1/g" lib_com/options.h - sed -i.bak -e "s/\s*\(#define\s*DEBUGGING\)/\/\*\1*\//g" lib_com/options.h +# sed -i.bak -e "s/\s*\(#define\s*DEBUGGING\)/\/\*\1*\//g" lib_com/options.h make all -j @@ -78,4 +78,4 @@ fi modes_with_no_ext_out=$(./scripts/runIvasCodec.py -l | grep -v MASA | grep -v ISM) ./scripts/runIvasCodec.py -m $modes_with_no_ext_out -p $cfg -U 1 $WORKERS --decoder_only --jbm_file $dly_profile | tee smoke_test_output_jbm_noEXT.txt -./scripts/runIvasCodec.py -C MASA ISM1 ISM2 ISM3 ISM4 -p $cfg -U 1 $WORKERS --decoder_only --jbm_file $dly_profile --oc BINAURAL BINAURAL_ROOM mono stereo FOA HOA3 5_1 7_1_4 | tee -a smoke_test_output_jbm_noEXT.txt \ No newline at end of file +./scripts/runIvasCodec.py -C MASA ISM1 ISM2 ISM3 ISM4 -p $cfg -U 1 $WORKERS --decoder_only --jbm_file $dly_profile --oc BINAURAL BINAURAL_ROOM mono stereo FOA HOA3 5_1 7_1_4 | tee -a smoke_test_output_jbm_noEXT.txt -- GitLab From 6206d93fe94c0836ecd51a10463ed504811fb49e Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Mon, 16 Jan 2023 16:21:29 +0100 Subject: [PATCH 592/620] add support for a panning matrix in CLI via a text file --- apps/renderer.c | 154 ++++++++++++++++++++++++++++++++++++++++---- lib_rend/lib_rend.c | 4 +- lib_rend/lib_rend.h | 2 +- 3 files changed, 145 insertions(+), 15 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 6b7549c376..841920e96c 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -133,10 +133,12 @@ typedef struct bool sceneDescriptionInput; float inputGainGlobal; /* Linear gain (not in dB) */ #ifdef REND_CFG_LFE - bool pan_lfe; + bool lfePanningEnabled; float lfeConfigGain; /* Linear gain (not in dB) */ float lfeConfigAzimuth; float lfeConfigElevation; + bool lfeCustomRoutingEnabled; + char inLfePanningMatrixFile[RENDERER_MAX_CLI_ARG_LENGTH]; #endif } CmdlnArgs; @@ -152,7 +154,12 @@ typedef enum CmdLnOptionId_renderConfigFile, CmdLnOptionId_noDiegeticPan, CmdLnOptionId_orientationTracking, +#ifdef REND_CFG_LFE + CmdlnOptionId_lfePosition, + CmdlnOptionId_lfeMatrix, +#else CmdLnOptionId_customLfeRouting, +#endif CmdLnOptionId_noDelayCmp, CmdLnOptionId_quietModeEnabled, CmdLnOptionId_inputMetadata, @@ -229,10 +236,10 @@ static const CmdLnParser_Option cliOptions[] = { }, { #ifdef REND_CFG_LFE - .id = CmdLnOptionId_customLfeRouting, - .match = "lfe_config", - .matchShort = "lfe", - .description = "LFE Routing configuration. Comma-delimited triplet of [gain, azimuth, elevation] where gain is linear (like --gain, -g) and azimuth, elevation are in degrees.\nIf specified, overrides routing of input LFE to output LFE for outputs that have the LFE channel available.", + .id = CmdlnOptionId_lfePosition, + .match = "lfe_position", + .matchShort = "lp", + .description = "Output LFE position. Comma-delimited triplet of [gain, azimuth, elevation] where gain is linear (like --gain, -g) and azimuth, elevation are in degrees.\nIf specified, overrides the default behavior which attempts to map input to output LFE channel(s)", #else /* TODO(sgi): Replace with more configurable input, e.g. ask for a list of triplets: (gain, azimuth, elevation) to place LFE signal */ /* rename to "lfeHandling" */ @@ -242,6 +249,12 @@ static const CmdLnParser_Option cliOptions[] = { .description = "[flag] If set, renderer tries to render LFE into other channels in an optimal way when rendering to configs w/o LFE", #endif }, +#ifdef REND_CFG_LFE + { .id = CmdlnOptionId_lfeMatrix, + .match = "lfe_matrix", + .matchShort = "lm", + .description = "LFE panning matrix. File (CSV table) containing a matrix of dimensions [ num_input_lfe x num_output_channels ] with elements specifying linear routing gain (like --gain, -g). \nIf specified, overrides the output LFE position option and the default behavior which attempts to map input to output LFE channel(s)" }, +#endif { .id = CmdLnOptionId_noDelayCmp, .match = "no_delay_cmp", @@ -347,6 +360,12 @@ static void parseMetadata( IsmPositionProvider *positionProvider, MasaFileReader **masaReaders ); +#ifdef REND_CFG_LFE +static ivas_error parseLfePanMtxFile( + const char *lfeRoutingMatrixFilePath, + IVAS_REND_LfePanMtx *lfePanMtx ); +#endif + static void convert_backslash( char *str ); static void remove_cr( char *str ); @@ -563,6 +582,9 @@ int main( convert_backslash( args.inputFilePath ); convert_backslash( args.outputFilePath ); convert_backslash( args.headRotationFilePath ); +#ifdef REND_CFG_LFE + convert_backslash( args.inLfePanningMatrixFile ); +#endif if ( !isEmptyString( args.headRotationFilePath ) ) { @@ -669,6 +691,21 @@ int main( } } +#ifdef REND_CFG_LFE + IVAS_REND_LfePanMtx lfePanMatrix; + + /* parse input LFE panning matrix */ + if ( args.lfeCustomRoutingEnabled && !isEmptyString( args.inLfePanningMatrixFile ) ) + { + /* TODO tmu: how should we handle this on CLI for multiple MC inputs? */ + if ( ( error = parseLfePanMtxFile( args.inLfePanningMatrixFile, &lfePanMatrix ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); + exit( -1 ); + } + } +#endif + for ( i = 0; i < args.inConfig.numMultiChannelBuses; ++i ) { if ( ( error = IVAS_REND_AddInput( hIvasRend, args.inConfig.multiChannelBuses[i].audioConfig, &mcIds[i] ) ) != IVAS_ERR_OK ) @@ -693,7 +730,23 @@ int main( } #ifdef REND_CFG_LFE - if ( args.pan_lfe ) + /* set panning matrix for input LFE */ + if ( args.lfeCustomRoutingEnabled ) + { + if ( args.lfePanningEnabled ) + { + fprintf( stdout, "Warning LFE position specified as well as panning matrix! Ignoring position and using gains from panning matrix\n" ); + args.lfePanningEnabled = false; + } + + if ( ( error = IVAS_REND_SetInputLfeMtx( hIvasRend, mcIds[i], (const IVAS_REND_LfePanMtx *) &lfePanMatrix ) ) != IVAS_ERR_OK ) + { + fprintf( stderr, "Error: %s\n", ivas_error_to_string( error ) ); + exit( -1 ); + } + } + /* set panning gains for input LFE */ + else if ( args.lfePanningEnabled ) { if ( ( error = IVAS_REND_SetInputLfePos( hIvasRend, mcIds[i], args.lfeConfigGain, args.lfeConfigAzimuth, args.lfeConfigElevation ) ) != IVAS_ERR_OK ) { @@ -1366,7 +1419,7 @@ static IVAS_REND_AudioConfig parseAudioConfig( } #ifdef REND_CFG_LFE -static bool parseLfeConfig( +static bool parseLfePositionConfig( const char *value, float *lfeGain, float *lfeAzimuth, @@ -1511,10 +1564,13 @@ static CmdlnArgs defaultArgs( args.inputGainGlobal = 1.0f; #ifdef REND_CFG_LFE - args.pan_lfe = false; + args.lfePanningEnabled = false; args.lfeConfigGain = 1.0f; args.lfeConfigAzimuth = 0; args.lfeConfigElevation = 0; + + args.lfeCustomRoutingEnabled = false; + clearString( args.inLfePanningMatrixFile ); #endif return args; } @@ -1608,20 +1664,28 @@ static void parseOption( exit( -1 ); } break; - case CmdLnOptionId_customLfeRouting: #ifdef REND_CFG_LFE + case CmdlnOptionId_lfePosition: assert( numOptionValues == 1 ); - if ( !parseLfeConfig( optionValues[0], &args->lfeConfigGain, &args->lfeConfigAzimuth, &args->lfeConfigElevation ) ) + if ( !parseLfePositionConfig( optionValues[0], &args->lfeConfigGain, &args->lfeConfigAzimuth, &args->lfeConfigElevation ) ) { - fprintf( stderr, "Unknown or invalid option for LFE configuration: %s\n", optionValues[0] ); + fprintf( stderr, "Unknown or invalid option for LFE position: %s\n", optionValues[0] ); exit( -1 ); } - args->pan_lfe = true; + args->lfePanningEnabled = true; break; #else + case CmdLnOptionId_customLfeRouting: assert( 0 && "Not yet implemented in CLI" ); #endif break; +#ifdef REND_CFG_LFE + case CmdlnOptionId_lfeMatrix: + assert( numOptionValues == 1 ); + strncpy( args->inLfePanningMatrixFile, optionValues[0], RENDERER_MAX_CLI_ARG_LENGTH - 1 ); + args->lfeCustomRoutingEnabled = true; + break; +#endif case CmdLnOptionId_noDelayCmp: assert( numOptionValues == 0 ); args->delayCompensationEnabled = false; @@ -2381,6 +2445,72 @@ static void printSupportedAudioConfigs() return; } +#ifdef REND_CFG_LFE +static ivas_error parseLfePanMtxFile( + const char *lfeRoutingMatrixFilePath, + IVAS_REND_LfePanMtx *lfePanMtx ) +{ + int16_t lfe_in, ch_out; + const char *tok; + char line[200]; /* > (10 chars * IVAS_MAX_OUTPUT_CHANNELS) i.e. "-999, " */ + FILE *mtxFile; + + if ( strlen( lfeRoutingMatrixFilePath ) < 1 ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + mtxFile = fopen( lfeRoutingMatrixFilePath, "r" ); + + if ( !mtxFile ) + { + return IVAS_ERR_FAILED_FILE_OPEN; + } + + /* set default panning matrix to all zeros + any subsequent issue in file reading will gracefully exit the function */ + for ( lfe_in = 0; lfe_in < IVAS_MAX_INPUT_LFE_CHANNELS; lfe_in++ ) + { + set_zero( ( *lfePanMtx )[lfe_in], IVAS_MAX_OUTPUT_CHANNELS ); + } + + for ( lfe_in = 0, ch_out = 0; lfe_in < IVAS_MAX_INPUT_LFE_CHANNELS; lfe_in++ ) + { + /* if EOF or a blank line is encountered, simply return */ + if ( ( fgets( line, 200, mtxFile ) == NULL ) && ( strcmp( line, "\n" ) == 0 ) && ( strcmp( line, "\r\n" ) == 0 ) ) + { + fclose( mtxFile ); + return IVAS_ERR_OK; + } + + for ( tok = strtok( line, "," ); tok && *tok; tok = strtok( NULL, ",\n" ) ) + { + while ( *tok == ' ' ) + { + tok++; + } + + if ( *tok == '\0' ) + { + continue; + } + if ( ch_out > IVAS_MAX_OUTPUT_CHANNELS ) + { + break; + } + else + { + ( *lfePanMtx )[lfe_in][ch_out] = (float) atof( tok ); + ch_out++; + } + } + } + + fclose( mtxFile ); + return IVAS_ERR_OK; +} +#endif + // VE2AT: possibly move these functions to cmdln_parser.c ? static void convert_backslash( char *str ) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 206985c23d..b92165ae28 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3047,7 +3047,7 @@ ivas_error IVAS_REND_SetInputGain( ivas_error IVAS_REND_SetInputLfeMtx( IVAS_REND_HANDLE hIvasRend, const IVAS_REND_InputId inputId, - const IVAS_REND_LfePanMtx lfePanMtx ) + const IVAS_REND_LfePanMtx *lfePanMtx ) { int16_t i; input_base *pInputBase; @@ -3076,7 +3076,7 @@ ivas_error IVAS_REND_SetInputLfeMtx( /* copy LFE panning matrix */ for ( i = 0; i < IVAS_MAX_INPUT_LFE_CHANNELS; i++ ) { - mvr2r( lfePanMtx[i], pInputMc->lfeRouting.lfePanMtx[i], IVAS_MAX_OUTPUT_CHANNELS ); + mvr2r( ( *lfePanMtx )[i], pInputMc->lfeRouting.lfePanMtx[i], IVAS_MAX_OUTPUT_CHANNELS ); } if ( ( error = updateMcPanGains( pInputMc, hIvasRend->outputConfig ) ) != IVAS_ERR_OK ) diff --git a/lib_rend/lib_rend.h b/lib_rend/lib_rend.h index 4bcce88400..7ef4664ccf 100644 --- a/lib_rend/lib_rend.h +++ b/lib_rend/lib_rend.h @@ -201,7 +201,7 @@ ivas_error IVAS_REND_SetInputGain( ivas_error IVAS_REND_SetInputLfeMtx( IVAS_REND_HANDLE hIvasRend, /* i/o: Renderer handle */ const IVAS_REND_InputId inputId, /* i : ID of the input */ - const IVAS_REND_LfePanMtx lfePanMtx /* i : LFE panning matrix */ + const IVAS_REND_LfePanMtx *lfePanMtx /* i : LFE panning matrix */ ); #endif -- GitLab From 734142ae4c30382145011786c9dd1cef5c4cf41e Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Mon, 16 Jan 2023 17:16:54 +0100 Subject: [PATCH 593/620] remove random sampling in test_renderer.py - exhaustive run takes ~5s for 312 tests --- tests/renderer/test_renderer.py | 62 ++++++++++++++++----------------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/tests/renderer/test_renderer.py b/tests/renderer/test_renderer.py index b8faad0ec5..c43dd68d19 100644 --- a/tests/renderer/test_renderer.py +++ b/tests/renderer/test_renderer.py @@ -27,31 +27,29 @@ """ -import random import pytest from .utils import * -random.seed(42) """ Ambisonics """ -@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_AMBI, 1)) +@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics(test_info, in_fmt, out_fmt): run_renderer(in_fmt, out_fmt) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_AMBI, 1)) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics_binaural_static(test_info, in_fmt, out_fmt): run_renderer(in_fmt, out_fmt) -@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) +@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_AMBI, 1)) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): run_renderer( in_fmt, @@ -63,14 +61,14 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): """ Multichannel """ -@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MC, 2)) +@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) def test_multichannel(test_info, in_fmt, out_fmt): run_renderer(in_fmt, out_fmt) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MC, 2)) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) def test_multichannel_binaural_static(test_info, in_fmt, out_fmt): if in_fmt in ["MONO", "STEREO"]: pytest.skip("MONO or STEREO to Binaural rendering unsupported") @@ -78,9 +76,9 @@ def test_multichannel_binaural_static(test_info, in_fmt, out_fmt): run_renderer(in_fmt, out_fmt) -@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) +@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MC, 2)) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): if in_fmt in ["MONO", "STEREO"]: pytest.skip("MONO or STEREO to Binaural rendering unsupported") @@ -102,14 +100,14 @@ def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file """ ISM """ -@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_ISM, 2)) +@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) def test_ism(test_info, in_fmt, out_fmt): run_renderer(in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt]) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_ISM, 2)) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) def test_ism_binaural_static(test_info, in_fmt, out_fmt): try: in_meta_files = FORMAT_TO_METADATA_FILES[in_fmt] @@ -122,9 +120,9 @@ def test_ism_binaural_static(test_info, in_fmt, out_fmt): run_renderer(in_fmt, out_fmt, in_meta_files=in_meta_files) -@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) +@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_ISM, 2)) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_ISM) def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): try: in_meta_files = FORMAT_TO_METADATA_FILES[in_fmt] @@ -150,8 +148,8 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): """ MASA """ -@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) -@pytest.mark.parametrize("in_fmt", random.sample(INPUT_FORMATS_MASA, 1)) +@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) +@pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) def test_masa(test_info, in_fmt, out_fmt): # # TODO: implement MASA in Python, compare BE # compare_renderer_vs_pyscripts( test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] @@ -160,8 +158,8 @@ def test_masa(test_info, in_fmt, out_fmt): # MASA inputs not supported yet -# @pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS, 2)) -# @pytest.mark.parametrize("in_fmt", random.sample(METADATA_SCENES_TO_TEST_NO_BE, 2)) +# @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) +# @pytest.mark.parametrize("in_fmt", METADATA_SCENES_TO_TEST_NO_BE) # def test_metadata_masa(test_info, in_fmt, out_fmt): # # TODO: unify with test_metadata once Python supports MASA # cut, cut_fs = run_renderer( @@ -174,14 +172,14 @@ def test_masa(test_info, in_fmt, out_fmt): """ Custom loudspeaker layouts """ -@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) -@pytest.mark.parametrize("in_layout", random.sample(CUSTOM_LS_TO_TEST, 1)) +@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) +@pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input(test_info, in_layout, out_fmt): run_renderer(CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt) -@pytest.mark.parametrize("out_fmt", random.sample(CUSTOM_LS_TO_TEST, 1)) -@pytest.mark.parametrize("in_fmt", random.sample(OUTPUT_FORMATS[2:], 2)) +@pytest.mark.parametrize("out_fmt", CUSTOM_LS_TO_TEST) +@pytest.mark.parametrize("in_fmt", OUTPUT_FORMATS[2:]) def test_custom_ls_output(test_info, in_fmt, out_fmt): run_renderer( in_fmt, @@ -189,8 +187,8 @@ def test_custom_ls_output(test_info, in_fmt, out_fmt): ) -@pytest.mark.parametrize("out_fmt", random.sample(CUSTOM_LS_TO_TEST, 1)) -@pytest.mark.parametrize("in_fmt", random.sample(CUSTOM_LS_TO_TEST, 1)) +@pytest.mark.parametrize("out_fmt", CUSTOM_LS_TO_TEST) +@pytest.mark.parametrize("in_fmt", CUSTOM_LS_TO_TEST) def test_custom_ls_input_output(test_info, in_fmt, out_fmt): run_renderer( CUSTOM_LAYOUT_DIR.joinpath(f"{in_fmt}.txt"), @@ -199,7 +197,7 @@ def test_custom_ls_input_output(test_info, in_fmt, out_fmt): @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_layout", random.sample(CUSTOM_LS_TO_TEST, 2)) +@pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input_binaural(test_info, in_layout, out_fmt): run_renderer( CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), @@ -207,9 +205,9 @@ def test_custom_ls_input_binaural(test_info, in_layout, out_fmt): ) -@pytest.mark.parametrize("trj_file", random.sample(HR_TRAJECTORIES_TO_TEST, 1)) +@pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) -@pytest.mark.parametrize("in_layout", random.sample(CUSTOM_LS_TO_TEST, 2)) +@pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input_binaural_headrotation(test_info, in_layout, out_fmt, trj_file): run_renderer( CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), @@ -221,8 +219,8 @@ def test_custom_ls_input_binaural_headrotation(test_info, in_layout, out_fmt, tr """ Metadata / scene description input """ -@pytest.mark.parametrize("out_fmt", random.sample(OUTPUT_FORMATS[2:], 1)) -@pytest.mark.parametrize("in_fmt", random.sample(METADATA_SCENES_TO_TEST, 1)) +@pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) +@pytest.mark.parametrize("in_fmt", METADATA_SCENES_TO_TEST) def test_metadata(test_info, in_fmt, out_fmt): run_renderer( "META", -- GitLab From 7e84a542dc71c525f55fa1dee580f6bf585693fb Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Mon, 16 Jan 2023 17:25:38 +0100 Subject: [PATCH 594/620] remove run_test_bin_latencys.py from repository root --- run_test_bin_latencys.py | 204 --------------------------------------- 1 file changed, 204 deletions(-) delete mode 100644 run_test_bin_latencys.py diff --git a/run_test_bin_latencys.py b/run_test_bin_latencys.py deleted file mode 100644 index 36101cdac8..0000000000 --- a/run_test_bin_latencys.py +++ /dev/null @@ -1,204 +0,0 @@ - - -import os -import subprocess -import errno -import tempfile as tf -import sys -from scipy.io.wavfile import read, write -import numpy as np - -ivas_path = 'D:/DEV/ivas-3gpp/' - -trunk_path = ivas_path + 'ivas-codec/' -script_path = trunk_path + 'scripts/' -inpath = script_path + 'testv/' -outpath = script_path + 'testv/out/' -trajpath = script_path + 'trajectories/' - -if sys.platform.startswith('win32'): - unit_test_exe = trunk_path + 'build/IVAS_crend_unit_test.exe' - ivas_cod_exe = trunk_path + 'build/IVAS_cod.exe' - ivas_dec_exe = trunk_path + 'build/IVAS_dec.exe' - -file_name_7_1_root = 'test_8ch_' - -file_name_7_1_4_root = 'dirac_12ch_' - -sampleRates = ['48', '16', '32'] -# sampleRates = ['48'] - -for sr in sampleRates: - file_name_7_1_4 = inpath + file_name_7_1_4_root + sr + 'k' - inFileName_7_1_4 = file_name_7_1_4 + '.wav' - - file_name_7_1 = inpath + file_name_7_1_root + sr + 'k' - inFileName_7_1 = file_name_7_1 + '.wav' - - # encode 7.1.4 512kb - cmd = [ivas_cod_exe, '-MC', '7_1_4', '-max_band', 'FB', '512000', sr, - file_name_7_1_4 + '.wav', file_name_7_1_4 + '_512kb.ptk'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # encode 7.1 512kb - cmd = [ivas_cod_exe, '-MC', '7_1', '-max_band', 'FB', '512000', sr, - file_name_7_1 + '.wav', file_name_7_1 + '_512kb.ptk'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # encode 7.1.4 128kb PARAMMC - cmd = [ivas_cod_exe, '-MC', '7_1_4', '-max_band', 'FB', '128000', sr, - file_name_7_1_4 + '.wav', file_name_7_1_4 + '_128kb.ptk'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # encode 7.1 64kb PARAMMC - cmd = [ivas_cod_exe, '-MC', '7_1', '-max_band', 'FB', '64000', sr, - file_name_7_1 + '.wav', file_name_7_1 + '_64kb.ptk'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode 7_1_4 - cmd = [ivas_dec_exe, '7_1_4', sr, file_name_7_1_4 + - '_512kb.ptk', file_name_7_1_4 + '_enc_dec.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode 7_1 - cmd = [ivas_dec_exe, '7_1', sr, file_name_7_1 + - '_512kb.ptk', file_name_7_1 + '_enc_dec.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - -# -render_config testv/config_renderer.cfg -# # decode binaural crend 7.1.4 -# cmd = [ivas_dec_exe, '-render_config', 'script/testv/config_renderer_fastconv.cfg', 'BINAURAL', sr, file_name_7_1_4 + -# '_512kb.ptk', file_name_7_1_4 + '-hrir.wav'] - -# print(' '.join(cmd)) -# subprocess.call(cmd, shell=False) - -# # decode binaural room crend 7.1.4 -# cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, -# file_name_7_1_4 + '_128kb.ptk', file_name_7_1_4 + '-parammc_brir.wav'] - -# print(' '.join(cmd)) -# subprocess.call(cmd, shell=False) - - # decode binaural crend 7.1.4 - cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1_4 + - '_512kb.ptk', file_name_7_1_4 + '-hrir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural room crend 7.1.4 - cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, - file_name_7_1_4 + '_128kb.ptk', file_name_7_1_4 + '-parammc_brir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural crend 7.1.4 - cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1_4 + - '_128kb.ptk', file_name_7_1_4 + '-parammc_hrir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural room crend 7.1.4 - cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, - file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-brir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - # decode binaural crend 7.1 - cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1 + - '_512kb.ptk', file_name_7_1 + '-hrir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural room crend 7.1 - cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, file_name_7_1 + - '_512kb.ptk', file_name_7_1 + '-brir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural fastconv 7.1 - cmd = [ivas_dec_exe, 'BINAURAL', sr, file_name_7_1 + - '_64kb.ptk', file_name_7_1 + '-parammc-hrir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural room fastconv 7.1 - cmd = [ivas_dec_exe, 'BINAURAL_ROOM', sr, file_name_7_1 + - '_64kb.ptk', file_name_7_1 + '-parammc-brir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural TD 7.1.4 - cmd = [ivas_dec_exe, '-T', trajpath + '/const000.csv', 'BINAURAL', sr, - file_name_7_1_4 + '_512kb.ptk', file_name_7_1_4 + '-td-hrir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - # decode binaural TD 7.1 - cmd = [ivas_dec_exe, '-T', trajpath + '/const000.csv', 'BINAURAL', sr, - file_name_7_1 + '_512kb.ptk', file_name_7_1 + '-td-hrir.wav'] - - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - -# render CICP19 to binaural -sampleRates = ['16', '32', '48'] -# option = ['-limiter', '-lp_lfe'] -option = ['-lp_lfe'] - -for sr in sampleRates: - file_name_7_1_4 = inpath + file_name_7_1_4_root + sr + 'k' - inFileName_7_1_4 = file_name_7_1_4 + '.wav' - - file_name_7_1 = inpath + file_name_7_1_root + sr + 'k' - inFileName_7_1 = file_name_7_1 + '.wav' - - cmd = [unit_test_exe, '-test', '1', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-i', - inFileName_7_1_4, '-o', file_name_7_1_4 + '-hrir-crend-u.wav'] - cmd = cmd + option - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - cmd = [unit_test_exe, '-test', '1', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-BRIR', - '-i', inFileName_7_1_4, '-o', file_name_7_1_4 + '-brir-crend-u.wav'] - cmd = cmd + option - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - cmd = [unit_test_exe, '-test', '2', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-i', - inFileName_7_1_4, '-o', file_name_7_1_4 + '-hrir-fastconv-u.wav'] - cmd = cmd + option - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - cmd = [unit_test_exe, '-test', '2', '-sr', sr, '-ifmt', '7', '-ofmt', '2', '-BRIR', - '-i', inFileName_7_1_4, '-o', file_name_7_1_4 + '-brir-fastconv-u.wav'] - cmd = cmd + option - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) - - cmd = [unit_test_exe, '-test', '4', '-sr', sr, '-ifmt', '7', '-ofmt', '2', - '-i', inFileName_7_1_4, '-o', file_name_7_1_4 + '-hrir-td-u.wav'] - cmd = cmd + option - print(' '.join(cmd)) - subprocess.call(cmd, shell=False) -- GitLab From 522595ba0ee5caae1c8991e7e0a56de87da4f95b Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Mon, 16 Jan 2023 17:27:32 +0100 Subject: [PATCH 595/620] modify cmake build commands for CI --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 715194beff..2c518c1e9f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -333,7 +333,7 @@ external-renderer-cmake-asan-pytest: stage: test script: - python3 ci/disable_ram_counting.py - - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true + - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan - cmake --build cmake-build -- -j - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py @@ -356,7 +356,7 @@ external-renderer-cmake-msan-pytest: stage: test script: - python3 ci/disable_ram_counting.py - - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true + - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan - cmake --build cmake-build -- -j - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py -- GitLab From 58bb2889954fa6183c53dc2fc246d0973d05d312 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 11:07:11 +0100 Subject: [PATCH 596/620] Revert "modify cmake build commands for CI" This reverts commit 522595ba0ee5caae1c8991e7e0a56de87da4f95b. --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c518c1e9f..715194beff 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -333,7 +333,7 @@ external-renderer-cmake-asan-pytest: stage: test script: - python3 ci/disable_ram_counting.py - - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan + - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=asan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py @@ -356,7 +356,7 @@ external-renderer-cmake-msan-pytest: stage: test script: - python3 ci/disable_ram_counting.py - - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan + - cmake -B cmake-build -G "Unix Makefiles" -DCLANG=msan -DCOPY_EXECUTABLES_FROM_BUILD_DIR=true - cmake --build cmake-build -- -j - python3 -m pytest -q -n auto -rA --junit-xml=report-junit.xml tests/renderer/test_renderer.py -- GitLab From f429aa5775cb36b794e720c114aa4f771638587c Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 10 Jan 2023 09:30:44 +0100 Subject: [PATCH 597/620] Fall back to default position if none given for ISM inputs --- apps/renderer.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/renderer.c b/apps/renderer.c index 6084b9f46a..c7607c7ea4 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1619,14 +1619,21 @@ void IsmPositionProvider_getNextFrame( for ( objIdx = 0; objIdx < positionProvider->numObjects; ++objIdx ) { + /* If ISM metadata reader is open, read from metadata file */ if ( positionProvider->ismReaders[objIdx] != NULL ) { getMetadataFromFileReader( positionProvider->ismReaders[objIdx], objectMetadataBuffer, objIdx ); } - else + /* Otherwise, if positions were provided in a scene description file, use them */ + else if ( positionProvider->positions[objIdx] != NULL ) { readFromShorthandMetadata( positionProvider, objectMetadataBuffer, objIdx ); } + /* Otherwise fall back to default position */ + else { + objectMetadataBuffer->positions[objIdx].azimuth = 0.0f; + objectMetadataBuffer->positions[objIdx].elevation = 0.0f; + } /* Wrap azimuth to lie within (-180, 180] range */ while ( objectMetadataBuffer->positions[objIdx].azimuth < 0.0f ) -- GitLab From 2df7539307dedbcffb8f2a85045d71acbb1f385e Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 10:53:30 +0100 Subject: [PATCH 598/620] Fix confusing error message when ism format is incorrectly specified on command line. --- apps/renderer.c | 47 ++++++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 17 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index c7607c7ea4..3fd7748ada 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1041,6 +1041,20 @@ static IVAS_REND_AudioConfig ambisonicsOrderToEnum( return IVAS_REND_AUDIO_CONFIG_UNKNOWN; } +static const CmdLnParser_Option *findOptionById( + const int32_t id ) +{ + for ( int32_t i = 0; i < numCliOptions; ++i ) + { + if ( cliOptions[i].id == id ) + { + return &cliOptions[i]; + } + } + + return NULL; +} + static bool parseInConfig( const char *inFormatStr, InputConfig *inConfig, @@ -1129,7 +1143,8 @@ static bool parseInConfig( if ( error == IVAS_ERR_FAILED_FILE_OPEN ) { /* Failed to open with given string - most likely wasn't a file path */ - fprintf( stderr, "Unsupported input format: %s\n", inFormatStr ); + const CmdLnParser_Option *listOption = findOptionById( CmdLnOptionId_listFormats ); + fprintf( stderr, "Unsupported input format: %s. To list valid formats, use option --%s.\n", inFormatStr, listOption->match ); return false; } if ( error != IVAS_ERR_OK ) @@ -1144,10 +1159,13 @@ static bool parseInConfig( } break; default: + { /* Default case covers formats that are defined in the IVAS_REND_AudioConfig enum, * but cannot be used at input, e.g. BINAURAL */ - fprintf( stderr, "Unsupported input format: %s\n", inFormatStr ); + const CmdLnParser_Option *listOption = findOptionById( CmdLnOptionId_listFormats ); + fprintf( stderr, "Unsupported input format: %s. To list valid formats, use option --%s.\n", inFormatStr, listOption->match ); return false; + } } return true; @@ -1285,7 +1303,16 @@ static IVAS_REND_AudioConfig parseAudioConfig( } if ( strncmp( charBuf, "ISM", 3 ) == 0 ) { - return IVAS_REND_AUDIO_CONFIG_OBJECT; + /* Accept input config as ISM only if the 4th character is a number from 1 to 4. + * Otherwise, do nothing. Unknown audio config will be returned. */ + switch ( charBuf[3] ) + { + case '1': + case '2': + case '3': + case '4': + return IVAS_REND_AUDIO_CONFIG_OBJECT; + } } if ( strncmp( charBuf, "MASA", 4 ) == 0 ) { @@ -1313,20 +1340,6 @@ static IVAS_REND_AudioConfig parseAudioConfig( return IVAS_REND_AUDIO_CONFIG_UNKNOWN; } -static const CmdLnParser_Option *findOptionById( - const int32_t id ) -{ - for ( int32_t i = 0; i < numCliOptions; ++i ) - { - if ( cliOptions[i].id == id ) - { - return &cliOptions[i]; - } - } - - return NULL; -} - static bool checkRequiredArgs( CmdlnArgs args ) { -- GitLab From ba0be6996c50dcd4881dcfd9a201f8776e792b1c Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 11:15:57 +0100 Subject: [PATCH 599/620] Fix warnings on MacOS + AppleClang --- apps/renderer.c | 2 +- lib_rend/lib_rend.c | 2 +- lib_util/ism_file_writer.c | 4 ++-- lib_util/masa_file_writer.c | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index 3fd7748ada..e38f523680 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -2034,7 +2034,7 @@ static void parseMasa( if ( strncmp( line, "MASA", 4 ) != 0 ) { char numTcs = *line; - sprintf( line, "MASA%c", numTcs ); + snprintf( line, 6 /* write at most 6 characters: MASAx + null termination */, "MASA%c", numTcs ); } inConfig->masaBuses[idx].audioConfig = parseAudioConfig( line ); diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 028b0f6274..3303556258 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -2563,7 +2563,7 @@ static IVAS_REND_InputId makeInputId( /* Put config type in second byte (from LSB), put index + 1 in first byte * * Index is incremented here so that a valid ID can never be 0. */ - return (IVAS_REND_InputId) ( ( getAudioConfigType( config ) << 8 ) | ( inputIndex + 1 ) ); + return (IVAS_REND_InputId) ( ( ( (uint32_t) getAudioConfigType( config ) ) << 8 ) | ( inputIndex + 1 ) ); } static ivas_error getInputById( diff --git a/lib_util/ism_file_writer.c b/lib_util/ism_file_writer.c index ac90e7b1eb..63e5ce5c46 100644 --- a/lib_util/ism_file_writer.c +++ b/lib_util/ism_file_writer.c @@ -64,7 +64,7 @@ ivas_error IsmFileWriter_open( FILE *file; strncpy( metadata_filename_loc, filePathWav, sizeof( metadata_filename_loc ) - 1 ); - sprintf( ext_meta, ".%d.csv", obj_num ); + snprintf( ext_meta, sizeof( ext_meta ), ".%d.csv", obj_num ); const int32_t maxNumCharactersToAppend = (int32_t) sizeof( metadata_filename_loc ) - strlen( metadata_filename_loc ) - 1; strncat( metadata_filename_loc, ext_meta, maxNumCharactersToAppend ); @@ -116,7 +116,7 @@ ivas_error IsmFileWriter_writeFrame( file = ismWriter->file; /* IVAS_fmToDo: work in progress; currently position_azimuth, position_elevation, position_radius, spread, gain_factor */ - sprintf( char_buff, "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor ); + snprintf( char_buff, sizeof( char_buff ), "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor ); if ( file ) { diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c index e8f9a09c68..1532f62dda 100644 --- a/lib_util/masa_file_writer.c +++ b/lib_util/masa_file_writer.c @@ -66,7 +66,7 @@ static void getExtMasaMetadataFileName( /* sizeof( ext_meta ) accounts for terminating NULL, don't subtract extra 1 */ const int32_t maxNameLenWithoutExt = sizeof( metadata_filename[0] ) - sizeof( ext_meta ); strncpy( metadata_filename[0], outputWavFilename, maxNameLenWithoutExt ); - sprintf( ext_meta, ".met" ); + snprintf( ext_meta, sizeof(ext_meta), ".met" ); /* strlen( metadata_filename[0] ) doesn't account for terminating NULL, subtract extra 1 */ const int32_t maxNumCharactersToAppend = (int32_t) ( sizeof( metadata_filename[0] ) - strlen( metadata_filename[0] ) - 1 ); -- GitLab From 89f671f924d7414b8ceb1cf6956b19c7365c445a Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 11:46:12 +0100 Subject: [PATCH 600/620] Wrap changes in switch --- apps/renderer.c | 48 +++++++++++++++++++++++++++++++++++++ lib_com/options.h | 1 + lib_rend/lib_rend.c | 4 ++++ lib_util/ism_file_writer.c | 8 +++++++ lib_util/masa_file_writer.c | 4 ++++ 5 files changed, 65 insertions(+) diff --git a/apps/renderer.c b/apps/renderer.c index e38f523680..da232385db 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1041,6 +1041,7 @@ static IVAS_REND_AudioConfig ambisonicsOrderToEnum( return IVAS_REND_AUDIO_CONFIG_UNKNOWN; } +#ifdef FIX_293_EXT_RENDERER_CLI static const CmdLnParser_Option *findOptionById( const int32_t id ) { @@ -1054,6 +1055,7 @@ static const CmdLnParser_Option *findOptionById( return NULL; } +#endif static bool parseInConfig( const char *inFormatStr, @@ -1142,9 +1144,13 @@ static bool parseInConfig( if ( error == IVAS_ERR_FAILED_FILE_OPEN ) { +#ifdef FIX_293_EXT_RENDERER_CLI /* Failed to open with given string - most likely wasn't a file path */ const CmdLnParser_Option *listOption = findOptionById( CmdLnOptionId_listFormats ); fprintf( stderr, "Unsupported input format: %s. To list valid formats, use option --%s.\n", inFormatStr, listOption->match ); +#else + fprintf( stderr, "Unsupported input format: %s\n", inFormatStr ); +#endif return false; } if ( error != IVAS_ERR_OK ) @@ -1159,6 +1165,7 @@ static bool parseInConfig( } break; default: +#ifdef FIX_293_EXT_RENDERER_CLI { /* Default case covers formats that are defined in the IVAS_REND_AudioConfig enum, * but cannot be used at input, e.g. BINAURAL */ @@ -1166,6 +1173,12 @@ static bool parseInConfig( fprintf( stderr, "Unsupported input format: %s. To list valid formats, use option --%s.\n", inFormatStr, listOption->match ); return false; } +#else + /* Default case covers formats that are defined in the IVAS_REND_AudioConfig enum, + * but cannot be used at input, e.g. BINAURAL */ + fprintf( stderr, "Unsupported input format: %s\n", inFormatStr ); + return false; +#endif } return true; @@ -1303,6 +1316,7 @@ static IVAS_REND_AudioConfig parseAudioConfig( } if ( strncmp( charBuf, "ISM", 3 ) == 0 ) { +#ifdef FIX_293_EXT_RENDERER_CLI /* Accept input config as ISM only if the 4th character is a number from 1 to 4. * Otherwise, do nothing. Unknown audio config will be returned. */ switch ( charBuf[3] ) @@ -1313,6 +1327,9 @@ static IVAS_REND_AudioConfig parseAudioConfig( case '4': return IVAS_REND_AUDIO_CONFIG_OBJECT; } +#else + return IVAS_REND_AUDIO_CONFIG_OBJECT; +#endif } if ( strncmp( charBuf, "MASA", 4 ) == 0 ) { @@ -1340,6 +1357,22 @@ static IVAS_REND_AudioConfig parseAudioConfig( return IVAS_REND_AUDIO_CONFIG_UNKNOWN; } +#ifndef FIX_293_EXT_RENDERER_CLI +static const CmdLnParser_Option *findOptionById( + const int32_t id ) +{ + for ( int32_t i = 0; i < numCliOptions; ++i ) + { + if ( cliOptions[i].id == id ) + { + return &cliOptions[i]; + } + } + + return NULL; +} +#endif + static bool checkRequiredArgs( CmdlnArgs args ) { @@ -1632,6 +1665,7 @@ void IsmPositionProvider_getNextFrame( for ( objIdx = 0; objIdx < positionProvider->numObjects; ++objIdx ) { +#ifdef FIX_293_EXT_RENDERER_CLI /* If ISM metadata reader is open, read from metadata file */ if ( positionProvider->ismReaders[objIdx] != NULL ) { @@ -1647,6 +1681,16 @@ void IsmPositionProvider_getNextFrame( objectMetadataBuffer->positions[objIdx].azimuth = 0.0f; objectMetadataBuffer->positions[objIdx].elevation = 0.0f; } +#else + if ( positionProvider->ismReaders[objIdx] != NULL ) + { + getMetadataFromFileReader( positionProvider->ismReaders[objIdx], objectMetadataBuffer, objIdx ); + } + else + { + readFromShorthandMetadata( positionProvider, objectMetadataBuffer, objIdx ); + } +#endif /* Wrap azimuth to lie within (-180, 180] range */ while ( objectMetadataBuffer->positions[objIdx].azimuth < 0.0f ) @@ -2034,7 +2078,11 @@ static void parseMasa( if ( strncmp( line, "MASA", 4 ) != 0 ) { char numTcs = *line; +#ifdef FIX_293_EXT_RENDERER_CLI snprintf( line, 6 /* write at most 6 characters: MASAx + null termination */, "MASA%c", numTcs ); +#else + sprintf( line, "MASA%c", numTcs ); +#endif } inConfig->masaBuses[idx].audioConfig = parseAudioConfig( line ); diff --git a/lib_com/options.h b/lib_com/options.h index 09e29ce40b..b974000782 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -152,6 +152,7 @@ #define ENV_STAB_FIX /* Contribution 23: HQ envelope stability memory fix */ #define STABILIZE_GIPD /* FhG: Contribution 22: gIPD stabilization */ #define FIX_292_VBAP_CALLOC_REMOVAL /* Nokia: Fixes issue 292 by removing the remnant callocs */ +#define FIX_293_EXT_RENDERER_CLI /* FhG: Fix bugs in external renderer CLI */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 3303556258..5e59d85861 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -2563,7 +2563,11 @@ static IVAS_REND_InputId makeInputId( /* Put config type in second byte (from LSB), put index + 1 in first byte * * Index is incremented here so that a valid ID can never be 0. */ +#ifdef FIX_293_EXT_RENDERER_CLI return (IVAS_REND_InputId) ( ( ( (uint32_t) getAudioConfigType( config ) ) << 8 ) | ( inputIndex + 1 ) ); +#else + return (IVAS_REND_InputId) ( ( getAudioConfigType( config ) << 8 ) | ( inputIndex + 1 ) ); +#endif } static ivas_error getInputById( diff --git a/lib_util/ism_file_writer.c b/lib_util/ism_file_writer.c index 63e5ce5c46..e0a910d5db 100644 --- a/lib_util/ism_file_writer.c +++ b/lib_util/ism_file_writer.c @@ -64,7 +64,11 @@ ivas_error IsmFileWriter_open( FILE *file; strncpy( metadata_filename_loc, filePathWav, sizeof( metadata_filename_loc ) - 1 ); +#ifdef FIX_293_EXT_RENDERER_CLI snprintf( ext_meta, sizeof( ext_meta ), ".%d.csv", obj_num ); +#else + sprintf( ext_meta, ".%d.csv", obj_num ); +#endif const int32_t maxNumCharactersToAppend = (int32_t) sizeof( metadata_filename_loc ) - strlen( metadata_filename_loc ) - 1; strncat( metadata_filename_loc, ext_meta, maxNumCharactersToAppend ); @@ -116,7 +120,11 @@ ivas_error IsmFileWriter_writeFrame( file = ismWriter->file; /* IVAS_fmToDo: work in progress; currently position_azimuth, position_elevation, position_radius, spread, gain_factor */ +#ifdef FIX_293_EXT_RENDERER_CLI snprintf( char_buff, sizeof( char_buff ), "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor ); +#else + sprintf( char_buff, "%+07.2f,%+06.2f,%05.2f,%06.2f,%04.2f\n", ismMetadata.azimuth, ismMetadata.elevation, ismMetadata.radius, ismMetadata.spread, ismMetadata.gainFactor ); +#endif if ( file ) { diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c index 1532f62dda..bb0af4b8c3 100644 --- a/lib_util/masa_file_writer.c +++ b/lib_util/masa_file_writer.c @@ -66,7 +66,11 @@ static void getExtMasaMetadataFileName( /* sizeof( ext_meta ) accounts for terminating NULL, don't subtract extra 1 */ const int32_t maxNameLenWithoutExt = sizeof( metadata_filename[0] ) - sizeof( ext_meta ); strncpy( metadata_filename[0], outputWavFilename, maxNameLenWithoutExt ); +#ifdef FIX_293_EXT_RENDERER_CLI snprintf( ext_meta, sizeof(ext_meta), ".met" ); +#else + sprintf( ext_meta, ".met" ); +#endif /* strlen( metadata_filename[0] ) doesn't account for terminating NULL, subtract extra 1 */ const int32_t maxNumCharactersToAppend = (int32_t) ( sizeof( metadata_filename[0] ) - strlen( metadata_filename[0] ) - 1 ); -- GitLab From 951bdab91c0942ffddc6036893639d8e2cc23ff1 Mon Sep 17 00:00:00 2001 From: Kacper Sagnowski <kacper.sagnowski@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 12:21:23 +0100 Subject: [PATCH 601/620] Fix formatting --- apps/renderer.c | 3 ++- lib_util/masa_file_writer.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/apps/renderer.c b/apps/renderer.c index da232385db..77f25ba0b3 100644 --- a/apps/renderer.c +++ b/apps/renderer.c @@ -1677,7 +1677,8 @@ void IsmPositionProvider_getNextFrame( readFromShorthandMetadata( positionProvider, objectMetadataBuffer, objIdx ); } /* Otherwise fall back to default position */ - else { + else + { objectMetadataBuffer->positions[objIdx].azimuth = 0.0f; objectMetadataBuffer->positions[objIdx].elevation = 0.0f; } diff --git a/lib_util/masa_file_writer.c b/lib_util/masa_file_writer.c index bb0af4b8c3..3cfb25b494 100644 --- a/lib_util/masa_file_writer.c +++ b/lib_util/masa_file_writer.c @@ -67,7 +67,7 @@ static void getExtMasaMetadataFileName( const int32_t maxNameLenWithoutExt = sizeof( metadata_filename[0] ) - sizeof( ext_meta ); strncpy( metadata_filename[0], outputWavFilename, maxNameLenWithoutExt ); #ifdef FIX_293_EXT_RENDERER_CLI - snprintf( ext_meta, sizeof(ext_meta), ".met" ); + snprintf( ext_meta, sizeof( ext_meta ), ".met" ); #else sprintf( ext_meta, ".met" ); #endif -- GitLab From 044efe225687da35b782a6c14b5765f8112c934b Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 12:59:16 +0100 Subject: [PATCH 602/620] update CI job to rename some tests --- .gitlab-ci.yml | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 715194beff..11ebfa1f5d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -261,7 +261,7 @@ codec-smoke-test: expose_as: "Smoke test results" # code selftest testvectors with memory-sanitizer binaries -msan-on-merge-request-linux: +codec-msan-linux: extends: - .test-job-linux - .rules-merge-request @@ -280,10 +280,10 @@ msan-on-merge-request-linux: paths: - scripts/ref/logs/ - test_output.txt - expose_as: "Msan selftest results" + expose_as: "msan selftest results" # code selftest testvectors with address-sanitizer binaries -asan-on-merge-request-linux: +codec-asan-linux: extends: - .test-job-linux - .rules-merge-request @@ -302,10 +302,10 @@ asan-on-merge-request-linux: paths: - scripts/ref/logs/ - test_output.txt - expose_as: "Asan selftest results" + expose_as: "asan selftest results" -# test external renderer executable -external-renderer-pytest: +# test renderer executable +renderer-smoke-test: extends: - .test-job-linux - .rules-merge-request @@ -319,13 +319,13 @@ external-renderer-pytest: when: always paths: - report-junit.xml - expose_as: "external renderer make pytest results" + expose_as: "renderer make pytest results" reports: junit: - report-junit.xml -# test external renderer executable with cmake + asan -external-renderer-cmake-asan-pytest: +# test renderer executable with cmake + asan +renderer-asan-pytest: extends: - .test-job-linux - .rules-merge-request @@ -342,13 +342,13 @@ external-renderer-cmake-asan-pytest: when: always paths: - report-junit.xml - expose_as: "external renderer cmake asan pytest results" + expose_as: "renderer asan pytest results" reports: junit: - report-junit.xml -# test external renderer executable with cmake + msan -external-renderer-cmake-msan-pytest: +# test renderer executable with cmake + msan +renderer-msan-pytest: extends: - .test-job-linux - .rules-merge-request @@ -365,13 +365,13 @@ external-renderer-cmake-msan-pytest: when: always paths: - report-junit.xml - expose_as: "external renderer cmake msan pytest results" + expose_as: "renderer msan pytest results" reports: junit: - report-junit.xml -# compare external renderer bitexactness between target and source branch -external-renderer-pytest-on-merge-request: +# compare renderer bitexactness between target and source branch +renderer-pytest-on-merge-request: extends: - .test-job-linux - .rules-merge-request @@ -419,7 +419,7 @@ external-renderer-pytest-on-merge-request: paths: - report-junit.xml - report.html - expose_as: "pytest external renderer results" + expose_as: "pytest renderer results" reports: junit: - report-junit.xml @@ -884,7 +884,7 @@ coverage-test-on-main-scheduled: script: - *print-common-info - make GCOV=1 -j - - cp IVAS_rend IVAS_rend_ref # Copy exec to be able to run external renderer script + - cp IVAS_rend IVAS_rend_ref # Copy exec to be able to run renderer script - python3 tests/create_short_testvectors.py - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec - python3 -m pytest tests -v -n 0 --update_ref 1 -m create_ref_part2 --ref_encoder_path ./IVAS_cod --ref_decoder_path ./IVAS_dec -- GitLab From 05ae79c836cd37d058739985b300aa1128305efe Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 13:07:25 +0100 Subject: [PATCH 603/620] more renaming --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 11ebfa1f5d..b8f4708472 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -261,7 +261,7 @@ codec-smoke-test: expose_as: "Smoke test results" # code selftest testvectors with memory-sanitizer binaries -codec-msan-linux: +codec-msan: extends: - .test-job-linux - .rules-merge-request @@ -283,7 +283,7 @@ codec-msan-linux: expose_as: "msan selftest results" # code selftest testvectors with address-sanitizer binaries -codec-asan-linux: +codec-asan: extends: - .test-job-linux - .rules-merge-request @@ -325,7 +325,7 @@ renderer-smoke-test: - report-junit.xml # test renderer executable with cmake + asan -renderer-asan-pytest: +renderer-asan: extends: - .test-job-linux - .rules-merge-request @@ -348,7 +348,7 @@ renderer-asan-pytest: - report-junit.xml # test renderer executable with cmake + msan -renderer-msan-pytest: +renderer-msan: extends: - .test-job-linux - .rules-merge-request -- GitLab From 1f721b1894e28bfd200d86619ecd35adb3376229 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 14:08:54 +0100 Subject: [PATCH 604/620] cleanup renderer tests, and try to use long testvectors for MR BE comparison --- tests/renderer/constants.py | 33 ++++++++++++++----- tests/renderer/test_renderer.py | 3 -- tests/renderer/test_renderer_be_comparison.py | 2 ++ 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 467d47163b..6c5295b14f 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -104,16 +104,33 @@ FORMAT_TO_FILE = { "MASA2": TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"), "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"), "16ch_8+4+4": NCHAN_TO_FILE[16], - "4d0": NCHAN_TO_FILE[4], "4d4": NCHAN_TO_FILE[8], - "cicp1": NCHAN_TO_FILE[1], - "cicp20": NCHAN_TO_FILE[15], - "cicp2": NCHAN_TO_FILE[2], - "custom1": NCHAN_TO_FILE[11], - "itu_4+5+1": NCHAN_TO_FILE[11], "t_design_4": NCHAN_TO_FILE[12], } +FORMAT_TO_FILE_LTV = { + "MONO": TESTV_DIR.joinpath("test_mono.wav"), + "STEREO": TESTV_DIR.joinpath("test_stereo.wav"), + "5_1": TESTV_DIR.joinpath("test_MC51.wav"), + "7_1": TESTV_DIR.joinpath("test_MC71.wav"), + "5_1_2": TESTV_DIR.joinpath("test_MC51p2.wav"), + "5_1_4": TESTV_DIR.joinpath("test_MC51p4.wav"), + "7_1_4": TESTV_DIR.joinpath("test_MC71p4.wav"), + "FOA": TESTV_DIR.joinpath("test_FOA.wav"), + "HOA2": TESTV_DIR.joinpath("test_HOA2.wav"), + "HOA3": TESTV_DIR.joinpath("test_HOA3.wav"), + "ISM1": TESTV_DIR.joinpath("test_ISM_1obj.wav"), + "ISM2": TESTV_DIR.joinpath("test_ISM_2obj.wav"), + "ISM3": TESTV_DIR.joinpath("test_ISM_3obj.wav"), + "ISM4": TESTV_DIR.joinpath("test_ISM_4obj.wav"), + "MASA1": TESTV_DIR.joinpath("stv_IVASMASA_1dir1TC.pcm"), + "MASA2": TESTV_DIR.joinpath("stv_IVASMASA_2dir2TC.pcm"), + "META": TEST_VECTOR_DIR.joinpath("mixed_scene.txt"), + "16ch_8+4+4": TESTV_DIR.joinpath("test_HOA3.wav"), + "4d4": TESTV_DIR.joinpath("test_MC71.wav"), + "t_design_4": TESTV_DIR.joinpath("test_MC71p4.wav"), +} + FORMAT_TO_METADATA_FILES = { "ISM1": [str(TESTV_DIR.joinpath("stvISM1.csv"))], "ISM2": [ @@ -162,7 +179,6 @@ OUTPUT_FORMATS = [ CUSTOM_LS_TO_TEST = [ "t_design_4", "4d4", - "itu_4+5+1", "16ch_8+4+4", ] @@ -178,7 +194,8 @@ HR_TRAJECTORIES_TO_TEST = [ ] """ Per-testcase xfail SNR thresholds (dB) """ -pass_snr = { +pass_snr = dict() # not relevant for tests anymore, should be deprecated soon +_pass_snr = { #################################################################### # # External Renderer vs Standalone and pyaudio3dtools renderers tests diff --git a/tests/renderer/test_renderer.py b/tests/renderer/test_renderer.py index c43dd68d19..866d2eee2c 100644 --- a/tests/renderer/test_renderer.py +++ b/tests/renderer/test_renderer.py @@ -151,9 +151,6 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS[2:]) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MASA) def test_masa(test_info, in_fmt, out_fmt): - # # TODO: implement MASA in Python, compare BE - # compare_renderer_vs_pyscripts( test_info, in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt] - # ) run_renderer(in_fmt, out_fmt, in_meta_files=FORMAT_TO_METADATA_FILES[in_fmt]) diff --git a/tests/renderer/test_renderer_be_comparison.py b/tests/renderer/test_renderer_be_comparison.py index 5d89136a89..9f38d9491a 100644 --- a/tests/renderer/test_renderer_be_comparison.py +++ b/tests/renderer/test_renderer_be_comparison.py @@ -30,6 +30,8 @@ import pytest from .utils import * +# override to use long test vectors for this test +FORMAT_TO_FILE = FORMAT_TO_FILE_LTV """ Ambisonics """ -- GitLab From bc9b5b18da5f17dc7ec0d026f72127db4b8befbd Mon Sep 17 00:00:00 2001 From: norvell <erik.norvell@ericsson.com> Date: Tue, 17 Jan 2023 13:08:56 +0000 Subject: [PATCH 605/620] Delete unused file strsub_wmc_skip.py --- scripts/strsub_wmc_skip.py | 28 ---------------------------- 1 file changed, 28 deletions(-) delete mode 100644 scripts/strsub_wmc_skip.py diff --git a/scripts/strsub_wmc_skip.py b/scripts/strsub_wmc_skip.py deleted file mode 100644 index 4c4bfab64b..0000000000 --- a/scripts/strsub_wmc_skip.py +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/python3 - -import argparse -import re - -parser = argparse.ArgumentParser(description='Substitute strings in files, skipping blocks in WMC_TOOL_SKIP') -parser.add_argument('input',type=str,help='C source file') -parser.add_argument('target',type=str,help='Target string to replace') -parser.add_argument('dest',type=str,help='Destination string to insert') -args = parser.parse_args() -fileIn = args.input -target = args.target -dest = args.dest - -skip = 0 - -with open(fileIn, 'r') as f_in: - lines = f_in.readlines() -with open(fileIn, 'w') as f_out: - for line in lines: - if re.search(r'#define\W+WMC_TOOL_SKIP', line): - skip = 1 - elif re.search(r'#undef\W+WMC_TOOL_SKIP', line): - skip = 0 - else: - if not skip: - line = re.sub(r'\b%s\b' % (target), '%s' % (dest), line) - f_out.write(line) \ No newline at end of file -- GitLab From bcfd83cefcbf134bc7e6c1688913b8e5e3f6e6b5 Mon Sep 17 00:00:00 2001 From: Charles Kinuthia <charles.kinuthia@ericsson.com> Date: Tue, 17 Jan 2023 15:10:19 +0100 Subject: [PATCH 606/620] Fix for critical item for contribution 20 under define LOW_RATE_TRANS_FIX --- lib_com/options.h | 1 + lib_enc/ivas_cpe_enc.c | 11 +++++++++++ lib_enc/ivas_ism_enc.c | 5 +++++ lib_enc/stat_enc.h | 6 ++++-- lib_enc/transient_detection.c | 8 +++++++- 5 files changed, 28 insertions(+), 3 deletions(-) diff --git a/lib_com/options.h b/lib_com/options.h index 54c20247d2..ad2f337748 100644 --- a/lib_com/options.h +++ b/lib_com/options.h @@ -154,6 +154,7 @@ #define FIX_292_VBAP_CALLOC_REMOVAL /* Nokia: Fixes issue 292 by removing the remnant callocs */ #define FIX_293_EXT_RENDERER_CLI /* FhG: Fix bugs in external renderer CLI */ #define FIX_268 /* Issue 268: Add low cost dry-run of memory analysis */ +#define LOW_RATE_TRANS_FIX /* Eri: Fix for critical item during transitions */ /* ################## End DEVELOPMENT switches ######################### */ /* clang-format on */ diff --git a/lib_enc/ivas_cpe_enc.c b/lib_enc/ivas_cpe_enc.c index 2440cc4fa6..598818f70c 100644 --- a/lib_enc/ivas_cpe_enc.c +++ b/lib_enc/ivas_cpe_enc.c @@ -656,6 +656,17 @@ ivas_error ivas_cpe_enc( hCPE->hFrontVad[0]->ini_frame = min( hCPE->hFrontVad[0]->ini_frame, MAX_FRAME_COUNTER ); } +#ifdef LOW_RATE_TRANS_FIX + /* Store previous attack detection flag */ + for ( n = 0; n < CPE_CHANNELS; n++ ) + { + if ( sts[n]->mct_chan_mode != MCT_CHAN_MODE_LFE ) + { + sts[n]->hTranDet->transientDetector.prev_bIsAttackPresent = sts[n]->hTranDet->transientDetector.bIsAttackPresent; + } + } +#endif + #ifdef DEBUG_MODE_INFO if ( hCPE->element_mode == IVAS_CPE_DFT ) { diff --git a/lib_enc/ivas_ism_enc.c b/lib_enc/ivas_ism_enc.c index 1849d2da03..58fa1330b9 100644 --- a/lib_enc/ivas_ism_enc.c +++ b/lib_enc/ivas_ism_enc.c @@ -273,6 +273,11 @@ ivas_error ivas_ism_enc( /* update input samples buffer */ mvr2r( st->input, st->old_input_signal, input_frame ); + +#ifdef LOW_RATE_TRANS_FIX + /* Store previous attack detection flag */ + st->hTranDet->transientDetector.prev_bIsAttackPresent = st->hTranDet->transientDetector.bIsAttackPresent; +#endif } pop_wmops(); diff --git a/lib_enc/stat_enc.h b/lib_enc/stat_enc.h index 48585881d0..a57c8f25b7 100644 --- a/lib_enc/stat_enc.h +++ b/lib_enc/stat_enc.h @@ -140,8 +140,10 @@ typedef struct TransientDetector TCheckSubblocksForAttack CheckSubblocksForAttack; /* Function for checking a presence of an attack. */ float attackRatioThreshold; /* Attack ratio threshold. */ int16_t bIsAttackPresent; /* True when an attack was detected. */ - int16_t attackIndex; /* The index of an attack. */ - +#ifdef LOW_RATE_TRANS_FIX + int16_t prev_bIsAttackPresent; /* True if an attack was detected in the previous frame. */ +#endif + int16_t attackIndex; /* The index of an attack. */ } TransientDetector; /* Transient detection: Holds all transient detectors and buffers used by them. */ diff --git a/lib_enc/transient_detection.c b/lib_enc/transient_detection.c index 4ba76500bf..16e981b375 100644 --- a/lib_enc/transient_detection.c +++ b/lib_enc/transient_detection.c @@ -577,6 +577,9 @@ static void InitTransientDetector( pTransientDetector->CheckSubblocksForAttack = pCheckSubblocksForAttack; pTransientDetector->attackRatioThreshold = attackRatioThreshold; pTransientDetector->bIsAttackPresent = FALSE; +#ifdef LOW_RATE_TRANS_FIX + pTransientDetector->prev_bIsAttackPresent = FALSE; +#endif pTransientDetector->attackIndex = -1; pTransientDetector->pSubblockEnergies->ramp_up_flag = 0x0; @@ -897,8 +900,11 @@ int16_t transient_analysis( prel_force_td |= 0x0001; } } - +#ifdef LOW_RATE_TRANS_FIX + if ( prel_force_td == 0 && hTranDet->transientDetector.prev_bIsAttackPresent == 1 ) +#else if ( prel_force_td == 0 ) +#endif { /* release analysis */ pSubblockNrg = hTranDet->transientDetector.pSubblockEnergies->subblockNrg; -- GitLab From f586732af4b12cac0c0fdab188faf360f9ce24c9 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Tue, 17 Jan 2023 18:06:12 +0100 Subject: [PATCH 607/620] actually enable long testvectors for MR BE comparison --- tests/renderer/constants.py | 4 +-- tests/renderer/test_renderer_be_comparison.py | 26 ++++++++++--------- tests/renderer/utils.py | 12 +++++++++ 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 6c5295b14f..91ebd63346 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -79,7 +79,7 @@ NCHAN_TO_FILE = { 16: TEST_VECTOR_DIR.joinpath("spectral_test_16ch_48kHz.wav"), } -FORMAT_TO_FILE = { +FORMAT_TO_FILE_STV = { "MONO": NCHAN_TO_FILE[1], "STEREO": NCHAN_TO_FILE[2], "5_1": NCHAN_TO_FILE[6], @@ -194,7 +194,7 @@ HR_TRAJECTORIES_TO_TEST = [ ] """ Per-testcase xfail SNR thresholds (dB) """ -pass_snr = dict() # not relevant for tests anymore, should be deprecated soon +pass_snr = dict() # not relevant for tests anymore, should be deprecated soon _pass_snr = { #################################################################### # diff --git a/tests/renderer/test_renderer_be_comparison.py b/tests/renderer/test_renderer_be_comparison.py index 9f38d9491a..04310c176f 100644 --- a/tests/renderer/test_renderer_be_comparison.py +++ b/tests/renderer/test_renderer_be_comparison.py @@ -30,8 +30,6 @@ import pytest from .utils import * -# override to use long test vectors for this test -FORMAT_TO_FILE = FORMAT_TO_FILE_LTV """ Ambisonics """ @@ -39,13 +37,13 @@ FORMAT_TO_FILE = FORMAT_TO_FILE_LTV @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics(test_info, in_fmt, out_fmt): - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics_binaural_static(test_info, in_fmt, out_fmt): - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) @pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @@ -57,6 +55,7 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), + use_ltv=True, ) @@ -66,7 +65,7 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) def test_multichannel(test_info, in_fmt, out_fmt): - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @@ -75,7 +74,7 @@ def test_multichannel_binaural_static(test_info, in_fmt, out_fmt): if in_fmt in ["MONO", "STEREO"]: pytest.skip("MONO or STEREO to Binaural rendering unsupported") - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) @pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @@ -90,6 +89,7 @@ def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), + use_ltv=True, ) @@ -113,7 +113,7 @@ def test_ism_binaural_static(test_info, in_fmt, out_fmt): in_meta_files = None compare_renderer_vs_mergetarget( - test_info, in_fmt, out_fmt, in_meta_files=in_meta_files + test_info, in_fmt, out_fmt, in_meta_files=in_meta_files, use_ltv=True ) @@ -132,6 +132,7 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=in_meta_files, + use_ltv=True, ) @@ -145,7 +146,7 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): @pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input(test_info, in_layout, out_fmt): compare_renderer_vs_mergetarget( - test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt + test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, use_ltv=True ) @@ -153,7 +154,7 @@ def test_custom_ls_input(test_info, in_layout, out_fmt): @pytest.mark.parametrize("in_fmt", OUTPUT_FORMATS) def test_custom_ls_output(test_info, in_fmt, out_fmt): compare_renderer_vs_mergetarget( - test_info, in_fmt, CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt") + test_info, in_fmt, CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), use_ltv=True ) @@ -164,6 +165,7 @@ def test_custom_ls_input_output(test_info, in_fmt, out_fmt): test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_fmt}.txt"), CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), + use_ltv=True, ) @@ -171,9 +173,7 @@ def test_custom_ls_input_output(test_info, in_fmt, out_fmt): @pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input_binaural(test_info, in_layout, out_fmt): compare_renderer_vs_mergetarget( - test_info, - CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), - out_fmt, + test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, use_ltv=True ) @@ -186,6 +186,7 @@ def test_custom_ls_input_binaural_headrotation(test_info, in_layout, out_fmt, tr CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), + use_ltv=True, ) @@ -200,4 +201,5 @@ def test_metadata(test_info, in_fmt, out_fmt): "META", out_fmt, metadata_input=TEST_VECTOR_DIR.joinpath(f"{in_fmt}.txt"), + use_ltv=True, ) diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py index b4ab4401f4..84fe58bef0 100644 --- a/tests/renderer/utils.py +++ b/tests/renderer/utils.py @@ -108,6 +108,7 @@ def run_renderer( trj_file: Optional[str] = None, output_path_base: str = OUTPUT_PATH_CUT, binary_suffix: str = "", + use_ltv: Optional[bool] = False, ) -> Tuple[np.ndarray, int]: """CuT creation with standalone renderer""" if trj_file is not None: @@ -120,6 +121,11 @@ def run_renderer( else: out_name = out_fmt + if use_ltv: + FORMAT_TO_FILE = FORMAT_TO_FILE_LTV + else: + FORMAT_TO_FILE = FORMAT_TO_FILE_STV + if metadata_input is not None: in_file = metadata_input in_name = metadata_input.stem @@ -157,6 +163,7 @@ def run_pyscripts( metadata_input: Optional[str] = None, in_meta_files: Optional[list] = None, trj_file: Optional[str] = None, + use_ltv: Optional[bool] = False, ) -> Tuple[np.ndarray, int]: """Reference creation with pyaudio3dtools""" if trj_file is not None: @@ -169,6 +176,11 @@ def run_pyscripts( else: out_name = out_fmt + if use_ltv: + FORMAT_TO_FILE = FORMAT_TO_FILE_LTV + else: + FORMAT_TO_FILE = FORMAT_TO_FILE_STV + if metadata_input is not None: in_file = metadata_input in_name = metadata_input.stem -- GitLab From 3323806ac575f7b91f9167a892343efd016bb851 Mon Sep 17 00:00:00 2001 From: Vidhya V P <100825@ittiam.com> Date: Wed, 18 Jan 2023 11:10:28 +0530 Subject: [PATCH 608/620] Fix for Msan error --- lib_dec/ivas_corecoder_dec_reconfig.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib_dec/ivas_corecoder_dec_reconfig.c b/lib_dec/ivas_corecoder_dec_reconfig.c index 4abec8503a..1c98091693 100644 --- a/lib_dec/ivas_corecoder_dec_reconfig.c +++ b/lib_dec/ivas_corecoder_dec_reconfig.c @@ -249,6 +249,11 @@ ivas_error ivas_corecoder_dec_reconfig( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->reverse_dmx = 0; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->smooth_ratio = 1.f; #ifdef SBA_BR_SWITCHING_RECONFIG + set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[0], 0, MAX_SFB ); + set_s( st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->prev_ms_mask[1], 0, MAX_SFB ); + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->lastCoh = 1.f; + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->mdct_stereo_mode[0] = SMDCT_DUAL_MONO; + st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->mdct_stereo_mode[1] = SMDCT_DUAL_MONO; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->IGFStereoMode[0] = -1; st_ivas->hCPE[st_ivas->nCPE - 1]->hStereoMdct->IGFStereoMode[1] = -1; #endif -- GitLab From 3bae88cd6aba5272ebd3afde96187c8868ec6e85 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky <vladimir.malenovsky@usherbrooke.ca> Date: Wed, 18 Jan 2023 09:48:26 +0100 Subject: [PATCH 609/620] delete temp files generated by coan --- lib_debug/coan_out_000000 | 924 -------------------------------------- lib_debug/coan_out_000001 | 924 -------------------------------------- lib_debug/coan_out_000002 | 924 -------------------------------------- lib_debug/coan_out_000003 | 924 -------------------------------------- lib_debug/coan_out_000004 | 924 -------------------------------------- lib_debug/coan_out_000005 | 924 -------------------------------------- 6 files changed, 5544 deletions(-) delete mode 100644 lib_debug/coan_out_000000 delete mode 100644 lib_debug/coan_out_000001 delete mode 100644 lib_debug/coan_out_000002 delete mode 100644 lib_debug/coan_out_000003 delete mode 100644 lib_debug/coan_out_000004 delete mode 100644 lib_debug/coan_out_000005 diff --git a/lib_debug/coan_out_000000 b/lib_debug/coan_out_000000 deleted file mode 100644 index bf31e63cef..0000000000 --- a/lib_debug/coan_out_000000 +++ /dev/null @@ -1,924 +0,0 @@ -/* - * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, - * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file - * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". - * - * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor - * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software - * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. - * - * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) - */ - -#ifndef WMOPS_H -#define WMOPS_H - -#ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ -#endif - -#ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ -#endif - - -/* To Prevent "warning: '$' in identifier or number" message under GCC */ -#ifdef __GNUC__ -#pragma GCC system_header -#endif - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - - -#ifdef WMOPS -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void update_wmops( void ); -void update_mem( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -extern int cntr_push_pop; -#define push_wmops( x ) ( cntr_push_pop++ ) -#define pop_wmops() ( cntr_push_pop-- ) -#define update_wmops() ( assert( cntr_push_pop == 0 ) ) -#define update_mem() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -/* mac & msu (Non Instrumented Versions) */ -#ifndef mac -#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) -#endif -#ifndef mac -#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) -#endif - -#ifndef WMOPS -/* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_( op, n ) - -/* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( val ) -#define OP_COUNT_WRAPPER2_( expr ) -#define OP_COUNT_WRAPPER3_( op, expr ) expr - -/* DESACTIVATE Logical & Ternary Operators */ -#define __ -#define _ - -#else - -/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double *ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) - -/******************************************************************/ -/* NOTES: */ -/* The 'wmc_flag_' flag is global to avoid declaration in every */ -/* function and 'static' to avoid clashing with other modules */ -/* that include this header file. */ -/* */ -/* The declarations of 'wmc_flag_' and 'wops_' in this header */ -/* file prevent the addition of a 'C' file to the Project. */ -/******************************************************************/ - -/* General Purpose Global Flag */ -static int wmc_flag_ = 0; - -/* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) -#define OP_COUNT_WRAPPER2_( expr ) \ - if ( expr, 0 ) \ - ; \ - else -#define OP_COUNT_WRAPPER3_( op, expr ) \ - if ( op, 0 ) \ - ; \ - else \ - expr - -#endif - -/* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) -#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) -#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) -#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) -#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) -#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) -#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) -#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) -#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) -#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) -#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) -#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) -#define POWER_( x ) TRANS_( x ) -#define LOG_( x ) TRANS_( x ) -#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) -#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) -#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) -#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) -#define MISC_( x ) ABS_( x ) - -/* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) -#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) -#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) -#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) -#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) -#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) -#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) -#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) -#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) -#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) -#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) -#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) -#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) -#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) -#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) -#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) -#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) -/* these macros use any local macros already defined */ -/* min/max and their Variants */ -#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) -#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) -#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) -#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) -#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) -#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) -/* Square and its Variants */ -#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) -#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) -#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) -#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) -#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) -#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) -/* Sign and its Variants */ -#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) -#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) -#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) -/* Square Root and its Variants */ -#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) -/* Invert Square Root and its Variants */ -#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) -/* Others */ -#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) -#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) -/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" - with Cygwin gcc Compiler */ -#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) -#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) -#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) -/* Set Min/Max */ -#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) -#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) -/* mac & msu (Instrumented Versions) */ -#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) -#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) - -/* Functions */ -#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) - -/* Logical Operators */ -#ifndef __ -#define __ ( BRANCH_( 1 ), 1 ) && -#endif - -/* Ternary Operators (? and :) */ -#ifndef _ -#define _ ( BRANCH_( 1 ), 0 ) ? 0: -#endif - -/* Flow Control keywords */ -#define if_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_( c ) \ - while \ - OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ -#define do_ \ - do \ - { -#define _while \ - BRANCH_( 1 ); \ - } \ - while - -#define goto_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - goto -#define break_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - break -#define continue_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - continue -#define return_ \ - OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ - return - -#define switch_ \ - OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ - switch -#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); - -#ifdef WMOPS - -#define ACC 2 -#define MUL 1 - -/* Counting Function (should not be called externally!) */ -static void wops_( const char *ops ) -{ - char lm = 0; /* lm: Last Operation is Math */ - static char lo = 0; /* Last Operation */ - - void ( *fct )( const char *ops ) = wops_; - -st: - while ( *ops != '\0' ) - { - switch ( *ops++ ) - { - int cnt; - case '-': - for ( cnt = 0; ops[cnt] == '>'; cnt++ ) - ; - if ( cnt & 1 ) - goto ind; - case '+': - lm = 2; - if ( lo & MUL ) - { - MULT_( -1 ); - MAC_( 1 ); - break; - } - lo = ACC << 2; - case 'U': - case 'D': - ADD_( 1 ); - break; - case '*': - lm = 2; - if ( lo & ACC ) - { - ADD_( -1 ); - MAC_( 1 ); - break; - } - lo = MUL << 2; - MULT_( 1 ); - break; - case '/': - case '%': - lm = 2; - DIV_( 1 ); - break; - case '&': - case '|': - case '^': - lm = 2; - case '~': - LOGIC_( 1 ); - break; - case '<': - case '>': - if ( *ops != ops[-1] ) - goto error; - ops++; - case -85: - case -69: - lm = 2; - SHIFT_( 1 ); - break; - case 'L': - case 'G': - if ( *ops == 't' ) - goto comp; - case 'E': - case 'N': - if ( *ops != 'e' ) - goto error; - comp: - ops++; - ADD_( 1 ); - break; - case '!': - MISC_( 2 ); - break; - case 'M': - MOVE_( 1 ); - break; - case 'S': - STORE_( 1 ); - break; - case 'P': - PTR_INIT_( 1 ); - break; - case '[': - case ']': - goto st; - ind: - ops++; - case 'I': - case '.': - INDIRECT_( 1 ); - break; - case '=': - if ( lm ) - goto st; - case '\0': - /* This Shouldn't Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct( "" ); - error: - default: - fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); - exit( -1 ); - } - lm >>= 1; - lo >>= 2; - } - - return; -} - -#endif - -/* All Other Operations */ diff --git a/lib_debug/coan_out_000001 b/lib_debug/coan_out_000001 deleted file mode 100644 index bf31e63cef..0000000000 --- a/lib_debug/coan_out_000001 +++ /dev/null @@ -1,924 +0,0 @@ -/* - * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, - * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file - * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". - * - * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor - * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software - * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. - * - * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) - */ - -#ifndef WMOPS_H -#define WMOPS_H - -#ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ -#endif - -#ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ -#endif - - -/* To Prevent "warning: '$' in identifier or number" message under GCC */ -#ifdef __GNUC__ -#pragma GCC system_header -#endif - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - - -#ifdef WMOPS -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void update_wmops( void ); -void update_mem( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -extern int cntr_push_pop; -#define push_wmops( x ) ( cntr_push_pop++ ) -#define pop_wmops() ( cntr_push_pop-- ) -#define update_wmops() ( assert( cntr_push_pop == 0 ) ) -#define update_mem() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -/* mac & msu (Non Instrumented Versions) */ -#ifndef mac -#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) -#endif -#ifndef mac -#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) -#endif - -#ifndef WMOPS -/* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_( op, n ) - -/* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( val ) -#define OP_COUNT_WRAPPER2_( expr ) -#define OP_COUNT_WRAPPER3_( op, expr ) expr - -/* DESACTIVATE Logical & Ternary Operators */ -#define __ -#define _ - -#else - -/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double *ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) - -/******************************************************************/ -/* NOTES: */ -/* The 'wmc_flag_' flag is global to avoid declaration in every */ -/* function and 'static' to avoid clashing with other modules */ -/* that include this header file. */ -/* */ -/* The declarations of 'wmc_flag_' and 'wops_' in this header */ -/* file prevent the addition of a 'C' file to the Project. */ -/******************************************************************/ - -/* General Purpose Global Flag */ -static int wmc_flag_ = 0; - -/* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) -#define OP_COUNT_WRAPPER2_( expr ) \ - if ( expr, 0 ) \ - ; \ - else -#define OP_COUNT_WRAPPER3_( op, expr ) \ - if ( op, 0 ) \ - ; \ - else \ - expr - -#endif - -/* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) -#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) -#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) -#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) -#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) -#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) -#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) -#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) -#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) -#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) -#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) -#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) -#define POWER_( x ) TRANS_( x ) -#define LOG_( x ) TRANS_( x ) -#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) -#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) -#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) -#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) -#define MISC_( x ) ABS_( x ) - -/* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) -#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) -#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) -#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) -#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) -#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) -#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) -#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) -#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) -#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) -#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) -#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) -#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) -#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) -#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) -#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) -#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) -/* these macros use any local macros already defined */ -/* min/max and their Variants */ -#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) -#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) -#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) -#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) -#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) -#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) -/* Square and its Variants */ -#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) -#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) -#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) -#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) -#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) -#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) -/* Sign and its Variants */ -#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) -#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) -#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) -/* Square Root and its Variants */ -#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) -/* Invert Square Root and its Variants */ -#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) -/* Others */ -#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) -#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) -/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" - with Cygwin gcc Compiler */ -#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) -#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) -#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) -/* Set Min/Max */ -#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) -#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) -/* mac & msu (Instrumented Versions) */ -#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) -#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) - -/* Functions */ -#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) - -/* Logical Operators */ -#ifndef __ -#define __ ( BRANCH_( 1 ), 1 ) && -#endif - -/* Ternary Operators (? and :) */ -#ifndef _ -#define _ ( BRANCH_( 1 ), 0 ) ? 0: -#endif - -/* Flow Control keywords */ -#define if_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_( c ) \ - while \ - OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ -#define do_ \ - do \ - { -#define _while \ - BRANCH_( 1 ); \ - } \ - while - -#define goto_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - goto -#define break_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - break -#define continue_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - continue -#define return_ \ - OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ - return - -#define switch_ \ - OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ - switch -#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); - -#ifdef WMOPS - -#define ACC 2 -#define MUL 1 - -/* Counting Function (should not be called externally!) */ -static void wops_( const char *ops ) -{ - char lm = 0; /* lm: Last Operation is Math */ - static char lo = 0; /* Last Operation */ - - void ( *fct )( const char *ops ) = wops_; - -st: - while ( *ops != '\0' ) - { - switch ( *ops++ ) - { - int cnt; - case '-': - for ( cnt = 0; ops[cnt] == '>'; cnt++ ) - ; - if ( cnt & 1 ) - goto ind; - case '+': - lm = 2; - if ( lo & MUL ) - { - MULT_( -1 ); - MAC_( 1 ); - break; - } - lo = ACC << 2; - case 'U': - case 'D': - ADD_( 1 ); - break; - case '*': - lm = 2; - if ( lo & ACC ) - { - ADD_( -1 ); - MAC_( 1 ); - break; - } - lo = MUL << 2; - MULT_( 1 ); - break; - case '/': - case '%': - lm = 2; - DIV_( 1 ); - break; - case '&': - case '|': - case '^': - lm = 2; - case '~': - LOGIC_( 1 ); - break; - case '<': - case '>': - if ( *ops != ops[-1] ) - goto error; - ops++; - case -85: - case -69: - lm = 2; - SHIFT_( 1 ); - break; - case 'L': - case 'G': - if ( *ops == 't' ) - goto comp; - case 'E': - case 'N': - if ( *ops != 'e' ) - goto error; - comp: - ops++; - ADD_( 1 ); - break; - case '!': - MISC_( 2 ); - break; - case 'M': - MOVE_( 1 ); - break; - case 'S': - STORE_( 1 ); - break; - case 'P': - PTR_INIT_( 1 ); - break; - case '[': - case ']': - goto st; - ind: - ops++; - case 'I': - case '.': - INDIRECT_( 1 ); - break; - case '=': - if ( lm ) - goto st; - case '\0': - /* This Shouldn't Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct( "" ); - error: - default: - fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); - exit( -1 ); - } - lm >>= 1; - lo >>= 2; - } - - return; -} - -#endif - -/* All Other Operations */ diff --git a/lib_debug/coan_out_000002 b/lib_debug/coan_out_000002 deleted file mode 100644 index bf31e63cef..0000000000 --- a/lib_debug/coan_out_000002 +++ /dev/null @@ -1,924 +0,0 @@ -/* - * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, - * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file - * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". - * - * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor - * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software - * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. - * - * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) - */ - -#ifndef WMOPS_H -#define WMOPS_H - -#ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ -#endif - -#ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ -#endif - - -/* To Prevent "warning: '$' in identifier or number" message under GCC */ -#ifdef __GNUC__ -#pragma GCC system_header -#endif - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - - -#ifdef WMOPS -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void update_wmops( void ); -void update_mem( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -extern int cntr_push_pop; -#define push_wmops( x ) ( cntr_push_pop++ ) -#define pop_wmops() ( cntr_push_pop-- ) -#define update_wmops() ( assert( cntr_push_pop == 0 ) ) -#define update_mem() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -/* mac & msu (Non Instrumented Versions) */ -#ifndef mac -#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) -#endif -#ifndef mac -#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) -#endif - -#ifndef WMOPS -/* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_( op, n ) - -/* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( val ) -#define OP_COUNT_WRAPPER2_( expr ) -#define OP_COUNT_WRAPPER3_( op, expr ) expr - -/* DESACTIVATE Logical & Ternary Operators */ -#define __ -#define _ - -#else - -/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double *ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) - -/******************************************************************/ -/* NOTES: */ -/* The 'wmc_flag_' flag is global to avoid declaration in every */ -/* function and 'static' to avoid clashing with other modules */ -/* that include this header file. */ -/* */ -/* The declarations of 'wmc_flag_' and 'wops_' in this header */ -/* file prevent the addition of a 'C' file to the Project. */ -/******************************************************************/ - -/* General Purpose Global Flag */ -static int wmc_flag_ = 0; - -/* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) -#define OP_COUNT_WRAPPER2_( expr ) \ - if ( expr, 0 ) \ - ; \ - else -#define OP_COUNT_WRAPPER3_( op, expr ) \ - if ( op, 0 ) \ - ; \ - else \ - expr - -#endif - -/* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) -#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) -#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) -#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) -#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) -#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) -#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) -#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) -#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) -#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) -#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) -#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) -#define POWER_( x ) TRANS_( x ) -#define LOG_( x ) TRANS_( x ) -#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) -#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) -#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) -#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) -#define MISC_( x ) ABS_( x ) - -/* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) -#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) -#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) -#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) -#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) -#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) -#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) -#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) -#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) -#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) -#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) -#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) -#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) -#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) -#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) -#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) -#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) -/* these macros use any local macros already defined */ -/* min/max and their Variants */ -#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) -#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) -#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) -#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) -#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) -#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) -/* Square and its Variants */ -#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) -#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) -#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) -#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) -#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) -#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) -/* Sign and its Variants */ -#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) -#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) -#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) -/* Square Root and its Variants */ -#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) -/* Invert Square Root and its Variants */ -#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) -/* Others */ -#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) -#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) -/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" - with Cygwin gcc Compiler */ -#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) -#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) -#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) -/* Set Min/Max */ -#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) -#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) -/* mac & msu (Instrumented Versions) */ -#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) -#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) - -/* Functions */ -#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) - -/* Logical Operators */ -#ifndef __ -#define __ ( BRANCH_( 1 ), 1 ) && -#endif - -/* Ternary Operators (? and :) */ -#ifndef _ -#define _ ( BRANCH_( 1 ), 0 ) ? 0: -#endif - -/* Flow Control keywords */ -#define if_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_( c ) \ - while \ - OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ -#define do_ \ - do \ - { -#define _while \ - BRANCH_( 1 ); \ - } \ - while - -#define goto_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - goto -#define break_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - break -#define continue_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - continue -#define return_ \ - OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ - return - -#define switch_ \ - OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ - switch -#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); - -#ifdef WMOPS - -#define ACC 2 -#define MUL 1 - -/* Counting Function (should not be called externally!) */ -static void wops_( const char *ops ) -{ - char lm = 0; /* lm: Last Operation is Math */ - static char lo = 0; /* Last Operation */ - - void ( *fct )( const char *ops ) = wops_; - -st: - while ( *ops != '\0' ) - { - switch ( *ops++ ) - { - int cnt; - case '-': - for ( cnt = 0; ops[cnt] == '>'; cnt++ ) - ; - if ( cnt & 1 ) - goto ind; - case '+': - lm = 2; - if ( lo & MUL ) - { - MULT_( -1 ); - MAC_( 1 ); - break; - } - lo = ACC << 2; - case 'U': - case 'D': - ADD_( 1 ); - break; - case '*': - lm = 2; - if ( lo & ACC ) - { - ADD_( -1 ); - MAC_( 1 ); - break; - } - lo = MUL << 2; - MULT_( 1 ); - break; - case '/': - case '%': - lm = 2; - DIV_( 1 ); - break; - case '&': - case '|': - case '^': - lm = 2; - case '~': - LOGIC_( 1 ); - break; - case '<': - case '>': - if ( *ops != ops[-1] ) - goto error; - ops++; - case -85: - case -69: - lm = 2; - SHIFT_( 1 ); - break; - case 'L': - case 'G': - if ( *ops == 't' ) - goto comp; - case 'E': - case 'N': - if ( *ops != 'e' ) - goto error; - comp: - ops++; - ADD_( 1 ); - break; - case '!': - MISC_( 2 ); - break; - case 'M': - MOVE_( 1 ); - break; - case 'S': - STORE_( 1 ); - break; - case 'P': - PTR_INIT_( 1 ); - break; - case '[': - case ']': - goto st; - ind: - ops++; - case 'I': - case '.': - INDIRECT_( 1 ); - break; - case '=': - if ( lm ) - goto st; - case '\0': - /* This Shouldn't Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct( "" ); - error: - default: - fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); - exit( -1 ); - } - lm >>= 1; - lo >>= 2; - } - - return; -} - -#endif - -/* All Other Operations */ diff --git a/lib_debug/coan_out_000003 b/lib_debug/coan_out_000003 deleted file mode 100644 index bf31e63cef..0000000000 --- a/lib_debug/coan_out_000003 +++ /dev/null @@ -1,924 +0,0 @@ -/* - * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, - * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file - * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". - * - * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor - * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software - * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. - * - * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) - */ - -#ifndef WMOPS_H -#define WMOPS_H - -#ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ -#endif - -#ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ -#endif - - -/* To Prevent "warning: '$' in identifier or number" message under GCC */ -#ifdef __GNUC__ -#pragma GCC system_header -#endif - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - - -#ifdef WMOPS -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void update_wmops( void ); -void update_mem( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -extern int cntr_push_pop; -#define push_wmops( x ) ( cntr_push_pop++ ) -#define pop_wmops() ( cntr_push_pop-- ) -#define update_wmops() ( assert( cntr_push_pop == 0 ) ) -#define update_mem() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -/* mac & msu (Non Instrumented Versions) */ -#ifndef mac -#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) -#endif -#ifndef mac -#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) -#endif - -#ifndef WMOPS -/* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_( op, n ) - -/* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( val ) -#define OP_COUNT_WRAPPER2_( expr ) -#define OP_COUNT_WRAPPER3_( op, expr ) expr - -/* DESACTIVATE Logical & Ternary Operators */ -#define __ -#define _ - -#else - -/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double *ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) - -/******************************************************************/ -/* NOTES: */ -/* The 'wmc_flag_' flag is global to avoid declaration in every */ -/* function and 'static' to avoid clashing with other modules */ -/* that include this header file. */ -/* */ -/* The declarations of 'wmc_flag_' and 'wops_' in this header */ -/* file prevent the addition of a 'C' file to the Project. */ -/******************************************************************/ - -/* General Purpose Global Flag */ -static int wmc_flag_ = 0; - -/* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) -#define OP_COUNT_WRAPPER2_( expr ) \ - if ( expr, 0 ) \ - ; \ - else -#define OP_COUNT_WRAPPER3_( op, expr ) \ - if ( op, 0 ) \ - ; \ - else \ - expr - -#endif - -/* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) -#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) -#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) -#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) -#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) -#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) -#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) -#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) -#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) -#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) -#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) -#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) -#define POWER_( x ) TRANS_( x ) -#define LOG_( x ) TRANS_( x ) -#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) -#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) -#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) -#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) -#define MISC_( x ) ABS_( x ) - -/* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) -#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) -#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) -#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) -#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) -#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) -#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) -#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) -#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) -#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) -#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) -#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) -#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) -#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) -#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) -#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) -#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) -/* these macros use any local macros already defined */ -/* min/max and their Variants */ -#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) -#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) -#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) -#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) -#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) -#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) -/* Square and its Variants */ -#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) -#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) -#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) -#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) -#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) -#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) -/* Sign and its Variants */ -#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) -#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) -#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) -/* Square Root and its Variants */ -#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) -/* Invert Square Root and its Variants */ -#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) -/* Others */ -#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) -#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) -/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" - with Cygwin gcc Compiler */ -#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) -#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) -#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) -/* Set Min/Max */ -#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) -#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) -/* mac & msu (Instrumented Versions) */ -#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) -#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) - -/* Functions */ -#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) - -/* Logical Operators */ -#ifndef __ -#define __ ( BRANCH_( 1 ), 1 ) && -#endif - -/* Ternary Operators (? and :) */ -#ifndef _ -#define _ ( BRANCH_( 1 ), 0 ) ? 0: -#endif - -/* Flow Control keywords */ -#define if_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_( c ) \ - while \ - OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ -#define do_ \ - do \ - { -#define _while \ - BRANCH_( 1 ); \ - } \ - while - -#define goto_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - goto -#define break_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - break -#define continue_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - continue -#define return_ \ - OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ - return - -#define switch_ \ - OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ - switch -#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); - -#ifdef WMOPS - -#define ACC 2 -#define MUL 1 - -/* Counting Function (should not be called externally!) */ -static void wops_( const char *ops ) -{ - char lm = 0; /* lm: Last Operation is Math */ - static char lo = 0; /* Last Operation */ - - void ( *fct )( const char *ops ) = wops_; - -st: - while ( *ops != '\0' ) - { - switch ( *ops++ ) - { - int cnt; - case '-': - for ( cnt = 0; ops[cnt] == '>'; cnt++ ) - ; - if ( cnt & 1 ) - goto ind; - case '+': - lm = 2; - if ( lo & MUL ) - { - MULT_( -1 ); - MAC_( 1 ); - break; - } - lo = ACC << 2; - case 'U': - case 'D': - ADD_( 1 ); - break; - case '*': - lm = 2; - if ( lo & ACC ) - { - ADD_( -1 ); - MAC_( 1 ); - break; - } - lo = MUL << 2; - MULT_( 1 ); - break; - case '/': - case '%': - lm = 2; - DIV_( 1 ); - break; - case '&': - case '|': - case '^': - lm = 2; - case '~': - LOGIC_( 1 ); - break; - case '<': - case '>': - if ( *ops != ops[-1] ) - goto error; - ops++; - case -85: - case -69: - lm = 2; - SHIFT_( 1 ); - break; - case 'L': - case 'G': - if ( *ops == 't' ) - goto comp; - case 'E': - case 'N': - if ( *ops != 'e' ) - goto error; - comp: - ops++; - ADD_( 1 ); - break; - case '!': - MISC_( 2 ); - break; - case 'M': - MOVE_( 1 ); - break; - case 'S': - STORE_( 1 ); - break; - case 'P': - PTR_INIT_( 1 ); - break; - case '[': - case ']': - goto st; - ind: - ops++; - case 'I': - case '.': - INDIRECT_( 1 ); - break; - case '=': - if ( lm ) - goto st; - case '\0': - /* This Shouldn't Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct( "" ); - error: - default: - fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); - exit( -1 ); - } - lm >>= 1; - lo >>= 2; - } - - return; -} - -#endif - -/* All Other Operations */ diff --git a/lib_debug/coan_out_000004 b/lib_debug/coan_out_000004 deleted file mode 100644 index bf31e63cef..0000000000 --- a/lib_debug/coan_out_000004 +++ /dev/null @@ -1,924 +0,0 @@ -/* - * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, - * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file - * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". - * - * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor - * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software - * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. - * - * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) - */ - -#ifndef WMOPS_H -#define WMOPS_H - -#ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ -#endif - -#ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ -#endif - - -/* To Prevent "warning: '$' in identifier or number" message under GCC */ -#ifdef __GNUC__ -#pragma GCC system_header -#endif - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - - -#ifdef WMOPS -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void update_wmops( void ); -void update_mem( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -extern int cntr_push_pop; -#define push_wmops( x ) ( cntr_push_pop++ ) -#define pop_wmops() ( cntr_push_pop-- ) -#define update_wmops() ( assert( cntr_push_pop == 0 ) ) -#define update_mem() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -/* mac & msu (Non Instrumented Versions) */ -#ifndef mac -#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) -#endif -#ifndef mac -#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) -#endif - -#ifndef WMOPS -/* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_( op, n ) - -/* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( val ) -#define OP_COUNT_WRAPPER2_( expr ) -#define OP_COUNT_WRAPPER3_( op, expr ) expr - -/* DESACTIVATE Logical & Ternary Operators */ -#define __ -#define _ - -#else - -/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double *ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) - -/******************************************************************/ -/* NOTES: */ -/* The 'wmc_flag_' flag is global to avoid declaration in every */ -/* function and 'static' to avoid clashing with other modules */ -/* that include this header file. */ -/* */ -/* The declarations of 'wmc_flag_' and 'wops_' in this header */ -/* file prevent the addition of a 'C' file to the Project. */ -/******************************************************************/ - -/* General Purpose Global Flag */ -static int wmc_flag_ = 0; - -/* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) -#define OP_COUNT_WRAPPER2_( expr ) \ - if ( expr, 0 ) \ - ; \ - else -#define OP_COUNT_WRAPPER3_( op, expr ) \ - if ( op, 0 ) \ - ; \ - else \ - expr - -#endif - -/* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) -#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) -#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) -#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) -#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) -#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) -#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) -#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) -#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) -#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) -#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) -#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) -#define POWER_( x ) TRANS_( x ) -#define LOG_( x ) TRANS_( x ) -#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) -#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) -#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) -#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) -#define MISC_( x ) ABS_( x ) - -/* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) -#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) -#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) -#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) -#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) -#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) -#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) -#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) -#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) -#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) -#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) -#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) -#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) -#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) -#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) -#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) -#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) -/* these macros use any local macros already defined */ -/* min/max and their Variants */ -#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) -#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) -#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) -#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) -#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) -#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) -/* Square and its Variants */ -#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) -#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) -#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) -#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) -#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) -#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) -/* Sign and its Variants */ -#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) -#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) -#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) -/* Square Root and its Variants */ -#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) -/* Invert Square Root and its Variants */ -#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) -/* Others */ -#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) -#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) -/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" - with Cygwin gcc Compiler */ -#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) -#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) -#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) -/* Set Min/Max */ -#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) -#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) -/* mac & msu (Instrumented Versions) */ -#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) -#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) - -/* Functions */ -#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) - -/* Logical Operators */ -#ifndef __ -#define __ ( BRANCH_( 1 ), 1 ) && -#endif - -/* Ternary Operators (? and :) */ -#ifndef _ -#define _ ( BRANCH_( 1 ), 0 ) ? 0: -#endif - -/* Flow Control keywords */ -#define if_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_( c ) \ - while \ - OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ -#define do_ \ - do \ - { -#define _while \ - BRANCH_( 1 ); \ - } \ - while - -#define goto_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - goto -#define break_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - break -#define continue_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - continue -#define return_ \ - OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ - return - -#define switch_ \ - OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ - switch -#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); - -#ifdef WMOPS - -#define ACC 2 -#define MUL 1 - -/* Counting Function (should not be called externally!) */ -static void wops_( const char *ops ) -{ - char lm = 0; /* lm: Last Operation is Math */ - static char lo = 0; /* Last Operation */ - - void ( *fct )( const char *ops ) = wops_; - -st: - while ( *ops != '\0' ) - { - switch ( *ops++ ) - { - int cnt; - case '-': - for ( cnt = 0; ops[cnt] == '>'; cnt++ ) - ; - if ( cnt & 1 ) - goto ind; - case '+': - lm = 2; - if ( lo & MUL ) - { - MULT_( -1 ); - MAC_( 1 ); - break; - } - lo = ACC << 2; - case 'U': - case 'D': - ADD_( 1 ); - break; - case '*': - lm = 2; - if ( lo & ACC ) - { - ADD_( -1 ); - MAC_( 1 ); - break; - } - lo = MUL << 2; - MULT_( 1 ); - break; - case '/': - case '%': - lm = 2; - DIV_( 1 ); - break; - case '&': - case '|': - case '^': - lm = 2; - case '~': - LOGIC_( 1 ); - break; - case '<': - case '>': - if ( *ops != ops[-1] ) - goto error; - ops++; - case -85: - case -69: - lm = 2; - SHIFT_( 1 ); - break; - case 'L': - case 'G': - if ( *ops == 't' ) - goto comp; - case 'E': - case 'N': - if ( *ops != 'e' ) - goto error; - comp: - ops++; - ADD_( 1 ); - break; - case '!': - MISC_( 2 ); - break; - case 'M': - MOVE_( 1 ); - break; - case 'S': - STORE_( 1 ); - break; - case 'P': - PTR_INIT_( 1 ); - break; - case '[': - case ']': - goto st; - ind: - ops++; - case 'I': - case '.': - INDIRECT_( 1 ); - break; - case '=': - if ( lm ) - goto st; - case '\0': - /* This Shouldn't Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct( "" ); - error: - default: - fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); - exit( -1 ); - } - lm >>= 1; - lo >>= 2; - } - - return; -} - -#endif - -/* All Other Operations */ diff --git a/lib_debug/coan_out_000005 b/lib_debug/coan_out_000005 deleted file mode 100644 index bf31e63cef..0000000000 --- a/lib_debug/coan_out_000005 +++ /dev/null @@ -1,924 +0,0 @@ -/* - * (C) 2022 copyright VoiceAge Corporation. All Rights Reserved. - * - * This software is protected by copyright law and by international treaties. The source code, and all of its derivations, - * is provided by VoiceAge Corporation under the "ITU-T Software Tools' General Public License". Please, read the license file - * or refer to ITU-T Recommendation G.191 on "SOFTWARE TOOLS FOR SPEECH AND AUDIO CODING STANDARDS". - * - * Any use of this software is permitted provided that this notice is not removed and that neither the authors nor - * VoiceAge Corporation are deemed to have made any representations as to the suitability of this software - * for any purpose nor are held responsible for any defects of this software. THERE IS NO WARRANTY FOR THIS SOFTWARE. - * - * Authors: Guy Richard, Vladimir Malenovsky (Vladimir.Malenovsky@USherbrooke.ca) - */ - -#ifndef WMOPS_H -#define WMOPS_H - -#ifndef EXIT_FAILURE -#include <stdlib.h> /* stdlib is needed for exit() */ -#endif - -#ifndef EOF -#include <stdio.h> /* stdio is needed for fprintf() */ -#endif - - -/* To Prevent "warning: '$' in identifier or number" message under GCC */ -#ifdef __GNUC__ -#pragma GCC system_header -#endif - -/* Real-time relationships */ -#define FRAMES_PER_SECOND 50.0 -#define MILLION_CYCLES 1e6 -#define WMOPS_BOOST_FAC ( 1.0f ) /* scaling factor for equalizing the difference between automatic and manual instrumentation */ -#define FAC ( FRAMES_PER_SECOND / MILLION_CYCLES * WMOPS_BOOST_FAC ) -#define NUM_INST 20 /* Total number of instruction types (in enum below) */ - - -#ifdef WMOPS -enum instructions -{ - _ADD, - _ABS, - _MULT, - _MAC, - _MOVE, - _STORE, - _LOGIC, - _SHIFT, - _BRANCH, - _DIV, - _SQRT, - _TRANS, - _FUNC, - _LOOP, - _INDIRECT, - _PTR_INIT, - _TEST, - _POWER, - _LOG, - _MISC -}; - -#define _ADD_C 1 -#define _ABS_C 1 -#define _MULT_C 1 -#define _MAC_C 1 -#define _MOVE_C 1 -#define _STORE_C 1 -#define _LOGIC_C 1 -#define _SHIFT_C 1 -#define _BRANCH_C 4 -#define _DIV_C 18 -#define _SQRT_C 10 -#define _TRANS_C 25 -#define _FUNC_C 2 /* need to add number of arguments */ -#define _LOOP_C 3 -#define _INDIRECT_C 2 -#define _PTR_INIT_C 1 -#define _TEST_C 2 -#define _POWER_C 25 -#define _LOG_C 25 -#define _MISC_C 1 - -#define _ADD_P 1 -#define _ABS_P 1 -#define _MULT_P 1 -#define _MAC_P 1 -#define _MOVE_P 1 -#define _STORE_P 0 -#define _LOGIC_P 1 -#define _SHIFT_P 1 -#define _BRANCH_P 2 -#define _DIV_P 2 -#define _SQRT_P 2 -#define _TRANS_P 2 -#define _FUNC_P 2 /* need to add number of arguments */ -#define _LOOP_P 1 -#define _INDIRECT_P 2 -#define _PTR_INIT_P 1 -#define _TEST_P 1 -#define _POWER_P 2 -#define _LOG_P 2 -#define _MISC_P 1 - -#define ADD( x ) \ - { \ - { \ - ops_cnt += ( _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define ABS( x ) \ - { \ - { \ - ops_cnt += ( _ABS_C * ( x ) ); \ - inst_cnt[_ABS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ABS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MULT( x ) \ - { \ - { \ - ops_cnt += ( _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MAC( x ) \ - { \ - { \ - ops_cnt += ( _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MOVE( x ) \ - { \ - { \ - ops_cnt += ( _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define STORE( x ) \ - { \ - { \ - ops_cnt += ( _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOGIC( x ) \ - { \ - { \ - ops_cnt += ( _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SHIFT( x ) \ - { \ - { \ - ops_cnt += ( _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define BRANCH( x ) \ - { \ - { \ - ops_cnt += ( _BRANCH_C * ( x ) ); \ - inst_cnt[_BRANCH] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _BRANCH_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DIV( x ) \ - { \ - { \ - ops_cnt += ( _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define SQRT( x ) \ - { \ - { \ - ops_cnt += ( _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TRANS( x ) \ - { \ - { \ - ops_cnt += ( _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOOP( x ) \ - { \ - { \ - ops_cnt += ( _LOOP_C * ( x ) ); \ - inst_cnt[_LOOP] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOOP_P * ( x ) ); \ - } \ - } \ - } \ - } -#define INDIRECT( x ) \ - { \ - { \ - ops_cnt += ( _INDIRECT_C * ( x ) ); \ - inst_cnt[_INDIRECT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _INDIRECT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define PTR_INIT( x ) \ - { \ - { \ - ops_cnt += ( _PTR_INIT_C * ( x ) ); \ - inst_cnt[_PTR_INIT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _PTR_INIT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define TEST( x ) \ - { \ - { \ - ops_cnt += ( _TEST_C * ( x ) ); \ - inst_cnt[_TEST] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TEST_P * ( x ) ); \ - } \ - } \ - } \ - } -#define POWER( x ) \ - { \ - { \ - ops_cnt += ( _POWER_C * ( x ) ); \ - inst_cnt[_POWER] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _POWER_P * ( x ) ); \ - } \ - } \ - } \ - } -#define LOG( x ) \ - { \ - { \ - ops_cnt += ( _LOG_C * ( x ) ); \ - inst_cnt[_LOG] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOG_P * ( x ) ); \ - } \ - } \ - } \ - } -#define MISC( x ) \ - { \ - { \ - ops_cnt += ( _MISC_C * ( x ) ); \ - inst_cnt[_MISC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MISC_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define FUNC( x ) \ - { \ - { \ - ops_cnt += ( _FUNC_C + _MOVE_C * ( x ) ); \ - inst_cnt[_FUNC]++; \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _FUNC_P + _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } - -#define DADD( x ) \ - { \ - { \ - ops_cnt += ( 2 * _ADD_C * ( x ) ); \ - inst_cnt[_ADD] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _ADD_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMULT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MULT_C * ( x ) ); \ - inst_cnt[_MULT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MULT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMAC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MAC_C * ( x ) ); \ - inst_cnt[_MAC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MAC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DMOVE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _MOVE_C * ( x ) ); \ - inst_cnt[_MOVE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _MOVE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSTORE( x ) \ - { \ - { \ - ops_cnt += ( 2 * _STORE_C * ( x ) ); \ - inst_cnt[_STORE] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _STORE_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DLOGIC( x ) \ - { \ - { \ - ops_cnt += ( 2 * _LOGIC_C * ( x ) ); \ - inst_cnt[_LOGIC] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _LOGIC_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSHIFT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SHIFT_C * ( x ) ); \ - inst_cnt[_SHIFT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SHIFT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DDIV( x ) \ - { \ - { \ - ops_cnt += ( 2 * _DIV_C * ( x ) ); \ - inst_cnt[_DIV] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _DIV_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DSQRT( x ) \ - { \ - { \ - ops_cnt += ( 2 * _SQRT_C * ( x ) ); \ - inst_cnt[_SQRT] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _SQRT_P * ( x ) ); \ - } \ - } \ - } \ - } -#define DTRANS( x ) \ - { \ - { \ - ops_cnt += ( 2 * _TRANS_C * ( x ) ); \ - inst_cnt[_TRANS] += ( x ); \ - { \ - static int pcnt; \ - if ( !pcnt ) \ - { \ - pcnt = 1; \ - prom_cnt += ( _TRANS_P * ( x ) ); \ - } \ - } \ - } \ - } - -extern double ops_cnt; -extern double prom_cnt; -extern double inst_cnt[NUM_INST]; -extern int ops_cnt_activ; - -void reset_wmops( void ); -void push_wmops( const char *label ); -void pop_wmops( void ); -void update_wmops( void ); -void update_mem( void ); -void print_wmops( void ); - -#else /* WMOPS counting disabled */ - -#define reset_wmops() -extern int cntr_push_pop; -#define push_wmops( x ) ( cntr_push_pop++ ) -#define pop_wmops() ( cntr_push_pop-- ) -#define update_wmops() ( assert( cntr_push_pop == 0 ) ) -#define update_mem() -#define print_wmops() - -#define ADD( x ) -#define ABS( x ) -#define MULT( x ) -#define MAC( x ) -#define MOVE( x ) -#define STORE( x ) -#define LOGIC( x ) -#define SHIFT( x ) -#define BRANCH( x ) -#define DIV( x ) -#define SQRT( x ) -#define TRANS( x ) -#define FUNC( x ) -#define LOOP( x ) -#define INDIRECT( x ) -#define PTR_INIT( x ) -#define TEST( x ) -#define POWER( x ) -#define LOG( x ) -#define MISC( x ) - -#define DADD( x ) -#define DMULT( x ) -#define DMAC( x ) -#define DMOVE( x ) -#define DSTORE( x ) -#define DLOGIC( x ) -#define DSHIFT( x ) -#define DDIV( x ) -#define DSQRT( x ) -#define DTRANS( x ) - -#endif - -/* mac & msu (Non Instrumented Versions) */ -#ifndef mac -#define mac( a, b, c ) ( ( a ) + ( b ) * ( c ) ) -#endif -#ifndef mac -#define msu( a, b, c ) ( ( a ) - ( b ) * ( c ) ) -#endif - -#ifndef WMOPS -/* DESACTIVATE the Counting Mechanism */ -#define OP_COUNT_( op, n ) - -/* DESACTIVATE Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( val ) -#define OP_COUNT_WRAPPER2_( expr ) -#define OP_COUNT_WRAPPER3_( op, expr ) expr - -/* DESACTIVATE Logical & Ternary Operators */ -#define __ -#define _ - -#else - -/* '*ops_cnt_ptr' is Used to Avoid: "warning: operation on 'ops_cnt' may be undefined" with Cygwin gcc Compiler */ -static double *ops_cnt_ptr = &ops_cnt; -#define OP_COUNT_( op, x ) ( *ops_cnt_ptr += ( op##_C * ( x ) ), inst_cnt[op] += ( x ) ) - -/******************************************************************/ -/* NOTES: */ -/* The 'wmc_flag_' flag is global to avoid declaration in every */ -/* function and 'static' to avoid clashing with other modules */ -/* that include this header file. */ -/* */ -/* The declarations of 'wmc_flag_' and 'wops_' in this header */ -/* file prevent the addition of a 'C' file to the Project. */ -/******************************************************************/ - -/* General Purpose Global Flag */ -static int wmc_flag_ = 0; - -/* Operation Counter Wrappers */ -#define OP_COUNT_WRAPPER1_( op, val ) ( op, val ) -#define OP_COUNT_WRAPPER2_( expr ) \ - if ( expr, 0 ) \ - ; \ - else -#define OP_COUNT_WRAPPER3_( op, expr ) \ - if ( op, 0 ) \ - ; \ - else \ - expr - -#endif - -/* Define all Macros without '{' & '}' (None of these should be called externally!) */ -#define ABS_( x ) OP_COUNT_( _ABS, ( x ) / WMOPS_BOOST_FAC ) -#define ADD_( x ) OP_COUNT_( _ADD, ( x ) / WMOPS_BOOST_FAC ) -#define MULT_( x ) OP_COUNT_( _MULT, ( x ) / WMOPS_BOOST_FAC ) -#define MAC_( x ) OP_COUNT_( _MAC, ( x ) / WMOPS_BOOST_FAC ) -#define MOVE_( x ) OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ) -#define STORE_( x ) OP_COUNT_( _STORE, ( x ) / WMOPS_BOOST_FAC ) -#define LOGIC_( x ) OP_COUNT_( _LOGIC, ( x ) / WMOPS_BOOST_FAC ) -#define SHIFT_( x ) OP_COUNT_( _SHIFT, ( x ) / WMOPS_BOOST_FAC ) -#define BRANCH_( x ) OP_COUNT_( _BRANCH, ( x ) / WMOPS_BOOST_FAC ) -#define DIV_( x ) OP_COUNT_( _DIV, ( x ) / WMOPS_BOOST_FAC ) -#define SQRT_( x ) OP_COUNT_( _SQRT, ( x ) / WMOPS_BOOST_FAC ) -#define TRANS_( x ) OP_COUNT_( _TRANS, ( x ) / WMOPS_BOOST_FAC ) -#define POWER_( x ) TRANS_( x ) -#define LOG_( x ) TRANS_( x ) -#define LOOP_( x ) OP_COUNT_( _LOOP, ( x ) / WMOPS_BOOST_FAC ) -#define INDIRECT_( x ) OP_COUNT_( _INDIRECT, ( x ) / WMOPS_BOOST_FAC ) -#define PTR_INIT_( x ) OP_COUNT_( _PTR_INIT, ( x ) / WMOPS_BOOST_FAC ) -#define FUNC_( x ) ( OP_COUNT_( _MOVE, ( x ) / WMOPS_BOOST_FAC ), OP_COUNT_( _FUNC, 1 ) ) -#define MISC_( x ) ABS_( x ) - -/* Math Operations */ -#define abs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), abs ) -#define fabs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), fabs ) -#define labs_ OP_COUNT_WRAPPER1_( ABS_( 1 ), labs ) -#define floor_ OP_COUNT_WRAPPER1_( MISC_( 1 ), floor ) -#define sqrt_ OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrt ) -#define pow_ OP_COUNT_WRAPPER1_( POWER_( 1 ), pow ) -#define exp_ OP_COUNT_WRAPPER1_( POWER_( 1 ), exp ) -#define log_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log ) -#define log10_ OP_COUNT_WRAPPER1_( LOG_( 1 ), log10 ) -#define cos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cos ) -#define sin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sin ) -#define tan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tan ) -#define acos_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), acos ) -#define asin_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), asin ) -#define atan_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan ) -#define atan2_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), atan2 ) -#define cosh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), cosh ) -#define sinh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), sinh ) -#define tanh_ OP_COUNT_WRAPPER1_( TRANS_( 1 ), tanh ) -#define fmod_ OP_COUNT_WRAPPER1_( DIV_( 1 ), fmod ) -/* these macros use any local macros already defined */ -/* min/max and their Variants */ -#define min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), min( ( a ), ( b ) ) ) -#define max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), max( ( a ), ( b ) ) ) -#define MIN_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MIN( ( a ), ( b ) ) ) -#define MAX_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), MAX( ( a ), ( b ) ) ) -#define Min_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Min( ( a ), ( b ) ) ) -#define Max_( a, b ) OP_COUNT_WRAPPER1_( MISC_( 1 ), Max( ( a ), ( b ) ) ) -/* Square and its Variants */ -#define sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), sqr( ( x ) ) ) -#define Sqr_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Sqr( ( x ) ) ) -#define SQR_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQR( ( x ) ) ) -#define square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), square( ( x ) ) ) -#define Square_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), Square( ( x ) ) ) -#define SQUARE_( x ) OP_COUNT_WRAPPER1_( MULT_( 1 ), SQUARE( ( x ) ) ) -/* Sign and its Variants */ -#define sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), sign( ( x ) ) ) -#define Sign_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), Sign( ( x ) ) ) -#define SIGN_( x ) OP_COUNT_WRAPPER1_( MOVE_( 1 ), SIGN( ( x ) ) ) -/* Square Root and its Variants */ -#define sqrtf_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), sqrtf( ( x ) ) ) -/* Invert Square Root and its Variants */ -#define inv_sqrt_( x ) OP_COUNT_WRAPPER1_( SQRT_( 1 ), inv_sqrt( ( x ) ) ) -/* Others */ -#define log_base_2_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log_base_2( ( x ) ) ) -#define log2_f_( x ) OP_COUNT_WRAPPER1_( ( LOG_( 1 ), MULT_( 1 ) ), log2_f( ( x ) ) ) -/* The 'wmc_flag_=wmc_flag_' is Used to Avoid: "warning: left-hand operand of comma expression has no effect" - with Cygwin gcc Compiler */ -#define _round_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _round( ( x ) ) ) -#define round_f_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, round_f( ( x ) ) ) -#define _squant_( x ) OP_COUNT_WRAPPER1_( wmc_flag_ = wmc_flag_, _squant( ( x ) ) ) -/* Set Min/Max */ -#define set_min_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_min( ( a ), ( b ) ) ) -#define set_max_( a, b ) OP_COUNT_WRAPPER3_( ( ADD_( 1 ), BRANCH_( 1 ), MOVE_( 1 ) ), set_max( ( a ), ( b ) ) ) -/* mac & msu (Instrumented Versions) */ -#define mac_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), mac( a, b, c ) ) -#define msu_( a, b, c ) OP_COUNT_WRAPPER1_( MAC_( 1 ), msu( a, b, c ) ) - -/* Functions */ -#define func_( name, x ) OP_COUNT_WRAPPER1_( FUNC_( x ), name ) - -/* Logical Operators */ -#ifndef __ -#define __ ( BRANCH_( 1 ), 1 ) && -#endif - -/* Ternary Operators (? and :) */ -#ifndef _ -#define _ ( BRANCH_( 1 ), 0 ) ? 0: -#endif - -/* Flow Control keywords */ -#define if_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - if -#define for_ OP_COUNT_WRAPPER2_( LOOP_(1)) for -#define while_( c ) \ - while \ - OP_COUNT_WRAPPER1_( BRANCH_( 1 ), ( c ) ) /* needs extra "()" if ',' encountered */ -#define do_ \ - do \ - { -#define _while \ - BRANCH_( 1 ); \ - } \ - while - -#define goto_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - goto -#define break_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - break -#define continue_ \ - OP_COUNT_WRAPPER2_( BRANCH_( 1 ) ) \ - continue -#define return_ \ - OP_COUNT_WRAPPER2_( ( wmc_flag_ = stack_tree_level_, STACK_DEPTH_FCT_RETURN ) ) \ - return - -#define switch_ \ - OP_COUNT_WRAPPER2_( ( BRANCH_( 1 ), wmc_flag_ = 1 ) ) \ - switch -#define cost_( n ) OP_COUNT_WRAPPER2_( wmc_flag_ ? ( ADD_( n ), BRANCH_( n ), wmc_flag_ = 0 ) : 0 ); - -#ifdef WMOPS - -#define ACC 2 -#define MUL 1 - -/* Counting Function (should not be called externally!) */ -static void wops_( const char *ops ) -{ - char lm = 0; /* lm: Last Operation is Math */ - static char lo = 0; /* Last Operation */ - - void ( *fct )( const char *ops ) = wops_; - -st: - while ( *ops != '\0' ) - { - switch ( *ops++ ) - { - int cnt; - case '-': - for ( cnt = 0; ops[cnt] == '>'; cnt++ ) - ; - if ( cnt & 1 ) - goto ind; - case '+': - lm = 2; - if ( lo & MUL ) - { - MULT_( -1 ); - MAC_( 1 ); - break; - } - lo = ACC << 2; - case 'U': - case 'D': - ADD_( 1 ); - break; - case '*': - lm = 2; - if ( lo & ACC ) - { - ADD_( -1 ); - MAC_( 1 ); - break; - } - lo = MUL << 2; - MULT_( 1 ); - break; - case '/': - case '%': - lm = 2; - DIV_( 1 ); - break; - case '&': - case '|': - case '^': - lm = 2; - case '~': - LOGIC_( 1 ); - break; - case '<': - case '>': - if ( *ops != ops[-1] ) - goto error; - ops++; - case -85: - case -69: - lm = 2; - SHIFT_( 1 ); - break; - case 'L': - case 'G': - if ( *ops == 't' ) - goto comp; - case 'E': - case 'N': - if ( *ops != 'e' ) - goto error; - comp: - ops++; - ADD_( 1 ); - break; - case '!': - MISC_( 2 ); - break; - case 'M': - MOVE_( 1 ); - break; - case 'S': - STORE_( 1 ); - break; - case 'P': - PTR_INIT_( 1 ); - break; - case '[': - case ']': - goto st; - ind: - ops++; - case 'I': - case '.': - INDIRECT_( 1 ); - break; - case '=': - if ( lm ) - goto st; - case '\0': - /* This Shouldn't Happen */ - /* These are Used to Avoid: "warning: 'name' defined but not used" with Cygwin gcc Compiler */ - wmc_flag_ = wmc_flag_; - ops_cnt_ptr = ops_cnt_ptr; - fct( "" ); - error: - default: - fprintf( stderr, "\r wops: Invalid Counting Operation '%s'\n", ops - 1 ); - exit( -1 ); - } - lm >>= 1; - lo >>= 2; - } - - return; -} - -#endif - -/* All Other Operations */ -- GitLab From 57d7d9cd2a294ceca932dac2d50599025940673a Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Wed, 18 Jan 2023 09:56:37 +0100 Subject: [PATCH 610/620] add gitignore line to ignore coan output files --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 4c03ff1833..77d081dec9 100644 --- a/.gitignore +++ b/.gitignore @@ -65,3 +65,6 @@ __pycache__/ #history .history/ + +# coan output files that are created when cleaning out switches +coan_out_* -- GitLab From 0c07e259b669f9939556fa1466da8539207afc57 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 18 Jan 2023 10:31:35 +0100 Subject: [PATCH 611/620] - correctly handle error return for refactored function calls - change return type of ivas_rend_closeCrend to void - replace references to "SPAR Crend" by just "Crend" - minor formatting --- lib_com/ivas_prot.h | 4 ++++ lib_dec/ivas_dec.c | 26 ++++++++++++++++++++++++-- lib_dec/ivas_init_dec.c | 16 ++++++++++++---- lib_dec/ivas_ism_param_dec.c | 10 +++++++++- lib_dec/ivas_mct_dec.c | 32 ++++++++++++++++++-------------- lib_dec/ivas_sba_dec.c | 15 ++++++++++++--- lib_rend/ivas_binauralRenderer.c | 2 +- lib_rend/ivas_crend.c | 16 ++++++++++------ lib_rend/lib_rend.c | 11 +++++++---- 9 files changed, 97 insertions(+), 35 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 6c95f13fe2..97c57084e0 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5383,7 +5383,11 @@ ivas_error ivas_rend_initCrend( RENDER_CONFIG_DATA *hRendCfg, const int32_t output_Fs ); +#ifdef FIX_197_CREND_INTERFACE +void ivas_rend_closeCrend( +#else ivas_error ivas_rend_closeCrend( +#endif CREND_WRAPPER_HANDLE *pCrend ); ivas_error ivas_rend_crendProcess( diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index c9c2e309ff..452284cfb3 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -208,7 +208,18 @@ ivas_error ivas_dec( else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { #ifdef FIX_197_CREND_INTERFACE - ivas_rend_crendProcess( st_ivas->hCrendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM, st_ivas->hDecoderConfig, st_ivas->hHeadTrackData, &st_ivas->hIntSetup, NULL, output, output_Fs ); + if ( ( error = ivas_rend_crendProcess( st_ivas->hCrendWrapper, + IVAS_REND_AUDIO_CONFIG_7_1_4, + IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM, + st_ivas->hDecoderConfig, + st_ivas->hHeadTrackData, + &st_ivas->hIntSetup, + NULL, + output, + output_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } #else ivas_crend_process( st_ivas, output ); #endif @@ -394,7 +405,18 @@ ivas_error ivas_dec( if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { #ifdef FIX_197_CREND_INTERFACE - ivas_rend_crendProcess( st_ivas->hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hOutSetup.output_config ), st_ivas->hDecoderConfig, st_ivas->hHeadTrackData, &st_ivas->hIntSetup, st_ivas->hEFAPdata, output, output_Fs ); + if ( ( error = ivas_rend_crendProcess( st_ivas->hCrendWrapper, + getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->hOutSetup.output_config ), + st_ivas->hDecoderConfig, + st_ivas->hHeadTrackData, + &st_ivas->hIntSetup, + st_ivas->hEFAPdata, + output, + output_Fs ) != IVAS_ERR_OK ) ) + { + return error; + } #else ivas_crend_process( st_ivas, output ); #endif diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index 61171b1a89..f2fdf1f9b0 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1148,14 +1148,14 @@ ivas_error ivas_init_decoder( #ifdef FIX_197_CREND_INTERFACE if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Wrapper\n" ); } if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) #else if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) #endif { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" ); } } } @@ -1178,12 +1178,20 @@ ivas_error ivas_init_decoder( #ifdef FIX_197_CREND_INTERFACE if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM && st_ivas->ivas_format == MC_FORMAT && st_ivas->hDecoderConfig->Opt_Headrotation ) { - if ( ( error = efap_init_data( &( st_ivas->hEFAPdata ), st_ivas->hIntSetup.ls_azimuth, st_ivas->hIntSetup.ls_elevation, st_ivas->hIntSetup.nchan_out_woLFE, EFAP_MODE_EFAP ) ) != IVAS_ERR_OK ) + if ( ( error = efap_init_data( &( st_ivas->hEFAPdata ), + st_ivas->hIntSetup.ls_azimuth, + st_ivas->hIntSetup.ls_elevation, + st_ivas->hIntSetup.nchan_out_woLFE, + EFAP_MODE_EFAP ) ) != IVAS_ERR_OK ) { return error; } } - if ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) + if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), + st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, + st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) ) { return error; } diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index 2ad266ee9c..d8c9908bf2 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -1086,7 +1086,15 @@ static ivas_error ivas_ism_bitrate_switching( /* Open Crend Binaural renderer */ #ifdef FIX_197_CREND_INTERFACE - ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hOutSetup.output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ); + if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->hOutSetup.output_config ), + st_ivas->hRenderConfig, + st_ivas->hDecoderConfig->Opt_Headrotation, + st_ivas->hDecoderConfig->output_Fs ) ) != IVAS_ERR_OK ) + { + return error; + } #else ivas_crend_open( st_ivas ); #endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 75ecc6f923..104efadd9b 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -1097,11 +1097,11 @@ static ivas_error ivas_mc_dec_reconfig( { if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Wrapper\n" ); } if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" ); } } #else @@ -1109,30 +1109,34 @@ static ivas_error ivas_mc_dec_reconfig( { if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" ); } } -#endif +#endif } #ifdef FIX_197_CREND_INTERFACE else if ( st_ivas->hCrendWrapper == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) ) { - if ( ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) + if ( ( error = ivas_rend_openCrend( &( st_ivas->hCrendWrapper ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), + st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, + st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) ) { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); + return error; } } #else - } - else if ( st_ivas->hCrend == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) ) + } + else if ( st_ivas->hCrend == NULL && ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) ) + { + if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) { - if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) - { - return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); - } + return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); } - - #endif + } + +#endif } /* mono/stereo */ else if ( output_config == AUDIO_CONFIG_MONO || output_config == AUDIO_CONFIG_STEREO ) diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 09060dc23b..984ce22cb1 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -468,14 +468,14 @@ ivas_error ivas_sba_dec_reinit( #ifdef FIX_197_CREND_INTERFACE if ( ( st_ivas->hCrendWrapper = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR CrendWrapper\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for CrendWrapper\n" ); } if ( ( st_ivas->hCrendWrapper->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) #else if ( ( st_ivas->hCrend = (CREND_HANDLE) malloc( sizeof( CREND_DATA ) ) ) == NULL ) #endif { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend\n" ); } } } @@ -496,12 +496,21 @@ ivas_error ivas_sba_dec_reinit( else if ( st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV || st_ivas->renderer_type == RENDERER_BINAURAL_MIXER_CONV_ROOM ) { #ifdef FIX_197_CREND_INTERFACE - if ( ivas_rend_openCrend( &st_ivas->hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), st_ivas->hRenderConfig, st_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) + if ( ( error = ivas_rend_openCrend( &st_ivas->hCrendWrapper, + getRendAudioConfigFromIvasAudioConfig( st_ivas->intern_config ), + getRendAudioConfigFromIvasAudioConfig( st_ivas->hDecoderConfig->output_config ), + st_ivas->hRenderConfig, + t_ivas->hDecoderConfig->Opt_Headrotation, + st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) ) #else if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) #endif { +#ifdef FIX_197_CREND_INTERFACE + return error; +#else return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); +#endif } } ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); diff --git a/lib_rend/ivas_binauralRenderer.c b/lib_rend/ivas_binauralRenderer.c index ed98cb764a..6503e8e1f7 100644 --- a/lib_rend/ivas_binauralRenderer.c +++ b/lib_rend/ivas_binauralRenderer.c @@ -792,7 +792,7 @@ void ivas_binaural_add_LFE( if ( render_lfe ) { #ifdef FIX_197_CREND_INTERFACE - gain = ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hHrtfCrend != NULL ) ? st_ivas->hCrendWrapper->hHrtfCrend->gain_lfe : GAIN_LFE; + gain = ( ( st_ivas->hCrendWrapper != NULL ) && ( st_ivas->hCrendWrapper->hHrtfCrend != NULL ) ) ? st_ivas->hCrendWrapper->hHrtfCrend->gain_lfe : GAIN_LFE; #else gain = st_ivas->hHrtf != NULL ? st_ivas->hHrtf->gain_lfe : GAIN_LFE; #endif diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index cf1d0ea098..55b7e55bf6 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -153,6 +153,7 @@ static ivas_error ivas_hrtf_close( } +#ifndef FIX_197_CREND_INTERFACE /*------------------------------------------------------------------------- * ivas_crend_init_from_rom() * @@ -653,6 +654,7 @@ ivas_error ivas_crend_init_from_rom( return IVAS_ERR_OK; } +#endif #ifndef FIX_197_CREND_INTERFACE /*------------------------------------------------------------------------- @@ -1175,14 +1177,14 @@ ivas_error ivas_rend_openCrend( #ifdef FIX_197_CREND_INTERFACE if ( pCrend == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Wrapper\n" ); } if ( *pCrend == NULL ) { if ( ( *pCrend = (CREND_WRAPPER_HANDLE) malloc( sizeof( CREND_WRAPPER ) ) ) == NULL ) { - return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for SPAR Crend Wrapper\n" ); + return IVAS_ERROR( IVAS_ERR_FAILED_ALLOC, "Can not allocate memory for Crend Wrapper\n" ); } ( *pCrend )->binaural_latency_ns = 0; ( *pCrend )->hCrend = NULL; @@ -1753,10 +1755,11 @@ ivas_error ivas_rend_initCrend( * Deallocate Crend renderer handle *------------------------------------------------------------------------*/ -ivas_error ivas_rend_closeCrend( #ifdef FIX_197_CREND_INTERFACE +void ivas_rend_closeCrend( CREND_WRAPPER_HANDLE *pCrend ) #else +ivas_error ivas_rend_closeCrend( CREND_WRAPPER *pCrend ) #endif { @@ -1765,12 +1768,12 @@ ivas_error ivas_rend_closeCrend( #ifdef FIX_197_CREND_INTERFACE if ( pCrend == NULL ) { - return IVAS_ERR_OK; + return; } if ( *pCrend == NULL ) { - return IVAS_ERR_OK; + return; } if ( ( *pCrend )->hHrtfCrend != NULL ) @@ -1835,6 +1838,7 @@ ivas_error ivas_rend_closeCrend( free( *pCrend ); *pCrend = NULL; } + return; #else if ( pCrend->hHrtfCrend != NULL ) { @@ -1896,8 +1900,8 @@ ivas_error ivas_rend_closeCrend( free( pCrend->hCrend ); pCrend->hCrend = NULL; } -#endif return IVAS_ERR_OK; +#endif } /*-----------------------------------------------------------------------------------------* diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 54d18072f7..e7c78b2690 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -305,7 +305,7 @@ static int32_t limitRendererOutput( #ifdef FIX_197_CREND_INTERFACE AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( #else -static AUDIO_CONFIG rendAudioConfigToIvasAudioConfig( // VE2AT: similar is defined again at line 397, why?#endif +static AUDIO_CONFIG rendAudioConfigToIvasAudioConfig( // VE2AT: similar is defined again at line 397, why? #endif IVAS_REND_AudioConfig rendConfig ) { @@ -487,6 +487,10 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( return IVAS_REND_AUDIO_CONFIG_HOA2; case AUDIO_CONFIG_HOA3: return IVAS_REND_AUDIO_CONFIG_HOA3; + default: + break; + } + return IVAS_REND_AUDIO_CONFIG_UNKNOWN; #else case IVAS_REND_AUDIO_CONFIG_MONO: return AUDIO_CONFIG_MONO; @@ -512,12 +516,11 @@ AUDIO_CONFIG getIvasAudioConfigFromRendAudioConfig( return AUDIO_CONFIG_HOA2; case IVAS_REND_AUDIO_CONFIG_HOA3: return AUDIO_CONFIG_HOA3; -#endif default: break; } - return AUDIO_CONFIG_INVALID; +#endif } static ivas_error initLimiter( @@ -5069,4 +5072,4 @@ ivas_error ivas_rend_initEfap( return err; } -#endif \ No newline at end of file +#endif -- GitLab From d906eb1a564defa39f68b887ff637bc6f188c27e Mon Sep 17 00:00:00 2001 From: Archit Tamarapu <archit.tamarapu@iis.fraunhofer.de> Date: Wed, 18 Jan 2023 11:00:33 +0100 Subject: [PATCH 612/620] rename file constants to be clearer about where they are used --- tests/renderer/constants.py | 4 +-- tests/renderer/test_renderer_be_comparison.py | 28 +++++++++---------- tests/renderer/utils.py | 16 +++++------ 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/tests/renderer/constants.py b/tests/renderer/constants.py index 91ebd63346..d71f73e5b7 100644 --- a/tests/renderer/constants.py +++ b/tests/renderer/constants.py @@ -79,7 +79,7 @@ NCHAN_TO_FILE = { 16: TEST_VECTOR_DIR.joinpath("spectral_test_16ch_48kHz.wav"), } -FORMAT_TO_FILE_STV = { +FORMAT_TO_FILE_SMOKETEST = { "MONO": NCHAN_TO_FILE[1], "STEREO": NCHAN_TO_FILE[2], "5_1": NCHAN_TO_FILE[6], @@ -108,7 +108,7 @@ FORMAT_TO_FILE_STV = { "t_design_4": NCHAN_TO_FILE[12], } -FORMAT_TO_FILE_LTV = { +FORMAT_TO_FILE_COMPARETEST = { "MONO": TESTV_DIR.joinpath("test_mono.wav"), "STEREO": TESTV_DIR.joinpath("test_stereo.wav"), "5_1": TESTV_DIR.joinpath("test_MC51.wav"), diff --git a/tests/renderer/test_renderer_be_comparison.py b/tests/renderer/test_renderer_be_comparison.py index 04310c176f..815d7fd640 100644 --- a/tests/renderer/test_renderer_be_comparison.py +++ b/tests/renderer/test_renderer_be_comparison.py @@ -37,13 +37,13 @@ from .utils import * @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics(test_info, in_fmt, out_fmt): - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, is_comparetest=True) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_AMBI) def test_ambisonics_binaural_static(test_info, in_fmt, out_fmt): - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, is_comparetest=True) @pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @@ -55,7 +55,7 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), - use_ltv=True, + is_comparetest=True, ) @@ -65,7 +65,7 @@ def test_ambisonics_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS) @pytest.mark.parametrize("in_fmt", INPUT_FORMATS_MC) def test_multichannel(test_info, in_fmt, out_fmt): - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, is_comparetest=True) @pytest.mark.parametrize("out_fmt", OUTPUT_FORMATS_BINAURAL) @@ -74,7 +74,7 @@ def test_multichannel_binaural_static(test_info, in_fmt, out_fmt): if in_fmt in ["MONO", "STEREO"]: pytest.skip("MONO or STEREO to Binaural rendering unsupported") - compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, use_ltv=True) + compare_renderer_vs_mergetarget(test_info, in_fmt, out_fmt, is_comparetest=True) @pytest.mark.parametrize("trj_file", HR_TRAJECTORIES_TO_TEST) @@ -89,7 +89,7 @@ def test_multichannel_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file in_fmt, out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), - use_ltv=True, + is_comparetest=True, ) @@ -113,7 +113,7 @@ def test_ism_binaural_static(test_info, in_fmt, out_fmt): in_meta_files = None compare_renderer_vs_mergetarget( - test_info, in_fmt, out_fmt, in_meta_files=in_meta_files, use_ltv=True + test_info, in_fmt, out_fmt, in_meta_files=in_meta_files, is_comparetest=True ) @@ -132,7 +132,7 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), in_meta_files=in_meta_files, - use_ltv=True, + is_comparetest=True, ) @@ -146,7 +146,7 @@ def test_ism_binaural_headrotation(test_info, in_fmt, out_fmt, trj_file): @pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input(test_info, in_layout, out_fmt): compare_renderer_vs_mergetarget( - test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, use_ltv=True + test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, is_comparetest=True ) @@ -154,7 +154,7 @@ def test_custom_ls_input(test_info, in_layout, out_fmt): @pytest.mark.parametrize("in_fmt", OUTPUT_FORMATS) def test_custom_ls_output(test_info, in_fmt, out_fmt): compare_renderer_vs_mergetarget( - test_info, in_fmt, CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), use_ltv=True + test_info, in_fmt, CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), is_comparetest=True ) @@ -165,7 +165,7 @@ def test_custom_ls_input_output(test_info, in_fmt, out_fmt): test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_fmt}.txt"), CUSTOM_LAYOUT_DIR.joinpath(f"{out_fmt}.txt"), - use_ltv=True, + is_comparetest=True, ) @@ -173,7 +173,7 @@ def test_custom_ls_input_output(test_info, in_fmt, out_fmt): @pytest.mark.parametrize("in_layout", CUSTOM_LS_TO_TEST) def test_custom_ls_input_binaural(test_info, in_layout, out_fmt): compare_renderer_vs_mergetarget( - test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, use_ltv=True + test_info, CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, is_comparetest=True ) @@ -186,7 +186,7 @@ def test_custom_ls_input_binaural_headrotation(test_info, in_layout, out_fmt, tr CUSTOM_LAYOUT_DIR.joinpath(f"{in_layout}.txt"), out_fmt, trj_file=HR_TRAJECTORY_DIR.joinpath(f"{trj_file}.csv"), - use_ltv=True, + is_comparetest=True, ) @@ -201,5 +201,5 @@ def test_metadata(test_info, in_fmt, out_fmt): "META", out_fmt, metadata_input=TEST_VECTOR_DIR.joinpath(f"{in_fmt}.txt"), - use_ltv=True, + is_comparetest=True, ) diff --git a/tests/renderer/utils.py b/tests/renderer/utils.py index 84fe58bef0..143c33b066 100644 --- a/tests/renderer/utils.py +++ b/tests/renderer/utils.py @@ -108,7 +108,7 @@ def run_renderer( trj_file: Optional[str] = None, output_path_base: str = OUTPUT_PATH_CUT, binary_suffix: str = "", - use_ltv: Optional[bool] = False, + is_comparetest: Optional[bool] = False, ) -> Tuple[np.ndarray, int]: """CuT creation with standalone renderer""" if trj_file is not None: @@ -121,10 +121,10 @@ def run_renderer( else: out_name = out_fmt - if use_ltv: - FORMAT_TO_FILE = FORMAT_TO_FILE_LTV + if is_comparetest: + FORMAT_TO_FILE = FORMAT_TO_FILE_COMPARETEST else: - FORMAT_TO_FILE = FORMAT_TO_FILE_STV + FORMAT_TO_FILE = FORMAT_TO_FILE_SMOKETEST if metadata_input is not None: in_file = metadata_input @@ -163,7 +163,7 @@ def run_pyscripts( metadata_input: Optional[str] = None, in_meta_files: Optional[list] = None, trj_file: Optional[str] = None, - use_ltv: Optional[bool] = False, + is_comparetest: Optional[bool] = False, ) -> Tuple[np.ndarray, int]: """Reference creation with pyaudio3dtools""" if trj_file is not None: @@ -176,10 +176,10 @@ def run_pyscripts( else: out_name = out_fmt - if use_ltv: - FORMAT_TO_FILE = FORMAT_TO_FILE_LTV + if is_comparetest: + FORMAT_TO_FILE = FORMAT_TO_FILE_COMPARETEST else: - FORMAT_TO_FILE = FORMAT_TO_FILE_STV + FORMAT_TO_FILE = FORMAT_TO_FILE_SMOKETEST if metadata_input is not None: in_file = metadata_input -- GitLab From 2652552fcdff92c2b7ec95f9126cc8aa3e59b47c Mon Sep 17 00:00:00 2001 From: muxe6256 <marc.emerit@orange.com> Date: Wed, 18 Jan 2023 16:19:57 +0100 Subject: [PATCH 613/620] fix IVAS_REND_LfePanMtx declaration --- lib_rend/ivas_stat_rend.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib_rend/ivas_stat_rend.h b/lib_rend/ivas_stat_rend.h index fe247287ce..b710202ce3 100644 --- a/lib_rend/ivas_stat_rend.h +++ b/lib_rend/ivas_stat_rend.h @@ -48,6 +48,9 @@ #define RENDERER_HEAD_POSITIONS_PER_FRAME 4 // todo (Marc) -> renanr IVAS_RENDERER_HEAD_POSITIONS_PER_FRAME ? +#ifdef REND_CFG_LFE +typedef float IVAS_REND_LfePanMtx[IVAS_MAX_INPUT_LFE_CHANNELS][IVAS_MAX_OUTPUT_CHANNELS]; +#endif typedef struct { int16_t numSamplesPerChannel; -- GitLab From 81d7c6b387301df7d992ec53265a772ce1eb7c12 Mon Sep 17 00:00:00 2001 From: muxe6256 <marc.emerit@orange.com> Date: Wed, 18 Jan 2023 16:28:55 +0100 Subject: [PATCH 614/620] remove ivas_unittests --- .../unit_tests/crend/ivas_crend_utest_utils.c | 1970 ----------------- 1 file changed, 1970 deletions(-) delete mode 100644 scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c diff --git a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c b/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c deleted file mode 100644 index ea0bf89fee..0000000000 --- a/scripts/ivas_pytests/tests/unit_tests/crend/ivas_crend_utest_utils.c +++ /dev/null @@ -1,1970 +0,0 @@ -/****************************************************************************************************** - - (C) 2022 IVAS codec Public Collaboration with portions copyright Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository. All Rights Reserved. - - This software is protected by copyright law and by international treaties. - The IVAS codec Public Collaboration consisting of Dolby International AB, Ericsson AB, - Fraunhofer-Gesellschaft zur Foerderung der angewandten Forschung e.V., Huawei Technologies Co. LTD., - Koninklijke Philips N.V., Nippon Telegraph and Telephone Corporation, Nokia Technologies Oy, Orange, - Panasonic Holdings Corporation, Qualcomm Technologies, Inc., VoiceAge Corporation, and other - contributors to this repository retain full ownership rights in their respective contributions in - the software. This notice grants no license of any kind, including but not limited to patent - license, nor is any license granted by implication, estoppel or otherwise. - - Contributors are required to enter into the IVAS codec Public Collaboration agreement before making - contributions. - - This software is provided "AS IS", without any express or implied warranties. The software is in the - development stage. It is intended exclusively for experts who have experience with such software and - solely for the purpose of inspection. All implied warranties of non-infringement, merchantability - and fitness for a particular purpose are hereby disclaimed and excluded. - - Any dispute, controversy or claim arising under or in relation to providing this software shall be - submitted to and settled by the final, binding jurisdiction of the courts of Munich, Germany in - accordance with the laws of the Federal Republic of Germany excluding its conflict of law rules and - the United Nations Convention on Contracts on the International Sales of Goods. - -*******************************************************************************************************/ - -/**************************************************************************** - * File description - - * This source file contains utility definitions specific to IVAS common renderer unit tests - ****************************************************************************/ - - -/*------------------------------------------------------------------------------------------* - * include header files - *------------------------------------------------------------------------------------------*/ - -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include <stdint.h> -#include <math.h> -#include "options.h" -#include "ivas_dec_parse_io.h" -#include "ivas_crend_public.h" -#include "ivas_stat_dec.h" -#include "ivas_prox_mix.h" -#include "prot.h" -#include "ivas_prot.h" -#include "cmdl_tools.h" -#include "ivas_stat_dec.h" -#include "ivas_cnst.h" -#include "assert.h" -#include "ivas_rom_binaural_crend_head.h" -#include "ivas_rom_binauralRenderer.h" -#include "ivas_rom_com.h" -#include "head_rotation_file_reader.h" -#include "options.h" -#include "render_config_reader.h" -#include "wmc_auto.h" -#ifdef FIX_197_CREND_INTERFACE -#include "lib_rend.h" -#endif - -static int32_t ivas_check_rounding( float binaural_latencys_s[3], int16_t use_round_latency, int16_t use_round_for_lfe, int32_t *err_lfe, int32_t *err_dec, int16_t verbose ) -{ - // float delay_ns_float[3]; - int32_t delay_ns[3]; - - float sampleRates[3] = { 48000.f, 32000.f, 16000.f }; - - // float binaural_latencys_s[3] = { 1.f / 48000.f, 2.f / 48000.f, 3.f / 48000.f }; - - int32_t delay_lfe[3][3]; - - int32_t delay_dec[3][3]; - - int32_t wanted; - - *err_lfe = 0; - *err_dec = 0; - - for ( int ind1 = 0; ind1 < 3; ind1++ ) - { - if ( verbose ) - printf( "\nsample rate = %f", sampleRates[ind1] ); - - for ( int ind2 = 0; ind2 < 3; ind2++ ) - { - wanted = (int32_t) roundf( binaural_latencys_s[ind2] * sampleRates[ind1] ); - if ( verbose ) - printf( "\nbinaural_latencys_s = %f wanted = %d", binaural_latencys_s[ind2], wanted ); - if ( use_round_latency ) - delay_ns[ind2] = (int32_t) roundf( binaural_latencys_s[ind2] * 1000000000.f ); - else - delay_ns[ind2] = (int32_t) ( binaural_latencys_s[ind2] * 1000000000.f ); - if ( verbose ) - printf( "\n delay_ns[%d] = %d \n", ind2, delay_ns[ind2] ); - - if ( use_round_for_lfe ) - delay_lfe[ind1][ind2] = (int32_t) roundf( delay_ns[ind2] * sampleRates[ind1] / 1000000000.f ); - else - delay_lfe[ind1][ind2] = (int32_t) NS2SA( sampleRates[ind1], delay_ns[ind2] ); - if ( verbose ) - printf( "\ndelay_lfe[%d][%d] = %d\n", ind1, ind2, delay_lfe[ind1][ind2] ); - - *err_lfe += abs( delay_lfe[ind1][ind2] - wanted ); - - delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] + 0.5f ); - /* delay_dec[ind1][ind2] = NS2SA( sampleRates[ind1], (float) delay_ns[ind2] );*/ - - if ( verbose ) - printf( "\ndelay_dec[%d][%d] = %d \n", ind1, ind2, delay_dec[ind1][ind2] ); - - *err_dec += abs( delay_dec[ind1][ind2] - wanted ); - } - } - return *err_lfe + *err_dec; -} - - -static ivas_result_t ivas_dec_default_io_params( ivas_dec_io_params_t *pIO_params ) -{ - memset( pIO_params, 0, sizeof( ivas_dec_io_params_t ) ); - pIO_params->quiet_mode = IVAS_DEFAULT_QUIET_MODE; - pIO_params->no_delay_cmp = IVAS_DEFAULT_NO_DELAY_COMP_MODE; - pIO_params->bs_format = IVAS_DEFAULT_BS_FORMAT; - pIO_params->out_fmt = IVAS_DEFAULT_FMT; - pIO_params->in_fmt = IVAS_DEFAULT_FMT; - pIO_params->lfe_ch_idx = IVAS_DEFAULT_LFE_CH_IDX; - pIO_params->block_offset_ms = IVAS_EXT_ADD_DELAY_MS; - pIO_params->no_diegetic_pan = 0; - pIO_params->orientation_tracking = OTR_TRACKING_NONE; - - return IVAS_SUCCESS; -} - -/*------------------------------------------------------------------------- - * ivas_hrtf_init() - * - * Initialize hHrtf handle - *------------------------------------------------------------------------*/ - -static ivas_error ivas_hrtf_init( - HRTFS_DATA *hHrtf /* i/o: HRTF handle */ -) -{ - int16_t i, j; - - if ( hHrtf == NULL ) - { - return IVAS_ERR_WRONG_PARAMS; - } - - hHrtf->latency_s = 0; - hHrtf->max_num_ir = 0; - hHrtf->max_num_iterations = 0; - hHrtf->gain_lfe = 0; - hHrtf->index_frequency_max_diffuse = 0; - - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) - { - hHrtf->inv_diffuse_weight[i] = 0; - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->num_iterations[i][j] = 0; - hHrtf->pIndex_frequency_max[i][j] = NULL; - hHrtf->pOut_to_bin_re[i][j] = NULL; - hHrtf->pOut_to_bin_im[i][j] = NULL; - } - } - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->num_iterations_diffuse[j] = 0; - hHrtf->pIndex_frequency_max_diffuse[j] = NULL; - hHrtf->pOut_to_bin_diffuse_re[j] = NULL; - hHrtf->pOut_to_bin_diffuse_im[j] = NULL; - } - - return IVAS_ERR_OK; -} - -AUDIO_CONFIG ivas_crend_map_out_fmt( - IVAS_IN_OUT_FMT_CONFIG fmt ) -{ - switch ( fmt ) - { - case MONO_1: - return AUDIO_CONFIG_MONO; - case STEREO_2: - return AUDIO_CONFIG_STEREO; - case BIN_2: - return AUDIO_CONFIG_BINAURAL; - case FOA_4: - return AUDIO_CONFIG_FOA; - case HOA_9: - return AUDIO_CONFIG_HOA2; - case HOA_16: - return AUDIO_CONFIG_HOA3; - case MULT_CH_5_1: - return AUDIO_CONFIG_5_1; - case MULT_CH_7_1: - return AUDIO_CONFIG_7_1; - case MULT_CH_5_1_2: - return AUDIO_CONFIG_5_1_2; - case MULT_CH_5_1_4: - return AUDIO_CONFIG_5_1_4; - case MULT_CH_7_1_4: - return AUDIO_CONFIG_7_1_4; - default: - return -1; - } -} - -const char *ivas_crend_map_in_fmt( - IVAS_IN_OUT_FMT_CONFIG fmt ) -{ - switch ( fmt ) - { - case MONO_1: - case STEREO_2: - case MULT_CH_5_1: - case MULT_CH_7_1: - case MULT_CH_5_1_2: - case MULT_CH_5_1_4: - case MULT_CH_7_1_4: - return IVAS_IN_FMT_COMBINED; - case FOA_4: - case HOA_9: - case HOA_16: - return IVAS_IN_FMT_HOA_3; - default: - return ""; - } -} - - -int16_t ivas_get_num_channels( - const int16_t ch_format ) -{ - int16_t num_channels = 0; - - switch ( ch_format ) - { - case MONO_1: - num_channels = 1; - break; - case BIN_2: - case STEREO_2: - num_channels = 2; - break; - case FOA_4: - num_channels = FOA_CHANNELS; - break; - case MULT_CH_5_1: - num_channels = 6; - break; - case MULT_CH_7_1: - num_channels = 8; - break; - case HOA_9: - num_channels = 9; - break; - case HOA_16: - num_channels = 16; - break; - case OBA: - num_channels = 8; - break; - case MULT_CH_5_1_2: - num_channels = 8; - break; - case MULT_CH_5_1_4: - num_channels = 10; - break; - case MULT_CH_7_1_4: - num_channels = 12; - break; - default: - assert( !"Not supported Input format for Common Renderer!" ); - break; - } - - return num_channels; -} - -static ivas_result_t ivas_crend_mixer( - float ppPcm_in[][L_FRAME48k], - float ppPcm_out[][L_FRAME48k], - int16_t in_ch, - int16_t out_ch, - const float *pMixer_gain, - const int16_t frame_len ) -{ - int16_t i, j, k, offset; - - for ( i = 0; i < out_ch; i++ ) - { - offset = i * in_ch; - - for ( j = 0; j < frame_len; j++ ) - { - float temp = 0; - const float *pMixer = &pMixer_gain[offset]; - - for ( k = 0; k < in_ch; k++ ) - { - temp += ( ppPcm_in[k][j] * pMixer[k] ); - } - ppPcm_out[i][j] = temp; - } - } - - return IVAS_SUCCESS; -} - -/* prototypes */ -static void ivas_copy_io_params_to_dec_io_params( ivas_crend_io_params_t *pIo_params, ivas_dec_io_params_t *pDec_io_params ); -ivas_result_t ivas_crend_copy_latencies_to_io_params( ivas_crend_io_params_t *pIo_params, HRTFS_DATA *pCrend_hrtfs ); - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Unit test usage details - * - * Inputs - - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -static void ivas_crend_unit_test_usage( void ) -{ - fprintf( stdout, "Usage: ivas_crend_unit_test.exe -test <Test> -sr <Input_FS> -ifmt <Input Format> -ofmt <Outout Format> [options]\n\n" ); - - fprintf( stdout, "Mandatory arguments:\n" ); - fprintf( stdout, "--------------------\n" ); - fprintf( stdout, "-test <Test> : Test case for binaural renderer to run (crend = 1, fastconv = 2, param = 3, td = 4)\n" ); - fprintf( stdout, "-sr <Input_FS> : Sampling rate in kHz\n" ); - fprintf( stdout, "\nOptional arguments:\n" ); - fprintf( stdout, "---------------------\n" ); - fprintf( stdout, "-ifmt <Input_Format> : Input format index\n" ); - fprintf( stdout, " (0 - MONO, 1 - STEREO, 2 - BINAURAL, 3 - FOA, 4 - 5.1, 5 - 7.1, 6 - 5.1.2, 7 - 5.1.4, 8 - 7.1.4, 9 - HOA2, 10 - HOA3)\n" ); - fprintf( stdout, "-ofmt <Output_Format> : Output format index\n" ); - fprintf( stdout, " (0 - MONO, 1 - STEREO, 2 - BINAURAL, 3 - FOA, 4 - 5.1, 5 - 7.1, 6 - 5.1.2, 7 - 5.1.4, 8 - 7.1.4, 9 - HOA2, 10 - HOA3)\n" ); - fprintf( stdout, "-i <Input_Path/File> : Input path/file\n" ); - fprintf( stdout, "-o <Output_File> : Output file\n" ); - fprintf( stdout, "-r <Reference_Path/File> : Reference path/file\n" ); - fprintf( stdout, "-otr : orientation tracker mode\n" ); - fprintf( stdout, "-t <CSV_Path> : CSV files path\n" ); - fprintf( stdout, "-prox <prox_Path> : prox files path\n" ); - fprintf( stdout, "-zero_tol : ability to force some tests to check for bitexactness\n" ); - fprintf( stdout, "-limiter : add limiter\n" ); - fprintf( stdout, "-lp_lfe : add low pass filtering on LFE channel\n" ); - fprintf( stdout, "-no_delay_cmp : avoid delay conpensation on output wav file\n" ); - fprintf( stdout, "-brir : use default brir if available for de specified binaural renderer\n" ); - fprintf( stdout, "-render_config file : Renderer configuration file\n" ); - fprintf( stdout, "-no_diegetic_pan : panning mono no dietic sound to stereo -1<= pan <=1,\n" ); - fprintf( stdout, " left or l or 1->left, right or r or -1->right, center or c or 0->middle\n" ); - - fprintf( stdout, "\n" ); - - exit( -1 ); -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Set default IO parameters to 0 - * - * Inputs - - * ivas_crend_io_params_t *pIO_params - * - * Outputs - - * ivas_crend_io_params_t *pIO_params - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_default_io_params( ivas_crend_io_params_t *pIO_params ) -{ - memset( pIO_params, 0, sizeof( ivas_crend_io_params_t ) ); - pIO_params->tol = TC_TOL; - pIO_params->orientation_tracking = OTR_TRACKING_NONE; - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Get frame length - * - * Inputs - - * int32_t sample_rate - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -int16_t ivas_wrapper_get_frame_len( int32_t sample_rate ) -{ - return ( (int16_t) ( sample_rate / FRAMES_PER_SEC ) ); -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Set config parameters - * - * Inputs - - * ivas_crend_io_params_t *p_io_params - * ivas_crend_hrtfs_t *pCrend_hrtfs - * - * Outputs - - * ivas_dec_cfg_t *pDec_cfg - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_crend_set_config_params( - DECODER_CONFIG_HANDLE hDecoderConfig, - ivas_dec_io_params_t *p_io_params, - int16_t *in_format, - int16_t *lfe_ch_idx ) -{ - *in_format = p_io_params->in_fmt; - hDecoderConfig->output_config = ivas_crend_map_out_fmt( p_io_params->out_fmt ); - - *lfe_ch_idx = p_io_params->lfe_ch_idx; - - hDecoderConfig->nchan_out = audioCfg2channels( hDecoderConfig->output_config ); - - hDecoderConfig->output_Fs = p_io_params->out_sample_rate; - hDecoderConfig->no_diegetic_pan = p_io_params->no_diegetic_pan; - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Copy latencies to io_params - * - * Inputs - - * ivas_crend_hrtfs_t *pCrend_hrtfs - * - * Outputs - - * ivas_dec_cfg_t *pDec_cfg - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_copy_latencies_to_io_params( ivas_crend_io_params_t *pIo_params, HRTFS_DATA *pCrend_hrtfs ) -{ -#ifdef FIX_FIX_I59 - pIo_params->latency_ns = (int32_t) ( pCrend_hrtfs->latency_s * 1000000000.f ); -#else - pIo_params->latency_s = pCrend_hrtfs->latency_s; -#endif - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Copy hrtf data to config parameters - * - * Inputs - - * ivas_crend_hrtfs_t *pCrend_hrtfs - * - * Outputs - - * ivas_dec_cfg_t *pDec_cfg - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_copy_hrtf_data( HRTFS_DATA *hHrtf, HRTFS_DATA *pCrend_hrtfs ) -{ - int16_t i, j; - - hHrtf->latency_s = pCrend_hrtfs->latency_s; - hHrtf->max_num_ir = pCrend_hrtfs->max_num_ir; - hHrtf->max_num_iterations = pCrend_hrtfs->max_num_iterations; - hHrtf->gain_lfe = pCrend_hrtfs->gain_lfe; - - for ( i = 0; i < pCrend_hrtfs->max_num_ir; i++ ) - { - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->pOut_to_bin_re[i][j] = pCrend_hrtfs->pOut_to_bin_re[i][j]; - hHrtf->pOut_to_bin_im[i][j] = pCrend_hrtfs->pOut_to_bin_im[i][j]; - hHrtf->num_iterations[i][j] = pCrend_hrtfs->num_iterations[i][j]; - hHrtf->pIndex_frequency_max[i][j] = pCrend_hrtfs->pIndex_frequency_max[i][j]; - } - hHrtf->inv_diffuse_weight[i] = pCrend_hrtfs->inv_diffuse_weight[i]; - } - for ( j = 0; j < BINAURAL_CHANNELS; j++ ) - { - hHrtf->pOut_to_bin_diffuse_re[j] = pCrend_hrtfs->pOut_to_bin_diffuse_re[j]; - hHrtf->pOut_to_bin_diffuse_im[j] = pCrend_hrtfs->pOut_to_bin_diffuse_im[j]; - hHrtf->num_iterations_diffuse[j] = pCrend_hrtfs->num_iterations_diffuse[j]; - hHrtf->pIndex_frequency_max_diffuse[j] = pCrend_hrtfs->pIndex_frequency_max_diffuse[j]; - } - hHrtf->index_frequency_max_diffuse = pCrend_hrtfs->index_frequency_max_diffuse; - - return IVAS_SUCCESS; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Open files corresponding to the reference tests - * - * Inputs - - * ivas_crend_io_params_t *pIo_params - * - * Outputs - - * ivas_crend_io_params_t *pIo_params - * - *-----------------------------------------------------------------------------------------*/ - -void ivas_open_files_crend( ivas_crend_io_params_t *pIo_params ) -{ - /* Input File */ -#ifdef USE_PCM_OUT - if ( ( pIo_params->fIn[0] = fopen( pIo_params->in_path, "rb" ) ) == NULL ) -#else - if ( AudioFileReader_open( &pIo_params->fIn[0], pIo_params->in_path, &pIo_params->sample_rate ) != IVAS_ERR_OK ) -#endif - { - fprintf( stderr, "Error: Input audio file %s could not be opened\n\n", pIo_params->in_path ); - ivas_crend_unit_test_usage(); - } - fprintf( stdout, "Input audio file: %s\n", pIo_params->in_path ); - - /* Reference File */ -#ifdef USE_PCM_OUT - if ( ( strlen( pIo_params->ref_path ) > 0 ) && ( ( pIo_params->fRef = fopen( pIo_params->ref_path, "rb" ) ) == NULL ) ) -#else - if ( ( strlen( pIo_params->ref_path ) > 0 ) && ( AudioFileReader_open( &pIo_params->fRef, pIo_params->ref_path, &pIo_params->sample_rate ) != IVAS_ERR_OK ) ) -#endif - { - fprintf( stderr, "Error: Reference audio file %s could not be opened\n\n", pIo_params->ref_path ); - ivas_crend_unit_test_usage(); - } - fprintf( stdout, "Reference audio file: %s\n", pIo_params->ref_path ); - - - /*if (pIo_params->test == CREND_IR_GREATER_960) - { - if ((pIo_params->custom_hrtf = fopen(pIo_params->sofa_path, "rb")) == NULL) - { - fprintf(stderr, "Error: Custom HRTF file %s could not be opened\n\n", pIo_params->sofa_path); - ivas_crend_unit_test_usage(); - } - }*/ - - - if ( pIo_params->test == CREND_ACOUSTIC_PROXIMITY ) - { - /* open proximity bitstream file */ - if ( ( pIo_params->fProx = fopen( pIo_params->prox_path, "rb" ) ) == NULL ) - { - fprintf( stderr, "Error: LocSharing bitstream file %s could not be opened\n\n", pIo_params->prox_path ); - ivas_crend_unit_test_usage(); - } - } - fprintf( stdout, "prox file or path: %s\n", pIo_params->prox_path ); -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Parse the cmd line params into IO param structure - * - * Inputs - - * int argc - * char** argv - * - * Outputs - - * ivas_enc_io_params_t *pIO_params - * - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_crend_parse_io_params( int argc, char **argv, ivas_crend_io_params_t *pIo_params ) -{ - int i = 1; - int mandatory_args = 0; - int optional_args = 0; - int check_output_format_set = 0; - -#ifdef DEBUG_SBA - fprintf( stderr, "Number of cmd line args: %d\n", argc ); - fprintf( stderr, "CMD: " ); - while ( i < argc ) - { - /*printing with stderr so that it gets printed always*/ - fprintf( stderr, "%s ", argv[i++] ); - } - fprintf( stderr, "\n\n" ); - - i = 1; -#endif - - while ( i < argc ) - { - /*-----------------------------------------------------------------* - * Sampling rate - *-----------------------------------------------------------------*/ - if ( strcmp( to_upper( argv[i] ), "-SR" ) == 0 ) - { - pIo_params->sample_rate = atoi( argv[++i] ) * 1000; - if ( ( pIo_params->sample_rate != 8000 ) && ( pIo_params->sample_rate != 16000 ) && ( pIo_params->sample_rate != 32000 ) && ( pIo_params->sample_rate != 48000 ) ) - { - fprintf( stderr, "Error: %d kHz is not a supported sampling rate\n\n", atoi( argv[i] ) ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - *render config - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-RENDER_CONFIG" ) == 0 ) - { - pIo_params->renderConfigFilename[0] = '\0'; - pIo_params->renderConfigEnabled = true; - strcpy( pIo_params->renderConfigFilename, argv[++i] ); - - if ( pIo_params->renderConfigFilename[0] == '\0' ) - { - fprintf( stderr, "Error: Renderer configuration file path not specified\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Input Format - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-IFMT" ) == 0 ) - { - pIo_params->in_fmt = atoi( argv[++i] ); - if ( ( pIo_params->in_fmt != MONO_1 ) && ( pIo_params->in_fmt != STEREO_2 ) && ( pIo_params->in_fmt != BIN_2 ) && ( pIo_params->in_fmt != FOA_4 ) && ( pIo_params->in_fmt != HOA_9 ) && ( pIo_params->in_fmt != HOA_16 ) && ( pIo_params->in_fmt != MULT_CH_5_1 ) && ( pIo_params->in_fmt != MULT_CH_7_1 ) && ( pIo_params->in_fmt != MULT_CH_5_1_2 ) && ( pIo_params->in_fmt != MULT_CH_5_1_4 ) && ( pIo_params->in_fmt != MULT_CH_7_1_4 ) && ( pIo_params->in_fmt != OBA ) ) - { - fprintf( stderr, "Error: Invalid input format\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Output Format - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-OFMT" ) == 0 ) - { - pIo_params->out_fmt = atoi( argv[++i] ); - if ( ( pIo_params->out_fmt != MONO_1 ) && ( pIo_params->out_fmt != STEREO_2 ) && ( pIo_params->out_fmt != BIN_2 ) && ( pIo_params->out_fmt != FOA_4 ) && ( pIo_params->out_fmt != HOA_9 ) && ( pIo_params->out_fmt != HOA_16 ) && ( pIo_params->out_fmt != MULT_CH_5_1 ) && ( pIo_params->out_fmt != MULT_CH_7_1 ) && ( pIo_params->out_fmt != MULT_CH_5_1_2 ) && ( pIo_params->out_fmt != MULT_CH_5_1_4 ) && ( pIo_params->out_fmt != MULT_CH_7_1_4 ) ) - { - fprintf( stderr, "Error: Invalid output format\n\n" ); - ivas_crend_unit_test_usage(); - } - check_output_format_set = 1; - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Input file(s) - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-I" ) == 0 ) - { - strcpy( pIo_params->in_path, argv[++i] ); - if ( pIo_params->in_path[0] == '\0' ) - { - fprintf( stderr, "Error: input folder %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - - /*-----------------------------------------------------------------* - * Proximity file - *------------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-PROX" ) == 0 ) - { - if ( strlen( argv[++i] ) > IVAS_MAX_PATH_LEN ) - { - fprintf( stderr, "Error: input proximity path %s too big\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - strcpy( pIo_params->prox_path, argv[i] ); - if ( pIo_params->prox_path[0] == '\0' ) - { - fprintf( stderr, "Error: input proximity folder %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Input csv file - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-T" ) == 0 ) - { - if ( strlen( argv[++i] ) > IVAS_MAX_PATH_LEN ) - { - fprintf( stderr, "Error: input head orientation CSV file path %s too long\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - strcpy( pIo_params->csv_path, argv[i] ); - if ( pIo_params->csv_path[0] == '\0' ) - { - fprintf( stderr, "Error: input head orientation CSV file %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - - i++; - optional_args++; - } - - /*-----------------------------------------------------------------* - * Orientation tracking - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-OTR" ) == 0 ) - { - char tmp[5]; - strcpy( tmp, argv[++i] ); - if ( strcmp( to_upper( tmp ), "AVG" ) == 0 ) - { - pIo_params->orientation_tracking = OTR_TRACKING_AVG_ORIENT; - } - else if ( strcmp( to_upper( tmp ), "REF" ) == 0 ) - { - pIo_params->orientation_tracking = OTR_TRACKING_REF_ORIENT; - } - else - { - fprintf( stderr, "Error: Invalid orientation tracking type\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - - /*-----------------------------------------------------------------* - * Output file(s) - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-O" ) == 0 ) - { - if ( check_output_format_set == 0 ) - { - fprintf( stderr, "Error: Output format flag must be set beform output file name\n\n" ); - ivas_crend_unit_test_usage(); - } - if ( pIo_params->sample_rate == 0 ) - { - fprintf( stderr, "Error: Sample rate flag must be set beform output file name\n\n" ); - ivas_crend_unit_test_usage(); - } - strcpy( pIo_params->out_path, argv[++i] ); -#ifdef USE_PCM_OUT - if ( ( pIo_params->fOut = fopen( pIo_params->out_path, "wb+" ) ) == NULL ) -#else - if ( AudioFileWriter_open( &pIo_params->fOut, pIo_params->out_path, pIo_params->sample_rate, ivas_get_num_channels( pIo_params->out_fmt ) ) != IVAS_ERR_OK ) -#endif - { - fprintf( stderr, "Error: output audio file %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - fprintf( stdout, "Output audio file: %s\n", argv[i] ); - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Reference file(s) path - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-R" ) == 0 ) - { - strcpy( pIo_params->ref_path, argv[++i] ); - if ( pIo_params->ref_path[0] == '\0' ) - { - fprintf( stderr, "Error: Ref folder %s could not be opened\n\n", argv[i] ); - ivas_crend_unit_test_usage(); - } - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Test to Run - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-TEST" ) == 0 ) - { - pIo_params->test = atoi( argv[++i] ); - if ( pIo_params->test < 0 || pIo_params->test >= CREND_NUM_TESTS ) - { - fprintf( stderr, "Error: Invalid Test case\n\n" ); - ivas_crend_unit_test_usage(); - } - i++; - mandatory_args++; - } - /*-----------------------------------------------------------------* - * Use BRIR Length - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-BRIR" ) == 0 ) - { - pIo_params->use_brir = 1; - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Apply low pass filter to LFE - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-LP_LFE" ) == 0 ) - { - pIo_params->lfe_lp_enable = 1; - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * Apply limiter - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-LIMITER" ) == 0 ) - { - pIo_params->limiter_enable = 1; - i++; - optional_args++; - } - /*-----------------------------------------------------------------* - * CREND non diegetic panning value - *-----------------------------------------------------------------*/ - else if ( strcmp( to_upper( argv[i] ), "-NO_DIEGETIC_PAN" ) == 0 ) - { - i++; - char *param = to_upper( argv[i++] ); - if ( ( strcmp( param, "CENTER" ) == 0 ) || ( strchr( param, 'C' ) != NULL ) ) - { - pIo_params->no_diegetic_pan = 0; - } - else if ( ( strcmp( param, "LEFT" ) == 0 ) || ( strchr( param, 'L' ) != NULL ) ) - { - pIo_params->no_diegetic_pan = -1; - } - else if ( ( strcmp( param, "RIGHT" ) == 0 ) || ( strchr( param, 'R' ) != NULL ) ) - { - pIo_params->no_diegetic_pan = 1; - } - else - { - pIo_params->no_diegetic_pan = (float) atof( param ); - } - optional_args++; - } - else if ( strcmp( to_upper( argv[i] ), "-ZERO_TOL" ) == 0 ) - { - pIo_params->tol = 0.0f; - i++; - optional_args++; - } - else if ( strcmp( to_upper( argv[i] ), "-NO_DELAY_CMP" ) == 0 ) - { - pIo_params->no_delay_cmp = 1; - i++; - optional_args++; - } - else - { - fprintf( stderr, "Error: Flag not found\n\n" ); - i++; - } - } - if ( mandatory_args != CREND_MAND_ARGS ) - { - fprintf( stderr, "Error: Not enough mandatory arguments\n\n" ); - ivas_crend_unit_test_usage(); - } - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Skip WAV header from a WAV file - * - * Inputs - - * FILE *in_file - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_wav_header_skip( FILE *in_file ) -{ - int8_t data_start[4] = { 0 }; - int32_t check, count = 0; - int32_t length; - - check = 1; - while ( check ) - { - if ( data_start[0] == 'd' && data_start[1] == 'a' && - data_start[2] == 't' && data_start[3] == 'a' ) - { - ( fread( &length, 4, 1, in_file ) ); - check = 0; - } - else - { - data_start[0] = data_start[1]; - data_start[1] = data_start[2]; - data_start[2] = data_start[3]; - ( fread( &data_start[3], 1, 1, in_file ) ); - } - count++; - if ( count > 2000 ) - { - length = 0xffffffff; - return IVAS_FAILED; - } - } - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Read/Generate inputs - * - * Inputs - - * ivas_enc_io_params_t *pIo_params - * - * Outputs - - * ivas_enc_in_buf_t *pIn_buf - * - * - *-----------------------------------------------------------------------------------------*/ -static ivas_result_t ivas_wrapper_get_in_buf( ivas_crend_io_params_t *pIo_params, float ppPcm_in[][L_FRAME48k] ) -{ - int16_t i = 0, j = 0, samples_read = 0, num_in_ch = 0; - int16_t offset; - int16_t input_frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); - int16_t tmp, read = 0; - - num_in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - if ( pIo_params->test == CREND_BIN_TEST || pIo_params->test == FASTCONV_BIN_TEST || pIo_params->test == PARAM_BIN_TEST || pIo_params->test == TD_BIN_TEST || pIo_params->test == CREND_ACOUSTIC_PROXIMITY ) - { - /* Read in PCM */ - for ( j = 0; j < input_frame_len; j++ ) - { - for ( i = 0; i < num_in_ch; i++ ) - { -#ifdef USE_PCM_OUT - if ( ( read = (int16_t) fread( &tmp, sizeof( int16_t ), 1, pIo_params->fIn[0] ) ) > 0 ) -#else - if ( ( AudioFileReader_read( pIo_params->fIn[0], &tmp, 1, &read ) == IVAS_ERR_OK ) && ( read > 0 ) ) -#endif - { - ppPcm_in[i][j] = (float) tmp; - // ppPcm_in[i][j] *= ( 1.0 / PCM16_TO_FLT_FAC ); - samples_read += 1; - } - else - { - if ( samples_read != 0 && samples_read < input_frame_len * num_in_ch ) - { - /* Setting remaining buffer to zeros */ - offset = samples_read / num_in_ch; - for ( i = 0; i < num_in_ch; i++ ) - { - set_zero( &ppPcm_in[i][offset], input_frame_len - offset ); - } - return IVAS_SUCCESS; - } - else - { - return IVAS_READ_DONE; - } - } - } - } - } - else - { - /* Read in PCM */ - for ( i = 0; i < num_in_ch; i++ ) - { - samples_read = 0; - for ( j = 0; j < input_frame_len; j++ ) - { -#ifdef USE_PCM_OUT - if ( ( read = (int16_t) fread( &tmp, sizeof( int16_t ), 1, pIo_params->fIn[i] ) ) > 0 ) -#else - if ( ( AudioFileReader_read( pIo_params->fIn[i], &tmp, 1, &read ) == IVAS_ERR_OK ) && ( read > 0 ) ) -#endif - { - ppPcm_in[i][j] = (float) tmp; - // ppPcm_in[i][j] *= ( 1.0 / PCM16_TO_FLT_FAC ); - samples_read += 1; - } - else - { - if ( samples_read != 0 && samples_read < input_frame_len ) - { - /* Setting remaining buffer to zeros */ - offset = samples_read; - set_zero( &ppPcm_in[i][offset], input_frame_len - offset ); - break; - } - else - { - return IVAS_READ_DONE; - } - } - } - } - } - - return IVAS_SUCCESS; -} -/*---------------------------------------------------------------------* - * ivas_feed_head_track_data( ) - * - * Feed the decoder with the head tracking data - *---------------------------------------------------------------------*/ - -static ivas_result_t ivas_feed_head_track_data( - Decoder_Struct *st_ivas, /* i/o: IVAS decoder handle */ - IVAS_QUATERNION *orientation /* i : head-tracking data */ -) -{ - HEAD_TRACK_DATA_HANDLE hHeadTrackData; - int16_t i; - - - hHeadTrackData = st_ivas->hHeadTrackData; - - if ( hHeadTrackData == NULL ) - { - return IVAS_FAILED; - } - - /* Move head-tracking data to the decoder handle */ - for ( i = 0; i < MAX_PARAM_SPATIAL_SUBFRAMES; i++ ) - { - hHeadTrackData->Quaternions[i].w = orientation[i].w; - hHeadTrackData->Quaternions[i].x = orientation[i].x; - hHeadTrackData->Quaternions[i].y = orientation[i].y; - hHeadTrackData->Quaternions[i].z = orientation[i].z; - } - - st_ivas->hHeadTrackData->num_quaternions = 0; - - return IVAS_SUCCESS; -} - - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Copy io_params to dec_io_params - * - * Inputs - - * ivas_crend_io_params_t *pIo_params - * - * Outputs - - * ivas_dec_io_params_t *pDec_io_params - * - *-----------------------------------------------------------------------------------------*/ -static void ivas_copy_io_params_to_dec_io_params( ivas_crend_io_params_t *pIo_params, ivas_dec_io_params_t *pDec_io_params ) -{ - pDec_io_params->in_fmt = pIo_params->in_fmt; - pDec_io_params->out_fmt = pIo_params->out_fmt; - pDec_io_params->out_sample_rate = pIo_params->sample_rate; - pDec_io_params->no_diegetic_pan = pIo_params->no_diegetic_pan; - pDec_io_params->renderConfigEnabled = pIo_params->renderConfigEnabled; - pDec_io_params->use_brir = pIo_params->use_brir; - strcpy( pDec_io_params->renderConfigFilename, pIo_params->renderConfigFilename ); - pDec_io_params->orientation_tracking = pIo_params->orientation_tracking; - switch ( pIo_params->in_fmt ) - { - case MULT_CH_5_1: - case MULT_CH_7_1: - case MULT_CH_5_1_2: - case MULT_CH_5_1_4: - case MULT_CH_7_1_4: - pDec_io_params->lfe_ch_idx = IVAS_DEFAULT_LFE_CH_IDX; - break; - case FOA_4: - case HOA_9: - case HOA_16: - default: - pDec_io_params->lfe_ch_idx = -1; - break; - } -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Main Common Renderer block - * - * Inputs - - * ivas_enc_io_params_t io_params - * float* mixer - * int16_t delay_cmp - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_common_mixer_renderer( ivas_crend_io_params_t *pIo_params, float *mixer ) -{ - ivas_result_t result = IVAS_SUCCESS; - ivas_error error; - - float ppPcm_in[IVAS_MAX_NUM_CH][L_FRAME48k]; - float ppPcm_out[IVAS_MAX_NUM_CH][L_FRAME48k]; - float *ppDelay_lines[IVAS_MAX_NUM_CH]; - const float *filt_coeff; - int16_t delay_lp = 0; -#ifdef FIX_197_CREND_INTERFACE - Decoder_Struct st_ivas = { 0 }; -#else - Decoder_Struct st_ivas; -#endif - HeadRotFileReader *headRotReader = NULL; - - memset( &st_ivas, 0, sizeof( Decoder_Struct ) ); - - int64_t frame_count = 0; - - int16_t i = 0, j = 0; - int16_t frame_len = 0; - - ivas_dec_io_params_t dec_io_params; - int16_t in_format; - int16_t lfe_ch_idx; - DECODER_CONFIG decConfig; - - st_ivas.hDecoderConfig = &decConfig; - memset( st_ivas.hDecoderConfig, 0, sizeof( DECODER_CONFIG ) ); - memset( &st_ivas.hOutSetup, 0, sizeof( IVAS_OUTPUT_SETUP ) ); - - ivas_dec_default_io_params( &dec_io_params ); - ivas_copy_io_params_to_dec_io_params( pIo_params, &dec_io_params ); - result = ivas_crend_set_config_params( st_ivas.hDecoderConfig, &dec_io_params, &in_format, &lfe_ch_idx ); - st_ivas.transport_config = st_ivas.intern_config = ivas_crend_map_out_fmt( in_format ); - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "Crend configuration parameters setting failed\n" ); - exit( -1 ); - } - - frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); - frame_len = frame_len >> 2; -#ifdef USE_PCM_OUT - /* skip WAV header */ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) - { - if ( pIo_params->fIn[i] != NULL ) - { - result = ivas_wav_header_skip( pIo_params->fIn[i] ); - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "WAV header skip failed\n" ); -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); -#else - ivas_crend_close( &st_ivas ); -#endif - exit( -1 ); - } - } - } -#endif - /* test rounding error */ - float binaural_latencys_fastconv_s[3]; - float binaural_latencys_crend_s[3] = { 1.f / 48000.f, 2.f / 48000.f, 3.f / 48000.f }; - float binaural_latencys_td_s[3] = { BINAURAL_TD_LATENCY_S, BINAURAL_TD_LATENCY_S + 1.f / 48000.f, BINAURAL_TD_LATENCY_S + 2.f / 48000.f }; - - int32_t err = 0, err_lfe = 0, err_dec = 0; - - binaural_latencys_fastconv_s[0] = FASTCONV_HRIR_latency_s; - binaural_latencys_fastconv_s[1] = FASTCONV_BRIR_latency_s; - binaural_latencys_fastconv_s[2] = FASTCONV_BRIR_latency_s; - - err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_crend_s, 0, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_td_s, 0, 0, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); - - err = ivas_check_rounding( binaural_latencys_fastconv_s, 0, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_crend_s, 0, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_td_s, 0, 1, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); - - err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_crend_s, 1, 0, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_td_s, 1, 0, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); - - err = ivas_check_rounding( binaural_latencys_fastconv_s, 1, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_crend_s, 1, 1, &err_lfe, &err_dec, 0 ); - printf( "\nerr_lfe = %d err_dec = %d", err_lfe, err_dec ); - err += ivas_check_rounding( binaural_latencys_td_s, 1, 1, &err_lfe, &err_dec, 0 ); - printf( "\n\nerr = %d err_lfe = %d err_dec = %d\n\n", err, err_lfe, err_dec ); - - ivas_render_config_open( &st_ivas.hRenderConfig ); - ivas_render_config_init_from_rom( &st_ivas.hRenderConfig, 0 ); - if ( pIo_params->renderConfigEnabled ) - { - RenderConfigReader *renderConfigReader = NULL; - if ( ( error = RenderConfigReader_open( pIo_params->renderConfigFilename, &renderConfigReader ) ) != IVAS_ERR_OK ) - { - fprintf( stderr, "\nError: Can't open Renderer configuration file %s \n\n", pIo_params->renderConfigFilename ); - exit( -1 ); - } - if ( RenderConfigReader_read( renderConfigReader, (IVAS_RENDER_CONFIG_HANDLE) st_ivas.hRenderConfig ) != IVAS_ERR_OK ) - { - fprintf( stderr, "Failed to read renderer configuration from file %s\n", pIo_params->renderConfigFilename ); - exit( -1 ); - } - } - - st_ivas.hRenderConfig->roomAcoustics.use_brir = pIo_params->use_brir; - - if ( ( pIo_params->in_fmt >= MULT_CH_5_1 ) && ( pIo_params->in_fmt <= MULT_CH_7_1_4 ) ) - { - st_ivas.ivas_format = MC_FORMAT; - } - else - { - st_ivas.ivas_format = SBA_FORMAT; - } - - if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->in_fmt != pIo_params->out_fmt ) ) - { - if ( pIo_params->test == FASTCONV_BIN_TEST ) - { - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV_ROOM; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; - pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_BRIR_latency_s * 1000000000.f ) ); - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_FASTCONV; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - if ( st_ivas.ivas_format == MC_FORMAT ) - pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_HRIR_latency_s * 1000000000.f ) ); - else - pIo_params->latency_ns = ( IVAS_FB_DEC_DELAY_NS + (int32_t) ( FASTCONV_HOA3_latency_s * 1000000000.f ) ); - } - } - else if ( pIo_params->test == TD_BIN_TEST ) - { - if ( st_ivas.ivas_format == SBA_FORMAT ) - { - fprintf( stderr, "TD Renderer configuration wrong input format\n" ); - exit( -1 ); - } - - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_OBJECTS_TD; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - - pIo_params->latency_ns = (int32_t) ( BINAURAL_TD_LATENCY_S * 1000000000.f ); - } - else if ( pIo_params->test == PARAM_BIN_TEST ) - { - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_PARAMETRIC_ROOM; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_PARAMETRIC; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - pIo_params->latency_ns = IVAS_FB_DEC_DELAY_NS; - } - else if ( pIo_params->test == CREND_BIN_TEST ) - { - if ( st_ivas.hRenderConfig->roomAcoustics.use_brir ) - { - st_ivas.renderer_type = RENDERER_BINAURAL_MIXER_CONV_ROOM; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL_ROOM; - } - else - { - st_ivas.renderer_type = RENDERER_BINAURAL_MIXER_CONV; - st_ivas.hOutSetup.output_config = st_ivas.hDecoderConfig->output_config = AUDIO_CONFIG_BINAURAL; - } - } - else - { - fprintf( stderr, "Crend configuration wrong renderer\n" ); - exit( -1 ); - } - } - else - { -#ifdef FIX_197_CREND_INTERFACE - ivas_hrtf_init( st_ivas.hCrendWrapper->hHrtfCrend ); -#else - ivas_hrtf_init( st_ivas.hHrtf ); -#endif - } - - int16_t in_ch = audioCfg2channels( st_ivas.transport_config ); - int16_t out_ch = audioCfg2channels( st_ivas.hDecoderConfig->output_config ); - - /*------------------------------------------------------------------------------------------* - * State memory allocation for Common renderer - *------------------------------------------------------------------------------------------*/ - st_ivas.hDecoderConfig->Opt_Headrotation = ( pIo_params->orientation_tracking != OTR_TRACKING_NONE ) ? 1 : 0; - /*-------------------------------------------------------------------* - * Allocate and initialize Head-Tracking handle - *--------------------------------------------------------------------*/ - - if ( st_ivas.hDecoderConfig->Opt_Headrotation ) - { - if ( ( error = ivas_headTrack_open( &( st_ivas.hHeadTrackData ) ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - if ( ( error = HeadRotationFileReader_open( pIo_params->csv_path, &headRotReader ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - - st_ivas.nchan_transport = audioCfg2channels( st_ivas.transport_config ); - st_ivas.hIntSetup.index_lfe[0] = lfe_ch_idx; - st_ivas.hIntSetup.num_lfe = lfe_ch_idx > 0 ? 1 : 0; - - if ( pIo_params->test == FASTCONV_BIN_TEST ) - { - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); - int16_t numCldfbAnalyses, numCldfbSyntheses; - numCldfbAnalyses = st_ivas.nchan_transport; - numCldfbSyntheses = st_ivas.hDecoderConfig->nchan_out; - - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbAnaDec[i] ), CLDFB_ANALYSIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - st_ivas.cldfbAnaDec[i] = NULL; - } - - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbSynDec[i] ), CLDFB_SYNTHESIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_OUTPUT_CHANNELS; i++ ) - { - st_ivas.cldfbSynDec[i] = NULL; - } - - ivas_binRenderer_open( &st_ivas ); - } - else if ( pIo_params->test == TD_BIN_TEST ) - { - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); -#ifdef FIX_197_CREND_INTERFACE - ivas_output_init( &st_ivas.hOutSetup, st_ivas.hOutSetup.output_config ); -#else - ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); -#endif - ivas_td_binaural_open( &st_ivas ); - } - else if ( pIo_params->test == PARAM_BIN_TEST ) - { - if ( ( pIo_params->in_fmt != FOA_4 ) && ( pIo_params->in_fmt != HOA_9 ) && ( pIo_params->in_fmt != HOA_16 ) ) - { - fprintf( stderr, "PARAM renderer configuration wrong format, must be FOA or HOA up to order 3\n" ); - exit( -1 ); - } - - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); -#ifdef FIX_197_CREND_INTERFACE - ivas_output_init( &st_ivas.hOutSetup, st_ivas.hOutSetup.output_config ); -#else - ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); -#endif - st_ivas.hOutSetup.separateChannelEnabled = 1; - int16_t numCldfbAnalyses, numCldfbSyntheses; - numCldfbAnalyses = st_ivas.nchan_transport; - numCldfbSyntheses = st_ivas.hDecoderConfig->nchan_out; - - for ( i = 0; i < numCldfbAnalyses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbAnaDec[i] ), CLDFB_ANALYSIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_INTERN_CHANNELS; i++ ) - { - st_ivas.cldfbAnaDec[i] = NULL; - } - - for ( i = 0; i < numCldfbSyntheses; i++ ) - { - if ( ( error = openCldfb( &( st_ivas.cldfbSynDec[i] ), CLDFB_SYNTHESIS, dec_io_params.out_sample_rate, CLDFB_PROTOTYPE_5_00MS ) ) != IVAS_ERR_OK ) - { - return IVAS_FAILED; - } - } - for ( ; i < MAX_OUTPUT_CHANNELS; i++ ) - { - st_ivas.cldfbSynDec[i] = NULL; - } - } - else - { - ivas_output_init( &st_ivas.hIntSetup, st_ivas.transport_config ); -#ifdef FIX_197_CREND_INTERFACE - ivas_output_init( &st_ivas.hOutSetup, st_ivas.hOutSetup.output_config ); - ivas_rend_openCrend( &st_ivas.hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas.hOutSetup.output_config ), st_ivas.hRenderConfig, st_ivas.hDecoderConfig->Opt_Headrotation, pIo_params->sample_rate ); -#else - ivas_output_init( &st_ivas.hOutSetup, st_ivas.transport_config ); - ivas_crend_open( &st_ivas ); -#endif - } - - if ( pIo_params->test == CREND_BIN_TEST ) - { -#ifdef FIX_197_CREND_INTERFACE - pIo_params->latency_ns = st_ivas.hCrendWrapper->binaural_latency_ns; -#else - pIo_params->latency_ns = (int32_t) ( st_ivas.hHrtf->latency_s * 1000000000.f ); -#endif - } - - if ( st_ivas.ivas_format == MC_FORMAT ) - { -#ifdef FIX_197_CREND_INTERFACE - if ( st_ivas.hDecoderConfig->Opt_Headrotation ) - { - ivas_rend_initEfap( st_ivas.hIntSetup.output_config, &st_ivas.hEFAPdata ); - } -#endif - ivas_create_lfe_dec( &st_ivas.hLFE, st_ivas.hDecoderConfig->output_Fs, pIo_params->latency_ns ); - - if ( st_ivas.hLFE->lfe_addl_delay > 0 ) - { - if ( st_ivas.hLFE->lfe_delay_buf != NULL ) - { - free( st_ivas.hLFE->lfe_delay_buf ); - st_ivas.hLFE->lfe_delay_buf = NULL; - } - - if ( pIo_params->latency_ns > 0 ) - { - st_ivas.hLFE->lfe_addl_delay = (int16_t) roundf( (float) pIo_params->latency_ns * (float) dec_io_params.out_sample_rate / 1000000000.f ); - - if ( st_ivas.hLFE->lfe_addl_delay > 0 ) - { - if ( ( st_ivas.hLFE->lfe_delay_buf = (float *) malloc( st_ivas.hLFE->lfe_addl_delay * sizeof( float ) ) ) == NULL ) - { - fprintf( stderr, "Can not allocate memory for LFE additional delay buffer\n" ); - return IVAS_FAILED; - } - set_zero( (float *) st_ivas.hLFE->lfe_delay_buf, st_ivas.hLFE->lfe_addl_delay ); - } - } - else - { - st_ivas.hLFE->lfe_addl_delay = 0; - } - } - - /* delay input channel of latency of lp filter*/ - if ( pIo_params->lfe_lp_enable ) - { - delay_lp = (int16_t) ( ivas_lfe_lpf_delay[1] * (float) pIo_params->sample_rate ); - for ( i = 0; i < in_ch - st_ivas.hIntSetup.num_lfe; i++ ) - { - if ( ( ppDelay_lines[i] = (float *) malloc( delay_lp * sizeof( float ) ) ) == NULL ) - { - fprintf( stderr, "Can not allocate memory for LFE additional delay buffer\n" ); - return IVAS_FAILED; - } - set_zero( (float *) ppDelay_lines[i], delay_lp ); - } - ivas_lfe_lpf_select_filt_coeff( pIo_params->sample_rate, IVAS_FILTER_ORDER_4, &filt_coeff ); - ivas_filters_init( &st_ivas.hLFE->filter_state, filt_coeff, IVAS_FILTER_ORDER_4 ); - pIo_params->latency_ns = pIo_params->latency_ns + (int32_t) ( ivas_lfe_lpf_delay[1] * 1000000000.f ); - } - else - { - delay_lp = 0; - } - } - - if ( pIo_params->limiter_enable ) - { - st_ivas.hLimiter = ivas_limiter_open( out_ch, pIo_params->sample_rate ); - } - - /*------------------------------------------------------------------------------------------* - * Loop for every frame of input data - * - Read the input data - * - Run the Common renderer - * - Write the parameters into output bitstream file - *------------------------------------------------------------------------------------------*/ - -#define _FIND_MAX_ -#ifdef _FIND_MAX_ - float valMax = 0; - float valEner = 0; -#endif - - /* delay adjustment */ - int32_t skip_samples = 0; - int32_t skipped_samples = 0; - int16_t write_flag = 0; - - if ( ( pIo_params->out_fmt == BIN_2 ) && ( pIo_params->no_delay_cmp == 0 ) ) - { - skip_samples = (int32_t) roundf( (float) pIo_params->latency_ns * pIo_params->sample_rate / 1000000000.f ); - } - fprintf( stdout, "IVAS Common Renderer skip samples = %d\n", (int) skip_samples ); - - frame_len = frame_len << 2; - - int32_t frame_dec = 0; - IVAS_QUATERNION Quaternions[IVAS_MAX_PARAM_SPATIAL_SUBFRAMES] = { 0 }; - - /* process loop */ - while ( ( ( result = ivas_wrapper_get_in_buf( pIo_params, ppPcm_in ) ) == IVAS_SUCCESS ) && ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 0 ) || ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && ( HeadRotationFileReading( headRotReader, Quaternions, frame_dec ) == IVAS_ERR_OK ) ) ) ) - { - int16_t pcm[MAX_OUTPUT_CHANNELS]; - frame_dec++; - result = IVAS_SUCCESS; - if ( ( st_ivas.hDecoderConfig->Opt_Headrotation == 1 ) && ( ivas_feed_head_track_data( &st_ivas, Quaternions ) != IVAS_SUCCESS ) ) - { - return IVAS_IO_ERROR; - } - - if ( pIo_params->lfe_lp_enable ) - { - /* ADD delay to make overall max(block_offset, 11.5)*/ - if ( st_ivas.hLFE->lfe_addl_delay > 0 ) - { - delay_signal( ppPcm_in[lfe_ch_idx], frame_len, st_ivas.hLFE->lfe_delay_buf, st_ivas.hLFE->lfe_addl_delay ); - } - - ivas_filter_process( &st_ivas.hLFE->filter_state, ppPcm_in[lfe_ch_idx], frame_len ); - } - - if ( pIo_params->test == FASTCONV_BIN_TEST ) - { - ivas_binaural_cldfb( &st_ivas, ppPcm_in ); - } - else if ( pIo_params->test == TD_BIN_TEST ) - { - ObjRenderIVASFrame( &st_ivas, ppPcm_in, frame_len ); - } - else if ( pIo_params->test == PARAM_BIN_TEST ) - { - float Cldfb_RealBuffer[MAX_INTERN_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - float Cldfb_ImagBuffer[MAX_INTERN_CHANNELS][CLDFB_NO_COL_MAX][CLDFB_NO_CHANNELS_MAX]; - float RealBuffer[CLDFB_NO_CHANNELS_MAX]; - float ImagBuffer[CLDFB_NO_CHANNELS_MAX]; - int16_t slot_idx, maxBand, ch; - float gain = powf( 10.f, -6.f / 20.f ); /* add gain to compensate loudness with decoder, but are missing when compare to other renderers*/ - - /* Implement a 5 msec loops */ - maxBand = (int16_t) ( ( CLDFB_NO_CHANNELS_MAX * st_ivas.hDecoderConfig->output_Fs ) / 48000 ); - - for ( slot_idx = 0; slot_idx < (int16_t) CLDFB_NO_COL_MAX; slot_idx++ ) - { - - for ( ch = 0; ch < in_ch; ch++ ) - { - cldfbAnalysis_ts( &( ppPcm_in[ch][maxBand * slot_idx] ), - Cldfb_RealBuffer[ch][slot_idx], - Cldfb_ImagBuffer[ch][slot_idx], - maxBand, st_ivas.cldfbAnaDec[ch] ); - } - } - - for ( slot_idx = 0; slot_idx < (int16_t) CLDFB_NO_COL_MAX; slot_idx++ ) - { - /* Implement binaural rendering */ - for ( ch = 0; ch < BINAURAL_CHANNELS; ch++ ) - { - float *outSlotRePr, *outSlotImPr; /* Pointers needed for function call compatibility */ - - set_zero( RealBuffer, maxBand ); - set_zero( ImagBuffer, maxBand ); - - int16_t bandIdx, chIdx; - const float *filterTapsRealPtr, *filterTapsImagPtr; - - for ( chIdx = 0; chIdx < in_ch; chIdx++ ) - { - filterTapsRealPtr = hrtfShCoeffsRe[ch][chIdx]; - filterTapsImagPtr = hrtfShCoeffsIm[ch][chIdx]; - - for ( bandIdx = 0; bandIdx < maxBand; bandIdx++ ) - { - RealBuffer[bandIdx] += gain * ( Cldfb_RealBuffer[chIdx][slot_idx][bandIdx] * filterTapsRealPtr[bandIdx] ) - ( Cldfb_ImagBuffer[chIdx][slot_idx][bandIdx] * filterTapsImagPtr[bandIdx] ); - ImagBuffer[bandIdx] += gain * ( Cldfb_RealBuffer[chIdx][slot_idx][bandIdx] * filterTapsImagPtr[bandIdx] ) + ( Cldfb_ImagBuffer[chIdx][slot_idx][bandIdx] * filterTapsRealPtr[bandIdx] ); - } - } - outSlotRePr = &( RealBuffer[0] ); - outSlotImPr = &( ImagBuffer[0] ); - cldfbSynthesis( &outSlotRePr, &outSlotImPr, &( ppPcm_in[ch][slot_idx * maxBand] ), maxBand, st_ivas.cldfbSynDec[ch] ); - } - } - } - else - { - if ( mixer != NULL ) - { - ivas_crend_mixer( ppPcm_in, ppPcm_out, in_ch, out_ch, mixer, frame_len ); - } - else - { -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_crendProcess( st_ivas.hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas.hOutSetup.output_config ), st_ivas.hDecoderConfig, st_ivas.hHeadTrackData, &st_ivas.hIntSetup, st_ivas.hEFAPdata, ppPcm_in, pIo_params->sample_rate ); -#else - ivas_crend_process( &st_ivas, ppPcm_in ); -#endif - } - } - - if ( mixer == NULL ) - { - if ( pIo_params->lfe_lp_enable ) - { - for ( i = 0; i < out_ch; i++ ) - { - delay_signal( ppPcm_in[i], frame_len, ppDelay_lines[i], delay_lp ); - } - } - - ivas_binaural_add_LFE( &st_ivas, frame_len, ppPcm_in ); - - for ( i = 0; i < out_ch; i++ ) - { - mvr2r( ppPcm_in[i], ppPcm_out[i], frame_len ); - } - if ( pIo_params->limiter_enable ) - { - ivas_limiter_dec( st_ivas.hLimiter, ppPcm_out, out_ch, frame_len, 0 ); - } - } - - - float valMaxLoc = 0; - float clip = 1.0f; - for ( j = 0; j < frame_len; j++ ) - { - if ( ( write_flag == 0 ) && ( skipped_samples == skip_samples ) ) - { - write_flag = 1; - } - for ( i = 0; i < out_ch; i++ ) - { - // float temp = roundf( ppPcm_out[i][j] * PCM16_TO_FLT_FAC ); - float temp; -#ifdef _FIND_MAX_ - valMaxLoc = ( ppPcm_out[i][j] > valMaxLoc ) ? ppPcm_out[i][j] : ( ppPcm_out[i][j] < -valMaxLoc ) ? -ppPcm_out[i][j] - : valMaxLoc; - /* if (valMaxLoc > 1.0) printf("Saturation valMax = %f at frame_len = %ld sample = %ld \n", valMaxLoc, frame_len, i); */ - if ( valMax < valMaxLoc ) - valMax = valMaxLoc; - valEner += ppPcm_out[i][j] * ppPcm_out[i][j]; -#endif - temp = ( ppPcm_out[i][j] > MAX16B_FLT ) ? MAX16B_FLT : ( ppPcm_out[i][j] < MIN16B_FLT ) ? MIN16B_FLT - : ppPcm_out[i][j]; - pcm[i] = (short) roundf( temp ); - clip = max( clip, fabsf( ppPcm_out[i][j] ) ); - } - if ( write_flag == 1 ) - { -#ifdef USE_PCM_OUT - fwrite( pcm, sizeof( int16_t ), out_ch, pIo_params->fOut ); -#else - AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); -#endif - } - if ( write_flag == 0 ) - skipped_samples++; - } - if ( clip > MAX16B_FLT ) - { - fprintf( stdout, "IVAS Common Renderer Clipped: max gain = %f\n", clip ); - } - - fprintf( stdout, "Processed frame: %ld\r", (long) frame_count ); - frame_count++; - -#ifdef WMOPS - update_wmops(); -#endif - } - - int16_t pcm[MAX_OUTPUT_CHANNELS] = { 0 }; - while ( skipped_samples > 0 ) - { - AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); - skipped_samples--; - } - -#ifdef _FIND_MAX_ - valEner = sqrtf( valEner / ( frame_count * frame_len ) ); - printf( "valMax = %f valEner = %f \n", 20.f * log10( valMax ), 20.f * log10( valEner ) ); -#endif - printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); - - if ( st_ivas.hLFE ) - { - ivas_lfe_dec_close( st_ivas.hLFE ); - } - - if ( st_ivas.hDirAC != NULL ) - ivas_dirac_dec_close( st_ivas.hDirAC ); - if ( st_ivas.hBinRenderer != NULL ) - ivas_binRenderer_close( &st_ivas.hBinRenderer ); -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); -#else - ivas_crend_close( &st_ivas ); -#endif - if ( st_ivas.hBinRendererTd != NULL ) - ivas_td_binaural_close( &st_ivas.hBinRendererTd ); - if ( st_ivas.hLimiter != NULL ) - ivas_limiter_close( &st_ivas.hLimiter ); - if ( st_ivas.hEFAPdata != NULL ) - efap_free_data( &st_ivas.hEFAPdata ); - - if ( pIo_params->lfe_lp_enable ) - { - for ( i = 0; i < in_ch - st_ivas.hIntSetup.num_lfe; i++ ) - { - free( ppDelay_lines[i] ); - } - } - if ( st_ivas.hRenderConfig != NULL ) - { - ivas_render_config_close( &st_ivas.hRenderConfig ); - } - - /* Head track data handle */ - if ( st_ivas.hHeadTrackData != NULL ) - { - free( st_ivas.hHeadTrackData ); - st_ivas.hHeadTrackData = NULL; - } - - if ( headRotReader ) - { - HeadRotationFileReader_close( &headRotReader ); - } - - return IVAS_SUCCESS; -} - -/*-----------------------------------------------------------------------------------------* - * Function description - - * Object mixer renderer block - * - * Inputs - - * ivas_enc_io_params_t io_params - * - * Outputs - - * - *-----------------------------------------------------------------------------------------*/ -ivas_result_t ivas_object_mixer_renderer( ivas_crend_io_params_t *pIo_params, int16_t *userLoc ) -{ - ivas_result_t result = IVAS_SUCCESS; - - float ppPcm_in[IVAS_MAX_NUM_CH][L_FRAME48k]; - float ppPcm_out[IVAS_MAX_NUM_CH][L_FRAME48k]; - DECODER_CONFIG decoder_config; - Decoder_Struct st_ivas; - - memset( &st_ivas, 0, sizeof( Decoder_Struct ) ); - - st_ivas.hDecoderConfig = &decoder_config; - memset( st_ivas.hDecoderConfig, 0, sizeof( DECODER_CONFIG ) ); - - int64_t frame_count = 0; - - int16_t i = 0, j = 0; - int16_t frame_len = 0; - - float *Smixer; - float *powvec; - ivas_dec_io_params_t dec_io_params = { 0 }; - int16_t in_format; - int16_t lfe_ch_idx; - - ivas_dec_default_io_params( &dec_io_params ); - ivas_copy_io_params_to_dec_io_params( pIo_params, &dec_io_params ); - - frame_len = ivas_wrapper_get_frame_len( pIo_params->sample_rate ); - -#ifdef USE_PCM_OUT - /* skip WAV header */ - for ( i = 0; i < IVAS_MAX_NUM_CH; i++ ) - { - if ( pIo_params->fIn[i] != NULL ) - { - result = ivas_wav_header_skip( pIo_params->fIn[i] ); - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "WAV header skip failed\n" ); -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); -#else - ivas_crend_close( &st_ivas ); -#endif - exit( -1 ); - } - } - } -#endif - - result = ivas_crend_set_config_params( &decoder_config, &dec_io_params, &in_format, &lfe_ch_idx ); - - st_ivas.transport_config = ivas_crend_map_out_fmt( in_format ); - - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "Crend configuration parameters setting failed\n" ); -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); -#else - ivas_crend_close( &st_ivas ); -#endif - exit( -1 ); - } - - /*------------------------------------------------------------------------------------------* - * State memory allocation for Common renderer - *------------------------------------------------------------------------------------------*/ - decoder_config.Opt_Headrotation = 0; -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_openCrend( &st_ivas.hCrendWrapper, getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), getRendAudioConfigFromIvasAudioConfig( st_ivas.transport_config ), st_ivas.hRenderConfig, st_ivas.hDecoderConfig->Opt_Headrotation, pIo_params->sample_rate ); -#else - ivas_crend_open( &st_ivas ); -#endif - - /*------------------------------------------------------------------------------------------* - * In/out buffer memory allocation for encoder - *------------------------------------------------------------------------------------------*/ - int16_t in_ch = ivas_get_num_channels( pIo_params->in_fmt ); - int16_t out_ch = ivas_get_num_channels( pIo_params->out_fmt ); - - Smixer = (float *) calloc( in_ch, sizeof( float ) ); - powvec = (float *) calloc( in_ch, sizeof( float ) ); - - /* init - ignore FLC */ - for ( i = 0; i < in_ch; i++ ) - { - powvec[i] = 0.0f; - } - - /*------------------------------------------------------------------------------------------* - * Loop for every frame of input data - * - Read the input data - * - Run the Common renderer - * - Write the parameters into output bitstream file - *------------------------------------------------------------------------------------------*/ - -#define _FIND_MAX_ -#ifdef _FIND_MAX_ - float valMax = 0; - float valEner = 0; -#endif - - while ( ( ( result = ivas_wrapper_get_in_buf( pIo_params, ppPcm_in ) ) == IVAS_SUCCESS ) ) /* process loop */ - { -#ifdef USE_PCM_OUT - int16_t pcm; -#else - int16_t pcm[MAX_OUTPUT_CHANNELS]; -#endif - result = IVAS_SUCCESS; - - /* get the mixing matrix.. */ - get_prox_downmix_mixer( (int16_t) PROXIMITY_USER_ID, Smixer, userLoc, in_ch, ppPcm_in, frame_len, powvec ); - - result = ivas_crend_mixer( ppPcm_in, ppPcm_out, in_ch, out_ch, Smixer, frame_len ); - - if ( IVAS_SUCCESS != result ) - { - fprintf( stderr, "Error: ivas_crend_process failed with %d \n\n", (int32_t) result ); -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); -#else - ivas_crend_close( &st_ivas ); -#endif - exit( -1 ); - } - - float valMaxLoc = 0; - - for ( j = 0; j < frame_len; j++ ) - { - - for ( i = 0; i < out_ch; i++ ) - { - - // float temp = roundf( ppPcm_out[i][j] * PCM16_TO_FLT_FAC ); - float temp = roundf( ppPcm_out[i][j] ); -#ifdef _FIND_MAX_ - - valMaxLoc = ( ppPcm_out[i][j] > valMaxLoc ) ? ppPcm_out[i][j] : ( ppPcm_out[i][j] < -valMaxLoc ) ? -ppPcm_out[i][j] - : valMaxLoc; - /* if (valMaxLoc > 1.0) printf("Saturation valMax = %f at frame_len = %ld sample = %ld \n", valMaxLoc, frame_len, i); */ - - if ( valMax < valMaxLoc ) - { - valMax = valMaxLoc; - } - valEner += ppPcm_out[i][j] * ppPcm_out[i][j]; -#endif - -#ifdef USE_PCM_OUT - pcm = ( temp > MAX16B_FLT ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B - : (short) temp; - fwrite( &pcm, sizeof( int16_t ), 1, pIo_params->fOut ); -#else - pcm[i] = ( temp > MAX16B_FLT ) ? MAX16B : ( temp < MIN16B_FLT ) ? MIN16B - : (short) temp; - -#endif - } -#ifndef USE_PCM_OUT - AudioFileWriter_write( pIo_params->fOut, pcm, out_ch ); -#endif - } - - frame_count++; - } - free( powvec ); - free( Smixer ); - -#ifdef _FIND_MAX_ - valEner = sqrtf( valEner / ( frame_count * frame_len ) ); - printf( "valMax = %f valEner = %f \n", 20.f * log10( valMax ), 20.f * log10( valEner ) ); -#endif - printf( "Total Frames Processed : %lld\n", (long long int) frame_count ); - -#ifdef FIX_197_CREND_INTERFACE - ivas_rend_closeCrend( &st_ivas.hCrendWrapper ); -#else - ivas_crend_close( &st_ivas ); -#endif - - return IVAS_SUCCESS; -} -- GitLab From fce62c2e052d34525ab582e92244a9af3118969f Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 19 Jan 2023 16:06:51 +0100 Subject: [PATCH 615/620] fix MSVC warnings (data conversion warning) --- lib_rend/lib_rend.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 206985c23d..3e4ca341b6 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -622,7 +622,7 @@ static ivas_error getAmbisonicsOrder( return IVAS_ERR_OK; } -static int32_t getNumLfeChannels( +static int16_t getNumLfeChannels( input_mc *inputMc ) { switch ( inputMc->base.inConfig ) @@ -1454,8 +1454,8 @@ static ivas_error updateLfePanGainsForAmbiOut( for ( i = 0; i < numLfeIn; i++ ) { /* panning gains */ - ivas_dirac_dec_get_response( inputMc->lfeRouting.lfeOutputAzimuth, - inputMc->lfeRouting.lfeOutputElevation, + ivas_dirac_dec_get_response( (int16_t) inputMc->lfeRouting.lfeOutputAzimuth, + (int16_t) inputMc->lfeRouting.lfeOutputElevation, inputMc->lfeRouting.lfePanMtx[i], outAmbiOrder ); -- GitLab From e3c30094e9a75132d93c2617f6608908b4daac7a Mon Sep 17 00:00:00 2001 From: muxe6256 <marc.emerit@orange.com> Date: Thu, 19 Jan 2023 16:19:37 +0100 Subject: [PATCH 616/620] Fix tests fails --- lib_dec/ivas_dec.c | 6 +++--- lib_dec/ivas_init_dec.c | 1 + lib_dec/ivas_ism_param_dec.c | 1 + lib_dec/ivas_mct_dec.c | 1 + lib_rend/ivas_crend.c | 7 +++++++ 5 files changed, 13 insertions(+), 3 deletions(-) diff --git a/lib_dec/ivas_dec.c b/lib_dec/ivas_dec.c index 452284cfb3..b52c92b239 100644 --- a/lib_dec/ivas_dec.c +++ b/lib_dec/ivas_dec.c @@ -211,9 +211,9 @@ ivas_error ivas_dec( if ( ( error = ivas_rend_crendProcess( st_ivas->hCrendWrapper, IVAS_REND_AUDIO_CONFIG_7_1_4, IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM, - st_ivas->hDecoderConfig, - st_ivas->hHeadTrackData, - &st_ivas->hIntSetup, + NULL, + NULL, + NULL, NULL, output, output_Fs ) ) != IVAS_ERR_OK ) diff --git a/lib_dec/ivas_init_dec.c b/lib_dec/ivas_init_dec.c index f2fdf1f9b0..20fccb60d1 100644 --- a/lib_dec/ivas_init_dec.c +++ b/lib_dec/ivas_init_dec.c @@ -1195,6 +1195,7 @@ ivas_error ivas_init_decoder( { return error; } + st_ivas->binaural_latency_ns = st_ivas->hCrendWrapper->binaural_latency_ns; #else if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) { diff --git a/lib_dec/ivas_ism_param_dec.c b/lib_dec/ivas_ism_param_dec.c index d8c9908bf2..090a69257c 100644 --- a/lib_dec/ivas_ism_param_dec.c +++ b/lib_dec/ivas_ism_param_dec.c @@ -1095,6 +1095,7 @@ static ivas_error ivas_ism_bitrate_switching( { return error; } + st_ivas->binaural_latency_ns = st_ivas->hCrendWrapper->binaural_latency_ns; #else ivas_crend_open( st_ivas ); #endif diff --git a/lib_dec/ivas_mct_dec.c b/lib_dec/ivas_mct_dec.c index 104efadd9b..48381432a5 100755 --- a/lib_dec/ivas_mct_dec.c +++ b/lib_dec/ivas_mct_dec.c @@ -1125,6 +1125,7 @@ static ivas_error ivas_mc_dec_reconfig( { return error; } + st_ivas->binaural_latency_ns = st_ivas->hCrendWrapper->binaural_latency_ns; } #else } diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 55b7e55bf6..9ca923318b 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -1404,10 +1404,17 @@ ivas_error ivas_rend_initCrend( /* set BRIR flag */ use_brir = false; +#ifdef FIX_197_CREND_INTERFACE + if ( ( ( hRendCfg != NULL ) && hRendCfg->roomAcoustics.use_brir ) || ( ( hRendCfg == NULL ) && ( outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) ) ) + { + use_brir = true; + } +#else if ( ( hRendCfg != NULL && hRendCfg->roomAcoustics.use_brir ) || outConfig == IVAS_REND_AUDIO_CONFIG_BINAURAL_ROOM ) { use_brir = true; } +#endif if ( ( error = getAudioConfigNumChannels( inConfig, &nchan_in ) ) != IVAS_ERR_OK ) -- GitLab From e66335a17dc94ab0207a0e6c2b144037e1af50f8 Mon Sep 17 00:00:00 2001 From: vaclav <vaclav.eksler@usherbrooke.ca> Date: Thu, 19 Jan 2023 16:06:51 +0100 Subject: [PATCH 617/620] fix MSVC warnings (data conversion warning) --- lib_rend/lib_rend.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index eeab8fb2a9..641c757b4c 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -676,7 +676,7 @@ static ivas_error getAmbisonicsOrder( return IVAS_ERR_OK; } -static int32_t getNumLfeChannels( +static int16_t getNumLfeChannels( input_mc *inputMc ) { switch ( inputMc->base.inConfig ) @@ -1524,8 +1524,8 @@ static ivas_error updateLfePanGainsForAmbiOut( for ( i = 0; i < numLfeIn; i++ ) { /* panning gains */ - ivas_dirac_dec_get_response( inputMc->lfeRouting.lfeOutputAzimuth, - inputMc->lfeRouting.lfeOutputElevation, + ivas_dirac_dec_get_response( (int16_t) inputMc->lfeRouting.lfeOutputAzimuth, + (int16_t) inputMc->lfeRouting.lfeOutputElevation, inputMc->lfeRouting.lfePanMtx[i], outAmbiOrder ); -- GitLab From 123d75cf045434dfda7509d986cc0c329fa1b4d4 Mon Sep 17 00:00:00 2001 From: muxe6256 <marc.emerit@orange.com> Date: Fri, 20 Jan 2023 12:54:24 +0100 Subject: [PATCH 618/620] fix ivas_rend_crendConvolver --- lib_com/ivas_prot.h | 9 --- lib_dec/ivas_sba_dec.c | 10 +-- lib_rend/ivas_crend.c | 161 +++++++++++++++++++++++++++++++++++++++++ lib_rend/lib_rend.c | 19 +++-- 4 files changed, 179 insertions(+), 20 deletions(-) diff --git a/lib_com/ivas_prot.h b/lib_com/ivas_prot.h index 97c57084e0..8b4d2b08ce 100755 --- a/lib_com/ivas_prot.h +++ b/lib_com/ivas_prot.h @@ -5400,15 +5400,6 @@ ivas_error ivas_rend_crendProcess( EFAP_HANDLE hEFAPdata, float output[][L_FRAME48k], /* i/o: input/output audio channels */ const int32_t output_Fs ); - -ivas_error ivas_rend_crendConvolver( - const CREND_WRAPPER *pCrend, - const IVAS_REND_AudioConfig inConfig, - const IVAS_REND_AudioConfig outConfig, - float pcm_in[][L_FRAME48k], - float pcm_out[][L_FRAME48k], - const int32_t output_Fs, - const int16_t i_ts ); #endif /*----------------------------------------------------------------------------------* diff --git a/lib_dec/ivas_sba_dec.c b/lib_dec/ivas_sba_dec.c index 984ce22cb1..126ab55944 100644 --- a/lib_dec/ivas_sba_dec.c +++ b/lib_dec/ivas_sba_dec.c @@ -502,16 +502,16 @@ ivas_error ivas_sba_dec_reinit( st_ivas->hRenderConfig, t_ivas->hDecoderConfig->Opt_Headrotation, st_ivas->hDecoderConfig->output_Fs ) != IVAS_ERR_OK ) ) -#else - if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) -#endif { -#ifdef FIX_197_CREND_INTERFACE return error; + } + st_ivas->binaural_latency_ns = st_ivas->hCrendWrapper->binaural_latency_ns; #else + if ( ivas_crend_open( st_ivas ) != IVAS_ERR_OK ) + { return IVAS_ERROR( IVAS_ERR_INTERNAL_FATAL, "ivas_crend_open failed" ); -#endif } +#endif } ivas_init_dec_get_num_cldfb_instances( st_ivas, &numCldfbAnalyses, &numCldfbSyntheses ); diff --git a/lib_rend/ivas_crend.c b/lib_rend/ivas_crend.c index 9ca923318b..d824e2b758 100644 --- a/lib_rend/ivas_crend.c +++ b/lib_rend/ivas_crend.c @@ -1911,6 +1911,163 @@ ivas_error ivas_rend_closeCrend( #endif } +#ifdef FIX_197_CREND_INTERFACE + +/*-----------------------------------------------------------------------------------------* + * Function ivas_crend_convolver() + * + * Convolver block + *-----------------------------------------------------------------------------------------*/ + +static ivas_error ivas_rend_crendConvolver( + const CREND_WRAPPER *pCrend, + IVAS_REND_AudioConfig inConfig, + IVAS_REND_AudioConfig outConfig, + float pcm_in[][L_FRAME48k], + float pcm_out[][L_FRAME48k], + const int32_t output_Fs, + const int16_t i_ts ) +{ + int16_t i, j, k, m; + int16_t subframe_length, idx_in; + int16_t lfe_idx_in; + int16_t offset, offset_in, offset_diffuse; + int16_t nchan_in, nchan_out; + float *pIn; + float *pFreq_buf_re, *pFreq_buf_im; + float *pFreq_filt_re, *pFreq_filt_im; + float pOut[L_FRAME48k * 2]; + float tmp_out_re[L_FRAME48k], tmp_out_im[L_FRAME48k]; + + getAudioConfigNumChannels( inConfig, &nchan_in ); + getAudioConfigNumChannels( outConfig, &nchan_out ); + + subframe_length = (int16_t) ( output_Fs / FRAMES_PER_SEC ) / MAX_PARAM_SPATIAL_SUBFRAMES; + + lfe_idx_in = -1; + if ( getAudioConfigType( inConfig ) == IVAS_REND_AUDIO_CONFIG_TYPE_CHANNEL_BASED ) + { + if ( inConfig != IVAS_REND_AUDIO_CONFIG_LS_CUSTOM ) + { + lfe_idx_in = LFE_CHANNEL; + } + else + { + assert( 0 && "Custom LS not supported in CRend" ); + } + } + + offset = pCrend->hCrend->delay_line_rw_index * subframe_length; /* subframe_length * ( pCrend->hHrtfCrend->max_num_iterations - 1 ); */ + offset_diffuse = pCrend->hCrend->diffuse_delay_line_rw_index * subframe_length; /* subframe_length *( pCrend->hHrtfCrend->num_iterations_diffuse[0] - 1 ); */ + + if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 ) + { + set_zero( &pCrend->hCrend->freq_buffer_re_diffuse[offset_diffuse], subframe_length ); + set_zero( &pCrend->hCrend->freq_buffer_im_diffuse[offset_diffuse], subframe_length ); + } + + i = 0; + for ( idx_in = 0; idx_in < nchan_in; idx_in++ ) + { + pIn = &pcm_in[idx_in][i_ts * subframe_length]; + if ( idx_in != lfe_idx_in ) + { + if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 ) + { + pFreq_buf_re = &pCrend->hCrend->freq_buffer_re_diffuse[offset_diffuse]; + pFreq_buf_im = &pCrend->hCrend->freq_buffer_im_diffuse[offset_diffuse]; + pFreq_filt_re = &pCrend->hCrend->freq_buffer_re[i][offset]; + pFreq_filt_im = &pCrend->hCrend->freq_buffer_im[i][offset]; + + for ( k = 0; k < pCrend->hHrtfCrend->index_frequency_max_diffuse; k++ ) + { + pFreq_buf_re[k] += pFreq_filt_re[k] * pCrend->hHrtfCrend->inv_diffuse_weight[i]; + pFreq_buf_im[k] += pFreq_filt_im[k] * pCrend->hHrtfCrend->inv_diffuse_weight[i]; + } + } + + pFreq_buf_re = &pCrend->hCrend->freq_buffer_re[i][offset]; + pFreq_buf_im = &pCrend->hCrend->freq_buffer_im[i][offset]; + + ivas_mdft( pIn, pFreq_buf_re, pFreq_buf_im, subframe_length, subframe_length ); + i++; + } + } + + for ( j = 0; j < nchan_out; j++ ) + { + set_zero( tmp_out_re, subframe_length ); + set_zero( tmp_out_im, subframe_length ); + + i = 0; + for ( idx_in = 0; idx_in < nchan_in; idx_in++ ) + { + if ( idx_in != lfe_idx_in ) + { + offset = 0; + for ( m = 0; m < pCrend->hHrtfCrend->num_iterations[i][j]; m++ ) + { + offset_in = ( pCrend->hCrend->delay_line_rw_index + pCrend->hHrtfCrend->max_num_iterations - pCrend->hHrtfCrend->num_iterations[i][j] + m + 1 ); + offset_in = offset_in % ( pCrend->hHrtfCrend->max_num_iterations ); + offset_in = offset_in * subframe_length; + pFreq_buf_re = &pCrend->hCrend->freq_buffer_re[i][offset_in]; + pFreq_buf_im = &pCrend->hCrend->freq_buffer_im[i][offset_in]; + pFreq_filt_re = &pCrend->hHrtfCrend->pOut_to_bin_re[i][j][offset]; + pFreq_filt_im = &pCrend->hHrtfCrend->pOut_to_bin_im[i][j][offset]; + + for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max[i][j][m]; k++ ) + { + tmp_out_re[k] += pFreq_buf_re[k] * pFreq_filt_re[k] - pFreq_buf_im[k] * pFreq_filt_im[k]; + tmp_out_im[k] += pFreq_buf_re[k] * pFreq_filt_im[k] + pFreq_buf_im[k] * pFreq_filt_re[k]; + } + offset = offset + k; + } + i++; + } + } + + offset = 0; + for ( m = 0; m < pCrend->hHrtfCrend->num_iterations_diffuse[j]; m++ ) + { + offset_diffuse = ( pCrend->hCrend->diffuse_delay_line_rw_index + m + 1 ); + offset_diffuse = offset_diffuse % pCrend->hHrtfCrend->num_iterations_diffuse[0]; + offset_diffuse = offset_diffuse * subframe_length; + pFreq_buf_re = &pCrend->hCrend->freq_buffer_re_diffuse[offset_diffuse]; + pFreq_buf_im = &pCrend->hCrend->freq_buffer_im_diffuse[offset_diffuse]; + pFreq_filt_re = &pCrend->hHrtfCrend->pOut_to_bin_diffuse_re[j][offset]; + pFreq_filt_im = &pCrend->hHrtfCrend->pOut_to_bin_diffuse_im[j][offset]; + + for ( k = 0; k < pCrend->hHrtfCrend->pIndex_frequency_max_diffuse[j][m]; k++ ) + { + tmp_out_re[k] += pFreq_buf_re[k] * pFreq_filt_re[k] - pFreq_buf_im[k] * pFreq_filt_im[k]; + tmp_out_im[k] += pFreq_buf_re[k] * pFreq_filt_im[k] + pFreq_buf_im[k] * pFreq_filt_re[k]; + } + offset = offset + k; + } + + ivas_imdft( tmp_out_re, tmp_out_im, pOut, subframe_length ); + + pFreq_buf_re = &pcm_out[j][i_ts * subframe_length]; + for ( k = 0; k < subframe_length; k++ ) + { + pFreq_buf_re[k] = pOut[k] + pCrend->hCrend->prev_out_buffer[j][k]; + pCrend->hCrend->prev_out_buffer[j][k] = pOut[k + subframe_length]; + } + } + + pCrend->hCrend->delay_line_rw_index++; + pCrend->hCrend->delay_line_rw_index = pCrend->hCrend->delay_line_rw_index % ( pCrend->hHrtfCrend->max_num_iterations ); + if ( pCrend->hHrtfCrend->num_iterations_diffuse[0] > 0 ) + { + pCrend->hCrend->diffuse_delay_line_rw_index++; + pCrend->hCrend->diffuse_delay_line_rw_index = pCrend->hCrend->diffuse_delay_line_rw_index % ( pCrend->hHrtfCrend->num_iterations_diffuse[0] ); + } + + return IVAS_ERR_OK; +} + +#endif + /*-----------------------------------------------------------------------------------------* * Function ivas_rend_crend_Process() * @@ -2022,6 +2179,8 @@ ivas_error ivas_rend_crendProcess( return IVAS_ERR_OK; } +#ifndef FIX_197_CREND_INTERFACE + /*-----------------------------------------------------------------------------------------* * Function ivas_crend_convolver() * @@ -2174,3 +2333,5 @@ ivas_error ivas_rend_crendConvolver( return IVAS_ERR_OK; } + +#endif diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index 641c757b4c..ff7ba6e275 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3580,15 +3580,22 @@ ivas_error IVAS_REND_InitConfig( IVAS_REND_HANDLE st, st->rendererConfigEnabled = 0; } - if ( ( error = ivas_render_config_open( &( st->hRendererConfig ) ) ) != IVAS_ERR_OK ) +#ifdef FIX_197_CREND_INTERFACE + if ( rendererConfigEnabled ) { - return error; - } +#endif + if ( ( error = ivas_render_config_open( &( st->hRendererConfig ) ) ) != IVAS_ERR_OK ) + { + return error; + } - if ( ivas_render_config_init_from_rom( &st->hRendererConfig, st->rendererConfigEnabled ) != IVAS_ERR_OK ) - { - return IVAS_ERR_INTERNAL_FATAL; + if ( ivas_render_config_init_from_rom( &st->hRendererConfig, st->rendererConfigEnabled ) != IVAS_ERR_OK ) + { + return IVAS_ERR_INTERNAL_FATAL; + } +#ifdef FIX_197_CREND_INTERFACE } +#endif return IVAS_ERR_OK; } -- GitLab From ef4abfe68f70526f1304c7514291441b1c968ae5 Mon Sep 17 00:00:00 2001 From: knj <jan.kiene@iis.fraunhofer.de> Date: Fri, 20 Jan 2023 16:57:47 +0100 Subject: [PATCH 619/620] get logfiles from all javascript files --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b8f4708472..a6b4aaae7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -930,8 +930,8 @@ coverage-test-on-main-scheduled: - mv -f wmops/log_*_all.txt wmops/*.js ${public_dir}/ # move logfiles for links - mkdir $public_dir/logs - # first move logs for "native" sampling rate - - log_files=$(cat $public_dir/graphs_wmops_flc.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") + # first move logs + - log_files=$(cat $public_dir/graphs*.js | grep logFile | sed "s/.*\(wmops_newsletter_.*\.csv\).*/\1/g") - echo $log_files - ls wmops/logs - for f in $log_files; do [ -f wmops/logs/$f ] && mv wmops/logs/$f $public_dir/logs/$f; done -- GitLab From f0c250d65afa54d1b8bce393a752c07e01317e65 Mon Sep 17 00:00:00 2001 From: muxe6256 <marc.emerit@orange.com> Date: Sat, 21 Jan 2023 09:21:30 +0100 Subject: [PATCH 620/620] fix masan renderer error --- lib_rend/lib_rend.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/lib_rend/lib_rend.c b/lib_rend/lib_rend.c index ff7ba6e275..237838499e 100644 --- a/lib_rend/lib_rend.c +++ b/lib_rend/lib_rend.c @@ -3583,7 +3583,6 @@ ivas_error IVAS_REND_InitConfig( IVAS_REND_HANDLE st, #ifdef FIX_197_CREND_INTERFACE if ( rendererConfigEnabled ) { -#endif if ( ( error = ivas_render_config_open( &( st->hRendererConfig ) ) ) != IVAS_ERR_OK ) { return error; @@ -3593,7 +3592,20 @@ ivas_error IVAS_REND_InitConfig( IVAS_REND_HANDLE st, { return IVAS_ERR_INTERNAL_FATAL; } -#ifdef FIX_197_CREND_INTERFACE + } + else + { + st->hRendererConfig = NULL; + } +#else + if ( ( error = ivas_render_config_open( &( st->hRendererConfig ) ) ) != IVAS_ERR_OK ) + { + return error; + } + + if ( ivas_render_config_init_from_rom( &st->hRendererConfig, st->rendererConfigEnabled ) != IVAS_ERR_OK ) + { + return IVAS_ERR_INTERNAL_FATAL; } #endif -- GitLab